From 6fa2daad8d87a18df0405ea8a29b21bd159a6944 Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Wed, 21 Oct 2020 18:26:14 +0000 Subject: [PATCH 1/3] chore: update clients based on smithy-models from 10/16 --- clients/client-acm-pca/ACMPCA.ts | 580 +- clients/client-acm-pca/ACMPCAClient.ts | 18 +- .../commands/DeletePolicyCommand.ts | 70 + .../commands/GetPolicyCommand.ts | 67 + .../commands/PutPolicyCommand.ts | 67 + clients/client-acm-pca/index.ts | 3 + clients/client-acm-pca/models/models_0.ts | 748 +- .../client-acm-pca/protocols/Aws_json1_1.ts | 369 + clients/client-acm/models/models_0.ts | 445 +- .../models/models_0.ts | 1797 +- clients/client-amplify/models/models_0.ts | 1107 +- .../client-amplify/protocols/Aws_restJson1.ts | 181 +- clients/client-api-gateway/index.ts | 13 + clients/client-api-gateway/models/models_0.ts | 2645 +-- .../pagination/GetApiKeysPaginator.ts | 47 + .../GetBasePathMappingsPaginator.ts | 51 + .../GetClientCertificatesPaginator.ts | 51 + .../pagination/GetDeploymentsPaginator.ts | 51 + .../pagination/GetDomainNamesPaginator.ts | 51 + .../pagination/GetModelsPaginator.ts | 47 + .../pagination/GetResourcesPaginator.ts | 51 + .../pagination/GetRestApisPaginator.ts | 47 + .../pagination/GetUsagePaginator.ts | 47 + .../pagination/GetUsagePlanKeysPaginator.ts | 51 + .../pagination/GetUsagePlansPaginator.ts | 51 + .../pagination/GetVpcLinksPaginator.ts | 47 + .../pagination/Interfaces.ts | 7 + .../protocols/Aws_restJson1.ts | 961 +- .../models/models_0.ts | 16 +- .../runtimeConfig.shared.ts | 2 +- clients/client-apigatewayv2/ApiGatewayV2.ts | 37 + .../client-apigatewayv2/ApiGatewayV2Client.ts | 6 + .../commands/ResetAuthorizersCacheCommand.ts | 70 + clients/client-apigatewayv2/index.ts | 1 + .../client-apigatewayv2/models/models_0.ts | 2755 +-- .../protocols/Aws_restJson1.ts | 589 +- clients/client-appconfig/models/models_0.ts | 672 +- .../protocols/Aws_restJson1.ts | 174 +- clients/client-appflow/.gitignore | 14 + clients/client-appflow/.npmignore | 4 + clients/client-appflow/Appflow.ts | 671 + clients/client-appflow/AppflowClient.ts | 309 + clients/client-appflow/LICENSE | 201 + clients/client-appflow/README.md | 6 + .../commands/CreateConnectorProfileCommand.ts | 70 + .../commands/CreateFlowCommand.ts | 70 + .../commands/DeleteConnectorProfileCommand.ts | 70 + .../commands/DeleteFlowCommand.ts | 70 + .../DescribeConnectorEntityCommand.ts | 70 + .../DescribeConnectorProfilesCommand.ts | 73 + .../commands/DescribeConnectorsCommand.ts | 70 + .../commands/DescribeFlowCommand.ts | 70 + .../DescribeFlowExecutionRecordsCommand.ts | 73 + .../commands/ListConnectorEntitiesCommand.ts | 70 + .../commands/ListFlowsCommand.ts | 70 + .../commands/ListTagsForResourceCommand.ts | 70 + .../commands/StartFlowCommand.ts | 70 + .../commands/StopFlowCommand.ts | 70 + .../commands/TagResourceCommand.ts | 70 + .../commands/UntagResourceCommand.ts | 70 + .../commands/UpdateConnectorProfileCommand.ts | 70 + .../commands/UpdateFlowCommand.ts | 70 + clients/client-appflow/endpoints.ts | 81 + clients/client-appflow/index.ts | 26 + clients/client-appflow/models/index.ts | 1 + clients/client-appflow/models/models_0.ts | 4609 ++++ clients/client-appflow/package.json | 77 + .../DescribeConnectorProfilesPaginator.ts | 51 + .../pagination/DescribeConnectorsPaginator.ts | 50 + .../DescribeFlowExecutionRecordsPaginator.ts | 51 + .../client-appflow/pagination/Interfaces.ts | 7 + .../pagination/ListFlowsPaginator.ts | 47 + .../client-appflow/protocols/Aws_restJson1.ts | 4398 ++++ .../client-appflow/runtimeConfig.browser.ts | 31 + .../client-appflow/runtimeConfig.native.ts | 14 + .../client-appflow/runtimeConfig.shared.ts | 10 + clients/client-appflow/runtimeConfig.ts | 33 + clients/client-appflow/tsconfig.es.json | 12 + clients/client-appflow/tsconfig.json | 28 + .../ApplicationAutoScaling.ts | 38 +- .../ApplicationAutoScalingClient.ts | 33 +- .../models/models_0.ts | 1959 +- .../models/models_0.ts | 444 +- .../models/models_0.ts | 645 +- clients/client-appstream/models/models_0.ts | 1539 +- .../client-appstream/protocols/Aws_json1_1.ts | 140 + clients/client-appsync/AppSync.ts | 4 +- clients/client-appsync/models/models_0.ts | 1221 +- .../client-appsync/protocols/Aws_restJson1.ts | 196 +- clients/client-athena/models/models_0.ts | 733 +- .../models/models_0.ts | 520 +- .../client-auto-scaling/models/models_0.ts | 2520 +-- .../protocols/Aws_query.ts | 1684 +- clients/client-backup/Backup.ts | 45 +- clients/client-backup/models/models_0.ts | 1656 +- .../client-backup/protocols/Aws_restJson1.ts | 183 +- clients/client-batch/Batch.ts | 186 +- clients/client-batch/BatchClient.ts | 31 +- .../commands/ListTagsForResourceCommand.ts | 70 + .../commands/TagResourceCommand.ts | 70 + .../commands/UntagResourceCommand.ts | 70 + clients/client-batch/index.ts | 3 + clients/client-batch/models/models_0.ts | 1900 +- .../client-batch/protocols/Aws_restJson1.ts | 484 +- clients/client-budgets/Budgets.ts | 312 + clients/client-budgets/BudgetsClient.ts | 39 + .../commands/CreateBudgetActionCommand.ts | 70 + .../commands/DeleteBudgetActionCommand.ts | 70 + .../commands/DescribeBudgetActionCommand.ts | 70 + .../DescribeBudgetActionHistoriesCommand.ts | 73 + .../DescribeBudgetActionsForAccountCommand.ts | 76 + .../DescribeBudgetActionsForBudgetCommand.ts | 76 + .../commands/ExecuteBudgetActionCommand.ts | 70 + .../commands/UpdateBudgetActionCommand.ts | 70 + clients/client-budgets/index.ts | 15 + clients/client-budgets/models/models_0.ts | 1380 +- .../DescribeBudgetActionHistoriesPaginator.ts | 51 + ...escribeBudgetActionsForAccountPaginator.ts | 51 + ...DescribeBudgetActionsForBudgetPaginator.ts | 51 + .../pagination/DescribeBudgetsPaginator.ts | 51 + ...DescribeNotificationsForBudgetPaginator.ts | 51 + ...ribeSubscribersForNotificationPaginator.ts | 51 + .../client-budgets/pagination/Interfaces.ts | 7 + .../client-budgets/protocols/Aws_json1_1.ts | 1535 +- clients/client-chime/models/models_0.ts | 1188 +- .../client-chime/protocols/Aws_restJson1.ts | 298 +- clients/client-cloud9/models/models_0.ts | 242 +- .../client-cloud9/protocols/Aws_json1_1.ts | 46 + .../client-clouddirectory/models/models_0.ts | 1692 +- .../protocols/Aws_restJson1.ts | 18 +- clients/client-cloudformation/index.ts | 4 + .../client-cloudformation/models/models_0.ts | 3962 ++-- .../pagination/ListStackInstancesPaginator.ts | 51 + .../ListStackSetOperationResultsPaginator.ts | 51 + .../ListStackSetOperationsPaginator.ts | 51 + .../pagination/ListStackSetsPaginator.ts | 51 + .../protocols/Aws_query.ts | 2328 +- clients/client-cloudfront/CloudFront.ts | 387 +- clients/client-cloudfront/CloudFrontClient.ts | 54 + .../CreateMonitoringSubscriptionCommand.ts | 73 + .../CreateRealtimeLogConfigCommand.ts | 70 + .../DeleteMonitoringSubscriptionCommand.ts | 73 + .../DeleteRealtimeLogConfigCommand.ts | 70 + .../GetMonitoringSubscriptionCommand.ts | 73 + .../commands/GetRealtimeLogConfigCommand.ts | 70 + ...DistributionsByRealtimeLogConfigCommand.ts | 78 + .../ListDistributionsByWebACLIdCommand.ts | 2 +- .../ListFieldLevelEncryptionConfigsCommand.ts | 2 +- ...ListFieldLevelEncryptionProfilesCommand.ts | 2 +- .../commands/ListInvalidationsCommand.ts | 2 +- .../ListOriginRequestPoliciesCommand.ts | 2 +- .../commands/ListPublicKeysCommand.ts | 3 +- .../commands/ListRealtimeLogConfigsCommand.ts | 70 + .../UpdateRealtimeLogConfigCommand.ts | 70 + clients/client-cloudfront/index.ts | 9 + clients/client-cloudfront/models/models_0.ts | 3290 ++- clients/client-cloudfront/models/models_1.ts | 991 +- .../protocols/Aws_restXml.ts | 3432 ++- clients/client-cloudhsm-v2/models/models_0.ts | 242 +- clients/client-cloudhsm/models/models_0.ts | 222 +- .../models/models_0.ts | 252 +- .../protocols/Aws_restJson1.ts | 20 +- clients/client-cloudsearch/models/models_0.ts | 458 +- .../client-cloudsearch/protocols/Aws_query.ts | 648 +- clients/client-cloudtrail/models/models_0.ts | 668 +- .../CloudWatchEvents.ts | 3 + .../models/models_0.ts | 830 +- .../protocols/Aws_json1_1.ts | 80 + .../client-cloudwatch-logs/CloudWatchLogs.ts | 157 +- .../CloudWatchLogsClient.ts | 6 +- .../client-cloudwatch-logs/models/models_0.ts | 836 +- clients/client-cloudwatch/models/models_0.ts | 1508 +- .../client-cloudwatch/protocols/Aws_query.ts | 1134 +- .../client-codeartifact/models/models_0.ts | 1788 +- .../protocols/Aws_restJson1.ts | 138 +- clients/client-codebuild/CodeBuild.ts | 7 +- clients/client-codebuild/models/models_0.ts | 3156 +-- .../client-codebuild/protocols/Aws_json1_1.ts | 2 + clients/client-codecommit/models/models_0.ts | 1096 +- clients/client-codecommit/models/models_1.ts | 448 +- clients/client-codedeploy/models/models_0.ts | 1616 +- .../CodeGuruReviewer.ts | 41 +- .../CodeGuruReviewerClient.ts | 3 + .../commands/CreateCodeReviewCommand.ts | 70 + clients/client-codeguru-reviewer/index.ts | 1 + .../models/models_0.ts | 810 +- .../protocols/Aws_restJson1.ts | 180 +- .../client-codepipeline/models/models_0.ts | 998 +- .../models/models_0.ts | 175 +- .../models/models_0.ts | 258 +- clients/client-codestar/models/models_0.ts | 374 +- .../CognitoIdentityProvider.ts | 38 +- .../commands/UpdateDeviceStatusCommand.ts | 2 +- .../commands/UpdateGroupCommand.ts | 3 +- .../models/models_0.ts | 3623 ++- .../models/models_1.ts | 498 +- .../protocols/Aws_json1_1.ts | 56 +- .../models/models_0.ts | 378 +- .../client-cognito-sync/models/models_0.ts | 184 +- .../protocols/Aws_restJson1.ts | 40 +- clients/client-comprehend/Comprehend.ts | 280 +- clients/client-comprehend/ComprehendClient.ts | 34 +- .../DescribePiiEntitiesDetectionJobCommand.ts | 76 + .../commands/DetectPiiEntitiesCommand.ts | 70 + .../ListPiiEntitiesDetectionJobsCommand.ts | 73 + .../StartPiiEntitiesDetectionJobCommand.ts | 73 + .../StopPiiEntitiesDetectionJobCommand.ts | 73 + clients/client-comprehend/index.ts | 5 + clients/client-comprehend/models/models_0.ts | 2649 ++- .../protocols/Aws_json1_1.ts | 872 +- .../models/models_0.ts | 504 +- .../ComputeOptimizer.ts | 26 +- .../models/models_0.ts | 612 +- .../client-config-service/models/models_0.ts | 2022 +- clients/client-connect/Connect.ts | 597 +- clients/client-connect/ConnectClient.ts | 87 +- .../AssociateRoutingProfileQueuesCommand.ts | 73 + .../commands/CreateContactFlowCommand.ts | 70 + .../commands/CreateRoutingProfileCommand.ts | 70 + .../commands/DescribeContactFlowCommand.ts | 70 + .../commands/DescribeRoutingProfileCommand.ts | 70 + ...DisassociateRoutingProfileQueuesCommand.ts | 76 + .../commands/ListPromptsCommand.ts | 70 + .../ListRoutingProfileQueuesCommand.ts | 70 + .../UpdateContactFlowContentCommand.ts | 70 + .../commands/UpdateContactFlowNameCommand.ts | 70 + .../UpdateRoutingProfileConcurrencyCommand.ts | 76 + ...utingProfileDefaultOutboundQueueCommand.ts | 79 + .../UpdateRoutingProfileNameCommand.ts | 70 + .../UpdateRoutingProfileQueuesCommand.ts | 73 + clients/client-connect/index.ts | 16 + clients/client-connect/models/models_0.ts | 1579 +- .../pagination/ListPromptsPaginator.ts | 47 + .../ListRoutingProfileQueuesPaginator.ts | 51 + .../client-connect/protocols/Aws_restJson1.ts | 3064 ++- .../models/models_0.ts | 156 +- .../runtimeConfig.shared.ts | 2 +- .../models/models_0.ts | 56 +- clients/client-cost-explorer/CostExplorer.ts | 382 +- .../CostExplorerClient.ts | 54 + .../commands/CreateAnomalyMonitorCommand.ts | 70 + .../CreateAnomalySubscriptionCommand.ts | 73 + .../commands/DeleteAnomalyMonitorCommand.ts | 70 + .../DeleteAnomalySubscriptionCommand.ts | 73 + .../commands/GetAnomaliesCommand.ts | 70 + .../commands/GetAnomalyMonitorsCommand.ts | 70 + .../GetAnomalySubscriptionsCommand.ts | 70 + .../commands/ProvideAnomalyFeedbackCommand.ts | 70 + .../commands/UpdateAnomalyMonitorCommand.ts | 70 + .../UpdateAnomalySubscriptionCommand.ts | 73 + clients/client-cost-explorer/index.ts | 10 + .../client-cost-explorer/models/models_0.ts | 3356 ++- .../protocols/Aws_json1_1.ts | 1424 +- .../client-data-pipeline/models/models_0.ts | 290 +- .../DatabaseMigrationService.ts | 22 +- .../models/models_0.ts | 4074 ++-- .../protocols/Aws_json1_1.ts | 207 + clients/client-dataexchange/index.ts | 5 + .../client-dataexchange/models/models_0.ts | 807 +- .../pagination/Interfaces.ts | 7 + .../ListDataSetRevisionsPaginator.ts | 51 + .../pagination/ListDataSetsPaginator.ts | 51 + .../pagination/ListJobsPaginator.ts | 47 + .../pagination/ListRevisionAssetsPaginator.ts | 51 + .../protocols/Aws_restJson1.ts | 136 +- clients/client-datasync/DataSync.ts | 20 +- clients/client-datasync/models/models_0.ts | 1112 +- .../client-datasync/protocols/Aws_json1_1.ts | 37 + clients/client-dax/models/models_0.ts | 570 +- clients/client-detective/models/models_0.ts | 226 +- clients/client-device-farm/models/models_0.ts | 2644 +-- .../client-direct-connect/DirectConnect.ts | 22 +- .../client-direct-connect/models/models_0.ts | 968 +- .../models/models_0.ts | 1262 +- clients/client-dlm/DLM.ts | 17 +- clients/client-dlm/DLMClient.ts | 8 +- clients/client-dlm/models/models_0.ts | 204 +- clients/client-dlm/protocols/Aws_restJson1.ts | 12 +- clients/client-docdb/DocDB.ts | 62 +- clients/client-docdb/index.ts | 5 + clients/client-docdb/models/models_0.ts | 2436 +- .../DescribeCertificatesPaginator.ts | 51 + ...scribeDBClusterParameterGroupsPaginator.ts | 51 + .../DescribeDBClusterParametersPaginator.ts | 51 + .../DescribeDBClusterSnapshotsPaginator.ts | 51 + ...cribePendingMaintenanceActionsPaginator.ts | 51 + clients/client-docdb/protocols/Aws_query.ts | 1523 +- .../models/models_0.ts | 373 +- clients/client-dynamodb/DynamoDB.ts | 41 +- clients/client-dynamodb/models/models_0.ts | 2561 +-- .../client-dynamodb/protocols/Aws_json1_0.ts | 4 + clients/client-ebs/EBS.ts | 25 +- clients/client-ebs/EBSClient.ts | 19 +- clients/client-ebs/models/models_0.ts | 302 +- clients/client-ebs/protocols/Aws_restJson1.ts | 62 +- .../models/models_0.ts | 8 +- clients/client-ec2/EC2.ts | 468 +- clients/client-ec2/EC2Client.ts | 54 + .../commands/CreateCarrierGatewayCommand.ts | 70 + .../commands/CreateLaunchTemplateCommand.ts | 3 +- .../CreateLaunchTemplateVersionCommand.ts | 3 +- ...ransitGatewayPrefixListReferenceCommand.ts | 83 + .../commands/DeleteCarrierGatewayCommand.ts | 70 + ...ransitGatewayPrefixListReferenceCommand.ts | 83 + .../client-ec2/commands/DeleteVpcCommand.ts | 2 +- ...cEndpointConnectionNotificationsCommand.ts | 2 +- ...VpcEndpointServiceConfigurationsCommand.ts | 2 +- .../commands/DeleteVpcEndpointsCommand.ts | 2 +- .../DeleteVpcPeeringConnectionCommand.ts | 2 +- .../commands/DeleteVpnConnectionCommand.ts | 2 +- .../DeleteVpnConnectionRouteCommand.ts | 2 +- .../commands/DeleteVpnGatewayCommand.ts | 2 +- .../commands/DeprovisionByoipCidrCommand.ts | 2 +- .../DescribeCarrierGatewaysCommand.ts | 70 + .../DescribeMovingAddressesCommand.ts | 3 +- .../commands/DescribeNatGatewaysCommand.ts | 2 +- .../commands/DescribeNetworkAclsCommand.ts | 2 +- ...escribeNetworkInterfaceAttributeCommand.ts | 2 +- ...cribeNetworkInterfacePermissionsCommand.ts | 2 +- .../DescribeNetworkInterfacesCommand.ts | 2 +- .../DescribePlacementGroupsCommand.ts | 2 +- ...tewayMulticastDomainAssociationsCommand.ts | 2 +- ...ansitGatewayPrefixListReferencesCommand.ts | 80 + ...sitGatewayRouteTableAssociationsCommand.ts | 2 +- ...sitGatewayRouteTablePropagationsCommand.ts | 2 +- ...nClientCertificateRevocationListCommand.ts | 2 +- .../client-ec2/commands/ImportImageCommand.ts | 3 +- .../commands/ModifyTransitGatewayCommand.ts | 70 + ...ransitGatewayPrefixListReferenceCommand.ts | 83 + .../ModifyVpnConnectionOptionsCommand.ts | 73 + .../RevokeSecurityGroupEgressCommand.ts | 6 +- .../RevokeSecurityGroupIngressCommand.ts | 6 +- clients/client-ec2/index.ts | 100 + clients/client-ec2/models/models_0.ts | 3351 +-- clients/client-ec2/models/models_1.ts | 3940 ++-- clients/client-ec2/models/models_2.ts | 5026 ++--- clients/client-ec2/models/models_3.ts | 12036 +++++----- clients/client-ec2/models/models_4.ts | 4296 ++-- .../DescribeCapacityReservationsPaginator.ts | 51 + .../DescribeCarrierGatewaysPaginator.ts | 51 + .../DescribeClassicLinkInstancesPaginator.ts | 51 + ...ibeClientVpnAuthorizationRulesPaginator.ts | 51 + .../DescribeClientVpnConnectionsPaginator.ts | 51 + .../DescribeClientVpnEndpointsPaginator.ts | 51 + .../DescribeClientVpnRoutesPaginator.ts | 51 + ...escribeClientVpnTargetNetworksPaginator.ts | 51 + .../pagination/DescribeCoipPoolsPaginator.ts | 51 + .../DescribeDhcpOptionsPaginator.ts | 51 + ...ribeEgressOnlyInternetGatewaysPaginator.ts | 51 + .../DescribeExportImageTasksPaginator.ts | 51 + .../DescribeFastSnapshotRestoresPaginator.ts | 51 + .../pagination/DescribeFleetsPaginator.ts | 51 + .../pagination/DescribeFlowLogsPaginator.ts | 51 + .../pagination/DescribeFpgaImagesPaginator.ts | 51 + ...scribeHostReservationOfferingsPaginator.ts | 51 + .../DescribeHostReservationsPaginator.ts | 51 + .../pagination/DescribeHostsPaginator.ts | 51 + ...IamInstanceProfileAssociationsPaginator.ts | 51 + .../DescribeImportImageTasksPaginator.ts | 51 + .../DescribeImportSnapshotTasksPaginator.ts | 51 + ...beInstanceCreditSpecificationsPaginator.ts | 51 + .../DescribeInstanceStatusPaginator.ts | 51 + .../DescribeInstanceTypeOfferingsPaginator.ts | 51 + .../DescribeInstanceTypesPaginator.ts | 51 + .../pagination/DescribeInstancesPaginator.ts | 51 + .../DescribeInternetGatewaysPaginator.ts | 51 + .../pagination/DescribeIpv6PoolsPaginator.ts | 51 + ...DescribeLaunchTemplateVersionsPaginator.ts | 51 + .../DescribeLaunchTemplatesPaginator.ts | 51 + ...tualInterfaceGroupAssociationsPaginator.ts | 51 + ...tewayRouteTableVpcAssociationsPaginator.ts | 51 + ...escribeLocalGatewayRouteTablesPaginator.ts | 51 + ...lGatewayVirtualInterfaceGroupsPaginator.ts | 51 + ...eLocalGatewayVirtualInterfacesPaginator.ts | 51 + .../DescribeLocalGatewaysPaginator.ts | 51 + .../DescribeManagedPrefixListsPaginator.ts | 51 + .../DescribeMovingAddressesPaginator.ts | 51 + .../DescribeNatGatewaysPaginator.ts | 51 + .../DescribeNetworkAclsPaginator.ts | 51 + ...ibeNetworkInterfacePermissionsPaginator.ts | 51 + .../DescribeNetworkInterfacesPaginator.ts | 51 + .../DescribePrefixListsPaginator.ts | 51 + .../DescribePrincipalIdFormatPaginator.ts | 51 + .../DescribePublicIpv4PoolsPaginator.ts | 51 + ...ReservedInstancesModificationsPaginator.ts | 50 + ...ribeReservedInstancesOfferingsPaginator.ts | 51 + .../DescribeRouteTablesPaginator.ts | 51 + ...eScheduledInstanceAvailabilityPaginator.ts | 51 + .../DescribeScheduledInstancesPaginator.ts | 51 + .../DescribeSecurityGroupsPaginator.ts | 51 + .../pagination/DescribeSnapshotsPaginator.ts | 51 + .../DescribeSpotFleetRequestsPaginator.ts | 51 + .../DescribeSpotInstanceRequestsPaginator.ts | 51 + .../DescribeSpotPriceHistoryPaginator.ts | 51 + .../DescribeStaleSecurityGroupsPaginator.ts | 51 + .../pagination/DescribeSubnetsPaginator.ts | 51 + .../pagination/DescribeTagsPaginator.ts | 51 + .../DescribeTrafficMirrorFiltersPaginator.ts | 51 + .../DescribeTrafficMirrorSessionsPaginator.ts | 51 + .../DescribeTrafficMirrorTargetsPaginator.ts | 51 + ...cribeTransitGatewayAttachmentsPaginator.ts | 51 + ...TransitGatewayMulticastDomainsPaginator.ts | 51 + ...ansitGatewayPeeringAttachmentsPaginator.ts | 51 + ...cribeTransitGatewayRouteTablesPaginator.ts | 51 + ...beTransitGatewayVpcAttachmentsPaginator.ts | 51 + .../DescribeTransitGatewaysPaginator.ts | 51 + .../DescribeVolumeStatusPaginator.ts | 51 + .../DescribeVolumesModificationsPaginator.ts | 51 + .../pagination/DescribeVolumesPaginator.ts | 51 + ...scribeVpcClassicLinkDnsSupportPaginator.ts | 51 + ...ndpointConnectionNotificationsPaginator.ts | 51 + ...DescribeVpcEndpointConnectionsPaginator.ts | 51 + ...cEndpointServiceConfigurationsPaginator.ts | 51 + ...eVpcEndpointServicePermissionsPaginator.ts | 51 + .../DescribeVpcEndpointsPaginator.ts | 51 + .../DescribeVpcPeeringConnectionsPaginator.ts | 51 + .../pagination/DescribeVpcsPaginator.ts | 51 + .../GetAssociatedIpv6PoolCidrsPaginator.ts | 51 + ...etGroupsForCapacityReservationPaginator.ts | 51 + ...tManagedPrefixListAssociationsPaginator.ts | 51 + .../GetManagedPrefixListEntriesPaginator.ts | 51 + ...tGatewayAttachmentPropagationsPaginator.ts | 51 + ...wayMulticastDomainAssociationsPaginator.ts | 51 + ...sitGatewayPrefixListReferencesPaginator.ts | 51 + ...tGatewayRouteTableAssociationsPaginator.ts | 51 + ...tGatewayRouteTablePropagationsPaginator.ts | 51 + clients/client-ec2/pagination/Interfaces.ts | 7 + .../SearchLocalGatewayRoutesPaginator.ts | 51 + ...hTransitGatewayMulticastGroupsPaginator.ts | 51 + clients/client-ec2/protocols/Aws_ec2.ts | 18566 +++++++++------- clients/client-ecr/models/models_0.ts | 895 +- clients/client-ecr/protocols/Aws_json1_1.ts | 8 + clients/client-ecs/models/models_0.ts | 5396 ++--- clients/client-efs/models/models_0.ts | 470 +- clients/client-efs/protocols/Aws_restJson1.ts | 10 +- clients/client-eks/EKS.ts | 22 +- clients/client-eks/models/models_0.ts | 1068 +- clients/client-eks/protocols/Aws_restJson1.ts | 158 +- .../models/models_0.ts | 1624 +- .../protocols/Aws_query.ts | 1224 +- .../models/models_0.ts | 44 +- .../ElasticLoadBalancingV2.ts | 15 +- .../models/models_0.ts | 1414 +- .../protocols/Aws_query.ts | 1182 +- .../models/models_0.ts | 444 +- .../protocols/Aws_query.ts | 470 +- .../models/models_0.ts | 3062 +-- .../protocols/Aws_restJson1.ts | 4 +- clients/client-elasticache/ElastiCache.ts | 267 + .../client-elasticache/ElastiCacheClient.ts | 24 + .../commands/CreateUserCommand.ts | 67 + .../commands/CreateUserGroupCommand.ts | 70 + .../commands/DeleteUserCommand.ts | 67 + .../commands/DeleteUserGroupCommand.ts | 70 + .../commands/DescribeUserGroupsCommand.ts | 70 + .../commands/DescribeUsersCommand.ts | 70 + .../commands/ModifyUserCommand.ts | 67 + .../commands/ModifyUserGroupCommand.ts | 70 + clients/client-elasticache/index.ts | 11 + clients/client-elasticache/models/models_0.ts | 4607 ++-- ...escribeEngineDefaultParametersPaginator.ts | 51 + .../pagination/DescribeUserGroupsPaginator.ts | 51 + .../pagination/DescribeUsersPaginator.ts | 51 + .../client-elasticache/protocols/Aws_query.ts | 3955 +++- .../models/models_0.ts | 996 +- .../protocols/Aws_restJson1.ts | 42 +- clients/client-emr/EMR.ts | 148 + clients/client-emr/EMRClient.ts | 24 + .../DescribeNotebookExecutionCommand.ts | 73 + .../commands/ListNotebookExecutionsCommand.ts | 70 + .../commands/StartNotebookExecutionCommand.ts | 70 + .../commands/StopNotebookExecutionCommand.ts | 70 + clients/client-emr/index.ts | 5 + clients/client-emr/models/models_0.ts | 1862 +- .../ListNotebookExecutionsPaginator.ts | 50 + clients/client-emr/protocols/Aws_json1_1.ts | 547 + clients/client-eventbridge/EventBridge.ts | 3 + clients/client-eventbridge/models/models_0.ts | 830 +- .../protocols/Aws_json1_1.ts | 80 + clients/client-firehose/models/models_0.ts | 1590 +- clients/client-fms/models/models_0.ts | 510 +- clients/client-forecast/models/models_0.ts | 1180 +- .../client-forecastquery/models/models_0.ts | 48 +- .../client-frauddetector/models/models_0.ts | 1052 +- clients/client-fsx/FSx.ts | 2 +- clients/client-fsx/models/models_0.ts | 1662 +- clients/client-fsx/protocols/Aws_json1_1.ts | 3 + clients/client-gamelift/GameLift.ts | 666 +- clients/client-gamelift/GameLiftClient.ts | 86 +- .../DescribeGameServerInstancesCommand.ts | 73 + clients/client-gamelift/index.ts | 22 + clients/client-gamelift/models/models_0.ts | 3364 +-- .../DescribeFleetAttributesPaginator.ts | 51 + .../DescribeFleetCapacityPaginator.ts | 51 + .../DescribeFleetEventsPaginator.ts | 51 + .../DescribeFleetUtilizationPaginator.ts | 51 + .../DescribeGameServerInstancesPaginator.ts | 51 + .../DescribeGameSessionDetailsPaginator.ts | 51 + .../DescribeGameSessionQueuesPaginator.ts | 51 + .../DescribeGameSessionsPaginator.ts | 51 + .../pagination/DescribeInstancesPaginator.ts | 51 + ...cribeMatchmakingConfigurationsPaginator.ts | 51 + .../DescribeMatchmakingRuleSetsPaginator.ts | 51 + .../DescribePlayerSessionsPaginator.ts | 51 + .../DescribeScalingPoliciesPaginator.ts | 51 + .../client-gamelift/pagination/Interfaces.ts | 7 + .../pagination/ListAliasesPaginator.ts | 47 + .../pagination/ListBuildsPaginator.ts | 47 + .../pagination/ListFleetsPaginator.ts | 47 + .../ListGameServerGroupsPaginator.ts | 51 + .../pagination/ListGameServersPaginator.ts | 51 + .../pagination/ListScriptsPaginator.ts | 47 + .../pagination/SearchGameSessionsPaginator.ts | 51 + .../client-gamelift/protocols/Aws_json1_1.ts | 155 +- clients/client-glacier/models/models_0.ts | 984 +- .../client-glacier/protocols/Aws_restJson1.ts | 443 +- .../models/models_0.ts | 466 +- clients/client-glue/Glue.ts | 76 +- clients/client-glue/GlueClient.ts | 12 + .../commands/BatchUpdatePartitionCommand.ts | 70 + .../commands/GetMLTransformsCommand.ts | 2 +- .../commands/GetPartitionIndexesCommand.ts | 70 + clients/client-glue/index.ts | 4 + clients/client-glue/models/models_0.ts | 3621 ++- clients/client-glue/models/models_1.ts | 1737 +- .../GetPartitionIndexesPaginator.ts | 50 + .../GetSecurityConfigurationsPaginator.ts | 51 + clients/client-glue/protocols/Aws_json1_1.ts | 457 +- clients/client-greengrass/Greengrass.ts | 74 + clients/client-greengrass/GreengrassClient.ts | 16 +- .../GetThingRuntimeConfigurationCommand.ts | 73 + .../UpdateThingRuntimeConfigurationCommand.ts | 76 + clients/client-greengrass/index.ts | 2 + clients/client-greengrass/models/models_0.ts | 1839 +- .../protocols/Aws_restJson1.ts | 329 +- clients/client-guardduty/models/models_0.ts | 1325 +- .../protocols/Aws_restJson1.ts | 101 +- clients/client-health/Health.ts | 305 +- clients/client-health/HealthClient.ts | 133 +- clients/client-health/index.ts | 8 + clients/client-health/models/models_0.ts | 566 +- ...ffectedAccountsForOrganizationPaginator.ts | 51 + ...ffectedEntitiesForOrganizationPaginator.ts | 51 + .../DescribeAffectedEntitiesPaginator.ts | 51 + .../DescribeEventAggregatesPaginator.ts | 51 + .../pagination/DescribeEventTypesPaginator.ts | 51 + .../DescribeEventsForOrganizationPaginator.ts | 51 + .../pagination/DescribeEventsPaginator.ts | 51 + .../client-health/pagination/Interfaces.ts | 7 + clients/client-honeycode/models/models_0.ts | 81 +- .../protocols/Aws_restJson1.ts | 36 +- clients/client-iam/models/models_0.ts | 3674 +-- clients/client-iam/models/models_1.ts | 48 +- clients/client-iam/protocols/Aws_query.ts | 2180 +- clients/client-identitystore/.gitignore | 14 + clients/client-identitystore/.npmignore | 4 + clients/client-identitystore/Identitystore.ts | 129 + .../IdentitystoreClient.ts | 210 + clients/client-identitystore/LICENSE | 201 + clients/client-identitystore/README.md | 6 + .../commands/DescribeGroupCommand.ts | 70 + .../commands/DescribeUserCommand.ts | 70 + .../commands/ListGroupsCommand.ts | 70 + .../commands/ListUsersCommand.ts | 67 + clients/client-identitystore/endpoints.ts | 81 + clients/client-identitystore/index.ts | 10 + clients/client-identitystore/models/index.ts | 1 + .../client-identitystore/models/models_0.ts | 347 + clients/client-identitystore/package.json | 77 + .../pagination/Interfaces.ts | 7 + .../pagination/ListGroupsPaginator.ts | 47 + .../pagination/ListUsersPaginator.ts | 47 + .../protocols/Aws_json1_1.ts | 699 + .../runtimeConfig.browser.ts | 31 + .../runtimeConfig.native.ts | 14 + .../runtimeConfig.shared.ts | 10 + clients/client-identitystore/runtimeConfig.ts | 33 + clients/client-identitystore/tsconfig.es.json | 12 + clients/client-identitystore/tsconfig.json | 28 + clients/client-imagebuilder/Imagebuilder.ts | 47 +- .../client-imagebuilder/ImagebuilderClient.ts | 5 +- clients/client-imagebuilder/index.ts | 10 + .../client-imagebuilder/models/models_0.ts | 1443 +- .../pagination/Interfaces.ts | 7 + .../ListComponentBuildVersionsPaginator.ts | 51 + .../pagination/ListComponentsPaginator.ts | 51 + ...ListDistributionConfigurationsPaginator.ts | 51 + .../ListImageBuildVersionsPaginator.ts | 51 + .../ListImagePipelineImagesPaginator.ts | 51 + .../pagination/ListImagePipelinesPaginator.ts | 51 + .../pagination/ListImageRecipesPaginator.ts | 51 + .../pagination/ListImagesPaginator.ts | 47 + ...stInfrastructureConfigurationsPaginator.ts | 51 + .../protocols/Aws_restJson1.ts | 31 +- clients/client-inspector/models/models_0.ts | 826 +- .../models/models_0.ts | 150 +- .../protocols/Aws_restJson1.ts | 4 +- .../models/models_0.ts | 184 +- .../protocols/Aws_restJson1.ts | 92 +- .../client-iot-data-plane/models/models_0.ts | 20 +- .../protocols/Aws_restJson1.ts | 2 +- .../client-iot-events-data/models/models_0.ts | 126 +- .../protocols/Aws_restJson1.ts | 2 +- clients/client-iot-events/models/models_0.ts | 522 +- .../protocols/Aws_restJson1.ts | 4 +- .../models/models_0.ts | 134 +- clients/client-iot/IoT.ts | 211 +- clients/client-iot/IoTClient.ts | 30 + .../commands/CreateAuditSuppressionCommand.ts | 70 + .../commands/DeleteAuditSuppressionCommand.ts | 70 + .../DescribeAuditSuppressionCommand.ts | 70 + .../commands/DescribeAuditTaskCommand.ts | 3 +- .../commands/DescribeAuthorizerCommand.ts | 2 +- .../commands/DescribeBillingGroupCommand.ts | 2 +- .../commands/DescribeCACertificateCommand.ts | 3 +- .../commands/ListAuditSuppressionsCommand.ts | 70 + .../commands/TestInvokeAuthorizerCommand.ts | 2 +- .../commands/TransferCertificateCommand.ts | 2 +- .../commands/UntagResourceCommand.ts | 2 +- .../UpdateAccountAuditConfigurationCommand.ts | 2 +- .../commands/UpdateAuditSuppressionCommand.ts | 70 + .../commands/UpdateAuthorizerCommand.ts | 2 +- clients/client-iot/index.ts | 53 + clients/client-iot/models/models_0.ts | 2448 +- clients/client-iot/models/models_1.ts | 2822 +-- clients/client-iot/models/models_2.ts | 679 +- clients/client-iot/pagination/Interfaces.ts | 7 + .../ListActiveViolationsPaginator.ts | 51 + .../ListAttachedPoliciesPaginator.ts | 51 + .../pagination/ListAuditFindingsPaginator.ts | 51 + ...ditMitigationActionsExecutionsPaginator.ts | 51 + ...istAuditMitigationActionsTasksPaginator.ts | 51 + .../ListAuditSuppressionsPaginator.ts | 51 + .../pagination/ListAuditTasksPaginator.ts | 51 + .../pagination/ListAuthorizersPaginator.ts | 51 + .../pagination/ListBillingGroupsPaginator.ts | 51 + .../pagination/ListCACertificatesPaginator.ts | 51 + .../ListCertificatesByCAPaginator.ts | 51 + .../pagination/ListCertificatesPaginator.ts | 51 + .../pagination/ListDimensionsPaginator.ts | 51 + .../ListDomainConfigurationsPaginator.ts | 51 + .../pagination/ListIndicesPaginator.ts | 47 + .../ListJobExecutionsForJobPaginator.ts | 51 + .../ListJobExecutionsForThingPaginator.ts | 51 + .../pagination/ListJobsPaginator.ts | 47 + .../ListMitigationActionsPaginator.ts | 51 + .../pagination/ListOTAUpdatesPaginator.ts | 51 + .../ListOutgoingCertificatesPaginator.ts | 51 + .../pagination/ListPoliciesPaginator.ts | 51 + .../ListPolicyPrincipalsPaginator.ts | 51 + .../ListPrincipalPoliciesPaginator.ts | 51 + .../ListPrincipalThingsPaginator.ts | 51 + ...stProvisioningTemplateVersionsPaginator.ts | 51 + .../ListProvisioningTemplatesPaginator.ts | 51 + .../pagination/ListRoleAliasesPaginator.ts | 51 + .../ListScheduledAuditsPaginator.ts | 51 + .../ListSecurityProfilesForTargetPaginator.ts | 51 + .../ListSecurityProfilesPaginator.ts | 51 + .../pagination/ListStreamsPaginator.ts | 47 + .../ListTagsForResourcePaginator.ts | 50 + .../ListTargetsForPolicyPaginator.ts | 51 + .../ListTargetsForSecurityProfilePaginator.ts | 51 + .../ListThingGroupsForThingPaginator.ts | 51 + .../pagination/ListThingGroupsPaginator.ts | 51 + ...stThingRegistrationTaskReportsPaginator.ts | 51 + .../ListThingRegistrationTasksPaginator.ts | 51 + .../pagination/ListThingTypesPaginator.ts | 51 + .../ListThingsInBillingGroupPaginator.ts | 51 + .../ListThingsInThingGroupPaginator.ts | 51 + .../pagination/ListThingsPaginator.ts | 47 + .../ListTopicRuleDestinationsPaginator.ts | 51 + .../pagination/ListTopicRulesPaginator.ts | 51 + .../ListV2LoggingLevelsPaginator.ts | 51 + .../ListViolationEventsPaginator.ts | 51 + clients/client-iot/protocols/Aws_restJson1.ts | 1061 +- clients/client-iot/runtimeConfig.shared.ts | 2 +- .../client-iotanalytics/models/models_0.ts | 724 +- .../protocols/Aws_restJson1.ts | 8 +- .../models/models_0.ts | 132 +- clients/client-iotsitewise/IoTSiteWise.ts | 146 +- .../client-iotsitewise/IoTSiteWiseClient.ts | 6 + .../CreatePresignedPortalUrlCommand.ts | 70 + clients/client-iotsitewise/index.ts | 1 + clients/client-iotsitewise/models/models_0.ts | 1587 +- .../protocols/Aws_restJson1.ts | 197 +- .../client-iotthingsgraph/models/models_0.ts | 410 +- clients/client-ivs/Ivs.ts | 212 +- clients/client-ivs/IvsClient.ts | 80 +- .../commands/DeletePlaybackKeyPairCommand.ts | 70 + .../commands/GetPlaybackKeyPairCommand.ts | 70 + .../commands/ImportPlaybackKeyPairCommand.ts | 70 + .../commands/ListPlaybackKeyPairsCommand.ts | 70 + clients/client-ivs/index.ts | 5 + clients/client-ivs/models/models_0.ts | 370 +- .../ListPlaybackKeyPairsPaginator.ts | 51 + clients/client-ivs/protocols/Aws_restJson1.ts | 451 + clients/client-kafka/Kafka.ts | 185 + clients/client-kafka/KafkaClient.ts | 27 + .../BatchAssociateScramSecretCommand.ts | 73 + .../BatchDisassociateScramSecretCommand.ts | 73 + .../commands/DeleteConfigurationCommand.ts | 70 + .../commands/ListScramSecretsCommand.ts | 70 + .../commands/UpdateConfigurationCommand.ts | 70 + clients/client-kafka/index.ts | 13 + clients/client-kafka/models/models_0.ts | 1089 +- clients/client-kafka/pagination/Interfaces.ts | 7 + .../ListClusterOperationsPaginator.ts | 51 + .../pagination/ListClustersPaginator.ts | 51 + .../ListConfigurationRevisionsPaginator.ts | 51 + .../pagination/ListConfigurationsPaginator.ts | 51 + .../pagination/ListKafkaVersionsPaginator.ts | 51 + .../pagination/ListNodesPaginator.ts | 47 + .../pagination/ListScramSecretsPaginator.ts | 51 + .../client-kafka/protocols/Aws_restJson1.ts | 819 +- clients/client-kendra/Kendra.ts | 8 +- clients/client-kendra/models/models_0.ts | 1331 +- .../client-kendra/protocols/Aws_json1_1.ts | 19 + .../KinesisAnalyticsV2.ts | 61 +- .../KinesisAnalyticsV2Client.ts | 4 +- .../models/models_0.ts | 1704 +- .../protocols/Aws_json1_1.ts | 46 + .../models/models_0.ts | 640 +- .../models/models_0.ts | 466 +- .../models/models_0.ts | 60 +- .../models/models_0.ts | 22 +- .../client-kinesis-video/models/models_0.ts | 322 +- clients/client-kinesis/Kinesis.ts | 275 +- clients/client-kinesis/models/models_0.ts | 1417 +- .../client-kinesis/protocols/Aws_json1_1.ts | 43 + clients/client-kms/models/models_0.ts | 1300 +- .../client-lakeformation/models/models_0.ts | 193 +- .../protocols/Aws_json1_1.ts | 18 + clients/client-lambda/Lambda.ts | 22 +- clients/client-lambda/models/models_0.ts | 1621 +- .../client-lambda/protocols/Aws_restJson1.ts | 145 +- .../models/models_0.ts | 2080 +- .../protocols/Aws_restJson1.ts | 190 +- .../models/models_0.ts | 992 +- .../protocols/Aws_restJson1.ts | 208 +- .../client-license-manager/LicenseManager.ts | 9 +- .../client-license-manager/models/models_0.ts | 442 +- clients/client-lightsail/models/models_0.ts | 3660 +-- clients/client-lightsail/models/models_1.ts | 956 +- .../models/models_0.ts | 1742 +- clients/client-macie/models/models_0.ts | 81 +- clients/client-macie2/Macie2.ts | 14 +- clients/client-macie2/index.ts | 10 + clients/client-macie2/models/models_0.ts | 1773 +- .../pagination/DescribeBucketsPaginator.ts | 51 + .../pagination/GetUsageStatisticsPaginator.ts | 51 + .../client-macie2/pagination/Interfaces.ts | 7 + .../ListClassificationJobsPaginator.ts | 51 + .../ListCustomDataIdentifiersPaginator.ts | 51 + .../ListFindingsFiltersPaginator.ts | 51 + .../pagination/ListFindingsPaginator.ts | 51 + .../pagination/ListInvitationsPaginator.ts | 51 + .../pagination/ListMembersPaginator.ts | 47 + .../ListOrganizationAdminAccountsPaginator.ts | 51 + .../client-macie2/protocols/Aws_restJson1.ts | 167 +- .../ManagedBlockchain.ts | 2 +- .../models/models_0.ts | 440 +- .../protocols/Aws_restJson1.ts | 96 +- .../MarketplaceCatalog.ts | 2 +- .../MarketplaceCatalogClient.ts | 2 +- .../models/models_0.ts | 265 +- .../protocols/Aws_restJson1.ts | 7 +- .../models/models_0.ts | 40 +- .../models/models_0.ts | 32 +- .../models/models_0.ts | 48 +- clients/client-mediaconnect/MediaConnect.ts | 185 + .../client-mediaconnect/MediaConnectClient.ts | 18 + .../commands/DescribeOfferingCommand.ts | 70 + .../commands/DescribeReservationCommand.ts | 70 + .../commands/ListOfferingsCommand.ts | 70 + .../commands/ListReservationsCommand.ts | 70 + .../commands/PurchaseOfferingCommand.ts | 70 + clients/client-mediaconnect/index.ts | 10 + .../client-mediaconnect/models/models_0.ts | 1002 +- .../pagination/Interfaces.ts | 7 + .../pagination/ListEntitlementsPaginator.ts | 51 + .../pagination/ListFlowsPaginator.ts | 47 + .../pagination/ListOfferingsPaginator.ts | 51 + .../pagination/ListReservationsPaginator.ts | 51 + .../protocols/Aws_restJson1.ts | 884 +- clients/client-mediaconvert/index.ts | 6 + .../client-mediaconvert/models/models_0.ts | 2302 +- .../client-mediaconvert/models/models_1.ts | 1683 +- .../pagination/DescribeEndpointsPaginator.ts | 51 + .../pagination/Interfaces.ts | 7 + .../pagination/ListJobTemplatesPaginator.ts | 51 + .../pagination/ListJobsPaginator.ts | 47 + .../pagination/ListPresetsPaginator.ts | 47 + .../pagination/ListQueuesPaginator.ts | 47 + .../protocols/Aws_restJson1.ts | 228 +- clients/client-medialive/MediaLive.ts | 266 + clients/client-medialive/MediaLiveClient.ts | 39 + .../AcceptInputDeviceTransferCommand.ts | 73 + .../commands/BatchDeleteCommand.ts | 70 + .../commands/BatchStartCommand.ts | 70 + .../commands/BatchStopCommand.ts | 70 + .../CancelInputDeviceTransferCommand.ts | 73 + .../ListInputDeviceTransfersCommand.ts | 70 + .../RejectInputDeviceTransferCommand.ts | 73 + .../commands/TransferInputDeviceCommand.ts | 70 + clients/client-medialive/index.ts | 19 + clients/client-medialive/models/models_0.ts | 2165 +- clients/client-medialive/models/models_1.ts | 2960 ++- .../pagination/DescribeSchedulePaginator.ts | 51 + .../client-medialive/pagination/Interfaces.ts | 7 + .../pagination/ListChannelsPaginator.ts | 51 + .../ListInputDeviceTransfersPaginator.ts | 51 + .../pagination/ListInputDevicesPaginator.ts | 51 + .../ListInputSecurityGroupsPaginator.ts | 51 + .../pagination/ListInputsPaginator.ts | 47 + .../ListMultiplexProgramsPaginator.ts | 51 + .../pagination/ListMultiplexesPaginator.ts | 51 + .../pagination/ListOfferingsPaginator.ts | 51 + .../pagination/ListReservationsPaginator.ts | 51 + .../protocols/Aws_restJson1.ts | 2008 +- clients/client-mediapackage-vod/index.ts | 4 + .../models/models_0.ts | 452 +- .../pagination/Interfaces.ts | 7 + .../pagination/ListAssetsPaginator.ts | 47 + .../ListPackagingConfigurationsPaginator.ts | 51 + .../ListPackagingGroupsPaginator.ts | 51 + .../protocols/Aws_restJson1.ts | 6 +- clients/client-mediapackage/MediaPackage.ts | 37 + .../client-mediapackage/MediaPackageClient.ts | 3 + .../commands/ConfigureLogsCommand.ts | 70 + clients/client-mediapackage/index.ts | 5 + .../client-mediapackage/models/models_0.ts | 1145 +- .../pagination/Interfaces.ts | 7 + .../pagination/ListChannelsPaginator.ts | 51 + .../pagination/ListHarvestJobsPaginator.ts | 51 + .../ListOriginEndpointsPaginator.ts | 51 + .../protocols/Aws_restJson1.ts | 262 +- .../client-mediastore-data/models/models_0.ts | 80 +- .../protocols/Aws_restJson1.ts | 17 +- clients/client-mediastore/models/models_0.ts | 138 +- clients/client-mediatailor/models/models_0.ts | 278 +- .../client-migration-hub/models/models_0.ts | 256 +- .../models/models_0.ts | 62 +- clients/client-mobile/models/models_0.ts | 122 +- .../client-mobile/protocols/Aws_restJson1.ts | 8 +- clients/client-mq/index.ts | 2 + clients/client-mq/models/models_0.ts | 868 +- clients/client-mq/pagination/Interfaces.ts | 7 + .../pagination/ListBrokersPaginator.ts | 47 + clients/client-mq/protocols/Aws_restJson1.ts | 98 +- clients/client-mturk/models/models_0.ts | 1346 +- clients/client-neptune/index.ts | 1 + clients/client-neptune/models/models_0.ts | 3516 +-- ...escribeEngineDefaultParametersPaginator.ts | 51 + clients/client-neptune/protocols/Aws_query.ts | 2500 +-- .../client-networkmanager/models/models_0.ts | 384 +- .../protocols/Aws_restJson1.ts | 56 +- clients/client-opsworks/models/models_0.ts | 3614 +-- clients/client-opsworkscm/models/models_0.ts | 820 +- clients/client-organizations/Organizations.ts | 353 +- .../client-organizations/models/models_0.ts | 1532 +- .../protocols/Aws_json1_1.ts | 13 + clients/client-outposts/models/models_0.ts | 92 +- .../protocols/Aws_restJson1.ts | 2 +- .../PersonalizeEvents.ts | 61 +- .../PersonalizeEventsClient.ts | 9 +- .../commands/PutItemsCommand.ts | 74 + .../commands/PutUsersCommand.ts | 74 + clients/client-personalize-events/index.ts | 2 + .../models/models_0.ts | 168 +- .../protocols/Aws_restJson1.ts | 219 +- .../models/models_0.ts | 62 +- .../protocols/Aws_restJson1.ts | 9 + clients/client-personalize/Personalize.ts | 87 +- clients/client-personalize/models/models_0.ts | 1354 +- .../protocols/Aws_json1_1.ts | 76 + clients/client-pi/models/models_0.ts | 404 +- .../client-pinpoint-email/models/models_0.ts | 870 +- .../protocols/Aws_restJson1.ts | 30 +- .../models/models_0.ts | 122 +- .../protocols/Aws_restJson1.ts | 36 +- .../commands/GetJourneyDateRangeKpiCommand.ts | 2 +- clients/client-pinpoint/models/models_0.ts | 3130 ++- clients/client-pinpoint/models/models_1.ts | 874 +- .../protocols/Aws_restJson1.ts | 498 +- clients/client-polly/models/models_0.ts | 324 +- .../client-polly/protocols/Aws_restJson1.ts | 12 +- clients/client-pricing/models/models_0.ts | 80 +- .../client-qldb-session/models/models_0.ts | 80 +- clients/client-qldb/models/models_0.ts | 403 +- .../client-qldb/protocols/Aws_restJson1.ts | 40 +- clients/client-quicksight/QuickSight.ts | 528 +- clients/client-quicksight/QuickSightClient.ts | 41 +- .../commands/CreateAnalysisCommand.ts | 70 + .../commands/DeleteAnalysisCommand.ts | 70 + .../commands/DescribeAnalysisCommand.ts | 70 + .../DescribeAnalysisPermissionsCommand.ts | 73 + .../commands/ListAnalysesCommand.ts | 70 + .../commands/ListTemplateVersionsCommand.ts | 2 +- .../commands/ListTemplatesCommand.ts | 2 +- .../commands/ListThemeAliasesCommand.ts | 2 +- .../commands/ListThemeVersionsCommand.ts | 2 +- .../commands/ListThemesCommand.ts | 2 +- .../commands/ListUserGroupsCommand.ts | 2 +- .../commands/ListUsersCommand.ts | 2 +- .../commands/RegisterUserCommand.ts | 3 +- .../commands/RestoreAnalysisCommand.ts | 70 + .../commands/SearchAnalysesCommand.ts | 70 + .../commands/UpdateAnalysisCommand.ts | 70 + .../UpdateAnalysisPermissionsCommand.ts | 73 + clients/client-quicksight/index.ts | 11 + clients/client-quicksight/models/models_0.ts | 3310 ++- clients/client-quicksight/models/models_1.ts | 1455 +- .../pagination/ListAnalysesPaginator.ts | 51 + .../pagination/SearchAnalysesPaginator.ts | 51 + .../protocols/Aws_restJson1.ts | 2502 ++- clients/client-ram/models/models_0.ts | 618 +- clients/client-ram/protocols/Aws_restJson1.ts | 2 +- clients/client-rds/RDS.ts | 60 +- clients/client-rds/index.ts | 1 + clients/client-rds/models/models_0.ts | 6655 +++--- clients/client-rds/models/models_1.ts | 5121 ++--- ...escribeEngineDefaultParametersPaginator.ts | 51 + clients/client-rds/protocols/Aws_query.ts | 6223 +++--- clients/client-redshift-data/.gitignore | 14 + clients/client-redshift-data/.npmignore | 4 + clients/client-redshift-data/LICENSE | 201 + clients/client-redshift-data/README.md | 6 + clients/client-redshift-data/RedshiftData.ts | 397 + .../RedshiftDataClient.ts | 229 + .../commands/CancelStatementCommand.ts | 70 + .../commands/DescribeStatementCommand.ts | 70 + .../commands/DescribeTableCommand.ts | 70 + .../commands/ExecuteStatementCommand.ts | 70 + .../commands/GetStatementResultCommand.ts | 70 + .../commands/ListDatabasesCommand.ts | 70 + .../commands/ListSchemasCommand.ts | 70 + .../commands/ListStatementsCommand.ts | 70 + .../commands/ListTablesCommand.ts | 70 + clients/client-redshift-data/endpoints.ts | 81 + clients/client-redshift-data/index.ts | 19 + clients/client-redshift-data/models/index.ts | 1 + .../client-redshift-data/models/models_0.ts | 998 + clients/client-redshift-data/package.json | 77 + .../pagination/DescribeTablePaginator.ts | 51 + .../pagination/GetStatementResultPaginator.ts | 50 + .../pagination/Interfaces.ts | 7 + .../pagination/ListDatabasesPaginator.ts | 51 + .../pagination/ListSchemasPaginator.ts | 47 + .../pagination/ListStatementsPaginator.ts | 51 + .../pagination/ListTablesPaginator.ts | 47 + .../protocols/Aws_json1_1.ts | 1228 + .../runtimeConfig.browser.ts | 31 + .../runtimeConfig.native.ts | 14 + .../runtimeConfig.shared.ts | 10 + clients/client-redshift-data/runtimeConfig.ts | 33 + clients/client-redshift-data/tsconfig.es.json | 12 + clients/client-redshift-data/tsconfig.json | 28 + clients/client-redshift/Redshift.ts | 6 + clients/client-redshift/index.ts | 1 + clients/client-redshift/models/models_0.ts | 3139 +-- clients/client-redshift/models/models_1.ts | 741 +- ...scribeDefaultClusterParametersPaginator.ts | 51 + .../client-redshift/protocols/Aws_query.ts | 2498 +-- clients/client-rekognition/Rekognition.ts | 86 +- .../client-rekognition/RekognitionClient.ts | 6 + .../DetectProtectiveEquipmentCommand.ts | 73 + clients/client-rekognition/index.ts | 1 + clients/client-rekognition/models/models_0.ts | 1935 +- .../protocols/Aws_json1_1.ts | 341 + .../ResourceGroupsTaggingAPI.ts | 607 +- .../ResourceGroupsTaggingAPIClient.ts | 601 +- .../models/models_0.ts | 190 +- .../client-resource-groups/ResourceGroups.ts | 30 +- .../ResourceGroupsClient.ts | 26 +- .../client-resource-groups/models/models_0.ts | 514 +- .../protocols/Aws_restJson1.ts | 2 +- clients/client-robomaker/RoboMaker.ts | 619 + clients/client-robomaker/RoboMakerClient.ts | 94 +- .../commands/BatchDeleteWorldsCommand.ts | 70 + .../commands/CancelWorldExportJobCommand.ts | 70 + .../CancelWorldGenerationJobCommand.ts | 70 + .../commands/CreateWorldExportJobCommand.ts | 70 + .../CreateWorldGenerationJobCommand.ts | 70 + .../commands/CreateWorldTemplateCommand.ts | 70 + .../commands/DeleteWorldTemplateCommand.ts | 70 + .../commands/DescribeWorldCommand.ts | 70 + .../commands/DescribeWorldExportJobCommand.ts | 70 + .../DescribeWorldGenerationJobCommand.ts | 73 + .../commands/DescribeWorldTemplateCommand.ts | 70 + .../commands/GetWorldTemplateBodyCommand.ts | 70 + .../commands/ListWorldExportJobsCommand.ts | 70 + .../ListWorldGenerationJobsCommand.ts | 70 + .../commands/ListWorldTemplatesCommand.ts | 70 + .../commands/ListWorldsCommand.ts | 70 + .../commands/UpdateWorldTemplateCommand.ts | 70 + clients/client-robomaker/index.ts | 21 + clients/client-robomaker/models/models_0.ts | 4540 ++-- .../ListWorldExportJobsPaginator.ts | 51 + .../ListWorldGenerationJobsPaginator.ts | 51 + .../pagination/ListWorldTemplatesPaginator.ts | 51 + .../pagination/ListWorldsPaginator.ts | 47 + .../protocols/Aws_restJson1.ts | 4232 +++- .../models/models_0.ts | 512 +- clients/client-route-53/Route53.ts | 50 +- clients/client-route-53/models/models_0.ts | 2344 +- .../client-route-53/protocols/Aws_restXml.ts | 634 +- .../client-route53resolver/Route53Resolver.ts | 557 +- .../Route53ResolverClient.ts | 123 +- .../AssociateResolverQueryLogConfigCommand.ts | 76 + .../CreateResolverQueryLogConfigCommand.ts | 73 + .../DeleteResolverQueryLogConfigCommand.ts | 73 + ...sassociateResolverQueryLogConfigCommand.ts | 80 + ...esolverQueryLogConfigAssociationCommand.ts | 80 + .../GetResolverQueryLogConfigCommand.ts | 73 + .../GetResolverQueryLogConfigPolicyCommand.ts | 76 + ...solverQueryLogConfigAssociationsCommand.ts | 80 + .../ListResolverQueryLogConfigsCommand.ts | 73 + .../PutResolverQueryLogConfigPolicyCommand.ts | 76 + clients/client-route53resolver/index.ts | 13 + .../client-route53resolver/models/models_0.ts | 2012 +- clients/client-route53resolver/package.json | 4 +- ...lverQueryLogConfigAssociationsPaginator.ts | 51 + .../ListResolverQueryLogConfigsPaginator.ts | 51 + .../ListTagsForResourcePaginator.ts | 51 + .../protocols/Aws_json1_1.ts | 1860 +- clients/client-s3-control/S3Control.ts | 817 +- clients/client-s3-control/S3ControlClient.ts | 1 + clients/client-s3-control/models/models_0.ts | 1039 +- .../protocols/Aws_restXml.ts | 952 +- clients/client-s3/S3.ts | 799 +- clients/client-s3/S3Client.ts | 18 + .../DeleteBucketOwnershipControlsCommand.ts | 75 + .../GetBucketOwnershipControlsCommand.ts | 75 + .../PutBucketOwnershipControlsCommand.ts | 75 + .../commands/RestoreObjectCommand.ts | 3 +- clients/client-s3/index.ts | 3 + clients/client-s3/models/models_0.ts | 3872 ++-- clients/client-s3/models/models_1.ts | 531 +- clients/client-s3/protocols/Aws_restXml.ts | 2872 ++- clients/client-s3outposts/.gitignore | 14 + clients/client-s3outposts/.npmignore | 4 + clients/client-s3outposts/LICENSE | 201 + clients/client-s3outposts/README.md | 6 + clients/client-s3outposts/S3Outposts.ts | 171 + clients/client-s3outposts/S3OutpostsClient.ts | 204 + .../commands/CreateEndpointCommand.ts | 70 + .../commands/DeleteEndpointCommand.ts | 70 + .../commands/ListEndpointsCommand.ts | 70 + clients/client-s3outposts/endpoints.ts | 81 + clients/client-s3outposts/index.ts | 8 + clients/client-s3outposts/models/index.ts | 1 + clients/client-s3outposts/models/models_0.ts | 231 + clients/client-s3outposts/package.json | 77 + .../pagination/Interfaces.ts | 7 + .../pagination/ListEndpointsPaginator.ts | 51 + .../protocols/Aws_restJson1.ts | 530 + .../runtimeConfig.browser.ts | 31 + .../client-s3outposts/runtimeConfig.native.ts | 14 + .../client-s3outposts/runtimeConfig.shared.ts | 10 + clients/client-s3outposts/runtimeConfig.ts | 33 + clients/client-s3outposts/tsconfig.es.json | 12 + clients/client-s3outposts/tsconfig.json | 28 + .../models/models_0.ts | 86 +- .../protocols/Aws_restJson1.ts | 2 +- .../SageMakerRuntime.ts | 27 +- .../SageMakerRuntimeClient.ts | 4 +- .../models/models_0.ts | 86 +- .../protocols/Aws_restJson1.ts | 9 + clients/client-sagemaker/SageMaker.ts | 151 +- ...eNotebookInstanceLifecycleConfigCommand.ts | 2 +- .../commands/DeleteTagsCommand.ts | 2 +- .../commands/DeleteTrialCommand.ts | 3 +- clients/client-sagemaker/models/models_0.ts | 4030 ++-- clients/client-sagemaker/models/models_1.ts | 5176 ++--- .../client-sagemaker/protocols/Aws_json1_1.ts | 64 +- clients/client-savingsplans/Savingsplans.ts | 37 + .../client-savingsplans/SavingsplansClient.ts | 6 + .../DeleteQueuedSavingsPlanCommand.ts | 70 + clients/client-savingsplans/index.ts | 1 + .../client-savingsplans/models/models_0.ts | 360 +- .../protocols/Aws_restJson1.ts | 104 + clients/client-schemas/Schemas.ts | 31 + clients/client-schemas/SchemasClient.ts | 3 + .../commands/ExportSchemaCommand.ts | 70 + clients/client-schemas/index.ts | 7 + clients/client-schemas/models/models_0.ts | 552 +- .../client-schemas/pagination/Interfaces.ts | 7 + .../pagination/ListDiscoverersPaginator.ts | 51 + .../pagination/ListRegistriesPaginator.ts | 51 + .../pagination/ListSchemaVersionsPaginator.ts | 51 + .../pagination/ListSchemasPaginator.ts | 47 + .../pagination/SearchSchemasPaginator.ts | 51 + .../client-schemas/protocols/Aws_restJson1.ts | 268 +- .../client-secrets-manager/models/models_0.ts | 850 +- clients/client-securityhub/SecurityHub.ts | 24 +- .../client-securityhub/SecurityHubClient.ts | 14 + .../commands/GetInvitationsCountCommand.ts | 2 +- .../commands/GetMasterAccountCommand.ts | 2 +- .../commands/GetMembersCommand.ts | 2 +- .../commands/InviteMembersCommand.ts | 2 +- .../ListEnabledProductsForImportCommand.ts | 2 +- .../commands/ListInvitationsCommand.ts | 2 +- .../commands/ListMembersCommand.ts | 2 +- .../commands/ListTagsForResourceCommand.ts | 2 +- .../commands/TagResourceCommand.ts | 2 +- .../commands/UntagResourceCommand.ts | 2 +- .../commands/UpdateActionTargetCommand.ts | 2 +- .../commands/UpdateFindingsCommand.ts | 2 +- .../commands/UpdateInsightCommand.ts | 2 +- .../UpdateSecurityHubConfigurationCommand.ts | 2 +- .../commands/UpdateStandardsControlCommand.ts | 2 +- clients/client-securityhub/models/index.ts | 1 + clients/client-securityhub/models/models_0.ts | 11497 +++++++--- clients/client-securityhub/models/models_1.ts | 576 + .../protocols/Aws_restJson1.ts | 8561 +++++-- .../index.ts | 4 + .../models/models_0.ts | 658 +- .../pagination/Interfaces.ts | 7 + .../ListApplicationDependenciesPaginator.ts | 53 + .../ListApplicationVersionsPaginator.ts | 53 + .../pagination/ListApplicationsPaginator.ts | 53 + .../protocols/Aws_restJson1.ts | 20 +- .../client-service-catalog/ServiceCatalog.ts | 73 +- .../ServiceCatalogClient.ts | 9 +- .../GetProvisionedProductOutputsCommand.ts | 73 + clients/client-service-catalog/index.ts | 2 + .../client-service-catalog/models/models_0.ts | 2981 +-- .../GetProvisionedProductOutputsPaginator.ts | 51 + .../protocols/Aws_json1_1.ts | 144 + .../client-service-quotas/models/models_0.ts | 336 +- .../ServiceDiscovery.ts | 36 +- .../models/models_0.ts | 1537 +- .../protocols/Aws_json1_1.ts | 3 + clients/client-ses/models/models_0.ts | 1143 +- clients/client-ses/protocols/Aws_query.ts | 890 +- clients/client-sesv2/SESv2.ts | 108 + clients/client-sesv2/SESv2Client.ts | 9 + .../commands/CreateImportJobCommand.ts | 70 + .../commands/GetImportJobCommand.ts | 70 + .../commands/ListImportJobsCommand.ts | 70 + clients/client-sesv2/index.ts | 4 + clients/client-sesv2/models/models_0.ts | 1170 +- .../pagination/ListImportJobsPaginator.ts | 51 + .../client-sesv2/protocols/Aws_restJson1.ts | 431 +- clients/client-sfn/SFN.ts | 2 +- clients/client-sfn/models/models_0.ts | 929 +- clients/client-sfn/protocols/Aws_json1_0.ts | 143 + clients/client-shield/models/models_0.ts | 138 +- clients/client-signer/models/models_0.ts | 284 +- .../client-signer/protocols/Aws_restJson1.ts | 10 +- clients/client-sms/SMS.ts | 315 +- clients/client-sms/SMSClient.ts | 57 +- ...DeleteAppValidationConfigurationCommand.ts | 76 + .../GetAppValidationConfigurationCommand.ts | 73 + .../commands/GetAppValidationOutputCommand.ts | 70 + .../commands/ImportAppCatalogCommand.ts | 70 + .../NotifyAppValidationOutputCommand.ts | 73 + .../PutAppValidationConfigurationCommand.ts | 73 + .../StartOnDemandAppReplicationCommand.ts | 73 + clients/client-sms/index.ts | 7 + clients/client-sms/models/models_0.ts | 1353 +- clients/client-sms/protocols/Aws_json1_1.ts | 1455 +- clients/client-snowball/Snowball.ts | 141 +- clients/client-snowball/SnowballClient.ts | 32 +- .../CreateReturnShippingLabelCommand.ts | 73 + .../DescribeReturnShippingLabelCommand.ts | 73 + .../commands/UpdateJobShipmentStateCommand.ts | 70 + clients/client-snowball/index.ts | 3 + clients/client-snowball/models/models_0.ts | 886 +- .../client-snowball/protocols/Aws_json1_1.ts | 385 + clients/client-sns/SNS.ts | 2 +- clients/client-sns/models/models_0.ts | 397 +- clients/client-sns/protocols/Aws_query.ts | 146 +- clients/client-sqs/SQS.ts | 23 +- clients/client-sqs/SQSClient.ts | 6 +- clients/client-sqs/index.ts | 1 + clients/client-sqs/models/models_0.ts | 556 +- .../pagination/ListQueuesPaginator.ts | 47 + clients/client-sqs/protocols/Aws_query.ts | 316 +- clients/client-ssm/SSM.ts | 53 +- clients/client-ssm/index.ts | 34 + clients/client-ssm/models/models_0.ts | 2919 +-- clients/client-ssm/models/models_1.ts | 3712 +-- ...ibeAssociationExecutionTargetsPaginator.ts | 51 + .../DescribeAssociationExecutionsPaginator.ts | 51 + .../DescribeAutomationExecutionsPaginator.ts | 51 + ...scribeAutomationStepExecutionsPaginator.ts | 51 + .../DescribeAvailablePatchesPaginator.ts | 51 + ...eEffectiveInstanceAssociationsPaginator.ts | 51 + ...fectivePatchesForPatchBaselinePaginator.ts | 51 + ...ribeInstanceAssociationsStatusPaginator.ts | 51 + ...stancePatchStatesForPatchGroupPaginator.ts | 51 + .../DescribeInstancePatchStatesPaginator.ts | 51 + .../DescribeInstancePatchesPaginator.ts | 51 + .../DescribeInventoryDeletionsPaginator.ts | 51 + ...WindowExecutionTaskInvocationsPaginator.ts | 51 + ...aintenanceWindowExecutionTasksPaginator.ts | 51 + ...ibeMaintenanceWindowExecutionsPaginator.ts | 51 + ...cribeMaintenanceWindowSchedulePaginator.ts | 51 + ...scribeMaintenanceWindowTargetsPaginator.ts | 51 + ...DescribeMaintenanceWindowTasksPaginator.ts | 51 + ...ibeMaintenanceWindowsForTargetPaginator.ts | 51 + .../DescribeMaintenanceWindowsPaginator.ts | 51 + .../pagination/DescribeOpsItemsPaginator.ts | 51 + .../DescribePatchBaselinesPaginator.ts | 51 + .../DescribePatchGroupsPaginator.ts | 51 + .../DescribePatchPropertiesPaginator.ts | 51 + .../pagination/DescribeSessionsPaginator.ts | 51 + .../pagination/GetInventoryPaginator.ts | 51 + .../pagination/GetInventorySchemaPaginator.ts | 51 + .../pagination/GetOpsSummaryPaginator.ts | 51 + .../ListAssociationVersionsPaginator.ts | 51 + .../ListComplianceItemsPaginator.ts | 51 + .../ListComplianceSummariesPaginator.ts | 51 + .../ListDocumentVersionsPaginator.ts | 51 + ...istResourceComplianceSummariesPaginator.ts | 51 + .../ListResourceDataSyncPaginator.ts | 51 + clients/client-ssm/protocols/Aws_json1_1.ts | 31 + clients/client-sso-admin/.gitignore | 14 + clients/client-sso-admin/.npmignore | 4 + clients/client-sso-admin/LICENSE | 201 + clients/client-sso-admin/README.md | 6 + clients/client-sso-admin/SSOAdmin.ts | 1032 + clients/client-sso-admin/SSOAdminClient.ts | 348 + ...tachManagedPolicyToPermissionSetCommand.ts | 80 + .../CreateAccountAssignmentCommand.ts | 70 + .../commands/CreatePermissionSetCommand.ts | 70 + .../DeleteAccountAssignmentCommand.ts | 70 + ...eteInlinePolicyFromPermissionSetCommand.ts | 80 + .../commands/DeletePermissionSetCommand.ts | 70 + ...eAccountAssignmentCreationStatusCommand.ts | 83 + ...eAccountAssignmentDeletionStatusCommand.ts | 83 + .../commands/DescribePermissionSetCommand.ts | 70 + ...ePermissionSetProvisioningStatusCommand.ts | 83 + ...chManagedPolicyFromPermissionSetCommand.ts | 80 + .../GetInlinePolicyForPermissionSetCommand.ts | 76 + ...tAccountAssignmentCreationStatusCommand.ts | 80 + ...tAccountAssignmentDeletionStatusCommand.ts | 80 + .../commands/ListAccountAssignmentsCommand.ts | 70 + ...ountsForProvisionedPermissionSetCommand.ts | 83 + .../commands/ListInstancesCommand.ts | 70 + ...stManagedPoliciesInPermissionSetCommand.ts | 80 + ...tPermissionSetProvisioningStatusCommand.ts | 80 + .../commands/ListPermissionSetsCommand.ts | 70 + ...rmissionSetsProvisionedToAccountCommand.ts | 80 + .../commands/ListTagsForResourceCommand.ts | 70 + .../commands/ProvisionPermissionSetCommand.ts | 70 + .../PutInlinePolicyToPermissionSetCommand.ts | 76 + .../commands/TagResourceCommand.ts | 70 + .../commands/UntagResourceCommand.ts | 70 + .../commands/UpdatePermissionSetCommand.ts | 70 + clients/client-sso-admin/endpoints.ts | 81 + clients/client-sso-admin/index.ts | 41 + clients/client-sso-admin/models/index.ts | 1 + clients/client-sso-admin/models/models_0.ts | 1567 ++ clients/client-sso-admin/package.json | 77 + .../client-sso-admin/pagination/Interfaces.ts | 7 + ...ccountAssignmentCreationStatusPaginator.ts | 51 + ...ccountAssignmentDeletionStatusPaginator.ts | 51 + .../ListAccountAssignmentsPaginator.ts | 51 + ...ntsForProvisionedPermissionSetPaginator.ts | 51 + .../pagination/ListInstancesPaginator.ts | 51 + ...ManagedPoliciesInPermissionSetPaginator.ts | 51 + ...ermissionSetProvisioningStatusPaginator.ts | 51 + .../pagination/ListPermissionSetsPaginator.ts | 51 + ...issionSetsProvisionedToAccountPaginator.ts | 51 + .../ListTagsForResourcePaginator.ts | 50 + .../client-sso-admin/protocols/Aws_json1_1.ts | 3988 ++++ .../client-sso-admin/runtimeConfig.browser.ts | 31 + .../client-sso-admin/runtimeConfig.native.ts | 14 + .../client-sso-admin/runtimeConfig.shared.ts | 10 + clients/client-sso-admin/runtimeConfig.ts | 33 + clients/client-sso-admin/tsconfig.es.json | 12 + clients/client-sso-admin/tsconfig.json | 28 + clients/client-sso-oidc/SSOOIDC.ts | 32 - clients/client-sso-oidc/SSOOIDCClient.ts | 20 - clients/client-sso-oidc/models/models_0.ts | 207 +- clients/client-sso/models/models_0.ts | 66 +- clients/client-sso/protocols/Aws_restJson1.ts | 6 +- .../client-storage-gateway/StorageGateway.ts | 159 +- .../StorageGatewayClient.ts | 11 +- .../commands/CreateTapePoolCommand.ts | 70 + .../commands/DeleteTapePoolCommand.ts | 70 + .../commands/ListTapePoolsCommand.ts | 70 + clients/client-storage-gateway/index.ts | 3 + .../client-storage-gateway/models/models_0.ts | 3313 +-- .../protocols/Aws_json1_1.ts | 354 + clients/client-sts/STS.ts | 74 +- clients/client-sts/STSClient.ts | 72 +- clients/client-sts/models/models_0.ts | 576 +- clients/client-sts/protocols/Aws_query.ts | 212 +- clients/client-support/index.ts | 3 + clients/client-support/models/models_0.ts | 438 +- .../pagination/DescribeCasesPaginator.ts | 51 + .../DescribeCommunicationsPaginator.ts | 51 + .../client-support/pagination/Interfaces.ts | 7 + clients/client-swf/models/models_0.ts | 2544 +-- clients/client-synthetics/models/models_0.ts | 467 +- .../protocols/Aws_restJson1.ts | 4 + clients/client-textract/models/models_0.ts | 330 +- .../client-textract/protocols/Aws_json1_1.ts | 30 + clients/client-timestream-query/.gitignore | 14 + clients/client-timestream-query/.npmignore | 4 + clients/client-timestream-query/LICENSE | 201 + clients/client-timestream-query/README.md | 6 + .../TimestreamQuery.ts | 120 + .../TimestreamQueryClient.ts | 206 + .../commands/CancelQueryCommand.ts | 70 + .../commands/DescribeEndpointsCommand.ts | 70 + .../commands/QueryCommand.ts | 63 + clients/client-timestream-query/endpoints.ts | 81 + clients/client-timestream-query/index.ts | 8 + .../client-timestream-query/models/index.ts | 1 + .../models/models_0.ts | 443 + clients/client-timestream-query/package.json | 79 + .../pagination/Interfaces.ts | 7 + .../pagination/QueryPaginator.ts | 47 + .../protocols/Aws_json1_0.ts | 693 + .../runtimeConfig.browser.ts | 31 + .../runtimeConfig.native.ts | 14 + .../runtimeConfig.shared.ts | 10 + .../client-timestream-query/runtimeConfig.ts | 33 + .../client-timestream-query/tsconfig.es.json | 12 + clients/client-timestream-query/tsconfig.json | 28 + clients/client-timestream-write/.gitignore | 14 + clients/client-timestream-write/.npmignore | 4 + clients/client-timestream-write/LICENSE | 201 + clients/client-timestream-write/README.md | 6 + .../TimestreamWrite.ts | 578 + .../TimestreamWriteClient.ts | 249 + .../commands/CreateDatabaseCommand.ts | 70 + .../commands/CreateTableCommand.ts | 70 + .../commands/DeleteDatabaseCommand.ts | 70 + .../commands/DeleteTableCommand.ts | 70 + .../commands/DescribeDatabaseCommand.ts | 70 + .../commands/DescribeEndpointsCommand.ts | 70 + .../commands/DescribeTableCommand.ts | 70 + .../commands/ListDatabasesCommand.ts | 70 + .../commands/ListTablesCommand.ts | 70 + .../commands/ListTagsForResourceCommand.ts | 70 + .../commands/TagResourceCommand.ts | 70 + .../commands/UntagResourceCommand.ts | 70 + .../commands/UpdateDatabaseCommand.ts | 70 + .../commands/UpdateTableCommand.ts | 70 + .../commands/WriteRecordsCommand.ts | 70 + clients/client-timestream-write/endpoints.ts | 81 + clients/client-timestream-write/index.ts | 21 + .../client-timestream-write/models/index.ts | 1 + .../models/models_0.ts | 985 + clients/client-timestream-write/package.json | 77 + .../pagination/Interfaces.ts | 7 + .../pagination/ListDatabasesPaginator.ts | 51 + .../pagination/ListTablesPaginator.ts | 47 + .../protocols/Aws_json1_0.ts | 2270 ++ .../runtimeConfig.browser.ts | 31 + .../runtimeConfig.native.ts | 14 + .../runtimeConfig.shared.ts | 10 + .../client-timestream-write/runtimeConfig.ts | 33 + .../client-timestream-write/tsconfig.es.json | 12 + clients/client-timestream-write/tsconfig.json | 28 + .../models/models_0.ts | 211 +- .../protocols/Aws_restJson1.ts | 67 +- clients/client-transcribe/Transcribe.ts | 178 +- clients/client-transcribe/TranscribeClient.ts | 21 + .../commands/CreateLanguageModelCommand.ts | 70 + .../commands/DeleteLanguageModelCommand.ts | 70 + .../commands/DescribeLanguageModelCommand.ts | 70 + .../commands/ListLanguageModelsCommand.ts | 70 + clients/client-transcribe/index.ts | 5 + clients/client-transcribe/models/models_0.ts | 1550 +- .../pagination/ListLanguageModelsPaginator.ts | 51 + .../protocols/Aws_json1_1.ts | 567 + clients/client-transfer/Transfer.ts | 102 +- clients/client-transfer/TransferClient.ts | 28 +- .../commands/DescribeSecurityPolicyCommand.ts | 70 + .../commands/ListSecurityPoliciesCommand.ts | 70 + clients/client-transfer/index.ts | 3 + clients/client-transfer/models/models_0.ts | 1192 +- .../ListSecurityPoliciesPaginator.ts | 51 + .../client-transfer/protocols/Aws_json1_1.ts | 299 + clients/client-translate/models/models_0.ts | 348 +- .../client-translate/protocols/Aws_json1_1.ts | 8 + .../client-waf-regional/models/models_0.ts | 1160 +- clients/client-waf/models/models_0.ts | 1152 +- clients/client-wafv2/WAFV2.ts | 17 +- clients/client-wafv2/WAFV2Client.ts | 9 +- clients/client-wafv2/models/models_0.ts | 1270 +- clients/client-wafv2/protocols/Aws_json1_1.ts | 5 + clients/client-workdocs/models/models_0.ts | 1090 +- .../protocols/Aws_restJson1.ts | 136 +- clients/client-worklink/models/models_0.ts | 232 +- clients/client-workmail/WorkMail.ts | 658 +- clients/client-workmail/WorkMailClient.ts | 98 +- .../commands/CancelMailboxExportJobCommand.ts | 70 + .../commands/CreateOrganizationCommand.ts | 70 + .../DeleteAccessControlRuleCommand.ts | 70 + .../commands/DeleteOrganizationCommand.ts | 70 + .../commands/DeleteRetentionPolicyCommand.ts | 70 + .../DescribeMailboxExportJobCommand.ts | 70 + .../commands/GetAccessControlEffectCommand.ts | 70 + .../GetDefaultRetentionPolicyCommand.ts | 73 + .../commands/ListAccessControlRulesCommand.ts | 70 + .../commands/ListMailboxExportJobsCommand.ts | 70 + .../commands/ListTagsForResourceCommand.ts | 70 + .../commands/PutAccessControlRuleCommand.ts | 70 + .../commands/PutRetentionPolicyCommand.ts | 70 + .../commands/StartMailboxExportJobCommand.ts | 70 + .../commands/TagResourceCommand.ts | 70 + .../commands/UntagResourceCommand.ts | 70 + clients/client-workmail/index.ts | 17 + clients/client-workmail/models/models_0.ts | 1606 +- clients/client-workmail/package.json | 4 +- .../ListMailboxExportJobsPaginator.ts | 51 + .../client-workmail/protocols/Aws_json1_1.ts | 2814 ++- clients/client-workspaces/WorkSpaces.ts | 360 +- clients/client-workspaces/WorkSpacesClient.ts | 42 + .../AssociateConnectionAliasCommand.ts | 70 + .../commands/CreateConnectionAliasCommand.ts | 70 + .../commands/DeleteConnectionAliasCommand.ts | 70 + ...scribeConnectionAliasPermissionsCommand.ts | 80 + .../DescribeConnectionAliasesCommand.ts | 73 + .../DisassociateConnectionAliasCommand.ts | 73 + .../UpdateConnectionAliasPermissionCommand.ts | 76 + clients/client-workspaces/index.ts | 7 + clients/client-workspaces/models/models_0.ts | 1153 +- .../protocols/Aws_json1_1.ts | 1027 +- clients/client-xray/XRay.ts | 139 +- clients/client-xray/XRayClient.ts | 12 + .../commands/ListTagsForResourceCommand.ts | 70 + .../commands/TagResourceCommand.ts | 70 + .../commands/UntagResourceCommand.ts | 70 + clients/client-xray/index.ts | 3 + clients/client-xray/models/models_0.ts | 1182 +- .../client-xray/protocols/Aws_restJson1.ts | 406 + 1434 files changed, 334167 insertions(+), 185558 deletions(-) create mode 100644 clients/client-acm-pca/commands/DeletePolicyCommand.ts create mode 100644 clients/client-acm-pca/commands/GetPolicyCommand.ts create mode 100644 clients/client-acm-pca/commands/PutPolicyCommand.ts create mode 100644 clients/client-api-gateway/pagination/GetApiKeysPaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetBasePathMappingsPaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetClientCertificatesPaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetDeploymentsPaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetDomainNamesPaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetModelsPaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetResourcesPaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetRestApisPaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetUsagePaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetUsagePlanKeysPaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetUsagePlansPaginator.ts create mode 100644 clients/client-api-gateway/pagination/GetVpcLinksPaginator.ts create mode 100644 clients/client-api-gateway/pagination/Interfaces.ts create mode 100644 clients/client-apigatewayv2/commands/ResetAuthorizersCacheCommand.ts create mode 100644 clients/client-appflow/.gitignore create mode 100644 clients/client-appflow/.npmignore create mode 100644 clients/client-appflow/Appflow.ts create mode 100644 clients/client-appflow/AppflowClient.ts create mode 100644 clients/client-appflow/LICENSE create mode 100644 clients/client-appflow/README.md create mode 100644 clients/client-appflow/commands/CreateConnectorProfileCommand.ts create mode 100644 clients/client-appflow/commands/CreateFlowCommand.ts create mode 100644 clients/client-appflow/commands/DeleteConnectorProfileCommand.ts create mode 100644 clients/client-appflow/commands/DeleteFlowCommand.ts create mode 100644 clients/client-appflow/commands/DescribeConnectorEntityCommand.ts create mode 100644 clients/client-appflow/commands/DescribeConnectorProfilesCommand.ts create mode 100644 clients/client-appflow/commands/DescribeConnectorsCommand.ts create mode 100644 clients/client-appflow/commands/DescribeFlowCommand.ts create mode 100644 clients/client-appflow/commands/DescribeFlowExecutionRecordsCommand.ts create mode 100644 clients/client-appflow/commands/ListConnectorEntitiesCommand.ts create mode 100644 clients/client-appflow/commands/ListFlowsCommand.ts create mode 100644 clients/client-appflow/commands/ListTagsForResourceCommand.ts create mode 100644 clients/client-appflow/commands/StartFlowCommand.ts create mode 100644 clients/client-appflow/commands/StopFlowCommand.ts create mode 100644 clients/client-appflow/commands/TagResourceCommand.ts create mode 100644 clients/client-appflow/commands/UntagResourceCommand.ts create mode 100644 clients/client-appflow/commands/UpdateConnectorProfileCommand.ts create mode 100644 clients/client-appflow/commands/UpdateFlowCommand.ts create mode 100644 clients/client-appflow/endpoints.ts create mode 100644 clients/client-appflow/index.ts create mode 100644 clients/client-appflow/models/index.ts create mode 100644 clients/client-appflow/models/models_0.ts create mode 100644 clients/client-appflow/package.json create mode 100644 clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts create mode 100644 clients/client-appflow/pagination/DescribeConnectorsPaginator.ts create mode 100644 clients/client-appflow/pagination/DescribeFlowExecutionRecordsPaginator.ts create mode 100644 clients/client-appflow/pagination/Interfaces.ts create mode 100644 clients/client-appflow/pagination/ListFlowsPaginator.ts create mode 100644 clients/client-appflow/protocols/Aws_restJson1.ts create mode 100644 clients/client-appflow/runtimeConfig.browser.ts create mode 100644 clients/client-appflow/runtimeConfig.native.ts create mode 100644 clients/client-appflow/runtimeConfig.shared.ts create mode 100644 clients/client-appflow/runtimeConfig.ts create mode 100644 clients/client-appflow/tsconfig.es.json create mode 100644 clients/client-appflow/tsconfig.json create mode 100644 clients/client-batch/commands/ListTagsForResourceCommand.ts create mode 100644 clients/client-batch/commands/TagResourceCommand.ts create mode 100644 clients/client-batch/commands/UntagResourceCommand.ts create mode 100644 clients/client-budgets/commands/CreateBudgetActionCommand.ts create mode 100644 clients/client-budgets/commands/DeleteBudgetActionCommand.ts create mode 100644 clients/client-budgets/commands/DescribeBudgetActionCommand.ts create mode 100644 clients/client-budgets/commands/DescribeBudgetActionHistoriesCommand.ts create mode 100644 clients/client-budgets/commands/DescribeBudgetActionsForAccountCommand.ts create mode 100644 clients/client-budgets/commands/DescribeBudgetActionsForBudgetCommand.ts create mode 100644 clients/client-budgets/commands/ExecuteBudgetActionCommand.ts create mode 100644 clients/client-budgets/commands/UpdateBudgetActionCommand.ts create mode 100644 clients/client-budgets/pagination/DescribeBudgetActionHistoriesPaginator.ts create mode 100644 clients/client-budgets/pagination/DescribeBudgetActionsForAccountPaginator.ts create mode 100644 clients/client-budgets/pagination/DescribeBudgetActionsForBudgetPaginator.ts create mode 100644 clients/client-budgets/pagination/DescribeBudgetsPaginator.ts create mode 100644 clients/client-budgets/pagination/DescribeNotificationsForBudgetPaginator.ts create mode 100644 clients/client-budgets/pagination/DescribeSubscribersForNotificationPaginator.ts create mode 100644 clients/client-budgets/pagination/Interfaces.ts create mode 100644 clients/client-cloudformation/pagination/ListStackInstancesPaginator.ts create mode 100644 clients/client-cloudformation/pagination/ListStackSetOperationResultsPaginator.ts create mode 100644 clients/client-cloudformation/pagination/ListStackSetOperationsPaginator.ts create mode 100644 clients/client-cloudformation/pagination/ListStackSetsPaginator.ts create mode 100644 clients/client-cloudfront/commands/CreateMonitoringSubscriptionCommand.ts create mode 100644 clients/client-cloudfront/commands/CreateRealtimeLogConfigCommand.ts create mode 100644 clients/client-cloudfront/commands/DeleteMonitoringSubscriptionCommand.ts create mode 100644 clients/client-cloudfront/commands/DeleteRealtimeLogConfigCommand.ts create mode 100644 clients/client-cloudfront/commands/GetMonitoringSubscriptionCommand.ts create mode 100644 clients/client-cloudfront/commands/GetRealtimeLogConfigCommand.ts create mode 100644 clients/client-cloudfront/commands/ListDistributionsByRealtimeLogConfigCommand.ts create mode 100644 clients/client-cloudfront/commands/ListRealtimeLogConfigsCommand.ts create mode 100644 clients/client-cloudfront/commands/UpdateRealtimeLogConfigCommand.ts create mode 100644 clients/client-codeguru-reviewer/commands/CreateCodeReviewCommand.ts create mode 100644 clients/client-comprehend/commands/DescribePiiEntitiesDetectionJobCommand.ts create mode 100644 clients/client-comprehend/commands/DetectPiiEntitiesCommand.ts create mode 100644 clients/client-comprehend/commands/ListPiiEntitiesDetectionJobsCommand.ts create mode 100644 clients/client-comprehend/commands/StartPiiEntitiesDetectionJobCommand.ts create mode 100644 clients/client-comprehend/commands/StopPiiEntitiesDetectionJobCommand.ts create mode 100644 clients/client-connect/commands/AssociateRoutingProfileQueuesCommand.ts create mode 100644 clients/client-connect/commands/CreateContactFlowCommand.ts create mode 100644 clients/client-connect/commands/CreateRoutingProfileCommand.ts create mode 100644 clients/client-connect/commands/DescribeContactFlowCommand.ts create mode 100644 clients/client-connect/commands/DescribeRoutingProfileCommand.ts create mode 100644 clients/client-connect/commands/DisassociateRoutingProfileQueuesCommand.ts create mode 100644 clients/client-connect/commands/ListPromptsCommand.ts create mode 100644 clients/client-connect/commands/ListRoutingProfileQueuesCommand.ts create mode 100644 clients/client-connect/commands/UpdateContactFlowContentCommand.ts create mode 100644 clients/client-connect/commands/UpdateContactFlowNameCommand.ts create mode 100644 clients/client-connect/commands/UpdateRoutingProfileConcurrencyCommand.ts create mode 100644 clients/client-connect/commands/UpdateRoutingProfileDefaultOutboundQueueCommand.ts create mode 100644 clients/client-connect/commands/UpdateRoutingProfileNameCommand.ts create mode 100644 clients/client-connect/commands/UpdateRoutingProfileQueuesCommand.ts create mode 100644 clients/client-connect/pagination/ListPromptsPaginator.ts create mode 100644 clients/client-connect/pagination/ListRoutingProfileQueuesPaginator.ts create mode 100644 clients/client-cost-explorer/commands/CreateAnomalyMonitorCommand.ts create mode 100644 clients/client-cost-explorer/commands/CreateAnomalySubscriptionCommand.ts create mode 100644 clients/client-cost-explorer/commands/DeleteAnomalyMonitorCommand.ts create mode 100644 clients/client-cost-explorer/commands/DeleteAnomalySubscriptionCommand.ts create mode 100644 clients/client-cost-explorer/commands/GetAnomaliesCommand.ts create mode 100644 clients/client-cost-explorer/commands/GetAnomalyMonitorsCommand.ts create mode 100644 clients/client-cost-explorer/commands/GetAnomalySubscriptionsCommand.ts create mode 100644 clients/client-cost-explorer/commands/ProvideAnomalyFeedbackCommand.ts create mode 100644 clients/client-cost-explorer/commands/UpdateAnomalyMonitorCommand.ts create mode 100644 clients/client-cost-explorer/commands/UpdateAnomalySubscriptionCommand.ts create mode 100644 clients/client-dataexchange/pagination/Interfaces.ts create mode 100644 clients/client-dataexchange/pagination/ListDataSetRevisionsPaginator.ts create mode 100644 clients/client-dataexchange/pagination/ListDataSetsPaginator.ts create mode 100644 clients/client-dataexchange/pagination/ListJobsPaginator.ts create mode 100644 clients/client-dataexchange/pagination/ListRevisionAssetsPaginator.ts create mode 100644 clients/client-docdb/pagination/DescribeCertificatesPaginator.ts create mode 100644 clients/client-docdb/pagination/DescribeDBClusterParameterGroupsPaginator.ts create mode 100644 clients/client-docdb/pagination/DescribeDBClusterParametersPaginator.ts create mode 100644 clients/client-docdb/pagination/DescribeDBClusterSnapshotsPaginator.ts create mode 100644 clients/client-docdb/pagination/DescribePendingMaintenanceActionsPaginator.ts create mode 100644 clients/client-ec2/commands/CreateCarrierGatewayCommand.ts create mode 100644 clients/client-ec2/commands/CreateTransitGatewayPrefixListReferenceCommand.ts create mode 100644 clients/client-ec2/commands/DeleteCarrierGatewayCommand.ts create mode 100644 clients/client-ec2/commands/DeleteTransitGatewayPrefixListReferenceCommand.ts create mode 100644 clients/client-ec2/commands/DescribeCarrierGatewaysCommand.ts create mode 100644 clients/client-ec2/commands/GetTransitGatewayPrefixListReferencesCommand.ts create mode 100644 clients/client-ec2/commands/ModifyTransitGatewayCommand.ts create mode 100644 clients/client-ec2/commands/ModifyTransitGatewayPrefixListReferenceCommand.ts create mode 100644 clients/client-ec2/commands/ModifyVpnConnectionOptionsCommand.ts create mode 100644 clients/client-ec2/pagination/DescribeCapacityReservationsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeCarrierGatewaysPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeClassicLinkInstancesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeClientVpnAuthorizationRulesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeClientVpnConnectionsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeClientVpnEndpointsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeClientVpnRoutesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeClientVpnTargetNetworksPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeCoipPoolsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeDhcpOptionsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeEgressOnlyInternetGatewaysPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeExportImageTasksPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeFastSnapshotRestoresPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeFleetsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeFlowLogsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeFpgaImagesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeHostReservationOfferingsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeHostReservationsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeHostsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeIamInstanceProfileAssociationsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeImportImageTasksPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeImportSnapshotTasksPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeInstanceCreditSpecificationsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeInstanceStatusPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeInstanceTypeOfferingsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeInstanceTypesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeInstancesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeInternetGatewaysPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeIpv6PoolsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeLaunchTemplateVersionsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeLaunchTemplatesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVpcAssociationsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeLocalGatewayRouteTablesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfaceGroupsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfacesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeLocalGatewaysPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeManagedPrefixListsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeMovingAddressesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeNatGatewaysPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeNetworkAclsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeNetworkInterfacePermissionsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeNetworkInterfacesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribePrefixListsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribePrincipalIdFormatPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribePublicIpv4PoolsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeReservedInstancesModificationsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeReservedInstancesOfferingsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeRouteTablesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeScheduledInstanceAvailabilityPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeScheduledInstancesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeSecurityGroupsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeSnapshotsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeSpotFleetRequestsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeSpotInstanceRequestsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeSpotPriceHistoryPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeStaleSecurityGroupsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeSubnetsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeTagsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeTrafficMirrorFiltersPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeTrafficMirrorSessionsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeTrafficMirrorTargetsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeTransitGatewayAttachmentsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeTransitGatewayMulticastDomainsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeTransitGatewayPeeringAttachmentsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeTransitGatewayRouteTablesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeTransitGatewayVpcAttachmentsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeTransitGatewaysPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVolumeStatusPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVolumesModificationsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVolumesPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVpcClassicLinkDnsSupportPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVpcEndpointConnectionNotificationsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVpcEndpointConnectionsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVpcEndpointServiceConfigurationsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVpcEndpointServicePermissionsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVpcEndpointsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVpcPeeringConnectionsPaginator.ts create mode 100644 clients/client-ec2/pagination/DescribeVpcsPaginator.ts create mode 100644 clients/client-ec2/pagination/GetAssociatedIpv6PoolCidrsPaginator.ts create mode 100644 clients/client-ec2/pagination/GetGroupsForCapacityReservationPaginator.ts create mode 100644 clients/client-ec2/pagination/GetManagedPrefixListAssociationsPaginator.ts create mode 100644 clients/client-ec2/pagination/GetManagedPrefixListEntriesPaginator.ts create mode 100644 clients/client-ec2/pagination/GetTransitGatewayAttachmentPropagationsPaginator.ts create mode 100644 clients/client-ec2/pagination/GetTransitGatewayMulticastDomainAssociationsPaginator.ts create mode 100644 clients/client-ec2/pagination/GetTransitGatewayPrefixListReferencesPaginator.ts create mode 100644 clients/client-ec2/pagination/GetTransitGatewayRouteTableAssociationsPaginator.ts create mode 100644 clients/client-ec2/pagination/GetTransitGatewayRouteTablePropagationsPaginator.ts create mode 100644 clients/client-ec2/pagination/Interfaces.ts create mode 100644 clients/client-ec2/pagination/SearchLocalGatewayRoutesPaginator.ts create mode 100644 clients/client-ec2/pagination/SearchTransitGatewayMulticastGroupsPaginator.ts create mode 100644 clients/client-elasticache/commands/CreateUserCommand.ts create mode 100644 clients/client-elasticache/commands/CreateUserGroupCommand.ts create mode 100644 clients/client-elasticache/commands/DeleteUserCommand.ts create mode 100644 clients/client-elasticache/commands/DeleteUserGroupCommand.ts create mode 100644 clients/client-elasticache/commands/DescribeUserGroupsCommand.ts create mode 100644 clients/client-elasticache/commands/DescribeUsersCommand.ts create mode 100644 clients/client-elasticache/commands/ModifyUserCommand.ts create mode 100644 clients/client-elasticache/commands/ModifyUserGroupCommand.ts create mode 100644 clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts create mode 100644 clients/client-elasticache/pagination/DescribeUserGroupsPaginator.ts create mode 100644 clients/client-elasticache/pagination/DescribeUsersPaginator.ts create mode 100644 clients/client-emr/commands/DescribeNotebookExecutionCommand.ts create mode 100644 clients/client-emr/commands/ListNotebookExecutionsCommand.ts create mode 100644 clients/client-emr/commands/StartNotebookExecutionCommand.ts create mode 100644 clients/client-emr/commands/StopNotebookExecutionCommand.ts create mode 100644 clients/client-emr/pagination/ListNotebookExecutionsPaginator.ts create mode 100644 clients/client-gamelift/commands/DescribeGameServerInstancesCommand.ts create mode 100644 clients/client-gamelift/pagination/DescribeFleetAttributesPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeFleetCapacityPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeFleetEventsPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeFleetUtilizationPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeGameServerInstancesPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeGameSessionDetailsPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeGameSessionQueuesPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeGameSessionsPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeInstancesPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeMatchmakingConfigurationsPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeMatchmakingRuleSetsPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribePlayerSessionsPaginator.ts create mode 100644 clients/client-gamelift/pagination/DescribeScalingPoliciesPaginator.ts create mode 100644 clients/client-gamelift/pagination/Interfaces.ts create mode 100644 clients/client-gamelift/pagination/ListAliasesPaginator.ts create mode 100644 clients/client-gamelift/pagination/ListBuildsPaginator.ts create mode 100644 clients/client-gamelift/pagination/ListFleetsPaginator.ts create mode 100644 clients/client-gamelift/pagination/ListGameServerGroupsPaginator.ts create mode 100644 clients/client-gamelift/pagination/ListGameServersPaginator.ts create mode 100644 clients/client-gamelift/pagination/ListScriptsPaginator.ts create mode 100644 clients/client-gamelift/pagination/SearchGameSessionsPaginator.ts create mode 100644 clients/client-glue/commands/BatchUpdatePartitionCommand.ts create mode 100644 clients/client-glue/commands/GetPartitionIndexesCommand.ts create mode 100644 clients/client-glue/pagination/GetPartitionIndexesPaginator.ts create mode 100644 clients/client-glue/pagination/GetSecurityConfigurationsPaginator.ts create mode 100644 clients/client-greengrass/commands/GetThingRuntimeConfigurationCommand.ts create mode 100644 clients/client-greengrass/commands/UpdateThingRuntimeConfigurationCommand.ts create mode 100644 clients/client-health/pagination/DescribeAffectedAccountsForOrganizationPaginator.ts create mode 100644 clients/client-health/pagination/DescribeAffectedEntitiesForOrganizationPaginator.ts create mode 100644 clients/client-health/pagination/DescribeAffectedEntitiesPaginator.ts create mode 100644 clients/client-health/pagination/DescribeEventAggregatesPaginator.ts create mode 100644 clients/client-health/pagination/DescribeEventTypesPaginator.ts create mode 100644 clients/client-health/pagination/DescribeEventsForOrganizationPaginator.ts create mode 100644 clients/client-health/pagination/DescribeEventsPaginator.ts create mode 100644 clients/client-health/pagination/Interfaces.ts create mode 100644 clients/client-identitystore/.gitignore create mode 100644 clients/client-identitystore/.npmignore create mode 100644 clients/client-identitystore/Identitystore.ts create mode 100644 clients/client-identitystore/IdentitystoreClient.ts create mode 100644 clients/client-identitystore/LICENSE create mode 100644 clients/client-identitystore/README.md create mode 100644 clients/client-identitystore/commands/DescribeGroupCommand.ts create mode 100644 clients/client-identitystore/commands/DescribeUserCommand.ts create mode 100644 clients/client-identitystore/commands/ListGroupsCommand.ts create mode 100644 clients/client-identitystore/commands/ListUsersCommand.ts create mode 100644 clients/client-identitystore/endpoints.ts create mode 100644 clients/client-identitystore/index.ts create mode 100644 clients/client-identitystore/models/index.ts create mode 100644 clients/client-identitystore/models/models_0.ts create mode 100644 clients/client-identitystore/package.json create mode 100644 clients/client-identitystore/pagination/Interfaces.ts create mode 100644 clients/client-identitystore/pagination/ListGroupsPaginator.ts create mode 100644 clients/client-identitystore/pagination/ListUsersPaginator.ts create mode 100644 clients/client-identitystore/protocols/Aws_json1_1.ts create mode 100644 clients/client-identitystore/runtimeConfig.browser.ts create mode 100644 clients/client-identitystore/runtimeConfig.native.ts create mode 100644 clients/client-identitystore/runtimeConfig.shared.ts create mode 100644 clients/client-identitystore/runtimeConfig.ts create mode 100644 clients/client-identitystore/tsconfig.es.json create mode 100644 clients/client-identitystore/tsconfig.json create mode 100644 clients/client-imagebuilder/pagination/Interfaces.ts create mode 100644 clients/client-imagebuilder/pagination/ListComponentBuildVersionsPaginator.ts create mode 100644 clients/client-imagebuilder/pagination/ListComponentsPaginator.ts create mode 100644 clients/client-imagebuilder/pagination/ListDistributionConfigurationsPaginator.ts create mode 100644 clients/client-imagebuilder/pagination/ListImageBuildVersionsPaginator.ts create mode 100644 clients/client-imagebuilder/pagination/ListImagePipelineImagesPaginator.ts create mode 100644 clients/client-imagebuilder/pagination/ListImagePipelinesPaginator.ts create mode 100644 clients/client-imagebuilder/pagination/ListImageRecipesPaginator.ts create mode 100644 clients/client-imagebuilder/pagination/ListImagesPaginator.ts create mode 100644 clients/client-imagebuilder/pagination/ListInfrastructureConfigurationsPaginator.ts create mode 100644 clients/client-iot/commands/CreateAuditSuppressionCommand.ts create mode 100644 clients/client-iot/commands/DeleteAuditSuppressionCommand.ts create mode 100644 clients/client-iot/commands/DescribeAuditSuppressionCommand.ts create mode 100644 clients/client-iot/commands/ListAuditSuppressionsCommand.ts create mode 100644 clients/client-iot/commands/UpdateAuditSuppressionCommand.ts create mode 100644 clients/client-iot/pagination/Interfaces.ts create mode 100644 clients/client-iot/pagination/ListActiveViolationsPaginator.ts create mode 100644 clients/client-iot/pagination/ListAttachedPoliciesPaginator.ts create mode 100644 clients/client-iot/pagination/ListAuditFindingsPaginator.ts create mode 100644 clients/client-iot/pagination/ListAuditMitigationActionsExecutionsPaginator.ts create mode 100644 clients/client-iot/pagination/ListAuditMitigationActionsTasksPaginator.ts create mode 100644 clients/client-iot/pagination/ListAuditSuppressionsPaginator.ts create mode 100644 clients/client-iot/pagination/ListAuditTasksPaginator.ts create mode 100644 clients/client-iot/pagination/ListAuthorizersPaginator.ts create mode 100644 clients/client-iot/pagination/ListBillingGroupsPaginator.ts create mode 100644 clients/client-iot/pagination/ListCACertificatesPaginator.ts create mode 100644 clients/client-iot/pagination/ListCertificatesByCAPaginator.ts create mode 100644 clients/client-iot/pagination/ListCertificatesPaginator.ts create mode 100644 clients/client-iot/pagination/ListDimensionsPaginator.ts create mode 100644 clients/client-iot/pagination/ListDomainConfigurationsPaginator.ts create mode 100644 clients/client-iot/pagination/ListIndicesPaginator.ts create mode 100644 clients/client-iot/pagination/ListJobExecutionsForJobPaginator.ts create mode 100644 clients/client-iot/pagination/ListJobExecutionsForThingPaginator.ts create mode 100644 clients/client-iot/pagination/ListJobsPaginator.ts create mode 100644 clients/client-iot/pagination/ListMitigationActionsPaginator.ts create mode 100644 clients/client-iot/pagination/ListOTAUpdatesPaginator.ts create mode 100644 clients/client-iot/pagination/ListOutgoingCertificatesPaginator.ts create mode 100644 clients/client-iot/pagination/ListPoliciesPaginator.ts create mode 100644 clients/client-iot/pagination/ListPolicyPrincipalsPaginator.ts create mode 100644 clients/client-iot/pagination/ListPrincipalPoliciesPaginator.ts create mode 100644 clients/client-iot/pagination/ListPrincipalThingsPaginator.ts create mode 100644 clients/client-iot/pagination/ListProvisioningTemplateVersionsPaginator.ts create mode 100644 clients/client-iot/pagination/ListProvisioningTemplatesPaginator.ts create mode 100644 clients/client-iot/pagination/ListRoleAliasesPaginator.ts create mode 100644 clients/client-iot/pagination/ListScheduledAuditsPaginator.ts create mode 100644 clients/client-iot/pagination/ListSecurityProfilesForTargetPaginator.ts create mode 100644 clients/client-iot/pagination/ListSecurityProfilesPaginator.ts create mode 100644 clients/client-iot/pagination/ListStreamsPaginator.ts create mode 100644 clients/client-iot/pagination/ListTagsForResourcePaginator.ts create mode 100644 clients/client-iot/pagination/ListTargetsForPolicyPaginator.ts create mode 100644 clients/client-iot/pagination/ListTargetsForSecurityProfilePaginator.ts create mode 100644 clients/client-iot/pagination/ListThingGroupsForThingPaginator.ts create mode 100644 clients/client-iot/pagination/ListThingGroupsPaginator.ts create mode 100644 clients/client-iot/pagination/ListThingRegistrationTaskReportsPaginator.ts create mode 100644 clients/client-iot/pagination/ListThingRegistrationTasksPaginator.ts create mode 100644 clients/client-iot/pagination/ListThingTypesPaginator.ts create mode 100644 clients/client-iot/pagination/ListThingsInBillingGroupPaginator.ts create mode 100644 clients/client-iot/pagination/ListThingsInThingGroupPaginator.ts create mode 100644 clients/client-iot/pagination/ListThingsPaginator.ts create mode 100644 clients/client-iot/pagination/ListTopicRuleDestinationsPaginator.ts create mode 100644 clients/client-iot/pagination/ListTopicRulesPaginator.ts create mode 100644 clients/client-iot/pagination/ListV2LoggingLevelsPaginator.ts create mode 100644 clients/client-iot/pagination/ListViolationEventsPaginator.ts create mode 100644 clients/client-iotsitewise/commands/CreatePresignedPortalUrlCommand.ts create mode 100644 clients/client-ivs/commands/DeletePlaybackKeyPairCommand.ts create mode 100644 clients/client-ivs/commands/GetPlaybackKeyPairCommand.ts create mode 100644 clients/client-ivs/commands/ImportPlaybackKeyPairCommand.ts create mode 100644 clients/client-ivs/commands/ListPlaybackKeyPairsCommand.ts create mode 100644 clients/client-ivs/pagination/ListPlaybackKeyPairsPaginator.ts create mode 100644 clients/client-kafka/commands/BatchAssociateScramSecretCommand.ts create mode 100644 clients/client-kafka/commands/BatchDisassociateScramSecretCommand.ts create mode 100644 clients/client-kafka/commands/DeleteConfigurationCommand.ts create mode 100644 clients/client-kafka/commands/ListScramSecretsCommand.ts create mode 100644 clients/client-kafka/commands/UpdateConfigurationCommand.ts create mode 100644 clients/client-kafka/pagination/Interfaces.ts create mode 100644 clients/client-kafka/pagination/ListClusterOperationsPaginator.ts create mode 100644 clients/client-kafka/pagination/ListClustersPaginator.ts create mode 100644 clients/client-kafka/pagination/ListConfigurationRevisionsPaginator.ts create mode 100644 clients/client-kafka/pagination/ListConfigurationsPaginator.ts create mode 100644 clients/client-kafka/pagination/ListKafkaVersionsPaginator.ts create mode 100644 clients/client-kafka/pagination/ListNodesPaginator.ts create mode 100644 clients/client-kafka/pagination/ListScramSecretsPaginator.ts create mode 100644 clients/client-macie2/pagination/DescribeBucketsPaginator.ts create mode 100644 clients/client-macie2/pagination/GetUsageStatisticsPaginator.ts create mode 100644 clients/client-macie2/pagination/Interfaces.ts create mode 100644 clients/client-macie2/pagination/ListClassificationJobsPaginator.ts create mode 100644 clients/client-macie2/pagination/ListCustomDataIdentifiersPaginator.ts create mode 100644 clients/client-macie2/pagination/ListFindingsFiltersPaginator.ts create mode 100644 clients/client-macie2/pagination/ListFindingsPaginator.ts create mode 100644 clients/client-macie2/pagination/ListInvitationsPaginator.ts create mode 100644 clients/client-macie2/pagination/ListMembersPaginator.ts create mode 100644 clients/client-macie2/pagination/ListOrganizationAdminAccountsPaginator.ts create mode 100644 clients/client-mediaconnect/commands/DescribeOfferingCommand.ts create mode 100644 clients/client-mediaconnect/commands/DescribeReservationCommand.ts create mode 100644 clients/client-mediaconnect/commands/ListOfferingsCommand.ts create mode 100644 clients/client-mediaconnect/commands/ListReservationsCommand.ts create mode 100644 clients/client-mediaconnect/commands/PurchaseOfferingCommand.ts create mode 100644 clients/client-mediaconnect/pagination/Interfaces.ts create mode 100644 clients/client-mediaconnect/pagination/ListEntitlementsPaginator.ts create mode 100644 clients/client-mediaconnect/pagination/ListFlowsPaginator.ts create mode 100644 clients/client-mediaconnect/pagination/ListOfferingsPaginator.ts create mode 100644 clients/client-mediaconnect/pagination/ListReservationsPaginator.ts create mode 100644 clients/client-mediaconvert/pagination/DescribeEndpointsPaginator.ts create mode 100644 clients/client-mediaconvert/pagination/Interfaces.ts create mode 100644 clients/client-mediaconvert/pagination/ListJobTemplatesPaginator.ts create mode 100644 clients/client-mediaconvert/pagination/ListJobsPaginator.ts create mode 100644 clients/client-mediaconvert/pagination/ListPresetsPaginator.ts create mode 100644 clients/client-mediaconvert/pagination/ListQueuesPaginator.ts create mode 100644 clients/client-medialive/commands/AcceptInputDeviceTransferCommand.ts create mode 100644 clients/client-medialive/commands/BatchDeleteCommand.ts create mode 100644 clients/client-medialive/commands/BatchStartCommand.ts create mode 100644 clients/client-medialive/commands/BatchStopCommand.ts create mode 100644 clients/client-medialive/commands/CancelInputDeviceTransferCommand.ts create mode 100644 clients/client-medialive/commands/ListInputDeviceTransfersCommand.ts create mode 100644 clients/client-medialive/commands/RejectInputDeviceTransferCommand.ts create mode 100644 clients/client-medialive/commands/TransferInputDeviceCommand.ts create mode 100644 clients/client-medialive/pagination/DescribeSchedulePaginator.ts create mode 100644 clients/client-medialive/pagination/Interfaces.ts create mode 100644 clients/client-medialive/pagination/ListChannelsPaginator.ts create mode 100644 clients/client-medialive/pagination/ListInputDeviceTransfersPaginator.ts create mode 100644 clients/client-medialive/pagination/ListInputDevicesPaginator.ts create mode 100644 clients/client-medialive/pagination/ListInputSecurityGroupsPaginator.ts create mode 100644 clients/client-medialive/pagination/ListInputsPaginator.ts create mode 100644 clients/client-medialive/pagination/ListMultiplexProgramsPaginator.ts create mode 100644 clients/client-medialive/pagination/ListMultiplexesPaginator.ts create mode 100644 clients/client-medialive/pagination/ListOfferingsPaginator.ts create mode 100644 clients/client-medialive/pagination/ListReservationsPaginator.ts create mode 100644 clients/client-mediapackage-vod/pagination/Interfaces.ts create mode 100644 clients/client-mediapackage-vod/pagination/ListAssetsPaginator.ts create mode 100644 clients/client-mediapackage-vod/pagination/ListPackagingConfigurationsPaginator.ts create mode 100644 clients/client-mediapackage-vod/pagination/ListPackagingGroupsPaginator.ts create mode 100644 clients/client-mediapackage/commands/ConfigureLogsCommand.ts create mode 100644 clients/client-mediapackage/pagination/Interfaces.ts create mode 100644 clients/client-mediapackage/pagination/ListChannelsPaginator.ts create mode 100644 clients/client-mediapackage/pagination/ListHarvestJobsPaginator.ts create mode 100644 clients/client-mediapackage/pagination/ListOriginEndpointsPaginator.ts create mode 100644 clients/client-mq/pagination/Interfaces.ts create mode 100644 clients/client-mq/pagination/ListBrokersPaginator.ts create mode 100644 clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts create mode 100644 clients/client-personalize-events/commands/PutItemsCommand.ts create mode 100644 clients/client-personalize-events/commands/PutUsersCommand.ts create mode 100644 clients/client-quicksight/commands/CreateAnalysisCommand.ts create mode 100644 clients/client-quicksight/commands/DeleteAnalysisCommand.ts create mode 100644 clients/client-quicksight/commands/DescribeAnalysisCommand.ts create mode 100644 clients/client-quicksight/commands/DescribeAnalysisPermissionsCommand.ts create mode 100644 clients/client-quicksight/commands/ListAnalysesCommand.ts create mode 100644 clients/client-quicksight/commands/RestoreAnalysisCommand.ts create mode 100644 clients/client-quicksight/commands/SearchAnalysesCommand.ts create mode 100644 clients/client-quicksight/commands/UpdateAnalysisCommand.ts create mode 100644 clients/client-quicksight/commands/UpdateAnalysisPermissionsCommand.ts create mode 100644 clients/client-quicksight/pagination/ListAnalysesPaginator.ts create mode 100644 clients/client-quicksight/pagination/SearchAnalysesPaginator.ts create mode 100644 clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts create mode 100644 clients/client-redshift-data/.gitignore create mode 100644 clients/client-redshift-data/.npmignore create mode 100644 clients/client-redshift-data/LICENSE create mode 100644 clients/client-redshift-data/README.md create mode 100644 clients/client-redshift-data/RedshiftData.ts create mode 100644 clients/client-redshift-data/RedshiftDataClient.ts create mode 100644 clients/client-redshift-data/commands/CancelStatementCommand.ts create mode 100644 clients/client-redshift-data/commands/DescribeStatementCommand.ts create mode 100644 clients/client-redshift-data/commands/DescribeTableCommand.ts create mode 100644 clients/client-redshift-data/commands/ExecuteStatementCommand.ts create mode 100644 clients/client-redshift-data/commands/GetStatementResultCommand.ts create mode 100644 clients/client-redshift-data/commands/ListDatabasesCommand.ts create mode 100644 clients/client-redshift-data/commands/ListSchemasCommand.ts create mode 100644 clients/client-redshift-data/commands/ListStatementsCommand.ts create mode 100644 clients/client-redshift-data/commands/ListTablesCommand.ts create mode 100644 clients/client-redshift-data/endpoints.ts create mode 100644 clients/client-redshift-data/index.ts create mode 100644 clients/client-redshift-data/models/index.ts create mode 100644 clients/client-redshift-data/models/models_0.ts create mode 100644 clients/client-redshift-data/package.json create mode 100644 clients/client-redshift-data/pagination/DescribeTablePaginator.ts create mode 100644 clients/client-redshift-data/pagination/GetStatementResultPaginator.ts create mode 100644 clients/client-redshift-data/pagination/Interfaces.ts create mode 100644 clients/client-redshift-data/pagination/ListDatabasesPaginator.ts create mode 100644 clients/client-redshift-data/pagination/ListSchemasPaginator.ts create mode 100644 clients/client-redshift-data/pagination/ListStatementsPaginator.ts create mode 100644 clients/client-redshift-data/pagination/ListTablesPaginator.ts create mode 100644 clients/client-redshift-data/protocols/Aws_json1_1.ts create mode 100644 clients/client-redshift-data/runtimeConfig.browser.ts create mode 100644 clients/client-redshift-data/runtimeConfig.native.ts create mode 100644 clients/client-redshift-data/runtimeConfig.shared.ts create mode 100644 clients/client-redshift-data/runtimeConfig.ts create mode 100644 clients/client-redshift-data/tsconfig.es.json create mode 100644 clients/client-redshift-data/tsconfig.json create mode 100644 clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts create mode 100644 clients/client-rekognition/commands/DetectProtectiveEquipmentCommand.ts create mode 100644 clients/client-robomaker/commands/BatchDeleteWorldsCommand.ts create mode 100644 clients/client-robomaker/commands/CancelWorldExportJobCommand.ts create mode 100644 clients/client-robomaker/commands/CancelWorldGenerationJobCommand.ts create mode 100644 clients/client-robomaker/commands/CreateWorldExportJobCommand.ts create mode 100644 clients/client-robomaker/commands/CreateWorldGenerationJobCommand.ts create mode 100644 clients/client-robomaker/commands/CreateWorldTemplateCommand.ts create mode 100644 clients/client-robomaker/commands/DeleteWorldTemplateCommand.ts create mode 100644 clients/client-robomaker/commands/DescribeWorldCommand.ts create mode 100644 clients/client-robomaker/commands/DescribeWorldExportJobCommand.ts create mode 100644 clients/client-robomaker/commands/DescribeWorldGenerationJobCommand.ts create mode 100644 clients/client-robomaker/commands/DescribeWorldTemplateCommand.ts create mode 100644 clients/client-robomaker/commands/GetWorldTemplateBodyCommand.ts create mode 100644 clients/client-robomaker/commands/ListWorldExportJobsCommand.ts create mode 100644 clients/client-robomaker/commands/ListWorldGenerationJobsCommand.ts create mode 100644 clients/client-robomaker/commands/ListWorldTemplatesCommand.ts create mode 100644 clients/client-robomaker/commands/ListWorldsCommand.ts create mode 100644 clients/client-robomaker/commands/UpdateWorldTemplateCommand.ts create mode 100644 clients/client-robomaker/pagination/ListWorldExportJobsPaginator.ts create mode 100644 clients/client-robomaker/pagination/ListWorldGenerationJobsPaginator.ts create mode 100644 clients/client-robomaker/pagination/ListWorldTemplatesPaginator.ts create mode 100644 clients/client-robomaker/pagination/ListWorldsPaginator.ts create mode 100644 clients/client-route53resolver/commands/AssociateResolverQueryLogConfigCommand.ts create mode 100644 clients/client-route53resolver/commands/CreateResolverQueryLogConfigCommand.ts create mode 100644 clients/client-route53resolver/commands/DeleteResolverQueryLogConfigCommand.ts create mode 100644 clients/client-route53resolver/commands/DisassociateResolverQueryLogConfigCommand.ts create mode 100644 clients/client-route53resolver/commands/GetResolverQueryLogConfigAssociationCommand.ts create mode 100644 clients/client-route53resolver/commands/GetResolverQueryLogConfigCommand.ts create mode 100644 clients/client-route53resolver/commands/GetResolverQueryLogConfigPolicyCommand.ts create mode 100644 clients/client-route53resolver/commands/ListResolverQueryLogConfigAssociationsCommand.ts create mode 100644 clients/client-route53resolver/commands/ListResolverQueryLogConfigsCommand.ts create mode 100644 clients/client-route53resolver/commands/PutResolverQueryLogConfigPolicyCommand.ts create mode 100644 clients/client-route53resolver/pagination/ListResolverQueryLogConfigAssociationsPaginator.ts create mode 100644 clients/client-route53resolver/pagination/ListResolverQueryLogConfigsPaginator.ts create mode 100644 clients/client-route53resolver/pagination/ListTagsForResourcePaginator.ts create mode 100644 clients/client-s3/commands/DeleteBucketOwnershipControlsCommand.ts create mode 100644 clients/client-s3/commands/GetBucketOwnershipControlsCommand.ts create mode 100644 clients/client-s3/commands/PutBucketOwnershipControlsCommand.ts create mode 100644 clients/client-s3outposts/.gitignore create mode 100644 clients/client-s3outposts/.npmignore create mode 100644 clients/client-s3outposts/LICENSE create mode 100644 clients/client-s3outposts/README.md create mode 100644 clients/client-s3outposts/S3Outposts.ts create mode 100644 clients/client-s3outposts/S3OutpostsClient.ts create mode 100644 clients/client-s3outposts/commands/CreateEndpointCommand.ts create mode 100644 clients/client-s3outposts/commands/DeleteEndpointCommand.ts create mode 100644 clients/client-s3outposts/commands/ListEndpointsCommand.ts create mode 100644 clients/client-s3outposts/endpoints.ts create mode 100644 clients/client-s3outposts/index.ts create mode 100644 clients/client-s3outposts/models/index.ts create mode 100644 clients/client-s3outposts/models/models_0.ts create mode 100644 clients/client-s3outposts/package.json create mode 100644 clients/client-s3outposts/pagination/Interfaces.ts create mode 100644 clients/client-s3outposts/pagination/ListEndpointsPaginator.ts create mode 100644 clients/client-s3outposts/protocols/Aws_restJson1.ts create mode 100644 clients/client-s3outposts/runtimeConfig.browser.ts create mode 100644 clients/client-s3outposts/runtimeConfig.native.ts create mode 100644 clients/client-s3outposts/runtimeConfig.shared.ts create mode 100644 clients/client-s3outposts/runtimeConfig.ts create mode 100644 clients/client-s3outposts/tsconfig.es.json create mode 100644 clients/client-s3outposts/tsconfig.json create mode 100644 clients/client-savingsplans/commands/DeleteQueuedSavingsPlanCommand.ts create mode 100644 clients/client-schemas/commands/ExportSchemaCommand.ts create mode 100644 clients/client-schemas/pagination/Interfaces.ts create mode 100644 clients/client-schemas/pagination/ListDiscoverersPaginator.ts create mode 100644 clients/client-schemas/pagination/ListRegistriesPaginator.ts create mode 100644 clients/client-schemas/pagination/ListSchemaVersionsPaginator.ts create mode 100644 clients/client-schemas/pagination/ListSchemasPaginator.ts create mode 100644 clients/client-schemas/pagination/SearchSchemasPaginator.ts create mode 100644 clients/client-securityhub/models/models_1.ts create mode 100644 clients/client-serverlessapplicationrepository/pagination/Interfaces.ts create mode 100644 clients/client-serverlessapplicationrepository/pagination/ListApplicationDependenciesPaginator.ts create mode 100644 clients/client-serverlessapplicationrepository/pagination/ListApplicationVersionsPaginator.ts create mode 100644 clients/client-serverlessapplicationrepository/pagination/ListApplicationsPaginator.ts create mode 100644 clients/client-service-catalog/commands/GetProvisionedProductOutputsCommand.ts create mode 100644 clients/client-service-catalog/pagination/GetProvisionedProductOutputsPaginator.ts create mode 100644 clients/client-sesv2/commands/CreateImportJobCommand.ts create mode 100644 clients/client-sesv2/commands/GetImportJobCommand.ts create mode 100644 clients/client-sesv2/commands/ListImportJobsCommand.ts create mode 100644 clients/client-sesv2/pagination/ListImportJobsPaginator.ts create mode 100644 clients/client-sms/commands/DeleteAppValidationConfigurationCommand.ts create mode 100644 clients/client-sms/commands/GetAppValidationConfigurationCommand.ts create mode 100644 clients/client-sms/commands/GetAppValidationOutputCommand.ts create mode 100644 clients/client-sms/commands/ImportAppCatalogCommand.ts create mode 100644 clients/client-sms/commands/NotifyAppValidationOutputCommand.ts create mode 100644 clients/client-sms/commands/PutAppValidationConfigurationCommand.ts create mode 100644 clients/client-sms/commands/StartOnDemandAppReplicationCommand.ts create mode 100644 clients/client-snowball/commands/CreateReturnShippingLabelCommand.ts create mode 100644 clients/client-snowball/commands/DescribeReturnShippingLabelCommand.ts create mode 100644 clients/client-snowball/commands/UpdateJobShipmentStateCommand.ts create mode 100644 clients/client-sqs/pagination/ListQueuesPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeAssociationExecutionTargetsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeAssociationExecutionsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeAutomationExecutionsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeAutomationStepExecutionsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeAvailablePatchesPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeEffectiveInstanceAssociationsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeEffectivePatchesForPatchBaselinePaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeInstanceAssociationsStatusPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeInstancePatchStatesForPatchGroupPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeInstancePatchStatesPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeInstancePatchesPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeInventoryDeletionsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTaskInvocationsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTasksPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeMaintenanceWindowSchedulePaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeMaintenanceWindowTargetsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeMaintenanceWindowTasksPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeMaintenanceWindowsForTargetPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeMaintenanceWindowsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeOpsItemsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribePatchBaselinesPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribePatchGroupsPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribePatchPropertiesPaginator.ts create mode 100644 clients/client-ssm/pagination/DescribeSessionsPaginator.ts create mode 100644 clients/client-ssm/pagination/GetInventoryPaginator.ts create mode 100644 clients/client-ssm/pagination/GetInventorySchemaPaginator.ts create mode 100644 clients/client-ssm/pagination/GetOpsSummaryPaginator.ts create mode 100644 clients/client-ssm/pagination/ListAssociationVersionsPaginator.ts create mode 100644 clients/client-ssm/pagination/ListComplianceItemsPaginator.ts create mode 100644 clients/client-ssm/pagination/ListComplianceSummariesPaginator.ts create mode 100644 clients/client-ssm/pagination/ListDocumentVersionsPaginator.ts create mode 100644 clients/client-ssm/pagination/ListResourceComplianceSummariesPaginator.ts create mode 100644 clients/client-ssm/pagination/ListResourceDataSyncPaginator.ts create mode 100644 clients/client-sso-admin/.gitignore create mode 100644 clients/client-sso-admin/.npmignore create mode 100644 clients/client-sso-admin/LICENSE create mode 100644 clients/client-sso-admin/README.md create mode 100644 clients/client-sso-admin/SSOAdmin.ts create mode 100644 clients/client-sso-admin/SSOAdminClient.ts create mode 100644 clients/client-sso-admin/commands/AttachManagedPolicyToPermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/CreateAccountAssignmentCommand.ts create mode 100644 clients/client-sso-admin/commands/CreatePermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/DeleteAccountAssignmentCommand.ts create mode 100644 clients/client-sso-admin/commands/DeleteInlinePolicyFromPermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/DeletePermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/DescribeAccountAssignmentCreationStatusCommand.ts create mode 100644 clients/client-sso-admin/commands/DescribeAccountAssignmentDeletionStatusCommand.ts create mode 100644 clients/client-sso-admin/commands/DescribePermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/DescribePermissionSetProvisioningStatusCommand.ts create mode 100644 clients/client-sso-admin/commands/DetachManagedPolicyFromPermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/GetInlinePolicyForPermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/ListAccountAssignmentCreationStatusCommand.ts create mode 100644 clients/client-sso-admin/commands/ListAccountAssignmentDeletionStatusCommand.ts create mode 100644 clients/client-sso-admin/commands/ListAccountAssignmentsCommand.ts create mode 100644 clients/client-sso-admin/commands/ListAccountsForProvisionedPermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/ListInstancesCommand.ts create mode 100644 clients/client-sso-admin/commands/ListManagedPoliciesInPermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/ListPermissionSetProvisioningStatusCommand.ts create mode 100644 clients/client-sso-admin/commands/ListPermissionSetsCommand.ts create mode 100644 clients/client-sso-admin/commands/ListPermissionSetsProvisionedToAccountCommand.ts create mode 100644 clients/client-sso-admin/commands/ListTagsForResourceCommand.ts create mode 100644 clients/client-sso-admin/commands/ProvisionPermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/PutInlinePolicyToPermissionSetCommand.ts create mode 100644 clients/client-sso-admin/commands/TagResourceCommand.ts create mode 100644 clients/client-sso-admin/commands/UntagResourceCommand.ts create mode 100644 clients/client-sso-admin/commands/UpdatePermissionSetCommand.ts create mode 100644 clients/client-sso-admin/endpoints.ts create mode 100644 clients/client-sso-admin/index.ts create mode 100644 clients/client-sso-admin/models/index.ts create mode 100644 clients/client-sso-admin/models/models_0.ts create mode 100644 clients/client-sso-admin/package.json create mode 100644 clients/client-sso-admin/pagination/Interfaces.ts create mode 100644 clients/client-sso-admin/pagination/ListAccountAssignmentCreationStatusPaginator.ts create mode 100644 clients/client-sso-admin/pagination/ListAccountAssignmentDeletionStatusPaginator.ts create mode 100644 clients/client-sso-admin/pagination/ListAccountAssignmentsPaginator.ts create mode 100644 clients/client-sso-admin/pagination/ListAccountsForProvisionedPermissionSetPaginator.ts create mode 100644 clients/client-sso-admin/pagination/ListInstancesPaginator.ts create mode 100644 clients/client-sso-admin/pagination/ListManagedPoliciesInPermissionSetPaginator.ts create mode 100644 clients/client-sso-admin/pagination/ListPermissionSetProvisioningStatusPaginator.ts create mode 100644 clients/client-sso-admin/pagination/ListPermissionSetsPaginator.ts create mode 100644 clients/client-sso-admin/pagination/ListPermissionSetsProvisionedToAccountPaginator.ts create mode 100644 clients/client-sso-admin/pagination/ListTagsForResourcePaginator.ts create mode 100644 clients/client-sso-admin/protocols/Aws_json1_1.ts create mode 100644 clients/client-sso-admin/runtimeConfig.browser.ts create mode 100644 clients/client-sso-admin/runtimeConfig.native.ts create mode 100644 clients/client-sso-admin/runtimeConfig.shared.ts create mode 100644 clients/client-sso-admin/runtimeConfig.ts create mode 100644 clients/client-sso-admin/tsconfig.es.json create mode 100644 clients/client-sso-admin/tsconfig.json create mode 100644 clients/client-storage-gateway/commands/CreateTapePoolCommand.ts create mode 100644 clients/client-storage-gateway/commands/DeleteTapePoolCommand.ts create mode 100644 clients/client-storage-gateway/commands/ListTapePoolsCommand.ts create mode 100644 clients/client-support/pagination/DescribeCasesPaginator.ts create mode 100644 clients/client-support/pagination/DescribeCommunicationsPaginator.ts create mode 100644 clients/client-support/pagination/Interfaces.ts create mode 100644 clients/client-timestream-query/.gitignore create mode 100644 clients/client-timestream-query/.npmignore create mode 100644 clients/client-timestream-query/LICENSE create mode 100644 clients/client-timestream-query/README.md create mode 100644 clients/client-timestream-query/TimestreamQuery.ts create mode 100644 clients/client-timestream-query/TimestreamQueryClient.ts create mode 100644 clients/client-timestream-query/commands/CancelQueryCommand.ts create mode 100644 clients/client-timestream-query/commands/DescribeEndpointsCommand.ts create mode 100644 clients/client-timestream-query/commands/QueryCommand.ts create mode 100644 clients/client-timestream-query/endpoints.ts create mode 100644 clients/client-timestream-query/index.ts create mode 100644 clients/client-timestream-query/models/index.ts create mode 100644 clients/client-timestream-query/models/models_0.ts create mode 100644 clients/client-timestream-query/package.json create mode 100644 clients/client-timestream-query/pagination/Interfaces.ts create mode 100644 clients/client-timestream-query/pagination/QueryPaginator.ts create mode 100644 clients/client-timestream-query/protocols/Aws_json1_0.ts create mode 100644 clients/client-timestream-query/runtimeConfig.browser.ts create mode 100644 clients/client-timestream-query/runtimeConfig.native.ts create mode 100644 clients/client-timestream-query/runtimeConfig.shared.ts create mode 100644 clients/client-timestream-query/runtimeConfig.ts create mode 100644 clients/client-timestream-query/tsconfig.es.json create mode 100644 clients/client-timestream-query/tsconfig.json create mode 100644 clients/client-timestream-write/.gitignore create mode 100644 clients/client-timestream-write/.npmignore create mode 100644 clients/client-timestream-write/LICENSE create mode 100644 clients/client-timestream-write/README.md create mode 100644 clients/client-timestream-write/TimestreamWrite.ts create mode 100644 clients/client-timestream-write/TimestreamWriteClient.ts create mode 100644 clients/client-timestream-write/commands/CreateDatabaseCommand.ts create mode 100644 clients/client-timestream-write/commands/CreateTableCommand.ts create mode 100644 clients/client-timestream-write/commands/DeleteDatabaseCommand.ts create mode 100644 clients/client-timestream-write/commands/DeleteTableCommand.ts create mode 100644 clients/client-timestream-write/commands/DescribeDatabaseCommand.ts create mode 100644 clients/client-timestream-write/commands/DescribeEndpointsCommand.ts create mode 100644 clients/client-timestream-write/commands/DescribeTableCommand.ts create mode 100644 clients/client-timestream-write/commands/ListDatabasesCommand.ts create mode 100644 clients/client-timestream-write/commands/ListTablesCommand.ts create mode 100644 clients/client-timestream-write/commands/ListTagsForResourceCommand.ts create mode 100644 clients/client-timestream-write/commands/TagResourceCommand.ts create mode 100644 clients/client-timestream-write/commands/UntagResourceCommand.ts create mode 100644 clients/client-timestream-write/commands/UpdateDatabaseCommand.ts create mode 100644 clients/client-timestream-write/commands/UpdateTableCommand.ts create mode 100644 clients/client-timestream-write/commands/WriteRecordsCommand.ts create mode 100644 clients/client-timestream-write/endpoints.ts create mode 100644 clients/client-timestream-write/index.ts create mode 100644 clients/client-timestream-write/models/index.ts create mode 100644 clients/client-timestream-write/models/models_0.ts create mode 100644 clients/client-timestream-write/package.json create mode 100644 clients/client-timestream-write/pagination/Interfaces.ts create mode 100644 clients/client-timestream-write/pagination/ListDatabasesPaginator.ts create mode 100644 clients/client-timestream-write/pagination/ListTablesPaginator.ts create mode 100644 clients/client-timestream-write/protocols/Aws_json1_0.ts create mode 100644 clients/client-timestream-write/runtimeConfig.browser.ts create mode 100644 clients/client-timestream-write/runtimeConfig.native.ts create mode 100644 clients/client-timestream-write/runtimeConfig.shared.ts create mode 100644 clients/client-timestream-write/runtimeConfig.ts create mode 100644 clients/client-timestream-write/tsconfig.es.json create mode 100644 clients/client-timestream-write/tsconfig.json create mode 100644 clients/client-transcribe/commands/CreateLanguageModelCommand.ts create mode 100644 clients/client-transcribe/commands/DeleteLanguageModelCommand.ts create mode 100644 clients/client-transcribe/commands/DescribeLanguageModelCommand.ts create mode 100644 clients/client-transcribe/commands/ListLanguageModelsCommand.ts create mode 100644 clients/client-transcribe/pagination/ListLanguageModelsPaginator.ts create mode 100644 clients/client-transfer/commands/DescribeSecurityPolicyCommand.ts create mode 100644 clients/client-transfer/commands/ListSecurityPoliciesCommand.ts create mode 100644 clients/client-transfer/pagination/ListSecurityPoliciesPaginator.ts create mode 100644 clients/client-workmail/commands/CancelMailboxExportJobCommand.ts create mode 100644 clients/client-workmail/commands/CreateOrganizationCommand.ts create mode 100644 clients/client-workmail/commands/DeleteAccessControlRuleCommand.ts create mode 100644 clients/client-workmail/commands/DeleteOrganizationCommand.ts create mode 100644 clients/client-workmail/commands/DeleteRetentionPolicyCommand.ts create mode 100644 clients/client-workmail/commands/DescribeMailboxExportJobCommand.ts create mode 100644 clients/client-workmail/commands/GetAccessControlEffectCommand.ts create mode 100644 clients/client-workmail/commands/GetDefaultRetentionPolicyCommand.ts create mode 100644 clients/client-workmail/commands/ListAccessControlRulesCommand.ts create mode 100644 clients/client-workmail/commands/ListMailboxExportJobsCommand.ts create mode 100644 clients/client-workmail/commands/ListTagsForResourceCommand.ts create mode 100644 clients/client-workmail/commands/PutAccessControlRuleCommand.ts create mode 100644 clients/client-workmail/commands/PutRetentionPolicyCommand.ts create mode 100644 clients/client-workmail/commands/StartMailboxExportJobCommand.ts create mode 100644 clients/client-workmail/commands/TagResourceCommand.ts create mode 100644 clients/client-workmail/commands/UntagResourceCommand.ts create mode 100644 clients/client-workmail/pagination/ListMailboxExportJobsPaginator.ts create mode 100644 clients/client-workspaces/commands/AssociateConnectionAliasCommand.ts create mode 100644 clients/client-workspaces/commands/CreateConnectionAliasCommand.ts create mode 100644 clients/client-workspaces/commands/DeleteConnectionAliasCommand.ts create mode 100644 clients/client-workspaces/commands/DescribeConnectionAliasPermissionsCommand.ts create mode 100644 clients/client-workspaces/commands/DescribeConnectionAliasesCommand.ts create mode 100644 clients/client-workspaces/commands/DisassociateConnectionAliasCommand.ts create mode 100644 clients/client-workspaces/commands/UpdateConnectionAliasPermissionCommand.ts create mode 100644 clients/client-xray/commands/ListTagsForResourceCommand.ts create mode 100644 clients/client-xray/commands/TagResourceCommand.ts create mode 100644 clients/client-xray/commands/UntagResourceCommand.ts diff --git a/clients/client-acm-pca/ACMPCA.ts b/clients/client-acm-pca/ACMPCA.ts index f084d8558ef0..44c2ed496d47 100644 --- a/clients/client-acm-pca/ACMPCA.ts +++ b/clients/client-acm-pca/ACMPCA.ts @@ -24,6 +24,11 @@ import { DeletePermissionCommandInput, DeletePermissionCommandOutput, } from "./commands/DeletePermissionCommand"; +import { + DeletePolicyCommand, + DeletePolicyCommandInput, + DeletePolicyCommandOutput, +} from "./commands/DeletePolicyCommand"; import { DescribeCertificateAuthorityAuditReportCommand, DescribeCertificateAuthorityAuditReportCommandInput, @@ -49,6 +54,7 @@ import { GetCertificateCommandInput, GetCertificateCommandOutput, } from "./commands/GetCertificateCommand"; +import { GetPolicyCommand, GetPolicyCommandInput, GetPolicyCommandOutput } from "./commands/GetPolicyCommand"; import { ImportCertificateAuthorityCertificateCommand, ImportCertificateAuthorityCertificateCommandInput, @@ -70,6 +76,7 @@ import { ListPermissionsCommandOutput, } from "./commands/ListPermissionsCommand"; import { ListTagsCommand, ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; +import { PutPolicyCommand, PutPolicyCommandInput, PutPolicyCommandOutput } from "./commands/PutPolicyCommand"; import { RestoreCertificateAuthorityCommand, RestoreCertificateAuthorityCommandInput, @@ -98,7 +105,10 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

This is the ACM Private CA API Reference. It provides descriptions, + * + *

+ * + *

This is the ACM Private CA API Reference. It provides descriptions, * syntax, and usage examples for each of the actions and data types involved in creating * and managing private certificate authorities (CA) for your organization.

*

The documentation for each action shows the Query API request parameters and the XML @@ -107,22 +117,32 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * information, see AWS * SDKs.

* - *

Each ACM Private CA API action has a throttling limit which determines the number of times - * the action can be called per second. For more information, see API Rate Limits in ACM Private CA + *

Each ACM Private CA API action has a quota that determines the number of times the action + * can be called per second. For more information, see API Rate Quotas in ACM Private CA * in the ACM Private CA user guide.

*
*/ export class ACMPCA extends ACMPCAClient { /** - *

Creates a root or subordinate private certificate authority (CA). You must specify the CA - * configuration, the certificate revocation list (CRL) configuration, the CA type, and an - * optional idempotency token to avoid accidental creation of multiple CAs. The CA + *

Creates a root or subordinate private certificate authority (CA). You must specify the + * CA configuration, the certificate revocation list (CRL) configuration, the CA type, and + * an optional idempotency token to avoid accidental creation of multiple CAs. The CA * configuration specifies the name of the algorithm and key size to be used to create the * CA private key, the type of signing algorithm that the CA uses, and X.500 subject * information. The CRL configuration specifies the CRL expiration period in days (the * validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a CNAME * alias for the S3 bucket that is included in certificates issued by the CA. If * successful, this action returns the Amazon Resource Name (ARN) of the CA.

+ *

ACM Private CAA assets that are stored in Amazon S3 can be protected with encryption. + * For more information, see Encrypting Your + * CRLs.

+ * + *

Both PCA and the IAM principal must have permission to write to + * the S3 bucket that you specify. If the IAM principal making the call + * does not have permission to write to the bucket, then an exception is + * thrown. For more information, see Configure + * Access to ACM Private CA.

+ *
*/ public createCertificateAuthority( args: CreateCertificateAuthorityCommandInput, @@ -154,9 +174,22 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Creates an audit report that lists every time that your CA private key is used. The report - * is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate actions use the - * private key.

+ *

Creates an audit report that lists every time that your CA private key is used. The + * report is saved in the Amazon S3 bucket that you specify on input. + * + * The IssueCertificate and RevokeCertificate actions use + * the private key.

+ * + *

Both PCA and the IAM principal must have permission to write to + * the S3 bucket that you specify. If the IAM principal making the call + * does not have permission to write to the bucket, then an exception is + * thrown. For more information, see Configure + * Access to ACM Private CA.

+ *
+ * + *

ACM Private CAA assets that are stored in Amazon S3 can be protected with encryption. + * For more information, see Encrypting Your Audit + * Reports.

*/ public createCertificateAuthorityAuditReport( args: CreateCertificateAuthorityAuditReportCommandInput, @@ -190,15 +223,33 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Assigns permissions from a private CA to a designated AWS service. Services are - * specified by their service principals and can be given permission to create and retrieve - * certificates on a private CA. Services can also be given permission to list the active - * permissions that the private CA has granted. For ACM to automatically renew your - * private CA's certificates, you must assign all possible permissions from the CA to the - * ACM service principal.

- *

At this time, you can only assign permissions to ACM (acm.amazonaws.com). - * Permissions can be revoked with the DeletePermission action and listed - * with the ListPermissions action.

+ *

Grants one or more permissions on a private CA to the AWS Certificate Manager (ACM) service + * principal (acm.amazonaws.com). These permissions allow ACM to issue and + * renew ACM certificates that reside in the same AWS account as the CA.

+ *

You can list current permissions with the ListPermissions action and + * revoke them with the DeletePermission action.

+ *

+ * About Permissions + *

+ * */ public createPermission( args: CreatePermissionCommandInput, @@ -232,26 +283,24 @@ export class ACMPCA extends ACMPCAClient { /** *

Deletes a private certificate authority (CA). You must provide the Amazon Resource * Name (ARN) of the private CA that you want to delete. You can find the ARN by calling - * the ListCertificateAuthorities action.

+ * the ListCertificateAuthorities action.

* *

Deleting a CA will invalidate other CAs and certificates below it in your CA * hierarchy.

*
*

Before you can delete a CA that you have created and activated, you must disable it. - * To do this, call the UpdateCertificateAuthority action and set the - * CertificateAuthorityStatus parameter to - * DISABLED.

+ * To do this, call the UpdateCertificateAuthority action and set the CertificateAuthorityStatus parameter to DISABLED.

*

Additionally, you can delete a CA if you are waiting for it to be created (that is, * the status of the CA is CREATING). You can also delete it if the CA has - * been created but you haven't yet imported the signed certificate into ACM Private CA (that is, + * been created but you haven't yet imported the signed certificate into ACM Private CA (that is, * the status of the CA is PENDING_CERTIFICATE).

- *

When you successfully call DeleteCertificateAuthority, the CA's - * status changes to DELETED. However, the CA won't be permanently deleted - * until the restoration period has passed. By default, if you do not set the + *

When you successfully call DeleteCertificateAuthority, the CA's status changes to + * DELETED. However, the CA won't be permanently deleted until the restoration + * period has passed. By default, if you do not set the * PermanentDeletionTimeInDays parameter, the CA remains restorable for 30 - * days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority action returns the time remaining in the + * days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority action returns the time remaining in the * restoration window of a private CA in the DELETED state. To restore an - * eligible CA, call the RestoreCertificateAuthority action.

+ * eligible CA, call the RestoreCertificateAuthority action.

*/ public deleteCertificateAuthority( args: DeleteCertificateAuthorityCommandInput, @@ -283,9 +332,35 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Revokes permissions that a private CA assigned to a designated AWS service. Permissions - * can be created with the CreatePermission action and listed with the - * ListPermissions action.

+ *

Revokes permissions on a private CA granted to the AWS Certificate Manager (ACM) service principal + * (acm.amazonaws.com).

+ *

These permissions allow ACM to issue and renew ACM certificates that reside in the + * same AWS account as the CA. If you revoke these permissions, ACM will no longer + * renew the affected certificates automatically.

+ *

Permissions can be granted with the CreatePermission action and + * listed with the ListPermissions action.

+ *

+ * About Permissions + *

+ * */ public deletePermission( args: DeletePermissionCommandInput, @@ -317,9 +392,72 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Lists information about your private certificate authority (CA). You specify the - * private CA on input by its ARN (Amazon Resource Name). The output contains the status of - * your CA. This can be any of the following:

+ *

Deletes the resource-based policy attached to a private CA. Deletion will remove any + * access that the policy has granted. If there is no policy attached to the private CA, + * this action will return successful.

+ *

If you delete a policy that was applied through AWS Resource Access Manager (RAM), + * the CA will be removed from all shares in which it was included.

+ *

The AWS Certificate Manager Service Linked Role that the policy supports is not affected when you delete + * the policy.

+ *

The current policy can be shown with GetPolicy and updated with PutPolicy.

+ *

+ * About Policies + *

+ * + */ + public deletePolicy( + args: DeletePolicyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deletePolicy(args: DeletePolicyCommandInput, cb: (err: any, data?: DeletePolicyCommandOutput) => void): void; + public deletePolicy( + args: DeletePolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePolicyCommandOutput) => void + ): void; + public deletePolicy( + args: DeletePolicyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeletePolicyCommandOutput) => void), + cb?: (err: any, data?: DeletePolicyCommandOutput) => void + ): Promise | void { + const command = new DeletePolicyCommand(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 information about your private certificate authority (CA) or one that has been + * shared with you. You specify the private CA on input by its ARN (Amazon Resource Name). + * The output contains the status of your CA. This can be any of the following:

* */ @@ -389,9 +527,10 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport action. Audit information is - * created every time the certificate authority (CA) private key is used. The private key - * is used when you call the IssueCertificate action or the RevokeCertificate action.

+ *

Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport action. Audit information is created + * every time the certificate authority (CA) private key is used. The private key is used + * when you call the IssueCertificate action or the + * RevokeCertificate action.

*/ public describeCertificateAuthorityAuditReport( args: DescribeCertificateAuthorityAuditReportCommandInput, @@ -425,10 +564,12 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Retrieves a certificate from your private CA. The ARN of the certificate is returned when - * you call the IssueCertificate action. You must specify both the ARN of - * your private CA and the ARN of the issued certificate when calling the GetCertificate action. You can retrieve the certificate if it - * is in the ISSUED state. You can call the CreateCertificateAuthorityAuditReport action to create a report that + *

Retrieves a certificate from your private CA or one that has been shared with you. The + * ARN of the certificate is returned when you call the IssueCertificate action. You + * must specify both the ARN of your private CA and the ARN of the issued certificate when + * calling the GetCertificate action. You can retrieve the + * certificate if it is in the ISSUED state. You can call + * the CreateCertificateAuthorityAuditReport action to create a report that * contains information about all of the certificates issued and revoked by your private * CA.

*/ @@ -463,8 +604,9 @@ export class ACMPCA extends ACMPCAClient { /** *

Retrieves the certificate and certificate chain for your private certificate authority - * (CA). Both the certificate and the chain are base64 PEM-encoded. The chain does not - * include the CA certificate. Each certificate in the chain signs the one before it.

+ * (CA) or one that has been shared with you. Both the certificate and the chain are base64 + * PEM-encoded. The chain does not include the CA certificate. Each certificate in the + * chain signs the one before it.

*/ public getCertificateAuthorityCertificate( args: GetCertificateAuthorityCertificateCommandInput, @@ -496,10 +638,10 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Retrieves the certificate signing request (CSR) for your private certificate authority (CA). - * The CSR is created when you call the CreateCertificateAuthority - * action. Sign the CSR with your ACM Private CA-hosted or on-premises root or subordinate CA. Then - * import the signed certificate back into ACM Private CA by calling the ImportCertificateAuthorityCertificate action. The CSR is returned as a + *

Retrieves the certificate signing request (CSR) for your private certificate authority + * (CA). The CSR is created when you call the CreateCertificateAuthority action. Sign the CSR with your ACM Private CA-hosted or + * on-premises root or subordinate CA. Then import the signed certificate back into ACM Private CA + * by calling the ImportCertificateAuthorityCertificate action. The CSR is returned as a * base64 PEM-encoded string.

*/ public getCertificateAuthorityCsr( @@ -532,31 +674,83 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Imports a signed - * private CA certificate into ACM Private CA. This action is used when you are using a chain of - * trust whose root is located outside ACM Private CA. Before you can call this action, the - * following preparations must in place:

- * + *

Retrieves the resource-based policy attached to a private CA. If either the private CA + * resource or the policy cannot be found, this action returns a + * ResourceNotFoundException.

+ *

The policy can be attached or updated with PutPolicy and removed with DeletePolicy.

+ *

+ * About Policies + *

+ * + */ + public getPolicy(args: GetPolicyCommandInput, options?: __HttpHandlerOptions): Promise; + public getPolicy(args: GetPolicyCommandInput, cb: (err: any, data?: GetPolicyCommandOutput) => void): void; + public getPolicy( + args: GetPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetPolicyCommandOutput) => void + ): void; + public getPolicy( + args: GetPolicyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetPolicyCommandOutput) => void), + cb?: (err: any, data?: GetPolicyCommandOutput) => void + ): Promise | void { + const command = new GetPolicyCommand(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); + } + } + + /** + *

Imports a signed private CA certificate into ACM Private CA. This action is used when you are + * using a chain of trust whose root is located outside ACM Private CA. Before you can call this + * action, the following preparations must in place:

*
    *
  1. - *

    In ACM Private CA, call the CreateCertificateAuthority action to create the private - * CA that that you plan to back with the imported certificate.

    - *
  2. + *

    In ACM Private CA, call the CreateCertificateAuthority action to create the private CA that + * that you plan to back with the imported certificate.

    + * *
  3. - *

    Call the GetCertificateAuthorityCsr action to generate a certificate signing + *

    Call the GetCertificateAuthorityCsr action to generate a certificate signing * request (CSR).

    - *
  4. + * *
  5. - *

    Sign the CSR using a root or intermediate CA hosted either by an on-premises PKI hierarchy or - * a commercial CA..

    - *
  6. + *

    Sign the CSR using a root or intermediate CA hosted by either an on-premises + * PKI hierarchy or by a commercial CA.

    + * *
  7. - *

    Create a - * certificate chain and copy the signed certificate and the certificate chain to your - * working directory.

    - *
  8. + *

    Create a certificate chain and copy the signed certificate and the certificate + * chain to your working directory.

    + * *
- * *

The following requirements apply when you import a CA certificate.

*
    *
  • @@ -579,6 +773,77 @@ export class ACMPCA extends ACMPCAClient { *
  • *

    The chain must be PEM-encoded.

    *
  • + *
  • + *

    The maximum allowed size of a certificate is 32 KB.

    + *
  • + *
  • + *

    The maximum allowed size of a certificate chain is 2 MB.

    + *
  • + *
+ *

+ * Enforcement of Critical Constraints + *

+ *

ACM Private CA allows the following extensions to be marked critical in the imported CA + * certificate or chain.

+ *
    + *
  • + *

    Basic constraints (must be marked critical)

    + *
  • + *
  • + *

    Subject alternative names

    + *
  • + *
  • + *

    Key usage

    + *
  • + *
  • + *

    Extended key usage

    + *
  • + *
  • + *

    Authority key identifier

    + *
  • + *
  • + *

    Subject key identifier

    + *
  • + *
  • + *

    Issuer alternative name

    + *
  • + *
  • + *

    Subject directory attributes

    + *
  • + *
  • + *

    Subject information access

    + *
  • + *
  • + *

    Certificate policies

    + *
  • + *
  • + *

    Policy mappings

    + *
  • + *
  • + *

    Inhibit anyPolicy

    + *
  • + *
+ *

ACM Private CA rejects the following extensions when they are marked critical in an imported CA + * certificate or chain.

+ *
    + *
  • + *

    Name constraints

    + *
  • + *
  • + *

    Policy constraints

    + *
  • + *
  • + *

    CRL distribution points

    + *
  • + *
  • + *

    Authority information access

    + *
  • + *
  • + *

    Freshest CRL

    + *
  • + *
  • + *

    Any other extension

    + *
  • *
*/ public importCertificateAuthorityCertificate( @@ -613,13 +878,14 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Uses your private certificate authority (CA) to issue a client certificate. This action - * returns the Amazon Resource Name (ARN) of the certificate. You can retrieve the - * certificate by calling the GetCertificate action and specifying the - * ARN.

+ *

Uses your private certificate authority + * (CA), or one that + * has been shared with you, to issue a client certificate. This action returns the Amazon + * Resource Name (ARN) of the certificate. You can retrieve the certificate by calling the + * GetCertificate action and specifying the ARN.

* - *

You cannot use the ACM ListCertificateAuthorities action - * to retrieve the ARNs of the certificates that you issue by using ACM Private CA.

+ *

You cannot use the ACM ListCertificateAuthorities action to retrieve the ARNs of the + * certificates that you issue by using ACM Private CA.

*
*/ public issueCertificate( @@ -652,7 +918,7 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Lists the private certificate authorities that you created by using the CreateCertificateAuthority action.

+ *

Lists the private certificate authorities that you created by using the CreateCertificateAuthority action.

*/ public listCertificateAuthorities( args: ListCertificateAuthoritiesCommandInput, @@ -684,8 +950,34 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Lists all the permissions, if any, that have been assigned by a private CA. Permissions can - * be granted with the CreatePermission action and revoked with the DeletePermission action.

+ *

List all permissions on a private CA, if any, granted to the AWS Certificate Manager (ACM) service + * principal (acm.amazonaws.com).

+ *

These permissions allow ACM to issue and renew ACM certificates that reside in the + * same AWS account as the CA.

+ *

Permissions can be granted with the CreatePermission action and + * revoked with the DeletePermission action.

+ *

+ * About Permissions + *

+ *
    + *
  • + *

    If the private CA and the certificates it issues reside in the same + * account, you can use CreatePermission to grant permissions for ACM to + * carry out automatic certificate renewals.

    + *
  • + *
  • + *

    For automatic certificate renewal to succeed, the ACM service principal + * needs permissions to create, retrieve, and list certificates.

    + *
  • + *
  • + *

    If the private CA and the ACM certificates reside in different accounts, + * then permissions cannot be used to enable automatic renewals. Instead, + * the ACM certificate owner must set up a resource-based policy to enable + * cross-account issuance and renewals. For more information, see + * Using a Resource + * Based Policy with ACM Private CA.

    + *
  • + *
*/ public listPermissions( args: ListPermissionsCommandInput, @@ -717,10 +1009,10 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Lists the tags, if any, that are associated with your private CA. Tags are labels that you - * can use to identify and organize your CAs. Each tag consists of a key and an optional - * value. Call the TagCertificateAuthority action to add one or more tags - * to your CA. Call the UntagCertificateAuthority action to remove tags.

+ *

Lists the tags, if any, that are associated with your private CA or one that has been + * shared with you. Tags are labels that you can use to identify and organize your CAs. + * Each tag consists of a key and an optional value. Call the TagCertificateAuthority + * action to add one or more tags to your CA. Call the UntagCertificateAuthority action to remove tags.

*/ public listTags(args: ListTagsCommandInput, options?: __HttpHandlerOptions): Promise; public listTags(args: ListTagsCommandInput, cb: (err: any, data?: ListTagsCommandOutput) => void): void; @@ -746,17 +1038,74 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Restores a certificate authority (CA) that is in the DELETED state. You can - * restore a CA during the period that you defined in the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthority action. Currently, you can specify 7 to 30 - * days. If you did not specify a PermanentDeletionTimeInDays value, by default you can restore the CA at - * any time in a 30 day period. You can check the time remaining in the restoration period - * of a private CA in the DELETED state by calling the DescribeCertificateAuthority or ListCertificateAuthorities actions. The status of a restored CA is set - * to its pre-deletion status when the RestoreCertificateAuthority action returns. To change its status to - * ACTIVE, call the UpdateCertificateAuthority action. - * If the private CA was in the PENDING_CERTIFICATE state at deletion, you - * must use the ImportCertificateAuthorityCertificate action to import a - * certificate authority into the private CA before it can be activated. You cannot restore - * a CA after the restoration period has ended.

+ *

Attaches a resource-based policy to a private CA.

+ *

A policy can also be applied by sharing a private CA through AWS Resource Access Manager + * (RAM).

+ *

The policy can be displayed with GetPolicy and removed with DeletePolicy.

+ * + *

+ * About Policies + *

+ *
    + *
  • + *

    A policy grants access on a private CA to an AWS customer account, to AWS Organizations, or to + * an AWS Organizations unit. Policies are under the control of a CA administrator. For more information, + * see Using a Resource Based Policy with ACM Private CA.

    + *
  • + *
  • + *

    A policy permits a user of AWS Certificate Manager (ACM) to issue ACM certificates + * signed by a CA in another account.

    + *
  • + *
  • + *

    For ACM to manage automatic renewal of these certificates, + * the ACM user must configure a Service Linked Role (SLR). The SLR allows + * the ACM service to assume the identity of the user, subject to confirmation against the + * ACM Private CA policy. For more information, see + * Using a + * Service Linked Role with ACM.

    + *
  • + *
  • + *

    Updates made in AWS Resource Manager (RAM) are reflected in policies. For more information, + * see Using AWS Resource Access Manager + * (RAM) with ACM Private CA.

    + *
  • + *
+ */ + public putPolicy(args: PutPolicyCommandInput, options?: __HttpHandlerOptions): Promise; + public putPolicy(args: PutPolicyCommandInput, cb: (err: any, data?: PutPolicyCommandOutput) => void): void; + public putPolicy( + args: PutPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutPolicyCommandOutput) => void + ): void; + public putPolicy( + args: PutPolicyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutPolicyCommandOutput) => void), + cb?: (err: any, data?: PutPolicyCommandOutput) => void + ): Promise | void { + const command = new PutPolicyCommand(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 certificate authority (CA) that is in the DELETED state. You + * can restore a CA during the period that you defined in the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthority action. Currently, you can specify 7 to 30 days. + * If you did not specify a PermanentDeletionTimeInDays + * value, by default you can restore the CA at any time in a 30 day period. You can check + * the time remaining in the restoration period of a private CA in the DELETED + * state by calling the DescribeCertificateAuthority or ListCertificateAuthorities actions. The status of a restored CA is set to + * its pre-deletion status when the RestoreCertificateAuthority action returns. To change its status to + * ACTIVE, call the UpdateCertificateAuthority action. If the private CA was in the + * PENDING_CERTIFICATE state at deletion, you must use the ImportCertificateAuthorityCertificate action to import a certificate + * authority into the private CA before it can be activated. You cannot restore a CA after + * the restoration period has ended.

*/ public restoreCertificateAuthority( args: RestoreCertificateAuthorityCommandInput, @@ -791,8 +1140,20 @@ export class ACMPCA extends ACMPCAClient { *

Revokes a certificate that was issued inside ACM Private CA. If you enable a certificate * revocation list (CRL) when you create or update your private CA, information about the * revoked certificates will be included in the CRL. ACM Private CA writes the CRL to an S3 bucket - * that you specify. For more information about revocation, see the CrlConfiguration structure. ACM Private CA also writes revocation information to - * the audit report. For more information, see CreateCertificateAuthorityAuditReport.

+ * that you specify. A CRL is typically updated approximately 30 minutes after a + * certificate is revoked. If for any reason the CRL update fails, ACM Private CA attempts makes + * further attempts every 15 minutes. With Amazon CloudWatch, you can create alarms for the + * metrics CRLGenerated and MisconfiguredCRLBucket. For more + * information, see Supported CloudWatch Metrics.

+ * + *

Both PCA and the IAM principal must have permission to write to + * the S3 bucket that you specify. If the IAM principal making the call + * does not have permission to write to the bucket, then an exception is + * thrown. For more information, see Configure + * Access to ACM Private CA.

+ *
+ *

ACM Private CA also writes revocation information to the audit report. For more information, + * see CreateCertificateAuthorityAuditReport.

* *

You cannot revoke a root CA self-signed certificate.

*
@@ -827,14 +1188,14 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Adds one or more tags to your private CA. Tags are labels that you can use to identify and - * organize your AWS resources. Each tag consists of a key and an optional value. You + *

Adds one or more tags to your private CA. Tags are labels that you can use to identify + * and organize your AWS resources. Each tag consists of a key and an optional value. You * specify the private CA on input by its Amazon Resource Name (ARN). You specify the tag * by using a key-value pair. You can apply a tag to just one private CA if you want to * identify a specific characteristic of that CA, or you can apply the same tag to multiple * private CAs if you want to filter for a common relationship among those CAs. To remove - * one or more tags, use the UntagCertificateAuthority action. Call the - * ListTags action to see what tags are associated with your CA.

+ * one or more tags, use the UntagCertificateAuthority action. Call the ListTags action to see what tags are + * associated with your CA.

*/ public tagCertificateAuthority( args: TagCertificateAuthorityCommandInput, @@ -866,11 +1227,11 @@ export class ACMPCA extends ACMPCAClient { } /** - *

Remove one or more tags from your private CA. A tag consists of a key-value pair. If you do - * not specify the value portion of the tag when calling this action, the tag will be - * removed regardless of value. If you specify a value, the tag is removed only if it is - * associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags action to - * see what tags are associated with your CA.

+ *

Remove one or more tags from your private CA. A tag consists of a key-value pair. If + * you do not specify the value portion of the tag when calling this action, the tag will + * be removed regardless of value. If you specify a value, the tag is removed only if it is + * associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags action to see what tags are + * associated with your CA.

*/ public untagCertificateAuthority( args: UntagCertificateAuthorityCommandInput, @@ -906,6 +1267,13 @@ export class ACMPCA extends ACMPCAClient { * private CA must be in the ACTIVE or DISABLED state before you * can update it. You can disable a private CA that is in the ACTIVE state or * make a CA that is in the DISABLED state active again.

+ * + *

Both PCA and the IAM principal must have permission to write to + * the S3 bucket that you specify. If the IAM principal making the call + * does not have permission to write to the bucket, then an exception is + * thrown. For more information, see Configure + * Access to ACM Private CA.

+ *
*/ public updateCertificateAuthority( args: UpdateCertificateAuthorityCommandInput, diff --git a/clients/client-acm-pca/ACMPCAClient.ts b/clients/client-acm-pca/ACMPCAClient.ts index a5997dca7a69..718846b44ab7 100644 --- a/clients/client-acm-pca/ACMPCAClient.ts +++ b/clients/client-acm-pca/ACMPCAClient.ts @@ -12,6 +12,7 @@ import { DeleteCertificateAuthorityCommandOutput, } from "./commands/DeleteCertificateAuthorityCommand"; import { DeletePermissionCommandInput, DeletePermissionCommandOutput } from "./commands/DeletePermissionCommand"; +import { DeletePolicyCommandInput, DeletePolicyCommandOutput } from "./commands/DeletePolicyCommand"; import { DescribeCertificateAuthorityAuditReportCommandInput, DescribeCertificateAuthorityAuditReportCommandOutput, @@ -29,6 +30,7 @@ import { GetCertificateAuthorityCsrCommandOutput, } from "./commands/GetCertificateAuthorityCsrCommand"; import { GetCertificateCommandInput, GetCertificateCommandOutput } from "./commands/GetCertificateCommand"; +import { GetPolicyCommandInput, GetPolicyCommandOutput } from "./commands/GetPolicyCommand"; import { ImportCertificateAuthorityCertificateCommandInput, ImportCertificateAuthorityCertificateCommandOutput, @@ -40,6 +42,7 @@ import { } from "./commands/ListCertificateAuthoritiesCommand"; import { ListPermissionsCommandInput, ListPermissionsCommandOutput } from "./commands/ListPermissionsCommand"; import { ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; +import { PutPolicyCommandInput, PutPolicyCommandOutput } from "./commands/PutPolicyCommand"; import { RestoreCertificateAuthorityCommandInput, RestoreCertificateAuthorityCommandOutput, @@ -112,16 +115,19 @@ export type ServiceInputTypes = | CreatePermissionCommandInput | DeleteCertificateAuthorityCommandInput | DeletePermissionCommandInput + | DeletePolicyCommandInput | DescribeCertificateAuthorityAuditReportCommandInput | DescribeCertificateAuthorityCommandInput | GetCertificateAuthorityCertificateCommandInput | GetCertificateAuthorityCsrCommandInput | GetCertificateCommandInput + | GetPolicyCommandInput | ImportCertificateAuthorityCertificateCommandInput | IssueCertificateCommandInput | ListCertificateAuthoritiesCommandInput | ListPermissionsCommandInput | ListTagsCommandInput + | PutPolicyCommandInput | RestoreCertificateAuthorityCommandInput | RevokeCertificateCommandInput | TagCertificateAuthorityCommandInput @@ -134,16 +140,19 @@ export type ServiceOutputTypes = | CreatePermissionCommandOutput | DeleteCertificateAuthorityCommandOutput | DeletePermissionCommandOutput + | DeletePolicyCommandOutput | DescribeCertificateAuthorityAuditReportCommandOutput | DescribeCertificateAuthorityCommandOutput | GetCertificateAuthorityCertificateCommandOutput | GetCertificateAuthorityCsrCommandOutput | GetCertificateCommandOutput + | GetPolicyCommandOutput | ImportCertificateAuthorityCertificateCommandOutput | IssueCertificateCommandOutput | ListCertificateAuthoritiesCommandOutput | ListPermissionsCommandOutput | ListTagsCommandOutput + | PutPolicyCommandOutput | RestoreCertificateAuthorityCommandOutput | RevokeCertificateCommandOutput | TagCertificateAuthorityCommandOutput @@ -263,7 +272,10 @@ export type ACMPCAClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHan HostHeaderResolvedConfig; /** - *

This is the ACM Private CA API Reference. It provides descriptions, + * + *

+ * + *

This is the ACM Private CA API Reference. It provides descriptions, * syntax, and usage examples for each of the actions and data types involved in creating * and managing private certificate authorities (CA) for your organization.

*

The documentation for each action shows the Query API request parameters and the XML @@ -272,8 +284,8 @@ export type ACMPCAClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHan * information, see AWS * SDKs.

* - *

Each ACM Private CA API action has a throttling limit which determines the number of times - * the action can be called per second. For more information, see API Rate Limits in ACM Private CA + *

Each ACM Private CA API action has a quota that determines the number of times the action + * can be called per second. For more information, see API Rate Quotas in ACM Private CA * in the ACM Private CA user guide.

*
*/ diff --git a/clients/client-acm-pca/commands/DeletePolicyCommand.ts b/clients/client-acm-pca/commands/DeletePolicyCommand.ts new file mode 100644 index 000000000000..2c6efb3a39f7 --- /dev/null +++ b/clients/client-acm-pca/commands/DeletePolicyCommand.ts @@ -0,0 +1,70 @@ +import { ACMPCAClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ACMPCAClient"; +import { DeletePolicyRequest } from "../models/models_0"; +import { + deserializeAws_json1_1DeletePolicyCommand, + serializeAws_json1_1DeletePolicyCommand, +} 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 DeletePolicyCommandInput = DeletePolicyRequest; +export type DeletePolicyCommandOutput = __MetadataBearer; + +export class DeletePolicyCommand extends $Command< + DeletePolicyCommandInput, + DeletePolicyCommandOutput, + ACMPCAClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeletePolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ACMPCAClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeletePolicyRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeletePolicyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeletePolicyCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeletePolicyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-acm-pca/commands/GetPolicyCommand.ts b/clients/client-acm-pca/commands/GetPolicyCommand.ts new file mode 100644 index 000000000000..6b51fc74fb90 --- /dev/null +++ b/clients/client-acm-pca/commands/GetPolicyCommand.ts @@ -0,0 +1,67 @@ +import { ACMPCAClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ACMPCAClient"; +import { GetPolicyRequest, GetPolicyResponse } from "../models/models_0"; +import { deserializeAws_json1_1GetPolicyCommand, serializeAws_json1_1GetPolicyCommand } 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 GetPolicyCommandInput = GetPolicyRequest; +export type GetPolicyCommandOutput = GetPolicyResponse & __MetadataBearer; + +export class GetPolicyCommand extends $Command< + GetPolicyCommandInput, + GetPolicyCommandOutput, + ACMPCAClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetPolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ACMPCAClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetPolicyRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetPolicyResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetPolicyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetPolicyCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetPolicyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-acm-pca/commands/PutPolicyCommand.ts b/clients/client-acm-pca/commands/PutPolicyCommand.ts new file mode 100644 index 000000000000..30a4d3fd8d9c --- /dev/null +++ b/clients/client-acm-pca/commands/PutPolicyCommand.ts @@ -0,0 +1,67 @@ +import { ACMPCAClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ACMPCAClient"; +import { PutPolicyRequest } from "../models/models_0"; +import { deserializeAws_json1_1PutPolicyCommand, serializeAws_json1_1PutPolicyCommand } 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 PutPolicyCommandInput = PutPolicyRequest; +export type PutPolicyCommandOutput = __MetadataBearer; + +export class PutPolicyCommand extends $Command< + PutPolicyCommandInput, + PutPolicyCommandOutput, + ACMPCAClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutPolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ACMPCAClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: PutPolicyRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: PutPolicyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1PutPolicyCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1PutPolicyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-acm-pca/index.ts b/clients/client-acm-pca/index.ts index 9d364adf078f..9eecb0963a86 100644 --- a/clients/client-acm-pca/index.ts +++ b/clients/client-acm-pca/index.ts @@ -5,11 +5,13 @@ export * from "./commands/CreateCertificateAuthorityAuditReportCommand"; export * from "./commands/CreatePermissionCommand"; export * from "./commands/DeleteCertificateAuthorityCommand"; export * from "./commands/DeletePermissionCommand"; +export * from "./commands/DeletePolicyCommand"; export * from "./commands/DescribeCertificateAuthorityCommand"; export * from "./commands/DescribeCertificateAuthorityAuditReportCommand"; export * from "./commands/GetCertificateCommand"; export * from "./commands/GetCertificateAuthorityCertificateCommand"; export * from "./commands/GetCertificateAuthorityCsrCommand"; +export * from "./commands/GetPolicyCommand"; export * from "./commands/ImportCertificateAuthorityCertificateCommand"; export * from "./commands/IssueCertificateCommand"; export * from "./commands/ListCertificateAuthoritiesCommand"; @@ -18,6 +20,7 @@ export * from "./commands/ListPermissionsCommand"; export * from "./pagination/ListPermissionsPaginator"; export * from "./commands/ListTagsCommand"; export * from "./pagination/ListTagsPaginator"; +export * from "./commands/PutPolicyCommand"; export * from "./commands/RestoreCertificateAuthorityCommand"; export * from "./commands/RevokeCertificateCommand"; export * from "./commands/TagCertificateAuthorityCommand"; diff --git a/clients/client-acm-pca/models/models_0.ts b/clients/client-acm-pca/models/models_0.ts index 95e32edf1343..59d0409acc0c 100644 --- a/clients/client-acm-pca/models/models_0.ts +++ b/clients/client-acm-pca/models/models_0.ts @@ -30,26 +30,35 @@ export enum SigningAlgorithm { */ export interface ASN1Subject { /** - *

Fully qualified domain name (FQDN) associated with the certificate subject.

+ *

Legal name of the organization with which the certificate subject is affiliated. + *

*/ - CommonName?: string; + Organization?: string; /** - *

Concatenation that typically contains the first letter of the GivenName, the first letter of the middle name if one exists, and the - * first letter of the SurName.

+ *

A subdivision or unit of the organization (such as sales or finance) with which the + * certificate subject is affiliated.

*/ - Initials?: string; + OrganizationalUnit?: string; /** - *

A title such as Mr. or Ms., which is pre-pended to the name to refer formally to the - * certificate subject.

+ *

The locality (such as a city or town) in which the certificate subject is + * located.

*/ - Title?: string; + Locality?: string; /** - *

First name.

+ *

Two-digit code that specifies the country in which the certificate subject + * located.

*/ - GivenName?: string; + Country?: string; + + /** + *

Typically a shortened version of a longer GivenName. + * For example, Jonathan is often shortened to John. Elizabeth is often shortened to Beth, + * Liz, or Eliza.

+ */ + Pseudonym?: string; /** *

State in which the subject of the certificate is located.

@@ -63,45 +72,36 @@ export interface ASN1Subject { Surname?: string; /** - *

The certificate serial number.

- */ - SerialNumber?: string; - - /** - *

Two-digit code that specifies the country in which the certificate subject - * located.

+ *

Disambiguating information for the certificate subject.

*/ - Country?: string; + DistinguishedNameQualifier?: string; /** - *

Legal name of the organization with which the certificate subject is affiliated. - *

+ *

Fully qualified domain name (FQDN) associated with the certificate subject.

*/ - Organization?: string; + CommonName?: string; /** - *

Typically a shortened version of a longer GivenName. - * For example, Jonathan is often shortened to John. Elizabeth is often shortened to Beth, - * Liz, or Eliza.

+ *

The certificate serial number.

*/ - Pseudonym?: string; + SerialNumber?: string; /** - *

A subdivision or unit of the organization (such as sales or finance) with which the - * certificate subject is affiliated.

+ *

A title such as Mr. or Ms., which is pre-pended to the name to refer formally to the + * certificate subject.

*/ - OrganizationalUnit?: string; + Title?: string; /** - *

Disambiguating information for the certificate subject.

+ *

First name.

*/ - DistinguishedNameQualifier?: string; + GivenName?: string; /** - *

The locality (such as a city or town) in which the certificate subject is - * located.

+ *

Concatenation that typically contains the first letter of the GivenName, the first letter of the middle name if one exists, and the + * first letter of the SurName.

*/ - Locality?: string; + Initials?: string; /** *

Typically a qualifier appended to the name of an individual. Examples include Jr. for @@ -121,18 +121,13 @@ export namespace ASN1Subject { * includes information about the class of public key algorithm and the key pair that your * private CA creates when it issues a certificate. It also includes the signature * algorithm that it uses when issuing certificates, and its X.500 distinguished name. You - * must specify this information when you call the CreateCertificateAuthority action.

+ * must specify this information when you call the CreateCertificateAuthority action.

*/ export interface CertificateAuthorityConfiguration { - /** - *

Type of the public key algorithm and size, in bits, of the key pair that your CA creates - * when it issues a certificate. When you create a subordinate CA, you must use a key - * algorithm supported by the parent CA.

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

Name of the algorithm your private CA uses to sign certificate requests.

+ *

This parameter should not be confused with the SigningAlgorithm parameter + * used to sign certificates when they are issued.

*/ SigningAlgorithm: SigningAlgorithm | string | undefined; @@ -141,6 +136,13 @@ export interface CertificateAuthorityConfiguration { * CA.

*/ Subject: ASN1Subject | undefined; + + /** + *

Type of the public key algorithm and size, in bits, of the key pair that your CA + * creates when it issues a certificate. When you create a subordinate CA, you must use a + * key algorithm supported by the parent CA.

+ */ + KeyAlgorithm: KeyAlgorithm | string | undefined; } export namespace CertificateAuthorityConfiguration { @@ -163,6 +165,9 @@ export enum CertificateAuthorityType { * private CA copies the CNAME or the S3 bucket name to the CRL * Distribution Points extension of each certificate it issues. Your S3 * bucket policy must give write permission to ACM Private CA.

+ *

ACM Private CAA assets that are stored in Amazon S3 can be protected with encryption. + * For more information, see Encrypting Your + * CRLs.

*

Your private CA uses the value in the ExpirationInDays parameter to calculate the nextUpdate field in the CRL. The CRL is refreshed at 1/2 the age of next * update or when a certificate is revoked. When a certificate is revoked, it is recorded * in the next CRL that is generated and in the next audit report. Only time valid @@ -261,12 +266,12 @@ export enum CertificateAuthorityType { */ export interface CrlConfiguration { /** - *

Name inserted into the certificate CRL Distribution - * Points extension that enables the use of an alias for the CRL - * distribution point. Use this value if you don't want the name of your S3 bucket to be - * public.

+ *

Boolean value that specifies whether certificate revocation lists (CRLs) are enabled. + * You can use this value to enable certificate revocation for a new CA when you call the + * CreateCertificateAuthority action or for an existing CA when you call the + * UpdateCertificateAuthority action.

*/ - CustomCname?: string; + Enabled: boolean | undefined; /** *

Number of days until a certificate expires.

@@ -274,17 +279,18 @@ export interface CrlConfiguration { ExpirationInDays?: number; /** - *

Boolean value that specifies whether certificate revocation lists (CRLs) are enabled. You - * can use this value to enable certificate revocation for a new CA when you call the CreateCertificateAuthority action or for an existing CA when you call - * the UpdateCertificateAuthority action.

+ *

Name inserted into the certificate CRL Distribution + * Points extension that enables the use of an alias for the CRL + * distribution point. Use this value if you don't want the name of your S3 bucket to be + * public.

*/ - Enabled: boolean | undefined; + CustomCname?: string; /** *

Name of the S3 bucket that contains the CRL. If you do not provide a value for the * CustomCname argument, the name of your S3 bucket * is placed into the CRL Distribution Points extension of - * the issued certificate. You can change the name of your bucket by calling the UpdateCertificateAuthority action. You must specify a bucket policy that + * the issued certificate. You can change the name of your bucket by calling the UpdateCertificateAuthority action. You must specify a bucket policy that * allows ACM Private CA to write the CRL to your bucket.

*/ S3BucketName?: string; @@ -297,11 +303,9 @@ export namespace CrlConfiguration { } /** - *

Certificate revocation information used by the CreateCertificateAuthority - * and UpdateCertificateAuthority actions. Your private certificate - * authority (CA) can create and maintain a certificate revocation list (CRL). A CRL - * contains information about certificates revoked by your CA. For more information, see - * RevokeCertificate.

+ *

Certificate revocation information used by the CreateCertificateAuthority and UpdateCertificateAuthority actions. Your private certificate authority (CA) + * can create and maintain a certificate revocation list (CRL). A CRL contains information + * about certificates revoked by your CA. For more information, see RevokeCertificate.

*/ export interface RevocationConfiguration { /** @@ -320,18 +324,19 @@ export namespace RevocationConfiguration { /** *

Tags are labels that you can use to identify and organize your private CAs. Each tag * consists of a key and an optional value. You can associate up to 50 tags with a private - * CA. To add one or more tags to a private CA, call the TagCertificateAuthority action. To remove a tag, call the UntagCertificateAuthority action.

+ * CA. To add one or more tags to a private CA, call the TagCertificateAuthority + * action. To remove a tag, call the UntagCertificateAuthority action.

*/ export interface Tag { /** - *

Key (name) of the tag.

+ *

Value of the tag.

*/ - Key: string | undefined; + Value?: string; /** - *

Value of the tag.

+ *

Key (name) of the tag.

*/ - Value?: string; + Key: string | undefined; } export namespace Tag { @@ -342,17 +347,20 @@ export namespace Tag { export interface CreateCertificateAuthorityRequest { /** - *

Contains a Boolean value that you can use to enable a certification revocation list - * (CRL) for the CA, the name of the S3 bucket to which ACM Private CA will write the CRL, and an - * optional CNAME alias that you can use to hide the name of your bucket in the CRL Distribution Points extension of your CA certificate. For - * more information, see the CrlConfiguration structure.

+ *

Key-value pairs that will be attached to the new private CA. You can associate up to + * 50 tags with a private CA. For information using tags with IAM to manage permissions, + * see Controlling Access Using IAM Tags.

*/ - RevocationConfiguration?: RevocationConfiguration; + Tags?: Tag[]; /** - *

The type of the certificate authority.

+ *

Alphanumeric string that can be used to distinguish between calls to CreateCertificateAuthority. For a given token, ACM Private CA + * creates exactly one CA. If you issue a subsequent call using the same token, ACM Private CA + * returns the ARN of the existing CA and takes no further action. If you change the + * idempotency token across multiple calls, ACM Private CA creates a unique CA for each unique + * token.

*/ - CertificateAuthorityType: CertificateAuthorityType | string | undefined; + IdempotencyToken?: string; /** *

Name and bit size of the private key algorithm, the name of the signing algorithm, and @@ -361,21 +369,18 @@ export interface CreateCertificateAuthorityRequest { CertificateAuthorityConfiguration: CertificateAuthorityConfiguration | undefined; /** - *

Alphanumeric string that can be used to distinguish between calls to CreateCertificateAuthority. Idempotency tokens time out after - * five minutes. Therefore, if you call CreateCertificateAuthority multiple times with the same idempotency - * token within a five minute period, ACM Private CA recognizes that you are requesting only one - * certificate. As a result, ACM Private CA issues only one. If you change the idempotency token for - * each call, however, ACM Private CA recognizes that you are requesting multiple - * certificates.

+ *

The type of the certificate authority.

*/ - IdempotencyToken?: string; + CertificateAuthorityType: CertificateAuthorityType | string | undefined; /** - *

Key-value pairs that will be attached to the new private CA. You can associate up to - * 50 tags with a private CA. For information using tags with

- *

IAM to manage permissions, see Controlling Access Using IAM Tags.

+ *

Contains a Boolean value that you can use to enable a certification revocation list + * (CRL) for the CA, the name of the S3 bucket to which ACM Private CA will write the CRL, and an + * optional CNAME alias that you can use to hide the name of your bucket in the CRL Distribution Points extension of your CA certificate. For + * more information, see the CrlConfiguration structure. + *

*/ - Tags?: Tag[]; + RevocationConfiguration?: RevocationConfiguration; } export namespace CreateCertificateAuthorityRequest { @@ -418,8 +423,9 @@ export namespace InvalidArgsException { } /** - *

The S3 bucket policy is not valid. The policy must give ACM Private CA rights to read from - * and write to the bucket and find the bucket location.

+ *

The resource policy is invalid or is missing a required statement. For general information about + * IAM policy and statement structure, see Overview + * of JSON Policies.

*/ export interface InvalidPolicyException extends __SmithyException, $MetadataBearer { name: "InvalidPolicyException"; @@ -450,8 +456,8 @@ export namespace InvalidTagException { } /** - *

An ACM Private CA limit has been exceeded. See the exception message returned to determine the - * limit that was exceeded.

+ *

An ACM Private CA quota has been exceeded. See the exception message returned to determine the + * quota that was exceeded.

*/ export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; @@ -472,12 +478,9 @@ export enum AuditReportResponseFormat { export interface CreateCertificateAuthorityAuditReportRequest { /** - *

The Amazon Resource Name (ARN) of the CA to be audited. This is of the form:

- *

- * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 - * .

+ *

The name of the S3 bucket that will contain the audit report.

*/ - CertificateAuthorityArn: string | undefined; + S3BucketName: string | undefined; /** *

The format in which to create the report. This can be either JSON or CSV.

@@ -485,9 +488,12 @@ export interface CreateCertificateAuthorityAuditReportRequest { AuditReportResponseFormat: AuditReportResponseFormat | string | undefined; /** - *

The name of the S3 bucket that will contain the audit report.

+ *

The Amazon Resource Name (ARN) of the CA to be audited. This is of the form:

+ *

+ * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 + * .

*/ - S3BucketName: string | undefined; + CertificateAuthorityArn: string | undefined; } export namespace CreateCertificateAuthorityAuditReportRequest { @@ -497,16 +503,16 @@ export namespace CreateCertificateAuthorityAuditReportRequest { } export interface CreateCertificateAuthorityAuditReportResponse { - /** - *

An alphanumeric string that contains a report identifier.

- */ - AuditReportId?: string; - /** *

The key that uniquely identifies the report file in * your S3 bucket.

*/ S3Key?: string; + + /** + *

An alphanumeric string that contains a report identifier.

+ */ + AuditReportId?: string; } export namespace CreateCertificateAuthorityAuditReportResponse { @@ -532,8 +538,7 @@ export namespace InvalidArnException { } /** - *

The private CA is in a state during which a report or certificate cannot be - * generated.

+ *

The state of the private CA does not allow this action to occur.

*/ export interface InvalidStateException extends __SmithyException, $MetadataBearer { name: "InvalidStateException"; @@ -578,7 +583,7 @@ export namespace RequestInProgressException { } /** - *

A resource such as a private CA, S3 bucket, certificate, or audit report cannot be + *

A resource such as a private CA, S3 bucket, certificate, audit report, or policy cannot be * found.

*/ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { @@ -608,20 +613,19 @@ export interface CreatePermissionRequest { Actions: (ActionType | string)[] | undefined; /** - *

The AWS service or identity that receives the permission. At this time, the only - * valid principal is acm.amazonaws.com.

+ *

The ID of the calling account.

*/ - Principal: string | undefined; + SourceAccount?: string; /** - *

The ID of the calling account.

+ *

The AWS service or identity that receives the permission. At this time, the only + * valid principal is acm.amazonaws.com.

*/ - SourceAccount?: string; + Principal: string | undefined; /** - *

The Amazon Resource Name (ARN) of the CA that grants the permissions. You can find the ARN - * by calling the ListCertificateAuthorities action. This must have the - * following form:

+ *

The Amazon Resource Name (ARN) of the CA that grants the permissions. You can find the + * ARN by calling the ListCertificateAuthorities action. This must have the following form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * . @@ -668,19 +672,19 @@ export namespace ConcurrentModificationException { export interface DeleteCertificateAuthorityRequest { /** - *

The number of days to make a CA restorable after it has been deleted. This can be - * anywhere from 7 to 30 days, with 30 being the default.

- */ - PermanentDeletionTimeInDays?: number; - - /** - *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must have the following form:

+ *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must have the following form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * . *

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

The number of days to make a CA restorable after it has been deleted. This can be + * anywhere from 7 to 30 days, with 30 being the default.

+ */ + PermanentDeletionTimeInDays?: number; } export namespace DeleteCertificateAuthorityRequest { @@ -691,9 +695,13 @@ export namespace DeleteCertificateAuthorityRequest { export interface DeletePermissionRequest { /** - *

The Amazon Resource Number (ARN) of the private CA that issued the permissions. You can find - * the CA's ARN by calling the ListCertificateAuthorities action. This - * must have the following form:

+ *

The AWS account that calls this action.

+ */ + SourceAccount?: string; + + /** + *

The Amazon Resource Number (ARN) of the private CA that issued the permissions. You + * can find the CA's ARN by calling the ListCertificateAuthorities action. This must have the following form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * . @@ -701,11 +709,6 @@ export interface DeletePermissionRequest { */ CertificateAuthorityArn: string | undefined; - /** - *

The AWS account that calls this action.

- */ - SourceAccount?: string; - /** *

The AWS service or identity that will have its CA permissions revoked. At this time, * the only valid service principal is acm.amazonaws.com @@ -720,9 +723,41 @@ export namespace DeletePermissionRequest { }); } +export interface DeletePolicyRequest { + /** + *

The Amazon Resource Number (ARN) of the private CA that will have its policy deleted. You + * can find the CA's ARN by calling the ListCertificateAuthorities action. The ARN value must have the form + * arn:aws:acm-pca:region:account:certificate-authority/01234567-89ab-cdef-0123-0123456789ab.

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

The current action was prevented because it would lock the caller out from performing + * subsequent actions. Verify that the specified parameters would not result in the caller + * being denied access to the resource.

+ */ +export interface LockoutPreventedException extends __SmithyException, $MetadataBearer { + name: "LockoutPreventedException"; + $fault: "client"; + message?: string; +} + +export namespace LockoutPreventedException { + export const filterSensitiveLog = (obj: LockoutPreventedException): any => ({ + ...obj, + }); +} + export interface DescribeCertificateAuthorityRequest { /** - *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

+ *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * . @@ -754,66 +789,66 @@ export enum CertificateAuthorityStatus { } /** - *

Contains information about your private certificate authority (CA). Your private CA can - * issue and revoke X.509 digital certificates. Digital certificates verify that the entity - * named in the certificate Subject field owns or controls - * the public key contained in the Subject Public Key Info - * field. Call the CreateCertificateAuthority action to create your - * private CA. You must then call the GetCertificateAuthorityCertificate - * action to retrieve a private CA certificate signing request (CSR). Sign the CSR with - * your ACM Private CA-hosted or on-premises root or subordinate CA certificate. Call the ImportCertificateAuthorityCertificate action to import the signed + *

Contains information about your private certificate authority (CA). Your private CA + * can issue and revoke X.509 digital certificates. Digital certificates verify that the + * entity named in the certificate Subject field owns or + * controls the public key contained in the Subject Public Key + * Info field. Call the CreateCertificateAuthority action to create your private CA. You must then + * call the GetCertificateAuthorityCertificate action to retrieve a private CA + * certificate signing request (CSR). Sign the CSR with your ACM Private CA-hosted or on-premises + * root or subordinate CA certificate. Call the ImportCertificateAuthorityCertificate action to import the signed * certificate into AWS Certificate Manager (ACM).

*/ export interface CertificateAuthority { /** - *

Status of your private CA.

+ *

Reason the request to create your private CA failed.

*/ - Status?: CertificateAuthorityStatus | string; + FailureReason?: FailureReason | string; /** - *

Date and time at which your private CA was created.

+ *

Date and time at which your private CA was last updated.

*/ - CreatedAt?: Date; + LastStateChangeAt?: Date; /** - *

Amazon Resource Name (ARN) for your private certificate authority (CA). The format is - * - * 12345678-1234-1234-1234-123456789012 - * .

+ *

The AWS account ID that owns the certificate authority.

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

Date and time after which your private CA certificate is not valid.

+ *

The period during which a deleted CA can be restored. For more information, see the + * PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthorityRequest action.

*/ - NotAfter?: Date; + RestorableUntil?: Date; /** - *

Serial number of your private CA.

+ *

Information about the certificate revocation list (CRL) created and maintained by your + * private CA.

*/ - Serial?: string; + RevocationConfiguration?: RevocationConfiguration; /** - *

The period during which a deleted CA can be restored. For more information, see the - * PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthorityRequest action.

+ *

Amazon Resource Name (ARN) for your private certificate authority (CA). The format is + * + * 12345678-1234-1234-1234-123456789012 + * .

*/ - RestorableUntil?: Date; + Arn?: string; /** - *

Date and time at which your private CA was last updated.

+ *

Serial number of your private CA.

*/ - LastStateChangeAt?: Date; + Serial?: string; /** - *

Reason the request to create your private CA failed.

+ *

Status of your private CA.

*/ - FailureReason?: FailureReason | string; + Status?: CertificateAuthorityStatus | string; /** - *

Information about the certificate revocation list (CRL) created and maintained by your - * private CA.

+ *

Type of your private CA.

*/ - RevocationConfiguration?: RevocationConfiguration; + Type?: CertificateAuthorityType | string; /** *

Date and time before which your private CA certificate is not valid.

@@ -821,9 +856,14 @@ export interface CertificateAuthority { NotBefore?: Date; /** - *

Type of your private CA.

+ *

Date and time after which your private CA certificate is not valid.

*/ - Type?: CertificateAuthorityType | string; + NotAfter?: Date; + + /** + *

Date and time at which your private CA was created.

+ */ + CreatedAt?: Date; /** *

Your private CA configuration.

@@ -839,8 +879,8 @@ export namespace CertificateAuthority { export interface DescribeCertificateAuthorityResponse { /** - *

A CertificateAuthority structure that contains information about - * your private CA.

+ *

A CertificateAuthority structure that contains information about your private + * CA.

*/ CertificateAuthority?: CertificateAuthority; } @@ -853,7 +893,7 @@ export namespace DescribeCertificateAuthorityResponse { export interface DescribeCertificateAuthorityAuditReportRequest { /** - *

The report ID returned by calling the CreateCertificateAuthorityAuditReport action.

+ *

The report ID returned by calling the CreateCertificateAuthorityAuditReport action.

*/ AuditReportId: string | undefined; @@ -880,11 +920,6 @@ export enum AuditReportStatus { } export interface DescribeCertificateAuthorityAuditReportResponse { - /** - *

Specifies whether report creation is in progress, has succeeded, or has failed.

- */ - AuditReportStatus?: AuditReportStatus | string; - /** *

Name of the S3 bucket that contains the report.

*/ @@ -900,6 +935,11 @@ export interface DescribeCertificateAuthorityAuditReportResponse { *

The date and time at which the report was created.

*/ CreatedAt?: Date; + + /** + *

Specifies whether report creation is in progress, has succeeded, or has failed.

+ */ + AuditReportStatus?: AuditReportStatus | string; } export namespace DescribeCertificateAuthorityAuditReportResponse { @@ -920,7 +960,7 @@ export interface GetCertificateRequest { CertificateArn: string | undefined; /** - *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

+ *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * . @@ -974,10 +1014,10 @@ export namespace GetCertificateAuthorityCertificateRequest { export interface GetCertificateAuthorityCertificateResponse { /** - *

Base64-encoded certificate chain that includes any intermediate certificates and chains up - * to root on-premises certificate that you used to sign your private CA certificate. The - * chain does not include your private CA certificate. If this is a root CA, the value will - * be null.

+ *

Base64-encoded certificate chain that includes any intermediate certificates and + * chains up to root on-premises certificate that you used to sign your private CA + * certificate. The chain does not include your private CA certificate. If this is a root + * CA, the value will be null.

*/ CertificateChain?: string; @@ -995,7 +1035,7 @@ export namespace GetCertificateAuthorityCertificateResponse { export interface GetCertificateAuthorityCsrRequest { /** - *

The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:

+ *

The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * @@ -1024,6 +1064,35 @@ export namespace GetCertificateAuthorityCsrResponse { }); } +export interface GetPolicyRequest { + /** + *

The Amazon Resource Number (ARN) of the private CA that will have its policy + * retrieved. You can find the CA's ARN by calling the ListCertificateAuthorities action. + * + *

+ */ + ResourceArn: string | undefined; +} + +export namespace GetPolicyRequest { + export const filterSensitiveLog = (obj: GetPolicyRequest): any => ({ + ...obj, + }); +} + +export interface GetPolicyResponse { + /** + *

The policy attached to the private CA as a JSON document.

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

The certificate authority certificate you are importing does not comply with * conditions specified in the certificate that signed it.

@@ -1042,17 +1111,13 @@ export namespace CertificateMismatchException { export interface ImportCertificateAuthorityCertificateRequest { /** - *

A PEM-encoded file that contains all of your certificates, other than the certificate you're - * importing, chaining up to your root CA. Your ACM Private CA-hosted or on-premises root - * certificate is the last in the chain, and each certificate in the chain signs the one - * preceding.

- *

This parameter must be supplied when you import a subordinate CA. When you import a - * root CA, there is no chain.

+ *

The PEM-encoded certificate for a private CA. This may be a self-signed certificate in + * the case of a root CA, or it may be signed by another CA that you control.

*/ - CertificateChain?: Uint8Array; + Certificate: Uint8Array | undefined; /** - *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

+ *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * @@ -1061,10 +1126,14 @@ export interface ImportCertificateAuthorityCertificateRequest { CertificateAuthorityArn: string | undefined; /** - *

The PEM-encoded certificate for a private CA. This may be a self-signed certificate in the - * case of a root CA, or it may be signed by another CA that you control.

+ *

A PEM-encoded file that contains all of your certificates, other than the certificate + * you're importing, chaining up to your root CA. Your ACM Private CA-hosted or on-premises root + * certificate is the last in the chain, and each certificate in the chain signs the one + * preceding.

+ *

This parameter must be supplied when you import a subordinate CA. When you import a + * root CA, there is no chain.

*/ - Certificate: Uint8Array | undefined; + CertificateChain?: Uint8Array; } export namespace ImportCertificateAuthorityCertificateRequest { @@ -1112,21 +1181,65 @@ export enum ValidityPeriodType { } /** - *

Length of time for which the certificate issued by your private certificate authority (CA), - * or by the private CA itself, is valid in days, months, or years. You can issue a - * certificate by calling the IssueCertificate action.

+ *

Validity specifies the period of time during which a certificate is valid. Validity can be + * expressed as an explicit date and time when the certificate expires, or as a span of + * time after issuance, stated in days, months, or years. For more information, see Validity in RFC + * 5280.

+ *

You can issue a certificate by calling the IssueCertificate action.

*/ export interface Validity { /** - *

Specifies whether the Value parameter represents days, months, or - * years.

+ *

A long integer interpreted according to the value of Type, below.

*/ - Type: ValidityPeriodType | string | undefined; + Value: number | undefined; /** - *

Time period.

+ *

Determines how ACM Private CA interprets the Value parameter, + * an integer. Supported validity types include those listed below. Type definitions with + * values include a sample input value and the resulting output.

+ *

+ * END_DATE: The specific date and time when the certificate will expire, + * expressed using UTCTime (YYMMDDHHMMSS) or GeneralizedTime (YYYYMMDDHHMMSS) format. When + * UTCTime is used, if the year field (YY) is greater than or equal to 50, the year is + * interpreted as 19YY. If the year field is less than 50, the year is interpreted as + * 20YY.

+ * + *
    + *
  • + *

    Sample input value: 491231235959 (UTCTime format)

    + *
  • + *
  • + *

    Output expiration date/time: 12/31/2049 23:59:59

    + *
  • + *
+ * + *

+ * ABSOLUTE: The specific date and time when the certificate will expire, + * expressed in seconds since the Unix Epoch.

+ * + *
    + *
  • + *

    Sample input value: 2524608000

    + *
  • + *
  • + *

    Output expiration date/time: 01/01/2050 00:00:00

    + *
  • + *
+ *

+ * DAYS, MONTHS, YEARS: The relative time from the + * moment of issuance until the certificate will expire, expressed in days, months, or + * years.

+ *

Example if DAYS, issued on 10/12/2020 at 12:34:54 UTC:

+ *
    + *
  • + *

    Sample input value: 90

    + *
  • + *
  • + *

    Output expiration date: 01/10/2020 12:34:54 UTC

    + *
  • + *
*/ - Value: number | undefined; + Type: ValidityPeriodType | string | undefined; } export namespace Validity { @@ -1136,15 +1249,6 @@ export namespace Validity { } export interface IssueCertificateRequest { - /** - *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

- *

- * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 - * - *

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

The certificate signing request (CSR) for the certificate you want to issue. You can * use the following OpenSSL command to create the CSR and a 2048 bit RSA private key.

@@ -1160,19 +1264,92 @@ export interface IssueCertificateRequest { * -days -365 -keyout private/test_cert_priv_key.pem -out * csr/test_cert_.csr *

+ *

Note: A CSR must provide either a subject name or a + * subject alternative name or the request will be rejected. + *

*/ Csr: Uint8Array | undefined; + /** + *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

+ *

+ * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 + * + *

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

Custom string that can be used to distinguish between calls to the IssueCertificate action. Idempotency tokens time out after + * one hour. Therefore, if you call IssueCertificate + * multiple times with the same idempotency token within 5 minutes, ACM Private CA recognizes that + * you are requesting only one certificate and will issue only one. If you change the + * idempotency token for each call, PCA recognizes that you are requesting multiple + * certificates.

+ */ + IdempotencyToken?: string; + + /** + *

The name of the algorithm that will be used to sign the certificate to be issued.

+ *

This parameter should not be confused with the SigningAlgorithm parameter + * used to sign a CSR.

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

Information describing the validity period of the certificate.

+ *

When issuing a certificate, ACM Private CA sets the "Not Before" date in the validity field to + * date and time minus 60 minutes. This is intended to compensate for time inconsistencies + * across systems of 60 minutes or less.

+ *

The validity period configured on a certificate must not exceed the limit set by its + * parents in the CA hierarchy.

+ */ + Validity: Validity | undefined; + /** *

Specifies a custom configuration template to use when issuing a certificate. If this * parameter is not provided, ACM Private CA defaults to the EndEntityCertificate/V1 - * template.

+ * template. For CA certificates, you should choose the shortest path length that meets + * your needs. The path length is indicated by the PathLenN portion of + * the ARN, where N is the CA depth.

+ *

Note: The CA depth configured on a subordinate CA certificate must not exceed the + * limit set by its parents in the CA hierarchy.

*

The following service-owned TemplateArn values are supported by ACM Private CA:

*
    *
  • + *

    arn:aws:acm-pca:::template/CodeSigningCertificate/V1

    + *
  • + *
  • + *

    arn:aws:acm-pca:::template/CodeSigningCertificate_CSRPassthrough/V1

    + *
  • + *
  • *

    arn:aws:acm-pca:::template/EndEntityCertificate/V1

    *
  • *
  • + *

    arn:aws:acm-pca:::template/EndEntityCertificate_CSRPassthrough/V1

    + *
  • + *
  • + *

    arn:aws:acm-pca:::template/EndEntityClientAuthCertificate/V1

    + *
  • + *
  • + *

    arn:aws:acm-pca:::template/EndEntityClientAuthCertificate_CSRPassthrough/V1

    + *
  • + *
  • + *

    arn:aws:acm-pca:::template/EndEntityServerAuthCertificate/V1

    + *
  • + *
  • + *

    arn:aws:acm-pca:::template/EndEntityServerAuthCertificate_CSRPassthrough/V1

    + *
  • + *
  • + *

    arn:aws:acm-pca:::template/OCSPSigningCertificate/V1

    + *
  • + *
  • + *

    arn:aws:acm-pca:::template/OCSPSigningCertificate_CSRPassthrough/V1

    + *
  • + *
  • + *

    arn:aws:acm-pca:::template/RootCACertificate/V1

    + *
  • + *
  • *

    arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen0/V1

    *
  • *
  • @@ -1184,35 +1361,10 @@ export interface IssueCertificateRequest { *
  • *

    arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen3/V1

    *
  • - *
  • - *

    arn:aws:acm-pca:::template/RootCACertificate/V1

    - *
  • *
- *

For more information, see Using - * Templates.

+ *

For more information, see Using Templates.

*/ TemplateArn?: string; - - /** - *

The type of the validity period.

- */ - Validity: Validity | undefined; - - /** - *

Custom string that can be used to distinguish between calls to the IssueCertificate action. Idempotency tokens time out after one hour. - * Therefore, if you call IssueCertificate multiple times - * with the same idempotency token within 5 minutes, ACM Private CA recognizes that you are - * requesting only one certificate and will issue only one. If you change the idempotency - * token for each call, PCA recognizes that you are requesting multiple - * certificates.

- */ - IdempotencyToken?: string; - - /** - *

The name of the algorithm that will be used to sign the certificate to be - * issued.

- */ - SigningAlgorithm: SigningAlgorithm | string | undefined; } export namespace IssueCertificateRequest { @@ -1256,7 +1408,7 @@ export namespace MalformedCSRException { /** *

The token specified in the NextToken argument is not valid. Use the token - * returned from your previous call to ListCertificateAuthorities.

+ * returned from your previous call to ListCertificateAuthorities.

*/ export interface InvalidNextTokenException extends __SmithyException, $MetadataBearer { name: "InvalidNextTokenException"; @@ -1270,6 +1422,11 @@ export namespace InvalidNextTokenException { }); } +export enum ResourceOwner { + OTHER_ACCOUNTS = "OTHER_ACCOUNTS", + SELF = "SELF", +} + export interface ListCertificateAuthoritiesRequest { /** *

Use this parameter when paginating results to specify the maximum number of items to @@ -1286,6 +1443,12 @@ export interface ListCertificateAuthoritiesRequest { * parameter from the response you just received.

*/ NextToken?: string; + + /** + *

Use this parameter to filter the returned set of certificate authorities based on + * their owner. The default is SELF.

+ */ + ResourceOwner?: ResourceOwner | string; } export namespace ListCertificateAuthoritiesRequest { @@ -1314,12 +1477,6 @@ export namespace ListCertificateAuthoritiesResponse { } export interface ListPermissionsRequest { - /** - *

When paginating results, use this parameter in a subsequent request after you receive - * a response with truncated results. Set it to the value of NextToken from the response you just received.

- */ - NextToken?: string; - /** *

When paginating results, use this parameter to specify the maximum number of items to * return in the response. If additional items exist beyond the number you specify, the @@ -1329,12 +1486,17 @@ export interface ListPermissionsRequest { */ MaxResults?: number; + /** + *

When paginating results, use this parameter in a subsequent request after you receive + * a response with truncated results. Set it to the value of NextToken from the response you just received.

+ */ + NextToken?: string; + /** *

The Amazon Resource Number (ARN) of the private CA to inspect. You can find the ARN by - * calling the ListCertificateAuthorities action. This must be of the - * form: + * calling the ListCertificateAuthorities action. This must be of the form: * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 - * You can get a private CA's ARN by running the ListCertificateAuthorities action.

+ * You can get a private CA's ARN by running the ListCertificateAuthorities action.

*/ CertificateAuthorityArn: string | undefined; } @@ -1350,20 +1512,15 @@ export namespace ListPermissionsRequest { * entity. In order for ACM to automatically renew private certificates, you must give * the ACM service principal all available permissions (IssueCertificate, * GetCertificate, and ListPermissions). Permissions can be - * assigned with the CreatePermission action, removed with the DeletePermission action, and listed with the ListPermissions action.

+ * assigned with the CreatePermission action, + * removed with the DeletePermission action, and + * listed with the ListPermissions action.

*/ export interface Permission { /** - *

The AWS service or entity that holds the permission. At this time, the only valid - * principal is acm.amazonaws.com.

- */ - Principal?: string; - - /** - *

The Amazon Resource Number (ARN) of the private CA from which the permission was - * issued.

+ *

The ID of the account that assigned the permission.

*/ - CertificateAuthorityArn?: string; + SourceAccount?: string; /** *

The time at which the permission was created.

@@ -1371,15 +1528,22 @@ export interface Permission { CreatedAt?: Date; /** - *

The ID of the account that assigned the permission.

+ *

The AWS service or entity that holds the permission. At this time, the only valid + * principal is acm.amazonaws.com.

*/ - SourceAccount?: string; + Principal?: string; /** *

The private CA actions that can be performed by the designated AWS service.

*/ Actions?: (ActionType | string)[]; + /** + *

The Amazon Resource Number (ARN) of the private CA from which the permission was + * issued.

+ */ + CertificateAuthorityArn?: string; + /** *

The name of the policy that is associated with the permission.

*/ @@ -1393,17 +1557,17 @@ export namespace Permission { } export interface ListPermissionsResponse { - /** - *

Summary information about each permission assigned by the specified private CA, - * including the action enabled, the policy provided, and the time of creation.

- */ - Permissions?: Permission[]; - /** *

When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request. *

*/ NextToken?: string; + + /** + *

Summary information about each permission assigned by the specified private CA, + * including the action enabled, the policy provided, and the time of creation.

+ */ + Permissions?: Permission[]; } export namespace ListPermissionsResponse { @@ -1429,7 +1593,7 @@ export interface ListTagsRequest { NextToken?: string; /** - *

The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:

+ *

The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * @@ -1445,27 +1609,51 @@ export namespace ListTagsRequest { } export interface ListTagsResponse { + /** + *

The tags associated with your private CA.

+ */ + Tags?: Tag[]; + /** *

When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request. *

*/ NextToken?: string; +} + +export namespace ListTagsResponse { + export const filterSensitiveLog = (obj: ListTagsResponse): any => ({ + ...obj, + }); +} +export interface PutPolicyRequest { /** - *

The tags associated with your private CA.

+ *

The path and filename of a JSON-formatted IAM policy to attach to the specified private CA + * resource. If this policy does not contain all required statements or if it includes any + * statement that is not allowed, the PutPolicy action returns an InvalidPolicyException. + * For information about IAM policy and statement structure, see Overview + * of JSON Policies.

*/ - Tags?: Tag[]; + Policy: string | undefined; + + /** + *

The Amazon Resource Number (ARN) of the private CA to associate with the policy. The ARN of + * the CA can be found by calling the ListCertificateAuthorities action.

+ *

+ */ + ResourceArn: string | undefined; } -export namespace ListTagsResponse { - export const filterSensitiveLog = (obj: ListTagsResponse): any => ({ +export namespace PutPolicyRequest { + export const filterSensitiveLog = (obj: PutPolicyRequest): any => ({ ...obj, }); } export interface RestoreCertificateAuthorityRequest { /** - *

The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:

+ *

The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * @@ -1507,6 +1695,21 @@ export enum RevocationReason { } export interface RevokeCertificateRequest { + /** + *

Serial number of the certificate to be revoked. This must be in hexadecimal format. + * You can retrieve the serial number by calling GetCertificate with the Amazon + * Resource Name (ARN) of the certificate you want and the ARN of your private CA. The + * GetCertificate action retrieves the certificate in + * the PEM format. You can use the following OpenSSL command to list the certificate in + * text format and copy the hexadecimal serial number.

+ *

+ * openssl x509 -in file_path -text -noout + *

+ *

You can also copy the serial number from the console or use the DescribeCertificate action in the AWS Certificate Manager API + * Reference.

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

Amazon Resource Name (ARN) of the private CA that issued the certificate to be * revoked. This must be of the form:

@@ -1521,21 +1724,6 @@ export interface RevokeCertificateRequest { *

Specifies why you revoked the certificate.

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

Serial number of the certificate to be revoked. This must be in hexadecimal format. You can - * retrieve the serial number by calling GetCertificate with the Amazon - * Resource Name (ARN) of the certificate you want and the ARN of your private CA. The - * GetCertificate action retrieves the certificate in - * the PEM format. You can use the following OpenSSL command to list the certificate in - * text format and copy the hexadecimal serial number.

- *

- * openssl x509 -in file_path -text -noout - *

- *

You can also copy the serial number from the console or use the DescribeCertificate action in the AWS Certificate Manager API - * Reference.

- */ - CertificateSerial: string | undefined; } export namespace RevokeCertificateRequest { @@ -1546,7 +1734,7 @@ export namespace RevokeCertificateRequest { export interface TagCertificateAuthorityRequest { /** - *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

+ *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * @@ -1584,18 +1772,18 @@ export namespace TooManyTagsException { export interface UntagCertificateAuthorityRequest { /** - *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

+ *

List of tags to be removed from the CA.

+ */ + Tags: Tag[] | undefined; + + /** + *

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * *

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

List of tags to be removed from the CA.

- */ - Tags: Tag[] | undefined; } export namespace UntagCertificateAuthorityRequest { diff --git a/clients/client-acm-pca/protocols/Aws_json1_1.ts b/clients/client-acm-pca/protocols/Aws_json1_1.ts index 97ac92041e94..9e3e61880d9f 100644 --- a/clients/client-acm-pca/protocols/Aws_json1_1.ts +++ b/clients/client-acm-pca/protocols/Aws_json1_1.ts @@ -12,6 +12,7 @@ import { DeleteCertificateAuthorityCommandOutput, } from "../commands/DeleteCertificateAuthorityCommand"; import { DeletePermissionCommandInput, DeletePermissionCommandOutput } from "../commands/DeletePermissionCommand"; +import { DeletePolicyCommandInput, DeletePolicyCommandOutput } from "../commands/DeletePolicyCommand"; import { DescribeCertificateAuthorityAuditReportCommandInput, DescribeCertificateAuthorityAuditReportCommandOutput, @@ -29,6 +30,7 @@ import { GetCertificateAuthorityCsrCommandOutput, } from "../commands/GetCertificateAuthorityCsrCommand"; import { GetCertificateCommandInput, GetCertificateCommandOutput } from "../commands/GetCertificateCommand"; +import { GetPolicyCommandInput, GetPolicyCommandOutput } from "../commands/GetPolicyCommand"; import { ImportCertificateAuthorityCertificateCommandInput, ImportCertificateAuthorityCertificateCommandOutput, @@ -40,6 +42,7 @@ import { } from "../commands/ListCertificateAuthoritiesCommand"; import { ListPermissionsCommandInput, ListPermissionsCommandOutput } from "../commands/ListPermissionsCommand"; import { ListTagsCommandInput, ListTagsCommandOutput } from "../commands/ListTagsCommand"; +import { PutPolicyCommandInput, PutPolicyCommandOutput } from "../commands/PutPolicyCommand"; import { RestoreCertificateAuthorityCommandInput, RestoreCertificateAuthorityCommandOutput, @@ -72,6 +75,7 @@ import { CrlConfiguration, DeleteCertificateAuthorityRequest, DeletePermissionRequest, + DeletePolicyRequest, DescribeCertificateAuthorityAuditReportRequest, DescribeCertificateAuthorityAuditReportResponse, DescribeCertificateAuthorityRequest, @@ -82,6 +86,8 @@ import { GetCertificateAuthorityCsrResponse, GetCertificateRequest, GetCertificateResponse, + GetPolicyRequest, + GetPolicyResponse, ImportCertificateAuthorityCertificateRequest, InvalidArgsException, InvalidArnException, @@ -99,10 +105,12 @@ import { ListPermissionsResponse, ListTagsRequest, ListTagsResponse, + LockoutPreventedException, MalformedCSRException, MalformedCertificateException, Permission, PermissionAlreadyExistsException, + PutPolicyRequest, RequestAlreadyProcessedException, RequestFailedException, RequestInProgressException, @@ -192,6 +200,19 @@ export const serializeAws_json1_1DeletePermissionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeletePolicyCommand = async ( + input: DeletePolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ACMPrivateCA.DeletePolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeletePolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeCertificateAuthorityCommand = async ( input: DescribeCertificateAuthorityCommandInput, context: __SerdeContext @@ -257,6 +278,19 @@ export const serializeAws_json1_1GetCertificateAuthorityCsrCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetPolicyCommand = async ( + input: GetPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ACMPrivateCA.GetPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ImportCertificateAuthorityCertificateCommand = async ( input: ImportCertificateAuthorityCertificateCommandInput, context: __SerdeContext @@ -322,6 +356,19 @@ export const serializeAws_json1_1ListTagsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1PutPolicyCommand = async ( + input: PutPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ACMPrivateCA.PutPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1PutPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1RestoreCertificateAuthorityCommand = async ( input: RestoreCertificateAuthorityCommandInput, context: __SerdeContext @@ -805,6 +852,98 @@ const deserializeAws_json1_1DeletePermissionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeletePolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeletePolicyCommandError(output, context); + } + await collectBody(output.body, context); + const response: DeletePolicyCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeletePolicyCommandError = 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 "ConcurrentModificationException": + case "com.amazonaws.acmpca#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidArnException": + case "com.amazonaws.acmpca#InvalidArnException": + response = { + ...(await deserializeAws_json1_1InvalidArnExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidStateException": + case "com.amazonaws.acmpca#InvalidStateException": + response = { + ...(await deserializeAws_json1_1InvalidStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LockoutPreventedException": + case "com.amazonaws.acmpca#LockoutPreventedException": + response = { + ...(await deserializeAws_json1_1LockoutPreventedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "RequestFailedException": + case "com.amazonaws.acmpca#RequestFailedException": + response = { + ...(await deserializeAws_json1_1RequestFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.acmpca#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_1DescribeCertificateAuthorityCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1184,6 +1323,85 @@ const deserializeAws_json1_1GetCertificateAuthorityCsrCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1GetPolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetPolicyCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetPolicyResponse(data, context); + const response: GetPolicyCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetPolicyCommandError = 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 "InvalidArnException": + case "com.amazonaws.acmpca#InvalidArnException": + response = { + ...(await deserializeAws_json1_1InvalidArnExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidStateException": + case "com.amazonaws.acmpca#InvalidStateException": + response = { + ...(await deserializeAws_json1_1InvalidStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "RequestFailedException": + case "com.amazonaws.acmpca#RequestFailedException": + response = { + ...(await deserializeAws_json1_1RequestFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.acmpca#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_1ImportCertificateAuthorityCertificateCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1608,6 +1826,106 @@ const deserializeAws_json1_1ListTagsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1PutPolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1PutPolicyCommandError(output, context); + } + await collectBody(output.body, context); + const response: PutPolicyCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1PutPolicyCommandError = 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 "ConcurrentModificationException": + case "com.amazonaws.acmpca#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidArnException": + case "com.amazonaws.acmpca#InvalidArnException": + response = { + ...(await deserializeAws_json1_1InvalidArnExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidPolicyException": + case "com.amazonaws.acmpca#InvalidPolicyException": + response = { + ...(await deserializeAws_json1_1InvalidPolicyExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidStateException": + case "com.amazonaws.acmpca#InvalidStateException": + response = { + ...(await deserializeAws_json1_1InvalidStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LockoutPreventedException": + case "com.amazonaws.acmpca#LockoutPreventedException": + response = { + ...(await deserializeAws_json1_1LockoutPreventedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "RequestFailedException": + case "com.amazonaws.acmpca#RequestFailedException": + response = { + ...(await deserializeAws_json1_1RequestFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.acmpca#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_1RestoreCertificateAuthorityCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2194,6 +2512,21 @@ const deserializeAws_json1_1LimitExceededExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1LockoutPreventedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1LockoutPreventedException(body, context); + const contents: LockoutPreventedException = { + name: "LockoutPreventedException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1MalformedCertificateExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -2421,6 +2754,12 @@ const serializeAws_json1_1DeletePermissionRequest = (input: DeletePermissionRequ }; }; +const serializeAws_json1_1DeletePolicyRequest = (input: DeletePolicyRequest, context: __SerdeContext): any => { + return { + ...(input.ResourceArn !== undefined && { ResourceArn: input.ResourceArn }), + }; +}; + const serializeAws_json1_1DescribeCertificateAuthorityAuditReportRequest = ( input: DescribeCertificateAuthorityAuditReportRequest, context: __SerdeContext @@ -2465,6 +2804,12 @@ const serializeAws_json1_1GetCertificateRequest = (input: GetCertificateRequest, }; }; +const serializeAws_json1_1GetPolicyRequest = (input: GetPolicyRequest, context: __SerdeContext): any => { + return { + ...(input.ResourceArn !== undefined && { ResourceArn: input.ResourceArn }), + }; +}; + const serializeAws_json1_1ImportCertificateAuthorityCertificateRequest = ( input: ImportCertificateAuthorityCertificateRequest, context: __SerdeContext @@ -2494,6 +2839,7 @@ const serializeAws_json1_1ListCertificateAuthoritiesRequest = ( return { ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.ResourceOwner !== undefined && { ResourceOwner: input.ResourceOwner }), }; }; @@ -2513,6 +2859,13 @@ const serializeAws_json1_1ListTagsRequest = (input: ListTagsRequest, context: __ }; }; +const serializeAws_json1_1PutPolicyRequest = (input: PutPolicyRequest, context: __SerdeContext): any => { + return { + ...(input.Policy !== undefined && { Policy: input.Policy }), + ...(input.ResourceArn !== undefined && { ResourceArn: input.ResourceArn }), + }; +}; + const serializeAws_json1_1RestoreCertificateAuthorityRequest = ( input: RestoreCertificateAuthorityRequest, context: __SerdeContext @@ -2653,6 +3006,7 @@ const deserializeAws_json1_1CertificateAuthority = (output: any, context: __Serd output.NotBefore !== undefined && output.NotBefore !== null ? new Date(Math.round(output.NotBefore * 1000)) : undefined, + OwnerAccount: output.OwnerAccount !== undefined && output.OwnerAccount !== null ? output.OwnerAccount : undefined, RestorableUntil: output.RestorableUntil !== undefined && output.RestorableUntil !== null ? new Date(Math.round(output.RestorableUntil * 1000)) @@ -2791,6 +3145,12 @@ const deserializeAws_json1_1GetCertificateResponse = (output: any, context: __Se } as any; }; +const deserializeAws_json1_1GetPolicyResponse = (output: any, context: __SerdeContext): GetPolicyResponse => { + return { + Policy: output.Policy !== undefined && output.Policy !== null ? output.Policy : undefined, + } as any; +}; + const deserializeAws_json1_1InvalidArgsException = (output: any, context: __SerdeContext): InvalidArgsException => { return { message: output.message !== undefined && output.message !== null ? output.message : undefined, @@ -2891,6 +3251,15 @@ const deserializeAws_json1_1ListTagsResponse = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_json1_1LockoutPreventedException = ( + output: any, + context: __SerdeContext +): LockoutPreventedException => { + return { + message: output.message !== undefined && output.message !== null ? output.message : undefined, + } as any; +}; + const deserializeAws_json1_1MalformedCertificateException = ( output: any, context: __SerdeContext diff --git a/clients/client-acm/models/models_0.ts b/clients/client-acm/models/models_0.ts index a4adbb5785c0..6490863195bc 100644 --- a/clients/client-acm/models/models_0.ts +++ b/clients/client-acm/models/models_0.ts @@ -6,14 +6,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface Tag { /** - *

The value of the tag.

+ *

The key of the tag.

*/ - Value?: string; + Key: string | undefined; /** - *

The key of the tag.

+ *

The value of the tag.

*/ - Key: string | undefined; + Value?: string; } export namespace Tag { @@ -155,14 +155,14 @@ export interface ResourceRecord { Value: string | undefined; /** - *

The type of DNS record. Currently this can be CNAME.

+ *

The name of the DNS record to create in your domain. This is supplied by ACM.

*/ - Type: RecordType | string | undefined; + Name: string | undefined; /** - *

The name of the DNS record to create in your domain. This is supplied by ACM.

+ *

The type of DNS record. Currently this can be CNAME.

*/ - Name: string | undefined; + Type: RecordType | string | undefined; } export namespace ResourceRecord { @@ -187,14 +187,9 @@ export enum DomainStatus { */ export interface DomainValidation { /** - *

Contains the CNAME record that you add to your DNS database for domain validation. For - * more information, see Use DNS to Validate Domain Ownership.

- *

Note: The CNAME information that you need does not include the name of your domain. If you - * include
 your domain name in the DNS database CNAME record, validation fails.
 For example, if - * the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only - * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.

+ *

Specifies the domain validation method.

*/ - ResourceRecord?: ResourceRecord; + ValidationMethod?: ValidationMethod | string; /** *

A fully qualified domain name (FQDN) in the certificate. For example, @@ -202,21 +197,6 @@ export interface DomainValidation { */ DomainName: string | undefined; - /** - *

The domain name that ACM used to send domain validation emails.

- */ - ValidationDomain?: string; - - /** - *

Specifies the domain validation method.

- */ - ValidationMethod?: ValidationMethod | string; - - /** - *

A list of email addresses that ACM used to send domain validation emails.

- */ - ValidationEmails?: string[]; - /** *

The validation status of the domain name. This can be one of the following values:

* @@ -237,6 +217,26 @@ export interface DomainValidation { * */ ValidationStatus?: DomainStatus | string; + + /** + *

A list of email addresses that ACM used to send domain validation emails.

+ */ + ValidationEmails?: string[]; + + /** + *

Contains the CNAME record that you add to your DNS database for domain validation. For + * more information, see Use DNS to Validate Domain Ownership.

+ *

Note: The CNAME information that you need does not include the name of your domain. If you + * include
 your domain name in the DNS database CNAME record, validation fails.
 For example, if + * the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only + * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.

+ */ + ResourceRecord?: ResourceRecord; + + /** + *

The domain name that ACM used to send domain validation emails.

+ */ + ValidationDomain?: string; } export namespace DomainValidation { @@ -266,11 +266,6 @@ export enum ExtendedKeyUsageName { * the Key Usage extension.

*/ export interface ExtendedKeyUsage { - /** - *

The name of an Extended Key Usage value.

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

An object identifier (OID) for the extension value. OIDs are strings of numbers separated * by periods. The following OIDs are defined in RFC 3280 and RFC 5280.

@@ -324,6 +319,11 @@ export interface ExtendedKeyUsage { * */ OID?: string; + + /** + *

The name of an Extended Key Usage value.

+ */ + Name?: ExtendedKeyUsageName | string; } export namespace ExtendedKeyUsage { @@ -349,6 +349,7 @@ export enum FailureReason { PCA_NAME_CONSTRAINTS_VALIDATION = "PCA_NAME_CONSTRAINTS_VALIDATION", PCA_REQUEST_FAILED = "PCA_REQUEST_FAILED", PCA_RESOURCE_NOT_FOUND = "PCA_RESOURCE_NOT_FOUND", + SLR_NOT_FOUND = "SLR_NOT_FOUND", } export enum KeyAlgorithm { @@ -437,14 +438,9 @@ export enum RenewalStatus { */ export interface RenewalSummary { /** - *

The reason that a renewal request was unsuccessful.

- */ - RenewalStatusReason?: FailureReason | string; - - /** - *

The status of ACM's managed renewal of the certificate.

+ *

The time at which the renewal summary was last updated.

*/ - RenewalStatus: RenewalStatus | string | undefined; + UpdatedAt: Date | undefined; /** *

Contains information about the validation of each domain name in the certificate, as it @@ -456,9 +452,14 @@ export interface RenewalSummary { DomainValidationOptions: DomainValidation[] | undefined; /** - *

The time at which the renewal summary was last updated.

+ *

The reason that a renewal request was unsuccessful.

*/ - UpdatedAt: Date | undefined; + RenewalStatusReason?: FailureReason | string; + + /** + *

The status of ACM's managed renewal of the certificate.

+ */ + RenewalStatus: RenewalStatus | string | undefined; } export namespace RenewalSummary { @@ -502,28 +503,42 @@ export enum CertificateType { */ export interface CertificateDetail { /** - *

Specifies whether the certificate is eligible for renewal. At this time, only exported - * private certificates can be renewed with the RenewCertificate - * command.

+ *

The algorithm that was used to generate the public-private key pair.

*/ - RenewalEligibility?: RenewalEligibility | string; + KeyAlgorithm?: KeyAlgorithm | string; /** - *

The algorithm that was used to sign the certificate.

+ *

A list of Key Usage X.509 v3 extension objects. Each object is a string value that + * identifies the purpose of the public key contained in the certificate. Possible extension + * values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

*/ - SignatureAlgorithm?: string; + KeyUsages?: KeyUsage[]; /** - *

A list of ARNs for the AWS resources that are using the certificate. A certificate can - * be used by multiple AWS resources.

+ *

The reason the certificate request failed. This value exists only when the certificate + * status is FAILED. For more information, see Certificate Request + * Failed in the AWS Certificate Manager User Guide.

*/ - InUseBy?: string[]; + FailureReason?: FailureReason | string; /** - *

The time at which the certificate was revoked. This value exists only when the certificate - * status is REVOKED.

+ *

Contains information about the status of ACM's managed renewal for the certificate. This field + * exists only when the certificate type is AMAZON_ISSUED.

*/ - RevokedAt?: Date; + RenewalSummary?: RenewalSummary; + + /** + *

One or more domain names (subject alternative names) included in the certificate. This + * list contains the domain names that are bound to the public key that is contained in the + * certificate. The subject alternative names include the canonical domain name (CN) of the + * certificate and additional domain names that can be used to connect to the website.

+ */ + SubjectAlternativeNames?: string[]; + + /** + *

The time after which the certificate is not valid.

+ */ + NotAfter?: Date; /** *

Value that specifies whether to add the certificate to a transparency log. Certificate @@ -534,24 +549,16 @@ export interface CertificateDetail { Options?: CertificateOptions; /** - *

The date and time at which the certificate was imported. This value exists only when the - * certificate type is IMPORTED.

- */ - ImportedAt?: Date; - - /** - *

The Amazon Resource Name (ARN) of the ACM PCA private certificate authority (CA) that issued - * the certificate. This has the following format:

- *

- * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 - *

+ *

The status of the certificate.

*/ - CertificateAuthorityArn?: string; + Status?: CertificateStatus | string; /** - *

The serial number of the certificate.

+ *

Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a + * purpose for which the certificate public key can be used and consists of a name and an object + * identifier (OID).

*/ - Serial?: string; + ExtendedKeyUsages?: ExtendedKeyUsage[]; /** *

The name of the certificate authority that issued and signed the certificate.

@@ -559,113 +566,107 @@ export interface CertificateDetail { Issuer?: string; /** - *

The time at which the certificate was requested. This value exists only when the - * certificate type is AMAZON_ISSUED.

+ *

The fully qualified domain name for the certificate, such as www.example.com or + * example.com.

*/ - CreatedAt?: Date; + DomainName?: string; /** - *

Contains information about the initial validation of each domain name that occurs as a - * result of the RequestCertificate request. This field exists only when the + *

The time at which the certificate was requested. This value exists only when the * certificate type is AMAZON_ISSUED.

*/ - DomainValidationOptions?: DomainValidation[]; - - /** - *

The name of the entity that is associated with the public key contained in the - * certificate.

- */ - Subject?: string; + CreatedAt?: Date; /** - *

The reason the certificate was revoked. This value exists only when the certificate status - * is REVOKED.

+ *

A list of ARNs for the AWS resources that are using the certificate. A certificate can + * be used by multiple AWS resources.

*/ - RevocationReason?: RevocationReason | string; + InUseBy?: string[]; /** - *

One or more domain names (subject alternative names) included in the certificate. This - * list contains the domain names that are bound to the public key that is contained in the - * certificate. The subject alternative names include the canonical domain name (CN) of the - * certificate and additional domain names that can be used to connect to the website.

+ *

The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see + * Amazon Resource Names (ARNs) and AWS + * Service Namespaces in the AWS General Reference.

*/ - SubjectAlternativeNames?: string[]; + CertificateArn?: string; /** - *

The time at which the certificate was issued. This value exists only when the certificate - * type is AMAZON_ISSUED.

+ *

The source of the certificate. For certificates provided by ACM, this value is + * AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide + * managed renewal for + * imported certificates. For more information about the differences between certificates that + * you import and those that ACM provides, see Importing Certificates in the + * AWS Certificate Manager User Guide.

*/ - IssuedAt?: Date; + Type?: CertificateType | string; /** - *

The algorithm that was used to generate the public-private key pair.

+ *

The time before which the certificate is not valid.

*/ - KeyAlgorithm?: KeyAlgorithm | string; + NotBefore?: Date; /** - *

The fully qualified domain name for the certificate, such as www.example.com or - * example.com.

+ *

The date and time at which the certificate was imported. This value exists only when the + * certificate type is IMPORTED.

*/ - DomainName?: string; + ImportedAt?: Date; /** - *

A list of Key Usage X.509 v3 extension objects. Each object is a string value that - * identifies the purpose of the public key contained in the certificate. Possible extension - * values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

+ *

The Amazon Resource Name (ARN) of the ACM PCA private certificate authority (CA) that issued + * the certificate. This has the following format:

+ *

+ * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 + *

*/ - KeyUsages?: KeyUsage[]; + CertificateAuthorityArn?: string; /** - *

The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see - * Amazon Resource Names (ARNs) and AWS - * Service Namespaces in the AWS General Reference.

+ *

The serial number of the certificate.

*/ - CertificateArn?: string; + Serial?: string; /** - *

The time before which the certificate is not valid.

+ *

Contains information about the initial validation of each domain name that occurs as a + * result of the RequestCertificate request. This field exists only when the + * certificate type is AMAZON_ISSUED.

*/ - NotBefore?: Date; + DomainValidationOptions?: DomainValidation[]; /** - *

Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a - * purpose for which the certificate public key can be used and consists of a name and an object - * identifier (OID).

+ *

The name of the entity that is associated with the public key contained in the + * certificate.

*/ - ExtendedKeyUsages?: ExtendedKeyUsage[]; + Subject?: string; /** - *

The time after which the certificate is not valid.

+ *

The algorithm that was used to sign the certificate.

*/ - NotAfter?: Date; + SignatureAlgorithm?: string; /** - *

The status of the certificate.

+ *

The time at which the certificate was revoked. This value exists only when the certificate + * status is REVOKED.

*/ - Status?: CertificateStatus | string; + RevokedAt?: Date; /** - *

Contains information about the status of ACM's managed renewal for the certificate. This field - * exists only when the certificate type is AMAZON_ISSUED.

+ *

Specifies whether the certificate is eligible for renewal. At this time, only exported + * private certificates can be renewed with the RenewCertificate + * command.

*/ - RenewalSummary?: RenewalSummary; + RenewalEligibility?: RenewalEligibility | string; /** - *

The source of the certificate. For certificates provided by ACM, this value is - * AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide - * managed renewal for - * imported certificates. For more information about the differences between certificates that - * you import and those that ACM provides, see Importing Certificates in the - * AWS Certificate Manager User Guide.

+ *

The time at which the certificate was issued. This value exists only when the certificate + * type is AMAZON_ISSUED.

*/ - Type?: CertificateType | string; + IssuedAt?: Date; /** - *

The reason the certificate request failed. This value exists only when the certificate - * status is FAILED. For more information, see Certificate Request - * Failed in the AWS Certificate Manager User Guide.

+ *

The reason the certificate was revoked. This value exists only when the certificate status + * is REVOKED.

*/ - FailureReason?: FailureReason | string; + RevocationReason?: RevocationReason | string; } export namespace CertificateDetail { @@ -740,14 +741,6 @@ export namespace DescribeCertificateResponse { } export interface ExportCertificateRequest { - /** - *

An Amazon Resource Name (ARN) of the issued certificate. This must be of the form:

- *

- * arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012 - *

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

Passphrase to associate with the encrypted exported private key. If you want to later * decrypt the private key, you must have the passphrase. You can use the following OpenSSL @@ -757,6 +750,14 @@ export interface ExportCertificateRequest { *

*/ Passphrase: Uint8Array | undefined; + + /** + *

An Amazon Resource Name (ARN) of the issued certificate. This must be of the form:

+ *

+ * arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012 + *

+ */ + CertificateArn: string | undefined; } export namespace ExportCertificateRequest { @@ -772,17 +773,17 @@ export interface ExportCertificateResponse { */ Certificate?: string; - /** - *

The encrypted private key associated with the public key in the certificate. The key is - * output in PKCS #8 format and is base64 PEM-encoded.

- */ - PrivateKey?: string; - /** *

The base64 PEM-encoded certificate chain. This does not include the certificate that you * are exporting.

*/ CertificateChain?: string; + + /** + *

The encrypted private key associated with the public key in the certificate. The key is + * output in PKCS #8 format and is base64 PEM-encoded.

+ */ + PrivateKey?: string; } export namespace ExportCertificateResponse { @@ -827,15 +828,15 @@ export namespace GetCertificateRequest { export interface GetCertificateResponse { /** - *

Certificates forming the requested certificate's chain of trust. The chain consists of the - * certificate of the issuing CA and the intermediate certificates of any other subordinate CAs.

+ *

The ACM-issued certificate corresponding to the ARN specified as input.

*/ - CertificateChain?: string; + Certificate?: string; /** - *

The ACM-issued certificate corresponding to the ARN specified as input.

+ *

Certificates forming the requested certificate's chain of trust. The chain consists of the + * certificate of the issuing CA and the intermediate certificates of any other subordinate CAs.

*/ - Certificate?: string; + CertificateChain?: string; } export namespace GetCertificateResponse { @@ -845,6 +846,11 @@ export namespace GetCertificateResponse { } export interface ImportCertificateRequest { + /** + *

The PEM encoded certificate chain.

+ */ + CertificateChain?: Uint8Array; + /** *

The Amazon Resource Name * (ARN) of an imported certificate to replace. To import a new certificate, omit this @@ -857,21 +863,16 @@ export interface ImportCertificateRequest { */ PrivateKey: Uint8Array | undefined; - /** - *

One or more resource tags to associate with the imported certificate.

- *

Note: You cannot apply tags when reimporting a certificate.

- */ - Tags?: Tag[]; - /** *

The certificate to import.

*/ Certificate: Uint8Array | undefined; /** - *

The PEM encoded certificate chain.

+ *

One or more resource tags to associate with the imported certificate.

+ *

Note: You cannot apply tags when reimporting a certificate.

*/ - CertificateChain?: Uint8Array; + Tags?: Tag[]; } export namespace ImportCertificateRequest { @@ -930,11 +931,6 @@ export namespace InvalidArgsException { * output of the certificate list.

*/ export interface Filters { - /** - *

Specify one or more KeyUsage extension values.

- */ - keyUsage?: (KeyUsageName | string)[]; - /** *

Specify one or more algorithms that can be used to generate key pairs.

*

Default filtering returns only RSA_2048 certificates. To return other @@ -944,6 +940,11 @@ export interface Filters { */ keyTypes?: (KeyAlgorithm | string)[]; + /** + *

Specify one or more KeyUsage extension values.

+ */ + keyUsage?: (KeyUsageName | string)[]; + /** *

Specify one or more ExtendedKeyUsage extension values.

*/ @@ -965,6 +966,13 @@ export interface ListCertificatesRequest { */ MaxItems?: number; + /** + *

Use this parameter only when paginating results and only in a subsequent request after you + * receive a response with truncated results. Set it to the value of NextToken from + * the response you just received.

+ */ + NextToken?: string; + /** *

Filter the certificate list by status value.

*/ @@ -975,13 +983,6 @@ export interface ListCertificatesRequest { * structure.

*/ Includes?: Filters; - - /** - *

Use this parameter only when paginating results and only in a subsequent request after you - * receive a response with truncated results. Set it to the value of NextToken from - * the response you just received.

- */ - NextToken?: string; } export namespace ListCertificatesRequest { @@ -1021,15 +1022,15 @@ export namespace CertificateSummary { export interface ListCertificatesResponse { /** - *

When the list is truncated, this value is present and contains the value to use for the - * NextToken parameter in a subsequent pagination request.

+ *

A list of ACM certificates.

*/ - NextToken?: string; + CertificateSummaryList?: CertificateSummary[]; /** - *

A list of ACM certificates.

+ *

When the list is truncated, this value is present and contains the value to use for the + * NextToken parameter in a subsequent pagination request.

*/ - CertificateSummaryList?: CertificateSummary[]; + NextToken?: string; } export namespace ListCertificatesResponse { @@ -1173,42 +1174,6 @@ export namespace DomainValidationOption { } export interface RequestCertificateRequest { - /** - *

The domain name that you want ACM to use to send you emails so that you can validate - * domain ownership.

- */ - DomainValidationOptions?: DomainValidationOption[]; - - /** - *

Customer chosen string that can be used to distinguish between calls to - * RequestCertificate. Idempotency tokens time out after one hour. Therefore, if - * you call RequestCertificate multiple times with the same idempotency token within - * one hour, ACM recognizes that you are requesting only one certificate and will issue only - * one. If you change the idempotency token for each call, ACM recognizes that you are - * requesting multiple certificates.

- */ - IdempotencyToken?: string; - - /** - *

The method you want to use if you are requesting a public certificate to validate that you - * own or control domain. You can validate with DNS or validate with - * email. We recommend that you use DNS validation.

- */ - ValidationMethod?: ValidationMethod | string; - - /** - *

Currently, you can use this parameter to specify whether to add the certificate to a - * certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS - * certificates that have been mistakenly or maliciously issued. Certificates that have not been - * logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

- */ - Options?: CertificateOptions; - - /** - *

One or more resource tags to associate with the certificate.

- */ - Tags?: Tag[]; - /** *

Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with * an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects @@ -1220,18 +1185,6 @@ export interface RequestCertificateRequest { */ DomainName: string | undefined; - /** - *

The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used - * to issue the certificate. If you do not provide an ARN and you are trying to request a private - * certificate, ACM will attempt to issue a public certificate. For more information about - * private CAs, see the AWS Certificate Manager Private Certificate Authority (PCA) user guide. The ARN must have the following form:

- * - *

- * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 - *

- */ - CertificateAuthorityArn?: string; - /** *

Additional FQDNs to be included in the Subject Alternative Name extension of the ACM * certificate. For example, add the name www.example.net to a certificate for which the @@ -1264,6 +1217,54 @@ export interface RequestCertificateRequest { * */ SubjectAlternativeNames?: string[]; + + /** + *

The domain name that you want ACM to use to send you emails so that you can validate + * domain ownership.

+ */ + DomainValidationOptions?: DomainValidationOption[]; + + /** + *

The method you want to use if you are requesting a public certificate to validate that you + * own or control domain. You can validate with DNS or validate with + * email. We recommend that you use DNS validation.

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

The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used + * to issue the certificate. If you do not provide an ARN and you are trying to request a private + * certificate, ACM will attempt to issue a public certificate. For more information about + * private CAs, see the AWS Certificate Manager Private Certificate Authority (PCA) user guide. The ARN must have the following form:

+ * + *

+ * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 + *

+ */ + CertificateAuthorityArn?: string; + + /** + *

Customer chosen string that can be used to distinguish between calls to + * RequestCertificate. Idempotency tokens time out after one hour. Therefore, if + * you call RequestCertificate multiple times with the same idempotency token within + * one hour, ACM recognizes that you are requesting only one certificate and will issue only + * one. If you change the idempotency token for each call, ACM recognizes that you are + * requesting multiple certificates.

+ */ + IdempotencyToken?: string; + + /** + *

Currently, you can use this parameter to specify whether to add the certificate to a + * certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS + * certificates that have been mistakenly or maliciously issued. Certificates that have not been + * logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

+ */ + Options?: CertificateOptions; + + /** + *

One or more resource tags to associate with the certificate.

+ */ + Tags?: Tag[]; } export namespace RequestCertificateRequest { diff --git a/clients/client-alexa-for-business/models/models_0.ts b/clients/client-alexa-for-business/models/models_0.ts index 4d7fd432bf37..3a01d4a6d267 100644 --- a/clients/client-alexa-for-business/models/models_0.ts +++ b/clients/client-alexa-for-business/models/models_0.ts @@ -37,14 +37,14 @@ export interface AddressBookData { Description?: string; /** - *

The name of the address book.

+ *

The ARN of the address book.

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

The ARN of the address book.

+ *

The name of the address book.

*/ - AddressBookArn?: string; + Name?: string; } export namespace AddressBookData { @@ -188,14 +188,14 @@ export namespace DeviceNotRegisteredException { export interface AssociateDeviceWithRoomRequest { /** - *

The ARN of the room with which to associate the device. Required.

+ *

The ARN of the device to associate to a room. Required.

*/ - RoomArn?: string; + DeviceArn?: string; /** - *

The ARN of the device to associate to a room. Required.

+ *

The ARN of the room with which to associate the device. Required.

*/ - DeviceArn?: string; + RoomArn?: string; } export namespace AssociateDeviceWithRoomRequest { @@ -214,14 +214,14 @@ export namespace AssociateDeviceWithRoomResponse { export interface AssociateSkillGroupWithRoomRequest { /** - *

The ARN of the skill group to associate with a room. Required.

+ *

The ARN of the room with which to associate the skill group. Required.

*/ - SkillGroupArn?: string; + RoomArn?: string; /** - *

The ARN of the room with which to associate the skill group. Required.

+ *

The ARN of the skill group to associate with a room. Required.

*/ - RoomArn?: string; + SkillGroupArn?: string; } export namespace AssociateSkillGroupWithRoomRequest { @@ -240,14 +240,14 @@ export namespace AssociateSkillGroupWithRoomResponse { export interface AssociateSkillWithSkillGroupRequest { /** - *

The ARN of the skill group to associate the skill to. Required.

+ *

The unique identifier of the skill.

*/ - SkillGroupArn?: string; + SkillId: string | undefined; /** - *

The unique identifier of the skill.

+ *

The ARN of the skill group to associate the skill to. Required.

*/ - SkillId: string | undefined; + SkillGroupArn?: string; } export namespace AssociateSkillWithSkillGroupRequest { @@ -316,17 +316,17 @@ export namespace AlreadyExistsException { } export interface CreateAddressBookRequest { - /** - *

The description of the address book.

- */ - Description?: string; - /** *

A unique, user-specified identifier for the request that ensures * idempotency.

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

The description of the address book.

+ */ + Description?: string; + /** *

The name of the address book.

*/ @@ -400,14 +400,14 @@ export namespace BusinessReportRecurrence { */ export interface Tag { /** - *

The value of a tag. Tag values are case sensitive and can be null.

+ *

The key of a tag. Tag keys are case-sensitive.

*/ - Value: string | undefined; + Key: string | undefined; /** - *

The key of a tag. Tag keys are case-sensitive.

+ *

The value of a tag. Tag values are case sensitive and can be null.

*/ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -423,10 +423,9 @@ export interface CreateBusinessReportScheduleRequest { S3KeyPrefix?: string; /** - *

The S3 bucket name of the output reports. If this isn't specified, the report can be - * retrieved from a download link by calling ListBusinessReportSchedule.

+ *

The client request token.

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

The content range of the reports.

@@ -434,31 +433,32 @@ export interface CreateBusinessReportScheduleRequest { ContentRange: BusinessReportContentRange | undefined; /** - *

The client request token.

+ *

The name identifier of the schedule.

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

The recurrence of the reports. If this isn't specified, the report will only be - * delivered one time when the API is called.

+ *

The format of the generated report (individual CSV files or zipped files of + * individual files).

*/ - Recurrence?: BusinessReportRecurrence; + Format: BusinessReportFormat | string | undefined; /** - *

The tags for the business report schedule.

+ *

The S3 bucket name of the output reports. If this isn't specified, the report can be + * retrieved from a download link by calling ListBusinessReportSchedule.

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

The name identifier of the schedule.

+ *

The tags for the business report schedule.

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

The format of the generated report (individual CSV files or zipped files of - * individual files).

+ *

The recurrence of the reports. If this isn't specified, the report will only be + * delivered one time when the API is called.

*/ - Format: BusinessReportFormat | string | undefined; + Recurrence?: BusinessReportRecurrence; } export namespace CreateBusinessReportScheduleRequest { @@ -504,14 +504,14 @@ export enum CommsProtocol { */ export interface IPDialIn { /** - *

The IP address.

+ *

The protocol, including SIP, SIPS, and H323.

*/ - Endpoint: string | undefined; + CommsProtocol: CommsProtocol | string | undefined; /** - *

The protocol, including SIP, SIPS, and H323.

+ *

The IP address.

*/ - CommsProtocol: CommsProtocol | string | undefined; + Endpoint: string | undefined; } export namespace IPDialIn { @@ -559,25 +559,25 @@ export namespace MeetingSetting { *

The information for public switched telephone network (PSTN) conferencing.

*/ export interface PSTNDialIn { - /** - *

The delay duration before Alexa enters the conference pin with dual-tone multi-frequency (DTMF). Each number on the dial pad corresponds to a DTMF tone, which is how we send data over the telephone network.

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

The phone number to call to join the conference.

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

The zip code.

+ *

The delay duration before Alexa enters the conference pin with dual-tone multi-frequency (DTMF). Each number on the dial pad corresponds to a DTMF tone, which is how we send data over the telephone network.

*/ - CountryCode: string | undefined; + OneClickPinDelay: string | undefined; /** *

The delay duration before Alexa enters the conference ID with dual-tone multi-frequency (DTMF). Each number on the dial pad corresponds to a DTMF tone, which is how we send data over the telephone network.

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

The zip code.

+ */ + CountryCode: string | undefined; } export namespace PSTNDialIn { @@ -588,34 +588,34 @@ export namespace PSTNDialIn { export interface CreateConferenceProviderRequest { /** - *

The IP endpoint and protocol for calling.

+ *

The information for PSTN conferencing.

*/ - IPDialIn?: IPDialIn; + PSTNDialIn?: PSTNDialIn; /** - *

The request token of the client.

+ *

Represents a type within a list of predefined types.

*/ - ClientRequestToken?: string; + ConferenceProviderType: ConferenceProviderType | string | undefined; /** - *

The information for PSTN conferencing.

+ *

The IP endpoint and protocol for calling.

*/ - PSTNDialIn?: PSTNDialIn; + IPDialIn?: IPDialIn; /** - *

The meeting settings for the conference provider.

+ *

The name of the conference provider.

*/ - MeetingSetting: MeetingSetting | undefined; + ConferenceProviderName: string | undefined; /** - *

The name of the conference provider.

+ *

The meeting settings for the conference provider.

*/ - ConferenceProviderName: string | undefined; + MeetingSetting: MeetingSetting | undefined; /** - *

Represents a type within a list of predefined types.

+ *

The request token of the client.

*/ - ConferenceProviderType: ConferenceProviderType | string | undefined; + ClientRequestToken?: string; } export namespace CreateConferenceProviderRequest { @@ -648,21 +648,21 @@ export enum PhoneNumberType { */ export interface PhoneNumber { /** - *

The raw value of the phone number.

+ *

The type of the phone number.

*/ - Number: string | undefined; + Type: PhoneNumberType | string | undefined; /** - *

The type of the phone number.

+ *

The raw value of the phone number.

*/ - Type: PhoneNumberType | string | undefined; + Number: string | undefined; } export namespace PhoneNumber { export const filterSensitiveLog = (obj: PhoneNumber): any => ({ ...obj, - ...(obj.Number && { Number: SENSITIVE_STRING }), ...(obj.Type && { Type: SENSITIVE_STRING }), + ...(obj.Number && { Number: SENSITIVE_STRING }), }); } @@ -675,41 +675,34 @@ export enum SipType { */ export interface SipAddress { /** - *

The URI for the SIP address.

+ *

The type of the SIP address.

*/ - Uri: string | undefined; + Type: SipType | string | undefined; /** - *

The type of the SIP address.

+ *

The URI for the SIP address.

*/ - Type: SipType | string | undefined; + Uri: string | undefined; } export namespace SipAddress { export const filterSensitiveLog = (obj: SipAddress): any => ({ ...obj, - ...(obj.Uri && { Uri: SENSITIVE_STRING }), ...(obj.Type && { Type: SENSITIVE_STRING }), + ...(obj.Uri && { Uri: SENSITIVE_STRING }), }); } export interface CreateContactRequest { /** - *

The first name of the contact that is used to call the contact on the - * device.

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

A unique, user-specified identifier for this request that ensures - * idempotency.

+ *

The list of phone numbers for the contact.

*/ - ClientRequestToken?: string; + PhoneNumbers?: PhoneNumber[]; /** - *

The list of phone numbers for the contact.

+ *

The list of SIP addresses for the contact.

*/ - PhoneNumbers?: PhoneNumber[]; + SipAddresses?: SipAddress[]; /** *

The last name of the contact that is used to call the contact on the @@ -730,17 +723,24 @@ export interface CreateContactRequest { PhoneNumber?: string; /** - *

The list of SIP addresses for the contact.

+ *

A unique, user-specified identifier for this request that ensures + * idempotency.

*/ - SipAddresses?: SipAddress[]; + ClientRequestToken?: string; + + /** + *

The first name of the contact that is used to call the contact on the + * device.

+ */ + FirstName: string | undefined; } export namespace CreateContactRequest { export const filterSensitiveLog = (obj: CreateContactRequest): any => ({ ...obj, ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), - ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), + ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), }); } @@ -764,14 +764,14 @@ export interface CreateGatewayGroupRequest { Description?: string; /** - *

The name of the gateway group.

+ *

A unique, user-specified identifier for the request that ensures idempotency.

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

A unique, user-specified identifier for the request that ensures idempotency.

+ *

The name of the gateway group.

*/ - ClientRequestToken?: string; + Name: string | undefined; } export namespace CreateGatewayGroupRequest { @@ -807,67 +807,67 @@ export enum NetworkSecurityType { export interface CreateNetworkProfileRequest { /** - *

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is - * supported.

+ *

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, + * WEP, or OPEN.

*/ - EapMethod?: NetworkEapMethod | string; + SecurityType: NetworkSecurityType | string | undefined; /** - *

Detailed information about a device's network profile.

+ *

The SSID of the Wi-Fi network.

*/ - Description?: string; + Ssid: string | undefined; /** - *

The root certificates of your authentication server that is installed on your devices - * and used to trust your authentication server during EAP negotiation.

+ *

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager + * (ACM). This is used to issue certificates to the devices.

*/ - TrustAnchors?: string[]; + CertificateAuthorityArn?: string; /** - *

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously - * transmitted to the device and is used when the password of the network changes to - * NextPassword.

+ *

A unique, user-specified identifier for the request that ensures idempotency.

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

The SSID of the Wi-Fi network.

+ *

The current password of the Wi-Fi network.

*/ - Ssid: string | undefined; + CurrentPassword?: string; /** - *

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, - * WEP, or OPEN.

+ *

The name of the network profile associated with a device.

*/ - SecurityType: NetworkSecurityType | string | undefined; + NetworkProfileName: string | undefined; /** - *

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager - * (ACM). This is used to issue certificates to the devices.

+ *

Detailed information about a device's network profile.

*/ - CertificateAuthorityArn?: string; + Description?: string; /** - *

The current password of the Wi-Fi network.

+ *

The root certificates of your authentication server that is installed on your devices + * and used to trust your authentication server during EAP negotiation.

*/ - CurrentPassword?: string; + TrustAnchors?: string[]; /** - *

The name of the network profile associated with a device.

+ *

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously + * transmitted to the device and is used when the password of the network changes to + * NextPassword.

*/ - NetworkProfileName: string | undefined; + NextPassword?: string; /** - *

A unique, user-specified identifier for the request that ensures idempotency.

+ *

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is + * supported.

*/ - ClientRequestToken?: string; + EapMethod?: NetworkEapMethod | string; } export namespace CreateNetworkProfileRequest { export const filterSensitiveLog = (obj: CreateNetworkProfileRequest): any => ({ ...obj, - ...(obj.NextPassword && { NextPassword: SENSITIVE_STRING }), ...(obj.CurrentPassword && { CurrentPassword: SENSITIVE_STRING }), + ...(obj.NextPassword && { NextPassword: SENSITIVE_STRING }), }); } @@ -933,14 +933,14 @@ export enum EndOfMeetingReminderType { */ export interface CreateEndOfMeetingReminder { /** - *

The type of sound that users hear during the end of meeting reminder.

+ *

A range of 3 to 15 minutes that determines when the reminder begins.

*/ - ReminderType: EndOfMeetingReminderType | string | undefined; + ReminderAtMinutes: number[] | undefined; /** - *

A range of 3 to 15 minutes that determines when the reminder begins.

+ *

The type of sound that users hear during the end of meeting reminder.

*/ - ReminderAtMinutes: number[] | undefined; + ReminderType: EndOfMeetingReminderType | string | undefined; /** *

Whether an end of meeting reminder is enabled or not.

@@ -961,15 +961,15 @@ export namespace CreateEndOfMeetingReminder { */ export interface CreateInstantBooking { /** - *

Duration between 15 and 240 minutes at increments of 15 that determines how long to book - * an available room when a meeting is started with Alexa.

+ *

Whether instant booking is enabled or not.

*/ - DurationInMinutes: number | undefined; + Enabled: boolean | undefined; /** - *

Whether instant booking is enabled or not.

+ *

Duration between 15 and 240 minutes at increments of 15 that determines how long to book + * an available room when a meeting is started with Alexa.

*/ - Enabled: boolean | undefined; + DurationInMinutes: number | undefined; } export namespace CreateInstantBooking { @@ -1004,12 +1004,7 @@ export namespace CreateRequireCheckIn { */ export interface CreateMeetingRoomConfiguration { /** - *

Settings to automatically book a room for a configured duration if it's free when joining a meeting with Alexa.

- */ - InstantBooking?: CreateInstantBooking; - - /** - *

Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”

+ *

Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”

*/ RequireCheckIn?: CreateRequireCheckIn; @@ -1018,6 +1013,11 @@ export interface CreateMeetingRoomConfiguration { */ RoomUtilizationMetricsEnabled?: boolean; + /** + *

Settings to automatically book a room for a configured duration if it's free when joining a meeting with Alexa.

+ */ + InstantBooking?: CreateInstantBooking; + /** *

Creates settings for the end of meeting reminder feature that are applied to a room * profile. The end of meeting reminder enables Alexa to remind users when a meeting is @@ -1046,69 +1046,69 @@ export enum WakeWord { export interface CreateProfileRequest { /** - *

The tags for the profile.

+ *

The meeting room settings of a room profile.

*/ - Tags?: Tag[]; + MeetingRoomConfiguration?: CreateMeetingRoomConfiguration; /** - *

The user-specified token that is used during the creation of a profile.

+ *

The locale of the room profile. (This is currently only available to a limited preview audience.)

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

The name of a room profile.

+ *

The time zone used by a room profile.

*/ - ProfileName: string | undefined; + Timezone: string | undefined; /** - *

The temperature unit to be used by devices in the profile.

+ *

The maximum volume limit for a room profile.

*/ - TemperatureUnit: TemperatureUnit | string | undefined; + MaxVolumeLimit?: number; /** - *

The meeting room settings of a room profile.

+ *

The name of a room profile.

*/ - MeetingRoomConfiguration?: CreateMeetingRoomConfiguration; + ProfileName: string | undefined; /** - *

The valid address for the room.

+ *

The distance unit to be used by devices in the profile.

*/ - Address: string | undefined; + DistanceUnit: DistanceUnit | string | undefined; /** - *

Whether PSTN calling is enabled.

+ *

Whether room profile setup is enabled.

*/ - PSTNEnabled?: boolean; + SetupModeDisabled?: boolean; /** - *

The time zone used by a room profile.

+ *

The temperature unit to be used by devices in the profile.

*/ - Timezone: string | undefined; + TemperatureUnit: TemperatureUnit | string | undefined; /** - *

The locale of the room profile. (This is currently only available to a limited preview audience.)

+ *

The user-specified token that is used during the creation of a profile.

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

The maximum volume limit for a room profile.

+ *

A wake word for Alexa, Echo, Amazon, or a computer.

*/ - MaxVolumeLimit?: number; + WakeWord: WakeWord | string | undefined; /** - *

Whether room profile setup is enabled.

+ *

The tags for the profile.

*/ - SetupModeDisabled?: boolean; + Tags?: Tag[]; /** - *

The distance unit to be used by devices in the profile.

+ *

The valid address for the room.

*/ - DistanceUnit: DistanceUnit | string | undefined; + Address: string | undefined; /** - *

A wake word for Alexa, Echo, Amazon, or a computer.

+ *

Whether PSTN calling is enabled.

*/ - WakeWord: WakeWord | string | undefined; + PSTNEnabled?: boolean; } export namespace CreateProfileRequest { @@ -1137,25 +1137,25 @@ export interface CreateRoomRequest { ProviderCalendarId?: string; /** - *

The name for the room.

+ *

The description for the room.

*/ - RoomName: string | undefined; + Description?: string; /** - *

A unique, user-specified identifier for this request that ensures idempotency. - *

+ *

The profile ARN for the room. This is required.

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

The profile ARN for the room. This is required.

+ *

A unique, user-specified identifier for this request that ensures idempotency. + *

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

The description for the room.

+ *

The name for the room.

*/ - Description?: string; + RoomName: string | undefined; /** *

The tags for the room.

@@ -1184,25 +1184,25 @@ export namespace CreateRoomResponse { export interface CreateSkillGroupRequest { /** - *

The description for the skill group.

+ *

A unique, user-specified identifier for this request that ensures idempotency. + *

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

The name for the skill group.

+ *

The tags for the skill group.

*/ - SkillGroupName: string | undefined; + Tags?: Tag[]; /** - *

A unique, user-specified identifier for this request that ensures idempotency. - *

+ *

The description for the skill group.

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

The tags for the skill group.

+ *

The name for the skill group.

*/ - Tags?: Tag[]; + SkillGroupName: string | undefined; } export namespace CreateSkillGroupRequest { @@ -1226,14 +1226,9 @@ export namespace CreateSkillGroupResponse { export interface CreateUserRequest { /** - *

The ARN for the user.

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

The tags for the user.

+ *

The email address for the user.

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

A unique, user-specified identifier for this request that ensures idempotency. @@ -1247,14 +1242,19 @@ export interface CreateUserRequest { FirstName?: string; /** - *

The email address for the user.

+ *

The ARN for the user.

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

The last name for the user.

*/ LastName?: string; + + /** + *

The tags for the user.

+ */ + Tags?: Tag[]; } export namespace CreateUserRequest { @@ -1282,12 +1282,11 @@ export namespace CreateUserResponse { export interface ResourceInUseException extends __SmithyException, $MetadataBearer { name: "ResourceInUseException"; $fault: "client"; + Message?: string; /** *

A unique, user-specified identifier for the request that ensures idempotency.

*/ ClientRequestToken?: string; - - Message?: string; } export namespace ResourceInUseException { @@ -1407,14 +1406,14 @@ export enum DeviceUsageType { export interface DeleteDeviceUsageDataRequest { /** - *

The ARN of the device.

+ *

The type of usage data to delete.

*/ - DeviceArn: string | undefined; + DeviceUsageType: DeviceUsageType | string | undefined; /** - *

The type of usage data to delete.

+ *

The ARN of the device.

*/ - DeviceUsageType: DeviceUsageType | string | undefined; + DeviceArn: string | undefined; } export namespace DeleteDeviceUsageDataRequest { @@ -1532,9 +1531,9 @@ export namespace DeleteRoomResponse { export interface DeleteRoomSkillParameterRequest { /** - *

The ID of the skill from which to remove the room skill parameter details.

+ *

The ARN of the room from which to remove the room skill parameter details.

*/ - SkillId: string | undefined; + RoomArn?: string; /** *

The room skill parameter key for which to remove details.

@@ -1542,9 +1541,9 @@ export interface DeleteRoomSkillParameterRequest { ParameterKey: string | undefined; /** - *

The ARN of the room from which to remove the room skill parameter details.

+ *

The ID of the skill from which to remove the room skill parameter details.

*/ - RoomArn?: string; + SkillId: string | undefined; } export namespace DeleteRoomSkillParameterRequest { @@ -1563,14 +1562,14 @@ export namespace DeleteRoomSkillParameterResponse { export interface DeleteSkillAuthorizationRequest { /** - *

The unique identifier of a skill.

+ *

The room that the skill is authorized for.

*/ - SkillId: string | undefined; + RoomArn?: string; /** - *

The room that the skill is authorized for.

+ *

The unique identifier of a skill.

*/ - RoomArn?: string; + SkillId: string | undefined; } export namespace DeleteSkillAuthorizationRequest { @@ -1610,14 +1609,14 @@ export namespace DeleteSkillGroupResponse { export interface DeleteUserRequest { /** - *

The ARN of the user's enrollment in the organization. Required.

+ *

The ARN of the user to delete in the organization. Required.

*/ - EnrollmentId: string | undefined; + UserArn?: string; /** - *

The ARN of the user to delete in the organization. Required.

+ *

The ARN of the user's enrollment in the organization. Required.

*/ - UserArn?: string; + EnrollmentId: string | undefined; } export namespace DeleteUserRequest { @@ -1683,14 +1682,14 @@ export namespace DisassociateDeviceFromRoomResponse { export interface DisassociateSkillFromSkillGroupRequest { /** - *

The ARN of a skill group to associate to a skill.

+ *

The unique identifier of a skill. Required.

*/ - SkillId: string | undefined; + SkillGroupArn?: string; /** - *

The unique identifier of a skill. Required.

+ *

The ARN of a skill group to associate to a skill.

*/ - SkillGroupArn?: string; + SkillId: string | undefined; } export namespace DisassociateSkillFromSkillGroupRequest { @@ -1729,16 +1728,16 @@ export namespace DisassociateSkillFromUsersResponse { } export interface DisassociateSkillGroupFromRoomRequest { - /** - *

The ARN of the skill group to disassociate from a room. Required.

- */ - SkillGroupArn?: string; - /** *

The ARN of the room from which the skill group is to be disassociated. * Required.

*/ RoomArn?: string; + + /** + *

The ARN of the skill group to disassociate from a room. Required.

+ */ + SkillGroupArn?: string; } export namespace DisassociateSkillGroupFromRoomRequest { @@ -1858,34 +1857,34 @@ export namespace GetConferenceProviderRequest { */ export interface ConferenceProvider { /** - *

The IP endpoint and protocol for calling.

+ *

The ARN of the newly created conference provider.

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

The type of conference providers.

+ *

The information for PSTN conferencing.

*/ - Type?: ConferenceProviderType | string; + PSTNDialIn?: PSTNDialIn; /** - *

The name of the conference provider.

+ *

The meeting settings for the conference provider.

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

The meeting settings for the conference provider.

+ *

The IP endpoint and protocol for calling.

*/ - MeetingSetting?: MeetingSetting; + IPDialIn?: IPDialIn; /** - *

The information for PSTN conferencing.

+ *

The name of the conference provider.

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

The ARN of the newly created conference provider.

+ *

The type of conference providers.

*/ - Arn?: string; + Type?: ConferenceProviderType | string; } export namespace ConferenceProvider { @@ -1925,11 +1924,14 @@ export namespace GetContactRequest { */ export interface Contact { /** - *

The phone number of the contact. The phone number type defaults to WORK. You can - * either specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which - * lets you specify the phone number type and multiple numbers.

+ *

The first name of the contact, used to call the contact on the device.

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

The list of phone numbers for the contact.

+ */ + PhoneNumbers?: PhoneNumber[]; /** *

The list of SIP addresses for the contact.

@@ -1937,9 +1939,11 @@ export interface Contact { SipAddresses?: SipAddress[]; /** - *

The name of the contact to display on the console.

+ *

The phone number of the contact. The phone number type defaults to WORK. You can + * either specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which + * lets you specify the phone number type and multiple numbers.

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

The ARN of the contact.

@@ -1947,27 +1951,22 @@ export interface Contact { ContactArn?: string; /** - *

The last name of the contact, used to call the contact on the device.

- */ - LastName?: string; - - /** - *

The first name of the contact, used to call the contact on the device.

+ *

The name of the contact to display on the console.

*/ - FirstName?: string; + DisplayName?: string; /** - *

The list of phone numbers for the contact.

+ *

The last name of the contact, used to call the contact on the device.

*/ - PhoneNumbers?: PhoneNumber[]; + LastName?: string; } export namespace Contact { export const filterSensitiveLog = (obj: Contact): any => ({ ...obj, - ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), - ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), + ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), + ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), }); } @@ -2047,14 +2046,14 @@ export enum Feature { */ export interface DeviceStatusDetail { /** - *

The list of available features on the device.

+ *

The device status detail code.

*/ - Feature?: Feature | string; + Code?: DeviceStatusDetailCode | string; /** - *

The device status detail code.

+ *

The list of available features on the device.

*/ - Code?: DeviceStatusDetailCode | string; + Feature?: Feature | string; } export namespace DeviceStatusDetail { @@ -2068,14 +2067,14 @@ export namespace DeviceStatusDetail { */ export interface DeviceStatusInfo { /** - *

The time (in epoch) when the device connection status changed.

+ *

The latest available information about the connection status of a device.

*/ - ConnectionStatusUpdatedTime?: Date; + ConnectionStatus?: ConnectionStatus | string; /** - *

The latest available information about the connection status of a device.

+ *

The time (in epoch) when the device connection status changed.

*/ - ConnectionStatus?: ConnectionStatus | string; + ConnectionStatusUpdatedTime?: Date; /** *

One or more device status detail descriptions.

@@ -2093,6 +2092,11 @@ export namespace DeviceStatusInfo { *

Detailed information about a device's network profile.

*/ export interface DeviceNetworkProfileInfo { + /** + *

The ARN of the certificate associated with a device.

+ */ + CertificateArn?: string; + /** *

The ARN of the network profile associated with a device.

*/ @@ -2102,11 +2106,6 @@ export interface DeviceNetworkProfileInfo { *

The time (in epoch) when the certificate expires.

*/ CertificateExpirationTime?: Date; - - /** - *

The ARN of the certificate associated with a device.

- */ - CertificateArn?: string; } export namespace DeviceNetworkProfileInfo { @@ -2130,45 +2129,45 @@ export interface Device { DeviceSerialNumber?: string; /** - *

The status of a device. If the status is not READY, check the DeviceStatusInfo value - * for details.

+ *

Detailed information about a device's status.

*/ - DeviceStatus?: DeviceStatus | string; + DeviceStatusInfo?: DeviceStatusInfo; /** - *

The name of a device.

+ *

Detailed information about a device's network profile.

*/ - DeviceName?: string; + NetworkProfileInfo?: DeviceNetworkProfileInfo; /** - *

The MAC address of a device.

+ *

The software version of a device.

*/ - MacAddress?: string; + SoftwareVersion?: string; /** - *

Detailed information about a device's status.

+ *

The type of a device.

*/ - DeviceStatusInfo?: DeviceStatusInfo; + DeviceType?: string; /** - *

The room ARN of a device.

+ *

The name of a device.

*/ - RoomArn?: string; + DeviceName?: string; /** - *

The type of a device.

+ *

The MAC address of a device.

*/ - DeviceType?: string; + MacAddress?: string; /** - *

The software version of a device.

+ *

The room ARN of a device.

*/ - SoftwareVersion?: string; + RoomArn?: string; /** - *

Detailed information about a device's network profile.

+ *

The status of a device. If the status is not READY, check the DeviceStatusInfo value + * for details.

*/ - NetworkProfileInfo?: DeviceNetworkProfileInfo; + DeviceStatus?: DeviceStatus | string; } export namespace Device { @@ -2208,9 +2207,10 @@ export namespace GetGatewayRequest { */ export interface Gateway { /** - *

The ARN of the gateway.

+ *

The software version of the gateway. The gateway automatically updates its software + * version during normal operation.

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

The description of the gateway.

@@ -2223,10 +2223,9 @@ export interface Gateway { GatewayGroupArn?: string; /** - *

The software version of the gateway. The gateway automatically updates its software - * version during normal operation.

+ *

The ARN of the gateway.

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

The name of the gateway.

@@ -2271,14 +2270,14 @@ export namespace GetGatewayGroupRequest { */ export interface GatewayGroup { /** - *

The description of the gateway group.

+ *

The name of the gateway group.

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

The name of the gateway group.

+ *

The description of the gateway group.

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

The ARN of the gateway group.

@@ -2315,10 +2314,9 @@ export namespace GetInvitationConfigurationRequest { export interface GetInvitationConfigurationResponse { /** - *

The email ID of the organization or individual contact that the enrolled user can use. - *

+ *

The name of the organization sending the enrollment invite to a user.

*/ - ContactEmail?: string; + OrganizationName?: string; /** *

The list of private skill IDs that you want to recommend to the user to enable in the @@ -2327,9 +2325,10 @@ export interface GetInvitationConfigurationResponse { PrivateSkillIds?: string[]; /** - *

The name of the organization sending the enrollment invite to a user.

+ *

The email ID of the organization or individual contact that the enrolled user can use. + *

*/ - OrganizationName?: string; + ContactEmail?: string; } export namespace GetInvitationConfigurationResponse { @@ -2356,16 +2355,22 @@ export namespace GetNetworkProfileRequest { */ export interface NetworkProfile { /** - *

The root certificates of your authentication server, which is installed on your devices - * and used to trust your authentication server during EAP negotiation.

+ *

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager + * (ACM). This is used to issue certificates to the devices.

*/ - TrustAnchors?: string[]; + CertificateAuthorityArn?: string; /** - *

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is - * supported.

+ *

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, + * WEP, or OPEN.

*/ - EapMethod?: NetworkEapMethod | string; + SecurityType?: NetworkSecurityType | string; + + /** + *

The root certificates of your authentication server, which is installed on your devices + * and used to trust your authentication server during EAP negotiation.

+ */ + TrustAnchors?: string[]; /** *

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously @@ -2374,42 +2379,36 @@ export interface NetworkProfile { */ NextPassword?: string; - /** - *

Detailed information about a device's network profile.

- */ - Description?: string; - /** *

The current password of the Wi-Fi network.

*/ CurrentPassword?: string; /** - *

The name of the network profile associated with a device.

+ *

The SSID of the Wi-Fi network.

*/ - NetworkProfileName?: string; + Ssid?: string; /** - *

The ARN of the network profile associated with a device.

+ *

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is + * supported.

*/ - NetworkProfileArn?: string; + EapMethod?: NetworkEapMethod | string; /** - *

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, - * WEP, or OPEN.

+ *

The ARN of the network profile associated with a device.

*/ - SecurityType?: NetworkSecurityType | string; + NetworkProfileArn?: string; /** - *

The SSID of the Wi-Fi network.

+ *

Detailed information about a device's network profile.

*/ - Ssid?: string; + Description?: string; /** - *

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager - * (ACM). This is used to issue certificates to the devices.

+ *

The name of the network profile associated with a device.

*/ - CertificateAuthorityArn?: string; + NetworkProfileName?: string; } export namespace NetworkProfile { @@ -2467,6 +2466,11 @@ export namespace GetProfileRequest { * end of meeting reminder enables Alexa to remind users when a meeting is ending.

*/ export interface EndOfMeetingReminder { + /** + *

A range of 3 to 15 minutes that determines when the reminder begins.

+ */ + ReminderAtMinutes?: number[]; + /** *

Whether an end of meeting reminder is enabled or not.

*/ @@ -2476,11 +2480,6 @@ export interface EndOfMeetingReminder { *

The type of sound that users hear during the end of meeting reminder.

*/ ReminderType?: EndOfMeetingReminderType | string; - - /** - *

A range of 3 to 15 minutes that determines when the reminder begins.

- */ - ReminderAtMinutes?: number[]; } export namespace EndOfMeetingReminder { @@ -2538,17 +2537,6 @@ export namespace RequireCheckIn { *

Meeting room settings of a room profile.

*/ export interface MeetingRoomConfiguration { - /** - *

Settings to automatically book the room if available for a configured duration when - * joining a meeting with Alexa.

- */ - InstantBooking?: InstantBooking; - - /** - *

Whether room utilization metrics are enabled or not.

- */ - RoomUtilizationMetricsEnabled?: boolean; - /** *

Settings for requiring a check in when a room is reserved. Alexa can cancel a room * reservation if it's not checked into. This makes the room available for others. Users can @@ -2562,6 +2550,17 @@ export interface MeetingRoomConfiguration { * end of meeting reminder enables Alexa to remind users when a meeting is ending.

*/ EndOfMeetingReminder?: EndOfMeetingReminder; + + /** + *

Whether room utilization metrics are enabled or not.

+ */ + RoomUtilizationMetricsEnabled?: boolean; + + /** + *

Settings to automatically book the room if available for a configured duration when + * joining a meeting with Alexa.

+ */ + InstantBooking?: InstantBooking; } export namespace MeetingRoomConfiguration { @@ -2575,30 +2574,29 @@ export namespace MeetingRoomConfiguration { */ export interface Profile { /** - *

The time zone of a room profile.

+ *

The distance unit of a room profile.

*/ - Timezone?: string; + DistanceUnit?: DistanceUnit | string; /** - *

Retrieves if the profile is default or not.

+ *

The ARN of the address book.

*/ - IsDefault?: boolean; + AddressBookArn?: string; /** - *

The locale of a room profile. (This is currently available only to a limited preview - * audience.)

+ *

Meeting room settings of a room profile.

*/ - Locale?: string; + MeetingRoomConfiguration?: MeetingRoomConfiguration; /** - *

The wake word of a room profile.

+ *

The name of a room profile.

*/ - WakeWord?: WakeWord | string; + ProfileName?: string; /** - *

The ARN of a room profile.

+ *

The setup mode of a room profile.

*/ - ProfileArn?: string; + SetupModeDisabled?: boolean; /** *

The temperature unit of a room profile.

@@ -2606,44 +2604,45 @@ export interface Profile { TemperatureUnit?: TemperatureUnit | string; /** - *

The name of a room profile.

+ *

The PSTN setting of a room profile.

*/ - ProfileName?: string; + PSTNEnabled?: boolean; /** - *

The max volume limit of a room profile.

+ *

The locale of a room profile. (This is currently available only to a limited preview + * audience.)

*/ - MaxVolumeLimit?: number; + Locale?: string; /** - *

Meeting room settings of a room profile.

+ *

The address of a room profile.

*/ - MeetingRoomConfiguration?: MeetingRoomConfiguration; + Address?: string; /** - *

The ARN of the address book.

+ *

The max volume limit of a room profile.

*/ - AddressBookArn?: string; + MaxVolumeLimit?: number; /** - *

The distance unit of a room profile.

+ *

Retrieves if the profile is default or not.

*/ - DistanceUnit?: DistanceUnit | string; + IsDefault?: boolean; /** - *

The setup mode of a room profile.

+ *

The time zone of a room profile.

*/ - SetupModeDisabled?: boolean; + Timezone?: string; /** - *

The address of a room profile.

+ *

The wake word of a room profile.

*/ - Address?: string; + WakeWord?: WakeWord | string; /** - *

The PSTN setting of a room profile.

+ *

The ARN of a room profile.

*/ - PSTNEnabled?: boolean; + ProfileArn?: string; } export namespace Profile { @@ -2682,16 +2681,6 @@ export namespace GetRoomRequest { *

A room with attributes.

*/ export interface Room { - /** - *

The ARN of a room.

- */ - RoomArn?: string; - - /** - *

The provider calendar ARN of a room.

- */ - ProviderCalendarId?: string; - /** *

The description of a room.

*/ @@ -2702,10 +2691,20 @@ export interface Room { */ ProfileArn?: string; + /** + *

The provider calendar ARN of a room.

+ */ + ProviderCalendarId?: string; + /** *

The name of a room.

*/ RoomName?: string; + + /** + *

The ARN of a room.

+ */ + RoomArn?: string; } export namespace Room { @@ -2728,11 +2727,6 @@ export namespace GetRoomResponse { } export interface GetRoomSkillParameterRequest { - /** - *

The room skill parameter key for which to get details. Required.

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

The ARN of the skill from which to get the room skill parameter details. * Required.

@@ -2743,6 +2737,11 @@ export interface GetRoomSkillParameterRequest { *

The ARN of the room from which to get the room skill parameter details.

*/ RoomArn?: string; + + /** + *

The room skill parameter key for which to get details. Required.

+ */ + ParameterKey: string | undefined; } export namespace GetRoomSkillParameterRequest { @@ -2804,14 +2803,14 @@ export namespace GetSkillGroupRequest { */ export interface SkillGroup { /** - *

The name of a skill group.

+ *

The ARN of a skill group.

*/ - SkillGroupName?: string; + SkillGroupArn?: string; /** - *

The ARN of a skill group.

+ *

The name of a skill group.

*/ - SkillGroupArn?: string; + SkillGroupName?: string; /** *

The description of a skill group.

@@ -2867,14 +2866,14 @@ export enum BusinessReportFailureCode { */ export interface BusinessReportS3Location { /** - *

The S3 bucket name of the output reports.

+ *

The path of the business report.

*/ - BucketName?: string; + Path?: string; /** - *

The path of the business report.

+ *

The S3 bucket name of the output reports.

*/ - Path?: string; + BucketName?: string; } export namespace BusinessReportS3Location { @@ -2894,14 +2893,15 @@ export enum BusinessReportStatus { */ export interface BusinessReport { /** - *

The failure code.

+ *

The status of the report generation execution (RUNNING, SUCCEEDED, or + * FAILED).

*/ - FailureCode?: BusinessReportFailureCode | string; + Status?: BusinessReportStatus | string; /** - *

The S3 location of the output reports.

+ *

The failure code.

*/ - S3Location?: BusinessReportS3Location; + FailureCode?: BusinessReportFailureCode | string; /** *

The time of report delivery.

@@ -2914,10 +2914,9 @@ export interface BusinessReport { DownloadUrl?: string; /** - *

The status of the report generation execution (RUNNING, SUCCEEDED, or - * FAILED).

+ *

The S3 location of the output reports.

*/ - Status?: BusinessReportStatus | string; + S3Location?: BusinessReportS3Location; } export namespace BusinessReport { @@ -2931,9 +2930,9 @@ export namespace BusinessReport { */ export interface BusinessReportSchedule { /** - *

The name identifier of the schedule.

+ *

The S3 bucket name of the output reports.

*/ - ScheduleName?: string; + S3BucketName?: string; /** *

The content range of the reports.

@@ -2941,14 +2940,9 @@ export interface BusinessReportSchedule { ContentRange?: BusinessReportContentRange; /** - *

The S3 bucket name of the output reports.

- */ - S3BucketName?: string; - - /** - *

The recurrence of the reports.

+ *

The S3 key where the report is delivered.

*/ - Recurrence?: BusinessReportRecurrence; + S3KeyPrefix?: string; /** *

The details of the last business report delivery for a specified time @@ -2956,11 +2950,6 @@ export interface BusinessReportSchedule { */ LastBusinessReport?: BusinessReport; - /** - *

The S3 key where the report is delivered.

- */ - S3KeyPrefix?: string; - /** *

The ARN of the business report schedule.

*/ @@ -2971,6 +2960,16 @@ export interface BusinessReportSchedule { * individual files).

*/ Format?: BusinessReportFormat | string; + + /** + *

The recurrence of the reports.

+ */ + Recurrence?: BusinessReportRecurrence; + + /** + *

The name identifier of the schedule.

+ */ + ScheduleName?: string; } export namespace BusinessReportSchedule { @@ -2981,14 +2980,14 @@ export namespace BusinessReportSchedule { export interface ListBusinessReportSchedulesResponse { /** - *

The schedule of the reports.

+ *

The token used to list the remaining schedules from the previous API call.

*/ - BusinessReportSchedules?: BusinessReportSchedule[]; + NextToken?: string; /** - *

The token used to list the remaining schedules from the previous API call.

+ *

The schedule of the reports.

*/ - NextToken?: string; + BusinessReportSchedules?: BusinessReportSchedule[]; } export namespace ListBusinessReportSchedulesResponse { @@ -2998,16 +2997,16 @@ export namespace ListBusinessReportSchedulesResponse { } export interface ListConferenceProvidersRequest { - /** - *

The tokens used for pagination.

- */ - NextToken?: string; - /** *

The maximum number of conference providers to be returned, per paginated * calls.

*/ MaxResults?: number; + + /** + *

The tokens used for pagination.

+ */ + NextToken?: string; } export namespace ListConferenceProvidersRequest { @@ -3040,6 +3039,13 @@ export enum DeviceEventType { } export interface ListDeviceEventsRequest { + /** + *

The maximum number of results to include in the response. The default value is 50. If + * more results exist than the specified MaxResults value, a token is included in the response + * so that the remaining results can be retrieved.

+ */ + MaxResults?: number; + /** *

The event type to filter device events. If EventType isn't specified, this returns a * list of all device events in reverse chronological order. If EventType is specified, this @@ -3049,11 +3055,9 @@ export interface ListDeviceEventsRequest { EventType?: DeviceEventType | string; /** - *

The maximum number of results to include in the response. The default value is 50. If - * more results exist than the specified MaxResults value, a token is included in the response - * so that the remaining results can be retrieved.

+ *

The ARN of a device.

*/ - MaxResults?: number; + DeviceArn: string | undefined; /** *

An optional token returned from a prior request. Use this token for pagination of @@ -3062,11 +3066,6 @@ export interface ListDeviceEventsRequest { * is reached, the response has a value of null.

*/ NextToken?: string; - - /** - *

The ARN of a device.

- */ - DeviceArn: string | undefined; } export namespace ListDeviceEventsRequest { @@ -3080,9 +3079,9 @@ export namespace ListDeviceEventsRequest { */ export interface DeviceEvent { /** - *

The type of device event.

+ *

The value of the event.

*/ - Type?: DeviceEventType | string; + Value?: string; /** *

The time (in epoch) when the event occurred.

@@ -3090,9 +3089,9 @@ export interface DeviceEvent { Timestamp?: Date; /** - *

The value of the event.

+ *

The type of device event.

*/ - Value?: string; + Type?: DeviceEventType | string; } export namespace DeviceEvent { @@ -3121,14 +3120,14 @@ export namespace ListDeviceEventsResponse { export interface ListGatewayGroupsRequest { /** - *

The token used to paginate though multiple pages of gateway group summaries.

+ *

The maximum number of gateway group summaries to return. The default is 50.

*/ - NextToken?: string; + MaxResults?: number; /** - *

The maximum number of gateway group summaries to return. The default is 50.

+ *

The token used to paginate though multiple pages of gateway group summaries.

*/ - MaxResults?: number; + NextToken?: string; } export namespace ListGatewayGroupsRequest { @@ -3142,9 +3141,9 @@ export namespace ListGatewayGroupsRequest { */ export interface GatewayGroupSummary { /** - *

The name of the gateway group.

+ *

The description of the gateway group.

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

The ARN of the gateway group.

@@ -3152,9 +3151,9 @@ export interface GatewayGroupSummary { Arn?: string; /** - *

The description of the gateway group.

+ *

The name of the gateway group.

*/ - Description?: string; + Name?: string; } export namespace GatewayGroupSummary { @@ -3165,14 +3164,14 @@ export namespace GatewayGroupSummary { export interface ListGatewayGroupsResponse { /** - *

The token used to paginate though multiple pages of gateway group summaries.

+ *

The gateway groups in the list.

*/ - NextToken?: string; + GatewayGroups?: GatewayGroupSummary[]; /** - *

The gateway groups in the list.

+ *

The token used to paginate though multiple pages of gateway group summaries.

*/ - GatewayGroups?: GatewayGroupSummary[]; + NextToken?: string; } export namespace ListGatewayGroupsResponse { @@ -3182,6 +3181,11 @@ export namespace ListGatewayGroupsResponse { } export interface ListGatewaysRequest { + /** + *

The maximum number of gateway summaries to return. The default is 50.

+ */ + MaxResults?: number; + /** *

The token used to paginate though multiple pages of gateway summaries.

*/ @@ -3191,11 +3195,6 @@ export interface ListGatewaysRequest { *

The gateway group ARN for which to list gateways.

*/ GatewayGroupArn?: string; - - /** - *

The maximum number of gateway summaries to return. The default is 50.

- */ - MaxResults?: number; } export namespace ListGatewaysRequest { @@ -3209,9 +3208,10 @@ export namespace ListGatewaysRequest { */ export interface GatewaySummary { /** - *

The description of the gateway.

+ *

The software version of the gateway. The gateway automatically updates its software + * version during normal operation.

*/ - Description?: string; + SoftwareVersion?: string; /** *

The ARN of the gateway.

@@ -3229,10 +3229,9 @@ export interface GatewaySummary { Name?: string; /** - *

The software version of the gateway. The gateway automatically updates its software - * version during normal operation.

+ *

The description of the gateway.

*/ - SoftwareVersion?: string; + Description?: string; } export namespace GatewaySummary { @@ -3272,33 +3271,33 @@ export enum SkillTypeFilter { export interface ListSkillsRequest { /** - *

The ARN of the skill group for which to list enabled skills.

+ *

An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response includes only + * results beyond the token, up to the value specified by MaxResults.

*/ - SkillGroupArn?: string; + NextToken?: string; /** - *

Whether the skill is publicly available or is a private skill.

+ *

The ARN of the skill group for which to list enabled skills.

*/ - SkillType?: SkillTypeFilter | string; + SkillGroupArn?: string; /** - *

Whether the skill is enabled under the user's account.

+ *

The maximum number of results to include in the response. If more results exist than + * the specified MaxResults value, a token is included in the response so that + * the remaining results can be retrieved.

*/ - EnablementType?: EnablementTypeFilter | string; + MaxResults?: number; /** - *

An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response includes only - * results beyond the token, up to the value specified by MaxResults.

+ *

Whether the skill is publicly available or is a private skill.

*/ - NextToken?: string; + SkillType?: SkillTypeFilter | string; /** - *

The maximum number of results to include in the response. If more results exist than - * the specified MaxResults value, a token is included in the response so that - * the remaining results can be retrieved.

+ *

Whether the skill is enabled under the user's account.

*/ - MaxResults?: number; + EnablementType?: EnablementTypeFilter | string; } export namespace ListSkillsRequest { @@ -3327,25 +3326,25 @@ export interface SkillSummary { SkillId?: string; /** - *

Whether the skill is enabled under the user's account, or if it requires linking to be - * used.

+ *

The name of the skill.

*/ - EnablementType?: EnablementType | string; + SkillName?: string; /** - *

Linking support for a skill.

+ *

Whether the skill is publicly available or is a private skill.

*/ - SupportsLinking?: boolean; + SkillType?: SkillType | string; /** - *

Whether the skill is publicly available or is a private skill.

+ *

Whether the skill is enabled under the user's account, or if it requires linking to be + * used.

*/ - SkillType?: SkillType | string; + EnablementType?: EnablementType | string; /** - *

The name of the skill.

+ *

Linking support for a skill.

*/ - SkillName?: string; + SupportsLinking?: boolean; } export namespace SkillSummary { @@ -3432,15 +3431,15 @@ export namespace ListSkillsStoreCategoriesResponse { export interface ListSkillsStoreSkillsByCategoryRequest { /** - *

The category ID for which the skills are being retrieved from the skill - * store.

+ *

The tokens used for pagination.

*/ - CategoryId: number | undefined; + NextToken?: string; /** - *

The tokens used for pagination.

+ *

The category ID for which the skills are being retrieved from the skill + * store.

*/ - NextToken?: string; + CategoryId: number | undefined; /** *

The maximum number of skills returned per paginated calls.

@@ -3459,24 +3458,24 @@ export namespace ListSkillsStoreSkillsByCategoryRequest { */ export interface DeveloperInfo { /** - *

The email of the developer.

+ *

The website of the developer.

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

The name of the developer.

+ *

The URL of the privacy policy.

*/ - DeveloperName?: string; + PrivacyPolicy?: string; /** - *

The URL of the privacy policy.

+ *

The email of the developer.

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

The website of the developer.

+ *

The name of the developer.

*/ - Url?: string; + DeveloperName?: string; } export namespace DeveloperInfo { @@ -3490,34 +3489,25 @@ export namespace DeveloperInfo { */ export interface SkillDetails { /** - *

The details about what the skill supports organized as bullet points.

- */ - BulletPoints?: string[]; - - /** - *

The types of skills.

- */ - SkillTypes?: string[]; - - /** - *

The updates added in bullet points.

+ *

The details about the developer that published the skill.

*/ - NewInThisVersionBulletPoints?: string[]; + DeveloperInfo?: DeveloperInfo; /** - *

The date when the skill was released.

+ *

The generic keywords associated with the skill that can be used to find a + * skill.

*/ - ReleaseDate?: string; + GenericKeywords?: string[]; /** - *

The details about the developer that published the skill.

+ *

The description of the product.

*/ - DeveloperInfo?: DeveloperInfo; + ProductDescription?: string; /** - *

The description of the product.

+ *

The types of skills.

*/ - ProductDescription?: string; + SkillTypes?: string[]; /** *

@@ -3527,21 +3517,30 @@ export interface SkillDetails { */ Reviews?: { [key: string]: string }; + /** + *

The URL of the end user license agreement.

+ */ + EndUserLicenseAgreement?: string; + /** *

The phrase used to trigger the skill.

*/ InvocationPhrase?: string; /** - *

The generic keywords associated with the skill that can be used to find a - * skill.

+ *

The date when the skill was released.

*/ - GenericKeywords?: string[]; + ReleaseDate?: string; /** - *

The URL of the end user license agreement.

+ *

The details about what the skill supports organized as bullet points.

*/ - EndUserLicenseAgreement?: string; + BulletPoints?: string[]; + + /** + *

The updates added in bullet points.

+ */ + NewInThisVersionBulletPoints?: string[]; } export namespace SkillDetails { @@ -3555,14 +3554,14 @@ export namespace SkillDetails { */ export interface SkillsStoreSkill { /** - *

The URL where the skill icon resides.

+ *

The ARN of the skill.

*/ - IconUrl?: string; + SkillId?: string; /** - *

The name of the skill.

+ *

Information about the skill.

*/ - SkillName?: string; + SkillDetails?: SkillDetails; /** *

Sample utterances that interact with the skill.

@@ -3575,19 +3574,19 @@ export interface SkillsStoreSkill { SupportsLinking?: boolean; /** - *

The ARN of the skill.

+ *

The URL where the skill icon resides.

*/ - SkillId?: string; + IconUrl?: string; /** - *

Short description about the skill.

+ *

The name of the skill.

*/ - ShortDescription?: string; + SkillName?: string; /** - *

Information about the skill.

+ *

Short description about the skill.

*/ - SkillDetails?: SkillDetails; + ShortDescription?: string; } export namespace SkillsStoreSkill { @@ -3597,18 +3596,18 @@ export namespace SkillsStoreSkill { } export interface ListSkillsStoreSkillsByCategoryResponse { - /** - *

The skill store skills.

- */ - SkillsStoreSkills?: SkillsStoreSkill[]; - /** *

The tokens used for pagination.

*/ NextToken?: string; -} -export namespace ListSkillsStoreSkillsByCategoryResponse { + /** + *

The skill store skills.

+ */ + SkillsStoreSkills?: SkillsStoreSkill[]; +} + +export namespace ListSkillsStoreSkillsByCategoryResponse { export const filterSensitiveLog = (obj: ListSkillsStoreSkillsByCategoryResponse): any => ({ ...obj, }); @@ -3643,9 +3642,9 @@ export namespace ListSmartHomeAppliancesRequest { */ export interface SmartHomeAppliance { /** - *

The friendly name of the smart home appliance.

+ *

The name of the manufacturer of the smart home appliance.

*/ - FriendlyName?: string; + ManufacturerName?: string; /** *

The description of the smart home appliance.

@@ -3653,9 +3652,9 @@ export interface SmartHomeAppliance { Description?: string; /** - *

The name of the manufacturer of the smart home appliance.

+ *

The friendly name of the smart home appliance.

*/ - ManufacturerName?: string; + FriendlyName?: string; } export namespace SmartHomeAppliance { @@ -3666,14 +3665,14 @@ export namespace SmartHomeAppliance { export interface ListSmartHomeAppliancesResponse { /** - *

The smart home appliances.

+ *

The tokens used for pagination.

*/ - SmartHomeAppliances?: SmartHomeAppliance[]; + NextToken?: string; /** - *

The tokens used for pagination.

+ *

The smart home appliances.

*/ - NextToken?: string; + SmartHomeAppliances?: SmartHomeAppliance[]; } export namespace ListSmartHomeAppliancesResponse { @@ -3683,6 +3682,11 @@ export namespace ListSmartHomeAppliancesResponse { } export interface ListTagsRequest { + /** + *

The ARN of the specified resource for which to list tags.

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

An optional token returned from a prior request. Use this token for pagination of * results from this action. If this parameter is specified, the response includes only @@ -3696,11 +3700,6 @@ export interface ListTagsRequest { * the remaining results can be retrieved.

*/ MaxResults?: number; - - /** - *

The ARN of the specified resource for which to list tags.

- */ - Arn: string | undefined; } export namespace ListTagsRequest { @@ -3749,6 +3748,12 @@ export namespace PutConferencePreferenceResponse { } export interface PutInvitationConfigurationRequest { + /** + *

The email ID of the organization or individual contact that the enrolled user can use. + *

+ */ + ContactEmail?: string; + /** *

The name of the organization sending the enrollment invite to a user.

*/ @@ -3759,12 +3764,6 @@ export interface PutInvitationConfigurationRequest { * invitation.

*/ PrivateSkillIds?: string[]; - - /** - *

The email ID of the organization or individual contact that the enrolled user can use. - *

- */ - ContactEmail?: string; } export namespace PutInvitationConfigurationRequest { @@ -3788,14 +3787,14 @@ export interface PutRoomSkillParameterRequest { RoomArn?: string; /** - *

The updated room skill parameter. Required.

+ *

The ARN of the skill associated with the room skill parameter. Required.

*/ - RoomSkillParameter: RoomSkillParameter | undefined; + SkillId: string | undefined; /** - *

The ARN of the skill associated with the room skill parameter. Required.

+ *

The updated room skill parameter. Required.

*/ - SkillId: string | undefined; + RoomSkillParameter: RoomSkillParameter | undefined; } export namespace PutRoomSkillParameterRequest { @@ -3813,11 +3812,6 @@ export namespace PutRoomSkillParameterResponse { } export interface PutSkillAuthorizationRequest { - /** - *

The unique identifier of a skill.

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

The room that the skill is authorized for.

*/ @@ -3828,6 +3822,11 @@ export interface PutSkillAuthorizationRequest { * populated in the AuthorizationResult map to establish the authorization.

*/ AuthorizationResult: { [key: string]: string } | undefined; + + /** + *

The unique identifier of a skill.

+ */ + SkillId: string | undefined; } export namespace PutSkillAuthorizationRequest { @@ -3876,12 +3875,6 @@ export namespace InvalidDeviceException { } export interface RegisterAVSDeviceRequest { - /** - *

The device type ID for your AVS device generated by Amazon when the OEM creates a new - * product on Amazon's Developer Console.

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

The ARN of the room with which to associate your AVS device.

*/ @@ -3910,6 +3903,12 @@ export interface RegisterAVSDeviceRequest { * AVS device.

*/ DeviceSerialNumber?: string; + + /** + *

The device type ID for your AVS device generated by Amazon when the OEM creates a new + * product on Amazon's Developer Console.

+ */ + AmazonId: string | undefined; } export namespace RegisterAVSDeviceRequest { @@ -3954,14 +3953,14 @@ export namespace RejectSkillResponse { export interface ResolveRoomRequest { /** - *

The ARN of the skill that was requested. Required.

+ *

The ARN of the user. Required.

*/ - SkillId: string | undefined; + UserId: string | undefined; /** - *

The ARN of the user. Required.

+ *

The ARN of the skill that was requested. Required.

*/ - UserId: string | undefined; + SkillId: string | undefined; } export namespace ResolveRoomRequest { @@ -3972,9 +3971,9 @@ export namespace ResolveRoomRequest { export interface ResolveRoomResponse { /** - *

The name of the room from which the skill request was invoked.

+ *

Response to get the room profile request. Required.

*/ - RoomName?: string; + RoomSkillParameters?: RoomSkillParameter[]; /** *

The ARN of the room from which the skill request was invoked.

@@ -3982,9 +3981,9 @@ export interface ResolveRoomResponse { RoomArn?: string; /** - *

Response to get the room profile request. Required.

+ *

The name of the room from which the skill request was invoked.

*/ - RoomSkillParameters?: RoomSkillParameter[]; + RoomName?: string; } export namespace ResolveRoomResponse { @@ -4025,14 +4024,14 @@ export namespace RevokeInvitationResponse { */ export interface Filter { /** - *

The values of a filter.

+ *

The key of a filter.

*/ - Values: string[] | undefined; + Key: string | undefined; /** - *

The key of a filter.

+ *

The values of a filter.

*/ - Key: string | undefined; + Values: string[] | undefined; } export namespace Filter { @@ -4076,10 +4075,11 @@ export interface SearchAddressBooksRequest { NextToken?: string; /** - *

The filters to use to list a specified set of address books. The supported filter key - * is AddressBookName.

+ *

The maximum number of results to include in the response. If more results exist than + * the specified MaxResults value, a token is included in the response so that the remaining + * results can be retrieved.

*/ - Filters?: Filter[]; + MaxResults?: number; /** *

The sort order to use in listing the specified set of address books. The supported @@ -4088,11 +4088,10 @@ export interface SearchAddressBooksRequest { SortCriteria?: Sort[]; /** - *

The maximum number of results to include in the response. If more results exist than - * the specified MaxResults value, a token is included in the response so that the remaining - * results can be retrieved.

+ *

The filters to use to list a specified set of address books. The supported filter key + * is AddressBookName.

*/ - MaxResults?: number; + Filters?: Filter[]; } export namespace SearchAddressBooksRequest { @@ -4132,13 +4131,6 @@ export interface SearchContactsRequest { */ SortCriteria?: Sort[]; - /** - *

An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response only includes - * results beyond the token, up to the value specified by MaxResults.

- */ - NextToken?: string; - /** *

The maximum number of results to include in the response. If more results exist than * the specified MaxResults value, a token is included in the response so that the remaining @@ -4146,6 +4138,13 @@ export interface SearchContactsRequest { */ MaxResults?: number; + /** + *

An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response only includes + * results beyond the token, up to the value specified by MaxResults.

+ */ + NextToken?: string; + /** *

The filters to use to list a specified set of address books. The supported filter * keys are DisplayName, FirstName, LastName, and AddressBookArns.

@@ -4164,57 +4163,57 @@ export namespace SearchContactsRequest { */ export interface ContactData { /** - *

The phone number of the contact. The phone number type defaults to WORK. You can - * specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you - * specify the phone number type and multiple numbers.

+ *

The list of phone numbers for the contact.

*/ - PhoneNumber?: string; + PhoneNumbers?: PhoneNumber[]; /** - *

The name of the contact to display on the console.

+ *

The first name of the contact, used to call the contact on the device.

*/ - DisplayName?: string; + FirstName?: string; /** - *

The last name of the contact, used to call the contact on the device.

+ *

The list of SIP addresses for the contact.

*/ - LastName?: string; + SipAddresses?: SipAddress[]; /** - *

The list of SIP addresses for the contact.

+ *

The phone number of the contact. The phone number type defaults to WORK. You can + * specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you + * specify the phone number type and multiple numbers.

*/ - SipAddresses?: SipAddress[]; + PhoneNumber?: string; /** - *

The ARN of the contact.

+ *

The name of the contact to display on the console.

*/ - ContactArn?: string; + DisplayName?: string; /** - *

The list of phone numbers for the contact.

+ *

The ARN of the contact.

*/ - PhoneNumbers?: PhoneNumber[]; + ContactArn?: string; /** - *

The first name of the contact, used to call the contact on the device.

+ *

The last name of the contact, used to call the contact on the device.

*/ - FirstName?: string; + LastName?: string; } export namespace ContactData { export const filterSensitiveLog = (obj: ContactData): any => ({ ...obj, - ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), - ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), + ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), + ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), }); } export interface SearchContactsResponse { /** - *

The contacts that meet the specified set of filter criteria, in sort order.

+ *

The total number of contacts returned.

*/ - Contacts?: ContactData[]; + TotalCount?: number; /** *

The token returned to indicate that there is more data available.

@@ -4222,9 +4221,9 @@ export interface SearchContactsResponse { NextToken?: string; /** - *

The total number of contacts returned.

+ *

The contacts that meet the specified set of filter criteria, in sort order.

*/ - TotalCount?: number; + Contacts?: ContactData[]; } export namespace SearchContactsResponse { @@ -4235,6 +4234,14 @@ export namespace SearchContactsResponse { } export interface SearchDevicesRequest { + /** + *

The filters to use to list a specified set of devices. Supported filter keys are + * DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, + * UnassociatedOnly, ConnectionStatus (ONLINE and OFFLINE), NetworkProfileName, + * NetworkProfileArn, Feature, and FailureCode.

+ */ + Filters?: Filter[]; + /** *

The sort order to use in listing the specified set of devices. Supported sort keys * are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, ConnectionStatus, @@ -4255,14 +4262,6 @@ export interface SearchDevicesRequest { * results beyond the token, up to the value specified by MaxResults.

*/ NextToken?: string; - - /** - *

The filters to use to list a specified set of devices. Supported filter keys are - * DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, - * UnassociatedOnly, ConnectionStatus (ONLINE and OFFLINE), NetworkProfileName, - * NetworkProfileArn, Feature, and FailureCode.

- */ - Filters?: Filter[]; } export namespace SearchDevicesRequest { @@ -4276,69 +4275,69 @@ export namespace SearchDevicesRequest { */ export interface DeviceData { /** - *

The name of the room associated with a device.

+ *

The MAC address of a device.

*/ - RoomName?: string; + MacAddress?: string; /** - *

The room ARN associated with a device.

+ *

The time (in epoch) when the device data was created.

*/ - RoomArn?: string; + CreatedTime?: Date; /** - *

Detailed information about a device's status.

+ *

The status of a device.

*/ - DeviceStatusInfo?: DeviceStatusInfo; + DeviceStatus?: DeviceStatus | string; /** - *

The name of a device.

+ *

The name of the room associated with a device.

*/ - DeviceName?: string; + RoomName?: string; /** - *

The status of a device.

+ *

The name of a device.

*/ - DeviceStatus?: DeviceStatus | string; + DeviceName?: string; /** - *

The ARN of a device.

+ *

The room ARN associated with a device.

*/ - DeviceArn?: string; + RoomArn?: string; /** - *

The name of the network profile associated with a device.

+ *

Detailed information about a device's status.

*/ - NetworkProfileName?: string; + DeviceStatusInfo?: DeviceStatusInfo; /** - *

The type of a device.

+ *

The serial number of a device.

*/ - DeviceType?: string; + DeviceSerialNumber?: string; /** - *

The software version of a device.

+ *

The ARN of a device.

*/ - SoftwareVersion?: string; + DeviceArn?: string; /** - *

The time (in epoch) when the device data was created.

+ *

The ARN of the network profile associated with a device.

*/ - CreatedTime?: Date; + NetworkProfileArn?: string; /** - *

The serial number of a device.

+ *

The software version of a device.

*/ - DeviceSerialNumber?: string; + SoftwareVersion?: string; /** - *

The MAC address of a device.

+ *

The type of a device.

*/ - MacAddress?: string; + DeviceType?: string; /** - *

The ARN of the network profile associated with a device.

+ *

The name of the network profile associated with a device.

*/ - NetworkProfileArn?: string; + NetworkProfileName?: string; } export namespace DeviceData { @@ -4372,10 +4371,11 @@ export namespace SearchDevicesResponse { export interface SearchNetworkProfilesRequest { /** - *

The sort order to use to list the specified set of network profiles. Valid sort criteria - * includes NetworkProfileName, Ssid, and SecurityType.

+ *

An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response includes only + * results beyond the token, up to the value specified by MaxResults.

*/ - SortCriteria?: Sort[]; + NextToken?: string; /** *

The filters to use to list a specified set of network profiles. Valid filters are @@ -4384,11 +4384,10 @@ export interface SearchNetworkProfilesRequest { Filters?: Filter[]; /** - *

An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response includes only - * results beyond the token, up to the value specified by MaxResults.

+ *

The sort order to use to list the specified set of network profiles. Valid sort criteria + * includes NetworkProfileName, Ssid, and SecurityType.

*/ - NextToken?: string; + SortCriteria?: Sort[]; /** *

The maximum number of results to include in the response. If more results exist than the @@ -4409,25 +4408,26 @@ export namespace SearchNetworkProfilesRequest { */ export interface NetworkProfileData { /** - *

The SSID of the Wi-Fi network.

+ *

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is + * supported.

*/ - Ssid?: string; + EapMethod?: NetworkEapMethod | string; /** - *

The ARN of the network profile associated with a device.

+ *

The name of the network profile associated with a device.

*/ - NetworkProfileArn?: string; + NetworkProfileName?: string; /** - *

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is - * supported.

+ *

The SSID of the Wi-Fi network.

*/ - EapMethod?: NetworkEapMethod | string; + Ssid?: string; /** - *

Detailed information about a device's network profile.

+ *

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager + * (ACM). This is used to issue certificates to the devices.

*/ - Description?: string; + CertificateAuthorityArn?: string; /** *

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, @@ -4436,15 +4436,14 @@ export interface NetworkProfileData { SecurityType?: NetworkSecurityType | string; /** - *

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager - * (ACM). This is used to issue certificates to the devices.

+ *

The ARN of the network profile associated with a device.

*/ - CertificateAuthorityArn?: string; + NetworkProfileArn?: string; /** - *

The name of the network profile associated with a device.

+ *

Detailed information about a device's network profile.

*/ - NetworkProfileName?: string; + Description?: string; } export namespace NetworkProfileData { @@ -4455,11 +4454,10 @@ export namespace NetworkProfileData { export interface SearchNetworkProfilesResponse { /** - *

An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response includes only - * results beyond the token, up to the value specified by MaxResults.

+ *

The network profiles that meet the specified set of filter criteria, in sort order. It + * is a list of NetworkProfileData objects.

*/ - NextToken?: string; + NetworkProfiles?: NetworkProfileData[]; /** *

The total number of network profiles returned.

@@ -4467,10 +4465,11 @@ export interface SearchNetworkProfilesResponse { TotalCount?: number; /** - *

The network profiles that meet the specified set of filter criteria, in sort order. It - * is a list of NetworkProfileData objects.

+ *

An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response includes only + * results beyond the token, up to the value specified by MaxResults.

*/ - NetworkProfiles?: NetworkProfileData[]; + NextToken?: string; } export namespace SearchNetworkProfilesResponse { @@ -4481,16 +4480,17 @@ export namespace SearchNetworkProfilesResponse { export interface SearchProfilesRequest { /** - *

The filters to use to list a specified set of room profiles. Supported filter keys - * are ProfileName and Address. Required.

+ *

An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response includes only + * results beyond the token, up to the value specified by MaxResults.

*/ - Filters?: Filter[]; + NextToken?: string; /** - *

The sort order to use in listing the specified set of room profiles. Supported sort - * keys are ProfileName and Address.

+ *

The filters to use to list a specified set of room profiles. Supported filter keys + * are ProfileName and Address. Required.

*/ - SortCriteria?: Sort[]; + Filters?: Filter[]; /** *

The maximum number of results to include in the response. If more results exist than @@ -4500,11 +4500,10 @@ export interface SearchProfilesRequest { MaxResults?: number; /** - *

An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response includes only - * results beyond the token, up to the value specified by MaxResults.

+ *

The sort order to use in listing the specified set of room profiles. Supported sort + * keys are ProfileName and Address.

*/ - NextToken?: string; + SortCriteria?: Sort[]; } export namespace SearchProfilesRequest { @@ -4518,9 +4517,9 @@ export namespace SearchProfilesRequest { */ export interface ProfileData { /** - *

The name of a room profile.

+ *

Retrieves if the profile data is default or not.

*/ - ProfileName?: string; + IsDefault?: boolean; /** *

The ARN of a room profile.

@@ -4528,30 +4527,25 @@ export interface ProfileData { ProfileArn?: string; /** - *

The locale of a room profile. (This is currently available only to a limited preview - * audience.)

- */ - Locale?: string; - - /** - *

The time zone of a room profile.

+ *

The temperature unit of a room profile.

*/ - Timezone?: string; + TemperatureUnit?: TemperatureUnit | string; /** - *

Retrieves if the profile data is default or not.

+ *

The name of a room profile.

*/ - IsDefault?: boolean; + ProfileName?: string; /** - *

The address of a room profile.

+ *

The time zone of a room profile.

*/ - Address?: string; + Timezone?: string; /** - *

The temperature unit of a room profile.

+ *

The locale of a room profile. (This is currently available only to a limited preview + * audience.)

*/ - TemperatureUnit?: TemperatureUnit | string; + Locale?: string; /** *

The distance unit of a room profile.

@@ -4562,6 +4556,11 @@ export interface ProfileData { *

The wake word of a room profile.

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

The address of a room profile.

+ */ + Address?: string; } export namespace ProfileData { @@ -4571,6 +4570,11 @@ export namespace ProfileData { } export interface SearchProfilesResponse { + /** + *

The profiles that meet the specified set of filter criteria, in sort order.

+ */ + Profiles?: ProfileData[]; + /** *

The token returned to indicate that there is more data available.

*/ @@ -4580,11 +4584,6 @@ export interface SearchProfilesResponse { *

The total number of room profiles returned.

*/ TotalCount?: number; - - /** - *

The profiles that meet the specified set of filter criteria, in sort order.

- */ - Profiles?: ProfileData[]; } export namespace SearchProfilesResponse { @@ -4595,11 +4594,10 @@ export namespace SearchProfilesResponse { export interface SearchRoomsRequest { /** - *

The maximum number of results to include in the response. If more results exist than - * the specified MaxResults value, a token is included in the response so that - * the remaining results can be retrieved.

+ *

The sort order to use in listing the specified set of rooms. The supported sort keys + * are RoomName and ProfileName.

*/ - MaxResults?: number; + SortCriteria?: Sort[]; /** *

The filters to use to list a specified set of rooms. The supported filter keys are @@ -4607,18 +4605,19 @@ export interface SearchRoomsRequest { */ Filters?: Filter[]; + /** + *

The maximum number of results to include in the response. If more results exist than + * the specified MaxResults value, a token is included in the response so that + * the remaining results can be retrieved.

+ */ + MaxResults?: number; + /** *

An optional token returned from a prior request. Use this token for pagination of * results from this action. If this parameter is specified, the response includes only * results beyond the token, up to the value specified by MaxResults.

*/ NextToken?: string; - - /** - *

The sort order to use in listing the specified set of rooms. The supported sort keys - * are RoomName and ProfileName.

- */ - SortCriteria?: Sort[]; } export namespace SearchRoomsRequest { @@ -4632,9 +4631,9 @@ export namespace SearchRoomsRequest { */ export interface RoomData { /** - *

The profile name of a room.

+ *

The description of a room.

*/ - ProfileName?: string; + Description?: string; /** *

The name of a room.

@@ -4652,14 +4651,14 @@ export interface RoomData { ProviderCalendarId?: string; /** - *

The description of a room.

+ *

The profile ARN of a room.

*/ - Description?: string; + ProfileArn?: string; /** - *

The profile ARN of a room.

+ *

The profile name of a room.

*/ - ProfileArn?: string; + ProfileName?: string; } export namespace RoomData { @@ -4675,14 +4674,14 @@ export interface SearchRoomsResponse { NextToken?: string; /** - *

The total number of rooms returned.

+ *

The rooms that meet the specified set of filter criteria, in sort order.

*/ - TotalCount?: number; + Rooms?: RoomData[]; /** - *

The rooms that meet the specified set of filter criteria, in sort order.

+ *

The total number of rooms returned.

*/ - Rooms?: RoomData[]; + TotalCount?: number; } export namespace SearchRoomsResponse { @@ -4693,16 +4692,17 @@ export namespace SearchRoomsResponse { export interface SearchSkillGroupsRequest { /** - *

The filters to use to list a specified set of skill groups. The supported filter key - * is SkillGroupName.

+ *

The maximum number of results to include in the response. If more results exist than + * the specified MaxResults value, a token is included in the response so that + * the remaining results can be retrieved.

*/ - Filters?: Filter[]; + MaxResults?: number; /** - *

The sort order to use in listing the specified set of skill groups. The supported - * sort key is SkillGroupName.

+ *

The filters to use to list a specified set of skill groups. The supported filter key + * is SkillGroupName.

*/ - SortCriteria?: Sort[]; + Filters?: Filter[]; /** *

An optional token returned from a prior request. Use this token for pagination of @@ -4713,11 +4713,10 @@ export interface SearchSkillGroupsRequest { NextToken?: string; /** - *

The maximum number of results to include in the response. If more results exist than - * the specified MaxResults value, a token is included in the response so that - * the remaining results can be retrieved.

+ *

The sort order to use in listing the specified set of skill groups. The supported + * sort key is SkillGroupName.

*/ - MaxResults?: number; + SortCriteria?: Sort[]; } export namespace SearchSkillGroupsRequest { @@ -4730,11 +4729,6 @@ export namespace SearchSkillGroupsRequest { *

The attributes of a skill group.

*/ export interface SkillGroupData { - /** - *

The description of a skill group.

- */ - Description?: string; - /** *

The skill group ARN of a skill group.

*/ @@ -4744,6 +4738,11 @@ export interface SkillGroupData { *

The skill group name of a skill group.

*/ SkillGroupName?: string; + + /** + *

The description of a skill group.

+ */ + Description?: string; } export namespace SkillGroupData { @@ -4753,6 +4752,11 @@ export namespace SkillGroupData { } export interface SearchSkillGroupsResponse { + /** + *

The token returned to indicate that there is more data available.

+ */ + NextToken?: string; + /** *

The total number of skill groups returned.

*/ @@ -4762,11 +4766,6 @@ export interface SearchSkillGroupsResponse { *

The skill groups that meet the filter criteria, in sort order.

*/ SkillGroups?: SkillGroupData[]; - - /** - *

The token returned to indicate that there is more data available.

- */ - NextToken?: string; } export namespace SearchSkillGroupsResponse { @@ -4777,18 +4776,10 @@ export namespace SearchSkillGroupsResponse { export interface SearchUsersRequest { /** - *

An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response includes only - * results beyond the token, up to the value specified by MaxResults. - * Required.

- */ - NextToken?: string; - - /** - *

The sort order to use in listing the filtered set of users. Required. Supported sort + *

The filters to use for listing a specific set of users. Required. Supported filter * keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.

*/ - SortCriteria?: Sort[]; + Filters?: Filter[]; /** *

The maximum number of results to include in the response. If more results exist than @@ -4798,10 +4789,18 @@ export interface SearchUsersRequest { MaxResults?: number; /** - *

The filters to use for listing a specific set of users. Required. Supported filter + *

The sort order to use in listing the filtered set of users. Required. Supported sort * keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.

*/ - Filters?: Filter[]; + SortCriteria?: Sort[]; + + /** + *

An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response includes only + * results beyond the token, up to the value specified by MaxResults. + * Required.

+ */ + NextToken?: string; } export namespace SearchUsersRequest { @@ -4833,9 +4832,9 @@ export interface UserData { EnrollmentId?: string; /** - *

The first name of a user.

+ *

The enrollment status of a user.

*/ - FirstName?: string; + EnrollmentStatus?: EnrollmentStatus | string; /** *

The last name of a user.

@@ -4843,14 +4842,14 @@ export interface UserData { LastName?: string; /** - *

The enrollment status of a user.

+ *

The ARN of a user.

*/ - EnrollmentStatus?: EnrollmentStatus | string; + UserArn?: string; /** - *

The ARN of a user.

+ *

The first name of a user.

*/ - UserArn?: string; + FirstName?: string; } export namespace UserData { @@ -4922,14 +4921,14 @@ export namespace Audio { */ export interface Ssml { /** - *

The value of the SSML message in the correct SSML format. The audio tag is not supported.

+ *

The locale of the SSML message. Currently, en-US is supported.

*/ - Value: string | undefined; + Locale: Locale | string | undefined; /** - *

The locale of the SSML message. Currently, en-US is supported.

+ *

The value of the SSML message in the correct SSML format. The audio tag is not supported.

*/ - Locale: Locale | string | undefined; + Value: string | undefined; } export namespace Ssml { @@ -4943,14 +4942,14 @@ export namespace Ssml { */ export interface Text { /** - *

The value of the text message.

+ *

The locale of the text message. Currently, en-US is supported.

*/ - Value: string | undefined; + Locale: Locale | string | undefined; /** - *

The locale of the text message. Currently, en-US is supported.

+ *

The value of the text message.

*/ - Locale: Locale | string | undefined; + Value: string | undefined; } export namespace Text { @@ -4988,25 +4987,25 @@ export namespace Content { export interface SendAnnouncementRequest { /** - *

The time to live for an announcement. Default is 300. If delivery doesn't occur within this time, the - * announcement is not delivered.

+ *

The unique, user-specified identifier for the request that ensures idempotency.

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

The announcement content. This can contain only one of the three possible announcement types (text, SSML or audio).

+ *

The filters to use to send an announcement to a specified list of rooms. The supported filter keys are RoomName, ProfileName, RoomArn, and ProfileArn. To send to all rooms, specify an empty RoomFilters list.

*/ - Content: Content | undefined; + RoomFilters: Filter[] | undefined; /** - *

The unique, user-specified identifier for the request that ensures idempotency.

+ *

The time to live for an announcement. Default is 300. If delivery doesn't occur within this time, the + * announcement is not delivered.

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

The filters to use to send an announcement to a specified list of rooms. The supported filter keys are RoomName, ProfileName, RoomArn, and ProfileArn. To send to all rooms, specify an empty RoomFilters list.

+ *

The announcement content. This can contain only one of the three possible announcement types (text, SSML or audio).

*/ - RoomFilters: Filter[] | undefined; + Content: Content | undefined; } export namespace SendAnnouncementRequest { @@ -5065,6 +5064,11 @@ export namespace SendInvitationResponse { } export interface StartDeviceSyncRequest { + /** + *

Request structure to start the device sync. Required.

+ */ + Features: (Feature | string)[] | undefined; + /** *

The ARN of the room with which the device to sync is associated. Required.

*/ @@ -5074,11 +5078,6 @@ export interface StartDeviceSyncRequest { *

The ARN of the device to sync. Required.

*/ DeviceArn?: string; - - /** - *

Request structure to start the device sync. Required.

- */ - Features: (Feature | string)[] | undefined; } export namespace StartDeviceSyncRequest { @@ -5117,16 +5116,16 @@ export namespace StartSmartHomeApplianceDiscoveryResponse { } export interface TagResourceRequest { - /** - *

The ARN of the resource to which to add metadata tags. Required.

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

The tags to be added to the specified resource. Do not provide system tags. Required. *

*/ Tags: Tag[] | undefined; + + /** + *

The ARN of the resource to which to add metadata tags. Required.

+ */ + Arn: string | undefined; } export namespace TagResourceRequest { @@ -5145,15 +5144,15 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

The tags to be removed from the specified resource. Do not provide system tags. - * Required.

+ *

The ARN of the resource from which to remove metadata tags. Required.

*/ - TagKeys: string[] | undefined; + Arn: string | undefined; /** - *

The ARN of the resource from which to remove metadata tags. Required.

+ *

The tags to be removed from the specified resource. Do not provide system tags. + * Required.

*/ - Arn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -5192,14 +5191,14 @@ export interface UpdateAddressBookRequest { Name?: string; /** - *

The updated description of the room.

+ *

The ARN of the room to update.

*/ - Description?: string; + AddressBookArn: string | undefined; /** - *

The ARN of the room to update.

+ *

The updated description of the room.

*/ - AddressBookArn: string | undefined; + Description?: string; } export namespace UpdateAddressBookRequest { @@ -5218,20 +5217,20 @@ export namespace UpdateAddressBookResponse { export interface UpdateBusinessReportScheduleRequest { /** - *

The ARN of the business report schedule.

+ *

The format of the generated report (individual CSV files or zipped files of + * individual files).

*/ - ScheduleArn: string | undefined; + Format?: BusinessReportFormat | string; /** - *

The recurrence of the reports.

+ *

The name identifier of the schedule.

*/ - Recurrence?: BusinessReportRecurrence; + ScheduleName?: string; /** - *

The format of the generated report (individual CSV files or zipped files of - * individual files).

+ *

The ARN of the business report schedule.

*/ - Format?: BusinessReportFormat | string; + ScheduleArn: string | undefined; /** *

The S3 key where the report is delivered.

@@ -5239,14 +5238,14 @@ export interface UpdateBusinessReportScheduleRequest { S3KeyPrefix?: string; /** - *

The S3 location of the output reports.

+ *

The recurrence of the reports.

*/ - S3BucketName?: string; + Recurrence?: BusinessReportRecurrence; /** - *

The name identifier of the schedule.

+ *

The S3 location of the output reports.

*/ - ScheduleName?: string; + S3BucketName?: string; } export namespace UpdateBusinessReportScheduleRequest { @@ -5265,14 +5264,19 @@ export namespace UpdateBusinessReportScheduleResponse { export interface UpdateConferenceProviderRequest { /** - *

The ARN of the conference provider.

+ *

The IP endpoint and protocol for calling.

*/ - ConferenceProviderArn: string | undefined; + IPDialIn?: IPDialIn; /** - *

The IP endpoint and protocol for calling.

+ *

The information for PSTN conferencing.

*/ - IPDialIn?: IPDialIn; + PSTNDialIn?: PSTNDialIn; + + /** + *

The ARN of the conference provider.

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

The meeting settings for the conference provider.

@@ -5283,11 +5287,6 @@ export interface UpdateConferenceProviderRequest { *

The type of the conference provider.

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

The information for PSTN conferencing.

- */ - PSTNDialIn?: PSTNDialIn; } export namespace UpdateConferenceProviderRequest { @@ -5306,24 +5305,14 @@ export namespace UpdateConferenceProviderResponse { export interface UpdateContactRequest { /** - *

The list of SIP addresses for the contact.

- */ - SipAddresses?: SipAddress[]; - - /** - *

The updated first name of the contact.

- */ - FirstName?: string; - - /** - *

The list of phone numbers for the contact.

+ *

The ARN of the contact to update.

*/ - PhoneNumbers?: PhoneNumber[]; + ContactArn: string | undefined; /** - *

The updated last name of the contact.

+ *

The list of SIP addresses for the contact.

*/ - LastName?: string; + SipAddresses?: SipAddress[]; /** *

The updated display name of the contact.

@@ -5338,17 +5327,27 @@ export interface UpdateContactRequest { PhoneNumber?: string; /** - *

The ARN of the contact to update.

+ *

The updated first name of the contact.

*/ - ContactArn: string | undefined; + FirstName?: string; + + /** + *

The updated last name of the contact.

+ */ + LastName?: string; + + /** + *

The list of phone numbers for the contact.

+ */ + PhoneNumbers?: PhoneNumber[]; } export namespace UpdateContactRequest { export const filterSensitiveLog = (obj: UpdateContactRequest): any => ({ ...obj, ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), - ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), + ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), }); } @@ -5388,9 +5387,9 @@ export namespace UpdateDeviceResponse { export interface UpdateGatewayRequest { /** - *

The ARN of the gateway to update.

+ *

The updated description of the gateway.

*/ - GatewayArn: string | undefined; + Description?: string; /** *

The updated software version of the gateway. The gateway automatically updates its @@ -5404,9 +5403,9 @@ export interface UpdateGatewayRequest { Name?: string; /** - *

The updated description of the gateway.

+ *

The ARN of the gateway to update.

*/ - Description?: string; + GatewayArn: string | undefined; } export namespace UpdateGatewayRequest { @@ -5425,9 +5424,9 @@ export namespace UpdateGatewayResponse { export interface UpdateGatewayGroupRequest { /** - *

The ARN of the gateway group to update.

+ *

The updated description of the gateway group.

*/ - GatewayGroupArn: string | undefined; + Description?: string; /** *

The updated name of the gateway group.

@@ -5435,9 +5434,9 @@ export interface UpdateGatewayGroupRequest { Name?: string; /** - *

The updated description of the gateway group.

+ *

The ARN of the gateway group to update.

*/ - Description?: string; + GatewayGroupArn: string | undefined; } export namespace UpdateGatewayGroupRequest { @@ -5455,6 +5454,17 @@ export namespace UpdateGatewayGroupResponse { } export interface UpdateNetworkProfileRequest { + /** + *

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager + * (ACM). This is used to issue certificates to the devices.

+ */ + CertificateAuthorityArn?: string; + + /** + *

The current password of the Wi-Fi network.

+ */ + CurrentPassword?: string; + /** *

The root certificate(s) of your authentication server that will be installed on your * devices and used to trust your authentication server during EAP negotiation.

@@ -5468,38 +5478,27 @@ export interface UpdateNetworkProfileRequest { */ NextPassword?: string; - /** - *

Detailed information about a device's network profile.

- */ - Description?: string; - - /** - *

The name of the network profile associated with a device.

- */ - NetworkProfileName?: string; - /** *

The ARN of the network profile associated with a device.

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

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager - * (ACM). This is used to issue certificates to the devices.

+ *

Detailed information about a device's network profile.

*/ - CertificateAuthorityArn?: string; + Description?: string; /** - *

The current password of the Wi-Fi network.

+ *

The name of the network profile associated with a device.

*/ - CurrentPassword?: string; + NetworkProfileName?: string; } export namespace UpdateNetworkProfileRequest { export const filterSensitiveLog = (obj: UpdateNetworkProfileRequest): any => ({ ...obj, - ...(obj.NextPassword && { NextPassword: SENSITIVE_STRING }), ...(obj.CurrentPassword && { CurrentPassword: SENSITIVE_STRING }), + ...(obj.NextPassword && { NextPassword: SENSITIVE_STRING }), }); } @@ -5517,11 +5516,9 @@ export namespace UpdateNetworkProfileResponse { */ export interface UpdateEndOfMeetingReminder { /** - *

Updates settings for the end of meeting reminder feature that are applied to a room - * profile. The end of meeting reminder enables Alexa to remind users when a meeting is - * ending.

+ *

Whether an end of meeting reminder is enabled or not.

*/ - ReminderAtMinutes?: number[]; + Enabled?: boolean; /** *

The type of sound that users hear during the end of meeting reminder.

@@ -5529,9 +5526,11 @@ export interface UpdateEndOfMeetingReminder { ReminderType?: EndOfMeetingReminderType | string; /** - *

Whether an end of meeting reminder is enabled or not.

+ *

Updates settings for the end of meeting reminder feature that are applied to a room + * profile. The end of meeting reminder enables Alexa to remind users when a meeting is + * ending.

*/ - Enabled?: boolean; + ReminderAtMinutes?: number[]; } export namespace UpdateEndOfMeetingReminder { @@ -5569,14 +5568,14 @@ export namespace UpdateInstantBooking { */ export interface UpdateRequireCheckIn { /** - *

Duration between 5 and 20 minutes to determine when to release the room if it's not checked into.

+ *

Whether require check in is enabled or not.

*/ - ReleaseAfterMinutes?: number; + Enabled?: boolean; /** - *

Whether require check in is enabled or not.

+ *

Duration between 5 and 20 minutes to determine when to release the room if it's not checked into.

*/ - Enabled?: boolean; + ReleaseAfterMinutes?: number; } export namespace UpdateRequireCheckIn { @@ -5590,26 +5589,26 @@ export namespace UpdateRequireCheckIn { */ export interface UpdateMeetingRoomConfiguration { /** - *

Settings for the end of meeting reminder feature that are applied to a room profile. The - * end of meeting reminder enables Alexa to remind users when a meeting is ending.

+ *

Whether room utilization metrics are enabled or not.

*/ - EndOfMeetingReminder?: UpdateEndOfMeetingReminder; + RoomUtilizationMetricsEnabled?: boolean; /** - *

Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”

+ *

Settings to automatically book an available room available for a configured duration + * when joining a meeting with Alexa.

*/ - RequireCheckIn?: UpdateRequireCheckIn; + InstantBooking?: UpdateInstantBooking; /** - *

Whether room utilization metrics are enabled or not.

+ *

Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”

*/ - RoomUtilizationMetricsEnabled?: boolean; + RequireCheckIn?: UpdateRequireCheckIn; /** - *

Settings to automatically book an available room available for a configured duration - * when joining a meeting with Alexa.

+ *

Settings for the end of meeting reminder feature that are applied to a room profile. The + * end of meeting reminder enables Alexa to remind users when a meeting is ending.

*/ - InstantBooking?: UpdateInstantBooking; + EndOfMeetingReminder?: UpdateEndOfMeetingReminder; } export namespace UpdateMeetingRoomConfiguration { @@ -5620,19 +5619,24 @@ export namespace UpdateMeetingRoomConfiguration { export interface UpdateProfileRequest { /** - *

The updated name for the room profile.

+ *

The updated timezone for the room profile.

*/ - ProfileName?: string; + Timezone?: string; /** - *

The updated distance unit for the room profile.

+ *

The updated meeting room settings of a room profile.

*/ - DistanceUnit?: DistanceUnit | string; + MeetingRoomConfiguration?: UpdateMeetingRoomConfiguration; /** - *

The updated temperature unit for the room profile.

+ *

The updated name for the room profile.

*/ - TemperatureUnit?: TemperatureUnit | string; + ProfileName?: string; + + /** + *

The updated maximum volume limit for the room profile.

+ */ + MaxVolumeLimit?: number; /** *

The updated locale for the room profile. (This is currently only available to a limited preview audience.)

@@ -5640,20 +5644,19 @@ export interface UpdateProfileRequest { Locale?: string; /** - *

The updated meeting room settings of a room profile.

+ *

Whether the setup mode of the profile is enabled.

*/ - MeetingRoomConfiguration?: UpdateMeetingRoomConfiguration; + SetupModeDisabled?: boolean; /** - *

The updated timezone for the room profile.

+ *

The updated wake word for the room profile.

*/ - Timezone?: string; + WakeWord?: WakeWord | string; /** - *

Sets the profile as default if selected. If this is missing, no update is done to the - * default status.

+ *

The updated temperature unit for the room profile.

*/ - IsDefault?: boolean; + TemperatureUnit?: TemperatureUnit | string; /** *

The ARN of the room profile to update. Required.

@@ -5661,14 +5664,15 @@ export interface UpdateProfileRequest { ProfileArn?: string; /** - *

The updated maximum volume limit for the room profile.

+ *

Sets the profile as default if selected. If this is missing, no update is done to the + * default status.

*/ - MaxVolumeLimit?: number; + IsDefault?: boolean; /** - *

The updated address for the room profile.

+ *

The updated distance unit for the room profile.

*/ - Address?: string; + DistanceUnit?: DistanceUnit | string; /** *

Whether the PSTN setting of the room profile is enabled.

@@ -5676,14 +5680,9 @@ export interface UpdateProfileRequest { PSTNEnabled?: boolean; /** - *

The updated wake word for the room profile.

- */ - WakeWord?: WakeWord | string; - - /** - *

Whether the setup mode of the profile is enabled.

+ *

The updated address for the room profile.

*/ - SetupModeDisabled?: boolean; + Address?: string; } export namespace UpdateProfileRequest { @@ -5711,11 +5710,6 @@ export interface UpdateRoomRequest { */ ProfileArn?: string; - /** - *

The ARN of the room to update.

- */ - RoomArn?: string; - /** *

The updated provider calendar ARN for the room.

*/ @@ -5725,6 +5719,11 @@ export interface UpdateRoomRequest { *

The updated name for the room.

*/ RoomName?: string; + + /** + *

The ARN of the room to update.

+ */ + RoomArn?: string; } export namespace UpdateRoomRequest { @@ -5743,9 +5742,9 @@ export namespace UpdateRoomResponse { export interface UpdateSkillGroupRequest { /** - *

The updated name for the skill group.

+ *

The updated description for the skill group.

*/ - SkillGroupName?: string; + Description?: string; /** *

The ARN of the skill group to update.

@@ -5753,9 +5752,9 @@ export interface UpdateSkillGroupRequest { SkillGroupArn?: string; /** - *

The updated description for the skill group.

+ *

The updated name for the skill group.

*/ - Description?: string; + SkillGroupName?: string; } export namespace UpdateSkillGroupRequest { diff --git a/clients/client-amplify/models/models_0.ts b/clients/client-amplify/models/models_0.ts index 5e5e262d2852..e3eceb8564b9 100644 --- a/clients/client-amplify/models/models_0.ts +++ b/clients/client-amplify/models/models_0.ts @@ -29,14 +29,14 @@ export enum Stage { */ export interface AutoBranchCreationConfig { /** - *

The Amplify environment name for the pull request.

+ *

The environment variables for the autocreated branch.

*/ - pullRequestEnvironmentName?: string; + environmentVariables?: { [key: string]: string }; /** - *

Enables basic authorization for the autocreated branch.

+ *

Enables auto building for the autocreated branch.

*/ - enableBasicAuth?: boolean; + enableAutoBuild?: boolean; /** *

The framework for the autocreated branch.

@@ -44,34 +44,39 @@ export interface AutoBranchCreationConfig { framework?: string; /** - *

Enables pull request preview for the autocreated branch.

+ *

The basic authorization credentials for the autocreated branch.

*/ - enablePullRequestPreview?: boolean; + basicAuthCredentials?: string; /** - *

The environment variables for the autocreated branch.

+ *

Describes the current stage for the autocreated branch.

*/ - environmentVariables?: { [key: string]: string }; + stage?: Stage | string; /** - *

Enables auto building for the autocreated branch.

+ *

The build specification (build spec) for the autocreated branch.

*/ - enableAutoBuild?: boolean; + buildSpec?: string; /** - *

Describes the current stage for the autocreated branch.

+ *

Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. Enabling performance mode will mean that hosting configuration or code changes can take up to 10 minutes to roll out.

*/ - stage?: Stage | string; + enablePerformanceMode?: boolean; /** - *

The basic authorization credentials for the autocreated branch.

+ *

Enables pull request preview for the autocreated branch.

*/ - basicAuthCredentials?: string; + enablePullRequestPreview?: boolean; /** - *

The build specification (build spec) for the autocreated branch.

+ *

The Amplify environment name for the pull request.

*/ - buildSpec?: string; + pullRequestEnvironmentName?: string; + + /** + *

Enables basic authorization for the autocreated branch.

+ */ + enableBasicAuth?: boolean; } export namespace AutoBranchCreationConfig { @@ -86,9 +91,9 @@ export namespace AutoBranchCreationConfig { */ export interface CustomRule { /** - *

The source pattern for a URL rewrite or redirect rule.

+ *

The target pattern for a URL rewrite or redirect rule.

*/ - source: string | undefined; + target: string | undefined; /** *

The condition for a URL rewrite or redirect rule, such as a country code.

@@ -97,13 +102,36 @@ export interface CustomRule { /** *

The status code for a URL rewrite or redirect rule.

+ * + *
+ *
200
+ *
+ *

Represents a 200 rewrite rule.

+ *
+ *
301
+ *
+ *

Represents a 301 (moved pemanently) redirect rule. This and all future requests should be directed to the target URL.

+ *
+ *
302
+ *
+ *

Represents a 302 temporary redirect rule.

+ *
+ *
404
+ *
+ *

Represents a 404 redirect rule.

+ *
+ *
404-200
+ *
+ *

Represents a 404 rewrite rule.

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

The target pattern for a URL rewrite or redirect rule.

+ *

The source pattern for a URL rewrite or redirect rule.

*/ - target: string | undefined; + source: string | undefined; } export namespace CustomRule { @@ -121,35 +149,25 @@ export enum Platform { */ export interface CreateAppRequest { /** - *

The tag for an Amplify app.

- */ - tags?: { [key: string]: string }; - - /** - *

The repository for an Amplify app.

- */ - repository?: string; - - /** - *

Enables the auto building of branches for an Amplify app.

+ *

Enables automated branch creation for the Amplify app.

*/ - enableBranchAutoBuild?: boolean; + enableAutoBranchCreation?: boolean; /** - *

Automatically disconnects a branch in the Amplify Console when you delete a branch - * from your Git repository.

+ *

Enables basic authorization for an Amplify app. This will apply to all branches that + * are part of this app.

*/ - enableBranchAutoDeletion?: boolean; + enableBasicAuth?: boolean; /** - *

The credentials for basic authorization for an Amplify app.

+ *

The description for an Amplify app.

*/ - basicAuthCredentials?: string; + description?: string; /** - *

The description for an Amplify app.

+ *

The platform or framework for an Amplify app.

*/ - description?: string; + platform?: Platform | string; /** *

The personal access token for a third-party source control system for an Amplify app. @@ -159,19 +177,19 @@ export interface CreateAppRequest { accessToken?: string; /** - *

The build specification (build spec) for an Amplify app.

+ *

The repository for an Amplify app.

*/ - buildSpec?: string; + repository?: string; /** - *

Enables automated branch creation for the Amplify app.

+ *

Enables the auto building of branches for an Amplify app.

*/ - enableAutoBranchCreation?: boolean; + enableBranchAutoBuild?: boolean; /** - *

The AWS Identity and Access Management (IAM) service role for an Amplify app.

+ *

The tag for an Amplify app.

*/ - iamServiceRoleArn?: string; + tags?: { [key: string]: string }; /** *

The OAuth token for a third-party source control system for an Amplify app. The OAuth @@ -186,25 +204,24 @@ export interface CreateAppRequest { autoBranchCreationPatterns?: string[]; /** - *

The environment variables map for an Amplify app.

+ *

The custom rewrite and redirect rules for an Amplify app.

*/ - environmentVariables?: { [key: string]: string }; + customRules?: CustomRule[]; /** - *

Enables basic authorization for an Amplify app. This will apply to all branches that - * are part of this app.

+ *

The environment variables map for an Amplify app.

*/ - enableBasicAuth?: boolean; + environmentVariables?: { [key: string]: string }; /** - *

The name for the Amplify app.

+ *

The AWS Identity and Access Management (IAM) service role for an Amplify app.

*/ - name: string | undefined; + iamServiceRoleArn?: string; /** - *

The platform or framework for an Amplify app.

+ *

The build specification (build spec) for an Amplify app.

*/ - platform?: Platform | string; + buildSpec?: string; /** *

The automated branch creation configuration for the Amplify app.

@@ -212,20 +229,31 @@ export interface CreateAppRequest { autoBranchCreationConfig?: AutoBranchCreationConfig; /** - *

The custom rewrite and redirect rules for an Amplify app.

+ *

The credentials for basic authorization for an Amplify app.

*/ - customRules?: CustomRule[]; + basicAuthCredentials?: string; + + /** + *

The name for the Amplify app.

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

Automatically disconnects a branch in the Amplify Console when you delete a branch + * from your Git repository.

+ */ + enableBranchAutoDeletion?: boolean; } export namespace CreateAppRequest { export const filterSensitiveLog = (obj: CreateAppRequest): any => ({ ...obj, - ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), ...(obj.oauthToken && { oauthToken: SENSITIVE_STRING }), ...(obj.autoBranchCreationConfig && { autoBranchCreationConfig: AutoBranchCreationConfig.filterSensitiveLog(obj.autoBranchCreationConfig), }), + ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), }); } @@ -234,24 +262,24 @@ export namespace CreateAppRequest { */ export interface ProductionBranch { /** - *

The thumbnail URL for the production branch.

+ *

The branch name for the production branch.

*/ - thumbnailUrl?: string; + branchName?: string; /** - *

The status of the production branch.

+ *

The last deploy time of the production branch.

*/ - status?: string; + lastDeployTime?: Date; /** - *

The last deploy time of the production branch.

+ *

The status of the production branch.

*/ - lastDeployTime?: Date; + status?: string; /** - *

The branch name for the production branch.

+ *

The thumbnail URL for the production branch.

*/ - branchName?: string; + thumbnailUrl?: string; } export namespace ProductionBranch { @@ -266,19 +294,19 @@ export namespace ProductionBranch { */ export interface App { /** - *

The platform for the Amplify app.

+ *

The unique ID of the Amplify app.

*/ - platform: Platform | string | undefined; + appId: string | undefined; /** - *

Enables basic authorization for the Amplify app's branches.

+ *

Describes the automated branch creation glob patterns for the Amplify app.

*/ - enableBasicAuth: boolean | undefined; + autoBranchCreationPatterns?: string[]; /** - *

The name for the Amplify app.

+ *

Describes the custom redirect and rewrite rules for the Amplify app.

*/ - name: string | undefined; + customRules?: CustomRule[]; /** *

The environment variables for the Amplify app.

@@ -286,56 +314,55 @@ export interface App { environmentVariables: { [key: string]: string } | undefined; /** - *

Describes the automated branch creation glob patterns for the Amplify app.

+ *

Describes the automated branch creation configuration for the Amplify app.

*/ - autoBranchCreationPatterns?: string[]; + autoBranchCreationConfig?: AutoBranchCreationConfig; /** - *

Updates the date and time for the Amplify app.

+ *

The AWS Identity and Access Management (IAM) service role for the Amazon Resource + * Name (ARN) of the Amplify app.

*/ - updateTime: Date | undefined; + iamServiceRoleArn?: string; /** - *

The Amazon Resource Name (ARN) of the Amplify app.

+ *

Enables automated branch creation for the Amplify app.

*/ - appArn: string | undefined; + enableAutoBranchCreation?: boolean; /** - *

Describes the content of the build specification (build spec) for the Amplify app. - *

+ *

The default domain for the Amplify app.

*/ - buildSpec?: string; + defaultDomain: string | undefined; /** - *

The default domain for the Amplify app.

+ *

Enables basic authorization for the Amplify app's branches.

*/ - defaultDomain: string | undefined; + enableBasicAuth: boolean | undefined; /** - *

Creates a date and time for the Amplify app.

+ *

Enables the auto-building of branches for the Amplify app.

*/ - createTime: Date | undefined; + enableBranchAutoBuild: boolean | undefined; /** - *

The unique ID of the Amplify app.

+ *

The repository for the Amplify app.

*/ - appId: string | undefined; + repository: string | undefined; /** - *

Enables automated branch creation for the Amplify app.

+ *

The platform for the Amplify app.

*/ - enableAutoBranchCreation?: boolean; + platform: Platform | string | undefined; /** - *

The basic authorization credentials for branches for the Amplify app.

+ *

The description for the Amplify app.

*/ - basicAuthCredentials?: string; + description: string | undefined; /** - *

Automatically disconnect a branch in the Amplify Console when you delete a branch - * from your Git repository.

+ *

Updates the date and time for the Amplify app.

*/ - enableBranchAutoDeletion?: boolean; + updateTime: Date | undefined; /** *

The tag for the Amplify app.

@@ -343,49 +370,50 @@ export interface App { tags?: { [key: string]: string }; /** - *

Enables the auto-building of branches for the Amplify app.

+ *

Describes the information about a production branch of the Amplify app.

*/ - enableBranchAutoBuild: boolean | undefined; + productionBranch?: ProductionBranch; /** - *

The repository for the Amplify app.

+ *

The Amazon Resource Name (ARN) of the Amplify app.

*/ - repository: string | undefined; + appArn: string | undefined; /** - *

The description for the Amplify app.

+ *

Describes the content of the build specification (build spec) for the Amplify app. + *

*/ - description: string | undefined; + buildSpec?: string; /** - *

Describes the information about a production branch of the Amplify app.

+ *

The basic authorization credentials for branches for the Amplify app.

*/ - productionBranch?: ProductionBranch; + basicAuthCredentials?: string; /** - *

Describes the automated branch creation configuration for the Amplify app.

+ *

The name for the Amplify app.

*/ - autoBranchCreationConfig?: AutoBranchCreationConfig; + name: string | undefined; /** - *

Describes the custom redirect and rewrite rules for the Amplify app.

+ *

Automatically disconnect a branch in the Amplify Console when you delete a branch + * from your Git repository.

*/ - customRules?: CustomRule[]; + enableBranchAutoDeletion?: boolean; /** - *

The AWS Identity and Access Management (IAM) service role for the Amazon Resource - * Name (ARN) of the Amplify app.

+ *

Creates a date and time for the Amplify app.

*/ - iamServiceRoleArn?: string; + createTime: Date | undefined; } export namespace App { export const filterSensitiveLog = (obj: App): any => ({ ...obj, - ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), ...(obj.autoBranchCreationConfig && { autoBranchCreationConfig: AutoBranchCreationConfig.filterSensitiveLog(obj.autoBranchCreationConfig), }), + ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), }); } @@ -469,14 +497,14 @@ export namespace UnauthorizedException { */ export interface CreateBackendEnvironmentRequest { /** - *

The AWS CloudFormation stack name of a backend environment.

+ *

The unique ID for an Amplify app.

*/ - stackName?: string; + appId: string | undefined; /** - *

The unique ID for an Amplify app.

+ *

The name for the backend environment.

*/ - appId: string | undefined; + environmentName: string | undefined; /** *

The name of deployment artifacts.

@@ -484,9 +512,9 @@ export interface CreateBackendEnvironmentRequest { deploymentArtifacts?: string; /** - *

The name for the backend environment.

+ *

The AWS CloudFormation stack name of a backend environment.

*/ - environmentName: string | undefined; + stackName?: string; } export namespace CreateBackendEnvironmentRequest { @@ -500,9 +528,10 @@ export namespace CreateBackendEnvironmentRequest { */ export interface BackendEnvironment { /** - *

The name of deployment artifacts.

+ *

The creation date and time for a backend environment that is part of an Amplify app. + *

*/ - deploymentArtifacts?: string; + createTime: Date | undefined; /** *

The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify @@ -510,11 +539,6 @@ export interface BackendEnvironment { */ backendEnvironmentArn: string | undefined; - /** - *

The name for a backend environment that is part of an Amplify app.

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

The last updated date and time for a backend environment that is part of an Amplify * app.

@@ -522,15 +546,19 @@ export interface BackendEnvironment { updateTime: Date | undefined; /** - *

The creation date and time for a backend environment that is part of an Amplify app. - *

+ *

The AWS CloudFormation stack name of a backend environment.

*/ - createTime: Date | undefined; + stackName?: string; /** - *

The AWS CloudFormation stack name of a backend environment.

+ *

The name for a backend environment that is part of an Amplify app.

*/ - stackName?: string; + environmentName: string | undefined; + + /** + *

The name of deployment artifacts.

+ */ + deploymentArtifacts?: string; } export namespace BackendEnvironment { @@ -575,9 +603,9 @@ export namespace NotFoundException { */ export interface CreateBranchRequest { /** - *

Enables pull request preview for this branch.

+ *

Enables notifications for the branch.

*/ - enablePullRequestPreview?: boolean; + enableNotification?: boolean; /** *

Enables basic authorization for the branch.

@@ -585,9 +613,9 @@ export interface CreateBranchRequest { enableBasicAuth?: boolean; /** - *

The unique ID for an Amplify app.

+ *

Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. Enabling performance mode will mean that hosting configuration or code changes can take up to 10 minutes to roll out.

*/ - appId: string | undefined; + enablePerformanceMode?: boolean; /** *

Describes the current stage for the branch.

@@ -595,19 +623,19 @@ export interface CreateBranchRequest { stage?: Stage | string; /** - *

Enables notifications for the branch.

+ *

Enables pull request preview for this branch.

*/ - enableNotification?: boolean; + enablePullRequestPreview?: boolean; /** - *

The basic authorization credentials for the branch.

+ *

The environment variables for the branch.

*/ - basicAuthCredentials?: string; + environmentVariables?: { [key: string]: string }; /** - *

The build specification (build spec) for the branch.

+ *

The unique ID for an Amplify app.

*/ - buildSpec?: string; + appId: string | undefined; /** *

The content Time To Live (TTL) for the website in seconds.

@@ -615,14 +643,14 @@ export interface CreateBranchRequest { ttl?: string; /** - *

The Amplify environment name for the pull request.

+ *

The tag for the branch.

*/ - pullRequestEnvironmentName?: string; + tags?: { [key: string]: string }; /** - *

The name for the branch.

+ *

The framework for the branch.

*/ - branchName: string | undefined; + framework?: string; /** *

The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify @@ -631,34 +659,39 @@ export interface CreateBranchRequest { backendEnvironmentArn?: string; /** - *

The framework for the branch.

+ *

The description for the branch.

*/ - framework?: string; + description?: string; /** - *

The tag for the branch.

+ *

The basic authorization credentials for the branch.

*/ - tags?: { [key: string]: string }; + basicAuthCredentials?: string; /** - *

The environment variables for the branch.

+ *

The name for the branch.

*/ - environmentVariables?: { [key: string]: string }; + branchName: string | undefined; /** - *

The display name for a branch. This is used as the default domain prefix.

+ *

The build specification (build spec) for the branch.

*/ - displayName?: string; + buildSpec?: string; /** - *

The description for the branch.

+ *

Enables auto building for the branch.

*/ - description?: string; + enableAutoBuild?: boolean; + + /** + *

The display name for a branch. This is used as the default domain prefix.

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

Enables auto building for the branch.

+ *

The Amplify environment name for the pull request.

*/ - enableAutoBuild?: boolean; + pullRequestEnvironmentName?: string; } export namespace CreateBranchRequest { @@ -673,64 +706,59 @@ export namespace CreateBranchRequest { */ export interface Branch { /** - *

The name for the branch that is part of an Amplify app.

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

The Amplify environment name for the pull request.

+ *

Enables auto-building on push for a branch of an Amplify app.

*/ - pullRequestEnvironmentName?: string; + enableAutoBuild: boolean | undefined; /** - *

The thumbnail URL for the branch of an Amplify app.

+ *

The tag for the branch of an Amplify app.

*/ - thumbnailUrl?: string; + tags?: { [key: string]: string }; /** - *

The tag for the branch of an Amplify app.

+ *

The total number of jobs that are part of an Amplify app.

*/ - tags?: { [key: string]: string }; + totalNumberOfJobs: string | undefined; /** - *

The ID of the active job for a branch of an Amplify app.

+ *

The source branch if the branch is a pull request branch.

*/ - activeJobId: string | undefined; + sourceBranch?: string; /** - *

The content Time to Live (TTL) for the website in seconds.

+ *

The thumbnail URL for the branch of an Amplify app.

*/ - ttl: string | undefined; + thumbnailUrl?: string; /** - *

Enables auto-building on push for a branch of an Amplify app.

+ *

The Amplify environment name for the pull request.

*/ - enableAutoBuild: boolean | undefined; + pullRequestEnvironmentName?: string; /** - *

Enables basic authorization for a branch of an Amplify app.

+ *

The destination branch if the branch is a pull request branch.

*/ - enableBasicAuth: boolean | undefined; + destinationBranch?: string; /** - *

The last updated date and time for a branch that is part of an Amplify app.

+ *

The ID of the active job for a branch of an Amplify app.

*/ - updateTime: Date | undefined; + activeJobId: string | undefined; /** - *

The framework for a branch of an Amplify app.

+ *

The current stage for the branch that is part of an Amplify app.

*/ - framework: string | undefined; + stage: Stage | string | undefined; /** - *

The destination branch if the branch is a pull request branch.

+ *

Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. Enabling performance mode will mean that hosting configuration or code changes can take up to 10 minutes to roll out.

*/ - destinationBranch?: string; + enablePerformanceMode?: boolean; /** - *

The current stage for the branch that is part of an Amplify app.

+ *

A list of custom resources that are linked to this branch.

*/ - stage: Stage | string | undefined; + associatedResources?: string[]; /** *

The creation date and time for a branch that is part of an Amplify app.

@@ -744,14 +772,24 @@ export interface Branch { buildSpec?: string; /** - *

The basic authorization credentials for a branch of an Amplify app.

+ *

The last updated date and time for a branch that is part of an Amplify app.

*/ - basicAuthCredentials?: string; + updateTime: Date | undefined; /** - *

A list of custom resources that are linked to this branch.

+ *

The framework for a branch of an Amplify app.

*/ - associatedResources?: string[]; + framework: string | undefined; + + /** + *

Enables basic authorization for a branch of an Amplify app.

+ */ + enableBasicAuth: boolean | undefined; + + /** + *

The display name for the branch. This is used as the default domain prefix.

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

The description for the branch that is part of an Amplify app.

@@ -759,15 +797,14 @@ export interface Branch { description: string | undefined; /** - *

The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify - * app.

+ *

The basic authorization credentials for a branch of an Amplify app.

*/ - backendEnvironmentArn?: string; + basicAuthCredentials?: string; /** - *

The display name for the branch. This is used as the default domain prefix.

+ *

The custom domains for a branch of an Amplify app.

*/ - displayName: string | undefined; + customDomains: string[] | undefined; /** *

The environment variables specific to a branch of an Amplify app.

@@ -775,34 +812,35 @@ export interface Branch { environmentVariables: { [key: string]: string } | undefined; /** - *

Enables pull request preview for the branch.

+ *

Enables notifications for a branch that is part of an Amplify app.

*/ - enablePullRequestPreview: boolean | undefined; + enableNotification: boolean | undefined; /** - *

The total number of jobs that are part of an Amplify app.

+ *

Enables pull request preview for the branch.

*/ - totalNumberOfJobs: string | undefined; + enablePullRequestPreview: boolean | undefined; /** - *

The source branch if the branch is a pull request branch.

+ *

The Amazon Resource Name (ARN) for a branch that is part of an Amplify app.

*/ - sourceBranch?: string; + branchArn: string | undefined; /** - *

The Amazon Resource Name (ARN) for a branch that is part of an Amplify app.

+ *

The name for the branch that is part of an Amplify app.

*/ - branchArn: string | undefined; + branchName: string | undefined; /** - *

The custom domains for a branch of an Amplify app.

+ *

The content Time to Live (TTL) for the website in seconds.

*/ - customDomains: string[] | undefined; + ttl: string | undefined; /** - *

Enables notifications for a branch that is part of an Amplify app.

+ *

The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify + * app.

*/ - enableNotification: boolean | undefined; + backendEnvironmentArn?: string; } export namespace Branch { @@ -839,6 +877,11 @@ export interface CreateDeploymentRequest { */ appId: string | undefined; + /** + *

The name for the branch, for the job.

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

An optional file map that contains the file name as the key and the file content md5 * hash as the value. If this argument is provided, the service will generate a unique @@ -846,11 +889,6 @@ export interface CreateDeploymentRequest { * the zipped files.

*/ fileMap?: { [key: string]: string }; - - /** - *

The name for the branch, for the job.

- */ - branchName: string | undefined; } export namespace CreateDeploymentRequest { @@ -868,17 +906,17 @@ export interface CreateDeploymentResult { */ jobId?: string; - /** - *

When the fileMap argument is provided in the request, - * fileUploadUrls will contain a map of file names to upload URLs.

- */ - fileUploadUrls: { [key: string]: string } | undefined; - /** *

When the fileMap argument is not provided in the request, this * zipUploadUrl is returned.

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

When the fileMap argument is provided in the request, + * fileUploadUrls will contain a map of file names to upload URLs.

+ */ + fileUploadUrls: { [key: string]: string } | undefined; } export namespace CreateDeploymentResult { @@ -892,14 +930,14 @@ export namespace CreateDeploymentResult { */ export interface SubDomainSetting { /** - *

The prefix setting for the subdomain.

+ *

The branch name setting for the subdomain.

*/ - prefix: string | undefined; + branchName: string | undefined; /** - *

The branch name setting for the subdomain.

+ *

The prefix setting for the subdomain.

*/ - branchName: string | undefined; + prefix: string | undefined; } export namespace SubDomainSetting { @@ -913,35 +951,35 @@ export namespace SubDomainSetting { */ export interface CreateDomainAssociationRequest { /** - *

The required AWS Identity and Access Management (IAM) service role for the Amazon - * Resource Name (ARN) for automatically creating subdomains.

+ *

The domain name for the domain association.

*/ - autoSubDomainIAMRole?: string; + domainName: string | undefined; /** - *

Enables the automated creation of subdomains for branches.

+ *

The setting for the subdomain.

*/ - enableAutoSubDomain?: boolean; + subDomainSettings: SubDomainSetting[] | undefined; /** - *

The unique ID for an Amplify app.

+ *

Sets the branch patterns for automatic subdomain creation.

*/ - appId: string | undefined; + autoSubDomainCreationPatterns?: string[]; /** - *

Sets the branch patterns for automatic subdomain creation.

+ *

The unique ID for an Amplify app.

*/ - autoSubDomainCreationPatterns?: string[]; + appId: string | undefined; /** - *

The domain name for the domain association.

+ *

Enables the automated creation of subdomains for branches.

*/ - domainName: string | undefined; + enableAutoSubDomain?: boolean; /** - *

The setting for the subdomain.

+ *

The required AWS Identity and Access Management (IAM) service role for the Amazon + * Resource Name (ARN) for automatically creating subdomains.

*/ - subDomainSettings: SubDomainSetting[] | undefined; + autoSubDomainIAMRole?: string; } export namespace CreateDomainAssociationRequest { @@ -966,9 +1004,9 @@ export enum DomainStatus { */ export interface SubDomain { /** - *

The DNS record for the subdomain.

+ *

Describes the settings for the subdomain.

*/ - dnsRecord: string | undefined; + subDomainSetting: SubDomainSetting | undefined; /** *

The verified status of the subdomain

@@ -976,9 +1014,9 @@ export interface SubDomain { verified: boolean | undefined; /** - *

Describes the settings for the subdomain.

+ *

The DNS record for the subdomain.

*/ - subDomainSetting: SubDomainSetting | undefined; + dnsRecord: string | undefined; } export namespace SubDomain { @@ -993,50 +1031,50 @@ export namespace SubDomain { */ export interface DomainAssociation { /** - *

Enables the automated creation of subdomains for branches.

+ *

The DNS record for certificate verification.

*/ - enableAutoSubDomain: boolean | undefined; + certificateVerificationDNSRecord?: string; /** - *

The reason for the current status of the domain association.

+ *

The current status of the domain association.

*/ - statusReason: string | undefined; + domainStatus: DomainStatus | string | undefined; /** - *

The DNS record for certificate verification.

+ *

Enables the automated creation of subdomains for branches.

*/ - certificateVerificationDNSRecord?: string; + enableAutoSubDomain: boolean | undefined; /** - *

The Amazon Resource Name (ARN) for the domain association.

+ *

The required AWS Identity and Access Management (IAM) service role for the Amazon + * Resource Name (ARN) for automatically creating subdomains.

*/ - domainAssociationArn: string | undefined; + autoSubDomainIAMRole?: string; /** - *

Sets branch patterns for automatic subdomain creation.

+ *

The subdomains for the domain association.

*/ - autoSubDomainCreationPatterns?: string[]; + subDomains: SubDomain[] | undefined; /** - *

The current status of the domain association.

+ *

The Amazon Resource Name (ARN) for the domain association.

*/ - domainStatus: DomainStatus | string | undefined; + domainAssociationArn: string | undefined; /** - *

The required AWS Identity and Access Management (IAM) service role for the Amazon - * Resource Name (ARN) for automatically creating subdomains.

+ *

The name of the domain.

*/ - autoSubDomainIAMRole?: string; + domainName: string | undefined; /** - *

The name of the domain.

+ *

The reason for the current status of the domain association.

*/ - domainName: string | undefined; + statusReason: string | undefined; /** - *

The subdomains for the domain association.

+ *

Sets branch patterns for automatic subdomain creation.

*/ - subDomains: SubDomain[] | undefined; + autoSubDomainCreationPatterns?: string[]; } export namespace DomainAssociation { @@ -1066,6 +1104,11 @@ export namespace CreateDomainAssociationResult { *

The request structure for the create webhook request.

*/ export interface CreateWebhookRequest { + /** + *

The unique ID for an Amplify app.

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

The description for a webhook.

*/ @@ -1075,11 +1118,6 @@ export interface CreateWebhookRequest { *

The name for a branch that is part of an Amplify app.

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

The unique ID for an Amplify app.

- */ - appId: string | undefined; } export namespace CreateWebhookRequest { @@ -1093,9 +1131,9 @@ export namespace CreateWebhookRequest { */ export interface Webhook { /** - *

The description for a webhook.

+ *

The Amazon Resource Name (ARN) for the webhook.

*/ - description: string | undefined; + webhookArn: string | undefined; /** *

The ID of the webhook.

@@ -1103,29 +1141,29 @@ export interface Webhook { webhookId: string | undefined; /** - *

The create date and time for a webhook.

+ *

The URL of the webhook.

*/ - createTime: Date | undefined; + webhookUrl: string | undefined; /** - *

Updates the date and time for a webhook.

+ *

The name for a branch that is part of an Amplify app.

*/ - updateTime: Date | undefined; + branchName: string | undefined; /** - *

The name for a branch that is part of an Amplify app.

+ *

The description for a webhook.

*/ - branchName: string | undefined; + description: string | undefined; /** - *

The Amazon Resource Name (ARN) for the webhook.

+ *

Updates the date and time for a webhook.

*/ - webhookArn: string | undefined; + updateTime: Date | undefined; /** - *

The URL of the webhook.

+ *

The create date and time for a webhook.

*/ - webhookUrl: string | undefined; + createTime: Date | undefined; } export namespace Webhook { @@ -1226,14 +1264,14 @@ export namespace DeleteBackendEnvironmentResult { */ export interface DeleteBranchRequest { /** - *

The unique ID for an Amplify app.

+ *

The name for the branch.

*/ - appId: string | undefined; + branchName: string | undefined; /** - *

The name for the branch.

+ *

The unique ID for an Amplify app.

*/ - branchName: string | undefined; + appId: string | undefined; } export namespace DeleteBranchRequest { @@ -1298,11 +1336,6 @@ export namespace DeleteDomainAssociationResult { *

The request structure for the delete job request.

*/ export interface DeleteJobRequest { - /** - *

The unique ID for the job.

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

The name for the branch, for the job.

*/ @@ -1312,6 +1345,11 @@ export interface DeleteJobRequest { *

The unique ID for an Amplify app.

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

The unique ID for the job.

+ */ + jobId: string | undefined; } export namespace DeleteJobRequest { @@ -1342,38 +1380,34 @@ export enum JobStatus { */ export interface JobSummary { /** - *

The start date and time for the job.

+ *

The Amazon Resource Name (ARN) for the job.

*/ - startTime: Date | undefined; + jobArn: string | undefined; /** - *

The commit ID from a third-party repository provider for the job.

+ *

The end date and time for the job.

*/ - commitId: string | undefined; + endTime?: Date; /** - *

The type for the job. If the value is RELEASE, the job was manually - * released from its source by using the StartJob API. If the value is - * RETRY, the job was manually retried using the StartJob - * API. If the value is WEB_HOOK, the job was automatically triggered by - * webhooks.

+ *

The current status for the job.

*/ - jobType: JobType | string | undefined; + status: JobStatus | string | undefined; /** - *

The Amazon Resource Name (ARN) for the job.

+ *

The start date and time for the job.

*/ - jobArn: string | undefined; + startTime: Date | undefined; /** - *

The end date and time for the job.

+ *

The commit message from a third-party repository provider for the job.

*/ - endTime?: Date; + commitMessage: string | undefined; /** - *

The current status for the job.

+ *

The commit date and time for the job.

*/ - status: JobStatus | string | undefined; + commitTime: Date | undefined; /** *

The unique ID for the job.

@@ -1381,14 +1415,18 @@ export interface JobSummary { jobId: string | undefined; /** - *

The commit message from a third-party repository provider for the job.

+ *

The type for the job. If the value is RELEASE, the job was manually + * released from its source by using the StartJob API. If the value is + * RETRY, the job was manually retried using the StartJob + * API. If the value is WEB_HOOK, the job was automatically triggered by + * webhooks.

*/ - commitMessage: string | undefined; + jobType: JobType | string | undefined; /** - *

The commit date and time for the job.

+ *

The commit ID from a third-party repository provider for the job.

*/ - commitTime: Date | undefined; + commitId: string | undefined; } export namespace JobSummary { @@ -1449,6 +1487,12 @@ export namespace DeleteWebhookResult { *

The request structure for the generate access logs request.

*/ export interface GenerateAccessLogsRequest { + /** + *

The time at which the logs should start. The time range specified is inclusive of the + * start time.

+ */ + startTime?: Date; + /** *

The time at which the logs should end. The time range specified is inclusive of the * end time.

@@ -1464,12 +1508,6 @@ export interface GenerateAccessLogsRequest { *

The unique ID for an Amplify app.

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

The time at which the logs should start. The time range specified is inclusive of the - * start time.

- */ - startTime?: Date; } export namespace GenerateAccessLogsRequest { @@ -1546,14 +1584,14 @@ export namespace GetArtifactUrlRequest { */ export interface GetArtifactUrlResult { /** - *

The presigned URL for the artifact.

+ *

The unique ID for an artifact.

*/ - artifactUrl: string | undefined; + artifactId: string | undefined; /** - *

The unique ID for an artifact.

+ *

The presigned URL for the artifact.

*/ - artifactId: string | undefined; + artifactUrl: string | undefined; } export namespace GetArtifactUrlResult { @@ -1567,14 +1605,14 @@ export namespace GetArtifactUrlResult { */ export interface GetBackendEnvironmentRequest { /** - *

The unique id for an Amplify app.

+ *

The name for the backend environment.

*/ - appId: string | undefined; + environmentName: string | undefined; /** - *

The name for the backend environment.

+ *

The unique id for an Amplify app.

*/ - environmentName: string | undefined; + appId: string | undefined; } export namespace GetBackendEnvironmentRequest { @@ -1604,14 +1642,14 @@ export namespace GetBackendEnvironmentResult { */ export interface GetBranchRequest { /** - *

The name for the branch.

+ *

The unique ID for an Amplify app.

*/ - branchName: string | undefined; + appId: string | undefined; /** - *

The unique ID for an Amplify app.

+ *

The name for the branch.

*/ - appId: string | undefined; + branchName: string | undefined; } export namespace GetBranchRequest { @@ -1639,14 +1677,14 @@ export namespace GetBranchResult { */ export interface GetDomainAssociationRequest { /** - *

The name of the domain.

+ *

The unique id for an Amplify app.

*/ - domainName: string | undefined; + appId: string | undefined; /** - *

The unique id for an Amplify app.

+ *

The name of the domain.

*/ - appId: string | undefined; + domainName: string | undefined; } export namespace GetDomainAssociationRequest { @@ -1676,6 +1714,11 @@ export namespace GetDomainAssociationResult { *

The request structure for the get job request.

*/ export interface GetJobRequest { + /** + *

The unique ID for an Amplify app.

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

The branch name for the job.

*/ @@ -1685,11 +1728,6 @@ export interface GetJobRequest { *

The unique ID for the job.

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

The unique ID for an Amplify app.

- */ - appId: string | undefined; } export namespace GetJobRequest { @@ -1703,20 +1741,19 @@ export namespace GetJobRequest { */ export interface Step { /** - *

The context for the current step. Includes a build image if the step is build. - *

+ *

The URL to the logs for the execution step.

*/ - context?: string; + logUrl?: string; /** - *

The start date and time of the execution step.

+ *

The URL to the test configuration for the execution step.

*/ - startTime: Date | undefined; + testConfigUrl?: string; /** - *

The name of the execution step.

+ *

The status of the execution step.

*/ - stepName: string | undefined; + status: JobStatus | string | undefined; /** *

The end date and time of the execution step.

@@ -1724,39 +1761,40 @@ export interface Step { endTime: Date | undefined; /** - *

The URL to the artifact for the execution step.

+ *

The list of screenshot URLs for the execution step, if relevant.

*/ - artifactsUrl?: string; + screenshots?: { [key: string]: string }; /** - *

The reason for the current step status.

+ *

The URL to the test artifact for the execution step.

*/ - statusReason?: string; + testArtifactsUrl?: string; /** - *

The status of the execution step.

+ *

The start date and time of the execution step.

*/ - status: JobStatus | string | undefined; + startTime: Date | undefined; /** - *

The URL to the logs for the execution step.

+ *

The context for the current step. Includes a build image if the step is build. + *

*/ - logUrl?: string; + context?: string; /** - *

The URL to the test configuration for the execution step.

+ *

The reason for the current step status.

*/ - testConfigUrl?: string; + statusReason?: string; /** - *

The list of screenshot URLs for the execution step, if relevant.

+ *

The URL to the artifact for the execution step.

*/ - screenshots?: { [key: string]: string }; + artifactsUrl?: string; /** - *

The URL to the test artifact for the execution step.

+ *

The name of the execution step.

*/ - testArtifactsUrl?: string; + stepName: string | undefined; } export namespace Step { @@ -1770,14 +1808,14 @@ export namespace Step { */ export interface Job { /** - *

The execution steps for an execution job, for an Amplify app.

+ *

Describes the summary for an execution job for an Amplify app.

*/ - steps: Step[] | undefined; + summary: JobSummary | undefined; /** - *

Describes the summary for an execution job for an Amplify app.

+ *

The execution steps for an execution job, for an Amplify app.

*/ - summary: JobSummary | undefined; + steps: Step[] | undefined; } export namespace Job { @@ -1857,17 +1895,17 @@ export namespace ListAppsRequest { *

The result structure for an Amplify app list request.

*/ export interface ListAppsResult { + /** + *

A list of Amplify apps.

+ */ + apps: App[] | undefined; + /** *

A pagination token. Set to null to start listing apps from start. If non-null, the * pagination token is returned in a result. Pass its value in here to list more projects. *

*/ nextToken?: string; - - /** - *

A list of Amplify apps.

- */ - apps: App[] | undefined; } export namespace ListAppsResult { @@ -1881,6 +1919,13 @@ export namespace ListAppsResult { *

Describes the request structure for the list artifacts request.

*/ export interface ListArtifactsRequest { + /** + *

A pagination token. Set to null to start listing artifacts from start. If a non-null + * pagination token is returned in a result, pass its value in here to list more artifacts. + *

+ */ + nextToken?: string; + /** *

The name of a branch that is part of an Amplify app.

*/ @@ -1892,21 +1937,14 @@ export interface ListArtifactsRequest { maxResults?: number; /** - *

A pagination token. Set to null to start listing artifacts from start. If a non-null - * pagination token is returned in a result, pass its value in here to list more artifacts. - *

+ *

The unique ID for a job.

*/ - nextToken?: string; + jobId: string | undefined; /** *

The unique ID for an Amplify app.

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

The unique ID for a job.

- */ - jobId: string | undefined; } export namespace ListArtifactsRequest { @@ -1963,9 +2001,11 @@ export namespace ListArtifactsResult { */ export interface ListBackendEnvironmentsRequest { /** - *

The maximum number of records to list in a single response.

+ *

A pagination token. Set to null to start listing backend environments from the start. + * If a non-null pagination token is returned in a result, pass its value in here to list + * more backend environments.

*/ - maxResults?: number; + nextToken?: string; /** *

The unique ID for an Amplify app.

@@ -1973,16 +2013,14 @@ export interface ListBackendEnvironmentsRequest { appId: string | undefined; /** - *

The name of the backend environment

+ *

The maximum number of records to list in a single response.

*/ - environmentName?: string; + maxResults?: number; /** - *

A pagination token. Set to null to start listing backend environments from the start. - * If a non-null pagination token is returned in a result, pass its value in here to list - * more backend environments.

+ *

The name of the backend environment

*/ - nextToken?: string; + environmentName?: string; } export namespace ListBackendEnvironmentsRequest { @@ -1995,16 +2033,16 @@ export namespace ListBackendEnvironmentsRequest { *

The result structure for the list backend environments result.

*/ export interface ListBackendEnvironmentsResult { - /** - *

The list of backend environments for an Amplify app.

- */ - backendEnvironments: BackendEnvironment[] | undefined; - /** *

A pagination token. If a non-null pagination token is returned in a result, pass its * value in another request to retrieve more entries.

*/ nextToken?: string; + + /** + *

The list of backend environments for an Amplify app.

+ */ + backendEnvironments: BackendEnvironment[] | undefined; } export namespace ListBackendEnvironmentsResult { @@ -2017,11 +2055,6 @@ export namespace ListBackendEnvironmentsResult { *

The request structure for the list branches request.

*/ export interface ListBranchesRequest { - /** - *

The unique ID for an Amplify app.

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

A pagination token. Set to null to start listing branches from the start. If a * non-null pagination token is returned in a result, pass its value in here to list more @@ -2033,6 +2066,11 @@ export interface ListBranchesRequest { *

The maximum number of records to list in a single response.

*/ maxResults?: number; + + /** + *

The unique ID for an Amplify app.

+ */ + appId: string | undefined; } export namespace ListBranchesRequest { @@ -2046,15 +2084,15 @@ export namespace ListBranchesRequest { */ export interface ListBranchesResult { /** - *

A pagination token. If a non-null pagination token is returned in a result, pass its - * value in another request to retrieve more entries.

+ *

A list of branches for an Amplify app.

*/ - nextToken?: string; + branches: Branch[] | undefined; /** - *

A list of branches for an Amplify app.

+ *

A pagination token. If a non-null pagination token is returned in a result, pass its + * value in another request to retrieve more entries.

*/ - branches: Branch[] | undefined; + nextToken?: string; } export namespace ListBranchesResult { @@ -2069,11 +2107,9 @@ export namespace ListBranchesResult { */ export interface ListDomainAssociationsRequest { /** - *

A pagination token. Set to null to start listing apps from the start. If non-null, a - * pagination token is returned in a result. Pass its value in here to list more projects. - *

+ *

The unique ID for an Amplify app.

*/ - nextToken?: string; + appId: string | undefined; /** *

The maximum number of records to list in a single response.

@@ -2081,9 +2117,11 @@ export interface ListDomainAssociationsRequest { maxResults?: number; /** - *

The unique ID for an Amplify app.

+ *

A pagination token. Set to null to start listing apps from the start. If non-null, a + * pagination token is returned in a result. Pass its value in here to list more projects. + *

*/ - appId: string | undefined; + nextToken?: string; } export namespace ListDomainAssociationsRequest { @@ -2097,15 +2135,15 @@ export namespace ListDomainAssociationsRequest { */ export interface ListDomainAssociationsResult { /** - *

A pagination token. If non-null, a pagination token is returned in a result. Pass its - * value in another request to retrieve more entries.

+ *

A list of domain associations.

*/ - nextToken?: string; + domainAssociations: DomainAssociation[] | undefined; /** - *

A list of domain associations.

+ *

A pagination token. If non-null, a pagination token is returned in a result. Pass its + * value in another request to retrieve more entries.

*/ - domainAssociations: DomainAssociation[] | undefined; + nextToken?: string; } export namespace ListDomainAssociationsResult { @@ -2119,26 +2157,26 @@ export namespace ListDomainAssociationsResult { */ export interface ListJobsRequest { /** - *

The name for a branch.

+ *

The unique ID for an Amplify app.

*/ - branchName: string | undefined; + appId: string | undefined; /** - *

The unique ID for an Amplify app.

+ *

A pagination token. Set to null to start listing steps from the start. If a non-null + * pagination token is returned in a result, pass its value in here to list more steps. + *

*/ - appId: string | undefined; + nextToken?: string; /** *

The maximum number of records to list in a single response.

*/ maxResults?: number; - - /** - *

A pagination token. Set to null to start listing steps from the start. If a non-null - * pagination token is returned in a result, pass its value in here to list more steps. - *

+ + /** + *

The name for a branch.

*/ - nextToken?: string; + branchName: string | undefined; } export namespace ListJobsRequest { @@ -2151,16 +2189,16 @@ export namespace ListJobsRequest { *

The maximum number of records to list in a single response.

*/ export interface ListJobsResult { - /** - *

The result structure for the list job result request.

- */ - jobSummaries: JobSummary[] | undefined; - /** *

A pagination token. If non-null the pagination token is returned in a result. Pass * its value in another request to retrieve more entries.

*/ nextToken?: string; + + /** + *

The result structure for the list job result request.

+ */ + jobSummaries: JobSummary[] | undefined; } export namespace ListJobsResult { @@ -2222,14 +2260,14 @@ export namespace ResourceNotFoundException { */ export interface ListWebhooksRequest { /** - *

The unique ID for an Amplify app.

+ *

The maximum number of records to list in a single response.

*/ - appId: string | undefined; + maxResults?: number; /** - *

The maximum number of records to list in a single response.

+ *

The unique ID for an Amplify app.

*/ - maxResults?: number; + appId: string | undefined; /** *

A pagination token. Set to null to start listing webhooks from the start. If @@ -2249,16 +2287,16 @@ export namespace ListWebhooksRequest { *

The result structure for the list webhooks request.

*/ export interface ListWebhooksResult { - /** - *

A list of webhooks.

- */ - webhooks: Webhook[] | undefined; - /** *

A pagination token. If non-null, the pagination token is returned in a result. Pass * its value in another request to retrieve more entries.

*/ nextToken?: string; + + /** + *

A list of webhooks.

+ */ + webhooks: Webhook[] | undefined; } export namespace ListWebhooksResult { @@ -2272,9 +2310,9 @@ export namespace ListWebhooksResult { */ export interface StartDeploymentRequest { /** - *

The job ID for this deployment, generated by the create deployment request.

+ *

The name for the branch, for the job.

*/ - jobId?: string; + branchName: string | undefined; /** *

The source URL for this deployment, used when calling start deployment without create @@ -2289,9 +2327,9 @@ export interface StartDeploymentRequest { appId: string | undefined; /** - *

The name for the branch, for the job.

+ *

The job ID for this deployment, generated by the create deployment request.

*/ - branchName: string | undefined; + jobId?: string; } export namespace StartDeploymentRequest { @@ -2321,15 +2359,9 @@ export namespace StartDeploymentResult { */ export interface StartJobRequest { /** - *

The unique ID for an existing job. This is required if the value of - * jobType is RETRY.

- */ - jobId?: string; - - /** - *

The unique ID for an Amplify app.

+ *

The commit message from a third-party repository provider for the job.

*/ - appId: string | undefined; + commitMessage?: string; /** *

A descriptive reason for starting this job.

@@ -2337,15 +2369,26 @@ export interface StartJobRequest { jobReason?: string; /** - *

The commit message from a third-party repository provider for the job.

+ *

The commit ID from a third-party repository provider for the job.

*/ - commitMessage?: string; + commitId?: string; /** *

The commit date and time for the job.

*/ commitTime?: Date; + /** + *

The unique ID for an Amplify app.

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

The unique ID for an existing job. This is required if the value of + * jobType is RETRY.

+ */ + jobId?: string; + /** *

The branch name for the job.

*/ @@ -2359,11 +2402,6 @@ export interface StartJobRequest { * required.

*/ jobType: JobType | string | undefined; - - /** - *

The commit ID from a third-party repository provider for the job.

- */ - commitId?: string; } export namespace StartJobRequest { @@ -2435,14 +2473,14 @@ export namespace StopJobResult { */ export interface TagResourceRequest { /** - *

The Amazon Resource Name (ARN) to use to tag a resource.

+ *

The tags used to tag the resource.

*/ - resourceArn: string | undefined; + tags: { [key: string]: string } | undefined; /** - *

The tags used to tag the resource.

+ *

The Amazon Resource Name (ARN) to use to tag a resource.

*/ - tags: { [key: string]: string } | undefined; + resourceArn: string | undefined; } export namespace TagResourceRequest { @@ -2467,14 +2505,14 @@ export namespace TagResourceResponse { */ export interface UntagResourceRequest { /** - *

The tag keys to use to untag a resource.

+ *

The Amazon Resource Name (ARN) to use to untag a resource.

*/ - tagKeys: string[] | undefined; + resourceArn: string | undefined; /** - *

The Amazon Resource Name (ARN) to use to untag a resource.

+ *

The tag keys to use to untag a resource.

*/ - resourceArn: string | undefined; + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -2498,21 +2536,6 @@ export namespace UntagResourceResponse { *

The request structure for the update app request.

*/ export interface UpdateAppRequest { - /** - *

Enables branch auto-building for an Amplify app.

- */ - enableBranchAutoBuild?: boolean; - - /** - *

The name of the repository for an Amplify app

- */ - repository?: string; - - /** - *

The basic authorization credentials for an Amplify app.

- */ - basicAuthCredentials?: string; - /** *

The personal access token for a third-party source control system for an Amplify app. * The token is used to create webhook and a read-only deploy key. The token is not stored. @@ -2521,31 +2544,30 @@ export interface UpdateAppRequest { accessToken?: string; /** - *

Enables automated branch creation for the Amplify app.

+ *

Automatically disconnects a branch in the Amplify Console when you delete a branch + * from your Git repository.

*/ - enableAutoBranchCreation?: boolean; + enableBranchAutoDeletion?: boolean; /** - *

The description for an Amplify app.

+ *

Enables branch auto-building for an Amplify app.

*/ - description?: string; + enableBranchAutoBuild?: boolean; /** - *

Enables basic authorization for an Amplify app.

+ *

The name of the repository for an Amplify app

*/ - enableBasicAuth?: boolean; + repository?: string; /** - *

The OAuth token for a third-party source control system for an Amplify app. The token - * is used to create a webhook and a read-only deploy key. The OAuth token is not stored. - *

+ *

The description for an Amplify app.

*/ - oauthToken?: string; + description?: string; /** - *

The platform for an Amplify app.

+ *

The name for an Amplify app.

*/ - platform?: Platform | string; + name?: string; /** *

The AWS Identity and Access Management (IAM) service role for an Amplify app.

@@ -2558,9 +2580,9 @@ export interface UpdateAppRequest { environmentVariables?: { [key: string]: string }; /** - *

Describes the automated branch creation glob patterns for the Amplify app.

+ *

The automated branch creation configuration for the Amplify app.

*/ - autoBranchCreationPatterns?: string[]; + autoBranchCreationConfig?: AutoBranchCreationConfig; /** *

The custom redirect and rewrite rules for an Amplify app.

@@ -2568,41 +2590,57 @@ export interface UpdateAppRequest { customRules?: CustomRule[]; /** - *

The unique ID for an Amplify app.

+ *

Describes the automated branch creation glob patterns for the Amplify app.

*/ - appId: string | undefined; + autoBranchCreationPatterns?: string[]; /** - *

The automated branch creation configuration for the Amplify app.

+ *

The OAuth token for a third-party source control system for an Amplify app. The token + * is used to create a webhook and a read-only deploy key. The OAuth token is not stored. + *

*/ - autoBranchCreationConfig?: AutoBranchCreationConfig; + oauthToken?: string; /** - *

The build specification (build spec) for an Amplify app.

+ *

The platform for an Amplify app.

*/ - buildSpec?: string; + platform?: Platform | string; /** - *

The name for an Amplify app.

+ *

The basic authorization credentials for an Amplify app.

*/ - name?: string; + basicAuthCredentials?: string; /** - *

Automatically disconnects a branch in the Amplify Console when you delete a branch - * from your Git repository.

+ *

Enables basic authorization for an Amplify app.

*/ - enableBranchAutoDeletion?: boolean; + enableBasicAuth?: boolean; + + /** + *

Enables automated branch creation for the Amplify app.

+ */ + enableAutoBranchCreation?: boolean; + + /** + *

The build specification (build spec) for an Amplify app.

+ */ + buildSpec?: string; + + /** + *

The unique ID for an Amplify app.

+ */ + appId: string | undefined; } export namespace UpdateAppRequest { export const filterSensitiveLog = (obj: UpdateAppRequest): any => ({ ...obj, - ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), - ...(obj.oauthToken && { oauthToken: SENSITIVE_STRING }), ...(obj.autoBranchCreationConfig && { autoBranchCreationConfig: AutoBranchCreationConfig.filterSensitiveLog(obj.autoBranchCreationConfig), }), + ...(obj.oauthToken && { oauthToken: SENSITIVE_STRING }), + ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), }); } @@ -2633,60 +2671,60 @@ export interface UpdateBranchRequest { enableNotification?: boolean; /** - *

Enables pull request preview for this branch.

+ *

The environment variables for the branch.

*/ - enablePullRequestPreview?: boolean; + environmentVariables?: { [key: string]: string }; /** - *

Describes the current stage for the branch.

+ *

Enables basic authorization for the branch.

*/ - stage?: Stage | string; + enableBasicAuth?: boolean; /** - *

The unique ID for an Amplify app.

+ *

The build specification (build spec) for the branch.

*/ - appId: string | undefined; + buildSpec?: string; /** - *

The display name for a branch. This is used as the default domain prefix.

+ *

The content Time to Live (TTL) for the website in seconds.

*/ - displayName?: string; + ttl?: string; /** - *

The name for the branch.

+ *

The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify + * app.

*/ - branchName: string | undefined; + backendEnvironmentArn?: string; /** - *

The Amplify environment name for the pull request.

+ *

The unique ID for an Amplify app.

*/ - pullRequestEnvironmentName?: string; + appId: string | undefined; /** - *

The content Time to Live (TTL) for the website in seconds.

+ *

Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. Enabling performance mode will mean that hosting configuration or code changes can take up to 10 minutes to roll out.

*/ - ttl?: string; + enablePerformanceMode?: boolean; /** - *

The basic authorization credentials for the branch.

+ *

The framework for the branch.

*/ - basicAuthCredentials?: string; + framework?: string; /** - *

The build specification (build spec) for the branch.

+ *

Enables pull request preview for this branch.

*/ - buildSpec?: string; + enablePullRequestPreview?: boolean; /** - *

The environment variables for the branch.

+ *

Describes the current stage for the branch.

*/ - environmentVariables?: { [key: string]: string }; + stage?: Stage | string; /** - *

The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify - * app.

+ *

The basic authorization credentials for the branch.

*/ - backendEnvironmentArn?: string; + basicAuthCredentials?: string; /** *

Enables auto building for the branch.

@@ -2694,19 +2732,24 @@ export interface UpdateBranchRequest { enableAutoBuild?: boolean; /** - *

The framework for the branch.

+ *

The name for the branch.

*/ - framework?: string; + branchName: string | undefined; /** - *

Enables basic authorization for the branch.

+ *

The Amplify environment name for the pull request.

*/ - enableBasicAuth?: boolean; + pullRequestEnvironmentName?: string; /** *

The description for the branch.

*/ description?: string; + + /** + *

The display name for a branch. This is used as the default domain prefix.

+ */ + displayName?: string; } export namespace UpdateBranchRequest { @@ -2738,9 +2781,9 @@ export namespace UpdateBranchResult { */ export interface UpdateDomainAssociationRequest { /** - *

Enables the automated creation of subdomains for branches.

+ *

The unique ID for an Amplify app.

*/ - enableAutoSubDomain?: boolean; + appId: string | undefined; /** *

Sets the branch patterns for automatic subdomain creation.

@@ -2748,15 +2791,9 @@ export interface UpdateDomainAssociationRequest { autoSubDomainCreationPatterns?: string[]; /** - *

The required AWS Identity and Access Management (IAM) service role for the Amazon - * Resource Name (ARN) for automatically creating subdomains.

- */ - autoSubDomainIAMRole?: string; - - /** - *

The unique ID for an Amplify app.

+ *

Enables the automated creation of subdomains for branches.

*/ - appId: string | undefined; + enableAutoSubDomain?: boolean; /** *

Describes the settings for the subdomain.

@@ -2767,6 +2804,12 @@ export interface UpdateDomainAssociationRequest { *

The name of the domain.

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

The required AWS Identity and Access Management (IAM) service role for the Amazon + * Resource Name (ARN) for automatically creating subdomains.

+ */ + autoSubDomainIAMRole?: string; } export namespace UpdateDomainAssociationRequest { @@ -2797,9 +2840,9 @@ export namespace UpdateDomainAssociationResult { */ export interface UpdateWebhookRequest { /** - *

The name for a branch that is part of an Amplify app.

+ *

The unique ID for a webhook.

*/ - branchName?: string; + webhookId: string | undefined; /** *

The description for a webhook.

@@ -2807,9 +2850,9 @@ export interface UpdateWebhookRequest { description?: string; /** - *

The unique ID for a webhook.

+ *

The name for a branch that is part of an Amplify app.

*/ - webhookId: string | undefined; + branchName?: string; } export namespace UpdateWebhookRequest { diff --git a/clients/client-amplify/protocols/Aws_restJson1.ts b/clients/client-amplify/protocols/Aws_restJson1.ts index 706f2e7a0d0b..9e3adcbac470 100644 --- a/clients/client-amplify/protocols/Aws_restJson1.ts +++ b/clients/client-amplify/protocols/Aws_restJson1.ts @@ -215,6 +215,7 @@ export const serializeAws_restJson1CreateBranchCommand = async ( ...(input.enableAutoBuild !== undefined && { enableAutoBuild: input.enableAutoBuild }), ...(input.enableBasicAuth !== undefined && { enableBasicAuth: input.enableBasicAuth }), ...(input.enableNotification !== undefined && { enableNotification: input.enableNotification }), + ...(input.enablePerformanceMode !== undefined && { enablePerformanceMode: input.enablePerformanceMode }), ...(input.enablePullRequestPreview !== undefined && { enablePullRequestPreview: input.enablePullRequestPreview }), ...(input.environmentVariables !== undefined && { environmentVariables: serializeAws_restJson1EnvironmentVariables(input.environmentVariables, context), @@ -436,15 +437,6 @@ export const serializeAws_restJson1DeleteBranchCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/branches/{branchName}"; - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } if (input.branchName !== undefined) { const labelValue: string = input.branchName; if (labelValue.length <= 0) { @@ -454,6 +446,15 @@ export const serializeAws_restJson1DeleteBranchCommand = async ( } else { throw new Error("No value provided for input HTTP label: branchName."); } + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -514,15 +515,6 @@ export const serializeAws_restJson1DeleteJobCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/branches/{branchName}/jobs/{jobId}"; - if (input.jobId !== undefined) { - const labelValue: string = input.jobId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: jobId."); - } - resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: jobId."); - } if (input.branchName !== undefined) { const labelValue: string = input.branchName; if (labelValue.length <= 0) { @@ -541,6 +533,15 @@ export const serializeAws_restJson1DeleteJobCommand = async ( } else { throw new Error("No value provided for input HTTP label: appId."); } + if (input.jobId !== undefined) { + const labelValue: string = input.jobId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: jobId."); + } + resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: jobId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -687,15 +688,6 @@ export const serializeAws_restJson1GetBackendEnvironmentCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/backendenvironments/{environmentName}"; - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } if (input.environmentName !== undefined) { const labelValue: string = input.environmentName; if (labelValue.length <= 0) { @@ -705,6 +697,15 @@ export const serializeAws_restJson1GetBackendEnvironmentCommand = async ( } else { throw new Error("No value provided for input HTTP label: environmentName."); } + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -726,15 +727,6 @@ export const serializeAws_restJson1GetBranchCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/branches/{branchName}"; - if (input.branchName !== undefined) { - const labelValue: string = input.branchName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: branchName."); - } - resolvedPath = resolvedPath.replace("{branchName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: branchName."); - } if (input.appId !== undefined) { const labelValue: string = input.appId; if (labelValue.length <= 0) { @@ -744,6 +736,15 @@ export const serializeAws_restJson1GetBranchCommand = async ( } else { throw new Error("No value provided for input HTTP label: appId."); } + if (input.branchName !== undefined) { + const labelValue: string = input.branchName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: branchName."); + } + resolvedPath = resolvedPath.replace("{branchName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: branchName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -765,15 +766,6 @@ export const serializeAws_restJson1GetDomainAssociationCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/domains/{domainName}"; - if (input.domainName !== undefined) { - const labelValue: string = input.domainName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: domainName."); - } - resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: domainName."); - } if (input.appId !== undefined) { const labelValue: string = input.appId; if (labelValue.length <= 0) { @@ -783,6 +775,15 @@ export const serializeAws_restJson1GetDomainAssociationCommand = async ( } else { throw new Error("No value provided for input HTTP label: appId."); } + if (input.domainName !== undefined) { + const labelValue: string = input.domainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: domainName."); + } + resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: domainName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -804,6 +805,15 @@ export const serializeAws_restJson1GetJobCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/branches/{branchName}/jobs/{jobId}"; + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } if (input.branchName !== undefined) { const labelValue: string = input.branchName; if (labelValue.length <= 0) { @@ -822,15 +832,6 @@ export const serializeAws_restJson1GetJobCommand = async ( } else { throw new Error("No value provided for input HTTP label: jobId."); } - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -917,15 +918,6 @@ export const serializeAws_restJson1ListArtifactsCommand = async ( } else { throw new Error("No value provided for input HTTP label: branchName."); } - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } if (input.jobId !== undefined) { const labelValue: string = input.jobId; if (labelValue.length <= 0) { @@ -935,9 +927,18 @@ export const serializeAws_restJson1ListArtifactsCommand = async ( } else { throw new Error("No value provided for input HTTP label: jobId."); } + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } 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(); @@ -971,9 +972,9 @@ export const serializeAws_restJson1ListBackendEnvironmentsCommand = async ( throw new Error("No value provided for input HTTP label: appId."); } const query: any = { + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.environmentName !== undefined && { environmentName: input.environmentName }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1042,8 +1043,8 @@ export const serializeAws_restJson1ListDomainAssociationsCommand = async ( throw new Error("No value provided for input HTTP label: appId."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1067,15 +1068,6 @@ export const serializeAws_restJson1ListJobsCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/branches/{branchName}/jobs"; - if (input.branchName !== undefined) { - const labelValue: string = input.branchName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: branchName."); - } - resolvedPath = resolvedPath.replace("{branchName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: branchName."); - } if (input.appId !== undefined) { const labelValue: string = input.appId; if (labelValue.length <= 0) { @@ -1085,9 +1077,18 @@ export const serializeAws_restJson1ListJobsCommand = async ( } else { throw new Error("No value provided for input HTTP label: appId."); } + if (input.branchName !== undefined) { + const labelValue: string = input.branchName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: branchName."); + } + resolvedPath = resolvedPath.replace("{branchName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: branchName."); + } 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(); @@ -1176,15 +1177,6 @@ export const serializeAws_restJson1StartDeploymentCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/apps/{appId}/branches/{branchName}/deployments/start"; - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } if (input.branchName !== undefined) { const labelValue: string = input.branchName; if (labelValue.length <= 0) { @@ -1194,6 +1186,15 @@ export const serializeAws_restJson1StartDeploymentCommand = async ( } else { throw new Error("No value provided for input HTTP label: branchName."); } + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } let body: any; body = JSON.stringify({ ...(input.jobId !== undefined && { jobId: input.jobId }), @@ -1469,6 +1470,7 @@ export const serializeAws_restJson1UpdateBranchCommand = async ( ...(input.enableAutoBuild !== undefined && { enableAutoBuild: input.enableAutoBuild }), ...(input.enableBasicAuth !== undefined && { enableBasicAuth: input.enableBasicAuth }), ...(input.enableNotification !== undefined && { enableNotification: input.enableNotification }), + ...(input.enablePerformanceMode !== undefined && { enablePerformanceMode: input.enablePerformanceMode }), ...(input.enablePullRequestPreview !== undefined && { enablePullRequestPreview: input.enablePullRequestPreview }), ...(input.environmentVariables !== undefined && { environmentVariables: serializeAws_restJson1EnvironmentVariables(input.environmentVariables, context), @@ -4793,6 +4795,7 @@ const serializeAws_restJson1AutoBranchCreationConfig = ( ...(input.buildSpec !== undefined && { buildSpec: input.buildSpec }), ...(input.enableAutoBuild !== undefined && { enableAutoBuild: input.enableAutoBuild }), ...(input.enableBasicAuth !== undefined && { enableBasicAuth: input.enableBasicAuth }), + ...(input.enablePerformanceMode !== undefined && { enablePerformanceMode: input.enablePerformanceMode }), ...(input.enablePullRequestPreview !== undefined && { enablePullRequestPreview: input.enablePullRequestPreview }), ...(input.environmentVariables !== undefined && { environmentVariables: serializeAws_restJson1EnvironmentVariables(input.environmentVariables, context), @@ -4969,6 +4972,10 @@ const deserializeAws_restJson1AutoBranchCreationConfig = ( output.enableAutoBuild !== undefined && output.enableAutoBuild !== null ? output.enableAutoBuild : undefined, enableBasicAuth: output.enableBasicAuth !== undefined && output.enableBasicAuth !== null ? output.enableBasicAuth : undefined, + enablePerformanceMode: + output.enablePerformanceMode !== undefined && output.enablePerformanceMode !== null + ? output.enablePerformanceMode + : undefined, enablePullRequestPreview: output.enablePullRequestPreview !== undefined && output.enablePullRequestPreview !== null ? output.enablePullRequestPreview @@ -5062,6 +5069,10 @@ const deserializeAws_restJson1Branch = (output: any, context: __SerdeContext): B output.enableNotification !== undefined && output.enableNotification !== null ? output.enableNotification : undefined, + enablePerformanceMode: + output.enablePerformanceMode !== undefined && output.enablePerformanceMode !== null + ? output.enablePerformanceMode + : undefined, enablePullRequestPreview: output.enablePullRequestPreview !== undefined && output.enablePullRequestPreview !== null ? output.enablePullRequestPreview diff --git a/clients/client-api-gateway/index.ts b/clients/client-api-gateway/index.ts index 5c84a9e111d0..5b5720d1921f 100644 --- a/clients/client-api-gateway/index.ts +++ b/clients/client-api-gateway/index.ts @@ -42,20 +42,25 @@ export * from "./commands/GenerateClientCertificateCommand"; export * from "./commands/GetAccountCommand"; export * from "./commands/GetApiKeyCommand"; export * from "./commands/GetApiKeysCommand"; +export * from "./pagination/GetApiKeysPaginator"; export * from "./commands/GetAuthorizerCommand"; export * from "./commands/GetAuthorizersCommand"; export * from "./commands/GetBasePathMappingCommand"; export * from "./commands/GetBasePathMappingsCommand"; +export * from "./pagination/GetBasePathMappingsPaginator"; export * from "./commands/GetClientCertificateCommand"; export * from "./commands/GetClientCertificatesCommand"; +export * from "./pagination/GetClientCertificatesPaginator"; export * from "./commands/GetDeploymentCommand"; export * from "./commands/GetDeploymentsCommand"; +export * from "./pagination/GetDeploymentsPaginator"; export * from "./commands/GetDocumentationPartCommand"; export * from "./commands/GetDocumentationPartsCommand"; export * from "./commands/GetDocumentationVersionCommand"; export * from "./commands/GetDocumentationVersionsCommand"; export * from "./commands/GetDomainNameCommand"; export * from "./commands/GetDomainNamesCommand"; +export * from "./pagination/GetDomainNamesPaginator"; export * from "./commands/GetExportCommand"; export * from "./commands/GetGatewayResponseCommand"; export * from "./commands/GetGatewayResponsesCommand"; @@ -65,13 +70,16 @@ export * from "./commands/GetMethodCommand"; export * from "./commands/GetMethodResponseCommand"; export * from "./commands/GetModelCommand"; export * from "./commands/GetModelsCommand"; +export * from "./pagination/GetModelsPaginator"; export * from "./commands/GetModelTemplateCommand"; export * from "./commands/GetRequestValidatorCommand"; export * from "./commands/GetRequestValidatorsCommand"; export * from "./commands/GetResourceCommand"; export * from "./commands/GetResourcesCommand"; +export * from "./pagination/GetResourcesPaginator"; export * from "./commands/GetRestApiCommand"; export * from "./commands/GetRestApisCommand"; +export * from "./pagination/GetRestApisPaginator"; export * from "./commands/GetSdkCommand"; export * from "./commands/GetSdkTypeCommand"; export * from "./commands/GetSdkTypesCommand"; @@ -79,12 +87,16 @@ export * from "./commands/GetStageCommand"; export * from "./commands/GetStagesCommand"; export * from "./commands/GetTagsCommand"; export * from "./commands/GetUsageCommand"; +export * from "./pagination/GetUsagePaginator"; export * from "./commands/GetUsagePlanCommand"; export * from "./commands/GetUsagePlanKeyCommand"; export * from "./commands/GetUsagePlanKeysCommand"; +export * from "./pagination/GetUsagePlanKeysPaginator"; export * from "./commands/GetUsagePlansCommand"; +export * from "./pagination/GetUsagePlansPaginator"; export * from "./commands/GetVpcLinkCommand"; export * from "./commands/GetVpcLinksCommand"; +export * from "./pagination/GetVpcLinksPaginator"; export * from "./commands/ImportApiKeysCommand"; export * from "./commands/ImportDocumentationPartsCommand"; export * from "./commands/ImportRestApiCommand"; @@ -120,4 +132,5 @@ export * from "./commands/UpdateStageCommand"; export * from "./commands/UpdateUsageCommand"; export * from "./commands/UpdateUsagePlanCommand"; export * from "./commands/UpdateVpcLinkCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-api-gateway/models/models_0.ts b/clients/client-api-gateway/models/models_0.ts index 23c7f5e9699f..e15e22632418 100644 --- a/clients/client-api-gateway/models/models_0.ts +++ b/clients/client-api-gateway/models/models_0.ts @@ -6,14 +6,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface AccessLogSettings { /** - *

A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.

+ *

The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-.

*/ - format?: string; + destinationArn?: string; /** - *

The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-.

+ *

A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.

*/ - destinationArn?: string; + format?: string; } export namespace AccessLogSettings { @@ -96,24 +96,24 @@ export namespace ThrottleSettings { */ export interface Account { /** - *

A list of features supported for the account. When usage plans are enabled, the features list will include an entry of "UsagePlans".

+ *

The version of the API keys used for the account.

*/ - features?: string[]; + apiKeyVersion?: string; /** - *

The version of the API keys used for the account.

+ *

The ARN of an Amazon CloudWatch role for the current Account.

*/ - apiKeyVersion?: string; + cloudwatchRoleArn?: string; /** - *

Specifies the API request limits configured for the current Account.

+ *

A list of features supported for the account. When usage plans are enabled, the features list will include an entry of "UsagePlans".

*/ - throttleSettings?: ThrottleSettings; + features?: string[]; /** - *

The ARN of an Amazon CloudWatch role for the current Account.

+ *

Specifies the API request limits configured for the current Account.

*/ - cloudwatchRoleArn?: string; + throttleSettings?: ThrottleSettings; } export namespace Account { @@ -130,34 +130,29 @@ export namespace Account { */ export interface ApiKey { /** - *

The name of the API Key.

- */ - name?: string; - - /** - *

A list of Stage resources that are associated with the ApiKey resource.

+ *

The identifier of the API Key.

*/ - stageKeys?: string[]; + id?: string; /** - *

The timestamp when the API Key was created.

+ *

The name of the API Key.

*/ - createdDate?: Date; + name?: string; /** - *

The identifier of the API Key.

+ *

An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

*/ - id?: string; + customerId?: string; /** - *

An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

+ *

A list of Stage resources that are associated with the ApiKey resource.

*/ - customerId?: string; + stageKeys?: string[]; /** - *

The timestamp when the API Key was last updated.

+ *

The collection of tags. Each tag element is associated with a given resource.

*/ - lastUpdatedDate?: Date; + tags?: { [key: string]: string }; /** *

Specifies whether the API Key can be used by callers.

@@ -165,19 +160,24 @@ export interface ApiKey { enabled?: boolean; /** - *

The collection of tags. Each tag element is associated with a given resource.

+ *

The description of the API Key.

*/ - tags?: { [key: string]: string }; + description?: string; /** - *

The description of the API Key.

+ *

The timestamp when the API Key was last updated.

*/ - description?: string; + lastUpdatedDate?: Date; /** *

The value of the API Key.

*/ value?: string; + + /** + *

The timestamp when the API Key was created.

+ */ + createdDate?: Date; } export namespace ApiKey { @@ -191,14 +191,14 @@ export namespace ApiKey { */ export interface ApiKeyIds { /** - *

A list of all the ApiKey identifiers.

+ *

A list of warning messages.

*/ - ids?: string[]; + warnings?: string[]; /** - *

A list of warning messages.

+ *

A list of all the ApiKey identifiers.

*/ - warnings?: string[]; + ids?: string[]; } export namespace ApiKeyIds { @@ -250,14 +250,14 @@ export enum ApiKeySourceType { */ export interface ApiStage { /** - *

API stage name of the associated API stage in a usage plan.

+ *

Map containing method level throttling information for API stage in a usage plan.

*/ - stage?: string; + throttle?: { [key: string]: ThrottleSettings }; /** - *

Map containing method level throttling information for API stage in a usage plan.

+ *

API stage name of the associated API stage in a usage plan.

*/ - throttle?: { [key: string]: ThrottleSettings }; + stage?: string; /** *

API Id of the associated API stage in a usage plan.

@@ -286,9 +286,9 @@ export enum AuthorizerType { */ export interface Authorizer { /** - *

[Required] The name of the authorizer.

+ *

The identifier for the authorizer resource.

*/ - name?: string; + id?: string; /** *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

@@ -296,14 +296,19 @@ export interface Authorizer { authorizerCredentials?: string; /** - *

The identity source for which authorization is requested.

  • For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
  • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

+ *

The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

*/ - identitySource?: string; + type?: AuthorizerType | string; /** - *

The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

+ *

A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

*/ - type?: AuthorizerType | string; + providerARNs?: string[]; + + /** + *

The identity source for which authorization is requested.

  • For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
  • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

+ */ + identitySource?: string; /** *

Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

@@ -311,9 +316,9 @@ export interface Authorizer { authorizerUri?: string; /** - *

A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

+ *

The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

*/ - providerARNs?: string[]; + authorizerResultTtlInSeconds?: number; /** *

Optional customer-defined field, used in OpenAPI imports and exports without functional impact.

@@ -326,14 +331,9 @@ export interface Authorizer { identityValidationExpression?: string; /** - *

The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

- */ - authorizerResultTtlInSeconds?: number; - - /** - *

The identifier for the authorizer resource.

+ *

[Required] The name of the authorizer.

*/ - id?: string; + name?: string; } export namespace Authorizer { @@ -402,14 +402,14 @@ export namespace ConflictException { */ export interface StageKey { /** - *

The stage name associated with the stage key.

+ *

The string identifier of the associated RestApi.

*/ - stageName?: string; + restApiId?: string; /** - *

The string identifier of the associated RestApi.

+ *

The stage name associated with the stage key.

*/ - restApiId?: string; + stageName?: string; } export namespace StageKey { @@ -422,8 +422,8 @@ export namespace StageKey { *

Request to create an ApiKey resource.

*/ export interface CreateApiKeyRequest { - templateSkipList?: string[]; template?: boolean; + templateSkipList?: string[]; title?: string; /** *

The name of the ApiKey.

@@ -431,39 +431,39 @@ export interface CreateApiKeyRequest { name?: string; /** - *

DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.

+ *

Specifies whether (true) or not (false) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.

*/ - stageKeys?: StageKey[]; + generateDistinctId?: boolean; /** - *

The description of the ApiKey.

+ *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

*/ - description?: string; + tags?: { [key: string]: string }; /** - *

An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

+ *

Specifies whether the ApiKey can be used by callers.

*/ - customerId?: string; + enabled?: boolean; /** - *

Specifies whether (true) or not (false) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.

+ *

The description of the ApiKey.

*/ - generateDistinctId?: boolean; + description?: string; /** - *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

+ *

Specifies a value of the API key.

*/ - tags?: { [key: string]: string }; + value?: string; /** - *

Specifies a value of the API key.

+ *

DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.

*/ - value?: string; + stageKeys?: StageKey[]; /** - *

Specifies whether the ApiKey can be used by callers.

+ *

An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

*/ - enabled?: boolean; + customerId?: string; } export namespace CreateApiKeyRequest { @@ -509,8 +509,8 @@ export namespace NotFoundException { export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { name: "TooManyRequestsException"; $fault: "client"; - message?: string; retryAfterSeconds?: string; + message?: string; } export namespace TooManyRequestsException { @@ -538,6 +538,13 @@ export namespace UnauthorizedException { *

Request to add a new Authorizer to an existing RestApi resource.

*/ export interface CreateAuthorizerRequest { + templateSkipList?: string[]; + title?: string; + /** + *

[Required] The string identifier of the associated RestApi.

+ */ + restApiId: string | undefined; + template?: boolean; /** *

[Required] The name of the authorizer.

@@ -545,12 +552,10 @@ export interface CreateAuthorizerRequest { name: string | undefined; /** - *

[Required] The string identifier of the associated RestApi.

+ *

A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

*/ - restApiId: string | undefined; + providerARNs?: string[]; - templateSkipList?: string[]; - title?: string; /** *

[Required] The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

*/ @@ -561,20 +566,15 @@ export interface CreateAuthorizerRequest { */ authType?: string; - /** - *

The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

- */ - authorizerResultTtlInSeconds?: number; - /** *

A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. For COGNITO_USER_POOLS authorizers, API Gateway will match the aud field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST authorizer.

*/ identityValidationExpression?: string; /** - *

The identity source for which authorization is requested.

  • For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
  • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

+ *

The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

*/ - identitySource?: string; + authorizerResultTtlInSeconds?: number; /** *

Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

@@ -587,9 +587,9 @@ export interface CreateAuthorizerRequest { authorizerCredentials?: string; /** - *

A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

+ *

The identity source for which authorization is requested.

  • For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
  • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

*/ - providerARNs?: string[]; + identitySource?: string; } export namespace CreateAuthorizerRequest { @@ -633,23 +633,23 @@ export namespace BasePathMapping { */ export interface CreateBasePathMappingRequest { name?: string; + title?: string; /** *

[Required] The domain name of the BasePathMapping resource to create.

*/ domainName: string | undefined; - title?: string; templateSkipList?: string[]; template?: boolean; /** - *

The name of the API's stage that you want to use for this mapping. Specify '(none)' if you want callers to explicitly specify the stage name after any base path name.

+ *

[Required] The string identifier of the associated RestApi.

*/ - stage?: string; + restApiId: string | undefined; /** - *

[Required] The string identifier of the associated RestApi.

+ *

The name of the API's stage that you want to use for this mapping. Specify '(none)' if you want callers to explicitly specify the stage name after any base path name.

*/ - restApiId: string | undefined; + stage?: string; /** *

The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify a base path name after the domain name.

@@ -679,14 +679,14 @@ export enum CacheClusterSize { */ export interface DeploymentCanarySettings { /** - *

A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.

+ *

A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.

*/ - stageVariableOverrides?: { [key: string]: string }; + useStageCache?: boolean; /** - *

A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.

+ *

A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.

*/ - useStageCache?: boolean; + stageVariableOverrides?: { [key: string]: string }; /** *

The percentage (0.0-100.0) of traffic routed to the canary deployment.

@@ -704,19 +704,24 @@ export namespace DeploymentCanarySettings { *

Requests API Gateway to create a Deployment resource.

*/ export interface CreateDeploymentRequest { - template?: boolean; templateSkipList?: string[]; title?: string; name?: string; + template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

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

Specifies whether active tracing with X-ray is enabled for the Stage.

+ *

The description of the Stage resource for the Deployment resource to create.

*/ - tracingEnabled?: boolean; + stageDescription?: string; + + /** + *

Enables a cache cluster for the Stage resource specified in the input.

+ */ + cacheClusterEnabled?: boolean; /** *

The input configuration for the canary deployment when the deployment is a canary release deployment.

@@ -736,24 +741,19 @@ export interface CreateDeploymentRequest { cacheClusterSize?: CacheClusterSize | string; /** - *

The description of the Stage resource for the Deployment resource to create.

+ *

Specifies whether active tracing with X-ray is enabled for the Stage.

*/ - stageDescription?: string; + tracingEnabled?: boolean; /** - *

Enables a cache cluster for the Stage resource specified in the input.

+ *

The description for the Deployment resource to create.

*/ - cacheClusterEnabled?: boolean; + description?: string; /** *

The name of the Stage resource for the Deployment resource to create.

*/ stageName?: string; - - /** - *

The description for the Deployment resource to create.

- */ - description?: string; } export namespace CreateDeploymentRequest { @@ -767,14 +767,14 @@ export namespace CreateDeploymentRequest { */ export interface MethodSnapshot { /** - *

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

+ *

Specifies whether the method requires a valid ApiKey.

*/ - authorizationType?: string; + apiKeyRequired?: boolean; /** - *

Specifies whether the method requires a valid ApiKey.

+ *

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

*/ - apiKeyRequired?: boolean; + authorizationType?: string; } export namespace MethodSnapshot { @@ -794,24 +794,24 @@ export namespace MethodSnapshot { */ export interface Deployment { /** - *

The date and time that the deployment resource was created.

+ *

The description for the deployment resource.

*/ - createdDate?: Date; + description?: string; /** - *

A summary of the RestApi at the date and time that the deployment resource was created.

+ *

The identifier for the deployment resource.

*/ - apiSummary?: { [key: string]: { [key: string]: MethodSnapshot } }; + id?: string; /** - *

The identifier for the deployment resource.

+ *

The date and time that the deployment resource was created.

*/ - id?: string; + createdDate?: Date; /** - *

The description for the deployment resource.

+ *

A summary of the RestApi at the date and time that the deployment resource was created.

*/ - description?: string; + apiSummary?: { [key: string]: { [key: string]: MethodSnapshot } }; } export namespace Deployment { @@ -855,6 +855,16 @@ export enum DocumentationPartType { *

Specifies the target API entity to which the documentation applies.

*/ export interface DocumentationPartLocation { + /** + *

The HTTP verb of a method. It is a valid field for the API entity types of METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location attributes, the child entity's method attribute must match that of the parent entity exactly.

+ */ + method?: string; + + /** + *

The HTTP status code of a response. It is a valid field for the API entity types of RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location attributes, the child entity's statusCode attribute must match that of the parent entity exactly.

+ */ + statusCode?: string; + /** *

The URL path of the target. It is a valid field for the API entity types of RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is / for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other location attributes, the child entity's path attribute must match that of the parent entity as a prefix.

*/ @@ -865,21 +875,11 @@ export interface DocumentationPartLocation { */ type: DocumentationPartType | string | undefined; - /** - *

The HTTP status code of a response. It is a valid field for the API entity types of RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location attributes, the child entity's statusCode attribute must match that of the parent entity exactly.

- */ - statusCode?: string; - /** *

The name of the targeted API entity. It is a valid and required field for the API entity types of AUTHORIZER, MODEL, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY and RESPONSE_HEADER. It is an invalid field for any other entity type.

*/ name?: string; - - /** - *

The HTTP verb of a method. It is a valid field for the API entity types of METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location attributes, the child entity's method attribute must match that of the parent entity exactly.

- */ - method?: string; -} +} export namespace DocumentationPartLocation { export const filterSensitiveLog = (obj: DocumentationPartLocation): any => ({ @@ -891,15 +891,15 @@ export namespace DocumentationPartLocation { *

Creates a new documentation part of a given API.

*/ export interface CreateDocumentationPartRequest { - name?: string; + template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - template?: boolean; templateSkipList?: string[]; title?: string; + name?: string; /** *

[Required] The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.

*/ @@ -953,20 +953,15 @@ export namespace DocumentationPart { *

Creates a new documentation version of a given API.

*/ export interface CreateDocumentationVersionRequest { - title?: string; - name?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; + name?: string; + title?: string; templateSkipList?: string[]; template?: boolean; - /** - *

The stage name to be associated with the new documentation snapshot.

- */ - stageName?: string; - /** *

[Required] The version identifier of the new snapshot.

*/ @@ -976,6 +971,11 @@ export interface CreateDocumentationVersionRequest { *

A description about the new documentation snapshot.

*/ description?: string; + + /** + *

The stage name to be associated with the new documentation snapshot.

+ */ + stageName?: string; } export namespace CreateDocumentationVersionRequest { @@ -992,11 +992,6 @@ export namespace CreateDocumentationVersionRequest { * */ export interface DocumentationVersion { - /** - *

The description of the API documentation snapshot.

- */ - description?: string; - /** *

The date when the API documentation snapshot is created.

*/ @@ -1006,6 +1001,11 @@ export interface DocumentationVersion { *

The version identifier of the API documentation snapshot.

*/ version?: string; + + /** + *

The description of the API documentation snapshot.

+ */ + description?: string; } export namespace DocumentationVersion { @@ -1037,35 +1037,63 @@ export namespace EndpointConfiguration { }); } +/** + *

If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your custom domain name.

+ */ +export interface MutualTlsAuthenticationInput { + /** + *

The version of the S3 object that contains your truststore. To + * specify a version, you must have versioning enabled for the S3 bucket.

+ */ + truststoreVersion?: string; + + /** + *

An Amazon S3 resource ARN that specifies the truststore for mutual TLS authentication, + * for example, + * s3://bucket-name/key-name. + * The truststore can contain certificates from public or private certificate authorities. + * To update the truststore, upload a new version to S3, and then update your custom domain + * name to use the new version. To update the truststore, you must have permissions to + * access the S3 object.

+ */ + truststoreUri?: string; +} + +export namespace MutualTlsAuthenticationInput { + export const filterSensitiveLog = (obj: MutualTlsAuthenticationInput): any => ({ + ...obj, + }); +} + export type SecurityPolicy = "TLS_1_0" | "TLS_1_2"; /** *

A request to create a new domain name.

*/ export interface CreateDomainNameRequest { + name?: string; template?: boolean; title?: string; - name?: string; templateSkipList?: string[]; /** - *

[Deprecated] Your edge-optimized endpoint's domain name certificate's private key.

+ *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

*/ - certificatePrivateKey?: string; + tags?: { [key: string]: string }; /** - *

[Deprecated] The intermediate certificates and optionally the root certificate, one after the other without any blank lines, used by an edge-optimized endpoint for this domain name. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.

+ *

The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

*/ - certificateChain?: string; + securityPolicy?: SecurityPolicy | string; /** - *

The user-friendly name of the certificate that will be used by regional endpoint for this domain name.

+ *

The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

*/ - regionalCertificateName?: string; + certificateArn?: string; /** - *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

+ *

The user-friendly name of the certificate that will be used by edge-optimized endpoint for this domain name.

*/ - tags?: { [key: string]: string }; + certificateName?: string; /** *

[Deprecated] The body of the server certificate that will be used by edge-optimized endpoint for this domain name provided by your certificate authority.

@@ -1073,14 +1101,19 @@ export interface CreateDomainNameRequest { certificateBody?: string; /** - *

The user-friendly name of the certificate that will be used by edge-optimized endpoint for this domain name.

+ *

[Deprecated] Your edge-optimized endpoint's domain name certificate's private key.

*/ - certificateName?: string; + certificatePrivateKey?: string; /** - *

[Required] The name of the DomainName resource.

+ *

If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your custom domain name.

*/ - domainName: string | undefined; + mutualTlsAuthentication?: MutualTlsAuthenticationInput; + + /** + *

The user-friendly name of the certificate that will be used by regional endpoint for this domain name.

+ */ + regionalCertificateName?: string; /** *

The endpoint configuration of this DomainName showing the endpoint types of the domain name.

@@ -1088,14 +1121,14 @@ export interface CreateDomainNameRequest { endpointConfiguration?: EndpointConfiguration; /** - *

The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

+ *

[Required] The name of the DomainName resource.

*/ - securityPolicy?: SecurityPolicy | string; + domainName: string | undefined; /** - *

The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

+ *

[Deprecated] The intermediate certificates and optionally the root certificate, one after the other without any blank lines, used by an edge-optimized endpoint for this domain name. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.

*/ - certificateArn?: string; + certificateChain?: string; /** *

The reference to an AWS-managed certificate that will be used by regional endpoint for this domain name. AWS Certificate Manager is the only supported source.

@@ -1115,6 +1148,41 @@ export enum DomainNameStatus { UPDATING = "UPDATING", } +/** + *

If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your custom domain name.

+ */ +export interface MutualTlsAuthentication { + /** + *

The version of the S3 object that contains your truststore. To + * specify a version, you must have versioning enabled for the S3 bucket.

+ */ + truststoreVersion?: string; + + /** + *

A list of warnings that API Gateway returns while processing your truststore. Invalid + * certificates produce warnings. Mutual TLS is still enabled, but some clients might not + * be able to access your API. To resolve warnings, upload a new truststore to S3, and then + * update you domain name to use the new version.

+ */ + truststoreWarnings?: string[]; + + /** + *

An Amazon S3 URL that specifies the truststore for mutual TLS authentication, + * for example s3://bucket-name/key-name. + * The truststore can contain certificates from public or private certificate authorities. + * To update the truststore, upload a new version to S3, and then update your custom domain + * name to use the new version. To update the truststore, you must have permissions to + * access the S3 object.

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

Represents a custom domain name as a user-friendly host name of an API (RestApi).

*
@@ -1127,39 +1195,29 @@ export enum DomainNameStatus { */ export interface DomainName { /** - *

The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.

- */ - regionalDomainName?: string; - - /** - *

The name of the certificate that will be used by edge-optimized endpoint for this domain name.

- */ - certificateName?: string; - - /** - *

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

+ *

The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.

*/ - distributionHostedZoneId?: string; + distributionDomainName?: string; /** - *

The custom domain name as an API host name, for example, my-api.example.com.

+ *

The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.

*/ - domainName?: string; + mutualTlsAuthentication?: MutualTlsAuthentication; /** - *

The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

+ *

An optional text message containing detailed information about status of the DomainName migration.

*/ - securityPolicy?: SecurityPolicy | string; + domainNameStatusMessage?: string; /** - *

An optional text message containing detailed information about status of the DomainName migration.

+ *

The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.

*/ - domainNameStatusMessage?: string; + regionalDomainName?: string; /** - *

The reference to an AWS-managed certificate that will be used for validating the regional domain name. AWS Certificate Manager is the only supported source.

+ *

The custom domain name as an API host name, for example, my-api.example.com.

*/ - regionalCertificateArn?: string; + domainName?: string; /** *

The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

@@ -1181,15 +1239,30 @@ export interface DomainName { */ endpointConfiguration?: EndpointConfiguration; + /** + *

The reference to an AWS-managed certificate that will be used for validating the regional domain name. AWS Certificate Manager is the only supported source.

+ */ + regionalCertificateArn?: string; + /** *

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

*/ regionalHostedZoneId?: string; /** - *

The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.

+ *

The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

*/ - distributionDomainName?: string; + securityPolicy?: SecurityPolicy | string; + + /** + *

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ */ + domainNameStatus?: DomainNameStatus | string; + + /** + *

The name of the certificate that will be used by edge-optimized endpoint for this domain name.

+ */ + certificateName?: string; /** *

The collection of tags. Each tag element is associated with a given resource.

@@ -1197,9 +1270,9 @@ export interface DomainName { tags?: { [key: string]: string }; /** - *

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ *

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

*/ - domainNameStatus?: DomainNameStatus | string; + distributionHostedZoneId?: string; } export namespace DomainName { @@ -1212,19 +1285,24 @@ export namespace DomainName { *

Request to add a new Model to an existing RestApi resource.

*/ export interface CreateModelRequest { + template?: boolean; + title?: string; + /** + *

[Required] The name of the model. Must be alphanumeric.

+ */ + name: string | undefined; + + templateSkipList?: string[]; /** *

[Required] The RestApi identifier under which the Model will be created.

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

[Required] The name of the model. Must be alphanumeric.

+ *

The description of the model.

*/ - name: string | undefined; + description?: string; - templateSkipList?: string[]; - title?: string; - template?: boolean; /** *

[Required] The content-type for the model.

*/ @@ -1234,11 +1312,6 @@ export interface CreateModelRequest { *

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

*/ schema?: string; - - /** - *

The description of the model.

- */ - description?: string; } export namespace CreateModelRequest { @@ -1259,19 +1332,19 @@ export namespace CreateModelRequest { */ export interface Model { /** - *

The identifier for the model resource.

+ *

The schema for the model. For application/json models, this should be JSON schema draft 4 model. Do not include "\*\/" characters in the description of any properties because such "\*\/" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.

*/ - id?: string; + schema?: string; /** - *

The name of the model. Must be an alphanumeric string.

+ *

The content-type for the model.

*/ - name?: string; + contentType?: string; /** - *

The content-type for the model.

+ *

The name of the model. Must be an alphanumeric string.

*/ - contentType?: string; + name?: string; /** *

The description of the model.

@@ -1279,9 +1352,9 @@ export interface Model { description?: string; /** - *

The schema for the model. For application/json models, this should be JSON schema draft 4 model. Do not include "\*\/" characters in the description of any properties because such "\*\/" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.

+ *

The identifier for the model resource.

*/ - schema?: string; + id?: string; } export namespace Model { @@ -1294,13 +1367,7 @@ export namespace Model { *

Creates a RequestValidator of a given RestApi.

*/ export interface CreateRequestValidatorRequest { - template?: boolean; title?: string; - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; - templateSkipList?: string[]; /** *

The name of the to-be-created RequestValidator.

@@ -1308,14 +1375,20 @@ export interface CreateRequestValidatorRequest { name?: string; /** - *

A Boolean flag to indicate whether to validate request body according to the configured model schema for the method (true) or not (false).

+ *

[Required] The string identifier of the associated RestApi.

*/ - validateRequestBody?: boolean; + restApiId: string | undefined; + template?: boolean; /** *

A Boolean flag to indicate whether to validate request parameters, true, or not false.

*/ validateRequestParameters?: boolean; + + /** + *

A Boolean flag to indicate whether to validate request body according to the configured model schema for the method (true) or not (false).

+ */ + validateRequestBody?: boolean; } export namespace CreateRequestValidatorRequest { @@ -1363,20 +1436,20 @@ export namespace RequestValidator { *

Requests API Gateway to create a Resource resource.

*/ export interface CreateResourceRequest { + templateSkipList?: string[]; template?: boolean; /** *

[Required] The parent resource's identifier.

*/ parentId: string | undefined; - name?: string; - title?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - templateSkipList?: string[]; + name?: string; + title?: string; /** *

The last path segment for this resource.

*/ @@ -1406,21 +1479,20 @@ export enum ContentHandlingStrategy { *
*/ export interface IntegrationResponse { - /** - *

A key-value map specifying response parameters that are passed to the method response from the back end. - * The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

- */ - responseParameters?: { [key: string]: string }; - /** *

Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

*/ responseTemplates?: { [key: string]: string }; /** - *

Specifies the status code that is used to map the integration response to an existing MethodResponse.

+ *

Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

+ *
    + *
  • CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

  • + *
  • CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

  • + *
+ *

If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.

*/ - statusCode?: string; + contentHandling?: ContentHandlingStrategy | string; /** *

Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the .+ regex to match error response. However, make sure that the error response does not contain any newline (\n) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.

@@ -1428,14 +1500,15 @@ export interface IntegrationResponse { selectionPattern?: string; /** - *

Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

- *
    - *
  • CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

  • - *
  • CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

  • - *
- *

If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.

+ *

A key-value map specifying response parameters that are passed to the method response from the back end. + * The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

*/ - contentHandling?: ContentHandlingStrategy | string; + responseParameters?: { [key: string]: string }; + + /** + *

Specifies the status code that is used to map the integration response to an existing MethodResponse.

+ */ + statusCode?: string; } export namespace IntegrationResponse { @@ -1480,27 +1553,14 @@ export enum IntegrationType { */ export interface Integration { /** - *

Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the cacheNamespace. You can specify the same cacheNamespace across resources to return the same cached data for requests to different resources.

+ *

Specifies the TLS configuration for an integration.

*/ - cacheNamespace?: string; + tlsConfig?: TlsConfig; /** - *

Specifies the integration's HTTP method type.

+ *

A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.

*/ - httpMethod?: string; - - /** - *

Specifies an API method integration type. The valid value is one of the following:

- *
    - *
  • AWS: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.
  • - *
  • AWS_PROXY: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.
  • - *
  • HTTP: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.
  • - *
  • HTTP_PROXY: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.
  • - *
  • MOCK: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.
  • - *
- *

For the HTTP and HTTP proxy integrations, each integration can specify a protocol (http/https), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a connectionType of VPC_LINK is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.

- */ - type?: IntegrationType | string; + requestParameters?: { [key: string]: string }; /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

@@ -1518,14 +1578,14 @@ export interface Integration { uri?: string; /** - *

The type of the network connection to the integration endpoint. The valid value is INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET.

+ *

Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the cacheNamespace. You can specify the same cacheNamespace across resources to return the same cached data for requests to different resources.

*/ - connectionType?: ConnectionType | string; + cacheNamespace?: string; /** - *

A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.

+ *

Specifies the integration's HTTP method type.

*/ - requestParameters?: { [key: string]: string }; + httpMethod?: string; /** *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.

@@ -1533,14 +1593,32 @@ export interface Integration { requestTemplates?: { [key: string]: string }; /** - *

A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters, these parameters must also be specified for Method requestParameters.

+ *

The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.

*/ - cacheKeyParameters?: string[]; + connectionId?: string; /** - *

The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.

+ *

The type of the network connection to the integration endpoint. The valid value is INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET.

*/ - connectionId?: string; + connectionType?: ConnectionType | string; + + /** + *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::\*:user/\*. To use resource-based permissions on supported AWS services, specify null.

+ */ + credentials?: string; + + /** + *

Specifies an API method integration type. The valid value is one of the following:

+ *
    + *
  • AWS: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.
  • + *
  • AWS_PROXY: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.
  • + *
  • HTTP: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.
  • + *
  • HTTP_PROXY: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.
  • + *
  • MOCK: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.
  • + *
+ *

For the HTTP and HTTP proxy integrations, each integration can specify a protocol (http/https), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a connectionType of VPC_LINK is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.

+ */ + type?: IntegrationType | string; /** *
@@ -1570,16 +1648,6 @@ export interface Integration { */ passthroughBehavior?: string; - /** - *

Specifies the TLS configuration for an integration.

- */ - tlsConfig?: TlsConfig; - - /** - *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::\*:user/\*. To use resource-based permissions on supported AWS services, specify null.

- */ - credentials?: string; - /** *

Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

*
    @@ -1638,6 +1706,11 @@ export interface Integration { *
*/ integrationResponses?: { [key: string]: IntegrationResponse }; + + /** + *

A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters, these parameters must also be specified for Method requestParameters.

+ */ + cacheKeyParameters?: string[]; } export namespace Integration { @@ -1647,7 +1720,7 @@ export namespace Integration { } /** - *

Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.

+ *

Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.

*
*

*

Example: A MethodResponse instance of an API

@@ -1694,6 +1767,11 @@ export namespace Integration { *
*/ export interface MethodResponse { + /** + *

A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern method.response.header.{name}, where name is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

+ */ + responseParameters?: { [key: string]: boolean }; + /** *

Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.

*/ @@ -1703,11 +1781,6 @@ export interface MethodResponse { *

The method response's status code.

*/ statusCode?: string; - - /** - *

A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern method.response.header.{name}, where name is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

- */ - responseParameters?: { [key: string]: boolean }; } export namespace MethodResponse { @@ -1884,14 +1957,14 @@ export namespace MethodResponse { */ export interface Method { /** - *

A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.

+ *

A boolean flag specifying whether a valid ApiKey is required to invoke this method.

*/ - requestParameters?: { [key: string]: boolean }; + apiKeyRequired?: boolean; /** - *

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

+ *

The identifier of a RequestValidator for request validation.

*/ - authorizationType?: string; + requestValidatorId?: string; /** *

The method's HTTP verb.

@@ -1899,65 +1972,29 @@ export interface Method { httpMethod?: string; /** - *

Gets a method response associated with a given HTTP status code.

- *
- *

The collection of method responses are encapsulated in a key-value map, where the key is a response's HTTP status code and the value is a MethodResponse resource that specifies the response returned to the caller from the back end through the integration response.

- *

Example: Get a 200 OK response of a GET method

- *
Request
- *

- *
GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
-   * Content-Type: application/json
-   * Host: apigateway.us-east-1.amazonaws.com
-   * Content-Length: 117
-   * X-Amz-Date: 20160613T215008Z
-   * Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
- *
Response
- *

The successful response returns a 200 OK status code and a payload similar to the following:

- *
{
-   *   "_links": {
-   *     "curies": {
-   *       "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
-   *       "name": "methodresponse",
-   *       "templated": true
-   *     },
-   *     "self": {
-   *       "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200",
-   *       "title": "200"
-   *     },
-   *     "methodresponse:delete": {
-   *       "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
-   *     },
-   *     "methodresponse:update": {
-   *       "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
-   *     }
-   *   },
-   *   "responseModels": {
-   *     "application/json": "Empty"
-   *   },
-   *   "responseParameters": {
-   *     "method.response.header.operator": false,
-   *     "method.response.header.operand_2": false,
-   *     "method.response.header.operand_1": false
-   *   },
-   *   "statusCode": "200"
-   * }
- *

- *
- *
- * AWS CLI - *
+ *

The identifier of an Authorizer to use on this method. The authorizationType must be CUSTOM.

*/ - methodResponses?: { [key: string]: MethodResponse }; + authorizerId?: string; /** - *

The identifier of a RequestValidator for request validation.

+ *

A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.

*/ - requestValidatorId?: string; + requestParameters?: { [key: string]: boolean }; /** - *

The identifier of an Authorizer to use on this method. The authorizationType must be CUSTOM.

+ *

A human-friendly operation identifier for the method. For example, you can assign the operationName of ListPets for the GET /pets method in the PetStore example.

*/ - authorizerId?: string; + operationName?: string; + + /** + *

A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).

+ */ + requestModels?: { [key: string]: string }; + + /** + *

A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

+ */ + authorizationScopes?: string[]; /** *

Gets the method's integration responsible for passing the client-submitted request to the back end and performing necessary transformations to make the request compliant with the back end.

@@ -2054,24 +2091,60 @@ export interface Method { methodIntegration?: Integration; /** - *

A human-friendly operation identifier for the method. For example, you can assign the operationName of ListPets for the GET /pets method in the PetStore example.

- */ - operationName?: string; - - /** - *

A boolean flag specifying whether a valid ApiKey is required to invoke this method.

- */ - apiKeyRequired?: boolean; - - /** - *

A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

+ *

Gets a method response associated with a given HTTP status code.

+ *
+ *

The collection of method responses are encapsulated in a key-value map, where the key is a response's HTTP status code and the value is a MethodResponse resource that specifies the response returned to the caller from the back end through the integration response.

+ *

Example: Get a 200 OK response of a GET method

+ *
Request
+ *

+ *
GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
+   * Content-Type: application/json
+   * Host: apigateway.us-east-1.amazonaws.com
+   * Content-Length: 117
+   * X-Amz-Date: 20160613T215008Z
+   * Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
+ *
Response
+ *

The successful response returns a 200 OK status code and a payload similar to the following:

+ *
{
+   *   "_links": {
+   *     "curies": {
+   *       "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
+   *       "name": "methodresponse",
+   *       "templated": true
+   *     },
+   *     "self": {
+   *       "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200",
+   *       "title": "200"
+   *     },
+   *     "methodresponse:delete": {
+   *       "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
+   *     },
+   *     "methodresponse:update": {
+   *       "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
+   *     }
+   *   },
+   *   "responseModels": {
+   *     "application/json": "Empty"
+   *   },
+   *   "responseParameters": {
+   *     "method.response.header.operator": false,
+   *     "method.response.header.operand_2": false,
+   *     "method.response.header.operand_1": false
+   *   },
+   *   "statusCode": "200"
+   * }
+ *

+ *
+ *
+ * AWS CLI + *
*/ - authorizationScopes?: string[]; + methodResponses?: { [key: string]: MethodResponse }; /** - *

A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).

+ *

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

*/ - requestModels?: { [key: string]: string }; + authorizationType?: string; } export namespace Method { @@ -2088,9 +2161,9 @@ export namespace Method { */ export interface Resource { /** - *

The resource's identifier.

+ *

The full path for this resource.

*/ - id?: string; + path?: string; /** *

Gets an API resource's method of a given HTTP verb.

@@ -2255,14 +2328,14 @@ export interface Resource { parentId?: string; /** - *

The full path for this resource.

+ *

The last path segment for this resource.

*/ - path?: string; + pathPart?: string; /** - *

The last path segment for this resource.

+ *

The resource's identifier.

*/ - pathPart?: string; + id?: string; } export namespace Resource { @@ -2275,7 +2348,6 @@ export namespace Resource { *

The POST Request to add a new RestApi resource to your collection.

*/ export interface CreateRestApiRequest { - templateSkipList?: string[]; /** *

[Required] The name of the RestApi.

*/ @@ -2283,15 +2355,11 @@ export interface CreateRestApiRequest { title?: string; template?: boolean; + templateSkipList?: string[]; /** - *

A version identifier for the API.

- */ - version?: string; - - /** - *

The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.

+ *

A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.

*/ - binaryMediaTypes?: string[]; + minimumCompressionSize?: number; /** *

The source of the API key for metering requests according to a usage plan. Valid values are:

  • HEADER to read the API key from the X-API-Key header of a request.
  • AUTHORIZER to read the API key from the UsageIdentifierKey from a custom authorizer.

@@ -2304,19 +2372,24 @@ export interface CreateRestApiRequest { cloneFrom?: string; /** - *

The endpoint configuration of this RestApi showing the endpoint types of the API.

+ *

A version identifier for the API.

*/ - endpointConfiguration?: EndpointConfiguration; + version?: string; /** - *

A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.

+ *

The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.

*/ - minimumCompressionSize?: number; + binaryMediaTypes?: string[]; /** - *

The description of the RestApi.

+ *

The endpoint configuration of this RestApi showing the endpoint types of the API.

*/ - description?: string; + endpointConfiguration?: EndpointConfiguration; + + /** + *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

+ */ + tags?: { [key: string]: string }; /** * A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration. @@ -2324,9 +2397,9 @@ export interface CreateRestApiRequest { policy?: string; /** - *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

+ *

The description of the RestApi.

*/ - tags?: { [key: string]: string }; + description?: string; } export namespace CreateRestApiRequest { @@ -2343,29 +2416,24 @@ export namespace CreateRestApiRequest { */ export interface RestApi { /** - *

The API's description.

+ *

The timestamp when the API was created.

*/ - description?: string; + createdDate?: Date; /** - * A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration. + *

The source of the API key for metering requests according to a usage plan. Valid values are:

  • HEADER to read the API key from the X-API-Key header of a request.
  • AUTHORIZER to read the API key from the UsageIdentifierKey from a custom authorizer.

*/ - policy?: string; + apiKeySource?: ApiKeySourceType | string; /** - *

The endpoint configuration of this RestApi showing the endpoint types of the API.

- */ - endpointConfiguration?: EndpointConfiguration; - - /** - *

The source of the API key for metering requests according to a usage plan. Valid values are:

  • HEADER to read the API key from the X-API-Key header of a request.
  • AUTHORIZER to read the API key from the UsageIdentifierKey from a custom authorizer.

+ *

The warning messages reported when failonwarnings is turned on during API import.

*/ - apiKeySource?: ApiKeySourceType | string; + warnings?: string[]; /** - *

The API's name.

+ *

The collection of tags. Each tag element is associated with a given resource.

*/ - name?: string; + tags?: { [key: string]: string }; /** *

A version identifier for the API.

@@ -2373,19 +2441,19 @@ export interface RestApi { version?: string; /** - *

The collection of tags. Each tag element is associated with a given resource.

+ *

The endpoint configuration of this RestApi showing the endpoint types of the API.

*/ - tags?: { [key: string]: string }; + endpointConfiguration?: EndpointConfiguration; /** - *

The warning messages reported when failonwarnings is turned on during API import.

+ *

The API's name.

*/ - warnings?: string[]; + name?: string; /** - *

The timestamp when the API was created.

+ * A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration. */ - createdDate?: Date; + policy?: string; /** *

The API's identifier. This identifier is unique across all of your APIs in API Gateway.

@@ -2401,6 +2469,11 @@ export interface RestApi { *

A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.

*/ minimumCompressionSize?: number; + + /** + *

The API's description.

+ */ + description?: string; } export namespace RestApi { @@ -2413,25 +2486,25 @@ export namespace RestApi { *

Configuration settings of a canary deployment.

*/ export interface CanarySettings { - /** - *

Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

- */ - stageVariableOverrides?: { [key: string]: string }; - /** *

A Boolean flag to indicate whether the canary deployment uses the stage cache or not.

*/ useStageCache?: boolean; /** - *

The percent (0-100) of traffic diverted to a canary deployment.

+ *

Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

*/ - percentTraffic?: number; + stageVariableOverrides?: { [key: string]: string }; /** *

The ID of the canary deployment.

*/ deploymentId?: string; + + /** + *

The percent (0-100) of traffic diverted to a canary deployment.

+ */ + percentTraffic?: number; } export namespace CanarySettings { @@ -2444,61 +2517,61 @@ export namespace CanarySettings { *

Requests API Gateway to create a Stage resource.

*/ export interface CreateStageRequest { - template?: boolean; title?: string; name?: string; - templateSkipList?: string[]; + template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; + templateSkipList?: string[]; /** - *

Specifies whether active tracing with X-ray is enabled for the Stage.

+ *

A map that defines the stage variables for the new Stage resource. Variable names + * can have alphanumeric and underscore characters, and the values must match + * [A-Za-z0-9-._~:/?#&=,]+.

*/ - tracingEnabled?: boolean; + variables?: { [key: string]: string }; /** - *

The stage's cache cluster size.

+ *

[Required] The name for the Stage resource. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

*/ - cacheClusterSize?: CacheClusterSize | string; + stageName: string | undefined; /** - *

The canary deployment settings of this stage.

+ *

The description of the Stage resource.

*/ - canarySettings?: CanarySettings; + description?: string; /** - *

Whether cache clustering is enabled for the stage.

+ *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

*/ - cacheClusterEnabled?: boolean; + tags?: { [key: string]: string }; /** - *

A map that defines the stage variables for the new Stage resource. Variable names - * can have alphanumeric and underscore characters, and the values must match - * [A-Za-z0-9-._~:/?#&=,]+.

+ *

Specifies whether active tracing with X-ray is enabled for the Stage.

*/ - variables?: { [key: string]: string }; + tracingEnabled?: boolean; /** - *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

+ *

[Required] The identifier of the Deployment resource for the Stage resource.

*/ - tags?: { [key: string]: string }; + deploymentId: string | undefined; /** - *

The description of the Stage resource.

+ *

The stage's cache cluster size.

*/ - description?: string; + cacheClusterSize?: CacheClusterSize | string; /** - *

[Required] The name for the Stage resource. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

+ *

The canary deployment settings of this stage.

*/ - stageName: string | undefined; + canarySettings?: CanarySettings; /** - *

[Required] The identifier of the Deployment resource for the Stage resource.

+ *

Whether cache clustering is enabled for the stage.

*/ - deploymentId: string | undefined; + cacheClusterEnabled?: boolean; /** *

The version of the associated API documentation.

@@ -2531,14 +2604,14 @@ export enum UnauthorizedCacheControlHeaderStrategy { */ export interface MethodSetting { /** - *

Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl, and the value is a Boolean.

+ *

Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted, and the value is a Boolean.

*/ - requireAuthorizationForCacheControl?: boolean; + cacheDataEncrypted?: boolean; /** - *

Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel, and the available levels are OFF, ERROR, and INFO. Choose ERROR to write only error-level entries to CloudWatch Logs, or choose INFO to include all ERROR events as well as extra informational events.

+ *

Specifies the throttling burst limit. The PATCH path for this setting is /{method_setting_key}/throttling/burstLimit, and the value is an integer.

*/ - loggingLevel?: string; + throttlingBurstLimit?: number; /** *

Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.

@@ -2546,24 +2619,24 @@ export interface MethodSetting { dataTraceEnabled?: boolean; /** - *

Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted, and the value is a Boolean.

+ *

Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy, and the available values are FAIL_WITH_403, SUCCEED_WITH_RESPONSE_HEADER, SUCCEED_WITHOUT_RESPONSE_HEADER.

*/ - cacheDataEncrypted?: boolean; + unauthorizedCacheControlHeaderStrategy?: UnauthorizedCacheControlHeaderStrategy | string; /** - *

Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled, and the value is a Boolean.

+ *

Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl, and the value is a Boolean.

*/ - cachingEnabled?: boolean; + requireAuthorizationForCacheControl?: boolean; /** - *

Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled, and the value is a Boolean.

+ *

Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel, and the available levels are OFF, ERROR, and INFO. Choose ERROR to write only error-level entries to CloudWatch Logs, or choose INFO to include all ERROR events as well as extra informational events.

*/ - metricsEnabled?: boolean; + loggingLevel?: string; /** - *

Specifies the throttling burst limit. The PATCH path for this setting is /{method_setting_key}/throttling/burstLimit, and the value is an integer.

+ *

Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled, and the value is a Boolean.

*/ - throttlingBurstLimit?: number; + cachingEnabled?: boolean; /** *

Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached. The PATCH path for this setting is /{method_setting_key}/caching/ttlInSeconds, and the value is an integer.

@@ -2571,14 +2644,14 @@ export interface MethodSetting { cacheTtlInSeconds?: number; /** - *

Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit, and the value is a double.

+ *

Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled, and the value is a Boolean.

*/ - throttlingRateLimit?: number; + metricsEnabled?: boolean; /** - *

Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy, and the available values are FAIL_WITH_403, SUCCEED_WITH_RESPONSE_HEADER, SUCCEED_WITHOUT_RESPONSE_HEADER.

+ *

Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit, and the value is a double.

*/ - unauthorizedCacheControlHeaderStrategy?: UnauthorizedCacheControlHeaderStrategy | string; + throttlingRateLimit?: number; } export namespace MethodSetting { @@ -2595,14 +2668,9 @@ export namespace MethodSetting { */ export interface Stage { /** - *

The identifier of the Deployment that the stage points to.

- */ - deploymentId?: string; - - /** - *

The stage's description.

+ *

The ARN of the WebAcl associated with the Stage.

*/ - description?: string; + webAclArn?: string; /** *

The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

@@ -2610,19 +2678,19 @@ export interface Stage { stageName?: string; /** - *

The collection of tags. Each tag element is associated with a given resource.

+ *

The timestamp when the stage was created.

*/ - tags?: { [key: string]: string }; + createdDate?: Date; /** - *

The status of the cache cluster for the stage, if enabled.

+ *

The timestamp when the stage last updated.

*/ - cacheClusterStatus?: CacheClusterStatus | string; + lastUpdatedDate?: Date; /** - *

The identifier of a client certificate for an API stage.

+ *

The identifier of the Deployment that the stage points to.

*/ - clientCertificateId?: string; + deploymentId?: string; /** *

Specifies whether a cache cluster is enabled for the stage.

@@ -2630,40 +2698,40 @@ export interface Stage { cacheClusterEnabled?: boolean; /** - *

Settings for the canary deployment in this stage.

+ *

The stage's description.

*/ - canarySettings?: CanarySettings; + description?: string; /** - *

A map that defines the stage variables for a Stage resource. Variable names can - * have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

+ *

Settings for logging access in this stage.

*/ - variables?: { [key: string]: string }; + accessLogSettings?: AccessLogSettings; /** - *

The size of the cache cluster for the stage, if enabled.

+ *

The identifier of a client certificate for an API stage.

*/ - cacheClusterSize?: CacheClusterSize | string; + clientCertificateId?: string; /** - *

Settings for logging access in this stage.

+ *

Settings for the canary deployment in this stage.

*/ - accessLogSettings?: AccessLogSettings; + canarySettings?: CanarySettings; /** - *

The version of the associated API documentation.

+ *

A map that defines the stage variables for a Stage resource. Variable names can + * have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

*/ - documentationVersion?: string; + variables?: { [key: string]: string }; /** - *

The timestamp when the stage last updated.

+ *

The status of the cache cluster for the stage, if enabled.

*/ - lastUpdatedDate?: Date; + cacheClusterStatus?: CacheClusterStatus | string; /** - *

The timestamp when the stage was created.

+ *

The collection of tags. Each tag element is associated with a given resource.

*/ - createdDate?: Date; + tags?: { [key: string]: string }; /** *

Specifies whether active tracing with X-ray is enabled for the Stage.

@@ -2671,9 +2739,14 @@ export interface Stage { tracingEnabled?: boolean; /** - *

The ARN of the WebAcl associated with the Stage.

+ *

The size of the cache cluster for the stage, if enabled.

*/ - webAclArn?: string; + cacheClusterSize?: CacheClusterSize | string; + + /** + *

The version of the associated API documentation.

+ */ + documentationVersion?: string; /** *

A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} for an individual method override, or /\*\/\* for overriding all methods in the stage.

@@ -2698,14 +2771,14 @@ export enum QuotaPeriodType { */ export interface QuotaSettings { /** - *

The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".

+ *

The maximum number of requests that can be made in a given time period.

*/ - period?: QuotaPeriodType | string; + limit?: number; /** - *

The maximum number of requests that can be made in a given time period.

+ *

The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".

*/ - limit?: number; + period?: QuotaPeriodType | string; /** *

The number of requests subtracted from the given limit in the initial time period.

@@ -2723,29 +2796,19 @@ export namespace QuotaSettings { *

The POST request to create a usage plan with the name, description, throttle limits and quota limits, as well as the associated API stages, specified in the payload.

*/ export interface CreateUsagePlanRequest { + template?: boolean; + templateSkipList?: string[]; /** *

[Required] The name of the usage plan.

*/ name: string | undefined; title?: string; - template?: boolean; - templateSkipList?: string[]; - /** - *

The throttling limits of the usage plan.

- */ - throttle?: ThrottleSettings; - /** *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

*/ tags?: { [key: string]: string }; - /** - *

The associated API stages of the usage plan.

- */ - apiStages?: ApiStage[]; - /** *

The description of the usage plan.

*/ @@ -2755,6 +2818,16 @@ export interface CreateUsagePlanRequest { *

The quota of the usage plan.

*/ quota?: QuotaSettings; + + /** + *

The throttling limits of the usage plan.

+ */ + throttle?: ThrottleSettings; + + /** + *

The associated API stages of the usage plan.

+ */ + apiStages?: ApiStage[]; } export namespace CreateUsagePlanRequest { @@ -2773,15 +2846,20 @@ export namespace CreateUsagePlanRequest { * */ export interface UsagePlan { + /** + *

The collection of tags. Each tag element is associated with a given resource.

+ */ + tags?: { [key: string]: string }; + /** *

The identifier of a UsagePlan resource.

*/ id?: string; /** - *

The request throttle limits of a usage plan.

+ *

The maximum number of permitted requests per a given unit time interval.

*/ - throttle?: ThrottleSettings; + quota?: QuotaSettings; /** *

The name of a usage plan.

@@ -2799,19 +2877,14 @@ export interface UsagePlan { productCode?: string; /** - *

The maximum number of permitted requests per a given unit time interval.

- */ - quota?: QuotaSettings; - - /** - *

The collection of tags. Each tag element is associated with a given resource.

+ *

The description of a usage plan.

*/ - tags?: { [key: string]: string }; + description?: string; /** - *

The description of a usage plan.

+ *

The request throttle limits of a usage plan.

*/ - description?: string; + throttle?: ThrottleSettings; } export namespace UsagePlan { @@ -2824,15 +2897,15 @@ export namespace UsagePlan { *

The POST request to create a usage plan key for adding an existing API key to a usage plan.

*/ export interface CreateUsagePlanKeyRequest { - template?: boolean; - name?: string; - templateSkipList?: string[]; - title?: string; /** *

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer.

*/ usagePlanId: string | undefined; + template?: boolean; + name?: string; + title?: string; + templateSkipList?: string[]; /** *

[Required] The type of a UsagePlanKey resource for a plan customer.

*/ @@ -2865,11 +2938,6 @@ export interface UsagePlanKey { */ name?: string; - /** - *

The value of a usage plan key.

- */ - value?: string; - /** *

The Id of a usage plan key.

*/ @@ -2879,6 +2947,11 @@ export interface UsagePlanKey { *

The type of a usage plan key. Currently, the valid key type is API_KEY.

*/ type?: string; + + /** + *

The value of a usage plan key.

+ */ + value?: string; } export namespace UsagePlanKey { @@ -2891,21 +2964,16 @@ export namespace UsagePlanKey { *

Creates a VPC link, under the caller's account in a selected region, in an asynchronous operation that typically takes 2-4 minutes to complete and become operational. The caller must have permissions to create and update VPC Endpoint services.

*/ export interface CreateVpcLinkRequest { + template?: boolean; /** *

[Required] The name used to label and identify the VPC link.

*/ name: string | undefined; - template?: boolean; title?: string; templateSkipList?: string[]; /** - *

[Required] The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.

- */ - targetArns: string[] | undefined; - - /** - *

The description of the VPC link.

+ *

The description of the VPC link.

*/ description?: string; @@ -2913,6 +2981,11 @@ export interface CreateVpcLinkRequest { *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

*/ tags?: { [key: string]: string }; + + /** + *

[Required] The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.

+ */ + targetArns: string[] | undefined; } export namespace CreateVpcLinkRequest { @@ -2938,19 +3011,19 @@ export enum VpcLinkStatus { */ export interface VpcLink { /** - *

The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

+ *

The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.

*/ - id?: string; + targetArns?: string[]; /** - *

The name used to label and identify the VPC link.

+ *

The collection of tags. Each tag element is associated with a given resource.

*/ - name?: string; + tags?: { [key: string]: string }; /** - *

The description of the VPC link.

+ *

The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

*/ - description?: string; + id?: string; /** *

A description about the VPC link status.

@@ -2958,9 +3031,9 @@ export interface VpcLink { statusMessage?: string; /** - *

The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.

+ *

The name used to label and identify the VPC link.

*/ - targetArns?: string[]; + name?: string; /** *

The status of the VPC link. The valid values are AVAILABLE, PENDING, DELETING, or FAILED. Deploying an API will wait if the status is PENDING and will fail if the status is DELETING.

@@ -2968,9 +3041,9 @@ export interface VpcLink { status?: VpcLinkStatus | string; /** - *

The collection of tags. Each tag element is associated with a given resource.

+ *

The description of the VPC link.

*/ - tags?: { [key: string]: string }; + description?: string; } export namespace VpcLink { @@ -2983,15 +3056,15 @@ export namespace VpcLink { *

A request to delete the ApiKey resource.

*/ export interface DeleteApiKeyRequest { - name?: string; - templateSkipList?: string[]; + template?: boolean; /** *

[Required] The identifier of the ApiKey resource to be deleted.

*/ apiKey: string | undefined; + name?: string; + templateSkipList?: string[]; title?: string; - template?: boolean; } export namespace DeleteApiKeyRequest { @@ -3004,20 +3077,20 @@ export namespace DeleteApiKeyRequest { *

Request to delete an existing Authorizer resource.

*/ export interface DeleteAuthorizerRequest { + title?: string; + templateSkipList?: string[]; template?: boolean; /** - *

[Required] The identifier of the Authorizer resource.

+ *

[Required] The string identifier of the associated RestApi.

*/ - authorizerId: string | undefined; + restApiId: string | undefined; - name?: string; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The identifier of the Authorizer resource.

*/ - restApiId: string | undefined; + authorizerId: string | undefined; - templateSkipList?: string[]; - title?: string; + name?: string; } export namespace DeleteAuthorizerRequest { @@ -3030,6 +3103,8 @@ export namespace DeleteAuthorizerRequest { *

A request to delete the BasePathMapping resource.

*/ export interface DeleteBasePathMappingRequest { + template?: boolean; + title?: string; name?: string; /** *

[Required] The domain name of the BasePathMapping resource to delete.

@@ -3037,14 +3112,11 @@ export interface DeleteBasePathMappingRequest { domainName: string | undefined; templateSkipList?: string[]; - title?: string; /** *

[Required] The base path name of the BasePathMapping resource to delete.

*

To specify an empty base path, set this parameter to '(none)'.

*/ basePath: string | undefined; - - template?: boolean; } export namespace DeleteBasePathMappingRequest { @@ -3059,13 +3131,12 @@ export namespace DeleteBasePathMappingRequest { export interface DeleteClientCertificateRequest { template?: boolean; name?: string; + title?: string; + templateSkipList?: string[]; /** *

[Required] The identifier of the ClientCertificate resource to be deleted.

*/ clientCertificateId: string | undefined; - - templateSkipList?: string[]; - title?: string; } export namespace DeleteClientCertificateRequest { @@ -3081,17 +3152,16 @@ export interface DeleteDeploymentRequest { templateSkipList?: string[]; title?: string; name?: string; - /** - *

[Required] The identifier of the Deployment resource to delete.

- */ - deploymentId: string | undefined; - + template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - template?: boolean; + /** + *

[Required] The identifier of the Deployment resource to delete.

+ */ + deploymentId: string | undefined; } export namespace DeleteDeploymentRequest { @@ -3104,19 +3174,20 @@ export namespace DeleteDeploymentRequest { *

Deletes an existing documentation part of an API.

*/ export interface DeleteDocumentationPartRequest { + templateSkipList?: string[]; + template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - template?: boolean; - templateSkipList?: string[]; - title?: string; - name?: string; /** *

[Required] The identifier of the to-be-deleted documentation part.

*/ documentationPartId: string | undefined; + + title?: string; + name?: string; } export namespace DeleteDocumentationPartRequest { @@ -3129,20 +3200,20 @@ export namespace DeleteDocumentationPartRequest { *

Deletes an existing documentation version of an API.

*/ export interface DeleteDocumentationVersionRequest { - title?: string; - templateSkipList?: string[]; + name?: string; /** - *

[Required] The version identifier of a to-be-deleted documentation snapshot.

+ *

[Required] The string identifier of the associated RestApi.

*/ - documentationVersion: string | undefined; + restApiId: string | undefined; + templateSkipList?: string[]; + title?: string; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The version identifier of a to-be-deleted documentation snapshot.

*/ - restApiId: string | undefined; + documentationVersion: string | undefined; template?: boolean; - name?: string; } export namespace DeleteDocumentationVersionRequest { @@ -3155,14 +3226,15 @@ export namespace DeleteDocumentationVersionRequest { *

A request to delete the DomainName resource.

*/ export interface DeleteDomainNameRequest { - template?: boolean; - title?: string; - name?: string; - templateSkipList?: string[]; /** *

[Required] The name of the DomainName resource to be deleted.

*/ domainName: string | undefined; + + title?: string; + name?: string; + template?: boolean; + templateSkipList?: string[]; } export namespace DeleteDomainNameRequest { @@ -3198,11 +3270,6 @@ export enum GatewayResponseType { *

Clears any customization of a GatewayResponse of a specified response type on the given RestApi and resets it with the default settings.

*/ export interface DeleteGatewayResponseRequest { - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; - template?: boolean; /** *

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

@@ -3210,8 +3277,13 @@ export interface DeleteGatewayResponseRequest { responseType: GatewayResponseType | string | undefined; templateSkipList?: string[]; - title?: string; + /** + *

[Required] The string identifier of the associated RestApi.

+ */ + restApiId: string | undefined; + name?: string; + title?: string; } export namespace DeleteGatewayResponseRequest { @@ -3224,25 +3296,24 @@ export namespace DeleteGatewayResponseRequest { *

Represents a delete integration request.

*/ export interface DeleteIntegrationRequest { - templateSkipList?: string[]; - title?: string; + name?: string; /** - *

[Required] Specifies a delete integration request's HTTP method.

+ *

[Required] The string identifier of the associated RestApi.

*/ - httpMethod: string | undefined; + restApiId: string | undefined; + templateSkipList?: string[]; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] Specifies a delete integration request's HTTP method.

*/ - restApiId: string | undefined; + httpMethod: string | undefined; + title?: string; + template?: boolean; /** *

[Required] Specifies a delete integration request's resource identifier.

*/ resourceId: string | undefined; - - template?: boolean; - name?: string; } export namespace DeleteIntegrationRequest { @@ -3255,13 +3326,8 @@ export namespace DeleteIntegrationRequest { *

Represents a delete integration response request.

*/ export interface DeleteIntegrationResponseRequest { - template?: boolean; - /** - *

[Required] Specifies a delete integration response request's resource identifier.

- */ - resourceId: string | undefined; - title?: string; + name?: string; /** *

[Required] Specifies a delete integration response request's HTTP method.

*/ @@ -3272,12 +3338,18 @@ export interface DeleteIntegrationResponseRequest { */ statusCode: string | undefined; - name?: string; - templateSkipList?: string[]; + /** + *

[Required] Specifies a delete integration response request's resource identifier.

+ */ + resourceId: string | undefined; + + template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; + + templateSkipList?: string[]; } export namespace DeleteIntegrationResponseRequest { @@ -3290,24 +3362,25 @@ export namespace DeleteIntegrationResponseRequest { *

Request to delete an existing Method resource.

*/ export interface DeleteMethodRequest { - name?: string; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The Resource identifier for the Method resource.

*/ - restApiId: string | undefined; + resourceId: string | undefined; - templateSkipList?: string[]; + name?: string; /** *

[Required] The HTTP verb of the Method resource.

*/ httpMethod: string | undefined; title?: string; - template?: boolean; + templateSkipList?: string[]; /** - *

[Required] The Resource identifier for the Method resource.

+ *

[Required] The string identifier of the associated RestApi.

*/ - resourceId: string | undefined; + restApiId: string | undefined; + + template?: boolean; } export namespace DeleteMethodRequest { @@ -3320,16 +3393,11 @@ export namespace DeleteMethodRequest { *

A request to delete an existing MethodResponse resource.

*/ export interface DeleteMethodResponseRequest { - title?: string; - /** - *

[Required] The HTTP verb of the Method resource.

- */ - httpMethod: string | undefined; - + name?: string; /** - *

[Required] The status code identifier for the MethodResponse resource.

+ *

[Required] The string identifier of the associated RestApi.

*/ - statusCode: string | undefined; + restApiId: string | undefined; /** *

[Required] The Resource identifier for the MethodResponse resource.

@@ -3338,12 +3406,17 @@ export interface DeleteMethodResponseRequest { template?: boolean; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The status code identifier for the MethodResponse resource.

*/ - restApiId: string | undefined; + statusCode: string | undefined; + + /** + *

[Required] The HTTP verb of the Method resource.

+ */ + httpMethod: string | undefined; - name?: string; templateSkipList?: string[]; + title?: string; } export namespace DeleteMethodResponseRequest { @@ -3356,19 +3429,19 @@ export namespace DeleteMethodResponseRequest { *

Request to delete an existing model in an existing RestApi resource.

*/ export interface DeleteModelRequest { - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; - + templateSkipList?: string[]; /** *

[Required] The name of the model to delete.

*/ modelName: string | undefined; - templateSkipList?: string[]; title?: string; name?: string; + /** + *

[Required] The string identifier of the associated RestApi.

+ */ + restApiId: string | undefined; + template?: boolean; } @@ -3382,19 +3455,20 @@ export namespace DeleteModelRequest { *

Deletes a specified RequestValidator of a given RestApi.

*/ export interface DeleteRequestValidatorRequest { + name?: string; + title?: string; templateSkipList?: string[]; - template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - title?: string; - name?: string; /** *

[Required] The identifier of the RequestValidator to be deleted.

*/ requestValidatorId: string | undefined; + + template?: boolean; } export namespace DeleteRequestValidatorRequest { @@ -3407,19 +3481,20 @@ export namespace DeleteRequestValidatorRequest { *

Request to delete a Resource.

*/ export interface DeleteResourceRequest { - title?: string; - templateSkipList?: string[]; + name?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - name?: string; - template?: boolean; + templateSkipList?: string[]; + title?: string; /** *

[Required] The identifier of the Resource resource.

*/ resourceId: string | undefined; + + template?: boolean; } export namespace DeleteResourceRequest { @@ -3432,14 +3507,14 @@ export namespace DeleteResourceRequest { *

Request to delete the specified API from your collection.

*/ export interface DeleteRestApiRequest { + template?: boolean; + templateSkipList?: string[]; + title?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - template?: boolean; - title?: string; - templateSkipList?: string[]; name?: string; } @@ -3453,20 +3528,20 @@ export namespace DeleteRestApiRequest { *

Requests API Gateway to delete a Stage resource.

*/ export interface DeleteStageRequest { - templateSkipList?: string[]; - title?: string; + name?: string; /** *

[Required] The name of the Stage resource to delete.

*/ stageName: string | undefined; - name?: string; + template?: boolean; + title?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - template?: boolean; + templateSkipList?: string[]; } export namespace DeleteStageRequest { @@ -3479,15 +3554,15 @@ export namespace DeleteStageRequest { *

The DELETE request to delete a usage plan of a given plan Id.

*/ export interface DeleteUsagePlanRequest { + template?: boolean; name?: string; /** *

[Required] The Id of the to-be-deleted usage plan.

*/ usagePlanId: string | undefined; - template?: boolean; - templateSkipList?: string[]; title?: string; + templateSkipList?: string[]; } export namespace DeleteUsagePlanRequest { @@ -3501,19 +3576,19 @@ export namespace DeleteUsagePlanRequest { */ export interface DeleteUsagePlanKeyRequest { /** - *

[Required] The Id of the UsagePlanKey resource to be deleted.

+ *

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.

*/ - keyId: string | undefined; + usagePlanId: string | undefined; - name?: string; title?: string; - templateSkipList?: string[]; + template?: boolean; + name?: string; /** - *

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.

+ *

[Required] The Id of the UsagePlanKey resource to be deleted.

*/ - usagePlanId: string | undefined; + keyId: string | undefined; - template?: boolean; + templateSkipList?: string[]; } export namespace DeleteUsagePlanKeyRequest { @@ -3526,10 +3601,10 @@ export namespace DeleteUsagePlanKeyRequest { *

Deletes an existing VpcLink of a specified identifier.

*/ export interface DeleteVpcLinkRequest { + name?: string; + templateSkipList?: string[]; title?: string; template?: boolean; - templateSkipList?: string[]; - name?: string; /** *

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

*/ @@ -3546,21 +3621,21 @@ export namespace DeleteVpcLinkRequest { *

Request to flush authorizer cache entries on a specified stage.

*/ export interface FlushStageAuthorizersCacheRequest { - template?: boolean; + templateSkipList?: string[]; /** *

The name of the stage to flush.

*/ stageName: string | undefined; - title?: string; - name?: string; + template?: boolean; /** *

The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - templateSkipList?: string[]; -} + title?: string; + name?: string; +} export namespace FlushStageAuthorizersCacheRequest { export const filterSensitiveLog = (obj: FlushStageAuthorizersCacheRequest): any => ({ @@ -3572,19 +3647,20 @@ export namespace FlushStageAuthorizersCacheRequest { *

Requests API Gateway to flush a stage's cache.

*/ export interface FlushStageCacheRequest { + template?: boolean; /** *

[Required] The name of the stage to flush its cache.

*/ stageName: string | undefined; - name?: string; - title?: string; - templateSkipList?: string[]; - template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; + + name?: string; + title?: string; + templateSkipList?: string[]; } export namespace FlushStageCacheRequest { @@ -3602,9 +3678,14 @@ export namespace FlushStageCacheRequest { */ export interface ClientCertificate { /** - *

The timestamp when the client certificate was created.

+ *

The description of the client certificate.

*/ - createdDate?: Date; + description?: string; + + /** + *

The identifier of the client certificate.

+ */ + clientCertificateId?: string; /** *

The PEM-encoded public key of the client certificate, which can be used to configure certificate authentication in the integration endpoint .

@@ -3622,14 +3703,9 @@ export interface ClientCertificate { expirationDate?: Date; /** - *

The description of the client certificate.

- */ - description?: string; - - /** - *

The identifier of the client certificate.

+ *

The timestamp when the client certificate was created.

*/ - clientCertificateId?: string; + createdDate?: Date; } export namespace ClientCertificate { @@ -3642,19 +3718,19 @@ export namespace ClientCertificate { *

A request to generate a ClientCertificate resource.

*/ export interface GenerateClientCertificateRequest { - template?: boolean; title?: string; templateSkipList?: string[]; name?: string; + template?: boolean; /** - *

The description of the ClientCertificate.

+ *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

*/ - description?: string; + tags?: { [key: string]: string }; /** - *

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

+ *

The description of the ClientCertificate.

*/ - tags?: { [key: string]: string }; + description?: string; } export namespace GenerateClientCertificateRequest { @@ -3667,10 +3743,10 @@ export namespace GenerateClientCertificateRequest { *

Requests API Gateway to get information about the current Account resource.

*/ export interface GetAccountRequest { + template?: boolean; name?: string; - title?: string; templateSkipList?: string[]; - template?: boolean; + title?: string; } export namespace GetAccountRequest { @@ -3683,13 +3759,6 @@ export namespace GetAccountRequest { *

A request to get information about the current ApiKey resource.

*/ export interface GetApiKeyRequest { - /** - *

[Required] The identifier of the ApiKey resource.

- */ - apiKey: string | undefined; - - templateSkipList?: string[]; - title?: string; name?: string; /** *

A boolean flag to specify whether (true) or not (false) the result contains the key value.

@@ -3697,6 +3766,13 @@ export interface GetApiKeyRequest { includeValue?: boolean; template?: boolean; + title?: string; + /** + *

[Required] The identifier of the ApiKey resource.

+ */ + apiKey: string | undefined; + + templateSkipList?: string[]; } export namespace GetApiKeyRequest { @@ -3709,11 +3785,7 @@ export namespace GetApiKeyRequest { *

A request to get information about the current ApiKeys resource.

*/ export interface GetApiKeysRequest { - /** - *

The name of queried API keys.

- */ - nameQuery?: string; - + template?: boolean; /** *

The current pagination position in the paged result set.

*/ @@ -3724,14 +3796,18 @@ export interface GetApiKeysRequest { */ customerId?: string; - templateSkipList?: string[]; - template?: boolean; /** *

A boolean flag to specify whether (true) or not (false) the result contains key values.

*/ includeValues?: boolean; + templateSkipList?: string[]; title?: string; + /** + *

The name of queried API keys.

+ */ + nameQuery?: string; + /** *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ @@ -3750,19 +3826,19 @@ export namespace GetApiKeysRequest { *

Request to describe an existing Authorizer resource.

*/ export interface GetAuthorizerRequest { - title?: string; - templateSkipList?: string[]; - template?: boolean; /** - *

[Required] The identifier of the Authorizer resource.

+ *

[Required] The string identifier of the associated RestApi.

*/ - authorizerId: string | undefined; + restApiId: string | undefined; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The identifier of the Authorizer resource.

*/ - restApiId: string | undefined; + authorizerId: string | undefined; + templateSkipList?: string[]; + template?: boolean; + title?: string; name?: string; } @@ -3776,9 +3852,6 @@ export namespace GetAuthorizerRequest { *

Request to describe an existing Authorizers resource.

*/ export interface GetAuthorizersRequest { - templateSkipList?: string[]; - title?: string; - template?: boolean; /** *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ @@ -3786,14 +3859,17 @@ export interface GetAuthorizersRequest { name?: string; /** - *

The current pagination position in the paged result set.

+ *

[Required] The string identifier of the associated RestApi.

*/ - position?: string; + restApiId: string | undefined; + template?: boolean; + templateSkipList?: string[]; + title?: string; /** - *

[Required] The string identifier of the associated RestApi.

+ *

The current pagination position in the paged result set.

*/ - restApiId: string | undefined; + position?: string; } export namespace GetAuthorizersRequest { @@ -3806,19 +3882,19 @@ export namespace GetAuthorizersRequest { *

Request to describe a BasePathMapping resource.

*/ export interface GetBasePathMappingRequest { + name?: string; + title?: string; + templateSkipList?: string[]; /** - *

[Required] The domain name of the BasePathMapping resource to be described.

+ *

[Required] The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify any base path name after the domain name.

*/ - domainName: string | undefined; + basePath: string | undefined; /** - *

[Required] The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify any base path name after the domain name.

+ *

[Required] The domain name of the BasePathMapping resource to be described.

*/ - basePath: string | undefined; + domainName: string | undefined; - title?: string; - name?: string; - templateSkipList?: string[]; template?: boolean; } @@ -3856,24 +3932,25 @@ export namespace BasePathMappings { *

A request to get information about a collection of BasePathMapping resources.

*/ export interface GetBasePathMappingsRequest { + template?: boolean; /** - *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

+ *

The current pagination position in the paged result set.

*/ - limit?: number; + position?: string; - name?: string; /** *

[Required] The domain name of a BasePathMapping resource.

*/ domainName: string | undefined; - template?: boolean; - title?: string; templateSkipList?: string[]; + title?: string; /** - *

The current pagination position in the paged result set.

+ *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ - position?: string; + limit?: number; + + name?: string; } export namespace GetBasePathMappingsRequest { @@ -3886,15 +3963,15 @@ export namespace GetBasePathMappingsRequest { *

A request to get information about the current ClientCertificate resource.

*/ export interface GetClientCertificateRequest { - name?: string; - title?: string; template?: boolean; /** *

[Required] The identifier of the ClientCertificate resource to be described.

*/ clientCertificateId: string | undefined; + title?: string; templateSkipList?: string[]; + name?: string; } export namespace GetClientCertificateRequest { @@ -3931,20 +4008,19 @@ export namespace ClientCertificates { *

A request to get information about a collection of ClientCertificate resources.

*/ export interface GetClientCertificatesRequest { - title?: string; - template?: boolean; - name?: string; /** *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ limit?: number; + name?: string; + template?: boolean; + title?: string; + templateSkipList?: string[]; /** *

The current pagination position in the paged result set.

*/ position?: string; - - templateSkipList?: string[]; } export namespace GetClientCertificatesRequest { @@ -3957,25 +4033,24 @@ export namespace GetClientCertificatesRequest { *

Requests API Gateway to get information about a Deployment resource.

*/ export interface GetDeploymentRequest { - templateSkipList?: string[]; - title?: string; - name?: string; + /** + *

[Required] The identifier of the Deployment resource to get information about.

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

A query parameter to retrieve the specified embedded resources of the returned Deployment resource in the response. In a REST API call, this embed parameter value is a list of comma-separated strings, as in GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=var1,var2. The SDK and other platform-dependent libraries might use a different format for the list. Currently, this request supports only retrieval of the embedded API summary this way. Hence, the parameter value must be a single-valued list containing only the "apisummary" string. For example, GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=apisummary.

*/ embed?: string[]; + name?: string; + template?: boolean; + title?: string; + templateSkipList?: string[]; /** *

[Required] The string identifier of the associated RestApi.

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

[Required] The identifier of the Deployment resource to get information about.

- */ - deploymentId: string | undefined; - - template?: boolean; } export namespace GetDeploymentRequest { @@ -4016,25 +4091,25 @@ export namespace Deployments { *

Requests API Gateway to get information about a Deployments collection.

*/ export interface GetDeploymentsRequest { - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; - + template?: boolean; /** *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ limit?: number; name?: string; - title?: string; - template?: boolean; + /** + *

[Required] The string identifier of the associated RestApi.

+ */ + restApiId: string | undefined; + + templateSkipList?: string[]; /** *

The current pagination position in the paged result set.

*/ position?: string; - templateSkipList?: string[]; + title?: string; } export namespace GetDeploymentsRequest { @@ -4050,17 +4125,17 @@ export interface GetDocumentationPartRequest { /** *

[Required] The string identifier of the associated RestApi.

*/ - documentationPartId: string | undefined; + restApiId: string | undefined; - templateSkipList?: string[]; template?: boolean; + templateSkipList?: string[]; + title?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ - restApiId: string | undefined; + documentationPartId: string | undefined; name?: string; - title?: string; } export namespace GetDocumentationPartRequest { @@ -4103,44 +4178,45 @@ export enum LocationStatusType { *

Gets the documentation parts of an API. The result may be filtered by the type, name, or path of API entities (targets).

*/ export interface GetDocumentationPartsRequest { - templateSkipList?: string[]; + /** + *

[Required] The string identifier of the associated RestApi.

+ */ + restApiId: string | undefined; + + name?: string; + /** + *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

+ */ + limit?: number; + /** *

The type of API entities of the to-be-retrieved documentation parts.

*/ type?: DocumentationPartType | string; - title?: string; /** *

The name of API entities of the to-be-retrieved documentation parts.

*/ nameQuery?: string; /** - *

The current pagination position in the paged result set.

- */ - position?: string; - - /** - *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

+ *

The path of API entities of the to-be-retrieved documentation parts.

*/ - limit?: number; + path?: string; - name?: string; /** *

The status of the API documentation parts to retrieve. Valid values are DOCUMENTED for retrieving DocumentationPart resources with content and UNDOCUMENTED for DocumentationPart resources without content.

*/ locationStatus?: LocationStatusType | string; template?: boolean; + title?: string; /** - *

The path of API entities of the to-be-retrieved documentation parts.

+ *

The current pagination position in the paged result set.

*/ - path?: string; + position?: string; - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; + templateSkipList?: string[]; } export namespace GetDocumentationPartsRequest { @@ -4153,19 +4229,19 @@ export namespace GetDocumentationPartsRequest { *

Gets a documentation snapshot of an API.

*/ export interface GetDocumentationVersionRequest { - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; - + title?: string; template?: boolean; /** *

[Required] The version identifier of the to-be-retrieved documentation snapshot.

*/ documentationVersion: string | undefined; - title?: string; templateSkipList?: string[]; + /** + *

[Required] The string identifier of the associated RestApi.

+ */ + restApiId: string | undefined; + name?: string; } @@ -4204,10 +4280,11 @@ export namespace DocumentationVersions { *

Gets the documentation versions of an API.

*/ export interface GetDocumentationVersionsRequest { + template?: boolean; /** - *

[Required] The string identifier of the associated RestApi.

+ *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ - restApiId: string | undefined; + limit?: number; name?: string; /** @@ -4215,14 +4292,12 @@ export interface GetDocumentationVersionsRequest { */ position?: string; + templateSkipList?: string[]; + title?: string; /** - *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

+ *

[Required] The string identifier of the associated RestApi.

*/ - limit?: number; - - title?: string; - templateSkipList?: string[]; - template?: boolean; + restApiId: string | undefined; } export namespace GetDocumentationVersionsRequest { @@ -4235,14 +4310,15 @@ export namespace GetDocumentationVersionsRequest { *

Request to get the name of a DomainName resource.

*/ export interface GetDomainNameRequest { - templateSkipList?: string[]; - title?: string; name?: string; template?: boolean; + title?: string; /** *

[Required] The name of the DomainName resource.

*/ domainName: string | undefined; + + templateSkipList?: string[]; } export namespace GetDomainNameRequest { @@ -4279,6 +4355,8 @@ export namespace DomainNames { *

Request to describe a collection of DomainName resources.

*/ export interface GetDomainNamesRequest { + template?: boolean; + templateSkipList?: string[]; /** *

The current pagination position in the paged result set.

*/ @@ -4291,8 +4369,6 @@ export interface GetDomainNamesRequest { name?: string; title?: string; - template?: boolean; - templateSkipList?: string[]; } export namespace GetDomainNamesRequest { @@ -4306,14 +4382,14 @@ export namespace GetDomainNamesRequest { */ export interface ExportResponse { /** - *

The binary blob response to GetExport, which contains the export.

+ *

The content-type header value in the HTTP response. This will correspond to a valid 'accept' type in the request.

*/ - body?: Uint8Array; + contentType?: string; /** - *

The content-type header value in the HTTP response. This will correspond to a valid 'accept' type in the request.

+ *

The binary blob response to GetExport, which contains the export.

*/ - contentType?: string; + body?: Uint8Array; /** *

The content-disposition header value in the HTTP response.

@@ -4331,15 +4407,20 @@ export namespace ExportResponse { *

Request a new export of a RestApi for a particular Stage.

*/ export interface GetExportRequest { + /** + *

[Required] The type of export. Acceptable values are 'oas30' for OpenAPI 3.0.x and 'swagger' for Swagger/OpenAPI 2.0.

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

A key-value map of query string parameters that specify properties of the export, depending on the requested exportType. For exportType oas30 and swagger, any combination of the following parameters are supported: extensions='integrations' or extensions='apigateway' will export the API with x-amazon-apigateway-integration extensions. extensions='authorizers' will export the API with x-amazon-apigateway-authorizer extensions. postman will export the API with Postman extensions, allowing for import to the Postman tool

*/ parameters?: { [key: string]: string }; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The name of the Stage that will be exported.

*/ - restApiId: string | undefined; + stageName: string | undefined; /** *

The content-type of the export, for example application/json. Currently application/json and application/yaml are supported for exportType ofoas30 and swagger. This should be specified in the Accept header for direct API requests.

@@ -4347,14 +4428,9 @@ export interface GetExportRequest { accepts?: string; /** - *

[Required] The type of export. Acceptable values are 'oas30' for OpenAPI 3.0.x and 'swagger' for Swagger/OpenAPI 2.0.

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

[Required] The name of the Stage that will be exported.

+ *

[Required] The string identifier of the associated RestApi.

*/ - stageName: string | undefined; + restApiId: string | undefined; } export namespace GetExportRequest { @@ -4426,21 +4502,11 @@ export namespace GetExportRequest { * */ export interface GatewayResponse { - /** - *

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

- */ - responseType?: GatewayResponseType | string; - /** *

A Boolean flag to indicate whether this GatewayResponse is the default gateway response (true) or not (false). A default gateway response is one generated by API Gateway without any customization by an API developer.

*/ defaultResponse?: boolean; - /** - *

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

- */ - responseParameters?: { [key: string]: string }; - /** *

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

*/ @@ -4450,6 +4516,16 @@ export interface GatewayResponse { *

The HTTP status code for this GatewayResponse.

*/ statusCode?: string; + + /** + *

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

+ */ + responseType?: GatewayResponseType | string; + + /** + *

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

+ */ + responseParameters?: { [key: string]: string }; } export namespace GatewayResponse { @@ -4462,20 +4538,20 @@ export namespace GatewayResponse { *

Gets a GatewayResponse of a specified response type on the given RestApi.

*/ export interface GetGatewayResponseRequest { - templateSkipList?: string[]; - template?: boolean; /** - *

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

+ *

[Required] The string identifier of the associated RestApi.

*/ - responseType: GatewayResponseType | string | undefined; + restApiId: string | undefined; + template?: boolean; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

*/ - restApiId: string | undefined; + responseType: GatewayResponseType | string | undefined; - name?: string; + templateSkipList?: string[]; title?: string; + name?: string; } export namespace GetGatewayResponseRequest { @@ -5037,23 +5113,23 @@ export namespace GatewayResponses { *

Gets the GatewayResponses collection on the given RestApi. If an API developer has not added any definitions for gateway responses, the result will be the API Gateway-generated default GatewayResponses collection for the supported response types.

*/ export interface GetGatewayResponsesRequest { + name?: string; /** *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500. The GatewayResponses collection does not support pagination and the limit does not apply here.

*/ limit?: number; /** - *

[Required] The string identifier of the associated RestApi.

+ *

The current pagination position in the paged result set. The GatewayResponse collection does not support pagination and the position does not apply here.

*/ - restApiId: string | undefined; + position?: string; - name?: string; - templateSkipList?: string[]; title?: string; + templateSkipList?: string[]; /** - *

The current pagination position in the paged result set. The GatewayResponse collection does not support pagination and the position does not apply here.

+ *

[Required] The string identifier of the associated RestApi.

*/ - position?: string; + restApiId: string | undefined; template?: boolean; } @@ -5068,25 +5144,24 @@ export namespace GetGatewayResponsesRequest { *

Represents a request to get the integration configuration.

*/ export interface GetIntegrationRequest { + template?: boolean; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] Specifies a get integration request's resource identifier

*/ - restApiId: string | undefined; + resourceId: string | undefined; - name?: string; - title?: string; /** *

[Required] Specifies a get integration request's HTTP method.

*/ httpMethod: string | undefined; + name?: string; + title?: string; templateSkipList?: string[]; /** - *

[Required] Specifies a get integration request's resource identifier

+ *

[Required] The string identifier of the associated RestApi.

*/ - resourceId: string | undefined; - - template?: boolean; + restApiId: string | undefined; } export namespace GetIntegrationRequest { @@ -5099,30 +5174,29 @@ export namespace GetIntegrationRequest { *

Represents a get integration response request.

*/ export interface GetIntegrationResponseRequest { + templateSkipList?: string[]; + title?: string; /** - *

[Required] Specifies a get integration response request's status code.

+ *

[Required] Specifies a get integration response request's HTTP method.

*/ - statusCode: string | undefined; + httpMethod: string | undefined; + name?: string; /** - *

[Required] Specifies a get integration response request's resource identifier.

+ *

[Required] Specifies a get integration response request's status code.

*/ - resourceId: string | undefined; + statusCode: string | undefined; - template?: boolean; - title?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - templateSkipList?: string[]; + template?: boolean; /** - *

[Required] Specifies a get integration response request's HTTP method.

+ *

[Required] Specifies a get integration response request's resource identifier.

*/ - httpMethod: string | undefined; - - name?: string; + resourceId: string | undefined; } export namespace GetIntegrationResponseRequest { @@ -5135,24 +5209,25 @@ export namespace GetIntegrationResponseRequest { *

Request to describe an existing Method resource.

*/ export interface GetMethodRequest { - template?: boolean; + name?: string; /** - *

[Required] The Resource identifier for the Method resource.

+ *

[Required] Specifies the method request's HTTP method type.

*/ - resourceId: string | undefined; + httpMethod: string | undefined; - title?: string; - templateSkipList?: string[]; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - name?: string; + templateSkipList?: string[]; + title?: string; /** - *

[Required] Specifies the method request's HTTP method type.

+ *

[Required] The Resource identifier for the Method resource.

*/ - httpMethod: string | undefined; + resourceId: string | undefined; + + template?: boolean; } export namespace GetMethodRequest { @@ -5165,30 +5240,29 @@ export namespace GetMethodRequest { *

Request to describe a MethodResponse resource.

*/ export interface GetMethodResponseRequest { + templateSkipList?: string[]; /** - *

[Required] The Resource identifier for the MethodResponse resource.

+ *

[Required] The HTTP verb of the Method resource.

*/ - resourceId: string | undefined; + httpMethod: string | undefined; + title?: string; + name?: string; /** *

[Required] The status code for the MethodResponse resource.

*/ statusCode: string | undefined; - title?: string; /** - *

[Required] The HTTP verb of the Method resource.

+ *

[Required] The Resource identifier for the MethodResponse resource.

*/ - httpMethod: string | undefined; + resourceId: string | undefined; - name?: string; - templateSkipList?: string[]; + template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - - template?: boolean; } export namespace GetMethodResponseRequest { @@ -5201,12 +5275,7 @@ export namespace GetMethodResponseRequest { *

Request to list information about a model in an existing RestApi resource.

*/ export interface GetModelRequest { - /** - *

[Required] The RestApi identifier under which the Model exists.

- */ - restApiId: string | undefined; - - templateSkipList?: string[]; + template?: boolean; /** *

A query parameter of a Boolean value to resolve (true) all external model references and returns a flattened model schema or not (false) The default is false.

*/ @@ -5217,8 +5286,13 @@ export interface GetModelRequest { */ modelName: string | undefined; - template?: boolean; + /** + *

[Required] The RestApi identifier under which the Model exists.

+ */ + restApiId: string | undefined; + title?: string; + templateSkipList?: string[]; name?: string; } @@ -5232,24 +5306,25 @@ export namespace GetModelRequest { *

Request to list existing Models defined for a RestApi resource.

*/ export interface GetModelsRequest { + template?: boolean; + /** + *

[Required] The string identifier of the associated RestApi.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ limit?: number; name?: string; - templateSkipList?: string[]; title?: string; /** *

The current pagination position in the paged result set.

*/ position?: string; - template?: boolean; - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; + templateSkipList?: string[]; } export namespace GetModelsRequest { @@ -5286,19 +5361,19 @@ export namespace Models { *

Request to generate a sample mapping template used to transform the payload.

*/ export interface GetModelTemplateRequest { + title?: string; + templateSkipList?: string[]; /** - *

[Required] The name of the model for which to generate a template.

+ *

[Required] The string identifier of the associated RestApi.

*/ - modelName: string | undefined; + restApiId: string | undefined; - template?: boolean; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The name of the model for which to generate a template.

*/ - restApiId: string | undefined; + modelName: string | undefined; - templateSkipList?: string[]; - title?: string; + template?: boolean; name?: string; } @@ -5331,19 +5406,20 @@ export namespace Template { *

Gets a RequestValidator of a given RestApi.

*/ export interface GetRequestValidatorRequest { - /** - *

[Required] The identifier of the RequestValidator to be retrieved.

- */ - requestValidatorId: string | undefined; - template?: boolean; name?: string; - title?: string; - templateSkipList?: string[]; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; + + templateSkipList?: string[]; + /** + *

[Required] The identifier of the RequestValidator to be retrieved.

+ */ + requestValidatorId: string | undefined; + + title?: string; } export namespace GetRequestValidatorRequest { @@ -5356,7 +5432,6 @@ export namespace GetRequestValidatorRequest { *

Gets the RequestValidators collection of a given RestApi.

*/ export interface GetRequestValidatorsRequest { - template?: boolean; title?: string; name?: string; /** @@ -5364,16 +5439,18 @@ export interface GetRequestValidatorsRequest { */ limit?: number; + template?: boolean; + /** + *

[Required] The string identifier of the associated RestApi.

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

The current pagination position in the paged result set.

*/ position?: string; templateSkipList?: string[]; - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; } export namespace GetRequestValidatorsRequest { @@ -5412,23 +5489,24 @@ export namespace RequestValidators { */ export interface GetResourceRequest { /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The identifier for the Resource resource.

*/ - restApiId: string | undefined; + resourceId: string | undefined; - name?: string; title?: string; + name?: string; /** *

A query parameter to retrieve the specified resources embedded in the returned Resource representation in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the "methods" string. For example, GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods.

*/ embed?: string[]; templateSkipList?: string[]; - template?: boolean; /** - *

[Required] The identifier for the Resource resource.

+ *

[Required] The string identifier of the associated RestApi.

*/ - resourceId: string | undefined; + restApiId: string | undefined; + + template?: boolean; } export namespace GetResourceRequest { @@ -5441,18 +5519,13 @@ export namespace GetResourceRequest { *

Request to list information about a collection of resources.

*/ export interface GetResourcesRequest { - template?: boolean; - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; - templateSkipList?: string[]; title?: string; + name?: string; /** - *

A query parameter used to retrieve the specified resources embedded in the returned Resources resource in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the "methods" string. For example, GET /restapis/{restapi_id}/resources?embed=methods.

+ *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ - embed?: string[]; + limit?: number; /** *

The current pagination position in the paged result set.

@@ -5460,11 +5533,16 @@ export interface GetResourcesRequest { position?: string; /** - *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

+ *

A query parameter used to retrieve the specified resources embedded in the returned Resources resource in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the "methods" string. For example, GET /restapis/{restapi_id}/resources?embed=methods.

*/ - limit?: number; + embed?: string[]; - name?: string; + /** + *

[Required] The string identifier of the associated RestApi.

+ */ + restApiId: string | undefined; + + template?: boolean; } export namespace GetResourcesRequest { @@ -5501,14 +5579,15 @@ export namespace Resources { *

The GET request to list an existing RestApi defined for your collection.

*/ export interface GetRestApiRequest { - name?: string; - templateSkipList?: string[]; - title?: string; template?: boolean; + name?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; + + templateSkipList?: string[]; + title?: string; } export namespace GetRestApiRequest { @@ -5521,19 +5600,19 @@ export namespace GetRestApiRequest { *

The GET request to list existing RestApis defined for your collection.

*/ export interface GetRestApisRequest { + /** + *

The current pagination position in the paged result set.

+ */ + position?: string; + name?: string; /** *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ limit?: number; - templateSkipList?: string[]; title?: string; - /** - *

The current pagination position in the paged result set.

- */ - position?: string; - + templateSkipList?: string[]; template?: boolean; } @@ -5603,9 +5682,9 @@ export namespace GetSdkRequest { */ export interface SdkResponse { /** - *

The content-disposition header value in the HTTP response.

+ *

The binary blob response to GetSdk, which contains the generated SDK.

*/ - contentDisposition?: string; + body?: Uint8Array; /** *

The content-type header value in the HTTP response.

@@ -5613,9 +5692,9 @@ export interface SdkResponse { contentType?: string; /** - *

The binary blob response to GetSdk, which contains the generated SDK.

+ *

The content-disposition header value in the HTTP response.

*/ - body?: Uint8Array; + contentDisposition?: string; } export namespace SdkResponse { @@ -5628,15 +5707,15 @@ export namespace SdkResponse { *

Get an SdkType instance.

*/ export interface GetSdkTypeRequest { - template?: boolean; - templateSkipList?: string[]; + name?: string; + title?: string; /** *

[Required] The identifier of the queried SdkType instance.

*/ id: string | undefined; - title?: string; - name?: string; + templateSkipList?: string[]; + template?: boolean; } export namespace GetSdkTypeRequest { @@ -5650,14 +5729,14 @@ export namespace GetSdkTypeRequest { */ export interface SdkConfigurationProperty { /** - *

The default value of an SdkType configuration property.

+ *

The name of a an SdkType configuration property.

*/ - defaultValue?: string; + name?: string; /** - *

The description of an SdkType configuration property.

+ *

The default value of an SdkType configuration property.

*/ - description?: string; + defaultValue?: string; /** *

A boolean flag of an SdkType configuration property to indicate if the associated SDK configuration property is required (true) or not (false).

@@ -5665,14 +5744,14 @@ export interface SdkConfigurationProperty { required?: boolean; /** - *

The name of a an SdkType configuration property.

+ *

The user-friendly name of an SdkType configuration property.

*/ - name?: string; + friendlyName?: string; /** - *

The user-friendly name of an SdkType configuration property.

+ *

The description of an SdkType configuration property.

*/ - friendlyName?: string; + description?: string; } export namespace SdkConfigurationProperty { @@ -5686,9 +5765,9 @@ export namespace SdkConfigurationProperty { */ export interface SdkType { /** - *

The user-friendly name of an SdkType instance.

+ *

A list of configuration properties of an SdkType.

*/ - friendlyName?: string; + configurationProperties?: SdkConfigurationProperty[]; /** *

The description of an SdkType.

@@ -5696,14 +5775,14 @@ export interface SdkType { description?: string; /** - *

A list of configuration properties of an SdkType.

+ *

The identifier of an SdkType instance.

*/ - configurationProperties?: SdkConfigurationProperty[]; + id?: string; /** - *

The identifier of an SdkType instance.

+ *

The user-friendly name of an SdkType instance.

*/ - id?: string; + friendlyName?: string; } export namespace SdkType { @@ -5716,20 +5795,20 @@ export namespace SdkType { *

Get the SdkTypes collection.

*/ export interface GetSdkTypesRequest { - template?: boolean; - name?: string; - /** - *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

- */ - limit?: number; - + templateSkipList?: string[]; /** *

The current pagination position in the paged result set.

*/ position?: string; - templateSkipList?: string[]; title?: string; + template?: boolean; + /** + *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

+ */ + limit?: number; + + name?: string; } export namespace GetSdkTypesRequest { @@ -5758,15 +5837,15 @@ export namespace SdkTypes { *

Requests API Gateway to get information about a Stage resource.

*/ export interface GetStageRequest { + templateSkipList?: string[]; + title?: string; + name?: string; /** *

[Required] The name of the Stage resource to get information about.

*/ stageName: string | undefined; template?: boolean; - templateSkipList?: string[]; - title?: string; - name?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ @@ -5783,20 +5862,19 @@ export namespace GetStageRequest { *

Requests API Gateway to get information about one or more Stage resources.

*/ export interface GetStagesRequest { - /** - *

The stages' deployment identifiers.

- */ - deploymentId?: string; - - templateSkipList?: string[]; + template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - template?: boolean; + templateSkipList?: string[]; title?: string; name?: string; + /** + *

The stages' deployment identifiers.

+ */ + deploymentId?: string; } export namespace GetStagesRequest { @@ -5826,8 +5904,6 @@ export namespace Stages { *

Gets the Tags collection for a given resource.

*/ export interface GetTagsRequest { - template?: boolean; - title?: string; templateSkipList?: string[]; /** *

(Not currently supported) The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

@@ -5835,15 +5911,17 @@ export interface GetTagsRequest { limit?: number; name?: string; + title?: string; /** - *

[Required] The ARN of a resource that can be tagged.

+ *

(Not currently supported) The current pagination position in the paged result set.

*/ - resourceArn: string | undefined; + position?: string; + template?: boolean; /** - *

(Not currently supported) The current pagination position in the paged result set.

+ *

[Required] The ARN of a resource that can be tagged.

*/ - position?: string; + resourceArn: string | undefined; } export namespace GetTagsRequest { @@ -5872,11 +5950,6 @@ export namespace Tags { *

The GET request to get the usage data of a usage plan in a specified time interval.

*/ export interface GetUsageRequest { - /** - *

The current pagination position in the paged result set.

- */ - position?: string; - template?: boolean; /** *

[Required] The ending date (e.g., 2016-12-31) of the usage data.

@@ -5888,23 +5961,28 @@ export interface GetUsageRequest { */ startDate: string | undefined; + title?: string; /** *

[Required] The Id of the usage plan associated with the usage data.

*/ usagePlanId: string | undefined; templateSkipList?: string[]; - title?: string; /** - *

The Id of the API key associated with the resultant usage data.

+ *

The current pagination position in the paged result set.

*/ - keyId?: string; + position?: string; /** *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ limit?: number; + /** + *

The Id of the API key associated with the resultant usage data.

+ */ + keyId?: string; + name?: string; } @@ -5924,9 +6002,9 @@ export namespace GetUsageRequest { */ export interface Usage { /** - *

The ending date of the usage data.

+ *

The starting date of the usage data.

*/ - endDate?: string; + startDate?: string; /** *

The plan Id associated with this usage data.

@@ -5934,9 +6012,9 @@ export interface Usage { usagePlanId?: string; /** - *

The starting date of the usage data.

+ *

The ending date of the usage data.

*/ - startDate?: string; + endDate?: string; /** *

The usage data, as daily logs of used and remaining quotas, over the specified time interval indexed over the API keys in a usage plan. For example, {..., "values" : { "{api_key}" : [ [0, 100], [10, 90], [100, 10]]}, where {api_key} stands for an API key value and the daily log entry is of the format [used quota, remaining quota].

@@ -5959,15 +6037,15 @@ export namespace Usage { *

The GET request to get a usage plan of a given plan identifier.

*/ export interface GetUsagePlanRequest { + templateSkipList?: string[]; /** *

[Required] The identifier of the UsagePlan resource to be retrieved.

*/ usagePlanId: string | undefined; template?: boolean; - name?: string; title?: string; - templateSkipList?: string[]; + name?: string; } export namespace GetUsagePlanRequest { @@ -5980,19 +6058,20 @@ export namespace GetUsagePlanRequest { *

The GET request to get a usage plan key of a given key identifier.

*/ export interface GetUsagePlanKeyRequest { - template?: boolean; - name?: string; /** *

[Required] The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer.

*/ keyId: string | undefined; templateSkipList?: string[]; - title?: string; + name?: string; /** *

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

*/ usagePlanId: string | undefined; + + template?: boolean; + title?: string; } export namespace GetUsagePlanKeyRequest { @@ -6005,18 +6084,19 @@ export namespace GetUsagePlanKeyRequest { *

The GET request to get all the usage plan keys representing the API keys added to a specified usage plan.

*/ export interface GetUsagePlanKeysRequest { - name?: string; + title?: string; + template?: boolean; /** - *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

+ *

A query parameter specifying the name of the to-be-returned usage plan keys.

*/ - limit?: number; + nameQuery?: string; + name?: string; /** - *

A query parameter specifying the name of the to-be-returned usage plan keys.

+ *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ - nameQuery?: string; + limit?: number; - title?: string; /** *

The current pagination position in the paged result set.

*/ @@ -6027,8 +6107,6 @@ export interface GetUsagePlanKeysRequest { *

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

*/ usagePlanId: string | undefined; - - template?: boolean; } export namespace GetUsagePlanKeysRequest { @@ -6065,24 +6143,25 @@ export namespace UsagePlanKeys { *

The GET request to get all the usage plans of the caller's account.

*/ export interface GetUsagePlansRequest { - template?: boolean; - templateSkipList?: string[]; - title?: string; /** - *

The current pagination position in the paged result set.

+ *

The identifier of the API key associated with the usage plans.

*/ - position?: string; + keyId?: string; /** - *

The identifier of the API key associated with the usage plans.

+ *

The current pagination position in the paged result set.

*/ - keyId?: string; + position?: string; name?: string; /** *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ limit?: number; + + title?: string; + templateSkipList?: string[]; + template?: boolean; } export namespace GetUsagePlansRequest { @@ -6119,14 +6198,14 @@ export namespace UsagePlans { *

Gets a specified VPC link under the caller's account in a region.

*/ export interface GetVpcLinkRequest { + name?: string; + templateSkipList?: string[]; template?: boolean; /** *

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

*/ vpcLinkId: string | undefined; - name?: string; - templateSkipList?: string[]; title?: string; } @@ -6140,19 +6219,20 @@ export namespace GetVpcLinkRequest { *

Gets the VpcLinks collection under the caller's account in a selected region.

*/ export interface GetVpcLinksRequest { - template?: boolean; templateSkipList?: string[]; - title?: string; /** *

The current pagination position in the paged result set.

*/ position?: string; - name?: string; /** *

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

*/ limit?: number; + + name?: string; + title?: string; + template?: boolean; } export namespace GetVpcLinksRequest { @@ -6192,20 +6272,20 @@ export namespace VpcLinks { *

The POST request to import API keys from an external source, such as a CSV-formatted file.

*/ export interface ImportApiKeysRequest { - name?: string; /** - *

A query parameter to specify the input format to imported API keys. Currently, only the csv format is supported.

+ *

A query parameter to indicate whether to rollback ApiKey importation (true) or not (false) when error is encountered.

*/ - format: ApiKeysFormat | string | undefined; + failOnWarnings?: boolean; template?: boolean; - templateSkipList?: string[]; /** - *

A query parameter to indicate whether to rollback ApiKey importation (true) or not (false) when error is encountered.

+ *

A query parameter to specify the input format to imported API keys. Currently, only the csv format is supported.

*/ - failOnWarnings?: boolean; + format: ApiKeysFormat | string | undefined; + templateSkipList?: string[]; title?: string; + name?: string; } export namespace ImportApiKeysRequest { @@ -6248,18 +6328,18 @@ export enum PutMode { *

Import documentation parts from an external (e.g., OpenAPI) definition file.

*/ export interface ImportDocumentationPartsRequest { - name?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - title?: string; /** *

A query parameter to specify whether to rollback the documentation importation (true) or not (false) when a warning is encountered. The default value is false.

*/ failOnWarnings?: boolean; + name?: string; + title?: string; templateSkipList?: string[]; template?: boolean; /** @@ -6278,13 +6358,6 @@ export namespace ImportDocumentationPartsRequest { *

A POST request to import an API to API Gateway using an input of an API definition file.

*/ export interface ImportRestApiRequest { - /** - *

A query parameter to indicate whether to rollback the API creation (true) or not (false) - * when a warning is encountered. The default value is false.

- */ - failOnWarnings?: boolean; - - template?: boolean; /** *

A key-value map of context-specific query string parameters specifying the behavior of different API importing operations. The following shows operation-specific parameters and their supported values.

*

To exclude DocumentationParts from the import, set parameters as ignore=documentation.

@@ -6297,9 +6370,16 @@ export interface ImportRestApiRequest { */ parameters?: { [key: string]: string }; + title?: string; + template?: boolean; + /** + *

A query parameter to indicate whether to rollback the API creation (true) or not (false) + * when a warning is encountered. The default value is false.

+ */ + failOnWarnings?: boolean; + name?: string; templateSkipList?: string[]; - title?: string; } export namespace ImportRestApiRequest { @@ -6312,24 +6392,19 @@ export namespace ImportRestApiRequest { *

Creates a customization of a GatewayResponse of a specified response type and status code on the given RestApi.

*/ export interface PutGatewayResponseRequest { - /** - *

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

- */ - responseType: GatewayResponseType | string | undefined; - + name?: string; + title?: string; templateSkipList?: string[]; - template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - name?: string; - title?: string; + template?: boolean; /** - *

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

+ *

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

*/ - responseTemplates?: { [key: string]: string }; + responseType: GatewayResponseType | string | undefined; /** * The HTTP status code of the GatewayResponse. @@ -6340,6 +6415,11 @@ export interface PutGatewayResponseRequest { *

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

*/ responseParameters?: { [key: string]: string }; + + /** + *

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

+ */ + responseTemplates?: { [key: string]: string }; } export namespace PutGatewayResponseRequest { @@ -6353,48 +6433,33 @@ export namespace PutGatewayResponseRequest { */ export interface PutIntegrationRequest { /** - *

[Required] Specifies a put integration request's resource ID.

+ *

[Required] Specifies a put integration request's HTTP method.

*/ - resourceId: string | undefined; + httpMethod: string | undefined; - template?: boolean; - name?: string; + templateSkipList?: string[]; + title?: string; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; + template?: boolean; /** - *

[Required] Specifies a put integration request's HTTP method.

+ *

[Required] Specifies a put integration request's resource ID.

*/ - httpMethod: string | undefined; + resourceId: string | undefined; - templateSkipList?: string[]; - title?: string; + name?: string; /** - *

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

+ *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

+ *
    + *
  • For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.

    + *
  • + *
  • For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

    + *
*/ - timeoutInMillis?: number; - - /** - *

Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

- *
    - *
  • CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding binary blob.

  • - *
  • CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.

  • - *
- *

If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehavior is configured to support payload pass-through.

- */ - contentHandling?: ContentHandlingStrategy | string; - - /** - *

A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.

- */ - requestParameters?: { [key: string]: string }; - - /** - *

Specifies whether credentials are required for a put integration.

- */ - credentials?: string; + uri?: string; /** *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. @@ -6418,40 +6483,55 @@ export interface PutIntegrationRequest { connectionId?: string; /** - *

A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters, these parameters must also be specified for Method requestParameters.

+ *

A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.

*/ - cacheKeyParameters?: string[]; + requestParameters?: { [key: string]: string }; /** - *

[Required] Specifies a put integration input's type.

+ *

Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.

*/ - type: IntegrationType | string | undefined; + integrationHttpMethod?: string; - tlsConfig?: TlsConfig; /** - *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

- *
    - *
  • For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.

    - *
  • - *
  • For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

    - *
+ *

Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the cacheNamespace. You can specify the same cacheNamespace across resources to return the same cached data for requests to different resources.

*/ - uri?: string; + cacheNamespace?: string; /** - *

Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.

+ *

A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters, these parameters must also be specified for Method requestParameters.

*/ - integrationHttpMethod?: string; + cacheKeyParameters?: string[]; /** - *

Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the cacheNamespace. You can specify the same cacheNamespace across resources to return the same cached data for requests to different resources.

+ *

Specifies whether credentials are required for a put integration.

*/ - cacheNamespace?: string; + credentials?: string; /** *

The type of the network connection to the integration endpoint. The valid value is INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET.

*/ connectionType?: ConnectionType | string; + + /** + *

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

+ */ + timeoutInMillis?: number; + + tlsConfig?: TlsConfig; + /** + *

Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

+ *
    + *
  • CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding binary blob.

  • + *
  • CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.

  • + *
+ *

If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehavior is configured to support payload pass-through.

+ */ + contentHandling?: ContentHandlingStrategy | string; + + /** + *

[Required] Specifies a put integration input's type.

+ */ + type: IntegrationType | string | undefined; } export namespace PutIntegrationRequest { @@ -6464,41 +6544,30 @@ export namespace PutIntegrationRequest { *

Represents a put integration response request.

*/ export interface PutIntegrationResponseRequest { + templateSkipList?: string[]; /** *

[Required] Specifies the status code that is used to map the integration response to an existing MethodResponse.

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

[Required] Specifies a put integration response request's resource identifier.

- */ - resourceId: string | undefined; - - template?: boolean; - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; - - templateSkipList?: string[]; + name?: string; title?: string; /** *

[Required] Specifies a put integration response request's HTTP method.

*/ httpMethod: string | undefined; - name?: string; /** - *

A key-value map specifying response parameters that are passed to the method response from the back end. - * The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name must be a valid and unique response header name and JSON-expression a valid JSON expression without the $ prefix.

+ *

[Required] The string identifier of the associated RestApi.

*/ - responseParameters?: { [key: string]: string }; + restApiId: string | undefined; /** - *

Specifies a put integration response's templates.

+ *

[Required] Specifies a put integration response request's resource identifier.

*/ - responseTemplates?: { [key: string]: string }; + resourceId: string | undefined; + template?: boolean; /** *

Specifies the selection pattern of a put integration response.

*/ @@ -6513,6 +6582,17 @@ export interface PutIntegrationResponseRequest { *

If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.

*/ contentHandling?: ContentHandlingStrategy | string; + + /** + *

A key-value map specifying response parameters that are passed to the method response from the back end. + * The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name must be a valid and unique response header name and JSON-expression a valid JSON expression without the $ prefix.

+ */ + responseParameters?: { [key: string]: string }; + + /** + *

Specifies a put integration response's templates.

+ */ + responseTemplates?: { [key: string]: string }; } export namespace PutIntegrationResponseRequest { @@ -6526,28 +6606,28 @@ export namespace PutIntegrationResponseRequest { */ export interface PutMethodRequest { /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The Resource identifier for the new Method resource.

*/ - restApiId: string | undefined; + resourceId: string | undefined; - name?: string; /** - *

[Required] The Resource identifier for the new Method resource.

+ *

[Required] The string identifier of the associated RestApi.

*/ - resourceId: string | undefined; + restApiId: string | undefined; template?: boolean; + templateSkipList?: string[]; + title?: string; + name?: string; /** *

[Required] Specifies the method request's HTTP method type.

*/ httpMethod: string | undefined; - title?: string; - templateSkipList?: string[]; /** - *

Specifies the Model resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a Model name as the value.

+ *

A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key defines a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or body-mapping templates.

*/ - requestModels?: { [key: string]: string }; + requestParameters?: { [key: string]: boolean }; /** *

A human-friendly operation identifier for the method. For example, you can assign the operationName of ListPets for the GET /pets method in the PetStore example.

@@ -6560,9 +6640,14 @@ export interface PutMethodRequest { authorizationScopes?: string[]; /** - *

[Required] The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

+ *

Specifies the Model resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a Model name as the value.

*/ - authorizationType: string | undefined; + requestModels?: { [key: string]: string }; + + /** + *

The identifier of a RequestValidator for validating the method request.

+ */ + requestValidatorId?: string; /** *

Specifies whether the method required a valid ApiKey.

@@ -6575,14 +6660,9 @@ export interface PutMethodRequest { authorizerId?: string; /** - *

The identifier of a RequestValidator for validating the method request.

- */ - requestValidatorId?: string; - - /** - *

A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key defines a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or body-mapping templates.

+ *

[Required] The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

*/ - requestParameters?: { [key: string]: boolean }; + authorizationType: string | undefined; } export namespace PutMethodRequest { @@ -6595,39 +6675,39 @@ export namespace PutMethodRequest { *

Request to add a MethodResponse to an existing Method resource.

*/ export interface PutMethodResponseRequest { - name?: string; - /** - *

[Required] The string identifier of the associated RestApi.

- */ - restApiId: string | undefined; - + template?: boolean; /** *

[Required] The Resource identifier for the Method resource.

*/ resourceId: string | undefined; - template?: boolean; /** - *

[Required] The method response's status code.

+ *

[Required] The string identifier of the associated RestApi.

*/ - statusCode: string | undefined; + restApiId: string | undefined; - title?: string; templateSkipList?: string[]; /** *

[Required] The HTTP verb of the Method resource.

*/ httpMethod: string | undefined; + title?: string; + name?: string; /** - *

A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header name and the associated value is a Boolean flag indicating whether the method response parameter is required or not. The method response header names must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The response parameter names defined here are available in the integration response to be mapped from an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

+ *

[Required] The method response's status code.

*/ - responseParameters?: { [key: string]: boolean }; + statusCode: string | undefined; /** *

Specifies the Model resources used for the response's content type. Response models are represented as a key/value map, with a content type as the key and a Model name as the value.

*/ responseModels?: { [key: string]: string }; + + /** + *

A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header name and the associated value is a Boolean flag indicating whether the method response parameter is required or not. The method response header names must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The response parameter names defined here are available in the integration response to be mapped from an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

+ */ + responseParameters?: { [key: string]: boolean }; } export namespace PutMethodResponseRequest { @@ -6640,32 +6720,31 @@ export namespace PutMethodResponseRequest { *

A PUT request to update an existing API, with external API definitions specified as the request body.

*/ export interface PutRestApiRequest { - title?: string; + name?: string; /** - *

Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ignore=documentation as a parameters value, as in the AWS CLI command of aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'.

+ *

A query parameter to indicate whether to rollback the API update (true) or not (false) + * when a warning is encountered. The default value is false.

*/ - parameters?: { [key: string]: string }; + failOnWarnings?: boolean; + title?: string; templateSkipList?: string[]; - template?: boolean; /** - *

The mode query parameter to specify the update mode. Valid values are "merge" and "overwrite". By default, - * the update mode is "merge".

+ *

[Required] The string identifier of the associated RestApi.

*/ - mode?: PutMode | string; + restApiId: string | undefined; /** - *

A query parameter to indicate whether to rollback the API update (true) or not (false) - * when a warning is encountered. The default value is false.

+ *

The mode query parameter to specify the update mode. Valid values are "merge" and "overwrite". By default, + * the update mode is "merge".

*/ - failOnWarnings?: boolean; + mode?: PutMode | string; + template?: boolean; /** - *

[Required] The string identifier of the associated RestApi.

+ *

Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ignore=documentation as a parameters value, as in the AWS CLI command of aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'.

*/ - restApiId: string | undefined; - - name?: string; + parameters?: { [key: string]: string }; } export namespace PutRestApiRequest { @@ -6678,15 +6757,15 @@ export namespace PutRestApiRequest { *

Adds or updates a tag on a given resource.

*/ export interface TagResourceRequest { - template?: boolean; - title?: string; + name?: string; templateSkipList?: string[]; + title?: string; + template?: boolean; /** *

[Required] The ARN of a resource that can be tagged.

*/ resourceArn: string | undefined; - name?: string; /** *

[Required] The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

*/ @@ -6704,14 +6783,14 @@ export namespace TagResourceRequest { */ export interface TestInvokeAuthorizerRequest { /** - *

[Optional] A key-value map of additional context variables.

+ *

A key-value map of stage variables to simulate an invocation on a deployed Stage.

*/ - additionalContext?: { [key: string]: string }; + stageVariables?: { [key: string]: string }; /** - *

[Optional] The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

+ *

[Optional] The simulated request body of an incoming invocation request.

*/ - pathWithQueryString?: string; + body?: string; /** *

[Required] A key-value map of headers to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, should be specified.

@@ -6719,14 +6798,14 @@ export interface TestInvokeAuthorizerRequest { headers?: { [key: string]: string }; /** - *

[Optional] The simulated request body of an incoming invocation request.

+ *

[Optional] The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

*/ - body?: string; + pathWithQueryString?: string; /** - *

A key-value map of stage variables to simulate an invocation on a deployed Stage.

+ *

[Optional] A key-value map of additional context variables.

*/ - stageVariables?: { [key: string]: string }; + additionalContext?: { [key: string]: string }; /** *

[Required] The string identifier of the associated RestApi.

@@ -6734,14 +6813,14 @@ export interface TestInvokeAuthorizerRequest { restApiId: string | undefined; /** - *

[Required] Specifies a test invoke authorizer request's Authorizer ID.

+ *

[Optional] The headers as a map from string to list of values to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, may be specified.

*/ - authorizerId: string | undefined; + multiValueHeaders?: { [key: string]: string[] }; /** - *

[Optional] The headers as a map from string to list of values to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, may be specified.

+ *

[Required] Specifies a test invoke authorizer request's Authorizer ID.

*/ - multiValueHeaders?: { [key: string]: string[] }; + authorizerId: string | undefined; } export namespace TestInvokeAuthorizerRequest { @@ -6755,15 +6834,19 @@ export namespace TestInvokeAuthorizerRequest { */ export interface TestInvokeAuthorizerResponse { /** - *

The API Gateway execution log for the test authorizer request.

+ *

The principal identity returned by the Authorizer

*/ - log?: string; + principalId?: string; - authorization?: { [key: string]: string[] }; /** - *

The principal identity returned by the Authorizer

+ *

The execution latency of the test authorizer request.

*/ - principalId?: string; + latency?: number; + + /** + *

The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API.

+ */ + claims?: { [key: string]: string }; /** *

The JSON policy document returned by the Authorizer

@@ -6775,15 +6858,11 @@ export interface TestInvokeAuthorizerResponse { */ clientStatus?: number; + authorization?: { [key: string]: string[] }; /** - *

The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API.

- */ - claims?: { [key: string]: string }; - - /** - *

The execution latency of the test authorizer request.

+ *

The API Gateway execution log for the test authorizer request.

*/ - latency?: number; + log?: string; } export namespace TestInvokeAuthorizerResponse { @@ -6797,9 +6876,14 @@ export namespace TestInvokeAuthorizerResponse { */ export interface TestInvokeMethodRequest { /** - *

[Required] The string identifier of the associated RestApi.

+ *

A key-value map of headers to simulate an incoming invocation request.

*/ - restApiId: string | undefined; + headers?: { [key: string]: string }; + + /** + *

The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

+ */ + pathWithQueryString?: string; /** *

[Required] Specifies a test invoke method request's resource ID.

@@ -6807,24 +6891,24 @@ export interface TestInvokeMethodRequest { resourceId: string | undefined; /** - *

The headers as a map from string to list of values to simulate an incoming invocation request.

+ *

A ClientCertificate identifier to use in the test invocation. API Gateway will use the certificate when making the HTTPS request to the defined back-end endpoint.

*/ - multiValueHeaders?: { [key: string]: string[] }; + clientCertificateId?: string; /** - *

A key-value map of stage variables to simulate an invocation on a deployed Stage.

+ *

[Required] The string identifier of the associated RestApi.

*/ - stageVariables?: { [key: string]: string }; + restApiId: string | undefined; /** - *

The simulated request body of an incoming invocation request.

+ *

The headers as a map from string to list of values to simulate an incoming invocation request.

*/ - body?: string; + multiValueHeaders?: { [key: string]: string[] }; /** - *

A ClientCertificate identifier to use in the test invocation. API Gateway will use the certificate when making the HTTPS request to the defined back-end endpoint.

+ *

A key-value map of stage variables to simulate an invocation on a deployed Stage.

*/ - clientCertificateId?: string; + stageVariables?: { [key: string]: string }; /** *

[Required] Specifies a test invoke method request's HTTP method.

@@ -6832,14 +6916,9 @@ export interface TestInvokeMethodRequest { httpMethod: string | undefined; /** - *

The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

- */ - pathWithQueryString?: string; - - /** - *

A key-value map of headers to simulate an incoming invocation request.

+ *

The simulated request body of an incoming invocation request.

*/ - headers?: { [key: string]: string }; + body?: string; } export namespace TestInvokeMethodRequest { @@ -6856,14 +6935,9 @@ export namespace TestInvokeMethodRequest { */ export interface TestInvokeMethodResponse { /** - *

The headers of the HTTP response.

- */ - headers?: { [key: string]: string }; - - /** - *

The API Gateway execution log for the test invoke request.

+ *

The execution latency of the test invoke request.

*/ - log?: string; + latency?: number; /** *

The HTTP status code.

@@ -6881,9 +6955,14 @@ export interface TestInvokeMethodResponse { multiValueHeaders?: { [key: string]: string[] }; /** - *

The execution latency of the test invoke request.

+ *

The API Gateway execution log for the test invoke request.

*/ - latency?: number; + log?: string; + + /** + *

The headers of the HTTP response.

+ */ + headers?: { [key: string]: string }; } export namespace TestInvokeMethodResponse { @@ -6892,23 +6971,23 @@ export namespace TestInvokeMethodResponse { }); } -/** - *

Removes a tag from a given resource.

- */ -export interface UntagResourceRequest { - template?: boolean; - templateSkipList?: string[]; - title?: string; - /** - *

[Required] The Tag keys to delete.

- */ - tagKeys: string[] | undefined; - +/** + *

Removes a tag from a given resource.

+ */ +export interface UntagResourceRequest { + title?: string; + templateSkipList?: string[]; name?: string; /** *

[Required] The ARN of a resource that can be tagged.

*/ resourceArn: string | undefined; + + template?: boolean; + /** + *

[Required] The Tag keys to delete.

+ */ + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -6924,25 +7003,25 @@ export type Op = "add" | "copy" | "move" | "remove" | "replace" | "test"; * http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how each operation is used. */ export interface PatchOperation { - /** - *

The new target value of the update operation. It is applicable for the add or replace operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'. In a Windows shell, see Using JSON for Parameters.

- */ - value?: string; - /** *

An update operation to be performed with this PATCH request. The valid value can be add, remove, replace or copy. Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message.

*/ op?: Op | string; /** - *

The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".

+ *

The new target value of the update operation. It is applicable for the add or replace operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'. In a Windows shell, see Using JSON for Parameters.

*/ - from?: string; + value?: string; /** *

The op operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {"name":"value"}, the path for this property is /name. If the name property value is a JSON object (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name property will be /name/child~1name. Any slash ("/") character appearing in path names must be escaped with "~1", as shown in the example above. Each op operation can have only one path associated with it.

*/ path?: string; + + /** + *

The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".

+ */ + from?: string; } export namespace PatchOperation { @@ -6955,9 +7034,9 @@ export namespace PatchOperation { *

Requests API Gateway to change information about the current Account resource.

*/ export interface UpdateAccountRequest { + name?: string; templateSkipList?: string[]; title?: string; - name?: string; template?: boolean; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

@@ -6975,8 +7054,6 @@ export namespace UpdateAccountRequest { *

A request to change information about an ApiKey resource.

*/ export interface UpdateApiKeyRequest { - title?: string; - name?: string; /** *

[Required] The identifier of the ApiKey resource to be updated.

*/ @@ -6984,6 +7061,8 @@ export interface UpdateApiKeyRequest { template?: boolean; templateSkipList?: string[]; + title?: string; + name?: string; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7000,19 +7079,19 @@ export namespace UpdateApiKeyRequest { *

Request to update an existing Authorizer resource.

*/ export interface UpdateAuthorizerRequest { + template?: boolean; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The identifier of the Authorizer resource.

*/ - restApiId: string | undefined; + authorizerId: string | undefined; - template?: boolean; templateSkipList?: string[]; - name?: string; /** - *

[Required] The identifier of the Authorizer resource.

+ *

[Required] The string identifier of the associated RestApi.

*/ - authorizerId: string | undefined; + restApiId: string | undefined; + name?: string; title?: string; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

@@ -7030,21 +7109,21 @@ export namespace UpdateAuthorizerRequest { *

A request to change information about the BasePathMapping resource.

*/ export interface UpdateBasePathMappingRequest { + name?: string; + templateSkipList?: string[]; /** *

[Required] The base path of the BasePathMapping resource to change.

*

To specify an empty base path, set this parameter to '(none)'.

*/ basePath: string | undefined; - templateSkipList?: string[]; - title?: string; /** *

[Required] The domain name of the BasePathMapping resource to change.

*/ domainName: string | undefined; template?: boolean; - name?: string; + title?: string; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7061,15 +7140,15 @@ export namespace UpdateBasePathMappingRequest { *

A request to change information about an ClientCertificate resource.

*/ export interface UpdateClientCertificateRequest { + name?: string; templateSkipList?: string[]; + template?: boolean; /** *

[Required] The identifier of the ClientCertificate resource to be updated.

*/ clientCertificateId: string | undefined; - name?: string; title?: string; - template?: boolean; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7086,20 +7165,20 @@ export namespace UpdateClientCertificateRequest { *

Requests API Gateway to change information about a Deployment resource.

*/ export interface UpdateDeploymentRequest { + template?: boolean; + title?: string; + name?: string; + templateSkipList?: string[]; /** - *

The replacement identifier for the Deployment resource to change information about.

+ *

[Required] The string identifier of the associated RestApi.

*/ - deploymentId: string | undefined; + restApiId: string | undefined; /** - *

[Required] The string identifier of the associated RestApi.

+ *

The replacement identifier for the Deployment resource to change information about.

*/ - restApiId: string | undefined; + deploymentId: string | undefined; - name?: string; - title?: string; - templateSkipList?: string[]; - template?: boolean; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7116,20 +7195,20 @@ export namespace UpdateDeploymentRequest { *

Updates an existing documentation part of a given API.

*/ export interface UpdateDocumentationPartRequest { - templateSkipList?: string[]; /** - *

[Required] The identifier of the to-be-updated documentation part.

+ *

[Required] The string identifier of the associated RestApi.

*/ - documentationPartId: string | undefined; + restApiId: string | undefined; - title?: string; name?: string; template?: boolean; + templateSkipList?: string[]; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The identifier of the to-be-updated documentation part.

*/ - restApiId: string | undefined; + documentationPartId: string | undefined; + title?: string; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7146,9 +7225,8 @@ export namespace UpdateDocumentationPartRequest { *

Updates an existing documentation version of an API.

*/ export interface UpdateDocumentationVersionRequest { + name?: string; templateSkipList?: string[]; - title?: string; - template?: boolean; /** *

[Required] The version identifier of the to-be-updated documentation version.

*/ @@ -7159,7 +7237,8 @@ export interface UpdateDocumentationVersionRequest { */ restApiId: string | undefined; - name?: string; + template?: boolean; + title?: string; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7176,15 +7255,15 @@ export namespace UpdateDocumentationVersionRequest { *

A request to change information about the DomainName resource.

*/ export interface UpdateDomainNameRequest { + template?: boolean; name?: string; title?: string; - templateSkipList?: string[]; - template?: boolean; /** *

[Required] The name of the DomainName resource to be changed.

*/ domainName: string | undefined; + templateSkipList?: string[]; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7201,20 +7280,20 @@ export namespace UpdateDomainNameRequest { *

Updates a GatewayResponse of a specified response type on the given RestApi.

*/ export interface UpdateGatewayResponseRequest { - templateSkipList?: string[]; - title?: string; /** - *

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

+ *

[Required] The string identifier of the associated RestApi.

*/ - responseType: GatewayResponseType | string | undefined; + restApiId: string | undefined; name?: string; - template?: boolean; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

*/ - restApiId: string | undefined; + responseType: GatewayResponseType | string | undefined; + template?: boolean; + title?: string; + templateSkipList?: string[]; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7232,24 +7311,24 @@ export namespace UpdateGatewayResponseRequest { */ export interface UpdateIntegrationRequest { /** - *

[Required] Represents an update integration request's HTTP method.

+ *

[Required] The string identifier of the associated RestApi.

*/ - httpMethod: string | undefined; + restApiId: string | undefined; name?: string; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] Represents an update integration request's HTTP method.

*/ - restApiId: string | undefined; + httpMethod: string | undefined; title?: string; templateSkipList?: string[]; - template?: boolean; /** *

[Required] Represents an update integration request's resource identifier.

*/ resourceId: string | undefined; + template?: boolean; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7266,30 +7345,30 @@ export namespace UpdateIntegrationRequest { *

Represents an update integration response request.

*/ export interface UpdateIntegrationResponseRequest { - template?: boolean; - /** - *

[Required] Specifies an update integration response request's status code.

- */ - statusCode: string | undefined; - + templateSkipList?: string[]; /** - *

[Required] Specifies an update integration response request's HTTP method.

+ *

[Required] The string identifier of the associated RestApi.

*/ - httpMethod: string | undefined; + restApiId: string | undefined; + template?: boolean; /** *

[Required] Specifies an update integration response request's resource identifier.

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

[Required] The string identifier of the associated RestApi.

+ *

[Required] Specifies an update integration response request's status code.

*/ - restApiId: string | undefined; + statusCode: string | undefined; - name?: string; title?: string; - templateSkipList?: string[]; + name?: string; + /** + *

[Required] Specifies an update integration response request's HTTP method.

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

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7306,25 +7385,25 @@ export namespace UpdateIntegrationResponseRequest { *

Request to update an existing Method resource.

*/ export interface UpdateMethodRequest { - templateSkipList?: string[]; + name?: string; + title?: string; /** *

[Required] The HTTP verb of the Method resource.

*/ httpMethod: string | undefined; - title?: string; - name?: string; + template?: boolean; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The Resource identifier for the Method resource.

*/ - restApiId: string | undefined; + resourceId: string | undefined; + templateSkipList?: string[]; /** - *

[Required] The Resource identifier for the Method resource.

+ *

[Required] The string identifier of the associated RestApi.

*/ - resourceId: string | undefined; + restApiId: string | undefined; - template?: boolean; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7341,14 +7420,6 @@ export namespace UpdateMethodRequest { *

A request to update an existing MethodResponse resource.

*/ export interface UpdateMethodResponseRequest { - template?: boolean; - title?: string; - templateSkipList?: string[]; - /** - *

[Required] The Resource identifier for the MethodResponse resource.

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

[Required] The HTTP verb of the Method resource.

*/ @@ -7360,11 +7431,19 @@ export interface UpdateMethodResponseRequest { */ statusCode: string | undefined; + /** + *

[Required] The Resource identifier for the MethodResponse resource.

+ */ + resourceId: string | undefined; + + template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; + title?: string; + templateSkipList?: string[]; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7381,20 +7460,20 @@ export namespace UpdateMethodResponseRequest { *

Request to update an existing model in an existing RestApi resource.

*/ export interface UpdateModelRequest { + templateSkipList?: string[]; + title?: string; + name?: string; /** *

[Required] The name of the model to update.

*/ modelName: string | undefined; - title?: string; - name?: string; - templateSkipList?: string[]; + template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; - template?: boolean; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7412,19 +7491,19 @@ export namespace UpdateModelRequest { */ export interface UpdateRequestValidatorRequest { name?: string; - templateSkipList?: string[]; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The identifier of RequestValidator to be updated.

*/ - restApiId: string | undefined; + requestValidatorId: string | undefined; + templateSkipList?: string[]; title?: string; + template?: boolean; /** - *

[Required] The identifier of RequestValidator to be updated.

+ *

[Required] The string identifier of the associated RestApi.

*/ - requestValidatorId: string | undefined; + restApiId: string | undefined; - template?: boolean; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7441,20 +7520,20 @@ export namespace UpdateRequestValidatorRequest { *

Request to change information about a Resource resource.

*/ export interface UpdateResourceRequest { - templateSkipList?: string[]; - template?: boolean; - title?: string; + name?: string; /** - *

[Required] The identifier of the Resource resource.

+ *

[Required] The string identifier of the associated RestApi.

*/ - resourceId: string | undefined; + restApiId: string | undefined; + title?: string; + templateSkipList?: string[]; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The identifier of the Resource resource.

*/ - restApiId: string | undefined; + resourceId: string | undefined; - name?: string; + template?: boolean; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7471,15 +7550,15 @@ export namespace UpdateResourceRequest { *

Request to update an existing RestApi resource in your collection.

*/ export interface UpdateRestApiRequest { - title?: string; - templateSkipList?: string[]; - name?: string; - template?: boolean; /** *

[Required] The string identifier of the associated RestApi.

*/ restApiId: string | undefined; + name?: string; + template?: boolean; + title?: string; + templateSkipList?: string[]; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7496,20 +7575,20 @@ export namespace UpdateRestApiRequest { *

Requests API Gateway to change information about a Stage resource.

*/ export interface UpdateStageRequest { - title?: string; - templateSkipList?: string[]; name?: string; /** - *

[Required] The name of the Stage resource to change information about.

+ *

[Required] The string identifier of the associated RestApi.

*/ - stageName: string | undefined; + restApiId: string | undefined; - template?: boolean; /** - *

[Required] The string identifier of the associated RestApi.

+ *

[Required] The name of the Stage resource to change information about.

*/ - restApiId: string | undefined; + stageName: string | undefined; + template?: boolean; + templateSkipList?: string[]; + title?: string; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7526,20 +7605,20 @@ export namespace UpdateStageRequest { *

The PATCH request to grant a temporary extension to the remaining quota of a usage plan associated with a specified API key.

*/ export interface UpdateUsageRequest { - /** - *

[Required] The Id of the usage plan associated with the usage data.

- */ - usagePlanId: string | undefined; - - templateSkipList?: string[]; title?: string; + templateSkipList?: string[]; + name?: string; /** *

[Required] The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota.

*/ keyId: string | undefined; - name?: string; template?: boolean; + /** + *

[Required] The Id of the usage plan associated with the usage data.

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

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7556,15 +7635,15 @@ export namespace UpdateUsageRequest { *

The PATCH request to update a usage plan of a given plan Id.

*/ export interface UpdateUsagePlanRequest { + name?: string; + title?: string; + templateSkipList?: string[]; + template?: boolean; /** *

[Required] The Id of the to-be-updated usage plan.

*/ usagePlanId: string | undefined; - title?: string; - templateSkipList?: string[]; - name?: string; - template?: boolean; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ @@ -7581,15 +7660,15 @@ export namespace UpdateUsagePlanRequest { *

Updates an existing VpcLink of a specified identifier.

*/ export interface UpdateVpcLinkRequest { + templateSkipList?: string[]; template?: boolean; /** *

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

*/ vpcLinkId: string | undefined; - title?: string; name?: string; - templateSkipList?: string[]; + title?: string; /** *

A list of update operations to be applied to the specified resource and in the order specified in this list.

*/ diff --git a/clients/client-api-gateway/pagination/GetApiKeysPaginator.ts b/clients/client-api-gateway/pagination/GetApiKeysPaginator.ts new file mode 100644 index 000000000000..f7df0e3097b6 --- /dev/null +++ b/clients/client-api-gateway/pagination/GetApiKeysPaginator.ts @@ -0,0 +1,47 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { GetApiKeysCommand, GetApiKeysCommandInput, GetApiKeysCommandOutput } from "../commands/GetApiKeysCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetApiKeysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetApiKeysCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetApiKeysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getApiKeys(input, ...args); +}; +export async function* getApiKeysPaginate( + config: APIGatewayPaginationConfiguration, + input: GetApiKeysCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetApiKeysCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetBasePathMappingsPaginator.ts b/clients/client-api-gateway/pagination/GetBasePathMappingsPaginator.ts new file mode 100644 index 000000000000..e5f5f196f7cd --- /dev/null +++ b/clients/client-api-gateway/pagination/GetBasePathMappingsPaginator.ts @@ -0,0 +1,51 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { + GetBasePathMappingsCommand, + GetBasePathMappingsCommandInput, + GetBasePathMappingsCommandOutput, +} from "../commands/GetBasePathMappingsCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetBasePathMappingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetBasePathMappingsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetBasePathMappingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getBasePathMappings(input, ...args); +}; +export async function* getBasePathMappingsPaginate( + config: APIGatewayPaginationConfiguration, + input: GetBasePathMappingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetBasePathMappingsCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetClientCertificatesPaginator.ts b/clients/client-api-gateway/pagination/GetClientCertificatesPaginator.ts new file mode 100644 index 000000000000..1bca9764b28f --- /dev/null +++ b/clients/client-api-gateway/pagination/GetClientCertificatesPaginator.ts @@ -0,0 +1,51 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { + GetClientCertificatesCommand, + GetClientCertificatesCommandInput, + GetClientCertificatesCommandOutput, +} from "../commands/GetClientCertificatesCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetClientCertificatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetClientCertificatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetClientCertificatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getClientCertificates(input, ...args); +}; +export async function* getClientCertificatesPaginate( + config: APIGatewayPaginationConfiguration, + input: GetClientCertificatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetClientCertificatesCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetDeploymentsPaginator.ts b/clients/client-api-gateway/pagination/GetDeploymentsPaginator.ts new file mode 100644 index 000000000000..a268d51a89d8 --- /dev/null +++ b/clients/client-api-gateway/pagination/GetDeploymentsPaginator.ts @@ -0,0 +1,51 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { + GetDeploymentsCommand, + GetDeploymentsCommandInput, + GetDeploymentsCommandOutput, +} from "../commands/GetDeploymentsCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetDeploymentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetDeploymentsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetDeploymentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getDeployments(input, ...args); +}; +export async function* getDeploymentsPaginate( + config: APIGatewayPaginationConfiguration, + input: GetDeploymentsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetDeploymentsCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetDomainNamesPaginator.ts b/clients/client-api-gateway/pagination/GetDomainNamesPaginator.ts new file mode 100644 index 000000000000..1805bf7e5c9c --- /dev/null +++ b/clients/client-api-gateway/pagination/GetDomainNamesPaginator.ts @@ -0,0 +1,51 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { + GetDomainNamesCommand, + GetDomainNamesCommandInput, + GetDomainNamesCommandOutput, +} from "../commands/GetDomainNamesCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetDomainNamesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetDomainNamesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetDomainNamesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getDomainNames(input, ...args); +}; +export async function* getDomainNamesPaginate( + config: APIGatewayPaginationConfiguration, + input: GetDomainNamesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetDomainNamesCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetModelsPaginator.ts b/clients/client-api-gateway/pagination/GetModelsPaginator.ts new file mode 100644 index 000000000000..f501c2eb8565 --- /dev/null +++ b/clients/client-api-gateway/pagination/GetModelsPaginator.ts @@ -0,0 +1,47 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { GetModelsCommand, GetModelsCommandInput, GetModelsCommandOutput } from "../commands/GetModelsCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetModelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetModelsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetModelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getModels(input, ...args); +}; +export async function* getModelsPaginate( + config: APIGatewayPaginationConfiguration, + input: GetModelsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetModelsCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetResourcesPaginator.ts b/clients/client-api-gateway/pagination/GetResourcesPaginator.ts new file mode 100644 index 000000000000..4fc6dc7ec439 --- /dev/null +++ b/clients/client-api-gateway/pagination/GetResourcesPaginator.ts @@ -0,0 +1,51 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { + GetResourcesCommand, + GetResourcesCommandInput, + GetResourcesCommandOutput, +} from "../commands/GetResourcesCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetResourcesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetResourcesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetResourcesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getResources(input, ...args); +}; +export async function* getResourcesPaginate( + config: APIGatewayPaginationConfiguration, + input: GetResourcesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetResourcesCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetRestApisPaginator.ts b/clients/client-api-gateway/pagination/GetRestApisPaginator.ts new file mode 100644 index 000000000000..5fae76f3ef85 --- /dev/null +++ b/clients/client-api-gateway/pagination/GetRestApisPaginator.ts @@ -0,0 +1,47 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { GetRestApisCommand, GetRestApisCommandInput, GetRestApisCommandOutput } from "../commands/GetRestApisCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetRestApisCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetRestApisCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetRestApisCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getRestApis(input, ...args); +}; +export async function* getRestApisPaginate( + config: APIGatewayPaginationConfiguration, + input: GetRestApisCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetRestApisCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetUsagePaginator.ts b/clients/client-api-gateway/pagination/GetUsagePaginator.ts new file mode 100644 index 000000000000..ef09c63ca634 --- /dev/null +++ b/clients/client-api-gateway/pagination/GetUsagePaginator.ts @@ -0,0 +1,47 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { GetUsageCommand, GetUsageCommandInput, GetUsageCommandOutput } from "../commands/GetUsageCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetUsageCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetUsageCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetUsageCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getUsage(input, ...args); +}; +export async function* getUsagePaginate( + config: APIGatewayPaginationConfiguration, + input: GetUsageCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetUsageCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetUsagePlanKeysPaginator.ts b/clients/client-api-gateway/pagination/GetUsagePlanKeysPaginator.ts new file mode 100644 index 000000000000..f971cc558a55 --- /dev/null +++ b/clients/client-api-gateway/pagination/GetUsagePlanKeysPaginator.ts @@ -0,0 +1,51 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { + GetUsagePlanKeysCommand, + GetUsagePlanKeysCommandInput, + GetUsagePlanKeysCommandOutput, +} from "../commands/GetUsagePlanKeysCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetUsagePlanKeysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetUsagePlanKeysCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetUsagePlanKeysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getUsagePlanKeys(input, ...args); +}; +export async function* getUsagePlanKeysPaginate( + config: APIGatewayPaginationConfiguration, + input: GetUsagePlanKeysCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetUsagePlanKeysCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetUsagePlansPaginator.ts b/clients/client-api-gateway/pagination/GetUsagePlansPaginator.ts new file mode 100644 index 000000000000..7239ed16fb93 --- /dev/null +++ b/clients/client-api-gateway/pagination/GetUsagePlansPaginator.ts @@ -0,0 +1,51 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { + GetUsagePlansCommand, + GetUsagePlansCommandInput, + GetUsagePlansCommandOutput, +} from "../commands/GetUsagePlansCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetUsagePlansCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetUsagePlansCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetUsagePlansCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getUsagePlans(input, ...args); +}; +export async function* getUsagePlansPaginate( + config: APIGatewayPaginationConfiguration, + input: GetUsagePlansCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetUsagePlansCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/GetVpcLinksPaginator.ts b/clients/client-api-gateway/pagination/GetVpcLinksPaginator.ts new file mode 100644 index 000000000000..7977f76a2aa1 --- /dev/null +++ b/clients/client-api-gateway/pagination/GetVpcLinksPaginator.ts @@ -0,0 +1,47 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { GetVpcLinksCommand, GetVpcLinksCommandInput, GetVpcLinksCommandOutput } from "../commands/GetVpcLinksCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetVpcLinksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetVpcLinksCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: APIGateway, + input: GetVpcLinksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getVpcLinks(input, ...args); +}; +export async function* getVpcLinksPaginate( + config: APIGatewayPaginationConfiguration, + input: GetVpcLinksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetVpcLinksCommandOutput; + while (hasNext) { + input["position"] = token; + input["limit"] = config.pageSize; + if (config.client instanceof APIGateway) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof APIGatewayClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); + } + yield page; + token = page["position"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-api-gateway/pagination/Interfaces.ts b/clients/client-api-gateway/pagination/Interfaces.ts new file mode 100644 index 000000000000..a71ce2628100 --- /dev/null +++ b/clients/client-api-gateway/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface APIGatewayPaginationConfiguration extends PaginationConfiguration { + client: APIGateway | APIGatewayClient; +} diff --git a/clients/client-api-gateway/protocols/Aws_restJson1.ts b/clients/client-api-gateway/protocols/Aws_restJson1.ts index 9d3a6f3894ce..2fb974ab4afa 100644 --- a/clients/client-api-gateway/protocols/Aws_restJson1.ts +++ b/clients/client-api-gateway/protocols/Aws_restJson1.ts @@ -253,6 +253,8 @@ import { MethodSetting, MethodSnapshot, Model, + MutualTlsAuthentication, + MutualTlsAuthenticationInput, NotFoundException, PatchOperation, QuotaSettings, @@ -567,6 +569,12 @@ export const serializeAws_restJson1CreateDomainNameCommand = async ( ...(input.endpointConfiguration !== undefined && { endpointConfiguration: serializeAws_restJson1EndpointConfiguration(input.endpointConfiguration, context), }), + ...(input.mutualTlsAuthentication !== undefined && { + mutualTlsAuthentication: serializeAws_restJson1MutualTlsAuthenticationInput( + input.mutualTlsAuthentication, + context + ), + }), ...(input.name !== undefined && { name: input.name }), ...(input.regionalCertificateArn !== undefined && { regionalCertificateArn: input.regionalCertificateArn }), ...(input.regionalCertificateName !== undefined && { regionalCertificateName: input.regionalCertificateName }), @@ -969,15 +977,6 @@ export const serializeAws_restJson1DeleteAuthorizerCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/authorizers/{authorizerId}"; - if (input.authorizerId !== undefined) { - const labelValue: string = input.authorizerId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: authorizerId."); - } - resolvedPath = resolvedPath.replace("{authorizerId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: authorizerId."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -987,6 +986,15 @@ export const serializeAws_restJson1DeleteAuthorizerCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.authorizerId !== undefined) { + const labelValue: string = input.authorizerId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: authorizerId."); + } + resolvedPath = resolvedPath.replace("{authorizerId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: authorizerId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -1101,15 +1109,6 @@ export const serializeAws_restJson1DeleteDeploymentCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/deployments/{deploymentId}"; - if (input.deploymentId !== undefined) { - const labelValue: string = input.deploymentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: deploymentId."); - } - resolvedPath = resolvedPath.replace("{deploymentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: deploymentId."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -1119,6 +1118,15 @@ export const serializeAws_restJson1DeleteDeploymentCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.deploymentId !== undefined) { + const labelValue: string = input.deploymentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: deploymentId."); + } + resolvedPath = resolvedPath.replace("{deploymentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: deploymentId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -1195,15 +1203,6 @@ export const serializeAws_restJson1DeleteDocumentationVersionCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/documentation/versions/{documentationVersion}"; - if (input.documentationVersion !== undefined) { - const labelValue: string = input.documentationVersion; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: documentationVersion."); - } - resolvedPath = resolvedPath.replace("{documentationVersion}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: documentationVersion."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -1213,6 +1212,15 @@ export const serializeAws_restJson1DeleteDocumentationVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.documentationVersion !== undefined) { + const labelValue: string = input.documentationVersion; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: documentationVersion."); + } + resolvedPath = resolvedPath.replace("{documentationVersion}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: documentationVersion."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -1280,15 +1288,6 @@ export const serializeAws_restJson1DeleteGatewayResponseCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/gatewayresponses/{responseType}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.responseType !== undefined) { const labelValue: string = input.responseType; if (labelValue.length <= 0) { @@ -1298,6 +1297,15 @@ export const serializeAws_restJson1DeleteGatewayResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: responseType."); } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -1327,15 +1335,6 @@ export const serializeAws_restJson1DeleteIntegrationCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/integration"; - if (input.httpMethod !== undefined) { - const labelValue: string = input.httpMethod; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: httpMethod."); - } - resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: httpMethod."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -1345,6 +1344,15 @@ export const serializeAws_restJson1DeleteIntegrationCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.httpMethod !== undefined) { + const labelValue: string = input.httpMethod; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: httpMethod."); + } + resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: httpMethod."); + } if (input.resourceId !== undefined) { const labelValue: string = input.resourceId; if (labelValue.length <= 0) { @@ -1384,15 +1392,6 @@ export const serializeAws_restJson1DeleteIntegrationResponseCommand = async ( }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/integration/responses/{statusCode}"; - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); - } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: resourceId."); - } if (input.httpMethod !== undefined) { const labelValue: string = input.httpMethod; if (labelValue.length <= 0) { @@ -1411,6 +1410,15 @@ export const serializeAws_restJson1DeleteIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: statusCode."); } + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: resourceId."); + } + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: resourceId."); + } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -1449,14 +1457,14 @@ export const serializeAws_restJson1DeleteMethodCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); + throw new Error("Empty value provided for input HTTP label: resourceId."); } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: restApiId."); + throw new Error("No value provided for input HTTP label: resourceId."); } if (input.httpMethod !== undefined) { const labelValue: string = input.httpMethod; @@ -1467,14 +1475,14 @@ export const serializeAws_restJson1DeleteMethodCommand = async ( } else { throw new Error("No value provided for input HTTP label: httpMethod."); } - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); + throw new Error("Empty value provided for input HTTP label: restApiId."); } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: resourceId."); + throw new Error("No value provided for input HTTP label: restApiId."); } let body: any; body = JSON.stringify({ @@ -1505,23 +1513,14 @@ export const serializeAws_restJson1DeleteMethodResponseCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/responses/{statusCode}"; - if (input.httpMethod !== undefined) { - const labelValue: string = input.httpMethod; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: httpMethod."); - } - resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: httpMethod."); - } - if (input.statusCode !== undefined) { - const labelValue: string = input.statusCode; + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: statusCode."); + throw new Error("Empty value provided for input HTTP label: restApiId."); } - resolvedPath = resolvedPath.replace("{statusCode}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: statusCode."); + throw new Error("No value provided for input HTTP label: restApiId."); } if (input.resourceId !== undefined) { const labelValue: string = input.resourceId; @@ -1532,14 +1531,23 @@ export const serializeAws_restJson1DeleteMethodResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: resourceId."); } - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; + if (input.statusCode !== undefined) { + const labelValue: string = input.statusCode; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); + throw new Error("Empty value provided for input HTTP label: statusCode."); } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{statusCode}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: restApiId."); + throw new Error("No value provided for input HTTP label: statusCode."); + } + if (input.httpMethod !== undefined) { + const labelValue: string = input.httpMethod; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: httpMethod."); + } + resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: httpMethod."); } let body: any; body = JSON.stringify({ @@ -1570,15 +1578,6 @@ export const serializeAws_restJson1DeleteModelCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/models/{modelName}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.modelName !== undefined) { const labelValue: string = input.modelName; if (labelValue.length <= 0) { @@ -1588,6 +1587,15 @@ export const serializeAws_restJson1DeleteModelCommand = async ( } else { throw new Error("No value provided for input HTTP label: modelName."); } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -1834,15 +1842,6 @@ export const serializeAws_restJson1DeleteUsagePlanKeyCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/usageplans/{usagePlanId}/keys/{keyId}"; - if (input.keyId !== undefined) { - const labelValue: string = input.keyId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: keyId."); - } - resolvedPath = resolvedPath.replace("{keyId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: keyId."); - } if (input.usagePlanId !== undefined) { const labelValue: string = input.usagePlanId; if (labelValue.length <= 0) { @@ -1852,6 +1851,15 @@ export const serializeAws_restJson1DeleteUsagePlanKeyCommand = async ( } else { throw new Error("No value provided for input HTTP label: usagePlanId."); } + if (input.keyId !== undefined) { + const labelValue: string = input.keyId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: keyId."); + } + resolvedPath = resolvedPath.replace("{keyId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: keyId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -2116,10 +2124,10 @@ export const serializeAws_restJson1GetApiKeysCommand = async ( }; let resolvedPath = "/apikeys"; const query: any = { - ...(input.nameQuery !== undefined && { name: input.nameQuery }), ...(input.position !== undefined && { position: input.position }), ...(input.customerId !== undefined && { customerId: input.customerId }), ...(input.includeValues !== undefined && { includeValues: input.includeValues.toString() }), + ...(input.nameQuery !== undefined && { name: input.nameQuery }), ...(input.limit !== undefined && { limit: input.limit.toString() }), }; let body: any; @@ -2152,15 +2160,6 @@ export const serializeAws_restJson1GetAuthorizerCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/authorizers/{authorizerId}"; - if (input.authorizerId !== undefined) { - const labelValue: string = input.authorizerId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: authorizerId."); - } - resolvedPath = resolvedPath.replace("{authorizerId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: authorizerId."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -2170,6 +2169,15 @@ export const serializeAws_restJson1GetAuthorizerCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.authorizerId !== undefined) { + const labelValue: string = input.authorizerId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: authorizerId."); + } + resolvedPath = resolvedPath.replace("{authorizerId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: authorizerId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -2242,15 +2250,6 @@ export const serializeAws_restJson1GetBasePathMappingCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/domainnames/{domainName}/basepathmappings/{basePath}"; - if (input.domainName !== undefined) { - const labelValue: string = input.domainName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: domainName."); - } - resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: domainName."); - } if (input.basePath !== undefined) { const labelValue: string = input.basePath; if (labelValue.length <= 0) { @@ -2260,6 +2259,15 @@ export const serializeAws_restJson1GetBasePathMappingCommand = async ( } else { throw new Error("No value provided for input HTTP label: basePath."); } + if (input.domainName !== undefined) { + const labelValue: string = input.domainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: domainName."); + } + resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: domainName."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -2299,8 +2307,8 @@ export const serializeAws_restJson1GetBasePathMappingsCommand = async ( throw new Error("No value provided for input HTTP label: domainName."); } const query: any = { - ...(input.limit !== undefined && { limit: input.limit.toString() }), ...(input.position !== undefined && { position: input.position }), + ...(input.limit !== undefined && { limit: input.limit.toString() }), }; let body: any; body = JSON.stringify({ @@ -2404,15 +2412,6 @@ export const serializeAws_restJson1GetDeploymentCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/deployments/{deploymentId}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.deploymentId !== undefined) { const labelValue: string = input.deploymentId; if (labelValue.length <= 0) { @@ -2422,10 +2421,19 @@ export const serializeAws_restJson1GetDeploymentCommand = async ( } else { throw new Error("No value provided for input HTTP label: deploymentId."); } - const query: any = { - ...(input.embed !== undefined && { embed: (input.embed || []).map((_entry) => _entry) }), - }; - let body: any; + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } + const query: any = { + ...(input.embed !== undefined && { embed: (input.embed || []).map((_entry) => _entry) }), + }; + let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), ...(input.template !== undefined && { template: input.template }), @@ -2498,15 +2506,6 @@ export const serializeAws_restJson1GetDocumentationPartCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/documentation/parts/{documentationPartId}"; - if (input.documentationPartId !== undefined) { - const labelValue: string = input.documentationPartId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: documentationPartId."); - } - resolvedPath = resolvedPath.replace("{documentationPartId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: documentationPartId."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -2516,6 +2515,15 @@ export const serializeAws_restJson1GetDocumentationPartCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.documentationPartId !== undefined) { + const labelValue: string = input.documentationPartId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: documentationPartId."); + } + resolvedPath = resolvedPath.replace("{documentationPartId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: documentationPartId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -2555,12 +2563,12 @@ export const serializeAws_restJson1GetDocumentationPartsCommand = async ( throw new Error("No value provided for input HTTP label: restApiId."); } const query: any = { + ...(input.limit !== undefined && { limit: input.limit.toString() }), ...(input.type !== undefined && { type: input.type }), ...(input.nameQuery !== undefined && { name: input.nameQuery }), - ...(input.position !== undefined && { position: input.position }), - ...(input.limit !== undefined && { limit: input.limit.toString() }), - ...(input.locationStatus !== undefined && { locationStatus: input.locationStatus }), ...(input.path !== undefined && { path: input.path }), + ...(input.locationStatus !== undefined && { locationStatus: input.locationStatus }), + ...(input.position !== undefined && { position: input.position }), }; let body: any; body = JSON.stringify({ @@ -2592,15 +2600,6 @@ export const serializeAws_restJson1GetDocumentationVersionCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/documentation/versions/{documentationVersion}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.documentationVersion !== undefined) { const labelValue: string = input.documentationVersion; if (labelValue.length <= 0) { @@ -2610,6 +2609,15 @@ export const serializeAws_restJson1GetDocumentationVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: documentationVersion."); } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -2649,8 +2657,8 @@ export const serializeAws_restJson1GetDocumentationVersionsCommand = async ( throw new Error("No value provided for input HTTP label: restApiId."); } const query: any = { - ...(input.position !== undefined && { position: input.position }), ...(input.limit !== undefined && { limit: input.limit.toString() }), + ...(input.position !== undefined && { position: input.position }), }; let body: any; body = JSON.stringify({ @@ -2755,15 +2763,6 @@ export const serializeAws_restJson1GetExportCommand = async ( ...(isSerializableHeaderValue(input.accepts) && { Accept: input.accepts! }), }; let resolvedPath = "/restapis/{restApiId}/stages/{stageName}/exports/{exportType}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.exportType !== undefined) { const labelValue: string = input.exportType; if (labelValue.length <= 0) { @@ -2782,6 +2781,15 @@ export const serializeAws_restJson1GetExportCommand = async ( } else { throw new Error("No value provided for input HTTP label: stageName."); } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } let body: any; body = JSON.stringify({ ...(input.parameters !== undefined && { @@ -2808,15 +2816,6 @@ export const serializeAws_restJson1GetGatewayResponseCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/gatewayresponses/{responseType}"; - if (input.responseType !== undefined) { - const labelValue: string = input.responseType; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: responseType."); - } - resolvedPath = resolvedPath.replace("{responseType}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: responseType."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -2826,6 +2825,15 @@ export const serializeAws_restJson1GetGatewayResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.responseType !== undefined) { + const labelValue: string = input.responseType; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: responseType."); + } + resolvedPath = resolvedPath.replace("{responseType}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: responseType."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -2898,14 +2906,14 @@ export const serializeAws_restJson1GetIntegrationCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/integration"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); + throw new Error("Empty value provided for input HTTP label: resourceId."); } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: restApiId."); + throw new Error("No value provided for input HTTP label: resourceId."); } if (input.httpMethod !== undefined) { const labelValue: string = input.httpMethod; @@ -2916,14 +2924,14 @@ export const serializeAws_restJson1GetIntegrationCommand = async ( } else { throw new Error("No value provided for input HTTP label: httpMethod."); } - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); + throw new Error("Empty value provided for input HTTP label: restApiId."); } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: resourceId."); + throw new Error("No value provided for input HTTP label: restApiId."); } let body: any; body = JSON.stringify({ @@ -2955,6 +2963,15 @@ export const serializeAws_restJson1GetIntegrationResponseCommand = async ( }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/integration/responses/{statusCode}"; + if (input.httpMethod !== undefined) { + const labelValue: string = input.httpMethod; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: httpMethod."); + } + resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: httpMethod."); + } if (input.statusCode !== undefined) { const labelValue: string = input.statusCode; if (labelValue.length <= 0) { @@ -2964,15 +2981,6 @@ export const serializeAws_restJson1GetIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: statusCode."); } - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); - } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: resourceId."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -2982,14 +2990,14 @@ export const serializeAws_restJson1GetIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } - if (input.httpMethod !== undefined) { - const labelValue: string = input.httpMethod; + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: httpMethod."); + throw new Error("Empty value provided for input HTTP label: resourceId."); } - resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: httpMethod."); + throw new Error("No value provided for input HTTP label: resourceId."); } let body: any; body = JSON.stringify({ @@ -3020,14 +3028,14 @@ export const serializeAws_restJson1GetMethodCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}"; - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; + if (input.httpMethod !== undefined) { + const labelValue: string = input.httpMethod; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); + throw new Error("Empty value provided for input HTTP label: httpMethod."); } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: resourceId."); + throw new Error("No value provided for input HTTP label: httpMethod."); } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; @@ -3038,14 +3046,14 @@ export const serializeAws_restJson1GetMethodCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } - if (input.httpMethod !== undefined) { - const labelValue: string = input.httpMethod; + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: httpMethod."); + throw new Error("Empty value provided for input HTTP label: resourceId."); } - resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: httpMethod."); + throw new Error("No value provided for input HTTP label: resourceId."); } let body: any; body = JSON.stringify({ @@ -3076,14 +3084,14 @@ export const serializeAws_restJson1GetMethodResponseCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/responses/{statusCode}"; - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; + if (input.httpMethod !== undefined) { + const labelValue: string = input.httpMethod; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); + throw new Error("Empty value provided for input HTTP label: httpMethod."); } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: resourceId."); + throw new Error("No value provided for input HTTP label: httpMethod."); } if (input.statusCode !== undefined) { const labelValue: string = input.statusCode; @@ -3094,14 +3102,14 @@ export const serializeAws_restJson1GetMethodResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: statusCode."); } - if (input.httpMethod !== undefined) { - const labelValue: string = input.httpMethod; + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: httpMethod."); + throw new Error("Empty value provided for input HTTP label: resourceId."); } - resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: httpMethod."); + throw new Error("No value provided for input HTTP label: resourceId."); } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; @@ -3141,15 +3149,6 @@ export const serializeAws_restJson1GetModelCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/models/{modelName}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.modelName !== undefined) { const labelValue: string = input.modelName; if (labelValue.length <= 0) { @@ -3159,6 +3158,15 @@ export const serializeAws_restJson1GetModelCommand = async ( } else { throw new Error("No value provided for input HTTP label: modelName."); } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } const query: any = { ...(input.flatten !== undefined && { flatten: input.flatten.toString() }), }; @@ -3235,15 +3243,6 @@ export const serializeAws_restJson1GetModelTemplateCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/models/{modelName}/default_template"; - if (input.modelName !== undefined) { - const labelValue: string = input.modelName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: modelName."); - } - resolvedPath = resolvedPath.replace("{modelName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: modelName."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -3253,6 +3252,15 @@ export const serializeAws_restJson1GetModelTemplateCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.modelName !== undefined) { + const labelValue: string = input.modelName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: modelName."); + } + resolvedPath = resolvedPath.replace("{modelName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: modelName."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -3282,15 +3290,6 @@ export const serializeAws_restJson1GetRequestValidatorCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/requestvalidators/{requestValidatorId}"; - if (input.requestValidatorId !== undefined) { - const labelValue: string = input.requestValidatorId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: requestValidatorId."); - } - resolvedPath = resolvedPath.replace("{requestValidatorId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: requestValidatorId."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -3300,6 +3299,15 @@ export const serializeAws_restJson1GetRequestValidatorCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.requestValidatorId !== undefined) { + const labelValue: string = input.requestValidatorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: requestValidatorId."); + } + resolvedPath = resolvedPath.replace("{requestValidatorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: requestValidatorId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -3372,15 +3380,6 @@ export const serializeAws_restJson1GetResourceCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.resourceId !== undefined) { const labelValue: string = input.resourceId; if (labelValue.length <= 0) { @@ -3390,6 +3389,15 @@ export const serializeAws_restJson1GetResourceCommand = async ( } else { throw new Error("No value provided for input HTTP label: resourceId."); } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } const query: any = { ...(input.embed !== undefined && { embed: (input.embed || []).map((_entry) => _entry) }), }; @@ -3433,9 +3441,9 @@ export const serializeAws_restJson1GetResourcesCommand = async ( throw new Error("No value provided for input HTTP label: restApiId."); } const query: any = { - ...(input.embed !== undefined && { embed: (input.embed || []).map((_entry) => _entry) }), - ...(input.position !== undefined && { position: input.position }), ...(input.limit !== undefined && { limit: input.limit.toString() }), + ...(input.position !== undefined && { position: input.position }), + ...(input.embed !== undefined && { embed: (input.embed || []).map((_entry) => _entry) }), }; let body: any; body = JSON.stringify({ @@ -3506,8 +3514,8 @@ export const serializeAws_restJson1GetRestApisCommand = async ( }; let resolvedPath = "/restapis"; const query: any = { - ...(input.limit !== undefined && { limit: input.limit.toString() }), ...(input.position !== undefined && { position: input.position }), + ...(input.limit !== undefined && { limit: input.limit.toString() }), }; let body: any; body = JSON.stringify({ @@ -3631,8 +3639,8 @@ export const serializeAws_restJson1GetSdkTypesCommand = async ( }; let resolvedPath = "/sdktypes"; const query: any = { - ...(input.limit !== undefined && { limit: input.limit.toString() }), ...(input.position !== undefined && { position: input.position }), + ...(input.limit !== undefined && { limit: input.limit.toString() }), }; let body: any; body = JSON.stringify({ @@ -3806,11 +3814,11 @@ export const serializeAws_restJson1GetUsageCommand = async ( throw new Error("No value provided for input HTTP label: usagePlanId."); } const query: any = { - ...(input.position !== undefined && { position: input.position }), ...(input.endDate !== undefined && { endDate: input.endDate }), ...(input.startDate !== undefined && { startDate: input.startDate }), - ...(input.keyId !== undefined && { keyId: input.keyId }), + ...(input.position !== undefined && { position: input.position }), ...(input.limit !== undefined && { limit: input.limit.toString() }), + ...(input.keyId !== undefined && { keyId: input.keyId }), }; let body: any; body = JSON.stringify({ @@ -3937,8 +3945,8 @@ export const serializeAws_restJson1GetUsagePlanKeysCommand = async ( throw new Error("No value provided for input HTTP label: usagePlanId."); } const query: any = { - ...(input.limit !== undefined && { limit: input.limit.toString() }), ...(input.nameQuery !== undefined && { name: input.nameQuery }), + ...(input.limit !== undefined && { limit: input.limit.toString() }), ...(input.position !== undefined && { position: input.position }), }; let body: any; @@ -3972,8 +3980,8 @@ export const serializeAws_restJson1GetUsagePlansCommand = async ( }; let resolvedPath = "/usageplans"; const query: any = { - ...(input.position !== undefined && { position: input.position }), ...(input.keyId !== undefined && { keyId: input.keyId }), + ...(input.position !== undefined && { position: input.position }), ...(input.limit !== undefined && { limit: input.limit.toString() }), }; let body: any; @@ -4080,8 +4088,8 @@ export const serializeAws_restJson1ImportApiKeysCommand = async ( let resolvedPath = "/apikeys"; const query: any = { mode: "import", - ...(input.format !== undefined && { format: input.format }), ...(input.failOnWarnings !== undefined && { failonwarnings: input.failOnWarnings.toString() }), + ...(input.format !== undefined && { format: input.format }), }; let body: any; body = JSON.stringify({ @@ -4193,15 +4201,6 @@ export const serializeAws_restJson1PutGatewayResponseCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/gatewayresponses/{responseType}"; - if (input.responseType !== undefined) { - const labelValue: string = input.responseType; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: responseType."); - } - resolvedPath = resolvedPath.replace("{responseType}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: responseType."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -4211,6 +4210,15 @@ export const serializeAws_restJson1PutGatewayResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.responseType !== undefined) { + const labelValue: string = input.responseType; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: responseType."); + } + resolvedPath = resolvedPath.replace("{responseType}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: responseType."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -4247,14 +4255,14 @@ export const serializeAws_restJson1PutIntegrationCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/integration"; - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; + if (input.httpMethod !== undefined) { + const labelValue: string = input.httpMethod; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); + throw new Error("Empty value provided for input HTTP label: httpMethod."); } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: resourceId."); + throw new Error("No value provided for input HTTP label: httpMethod."); } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; @@ -4265,14 +4273,14 @@ export const serializeAws_restJson1PutIntegrationCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } - if (input.httpMethod !== undefined) { - const labelValue: string = input.httpMethod; + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: httpMethod."); + throw new Error("Empty value provided for input HTTP label: resourceId."); } - resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: httpMethod."); + throw new Error("No value provided for input HTTP label: resourceId."); } let body: any; body = JSON.stringify({ @@ -4333,14 +4341,14 @@ export const serializeAws_restJson1PutIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: statusCode."); } - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; + if (input.httpMethod !== undefined) { + const labelValue: string = input.httpMethod; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); + throw new Error("Empty value provided for input HTTP label: httpMethod."); } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: resourceId."); + throw new Error("No value provided for input HTTP label: httpMethod."); } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; @@ -4351,14 +4359,14 @@ export const serializeAws_restJson1PutIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } - if (input.httpMethod !== undefined) { - const labelValue: string = input.httpMethod; + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: httpMethod."); + throw new Error("Empty value provided for input HTTP label: resourceId."); } - resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: httpMethod."); + throw new Error("No value provided for input HTTP label: resourceId."); } let body: any; body = JSON.stringify({ @@ -4397,15 +4405,6 @@ export const serializeAws_restJson1PutMethodCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.resourceId !== undefined) { const labelValue: string = input.resourceId; if (labelValue.length <= 0) { @@ -4415,6 +4414,15 @@ export const serializeAws_restJson1PutMethodCommand = async ( } else { throw new Error("No value provided for input HTTP label: resourceId."); } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } if (input.httpMethod !== undefined) { const labelValue: string = input.httpMethod; if (labelValue.length <= 0) { @@ -4467,15 +4475,6 @@ export const serializeAws_restJson1PutMethodResponseCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/responses/{statusCode}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.resourceId !== undefined) { const labelValue: string = input.resourceId; if (labelValue.length <= 0) { @@ -4485,14 +4484,14 @@ export const serializeAws_restJson1PutMethodResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: resourceId."); } - if (input.statusCode !== undefined) { - const labelValue: string = input.statusCode; + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: statusCode."); + throw new Error("Empty value provided for input HTTP label: restApiId."); } - resolvedPath = resolvedPath.replace("{statusCode}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: statusCode."); + throw new Error("No value provided for input HTTP label: restApiId."); } if (input.httpMethod !== undefined) { const labelValue: string = input.httpMethod; @@ -4503,6 +4502,15 @@ export const serializeAws_restJson1PutMethodResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: httpMethod."); } + if (input.statusCode !== undefined) { + const labelValue: string = input.statusCode; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: statusCode."); + } + resolvedPath = resolvedPath.replace("{statusCode}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: statusCode."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -4548,8 +4556,8 @@ export const serializeAws_restJson1PutRestApiCommand = async ( throw new Error("No value provided for input HTTP label: restApiId."); } const query: any = { - ...(input.mode !== undefined && { mode: input.mode }), ...(input.failOnWarnings !== undefined && { failonwarnings: input.failOnWarnings.toString() }), + ...(input.mode !== undefined && { mode: input.mode }), }; let body: any; body = JSON.stringify({ @@ -4676,15 +4684,6 @@ export const serializeAws_restJson1TestInvokeMethodCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.resourceId !== undefined) { const labelValue: string = input.resourceId; if (labelValue.length <= 0) { @@ -4694,6 +4693,15 @@ export const serializeAws_restJson1TestInvokeMethodCommand = async ( } else { throw new Error("No value provided for input HTTP label: resourceId."); } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } if (input.httpMethod !== undefined) { const labelValue: string = input.httpMethod; if (labelValue.length <= 0) { @@ -4851,15 +4859,6 @@ export const serializeAws_restJson1UpdateAuthorizerCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/authorizers/{authorizerId}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.authorizerId !== undefined) { const labelValue: string = input.authorizerId; if (labelValue.length <= 0) { @@ -4867,7 +4866,16 @@ export const serializeAws_restJson1UpdateAuthorizerCommand = async ( } resolvedPath = resolvedPath.replace("{authorizerId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: authorizerId."); + throw new Error("No value provided for input HTTP label: authorizerId."); + } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); } let body: any; body = JSON.stringify({ @@ -4992,15 +5000,6 @@ export const serializeAws_restJson1UpdateDeploymentCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/deployments/{deploymentId}"; - if (input.deploymentId !== undefined) { - const labelValue: string = input.deploymentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: deploymentId."); - } - resolvedPath = resolvedPath.replace("{deploymentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: deploymentId."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -5010,6 +5009,15 @@ export const serializeAws_restJson1UpdateDeploymentCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.deploymentId !== undefined) { + const labelValue: string = input.deploymentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: deploymentId."); + } + resolvedPath = resolvedPath.replace("{deploymentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: deploymentId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -5042,15 +5050,6 @@ export const serializeAws_restJson1UpdateDocumentationPartCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/documentation/parts/{documentationPartId}"; - if (input.documentationPartId !== undefined) { - const labelValue: string = input.documentationPartId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: documentationPartId."); - } - resolvedPath = resolvedPath.replace("{documentationPartId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: documentationPartId."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -5060,6 +5059,15 @@ export const serializeAws_restJson1UpdateDocumentationPartCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.documentationPartId !== undefined) { + const labelValue: string = input.documentationPartId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: documentationPartId."); + } + resolvedPath = resolvedPath.replace("{documentationPartId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: documentationPartId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -5183,15 +5191,6 @@ export const serializeAws_restJson1UpdateGatewayResponseCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/gatewayresponses/{responseType}"; - if (input.responseType !== undefined) { - const labelValue: string = input.responseType; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: responseType."); - } - resolvedPath = resolvedPath.replace("{responseType}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: responseType."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -5201,6 +5200,15 @@ export const serializeAws_restJson1UpdateGatewayResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.responseType !== undefined) { + const labelValue: string = input.responseType; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: responseType."); + } + resolvedPath = resolvedPath.replace("{responseType}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: responseType."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -5233,15 +5241,6 @@ export const serializeAws_restJson1UpdateIntegrationCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/integration"; - if (input.httpMethod !== undefined) { - const labelValue: string = input.httpMethod; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: httpMethod."); - } - resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: httpMethod."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -5251,6 +5250,15 @@ export const serializeAws_restJson1UpdateIntegrationCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.httpMethod !== undefined) { + const labelValue: string = input.httpMethod; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: httpMethod."); + } + resolvedPath = resolvedPath.replace("{httpMethod}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: httpMethod."); + } if (input.resourceId !== undefined) { const labelValue: string = input.resourceId; if (labelValue.length <= 0) { @@ -5293,6 +5301,24 @@ export const serializeAws_restJson1UpdateIntegrationResponseCommand = async ( }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/integration/responses/{statusCode}"; + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: resourceId."); + } + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: resourceId."); + } if (input.statusCode !== undefined) { const labelValue: string = input.statusCode; if (labelValue.length <= 0) { @@ -5311,24 +5337,6 @@ export const serializeAws_restJson1UpdateIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: httpMethod."); } - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); - } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: resourceId."); - } - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -5370,15 +5378,6 @@ export const serializeAws_restJson1UpdateMethodCommand = async ( } else { throw new Error("No value provided for input HTTP label: httpMethod."); } - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.resourceId !== undefined) { const labelValue: string = input.resourceId; if (labelValue.length <= 0) { @@ -5388,6 +5387,15 @@ export const serializeAws_restJson1UpdateMethodCommand = async ( } else { throw new Error("No value provided for input HTTP label: resourceId."); } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -5420,15 +5428,6 @@ export const serializeAws_restJson1UpdateMethodResponseCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}/methods/{httpMethod}/responses/{statusCode}"; - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); - } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: resourceId."); - } if (input.httpMethod !== undefined) { const labelValue: string = input.httpMethod; if (labelValue.length <= 0) { @@ -5447,6 +5446,15 @@ export const serializeAws_restJson1UpdateMethodResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: statusCode."); } + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: resourceId."); + } + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: resourceId."); + } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -5538,15 +5546,6 @@ export const serializeAws_restJson1UpdateRequestValidatorCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/requestvalidators/{requestValidatorId}"; - if (input.restApiId !== undefined) { - const labelValue: string = input.restApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: restApiId."); - } - resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: restApiId."); - } if (input.requestValidatorId !== undefined) { const labelValue: string = input.requestValidatorId; if (labelValue.length <= 0) { @@ -5556,6 +5555,15 @@ export const serializeAws_restJson1UpdateRequestValidatorCommand = async ( } else { throw new Error("No value provided for input HTTP label: requestValidatorId."); } + if (input.restApiId !== undefined) { + const labelValue: string = input.restApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: restApiId."); + } + resolvedPath = resolvedPath.replace("{restApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: restApiId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -5588,15 +5596,6 @@ export const serializeAws_restJson1UpdateResourceCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/resources/{resourceId}"; - if (input.resourceId !== undefined) { - const labelValue: string = input.resourceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: resourceId."); - } - resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: resourceId."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -5606,6 +5605,15 @@ export const serializeAws_restJson1UpdateResourceCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.resourceId !== undefined) { + const labelValue: string = input.resourceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: resourceId."); + } + resolvedPath = resolvedPath.replace("{resourceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: resourceId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -5679,15 +5687,6 @@ export const serializeAws_restJson1UpdateStageCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/restapis/{restApiId}/stages/{stageName}"; - if (input.stageName !== undefined) { - const labelValue: string = input.stageName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: stageName."); - } - resolvedPath = resolvedPath.replace("{stageName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: stageName."); - } if (input.restApiId !== undefined) { const labelValue: string = input.restApiId; if (labelValue.length <= 0) { @@ -5697,6 +5696,15 @@ export const serializeAws_restJson1UpdateStageCommand = async ( } else { throw new Error("No value provided for input HTTP label: restApiId."); } + if (input.stageName !== undefined) { + const labelValue: string = input.stageName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: stageName."); + } + resolvedPath = resolvedPath.replace("{stageName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: stageName."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -5729,15 +5737,6 @@ export const serializeAws_restJson1UpdateUsageCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/usageplans/{usagePlanId}/keys/{keyId}/usage"; - if (input.usagePlanId !== undefined) { - const labelValue: string = input.usagePlanId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: usagePlanId."); - } - resolvedPath = resolvedPath.replace("{usagePlanId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: usagePlanId."); - } if (input.keyId !== undefined) { const labelValue: string = input.keyId; if (labelValue.length <= 0) { @@ -5747,6 +5746,15 @@ export const serializeAws_restJson1UpdateUsageCommand = async ( } else { throw new Error("No value provided for input HTTP label: keyId."); } + if (input.usagePlanId !== undefined) { + const labelValue: string = input.usagePlanId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: usagePlanId."); + } + resolvedPath = resolvedPath.replace("{usagePlanId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: usagePlanId."); + } let body: any; body = JSON.stringify({ ...(input.name !== undefined && { name: input.name }), @@ -6541,6 +6549,7 @@ export const deserializeAws_restJson1CreateDomainNameCommand = async ( domainNameStatus: undefined, domainNameStatusMessage: undefined, endpointConfiguration: undefined, + mutualTlsAuthentication: undefined, regionalCertificateArn: undefined, regionalCertificateName: undefined, regionalDomainName: undefined, @@ -6576,6 +6585,12 @@ export const deserializeAws_restJson1CreateDomainNameCommand = async ( if (data.endpointConfiguration !== undefined && data.endpointConfiguration !== null) { contents.endpointConfiguration = deserializeAws_restJson1EndpointConfiguration(data.endpointConfiguration, context); } + if (data.mutualTlsAuthentication !== undefined && data.mutualTlsAuthentication !== null) { + contents.mutualTlsAuthentication = deserializeAws_restJson1MutualTlsAuthentication( + data.mutualTlsAuthentication, + context + ); + } if (data.regionalCertificateArn !== undefined && data.regionalCertificateArn !== null) { contents.regionalCertificateArn = data.regionalCertificateArn; } @@ -10386,6 +10401,14 @@ const deserializeAws_restJson1GetDeploymentsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.apigateway#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceUnavailableException": case "com.amazonaws.apigateway#ServiceUnavailableException": response = { @@ -10769,6 +10792,7 @@ export const deserializeAws_restJson1GetDomainNameCommand = async ( domainNameStatus: undefined, domainNameStatusMessage: undefined, endpointConfiguration: undefined, + mutualTlsAuthentication: undefined, regionalCertificateArn: undefined, regionalCertificateName: undefined, regionalDomainName: undefined, @@ -10804,6 +10828,12 @@ export const deserializeAws_restJson1GetDomainNameCommand = async ( if (data.endpointConfiguration !== undefined && data.endpointConfiguration !== null) { contents.endpointConfiguration = deserializeAws_restJson1EndpointConfiguration(data.endpointConfiguration, context); } + if (data.mutualTlsAuthentication !== undefined && data.mutualTlsAuthentication !== null) { + contents.mutualTlsAuthentication = deserializeAws_restJson1MutualTlsAuthentication( + data.mutualTlsAuthentication, + context + ); + } if (data.regionalCertificateArn !== undefined && data.regionalCertificateArn !== null) { contents.regionalCertificateArn = data.regionalCertificateArn; } @@ -12419,12 +12449,12 @@ export const deserializeAws_restJson1GetSdkCommand = async ( contentDisposition: undefined, contentType: undefined, }; - if (output.headers["content-disposition"] !== undefined) { - contents.contentDisposition = output.headers["content-disposition"]; - } if (output.headers["content-type"] !== undefined) { contents.contentType = output.headers["content-type"]; } + if (output.headers["content-disposition"] !== undefined) { + contents.contentDisposition = output.headers["content-disposition"]; + } const data: any = await collectBody(output.body, context); contents.body = data; return Promise.resolve(contents); @@ -15850,6 +15880,7 @@ export const deserializeAws_restJson1UpdateDomainNameCommand = async ( domainNameStatus: undefined, domainNameStatusMessage: undefined, endpointConfiguration: undefined, + mutualTlsAuthentication: undefined, regionalCertificateArn: undefined, regionalCertificateName: undefined, regionalDomainName: undefined, @@ -15885,6 +15916,12 @@ export const deserializeAws_restJson1UpdateDomainNameCommand = async ( if (data.endpointConfiguration !== undefined && data.endpointConfiguration !== null) { contents.endpointConfiguration = deserializeAws_restJson1EndpointConfiguration(data.endpointConfiguration, context); } + if (data.mutualTlsAuthentication !== undefined && data.mutualTlsAuthentication !== null) { + contents.mutualTlsAuthentication = deserializeAws_restJson1MutualTlsAuthentication( + data.mutualTlsAuthentication, + context + ); + } if (data.regionalCertificateArn !== undefined && data.regionalCertificateArn !== null) { contents.regionalCertificateArn = data.regionalCertificateArn; } @@ -17706,6 +17743,16 @@ const serializeAws_restJson1MapOfStringToString = (input: { [key: string]: strin ); }; +const serializeAws_restJson1MutualTlsAuthenticationInput = ( + input: MutualTlsAuthenticationInput, + context: __SerdeContext +): any => { + return { + ...(input.truststoreUri !== undefined && { truststoreUri: input.truststoreUri }), + ...(input.truststoreVersion !== undefined && { truststoreVersion: input.truststoreVersion }), + }; +}; + const serializeAws_restJson1PatchOperation = (input: PatchOperation, context: __SerdeContext): any => { return { ...(input.from !== undefined && { from: input.from }), @@ -17945,6 +17992,10 @@ const deserializeAws_restJson1DomainName = (output: any, context: __SerdeContext output.endpointConfiguration !== undefined && output.endpointConfiguration !== null ? deserializeAws_restJson1EndpointConfiguration(output.endpointConfiguration, context) : undefined, + mutualTlsAuthentication: + output.mutualTlsAuthentication !== undefined && output.mutualTlsAuthentication !== null + ? deserializeAws_restJson1MutualTlsAuthentication(output.mutualTlsAuthentication, context) + : undefined, regionalCertificateArn: output.regionalCertificateArn !== undefined && output.regionalCertificateArn !== null ? output.regionalCertificateArn @@ -18407,6 +18458,24 @@ const deserializeAws_restJson1Model = (output: any, context: __SerdeContext): Mo } as any; }; +const deserializeAws_restJson1MutualTlsAuthentication = ( + output: any, + context: __SerdeContext +): MutualTlsAuthentication => { + return { + truststoreUri: + output.truststoreUri !== undefined && output.truststoreUri !== null ? output.truststoreUri : undefined, + truststoreVersion: + output.truststoreVersion !== undefined && output.truststoreVersion !== null + ? output.truststoreVersion + : undefined, + truststoreWarnings: + output.truststoreWarnings !== undefined && output.truststoreWarnings !== null + ? deserializeAws_restJson1ListOfString(output.truststoreWarnings, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1PathToMapOfMethodSnapshot = ( output: any, context: __SerdeContext diff --git a/clients/client-apigatewaymanagementapi/models/models_0.ts b/clients/client-apigatewaymanagementapi/models/models_0.ts index c3e72bb02dfe..cf00c6fe6248 100644 --- a/clients/client-apigatewaymanagementapi/models/models_0.ts +++ b/clients/client-apigatewaymanagementapi/models/models_0.ts @@ -65,14 +65,14 @@ export namespace GetConnectionRequest { export interface Identity { /** - *

The source IP address of the TCP connection making the request to API Gateway.

+ *

The User Agent of the API caller.

*/ - SourceIp: string | undefined; + UserAgent: string | undefined; /** - *

The User Agent of the API caller.

+ *

The source IP address of the TCP connection making the request to API Gateway.

*/ - UserAgent: string | undefined; + SourceIp: string | undefined; } export namespace Identity { @@ -84,14 +84,14 @@ export namespace Identity { export interface GetConnectionResponse { Identity?: Identity; /** - *

The time in ISO 8601 format for when the connection was established.

+ *

The time in ISO 8601 format for when the connection was last active.

*/ - ConnectedAt?: Date; + LastActiveAt?: Date; /** - *

The time in ISO 8601 format for when the connection was last active.

+ *

The time in ISO 8601 format for when the connection was established.

*/ - LastActiveAt?: Date; + ConnectedAt?: Date; } export namespace GetConnectionResponse { diff --git a/clients/client-apigatewaymanagementapi/runtimeConfig.shared.ts b/clients/client-apigatewaymanagementapi/runtimeConfig.shared.ts index 282c554015e1..9ebee5b1f304 100644 --- a/clients/client-apigatewaymanagementapi/runtimeConfig.shared.ts +++ b/clients/client-apigatewaymanagementapi/runtimeConfig.shared.ts @@ -6,5 +6,5 @@ export const ClientSharedValues = { disableHostPrefix: false, logger: {} as __Logger, regionInfoProvider: defaultRegionInfoProvider, - signingName: "execute-api", + signingName: "apigateway", }; diff --git a/clients/client-apigatewayv2/ApiGatewayV2.ts b/clients/client-apigatewayv2/ApiGatewayV2.ts index 0975472f43ba..bdc4786b53cb 100644 --- a/clients/client-apigatewayv2/ApiGatewayV2.ts +++ b/clients/client-apigatewayv2/ApiGatewayV2.ts @@ -196,6 +196,11 @@ import { GetVpcLinkCommand, GetVpcLinkCommandInput, GetVpcLinkCommandOutput } fr import { GetVpcLinksCommand, GetVpcLinksCommandInput, GetVpcLinksCommandOutput } from "./commands/GetVpcLinksCommand"; import { ImportApiCommand, ImportApiCommandInput, ImportApiCommandOutput } from "./commands/ImportApiCommand"; import { ReimportApiCommand, ReimportApiCommandInput, ReimportApiCommandOutput } from "./commands/ReimportApiCommand"; +import { + ResetAuthorizersCacheCommand, + ResetAuthorizersCacheCommandInput, + ResetAuthorizersCacheCommandOutput, +} from "./commands/ResetAuthorizersCacheCommand"; import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommand, @@ -1941,6 +1946,38 @@ export class ApiGatewayV2 extends ApiGatewayV2Client { } } + /** + *

Resets all authorizer cache entries on a stage. Supported only for HTTP APIs.

+ */ + public resetAuthorizersCache( + args: ResetAuthorizersCacheCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public resetAuthorizersCache( + args: ResetAuthorizersCacheCommandInput, + cb: (err: any, data?: ResetAuthorizersCacheCommandOutput) => void + ): void; + public resetAuthorizersCache( + args: ResetAuthorizersCacheCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ResetAuthorizersCacheCommandOutput) => void + ): void; + public resetAuthorizersCache( + args: ResetAuthorizersCacheCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ResetAuthorizersCacheCommandOutput) => void), + cb?: (err: any, data?: ResetAuthorizersCacheCommandOutput) => void + ): Promise | void { + const command = new ResetAuthorizersCacheCommand(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 Tag resource to represent a tag.

*/ diff --git a/clients/client-apigatewayv2/ApiGatewayV2Client.ts b/clients/client-apigatewayv2/ApiGatewayV2Client.ts index 6fc80726e921..c23bb4cf6884 100644 --- a/clients/client-apigatewayv2/ApiGatewayV2Client.ts +++ b/clients/client-apigatewayv2/ApiGatewayV2Client.ts @@ -85,6 +85,10 @@ import { GetVpcLinkCommandInput, GetVpcLinkCommandOutput } from "./commands/GetV import { GetVpcLinksCommandInput, GetVpcLinksCommandOutput } from "./commands/GetVpcLinksCommand"; import { ImportApiCommandInput, ImportApiCommandOutput } from "./commands/ImportApiCommand"; import { ReimportApiCommandInput, ReimportApiCommandOutput } from "./commands/ReimportApiCommand"; +import { + ResetAuthorizersCacheCommandInput, + ResetAuthorizersCacheCommandOutput, +} from "./commands/ResetAuthorizersCacheCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateApiCommandInput, UpdateApiCommandOutput } from "./commands/UpdateApiCommand"; @@ -212,6 +216,7 @@ export type ServiceInputTypes = | GetVpcLinksCommandInput | ImportApiCommandInput | ReimportApiCommandInput + | ResetAuthorizersCacheCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateApiCommandInput @@ -285,6 +290,7 @@ export type ServiceOutputTypes = | GetVpcLinksCommandOutput | ImportApiCommandOutput | ReimportApiCommandOutput + | ResetAuthorizersCacheCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateApiCommandOutput diff --git a/clients/client-apigatewayv2/commands/ResetAuthorizersCacheCommand.ts b/clients/client-apigatewayv2/commands/ResetAuthorizersCacheCommand.ts new file mode 100644 index 000000000000..5763dd67e9a8 --- /dev/null +++ b/clients/client-apigatewayv2/commands/ResetAuthorizersCacheCommand.ts @@ -0,0 +1,70 @@ +import { ApiGatewayV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ApiGatewayV2Client"; +import { ResetAuthorizersCacheRequest } from "../models/models_0"; +import { + deserializeAws_restJson1ResetAuthorizersCacheCommand, + serializeAws_restJson1ResetAuthorizersCacheCommand, +} 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 ResetAuthorizersCacheCommandInput = ResetAuthorizersCacheRequest; +export type ResetAuthorizersCacheCommandOutput = __MetadataBearer; + +export class ResetAuthorizersCacheCommand extends $Command< + ResetAuthorizersCacheCommandInput, + ResetAuthorizersCacheCommandOutput, + ApiGatewayV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ResetAuthorizersCacheCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ApiGatewayV2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ResetAuthorizersCacheRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ResetAuthorizersCacheCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ResetAuthorizersCacheCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ResetAuthorizersCacheCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-apigatewayv2/index.ts b/clients/client-apigatewayv2/index.ts index 49c71e583e3b..48afb98d9d0f 100644 --- a/clients/client-apigatewayv2/index.ts +++ b/clients/client-apigatewayv2/index.ts @@ -57,6 +57,7 @@ export * from "./commands/GetVpcLinkCommand"; export * from "./commands/GetVpcLinksCommand"; export * from "./commands/ImportApiCommand"; export * from "./commands/ReimportApiCommand"; +export * from "./commands/ResetAuthorizersCacheCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateApiCommand"; diff --git a/clients/client-apigatewayv2/models/models_0.ts b/clients/client-apigatewayv2/models/models_0.ts index 5f139d0c3cfe..7730bf1c409e 100644 --- a/clients/client-apigatewayv2/models/models_0.ts +++ b/clients/client-apigatewayv2/models/models_0.ts @@ -5,11 +5,6 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; *

Represents a CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.

*/ export interface Cors { - /** - *

Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.

- */ - AllowMethods?: string[]; - /** *

The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.

*/ @@ -34,6 +29,11 @@ export interface Cors { *

Represents a collection of allowed headers. Supported only for HTTP APIs.

*/ AllowHeaders?: string[]; + + /** + *

Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.

+ */ + AllowMethods?: string[]; } export namespace Cors { @@ -52,9 +52,19 @@ export enum ProtocolType { */ export interface Api { /** - *

The timestamp when the API was created.

+ *

A version identifier for the API.

*/ - CreatedDate?: Date; + Version?: string; + + /** + *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

+ */ + ApiEndpoint?: string; + + /** + *

The warning messages reported when failonwarnings is turned on during API import.

+ */ + Warnings?: string[]; /** *

The name of the API.

@@ -62,39 +72,39 @@ export interface Api { Name: string | undefined; /** - *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

+ *

The API ID.

*/ - ApiEndpoint?: string; + ApiId?: string; /** - *

A version identifier for the API.

+ *

A collection of tags associated with the API.

*/ - Version?: string; + Tags?: { [key: string]: string }; /** - *

The warning messages reported when failonwarnings is turned on during API import.

+ *

Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.

*/ - Warnings?: string[]; + ApiGatewayManaged?: boolean; /** - *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

+ *

The timestamp when the API was created.

*/ - ApiKeySelectionExpression?: string; + CreatedDate?: Date; /** - *

The API ID.

+ *

A CORS configuration. Supported only for HTTP APIs.

*/ - ApiId?: string; + CorsConfiguration?: Cors; /** - *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

+ *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

*/ - RouteSelectionExpression: string | undefined; + ImportInfo?: string[]; /** - *

The API protocol.

+ *

Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.

*/ - ProtocolType: ProtocolType | string | undefined; + DisableExecuteApiEndpoint?: boolean; /** *

The description of the API.

@@ -102,9 +112,9 @@ export interface Api { Description?: string; /** - *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

+ *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

*/ - ImportInfo?: string[]; + ApiKeySelectionExpression?: string; /** *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

@@ -112,14 +122,14 @@ export interface Api { DisableSchemaValidation?: boolean; /** - *

A collection of tags associated with the API.

+ *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

*/ - Tags?: { [key: string]: string }; + RouteSelectionExpression: string | undefined; /** - *

A CORS configuration. Supported only for HTTP APIs.

+ *

The API protocol.

*/ - CorsConfiguration?: Cors; + ProtocolType: ProtocolType | string | undefined; } export namespace Api { @@ -133,14 +143,14 @@ export namespace Api { */ export interface ApiMapping { /** - *

The API identifier.

+ *

The API mapping identifier.

*/ - ApiId: string | undefined; + ApiMappingId?: string; /** - *

The API mapping identifier.

+ *

The API identifier.

*/ - ApiMappingId?: string; + ApiId: string | undefined; /** *

The API mapping key.

@@ -168,16 +178,16 @@ export enum AuthorizerType { *

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ export interface JWTConfiguration { - /** - *

A list of the intended recipients of the JWT. A valid JWT must provide an aud that matches at least one entry in this list. See RFC 7519. Supported only for HTTP APIs.

- */ - Audience?: string[]; - /** *

The base domain of the identity provider that issues JSON Web Tokens. For example, an Amazon Cognito user pool has the following format: https://cognito-idp.{region}.amazonaws.com/{userPoolId} * . Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ Issuer?: string; + + /** + *

A list of the intended recipients of the JWT. A valid JWT must provide an aud that matches at least one entry in this list. See RFC 7519. Supported only for HTTP APIs.

+ */ + Audience?: string[]; } export namespace JWTConfiguration { @@ -191,50 +201,60 @@ export namespace JWTConfiguration { */ export interface Authorizer { /** - *

The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} - * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

+ *

The name of the authorizer.

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

The authorizer identifier.

+ *

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ - AuthorizerId?: string; + JwtConfiguration?: JWTConfiguration; + + /** + *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.

+ */ + IdentitySource?: string[]; + + /** + *

Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

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

Authorizer caching is not currently supported. Don't specify this value for authorizers.

+ *

The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.

*/ AuthorizerResultTtlInSeconds?: number; /** - *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

+ *

The authorizer identifier.

*/ - AuthorizerCredentialsArn?: string; + AuthorizerId?: string; /** - *

The validation expression does not apply to the REQUEST authorizer.

+ *

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} + * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

*/ - IdentityValidationExpression?: string; + AuthorizerUri?: string; /** - *

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

+ *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter. Supported only for REQUEST authorizers.

*/ - AuthorizerType?: AuthorizerType | string; + AuthorizerCredentialsArn?: string; /** - *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".

+ *

The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).

*/ - IdentitySource?: string[]; + AuthorizerType?: AuthorizerType | string; /** - *

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

+ *

Specifies whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs

*/ - JwtConfiguration?: JWTConfiguration; + EnableSimpleResponses?: boolean; /** - *

The name of the authorizer.

+ *

The validation expression does not apply to the REQUEST authorizer.

*/ - Name: string | undefined; + IdentityValidationExpression?: string; } export namespace Authorizer { @@ -254,14 +274,14 @@ export enum DeploymentStatus { */ export interface Deployment { /** - *

The status of the deployment: PENDING, FAILED, or SUCCEEDED.

+ *

Specifies whether a deployment was automatically released.

*/ - DeploymentStatus?: DeploymentStatus | string; + AutoDeployed?: boolean; /** - *

Specifies whether a deployment was automatically released.

+ *

The status of the deployment: PENDING, FAILED, or SUCCEEDED.

*/ - AutoDeployed?: boolean; + DeploymentStatus?: DeploymentStatus | string; /** *

The identifier for the deployment.

@@ -269,9 +289,9 @@ export interface Deployment { DeploymentId?: string; /** - *

May contain additional feedback on the status of an API deployment.

+ *

The description for the deployment.

*/ - DeploymentStatusMessage?: string; + Description?: string; /** *

The date and time when the Deployment resource was created.

@@ -279,9 +299,9 @@ export interface Deployment { CreatedDate?: Date; /** - *

The description for the deployment.

+ *

May contain additional feedback on the status of an API deployment.

*/ - Description?: string; + DeploymentStatusMessage?: string; } export namespace Deployment { @@ -310,14 +330,19 @@ export enum SecurityPolicy { */ export interface DomainNameConfiguration { /** - *

A domain name for the API.

+ *

An optional text message containing detailed information about status of the domain name migration.

*/ - ApiGatewayDomainName?: string; + DomainNameStatusMessage?: string; /** - *

The Amazon Route 53 Hosted Zone ID of the endpoint.

+ *

The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are TLS_1_0 and TLS_1_2.

*/ - HostedZoneId?: string; + SecurityPolicy?: SecurityPolicy | string; + + /** + *

An AWS-managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

+ */ + CertificateArn?: string; /** *

The endpoint type.

@@ -325,9 +350,19 @@ export interface DomainNameConfiguration { EndpointType?: EndpointType | string; /** - *

The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are TLS_1_0 and TLS_1_2.

+ *

The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.

*/ - SecurityPolicy?: SecurityPolicy | string; + CertificateName?: string; + + /** + *

The Amazon Route 53 Hosted Zone ID of the endpoint.

+ */ + HostedZoneId?: string; + + /** + *

The status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

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

The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded.

@@ -335,28 +370,36 @@ export interface DomainNameConfiguration { CertificateUploadDate?: Date; /** - *

The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.

+ *

A domain name for the API.

*/ - CertificateName?: string; + ApiGatewayDomainName?: string; +} +export namespace DomainNameConfiguration { + export const filterSensitiveLog = (obj: DomainNameConfiguration): any => ({ + ...obj, + }); +} + +export interface MutualTlsAuthentication { /** - *

An optional text message containing detailed information about status of the domain name migration.

+ *

A list of warnings that API Gateway returns while processing your truststore. Invalid certificates produce warnings. Mutual TLS is still enabled, but some clients might not be able to access your API. To resolve warnings, upload a new truststore to S3, and then update you domain name to use the new version.

*/ - DomainNameStatusMessage?: string; + TruststoreWarnings?: string[]; /** - *

The status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ *

An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, s3://bucket-name/key-name. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.

*/ - DomainNameStatus?: DomainNameStatus | string; + TruststoreUri?: string; /** - *

An AWS-managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

+ *

The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.

*/ - CertificateArn?: string; + TruststoreVersion?: string; } -export namespace DomainNameConfiguration { - export const filterSensitiveLog = (obj: DomainNameConfiguration): any => ({ +export namespace MutualTlsAuthentication { + export const filterSensitiveLog = (obj: MutualTlsAuthentication): any => ({ ...obj, }); } @@ -366,9 +409,9 @@ export namespace DomainNameConfiguration { */ export interface DomainName { /** - *

The API mapping selection expression.

+ *

The domain name configurations.

*/ - ApiMappingSelectionExpression?: string; + DomainNameConfigurations?: DomainNameConfiguration[]; /** *

The name of the DomainName resource.

@@ -381,9 +424,14 @@ export interface DomainName { Tags?: { [key: string]: string }; /** - *

The domain name configurations.

+ *

The API mapping selection expression.

*/ - DomainNameConfigurations?: DomainNameConfiguration[]; + ApiMappingSelectionExpression?: string; + + /** + *

The mutual TLS authentication configuration for a custom domain name.

+ */ + MutualTlsAuthentication?: MutualTlsAuthentication; } export namespace DomainName { @@ -437,9 +485,9 @@ export namespace TlsConfig { */ export interface Integration { /** - *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

+ *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

*/ - PayloadFormatVersion?: string; + TlsConfig?: TlsConfig; /** *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

@@ -447,49 +495,44 @@ export interface Integration { TimeoutInMillis?: number; /** - *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

+ *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

*/ - TlsConfig?: TlsConfig; + PassthroughBehavior?: PassthroughBehavior | string; /** - *

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

+ *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

*/ - ConnectionType?: ConnectionType | string; + IntegrationType?: IntegrationType | string; /** - *

Represents the description of an integration.

+ *

Specifies the integration's HTTP method type.

*/ - Description?: string; + IntegrationMethod?: string; /** - *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

+ *

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

*/ - CredentialsArn?: string; + ApiGatewayManaged?: boolean; /** - *

Represents the identifier of an integration.

+ *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

*/ - IntegrationId?: string; + IntegrationUri?: string; /** - *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

+ *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

*/ - IntegrationType?: IntegrationType | string; + ConnectionId?: string; /** - *

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

+ *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

*/ - IntegrationResponseSelectionExpression?: string; + RequestTemplates?: { [key: string]: string }; /** - *

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} - * , where - * {location} - * is querystring, path, or header; and - * {name} - * must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

+ *

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

*/ - RequestParameters?: { [key: string]: string }; + IntegrationResponseSelectionExpression?: string; /** *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

@@ -497,39 +540,45 @@ export interface Integration { ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *

The template selection expression for the integration. Supported only for WebSocket APIs.

+ *

For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} + * , where {location} is querystring, path, or header; and {name} must be a valid and unique method request parameter name.

For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.

*/ - TemplateSelectionExpression?: string; + RequestParameters?: { [key: string]: string }; /** - *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

+ *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.

*/ - IntegrationUri?: string; + IntegrationSubtype?: string; /** - *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

+ *

The template selection expression for the integration. Supported only for WebSocket APIs.

*/ - ConnectionId?: string; + TemplateSelectionExpression?: string; /** - *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

+ *

Represents the description of an integration.

*/ - RequestTemplates?: { [key: string]: string }; + Description?: string; /** - *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

+ *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

*/ - PassthroughBehavior?: PassthroughBehavior | string; + CredentialsArn?: string; /** - *

Specifies the integration's HTTP method type.

+ *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

*/ - IntegrationMethod?: string; + PayloadFormatVersion?: string; /** - *

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

+ *

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

*/ - ApiGatewayManaged?: boolean; + ConnectionType?: ConnectionType | string; + + /** + *

Represents the identifier of an integration.

+ */ + IntegrationId?: string; } export namespace Integration { @@ -543,34 +592,34 @@ export namespace Integration { */ export interface IntegrationResponse { /** - *

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

+ *

The template selection expressions for the integration response.

*/ - ResponseTemplates?: { [key: string]: string }; + TemplateSelectionExpression?: string; /** - *

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

+ *

The integration response key.

*/ - ResponseParameters?: { [key: string]: string }; + IntegrationResponseKey: string | undefined; /** - *

The template selection expressions for the integration response.

+ *

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

*/ - TemplateSelectionExpression?: string; + ResponseTemplates?: { [key: string]: string }; /** - *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

+ *

The integration response ID.

*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationResponseId?: string; /** - *

The integration response ID.

+ *

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

*/ - IntegrationResponseId?: string; + ResponseParameters?: { [key: string]: string }; /** - *

The integration response key.

+ *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

*/ - IntegrationResponseKey: string | undefined; + ContentHandlingStrategy?: ContentHandlingStrategy | string; } export namespace IntegrationResponse { @@ -584,14 +633,14 @@ export namespace IntegrationResponse { */ export interface Model { /** - *

The name of the model. Must be alphanumeric.

+ *

The content-type for the model, for example, "application/json".

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

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

+ *

The description of the model.

*/ - Schema?: string; + Description?: string; /** *

The model identifier.

@@ -599,14 +648,14 @@ export interface Model { ModelId?: string; /** - *

The description of the model.

+ *

The name of the model. Must be alphanumeric.

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

The content-type for the model, for example, "application/json".

+ *

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

*/ - ContentType?: string; + Schema?: string; } export namespace Model { @@ -642,11 +691,6 @@ export namespace ParameterConstraints { *

Represents a route.

*/ export interface Route { - /** - *

The route key for the route.

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

The target for the route.

*/ @@ -658,54 +702,59 @@ export interface Route { ApiKeyRequired?: boolean; /** - *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

+ *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.

*/ - AuthorizerId?: string; + AuthorizationType?: AuthorizationType | string; /** - *

The route ID.

+ *

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

*/ - RouteId?: string; + AuthorizationScopes?: string[]; /** - *

The operation name for the route.

+ *

The model selection expression for the route. Supported only for WebSocket APIs.

*/ - OperationName?: string; + ModelSelectionExpression?: string; /** - *

The request models for the route. Supported only for WebSocket APIs.

+ *

The route response selection expression for the route. Supported only for WebSocket APIs.

*/ - RequestModels?: { [key: string]: string }; + RouteResponseSelectionExpression?: string; /** - *

The request parameters for the route. Supported only for WebSocket APIs.

+ *

The route key for the route.

*/ - RequestParameters?: { [key: string]: ParameterConstraints }; + RouteKey: string | undefined; /** - *

The model selection expression for the route. Supported only for WebSocket APIs.

+ *

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

*/ - ModelSelectionExpression?: string; + ApiGatewayManaged?: boolean; /** - *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

+ *

The operation name for the route.

*/ - AuthorizationType?: AuthorizationType | string; + OperationName?: string; /** - *

The route response selection expression for the route. Supported only for WebSocket APIs.

+ *

The request parameters for the route. Supported only for WebSocket APIs.

*/ - RouteResponseSelectionExpression?: string; + RequestParameters?: { [key: string]: ParameterConstraints }; /** - *

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

+ *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

*/ - AuthorizationScopes?: string[]; + AuthorizerId?: string; /** - *

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

+ *

The route ID.

*/ - ApiGatewayManaged?: boolean; + RouteId?: string; + + /** + *

The request models for the route. Supported only for WebSocket APIs.

+ */ + RequestModels?: { [key: string]: string }; } export namespace Route { @@ -719,9 +768,9 @@ export namespace Route { */ export interface RouteResponse { /** - *

Represents the identifier of a route response.

+ *

Represents the response models of a route response.

*/ - RouteResponseId?: string; + ResponseModels?: { [key: string]: string }; /** *

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

@@ -729,19 +778,19 @@ export interface RouteResponse { ModelSelectionExpression?: string; /** - *

Represents the response parameters of a route response.

+ *

Represents the route response key of a route response.

*/ - ResponseParameters?: { [key: string]: ParameterConstraints }; + RouteResponseKey: string | undefined; /** - *

Represents the response models of a route response.

+ *

Represents the response parameters of a route response.

*/ - ResponseModels?: { [key: string]: string }; + ResponseParameters?: { [key: string]: ParameterConstraints }; /** - *

Represents the route response key of a route response.

+ *

Represents the identifier of a route response.

*/ - RouteResponseKey: string | undefined; + RouteResponseId?: string; } export namespace RouteResponse { @@ -755,14 +804,14 @@ export namespace RouteResponse { */ export interface AccessLogSettings { /** - *

The ARN of the CloudWatch Logs log group to receive access logs.

+ *

A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.

*/ - DestinationArn?: string; + Format?: string; /** - *

A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.

+ *

The ARN of the CloudWatch Logs log group to receive access logs.

*/ - Format?: string; + DestinationArn?: string; } export namespace AccessLogSettings { @@ -782,9 +831,9 @@ export enum LoggingLevel { */ export interface RouteSettings { /** - *

Specifies whether detailed metrics are enabled.

+ *

Specifies the throttling burst limit.

*/ - DetailedMetricsEnabled?: boolean; + ThrottlingBurstLimit?: number; /** *

Specifies the throttling rate limit.

@@ -797,14 +846,14 @@ export interface RouteSettings { LoggingLevel?: LoggingLevel | string; /** - *

Specifies the throttling burst limit.

+ *

Specifies whether (true) or not (false) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.

*/ - ThrottlingBurstLimit?: number; + DataTraceEnabled?: boolean; /** - *

Specifies whether (true) or not (false) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.

+ *

Specifies whether detailed metrics are enabled.

*/ - DataTraceEnabled?: boolean; + DetailedMetricsEnabled?: boolean; } export namespace RouteSettings { @@ -818,44 +867,39 @@ export namespace RouteSettings { */ export interface Stage { /** - *

The description of the stage.

- */ - Description?: string; - - /** - *

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

+ *

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

*/ - ClientCertificateId?: string; + DeploymentId?: string; /** - *

The timestamp when the stage was last updated.

+ *

The description of the stage.

*/ - LastUpdatedDate?: Date; + Description?: string; /** - *

Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.

+ *

The name of the stage.

*/ - LastDeploymentStatusMessage?: string; + StageName: string | undefined; /** - *

The collection of tags. Each tag element is associated with a given resource.

+ *

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

*/ - Tags?: { [key: string]: string }; + StageVariables?: { [key: string]: string }; /** - *

Default route settings for the stage.

+ *

The timestamp when the stage was last updated.

*/ - DefaultRouteSettings?: RouteSettings; + LastUpdatedDate?: Date; /** - *

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

+ *

Settings for logging access in this stage.

*/ - DeploymentId?: string; + AccessLogSettings?: AccessLogSettings; /** - *

The timestamp when the stage was created.

+ *

Route settings for the stage, by routeKey.

*/ - CreatedDate?: Date; + RouteSettings?: { [key: string]: RouteSettings }; /** *

Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.

@@ -868,24 +912,29 @@ export interface Stage { AutoDeploy?: boolean; /** - *

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

+ *

The timestamp when the stage was created.

*/ - StageVariables?: { [key: string]: string }; + CreatedDate?: Date; /** - *

The name of the stage.

+ *

Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.

*/ - StageName: string | undefined; + LastDeploymentStatusMessage?: string; /** - *

Route settings for the stage, by routeKey.

+ *

The collection of tags. Each tag element is associated with a given resource.

*/ - RouteSettings?: { [key: string]: RouteSettings }; + Tags?: { [key: string]: string }; /** - *

Settings for logging access in this stage.

+ *

Default route settings for the stage.

*/ - AccessLogSettings?: AccessLogSettings; + DefaultRouteSettings?: RouteSettings; + + /** + *

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

+ */ + ClientCertificateId?: string; } export namespace Stage { @@ -911,14 +960,9 @@ export enum VpcLinkVersion { */ export interface VpcLink { /** - *

The ID of the VPC link.

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

The status of the VPC link.

+ *

A message summarizing the cause of the status of the VPC link.

*/ - VpcLinkStatus?: VpcLinkStatus | string; + VpcLinkStatusMessage?: string; /** *

A list of security group IDs for the VPC link.

@@ -930,15 +974,20 @@ export interface VpcLink { */ SubnetIds: string[] | undefined; + /** + *

The version of the VPC link.

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

The name of the VPC link.

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

A message summarizing the cause of the status of the VPC link.

+ *

The ID of the VPC link.

*/ - VpcLinkStatusMessage?: string; + VpcLinkId: string | undefined; /** *

Tags for the VPC link.

@@ -946,14 +995,14 @@ export interface VpcLink { Tags?: { [key: string]: string }; /** - *

The version of the VPC link.

+ *

The timestamp when the VPC link was created.

*/ - VpcLinkVersion?: VpcLinkVersion | string; + CreatedDate?: Date; /** - *

The timestamp when the VPC link was created.

+ *

The status of the VPC link.

*/ - CreatedDate?: Date; + VpcLinkStatus?: VpcLinkStatus | string; } export namespace VpcLink { @@ -1015,24 +1064,24 @@ export namespace ConflictException { */ export interface CreateApiRequest { /** - *

A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.

+ *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

*/ - CorsConfiguration?: Cors; + ApiKeySelectionExpression?: string; /** - *

This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.

+ *

The description of the API.

*/ - CredentialsArn?: string; + Description?: string; /** - *

A version identifier for the API.

+ *

Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.

*/ - Version?: string; + DisableExecuteApiEndpoint?: boolean; /** - *

The description of the API.

+ *

A version identifier for the API.

*/ - Description?: string; + Version?: string; /** *

This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.

@@ -1040,14 +1089,14 @@ export interface CreateApiRequest { RouteKey?: string; /** - *

This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.

+ *

A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.

*/ - Target?: string; + CorsConfiguration?: Cors; /** - *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

+ *

The API protocol.

*/ - DisableSchemaValidation?: boolean; + ProtocolType: ProtocolType | string | undefined; /** *

The collection of tags. Each tag element is associated with a given resource.

@@ -1060,9 +1109,14 @@ export interface CreateApiRequest { Name: string | undefined; /** - *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

+ *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

*/ - ApiKeySelectionExpression?: string; + DisableSchemaValidation?: boolean; + + /** + *

This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.

+ */ + CredentialsArn?: string; /** *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

@@ -1070,9 +1124,9 @@ export interface CreateApiRequest { RouteSelectionExpression?: string; /** - *

The API protocol.

+ *

This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.

*/ - ProtocolType: ProtocolType | string | undefined; + Target?: string; } export namespace CreateApiRequest { @@ -1083,34 +1137,34 @@ export namespace CreateApiRequest { export interface CreateApiResponse { /** - *

The name of the API.

+ *

The timestamp when the API was created.

*/ - Name?: string; + CreatedDate?: Date; /** - *

The API protocol.

+ *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

*/ - ProtocolType?: ProtocolType | string; + ApiEndpoint?: string; /** - *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

+ *

A version identifier for the API.

*/ - RouteSelectionExpression?: string; + Version?: string; /** - *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

+ *

The API protocol.

*/ - ApiEndpoint?: string; + ProtocolType?: ProtocolType | string; /** - *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

+ *

A CORS configuration. Supported only for HTTP APIs.

*/ - DisableSchemaValidation?: boolean; + CorsConfiguration?: Cors; /** - *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

+ *

A collection of tags associated with the API.

*/ - ImportInfo?: string[]; + Tags?: { [key: string]: string }; /** *

The description of the API.

@@ -1133,24 +1187,34 @@ export interface CreateApiResponse { ApiKeySelectionExpression?: string; /** - *

A version identifier for the API.

+ *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

*/ - Version?: string; + ImportInfo?: string[]; /** - *

A CORS configuration. Supported only for HTTP APIs.

+ *

Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.

*/ - CorsConfiguration?: Cors; + DisableExecuteApiEndpoint?: boolean; /** - *

A collection of tags associated with the API.

+ *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

*/ - Tags?: { [key: string]: string }; + RouteSelectionExpression?: string; /** - *

The timestamp when the API was created.

+ *

Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.

*/ - CreatedDate?: Date; + ApiGatewayManaged?: boolean; + + /** + *

The name of the API.

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

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

+ */ + DisableSchemaValidation?: boolean; } export namespace CreateApiResponse { @@ -1210,9 +1274,9 @@ export namespace TooManyRequestsException { */ export interface CreateApiMappingRequest { /** - * The API mapping key. + *

The API stage.

*/ - ApiMappingKey?: string; + Stage: string | undefined; /** *

The domain name.

@@ -1220,14 +1284,14 @@ export interface CreateApiMappingRequest { DomainName: string | undefined; /** - *

The API identifier.

+ * The API mapping key. */ - ApiId: string | undefined; + ApiMappingKey?: string; /** - *

The API stage.

+ *

The API identifier.

*/ - Stage: string | undefined; + ApiId: string | undefined; } export namespace CreateApiMappingRequest { @@ -1269,24 +1333,25 @@ export namespace CreateApiMappingResponse { */ export interface CreateAuthorizerRequest { /** - *

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

+ *

This parameter is not used.

*/ - AuthorizerType: AuthorizerType | string | undefined; + IdentityValidationExpression?: string; /** - *

The API identifier.

+ *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter. Supported only for REQUEST authorizers.

*/ - ApiId: string | undefined; + AuthorizerCredentialsArn?: string; /** - *

This parameter is not used.

+ *

The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.

*/ - IdentityValidationExpression?: string; + AuthorizerResultTtlInSeconds?: number; /** - *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT )from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".

+ *

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} + * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

*/ - IdentitySource: string[] | undefined; + AuthorizerUri?: string; /** *

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

@@ -1294,25 +1359,34 @@ export interface CreateAuthorizerRequest { JwtConfiguration?: JWTConfiguration; /** - *

The name of the authorizer.

+ *

The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).

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

Authorizer caching is not currently supported. Don't specify this value for authorizers.

+ *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.

*/ - AuthorizerResultTtlInSeconds?: number; + IdentitySource: string[] | undefined; /** - *

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} - * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

+ *

The API identifier.

*/ - AuthorizerUri?: string; + ApiId: string | undefined; /** - *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

+ *

Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs

*/ - AuthorizerCredentialsArn?: string; + EnableSimpleResponses?: boolean; + + /** + *

Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

+ */ + AuthorizerPayloadFormatVersion?: string; + + /** + *

The name of the authorizer.

+ */ + Name: string | undefined; } export namespace CreateAuthorizerRequest { @@ -1323,9 +1397,10 @@ export namespace CreateAuthorizerRequest { export interface CreateAuthorizerResponse { /** - *

The validation expression does not apply to the REQUEST authorizer.

+ *

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} + * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

*/ - IdentityValidationExpression?: string; + AuthorizerUri?: string; /** *

The authorizer identifier.

@@ -1333,20 +1408,19 @@ export interface CreateAuthorizerResponse { AuthorizerId?: string; /** - *

Authorizer caching is not currently supported. Don't specify this value for authorizers.

+ *

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ - AuthorizerResultTtlInSeconds?: number; + JwtConfiguration?: JWTConfiguration; /** - *

The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} - * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

+ *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter. Supported only for REQUEST authorizers.

*/ - AuthorizerUri?: string; + AuthorizerCredentialsArn?: string; /** - *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

+ *

Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

*/ - AuthorizerCredentialsArn?: string; + AuthorizerPayloadFormatVersion?: string; /** *

The name of the authorizer.

@@ -1354,19 +1428,29 @@ export interface CreateAuthorizerResponse { Name?: string; /** - *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".

+ *

The validation expression does not apply to the REQUEST authorizer.

*/ - IdentitySource?: string[]; + IdentityValidationExpression?: string; /** - *

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

+ *

Specifies whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs

*/ - JwtConfiguration?: JWTConfiguration; + EnableSimpleResponses?: boolean; /** - *

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

+ *

The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).

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

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.

+ */ + IdentitySource?: string[]; + + /** + *

The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.

+ */ + AuthorizerResultTtlInSeconds?: number; } export namespace CreateAuthorizerResponse { @@ -1379,6 +1463,11 @@ export namespace CreateAuthorizerResponse { *

Creates a new Deployment resource to represent a deployment.

*/ export interface CreateDeploymentRequest { + /** + *

The API identifier.

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

The name of the Stage resource for the Deployment resource to create.

*/ @@ -1388,11 +1477,6 @@ export interface CreateDeploymentRequest { *

The description for the deployment resource.

*/ Description?: string; - - /** - *

The API identifier.

- */ - ApiId: string | undefined; } export namespace CreateDeploymentRequest { @@ -1408,14 +1492,9 @@ export interface CreateDeploymentResponse { AutoDeployed?: boolean; /** - *

The date and time when the Deployment resource was created.

- */ - CreatedDate?: Date; - - /** - *

May contain additional feedback on the status of an API deployment.

+ *

The description for the deployment.

*/ - DeploymentStatusMessage?: string; + Description?: string; /** *

The identifier for the deployment.

@@ -1428,9 +1507,14 @@ export interface CreateDeploymentResponse { DeploymentStatus?: DeploymentStatus | string; /** - *

The description for the deployment.

+ *

The date and time when the Deployment resource was created.

*/ - Description?: string; + CreatedDate?: Date; + + /** + *

May contain additional feedback on the status of an API deployment.

+ */ + DeploymentStatusMessage?: string; } export namespace CreateDeploymentResponse { @@ -1439,14 +1523,37 @@ export namespace CreateDeploymentResponse { }); } +export interface MutualTlsAuthenticationInput { + /** + *

An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, s3://bucket-name/key-name. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.

+ */ + TruststoreUri?: string; + + /** + *

The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.

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

Creates a new DomainName resource to represent a domain name.

*/ export interface CreateDomainNameRequest { /** - *

The domain name.

+ *

The collection of tags associated with a domain name.

*/ - DomainName: string | undefined; + Tags?: { [key: string]: string }; + + /** + *

The mutual TLS authentication configuration for a custom domain name.

+ */ + MutualTlsAuthentication?: MutualTlsAuthenticationInput; /** *

The domain name configurations.

@@ -1454,9 +1561,9 @@ export interface CreateDomainNameRequest { DomainNameConfigurations?: DomainNameConfiguration[]; /** - *

The collection of tags associated with a domain name.

+ *

The domain name.

*/ - Tags?: { [key: string]: string }; + DomainName: string | undefined; } export namespace CreateDomainNameRequest { @@ -1466,11 +1573,6 @@ export namespace CreateDomainNameRequest { } export interface CreateDomainNameResponse { - /** - *

The collection of tags associated with a domain name.

- */ - Tags?: { [key: string]: string }; - /** *

The domain name configurations.

*/ @@ -1485,6 +1587,16 @@ export interface CreateDomainNameResponse { *

The API mapping selection expression.

*/ ApiMappingSelectionExpression?: string; + + /** + *

The collection of tags associated with a domain name.

+ */ + Tags?: { [key: string]: string }; + + /** + *

The mutual TLS authentication configuration for a custom domain name.

+ */ + MutualTlsAuthentication?: MutualTlsAuthentication; } export namespace CreateDomainNameResponse { @@ -1514,9 +1626,14 @@ export namespace TlsConfigInput { */ export interface CreateIntegrationRequest { /** - *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

+ *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

*/ - IntegrationUri?: string; + PayloadFormatVersion?: string; + + /** + *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.

+ */ + IntegrationSubtype?: string; /** *

The API identifier.

@@ -1524,34 +1641,34 @@ export interface CreateIntegrationRequest { ApiId: string | undefined; /** - *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

+ *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

*/ - ConnectionId?: string; + TlsConfig?: TlsConfigInput; /** - *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

+ *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

*/ - RequestTemplates?: { [key: string]: string }; + TimeoutInMillis?: number; /** - *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

+ *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

*/ - CredentialsArn?: string; + IntegrationUri?: string; /** - *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

+ *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

*/ - PayloadFormatVersion?: string; + ConnectionId?: string; /** - *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

+ *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + RequestTemplates?: { [key: string]: string }; /** - *

Specifies the integration's HTTP method type.

+ *

The template selection expression for the integration.

*/ - IntegrationMethod?: string; + TemplateSelectionExpression?: string; /** *

The description of the integration.

@@ -1559,44 +1676,40 @@ export interface CreateIntegrationRequest { Description?: string; /** - *

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

+ *

Specifies the integration's HTTP method type.

*/ - ConnectionType?: ConnectionType | string; + IntegrationMethod?: string; /** - *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

+ *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

*/ - PassthroughBehavior?: PassthroughBehavior | string; + IntegrationType: IntegrationType | string | undefined; /** - *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

+ *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

*/ - IntegrationType: IntegrationType | string | undefined; + PassthroughBehavior?: PassthroughBehavior | string; /** - *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

+ *

For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} + * , where {location} is querystring, path, or header; and {name} must be a valid and unique method request parameter name.

For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.

*/ - TlsConfig?: TlsConfigInput; + RequestParameters?: { [key: string]: string }; /** - *

The template selection expression for the integration.

+ *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

*/ - TemplateSelectionExpression?: string; + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

+ *

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

*/ - TimeoutInMillis?: number; + ConnectionType?: ConnectionType | string; /** - *

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} - * , where - * {location} - * is querystring, path, or header; and - * {name} - * must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

+ *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

*/ - RequestParameters?: { [key: string]: string }; + CredentialsArn?: string; } export namespace CreateIntegrationRequest { @@ -1606,60 +1719,46 @@ export namespace CreateIntegrationRequest { } export interface CreateIntegrationResult { - /** - *

Represents the identifier of an integration.

- */ - IntegrationId?: string; - - /** - *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

- */ - CredentialsArn?: string; - - /** - *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

- */ - IntegrationUri?: string; - /** *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

*/ RequestTemplates?: { [key: string]: string }; /** - *

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

+ *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

*/ - IntegrationResponseSelectionExpression?: string; + ConnectionId?: string; /** - *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

+ *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationUri?: string; /** - *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

+ *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.

*/ - TimeoutInMillis?: number; + IntegrationSubtype?: string; /** - *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

+ *

Represents the identifier of an integration.

*/ - ConnectionId?: string; + IntegrationId?: string; /** - *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

+ *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

*/ - IntegrationType?: IntegrationType | string; + CredentialsArn?: string; /** - *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

+ *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

*/ - TlsConfig?: TlsConfig; + PayloadFormatVersion?: string; /** - *

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

+ *

For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} + * , where {location} is querystring, path, or header; and {name} must be a valid and unique method request parameter name.

For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.

*/ - ConnectionType?: ConnectionType | string; + RequestParameters?: { [key: string]: string }; /** *

Specifies the integration's HTTP method type.

@@ -1672,34 +1771,49 @@ export interface CreateIntegrationResult { Description?: string; /** - *

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

+ *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

*/ - ApiGatewayManaged?: boolean; + PassthroughBehavior?: PassthroughBehavior | string; /** - *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

+ *

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

*/ - PayloadFormatVersion?: string; + ApiGatewayManaged?: boolean; /** - *

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} - * , where - * {location} - * is querystring, path, or header; and - * {name} - * must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

+ *

The template selection expression for the integration. Supported only for WebSocket APIs.

*/ - RequestParameters?: { [key: string]: string }; + TemplateSelectionExpression?: string; /** - *

The template selection expression for the integration. Supported only for WebSocket APIs.

+ *

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

*/ - TemplateSelectionExpression?: string; + ConnectionType?: ConnectionType | string; /** - *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

+ *

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

*/ - PassthroughBehavior?: PassthroughBehavior | string; + IntegrationResponseSelectionExpression?: string; + + /** + *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

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

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

+ */ + TimeoutInMillis?: number; + + /** + *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

+ */ + TlsConfig?: TlsConfig; + + /** + *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

+ */ + IntegrationType?: IntegrationType | string; } export namespace CreateIntegrationResult { @@ -1713,9 +1827,14 @@ export namespace CreateIntegrationResult { */ export interface CreateIntegrationResponseRequest { /** - *

The template selection expression for the integration response. Supported only for WebSocket APIs.

+ *

The integration response key.

*/ - TemplateSelectionExpression?: string; + IntegrationResponseKey: string | undefined; + + /** + *

Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

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

The API identifier.

@@ -1723,29 +1842,24 @@ export interface CreateIntegrationResponseRequest { ApiId: string | undefined; /** - *

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

+ *

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where {name} is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where {name} is a valid and unique response header name and {JSON-expression} is a valid JSON expression without the $ prefix.

*/ - ResponseTemplates?: { [key: string]: string }; + ResponseParameters?: { [key: string]: string }; /** - *

The integration response key.

+ *

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

*/ - IntegrationResponseKey: string | undefined; + ResponseTemplates?: { [key: string]: string }; /** - *

Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

+ *

The template selection expression for the integration response. Supported only for WebSocket APIs.

*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + TemplateSelectionExpression?: string; /** *

The integration ID.

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

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where {name} is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where {name} is a valid and unique response header name and {JSON-expression} is a valid JSON expression without the $ prefix.

- */ - ResponseParameters?: { [key: string]: string }; } export namespace CreateIntegrationResponseRequest { @@ -1756,24 +1870,24 @@ export namespace CreateIntegrationResponseRequest { export interface CreateIntegrationResponseResponse { /** - *

The integration response key.

+ *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

*/ - IntegrationResponseKey?: string; + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *

The template selection expressions for the integration response.

+ *

The integration response ID.

*/ - TemplateSelectionExpression?: string; + IntegrationResponseId?: string; /** - *

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

+ *

The integration response key.

*/ - ResponseParameters?: { [key: string]: string }; + IntegrationResponseKey?: string; /** - *

The integration response ID.

+ *

The template selection expressions for the integration response.

*/ - IntegrationResponseId?: string; + TemplateSelectionExpression?: string; /** *

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

@@ -1781,9 +1895,9 @@ export interface CreateIntegrationResponseResponse { ResponseTemplates?: { [key: string]: string }; /** - *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

+ *

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + ResponseParameters?: { [key: string]: string }; } export namespace CreateIntegrationResponseResponse { @@ -1796,16 +1910,6 @@ export namespace CreateIntegrationResponseResponse { *

Creates a new Model.

*/ export interface CreateModelRequest { - /** - *

The name of the model. Must be alphanumeric.

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

The API identifier.

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

The content-type for the model, for example, "application/json".

*/ @@ -1820,6 +1924,16 @@ export interface CreateModelRequest { *

The description of the model.

*/ Description?: string; + + /** + *

The name of the model. Must be alphanumeric.

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

The API identifier.

+ */ + ApiId: string | undefined; } export namespace CreateModelRequest { @@ -1830,14 +1944,14 @@ export namespace CreateModelRequest { export interface CreateModelResponse { /** - *

The name of the model. Must be alphanumeric.

+ *

The model identifier.

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

The model identifier.

+ *

The description of the model.

*/ - ModelId?: string; + Description?: string; /** *

The content-type for the model, for example, "application/json".

@@ -1845,14 +1959,14 @@ export interface CreateModelResponse { ContentType?: string; /** - *

The description of the model.

+ *

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

*/ - Description?: string; + Schema?: string; /** - *

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

+ *

The name of the model. Must be alphanumeric.

*/ - Schema?: string; + Name?: string; } export namespace CreateModelResponse { @@ -1866,14 +1980,14 @@ export namespace CreateModelResponse { */ export interface CreateRouteRequest { /** - *

The route key for the route.

+ *

The target for the route.

*/ - RouteKey: string | undefined; + Target?: string; /** - *

The operation name for the route.

+ *

The request models for the route. Supported only for WebSocket APIs.

*/ - OperationName?: string; + RequestModels?: { [key: string]: string }; /** *

The API identifier.

@@ -1881,49 +1995,49 @@ export interface CreateRouteRequest { ApiId: string | undefined; /** - *

The model selection expression for the route. Supported only for WebSocket APIs.

+ *

The operation name for the route.

*/ - ModelSelectionExpression?: string; + OperationName?: string; /** - *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

+ *

Specifies whether an API key is required for the route. Supported only for WebSocket APIs.

*/ - AuthorizerId?: string; + ApiKeyRequired?: boolean; /** - *

The request parameters for the route. Supported only for WebSocket APIs.

+ *

The authorization scopes supported by this route.

*/ - RequestParameters?: { [key: string]: ParameterConstraints }; + AuthorizationScopes?: string[]; /** - *

The route response selection expression for the route. Supported only for WebSocket APIs.

+ *

The request parameters for the route. Supported only for WebSocket APIs.

*/ - RouteResponseSelectionExpression?: string; + RequestParameters?: { [key: string]: ParameterConstraints }; /** - *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

+ *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

*/ - AuthorizationType?: AuthorizationType | string; + AuthorizerId?: string; /** - *

Specifies whether an API key is required for the route. Supported only for WebSocket APIs.

+ *

The route response selection expression for the route. Supported only for WebSocket APIs.

*/ - ApiKeyRequired?: boolean; + RouteResponseSelectionExpression?: string; /** - *

The authorization scopes supported by this route.

+ *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.

*/ - AuthorizationScopes?: string[]; + AuthorizationType?: AuthorizationType | string; /** - *

The target for the route.

+ *

The route key for the route.

*/ - Target?: string; + RouteKey: string | undefined; /** - *

The request models for the route. Supported only for WebSocket APIs.

+ *

The model selection expression for the route. Supported only for WebSocket APIs.

*/ - RequestModels?: { [key: string]: string }; + ModelSelectionExpression?: string; } export namespace CreateRouteRequest { @@ -1934,19 +2048,19 @@ export namespace CreateRouteRequest { export interface CreateRouteResult { /** - *

The target for the route.

+ *

The route response selection expression for the route. Supported only for WebSocket APIs.

*/ - Target?: string; + RouteResponseSelectionExpression?: string; /** - *

The request parameters for the route. Supported only for WebSocket APIs.

+ *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

*/ - RequestParameters?: { [key: string]: ParameterConstraints }; + AuthorizerId?: string; /** - *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

+ *

The model selection expression for the route. Supported only for WebSocket APIs.

*/ - AuthorizerId?: string; + ModelSelectionExpression?: string; /** *

The route ID.

@@ -1954,49 +2068,49 @@ export interface CreateRouteResult { RouteId?: string; /** - *

The request models for the route. Supported only for WebSocket APIs.

+ *

The target for the route.

*/ - RequestModels?: { [key: string]: string }; + Target?: string; /** - *

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

+ *

The route key for the route.

*/ - ApiGatewayManaged?: boolean; + RouteKey?: string; /** - *

The operation name for the route.

+ *

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

*/ - OperationName?: string; + ApiKeyRequired?: boolean; /** - *

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

+ *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.

*/ - ApiKeyRequired?: boolean; + AuthorizationType?: AuthorizationType | string; /** - *

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

+ *

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

*/ - AuthorizationScopes?: string[]; + ApiGatewayManaged?: boolean; /** - *

The route key for the route.

+ *

The request models for the route. Supported only for WebSocket APIs.

*/ - RouteKey?: string; + RequestModels?: { [key: string]: string }; /** - *

The route response selection expression for the route. Supported only for WebSocket APIs.

+ *

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

*/ - RouteResponseSelectionExpression?: string; + AuthorizationScopes?: string[]; /** - *

The model selection expression for the route. Supported only for WebSocket APIs.

+ *

The operation name for the route.

*/ - ModelSelectionExpression?: string; + OperationName?: string; /** - *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

+ *

The request parameters for the route. Supported only for WebSocket APIs.

*/ - AuthorizationType?: AuthorizationType | string; + RequestParameters?: { [key: string]: ParameterConstraints }; } export namespace CreateRouteResult { @@ -2014,6 +2128,11 @@ export interface CreateRouteResponseRequest { */ ResponseParameters?: { [key: string]: ParameterConstraints }; + /** + *

The API identifier.

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

The route response key.

*/ @@ -2024,11 +2143,6 @@ export interface CreateRouteResponseRequest { */ ResponseModels?: { [key: string]: string }; - /** - *

The API identifier.

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

The route ID.

*/ @@ -2048,9 +2162,9 @@ export namespace CreateRouteResponseRequest { export interface CreateRouteResponseResponse { /** - *

Represents the response models of a route response.

+ *

Represents the response parameters of a route response.

*/ - ResponseModels?: { [key: string]: string }; + ResponseParameters?: { [key: string]: ParameterConstraints }; /** *

Represents the identifier of a route response.

@@ -2058,9 +2172,9 @@ export interface CreateRouteResponseResponse { RouteResponseId?: string; /** - *

Represents the response parameters of a route response.

+ *

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

*/ - ResponseParameters?: { [key: string]: ParameterConstraints }; + ModelSelectionExpression?: string; /** *

Represents the route response key of a route response.

@@ -2068,9 +2182,9 @@ export interface CreateRouteResponseResponse { RouteResponseKey?: string; /** - *

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

+ *

Represents the response models of a route response.

*/ - ModelSelectionExpression?: string; + ResponseModels?: { [key: string]: string }; } export namespace CreateRouteResponseResponse { @@ -2084,14 +2198,19 @@ export namespace CreateRouteResponseResponse { */ export interface CreateStageRequest { /** - *

A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

+ *

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

*/ - StageVariables?: { [key: string]: string }; + AutoDeploy?: boolean; /** - *

The description for the API stage.

+ *

The collection of tags. Each tag element is associated with a given resource.

*/ - Description?: string; + Tags?: { [key: string]: string }; + + /** + *

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

+ */ + ClientCertificateId?: string; /** *

The name of the stage.

@@ -2099,14 +2218,14 @@ export interface CreateStageRequest { StageName: string | undefined; /** - *

The deployment identifier of the API stage.

+ *

The default route settings for the stage.

*/ - DeploymentId?: string; + DefaultRouteSettings?: RouteSettings; /** - *

Settings for logging access in this stage.

+ *

A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

*/ - AccessLogSettings?: AccessLogSettings; + StageVariables?: { [key: string]: string }; /** *

Route settings for the stage, by routeKey.

@@ -2114,19 +2233,14 @@ export interface CreateStageRequest { RouteSettings?: { [key: string]: RouteSettings }; /** - *

The default route settings for the stage.

- */ - DefaultRouteSettings?: RouteSettings; - - /** - *

The collection of tags. Each tag element is associated with a given resource.

+ *

Settings for logging access in this stage.

*/ - Tags?: { [key: string]: string }; + AccessLogSettings?: AccessLogSettings; /** - *

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

+ *

The deployment identifier of the API stage.

*/ - AutoDeploy?: boolean; + DeploymentId?: string; /** *

The API identifier.

@@ -2134,9 +2248,9 @@ export interface CreateStageRequest { ApiId: string | undefined; /** - *

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

+ *

The description for the API stage.

*/ - ClientCertificateId?: string; + Description?: string; } export namespace CreateStageRequest { @@ -2147,34 +2261,39 @@ export namespace CreateStageRequest { export interface CreateStageResponse { /** - *

Route settings for the stage, by routeKey.

+ *

The timestamp when the stage was created.

*/ - RouteSettings?: { [key: string]: RouteSettings }; + CreatedDate?: Date; /** - *

The timestamp when the stage was created.

+ *

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

*/ - CreatedDate?: Date; + ClientCertificateId?: string; /** - *

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

+ *

The description of the stage.

*/ - DeploymentId?: string; + Description?: string; /** - *

The timestamp when the stage was last updated.

+ *

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

*/ - LastUpdatedDate?: Date; + StageVariables?: { [key: string]: string }; /** - *

Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.

+ *

The name of the stage.

*/ - ApiGatewayManaged?: boolean; + StageName?: string; /** - *

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

+ *

Settings for logging access in this stage.

*/ - AutoDeploy?: boolean; + AccessLogSettings?: AccessLogSettings; + + /** + *

Route settings for the stage, by routeKey.

+ */ + RouteSettings?: { [key: string]: RouteSettings }; /** *

Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.

@@ -2192,29 +2311,24 @@ export interface CreateStageResponse { Tags?: { [key: string]: string }; /** - *

Settings for logging access in this stage.

- */ - AccessLogSettings?: AccessLogSettings; - - /** - *

The name of the stage.

+ *

The timestamp when the stage was last updated.

*/ - StageName?: string; + LastUpdatedDate?: Date; /** - *

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

+ *

Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.

*/ - StageVariables?: { [key: string]: string }; + ApiGatewayManaged?: boolean; /** - *

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

+ *

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

*/ - ClientCertificateId?: string; + DeploymentId?: string; /** - *

The description of the stage.

+ *

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

*/ - Description?: string; + AutoDeploy?: boolean; } export namespace CreateStageResponse { @@ -2255,6 +2369,11 @@ export namespace CreateVpcLinkRequest { } export interface CreateVpcLinkResponse { + /** + *

Tags for the VPC link.

+ */ + Tags?: { [key: string]: string }; + /** *

The status of the VPC link.

*/ @@ -2271,14 +2390,14 @@ export interface CreateVpcLinkResponse { Name?: string; /** - *

The timestamp when the VPC link was created.

+ *

A list of security group IDs for the VPC link.

*/ - CreatedDate?: Date; + SecurityGroupIds?: string[]; /** - *

The ID of the VPC link.

+ *

The timestamp when the VPC link was created.

*/ - VpcLinkId?: string; + CreatedDate?: Date; /** *

A list of subnet IDs to include in the VPC link.

@@ -2286,19 +2405,14 @@ export interface CreateVpcLinkResponse { SubnetIds?: string[]; /** - *

Tags for the VPC link.

- */ - Tags?: { [key: string]: string }; - - /** - *

A list of security group IDs for the VPC link.

+ *

A message summarizing the cause of the status of the VPC link.

*/ - SecurityGroupIds?: string[]; + VpcLinkStatusMessage?: string; /** - *

A message summarizing the cause of the status of the VPC link.

+ *

The ID of the VPC link.

*/ - VpcLinkStatusMessage?: string; + VpcLinkId?: string; } export namespace CreateVpcLinkResponse { @@ -2309,14 +2423,14 @@ export namespace CreateVpcLinkResponse { export interface DeleteAccessLogSettingsRequest { /** - *

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

+ *

The API identifier.

*/ - StageName: string | undefined; + ApiId: string | undefined; /** - *

The API identifier.

+ *

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

*/ - ApiId: string | undefined; + StageName: string | undefined; } export namespace DeleteAccessLogSettingsRequest { @@ -2358,14 +2472,14 @@ export namespace DeleteApiMappingRequest { export interface DeleteAuthorizerRequest { /** - *

The API identifier.

+ *

The authorizer identifier.

*/ - ApiId: string | undefined; + AuthorizerId: string | undefined; /** - *

The authorizer identifier.

+ *

The API identifier.

*/ - AuthorizerId: string | undefined; + ApiId: string | undefined; } export namespace DeleteAuthorizerRequest { @@ -2389,14 +2503,14 @@ export namespace DeleteCorsConfigurationRequest { export interface DeleteDeploymentRequest { /** - *

The API identifier.

+ *

The deployment ID.

*/ - ApiId: string | undefined; + DeploymentId: string | undefined; /** - *

The deployment ID.

+ *

The API identifier.

*/ - DeploymentId: string | undefined; + ApiId: string | undefined; } export namespace DeleteDeploymentRequest { @@ -2496,6 +2610,11 @@ export namespace DeleteRouteRequest { } export interface DeleteRouteRequestParameterRequest { + /** + *

The API identifier.

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

The route ID.

*/ @@ -2505,11 +2624,6 @@ export interface DeleteRouteRequestParameterRequest { *

The route request parameter key.

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

The API identifier.

- */ - ApiId: string | undefined; } export namespace DeleteRouteRequestParameterRequest { @@ -2519,6 +2633,11 @@ export namespace DeleteRouteRequestParameterRequest { } export interface DeleteRouteResponseRequest { + /** + *

The route ID.

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

The route response ID.

*/ @@ -2528,11 +2647,6 @@ export interface DeleteRouteResponseRequest { *

The API identifier.

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

The route ID.

- */ - RouteId: string | undefined; } export namespace DeleteRouteResponseRequest { @@ -2605,14 +2719,9 @@ export namespace DeleteVpcLinkResponse { export interface ExportApiRequest { /** - *

The version of the API Gateway export algorithm. API Gateway uses the latest version by default. Currently, the only supported version is 1.0.

- */ - ExportVersion?: string; - - /** - *

The output type of the exported definition file. Valid values are JSON and YAML.

+ *

Specifies whether to include API Gateway extensions in the exported API definition. API Gateway extensions are included by default.

*/ - OutputType: string | undefined; + IncludeExtensions?: boolean; /** *

The name of the API stage to export. If you don't specify this property, a representation of the latest API configuration is exported.

@@ -2625,14 +2734,19 @@ export interface ExportApiRequest { ApiId: string | undefined; /** - *

Specifies whether to include API Gateway extensions in the exported API definition. API Gateway extensions are included by default.

+ *

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the only supported value.

*/ - IncludeExtensions?: boolean; + Specification: string | undefined; /** - *

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the only supported value.

+ *

The output type of the exported definition file. Valid values are JSON and YAML.

*/ - Specification: string | undefined; + OutputType: string | undefined; + + /** + *

The version of the API Gateway export algorithm. API Gateway uses the latest version by default. Currently, the only supported version is 1.0.

+ */ + ExportVersion?: string; } export namespace ExportApiRequest { @@ -2668,11 +2782,6 @@ export namespace GetApiRequest { } export interface GetApiResponse { - /** - *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

- */ - ImportInfo?: string[]; - /** *

The description of the API.

*/ @@ -2684,59 +2793,74 @@ export interface GetApiResponse { RouteSelectionExpression?: string; /** - *

The API protocol.

+ *

Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.

*/ - ProtocolType?: ProtocolType | string; + ApiGatewayManaged?: boolean; /** - *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

+ *

A collection of tags associated with the API.

*/ - DisableSchemaValidation?: boolean; + Tags?: { [key: string]: string }; /** - *

The name of the API.

+ *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

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

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

+ *

The API ID.

*/ - ApiEndpoint?: string; + ApiId?: string; + + /** + *

The warning messages reported when failonwarnings is turned on during API import.

+ */ + Warnings?: string[]; /** *

The timestamp when the API was created.

*/ CreatedDate?: Date; + /** + *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

+ */ + ApiEndpoint?: string; + /** *

A version identifier for the API.

*/ Version?: string; + /** + *

The API protocol.

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

A CORS configuration. Supported only for HTTP APIs.

*/ CorsConfiguration?: Cors; /** - *

The API ID.

+ *

Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.

*/ - ApiId?: string; + DisableExecuteApiEndpoint?: boolean; /** - *

A collection of tags associated with the API.

+ *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

*/ - Tags?: { [key: string]: string }; + ImportInfo?: string[]; /** - *

The warning messages reported when failonwarnings is turned on during API import.

+ *

The name of the API.

*/ - Warnings?: string[]; + Name?: string; /** - *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

+ *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

*/ - ApiKeySelectionExpression?: string; + DisableSchemaValidation?: boolean; } export namespace GetApiResponse { @@ -2747,14 +2871,14 @@ export namespace GetApiResponse { export interface GetApiMappingRequest { /** - *

The domain name.

+ *

The API mapping identifier.

*/ - DomainName: string | undefined; + ApiMappingId: string | undefined; /** - *

The API mapping identifier.

+ *

The domain name.

*/ - ApiMappingId: string | undefined; + DomainName: string | undefined; } export namespace GetApiMappingRequest { @@ -2765,24 +2889,24 @@ export namespace GetApiMappingRequest { export interface GetApiMappingResponse { /** - *

The API mapping identifier.

+ *

The API identifier.

*/ - ApiMappingId?: string; + ApiId?: string; /** - *

The API identifier.

+ *

The API stage.

*/ - ApiId?: string; + Stage?: string; /** - *

The API mapping key.

+ *

The API mapping identifier.

*/ - ApiMappingKey?: string; + ApiMappingId?: string; /** - *

The API stage.

+ *

The API mapping key.

*/ - Stage?: string; + ApiMappingKey?: string; } export namespace GetApiMappingResponse { @@ -2798,14 +2922,14 @@ export interface GetApiMappingsRequest { NextToken?: string; /** - *

The maximum number of elements to be returned for this resource.

+ *

The domain name.

*/ - MaxResults?: string; + DomainName: string | undefined; /** - *

The domain name.

+ *

The maximum number of elements to be returned for this resource.

*/ - DomainName: string | undefined; + MaxResults?: string; } export namespace GetApiMappingsRequest { @@ -2852,14 +2976,14 @@ export namespace GetApisRequest { export interface GetApisResponse { /** - *

The elements from this collection.

+ *

The next page of elements from this collection. Not valid for the last element of the collection.

*/ - Items?: Api[]; + NextToken?: string; /** - *

The next page of elements from this collection. Not valid for the last element of the collection.

+ *

The elements from this collection.

*/ - NextToken?: string; + Items?: Api[]; } export namespace GetApisResponse { @@ -2886,52 +3010,62 @@ export namespace GetAuthorizerRequest { }); } -export interface GetAuthorizerResponse { +export interface GetAuthorizerResponse { + /** + *

The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).

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

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter. Supported only for REQUEST authorizers.

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

The name of the authorizer.

+ *

The validation expression does not apply to the REQUEST authorizer.

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

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

+ *

Specifies whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs

*/ - AuthorizerCredentialsArn?: string; + EnableSimpleResponses?: boolean; /** - *

The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} - * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

+ *

The name of the authorizer.

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

The authorizer identifier.

+ *

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ - AuthorizerId?: string; + JwtConfiguration?: JWTConfiguration; /** - *

The validation expression does not apply to the REQUEST authorizer.

+ *

Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

*/ - IdentityValidationExpression?: string; + AuthorizerPayloadFormatVersion?: string; /** - *

Authorizer caching is not currently supported. Don't specify this value for authorizers.

+ *

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} + * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

*/ - AuthorizerResultTtlInSeconds?: number; + AuthorizerUri?: string; /** - *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".

+ *

The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.

*/ - IdentitySource?: string[]; + AuthorizerResultTtlInSeconds?: number; /** - *

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

+ *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.

*/ - AuthorizerType?: AuthorizerType | string; + IdentitySource?: string[]; /** - *

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

+ *

The authorizer identifier.

*/ - JwtConfiguration?: JWTConfiguration; + AuthorizerId?: string; } export namespace GetAuthorizerResponse { @@ -2942,14 +3076,14 @@ export namespace GetAuthorizerResponse { export interface GetAuthorizersRequest { /** - *

The maximum number of elements to be returned for this resource.

+ *

The next page of elements from this collection. Not valid for the last element of the collection.

*/ - MaxResults?: string; + NextToken?: string; /** - *

The next page of elements from this collection. Not valid for the last element of the collection.

+ *

The maximum number of elements to be returned for this resource.

*/ - NextToken?: string; + MaxResults?: string; /** *

The API identifier.

@@ -3000,35 +3134,35 @@ export namespace GetDeploymentRequest { } export interface GetDeploymentResponse { - /** - *

The identifier for the deployment.

- */ - DeploymentId?: string; - /** *

The date and time when the Deployment resource was created.

*/ CreatedDate?: Date; /** - *

The status of the deployment: PENDING, FAILED, or SUCCEEDED.

+ *

Specifies whether a deployment was automatically released.

*/ - DeploymentStatus?: DeploymentStatus | string; + AutoDeployed?: boolean; /** - *

Specifies whether a deployment was automatically released.

+ *

The identifier for the deployment.

*/ - AutoDeployed?: boolean; + DeploymentId?: string; /** - *

May contain additional feedback on the status of an API deployment.

+ *

The status of the deployment: PENDING, FAILED, or SUCCEEDED.

*/ - DeploymentStatusMessage?: string; + DeploymentStatus?: DeploymentStatus | string; /** *

The description for the deployment.

*/ Description?: string; + + /** + *

May contain additional feedback on the status of an API deployment.

+ */ + DeploymentStatusMessage?: string; } export namespace GetDeploymentResponse { @@ -3039,9 +3173,9 @@ export namespace GetDeploymentResponse { export interface GetDeploymentsRequest { /** - *

The next page of elements from this collection. Not valid for the last element of the collection.

+ *

The API identifier.

*/ - NextToken?: string; + ApiId: string | undefined; /** *

The maximum number of elements to be returned for this resource.

@@ -3049,9 +3183,9 @@ export interface GetDeploymentsRequest { MaxResults?: string; /** - *

The API identifier.

+ *

The next page of elements from this collection. Not valid for the last element of the collection.

*/ - ApiId: string | undefined; + NextToken?: string; } export namespace GetDeploymentsRequest { @@ -3103,14 +3237,19 @@ export interface GetDomainNameResponse { DomainNameConfigurations?: DomainNameConfiguration[]; /** - *

The name of the DomainName resource.

+ *

The mutual TLS authentication configuration for a custom domain name.

*/ - DomainName?: string; + MutualTlsAuthentication?: MutualTlsAuthentication; /** *

The API mapping selection expression.

*/ ApiMappingSelectionExpression?: string; + + /** + *

The name of the DomainName resource.

+ */ + DomainName?: string; } export namespace GetDomainNameResponse { @@ -3139,14 +3278,14 @@ export namespace GetDomainNamesRequest { export interface GetDomainNamesResponse { /** - *

The elements from this collection.

+ *

The next page of elements from this collection. Not valid for the last element of the collection.

*/ - Items?: DomainName[]; + NextToken?: string; /** - *

The next page of elements from this collection. Not valid for the last element of the collection.

+ *

The elements from this collection.

*/ - NextToken?: string; + Items?: DomainName[]; } export namespace GetDomainNamesResponse { @@ -3157,14 +3296,14 @@ export namespace GetDomainNamesResponse { export interface GetIntegrationRequest { /** - *

The integration ID.

+ *

The API identifier.

*/ - IntegrationId: string | undefined; + ApiId: string | undefined; /** - *

The API identifier.

+ *

The integration ID.

*/ - ApiId: string | undefined; + IntegrationId: string | undefined; } export namespace GetIntegrationRequest { @@ -3175,24 +3314,20 @@ export namespace GetIntegrationRequest { export interface GetIntegrationResult { /** - *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

- */ - IntegrationType?: IntegrationType | string; - - /** - *

Represents the description of an integration.

+ *

For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} + * , where {location} is querystring, path, or header; and {name} must be a valid and unique method request parameter name.

For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.

*/ - Description?: string; + RequestParameters?: { [key: string]: string }; /** - *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

+ *

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

*/ - PassthroughBehavior?: PassthroughBehavior | string; + ApiGatewayManaged?: boolean; /** - *

Specifies the integration's HTTP method type.

+ *

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

*/ - IntegrationMethod?: string; + IntegrationResponseSelectionExpression?: string; /** *

The template selection expression for the integration. Supported only for WebSocket APIs.

@@ -3205,24 +3340,29 @@ export interface GetIntegrationResult { ConnectionType?: ConnectionType | string; /** - *

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

+ *

Represents the identifier of an integration.

*/ - ApiGatewayManaged?: boolean; + IntegrationId?: string; /** - *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

+ *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

*/ - TimeoutInMillis?: number; + PassthroughBehavior?: PassthroughBehavior | string; /** - *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

+ *

Specifies the integration's HTTP method type.

*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationMethod?: string; /** - *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

+ *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

*/ - TlsConfig?: TlsConfig; + PayloadFormatVersion?: string; + + /** + *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

+ */ + ConnectionId?: string; /** *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

@@ -3230,14 +3370,14 @@ export interface GetIntegrationResult { RequestTemplates?: { [key: string]: string }; /** - *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

+ *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

*/ - IntegrationUri?: string; + TimeoutInMillis?: number; /** - *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

+ *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

*/ - ConnectionId?: string; + IntegrationUri?: string; /** *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

@@ -3245,29 +3385,29 @@ export interface GetIntegrationResult { CredentialsArn?: string; /** - *

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

+ *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.

*/ - IntegrationResponseSelectionExpression?: string; + IntegrationSubtype?: string; /** - *

Represents the identifier of an integration.

+ *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

*/ - IntegrationId?: string; + TlsConfig?: TlsConfig; /** - *

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} - * , where - * {location} - * is querystring, path, or header; and - * {name} - * must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

+ *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

*/ - RequestParameters?: { [key: string]: string }; + IntegrationType?: IntegrationType | string; /** - *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

+ *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

*/ - PayloadFormatVersion?: string; + ContentHandlingStrategy?: ContentHandlingStrategy | string; + + /** + *

Represents the description of an integration.

+ */ + Description?: string; } export namespace GetIntegrationResult { @@ -3283,14 +3423,14 @@ export interface GetIntegrationResponseRequest { ApiId: string | undefined; /** - *

The integration ID.

+ *

The integration response ID.

*/ - IntegrationId: string | undefined; + IntegrationResponseId: string | undefined; /** - *

The integration response ID.

+ *

The integration ID.

*/ - IntegrationResponseId: string | undefined; + IntegrationId: string | undefined; } export namespace GetIntegrationResponseRequest { @@ -3300,11 +3440,6 @@ export namespace GetIntegrationResponseRequest { } export interface GetIntegrationResponseResponse { - /** - *

The integration response ID.

- */ - IntegrationResponseId?: string; - /** *

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

*/ @@ -3321,14 +3456,19 @@ export interface GetIntegrationResponseResponse { IntegrationResponseKey?: string; /** - *

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

+ *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

*/ - ResponseParameters?: { [key: string]: string }; + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

+ *

The integration response ID.

*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationResponseId?: string; + + /** + *

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

+ */ + ResponseParameters?: { [key: string]: string }; } export namespace GetIntegrationResponseResponse { @@ -3343,11 +3483,6 @@ export interface GetIntegrationResponsesRequest { */ NextToken?: string; - /** - *

The maximum number of elements to be returned for this resource.

- */ - MaxResults?: string; - /** *

The integration ID.

*/ @@ -3357,6 +3492,11 @@ export interface GetIntegrationResponsesRequest { *

The API identifier.

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

The maximum number of elements to be returned for this resource.

+ */ + MaxResults?: string; } export namespace GetIntegrationResponsesRequest { @@ -3367,14 +3507,14 @@ export namespace GetIntegrationResponsesRequest { export interface GetIntegrationResponsesResponse { /** - *

The elements from this collection.

+ *

The next page of elements from this collection. Not valid for the last element of the collection.

*/ - Items?: IntegrationResponse[]; + NextToken?: string; /** - *

The next page of elements from this collection. Not valid for the last element of the collection.

+ *

The elements from this collection.

*/ - NextToken?: string; + Items?: IntegrationResponse[]; } export namespace GetIntegrationResponsesResponse { @@ -3390,14 +3530,14 @@ export interface GetIntegrationsRequest { ApiId: string | undefined; /** - *

The next page of elements from this collection. Not valid for the last element of the collection.

+ *

The maximum number of elements to be returned for this resource.

*/ - NextToken?: string; + MaxResults?: string; /** - *

The maximum number of elements to be returned for this resource.

+ *

The next page of elements from this collection. Not valid for the last element of the collection.

*/ - MaxResults?: string; + NextToken?: string; } export namespace GetIntegrationsRequest { @@ -3449,24 +3589,24 @@ export interface GetModelResponse { Name?: string; /** - *

The description of the model.

+ *

The content-type for the model, for example, "application/json".

*/ - Description?: string; + ContentType?: string; /** - *

The content-type for the model, for example, "application/json".

+ *

The model identifier.

*/ - ContentType?: string; + ModelId?: string; /** - *

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

+ *

The description of the model.

*/ - Schema?: string; + Description?: string; /** - *

The model identifier.

+ *

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

*/ - ModelId?: string; + Schema?: string; } export namespace GetModelResponse { @@ -3476,6 +3616,11 @@ export namespace GetModelResponse { } export interface GetModelsRequest { + /** + *

The API identifier.

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

The maximum number of elements to be returned for this resource.

*/ @@ -3485,11 +3630,6 @@ export interface GetModelsRequest { *

The next page of elements from this collection. Not valid for the last element of the collection.

*/ NextToken?: string; - - /** - *

The API identifier.

- */ - ApiId: string | undefined; } export namespace GetModelsRequest { @@ -3567,39 +3707,34 @@ export namespace GetRouteRequest { export interface GetRouteResult { /** - *

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

- */ - ApiGatewayManaged?: boolean; - - /** - *

The request parameters for the route. Supported only for WebSocket APIs.

+ *

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

*/ - RequestParameters?: { [key: string]: ParameterConstraints }; + ApiKeyRequired?: boolean; /** - *

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

+ *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.

*/ - AuthorizationScopes?: string[]; + AuthorizationType?: AuthorizationType | string; /** - *

The target for the route.

+ *

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

*/ - Target?: string; + ApiGatewayManaged?: boolean; /** - *

The request models for the route. Supported only for WebSocket APIs.

+ *

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

*/ - RequestModels?: { [key: string]: string }; + AuthorizationScopes?: string[]; /** - *

The route ID.

+ *

The route response selection expression for the route. Supported only for WebSocket APIs.

*/ - RouteId?: string; + RouteResponseSelectionExpression?: string; /** - *

The route response selection expression for the route. Supported only for WebSocket APIs.

+ *

The route key for the route.

*/ - RouteResponseSelectionExpression?: string; + RouteKey?: string; /** *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

@@ -3607,9 +3742,14 @@ export interface GetRouteResult { AuthorizerId?: string; /** - *

The route key for the route.

+ *

The model selection expression for the route. Supported only for WebSocket APIs.

*/ - RouteKey?: string; + ModelSelectionExpression?: string; + + /** + *

The route ID.

+ */ + RouteId?: string; /** *

The operation name for the route.

@@ -3617,19 +3757,19 @@ export interface GetRouteResult { OperationName?: string; /** - *

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

+ *

The request models for the route. Supported only for WebSocket APIs.

*/ - ApiKeyRequired?: boolean; + RequestModels?: { [key: string]: string }; /** - *

The model selection expression for the route. Supported only for WebSocket APIs.

+ *

The target for the route.

*/ - ModelSelectionExpression?: string; + Target?: string; /** - *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

+ *

The request parameters for the route. Supported only for WebSocket APIs.

*/ - AuthorizationType?: AuthorizationType | string; + RequestParameters?: { [key: string]: ParameterConstraints }; } export namespace GetRouteResult { @@ -3639,11 +3779,6 @@ export namespace GetRouteResult { } export interface GetRouteResponseRequest { - /** - *

The route response ID.

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

The route ID.

*/ @@ -3653,6 +3788,11 @@ export interface GetRouteResponseRequest { *

The API identifier.

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

The route response ID.

+ */ + RouteResponseId: string | undefined; } export namespace GetRouteResponseRequest { @@ -3662,11 +3802,6 @@ export namespace GetRouteResponseRequest { } export interface GetRouteResponseResponse { - /** - *

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

- */ - ModelSelectionExpression?: string; - /** *

Represents the response models of a route response.

*/ @@ -3677,15 +3812,20 @@ export interface GetRouteResponseResponse { */ RouteResponseKey?: string; + /** + *

Represents the response parameters of a route response.

+ */ + ResponseParameters?: { [key: string]: ParameterConstraints }; + /** *

Represents the identifier of a route response.

*/ RouteResponseId?: string; /** - *

Represents the response parameters of a route response.

+ *

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

*/ - ResponseParameters?: { [key: string]: ParameterConstraints }; + ModelSelectionExpression?: string; } export namespace GetRouteResponseResponse { @@ -3696,9 +3836,9 @@ export namespace GetRouteResponseResponse { export interface GetRouteResponsesRequest { /** - *

The maximum number of elements to be returned for this resource.

+ *

The API identifier.

*/ - MaxResults?: string; + ApiId: string | undefined; /** *

The route ID.

@@ -3711,9 +3851,9 @@ export interface GetRouteResponsesRequest { NextToken?: string; /** - *

The API identifier.

+ *

The maximum number of elements to be returned for this resource.

*/ - ApiId: string | undefined; + MaxResults?: string; } export namespace GetRouteResponsesRequest { @@ -3724,14 +3864,14 @@ export namespace GetRouteResponsesRequest { export interface GetRouteResponsesResponse { /** - *

The elements from this collection.

+ *

The next page of elements from this collection. Not valid for the last element of the collection.

*/ - Items?: RouteResponse[]; + NextToken?: string; /** - *

The next page of elements from this collection. Not valid for the last element of the collection.

+ *

The elements from this collection.

*/ - NextToken?: string; + Items?: RouteResponse[]; } export namespace GetRouteResponsesResponse { @@ -3742,9 +3882,9 @@ export namespace GetRouteResponsesResponse { export interface GetRoutesRequest { /** - *

The API identifier.

+ *

The next page of elements from this collection. Not valid for the last element of the collection.

*/ - ApiId: string | undefined; + NextToken?: string; /** *

The maximum number of elements to be returned for this resource.

@@ -3752,9 +3892,9 @@ export interface GetRoutesRequest { MaxResults?: string; /** - *

The next page of elements from this collection. Not valid for the last element of the collection.

+ *

The API identifier.

*/ - NextToken?: string; + ApiId: string | undefined; } export namespace GetRoutesRequest { @@ -3783,14 +3923,14 @@ export namespace GetRoutesResponse { export interface GetStageRequest { /** - *

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

+ *

The API identifier.

*/ - StageName: string | undefined; + ApiId: string | undefined; /** - *

The API identifier.

+ *

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

*/ - ApiId: string | undefined; + StageName: string | undefined; } export namespace GetStageRequest { @@ -3800,15 +3940,20 @@ export namespace GetStageRequest { } export interface GetStageResponse { + /** + *

Route settings for the stage, by routeKey.

+ */ + RouteSettings?: { [key: string]: RouteSettings }; + /** *

Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.

*/ ApiGatewayManaged?: boolean; /** - *

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

+ *

The timestamp when the stage was created.

*/ - AutoDeploy?: boolean; + CreatedDate?: Date; /** *

The timestamp when the stage was last updated.

@@ -3816,14 +3961,19 @@ export interface GetStageResponse { LastUpdatedDate?: Date; /** - *

The description of the stage.

+ *

The name of the stage.

*/ - Description?: string; + StageName?: string; /** - *

The timestamp when the stage was created.

+ *

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

*/ - CreatedDate?: Date; + StageVariables?: { [key: string]: string }; + + /** + *

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

+ */ + AutoDeploy?: boolean; /** *

Default route settings for the stage.

@@ -3831,9 +3981,9 @@ export interface GetStageResponse { DefaultRouteSettings?: RouteSettings; /** - *

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

+ *

Settings for logging access in this stage.

*/ - DeploymentId?: string; + AccessLogSettings?: AccessLogSettings; /** *

Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.

@@ -3841,14 +3991,14 @@ export interface GetStageResponse { LastDeploymentStatusMessage?: string; /** - *

Settings for logging access in this stage.

+ *

The description of the stage.

*/ - AccessLogSettings?: AccessLogSettings; + Description?: string; /** - *

The collection of tags. Each tag element is associated with a given resource.

+ *

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

*/ - Tags?: { [key: string]: string }; + DeploymentId?: string; /** *

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

@@ -3856,19 +4006,9 @@ export interface GetStageResponse { ClientCertificateId?: string; /** - *

The name of the stage.

- */ - StageName?: string; - - /** - *

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

- */ - StageVariables?: { [key: string]: string }; - - /** - *

Route settings for the stage, by routeKey.

+ *

The collection of tags. Each tag element is associated with a given resource.

*/ - RouteSettings?: { [key: string]: RouteSettings }; + Tags?: { [key: string]: string }; } export namespace GetStageResponse { @@ -3879,14 +4019,14 @@ export namespace GetStageResponse { export interface GetStagesRequest { /** - *

The API identifier.

+ *

The maximum number of elements to be returned for this resource.

*/ - ApiId: string | undefined; + MaxResults?: string; /** - *

The maximum number of elements to be returned for this resource.

+ *

The API identifier.

*/ - MaxResults?: string; + ApiId: string | undefined; /** *

The next page of elements from this collection. Not valid for the last element of the collection.

@@ -3959,19 +4099,19 @@ export namespace GetVpcLinkRequest { export interface GetVpcLinkResponse { /** - *

A list of security group IDs for the VPC link.

+ *

The ID of the VPC link.

*/ - SecurityGroupIds?: string[]; + VpcLinkId?: string; /** - *

A list of subnet IDs to include in the VPC link.

+ *

The version of the VPC link.

*/ - SubnetIds?: string[]; + VpcLinkVersion?: VpcLinkVersion | string; /** - *

The name of the VPC link.

+ *

The timestamp when the VPC link was created.

*/ - Name?: string; + CreatedDate?: Date; /** *

A message summarizing the cause of the status of the VPC link.

@@ -3979,29 +4119,29 @@ export interface GetVpcLinkResponse { VpcLinkStatusMessage?: string; /** - *

The ID of the VPC link.

+ *

A list of security group IDs for the VPC link.

*/ - VpcLinkId?: string; + SecurityGroupIds?: string[]; /** - *

Tags for the VPC link.

+ *

A list of subnet IDs to include in the VPC link.

*/ - Tags?: { [key: string]: string }; + SubnetIds?: string[]; /** - *

The status of the VPC link.

+ *

The name of the VPC link.

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

The timestamp when the VPC link was created.

+ *

Tags for the VPC link.

*/ - CreatedDate?: Date; + Tags?: { [key: string]: string }; /** - *

The version of the VPC link.

+ *

The status of the VPC link.

*/ - VpcLinkVersion?: VpcLinkVersion | string; + VpcLinkStatus?: VpcLinkStatus | string; } export namespace GetVpcLinkResponse { @@ -4030,14 +4170,14 @@ export namespace GetVpcLinksRequest { export interface GetVpcLinksResponse { /** - *

A collection of VPC links.

+ *

The next page of elements from this collection. Not valid for the last element of the collection.

*/ - Items?: VpcLink[]; + NextToken?: string; /** - *

The next page of elements from this collection. Not valid for the last element of the collection.

+ *

A collection of VPC links.

*/ - NextToken?: string; + Items?: VpcLink[]; } export namespace GetVpcLinksResponse { @@ -4050,11 +4190,6 @@ export namespace GetVpcLinksResponse { *

*/ export interface ImportApiRequest { - /** - *

Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.

- */ - Basepath?: string; - /** *

The OpenAPI definition. Supported only for HTTP APIs.

*/ @@ -4064,6 +4199,11 @@ export interface ImportApiRequest { *

Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.

*/ FailOnWarnings?: boolean; + + /** + *

Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.

+ */ + Basepath?: string; } export namespace ImportApiRequest { @@ -4074,74 +4214,84 @@ export namespace ImportApiRequest { export interface ImportApiResponse { /** - *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

+ *

The name of the API.

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

The name of the API.

+ *

The timestamp when the API was created.

*/ - Name?: string; + CreatedDate?: Date; /** - *

A version identifier for the API.

+ *

Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.

*/ - Version?: string; + ApiGatewayManaged?: boolean; /** - *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

+ *

The API protocol.

*/ - ImportInfo?: string[]; + ProtocolType?: ProtocolType | string; /** - *

The warning messages reported when failonwarnings is turned on during API import.

+ *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

*/ - Warnings?: string[]; + RouteSelectionExpression?: string; /** - *

The timestamp when the API was created.

+ *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

*/ - CreatedDate?: Date; + ApiEndpoint?: string; /** - *

A CORS configuration. Supported only for HTTP APIs.

+ *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

*/ - CorsConfiguration?: Cors; + DisableSchemaValidation?: boolean; /** - *

A collection of tags associated with the API.

+ *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

*/ - Tags?: { [key: string]: string }; + ImportInfo?: string[]; /** - *

The API ID.

+ *

The description of the API.

*/ - ApiId?: string; + Description?: string; /** - *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

+ *

Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.

*/ - DisableSchemaValidation?: boolean; + DisableExecuteApiEndpoint?: boolean; /** - *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

+ *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

*/ - ApiEndpoint?: string; + ApiKeySelectionExpression?: string; /** - *

The description of the API.

+ *

The warning messages reported when failonwarnings is turned on during API import.

*/ - Description?: string; + Warnings?: string[]; /** - *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

+ *

The API ID.

*/ - RouteSelectionExpression?: string; + ApiId?: string; /** - *

The API protocol.

+ *

A CORS configuration. Supported only for HTTP APIs.

*/ - ProtocolType?: ProtocolType | string; + CorsConfiguration?: Cors; + + /** + *

A collection of tags associated with the API.

+ */ + Tags?: { [key: string]: string }; + + /** + *

A version identifier for the API.

+ */ + Version?: string; } export namespace ImportApiResponse { @@ -4155,14 +4305,14 @@ export namespace ImportApiResponse { */ export interface ReimportApiRequest { /** - *

The OpenAPI definition. Supported only for HTTP APIs.

+ *

Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.

*/ - Body: string | undefined; + FailOnWarnings?: boolean; /** - *

Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.

+ *

The API identifier.

*/ - FailOnWarnings?: boolean; + ApiId: string | undefined; /** *

Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.

@@ -4170,9 +4320,9 @@ export interface ReimportApiRequest { Basepath?: string; /** - *

The API identifier.

+ *

The OpenAPI definition. Supported only for HTTP APIs.

*/ - ApiId: string | undefined; + Body: string | undefined; } export namespace ReimportApiRequest { @@ -4183,9 +4333,9 @@ export namespace ReimportApiRequest { export interface ReimportApiResponse { /** - *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

+ *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

*/ - ImportInfo?: string[]; + ApiKeySelectionExpression?: string; /** *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

@@ -4193,44 +4343,44 @@ export interface ReimportApiResponse { DisableSchemaValidation?: boolean; /** - *

A collection of tags associated with the API.

+ *

The description of the API.

*/ - Tags?: { [key: string]: string }; + Description?: string; /** - *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

+ *

Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.

*/ - ApiKeySelectionExpression?: string; + DisableExecuteApiEndpoint?: boolean; /** - *

The API ID.

+ *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

*/ - ApiId?: string; + ImportInfo?: string[]; /** - *

The description of the API.

+ *

Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.

*/ - Description?: string; + ApiGatewayManaged?: boolean; /** - *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

+ *

A collection of tags associated with the API.

*/ - RouteSelectionExpression?: string; + Tags?: { [key: string]: string }; /** - *

The API protocol.

+ *

The timestamp when the API was created.

*/ - ProtocolType?: ProtocolType | string; + CreatedDate?: Date; /** - *

The timestamp when the API was created.

+ *

A version identifier for the API.

*/ - CreatedDate?: Date; + Version?: string; /** - *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

+ *

A CORS configuration. Supported only for HTTP APIs.

*/ - ApiEndpoint?: string; + CorsConfiguration?: Cors; /** *

The warning messages reported when failonwarnings is turned on during API import.

@@ -4243,14 +4393,24 @@ export interface ReimportApiResponse { Name?: string; /** - *

A CORS configuration. Supported only for HTTP APIs.

+ *

The API ID.

*/ - CorsConfiguration?: Cors; + ApiId?: string; /** - *

A version identifier for the API.

+ *

The API protocol.

*/ - Version?: string; + ProtocolType?: ProtocolType | string; + + /** + *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

+ */ + RouteSelectionExpression?: string; + + /** + *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

+ */ + ApiEndpoint?: string; } export namespace ReimportApiResponse { @@ -4259,19 +4419,37 @@ export namespace ReimportApiResponse { }); } +export interface ResetAuthorizersCacheRequest { + /** + *

The API identifier.

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

The stage name. Stage names can contain only alphanumeric characters, hyphens, and underscores, or be $default. Maximum length is 128 characters.

+ */ + StageName: string | undefined; +} + +export namespace ResetAuthorizersCacheRequest { + export const filterSensitiveLog = (obj: ResetAuthorizersCacheRequest): any => ({ + ...obj, + }); +} + /** *

Creates a new Tag resource to represent a tag.

*/ export interface TagResourceRequest { /** - *

The resource ARN for the tag.

+ *

The collection of tags. Each tag element is associated with a given resource.

*/ - ResourceArn: string | undefined; + Tags?: { [key: string]: string }; /** - *

The collection of tags. Each tag element is associated with a given resource.

+ *

The resource ARN for the tag.

*/ - Tags?: { [key: string]: string }; + ResourceArn: string | undefined; } export namespace TagResourceRequest { @@ -4311,44 +4489,44 @@ export namespace UntagResourceRequest { */ export interface UpdateApiRequest { /** - *

A CORS configuration. Supported only for HTTP APIs.

+ *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

*/ - CorsConfiguration?: Cors; + ApiKeySelectionExpression?: string; /** - *

This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. If provided, this value replaces the credentials associated with the quick create integration. Supported only for HTTP APIs.

+ *

This property is part of quick create. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. The value provided updates the integration URI and integration type. You can update a quick-created target, but you can't remove it from an API. Supported only for HTTP APIs.

*/ - CredentialsArn?: string; + Target?: string; /** - *

A version identifier for the API.

+ *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

*/ - Version?: string; + RouteSelectionExpression?: string; /** - *

The description of the API.

+ *

The API identifier.

*/ - Description?: string; + ApiId: string | undefined; /** - *

This property is part of quick create. If not specified, the route created using quick create is kept. Otherwise, this value replaces the route key of the quick create route. Additional routes may still be added after the API is updated. Supported only for HTTP APIs.

+ *

A CORS configuration. Supported only for HTTP APIs.

*/ - RouteKey?: string; + CorsConfiguration?: Cors; /** - *

This property is part of quick create. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. The value provided updates the integration URI and integration type. You can update a quick-created target, but you can't remove it from an API. Supported only for HTTP APIs.

+ *

This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. If provided, this value replaces the credentials associated with the quick create integration. Supported only for HTTP APIs.

*/ - Target?: string; + CredentialsArn?: string; /** - *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

+ *

A version identifier for the API.

*/ - RouteSelectionExpression?: string; + Version?: string; /** - *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

+ *

This property is part of quick create. If not specified, the route created using quick create is kept. Otherwise, this value replaces the route key of the quick create route. Additional routes may still be added after the API is updated. Supported only for HTTP APIs.

*/ - ApiKeySelectionExpression?: string; + RouteKey?: string; /** *

The name of the API.

@@ -4361,9 +4539,14 @@ export interface UpdateApiRequest { DisableSchemaValidation?: boolean; /** - *

The API identifier.

+ *

Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.

*/ - ApiId: string | undefined; + DisableExecuteApiEndpoint?: boolean; + + /** + *

The description of the API.

+ */ + Description?: string; } export namespace UpdateApiRequest { @@ -4374,44 +4557,44 @@ export namespace UpdateApiRequest { export interface UpdateApiResponse { /** - *

The description of the API.

+ *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

*/ - Description?: string; + ApiKeySelectionExpression?: string; /** - *

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

+ *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

*/ - ApiKeySelectionExpression?: string; + RouteSelectionExpression?: string; /** - *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

+ *

Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.

*/ - ImportInfo?: string[]; + ApiGatewayManaged?: boolean; /** - *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

+ *

Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.

*/ - DisableSchemaValidation?: boolean; + DisableExecuteApiEndpoint?: boolean; /** - *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

+ *

The description of the API.

*/ - ApiEndpoint?: string; + Description?: string; /** - *

The API protocol.

+ *

The timestamp when the API was created.

*/ - ProtocolType?: ProtocolType | string; + CreatedDate?: Date; /** - *

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

+ *

A version identifier for the API.

*/ - RouteSelectionExpression?: string; + Version?: string; /** - *

A CORS configuration. Supported only for HTTP APIs.

+ *

A collection of tags associated with the API.

*/ - CorsConfiguration?: Cors; + Tags?: { [key: string]: string }; /** *

The warning messages reported when failonwarnings is turned on during API import.

@@ -4419,29 +4602,39 @@ export interface UpdateApiResponse { Warnings?: string[]; /** - *

The name of the API.

+ *

The API ID.

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

The API ID.

+ *

The API protocol.

*/ - ApiId?: string; + ProtocolType?: ProtocolType | string; /** - *

A collection of tags associated with the API.

+ *

A CORS configuration. Supported only for HTTP APIs.

*/ - Tags?: { [key: string]: string }; + CorsConfiguration?: Cors; /** - *

The timestamp when the API was created.

+ *

The name of the API.

*/ - CreatedDate?: Date; + Name?: string; /** - *

A version identifier for the API.

+ *

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

*/ - Version?: string; + ApiEndpoint?: string; + + /** + *

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

+ */ + DisableSchemaValidation?: boolean; + + /** + *

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

+ */ + ImportInfo?: string[]; } export namespace UpdateApiResponse { @@ -4455,14 +4648,14 @@ export namespace UpdateApiResponse { */ export interface UpdateApiMappingRequest { /** - *

The API identifier.

+ *

The domain name.

*/ - ApiId: string | undefined; + DomainName: string | undefined; /** - *

The domain name.

+ *

The API mapping key.

*/ - DomainName: string | undefined; + ApiMappingKey?: string; /** *

The API stage.

@@ -4470,14 +4663,14 @@ export interface UpdateApiMappingRequest { Stage?: string; /** - *

The API mapping key.

+ *

The API mapping identifier.

*/ - ApiMappingKey?: string; + ApiMappingId: string | undefined; /** - *

The API mapping identifier.

+ *

The API identifier.

*/ - ApiMappingId: string | undefined; + ApiId: string | undefined; } export namespace UpdateApiMappingRequest { @@ -4488,14 +4681,14 @@ export namespace UpdateApiMappingRequest { export interface UpdateApiMappingResponse { /** - *

The API stage.

+ *

The API mapping identifier.

*/ - Stage?: string; + ApiMappingId?: string; /** - *

The API identifier.

+ *

The API stage.

*/ - ApiId?: string; + Stage?: string; /** *

The API mapping key.

@@ -4503,9 +4696,9 @@ export interface UpdateApiMappingResponse { ApiMappingKey?: string; /** - *

The API mapping identifier.

+ *

The API identifier.

*/ - ApiMappingId?: string; + ApiId?: string; } export namespace UpdateApiMappingResponse { @@ -4519,55 +4712,65 @@ export namespace UpdateApiMappingResponse { */ export interface UpdateAuthorizerRequest { /** - *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".

+ *

The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).

*/ - IdentitySource?: string[]; + AuthorizerType?: AuthorizerType | string; /** - *

The name of the authorizer.

+ *

The API identifier.

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

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

+ *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.

*/ - JwtConfiguration?: JWTConfiguration; + IdentitySource?: string[]; /** - *

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

+ *

The authorizer identifier.

*/ - AuthorizerType?: AuthorizerType | string; + AuthorizerId: string | undefined; /** - *

The API identifier.

+ *

The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.

*/ - ApiId: string | undefined; + AuthorizerResultTtlInSeconds?: number; /** - *

This parameter is not used.

+ *

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ - IdentityValidationExpression?: string; + JwtConfiguration?: JWTConfiguration; /** - *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

+ *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter.

*/ AuthorizerCredentialsArn?: string; /** - *

The authorizer identifier.

+ *

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} + * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

*/ - AuthorizerId: string | undefined; + AuthorizerUri?: string; /** - *

Authorizer caching is not currently supported. Don't specify this value for authorizers.

+ *

Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

*/ - AuthorizerResultTtlInSeconds?: number; + AuthorizerPayloadFormatVersion?: string; /** - *

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} - * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

+ *

This parameter is not used.

*/ - AuthorizerUri?: string; + IdentityValidationExpression?: string; + + /** + *

The name of the authorizer.

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

Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs

+ */ + EnableSimpleResponses?: boolean; } export namespace UpdateAuthorizerRequest { @@ -4578,15 +4781,19 @@ export namespace UpdateAuthorizerRequest { export interface UpdateAuthorizerResponse { /** - *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".

+ *

Specifies whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs

+ */ + EnableSimpleResponses?: boolean; + + /** + *

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.

*/ IdentitySource?: string[]; /** - *

The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} - * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

+ *

The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).

*/ - AuthorizerUri?: string; + AuthorizerType?: AuthorizerType | string; /** *

The name of the authorizer.

@@ -4599,19 +4806,20 @@ export interface UpdateAuthorizerResponse { IdentityValidationExpression?: string; /** - *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

+ *

The authorizer identifier.

*/ - AuthorizerCredentialsArn?: string; + AuthorizerId?: string; /** - *

Authorizer caching is not currently supported. Don't specify this value for authorizers.

+ *

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api} + * , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

*/ - AuthorizerResultTtlInSeconds?: number; + AuthorizerUri?: string; /** - *

The authorizer identifier.

+ *

The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.

*/ - AuthorizerId?: string; + AuthorizerResultTtlInSeconds?: number; /** *

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

@@ -4619,9 +4827,14 @@ export interface UpdateAuthorizerResponse { JwtConfiguration?: JWTConfiguration; /** - *

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

+ *

Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.

*/ - AuthorizerType?: AuthorizerType | string; + AuthorizerPayloadFormatVersion?: string; + + /** + *

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter. Supported only for REQUEST authorizers.

+ */ + AuthorizerCredentialsArn?: string; } export namespace UpdateAuthorizerResponse { @@ -4635,14 +4848,14 @@ export namespace UpdateAuthorizerResponse { */ export interface UpdateDeploymentRequest { /** - *

The deployment ID.

+ *

The API identifier.

*/ - DeploymentId: string | undefined; + ApiId: string | undefined; /** - *

The API identifier.

+ *

The deployment ID.

*/ - ApiId: string | undefined; + DeploymentId: string | undefined; /** *

The description for the deployment resource.

@@ -4658,20 +4871,25 @@ export namespace UpdateDeploymentRequest { export interface UpdateDeploymentResponse { /** - *

The identifier for the deployment.

+ *

The description for the deployment.

*/ - DeploymentId?: string; + Description?: string; /** - *

The description for the deployment.

+ *

May contain additional feedback on the status of an API deployment.

*/ - Description?: string; + DeploymentStatusMessage?: string; /** *

The status of the deployment: PENDING, FAILED, or SUCCEEDED.

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

The identifier for the deployment.

+ */ + DeploymentId?: string; + /** *

Specifies whether a deployment was automatically released.

*/ @@ -4681,11 +4899,6 @@ export interface UpdateDeploymentResponse { *

The date and time when the Deployment resource was created.

*/ CreatedDate?: Date; - - /** - *

May contain additional feedback on the status of an API deployment.

- */ - DeploymentStatusMessage?: string; } export namespace UpdateDeploymentResponse { @@ -4698,6 +4911,11 @@ export namespace UpdateDeploymentResponse { *

Updates a DomainName.

*/ export interface UpdateDomainNameRequest { + /** + *

The mutual TLS authentication configuration for a custom domain name.

+ */ + MutualTlsAuthentication?: MutualTlsAuthenticationInput; + /** *

The domain name configurations.

*/ @@ -4717,14 +4935,19 @@ export namespace UpdateDomainNameRequest { export interface UpdateDomainNameResponse { /** - *

The domain name configurations.

+ *

The collection of tags associated with a domain name.

*/ - DomainNameConfigurations?: DomainNameConfiguration[]; + Tags?: { [key: string]: string }; /** - *

The collection of tags associated with a domain name.

+ *

The mutual TLS authentication configuration for a custom domain name.

*/ - Tags?: { [key: string]: string }; + MutualTlsAuthentication?: MutualTlsAuthentication; + + /** + *

The domain name configurations.

+ */ + DomainNameConfigurations?: DomainNameConfiguration[]; /** *

The API mapping selection expression.

@@ -4748,9 +4971,9 @@ export namespace UpdateDomainNameResponse { */ export interface UpdateIntegrationRequest { /** - *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

+ *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

*/ - PayloadFormatVersion?: string; + TimeoutInMillis?: number; /** *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

@@ -4758,9 +4981,9 @@ export interface UpdateIntegrationRequest { TlsConfig?: TlsConfigInput; /** - *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

+ *

Specifies the integration's HTTP method type.

*/ - TimeoutInMillis?: number; + IntegrationMethod?: string; /** *

The description of the integration

@@ -4768,74 +4991,75 @@ export interface UpdateIntegrationRequest { Description?: string; /** - *

The API identifier.

+ *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

*/ - ApiId: string | undefined; + PassthroughBehavior?: PassthroughBehavior | string; /** - *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

+ *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

*/ IntegrationType?: IntegrationType | string; /** - *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

+ *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

*/ - CredentialsArn?: string; + IntegrationUri?: string; /** - *

The integration ID.

+ *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

*/ - IntegrationId: string | undefined; + RequestTemplates?: { [key: string]: string }; /** - *

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

+ *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

*/ - ConnectionType?: ConnectionType | string; + ConnectionId?: string; /** - *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

+ *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.

*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationSubtype?: string; /** - *

The template selection expression for the integration.

+ *

For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} + * , where {location} is querystring, path, or header; and {name} must be a valid and unique method request parameter name.

For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.

*/ - TemplateSelectionExpression?: string; + RequestParameters?: { [key: string]: string }; /** - *

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} - * , where - * {location} - * is querystring, path, or header; and - * {name} - * must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

+ *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

*/ - RequestParameters?: { [key: string]: string }; + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

+ *

The API identifier.

*/ - IntegrationUri?: string; + ApiId: string | undefined; /** - *

Specifies the integration's HTTP method type.

+ *

The template selection expression for the integration.

*/ - IntegrationMethod?: string; + TemplateSelectionExpression?: string; /** - *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

+ *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

*/ - PassthroughBehavior?: PassthroughBehavior | string; + PayloadFormatVersion?: string; /** - *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

+ *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

*/ - RequestTemplates?: { [key: string]: string }; + CredentialsArn?: string; /** - *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

+ *

The integration ID.

*/ - ConnectionId?: string; + IntegrationId: string | undefined; + + /** + *

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

+ */ + ConnectionType?: ConnectionType | string; } export namespace UpdateIntegrationRequest { @@ -4846,14 +5070,19 @@ export namespace UpdateIntegrationRequest { export interface UpdateIntegrationResult { /** - *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

+ *

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationResponseSelectionExpression?: string; /** - *

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

+ *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.

*/ - ApiGatewayManaged?: boolean; + IntegrationSubtype?: string; + + /** + *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

+ */ + IntegrationUri?: string; /** *

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

@@ -4861,59 +5090,60 @@ export interface UpdateIntegrationResult { CredentialsArn?: string; /** - *

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

+ *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

*/ - IntegrationResponseSelectionExpression?: string; + RequestTemplates?: { [key: string]: string }; /** - *

Represents the description of an integration.

+ *

Represents the identifier of an integration.

*/ - Description?: string; + IntegrationId?: string; /** - *

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

+ *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

*/ - RequestTemplates?: { [key: string]: string }; + ConnectionId?: string; /** - *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

+ *

The template selection expression for the integration. Supported only for WebSocket APIs.

*/ - IntegrationType?: IntegrationType | string; + TemplateSelectionExpression?: string; /** - *

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

+ *

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

*/ - IntegrationUri?: string; + ApiGatewayManaged?: boolean; /** - *

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

+ *

Specifies the integration's HTTP method type.

*/ - ConnectionId?: string; + IntegrationMethod?: string; /** - *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

+ *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

*/ - TlsConfig?: TlsConfig; + PassthroughBehavior?: PassthroughBehavior | string; /** - *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

+ *

For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} + * , where {location} is querystring, path, or header; and {name} must be a valid and unique method request parameter name.

For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.

*/ - TimeoutInMillis?: number; + RequestParameters?: { [key: string]: string }; /** - *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

+ *

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

*/ - PayloadFormatVersion?: string; + TlsConfig?: TlsConfig; /** - *

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

+ *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

*/ - PassthroughBehavior?: PassthroughBehavior | string; + TimeoutInMillis?: number; /** - *

Specifies the integration's HTTP method type.

+ *

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

*/ - IntegrationMethod?: string; + PayloadFormatVersion?: string; /** *

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

@@ -4921,24 +5151,19 @@ export interface UpdateIntegrationResult { ConnectionType?: ConnectionType | string; /** - *

The template selection expression for the integration. Supported only for WebSocket APIs.

+ *

Represents the description of an integration.

*/ - TemplateSelectionExpression?: string; + Description?: string; /** - *

Represents the identifier of an integration.

+ *

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.

*/ - IntegrationId?: string; + IntegrationType?: IntegrationType | string; /** - *

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} - * , where - * {location} - * is querystring, path, or header; and - * {name} - * must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

+ *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

*/ - RequestParameters?: { [key: string]: string }; + ContentHandlingStrategy?: ContentHandlingStrategy | string; } export namespace UpdateIntegrationResult { @@ -4951,6 +5176,21 @@ export namespace UpdateIntegrationResult { *

Updates an IntegrationResponses.

*/ export interface UpdateIntegrationResponseRequest { + /** + *

The template selection expression for the integration response. Supported only for WebSocket APIs.

+ */ + TemplateSelectionExpression?: string; + + /** + *

The integration response key.

+ */ + IntegrationResponseKey?: string; + + /** + *

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

+ */ + ResponseTemplates?: { [key: string]: string }; + /** *

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name} * , where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} @@ -4964,19 +5204,9 @@ export interface UpdateIntegrationResponseRequest { ResponseParameters?: { [key: string]: string }; /** - *

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

- */ - ResponseTemplates?: { [key: string]: string }; - - /** - *

The template selection expression for the integration response. Supported only for WebSocket APIs.

- */ - TemplateSelectionExpression?: string; - - /** - *

The API identifier.

+ *

The integration ID.

*/ - ApiId: string | undefined; + IntegrationId: string | undefined; /** *

The integration response ID.

@@ -4989,14 +5219,9 @@ export interface UpdateIntegrationResponseRequest { ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *

The integration ID.

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

The integration response key.

+ *

The API identifier.

*/ - IntegrationResponseKey?: string; + ApiId: string | undefined; } export namespace UpdateIntegrationResponseRequest { @@ -5007,24 +5232,24 @@ export namespace UpdateIntegrationResponseRequest { export interface UpdateIntegrationResponseResponse { /** - *

The template selection expressions for the integration response.

+ *

The integration response key.

*/ - TemplateSelectionExpression?: string; + IntegrationResponseKey?: string; /** - *

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

+ *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

*/ - ResponseParameters?: { [key: string]: string }; + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *

The integration response key.

+ *

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

*/ - IntegrationResponseKey?: string; + ResponseTemplates?: { [key: string]: string }; /** - *

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

+ *

The template selection expressions for the integration response.

*/ - ResponseTemplates?: { [key: string]: string }; + TemplateSelectionExpression?: string; /** *

The integration response ID.

@@ -5032,9 +5257,9 @@ export interface UpdateIntegrationResponseResponse { IntegrationResponseId?: string; /** - *

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

+ *

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + ResponseParameters?: { [key: string]: string }; } export namespace UpdateIntegrationResponseResponse { @@ -5053,14 +5278,14 @@ export interface UpdateModelRequest { ApiId: string | undefined; /** - *

The model ID.

+ *

The description of the model.

*/ - ModelId: string | undefined; + Description?: string; /** - *

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

+ *

The model ID.

*/ - Schema?: string; + ModelId: string | undefined; /** *

The name of the model.

@@ -5068,14 +5293,14 @@ export interface UpdateModelRequest { Name?: string; /** - *

The content-type for the model, for example, "application/json".

+ *

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

*/ - ContentType?: string; + Schema?: string; /** - *

The description of the model.

+ *

The content-type for the model, for example, "application/json".

*/ - Description?: string; + ContentType?: string; } export namespace UpdateModelRequest { @@ -5086,14 +5311,19 @@ export namespace UpdateModelRequest { export interface UpdateModelResponse { /** - *

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

+ *

The name of the model. Must be alphanumeric.

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

The description of the model.

+ *

The model identifier.

*/ - Description?: string; + ModelId?: string; + + /** + *

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

+ */ + Schema?: string; /** *

The content-type for the model, for example, "application/json".

@@ -5101,14 +5331,9 @@ export interface UpdateModelResponse { ContentType?: string; /** - *

The name of the model. Must be alphanumeric.

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

The model identifier.

+ *

The description of the model.

*/ - ModelId?: string; + Description?: string; } export namespace UpdateModelResponse { @@ -5121,45 +5346,45 @@ export namespace UpdateModelResponse { *

Updates a Route.

*/ export interface UpdateRouteRequest { - /** - *

The request models for the route. Supported only for WebSocket APIs.

- */ - RequestModels?: { [key: string]: string }; - /** *

The request parameters for the route. Supported only for WebSocket APIs.

*/ RequestParameters?: { [key: string]: ParameterConstraints }; /** - *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

+ *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.

*/ AuthorizationType?: AuthorizationType | string; /** - *

The route ID.

+ *

The operation name for the route.

*/ - RouteId: string | undefined; + OperationName?: string; /** - *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

+ *

The route key for the route.

*/ - AuthorizerId?: string; + RouteKey?: string; /** - *

The API identifier.

+ *

The authorization scopes supported by this route.

*/ - ApiId: string | undefined; + AuthorizationScopes?: string[]; /** - *

The route response selection expression for the route. Supported only for WebSocket APIs.

+ *

Specifies whether an API key is required for the route. Supported only for WebSocket APIs.

*/ - RouteResponseSelectionExpression?: string; + ApiKeyRequired?: boolean; /** - *

The target for the route.

+ *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

*/ - Target?: string; + AuthorizerId?: string; + + /** + *

The route response selection expression for the route. Supported only for WebSocket APIs.

+ */ + RouteResponseSelectionExpression?: string; /** *

The model selection expression for the route. Supported only for WebSocket APIs.

@@ -5167,24 +5392,24 @@ export interface UpdateRouteRequest { ModelSelectionExpression?: string; /** - *

The authorization scopes supported by this route.

+ *

The API identifier.

*/ - AuthorizationScopes?: string[]; + ApiId: string | undefined; /** - *

Specifies whether an API key is required for the route. Supported only for WebSocket APIs.

+ *

The route ID.

*/ - ApiKeyRequired?: boolean; + RouteId: string | undefined; /** - *

The route key for the route.

+ *

The target for the route.

*/ - RouteKey?: string; + Target?: string; /** - *

The operation name for the route.

+ *

The request models for the route. Supported only for WebSocket APIs.

*/ - OperationName?: string; + RequestModels?: { [key: string]: string }; } export namespace UpdateRouteRequest { @@ -5195,69 +5420,69 @@ export namespace UpdateRouteRequest { export interface UpdateRouteResult { /** - *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

+ *

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

*/ - AuthorizationType?: AuthorizationType | string; + AuthorizationScopes?: string[]; /** - *

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

+ *

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

*/ - ApiKeyRequired?: boolean; + ApiGatewayManaged?: boolean; /** - *

The request parameters for the route. Supported only for WebSocket APIs.

+ *

The model selection expression for the route. Supported only for WebSocket APIs.

*/ - RequestParameters?: { [key: string]: ParameterConstraints }; + ModelSelectionExpression?: string; /** - *

The request models for the route. Supported only for WebSocket APIs.

+ *

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.

*/ - RequestModels?: { [key: string]: string }; + AuthorizationType?: AuthorizationType | string; /** - *

The target for the route.

+ *

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

*/ - Target?: string; + ApiKeyRequired?: boolean; /** - *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

+ *

The route key for the route.

*/ - AuthorizerId?: string; + RouteKey?: string; /** - *

The route ID.

+ *

The route response selection expression for the route. Supported only for WebSocket APIs.

*/ - RouteId?: string; + RouteResponseSelectionExpression?: string; /** - *

The route response selection expression for the route. Supported only for WebSocket APIs.

+ *

The operation name for the route.

*/ - RouteResponseSelectionExpression?: string; + OperationName?: string; /** - *

The model selection expression for the route. Supported only for WebSocket APIs.

+ *

The request parameters for the route. Supported only for WebSocket APIs.

*/ - ModelSelectionExpression?: string; + RequestParameters?: { [key: string]: ParameterConstraints }; /** - *

The operation name for the route.

+ *

The route ID.

*/ - OperationName?: string; + RouteId?: string; /** - *

The route key for the route.

+ *

The request models for the route. Supported only for WebSocket APIs.

*/ - RouteKey?: string; + RequestModels?: { [key: string]: string }; /** - *

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

+ *

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

*/ - ApiGatewayManaged?: boolean; + AuthorizerId?: string; /** - *

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

+ *

The target for the route.

*/ - AuthorizationScopes?: string[]; + Target?: string; } export namespace UpdateRouteResult { @@ -5270,40 +5495,40 @@ export namespace UpdateRouteResult { *

Updates a RouteResponse.

*/ export interface UpdateRouteResponseRequest { + /** + *

The route ID.

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

The model selection expression for the route response. Supported only for WebSocket APIs.

*/ ModelSelectionExpression?: string; /** - *

The route response key.

+ *

The response models for the route response.

*/ - RouteResponseKey?: string; + ResponseModels?: { [key: string]: string }; /** - *

The route ID.

+ *

The route response ID.

*/ - RouteId: string | undefined; + RouteResponseId: string | undefined; /** - *

The API identifier.

+ *

The route response key.

*/ - ApiId: string | undefined; + RouteResponseKey?: string; /** - *

The response models for the route response.

+ *

The API identifier.

*/ - ResponseModels?: { [key: string]: string }; + ApiId: string | undefined; /** *

The route response parameters.

*/ ResponseParameters?: { [key: string]: ParameterConstraints }; - - /** - *

The route response ID.

- */ - RouteResponseId: string | undefined; } export namespace UpdateRouteResponseRequest { @@ -5319,24 +5544,24 @@ export interface UpdateRouteResponseResponse { ResponseModels?: { [key: string]: string }; /** - *

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

+ *

Represents the route response key of a route response.

*/ - ModelSelectionExpression?: string; + RouteResponseKey?: string; /** - *

Represents the response parameters of a route response.

+ *

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

*/ - ResponseParameters?: { [key: string]: ParameterConstraints }; + ModelSelectionExpression?: string; /** - *

Represents the route response key of a route response.

+ *

Represents the identifier of a route response.

*/ - RouteResponseKey?: string; + RouteResponseId?: string; /** - *

Represents the identifier of a route response.

+ *

Represents the response parameters of a route response.

*/ - RouteResponseId?: string; + ResponseParameters?: { [key: string]: ParameterConstraints }; } export namespace UpdateRouteResponseResponse { @@ -5350,9 +5575,9 @@ export namespace UpdateRouteResponseResponse { */ export interface UpdateStageRequest { /** - *

The identifier of a client certificate for a Stage.

+ *

The default route settings for the stage.

*/ - ClientCertificateId?: string; + DefaultRouteSettings?: RouteSettings; /** *

Route settings for the stage.

@@ -5365,14 +5590,14 @@ export interface UpdateStageRequest { AccessLogSettings?: AccessLogSettings; /** - *

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

+ *

The API identifier.

*/ - AutoDeploy?: boolean; + ApiId: string | undefined; /** - *

The description for the API stage.

+ *

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

*/ - Description?: string; + StageName: string | undefined; /** *

A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

@@ -5380,24 +5605,24 @@ export interface UpdateStageRequest { StageVariables?: { [key: string]: string }; /** - *

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

+ *

The description for the API stage.

*/ - StageName: string | undefined; + Description?: string; /** - *

The default route settings for the stage.

+ *

The deployment identifier for the API stage. Can't be updated if autoDeploy is enabled.

*/ - DefaultRouteSettings?: RouteSettings; + DeploymentId?: string; /** - *

The deployment identifier for the API stage. Can't be updated if autoDeploy is enabled.

+ *

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

*/ - DeploymentId?: string; + AutoDeploy?: boolean; /** - *

The API identifier.

+ *

The identifier of a client certificate for a Stage.

*/ - ApiId: string | undefined; + ClientCertificateId?: string; } export namespace UpdateStageRequest { @@ -5413,29 +5638,29 @@ export interface UpdateStageResponse { ApiGatewayManaged?: boolean; /** - *

Route settings for the stage, by routeKey.

+ *

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

*/ - RouteSettings?: { [key: string]: RouteSettings }; + AutoDeploy?: boolean; /** - *

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

+ *

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

*/ - AutoDeploy?: boolean; + StageVariables?: { [key: string]: string }; /** - *

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

+ *

The description of the stage.

*/ - DeploymentId?: string; + Description?: string; /** - *

The timestamp when the stage was created.

+ *

The name of the stage.

*/ - CreatedDate?: Date; + StageName?: string; /** - *

The timestamp when the stage was last updated.

+ *

Route settings for the stage, by routeKey.

*/ - LastUpdatedDate?: Date; + RouteSettings?: { [key: string]: RouteSettings }; /** *

Settings for logging access in this stage.

@@ -5443,39 +5668,39 @@ export interface UpdateStageResponse { AccessLogSettings?: AccessLogSettings; /** - *

Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.

+ *

Default route settings for the stage.

*/ - LastDeploymentStatusMessage?: string; + DefaultRouteSettings?: RouteSettings; /** - *

The collection of tags. Each tag element is associated with a given resource.

+ *

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

*/ - Tags?: { [key: string]: string }; + ClientCertificateId?: string; /** - *

Default route settings for the stage.

+ *

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

*/ - DefaultRouteSettings?: RouteSettings; + DeploymentId?: string; /** - *

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

+ *

The timestamp when the stage was last updated.

*/ - ClientCertificateId?: string; + LastUpdatedDate?: Date; /** - *

The description of the stage.

+ *

The collection of tags. Each tag element is associated with a given resource.

*/ - Description?: string; + Tags?: { [key: string]: string }; /** - *

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

+ *

Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.

*/ - StageVariables?: { [key: string]: string }; + LastDeploymentStatusMessage?: string; /** - *

The name of the stage.

+ *

The timestamp when the stage was created.

*/ - StageName?: string; + CreatedDate?: Date; } export namespace UpdateStageResponse { @@ -5507,19 +5732,19 @@ export namespace UpdateVpcLinkRequest { export interface UpdateVpcLinkResponse { /** - *

The name of the VPC link.

+ *

Tags for the VPC link.

*/ - Name?: string; + Tags?: { [key: string]: string }; /** - *

The version of the VPC link.

+ *

A list of subnet IDs to include in the VPC link.

*/ - VpcLinkVersion?: VpcLinkVersion | string; + SubnetIds?: string[]; /** - *

A message summarizing the cause of the status of the VPC link.

+ *

The version of the VPC link.

*/ - VpcLinkStatusMessage?: string; + VpcLinkVersion?: VpcLinkVersion | string; /** *

The timestamp when the VPC link was created.

@@ -5527,29 +5752,29 @@ export interface UpdateVpcLinkResponse { CreatedDate?: Date; /** - *

A list of security group IDs for the VPC link.

+ *

The status of the VPC link.

*/ - SecurityGroupIds?: string[]; + VpcLinkStatus?: VpcLinkStatus | string; /** - *

The status of the VPC link.

+ *

The ID of the VPC link.

*/ - VpcLinkStatus?: VpcLinkStatus | string; + VpcLinkId?: string; /** - *

Tags for the VPC link.

+ *

A list of security group IDs for the VPC link.

*/ - Tags?: { [key: string]: string }; + SecurityGroupIds?: string[]; /** - *

The ID of the VPC link.

+ *

The name of the VPC link.

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

A list of subnet IDs to include in the VPC link.

+ *

A message summarizing the cause of the status of the VPC link.

*/ - SubnetIds?: string[]; + VpcLinkStatusMessage?: string; } export namespace UpdateVpcLinkResponse { diff --git a/clients/client-apigatewayv2/protocols/Aws_restJson1.ts b/clients/client-apigatewayv2/protocols/Aws_restJson1.ts index 046c26692ed8..b7433a079187 100644 --- a/clients/client-apigatewayv2/protocols/Aws_restJson1.ts +++ b/clients/client-apigatewayv2/protocols/Aws_restJson1.ts @@ -85,6 +85,10 @@ import { GetVpcLinkCommandInput, GetVpcLinkCommandOutput } from "../commands/Get import { GetVpcLinksCommandInput, GetVpcLinksCommandOutput } from "../commands/GetVpcLinksCommand"; import { ImportApiCommandInput, ImportApiCommandOutput } from "../commands/ImportApiCommand"; import { ReimportApiCommandInput, ReimportApiCommandOutput } from "../commands/ReimportApiCommand"; +import { + ResetAuthorizersCacheCommandInput, + ResetAuthorizersCacheCommandOutput, +} from "../commands/ResetAuthorizersCacheCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateApiCommandInput, UpdateApiCommandOutput } from "../commands/UpdateApiCommand"; @@ -121,6 +125,8 @@ import { IntegrationResponse, JWTConfiguration, Model, + MutualTlsAuthentication, + MutualTlsAuthenticationInput, NotFoundException, ParameterConstraints, Route, @@ -162,6 +168,9 @@ export const serializeAws_restJson1CreateApiCommand = async ( }), ...(input.CredentialsArn !== undefined && { credentialsArn: input.CredentialsArn }), ...(input.Description !== undefined && { description: input.Description }), + ...(input.DisableExecuteApiEndpoint !== undefined && { + disableExecuteApiEndpoint: input.DisableExecuteApiEndpoint, + }), ...(input.DisableSchemaValidation !== undefined && { disableSchemaValidation: input.DisableSchemaValidation }), ...(input.Name !== undefined && { name: input.Name }), ...(input.ProtocolType !== undefined && { protocolType: input.ProtocolType }), @@ -238,11 +247,15 @@ export const serializeAws_restJson1CreateAuthorizerCommand = async ( let body: any; body = JSON.stringify({ ...(input.AuthorizerCredentialsArn !== undefined && { authorizerCredentialsArn: input.AuthorizerCredentialsArn }), + ...(input.AuthorizerPayloadFormatVersion !== undefined && { + authorizerPayloadFormatVersion: input.AuthorizerPayloadFormatVersion, + }), ...(input.AuthorizerResultTtlInSeconds !== undefined && { authorizerResultTtlInSeconds: input.AuthorizerResultTtlInSeconds, }), ...(input.AuthorizerType !== undefined && { authorizerType: input.AuthorizerType }), ...(input.AuthorizerUri !== undefined && { authorizerUri: input.AuthorizerUri }), + ...(input.EnableSimpleResponses !== undefined && { enableSimpleResponses: input.EnableSimpleResponses }), ...(input.IdentitySource !== undefined && { identitySource: serializeAws_restJson1IdentitySourceList(input.IdentitySource, context), }), @@ -314,6 +327,12 @@ export const serializeAws_restJson1CreateDomainNameCommand = async ( ...(input.DomainNameConfigurations !== undefined && { domainNameConfigurations: serializeAws_restJson1DomainNameConfigurations(input.DomainNameConfigurations, context), }), + ...(input.MutualTlsAuthentication !== undefined && { + mutualTlsAuthentication: serializeAws_restJson1MutualTlsAuthenticationInput( + input.MutualTlsAuthentication, + context + ), + }), ...(input.Tags !== undefined && { tags: serializeAws_restJson1Tags(input.Tags, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); @@ -353,6 +372,7 @@ export const serializeAws_restJson1CreateIntegrationCommand = async ( ...(input.CredentialsArn !== undefined && { credentialsArn: input.CredentialsArn }), ...(input.Description !== undefined && { description: input.Description }), ...(input.IntegrationMethod !== undefined && { integrationMethod: input.IntegrationMethod }), + ...(input.IntegrationSubtype !== undefined && { integrationSubtype: input.IntegrationSubtype }), ...(input.IntegrationType !== undefined && { integrationType: input.IntegrationType }), ...(input.IntegrationUri !== undefined && { integrationUri: input.IntegrationUri }), ...(input.PassthroughBehavior !== undefined && { passthroughBehavior: input.PassthroughBehavior }), @@ -656,15 +676,6 @@ export const serializeAws_restJson1DeleteAccessLogSettingsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/stages/{StageName}/accesslogsettings"; - if (input.StageName !== undefined) { - const labelValue: string = input.StageName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: StageName."); - } - resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: StageName."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -674,6 +685,15 @@ export const serializeAws_restJson1DeleteAccessLogSettingsCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.StageName !== undefined) { + const labelValue: string = input.StageName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: StageName."); + } + resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: StageName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -764,15 +784,6 @@ export const serializeAws_restJson1DeleteAuthorizerCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/authorizers/{AuthorizerId}"; - if (input.ApiId !== undefined) { - const labelValue: string = input.ApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApiId."); - } - resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApiId."); - } if (input.AuthorizerId !== undefined) { const labelValue: string = input.AuthorizerId; if (labelValue.length <= 0) { @@ -782,6 +793,15 @@ export const serializeAws_restJson1DeleteAuthorizerCommand = async ( } else { throw new Error("No value provided for input HTTP label: AuthorizerId."); } + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApiId."); + } + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApiId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -833,15 +853,6 @@ export const serializeAws_restJson1DeleteDeploymentCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/deployments/{DeploymentId}"; - if (input.ApiId !== undefined) { - const labelValue: string = input.ApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApiId."); - } - resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApiId."); - } if (input.DeploymentId !== undefined) { const labelValue: string = input.DeploymentId; if (labelValue.length <= 0) { @@ -851,6 +862,15 @@ export const serializeAws_restJson1DeleteDeploymentCommand = async ( } else { throw new Error("No value provided for input HTTP label: DeploymentId."); } + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApiId."); + } + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApiId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1067,6 +1087,15 @@ export const serializeAws_restJson1DeleteRouteRequestParameterCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/routes/{RouteId}/requestparameters/{RequestParameterKey}"; + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApiId."); + } + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApiId."); + } if (input.RouteId !== undefined) { const labelValue: string = input.RouteId; if (labelValue.length <= 0) { @@ -1085,15 +1114,6 @@ export const serializeAws_restJson1DeleteRouteRequestParameterCommand = async ( } else { throw new Error("No value provided for input HTTP label: RequestParameterKey."); } - if (input.ApiId !== undefined) { - const labelValue: string = input.ApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApiId."); - } - resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApiId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1115,6 +1135,15 @@ export const serializeAws_restJson1DeleteRouteResponseCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/routes/{RouteId}/routeresponses/{RouteResponseId}"; + if (input.RouteId !== undefined) { + const labelValue: string = input.RouteId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RouteId."); + } + resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RouteId."); + } if (input.RouteResponseId !== undefined) { const labelValue: string = input.RouteResponseId; if (labelValue.length <= 0) { @@ -1133,15 +1162,6 @@ export const serializeAws_restJson1DeleteRouteResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } - if (input.RouteId !== undefined) { - const labelValue: string = input.RouteId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RouteId."); - } - resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RouteId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1299,10 +1319,10 @@ export const serializeAws_restJson1ExportApiCommand = async ( throw new Error("No value provided for input HTTP label: Specification."); } const query: any = { - ...(input.ExportVersion !== undefined && { exportVersion: input.ExportVersion }), - ...(input.OutputType !== undefined && { outputType: input.OutputType }), - ...(input.StageName !== undefined && { stageName: input.StageName }), ...(input.IncludeExtensions !== undefined && { includeExtensions: input.IncludeExtensions.toString() }), + ...(input.StageName !== undefined && { stageName: input.StageName }), + ...(input.OutputType !== undefined && { outputType: input.OutputType }), + ...(input.ExportVersion !== undefined && { exportVersion: input.ExportVersion }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1356,15 +1376,6 @@ export const serializeAws_restJson1GetApiMappingCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/domainnames/{DomainName}/apimappings/{ApiMappingId}"; - if (input.DomainName !== undefined) { - const labelValue: string = input.DomainName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DomainName."); - } - resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DomainName."); - } if (input.ApiMappingId !== undefined) { const labelValue: string = input.ApiMappingId; if (labelValue.length <= 0) { @@ -1374,6 +1385,15 @@ export const serializeAws_restJson1GetApiMappingCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiMappingId."); } + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1505,8 +1525,8 @@ export const serializeAws_restJson1GetAuthorizersCommand = async ( throw new Error("No value provided for input HTTP label: ApiId."); } const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1579,8 +1599,8 @@ export const serializeAws_restJson1GetDeploymentsCommand = async ( throw new Error("No value provided for input HTTP label: ApiId."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1660,15 +1680,6 @@ export const serializeAws_restJson1GetIntegrationCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/integrations/{IntegrationId}"; - if (input.IntegrationId !== undefined) { - const labelValue: string = input.IntegrationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: IntegrationId."); - } - resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: IntegrationId."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -1678,6 +1689,15 @@ export const serializeAws_restJson1GetIntegrationCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.IntegrationId !== undefined) { + const labelValue: string = input.IntegrationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: IntegrationId."); + } + resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: IntegrationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1708,15 +1728,6 @@ export const serializeAws_restJson1GetIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } - if (input.IntegrationId !== undefined) { - const labelValue: string = input.IntegrationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: IntegrationId."); - } - resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: IntegrationId."); - } if (input.IntegrationResponseId !== undefined) { const labelValue: string = input.IntegrationResponseId; if (labelValue.length <= 0) { @@ -1726,6 +1737,15 @@ export const serializeAws_restJson1GetIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: IntegrationResponseId."); } + if (input.IntegrationId !== undefined) { + const labelValue: string = input.IntegrationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: IntegrationId."); + } + resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: IntegrationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1801,8 +1821,8 @@ export const serializeAws_restJson1GetIntegrationsCommand = async ( throw new Error("No value provided for input HTTP label: ApiId."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1978,15 +1998,6 @@ export const serializeAws_restJson1GetRouteResponseCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/routes/{RouteId}/routeresponses/{RouteResponseId}"; - if (input.RouteResponseId !== undefined) { - const labelValue: string = input.RouteResponseId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RouteResponseId."); - } - resolvedPath = resolvedPath.replace("{RouteResponseId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RouteResponseId."); - } if (input.RouteId !== undefined) { const labelValue: string = input.RouteId; if (labelValue.length <= 0) { @@ -2005,6 +2016,15 @@ export const serializeAws_restJson1GetRouteResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.RouteResponseId !== undefined) { + const labelValue: string = input.RouteResponseId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RouteResponseId."); + } + resolvedPath = resolvedPath.replace("{RouteResponseId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RouteResponseId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2026,15 +2046,6 @@ export const serializeAws_restJson1GetRouteResponsesCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/routes/{RouteId}/routeresponses"; - if (input.RouteId !== undefined) { - const labelValue: string = input.RouteId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RouteId."); - } - resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RouteId."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -2044,9 +2055,18 @@ export const serializeAws_restJson1GetRouteResponsesCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.RouteId !== undefined) { + const labelValue: string = input.RouteId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RouteId."); + } + resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RouteId."); + } const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2080,8 +2100,8 @@ export const serializeAws_restJson1GetRoutesCommand = async ( throw new Error("No value provided for input HTTP label: ApiId."); } const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2105,15 +2125,6 @@ export const serializeAws_restJson1GetStageCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/stages/{StageName}"; - if (input.StageName !== undefined) { - const labelValue: string = input.StageName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: StageName."); - } - resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: StageName."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -2123,6 +2134,15 @@ export const serializeAws_restJson1GetStageCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.StageName !== undefined) { + const labelValue: string = input.StageName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: StageName."); + } + resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: StageName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2266,8 +2286,8 @@ export const serializeAws_restJson1ImportApiCommand = async ( }; let resolvedPath = "/v2/apis"; const query: any = { - ...(input.Basepath !== undefined && { basepath: input.Basepath }), ...(input.FailOnWarnings !== undefined && { failOnWarnings: input.FailOnWarnings.toString() }), + ...(input.Basepath !== undefined && { basepath: input.Basepath }), }; let body: any; body = JSON.stringify({ @@ -2324,6 +2344,45 @@ export const serializeAws_restJson1ReimportApiCommand = async ( }); }; +export const serializeAws_restJson1ResetAuthorizersCacheCommand = async ( + input: ResetAuthorizersCacheCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v2/apis/{ApiId}/stages/{StageName}/cache/authorizers"; + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApiId."); + } + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApiId."); + } + if (input.StageName !== undefined) { + const labelValue: string = input.StageName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: StageName."); + } + resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: StageName."); + } + 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_restJson1TagResourceCommand = async ( input: TagResourceCommandInput, context: __SerdeContext @@ -2418,6 +2477,9 @@ export const serializeAws_restJson1UpdateApiCommand = async ( }), ...(input.CredentialsArn !== undefined && { credentialsArn: input.CredentialsArn }), ...(input.Description !== undefined && { description: input.Description }), + ...(input.DisableExecuteApiEndpoint !== undefined && { + disableExecuteApiEndpoint: input.DisableExecuteApiEndpoint, + }), ...(input.DisableSchemaValidation !== undefined && { disableSchemaValidation: input.DisableSchemaValidation }), ...(input.Name !== undefined && { name: input.Name }), ...(input.RouteKey !== undefined && { routeKey: input.RouteKey }), @@ -2510,11 +2572,15 @@ export const serializeAws_restJson1UpdateAuthorizerCommand = async ( let body: any; body = JSON.stringify({ ...(input.AuthorizerCredentialsArn !== undefined && { authorizerCredentialsArn: input.AuthorizerCredentialsArn }), + ...(input.AuthorizerPayloadFormatVersion !== undefined && { + authorizerPayloadFormatVersion: input.AuthorizerPayloadFormatVersion, + }), ...(input.AuthorizerResultTtlInSeconds !== undefined && { authorizerResultTtlInSeconds: input.AuthorizerResultTtlInSeconds, }), ...(input.AuthorizerType !== undefined && { authorizerType: input.AuthorizerType }), ...(input.AuthorizerUri !== undefined && { authorizerUri: input.AuthorizerUri }), + ...(input.EnableSimpleResponses !== undefined && { enableSimpleResponses: input.EnableSimpleResponses }), ...(input.IdentitySource !== undefined && { identitySource: serializeAws_restJson1IdentitySourceList(input.IdentitySource, context), }), @@ -2546,15 +2612,6 @@ export const serializeAws_restJson1UpdateDeploymentCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v2/apis/{ApiId}/deployments/{DeploymentId}"; - if (input.DeploymentId !== undefined) { - const labelValue: string = input.DeploymentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DeploymentId."); - } - resolvedPath = resolvedPath.replace("{DeploymentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DeploymentId."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -2564,6 +2621,15 @@ export const serializeAws_restJson1UpdateDeploymentCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.DeploymentId !== undefined) { + const labelValue: string = input.DeploymentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DeploymentId."); + } + resolvedPath = resolvedPath.replace("{DeploymentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DeploymentId."); + } let body: any; body = JSON.stringify({ ...(input.Description !== undefined && { description: input.Description }), @@ -2602,6 +2668,12 @@ export const serializeAws_restJson1UpdateDomainNameCommand = async ( ...(input.DomainNameConfigurations !== undefined && { domainNameConfigurations: serializeAws_restJson1DomainNameConfigurations(input.DomainNameConfigurations, context), }), + ...(input.MutualTlsAuthentication !== undefined && { + mutualTlsAuthentication: serializeAws_restJson1MutualTlsAuthenticationInput( + input.MutualTlsAuthentication, + context + ), + }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2649,6 +2721,7 @@ export const serializeAws_restJson1UpdateIntegrationCommand = async ( ...(input.CredentialsArn !== undefined && { credentialsArn: input.CredentialsArn }), ...(input.Description !== undefined && { description: input.Description }), ...(input.IntegrationMethod !== undefined && { integrationMethod: input.IntegrationMethod }), + ...(input.IntegrationSubtype !== undefined && { integrationSubtype: input.IntegrationSubtype }), ...(input.IntegrationType !== undefined && { integrationType: input.IntegrationType }), ...(input.IntegrationUri !== undefined && { integrationUri: input.IntegrationUri }), ...(input.PassthroughBehavior !== undefined && { passthroughBehavior: input.PassthroughBehavior }), @@ -2685,14 +2758,14 @@ export const serializeAws_restJson1UpdateIntegrationResponseCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v2/apis/{ApiId}/integrations/{IntegrationId}/integrationresponses/{IntegrationResponseId}"; - if (input.ApiId !== undefined) { - const labelValue: string = input.ApiId; + if (input.IntegrationId !== undefined) { + const labelValue: string = input.IntegrationId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApiId."); + throw new Error("Empty value provided for input HTTP label: IntegrationId."); } - resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ApiId."); + throw new Error("No value provided for input HTTP label: IntegrationId."); } if (input.IntegrationResponseId !== undefined) { const labelValue: string = input.IntegrationResponseId; @@ -2703,14 +2776,14 @@ export const serializeAws_restJson1UpdateIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: IntegrationResponseId."); } - if (input.IntegrationId !== undefined) { - const labelValue: string = input.IntegrationId; + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: IntegrationId."); + throw new Error("Empty value provided for input HTTP label: ApiId."); } - resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: IntegrationId."); + throw new Error("No value provided for input HTTP label: ApiId."); } let body: any; body = JSON.stringify({ @@ -2791,15 +2864,6 @@ export const serializeAws_restJson1UpdateRouteCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v2/apis/{ApiId}/routes/{RouteId}"; - if (input.RouteId !== undefined) { - const labelValue: string = input.RouteId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RouteId."); - } - resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RouteId."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -2809,6 +2873,15 @@ export const serializeAws_restJson1UpdateRouteCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.RouteId !== undefined) { + const labelValue: string = input.RouteId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RouteId."); + } + resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RouteId."); + } let body: any; body = JSON.stringify({ ...(input.ApiKeyRequired !== undefined && { apiKeyRequired: input.ApiKeyRequired }), @@ -2860,15 +2933,6 @@ export const serializeAws_restJson1UpdateRouteResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: RouteId."); } - if (input.ApiId !== undefined) { - const labelValue: string = input.ApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApiId."); - } - resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApiId."); - } if (input.RouteResponseId !== undefined) { const labelValue: string = input.RouteResponseId; if (labelValue.length <= 0) { @@ -2878,6 +2942,15 @@ export const serializeAws_restJson1UpdateRouteResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: RouteResponseId."); } + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApiId."); + } + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApiId."); + } let body: any; body = JSON.stringify({ ...(input.ModelSelectionExpression !== undefined && { modelSelectionExpression: input.ModelSelectionExpression }), @@ -2909,15 +2982,6 @@ export const serializeAws_restJson1UpdateStageCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v2/apis/{ApiId}/stages/{StageName}"; - if (input.StageName !== undefined) { - const labelValue: string = input.StageName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: StageName."); - } - resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: StageName."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -2927,6 +2991,15 @@ export const serializeAws_restJson1UpdateStageCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.StageName !== undefined) { + const labelValue: string = input.StageName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: StageName."); + } + resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: StageName."); + } let body: any; body = JSON.stringify({ ...(input.AccessLogSettings !== undefined && { @@ -3001,11 +3074,13 @@ export const deserializeAws_restJson1CreateApiCommand = async ( const contents: CreateApiCommandOutput = { $metadata: deserializeMetadata(output), ApiEndpoint: undefined, + ApiGatewayManaged: undefined, ApiId: undefined, ApiKeySelectionExpression: undefined, CorsConfiguration: undefined, CreatedDate: undefined, Description: undefined, + DisableExecuteApiEndpoint: undefined, DisableSchemaValidation: undefined, ImportInfo: undefined, Name: undefined, @@ -3019,6 +3094,9 @@ export const deserializeAws_restJson1CreateApiCommand = async ( if (data.apiEndpoint !== undefined && data.apiEndpoint !== null) { contents.ApiEndpoint = data.apiEndpoint; } + if (data.apiGatewayManaged !== undefined && data.apiGatewayManaged !== null) { + contents.ApiGatewayManaged = data.apiGatewayManaged; + } if (data.apiId !== undefined && data.apiId !== null) { contents.ApiId = data.apiId; } @@ -3034,6 +3112,9 @@ export const deserializeAws_restJson1CreateApiCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.disableExecuteApiEndpoint !== undefined && data.disableExecuteApiEndpoint !== null) { + contents.DisableExecuteApiEndpoint = data.disableExecuteApiEndpoint; + } if (data.disableSchemaValidation !== undefined && data.disableSchemaValidation !== null) { contents.DisableSchemaValidation = data.disableSchemaValidation; } @@ -3224,9 +3305,11 @@ export const deserializeAws_restJson1CreateAuthorizerCommand = async ( $metadata: deserializeMetadata(output), AuthorizerCredentialsArn: undefined, AuthorizerId: undefined, + AuthorizerPayloadFormatVersion: undefined, AuthorizerResultTtlInSeconds: undefined, AuthorizerType: undefined, AuthorizerUri: undefined, + EnableSimpleResponses: undefined, IdentitySource: undefined, IdentityValidationExpression: undefined, JwtConfiguration: undefined, @@ -3239,6 +3322,9 @@ export const deserializeAws_restJson1CreateAuthorizerCommand = async ( if (data.authorizerId !== undefined && data.authorizerId !== null) { contents.AuthorizerId = data.authorizerId; } + if (data.authorizerPayloadFormatVersion !== undefined && data.authorizerPayloadFormatVersion !== null) { + contents.AuthorizerPayloadFormatVersion = data.authorizerPayloadFormatVersion; + } if (data.authorizerResultTtlInSeconds !== undefined && data.authorizerResultTtlInSeconds !== null) { contents.AuthorizerResultTtlInSeconds = data.authorizerResultTtlInSeconds; } @@ -3248,6 +3334,9 @@ export const deserializeAws_restJson1CreateAuthorizerCommand = async ( if (data.authorizerUri !== undefined && data.authorizerUri !== null) { contents.AuthorizerUri = data.authorizerUri; } + if (data.enableSimpleResponses !== undefined && data.enableSimpleResponses !== null) { + contents.EnableSimpleResponses = data.enableSimpleResponses; + } if (data.identitySource !== undefined && data.identitySource !== null) { contents.IdentitySource = deserializeAws_restJson1IdentitySourceList(data.identitySource, context); } @@ -3435,6 +3524,7 @@ export const deserializeAws_restJson1CreateDomainNameCommand = async ( ApiMappingSelectionExpression: undefined, DomainName: undefined, DomainNameConfigurations: undefined, + MutualTlsAuthentication: undefined, Tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -3450,6 +3540,12 @@ export const deserializeAws_restJson1CreateDomainNameCommand = async ( context ); } + if (data.mutualTlsAuthentication !== undefined && data.mutualTlsAuthentication !== null) { + contents.MutualTlsAuthentication = deserializeAws_restJson1MutualTlsAuthentication( + data.mutualTlsAuthentication, + context + ); + } if (data.tags !== undefined && data.tags !== null) { contents.Tags = deserializeAws_restJson1Tags(data.tags, context); } @@ -3543,6 +3639,7 @@ export const deserializeAws_restJson1CreateIntegrationCommand = async ( IntegrationId: undefined, IntegrationMethod: undefined, IntegrationResponseSelectionExpression: undefined, + IntegrationSubtype: undefined, IntegrationType: undefined, IntegrationUri: undefined, PassthroughBehavior: undefined, @@ -3584,6 +3681,9 @@ export const deserializeAws_restJson1CreateIntegrationCommand = async ( ) { contents.IntegrationResponseSelectionExpression = data.integrationResponseSelectionExpression; } + if (data.integrationSubtype !== undefined && data.integrationSubtype !== null) { + contents.IntegrationSubtype = data.integrationSubtype; + } if (data.integrationType !== undefined && data.integrationType !== null) { contents.IntegrationType = data.integrationType; } @@ -5348,11 +5448,13 @@ export const deserializeAws_restJson1GetApiCommand = async ( const contents: GetApiCommandOutput = { $metadata: deserializeMetadata(output), ApiEndpoint: undefined, + ApiGatewayManaged: undefined, ApiId: undefined, ApiKeySelectionExpression: undefined, CorsConfiguration: undefined, CreatedDate: undefined, Description: undefined, + DisableExecuteApiEndpoint: undefined, DisableSchemaValidation: undefined, ImportInfo: undefined, Name: undefined, @@ -5366,6 +5468,9 @@ export const deserializeAws_restJson1GetApiCommand = async ( if (data.apiEndpoint !== undefined && data.apiEndpoint !== null) { contents.ApiEndpoint = data.apiEndpoint; } + if (data.apiGatewayManaged !== undefined && data.apiGatewayManaged !== null) { + contents.ApiGatewayManaged = data.apiGatewayManaged; + } if (data.apiId !== undefined && data.apiId !== null) { contents.ApiId = data.apiId; } @@ -5381,6 +5486,9 @@ export const deserializeAws_restJson1GetApiCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.disableExecuteApiEndpoint !== undefined && data.disableExecuteApiEndpoint !== null) { + contents.DisableExecuteApiEndpoint = data.disableExecuteApiEndpoint; + } if (data.disableSchemaValidation !== undefined && data.disableSchemaValidation !== null) { contents.DisableSchemaValidation = data.disableSchemaValidation; } @@ -5697,9 +5805,11 @@ export const deserializeAws_restJson1GetAuthorizerCommand = async ( $metadata: deserializeMetadata(output), AuthorizerCredentialsArn: undefined, AuthorizerId: undefined, + AuthorizerPayloadFormatVersion: undefined, AuthorizerResultTtlInSeconds: undefined, AuthorizerType: undefined, AuthorizerUri: undefined, + EnableSimpleResponses: undefined, IdentitySource: undefined, IdentityValidationExpression: undefined, JwtConfiguration: undefined, @@ -5712,6 +5822,9 @@ export const deserializeAws_restJson1GetAuthorizerCommand = async ( if (data.authorizerId !== undefined && data.authorizerId !== null) { contents.AuthorizerId = data.authorizerId; } + if (data.authorizerPayloadFormatVersion !== undefined && data.authorizerPayloadFormatVersion !== null) { + contents.AuthorizerPayloadFormatVersion = data.authorizerPayloadFormatVersion; + } if (data.authorizerResultTtlInSeconds !== undefined && data.authorizerResultTtlInSeconds !== null) { contents.AuthorizerResultTtlInSeconds = data.authorizerResultTtlInSeconds; } @@ -5721,6 +5834,9 @@ export const deserializeAws_restJson1GetAuthorizerCommand = async ( if (data.authorizerUri !== undefined && data.authorizerUri !== null) { contents.AuthorizerUri = data.authorizerUri; } + if (data.enableSimpleResponses !== undefined && data.enableSimpleResponses !== null) { + contents.EnableSimpleResponses = data.enableSimpleResponses; + } if (data.identitySource !== undefined && data.identitySource !== null) { contents.IdentitySource = deserializeAws_restJson1IdentitySourceList(data.identitySource, context); } @@ -6026,6 +6142,7 @@ export const deserializeAws_restJson1GetDomainNameCommand = async ( ApiMappingSelectionExpression: undefined, DomainName: undefined, DomainNameConfigurations: undefined, + MutualTlsAuthentication: undefined, Tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -6041,6 +6158,12 @@ export const deserializeAws_restJson1GetDomainNameCommand = async ( context ); } + if (data.mutualTlsAuthentication !== undefined && data.mutualTlsAuthentication !== null) { + contents.MutualTlsAuthentication = deserializeAws_restJson1MutualTlsAuthentication( + data.mutualTlsAuthentication, + context + ); + } if (data.tags !== undefined && data.tags !== null) { contents.Tags = deserializeAws_restJson1Tags(data.tags, context); } @@ -6185,6 +6308,7 @@ export const deserializeAws_restJson1GetIntegrationCommand = async ( IntegrationId: undefined, IntegrationMethod: undefined, IntegrationResponseSelectionExpression: undefined, + IntegrationSubtype: undefined, IntegrationType: undefined, IntegrationUri: undefined, PassthroughBehavior: undefined, @@ -6226,6 +6350,9 @@ export const deserializeAws_restJson1GetIntegrationCommand = async ( ) { contents.IntegrationResponseSelectionExpression = data.integrationResponseSelectionExpression; } + if (data.integrationSubtype !== undefined && data.integrationSubtype !== null) { + contents.IntegrationSubtype = data.integrationSubtype; + } if (data.integrationType !== undefined && data.integrationType !== null) { contents.IntegrationType = data.integrationType; } @@ -7532,11 +7659,13 @@ export const deserializeAws_restJson1ImportApiCommand = async ( const contents: ImportApiCommandOutput = { $metadata: deserializeMetadata(output), ApiEndpoint: undefined, + ApiGatewayManaged: undefined, ApiId: undefined, ApiKeySelectionExpression: undefined, CorsConfiguration: undefined, CreatedDate: undefined, Description: undefined, + DisableExecuteApiEndpoint: undefined, DisableSchemaValidation: undefined, ImportInfo: undefined, Name: undefined, @@ -7550,6 +7679,9 @@ export const deserializeAws_restJson1ImportApiCommand = async ( if (data.apiEndpoint !== undefined && data.apiEndpoint !== null) { contents.ApiEndpoint = data.apiEndpoint; } + if (data.apiGatewayManaged !== undefined && data.apiGatewayManaged !== null) { + contents.ApiGatewayManaged = data.apiGatewayManaged; + } if (data.apiId !== undefined && data.apiId !== null) { contents.ApiId = data.apiId; } @@ -7565,6 +7697,9 @@ export const deserializeAws_restJson1ImportApiCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.disableExecuteApiEndpoint !== undefined && data.disableExecuteApiEndpoint !== null) { + contents.DisableExecuteApiEndpoint = data.disableExecuteApiEndpoint; + } if (data.disableSchemaValidation !== undefined && data.disableSchemaValidation !== null) { contents.DisableSchemaValidation = data.disableSchemaValidation; } @@ -7663,11 +7798,13 @@ export const deserializeAws_restJson1ReimportApiCommand = async ( const contents: ReimportApiCommandOutput = { $metadata: deserializeMetadata(output), ApiEndpoint: undefined, + ApiGatewayManaged: undefined, ApiId: undefined, ApiKeySelectionExpression: undefined, CorsConfiguration: undefined, CreatedDate: undefined, Description: undefined, + DisableExecuteApiEndpoint: undefined, DisableSchemaValidation: undefined, ImportInfo: undefined, Name: undefined, @@ -7681,6 +7818,9 @@ export const deserializeAws_restJson1ReimportApiCommand = async ( if (data.apiEndpoint !== undefined && data.apiEndpoint !== null) { contents.ApiEndpoint = data.apiEndpoint; } + if (data.apiGatewayManaged !== undefined && data.apiGatewayManaged !== null) { + contents.ApiGatewayManaged = data.apiGatewayManaged; + } if (data.apiId !== undefined && data.apiId !== null) { contents.ApiId = data.apiId; } @@ -7696,6 +7836,9 @@ export const deserializeAws_restJson1ReimportApiCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.disableExecuteApiEndpoint !== undefined && data.disableExecuteApiEndpoint !== null) { + contents.DisableExecuteApiEndpoint = data.disableExecuteApiEndpoint; + } if (data.disableSchemaValidation !== undefined && data.disableSchemaValidation !== null) { contents.DisableSchemaValidation = data.disableSchemaValidation; } @@ -7784,6 +7927,65 @@ const deserializeAws_restJson1ReimportApiCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ResetAuthorizersCacheCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1ResetAuthorizersCacheCommandError(output, context); + } + const contents: ResetAuthorizersCacheCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ResetAuthorizersCacheCommandError = 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 "NotFoundException": + case "com.amazonaws.apigatewayv2#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.apigatewayv2#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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 @@ -7944,11 +8146,13 @@ export const deserializeAws_restJson1UpdateApiCommand = async ( const contents: UpdateApiCommandOutput = { $metadata: deserializeMetadata(output), ApiEndpoint: undefined, + ApiGatewayManaged: undefined, ApiId: undefined, ApiKeySelectionExpression: undefined, CorsConfiguration: undefined, CreatedDate: undefined, Description: undefined, + DisableExecuteApiEndpoint: undefined, DisableSchemaValidation: undefined, ImportInfo: undefined, Name: undefined, @@ -7962,6 +8166,9 @@ export const deserializeAws_restJson1UpdateApiCommand = async ( if (data.apiEndpoint !== undefined && data.apiEndpoint !== null) { contents.ApiEndpoint = data.apiEndpoint; } + if (data.apiGatewayManaged !== undefined && data.apiGatewayManaged !== null) { + contents.ApiGatewayManaged = data.apiGatewayManaged; + } if (data.apiId !== undefined && data.apiId !== null) { contents.ApiId = data.apiId; } @@ -7977,6 +8184,9 @@ export const deserializeAws_restJson1UpdateApiCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.disableExecuteApiEndpoint !== undefined && data.disableExecuteApiEndpoint !== null) { + contents.DisableExecuteApiEndpoint = data.disableExecuteApiEndpoint; + } if (data.disableSchemaValidation !== undefined && data.disableSchemaValidation !== null) { contents.DisableSchemaValidation = data.disableSchemaValidation; } @@ -8167,9 +8377,11 @@ export const deserializeAws_restJson1UpdateAuthorizerCommand = async ( $metadata: deserializeMetadata(output), AuthorizerCredentialsArn: undefined, AuthorizerId: undefined, + AuthorizerPayloadFormatVersion: undefined, AuthorizerResultTtlInSeconds: undefined, AuthorizerType: undefined, AuthorizerUri: undefined, + EnableSimpleResponses: undefined, IdentitySource: undefined, IdentityValidationExpression: undefined, JwtConfiguration: undefined, @@ -8182,6 +8394,9 @@ export const deserializeAws_restJson1UpdateAuthorizerCommand = async ( if (data.authorizerId !== undefined && data.authorizerId !== null) { contents.AuthorizerId = data.authorizerId; } + if (data.authorizerPayloadFormatVersion !== undefined && data.authorizerPayloadFormatVersion !== null) { + contents.AuthorizerPayloadFormatVersion = data.authorizerPayloadFormatVersion; + } if (data.authorizerResultTtlInSeconds !== undefined && data.authorizerResultTtlInSeconds !== null) { contents.AuthorizerResultTtlInSeconds = data.authorizerResultTtlInSeconds; } @@ -8191,6 +8406,9 @@ export const deserializeAws_restJson1UpdateAuthorizerCommand = async ( if (data.authorizerUri !== undefined && data.authorizerUri !== null) { contents.AuthorizerUri = data.authorizerUri; } + if (data.enableSimpleResponses !== undefined && data.enableSimpleResponses !== null) { + contents.EnableSimpleResponses = data.enableSimpleResponses; + } if (data.identitySource !== undefined && data.identitySource !== null) { contents.IdentitySource = deserializeAws_restJson1IdentitySourceList(data.identitySource, context); } @@ -8378,6 +8596,7 @@ export const deserializeAws_restJson1UpdateDomainNameCommand = async ( ApiMappingSelectionExpression: undefined, DomainName: undefined, DomainNameConfigurations: undefined, + MutualTlsAuthentication: undefined, Tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -8393,6 +8612,12 @@ export const deserializeAws_restJson1UpdateDomainNameCommand = async ( context ); } + if (data.mutualTlsAuthentication !== undefined && data.mutualTlsAuthentication !== null) { + contents.MutualTlsAuthentication = deserializeAws_restJson1MutualTlsAuthentication( + data.mutualTlsAuthentication, + context + ); + } if (data.tags !== undefined && data.tags !== null) { contents.Tags = deserializeAws_restJson1Tags(data.tags, context); } @@ -8478,6 +8703,7 @@ export const deserializeAws_restJson1UpdateIntegrationCommand = async ( IntegrationId: undefined, IntegrationMethod: undefined, IntegrationResponseSelectionExpression: undefined, + IntegrationSubtype: undefined, IntegrationType: undefined, IntegrationUri: undefined, PassthroughBehavior: undefined, @@ -8519,6 +8745,9 @@ export const deserializeAws_restJson1UpdateIntegrationCommand = async ( ) { contents.IntegrationResponseSelectionExpression = data.integrationResponseSelectionExpression; } + if (data.integrationSubtype !== undefined && data.integrationSubtype !== null) { + contents.IntegrationSubtype = data.integrationSubtype; + } if (data.integrationType !== undefined && data.integrationType !== null) { contents.IntegrationType = data.integrationType; } @@ -9449,6 +9678,16 @@ const serializeAws_restJson1JWTConfiguration = (input: JWTConfiguration, context }; }; +const serializeAws_restJson1MutualTlsAuthenticationInput = ( + input: MutualTlsAuthenticationInput, + context: __SerdeContext +): any => { + return { + ...(input.TruststoreUri !== undefined && { truststoreUri: input.TruststoreUri }), + ...(input.TruststoreVersion !== undefined && { truststoreVersion: input.TruststoreVersion }), + }; +}; + const serializeAws_restJson1ParameterConstraints = (input: ParameterConstraints, context: __SerdeContext): any => { return { ...(input.Required !== undefined && { required: input.Required }), @@ -9611,6 +9850,10 @@ const deserializeAws_restJson1AccessLogSettings = (output: any, context: __Serde const deserializeAws_restJson1Api = (output: any, context: __SerdeContext): Api => { return { ApiEndpoint: output.apiEndpoint !== undefined && output.apiEndpoint !== null ? output.apiEndpoint : undefined, + ApiGatewayManaged: + output.apiGatewayManaged !== undefined && output.apiGatewayManaged !== null + ? output.apiGatewayManaged + : undefined, ApiId: output.apiId !== undefined && output.apiId !== null ? output.apiId : undefined, ApiKeySelectionExpression: output.apiKeySelectionExpression !== undefined && output.apiKeySelectionExpression !== null @@ -9623,6 +9866,10 @@ const deserializeAws_restJson1Api = (output: any, context: __SerdeContext): Api CreatedDate: output.createdDate !== undefined && output.createdDate !== null ? new Date(output.createdDate) : undefined, Description: output.description !== undefined && output.description !== null ? output.description : undefined, + DisableExecuteApiEndpoint: + output.disableExecuteApiEndpoint !== undefined && output.disableExecuteApiEndpoint !== null + ? output.disableExecuteApiEndpoint + : undefined, DisableSchemaValidation: output.disableSchemaValidation !== undefined && output.disableSchemaValidation !== null ? output.disableSchemaValidation @@ -9670,6 +9917,10 @@ const deserializeAws_restJson1Authorizer = (output: any, context: __SerdeContext ? output.authorizerCredentialsArn : undefined, AuthorizerId: output.authorizerId !== undefined && output.authorizerId !== null ? output.authorizerId : undefined, + AuthorizerPayloadFormatVersion: + output.authorizerPayloadFormatVersion !== undefined && output.authorizerPayloadFormatVersion !== null + ? output.authorizerPayloadFormatVersion + : undefined, AuthorizerResultTtlInSeconds: output.authorizerResultTtlInSeconds !== undefined && output.authorizerResultTtlInSeconds !== null ? output.authorizerResultTtlInSeconds @@ -9678,6 +9929,10 @@ const deserializeAws_restJson1Authorizer = (output: any, context: __SerdeContext output.authorizerType !== undefined && output.authorizerType !== null ? output.authorizerType : undefined, AuthorizerUri: output.authorizerUri !== undefined && output.authorizerUri !== null ? output.authorizerUri : undefined, + EnableSimpleResponses: + output.enableSimpleResponses !== undefined && output.enableSimpleResponses !== null + ? output.enableSimpleResponses + : undefined, IdentitySource: output.identitySource !== undefined && output.identitySource !== null ? deserializeAws_restJson1IdentitySourceList(output.identitySource, context) @@ -9757,6 +10012,10 @@ const deserializeAws_restJson1DomainName = (output: any, context: __SerdeContext output.domainNameConfigurations !== undefined && output.domainNameConfigurations !== null ? deserializeAws_restJson1DomainNameConfigurations(output.domainNameConfigurations, context) : undefined, + MutualTlsAuthentication: + output.mutualTlsAuthentication !== undefined && output.mutualTlsAuthentication !== null + ? deserializeAws_restJson1MutualTlsAuthentication(output.mutualTlsAuthentication, context) + : undefined, Tags: output.tags !== undefined && output.tags !== null ? deserializeAws_restJson1Tags(output.tags, context) @@ -9832,6 +10091,10 @@ const deserializeAws_restJson1Integration = (output: any, context: __SerdeContex output.integrationResponseSelectionExpression !== null ? output.integrationResponseSelectionExpression : undefined, + IntegrationSubtype: + output.integrationSubtype !== undefined && output.integrationSubtype !== null + ? output.integrationSubtype + : undefined, IntegrationType: output.integrationType !== undefined && output.integrationType !== null ? output.integrationType : undefined, IntegrationUri: @@ -9927,6 +10190,24 @@ const deserializeAws_restJson1Model = (output: any, context: __SerdeContext): Mo } as any; }; +const deserializeAws_restJson1MutualTlsAuthentication = ( + output: any, + context: __SerdeContext +): MutualTlsAuthentication => { + return { + TruststoreUri: + output.truststoreUri !== undefined && output.truststoreUri !== null ? output.truststoreUri : undefined, + TruststoreVersion: + output.truststoreVersion !== undefined && output.truststoreVersion !== null + ? output.truststoreVersion + : undefined, + TruststoreWarnings: + output.truststoreWarnings !== undefined && output.truststoreWarnings !== null + ? deserializeAws_restJson1__listOf__string(output.truststoreWarnings, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1ParameterConstraints = (output: any, context: __SerdeContext): ParameterConstraints => { return { Required: output.required !== undefined && output.required !== null ? output.required : undefined, diff --git a/clients/client-appconfig/models/models_0.ts b/clients/client-appconfig/models/models_0.ts index f2a744378dea..d4e42b66ecac 100644 --- a/clients/client-appconfig/models/models_0.ts +++ b/clients/client-appconfig/models/models_0.ts @@ -8,14 +8,14 @@ export interface Application { Name?: string; /** - *

The application ID.

+ *

The description of the application.

*/ - Id?: string; + Description?: string; /** - *

The description of the application.

+ *

The application ID.

*/ - Description?: string; + Id?: string; } export namespace Application { @@ -45,17 +45,17 @@ export interface CreateApplicationRequest { */ Name: string | undefined; + /** + *

A description of the application.

+ */ + Description?: string; + /** *

Metadata to assign to the application. Tags help organize and categorize your AppConfig * resources. Each tag consists of a key and an optional value, both of which you * define.

*/ Tags?: { [key: string]: string }; - - /** - *

A description of the application.

- */ - Description?: string; } export namespace CreateApplicationRequest { @@ -120,14 +120,9 @@ export interface ConfigurationProfile { ApplicationId?: string; /** - *

The name of the configuration profile.

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

A list of methods for validating the configuration.

+ *

The URI location of the configuration.

*/ - Validators?: Validator[]; + LocationUri?: string; /** *

The ARN of an IAM role with permission to access the configuration at the specified @@ -136,9 +131,14 @@ export interface ConfigurationProfile { RetrievalRoleArn?: string; /** - *

The URI location of the configuration.

+ *

The name of the configuration profile.

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

The configuration profile description.

+ */ + Description?: string; /** *

The configuration profile ID.

@@ -146,9 +146,9 @@ export interface ConfigurationProfile { Id?: string; /** - *

The configuration profile description.

+ *

A list of methods for validating the configuration.

*/ - Description?: string; + Validators?: Validator[]; } export namespace ConfigurationProfile { @@ -165,11 +165,6 @@ export interface CreateConfigurationProfileRequest { */ RetrievalRoleArn?: string; - /** - *

A list of methods for validating the configuration.

- */ - Validators?: Validator[]; - /** *

A name for the configuration profile.

*/ @@ -187,11 +182,6 @@ export interface CreateConfigurationProfileRequest { */ Tags?: { [key: string]: string }; - /** - *

A description of the configuration profile.

- */ - Description?: string; - /** *

A URI to locate the configuration. You can specify a Systems Manager (SSM) document, an SSM * Parameter Store parameter, or an Amazon S3 object. For an SSM document, specify either the @@ -202,6 +192,16 @@ export interface CreateConfigurationProfileRequest { * . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json

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

A description of the configuration profile.

+ */ + Description?: string; + + /** + *

A list of methods for validating the configuration.

+ */ + Validators?: Validator[]; } export namespace CreateConfigurationProfileRequest { @@ -251,16 +251,14 @@ export interface CreateDeploymentStrategyRequest { FinalBakeTimeInMinutes?: number; /** - *

Metadata to assign to the deployment strategy. Tags help organize and categorize your - * AppConfig resources. Each tag consists of a key and an optional value, both of which you - * define.

+ *

A name for the deployment strategy.

*/ - Tags?: { [key: string]: string }; + Name: string | undefined; /** - *

A name for the deployment strategy.

+ *

A description of the deployment strategy.

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

Save the deployment strategy to a Systems Manager (SSM) document.

@@ -268,9 +266,11 @@ export interface CreateDeploymentStrategyRequest { ReplicateTo: ReplicateTo | string | undefined; /** - *

Total amount of time for a deployment to last.

+ *

Metadata to assign to the deployment strategy. Tags help organize and categorize your + * AppConfig resources. Each tag consists of a key and an optional value, both of which you + * define.

*/ - DeploymentDurationInMinutes: number | undefined; + Tags?: { [key: string]: string }; /** *

The algorithm used to define how percentage grows over time. AWS AppConfig supports the @@ -307,9 +307,9 @@ export interface CreateDeploymentStrategyRequest { GrowthType?: GrowthType | string; /** - *

A description of the deployment strategy.

+ *

Total amount of time for a deployment to last.

*/ - Description?: string; + DeploymentDurationInMinutes: number | undefined; } export namespace CreateDeploymentStrategyRequest { @@ -319,16 +319,6 @@ export namespace CreateDeploymentStrategyRequest { } export interface DeploymentStrategy { - /** - *

The algorithm used to define how percentage grew over time.

- */ - GrowthType?: GrowthType | string; - - /** - *

Total amount of time the deployment lasted.

- */ - DeploymentDurationInMinutes?: number; - /** *

Save the deployment strategy to a Systems Manager (SSM) document.

*/ @@ -344,6 +334,11 @@ export interface DeploymentStrategy { */ Description?: string; + /** + *

The name of the deployment strategy.

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

The amount of time AppConfig monitored for alarms before considering the deployment to be * complete and no longer eligible for automatic roll back.

@@ -351,15 +346,20 @@ export interface DeploymentStrategy { FinalBakeTimeInMinutes?: number; /** - *

The name of the deployment strategy.

+ *

Total amount of time the deployment lasted.

*/ - Name?: string; + DeploymentDurationInMinutes?: number; /** *

The percentage of targets that received a deployed configuration during each * interval.

*/ GrowthFactor?: number; + + /** + *

The algorithm used to define how percentage grew over time.

+ */ + GrowthType?: GrowthType | string; } export namespace DeploymentStrategy { @@ -373,14 +373,14 @@ export namespace DeploymentStrategy { */ export interface Monitor { /** - *

ARN of the Amazon CloudWatch alarm.

+ *

ARN of an IAM role for AppConfig to monitor AlarmArn.

*/ - AlarmArn?: string; + AlarmRoleArn?: string; /** - *

ARN of an IAM role for AppConfig to monitor AlarmArn.

+ *

ARN of the Amazon CloudWatch alarm.

*/ - AlarmRoleArn?: string; + AlarmArn?: string; } export namespace Monitor { @@ -391,11 +391,9 @@ export namespace Monitor { export interface CreateEnvironmentRequest { /** - *

Metadata to assign to the environment. Tags help organize and categorize your AppConfig - * resources. Each tag consists of a key and an optional value, both of which you - * define.

+ *

The application ID.

*/ - Tags?: { [key: string]: string }; + ApplicationId: string | undefined; /** *

Amazon CloudWatch alarms to monitor during the deployment process.

@@ -408,14 +406,16 @@ export interface CreateEnvironmentRequest { Description?: string; /** - *

A name for the environment.

+ *

Metadata to assign to the environment. Tags help organize and categorize your AppConfig + * resources. Each tag consists of a key and an optional value, both of which you + * define.

*/ - Name: string | undefined; + Tags?: { [key: string]: string }; /** - *

The application ID.

+ *

A name for the environment.

*/ - ApplicationId: string | undefined; + Name: string | undefined; } export namespace CreateEnvironmentRequest { @@ -442,6 +442,16 @@ export interface Environment { */ ApplicationId?: string; + /** + *

Amazon CloudWatch alarms monitored during the deployment.

+ */ + Monitors?: Monitor[]; + + /** + *

The environment ID.

+ */ + Id?: string; + /** *

The description of the environment.

*/ @@ -454,16 +464,6 @@ export interface Environment { *

*/ State?: EnvironmentState | string; - - /** - *

The environment ID.

- */ - Id?: string; - - /** - *

Amazon CloudWatch alarms monitored during the deployment.

- */ - Monitors?: Monitor[]; } export namespace Environment { @@ -489,6 +489,16 @@ export namespace ConflictException { } export interface CreateHostedConfigurationVersionRequest { + /** + *

The content of the configuration or the configuration data.

+ */ + Content: Uint8Array | undefined; + + /** + *

The configuration profile ID.

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

An optional locking token used to prevent race conditions from overwriting configuration * updates when creating a new version. To ensure your data is not overwritten when creating @@ -497,11 +507,6 @@ export interface CreateHostedConfigurationVersionRequest { */ LatestVersionNumber?: number; - /** - *

The content of the configuration or the configuration data.

- */ - Content: Uint8Array | undefined; - /** *

A description of the configuration.

*/ @@ -513,11 +518,6 @@ export interface CreateHostedConfigurationVersionRequest { */ ContentType: string | undefined; - /** - *

The configuration profile ID.

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

The application ID.

*/ @@ -532,12 +532,6 @@ export namespace CreateHostedConfigurationVersionRequest { } export interface HostedConfigurationVersion { - /** - *

A standard MIME type describing the format of the configuration content. For more - * information, see Content-Type.

- */ - ContentType?: string; - /** *

A description of the configuration.

*/ @@ -549,9 +543,15 @@ export interface HostedConfigurationVersion { ConfigurationProfileId?: string; /** - *

The configuration version.

+ *

The content of the configuration or the configuration data.

*/ - VersionNumber?: number; + Content?: Uint8Array; + + /** + *

A standard MIME type describing the format of the configuration content. For more + * information, see Content-Type.

+ */ + ContentType?: string; /** *

The application ID.

@@ -559,9 +559,9 @@ export interface HostedConfigurationVersion { ApplicationId?: string; /** - *

The content of the configuration or the configuration data.

+ *

The configuration version.

*/ - Content?: Uint8Array; + VersionNumber?: number; } export namespace HostedConfigurationVersion { @@ -581,10 +581,10 @@ export enum BytesMeasure { export interface PayloadTooLargeException extends __SmithyException, $MetadataBearer { name: "PayloadTooLargeException"; $fault: "client"; - Limit?: number; - Size?: number; Message?: string; + Size?: number; Measure?: BytesMeasure | string; + Limit?: number; } export namespace PayloadTooLargeException { @@ -655,14 +655,14 @@ export namespace DeleteDeploymentStrategyRequest { export interface DeleteEnvironmentRequest { /** - *

The ID of the environment you want to delete.

+ *

The application ID that includes the environment you want to delete.

*/ - EnvironmentId: string | undefined; + ApplicationId: string | undefined; /** - *

The application ID that includes the environment you want to delete.

+ *

The ID of the environment you want to delete.

*/ - ApplicationId: string | undefined; + EnvironmentId: string | undefined; } export namespace DeleteEnvironmentRequest { @@ -673,9 +673,9 @@ export namespace DeleteEnvironmentRequest { export interface DeleteHostedConfigurationVersionRequest { /** - *

The application ID.

+ *

The configuration profile ID.

*/ - ApplicationId: string | undefined; + ConfigurationProfileId: string | undefined; /** *

The versions number to delete.

@@ -683,9 +683,9 @@ export interface DeleteHostedConfigurationVersionRequest { VersionNumber: number | undefined; /** - *

The configuration profile ID.

+ *

The application ID.

*/ - ConfigurationProfileId: string | undefined; + ApplicationId: string | undefined; } export namespace DeleteHostedConfigurationVersionRequest { @@ -708,17 +708,17 @@ export namespace GetApplicationRequest { } export interface Configuration { - /** - *

The content of the configuration or the configuration data.

- */ - Content?: Uint8Array; - /** *

A standard MIME type describing the format of the configuration content. For more * information, see Content-Type.

*/ ContentType?: string; + /** + *

The content of the configuration or the configuration data.

+ */ + Content?: Uint8Array; + /** *

The configuration version.

*/ @@ -739,24 +739,6 @@ export interface GetConfigurationRequest { */ Environment: string | undefined; - /** - *

The configuration to get. Specify either the configuration name or the configuration - * ID.

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

A unique ID to identify the client for the configuration. This ID enables AppConfig to - * deploy the configuration in intervals, as defined in the deployment strategy.

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

The application to get. Specify either the application name or the application - * ID.

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

The configuration version returned in the most recent GetConfiguration * response.

@@ -776,6 +758,24 @@ export interface GetConfigurationRequest { * AWS AppConfig User Guide.

*/ ClientConfigurationVersion?: string; + + /** + *

A unique ID to identify the client for the configuration. This ID enables AppConfig to + * deploy the configuration in intervals, as defined in the deployment strategy.

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

The application to get. Specify either the application name or the application + * ID.

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

The configuration to get. Specify either the configuration name or the configuration + * ID.

+ */ + Configuration: string | undefined; } export namespace GetConfigurationRequest { @@ -785,16 +785,16 @@ export namespace GetConfigurationRequest { } export interface GetConfigurationProfileRequest { - /** - *

The ID of the configuration profile you want to get.

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

The ID of the application that includes the configuration profile you want to * get.

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

The ID of the configuration profile you want to get.

+ */ + ConfigurationProfileId: string | undefined; } export namespace GetConfigurationProfileRequest { @@ -823,11 +823,6 @@ export enum TriggeredBy { *

An object that describes a deployment event.

*/ export interface DeploymentEvent { - /** - *

The date and time the event occurred.

- */ - OccurredAt?: Date; - /** *

A description of the deployment event. Descriptions include, but are not limited to, the * user account or the CloudWatch alarm ARN that initiated a rollback, the percentage of hosts @@ -836,18 +831,23 @@ export interface DeploymentEvent { */ Description?: string; - /** - *

The entity that triggered the deployment event. Events can be triggered by a user, AWS - * AppConfig, an Amazon CloudWatch alarm, or an internal error.

- */ - TriggeredBy?: TriggeredBy | string; - /** *

The type of deployment event. Deployment event types include the start, stop, or * completion of a deployment; a percentage update; the start or stop of a bake period; the * start or completion of a rollback.

*/ EventType?: DeploymentEventType | string; + + /** + *

The date and time the event occurred.

+ */ + OccurredAt?: Date; + + /** + *

The entity that triggered the deployment event. Events can be triggered by a user, AWS + * AppConfig, an Amazon CloudWatch alarm, or an internal error.

+ */ + TriggeredBy?: TriggeredBy | string; } export namespace DeploymentEvent { @@ -867,71 +867,70 @@ export enum DeploymentState { export interface Deployment { /** - *

The ID of the deployment strategy that was deployed.

+ *

The time the deployment started.

*/ - DeploymentStrategyId?: string; + StartedAt?: Date; /** - *

The ID of the application that was deployed.

+ *

The ID of the configuration profile that was deployed.

*/ - ApplicationId?: string; + ConfigurationProfileId?: string; /** - *

Information about the source location of the configuration.

+ *

The percentage of targets for which the deployment is available.

*/ - ConfigurationLocationUri?: string; + PercentageComplete?: number; /** - *

The algorithm used to define how percentage grew over time.

+ *

The state of the deployment.

*/ - GrowthType?: GrowthType | string; + State?: DeploymentState | string; /** - *

The percentage of targets for which the deployment is available.

+ *

The description of the deployment.

*/ - PercentageComplete?: number; + Description?: string; /** - *

The state of the deployment.

+ *

The algorithm used to define how percentage grew over time.

*/ - State?: DeploymentState | string; + GrowthType?: GrowthType | string; /** - *

A list containing all events related to a deployment. The most recent events are - * displayed first.

+ *

Information about the source location of the configuration.

*/ - EventLog?: DeploymentEvent[]; + ConfigurationLocationUri?: string; /** - *

The configuration version that was deployed.

+ *

The ID of the deployment strategy that was deployed.

*/ - ConfigurationVersion?: string; + DeploymentStrategyId?: string; /** - *

The description of the deployment.

+ *

The configuration version that was deployed.

*/ - Description?: string; + ConfigurationVersion?: string; /** - *

The ID of the configuration profile that was deployed.

+ *

A list containing all events related to a deployment. The most recent events are + * displayed first.

*/ - ConfigurationProfileId?: string; + EventLog?: DeploymentEvent[]; /** - *

Total amount of time the deployment lasted.

+ *

The ID of the environment that was deployed.

*/ - DeploymentDurationInMinutes?: number; + EnvironmentId?: string; /** - *

The amount of time AppConfig monitored for alarms before considering the deployment to be - * complete and no longer eligible for automatic roll back.

+ *

The ID of the application that was deployed.

*/ - FinalBakeTimeInMinutes?: number; + ApplicationId?: string; /** - *

The time the deployment started.

+ *

The name of the configuration.

*/ - StartedAt?: Date; + ConfigurationName?: string; /** *

The sequence number of the deployment.

@@ -939,10 +938,10 @@ export interface Deployment { DeploymentNumber?: number; /** - *

The percentage of targets to receive a deployed configuration during each - * interval.

+ *

The amount of time AppConfig monitored for alarms before considering the deployment to be + * complete and no longer eligible for automatic roll back.

*/ - GrowthFactor?: number; + FinalBakeTimeInMinutes?: number; /** *

The time the deployment completed.

@@ -950,14 +949,15 @@ export interface Deployment { CompletedAt?: Date; /** - *

The name of the configuration.

+ *

The percentage of targets to receive a deployed configuration during each + * interval.

*/ - ConfigurationName?: string; + GrowthFactor?: number; /** - *

The ID of the environment that was deployed.

+ *

Total amount of time the deployment lasted.

*/ - EnvironmentId?: string; + DeploymentDurationInMinutes?: number; } export namespace Deployment { @@ -1027,14 +1027,14 @@ export interface GetHostedConfigurationVersionRequest { ConfigurationProfileId: string | undefined; /** - *

The application ID.

+ *

The version.

*/ - ApplicationId: string | undefined; + VersionNumber: number | undefined; /** - *

The version.

+ *

The application ID.

*/ - VersionNumber: number | undefined; + ApplicationId: string | undefined; } export namespace GetHostedConfigurationVersionRequest { @@ -1045,15 +1045,15 @@ export namespace GetHostedConfigurationVersionRequest { export interface Applications { /** - *

The token for the next set of items to return. Use this token to get the next set of - * results.

+ *

The elements from this collection.

*/ - NextToken?: string; + Items?: Application[]; /** - *

The elements from this collection.

+ *

The token for the next set of items to return. Use this token to get the next set of + * results.

*/ - Items?: Application[]; + NextToken?: string; } export namespace Applications { @@ -1064,15 +1064,15 @@ export namespace Applications { export interface ListApplicationsRequest { /** - *

The maximum number of items to return for this call. The call also returns a token that - * you can specify in a subsequent call to get the next set of results.

+ *

A token to start the list. Use this token to get the next set of results.

*/ - MaxResults?: number; + NextToken?: string; /** - *

A token to start the list. Use this token to get the next set of results.

+ *

The maximum number of items to return for this call. The call also returns a token that + * you can specify in a subsequent call to get the next set of results.

*/ - NextToken?: string; + MaxResults?: number; } export namespace ListApplicationsRequest { @@ -1085,26 +1085,26 @@ export namespace ListApplicationsRequest { *

A summary of a configuration profile.

*/ export interface ConfigurationProfileSummary { - /** - *

The application ID.

- */ - ApplicationId?: string; - /** *

The types of validators in the configuration profile.

*/ ValidatorTypes?: (ValidatorType | string)[]; /** - *

The name of the configuration profile.

+ *

The application ID.

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

The URI location of the configuration.

*/ LocationUri?: string; + /** + *

The name of the configuration profile.

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

The ID of the configuration profile.

*/ @@ -1119,15 +1119,15 @@ export namespace ConfigurationProfileSummary { export interface ConfigurationProfiles { /** - *

The token for the next set of items to return. Use this token to get the next set of - * results.

+ *

The elements from this collection.

*/ - NextToken?: string; + Items?: ConfigurationProfileSummary[]; /** - *

The elements from this collection.

+ *

The token for the next set of items to return. Use this token to get the next set of + * results.

*/ - Items?: ConfigurationProfileSummary[]; + NextToken?: string; } export namespace ConfigurationProfiles { @@ -1144,14 +1144,14 @@ export interface ListConfigurationProfilesRequest { MaxResults?: number; /** - *

A token to start the list. Use this token to get the next set of results.

+ *

The application ID.

*/ - NextToken?: string; + ApplicationId: string | undefined; /** - *

The application ID.

+ *

A token to start the list. Use this token to get the next set of results.

*/ - ApplicationId: string | undefined; + NextToken?: string; } export namespace ListConfigurationProfilesRequest { @@ -1165,16 +1165,9 @@ export namespace ListConfigurationProfilesRequest { */ export interface DeploymentSummary { /** - *

The amount of time AppConfig monitors for alarms before considering the deployment to be - * complete and no longer eligible for automatic roll back.

- */ - FinalBakeTimeInMinutes?: number; - - /** - *

The percentage of targets to receive a deployed configuration during each - * interval.

+ *

The version of the configuration.

*/ - GrowthFactor?: number; + ConfigurationVersion?: string; /** *

The sequence number of the deployment.

@@ -1182,24 +1175,25 @@ export interface DeploymentSummary { DeploymentNumber?: number; /** - *

Time the deployment completed.

+ *

The state of the deployment.

*/ - CompletedAt?: Date; + State?: DeploymentState | string; /** - *

Total amount of time the deployment lasted.

+ *

The amount of time AppConfig monitors for alarms before considering the deployment to be + * complete and no longer eligible for automatic roll back.

*/ - DeploymentDurationInMinutes?: number; + FinalBakeTimeInMinutes?: number; /** - *

The algorithm used to define how percentage grows over time.

+ *

The percentage of targets for which the deployment is available.

*/ - GrowthType?: GrowthType | string; + PercentageComplete?: number; /** - *

The percentage of targets for which the deployment is available.

+ *

The name of the configuration.

*/ - PercentageComplete?: number; + ConfigurationName?: string; /** *

Time the deployment started.

@@ -1207,19 +1201,25 @@ export interface DeploymentSummary { StartedAt?: Date; /** - *

The name of the configuration.

+ *

Time the deployment completed.

*/ - ConfigurationName?: string; + CompletedAt?: Date; /** - *

The version of the configuration.

+ *

The percentage of targets to receive a deployed configuration during each + * interval.

*/ - ConfigurationVersion?: string; + GrowthFactor?: number; /** - *

The state of the deployment.

+ *

Total amount of time the deployment lasted.

*/ - State?: DeploymentState | string; + DeploymentDurationInMinutes?: number; + + /** + *

The algorithm used to define how percentage grows over time.

+ */ + GrowthType?: GrowthType | string; } export namespace DeploymentSummary { @@ -1230,15 +1230,15 @@ export namespace DeploymentSummary { export interface Deployments { /** - *

The token for the next set of items to return. Use this token to get the next set of - * results.

+ *

The elements from this collection.

*/ - NextToken?: string; + Items?: DeploymentSummary[]; /** - *

The elements from this collection.

+ *

The token for the next set of items to return. Use this token to get the next set of + * results.

*/ - Items?: DeploymentSummary[]; + NextToken?: string; } export namespace Deployments { @@ -1254,11 +1254,6 @@ export interface ListDeploymentsRequest { */ MaxResults?: number; - /** - *

A token to start the list. Use this token to get the next set of results.

- */ - NextToken?: string; - /** *

The application ID.

*/ @@ -1268,6 +1263,11 @@ export interface ListDeploymentsRequest { *

The environment ID.

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

A token to start the list. Use this token to get the next set of results.

+ */ + NextToken?: string; } export namespace ListDeploymentsRequest { @@ -1296,16 +1296,16 @@ export namespace DeploymentStrategies { } export interface ListDeploymentStrategiesRequest { - /** - *

A token to start the list. Use this token to get the next set of results.

- */ - NextToken?: string; - /** *

The maximum number of items to return for this call. The call also returns a token that * you can specify in a subsequent call to get the next set of results.

*/ MaxResults?: number; + + /** + *

A token to start the list. Use this token to get the next set of results.

+ */ + NextToken?: string; } export namespace ListDeploymentStrategiesRequest { @@ -1315,16 +1315,16 @@ export namespace ListDeploymentStrategiesRequest { } export interface Environments { - /** - *

The elements from this collection.

- */ - Items?: Environment[]; - /** *

The token for the next set of items to return. Use this token to get the next set of * results.

*/ NextToken?: string; + + /** + *

The elements from this collection.

+ */ + Items?: Environment[]; } export namespace Environments { @@ -1340,15 +1340,15 @@ export interface ListEnvironmentsRequest { ApplicationId: string | undefined; /** - *

The maximum number of items to return for this call. The call also returns a token that - * you can specify in a subsequent call to get the next set of results.

+ *

A token to start the list. Use this token to get the next set of results.

*/ - MaxResults?: number; + NextToken?: string; /** - *

A token to start the list. Use this token to get the next set of results.

+ *

The maximum number of items to return for this call. The call also returns a token that + * you can specify in a subsequent call to get the next set of results.

*/ - NextToken?: string; + MaxResults?: number; } export namespace ListEnvironmentsRequest { @@ -1362,19 +1362,19 @@ export namespace ListEnvironmentsRequest { */ export interface HostedConfigurationVersionSummary { /** - *

A description of the configuration.

+ *

The configuration profile ID.

*/ - Description?: string; + ConfigurationProfileId?: string; /** - *

The application ID.

+ *

The configuration version.

*/ - ApplicationId?: string; + VersionNumber?: number; /** - *

The configuration version.

+ *

The application ID.

*/ - VersionNumber?: number; + ApplicationId?: string; /** *

A standard MIME type describing the format of the configuration content. For more @@ -1383,9 +1383,9 @@ export interface HostedConfigurationVersionSummary { ContentType?: string; /** - *

The configuration profile ID.

+ *

A description of the configuration.

*/ - ConfigurationProfileId?: string; + Description?: string; } export namespace HostedConfigurationVersionSummary { @@ -1396,15 +1396,15 @@ export namespace HostedConfigurationVersionSummary { export interface HostedConfigurationVersions { /** - *

The token for the next set of items to return. Use this token to get the next set of - * results.

+ *

The elements from this collection.

*/ - NextToken?: string; + Items?: HostedConfigurationVersionSummary[]; /** - *

The elements from this collection.

+ *

The token for the next set of items to return. Use this token to get the next set of + * results.

*/ - Items?: HostedConfigurationVersionSummary[]; + NextToken?: string; } export namespace HostedConfigurationVersions { @@ -1415,25 +1415,25 @@ export namespace HostedConfigurationVersions { export interface ListHostedConfigurationVersionsRequest { /** - *

A token to start the list. Use this token to get the next set of results.

+ *

The application ID.

*/ - NextToken?: string; + ApplicationId: string | undefined; /** - *

The application ID.

+ *

The configuration profile ID.

*/ - ApplicationId: string | undefined; + ConfigurationProfileId: string | undefined; /** - *

The maximum number of items to return for this call. The call also returns a token that - * you can specify in a subsequent call to get the next set of results.

+ *

A token to start the list. Use this token to get the next set of results.

*/ - MaxResults?: number; + NextToken?: string; /** - *

The configuration profile ID.

+ *

The maximum number of items to return for this call. The call also returns a token that + * you can specify in a subsequent call to get the next set of results.

*/ - ConfigurationProfileId: string | undefined; + MaxResults?: number; } export namespace ListHostedConfigurationVersionsRequest { @@ -1476,11 +1476,6 @@ export interface StartDeploymentRequest { */ ApplicationId: string | undefined; - /** - *

The configuration version to deploy.

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

The deployment strategy ID.

*/ @@ -1492,9 +1487,16 @@ export interface StartDeploymentRequest { ConfigurationProfileId: string | undefined; /** - *

A description of the deployment.

+ *

Metadata to assign to the deployment. Tags help organize and categorize your AppConfig + * resources. Each tag consists of a key and an optional value, both of which you + * define.

*/ - Description?: string; + Tags?: { [key: string]: string }; + + /** + *

The configuration version to deploy.

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

The environment ID.

@@ -1502,11 +1504,9 @@ export interface StartDeploymentRequest { EnvironmentId: string | undefined; /** - *

Metadata to assign to the deployment. Tags help organize and categorize your AppConfig - * resources. Each tag consists of a key and an optional value, both of which you - * define.

+ *

A description of the deployment.

*/ - Tags?: { [key: string]: string }; + Description?: string; } export namespace StartDeploymentRequest { @@ -1560,14 +1560,14 @@ export namespace TagResourceRequest { export interface UntagResourceRequest { /** - *

The tag keys to delete.

+ *

The ARN of the resource for which to remove tags.

*/ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; /** - *

The ARN of the resource for which to remove tags.

+ *

The tag keys to delete.

*/ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -1600,21 +1600,26 @@ export namespace UpdateApplicationRequest { } export interface UpdateConfigurationProfileRequest { + /** + *

A list of methods for validating the configuration.

+ */ + Validators?: Validator[]; + /** *

The name of the configuration profile.

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

The ARN of an IAM role with permission to access the configuration at the specified - * LocationUri.

+ *

A description of the configuration profile.

*/ - RetrievalRoleArn?: string; + Description?: string; /** - *

The application ID.

+ *

The ARN of an IAM role with permission to access the configuration at the specified + * LocationUri.

*/ - ApplicationId: string | undefined; + RetrievalRoleArn?: string; /** *

The ID of the configuration profile.

@@ -1622,14 +1627,9 @@ export interface UpdateConfigurationProfileRequest { ConfigurationProfileId: string | undefined; /** - *

A description of the configuration profile.

- */ - Description?: string; - - /** - *

A list of methods for validating the configuration.

+ *

The application ID.

*/ - Validators?: Validator[]; + ApplicationId: string | undefined; } export namespace UpdateConfigurationProfileRequest { @@ -1641,9 +1641,26 @@ export namespace UpdateConfigurationProfileRequest { export interface UpdateDeploymentStrategyRequest { /** - *

A description of the deployment strategy.

+ *

The amount of time AppConfig monitors for alarms before considering the deployment to be + * complete and no longer eligible for automatic roll back.

*/ - Description?: string; + FinalBakeTimeInMinutes?: number; + + /** + *

The percentage of targets to receive a deployed configuration during each + * interval.

+ */ + GrowthFactor?: number; + + /** + *

Total amount of time for a deployment to last.

+ */ + DeploymentDurationInMinutes?: number; + + /** + *

The deployment strategy ID.

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

The algorithm used to define how percentage grows over time. AWS AppConfig supports the @@ -1679,26 +1696,9 @@ export interface UpdateDeploymentStrategyRequest { GrowthType?: GrowthType | string; /** - *

Total amount of time for a deployment to last.

- */ - DeploymentDurationInMinutes?: number; - - /** - *

The deployment strategy ID.

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

The amount of time AppConfig monitors for alarms before considering the deployment to be - * complete and no longer eligible for automatic roll back.

- */ - FinalBakeTimeInMinutes?: number; - - /** - *

The percentage of targets to receive a deployed configuration during each - * interval.

+ *

A description of the deployment strategy.

*/ - GrowthFactor?: number; + Description?: string; } export namespace UpdateDeploymentStrategyRequest { @@ -1718,6 +1718,11 @@ export interface UpdateEnvironmentRequest { */ Monitors?: Monitor[]; + /** + *

The application ID.

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

The environment ID.

*/ @@ -1727,11 +1732,6 @@ export interface UpdateEnvironmentRequest { *

The name of the environment.

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

The application ID.

- */ - ApplicationId: string | undefined; } export namespace UpdateEnvironmentRequest { @@ -1741,11 +1741,6 @@ export namespace UpdateEnvironmentRequest { } export interface ValidateConfigurationRequest { - /** - *

The application ID.

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

The configuration profile ID.

*/ @@ -1755,6 +1750,11 @@ export interface ValidateConfigurationRequest { *

The version of the configuration to validate.

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

The application ID.

+ */ + ApplicationId: string | undefined; } export namespace ValidateConfigurationRequest { diff --git a/clients/client-appconfig/protocols/Aws_restJson1.ts b/clients/client-appconfig/protocols/Aws_restJson1.ts index 4eb536b8b137..26ea1c3ffcbc 100644 --- a/clients/client-appconfig/protocols/Aws_restJson1.ts +++ b/clients/client-appconfig/protocols/Aws_restJson1.ts @@ -399,15 +399,6 @@ export const serializeAws_restJson1DeleteEnvironmentCommand = async ( "Content-Type": "", }; let resolvedPath = "/applications/{ApplicationId}/environments/{EnvironmentId}"; - if (input.EnvironmentId !== undefined) { - const labelValue: string = input.EnvironmentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: EnvironmentId."); - } - resolvedPath = resolvedPath.replace("{EnvironmentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: EnvironmentId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -417,6 +408,15 @@ export const serializeAws_restJson1DeleteEnvironmentCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.EnvironmentId !== undefined) { + const labelValue: string = input.EnvironmentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EnvironmentId."); + } + resolvedPath = resolvedPath.replace("{EnvironmentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EnvironmentId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -439,14 +439,14 @@ export const serializeAws_restJson1DeleteHostedConfigurationVersionCommand = asy }; let resolvedPath = "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/hostedconfigurationversions/{VersionNumber}"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; + if (input.ConfigurationProfileId !== undefined) { + const labelValue: string = input.ConfigurationProfileId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); + throw new Error("Empty value provided for input HTTP label: ConfigurationProfileId."); } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ConfigurationProfileId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); + throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); } if (input.VersionNumber !== undefined) { const labelValue: string = input.VersionNumber.toString(); @@ -457,14 +457,14 @@ export const serializeAws_restJson1DeleteHostedConfigurationVersionCommand = asy } else { throw new Error("No value provided for input HTTP label: VersionNumber."); } - if (input.ConfigurationProfileId !== undefined) { - const labelValue: string = input.ConfigurationProfileId; + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ConfigurationProfileId."); + throw new Error("Empty value provided for input HTTP label: ApplicationId."); } - resolvedPath = resolvedPath.replace("{ConfigurationProfileId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); + throw new Error("No value provided for input HTTP label: ApplicationId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -526,15 +526,6 @@ export const serializeAws_restJson1GetConfigurationCommand = async ( } else { throw new Error("No value provided for input HTTP label: Environment."); } - if (input.Configuration !== undefined) { - const labelValue: string = input.Configuration; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Configuration."); - } - resolvedPath = resolvedPath.replace("{Configuration}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Configuration."); - } if (input.Application !== undefined) { const labelValue: string = input.Application; if (labelValue.length <= 0) { @@ -544,11 +535,20 @@ export const serializeAws_restJson1GetConfigurationCommand = async ( } else { throw new Error("No value provided for input HTTP label: Application."); } + if (input.Configuration !== undefined) { + const labelValue: string = input.Configuration; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Configuration."); + } + resolvedPath = resolvedPath.replace("{Configuration}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Configuration."); + } const query: any = { - ...(input.ClientId !== undefined && { client_id: input.ClientId }), ...(input.ClientConfigurationVersion !== undefined && { client_configuration_version: input.ClientConfigurationVersion, }), + ...(input.ClientId !== undefined && { client_id: input.ClientId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -572,15 +572,6 @@ export const serializeAws_restJson1GetConfigurationProfileCommand = async ( "Content-Type": "", }; let resolvedPath = "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}"; - if (input.ConfigurationProfileId !== undefined) { - const labelValue: string = input.ConfigurationProfileId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ConfigurationProfileId."); - } - resolvedPath = resolvedPath.replace("{ConfigurationProfileId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -590,6 +581,15 @@ export const serializeAws_restJson1GetConfigurationProfileCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.ConfigurationProfileId !== undefined) { + const labelValue: string = input.ConfigurationProfileId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ConfigurationProfileId."); + } + resolvedPath = resolvedPath.replace("{ConfigurationProfileId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -738,15 +738,6 @@ export const serializeAws_restJson1GetHostedConfigurationVersionCommand = async } else { throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); } - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.VersionNumber !== undefined) { const labelValue: string = input.VersionNumber.toString(); if (labelValue.length <= 0) { @@ -756,6 +747,15 @@ export const serializeAws_restJson1GetHostedConfigurationVersionCommand = async } else { throw new Error("No value provided for input HTTP label: VersionNumber."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -778,8 +778,8 @@ export const serializeAws_restJson1ListApplicationsCommand = async ( }; let resolvedPath = "/applications"; const query: any = { - ...(input.MaxResults !== undefined && { max_results: input.MaxResults.toString() }), ...(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(); @@ -883,8 +883,8 @@ export const serializeAws_restJson1ListDeploymentStrategiesCommand = async ( }; let resolvedPath = "/deploymentstrategies"; const query: any = { - ...(input.NextToken !== undefined && { next_token: input.NextToken }), ...(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(); @@ -918,8 +918,8 @@ export const serializeAws_restJson1ListEnvironmentsCommand = async ( throw new Error("No value provided for input HTTP label: ApplicationId."); } const query: any = { - ...(input.MaxResults !== undefined && { max_results: input.MaxResults.toString() }), ...(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(); @@ -1213,15 +1213,6 @@ export const serializeAws_restJson1UpdateConfigurationProfileCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.ConfigurationProfileId !== undefined) { const labelValue: string = input.ConfigurationProfileId; if (labelValue.length <= 0) { @@ -1231,6 +1222,15 @@ export const serializeAws_restJson1UpdateConfigurationProfileCommand = async ( } else { throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } let body: any; body = JSON.stringify({ ...(input.Description !== undefined && { Description: input.Description }), @@ -1299,15 +1299,6 @@ export const serializeAws_restJson1UpdateEnvironmentCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/applications/{ApplicationId}/environments/{EnvironmentId}"; - if (input.EnvironmentId !== undefined) { - const labelValue: string = input.EnvironmentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: EnvironmentId."); - } - resolvedPath = resolvedPath.replace("{EnvironmentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: EnvironmentId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -1317,6 +1308,15 @@ export const serializeAws_restJson1UpdateEnvironmentCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.EnvironmentId !== undefined) { + const labelValue: string = input.EnvironmentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EnvironmentId."); + } + resolvedPath = resolvedPath.replace("{EnvironmentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EnvironmentId."); + } let body: any; body = JSON.stringify({ ...(input.Description !== undefined && { Description: input.Description }), @@ -1343,15 +1343,6 @@ export const serializeAws_restJson1ValidateConfigurationCommand = async ( "Content-Type": "", }; let resolvedPath = "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/validators"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.ConfigurationProfileId !== undefined) { const labelValue: string = input.ConfigurationProfileId; if (labelValue.length <= 0) { @@ -1361,6 +1352,15 @@ export const serializeAws_restJson1ValidateConfigurationCommand = async ( } else { throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } const query: any = { ...(input.ConfigurationVersion !== undefined && { configuration_version: input.ConfigurationVersion }), }; @@ -1742,21 +1742,21 @@ export const deserializeAws_restJson1CreateHostedConfigurationVersionCommand = a Description: undefined, VersionNumber: undefined, }; - if (output.headers["content-type"] !== undefined) { - contents.ContentType = output.headers["content-type"]; - } if (output.headers["description"] !== undefined) { contents.Description = output.headers["description"]; } if (output.headers["configuration-profile-id"] !== undefined) { contents.ConfigurationProfileId = output.headers["configuration-profile-id"]; } - if (output.headers["version-number"] !== undefined) { - contents.VersionNumber = parseInt(output.headers["version-number"], 10); + if (output.headers["content-type"] !== undefined) { + contents.ContentType = output.headers["content-type"]; } if (output.headers["application-id"] !== undefined) { contents.ApplicationId = output.headers["application-id"]; } + if (output.headers["version-number"] !== undefined) { + contents.VersionNumber = parseInt(output.headers["version-number"], 10); + } const data: any = await collectBody(output.body, context); contents.Content = data; return Promise.resolve(contents); @@ -2786,21 +2786,21 @@ export const deserializeAws_restJson1GetHostedConfigurationVersionCommand = asyn Description: undefined, VersionNumber: undefined, }; - if (output.headers["content-type"] !== undefined) { - contents.ContentType = output.headers["content-type"]; - } if (output.headers["description"] !== undefined) { contents.Description = output.headers["description"]; } if (output.headers["configuration-profile-id"] !== undefined) { contents.ConfigurationProfileId = output.headers["configuration-profile-id"]; } - if (output.headers["version-number"] !== undefined) { - contents.VersionNumber = parseInt(output.headers["version-number"], 10); + if (output.headers["content-type"] !== undefined) { + contents.ContentType = output.headers["content-type"]; } if (output.headers["application-id"] !== undefined) { contents.ApplicationId = output.headers["application-id"]; } + if (output.headers["version-number"] !== undefined) { + contents.VersionNumber = parseInt(output.headers["version-number"], 10); + } const data: any = await collectBody(output.body, context); contents.Content = data; return Promise.resolve(contents); diff --git a/clients/client-appflow/.gitignore b/clients/client-appflow/.gitignore new file mode 100644 index 000000000000..b41c05b597c4 --- /dev/null +++ b/clients/client-appflow/.gitignore @@ -0,0 +1,14 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/types/ +/dist/ +*.tsbuildinfo +*.tgz +*.log +package-lock.json + +*.d.ts +*.js +*.js.map diff --git a/clients/client-appflow/.npmignore b/clients/client-appflow/.npmignore new file mode 100644 index 000000000000..b7ff81137c4a --- /dev/null +++ b/clients/client-appflow/.npmignore @@ -0,0 +1,4 @@ +/coverage/ +/docs/ +tsconfig.test.json +*.tsbuildinfo diff --git a/clients/client-appflow/Appflow.ts b/clients/client-appflow/Appflow.ts new file mode 100644 index 000000000000..4406fd0d349f --- /dev/null +++ b/clients/client-appflow/Appflow.ts @@ -0,0 +1,671 @@ +import { AppflowClient } from "./AppflowClient"; +import { + CreateConnectorProfileCommand, + CreateConnectorProfileCommandInput, + CreateConnectorProfileCommandOutput, +} from "./commands/CreateConnectorProfileCommand"; +import { CreateFlowCommand, CreateFlowCommandInput, CreateFlowCommandOutput } from "./commands/CreateFlowCommand"; +import { + DeleteConnectorProfileCommand, + DeleteConnectorProfileCommandInput, + DeleteConnectorProfileCommandOutput, +} from "./commands/DeleteConnectorProfileCommand"; +import { DeleteFlowCommand, DeleteFlowCommandInput, DeleteFlowCommandOutput } from "./commands/DeleteFlowCommand"; +import { + DescribeConnectorEntityCommand, + DescribeConnectorEntityCommandInput, + DescribeConnectorEntityCommandOutput, +} from "./commands/DescribeConnectorEntityCommand"; +import { + DescribeConnectorProfilesCommand, + DescribeConnectorProfilesCommandInput, + DescribeConnectorProfilesCommandOutput, +} from "./commands/DescribeConnectorProfilesCommand"; +import { + DescribeConnectorsCommand, + DescribeConnectorsCommandInput, + DescribeConnectorsCommandOutput, +} from "./commands/DescribeConnectorsCommand"; +import { + DescribeFlowCommand, + DescribeFlowCommandInput, + DescribeFlowCommandOutput, +} from "./commands/DescribeFlowCommand"; +import { + DescribeFlowExecutionRecordsCommand, + DescribeFlowExecutionRecordsCommandInput, + DescribeFlowExecutionRecordsCommandOutput, +} from "./commands/DescribeFlowExecutionRecordsCommand"; +import { + ListConnectorEntitiesCommand, + ListConnectorEntitiesCommandInput, + ListConnectorEntitiesCommandOutput, +} from "./commands/ListConnectorEntitiesCommand"; +import { ListFlowsCommand, ListFlowsCommandInput, ListFlowsCommandOutput } from "./commands/ListFlowsCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { StartFlowCommand, StartFlowCommandInput, StartFlowCommandOutput } from "./commands/StartFlowCommand"; +import { StopFlowCommand, StopFlowCommandInput, StopFlowCommandOutput } from "./commands/StopFlowCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; +import { + UpdateConnectorProfileCommand, + UpdateConnectorProfileCommandInput, + UpdateConnectorProfileCommandOutput, +} from "./commands/UpdateConnectorProfileCommand"; +import { UpdateFlowCommand, UpdateFlowCommandInput, UpdateFlowCommandOutput } from "./commands/UpdateFlowCommand"; +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +/** + *

Welcome to the Amazon AppFlow API reference. This guide is for developers who need detailed information about the Amazon AppFlow API operations, data types, and errors.

+ * + *

Amazon AppFlow is a fully managed integration service that enables you to securely transfer data between software as a service (SaaS) applications like Salesforce, Marketo, Slack, and ServiceNow, and AWS services like Amazon S3 and Amazon Redshift.

+ * + * + * + *

Use the following links to get started on the Amazon AppFlow API:

+ * + *
    + *
  • + *

    + * Actions: An alphabetical list of all Amazon AppFlow API operations.

    + *
  • + *
  • + *

    + * Data types: An alphabetical list of all Amazon AppFlow data types.

    + *
  • + *
  • + *

    + * Common parameters: Parameters that all Query operations can use.

    + *
  • + *
  • + *

    + * Common errors: Client and server errors that all operations can return.

    + *
  • + *
+ * + *

If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User Guide.

+ *

Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include applicable OAuth attributes (such as auth-code and redirecturi) with the connector-specific ConnectorProfileProperties when creating a new connector profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the + * Authorize Apps with OAuth + * documentation.

+ */ +export class Appflow extends AppflowClient { + /** + *

+ * Creates a new connector profile associated with your AWS account. There is a soft quota of 100 connector profiles per AWS account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel. + *

+ */ + public createConnectorProfile( + args: CreateConnectorProfileCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createConnectorProfile( + args: CreateConnectorProfileCommandInput, + cb: (err: any, data?: CreateConnectorProfileCommandOutput) => void + ): void; + public createConnectorProfile( + args: CreateConnectorProfileCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateConnectorProfileCommandOutput) => void + ): void; + public createConnectorProfile( + args: CreateConnectorProfileCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateConnectorProfileCommandOutput) => void), + cb?: (err: any, data?: CreateConnectorProfileCommandOutput) => void + ): Promise | void { + const command = new CreateConnectorProfileCommand(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); + } + } + + /** + *

+ * Enables your application to create a new flow using Amazon AppFlow. You must create a connector profile before calling this API. Please note that the Request Syntax below shows syntax for multiple destinations, however, you can only transfer data to one item in this list at a time. Amazon AppFlow does not currently support flows to multiple destinations at once. + * + *

+ */ + public createFlow(args: CreateFlowCommandInput, options?: __HttpHandlerOptions): Promise; + public createFlow(args: CreateFlowCommandInput, cb: (err: any, data?: CreateFlowCommandOutput) => void): void; + public createFlow( + args: CreateFlowCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateFlowCommandOutput) => void + ): void; + public createFlow( + args: CreateFlowCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateFlowCommandOutput) => void), + cb?: (err: any, data?: CreateFlowCommandOutput) => void + ): Promise | void { + const command = new CreateFlowCommand(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); + } + } + + /** + *

+ * Enables you to delete an existing connector profile. + *

+ */ + public deleteConnectorProfile( + args: DeleteConnectorProfileCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteConnectorProfile( + args: DeleteConnectorProfileCommandInput, + cb: (err: any, data?: DeleteConnectorProfileCommandOutput) => void + ): void; + public deleteConnectorProfile( + args: DeleteConnectorProfileCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteConnectorProfileCommandOutput) => void + ): void; + public deleteConnectorProfile( + args: DeleteConnectorProfileCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteConnectorProfileCommandOutput) => void), + cb?: (err: any, data?: DeleteConnectorProfileCommandOutput) => void + ): Promise | void { + const command = new DeleteConnectorProfileCommand(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); + } + } + + /** + *

+ * Enables your application to delete an existing flow. Before deleting the flow, Amazon AppFlow validates the request by checking the flow configuration and status. You can delete flows one at a time. + * + *

+ */ + public deleteFlow(args: DeleteFlowCommandInput, options?: __HttpHandlerOptions): Promise; + public deleteFlow(args: DeleteFlowCommandInput, cb: (err: any, data?: DeleteFlowCommandOutput) => void): void; + public deleteFlow( + args: DeleteFlowCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteFlowCommandOutput) => void + ): void; + public deleteFlow( + args: DeleteFlowCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteFlowCommandOutput) => void), + cb?: (err: any, data?: DeleteFlowCommandOutput) => void + ): Promise | void { + const command = new DeleteFlowCommand(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 details regarding the entity used with the connector, with a description of the data model for each entity. + *

+ */ + public describeConnectorEntity( + args: DescribeConnectorEntityCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeConnectorEntity( + args: DescribeConnectorEntityCommandInput, + cb: (err: any, data?: DescribeConnectorEntityCommandOutput) => void + ): void; + public describeConnectorEntity( + args: DescribeConnectorEntityCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeConnectorEntityCommandOutput) => void + ): void; + public describeConnectorEntity( + args: DescribeConnectorEntityCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeConnectorEntityCommandOutput) => void), + cb?: (err: any, data?: DescribeConnectorEntityCommandOutput) => void + ): Promise | void { + const command = new DescribeConnectorEntityCommand(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 connector-profile details matching the provided connector-profile names and connector-types. Both input lists are optional, and you can use them to filter the result.

+ *

If no names or connector-types are provided, returns all connector profiles in a paginated form. If there is no match, this operation returns an empty list.

+ */ + public describeConnectorProfiles( + args: DescribeConnectorProfilesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeConnectorProfiles( + args: DescribeConnectorProfilesCommandInput, + cb: (err: any, data?: DescribeConnectorProfilesCommandOutput) => void + ): void; + public describeConnectorProfiles( + args: DescribeConnectorProfilesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeConnectorProfilesCommandOutput) => void + ): void; + public describeConnectorProfiles( + args: DescribeConnectorProfilesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeConnectorProfilesCommandOutput) => void), + cb?: (err: any, data?: DescribeConnectorProfilesCommandOutput) => void + ): Promise | void { + const command = new DescribeConnectorProfilesCommand(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 connectors vended by Amazon AppFlow for specified connector types. If you don't specify a connector type, this operation describes all connectors vended by Amazon AppFlow. + * If there are more connectors than can be returned in one page, the response contains a nextToken object, which can be be passed in to the next call to the DescribeConnectors API operation to retrieve the next page. + *

+ */ + public describeConnectors( + args: DescribeConnectorsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeConnectors( + args: DescribeConnectorsCommandInput, + cb: (err: any, data?: DescribeConnectorsCommandOutput) => void + ): void; + public describeConnectors( + args: DescribeConnectorsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeConnectorsCommandOutput) => void + ): void; + public describeConnectors( + args: DescribeConnectorsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeConnectorsCommandOutput) => void), + cb?: (err: any, data?: DescribeConnectorsCommandOutput) => void + ): Promise | void { + const command = new DescribeConnectorsCommand(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 a description of the specified flow. + * + *

+ */ + public describeFlow( + args: DescribeFlowCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeFlow(args: DescribeFlowCommandInput, cb: (err: any, data?: DescribeFlowCommandOutput) => void): void; + public describeFlow( + args: DescribeFlowCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeFlowCommandOutput) => void + ): void; + public describeFlow( + args: DescribeFlowCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeFlowCommandOutput) => void), + cb?: (err: any, data?: DescribeFlowCommandOutput) => void + ): Promise | void { + const command = new DescribeFlowCommand(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 execution history of the flow. + *

+ */ + public describeFlowExecutionRecords( + args: DescribeFlowExecutionRecordsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeFlowExecutionRecords( + args: DescribeFlowExecutionRecordsCommandInput, + cb: (err: any, data?: DescribeFlowExecutionRecordsCommandOutput) => void + ): void; + public describeFlowExecutionRecords( + args: DescribeFlowExecutionRecordsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeFlowExecutionRecordsCommandOutput) => void + ): void; + public describeFlowExecutionRecords( + args: DescribeFlowExecutionRecordsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeFlowExecutionRecordsCommandOutput) => void), + cb?: (err: any, data?: DescribeFlowExecutionRecordsCommandOutput) => void + ): Promise | void { + const command = new DescribeFlowExecutionRecordsCommand(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 list of available connector entities supported by Amazon AppFlow. For example, you can query Salesforce for Account and Opportunity entities, or query ServiceNow for the Incident entity. + *

+ */ + public listConnectorEntities( + args: ListConnectorEntitiesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listConnectorEntities( + args: ListConnectorEntitiesCommandInput, + cb: (err: any, data?: ListConnectorEntitiesCommandOutput) => void + ): void; + public listConnectorEntities( + args: ListConnectorEntitiesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListConnectorEntitiesCommandOutput) => void + ): void; + public listConnectorEntities( + args: ListConnectorEntitiesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListConnectorEntitiesCommandOutput) => void), + cb?: (err: any, data?: ListConnectorEntitiesCommandOutput) => void + ): Promise | void { + const command = new ListConnectorEntitiesCommand(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 of the flows associated with your account. + *

+ */ + public listFlows(args: ListFlowsCommandInput, options?: __HttpHandlerOptions): Promise; + public listFlows(args: ListFlowsCommandInput, cb: (err: any, data?: ListFlowsCommandOutput) => void): void; + public listFlows( + args: ListFlowsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListFlowsCommandOutput) => void + ): void; + public listFlows( + args: ListFlowsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListFlowsCommandOutput) => void), + cb?: (err: any, data?: ListFlowsCommandOutput) => void + ): Promise | void { + const command = new ListFlowsCommand(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 tags that are associated with a specified flow. + *

+ */ + 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); + } + } + + /** + *

+ * Activates an existing flow. For on-demand flows, this operation runs the flow immediately. For schedule and event-triggered flows, this operation activates the flow. + * + *

+ */ + public startFlow(args: StartFlowCommandInput, options?: __HttpHandlerOptions): Promise; + public startFlow(args: StartFlowCommandInput, cb: (err: any, data?: StartFlowCommandOutput) => void): void; + public startFlow( + args: StartFlowCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartFlowCommandOutput) => void + ): void; + public startFlow( + args: StartFlowCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartFlowCommandOutput) => void), + cb?: (err: any, data?: StartFlowCommandOutput) => void + ): Promise | void { + const command = new StartFlowCommand(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); + } + } + + /** + *

+ * Deactivates the existing flow. For on-demand flows, this operation returns an unsupportedOperationException error message. For schedule and event-triggered flows, this operation deactivates the flow. + *

+ */ + public stopFlow(args: StopFlowCommandInput, options?: __HttpHandlerOptions): Promise; + public stopFlow(args: StopFlowCommandInput, cb: (err: any, data?: StopFlowCommandOutput) => void): void; + public stopFlow( + args: StopFlowCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StopFlowCommandOutput) => void + ): void; + public stopFlow( + args: StopFlowCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StopFlowCommandOutput) => void), + cb?: (err: any, data?: StopFlowCommandOutput) => void + ): Promise | void { + const command = new StopFlowCommand(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 a tag to the specified flow. + *

+ */ + 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 the specified flow. + *

+ */ + 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); + } + } + + /** + *

+ * Updates a given connector profile associated with your account. + *

+ */ + public updateConnectorProfile( + args: UpdateConnectorProfileCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateConnectorProfile( + args: UpdateConnectorProfileCommandInput, + cb: (err: any, data?: UpdateConnectorProfileCommandOutput) => void + ): void; + public updateConnectorProfile( + args: UpdateConnectorProfileCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateConnectorProfileCommandOutput) => void + ): void; + public updateConnectorProfile( + args: UpdateConnectorProfileCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateConnectorProfileCommandOutput) => void), + cb?: (err: any, data?: UpdateConnectorProfileCommandOutput) => void + ): Promise | void { + const command = new UpdateConnectorProfileCommand(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 flow. + *

+ */ + public updateFlow(args: UpdateFlowCommandInput, options?: __HttpHandlerOptions): Promise; + public updateFlow(args: UpdateFlowCommandInput, cb: (err: any, data?: UpdateFlowCommandOutput) => void): void; + public updateFlow( + args: UpdateFlowCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateFlowCommandOutput) => void + ): void; + public updateFlow( + args: UpdateFlowCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateFlowCommandOutput) => void), + cb?: (err: any, data?: UpdateFlowCommandOutput) => void + ): Promise | void { + const command = new UpdateFlowCommand(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-appflow/AppflowClient.ts b/clients/client-appflow/AppflowClient.ts new file mode 100644 index 000000000000..619c6bd8216e --- /dev/null +++ b/clients/client-appflow/AppflowClient.ts @@ -0,0 +1,309 @@ +import { + CreateConnectorProfileCommandInput, + CreateConnectorProfileCommandOutput, +} from "./commands/CreateConnectorProfileCommand"; +import { CreateFlowCommandInput, CreateFlowCommandOutput } from "./commands/CreateFlowCommand"; +import { + DeleteConnectorProfileCommandInput, + DeleteConnectorProfileCommandOutput, +} from "./commands/DeleteConnectorProfileCommand"; +import { DeleteFlowCommandInput, DeleteFlowCommandOutput } from "./commands/DeleteFlowCommand"; +import { + DescribeConnectorEntityCommandInput, + DescribeConnectorEntityCommandOutput, +} from "./commands/DescribeConnectorEntityCommand"; +import { + DescribeConnectorProfilesCommandInput, + DescribeConnectorProfilesCommandOutput, +} from "./commands/DescribeConnectorProfilesCommand"; +import { DescribeConnectorsCommandInput, DescribeConnectorsCommandOutput } from "./commands/DescribeConnectorsCommand"; +import { DescribeFlowCommandInput, DescribeFlowCommandOutput } from "./commands/DescribeFlowCommand"; +import { + DescribeFlowExecutionRecordsCommandInput, + DescribeFlowExecutionRecordsCommandOutput, +} from "./commands/DescribeFlowExecutionRecordsCommand"; +import { + ListConnectorEntitiesCommandInput, + ListConnectorEntitiesCommandOutput, +} from "./commands/ListConnectorEntitiesCommand"; +import { ListFlowsCommandInput, ListFlowsCommandOutput } from "./commands/ListFlowsCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { StartFlowCommandInput, StartFlowCommandOutput } from "./commands/StartFlowCommand"; +import { StopFlowCommandInput, StopFlowCommandOutput } from "./commands/StopFlowCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { + UpdateConnectorProfileCommandInput, + UpdateConnectorProfileCommandOutput, +} from "./commands/UpdateConnectorProfileCommand"; +import { UpdateFlowCommandInput, UpdateFlowCommandOutput } from "./commands/UpdateFlowCommand"; +import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; +import { + EndpointsInputConfig, + EndpointsResolvedConfig, + RegionInputConfig, + RegionResolvedConfig, + resolveEndpointsConfig, + resolveRegionConfig, +} from "@aws-sdk/config-resolver"; +import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length"; +import { + HostHeaderInputConfig, + HostHeaderResolvedConfig, + getHostHeaderPlugin, + resolveHostHeaderConfig, +} from "@aws-sdk/middleware-host-header"; +import { getLoggerPlugin } from "@aws-sdk/middleware-logger"; +import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry"; +import { + AwsAuthInputConfig, + AwsAuthResolvedConfig, + getAwsAuthPlugin, + resolveAwsAuthConfig, +} from "@aws-sdk/middleware-signing"; +import { + UserAgentInputConfig, + UserAgentResolvedConfig, + getUserAgentPlugin, + resolveUserAgentConfig, +} from "@aws-sdk/middleware-user-agent"; +import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http"; +import { + Client as __Client, + SmithyConfiguration as __SmithyConfiguration, + SmithyResolvedConfiguration as __SmithyResolvedConfiguration, +} from "@aws-sdk/smithy-client"; +import { + RegionInfoProvider, + Credentials as __Credentials, + Decoder as __Decoder, + Encoder as __Encoder, + HashConstructor as __HashConstructor, + HttpHandlerOptions as __HttpHandlerOptions, + Logger as __Logger, + Provider as __Provider, + StreamCollector as __StreamCollector, + UrlParser as __UrlParser, +} from "@aws-sdk/types"; + +export type ServiceInputTypes = + | CreateConnectorProfileCommandInput + | CreateFlowCommandInput + | DeleteConnectorProfileCommandInput + | DeleteFlowCommandInput + | DescribeConnectorEntityCommandInput + | DescribeConnectorProfilesCommandInput + | DescribeConnectorsCommandInput + | DescribeFlowCommandInput + | DescribeFlowExecutionRecordsCommandInput + | ListConnectorEntitiesCommandInput + | ListFlowsCommandInput + | ListTagsForResourceCommandInput + | StartFlowCommandInput + | StopFlowCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput + | UpdateConnectorProfileCommandInput + | UpdateFlowCommandInput; + +export type ServiceOutputTypes = + | CreateConnectorProfileCommandOutput + | CreateFlowCommandOutput + | DeleteConnectorProfileCommandOutput + | DeleteFlowCommandOutput + | DescribeConnectorEntityCommandOutput + | DescribeConnectorProfilesCommandOutput + | DescribeConnectorsCommandOutput + | DescribeFlowCommandOutput + | DescribeFlowExecutionRecordsCommandOutput + | ListConnectorEntitiesCommandOutput + | ListFlowsCommandOutput + | ListTagsForResourceCommandOutput + | StartFlowCommandOutput + | StopFlowCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput + | UpdateConnectorProfileCommandOutput + | UpdateFlowCommandOutput; + +export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { + /** + * The HTTP handler to use. Fetch in browser and Https in Nodejs. + */ + requestHandler?: __HttpHandler; + + /** + * A constructor for a class implementing the @aws-sdk/types.Hash interface + * that computes the SHA-256 HMAC or checksum of a string or binary buffer. + */ + sha256?: __HashConstructor; + + /** + * The function that will be used to convert strings into HTTP endpoints. + */ + urlParser?: __UrlParser; + + /** + * A function that can calculate the length of a request body. + */ + bodyLengthChecker?: (body: any) => number | undefined; + + /** + * A function that converts a stream into an array of bytes. + */ + streamCollector?: __StreamCollector; + + /** + * The function that will be used to convert a base64-encoded string to a byte array + */ + base64Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a base64-encoded string + */ + base64Encoder?: __Encoder; + + /** + * The function that will be used to convert a UTF8-encoded string to a byte array + */ + utf8Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a UTF-8 encoded string + */ + utf8Encoder?: __Encoder; + + /** + * The string that will be used to populate default value in 'User-Agent' header + */ + defaultUserAgent?: string; + + /** + * The runtime environment + */ + runtime?: string; + + /** + * Disable dyanamically changing the endpoint of the client based on the hostPrefix + * trait of an operation. + */ + disableHostPrefix?: boolean; + + /** + * The service name with which to sign requests. + */ + signingName?: string; + + /** + * Default credentials provider; Not available in browser runtime + */ + credentialDefaultProvider?: (input: any) => __Provider<__Credentials>; + + /** + * The AWS region to which this client will send requests + */ + region?: string | __Provider; + + /** + * Value for how many times a request will be made at most in case of retry. + */ + maxAttempts?: number | __Provider; + + /** + * Optional logger for logging debug/info/warn/error. + */ + logger?: __Logger; + + /** + * Fetch related hostname, signing name or signing region with given region. + */ + regionInfoProvider?: RegionInfoProvider; +} + +export type AppflowClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & + ClientDefaults & + RegionInputConfig & + EndpointsInputConfig & + AwsAuthInputConfig & + RetryInputConfig & + UserAgentInputConfig & + HostHeaderInputConfig; + +export type AppflowClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> & + Required & + RegionResolvedConfig & + EndpointsResolvedConfig & + AwsAuthResolvedConfig & + RetryResolvedConfig & + UserAgentResolvedConfig & + HostHeaderResolvedConfig; + +/** + *

Welcome to the Amazon AppFlow API reference. This guide is for developers who need detailed information about the Amazon AppFlow API operations, data types, and errors.

+ * + *

Amazon AppFlow is a fully managed integration service that enables you to securely transfer data between software as a service (SaaS) applications like Salesforce, Marketo, Slack, and ServiceNow, and AWS services like Amazon S3 and Amazon Redshift.

+ * + * + * + *

Use the following links to get started on the Amazon AppFlow API:

+ * + *
    + *
  • + *

    + * Actions: An alphabetical list of all Amazon AppFlow API operations.

    + *
  • + *
  • + *

    + * Data types: An alphabetical list of all Amazon AppFlow data types.

    + *
  • + *
  • + *

    + * Common parameters: Parameters that all Query operations can use.

    + *
  • + *
  • + *

    + * Common errors: Client and server errors that all operations can return.

    + *
  • + *
+ * + *

If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User Guide.

+ *

Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include applicable OAuth attributes (such as auth-code and redirecturi) with the connector-specific ConnectorProfileProperties when creating a new connector profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the + * Authorize Apps with OAuth + * documentation.

+ */ +export class AppflowClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + AppflowClientResolvedConfig +> { + readonly config: AppflowClientResolvedConfig; + + constructor(configuration: AppflowClientConfig) { + let _config_0 = { + ...__ClientDefaultValues, + ...configuration, + }; + let _config_1 = resolveRegionConfig(_config_0); + let _config_2 = resolveEndpointsConfig(_config_1); + let _config_3 = resolveAwsAuthConfig(_config_2); + let _config_4 = resolveRetryConfig(_config_3); + let _config_5 = resolveUserAgentConfig(_config_4); + let _config_6 = resolveHostHeaderConfig(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use(getAwsAuthPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + } + + destroy(): void { + super.destroy(); + } +} diff --git a/clients/client-appflow/LICENSE b/clients/client-appflow/LICENSE new file mode 100644 index 000000000000..dd65ae06be7a --- /dev/null +++ b/clients/client-appflow/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-appflow/README.md b/clients/client-appflow/README.md new file mode 100644 index 000000000000..2feff12b9e17 --- /dev/null +++ b/clients/client-appflow/README.md @@ -0,0 +1,6 @@ +@aws-sdk/client-appflow + +[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-appflow/beta.svg)](https://www.npmjs.com/package/@aws-sdk/client-appflow) +[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-appflow.svg)](https://www.npmjs.com/package/@aws-sdk/client-appflow) + +For SDK usage, please step to [SDK readme](https://github.com/aws/aws-sdk-js-v3). diff --git a/clients/client-appflow/commands/CreateConnectorProfileCommand.ts b/clients/client-appflow/commands/CreateConnectorProfileCommand.ts new file mode 100644 index 000000000000..e89e8d5a6847 --- /dev/null +++ b/clients/client-appflow/commands/CreateConnectorProfileCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { CreateConnectorProfileRequest, CreateConnectorProfileResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateConnectorProfileCommand, + serializeAws_restJson1CreateConnectorProfileCommand, +} 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 CreateConnectorProfileCommandInput = CreateConnectorProfileRequest; +export type CreateConnectorProfileCommandOutput = CreateConnectorProfileResponse & __MetadataBearer; + +export class CreateConnectorProfileCommand extends $Command< + CreateConnectorProfileCommandInput, + CreateConnectorProfileCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateConnectorProfileCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateConnectorProfileRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateConnectorProfileResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateConnectorProfileCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateConnectorProfileCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateConnectorProfileCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/CreateFlowCommand.ts b/clients/client-appflow/commands/CreateFlowCommand.ts new file mode 100644 index 000000000000..3da6137491fc --- /dev/null +++ b/clients/client-appflow/commands/CreateFlowCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { CreateFlowRequest, CreateFlowResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateFlowCommand, + serializeAws_restJson1CreateFlowCommand, +} 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 CreateFlowCommandInput = CreateFlowRequest; +export type CreateFlowCommandOutput = CreateFlowResponse & __MetadataBearer; + +export class CreateFlowCommand extends $Command< + CreateFlowCommandInput, + CreateFlowCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateFlowCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateFlowRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateFlowResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateFlowCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateFlowCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateFlowCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/DeleteConnectorProfileCommand.ts b/clients/client-appflow/commands/DeleteConnectorProfileCommand.ts new file mode 100644 index 000000000000..8661aaa0f3c2 --- /dev/null +++ b/clients/client-appflow/commands/DeleteConnectorProfileCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { DeleteConnectorProfileRequest, DeleteConnectorProfileResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteConnectorProfileCommand, + serializeAws_restJson1DeleteConnectorProfileCommand, +} 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 DeleteConnectorProfileCommandInput = DeleteConnectorProfileRequest; +export type DeleteConnectorProfileCommandOutput = DeleteConnectorProfileResponse & __MetadataBearer; + +export class DeleteConnectorProfileCommand extends $Command< + DeleteConnectorProfileCommandInput, + DeleteConnectorProfileCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteConnectorProfileCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteConnectorProfileRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteConnectorProfileResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteConnectorProfileCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteConnectorProfileCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteConnectorProfileCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/DeleteFlowCommand.ts b/clients/client-appflow/commands/DeleteFlowCommand.ts new file mode 100644 index 000000000000..f47e564caf62 --- /dev/null +++ b/clients/client-appflow/commands/DeleteFlowCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { DeleteFlowRequest, DeleteFlowResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteFlowCommand, + serializeAws_restJson1DeleteFlowCommand, +} 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 DeleteFlowCommandInput = DeleteFlowRequest; +export type DeleteFlowCommandOutput = DeleteFlowResponse & __MetadataBearer; + +export class DeleteFlowCommand extends $Command< + DeleteFlowCommandInput, + DeleteFlowCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteFlowCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteFlowRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteFlowResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteFlowCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteFlowCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteFlowCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/DescribeConnectorEntityCommand.ts b/clients/client-appflow/commands/DescribeConnectorEntityCommand.ts new file mode 100644 index 000000000000..deb2a7903296 --- /dev/null +++ b/clients/client-appflow/commands/DescribeConnectorEntityCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { DescribeConnectorEntityRequest, DescribeConnectorEntityResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeConnectorEntityCommand, + serializeAws_restJson1DescribeConnectorEntityCommand, +} 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 DescribeConnectorEntityCommandInput = DescribeConnectorEntityRequest; +export type DescribeConnectorEntityCommandOutput = DescribeConnectorEntityResponse & __MetadataBearer; + +export class DescribeConnectorEntityCommand extends $Command< + DescribeConnectorEntityCommandInput, + DescribeConnectorEntityCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeConnectorEntityCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeConnectorEntityRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeConnectorEntityResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeConnectorEntityCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeConnectorEntityCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeConnectorEntityCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/DescribeConnectorProfilesCommand.ts b/clients/client-appflow/commands/DescribeConnectorProfilesCommand.ts new file mode 100644 index 000000000000..095caa15f140 --- /dev/null +++ b/clients/client-appflow/commands/DescribeConnectorProfilesCommand.ts @@ -0,0 +1,73 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { DescribeConnectorProfilesRequest, DescribeConnectorProfilesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeConnectorProfilesCommand, + serializeAws_restJson1DescribeConnectorProfilesCommand, +} 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 DescribeConnectorProfilesCommandInput = DescribeConnectorProfilesRequest; +export type DescribeConnectorProfilesCommandOutput = DescribeConnectorProfilesResponse & __MetadataBearer; + +export class DescribeConnectorProfilesCommand extends $Command< + DescribeConnectorProfilesCommandInput, + DescribeConnectorProfilesCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeConnectorProfilesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeConnectorProfilesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeConnectorProfilesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeConnectorProfilesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeConnectorProfilesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeConnectorProfilesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/DescribeConnectorsCommand.ts b/clients/client-appflow/commands/DescribeConnectorsCommand.ts new file mode 100644 index 000000000000..f9ede4ce04c7 --- /dev/null +++ b/clients/client-appflow/commands/DescribeConnectorsCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { DescribeConnectorsRequest, DescribeConnectorsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeConnectorsCommand, + serializeAws_restJson1DescribeConnectorsCommand, +} 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 DescribeConnectorsCommandInput = DescribeConnectorsRequest; +export type DescribeConnectorsCommandOutput = DescribeConnectorsResponse & __MetadataBearer; + +export class DescribeConnectorsCommand extends $Command< + DescribeConnectorsCommandInput, + DescribeConnectorsCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeConnectorsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeConnectorsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeConnectorsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeConnectorsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeConnectorsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeConnectorsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/DescribeFlowCommand.ts b/clients/client-appflow/commands/DescribeFlowCommand.ts new file mode 100644 index 000000000000..a395c43a894d --- /dev/null +++ b/clients/client-appflow/commands/DescribeFlowCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { DescribeFlowRequest, DescribeFlowResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeFlowCommand, + serializeAws_restJson1DescribeFlowCommand, +} 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 DescribeFlowCommandInput = DescribeFlowRequest; +export type DescribeFlowCommandOutput = DescribeFlowResponse & __MetadataBearer; + +export class DescribeFlowCommand extends $Command< + DescribeFlowCommandInput, + DescribeFlowCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeFlowCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeFlowRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeFlowResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeFlowCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeFlowCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeFlowCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/DescribeFlowExecutionRecordsCommand.ts b/clients/client-appflow/commands/DescribeFlowExecutionRecordsCommand.ts new file mode 100644 index 000000000000..3adf699bae92 --- /dev/null +++ b/clients/client-appflow/commands/DescribeFlowExecutionRecordsCommand.ts @@ -0,0 +1,73 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { DescribeFlowExecutionRecordsRequest, DescribeFlowExecutionRecordsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeFlowExecutionRecordsCommand, + serializeAws_restJson1DescribeFlowExecutionRecordsCommand, +} 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 DescribeFlowExecutionRecordsCommandInput = DescribeFlowExecutionRecordsRequest; +export type DescribeFlowExecutionRecordsCommandOutput = DescribeFlowExecutionRecordsResponse & __MetadataBearer; + +export class DescribeFlowExecutionRecordsCommand extends $Command< + DescribeFlowExecutionRecordsCommandInput, + DescribeFlowExecutionRecordsCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeFlowExecutionRecordsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeFlowExecutionRecordsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeFlowExecutionRecordsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeFlowExecutionRecordsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeFlowExecutionRecordsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeFlowExecutionRecordsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/ListConnectorEntitiesCommand.ts b/clients/client-appflow/commands/ListConnectorEntitiesCommand.ts new file mode 100644 index 000000000000..2d43f02d4c79 --- /dev/null +++ b/clients/client-appflow/commands/ListConnectorEntitiesCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { ListConnectorEntitiesRequest, ListConnectorEntitiesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListConnectorEntitiesCommand, + serializeAws_restJson1ListConnectorEntitiesCommand, +} 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 ListConnectorEntitiesCommandInput = ListConnectorEntitiesRequest; +export type ListConnectorEntitiesCommandOutput = ListConnectorEntitiesResponse & __MetadataBearer; + +export class ListConnectorEntitiesCommand extends $Command< + ListConnectorEntitiesCommandInput, + ListConnectorEntitiesCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListConnectorEntitiesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListConnectorEntitiesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListConnectorEntitiesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListConnectorEntitiesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListConnectorEntitiesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListConnectorEntitiesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/ListFlowsCommand.ts b/clients/client-appflow/commands/ListFlowsCommand.ts new file mode 100644 index 000000000000..2c681c8ac535 --- /dev/null +++ b/clients/client-appflow/commands/ListFlowsCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { ListFlowsRequest, ListFlowsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListFlowsCommand, + serializeAws_restJson1ListFlowsCommand, +} 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 ListFlowsCommandInput = ListFlowsRequest; +export type ListFlowsCommandOutput = ListFlowsResponse & __MetadataBearer; + +export class ListFlowsCommand extends $Command< + ListFlowsCommandInput, + ListFlowsCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListFlowsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListFlowsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListFlowsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListFlowsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListFlowsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListFlowsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/ListTagsForResourceCommand.ts b/clients/client-appflow/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..0856a3219c3a --- /dev/null +++ b/clients/client-appflow/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +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, + AppflowClientResolvedConfig +> { + // 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: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListTagsForResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsForResourceResponse.filterSensitiveLog, + }; + 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-appflow/commands/StartFlowCommand.ts b/clients/client-appflow/commands/StartFlowCommand.ts new file mode 100644 index 000000000000..24cb18e989b1 --- /dev/null +++ b/clients/client-appflow/commands/StartFlowCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { StartFlowRequest, StartFlowResponse } from "../models/models_0"; +import { + deserializeAws_restJson1StartFlowCommand, + serializeAws_restJson1StartFlowCommand, +} 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 StartFlowCommandInput = StartFlowRequest; +export type StartFlowCommandOutput = StartFlowResponse & __MetadataBearer; + +export class StartFlowCommand extends $Command< + StartFlowCommandInput, + StartFlowCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartFlowCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: StartFlowRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartFlowResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartFlowCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1StartFlowCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1StartFlowCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/StopFlowCommand.ts b/clients/client-appflow/commands/StopFlowCommand.ts new file mode 100644 index 000000000000..b7f2ff83408f --- /dev/null +++ b/clients/client-appflow/commands/StopFlowCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { StopFlowRequest, StopFlowResponse } from "../models/models_0"; +import { + deserializeAws_restJson1StopFlowCommand, + serializeAws_restJson1StopFlowCommand, +} 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 StopFlowCommandInput = StopFlowRequest; +export type StopFlowCommandOutput = StopFlowResponse & __MetadataBearer; + +export class StopFlowCommand extends $Command< + StopFlowCommandInput, + StopFlowCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StopFlowCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: StopFlowRequest.filterSensitiveLog, + outputFilterSensitiveLog: StopFlowResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StopFlowCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1StopFlowCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1StopFlowCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/TagResourceCommand.ts b/clients/client-appflow/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..ddc0e11c82b2 --- /dev/null +++ b/clients/client-appflow/commands/TagResourceCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +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, + AppflowClientResolvedConfig +> { + // 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: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: TagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: TagResourceResponse.filterSensitiveLog, + }; + 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-appflow/commands/UntagResourceCommand.ts b/clients/client-appflow/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..754b2bff7421 --- /dev/null +++ b/clients/client-appflow/commands/UntagResourceCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +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, + AppflowClientResolvedConfig +> { + // 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: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UntagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: UntagResourceResponse.filterSensitiveLog, + }; + 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-appflow/commands/UpdateConnectorProfileCommand.ts b/clients/client-appflow/commands/UpdateConnectorProfileCommand.ts new file mode 100644 index 000000000000..b1af8fbda385 --- /dev/null +++ b/clients/client-appflow/commands/UpdateConnectorProfileCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { UpdateConnectorProfileRequest, UpdateConnectorProfileResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateConnectorProfileCommand, + serializeAws_restJson1UpdateConnectorProfileCommand, +} 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 UpdateConnectorProfileCommandInput = UpdateConnectorProfileRequest; +export type UpdateConnectorProfileCommandOutput = UpdateConnectorProfileResponse & __MetadataBearer; + +export class UpdateConnectorProfileCommand extends $Command< + UpdateConnectorProfileCommandInput, + UpdateConnectorProfileCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateConnectorProfileCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateConnectorProfileRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateConnectorProfileResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateConnectorProfileCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateConnectorProfileCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateConnectorProfileCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/commands/UpdateFlowCommand.ts b/clients/client-appflow/commands/UpdateFlowCommand.ts new file mode 100644 index 000000000000..737f2900d8cb --- /dev/null +++ b/clients/client-appflow/commands/UpdateFlowCommand.ts @@ -0,0 +1,70 @@ +import { AppflowClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppflowClient"; +import { UpdateFlowRequest, UpdateFlowResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateFlowCommand, + serializeAws_restJson1UpdateFlowCommand, +} 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 UpdateFlowCommandInput = UpdateFlowRequest; +export type UpdateFlowCommandOutput = UpdateFlowResponse & __MetadataBearer; + +export class UpdateFlowCommand extends $Command< + UpdateFlowCommandInput, + UpdateFlowCommandOutput, + AppflowClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateFlowCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppflowClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateFlowRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateFlowResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateFlowCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateFlowCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateFlowCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appflow/endpoints.ts b/clients/client-appflow/endpoints.ts new file mode 100644 index 000000000000..31bbb1b9920b --- /dev/null +++ b/clients/client-appflow/endpoints.ts @@ -0,0 +1,81 @@ +import { RegionInfo, RegionInfoProvider } from "@aws-sdk/types"; + +// Partition default templates +const AWS_TEMPLATE = "appflow.{region}.amazonaws.com"; +const AWS_CN_TEMPLATE = "appflow.{region}.amazonaws.com.cn"; +const AWS_ISO_TEMPLATE = "appflow.{region}.c2s.ic.gov"; +const AWS_ISO_B_TEMPLATE = "appflow.{region}.sc2s.sgov.gov"; +const AWS_US_GOV_TEMPLATE = "appflow.{region}.amazonaws.com"; + +// Partition regions +const AWS_REGIONS = new Set([ + "ap-east-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-west-1", + "eu-west-2", + "eu-west-3", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2", +]); +const AWS_CN_REGIONS = new Set(["cn-north-1", "cn-northwest-1"]); +const AWS_ISO_REGIONS = new Set(["us-iso-east-1"]); +const AWS_ISO_B_REGIONS = new Set(["us-isob-east-1"]); +const AWS_US_GOV_REGIONS = new Set(["us-gov-east-1", "us-gov-west-1"]); + +export const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => { + let regionInfo: RegionInfo | undefined = undefined; + switch (region) { + // First, try to match exact region names. + // Next, try to match partition endpoints. + default: + if (AWS_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + if (AWS_CN_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_CN_TEMPLATE.replace("{region}", region), + partition: "aws-cn", + }; + } + if (AWS_ISO_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_TEMPLATE.replace("{region}", region), + partition: "aws-iso", + }; + } + if (AWS_ISO_B_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_B_TEMPLATE.replace("{region}", region), + partition: "aws-iso-b", + }; + } + if (AWS_US_GOV_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_US_GOV_TEMPLATE.replace("{region}", region), + partition: "aws-us-gov", + }; + } + // Finally, assume it's an AWS partition endpoint. + if (regionInfo === undefined) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + } + return Promise.resolve(regionInfo); +}; diff --git a/clients/client-appflow/index.ts b/clients/client-appflow/index.ts new file mode 100644 index 000000000000..73e71e288801 --- /dev/null +++ b/clients/client-appflow/index.ts @@ -0,0 +1,26 @@ +export * from "./AppflowClient"; +export * from "./Appflow"; +export * from "./commands/CreateConnectorProfileCommand"; +export * from "./commands/CreateFlowCommand"; +export * from "./commands/DeleteConnectorProfileCommand"; +export * from "./commands/DeleteFlowCommand"; +export * from "./commands/DescribeConnectorEntityCommand"; +export * from "./commands/DescribeConnectorProfilesCommand"; +export * from "./pagination/DescribeConnectorProfilesPaginator"; +export * from "./commands/DescribeConnectorsCommand"; +export * from "./pagination/DescribeConnectorsPaginator"; +export * from "./commands/DescribeFlowCommand"; +export * from "./commands/DescribeFlowExecutionRecordsCommand"; +export * from "./pagination/DescribeFlowExecutionRecordsPaginator"; +export * from "./commands/ListConnectorEntitiesCommand"; +export * from "./commands/ListFlowsCommand"; +export * from "./pagination/ListFlowsPaginator"; +export * from "./commands/ListTagsForResourceCommand"; +export * from "./commands/StartFlowCommand"; +export * from "./commands/StopFlowCommand"; +export * from "./commands/TagResourceCommand"; +export * from "./commands/UntagResourceCommand"; +export * from "./commands/UpdateConnectorProfileCommand"; +export * from "./commands/UpdateFlowCommand"; +export * from "./pagination/Interfaces"; +export * from "./models/index"; diff --git a/clients/client-appflow/models/index.ts b/clients/client-appflow/models/index.ts new file mode 100644 index 000000000000..09c5d6e09b8c --- /dev/null +++ b/clients/client-appflow/models/index.ts @@ -0,0 +1 @@ +export * from "./models_0"; diff --git a/clients/client-appflow/models/models_0.ts b/clients/client-appflow/models/models_0.ts new file mode 100644 index 000000000000..1de95233274c --- /dev/null +++ b/clients/client-appflow/models/models_0.ts @@ -0,0 +1,4609 @@ +import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; + +export enum AggregationType { + NONE = "None", + SINGLE_FILE = "SingleFile", +} + +/** + *

+ * The aggregation settings that you can use to customize the output format of your flow data. + *

+ */ +export interface AggregationConfig { + /** + *

+ * Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated. + *

+ */ + aggregationType?: AggregationType | string; +} + +export namespace AggregationConfig { + export const filterSensitiveLog = (obj: AggregationConfig): any => ({ + ...obj, + }); +} + +export enum AmplitudeConnectorOperator { + BETWEEN = "BETWEEN", +} + +/** + *

+ * The connector-specific credentials required when using Amplitude. + *

+ */ +export interface AmplitudeConnectorProfileCredentials { + /** + *

+ * The Secret Access Key portion of the credentials. + *

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

+ * A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. + *

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

+ * The connector-specific profile properties required when using Amplitude. + *

+ */ +export interface AmplitudeConnectorProfileProperties {} + +export namespace AmplitudeConnectorProfileProperties { + export const filterSensitiveLog = (obj: AmplitudeConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Amplitude. + *

+ */ +export interface AmplitudeMetadata {} + +export namespace AmplitudeMetadata { + export const filterSensitiveLog = (obj: AmplitudeMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Amplitude is being used as a source. + *

+ */ +export interface AmplitudeSourceProperties { + /** + *

+ * The object specified in the Amplitude flow source. + *

+ */ + object: string | undefined; +} + +export namespace AmplitudeSourceProperties { + export const filterSensitiveLog = (obj: AmplitudeSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again. + *

+ */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +export enum ConnectionMode { + PRIVATE = "Private", + PUBLIC = "Public", +} + +/** + *

+ * An error occurred when authenticating with the connector endpoint. + *

+ */ +export interface ConnectorAuthenticationException extends __SmithyException, $MetadataBearer { + name: "ConnectorAuthenticationException"; + $fault: "client"; + message?: string; +} + +export namespace ConnectorAuthenticationException { + export const filterSensitiveLog = (obj: ConnectorAuthenticationException): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Datadog. + *

+ */ +export interface DatadogMetadata {} + +export namespace DatadogMetadata { + export const filterSensitiveLog = (obj: DatadogMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Dynatrace. + *

+ */ +export interface DynatraceMetadata {} + +export namespace DynatraceMetadata { + export const filterSensitiveLog = (obj: DynatraceMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Amazon EventBridge. + *

+ */ +export interface EventBridgeMetadata {} + +export namespace EventBridgeMetadata { + export const filterSensitiveLog = (obj: EventBridgeMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Google Analytics. + *

+ */ +export interface GoogleAnalyticsMetadata { + /** + *

+ * The desired authorization scope for the Google Analytics account. + *

+ */ + oAuthScopes?: string[]; +} + +export namespace GoogleAnalyticsMetadata { + export const filterSensitiveLog = (obj: GoogleAnalyticsMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Infor Nexus. + *

+ */ +export interface InforNexusMetadata {} + +export namespace InforNexusMetadata { + export const filterSensitiveLog = (obj: InforNexusMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Marketo. + *

+ */ +export interface MarketoMetadata {} + +export namespace MarketoMetadata { + export const filterSensitiveLog = (obj: MarketoMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Amazon Redshift. + *

+ */ +export interface RedshiftMetadata {} + +export namespace RedshiftMetadata { + export const filterSensitiveLog = (obj: RedshiftMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Amazon S3. + *

+ */ +export interface S3Metadata {} + +export namespace S3Metadata { + export const filterSensitiveLog = (obj: S3Metadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Salesforce. + *

+ */ +export interface SalesforceMetadata { + /** + *

+ * The desired authorization scope for the Salesforce account. + *

+ */ + oAuthScopes?: string[]; +} + +export namespace SalesforceMetadata { + export const filterSensitiveLog = (obj: SalesforceMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to ServiceNow. + *

+ */ +export interface ServiceNowMetadata {} + +export namespace ServiceNowMetadata { + export const filterSensitiveLog = (obj: ServiceNowMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Singular. + *

+ */ +export interface SingularMetadata {} + +export namespace SingularMetadata { + export const filterSensitiveLog = (obj: SingularMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Slack. + *

+ */ +export interface SlackMetadata { + /** + *

+ * The desired authorization scope for the Slack account. + *

+ */ + oAuthScopes?: string[]; +} + +export namespace SlackMetadata { + export const filterSensitiveLog = (obj: SlackMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Snowflake. + *

+ */ +export interface SnowflakeMetadata { + /** + *

+ * Specifies the supported AWS Regions when using Snowflake. + *

+ */ + supportedRegions?: string[]; +} + +export namespace SnowflakeMetadata { + export const filterSensitiveLog = (obj: SnowflakeMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Trend Micro. + *

+ */ +export interface TrendmicroMetadata {} + +export namespace TrendmicroMetadata { + export const filterSensitiveLog = (obj: TrendmicroMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Veeva. + *

+ */ +export interface VeevaMetadata {} + +export namespace VeevaMetadata { + export const filterSensitiveLog = (obj: VeevaMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector metadata specific to Zendesk. + *

+ */ +export interface ZendeskMetadata { + /** + *

+ * The desired authorization scope for the Zendesk account. + *

+ */ + oAuthScopes?: string[]; +} + +export namespace ZendeskMetadata { + export const filterSensitiveLog = (obj: ZendeskMetadata): any => ({ + ...obj, + }); +} + +/** + *

+ * A structure to specify connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on. + *

+ */ +export interface ConnectorMetadata { + /** + *

+ * The connector metadata specific to Snowflake. + *

+ */ + Snowflake?: SnowflakeMetadata; + + /** + *

+ * The connector metadata specific to Slack. + *

+ */ + Slack?: SlackMetadata; + + /** + *

+ * The connector metadata specific to Amazon Redshift. + *

+ */ + Redshift?: RedshiftMetadata; + + /** + *

+ * The connector metadata specific to Marketo. + *

+ */ + Marketo?: MarketoMetadata; + + /** + *

+ * The connector metadata specific to Datadog. + *

+ */ + Datadog?: DatadogMetadata; + + /** + *

+ * The connector metadata specific to Veeva. + *

+ */ + Veeva?: VeevaMetadata; + + /** + *

+ * The connector metadata specific to Amazon EventBridge. + *

+ */ + EventBridge?: EventBridgeMetadata; + + /** + *

+ * The connector metadata specific to Trend Micro. + *

+ */ + Trendmicro?: TrendmicroMetadata; + + /** + *

+ * The connector metadata specific to ServiceNow. + *

+ */ + ServiceNow?: ServiceNowMetadata; + + /** + *

+ * The connector metadata specific to Zendesk. + *

+ */ + Zendesk?: ZendeskMetadata; + + /** + *

+ * The connector metadata specific to Dynatrace. + *

+ */ + Dynatrace?: DynatraceMetadata; + + /** + *

+ * The connector metadata specific to Amplitude. + *

+ */ + Amplitude?: AmplitudeMetadata; + + /** + *

+ * The connector metadata specific to Google Analytics. + *

+ */ + GoogleAnalytics?: GoogleAnalyticsMetadata; + + /** + *

+ * The connector metadata specific to Amazon S3. + *

+ */ + S3?: S3Metadata; + + /** + *

+ * The connector metadata specific to Infor Nexus. + *

+ */ + InforNexus?: InforNexusMetadata; + + /** + *

+ * The connector metadata specific to Salesforce. + *

+ */ + Salesforce?: SalesforceMetadata; + + /** + *

+ * The connector metadata specific to Singular. + *

+ */ + Singular?: SingularMetadata; +} + +export namespace ConnectorMetadata { + export const filterSensitiveLog = (obj: ConnectorMetadata): any => ({ + ...obj, + }); +} + +export enum ConnectorType { + AMPLITUDE = "Amplitude", + DATADOG = "Datadog", + DYNATRACE = "Dynatrace", + EVENTBRIDGE = "EventBridge", + GOOGLEANALYTICS = "Googleanalytics", + INFORNEXUS = "Infornexus", + MARKETO = "Marketo", + REDSHIFT = "Redshift", + S3 = "S3", + SALESFORCE = "Salesforce", + SERVICENOW = "Servicenow", + SINGULAR = "Singular", + SLACK = "Slack", + SNOWFLAKE = "Snowflake", + TRENDMICRO = "Trendmicro", + VEEVA = "Veeva", + ZENDESK = "Zendesk", +} + +export enum ScheduleFrequencyType { + BYMINUTE = "BYMINUTE", + DAILY = "DAILY", + HOURLY = "HOURLY", + MONTHLY = "MONTHLY", + ONCE = "ONCE", + WEEKLY = "WEEKLY", +} + +export enum TriggerType { + EVENT = "Event", + ONDEMAND = "OnDemand", + SCHEDULED = "Scheduled", +} + +/** + *

+ * The configuration settings related to a given connector. + *

+ */ +export interface ConnectorConfiguration { + /** + *

+ * Specifies whether the connector can be used as a source. + *

+ */ + canUseAsSource?: boolean; + + /** + *

+ * Specifies connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on. + *

+ */ + connectorMetadata?: ConnectorMetadata; + + /** + *

+ * Specifies whether the connector can be used as a destination. + *

+ */ + canUseAsDestination?: boolean; + + /** + *

+ * Lists the connectors that are available for use as destinations. + *

+ */ + supportedDestinationConnectors?: (ConnectorType | string)[]; + + /** + *

+ * Specifies the supported trigger types for the flow. + *

+ */ + supportedTriggerTypes?: (TriggerType | string)[]; + + /** + *

+ * Specifies if PrivateLink is enabled for that connector. + *

+ */ + isPrivateLinkEnabled?: boolean; + + /** + *

+ * Specifies if a PrivateLink endpoint URL is required. + *

+ */ + isPrivateLinkEndpointUrlRequired?: boolean; + + /** + *

+ * Specifies the supported flow frequency for that connector. + *

+ */ + supportedSchedulingFrequencies?: (ScheduleFrequencyType | string)[]; +} + +export namespace ConnectorConfiguration { + export const filterSensitiveLog = (obj: ConnectorConfiguration): any => ({ + ...obj, + }); +} + +/** + *

+ * The high-level entity that can be queried in Amazon AppFlow. For example, a Salesforce entity might be an Account or Opportunity, whereas a ServiceNow entity might be an Incident. + * + *

+ */ +export interface ConnectorEntity { + /** + *

+ * Specifies whether the connector entity is a parent or a category and has more entities nested underneath it. If another call is made with entitiesPath = "the_current_entity_name_with_hasNestedEntities_true", then it returns the nested entities underneath it. This provides a way to retrieve all supported entities in a recursive fashion. + *

+ */ + hasNestedEntities?: boolean; + + /** + *

+ * The label applied to the connector entity. + *

+ */ + label?: string; + + /** + *

+ * The name of the connector entity. + *

+ */ + name: string | undefined; +} + +export namespace ConnectorEntity { + export const filterSensitiveLog = (obj: ConnectorEntity): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that can be applied to a field when connector is being used as a destination. + *

+ */ +export interface DestinationFieldProperties { + /** + *

+ * Specifies if the destination field can be created by the current user. + *

+ */ + isCreatable?: boolean; + + /** + *

+ * Specifies if the flow run can either insert new rows in the destination field if they do not already exist, or update them if they do. + *

+ */ + isUpsertable?: boolean; + + /** + *

+ * Specifies if the destination field can have a null value. + *

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

+ * The properties that can be applied to a field when the connector is being used as a source. + *

+ */ +export interface SourceFieldProperties { + /** + *

+ * Indicates whether the field can be returned in a search result. + *

+ */ + isRetrievable?: boolean; + + /** + *

+ * Indicates if the field can be queried. + *

+ */ + isQueryable?: boolean; +} + +export namespace SourceFieldProperties { + export const filterSensitiveLog = (obj: SourceFieldProperties): any => ({ + ...obj, + }); +} + +export enum Operator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + CONTAINS = "CONTAINS", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +/** + *

+ * Contains details regarding the supported field type and the operators that can be applied for filtering. + *

+ */ +export interface FieldTypeDetails { + /** + *

+ * The list of operators supported by a field. + *

+ */ + filterOperators: (Operator | string)[] | undefined; + + /** + *

+ * The list of values that a field can contain. For example, a Boolean fieldType can have two values: "true" and "false". + *

+ */ + supportedValues?: string[]; + + /** + *

+ * The type of field, such as string, integer, date, and so on. + *

+ */ + fieldType: string | undefined; +} + +export namespace FieldTypeDetails { + export const filterSensitiveLog = (obj: FieldTypeDetails): any => ({ + ...obj, + }); +} + +/** + *

+ * Contains details regarding all the supported FieldTypes and their corresponding filterOperators and supportedValues. + *

+ */ +export interface SupportedFieldTypeDetails { + /** + *

+ * The initial supported version for fieldType. If this is later changed to a different version, v2 will be introduced. + *

+ */ + v1: FieldTypeDetails | undefined; +} + +export namespace SupportedFieldTypeDetails { + export const filterSensitiveLog = (obj: SupportedFieldTypeDetails): any => ({ + ...obj, + }); +} + +/** + *

+ * Describes the data model of a connector field. For example, for an account entity, the fields would be account name, account ID, and so on. + *

+ */ +export interface ConnectorEntityField { + /** + *

+ * The properties applied to a field when the connector is being used as a destination. + *

+ */ + destinationProperties?: DestinationFieldProperties; + + /** + *

+ * The unique identifier of the connector field. + *

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

+ * The label applied to a connector entity field. + *

+ */ + label?: string; + + /** + *

+ * Contains details regarding the supported FieldType, including the corresponding filterOperators and supportedValues. + *

+ */ + supportedFieldTypeDetails?: SupportedFieldTypeDetails; + + /** + *

+ * A description of the connector entity field. + *

+ */ + description?: string; + + /** + *

+ * The properties that can be applied to a field when the connector is being used as a source. + *

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

+ * Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack. + *

+ */ +export interface ConnectorOAuthRequest { + /** + *

+ * The code provided by the connector when it has been authenticated via the connected app. + *

+ */ + authCode?: string; + + /** + *

+ * The URL to which the authentication server redirects the browser after authorization has been granted. + *

+ */ + redirectUri?: string; +} + +export namespace ConnectorOAuthRequest { + export const filterSensitiveLog = (obj: ConnectorOAuthRequest): any => ({ + ...obj, + }); +} + +export enum DatadogConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum DynatraceConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum GoogleAnalyticsConnectorOperator { + BETWEEN = "BETWEEN", + PROJECTION = "PROJECTION", +} + +export enum InforNexusConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum MarketoConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + GREATER_THAN = "GREATER_THAN", + LESS_THAN = "LESS_THAN", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum S3ConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum SalesforceConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + CONTAINS = "CONTAINS", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum ServiceNowConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + CONTAINS = "CONTAINS", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum SingularConnectorOperator { + ADDITION = "ADDITION", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum SlackConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum TrendmicroConnectorOperator { + ADDITION = "ADDITION", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum VeevaConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + CONTAINS = "CONTAINS", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum ZendeskConnectorOperator { + ADDITION = "ADDITION", + DIVISION = "DIVISION", + GREATER_THAN = "GREATER_THAN", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +/** + *

+ * The operation to be performed on the provided source fields. + *

+ */ +export interface ConnectorOperator { + /** + *

+ * The operation to be performed on the provided Slack source fields. + *

+ */ + Slack?: SlackConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Infor Nexus source fields. + *

+ */ + InforNexus?: InforNexusConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Zendesk source fields. + *

+ */ + Zendesk?: ZendeskConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Dynatrace source fields. + *

+ */ + Dynatrace?: DynatraceConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Amazon S3 source fields. + *

+ */ + S3?: S3ConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Singular source fields. + *

+ */ + Singular?: SingularConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Salesforce source fields. + *

+ */ + Salesforce?: SalesforceConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Trend Micro source fields. + *

+ */ + Trendmicro?: TrendmicroConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided ServiceNow source fields. + *

+ */ + ServiceNow?: ServiceNowConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Amplitude source fields. + *

+ */ + Amplitude?: AmplitudeConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Google Analytics source fields. + *

+ */ + GoogleAnalytics?: GoogleAnalyticsConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Datadog source fields. + *

+ */ + Datadog?: DatadogConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Veeva source fields. + *

+ */ + Veeva?: VeevaConnectorOperator | string; + + /** + *

+ * The operation to be performed on the provided Marketo source fields. + *

+ */ + Marketo?: MarketoConnectorOperator | string; +} + +export namespace ConnectorOperator { + export const filterSensitiveLog = (obj: ConnectorOperator): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required by Datadog. + *

+ */ +export interface DatadogConnectorProfileProperties { + /** + *

+ * The location of the Datadog resource. + *

+ */ + instanceUrl: string | undefined; +} + +export namespace DatadogConnectorProfileProperties { + export const filterSensitiveLog = (obj: DatadogConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required by Dynatrace. + *

+ */ +export interface DynatraceConnectorProfileProperties { + /** + *

+ * The location of the Dynatrace resource. + *

+ */ + instanceUrl: string | undefined; +} + +export namespace DynatraceConnectorProfileProperties { + export const filterSensitiveLog = (obj: DynatraceConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required by Google Analytics. + *

+ */ +export interface GoogleAnalyticsConnectorProfileProperties {} + +export namespace GoogleAnalyticsConnectorProfileProperties { + export const filterSensitiveLog = (obj: GoogleAnalyticsConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required by Infor Nexus. + *

+ */ +export interface InforNexusConnectorProfileProperties { + /** + *

+ * The location of the Infor Nexus resource. + *

+ */ + instanceUrl: string | undefined; +} + +export namespace InforNexusConnectorProfileProperties { + export const filterSensitiveLog = (obj: InforNexusConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required when using Marketo. + *

+ */ +export interface MarketoConnectorProfileProperties { + /** + *

+ * The location of the Marketo resource. + *

+ */ + instanceUrl: string | undefined; +} + +export namespace MarketoConnectorProfileProperties { + export const filterSensitiveLog = (obj: MarketoConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties when using Amazon Redshift. + *

+ */ +export interface RedshiftConnectorProfileProperties { + /** + *

+ * The object key for the destination bucket in which Amazon AppFlow places the files. + *

+ */ + bucketPrefix?: string; + + /** + *

+ * A name for the associated Amazon S3 bucket. + *

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

+ * The Amazon Resource Name (ARN) of the IAM role. + *

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

+ * The JDBC URL of the Amazon Redshift cluster. + *

+ */ + databaseUrl: string | undefined; +} + +export namespace RedshiftConnectorProfileProperties { + export const filterSensitiveLog = (obj: RedshiftConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required when using Salesforce. + *

+ */ +export interface SalesforceConnectorProfileProperties { + /** + *

+ * The location of the Salesforce resource. + *

+ */ + instanceUrl?: string; + + /** + *

+ * Indicates whether the connector profile applies to a sandbox or production environment. + *

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

+ * The connector-specific profile properties required when using ServiceNow. + *

+ */ +export interface ServiceNowConnectorProfileProperties { + /** + *

+ * The location of the ServiceNow resource. + *

+ */ + instanceUrl: string | undefined; +} + +export namespace ServiceNowConnectorProfileProperties { + export const filterSensitiveLog = (obj: ServiceNowConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required when using Singular. + *

+ */ +export interface SingularConnectorProfileProperties {} + +export namespace SingularConnectorProfileProperties { + export const filterSensitiveLog = (obj: SingularConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required when using Slack. + *

+ */ +export interface SlackConnectorProfileProperties { + /** + *

+ * The location of the Slack resource. + *

+ */ + instanceUrl: string | undefined; +} + +export namespace SlackConnectorProfileProperties { + export const filterSensitiveLog = (obj: SlackConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required when using Snowflake. + *

+ */ +export interface SnowflakeConnectorProfileProperties { + /** + *

+ * The AWS Region of the Snowflake account. + *

+ */ + region?: string; + + /** + *

+ * The name of the Amazon S3 bucket associated with Snowflake. + *

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

+ * The bucket path that refers to the Amazon S3 bucket associated with Snowflake. + *

+ */ + bucketPrefix?: string; + + /** + *

+ * The Snowflake Private Link service name to be used for private data transfers. + *

+ */ + privateLinkServiceName?: string; + + /** + *

+ * The name of the account. + *

+ */ + accountName?: string; + + /** + *

+ * The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema>. + *

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

+ * The name of the Snowflake warehouse. + *

+ */ + warehouse: string | undefined; +} + +export namespace SnowflakeConnectorProfileProperties { + export const filterSensitiveLog = (obj: SnowflakeConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required when using Trend Micro. + *

+ */ +export interface TrendmicroConnectorProfileProperties {} + +export namespace TrendmicroConnectorProfileProperties { + export const filterSensitiveLog = (obj: TrendmicroConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required when using Veeva. + *

+ */ +export interface VeevaConnectorProfileProperties { + /** + *

+ * The location of the Veeva resource. + *

+ */ + instanceUrl: string | undefined; +} + +export namespace VeevaConnectorProfileProperties { + export const filterSensitiveLog = (obj: VeevaConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required when using Zendesk. + *

+ */ +export interface ZendeskConnectorProfileProperties { + /** + *

+ * The location of the Zendesk resource. + *

+ */ + instanceUrl: string | undefined; +} + +export namespace ZendeskConnectorProfileProperties { + export const filterSensitiveLog = (obj: ZendeskConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile properties required by each connector. + *

+ */ +export interface ConnectorProfileProperties { + /** + *

+ * The connector-specific properties required Google Analytics. + *

+ */ + GoogleAnalytics?: GoogleAnalyticsConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by serviceNow. + *

+ */ + ServiceNow?: ServiceNowConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Amplitude. + *

+ */ + Amplitude?: AmplitudeConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Trend Micro. + *

+ */ + Trendmicro?: TrendmicroConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Slack. + *

+ */ + Slack?: SlackConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Veeva. + *

+ */ + Veeva?: VeevaConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Marketo. + *

+ */ + Marketo?: MarketoConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Datadog. + *

+ */ + Datadog?: DatadogConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Amazon Redshift. + *

+ */ + Redshift?: RedshiftConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Singular. + *

+ */ + Singular?: SingularConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Infor Nexus. + *

+ */ + InforNexus?: InforNexusConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Zendesk. + *

+ */ + Zendesk?: ZendeskConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Snowflake. + *

+ */ + Snowflake?: SnowflakeConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Dynatrace. + *

+ */ + Dynatrace?: DynatraceConnectorProfileProperties; + + /** + *

+ * The connector-specific properties required by Salesforce. + *

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

+ * Describes an instance of a connector. This includes the provided name, credentials ARN, connection-mode, and so on. To keep the API intuitive and extensible, the fields that are common to all types of connector profiles are explicitly specified at the top level. The rest of the connector-specific properties are available via the connectorProfileProperties field. + *

+ */ +export interface ConnectorProfile { + /** + *

+ * The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account. + *

+ */ + connectorProfileName?: string; + + /** + *

+ * The Amazon Resource Name (ARN) of the connector profile credentials. + *

+ */ + credentialsArn?: string; + + /** + *

+ * The Amazon Resource Name (ARN) of the connector profile. + *

+ */ + connectorProfileArn?: string; + + /** + *

+ * The type of connector, such as Salesforce, Amplitude, and so on. + *

+ */ + connectorType?: ConnectorType | string; + + /** + *

+ * Specifies when the connector profile was last updated. + *

+ */ + lastUpdatedAt?: Date; + + /** + *

+ * The connector-specific properties of the profile configuration. + *

+ */ + connectorProfileProperties?: ConnectorProfileProperties; + + /** + *

+ * Indicates the connection mode and if it is public or private. + *

+ */ + connectionMode?: ConnectionMode | string; + + /** + *

+ * Specifies when the connector profile was created. + *

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

+ * The connector-specific credentials required by Datadog. + *

+ */ +export interface DatadogConnectorProfileCredentials { + /** + *

+ * Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API. + *

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

+ * A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. + *

+ */ + apiKey: string | undefined; +} + +export namespace DatadogConnectorProfileCredentials { + export const filterSensitiveLog = (obj: DatadogConnectorProfileCredentials): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile credentials required by Dynatrace. + *

+ */ +export interface DynatraceConnectorProfileCredentials { + /** + *

+ * The API tokens used by Dynatrace API to authenticate various API calls. + *

+ */ + apiToken: string | undefined; +} + +export namespace DynatraceConnectorProfileCredentials { + export const filterSensitiveLog = (obj: DynatraceConnectorProfileCredentials): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile credentials required by Google Analytics. + *

+ */ +export interface GoogleAnalyticsConnectorProfileCredentials { + /** + *

+ * The client secret used by the oauth client to authenticate to the authorization server. + *

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

+ * The oauth requirement needed to request security tokens from the connector endpoint. + *

+ */ + oAuthRequest?: ConnectorOAuthRequest; + + /** + *

+ * The identifier for the desired client. + *

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

+ * The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens. + *

+ */ + refreshToken?: string; + + /** + *

+ * The credentials used to access protected Google Analytics resources. + *

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

+ * The connector-specific profile credentials required by Infor Nexus. + *

+ */ +export interface InforNexusConnectorProfileCredentials { + /** + *

+ * The secret key used to sign requests. + *

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

+ * The Access Key portion of the credentials. + *

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

+ * The encryption keys used to encrypt data. + *

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

+ * The identifier for the user. + *

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

+ * The connector-specific profile credentials required by Marketo. + *

+ */ +export interface MarketoConnectorProfileCredentials { + /** + *

+ * The identifier for the desired client. + *

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

+ * The client secret used by the oauth client to authenticate to the authorization server. + *

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

+ * The credentials used to access protected Marketo resources. + *

+ */ + accessToken?: string; + + /** + *

+ * The oauth requirement needed to request security tokens from the connector endpoint. + *

+ */ + oAuthRequest?: ConnectorOAuthRequest; +} + +export namespace MarketoConnectorProfileCredentials { + export const filterSensitiveLog = (obj: MarketoConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }), + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + }); +} + +/** + *

+ * The connector-specific profile credentials required when using Amazon Redshift. + *

+ */ +export interface RedshiftConnectorProfileCredentials { + /** + *

+ * The name of the user. + *

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

+ * The password that corresponds to the user name. + *

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

+ * The connector-specific profile credentials required when using Salesforce. + *

+ */ +export interface SalesforceConnectorProfileCredentials { + /** + *

+ * The credentials used to access protected Salesforce resources. + *

+ */ + accessToken?: string; + + /** + *

+ * The credentials used to acquire new access tokens. + *

+ */ + refreshToken?: string; + + /** + *

+ * The oauth requirement needed to request security tokens from the connector endpoint. + *

+ */ + oAuthRequest?: ConnectorOAuthRequest; +} + +export namespace SalesforceConnectorProfileCredentials { + export const filterSensitiveLog = (obj: SalesforceConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + }); +} + +/** + *

+ * The connector-specific profile credentials required when using ServiceNow. + *

+ */ +export interface ServiceNowConnectorProfileCredentials { + /** + *

+ * The password that corresponds to the user name. + *

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

+ * The name of the user. + *

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

+ * The connector-specific profile credentials required when using Singular. + *

+ */ +export interface SingularConnectorProfileCredentials { + /** + *

A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. + *

+ */ + apiKey: string | undefined; +} + +export namespace SingularConnectorProfileCredentials { + export const filterSensitiveLog = (obj: SingularConnectorProfileCredentials): any => ({ + ...obj, + }); +} + +/** + *

+ * The connector-specific profile credentials required when using Slack. + *

+ */ +export interface SlackConnectorProfileCredentials { + /** + *

+ * The client secret used by the oauth client to authenticate to the authorization server. + *

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

+ * The credentials used to access protected Slack resources. + *

+ */ + accessToken?: string; + + /** + *

+ * The identifier for the client. + *

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

+ * The oauth requirement needed to request security tokens from the connector endpoint. + *

+ */ + oAuthRequest?: ConnectorOAuthRequest; +} + +export namespace SlackConnectorProfileCredentials { + export const filterSensitiveLog = (obj: SlackConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }), + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + }); +} + +/** + *

+ * The connector-specific profile credentials required when using Snowflake. + *

+ */ +export interface SnowflakeConnectorProfileCredentials { + /** + *

+ * The password that corresponds to the user name. + *

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

+ * The name of the user. + *

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

+ * The connector-specific profile credentials required when using Trend Micro. + *

+ */ +export interface TrendmicroConnectorProfileCredentials { + /** + *

+ * The Secret Access Key portion of the credentials. + *

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

+ * The connector-specific profile credentials required when using Veeva. + *

+ */ +export interface VeevaConnectorProfileCredentials { + /** + *

+ * The name of the user. + *

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

+ * The password that corresponds to the user name. + *

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

+ * The connector-specific profile credentials required when using Zendesk. + *

+ */ +export interface ZendeskConnectorProfileCredentials { + /** + *

+ * The client secret used by the oauth client to authenticate to the authorization server. + *

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

+ * The oauth requirement needed to request security tokens from the connector endpoint. + *

+ */ + oAuthRequest?: ConnectorOAuthRequest; + + /** + *

+ * The identifier for the desired client. + *

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

+ * The credentials used to access protected Zendesk resources. + *

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

+ * The connector-specific credentials required by a connector. + *

+ */ +export interface ConnectorProfileCredentials { + /** + *

+ * The connector-specific credentials required when using Datadog. + *

+ */ + Datadog?: DatadogConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Marketo. + *

+ */ + Marketo?: MarketoConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Amazon Redshift. + *

+ */ + Redshift?: RedshiftConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Dynatrace. + *

+ */ + Dynatrace?: DynatraceConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Infor Nexus. + *

+ */ + InforNexus?: InforNexusConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Zendesk. + *

+ */ + Zendesk?: ZendeskConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Trend Micro. + *

+ */ + Trendmicro?: TrendmicroConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Slack. + *

+ */ + Slack?: SlackConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Salesforce. + *

+ */ + Salesforce?: SalesforceConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Snowflake. + *

+ */ + Snowflake?: SnowflakeConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Singular. + *

+ */ + Singular?: SingularConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Google Analytics. + *

+ */ + GoogleAnalytics?: GoogleAnalyticsConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using ServiceNow. + *

+ */ + ServiceNow?: ServiceNowConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Amplitude. + *

+ */ + Amplitude?: AmplitudeConnectorProfileCredentials; + + /** + *

+ * The connector-specific credentials required when using Veeva. + *

+ */ + Veeva?: VeevaConnectorProfileCredentials; +} + +export namespace ConnectorProfileCredentials { + export const filterSensitiveLog = (obj: ConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.Marketo && { Marketo: MarketoConnectorProfileCredentials.filterSensitiveLog(obj.Marketo) }), + ...(obj.Redshift && { Redshift: RedshiftConnectorProfileCredentials.filterSensitiveLog(obj.Redshift) }), + ...(obj.InforNexus && { InforNexus: InforNexusConnectorProfileCredentials.filterSensitiveLog(obj.InforNexus) }), + ...(obj.Zendesk && { Zendesk: ZendeskConnectorProfileCredentials.filterSensitiveLog(obj.Zendesk) }), + ...(obj.Trendmicro && { Trendmicro: TrendmicroConnectorProfileCredentials.filterSensitiveLog(obj.Trendmicro) }), + ...(obj.Slack && { Slack: SlackConnectorProfileCredentials.filterSensitiveLog(obj.Slack) }), + ...(obj.Salesforce && { Salesforce: SalesforceConnectorProfileCredentials.filterSensitiveLog(obj.Salesforce) }), + ...(obj.Snowflake && { Snowflake: SnowflakeConnectorProfileCredentials.filterSensitiveLog(obj.Snowflake) }), + ...(obj.GoogleAnalytics && { + GoogleAnalytics: GoogleAnalyticsConnectorProfileCredentials.filterSensitiveLog(obj.GoogleAnalytics), + }), + ...(obj.ServiceNow && { ServiceNow: ServiceNowConnectorProfileCredentials.filterSensitiveLog(obj.ServiceNow) }), + ...(obj.Amplitude && { Amplitude: AmplitudeConnectorProfileCredentials.filterSensitiveLog(obj.Amplitude) }), + ...(obj.Veeva && { Veeva: VeevaConnectorProfileCredentials.filterSensitiveLog(obj.Veeva) }), + }); +} + +/** + *

+ * Defines the connector-specific configuration and credentials for the connector profile. + *

+ */ +export interface ConnectorProfileConfig { + /** + *

+ * The connector-specific properties of the profile configuration. + *

+ */ + connectorProfileProperties: ConnectorProfileProperties | undefined; + + /** + *

+ * The connector-specific credentials required by each connector. + *

+ */ + connectorProfileCredentials: ConnectorProfileCredentials | undefined; +} + +export namespace ConnectorProfileConfig { + export const filterSensitiveLog = (obj: ConnectorProfileConfig): any => ({ + ...obj, + ...(obj.connectorProfileCredentials && { + connectorProfileCredentials: ConnectorProfileCredentials.filterSensitiveLog(obj.connectorProfileCredentials), + }), + }); +} + +/** + *

+ * An error occurred when retrieving data from the connector endpoint. + *

+ */ +export interface ConnectorServerException extends __SmithyException, $MetadataBearer { + name: "ConnectorServerException"; + $fault: "client"; + message?: string; +} + +export namespace ConnectorServerException { + export const filterSensitiveLog = (obj: ConnectorServerException): any => ({ + ...obj, + }); +} + +export interface CreateConnectorProfileRequest { + /** + *

+ * Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. + *

+ */ + connectionMode: ConnectionMode | string | undefined; + + /** + *

+ * The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + *

+ */ + kmsArn?: string; + + /** + *

+ * The type of connector, such as Salesforce, Amplitude, and so on. + *

+ */ + connectorType: ConnectorType | string | undefined; + + /** + *

+ * The name of the connector profile. The name is unique for each ConnectorProfile in your AWS account. + *

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

+ * Defines the connector-specific configuration and credentials. + *

+ */ + connectorProfileConfig: ConnectorProfileConfig | undefined; +} + +export namespace CreateConnectorProfileRequest { + export const filterSensitiveLog = (obj: CreateConnectorProfileRequest): any => ({ + ...obj, + }); +} + +export interface CreateConnectorProfileResponse { + /** + *

+ * The Amazon Resource Name (ARN) of the connector profile. + *

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

+ * An internal service error occurred during the processing of your request. Try again later. + *

+ */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + message?: string; +} + +export namespace InternalServerException { + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +/** + *

+ * The request would cause a service quota (such as the number of flows) to be exceeded. + *

+ */ +export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { + name: "ServiceQuotaExceededException"; + $fault: "client"; + message?: string; +} + +export namespace ServiceQuotaExceededException { + export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ + ...obj, + }); +} + +/** + *

+ * The request has invalid or missing parameters. + *

+ */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + message?: string; +} + +export namespace ValidationException { + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +/** + *

+ * The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. + * + *

+ */ +export interface ErrorHandlingConfig { + /** + *

+ * Specifies the Amazon S3 bucket prefix. + *

+ */ + bucketPrefix?: string; + + /** + *

+ * Specifies the name of the Amazon S3 bucket. + *

+ */ + bucketName?: string; + + /** + *

+ * Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination. + *

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

+ * The properties that are applied when Amazon EventBridge is being used as a destination. + *

+ */ +export interface EventBridgeDestinationProperties { + /** + *

+ * The object specified in the Amazon EventBridge flow destination. + *

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

+ * The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. + * + *

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

+ * The properties that are applied when Amazon Redshift is being used as a destination. + *

+ */ +export interface RedshiftDestinationProperties { + /** + *

+ * The object specified in the Amazon Redshift flow destination. + *

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

+ * The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. + *

+ */ + errorHandlingConfig?: ErrorHandlingConfig; + + /** + *

+ * The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift. + *

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

+ * The object key for the bucket in which Amazon AppFlow places the destination files. + *

+ */ + bucketPrefix?: string; +} + +export namespace RedshiftDestinationProperties { + export const filterSensitiveLog = (obj: RedshiftDestinationProperties): any => ({ + ...obj, + }); +} + +export enum FileType { + CSV = "CSV", + JSON = "JSON", + PARQUET = "PARQUET", +} + +export enum PrefixFormat { + DAY = "DAY", + HOUR = "HOUR", + MINUTE = "MINUTE", + MONTH = "MONTH", + YEAR = "YEAR", +} + +export enum PrefixType { + FILENAME = "FILENAME", + PATH = "PATH", + PATH_AND_FILENAME = "PATH_AND_FILENAME", +} + +/** + *

+ * Determines the prefix that Amazon AppFlow applies to the destination folder name. You can name your destination folders according to the flow frequency and date. + *

+ */ +export interface PrefixConfig { + /** + *

+ * Determines the level of granularity that's included in the prefix. + *

+ */ + prefixType?: PrefixType | string; + + /** + *

+ * Determines the format of the prefix, and whether it applies to the file name, file path, or both. + *

+ */ + prefixFormat?: PrefixFormat | string; +} + +export namespace PrefixConfig { + export const filterSensitiveLog = (obj: PrefixConfig): any => ({ + ...obj, + }); +} + +/** + *

+ * The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination. + *

+ */ +export interface S3OutputFormatConfig { + /** + *

+ * Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket. + *

+ */ + fileType?: FileType | string; + + /** + *

+ * Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date. + *

+ */ + prefixConfig?: PrefixConfig; + + /** + *

+ * The aggregation settings that you can use to customize the output format of your flow data. + *

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

+ * The properties that are applied when Amazon S3 is used as a destination. + *

+ */ +export interface S3DestinationProperties { + /** + *

+ * The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination. + *

+ */ + s3OutputFormatConfig?: S3OutputFormatConfig; + + /** + *

+ * The object key for the destination bucket in which Amazon AppFlow places the files. + *

+ */ + bucketPrefix?: string; + + /** + *

+ * The Amazon S3 bucket name in which Amazon AppFlow places the transferred data. + *

+ */ + bucketName: string | undefined; +} + +export namespace S3DestinationProperties { + export const filterSensitiveLog = (obj: S3DestinationProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Salesforce is being used as a destination. + *

+ */ +export interface SalesforceDestinationProperties { + /** + *

+ * The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. + *

+ */ + errorHandlingConfig?: ErrorHandlingConfig; + + /** + *

+ * The object specified in the Salesforce flow destination. + *

+ */ + object: string | undefined; +} + +export namespace SalesforceDestinationProperties { + export const filterSensitiveLog = (obj: SalesforceDestinationProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Snowflake is being used as a destination. + *

+ */ +export interface SnowflakeDestinationProperties { + /** + *

+ * The object specified in the Snowflake flow destination. + *

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

+ * The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. + *

+ */ + errorHandlingConfig?: ErrorHandlingConfig; + + /** + *

+ * The object key for the destination bucket in which Amazon AppFlow places the files. + *

+ */ + bucketPrefix?: string; + + /** + *

+ * The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake. + *

+ */ + intermediateBucketName: string | undefined; +} + +export namespace SnowflakeDestinationProperties { + export const filterSensitiveLog = (obj: SnowflakeDestinationProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * This stores the information that is required to query a particular connector. + *

+ */ +export interface DestinationConnectorProperties { + /** + *

+ * The properties required to query Amazon S3. + *

+ */ + S3?: S3DestinationProperties; + + /** + *

+ * The properties required to query Amazon Redshift. + *

+ */ + Redshift?: RedshiftDestinationProperties; + + /** + *

+ * The properties required to query Salesforce. + *

+ */ + Salesforce?: SalesforceDestinationProperties; + + /** + *

+ * The properties required to query Amazon EventBridge. + *

+ */ + EventBridge?: EventBridgeDestinationProperties; + + /** + *

+ * The properties required to query Snowflake. + *

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

+ * Contains information about the configuration of destination connectors present in the flow. + *

+ */ +export interface DestinationFlowConfig { + /** + *

+ * The name of the connector profile. This name must be unique for each connector profile in the AWS account. + *

+ */ + connectorProfileName?: string; + + /** + *

+ * The type of connector, such as Salesforce, Amplitude, and so on. + *

+ */ + connectorType: ConnectorType | string | undefined; + + /** + *

+ * This stores the information that is required to query a particular connector. + *

+ */ + destinationConnectorProperties: DestinationConnectorProperties | undefined; +} + +export namespace DestinationFlowConfig { + export const filterSensitiveLog = (obj: DestinationFlowConfig): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Datadog is being used as a source. + *

+ */ +export interface DatadogSourceProperties { + /** + *

+ * The object specified in the Datadog flow source. + *

+ */ + object: string | undefined; +} + +export namespace DatadogSourceProperties { + export const filterSensitiveLog = (obj: DatadogSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Dynatrace is being used as a source. + *

+ */ +export interface DynatraceSourceProperties { + /** + *

+ * The object specified in the Dynatrace flow source. + *

+ */ + object: string | undefined; +} + +export namespace DynatraceSourceProperties { + export const filterSensitiveLog = (obj: DynatraceSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Google Analytics is being used as a source. + *

+ */ +export interface GoogleAnalyticsSourceProperties { + /** + *

+ * The object specified in the Google Analytics flow source. + *

+ */ + object: string | undefined; +} + +export namespace GoogleAnalyticsSourceProperties { + export const filterSensitiveLog = (obj: GoogleAnalyticsSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Infor Nexus is being used as a source. + *

+ */ +export interface InforNexusSourceProperties { + /** + *

+ * The object specified in the Infor Nexus flow source. + *

+ */ + object: string | undefined; +} + +export namespace InforNexusSourceProperties { + export const filterSensitiveLog = (obj: InforNexusSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Marketo is being used as a source. + *

+ */ +export interface MarketoSourceProperties { + /** + *

+ * The object specified in the Marketo flow source. + *

+ */ + object: string | undefined; +} + +export namespace MarketoSourceProperties { + export const filterSensitiveLog = (obj: MarketoSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Amazon S3 is being used as the flow source. + *

+ */ +export interface S3SourceProperties { + /** + *

+ * The Amazon S3 bucket name where the source files are stored. + *

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

+ * The object key for the Amazon S3 bucket in which the source files are stored. + *

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

+ * The properties that are applied when Salesforce is being used as a source. + *

+ */ +export interface SalesforceSourceProperties { + /** + *

+ * Indicates whether Amazon AppFlow includes deleted files in the flow run. + *

+ */ + includeDeletedRecords?: boolean; + + /** + *

+ * The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow. + *

+ */ + enableDynamicFieldUpdate?: boolean; + + /** + *

+ * The object specified in the Salesforce flow source. + *

+ */ + object: string | undefined; +} + +export namespace SalesforceSourceProperties { + export const filterSensitiveLog = (obj: SalesforceSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when ServiceNow is being used as a source. + *

+ */ +export interface ServiceNowSourceProperties { + /** + *

+ * The object specified in the ServiceNow flow source. + *

+ */ + object: string | undefined; +} + +export namespace ServiceNowSourceProperties { + export const filterSensitiveLog = (obj: ServiceNowSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Singular is being used as a source. + *

+ */ +export interface SingularSourceProperties { + /** + *

+ * The object specified in the Singular flow source. + *

+ */ + object: string | undefined; +} + +export namespace SingularSourceProperties { + export const filterSensitiveLog = (obj: SingularSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when Slack is being used as a source. + *

+ */ +export interface SlackSourceProperties { + /** + *

+ * The object specified in the Slack flow source. + *

+ */ + object: string | undefined; +} + +export namespace SlackSourceProperties { + export const filterSensitiveLog = (obj: SlackSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when using Trend Micro as a flow source. + *

+ */ +export interface TrendmicroSourceProperties { + /** + *

+ * The object specified in the Trend Micro flow source. + *

+ */ + object: string | undefined; +} + +export namespace TrendmicroSourceProperties { + export const filterSensitiveLog = (obj: TrendmicroSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when using Veeva as a flow source. + *

+ */ +export interface VeevaSourceProperties { + /** + *

+ * The object specified in the Veeva flow source. + *

+ */ + object: string | undefined; +} + +export namespace VeevaSourceProperties { + export const filterSensitiveLog = (obj: VeevaSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * The properties that are applied when using Zendesk as a flow source. + *

+ */ +export interface ZendeskSourceProperties { + /** + *

+ * The object specified in the Zendesk flow source. + *

+ */ + object: string | undefined; +} + +export namespace ZendeskSourceProperties { + export const filterSensitiveLog = (obj: ZendeskSourceProperties): any => ({ + ...obj, + }); +} + +/** + *

+ * Specifies the information that is required to query a particular connector. + *

+ */ +export interface SourceConnectorProperties { + /** + *

+ * Specifies the information that is required for querying ServiceNow. + *

+ */ + ServiceNow?: ServiceNowSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Trend Micro. + *

+ */ + Trendmicro?: TrendmicroSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Amazon S3. + *

+ */ + S3?: S3SourceProperties; + + /** + *

+ * Specifies the information that is required for querying Salesforce. + *

+ */ + Salesforce?: SalesforceSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Veeva. + *

+ */ + Veeva?: VeevaSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Dynatrace. + *

+ */ + Dynatrace?: DynatraceSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Infor Nexus. + *

+ */ + InforNexus?: InforNexusSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Zendesk. + *

+ */ + Zendesk?: ZendeskSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Amplitude. + *

+ */ + Amplitude?: AmplitudeSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Slack. + *

+ */ + Slack?: SlackSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Datadog. + *

+ */ + Datadog?: DatadogSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Singular. + *

+ */ + Singular?: SingularSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Marketo. + *

+ */ + Marketo?: MarketoSourceProperties; + + /** + *

+ * Specifies the information that is required for querying Google Analytics. + *

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

+ * Contains information about the configuration of the source connector used in the flow. + *

+ */ +export interface SourceFlowConfig { + /** + *

+ * Specifies the information that is required to query a particular source connector. + *

+ */ + sourceConnectorProperties: SourceConnectorProperties | undefined; + + /** + *

+ * The name of the connector profile. This name must be unique for each connector profile in the AWS account. + *

+ */ + connectorProfileName?: string; + + /** + *

+ * The type of connector, such as Salesforce, Amplitude, and so on. + *

+ */ + connectorType: ConnectorType | string | undefined; +} + +export namespace SourceFlowConfig { + export const filterSensitiveLog = (obj: SourceFlowConfig): any => ({ + ...obj, + }); +} + +export enum OperatorPropertiesKeys { + CONCAT_FORMAT = "CONCAT_FORMAT", + DATA_TYPE = "DATA_TYPE", + DESTINATION_DATA_TYPE = "DESTINATION_DATA_TYPE", + LOWER_BOUND = "LOWER_BOUND", + MASK_LENGTH = "MASK_LENGTH", + MASK_VALUE = "MASK_VALUE", + MATH_OPERATION_FIELDS_ORDER = "MATH_OPERATION_FIELDS_ORDER", + SOURCE_DATA_TYPE = "SOURCE_DATA_TYPE", + SUBFIELD_CATEGORY_MAP = "SUBFIELD_CATEGORY_MAP", + TRUNCATE_LENGTH = "TRUNCATE_LENGTH", + UPPER_BOUND = "UPPER_BOUND", + VALIDATION_ACTION = "VALIDATION_ACTION", + VALUE = "VALUE", + VALUES = "VALUES", +} + +export enum TaskType { + ARITHMETIC = "Arithmetic", + FILTER = "Filter", + MAP = "Map", + MASK = "Mask", + MERGE = "Merge", + TRUNCATE = "Truncate", + VALIDATE = "Validate", +} + +/** + *

+ * A class for modeling different type of tasks. Task implementation varies based on the TaskType. + *

+ */ +export interface Task { + /** + *

+ * Specifies the particular task implementation that Amazon AppFlow performs. + *

+ */ + taskType: TaskType | string | undefined; + + /** + *

+ * The source fields to which a particular task is applied. + *

+ */ + sourceFields: string[] | undefined; + + /** + *

+ * A map used to store task-related information. The execution service looks for particular information based on the TaskType. + *

+ */ + taskProperties?: { [key: string]: string }; + + /** + *

+ * A field in a destination connector, or a field value against which Amazon AppFlow validates a source field. + *

+ */ + destinationField?: string; + + /** + *

+ * The operation to be performed on the provided source fields. + *

+ */ + connectorOperator?: ConnectorOperator; +} + +export namespace Task { + export const filterSensitiveLog = (obj: Task): any => ({ + ...obj, + }); +} + +export enum DataPullMode { + COMPLETE = "Complete", + INCREMENTAL = "Incremental", +} + +/** + *

+ * Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type. + *

+ */ +export interface ScheduledTriggerProperties { + /** + *

+ * Specifies the scheduled start time for a schedule-triggered flow. + *

+ */ + scheduleStartTime?: Date; + + /** + *

+ * Specifies the scheduled end time for a schedule-triggered flow. + *

+ */ + scheduleEndTime?: Date; + + /** + *

+ * The scheduling expression that determines when and how often the rule runs. + *

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

+ * Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run. + *

+ */ + dataPullMode?: DataPullMode | string; + + /** + *

+ * Specifies the time zone used when referring to the date and time of a scheduled-triggered flow. + *

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

+ * Specifies the configuration details that control the trigger for a flow. Currently, these settings only apply to the Scheduled trigger type. + *

+ */ +export interface TriggerProperties { + /** + *

+ * Specifies the configuration details of a schedule-triggered flow as defined by the user. + *

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

+ * The trigger settings that determine how and when Amazon AppFlow runs the specified flow. + * + * + *

+ */ +export interface TriggerConfig { + /** + *

+ * Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event. + *

+ */ + triggerType: TriggerType | string | undefined; + + /** + *

+ * Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type. + *

+ */ + triggerProperties?: TriggerProperties; +} + +export namespace TriggerConfig { + export const filterSensitiveLog = (obj: TriggerConfig): any => ({ + ...obj, + }); +} + +export interface CreateFlowRequest { + /** + *

+ * A description of the flow you want to create. + *

+ */ + description?: string; + + /** + *

+ * The trigger settings that determine how and when the flow runs. + *

+ */ + triggerConfig: TriggerConfig | undefined; + + /** + *

+ * The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + *

+ */ + kmsArn?: string; + + /** + *

+ * The configuration that controls how Amazon AppFlow places data in the destination connector. + *

+ */ + destinationFlowConfigList: DestinationFlowConfig[] | undefined; + + /** + *

+ * The configuration that controls how Amazon AppFlow retrieves data from the source connector. + *

+ */ + sourceFlowConfig: SourceFlowConfig | undefined; + + /** + *

+ * The tags used to organize, track, or control access for your flow. + *

+ */ + tags?: { [key: string]: string }; + + /** + *

+ * A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. + *

+ */ + tasks: Task[] | undefined; + + /** + *

+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *

+ */ + flowName: string | undefined; +} + +export namespace CreateFlowRequest { + export const filterSensitiveLog = (obj: CreateFlowRequest): any => ({ + ...obj, + }); +} + +export enum FlowStatus { + ACTIVE = "Active", + DELETED = "Deleted", + DEPRECATED = "Deprecated", + DRAFT = "Draft", + ERRORED = "Errored", + SUSPENDED = "Suspended", +} + +export interface CreateFlowResponse { + /** + *

+ * Indicates the current status of the flow. + *

+ */ + flowStatus?: FlowStatus | string; + + /** + *

+ * The flow's Amazon Resource Name (ARN). + *

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

+ * The resource specified in the request (such as the source or destination connector profile) is not found. + *

+ */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + message?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +export interface DeleteConnectorProfileRequest { + /** + *

+ * Indicates whether Amazon AppFlow should delete the profile, even if it is currently in use in one or more flows. + *

+ */ + forceDelete?: boolean; + + /** + *

+ * The name of the connector profile. The name is unique for each ConnectorProfile in your account. + *

+ */ + connectorProfileName: string | undefined; +} + +export namespace DeleteConnectorProfileRequest { + export const filterSensitiveLog = (obj: DeleteConnectorProfileRequest): any => ({ + ...obj, + }); +} + +export interface DeleteConnectorProfileResponse {} + +export namespace DeleteConnectorProfileResponse { + export const filterSensitiveLog = (obj: DeleteConnectorProfileResponse): any => ({ + ...obj, + }); +} + +export interface DeleteFlowRequest { + /** + *

+ * Indicates whether Amazon AppFlow should delete the flow, even if it is currently in use. + *

+ */ + forceDelete?: boolean; + + /** + *

+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *

+ */ + flowName: string | undefined; +} + +export namespace DeleteFlowRequest { + export const filterSensitiveLog = (obj: DeleteFlowRequest): any => ({ + ...obj, + }); +} + +export interface DeleteFlowResponse {} + +export namespace DeleteFlowResponse { + export const filterSensitiveLog = (obj: DeleteFlowResponse): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorEntityRequest { + /** + *

+ * The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account. + *

+ */ + connectorProfileName?: string; + + /** + *

+ * The type of connector application, such as Salesforce, Amplitude, and so on. + *

+ */ + connectorType?: ConnectorType | string; + + /** + *

+ * The entity name for that connector. + *

+ */ + connectorEntityName: string | undefined; +} + +export namespace DescribeConnectorEntityRequest { + export const filterSensitiveLog = (obj: DescribeConnectorEntityRequest): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorEntityResponse { + /** + *

+ * Describes the fields for that connector entity. For example, for an account entity, the fields would be account name, account ID, and so on. + *

+ */ + connectorEntityFields: ConnectorEntityField[] | undefined; +} + +export namespace DescribeConnectorEntityResponse { + export const filterSensitiveLog = (obj: DescribeConnectorEntityResponse): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorProfilesRequest { + /** + *

+ * The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account. + *

+ */ + connectorProfileNames?: string[]; + + /** + *

+ * The type of connector, such as Salesforce, Amplitude, and so on. + *

+ */ + connectorType?: ConnectorType | string; + + /** + *

+ * Specifies the maximum number of items that should be returned in the result set. The default for maxResults is 20 (for all paginated API operations). + *

+ */ + maxResults?: number; + + /** + *

+ * The pagination token for the next page of data. + *

+ */ + nextToken?: string; +} + +export namespace DescribeConnectorProfilesRequest { + export const filterSensitiveLog = (obj: DescribeConnectorProfilesRequest): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorProfilesResponse { + /** + *

+ * Returns information about the connector profiles associated with the flow. + *

+ */ + connectorProfileDetails?: ConnectorProfile[]; + + /** + *

+ * The pagination token for the next page of data. If nextToken=null, this means that all records have been fetched. + *

+ */ + nextToken?: string; +} + +export namespace DescribeConnectorProfilesResponse { + export const filterSensitiveLog = (obj: DescribeConnectorProfilesResponse): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorsRequest { + /** + *

+ * The type of connector, such as Salesforce, Amplitude, and so on. + *

+ */ + connectorTypes?: (ConnectorType | string)[]; + + /** + *

+ * The pagination token for the next page of data. + *

+ */ + nextToken?: string; +} + +export namespace DescribeConnectorsRequest { + export const filterSensitiveLog = (obj: DescribeConnectorsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorsResponse { + /** + *

+ * The pagination token for the next page of data. + *

+ */ + nextToken?: string; + + /** + *

+ * The configuration that is applied to the connectors used in the flow. + *

+ */ + connectorConfigurations?: { [key: string]: ConnectorConfiguration }; +} + +export namespace DescribeConnectorsResponse { + export const filterSensitiveLog = (obj: DescribeConnectorsResponse): any => ({ + ...obj, + }); +} + +export interface DescribeFlowRequest { + /** + *

+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *

+ */ + flowName: string | undefined; +} + +export namespace DescribeFlowRequest { + export const filterSensitiveLog = (obj: DescribeFlowRequest): any => ({ + ...obj, + }); +} + +export enum ExecutionStatus { + ERROR = "Error", + INPROGRESS = "InProgress", + SUCCESSFUL = "Successful", +} + +/** + *

+ * Describes the details of the flow run, including the timestamp, status, and message. + *

+ */ +export interface ExecutionDetails { + /** + *

+ * Specifies the status of the most recent flow run. + *

+ */ + mostRecentExecutionStatus?: ExecutionStatus | string; + + /** + *

+ * Specifies the time of the most recent flow run. + *

+ */ + mostRecentExecutionTime?: Date; + + /** + *

+ * Describes the details of the most recent flow run. + *

+ */ + mostRecentExecutionMessage?: string; +} + +export namespace ExecutionDetails { + export const filterSensitiveLog = (obj: ExecutionDetails): any => ({ + ...obj, + }); +} + +export interface DescribeFlowResponse { + /** + *

+ * The configuration that controls how Amazon AppFlow retrieves data from the source connector. + *

+ */ + sourceFlowConfig?: SourceFlowConfig; + + /** + *

+ * The trigger settings that determine how and when the flow runs. + *

+ */ + triggerConfig?: TriggerConfig; + + /** + *

+ * Specifies the user name of the account that performed the most recent update. + *

+ */ + lastUpdatedBy?: string; + + /** + *

+ * The configuration that controls how Amazon AppFlow transfers data to the destination connector. + *

+ */ + destinationFlowConfigList?: DestinationFlowConfig[]; + + /** + *

+ * Contains an error message if the flow status is in a suspended or error state. This applies only to scheduled or event-triggered flows. + *

+ */ + flowStatusMessage?: string; + + /** + *

+ * The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + *

+ */ + kmsArn?: string; + + /** + *

+ * Specifies when the flow was last updated. + *

+ */ + lastUpdatedAt?: Date; + + /** + *

+ * Describes the details of the most recent flow run. + *

+ */ + lastRunExecutionDetails?: ExecutionDetails; + + /** + *

+ * Indicates the current status of the flow. + *

+ */ + flowStatus?: FlowStatus | string; + + /** + *

+ * A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. + *

+ */ + tasks?: Task[]; + + /** + *

+ * Specifies when the flow was created. + *

+ */ + createdAt?: Date; + + /** + *

+ * The ARN of the user who created the flow. + *

+ */ + createdBy?: string; + + /** + *

+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *

+ */ + flowName?: string; + + /** + *

+ * The flow's Amazon Resource Name (ARN). + *

+ */ + flowArn?: string; + + /** + *

+ * A description of the flow. + *

+ */ + description?: string; + + /** + *

+ * The tags used to organize, track, or control access for your flow. + *

+ */ + tags?: { [key: string]: string }; +} + +export namespace DescribeFlowResponse { + export const filterSensitiveLog = (obj: DescribeFlowResponse): any => ({ + ...obj, + }); +} + +export interface DescribeFlowExecutionRecordsRequest { + /** + *

+ * Specifies the maximum number of items that should be returned in the result set. The default for maxResults is 20 (for all paginated API operations). + *

+ */ + maxResults?: number; + + /** + *

+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *

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

+ * The pagination token for the next page of data. + *

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

+ * Provides details in the event of a failed flow, including the failure count and the related error messages. + *

+ */ +export interface ErrorInfo { + /** + *

+ * Specifies the error message that appears if a flow fails. + *

+ */ + executionMessage?: string; + + /** + *

+ * Specifies the failure count for the attempted flow. + *

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

+ * Specifies the end result of the flow run. + *

+ */ +export interface ExecutionResult { + /** + *

+ * The total number of bytes processed by the flow run. + *

+ */ + bytesProcessed?: number; + + /** + *

+ * Provides any error message information related to the flow run. + *

+ */ + errorInfo?: ErrorInfo; + + /** + *

+ * The total number of bytes written as a result of the flow run. + *

+ */ + bytesWritten?: number; + + /** + *

+ * The number of records processed in the flow run. + *

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

+ * Specifies information about the past flow run instances for a given flow. + *

+ */ +export interface ExecutionRecord { + /** + *

+ * Specifies the flow run status and whether it is in progress, has completed successfully, or has failed. + *

+ */ + executionStatus?: ExecutionStatus | string; + + /** + *

+ * Specifies the time of the most recent update. + *

+ */ + lastUpdatedAt?: Date; + + /** + *

+ * Specifies the identifier of the given flow run. + *

+ */ + executionId?: string; + + /** + *

+ * Describes the result of the given flow run. + *

+ */ + executionResult?: ExecutionResult; + + /** + *

+ * Specifies the start time of the flow run. + *

+ */ + startedAt?: Date; +} + +export namespace ExecutionRecord { + export const filterSensitiveLog = (obj: ExecutionRecord): any => ({ + ...obj, + }); +} + +export interface DescribeFlowExecutionRecordsResponse { + /** + *

+ * Returns a list of all instances when this flow was run. + *

+ */ + flowExecutions?: ExecutionRecord[]; + + /** + *

+ * The pagination token for the next page of data. + *

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

+ * The properties of the flow, such as its source, destination, trigger type, and so on. + *

+ */ +export interface FlowDefinition { + /** + *

+ * Specifies the account user name that most recently updated the flow. + *

+ */ + lastUpdatedBy?: string; + + /** + *

+ * Specifies when the flow was last updated. + *

+ */ + lastUpdatedAt?: Date; + + /** + *

+ * Describes the details of the most recent flow run. + *

+ */ + lastRunExecutionDetails?: ExecutionDetails; + + /** + *

+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *

+ */ + flowName?: string; + + /** + *

+ * A user-entered description of the flow. + *

+ */ + description?: string; + + /** + *

+ * The ARN of the user who created the flow. + *

+ */ + createdBy?: string; + + /** + *

+ * The flow's Amazon Resource Name (ARN). + *

+ */ + flowArn?: string; + + /** + *

+ * Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, and so on. + *

+ */ + sourceConnectorType?: ConnectorType | string; + + /** + *

+ * The tags used to organize, track, or control access for your flow. + *

+ */ + tags?: { [key: string]: string }; + + /** + *

+ * Specifies when the flow was created. + *

+ */ + createdAt?: Date; + + /** + *

+ * Specifies the destination connector type, such as Salesforce, Amazon S3, Amplitude, and so on. + *

+ */ + destinationConnectorType?: ConnectorType | string; + + /** + *

+ * Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event. + *

+ */ + triggerType?: TriggerType | string; + + /** + *

+ * Indicates the current status of the flow. + *

+ */ + flowStatus?: FlowStatus | string; +} + +export namespace FlowDefinition { + export const filterSensitiveLog = (obj: FlowDefinition): any => ({ + ...obj, + }); +} + +export interface ListConnectorEntitiesRequest { + /** + *

+ * The type of connector, such as Salesforce, Amplitude, and so on. + *

+ */ + connectorType?: ConnectorType | string; + + /** + *

+ * The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account, and is used to query the downstream connector. + *

+ */ + connectorProfileName?: string; + + /** + *

+ * This optional parameter is specific to connector implementation. Some connectors support multiple levels or categories of entities. You can find out the list of roots for such providers by sending a request without the entitiesPath parameter. If the connector supports entities at different roots, this initial request returns the list of roots. Otherwise, this request returns all entities supported by the provider. + *

+ */ + entitiesPath?: string; +} + +export namespace ListConnectorEntitiesRequest { + export const filterSensitiveLog = (obj: ListConnectorEntitiesRequest): any => ({ + ...obj, + }); +} + +export interface ListConnectorEntitiesResponse { + /** + *

+ * The response of ListConnectorEntities lists entities grouped by category. This map's key represents the group name, and its value contains the list of entities belonging to that group. + *

+ */ + connectorEntityMap: { [key: string]: ConnectorEntity[] } | undefined; +} + +export namespace ListConnectorEntitiesResponse { + export const filterSensitiveLog = (obj: ListConnectorEntitiesResponse): any => ({ + ...obj, + }); +} + +export interface ListFlowsRequest { + /** + *

+ * Specifies the maximum number of items that should be returned in the result set. + *

+ */ + maxResults?: number; + + /** + *

+ * The pagination token for next page of data. + *

+ */ + nextToken?: string; +} + +export namespace ListFlowsRequest { + export const filterSensitiveLog = (obj: ListFlowsRequest): any => ({ + ...obj, + }); +} + +export interface ListFlowsResponse { + /** + *

+ * The pagination token for next page of data. + *

+ */ + nextToken?: string; + + /** + *

+ * The list of flows associated with your account. + *

+ */ + flows?: FlowDefinition[]; +} + +export namespace ListFlowsResponse { + export const filterSensitiveLog = (obj: ListFlowsResponse): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceRequest { + /** + *

+ * The Amazon Resource Name (ARN) of the specified flow. + *

+ */ + resourceArn: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceResponse { + /** + *

+ * The tags used to organize, track, or control access for your flow. + *

+ */ + tags?: { [key: string]: string }; +} + +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + }); +} + +export interface StartFlowRequest { + /** + *

+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *

+ */ + flowName: string | undefined; +} + +export namespace StartFlowRequest { + export const filterSensitiveLog = (obj: StartFlowRequest): any => ({ + ...obj, + }); +} + +export interface StartFlowResponse { + /** + *

+ * Indicates the current status of the flow. + * + *

+ */ + flowStatus?: FlowStatus | string; + + /** + *

+ * The flow's Amazon Resource Name (ARN). + *

+ */ + flowArn?: string; +} + +export namespace StartFlowResponse { + export const filterSensitiveLog = (obj: StartFlowResponse): any => ({ + ...obj, + }); +} + +export interface StopFlowRequest { + /** + *

+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *

+ */ + flowName: string | undefined; +} + +export namespace StopFlowRequest { + export const filterSensitiveLog = (obj: StopFlowRequest): any => ({ + ...obj, + }); +} + +export interface StopFlowResponse { + /** + *

+ * Indicates the current status of the flow. + *

+ */ + flowStatus?: FlowStatus | string; + + /** + *

+ * The flow's Amazon Resource Name (ARN). + *

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

+ * The requested operation is not supported for the current flow. + *

+ */ +export interface UnsupportedOperationException extends __SmithyException, $MetadataBearer { + name: "UnsupportedOperationException"; + $fault: "client"; + message?: string; +} + +export namespace UnsupportedOperationException { + export const filterSensitiveLog = (obj: UnsupportedOperationException): any => ({ + ...obj, + }); +} + +export interface TagResourceRequest { + /** + *

+ * The tags used to organize, track, or control access for your flow. + *

+ */ + tags: { [key: string]: string } | undefined; + + /** + *

+ * The Amazon Resource Name (ARN) of the flow that you want to tag. + *

+ */ + resourceArn: 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 tag keys associated with the tag that you want to remove from your flow. + *

+ */ + tagKeys: string[] | undefined; + + /** + *

+ * The Amazon Resource Name (ARN) of the flow that you want to untag. + *

+ */ + resourceArn: 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, + }); +} + +export interface UpdateConnectorProfileRequest { + /** + *

+ * The name of the connector profile and is unique for each ConnectorProfile in the AWS Account. + *

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

+ * Defines the connector-specific profile configuration and credentials. + *

+ */ + connectorProfileConfig: ConnectorProfileConfig | undefined; + + /** + *

+ * Indicates the connection mode and if it is public or private. + *

+ */ + connectionMode: ConnectionMode | string | undefined; +} + +export namespace UpdateConnectorProfileRequest { + export const filterSensitiveLog = (obj: UpdateConnectorProfileRequest): any => ({ + ...obj, + }); +} + +export interface UpdateConnectorProfileResponse { + /** + *

+ * The Amazon Resource Name (ARN) of the connector profile. + *

+ */ + connectorProfileArn?: string; +} + +export namespace UpdateConnectorProfileResponse { + export const filterSensitiveLog = (obj: UpdateConnectorProfileResponse): any => ({ + ...obj, + }); +} + +export interface UpdateFlowRequest { + /** + *

+ * A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. + *

+ */ + tasks: Task[] | undefined; + + /** + *

+ * The configuration that controls how Amazon AppFlow transfers data to the destination connector. + *

+ */ + destinationFlowConfigList: DestinationFlowConfig[] | undefined; + + /** + *

+ * Contains information about the configuration of the source connector used in the flow. + *

+ */ + sourceFlowConfig?: SourceFlowConfig; + + /** + *

+ * The trigger settings that determine how and when the flow runs. + *

+ */ + triggerConfig: TriggerConfig | undefined; + + /** + *

+ * A description of the flow. + *

+ */ + description?: string; + + /** + *

+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *

+ */ + flowName: string | undefined; +} + +export namespace UpdateFlowRequest { + export const filterSensitiveLog = (obj: UpdateFlowRequest): any => ({ + ...obj, + }); +} + +export interface UpdateFlowResponse { + /** + *

Indicates the current status of the flow. + *

+ */ + flowStatus?: FlowStatus | string; +} + +export namespace UpdateFlowResponse { + export const filterSensitiveLog = (obj: UpdateFlowResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-appflow/package.json b/clients/client-appflow/package.json new file mode 100644 index 000000000000..7b5042e166c2 --- /dev/null +++ b/clients/client-appflow/package.json @@ -0,0 +1,77 @@ +{ + "name": "@aws-sdk/client-appflow", + "description": "@aws-sdk/client-appflow client", + "version": "1.0.0-rc.1", + "scripts": { + "clean": "npm run remove-definitions && npm run remove-dist", + "build-documentation": "npm run clean && typedoc ./", + "prepublishOnly": "yarn build", + "pretest": "yarn build:cjs", + "remove-definitions": "rimraf ./types", + "remove-dist": "rimraf ./dist", + "remove-documentation": "rimraf ./docs", + "test": "yarn build && jest --coverage --passWithNoTests", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig.es.json", + "build": "yarn build:cjs && yarn build:es" + }, + "main": "./dist/cjs/index.js", + "types": "./types/index.d.ts", + "module": "./dist/es/index.js", + "browser": { + "./runtimeConfig": "./runtimeConfig.browser" + }, + "react-native": { + "./runtimeConfig": "./runtimeConfig.native" + }, + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0-alpha.0", + "@aws-crypto/sha256-js": "^1.0.0-alpha.0", + "@aws-sdk/config-resolver": "1.0.0-rc.1", + "@aws-sdk/credential-provider-node": "1.0.0-rc.1", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.1", + "@aws-sdk/hash-node": "1.0.0-rc.1", + "@aws-sdk/invalid-dependency": "1.0.0-rc.1", + "@aws-sdk/middleware-content-length": "1.0.0-rc.1", + "@aws-sdk/middleware-host-header": "1.0.0-rc.1", + "@aws-sdk/middleware-logger": "1.0.0-rc.1", + "@aws-sdk/middleware-retry": "1.0.0-rc.1", + "@aws-sdk/middleware-serde": "1.0.0-rc.1", + "@aws-sdk/middleware-signing": "1.0.0-rc.1", + "@aws-sdk/middleware-stack": "1.0.0-rc.1", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.1", + "@aws-sdk/node-config-provider": "1.0.0-rc.1", + "@aws-sdk/node-http-handler": "1.0.0-rc.1", + "@aws-sdk/protocol-http": "1.0.0-rc.1", + "@aws-sdk/smithy-client": "1.0.0-rc.1", + "@aws-sdk/types": "1.0.0-rc.1", + "@aws-sdk/url-parser-browser": "1.0.0-rc.1", + "@aws-sdk/url-parser-node": "1.0.0-rc.1", + "@aws-sdk/util-base64-browser": "1.0.0-rc.1", + "@aws-sdk/util-base64-node": "1.0.0-rc.1", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.1", + "@aws-sdk/util-body-length-node": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.1", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.1", + "@aws-sdk/util-utf8-node": "1.0.0-rc.1", + "tslib": "^2.0.0" + }, + "devDependencies": { + "@aws-sdk/client-documentation-generator": "1.0.0-rc.1", + "@types/node": "^12.7.5", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "typedoc": "^0.17.8", + "typescript": "~4.0.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0" +} diff --git a/clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts b/clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts new file mode 100644 index 000000000000..70b468380d58 --- /dev/null +++ b/clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts @@ -0,0 +1,51 @@ +import { Appflow } from "../Appflow"; +import { AppflowClient } from "../AppflowClient"; +import { + DescribeConnectorProfilesCommand, + DescribeConnectorProfilesCommandInput, + DescribeConnectorProfilesCommandOutput, +} from "../commands/DescribeConnectorProfilesCommand"; +import { AppflowPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: AppflowClient, + input: DescribeConnectorProfilesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeConnectorProfilesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Appflow, + input: DescribeConnectorProfilesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeConnectorProfiles(input, ...args); +}; +export async function* describeConnectorProfilesPaginate( + config: AppflowPaginationConfiguration, + input: DescribeConnectorProfilesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeConnectorProfilesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Appflow) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof AppflowClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Appflow | AppflowClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-appflow/pagination/DescribeConnectorsPaginator.ts b/clients/client-appflow/pagination/DescribeConnectorsPaginator.ts new file mode 100644 index 000000000000..9d637a966712 --- /dev/null +++ b/clients/client-appflow/pagination/DescribeConnectorsPaginator.ts @@ -0,0 +1,50 @@ +import { Appflow } from "../Appflow"; +import { AppflowClient } from "../AppflowClient"; +import { + DescribeConnectorsCommand, + DescribeConnectorsCommandInput, + DescribeConnectorsCommandOutput, +} from "../commands/DescribeConnectorsCommand"; +import { AppflowPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: AppflowClient, + input: DescribeConnectorsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeConnectorsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Appflow, + input: DescribeConnectorsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeConnectors(input, ...args); +}; +export async function* describeConnectorsPaginate( + config: AppflowPaginationConfiguration, + input: DescribeConnectorsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeConnectorsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + if (config.client instanceof Appflow) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof AppflowClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Appflow | AppflowClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-appflow/pagination/DescribeFlowExecutionRecordsPaginator.ts b/clients/client-appflow/pagination/DescribeFlowExecutionRecordsPaginator.ts new file mode 100644 index 000000000000..3e9a0542c0a6 --- /dev/null +++ b/clients/client-appflow/pagination/DescribeFlowExecutionRecordsPaginator.ts @@ -0,0 +1,51 @@ +import { Appflow } from "../Appflow"; +import { AppflowClient } from "../AppflowClient"; +import { + DescribeFlowExecutionRecordsCommand, + DescribeFlowExecutionRecordsCommandInput, + DescribeFlowExecutionRecordsCommandOutput, +} from "../commands/DescribeFlowExecutionRecordsCommand"; +import { AppflowPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: AppflowClient, + input: DescribeFlowExecutionRecordsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeFlowExecutionRecordsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Appflow, + input: DescribeFlowExecutionRecordsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeFlowExecutionRecords(input, ...args); +}; +export async function* describeFlowExecutionRecordsPaginate( + config: AppflowPaginationConfiguration, + input: DescribeFlowExecutionRecordsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeFlowExecutionRecordsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Appflow) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof AppflowClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Appflow | AppflowClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-appflow/pagination/Interfaces.ts b/clients/client-appflow/pagination/Interfaces.ts new file mode 100644 index 000000000000..ed86ce8528f6 --- /dev/null +++ b/clients/client-appflow/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { Appflow } from "../Appflow"; +import { AppflowClient } from "../AppflowClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface AppflowPaginationConfiguration extends PaginationConfiguration { + client: Appflow | AppflowClient; +} diff --git a/clients/client-appflow/pagination/ListFlowsPaginator.ts b/clients/client-appflow/pagination/ListFlowsPaginator.ts new file mode 100644 index 000000000000..da5c34f7cd72 --- /dev/null +++ b/clients/client-appflow/pagination/ListFlowsPaginator.ts @@ -0,0 +1,47 @@ +import { Appflow } from "../Appflow"; +import { AppflowClient } from "../AppflowClient"; +import { ListFlowsCommand, ListFlowsCommandInput, ListFlowsCommandOutput } from "../commands/ListFlowsCommand"; +import { AppflowPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: AppflowClient, + input: ListFlowsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListFlowsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Appflow, + input: ListFlowsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listFlows(input, ...args); +}; +export async function* listFlowsPaginate( + config: AppflowPaginationConfiguration, + input: ListFlowsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListFlowsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Appflow) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof AppflowClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Appflow | AppflowClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-appflow/protocols/Aws_restJson1.ts b/clients/client-appflow/protocols/Aws_restJson1.ts new file mode 100644 index 000000000000..8792fed2adf5 --- /dev/null +++ b/clients/client-appflow/protocols/Aws_restJson1.ts @@ -0,0 +1,4398 @@ +import { + CreateConnectorProfileCommandInput, + CreateConnectorProfileCommandOutput, +} from "../commands/CreateConnectorProfileCommand"; +import { CreateFlowCommandInput, CreateFlowCommandOutput } from "../commands/CreateFlowCommand"; +import { + DeleteConnectorProfileCommandInput, + DeleteConnectorProfileCommandOutput, +} from "../commands/DeleteConnectorProfileCommand"; +import { DeleteFlowCommandInput, DeleteFlowCommandOutput } from "../commands/DeleteFlowCommand"; +import { + DescribeConnectorEntityCommandInput, + DescribeConnectorEntityCommandOutput, +} from "../commands/DescribeConnectorEntityCommand"; +import { + DescribeConnectorProfilesCommandInput, + DescribeConnectorProfilesCommandOutput, +} from "../commands/DescribeConnectorProfilesCommand"; +import { DescribeConnectorsCommandInput, DescribeConnectorsCommandOutput } from "../commands/DescribeConnectorsCommand"; +import { DescribeFlowCommandInput, DescribeFlowCommandOutput } from "../commands/DescribeFlowCommand"; +import { + DescribeFlowExecutionRecordsCommandInput, + DescribeFlowExecutionRecordsCommandOutput, +} from "../commands/DescribeFlowExecutionRecordsCommand"; +import { + ListConnectorEntitiesCommandInput, + ListConnectorEntitiesCommandOutput, +} from "../commands/ListConnectorEntitiesCommand"; +import { ListFlowsCommandInput, ListFlowsCommandOutput } from "../commands/ListFlowsCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; +import { StartFlowCommandInput, StartFlowCommandOutput } from "../commands/StartFlowCommand"; +import { StopFlowCommandInput, StopFlowCommandOutput } from "../commands/StopFlowCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; +import { + UpdateConnectorProfileCommandInput, + UpdateConnectorProfileCommandOutput, +} from "../commands/UpdateConnectorProfileCommand"; +import { UpdateFlowCommandInput, UpdateFlowCommandOutput } from "../commands/UpdateFlowCommand"; +import { + AggregationConfig, + AmplitudeConnectorProfileCredentials, + AmplitudeConnectorProfileProperties, + AmplitudeMetadata, + AmplitudeSourceProperties, + ConflictException, + ConnectorAuthenticationException, + ConnectorConfiguration, + ConnectorEntity, + ConnectorEntityField, + ConnectorMetadata, + ConnectorOAuthRequest, + ConnectorOperator, + ConnectorProfile, + ConnectorProfileConfig, + ConnectorProfileCredentials, + ConnectorProfileProperties, + ConnectorServerException, + ConnectorType, + DatadogConnectorProfileCredentials, + DatadogConnectorProfileProperties, + DatadogMetadata, + DatadogSourceProperties, + DestinationConnectorProperties, + DestinationFieldProperties, + DestinationFlowConfig, + DynatraceConnectorProfileCredentials, + DynatraceConnectorProfileProperties, + DynatraceMetadata, + DynatraceSourceProperties, + ErrorHandlingConfig, + ErrorInfo, + EventBridgeDestinationProperties, + EventBridgeMetadata, + ExecutionDetails, + ExecutionRecord, + ExecutionResult, + FieldTypeDetails, + FlowDefinition, + GoogleAnalyticsConnectorProfileCredentials, + GoogleAnalyticsConnectorProfileProperties, + GoogleAnalyticsMetadata, + GoogleAnalyticsSourceProperties, + InforNexusConnectorProfileCredentials, + InforNexusConnectorProfileProperties, + InforNexusMetadata, + InforNexusSourceProperties, + InternalServerException, + MarketoConnectorProfileCredentials, + MarketoConnectorProfileProperties, + MarketoMetadata, + MarketoSourceProperties, + Operator, + OperatorPropertiesKeys, + PrefixConfig, + RedshiftConnectorProfileCredentials, + RedshiftConnectorProfileProperties, + RedshiftDestinationProperties, + RedshiftMetadata, + ResourceNotFoundException, + S3DestinationProperties, + S3Metadata, + S3OutputFormatConfig, + S3SourceProperties, + SalesforceConnectorProfileCredentials, + SalesforceConnectorProfileProperties, + SalesforceDestinationProperties, + SalesforceMetadata, + SalesforceSourceProperties, + ScheduleFrequencyType, + ScheduledTriggerProperties, + ServiceNowConnectorProfileCredentials, + ServiceNowConnectorProfileProperties, + ServiceNowMetadata, + ServiceNowSourceProperties, + ServiceQuotaExceededException, + SingularConnectorProfileCredentials, + SingularConnectorProfileProperties, + SingularMetadata, + SingularSourceProperties, + SlackConnectorProfileCredentials, + SlackConnectorProfileProperties, + SlackMetadata, + SlackSourceProperties, + SnowflakeConnectorProfileCredentials, + SnowflakeConnectorProfileProperties, + SnowflakeDestinationProperties, + SnowflakeMetadata, + SourceConnectorProperties, + SourceFieldProperties, + SourceFlowConfig, + SupportedFieldTypeDetails, + Task, + TrendmicroConnectorProfileCredentials, + TrendmicroConnectorProfileProperties, + TrendmicroMetadata, + TrendmicroSourceProperties, + TriggerConfig, + TriggerProperties, + TriggerType, + UnsupportedOperationException, + ValidationException, + VeevaConnectorProfileCredentials, + VeevaConnectorProfileProperties, + VeevaMetadata, + VeevaSourceProperties, + ZendeskConnectorProfileCredentials, + ZendeskConnectorProfileProperties, + ZendeskMetadata, + ZendeskSourceProperties, +} from "../models/models_0"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { + SmithyException as __SmithyException, + extendedEncodeURIComponent as __extendedEncodeURIComponent, +} from "@aws-sdk/smithy-client"; +import { + Endpoint as __Endpoint, + MetadataBearer as __MetadataBearer, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export const serializeAws_restJson1CreateConnectorProfileCommand = async ( + input: CreateConnectorProfileCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/create-connector-profile"; + let body: any; + body = JSON.stringify({ + ...(input.connectionMode !== undefined && { connectionMode: input.connectionMode }), + ...(input.connectorProfileConfig !== undefined && { + connectorProfileConfig: serializeAws_restJson1ConnectorProfileConfig(input.connectorProfileConfig, context), + }), + ...(input.connectorProfileName !== undefined && { connectorProfileName: input.connectorProfileName }), + ...(input.connectorType !== undefined && { connectorType: input.connectorType }), + ...(input.kmsArn !== undefined && { kmsArn: input.kmsArn }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreateFlowCommand = async ( + input: CreateFlowCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/create-flow"; + let body: any; + body = JSON.stringify({ + ...(input.description !== undefined && { description: input.description }), + ...(input.destinationFlowConfigList !== undefined && { + destinationFlowConfigList: serializeAws_restJson1DestinationFlowConfigList( + input.destinationFlowConfigList, + context + ), + }), + ...(input.flowName !== undefined && { flowName: input.flowName }), + ...(input.kmsArn !== undefined && { kmsArn: input.kmsArn }), + ...(input.sourceFlowConfig !== undefined && { + sourceFlowConfig: serializeAws_restJson1SourceFlowConfig(input.sourceFlowConfig, context), + }), + ...(input.tags !== undefined && { tags: serializeAws_restJson1TagMap(input.tags, context) }), + ...(input.tasks !== undefined && { tasks: serializeAws_restJson1Tasks(input.tasks, context) }), + ...(input.triggerConfig !== undefined && { + triggerConfig: serializeAws_restJson1TriggerConfig(input.triggerConfig, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DeleteConnectorProfileCommand = async ( + input: DeleteConnectorProfileCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/delete-connector-profile"; + let body: any; + body = JSON.stringify({ + ...(input.connectorProfileName !== undefined && { connectorProfileName: input.connectorProfileName }), + ...(input.forceDelete !== undefined && { forceDelete: input.forceDelete }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DeleteFlowCommand = async ( + input: DeleteFlowCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/delete-flow"; + let body: any; + body = JSON.stringify({ + ...(input.flowName !== undefined && { flowName: input.flowName }), + ...(input.forceDelete !== undefined && { forceDelete: input.forceDelete }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeConnectorEntityCommand = async ( + input: DescribeConnectorEntityCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/describe-connector-entity"; + let body: any; + body = JSON.stringify({ + ...(input.connectorEntityName !== undefined && { connectorEntityName: input.connectorEntityName }), + ...(input.connectorProfileName !== undefined && { connectorProfileName: input.connectorProfileName }), + ...(input.connectorType !== undefined && { connectorType: input.connectorType }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeConnectorProfilesCommand = async ( + input: DescribeConnectorProfilesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/describe-connector-profiles"; + let body: any; + body = JSON.stringify({ + ...(input.connectorProfileNames !== undefined && { + connectorProfileNames: serializeAws_restJson1ConnectorProfileNameList(input.connectorProfileNames, context), + }), + ...(input.connectorType !== undefined && { connectorType: input.connectorType }), + ...(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", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeConnectorsCommand = async ( + input: DescribeConnectorsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/describe-connectors"; + let body: any; + body = JSON.stringify({ + ...(input.connectorTypes !== undefined && { + connectorTypes: serializeAws_restJson1ConnectorTypeList(input.connectorTypes, context), + }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeFlowCommand = async ( + input: DescribeFlowCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/describe-flow"; + let body: any; + body = JSON.stringify({ + ...(input.flowName !== undefined && { flowName: input.flowName }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeFlowExecutionRecordsCommand = async ( + input: DescribeFlowExecutionRecordsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/describe-flow-execution-records"; + let body: any; + body = JSON.stringify({ + ...(input.flowName !== undefined && { flowName: input.flowName }), + ...(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", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1ListConnectorEntitiesCommand = async ( + input: ListConnectorEntitiesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/list-connector-entities"; + let body: any; + body = JSON.stringify({ + ...(input.connectorProfileName !== undefined && { connectorProfileName: input.connectorProfileName }), + ...(input.connectorType !== undefined && { connectorType: input.connectorType }), + ...(input.entitiesPath !== undefined && { entitiesPath: input.entitiesPath }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1ListFlowsCommand = async ( + input: ListFlowsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/list-flows"; + let body: any; + body = JSON.stringify({ + ...(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", + headers, + path: resolvedPath, + body, + }); +}; + +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_restJson1StartFlowCommand = async ( + input: StartFlowCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/start-flow"; + let body: any; + body = JSON.stringify({ + ...(input.flowName !== undefined && { flowName: input.flowName }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1StopFlowCommand = async ( + input: StopFlowCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/stop-flow"; + let body: any; + body = JSON.stringify({ + ...(input.flowName !== undefined && { flowName: input.flowName }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +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 serializeAws_restJson1UpdateConnectorProfileCommand = async ( + input: UpdateConnectorProfileCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/update-connector-profile"; + let body: any; + body = JSON.stringify({ + ...(input.connectionMode !== undefined && { connectionMode: input.connectionMode }), + ...(input.connectorProfileConfig !== undefined && { + connectorProfileConfig: serializeAws_restJson1ConnectorProfileConfig(input.connectorProfileConfig, context), + }), + ...(input.connectorProfileName !== undefined && { connectorProfileName: input.connectorProfileName }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateFlowCommand = async ( + input: UpdateFlowCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/update-flow"; + let body: any; + body = JSON.stringify({ + ...(input.description !== undefined && { description: input.description }), + ...(input.destinationFlowConfigList !== undefined && { + destinationFlowConfigList: serializeAws_restJson1DestinationFlowConfigList( + input.destinationFlowConfigList, + context + ), + }), + ...(input.flowName !== undefined && { flowName: input.flowName }), + ...(input.sourceFlowConfig !== undefined && { + sourceFlowConfig: serializeAws_restJson1SourceFlowConfig(input.sourceFlowConfig, context), + }), + ...(input.tasks !== undefined && { tasks: serializeAws_restJson1Tasks(input.tasks, context) }), + ...(input.triggerConfig !== undefined && { + triggerConfig: serializeAws_restJson1TriggerConfig(input.triggerConfig, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const deserializeAws_restJson1CreateConnectorProfileCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateConnectorProfileCommandError(output, context); + } + const contents: CreateConnectorProfileCommandOutput = { + $metadata: deserializeMetadata(output), + connectorProfileArn: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.connectorProfileArn !== undefined && data.connectorProfileArn !== null) { + contents.connectorProfileArn = data.connectorProfileArn; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateConnectorProfileCommandError = 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 "ConflictException": + case "com.amazonaws.appflow#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConnectorAuthenticationException": + case "com.amazonaws.appflow#ConnectorAuthenticationException": + response = { + ...(await deserializeAws_restJson1ConnectorAuthenticationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.appflow#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1CreateFlowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateFlowCommandError(output, context); + } + const contents: CreateFlowCommandOutput = { + $metadata: deserializeMetadata(output), + flowArn: undefined, + flowStatus: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.flowArn !== undefined && data.flowArn !== null) { + contents.flowArn = data.flowArn; + } + if (data.flowStatus !== undefined && data.flowStatus !== null) { + contents.flowStatus = data.flowStatus; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateFlowCommandError = 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 "ConflictException": + case "com.amazonaws.appflow#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConnectorAuthenticationException": + case "com.amazonaws.appflow#ConnectorAuthenticationException": + response = { + ...(await deserializeAws_restJson1ConnectorAuthenticationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConnectorServerException": + case "com.amazonaws.appflow#ConnectorServerException": + response = { + ...(await deserializeAws_restJson1ConnectorServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.appflow#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1DeleteConnectorProfileCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteConnectorProfileCommandError(output, context); + } + const contents: DeleteConnectorProfileCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteConnectorProfileCommandError = 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 "ConflictException": + case "com.amazonaws.appflow#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#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_restJson1DeleteFlowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteFlowCommandError(output, context); + } + const contents: DeleteFlowCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteFlowCommandError = 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 "ConflictException": + case "com.amazonaws.appflow#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#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_restJson1DescribeConnectorEntityCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeConnectorEntityCommandError(output, context); + } + const contents: DescribeConnectorEntityCommandOutput = { + $metadata: deserializeMetadata(output), + connectorEntityFields: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.connectorEntityFields !== undefined && data.connectorEntityFields !== null) { + contents.connectorEntityFields = deserializeAws_restJson1ConnectorEntityFieldList( + data.connectorEntityFields, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeConnectorEntityCommandError = 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 "ConnectorAuthenticationException": + case "com.amazonaws.appflow#ConnectorAuthenticationException": + response = { + ...(await deserializeAws_restJson1ConnectorAuthenticationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConnectorServerException": + case "com.amazonaws.appflow#ConnectorServerException": + response = { + ...(await deserializeAws_restJson1ConnectorServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1DescribeConnectorProfilesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeConnectorProfilesCommandError(output, context); + } + const contents: DescribeConnectorProfilesCommandOutput = { + $metadata: deserializeMetadata(output), + connectorProfileDetails: undefined, + nextToken: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.connectorProfileDetails !== undefined && data.connectorProfileDetails !== null) { + contents.connectorProfileDetails = deserializeAws_restJson1ConnectorProfileDetailList( + data.connectorProfileDetails, + context + ); + } + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeConnectorProfilesCommandError = 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.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1DescribeConnectorsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeConnectorsCommandError(output, context); + } + const contents: DescribeConnectorsCommandOutput = { + $metadata: deserializeMetadata(output), + connectorConfigurations: undefined, + nextToken: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.connectorConfigurations !== undefined && data.connectorConfigurations !== null) { + contents.connectorConfigurations = deserializeAws_restJson1ConnectorConfigurationsMap( + data.connectorConfigurations, + context + ); + } + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeConnectorsCommandError = 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.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1DescribeFlowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeFlowCommandError(output, context); + } + const contents: DescribeFlowCommandOutput = { + $metadata: deserializeMetadata(output), + createdAt: undefined, + createdBy: undefined, + description: undefined, + destinationFlowConfigList: undefined, + flowArn: undefined, + flowName: undefined, + flowStatus: undefined, + flowStatusMessage: undefined, + kmsArn: undefined, + lastRunExecutionDetails: undefined, + lastUpdatedAt: undefined, + lastUpdatedBy: undefined, + sourceFlowConfig: undefined, + tags: undefined, + tasks: undefined, + triggerConfig: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.createdBy !== undefined && data.createdBy !== null) { + contents.createdBy = data.createdBy; + } + if (data.description !== undefined && data.description !== null) { + contents.description = data.description; + } + if (data.destinationFlowConfigList !== undefined && data.destinationFlowConfigList !== null) { + contents.destinationFlowConfigList = deserializeAws_restJson1DestinationFlowConfigList( + data.destinationFlowConfigList, + context + ); + } + if (data.flowArn !== undefined && data.flowArn !== null) { + contents.flowArn = data.flowArn; + } + if (data.flowName !== undefined && data.flowName !== null) { + contents.flowName = data.flowName; + } + if (data.flowStatus !== undefined && data.flowStatus !== null) { + contents.flowStatus = data.flowStatus; + } + if (data.flowStatusMessage !== undefined && data.flowStatusMessage !== null) { + contents.flowStatusMessage = data.flowStatusMessage; + } + if (data.kmsArn !== undefined && data.kmsArn !== null) { + contents.kmsArn = data.kmsArn; + } + if (data.lastRunExecutionDetails !== undefined && data.lastRunExecutionDetails !== null) { + contents.lastRunExecutionDetails = deserializeAws_restJson1ExecutionDetails(data.lastRunExecutionDetails, context); + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.lastUpdatedBy !== undefined && data.lastUpdatedBy !== null) { + contents.lastUpdatedBy = data.lastUpdatedBy; + } + if (data.sourceFlowConfig !== undefined && data.sourceFlowConfig !== null) { + contents.sourceFlowConfig = deserializeAws_restJson1SourceFlowConfig(data.sourceFlowConfig, context); + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + if (data.tasks !== undefined && data.tasks !== null) { + contents.tasks = deserializeAws_restJson1Tasks(data.tasks, context); + } + if (data.triggerConfig !== undefined && data.triggerConfig !== null) { + contents.triggerConfig = deserializeAws_restJson1TriggerConfig(data.triggerConfig, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeFlowCommandError = 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.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#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_restJson1DescribeFlowExecutionRecordsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeFlowExecutionRecordsCommandError(output, context); + } + const contents: DescribeFlowExecutionRecordsCommandOutput = { + $metadata: deserializeMetadata(output), + flowExecutions: undefined, + nextToken: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.flowExecutions !== undefined && data.flowExecutions !== null) { + contents.flowExecutions = deserializeAws_restJson1FlowExecutionList(data.flowExecutions, context); + } + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeFlowExecutionRecordsCommandError = 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.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1ListConnectorEntitiesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListConnectorEntitiesCommandError(output, context); + } + const contents: ListConnectorEntitiesCommandOutput = { + $metadata: deserializeMetadata(output), + connectorEntityMap: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.connectorEntityMap !== undefined && data.connectorEntityMap !== null) { + contents.connectorEntityMap = deserializeAws_restJson1ConnectorEntityMap(data.connectorEntityMap, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListConnectorEntitiesCommandError = 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 "ConnectorAuthenticationException": + case "com.amazonaws.appflow#ConnectorAuthenticationException": + response = { + ...(await deserializeAws_restJson1ConnectorAuthenticationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConnectorServerException": + case "com.amazonaws.appflow#ConnectorServerException": + response = { + ...(await deserializeAws_restJson1ConnectorServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1ListFlowsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListFlowsCommandError(output, context); + } + const contents: ListFlowsCommandOutput = { + $metadata: deserializeMetadata(output), + flows: undefined, + nextToken: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.flows !== undefined && data.flows !== null) { + contents.flows = deserializeAws_restJson1FlowList(data.flows, context); + } + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListFlowsCommandError = 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.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_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.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1StartFlowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1StartFlowCommandError(output, context); + } + const contents: StartFlowCommandOutput = { + $metadata: deserializeMetadata(output), + flowArn: undefined, + flowStatus: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.flowArn !== undefined && data.flowArn !== null) { + contents.flowArn = data.flowArn; + } + if (data.flowStatus !== undefined && data.flowStatus !== null) { + contents.flowStatus = data.flowStatus; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1StartFlowCommandError = 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 "ConflictException": + case "com.amazonaws.appflow#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.appflow#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(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_restJson1StopFlowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1StopFlowCommandError(output, context); + } + const contents: StopFlowCommandOutput = { + $metadata: deserializeMetadata(output), + flowArn: undefined, + flowStatus: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.flowArn !== undefined && data.flowArn !== null) { + contents.flowArn = data.flowArn; + } + if (data.flowStatus !== undefined && data.flowStatus !== null) { + contents.flowStatus = data.flowStatus; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1StopFlowCommandError = 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 "ConflictException": + case "com.amazonaws.appflow#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedOperationException": + case "com.amazonaws.appflow#UnsupportedOperationException": + response = { + ...(await deserializeAws_restJson1UnsupportedOperationExceptionResponse(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 "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1UpdateConnectorProfileCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateConnectorProfileCommandError(output, context); + } + const contents: UpdateConnectorProfileCommandOutput = { + $metadata: deserializeMetadata(output), + connectorProfileArn: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.connectorProfileArn !== undefined && data.connectorProfileArn !== null) { + contents.connectorProfileArn = data.connectorProfileArn; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateConnectorProfileCommandError = 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 "ConflictException": + case "com.amazonaws.appflow#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConnectorAuthenticationException": + case "com.amazonaws.appflow#ConnectorAuthenticationException": + response = { + ...(await deserializeAws_restJson1ConnectorAuthenticationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1UpdateFlowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateFlowCommandError(output, context); + } + const contents: UpdateFlowCommandOutput = { + $metadata: deserializeMetadata(output), + flowStatus: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.flowStatus !== undefined && data.flowStatus !== null) { + contents.flowStatus = data.flowStatus; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateFlowCommandError = 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 "ConflictException": + case "com.amazonaws.appflow#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConnectorAuthenticationException": + case "com.amazonaws.appflow#ConnectorAuthenticationException": + response = { + ...(await deserializeAws_restJson1ConnectorAuthenticationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConnectorServerException": + case "com.amazonaws.appflow#ConnectorServerException": + response = { + ...(await deserializeAws_restJson1ConnectorServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.appflow#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.appflow#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.appflow#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.appflow#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_restJson1ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ConflictException = { + name: "ConflictException", + $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_restJson1ConnectorAuthenticationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ConnectorAuthenticationException = { + name: "ConnectorAuthenticationException", + $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_restJson1ConnectorServerExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ConnectorServerException = { + name: "ConnectorServerException", + $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_restJson1InternalServerExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: InternalServerException = { + name: "InternalServerException", + $fault: "server", + $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_restJson1ResourceNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ResourceNotFoundException = { + name: "ResourceNotFoundException", + $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_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_restJson1UnsupportedOperationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: UnsupportedOperationException = { + name: "UnsupportedOperationException", + $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_restJson1ValidationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ValidationException = { + name: "ValidationException", + $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 serializeAws_restJson1AggregationConfig = (input: AggregationConfig, context: __SerdeContext): any => { + return { + ...(input.aggregationType !== undefined && { aggregationType: input.aggregationType }), + }; +}; + +const serializeAws_restJson1AmplitudeConnectorProfileCredentials = ( + input: AmplitudeConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.apiKey !== undefined && { apiKey: input.apiKey }), + ...(input.secretKey !== undefined && { secretKey: input.secretKey }), + }; +}; + +const serializeAws_restJson1AmplitudeConnectorProfileProperties = ( + input: AmplitudeConnectorProfileProperties, + context: __SerdeContext +): any => { + return {}; +}; + +const serializeAws_restJson1AmplitudeSourceProperties = ( + input: AmplitudeSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1ConnectorOAuthRequest = (input: ConnectorOAuthRequest, context: __SerdeContext): any => { + return { + ...(input.authCode !== undefined && { authCode: input.authCode }), + ...(input.redirectUri !== undefined && { redirectUri: input.redirectUri }), + }; +}; + +const serializeAws_restJson1ConnectorOperator = (input: ConnectorOperator, context: __SerdeContext): any => { + return { + ...(input.Amplitude !== undefined && { Amplitude: input.Amplitude }), + ...(input.Datadog !== undefined && { Datadog: input.Datadog }), + ...(input.Dynatrace !== undefined && { Dynatrace: input.Dynatrace }), + ...(input.GoogleAnalytics !== undefined && { GoogleAnalytics: input.GoogleAnalytics }), + ...(input.InforNexus !== undefined && { InforNexus: input.InforNexus }), + ...(input.Marketo !== undefined && { Marketo: input.Marketo }), + ...(input.S3 !== undefined && { S3: input.S3 }), + ...(input.Salesforce !== undefined && { Salesforce: input.Salesforce }), + ...(input.ServiceNow !== undefined && { ServiceNow: input.ServiceNow }), + ...(input.Singular !== undefined && { Singular: input.Singular }), + ...(input.Slack !== undefined && { Slack: input.Slack }), + ...(input.Trendmicro !== undefined && { Trendmicro: input.Trendmicro }), + ...(input.Veeva !== undefined && { Veeva: input.Veeva }), + ...(input.Zendesk !== undefined && { Zendesk: input.Zendesk }), + }; +}; + +const serializeAws_restJson1ConnectorProfileConfig = (input: ConnectorProfileConfig, context: __SerdeContext): any => { + return { + ...(input.connectorProfileCredentials !== undefined && { + connectorProfileCredentials: serializeAws_restJson1ConnectorProfileCredentials( + input.connectorProfileCredentials, + context + ), + }), + ...(input.connectorProfileProperties !== undefined && { + connectorProfileProperties: serializeAws_restJson1ConnectorProfileProperties( + input.connectorProfileProperties, + context + ), + }), + }; +}; + +const serializeAws_restJson1ConnectorProfileCredentials = ( + input: ConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.Amplitude !== undefined && { + Amplitude: serializeAws_restJson1AmplitudeConnectorProfileCredentials(input.Amplitude, context), + }), + ...(input.Datadog !== undefined && { + Datadog: serializeAws_restJson1DatadogConnectorProfileCredentials(input.Datadog, context), + }), + ...(input.Dynatrace !== undefined && { + Dynatrace: serializeAws_restJson1DynatraceConnectorProfileCredentials(input.Dynatrace, context), + }), + ...(input.GoogleAnalytics !== undefined && { + GoogleAnalytics: serializeAws_restJson1GoogleAnalyticsConnectorProfileCredentials(input.GoogleAnalytics, context), + }), + ...(input.InforNexus !== undefined && { + InforNexus: serializeAws_restJson1InforNexusConnectorProfileCredentials(input.InforNexus, context), + }), + ...(input.Marketo !== undefined && { + Marketo: serializeAws_restJson1MarketoConnectorProfileCredentials(input.Marketo, context), + }), + ...(input.Redshift !== undefined && { + Redshift: serializeAws_restJson1RedshiftConnectorProfileCredentials(input.Redshift, context), + }), + ...(input.Salesforce !== undefined && { + Salesforce: serializeAws_restJson1SalesforceConnectorProfileCredentials(input.Salesforce, context), + }), + ...(input.ServiceNow !== undefined && { + ServiceNow: serializeAws_restJson1ServiceNowConnectorProfileCredentials(input.ServiceNow, context), + }), + ...(input.Singular !== undefined && { + Singular: serializeAws_restJson1SingularConnectorProfileCredentials(input.Singular, context), + }), + ...(input.Slack !== undefined && { + Slack: serializeAws_restJson1SlackConnectorProfileCredentials(input.Slack, context), + }), + ...(input.Snowflake !== undefined && { + Snowflake: serializeAws_restJson1SnowflakeConnectorProfileCredentials(input.Snowflake, context), + }), + ...(input.Trendmicro !== undefined && { + Trendmicro: serializeAws_restJson1TrendmicroConnectorProfileCredentials(input.Trendmicro, context), + }), + ...(input.Veeva !== undefined && { + Veeva: serializeAws_restJson1VeevaConnectorProfileCredentials(input.Veeva, context), + }), + ...(input.Zendesk !== undefined && { + Zendesk: serializeAws_restJson1ZendeskConnectorProfileCredentials(input.Zendesk, context), + }), + }; +}; + +const serializeAws_restJson1ConnectorProfileNameList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1ConnectorProfileProperties = ( + input: ConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.Amplitude !== undefined && { + Amplitude: serializeAws_restJson1AmplitudeConnectorProfileProperties(input.Amplitude, context), + }), + ...(input.Datadog !== undefined && { + Datadog: serializeAws_restJson1DatadogConnectorProfileProperties(input.Datadog, context), + }), + ...(input.Dynatrace !== undefined && { + Dynatrace: serializeAws_restJson1DynatraceConnectorProfileProperties(input.Dynatrace, context), + }), + ...(input.GoogleAnalytics !== undefined && { + GoogleAnalytics: serializeAws_restJson1GoogleAnalyticsConnectorProfileProperties(input.GoogleAnalytics, context), + }), + ...(input.InforNexus !== undefined && { + InforNexus: serializeAws_restJson1InforNexusConnectorProfileProperties(input.InforNexus, context), + }), + ...(input.Marketo !== undefined && { + Marketo: serializeAws_restJson1MarketoConnectorProfileProperties(input.Marketo, context), + }), + ...(input.Redshift !== undefined && { + Redshift: serializeAws_restJson1RedshiftConnectorProfileProperties(input.Redshift, context), + }), + ...(input.Salesforce !== undefined && { + Salesforce: serializeAws_restJson1SalesforceConnectorProfileProperties(input.Salesforce, context), + }), + ...(input.ServiceNow !== undefined && { + ServiceNow: serializeAws_restJson1ServiceNowConnectorProfileProperties(input.ServiceNow, context), + }), + ...(input.Singular !== undefined && { + Singular: serializeAws_restJson1SingularConnectorProfileProperties(input.Singular, context), + }), + ...(input.Slack !== undefined && { + Slack: serializeAws_restJson1SlackConnectorProfileProperties(input.Slack, context), + }), + ...(input.Snowflake !== undefined && { + Snowflake: serializeAws_restJson1SnowflakeConnectorProfileProperties(input.Snowflake, context), + }), + ...(input.Trendmicro !== undefined && { + Trendmicro: serializeAws_restJson1TrendmicroConnectorProfileProperties(input.Trendmicro, context), + }), + ...(input.Veeva !== undefined && { + Veeva: serializeAws_restJson1VeevaConnectorProfileProperties(input.Veeva, context), + }), + ...(input.Zendesk !== undefined && { + Zendesk: serializeAws_restJson1ZendeskConnectorProfileProperties(input.Zendesk, context), + }), + }; +}; + +const serializeAws_restJson1ConnectorTypeList = (input: (ConnectorType | string)[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1DatadogConnectorProfileCredentials = ( + input: DatadogConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.apiKey !== undefined && { apiKey: input.apiKey }), + ...(input.applicationKey !== undefined && { applicationKey: input.applicationKey }), + }; +}; + +const serializeAws_restJson1DatadogConnectorProfileProperties = ( + input: DatadogConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.instanceUrl !== undefined && { instanceUrl: input.instanceUrl }), + }; +}; + +const serializeAws_restJson1DatadogSourceProperties = ( + input: DatadogSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1DestinationConnectorProperties = ( + input: DestinationConnectorProperties, + context: __SerdeContext +): any => { + return { + ...(input.EventBridge !== undefined && { + EventBridge: serializeAws_restJson1EventBridgeDestinationProperties(input.EventBridge, context), + }), + ...(input.Redshift !== undefined && { + Redshift: serializeAws_restJson1RedshiftDestinationProperties(input.Redshift, context), + }), + ...(input.S3 !== undefined && { S3: serializeAws_restJson1S3DestinationProperties(input.S3, context) }), + ...(input.Salesforce !== undefined && { + Salesforce: serializeAws_restJson1SalesforceDestinationProperties(input.Salesforce, context), + }), + ...(input.Snowflake !== undefined && { + Snowflake: serializeAws_restJson1SnowflakeDestinationProperties(input.Snowflake, context), + }), + }; +}; + +const serializeAws_restJson1DestinationFlowConfig = (input: DestinationFlowConfig, context: __SerdeContext): any => { + return { + ...(input.connectorProfileName !== undefined && { connectorProfileName: input.connectorProfileName }), + ...(input.connectorType !== undefined && { connectorType: input.connectorType }), + ...(input.destinationConnectorProperties !== undefined && { + destinationConnectorProperties: serializeAws_restJson1DestinationConnectorProperties( + input.destinationConnectorProperties, + context + ), + }), + }; +}; + +const serializeAws_restJson1DestinationFlowConfigList = ( + input: DestinationFlowConfig[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1DestinationFlowConfig(entry, context)); +}; + +const serializeAws_restJson1DynatraceConnectorProfileCredentials = ( + input: DynatraceConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.apiToken !== undefined && { apiToken: input.apiToken }), + }; +}; + +const serializeAws_restJson1DynatraceConnectorProfileProperties = ( + input: DynatraceConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.instanceUrl !== undefined && { instanceUrl: input.instanceUrl }), + }; +}; + +const serializeAws_restJson1DynatraceSourceProperties = ( + input: DynatraceSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1ErrorHandlingConfig = (input: ErrorHandlingConfig, context: __SerdeContext): any => { + return { + ...(input.bucketName !== undefined && { bucketName: input.bucketName }), + ...(input.bucketPrefix !== undefined && { bucketPrefix: input.bucketPrefix }), + ...(input.failOnFirstDestinationError !== undefined && { + failOnFirstDestinationError: input.failOnFirstDestinationError, + }), + }; +}; + +const serializeAws_restJson1EventBridgeDestinationProperties = ( + input: EventBridgeDestinationProperties, + context: __SerdeContext +): any => { + return { + ...(input.errorHandlingConfig !== undefined && { + errorHandlingConfig: serializeAws_restJson1ErrorHandlingConfig(input.errorHandlingConfig, context), + }), + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1GoogleAnalyticsConnectorProfileCredentials = ( + input: GoogleAnalyticsConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.accessToken !== undefined && { accessToken: input.accessToken }), + ...(input.clientId !== undefined && { clientId: input.clientId }), + ...(input.clientSecret !== undefined && { clientSecret: input.clientSecret }), + ...(input.oAuthRequest !== undefined && { + oAuthRequest: serializeAws_restJson1ConnectorOAuthRequest(input.oAuthRequest, context), + }), + ...(input.refreshToken !== undefined && { refreshToken: input.refreshToken }), + }; +}; + +const serializeAws_restJson1GoogleAnalyticsConnectorProfileProperties = ( + input: GoogleAnalyticsConnectorProfileProperties, + context: __SerdeContext +): any => { + return {}; +}; + +const serializeAws_restJson1GoogleAnalyticsSourceProperties = ( + input: GoogleAnalyticsSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1InforNexusConnectorProfileCredentials = ( + input: InforNexusConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.accessKeyId !== undefined && { accessKeyId: input.accessKeyId }), + ...(input.datakey !== undefined && { datakey: input.datakey }), + ...(input.secretAccessKey !== undefined && { secretAccessKey: input.secretAccessKey }), + ...(input.userId !== undefined && { userId: input.userId }), + }; +}; + +const serializeAws_restJson1InforNexusConnectorProfileProperties = ( + input: InforNexusConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.instanceUrl !== undefined && { instanceUrl: input.instanceUrl }), + }; +}; + +const serializeAws_restJson1InforNexusSourceProperties = ( + input: InforNexusSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1MarketoConnectorProfileCredentials = ( + input: MarketoConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.accessToken !== undefined && { accessToken: input.accessToken }), + ...(input.clientId !== undefined && { clientId: input.clientId }), + ...(input.clientSecret !== undefined && { clientSecret: input.clientSecret }), + ...(input.oAuthRequest !== undefined && { + oAuthRequest: serializeAws_restJson1ConnectorOAuthRequest(input.oAuthRequest, context), + }), + }; +}; + +const serializeAws_restJson1MarketoConnectorProfileProperties = ( + input: MarketoConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.instanceUrl !== undefined && { instanceUrl: input.instanceUrl }), + }; +}; + +const serializeAws_restJson1MarketoSourceProperties = ( + input: MarketoSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1PrefixConfig = (input: PrefixConfig, context: __SerdeContext): any => { + return { + ...(input.prefixFormat !== undefined && { prefixFormat: input.prefixFormat }), + ...(input.prefixType !== undefined && { prefixType: input.prefixType }), + }; +}; + +const serializeAws_restJson1RedshiftConnectorProfileCredentials = ( + input: RedshiftConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.password !== undefined && { password: input.password }), + ...(input.username !== undefined && { username: input.username }), + }; +}; + +const serializeAws_restJson1RedshiftConnectorProfileProperties = ( + input: RedshiftConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.bucketName !== undefined && { bucketName: input.bucketName }), + ...(input.bucketPrefix !== undefined && { bucketPrefix: input.bucketPrefix }), + ...(input.databaseUrl !== undefined && { databaseUrl: input.databaseUrl }), + ...(input.roleArn !== undefined && { roleArn: input.roleArn }), + }; +}; + +const serializeAws_restJson1RedshiftDestinationProperties = ( + input: RedshiftDestinationProperties, + context: __SerdeContext +): any => { + return { + ...(input.bucketPrefix !== undefined && { bucketPrefix: input.bucketPrefix }), + ...(input.errorHandlingConfig !== undefined && { + errorHandlingConfig: serializeAws_restJson1ErrorHandlingConfig(input.errorHandlingConfig, context), + }), + ...(input.intermediateBucketName !== undefined && { intermediateBucketName: input.intermediateBucketName }), + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1S3DestinationProperties = ( + input: S3DestinationProperties, + context: __SerdeContext +): any => { + return { + ...(input.bucketName !== undefined && { bucketName: input.bucketName }), + ...(input.bucketPrefix !== undefined && { bucketPrefix: input.bucketPrefix }), + ...(input.s3OutputFormatConfig !== undefined && { + s3OutputFormatConfig: serializeAws_restJson1S3OutputFormatConfig(input.s3OutputFormatConfig, context), + }), + }; +}; + +const serializeAws_restJson1S3OutputFormatConfig = (input: S3OutputFormatConfig, context: __SerdeContext): any => { + return { + ...(input.aggregationConfig !== undefined && { + aggregationConfig: serializeAws_restJson1AggregationConfig(input.aggregationConfig, context), + }), + ...(input.fileType !== undefined && { fileType: input.fileType }), + ...(input.prefixConfig !== undefined && { + prefixConfig: serializeAws_restJson1PrefixConfig(input.prefixConfig, context), + }), + }; +}; + +const serializeAws_restJson1S3SourceProperties = (input: S3SourceProperties, context: __SerdeContext): any => { + return { + ...(input.bucketName !== undefined && { bucketName: input.bucketName }), + ...(input.bucketPrefix !== undefined && { bucketPrefix: input.bucketPrefix }), + }; +}; + +const serializeAws_restJson1SalesforceConnectorProfileCredentials = ( + input: SalesforceConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.accessToken !== undefined && { accessToken: input.accessToken }), + ...(input.oAuthRequest !== undefined && { + oAuthRequest: serializeAws_restJson1ConnectorOAuthRequest(input.oAuthRequest, context), + }), + ...(input.refreshToken !== undefined && { refreshToken: input.refreshToken }), + }; +}; + +const serializeAws_restJson1SalesforceConnectorProfileProperties = ( + input: SalesforceConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.instanceUrl !== undefined && { instanceUrl: input.instanceUrl }), + ...(input.isSandboxEnvironment !== undefined && { isSandboxEnvironment: input.isSandboxEnvironment }), + }; +}; + +const serializeAws_restJson1SalesforceDestinationProperties = ( + input: SalesforceDestinationProperties, + context: __SerdeContext +): any => { + return { + ...(input.errorHandlingConfig !== undefined && { + errorHandlingConfig: serializeAws_restJson1ErrorHandlingConfig(input.errorHandlingConfig, context), + }), + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1SalesforceSourceProperties = ( + input: SalesforceSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.enableDynamicFieldUpdate !== undefined && { enableDynamicFieldUpdate: input.enableDynamicFieldUpdate }), + ...(input.includeDeletedRecords !== undefined && { includeDeletedRecords: input.includeDeletedRecords }), + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1ScheduledTriggerProperties = ( + input: ScheduledTriggerProperties, + context: __SerdeContext +): any => { + return { + ...(input.dataPullMode !== undefined && { dataPullMode: input.dataPullMode }), + ...(input.scheduleEndTime !== undefined && { scheduleEndTime: Math.round(input.scheduleEndTime.getTime() / 1000) }), + ...(input.scheduleExpression !== undefined && { scheduleExpression: input.scheduleExpression }), + ...(input.scheduleStartTime !== undefined && { + scheduleStartTime: Math.round(input.scheduleStartTime.getTime() / 1000), + }), + ...(input.timezone !== undefined && { timezone: input.timezone }), + }; +}; + +const serializeAws_restJson1ServiceNowConnectorProfileCredentials = ( + input: ServiceNowConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.password !== undefined && { password: input.password }), + ...(input.username !== undefined && { username: input.username }), + }; +}; + +const serializeAws_restJson1ServiceNowConnectorProfileProperties = ( + input: ServiceNowConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.instanceUrl !== undefined && { instanceUrl: input.instanceUrl }), + }; +}; + +const serializeAws_restJson1ServiceNowSourceProperties = ( + input: ServiceNowSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1SingularConnectorProfileCredentials = ( + input: SingularConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.apiKey !== undefined && { apiKey: input.apiKey }), + }; +}; + +const serializeAws_restJson1SingularConnectorProfileProperties = ( + input: SingularConnectorProfileProperties, + context: __SerdeContext +): any => { + return {}; +}; + +const serializeAws_restJson1SingularSourceProperties = ( + input: SingularSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1SlackConnectorProfileCredentials = ( + input: SlackConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.accessToken !== undefined && { accessToken: input.accessToken }), + ...(input.clientId !== undefined && { clientId: input.clientId }), + ...(input.clientSecret !== undefined && { clientSecret: input.clientSecret }), + ...(input.oAuthRequest !== undefined && { + oAuthRequest: serializeAws_restJson1ConnectorOAuthRequest(input.oAuthRequest, context), + }), + }; +}; + +const serializeAws_restJson1SlackConnectorProfileProperties = ( + input: SlackConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.instanceUrl !== undefined && { instanceUrl: input.instanceUrl }), + }; +}; + +const serializeAws_restJson1SlackSourceProperties = (input: SlackSourceProperties, context: __SerdeContext): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1SnowflakeConnectorProfileCredentials = ( + input: SnowflakeConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.password !== undefined && { password: input.password }), + ...(input.username !== undefined && { username: input.username }), + }; +}; + +const serializeAws_restJson1SnowflakeConnectorProfileProperties = ( + input: SnowflakeConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.accountName !== undefined && { accountName: input.accountName }), + ...(input.bucketName !== undefined && { bucketName: input.bucketName }), + ...(input.bucketPrefix !== undefined && { bucketPrefix: input.bucketPrefix }), + ...(input.privateLinkServiceName !== undefined && { privateLinkServiceName: input.privateLinkServiceName }), + ...(input.region !== undefined && { region: input.region }), + ...(input.stage !== undefined && { stage: input.stage }), + ...(input.warehouse !== undefined && { warehouse: input.warehouse }), + }; +}; + +const serializeAws_restJson1SnowflakeDestinationProperties = ( + input: SnowflakeDestinationProperties, + context: __SerdeContext +): any => { + return { + ...(input.bucketPrefix !== undefined && { bucketPrefix: input.bucketPrefix }), + ...(input.errorHandlingConfig !== undefined && { + errorHandlingConfig: serializeAws_restJson1ErrorHandlingConfig(input.errorHandlingConfig, context), + }), + ...(input.intermediateBucketName !== undefined && { intermediateBucketName: input.intermediateBucketName }), + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1SourceConnectorProperties = ( + input: SourceConnectorProperties, + context: __SerdeContext +): any => { + return { + ...(input.Amplitude !== undefined && { + Amplitude: serializeAws_restJson1AmplitudeSourceProperties(input.Amplitude, context), + }), + ...(input.Datadog !== undefined && { + Datadog: serializeAws_restJson1DatadogSourceProperties(input.Datadog, context), + }), + ...(input.Dynatrace !== undefined && { + Dynatrace: serializeAws_restJson1DynatraceSourceProperties(input.Dynatrace, context), + }), + ...(input.GoogleAnalytics !== undefined && { + GoogleAnalytics: serializeAws_restJson1GoogleAnalyticsSourceProperties(input.GoogleAnalytics, context), + }), + ...(input.InforNexus !== undefined && { + InforNexus: serializeAws_restJson1InforNexusSourceProperties(input.InforNexus, context), + }), + ...(input.Marketo !== undefined && { + Marketo: serializeAws_restJson1MarketoSourceProperties(input.Marketo, context), + }), + ...(input.S3 !== undefined && { S3: serializeAws_restJson1S3SourceProperties(input.S3, context) }), + ...(input.Salesforce !== undefined && { + Salesforce: serializeAws_restJson1SalesforceSourceProperties(input.Salesforce, context), + }), + ...(input.ServiceNow !== undefined && { + ServiceNow: serializeAws_restJson1ServiceNowSourceProperties(input.ServiceNow, context), + }), + ...(input.Singular !== undefined && { + Singular: serializeAws_restJson1SingularSourceProperties(input.Singular, context), + }), + ...(input.Slack !== undefined && { Slack: serializeAws_restJson1SlackSourceProperties(input.Slack, context) }), + ...(input.Trendmicro !== undefined && { + Trendmicro: serializeAws_restJson1TrendmicroSourceProperties(input.Trendmicro, context), + }), + ...(input.Veeva !== undefined && { Veeva: serializeAws_restJson1VeevaSourceProperties(input.Veeva, context) }), + ...(input.Zendesk !== undefined && { + Zendesk: serializeAws_restJson1ZendeskSourceProperties(input.Zendesk, context), + }), + }; +}; + +const serializeAws_restJson1SourceFields = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1SourceFlowConfig = (input: SourceFlowConfig, context: __SerdeContext): any => { + return { + ...(input.connectorProfileName !== undefined && { connectorProfileName: input.connectorProfileName }), + ...(input.connectorType !== undefined && { connectorType: input.connectorType }), + ...(input.sourceConnectorProperties !== undefined && { + sourceConnectorProperties: serializeAws_restJson1SourceConnectorProperties( + input.sourceConnectorProperties, + context + ), + }), + }; +}; + +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_restJson1Task = (input: Task, context: __SerdeContext): any => { + return { + ...(input.connectorOperator !== undefined && { + connectorOperator: serializeAws_restJson1ConnectorOperator(input.connectorOperator, context), + }), + ...(input.destinationField !== undefined && { destinationField: input.destinationField }), + ...(input.sourceFields !== undefined && { + sourceFields: serializeAws_restJson1SourceFields(input.sourceFields, context), + }), + ...(input.taskProperties !== undefined && { + taskProperties: serializeAws_restJson1TaskPropertiesMap(input.taskProperties, context), + }), + ...(input.taskType !== undefined && { taskType: input.taskType }), + }; +}; + +const serializeAws_restJson1TaskPropertiesMap = (input: { [key: string]: string }, context: __SerdeContext): any => { + return Object.entries(input).reduce( + (acc: { [key: string]: string }, [key, value]: [OperatorPropertiesKeys | string, any]) => ({ + ...acc, + [key]: value, + }), + {} + ); +}; + +const serializeAws_restJson1Tasks = (input: Task[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1Task(entry, context)); +}; + +const serializeAws_restJson1TrendmicroConnectorProfileCredentials = ( + input: TrendmicroConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.apiSecretKey !== undefined && { apiSecretKey: input.apiSecretKey }), + }; +}; + +const serializeAws_restJson1TrendmicroConnectorProfileProperties = ( + input: TrendmicroConnectorProfileProperties, + context: __SerdeContext +): any => { + return {}; +}; + +const serializeAws_restJson1TrendmicroSourceProperties = ( + input: TrendmicroSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1TriggerConfig = (input: TriggerConfig, context: __SerdeContext): any => { + return { + ...(input.triggerProperties !== undefined && { + triggerProperties: serializeAws_restJson1TriggerProperties(input.triggerProperties, context), + }), + ...(input.triggerType !== undefined && { triggerType: input.triggerType }), + }; +}; + +const serializeAws_restJson1TriggerProperties = (input: TriggerProperties, context: __SerdeContext): any => { + return { + ...(input.Scheduled !== undefined && { + Scheduled: serializeAws_restJson1ScheduledTriggerProperties(input.Scheduled, context), + }), + }; +}; + +const serializeAws_restJson1VeevaConnectorProfileCredentials = ( + input: VeevaConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.password !== undefined && { password: input.password }), + ...(input.username !== undefined && { username: input.username }), + }; +}; + +const serializeAws_restJson1VeevaConnectorProfileProperties = ( + input: VeevaConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.instanceUrl !== undefined && { instanceUrl: input.instanceUrl }), + }; +}; + +const serializeAws_restJson1VeevaSourceProperties = (input: VeevaSourceProperties, context: __SerdeContext): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const serializeAws_restJson1ZendeskConnectorProfileCredentials = ( + input: ZendeskConnectorProfileCredentials, + context: __SerdeContext +): any => { + return { + ...(input.accessToken !== undefined && { accessToken: input.accessToken }), + ...(input.clientId !== undefined && { clientId: input.clientId }), + ...(input.clientSecret !== undefined && { clientSecret: input.clientSecret }), + ...(input.oAuthRequest !== undefined && { + oAuthRequest: serializeAws_restJson1ConnectorOAuthRequest(input.oAuthRequest, context), + }), + }; +}; + +const serializeAws_restJson1ZendeskConnectorProfileProperties = ( + input: ZendeskConnectorProfileProperties, + context: __SerdeContext +): any => { + return { + ...(input.instanceUrl !== undefined && { instanceUrl: input.instanceUrl }), + }; +}; + +const serializeAws_restJson1ZendeskSourceProperties = ( + input: ZendeskSourceProperties, + context: __SerdeContext +): any => { + return { + ...(input.object !== undefined && { object: input.object }), + }; +}; + +const deserializeAws_restJson1AggregationConfig = (output: any, context: __SerdeContext): AggregationConfig => { + return { + aggregationType: + output.aggregationType !== undefined && output.aggregationType !== null ? output.aggregationType : undefined, + } as any; +}; + +const deserializeAws_restJson1AmplitudeConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): AmplitudeConnectorProfileProperties => { + return {} as any; +}; + +const deserializeAws_restJson1AmplitudeMetadata = (output: any, context: __SerdeContext): AmplitudeMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1AmplitudeSourceProperties = ( + output: any, + context: __SerdeContext +): AmplitudeSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1ConnectorConfiguration = ( + output: any, + context: __SerdeContext +): ConnectorConfiguration => { + return { + canUseAsDestination: + output.canUseAsDestination !== undefined && output.canUseAsDestination !== null + ? output.canUseAsDestination + : undefined, + canUseAsSource: + output.canUseAsSource !== undefined && output.canUseAsSource !== null ? output.canUseAsSource : undefined, + connectorMetadata: + output.connectorMetadata !== undefined && output.connectorMetadata !== null + ? deserializeAws_restJson1ConnectorMetadata(output.connectorMetadata, context) + : undefined, + isPrivateLinkEnabled: + output.isPrivateLinkEnabled !== undefined && output.isPrivateLinkEnabled !== null + ? output.isPrivateLinkEnabled + : undefined, + isPrivateLinkEndpointUrlRequired: + output.isPrivateLinkEndpointUrlRequired !== undefined && output.isPrivateLinkEndpointUrlRequired !== null + ? output.isPrivateLinkEndpointUrlRequired + : undefined, + supportedDestinationConnectors: + output.supportedDestinationConnectors !== undefined && output.supportedDestinationConnectors !== null + ? deserializeAws_restJson1ConnectorTypeList(output.supportedDestinationConnectors, context) + : undefined, + supportedSchedulingFrequencies: + output.supportedSchedulingFrequencies !== undefined && output.supportedSchedulingFrequencies !== null + ? deserializeAws_restJson1SchedulingFrequencyTypeList(output.supportedSchedulingFrequencies, context) + : undefined, + supportedTriggerTypes: + output.supportedTriggerTypes !== undefined && output.supportedTriggerTypes !== null + ? deserializeAws_restJson1TriggerTypeList(output.supportedTriggerTypes, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ConnectorConfigurationsMap = ( + output: any, + context: __SerdeContext +): { [key: string]: ConnectorConfiguration } => { + return Object.entries(output).reduce( + (acc: { [key: string]: ConnectorConfiguration }, [key, value]: [ConnectorType | string, any]) => ({ + ...acc, + [key]: deserializeAws_restJson1ConnectorConfiguration(value, context), + }), + {} + ); +}; + +const deserializeAws_restJson1ConnectorEntity = (output: any, context: __SerdeContext): ConnectorEntity => { + return { + hasNestedEntities: + output.hasNestedEntities !== undefined && output.hasNestedEntities !== null + ? output.hasNestedEntities + : undefined, + label: output.label !== undefined && output.label !== null ? output.label : undefined, + name: output.name !== undefined && output.name !== null ? output.name : undefined, + } as any; +}; + +const deserializeAws_restJson1ConnectorEntityField = (output: any, context: __SerdeContext): ConnectorEntityField => { + return { + description: output.description !== undefined && output.description !== null ? output.description : undefined, + destinationProperties: + output.destinationProperties !== undefined && output.destinationProperties !== null + ? deserializeAws_restJson1DestinationFieldProperties(output.destinationProperties, context) + : undefined, + identifier: output.identifier !== undefined && output.identifier !== null ? output.identifier : undefined, + label: output.label !== undefined && output.label !== null ? output.label : undefined, + sourceProperties: + output.sourceProperties !== undefined && output.sourceProperties !== null + ? deserializeAws_restJson1SourceFieldProperties(output.sourceProperties, context) + : undefined, + supportedFieldTypeDetails: + output.supportedFieldTypeDetails !== undefined && output.supportedFieldTypeDetails !== null + ? deserializeAws_restJson1SupportedFieldTypeDetails(output.supportedFieldTypeDetails, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ConnectorEntityFieldList = ( + output: any, + context: __SerdeContext +): ConnectorEntityField[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ConnectorEntityField(entry, context)); +}; + +const deserializeAws_restJson1ConnectorEntityList = (output: any, context: __SerdeContext): ConnectorEntity[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ConnectorEntity(entry, context)); +}; + +const deserializeAws_restJson1ConnectorEntityMap = ( + output: any, + context: __SerdeContext +): { [key: string]: ConnectorEntity[] } => { + return Object.entries(output).reduce( + (acc: { [key: string]: ConnectorEntity[] }, [key, value]: [string, any]) => ({ + ...acc, + [key]: deserializeAws_restJson1ConnectorEntityList(value, context), + }), + {} + ); +}; + +const deserializeAws_restJson1ConnectorMetadata = (output: any, context: __SerdeContext): ConnectorMetadata => { + return { + Amplitude: + output.Amplitude !== undefined && output.Amplitude !== null + ? deserializeAws_restJson1AmplitudeMetadata(output.Amplitude, context) + : undefined, + Datadog: + output.Datadog !== undefined && output.Datadog !== null + ? deserializeAws_restJson1DatadogMetadata(output.Datadog, context) + : undefined, + Dynatrace: + output.Dynatrace !== undefined && output.Dynatrace !== null + ? deserializeAws_restJson1DynatraceMetadata(output.Dynatrace, context) + : undefined, + EventBridge: + output.EventBridge !== undefined && output.EventBridge !== null + ? deserializeAws_restJson1EventBridgeMetadata(output.EventBridge, context) + : undefined, + GoogleAnalytics: + output.GoogleAnalytics !== undefined && output.GoogleAnalytics !== null + ? deserializeAws_restJson1GoogleAnalyticsMetadata(output.GoogleAnalytics, context) + : undefined, + InforNexus: + output.InforNexus !== undefined && output.InforNexus !== null + ? deserializeAws_restJson1InforNexusMetadata(output.InforNexus, context) + : undefined, + Marketo: + output.Marketo !== undefined && output.Marketo !== null + ? deserializeAws_restJson1MarketoMetadata(output.Marketo, context) + : undefined, + Redshift: + output.Redshift !== undefined && output.Redshift !== null + ? deserializeAws_restJson1RedshiftMetadata(output.Redshift, context) + : undefined, + S3: + output.S3 !== undefined && output.S3 !== null + ? deserializeAws_restJson1S3Metadata(output.S3, context) + : undefined, + Salesforce: + output.Salesforce !== undefined && output.Salesforce !== null + ? deserializeAws_restJson1SalesforceMetadata(output.Salesforce, context) + : undefined, + ServiceNow: + output.ServiceNow !== undefined && output.ServiceNow !== null + ? deserializeAws_restJson1ServiceNowMetadata(output.ServiceNow, context) + : undefined, + Singular: + output.Singular !== undefined && output.Singular !== null + ? deserializeAws_restJson1SingularMetadata(output.Singular, context) + : undefined, + Slack: + output.Slack !== undefined && output.Slack !== null + ? deserializeAws_restJson1SlackMetadata(output.Slack, context) + : undefined, + Snowflake: + output.Snowflake !== undefined && output.Snowflake !== null + ? deserializeAws_restJson1SnowflakeMetadata(output.Snowflake, context) + : undefined, + Trendmicro: + output.Trendmicro !== undefined && output.Trendmicro !== null + ? deserializeAws_restJson1TrendmicroMetadata(output.Trendmicro, context) + : undefined, + Veeva: + output.Veeva !== undefined && output.Veeva !== null + ? deserializeAws_restJson1VeevaMetadata(output.Veeva, context) + : undefined, + Zendesk: + output.Zendesk !== undefined && output.Zendesk !== null + ? deserializeAws_restJson1ZendeskMetadata(output.Zendesk, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ConnectorOperator = (output: any, context: __SerdeContext): ConnectorOperator => { + return { + Amplitude: output.Amplitude !== undefined && output.Amplitude !== null ? output.Amplitude : undefined, + Datadog: output.Datadog !== undefined && output.Datadog !== null ? output.Datadog : undefined, + Dynatrace: output.Dynatrace !== undefined && output.Dynatrace !== null ? output.Dynatrace : undefined, + GoogleAnalytics: + output.GoogleAnalytics !== undefined && output.GoogleAnalytics !== null ? output.GoogleAnalytics : undefined, + InforNexus: output.InforNexus !== undefined && output.InforNexus !== null ? output.InforNexus : undefined, + Marketo: output.Marketo !== undefined && output.Marketo !== null ? output.Marketo : undefined, + S3: output.S3 !== undefined && output.S3 !== null ? output.S3 : undefined, + Salesforce: output.Salesforce !== undefined && output.Salesforce !== null ? output.Salesforce : undefined, + ServiceNow: output.ServiceNow !== undefined && output.ServiceNow !== null ? output.ServiceNow : undefined, + Singular: output.Singular !== undefined && output.Singular !== null ? output.Singular : undefined, + Slack: output.Slack !== undefined && output.Slack !== null ? output.Slack : undefined, + Trendmicro: output.Trendmicro !== undefined && output.Trendmicro !== null ? output.Trendmicro : undefined, + Veeva: output.Veeva !== undefined && output.Veeva !== null ? output.Veeva : undefined, + Zendesk: output.Zendesk !== undefined && output.Zendesk !== null ? output.Zendesk : undefined, + } as any; +}; + +const deserializeAws_restJson1ConnectorProfile = (output: any, context: __SerdeContext): ConnectorProfile => { + return { + connectionMode: + output.connectionMode !== undefined && output.connectionMode !== null ? output.connectionMode : undefined, + connectorProfileArn: + output.connectorProfileArn !== undefined && output.connectorProfileArn !== null + ? output.connectorProfileArn + : undefined, + connectorProfileName: + output.connectorProfileName !== undefined && output.connectorProfileName !== null + ? output.connectorProfileName + : undefined, + connectorProfileProperties: + output.connectorProfileProperties !== undefined && output.connectorProfileProperties !== null + ? deserializeAws_restJson1ConnectorProfileProperties(output.connectorProfileProperties, context) + : undefined, + connectorType: + output.connectorType !== undefined && output.connectorType !== null ? output.connectorType : undefined, + createdAt: + output.createdAt !== undefined && output.createdAt !== null + ? new Date(Math.round(output.createdAt * 1000)) + : undefined, + credentialsArn: + output.credentialsArn !== undefined && output.credentialsArn !== null ? output.credentialsArn : undefined, + lastUpdatedAt: + output.lastUpdatedAt !== undefined && output.lastUpdatedAt !== null + ? new Date(Math.round(output.lastUpdatedAt * 1000)) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ConnectorProfileDetailList = ( + output: any, + context: __SerdeContext +): ConnectorProfile[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ConnectorProfile(entry, context)); +}; + +const deserializeAws_restJson1ConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): ConnectorProfileProperties => { + return { + Amplitude: + output.Amplitude !== undefined && output.Amplitude !== null + ? deserializeAws_restJson1AmplitudeConnectorProfileProperties(output.Amplitude, context) + : undefined, + Datadog: + output.Datadog !== undefined && output.Datadog !== null + ? deserializeAws_restJson1DatadogConnectorProfileProperties(output.Datadog, context) + : undefined, + Dynatrace: + output.Dynatrace !== undefined && output.Dynatrace !== null + ? deserializeAws_restJson1DynatraceConnectorProfileProperties(output.Dynatrace, context) + : undefined, + GoogleAnalytics: + output.GoogleAnalytics !== undefined && output.GoogleAnalytics !== null + ? deserializeAws_restJson1GoogleAnalyticsConnectorProfileProperties(output.GoogleAnalytics, context) + : undefined, + InforNexus: + output.InforNexus !== undefined && output.InforNexus !== null + ? deserializeAws_restJson1InforNexusConnectorProfileProperties(output.InforNexus, context) + : undefined, + Marketo: + output.Marketo !== undefined && output.Marketo !== null + ? deserializeAws_restJson1MarketoConnectorProfileProperties(output.Marketo, context) + : undefined, + Redshift: + output.Redshift !== undefined && output.Redshift !== null + ? deserializeAws_restJson1RedshiftConnectorProfileProperties(output.Redshift, context) + : undefined, + Salesforce: + output.Salesforce !== undefined && output.Salesforce !== null + ? deserializeAws_restJson1SalesforceConnectorProfileProperties(output.Salesforce, context) + : undefined, + ServiceNow: + output.ServiceNow !== undefined && output.ServiceNow !== null + ? deserializeAws_restJson1ServiceNowConnectorProfileProperties(output.ServiceNow, context) + : undefined, + Singular: + output.Singular !== undefined && output.Singular !== null + ? deserializeAws_restJson1SingularConnectorProfileProperties(output.Singular, context) + : undefined, + Slack: + output.Slack !== undefined && output.Slack !== null + ? deserializeAws_restJson1SlackConnectorProfileProperties(output.Slack, context) + : undefined, + Snowflake: + output.Snowflake !== undefined && output.Snowflake !== null + ? deserializeAws_restJson1SnowflakeConnectorProfileProperties(output.Snowflake, context) + : undefined, + Trendmicro: + output.Trendmicro !== undefined && output.Trendmicro !== null + ? deserializeAws_restJson1TrendmicroConnectorProfileProperties(output.Trendmicro, context) + : undefined, + Veeva: + output.Veeva !== undefined && output.Veeva !== null + ? deserializeAws_restJson1VeevaConnectorProfileProperties(output.Veeva, context) + : undefined, + Zendesk: + output.Zendesk !== undefined && output.Zendesk !== null + ? deserializeAws_restJson1ZendeskConnectorProfileProperties(output.Zendesk, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ConnectorTypeList = ( + output: any, + context: __SerdeContext +): (ConnectorType | string)[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_restJson1DatadogConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): DatadogConnectorProfileProperties => { + return { + instanceUrl: output.instanceUrl !== undefined && output.instanceUrl !== null ? output.instanceUrl : undefined, + } as any; +}; + +const deserializeAws_restJson1DatadogMetadata = (output: any, context: __SerdeContext): DatadogMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1DatadogSourceProperties = ( + output: any, + context: __SerdeContext +): DatadogSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1DestinationConnectorProperties = ( + output: any, + context: __SerdeContext +): DestinationConnectorProperties => { + return { + EventBridge: + output.EventBridge !== undefined && output.EventBridge !== null + ? deserializeAws_restJson1EventBridgeDestinationProperties(output.EventBridge, context) + : undefined, + Redshift: + output.Redshift !== undefined && output.Redshift !== null + ? deserializeAws_restJson1RedshiftDestinationProperties(output.Redshift, context) + : undefined, + S3: + output.S3 !== undefined && output.S3 !== null + ? deserializeAws_restJson1S3DestinationProperties(output.S3, context) + : undefined, + Salesforce: + output.Salesforce !== undefined && output.Salesforce !== null + ? deserializeAws_restJson1SalesforceDestinationProperties(output.Salesforce, context) + : undefined, + Snowflake: + output.Snowflake !== undefined && output.Snowflake !== null + ? deserializeAws_restJson1SnowflakeDestinationProperties(output.Snowflake, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1DestinationFieldProperties = ( + output: any, + context: __SerdeContext +): DestinationFieldProperties => { + return { + isCreatable: output.isCreatable !== undefined && output.isCreatable !== null ? output.isCreatable : undefined, + isNullable: output.isNullable !== undefined && output.isNullable !== null ? output.isNullable : undefined, + isUpsertable: output.isUpsertable !== undefined && output.isUpsertable !== null ? output.isUpsertable : undefined, + } as any; +}; + +const deserializeAws_restJson1DestinationFlowConfig = (output: any, context: __SerdeContext): DestinationFlowConfig => { + return { + connectorProfileName: + output.connectorProfileName !== undefined && output.connectorProfileName !== null + ? output.connectorProfileName + : undefined, + connectorType: + output.connectorType !== undefined && output.connectorType !== null ? output.connectorType : undefined, + destinationConnectorProperties: + output.destinationConnectorProperties !== undefined && output.destinationConnectorProperties !== null + ? deserializeAws_restJson1DestinationConnectorProperties(output.destinationConnectorProperties, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1DestinationFlowConfigList = ( + output: any, + context: __SerdeContext +): DestinationFlowConfig[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1DestinationFlowConfig(entry, context)); +}; + +const deserializeAws_restJson1DynatraceConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): DynatraceConnectorProfileProperties => { + return { + instanceUrl: output.instanceUrl !== undefined && output.instanceUrl !== null ? output.instanceUrl : undefined, + } as any; +}; + +const deserializeAws_restJson1DynatraceMetadata = (output: any, context: __SerdeContext): DynatraceMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1DynatraceSourceProperties = ( + output: any, + context: __SerdeContext +): DynatraceSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1ErrorHandlingConfig = (output: any, context: __SerdeContext): ErrorHandlingConfig => { + return { + bucketName: output.bucketName !== undefined && output.bucketName !== null ? output.bucketName : undefined, + bucketPrefix: output.bucketPrefix !== undefined && output.bucketPrefix !== null ? output.bucketPrefix : undefined, + failOnFirstDestinationError: + output.failOnFirstDestinationError !== undefined && output.failOnFirstDestinationError !== null + ? output.failOnFirstDestinationError + : undefined, + } as any; +}; + +const deserializeAws_restJson1ErrorInfo = (output: any, context: __SerdeContext): ErrorInfo => { + return { + executionMessage: + output.executionMessage !== undefined && output.executionMessage !== null ? output.executionMessage : undefined, + putFailuresCount: + output.putFailuresCount !== undefined && output.putFailuresCount !== null ? output.putFailuresCount : undefined, + } as any; +}; + +const deserializeAws_restJson1EventBridgeDestinationProperties = ( + output: any, + context: __SerdeContext +): EventBridgeDestinationProperties => { + return { + errorHandlingConfig: + output.errorHandlingConfig !== undefined && output.errorHandlingConfig !== null + ? deserializeAws_restJson1ErrorHandlingConfig(output.errorHandlingConfig, context) + : undefined, + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1EventBridgeMetadata = (output: any, context: __SerdeContext): EventBridgeMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1ExecutionDetails = (output: any, context: __SerdeContext): ExecutionDetails => { + return { + mostRecentExecutionMessage: + output.mostRecentExecutionMessage !== undefined && output.mostRecentExecutionMessage !== null + ? output.mostRecentExecutionMessage + : undefined, + mostRecentExecutionStatus: + output.mostRecentExecutionStatus !== undefined && output.mostRecentExecutionStatus !== null + ? output.mostRecentExecutionStatus + : undefined, + mostRecentExecutionTime: + output.mostRecentExecutionTime !== undefined && output.mostRecentExecutionTime !== null + ? new Date(Math.round(output.mostRecentExecutionTime * 1000)) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ExecutionRecord = (output: any, context: __SerdeContext): ExecutionRecord => { + return { + executionId: output.executionId !== undefined && output.executionId !== null ? output.executionId : undefined, + executionResult: + output.executionResult !== undefined && output.executionResult !== null + ? deserializeAws_restJson1ExecutionResult(output.executionResult, context) + : undefined, + executionStatus: + output.executionStatus !== undefined && output.executionStatus !== null ? output.executionStatus : undefined, + lastUpdatedAt: + output.lastUpdatedAt !== undefined && output.lastUpdatedAt !== null + ? new Date(Math.round(output.lastUpdatedAt * 1000)) + : undefined, + startedAt: + output.startedAt !== undefined && output.startedAt !== null + ? new Date(Math.round(output.startedAt * 1000)) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ExecutionResult = (output: any, context: __SerdeContext): ExecutionResult => { + return { + bytesProcessed: + output.bytesProcessed !== undefined && output.bytesProcessed !== null ? output.bytesProcessed : undefined, + bytesWritten: output.bytesWritten !== undefined && output.bytesWritten !== null ? output.bytesWritten : undefined, + errorInfo: + output.errorInfo !== undefined && output.errorInfo !== null + ? deserializeAws_restJson1ErrorInfo(output.errorInfo, context) + : undefined, + recordsProcessed: + output.recordsProcessed !== undefined && output.recordsProcessed !== null ? output.recordsProcessed : undefined, + } as any; +}; + +const deserializeAws_restJson1FieldTypeDetails = (output: any, context: __SerdeContext): FieldTypeDetails => { + return { + fieldType: output.fieldType !== undefined && output.fieldType !== null ? output.fieldType : undefined, + filterOperators: + output.filterOperators !== undefined && output.filterOperators !== null + ? deserializeAws_restJson1FilterOperatorList(output.filterOperators, context) + : undefined, + supportedValues: + output.supportedValues !== undefined && output.supportedValues !== null + ? deserializeAws_restJson1SupportedValueList(output.supportedValues, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1FilterOperatorList = (output: any, context: __SerdeContext): (Operator | string)[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_restJson1FlowDefinition = (output: any, context: __SerdeContext): FlowDefinition => { + return { + createdAt: + output.createdAt !== undefined && output.createdAt !== null + ? new Date(Math.round(output.createdAt * 1000)) + : undefined, + createdBy: output.createdBy !== undefined && output.createdBy !== null ? output.createdBy : undefined, + description: output.description !== undefined && output.description !== null ? output.description : undefined, + destinationConnectorType: + output.destinationConnectorType !== undefined && output.destinationConnectorType !== null + ? output.destinationConnectorType + : undefined, + flowArn: output.flowArn !== undefined && output.flowArn !== null ? output.flowArn : undefined, + flowName: output.flowName !== undefined && output.flowName !== null ? output.flowName : undefined, + flowStatus: output.flowStatus !== undefined && output.flowStatus !== null ? output.flowStatus : undefined, + lastRunExecutionDetails: + output.lastRunExecutionDetails !== undefined && output.lastRunExecutionDetails !== null + ? deserializeAws_restJson1ExecutionDetails(output.lastRunExecutionDetails, context) + : undefined, + lastUpdatedAt: + output.lastUpdatedAt !== undefined && output.lastUpdatedAt !== null + ? new Date(Math.round(output.lastUpdatedAt * 1000)) + : undefined, + lastUpdatedBy: + output.lastUpdatedBy !== undefined && output.lastUpdatedBy !== null ? output.lastUpdatedBy : undefined, + sourceConnectorType: + output.sourceConnectorType !== undefined && output.sourceConnectorType !== null + ? output.sourceConnectorType + : undefined, + tags: + output.tags !== undefined && output.tags !== null + ? deserializeAws_restJson1TagMap(output.tags, context) + : undefined, + triggerType: output.triggerType !== undefined && output.triggerType !== null ? output.triggerType : undefined, + } as any; +}; + +const deserializeAws_restJson1FlowExecutionList = (output: any, context: __SerdeContext): ExecutionRecord[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ExecutionRecord(entry, context)); +}; + +const deserializeAws_restJson1FlowList = (output: any, context: __SerdeContext): FlowDefinition[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1FlowDefinition(entry, context)); +}; + +const deserializeAws_restJson1GoogleAnalyticsConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): GoogleAnalyticsConnectorProfileProperties => { + return {} as any; +}; + +const deserializeAws_restJson1GoogleAnalyticsMetadata = ( + output: any, + context: __SerdeContext +): GoogleAnalyticsMetadata => { + return { + oAuthScopes: + output.oAuthScopes !== undefined && output.oAuthScopes !== null + ? deserializeAws_restJson1OAuthScopeList(output.oAuthScopes, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1GoogleAnalyticsSourceProperties = ( + output: any, + context: __SerdeContext +): GoogleAnalyticsSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1InforNexusConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): InforNexusConnectorProfileProperties => { + return { + instanceUrl: output.instanceUrl !== undefined && output.instanceUrl !== null ? output.instanceUrl : undefined, + } as any; +}; + +const deserializeAws_restJson1InforNexusMetadata = (output: any, context: __SerdeContext): InforNexusMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1InforNexusSourceProperties = ( + output: any, + context: __SerdeContext +): InforNexusSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1MarketoConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): MarketoConnectorProfileProperties => { + return { + instanceUrl: output.instanceUrl !== undefined && output.instanceUrl !== null ? output.instanceUrl : undefined, + } as any; +}; + +const deserializeAws_restJson1MarketoMetadata = (output: any, context: __SerdeContext): MarketoMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1MarketoSourceProperties = ( + output: any, + context: __SerdeContext +): MarketoSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1OAuthScopeList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_restJson1PrefixConfig = (output: any, context: __SerdeContext): PrefixConfig => { + return { + prefixFormat: output.prefixFormat !== undefined && output.prefixFormat !== null ? output.prefixFormat : undefined, + prefixType: output.prefixType !== undefined && output.prefixType !== null ? output.prefixType : undefined, + } as any; +}; + +const deserializeAws_restJson1RedshiftConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): RedshiftConnectorProfileProperties => { + return { + bucketName: output.bucketName !== undefined && output.bucketName !== null ? output.bucketName : undefined, + bucketPrefix: output.bucketPrefix !== undefined && output.bucketPrefix !== null ? output.bucketPrefix : undefined, + databaseUrl: output.databaseUrl !== undefined && output.databaseUrl !== null ? output.databaseUrl : undefined, + roleArn: output.roleArn !== undefined && output.roleArn !== null ? output.roleArn : undefined, + } as any; +}; + +const deserializeAws_restJson1RedshiftDestinationProperties = ( + output: any, + context: __SerdeContext +): RedshiftDestinationProperties => { + return { + bucketPrefix: output.bucketPrefix !== undefined && output.bucketPrefix !== null ? output.bucketPrefix : undefined, + errorHandlingConfig: + output.errorHandlingConfig !== undefined && output.errorHandlingConfig !== null + ? deserializeAws_restJson1ErrorHandlingConfig(output.errorHandlingConfig, context) + : undefined, + intermediateBucketName: + output.intermediateBucketName !== undefined && output.intermediateBucketName !== null + ? output.intermediateBucketName + : undefined, + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1RedshiftMetadata = (output: any, context: __SerdeContext): RedshiftMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1RegionList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_restJson1S3DestinationProperties = ( + output: any, + context: __SerdeContext +): S3DestinationProperties => { + return { + bucketName: output.bucketName !== undefined && output.bucketName !== null ? output.bucketName : undefined, + bucketPrefix: output.bucketPrefix !== undefined && output.bucketPrefix !== null ? output.bucketPrefix : undefined, + s3OutputFormatConfig: + output.s3OutputFormatConfig !== undefined && output.s3OutputFormatConfig !== null + ? deserializeAws_restJson1S3OutputFormatConfig(output.s3OutputFormatConfig, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1S3Metadata = (output: any, context: __SerdeContext): S3Metadata => { + return {} as any; +}; + +const deserializeAws_restJson1S3OutputFormatConfig = (output: any, context: __SerdeContext): S3OutputFormatConfig => { + return { + aggregationConfig: + output.aggregationConfig !== undefined && output.aggregationConfig !== null + ? deserializeAws_restJson1AggregationConfig(output.aggregationConfig, context) + : undefined, + fileType: output.fileType !== undefined && output.fileType !== null ? output.fileType : undefined, + prefixConfig: + output.prefixConfig !== undefined && output.prefixConfig !== null + ? deserializeAws_restJson1PrefixConfig(output.prefixConfig, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1S3SourceProperties = (output: any, context: __SerdeContext): S3SourceProperties => { + return { + bucketName: output.bucketName !== undefined && output.bucketName !== null ? output.bucketName : undefined, + bucketPrefix: output.bucketPrefix !== undefined && output.bucketPrefix !== null ? output.bucketPrefix : undefined, + } as any; +}; + +const deserializeAws_restJson1SalesforceConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): SalesforceConnectorProfileProperties => { + return { + instanceUrl: output.instanceUrl !== undefined && output.instanceUrl !== null ? output.instanceUrl : undefined, + isSandboxEnvironment: + output.isSandboxEnvironment !== undefined && output.isSandboxEnvironment !== null + ? output.isSandboxEnvironment + : undefined, + } as any; +}; + +const deserializeAws_restJson1SalesforceDestinationProperties = ( + output: any, + context: __SerdeContext +): SalesforceDestinationProperties => { + return { + errorHandlingConfig: + output.errorHandlingConfig !== undefined && output.errorHandlingConfig !== null + ? deserializeAws_restJson1ErrorHandlingConfig(output.errorHandlingConfig, context) + : undefined, + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1SalesforceMetadata = (output: any, context: __SerdeContext): SalesforceMetadata => { + return { + oAuthScopes: + output.oAuthScopes !== undefined && output.oAuthScopes !== null + ? deserializeAws_restJson1OAuthScopeList(output.oAuthScopes, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1SalesforceSourceProperties = ( + output: any, + context: __SerdeContext +): SalesforceSourceProperties => { + return { + enableDynamicFieldUpdate: + output.enableDynamicFieldUpdate !== undefined && output.enableDynamicFieldUpdate !== null + ? output.enableDynamicFieldUpdate + : undefined, + includeDeletedRecords: + output.includeDeletedRecords !== undefined && output.includeDeletedRecords !== null + ? output.includeDeletedRecords + : undefined, + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1ScheduledTriggerProperties = ( + output: any, + context: __SerdeContext +): ScheduledTriggerProperties => { + return { + dataPullMode: output.dataPullMode !== undefined && output.dataPullMode !== null ? output.dataPullMode : undefined, + scheduleEndTime: + output.scheduleEndTime !== undefined && output.scheduleEndTime !== null + ? new Date(Math.round(output.scheduleEndTime * 1000)) + : undefined, + scheduleExpression: + output.scheduleExpression !== undefined && output.scheduleExpression !== null + ? output.scheduleExpression + : undefined, + scheduleStartTime: + output.scheduleStartTime !== undefined && output.scheduleStartTime !== null + ? new Date(Math.round(output.scheduleStartTime * 1000)) + : undefined, + timezone: output.timezone !== undefined && output.timezone !== null ? output.timezone : undefined, + } as any; +}; + +const deserializeAws_restJson1SchedulingFrequencyTypeList = ( + output: any, + context: __SerdeContext +): (ScheduleFrequencyType | string)[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_restJson1ServiceNowConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): ServiceNowConnectorProfileProperties => { + return { + instanceUrl: output.instanceUrl !== undefined && output.instanceUrl !== null ? output.instanceUrl : undefined, + } as any; +}; + +const deserializeAws_restJson1ServiceNowMetadata = (output: any, context: __SerdeContext): ServiceNowMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1ServiceNowSourceProperties = ( + output: any, + context: __SerdeContext +): ServiceNowSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1SingularConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): SingularConnectorProfileProperties => { + return {} as any; +}; + +const deserializeAws_restJson1SingularMetadata = (output: any, context: __SerdeContext): SingularMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1SingularSourceProperties = ( + output: any, + context: __SerdeContext +): SingularSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1SlackConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): SlackConnectorProfileProperties => { + return { + instanceUrl: output.instanceUrl !== undefined && output.instanceUrl !== null ? output.instanceUrl : undefined, + } as any; +}; + +const deserializeAws_restJson1SlackMetadata = (output: any, context: __SerdeContext): SlackMetadata => { + return { + oAuthScopes: + output.oAuthScopes !== undefined && output.oAuthScopes !== null + ? deserializeAws_restJson1OAuthScopeList(output.oAuthScopes, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1SlackSourceProperties = (output: any, context: __SerdeContext): SlackSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1SnowflakeConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): SnowflakeConnectorProfileProperties => { + return { + accountName: output.accountName !== undefined && output.accountName !== null ? output.accountName : undefined, + bucketName: output.bucketName !== undefined && output.bucketName !== null ? output.bucketName : undefined, + bucketPrefix: output.bucketPrefix !== undefined && output.bucketPrefix !== null ? output.bucketPrefix : undefined, + privateLinkServiceName: + output.privateLinkServiceName !== undefined && output.privateLinkServiceName !== null + ? output.privateLinkServiceName + : undefined, + region: output.region !== undefined && output.region !== null ? output.region : undefined, + stage: output.stage !== undefined && output.stage !== null ? output.stage : undefined, + warehouse: output.warehouse !== undefined && output.warehouse !== null ? output.warehouse : undefined, + } as any; +}; + +const deserializeAws_restJson1SnowflakeDestinationProperties = ( + output: any, + context: __SerdeContext +): SnowflakeDestinationProperties => { + return { + bucketPrefix: output.bucketPrefix !== undefined && output.bucketPrefix !== null ? output.bucketPrefix : undefined, + errorHandlingConfig: + output.errorHandlingConfig !== undefined && output.errorHandlingConfig !== null + ? deserializeAws_restJson1ErrorHandlingConfig(output.errorHandlingConfig, context) + : undefined, + intermediateBucketName: + output.intermediateBucketName !== undefined && output.intermediateBucketName !== null + ? output.intermediateBucketName + : undefined, + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1SnowflakeMetadata = (output: any, context: __SerdeContext): SnowflakeMetadata => { + return { + supportedRegions: + output.supportedRegions !== undefined && output.supportedRegions !== null + ? deserializeAws_restJson1RegionList(output.supportedRegions, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1SourceConnectorProperties = ( + output: any, + context: __SerdeContext +): SourceConnectorProperties => { + return { + Amplitude: + output.Amplitude !== undefined && output.Amplitude !== null + ? deserializeAws_restJson1AmplitudeSourceProperties(output.Amplitude, context) + : undefined, + Datadog: + output.Datadog !== undefined && output.Datadog !== null + ? deserializeAws_restJson1DatadogSourceProperties(output.Datadog, context) + : undefined, + Dynatrace: + output.Dynatrace !== undefined && output.Dynatrace !== null + ? deserializeAws_restJson1DynatraceSourceProperties(output.Dynatrace, context) + : undefined, + GoogleAnalytics: + output.GoogleAnalytics !== undefined && output.GoogleAnalytics !== null + ? deserializeAws_restJson1GoogleAnalyticsSourceProperties(output.GoogleAnalytics, context) + : undefined, + InforNexus: + output.InforNexus !== undefined && output.InforNexus !== null + ? deserializeAws_restJson1InforNexusSourceProperties(output.InforNexus, context) + : undefined, + Marketo: + output.Marketo !== undefined && output.Marketo !== null + ? deserializeAws_restJson1MarketoSourceProperties(output.Marketo, context) + : undefined, + S3: + output.S3 !== undefined && output.S3 !== null + ? deserializeAws_restJson1S3SourceProperties(output.S3, context) + : undefined, + Salesforce: + output.Salesforce !== undefined && output.Salesforce !== null + ? deserializeAws_restJson1SalesforceSourceProperties(output.Salesforce, context) + : undefined, + ServiceNow: + output.ServiceNow !== undefined && output.ServiceNow !== null + ? deserializeAws_restJson1ServiceNowSourceProperties(output.ServiceNow, context) + : undefined, + Singular: + output.Singular !== undefined && output.Singular !== null + ? deserializeAws_restJson1SingularSourceProperties(output.Singular, context) + : undefined, + Slack: + output.Slack !== undefined && output.Slack !== null + ? deserializeAws_restJson1SlackSourceProperties(output.Slack, context) + : undefined, + Trendmicro: + output.Trendmicro !== undefined && output.Trendmicro !== null + ? deserializeAws_restJson1TrendmicroSourceProperties(output.Trendmicro, context) + : undefined, + Veeva: + output.Veeva !== undefined && output.Veeva !== null + ? deserializeAws_restJson1VeevaSourceProperties(output.Veeva, context) + : undefined, + Zendesk: + output.Zendesk !== undefined && output.Zendesk !== null + ? deserializeAws_restJson1ZendeskSourceProperties(output.Zendesk, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1SourceFieldProperties = (output: any, context: __SerdeContext): SourceFieldProperties => { + return { + isQueryable: output.isQueryable !== undefined && output.isQueryable !== null ? output.isQueryable : undefined, + isRetrievable: + output.isRetrievable !== undefined && output.isRetrievable !== null ? output.isRetrievable : undefined, + } as any; +}; + +const deserializeAws_restJson1SourceFields = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_restJson1SourceFlowConfig = (output: any, context: __SerdeContext): SourceFlowConfig => { + return { + connectorProfileName: + output.connectorProfileName !== undefined && output.connectorProfileName !== null + ? output.connectorProfileName + : undefined, + connectorType: + output.connectorType !== undefined && output.connectorType !== null ? output.connectorType : undefined, + sourceConnectorProperties: + output.sourceConnectorProperties !== undefined && output.sourceConnectorProperties !== null + ? deserializeAws_restJson1SourceConnectorProperties(output.sourceConnectorProperties, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1SupportedFieldTypeDetails = ( + output: any, + context: __SerdeContext +): SupportedFieldTypeDetails => { + return { + v1: + output.v1 !== undefined && output.v1 !== null + ? deserializeAws_restJson1FieldTypeDetails(output.v1, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1SupportedValueList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +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 deserializeAws_restJson1Task = (output: any, context: __SerdeContext): Task => { + return { + connectorOperator: + output.connectorOperator !== undefined && output.connectorOperator !== null + ? deserializeAws_restJson1ConnectorOperator(output.connectorOperator, context) + : undefined, + destinationField: + output.destinationField !== undefined && output.destinationField !== null ? output.destinationField : undefined, + sourceFields: + output.sourceFields !== undefined && output.sourceFields !== null + ? deserializeAws_restJson1SourceFields(output.sourceFields, context) + : undefined, + taskProperties: + output.taskProperties !== undefined && output.taskProperties !== null + ? deserializeAws_restJson1TaskPropertiesMap(output.taskProperties, context) + : undefined, + taskType: output.taskType !== undefined && output.taskType !== null ? output.taskType : undefined, + } as any; +}; + +const deserializeAws_restJson1TaskPropertiesMap = (output: any, context: __SerdeContext): { [key: string]: string } => { + return Object.entries(output).reduce( + (acc: { [key: string]: string }, [key, value]: [OperatorPropertiesKeys | string, any]) => ({ + ...acc, + [key]: value, + }), + {} + ); +}; + +const deserializeAws_restJson1Tasks = (output: any, context: __SerdeContext): Task[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Task(entry, context)); +}; + +const deserializeAws_restJson1TrendmicroConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): TrendmicroConnectorProfileProperties => { + return {} as any; +}; + +const deserializeAws_restJson1TrendmicroMetadata = (output: any, context: __SerdeContext): TrendmicroMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1TrendmicroSourceProperties = ( + output: any, + context: __SerdeContext +): TrendmicroSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1TriggerConfig = (output: any, context: __SerdeContext): TriggerConfig => { + return { + triggerProperties: + output.triggerProperties !== undefined && output.triggerProperties !== null + ? deserializeAws_restJson1TriggerProperties(output.triggerProperties, context) + : undefined, + triggerType: output.triggerType !== undefined && output.triggerType !== null ? output.triggerType : undefined, + } as any; +}; + +const deserializeAws_restJson1TriggerProperties = (output: any, context: __SerdeContext): TriggerProperties => { + return { + Scheduled: + output.Scheduled !== undefined && output.Scheduled !== null + ? deserializeAws_restJson1ScheduledTriggerProperties(output.Scheduled, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1TriggerTypeList = (output: any, context: __SerdeContext): (TriggerType | string)[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_restJson1VeevaConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): VeevaConnectorProfileProperties => { + return { + instanceUrl: output.instanceUrl !== undefined && output.instanceUrl !== null ? output.instanceUrl : undefined, + } as any; +}; + +const deserializeAws_restJson1VeevaMetadata = (output: any, context: __SerdeContext): VeevaMetadata => { + return {} as any; +}; + +const deserializeAws_restJson1VeevaSourceProperties = (output: any, context: __SerdeContext): VeevaSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeAws_restJson1ZendeskConnectorProfileProperties = ( + output: any, + context: __SerdeContext +): ZendeskConnectorProfileProperties => { + return { + instanceUrl: output.instanceUrl !== undefined && output.instanceUrl !== null ? output.instanceUrl : undefined, + } as any; +}; + +const deserializeAws_restJson1ZendeskMetadata = (output: any, context: __SerdeContext): ZendeskMetadata => { + return { + oAuthScopes: + output.oAuthScopes !== undefined && output.oAuthScopes !== null + ? deserializeAws_restJson1OAuthScopeList(output.oAuthScopes, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ZendeskSourceProperties = ( + output: any, + context: __SerdeContext +): ZendeskSourceProperties => { + return { + object: output.object !== undefined && output.object !== null ? output.object : undefined, + } as any; +}; + +const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ + httpStatusCode: output.statusCode, + httpHeaders: output.headers, + requestId: output.headers["x-amzn-requestid"], +}); + +// Collect low-level response body stream to Uint8Array. +const collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => { + if (streamBody instanceof Uint8Array) { + return Promise.resolve(streamBody); + } + return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); +}; + +// Encode Uint8Array data into string with utf-8. +const collectBodyString = (streamBody: any, context: __SerdeContext): Promise => + collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); + +const isSerializableHeaderValue = (value: any): boolean => + value !== undefined && + value !== "" && + (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) && + (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0); + +const parseBody = (streamBody: any, context: __SerdeContext): any => + collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); + +/** + * Load an error code for the aws.rest-json-1.1 protocol. + */ +const loadRestJsonErrorCode = (output: __HttpResponse, data: any): string => { + const findKey = (object: any, key: string) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + + const sanitizeErrorCode = (rawValue: string): string => { + let cleanValue = rawValue; + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== undefined) { + return sanitizeErrorCode(output.headers[headerKey]); + } + + if (data.code !== undefined) { + return sanitizeErrorCode(data.code); + } + + if (data["__type"] !== undefined) { + return sanitizeErrorCode(data["__type"]); + } + + return ""; +}; diff --git a/clients/client-appflow/runtimeConfig.browser.ts b/clients/client-appflow/runtimeConfig.browser.ts new file mode 100644 index 000000000000..ceb8367d13df --- /dev/null +++ b/clients/client-appflow/runtimeConfig.browser.ts @@ -0,0 +1,31 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-browser"; +import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler"; +import { invalidFunction } from "@aws-sdk/invalid-dependency"; +import { DEFAULT_MAX_ATTEMPTS } from "@aws-sdk/middleware-retry"; +import { parseUrl } from "@aws-sdk/url-parser-browser"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-browser"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser"; +import { ClientDefaults } from "./AppflowClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "browser", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider: invalidFunction("Credential is missing") as any, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: DEFAULT_MAX_ATTEMPTS, + region: invalidFunction("Region is missing") as any, + requestHandler: new FetchHttpHandler(), + sha256: Sha256, + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-appflow/runtimeConfig.native.ts b/clients/client-appflow/runtimeConfig.native.ts new file mode 100644 index 000000000000..c5912bf0b62a --- /dev/null +++ b/clients/client-appflow/runtimeConfig.native.ts @@ -0,0 +1,14 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-js"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { ClientDefaults } from "./AppflowClient"; +import { ClientDefaultValues as BrowserDefaults } from "./runtimeConfig.browser"; + +export const ClientDefaultValues: Required = { + ...BrowserDefaults, + runtime: "react-native", + defaultUserAgent: `aws-sdk-js-v3-react-native-${packageInfo.name}/${packageInfo.version}`, + sha256: Sha256, + urlParser: parseUrl, +}; diff --git a/clients/client-appflow/runtimeConfig.shared.ts b/clients/client-appflow/runtimeConfig.shared.ts new file mode 100644 index 000000000000..90072249d7b5 --- /dev/null +++ b/clients/client-appflow/runtimeConfig.shared.ts @@ -0,0 +1,10 @@ +import { defaultRegionInfoProvider } from "./endpoints"; +import { Logger as __Logger } from "@aws-sdk/types"; + +export const ClientSharedValues = { + apiVersion: "2020-08-23", + disableHostPrefix: false, + logger: {} as __Logger, + regionInfoProvider: defaultRegionInfoProvider, + signingName: "appflow", +}; diff --git a/clients/client-appflow/runtimeConfig.ts b/clients/client-appflow/runtimeConfig.ts new file mode 100644 index 000000000000..62279cf9b147 --- /dev/null +++ b/clients/client-appflow/runtimeConfig.ts @@ -0,0 +1,33 @@ +import packageInfo from "./package.json"; + +import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@aws-sdk/config-resolver"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; +import { Hash } from "@aws-sdk/hash-node"; +import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry"; +import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider"; +import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-node"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node"; +import { ClientDefaults } from "./AppflowClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "node", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: new NodeHttpHandler(), + sha256: Hash.bind(null, "sha256"), + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-appflow/tsconfig.es.json b/clients/client-appflow/tsconfig.es.json new file mode 100644 index 000000000000..30df5d2e6986 --- /dev/null +++ b/clients/client-appflow/tsconfig.es.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "target": "es5", + "module": "esnext", + "moduleResolution": "node", + "declaration": false, + "declarationDir": null, + "lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], + "outDir": "dist/es" + } +} diff --git a/clients/client-appflow/tsconfig.json b/clients/client-appflow/tsconfig.json new file mode 100644 index 000000000000..3b440583a9a2 --- /dev/null +++ b/clients/client-appflow/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "alwaysStrict": true, + "target": "ES2018", + "module": "commonjs", + "declaration": true, + "strict": true, + "sourceMap": true, + "downlevelIteration": true, + "importHelpers": true, + "noEmitHelpers": true, + "incremental": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "declarationDir": "./types", + "outDir": "dist/cjs" + }, + "typedocOptions": { + "exclude": "**/node_modules/**", + "excludedNotExported": true, + "excludePrivate": true, + "hideGenerator": true, + "ignoreCompilerErrors": true, + "mode": "file", + "out": "./docs", + "plugin": "@aws-sdk/client-documentation-generator" + } +} diff --git a/clients/client-application-auto-scaling/ApplicationAutoScaling.ts b/clients/client-application-auto-scaling/ApplicationAutoScaling.ts index 7285d95be0bf..c37d6909f439 100644 --- a/clients/client-application-auto-scaling/ApplicationAutoScaling.ts +++ b/clients/client-application-auto-scaling/ApplicationAutoScaling.ts @@ -53,7 +53,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** *

With Application Auto Scaling, you can configure automatic scaling for the following - * resources:

+ * resources:

*
    *
  • *

    Amazon ECS services

    @@ -80,7 +80,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

    Custom resources provided by your own applications or services

    *
  • *
  • - *

    Amazon Comprehend document classification endpoints

    + *

    Amazon Comprehend document classification and entity recognizer endpoints

    *
  • *
  • *

    AWS Lambda function provisioned concurrency

    @@ -88,6 +88,9 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *
  • *

    Amazon Keyspaces (for Apache Cassandra) tables

    *
  • + *
  • + *

    Amazon Managed Streaming for Apache Kafka cluster storage

    + *
  • *
*

* API Summary @@ -95,28 +98,28 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

The Application Auto Scaling service API includes three key sets of actions:

*
    *
  • - *

    Register and manage scalable targets - Register AWS or custom resources as - * scalable targets (a resource that Application Auto Scaling can scale), set minimum and maximum - * capacity limits, and retrieve information on existing scalable targets.

    + *

    Register and manage scalable targets - Register AWS or custom resources as scalable + * targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and + * retrieve information on existing scalable targets.

    *
  • *
  • - *

    Configure and manage automatic scaling - Define scaling policies to dynamically - * scale your resources in response to CloudWatch alarms, schedule one-time or recurring - * scaling actions, and retrieve your recent scaling activity history.

    + *

    Configure and manage automatic scaling - Define scaling policies to dynamically scale + * your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions, + * and retrieve your recent scaling activity history.

    *
  • *
  • - *

    Suspend and resume scaling - Temporarily suspend and later resume automatic - * scaling by calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You - * can suspend and resume (individually or in combination) scale-out activities that are - * triggered by a scaling policy, scale-in activities that are triggered by a scaling - * policy, and scheduled scaling.

    + *

    Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by + * calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You can + * suspend and resume (individually or in combination) scale-out activities that are + * triggered by a scaling policy, scale-in activities that are triggered by a scaling policy, + * and scheduled scaling.

    *
  • *
* * *

To learn more about Application Auto Scaling, including information about granting IAM users required - * permissions for Application Auto Scaling actions, see the Application Auto Scaling - * User Guide.

+ * permissions for Application Auto Scaling actions, see the Application Auto Scaling User + * Guide.

*/ export class ApplicationAutoScaling extends ApplicationAutoScalingClient { /** @@ -473,8 +476,9 @@ export class ApplicationAutoScaling extends ApplicationAutoScalingClient { * targets are uniquely identified by the combination of resource ID, scalable dimension, and * namespace.

*

When you register a new scalable target, you must specify values for minimum and maximum - * capacity. Application Auto Scaling scaling policies will not scale capacity to values that are outside of - * this range.

+ * capacity. Current capacity will be adjusted within the specified range when scaling starts. + * Application Auto Scaling scaling policies will not scale capacity to values that are outside of this + * range.

*

After you register a scalable target, you do not need to register it again to use other * Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service * namespace by using DescribeScalableTargets. If you no longer need a scalable target, you can diff --git a/clients/client-application-auto-scaling/ApplicationAutoScalingClient.ts b/clients/client-application-auto-scaling/ApplicationAutoScalingClient.ts index 0cd08ca71713..6e6fbfdf718d 100644 --- a/clients/client-application-auto-scaling/ApplicationAutoScalingClient.ts +++ b/clients/client-application-auto-scaling/ApplicationAutoScalingClient.ts @@ -219,7 +219,7 @@ export type ApplicationAutoScalingClientResolvedConfig = __SmithyResolvedConfigu /** *

With Application Auto Scaling, you can configure automatic scaling for the following - * resources:

+ * resources:

*
    *
  • *

    Amazon ECS services

    @@ -246,7 +246,7 @@ export type ApplicationAutoScalingClientResolvedConfig = __SmithyResolvedConfigu *

    Custom resources provided by your own applications or services

    *
  • *
  • - *

    Amazon Comprehend document classification endpoints

    + *

    Amazon Comprehend document classification and entity recognizer endpoints

    *
  • *
  • *

    AWS Lambda function provisioned concurrency

    @@ -254,6 +254,9 @@ export type ApplicationAutoScalingClientResolvedConfig = __SmithyResolvedConfigu *
  • *

    Amazon Keyspaces (for Apache Cassandra) tables

    *
  • + *
  • + *

    Amazon Managed Streaming for Apache Kafka cluster storage

    + *
  • *
*

* API Summary @@ -261,28 +264,28 @@ export type ApplicationAutoScalingClientResolvedConfig = __SmithyResolvedConfigu *

The Application Auto Scaling service API includes three key sets of actions:

*
    *
  • - *

    Register and manage scalable targets - Register AWS or custom resources as - * scalable targets (a resource that Application Auto Scaling can scale), set minimum and maximum - * capacity limits, and retrieve information on existing scalable targets.

    + *

    Register and manage scalable targets - Register AWS or custom resources as scalable + * targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and + * retrieve information on existing scalable targets.

    *
  • *
  • - *

    Configure and manage automatic scaling - Define scaling policies to dynamically - * scale your resources in response to CloudWatch alarms, schedule one-time or recurring - * scaling actions, and retrieve your recent scaling activity history.

    + *

    Configure and manage automatic scaling - Define scaling policies to dynamically scale + * your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions, + * and retrieve your recent scaling activity history.

    *
  • *
  • - *

    Suspend and resume scaling - Temporarily suspend and later resume automatic - * scaling by calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You - * can suspend and resume (individually or in combination) scale-out activities that are - * triggered by a scaling policy, scale-in activities that are triggered by a scaling - * policy, and scheduled scaling.

    + *

    Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by + * calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You can + * suspend and resume (individually or in combination) scale-out activities that are + * triggered by a scaling policy, scale-in activities that are triggered by a scaling policy, + * and scheduled scaling.

    *
  • *
* * *

To learn more about Application Auto Scaling, including information about granting IAM users required - * permissions for Application Auto Scaling actions, see the Application Auto Scaling - * User Guide.

+ * permissions for Application Auto Scaling actions, see the Application Auto Scaling User + * Guide.

*/ export class ApplicationAutoScalingClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-application-auto-scaling/models/models_0.ts b/clients/client-application-auto-scaling/models/models_0.ts index 9482ffac588a..afb0302157de 100644 --- a/clients/client-application-auto-scaling/models/models_0.ts +++ b/clients/client-application-auto-scaling/models/models_0.ts @@ -12,14 +12,14 @@ export enum AdjustmentType { */ export interface Alarm { /** - *

The Amazon Resource Name (ARN) of the alarm.

+ *

The name of the alarm.

*/ - AlarmARN: string | undefined; + AlarmName: string | undefined; /** - *

The name of the alarm.

+ *

The Amazon Resource Name (ARN) of the alarm.

*/ - AlarmName: string | undefined; + AlarmARN: string | undefined; } export namespace Alarm { @@ -49,6 +49,7 @@ export enum ScalableDimension { CassandraTableReadCapacityUnits = "cassandra:table:ReadCapacityUnits", CassandraTableWriteCapacityUnits = "cassandra:table:WriteCapacityUnits", ComprehendDocClassifierEndpointInferenceUnits = "comprehend:document-classifier-endpoint:DesiredInferenceUnits", + ComprehendEntityRecognizerEndpointInferenceUnits = "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits", CustomResourceScalableDimension = "custom-resource:ResourceType:Property", DynamoDBIndexReadCapacityUnits = "dynamodb:index:ReadCapacityUnits", DynamoDBIndexWriteCapacityUnits = "dynamodb:index:WriteCapacityUnits", @@ -57,6 +58,7 @@ export enum ScalableDimension { EC2SpotFleetRequestTargetCapacity = "ec2:spot-fleet-request:TargetCapacity", ECSServiceDesiredCount = "ecs:service:DesiredCount", EMRInstanceGroupInstanceCount = "elasticmapreduce:instancegroup:InstanceCount", + KafkaBrokerStorageVolumeSize = "kafka:broker-storage:VolumeSize", LambdaFunctionProvisionedConcurrency = "lambda:function:ProvisionedConcurrency", RDSClusterReadReplicaCount = "rds:cluster:ReadReplicaCount", SageMakerVariantDesiredInstanceCount = "sagemaker:variant:DesiredInstanceCount", @@ -71,15 +73,22 @@ export enum ServiceNamespace { EC2 = "ec2", ECS = "ecs", EMR = "elasticmapreduce", + KAFKA = "kafka", LAMBDA = "lambda", RDS = "rds", SAGEMAKER = "sagemaker", } export interface DeleteScalingPolicyRequest { + /** + *

The namespace of the AWS service that provides the resource. For a resource provided + * by your own application or service, use custom-resource instead.

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

The identifier of the resource associated with the scalable target. - * This string consists of the resource type and unique identifier.

+ * This string consists of the resource type and unique identifier.

*
    *
  • *

    ECS service - The resource type is service and the unique identifier is the cluster name @@ -122,6 +131,9 @@ export interface DeleteScalingPolicyRequest { *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    *
  • *
  • + *

    Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

    + *
  • + *
  • *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. * Example: function:my-function:prod or function:my-function:1.

    *
  • @@ -129,10 +141,19 @@ export interface DeleteScalingPolicyRequest { *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. * Example: keyspace/mykeyspace/table/mytable.

    * + *
  • + *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    + *
  • *
*/ ResourceId: string | undefined; + /** + *

The name of the scaling policy.

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

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

*
    @@ -186,6 +207,10 @@ export interface DeleteScalingPolicyRequest { * *
  • *

    + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

    + *
  • + *
  • + *

    * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    *
  • *
  • @@ -196,20 +221,13 @@ export interface DeleteScalingPolicyRequest { *

    * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • + *
  • + *

    + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    + *
  • *
*/ ScalableDimension: ScalableDimension | string | undefined; - - /** - *

The namespace of the AWS service that provides the resource. For a resource provided - * by your own application or service, use custom-resource instead.

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

The name of the scaling policy.

- */ - PolicyName: string | undefined; } export namespace DeleteScalingPolicyRequest { @@ -277,6 +295,17 @@ export namespace ValidationException { } export interface DeleteScheduledActionRequest { + /** + *

The name of the scheduled action.

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

The namespace of the AWS service that provides the resource. For a resource provided + * by your own application or service, use custom-resource instead.

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

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

*
    @@ -330,6 +359,10 @@ export interface DeleteScheduledActionRequest { * *
  • *

    + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

    + *
  • + *
  • + *

    * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    *
  • *
  • @@ -340,19 +373,17 @@ export interface DeleteScheduledActionRequest { *

    * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • + *
  • + *

    + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    + *
  • *
*/ ScalableDimension: ScalableDimension | string | undefined; - /** - *

The namespace of the AWS service that provides the resource. For a resource provided - * by your own application or service, use custom-resource instead.

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

The identifier of the resource associated with the scheduled action. - * This string consists of the resource type and unique identifier.

+ * This string consists of the resource type and unique identifier.

*
    *
  • *

    ECS service - The resource type is service and the unique identifier is the cluster name @@ -395,6 +426,9 @@ export interface DeleteScheduledActionRequest { *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    *
  • *
  • + *

    Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

    + *
  • + *
  • *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. * Example: function:my-function:prod or function:my-function:1.

    *
  • @@ -402,14 +436,13 @@ export interface DeleteScheduledActionRequest { *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. * Example: keyspace/mykeyspace/table/mytable.

    * + *
  • + *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    + *
  • *
*/ ResourceId: string | undefined; - - /** - *

The name of the scheduled action.

- */ - ScheduledActionName: string | undefined; } export namespace DeleteScheduledActionRequest { @@ -427,15 +460,9 @@ export namespace DeleteScheduledActionResponse { } export interface DeregisterScalableTargetRequest { - /** - *

The namespace of the AWS service that provides the resource. For a resource provided - * by your own application or service, use custom-resource instead.

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

The scalable dimension associated with the scalable target. - * This string consists of the service namespace, resource type, and scaling property.

+ * This string consists of the service namespace, resource type, and scaling property.

*
    *
  • *

    @@ -487,6 +514,10 @@ export interface DeregisterScalableTargetRequest { *

  • *
  • *

    + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

    + *
  • + *
  • + *

    * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    *
  • *
  • @@ -497,13 +528,17 @@ export interface DeregisterScalableTargetRequest { *

    * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • + *
  • + *

    + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    + *
  • *
*/ ScalableDimension: ScalableDimension | string | undefined; /** *

The identifier of the resource associated with the scalable target. - * This string consists of the resource type and unique identifier.

+ * This string consists of the resource type and unique identifier.

*
    *
  • *

    ECS service - The resource type is service and the unique identifier is the cluster name @@ -546,6 +581,9 @@ export interface DeregisterScalableTargetRequest { *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    *
  • *
  • + *

    Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

    + *
  • + *
  • *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. * Example: function:my-function:prod or function:my-function:1.

    *
  • @@ -553,9 +591,19 @@ export interface DeregisterScalableTargetRequest { *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. * Example: keyspace/mykeyspace/table/mytable.

    * + *
  • + *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    + *
  • *
*/ ResourceId: string | undefined; + + /** + *

The namespace of the AWS service that provides the resource. For a resource provided + * by your own application or service, use custom-resource instead.

+ */ + ServiceNamespace: ServiceNamespace | string | undefined; } export namespace DeregisterScalableTargetRequest { @@ -574,10 +622,80 @@ export namespace DeregisterScalableTargetResponse { export interface DescribeScalableTargetsRequest { /** - *

The namespace of the AWS service that provides the resource. For a resource provided - * by your own application or service, use custom-resource instead.

+ *

The scalable dimension associated with the scalable target. + * This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

+ *
    + *
  • + *

    + * ecs:service:DesiredCount - The desired task count of an ECS service.

    + *
  • + *
  • + *

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + *
  • + *
  • + *

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + *
  • + *
  • + *

    + * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

    + *
  • + *
  • + *

    + * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

    + *
  • + *
  • + *

    + * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

    + *
  • + *
  • + *

    + * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

    + *
  • + *
  • + *

    + * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

    + *
  • + *
  • + *

    + * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

    + *
  • + *
  • + *

    + * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

    + *
  • + *
  • + *

    + * custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

    + *
  • + *
  • + *

    + * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

    + *
  • + *
  • + *

    + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

    + *
  • + *
  • + *

    + * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    + *
  • + *
  • + *

    + * cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

    + *
  • + *
  • + *

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + *
  • + *
  • + *

    + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    + *
  • + *
*/ - ServiceNamespace: ServiceNamespace | string | undefined; + ScalableDimension?: ScalableDimension | string; /** *

The maximum number of scalable targets. This value can be between 1 and @@ -590,9 +708,20 @@ export interface DescribeScalableTargetsRequest { */ MaxResults?: number; + /** + *

The token for the next set of results.

+ */ + NextToken?: string; + + /** + *

The namespace of the AWS service that provides the resource. For a resource provided + * by your own application or service, use custom-resource instead.

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

The identifier of the resource associated with the scalable target. - * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

+ * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

*
    *
  • *

    ECS service - The resource type is service and the unique identifier is the cluster name @@ -635,6 +764,9 @@ export interface DescribeScalableTargetsRequest { *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    *
  • *
  • + *

    Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

    + *
  • + *
  • *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. * Example: function:my-function:prod or function:my-function:1.

    *
  • @@ -642,18 +774,82 @@ export interface DescribeScalableTargetsRequest { *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. * Example: keyspace/mykeyspace/table/mytable.

    * + *
  • + *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    + *
  • *
*/ ResourceIds?: string[]; +} + +export namespace DescribeScalableTargetsRequest { + export const filterSensitiveLog = (obj: DescribeScalableTargetsRequest): any => ({ + ...obj, + }); +} + +/** + *

Specifies whether the scaling activities for a scalable target are in a suspended state. + *

+ */ +export interface SuspendedState { + /** + *

Whether scale in by a target tracking scaling policy or a step scaling policy is + * suspended. Set the value to true if you don't want Application Auto Scaling to remove capacity + * when a scaling policy is triggered. The default is false.

+ */ + DynamicScalingInSuspended?: boolean; /** - *

The token for the next set of results.

+ *

Whether scale out by a target tracking scaling policy or a step scaling policy is + * suspended. Set the value to true if you don't want Application Auto Scaling to add capacity + * when a scaling policy is triggered. The default is false.

*/ - NextToken?: string; + DynamicScalingOutSuspended?: boolean; + + /** + *

Whether scheduled scaling is suspended. Set the value to true if you don't + * want Application Auto Scaling to add or remove capacity by initiating scheduled actions. The default is + * false.

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

Represents a scalable target.

+ */ +export interface ScalableTarget { + /** + *

The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your + * behalf.

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

The maximum value to scale to in response to a scale-out activity.

+ */ + MaxCapacity: number | undefined; + + /** + *

The minimum value to scale to in response to a scale-in activity.

+ */ + MinCapacity: number | undefined; + + /** + *

The Unix timestamp for when the scalable target was created.

+ */ + CreationTime: Date | undefined; /** *

The scalable dimension associated with the scalable target. - * This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

+ * This string consists of the service namespace, resource type, and scaling property.

*
    *
  • *

    @@ -705,6 +901,10 @@ export interface DescribeScalableTargetsRequest { *

  • *
  • *

    + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

    + *
  • + *
  • + *

    * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    *
  • *
  • @@ -715,142 +915,29 @@ export interface DescribeScalableTargetsRequest { *

    * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • + *
  • + *

    + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    + *
  • *
*/ - ScalableDimension?: ScalableDimension | string; -} - -export namespace DescribeScalableTargetsRequest { - export const filterSensitiveLog = (obj: DescribeScalableTargetsRequest): any => ({ - ...obj, - }); -} - -/** - *

Specifies whether the scaling activities for a scalable target are in a suspended state. - *

- */ -export interface SuspendedState { - /** - *

Whether scale in by a target tracking scaling policy or a step scaling policy is - * suspended. Set the value to true if you don't want Application Auto Scaling to remove capacity - * when a scaling policy is triggered. The default is false.

- */ - DynamicScalingInSuspended?: boolean; - - /** - *

Whether scheduled scaling is suspended. Set the value to true if you don't - * want Application Auto Scaling to add or remove capacity by initiating scheduled actions. The default is - * false.

- */ - ScheduledScalingSuspended?: boolean; + ScalableDimension: ScalableDimension | string | undefined; /** - *

Whether scale out by a target tracking scaling policy or a step scaling policy is - * suspended. Set the value to true if you don't want Application Auto Scaling to add capacity - * when a scaling policy is triggered. The default is false.

+ *

The namespace of the AWS service that provides the resource, or a + * custom-resource.

*/ - DynamicScalingOutSuspended?: boolean; -} - -export namespace SuspendedState { - export const filterSensitiveLog = (obj: SuspendedState): any => ({ - ...obj, - }); -} + ServiceNamespace: ServiceNamespace | string | undefined; -/** - *

Represents a scalable target.

- */ -export interface ScalableTarget { /** *

Specifies whether the scaling activities for a scalable target are in a suspended state. *

*/ SuspendedState?: SuspendedState; - /** - *

The scalable dimension associated with the scalable target. - * This string consists of the service namespace, resource type, and scaling property.

- *
    - *
  • - *

    - * ecs:service:DesiredCount - The desired task count of an ECS service.

    - *
  • - *
  • - *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    - *
  • - *
  • - *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    - *
  • - *
  • - *

    - * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

    - *
  • - *
  • - *

    - * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

    - *
  • - *
  • - *

    - * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

    - *
  • - *
  • - *

    - * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

    - *
  • - *
  • - *

    - * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

    - *
  • - *
  • - *

    - * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

    - *
  • - *
  • - *

    - * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

    - *
  • - *
  • - *

    - * custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

    - *
  • - *
  • - *

    - * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

    - *
  • - *
  • - *

    - * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    - *
  • - *
  • - *

    - * cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

    - *
  • - *
  • - *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    - *
  • - *
- */ - ScalableDimension: ScalableDimension | string | undefined; - - /** - *

The Unix timestamp for when the scalable target was created.

- */ - CreationTime: Date | undefined; - - /** - *

The namespace of the AWS service that provides the resource, or a - * custom-resource.

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

The identifier of the resource associated with the scalable target. - * This string consists of the resource type and unique identifier.

+ * This string consists of the resource type and unique identifier.

*
    *
  • *

    ECS service - The resource type is service and the unique identifier is the cluster name @@ -893,6 +980,9 @@ export interface ScalableTarget { *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    *
  • *
  • + *

    Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

    + *
  • + *
  • *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. * Example: function:my-function:prod or function:my-function:1.

    *
  • @@ -900,25 +990,13 @@ export interface ScalableTarget { *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. * Example: keyspace/mykeyspace/table/mytable.

    * + *
  • + *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    + *
  • *
*/ ResourceId: string | undefined; - - /** - *

The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your - * behalf.

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

The minimum value to scale to in response to a scale-in activity.

- */ - MinCapacity: number | undefined; - - /** - *

The maximum value to scale to in response to a scale-out activity.

- */ - MaxCapacity: number | undefined; } export namespace ScalableTarget { @@ -962,65 +1040,9 @@ export namespace InvalidNextTokenException { } export interface DescribeScalingActivitiesRequest { - /** - *

The identifier of the resource associated with the scaling activity. - * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

- *
    - *
  • - *

    ECS service - The resource type is service and the unique identifier is the cluster name - * and service name. Example: service/default/sample-webapp.

    - *
  • - *
  • - *

    Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the - * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

    - *
  • - *
  • - *

    EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. - * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

    - *
  • - *
  • - *

    AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. - * Example: fleet/sample-fleet.

    - *
  • - *
  • - *

    DynamoDB table - The resource type is table and the unique identifier is the table name. - * Example: table/my-table.

    - *
  • - *
  • - *

    DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. - * Example: table/my-table/index/my-table-index.

    - *
  • - *
  • - *

    Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. - * Example: cluster:my-db-cluster.

    - *
  • - *
  • - *

    Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. - * Example: endpoint/my-end-point/variant/KMeansClustering.

    - *
  • - *
  • - *

    Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information - * is available in our GitHub - * repository.

    - *
  • - *
  • - *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    - *
  • - *
  • - *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. - * Example: function:my-function:prod or function:my-function:1.

    - *
  • - *
  • - *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. - * Example: keyspace/mykeyspace/table/mytable.

    - *
  • - *
- */ - ResourceId?: string; - /** *

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. - * If you specify a scalable dimension, you must also specify a resource ID.

+ * If you specify a scalable dimension, you must also specify a resource ID.

*
    *
  • *

    @@ -1072,6 +1094,10 @@ export interface DescribeScalingActivitiesRequest { *

  • *
  • *

    + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

    + *
  • + *
  • + *

    * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    *
  • *
  • @@ -1082,20 +1108,76 @@ export interface DescribeScalingActivitiesRequest { *

    * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • + *
  • + *

    + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    + *
  • *
*/ ScalableDimension?: ScalableDimension | string; /** - *

The token for the next set of results.

- */ - NextToken?: string; - - /** - *

The namespace of the AWS service that provides the resource. For a resource provided - * by your own application or service, use custom-resource instead.

+ *

The identifier of the resource associated with the scaling activity. + * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

+ *
    + *
  • + *

    ECS service - The resource type is service and the unique identifier is the cluster name + * and service name. Example: service/default/sample-webapp.

    + *
  • + *
  • + *

    Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the + * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

    + *
  • + *
  • + *

    EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. + * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

    + *
  • + *
  • + *

    AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. + * Example: fleet/sample-fleet.

    + *
  • + *
  • + *

    DynamoDB table - The resource type is table and the unique identifier is the table name. + * Example: table/my-table.

    + *
  • + *
  • + *

    DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. + * Example: table/my-table/index/my-table-index.

    + *
  • + *
  • + *

    Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. + * Example: cluster:my-db-cluster.

    + *
  • + *
  • + *

    Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. + * Example: endpoint/my-end-point/variant/KMeansClustering.

    + *
  • + *
  • + *

    Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information + * is available in our GitHub + * repository.

    + *
  • + *
  • + *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    + *
  • + *
  • + *

    Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

    + *
  • + *
  • + *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. + * Example: function:my-function:prod or function:my-function:1.

    + *
  • + *
  • + *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. + * Example: keyspace/mykeyspace/table/mytable.

    + *
  • + *
  • + *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    + *
  • + *
*/ - ServiceNamespace: ServiceNamespace | string | undefined; + ResourceId?: string; /** *

The maximum number of scalable targets. This value can be between 1 and @@ -1107,6 +1189,17 @@ export interface DescribeScalingActivitiesRequest { * NextToken value, if applicable.

*/ MaxResults?: number; + + /** + *

The token for the next set of results.

+ */ + NextToken?: string; + + /** + *

The namespace of the AWS service that provides the resource. For a resource provided + * by your own application or service, use custom-resource instead.

+ */ + ServiceNamespace: ServiceNamespace | string | undefined; } export namespace DescribeScalingActivitiesRequest { @@ -1128,31 +1221,6 @@ export enum ScalingActivityStatusCode { *

Represents a scaling activity.

*/ export interface ScalingActivity { - /** - *

Indicates the status of the scaling activity.

- */ - StatusCode: ScalingActivityStatusCode | string | undefined; - - /** - *

The details about the scaling activity.

- */ - Details?: string; - - /** - *

The Unix timestamp for when the scaling activity ended.

- */ - EndTime?: Date; - - /** - *

A simple description of what action the scaling activity intends to accomplish.

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

A simple message about the current status of the scaling activity.

- */ - StatusMessage?: string; - /** *

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

*
    @@ -1206,6 +1274,10 @@ export interface ScalingActivity { * *
  • *

    + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

    + *
  • + *
  • + *

    * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    *
  • *
  • @@ -1216,19 +1288,17 @@ export interface ScalingActivity { *

    * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • + *
  • + *

    + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    + *
  • *
*/ ScalableDimension: ScalableDimension | string | undefined; - /** - *

The namespace of the AWS service that provides the resource, or a - * custom-resource.

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

The identifier of the resource associated with the scaling activity. - * This string consists of the resource type and unique identifier.

+ * This string consists of the resource type and unique identifier.

*
    *
  • *

    ECS service - The resource type is service and the unique identifier is the cluster name @@ -1271,6 +1341,9 @@ export interface ScalingActivity { *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    *
  • *
  • + *

    Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

    + *
  • + *
  • *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. * Example: function:my-function:prod or function:my-function:1.

    *
  • @@ -1278,10 +1351,30 @@ export interface ScalingActivity { *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. * Example: keyspace/mykeyspace/table/mytable.

    * + *
  • + *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    + *
  • *
*/ ResourceId: string | undefined; + /** + *

The namespace of the AWS service that provides the resource, or a + * custom-resource.

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

The unique identifier of the scaling activity.

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

The Unix timestamp for when the scaling activity ended.

+ */ + EndTime?: Date; + /** *

A simple description of what caused the scaling activity to happen.

*/ @@ -1293,9 +1386,24 @@ export interface ScalingActivity { StartTime: Date | undefined; /** - *

The unique identifier of the scaling activity.

+ *

The details about the scaling activity.

*/ - ActivityId: string | undefined; + Details?: string; + + /** + *

Indicates the status of the scaling activity.

+ */ + StatusCode: ScalingActivityStatusCode | string | undefined; + + /** + *

A simple description of what action the scaling activity intends to accomplish.

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

A simple message about the current status of the scaling activity.

+ */ + StatusMessage?: string; } export namespace ScalingActivity { @@ -1325,88 +1433,77 @@ export namespace DescribeScalingActivitiesResponse { export interface DescribeScalingPoliciesRequest { /** - *

The token for the next set of results.

+ *

The names of the scaling policies to describe.

*/ - NextToken?: string; + PolicyNames?: string[]; /** - *

The namespace of the AWS service that provides the resource. For a resource provided - * by your own application or service, use custom-resource instead.

+ *

The token for the next set of results.

*/ - ServiceNamespace: ServiceNamespace | string | undefined; + NextToken?: string; /** - *

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. - * If you specify a scalable dimension, you must also specify a resource ID.

+ *

The identifier of the resource associated with the scaling policy. + * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

*
    *
  • - *

    - * ecs:service:DesiredCount - The desired task count of an ECS service.

    - *
  • - *
  • - *

    - * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    + *

    ECS service - The resource type is service and the unique identifier is the cluster name + * and service name. Example: service/default/sample-webapp.

    *
  • *
  • - *

    - * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    + *

    Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the + * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

    *
  • *
  • - *

    - * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

    + *

    EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. + * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

    *
  • *
  • - *

    - * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

    + *

    AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. + * Example: fleet/sample-fleet.

    *
  • *
  • - *

    - * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

    + *

    DynamoDB table - The resource type is table and the unique identifier is the table name. + * Example: table/my-table.

    *
  • *
  • - *

    - * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

    + *

    DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. + * Example: table/my-table/index/my-table-index.

    *
  • *
  • - *

    - * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

    + *

    Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. + * Example: cluster:my-db-cluster.

    *
  • *
  • - *

    - * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

    + *

    Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. + * Example: endpoint/my-end-point/variant/KMeansClustering.

    *
  • *
  • - *

    - * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

    + *

    Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information + * is available in our GitHub + * repository.

    *
  • *
  • - *

    - * custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

    + *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    *
  • *
  • - *

    - * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

    + *

    Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

    *
  • *
  • - *

    - * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    + *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. + * Example: function:my-function:prod or function:my-function:1.

    *
  • *
  • - *

    - * cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

    + *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. + * Example: keyspace/mykeyspace/table/mytable.

    *
  • *
  • - *

    - * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    *
  • *
*/ - ScalableDimension?: ScalableDimension | string; - - /** - *

The names of the scaling policies to describe.

- */ - PolicyNames?: string[]; + ResourceId?: string; /** *

The maximum number of scalable targets. This value can be between 1 and @@ -1420,60 +1517,86 @@ export interface DescribeScalingPoliciesRequest { MaxResults?: number; /** - *

The identifier of the resource associated with the scaling policy. - * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

+ *

The namespace of the AWS service that provides the resource. For a resource provided + * by your own application or service, use custom-resource instead.

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

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. + * If you specify a scalable dimension, you must also specify a resource ID.

*
    *
  • - *

    ECS service - The resource type is service and the unique identifier is the cluster name - * and service name. Example: service/default/sample-webapp.

    + *

    + * ecs:service:DesiredCount - The desired task count of an ECS service.

    + *
  • + *
  • + *

    + * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

    *
  • *
  • - *

    Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the - * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

    + *

    + * elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

    *
  • *
  • - *

    EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. - * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

    + *

    + * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

    *
  • *
  • - *

    AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. - * Example: fleet/sample-fleet.

    + *

    + * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

    *
  • *
  • - *

    DynamoDB table - The resource type is table and the unique identifier is the table name. - * Example: table/my-table.

    + *

    + * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

    *
  • *
  • - *

    DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. - * Example: table/my-table/index/my-table-index.

    + *

    + * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

    *
  • *
  • - *

    Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. - * Example: cluster:my-db-cluster.

    + *

    + * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

    *
  • *
  • - *

    Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. - * Example: endpoint/my-end-point/variant/KMeansClustering.

    + *

    + * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

    *
  • *
  • - *

    Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information - * is available in our GitHub - * repository.

    + *

    + * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

    *
  • *
  • - *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    + *

    + * custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

    *
  • *
  • - *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. - * Example: function:my-function:prod or function:my-function:1.

    + *

    + * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

    *
  • *
  • - *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. - * Example: keyspace/mykeyspace/table/mytable.

    + *

    + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

    + *
  • + *
  • + *

    + * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    + *
  • + *
  • + *

    + * cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

    + *
  • + *
  • + *

    + * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    + *
  • + *
  • + *

    + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    *
  • *
*/ - ResourceId?: string; + ScalableDimension?: ScalableDimension | string; } export namespace DescribeScalingPoliciesRequest { @@ -1531,11 +1654,13 @@ export enum MetricAggregationType { */ export interface StepAdjustment { /** - *

The amount by which to scale, based on the specified adjustment type. A positive value - * adds to the current capacity while a negative number removes from the current capacity. - *

+ *

The lower bound for the difference between the alarm threshold and the CloudWatch metric. If + * the metric value is above the breach threshold, the lower bound is inclusive (the metric + * must be greater than or equal to the threshold plus the lower bound). Otherwise, it is + * exclusive (the metric must be greater than the threshold plus the lower bound). A null + * value indicates negative infinity.

*/ - ScalingAdjustment: number | undefined; + MetricIntervalLowerBound?: number; /** *

The upper bound for the difference between the alarm threshold and the CloudWatch metric. If @@ -1548,13 +1673,11 @@ export interface StepAdjustment { MetricIntervalUpperBound?: number; /** - *

The lower bound for the difference between the alarm threshold and the CloudWatch metric. If - * the metric value is above the breach threshold, the lower bound is inclusive (the metric - * must be greater than or equal to the threshold plus the lower bound). Otherwise, it is - * exclusive (the metric must be greater than the threshold plus the lower bound). A null - * value indicates negative infinity.

+ *

The amount by which to scale, based on the specified adjustment type. A positive value + * adds to the current capacity while a negative number removes from the current capacity. For + * exact capacity, you must specify a positive value.

*/ - MetricIntervalLowerBound?: number; + ScalingAdjustment: number | undefined; } export namespace StepAdjustment { @@ -1568,22 +1691,32 @@ export namespace StepAdjustment { */ export interface StepScalingPolicyConfiguration { /** - *

The amount of time, in seconds, to wait for a previous scaling activity to take - * effect.

- *

With scale-out policies, the intention is to continuously (but not excessively) scale - * out. After Application Auto Scaling successfully scales out using a step scaling policy, it starts to - * calculate the cooldown time. While the cooldown period is in effect, capacity added by the - * initiating scale-out activity is calculated as part of the desired capacity for the next - * scale-out activity. For example, when an alarm triggers a step scaling policy to increase - * the capacity by 2, the scaling activity completes successfully, and a cooldown period - * starts. If the alarm triggers again during the cooldown period but at a more aggressive - * step adjustment of 3, the previous increase of 2 is considered part of the current - * capacity. Therefore, only 1 is added to the capacity.

+ *

Specifies how the ScalingAdjustment value in a StepAdjustment is interpreted (for example, an absolute number or a + * percentage). The valid values are ChangeInCapacity, + * ExactCapacity, and PercentChangeInCapacity.

+ *

+ * AdjustmentType is required if you are adding a new step scaling policy + * configuration.

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

The amount of time, in seconds, to wait for a previous scaling activity to take effect.

+ *

With scale-out policies, the intention is to continuously (but not excessively) scale out. + * After Application Auto Scaling successfully scales out using a step scaling policy, it starts to calculate the + * cooldown time. The scaling policy won't increase the desired capacity again unless either a + * larger scale out is triggered or the cooldown period ends. While the cooldown period is in + * effect, capacity added by the initiating scale-out activity is calculated as part of the + * desired capacity for the next scale-out activity. For example, when an alarm triggers a step + * scaling policy to increase the capacity by 2, the scaling activity completes successfully, and + * a cooldown period starts. If the alarm triggers again during the cooldown period but at a more + * aggressive step adjustment of 3, the previous increase of 2 is considered part of the current + * capacity. Therefore, only 1 is added to the capacity.

*

With scale-in policies, the intention is to scale in conservatively to protect your - * application’s availability, so scale-in activities are blocked until the cooldown period - * has expired. However, if another alarm triggers a scale-out activity during the cooldown - * period after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, - * the cooldown period for the scale-in activity stops and doesn't complete.

+ * application’s availability, so scale-in activities are blocked until the cooldown period has + * expired. However, if another alarm triggers a scale-out activity during the cooldown period + * after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the + * cooldown period for the scale-in activity stops and doesn't complete.

*

Application Auto Scaling provides a default value of 300 for the following scalable targets:

*
    *
  • @@ -1617,7 +1750,7 @@ export interface StepScalingPolicyConfiguration { *

    DynamoDB global secondary indexes

    *
  • *
  • - *

    Amazon Comprehend document classification endpoints

    + *

    Amazon Comprehend document classification and entity recognizer endpoints

    *
  • *
  • *

    Lambda provisioned concurrency

    @@ -1625,10 +1758,20 @@ export interface StepScalingPolicyConfiguration { *
  • *

    Amazon Keyspaces tables

    *
  • + *
  • + *

    Amazon MSK cluster storage

    + *
  • *
*/ Cooldown?: number; + /** + *

The aggregation type for the CloudWatch metrics. Valid values are Minimum, + * Maximum, and Average. If the aggregation type is null, the + * value is treated as Average.

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

A set of adjustments that enable you to scale based on the size of the alarm * breach.

@@ -1638,28 +1781,13 @@ export interface StepScalingPolicyConfiguration { StepAdjustments?: StepAdjustment[]; /** - *

Specifies whether the ScalingAdjustment value in a StepAdjustment is an absolute number or a percentage of the current capacity.

- *

- * AdjustmentType is required if you are adding a new step scaling policy - * configuration.

- */ - AdjustmentType?: AdjustmentType | string; - - /** - *

The aggregation type for the CloudWatch metrics. Valid values are Minimum, - * Maximum, and Average. If the aggregation type is null, the - * value is treated as Average.

- */ - MetricAggregationType?: MetricAggregationType | string; - - /** - *

The minimum value to scale by when scaling by percentages. For example, suppose that you - * create a step scaling policy to scale out an Amazon ECS service by 25 percent and you specify a + *

The minimum value to scale by when the adjustment type is + * PercentChangeInCapacity. For example, suppose that you create a step + * scaling policy to scale out an Amazon ECS service by 25 percent and you specify a * MinAdjustmentMagnitude of 2. If the service has 4 tasks and the scaling * policy is performed, 25 percent of 4 is 1. However, because you specified a * MinAdjustmentMagnitude of 2, Application Auto Scaling scales out the service by 2 * tasks.

- *

Valid only if the adjustment type is PercentChangeInCapacity.

*/ MinAdjustmentMagnitude?: number; } @@ -1675,14 +1803,14 @@ export namespace StepScalingPolicyConfiguration { */ export interface MetricDimension { /** - *

The value of the dimension.

+ *

The name of the dimension.

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

The name of the dimension.

+ *

The value of the dimension.

*/ - Name: string | undefined; + Value: string | undefined; } export namespace MetricDimension { @@ -1725,9 +1853,9 @@ export enum MetricStatistic { */ export interface CustomizedMetricSpecification { /** - *

The statistic of the metric.

+ *

The namespace of the metric.

*/ - Statistic: MetricStatistic | string | undefined; + Namespace: string | undefined; /** *

The dimensions of the metric.

@@ -1737,19 +1865,19 @@ export interface CustomizedMetricSpecification { Dimensions?: MetricDimension[]; /** - *

The unit of the metric.

+ *

The name of the metric.

*/ - Unit?: string; + MetricName: string | undefined; /** - *

The name of the metric.

+ *

The statistic of the metric.

*/ - MetricName: string | undefined; + Statistic: MetricStatistic | string | undefined; /** - *

The namespace of the metric.

+ *

The unit of the metric.

*/ - Namespace: string | undefined; + Unit?: string; } export namespace CustomizedMetricSpecification { @@ -1771,6 +1899,7 @@ export enum MetricType { EC2SpotFleetRequestAverageNetworkOut = "EC2SpotFleetRequestAverageNetworkOut", ECSServiceAverageCPUUtilization = "ECSServiceAverageCPUUtilization", ECSServiceAverageMemoryUtilization = "ECSServiceAverageMemoryUtilization", + KafkaBrokerStorageUtilization = "KafkaBrokerStorageUtilization", LambdaProvisionedConcurrencyUtilization = "LambdaProvisionedConcurrencyUtilization", RDSReaderAverageCPUUtilization = "RDSReaderAverageCPUUtilization", RDSReaderAverageDatabaseConnections = "RDSReaderAverageDatabaseConnections", @@ -1786,19 +1915,13 @@ export enum MetricType { * with CloudWatch in the Application Auto Scaling User Guide.

*/ export interface PredefinedMetricSpecification { - /** - *

The metric type. The ALBRequestCountPerTarget metric type applies only to - * Spot Fleet requests and ECS services.

- */ - PredefinedMetricType: MetricType | string | undefined; - /** *

Identifies the resource associated with the metric type. You can't specify a resource * label unless the metric type is ALBRequestCountPerTarget and there is a target * group attached to the Spot Fleet request or ECS service.

- * - *

Elastic Load Balancing sends data about your load balancers to Amazon CloudWatch. CloudWatch collects - * the data and specifies the format to use to access the data. The format is + *

You create the resource label by appending the final portion of the load balancer ARN + * and the final portion of the target group ARN into a single value, separated by a forward + * slash (/). The format is * app///targetgroup//, * where:

*
    @@ -1811,10 +1934,18 @@ export interface PredefinedMetricSpecification { * of the target group ARN.

    * *
+ *

This is an example: + * app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d.

*

To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use * the DescribeTargetGroups API operation.

*/ ResourceLabel?: string; + + /** + *

The metric type. The ALBRequestCountPerTarget metric type applies only to + * Spot Fleet requests and ECS services.

+ */ + PredefinedMetricType: MetricType | string | undefined; } export namespace PredefinedMetricSpecification { @@ -1828,14 +1959,40 @@ export namespace PredefinedMetricSpecification { */ export interface TargetTrackingScalingPolicyConfiguration { /** - *

The amount of time, in seconds, to wait for a previous scale-out activity to take - * effect.

- *

With the scale-out cooldown period, the intention is to - * continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using - * a target tracking scaling policy, it starts to calculate the cooldown time. While the - * scale-out cooldown period is in effect, the capacity added by the initiating scale-out - * activity is calculated as part of the desired capacity for the next scale-out - * activity.

+ *

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) + * or 2e-360 to 2e360 (Base 2).

+ */ + TargetValue: number | undefined; + + /** + *

A predefined metric. You can specify either a predefined metric or a customized + * metric.

+ */ + PredefinedMetricSpecification?: PredefinedMetricSpecification; + + /** + *

Indicates whether scale in by the target tracking scaling policy is disabled. If the + * value is true, scale in is disabled and the target tracking scaling policy + * won't remove capacity from the scalable target. Otherwise, scale in is enabled and the + * target tracking scaling policy can remove capacity from the scalable target. The default + * value is false.

+ */ + DisableScaleIn?: boolean; + + /** + *

A customized metric. You can specify either a predefined metric or a customized + * metric.

+ */ + CustomizedMetricSpecification?: CustomizedMetricSpecification; + + /** + *

The amount of time, in seconds, after a scale-in activity completes before another + * scale-in activity can start.

+ *

With the scale-in cooldown period, the intention is to scale in + * conservatively to protect your application’s availability, so scale-in activities are blocked + * until the cooldown period has expired. However, if another alarm triggers a scale-out activity + * during the scale-in cooldown period, Application Auto Scaling scales out the target immediately. In this case, + * the scale-in cooldown period stops and doesn't complete.

*

Application Auto Scaling provides a default value of 300 for the following scalable targets:

*
    *
  • @@ -1869,7 +2026,7 @@ export interface TargetTrackingScalingPolicyConfiguration { *

    DynamoDB global secondary indexes

    *
  • *
  • - *

    Amazon Comprehend document classification endpoints

    + *

    Amazon Comprehend document classification and entity recognizer endpoints

    *
  • *
  • *

    Lambda provisioned concurrency

    @@ -1877,30 +2034,23 @@ export interface TargetTrackingScalingPolicyConfiguration { *
  • *

    Amazon Keyspaces tables

    *
  • + *
  • + *

    Amazon MSK cluster storage

    + *
  • *
*/ - ScaleOutCooldown?: number; - - /** - *

A customized metric. You can specify either a predefined metric or a customized - * metric.

- */ - CustomizedMetricSpecification?: CustomizedMetricSpecification; - - /** - *

A predefined metric. You can specify either a predefined metric or a customized - * metric.

- */ - PredefinedMetricSpecification?: PredefinedMetricSpecification; + ScaleInCooldown?: number; /** - *

The amount of time, in seconds, after a scale-in activity completes before another - * scale-in activity can start.

- *

With the scale-in cooldown period, the intention is to scale in - * conservatively to protect your application’s availability, so scale-in activities are - * blocked until the cooldown period has expired. However, if another alarm triggers a - * scale-out activity during the scale-in cooldown period, Application Auto Scaling scales out the target - * immediately. In this case, the scale-in cooldown period stops and doesn't complete.

+ *

The amount of time, in seconds, to wait for a previous scale-out activity to take + * effect.

+ *

With the scale-out cooldown period, the intention is to continuously + * (but not excessively) scale out. After Application Auto Scaling successfully scales out using a target + * tracking scaling policy, it starts to calculate the cooldown time. The scaling policy won't + * increase the desired capacity again unless either a larger scale out is triggered or the + * cooldown period ends. While the cooldown period is in effect, the capacity added by the + * initiating scale-out activity is calculated as part of the desired capacity for the next + * scale-out activity.

*

Application Auto Scaling provides a default value of 300 for the following scalable targets:

*
    *
  • @@ -1934,7 +2084,7 @@ export interface TargetTrackingScalingPolicyConfiguration { *

    DynamoDB global secondary indexes

    *
  • *
  • - *

    Amazon Comprehend document classification endpoints

    + *

    Amazon Comprehend document classification and entity recognizer endpoints

    *
  • *
  • *

    Lambda provisioned concurrency

    @@ -1942,24 +2092,12 @@ export interface TargetTrackingScalingPolicyConfiguration { *
  • *

    Amazon Keyspaces tables

    *
  • + *
  • + *

    Amazon MSK cluster storage

    + *
  • *
*/ - ScaleInCooldown?: number; - - /** - *

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) - * or 2e-360 to 2e360 (Base 2).

- */ - TargetValue: number | undefined; - - /** - *

Indicates whether scale in by the target tracking scaling policy is disabled. If the - * value is true, scale in is disabled and the target tracking scaling policy - * won't remove capacity from the scalable target. Otherwise, scale in is enabled and the - * target tracking scaling policy can remove capacity from the scalable target. The default - * value is false.

- */ - DisableScaleIn?: boolean; + ScaleOutCooldown?: number; } export namespace TargetTrackingScalingPolicyConfiguration { @@ -1970,11 +2108,43 @@ export namespace TargetTrackingScalingPolicyConfiguration { /** *

Represents a scaling policy to use with Application Auto Scaling.

+ *

For more information about configuring scaling policies for a specific service, see Getting started with Application Auto Scaling in the Application Auto Scaling User Guide.

*/ export interface ScalingPolicy { + /** + *

The CloudWatch alarms associated with the scaling policy.

+ */ + Alarms?: Alarm[]; + + /** + *

A step scaling policy.

+ */ + StepScalingPolicyConfiguration?: StepScalingPolicyConfiguration; + + /** + *

The namespace of the AWS service that provides the resource, or a + * custom-resource.

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

The Unix timestamp for when the scaling policy was created.

+ */ + CreationTime: Date | undefined; + + /** + *

The scaling policy type.

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

The Amazon Resource Name (ARN) of the scaling policy.

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

The identifier of the resource associated with the scaling policy. - * This string consists of the resource type and unique identifier.

+ * This string consists of the resource type and unique identifier.

*
    *
  • *

    ECS service - The resource type is service and the unique identifier is the cluster name @@ -2017,6 +2187,9 @@ export interface ScalingPolicy { *

    Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

    *
  • *
  • + *

    Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

    + *
  • + *
  • *

    Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. * Example: function:my-function:prod or function:my-function:1.

    *
  • @@ -2024,19 +2197,23 @@ export interface ScalingPolicy { *

    Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. * Example: keyspace/mykeyspace/table/mytable.

    * + *
  • + *

    Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

    + *
  • *
*/ ResourceId: string | undefined; /** - *

The Amazon Resource Name (ARN) of the scaling policy.

+ *

A target tracking scaling policy.

*/ - PolicyARN: string | undefined; + TargetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration; /** - *

A target tracking scaling policy.

+ *

The name of the scaling policy.

*/ - TargetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration; + PolicyName: string | undefined; /** *

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

@@ -2091,6 +2268,10 @@ export interface ScalingPolicy { * *
  • *

    + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

    + *
  • + *
  • + *

    * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    *
  • *
  • @@ -2101,40 +2282,13 @@ export interface ScalingPolicy { *

    * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • + *
  • + *

    + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    + *
  • * */ ScalableDimension: ScalableDimension | string | undefined; - - /** - *

    The scaling policy type.

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

    The CloudWatch alarms associated with the scaling policy.

    - */ - Alarms?: Alarm[]; - - /** - *

    A step scaling policy.

    - */ - StepScalingPolicyConfiguration?: StepScalingPolicyConfiguration; - - /** - *

    The name of the scaling policy.

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

    The namespace of the AWS service that provides the resource, or a - * custom-resource.

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

    The Unix timestamp for when the scaling policy was created.

    - */ - CreationTime: Date | undefined; } export namespace ScalingPolicy { @@ -2181,6 +2335,80 @@ export namespace FailedResourceAccessException { } export interface DescribeScheduledActionsRequest { + /** + *

    The identifier of the resource associated with the scheduled action. + * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

    + *
      + *
    • + *

      ECS service - The resource type is service and the unique identifier is the cluster name + * and service name. Example: service/default/sample-webapp.

      + *
    • + *
    • + *

      Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the + * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

      + *
    • + *
    • + *

      EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. + * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

      + *
    • + *
    • + *

      AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. + * Example: fleet/sample-fleet.

      + *
    • + *
    • + *

      DynamoDB table - The resource type is table and the unique identifier is the table name. + * Example: table/my-table.

      + *
    • + *
    • + *

      DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. + * Example: table/my-table/index/my-table-index.

      + *
    • + *
    • + *

      Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. + * Example: cluster:my-db-cluster.

      + *
    • + *
    • + *

      Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. + * Example: endpoint/my-end-point/variant/KMeansClustering.

      + *
    • + *
    • + *

      Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information + * is available in our GitHub + * repository.

      + *
    • + *
    • + *

      Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

      + *
    • + *
    • + *

      Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

      + *
    • + *
    • + *

      Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. + * Example: function:my-function:prod or function:my-function:1.

      + *
    • + *
    • + *

      Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. + * Example: keyspace/mykeyspace/table/mytable.

      + *
    • + *
    • + *

      Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

      + *
    • + *
    + */ + ResourceId?: string; + + /** + *

    The maximum number of scheduled action results. This value can be between + * 1 and 50. The default value is 50.

    + *

    If this parameter is used, the operation returns up to MaxResults results + * at a time, along with a NextToken value. To get the next set of results, + * include the NextToken value in a subsequent call. If this parameter is not + * used, the operation returns up to 50 results and a + * NextToken value, if applicable.

    + */ + MaxResults?: number; + /** *

    The names of the scheduled actions to describe.

    */ @@ -2188,7 +2416,7 @@ export interface DescribeScheduledActionsRequest { /** *

    The scalable dimension. This string consists of the service namespace, resource type, and scaling property. - * If you specify a scalable dimension, you must also specify a resource ID.

    + * If you specify a scalable dimension, you must also specify a resource ID.

    *
      *
    • *

      @@ -2240,6 +2468,10 @@ export interface DescribeScheduledActionsRequest { *

    • *
    • *

      + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

      + *
    • + *
    • + *

      * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

      *
    • *
    • @@ -2250,65 +2482,13 @@ export interface DescribeScheduledActionsRequest { *

      * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

      *
    • - *
    - */ - ScalableDimension?: ScalableDimension | string; - - /** - *

    The identifier of the resource associated with the scheduled action. - * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

    - *
      - *
    • - *

      ECS service - The resource type is service and the unique identifier is the cluster name - * and service name. Example: service/default/sample-webapp.

      - *
    • - *
    • - *

      Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the - * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

      - *
    • - *
    • - *

      EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. - * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

      - *
    • - *
    • - *

      AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. - * Example: fleet/sample-fleet.

      - *
    • - *
    • - *

      DynamoDB table - The resource type is table and the unique identifier is the table name. - * Example: table/my-table.

      - *
    • - *
    • - *

      DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. - * Example: table/my-table/index/my-table-index.

      - *
    • - *
    • - *

      Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. - * Example: cluster:my-db-cluster.

      - *
    • - *
    • - *

      Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. - * Example: endpoint/my-end-point/variant/KMeansClustering.

      - *
    • - *
    • - *

      Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information - * is available in our GitHub - * repository.

      - *
    • - *
    • - *

      Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

      - *
    • - *
    • - *

      Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. - * Example: function:my-function:prod or function:my-function:1.

      - *
    • *
    • - *

      Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. - * Example: keyspace/mykeyspace/table/mytable.

      + *

      + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

      *
    • *
    */ - ResourceId?: string; + ScalableDimension?: ScalableDimension | string; /** *

    The token for the next set of results.

    @@ -2320,17 +2500,6 @@ export interface DescribeScheduledActionsRequest { * by your own application or service, use custom-resource instead.

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

    The maximum number of scheduled action results. This value can be between - * 1 and 50. The default value is 50.

    - *

    If this parameter is used, the operation returns up to MaxResults results - * at a time, along with a NextToken value. To get the next set of results, - * include the NextToken value in a subsequent call. If this parameter is not - * used, the operation returns up to 50 results and a - * NextToken value, if applicable.

    - */ - MaxResults?: number; } export namespace DescribeScheduledActionsRequest { @@ -2344,16 +2513,23 @@ export namespace DescribeScheduledActionsRequest { */ export interface ScalableTargetAction { /** - *

    The minimum capacity.

    - *

    For Lambda provisioned concurrency, the minimum value allowed is 0. For all other - * resources, the minimum value allowed is 1.

    + *

    The maximum capacity.

    + *

    Although you can specify a large maximum capacity, note that service quotas may impose + * lower limits. Each service has its own default quotas for the maximum capacity of the + * resource. If you want to specify a higher limit, you can request an increase. For more + * information, consult the documentation for that service. For information about the default + * quotas for each service, see Service Endpoints and + * Quotas in the Amazon Web Services General Reference.

    */ - MinCapacity?: number; + MaxCapacity?: number; /** - *

    The maximum capacity.

    + *

    The minimum capacity.

    + *

    For certain resources, the minimum value allowed is 0. This includes Lambda provisioned + * concurrency, Spot Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. + * For all other resources, the minimum value allowed is 1.

    */ - MaxCapacity?: number; + MinCapacity?: number; } export namespace ScalableTargetAction { @@ -2367,9 +2543,14 @@ export namespace ScalableTargetAction { */ export interface ScheduledAction { /** - *

    The Amazon Resource Name (ARN) of the scheduled action.

    + *

    The name of the scheduled action.

    */ - ScheduledActionARN: string | undefined; + ScheduledActionName: string | undefined; + + /** + *

    The date and time that the action is scheduled to end.

    + */ + EndTime?: Date; /** *

    The namespace of the AWS service that provides the resource, or a @@ -2378,26 +2559,77 @@ export interface ScheduledAction { ServiceNamespace: ServiceNamespace | string | undefined; /** - *

    The schedule for this action. The following formats are supported:

    + *

    The identifier of the resource associated with the scaling policy. + * This string consists of the resource type and unique identifier.

    *
      *
    • - *

      At expressions - "at(yyyy-mm-ddThh:mm:ss)"

      - *
    • + *

      ECS service - The resource type is service and the unique identifier is the cluster name + * and service name. Example: service/default/sample-webapp.

      + * *
    • - *

      Rate expressions - "rate(value - * unit)"

      - *
    • + *

      Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the + * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

      + * *
    • - *

      Cron expressions - "cron(fields)"

      - *
    • + *

      EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. + * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

      + * + *
    • + *

      AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. + * Example: fleet/sample-fleet.

      + *
    • + *
    • + *

      DynamoDB table - The resource type is table and the unique identifier is the table name. + * Example: table/my-table.

      + *
    • + *
    • + *

      DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. + * Example: table/my-table/index/my-table-index.

      + *
    • + *
    • + *

      Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. + * Example: cluster:my-db-cluster.

      + *
    • + *
    • + *

      Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. + * Example: endpoint/my-end-point/variant/KMeansClustering.

      + *
    • + *
    • + *

      Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information + * is available in our GitHub + * repository.

      + *
    • + *
    • + *

      Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

      + *
    • + *
    • + *

      Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

      + *
    • + *
    • + *

      Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. + * Example: function:my-function:prod or function:my-function:1.

      + *
    • + *
    • + *

      Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. + * Example: keyspace/mykeyspace/table/mytable.

      + *
    • + *
    • + *

      Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

      + *
    • *
    - *

    At expressions are useful for one-time schedules. Specify the time in UTC.

    - *

    For rate expressions, value is a positive integer and unit is - * minute | minutes | hour | hours | day | days.

    - *

    For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

    - *

    For examples of using these expressions, see Scheduled Scaling in the Application Auto Scaling User Guide.

    */ - Schedule: string | undefined; + ResourceId: string | undefined; + + /** + *

    The date and time that the scheduled action was created.

    + */ + CreationTime: Date | undefined; + + /** + *

    The date and time that the action is scheduled to begin.

    + */ + StartTime?: Date; /** *

    The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

    @@ -2452,6 +2684,10 @@ export interface ScheduledAction { * *
  • *

    + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

    + *
  • + *
  • + *

    * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

    *
  • *
  • @@ -2462,19 +2698,35 @@ export interface ScheduledAction { *

    * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

    *
  • + *
  • + *

    + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

    + *
  • * */ ScalableDimension?: ScalableDimension | string; /** - *

    The name of the scheduled action.

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

    The date and time that the scheduled action was created.

    + *

    The schedule for this action. The following formats are supported:

    + *
      + *
    • + *

      At expressions - "at(yyyy-mm-ddThh:mm:ss)"

      + *
    • + *
    • + *

      Rate expressions - "rate(value + * unit)"

      + *
    • + *
    • + *

      Cron expressions - "cron(fields)"

      + *
    • + *
    + *

    At expressions are useful for one-time schedules. Specify the time in UTC.

    + *

    For rate expressions, value is a positive integer and unit is + * minute | minutes | hour | hours | day | days.

    + *

    For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

    + *

    For examples of using these expressions, see Scheduled Scaling in the Application Auto Scaling User Guide.

    */ - CreationTime: Date | undefined; + Schedule: string | undefined; /** *

    The new minimum and maximum capacity. You can set both values or just one. At the @@ -2485,70 +2737,9 @@ export interface ScheduledAction { ScalableTargetAction?: ScalableTargetAction; /** - *

    The date and time that the action is scheduled to end.

    - */ - EndTime?: Date; - - /** - *

    The date and time that the action is scheduled to begin.

    - */ - StartTime?: Date; - - /** - *

    The identifier of the resource associated with the scaling policy. - * This string consists of the resource type and unique identifier.

    - *
      - *
    • - *

      ECS service - The resource type is service and the unique identifier is the cluster name - * and service name. Example: service/default/sample-webapp.

      - *
    • - *
    • - *

      Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the - * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

      - *
    • - *
    • - *

      EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. - * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

      - *
    • - *
    • - *

      AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. - * Example: fleet/sample-fleet.

      - *
    • - *
    • - *

      DynamoDB table - The resource type is table and the unique identifier is the table name. - * Example: table/my-table.

      - *
    • - *
    • - *

      DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. - * Example: table/my-table/index/my-table-index.

      - *
    • - *
    • - *

      Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. - * Example: cluster:my-db-cluster.

      - *
    • - *
    • - *

      Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. - * Example: endpoint/my-end-point/variant/KMeansClustering.

      - *
    • - *
    • - *

      Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information - * is available in our GitHub - * repository.

      - *
    • - *
    • - *

      Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

      - *
    • - *
    • - *

      Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. - * Example: function:my-function:prod or function:my-function:1.

      - *
    • - *
    • - *

      Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. - * Example: keyspace/mykeyspace/table/mytable.

      - *
    • - *
    + *

    The Amazon Resource Name (ARN) of the scheduled action.

    */ - ResourceId: string | undefined; + ScheduledActionARN: string | undefined; } export namespace ScheduledAction { @@ -2592,82 +2783,6 @@ export namespace LimitExceededException { } export interface PutScalingPolicyRequest { - /** - *

    The policy type. This parameter is required if you are creating a scaling policy.

    - *

    The following policy types are supported:

    - *

    - * TargetTrackingScaling—Not supported for Amazon EMR

    - *

    - * StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, or Amazon Keyspaces (for - * Apache Cassandra).

    - *

    For more information, see Target Tracking Scaling Policies and Step Scaling Policies in the Application Auto Scaling User Guide.

    - */ - PolicyType?: PolicyType | string; - - /** - *

    The identifier of the resource associated with the scaling policy. - * This string consists of the resource type and unique identifier.

    - *
      - *
    • - *

      ECS service - The resource type is service and the unique identifier is the cluster name - * and service name. Example: service/default/sample-webapp.

      - *
    • - *
    • - *

      Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the - * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

      - *
    • - *
    • - *

      EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. - * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

      - *
    • - *
    • - *

      AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. - * Example: fleet/sample-fleet.

      - *
    • - *
    • - *

      DynamoDB table - The resource type is table and the unique identifier is the table name. - * Example: table/my-table.

      - *
    • - *
    • - *

      DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. - * Example: table/my-table/index/my-table-index.

      - *
    • - *
    • - *

      Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. - * Example: cluster:my-db-cluster.

      - *
    • - *
    • - *

      Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. - * Example: endpoint/my-end-point/variant/KMeansClustering.

      - *
    • - *
    • - *

      Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information - * is available in our GitHub - * repository.

      - *
    • - *
    • - *

      Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

      - *
    • - *
    • - *

      Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. - * Example: function:my-function:prod or function:my-function:1.

      - *
    • - *
    • - *

      Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. - * Example: keyspace/mykeyspace/table/mytable.

      - *
    • - *
    - */ - ResourceId: string | undefined; - - /** - *

    A target tracking scaling policy. Includes support for predefined or customized - * metrics.

    - *

    This parameter is required if you are creating a policy and the policy type is - * TargetTrackingScaling.

    - */ - TargetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration; - /** *

    The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

    *
      @@ -2721,6 +2836,10 @@ export interface PutScalingPolicyRequest { * *
    • *

      + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

      + *
    • + *
    • + *

      * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

      *
    • *
    • @@ -2731,57 +2850,17 @@ export interface PutScalingPolicyRequest { *

      * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

      *
    • + *
    • + *

      + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

      + *
    • *
    */ ScalableDimension: ScalableDimension | string | undefined; /** - *

    A step scaling policy.

    - *

    This parameter is required if you are creating a policy and the policy type is - * StepScaling.

    - */ - StepScalingPolicyConfiguration?: StepScalingPolicyConfiguration; - - /** - *

    The name of the scaling policy.

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

    The namespace of the AWS service that provides the resource. For a resource provided - * by your own application or service, use custom-resource instead.

    - */ - ServiceNamespace: ServiceNamespace | string | undefined; -} - -export namespace PutScalingPolicyRequest { - export const filterSensitiveLog = (obj: PutScalingPolicyRequest): any => ({ - ...obj, - }); -} - -export interface PutScalingPolicyResponse { - /** - *

    The Amazon Resource Name (ARN) of the resulting scaling policy.

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

    The CloudWatch alarms created for the target tracking scaling policy.

    - */ - Alarms?: Alarm[]; -} - -export namespace PutScalingPolicyResponse { - export const filterSensitiveLog = (obj: PutScalingPolicyResponse): any => ({ - ...obj, - }); -} - -export interface PutScheduledActionRequest { - /** - *

    The identifier of the resource associated with the scheduled action. - * This string consists of the resource type and unique identifier.

    + *

    The identifier of the resource associated with the scaling policy. + * This string consists of the resource type and unique identifier.

    *
      *
    • *

      ECS service - The resource type is service and the unique identifier is the cluster name @@ -2824,6 +2903,9 @@ export interface PutScheduledActionRequest { *

      Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

      *
    • *
    • + *

      Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

      + *
    • + *
    • *

      Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. * Example: function:my-function:prod or function:my-function:1.

      *
    • @@ -2831,20 +2913,106 @@ export interface PutScheduledActionRequest { *

      Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. * Example: keyspace/mykeyspace/table/mytable.

      * + *
    • + *

      Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

      + *
    • *
    */ - ResourceId: string | undefined; + ResourceId: string | undefined; + + /** + *

    The policy type. This parameter is required if you are creating a scaling policy.

    + *

    The following policy types are supported:

    + *

    + * TargetTrackingScaling—Not supported for Amazon EMR

    + *

    + * StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces (for + * Apache Cassandra), or Amazon MSK.

    + *

    For more information, see Target + * Tracking Scaling Policies and Step Scaling Policies in the Application Auto Scaling User Guide.

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

    The name of the scaling policy.

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

    The namespace of the AWS service that provides the resource. For a resource provided + * by your own application or service, use custom-resource instead.

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

    The date and time for the recurring schedule to end.

    + *

    A step scaling policy.

    + *

    This parameter is required if you are creating a policy and the policy type is + * StepScaling.

    */ - EndTime?: Date; + StepScalingPolicyConfiguration?: StepScalingPolicyConfiguration; + + /** + *

    A target tracking scaling policy. Includes support for predefined or customized + * metrics.

    + *

    This parameter is required if you are creating a policy and the policy type is + * TargetTrackingScaling.

    + */ + TargetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration; +} + +export namespace PutScalingPolicyRequest { + export const filterSensitiveLog = (obj: PutScalingPolicyRequest): any => ({ + ...obj, + }); +} + +export interface PutScalingPolicyResponse { + /** + *

    The CloudWatch alarms created for the target tracking scaling policy.

    + */ + Alarms?: Alarm[]; + + /** + *

    The Amazon Resource Name (ARN) of the resulting scaling policy.

    + */ + PolicyARN: string | undefined; +} +export namespace PutScalingPolicyResponse { + export const filterSensitiveLog = (obj: PutScalingPolicyResponse): any => ({ + ...obj, + }); +} + +export interface PutScheduledActionRequest { /** *

    The date and time for this scheduled action to start.

    */ StartTime?: Date; + /** + *

    The schedule for this action. The following formats are supported:

    + *
      + *
    • + *

      At expressions - "at(yyyy-mm-ddThh:mm:ss)"

      + *
    • + *
    • + *

      Rate expressions - "rate(value + * unit)"

      + *
    • + *
    • + *

      Cron expressions - "cron(fields)"

      + *
    • + *
    + *

    At expressions are useful for one-time schedules. Specify the time in UTC.

    + *

    For rate expressions, value is a positive integer and unit is + * minute | minutes | hour | hours | day | days.

    + *

    For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

    + *

    For examples of using these expressions, see Scheduled Scaling in the Application Auto Scaling User Guide.

    + */ + Schedule?: string; + /** *

    The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

    *
      @@ -2898,6 +3066,10 @@ export interface PutScheduledActionRequest { * *
    • *

      + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

      + *
    • + *
    • + *

      * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

      *
    • *
    • @@ -2908,43 +3080,13 @@ export interface PutScheduledActionRequest { *

      * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

      *
    • - *
    - */ - ScalableDimension: ScalableDimension | string | undefined; - - /** - *

    The schedule for this action. The following formats are supported:

    - *
      - *
    • - *

      At expressions - "at(yyyy-mm-ddThh:mm:ss)"

      - *
    • - *
    • - *

      Rate expressions - "rate(value - * unit)"

      - *
    • *
    • - *

      Cron expressions - "cron(fields)"

      - *
    • + *

      + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

      + * *
    - *

    At expressions are useful for one-time schedules. Specify the time in UTC.

    - *

    For rate expressions, value is a positive integer and unit is - * minute | minutes | hour | hours | day | days.

    - *

    For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

    - *

    For examples of using these expressions, see Scheduled Scaling in the Application Auto Scaling User Guide.

    - */ - Schedule?: string; - - /** - *

    The namespace of the AWS service that provides the resource. For a resource provided - * by your own application or service, use custom-resource instead.

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

    The name of the scheduled action. This name must be unique among all other scheduled - * actions on the specified scalable target.

    */ - ScheduledActionName: string | undefined; + ScalableDimension: ScalableDimension | string | undefined; /** *

    The new minimum and maximum capacity. You can set both values or just one. At the @@ -2953,45 +3095,22 @@ export interface PutScheduledActionRequest { * scales in to the maximum capacity.

    */ ScalableTargetAction?: ScalableTargetAction; -} - -export namespace PutScheduledActionRequest { - export const filterSensitiveLog = (obj: PutScheduledActionRequest): any => ({ - ...obj, - }); -} - -export interface PutScheduledActionResponse {} - -export namespace PutScheduledActionResponse { - export const filterSensitiveLog = (obj: PutScheduledActionResponse): any => ({ - ...obj, - }); -} -export interface RegisterScalableTargetRequest { /** - *

    The minimum value that you plan to scale in to. When a scaling policy is in effect, - * Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to - * changing demand.

    - *

    This parameter is required if you are registering a scalable target. For certain - * resources, the minimum value allowed is 0. This includes Lambda provisioned concurrency, - * Spot Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. For all - * other resources, the minimum value allowed is 1.

    + *

    The name of the scheduled action. This name must be unique among all other scheduled + * actions on the specified scalable target.

    */ - MinCapacity?: number; + ScheduledActionName: string | undefined; /** - *

    The maximum value that you plan to scale out to. When a scaling policy is in effect, - * Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to - * changing demand.

    - *

    This parameter is required if you are registering a scalable target.

    + *

    The namespace of the AWS service that provides the resource. For a resource provided + * by your own application or service, use custom-resource instead.

    */ - MaxCapacity?: number; + ServiceNamespace: ServiceNamespace | string | undefined; /** - *

    The identifier of the resource that is associated with the scalable target. - * This string consists of the resource type and unique identifier.

    + *

    The identifier of the resource associated with the scheduled action. + * This string consists of the resource type and unique identifier.

    *
      *
    • *

      ECS service - The resource type is service and the unique identifier is the cluster name @@ -3034,6 +3153,9 @@ export interface RegisterScalableTargetRequest { *

      Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

      *
    • *
    • + *

      Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

      + *
    • + *
    • *

      Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. * Example: function:my-function:prod or function:my-function:1.

      *
    • @@ -3041,10 +3163,35 @@ export interface RegisterScalableTargetRequest { *

      Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. * Example: keyspace/mykeyspace/table/mytable.

      * + *
    • + *

      Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

      + *
    • *
    */ ResourceId: string | undefined; + /** + *

    The date and time for the recurring schedule to end.

    + */ + EndTime?: Date; +} + +export namespace PutScheduledActionRequest { + export const filterSensitiveLog = (obj: PutScheduledActionRequest): any => ({ + ...obj, + }); +} + +export interface PutScheduledActionResponse {} + +export namespace PutScheduledActionResponse { + export const filterSensitiveLog = (obj: PutScheduledActionResponse): any => ({ + ...obj, + }); +} + +export interface RegisterScalableTargetRequest { /** *

    An embedded object that contains attributes and attribute values that are used to * suspend and resume automatic scaling. Setting the value of an attribute to @@ -3072,15 +3219,6 @@ export interface RegisterScalableTargetRequest { */ SuspendedState?: SuspendedState; - /** - *

    This parameter is required for services that do not support service-linked roles (such - * as Amazon EMR), and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the - * scalable target on your behalf.

    - *

    If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, which - * it creates if it does not yet exist. For more information, see Application Auto Scaling IAM Roles.

    - */ - RoleARN?: string; - /** *

    The namespace of the AWS service that provides the resource. For a resource provided * by your own application or service, use custom-resource instead.

    @@ -3089,7 +3227,7 @@ export interface RegisterScalableTargetRequest { /** *

    The scalable dimension associated with the scalable target. - * This string consists of the service namespace, resource type, and scaling property.

    + * This string consists of the service namespace, resource type, and scaling property.

    *
      *
    • *

      @@ -3141,6 +3279,10 @@ export interface RegisterScalableTargetRequest { *

    • *
    • *

      + * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.

      + *
    • + *
    • + *

      * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

      *
    • *
    • @@ -3151,9 +3293,110 @@ export interface RegisterScalableTargetRequest { *

      * cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

      *
    • + *
    • + *

      + * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.

      + *
    • *
    */ ScalableDimension: ScalableDimension | string | undefined; + + /** + *

    The maximum value that you plan to scale out to. When a scaling policy is in effect, + * Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to + * changing demand.

    + *

    This parameter is required if you are registering a scalable target.

    + *

    Although you can specify a large maximum capacity, note that service quotas may impose + * lower limits. Each service has its own default quotas for the maximum capacity of the + * resource. If you want to specify a higher limit, you can request an increase. For more + * information, consult the documentation for that service. For information about the default + * quotas for each service, see Service Endpoints and + * Quotas in the Amazon Web Services General Reference.

    + */ + MaxCapacity?: number; + + /** + *

    The minimum value that you plan to scale in to. When a scaling policy is in effect, + * Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to + * changing demand.

    + *

    This parameter is required if you are registering a scalable target. For certain + * resources, the minimum value allowed is 0. This includes Lambda provisioned concurrency, Spot + * Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. For all other + * resources, the minimum value allowed is 1.

    + */ + MinCapacity?: number; + + /** + *

    The identifier of the resource that is associated with the scalable target. + * This string consists of the resource type and unique identifier.

    + *
      + *
    • + *

      ECS service - The resource type is service and the unique identifier is the cluster name + * and service name. Example: service/default/sample-webapp.

      + *
    • + *
    • + *

      Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the + * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

      + *
    • + *
    • + *

      EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. + * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

      + *
    • + *
    • + *

      AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. + * Example: fleet/sample-fleet.

      + *
    • + *
    • + *

      DynamoDB table - The resource type is table and the unique identifier is the table name. + * Example: table/my-table.

      + *
    • + *
    • + *

      DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. + * Example: table/my-table/index/my-table-index.

      + *
    • + *
    • + *

      Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. + * Example: cluster:my-db-cluster.

      + *
    • + *
    • + *

      Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. + * Example: endpoint/my-end-point/variant/KMeansClustering.

      + *
    • + *
    • + *

      Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information + * is available in our GitHub + * repository.

      + *
    • + *
    • + *

      Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

      + *
    • + *
    • + *

      Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.

      + *
    • + *
    • + *

      Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. + * Example: function:my-function:prod or function:my-function:1.

      + *
    • + *
    • + *

      Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. + * Example: keyspace/mykeyspace/table/mytable.

      + *
    • + *
    • + *

      Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. + * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.

      + *
    • + *
    + */ + ResourceId: string | undefined; + + /** + *

    This parameter is required for services that do not support service-linked roles (such as + * Amazon EMR), and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable + * target on your behalf.

    + *

    If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, which + * it creates if it does not yet exist. For more information, see Application Auto Scaling IAM Roles.

    + */ + RoleARN?: string; } export namespace RegisterScalableTargetRequest { diff --git a/clients/client-application-discovery-service/models/models_0.ts b/clients/client-application-discovery-service/models/models_0.ts index fc66a7dfa5bb..68aad0397fb6 100644 --- a/clients/client-application-discovery-service/models/models_0.ts +++ b/clients/client-application-discovery-service/models/models_0.ts @@ -86,39 +86,39 @@ export interface AgentInfo { agentId?: string; /** - *

    The ID of the connector.

    + *

    Type of agent.

    */ - connectorId?: string; + agentType?: string; /** - *

    Status of the collection process for an agent or connector.

    + *

    Agent's first registration timestamp in UTC.

    */ - collectionStatus?: string; + registeredTime?: string; /** - *

    Network details about the host where the agent or connector resides.

    + *

    The ID of the connector.

    */ - agentNetworkInfoList?: AgentNetworkInfo[]; + connectorId?: string; /** - *

    The health of the agent or connector.

    + *

    Status of the collection process for an agent or connector.

    */ - health?: AgentStatus | string; + collectionStatus?: string; /** - *

    Agent's first registration timestamp in UTC.

    + *

    The health of the agent or connector.

    */ - registeredTime?: string; + health?: AgentStatus | string; /** - *

    Type of agent.

    + *

    The agent or connector version.

    */ - agentType?: string; + version?: string; /** - *

    The agent or connector version.

    + *

    Network details about the host where the agent or connector resides.

    */ - version?: string; + agentNetworkInfoList?: AgentNetworkInfo[]; } export namespace AgentInfo { @@ -453,6 +453,13 @@ export interface Filter { */ name: string | undefined; + /** + *

    A string value on which to filter. For example, if you choose the + * destinationServer.osVersion filter name, you could specify Ubuntu + * for the value.

    + */ + values: string[] | undefined; + /** *

    A conditional operator. The following operators are valid: EQUALS, NOT_EQUALS, * CONTAINS, NOT_CONTAINS. If you specify multiple filters, the system utilizes all filters as @@ -462,13 +469,6 @@ export interface Filter { * returns attributes of matching configuration items.

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

    A string value on which to filter. For example, if you choose the - * destinationServer.osVersion filter name, you could specify Ubuntu - * for the value.

    - */ - values: string[] | undefined; } export namespace Filter { @@ -567,14 +567,14 @@ export namespace DescribeConfigurationsResponse { export interface DescribeContinuousExportsRequest { /** - *

    The token from the previous call to DescribeExportTasks.

    + *

    The unique IDs assigned to the exports.

    */ - nextToken?: string; + exportIds?: string[]; /** - *

    The unique IDs assigned to the exports.

    + *

    The token from the previous call to DescribeExportTasks.

    */ - exportIds?: string[]; + nextToken?: string; /** *

    A number between 1 and 100 specifying the maximum number of continuous export @@ -608,20 +608,16 @@ export enum ContinuousExportStatus { */ export interface ContinuousExportDescription { /** - *

    The type of data collector used to gather this data (currently only offered for - * AGENT).

    - */ - dataSource?: DataSource | string; - - /** - *

    The timestamp representing when the continuous export was started.

    - */ - startTime?: Date; - - /** - *

    The timestamp that represents when this continuous export was stopped.

    + *

    An object which describes how the data is stored.

    + *
      + *
    • + *

      + * databaseName - the name of the Glue database used to store the + * schema.

      + *
    • + *
    */ - stopTime?: Date; + schemaStorageConfig?: { [key: string]: string }; /** *

    Contains information about any errors that have occurred. This data type can have the @@ -671,21 +667,15 @@ export interface ContinuousExportDescription { statusDetail?: string; /** - *

    The name of the s3 bucket where the export data parquet files are stored.

    + *

    The type of data collector used to gather this data (currently only offered for + * AGENT).

    */ - s3Bucket?: string; + dataSource?: DataSource | string; /** - *

    An object which describes how the data is stored.

    - *
      - *
    • - *

      - * databaseName - the name of the Glue database used to store the - * schema.

      - *
    • - *
    + *

    The name of the s3 bucket where the export data parquet files are stored.

    */ - schemaStorageConfig?: { [key: string]: string }; + s3Bucket?: string; /** *

    Describes the status of the export. Can be one of the following values:

    @@ -723,6 +713,16 @@ export interface ContinuousExportDescription { *

    The unique ID assigned to this export.

    */ exportId?: string; + + /** + *

    The timestamp representing when the continuous export was started.

    + */ + startTime?: Date; + + /** + *

    The timestamp that represents when this continuous export was stopped.

    + */ + stopTime?: Date; } export namespace ContinuousExportDescription { @@ -733,14 +733,14 @@ export namespace ContinuousExportDescription { export interface DescribeContinuousExportsResponse { /** - *

    A list of continuous export descriptions.

    + *

    The token from the previous call to DescribeExportTasks.

    */ - descriptions?: ContinuousExportDescription[]; + nextToken?: string; /** - *

    The token from the previous call to DescribeExportTasks.

    + *

    A list of continuous export descriptions.

    */ - nextToken?: string; + descriptions?: ContinuousExportDescription[]; } export namespace DescribeContinuousExportsResponse { @@ -770,16 +770,16 @@ export interface DescribeExportConfigurationsRequest { */ exportIds?: string[]; - /** - *

    The token from the previous call to describe-export-tasks.

    - */ - nextToken?: string; - /** *

    A number between 1 and 100 specifying the maximum number of continuous export * descriptions returned.

    */ maxResults?: number; + + /** + *

    The token from the previous call to describe-export-tasks.

    + */ + nextToken?: string; } export namespace DescribeExportConfigurationsRequest { @@ -806,11 +806,9 @@ export interface ExportInfo { configurationsDownloadUrl?: string; /** - *

    The endTime used in the StartExportTask request. If no - * endTime was requested, this result does not appear in - * ExportInfo.

    + *

    A status message provided for API callers.

    */ - requestedEndTime?: Date; + statusMessage: string | undefined; /** *

    A unique identifier used to query an export.

    @@ -818,14 +816,16 @@ export interface ExportInfo { exportId: string | undefined; /** - *

    A status message provided for API callers.

    + *

    The time that the data export was initiated.

    */ - statusMessage: string | undefined; + exportRequestTime: Date | undefined; /** - *

    The time that the data export was initiated.

    + *

    The endTime used in the StartExportTask request. If no + * endTime was requested, this result does not appear in + * ExportInfo.

    */ - exportRequestTime: Date | undefined; + requestedEndTime?: Date; /** *

    The value of startTime parameter in the StartExportTask @@ -834,11 +834,6 @@ export interface ExportInfo { */ requestedStartTime?: Date; - /** - *

    The status of the data export job.

    - */ - exportStatus: ExportStatus | string | undefined; - /** *

    If true, the export of agent information exceeded the size limit for a single export * and the exported data is incomplete for the requested time range. To address this, select a @@ -846,6 +841,11 @@ export interface ExportInfo { * endDate.

    */ isTruncated?: boolean; + + /** + *

    The status of the data export job.

    + */ + exportStatus: ExportStatus | string | undefined; } export namespace ExportInfo { @@ -916,11 +916,6 @@ export interface DescribeExportTasksRequest { */ filters?: ExportFilter[]; - /** - *

    One or more unique identifiers used to query the status of an export request.

    - */ - exportIds?: string[]; - /** *

    The maximum number of volume results returned by DescribeExportTasks in * paginated output. When this parameter is used, DescribeExportTasks only returns @@ -929,6 +924,11 @@ export interface DescribeExportTasksRequest { */ maxResults?: number; + /** + *

    One or more unique identifiers used to query the status of an export request.

    + */ + exportIds?: string[]; + /** *

    The nextToken value returned from a previous paginated * DescribeExportTasks request where maxResults was used and the @@ -946,6 +946,13 @@ export namespace DescribeExportTasksRequest { } export interface DescribeExportTasksResponse { + /** + *

    Contains one or more sets of export request details. When the status of a request is + * SUCCEEDED, the response includes a URL for an Amazon S3 bucket where you can + * view the data in a CSV file.

    + */ + exportsInfo?: ExportInfo[]; + /** *

    The nextToken value to include in a future * DescribeExportTasks request. When the results of a @@ -954,13 +961,6 @@ export interface DescribeExportTasksResponse { * to return.

    */ nextToken?: string; - - /** - *

    Contains one or more sets of export request details. When the status of a request is - * SUCCEEDED, the response includes a URL for an Amazon S3 bucket where you can - * view the data in a CSV file.

    - */ - exportsInfo?: ExportInfo[]; } export namespace DescribeExportTasksResponse { @@ -984,16 +984,16 @@ export enum ImportTaskFilterName { * */ export interface ImportTaskFilter { - /** - *

    The name, status, or import task ID for a specific import task.

    - */ - name?: ImportTaskFilterName | string; - /** *

    An array of strings that you can provide to match against a specific name, status, or * import task ID to filter the results for your import task queries.

    */ values?: string[]; + + /** + *

    The name, status, or import task ID for a specific import task.

    + */ + name?: ImportTaskFilterName | string; } export namespace ImportTaskFilter { @@ -1004,14 +1004,14 @@ export namespace ImportTaskFilter { export interface DescribeImportTasksRequest { /** - *

    The token to request a specific page of results.

    + *

    The maximum number of results that you want this request to return, up to 100.

    */ - nextToken?: string; + maxResults?: number; /** - *

    The maximum number of results that you want this request to return, up to 100.

    + *

    The token to request a specific page of results.

    */ - maxResults?: number; + nextToken?: string; /** *

    An array of name-value pairs that you provide to filter the results for the @@ -1047,10 +1047,25 @@ export enum ImportStatus { */ export interface ImportTask { /** - *

    The time that the import task request was deleted, presented in the Unix time stamp + *

    The status of the import task. An import can have the status of + * IMPORT_COMPLETE and still have some records fail to import from the overall + * request. More information can be found in the downloadable archive defined in the + * errorsAndFailedEntriesZip field, or in the Migration Hub management + * console.

    + */ + status?: ImportStatus | string; + + /** + *

    The time that the import task request finished, presented in the Unix time stamp * format.

    */ - importDeletedTime?: Date; + importCompletionTime?: Date; + + /** + *

    The total number of application records in the import file that were successfully + * imported.

    + */ + applicationImportSuccess?: number; /** *

    A descriptive name for an import task. You can use this name to filter future requests @@ -1060,15 +1075,15 @@ export interface ImportTask { name?: string; /** - *

    The total number of server records in the import file that failed to be imported.

    + *

    The URL for your import file that you've uploaded to Amazon S3.

    */ - serverImportFailure?: number; + importUrl?: string; /** - *

    The total number of server records in the import file that were successfully - * imported.

    + *

    The time that the import task request was deleted, presented in the Unix time stamp + * format.

    */ - serverImportSuccess?: number; + importDeletedTime?: Date; /** *

    A unique token used to prevent the same import request from occurring more than once. If @@ -1078,36 +1093,27 @@ export interface ImportTask { clientRequestToken?: string; /** - *

    The time that the import task request was made, presented in the Unix time stamp - * format.

    - */ - importRequestTime?: Date; - - /** - *

    The total number of application records in the import file that were successfully + *

    The total number of server records in the import file that were successfully * imported.

    */ - applicationImportSuccess?: number; + serverImportSuccess?: number; /** - *

    The URL for your import file that you've uploaded to Amazon S3.

    + *

    The time that the import task request was made, presented in the Unix time stamp + * format.

    */ - importUrl?: string; + importRequestTime?: Date; /** - *

    The status of the import task. An import can have the status of - * IMPORT_COMPLETE and still have some records fail to import from the overall - * request. More information can be found in the downloadable archive defined in the - * errorsAndFailedEntriesZip field, or in the Migration Hub management - * console.

    + *

    The total number of application records in the import file that failed to be + * imported.

    */ - status?: ImportStatus | string; + applicationImportFailure?: number; /** - *

    The time that the import task request finished, presented in the Unix time stamp - * format.

    + *

    The total number of server records in the import file that failed to be imported.

    */ - importCompletionTime?: Date; + serverImportFailure?: number; /** *

    A link to a compressed archive folder (in the ZIP format) that contains an error log and a @@ -1124,12 +1130,6 @@ export interface ImportTask { */ errorsAndFailedEntriesZip?: string; - /** - *

    The total number of application records in the import file that failed to be - * imported.

    - */ - applicationImportFailure?: number; - /** *

    The unique ID for a specific import task. These IDs aren't globally unique, but they are * unique within an AWS account.

    @@ -1145,15 +1145,15 @@ export namespace ImportTask { export interface DescribeImportTasksResponse { /** - *

    A returned array of import tasks that match any applied filters, up to the specified - * number of maximum results.

    + *

    The token to request the next page of results.

    */ - tasks?: ImportTask[]; + nextToken?: string; /** - *

    The token to request the next page of results.

    + *

    A returned array of import tasks that match any applied filters, up to the specified + * number of maximum results.

    */ - nextToken?: string; + tasks?: ImportTask[]; } export namespace DescribeImportTasksResponse { @@ -1168,14 +1168,14 @@ export namespace DescribeImportTasksResponse { */ export interface TagFilter { /** - *

    Values for the tag filter.

    + *

    A name of the tag filter.

    */ - values: string[] | undefined; + name: string | undefined; /** - *

    A name of the tag filter.

    + *

    Values for the tag filter.

    */ - name: string | undefined; + values: string[] | undefined; } export namespace TagFilter { @@ -1228,6 +1228,11 @@ export interface ConfigurationTag { */ configurationId?: string; + /** + *

    A type of IT asset to tag.

    + */ + configurationType?: ConfigurationItemType | string; + /** *

    A value on which to filter. For example key = serverType and * value = web server.

    @@ -1235,21 +1240,16 @@ export interface ConfigurationTag { value?: string; /** - *

    A type of IT asset to tag.

    + *

    The time the configuration tag was created in Coordinated Universal Time + * (UTC).

    */ - configurationType?: ConfigurationItemType | string; + timeOfCreation?: Date; /** *

    A type of tag on which to filter. For example, * serverType.

    */ key?: string; - - /** - *

    The time the configuration tag was created in Coordinated Universal Time - * (UTC).

    - */ - timeOfCreation?: Date; } export namespace ConfigurationTag { @@ -1328,6 +1328,11 @@ export namespace GetDiscoverySummaryRequest { *

    Inventory data for installed discovery agents.

    */ export interface CustomerAgentInfo { + /** + *

    Number of discovery agents with status SHUTDOWN.

    + */ + shutdownAgents: number | undefined; + /** *

    Total number of discovery agents.

    */ @@ -1348,20 +1353,15 @@ export interface CustomerAgentInfo { */ blackListedAgents: number | undefined; - /** - *

    Number of unknown discovery agents.

    - */ - unknownAgents: number | undefined; - /** *

    Number of unhealthy discovery agents.

    */ unhealthyAgents: number | undefined; /** - *

    Number of discovery agents with status SHUTDOWN.

    + *

    Number of unknown discovery agents.

    */ - shutdownAgents: number | undefined; + unknownAgents: number | undefined; } export namespace CustomerAgentInfo { @@ -1379,11 +1379,6 @@ export interface CustomerConnectorInfo { */ blackListedConnectors: number | undefined; - /** - *

    Number of healthy discovery connectors.

    - */ - healthyConnectors: number | undefined; - /** *

    Total number of discovery connectors.

    */ @@ -1394,6 +1389,11 @@ export interface CustomerConnectorInfo { */ shutdownConnectors: number | undefined; + /** + *

    Number of healthy discovery connectors.

    + */ + healthyConnectors: number | undefined; + /** *

    Number of active discovery connectors.

    */ @@ -1417,6 +1417,11 @@ export namespace CustomerConnectorInfo { } export interface GetDiscoverySummaryResponse { + /** + *

    The number of servers discovered.

    + */ + servers?: number; + /** *

    The number of servers mapped to tags.

    */ @@ -1427,16 +1432,6 @@ export interface GetDiscoverySummaryResponse { */ serversMappedToApplications?: number; - /** - *

    The number of servers discovered.

    - */ - servers?: number; - - /** - *

    The number of applications discovered.

    - */ - applications?: number; - /** *

    Details about discovered connectors, including connector status and health.

    */ @@ -1446,6 +1441,11 @@ export interface GetDiscoverySummaryResponse { *

    Details about discovered agents, including agent status and health.

    */ agentSummary?: CustomerAgentInfo; + + /** + *

    The number of applications discovered.

    + */ + applications?: number; } export namespace GetDiscoverySummaryResponse { @@ -1481,6 +1481,14 @@ export namespace OrderByElement { } export interface ListConfigurationsRequest { + /** + *

    Token to retrieve the next set of results. For example, if a previous call to + * ListConfigurations returned 100 items, but you set + * ListConfigurationsRequest$maxResults to 10, you received a set of 10 results + * along with a token. Use that token in this query to get the next set of 10.

    + */ + nextToken?: string; + /** *

    The total number of items to return. The maximum value is 100.

    */ @@ -1493,14 +1501,6 @@ export interface ListConfigurationsRequest { */ orderBy?: OrderByElement[]; - /** - *

    Token to retrieve the next set of results. For example, if a previous call to - * ListConfigurations returned 100 items, but you set - * ListConfigurationsRequest$maxResults to 10, you received a set of 10 results - * along with a token. Use that token in this query to get the next set of 10.

    - */ - nextToken?: string; - /** *

    A valid configuration identified by Application Discovery Service.

    */ @@ -1549,21 +1549,15 @@ export namespace ListConfigurationsResponse { } export interface ListServerNeighborsRequest { - /** - *

    Maximum number of results to return in a single page of output.

    - */ - maxResults?: number; - /** *

    List of configuration IDs to test for one-hop-away.

    */ neighborConfigurationIds?: string[]; /** - *

    Flag to indicate if port and protocol information is needed as part of the - * response.

    + *

    Maximum number of results to return in a single page of output.

    */ - portInformationNeeded?: boolean; + maxResults?: number; /** *

    Token to retrieve the next set of results. For example, if you previously specified 100 @@ -1577,6 +1571,12 @@ export interface ListServerNeighborsRequest { *

    Configuration ID of the server for which neighbors are being listed.

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

    Flag to indicate if port and protocol information is needed as part of the + * response.

    + */ + portInformationNeeded?: boolean; } export namespace ListServerNeighborsRequest { @@ -1590,14 +1590,14 @@ export namespace ListServerNeighborsRequest { */ export interface NeighborConnectionDetail { /** - *

    The number of open network connections with the neighboring server.

    + *

    The ID of the server that accepted the network connection.

    */ - connectionsCount: number | undefined; + destinationServerId: string | undefined; /** - *

    The ID of the server that accepted the network connection.

    + *

    The network protocol used for the connection.

    */ - destinationServerId: string | undefined; + transportProtocol?: string; /** *

    The ID of the server that opened the network connection.

    @@ -1605,14 +1605,14 @@ export interface NeighborConnectionDetail { sourceServerId: string | undefined; /** - *

    The network protocol used for the connection.

    + *

    The destination network port for the connection.

    */ - transportProtocol?: string; + destinationPort?: number; /** - *

    The destination network port for the connection.

    + *

    The number of open network connections with the neighboring server.

    */ - destinationPort?: number; + connectionsCount: number | undefined; } export namespace NeighborConnectionDetail { @@ -1696,6 +1696,17 @@ export interface StartContinuousExportResponse { */ s3Bucket?: string; + /** + *

    The type of data collector used to gather this data (currently only offered for + * AGENT).

    + */ + dataSource?: DataSource | string; + + /** + *

    The timestamp representing when the continuous export was started.

    + */ + startTime?: Date; + /** *

    A dictionary which describes how the data is stored.

    *
      @@ -1708,17 +1719,6 @@ export interface StartContinuousExportResponse { */ schemaStorageConfig?: { [key: string]: string }; - /** - *

      The type of data collector used to gather this data (currently only offered for - * AGENT).

      - */ - dataSource?: DataSource | string; - - /** - *

      The timestamp representing when the continuous export was started.

      - */ - startTime?: Date; - /** *

      The unique ID assigned to this export.

      */ @@ -1771,13 +1771,6 @@ export enum ExportDataFormat { } export interface StartExportTaskRequest { - /** - *

      The start timestamp for exported data from the single Application Discovery Agent - * selected in the filters. If no value is specified, data is exported starting from the first - * data collected by the agent.

      - */ - startTime?: Date; - /** *

      The end timestamp for exported data from the single Application Discovery Agent * selected in the filters. If no value is specified, exported data includes the most recent data @@ -1804,6 +1797,13 @@ export interface StartExportTaskRequest { *

      */ exportDataFormat?: (ExportDataFormat | string)[]; + + /** + *

      The start timestamp for exported data from the single Application Discovery Agent + * selected in the filters. If no value is specified, data is exported starting from the first + * data collected by the agent.

      + */ + startTime?: Date; } export namespace StartExportTaskRequest { @@ -1826,6 +1826,13 @@ export namespace StartExportTaskResponse { } export interface StartImportTaskRequest { + /** + *

      A descriptive name for this request. You can use this name to filter future requests + * related to this import task, such as identifying applications and servers that were included + * in this import task. We recommend that you use a meaningful name for each import task.

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

      The URL for your import file that you've uploaded to Amazon S3.

      * @@ -1847,13 +1854,6 @@ export interface StartImportTaskRequest { * token.

      */ clientRequestToken?: string; - - /** - *

      A descriptive name for this request. You can use this name to filter future requests - * related to this import task, such as identifying applications and servers that were included - * in this import task. We recommend that you use a meaningful name for each import task.

      - */ - name: string | undefined; } export namespace StartImportTaskRequest { @@ -1891,15 +1891,15 @@ export namespace StopContinuousExportRequest { export interface StopContinuousExportResponse { /** - *

      Timestamp that represents when this continuous export started collecting - * data.

      + *

      Timestamp that represents when this continuous export was stopped.

      */ - startTime?: Date; + stopTime?: Date; /** - *

      Timestamp that represents when this continuous export was stopped.

      + *

      Timestamp that represents when this continuous export started collecting + * data.

      */ - stopTime?: Date; + startTime?: Date; } export namespace StopContinuousExportResponse { @@ -1937,6 +1937,11 @@ export namespace StopDataCollectionByAgentIdsResponse { } export interface UpdateApplicationRequest { + /** + *

      Configuration ID of the application to be updated.

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

      New name of the application to be updated.

      */ @@ -1946,11 +1951,6 @@ export interface UpdateApplicationRequest { *

      New description of the application to be updated.

      */ description?: string; - - /** - *

      Configuration ID of the application to be updated.

      - */ - configurationId: string | undefined; } export namespace UpdateApplicationRequest { diff --git a/clients/client-application-insights/models/models_0.ts b/clients/client-application-insights/models/models_0.ts index 6edb9afffbff..98d658a9c95f 100644 --- a/clients/client-application-insights/models/models_0.ts +++ b/clients/client-application-insights/models/models_0.ts @@ -9,24 +9,24 @@ export type Tier = "DEFAULT" | "DOT_NET_CORE" | "DOT_NET_WEB" | "DOT_NET_WORKER" */ export interface ApplicationComponent { /** - *

      The resource type. Supported resource types include EC2 instances, Auto Scaling group, Classic ELB, Application ELB, and SQS Queue.

      + *

      The name of the component.

      */ - ResourceType?: string; + ComponentName?: string; /** - *

      The name of the component.

      + *

      The stack tier of the application component.

      */ - ComponentName?: string; + Tier?: Tier | string; /** - *

      Indicates whether the application component is monitored.

      + *

      The resource type. Supported resource types include EC2 instances, Auto Scaling group, Classic ELB, Application ELB, and SQS Queue.

      */ - Monitor?: boolean; + ResourceType?: string; /** - *

      The stack tier of the application component.

      + *

      Indicates whether the application component is monitored.

      */ - Tier?: Tier | string; + Monitor?: boolean; } export namespace ApplicationComponent { @@ -39,19 +39,6 @@ export namespace ApplicationComponent { *

      Describes the status of the application.

      */ export interface ApplicationInfo { - /** - *

      - * The SNS topic provided to Application Insights that is associated to the created opsItems to receive SNS notifications - * for opsItem updates. - *

      - */ - OpsItemSNSTopicArn?: string; - - /** - *

      The lifecycle of the application.

      - */ - LifeCycle?: string; - /** *

      The name of the resource group used for the application.

      */ @@ -85,6 +72,19 @@ export interface ApplicationInfo { *

      */ CWEMonitorEnabled?: boolean; + + /** + *

      + * The SNS topic provided to Application Insights that is associated to the created opsItems to receive SNS notifications + * for opsItem updates. + *

      + */ + OpsItemSNSTopicArn?: string; + + /** + *

      The lifecycle of the application.

      + */ + LifeCycle?: string; } export namespace ApplicationInfo { @@ -122,45 +122,45 @@ export type ConfigurationEventStatus = "ERROR" | "INFO" | "WARN"; export interface ConfigurationEvent { /** *

      - * The details of the event in plain text. + * The name of the resource Application Insights attempted to configure. *

      */ - EventDetail?: string; + EventResourceName?: string; /** *

      - * The resource monitored by Application Insights. + * The resource type that Application Insights attempted to configure, for example, CLOUDWATCH_ALARM. *

      */ - MonitoredResourceARN?: string; + EventResourceType?: ConfigurationEventResourceType | string; /** *

      - * The status of the configuration update event. Possible values include INFO, WARN, and ERROR. + * The timestamp of the event. *

      */ - EventStatus?: ConfigurationEventStatus | string; + EventTime?: Date; /** *

      - * The name of the resource Application Insights attempted to configure. + * The details of the event in plain text. *

      */ - EventResourceName?: string; + EventDetail?: string; /** *

      - * The resource type that Application Insights attempted to configure, for example, CLOUDWATCH_ALARM. + * The resource monitored by Application Insights. *

      */ - EventResourceType?: ConfigurationEventResourceType | string; + MonitoredResourceARN?: string; /** *

      - * The timestamp of the event. + * The status of the configuration update event. Possible values include INFO, WARN, and ERROR. *

      */ - EventTime?: Date; + EventStatus?: ConfigurationEventStatus | string; } export namespace ConfigurationEvent { @@ -197,18 +197,18 @@ export namespace ConfigurationEvent { *
    */ export interface Tag { - /** - *

    One part of a key-value pair that defines a tag. The maximum length of a tag key is - * 128 characters. The minimum length is 1 character.

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

    The optional part of a key-value pair that defines a tag. The maximum length of a tag * value is 256 characters. The minimum length is 0 characters. If you don't want an * application to have a specific tag value, don't specify a value for this parameter.

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

    One part of a key-value pair that defines a tag. The maximum length of a tag key is + * 128 characters. The minimum length is 1 character.

    + */ + Key: string | undefined; } export namespace Tag { @@ -218,6 +218,13 @@ export namespace Tag { } export interface CreateApplicationRequest { + /** + *

    + * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. + *

    + */ + CWEMonitorEnabled?: boolean; + /** *

    * When set to true, creates opsItems for any problems detected on an application. @@ -233,25 +240,18 @@ export interface CreateApplicationRequest { */ OpsItemSNSTopicArn?: string; - /** - *

    List of tags to add to the application. - * tag key (Key) and an associated tag value (Value). The maximum - * length of a tag key is 128 characters. The maximum length of a tag value is 256 - * characters.

    - */ - Tags?: Tag[]; - /** *

    The name of the resource group.

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

    - * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. - *

    + *

    List of tags to add to the application. + * tag key (Key) and an associated tag value (Value). The maximum + * length of a tag key is 128 characters. The maximum length of a tag value is 256 + * characters.

    */ - CWEMonitorEnabled?: boolean; + Tags?: Tag[]; } export namespace CreateApplicationRequest { @@ -349,11 +349,6 @@ export namespace ValidationException { } export interface CreateComponentRequest { - /** - *

    The list of resource ARNs that belong to the component.

    - */ - ResourceList: string[] | undefined; - /** *

    The name of the component.

    */ @@ -363,6 +358,11 @@ export interface CreateComponentRequest { *

    The name of the resource group.

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

    The list of resource ARNs that belong to the component.

    + */ + ResourceList: string[] | undefined; } export namespace CreateComponentRequest { @@ -381,29 +381,29 @@ export namespace CreateComponentResponse { export interface CreateLogPatternRequest { /** - *

    Rank of the log pattern.

    + *

    The log pattern.

    */ - Rank: number | undefined; + Pattern: string | undefined; /** - *

    The name of the log pattern.

    + *

    The name of the log pattern set.

    */ - PatternName: string | undefined; + PatternSetName: string | undefined; /** - *

    The name of the resource group.

    + *

    Rank of the log pattern.

    */ - ResourceGroupName: string | undefined; + Rank: number | undefined; /** - *

    The name of the log pattern set.

    + *

    The name of the log pattern.

    */ - PatternSetName: string | undefined; + PatternName: string | undefined; /** - *

    The log pattern.

    + *

    The name of the resource group.

    */ - Pattern: string | undefined; + ResourceGroupName: string | undefined; } export namespace CreateLogPatternRequest { @@ -417,10 +417,10 @@ export namespace CreateLogPatternRequest { */ export interface LogPattern { /** - *

    The name of the log pattern. A log pattern name can contains at many as 30 characters, and it cannot + *

    The name of the log pattern. A log pattern name can contains at many as 50 characters, and it cannot * be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

    */ - PatternSetName?: string; + PatternName?: string; /** *

    Rank of the log pattern.

    @@ -434,10 +434,10 @@ export interface LogPattern { Pattern?: string; /** - *

    The name of the log pattern. A log pattern name can contains at many as 50 characters, and it cannot + *

    The name of the log pattern. A log pattern name can contains at many as 30 characters, and it cannot * be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

    */ - PatternName?: string; + PatternSetName?: string; } export namespace LogPattern { @@ -448,14 +448,14 @@ export namespace LogPattern { export interface CreateLogPatternResponse { /** - *

    The name of the resource group.

    + *

    The successfully created log pattern.

    */ - ResourceGroupName?: string; + LogPattern?: LogPattern; /** - *

    The successfully created log pattern.

    + *

    The name of the resource group.

    */ - LogPattern?: LogPattern; + ResourceGroupName?: string; } export namespace CreateLogPatternResponse { @@ -512,6 +512,11 @@ export namespace DeleteComponentResponse { } export interface DeleteLogPatternRequest { + /** + *

    The name of the log pattern set.

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

    The name of the log pattern.

    */ @@ -521,11 +526,6 @@ export interface DeleteLogPatternRequest { *

    The name of the resource group.

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

    The name of the log pattern set.

    - */ - PatternSetName: string | undefined; } export namespace DeleteLogPatternRequest { @@ -588,15 +588,15 @@ export namespace DescribeComponentRequest { export interface DescribeComponentResponse { /** - *

    Describes a standalone resource or similarly grouped resources that the application is made - * up of.

    + *

    The list of resource ARNs that belong to the component.

    */ - ApplicationComponent?: ApplicationComponent; + ResourceList?: string[]; /** - *

    The list of resource ARNs that belong to the component.

    + *

    Describes a standalone resource or similarly grouped resources that the application is made + * up of.

    */ - ResourceList?: string[]; + ApplicationComponent?: ApplicationComponent; } export namespace DescribeComponentResponse { @@ -607,14 +607,14 @@ export namespace DescribeComponentResponse { export interface DescribeComponentConfigurationRequest { /** - *

    The name of the component.

    + *

    The name of the resource group.

    */ - ComponentName: string | undefined; + ResourceGroupName: string | undefined; /** - *

    The name of the resource group.

    + *

    The name of the component.

    */ - ResourceGroupName: string | undefined; + ComponentName: string | undefined; } export namespace DescribeComponentConfigurationRequest { @@ -625,12 +625,9 @@ export namespace DescribeComponentConfigurationRequest { export interface DescribeComponentConfigurationResponse { /** - *

    The tier of the application component. Supported tiers include - * DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, - * SQL_SERVER, and DEFAULT - *

    + *

    The configuration settings of the component. The value is the escaped JSON of the configuration.

    */ - Tier?: Tier | string; + ComponentConfiguration?: string; /** *

    Indicates whether the application component is monitored.

    @@ -638,9 +635,12 @@ export interface DescribeComponentConfigurationResponse { Monitor?: boolean; /** - *

    The configuration settings of the component. The value is the escaped JSON of the configuration.

    + *

    The tier of the application component. Supported tiers include + * DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, + * SQL_SERVER, and DEFAULT + *

    */ - ComponentConfiguration?: string; + Tier?: Tier | string; } export namespace DescribeComponentConfigurationResponse { @@ -650,11 +650,6 @@ export namespace DescribeComponentConfigurationResponse { } export interface DescribeComponentConfigurationRecommendationRequest { - /** - *

    The name of the component.

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

    The tier of the application component. Supported tiers include * DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, @@ -666,6 +661,11 @@ export interface DescribeComponentConfigurationRecommendationRequest { *

    The name of the resource group.

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

    The name of the component.

    + */ + ComponentName: string | undefined; } export namespace DescribeComponentConfigurationRecommendationRequest { @@ -688,6 +688,11 @@ export namespace DescribeComponentConfigurationRecommendationResponse { } export interface DescribeLogPatternRequest { + /** + *

    The name of the log pattern set.

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

    The name of the log pattern.

    */ @@ -697,11 +702,6 @@ export interface DescribeLogPatternRequest { *

    The name of the resource group.

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

    The name of the log pattern set.

    - */ - PatternSetName: string | undefined; } export namespace DescribeLogPatternRequest { @@ -712,14 +712,14 @@ export namespace DescribeLogPatternRequest { export interface DescribeLogPatternResponse { /** - *

    The successfully created log pattern.

    + *

    The name of the resource group.

    */ - LogPattern?: LogPattern; + ResourceGroupName?: string; /** - *

    The name of the resource group.

    + *

    The successfully created log pattern.

    */ - ResourceGroupName?: string; + LogPattern?: LogPattern; } export namespace DescribeLogPatternResponse { @@ -748,199 +748,199 @@ export type LogFilter = "ERROR" | "INFO" | "WARN"; */ export interface Observation { /** - *

    The source of the CloudWatch Event.

    + *

    The timestamp in the CloudWatch Logs that specifies when the matched line occurred.

    */ - CloudWatchEventSource?: CloudWatchEventSource | string; + LineTime?: Date; /** - *

    The detail type of the CloudWatch Event-based observation, for example, EC2 - * Instance State-change Notification.

    + *

    The service to which the AWS Health Event belongs, such as EC2.

    */ - CloudWatchEventDetailType?: string; + HealthService?: string; /** *

    - * The name of the X-Ray node. + * The status of the CodeDeploy deployment, for example SUCCESS or FAILURE. *

    */ - XRayNodeName?: string; - - /** - *

    The ID of the observation type.

    - */ - Id?: string; + CodeDeployState?: string; /** - *

    The source resource ARN of the observation.

    + *

    The deployment ID of the CodeDeploy-based observation related to the detected problem.

    */ - SourceARN?: string; + CodeDeployDeploymentId?: string; /** *

    - * The CodeDeploy application to which the deployment belongs. + * The X-Ray request fault percentage for this node. *

    */ - CodeDeployApplication?: string; + XRayFaultPercent?: number; /** - *

    The description of the AWS Health event provided by the service, such as Amazon EC2.

    + *

    The Amazon Resource Name (ARN) of the AWS Health Event-based observation.

    */ - HealthEventDescription?: string; + HealthEventArn?: string; /** - *

    The category of the AWS Health event, such as issue.

    + *

    The name of the observation metric.

    */ - HealthEventTypeCategory?: string; + MetricName?: string; /** *

    - * The X-Ray request throttle percentage for this node. + * The X-Ray request count for this node. *

    */ - XRayThrottlePercent?: number; + XRayRequestCount?: number; /** - *

    The value of the source observation metric.

    + *

    The detail type of the CloudWatch Event-based observation, for example, EC2 + * Instance State-change Notification.

    */ - Value?: number; + CloudWatchEventDetailType?: string; /** - *

    The log filter of the observation.

    + *

    The source type of the observation.

    */ - LogFilter?: LogFilter | string; + SourceType?: string; /** *

    - * The deployment group to which the CodeDeploy deployment belongs. + * The X-Ray request error percentage for this node. *

    */ - CodeDeployDeploymentGroup?: string; + XRayErrorPercent?: number; /** - *

    - * The instance group to which the CodeDeploy instance belongs. - *

    + *

    The category of the AWS Health event, such as issue.

    */ - CodeDeployInstanceGroupId?: string; + HealthEventTypeCategory?: string; /** - *

    The ID of the CloudWatch Event-based observation related to the detected problem.

    + *

    + * The X-Ray node request average latency for this node. + *

    */ - CloudWatchEventId?: string; + XRayRequestAverageLatency?: number; /** - *

    The unit of the source observation metric.

    + *

    The namespace of the observation metric.

    */ - Unit?: string; + MetricNamespace?: string; /** - *

    The time when the observation ended, in epoch seconds.

    + *

    + * The state of the instance, such as STOPPING or TERMINATING. + *

    */ - EndTime?: Date; + Ec2State?: string; /** - *

    The log text of the observation.

    + *

    The ID of the CloudWatch Event-based observation related to the detected problem.

    */ - LogText?: string; + CloudWatchEventId?: string; /** *

    - * The state of the instance, such as STOPPING or TERMINATING. + * The X-Ray request throttle percentage for this node. *

    */ - Ec2State?: string; + XRayThrottlePercent?: number; /** - *

    The log group name.

    + *

    The time when the observation was first detected, in epoch seconds.

    */ - LogGroup?: string; + StartTime?: Date; /** - *

    - * The X-Ray node request average latency for this node. - *

    + *

    The value of the source observation metric.

    */ - XRayRequestAverageLatency?: number; + Value?: number; /** - *

    The type of the AWS Health event, for example, - * AWS_EC2_POWER_CONNECTIVITY_ISSUE.

    + *

    + * The type of the X-Ray node.

    */ - HealthEventTypeCode?: string; + XRayNodeType?: string; /** - *

    The deployment ID of the CodeDeploy-based observation related to the detected problem.

    + *

    The source resource ARN of the observation.

    */ - CodeDeployDeploymentId?: string; + SourceARN?: string; /** - *

    The name of the observation metric.

    + *

    The log text of the observation.

    */ - MetricName?: string; + LogText?: string; /** - *

    The service to which the AWS Health Event belongs, such as EC2.

    + *

    The ID of the observation type.

    */ - HealthService?: string; + Id?: string; /** - *

    The timestamp in the CloudWatch Logs that specifies when the matched line occurred.

    + *

    The description of the AWS Health event provided by the service, such as Amazon EC2.

    */ - LineTime?: Date; + HealthEventDescription?: string; /** - *

    The Amazon Resource Name (ARN) of the AWS Health Event-based observation.

    + *

    The type of the AWS Health event, for example, + * AWS_EC2_POWER_CONNECTIVITY_ISSUE.

    */ - HealthEventArn?: string; + HealthEventTypeCode?: string; /** *

    - * The status of the CodeDeploy deployment, for example SUCCESS or FAILURE. + * The name of the X-Ray node. *

    */ - CodeDeployState?: string; + XRayNodeName?: string; /** - *

    - * The type of the X-Ray node.

    + *

    The time when the observation ended, in epoch seconds.

    */ - XRayNodeType?: string; + EndTime?: Date; /** - *

    The source type of the observation.

    + *

    The unit of the source observation metric.

    */ - SourceType?: string; + Unit?: string; /** *

    - * The X-Ray request count for this node. + * The CodeDeploy application to which the deployment belongs. *

    */ - XRayRequestCount?: number; + CodeDeployApplication?: string; /** - *

    The time when the observation was first detected, in epoch seconds.

    + *

    The log filter of the observation.

    */ - StartTime?: Date; + LogFilter?: LogFilter | string; /** *

    - * The X-Ray request error percentage for this node. + * The instance group to which the CodeDeploy instance belongs. *

    */ - XRayErrorPercent?: number; + CodeDeployInstanceGroupId?: string; /** - *

    The namespace of the observation metric.

    + *

    The source of the CloudWatch Event.

    */ - MetricNamespace?: string; + CloudWatchEventSource?: CloudWatchEventSource | string; + + /** + *

    The log group name.

    + */ + LogGroup?: string; /** *

    - * The X-Ray request fault percentage for this node. + * The deployment group to which the CodeDeploy deployment belongs. *

    */ - XRayFaultPercent?: number; + CodeDeployDeploymentGroup?: string; } export namespace Observation { @@ -988,54 +988,54 @@ export type Status = "IGNORE" | "PENDING" | "RESOLVED"; */ export interface Problem { /** - *

    The resource affected by the problem.

    + *

    The name of the problem.

    */ - AffectedResource?: string; + Title?: string; /** - *

    A detailed analysis of the problem using machine learning.

    + *

    A measure of the level of impact of the problem.

    */ - Insights?: string; + SeverityLevel?: SeverityLevel | string; /** - *

    Feedback provided by the user about the problem.

    + *

    The name of the resource group affected by the problem.

    */ - Feedback?: { [key: string]: FeedbackValue | string }; + ResourceGroupName?: string; /** - *

    The time when the problem ended, in epoch seconds.

    + *

    The status of the problem.

    */ - EndTime?: Date; + Status?: Status | string; /** - *

    The status of the problem.

    + *

    The time when the problem ended, in epoch seconds.

    */ - Status?: Status | string; + EndTime?: Date; /** - *

    The name of the problem.

    + *

    The ID of the problem.

    */ - Title?: string; + Id?: string; /** - *

    The time when the problem started, in epoch seconds.

    + *

    A detailed analysis of the problem using machine learning.

    */ - StartTime?: Date; + Insights?: string; /** - *

    The name of the resource group affected by the problem.

    + *

    Feedback provided by the user about the problem.

    */ - ResourceGroupName?: string; + Feedback?: { [key: string]: FeedbackValue | string }; /** - *

    The ID of the problem.

    + *

    The time when the problem started, in epoch seconds.

    */ - Id?: string; + StartTime?: Date; /** - *

    A measure of the level of impact of the problem.

    + *

    The resource affected by the problem.

    */ - SeverityLevel?: SeverityLevel | string; + AffectedResource?: string; } export namespace Problem { @@ -1120,15 +1120,15 @@ export namespace ListApplicationsRequest { export interface ListApplicationsResponse { /** - *

    The token used to retrieve the next page of results. This value is null - * when there are no more results to return.

    + *

    The list of applications.

    */ - NextToken?: string; + ApplicationInfoList?: ApplicationInfo[]; /** - *

    The list of applications.

    + *

    The token used to retrieve the next page of results. This value is null + * when there are no more results to return.

    */ - ApplicationInfoList?: ApplicationInfo[]; + NextToken?: string; } export namespace ListApplicationsResponse { @@ -1138,6 +1138,11 @@ export namespace ListApplicationsResponse { } export interface ListComponentsRequest { + /** + *

    The token to request the next page of results.

    + */ + NextToken?: string; + /** *

    The maximum number of results to return in a single call. To retrieve the remaining * results, make another call with the returned NextToken value.

    @@ -1148,11 +1153,6 @@ export interface ListComponentsRequest { *

    The name of the resource group.

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

    The token to request the next page of results.

    - */ - NextToken?: string; } export namespace ListComponentsRequest { @@ -1180,6 +1180,19 @@ export namespace ListComponentsResponse { } export interface ListConfigurationHistoryRequest { + /** + *

    The NextToken value returned from a previous paginated ListConfigurationHistory 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. This + * value is null when there are no more results to return.

    + */ + NextToken?: string; + + /** + *

    The start time of the event.

    + */ + StartTime?: Date; + /** *

    The maximum number of results returned by ListConfigurationHistory in * paginated output. When this parameter is used, ListConfigurationHistory @@ -1192,17 +1205,9 @@ export interface ListConfigurationHistoryRequest { MaxResults?: number; /** - *

    Resource group to which the application belongs.

    - */ - ResourceGroupName?: string; - - /** - *

    The NextToken value returned from a previous paginated ListConfigurationHistory 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. This - * value is null when there are no more results to return.

    + *

    The end time of the event.

    */ - NextToken?: string; + EndTime?: Date; /** *

    The status of the configuration update event. Possible values include INFO, WARN, and ERROR.

    @@ -1210,14 +1215,9 @@ export interface ListConfigurationHistoryRequest { EventStatus?: ConfigurationEventStatus | string; /** - *

    The end time of the event.

    - */ - EndTime?: Date; - - /** - *

    The start time of the event.

    + *

    Resource group to which the application belongs.

    */ - StartTime?: Date; + ResourceGroupName?: string; } export namespace ListConfigurationHistoryRequest { @@ -1227,11 +1227,6 @@ export namespace ListConfigurationHistoryRequest { } export interface ListConfigurationHistoryResponse { - /** - *

    The list of configuration events and their corresponding details.

    - */ - EventList?: ConfigurationEvent[]; - /** *

    The NextToken value to include in a future * ListConfigurationHistory request. When the results of a @@ -1240,6 +1235,11 @@ export interface ListConfigurationHistoryResponse { * there are no more results to return.

    */ NextToken?: string; + + /** + *

    The list of configuration events and their corresponding details.

    + */ + EventList?: ConfigurationEvent[]; } export namespace ListConfigurationHistoryResponse { @@ -1249,6 +1249,11 @@ export namespace ListConfigurationHistoryResponse { } export interface ListLogPatternsRequest { + /** + *

    The token to request the next page of results.

    + */ + NextToken?: string; + /** *

    The name of the resource group.

    */ @@ -1264,11 +1269,6 @@ export interface ListLogPatternsRequest { *

    The name of the log pattern set.

    */ PatternSetName?: string; - - /** - *

    The token to request the next page of results.

    - */ - NextToken?: string; } export namespace ListLogPatternsRequest { @@ -1278,6 +1278,11 @@ export namespace ListLogPatternsRequest { } export interface ListLogPatternsResponse { + /** + *

    The name of the resource group.

    + */ + ResourceGroupName?: string; + /** *

    The token used to retrieve the next page of results. This value is null * when there are no more results to return.

    @@ -1288,11 +1293,6 @@ export interface ListLogPatternsResponse { *

    The list of log patterns.

    */ LogPatterns?: LogPattern[]; - - /** - *

    The name of the resource group.

    - */ - ResourceGroupName?: string; } export namespace ListLogPatternsResponse { @@ -1302,6 +1302,11 @@ export namespace ListLogPatternsResponse { } export interface ListLogPatternSetsRequest { + /** + *

    The token to request the next page of results.

    + */ + NextToken?: string; + /** *

    The maximum number of results to return in a single call. To retrieve the remaining * results, make another call with the returned NextToken value.

    @@ -1312,11 +1317,6 @@ export interface ListLogPatternSetsRequest { *

    The name of the resource group.

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

    The token to request the next page of results.

    - */ - NextToken?: string; } export namespace ListLogPatternSetsRequest { @@ -1331,16 +1331,16 @@ export interface ListLogPatternSetsResponse { */ ResourceGroupName?: string; - /** - *

    The list of log pattern sets.

    - */ - LogPatternSets?: string[]; - /** *

    The token used to retrieve the next page of results. This value is null * when there are no more results to return.

    */ NextToken?: string; + + /** + *

    The list of log pattern sets.

    + */ + LogPatternSets?: string[]; } export namespace ListLogPatternSetsResponse { @@ -1351,32 +1351,32 @@ export namespace ListLogPatternSetsResponse { export interface ListProblemsRequest { /** - *

    The time when the problem was detected, in epoch - * seconds. If you don't specify a time frame for the request, problems within the past seven days are returned.

    + *

    The token to request the next page of results.

    */ - StartTime?: Date; + NextToken?: string; /** - *

    The name of the resource group.

    + *

    The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value.

    */ - ResourceGroupName?: string; + MaxResults?: number; /** - *

    The time when the problem ended, in epoch seconds. If not specified, problems within the - * past seven days are returned.

    + *

    The name of the resource group.

    */ - EndTime?: Date; + ResourceGroupName?: string; /** - *

    The token to request the next page of results.

    + *

    The time when the problem was detected, in epoch + * seconds. If you don't specify a time frame for the request, problems within the past seven days are returned.

    */ - NextToken?: string; + StartTime?: Date; /** - *

    The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value.

    + *

    The time when the problem ended, in epoch seconds. If not specified, problems within the + * past seven days are returned.

    */ - MaxResults?: number; + EndTime?: Date; } export namespace ListProblemsRequest { @@ -1434,11 +1434,6 @@ export namespace ListTagsForResourceResponse { } export interface TagResourceRequest { - /** - *

    The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.

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

    A list of tags that to add to the application. A tag consists of a required * tag key (Key) and an associated tag value (Value). The maximum @@ -1446,6 +1441,11 @@ export interface TagResourceRequest { * characters.

    */ Tags: Tag[] | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.

    + */ + ResourceARN: string | undefined; } export namespace TagResourceRequest { @@ -1469,12 +1469,11 @@ export namespace TagResourceResponse { export interface TooManyTagsException extends __SmithyException, $MetadataBearer { name: "TooManyTagsException"; $fault: "client"; + Message?: string; /** *

    The name of the resource with too many tags.

    */ ResourceName?: string; - - Message?: string; } export namespace TooManyTagsException { @@ -1516,22 +1515,17 @@ export namespace UntagResourceResponse { export interface UpdateApplicationRequest { /** *

    - * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. + * When set to true, creates opsItems for any problems detected on an application. *

    */ - CWEMonitorEnabled?: boolean; - - /** - *

    The name of the resource group.

    - */ - ResourceGroupName: string | undefined; + OpsCenterEnabled?: boolean; /** *

    - * When set to true, creates opsItems for any problems detected on an application. - *

    + * The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to + * receive notifications for updates to the opsItem.

    */ - OpsCenterEnabled?: boolean; + OpsItemSNSTopicArn?: string; /** *

    @@ -1541,10 +1535,15 @@ export interface UpdateApplicationRequest { /** *

    - * The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to - * receive notifications for updates to the opsItem.

    + * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. + *

    */ - OpsItemSNSTopicArn?: string; + CWEMonitorEnabled?: boolean; + + /** + *

    The name of the resource group.

    + */ + ResourceGroupName: string | undefined; } export namespace UpdateApplicationRequest { @@ -1568,24 +1567,24 @@ export namespace UpdateApplicationResponse { export interface UpdateComponentRequest { /** - *

    The new name of the component.

    + *

    The name of the component.

    */ - NewComponentName?: string; + ComponentName: string | undefined; /** - *

    The name of the resource group.

    + *

    The list of resource ARNs that belong to the component.

    */ - ResourceGroupName: string | undefined; + ResourceList?: string[]; /** - *

    The name of the component.

    + *

    The new name of the component.

    */ - ComponentName: string | undefined; + NewComponentName?: string; /** - *

    The list of resource ARNs that belong to the component.

    + *

    The name of the resource group.

    */ - ResourceList?: string[]; + ResourceGroupName: string | undefined; } export namespace UpdateComponentRequest { @@ -1603,22 +1602,11 @@ export namespace UpdateComponentResponse { } export interface UpdateComponentConfigurationRequest { - /** - *

    The tier of the application component. Supported tiers include DOT_NET_WORKER, - * DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT.

    - */ - Tier?: Tier | string; - /** *

    The name of the component.

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

    The name of the resource group.

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

    Indicates whether the application component is monitored.

    */ @@ -1631,6 +1619,17 @@ export interface UpdateComponentConfigurationRequest { * format of the component configuration file, see Component Configuration.

    */ ComponentConfiguration?: string; + + /** + *

    The tier of the application component. Supported tiers include DOT_NET_WORKER, + * DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT.

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

    The name of the resource group.

    + */ + ResourceGroupName: string | undefined; } export namespace UpdateComponentConfigurationRequest { @@ -1649,19 +1648,19 @@ export namespace UpdateComponentConfigurationResponse { export interface UpdateLogPatternRequest { /** - *

    The log pattern.

    + *

    The name of the resource group.

    */ - Pattern?: string; + ResourceGroupName: string | undefined; /** - *

    The name of the log pattern set.

    + *

    Rank of the log pattern.

    */ - PatternSetName: string | undefined; + Rank?: number; /** - *

    The name of the resource group.

    + *

    The log pattern.

    */ - ResourceGroupName: string | undefined; + Pattern?: string; /** *

    The name of the log pattern.

    @@ -1669,9 +1668,9 @@ export interface UpdateLogPatternRequest { PatternName: string | undefined; /** - *

    Rank of the log pattern.

    + *

    The name of the log pattern set.

    */ - Rank?: number; + PatternSetName: string | undefined; } export namespace UpdateLogPatternRequest { @@ -1682,14 +1681,14 @@ export namespace UpdateLogPatternRequest { export interface UpdateLogPatternResponse { /** - *

    The name of the resource group.

    + *

    The successfully created log pattern.

    */ - ResourceGroupName?: string; + LogPattern?: LogPattern; /** - *

    The successfully created log pattern.

    + *

    The name of the resource group.

    */ - LogPattern?: LogPattern; + ResourceGroupName?: string; } export namespace UpdateLogPatternResponse { diff --git a/clients/client-appstream/models/models_0.ts b/clients/client-appstream/models/models_0.ts index 4d8104514146..f491f71c248e 100644 --- a/clients/client-appstream/models/models_0.ts +++ b/clients/client-appstream/models/models_0.ts @@ -10,14 +10,14 @@ export enum AccessEndpointType { */ export interface AccessEndpoint { /** - *

    The type of interface endpoint.

    + *

    The identifier (ID) of the VPC in which the interface endpoint is used.

    */ - EndpointType: AccessEndpointType | string | undefined; + VpceId?: string; /** - *

    The identifier (ID) of the VPC in which the interface endpoint is used.

    + *

    The type of interface endpoint.

    */ - VpceId?: string; + EndpointType: AccessEndpointType | string | undefined; } export namespace AccessEndpoint { @@ -39,29 +39,24 @@ export enum Action { */ export interface Application { /** - *

    The arguments that are passed to the application at launch.

    - */ - LaunchParameters?: string; - - /** - *

    The application name to display.

    + *

    The name of the application.

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

    The name of the application.

    + *

    Additional attributes that describe the application.

    */ - Name?: string; + Metadata?: { [key: string]: string }; /** - *

    The path to the application executable in the instance.

    + *

    The application name to display.

    */ - LaunchPath?: string; + DisplayName?: string; /** - *

    Additional attributes that describe the application.

    + *

    The arguments that are passed to the application at launch.

    */ - Metadata?: { [key: string]: string }; + LaunchParameters?: string; /** *

    If there is a problem, the application can be disabled after image creation.

    @@ -72,6 +67,11 @@ export interface Application { *

    The URL for the application icon. This URL might be time-limited.

    */ IconURL?: string; + + /** + *

    The path to the application executable in the instance.

    + */ + LaunchPath?: string; } export namespace Application { @@ -105,17 +105,17 @@ export namespace ApplicationSettings { *

    Describes the persistent application settings for users of a stack.

    */ export interface ApplicationSettingsResponse { - /** - *

    The path prefix for the S3 bucket where users’ persistent application settings are stored.

    - */ - SettingsGroup?: string; - /** *

    The S3 bucket where users’ persistent application settings are stored. When persistent application settings are enabled for the first time for an account in an AWS Region, an S3 bucket is created. The bucket is unique to the AWS account and the Region. *

    */ S3BucketName?: string; + /** + *

    The path prefix for the S3 bucket where users’ persistent application settings are stored.

    + */ + SettingsGroup?: string; + /** *

    Specifies whether persistent application settings are enabled for users during their streaming sessions.

    */ @@ -273,9 +273,9 @@ export enum AuthenticationType { */ export interface UserStackAssociation { /** - *

    The name of the stack that is associated with the user.

    + *

    Specifies whether a welcome email is sent to a user after the user is created in the user pool.

    */ - StackName: string | undefined; + SendEmailNotification?: boolean; /** *

    The authentication type for the user.

    @@ -283,9 +283,9 @@ export interface UserStackAssociation { AuthenticationType: AuthenticationType | string | undefined; /** - *

    Specifies whether a welcome email is sent to a user after the user is created in the user pool.

    + *

    The name of the stack that is associated with the user.

    */ - SendEmailNotification?: boolean; + StackName: string | undefined; /** *

    The email address of the user who is associated with the stack.

    @@ -321,6 +321,7 @@ export namespace BatchAssociateUserStackRequest { } export enum UserStackAssociationErrorCode { + DIRECTORY_NOT_FOUND = "DIRECTORY_NOT_FOUND", INTERNAL_ERROR = "INTERNAL_ERROR", STACK_NOT_FOUND = "STACK_NOT_FOUND", USER_NAME_NOT_FOUND = "USER_NAME_NOT_FOUND", @@ -331,14 +332,14 @@ export enum UserStackAssociationErrorCode { */ export interface UserStackAssociationError { /** - *

    Information about the user and associated stack.

    + *

    The error code for the error that is returned when a user can’t be associated with or disassociated from a stack.

    */ - UserStackAssociation?: UserStackAssociation; + ErrorCode?: UserStackAssociationErrorCode | string; /** - *

    The error code for the error that is returned when a user can’t be associated with or disassociated from a stack.

    + *

    Information about the user and associated stack.

    */ - ErrorCode?: UserStackAssociationErrorCode | string; + UserStackAssociation?: UserStackAssociation; /** *

    The error message for the error that is returned when a user can’t be associated with or disassociated from a stack.

    @@ -369,6 +370,24 @@ export namespace BatchAssociateUserStackResult { }); } +/** + *

    Indicates an incorrect combination of parameters, or a missing parameter.

    + */ +export interface InvalidParameterCombinationException extends __SmithyException, $MetadataBearer { + name: "InvalidParameterCombinationException"; + $fault: "client"; + /** + *

    The error message in the exception.

    + */ + Message?: string; +} + +export namespace InvalidParameterCombinationException { + export const filterSensitiveLog = (obj: InvalidParameterCombinationException): any => ({ + ...obj, + }); +} + export interface BatchDisassociateUserStackRequest { /** *

    The list of UserStackAssociation objects.

    @@ -420,9 +439,9 @@ export namespace ComputeCapacity { */ export interface ComputeCapacityStatus { /** - *

    The number of instances in use for streaming.

    + *

    The desired number of streaming instances.

    */ - InUse?: number; + Desired: number | undefined; /** *

    The number of currently available instances that can be used to stream @@ -431,9 +450,9 @@ export interface ComputeCapacityStatus { Available?: number; /** - *

    The desired number of streaming instances.

    + *

    The number of instances in use for streaming.

    */ - Desired: number | undefined; + InUse?: number; /** *

    The total number of simultaneous streaming instances that are running.

    @@ -449,24 +468,24 @@ export namespace ComputeCapacityStatus { export interface CopyImageRequest { /** - *

    The name of the image to copy.

    + *

    The destination region to which the image will be copied. This parameter is required, even if you are copying an image within the same region.

    */ - SourceImageName: string | undefined; + DestinationRegion: string | undefined; /** - *

    The description that the image will have when it is copied to the destination.

    + *

    The name that the image will have when it is copied to the destination.

    */ - DestinationImageDescription?: string; + DestinationImageName: string | undefined; /** - *

    The name that the image will have when it is copied to the destination.

    + *

    The description that the image will have when it is copied to the destination.

    */ - DestinationImageName: string | undefined; + DestinationImageDescription?: string; /** - *

    The destination region to which the image will be copied. This parameter is required, even if you are copying an image within the same region.

    + *

    The name of the image to copy.

    */ - DestinationRegion: string | undefined; + SourceImageName: string | undefined; } export namespace CopyImageRequest { @@ -550,6 +569,11 @@ export namespace ServiceAccountCredentials { } export interface CreateDirectoryConfigRequest { + /** + *

    The credentials for the service account used by the fleet or image builder to connect to the directory.

    + */ + ServiceAccountCredentials?: ServiceAccountCredentials; + /** *

    The fully qualified name of the directory (for example, corp.example.com).

    */ @@ -559,11 +583,6 @@ export interface CreateDirectoryConfigRequest { *

    The distinguished names of the organizational units for computer accounts.

    */ OrganizationalUnitDistinguishedNames: string[] | undefined; - - /** - *

    The credentials for the service account used by the fleet or image builder to connect to the directory.

    - */ - ServiceAccountCredentials: ServiceAccountCredentials | undefined; } export namespace CreateDirectoryConfigRequest { @@ -579,11 +598,6 @@ export namespace CreateDirectoryConfigRequest { *

    Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

    */ export interface DirectoryConfig { - /** - *

    The credentials for the service account used by the fleet or image builder to connect to the directory.

    - */ - ServiceAccountCredentials?: ServiceAccountCredentials; - /** *

    The fully qualified name of the directory (for example, corp.example.com).

    */ @@ -594,6 +608,11 @@ export interface DirectoryConfig { */ CreatedTime?: Date; + /** + *

    The credentials for the service account used by the fleet or image builder to connect to the directory.

    + */ + ServiceAccountCredentials?: ServiceAccountCredentials; + /** *

    The distinguished names of the organizational units for computer accounts.

    */ @@ -624,18 +643,36 @@ export namespace CreateDirectoryConfigResult { } /** - *

    Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

    + *

    The specified role is invalid.

    */ -export interface DomainJoinInfo { +export interface InvalidRoleException extends __SmithyException, $MetadataBearer { + name: "InvalidRoleException"; + $fault: "client"; /** - *

    The fully qualified name of the directory (for example, corp.example.com).

    + *

    The error message in the exception.

    */ - DirectoryName?: string; + Message?: string; +} + +export namespace InvalidRoleException { + export const filterSensitiveLog = (obj: InvalidRoleException): any => ({ + ...obj, + }); +} +/** + *

    Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

    + */ +export interface DomainJoinInfo { /** *

    The distinguished name of the organizational unit for computer accounts.

    */ OrganizationalUnitDistinguishedName?: string; + + /** + *

    The fully qualified name of the directory (for example, corp.example.com).

    + */ + DirectoryName?: string; } export namespace DomainJoinInfo { @@ -649,19 +686,24 @@ export enum FleetType { ON_DEMAND = "ON_DEMAND", } +export enum StreamView { + APP = "APP", + DESKTOP = "DESKTOP", +} + /** *

    Describes VPC configuration information for fleets and image builders.

    */ export interface VpcConfig { /** - *

    The identifiers of the security groups for the fleet or image builder.

    + *

    The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.

    */ - SecurityGroupIds?: string[]; + SubnetIds?: string[]; /** - *

    The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.

    + *

    The identifiers of the security groups for the fleet or image builder.

    */ - SubnetIds?: string[]; + SecurityGroupIds?: string[]; } export namespace VpcConfig { @@ -671,25 +713,63 @@ export namespace VpcConfig { } export interface CreateFleetRequest { + /** + *

    A unique name for the fleet.

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

    The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.

    + * + *

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

    + */ + IamRoleArn?: string; + + /** + *

    The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP is specified, only the windows of applications opened by users display. When DESKTOP is specified, the standard desktop that is provided by the operating system displays.

    + * + *

    The default value is APP.

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

    Enables or disables default internet access for the fleet.

    */ EnableDefaultInternetAccess?: boolean; /** - *

    The description to display.

    + *

    The amount of time that users can be idle (inactive) before they are disconnected + * from their streaming session and the DisconnectTimeoutInSeconds time + * interval begins. Users are notified before they are disconnected due to inactivity. If + * they try to reconnect to the streaming session before the time interval specified in + * DisconnectTimeoutInSeconds elapses, they are connected to their + * previous session. Users are considered idle when they stop providing keyboard or mouse + * input during their streaming session. File uploads and downloads, audio in, audio out, + * and pixels changing do not qualify as user activity. If users continue to be idle after + * the time interval in IdleDisconnectTimeoutInSeconds elapses, they are + * disconnected.

    + *

    To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

    + * + *

    If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

    + *
    */ - Description?: string; + IdleDisconnectTimeoutInSeconds?: number; /** - *

    The desired capacity for the fleet.

    + *

    The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

    */ - ComputeCapacity: ComputeCapacity | undefined; + DomainJoinInfo?: DomainJoinInfo; /** - *

    The VPC configuration for the fleet.

    + *

    The fleet name to display.

    */ - VpcConfig?: VpcConfig; + DisplayName?: string; + + /** + *

    The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

    + *

    Specify a value between 60 and 360000.

    + */ + DisconnectTimeoutInSeconds?: number; /** *

    The fleet type.

    @@ -710,20 +790,9 @@ export interface CreateFleetRequest { FleetType?: FleetType | string; /** - *

    The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

    - *

    Specify a value between 60 and 360000.

    - */ - DisconnectTimeoutInSeconds?: number; - - /** - *

    A unique name for the fleet.

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

    The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

    + *

    The desired capacity for the fleet.

    */ - DomainJoinInfo?: DomainJoinInfo; + ComputeCapacity: ComputeCapacity | undefined; /** *

    The name of the image used to create the fleet.

    @@ -731,40 +800,14 @@ export interface CreateFleetRequest { ImageName?: string; /** - *

    The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

    - *

    Specify a value between 600 and 360000.

    - */ - MaxUserDurationInSeconds?: number; - - /** - *

    The amount of time that users can be idle (inactive) before they are disconnected - * from their streaming session and the DisconnectTimeoutInSeconds time - * interval begins. Users are notified before they are disconnected due to inactivity. If - * they try to reconnect to the streaming session before the time interval specified in - * DisconnectTimeoutInSeconds elapses, they are connected to their - * previous session. Users are considered idle when they stop providing keyboard or mouse - * input during their streaming session. File uploads and downloads, audio in, audio out, - * and pixels changing do not qualify as user activity. If users continue to be idle after - * the time interval in IdleDisconnectTimeoutInSeconds elapses, they are - * disconnected.

    - *

    To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

    - * - *

    If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

    - *
    - */ - IdleDisconnectTimeoutInSeconds?: number; - - /** - *

    The fleet name to display.

    + *

    The VPC configuration for the fleet.

    */ - DisplayName?: string; + VpcConfig?: VpcConfig; /** - *

    The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.

    - * - *

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

    + *

    The description to display.

    */ - IamRoleArn?: string; + Description?: string; /** *

    The instance type to use when launching fleet instances. The following instance types are available:

    @@ -806,19 +849,55 @@ export interface CreateFleetRequest { *

    stream.memory.8xlarge

    * *
  • - *

    stream.graphics-design.large

    + *

    stream.memory.z1d.large

    *
  • *
  • - *

    stream.graphics-design.xlarge

    + *

    stream.memory.z1d.xlarge

    *
  • *
  • - *

    stream.graphics-design.2xlarge

    + *

    stream.memory.z1d.2xlarge

    *
  • *
  • - *

    stream.graphics-design.4xlarge

    + *

    stream.memory.z1d.3xlarge

    *
  • *
  • - *

    stream.graphics-desktop.2xlarge

    + *

    stream.memory.z1d.6xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.12xlarge

    + *
  • + *
  • + *

    stream.graphics-design.large

    + *
  • + *
  • + *

    stream.graphics-design.xlarge

    + *
  • + *
  • + *

    stream.graphics-design.2xlarge

    + *
  • + *
  • + *

    stream.graphics-design.4xlarge

    + *
  • + *
  • + *

    stream.graphics-desktop.2xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.2xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.4xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.8xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.12xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.16xlarge

    *
  • *
  • *

    stream.graphics-pro.4xlarge

    @@ -833,11 +912,6 @@ export interface CreateFleetRequest { */ InstanceType: string | undefined; - /** - *

    The ARN of the public, private, or shared image to use.

    - */ - ImageArn?: string; - /** *

    The tags to associate with the fleet. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

    * @@ -849,6 +923,17 @@ export interface CreateFleetRequest { *

    For more information, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

    */ Tags?: { [key: string]: string }; + + /** + *

    The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

    + *

    Specify a value between 600 and 360000.

    + */ + MaxUserDurationInSeconds?: number; + + /** + *

    The ARN of the public, private, or shared image to use.

    + */ + ImageArn?: string; } export namespace CreateFleetRequest { @@ -893,14 +978,14 @@ export enum FleetErrorCode { */ export interface FleetError { /** - *

    The error message.

    + *

    The error code.

    */ - ErrorMessage?: string; + ErrorCode?: FleetErrorCode | string; /** - *

    The error code.

    + *

    The error message.

    */ - ErrorCode?: FleetErrorCode | string; + ErrorMessage?: string; } export namespace FleetError { @@ -920,116 +1005,15 @@ export enum FleetState { *

    Describes a fleet.

    */ export interface Fleet { - /** - *

    The amount of time that a streaming session remains active after users disconnect. If they try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

    - *

    Specify a value between 60 and 360000.

    - */ - DisconnectTimeoutInSeconds?: number; - - /** - *

    The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

    - *

    Specify a value between 600 and 360000.

    - */ - MaxUserDurationInSeconds?: number; - - /** - *

    The fleet errors.

    - */ - FleetErrors?: FleetError[]; - - /** - *

    The fleet name to display.

    - */ - DisplayName?: string; - - /** - *

    The VPC configuration for the fleet.

    - */ - VpcConfig?: VpcConfig; - /** *

    The description to display.

    */ Description?: string; /** - *

    The Amazon Resource Name (ARN) for the fleet.

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

    The name of the image used to create the fleet.

    - */ - ImageName?: string; - - /** - *

    The fleet type.

    - *
    - *
    ALWAYS_ON
    - *
    - *

    Provides users with instant-on access to their apps. - * You are charged for all running instances in your fleet, even if no users are streaming apps.

    - *
    - *
    ON_DEMAND
    - *
    - *

    Provide users with access to applications after they connect, which takes one to two minutes. - * You are charged for instance streaming when users are connected and a - * small hourly fee for instances that are not streaming apps.

    - *
    - *
    - */ - FleetType?: FleetType | string; - - /** - *

    The current state for the fleet.

    - */ - State: FleetState | string | undefined; - - /** - *

    The ARN of the IAM role that is applied to the fleet. To assume a role, the fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.

    - * - *

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

    - */ - IamRoleArn?: string; - - /** - *

    The capacity status for the fleet.

    - */ - ComputeCapacityStatus: ComputeCapacityStatus | undefined; - - /** - *

    The ARN for the public, private, or shared image.

    - */ - ImageArn?: string; - - /** - *

    The name of the fleet.

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

    The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

    - */ - DomainJoinInfo?: DomainJoinInfo; - - /** - *

    The amount of time that users can be idle (inactive) before they are disconnected - * from their streaming session and the DisconnectTimeoutInSeconds time - * interval begins. Users are notified before they are disconnected due to inactivity. If - * users try to reconnect to the streaming session before the time interval specified in - * DisconnectTimeoutInSeconds elapses, they are connected to their - * previous session. Users are considered idle when they stop providing keyboard or mouse - * input during their streaming session. File uploads and downloads, audio in, audio out, - * and pixels changing do not qualify as user activity. If users continue to be idle after - * the time interval in IdleDisconnectTimeoutInSeconds elapses, they are - * disconnected.

    - *

    To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

    - * - * - *

    If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

    - *
    + *

    The VPC configuration for the fleet.

    */ - IdleDisconnectTimeoutInSeconds?: number; + VpcConfig?: VpcConfig; /** *

    The time the fleet was created.

    @@ -1076,6 +1060,24 @@ export interface Fleet { *

    stream.memory.8xlarge

    *
  • *
  • + *

    stream.memory.z1d.large

    + *
  • + *
  • + *

    stream.memory.z1d.xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.2xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.3xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.6xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.12xlarge

    + *
  • + *
  • *

    stream.graphics-design.large

    *
  • *
  • @@ -1091,6 +1093,24 @@ export interface Fleet { *

    stream.graphics-desktop.2xlarge

    *
  • *
  • + *

    stream.graphics.g4dn.xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.2xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.4xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.8xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.12xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.16xlarge

    + *
  • + *
  • *

    stream.graphics-pro.4xlarge

    *
  • *
  • @@ -1103,10 +1123,118 @@ export interface Fleet { */ InstanceType: string | undefined; + /** + *

    The Amazon Resource Name (ARN) for the fleet.

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

    The amount of time that a streaming session remains active after users disconnect. If they try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

    + *

    Specify a value between 60 and 360000.

    + */ + DisconnectTimeoutInSeconds?: number; + + /** + *

    The current state for the fleet.

    + */ + State: FleetState | string | undefined; + + /** + *

    The fleet type.

    + *
    + *
    ALWAYS_ON
    + *
    + *

    Provides users with instant-on access to their apps. + * You are charged for all running instances in your fleet, even if no users are streaming apps.

    + *
    + *
    ON_DEMAND
    + *
    + *

    Provide users with access to applications after they connect, which takes one to two minutes. + * You are charged for instance streaming when users are connected and a + * small hourly fee for instances that are not streaming apps.

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

    The capacity status for the fleet.

    + */ + ComputeCapacityStatus: ComputeCapacityStatus | undefined; + + /** + *

    The fleet errors.

    + */ + FleetErrors?: FleetError[]; + + /** + *

    The ARN of the IAM role that is applied to the fleet. To assume a role, the fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.

    + * + *

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

    + */ + IamRoleArn?: string; + + /** + *

    The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP is specified, only the windows of applications opened by users display. When DESKTOP is specified, the standard desktop that is provided by the operating system displays.

    + * + *

    The default value is APP.

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

    The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

    + *

    Specify a value between 600 and 360000.

    + */ + MaxUserDurationInSeconds?: number; + + /** + *

    The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

    + */ + DomainJoinInfo?: DomainJoinInfo; + + /** + *

    The name of the fleet.

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

    The name of the image used to create the fleet.

    + */ + ImageName?: string; + + /** + *

    The ARN for the public, private, or shared image.

    + */ + ImageArn?: string; + + /** + *

    The fleet name to display.

    + */ + DisplayName?: string; + /** *

    Indicates whether default internet access is enabled for the fleet.

    */ EnableDefaultInternetAccess?: boolean; + + /** + *

    The amount of time that users can be idle (inactive) before they are disconnected + * from their streaming session and the DisconnectTimeoutInSeconds time + * interval begins. Users are notified before they are disconnected due to inactivity. If + * users try to reconnect to the streaming session before the time interval specified in + * DisconnectTimeoutInSeconds elapses, they are connected to their + * previous session. Users are considered idle when they stop providing keyboard or mouse + * input during their streaming session. File uploads and downloads, audio in, audio out, + * and pixels changing do not qualify as user activity. If users continue to be idle after + * the time interval in IdleDisconnectTimeoutInSeconds elapses, they are + * disconnected.

    + *

    To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

    + * + * + *

    If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

    + *
    + */ + IdleDisconnectTimeoutInSeconds?: number; } export namespace Fleet { @@ -1129,10 +1257,10 @@ export namespace CreateFleetResult { } /** - *

    Indicates an incorrect combination of parameters, or a missing parameter.

    + *

    AppStream 2.0 can’t process the request right now because the Describe calls from your AWS account are being throttled by Amazon EC2. Try again later.

    */ -export interface InvalidParameterCombinationException extends __SmithyException, $MetadataBearer { - name: "InvalidParameterCombinationException"; +export interface RequestLimitExceededException extends __SmithyException, $MetadataBearer { + name: "RequestLimitExceededException"; $fault: "client"; /** *

    The error message in the exception.

    @@ -1140,35 +1268,46 @@ export interface InvalidParameterCombinationException extends __SmithyException, Message?: string; } -export namespace InvalidParameterCombinationException { - export const filterSensitiveLog = (obj: InvalidParameterCombinationException): any => ({ +export namespace RequestLimitExceededException { + export const filterSensitiveLog = (obj: RequestLimitExceededException): any => ({ ...obj, }); } -/** - *

    The specified role is invalid.

    - */ -export interface InvalidRoleException extends __SmithyException, $MetadataBearer { - name: "InvalidRoleException"; - $fault: "client"; +export interface CreateImageBuilderRequest { /** - *

    The error message in the exception.

    + *

    The ARN of the public, private, or shared image to use.

    */ - Message?: string; -} + ImageArn?: string; -export namespace InvalidRoleException { - export const filterSensitiveLog = (obj: InvalidRoleException): any => ({ - ...obj, - }); -} + /** + *

    The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.

    + */ + AccessEndpoints?: AccessEndpoint[]; -export interface CreateImageBuilderRequest { /** - *

    Enables or disables default internet access for the image builder.

    + *

    The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

    + * + *

    Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

    + *

    _ . : / = + \ - @

    + * + *

    If you do not specify a value, the value is set to an empty string.

    + * + *

    For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

    */ - EnableDefaultInternetAccess?: boolean; + Tags?: { [key: string]: string }; + + /** + *

    The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.

    + * + *

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

    + */ + IamRoleArn?: string; + + /** + *

    The name of the image used to create the image builder.

    + */ + ImageName?: string; /** *

    The instance type to use when launching the image builder. The following instance types are available:

    @@ -1210,6 +1349,24 @@ export interface CreateImageBuilderRequest { *

    stream.memory.8xlarge

    *
  • *
  • + *

    stream.memory.z1d.large

    + *
  • + *
  • + *

    stream.memory.z1d.xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.2xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.3xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.6xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.12xlarge

    + *
  • + *
  • *

    stream.graphics-design.large

    *
  • *
  • @@ -1225,6 +1382,24 @@ export interface CreateImageBuilderRequest { *

    stream.graphics-desktop.2xlarge

    *
  • *
  • + *

    stream.graphics.g4dn.xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.2xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.4xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.8xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.12xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.16xlarge

    + *
  • + *
  • *

    stream.graphics-pro.4xlarge

    *
  • *
  • @@ -1237,54 +1412,25 @@ export interface CreateImageBuilderRequest { */ InstanceType: string | undefined; - /** - *

    The VPC configuration for the image builder. You can specify only one subnet.

    - */ - VpcConfig?: VpcConfig; - - /** - *

    The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.

    - * - *

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

    - */ - IamRoleArn?: string; - /** *

    The description to display.

    */ Description?: string; /** - *

    The image builder name to display.

    - */ - DisplayName?: string; - - /** - *

    The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

    - * - *

    Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

    - *

    _ . : / = + \ - @

    - * - *

    If you do not specify a value, the value is set to an empty string.

    - * - *

    For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

    - */ - Tags?: { [key: string]: string }; - - /** - *

    The name of the image used to create the image builder.

    + *

    The VPC configuration for the image builder. You can specify only one subnet.

    */ - ImageName?: string; + VpcConfig?: VpcConfig; /** - *

    The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.

    + *

    Enables or disables default internet access for the image builder.

    */ - AccessEndpoints?: AccessEndpoint[]; + EnableDefaultInternetAccess?: boolean; /** - *

    The ARN of the public, private, or shared image to use.

    + *

    The image builder name to display.

    */ - ImageArn?: string; + DisplayName?: string; /** *

    The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].

    @@ -1313,9 +1459,9 @@ export namespace CreateImageBuilderRequest { */ export interface ResourceError { /** - *

    The time the error occurred.

    + *

    The error code.

    */ - ErrorTimestamp?: Date; + ErrorCode?: FleetErrorCode | string; /** *

    The error message.

    @@ -1323,9 +1469,9 @@ export interface ResourceError { ErrorMessage?: string; /** - *

    The error code.

    + *

    The time the error occurred.

    */ - ErrorCode?: FleetErrorCode | string; + ErrorTimestamp?: Date; } export namespace ResourceError { @@ -1379,14 +1525,14 @@ export enum ImageBuilderStateChangeReasonCode { */ export interface ImageBuilderStateChangeReason { /** - *

    The state change reason code.

    + *

    The state change reason message.

    */ - Code?: ImageBuilderStateChangeReasonCode | string; + Message?: string; /** - *

    The state change reason message.

    + *

    The state change reason code.

    */ - Message?: string; + Code?: ImageBuilderStateChangeReasonCode | string; } export namespace ImageBuilderStateChangeReason { @@ -1400,24 +1546,29 @@ export namespace ImageBuilderStateChangeReason { */ export interface ImageBuilder { /** - *

    The ARN for the image builder.

    + *

    The name of the image builder.

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

    The ARN of the image from which this builder was created.

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

    The VPC configuration of the image builder.

    + *

    The operating system platform of the image builder.

    */ - VpcConfig?: VpcConfig; + Platform?: PlatformType | string; /** - *

    The image builder errors.

    + *

    The time stamp when the image builder was created.

    */ - ImageBuilderErrors?: ResourceError[]; + CreatedTime?: Date; /** - *

    Enables or disables default internet access for the image builder.

    + *

    The list of virtual private cloud (VPC) interface endpoint objects. Administrators can connect to the image builder only through the specified endpoints.

    */ - EnableDefaultInternetAccess?: boolean; + AccessEndpoints?: AccessEndpoint[]; /** *

    The image builder name to display.

    @@ -1464,6 +1615,24 @@ export interface ImageBuilder { *

    stream.memory.8xlarge

    *
  • *
  • + *

    stream.memory.z1d.large

    + *
  • + *
  • + *

    stream.memory.z1d.xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.2xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.3xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.6xlarge

    + *
  • + *
  • + *

    stream.memory.z1d.12xlarge

    + *
  • + *
  • *

    stream.graphics-design.large

    *
  • *
  • @@ -1479,6 +1648,24 @@ export interface ImageBuilder { *

    stream.graphics-desktop.2xlarge

    *
  • *
  • + *

    stream.graphics.g4dn.xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.2xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.4xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.8xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.12xlarge

    + *
  • + *
  • + *

    stream.graphics.g4dn.16xlarge

    + *
  • + *
  • *

    stream.graphics-pro.4xlarge

    *
  • *
  • @@ -1492,34 +1679,31 @@ export interface ImageBuilder { InstanceType?: string; /** - *

    The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

    - */ - DomainJoinInfo?: DomainJoinInfo; - - /** - *

    The name of the image builder.

    + *

    The VPC configuration of the image builder.

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

    The operating system platform of the image builder.

    + *

    The ARN of the IAM role that is applied to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.

    + * + *

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

    */ - Platform?: PlatformType | string; + IamRoleArn?: string; /** - *

    The time stamp when the image builder was created.

    + *

    The reason why the last state change occurred.

    */ - CreatedTime?: Date; + StateChangeReason?: ImageBuilderStateChangeReason; /** - *

    Describes the network details of the fleet or image builder instance.

    + *

    The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

    */ - NetworkAccessConfiguration?: NetworkAccessConfiguration; + DomainJoinInfo?: DomainJoinInfo; /** - *

    The reason why the last state change occurred.

    + *

    Enables or disables default internet access for the image builder.

    */ - StateChangeReason?: ImageBuilderStateChangeReason; + EnableDefaultInternetAccess?: boolean; /** *

    The version of the AppStream 2.0 agent that is currently being used by the image builder.

    @@ -1527,14 +1711,14 @@ export interface ImageBuilder { AppstreamAgentVersion?: string; /** - *

    The ARN of the image from which this builder was created.

    + *

    The description to display.

    */ - ImageArn?: string; + Description?: string; /** - *

    The list of virtual private cloud (VPC) interface endpoint objects. Administrators can connect to the image builder only through the specified endpoints.

    + *

    The ARN for the image builder.

    */ - AccessEndpoints?: AccessEndpoint[]; + Arn?: string; /** *

    The state of the image builder.

    @@ -1542,16 +1726,14 @@ export interface ImageBuilder { State?: ImageBuilderState | string; /** - *

    The description to display.

    + *

    The image builder errors.

    */ - Description?: string; + ImageBuilderErrors?: ResourceError[]; /** - *

    The ARN of the IAM role that is applied to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.

    - * - *

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

    + *

    Describes the network details of the fleet or image builder instance.

    */ - IamRoleArn?: string; + NetworkAccessConfiguration?: NetworkAccessConfiguration; } export namespace ImageBuilder { @@ -1574,16 +1756,16 @@ export namespace CreateImageBuilderResult { } export interface CreateImageBuilderStreamingURLRequest { - /** - *

    The name of the image builder.

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

    The time that the streaming URL will be valid, in seconds. * Specify a value between 1 and 604800 seconds. The default is 3600 seconds.

    */ Validity?: number; + + /** + *

    The name of the image builder.

    + */ + Name: string | undefined; } export namespace CreateImageBuilderStreamingURLRequest { @@ -1620,6 +1802,11 @@ export enum StorageConnectorType { *

    Describes a connector that enables persistent storage for users.

    */ export interface StorageConnector { + /** + *

    The type of storage connector.

    + */ + ConnectorType: StorageConnectorType | string | undefined; + /** *

    The names of the domains for the account.

    */ @@ -1629,11 +1816,6 @@ export interface StorageConnector { *

    The ARN of the storage connector.

    */ ResourceIdentifier?: string; - - /** - *

    The type of storage connector.

    - */ - ConnectorType: StorageConnectorType | string | undefined; } export namespace StorageConnector { @@ -1670,14 +1852,26 @@ export namespace UserSetting { export interface CreateStackRequest { /** - *

    The URL that users are redirected to after their streaming session ends.

    + *

    The storage connectors to enable.

    */ - RedirectURL?: string; + StorageConnectors?: StorageConnector[]; /** - *

    The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

    + *

    The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

    */ - UserSettings?: UserSetting[]; + ApplicationSettings?: ApplicationSettings; + + /** + *

    The tags to associate with the stack. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

    + * + *

    If you do not specify a value, the value is set to an empty string.

    + * + *

    Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

    + *

    _ . : / = + \ - @

    + * + *

    For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

    + */ + Tags?: { [key: string]: string }; /** *

    The stack name to display.

    @@ -1685,19 +1879,19 @@ export interface CreateStackRequest { DisplayName?: string; /** - *

    The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

    + *

    The name of the stack.

    */ - AccessEndpoints?: AccessEndpoint[]; + Name: string | undefined; /** - *

    The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

    + *

    The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

    */ - EmbedHostDomains?: string[]; + AccessEndpoints?: AccessEndpoint[]; /** - *

    The name of the stack.

    + *

    The URL that users are redirected to after their streaming session ends.

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

    The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

    @@ -1705,26 +1899,14 @@ export interface CreateStackRequest { FeedbackURL?: string; /** - *

    The storage connectors to enable.

    - */ - StorageConnectors?: StorageConnector[]; - - /** - *

    The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

    + *

    The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

    */ - ApplicationSettings?: ApplicationSettings; + UserSettings?: UserSetting[]; /** - *

    The tags to associate with the stack. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

    - * - *

    If you do not specify a value, the value is set to an empty string.

    - * - *

    Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

    - *

    _ . : / = + \ - @

    - * - *

    For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

    + *

    The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

    */ - Tags?: { [key: string]: string }; + EmbedHostDomains?: string[]; /** *

    The description to display.

    @@ -1748,14 +1930,14 @@ export enum StackErrorCode { */ export interface StackError { /** - *

    The error message.

    + *

    The error code.

    */ - ErrorMessage?: string; + ErrorCode?: StackErrorCode | string; /** - *

    The error code.

    + *

    The error message.

    */ - ErrorCode?: StackErrorCode | string; + ErrorMessage?: string; } export namespace StackError { @@ -1768,35 +1950,20 @@ export namespace StackError { *

    Describes a stack.

    */ export interface Stack { - /** - *

    The storage connectors to enable.

    - */ - StorageConnectors?: StorageConnector[]; - - /** - *

    The time the stack was created.

    - */ - CreatedTime?: Date; - /** *

    The name of the stack.

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

    The ARN of the stack.

    - */ - Arn?: string; - /** *

    The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

    */ FeedbackURL?: string; /** - *

    The description to display.

    + *

    The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

    */ - Description?: string; + EmbedHostDomains?: string[]; /** *

    The actions that are enabled or disabled for users during their streaming sessions. By default these actions are enabled.

    @@ -1814,24 +1981,39 @@ export interface Stack { ApplicationSettings?: ApplicationSettingsResponse; /** - *

    The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

    + *

    The stack name to display.

    */ - EmbedHostDomains?: string[]; + DisplayName?: string; /** - *

    The URL that users are redirected to after their streaming session ends.

    + *

    The list of virtual private cloud (VPC) interface endpoint objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

    */ - RedirectURL?: string; + AccessEndpoints?: AccessEndpoint[]; /** - *

    The list of virtual private cloud (VPC) interface endpoint objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

    + *

    The time the stack was created.

    */ - AccessEndpoints?: AccessEndpoint[]; + CreatedTime?: Date; /** - *

    The stack name to display.

    + *

    The description to display.

    */ - DisplayName?: string; + Description?: string; + + /** + *

    The ARN of the stack.

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

    The URL that users are redirected to after their streaming session ends.

    + */ + RedirectURL?: string; + + /** + *

    The storage connectors to enable.

    + */ + StorageConnectors?: StorageConnector[]; } export namespace Stack { @@ -1855,15 +2037,15 @@ export namespace CreateStackResult { export interface CreateStreamingURLRequest { /** - *

    The name of the fleet.

    + *

    The name of the stack.

    */ - FleetName: string | undefined; + StackName: string | undefined; /** - *

    The time that the streaming URL will be valid, in seconds. - * Specify a value between 1 and 604800 seconds. The default is 60 seconds.

    + *

    The name of the application to launch after the session starts. This is the name that you specified + * as Name in the Image Assistant.

    */ - Validity?: number; + ApplicationId?: string; /** *

    The session context. For more information, see Session Context in the Amazon AppStream 2.0 Administration Guide.

    @@ -1871,20 +2053,20 @@ export interface CreateStreamingURLRequest { SessionContext?: string; /** - *

    The identifier of the user.

    + *

    The time that the streaming URL will be valid, in seconds. + * Specify a value between 1 and 604800 seconds. The default is 60 seconds.

    */ - UserId: string | undefined; + Validity?: number; /** - *

    The name of the application to launch after the session starts. This is the name that you specified - * as Name in the Image Assistant.

    + *

    The identifier of the user.

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

    The name of the stack.

    + *

    The name of the fleet.

    */ - StackName: string | undefined; + FleetName: string | undefined; } export namespace CreateStreamingURLRequest { @@ -1895,14 +2077,14 @@ export namespace CreateStreamingURLRequest { export interface CreateStreamingURLResult { /** - *

    The URL to start the AppStream 2.0 streaming session.

    + *

    The elapsed time, in seconds after the Unix epoch, when this URL expires.

    */ - StreamingURL?: string; + Expires?: Date; /** - *

    The elapsed time, in seconds after the Unix epoch, when this URL expires.

    + *

    The URL to start the AppStream 2.0 streaming session.

    */ - Expires?: Date; + StreamingURL?: string; } export namespace CreateStreamingURLResult { @@ -1924,11 +2106,6 @@ export enum UsageReportSchedule { } export interface CreateUsageReportSubscriptionResult { - /** - *

    The schedule for generating usage reports.

    - */ - Schedule?: UsageReportSchedule | string; - /** *

    The Amazon S3 bucket where generated reports are stored.

    * @@ -1939,6 +2116,11 @@ export interface CreateUsageReportSubscriptionResult { * when you enable usage reports, AppStream 2.0 creates a new S3 bucket.

    */ S3BucketName?: string; + + /** + *

    The schedule for generating usage reports.

    + */ + Schedule?: UsageReportSchedule | string; } export namespace CreateUsageReportSubscriptionResult { @@ -1954,9 +2136,14 @@ export enum MessageAction { export interface CreateUserRequest { /** - *

    The first name, or given name, of the user.

    + *

    The last name, or surname, of the user.

    + */ + LastName?: string; + + /** + *

    The authentication type for the user. You must specify USERPOOL.

    */ - FirstName?: string; + AuthenticationType: AuthenticationType | string | undefined; /** *

    The email address of the user.

    @@ -1967,16 +2154,6 @@ export interface CreateUserRequest { */ UserName: string | undefined; - /** - *

    The authentication type for the user. You must specify USERPOOL.

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

    The last name, or surname, of the user.

    - */ - LastName?: string; - /** *

    The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first name or last name of the user. If the value is null, the email is sent.

    * @@ -1985,14 +2162,19 @@ export interface CreateUserRequest { * */ MessageAction?: MessageAction | string; + + /** + *

    The first name, or given name, of the user.

    + */ + FirstName?: string; } export namespace CreateUserRequest { export const filterSensitiveLog = (obj: CreateUserRequest): any => ({ ...obj, - ...(obj.FirstName && { FirstName: SENSITIVE_STRING }), - ...(obj.UserName && { UserName: SENSITIVE_STRING }), ...(obj.LastName && { LastName: SENSITIVE_STRING }), + ...(obj.UserName && { UserName: SENSITIVE_STRING }), + ...(obj.FirstName && { FirstName: SENSITIVE_STRING }), }); } @@ -2144,20 +2326,30 @@ export enum VisibilityType { */ export interface Image { /** - *

    The permissions to provide to the destination AWS account for the specified image.

    + *

    The version of the AppStream 2.0 agent to use for instances that are launched from this image.

    */ - ImagePermissions?: ImagePermissions; + AppstreamAgentVersion?: string; /** - *

    Indicates whether the image is public or private.

    + *

    The operating system platform of the image.

    */ - Visibility?: VisibilityType | string; + Platform?: PlatformType | string; + + /** + *

    The ARN of the image.

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

    The reason why the last state change occurred.

    */ StateChangeReason?: ImageStateChangeReason; + /** + *

    The permissions to provide to the destination AWS account for the specified image.

    + */ + ImagePermissions?: ImagePermissions; + /** *

    The image name to display.

    */ @@ -2169,19 +2361,15 @@ export interface Image { BaseImageArn?: string; /** - *

    The time the image was created.

    - */ - CreatedTime?: Date; - - /** - *

    The description to display.

    + *

    The name of the image.

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

    The operating system platform of the image.

    + *

    The release date of the public base image. + * For private images, this date is the release date of the base image from which the image was created.

    */ - Platform?: PlatformType | string; + PublicBaseImageReleasedDate?: Date; /** *

    The applications associated with the image.

    @@ -2189,41 +2377,35 @@ export interface Image { Applications?: Application[]; /** - *

    The ARN of the image.

    + *

    The name of the image builder that was used to create the private image. If the image is shared, this value is null.

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

    The version of the AppStream 2.0 agent to use for instances that are launched from this image.

    + *

    The image starts in the PENDING state. If image creation succeeds, the + * state is AVAILABLE. If image creation fails, the state is FAILED.

    */ - AppstreamAgentVersion?: string; + State?: ImageState | string; /** - *

    The name of the image.

    + *

    Indicates whether the image is public or private.

    */ - Name: string | undefined; + Visibility?: VisibilityType | string; /** - *

    The name of the image builder that was used to create the private image. If the image is shared, this value is null.

    + *

    The time the image was created.

    */ - ImageBuilderName?: string; + CreatedTime?: Date; /** - *

    The image starts in the PENDING state. If image creation succeeds, the - * state is AVAILABLE. If image creation fails, the state is FAILED.

    + *

    The description to display.

    */ - State?: ImageState | string; + Description?: string; /** *

    Indicates whether an image builder can be launched from this image.

    */ ImageBuilderSupported?: boolean; - - /** - *

    The release date of the public base image. - * For private images, this date is the release date of the base image from which the image was created.

    - */ - PublicBaseImageReleasedDate?: Date; } export namespace Image { @@ -2273,14 +2455,14 @@ export namespace DeleteImageBuilderResult { export interface DeleteImagePermissionsRequest { /** - *

    The 12-digit identifier of the AWS account for which to delete image permissions.

    + *

    The name of the private image.

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

    The name of the private image.

    + *

    The 12-digit identifier of the AWS account for which to delete image permissions.

    */ - Name: string | undefined; + SharedAccountId: string | undefined; } export namespace DeleteImagePermissionsRequest { @@ -2372,14 +2554,14 @@ export interface DescribeDirectoryConfigsRequest { DirectoryNames?: string[]; /** - *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    + *

    The maximum size of each page of results.

    */ - NextToken?: string; + MaxResults?: number; /** - *

    The maximum size of each page of results.

    + *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    */ - MaxResults?: number; + NextToken?: string; } export namespace DescribeDirectoryConfigsRequest { @@ -2411,14 +2593,14 @@ export namespace DescribeDirectoryConfigsResult { export interface DescribeFleetsRequest { /** - *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    + *

    The names of the fleets to describe.

    */ - NextToken?: string; + Names?: string[]; /** - *

    The names of the fleets to describe.

    + *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    */ - Names?: string[]; + NextToken?: string; } export namespace DescribeFleetsRequest { @@ -2429,14 +2611,14 @@ export namespace DescribeFleetsRequest { export interface DescribeFleetsResult { /** - *

    Information about the fleets.

    + *

    The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    */ - Fleets?: Fleet[]; + NextToken?: string; /** - *

    The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    + *

    Information about the fleets.

    */ - NextToken?: string; + Fleets?: Fleet[]; } export namespace DescribeFleetsResult { @@ -2487,6 +2669,11 @@ export namespace DescribeImageBuildersResult { } export interface DescribeImagePermissionsRequest { + /** + *

    The maximum size of each page of results.

    + */ + MaxResults?: number; + /** *

    The name of the private image for which to describe permissions. The image must be one that you own.

    */ @@ -2497,11 +2684,6 @@ export interface DescribeImagePermissionsRequest { */ NextToken?: string; - /** - *

    The maximum size of each page of results.

    - */ - MaxResults?: number; - /** *

    The 12-digit identifier of one or more AWS accounts with which the image is shared.

    */ @@ -2536,6 +2718,11 @@ export namespace SharedImagePermissions { } export interface DescribeImagePermissionsResult { + /** + *

    The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    + */ + NextToken?: string; + /** *

    The permissions for a private image that you own.

    */ @@ -2545,11 +2732,6 @@ export interface DescribeImagePermissionsResult { *

    The name of the private image.

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

    The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    - */ - NextToken?: string; } export namespace DescribeImagePermissionsResult { @@ -2560,9 +2742,9 @@ export namespace DescribeImagePermissionsResult { export interface DescribeImagesRequest { /** - *

    The ARNs of the public, private, and shared images to describe.

    + *

    The names of the public or private images to describe.

    */ - Arns?: string[]; + Names?: string[]; /** *

    The type of image (public, private, or shared) to describe.

    @@ -2570,9 +2752,9 @@ export interface DescribeImagesRequest { Type?: VisibilityType | string; /** - *

    The names of the public or private images to describe.

    + *

    The ARNs of the public, private, and shared images to describe.

    */ - Names?: string[]; + Arns?: string[]; /** *

    The maximum size of each page of results.

    @@ -2593,14 +2775,14 @@ export namespace DescribeImagesRequest { export interface DescribeImagesResult { /** - *

    Information about the images.

    + *

    The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    */ - Images?: Image[]; + NextToken?: string; /** - *

    The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    + *

    Information about the images.

    */ - NextToken?: string; + Images?: Image[]; } export namespace DescribeImagesResult { @@ -2610,6 +2792,11 @@ export namespace DescribeImagesResult { } export interface DescribeSessionsRequest { + /** + *

    The user identifier (ID). If you specify a user ID, you must also specify the authentication type.

    + */ + UserId?: string; + /** *

    The authentication method. Specify API for a user * authenticated using a streaming URL or SAML for a SAML federated user. @@ -2617,20 +2804,15 @@ export interface DescribeSessionsRequest { */ AuthenticationType?: AuthenticationType | string; - /** - *

    The name of the fleet. This value is case-sensitive.

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

    The name of the stack. This value is case-sensitive.

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

    The user identifier.

    + *

    The name of the fleet. This value is case-sensitive.

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

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    @@ -2665,29 +2847,29 @@ export enum SessionState { */ export interface Session { /** - *

    The current state of the streaming session.

    + *

    The network details for the streaming session.

    */ - State: SessionState | string | undefined; + NetworkAccessConfiguration?: NetworkAccessConfiguration; /** - *

    The time when a streaming instance is dedicated for the user.

    + *

    The identifier of the user for whom the session was created.

    */ - StartTime?: Date; + UserId: string | undefined; /** - *

    The time when the streaming session is set to expire. This time is based on the MaxUserDurationinSeconds value, which determines the maximum length of time that a streaming session can run. A streaming session might end earlier than the time specified in SessionMaxExpirationTime, when the DisconnectTimeOutInSeconds elapses or the user chooses to end his or her session. If the DisconnectTimeOutInSeconds elapses, or the user chooses to end his or her session, the streaming instance is terminated and the streaming session ends.

    + *

    The identifier of the streaming session.

    */ - MaxExpirationTime?: Date; + Id: string | undefined; /** - *

    The network details for the streaming session.

    + *

    The current state of the streaming session.

    */ - NetworkAccessConfiguration?: NetworkAccessConfiguration; + State: SessionState | string | undefined; /** - *

    The identifier of the streaming session.

    + *

    The time when the streaming session is set to expire. This time is based on the MaxUserDurationinSeconds value, which determines the maximum length of time that a streaming session can run. A streaming session might end earlier than the time specified in SessionMaxExpirationTime, when the DisconnectTimeOutInSeconds elapses or the user chooses to end his or her session. If the DisconnectTimeOutInSeconds elapses, or the user chooses to end his or her session, the streaming instance is terminated and the streaming session ends.

    */ - Id: string | undefined; + MaxExpirationTime?: Date; /** *

    Specifies whether a user is connected to the streaming session.

    @@ -2695,15 +2877,14 @@ export interface Session { ConnectionState?: SessionConnectionState | string; /** - *

    The authentication method. The user is authenticated using a streaming URL - * (API) or SAML 2.0 federation (SAML).

    + *

    The time when a streaming instance is dedicated for the user.

    */ - AuthenticationType?: AuthenticationType | string; + StartTime?: Date; /** - *

    The identifier of the user for whom the session was created.

    + *

    The name of the fleet for the streaming session.

    */ - UserId: string | undefined; + FleetName: string | undefined; /** *

    The name of the stack for the streaming session.

    @@ -2711,9 +2892,10 @@ export interface Session { StackName: string | undefined; /** - *

    The name of the fleet for the streaming session.

    + *

    The authentication method. The user is authenticated using a streaming URL + * (API) or SAML 2.0 federation (SAML).

    */ - FleetName: string | undefined; + AuthenticationType?: AuthenticationType | string; } export namespace Session { @@ -2742,14 +2924,14 @@ export namespace DescribeSessionsResult { export interface DescribeStacksRequest { /** - *

    The names of the stacks to describe.

    + *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    */ - Names?: string[]; + NextToken?: string; /** - *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    + *

    The names of the stacks to describe.

    */ - NextToken?: string; + Names?: string[]; } export namespace DescribeStacksRequest { @@ -2778,14 +2960,14 @@ export namespace DescribeStacksResult { export interface DescribeUsageReportSubscriptionsRequest { /** - *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    + *

    The maximum size of each page of results.

    */ - NextToken?: string; + MaxResults?: number; /** - *

    The maximum size of each page of results.

    + *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    */ - MaxResults?: number; + NextToken?: string; } export namespace DescribeUsageReportSubscriptionsRequest { @@ -2825,11 +3007,6 @@ export namespace LastReportGenerationExecutionError { *

    Describes information about the usage report subscription.

    */ export interface UsageReportSubscription { - /** - *

    The time when the last usage report was generated.

    - */ - LastGeneratedReportDate?: Date; - /** *

    The schedule for generating usage reports.

    */ @@ -2840,6 +3017,11 @@ export interface UsageReportSubscription { */ SubscriptionErrors?: LastReportGenerationExecutionError[]; + /** + *

    The time when the last usage report was generated.

    + */ + LastGeneratedReportDate?: Date; + /** *

    The Amazon S3 bucket where generated reports are stored.

    * @@ -2877,6 +3059,11 @@ export namespace DescribeUsageReportSubscriptionsResult { } export interface DescribeUsersRequest { + /** + *

    The authentication type for the users in the user pool to describe. You must specify USERPOOL.

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

    The maximum size of each page of results.

    */ @@ -2886,11 +3073,6 @@ export interface DescribeUsersRequest { *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    */ NextToken?: string; - - /** - *

    The authentication type for the users in the user pool to describe. You must specify USERPOOL.

    - */ - AuthenticationType: AuthenticationType | string | undefined; } export namespace DescribeUsersRequest { @@ -2904,14 +3086,9 @@ export namespace DescribeUsersRequest { */ export interface User { /** - *

    Specifies whether the user in the user pool is enabled.

    - */ - Enabled?: boolean; - - /** - *

    The authentication type for the user.

    + *

    The date and time the user was created in the user pool.

    */ - AuthenticationType: AuthenticationType | string | undefined; + CreatedTime?: Date; /** *

    The email address of the user.

    @@ -2945,9 +3122,9 @@ export interface User { Status?: string; /** - *

    The first name, or given name, of the user.

    + *

    The authentication type for the user.

    */ - FirstName?: string; + AuthenticationType: AuthenticationType | string | undefined; /** *

    The ARN of the user.

    @@ -2955,35 +3132,40 @@ export interface User { Arn?: string; /** - *

    The date and time the user was created in the user pool.

    + *

    The last name, or surname, of the user.

    */ - CreatedTime?: Date; + LastName?: string; /** - *

    The last name, or surname, of the user.

    + *

    The first name, or given name, of the user.

    + */ + FirstName?: string; + + /** + *

    Specifies whether the user in the user pool is enabled.

    */ - LastName?: string; + Enabled?: boolean; } export namespace User { export const filterSensitiveLog = (obj: User): any => ({ ...obj, ...(obj.UserName && { UserName: SENSITIVE_STRING }), - ...(obj.FirstName && { FirstName: SENSITIVE_STRING }), ...(obj.LastName && { LastName: SENSITIVE_STRING }), + ...(obj.FirstName && { FirstName: SENSITIVE_STRING }), }); } export interface DescribeUsersResult { /** - *

    Information about users in the user pool.

    + *

    The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    */ - Users?: User[]; + NextToken?: string; /** - *

    The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    + *

    Information about users in the user pool.

    */ - NextToken?: string; + Users?: User[]; } export namespace DescribeUsersResult { @@ -2995,23 +3177,19 @@ export namespace DescribeUsersResult { export interface DescribeUserStackAssociationsRequest { /** - *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    + *

    The maximum size of each page of results.

    */ - NextToken?: string; + MaxResults?: number; /** - *

    The email address of the user who is associated with the stack.

    - * - * - *

    Users' email addresses are case-sensitive.

    - *
    + *

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    */ - UserName?: string; + NextToken?: string; /** - *

    The maximum size of each page of results.

    + *

    The authentication type for the user who is associated with the stack. You must specify USERPOOL.

    */ - MaxResults?: number; + AuthenticationType?: AuthenticationType | string; /** *

    The name of the stack that is associated with the user.

    @@ -3019,9 +3197,13 @@ export interface DescribeUserStackAssociationsRequest { StackName?: string; /** - *

    The authentication type for the user who is associated with the stack. You must specify USERPOOL.

    + *

    The email address of the user who is associated with the stack.

    + * + * + *

    Users' email addresses are case-sensitive.

    + *
    */ - AuthenticationType?: AuthenticationType | string; + UserName?: string; } export namespace DescribeUserStackAssociationsRequest { @@ -3053,11 +3235,6 @@ export namespace DescribeUserStackAssociationsResult { } export interface DisableUserRequest { - /** - *

    The authentication type for the user. You must specify USERPOOL.

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

    The email address of the user.

    * @@ -3066,6 +3243,11 @@ export interface DisableUserRequest { * */ UserName: string | undefined; + + /** + *

    The authentication type for the user. You must specify USERPOOL.

    + */ + AuthenticationType: AuthenticationType | string | undefined; } export namespace DisableUserRequest { @@ -3085,14 +3267,14 @@ export namespace DisableUserResult { export interface DisassociateFleetRequest { /** - *

    The name of the fleet.

    + *

    The name of the stack.

    */ - FleetName: string | undefined; + StackName: string | undefined; /** - *

    The name of the stack.

    + *

    The name of the fleet.

    */ - StackName: string | undefined; + FleetName: string | undefined; } export namespace DisassociateFleetRequest { @@ -3398,14 +3580,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

    The Amazon Resource Name (ARN) of the resource.

    + *

    The tag keys for the tags to disassociate.

    */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; /** - *

    The tag keys for the tags to disassociate.

    + *

    The Amazon Resource Name (ARN) of the resource.

    */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -3424,14 +3606,14 @@ export namespace UntagResourceResponse { export interface UpdateDirectoryConfigRequest { /** - *

    The distinguished names of the organizational units for computer accounts.

    + *

    The credentials for the service account used by the fleet or image builder to connect to the directory.

    */ - OrganizationalUnitDistinguishedNames?: string[]; + ServiceAccountCredentials?: ServiceAccountCredentials; /** - *

    The credentials for the service account used by the fleet or image builder to connect to the directory.

    + *

    The distinguished names of the organizational units for computer accounts.

    */ - ServiceAccountCredentials?: ServiceAccountCredentials; + OrganizationalUnitDistinguishedNames?: string[]; /** *

    The name of the Directory Config object.

    @@ -3464,52 +3646,35 @@ export namespace UpdateDirectoryConfigResult { export interface UpdateFleetRequest { /** - *

    The ARN of the public, private, or shared image to use.

    - */ - ImageArn?: string; - - /** - *

    Enables or disables default internet access for the fleet.

    - */ - EnableDefaultInternetAccess?: boolean; - - /** - *

    The VPC configuration for the fleet.

    + *

    The amount of time that users can be idle (inactive) before they are disconnected + * from their streaming session and the DisconnectTimeoutInSeconds time + * interval begins. Users are notified before they are disconnected due to inactivity. If + * users try to reconnect to the streaming session before the time interval specified in + * DisconnectTimeoutInSeconds elapses, they are connected to their + * previous session. Users are considered idle when they stop providing keyboard or mouse + * input during their streaming session. File uploads and downloads, audio in, audio out, + * and pixels changing do not qualify as user activity. If users continue to be idle after + * the time interval in IdleDisconnectTimeoutInSeconds elapses, they are + * disconnected.

    + *

    To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

    + * + * + *

    If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

    + *
    */ - VpcConfig?: VpcConfig; + IdleDisconnectTimeoutInSeconds?: number; /** - *

    The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.

    + *

    The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.

    * *

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

    */ IamRoleArn?: string; /** - *

    The fleet attributes to delete.

    - */ - AttributesToDelete?: (FleetAttribute | string)[]; - - /** - *

    The description to display.

    - */ - Description?: string; - - /** - *

    The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

    - */ - DomainJoinInfo?: DomainJoinInfo; - - /** - *

    A unique name for the fleet.

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

    The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

    - *

    Specify a value between 600 and 360000.

    + *

    Deletes the VPC association for the specified fleet.

    */ - MaxUserDurationInSeconds?: number; + DeleteVpcConfig?: boolean; /** *

    The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

    @@ -3518,39 +3683,20 @@ export interface UpdateFleetRequest { DisconnectTimeoutInSeconds?: number; /** - *

    Deletes the VPC association for the specified fleet.

    + *

    A unique name for the fleet.

    */ - DeleteVpcConfig?: boolean; + Name?: string; /** - *

    The name of the image used to create the fleet.

    + *

    The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

    */ - ImageName?: string; + DomainJoinInfo?: DomainJoinInfo; /** *

    The desired capacity for the fleet.

    */ ComputeCapacity?: ComputeCapacity; - /** - *

    The amount of time that users can be idle (inactive) before they are disconnected - * from their streaming session and the DisconnectTimeoutInSeconds time - * interval begins. Users are notified before they are disconnected due to inactivity. If - * users try to reconnect to the streaming session before the time interval specified in - * DisconnectTimeoutInSeconds elapses, they are connected to their - * previous session. Users are considered idle when they stop providing keyboard or mouse - * input during their streaming session. File uploads and downloads, audio in, audio out, - * and pixels changing do not qualify as user activity. If users continue to be idle after - * the time interval in IdleDisconnectTimeoutInSeconds elapses, they are - * disconnected.

    - *

    To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

    - * - * - *

    If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

    - *
    - */ - IdleDisconnectTimeoutInSeconds?: number; - /** *

    The instance type to use when launching fleet instances. The following instance types are available:

    *
      @@ -3591,6 +3737,24 @@ export interface UpdateFleetRequest { *

      stream.memory.8xlarge

      * *
    • + *

      stream.memory.z1d.large

      + *
    • + *
    • + *

      stream.memory.z1d.xlarge

      + *
    • + *
    • + *

      stream.memory.z1d.2xlarge

      + *
    • + *
    • + *

      stream.memory.z1d.3xlarge

      + *
    • + *
    • + *

      stream.memory.z1d.6xlarge

      + *
    • + *
    • + *

      stream.memory.z1d.12xlarge

      + *
    • + *
    • *

      stream.graphics-design.large

      *
    • *
    • @@ -3606,6 +3770,24 @@ export interface UpdateFleetRequest { *

      stream.graphics-desktop.2xlarge

      *
    • *
    • + *

      stream.graphics.g4dn.xlarge

      + *
    • + *
    • + *

      stream.graphics.g4dn.2xlarge

      + *
    • + *
    • + *

      stream.graphics.g4dn.4xlarge

      + *
    • + *
    • + *

      stream.graphics.g4dn.8xlarge

      + *
    • + *
    • + *

      stream.graphics.g4dn.12xlarge

      + *
    • + *
    • + *

      stream.graphics.g4dn.16xlarge

      + *
    • + *
    • *

      stream.graphics-pro.4xlarge

      *
    • *
    • @@ -3618,10 +3800,53 @@ export interface UpdateFleetRequest { */ InstanceType?: string; + /** + *

      The description to display.

      + */ + Description?: string; + + /** + *

      Enables or disables default internet access for the fleet.

      + */ + EnableDefaultInternetAccess?: boolean; + + /** + *

      The VPC configuration for the fleet.

      + */ + VpcConfig?: VpcConfig; + + /** + *

      The fleet attributes to delete.

      + */ + AttributesToDelete?: (FleetAttribute | string)[]; + + /** + *

      The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

      + *

      Specify a value between 600 and 360000.

      + */ + MaxUserDurationInSeconds?: number; + + /** + *

      The name of the image used to create the fleet.

      + */ + ImageName?: string; + /** *

      The fleet name to display.

      */ DisplayName?: string; + + /** + *

      The ARN of the public, private, or shared image to use.

      + */ + ImageArn?: string; + + /** + *

      The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP is specified, only the windows of applications opened by users display. When DESKTOP is specified, the standard desktop that is provided by the operating system displays.

      + * + *

      The default value is APP.

      + */ + StreamView?: StreamView | string; } export namespace UpdateFleetRequest { @@ -3690,9 +3915,14 @@ export enum StackAttribute { export interface UpdateStackRequest { /** - *

      The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

      + *

      The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

      */ - UserSettings?: UserSetting[]; + AccessEndpoints?: AccessEndpoint[]; + + /** + *

      The stack name to display.

      + */ + DisplayName?: string; /** *

      The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

      @@ -3700,14 +3930,14 @@ export interface UpdateStackRequest { ApplicationSettings?: ApplicationSettings; /** - *

      The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

      + *

      The description to display.

      */ - AccessEndpoints?: AccessEndpoint[]; + Description?: string; /** - *

      The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

      + *

      The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

      */ - EmbedHostDomains?: string[]; + FeedbackURL?: string; /** *

      The stack attributes to delete.

      @@ -3715,14 +3945,14 @@ export interface UpdateStackRequest { AttributesToDelete?: (StackAttribute | string)[]; /** - *

      The description to display.

      + *

      The name of the stack.

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

      The stack name to display.

      + *

      The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

      */ - DisplayName?: string; + EmbedHostDomains?: string[]; /** *

      The storage connectors to enable.

      @@ -3730,24 +3960,19 @@ export interface UpdateStackRequest { StorageConnectors?: StorageConnector[]; /** - *

      The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

      - */ - FeedbackURL?: string; - - /** - *

      Deletes the storage connectors currently enabled for the stack.

      + *

      The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

      */ - DeleteStorageConnectors?: boolean; + UserSettings?: UserSetting[]; /** - *

      The name of the stack.

      + *

      The URL that users are redirected to after their streaming session ends.

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

      The URL that users are redirected to after their streaming session ends.

      + *

      Deletes the storage connectors currently enabled for the stack.

      */ - RedirectURL?: string; + DeleteStorageConnectors?: boolean; } export namespace UpdateStackRequest { diff --git a/clients/client-appstream/protocols/Aws_json1_1.ts b/clients/client-appstream/protocols/Aws_json1_1.ts index 8d34b7940396..3ab12c156a07 100644 --- a/clients/client-appstream/protocols/Aws_json1_1.ts +++ b/clients/client-appstream/protocols/Aws_json1_1.ts @@ -199,6 +199,7 @@ import { ListTagsForResourceResponse, NetworkAccessConfiguration, OperationNotPermittedException, + RequestLimitExceededException, ResourceAlreadyExistsException, ResourceError, ResourceInUseException, @@ -984,6 +985,14 @@ const deserializeAws_json1_1BatchAssociateUserStackCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.appstream#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "OperationNotPermittedException": case "com.amazonaws.appstream#OperationNotPermittedException": response = { @@ -1039,6 +1048,22 @@ const deserializeAws_json1_1BatchDisassociateUserStackCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.appstream#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -1189,6 +1214,14 @@ const deserializeAws_json1_1CreateDirectoryConfigCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidRoleException": + case "com.amazonaws.appstream#InvalidRoleException": + response = { + ...(await deserializeAws_json1_1InvalidRoleExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "LimitExceededException": case "com.amazonaws.appstream#LimitExceededException": response = { @@ -1197,6 +1230,14 @@ const deserializeAws_json1_1CreateDirectoryConfigCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceAlreadyExistsException": case "com.amazonaws.appstream#ResourceAlreadyExistsException": response = { @@ -1205,6 +1246,14 @@ const deserializeAws_json1_1CreateDirectoryConfigCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceNotFoundException": + case "com.amazonaws.appstream#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; @@ -1308,6 +1357,14 @@ const deserializeAws_json1_1CreateFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + response = { + ...(await deserializeAws_json1_1RequestLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceAlreadyExistsException": case "com.amazonaws.appstream#ResourceAlreadyExistsException": response = { @@ -1435,6 +1492,14 @@ const deserializeAws_json1_1CreateImageBuilderCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + response = { + ...(await deserializeAws_json1_1RequestLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceAlreadyExistsException": case "com.amazonaws.appstream#ResourceAlreadyExistsException": response = { @@ -2972,6 +3037,14 @@ const deserializeAws_json1_1DescribeUserStackAssociationsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -3082,6 +3155,14 @@ const deserializeAws_json1_1DisassociateFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceInUseException": case "com.amazonaws.appstream#ResourceInUseException": response = { @@ -3444,6 +3525,14 @@ const deserializeAws_json1_1StartFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + response = { + ...(await deserializeAws_json1_1RequestLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotAvailableException": case "com.amazonaws.appstream#ResourceNotAvailableException": response = { @@ -3862,6 +3951,22 @@ const deserializeAws_json1_1UpdateDirectoryConfigCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidRoleException": + case "com.amazonaws.appstream#InvalidRoleException": + response = { + ...(await deserializeAws_json1_1InvalidRoleExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceInUseException": case "com.amazonaws.appstream#ResourceInUseException": response = { @@ -3981,6 +4086,14 @@ const deserializeAws_json1_1UpdateFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + response = { + ...(await deserializeAws_json1_1RequestLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceInUseException": case "com.amazonaws.appstream#ResourceInUseException": response = { @@ -4317,6 +4430,21 @@ const deserializeAws_json1_1OperationNotPermittedExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1RequestLimitExceededExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1RequestLimitExceededException(body, context); + const contents: RequestLimitExceededException = { + name: "RequestLimitExceededException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1ResourceAlreadyExistsExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -4496,6 +4624,7 @@ const serializeAws_json1_1CreateFleetRequest = (input: CreateFleetRequest, conte ...(input.InstanceType !== undefined && { InstanceType: input.InstanceType }), ...(input.MaxUserDurationInSeconds !== undefined && { MaxUserDurationInSeconds: input.MaxUserDurationInSeconds }), ...(input.Name !== undefined && { Name: input.Name }), + ...(input.StreamView !== undefined && { StreamView: input.StreamView }), ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), ...(input.VpcConfig !== undefined && { VpcConfig: serializeAws_json1_1VpcConfig(input.VpcConfig, context) }), }; @@ -5001,6 +5130,7 @@ const serializeAws_json1_1UpdateFleetRequest = (input: UpdateFleetRequest, conte ...(input.InstanceType !== undefined && { InstanceType: input.InstanceType }), ...(input.MaxUserDurationInSeconds !== undefined && { MaxUserDurationInSeconds: input.MaxUserDurationInSeconds }), ...(input.Name !== undefined && { Name: input.Name }), + ...(input.StreamView !== undefined && { StreamView: input.StreamView }), ...(input.VpcConfig !== undefined && { VpcConfig: serializeAws_json1_1VpcConfig(input.VpcConfig, context) }), }; }; @@ -5534,6 +5664,7 @@ const deserializeAws_json1_1Fleet = (output: any, context: __SerdeContext): Flee : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, State: output.State !== undefined && output.State !== null ? output.State : undefined, + StreamView: output.StreamView !== undefined && output.StreamView !== null ? output.StreamView : undefined, VpcConfig: output.VpcConfig !== undefined && output.VpcConfig !== null ? deserializeAws_json1_1VpcConfig(output.VpcConfig, context) @@ -5815,6 +5946,15 @@ const deserializeAws_json1_1OrganizationalUnitDistinguishedNamesList = ( return (output || []).map((entry: any) => entry); }; +const deserializeAws_json1_1RequestLimitExceededException = ( + output: any, + context: __SerdeContext +): RequestLimitExceededException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1ResourceAlreadyExistsException = ( output: any, context: __SerdeContext diff --git a/clients/client-appsync/AppSync.ts b/clients/client-appsync/AppSync.ts index f8a53fb7ab72..4d9c9eda7395 100644 --- a/clients/client-appsync/AppSync.ts +++ b/clients/client-appsync/AppSync.ts @@ -873,7 +873,7 @@ export class AppSync extends AppSyncClient { /** *

      Lists the API keys for a given API.

      * - *

      API keys are deleted automatically sometime after they expire. However, they may + *

      API keys are deleted automatically 60 days after they expire. However, they may * still be included in the response until they have actually been deleted. You can safely * call DeleteApiKey to manually delete a key before it's automatically * deleted.

      @@ -1245,7 +1245,7 @@ export class AppSync extends AppSyncClient { } /** - *

      Updates an API key.

      + *

      Updates an API key. The key can be updated while it is not deleted.

      */ public updateApiKey( args: UpdateApiKeyCommandInput, diff --git a/clients/client-appsync/models/models_0.ts b/clients/client-appsync/models/models_0.ts index 6e2afbebc3a6..76d4b67dd2e7 100644 --- a/clients/client-appsync/models/models_0.ts +++ b/clients/client-appsync/models/models_0.ts @@ -28,14 +28,15 @@ export enum AuthenticationType { */ export interface OpenIDConnectConfig { /** - *

      The number of milliseconds a token is valid after being authenticated.

      + *

      The issuer for the OpenID Connect configuration. The issuer returned by discovery must + * exactly match the value of iss in the ID token.

      */ - authTTL?: number; + issuer: string | undefined; /** - *

      The number of milliseconds a token is valid after being issued to a user.

      + *

      The number of milliseconds a token is valid after being authenticated.

      */ - iatTTL?: number; + authTTL?: number; /** *

      The client identifier of the Relying party at the OpenID identity provider. This @@ -46,10 +47,9 @@ export interface OpenIDConnectConfig { clientId?: string; /** - *

      The issuer for the OpenID Connect configuration. The issuer returned by discovery must - * exactly match the value of iss in the ID token.

      + *

      The number of milliseconds a token is valid after being issued to a user.

      */ - issuer: string | undefined; + iatTTL?: number; } export namespace OpenIDConnectConfig { @@ -62,6 +62,11 @@ export namespace OpenIDConnectConfig { *

      Describes an Amazon Cognito user pool configuration.

      */ export interface CognitoUserPoolConfig { + /** + *

      The user pool ID.

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

      A regular expression for validating the incoming Amazon Cognito user pool app client * ID.

      @@ -72,11 +77,6 @@ export interface CognitoUserPoolConfig { *

      The AWS Region in which the user pool was created.

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

      The user pool ID.

      - */ - userPoolId: string | undefined; } export namespace CognitoUserPoolConfig { @@ -95,14 +95,14 @@ export interface AdditionalAuthenticationProvider { userPoolConfig?: CognitoUserPoolConfig; /** - *

      The OpenID Connect configuration.

      + *

      The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.

      */ - openIDConnectConfig?: OpenIDConnectConfig; + authenticationType?: AuthenticationType | string; /** - *

      The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.

      + *

      The OpenID Connect configuration.

      */ - authenticationType?: AuthenticationType | string; + openIDConnectConfig?: OpenIDConnectConfig; } export namespace AdditionalAuthenticationProvider { @@ -146,23 +146,6 @@ export enum ApiCacheType { *

      The ApiCache object.

      */ export interface ApiCache { - /** - *

      Caching behavior.

      - *
        - *
      • - *

        - * FULL_REQUEST_CACHING: All requests are fully - * cached.

        - *
      • - *
      • - *

        - * PER_RESOLVER_CACHING: Individual resovlers - * that you specify are cached.

        - *
      • - *
      - */ - apiCachingBehavior?: ApiCachingBehavior | string; - /** *

      The cache instance status.

      *
        @@ -196,7 +179,55 @@ export interface ApiCache { status?: ApiCacheStatus | string; /** - *

        The cache instance type.

        + *

        At rest encryption flag for cache. This setting cannot be updated after creation.

        + */ + atRestEncryptionEnabled?: boolean; + + /** + *

        The cache instance type. Valid values are

        + *
          + *
        • + *

          + * SMALL + *

          + *
        • + *
        • + *

          + * MEDIUM + *

          + *
        • + *
        • + *

          + * LARGE + *

          + *
        • + *
        • + *

          + * XLARGE + *

          + *
        • + *
        • + *

          + * LARGE_2X + *

          + *
        • + *
        • + *

          + * LARGE_4X + *

          + *
        • + *
        • + *

          + * LARGE_8X (not available in all regions)

          + *
        • + *
        • + *

          + * LARGE_12X + *

          + *
        • + *
        + *

        Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.

        + *

        The following legacy instance types are avaible, but their use is discouraged:

        *
          *
        • *

          @@ -204,8 +235,7 @@ export interface ApiCache { *

        • *
        • *

          - * T2_MEDIUM: A t2.medium instance - * type.

          + * T2_MEDIUM: A t2.medium instance type.

          *
        • *
        • *

          @@ -213,34 +243,24 @@ export interface ApiCache { *

        • *
        • *

          - * R4_XLARGE: A r4.xlarge instance - * type.

          + * R4_XLARGE: A r4.xlarge instance type.

          *
        • *
        • *

          - * R4_2XLARGE: A r4.2xlarge instance - * type.

          + * R4_2XLARGE: A r4.2xlarge instance type.

          *
        • *
        • *

          - * R4_4XLARGE: A r4.4xlarge instance - * type.

          + * R4_4XLARGE: A r4.4xlarge instance type.

          *
        • *
        • *

          - * R4_8XLARGE: A r4.8xlarge instance - * type.

          + * R4_8XLARGE: A r4.8xlarge instance type.

          *
        • *
        */ type?: ApiCacheType | string; - /** - *

        TTL in seconds for cache entries.

        - *

        Valid values are between 1 and 3600 seconds.

        - */ - ttl?: number; - /** *

        Transit encryption flag when connecting to cache. This setting cannot be updated after * creation.

        @@ -248,9 +268,27 @@ export interface ApiCache { transitEncryptionEnabled?: boolean; /** - *

        At rest encryption flag for cache. This setting cannot be updated after creation.

        + *

        Caching behavior.

        + *
          + *
        • + *

          + * FULL_REQUEST_CACHING: All requests are fully + * cached.

          + *
        • + *
        • + *

          + * PER_RESOLVER_CACHING: Individual resovlers + * that you specify are cached.

          + *
        • + *
        */ - atRestEncryptionEnabled?: boolean; + apiCachingBehavior?: ApiCachingBehavior | string; + + /** + *

        TTL in seconds for cache entries.

        + *

        Valid values are between 1 and 3600 seconds.

        + */ + ttl?: number; } export namespace ApiCache { @@ -299,25 +337,33 @@ export namespace ApiCache { *
          *
        • *

          - * ListApiKeys returns the expiration time in seconds.

          + * ListApiKeys returns the expiration time and deletion time + * in seconds.

          *
        • *
        • *

          - * CreateApiKey returns the expiration time in seconds and accepts a - * user-provided expiration time in seconds.

          + * CreateApiKey returns the expiration time and deletion time + * in seconds and accepts a user-provided expiration time in seconds.

          *
        • *
        • *

          - * UpdateApiKey returns the expiration time in seconds and accepts a - * user-provided expiration time in seconds. Key expiration can only be updated while - * the key has not expired.

          + * UpdateApiKey returns the expiration time and and deletion time + * in seconds and accepts a user-provided expiration time in seconds. Expired API keys + * are kept for 60 days after the expiration time. Key expiration time can be updated + * while the key is not deleted.

          *
        • *
        • *

          * DeleteApiKey deletes the item from the table.

          *
        • *
        • - *

          Expiration is stored in Amazon DynamoDB as seconds.

          + *

          Expiration is stored in Amazon DynamoDB as seconds. After the expiration + * time, using the key to authenticate will fail. But the key can be reinstated before + * deletion.

          + *
        • + *
        • + *

          Deletion is stored in Amazon DynamoDB as seconds. The key will be deleted + * after deletion time.

          *
        • *
        */ @@ -328,15 +374,21 @@ export interface ApiKey { id?: string; /** - *

        The time after which the API key expires. The date is represented as seconds since the + *

        The time after which the API key is deleted. The date is represented as seconds since the * epoch, rounded down to the nearest hour.

        */ - expires?: number; + deletes?: number; /** *

        A description of the purpose of the API key.

        */ description?: string; + + /** + *

        The time after which the API key expires. The date is represented as seconds since the + * epoch, rounded down to the nearest hour.

        + */ + expires?: number; } export namespace ApiKey { @@ -400,14 +452,14 @@ export enum AuthorizationType { */ export interface AwsIamConfig { /** - *

        The signing region for AWS IAM authorization.

        + *

        The signing service name for AWS IAM authorization.

        */ - signingRegion?: string; + signingServiceName?: string; /** - *

        The signing service name for AWS IAM authorization.

        + *

        The signing region for AWS IAM authorization.

        */ - signingServiceName?: string; + signingRegion?: string; } export namespace AwsIamConfig { @@ -480,6 +532,23 @@ export namespace ConcurrentModificationException { *

        Represents the input of a CreateApiCache operation.

        */ export interface CreateApiCacheRequest { + /** + *

        Transit encryption flag when connecting to cache. This setting cannot be updated after + * creation.

        + */ + transitEncryptionEnabled?: boolean; + + /** + *

        The GraphQL API Id.

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

        TTL in seconds for cache entries.

        + *

        Valid values are between 1 and 3600 seconds.

        + */ + ttl: number | undefined; + /** *

        Caching behavior.

        *
          @@ -498,7 +567,50 @@ export interface CreateApiCacheRequest { apiCachingBehavior: ApiCachingBehavior | string | undefined; /** - *

          The cache instance type.

          + *

          The cache instance type. Valid values are

          + *
            + *
          • + *

            + * SMALL + *

            + *
          • + *
          • + *

            + * MEDIUM + *

            + *
          • + *
          • + *

            + * LARGE + *

            + *
          • + *
          • + *

            + * XLARGE + *

            + *
          • + *
          • + *

            + * LARGE_2X + *

            + *
          • + *
          • + *

            + * LARGE_4X + *

            + *
          • + *
          • + *

            + * LARGE_8X (not available in all regions)

            + *
          • + *
          • + *

            + * LARGE_12X + *

            + *
          • + *
          + *

          Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.

          + *

          The following legacy instance types are avaible, but their use is discouraged:

          *
            *
          • *

            @@ -506,8 +618,7 @@ export interface CreateApiCacheRequest { *

          • *
          • *

            - * T2_MEDIUM: A t2.medium instance - * type.

            + * T2_MEDIUM: A t2.medium instance type.

            *
          • *
          • *

            @@ -515,23 +626,19 @@ export interface CreateApiCacheRequest { *

          • *
          • *

            - * R4_XLARGE: A r4.xlarge instance - * type.

            + * R4_XLARGE: A r4.xlarge instance type.

            *
          • *
          • *

            - * R4_2XLARGE: A r4.2xlarge instance - * type.

            + * R4_2XLARGE: A r4.2xlarge instance type.

            *
          • *
          • *

            - * R4_4XLARGE: A r4.4xlarge instance - * type.

            + * R4_4XLARGE: A r4.4xlarge instance type.

            *
          • *
          • *

            - * R4_8XLARGE: A r4.8xlarge instance - * type.

            + * R4_8XLARGE: A r4.8xlarge instance type.

            *
          • *
          */ @@ -541,23 +648,6 @@ export interface CreateApiCacheRequest { *

          At rest encryption flag for cache. This setting cannot be updated after creation.

          */ atRestEncryptionEnabled?: boolean; - - /** - *

          The GraphQL API Id.

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

          Transit encryption flag when connecting to cache. This setting cannot be updated after - * creation.

          - */ - transitEncryptionEnabled?: boolean; - - /** - *

          TTL in seconds for cache entries.

          - *

          Valid values are between 1 and 3600 seconds.

          - */ - ttl: number | undefined; } export namespace CreateApiCacheRequest { @@ -629,6 +719,11 @@ export namespace UnauthorizedException { } export interface CreateApiKeyRequest { + /** + *

          The ID for your GraphQL API.

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

          The time from creation time after which the API key expires. The date is represented as * seconds since the epoch, rounded down to the nearest hour. The default value for this @@ -640,11 +735,6 @@ export interface CreateApiKeyRequest { *

          A description of the purpose of the API key.

          */ description?: string; - - /** - *

          The ID for your GraphQL API.

          - */ - apiId: string | undefined; } export namespace CreateApiKeyRequest { @@ -686,14 +776,14 @@ export namespace LimitExceededException { */ export interface DeltaSyncConfig { /** - *

          The Delta Sync table name.

          + *

          The number of minutes an Item is stored in the datasource.

          */ - deltaSyncTableName?: string; + baseTableTTL?: number; /** - *

          The number of minutes an Item is stored in the datasource.

          + *

          The Delta Sync table name.

          */ - baseTableTTL?: number; + deltaSyncTableName?: string; /** *

          The number of minutes a Delta Sync log entry is stored in the Delta Sync table.

          @@ -712,29 +802,29 @@ export namespace DeltaSyncConfig { */ export interface DynamodbDataSourceConfig { /** - *

          The AWS Region.

          + *

          The DeltaSyncConfig for a versioned datasource.

          */ - awsRegion: string | undefined; + deltaSyncConfig?: DeltaSyncConfig; /** - *

          Set to TRUE to use Amazon Cognito credentials with this data source.

          + *

          Set to TRUE to use Conflict Detection and Resolution with this data source.

          */ - useCallerCredentials?: boolean; + versioned?: boolean; /** - *

          Set to TRUE to use Conflict Detection and Resolution with this data source.

          + *

          The table name.

          */ - versioned?: boolean; + tableName: string | undefined; /** - *

          The DeltaSyncConfig for a versioned datasource.

          + *

          Set to TRUE to use Amazon Cognito credentials with this data source.

          */ - deltaSyncConfig?: DeltaSyncConfig; + useCallerCredentials?: boolean; /** - *

          The table name.

          + *

          The AWS Region.

          */ - tableName: string | undefined; + awsRegion: string | undefined; } export namespace DynamodbDataSourceConfig { @@ -748,14 +838,14 @@ export namespace DynamodbDataSourceConfig { */ export interface ElasticsearchDataSourceConfig { /** - *

          The endpoint.

          + *

          The AWS Region.

          */ - endpoint: string | undefined; + awsRegion: string | undefined; /** - *

          The AWS Region.

          + *

          The endpoint.

          */ - awsRegion: string | undefined; + endpoint: string | undefined; } export namespace ElasticsearchDataSourceConfig { @@ -768,6 +858,11 @@ export namespace ElasticsearchDataSourceConfig { *

          Describes an HTTP data source configuration.

          */ export interface HttpDataSourceConfig { + /** + *

          The authorization config in case the HTTP endpoint requires authorization.

          + */ + authorizationConfig?: AuthorizationConfig; + /** *

          The HTTP URL endpoint. You can either specify the domain name or IP, and port * combination, and the URL scheme must be HTTP or HTTPS. If the port is not specified, AWS @@ -775,11 +870,6 @@ export interface HttpDataSourceConfig { * endpoints.

          */ endpoint?: string; - - /** - *

          The authorization config in case the HTTP endpoint requires authorization.

          - */ - authorizationConfig?: AuthorizationConfig; } export namespace HttpDataSourceConfig { @@ -809,9 +899,9 @@ export namespace LambdaDataSourceConfig { */ export interface RdsHttpEndpointConfig { /** - *

          Logical database name.

          + *

          Logical schema name.

          */ - databaseName?: string; + schema?: string; /** *

          AWS Region for RDS HTTP endpoint.

          @@ -819,19 +909,19 @@ export interface RdsHttpEndpointConfig { awsRegion?: string; /** - *

          Amazon RDS cluster ARN.

          + *

          AWS secret store ARN for database credentials.

          */ - dbClusterIdentifier?: string; + awsSecretStoreArn?: string; /** - *

          Logical schema name.

          + *

          Logical database name.

          */ - schema?: string; + databaseName?: string; /** - *

          AWS secret store ARN for database credentials.

          + *

          Amazon RDS cluster ARN.

          */ - awsSecretStoreArn?: string; + dbClusterIdentifier?: string; } export namespace RdsHttpEndpointConfig { @@ -848,11 +938,6 @@ export enum RelationalDatabaseSourceType { *

          Describes a relational database data source configuration.

          */ export interface RelationalDatabaseDataSourceConfig { - /** - *

          Amazon RDS HTTP endpoint settings.

          - */ - rdsHttpEndpointConfig?: RdsHttpEndpointConfig; - /** *

          Source type for the relational database.

          *
            @@ -864,6 +949,11 @@ export interface RelationalDatabaseDataSourceConfig { *
          */ relationalDatabaseSourceType?: RelationalDatabaseSourceType | string; + + /** + *

          Amazon RDS HTTP endpoint settings.

          + */ + rdsHttpEndpointConfig?: RdsHttpEndpointConfig; } export namespace RelationalDatabaseDataSourceConfig { @@ -883,9 +973,19 @@ export enum DataSourceType { export interface CreateDataSourceRequest { /** - *

          The type of the DataSource.

          + *

          Amazon DynamoDB settings.

          */ - type: DataSourceType | string | undefined; + dynamodbConfig?: DynamodbDataSourceConfig; + + /** + *

          Amazon Elasticsearch Service settings.

          + */ + elasticsearchConfig?: ElasticsearchDataSourceConfig; + + /** + *

          HTTP endpoint settings.

          + */ + httpConfig?: HttpDataSourceConfig; /** *

          Relational database settings.

          @@ -893,9 +993,9 @@ export interface CreateDataSourceRequest { relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig; /** - *

          AWS Lambda settings.

          + *

          A user-supplied name for the DataSource.

          */ - lambdaConfig?: LambdaDataSourceConfig; + name: string | undefined; /** *

          A description of the DataSource.

          @@ -903,9 +1003,9 @@ export interface CreateDataSourceRequest { description?: string; /** - *

          Amazon DynamoDB settings.

          + *

          The type of the DataSource.

          */ - dynamodbConfig?: DynamodbDataSourceConfig; + type: DataSourceType | string | undefined; /** *

          The AWS IAM service role ARN for the data source. The system assumes this role when @@ -914,24 +1014,14 @@ export interface CreateDataSourceRequest { serviceRoleArn?: string; /** - *

          HTTP endpoint settings.

          + *

          AWS Lambda settings.

          */ - httpConfig?: HttpDataSourceConfig; + lambdaConfig?: LambdaDataSourceConfig; /** *

          The API ID for the GraphQL API for the DataSource.

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

          A user-supplied name for the DataSource.

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

          Amazon Elasticsearch Service settings.

          - */ - elasticsearchConfig?: ElasticsearchDataSourceConfig; } export namespace CreateDataSourceRequest { @@ -944,6 +1034,47 @@ export namespace CreateDataSourceRequest { *

          Describes a data source.

          */ export interface DataSource { + /** + *

          Amazon DynamoDB settings.

          + */ + dynamodbConfig?: DynamodbDataSourceConfig; + + /** + *

          The data source ARN.

          + */ + dataSourceArn?: string; + + /** + *

          Amazon Elasticsearch Service settings.

          + */ + elasticsearchConfig?: ElasticsearchDataSourceConfig; + + /** + *

          HTTP endpoint settings.

          + */ + httpConfig?: HttpDataSourceConfig; + + /** + *

          The description of the data source.

          + */ + description?: string; + + /** + *

          The name of the data source.

          + */ + name?: string; + + /** + *

          The AWS IAM service role ARN for the data source. The system assumes this role when + * accessing the data source.

          + */ + serviceRoleArn?: string; + + /** + *

          Relational database settings.

          + */ + relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig; + /** *

          The type of the data source.

          *
            @@ -983,51 +1114,10 @@ export interface DataSource { */ type?: DataSourceType | string; - /** - *

            Relational database settings.

            - */ - relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig; - - /** - *

            Amazon Elasticsearch Service settings.

            - */ - elasticsearchConfig?: ElasticsearchDataSourceConfig; - /** *

            AWS Lambda settings.

            */ lambdaConfig?: LambdaDataSourceConfig; - - /** - *

            The AWS IAM service role ARN for the data source. The system assumes this role when - * accessing the data source.

            - */ - serviceRoleArn?: string; - - /** - *

            The description of the data source.

            - */ - description?: string; - - /** - *

            Amazon DynamoDB settings.

            - */ - dynamodbConfig?: DynamodbDataSourceConfig; - - /** - *

            HTTP endpoint settings.

            - */ - httpConfig?: HttpDataSourceConfig; - - /** - *

            The data source ARN.

            - */ - dataSourceArn?: string; - - /** - *

            The name of the data source.

            - */ - name?: string; } export namespace DataSource { @@ -1051,21 +1141,21 @@ export namespace CreateDataSourceResponse { export interface CreateFunctionRequest { /** - *

            The Function response mapping template.

            + *

            The Function + * DataSource name.

            */ - responseMappingTemplate?: string; + dataSourceName: string | undefined; /** - *

            The version of the request mapping template. Currently the supported value - * is 2018-05-29.

            + *

            The Function request mapping template. Functions support only the + * 2018-05-29 version of the request mapping template.

            */ - functionVersion: string | undefined; + requestMappingTemplate?: string; /** - *

            The Function - * DataSource name.

            + *

            The Function response mapping template.

            */ - dataSourceName: string | undefined; + responseMappingTemplate?: string; /** *

            The Function name. The function name does not have to be unique.

            @@ -1083,10 +1173,10 @@ export interface CreateFunctionRequest { apiId: string | undefined; /** - *

            The Function request mapping template. Functions support only the - * 2018-05-29 version of the request mapping template.

            + *

            The version of the request mapping template. Currently the supported value + * is 2018-05-29.

            */ - requestMappingTemplate: string | undefined; + functionVersion: string | undefined; } export namespace CreateFunctionRequest { @@ -1101,20 +1191,14 @@ export namespace CreateFunctionRequest { */ export interface FunctionConfiguration { /** - *

            A unique ID representing the Function object.

            - */ - functionId?: string; - - /** - *

            The version of the request mapping template. Currently only the 2018-05-29 version of - * the template is supported.

            + *

            The ARN of the Function object.

            */ - functionVersion?: string; + functionArn?: string; /** - *

            The Function response mapping template.

            + *

            The Function description.

            */ - responseMappingTemplate?: string; + description?: string; /** *

            The name of the Function object.

            @@ -1127,9 +1211,9 @@ export interface FunctionConfiguration { dataSourceName?: string; /** - *

            The ARN of the Function object.

            + *

            A unique ID representing the Function object.

            */ - functionArn?: string; + functionId?: string; /** *

            The Function request mapping template. Functions support only the @@ -1138,9 +1222,15 @@ export interface FunctionConfiguration { requestMappingTemplate?: string; /** - *

            The Function description.

            + *

            The Function response mapping template.

            */ - description?: string; + responseMappingTemplate?: string; + + /** + *

            The version of the request mapping template. Currently only the 2018-05-29 version of + * the template is supported.

            + */ + functionVersion?: string; } export namespace FunctionConfiguration { @@ -1172,6 +1262,12 @@ export enum FieldLogLevel { *

            The CloudWatch Logs configuration.

            */ export interface LogConfig { + /** + *

            The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in + * your account.

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

            The field logging level. Values can be NONE, ERROR, or ALL.

            *
              @@ -1220,12 +1316,6 @@ export interface LogConfig { * evaluated mapping templates, regardless of logging level.

              */ excludeVerboseContent?: boolean; - - /** - *

              The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in - * your account.

              - */ - cloudWatchLogsRoleArn: string | undefined; } export namespace LogConfig { @@ -1243,17 +1333,6 @@ export enum DefaultAction { *

              Describes an Amazon Cognito user pool configuration.

              */ export interface UserPoolConfig { - /** - *

              A regular expression for validating the incoming Amazon Cognito user pool app client - * ID.

              - */ - appIdClientRegex?: string; - - /** - *

              The AWS Region in which the user pool was created.

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

              The action that you want your GraphQL API to take when a request that uses Amazon * Cognito user pool authentication doesn't match the Amazon Cognito user pool @@ -1265,6 +1344,17 @@ export interface UserPoolConfig { *

              The user pool ID.

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

              A regular expression for validating the incoming Amazon Cognito user pool app client + * ID.

              + */ + appIdClientRegex?: string; + + /** + *

              The AWS Region in which the user pool was created.

              + */ + awsRegion: string | undefined; } export namespace UserPoolConfig { @@ -1274,20 +1364,31 @@ export namespace UserPoolConfig { } export interface CreateGraphqlApiRequest { + /** + *

              The Amazon CloudWatch Logs configuration.

              + */ + logConfig?: LogConfig; + + /** + *

              A list of additional authentication providers for the GraphqlApi + * API.

              + */ + additionalAuthenticationProviders?: AdditionalAuthenticationProvider[]; + /** *

              A TagMap object.

              */ tags?: { [key: string]: string }; /** - *

              A user-supplied name for the GraphqlApi.

              + *

              The OpenID Connect configuration.

              */ - name: string | undefined; + openIDConnectConfig?: OpenIDConnectConfig; /** - *

              The Amazon CloudWatch Logs configuration.

              + *

              A user-supplied name for the GraphqlApi.

              */ - logConfig?: LogConfig; + name: string | undefined; /** *

              The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.

              @@ -1304,17 +1405,6 @@ export interface CreateGraphqlApiRequest { *

              The Amazon Cognito user pool configuration.

              */ userPoolConfig?: UserPoolConfig; - - /** - *

              The OpenID Connect configuration.

              - */ - openIDConnectConfig?: OpenIDConnectConfig; - - /** - *

              A list of additional authentication providers for the GraphqlApi - * API.

              - */ - additionalAuthenticationProviders?: AdditionalAuthenticationProvider[]; } export namespace CreateGraphqlApiRequest { @@ -1328,61 +1418,67 @@ export namespace CreateGraphqlApiRequest { */ export interface GraphqlApi { /** - *

              The tags.

              + *

              The Amazon CloudWatch Logs configuration.

              */ - tags?: { [key: string]: string }; + logConfig?: LogConfig; /** - *

              A flag representing whether X-Ray tracing is enabled for this - * GraphqlApi.

              + *

              The URIs.

              */ - xrayEnabled?: boolean; + uris?: { [key: string]: string }; /** - *

              The Amazon CloudWatch Logs configuration.

              + *

              The Amazon Cognito user pool configuration.

              */ - logConfig?: LogConfig; + userPoolConfig?: UserPoolConfig; /** - *

              The authentication type.

              + *

              A list of additional authentication providers for the GraphqlApi + * API.

              */ - authenticationType?: AuthenticationType | string; + additionalAuthenticationProviders?: AdditionalAuthenticationProvider[]; /** - *

              The API name.

              + *

              The ARN.

              */ - name?: string; + arn?: string; /** - *

              The ARN.

              + *

              The API ID.

              */ - arn?: string; + apiId?: string; /** - *

              The URIs.

              + *

              The ARN of the AWS WAF ACL associated with this + * GraphqlApi if one exists.

              */ - uris?: { [key: string]: string }; + wafWebAclArn?: string; /** - *

              The Amazon Cognito user pool configuration.

              + *

              The OpenID Connect configuration.

              */ - userPoolConfig?: UserPoolConfig; + openIDConnectConfig?: OpenIDConnectConfig; /** - *

              The API ID.

              + *

              The API name.

              */ - apiId?: string; + name?: string; /** - *

              The OpenID Connect configuration.

              + *

              The tags.

              */ - openIDConnectConfig?: OpenIDConnectConfig; + tags?: { [key: string]: string }; /** - *

              A list of additional authentication providers for the GraphqlApi - * API.

              + *

              A flag representing whether X-Ray tracing is enabled for this + * GraphqlApi.

              */ - additionalAuthenticationProviders?: AdditionalAuthenticationProvider[]; + xrayEnabled?: boolean; + + /** + *

              The authentication type.

              + */ + authenticationType?: AuthenticationType | string; } export namespace GraphqlApi { @@ -1507,12 +1603,6 @@ export interface SyncConfig { */ conflictHandler?: ConflictHandlerType | string; - /** - *

              The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict - * Handler.

              - */ - lambdaConflictHandlerConfig?: LambdaConflictHandlerConfig; - /** *

              The Conflict Detection strategy to use.

              *
                @@ -1529,47 +1619,45 @@ export interface SyncConfig { *
              */ conflictDetection?: ConflictDetectionType | string; + + /** + *

              The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict + * Handler.

              + */ + lambdaConflictHandlerConfig?: LambdaConflictHandlerConfig; } export namespace SyncConfig { export const filterSensitiveLog = (obj: SyncConfig): any => ({ ...obj, }); -} - -export interface CreateResolverRequest { - /** - *

              The ID for the GraphQL API for which the resolver is being created.

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

              The name of the data source for which the resolver is being created.

              - */ - dataSourceName?: string; +} +export interface CreateResolverRequest { /** - *

              The name of the field to attach the resolver to.

              + *

              The name of the Type.

              */ - fieldName: string | undefined; + typeName: string | undefined; /** - *

              The mapping template to be used for responses from the data source.

              + *

              The caching configuration for the resolver.

              */ - responseMappingTemplate?: string; + cachingConfig?: CachingConfig; /** - *

              The caching configuration for the resolver.

              + *

              The ID for the GraphQL API for which the resolver is being created.

              */ - cachingConfig?: CachingConfig; + apiId: string | undefined; /** *

              The mapping template to be used for requests.

              *

              A resolver uses a request mapping template to convert a GraphQL expression into a format * that a data source can understand. Mapping templates are written in Apache Velocity * Template Language (VTL).

              + *

              VTL request mapping templates are optional when using a Lambda data source. For all + * other data sources, VTL request and response mapping templates are required.

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

              The SyncConfig for a resolver attached to a versioned datasource.

              @@ -1577,9 +1665,19 @@ export interface CreateResolverRequest { syncConfig?: SyncConfig; /** - *

              The name of the Type.

              + *

              The name of the field to attach the resolver to.

              */ - typeName: string | undefined; + fieldName: string | undefined; + + /** + *

              The name of the data source for which the resolver is being created.

              + */ + dataSourceName?: string; + + /** + *

              The mapping template to be used for responses from the data source.

              + */ + responseMappingTemplate?: string; /** *

              The resolver type.

              @@ -1618,29 +1716,14 @@ export namespace CreateResolverRequest { */ export interface Resolver { /** - *

              The SyncConfig for a resolver attached to a versioned datasource.

              - */ - syncConfig?: SyncConfig; - - /** - *

              The resolver type name.

              - */ - typeName?: string; - - /** - *

              The caching configuration for the resolver.

              - */ - cachingConfig?: CachingConfig; - - /** - *

              The resolver data source name.

              + *

              The resolver ARN.

              */ - dataSourceName?: string; + resolverArn?: string; /** - *

              The response mapping template.

              + *

              The PipelineConfig.

              */ - responseMappingTemplate?: string; + pipelineConfig?: PipelineConfig; /** *

              The request mapping template.

              @@ -1648,19 +1731,9 @@ export interface Resolver { requestMappingTemplate?: string; /** - *

              The resolver field name.

              - */ - fieldName?: string; - - /** - *

              The resolver ARN.

              - */ - resolverArn?: string; - - /** - *

              The PipelineConfig.

              + *

              The resolver data source name.

              */ - pipelineConfig?: PipelineConfig; + dataSourceName?: string; /** *

              The resolver type.

              @@ -1681,6 +1754,31 @@ export interface Resolver { *
            */ kind?: ResolverKind | string; + + /** + *

            The SyncConfig for a resolver attached to a versioned datasource.

            + */ + syncConfig?: SyncConfig; + + /** + *

            The resolver type name.

            + */ + typeName?: string; + + /** + *

            The response mapping template.

            + */ + responseMappingTemplate?: string; + + /** + *

            The caching configuration for the resolver.

            + */ + cachingConfig?: CachingConfig; + + /** + *

            The resolver field name.

            + */ + fieldName?: string; } export namespace Resolver { @@ -1736,16 +1834,6 @@ export namespace CreateTypeRequest { *

            Describes a type.

            */ export interface Type { - /** - *

            The type definition.

            - */ - definition?: string; - - /** - *

            The type description.

            - */ - description?: string; - /** *

            The type format: SDL or JSON.

            */ @@ -1756,10 +1844,20 @@ export interface Type { */ name?: string; + /** + *

            The type definition.

            + */ + definition?: string; + /** *

            The type ARN.

            */ arn?: string; + + /** + *

            The type description.

            + */ + description?: string; } export namespace Type { @@ -1810,14 +1908,14 @@ export namespace DeleteApiCacheResponse { export interface DeleteApiKeyRequest { /** - *

            The API ID.

            + *

            The ID for the API key.

            */ - apiId: string | undefined; + id: string | undefined; /** - *

            The ID for the API key.

            + *

            The API ID.

            */ - id: string | undefined; + apiId: string | undefined; } export namespace DeleteApiKeyRequest { @@ -1862,14 +1960,14 @@ export namespace DeleteDataSourceResponse { export interface DeleteFunctionRequest { /** - *

            The GraphQL API ID.

            + *

            The Function ID.

            */ - apiId: string | undefined; + functionId: string | undefined; /** - *

            The Function ID.

            + *

            The GraphQL API ID.

            */ - functionId: string | undefined; + apiId: string | undefined; } export namespace DeleteFunctionRequest { @@ -2025,14 +2123,14 @@ export namespace GetApiCacheResponse { export interface GetDataSourceRequest { /** - *

            The API ID.

            + *

            The name of the data source.

            */ - apiId: string | undefined; + name: string | undefined; /** - *

            The name of the data source.

            + *

            The API ID.

            */ - name: string | undefined; + apiId: string | undefined; } export namespace GetDataSourceRequest { @@ -2056,14 +2154,14 @@ export namespace GetDataSourceResponse { export interface GetFunctionRequest { /** - *

            The Function ID.

            + *

            The GraphQL API ID.

            */ - functionId: string | undefined; + apiId: string | undefined; /** - *

            The GraphQL API ID.

            + *

            The Function ID.

            */ - apiId: string | undefined; + functionId: string | undefined; } export namespace GetFunctionRequest { @@ -2117,11 +2215,6 @@ export enum OutputType { } export interface GetIntrospectionSchemaRequest { - /** - *

            A flag that specifies whether the schema introspection should contain directives.

            - */ - includeDirectives?: boolean; - /** *

            The API ID.

            */ @@ -2131,6 +2224,11 @@ export interface GetIntrospectionSchemaRequest { *

            The schema format: SDL or JSON.

            */ format: OutputType | string | undefined; + + /** + *

            A flag that specifies whether the schema introspection should contain directives.

            + */ + includeDirectives?: boolean; } export namespace GetIntrospectionSchemaRequest { @@ -2170,11 +2268,6 @@ export namespace GraphQLSchemaException { } export interface GetResolverRequest { - /** - *

            The resolver type name.

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

            The resolver field name.

            */ @@ -2184,6 +2277,11 @@ export interface GetResolverRequest { *

            The API ID.

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

            The resolver type name.

            + */ + typeName: string | undefined; } export namespace GetResolverRequest { @@ -2228,16 +2326,16 @@ export enum SchemaStatus { } export interface GetSchemaCreationStatusResponse { - /** - *

            Detailed information about the status of the schema creation operation.

            - */ - details?: string; - /** *

            The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE). When * the schema is in the ACTIVE state, you can add data.

            */ status?: SchemaStatus | string; + + /** + *

            Detailed information about the status of the schema creation operation.

            + */ + details?: string; } export namespace GetSchemaCreationStatusResponse { @@ -2247,6 +2345,11 @@ export namespace GetSchemaCreationStatusResponse { } export interface GetTypeRequest { + /** + *

            The type format: SDL or JSON.

            + */ + format: TypeDefinitionFormat | string | undefined; + /** *

            The type name.

            */ @@ -2256,11 +2359,6 @@ export interface GetTypeRequest { *

            The API ID.

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

            The type format: SDL or JSON.

            - */ - format: TypeDefinitionFormat | string | undefined; } export namespace GetTypeRequest { @@ -2283,6 +2381,12 @@ export namespace GetTypeResponse { } export interface ListApiKeysRequest { + /** + *

            An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

            + */ + nextToken?: string; + /** *

            The API ID.

            */ @@ -2292,12 +2396,6 @@ export interface ListApiKeysRequest { *

            The maximum number of results you want the request to return.

            */ maxResults?: number; - - /** - *

            An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

            - */ - nextToken?: string; } export namespace ListApiKeysRequest { @@ -2326,6 +2424,11 @@ export namespace ListApiKeysResponse { } export interface ListDataSourcesRequest { + /** + *

            The maximum number of results you want the request to return.

            + */ + maxResults?: number; + /** *

            An identifier that was returned from the previous call to this operation, which can be * used to return the next set of items in the list.

            @@ -2336,11 +2439,6 @@ export interface ListDataSourcesRequest { *

            The API ID.

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

            The maximum number of results you want the request to return.

            - */ - maxResults?: number; } export namespace ListDataSourcesRequest { @@ -2370,10 +2468,9 @@ export namespace ListDataSourcesResponse { export interface ListFunctionsRequest { /** - *

            An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

            + *

            The maximum number of results you want the request to return.

            */ - nextToken?: string; + maxResults?: number; /** *

            The GraphQL API ID.

            @@ -2381,9 +2478,10 @@ export interface ListFunctionsRequest { apiId: string | undefined; /** - *

            The maximum number of results you want the request to return.

            + *

            An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

            */ - maxResults?: number; + nextToken?: string; } export namespace ListFunctionsRequest { @@ -2393,16 +2491,16 @@ export namespace ListFunctionsRequest { } export interface ListFunctionsResponse { - /** - *

            A list of Function objects.

            - */ - functions?: FunctionConfiguration[]; - /** *

            An identifier that was returned from the previous call to this operation, which can be * used to return the next set of items in the list.

            */ nextToken?: string; + + /** + *

            A list of Function objects.

            + */ + functions?: FunctionConfiguration[]; } export namespace ListFunctionsResponse { @@ -2451,10 +2549,9 @@ export namespace ListGraphqlApisResponse { export interface ListResolversRequest { /** - *

            An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

            + *

            The maximum number of results you want the request to return.

            */ - nextToken?: string; + maxResults?: number; /** *

            The type name.

            @@ -2467,9 +2564,10 @@ export interface ListResolversRequest { apiId: string | undefined; /** - *

            The maximum number of results you want the request to return.

            + *

            An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

            */ - maxResults?: number; + nextToken?: string; } export namespace ListResolversRequest { @@ -2479,16 +2577,16 @@ export namespace ListResolversRequest { } export interface ListResolversResponse { - /** - *

            The Resolver objects.

            - */ - resolvers?: Resolver[]; - /** *

            An identifier to be passed in the next request to this operation to return the next set * of items in the list.

            */ nextToken?: string; + + /** + *

            The Resolver objects.

            + */ + resolvers?: Resolver[]; } export namespace ListResolversResponse { @@ -2499,9 +2597,9 @@ export namespace ListResolversResponse { export interface ListResolversByFunctionRequest { /** - *

            The Function ID.

            + *

            The maximum number of results you want the request to return.

            */ - functionId: string | undefined; + maxResults?: number; /** *

            The API ID.

            @@ -2509,15 +2607,15 @@ export interface ListResolversByFunctionRequest { apiId: string | undefined; /** - *

            An identifier that was returned from the previous call to this operation, which you can - * use to return the next set of items in the list.

            + *

            The Function ID.

            */ - nextToken?: string; + functionId: string | undefined; /** - *

            The maximum number of results you want the request to return.

            + *

            An identifier that was returned from the previous call to this operation, which you can + * use to return the next set of items in the list.

            */ - maxResults?: number; + nextToken?: string; } export namespace ListResolversByFunctionRequest { @@ -2571,11 +2669,6 @@ export namespace ListTagsForResourceResponse { } export interface ListTypesRequest { - /** - *

            The maximum number of results you want the request to return.

            - */ - maxResults?: number; - /** *

            The API ID.

            */ @@ -2586,6 +2679,11 @@ export interface ListTypesRequest { */ format: TypeDefinitionFormat | string | undefined; + /** + *

            The maximum number of results you want the request to return.

            + */ + maxResults?: number; + /** *

            An identifier that was returned from the previous call to this operation, which can be * used to return the next set of items in the list.

            @@ -2620,14 +2718,14 @@ export namespace ListTypesResponse { export interface StartSchemaCreationRequest { /** - *

            The schema definition, in GraphQL schema language format.

            + *

            The API ID.

            */ - definition: Uint8Array | undefined; + apiId: string | undefined; /** - *

            The API ID.

            + *

            The schema definition, in GraphQL schema language format.

            */ - apiId: string | undefined; + definition: Uint8Array | undefined; } export namespace StartSchemaCreationRequest { @@ -2652,14 +2750,14 @@ export namespace StartSchemaCreationResponse { export interface TagResourceRequest { /** - *

            The GraphqlApi ARN.

            + *

            A TagMap object.

            */ - resourceArn: string | undefined; + tags: { [key: string]: string } | undefined; /** - *

            A TagMap object.

            + *

            The GraphqlApi ARN.

            */ - tags: { [key: string]: string } | undefined; + resourceArn: string | undefined; } export namespace TagResourceRequest { @@ -2678,14 +2776,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

            A list of TagKey objects.

            + *

            The GraphqlApi ARN.

            */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; /** - *

            The GraphqlApi ARN.

            + *

            A list of TagKey objects.

            */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -2706,67 +2804,105 @@ export namespace UntagResourceResponse { *

            Represents the input of a UpdateApiCache operation.

            */ export interface UpdateApiCacheRequest { + /** + *

            Caching behavior.

            + *
              + *
            • + *

              + * FULL_REQUEST_CACHING: All requests are fully + * cached.

              + *
            • + *
            • + *

              + * PER_RESOLVER_CACHING: Individual resovlers + * that you specify are cached.

              + *
            • + *
            + */ + apiCachingBehavior: ApiCachingBehavior | string | undefined; + /** *

            The GraphQL API Id.

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

            The cache instance type.

            + *

            The cache instance type. Valid values are

            *
              *
            • *

              - * T2_SMALL: A t2.small instance type.

              + * SMALL + *

              *
            • *
            • *

              - * T2_MEDIUM: A t2.medium instance - * type.

              + * MEDIUM + *

              *
            • *
            • *

              - * R4_LARGE: A r4.large instance type.

              + * LARGE + *

              *
            • *
            • *

              - * R4_XLARGE: A r4.xlarge instance - * type.

              + * XLARGE + *

              *
            • *
            • *

              - * R4_2XLARGE: A r4.2xlarge instance - * type.

              + * LARGE_2X + *

              *
            • *
            • *

              - * R4_4XLARGE: A r4.4xlarge instance - * type.

              + * LARGE_4X + *

              *
            • *
            • *

              - * R4_8XLARGE: A r4.8xlarge instance - * type.

              + * LARGE_8X (not available in all regions)

              + *
            • + *
            • + *

              + * LARGE_12X + *

              *
            • *
            - */ - type: ApiCacheType | string | undefined; - - /** - *

            Caching behavior.

            + *

            Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.

            + *

            The following legacy instance types are avaible, but their use is discouraged:

            *
              *
            • *

              - * FULL_REQUEST_CACHING: All requests are fully - * cached.

              + * T2_SMALL: A t2.small instance type.

              *
            • *
            • *

              - * PER_RESOLVER_CACHING: Individual resovlers - * that you specify are cached.

              + * T2_MEDIUM: A t2.medium instance type.

              + *
            • + *
            • + *

              + * R4_LARGE: A r4.large instance type.

              + *
            • + *
            • + *

              + * R4_XLARGE: A r4.xlarge instance type.

              + *
            • + *
            • + *

              + * R4_2XLARGE: A r4.2xlarge instance type.

              + *
            • + *
            • + *

              + * R4_4XLARGE: A r4.4xlarge instance type.

              + *
            • + *
            • + *

              + * R4_8XLARGE: A r4.8xlarge instance type.

              *
            • *
            */ - apiCachingBehavior: ApiCachingBehavior | string | undefined; + type: ApiCacheType | string | undefined; /** *

            TTL in seconds for cache entries.

            @@ -2799,15 +2935,15 @@ export namespace UpdateApiCacheResponse { export interface UpdateApiKeyRequest { /** - *

            The time from update time after which the API key expires. The date is represented as - * seconds since the epoch. For more information, see .

            + *

            The API key ID.

            */ - expires?: number; + id: string | undefined; /** - *

            The ID for the GraphQL API.

            + *

            The time from update time after which the API key expires. The date is represented as + * seconds since the epoch. For more information, see .

            */ - apiId: string | undefined; + expires?: number; /** *

            A description of the purpose of the API key.

            @@ -2815,9 +2951,9 @@ export interface UpdateApiKeyRequest { description?: string; /** - *

            The API key ID.

            + *

            The ID for the GraphQL API.

            */ - id: string | undefined; + apiId: string | undefined; } export namespace UpdateApiKeyRequest { @@ -2840,30 +2976,25 @@ export namespace UpdateApiKeyResponse { } export interface UpdateDataSourceRequest { - /** - *

            The new Amazon DynamoDB configuration.

            - */ - dynamodbConfig?: DynamodbDataSourceConfig; - /** *

            The API ID.

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

            The new relational database configuration.

            + *

            The new HTTP endpoint configuration.

            */ - relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig; + httpConfig?: HttpDataSourceConfig; /** - *

            The new data source type.

            + *

            The new Amazon DynamoDB configuration.

            */ - type: DataSourceType | string | undefined; + dynamodbConfig?: DynamodbDataSourceConfig; /** - *

            The new AWS Lambda configuration.

            + *

            The new Elasticsearch Service configuration.

            */ - lambdaConfig?: LambdaDataSourceConfig; + elasticsearchConfig?: ElasticsearchDataSourceConfig; /** *

            The new service role ARN for the data source.

            @@ -2871,24 +3002,29 @@ export interface UpdateDataSourceRequest { serviceRoleArn?: string; /** - *

            The new description for the data source.

            + *

            The new AWS Lambda configuration.

            */ - description?: string; + lambdaConfig?: LambdaDataSourceConfig; /** - *

            The new name for the data source.

            + *

            The new relational database configuration.

            */ - name: string | undefined; + relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig; /** - *

            The new HTTP endpoint configuration.

            + *

            The new data source type.

            */ - httpConfig?: HttpDataSourceConfig; + type: DataSourceType | string | undefined; /** - *

            The new Elasticsearch Service configuration.

            + *

            The new description for the data source.

            */ - elasticsearchConfig?: ElasticsearchDataSourceConfig; + description?: string; + + /** + *

            The new name for the data source.

            + */ + name: string | undefined; } export namespace UpdateDataSourceRequest { @@ -2911,26 +3047,11 @@ export namespace UpdateDataSourceResponse { } export interface UpdateFunctionRequest { - /** - *

            The GraphQL API ID.

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

            The Function description.

            - */ - description?: string; - /** *

            The Function request mapping template. Functions support only the * 2018-05-29 version of the request mapping template.

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

            The Function name.

            - */ - name: string | undefined; + requestMappingTemplate?: string; /** *

            The Function @@ -2944,15 +3065,30 @@ export interface UpdateFunctionRequest { functionId: string | undefined; /** - *

            The Function request mapping template.

            + *

            The Function description.

            */ - responseMappingTemplate?: string; + description?: string; /** *

            The version of the request mapping template. Currently the supported value * is 2018-05-29.

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

            The GraphQL API ID.

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

            The Function name.

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

            The Function request mapping template.

            + */ + responseMappingTemplate?: string; } export namespace UpdateFunctionRequest { @@ -2975,16 +3111,25 @@ export namespace UpdateFunctionResponse { } export interface UpdateGraphqlApiRequest { + /** + *

            The API ID.

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

            The new authentication type for the GraphqlApi object.

            + */ + authenticationType?: AuthenticationType | string; + /** *

            The Amazon CloudWatch Logs configuration for the GraphqlApi object.

            */ logConfig?: LogConfig; /** - *

            A list of additional authentication providers for the GraphqlApi - * API.

            + *

            The new name for the GraphqlApi object.

            */ - additionalAuthenticationProviders?: AdditionalAuthenticationProvider[]; + name: string | undefined; /** *

            A flag indicating whether to enable X-Ray tracing for the @@ -2993,15 +3138,10 @@ export interface UpdateGraphqlApiRequest { xrayEnabled?: boolean; /** - *

            The new Amazon Cognito user pool configuration for the GraphqlApi - * object.

            - */ - userPoolConfig?: UserPoolConfig; - - /** - *

            The new authentication type for the GraphqlApi object.

            + *

            A list of additional authentication providers for the GraphqlApi + * API.

            */ - authenticationType?: AuthenticationType | string; + additionalAuthenticationProviders?: AdditionalAuthenticationProvider[]; /** *

            The OpenID Connect configuration for the GraphqlApi object.

            @@ -3009,14 +3149,10 @@ export interface UpdateGraphqlApiRequest { openIDConnectConfig?: OpenIDConnectConfig; /** - *

            The new name for the GraphqlApi object.

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

            The API ID.

            + *

            The new Amazon Cognito user pool configuration for the GraphqlApi + * object.

            */ - apiId: string | undefined; + userPoolConfig?: UserPoolConfig; } export namespace UpdateGraphqlApiRequest { @@ -3040,9 +3176,14 @@ export namespace UpdateGraphqlApiResponse { export interface UpdateResolverRequest { /** - *

            The new request mapping template.

            + *

            The new field name.

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

            The PipelineConfig.

            */ - requestMappingTemplate: string | undefined; + pipelineConfig?: PipelineConfig; /** *

            The resolver type.

            @@ -3065,14 +3206,14 @@ export interface UpdateResolverRequest { kind?: ResolverKind | string; /** - *

            The new data source name.

            + *

            The new response mapping template.

            */ - dataSourceName?: string; + responseMappingTemplate?: string; /** - *

            The PipelineConfig.

            + *

            The caching configuration for the resolver.

            */ - pipelineConfig?: PipelineConfig; + cachingConfig?: CachingConfig; /** *

            The SyncConfig for a resolver attached to a versioned datasource.

            @@ -3085,24 +3226,24 @@ export interface UpdateResolverRequest { typeName: string | undefined; /** - *

            The API ID.

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

            The new response mapping template.

            + *

            The new data source name.

            */ - responseMappingTemplate?: string; + dataSourceName?: string; /** - *

            The caching configuration for the resolver.

            + *

            The API ID.

            */ - cachingConfig?: CachingConfig; + apiId: string | undefined; /** - *

            The new field name.

            + *

            The new request mapping template.

            + *

            A resolver uses a request mapping template to convert a GraphQL expression into a format + * that a data source can understand. Mapping templates are written in Apache Velocity + * Template Language (VTL).

            + *

            VTL request mapping templates are optional when using a Lambda data source. For all + * other data sources, VTL request and response mapping templates are required.

            */ - fieldName: string | undefined; + requestMappingTemplate?: string; } export namespace UpdateResolverRequest { @@ -3130,6 +3271,11 @@ export interface UpdateTypeRequest { */ format: TypeDefinitionFormat | string | undefined; + /** + *

            The new definition.

            + */ + definition?: string; + /** *

            The new type name.

            */ @@ -3139,11 +3285,6 @@ export interface UpdateTypeRequest { *

            The API ID.

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

            The new definition.

            - */ - definition?: string; } export namespace UpdateTypeRequest { diff --git a/clients/client-appsync/protocols/Aws_restJson1.ts b/clients/client-appsync/protocols/Aws_restJson1.ts index 1822ed03718b..99f50f2dd805 100644 --- a/clients/client-appsync/protocols/Aws_restJson1.ts +++ b/clients/client-appsync/protocols/Aws_restJson1.ts @@ -315,15 +315,6 @@ export const serializeAws_restJson1CreateResolverCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/apis/{apiId}/types/{typeName}/resolvers"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.typeName !== undefined) { const labelValue: string = input.typeName; if (labelValue.length <= 0) { @@ -333,6 +324,15 @@ export const serializeAws_restJson1CreateResolverCommand = async ( } else { throw new Error("No value provided for input HTTP label: typeName."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; body = JSON.stringify({ ...(input.cachingConfig !== undefined && { @@ -432,15 +432,6 @@ export const serializeAws_restJson1DeleteApiKeyCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/apikeys/{id}"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.id !== undefined) { const labelValue: string = input.id; if (labelValue.length <= 0) { @@ -450,6 +441,15 @@ export const serializeAws_restJson1DeleteApiKeyCommand = async ( } else { throw new Error("No value provided for input HTTP label: id."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -510,15 +510,6 @@ export const serializeAws_restJson1DeleteFunctionCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/functions/{functionId}"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.functionId !== undefined) { const labelValue: string = input.functionId; if (labelValue.length <= 0) { @@ -528,6 +519,15 @@ export const serializeAws_restJson1DeleteFunctionCommand = async ( } else { throw new Error("No value provided for input HTTP label: functionId."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -726,15 +726,6 @@ export const serializeAws_restJson1GetDataSourceCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/datasources/{name}"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.name !== undefined) { const labelValue: string = input.name; if (labelValue.length <= 0) { @@ -744,6 +735,15 @@ export const serializeAws_restJson1GetDataSourceCommand = async ( } else { throw new Error("No value provided for input HTTP label: name."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -765,15 +765,6 @@ export const serializeAws_restJson1GetFunctionCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/functions/{functionId}"; - if (input.functionId !== undefined) { - const labelValue: string = input.functionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: functionId."); - } - resolvedPath = resolvedPath.replace("{functionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: functionId."); - } if (input.apiId !== undefined) { const labelValue: string = input.apiId; if (labelValue.length <= 0) { @@ -783,6 +774,15 @@ export const serializeAws_restJson1GetFunctionCommand = async ( } else { throw new Error("No value provided for input HTTP label: apiId."); } + if (input.functionId !== undefined) { + const labelValue: string = input.functionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: functionId."); + } + resolvedPath = resolvedPath.replace("{functionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: functionId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -844,8 +844,8 @@ export const serializeAws_restJson1GetIntrospectionSchemaCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.includeDirectives !== undefined && { includeDirectives: input.includeDirectives.toString() }), ...(input.format !== undefined && { format: input.format }), + ...(input.includeDirectives !== undefined && { includeDirectives: input.includeDirectives.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -869,15 +869,6 @@ export const serializeAws_restJson1GetResolverCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/types/{typeName}/resolvers/{fieldName}"; - if (input.typeName !== undefined) { - const labelValue: string = input.typeName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: typeName."); - } - resolvedPath = resolvedPath.replace("{typeName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: typeName."); - } if (input.fieldName !== undefined) { const labelValue: string = input.fieldName; if (labelValue.length <= 0) { @@ -896,6 +887,15 @@ export const serializeAws_restJson1GetResolverCommand = async ( } else { throw new Error("No value provided for input HTTP label: apiId."); } + if (input.typeName !== undefined) { + const labelValue: string = input.typeName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: typeName."); + } + resolvedPath = resolvedPath.replace("{typeName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: typeName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1000,8 +1000,8 @@ export const serializeAws_restJson1ListApiKeysCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } 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(); @@ -1035,8 +1035,8 @@ export const serializeAws_restJson1ListDataSourcesCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1070,8 +1070,8 @@ export const serializeAws_restJson1ListFunctionsCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1140,8 +1140,8 @@ export const serializeAws_restJson1ListResolversCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1165,15 +1165,6 @@ export const serializeAws_restJson1ListResolversByFunctionCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/functions/{functionId}/resolvers"; - if (input.functionId !== undefined) { - const labelValue: string = input.functionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: functionId."); - } - resolvedPath = resolvedPath.replace("{functionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: functionId."); - } if (input.apiId !== undefined) { const labelValue: string = input.apiId; if (labelValue.length <= 0) { @@ -1183,9 +1174,18 @@ export const serializeAws_restJson1ListResolversByFunctionCommand = async ( } else { throw new Error("No value provided for input HTTP label: apiId."); } + if (input.functionId !== undefined) { + const labelValue: string = input.functionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: functionId."); + } + resolvedPath = resolvedPath.replace("{functionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: functionId."); + } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1249,8 +1249,8 @@ export const serializeAws_restJson1ListTypesCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.format !== undefined && { format: input.format }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; @@ -1410,15 +1410,6 @@ export const serializeAws_restJson1UpdateApiKeyCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/apis/{apiId}/apikeys/{id}"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.id !== undefined) { const labelValue: string = input.id; if (labelValue.length <= 0) { @@ -1428,6 +1419,15 @@ export const serializeAws_restJson1UpdateApiKeyCommand = async ( } else { throw new Error("No value provided for input HTTP label: id."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; body = JSON.stringify({ ...(input.description !== undefined && { description: input.description }), @@ -1515,15 +1515,6 @@ export const serializeAws_restJson1UpdateFunctionCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/apis/{apiId}/functions/{functionId}"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.functionId !== undefined) { const labelValue: string = input.functionId; if (labelValue.length <= 0) { @@ -1533,6 +1524,15 @@ export const serializeAws_restJson1UpdateFunctionCommand = async ( } else { throw new Error("No value provided for input HTTP label: functionId."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; body = JSON.stringify({ ...(input.dataSourceName !== undefined && { dataSourceName: input.dataSourceName }), @@ -1610,6 +1610,15 @@ export const serializeAws_restJson1UpdateResolverCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/apis/{apiId}/types/{typeName}/resolvers/{fieldName}"; + if (input.fieldName !== undefined) { + const labelValue: string = input.fieldName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: fieldName."); + } + resolvedPath = resolvedPath.replace("{fieldName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: fieldName."); + } if (input.typeName !== undefined) { const labelValue: string = input.typeName; if (labelValue.length <= 0) { @@ -1628,15 +1637,6 @@ export const serializeAws_restJson1UpdateResolverCommand = async ( } else { throw new Error("No value provided for input HTTP label: apiId."); } - if (input.fieldName !== undefined) { - const labelValue: string = input.fieldName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: fieldName."); - } - resolvedPath = resolvedPath.replace("{fieldName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: fieldName."); - } let body: any; body = JSON.stringify({ ...(input.cachingConfig !== undefined && { @@ -5610,6 +5610,7 @@ const deserializeAws_restJson1ApiCache = (output: any, context: __SerdeContext): const deserializeAws_restJson1ApiKey = (output: any, context: __SerdeContext): ApiKey => { return { + deletes: output.deletes !== undefined && output.deletes !== null ? output.deletes : undefined, description: output.description !== undefined && output.description !== null ? output.description : undefined, expires: output.expires !== undefined && output.expires !== null ? output.expires : undefined, id: output.id !== undefined && output.id !== null ? output.id : undefined, @@ -5808,6 +5809,7 @@ const deserializeAws_restJson1GraphqlApi = (output: any, context: __SerdeContext output.userPoolConfig !== undefined && output.userPoolConfig !== null ? deserializeAws_restJson1UserPoolConfig(output.userPoolConfig, context) : undefined, + wafWebAclArn: output.wafWebAclArn !== undefined && output.wafWebAclArn !== null ? output.wafWebAclArn : undefined, xrayEnabled: output.xrayEnabled !== undefined && output.xrayEnabled !== null ? output.xrayEnabled : undefined, } as any; }; diff --git a/clients/client-athena/models/models_0.ts b/clients/client-athena/models/models_0.ts index 2a85dd5a12d7..941cacaf8f4e 100644 --- a/clients/client-athena/models/models_0.ts +++ b/clients/client-athena/models/models_0.ts @@ -20,34 +20,34 @@ export namespace BatchGetNamedQueryInput { */ export interface NamedQuery { /** - *

            The query name.

            + *

            The query description.

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

            The unique identifier of the query.

            + *

            The name of the workgroup that contains the named query.

            */ - NamedQueryId?: string; + WorkGroup?: string; /** - *

            The SQL query statements that comprise the query.

            + *

            The database to which the query belongs.

            */ - QueryString: string | undefined; + Database: string | undefined; /** - *

            The query description.

            + *

            The query name.

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

            The database to which the query belongs.

            + *

            The unique identifier of the query.

            */ - Database: string | undefined; + NamedQueryId?: string; /** - *

            The name of the workgroup that contains the named query.

            + *

            The SQL query statements that comprise the query.

            */ - WorkGroup?: string; + QueryString: string | undefined; } export namespace NamedQuery { @@ -61,10 +61,9 @@ export namespace NamedQuery { */ export interface UnprocessedNamedQueryId { /** - *

            The error message returned when the processing request for the named query failed, if - * applicable.

            + *

            The unique identifier of the named query.

            */ - ErrorMessage?: string; + NamedQueryId?: string; /** *

            The error code returned when the processing request for the named query failed, if @@ -73,9 +72,10 @@ export interface UnprocessedNamedQueryId { ErrorCode?: string; /** - *

            The unique identifier of the named query.

            + *

            The error message returned when the processing request for the named query failed, if + * applicable.

            */ - NamedQueryId?: string; + ErrorMessage?: string; } export namespace UnprocessedNamedQueryId { @@ -158,14 +158,14 @@ export namespace BatchGetQueryExecutionInput { */ export interface QueryExecutionContext { /** - *

            The name of the database used in the query execution.

            + *

            The name of the data catalog used in the query execution.

            */ - Database?: string; + Catalog?: string; /** - *

            The name of the data catalog used in the query execution.

            + *

            The name of the database used in the query execution.

            */ - Catalog?: string; + Database?: string; } export namespace QueryExecutionContext { @@ -216,15 +216,6 @@ export namespace EncryptionConfiguration { * settings.

            */ export interface ResultConfiguration { - /** - *

            If query results are encrypted in Amazon S3, indicates the encryption option used (for - * example, SSE-KMS or CSE-KMS) and key information. This is a - * client-side setting. If workgroup settings override client-side settings, then the query - * uses the encryption configuration that is specified for the workgroup, and also uses the - * location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.

            - */ - EncryptionConfiguration?: EncryptionConfiguration; - /** *

            The location in Amazon S3 where your query results are stored, such as * s3://path/to/query/bucket/. To run the query, you must specify the @@ -235,6 +226,15 @@ export interface ResultConfiguration { * specified for the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

            */ OutputLocation?: string; + + /** + *

            If query results are encrypted in Amazon S3, indicates the encryption option used (for + * example, SSE-KMS or CSE-KMS) and key information. This is a + * client-side setting. If workgroup settings override client-side settings, then the query + * uses the encryption configuration that is specified for the workgroup, and also uses the + * location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.

            + */ + EncryptionConfiguration?: EncryptionConfiguration; } export namespace ResultConfiguration { @@ -255,14 +255,14 @@ export enum StatementType { */ export interface QueryExecutionStatistics { /** - *

            The location and file name of a data manifest file. The manifest file is saved to the - * Athena query results location in Amazon S3. The manifest file tracks files that the - * query wrote to Amazon S3. If the query fails, the manifest file also tracks files that - * the query intended to write. The manifest is useful for identifying orphaned files - * resulting from a failed query. For more information, see Working with Query Results, Output Files, and - * Query History in the Amazon Athena User Guide.

            + *

            The number of milliseconds that the query took to execute.

            */ - DataManifestLocation?: string; + EngineExecutionTimeInMillis?: number; + + /** + *

            The number of milliseconds that Athena took to run the query.

            + */ + TotalExecutionTimeInMillis?: number; /** *

            The number of milliseconds that the query was in your query queue waiting for @@ -272,15 +272,19 @@ export interface QueryExecutionStatistics { QueryQueueTimeInMillis?: number; /** - *

            The number of milliseconds that Athena took to finalize and publish the query results - * after the query engine finished running the query.

            + *

            The location and file name of a data manifest file. The manifest file is saved to the + * Athena query results location in Amazon S3. The manifest file tracks files that the + * query wrote to Amazon S3. If the query fails, the manifest file also tracks files that + * the query intended to write. The manifest is useful for identifying orphaned files + * resulting from a failed query. For more information, see Working with Query Results, Output Files, and + * Query History in the Amazon Athena User Guide.

            */ - ServiceProcessingTimeInMillis?: number; + DataManifestLocation?: string; /** - *

            The number of milliseconds that Athena took to run the query.

            + *

            The number of bytes in the data that was queried.

            */ - TotalExecutionTimeInMillis?: number; + DataScannedInBytes?: number; /** *

            The number of milliseconds that Athena took to plan the query processing flow. This @@ -291,14 +295,10 @@ export interface QueryExecutionStatistics { QueryPlanningTimeInMillis?: number; /** - *

            The number of bytes in the data that was queried.

            - */ - DataScannedInBytes?: number; - - /** - *

            The number of milliseconds that the query took to execute.

            + *

            The number of milliseconds that Athena took to finalize and publish the query results + * after the query engine finished running the query.

            */ - EngineExecutionTimeInMillis?: number; + ServiceProcessingTimeInMillis?: number; } export namespace QueryExecutionStatistics { @@ -320,6 +320,16 @@ export enum QueryExecutionState { * applicable) for the query execution.

            */ export interface QueryExecutionStatus { + /** + *

            The date and time that the query was submitted.

            + */ + SubmissionDateTime?: Date; + + /** + *

            Further detail about the status of the query.

            + */ + StateChangeReason?: string; + /** *

            The state of query execution. QUEUED indicates that the query has been * submitted to the service, and Athena will execute the query as soon as resources are @@ -340,16 +350,6 @@ export interface QueryExecutionStatus { *

            The date and time that the query completed.

            */ CompletionDateTime?: Date; - - /** - *

            The date and time that the query was submitted.

            - */ - SubmissionDateTime?: Date; - - /** - *

            Further detail about the status of the query.

            - */ - StateChangeReason?: string; } export namespace QueryExecutionStatus { @@ -362,6 +362,25 @@ export namespace QueryExecutionStatus { *

            Information about a single instance of a query execution.

            */ export interface QueryExecution { + /** + *

            The type of query statement that was run. DDL indicates DDL query + * statements. DML indicates DML (Data Manipulation Language) query + * statements, such as CREATE TABLE AS SELECT. UTILITY indicates + * query statements other than DDL and DML, such as SHOW CREATE TABLE, or + * DESCRIBE .

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

            The SQL query statements which the query execution ran.

            + */ + Query?: string; + + /** + *

            The name of the workgroup in which the query ran.

            + */ + WorkGroup?: string; + /** *

            Query execution statistics, such as the amount of data scanned, the amount of time * that the query took to process, and the type of statement that was run.

            @@ -373,22 +392,12 @@ export interface QueryExecution { */ QueryExecutionContext?: QueryExecutionContext; - /** - *

            The SQL query statements which the query execution ran.

            - */ - Query?: string; - /** *

            The completion date, current state, submission time, and state change reason (if * applicable) for the query execution.

            */ Status?: QueryExecutionStatus; - /** - *

            The name of the workgroup in which the query ran.

            - */ - WorkGroup?: string; - /** *

            The location in Amazon S3 where query results were stored and the encryption option, * if any, used for query results. These are known as "client-side settings". If workgroup @@ -401,15 +410,6 @@ export interface QueryExecution { *

            The unique identifier for each query execution.

            */ QueryExecutionId?: string; - - /** - *

            The type of query statement that was run. DDL indicates DDL query - * statements. DML indicates DML (Data Manipulation Language) query - * statements, such as CREATE TABLE AS SELECT. UTILITY indicates - * query statements other than DDL and DML, such as SHOW CREATE TABLE, or - * DESCRIBE

            .

            - */ - StatementType?: StatementType | string; } export namespace QueryExecution { @@ -423,16 +423,16 @@ export namespace QueryExecution { */ export interface UnprocessedQueryExecutionId { /** - *

            The error code returned when the query execution failed to process, if + *

            The error message returned when the query execution failed to process, if * applicable.

            */ - ErrorCode?: string; + ErrorMessage?: string; /** - *

            The error message returned when the query execution failed to process, if + *

            The error code returned when the query execution failed to process, if * applicable.

            */ - ErrorMessage?: string; + ErrorCode?: string; /** *

            The unique identifier of the query execution.

            @@ -448,14 +448,14 @@ export namespace UnprocessedQueryExecutionId { export interface BatchGetQueryExecutionOutput { /** - *

            Information about the query executions that failed to run.

            + *

            Information about a query execution.

            */ - UnprocessedQueryExecutionIds?: UnprocessedQueryExecutionId[]; + QueryExecutions?: QueryExecution[]; /** - *

            Information about a query execution.

            + *

            Information about the query executions that failed to run.

            */ - QueryExecutions?: QueryExecution[]; + UnprocessedQueryExecutionIds?: UnprocessedQueryExecutionId[]; } export namespace BatchGetQueryExecutionOutput { @@ -505,6 +505,16 @@ export enum DataCatalogType { } export interface CreateDataCatalogInput { + /** + *

            A description of the data catalog to be created.

            + */ + Description?: string; + + /** + *

            A list of comma separated tags to add to the data catalog that is created.

            + */ + Tags?: Tag[]; + /** *

            The name of the data catalog to create. The catalog name must be unique for the AWS * account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen @@ -565,16 +575,6 @@ export interface CreateDataCatalogInput { * */ Parameters?: { [key: string]: string }; - - /** - *

            A list of comma separated tags to add to the data catalog that is created.

            - */ - Tags?: Tag[]; - - /** - *

            A description of the data catalog to be created.

            - */ - Description?: string; } export namespace CreateDataCatalogInput { @@ -593,9 +593,19 @@ export namespace CreateDataCatalogOutput { export interface CreateNamedQueryInput { /** - *

            The name of the workgroup in which the named query is being created.

            + *

            The query name.

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

            The database to which the query belongs.

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

            The contents of the query with all query statements.

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

            The query description.

            @@ -616,19 +626,9 @@ export interface CreateNamedQueryInput { ClientRequestToken?: string; /** - *

            The contents of the query with all query statements.

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

            The database to which the query belongs.

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

            The query name.

            + *

            The name of the workgroup in which the named query is being created.

            */ - Name: string | undefined; + WorkGroup?: string; } export namespace CreateNamedQueryInput { @@ -659,27 +659,6 @@ export namespace CreateNamedQueryOutput { * EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

            */ export interface WorkGroupConfiguration { - /** - *

            The upper data usage limit (cutoff) for the amount of bytes a single query in a - * workgroup is allowed to scan.

            - */ - BytesScannedCutoffPerQuery?: number; - - /** - *

            If set to true, allows members assigned to a workgroup to reference - * Amazon S3 Requester Pays buckets in queries. If set to false, workgroup - * members cannot query data from Requester Pays buckets, and queries that retrieve data - * from Requester Pays buckets cause an error. The default is false. For more - * information about Requester Pays buckets, see Requester Pays Buckets - * in the Amazon Simple Storage Service Developer Guide.

            - */ - RequesterPaysEnabled?: boolean; - - /** - *

            Indicates that the Amazon CloudWatch metrics are enabled for the workgroup.

            - */ - PublishCloudWatchMetricsEnabled?: boolean; - /** *

            If set to "true", the settings for the workgroup override client-side settings. If set * to "false", client-side settings are used. For more information, see Workgroup Settings Override Client-Side Settings.

            @@ -696,6 +675,27 @@ export interface WorkGroupConfiguration { * Results.

            */ ResultConfiguration?: ResultConfiguration; + + /** + *

            Indicates that the Amazon CloudWatch metrics are enabled for the workgroup.

            + */ + PublishCloudWatchMetricsEnabled?: boolean; + + /** + *

            The upper data usage limit (cutoff) for the amount of bytes a single query in a + * workgroup is allowed to scan.

            + */ + BytesScannedCutoffPerQuery?: number; + + /** + *

            If set to true, allows members assigned to a workgroup to reference + * Amazon S3 Requester Pays buckets in queries. If set to false, workgroup + * members cannot query data from Requester Pays buckets, and queries that retrieve data + * from Requester Pays buckets cause an error. The default is false. For more + * information about Requester Pays buckets, see Requester Pays Buckets + * in the Amazon Simple Storage Service Developer Guide.

            + */ + RequesterPaysEnabled?: boolean; } export namespace WorkGroupConfiguration { @@ -706,14 +706,14 @@ export namespace WorkGroupConfiguration { export interface CreateWorkGroupInput { /** - *

            A list of comma separated tags to add to the workgroup that is created.

            + *

            The workgroup name.

            */ - Tags?: Tag[]; + Name: string | undefined; /** - *

            The workgroup description.

            + *

            A list of comma separated tags to add to the workgroup that is created.

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

            The configuration for the workgroup, which includes the location in Amazon S3 where @@ -726,9 +726,9 @@ export interface CreateWorkGroupInput { Configuration?: WorkGroupConfiguration; /** - *

            The workgroup name.

            + *

            The workgroup description.

            */ - Name: string | undefined; + Description?: string; } export namespace CreateWorkGroupInput { @@ -789,15 +789,15 @@ export namespace DeleteNamedQueryOutput { export interface DeleteWorkGroupInput { /** - *

            The option to delete the workgroup and its contents even if the workgroup contains any - * named queries.

            + *

            The unique name of the workgroup to delete.

            */ - RecursiveDeleteOption?: boolean; + WorkGroup: string | undefined; /** - *

            The unique name of the workgroup to delete.

            + *

            The option to delete the workgroup and its contents even if the workgroup contains any + * named queries.

            */ - WorkGroup: string | undefined; + RecursiveDeleteOption?: boolean; } export namespace DeleteWorkGroupInput { @@ -816,14 +816,14 @@ export namespace DeleteWorkGroupOutput { export interface GetDatabaseInput { /** - *

            The name of the database to return.

            + *

            The name of the data catalog that contains the database to return.

            */ - DatabaseName: string | undefined; + CatalogName: string | undefined; /** - *

            The name of the data catalog that contains the database to return.

            + *

            The name of the database to return.

            */ - CatalogName: string | undefined; + DatabaseName: string | undefined; } export namespace GetDatabaseInput { @@ -836,11 +836,6 @@ export namespace GetDatabaseInput { *

            Contains metadata information for a database in a data catalog.

            */ export interface Database { - /** - *

            A set of custom key/value pairs.

            - */ - Parameters?: { [key: string]: string }; - /** *

            The name of the database.

            */ @@ -850,6 +845,11 @@ export interface Database { *

            An optional description of the database.

            */ Description?: string; + + /** + *

            A set of custom key/value pairs.

            + */ + Parameters?: { [key: string]: string }; } export namespace Database { @@ -907,17 +907,6 @@ export namespace GetDataCatalogInput { *

            Contains information about a data catalog in an AWS account.

            */ export interface DataCatalog { - /** - *

            An optional description of the data catalog.

            - */ - Description?: string; - - /** - *

            The name of the data catalog. The catalog name must be unique for the AWS account and - * can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.

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

            The type of data catalog: LAMBDA for a federated catalog, * GLUE for AWS Glue Catalog, or HIVE for an external hive @@ -971,6 +960,17 @@ export interface DataCatalog { * */ Parameters?: { [key: string]: string }; + + /** + *

            An optional description of the data catalog.

            + */ + Description?: string; + + /** + *

            The name of the data catalog. The catalog name must be unique for the AWS account and + * can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.

            + */ + Name: string | undefined; } export namespace DataCatalog { @@ -1047,11 +1047,9 @@ export namespace GetQueryExecutionOutput { export interface GetQueryResultsInput { /** - *

            A token generated by the Athena service that specifies where to continue pagination if - * a previous request was truncated. To obtain the next set of pages, pass in the - * NextToken from the response object of the previous page call.

            + *

            The maximum number of results (rows) to return in this request.

            */ - NextToken?: string; + MaxResults?: number; /** *

            The unique ID of the query execution.

            @@ -1059,9 +1057,11 @@ export interface GetQueryResultsInput { QueryExecutionId: string | undefined; /** - *

            The maximum number of results (rows) to return in this request.

            + *

            A token generated by the Athena service that specifies where to continue pagination if + * a previous request was truncated. To obtain the next set of pages, pass in the + * NextToken from the response object of the previous page call.

            */ - MaxResults?: number; + NextToken?: string; } export namespace GetQueryResultsInput { @@ -1081,10 +1081,9 @@ export enum ColumnNullable { */ export interface ColumnInfo { /** - *

            For DECIMAL data types, specifies the total number of digits in the - * fractional part of the value. Defaults to 0.

            + *

            Indicates the column's nullable status.

            */ - Scale?: number; + Nullable?: ColumnNullable | string; /** *

            The table name for the query results.

            @@ -1092,19 +1091,10 @@ export interface ColumnInfo { TableName?: string; /** - *

            Indicates whether values in the column are case-sensitive.

            - */ - CaseSensitive?: boolean; - - /** - *

            The catalog to which the query results belong.

            - */ - CatalogName?: string; - - /** - *

            The name of the column.

            + *

            For DECIMAL data types, specifies the total number of digits, up to 38. + * For performance reasons, we recommend up to 18 digits.

            */ - Name: string | undefined; + Precision?: number; /** *

            The data type of the column.

            @@ -1112,9 +1102,9 @@ export interface ColumnInfo { Type: string | undefined; /** - *

            Indicates the column's nullable status.

            + *

            The catalog to which the query results belong.

            */ - Nullable?: ColumnNullable | string; + CatalogName?: string; /** *

            A column label.

            @@ -1122,15 +1112,25 @@ export interface ColumnInfo { Label?: string; /** - *

            For DECIMAL data types, specifies the total number of digits, up to 38. - * For performance reasons, we recommend up to 18 digits.

            + *

            The name of the column.

            */ - Precision?: number; + Name: string | undefined; /** *

            The schema name (database name) to which the query results belong.

            */ SchemaName?: string; + + /** + *

            For DECIMAL data types, specifies the total number of digits in the + * fractional part of the value. Defaults to 0.

            + */ + Scale?: number; + + /** + *

            Indicates whether values in the column are case-sensitive.

            + */ + CaseSensitive?: boolean; } export namespace ColumnInfo { @@ -1194,15 +1194,15 @@ export namespace Row { */ export interface ResultSet { /** - *

            The metadata that describes the column structure and data types of a table of query - * results.

            + *

            The rows in the table.

            */ - ResultSetMetadata?: ResultSetMetadata; + Rows?: Row[]; /** - *

            The rows in the table.

            + *

            The metadata that describes the column structure and data types of a table of query + * results.

            */ - Rows?: Row[]; + ResultSetMetadata?: ResultSetMetadata; } export namespace ResultSet { @@ -1212,13 +1212,6 @@ export namespace ResultSet { } export interface GetQueryResultsOutput { - /** - *

            A token generated by the Athena service that specifies where to continue pagination if - * a previous request was truncated. To obtain the next set of pages, pass in the - * NextToken from the response object of the previous page call.

            - */ - NextToken?: string; - /** *

            The results of the query execution.

            */ @@ -1228,6 +1221,13 @@ export interface GetQueryResultsOutput { *

            The number of rows inserted with a CREATE TABLE AS SELECT statement.

            */ UpdateCount?: number; + + /** + *

            A token generated by the Athena service that specifies where to continue pagination if + * a previous request was truncated. To obtain the next set of pages, pass in the + * NextToken from the response object of the previous page call.

            + */ + NextToken?: string; } export namespace GetQueryResultsOutput { @@ -1237,6 +1237,11 @@ export namespace GetQueryResultsOutput { } export interface GetTableMetadataInput { + /** + *

            The name of the database that contains the table metadata to return.

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

            The name of the data catalog that contains the database and table metadata to * return.

            @@ -1247,11 +1252,6 @@ export interface GetTableMetadataInput { *

            The name of the table for which metadata is returned.

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

            The name of the database that contains the table metadata to return.

            - */ - DatabaseName: string | undefined; } export namespace GetTableMetadataInput { @@ -1265,14 +1265,14 @@ export namespace GetTableMetadataInput { */ export interface Column { /** - *

            Optional information about the column.

            + *

            The data type of the column.

            */ - Comment?: string; + Type?: string; /** - *

            The data type of the column.

            + *

            Optional information about the column.

            */ - Type?: string; + Comment?: string; /** *

            The name of the column.

            @@ -1291,24 +1291,24 @@ export namespace Column { */ export interface TableMetadata { /** - *

            The type of table. In Athena, only EXTERNAL_TABLE is supported.

            + *

            The name of the table.

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

            A list of the partition keys in the table.

            + *

            The time that the table was created.

            */ - PartitionKeys?: Column[]; + CreateTime?: Date; /** - *

            A set of custom key/value pairs for table properties.

            + *

            The last time the table was accessed.

            */ - Parameters?: { [key: string]: string }; + LastAccessTime?: Date; /** - *

            The last time the table was accessed.

            + *

            A list of the partition keys in the table.

            */ - LastAccessTime?: Date; + PartitionKeys?: Column[]; /** *

            A list of the columns in the table.

            @@ -1316,14 +1316,14 @@ export interface TableMetadata { Columns?: Column[]; /** - *

            The name of the table.

            + *

            A set of custom key/value pairs for table properties.

            */ - Name: string | undefined; + Parameters?: { [key: string]: string }; /** - *

            The time that the table was created.

            + *

            The type of table. In Athena, only EXTERNAL_TABLE is supported.

            */ - CreateTime?: Date; + TableType?: string; } export namespace TableMetadata { @@ -1375,9 +1375,9 @@ export enum WorkGroupState { */ export interface WorkGroup { /** - *

            The workgroup name.

            + *

            The workgroup description.

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

            The date and time the workgroup was created.

            @@ -1385,9 +1385,9 @@ export interface WorkGroup { CreationTime?: Date; /** - *

            The state of the workgroup: ENABLED or DISABLED.

            + *

            The workgroup name.

            */ - State?: WorkGroupState | string; + Name: string | undefined; /** *

            The configuration of the workgroup, which includes the location in Amazon S3 where @@ -1400,9 +1400,9 @@ export interface WorkGroup { Configuration?: WorkGroupConfiguration; /** - *

            The workgroup description.

            + *

            The state of the workgroup: ENABLED or DISABLED.

            */ - Description?: string; + State?: WorkGroupState | string; } export namespace WorkGroup { @@ -1426,9 +1426,9 @@ export namespace GetWorkGroupOutput { export interface ListDatabasesInput { /** - *

            The name of the data catalog that contains the databases to return.

            + *

            Specifies the maximum number of results to return.

            */ - CatalogName: string | undefined; + MaxResults?: number; /** *

            A token generated by the Athena service that specifies where to continue pagination if @@ -1438,9 +1438,9 @@ export interface ListDatabasesInput { NextToken?: string; /** - *

            Specifies the maximum number of results to return.

            + *

            The name of the data catalog that contains the databases to return.

            */ - MaxResults?: number; + CatalogName: string | undefined; } export namespace ListDatabasesInput { @@ -1450,17 +1450,17 @@ export namespace ListDatabasesInput { } export interface ListDatabasesOutput { - /** - *

            A list of databases from a data catalog.

            - */ - DatabaseList?: Database[]; - /** *

            A token generated by the Athena service that specifies where to continue pagination if * a previous request was truncated. To obtain the next set of pages, pass in the NextToken * from the response object of the previous page call.

            */ NextToken?: string; + + /** + *

            A list of databases from a data catalog.

            + */ + DatabaseList?: Database[]; } export namespace ListDatabasesOutput { @@ -1493,15 +1493,15 @@ export namespace ListDataCatalogsInput { *

            The summary information for the data catalog, which includes its name and type.

            */ export interface DataCatalogSummary { - /** - *

            The name of the data catalog.

            - */ - CatalogName?: string; - /** *

            The data catalog type.

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

            The name of the data catalog.

            + */ + CatalogName?: string; } export namespace DataCatalogSummary { @@ -1531,6 +1531,13 @@ export namespace ListDataCatalogsOutput { } export interface ListNamedQueriesInput { + /** + *

            The name of the workgroup from which the named queries are being returned. If a + * workgroup is not specified, the saved queries for the primary workgroup are + * returned.

            + */ + WorkGroup?: string; + /** *

            A token generated by the Athena service that specifies where to continue pagination if * a previous request was truncated. To obtain the next set of pages, pass in the @@ -1542,13 +1549,6 @@ export interface ListNamedQueriesInput { *

            The maximum number of queries to return in this request.

            */ MaxResults?: number; - - /** - *

            The name of the workgroup from which the named queries are being returned. If a - * workgroup is not specified, the saved queries for the primary workgroup are - * returned.

            - */ - WorkGroup?: string; } export namespace ListNamedQueriesInput { @@ -1558,17 +1558,17 @@ export namespace ListNamedQueriesInput { } export interface ListNamedQueriesOutput { - /** - *

            The list of unique query IDs.

            - */ - NamedQueryIds?: string[]; - /** *

            A token generated by the Athena service that specifies where to continue pagination if * a previous request was truncated. To obtain the next set of pages, pass in the * NextToken from the response object of the previous page call.

            */ NextToken?: string; + + /** + *

            The list of unique query IDs.

            + */ + NamedQueryIds?: string[]; } export namespace ListNamedQueriesOutput { @@ -1578,6 +1578,11 @@ export namespace ListNamedQueriesOutput { } export interface ListQueryExecutionsInput { + /** + *

            The maximum number of query executions to return in this request.

            + */ + MaxResults?: number; + /** *

            A token generated by the Athena service that specifies where to continue pagination if * a previous request was truncated. To obtain the next set of pages, pass in the @@ -1591,11 +1596,6 @@ export interface ListQueryExecutionsInput { * workgroup is returned.

            */ WorkGroup?: string; - - /** - *

            The maximum number of query executions to return in this request.

            - */ - MaxResults?: number; } export namespace ListQueryExecutionsInput { @@ -1606,14 +1606,14 @@ export namespace ListQueryExecutionsInput { export interface ListQueryExecutionsOutput { /** - *

            The unique IDs of each query execution as an array of strings.

            + *

            A token to be used by the next request if this request is truncated.

            */ - QueryExecutionIds?: string[]; + NextToken?: string; /** - *

            A token to be used by the next request if this request is truncated.

            + *

            The unique IDs of each query execution as an array of strings.

            */ - NextToken?: string; + QueryExecutionIds?: string[]; } export namespace ListQueryExecutionsOutput { @@ -1624,21 +1624,14 @@ export namespace ListQueryExecutionsOutput { export interface ListTableMetadataInput { /** - *

            The name of the database for which table metadata should be returned.

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

            A token generated by the Athena service that specifies where to continue pagination if - * a previous request was truncated. To obtain the next set of pages, pass in the NextToken - * from the response object of the previous page call.

            + *

            Specifies the maximum number of results to return.

            */ - NextToken?: string; + MaxResults?: number; /** - *

            Specifies the maximum number of results to return.

            + *

            The name of the database for which table metadata should be returned.

            */ - MaxResults?: number; + DatabaseName: string | undefined; /** *

            A regex filter that pattern-matches table names. If no expression is supplied, @@ -1646,6 +1639,13 @@ export interface ListTableMetadataInput { */ Expression?: string; + /** + *

            A token generated by the Athena service that specifies where to continue pagination if + * a previous request was truncated. To obtain the next set of pages, pass in the NextToken + * from the response object of the previous page call.

            + */ + NextToken?: string; + /** *

            The name of the data catalog for which table metadata should be returned.

            */ @@ -1659,17 +1659,17 @@ export namespace ListTableMetadataInput { } export interface ListTableMetadataOutput { + /** + *

            A list of table metadata.

            + */ + TableMetadataList?: TableMetadata[]; + /** *

            A token generated by the Athena service that specifies where to continue pagination if * a previous request was truncated. To obtain the next set of pages, pass in the NextToken * from the response object of the previous page call.

            */ NextToken?: string; - - /** - *

            A list of table metadata.

            - */ - TableMetadataList?: TableMetadata[]; } export namespace ListTableMetadataOutput { @@ -1685,17 +1685,17 @@ export interface ListTagsForResourceInput { */ MaxResults?: number; - /** - *

            Lists the tags for the resource with the specified ARN.

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

            The token for the next set of results, or null if there are no additional results for * this request, where the request lists the tags for the resource with the specified * ARN.

            */ NextToken?: string; + + /** + *

            Lists the tags for the resource with the specified ARN.

            + */ + ResourceARN: string | undefined; } export namespace ListTagsForResourceInput { @@ -1706,14 +1706,14 @@ export namespace ListTagsForResourceInput { export interface ListTagsForResourceOutput { /** - *

            A token to be used by the next request if this request is truncated.

            + *

            The list of tags associated with the specified resource.

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

            The list of tags associated with the specified resource.

            + *

            A token to be used by the next request if this request is truncated.

            */ - Tags?: Tag[]; + NextToken?: string; } export namespace ListTagsForResourceOutput { @@ -1728,8 +1728,8 @@ export namespace ListTagsForResourceOutput { export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; - ResourceName?: string; Message?: string; + ResourceName?: string; } export namespace ResourceNotFoundException { @@ -1739,17 +1739,17 @@ export namespace ResourceNotFoundException { } export interface ListWorkGroupsInput { + /** + *

            The maximum number of workgroups to return in this request.

            + */ + MaxResults?: number; + /** *

            A token generated by the Athena service that specifies where to continue pagination if * a previous request was truncated. To obtain the next set of pages, pass in the * NextToken from the response object of the previous page call.

            */ NextToken?: string; - - /** - *

            The maximum number of workgroups to return in this request.

            - */ - MaxResults?: number; } export namespace ListWorkGroupsInput { @@ -1764,24 +1764,24 @@ export namespace ListWorkGroupsInput { */ export interface WorkGroupSummary { /** - *

            The workgroup creation date and time.

            + *

            The workgroup description.

            */ - CreationTime?: Date; + Description?: string; /** - *

            The name of the workgroup.

            + *

            The state of the workgroup.

            */ - Name?: string; + State?: WorkGroupState | string; /** - *

            The workgroup description.

            + *

            The workgroup creation date and time.

            */ - Description?: string; + CreationTime?: Date; /** - *

            The state of the workgroup.

            + *

            The name of the workgroup.

            */ - State?: WorkGroupState | string; + Name?: string; } export namespace WorkGroupSummary { @@ -1812,19 +1812,6 @@ export namespace ListWorkGroupsOutput { } export interface StartQueryExecutionInput { - /** - *

            The database within which the query executes.

            - */ - QueryExecutionContext?: QueryExecutionContext; - - /** - *

            Specifies information about where and how to save the results of the query execution. - * If the query runs in a workgroup, then workgroup's settings may override query settings. - * This affects the query results location. The workgroup settings override is specified in - * EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

            - */ - ResultConfiguration?: ResultConfiguration; - /** *

            The SQL query statements to be executed.

            */ @@ -1847,6 +1834,19 @@ export interface StartQueryExecutionInput { *

            The name of the workgroup in which the query is being started.

            */ WorkGroup?: string; + + /** + *

            The database within which the query executes.

            + */ + QueryExecutionContext?: QueryExecutionContext; + + /** + *

            Specifies information about where and how to save the results of the query execution. + * If the query runs in a workgroup, then workgroup's settings may override query settings. + * This affects the query results location. The workgroup settings override is specified in + * EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

            + */ + ResultConfiguration?: ResultConfiguration; } export namespace StartQueryExecutionInput { @@ -1878,13 +1878,12 @@ export enum ThrottleReason { export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { name: "TooManyRequestsException"; $fault: "client"; + Message?: string; /** *

            The reason for the query throttling, for example, when it exceeds the concurrent query * limit.

            */ Reason?: ThrottleReason | string; - - Message?: string; } export namespace TooManyRequestsException { @@ -1944,15 +1943,15 @@ export namespace TagResourceOutput { export interface UntagResourceInput { /** - *

            A comma-separated list of one or more tag keys whose tags are to be removed from the - * specified resource.

            + *

            Specifies the ARN of the resource from which tags are to be removed.

            */ - TagKeys: string[] | undefined; + ResourceARN: string | undefined; /** - *

            Specifies the ARN of the resource from which tags are to be removed.

            + *

            A comma-separated list of one or more tag keys whose tags are to be removed from the + * specified resource.

            */ - ResourceARN: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceInput { @@ -1970,6 +1969,11 @@ export namespace UntagResourceOutput { } export interface UpdateDataCatalogInput { + /** + *

            New or modified text that describes the data catalog.

            + */ + Description?: string; + /** *

            Specifies the type of data catalog to update. Specify LAMBDA for a * federated catalog, GLUE for AWS Glue Catalog, or HIVE for an @@ -1977,18 +1981,6 @@ export interface UpdateDataCatalogInput { */ Type: DataCatalogType | string | undefined; - /** - *

            The name of the data catalog to update. The catalog name must be unique for the AWS - * account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen - * characters.

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

            New or modified text that describes the data catalog.

            - */ - Description?: string; - /** *

            Specifies the Lambda function or functions to use for updating the data catalog. This * is a mapping whose values depend on the catalog type.

            @@ -2035,6 +2027,13 @@ export interface UpdateDataCatalogInput { * */ Parameters?: { [key: string]: string }; + + /** + *

            The name of the data catalog to update. The catalog name must be unique for the AWS + * account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen + * characters.

            + */ + Name: string | undefined; } export namespace UpdateDataCatalogInput { @@ -2056,22 +2055,6 @@ export namespace UpdateDataCatalogOutput { * encryption configuration for the query results.

            */ export interface ResultConfigurationUpdates { - /** - *

            The encryption configuration for the query results.

            - */ - EncryptionConfiguration?: EncryptionConfiguration; - - /** - *

            If set to "true", indicates that the previously-specified query results location (also - * known as a client-side setting) for queries in this workgroup should be ignored and set - * to null. If set to "false" or not set, and a value is present in the OutputLocation in - * ResultConfigurationUpdates (the client-side setting), the OutputLocation in the - * workgroup's ResultConfiguration will be updated with the new value. For more - * information, see Workgroup Settings Override - * Client-Side Settings.

            - */ - RemoveOutputLocation?: boolean; - /** *

            If set to "true", indicates that the previously-specified encryption configuration * (also known as the client-side setting) for queries in this workgroup should be ignored @@ -2092,6 +2075,22 @@ export interface ResultConfigurationUpdates { * (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

            */ OutputLocation?: string; + + /** + *

            If set to "true", indicates that the previously-specified query results location (also + * known as a client-side setting) for queries in this workgroup should be ignored and set + * to null. If set to "false" or not set, and a value is present in the OutputLocation in + * ResultConfigurationUpdates (the client-side setting), the OutputLocation in the + * workgroup's ResultConfiguration will be updated with the new value. For more + * information, see Workgroup Settings Override + * Client-Side Settings.

            + */ + RemoveOutputLocation?: boolean; + + /** + *

            The encryption configuration for the query results.

            + */ + EncryptionConfiguration?: EncryptionConfiguration; } export namespace ResultConfigurationUpdates { @@ -2109,17 +2108,10 @@ export namespace ResultConfigurationUpdates { */ export interface WorkGroupConfigurationUpdates { /** - *

            Indicates whether this workgroup enables publishing metrics to Amazon - * CloudWatch.

            - */ - PublishCloudWatchMetricsEnabled?: boolean; - - /** - *

            The result configuration information about the queries in this workgroup that will be - * updated. Includes the updated results location and an updated option for encrypting - * query results.

            + *

            The upper limit (cutoff) for the amount of bytes a single query in a workgroup is + * allowed to scan.

            */ - ResultConfigurationUpdates?: ResultConfigurationUpdates; + BytesScannedCutoffPerQuery?: number; /** *

            If set to true, allows members assigned to a workgroup to specify Amazon @@ -2132,10 +2124,17 @@ export interface WorkGroupConfigurationUpdates { RequesterPaysEnabled?: boolean; /** - *

            The upper limit (cutoff) for the amount of bytes a single query in a workgroup is - * allowed to scan.

            + *

            Indicates whether this workgroup enables publishing metrics to Amazon + * CloudWatch.

            */ - BytesScannedCutoffPerQuery?: number; + PublishCloudWatchMetricsEnabled?: boolean; + + /** + *

            The result configuration information about the queries in this workgroup that will be + * updated. Includes the updated results location and an updated option for encrypting + * query results.

            + */ + ResultConfigurationUpdates?: ResultConfigurationUpdates; /** *

            If set to "true", the settings for the workgroup override client-side settings. If set @@ -2162,6 +2161,11 @@ export interface UpdateWorkGroupInput { */ State?: WorkGroupState | string; + /** + *

            The specified workgroup that will be updated.

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

            The workgroup description.

            */ @@ -2171,11 +2175,6 @@ export interface UpdateWorkGroupInput { *

            The workgroup configuration that will be updated for the given workgroup.

            */ ConfigurationUpdates?: WorkGroupConfigurationUpdates; - - /** - *

            The specified workgroup that will be updated.

            - */ - WorkGroup: string | undefined; } export namespace UpdateWorkGroupInput { diff --git a/clients/client-auto-scaling-plans/models/models_0.ts b/clients/client-auto-scaling-plans/models/models_0.ts index 8f7ba8a70c4e..66aa5c7c4972 100644 --- a/clients/client-auto-scaling-plans/models/models_0.ts +++ b/clients/client-auto-scaling-plans/models/models_0.ts @@ -43,14 +43,14 @@ export namespace TagFilter { */ export interface ApplicationSource { /** - *

            A set of tags (up to 50).

            + *

            The Amazon Resource Name (ARN) of a AWS CloudFormation stack.

            */ - TagFilters?: TagFilter[]; + CloudFormationStackARN?: string; /** - *

            The Amazon Resource Name (ARN) of a AWS CloudFormation stack.

            + *

            A set of tags (up to 50).

            */ - CloudFormationStackARN?: string; + TagFilters?: TagFilter[]; } export namespace ApplicationSource { @@ -64,14 +64,14 @@ export namespace ApplicationSource { */ export interface MetricDimension { /** - *

            The name of the dimension.

            + *

            The value of the dimension.

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

            The value of the dimension.

            + *

            The name of the dimension.

            */ - Value: string | undefined; + Name: string | undefined; } export namespace MetricDimension { @@ -109,22 +109,21 @@ export enum MetricStatistic { */ export interface CustomizedLoadMetricSpecification { /** - *

            The namespace of the metric.

            + *

            The dimensions of the metric.

            + *

            Conditional: If you published your metric with dimensions, you must specify the same + * dimensions in your customized load metric specification.

            */ - Namespace: string | undefined; + Dimensions?: MetricDimension[]; /** - *

            The statistic of the metric. Currently, the value must always be Sum. - *

            + *

            The unit of the metric.

            */ - Statistic: MetricStatistic | string | undefined; + Unit?: string; /** - *

            The dimensions of the metric.

            - *

            Conditional: If you published your metric with dimensions, you must specify the same - * dimensions in your customized load metric specification.

            + *

            The namespace of the metric.

            */ - Dimensions?: MetricDimension[]; + Namespace: string | undefined; /** *

            The name of the metric.

            @@ -132,9 +131,10 @@ export interface CustomizedLoadMetricSpecification { MetricName: string | undefined; /** - *

            The unit of the metric.

            + *

            The statistic of the metric. Currently, the value must always be Sum. + *

            */ - Unit?: string; + Statistic: MetricStatistic | string | undefined; } export namespace CustomizedLoadMetricSpecification { @@ -154,11 +154,6 @@ export enum LoadMetricType { *

            Represents a predefined metric that can be used for predictive scaling.

            */ export interface PredefinedLoadMetricSpecification { - /** - *

            The metric type.

            - */ - PredefinedLoadMetricType: LoadMetricType | string | undefined; - /** *

            Identifies the resource associated with the metric type. You can't specify a resource * label unless the metric type is ALBRequestCountPerTarget and there is a target @@ -178,6 +173,11 @@ export interface PredefinedLoadMetricSpecification { * */ ResourceLabel?: string; + + /** + *

            The metric type.

            + */ + PredefinedLoadMetricType: LoadMetricType | string | undefined; } export namespace PredefinedLoadMetricSpecification { @@ -243,11 +243,9 @@ export enum ServiceNamespace { */ export interface CustomizedScalingMetricSpecification { /** - *

            The dimensions of the metric.

            - *

            Conditional: If you published your metric with dimensions, you must specify the same - * dimensions in your customized scaling metric specification.

            + *

            The statistic of the metric.

            */ - Dimensions?: MetricDimension[]; + Statistic: MetricStatistic | string | undefined; /** *

            The unit of the metric.

            @@ -255,19 +253,21 @@ export interface CustomizedScalingMetricSpecification { Unit?: string; /** - *

            The namespace of the metric.

            + *

            The name of the metric.

            */ - Namespace: string | undefined; + MetricName: string | undefined; /** - *

            The name of the metric.

            + *

            The namespace of the metric.

            */ - MetricName: string | undefined; + Namespace: string | undefined; /** - *

            The statistic of the metric.

            + *

            The dimensions of the metric.

            + *

            Conditional: If you published your metric with dimensions, you must specify the same + * dimensions in your customized scaling metric specification.

            */ - Statistic: MetricStatistic | string | undefined; + Dimensions?: MetricDimension[]; } export namespace CustomizedScalingMetricSpecification { @@ -335,6 +335,12 @@ export namespace PredefinedScalingMetricSpecification { *

            Describes a target tracking configuration to use with AWS Auto Scaling. Used with ScalingInstruction and ScalingPolicy.

            */ export interface TargetTrackingConfiguration { + /** + *

            The estimated time, in seconds, until a newly launched instance can contribute to the + * CloudWatch metrics. This value is used only if the resource is an Auto Scaling group.

            + */ + EstimatedInstanceWarmup?: number; + /** *

            The amount of time, in seconds, after a scale-out activity completes before another * scale-out activity can start. This value is not used if the scalable resource is an Auto @@ -346,12 +352,6 @@ export interface TargetTrackingConfiguration { */ ScaleOutCooldown?: number; - /** - *

            The estimated time, in seconds, until a newly launched instance can contribute to the - * CloudWatch metrics. This value is used only if the resource is an Auto Scaling group.

            - */ - EstimatedInstanceWarmup?: number; - /** *

            The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) * or 2e-360 to 2e360 (Base 2).

            @@ -359,13 +359,10 @@ export interface TargetTrackingConfiguration { TargetValue: number | undefined; /** - *

            Indicates whether scale in by the target tracking scaling policy is disabled. If the - * value is true, scale in is disabled and the target tracking scaling policy - * doesn't remove capacity from the scalable resource. Otherwise, scale in is enabled and the - * target tracking scaling policy can remove capacity from the scalable resource.

            - *

            The default value is false.

            + *

            A customized metric. You can specify either a predefined metric or a customized metric. + *

            */ - DisableScaleIn?: boolean; + CustomizedScalingMetricSpecification?: CustomizedScalingMetricSpecification; /** *

            The amount of time, in seconds, after a scale in activity completes before another scale @@ -379,10 +376,13 @@ export interface TargetTrackingConfiguration { ScaleInCooldown?: number; /** - *

            A customized metric. You can specify either a predefined metric or a customized metric. - *

            + *

            Indicates whether scale in by the target tracking scaling policy is disabled. If the + * value is true, scale in is disabled and the target tracking scaling policy + * doesn't remove capacity from the scalable resource. Otherwise, scale in is enabled and the + * target tracking scaling policy can remove capacity from the scalable resource.

            + *

            The default value is false.

            */ - CustomizedScalingMetricSpecification?: CustomizedScalingMetricSpecification; + DisableScaleIn?: boolean; /** *

            A predefined metric. You can specify either a predefined metric or a customized @@ -424,6 +424,47 @@ export interface ScalingInstruction { */ MinCapacity: number | undefined; + /** + *

            Defines the behavior that should be applied if the forecast capacity approaches or + * exceeds the maximum capacity specified for the resource. The default value is + * SetForecastCapacityToMaxCapacity.

            + *

            The following are possible values:

            + *
              + *
            • + *

              + * SetForecastCapacityToMaxCapacity - AWS Auto Scaling cannot scale resource + * capacity higher than the maximum capacity. The maximum capacity is enforced as a hard + * limit.

              + *
            • + *
            • + *

              + * SetMaxCapacityToForecastCapacity - AWS Auto Scaling may scale resource + * capacity higher than the maximum capacity to equal but not exceed forecast + * capacity.

              + *
            • + *
            • + *

              + * SetMaxCapacityAboveForecastCapacity - AWS Auto Scaling may scale resource + * capacity higher than the maximum capacity by a specified buffer value. The intention + * is to give the target tracking scaling policy extra capacity if unexpected traffic + * occurs.

              + *
            • + *
            + *

            Only valid when configuring predictive scaling.

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

            The customized load metric to use for predictive scaling. This parameter or a PredefinedLoadMetricSpecification is required when configuring + * predictive scaling, and cannot be used otherwise.

            + */ + CustomizedLoadMetricSpecification?: CustomizedLoadMetricSpecification; + + /** + *

            The namespace of the AWS service.

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

            The ID of the resource. This string consists of the resource type and unique * identifier.

            @@ -456,6 +497,12 @@ export interface ScalingInstruction { */ ResourceId: string | undefined; + /** + *

            The predefined load metric to use for predictive scaling. This parameter or a CustomizedLoadMetricSpecification is required when configuring + * predictive scaling, and cannot be used otherwise.

            + */ + PredefinedLoadMetricSpecification?: PredefinedLoadMetricSpecification; + /** *

            The amount of time, in seconds, to buffer the run time of scheduled scaling actions when * scaling out. For example, if the forecast says to add capacity at 10:00 AM, and the buffer @@ -471,57 +518,29 @@ export interface ScalingInstruction { ScheduledActionBufferTime?: number; /** - *

            The namespace of the AWS service.

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

            Defines the behavior that should be applied if the forecast capacity approaches or - * exceeds the maximum capacity specified for the resource. The default value is - * SetForecastCapacityToMaxCapacity.

            - *

            The following are possible values:

            - *
              - *
            • - *

              - * SetForecastCapacityToMaxCapacity - AWS Auto Scaling cannot scale resource - * capacity higher than the maximum capacity. The maximum capacity is enforced as a hard - * limit.

              - *
            • - *
            • - *

              - * SetMaxCapacityToForecastCapacity - AWS Auto Scaling may scale resource - * capacity higher than the maximum capacity to equal but not exceed forecast - * capacity.

              - *
            • - *
            • - *

              - * SetMaxCapacityAboveForecastCapacity - AWS Auto Scaling may scale resource - * capacity higher than the maximum capacity by a specified buffer value. The intention - * is to give the target tracking scaling policy extra capacity if unexpected traffic - * occurs.

              - *
            • - *
            - *

            Only valid when configuring predictive scaling.

            + *

            The predictive scaling mode. The default value is ForecastAndScale. + * Otherwise, AWS Auto Scaling forecasts capacity but does not create any scheduled scaling actions + * based on the capacity forecast.

            */ - PredictiveScalingMaxCapacityBehavior?: PredictiveScalingMaxCapacityBehavior | string; + PredictiveScalingMode?: PredictiveScalingMode | string; /** - *

            The customized load metric to use for predictive scaling. This parameter or a PredefinedLoadMetricSpecification is required when configuring - * predictive scaling, and cannot be used otherwise.

            + *

            The size of the capacity buffer to use when the forecast capacity is close to or exceeds + * the maximum capacity. The value is specified as a percentage relative to the forecast + * capacity. For example, if the buffer is 10, this means a 10 percent buffer, such that if + * the forecast capacity is 50, and the maximum capacity is 40, then the effective maximum + * capacity is 55.

            + *

            Only valid when configuring predictive scaling. Required if the PredictiveScalingMaxCapacityBehavior is set to + * SetMaxCapacityAboveForecastCapacity, and cannot be used otherwise.

            + *

            The range is 1-100.

            */ - CustomizedLoadMetricSpecification?: CustomizedLoadMetricSpecification; + PredictiveScalingMaxCapacityBuffer?: number; /** - *

            Controls whether a resource's externally created scaling policies are kept or replaced.

            - *

            The default value is KeepExternalPolicies. If the parameter is set to - * ReplaceExternalPolicies, any scaling policies that are external to AWS Auto Scaling - * are deleted and new target tracking scaling policies created.

            - *

            Only valid when configuring dynamic scaling.

            - *

            Condition: The number of existing policies to be replaced must be less than or equal to - * 50. If there are more than 50 policies to be replaced, AWS Auto Scaling keeps all existing policies - * and does not create new ones.

            + *

            The maximum capacity of the resource. The exception to this upper limit is if you + * specify a non-default setting for PredictiveScalingMaxCapacityBehavior.

            */ - ScalingPolicyUpdateBehavior?: ScalingPolicyUpdateBehavior | string; + MaxCapacity: number | undefined; /** *

            The structure that defines new target tracking configurations (up to 10). Each of these @@ -534,6 +553,14 @@ export interface ScalingInstruction { */ TargetTrackingConfigurations: TargetTrackingConfiguration[] | undefined; + /** + *

            Controls whether dynamic scaling by AWS Auto Scaling is disabled. When dynamic scaling is + * enabled, AWS Auto Scaling creates target tracking scaling policies based on the specified target + * tracking configurations.

            + *

            The default is enabled (false).

            + */ + DisableDynamicScaling?: boolean; + /** *

            The scalable dimension associated with the resource.

            *
              @@ -574,43 +601,16 @@ export interface ScalingInstruction { ScalableDimension: ScalableDimension | string | undefined; /** - *

              The predefined load metric to use for predictive scaling. This parameter or a CustomizedLoadMetricSpecification is required when configuring - * predictive scaling, and cannot be used otherwise.

              - */ - PredefinedLoadMetricSpecification?: PredefinedLoadMetricSpecification; - - /** - *

              The size of the capacity buffer to use when the forecast capacity is close to or exceeds - * the maximum capacity. The value is specified as a percentage relative to the forecast - * capacity. For example, if the buffer is 10, this means a 10 percent buffer, such that if - * the forecast capacity is 50, and the maximum capacity is 40, then the effective maximum - * capacity is 55.

              - *

              Only valid when configuring predictive scaling. Required if the PredictiveScalingMaxCapacityBehavior is set to - * SetMaxCapacityAboveForecastCapacity, and cannot be used otherwise.

              - *

              The range is 1-100.

              - */ - PredictiveScalingMaxCapacityBuffer?: number; - - /** - *

              Controls whether dynamic scaling by AWS Auto Scaling is disabled. When dynamic scaling is - * enabled, AWS Auto Scaling creates target tracking scaling policies based on the specified target - * tracking configurations.

              - *

              The default is enabled (false).

              - */ - DisableDynamicScaling?: boolean; - - /** - *

              The predictive scaling mode. The default value is ForecastAndScale. - * Otherwise, AWS Auto Scaling forecasts capacity but does not create any scheduled scaling actions - * based on the capacity forecast.

              - */ - PredictiveScalingMode?: PredictiveScalingMode | string; - - /** - *

              The maximum capacity of the resource. The exception to this upper limit is if you - * specify a non-default setting for PredictiveScalingMaxCapacityBehavior.

              + *

              Controls whether a resource's externally created scaling policies are kept or replaced.

              + *

              The default value is KeepExternalPolicies. If the parameter is set to + * ReplaceExternalPolicies, any scaling policies that are external to AWS Auto Scaling + * are deleted and new target tracking scaling policies created.

              + *

              Only valid when configuring dynamic scaling.

              + *

              Condition: The number of existing policies to be replaced must be less than or equal to + * 50. If there are more than 50 policies to be replaced, AWS Auto Scaling keeps all existing policies + * and does not create new ones.

              */ - MaxCapacity: number | undefined; + ScalingPolicyUpdateBehavior?: ScalingPolicyUpdateBehavior | string; } export namespace ScalingInstruction { @@ -620,6 +620,12 @@ export namespace ScalingInstruction { } export interface CreateScalingPlanRequest { + /** + *

              A CloudFormation stack or set of tags. You can create one scaling plan per application + * source.

              + */ + ApplicationSource: ApplicationSource | undefined; + /** *

              The name of the scaling plan. Names cannot contain vertical bars, colons, or forward * slashes.

              @@ -630,12 +636,6 @@ export interface CreateScalingPlanRequest { *

              The scaling instructions.

              */ ScalingInstructions: ScalingInstruction[] | undefined; - - /** - *

              A CloudFormation stack or set of tags. You can create one scaling plan per application - * source.

              - */ - ApplicationSource: ApplicationSource | undefined; } export namespace CreateScalingPlanRequest { @@ -706,14 +706,14 @@ export namespace ValidationException { export interface DeleteScalingPlanRequest { /** - *

              The name of the scaling plan.

              + *

              The version number of the scaling plan.

              */ - ScalingPlanName: string | undefined; + ScalingPlanVersion: number | undefined; /** - *

              The version number of the scaling plan.

              + *

              The name of the scaling plan.

              */ - ScalingPlanVersion: number | undefined; + ScalingPlanName: string | undefined; } export namespace DeleteScalingPlanRequest { @@ -747,9 +747,9 @@ export namespace ObjectNotFoundException { export interface DescribeScalingPlanResourcesRequest { /** - *

              The name of the scaling plan.

              + *

              The token for the next set of results.

              */ - ScalingPlanName: string | undefined; + NextToken?: string; /** *

              The version number of the scaling plan.

              @@ -763,9 +763,9 @@ export interface DescribeScalingPlanResourcesRequest { MaxResults?: number; /** - *

              The token for the next set of results.

              + *

              The name of the scaling plan.

              */ - NextToken?: string; + ScalingPlanName: string | undefined; } export namespace DescribeScalingPlanResourcesRequest { @@ -782,6 +782,11 @@ export enum PolicyType { *

              Represents a scaling policy.

              */ export interface ScalingPolicy { + /** + *

              The type of scaling policy.

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

              The target tracking scaling policy. Includes support for predefined or customized * metrics.

              @@ -792,11 +797,6 @@ export interface ScalingPolicy { *

              The name of the scaling policy.

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

              The type of scaling policy.

              - */ - PolicyType: PolicyType | string | undefined; } export namespace ScalingPolicy { @@ -816,15 +816,43 @@ export enum ScalingStatusCode { */ export interface ScalingPlanResource { /** - *

              The name of the scaling plan.

              + *

              The scaling policies.

              */ - ScalingPlanName: string | undefined; + ScalingPolicies?: ScalingPolicy[]; /** *

              A simple message about the current scaling status of the resource.

              */ ScalingStatusMessage?: string; + /** + *

              The scaling status of the resource.

              + *
                + *
              • + *

                + * Active - The scaling configuration is active.

                + *
              • + *
              • + *

                + * Inactive - The scaling configuration is not active because the + * scaling plan is being created or the scaling configuration could not be applied. + * Check the status message for more information.

                + *
              • + *
              • + *

                + * PartiallyActive - The scaling configuration is partially active + * because the scaling plan is being created or deleted or the scaling configuration + * could not be fully applied. Check the status message for more information.

                + *
              • + *
              + */ + ScalingStatusCode: ScalingStatusCode | string | undefined; + + /** + *

              The name of the scaling plan.

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

              The ID of the resource. This string consists of the resource type and unique * identifier.

              @@ -857,16 +885,6 @@ export interface ScalingPlanResource { */ ResourceId: string | undefined; - /** - *

              The namespace of the AWS service.

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

              The version number of the scaling plan.

              - */ - ScalingPlanVersion: number | undefined; - /** *

              The scalable dimension for the resource.

              *
                @@ -907,32 +925,14 @@ export interface ScalingPlanResource { ScalableDimension: ScalableDimension | string | undefined; /** - *

                The scaling status of the resource.

                - *
                  - *
                • - *

                  - * Active - The scaling configuration is active.

                  - *
                • - *
                • - *

                  - * Inactive - The scaling configuration is not active because the - * scaling plan is being created or the scaling configuration could not be applied. - * Check the status message for more information.

                  - *
                • - *
                • - *

                  - * PartiallyActive - The scaling configuration is partially active - * because the scaling plan is being created or deleted or the scaling configuration - * could not be fully applied. Check the status message for more information.

                  - *
                • - *
                + *

                The namespace of the AWS service.

                */ - ScalingStatusCode: ScalingStatusCode | string | undefined; + ServiceNamespace: ServiceNamespace | string | undefined; /** - *

                The scaling policies.

                + *

                The version number of the scaling plan.

                */ - ScalingPolicies?: ScalingPolicy[]; + ScalingPlanVersion: number | undefined; } export namespace ScalingPlanResource { @@ -976,12 +976,6 @@ export namespace InvalidNextTokenException { } export interface DescribeScalingPlansRequest { - /** - *

                The version number of the scaling plan. If you specify a scaling plan version, you must - * also specify a scaling plan name.

                - */ - ScalingPlanVersion?: number; - /** *

                The sources for the applications (up to 10). If you specify scaling plan names, you * cannot specify application sources.

                @@ -995,15 +989,21 @@ export interface DescribeScalingPlansRequest { ScalingPlanNames?: string[]; /** - *

                The maximum number of scalable resources to return. This value can be between - * 1 and 50. The default value is 50.

                + *

                The version number of the scaling plan. If you specify a scaling plan version, you must + * also specify a scaling plan name.

                */ - MaxResults?: number; + ScalingPlanVersion?: number; /** *

                The token for the next set of results.

                */ NextToken?: string; + + /** + *

                The maximum number of scalable resources to return. This value can be between + * 1 and 50. The default value is 50.

                + */ + MaxResults?: number; } export namespace DescribeScalingPlansRequest { @@ -1033,19 +1033,19 @@ export interface ScalingPlan { ScalingInstructions: ScalingInstruction[] | undefined; /** - *

                The version number of the scaling plan.

                + *

                The Unix time stamp when the scaling plan entered the current status.

                */ - ScalingPlanVersion: number | undefined; + StatusStartTime?: Date; /** - *

                The name of the scaling plan.

                + *

                A simple message about the current status of the scaling plan.

                */ - ScalingPlanName: string | undefined; + StatusMessage?: string; /** - *

                The application source.

                + *

                The Unix time stamp when the scaling plan was created.

                */ - ApplicationSource: ApplicationSource | undefined; + CreationTime?: Date; /** *

                The status of the scaling plan.

                @@ -1088,19 +1088,19 @@ export interface ScalingPlan { StatusCode: ScalingPlanStatusCode | string | undefined; /** - *

                The Unix time stamp when the scaling plan entered the current status.

                + *

                The name of the scaling plan.

                */ - StatusStartTime?: Date; + ScalingPlanName: string | undefined; /** - *

                A simple message about the current status of the scaling plan.

                + *

                The application source.

                */ - StatusMessage?: string; + ApplicationSource: ApplicationSource | undefined; /** - *

                The Unix time stamp when the scaling plan was created.

                + *

                The version number of the scaling plan.

                */ - CreationTime?: Date; + ScalingPlanVersion: number | undefined; } export namespace ScalingPlan { @@ -1111,15 +1111,15 @@ export namespace ScalingPlan { export interface DescribeScalingPlansResponse { /** - *

                The token required to get the next set of results. This value is null if - * there are no more results to return.

                + *

                Information about the scaling plans.

                */ - NextToken?: string; + ScalingPlans?: ScalingPlan[]; /** - *

                Information about the scaling plans.

                + *

                The token required to get the next set of results. This value is null if + * there are no more results to return.

                */ - ScalingPlans?: ScalingPlan[]; + NextToken?: string; } export namespace DescribeScalingPlansResponse { @@ -1142,15 +1142,9 @@ export interface GetScalingPlanResourceForecastDataRequest { ScalingPlanName: string | undefined; /** - *

                The scalable dimension for the resource.

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

                The inclusive start time of the time range for the forecast data to get. The date and - * time can be at most 56 days before the current date and time.

                + *

                The namespace of the AWS service.

                */ - StartTime: Date | undefined; + ServiceNamespace: ServiceNamespace | string | undefined; /** *

                The version number of the scaling plan.

                @@ -1158,45 +1152,15 @@ export interface GetScalingPlanResourceForecastDataRequest { ScalingPlanVersion: number | undefined; /** - *

                The type of forecast data to get.

                - *
                  - *
                • - *

                  - * LoadForecast: The load metric forecast.

                  - *
                • - *
                • - *

                  - * CapacityForecast: The capacity forecast.

                  - *
                • - *
                • - *

                  - * ScheduledActionMinCapacity: The minimum capacity for each scheduled - * scaling action. This data is calculated as the larger of two values: the capacity - * forecast or the minimum capacity in the scaling instruction.

                  - *
                • - *
                • - *

                  - * ScheduledActionMaxCapacity: The maximum capacity for each scheduled - * scaling action. The calculation used is determined by the predictive scaling maximum - * capacity behavior setting in the scaling instruction.

                  - *
                • - *
                - */ - ForecastDataType: ForecastDataType | string | undefined; - - /** - *

                The exclusive end time of the time range for the forecast data to get. The maximum time - * duration between the start and end time is seven days.

                - *

                Although this parameter can accept a date and time that is more than two days in the - * future, the availability of forecast data has limits. AWS Auto Scaling only issues forecasts for - * periods of two days in advance.

                + *

                The scalable dimension for the resource.

                */ - EndTime: Date | undefined; + ScalableDimension: ScalableDimension | string | undefined; /** - *

                The namespace of the AWS service.

                + *

                The inclusive start time of the time range for the forecast data to get. The date and + * time can be at most 56 days before the current date and time.

                */ - ServiceNamespace: ServiceNamespace | string | undefined; + StartTime: Date | undefined; /** *

                The ID of the resource. This string consists of the resource type and unique identifier. @@ -1229,6 +1193,42 @@ export interface GetScalingPlanResourceForecastDataRequest { *

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

              The exclusive end time of the time range for the forecast data to get. The maximum time + * duration between the start and end time is seven days.

              + *

              Although this parameter can accept a date and time that is more than two days in the + * future, the availability of forecast data has limits. AWS Auto Scaling only issues forecasts for + * periods of two days in advance.

              + */ + EndTime: Date | undefined; + + /** + *

              The type of forecast data to get.

              + *
                + *
              • + *

                + * LoadForecast: The load metric forecast.

                + *
              • + *
              • + *

                + * CapacityForecast: The capacity forecast.

                + *
              • + *
              • + *

                + * ScheduledActionMinCapacity: The minimum capacity for each scheduled + * scaling action. This data is calculated as the larger of two values: the capacity + * forecast or the minimum capacity in the scaling instruction.

                + *
              • + *
              • + *

                + * ScheduledActionMaxCapacity: The maximum capacity for each scheduled + * scaling action. The calculation used is determined by the predictive scaling maximum + * capacity behavior setting in the scaling instruction.

                + *
              • + *
              + */ + ForecastDataType: ForecastDataType | string | undefined; } export namespace GetScalingPlanResourceForecastDataRequest { @@ -1242,14 +1242,14 @@ export namespace GetScalingPlanResourceForecastDataRequest { */ export interface Datapoint { /** - *

              The value of the data point.

              + *

              The time stamp for the data point in UTC format.

              */ - Value?: number; + Timestamp?: Date; /** - *

              The time stamp for the data point in UTC format.

              + *

              The value of the data point.

              */ - Timestamp?: Date; + Value?: number; } export namespace Datapoint { @@ -1272,11 +1272,6 @@ export namespace GetScalingPlanResourceForecastDataResponse { } export interface UpdateScalingPlanRequest { - /** - *

              The scaling instructions.

              - */ - ScalingInstructions?: ScalingInstruction[]; - /** *

              The version number of the scaling plan.

              */ @@ -1291,6 +1286,11 @@ export interface UpdateScalingPlanRequest { *

              A CloudFormation stack or set of tags.

              */ ApplicationSource?: ApplicationSource; + + /** + *

              The scaling instructions.

              + */ + ScalingInstructions?: ScalingInstruction[]; } export namespace UpdateScalingPlanRequest { diff --git a/clients/client-auto-scaling/models/models_0.ts b/clients/client-auto-scaling/models/models_0.ts index cf3f39d3e91d..66ba005f6c0e 100644 --- a/clients/client-auto-scaling/models/models_0.ts +++ b/clients/client-auto-scaling/models/models_0.ts @@ -43,49 +43,49 @@ export interface Activity { StartTime: Date | undefined; /** - *

              The end time of the activity.

              + *

              The reason the activity began.

              */ - EndTime?: Date; + Cause: string | undefined; /** - *

              A friendly, more verbose description of the activity status.

              + *

              The ID of the activity.

              */ - StatusMessage?: string; + ActivityId: string | undefined; /** - *

              The current status of the activity.

              + *

              A friendly, more verbose description of the activity.

              */ - StatusCode: ScalingActivityStatusCode | string | undefined; + Description?: string; /** - *

              The details about the activity.

              + *

              The name of the Auto Scaling group.

              */ - Details?: string; + AutoScalingGroupName: string | undefined; /** - *

              A value between 0 and 100 that indicates the progress of the activity.

              + *

              The current status of the activity.

              */ - Progress?: number; + StatusCode: ScalingActivityStatusCode | string | undefined; /** - *

              The reason the activity began.

              + *

              The end time of the activity.

              */ - Cause: string | undefined; + EndTime?: Date; /** - *

              A friendly, more verbose description of the activity.

              + *

              A value between 0 and 100 that indicates the progress of the activity.

              */ - Description?: string; + Progress?: number; /** - *

              The name of the Auto Scaling group.

              + *

              The details about the activity.

              */ - AutoScalingGroupName: string | undefined; + Details?: string; /** - *

              The ID of the activity.

              + *

              A friendly, more verbose description of the activity status.

              */ - ActivityId: string | undefined; + StatusMessage?: string; } export namespace Activity { @@ -95,12 +95,6 @@ export namespace Activity { } export interface ActivitiesType { - /** - *

              The scaling activities. Activities are sorted by start time. Activities still in - * progress are described first.

              - */ - Activities: Activity[] | undefined; - /** *

              A string that indicates that the response contains more items than can be returned in * a single response. To receive additional items, specify this string for the @@ -108,6 +102,12 @@ export interface ActivitiesType { * null when there are no more items to return.

              */ NextToken?: string; + + /** + *

              The scaling activities. Activities are sorted by start time. Activities still in + * progress are described first.

              + */ + Activities: Activity[] | undefined; } export namespace ActivitiesType { @@ -151,14 +151,14 @@ export namespace AdjustmentType { */ export interface Alarm { /** - *

              The Amazon Resource Name (ARN) of the alarm.

              + *

              The name of the alarm.

              */ - AlarmARN?: string; + AlarmName?: string; /** - *

              The name of the alarm.

              + *

              The Amazon Resource Name (ARN) of the alarm.

              */ - AlarmName?: string; + AlarmARN?: string; } export namespace Alarm { @@ -247,14 +247,14 @@ export namespace AttachLoadBalancersResultType { export interface AttachLoadBalancersType { /** - *

              The names of the load balancers. You can specify up to 10 load balancers.

              + *

              The name of the Auto Scaling group.

              */ - LoadBalancerNames: string[] | undefined; + AutoScalingGroupName: string | undefined; /** - *

              The name of the Auto Scaling group.

              + *

              The names of the load balancers. You can specify up to 10 load balancers.

              */ - AutoScalingGroupName: string | undefined; + LoadBalancerNames: string[] | undefined; } export namespace AttachLoadBalancersType { @@ -272,16 +272,16 @@ export namespace AttachLoadBalancerTargetGroupsResultType { } export interface AttachLoadBalancerTargetGroupsType { - /** - *

              The name of the Auto Scaling group.

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

              The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target * groups.

              */ TargetGroupARNs: string[] | undefined; + + /** + *

              The name of the Auto Scaling group.

              + */ + AutoScalingGroupName: string | undefined; } export namespace AttachLoadBalancerTargetGroupsType { @@ -300,14 +300,14 @@ export interface FailedScheduledUpdateGroupActionRequest { ErrorCode?: string; /** - *

              The name of the scheduled action.

              + *

              The error message accompanying the error code.

              */ - ScheduledActionName: string | undefined; + ErrorMessage?: string; /** - *

              The error message accompanying the error code.

              + *

              The name of the scheduled action.

              */ - ErrorMessage?: string; + ScheduledActionName: string | undefined; } export namespace FailedScheduledUpdateGroupActionRequest { @@ -332,15 +332,15 @@ export namespace BatchDeleteScheduledActionAnswer { export interface BatchDeleteScheduledActionType { /** - *

              The names of the scheduled actions to delete. The maximum number allowed is 50. - *

              + *

              The name of the Auto Scaling group.

              */ - ScheduledActionNames: string[] | undefined; + AutoScalingGroupName: string | undefined; /** - *

              The name of the Auto Scaling group.

              + *

              The names of the scheduled actions to delete. The maximum number allowed is 50. + *

              */ - AutoScalingGroupName: string | undefined; + ScheduledActionNames: string[] | undefined; } export namespace BatchDeleteScheduledActionType { @@ -369,6 +369,17 @@ export namespace BatchPutScheduledUpdateGroupActionAnswer { * if not specified.

              */ export interface ScheduledUpdateGroupActionRequest { + /** + *

              The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling does not perform the + * action after this time.

              + */ + EndTime?: Date; + + /** + *

              The maximum size of the Auto Scaling group.

              + */ + MaxSize?: number; + /** *

              The recurring schedule for the action, in Unix cron syntax format. This format * consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] @@ -381,9 +392,10 @@ export interface ScheduledUpdateGroupActionRequest { Recurrence?: string; /** - *

              The minimum size of the Auto Scaling group.

              + *

              The desired capacity is the initial capacity of the Auto Scaling group after the scheduled + * action runs and the capacity it attempts to maintain.

              */ - MinSize?: number; + DesiredCapacity?: number; /** *

              The name of the scaling action.

              @@ -391,15 +403,9 @@ export interface ScheduledUpdateGroupActionRequest { ScheduledActionName: string | undefined; /** - *

              The maximum size of the Auto Scaling group.

              - */ - MaxSize?: number; - - /** - *

              The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling does not perform the - * action after this time.

              + *

              The minimum size of the Auto Scaling group.

              */ - EndTime?: Date; + MinSize?: number; /** *

              The date and time for the action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT @@ -411,12 +417,6 @@ export interface ScheduledUpdateGroupActionRequest { * message.

              */ StartTime?: Date; - - /** - *

              The desired capacity is the initial capacity of the Auto Scaling group after the scheduled - * action runs and the capacity it attempts to maintain.

              - */ - DesiredCapacity?: number; } export namespace ScheduledUpdateGroupActionRequest { @@ -500,21 +500,21 @@ export namespace CompleteLifecycleActionAnswer { export interface CompleteLifecycleActionType { /** - *

              A universally unique identifier (UUID) that identifies a specific lifecycle action - * associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target you - * specified when you created the lifecycle hook.

              + *

              The name of the Auto Scaling group.

              */ - LifecycleActionToken?: string; + AutoScalingGroupName: string | undefined; /** - *

              The name of the lifecycle hook.

              + *

              The ID of the instance.

              */ - LifecycleHookName: string | undefined; + InstanceId?: string; /** - *

              The name of the Auto Scaling group.

              + *

              A universally unique identifier (UUID) that identifies a specific lifecycle action + * associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target you + * specified when you created the lifecycle hook.

              */ - AutoScalingGroupName: string | undefined; + LifecycleActionToken?: string; /** *

              The action for the group to take. This parameter can be either CONTINUE @@ -523,9 +523,9 @@ export interface CompleteLifecycleActionType { LifecycleActionResult: string | undefined; /** - *

              The ID of the instance.

              + *

              The name of the lifecycle hook.

              */ - InstanceId?: string; + LifecycleHookName: string | undefined; } export namespace CompleteLifecycleActionType { @@ -613,37 +613,25 @@ export namespace LaunchTemplateSpecification { */ export interface LifecycleHookSpecification { /** - *

              The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the - * transition state for the lifecycle hook. The notification target can be either an SQS - * queue or an SNS topic.

              - */ - NotificationTargetARN?: string; - - /** - *

              The state of the EC2 instance to which you want to attach the lifecycle hook. The - * valid values are:

              - *
                - *
              • - *

                autoscaling:EC2_INSTANCE_LAUNCHING

                - *
              • - *
              • - *

                autoscaling:EC2_INSTANCE_TERMINATING

                - *
              • - *
              + *

              The name of the lifecycle hook.

              */ - LifecycleTransition: string | undefined; + LifecycleHookName: string | undefined; /** - *

              Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to - * the notification target.

              + *

              The maximum time, in seconds, that can elapse before the lifecycle hook times + * out.

              + *

              If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in + * the DefaultResult parameter. You can prevent the lifecycle hook from timing + * out by calling RecordLifecycleActionHeartbeat.

              */ - NotificationMetadata?: string; + HeartbeatTimeout?: number; /** - *

              The ARN of the IAM role that allows the Auto Scaling group to publish to the specified - * notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

              + *

              The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the + * transition state for the lifecycle hook. The notification target can be either an SQS + * queue or an SNS topic.

              */ - RoleARN?: string; + NotificationTargetARN?: string; /** *

              Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses @@ -653,18 +641,30 @@ export interface LifecycleHookSpecification { DefaultResult?: string; /** - *

              The name of the lifecycle hook.

              + *

              The ARN of the IAM role that allows the Auto Scaling group to publish to the specified + * notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

              */ - LifecycleHookName: string | undefined; + RoleARN?: string; /** - *

              The maximum time, in seconds, that can elapse before the lifecycle hook times - * out.

              - *

              If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in - * the DefaultResult parameter. You can prevent the lifecycle hook from timing - * out by calling RecordLifecycleActionHeartbeat.

              + *

              Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to + * the notification target.

              */ - HeartbeatTimeout?: number; + NotificationMetadata?: string; + + /** + *

              The state of the EC2 instance to which you want to attach the lifecycle hook. The + * valid values are:

              + *
                + *
              • + *

                autoscaling:EC2_INSTANCE_LAUNCHING

                + *
              • + *
              • + *

                autoscaling:EC2_INSTANCE_TERMINATING

                + *
              • + *
              + */ + LifecycleTransition: string | undefined; } export namespace LifecycleHookSpecification { @@ -688,19 +688,13 @@ export namespace LifecycleHookSpecification { */ export interface InstancesDistribution { /** - *

              Indicates how to allocate instances across Spot Instance pools.

              - *

              If the allocation strategy is lowest-price, the Auto Scaling group launches - * instances using the Spot pools with the lowest price, and evenly allocates your - * instances across the number of Spot pools that you specify. If the allocation strategy - * is capacity-optimized, the Auto Scaling group launches instances using Spot pools - * that are optimally chosen based on the available Spot capacity.

              - *

              The default Spot allocation strategy for calls that you make through the API, the AWS - * CLI, or the AWS SDKs is lowest-price. The default Spot allocation strategy - * for the AWS Management Console is capacity-optimized.

              - *

              Valid values: lowest-price | capacity-optimized - *

              + *

              The number of Spot Instance pools across which to allocate your Spot Instances. The + * Spot pools are determined from the different instance types in the Overrides array of + * LaunchTemplate. Default if not set is 2.

              + *

              Used only when the Spot allocation strategy is lowest-price.

              + *

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

              */ - SpotAllocationStrategy?: string; + SpotInstancePools?: number; /** *

              The maximum price per unit hour that you are willing to pay for a Spot Instance. If @@ -725,6 +719,32 @@ export interface InstancesDistribution { */ OnDemandBaseCapacity?: number; + /** + *

              Indicates how to allocate instances across Spot Instance pools.

              + *

              If the allocation strategy is lowest-price, the Auto Scaling group launches + * instances using the Spot pools with the lowest price, and evenly allocates your + * instances across the number of Spot pools that you specify. If the allocation strategy + * is capacity-optimized, the Auto Scaling group launches instances using Spot pools + * that are optimally chosen based on the available Spot capacity.

              + *

              The default Spot allocation strategy for calls that you make through the API, the AWS + * CLI, or the AWS SDKs is lowest-price. The default Spot allocation strategy + * for the AWS Management Console is capacity-optimized.

              + *

              Valid values: lowest-price | capacity-optimized + *

              + */ + SpotAllocationStrategy?: string; + + /** + *

              Indicates how to allocate instance types to fulfill On-Demand capacity.

              + *

              The only valid value is prioritized, which is also the default value. + * This strategy uses the order of instance type overrides for the LaunchTemplate to define the launch priority of each instance type. The + * first instance type in the array is prioritized higher than the last. If all your + * On-Demand capacity cannot be fulfilled using your highest priority instance, then the + * Auto Scaling groups launches the remaining capacity using the second priority instance type, and + * so on.

              + */ + OnDemandAllocationStrategy?: string; + /** *

              Controls the percentages of On-Demand Instances and Spot Instances for your additional * capacity beyond OnDemandBaseCapacity.

              @@ -739,27 +759,7 @@ export interface InstancesDistribution { *

              Valid Range: Minimum value of 0. Maximum value of 100.

              */ OnDemandPercentageAboveBaseCapacity?: number; - - /** - *

              The number of Spot Instance pools across which to allocate your Spot Instances. The - * Spot pools are determined from the different instance types in the Overrides array of - * LaunchTemplate. Default if not set is 2.

              - *

              Used only when the Spot allocation strategy is lowest-price.

              - *

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

              - */ - SpotInstancePools?: number; - - /** - *

              Indicates how to allocate instance types to fulfill On-Demand capacity.

              - *

              The only valid value is prioritized, which is also the default value. - * This strategy uses the order of instance type overrides for the LaunchTemplate to define the launch priority of each instance type. The - * first instance type in the array is prioritized higher than the last. If all your - * On-Demand capacity cannot be fulfilled using your highest priority instance, then the - * Auto Scaling groups launches the remaining capacity using the second priority instance type, and - * so on.

              - */ - OnDemandAllocationStrategy?: string; -} +} export namespace InstancesDistribution { export const filterSensitiveLog = (obj: InstancesDistribution): any => ({ @@ -814,6 +814,12 @@ export namespace LaunchTemplateOverrides { * termination policies.

              */ export interface LaunchTemplate { + /** + *

              The launch template to use. You must specify either the launch template ID or launch + * template name in the request.

              + */ + LaunchTemplateSpecification?: LaunchTemplateSpecification; + /** *

              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 @@ -822,12 +828,6 @@ export interface LaunchTemplate { * to launch instances.

              */ Overrides?: LaunchTemplateOverrides[]; - - /** - *

              The launch template to use. You must specify either the launch template ID or launch - * template name in the request.

              - */ - LaunchTemplateSpecification?: LaunchTemplateSpecification; } export namespace LaunchTemplate { @@ -848,18 +848,18 @@ export namespace LaunchTemplate { * information, see CreateAutoScalingGroup and UpdateAutoScalingGroup.

              */ export interface MixedInstancesPolicy { - /** - *

              The launch template and instance types (overrides).

              - *

              Required when creating a mixed instances policy.

              - */ - LaunchTemplate?: LaunchTemplate; - /** *

              The instances distribution to use.

              *

              If you leave this parameter unspecified, the value for each parameter in * InstancesDistribution uses a default value.

              */ InstancesDistribution?: InstancesDistribution; + + /** + *

              The launch template and instance types (overrides).

              + *

              Required when creating a mixed instances policy.

              + */ + LaunchTemplate?: LaunchTemplate; } export namespace MixedInstancesPolicy { @@ -873,15 +873,14 @@ export namespace MixedInstancesPolicy { */ export interface Tag { /** - *

              The tag value.

              + *

              The name of the group.

              */ - Value?: string; + ResourceId?: string; /** - *

              The type of resource. The only supported value is - * auto-scaling-group.

              + *

              The tag key.

              */ - ResourceType?: string; + Key: string | undefined; /** *

              Determines whether the tag is added to new instances as they are launched in the @@ -890,14 +889,15 @@ export interface Tag { PropagateAtLaunch?: boolean; /** - *

              The tag key.

              + *

              The tag value.

              */ - Key: string | undefined; + Value?: string; /** - *

              The name of the group.

              + *

              The type of resource. The only supported value is + * auto-scaling-group.

              */ - ResourceId?: string; + ResourceType?: string; } export namespace Tag { @@ -908,91 +908,47 @@ export namespace Tag { export interface CreateAutoScalingGroupType { /** - *

              The minimum size of the group.

              - */ - MinSize: number | undefined; - - /** - *

              The name of the placement group into which to launch your instances, if any. A - * placement group is a logical grouping of instances within a single Availability Zone. - * You cannot specify multiple Availability Zones and a placement group. For more - * information, see Placement Groups in the - * Amazon EC2 User Guide for Linux Instances.

              - */ - PlacementGroup?: string; - - /** - *

              Parameters used to specify the launch template and version to use when an instance is - * launched.

              - *

              For more information, see LaunchTemplateSpecification in the Amazon EC2 Auto Scaling API - * Reference.

              - *

              You can alternatively associate a launch template to the Auto Scaling group by using the - * MixedInstancesPolicy parameter.

              - *

              You must specify one of the following parameters in your request: - * LaunchConfigurationName, LaunchTemplate, - * InstanceId, or MixedInstancesPolicy.

              - */ - LaunchTemplate?: LaunchTemplateSpecification; - - /** - *

              One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 - * instances it launches.

              - *

              Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the - * tags in a launch template but use caution. If the launch template specifies an instance - * tag with a key that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value - * of that instance tag with the value specified by the Auto Scaling group.

              - *

              For more information, see Tagging Auto Scaling Groups and - * Instances in the Amazon EC2 Auto Scaling User Guide.

              - */ - Tags?: Tag[]; - - /** - *

              One or more termination policies used to select the instance to terminate. These - * policies are executed in the order that they are listed.

              - *

              For more information, see Controlling Which - * Instances Auto Scaling Terminates During Scale In in the - * Amazon EC2 Auto Scaling User Guide.

              + *

              The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to + * call other AWS services on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role + * named AWSServiceRoleForAutoScaling, which it creates if it does not exist. For more + * information, see Service-Linked + * Roles in the Amazon EC2 Auto Scaling User Guide.

              */ - TerminationPolicies?: string[]; + ServiceLinkedRoleARN?: string; /** - *

              The service to use for the health checks. The valid values are EC2 and - * ELB. The default value is EC2. If you configure an Auto Scaling - * group to use ELB health checks, it considers the instance unhealthy if it fails either - * the EC2 status checks or the load balancer health checks.

              - *

              For more information, see Health Checks for Auto Scaling - * Instances in the Amazon EC2 Auto Scaling User Guide.

              + *

              The maximum size of the group.

              + * + *

              With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to + * go above MaxSize to meet your capacity requirements. In this event, + * Amazon EC2 Auto Scaling will never go above MaxSize by more than your largest instance + * weight (weights that define how many units each instance contributes to the desired + * capacity of the group).

              + *
              */ - HealthCheckType?: string; + MaxSize: number | undefined; /** - *

              The amount of time, in seconds, after a scaling activity completes before another - * scaling activity can start. The default value is 300.

              - *

              This setting applies when using simple scaling policies, but not when using other - * scaling policies or scheduled scaling. For more information, see Scaling Cooldowns - * for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

              + *

              A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load + * Balancers and Network Load Balancers, specify a list of target groups using the + * TargetGroupARNs property instead.

              + *

              For more information, see Using a Load Balancer + * with an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

              */ - DefaultCooldown?: number; + LoadBalancerNames?: string[]; /** - *

              The desired capacity is the initial capacity of the Auto Scaling group at the time of its - * creation and the capacity it attempts to maintain. It can scale beyond this capacity if - * you configure automatic scaling.

              - *

              This number must be greater than or equal to the minimum size of the group and less - * than or equal to the maximum size of the group. If you do not specify a desired - * capacity, the default is the minimum size of the group.

              + *

              One or more lifecycle hooks.

              */ - DesiredCapacity?: number; + LifecycleHookSpecificationList?: LifecycleHookSpecification[]; /** - *

              The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status - * of an EC2 instance that has come into service. During this time, any health check - * failures for the instance are ignored. The default value is 0.

              - *

              For more information, see Health - * Check Grace Period in the Amazon EC2 Auto Scaling User Guide.

              - *

              Required if you are adding an ELB health check.

              + *

              One or more Availability Zones for the group. This parameter is optional if you + * specify one or more subnets for VPCZoneIdentifier.

              + *

              Conditional: If your account supports EC2-Classic and VPC, this parameter is required + * to launch instances into EC2-Classic.

              */ - HealthCheckGracePeriod?: number; + AvailabilityZones?: string[]; /** *

              Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling @@ -1003,26 +959,48 @@ export interface CreateAutoScalingGroupType { NewInstancesProtectedFromScaleIn?: boolean; /** - *

              The name of the Auto Scaling group. This name must be unique per Region per account.

              + *

              The ID of the instance used to create a launch configuration for the group. To get the + * instance ID, use the Amazon EC2 DescribeInstances API operation.

              + *

              When you specify an ID of an instance, Amazon EC2 Auto Scaling creates a new launch configuration and + * associates it with the group. This launch configuration derives its attributes from the + * specified instance, except for the block device mapping.

              + *

              You must specify one of the following parameters in your request: + * LaunchConfigurationName, LaunchTemplate, + * InstanceId, or MixedInstancesPolicy.

              */ - AutoScalingGroupName: string | undefined; + InstanceId?: string; /** - *

              The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to - * call other AWS services on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role - * named AWSServiceRoleForAutoScaling, which it creates if it does not exist. For more - * information, see Service-Linked - * Roles in the Amazon EC2 Auto Scaling User Guide.

              + *

              The Amazon Resource Names (ARN) of the target groups to associate with the Auto Scaling group. + * Instances are registered as targets in a target group, and traffic is routed to the + * target group.

              + *

              For more information, see Using a Load Balancer + * with an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

              */ - ServiceLinkedRoleARN?: string; + TargetGroupARNs?: string[]; /** - *

              One or more Availability Zones for the group. This parameter is optional if you - * specify one or more subnets for VPCZoneIdentifier.

              + *

              A comma-separated list of subnet IDs for your virtual private cloud (VPC).

              + *

              If you specify VPCZoneIdentifier with AvailabilityZones, the + * subnets that you specify for this parameter must reside in those Availability + * Zones.

              *

              Conditional: If your account supports EC2-Classic and VPC, this parameter is required - * to launch instances into EC2-Classic.

              + * to launch instances into a VPC.

              */ - AvailabilityZones?: string[]; + VPCZoneIdentifier?: string; + + /** + *

              The maximum amount of time, in seconds, that an instance can be in service. The + * default is null.

              + *

              This parameter is optional, but if you specify a value for it, you must specify a + * value of at least 604,800 seconds (7 days). To clear a previously set value, specify a + * new value of 0.

              + *

              For more information, see Replacing Auto Scaling + * Instances Based on Maximum Instance Lifetime in the + * Amazon EC2 Auto Scaling User Guide.

              + *

              Valid Range: Minimum value of 0.

              + */ + MaxInstanceLifetime?: number; /** *

              The name of the launch configuration to use when an instance is launched. To get the @@ -1035,43 +1013,64 @@ export interface CreateAutoScalingGroupType { LaunchConfigurationName?: string; /** - *

              A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load - * Balancers and Network Load Balancers, specify a list of target groups using the - * TargetGroupARNs property instead.

              - *

              For more information, see Using a Load Balancer - * with an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

              + *

              One or more termination policies used to select the instance to terminate. These + * policies are executed in the order that they are listed.

              + *

              For more information, see Controlling Which + * Instances Auto Scaling Terminates During Scale In in the + * Amazon EC2 Auto Scaling User Guide.

              */ - LoadBalancerNames?: string[]; + TerminationPolicies?: string[]; /** - *

              One or more lifecycle hooks.

              + *

              The amount of time, in seconds, after a scaling activity completes before another + * scaling activity can start. The default value is 300.

              + *

              This setting applies when using simple scaling policies, but not when using other + * scaling policies or scheduled scaling. For more information, see Scaling Cooldowns + * for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

              */ - LifecycleHookSpecificationList?: LifecycleHookSpecification[]; + DefaultCooldown?: number; /** - *

              The maximum size of the group.

              - * - *

              With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to - * go above MaxSize to meet your capacity requirements. In this event, - * Amazon EC2 Auto Scaling will never go above MaxSize by more than your largest instance - * weight (weights that define how many units each instance contributes to the desired - * capacity of the group).

              - *
              + *

              The service to use for the health checks. The valid values are EC2 and + * ELB. The default value is EC2. If you configure an Auto Scaling + * group to use ELB health checks, it considers the instance unhealthy if it fails either + * the EC2 status checks or the load balancer health checks.

              + *

              For more information, see Health Checks for Auto Scaling + * Instances in the Amazon EC2 Auto Scaling User Guide.

              */ - MaxSize: number | undefined; + HealthCheckType?: string; /** - *

              The maximum amount of time, in seconds, that an instance can be in service. The - * default is null.

              - *

              This parameter is optional, but if you specify a value for it, you must specify a - * value of at least 604,800 seconds (7 days). To clear a previously set value, specify a - * new value of 0.

              - *

              For more information, see Replacing Auto Scaling - * Instances Based on Maximum Instance Lifetime in the - * Amazon EC2 Auto Scaling User Guide.

              - *

              Valid Range: Minimum value of 0.

              + *

              The name of the Auto Scaling group. This name must be unique per Region per account.

              */ - MaxInstanceLifetime?: number; + AutoScalingGroupName: string | undefined; + + /** + *

              The minimum size of the group.

              + */ + MinSize: number | undefined; + + /** + *

              One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 + * instances it launches.

              + *

              Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the + * tags in a launch template but use caution. If the launch template specifies an instance + * tag with a key that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value + * of that instance tag with the value specified by the Auto Scaling group.

              + *

              For more information, see Tagging Auto Scaling Groups and + * Instances in the Amazon EC2 Auto Scaling User Guide.

              + */ + Tags?: Tag[]; + + /** + *

              The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status + * of an EC2 instance that has come into service. During this time, any health check + * failures for the instance are ignored. The default value is 0.

              + *

              For more information, see Health + * Check Grace Period in the Amazon EC2 Auto Scaling User Guide.

              + *

              Required if you are adding an ELB health check.

              + */ + HealthCheckGracePeriod?: number; /** *

              An embedded object that specifies a mixed instances policy. The required parameters @@ -1094,35 +1093,36 @@ export interface CreateAutoScalingGroupType { MixedInstancesPolicy?: MixedInstancesPolicy; /** - *

              A comma-separated list of subnet IDs for your virtual private cloud (VPC).

              - *

              If you specify VPCZoneIdentifier with AvailabilityZones, the - * subnets that you specify for this parameter must reside in those Availability - * Zones.

              - *

              Conditional: If your account supports EC2-Classic and VPC, this parameter is required - * to launch instances into a VPC.

              + *

              The name of the placement group into which to launch your instances, if any. A + * placement group is a logical grouping of instances within a single Availability Zone. + * You cannot specify multiple Availability Zones and a placement group. For more + * information, see Placement Groups in the + * Amazon EC2 User Guide for Linux Instances.

              */ - VPCZoneIdentifier?: string; + PlacementGroup?: string; /** - *

              The ID of the instance used to create a launch configuration for the group. To get the - * instance ID, use the Amazon EC2 DescribeInstances API operation.

              - *

              When you specify an ID of an instance, Amazon EC2 Auto Scaling creates a new launch configuration and - * associates it with the group. This launch configuration derives its attributes from the - * specified instance, except for the block device mapping.

              - *

              You must specify one of the following parameters in your request: - * LaunchConfigurationName, LaunchTemplate, - * InstanceId, or MixedInstancesPolicy.

              + *

              The desired capacity is the initial capacity of the Auto Scaling group at the time of its + * creation and the capacity it attempts to maintain. It can scale beyond this capacity if + * you configure automatic scaling.

              + *

              This number must be greater than or equal to the minimum size of the group and less + * than or equal to the maximum size of the group. If you do not specify a desired + * capacity, the default is the minimum size of the group.

              */ - InstanceId?: string; + DesiredCapacity?: number; /** - *

              The Amazon Resource Names (ARN) of the target groups to associate with the Auto Scaling group. - * Instances are registered as targets in a target group, and traffic is routed to the - * target group.

              - *

              For more information, see Using a Load Balancer - * with an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

              + *

              Parameters used to specify the launch template and version to use when an instance is + * launched.

              + *

              For more information, see LaunchTemplateSpecification in the Amazon EC2 Auto Scaling API + * Reference.

              + *

              You can alternatively associate a launch template to the Auto Scaling group by using the + * MixedInstancesPolicy parameter.

              + *

              You must specify one of the following parameters in your request: + * LaunchConfigurationName, LaunchTemplate, + * InstanceId, or MixedInstancesPolicy.

              */ - TargetGroupARNs?: string[]; + LaunchTemplate?: LaunchTemplateSpecification; } export namespace CreateAutoScalingGroupType { @@ -1137,10 +1137,18 @@ export namespace CreateAutoScalingGroupType { */ export interface Ebs { /** - *

              Indicates whether the volume is deleted on instance termination. For Amazon EC2 Auto Scaling, the - * default value is true.

              + *

              The volume size, in Gibibytes (GiB).

              + *

              This can be a number from 1-1,024 for standard, 4-16,384 for + * io1, 1-16,384 for gp2, and 500-16,384 for st1 + * and sc1. If you specify a snapshot, the volume size must be equal to or + * larger than the snapshot size.

              + *

              Default: If you create a volume from a snapshot and you don't specify a volume size, + * the default is the snapshot size.

              + *

              You must specify either a VolumeSize or a SnapshotId. If you + * specify both SnapshotId and VolumeSize, the volume size must + * be equal or greater than the size of the snapshot.

              */ - DeleteOnTermination?: boolean; + VolumeSize?: number; /** *

              Specifies whether the volume should be encrypted. Encrypted EBS volumes can only be @@ -1169,31 +1177,10 @@ export interface Ebs { Encrypted?: boolean; /** - *

              The volume size, in Gibibytes (GiB).

              - *

              This can be a number from 1-1,024 for standard, 4-16,384 for - * io1, 1-16,384 for gp2, and 500-16,384 for st1 - * and sc1. If you specify a snapshot, the volume size must be equal to or - * larger than the snapshot size.

              - *

              Default: If you create a volume from a snapshot and you don't specify a volume size, - * the default is the snapshot size.

              - *

              You must specify either a VolumeSize or a SnapshotId. If you - * specify both SnapshotId and VolumeSize, the volume size must - * be equal or greater than the size of the snapshot.

              - */ - VolumeSize?: number; - - /** - *

              The volume type, which can be standard for Magnetic, io1 for - * Provisioned IOPS SSD, gp2 for General Purpose SSD, st1 for - * Throughput Optimized HDD, or sc1 for Cold HDD. For more information, see - * Amazon - * EBS Volume Types in the Amazon EC2 User Guide for Linux - * Instances.

              - *

              Valid Values: standard | io1 | gp2 | - * st1 | sc1 - *

              + *

              Indicates whether the volume is deleted on instance termination. For Amazon EC2 Auto Scaling, the + * default value is true.

              */ - VolumeType?: string; + DeleteOnTermination?: boolean; /** *

              The snapshot ID of the volume to use.

              @@ -1210,6 +1197,19 @@ export interface Ebs { * volumes.)

              */ Iops?: number; + + /** + *

              The volume type, which can be standard for Magnetic, io1 for + * Provisioned IOPS SSD, gp2 for General Purpose SSD, st1 for + * Throughput Optimized HDD, or sc1 for Cold HDD. For more information, see + * Amazon + * EBS Volume Types in the Amazon EC2 User Guide for Linux + * Instances.

              + *

              Valid Values: standard | io1 | gp2 | + * st1 | sc1 + *

              + */ + VolumeType?: string; } export namespace Ebs { @@ -1222,13 +1222,6 @@ export namespace Ebs { *

              Describes a block device mapping.

              */ export interface BlockDeviceMapping { - /** - *

              The name of the virtual device (for example, ephemeral0).

              - *

              You can specify either VirtualName or Ebs, but not - * both.

              - */ - VirtualName?: string; - /** *

              Setting this value to true suppresses the specified device included in * the block device mapping of the AMI.

              @@ -1239,12 +1232,11 @@ export interface BlockDeviceMapping { NoDevice?: boolean; /** - *

              Parameters used to automatically set up EBS volumes when an instance is - * launched.

              + *

              The name of the virtual device (for example, ephemeral0).

              *

              You can specify either VirtualName or Ebs, but not * both.

              */ - Ebs?: Ebs; + VirtualName?: string; /** *

              The device name exposed to the EC2 instance (for example, /dev/sdh or @@ -1253,6 +1245,14 @@ export interface BlockDeviceMapping { * Instances.

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

              Parameters used to automatically set up EBS volumes when an instance is + * launched.

              + *

              You can specify either VirtualName or Ebs, but not + * both.

              + */ + Ebs?: Ebs; } export namespace BlockDeviceMapping { @@ -1293,21 +1293,6 @@ export enum InstanceMetadataHttpTokensState { * Amazon EC2 User Guide for Linux Instances.

              */ export interface InstanceMetadataOptions { - /** - *

              The state of token usage for your instance metadata requests. If the parameter is not - * specified in the request, the default state is optional.

              - *

              If the state is optional, you can choose to retrieve instance metadata - * with or without a signed token header on your request. If you retrieve the IAM role - * credentials without a token, the version 1.0 role credentials are returned. If you - * retrieve the IAM role credentials using a valid signed token, the version 2.0 role - * credentials are returned.

              - *

              If the state is required, you must send a signed token header with any - * instance metadata retrieval requests. In this state, retrieving the IAM role credentials - * always returns the version 2.0 credentials; the version 1.0 credentials are not - * available.

              - */ - HttpTokens?: InstanceMetadataHttpTokensState | string; - /** *

              The desired HTTP PUT response hop limit for instance metadata requests. The larger the * number, the further instance metadata requests can travel.

              @@ -1325,69 +1310,30 @@ export interface InstanceMetadataOptions { * */ HttpEndpoint?: InstanceMetadataEndpointState | string; -} - -export namespace InstanceMetadataOptions { - export const filterSensitiveLog = (obj: InstanceMetadataOptions): any => ({ - ...obj, - }); -} - -export interface CreateLaunchConfigurationType { - /** - *

              The name or the Amazon Resource Name (ARN) of the instance profile associated with the - * IAM role for the instance. The instance profile contains the IAM role.

              - *

              For more information, see IAM Role for Applications That Run - * on Amazon EC2 Instances in the Amazon EC2 Auto Scaling User Guide.

              - */ - IamInstanceProfile?: string; - - /** - *

              The ID of the RAM disk to select.

              - */ - RamdiskId?: string; /** - *

              A block device mapping, which specifies the block devices for the instance. You can - * specify virtual devices and EBS volumes. For more information, see Block Device - * Mapping in the Amazon EC2 User Guide for Linux - * Instances.

              - */ - BlockDeviceMappings?: BlockDeviceMapping[]; - - /** - *

              The ID of the kernel associated with the AMI.

              - */ - KernelId?: string; - - /** - *

              The metadata options for the instances. For more information, see Instance Metadata and User Data in the - * Amazon EC2 User Guide for Linux Instances.

              - */ - MetadataOptions?: InstanceMetadataOptions; - - /** - *

              Specifies whether the launch configuration is optimized for EBS I/O - * (true) or not (false). The optimization provides dedicated - * throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O - * performance. This optimization is not available with all instance types. Additional fees - * are incurred when you enable EBS optimization for an instance type that is not - * EBS-optimized by default. For more information, see Amazon EBS-Optimized - * Instances in the Amazon EC2 User Guide for Linux - * Instances.

              - *

              The default value is false.

              + *

              The state of token usage for your instance metadata requests. If the parameter is not + * specified in the request, the default state is optional.

              + *

              If the state is optional, you can choose to retrieve instance metadata + * with or without a signed token header on your request. If you retrieve the IAM role + * credentials without a token, the version 1.0 role credentials are returned. If you + * retrieve the IAM role credentials using a valid signed token, the version 2.0 role + * credentials are returned.

              + *

              If the state is required, you must send a signed token header with any + * instance metadata retrieval requests. In this state, retrieving the IAM role credentials + * always returns the version 2.0 credentials; the version 1.0 credentials are not + * available.

              */ - EbsOptimized?: boolean; + HttpTokens?: InstanceMetadataHttpTokensState | string; +} - /** - *

              The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. For more - * information, see ClassicLink in the - * Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic - * Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

              - *

              This parameter can only be used if you are launching EC2-Classic instances.

              - */ - ClassicLinkVPCId?: string; +export namespace InstanceMetadataOptions { + export const filterSensitiveLog = (obj: InstanceMetadataOptions): any => ({ + ...obj, + }); +} +export interface CreateLaunchConfigurationType { /** *

              The ID of the instance to use to create the launch configuration. The new launch * configuration derives attributes from the instance, except for the block device @@ -1402,6 +1348,17 @@ export interface CreateLaunchConfigurationType { */ InstanceId?: string; + /** + *

              Specifies the instance type of the EC2 instance.

              + *

              For information about available instance types, see Available + * Instance Types in the Amazon EC2 User Guide for Linux + * Instances. + *

              + *

              If you do not specify InstanceId, you must specify + * InstanceType.

              + */ + InstanceType?: string; + /** *

              For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether * to assign a public IP address to the group's instances. If you specify @@ -1421,14 +1378,30 @@ export interface CreateLaunchConfigurationType { AssociatePublicIpAddress?: boolean; /** - *

              The IDs of one or more security groups for the specified ClassicLink-enabled VPC. For - * more information, see ClassicLink in the - * Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic - * Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

              - *

              If you specify the ClassicLinkVPCId parameter, you must specify this - * parameter.

              + *

              Specifies whether the launch configuration is optimized for EBS I/O + * (true) or not (false). The optimization provides dedicated + * throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O + * performance. This optimization is not available with all instance types. Additional fees + * are incurred when you enable EBS optimization for an instance type that is not + * EBS-optimized by default. For more information, see Amazon EBS-Optimized + * Instances in the Amazon EC2 User Guide for Linux + * Instances.

              + *

              The default value is false.

              */ - ClassicLinkVPCSecurityGroups?: string[]; + EbsOptimized?: boolean; + + /** + *

              Controls whether instances in this group are launched with detailed + * (true) or basic (false) monitoring.

              + *

              The default value is true (enabled).

              + * + *

              When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and + * your account is charged a fee. When you disable detailed monitoring, CloudWatch generates + * metrics every 5 minutes. For more information, see Configure Monitoring for Auto Scaling Instances in the + * Amazon EC2 Auto Scaling User Guide.

              + *
              + */ + InstanceMonitoring?: InstanceMonitoring; /** *

              The tenancy of the instance. An instance with dedicated tenancy runs on @@ -1445,24 +1418,6 @@ export interface CreateLaunchConfigurationType { */ PlacementTenancy?: string; - /** - *

              A list that contains the security groups to assign to the instances in the Auto Scaling - * group.

              - *

              [EC2-VPC] Specify the security group IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud - * User Guide.

              - *

              [EC2-Classic] Specify either the security group names or the security group IDs. For - * more information, see Amazon EC2 Security - * Groups in the Amazon EC2 User Guide for Linux - * Instances.

              - */ - SecurityGroups?: string[]; - - /** - *

              The name of the launch configuration. This name must be unique per Region per - * account.

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

              The maximum hourly price to be paid for any Spot Instance launched to fulfill the * request. Spot Instances are launched when the price you specify exceeds the current Spot @@ -1478,17 +1433,21 @@ export interface CreateLaunchConfigurationType { SpotPrice?: string; /** - *

              The Base64-encoded user data to make available to the launched EC2 instances. For more - * information, see Instance Metadata and User - * Data in the Amazon EC2 User Guide for Linux Instances.

              + *

              The ID of the RAM disk to select.

              */ - UserData?: string; + RamdiskId?: string; /** - *

              The name of the key pair. For more information, see Amazon EC2 Key Pairs in the - * Amazon EC2 User Guide for Linux Instances.

              + *

              The metadata options for the instances. For more information, see Instance Metadata and User Data in the + * Amazon EC2 User Guide for Linux Instances.

              */ - KeyName?: string; + MetadataOptions?: InstanceMetadataOptions; + + /** + *

              The name of the launch configuration. This name must be unique per Region per + * account.

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

              The ID of the Amazon Machine Image (AMI) that was assigned during registration. For @@ -1500,28 +1459,69 @@ export interface CreateLaunchConfigurationType { ImageId?: string; /** - *

              Controls whether instances in this group are launched with detailed - * (true) or basic (false) monitoring.

              - *

              The default value is true (enabled).

              - * - *

              When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and - * your account is charged a fee. When you disable detailed monitoring, CloudWatch generates - * metrics every 5 minutes. For more information, see Configure Monitoring for Auto Scaling Instances in the - * Amazon EC2 Auto Scaling User Guide.

              - *
              + *

              A block device mapping, which specifies the block devices for the instance. You can + * specify virtual devices and EBS volumes. For more information, see Block Device + * Mapping in the Amazon EC2 User Guide for Linux + * Instances.

              */ - InstanceMonitoring?: InstanceMonitoring; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

              Specifies the instance type of the EC2 instance.

              - *

              For information about available instance types, see Available - * Instance Types in the Amazon EC2 User Guide for Linux - * Instances. - *

              - *

              If you do not specify InstanceId, you must specify - * InstanceType.

              + *

              The name or the Amazon Resource Name (ARN) of the instance profile associated with the + * IAM role for the instance. The instance profile contains the IAM role.

              + *

              For more information, see IAM Role for Applications That Run + * on Amazon EC2 Instances in the Amazon EC2 Auto Scaling User Guide.

              */ - InstanceType?: string; + IamInstanceProfile?: string; + + /** + *

              The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. For more + * information, see ClassicLink in the + * Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic + * Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

              + *

              This parameter can only be used if you are launching EC2-Classic instances.

              + */ + ClassicLinkVPCId?: string; + + /** + *

              The name of the key pair. For more information, see Amazon EC2 Key Pairs in the + * Amazon EC2 User Guide for Linux Instances.

              + */ + KeyName?: string; + + /** + *

              The Base64-encoded user data to make available to the launched EC2 instances. For more + * information, see Instance Metadata and User + * Data in the Amazon EC2 User Guide for Linux Instances.

              + */ + UserData?: string; + + /** + *

              The ID of the kernel associated with the AMI.

              + */ + KernelId?: string; + + /** + *

              The IDs of one or more security groups for the specified ClassicLink-enabled VPC. For + * more information, see ClassicLink in the + * Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic + * Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

              + *

              If you specify the ClassicLinkVPCId parameter, you must specify this + * parameter.

              + */ + ClassicLinkVPCSecurityGroups?: string[]; + + /** + *

              A list that contains the security groups to assign to the instances in the Auto Scaling + * group.

              + *

              [EC2-VPC] Specify the security group IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud + * User Guide.

              + *

              [EC2-Classic] Specify either the security group names or the security group IDs. For + * more information, see Amazon EC2 Security + * Groups in the Amazon EC2 User Guide for Linux + * Instances.

              + */ + SecurityGroups?: string[]; } export namespace CreateLaunchConfigurationType { @@ -1562,17 +1562,17 @@ export namespace ResourceInUseFault { } export interface DeleteAutoScalingGroupType { - /** - *

              The name of the Auto Scaling group.

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

              Specifies that the group is to be deleted along with all instances associated with the * group, without waiting for all instances to be terminated. This parameter also deletes * any lifecycle actions associated with the group.

              */ ForceDelete?: boolean; + + /** + *

              The name of the Auto Scaling group.

              + */ + AutoScalingGroupName: string | undefined; } export namespace DeleteAutoScalingGroupType { @@ -1623,14 +1623,14 @@ export namespace DeleteLifecycleHookAnswer { export interface DeleteLifecycleHookType { /** - *

              The name of the lifecycle hook.

              + *

              The name of the Auto Scaling group.

              */ - LifecycleHookName: string | undefined; + AutoScalingGroupName: string | undefined; /** - *

              The name of the Auto Scaling group.

              + *

              The name of the lifecycle hook.

              */ - AutoScalingGroupName: string | undefined; + LifecycleHookName: string | undefined; } export namespace DeleteLifecycleHookType { @@ -1660,14 +1660,14 @@ export namespace DeleteNotificationConfigurationType { export interface DeletePolicyType { /** - *

              The name of the Auto Scaling group.

              + *

              The name or Amazon Resource Name (ARN) of the policy.

              */ - AutoScalingGroupName?: string; + PolicyName: string | undefined; /** - *

              The name or Amazon Resource Name (ARN) of the policy.

              + *

              The name of the Auto Scaling group.

              */ - PolicyName: string | undefined; + AutoScalingGroupName?: string; } export namespace DeletePolicyType { @@ -1678,14 +1678,14 @@ export namespace DeletePolicyType { export interface DeleteScheduledActionType { /** - *

              The name of the Auto Scaling group.

              + *

              The name of the action to delete.

              */ - AutoScalingGroupName: string | undefined; + ScheduledActionName: string | undefined; /** - *

              The name of the action to delete.

              + *

              The name of the Auto Scaling group.

              */ - ScheduledActionName: string | undefined; + AutoScalingGroupName: string | undefined; } export namespace DeleteScheduledActionType { @@ -1709,14 +1709,15 @@ export namespace DeleteTagsType { export interface DescribeAccountLimitsAnswer { /** - *

              The current number of groups for your AWS account.

              + *

              The current number of launch configurations for your AWS account.

              */ - NumberOfAutoScalingGroups?: number; + NumberOfLaunchConfigurations?: number; /** - *

              The current number of launch configurations for your AWS account.

              + *

              The maximum number of launch configurations allowed for your AWS account. The default + * is 200 launch configurations per AWS Region.

              */ - NumberOfLaunchConfigurations?: number; + MaxNumberOfLaunchConfigurations?: number; /** *

              The maximum number of groups allowed for your AWS account. The default is 200 groups @@ -1725,10 +1726,9 @@ export interface DescribeAccountLimitsAnswer { MaxNumberOfAutoScalingGroups?: number; /** - *

              The maximum number of launch configurations allowed for your AWS account. The default - * is 200 launch configurations per AWS Region.

              + *

              The current number of groups for your AWS account.

              */ - MaxNumberOfLaunchConfigurations?: number; + NumberOfAutoScalingGroups?: number; } export namespace DescribeAccountLimitsAnswer { @@ -1757,6 +1757,12 @@ export interface AutoScalingGroupNamesType { */ MaxRecords?: number; + /** + *

              The token for the next set of items to return. (You received this token from a + * previous call.)

              + */ + NextToken?: string; + /** *

              The names of the Auto Scaling groups. Each name can be a maximum of 1600 characters. By * default, you can only specify up to 50 names. You can optionally increase this limit @@ -1764,12 +1770,6 @@ export interface AutoScalingGroupNamesType { *

              If you omit this parameter, all Auto Scaling groups are described.

              */ AutoScalingGroupNames?: string[]; - - /** - *

              The token for the next set of items to return. (You received this token from a - * previous call.)

              - */ - NextToken?: string; } export namespace AutoScalingGroupNamesType { @@ -1887,10 +1887,19 @@ export enum LifecycleState { */ export interface Instance { /** - *

              Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling - * in.

              + *

              The launch template for the instance.

              */ - ProtectedFromScaleIn: boolean | undefined; + LaunchTemplate?: LaunchTemplateSpecification; + + /** + *

              The launch configuration associated with the instance.

              + */ + LaunchConfigurationName?: string; + + /** + *

              The instance type of the EC2 instance.

              + */ + InstanceType?: string; /** *

              The last reported health status of the instance. "Healthy" means that the instance is @@ -1900,14 +1909,10 @@ export interface Instance { HealthStatus: string | undefined; /** - *

              The ID of the instance.

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

              The launch template for the instance.

              + *

              Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling + * in.

              */ - LaunchTemplate?: LaunchTemplateSpecification; + ProtectedFromScaleIn: boolean | undefined; /** *

              A description of the current lifecycle state. The Quarantined state is @@ -1915,11 +1920,6 @@ export interface Instance { */ LifecycleState: LifecycleState | string | undefined; - /** - *

              The Availability Zone in which the instance is running.

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

              The number of capacity units contributed by the instance based on its instance * type.

              @@ -1928,14 +1928,14 @@ export interface Instance { WeightedCapacity?: string; /** - *

              The instance type of the EC2 instance.

              + *

              The ID of the instance.

              */ - InstanceType?: string; + InstanceId: string | undefined; /** - *

              The launch configuration associated with the instance.

              + *

              The Availability Zone in which the instance is running.

              */ - LaunchConfigurationName?: string; + AvailabilityZone: string | undefined; } export namespace Instance { @@ -1970,17 +1970,6 @@ export namespace SuspendedProcess { *

              Describes a tag for an Auto Scaling group.

              */ export interface TagDescription { - /** - *

              Determines whether the tag is added to new instances as they are launched in the - * group.

              - */ - PropagateAtLaunch?: boolean; - - /** - *

              The tag key.

              - */ - Key?: string; - /** *

              The name of the group.

              */ @@ -1996,6 +1985,17 @@ export interface TagDescription { * auto-scaling-group.

              */ ResourceType?: string; + + /** + *

              The tag key.

              + */ + Key?: string; + + /** + *

              Determines whether the tag is added to new instances as they are launched in the + * group.

              + */ + PropagateAtLaunch?: boolean; } export namespace TagDescription { @@ -2009,19 +2009,25 @@ export namespace TagDescription { */ export interface AutoScalingGroup { /** - *

              The tags for the group.

              + *

              The date and time the group was created.

              */ - Tags?: TagDescription[]; + CreatedTime: Date | undefined; /** - *

              The metrics enabled for the group.

              + *

              The name of the associated launch configuration.

              */ - EnabledMetrics?: EnabledMetric[]; + LaunchConfigurationName?: string; /** - *

              One or more subnet IDs, if applicable, separated by commas.

              + *

              One or more load balancers associated with the group.

              */ - VPCZoneIdentifier?: string; + LoadBalancerNames?: string[]; + + /** + *

              The maximum amount of time, in seconds, that an instance can be in service.

              + *

              Valid Range: Minimum value of 0.

              + */ + MaxInstanceLifetime?: number; /** *

              The mixed instances policy for the group.

              @@ -2029,75 +2035,71 @@ export interface AutoScalingGroup { MixedInstancesPolicy?: MixedInstancesPolicy; /** - *

              The service to use for the health checks. The valid values are EC2 and - * ELB. If you configure an Auto Scaling group to use ELB health checks, it - * considers the instance unhealthy if it fails either the EC2 status checks or the load - * balancer health checks.

              + *

              The Amazon Resource Names (ARN) of the target groups for your load balancer.

              */ - HealthCheckType: string | undefined; + TargetGroupARNs?: string[]; /** - *

              The maximum amount of time, in seconds, that an instance can be in service.

              - *

              Valid Range: Minimum value of 0.

              + *

              The EC2 instances associated with the group.

              */ - MaxInstanceLifetime?: number; + Instances?: Instance[]; /** - *

              The suspended processes associated with the group.

              + *

              The duration of the default cooldown period, in seconds.

              */ - SuspendedProcesses?: SuspendedProcess[]; + DefaultCooldown: number | undefined; /** - *

              One or more Availability Zones for the group.

              + *

              The tags for the group.

              */ - AvailabilityZones: string[] | undefined; + Tags?: TagDescription[]; /** - *

              The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to - * call other AWS services on your behalf.

              + *

              The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status + * of an EC2 instance that has come into service.

              */ - ServiceLinkedRoleARN?: string; + HealthCheckGracePeriod?: number; /** - *

              Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling - * when scaling in.

              + *

              The suspended processes associated with the group.

              */ - NewInstancesProtectedFromScaleIn?: boolean; + SuspendedProcesses?: SuspendedProcess[]; /** - *

              The date and time the group was created.

              + *

              One or more Availability Zones for the group.

              */ - CreatedTime: Date | undefined; + AvailabilityZones: string[] | undefined; /** - *

              The maximum size of the group.

              + *

              The Amazon Resource Name (ARN) of the Auto Scaling group.

              */ - MaxSize: number | undefined; + AutoScalingGroupARN?: string; /** - *

              The launch template for the group.

              + *

              The maximum size of the group.

              */ - LaunchTemplate?: LaunchTemplateSpecification; + MaxSize: number | undefined; /** - *

              The name of the placement group into which to launch your instances, if any.

              + *

              One or more subnet IDs, if applicable, separated by commas.

              */ - PlacementGroup?: string; + VPCZoneIdentifier?: string; /** - *

              The desired size of the group.

              + *

              The current state of the group when the DeleteAutoScalingGroup + * operation is in progress.

              */ - DesiredCapacity: number | undefined; + Status?: string; /** - *

              The minimum size of the group.

              + *

              The name of the placement group into which to launch your instances, if any.

              */ - MinSize: number | undefined; + PlacementGroup?: string; /** - *

              The name of the Auto Scaling group.

              + *

              The launch template for the group.

              */ - AutoScalingGroupName: string | undefined; + LaunchTemplate?: LaunchTemplateSpecification; /** *

              The termination policies for the group.

              @@ -2105,46 +2107,44 @@ export interface AutoScalingGroup { TerminationPolicies?: string[]; /** - *

              The Amazon Resource Names (ARN) of the target groups for your load balancer.

              - */ - TargetGroupARNs?: string[]; - - /** - *

              The name of the associated launch configuration.

              + *

              The service to use for the health checks. The valid values are EC2 and + * ELB. If you configure an Auto Scaling group to use ELB health checks, it + * considers the instance unhealthy if it fails either the EC2 status checks or the load + * balancer health checks.

              */ - LaunchConfigurationName?: string; + HealthCheckType: string | undefined; /** - *

              The Amazon Resource Name (ARN) of the Auto Scaling group.

              + *

              The desired size of the group.

              */ - AutoScalingGroupARN?: string; + DesiredCapacity: number | undefined; /** - *

              One or more load balancers associated with the group.

              + *

              Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling + * when scaling in.

              */ - LoadBalancerNames?: string[]; + NewInstancesProtectedFromScaleIn?: boolean; /** - *

              The current state of the group when the DeleteAutoScalingGroup - * operation is in progress.

              + *

              The name of the Auto Scaling group.

              */ - Status?: string; + AutoScalingGroupName: string | undefined; /** - *

              The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status - * of an EC2 instance that has come into service.

              + *

              The minimum size of the group.

              */ - HealthCheckGracePeriod?: number; + MinSize: number | undefined; /** - *

              The duration of the default cooldown period, in seconds.

              + *

              The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to + * call other AWS services on your behalf.

              */ - DefaultCooldown: number | undefined; + ServiceLinkedRoleARN?: string; /** - *

              The EC2 instances associated with the group.

              + *

              The metrics enabled for the group.

              */ - Instances?: Instance[]; + EnabledMetrics?: EnabledMetric[]; } export namespace AutoScalingGroup { @@ -2154,6 +2154,11 @@ export namespace AutoScalingGroup { } export interface AutoScalingGroupsType { + /** + *

              The groups.

              + */ + AutoScalingGroups: AutoScalingGroup[] | undefined; + /** *

              A string that indicates that the response contains more items than can be returned in * a single response. To receive additional items, specify this string for the @@ -2161,11 +2166,6 @@ export interface AutoScalingGroupsType { * null when there are no more items to return.

              */ NextToken?: string; - - /** - *

              The groups.

              - */ - AutoScalingGroups: AutoScalingGroup[] | undefined; } export namespace AutoScalingGroupsType { @@ -2197,42 +2197,43 @@ export namespace InvalidNextToken { */ export interface AutoScalingInstanceDetails { /** - *

              Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling - * in.

              + *

              The launch template for the instance.

              */ - ProtectedFromScaleIn: boolean | undefined; + LaunchTemplate?: LaunchTemplateSpecification; /** - *

              The last reported health status of this instance. "Healthy" means that the instance is - * healthy and should remain in service. "Unhealthy" means that the instance is unhealthy - * and Amazon EC2 Auto Scaling should terminate and replace it.

              + *

              The launch configuration used to launch the instance. This value is not available if + * you attached the instance to the Auto Scaling group.

              */ - HealthStatus: string | undefined; + LaunchConfigurationName?: string; /** - *

              The ID of the instance.

              + *

              The instance type of the EC2 instance.

              */ - InstanceId: string | undefined; + InstanceType?: string; /** - *

              The lifecycle state for the instance.

              + *

              The name of the Auto Scaling group for the instance.

              */ - LifecycleState: string | undefined; + AutoScalingGroupName: string | undefined; /** - *

              The launch template for the instance.

              + *

              The last reported health status of this instance. "Healthy" means that the instance is + * healthy and should remain in service. "Unhealthy" means that the instance is unhealthy + * and Amazon EC2 Auto Scaling should terminate and replace it.

              */ - LaunchTemplate?: LaunchTemplateSpecification; + HealthStatus: string | undefined; /** - *

              The name of the Auto Scaling group for the instance.

              + *

              Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling + * in.

              */ - AutoScalingGroupName: string | undefined; + ProtectedFromScaleIn: boolean | undefined; /** - *

              The Availability Zone for the instance.

              + *

              The lifecycle state for the instance.

              */ - AvailabilityZone: string | undefined; + LifecycleState: string | undefined; /** *

              The number of capacity units contributed by the instance based on its instance @@ -2242,15 +2243,14 @@ export interface AutoScalingInstanceDetails { WeightedCapacity?: string; /** - *

              The instance type of the EC2 instance.

              + *

              The Availability Zone for the instance.

              */ - InstanceType?: string; + AvailabilityZone: string | undefined; /** - *

              The launch configuration used to launch the instance. This value is not available if - * you attached the instance to the Auto Scaling group.

              + *

              The ID of the instance.

              */ - LaunchConfigurationName?: string; + InstanceId: string | undefined; } export namespace AutoScalingInstanceDetails { @@ -2260,11 +2260,6 @@ export namespace AutoScalingInstanceDetails { } export interface AutoScalingInstancesType { - /** - *

              The instances.

              - */ - AutoScalingInstances?: AutoScalingInstanceDetails[]; - /** *

              A string that indicates that the response contains more items than can be returned in * a single response. To receive additional items, specify this string for the @@ -2272,6 +2267,11 @@ export interface AutoScalingInstancesType { * null when there are no more items to return.

              */ NextToken?: string; + + /** + *

              The instances.

              + */ + AutoScalingInstances?: AutoScalingInstanceDetails[]; } export namespace AutoScalingInstancesType { @@ -2333,11 +2333,6 @@ export enum InstanceRefreshStatus { *

              Describes an instance refresh for an Auto Scaling group.

              */ export interface InstanceRefresh { - /** - *

              The date and time at which the instance refresh ended.

              - */ - EndTime?: Date; - /** *

              The percentage of the instance refresh that is complete. For each instance * replacement, Amazon EC2 Auto Scaling tracks the instance's health status and warm-up time. When the @@ -2347,21 +2342,25 @@ export interface InstanceRefresh { PercentageComplete?: number; /** - *

              The number of instances remaining to update before the instance refresh is - * complete.

              + *

              The date and time at which the instance refresh ended.

              */ - InstancesToUpdate?: number; + EndTime?: Date; /** - *

              The instance refresh ID.

              + *

              The name of the Auto Scaling group.

              */ - InstanceRefreshId?: string; + AutoScalingGroupName?: string; /** *

              The date and time at which the instance refresh began.

              */ StartTime?: Date; + /** + *

              Provides more details about the current status of the instance refresh.

              + */ + StatusReason?: string; + /** *

              The current status for the instance refresh operation:

              *
                @@ -2398,14 +2397,15 @@ export interface InstanceRefresh { Status?: InstanceRefreshStatus | string; /** - *

                Provides more details about the current status of the instance refresh.

                + *

                The instance refresh ID.

                */ - StatusReason?: string; + InstanceRefreshId?: string; /** - *

                The name of the Auto Scaling group.

                + *

                The number of instances remaining to update before the instance refresh is + * complete.

                */ - AutoScalingGroupName?: string; + InstancesToUpdate?: number; } export namespace InstanceRefresh { @@ -2436,27 +2436,27 @@ export namespace DescribeInstanceRefreshesAnswer { } export interface DescribeInstanceRefreshesType { + /** + *

                The maximum number of items to return with this call. The default value is + * 50 and the maximum value is 100.

                + */ + MaxRecords?: number; + /** *

                The name of the Auto Scaling group.

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

                The maximum number of items to return with this call. The default value is - * 50 and the maximum value is 100.

                + *

                One or more instance refresh IDs.

                */ - MaxRecords?: number; + InstanceRefreshIds?: string[]; /** *

                The token for the next set of items to return. (You received this token from a * previous call.)

                */ NextToken?: string; - - /** - *

                One or more instance refresh IDs.

                - */ - InstanceRefreshIds?: string[]; } export namespace DescribeInstanceRefreshesType { @@ -2472,17 +2472,17 @@ export interface LaunchConfigurationNamesType { */ NextToken?: string; - /** - *

                The launch configuration names. If you omit this parameter, all launch configurations - * are described.

                - */ - LaunchConfigurationNames?: string[]; - /** *

                The maximum number of items to return with this call. The default value is * 50 and the maximum value is 100.

                */ MaxRecords?: number; + + /** + *

                The launch configuration names. If you omit this parameter, all launch configurations + * are described.

                + */ + LaunchConfigurationNames?: string[]; } export namespace LaunchConfigurationNamesType { @@ -2496,61 +2496,20 @@ export namespace LaunchConfigurationNamesType { */ export interface LaunchConfiguration { /** - *

                The instance type for the instances.

                - *

                For information about available instance types, see Available - * Instance Types in the Amazon EC2 User Guide for Linux - * Instances. - *

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

                The IDs of one or more security groups for the VPC specified in - * ClassicLinkVPCId.

                - *

                For more information, see ClassicLink in the - * Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the - * Amazon EC2 Auto Scaling User Guide.

                - */ - ClassicLinkVPCSecurityGroups?: string[]; - - /** - *

                A list that contains the security groups to assign to the instances in the Auto Scaling - * group.

                - *

                For more information, see Security Groups for Your - * VPC in the Amazon Virtual Private Cloud User - * Guide.

                - */ - SecurityGroups?: string[]; - - /** - *

                The Amazon Resource Name (ARN) of the launch configuration.

                - */ - LaunchConfigurationARN?: string; - - /** - *

                For Auto Scaling groups that are running in a VPC, specifies whether to assign a public IP - * address to the group's instances.

                - *

                For more information, see Launching Auto Scaling Instances in a - * VPC in the Amazon EC2 Auto Scaling User Guide.

                - */ - AssociatePublicIpAddress?: boolean; - - /** - *

                Controls whether instances in this group are launched with detailed - * (true) or basic (false) monitoring.

                - *

                For more information, see Configure Monitoring for Auto Scaling Instances in the - * Amazon EC2 Auto Scaling User Guide.

                + *

                The name or the Amazon Resource Name (ARN) of the instance profile associated with the + * IAM role for the instance. The instance profile contains the IAM role.

                + *

                For more information, see IAM Role for Applications That Run + * on Amazon EC2 Instances in the Amazon EC2 Auto Scaling User Guide.

                */ - InstanceMonitoring?: InstanceMonitoring; + IamInstanceProfile?: string; /** - *

                The tenancy of the instance, either default or dedicated. An - * instance with dedicated tenancy runs on isolated, single-tenant hardware - * and can only be launched into a VPC.

                - *

                For more information, see Instance Placement - * Tenancy in the Amazon EC2 Auto Scaling User Guide.

                + *

                A block device mapping, which specifies the block devices for the instance.

                + *

                For more information, see Block Device + * Mapping in the Amazon EC2 User Guide for Linux + * Instances.

                */ - PlacementTenancy?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** *

                The metadata options for the instances. For more information, see Instance Metadata and User Data in the @@ -2559,9 +2518,14 @@ export interface LaunchConfiguration { MetadataOptions?: InstanceMetadataOptions; /** - *

                The name of the launch configuration.

                + *

                The ID of the RAM disk associated with the AMI.

                */ - LaunchConfigurationName: string | undefined; + RamdiskId?: string; + + /** + *

                The ID of the kernel associated with the AMI.

                + */ + KernelId?: string; /** *

                The maximum hourly price to be paid for any Spot Instance launched to fulfill the @@ -2574,9 +2538,11 @@ export interface LaunchConfiguration { SpotPrice?: string; /** - *

                The ID of the RAM disk associated with the AMI.

                + *

                The Base64-encoded user data to make available to the launched EC2 instances.

                + *

                For more information, see Instance Metadata and User + * Data in the Amazon EC2 User Guide for Linux Instances.

                */ - RamdiskId?: string; + UserData?: string; /** *

                The name of the key pair.

                @@ -2593,47 +2559,63 @@ export interface LaunchConfiguration { ImageId: string | undefined; /** - *

                The name or the Amazon Resource Name (ARN) of the instance profile associated with the - * IAM role for the instance. The instance profile contains the IAM role.

                - *

                For more information, see IAM Role for Applications That Run - * on Amazon EC2 Instances in the Amazon EC2 Auto Scaling User Guide.

                + *

                The instance type for the instances.

                + *

                For information about available instance types, see Available + * Instance Types in the Amazon EC2 User Guide for Linux + * Instances. + *

                */ - IamInstanceProfile?: string; + InstanceType: string | undefined; /** - *

                The Base64-encoded user data to make available to the launched EC2 instances.

                - *

                For more information, see Instance Metadata and User - * Data in the Amazon EC2 User Guide for Linux Instances.

                + *

                Controls whether instances in this group are launched with detailed + * (true) or basic (false) monitoring.

                + *

                For more information, see Configure Monitoring for Auto Scaling Instances in the + * Amazon EC2 Auto Scaling User Guide.

                */ - UserData?: string; + InstanceMonitoring?: InstanceMonitoring; /** - *

                The ID of the kernel associated with the AMI.

                + *

                The Amazon Resource Name (ARN) of the launch configuration.

                */ - KernelId?: string; + LaunchConfigurationARN?: string; /** - *

                Specifies whether the launch configuration is optimized for EBS I/O - * (true) or not (false).

                - *

                For more information, see Amazon EBS-Optimized - * Instances in the Amazon EC2 User Guide for Linux - * Instances.

                + *

                For Auto Scaling groups that are running in a VPC, specifies whether to assign a public IP + * address to the group's instances.

                + *

                For more information, see Launching Auto Scaling Instances in a + * VPC in the Amazon EC2 Auto Scaling User Guide.

                */ - EbsOptimized?: boolean; + AssociatePublicIpAddress?: boolean; /** - *

                A block device mapping, which specifies the block devices for the instance.

                - *

                For more information, see Block Device - * Mapping in the Amazon EC2 User Guide for Linux - * Instances.

                + *

                The IDs of one or more security groups for the VPC specified in + * ClassicLinkVPCId.

                + *

                For more information, see ClassicLink in the + * Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the + * Amazon EC2 Auto Scaling User Guide.

                */ - BlockDeviceMappings?: BlockDeviceMapping[]; + ClassicLinkVPCSecurityGroups?: string[]; + + /** + *

                A list that contains the security groups to assign to the instances in the Auto Scaling + * group.

                + *

                For more information, see Security Groups for Your + * VPC in the Amazon Virtual Private Cloud User + * Guide.

                + */ + SecurityGroups?: string[]; /** *

                The creation date and time for the launch configuration.

                */ CreatedTime: Date | undefined; + /** + *

                The name of the launch configuration.

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

                The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.

                *

                For more information, see ClassicLink in the @@ -2641,6 +2623,24 @@ export interface LaunchConfiguration { * Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

                */ ClassicLinkVPCId?: string; + + /** + *

                The tenancy of the instance, either default or dedicated. An + * instance with dedicated tenancy runs on isolated, single-tenant hardware + * and can only be launched into a VPC.

                + *

                For more information, see Instance Placement + * Tenancy in the Amazon EC2 Auto Scaling User Guide.

                + */ + PlacementTenancy?: string; + + /** + *

                Specifies whether the launch configuration is optimized for EBS I/O + * (true) or not (false).

                + *

                For more information, see Amazon EBS-Optimized + * Instances in the Amazon EC2 User Guide for Linux + * Instances.

                + */ + EbsOptimized?: boolean; } export namespace LaunchConfiguration { @@ -2676,13 +2676,6 @@ export namespace LaunchConfigurationsType { * instances.

                */ export interface LifecycleHook { - /** - *

                The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the - * transition state for the lifecycle hook. The notification target can be either an SQS - * queue or an SNS topic.

                - */ - NotificationTargetARN?: string; - /** *

                The ARN of the IAM role that allows the Auto Scaling group to publish to the specified * notification target.

                @@ -2694,6 +2687,11 @@ export interface LifecycleHook { */ LifecycleHookName?: string; + /** + *

                The name of the Auto Scaling group for the lifecycle hook.

                + */ + AutoScalingGroupName?: string; + /** *

                Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses * or if an unexpected failure occurs. The possible values are CONTINUE and @@ -2702,17 +2700,11 @@ export interface LifecycleHook { DefaultResult?: string; /** - *

                Additional information that is included any time Amazon EC2 Auto Scaling sends a message to the - * notification target.

                - */ - NotificationMetadata?: string; - - /** - *

                The maximum time, in seconds, that can elapse before the lifecycle hook times out. If - * the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the - * DefaultResult parameter.

                + *

                The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the + * transition state for the lifecycle hook. The notification target can be either an SQS + * queue or an SNS topic.

                */ - HeartbeatTimeout?: number; + NotificationTargetARN?: string; /** *

                The maximum time, in seconds, that an instance can remain in a @@ -2722,6 +2714,13 @@ export interface LifecycleHook { */ GlobalTimeout?: number; + /** + *

                The maximum time, in seconds, that can elapse before the lifecycle hook times out. If + * the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the + * DefaultResult parameter.

                + */ + HeartbeatTimeout?: number; + /** *

                The state of the EC2 instance to which to attach the lifecycle hook. The following are * possible values:

                @@ -2737,9 +2736,10 @@ export interface LifecycleHook { LifecycleTransition?: string; /** - *

                The name of the Auto Scaling group for the lifecycle hook.

                + *

                Additional information that is included any time Amazon EC2 Auto Scaling sends a message to the + * notification target.

                */ - AutoScalingGroupName?: string; + NotificationMetadata?: string; } export namespace LifecycleHook { @@ -2762,16 +2762,16 @@ export namespace DescribeLifecycleHooksAnswer { } export interface DescribeLifecycleHooksType { - /** - *

                The name of the Auto Scaling group.

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

                The names of one or more lifecycle hooks. If you omit this parameter, all lifecycle * hooks are described.

                */ LifecycleHookNames?: string[]; + + /** + *

                The name of the Auto Scaling group.

                + */ + AutoScalingGroupName: string | undefined; } export namespace DescribeLifecycleHooksType { @@ -2795,15 +2795,15 @@ export namespace DescribeLifecycleHookTypesAnswer { export interface DescribeLoadBalancersRequest { /** - *

                The token for the next set of items to return. (You received this token from a - * previous call.)

                + *

                The name of the Auto Scaling group.

                */ - NextToken?: string; + AutoScalingGroupName: string | undefined; /** - *

                The name of the Auto Scaling group.

                + *

                The token for the next set of items to return. (You received this token from a + * previous call.)

                */ - AutoScalingGroupName: string | undefined; + NextToken?: string; /** *

                The maximum number of items to return with this call. The default value is @@ -2899,6 +2899,12 @@ export namespace DescribeLoadBalancersResponse { } export interface DescribeLoadBalancerTargetGroupsRequest { + /** + *

                The maximum number of items to return with this call. The default value is + * 100 and the maximum value is 100.

                + */ + MaxRecords?: number; + /** *

                The token for the next set of items to return. (You received this token from a * previous call.)

                @@ -2909,12 +2915,6 @@ export interface DescribeLoadBalancerTargetGroupsRequest { *

                The name of the Auto Scaling group.

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

                The maximum number of items to return with this call. The default value is - * 100 and the maximum value is 100.

                - */ - MaxRecords?: number; } export namespace DescribeLoadBalancerTargetGroupsRequest { @@ -2933,6 +2933,11 @@ export namespace DescribeLoadBalancerTargetGroupsRequest { * group remains in the Added state.

                */ export interface LoadBalancerTargetGroupState { + /** + *

                The Amazon Resource Name (ARN) of the target group.

                + */ + LoadBalancerTargetGroupARN?: string; + /** *

                The state of the target group.

                *
                  @@ -2961,15 +2966,10 @@ export interface LoadBalancerTargetGroupState { *

                  * Removed - All Auto Scaling instances are deregistered from the target * group.

                  - * - *
                - */ - State?: string; - - /** - *

                The Amazon Resource Name (ARN) of the target group.

                + * + *
              */ - LoadBalancerTargetGroupARN?: string; + State?: string; } export namespace LoadBalancerTargetGroupState { @@ -2979,11 +2979,6 @@ export namespace LoadBalancerTargetGroupState { } export interface DescribeLoadBalancerTargetGroupsResponse { - /** - *

              Information about the target groups.

              - */ - LoadBalancerTargetGroups?: LoadBalancerTargetGroupState[]; - /** *

              A string that indicates that the response contains more items than can be returned in * a single response. To receive additional items, specify this string for the @@ -2991,6 +2986,11 @@ export interface DescribeLoadBalancerTargetGroupsResponse { * null when there are no more items to return.

              */ NextToken?: string; + + /** + *

              Information about the target groups.

              + */ + LoadBalancerTargetGroups?: LoadBalancerTargetGroupState[]; } export namespace DescribeLoadBalancerTargetGroupsResponse { @@ -3100,14 +3100,14 @@ export namespace MetricCollectionType { export interface DescribeMetricCollectionTypesAnswer { /** - *

              One or more metrics.

              + *

              The granularities for the metrics.

              */ - Metrics?: MetricCollectionType[]; + Granularities?: MetricGranularityType[]; /** - *

              The granularities for the metrics.

              + *

              One or more metrics.

              */ - Granularities?: MetricGranularityType[]; + Metrics?: MetricCollectionType[]; } export namespace DescribeMetricCollectionTypesAnswer { @@ -3125,6 +3125,12 @@ export interface NotificationConfiguration { */ AutoScalingGroupName?: string; + /** + *

              The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) + * topic.

              + */ + TopicARN?: string; + /** *

              One of the following event notification types:

              *
                @@ -3156,12 +3162,6 @@ export interface NotificationConfiguration { *
              */ NotificationType?: string; - - /** - *

              The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) - * topic.

              - */ - TopicARN?: string; } export namespace NotificationConfiguration { @@ -3192,12 +3192,6 @@ export namespace DescribeNotificationConfigurationsAnswer { } export interface DescribeNotificationConfigurationsType { - /** - *

              The token for the next set of items to return. (You received this token from a - * previous call.)

              - */ - NextToken?: string; - /** *

              The maximum number of items to return with this call. The default value is * 50 and the maximum value is 100.

              @@ -3208,6 +3202,12 @@ export interface DescribeNotificationConfigurationsType { *

              The name of the Auto Scaling group.

              */ AutoScalingGroupNames?: string[]; + + /** + *

              The token for the next set of items to return. (You received this token from a + * previous call.)

              + */ + NextToken?: string; } export namespace DescribeNotificationConfigurationsType { @@ -3223,11 +3223,6 @@ export interface DescribePoliciesType { */ NextToken?: string; - /** - *

              The name of the Auto Scaling group.

              - */ - AutoScalingGroupName?: string; - /** *

              The names of one or more policies. If you omit this parameter, all policies are * described. If a group name is provided, the results are limited to that group. This list @@ -3236,6 +3231,12 @@ export interface DescribePoliciesType { */ PolicyNames?: string[]; + /** + *

              One or more policy types. The valid values are SimpleScaling, + * StepScaling, and TargetTrackingScaling.

              + */ + PolicyTypes?: string[]; + /** *

              The maximum number of items to be returned with each call. The default value is * 50 and the maximum value is 100.

              @@ -3243,10 +3244,9 @@ export interface DescribePoliciesType { MaxRecords?: number; /** - *

              One or more policy types. The valid values are SimpleScaling, - * StepScaling, and TargetTrackingScaling.

              + *

              The name of the Auto Scaling group.

              */ - PolicyTypes?: string[]; + AutoScalingGroupName?: string; } export namespace DescribePoliciesType { @@ -3294,13 +3294,11 @@ export namespace DescribePoliciesType { */ export interface StepAdjustment { /** - *

              The lower bound for the difference between the alarm threshold and the CloudWatch metric. If - * the metric value is above the breach threshold, the lower bound is inclusive (the metric - * must be greater than or equal to the threshold plus the lower bound). Otherwise, it is - * exclusive (the metric must be greater than the threshold plus the lower bound). A null - * value indicates negative infinity.

              + *

              The amount by which to scale, based on the specified adjustment type. A positive value + * adds to the current capacity while a negative number removes from the current + * capacity.

              */ - MetricIntervalLowerBound?: number; + ScalingAdjustment: number | undefined; /** *

              The upper bound for the difference between the alarm threshold and the CloudWatch metric. If @@ -3313,11 +3311,13 @@ export interface StepAdjustment { MetricIntervalUpperBound?: number; /** - *

              The amount by which to scale, based on the specified adjustment type. A positive value - * adds to the current capacity while a negative number removes from the current - * capacity.

              + *

              The lower bound for the difference between the alarm threshold and the CloudWatch metric. If + * the metric value is above the breach threshold, the lower bound is inclusive (the metric + * must be greater than or equal to the threshold plus the lower bound). Otherwise, it is + * exclusive (the metric must be greater than the threshold plus the lower bound). A null + * value indicates negative infinity.

              */ - ScalingAdjustment: number | undefined; + MetricIntervalLowerBound?: number; } export namespace StepAdjustment { @@ -3331,14 +3331,14 @@ export namespace StepAdjustment { */ export interface MetricDimension { /** - *

              The name of the dimension.

              + *

              The value of the dimension.

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

              The value of the dimension.

              + *

              The name of the dimension.

              */ - Value: string | undefined; + Name: string | undefined; } export namespace MetricDimension { @@ -3379,9 +3379,14 @@ export enum MetricStatistic { */ export interface CustomizedMetricSpecification { /** - *

              The namespace of the metric.

              + *

              The statistic of the metric.

              */ - Namespace: string | undefined; + Statistic: MetricStatistic | string | undefined; + + /** + *

              The name of the metric.

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

              The dimensions of the metric.

              @@ -3391,19 +3396,14 @@ export interface CustomizedMetricSpecification { Dimensions?: MetricDimension[]; /** - *

              The unit of the metric.

              - */ - Unit?: string; - - /** - *

              The statistic of the metric.

              + *

              The namespace of the metric.

              */ - Statistic: MetricStatistic | string | undefined; + Namespace: string | undefined; /** - *

              The name of the metric.

              + *

              The unit of the metric.

              */ - MetricName: string | undefined; + Unit?: string; } export namespace CustomizedMetricSpecification { @@ -3424,33 +3424,6 @@ export enum MetricType { * Amazon EC2 Auto Scaling.

              */ export interface PredefinedMetricSpecification { - /** - *

              The metric type. The following predefined metrics are available:

              - *
                - *
              • - *

                - * ASGAverageCPUUtilization - Average CPU utilization of the Auto Scaling - * group.

                - *
              • - *
              • - *

                - * ASGAverageNetworkIn - Average number of bytes received on all - * network interfaces by the Auto Scaling group.

                - *
              • - *
              • - *

                - * ASGAverageNetworkOut - Average number of bytes sent out on all - * network interfaces by the Auto Scaling group.

                - *
              • - *
              • - *

                - * ALBRequestCountPerTarget - Number of requests completed per - * target in an Application Load Balancer target group.

                - *
              • - *
              - */ - PredefinedMetricType: MetricType | string | undefined; - /** *

              Identifies the resource associated with the metric type. You can't specify a resource * label unless the metric type is ALBRequestCountPerTarget and there is a @@ -3477,6 +3450,33 @@ export interface PredefinedMetricSpecification { * use the DescribeTargetGroups API operation.

              */ ResourceLabel?: string; + + /** + *

              The metric type. The following predefined metrics are available:

              + *
                + *
              • + *

                + * ASGAverageCPUUtilization - Average CPU utilization of the Auto Scaling + * group.

                + *
              • + *
              • + *

                + * ASGAverageNetworkIn - Average number of bytes received on all + * network interfaces by the Auto Scaling group.

                + *
              • + *
              • + *

                + * ASGAverageNetworkOut - Average number of bytes sent out on all + * network interfaces by the Auto Scaling group.

                + *
              • + *
              • + *

                + * ALBRequestCountPerTarget - Number of requests completed per + * target in an Application Load Balancer target group.

                + *
              • + *
              + */ + PredefinedMetricType: MetricType | string | undefined; } export namespace PredefinedMetricSpecification { @@ -3489,6 +3489,12 @@ export namespace PredefinedMetricSpecification { *

              Represents a target tracking scaling policy configuration to use with Amazon EC2 Auto Scaling.

              */ export interface TargetTrackingConfiguration { + /** + *

              A customized metric. You must specify either a predefined metric or a customized + * metric.

              + */ + CustomizedMetricSpecification?: CustomizedMetricSpecification; + /** *

              Indicates whether scaling in by the target tracking scaling policy is disabled. If * scaling in is disabled, the target tracking scaling policy doesn't remove instances from @@ -3498,21 +3504,15 @@ export interface TargetTrackingConfiguration { DisableScaleIn?: boolean; /** - *

              A predefined metric. You must specify either a predefined metric or a customized - * metric.

              + *

              The target value for the metric.

              */ - PredefinedMetricSpecification?: PredefinedMetricSpecification; + TargetValue: number | undefined; /** - *

              A customized metric. You must specify either a predefined metric or a customized + *

              A predefined metric. You must specify either a predefined metric or a customized * metric.

              */ - CustomizedMetricSpecification?: CustomizedMetricSpecification; - - /** - *

              The target value for the metric.

              - */ - TargetValue: number | undefined; + PredefinedMetricSpecification?: PredefinedMetricSpecification; } export namespace TargetTrackingConfiguration { @@ -3526,9 +3526,39 @@ export namespace TargetTrackingConfiguration { */ export interface ScalingPolicy { /** - *

              The CloudWatch alarms related to the policy.

              + *

              The amount by which to scale, based on the specified adjustment type. A positive value + * adds to the current capacity while a negative number removes from the current + * capacity.

              */ - Alarms?: Alarm[]; + ScalingAdjustment?: number; + + /** + *

              The estimated time, in seconds, until a newly launched instance can contribute to the + * CloudWatch metrics.

              + */ + EstimatedInstanceWarmup?: number; + + /** + *

              The aggregation type for the CloudWatch metrics. The valid values are Minimum, + * Maximum, and Average.

              + */ + MetricAggregationType?: string; + + /** + *

              A set of adjustments that enable you to scale based on the size of the alarm + * breach.

              + */ + StepAdjustments?: StepAdjustment[]; + + /** + *

              The name of the Auto Scaling group.

              + */ + AutoScalingGroupName?: string; + + /** + *

              The duration of the policy's cooldown period, in seconds.

              + */ + Cooldown?: number; /** *

              One of the following policy types:

              @@ -3555,61 +3585,31 @@ export interface ScalingPolicy { PolicyType?: string; /** - *

              A set of adjustments that enable you to scale based on the size of the alarm - * breach.

              - */ - StepAdjustments?: StepAdjustment[]; - - /** - *

              The aggregation type for the CloudWatch metrics. The valid values are Minimum, - * Maximum, and Average.

              - */ - MetricAggregationType?: string; - - /** - *

              The duration of the policy's cooldown period, in seconds.

              - */ - Cooldown?: number; - - /** - *

              The name of the Auto Scaling group.

              - */ - AutoScalingGroupName?: string; - - /** - *

              A target tracking scaling policy.

              - */ - TargetTrackingConfiguration?: TargetTrackingConfiguration; - - /** - *

              The estimated time, in seconds, until a newly launched instance can contribute to the - * CloudWatch metrics.

              + *

              The name of the scaling policy.

              */ - EstimatedInstanceWarmup?: number; + PolicyName?: string; - /** - *

              Specifies how the scaling adjustment is interpreted (for example, an absolute number - * or a percentage). The valid values are ChangeInCapacity, - * ExactCapacity, and PercentChangeInCapacity.

              + /** + *

              Available for backward compatibility. Use MinAdjustmentMagnitude + * instead.

              */ - AdjustmentType?: string; + MinAdjustmentStep?: number; /** - *

              The Amazon Resource Name (ARN) of the policy.

              + *

              A target tracking scaling policy.

              */ - PolicyARN?: string; + TargetTrackingConfiguration?: TargetTrackingConfiguration; /** - *

              The name of the scaling policy.

              + *

              Indicates whether the policy is enabled (true) or disabled + * (false).

              */ - PolicyName?: string; + Enabled?: boolean; /** - *

              The amount by which to scale, based on the specified adjustment type. A positive value - * adds to the current capacity while a negative number removes from the current - * capacity.

              + *

              The Amazon Resource Name (ARN) of the policy.

              */ - ScalingAdjustment?: number; + PolicyARN?: string; /** *

              The minimum value to scale by when the adjustment type is @@ -3618,16 +3618,16 @@ export interface ScalingPolicy { MinAdjustmentMagnitude?: number; /** - *

              Indicates whether the policy is enabled (true) or disabled - * (false).

              + *

              The CloudWatch alarms related to the policy.

              */ - Enabled?: boolean; + Alarms?: Alarm[]; /** - *

              Available for backward compatibility. Use MinAdjustmentMagnitude - * instead.

              + *

              Specifies how the scaling adjustment is interpreted (for example, an absolute number + * or a percentage). The valid values are ChangeInCapacity, + * ExactCapacity, and PercentChangeInCapacity.

              */ - MinAdjustmentStep?: number; + AdjustmentType?: string; } export namespace ScalingPolicy { @@ -3659,18 +3659,16 @@ export namespace PoliciesType { export interface DescribeScalingActivitiesType { /** - *

              The token for the next set of items to return. (You received this token from a - * previous call.)

              + *

              The maximum number of items to return with this call. The default value is + * 100 and the maximum value is 100.

              */ - NextToken?: string; + MaxRecords?: number; /** - *

              The activity IDs of the desired scaling activities. You can specify up to 50 IDs. If - * you omit this parameter, all activities for the past six weeks are described. If unknown - * activities are requested, they are ignored with no error. If you specify an Auto Scaling group, - * the results are limited to that group.

              + *

              The token for the next set of items to return. (You received this token from a + * previous call.)

              */ - ActivityIds?: string[]; + NextToken?: string; /** *

              The name of the Auto Scaling group.

              @@ -3678,10 +3676,12 @@ export interface DescribeScalingActivitiesType { AutoScalingGroupName?: string; /** - *

              The maximum number of items to return with this call. The default value is - * 100 and the maximum value is 100.

              + *

              The activity IDs of the desired scaling activities. You can specify up to 50 IDs. If + * you omit this parameter, all activities for the past six weeks are described. If unknown + * activities are requested, they are ignored with no error. If you specify an Auto Scaling group, + * the results are limited to that group.

              */ - MaxRecords?: number; + ActivityIds?: string[]; } export namespace DescribeScalingActivitiesType { @@ -3769,23 +3769,21 @@ export namespace ProcessesType { export interface DescribeScheduledActionsType { /** - *

              The names of one or more scheduled actions. You can specify up to 50 actions. If you - * omit this parameter, all scheduled actions are described. If you specify an unknown - * scheduled action, it is ignored with no error.

              + *

              The maximum number of items to return with this call. The default value is + * 50 and the maximum value is 100.

              */ - ScheduledActionNames?: string[]; + MaxRecords?: number; /** - *

              The token for the next set of items to return. (You received this token from a - * previous call.)

              + *

              The name of the Auto Scaling group.

              */ - NextToken?: string; + AutoScalingGroupName?: string; /** - *

              The maximum number of items to return with this call. The default value is - * 50 and the maximum value is 100.

              + *

              The latest scheduled start time to return. If scheduled action names are provided, + * this parameter is ignored.

              */ - MaxRecords?: number; + EndTime?: Date; /** *

              The earliest scheduled start time to return. If scheduled action names are provided, @@ -3794,15 +3792,17 @@ export interface DescribeScheduledActionsType { StartTime?: Date; /** - *

              The name of the Auto Scaling group.

              + *

              The token for the next set of items to return. (You received this token from a + * previous call.)

              */ - AutoScalingGroupName?: string; + NextToken?: string; /** - *

              The latest scheduled start time to return. If scheduled action names are provided, - * this parameter is ignored.

              + *

              The names of one or more scheduled actions. You can specify up to 50 actions. If you + * omit this parameter, all scheduled actions are described. If you specify an unknown + * scheduled action, it is ignored with no error.

              */ - EndTime?: Date; + ScheduledActionNames?: string[]; } export namespace DescribeScheduledActionsType { @@ -3817,43 +3817,47 @@ export namespace DescribeScheduledActionsType { */ export interface ScheduledUpdateGroupAction { /** - *

              The maximum size of the Auto Scaling group.

              + *

              The name of the Auto Scaling group.

              */ - MaxSize?: number; + AutoScalingGroupName?: string; /** - *

              The recurring schedule for the action, in Unix cron syntax format.

              - *

              When StartTime and EndTime are specified with - * Recurrence, they form the boundaries of when the recurring action - * starts and stops.

              + *

              The date and time in UTC for this action to start. For example, + * "2019-06-01T00:00:00Z". + *

              */ - Recurrence?: string; + StartTime?: Date; /** - *

              The name of the Auto Scaling group.

              + *

              This parameter is no longer used.

              */ - AutoScalingGroupName?: string; + Time?: Date; /** - *

              The name of the scheduled action.

              + *

              The recurring schedule for the action, in Unix cron syntax format.

              + *

              When StartTime and EndTime are specified with + * Recurrence, they form the boundaries of when the recurring action + * starts and stops.

              */ - ScheduledActionName?: string; + Recurrence?: string; /** - *

              The Amazon Resource Name (ARN) of the scheduled action.

              + *

              The desired capacity is the initial capacity of the Auto Scaling group after the scheduled + * action runs and the capacity it attempts to maintain.

              */ - ScheduledActionARN?: string; + DesiredCapacity?: number; /** - *

              This parameter is no longer used.

              + *

              The date and time in UTC for the recurring schedule to end. For example, + * "2019-06-01T00:00:00Z". + *

              */ - Time?: Date; + EndTime?: Date; /** - *

              The desired capacity is the initial capacity of the Auto Scaling group after the scheduled - * action runs and the capacity it attempts to maintain.

              + *

              The name of the scheduled action.

              */ - DesiredCapacity?: number; + ScheduledActionName?: string; /** *

              The minimum size of the Auto Scaling group.

              @@ -3861,18 +3865,14 @@ export interface ScheduledUpdateGroupAction { MinSize?: number; /** - *

              The date and time in UTC for this action to start. For example, - * "2019-06-01T00:00:00Z". - *

              + *

              The Amazon Resource Name (ARN) of the scheduled action.

              */ - StartTime?: Date; + ScheduledActionARN?: string; /** - *

              The date and time in UTC for the recurring schedule to end. For example, - * "2019-06-01T00:00:00Z". - *

              + *

              The maximum size of the Auto Scaling group.

              */ - EndTime?: Date; + MaxSize?: number; } export namespace ScheduledUpdateGroupAction { @@ -3934,17 +3934,17 @@ export interface DescribeTagsType { */ MaxRecords?: number; - /** - *

              The token for the next set of items to return. (You received this token from a - * previous call.)

              - */ - NextToken?: string; - /** *

              One or more filters to scope the tags to return. The maximum number of filters per * filter type (for example, auto-scaling-group) is 1000.

              */ Filters?: Filter[]; + + /** + *

              The token for the next set of items to return. (You received this token from a + * previous call.)

              + */ + NextToken?: string; } export namespace DescribeTagsType { @@ -3954,6 +3954,11 @@ export namespace DescribeTagsType { } export interface TagsType { + /** + *

              One or more tags.

              + */ + Tags?: TagDescription[]; + /** *

              A string that indicates that the response contains more items than can be returned in * a single response. To receive additional items, specify this string for the @@ -3961,11 +3966,6 @@ export interface TagsType { * null when there are no more items to return.

              */ NextToken?: string; - - /** - *

              One or more tags.

              - */ - Tags?: TagDescription[]; } export namespace TagsType { @@ -4037,14 +4037,14 @@ export namespace DetachLoadBalancersResultType { export interface DetachLoadBalancersType { /** - *

              The names of the load balancers. You can specify up to 10 load balancers.

              + *

              The name of the Auto Scaling group.

              */ - LoadBalancerNames: string[] | undefined; + AutoScalingGroupName: string | undefined; /** - *

              The name of the Auto Scaling group.

              + *

              The names of the load balancers. You can specify up to 10 load balancers.

              */ - AutoScalingGroupName: string | undefined; + LoadBalancerNames: string[] | undefined; } export namespace DetachLoadBalancersType { @@ -4173,11 +4173,6 @@ export interface EnableMetricsCollectionQuery { */ Granularity: string | undefined; - /** - *

              The name of the Auto Scaling group.

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

              Specifies which group-level metrics to start collecting. You can specify one or more * of the following metrics:

              @@ -4254,6 +4249,11 @@ export interface EnableMetricsCollectionQuery { *

              If you omit this parameter, all metrics are enabled.

              */ Metrics?: string[]; + + /** + *

              The name of the Auto Scaling group.

              + */ + AutoScalingGroupName: string | undefined; } export namespace EnableMetricsCollectionQuery { @@ -4276,6 +4276,12 @@ export namespace EnterStandbyAnswer { } export interface EnterStandbyQuery { + /** + *

              Indicates whether to decrement the desired capacity of the Auto Scaling group by the number of + * instances moved to Standby mode.

              + */ + ShouldDecrementDesiredCapacity: boolean | undefined; + /** *

              The IDs of the instances. You can specify up to 20 instances.

              */ @@ -4285,12 +4291,6 @@ export interface EnterStandbyQuery { *

              The name of the Auto Scaling group.

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

              Indicates whether to decrement the desired capacity of the Auto Scaling group by the number of - * instances moved to Standby mode.

              - */ - ShouldDecrementDesiredCapacity: boolean | undefined; } export namespace EnterStandbyQuery { @@ -4301,17 +4301,21 @@ export namespace EnterStandbyQuery { export interface ExecutePolicyType { /** - *

              The metric value to compare to BreachThreshold. This enables you to - * execute a policy of type StepScaling and determine which step adjustment to - * use. For example, if the breach threshold is 50 and you want to use a step adjustment - * with a lower bound of 0 and an upper bound of 10, you can set the metric value to - * 59.

              - *

              If you specify a metric value that doesn't correspond to a step adjustment for the - * policy, the call returns an error.

              + *

              The name of the Auto Scaling group.

              + */ + AutoScalingGroupName?: string; + + /** + *

              The breach threshold for the alarm.

              *

              Required if the policy type is StepScaling and not supported * otherwise.

              */ - MetricValue?: number; + BreachThreshold?: number; + + /** + *

              The name or ARN of the policy.

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

              Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing @@ -4323,21 +4327,17 @@ export interface ExecutePolicyType { HonorCooldown?: boolean; /** - *

              The name of the Auto Scaling group.

              - */ - AutoScalingGroupName?: string; - - /** - *

              The name or ARN of the policy.

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

              The breach threshold for the alarm.

              + *

              The metric value to compare to BreachThreshold. This enables you to + * execute a policy of type StepScaling and determine which step adjustment to + * use. For example, if the breach threshold is 50 and you want to use a step adjustment + * with a lower bound of 0 and an upper bound of 10, you can set the metric value to + * 59.

              + *

              If you specify a metric value that doesn't correspond to a step adjustment for the + * policy, the call returns an error.

              *

              Required if the policy type is StepScaling and not supported * otherwise.

              */ - BreachThreshold?: number; + MetricValue?: number; } export namespace ExecutePolicyType { @@ -4361,14 +4361,14 @@ export namespace ExitStandbyAnswer { export interface ExitStandbyQuery { /** - *

              The name of the Auto Scaling group.

              + *

              The IDs of the instances. You can specify up to 20 instances.

              */ - AutoScalingGroupName: string | undefined; + InstanceIds?: string[]; /** - *

              The IDs of the instances. You can specify up to 20 instances.

              + *

              The name of the Auto Scaling group.

              */ - InstanceIds?: string[]; + AutoScalingGroupName: string | undefined; } export namespace ExitStandbyQuery { @@ -4377,15 +4377,39 @@ export namespace ExitStandbyQuery { }); } -export interface PutLifecycleHookAnswer {} +export interface PutLifecycleHookAnswer {} + +export namespace PutLifecycleHookAnswer { + export const filterSensitiveLog = (obj: PutLifecycleHookAnswer): any => ({ + ...obj, + }); +} + +export interface PutLifecycleHookType { + /** + *

              The ARN of the IAM role that allows the Auto Scaling group to publish to the specified + * notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

              + *

              Required for new lifecycle hooks, but optional when updating existing hooks.

              + */ + RoleARN?: string; + + /** + *

              The name of the Auto Scaling group.

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

              Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses + * or if an unexpected failure occurs. This parameter can be either CONTINUE + * or ABANDON. The default value is ABANDON.

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

              The name of the lifecycle hook.

              + */ + LifecycleHookName: string | undefined; -export interface PutLifecycleHookType { /** *

              The ARN of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance * is in the transition state for the lifecycle hook. This target can be either an SQS @@ -4401,14 +4425,10 @@ export interface PutLifecycleHookType { NotificationTargetARN?: string; /** - *

              The name of the lifecycle hook.

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

              The name of the Auto Scaling group.

              + *

              Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to + * the notification target.

              */ - AutoScalingGroupName: string | undefined; + NotificationMetadata?: string; /** *

              The instance state to which you want to attach the lifecycle hook. The valid values @@ -4434,26 +4454,6 @@ export interface PutLifecycleHookType { * out by calling the RecordLifecycleActionHeartbeat API.

              */ HeartbeatTimeout?: number; - - /** - *

              Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to - * the notification target.

              - */ - NotificationMetadata?: string; - - /** - *

              Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses - * or if an unexpected failure occurs. This parameter can be either CONTINUE - * or ABANDON. The default value is ABANDON.

              - */ - DefaultResult?: string; - - /** - *

              The ARN of the IAM role that allows the Auto Scaling group to publish to the specified - * notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

              - *

              Required for new lifecycle hooks, but optional when updating existing hooks.

              - */ - RoleARN?: string; } export namespace PutLifecycleHookType { @@ -4468,17 +4468,17 @@ export interface PutNotificationConfigurationType { */ AutoScalingGroupName: string | undefined; - /** - *

              The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) - * topic.

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

              The type of event that causes the notification to be sent. To query the notification * types supported by Amazon EC2 Auto Scaling, call the DescribeAutoScalingNotificationTypes API.

              */ NotificationTypes: string[] | undefined; + + /** + *

              The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) + * topic.

              + */ + TopicARN: string | undefined; } export namespace PutNotificationConfigurationType { @@ -4492,14 +4492,14 @@ export namespace PutNotificationConfigurationType { */ export interface PolicyARNType { /** - *

              The Amazon Resource Name (ARN) of the policy.

              + *

              The CloudWatch alarms created for the target tracking scaling policy.

              */ - PolicyARN?: string; + Alarms?: Alarm[]; /** - *

              The CloudWatch alarms created for the target tracking scaling policy.

              + *

              The Amazon Resource Name (ARN) of the policy.

              */ - Alarms?: Alarm[]; + PolicyARN?: string; } export namespace PolicyARNType { @@ -4509,82 +4509,11 @@ export namespace PolicyARNType { } export interface PutScalingPolicyType { - /** - *

              Specifies how the scaling adjustment is interpreted (for example, an absolute number - * or a percentage). The valid values are ChangeInCapacity, - * ExactCapacity, and PercentChangeInCapacity.

              - *

              Required if the policy type is StepScaling or SimpleScaling. - * For more information, see Scaling Adjustment Types in the Amazon EC2 Auto Scaling User Guide.

              - */ - AdjustmentType?: string; - - /** - *

              A set of adjustments that enable you to scale based on the size of the alarm - * breach.

              - *

              Required if the policy type is StepScaling. (Not used with any other - * policy type.)

              - */ - StepAdjustments?: StepAdjustment[]; - - /** - *

              One of the following policy types:

              - *
                - *
              • - *

                - * TargetTrackingScaling - *

                - *
              • - *
              • - *

                - * StepScaling - *

                - *
              • - *
              • - *

                - * SimpleScaling (default)

                - *
              • - *
              - */ - PolicyType?: string; - - /** - *

              The estimated time, in seconds, until a newly launched instance can contribute to the - * CloudWatch metrics. If not provided, the default is to use the value from the default cooldown - * period for the Auto Scaling group.

              - *

              Valid only if the policy type is TargetTrackingScaling or - * StepScaling.

              - */ - EstimatedInstanceWarmup?: number; - /** *

              The name of the Auto Scaling group.

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

              The aggregation type for the CloudWatch metrics. The valid values are Minimum, - * Maximum, and Average. If the aggregation type is null, the - * value is treated as Average.

              - *

              Valid only if the policy type is StepScaling.

              - */ - MetricAggregationType?: string; - - /** - *

              The duration of the policy's cooldown period, in seconds. When a cooldown period is - * specified here, it overrides the default cooldown period defined for the Auto Scaling - * group.

              - *

              Valid only if the policy type is SimpleScaling. For more information, see - * Scaling - * Cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

              - */ - Cooldown?: number; - - /** - *

              Available for backward compatibility. Use MinAdjustmentMagnitude - * instead.

              - */ - MinAdjustmentStep?: number; - /** *

              A target tracking scaling policy. Includes support for predefined or customized * metrics.

              @@ -4620,6 +4549,17 @@ export interface PutScalingPolicyType { */ TargetTrackingConfiguration?: TargetTrackingConfiguration; + /** + *

              Available for backward compatibility. Use MinAdjustmentMagnitude + * instead.

              + */ + MinAdjustmentStep?: number; + + /** + *

              The name of the policy.

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

              The amount by which to scale, based on the specified adjustment type. A positive value * adds to the current capacity while a negative number removes from the current capacity. @@ -4630,9 +4570,42 @@ export interface PutScalingPolicyType { ScalingAdjustment?: number; /** - *

              The name of the policy.

              + *

              The estimated time, in seconds, until a newly launched instance can contribute to the + * CloudWatch metrics. If not provided, the default is to use the value from the default cooldown + * period for the Auto Scaling group.

              + *

              Valid only if the policy type is TargetTrackingScaling or + * StepScaling.

              */ - PolicyName: string | undefined; + EstimatedInstanceWarmup?: number; + + /** + *

              One of the following policy types:

              + *
                + *
              • + *

                + * TargetTrackingScaling + *

                + *
              • + *
              • + *

                + * StepScaling + *

                + *
              • + *
              • + *

                + * SimpleScaling (default)

                + *
              • + *
              + */ + PolicyType?: string; + + /** + *

              The aggregation type for the CloudWatch metrics. The valid values are Minimum, + * Maximum, and Average. If the aggregation type is null, the + * value is treated as Average.

              + *

              Valid only if the policy type is StepScaling.

              + */ + MetricAggregationType?: string; /** *

              The minimum value to scale by when the adjustment type is @@ -4660,6 +4633,33 @@ export interface PutScalingPolicyType { * Amazon EC2 Auto Scaling User Guide.

              */ Enabled?: boolean; + + /** + *

              The duration of the policy's cooldown period, in seconds. When a cooldown period is + * specified here, it overrides the default cooldown period defined for the Auto Scaling + * group.

              + *

              Valid only if the policy type is SimpleScaling. For more information, see + * Scaling + * Cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

              + */ + Cooldown?: number; + + /** + *

              A set of adjustments that enable you to scale based on the size of the alarm + * breach.

              + *

              Required if the policy type is StepScaling. (Not used with any other + * policy type.)

              + */ + StepAdjustments?: StepAdjustment[]; + + /** + *

              Specifies how the scaling adjustment is interpreted (for example, an absolute number + * or a percentage). The valid values are ChangeInCapacity, + * ExactCapacity, and PercentChangeInCapacity.

              + *

              Required if the policy type is StepScaling or SimpleScaling. + * For more information, see Scaling Adjustment Types in the Amazon EC2 Auto Scaling User Guide.

              + */ + AdjustmentType?: string; } export namespace PutScalingPolicyType { @@ -4670,15 +4670,9 @@ export namespace PutScalingPolicyType { export interface PutScheduledUpdateGroupActionType { /** - *

              The recurring schedule for this action, in Unix cron syntax format. This format - * consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] - * [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, "30 0 1 - * 1,6,12 *"). For more information about this format, see Crontab.

              - *

              When StartTime and EndTime are specified with - * Recurrence, they form the boundaries of when the recurring action - * starts and stops.

              + *

              The maximum size of the Auto Scaling group.

              */ - Recurrence?: string; + MaxSize?: number; /** *

              The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling does not perform the @@ -4687,31 +4681,37 @@ export interface PutScheduledUpdateGroupActionType { EndTime?: Date; /** - *

              The maximum size of the Auto Scaling group.

              + *

              The desired capacity is the initial capacity of the Auto Scaling group after the scheduled + * action runs and the capacity it attempts to maintain. It can scale beyond this capacity + * if you add more scaling conditions.

              */ - MaxSize?: number; + DesiredCapacity?: number; /** - *

              The minimum size of the Auto Scaling group.

              + *

              The recurring schedule for this action, in Unix cron syntax format. This format + * consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] + * [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, "30 0 1 + * 1,6,12 *"). For more information about this format, see Crontab.

              + *

              When StartTime and EndTime are specified with + * Recurrence, they form the boundaries of when the recurring action + * starts and stops.

              */ - MinSize?: number; + Recurrence?: string; /** - *

              The name of this scaling action.

              + *

              This parameter is no longer used.

              */ - ScheduledActionName: string | undefined; + Time?: Date; /** - *

              The name of the Auto Scaling group.

              + *

              The minimum size of the Auto Scaling group.

              */ - AutoScalingGroupName: string | undefined; + MinSize?: number; /** - *

              The desired capacity is the initial capacity of the Auto Scaling group after the scheduled - * action runs and the capacity it attempts to maintain. It can scale beyond this capacity - * if you add more scaling conditions.

              + *

              The name of this scaling action.

              */ - DesiredCapacity?: number; + ScheduledActionName: string | undefined; /** *

              The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT @@ -4725,9 +4725,9 @@ export interface PutScheduledUpdateGroupActionType { StartTime?: Date; /** - *

              This parameter is no longer used.

              + *

              The name of the Auto Scaling group.

              */ - Time?: Date; + AutoScalingGroupName: string | undefined; } export namespace PutScheduledUpdateGroupActionType { @@ -4750,6 +4750,11 @@ export interface RecordLifecycleActionHeartbeatType { */ InstanceId?: string; + /** + *

              The name of the Auto Scaling group.

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

              The name of the lifecycle hook.

              */ @@ -4761,11 +4766,6 @@ export interface RecordLifecycleActionHeartbeatType { * you created the lifecycle hook.

              */ LifecycleActionToken?: string; - - /** - *

              The name of the Auto Scaling group.

              - */ - AutoScalingGroupName: string | undefined; } export namespace RecordLifecycleActionHeartbeatType { @@ -4775,6 +4775,11 @@ export namespace RecordLifecycleActionHeartbeatType { } export interface ScalingProcessQuery { + /** + *

              The name of the Auto Scaling group.

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

              One or more of the following processes:

              *
                @@ -4827,11 +4832,6 @@ export interface ScalingProcessQuery { *

                If you omit this parameter, all processes are specified.

                */ ScalingProcesses?: string[]; - - /** - *

                The name of the Auto Scaling group.

                - */ - AutoScalingGroupName: string | undefined; } export namespace ScalingProcessQuery { @@ -4841,6 +4841,11 @@ export namespace ScalingProcessQuery { } export interface SetDesiredCapacityType { + /** + *

                The name of the Auto Scaling group.

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

                Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before initiating * a scaling activity to set your Auto Scaling group to its new capacity. By default, Amazon EC2 Auto Scaling does @@ -4853,11 +4858,6 @@ export interface SetDesiredCapacityType { * completes and the capacity it attempts to maintain.

                */ DesiredCapacity: number | undefined; - - /** - *

                The name of the Auto Scaling group.

                - */ - AutoScalingGroupName: string | undefined; } export namespace SetDesiredCapacityType { @@ -4867,18 +4867,6 @@ export namespace SetDesiredCapacityType { } export interface SetInstanceHealthQuery { - /** - *

                If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod - * specified for the group, by default, this call respects the grace period. Set this to - * False, to have the call not respect the grace period associated with - * the group.

                - * - *

                For more information about the health check grace - * period, see CreateAutoScalingGroup in the Amazon EC2 Auto Scaling API - * Reference.

                - */ - ShouldRespectGracePeriod?: boolean; - /** *

                The ID of the instance.

                */ @@ -4890,6 +4878,18 @@ export interface SetInstanceHealthQuery { * Amazon EC2 Auto Scaling terminates and replaces the unhealthy instance.

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

                If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod + * specified for the group, by default, this call respects the grace period. Set this to + * False, to have the call not respect the grace period associated with + * the group.

                + * + *

                For more information about the health check grace + * period, see CreateAutoScalingGroup in the Amazon EC2 Auto Scaling API + * Reference.

                + */ + ShouldRespectGracePeriod?: boolean; } export namespace SetInstanceHealthQuery { @@ -4913,15 +4913,15 @@ export interface SetInstanceProtectionQuery { AutoScalingGroupName: string | undefined; /** - *

                Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling - * in.

                + *

                One or more instance IDs.

                */ - ProtectedFromScaleIn: boolean | undefined; + InstanceIds: string[] | undefined; /** - *

                One or more instance IDs.

                + *

                Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling + * in.

                */ - InstanceIds: string[] | undefined; + ProtectedFromScaleIn: boolean | undefined; } export namespace SetInstanceProtectionQuery { @@ -4963,14 +4963,6 @@ export namespace StartInstanceRefreshAnswer { *

                Describes information used to start an instance refresh.

                */ export interface RefreshPreferences { - /** - *

                The amount of capacity in the Auto Scaling group that must remain healthy during an instance - * refresh to allow the operation to continue, as a percentage of the desired capacity of - * the Auto Scaling group (rounded up to the nearest integer). The default is 90. - *

                - */ - MinHealthyPercentage?: number; - /** *

                The number of seconds until a newly launched instance is configured and ready to use. * During this time, Amazon EC2 Auto Scaling does not immediately move on to the next replacement. The @@ -4978,6 +4970,14 @@ export interface RefreshPreferences { * group.

                */ InstanceWarmup?: number; + + /** + *

                The amount of capacity in the Auto Scaling group that must remain healthy during an instance + * refresh to allow the operation to continue, as a percentage of the desired capacity of + * the Auto Scaling group (rounded up to the nearest integer). The default is 90. + *

                + */ + MinHealthyPercentage?: number; } export namespace RefreshPreferences { @@ -5001,11 +5001,6 @@ export interface StartInstanceRefreshType { */ Preferences?: RefreshPreferences; - /** - *

                The name of the Auto Scaling group.

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

                The strategy to use for the instance refresh. The only valid value is * Rolling.

                @@ -5016,6 +5011,11 @@ export interface StartInstanceRefreshType { * previous configuration.

                */ Strategy?: RefreshStrategy | string; + + /** + *

                The name of the Auto Scaling group.

                + */ + AutoScalingGroupName: string | undefined; } export namespace StartInstanceRefreshType { @@ -5045,49 +5045,44 @@ export namespace TerminateInstanceInAutoScalingGroupType { export interface UpdateAutoScalingGroupType { /** - *

                The desired capacity is the initial capacity of the Auto Scaling group after this operation - * completes and the capacity it attempts to maintain.

                - *

                This number must be greater than or equal to the minimum size of the group and less - * than or equal to the maximum size of the group.

                - */ - DesiredCapacity?: number; - - /** - *

                The name of the placement group into which to launch your instances, if any. A - * placement group is a logical grouping of instances within a single Availability Zone. - * You cannot specify multiple Availability Zones and a placement group. For more - * information, see Placement Groups in the - * Amazon EC2 User Guide for Linux Instances.

                + *

                One or more Availability Zones for the group.

                */ - PlacementGroup?: string; + AvailabilityZones?: string[]; /** - *

                Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling - * when scaling in.

                - *

                For more information about preventing instances from terminating on scale in, see - * Instance Protection in the Amazon EC2 Auto Scaling User Guide.

                + *

                The name of the launch configuration. If you specify + * LaunchConfigurationName in your update request, you can't specify + * LaunchTemplate or MixedInstancesPolicy.

                */ - NewInstancesProtectedFromScaleIn?: boolean; + LaunchConfigurationName?: string; /** - *

                The service to use for the health checks. The valid values are EC2 and - * ELB. If you configure an Auto Scaling group to use ELB health checks, it - * considers the instance unhealthy if it fails either the EC2 status checks or the load - * balancer health checks.

                + *

                The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to + * call other AWS services on your behalf. For more information, see Service-Linked + * Roles in the Amazon EC2 Auto Scaling User Guide.

                */ - HealthCheckType?: string; + ServiceLinkedRoleARN?: string; /** - *

                The name of the Auto Scaling group.

                + *

                A comma-separated list of subnet IDs for virtual private cloud (VPC).

                + *

                If you specify VPCZoneIdentifier with AvailabilityZones, the + * subnets that you specify for this parameter must reside in those Availability + * Zones.

                */ - AutoScalingGroupName: string | undefined; + VPCZoneIdentifier?: string; /** - *

                The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to - * call other AWS services on your behalf. For more information, see Service-Linked - * Roles in the Amazon EC2 Auto Scaling User Guide.

                + *

                An embedded object that specifies a mixed instances policy.

                + *

                In your call to UpdateAutoScalingGroup, you can make changes to the + * policy that is specified. All optional parameters are left unchanged if not + * specified.

                + * + *

                For more information, see MixedInstancesPolicy in the Amazon EC2 Auto Scaling API Reference and + * Auto Scaling Groups with Multiple + * Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User + * Guide.

                */ - ServiceLinkedRoleARN?: string; + MixedInstancesPolicy?: MixedInstancesPolicy; /** *

                A standalone termination policy or a list of termination policies used to select the @@ -5099,35 +5094,63 @@ export interface UpdateAutoScalingGroupType { */ TerminationPolicies?: string[]; + /** + *

                The maximum amount of time, in seconds, that an instance can be in service. The + * default is null.

                + *

                This parameter is optional, but if you specify a value for it, you must specify a + * value of at least 604,800 seconds (7 days). To clear a previously set value, specify a + * new value of 0.

                + *

                For more information, see Replacing Auto Scaling + * Instances Based on Maximum Instance Lifetime in the + * Amazon EC2 Auto Scaling User Guide.

                + *

                Valid Range: Minimum value of 0.

                + */ + MaxInstanceLifetime?: number; + + /** + *

                The service to use for the health checks. The valid values are EC2 and + * ELB. If you configure an Auto Scaling group to use ELB health checks, it + * considers the instance unhealthy if it fails either the EC2 status checks or the load + * balancer health checks.

                + */ + HealthCheckType?: string; + + /** + *

                The launch template and version to use to specify the updates. If you specify + * LaunchTemplate in your update request, you can't specify + * LaunchConfigurationName or MixedInstancesPolicy.

                + *

                For more information, see LaunchTemplateSpecification in the Amazon EC2 Auto Scaling API + * Reference.

                + */ + LaunchTemplate?: LaunchTemplateSpecification; + /** *

                The minimum size of the Auto Scaling group.

                */ MinSize?: number; /** - *

                One or more Availability Zones for the group.

                + *

                The name of the placement group into which to launch your instances, if any. A + * placement group is a logical grouping of instances within a single Availability Zone. + * You cannot specify multiple Availability Zones and a placement group. For more + * information, see Placement Groups in the + * Amazon EC2 User Guide for Linux Instances.

                */ - AvailabilityZones?: string[]; + PlacementGroup?: string; /** - *

                The name of the launch configuration. If you specify - * LaunchConfigurationName in your update request, you can't specify - * LaunchTemplate or MixedInstancesPolicy.

                + *

                The amount of time, in seconds, after a scaling activity completes before another + * scaling activity can start. The default value is 300.

                + *

                This setting applies when using simple scaling policies, but not when using other + * scaling policies or scheduled scaling. For more information, see Scaling Cooldowns + * for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

                */ - LaunchConfigurationName?: string; + DefaultCooldown?: number; /** - *

                An embedded object that specifies a mixed instances policy.

                - *

                In your call to UpdateAutoScalingGroup, you can make changes to the - * policy that is specified. All optional parameters are left unchanged if not - * specified.

                - * - *

                For more information, see MixedInstancesPolicy in the Amazon EC2 Auto Scaling API Reference and - * Auto Scaling Groups with Multiple - * Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User - * Guide.

                + *

                The name of the Auto Scaling group.

                */ - MixedInstancesPolicy?: MixedInstancesPolicy; + AutoScalingGroupName: string | undefined; /** *

                The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status @@ -5140,17 +5163,20 @@ export interface UpdateAutoScalingGroupType { HealthCheckGracePeriod?: number; /** - *

                The maximum amount of time, in seconds, that an instance can be in service. The - * default is null.

                - *

                This parameter is optional, but if you specify a value for it, you must specify a - * value of at least 604,800 seconds (7 days). To clear a previously set value, specify a - * new value of 0.

                - *

                For more information, see Replacing Auto Scaling - * Instances Based on Maximum Instance Lifetime in the - * Amazon EC2 Auto Scaling User Guide.

                - *

                Valid Range: Minimum value of 0.

                + *

                Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling + * when scaling in.

                + *

                For more information about preventing instances from terminating on scale in, see + * Instance Protection in the Amazon EC2 Auto Scaling User Guide.

                */ - MaxInstanceLifetime?: number; + NewInstancesProtectedFromScaleIn?: boolean; + + /** + *

                The desired capacity is the initial capacity of the Auto Scaling group after this operation + * completes and the capacity it attempts to maintain.

                + *

                This number must be greater than or equal to the minimum size of the group and less + * than or equal to the maximum size of the group.

                + */ + DesiredCapacity?: number; /** *

                The maximum size of the Auto Scaling group.

                @@ -5163,32 +5189,6 @@ export interface UpdateAutoScalingGroupType { * */ MaxSize?: number; - - /** - *

                The amount of time, in seconds, after a scaling activity completes before another - * scaling activity can start. The default value is 300.

                - *

                This setting applies when using simple scaling policies, but not when using other - * scaling policies or scheduled scaling. For more information, see Scaling Cooldowns - * for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

                - */ - DefaultCooldown?: number; - - /** - *

                A comma-separated list of subnet IDs for virtual private cloud (VPC).

                - *

                If you specify VPCZoneIdentifier with AvailabilityZones, the - * subnets that you specify for this parameter must reside in those Availability - * Zones.

                - */ - VPCZoneIdentifier?: string; - - /** - *

                The launch template and version to use to specify the updates. If you specify - * LaunchTemplate in your update request, you can't specify - * LaunchConfigurationName or MixedInstancesPolicy.

                - *

                For more information, see LaunchTemplateSpecification in the Amazon EC2 Auto Scaling API - * Reference.

                - */ - LaunchTemplate?: LaunchTemplateSpecification; } export namespace UpdateAutoScalingGroupType { diff --git a/clients/client-auto-scaling/protocols/Aws_query.ts b/clients/client-auto-scaling/protocols/Aws_query.ts index c3b86246f0f1..e04156d1628b 100644 --- a/clients/client-auto-scaling/protocols/Aws_query.ts +++ b/clients/client-auto-scaling/protocols/Aws_query.ts @@ -4809,6 +4809,9 @@ const serializeAws_queryAttachInstancesQuery = (input: AttachInstancesQuery, con const serializeAws_queryAttachLoadBalancersType = (input: AttachLoadBalancersType, context: __SerdeContext): any => { const entries: any = {}; + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } if (input.LoadBalancerNames !== undefined) { const memberEntries = serializeAws_queryLoadBalancerNames(input.LoadBalancerNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4816,9 +4819,6 @@ const serializeAws_queryAttachLoadBalancersType = (input: AttachLoadBalancersTyp entries[loc] = value; }); } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } return entries; }; @@ -4827,9 +4827,6 @@ const serializeAws_queryAttachLoadBalancerTargetGroupsType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } if (input.TargetGroupARNs !== undefined) { const memberEntries = serializeAws_queryTargetGroupARNs(input.TargetGroupARNs, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4837,6 +4834,9 @@ const serializeAws_queryAttachLoadBalancerTargetGroupsType = ( entries[loc] = value; }); } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } return entries; }; @@ -4858,6 +4858,9 @@ const serializeAws_queryAutoScalingGroupNamesType = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.AutoScalingGroupNames !== undefined) { const memberEntries = serializeAws_queryAutoScalingGroupNames(input.AutoScalingGroupNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4865,9 +4868,6 @@ const serializeAws_queryAutoScalingGroupNamesType = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -4896,6 +4896,9 @@ const serializeAws_queryBatchDeleteScheduledActionType = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } if (input.ScheduledActionNames !== undefined) { const memberEntries = serializeAws_queryScheduledActionNames(input.ScheduledActionNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4903,9 +4906,6 @@ const serializeAws_queryBatchDeleteScheduledActionType = ( entries[loc] = value; }); } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } return entries; }; @@ -4932,11 +4932,14 @@ const serializeAws_queryBatchPutScheduledUpdateGroupActionType = ( const serializeAws_queryBlockDeviceMapping = (input: BlockDeviceMapping, context: __SerdeContext): any => { const entries: any = {}; + if (input.NoDevice !== undefined) { + entries["NoDevice"] = input.NoDevice; + } if (input.VirtualName !== undefined) { entries["VirtualName"] = input.VirtualName; } - if (input.NoDevice !== undefined) { - entries["NoDevice"] = input.NoDevice; + if (input.DeviceName !== undefined) { + entries["DeviceName"] = input.DeviceName; } if (input.Ebs !== undefined) { const memberEntries = serializeAws_queryEbs(input.Ebs, context); @@ -4945,9 +4948,6 @@ const serializeAws_queryBlockDeviceMapping = (input: BlockDeviceMapping, context entries[loc] = value; }); } - if (input.DeviceName !== undefined) { - entries["DeviceName"] = input.DeviceName; - } return entries; }; @@ -4990,20 +4990,20 @@ const serializeAws_queryCompleteLifecycleActionType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LifecycleActionToken !== undefined) { - entries["LifecycleActionToken"] = input.LifecycleActionToken; - } - if (input.LifecycleHookName !== undefined) { - entries["LifecycleHookName"] = input.LifecycleHookName; - } if (input.AutoScalingGroupName !== undefined) { entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; + } + if (input.LifecycleActionToken !== undefined) { + entries["LifecycleActionToken"] = input.LifecycleActionToken; + } if (input.LifecycleActionResult !== undefined) { entries["LifecycleActionResult"] = input.LifecycleActionResult; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.LifecycleHookName !== undefined) { + entries["LifecycleHookName"] = input.LifecycleHookName; } return entries; }; @@ -5013,83 +5013,83 @@ const serializeAws_queryCreateAutoScalingGroupType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MinSize !== undefined) { - entries["MinSize"] = input.MinSize; + if (input.ServiceLinkedRoleARN !== undefined) { + entries["ServiceLinkedRoleARN"] = input.ServiceLinkedRoleARN; } - if (input.PlacementGroup !== undefined) { - entries["PlacementGroup"] = input.PlacementGroup; + if (input.MaxSize !== undefined) { + entries["MaxSize"] = input.MaxSize; } - if (input.LaunchTemplate !== undefined) { - const memberEntries = serializeAws_queryLaunchTemplateSpecification(input.LaunchTemplate, context); + if (input.LoadBalancerNames !== undefined) { + const memberEntries = serializeAws_queryLoadBalancerNames(input.LoadBalancerNames, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LaunchTemplate.${key}`; + const loc = `LoadBalancerNames.${key}`; entries[loc] = value; }); } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTags(input.Tags, context); + if (input.LifecycleHookSpecificationList !== undefined) { + const memberEntries = serializeAws_queryLifecycleHookSpecifications(input.LifecycleHookSpecificationList, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `LifecycleHookSpecificationList.${key}`; entries[loc] = value; }); } - if (input.TerminationPolicies !== undefined) { - const memberEntries = serializeAws_queryTerminationPolicies(input.TerminationPolicies, context); + if (input.AvailabilityZones !== undefined) { + const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TerminationPolicies.${key}`; + const loc = `AvailabilityZones.${key}`; entries[loc] = value; }); } - if (input.HealthCheckType !== undefined) { - entries["HealthCheckType"] = input.HealthCheckType; - } - if (input.DefaultCooldown !== undefined) { - entries["DefaultCooldown"] = input.DefaultCooldown; - } - if (input.DesiredCapacity !== undefined) { - entries["DesiredCapacity"] = input.DesiredCapacity; - } - if (input.HealthCheckGracePeriod !== undefined) { - entries["HealthCheckGracePeriod"] = input.HealthCheckGracePeriod; - } if (input.NewInstancesProtectedFromScaleIn !== undefined) { entries["NewInstancesProtectedFromScaleIn"] = input.NewInstancesProtectedFromScaleIn; } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } - if (input.ServiceLinkedRoleARN !== undefined) { - entries["ServiceLinkedRoleARN"] = input.ServiceLinkedRoleARN; + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; } - if (input.AvailabilityZones !== undefined) { - const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); + if (input.TargetGroupARNs !== undefined) { + const memberEntries = serializeAws_queryTargetGroupARNs(input.TargetGroupARNs, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AvailabilityZones.${key}`; + const loc = `TargetGroupARNs.${key}`; entries[loc] = value; }); } + if (input.VPCZoneIdentifier !== undefined) { + entries["VPCZoneIdentifier"] = input.VPCZoneIdentifier; + } + if (input.MaxInstanceLifetime !== undefined) { + entries["MaxInstanceLifetime"] = input.MaxInstanceLifetime; + } if (input.LaunchConfigurationName !== undefined) { entries["LaunchConfigurationName"] = input.LaunchConfigurationName; } - if (input.LoadBalancerNames !== undefined) { - const memberEntries = serializeAws_queryLoadBalancerNames(input.LoadBalancerNames, context); + if (input.TerminationPolicies !== undefined) { + const memberEntries = serializeAws_queryTerminationPolicies(input.TerminationPolicies, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LoadBalancerNames.${key}`; + const loc = `TerminationPolicies.${key}`; entries[loc] = value; }); } - if (input.LifecycleHookSpecificationList !== undefined) { - const memberEntries = serializeAws_queryLifecycleHookSpecifications(input.LifecycleHookSpecificationList, context); + if (input.DefaultCooldown !== undefined) { + entries["DefaultCooldown"] = input.DefaultCooldown; + } + if (input.HealthCheckType !== undefined) { + entries["HealthCheckType"] = input.HealthCheckType; + } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } + if (input.MinSize !== undefined) { + entries["MinSize"] = input.MinSize; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTags(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LifecycleHookSpecificationList.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.MaxSize !== undefined) { - entries["MaxSize"] = input.MaxSize; - } - if (input.MaxInstanceLifetime !== undefined) { - entries["MaxInstanceLifetime"] = input.MaxInstanceLifetime; + if (input.HealthCheckGracePeriod !== undefined) { + entries["HealthCheckGracePeriod"] = input.HealthCheckGracePeriod; } if (input.MixedInstancesPolicy !== undefined) { const memberEntries = serializeAws_queryMixedInstancesPolicy(input.MixedInstancesPolicy, context); @@ -5098,16 +5098,16 @@ const serializeAws_queryCreateAutoScalingGroupType = ( entries[loc] = value; }); } - if (input.VPCZoneIdentifier !== undefined) { - entries["VPCZoneIdentifier"] = input.VPCZoneIdentifier; + if (input.PlacementGroup !== undefined) { + entries["PlacementGroup"] = input.PlacementGroup; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.DesiredCapacity !== undefined) { + entries["DesiredCapacity"] = input.DesiredCapacity; } - if (input.TargetGroupARNs !== undefined) { - const memberEntries = serializeAws_queryTargetGroupARNs(input.TargetGroupARNs, context); + if (input.LaunchTemplate !== undefined) { + const memberEntries = serializeAws_queryLaunchTemplateSpecification(input.LaunchTemplate, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TargetGroupARNs.${key}`; + const loc = `LaunchTemplate.${key}`; entries[loc] = value; }); } @@ -5119,21 +5119,33 @@ const serializeAws_queryCreateLaunchConfigurationType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.IamInstanceProfile !== undefined) { - entries["IamInstanceProfile"] = input.IamInstanceProfile; + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; } - if (input.RamdiskId !== undefined) { - entries["RamdiskId"] = input.RamdiskId; + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; } - if (input.BlockDeviceMappings !== undefined) { - const memberEntries = serializeAws_queryBlockDeviceMappings(input.BlockDeviceMappings, context); + if (input.AssociatePublicIpAddress !== undefined) { + entries["AssociatePublicIpAddress"] = input.AssociatePublicIpAddress; + } + if (input.EbsOptimized !== undefined) { + entries["EbsOptimized"] = input.EbsOptimized; + } + if (input.InstanceMonitoring !== undefined) { + const memberEntries = serializeAws_queryInstanceMonitoring(input.InstanceMonitoring, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BlockDeviceMappings.${key}`; + const loc = `InstanceMonitoring.${key}`; entries[loc] = value; }); } - if (input.KernelId !== undefined) { - entries["KernelId"] = input.KernelId; + if (input.PlacementTenancy !== undefined) { + entries["PlacementTenancy"] = input.PlacementTenancy; + } + if (input.SpotPrice !== undefined) { + entries["SpotPrice"] = input.SpotPrice; + } + if (input.RamdiskId !== undefined) { + entries["RamdiskId"] = input.RamdiskId; } if (input.MetadataOptions !== undefined) { const memberEntries = serializeAws_queryInstanceMetadataOptions(input.MetadataOptions, context); @@ -5142,17 +5154,33 @@ const serializeAws_queryCreateLaunchConfigurationType = ( entries[loc] = value; }); } - if (input.EbsOptimized !== undefined) { - entries["EbsOptimized"] = input.EbsOptimized; + if (input.LaunchConfigurationName !== undefined) { + entries["LaunchConfigurationName"] = input.LaunchConfigurationName; + } + if (input.ImageId !== undefined) { + entries["ImageId"] = input.ImageId; + } + if (input.BlockDeviceMappings !== undefined) { + const memberEntries = serializeAws_queryBlockDeviceMappings(input.BlockDeviceMappings, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `BlockDeviceMappings.${key}`; + entries[loc] = value; + }); + } + if (input.IamInstanceProfile !== undefined) { + entries["IamInstanceProfile"] = input.IamInstanceProfile; } if (input.ClassicLinkVPCId !== undefined) { entries["ClassicLinkVPCId"] = input.ClassicLinkVPCId; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.KeyName !== undefined) { + entries["KeyName"] = input.KeyName; } - if (input.AssociatePublicIpAddress !== undefined) { - entries["AssociatePublicIpAddress"] = input.AssociatePublicIpAddress; + if (input.UserData !== undefined) { + entries["UserData"] = input.UserData; + } + if (input.KernelId !== undefined) { + entries["KernelId"] = input.KernelId; } if (input.ClassicLinkVPCSecurityGroups !== undefined) { const memberEntries = serializeAws_queryClassicLinkVPCSecurityGroups(input.ClassicLinkVPCSecurityGroups, context); @@ -5161,9 +5189,6 @@ const serializeAws_queryCreateLaunchConfigurationType = ( entries[loc] = value; }); } - if (input.PlacementTenancy !== undefined) { - entries["PlacementTenancy"] = input.PlacementTenancy; - } if (input.SecurityGroups !== undefined) { const memberEntries = serializeAws_querySecurityGroups(input.SecurityGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5171,31 +5196,6 @@ const serializeAws_queryCreateLaunchConfigurationType = ( entries[loc] = value; }); } - if (input.LaunchConfigurationName !== undefined) { - entries["LaunchConfigurationName"] = input.LaunchConfigurationName; - } - if (input.SpotPrice !== undefined) { - entries["SpotPrice"] = input.SpotPrice; - } - if (input.UserData !== undefined) { - entries["UserData"] = input.UserData; - } - if (input.KeyName !== undefined) { - entries["KeyName"] = input.KeyName; - } - if (input.ImageId !== undefined) { - entries["ImageId"] = input.ImageId; - } - if (input.InstanceMonitoring !== undefined) { - const memberEntries = serializeAws_queryInstanceMonitoring(input.InstanceMonitoring, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `InstanceMonitoring.${key}`; - entries[loc] = value; - }); - } - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; - } return entries; }; @@ -5216,8 +5216,11 @@ const serializeAws_queryCustomizedMetricSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Namespace !== undefined) { - entries["Namespace"] = input.Namespace; + if (input.Statistic !== undefined) { + entries["Statistic"] = input.Statistic; + } + if (input.MetricName !== undefined) { + entries["MetricName"] = input.MetricName; } if (input.Dimensions !== undefined) { const memberEntries = serializeAws_queryMetricDimensions(input.Dimensions, context); @@ -5226,15 +5229,12 @@ const serializeAws_queryCustomizedMetricSpecification = ( entries[loc] = value; }); } + if (input.Namespace !== undefined) { + entries["Namespace"] = input.Namespace; + } if (input.Unit !== undefined) { entries["Unit"] = input.Unit; } - if (input.Statistic !== undefined) { - entries["Statistic"] = input.Statistic; - } - if (input.MetricName !== undefined) { - entries["MetricName"] = input.MetricName; - } return entries; }; @@ -5243,23 +5243,23 @@ const serializeAws_queryDeleteAutoScalingGroupType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } if (input.ForceDelete !== undefined) { entries["ForceDelete"] = input.ForceDelete; } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } return entries; }; const serializeAws_queryDeleteLifecycleHookType = (input: DeleteLifecycleHookType, context: __SerdeContext): any => { const entries: any = {}; - if (input.LifecycleHookName !== undefined) { - entries["LifecycleHookName"] = input.LifecycleHookName; - } if (input.AutoScalingGroupName !== undefined) { entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } + if (input.LifecycleHookName !== undefined) { + entries["LifecycleHookName"] = input.LifecycleHookName; + } return entries; }; @@ -5279,12 +5279,12 @@ const serializeAws_queryDeleteNotificationConfigurationType = ( const serializeAws_queryDeletePolicyType = (input: DeletePolicyType, context: __SerdeContext): any => { const entries: any = {}; - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } if (input.PolicyName !== undefined) { entries["PolicyName"] = input.PolicyName; } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } return entries; }; @@ -5293,12 +5293,12 @@ const serializeAws_queryDeleteScheduledActionType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } if (input.ScheduledActionName !== undefined) { entries["ScheduledActionName"] = input.ScheduledActionName; } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } return entries; }; @@ -5340,14 +5340,11 @@ const serializeAws_queryDescribeInstanceRefreshesType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } if (input.InstanceRefreshIds !== undefined) { const memberEntries = serializeAws_queryInstanceRefreshIds(input.InstanceRefreshIds, context); @@ -5356,6 +5353,9 @@ const serializeAws_queryDescribeInstanceRefreshesType = ( entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -5364,9 +5364,6 @@ const serializeAws_queryDescribeLifecycleHooksType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } if (input.LifecycleHookNames !== undefined) { const memberEntries = serializeAws_queryLifecycleHookNames(input.LifecycleHookNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5374,6 +5371,9 @@ const serializeAws_queryDescribeLifecycleHooksType = ( entries[loc] = value; }); } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } return entries; }; @@ -5382,12 +5382,12 @@ const serializeAws_queryDescribeLoadBalancersRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.AutoScalingGroupName !== undefined) { entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } @@ -5399,15 +5399,15 @@ const serializeAws_queryDescribeLoadBalancerTargetGroupsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } if (input.AutoScalingGroupName !== undefined) { entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; @@ -5416,9 +5416,6 @@ const serializeAws_queryDescribeNotificationConfigurationsType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } @@ -5429,6 +5426,9 @@ const serializeAws_queryDescribeNotificationConfigurationsType = ( entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -5437,9 +5437,6 @@ const serializeAws_queryDescribePoliciesType = (input: DescribePoliciesType, con if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } if (input.PolicyNames !== undefined) { const memberEntries = serializeAws_queryPolicyNames(input.PolicyNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5447,9 +5444,6 @@ const serializeAws_queryDescribePoliciesType = (input: DescribePoliciesType, con entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.PolicyTypes !== undefined) { const memberEntries = serializeAws_queryPolicyTypes(input.PolicyTypes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5457,6 +5451,12 @@ const serializeAws_queryDescribePoliciesType = (input: DescribePoliciesType, con entries[loc] = value; }); } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } return entries; }; @@ -5465,9 +5465,15 @@ const serializeAws_queryDescribeScalingActivitiesType = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } if (input.ActivityIds !== undefined) { const memberEntries = serializeAws_queryActivityIds(input.ActivityIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5475,12 +5481,6 @@ const serializeAws_queryDescribeScalingActivitiesType = ( entries[loc] = value; }); } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; @@ -5489,28 +5489,28 @@ const serializeAws_queryDescribeScheduledActionsType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ScheduledActionNames !== undefined) { - const memberEntries = serializeAws_queryScheduledActionNames(input.ScheduledActionNames, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ScheduledActionNames.${key}`; - entries[loc] = value; - }); - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; - } if (input.AutoScalingGroupName !== undefined) { entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } 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.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.ScheduledActionNames !== undefined) { + const memberEntries = serializeAws_queryScheduledActionNames(input.ScheduledActionNames, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ScheduledActionNames.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -5519,9 +5519,6 @@ const serializeAws_queryDescribeTagsType = (input: DescribeTagsType, context: __ if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilters(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5529,6 +5526,9 @@ const serializeAws_queryDescribeTagsType = (input: DescribeTagsType, context: __ entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -5552,6 +5552,9 @@ const serializeAws_queryDetachInstancesQuery = (input: DetachInstancesQuery, con const serializeAws_queryDetachLoadBalancersType = (input: DetachLoadBalancersType, context: __SerdeContext): any => { const entries: any = {}; + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } if (input.LoadBalancerNames !== undefined) { const memberEntries = serializeAws_queryLoadBalancerNames(input.LoadBalancerNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5559,9 +5562,6 @@ const serializeAws_queryDetachLoadBalancersType = (input: DetachLoadBalancersTyp entries[loc] = value; }); } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } return entries; }; @@ -5603,17 +5603,14 @@ const serializeAws_queryDisableMetricsCollectionQuery = ( const serializeAws_queryEbs = (input: Ebs, context: __SerdeContext): any => { const entries: any = {}; - if (input.DeleteOnTermination !== undefined) { - entries["DeleteOnTermination"] = input.DeleteOnTermination; + if (input.VolumeSize !== undefined) { + entries["VolumeSize"] = input.VolumeSize; } if (input.Encrypted !== undefined) { entries["Encrypted"] = input.Encrypted; } - if (input.VolumeSize !== undefined) { - entries["VolumeSize"] = input.VolumeSize; - } - if (input.VolumeType !== undefined) { - entries["VolumeType"] = input.VolumeType; + if (input.DeleteOnTermination !== undefined) { + entries["DeleteOnTermination"] = input.DeleteOnTermination; } if (input.SnapshotId !== undefined) { entries["SnapshotId"] = input.SnapshotId; @@ -5621,6 +5618,9 @@ const serializeAws_queryEbs = (input: Ebs, context: __SerdeContext): any => { if (input.Iops !== undefined) { entries["Iops"] = input.Iops; } + if (input.VolumeType !== undefined) { + entries["VolumeType"] = input.VolumeType; + } return entries; }; @@ -5632,9 +5632,6 @@ const serializeAws_queryEnableMetricsCollectionQuery = ( if (input.Granularity !== undefined) { entries["Granularity"] = input.Granularity; } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } if (input.Metrics !== undefined) { const memberEntries = serializeAws_queryMetrics(input.Metrics, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5642,11 +5639,17 @@ const serializeAws_queryEnableMetricsCollectionQuery = ( entries[loc] = value; }); } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } return entries; }; const serializeAws_queryEnterStandbyQuery = (input: EnterStandbyQuery, context: __SerdeContext): any => { const entries: any = {}; + if (input.ShouldDecrementDesiredCapacity !== undefined) { + entries["ShouldDecrementDesiredCapacity"] = input.ShouldDecrementDesiredCapacity; + } if (input.InstanceIds !== undefined) { const memberEntries = serializeAws_queryInstanceIds(input.InstanceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5657,37 +5660,31 @@ const serializeAws_queryEnterStandbyQuery = (input: EnterStandbyQuery, context: if (input.AutoScalingGroupName !== undefined) { entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } - if (input.ShouldDecrementDesiredCapacity !== undefined) { - entries["ShouldDecrementDesiredCapacity"] = input.ShouldDecrementDesiredCapacity; - } return entries; }; const serializeAws_queryExecutePolicyType = (input: ExecutePolicyType, context: __SerdeContext): any => { const entries: any = {}; - if (input.MetricValue !== undefined) { - entries["MetricValue"] = input.MetricValue; - } - if (input.HonorCooldown !== undefined) { - entries["HonorCooldown"] = input.HonorCooldown; - } if (input.AutoScalingGroupName !== undefined) { entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } + if (input.BreachThreshold !== undefined) { + entries["BreachThreshold"] = input.BreachThreshold; + } if (input.PolicyName !== undefined) { entries["PolicyName"] = input.PolicyName; } - if (input.BreachThreshold !== undefined) { - entries["BreachThreshold"] = input.BreachThreshold; + if (input.HonorCooldown !== undefined) { + entries["HonorCooldown"] = input.HonorCooldown; + } + if (input.MetricValue !== undefined) { + entries["MetricValue"] = input.MetricValue; } return entries; }; const serializeAws_queryExitStandbyQuery = (input: ExitStandbyQuery, context: __SerdeContext): any => { const entries: any = {}; - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } if (input.InstanceIds !== undefined) { const memberEntries = serializeAws_queryInstanceIds(input.InstanceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5695,6 +5692,9 @@ const serializeAws_queryExitStandbyQuery = (input: ExitStandbyQuery, context: __ entries[loc] = value; }); } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } return entries; }; @@ -5738,15 +5738,15 @@ const serializeAws_queryInstanceIds = (input: string[], context: __SerdeContext) const serializeAws_queryInstanceMetadataOptions = (input: InstanceMetadataOptions, context: __SerdeContext): any => { const entries: any = {}; - if (input.HttpTokens !== undefined) { - entries["HttpTokens"] = input.HttpTokens; - } if (input.HttpPutResponseHopLimit !== undefined) { entries["HttpPutResponseHopLimit"] = input.HttpPutResponseHopLimit; } if (input.HttpEndpoint !== undefined) { entries["HttpEndpoint"] = input.HttpEndpoint; } + if (input.HttpTokens !== undefined) { + entries["HttpTokens"] = input.HttpTokens; + } return entries; }; @@ -5770,8 +5770,8 @@ const serializeAws_queryInstanceRefreshIds = (input: string[], context: __SerdeC const serializeAws_queryInstancesDistribution = (input: InstancesDistribution, context: __SerdeContext): any => { const entries: any = {}; - if (input.SpotAllocationStrategy !== undefined) { - entries["SpotAllocationStrategy"] = input.SpotAllocationStrategy; + if (input.SpotInstancePools !== undefined) { + entries["SpotInstancePools"] = input.SpotInstancePools; } if (input.SpotMaxPrice !== undefined) { entries["SpotMaxPrice"] = input.SpotMaxPrice; @@ -5779,15 +5779,15 @@ const serializeAws_queryInstancesDistribution = (input: InstancesDistribution, c if (input.OnDemandBaseCapacity !== undefined) { entries["OnDemandBaseCapacity"] = input.OnDemandBaseCapacity; } - if (input.OnDemandPercentageAboveBaseCapacity !== undefined) { - entries["OnDemandPercentageAboveBaseCapacity"] = input.OnDemandPercentageAboveBaseCapacity; - } - if (input.SpotInstancePools !== undefined) { - entries["SpotInstancePools"] = input.SpotInstancePools; + if (input.SpotAllocationStrategy !== undefined) { + entries["SpotAllocationStrategy"] = input.SpotAllocationStrategy; } if (input.OnDemandAllocationStrategy !== undefined) { entries["OnDemandAllocationStrategy"] = input.OnDemandAllocationStrategy; } + if (input.OnDemandPercentageAboveBaseCapacity !== undefined) { + entries["OnDemandPercentageAboveBaseCapacity"] = input.OnDemandPercentageAboveBaseCapacity; + } return entries; }; @@ -5809,6 +5809,9 @@ const serializeAws_queryLaunchConfigurationNamesType = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.LaunchConfigurationNames !== undefined) { const memberEntries = serializeAws_queryLaunchConfigurationNames(input.LaunchConfigurationNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5816,9 +5819,6 @@ const serializeAws_queryLaunchConfigurationNamesType = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; @@ -5835,17 +5835,17 @@ const serializeAws_queryLaunchConfigurationNameType = ( const serializeAws_queryLaunchTemplate = (input: LaunchTemplate, context: __SerdeContext): any => { const entries: any = {}; - if (input.Overrides !== undefined) { - const memberEntries = serializeAws_queryOverrides(input.Overrides, context); + if (input.LaunchTemplateSpecification !== undefined) { + const memberEntries = serializeAws_queryLaunchTemplateSpecification(input.LaunchTemplateSpecification, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Overrides.${key}`; + const loc = `LaunchTemplateSpecification.${key}`; entries[loc] = value; }); } - if (input.LaunchTemplateSpecification !== undefined) { - const memberEntries = serializeAws_queryLaunchTemplateSpecification(input.LaunchTemplateSpecification, context); + if (input.Overrides !== undefined) { + const memberEntries = serializeAws_queryOverrides(input.Overrides, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LaunchTemplateSpecification.${key}`; + const loc = `Overrides.${key}`; entries[loc] = value; }); } @@ -5895,26 +5895,26 @@ const serializeAws_queryLifecycleHookSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.LifecycleHookName !== undefined) { + entries["LifecycleHookName"] = input.LifecycleHookName; + } + if (input.HeartbeatTimeout !== undefined) { + entries["HeartbeatTimeout"] = input.HeartbeatTimeout; + } if (input.NotificationTargetARN !== undefined) { entries["NotificationTargetARN"] = input.NotificationTargetARN; } - if (input.LifecycleTransition !== undefined) { - entries["LifecycleTransition"] = input.LifecycleTransition; - } - if (input.NotificationMetadata !== undefined) { - entries["NotificationMetadata"] = input.NotificationMetadata; + if (input.DefaultResult !== undefined) { + entries["DefaultResult"] = input.DefaultResult; } if (input.RoleARN !== undefined) { entries["RoleARN"] = input.RoleARN; } - if (input.DefaultResult !== undefined) { - entries["DefaultResult"] = input.DefaultResult; - } - if (input.LifecycleHookName !== undefined) { - entries["LifecycleHookName"] = input.LifecycleHookName; + if (input.NotificationMetadata !== undefined) { + entries["NotificationMetadata"] = input.NotificationMetadata; } - if (input.HeartbeatTimeout !== undefined) { - entries["HeartbeatTimeout"] = input.HeartbeatTimeout; + if (input.LifecycleTransition !== undefined) { + entries["LifecycleTransition"] = input.LifecycleTransition; } return entries; }; @@ -5947,12 +5947,12 @@ const serializeAws_queryLoadBalancerNames = (input: string[], context: __SerdeCo const serializeAws_queryMetricDimension = (input: MetricDimension, context: __SerdeContext): any => { const entries: any = {}; - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } if (input.Value !== undefined) { entries["Value"] = input.Value; } + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } return entries; }; @@ -5981,17 +5981,17 @@ const serializeAws_queryMetrics = (input: string[], context: __SerdeContext): an const serializeAws_queryMixedInstancesPolicy = (input: MixedInstancesPolicy, context: __SerdeContext): any => { const entries: any = {}; - if (input.LaunchTemplate !== undefined) { - const memberEntries = serializeAws_queryLaunchTemplate(input.LaunchTemplate, context); + if (input.InstancesDistribution !== undefined) { + const memberEntries = serializeAws_queryInstancesDistribution(input.InstancesDistribution, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LaunchTemplate.${key}`; + const loc = `InstancesDistribution.${key}`; entries[loc] = value; }); } - if (input.InstancesDistribution !== undefined) { - const memberEntries = serializeAws_queryInstancesDistribution(input.InstancesDistribution, context); + if (input.LaunchTemplate !== undefined) { + const memberEntries = serializeAws_queryLaunchTemplate(input.LaunchTemplate, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `InstancesDistribution.${key}`; + const loc = `LaunchTemplate.${key}`; entries[loc] = value; }); } @@ -6036,12 +6036,12 @@ const serializeAws_queryPredefinedMetricSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PredefinedMetricType !== undefined) { - entries["PredefinedMetricType"] = input.PredefinedMetricType; - } if (input.ResourceLabel !== undefined) { entries["ResourceLabel"] = input.ResourceLabel; } + if (input.PredefinedMetricType !== undefined) { + entries["PredefinedMetricType"] = input.PredefinedMetricType; + } return entries; }; @@ -6057,29 +6057,29 @@ const serializeAws_queryProcessNames = (input: string[], context: __SerdeContext const serializeAws_queryPutLifecycleHookType = (input: PutLifecycleHookType, context: __SerdeContext): any => { const entries: any = {}; - if (input.NotificationTargetARN !== undefined) { - entries["NotificationTargetARN"] = input.NotificationTargetARN; - } - if (input.LifecycleHookName !== undefined) { - entries["LifecycleHookName"] = input.LifecycleHookName; + if (input.RoleARN !== undefined) { + entries["RoleARN"] = input.RoleARN; } if (input.AutoScalingGroupName !== undefined) { entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } - if (input.LifecycleTransition !== undefined) { - entries["LifecycleTransition"] = input.LifecycleTransition; + if (input.DefaultResult !== undefined) { + entries["DefaultResult"] = input.DefaultResult; } - if (input.HeartbeatTimeout !== undefined) { - entries["HeartbeatTimeout"] = input.HeartbeatTimeout; + if (input.LifecycleHookName !== undefined) { + entries["LifecycleHookName"] = input.LifecycleHookName; + } + if (input.NotificationTargetARN !== undefined) { + entries["NotificationTargetARN"] = input.NotificationTargetARN; } if (input.NotificationMetadata !== undefined) { entries["NotificationMetadata"] = input.NotificationMetadata; } - if (input.DefaultResult !== undefined) { - entries["DefaultResult"] = input.DefaultResult; + if (input.LifecycleTransition !== undefined) { + entries["LifecycleTransition"] = input.LifecycleTransition; } - if (input.RoleARN !== undefined) { - entries["RoleARN"] = input.RoleARN; + if (input.HeartbeatTimeout !== undefined) { + entries["HeartbeatTimeout"] = input.HeartbeatTimeout; } return entries; }; @@ -6092,9 +6092,6 @@ const serializeAws_queryPutNotificationConfigurationType = ( if (input.AutoScalingGroupName !== undefined) { entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } - if (input.TopicARN !== undefined) { - entries["TopicARN"] = input.TopicARN; - } if (input.NotificationTypes !== undefined) { const memberEntries = serializeAws_queryAutoScalingNotificationTypes(input.NotificationTypes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6102,57 +6099,60 @@ const serializeAws_queryPutNotificationConfigurationType = ( entries[loc] = value; }); } + if (input.TopicARN !== undefined) { + entries["TopicARN"] = input.TopicARN; + } return entries; }; const serializeAws_queryPutScalingPolicyType = (input: PutScalingPolicyType, context: __SerdeContext): any => { const entries: any = {}; - if (input.AdjustmentType !== undefined) { - entries["AdjustmentType"] = input.AdjustmentType; + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } - if (input.StepAdjustments !== undefined) { - const memberEntries = serializeAws_queryStepAdjustments(input.StepAdjustments, context); + if (input.TargetTrackingConfiguration !== undefined) { + const memberEntries = serializeAws_queryTargetTrackingConfiguration(input.TargetTrackingConfiguration, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `StepAdjustments.${key}`; + const loc = `TargetTrackingConfiguration.${key}`; entries[loc] = value; }); } - if (input.PolicyType !== undefined) { - entries["PolicyType"] = input.PolicyType; + if (input.MinAdjustmentStep !== undefined) { + entries["MinAdjustmentStep"] = input.MinAdjustmentStep; + } + if (input.PolicyName !== undefined) { + entries["PolicyName"] = input.PolicyName; + } + if (input.ScalingAdjustment !== undefined) { + entries["ScalingAdjustment"] = input.ScalingAdjustment; } if (input.EstimatedInstanceWarmup !== undefined) { entries["EstimatedInstanceWarmup"] = input.EstimatedInstanceWarmup; } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + if (input.PolicyType !== undefined) { + entries["PolicyType"] = input.PolicyType; } if (input.MetricAggregationType !== undefined) { entries["MetricAggregationType"] = input.MetricAggregationType; } + if (input.MinAdjustmentMagnitude !== undefined) { + entries["MinAdjustmentMagnitude"] = input.MinAdjustmentMagnitude; + } + if (input.Enabled !== undefined) { + entries["Enabled"] = input.Enabled; + } if (input.Cooldown !== undefined) { entries["Cooldown"] = input.Cooldown; } - if (input.MinAdjustmentStep !== undefined) { - entries["MinAdjustmentStep"] = input.MinAdjustmentStep; - } - if (input.TargetTrackingConfiguration !== undefined) { - const memberEntries = serializeAws_queryTargetTrackingConfiguration(input.TargetTrackingConfiguration, context); + if (input.StepAdjustments !== undefined) { + const memberEntries = serializeAws_queryStepAdjustments(input.StepAdjustments, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TargetTrackingConfiguration.${key}`; + const loc = `StepAdjustments.${key}`; entries[loc] = value; }); } - if (input.ScalingAdjustment !== undefined) { - entries["ScalingAdjustment"] = input.ScalingAdjustment; - } - if (input.PolicyName !== undefined) { - entries["PolicyName"] = input.PolicyName; - } - if (input.MinAdjustmentMagnitude !== undefined) { - entries["MinAdjustmentMagnitude"] = input.MinAdjustmentMagnitude; - } - if (input.Enabled !== undefined) { - entries["Enabled"] = input.Enabled; + if (input.AdjustmentType !== undefined) { + entries["AdjustmentType"] = input.AdjustmentType; } return entries; }; @@ -6162,14 +6162,20 @@ const serializeAws_queryPutScheduledUpdateGroupActionType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Recurrence !== undefined) { - entries["Recurrence"] = input.Recurrence; + if (input.MaxSize !== undefined) { + entries["MaxSize"] = input.MaxSize; } if (input.EndTime !== undefined) { entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; } - if (input.MaxSize !== undefined) { - entries["MaxSize"] = input.MaxSize; + if (input.DesiredCapacity !== undefined) { + entries["DesiredCapacity"] = input.DesiredCapacity; + } + if (input.Recurrence !== undefined) { + entries["Recurrence"] = input.Recurrence; + } + if (input.Time !== undefined) { + entries["Time"] = input.Time.toISOString().split(".")[0] + "Z"; } if (input.MinSize !== undefined) { entries["MinSize"] = input.MinSize; @@ -6177,17 +6183,11 @@ const serializeAws_queryPutScheduledUpdateGroupActionType = ( if (input.ScheduledActionName !== undefined) { entries["ScheduledActionName"] = input.ScheduledActionName; } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } - if (input.DesiredCapacity !== undefined) { - entries["DesiredCapacity"] = input.DesiredCapacity; - } if (input.StartTime !== undefined) { entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } - if (input.Time !== undefined) { - entries["Time"] = input.Time.toISOString().split(".")[0] + "Z"; + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } return entries; }; @@ -6200,31 +6200,34 @@ const serializeAws_queryRecordLifecycleActionHeartbeatType = ( if (input.InstanceId !== undefined) { entries["InstanceId"] = input.InstanceId; } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } if (input.LifecycleHookName !== undefined) { entries["LifecycleHookName"] = input.LifecycleHookName; } if (input.LifecycleActionToken !== undefined) { entries["LifecycleActionToken"] = input.LifecycleActionToken; } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } return entries; }; const serializeAws_queryRefreshPreferences = (input: RefreshPreferences, context: __SerdeContext): any => { const entries: any = {}; - if (input.MinHealthyPercentage !== undefined) { - entries["MinHealthyPercentage"] = input.MinHealthyPercentage; - } if (input.InstanceWarmup !== undefined) { entries["InstanceWarmup"] = input.InstanceWarmup; } + if (input.MinHealthyPercentage !== undefined) { + entries["MinHealthyPercentage"] = input.MinHealthyPercentage; + } return entries; }; const serializeAws_queryScalingProcessQuery = (input: ScalingProcessQuery, context: __SerdeContext): any => { const entries: any = {}; + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } if (input.ScalingProcesses !== undefined) { const memberEntries = serializeAws_queryProcessNames(input.ScalingProcesses, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6232,9 +6235,6 @@ const serializeAws_queryScalingProcessQuery = (input: ScalingProcessQuery, conte entries[loc] = value; }); } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } return entries; }; @@ -6253,27 +6253,27 @@ const serializeAws_queryScheduledUpdateGroupActionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + } + if (input.MaxSize !== undefined) { + entries["MaxSize"] = input.MaxSize; + } if (input.Recurrence !== undefined) { entries["Recurrence"] = input.Recurrence; } - if (input.MinSize !== undefined) { - entries["MinSize"] = input.MinSize; + if (input.DesiredCapacity !== undefined) { + entries["DesiredCapacity"] = input.DesiredCapacity; } if (input.ScheduledActionName !== undefined) { entries["ScheduledActionName"] = input.ScheduledActionName; } - if (input.MaxSize !== undefined) { - entries["MaxSize"] = input.MaxSize; - } - if (input.EndTime !== undefined) { - entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + if (input.MinSize !== undefined) { + entries["MinSize"] = input.MinSize; } if (input.StartTime !== undefined) { entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } - if (input.DesiredCapacity !== undefined) { - entries["DesiredCapacity"] = input.DesiredCapacity; - } return entries; }; @@ -6305,29 +6305,29 @@ const serializeAws_querySecurityGroups = (input: string[], context: __SerdeConte const serializeAws_querySetDesiredCapacityType = (input: SetDesiredCapacityType, context: __SerdeContext): any => { const entries: any = {}; + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } if (input.HonorCooldown !== undefined) { entries["HonorCooldown"] = input.HonorCooldown; } if (input.DesiredCapacity !== undefined) { entries["DesiredCapacity"] = input.DesiredCapacity; } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } return entries; }; const serializeAws_querySetInstanceHealthQuery = (input: SetInstanceHealthQuery, context: __SerdeContext): any => { const entries: any = {}; - if (input.ShouldRespectGracePeriod !== undefined) { - entries["ShouldRespectGracePeriod"] = input.ShouldRespectGracePeriod; - } if (input.InstanceId !== undefined) { entries["InstanceId"] = input.InstanceId; } if (input.HealthStatus !== undefined) { entries["HealthStatus"] = input.HealthStatus; } + if (input.ShouldRespectGracePeriod !== undefined) { + entries["ShouldRespectGracePeriod"] = input.ShouldRespectGracePeriod; + } return entries; }; @@ -6339,9 +6339,6 @@ const serializeAws_querySetInstanceProtectionQuery = ( if (input.AutoScalingGroupName !== undefined) { entries["AutoScalingGroupName"] = input.AutoScalingGroupName; } - if (input.ProtectedFromScaleIn !== undefined) { - entries["ProtectedFromScaleIn"] = input.ProtectedFromScaleIn; - } if (input.InstanceIds !== undefined) { const memberEntries = serializeAws_queryInstanceIds(input.InstanceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6349,6 +6346,9 @@ const serializeAws_querySetInstanceProtectionQuery = ( entries[loc] = value; }); } + if (input.ProtectedFromScaleIn !== undefined) { + entries["ProtectedFromScaleIn"] = input.ProtectedFromScaleIn; + } return entries; }; @@ -6361,25 +6361,25 @@ const serializeAws_queryStartInstanceRefreshType = (input: StartInstanceRefreshT entries[loc] = value; }); } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } if (input.Strategy !== undefined) { entries["Strategy"] = input.Strategy; } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } return entries; }; const serializeAws_queryStepAdjustment = (input: StepAdjustment, context: __SerdeContext): any => { const entries: any = {}; - if (input.MetricIntervalLowerBound !== undefined) { - entries["MetricIntervalLowerBound"] = input.MetricIntervalLowerBound; + if (input.ScalingAdjustment !== undefined) { + entries["ScalingAdjustment"] = input.ScalingAdjustment; } if (input.MetricIntervalUpperBound !== undefined) { entries["MetricIntervalUpperBound"] = input.MetricIntervalUpperBound; } - if (input.ScalingAdjustment !== undefined) { - entries["ScalingAdjustment"] = input.ScalingAdjustment; + if (input.MetricIntervalLowerBound !== undefined) { + entries["MetricIntervalLowerBound"] = input.MetricIntervalLowerBound; } return entries; }; @@ -6399,20 +6399,20 @@ const serializeAws_queryStepAdjustments = (input: StepAdjustment[], context: __S const serializeAws_queryTag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; + if (input.ResourceId !== undefined) { + entries["ResourceId"] = input.ResourceId; } - if (input.ResourceType !== undefined) { - entries["ResourceType"] = input.ResourceType; + if (input.Key !== undefined) { + entries["Key"] = input.Key; } if (input.PropagateAtLaunch !== undefined) { entries["PropagateAtLaunch"] = input.PropagateAtLaunch; } - if (input.Key !== undefined) { - entries["Key"] = input.Key; + if (input.Value !== undefined) { + entries["Value"] = input.Value; } - if (input.ResourceId !== undefined) { - entries["ResourceId"] = input.ResourceId; + if (input.ResourceType !== undefined) { + entries["ResourceType"] = input.ResourceType; } return entries; }; @@ -6445,16 +6445,6 @@ const serializeAws_queryTargetTrackingConfiguration = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DisableScaleIn !== undefined) { - entries["DisableScaleIn"] = input.DisableScaleIn; - } - if (input.PredefinedMetricSpecification !== undefined) { - const memberEntries = serializeAws_queryPredefinedMetricSpecification(input.PredefinedMetricSpecification, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PredefinedMetricSpecification.${key}`; - entries[loc] = value; - }); - } if (input.CustomizedMetricSpecification !== undefined) { const memberEntries = serializeAws_queryCustomizedMetricSpecification(input.CustomizedMetricSpecification, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6462,9 +6452,19 @@ const serializeAws_queryTargetTrackingConfiguration = ( entries[loc] = value; }); } + if (input.DisableScaleIn !== undefined) { + entries["DisableScaleIn"] = input.DisableScaleIn; + } if (input.TargetValue !== undefined) { entries["TargetValue"] = input.TargetValue; } + if (input.PredefinedMetricSpecification !== undefined) { + const memberEntries = serializeAws_queryPredefinedMetricSpecification(input.PredefinedMetricSpecification, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PredefinedMetricSpecification.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -6497,34 +6497,6 @@ const serializeAws_queryUpdateAutoScalingGroupType = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DesiredCapacity !== undefined) { - entries["DesiredCapacity"] = input.DesiredCapacity; - } - if (input.PlacementGroup !== undefined) { - entries["PlacementGroup"] = input.PlacementGroup; - } - if (input.NewInstancesProtectedFromScaleIn !== undefined) { - entries["NewInstancesProtectedFromScaleIn"] = input.NewInstancesProtectedFromScaleIn; - } - if (input.HealthCheckType !== undefined) { - entries["HealthCheckType"] = input.HealthCheckType; - } - if (input.AutoScalingGroupName !== undefined) { - entries["AutoScalingGroupName"] = input.AutoScalingGroupName; - } - if (input.ServiceLinkedRoleARN !== undefined) { - entries["ServiceLinkedRoleARN"] = input.ServiceLinkedRoleARN; - } - if (input.TerminationPolicies !== undefined) { - const memberEntries = serializeAws_queryTerminationPolicies(input.TerminationPolicies, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TerminationPolicies.${key}`; - entries[loc] = value; - }); - } - if (input.MinSize !== undefined) { - entries["MinSize"] = input.MinSize; - } if (input.AvailabilityZones !== undefined) { const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6535,6 +6507,12 @@ const serializeAws_queryUpdateAutoScalingGroupType = ( if (input.LaunchConfigurationName !== undefined) { entries["LaunchConfigurationName"] = input.LaunchConfigurationName; } + if (input.ServiceLinkedRoleARN !== undefined) { + entries["ServiceLinkedRoleARN"] = input.ServiceLinkedRoleARN; + } + if (input.VPCZoneIdentifier !== undefined) { + entries["VPCZoneIdentifier"] = input.VPCZoneIdentifier; + } if (input.MixedInstancesPolicy !== undefined) { const memberEntries = serializeAws_queryMixedInstancesPolicy(input.MixedInstancesPolicy, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6542,20 +6520,18 @@ const serializeAws_queryUpdateAutoScalingGroupType = ( entries[loc] = value; }); } - if (input.HealthCheckGracePeriod !== undefined) { - entries["HealthCheckGracePeriod"] = input.HealthCheckGracePeriod; + if (input.TerminationPolicies !== undefined) { + const memberEntries = serializeAws_queryTerminationPolicies(input.TerminationPolicies, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TerminationPolicies.${key}`; + entries[loc] = value; + }); } if (input.MaxInstanceLifetime !== undefined) { entries["MaxInstanceLifetime"] = input.MaxInstanceLifetime; } - if (input.MaxSize !== undefined) { - entries["MaxSize"] = input.MaxSize; - } - if (input.DefaultCooldown !== undefined) { - entries["DefaultCooldown"] = input.DefaultCooldown; - } - if (input.VPCZoneIdentifier !== undefined) { - entries["VPCZoneIdentifier"] = input.VPCZoneIdentifier; + if (input.HealthCheckType !== undefined) { + entries["HealthCheckType"] = input.HealthCheckType; } if (input.LaunchTemplate !== undefined) { const memberEntries = serializeAws_queryLaunchTemplateSpecification(input.LaunchTemplate, context); @@ -6564,6 +6540,30 @@ const serializeAws_queryUpdateAutoScalingGroupType = ( entries[loc] = value; }); } + if (input.MinSize !== undefined) { + entries["MinSize"] = input.MinSize; + } + if (input.PlacementGroup !== undefined) { + entries["PlacementGroup"] = input.PlacementGroup; + } + if (input.DefaultCooldown !== undefined) { + entries["DefaultCooldown"] = input.DefaultCooldown; + } + if (input.AutoScalingGroupName !== undefined) { + entries["AutoScalingGroupName"] = input.AutoScalingGroupName; + } + if (input.HealthCheckGracePeriod !== undefined) { + entries["HealthCheckGracePeriod"] = input.HealthCheckGracePeriod; + } + if (input.NewInstancesProtectedFromScaleIn !== undefined) { + entries["NewInstancesProtectedFromScaleIn"] = input.NewInstancesProtectedFromScaleIn; + } + if (input.DesiredCapacity !== undefined) { + entries["DesiredCapacity"] = input.DesiredCapacity; + } + if (input.MaxSize !== undefined) { + entries["MaxSize"] = input.MaxSize; + } return entries; }; @@ -6596,9 +6596,12 @@ const deserializeAws_queryActivities = (output: any, context: __SerdeContext): A const deserializeAws_queryActivitiesType = (output: any, context: __SerdeContext): ActivitiesType => { let contents: any = { - Activities: undefined, NextToken: undefined, + Activities: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.Activities === "") { contents.Activities = []; } @@ -6608,54 +6611,51 @@ const deserializeAws_queryActivitiesType = (output: any, context: __SerdeContext context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; const deserializeAws_queryActivity = (output: any, context: __SerdeContext): Activity => { let contents: any = { StartTime: undefined, - EndTime: undefined, - StatusMessage: undefined, - StatusCode: undefined, - Details: undefined, - Progress: undefined, Cause: undefined, + ActivityId: undefined, Description: undefined, AutoScalingGroupName: undefined, - ActivityId: undefined, + StatusCode: undefined, + EndTime: undefined, + Progress: undefined, + Details: undefined, + StatusMessage: undefined, }; if (output["StartTime"] !== undefined) { contents.StartTime = new Date(output["StartTime"]); } - if (output["EndTime"] !== undefined) { - contents.EndTime = new Date(output["EndTime"]); + if (output["Cause"] !== undefined) { + contents.Cause = output["Cause"]; } - if (output["StatusMessage"] !== undefined) { - contents.StatusMessage = output["StatusMessage"]; + if (output["ActivityId"] !== undefined) { + contents.ActivityId = output["ActivityId"]; + } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["AutoScalingGroupName"] !== undefined) { + contents.AutoScalingGroupName = output["AutoScalingGroupName"]; } if (output["StatusCode"] !== undefined) { contents.StatusCode = output["StatusCode"]; } - if (output["Details"] !== undefined) { - contents.Details = output["Details"]; + if (output["EndTime"] !== undefined) { + contents.EndTime = new Date(output["EndTime"]); } if (output["Progress"] !== undefined) { contents.Progress = parseInt(output["Progress"]); } - if (output["Cause"] !== undefined) { - contents.Cause = output["Cause"]; - } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } - if (output["AutoScalingGroupName"] !== undefined) { - contents.AutoScalingGroupName = output["AutoScalingGroupName"]; + if (output["Details"] !== undefined) { + contents.Details = output["Details"]; } - if (output["ActivityId"] !== undefined) { - contents.ActivityId = output["ActivityId"]; + if (output["StatusMessage"] !== undefined) { + contents.StatusMessage = output["StatusMessage"]; } return contents; }; @@ -6686,15 +6686,15 @@ const deserializeAws_queryAdjustmentTypes = (output: any, context: __SerdeContex const deserializeAws_queryAlarm = (output: any, context: __SerdeContext): Alarm => { let contents: any = { - AlarmARN: undefined, AlarmName: undefined, + AlarmARN: undefined, }; - if (output["AlarmARN"] !== undefined) { - contents.AlarmARN = output["AlarmARN"]; - } if (output["AlarmName"] !== undefined) { contents.AlarmName = output["AlarmName"]; } + if (output["AlarmARN"] !== undefined) { + contents.AlarmARN = output["AlarmARN"]; + } return contents; }; @@ -6730,59 +6730,80 @@ const deserializeAws_queryAttachLoadBalancerTargetGroupsResultType = ( const deserializeAws_queryAutoScalingGroup = (output: any, context: __SerdeContext): AutoScalingGroup => { let contents: any = { - Tags: undefined, - EnabledMetrics: undefined, - VPCZoneIdentifier: undefined, - MixedInstancesPolicy: undefined, - HealthCheckType: undefined, + CreatedTime: undefined, + LaunchConfigurationName: undefined, + LoadBalancerNames: undefined, MaxInstanceLifetime: undefined, + MixedInstancesPolicy: undefined, + TargetGroupARNs: undefined, + Instances: undefined, + DefaultCooldown: undefined, + Tags: undefined, + HealthCheckGracePeriod: undefined, SuspendedProcesses: undefined, AvailabilityZones: undefined, - ServiceLinkedRoleARN: undefined, - NewInstancesProtectedFromScaleIn: undefined, - CreatedTime: undefined, + AutoScalingGroupARN: undefined, MaxSize: undefined, - LaunchTemplate: undefined, + VPCZoneIdentifier: undefined, + Status: undefined, PlacementGroup: undefined, + LaunchTemplate: undefined, + TerminationPolicies: undefined, + HealthCheckType: undefined, DesiredCapacity: undefined, - MinSize: undefined, + NewInstancesProtectedFromScaleIn: undefined, AutoScalingGroupName: undefined, - TerminationPolicies: undefined, - TargetGroupARNs: undefined, - LaunchConfigurationName: undefined, - AutoScalingGroupARN: undefined, - LoadBalancerNames: undefined, - Status: undefined, - HealthCheckGracePeriod: undefined, - DefaultCooldown: undefined, - Instances: undefined, + MinSize: undefined, + ServiceLinkedRoleARN: undefined, + EnabledMetrics: undefined, }; - if (output.Tags === "") { - contents.Tags = []; + if (output["CreatedTime"] !== undefined) { + contents.CreatedTime = new Date(output["CreatedTime"]); } - if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { - contents.Tags = deserializeAws_queryTagDescriptionList(__getArrayIfSingleItem(output["Tags"]["member"]), context); + if (output["LaunchConfigurationName"] !== undefined) { + contents.LaunchConfigurationName = output["LaunchConfigurationName"]; } - if (output.EnabledMetrics === "") { - contents.EnabledMetrics = []; + if (output.LoadBalancerNames === "") { + contents.LoadBalancerNames = []; } - if (output["EnabledMetrics"] !== undefined && output["EnabledMetrics"]["member"] !== undefined) { - contents.EnabledMetrics = deserializeAws_queryEnabledMetrics( - __getArrayIfSingleItem(output["EnabledMetrics"]["member"]), + if (output["LoadBalancerNames"] !== undefined && output["LoadBalancerNames"]["member"] !== undefined) { + contents.LoadBalancerNames = deserializeAws_queryLoadBalancerNames( + __getArrayIfSingleItem(output["LoadBalancerNames"]["member"]), context ); } - if (output["VPCZoneIdentifier"] !== undefined) { - contents.VPCZoneIdentifier = output["VPCZoneIdentifier"]; + if (output["MaxInstanceLifetime"] !== undefined) { + contents.MaxInstanceLifetime = parseInt(output["MaxInstanceLifetime"]); } if (output["MixedInstancesPolicy"] !== undefined) { contents.MixedInstancesPolicy = deserializeAws_queryMixedInstancesPolicy(output["MixedInstancesPolicy"], context); } - if (output["HealthCheckType"] !== undefined) { - contents.HealthCheckType = output["HealthCheckType"]; + if (output.TargetGroupARNs === "") { + contents.TargetGroupARNs = []; } - if (output["MaxInstanceLifetime"] !== undefined) { - contents.MaxInstanceLifetime = parseInt(output["MaxInstanceLifetime"]); + if (output["TargetGroupARNs"] !== undefined && output["TargetGroupARNs"]["member"] !== undefined) { + contents.TargetGroupARNs = deserializeAws_queryTargetGroupARNs( + __getArrayIfSingleItem(output["TargetGroupARNs"]["member"]), + context + ); + } + if (output.Instances === "") { + contents.Instances = []; + } + if (output["Instances"] !== undefined && output["Instances"]["member"] !== undefined) { + contents.Instances = deserializeAws_queryInstances(__getArrayIfSingleItem(output["Instances"]["member"]), context); + } + if (output["DefaultCooldown"] !== undefined) { + contents.DefaultCooldown = parseInt(output["DefaultCooldown"]); + } + if (output.Tags === "") { + contents.Tags = []; + } + if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { + contents.Tags = deserializeAws_queryTagDescriptionList(__getArrayIfSingleItem(output["Tags"]["member"]), context); + } + if (output["HealthCheckGracePeriod"] !== undefined) { + contents.HealthCheckGracePeriod = parseInt(output["HealthCheckGracePeriod"]); } if (output.SuspendedProcesses === "") { contents.SuspendedProcesses = []; @@ -6802,32 +6823,23 @@ const deserializeAws_queryAutoScalingGroup = (output: any, context: __SerdeConte context ); } - if (output["ServiceLinkedRoleARN"] !== undefined) { - contents.ServiceLinkedRoleARN = output["ServiceLinkedRoleARN"]; - } - if (output["NewInstancesProtectedFromScaleIn"] !== undefined) { - contents.NewInstancesProtectedFromScaleIn = output["NewInstancesProtectedFromScaleIn"] == "true"; - } - if (output["CreatedTime"] !== undefined) { - contents.CreatedTime = new Date(output["CreatedTime"]); + if (output["AutoScalingGroupARN"] !== undefined) { + contents.AutoScalingGroupARN = output["AutoScalingGroupARN"]; } if (output["MaxSize"] !== undefined) { contents.MaxSize = parseInt(output["MaxSize"]); } - if (output["LaunchTemplate"] !== undefined) { - contents.LaunchTemplate = deserializeAws_queryLaunchTemplateSpecification(output["LaunchTemplate"], context); + if (output["VPCZoneIdentifier"] !== undefined) { + contents.VPCZoneIdentifier = output["VPCZoneIdentifier"]; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["PlacementGroup"] !== undefined) { contents.PlacementGroup = output["PlacementGroup"]; } - if (output["DesiredCapacity"] !== undefined) { - contents.DesiredCapacity = parseInt(output["DesiredCapacity"]); - } - if (output["MinSize"] !== undefined) { - contents.MinSize = parseInt(output["MinSize"]); - } - if (output["AutoScalingGroupName"] !== undefined) { - contents.AutoScalingGroupName = output["AutoScalingGroupName"]; + if (output["LaunchTemplate"] !== undefined) { + contents.LaunchTemplate = deserializeAws_queryLaunchTemplateSpecification(output["LaunchTemplate"], context); } if (output.TerminationPolicies === "") { contents.TerminationPolicies = []; @@ -6838,44 +6850,32 @@ const deserializeAws_queryAutoScalingGroup = (output: any, context: __SerdeConte context ); } - if (output.TargetGroupARNs === "") { - contents.TargetGroupARNs = []; - } - if (output["TargetGroupARNs"] !== undefined && output["TargetGroupARNs"]["member"] !== undefined) { - contents.TargetGroupARNs = deserializeAws_queryTargetGroupARNs( - __getArrayIfSingleItem(output["TargetGroupARNs"]["member"]), - context - ); - } - if (output["LaunchConfigurationName"] !== undefined) { - contents.LaunchConfigurationName = output["LaunchConfigurationName"]; - } - if (output["AutoScalingGroupARN"] !== undefined) { - contents.AutoScalingGroupARN = output["AutoScalingGroupARN"]; + if (output["HealthCheckType"] !== undefined) { + contents.HealthCheckType = output["HealthCheckType"]; } - if (output.LoadBalancerNames === "") { - contents.LoadBalancerNames = []; + if (output["DesiredCapacity"] !== undefined) { + contents.DesiredCapacity = parseInt(output["DesiredCapacity"]); } - if (output["LoadBalancerNames"] !== undefined && output["LoadBalancerNames"]["member"] !== undefined) { - contents.LoadBalancerNames = deserializeAws_queryLoadBalancerNames( - __getArrayIfSingleItem(output["LoadBalancerNames"]["member"]), - context - ); + if (output["NewInstancesProtectedFromScaleIn"] !== undefined) { + contents.NewInstancesProtectedFromScaleIn = output["NewInstancesProtectedFromScaleIn"] == "true"; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["AutoScalingGroupName"] !== undefined) { + contents.AutoScalingGroupName = output["AutoScalingGroupName"]; } - if (output["HealthCheckGracePeriod"] !== undefined) { - contents.HealthCheckGracePeriod = parseInt(output["HealthCheckGracePeriod"]); + if (output["MinSize"] !== undefined) { + contents.MinSize = parseInt(output["MinSize"]); } - if (output["DefaultCooldown"] !== undefined) { - contents.DefaultCooldown = parseInt(output["DefaultCooldown"]); + if (output["ServiceLinkedRoleARN"] !== undefined) { + contents.ServiceLinkedRoleARN = output["ServiceLinkedRoleARN"]; } - if (output.Instances === "") { - contents.Instances = []; + if (output.EnabledMetrics === "") { + contents.EnabledMetrics = []; } - if (output["Instances"] !== undefined && output["Instances"]["member"] !== undefined) { - contents.Instances = deserializeAws_queryInstances(__getArrayIfSingleItem(output["Instances"]["member"]), context); + if (output["EnabledMetrics"] !== undefined && output["EnabledMetrics"]["member"] !== undefined) { + contents.EnabledMetrics = deserializeAws_queryEnabledMetrics( + __getArrayIfSingleItem(output["EnabledMetrics"]["member"]), + context + ); } return contents; }; @@ -6886,12 +6886,9 @@ const deserializeAws_queryAutoScalingGroups = (output: any, context: __SerdeCont const deserializeAws_queryAutoScalingGroupsType = (output: any, context: __SerdeContext): AutoScalingGroupsType => { let contents: any = { - NextToken: undefined, AutoScalingGroups: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.AutoScalingGroups === "") { contents.AutoScalingGroups = []; } @@ -6901,6 +6898,9 @@ const deserializeAws_queryAutoScalingGroupsType = (output: any, context: __Serde context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -6909,46 +6909,46 @@ const deserializeAws_queryAutoScalingInstanceDetails = ( context: __SerdeContext ): AutoScalingInstanceDetails => { let contents: any = { - ProtectedFromScaleIn: undefined, - HealthStatus: undefined, - InstanceId: undefined, - LifecycleState: undefined, LaunchTemplate: undefined, + LaunchConfigurationName: undefined, + InstanceType: undefined, AutoScalingGroupName: undefined, - AvailabilityZone: undefined, + HealthStatus: undefined, + ProtectedFromScaleIn: undefined, + LifecycleState: undefined, WeightedCapacity: undefined, - InstanceType: undefined, - LaunchConfigurationName: undefined, + AvailabilityZone: undefined, + InstanceId: undefined, }; - if (output["ProtectedFromScaleIn"] !== undefined) { - contents.ProtectedFromScaleIn = output["ProtectedFromScaleIn"] == "true"; + if (output["LaunchTemplate"] !== undefined) { + contents.LaunchTemplate = deserializeAws_queryLaunchTemplateSpecification(output["LaunchTemplate"], context); + } + if (output["LaunchConfigurationName"] !== undefined) { + contents.LaunchConfigurationName = output["LaunchConfigurationName"]; + } + if (output["InstanceType"] !== undefined) { + contents.InstanceType = output["InstanceType"]; + } + if (output["AutoScalingGroupName"] !== undefined) { + contents.AutoScalingGroupName = output["AutoScalingGroupName"]; } if (output["HealthStatus"] !== undefined) { contents.HealthStatus = output["HealthStatus"]; } - if (output["InstanceId"] !== undefined) { - contents.InstanceId = output["InstanceId"]; + if (output["ProtectedFromScaleIn"] !== undefined) { + contents.ProtectedFromScaleIn = output["ProtectedFromScaleIn"] == "true"; } if (output["LifecycleState"] !== undefined) { contents.LifecycleState = output["LifecycleState"]; } - if (output["LaunchTemplate"] !== undefined) { - contents.LaunchTemplate = deserializeAws_queryLaunchTemplateSpecification(output["LaunchTemplate"], context); - } - if (output["AutoScalingGroupName"] !== undefined) { - contents.AutoScalingGroupName = output["AutoScalingGroupName"]; - } - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; - } if (output["WeightedCapacity"] !== undefined) { contents.WeightedCapacity = output["WeightedCapacity"]; } - if (output["InstanceType"] !== undefined) { - contents.InstanceType = output["InstanceType"]; + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; } - if (output["LaunchConfigurationName"] !== undefined) { - contents.LaunchConfigurationName = output["LaunchConfigurationName"]; + if (output["InstanceId"] !== undefined) { + contents.InstanceId = output["InstanceId"]; } return contents; }; @@ -6965,9 +6965,12 @@ const deserializeAws_queryAutoScalingInstancesType = ( context: __SerdeContext ): AutoScalingInstancesType => { let contents: any = { - AutoScalingInstances: undefined, NextToken: undefined, + AutoScalingInstances: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.AutoScalingInstances === "") { contents.AutoScalingInstances = []; } @@ -6977,9 +6980,6 @@ const deserializeAws_queryAutoScalingInstancesType = ( context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -7034,23 +7034,23 @@ const deserializeAws_queryBatchPutScheduledUpdateGroupActionAnswer = ( const deserializeAws_queryBlockDeviceMapping = (output: any, context: __SerdeContext): BlockDeviceMapping => { let contents: any = { - VirtualName: undefined, NoDevice: undefined, - Ebs: undefined, + VirtualName: undefined, DeviceName: undefined, + Ebs: undefined, }; - if (output["VirtualName"] !== undefined) { - contents.VirtualName = output["VirtualName"]; - } if (output["NoDevice"] !== undefined) { contents.NoDevice = output["NoDevice"] == "true"; } - if (output["Ebs"] !== undefined) { - contents.Ebs = deserializeAws_queryEbs(output["Ebs"], context); + if (output["VirtualName"] !== undefined) { + contents.VirtualName = output["VirtualName"]; } if (output["DeviceName"] !== undefined) { contents.DeviceName = output["DeviceName"]; } + if (output["Ebs"] !== undefined) { + contents.Ebs = deserializeAws_queryEbs(output["Ebs"], context); + } return contents; }; @@ -7088,14 +7088,17 @@ const deserializeAws_queryCustomizedMetricSpecification = ( context: __SerdeContext ): CustomizedMetricSpecification => { let contents: any = { - Namespace: undefined, - Dimensions: undefined, - Unit: undefined, Statistic: undefined, MetricName: undefined, + Dimensions: undefined, + Namespace: undefined, + Unit: undefined, }; - if (output["Namespace"] !== undefined) { - contents.Namespace = output["Namespace"]; + if (output["Statistic"] !== undefined) { + contents.Statistic = output["Statistic"]; + } + if (output["MetricName"] !== undefined) { + contents.MetricName = output["MetricName"]; } if (output.Dimensions === "") { contents.Dimensions = []; @@ -7106,15 +7109,12 @@ const deserializeAws_queryCustomizedMetricSpecification = ( context ); } + if (output["Namespace"] !== undefined) { + contents.Namespace = output["Namespace"]; + } if (output["Unit"] !== undefined) { contents.Unit = output["Unit"]; } - if (output["Statistic"] !== undefined) { - contents.Statistic = output["Statistic"]; - } - if (output["MetricName"] !== undefined) { - contents.MetricName = output["MetricName"]; - } return contents; }; @@ -7131,22 +7131,22 @@ const deserializeAws_queryDescribeAccountLimitsAnswer = ( context: __SerdeContext ): DescribeAccountLimitsAnswer => { let contents: any = { - NumberOfAutoScalingGroups: undefined, NumberOfLaunchConfigurations: undefined, - MaxNumberOfAutoScalingGroups: undefined, MaxNumberOfLaunchConfigurations: undefined, + MaxNumberOfAutoScalingGroups: undefined, + NumberOfAutoScalingGroups: undefined, }; - if (output["NumberOfAutoScalingGroups"] !== undefined) { - contents.NumberOfAutoScalingGroups = parseInt(output["NumberOfAutoScalingGroups"]); - } if (output["NumberOfLaunchConfigurations"] !== undefined) { contents.NumberOfLaunchConfigurations = parseInt(output["NumberOfLaunchConfigurations"]); } + if (output["MaxNumberOfLaunchConfigurations"] !== undefined) { + contents.MaxNumberOfLaunchConfigurations = parseInt(output["MaxNumberOfLaunchConfigurations"]); + } if (output["MaxNumberOfAutoScalingGroups"] !== undefined) { contents.MaxNumberOfAutoScalingGroups = parseInt(output["MaxNumberOfAutoScalingGroups"]); } - if (output["MaxNumberOfLaunchConfigurations"] !== undefined) { - contents.MaxNumberOfLaunchConfigurations = parseInt(output["MaxNumberOfLaunchConfigurations"]); + if (output["NumberOfAutoScalingGroups"] !== undefined) { + contents.NumberOfAutoScalingGroups = parseInt(output["NumberOfAutoScalingGroups"]); } return contents; }; @@ -7281,9 +7281,12 @@ const deserializeAws_queryDescribeLoadBalancerTargetGroupsResponse = ( context: __SerdeContext ): DescribeLoadBalancerTargetGroupsResponse => { let contents: any = { - LoadBalancerTargetGroups: undefined, NextToken: undefined, + LoadBalancerTargetGroups: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.LoadBalancerTargetGroups === "") { contents.LoadBalancerTargetGroups = []; } @@ -7293,9 +7296,6 @@ const deserializeAws_queryDescribeLoadBalancerTargetGroupsResponse = ( context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -7304,18 +7304,9 @@ const deserializeAws_queryDescribeMetricCollectionTypesAnswer = ( context: __SerdeContext ): DescribeMetricCollectionTypesAnswer => { let contents: any = { - Metrics: undefined, Granularities: undefined, + Metrics: undefined, }; - if (output.Metrics === "") { - contents.Metrics = []; - } - if (output["Metrics"] !== undefined && output["Metrics"]["member"] !== undefined) { - contents.Metrics = deserializeAws_queryMetricCollectionTypes( - __getArrayIfSingleItem(output["Metrics"]["member"]), - context - ); - } if (output.Granularities === "") { contents.Granularities = []; } @@ -7325,6 +7316,15 @@ const deserializeAws_queryDescribeMetricCollectionTypesAnswer = ( context ); } + if (output.Metrics === "") { + contents.Metrics = []; + } + if (output["Metrics"] !== undefined && output["Metrics"]["member"] !== undefined) { + contents.Metrics = deserializeAws_queryMetricCollectionTypes( + __getArrayIfSingleItem(output["Metrics"]["member"]), + context + ); + } return contents; }; @@ -7407,24 +7407,21 @@ const deserializeAws_queryDetachLoadBalancerTargetGroupsResultType = ( const deserializeAws_queryEbs = (output: any, context: __SerdeContext): Ebs => { let contents: any = { - DeleteOnTermination: undefined, - Encrypted: undefined, VolumeSize: undefined, - VolumeType: undefined, + Encrypted: undefined, + DeleteOnTermination: undefined, SnapshotId: undefined, Iops: undefined, + VolumeType: undefined, }; - if (output["DeleteOnTermination"] !== undefined) { - contents.DeleteOnTermination = output["DeleteOnTermination"] == "true"; + if (output["VolumeSize"] !== undefined) { + contents.VolumeSize = parseInt(output["VolumeSize"]); } if (output["Encrypted"] !== undefined) { contents.Encrypted = output["Encrypted"] == "true"; } - if (output["VolumeSize"] !== undefined) { - contents.VolumeSize = parseInt(output["VolumeSize"]); - } - if (output["VolumeType"] !== undefined) { - contents.VolumeType = output["VolumeType"]; + if (output["DeleteOnTermination"] !== undefined) { + contents.DeleteOnTermination = output["DeleteOnTermination"] == "true"; } if (output["SnapshotId"] !== undefined) { contents.SnapshotId = output["SnapshotId"]; @@ -7432,6 +7429,9 @@ const deserializeAws_queryEbs = (output: any, context: __SerdeContext): Ebs => { if (output["Iops"] !== undefined) { contents.Iops = parseInt(output["Iops"]); } + if (output["VolumeType"] !== undefined) { + contents.VolumeType = output["VolumeType"]; + } return contents; }; @@ -7491,18 +7491,18 @@ const deserializeAws_queryFailedScheduledUpdateGroupActionRequest = ( ): FailedScheduledUpdateGroupActionRequest => { let contents: any = { ErrorCode: undefined, - ScheduledActionName: undefined, ErrorMessage: undefined, + ScheduledActionName: undefined, }; if (output["ErrorCode"] !== undefined) { contents.ErrorCode = output["ErrorCode"]; } - if (output["ScheduledActionName"] !== undefined) { - contents.ScheduledActionName = output["ScheduledActionName"]; - } if (output["ErrorMessage"] !== undefined) { contents.ErrorMessage = output["ErrorMessage"]; } + if (output["ScheduledActionName"] !== undefined) { + contents.ScheduledActionName = output["ScheduledActionName"]; + } return contents; }; @@ -7517,61 +7517,61 @@ const deserializeAws_queryFailedScheduledUpdateGroupActionRequests = ( const deserializeAws_queryInstance = (output: any, context: __SerdeContext): Instance => { let contents: any = { - ProtectedFromScaleIn: undefined, - HealthStatus: undefined, - InstanceId: undefined, LaunchTemplate: undefined, + LaunchConfigurationName: undefined, + InstanceType: undefined, + HealthStatus: undefined, + ProtectedFromScaleIn: undefined, LifecycleState: undefined, - AvailabilityZone: undefined, WeightedCapacity: undefined, - InstanceType: undefined, - LaunchConfigurationName: undefined, + InstanceId: undefined, + AvailabilityZone: undefined, }; - if (output["ProtectedFromScaleIn"] !== undefined) { - contents.ProtectedFromScaleIn = output["ProtectedFromScaleIn"] == "true"; + if (output["LaunchTemplate"] !== undefined) { + contents.LaunchTemplate = deserializeAws_queryLaunchTemplateSpecification(output["LaunchTemplate"], context); + } + if (output["LaunchConfigurationName"] !== undefined) { + contents.LaunchConfigurationName = output["LaunchConfigurationName"]; + } + if (output["InstanceType"] !== undefined) { + contents.InstanceType = output["InstanceType"]; } if (output["HealthStatus"] !== undefined) { contents.HealthStatus = output["HealthStatus"]; } - if (output["InstanceId"] !== undefined) { - contents.InstanceId = output["InstanceId"]; - } - if (output["LaunchTemplate"] !== undefined) { - contents.LaunchTemplate = deserializeAws_queryLaunchTemplateSpecification(output["LaunchTemplate"], context); + if (output["ProtectedFromScaleIn"] !== undefined) { + contents.ProtectedFromScaleIn = output["ProtectedFromScaleIn"] == "true"; } if (output["LifecycleState"] !== undefined) { contents.LifecycleState = output["LifecycleState"]; } - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; - } if (output["WeightedCapacity"] !== undefined) { contents.WeightedCapacity = output["WeightedCapacity"]; } - if (output["InstanceType"] !== undefined) { - contents.InstanceType = output["InstanceType"]; + if (output["InstanceId"] !== undefined) { + contents.InstanceId = output["InstanceId"]; } - if (output["LaunchConfigurationName"] !== undefined) { - contents.LaunchConfigurationName = output["LaunchConfigurationName"]; + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; } return contents; }; const deserializeAws_queryInstanceMetadataOptions = (output: any, context: __SerdeContext): InstanceMetadataOptions => { let contents: any = { - HttpTokens: undefined, HttpPutResponseHopLimit: undefined, HttpEndpoint: undefined, + HttpTokens: undefined, }; - if (output["HttpTokens"] !== undefined) { - contents.HttpTokens = output["HttpTokens"]; - } if (output["HttpPutResponseHopLimit"] !== undefined) { contents.HttpPutResponseHopLimit = parseInt(output["HttpPutResponseHopLimit"]); } if (output["HttpEndpoint"] !== undefined) { contents.HttpEndpoint = output["HttpEndpoint"]; } + if (output["HttpTokens"] !== undefined) { + contents.HttpTokens = output["HttpTokens"]; + } return contents; }; @@ -7587,38 +7587,38 @@ const deserializeAws_queryInstanceMonitoring = (output: any, context: __SerdeCon const deserializeAws_queryInstanceRefresh = (output: any, context: __SerdeContext): InstanceRefresh => { let contents: any = { - EndTime: undefined, PercentageComplete: undefined, - InstancesToUpdate: undefined, - InstanceRefreshId: undefined, + EndTime: undefined, + AutoScalingGroupName: undefined, StartTime: undefined, - Status: undefined, StatusReason: undefined, - AutoScalingGroupName: undefined, + Status: undefined, + InstanceRefreshId: undefined, + InstancesToUpdate: undefined, }; - if (output["EndTime"] !== undefined) { - contents.EndTime = new Date(output["EndTime"]); - } if (output["PercentageComplete"] !== undefined) { contents.PercentageComplete = parseInt(output["PercentageComplete"]); } - if (output["InstancesToUpdate"] !== undefined) { - contents.InstancesToUpdate = parseInt(output["InstancesToUpdate"]); + if (output["EndTime"] !== undefined) { + contents.EndTime = new Date(output["EndTime"]); } - if (output["InstanceRefreshId"] !== undefined) { - contents.InstanceRefreshId = output["InstanceRefreshId"]; + if (output["AutoScalingGroupName"] !== undefined) { + contents.AutoScalingGroupName = output["AutoScalingGroupName"]; } if (output["StartTime"] !== undefined) { contents.StartTime = new Date(output["StartTime"]); } + if (output["StatusReason"] !== undefined) { + contents.StatusReason = output["StatusReason"]; + } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["StatusReason"] !== undefined) { - contents.StatusReason = output["StatusReason"]; + if (output["InstanceRefreshId"] !== undefined) { + contents.InstanceRefreshId = output["InstanceRefreshId"]; } - if (output["AutoScalingGroupName"] !== undefined) { - contents.AutoScalingGroupName = output["AutoScalingGroupName"]; + if (output["InstancesToUpdate"] !== undefined) { + contents.InstancesToUpdate = parseInt(output["InstancesToUpdate"]); } return contents; }; @@ -7646,15 +7646,15 @@ const deserializeAws_queryInstances = (output: any, context: __SerdeContext): In const deserializeAws_queryInstancesDistribution = (output: any, context: __SerdeContext): InstancesDistribution => { let contents: any = { - SpotAllocationStrategy: undefined, + SpotInstancePools: undefined, SpotMaxPrice: undefined, OnDemandBaseCapacity: undefined, - OnDemandPercentageAboveBaseCapacity: undefined, - SpotInstancePools: undefined, + SpotAllocationStrategy: undefined, OnDemandAllocationStrategy: undefined, + OnDemandPercentageAboveBaseCapacity: undefined, }; - if (output["SpotAllocationStrategy"] !== undefined) { - contents.SpotAllocationStrategy = output["SpotAllocationStrategy"]; + if (output["SpotInstancePools"] !== undefined) { + contents.SpotInstancePools = parseInt(output["SpotInstancePools"]); } if (output["SpotMaxPrice"] !== undefined) { contents.SpotMaxPrice = output["SpotMaxPrice"]; @@ -7662,15 +7662,15 @@ const deserializeAws_queryInstancesDistribution = (output: any, context: __Serde if (output["OnDemandBaseCapacity"] !== undefined) { contents.OnDemandBaseCapacity = parseInt(output["OnDemandBaseCapacity"]); } - if (output["OnDemandPercentageAboveBaseCapacity"] !== undefined) { - contents.OnDemandPercentageAboveBaseCapacity = parseInt(output["OnDemandPercentageAboveBaseCapacity"]); - } - if (output["SpotInstancePools"] !== undefined) { - contents.SpotInstancePools = parseInt(output["SpotInstancePools"]); + if (output["SpotAllocationStrategy"] !== undefined) { + contents.SpotAllocationStrategy = output["SpotAllocationStrategy"]; } if (output["OnDemandAllocationStrategy"] !== undefined) { contents.OnDemandAllocationStrategy = output["OnDemandAllocationStrategy"]; } + if (output["OnDemandPercentageAboveBaseCapacity"] !== undefined) { + contents.OnDemandPercentageAboveBaseCapacity = parseInt(output["OnDemandPercentageAboveBaseCapacity"]); + } return contents; }; @@ -7686,74 +7686,53 @@ const deserializeAws_queryInvalidNextToken = (output: any, context: __SerdeConte const deserializeAws_queryLaunchConfiguration = (output: any, context: __SerdeContext): LaunchConfiguration => { let contents: any = { - InstanceType: undefined, - ClassicLinkVPCSecurityGroups: undefined, - SecurityGroups: undefined, - LaunchConfigurationARN: undefined, - AssociatePublicIpAddress: undefined, - InstanceMonitoring: undefined, - PlacementTenancy: undefined, + IamInstanceProfile: undefined, + BlockDeviceMappings: undefined, MetadataOptions: undefined, - LaunchConfigurationName: undefined, - SpotPrice: undefined, RamdiskId: undefined, + KernelId: undefined, + SpotPrice: undefined, + UserData: undefined, KeyName: undefined, ImageId: undefined, - IamInstanceProfile: undefined, - UserData: undefined, - KernelId: undefined, - EbsOptimized: undefined, - BlockDeviceMappings: undefined, + InstanceType: undefined, + InstanceMonitoring: undefined, + LaunchConfigurationARN: undefined, + AssociatePublicIpAddress: undefined, + ClassicLinkVPCSecurityGroups: undefined, + SecurityGroups: undefined, CreatedTime: undefined, + LaunchConfigurationName: undefined, ClassicLinkVPCId: undefined, + PlacementTenancy: undefined, + EbsOptimized: undefined, }; - if (output["InstanceType"] !== undefined) { - contents.InstanceType = output["InstanceType"]; - } - if (output.ClassicLinkVPCSecurityGroups === "") { - contents.ClassicLinkVPCSecurityGroups = []; - } - if ( - output["ClassicLinkVPCSecurityGroups"] !== undefined && - output["ClassicLinkVPCSecurityGroups"]["member"] !== undefined - ) { - contents.ClassicLinkVPCSecurityGroups = deserializeAws_queryClassicLinkVPCSecurityGroups( - __getArrayIfSingleItem(output["ClassicLinkVPCSecurityGroups"]["member"]), - context - ); + if (output["IamInstanceProfile"] !== undefined) { + contents.IamInstanceProfile = output["IamInstanceProfile"]; } - if (output.SecurityGroups === "") { - contents.SecurityGroups = []; + if (output.BlockDeviceMappings === "") { + contents.BlockDeviceMappings = []; } - if (output["SecurityGroups"] !== undefined && output["SecurityGroups"]["member"] !== undefined) { - contents.SecurityGroups = deserializeAws_querySecurityGroups( - __getArrayIfSingleItem(output["SecurityGroups"]["member"]), + if (output["BlockDeviceMappings"] !== undefined && output["BlockDeviceMappings"]["member"] !== undefined) { + contents.BlockDeviceMappings = deserializeAws_queryBlockDeviceMappings( + __getArrayIfSingleItem(output["BlockDeviceMappings"]["member"]), context ); } - if (output["LaunchConfigurationARN"] !== undefined) { - contents.LaunchConfigurationARN = output["LaunchConfigurationARN"]; - } - if (output["AssociatePublicIpAddress"] !== undefined) { - contents.AssociatePublicIpAddress = output["AssociatePublicIpAddress"] == "true"; - } - if (output["InstanceMonitoring"] !== undefined) { - contents.InstanceMonitoring = deserializeAws_queryInstanceMonitoring(output["InstanceMonitoring"], context); - } - if (output["PlacementTenancy"] !== undefined) { - contents.PlacementTenancy = output["PlacementTenancy"]; - } if (output["MetadataOptions"] !== undefined) { contents.MetadataOptions = deserializeAws_queryInstanceMetadataOptions(output["MetadataOptions"], context); } - if (output["LaunchConfigurationName"] !== undefined) { - contents.LaunchConfigurationName = output["LaunchConfigurationName"]; + if (output["RamdiskId"] !== undefined) { + contents.RamdiskId = output["RamdiskId"]; + } + if (output["KernelId"] !== undefined) { + contents.KernelId = output["KernelId"]; } if (output["SpotPrice"] !== undefined) { contents.SpotPrice = output["SpotPrice"]; } - if (output["RamdiskId"] !== undefined) { - contents.RamdiskId = output["RamdiskId"]; + if (output["UserData"] !== undefined) { + contents.UserData = output["UserData"]; } if (output["KeyName"] !== undefined) { contents.KeyName = output["KeyName"]; @@ -7761,33 +7740,54 @@ const deserializeAws_queryLaunchConfiguration = (output: any, context: __SerdeCo if (output["ImageId"] !== undefined) { contents.ImageId = output["ImageId"]; } - if (output["IamInstanceProfile"] !== undefined) { - contents.IamInstanceProfile = output["IamInstanceProfile"]; + if (output["InstanceType"] !== undefined) { + contents.InstanceType = output["InstanceType"]; } - if (output["UserData"] !== undefined) { - contents.UserData = output["UserData"]; + if (output["InstanceMonitoring"] !== undefined) { + contents.InstanceMonitoring = deserializeAws_queryInstanceMonitoring(output["InstanceMonitoring"], context); } - if (output["KernelId"] !== undefined) { - contents.KernelId = output["KernelId"]; + if (output["LaunchConfigurationARN"] !== undefined) { + contents.LaunchConfigurationARN = output["LaunchConfigurationARN"]; } - if (output["EbsOptimized"] !== undefined) { - contents.EbsOptimized = output["EbsOptimized"] == "true"; + if (output["AssociatePublicIpAddress"] !== undefined) { + contents.AssociatePublicIpAddress = output["AssociatePublicIpAddress"] == "true"; } - if (output.BlockDeviceMappings === "") { - contents.BlockDeviceMappings = []; + if (output.ClassicLinkVPCSecurityGroups === "") { + contents.ClassicLinkVPCSecurityGroups = []; } - if (output["BlockDeviceMappings"] !== undefined && output["BlockDeviceMappings"]["member"] !== undefined) { - contents.BlockDeviceMappings = deserializeAws_queryBlockDeviceMappings( - __getArrayIfSingleItem(output["BlockDeviceMappings"]["member"]), + if ( + output["ClassicLinkVPCSecurityGroups"] !== undefined && + output["ClassicLinkVPCSecurityGroups"]["member"] !== undefined + ) { + contents.ClassicLinkVPCSecurityGroups = deserializeAws_queryClassicLinkVPCSecurityGroups( + __getArrayIfSingleItem(output["ClassicLinkVPCSecurityGroups"]["member"]), + context + ); + } + if (output.SecurityGroups === "") { + contents.SecurityGroups = []; + } + if (output["SecurityGroups"] !== undefined && output["SecurityGroups"]["member"] !== undefined) { + contents.SecurityGroups = deserializeAws_querySecurityGroups( + __getArrayIfSingleItem(output["SecurityGroups"]["member"]), context ); } if (output["CreatedTime"] !== undefined) { contents.CreatedTime = new Date(output["CreatedTime"]); } + if (output["LaunchConfigurationName"] !== undefined) { + contents.LaunchConfigurationName = output["LaunchConfigurationName"]; + } if (output["ClassicLinkVPCId"] !== undefined) { contents.ClassicLinkVPCId = output["ClassicLinkVPCId"]; } + if (output["PlacementTenancy"] !== undefined) { + contents.PlacementTenancy = output["PlacementTenancy"]; + } + if (output["EbsOptimized"] !== undefined) { + contents.EbsOptimized = output["EbsOptimized"] == "true"; + } return contents; }; @@ -7819,22 +7819,22 @@ const deserializeAws_queryLaunchConfigurationsType = ( }; const deserializeAws_queryLaunchTemplate = (output: any, context: __SerdeContext): LaunchTemplate => { - let contents: any = { - Overrides: undefined, - LaunchTemplateSpecification: undefined, - }; - if (output.Overrides === "") { - contents.Overrides = []; - } - if (output["Overrides"] !== undefined && output["Overrides"]["member"] !== undefined) { - contents.Overrides = deserializeAws_queryOverrides(__getArrayIfSingleItem(output["Overrides"]["member"]), context); - } + let contents: any = { + LaunchTemplateSpecification: undefined, + Overrides: undefined, + }; if (output["LaunchTemplateSpecification"] !== undefined) { contents.LaunchTemplateSpecification = deserializeAws_queryLaunchTemplateSpecification( output["LaunchTemplateSpecification"], context ); } + if (output.Overrides === "") { + contents.Overrides = []; + } + if (output["Overrides"] !== undefined && output["Overrides"]["member"] !== undefined) { + contents.Overrides = deserializeAws_queryOverrides(__getArrayIfSingleItem(output["Overrides"]["member"]), context); + } return contents; }; @@ -7875,42 +7875,42 @@ const deserializeAws_queryLaunchTemplateSpecification = ( const deserializeAws_queryLifecycleHook = (output: any, context: __SerdeContext): LifecycleHook => { let contents: any = { - NotificationTargetARN: undefined, RoleARN: undefined, LifecycleHookName: undefined, + AutoScalingGroupName: undefined, DefaultResult: undefined, - NotificationMetadata: undefined, - HeartbeatTimeout: undefined, + NotificationTargetARN: undefined, GlobalTimeout: undefined, + HeartbeatTimeout: undefined, LifecycleTransition: undefined, - AutoScalingGroupName: undefined, + NotificationMetadata: undefined, }; - if (output["NotificationTargetARN"] !== undefined) { - contents.NotificationTargetARN = output["NotificationTargetARN"]; - } if (output["RoleARN"] !== undefined) { contents.RoleARN = output["RoleARN"]; } if (output["LifecycleHookName"] !== undefined) { contents.LifecycleHookName = output["LifecycleHookName"]; } + if (output["AutoScalingGroupName"] !== undefined) { + contents.AutoScalingGroupName = output["AutoScalingGroupName"]; + } if (output["DefaultResult"] !== undefined) { contents.DefaultResult = output["DefaultResult"]; } - if (output["NotificationMetadata"] !== undefined) { - contents.NotificationMetadata = output["NotificationMetadata"]; - } - if (output["HeartbeatTimeout"] !== undefined) { - contents.HeartbeatTimeout = parseInt(output["HeartbeatTimeout"]); + if (output["NotificationTargetARN"] !== undefined) { + contents.NotificationTargetARN = output["NotificationTargetARN"]; } if (output["GlobalTimeout"] !== undefined) { contents.GlobalTimeout = parseInt(output["GlobalTimeout"]); } + if (output["HeartbeatTimeout"] !== undefined) { + contents.HeartbeatTimeout = parseInt(output["HeartbeatTimeout"]); + } if (output["LifecycleTransition"] !== undefined) { contents.LifecycleTransition = output["LifecycleTransition"]; } - if (output["AutoScalingGroupName"] !== undefined) { - contents.AutoScalingGroupName = output["AutoScalingGroupName"]; + if (output["NotificationMetadata"] !== undefined) { + contents.NotificationMetadata = output["NotificationMetadata"]; } return contents; }; @@ -7956,15 +7956,15 @@ const deserializeAws_queryLoadBalancerTargetGroupState = ( context: __SerdeContext ): LoadBalancerTargetGroupState => { let contents: any = { - State: undefined, LoadBalancerTargetGroupARN: undefined, + State: undefined, }; - if (output["State"] !== undefined) { - contents.State = output["State"]; - } if (output["LoadBalancerTargetGroupARN"] !== undefined) { contents.LoadBalancerTargetGroupARN = output["LoadBalancerTargetGroupARN"]; } + if (output["State"] !== undefined) { + contents.State = output["State"]; + } return contents; }; @@ -7991,15 +7991,15 @@ const deserializeAws_queryMetricCollectionTypes = (output: any, context: __Serde const deserializeAws_queryMetricDimension = (output: any, context: __SerdeContext): MetricDimension => { let contents: any = { - Name: undefined, Value: undefined, + Name: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } return contents; }; @@ -8023,18 +8023,18 @@ const deserializeAws_queryMetricGranularityTypes = (output: any, context: __Serd const deserializeAws_queryMixedInstancesPolicy = (output: any, context: __SerdeContext): MixedInstancesPolicy => { let contents: any = { - LaunchTemplate: undefined, InstancesDistribution: undefined, + LaunchTemplate: undefined, }; - if (output["LaunchTemplate"] !== undefined) { - contents.LaunchTemplate = deserializeAws_queryLaunchTemplate(output["LaunchTemplate"], context); - } if (output["InstancesDistribution"] !== undefined) { contents.InstancesDistribution = deserializeAws_queryInstancesDistribution( output["InstancesDistribution"], context ); } + if (output["LaunchTemplate"] !== undefined) { + contents.LaunchTemplate = deserializeAws_queryLaunchTemplate(output["LaunchTemplate"], context); + } return contents; }; @@ -8044,18 +8044,18 @@ const deserializeAws_queryNotificationConfiguration = ( ): NotificationConfiguration => { let contents: any = { AutoScalingGroupName: undefined, - NotificationType: undefined, TopicARN: undefined, + NotificationType: undefined, }; if (output["AutoScalingGroupName"] !== undefined) { contents.AutoScalingGroupName = output["AutoScalingGroupName"]; } - if (output["NotificationType"] !== undefined) { - contents.NotificationType = output["NotificationType"]; - } if (output["TopicARN"] !== undefined) { contents.TopicARN = output["TopicARN"]; } + if (output["NotificationType"] !== undefined) { + contents.NotificationType = output["NotificationType"]; + } return contents; }; @@ -8092,18 +8092,18 @@ const deserializeAws_queryPoliciesType = (output: any, context: __SerdeContext): const deserializeAws_queryPolicyARNType = (output: any, context: __SerdeContext): PolicyARNType => { let contents: any = { - PolicyARN: undefined, Alarms: undefined, + PolicyARN: undefined, }; - if (output["PolicyARN"] !== undefined) { - contents.PolicyARN = output["PolicyARN"]; - } if (output.Alarms === "") { contents.Alarms = []; } if (output["Alarms"] !== undefined && output["Alarms"]["member"] !== undefined) { contents.Alarms = deserializeAws_queryAlarms(__getArrayIfSingleItem(output["Alarms"]["member"]), context); } + if (output["PolicyARN"] !== undefined) { + contents.PolicyARN = output["PolicyARN"]; + } return contents; }; @@ -8112,15 +8112,15 @@ const deserializeAws_queryPredefinedMetricSpecification = ( context: __SerdeContext ): PredefinedMetricSpecification => { let contents: any = { - PredefinedMetricType: undefined, ResourceLabel: undefined, + PredefinedMetricType: undefined, }; - if (output["PredefinedMetricType"] !== undefined) { - contents.PredefinedMetricType = output["PredefinedMetricType"]; - } if (output["ResourceLabel"] !== undefined) { contents.ResourceLabel = output["ResourceLabel"]; } + if (output["PredefinedMetricType"] !== undefined) { + contents.PredefinedMetricType = output["PredefinedMetricType"]; + } return contents; }; @@ -8203,30 +8203,30 @@ const deserializeAws_queryScalingPolicies = (output: any, context: __SerdeContex const deserializeAws_queryScalingPolicy = (output: any, context: __SerdeContext): ScalingPolicy => { let contents: any = { - Alarms: undefined, - PolicyType: undefined, - StepAdjustments: undefined, + ScalingAdjustment: undefined, + EstimatedInstanceWarmup: undefined, MetricAggregationType: undefined, - Cooldown: undefined, + StepAdjustments: undefined, AutoScalingGroupName: undefined, + Cooldown: undefined, + PolicyType: undefined, + PolicyName: undefined, + MinAdjustmentStep: undefined, TargetTrackingConfiguration: undefined, - EstimatedInstanceWarmup: undefined, - AdjustmentType: undefined, + Enabled: undefined, PolicyARN: undefined, - PolicyName: undefined, - ScalingAdjustment: undefined, MinAdjustmentMagnitude: undefined, - Enabled: undefined, - MinAdjustmentStep: undefined, + Alarms: undefined, + AdjustmentType: undefined, }; - if (output.Alarms === "") { - contents.Alarms = []; + if (output["ScalingAdjustment"] !== undefined) { + contents.ScalingAdjustment = parseInt(output["ScalingAdjustment"]); } - if (output["Alarms"] !== undefined && output["Alarms"]["member"] !== undefined) { - contents.Alarms = deserializeAws_queryAlarms(__getArrayIfSingleItem(output["Alarms"]["member"]), context); + if (output["EstimatedInstanceWarmup"] !== undefined) { + contents.EstimatedInstanceWarmup = parseInt(output["EstimatedInstanceWarmup"]); } - if (output["PolicyType"] !== undefined) { - contents.PolicyType = output["PolicyType"]; + if (output["MetricAggregationType"] !== undefined) { + contents.MetricAggregationType = output["MetricAggregationType"]; } if (output.StepAdjustments === "") { contents.StepAdjustments = []; @@ -8237,14 +8237,20 @@ const deserializeAws_queryScalingPolicy = (output: any, context: __SerdeContext) context ); } - if (output["MetricAggregationType"] !== undefined) { - contents.MetricAggregationType = output["MetricAggregationType"]; + if (output["AutoScalingGroupName"] !== undefined) { + contents.AutoScalingGroupName = output["AutoScalingGroupName"]; } if (output["Cooldown"] !== undefined) { contents.Cooldown = parseInt(output["Cooldown"]); } - if (output["AutoScalingGroupName"] !== undefined) { - contents.AutoScalingGroupName = output["AutoScalingGroupName"]; + if (output["PolicyType"] !== undefined) { + contents.PolicyType = output["PolicyType"]; + } + if (output["PolicyName"] !== undefined) { + contents.PolicyName = output["PolicyName"]; + } + if (output["MinAdjustmentStep"] !== undefined) { + contents.MinAdjustmentStep = parseInt(output["MinAdjustmentStep"]); } if (output["TargetTrackingConfiguration"] !== undefined) { contents.TargetTrackingConfiguration = deserializeAws_queryTargetTrackingConfiguration( @@ -8252,29 +8258,23 @@ const deserializeAws_queryScalingPolicy = (output: any, context: __SerdeContext) context ); } - if (output["EstimatedInstanceWarmup"] !== undefined) { - contents.EstimatedInstanceWarmup = parseInt(output["EstimatedInstanceWarmup"]); - } - if (output["AdjustmentType"] !== undefined) { - contents.AdjustmentType = output["AdjustmentType"]; + if (output["Enabled"] !== undefined) { + contents.Enabled = output["Enabled"] == "true"; } if (output["PolicyARN"] !== undefined) { contents.PolicyARN = output["PolicyARN"]; } - if (output["PolicyName"] !== undefined) { - contents.PolicyName = output["PolicyName"]; - } - if (output["ScalingAdjustment"] !== undefined) { - contents.ScalingAdjustment = parseInt(output["ScalingAdjustment"]); - } if (output["MinAdjustmentMagnitude"] !== undefined) { contents.MinAdjustmentMagnitude = parseInt(output["MinAdjustmentMagnitude"]); } - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; + if (output.Alarms === "") { + contents.Alarms = []; } - if (output["MinAdjustmentStep"] !== undefined) { - contents.MinAdjustmentStep = parseInt(output["MinAdjustmentStep"]); + if (output["Alarms"] !== undefined && output["Alarms"]["member"] !== undefined) { + contents.Alarms = deserializeAws_queryAlarms(__getArrayIfSingleItem(output["Alarms"]["member"]), context); + } + if (output["AdjustmentType"] !== undefined) { + contents.AdjustmentType = output["AdjustmentType"]; } return contents; }; @@ -8307,46 +8307,46 @@ const deserializeAws_queryScheduledUpdateGroupAction = ( context: __SerdeContext ): ScheduledUpdateGroupAction => { let contents: any = { - MaxSize: undefined, - Recurrence: undefined, AutoScalingGroupName: undefined, - ScheduledActionName: undefined, - ScheduledActionARN: undefined, + StartTime: undefined, Time: undefined, + Recurrence: undefined, DesiredCapacity: undefined, - MinSize: undefined, - StartTime: undefined, EndTime: undefined, + ScheduledActionName: undefined, + MinSize: undefined, + ScheduledActionARN: undefined, + MaxSize: undefined, }; - if (output["MaxSize"] !== undefined) { - contents.MaxSize = parseInt(output["MaxSize"]); - } - if (output["Recurrence"] !== undefined) { - contents.Recurrence = output["Recurrence"]; - } if (output["AutoScalingGroupName"] !== undefined) { contents.AutoScalingGroupName = output["AutoScalingGroupName"]; } - if (output["ScheduledActionName"] !== undefined) { - contents.ScheduledActionName = output["ScheduledActionName"]; - } - if (output["ScheduledActionARN"] !== undefined) { - contents.ScheduledActionARN = output["ScheduledActionARN"]; + if (output["StartTime"] !== undefined) { + contents.StartTime = new Date(output["StartTime"]); } if (output["Time"] !== undefined) { contents.Time = new Date(output["Time"]); } + if (output["Recurrence"] !== undefined) { + contents.Recurrence = output["Recurrence"]; + } if (output["DesiredCapacity"] !== undefined) { contents.DesiredCapacity = parseInt(output["DesiredCapacity"]); } + if (output["EndTime"] !== undefined) { + contents.EndTime = new Date(output["EndTime"]); + } + if (output["ScheduledActionName"] !== undefined) { + contents.ScheduledActionName = output["ScheduledActionName"]; + } if (output["MinSize"] !== undefined) { contents.MinSize = parseInt(output["MinSize"]); } - if (output["StartTime"] !== undefined) { - contents.StartTime = new Date(output["StartTime"]); + if (output["ScheduledActionARN"] !== undefined) { + contents.ScheduledActionARN = output["ScheduledActionARN"]; } - if (output["EndTime"] !== undefined) { - contents.EndTime = new Date(output["EndTime"]); + if (output["MaxSize"] !== undefined) { + contents.MaxSize = parseInt(output["MaxSize"]); } return contents; }; @@ -8398,18 +8398,18 @@ const deserializeAws_queryStartInstanceRefreshAnswer = ( const deserializeAws_queryStepAdjustment = (output: any, context: __SerdeContext): StepAdjustment => { let contents: any = { - MetricIntervalLowerBound: undefined, - MetricIntervalUpperBound: undefined, ScalingAdjustment: undefined, + MetricIntervalUpperBound: undefined, + MetricIntervalLowerBound: undefined, }; - if (output["MetricIntervalLowerBound"] !== undefined) { - contents.MetricIntervalLowerBound = parseFloat(output["MetricIntervalLowerBound"]); + if (output["ScalingAdjustment"] !== undefined) { + contents.ScalingAdjustment = parseInt(output["ScalingAdjustment"]); } if (output["MetricIntervalUpperBound"] !== undefined) { contents.MetricIntervalUpperBound = parseFloat(output["MetricIntervalUpperBound"]); } - if (output["ScalingAdjustment"] !== undefined) { - contents.ScalingAdjustment = parseInt(output["ScalingAdjustment"]); + if (output["MetricIntervalLowerBound"] !== undefined) { + contents.MetricIntervalLowerBound = parseFloat(output["MetricIntervalLowerBound"]); } return contents; }; @@ -8438,18 +8438,12 @@ const deserializeAws_querySuspendedProcesses = (output: any, context: __SerdeCon const deserializeAws_queryTagDescription = (output: any, context: __SerdeContext): TagDescription => { let contents: any = { - PropagateAtLaunch: undefined, - Key: undefined, ResourceId: undefined, Value: undefined, ResourceType: undefined, + Key: undefined, + PropagateAtLaunch: undefined, }; - if (output["PropagateAtLaunch"] !== undefined) { - contents.PropagateAtLaunch = output["PropagateAtLaunch"] == "true"; - } - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; - } if (output["ResourceId"] !== undefined) { contents.ResourceId = output["ResourceId"]; } @@ -8459,6 +8453,12 @@ const deserializeAws_queryTagDescription = (output: any, context: __SerdeContext if (output["ResourceType"] !== undefined) { contents.ResourceType = output["ResourceType"]; } + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; + } + if (output["PropagateAtLaunch"] !== undefined) { + contents.PropagateAtLaunch = output["PropagateAtLaunch"] == "true"; + } return contents; }; @@ -8468,18 +8468,18 @@ const deserializeAws_queryTagDescriptionList = (output: any, context: __SerdeCon const deserializeAws_queryTagsType = (output: any, context: __SerdeContext): TagsType => { let contents: any = { - NextToken: undefined, Tags: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.Tags === "") { contents.Tags = []; } if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { contents.Tags = deserializeAws_queryTagDescriptionList(__getArrayIfSingleItem(output["Tags"]["member"]), context); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -8492,29 +8492,29 @@ const deserializeAws_queryTargetTrackingConfiguration = ( context: __SerdeContext ): TargetTrackingConfiguration => { let contents: any = { - DisableScaleIn: undefined, - PredefinedMetricSpecification: undefined, CustomizedMetricSpecification: undefined, + DisableScaleIn: undefined, TargetValue: undefined, + PredefinedMetricSpecification: undefined, }; - if (output["DisableScaleIn"] !== undefined) { - contents.DisableScaleIn = output["DisableScaleIn"] == "true"; - } - if (output["PredefinedMetricSpecification"] !== undefined) { - contents.PredefinedMetricSpecification = deserializeAws_queryPredefinedMetricSpecification( - output["PredefinedMetricSpecification"], - context - ); - } if (output["CustomizedMetricSpecification"] !== undefined) { contents.CustomizedMetricSpecification = deserializeAws_queryCustomizedMetricSpecification( output["CustomizedMetricSpecification"], context ); } + if (output["DisableScaleIn"] !== undefined) { + contents.DisableScaleIn = output["DisableScaleIn"] == "true"; + } if (output["TargetValue"] !== undefined) { contents.TargetValue = parseFloat(output["TargetValue"]); } + if (output["PredefinedMetricSpecification"] !== undefined) { + contents.PredefinedMetricSpecification = deserializeAws_queryPredefinedMetricSpecification( + output["PredefinedMetricSpecification"], + context + ); + } return contents; }; diff --git a/clients/client-backup/Backup.ts b/clients/client-backup/Backup.ts index bc109667ab67..babeb6d10650 100644 --- a/clients/client-backup/Backup.ts +++ b/clients/client-backup/Backup.ts @@ -241,10 +241,10 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; */ export class Backup extends BackupClient { /** - *

                Backup plans are documents that contain information that AWS Backup uses to schedule - * tasks that create recovery points of resources.

                - *

                If you call CreateBackupPlan with a plan that already exists, an - * AlreadyExistsException is returned.

                + *

                Creates a backup plan using a backup plan name and backup rules. A backup plan is a + * document that contains information that AWS Backup uses to schedule tasks that create + * recovery points for resources.

                + *

                If you call CreateBackupPlan with a plan that already exists, an AlreadyExistsException is returned.

                */ public createBackupPlan( args: CreateBackupPlanCommandInput, @@ -294,7 +294,7 @@ export class Backup extends BackupClient { * ConditionValue:"finance" *

                *

                - * ConditionType:"STRINGEQUALS" + * ConditionType:"StringEquals" *

                * *
              • @@ -305,17 +305,17 @@ export class Backup extends BackupClient { * ConditionValue:"critical" *

                *

                - * ConditionType:"STRINGEQUALS" + * ConditionType:"StringEquals" *

                *
              • *
              *

              Using these patterns would back up all Amazon Elastic Block Store (Amazon EBS) volumes * that are tagged as "department=finance", "importance=critical", - * in addition to an EBS volume with the specified volume Id.

              + * in addition to an EBS volume with the specified volume ID.

              *

              Resources and conditions are additive in that all resources that match the pattern are * selected. This shouldn't be confused with a logical AND, where all conditions must match. - * The matching patterns are logically 'put together using the OR - * operator. In other words, all patterns that match are selected for backup.

              + * The matching patterns are logically put together using the OR operator. + * In other words, all patterns that match are selected for backup.

              */ public createBackupSelection( args: CreateBackupSelectionCommandInput, @@ -581,7 +581,7 @@ export class Backup extends BackupClient { } /** - *

              Returns metadata associated with creating a backup of a resource.

              + *

              Returns backup job details for the specified BackupJobId.

              */ public describeBackupJob( args: DescribeBackupJobCommandInput, @@ -744,9 +744,9 @@ export class Backup extends BackupClient { /** *

              Returns the current service opt-in settings for the Region. If the service has a value - * set to true, AWS Backup attempts to protect that service's resources in this + * set to true, AWS Backup tries to protect that service's resources in this * Region, when included in an on-demand backup or scheduled backup plan. If the value is set - * to false for a service, AWS Backup does not attempt to protect that service's + * to false for a service, AWS Backup does not try to protect that service's * resources in this Region.

              */ public describeRegionSettings( @@ -843,7 +843,9 @@ export class Backup extends BackupClient { } /** - *

              Returns the body of a backup plan in JSON format, in addition to plan metadata.

              + *

              Returns BackupPlan details for the specified BackupPlanId. + * Returns the body of a + * backup plan in JSON format, in addition to plan metadata.

              */ public getBackupPlan( args: GetBackupPlanCommandInput, @@ -1101,7 +1103,7 @@ export class Backup extends BackupClient { } /** - *

              Returns metadata about your backup jobs.

              + *

              Returns a list of existing backup jobs for an authenticated account.

              */ public listBackupJobs( args: ListBackupJobsCommandInput, @@ -1133,9 +1135,10 @@ export class Backup extends BackupClient { } /** - *

              Returns metadata of your saved backup plans, including Amazon Resource Names (ARNs), - * plan IDs, creation and deletion dates, version IDs, plan names, and creator request - * IDs.

              + *

              Returns a list of existing backup plans for an authenticated account. The list is + * populated only if the advanced option is set for the backup plan. The list contains + * information such as Amazon Resource Names (ARNs), plan IDs, creation and deletion dates, + * version IDs, plan names, and creator request IDs.

              */ public listBackupPlans( args: ListBackupPlansCommandInput, @@ -1557,7 +1560,7 @@ export class Backup extends BackupClient { } /** - *

              Starts a job to create a one-time backup of the specified resource.

              + *

              Starts an on-demand backup job for the specified resource.

              */ public startBackupJob( args: StartBackupJobCommandInput, @@ -1745,7 +1748,7 @@ export class Backup extends BackupClient { } /** - *

              Replaces the body of a saved backup plan identified by its backupPlanId + *

              Updates an existing backup plan identified by its backupPlanId * with the input document in JSON format. The new version is uniquely identified by a * VersionId.

              */ @@ -1819,9 +1822,9 @@ export class Backup extends BackupClient { /** *

              Updates the current service opt-in settings for the Region. If the service has a value - * set to true, AWS Backup attempts to protect that service's resources in this + * set to true, AWS Backup tries to protect that service's resources in this * Region, when included in an on-demand backup or scheduled backup plan. If the value is set - * to false for a service, AWS Backup does not attempt to protect that service's + * to false for a service, AWS Backup does not try to protect that service's * resources in this Region.

              */ public updateRegionSettings( diff --git a/clients/client-backup/models/models_0.ts b/clients/client-backup/models/models_0.ts index 6e1d9292beae..69321235b0b3 100644 --- a/clients/client-backup/models/models_0.ts +++ b/clients/client-backup/models/models_0.ts @@ -1,24 +1,54 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +/** + *

              A list of backup options for each resource type.

              + */ +export interface AdvancedBackupSetting { + /** + *

              Specifies the backup option for a selected resource. This option is only available for + * Windows VSS backup jobs.

              + *

              Valid value: "WindowsVSS”:“enabled". If enabled, creates a VSS Windows backup; + * otherwise, creates a regular backup.

              + *

              If you specify an invalid option, you get an InvalidParameterValueException + * exception.

              + *

              For more information about Windows VSS backups, see Creating a VSS-Enabled Windows + * Backup.

              + */ + BackupOptions?: { [key: string]: string }; + + /** + *

              The type of AWS resource to be backed up. For VSS Windows backups, the only supported + * resource type is Amazon EC2.

              + *

              Valid values: EC2.

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

              The required resource already exists.

              */ export interface AlreadyExistsException extends __SmithyException, $MetadataBearer { name: "AlreadyExistsException"; $fault: "client"; - Message?: string; - Code?: string; /** *

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

              */ Context?: string; + Code?: string; + Message?: string; /** *

              */ @@ -27,7 +57,7 @@ export interface AlreadyExistsException extends __SmithyException, $MetadataBear /** *

              */ - Type?: string; + Arn?: string; } export namespace AlreadyExistsException { @@ -42,16 +72,9 @@ export namespace AlreadyExistsException { */ export interface RecoveryPointCreator { /** - *

              Uniquely identifies a rule used to schedule the backup of a selection of - * resources.

              - */ - BackupRuleId?: string; - - /** - *

              An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, - * arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

              + *

              Uniquely identifies a backup plan.

              */ - BackupPlanArn?: string; + BackupPlanId?: string; /** *

              Version IDs are unique, randomly generated, Unicode, UTF-8 encoded strings that are at @@ -60,9 +83,16 @@ export interface RecoveryPointCreator { BackupPlanVersion?: string; /** - *

              Uniquely identifies a backup plan.

              + *

              Uniquely identifies a rule used to schedule the backup of a selection of + * resources.

              */ - BackupPlanId?: string; + BackupRuleId?: string; + + /** + *

              An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, + * arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

              + */ + BackupPlanArn?: string; } export namespace RecoveryPointCreator { @@ -87,65 +117,62 @@ export enum BackupJobState { */ export interface BackupJob { /** - *

              The date and time a job to create a backup job is completed, in Unix format and - * Coordinated Universal Time (UTC). The value of CompletionDate is accurate to - * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 - * 12:11:30.087 AM.

              + *

              Contains an estimated percentage complete of a job at the time the job status was + * queried.

              */ - CompletionDate?: Date; + PercentDone?: string; /** - *

              The name of a logical container where backups are stored. Backup vaults are identified - * by names that are unique to the account used to create them and the AWS Region where they - * are created. They consist of lowercase letters, numbers, and hyphens.

              + *

              Specifies the backup option for a selected resource. This option is only available for + * Windows VSS backup jobs.

              + *

              Valid value: "WindowsVSS”:“enabled". If enabled, creates a VSS Windows backup; + * otherwise, creates a regular backup. If you specify an invalid option, you get an + * InvalidParameterValueException exception.

              */ - BackupVaultName?: string; + BackupOptions?: { [key: string]: string }; /** - *

              Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job - * must be started before it is canceled. The value is calculated by adding the start window - * to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2 - * hours, the StartBy time would be 8:00 PM on the date specified. The value of - * StartBy is accurate to milliseconds. For example, the value 1516925490.087 - * represents Friday, January 26, 2018 12:11:30.087 AM.

              + *

              A detailed message explaining the status of the job to back up a resource.

              */ - StartBy?: Date; + StatusMessage?: string; /** - *

              Specifies the IAM role ARN used to create the target recovery point; for example, - * arn:aws:iam::123456789012:role/S3Access.

              + *

              Represents the type of backup for a backup job.

              */ - IamRoleArn?: string; + BackupType?: string; /** - *

              The current state of a resource recovery point.

              + *

              The account ID that owns the backup job.

              */ - State?: BackupJobState | string; + AccountId?: string; /** - *

              The date and time a backup job is created, in Unix format and Coordinated Universal Time - * (UTC). The value of CreationDate is accurate to milliseconds. For example, the - * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

              + *

              The date and time a job to back up resources is expected to be completed, in Unix format + * and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is + * accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January + * 26, 2018 12:11:30.087 AM.

              */ - CreationDate?: Date; + ExpectedCompletionDate?: Date; /** - *

              Contains identifying information about the creation of a backup job, including the - * BackupPlanArn, BackupPlanId, BackupPlanVersion, - * and BackupRuleId of the backup plan used to create it.

              + *

              Uniquely identifies a request to AWS Backup to back up a resource.

              */ - CreatedBy?: RecoveryPointCreator; + BackupJobId?: string; /** - *

              An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, - * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              + *

              The date and time a backup job is created, in Unix format and Coordinated Universal Time + * (UTC). The value of CreationDate is accurate to milliseconds. For example, the + * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

              */ - BackupVaultArn?: string; + CreationDate?: Date; /** - *

              A detailed message explaining the status of the job to back up a resource.

              + *

              The date and time a job to create a backup job is completed, in Unix format and + * Coordinated Universal Time (UTC). The value of CompletionDate is accurate to + * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 + * 12:11:30.087 AM.

              */ - StatusMessage?: string; + CompletionDate?: Date; /** *

              The size in bytes transferred to a backup vault at the time that the job status was @@ -154,34 +181,45 @@ export interface BackupJob { BytesTransferred?: number; /** - *

              Uniquely identifies a request to AWS Backup to back up a resource.

              + *

              Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job + * must be started before it is canceled. The value is calculated by adding the start window + * to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2 + * hours, the StartBy time would be 8:00 PM on the date specified. The value of + * StartBy is accurate to milliseconds. For example, the value 1516925490.087 + * represents Friday, January 26, 2018 12:11:30.087 AM.

              */ - BackupJobId?: string; + StartBy?: Date; /** - *

              The date and time a job to back up resources is expected to be completed, in Unix format - * and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is - * accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January - * 26, 2018 12:11:30.087 AM.

              + *

              An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, + * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              */ - ExpectedCompletionDate?: Date; + BackupVaultArn?: string; /** - *

              Contains an estimated percentage complete of a job at the time the job status was - * queried.

              + *

              Specifies the IAM role ARN used to create the target recovery point; for example, + * arn:aws:iam::123456789012:role/S3Access.

              */ - PercentDone?: string; + IamRoleArn?: string; /** - *

              The account ID that owns the backup job.

              + *

              Contains identifying information about the creation of a backup job, including the + * BackupPlanArn, BackupPlanId, BackupPlanVersion, + * and BackupRuleId of the backup plan used to create it.

              */ - AccountId?: string; + CreatedBy?: RecoveryPointCreator; /** - *

              The type of AWS resource to be backed up; for example, an Amazon Elastic Block Store - * (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

              + *

              The current state of a resource recovery point.

              */ - ResourceType?: string; + State?: BackupJobState | string; + + /** + *

              The name of a logical container where backups are stored. Backup vaults are identified + * by names that are unique to the account used to create them and the AWS Region where they + * are created. They consist of lowercase letters, numbers, and hyphens.

              + */ + BackupVaultName?: string; /** *

              An ARN that uniquely identifies a resource. The format of the ARN depends on the @@ -189,6 +227,12 @@ export interface BackupJob { */ ResourceArn?: string; + /** + *

              The type of AWS resource to be backed up; for example, an Amazon Elastic Block Store + * (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database. For VSS Windows backups, the only supported resource type is Amazon EC2.

              + */ + ResourceType?: string; + /** *

              The size, in bytes, of a backup.

              */ @@ -239,13 +283,6 @@ export namespace Lifecycle { *

              The details of the copy operation.

              */ export interface CopyAction { - /** - *

              An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for - * the copied backup. For example, - * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

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

              Contains an array of Transition objects specifying how long in days before * a recovery point transitions to cold storage or is deleted.

              @@ -255,6 +292,13 @@ export interface CopyAction { * setting cannot be changed after a backup has been transitioned to cold.

              */ Lifecycle?: Lifecycle; + + /** + *

              An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for + * the copied backup. For example, + * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              + */ + DestinationBackupVaultArn: string | undefined; } export namespace CopyAction { @@ -268,21 +312,15 @@ export namespace CopyAction { */ export interface BackupRule { /** - *

              The name of a logical container where backups are stored. Backup vaults are identified - * by names that are unique to the account used to create them and the AWS Region where they - * are created. They consist of lowercase letters, numbers, and hyphens.

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

              A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by AWS Backup. This value is optional.

              + *

              An array of key-value pair strings that are assigned to resources that are associated + * with this rule when restored from backup.

              */ - CompletionWindowMinutes?: number; + RecoveryPointTags?: { [key: string]: string }; /** - *

              A CRON expression specifying when AWS Backup initiates a backup job.

              + *

              An array of CopyAction objects, which contains the details of the copy operation.

              */ - ScheduleExpression?: string; + CopyActions?: CopyAction[]; /** *

              The lifecycle defines when a protected resource is transitioned to cold storage and when @@ -296,31 +334,37 @@ export interface BackupRule { Lifecycle?: Lifecycle; /** - *

              Uniquely identifies a rule that is used to schedule the backup of a selection of - * resources.

              + *

              An optional display name for a backup rule.

              */ - RuleId?: string; + RuleName: string | undefined; /** - *

              An array of key-value pair strings that are assigned to resources that are associated - * with this rule when restored from backup.

              + *

              A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional.

              */ - RecoveryPointTags?: { [key: string]: string }; + StartWindowMinutes?: number; /** - *

              A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional.

              + *

              A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by AWS Backup. This value is optional.

              */ - StartWindowMinutes?: number; + CompletionWindowMinutes?: number; /** - *

              An optional display name for a backup rule.

              + *

              The name of a logical container where backups are stored. Backup vaults are identified + * by names that are unique to the account used to create them and the AWS Region where they + * are created. They consist of lowercase letters, numbers, and hyphens.

              */ - RuleName: string | undefined; + TargetBackupVaultName: string | undefined; /** - *

              An array of CopyAction objects, which contains the details of the copy operation.

              + *

              A CRON expression specifying when AWS Backup initiates a backup job.

              */ - CopyActions?: CopyAction[]; + ScheduleExpression?: string; + + /** + *

              Uniquely identifies a rule that is used to schedule the backup of a selection of + * resources.

              + */ + RuleId?: string; } export namespace BackupRule { @@ -336,6 +380,11 @@ export namespace BackupRule { * scheduled task and can back up a different selection of AWS resources.

              */ export interface BackupPlan { + /** + *

              Contains a list of BackupOptions for each resource type.

              + */ + AdvancedBackupSettings?: AdvancedBackupSetting[]; + /** *

              The display name of a backup plan.

              */ @@ -359,37 +408,22 @@ export namespace BackupPlan { *

              Specifies a scheduled task used to back up a selection of resources.

              */ export interface BackupRuleInput { - /** - *

              To help organize your resources, you can assign your own metadata to the resources that - * you create. Each tag is a key-value pair.

              - */ - RecoveryPointTags?: { [key: string]: string }; - /** *

              An optional display name for a backup rule.

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

              A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional.

              - */ - StartWindowMinutes?: number; - - /** - *

              A CRON expression specifying when AWS Backup initiates a backup job.

              + *

              To help organize your resources, you can assign your own metadata to the resources that + * you create. Each tag is a key-value pair.

              */ - ScheduleExpression?: string; + RecoveryPointTags?: { [key: string]: string }; /** *

              An array of CopyAction objects, which contains the details of the copy operation.

              */ CopyActions?: CopyAction[]; - /** - *

              A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by AWS Backup. This value is optional.

              - */ - CompletionWindowMinutes?: number; - /** *

              The lifecycle defines when a protected resource is transitioned to cold storage and when * it expires. AWS Backup will transition and expire backups automatically according to the @@ -401,6 +435,21 @@ export interface BackupRuleInput { */ Lifecycle?: Lifecycle; + /** + *

              A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by AWS Backup. This value is optional.

              + */ + CompletionWindowMinutes?: number; + + /** + *

              A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional.

              + */ + StartWindowMinutes?: number; + + /** + *

              A CRON expression specifying when AWS Backup initiates a backup job.

              + */ + ScheduleExpression?: string; + /** *

              The name of a logical container where backups are stored. Backup vaults are identified * by names that are unique to the account used to create them and the AWS Region where they @@ -423,15 +472,20 @@ export namespace BackupRuleInput { */ export interface BackupPlanInput { /** - *

              An array of BackupRule objects, each of which specifies a scheduled task - * that is used to back up a selection of resources.

              + *

              The optional display name of a backup plan.

              */ - Rules: BackupRuleInput[] | undefined; + BackupPlanName: string | undefined; /** - *

              The optional display name of a backup plan.

              + *

              Specifies a list of BackupOptions for each resource type. These settings are only available for Windows VSS backup jobs.

              */ - BackupPlanName: string | undefined; + AdvancedBackupSettings?: AdvancedBackupSetting[]; + + /** + *

              An array of BackupRule objects, each of which specifies a scheduled task + * that is used to back up a selection of resources.

              + */ + Rules: BackupRuleInput[] | undefined; } export namespace BackupPlanInput { @@ -446,10 +500,10 @@ export namespace BackupPlanInput { */ export interface BackupPlansListMember { /** - *

              Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes - * long. Version IDs cannot be edited.

              + *

              An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, + * arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

              */ - VersionId?: string; + BackupPlanArn?: string; /** *

              The date and time a resource backup plan is created, in Unix format and Coordinated @@ -462,22 +516,27 @@ export interface BackupPlansListMember { /** *

              The display name of a saved backup plan.

              */ - BackupPlanName?: string; - - /** - *

              An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, - * arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

              - */ - BackupPlanArn?: string; + BackupPlanName?: string; /** - *

              The last time a job to back up resources was executed with this rule. A date and time, - * in Unix format and Coordinated Universal Time (UTC). The value of + *

              The last time a job to back up resources was run with this rule. A date and time, in + * Unix format and Coordinated Universal Time (UTC). The value of * LastExecutionDate is accurate to milliseconds. For example, the value * 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

              */ LastExecutionDate?: Date; + /** + *

              Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes + * long. Version IDs cannot be edited.

              + */ + VersionId?: string; + + /** + *

              Contains a list of BackupOptions for a resource type.

              + */ + AdvancedBackupSettings?: AdvancedBackupSetting[]; + /** *

              The date and time a backup plan is deleted, in Unix format and Coordinated Universal * Time (UTC). The value of DeletionDate is accurate to milliseconds. For @@ -487,15 +546,15 @@ export interface BackupPlansListMember { DeletionDate?: Date; /** - *

              Uniquely identifies a backup plan.

              + *

              A unique string that identifies the request and allows failed requests to be retried + * without the risk of running the operation twice.

              */ - BackupPlanId?: string; + CreatorRequestId?: string; /** - *

              A unique string that identifies the request and allows failed requests to be retried - * without the risk of executing the operation twice.

              + *

              Uniquely identifies a backup plan.

              */ - CreatorRequestId?: string; + BackupPlanId?: string; } export namespace BackupPlansListMember { @@ -531,12 +590,12 @@ export enum ConditionType { /** *

              Contains an array of triplets made up of a condition type (such as - * STRINGEQUALS), a key, and a value. Conditions are used to filter resources + * StringEquals), a key, and a value. Conditions are used to filter resources * in a selection that is assigned to a backup plan.

              */ export interface Condition { /** - *

              An operation, such as STRINGEQUALS, that is applied to a key-value pair + *

              An operation, such as StringEquals, that is applied to a key-value pair * used to filter resources in a selection.

              */ ConditionType: ConditionType | string | undefined; @@ -565,11 +624,9 @@ export namespace Condition { */ export interface BackupSelection { /** - *

              An array of conditions used to specify a set of resources to assign to a backup plan; - * for example, "STRINGEQUALS": {"ec2:ResourceTag/Department": - * "accounting".

              + *

              The display name of a resource selection document.

              */ - ListOfTags?: Condition[]; + SelectionName: string | undefined; /** *

              An array of strings that contain Amazon Resource Names (ARNs) of resources to assign @@ -578,15 +635,17 @@ export interface BackupSelection { Resources?: string[]; /** - *

              The ARN of the IAM role that AWS Backup uses to authenticate when restoring the target + *

              The ARN of the IAM role that AWS Backup uses to authenticate when backing up the target * resource; for example, arn:aws:iam::123456789012:role/S3Access.

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

              The display name of a resource selection document.

              + *

              An array of conditions used to specify a set of resources to assign to a backup plan; + * for example, "StringEquals": {"ec2:ResourceTag/Department": + * "accounting".

              */ - SelectionName: string | undefined; + ListOfTags?: Condition[]; } export namespace BackupSelection { @@ -599,6 +658,11 @@ export namespace BackupSelection { *

              Contains metadata about a BackupSelection object.

              */ export interface BackupSelectionsListMember { + /** + *

              Uniquely identifies a request to assign a set of resources to a backup plan.

              + */ + SelectionId?: string; + /** *

              Uniquely identifies a backup plan.

              */ @@ -606,15 +670,10 @@ export interface BackupSelectionsListMember { /** *

              A unique string that identifies the request and allows failed requests to be retried - * without the risk of executing the operation twice.

              + * without the risk of running the operation twice.

              */ CreatorRequestId?: string; - /** - *

              Uniquely identifies a request to assign a set of resources to a backup plan.

              - */ - SelectionId?: string; - /** *

              The display name of a resource selection document.

              */ @@ -663,12 +722,6 @@ export enum BackupVaultEvent { *

              Contains metadata about a backup vault.

              */ export interface BackupVaultListMember { - /** - *

              A unique string that identifies the request and allows failed requests to be retried - * without the risk of executing the operation twice.

              - */ - CreatorRequestId?: string; - /** *

              The server-side encryption key that is used to protect your backups; for example, * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

              @@ -694,6 +747,12 @@ export interface BackupVaultListMember { */ NumberOfRecoveryPoints?: number; + /** + *

              A unique string that identifies the request and allows failed requests to be retried + * without the risk of running the operation twice.

              + */ + CreatorRequestId?: string; + /** *

              The name of a logical container where backups are stored. Backup vaults are identified * by names that are unique to the account used to create them and the AWS Region where they @@ -749,22 +808,27 @@ export enum CopyJobState { */ export interface CopyJob { /** - *

              The date and time a copy job is completed, in Unix format and Coordinated Universal Time (UTC). The - * value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 + *

              The date and time a copy job is created, in Unix format and Coordinated Universal Time (UTC). The + * value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 * represents Friday, January 26, 2018 12:11:30.087 AM.

              */ - CompletionDate?: Date; + CreationDate?: Date; /** - *

              The current state of a copy job.

              + *

              An ARN that uniquely identifies a destination recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

              */ - State?: CopyJobState | string; + DestinationRecoveryPointArn?: string; /** - *

              An ARN that uniquely identifies a source recovery point; for example, - * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

              + *

              The account ID that owns the copy job.

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

              The current state of a copy job.

              + */ + State?: CopyJobState | string; /** *

              An Amazon Resource Name (ARN) that uniquely identifies a destination copy vault; for @@ -778,19 +842,18 @@ export interface CopyJob { */ SourceBackupVaultArn?: string; - /** - *

              The date and time a copy job is created, in Unix format and Coordinated Universal Time (UTC). The - * value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 - * represents Friday, January 26, 2018 12:11:30.087 AM.

              - */ - CreationDate?: Date; - /** *

              Specifies the IAM role ARN used to copy the target recovery point; for example, * arn:aws:iam::123456789012:role/S3Access.

              */ IamRoleArn?: string; + /** + *

              An ARN that uniquely identifies a source recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

              + */ + SourceRecoveryPointArn?: string; + /** *

              Contains information about the backup plan and rule that AWS Backup used to initiate the * recovery point backup.

              @@ -798,15 +861,22 @@ export interface CopyJob { CreatedBy?: RecoveryPointCreator; /** - *

              An ARN that uniquely identifies a destination recovery point; for example, - * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

              + *

              The AWS resource to be copied; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an + * Amazon Relational Database Service (Amazon RDS) database.

              */ - DestinationRecoveryPointArn?: string; + ResourceArn?: string; /** - *

              The account ID that owns the copy job.

              + *

              The date and time a copy job is completed, in Unix format and Coordinated Universal Time (UTC). The + * value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 + * represents Friday, January 26, 2018 12:11:30.087 AM.

              */ - AccountId?: string; + CompletionDate?: Date; + + /** + *

              A detailed message explaining the status of the job to copy a resource.

              + */ + StatusMessage?: string; /** *

              The size, in bytes, of a copy job.

              @@ -818,21 +888,10 @@ export interface CopyJob { */ CopyJobId?: string; - /** - *

              A detailed message explaining the status of the job to copy a resource.

              - */ - StatusMessage?: string; - - /** - *

              The AWS resource to be copied; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an - * Amazon Relational Database Service (Amazon RDS) database.

              - */ - ResourceArn?: string; - /** *

              The type of AWS resource to be copied; * for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon - * Relational Database Service (Amazon RDS) database.

              + * Relational Database Service (Amazon RDS) database.

              */ ResourceType?: string; } @@ -844,12 +903,6 @@ export namespace CopyJob { } export interface CreateBackupPlanInput { - /** - *

              Specifies the body of a backup plan. Includes a BackupPlanName and one or - * more sets of Rules.

              - */ - BackupPlan: BackupPlanInput | undefined; - /** *

              To help organize your resources, you can assign your own metadata to the resources that * you create. Each tag is a key-value pair. The specified tags are assigned to all backups @@ -857,10 +910,17 @@ export interface CreateBackupPlanInput { */ BackupPlanTags?: { [key: string]: string }; + /** + *

              Specifies the body of a backup plan. Includes a BackupPlanName and one or + * more sets of Rules.

              + */ + BackupPlan: BackupPlanInput | undefined; + /** *

              Identifies the request and allows failed requests to be retried without the risk of - * executing the operation twice. If the request includes a CreatorRequestId that - * matches an existing backup plan, that plan is returned. This parameter is optional.

              + * running + * the operation twice. If the request includes a CreatorRequestId that matches + * an existing backup plan, that plan is returned. This parameter is optional.

              */ CreatorRequestId?: string; } @@ -868,12 +928,16 @@ export interface CreateBackupPlanInput { export namespace CreateBackupPlanInput { export const filterSensitiveLog = (obj: CreateBackupPlanInput): any => ({ ...obj, - ...(obj.BackupPlan && { BackupPlan: BackupPlanInput.filterSensitiveLog(obj.BackupPlan) }), ...(obj.BackupPlanTags && { BackupPlanTags: SENSITIVE_STRING }), }); } export interface CreateBackupPlanOutput { + /** + *

              A list of BackupOptions settings for a resource type. This option is only available for Windows VSS backup jobs.

              + */ + AdvancedBackupSettings?: AdvancedBackupSetting[]; + /** *

              The date and time that a backup plan is created, in Unix format and Coordinated * Universal Time (UTC). The value of CreationDate is accurate to milliseconds. @@ -883,15 +947,15 @@ export interface CreateBackupPlanOutput { CreationDate?: Date; /** - *

              Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes - * long. They cannot be edited.

              + *

              Uniquely identifies a backup plan.

              */ - VersionId?: string; + BackupPlanId?: string; /** - *

              Uniquely identifies a backup plan.

              + *

              Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes + * long. They cannot be edited.

              */ - BackupPlanId?: string; + VersionId?: string; /** *

              An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, @@ -940,13 +1004,13 @@ export namespace InvalidParameterValueException { export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; $fault: "client"; - Code?: string; - Message?: string; /** *

              */ Type?: string; + Message?: string; + Code?: string; /** *

              */ @@ -965,17 +1029,17 @@ export namespace LimitExceededException { export interface MissingParameterValueException extends __SmithyException, $MetadataBearer { name: "MissingParameterValueException"; $fault: "client"; - Code?: string; Message?: string; + Code?: string; /** *

              */ - Type?: string; + Context?: string; /** *

              */ - Context?: string; + Type?: string; } export namespace MissingParameterValueException { @@ -995,12 +1059,12 @@ export interface ServiceUnavailableException extends __SmithyException, $Metadat */ Type?: string; - Message?: string; /** *

              */ Context?: string; + Message?: string; Code?: string; } @@ -1013,20 +1077,20 @@ export namespace ServiceUnavailableException { export interface CreateBackupSelectionInput { /** *

              A unique string that identifies the request and allows failed requests to be retried - * without the risk of executing the operation twice.

              + * without the risk of running the operation twice.

              */ CreatorRequestId?: string; /** - *

              Uniquely identifies the backup plan to be associated with the selection of - * resources.

              + *

              Specifies the body of a request to assign a set of resources to a backup plan.

              */ - BackupPlanId: string | undefined; + BackupSelection: BackupSelection | undefined; /** - *

              Specifies the body of a request to assign a set of resources to a backup plan.

              + *

              Uniquely identifies the backup plan to be associated with the selection of + * resources.

              */ - BackupSelection: BackupSelection | undefined; + BackupPlanId: string | undefined; } export namespace CreateBackupSelectionInput { @@ -1037,15 +1101,15 @@ export namespace CreateBackupSelectionInput { export interface CreateBackupSelectionOutput { /** - *

              Uniquely identifies the body of a request to assign a set of resources to a backup - * plan.

              + *

              Uniquely identifies a backup plan.

              */ - SelectionId?: string; + BackupPlanId?: string; /** - *

              Uniquely identifies a backup plan.

              + *

              Uniquely identifies the body of a request to assign a set of resources to a backup + * plan.

              */ - BackupPlanId?: string; + SelectionId?: string; /** *

              The date and time a backup selection is created, in Unix format and Coordinated @@ -1064,11 +1128,10 @@ export namespace CreateBackupSelectionOutput { export interface CreateBackupVaultInput { /** - *

              The name of a logical container where backups are stored. Backup vaults are identified - * by names that are unique to the account used to create them and the AWS Region where they - * are created. They consist of lowercase letters, numbers, and hyphens.

              + *

              Metadata that you can assign to help organize the resources that you create. Each tag is + * a key-value pair.

              */ - BackupVaultName: string | undefined; + BackupVaultTags?: { [key: string]: string }; /** *

              The server-side encryption key that is used to protect your backups; for example, @@ -1077,16 +1140,17 @@ export interface CreateBackupVaultInput { EncryptionKeyArn?: string; /** - *

              A unique string that identifies the request and allows failed requests to be retried - * without the risk of executing the operation twice.

              + *

              The name of a logical container where backups are stored. Backup vaults are identified + * by names that are unique to the account used to create them and the AWS Region where they + * are created. They consist of lowercase letters, numbers, and hyphens.

              */ - CreatorRequestId?: string; + BackupVaultName: string | undefined; /** - *

              Metadata that you can assign to help organize the resources that you create. Each tag is - * a key-value pair.

              + *

              A unique string that identifies the request and allows failed requests to be retried + * without the risk of running the operation twice.

              */ - BackupVaultTags?: { [key: string]: string }; + CreatorRequestId?: string; } export namespace CreateBackupVaultInput { @@ -1097,13 +1161,6 @@ export namespace CreateBackupVaultInput { } export interface CreateBackupVaultOutput { - /** - *

              The name of a logical container where backups are stored. Backup vaults are identified - * by names that are unique to the account used to create them and the Region where they are - * created. They consist of lowercase letters, numbers, and hyphens.

              - */ - BackupVaultName?: string; - /** *

              An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              @@ -1117,6 +1174,13 @@ export interface CreateBackupVaultOutput { * AM.

              */ CreationDate?: Date; + + /** + *

              The name of a logical container where backups are stored. Backup vaults are identified + * by names that are unique to the account used to create them and the Region where they are + * created. They consist of lowercase letters, numbers, and hyphens.

              + */ + BackupVaultName?: string; } export namespace CreateBackupVaultOutput { @@ -1140,10 +1204,15 @@ export namespace DeleteBackupPlanInput { export interface DeleteBackupPlanOutput { /** - *

              An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, - * arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

              + *

              Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes + * long. Version IDs cannot be edited.

              */ - BackupPlanArn?: string; + VersionId?: string; + + /** + *

              Uniquely identifies a backup plan.

              + */ + BackupPlanId?: string; /** *

              The date and time a backup plan is deleted, in Unix format and Coordinated Universal @@ -1154,15 +1223,10 @@ export interface DeleteBackupPlanOutput { DeletionDate?: Date; /** - *

              Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes - * long. Version Ids cannot be edited.

              - */ - VersionId?: string; - - /** - *

              Uniquely identifies a backup plan.

              + *

              An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, + * arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

              */ - BackupPlanId?: string; + BackupPlanArn?: string; } export namespace DeleteBackupPlanOutput { @@ -1178,13 +1242,13 @@ export namespace DeleteBackupPlanOutput { export interface InvalidRequestException extends __SmithyException, $MetadataBearer { name: "InvalidRequestException"; $fault: "client"; + Code?: string; + Message?: string; /** *

              */ Type?: string; - Message?: string; - Code?: string; /** *

              */ @@ -1203,13 +1267,13 @@ export namespace InvalidRequestException { export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; - Code?: string; Message?: string; /** *

              */ Type?: string; + Code?: string; /** *

              */ @@ -1223,16 +1287,16 @@ export namespace ResourceNotFoundException { } export interface DeleteBackupSelectionInput { - /** - *

              Uniquely identifies a backup plan.

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

              Uniquely identifies the body of a request to assign a set of resources to a backup * plan.

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

              Uniquely identifies a backup plan.

              + */ + BackupPlanId: string | undefined; } export namespace DeleteBackupSelectionInput { @@ -1314,17 +1378,18 @@ export namespace DeleteRecoveryPointInput { export interface DependencyFailureException extends __SmithyException, $MetadataBearer { name: "DependencyFailureException"; $fault: "server"; - Message?: string; /** *

              */ - Type?: string; + Context?: string; - Code?: string; /** *

              */ - Context?: string; + Type?: string; + + Code?: string; + Message?: string; } export namespace DependencyFailureException { @@ -1344,48 +1409,40 @@ export namespace DescribeBackupJobInput { export const filterSensitiveLog = (obj: DescribeBackupJobInput): any => ({ ...obj, }); -} - -export interface DescribeBackupJobOutput { - /** - *

              An ARN that uniquely identifies a recovery point; for example, - * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

              - */ - RecoveryPointArn?: string; +} +export interface DescribeBackupJobOutput { /** - *

              Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job - * must be started before it is canceled. The value is calculated by adding the start window - * to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2 - * hours, the StartBy time would be 8:00 PM on the date specified. The value of - * StartBy is accurate to milliseconds. For example, the value 1516925490.087 - * represents Friday, January 26, 2018 12:11:30.087 AM.

              + *

              Contains identifying information about the creation of a backup job, including the + * BackupPlanArn, BackupPlanId, BackupPlanVersion, + * and BackupRuleId of the backup plan that is used to create it.

              */ - StartBy?: Date; + CreatedBy?: RecoveryPointCreator; /** - *

              Uniquely identifies a request to AWS Backup to back up a resource.

              + *

              The type of AWS resource to be backed up; for example, an Amazon Elastic Block Store + * (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

              */ - BackupJobId?: string; + ResourceType?: string; /** - *

              A detailed message explaining the status of the job to back up a resource.

              + *

              The date and time that a backup job is created, in Unix format and Coordinated Universal + * Time (UTC). The value of CreationDate is accurate to milliseconds. For + * example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 + * AM.

              */ - StatusMessage?: string; + CreationDate?: Date; /** - *

              The date and time that a job to create a backup job is completed, in Unix format and - * Coordinated Universal Time (UTC). The value of CompletionDate is accurate to - * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 - * 12:11:30.087 AM.

              + *

              An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, + * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              */ - CompletionDate?: Date; + BackupVaultArn?: string; /** - *

              An ARN that uniquely identifies a saved resource. The format of the ARN depends on the - * resource type.

              + *

              The size, in bytes, of a backup.

              */ - ResourceArn?: string; + BackupSizeInBytes?: number; /** *

              The date and time that a job to back up resources is expected to be completed, in Unix @@ -1395,11 +1452,6 @@ export interface DescribeBackupJobOutput { */ ExpectedCompletionDate?: Date; - /** - *

              The size, in bytes, of a backup.

              - */ - BackupSizeInBytes?: number; - /** *

              The name of a logical container where backups are stored. Backup vaults are identified * by names that are unique to the account used to create them and the AWS Region where they @@ -1408,48 +1460,56 @@ export interface DescribeBackupJobOutput { BackupVaultName?: string; /** - *

              Specifies the IAM role ARN used to create the target recovery point; for example, - * arn:aws:iam::123456789012:role/S3Access.

              + *

              The date and time that a job to create a backup job is completed, in Unix format and + * Coordinated Universal Time (UTC). The value of CompletionDate is accurate to + * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 + * 12:11:30.087 AM.

              */ - IamRoleArn?: string; + CompletionDate?: Date; /** - *

              The type of AWS resource to be backed up; for example, an Amazon Elastic Block Store - * (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

              + *

              Represents the actual backup type selected for a backup job. For example, if a + * successful WindowsVSS backup was taken, BackupType returns “WindowsVSS”. If + * BackupType is empty, then it is a regular backup.

              */ - ResourceType?: string; + BackupType?: string; /** - *

              Contains identifying information about the creation of a backup job, including the - * BackupPlanArn, BackupPlanId, BackupPlanVersion, - * and BackupRuleId of the backup plan that is used to create it.

              + *

              An ARN that uniquely identifies a recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

              */ - CreatedBy?: RecoveryPointCreator; + RecoveryPointArn?: string; /** - *

              The size in bytes transferred to a backup vault at the time that the job status was - * queried.

              + *

              Represents the options specified as part of backup plan or on-demand backup job.

              */ - BytesTransferred?: number; + BackupOptions?: { [key: string]: string }; /** - *

              An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, - * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              + *

              Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job + * must be started before it is canceled. The value is calculated by adding the start window + * to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2 + * hours, the StartBy time would be 8:00 PM on the date specified. The value of + * StartBy is accurate to milliseconds. For example, the value 1516925490.087 + * represents Friday, January 26, 2018 12:11:30.087 AM.

              */ - BackupVaultArn?: string; + StartBy?: Date; /** - *

              Returns the account ID that owns the backup job.

              + *

              An ARN that uniquely identifies a saved resource. The format of the ARN depends on the + * resource type.

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

              The date and time that a backup job is created, in Unix format and Coordinated Universal - * Time (UTC). The value of CreationDate is accurate to milliseconds. For - * example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 - * AM.

              + *

              A detailed message explaining the status of the job to back up a resource.

              */ - CreationDate?: Date; + StatusMessage?: string; + + /** + *

              Returns the account ID that owns the backup job.

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

              Contains an estimated percentage that is complete of a job at the time the job status @@ -1457,10 +1517,27 @@ export interface DescribeBackupJobOutput { */ PercentDone?: string; + /** + *

              Specifies the IAM role ARN used to create the target recovery point; for example, + * arn:aws:iam::123456789012:role/S3Access.

              + */ + IamRoleArn?: string; + + /** + *

              Uniquely identifies a request to AWS Backup to back up a resource.

              + */ + BackupJobId?: string; + /** *

              The current state of a resource recovery point.

              */ State?: BackupJobState | string; + + /** + *

              The size in bytes transferred to a backup vault at the time that the job status was + * queried.

              + */ + BytesTransferred?: number; } export namespace DescribeBackupJobOutput { @@ -1485,24 +1562,18 @@ export namespace DescribeBackupVaultInput { } export interface DescribeBackupVaultOutput { - /** - *

              The number of recovery points that are stored in a backup vault.

              - */ - NumberOfRecoveryPoints?: number; - - /** - *

              The name of a logical container where backups are stored. Backup vaults are identified - * by names that are unique to the account used to create them and the Region where they are - * created. They consist of lowercase letters, numbers, and hyphens.

              - */ - BackupVaultName?: string; - /** *

              An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              */ BackupVaultArn?: string; + /** + *

              The server-side encryption key that is used to protect your backups; for example, + * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

              + */ + EncryptionKeyArn?: string; + /** *

              The date and time that a backup vault is created, in Unix format and Coordinated * Universal Time (UTC). The value of CreationDate is accurate to milliseconds. @@ -1512,14 +1583,20 @@ export interface DescribeBackupVaultOutput { CreationDate?: Date; /** - *

              The server-side encryption key that is used to protect your backups; for example, - * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

              + *

              The number of recovery points that are stored in a backup vault.

              */ - EncryptionKeyArn?: string; + NumberOfRecoveryPoints?: number; + + /** + *

              The name of a logical container where backups are stored. Backup vaults are identified + * by names that are unique to the account used to create them and the Region where they are + * created. They consist of lowercase letters, numbers, and hyphens.

              + */ + BackupVaultName?: string; /** *

              A unique string that identifies the request and allows failed requests to be retried - * without the risk of executing the operation twice.

              + * without the risk of running the operation twice.

              */ CreatorRequestId?: string; } @@ -1571,12 +1648,6 @@ export namespace DescribeProtectedResourceInput { } export interface DescribeProtectedResourceOutput { - /** - *

              An ARN that uniquely identifies a resource. The format of the ARN depends on the - * resource type.

              - */ - ResourceArn?: string; - /** *

              The date and time that a resource was last backed up, in Unix format and Coordinated * Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds. @@ -1585,6 +1656,12 @@ export interface DescribeProtectedResourceOutput { */ LastBackupTime?: Date; + /** + *

              An ARN that uniquely identifies a resource. The format of the ARN depends on the + * resource type.

              + */ + ResourceArn?: string; + /** *

              The type of AWS resource saved as a recovery point; for example, an EBS volume or an * Amazon RDS database.

              @@ -1634,35 +1711,31 @@ export enum StorageClass { export interface DescribeRecoveryPointOutput { /** - *

              The lifecycle defines when a protected resource is transitioned to cold storage and when - * it expires. AWS Backup transitions and expires backups automatically according to the - * lifecycle that you define.

              - *

              Backups that are transitioned to cold storage must be stored in cold storage for a - * minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than - * the “transition to cold after days” setting. The “transition to cold after days” setting - * cannot be changed after a backup has been transitioned to cold.

              + *

              Specifies the IAM role ARN used to create the target recovery point; for example, + * arn:aws:iam::123456789012:role/S3Access.

              */ - Lifecycle?: Lifecycle; + IamRoleArn?: string; /** - *

              The size, in bytes, of a backup.

              + *

              The date and time that a recovery point was last restored, in Unix format and + * Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate to + * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 + * 12:11:30.087 AM.

              */ - BackupSizeInBytes?: number; + LastRestoreTime?: Date; /** - *

              An ARN that uniquely identifies a backup vault; for example, - * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              + *

              The type of AWS resource to save as a recovery point; for example, an Amazon Elastic + * Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) + * database.

              */ - BackupVaultArn?: string; + ResourceType?: string; /** - *

              A status code specifying the state of the recovery point.

              - * - *

              A partial status indicates that the recovery point was not successfully re-created - * and must be retried.

              - *
              + *

              Specifies the storage class of the recovery point. Valid values are WARM or + * COLD.

              */ - Status?: RecoveryPointStatus | string; + StorageClass?: StorageClass | string; /** *

              The date and time that a recovery point is created, in Unix format and Coordinated @@ -1673,23 +1746,21 @@ export interface DescribeRecoveryPointOutput { CreationDate?: Date; /** - *

              The server-side encryption key used to protect your backups; for example, - * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

              - */ - EncryptionKeyArn?: string; - - /** - *

              Specifies the storage class of the recovery point. Valid values are WARM or - * COLD.

              + *

              The date and time that a job to create a recovery point is completed, in Unix format and + * Coordinated Universal Time (UTC). The value of CompletionDate is accurate to + * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 + * 12:11:30.087 AM.

              */ - StorageClass?: StorageClass | string; + CompletionDate?: Date; /** - *

              Contains identifying information about the creation of a recovery point, including the - * BackupPlanArn, BackupPlanId, BackupPlanVersion, - * and BackupRuleId of the backup plan used to create it.

              + *

              A status code specifying the state of the recovery point.

              + * + *

              A partial status indicates that the recovery point was not successfully re-created + * and must be retried.

              + *
              */ - CreatedBy?: RecoveryPointCreator; + Status?: RecoveryPointStatus | string; /** *

              The name of a logical container where backups are stored. Backup vaults are identified @@ -1699,33 +1770,22 @@ export interface DescribeRecoveryPointOutput { BackupVaultName?: string; /** - *

              The date and time that a recovery point was last restored, in Unix format and - * Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate to - * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 - * 12:11:30.087 AM.

              - */ - LastRestoreTime?: Date; - - /** - *

              The date and time that a job to create a recovery point is completed, in Unix format and - * Coordinated Universal Time (UTC). The value of CompletionDate is accurate to - * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 - * 12:11:30.087 AM.

              + *

              Contains identifying information about the creation of a recovery point, including the + * BackupPlanArn, BackupPlanId, BackupPlanVersion, + * and BackupRuleId of the backup plan used to create it.

              */ - CompletionDate?: Date; + CreatedBy?: RecoveryPointCreator; /** - *

              Specifies the IAM role ARN used to create the target recovery point; for example, - * arn:aws:iam::123456789012:role/S3Access.

              + *

              An ARN that uniquely identifies a backup vault; for example, + * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              */ - IamRoleArn?: string; + BackupVaultArn?: string; /** - *

              The type of AWS resource to save as a recovery point; for example, an Amazon Elastic - * Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) - * database.

              + *

              The size, in bytes, of a backup.

              */ - ResourceType?: string; + BackupSizeInBytes?: number; /** *

              An ARN that uniquely identifies a recovery point; for example, @@ -1733,6 +1793,23 @@ export interface DescribeRecoveryPointOutput { */ RecoveryPointArn?: string; + /** + *

              The lifecycle defines when a protected resource is transitioned to cold storage and when + * it expires. AWS Backup transitions and expires backups automatically according to the + * lifecycle that you define.

              + *

              Backups that are transitioned to cold storage must be stored in cold storage for a + * minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than + * the “transition to cold after days” setting. The “transition to cold after days” setting + * cannot be changed after a backup has been transitioned to cold.

              + */ + Lifecycle?: Lifecycle; + + /** + *

              The server-side encryption key used to protect your backups; for example, + * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

              + */ + EncryptionKeyArn?: string; + /** *

              An ARN that uniquely identifies a saved resource. The format of the ARN depends on the * resource type.

              @@ -1768,7 +1845,7 @@ export namespace DescribeRegionSettingsInput { export interface DescribeRegionSettingsOutput { /** - *

              Returns a list of all services along with the opt-in preferences in the region.

              + *

              Returns a list of all services along with the opt-in preferences in the Region.

              */ ResourceTypeOptInPreference?: { [key: string]: boolean }; } @@ -1802,23 +1879,22 @@ export enum RestoreJobStatus { export interface DescribeRestoreJobOutput { /** - *

              Specifies the IAM role ARN used to create the target recovery point; for example, - * arn:aws:iam::123456789012:role/S3Access.

              + *

              An ARN that uniquely identifies a recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

              */ - IamRoleArn?: string; + RecoveryPointArn?: string; /** - *

              Returns metadata associated with a restore job listed by resource type.

              + *

              Contains an estimated percentage that is complete of a job at the time the job status + * was queried.

              */ - ResourceType?: string; + PercentDone?: string; /** - *

              The date and time that a restore job is created, in Unix format and Coordinated - * Universal Time (UTC). The value of CreationDate is accurate to milliseconds. - * For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 - * AM.

              + *

              Status code specifying the state of the job that is initiated by AWS Backup to restore a + * recovery point.

              */ - CreationDate?: Date; + Status?: RestoreJobStatus | string; /** *

              The date and time that a job to restore a recovery point is completed, in Unix format @@ -1828,12 +1904,6 @@ export interface DescribeRestoreJobOutput { */ CompletionDate?: Date; - /** - *

              Status code specifying the state of the job that is initiated by AWS Backup to restore a - * recovery point.

              - */ - Status?: RestoreJobStatus | string; - /** *

              An Amazon Resource Name (ARN) that uniquely identifies a resource whose recovery point * is being restored. The format of the ARN depends on the resource type of the backed-up @@ -1842,21 +1912,23 @@ export interface DescribeRestoreJobOutput { CreatedResourceArn?: string; /** - *

              The size, in bytes, of the restored resource.

              + *

              Returns metadata associated with a restore job listed by resource type.

              */ - BackupSizeInBytes?: number; + ResourceType?: string; /** - *

              An ARN that uniquely identifies a recovery point; for example, - * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

              + *

              Specifies the IAM role ARN used to create the target recovery point; for example, + * arn:aws:iam::123456789012:role/S3Access.

              */ - RecoveryPointArn?: string; + IamRoleArn?: string; /** - *

              Contains an estimated percentage that is complete of a job at the time the job status - * was queried.

              + *

              The date and time that a restore job is created, in Unix format and Coordinated + * Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + * For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 + * AM.

              */ - PercentDone?: string; + CreationDate?: Date; /** *

              Returns the account ID that owns the restore job.

              @@ -1869,15 +1941,20 @@ export interface DescribeRestoreJobOutput { RestoreJobId?: string; /** - *

              A message showing the status of a job to restore a recovery point.

              + *

              The size, in bytes, of the restored resource.

              */ - StatusMessage?: string; + BackupSizeInBytes?: number; /** *

              The amount of time in minutes that a job restoring a recovery point is expected to * take.

              */ ExpectedCompletionTimeMinutes?: number; + + /** + *

              A message showing the status of a job to restore a recovery point.

              + */ + StatusMessage?: string; } export namespace DescribeRestoreJobOutput { @@ -1937,9 +2014,23 @@ export namespace GetBackupPlanInput { } export interface GetBackupPlanOutput { + /** + *

              Specifies the body of a backup plan. Includes a BackupPlanName and one or + * more sets of Rules.

              + */ + BackupPlan?: BackupPlan; + + /** + *

              The date and time that a backup plan is deleted, in Unix format and Coordinated + * Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. + * For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 + * AM.

              + */ + DeletionDate?: Date; + /** *

              A unique string that identifies the request and allows failed requests to be retried - * without the risk of executing the operation twice.

              + * without the risk of running the operation twice.

              */ CreatorRequestId?: string; @@ -1948,6 +2039,14 @@ export interface GetBackupPlanOutput { */ BackupPlanId?: string; + /** + *

              The last time a job to back up resources was run with this backup plan. A date and time, + * in Unix format and Coordinated Universal Time (UTC). The value of + * LastExecutionDate is accurate to milliseconds. For example, the value + * 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

              + */ + LastExecutionDate?: Date; + /** *

              Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes * long. Version IDs cannot be edited.

              @@ -1963,26 +2062,10 @@ export interface GetBackupPlanOutput { CreationDate?: Date; /** - *

              The date and time that a backup plan is deleted, in Unix format and Coordinated - * Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. - * For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 - * AM.

              - */ - DeletionDate?: Date; - - /** - *

              The last time a job to back up resources was executed with this backup plan. A date and - * time, in Unix format and Coordinated Universal Time (UTC). The value of - * LastExecutionDate is accurate to milliseconds. For example, the value - * 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

              - */ - LastExecutionDate?: Date; - - /** - *

              Specifies the body of a backup plan. Includes a BackupPlanName and one or - * more sets of Rules.

              + *

              Contains a list of BackupOptions for each resource type. The list is + * populated only if the advanced option is set for the backup plan.

              */ - BackupPlan?: BackupPlan; + AdvancedBackupSettings?: AdvancedBackupSetting[]; /** *

              An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, @@ -1994,7 +2077,6 @@ export interface GetBackupPlanOutput { export namespace GetBackupPlanOutput { export const filterSensitiveLog = (obj: GetBackupPlanOutput): any => ({ ...obj, - ...(obj.BackupPlan && { BackupPlan: BackupPlan.filterSensitiveLog(obj.BackupPlan) }), }); } @@ -2022,7 +2104,6 @@ export interface GetBackupPlanFromJSONOutput { export namespace GetBackupPlanFromJSONOutput { export const filterSensitiveLog = (obj: GetBackupPlanFromJSONOutput): any => ({ ...obj, - ...(obj.BackupPlan && { BackupPlan: BackupPlan.filterSensitiveLog(obj.BackupPlan) }), }); } @@ -2050,7 +2131,6 @@ export interface GetBackupPlanFromTemplateOutput { export namespace GetBackupPlanFromTemplateOutput { export const filterSensitiveLog = (obj: GetBackupPlanFromTemplateOutput): any => ({ ...obj, - ...(obj.BackupPlanDocument && { BackupPlanDocument: BackupPlan.filterSensitiveLog(obj.BackupPlanDocument) }), }); } @@ -2083,26 +2163,26 @@ export interface GetBackupSelectionOutput { CreationDate?: Date; /** - *

              Uniquely identifies the body of a request to assign a set of resources to a backup - * plan.

              + *

              Specifies the body of a request to assign a set of resources to a backup plan.

              */ - SelectionId?: string; + BackupSelection?: BackupSelection; /** - *

              A unique string that identifies the request and allows failed requests to be retried - * without the risk of executing the operation twice.

              + *

              Uniquely identifies a backup plan.

              */ - CreatorRequestId?: string; + BackupPlanId?: string; /** - *

              Uniquely identifies a backup plan.

              + *

              Uniquely identifies the body of a request to assign a set of resources to a backup + * plan.

              */ - BackupPlanId?: string; + SelectionId?: string; /** - *

              Specifies the body of a request to assign a set of resources to a backup plan.

              + *

              A unique string that identifies the request and allows failed requests to be retried + * without the risk of running the operation twice.

              */ - BackupSelection?: BackupSelection; + CreatorRequestId?: string; } export namespace GetBackupSelectionOutput { @@ -2128,15 +2208,15 @@ export namespace GetBackupVaultAccessPolicyInput { export interface GetBackupVaultAccessPolicyOutput { /** - *

              An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, - * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              + *

              The backup vault access policy document in JSON format.

              */ - BackupVaultArn?: string; + Policy?: string; /** - *

              The backup vault access policy document in JSON format.

              + *

              An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, + * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              */ - Policy?: string; + BackupVaultArn?: string; /** *

              The name of a logical container where backups are stored. Backup vaults are identified @@ -2168,6 +2248,12 @@ export namespace GetBackupVaultNotificationsInput { } export interface GetBackupVaultNotificationsOutput { + /** + *

              An array of events that indicate the status of jobs to back up resources to the backup + * vault.

              + */ + BackupVaultEvents?: (BackupVaultEvent | string)[]; + /** *

              An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              @@ -2180,12 +2266,6 @@ export interface GetBackupVaultNotificationsOutput { */ SNSTopicArn?: string; - /** - *

              An array of events that indicate the status of jobs to back up resources to the backup - * vault.

              - */ - BackupVaultEvents?: (BackupVaultEvent | string)[]; - /** *

              The name of a logical container where backups are stored. Backup vaults are identified * by names that are unique to the account used to create them and the Region where they are @@ -2223,23 +2303,23 @@ export namespace GetRecoveryPointRestoreMetadataInput { export interface GetRecoveryPointRestoreMetadataOutput { /** - *

              The set of metadata key-value pairs that describes the original configuration of the + *

              The set of metadata key-value pairs that describe the original configuration of the * backed-up resource. These values vary depending on the service that is being * restored.

              */ RestoreMetadata?: { [key: string]: string }; - /** - *

              An ARN that uniquely identifies a backup vault; for example, - * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              - */ - BackupVaultArn?: string; - /** *

              An ARN that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

              */ RecoveryPointArn?: string; + + /** + *

              An ARN that uniquely identifies a backup vault; for example, + * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

              + */ + BackupVaultArn?: string; } export namespace GetRecoveryPointRestoreMetadataOutput { @@ -2289,11 +2369,6 @@ export namespace GetSupportedResourceTypesOutput { } export interface ListBackupJobsInput { - /** - *

              The account ID to list the jobs from. Returns only backup jobs associated with the specified account ID.

              - */ - ByAccountId?: string; - /** *

              The next item following a partial list of returned items. For example, if a request is * made to return maxResults number of items, NextToken allows you @@ -2303,9 +2378,19 @@ export interface ListBackupJobsInput { NextToken?: string; /** - *

              Returns only backup jobs that were created after the specified date.

              + *

              The account ID to list the jobs from. Returns only backup jobs associated with the specified account ID.

              */ - ByCreatedAfter?: Date; + ByAccountId?: string; + + /** + *

              Returns only backup jobs that are in the specified state.

              + */ + ByState?: BackupJobState | string; + + /** + *

              The maximum number of items to be returned.

              + */ + MaxResults?: number; /** *

              Returns only backup jobs that match the specified resource Amazon Resource Name @@ -2314,14 +2399,22 @@ export interface ListBackupJobsInput { ByResourceArn?: string; /** - *

              Returns only backup jobs that are in the specified state.

              + *

              Returns only backup jobs that will be stored in the specified backup vault. Backup + * vaults are identified by names that are unique to the account used to create them and the + * AWS Region where they are created. They consist of lowercase letters, numbers, and + * hyphens.

              */ - ByState?: BackupJobState | string; + ByBackupVaultName?: string; /** - *

              The maximum number of items to be returned.

              + *

              Returns only backup jobs that were created before the specified date.

              */ - MaxResults?: number; + ByCreatedBefore?: Date; + + /** + *

              Returns only backup jobs that were created after the specified date.

              + */ + ByCreatedAfter?: Date; /** *

              Returns only backup jobs for the specified resources:

              @@ -2353,19 +2446,6 @@ export interface ListBackupJobsInput { *
            */ ByResourceType?: string; - - /** - *

            Returns only backup jobs that were created before the specified date.

            - */ - ByCreatedBefore?: Date; - - /** - *

            Returns only backup jobs that will be stored in the specified backup vault. Backup - * vaults are identified by names that are unique to the account used to create them and the - * AWS Region where they are created. They consist of lowercase letters, numbers, and - * hyphens.

            - */ - ByBackupVaultName?: string; } export namespace ListBackupJobsInput { @@ -2375,12 +2455,6 @@ export namespace ListBackupJobsInput { } export interface ListBackupJobsOutput { - /** - *

            An array of structures containing metadata about your backup jobs returned in JSON - * format.

            - */ - BackupJobs?: BackupJob[]; - /** *

            The next item following a partial list of returned items. For example, if a request is * made to return maxResults number of items, NextToken allows you @@ -2388,6 +2462,12 @@ export interface ListBackupJobsOutput { * token.

            */ NextToken?: string; + + /** + *

            An array of structures containing metadata about your backup jobs returned in JSON + * format.

            + */ + BackupJobs?: BackupJob[]; } export namespace ListBackupJobsOutput { @@ -2397,6 +2477,11 @@ export namespace ListBackupJobsOutput { } export interface ListBackupPlansInput { + /** + *

            The maximum number of items to be returned.

            + */ + MaxResults?: number; + /** *

            The next item following a partial list of returned items. For example, if a request is * made to return maxResults number of items, NextToken allows you @@ -2405,11 +2490,6 @@ export interface ListBackupPlansInput { */ NextToken?: string; - /** - *

            The maximum number of items to be returned.

            - */ - MaxResults?: number; - /** *

            A Boolean value with a default value of FALSE that returns deleted backup * plans when set to TRUE.

            @@ -2424,12 +2504,6 @@ export namespace ListBackupPlansInput { } export interface ListBackupPlansOutput { - /** - *

            An array of backup plan list items containing metadata about your saved backup - * plans.

            - */ - BackupPlansList?: BackupPlansListMember[]; - /** *

            The next item following a partial list of returned items. For example, if a request is * made to return maxResults number of items, NextToken allows you @@ -2437,6 +2511,12 @@ export interface ListBackupPlansOutput { * token.

            */ NextToken?: string; + + /** + *

            An array of backup plan list items containing metadata about your saved backup + * plans.

            + */ + BackupPlansList?: BackupPlansListMember[]; } export namespace ListBackupPlansOutput { @@ -2446,11 +2526,6 @@ export namespace ListBackupPlansOutput { } export interface ListBackupPlanTemplatesInput { - /** - *

            The maximum number of items to be returned.

            - */ - MaxResults?: number; - /** *

            The next item following a partial list of returned items. For example, if a request is * made to return maxResults number of items, NextToken allows you @@ -2458,6 +2533,11 @@ export interface ListBackupPlanTemplatesInput { * token.

            */ NextToken?: string; + + /** + *

            The maximum number of items to be returned.

            + */ + MaxResults?: number; } export namespace ListBackupPlanTemplatesInput { @@ -2488,6 +2568,14 @@ export namespace ListBackupPlanTemplatesOutput { } export interface ListBackupPlanVersionsInput { + /** + *

            The next item following a partial list of returned items. For example, if a request is + * made to return maxResults number of items, NextToken allows you + * to return more items in your list starting at the location pointed to by the next + * token.

            + */ + NextToken?: string; + /** *

            Uniquely identifies a backup plan.

            */ @@ -2497,14 +2585,6 @@ export interface ListBackupPlanVersionsInput { *

            The maximum number of items to be returned.

            */ MaxResults?: number; - - /** - *

            The next item following a partial list of returned items. For example, if a request is - * made to return maxResults number of items, NextToken allows you - * to return more items in your list starting at the location pointed to by the next - * token.

            - */ - NextToken?: string; } export namespace ListBackupPlanVersionsInput { @@ -2579,15 +2659,10 @@ export interface ListBackupSelectionsOutput { export namespace ListBackupSelectionsOutput { export const filterSensitiveLog = (obj: ListBackupSelectionsOutput): any => ({ ...obj, - }); -} - -export interface ListBackupVaultsInput { - /** - *

            The maximum number of items to be returned.

            - */ - MaxResults?: number; + }); +} +export interface ListBackupVaultsInput { /** *

            The next item following a partial list of returned items. For example, if a request is * made to return maxResults number of items, NextToken allows you @@ -2595,6 +2670,11 @@ export interface ListBackupVaultsInput { * token.

            */ NextToken?: string; + + /** + *

            The maximum number of items to be returned.

            + */ + MaxResults?: number; } export namespace ListBackupVaultsInput { @@ -2627,20 +2707,27 @@ export namespace ListBackupVaultsOutput { } export interface ListCopyJobsInput { + /** + *

            The next item following a partial list of returned items. + * For example, if a request is made to return maxResults number of items, + * NextToken allows you to return more items in your list starting at the location pointed to by the next token.

            + */ + NextToken?: string; + /** *

            The account ID to list the jobs from. Returns only copy jobs associated with the specified account ID.

            */ ByAccountId?: string; /** - *

            Returns only copy jobs that match the specified resource Amazon Resource Name (ARN).

            + *

            Returns only copy jobs that were created after the specified date.

            */ - ByResourceArn?: string; + ByCreatedAfter?: Date; /** - *

            The maximum number of items to be returned.

            + *

            Returns only copy jobs that were created before the specified date.

            */ - MaxResults?: number; + ByCreatedBefore?: Date; /** *

            Returns only copy jobs that are in the specified state.

            @@ -2648,9 +2735,9 @@ export interface ListCopyJobsInput { ByState?: CopyJobState | string; /** - *

            Returns only copy jobs that were created after the specified date.

            + *

            The maximum number of items to be returned.

            */ - ByCreatedAfter?: Date; + MaxResults?: number; /** *

            Returns only backup jobs for the specified resources:

            @@ -2684,16 +2771,9 @@ export interface ListCopyJobsInput { ByResourceType?: string; /** - *

            The next item following a partial list of returned items. - * For example, if a request is made to return maxResults number of items, - * NextToken allows you to return more items in your list starting at the location pointed to by the next token.

            - */ - NextToken?: string; - - /** - *

            Returns only copy jobs that were created before the specified date.

            + *

            Returns only copy jobs that match the specified resource Amazon Resource Name (ARN).

            */ - ByCreatedBefore?: Date; + ByResourceArn?: string; /** *

            An Amazon Resource Name (ARN) that uniquely identifies a source backup vault to copy @@ -2752,12 +2832,6 @@ export namespace ListProtectedResourcesInput { *

            A structure that contains information about a backed-up resource.

            */ export interface ProtectedResource { - /** - *

            The type of AWS resource; for example, an Amazon Elastic Block Store (Amazon EBS) volume - * or an Amazon Relational Database Service (Amazon RDS) database.

            - */ - ResourceType?: string; - /** *

            The date and time a resource was last backed up, in Unix format and Coordinated * Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds. @@ -2771,6 +2845,12 @@ export interface ProtectedResource { * depends on the resource type.

            */ ResourceArn?: string; + + /** + *

            The type of AWS resource; for example, an Amazon Elastic Block Store (Amazon EBS) volume + * or an Amazon Relational Database Service (Amazon RDS) database. For VSS Windows backups, the only supported resource type is Amazon EC2.

            + */ + ResourceType?: string; } export namespace ProtectedResource { @@ -2780,6 +2860,13 @@ export namespace ProtectedResource { } export interface ListProtectedResourcesOutput { + /** + *

            An array of resources successfully backed up by AWS Backup including the time the + * resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource + * type.

            + */ + Results?: ProtectedResource[]; + /** *

            The next item following a partial list of returned items. For example, if a request is * made to return maxResults number of items, NextToken allows you @@ -2787,13 +2874,6 @@ export interface ListProtectedResourcesOutput { * token.

            */ NextToken?: string; - - /** - *

            An array of resources successfully backed up by AWS Backup including the time the - * resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource - * type.

            - */ - Results?: ProtectedResource[]; } export namespace ListProtectedResourcesOutput { @@ -2803,6 +2883,21 @@ export namespace ListProtectedResourcesOutput { } export interface ListRecoveryPointsByBackupVaultInput { + /** + *

            Returns only recovery points that match the specified resource type.

            + */ + ByResourceType?: string; + + /** + *

            Returns only recovery points that were created before the specified timestamp.

            + */ + ByCreatedBefore?: Date; + + /** + *

            The maximum number of items to be returned.

            + */ + MaxResults?: number; + /** *

            The next item following a partial list of returned items. For example, if a request is * made to return maxResults number of items, NextToken allows you @@ -2829,25 +2924,10 @@ export interface ListRecoveryPointsByBackupVaultInput { */ ByBackupPlanId?: string; - /** - *

            The maximum number of items to be returned.

            - */ - MaxResults?: number; - /** *

            Returns only recovery points that were created after the specified timestamp.

            */ ByCreatedAfter?: Date; - - /** - *

            Returns only recovery points that were created before the specified timestamp.

            - */ - ByCreatedBefore?: Date; - - /** - *

            Returns only recovery points that match the specified resource type.

            - */ - ByResourceType?: string; } export namespace ListRecoveryPointsByBackupVaultInput { @@ -2861,43 +2941,37 @@ export namespace ListRecoveryPointsByBackupVaultInput { */ export interface RecoveryPointByBackupVault { /** - *

            The size, in bytes, of a backup.

            - */ - BackupSizeInBytes?: number; - - /** - *

            An ARN that uniquely identifies a backup vault; for example, - * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

            - */ - BackupVaultArn?: string; - - /** - *

            An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, - * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

            + *

            A CalculatedLifecycle object containing DeleteAt and + * MoveToColdStorageAt timestamps.

            */ - RecoveryPointArn?: string; + CalculatedLifecycle?: CalculatedLifecycle; /** - *

            The date and time a job to restore a recovery point is completed, in Unix format and - * Coordinated Universal Time (UTC). The value of CompletionDate is accurate to + *

            The date and time a recovery point was last restored, in Unix format and Coordinated + * Universal Time (UTC). The value of LastRestoreTime is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 * 12:11:30.087 AM.

            */ - CompletionDate?: Date; + LastRestoreTime?: Date; /** *

            The type of AWS resource saved as a recovery point; for example, an Amazon Elastic Block * Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) - * database.

            + * database. For VSS Windows backups, the only supported resource type is Amazon EC2.

            */ ResourceType?: string; /** - *

            The name of a logical container where backups are stored. Backup vaults are identified - * by names that are unique to the account used to create them and the AWS Region where they - * are created. They consist of lowercase letters, numbers, and hyphens.

            + *

            Specifies the IAM role ARN used to create the target recovery point; for example, + * arn:aws:iam::123456789012:role/S3Access.

            */ - BackupVaultName?: string; + IamRoleArn?: string; + + /** + *

            A Boolean value that is returned as TRUE if the specified recovery point is + * encrypted, or FALSE if the recovery point is not encrypted.

            + */ + IsEncrypted?: boolean; /** *

            A status code specifying the state of the recovery point.

            @@ -2905,42 +2979,50 @@ export interface RecoveryPointByBackupVault { Status?: RecoveryPointStatus | string; /** - *

            The server-side encryption key that is used to protect your backups; for example, - * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

            + *

            An ARN that uniquely identifies a resource. The format of the ARN depends on the + * resource type.

            */ - EncryptionKeyArn?: string; + ResourceArn?: string; /** - *

            Specifies the IAM role ARN used to create the target recovery point; for example, - * arn:aws:iam::123456789012:role/S3Access.

            + *

            The name of a logical container where backups are stored. Backup vaults are identified + * by names that are unique to the account used to create them and the AWS Region where they + * are created. They consist of lowercase letters, numbers, and hyphens.

            */ - IamRoleArn?: string; + BackupVaultName?: string; /** - *

            An ARN that uniquely identifies a resource. The format of the ARN depends on the - * resource type.

            + *

            The size, in bytes, of a backup.

            */ - ResourceArn?: string; + BackupSizeInBytes?: number; /** - *

            A CalculatedLifecycle object containing DeleteAt and - * MoveToColdStorageAt timestamps.

            + *

            The server-side encryption key that is used to protect your backups; for example, + * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

            */ - CalculatedLifecycle?: CalculatedLifecycle; + EncryptionKeyArn?: string; /** - *

            The date and time a recovery point was last restored, in Unix format and Coordinated - * Universal Time (UTC). The value of LastRestoreTime is accurate to + *

            An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

            + */ + RecoveryPointArn?: string; + + /** + *

            The date and time a job to restore a recovery point is completed, in Unix format and + * Coordinated Universal Time (UTC). The value of CompletionDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 * 12:11:30.087 AM.

            */ - LastRestoreTime?: Date; + CompletionDate?: Date; /** - *

            A Boolean value that is returned as TRUE if the specified recovery point is - * encrypted, or FALSE if the recovery point is not encrypted.

            + *

            The date and time a recovery point is created, in Unix format and Coordinated Universal + * Time (UTC). The value of CreationDate is accurate to milliseconds. For + * example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 + * AM.

            */ - IsEncrypted?: boolean; + CreationDate?: Date; /** *

            Contains identifying information about the creation of a recovery point, including the @@ -2950,12 +3032,10 @@ export interface RecoveryPointByBackupVault { CreatedBy?: RecoveryPointCreator; /** - *

            The date and time a recovery point is created, in Unix format and Coordinated Universal - * Time (UTC). The value of CreationDate is accurate to milliseconds. For - * example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 - * AM.

            + *

            An ARN that uniquely identifies a backup vault; for example, + * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

            */ - CreationDate?: Date; + BackupVaultArn?: string; /** *

            The lifecycle defines when a protected resource is transitioned to cold storage and when @@ -2998,11 +3078,6 @@ export namespace ListRecoveryPointsByBackupVaultOutput { } export interface ListRecoveryPointsByResourceInput { - /** - *

            The maximum number of items to be returned.

            - */ - MaxResults?: number; - /** *

            An ARN that uniquely identifies a resource. The format of the ARN depends on the * resource type.

            @@ -3016,6 +3091,11 @@ export interface ListRecoveryPointsByResourceInput { * token.

            */ NextToken?: string; + + /** + *

            The maximum number of items to be returned.

            + */ + MaxResults?: number; } export namespace ListRecoveryPointsByResourceInput { @@ -3041,6 +3121,17 @@ export interface RecoveryPointByResource { */ CreationDate?: Date; + /** + *

            The server-side encryption key that is used to protect your backups; for example, + * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

            + */ + EncryptionKeyArn?: string; + + /** + *

            The size, in bytes, of a backup.

            + */ + BackupSizeBytes?: number; + /** *

            The name of a logical container where backups are stored. Backup vaults are identified * by names that are unique to the account used to create them and the AWS Region where they @@ -3048,22 +3139,11 @@ export interface RecoveryPointByResource { */ BackupVaultName?: string; - /** - *

            The server-side encryption key that is used to protect your backups; for example, - * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

            - */ - EncryptionKeyArn?: string; - /** *

            An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

            */ RecoveryPointArn?: string; - - /** - *

            The size, in bytes, of a backup.

            - */ - BackupSizeBytes?: number; } export namespace RecoveryPointByResource { @@ -3095,6 +3175,11 @@ export namespace ListRecoveryPointsByResourceOutput { } export interface ListRestoreJobsInput { + /** + *

            The maximum number of items to be returned.

            + */ + MaxResults?: number; + /** *

            The next item following a partial list of returned items. For example, if a request is * made to return maxResults number of items, NextToken allows you @@ -3103,11 +3188,6 @@ export interface ListRestoreJobsInput { */ NextToken?: string; - /** - *

            The account ID to list the jobs from. Returns only restore jobs associated with the specified account ID.

            - */ - ByAccountId?: string; - /** *

            Returns only restore jobs that were created after the specified date.

            */ @@ -3119,9 +3199,9 @@ export interface ListRestoreJobsInput { ByStatus?: RestoreJobStatus | string; /** - *

            The maximum number of items to be returned.

            + *

            The account ID to list the jobs from. Returns only restore jobs associated with the specified account ID.

            */ - MaxResults?: number; + ByAccountId?: string; /** *

            Returns only restore jobs that were created before the specified date.

            @@ -3139,17 +3219,47 @@ export namespace ListRestoreJobsInput { *

            Contains metadata about a restore job.

            */ export interface RestoreJobsListMember { + /** + *

            An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN + * depends on the resource type.

            + */ + CreatedResourceArn?: string; + /** *

            Specifies the IAM role ARN used to create the target recovery point; for example, * arn:aws:iam::123456789012:role/S3Access.

            */ IamRoleArn?: string; + /** + *

            The date and time a job to restore a recovery point is completed, in Unix format and + * Coordinated Universal Time (UTC). The value of CompletionDate is accurate to + * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 + * 12:11:30.087 AM.

            + */ + CompletionDate?: Date; + + /** + *

            Uniquely identifies the job that restores a recovery point.

            + */ + RestoreJobId?: string; + + /** + *

            A status code specifying the state of the job initiated by AWS Backup to restore a + * recovery point.

            + */ + Status?: RestoreJobStatus | string; + /** *

            The resource type of the listed restore jobs; for example, an Amazon Elastic Block Store - * (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

            + * (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database. For VSS Windows backups, the only supported resource type is Amazon EC2.

            + */ + ResourceType?: string; + + /** + *

            The size, in bytes, of the restored resource.

            */ - ResourceType?: string; + BackupSizeInBytes?: number; /** *

            The date and time a restore job is created, in Unix format and Coordinated Universal @@ -3160,24 +3270,15 @@ export interface RestoreJobsListMember { CreationDate?: Date; /** - *

            A status code specifying the state of the job initiated by AWS Backup to restore a - * recovery point.

            - */ - Status?: RestoreJobStatus | string; - - /** - *

            An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN - * depends on the resource type.

            + *

            Contains an estimated percentage complete of a job at the time the job status was + * queried.

            */ - CreatedResourceArn?: string; + PercentDone?: string; /** - *

            The date and time a job to restore a recovery point is completed, in Unix format and - * Coordinated Universal Time (UTC). The value of CompletionDate is accurate to - * milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 - * 12:11:30.087 AM.

            + *

            A detailed message explaining the status of the job to restore a recovery point.

            */ - CompletionDate?: Date; + StatusMessage?: string; /** *

            An ARN that uniquely identifies a recovery point; for example, @@ -3185,11 +3286,6 @@ export interface RestoreJobsListMember { */ RecoveryPointArn?: string; - /** - *

            The size, in bytes, of the restored resource.

            - */ - BackupSizeInBytes?: number; - /** *

            The amount of time in minutes that a job restoring a recovery point is expected to * take.

            @@ -3200,22 +3296,6 @@ export interface RestoreJobsListMember { *

            The account ID that owns the restore job.

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

            Uniquely identifies the job that restores a recovery point.

            - */ - RestoreJobId?: string; - - /** - *

            A detailed message explaining the status of the job to restore a recovery point.

            - */ - StatusMessage?: string; - - /** - *

            Contains an estimated percentage complete of a job at the time the job status was - * queried.

            - */ - PercentDone?: string; } export namespace RestoreJobsListMember { @@ -3275,12 +3355,6 @@ export namespace ListTagsInput { } export interface ListTagsOutput { - /** - *

            To help organize your resources, you can assign your own metadata to the resources you - * create. Each tag is a key-value pair.

            - */ - Tags?: { [key: string]: string }; - /** *

            The next item following a partial list of returned items. For example, if a request is * made to return maxResults number of items, NextToken allows you @@ -3288,6 +3362,12 @@ export interface ListTagsOutput { * token.

            */ NextToken?: string; + + /** + *

            To help organize your resources, you can assign your own metadata to the resources you + * create. Each tag is a key-value pair.

            + */ + Tags?: { [key: string]: string }; } export namespace ListTagsOutput { @@ -3345,6 +3425,32 @@ export namespace PutBackupVaultNotificationsInput { } export interface StartBackupJobInput { + /** + *

            Specifies the backup option for a selected resource. This option is only available for + * Windows VSS backup jobs.

            + *

            Valid value: "WindowsVSS”:“enabled". If enabled, creates a VSS Windows backup; + * otherwise, creates a regular backup.

            + */ + BackupOptions?: { [key: string]: string }; + + /** + *

            Specifies the IAM role ARN used to create the target recovery point; for example, + * arn:aws:iam::123456789012:role/S3Access.

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

            To help organize your resources, you can assign your own metadata to the resources that + * you create. Each tag is a key-value pair.

            + */ + RecoveryPointTags?: { [key: string]: string }; + + /** + *

            A customer chosen string that can be used to distinguish between calls to + * StartBackupJob.

            + */ + IdempotencyToken?: string; + /** *

            The lifecycle defines when a protected resource is transitioned to cold storage and when * it expires. AWS Backup will transition and expire backups automatically according to the @@ -3362,21 +3468,15 @@ export interface StartBackupJobInput { StartWindowMinutes?: number; /** - *

            A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by AWS Backup. This value is optional.

            - */ - CompleteWindowMinutes?: number; - - /** - *

            Specifies the IAM role ARN used to create the target recovery point; for example, - * arn:aws:iam::123456789012:role/S3Access.

            + *

            An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN + * depends on the resource type.

            */ - IamRoleArn: string | undefined; + ResourceArn: string | undefined; /** - *

            To help organize your resources, you can assign your own metadata to the resources that - * you create. Each tag is a key-value pair.

            + *

            A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by AWS Backup. This value is optional.

            */ - RecoveryPointTags?: { [key: string]: string }; + CompleteWindowMinutes?: number; /** *

            The name of a logical container where backups are stored. Backup vaults are identified @@ -3384,18 +3484,6 @@ export interface StartBackupJobInput { * are created. They consist of lowercase letters, numbers, and hyphens.

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

            An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN - * depends on the resource type.

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

            A customer chosen string that can be used to distinguish between calls to - * StartBackupJob.

            - */ - IdempotencyToken?: string; } export namespace StartBackupJobInput { @@ -3406,6 +3494,14 @@ export namespace StartBackupJobInput { } export interface StartBackupJobOutput { + /** + *

            The date and time that a backup job is started, in Unix format and Coordinated Universal + * Time (UTC). The value of CreationDate is accurate to milliseconds. For + * example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 + * AM.

            + */ + CreationDate?: Date; + /** *

            An ARN that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

            @@ -3416,14 +3512,6 @@ export interface StartBackupJobOutput { *

            Uniquely identifies a request to AWS Backup to back up a resource.

            */ BackupJobId?: string; - - /** - *

            The date and time that a backup job is started, in Unix format and Coordinated Universal - * Time (UTC). The value of CreationDate is accurate to milliseconds. For - * example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 - * AM.

            - */ - CreationDate?: Date; } export namespace StartBackupJobOutput { @@ -3434,11 +3522,14 @@ export namespace StartBackupJobOutput { export interface StartCopyJobInput { /** - *

            The name of a logical source container where backups are stored. - * Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. - * They consist of lowercase letters, numbers, and hyphens.

            + *

            Contains an array of Transition objects specifying how long in days before + * a recovery point transitions to cold storage or is deleted.

            + *

            Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 + * days. Therefore, on the console, the “expire after days” setting must be 90 days greater + * than the “transition to cold after days” setting. The “transition to cold after days” + * setting cannot be changed after a backup has been transitioned to cold.

            */ - SourceBackupVaultName: string | undefined; + Lifecycle?: Lifecycle; /** *

            A customer chosen string that can be used to distinguish between calls to @@ -3447,10 +3538,11 @@ export interface StartCopyJobInput { IdempotencyToken?: string; /** - *

            An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to copy to; for example, - * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

            + *

            The name of a logical source container where backups are stored. + * Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. + * They consist of lowercase letters, numbers, and hyphens.

            */ - DestinationBackupVaultArn: string | undefined; + SourceBackupVaultName: string | undefined; /** *

            Specifies the IAM role ARN used to copy the target recovery point; for example, @@ -3459,19 +3551,15 @@ export interface StartCopyJobInput { IamRoleArn: string | undefined; /** - *

            An ARN that uniquely identifies a recovery point to use for the copy job; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

            + *

            An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to copy to; for example, + * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

            */ - RecoveryPointArn: string | undefined; + DestinationBackupVaultArn: string | undefined; /** - *

            Contains an array of Transition objects specifying how long in days before - * a recovery point transitions to cold storage or is deleted.

            - *

            Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 - * days. Therefore, on the console, the “expire after days” setting must be 90 days greater - * than the “transition to cold after days” setting. The “transition to cold after days” - * setting cannot be changed after a backup has been transitioned to cold.

            + *

            An ARN that uniquely identifies a recovery point to use for the copy job; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

            */ - Lifecycle?: Lifecycle; + RecoveryPointArn: string | undefined; } export namespace StartCopyJobInput { @@ -3481,17 +3569,17 @@ export namespace StartCopyJobInput { } export interface StartCopyJobOutput { + /** + *

            Uniquely identifies a copy job.

            + */ + CopyJobId?: string; + /** *

            The date and time that a copy job is started, in Unix format and Coordinated Universal Time (UTC). * The value of CreationDate is accurate to milliseconds. * For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

            */ CreationDate?: Date; - - /** - *

            Uniquely identifies a copy job.

            - */ - CopyJobId?: string; } export namespace StartCopyJobOutput { @@ -3501,12 +3589,6 @@ export namespace StartCopyJobOutput { } export interface StartRestoreJobInput { - /** - *

            An ARN that uniquely identifies a recovery point; for example, - * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

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

            Starts a job to restore a recovery point for one of the following resources:

            *
              @@ -3538,18 +3620,24 @@ export interface StartRestoreJobInput { */ ResourceType?: string; - /** - *

              The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target - * recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

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

              A customer chosen string that can be used to distinguish between calls to * StartRestoreJob.

              */ IdempotencyToken?: string; + /** + *

              An ARN that uniquely identifies a recovery point; for example, + * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

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

              The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target + * recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

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

              A set of metadata key-value pairs. Contains information, such as a resource name, * required to restore a recovery point.

              @@ -3562,8 +3650,8 @@ export interface StartRestoreJobInput { *
                *
              • *

                - * file-system-id: ID of the Amazon EFS file system that is backed up - * by AWS Backup. Returned in GetRecoveryPointRestoreMetadata.

                + * file-system-id: The ID of the Amazon EFS file system that is backed + * up by AWS Backup. Returned in GetRecoveryPointRestoreMetadata.

                *
              • *
              • *

                @@ -3630,17 +3718,17 @@ export namespace StopBackupJobInput { } export interface TagResourceInput { - /** - *

                Key-value pairs that are used to help organize your resources. You can assign your own - * metadata to the resources you create.

                - */ - Tags: { [key: string]: string } | undefined; - /** *

                An ARN that uniquely identifies a resource. The format of the ARN depends on the type of * the tagged resource.

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

                Key-value pairs that are used to help organize your resources. You can assign your own + * metadata to the resources you create.

                + */ + Tags: { [key: string]: string } | undefined; } export namespace TagResourceInput { @@ -3671,22 +3759,21 @@ export namespace UntagResourceInput { } export interface UpdateBackupPlanInput { - /** - *

                Uniquely identifies a backup plan.

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

                Specifies the body of a backup plan. Includes a BackupPlanName and one or * more sets of Rules.

                */ BackupPlan: BackupPlanInput | undefined; + + /** + *

                Uniquely identifies a backup plan.

                + */ + BackupPlanId: string | undefined; } export namespace UpdateBackupPlanInput { export const filterSensitiveLog = (obj: UpdateBackupPlanInput): any => ({ ...obj, - ...(obj.BackupPlan && { BackupPlan: BackupPlanInput.filterSensitiveLog(obj.BackupPlan) }), }); } @@ -3697,16 +3784,15 @@ export interface UpdateBackupPlanOutput { BackupPlanId?: string; /** - *

                An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, - * arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

                + *

                Contains a list of BackupOptions for each resource type.

                */ - BackupPlanArn?: string; + AdvancedBackupSettings?: AdvancedBackupSetting[]; /** - *

                Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes - * long. Version Ids cannot be edited.

                + *

                An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, + * arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

                */ - VersionId?: string; + BackupPlanArn?: string; /** *

                The date and time a backup plan is updated, in Unix format and Coordinated Universal @@ -3715,6 +3801,12 @@ export interface UpdateBackupPlanOutput { * AM.

                */ CreationDate?: Date; + + /** + *

                Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes + * long. Version Ids cannot be edited.

                + */ + VersionId?: string; } export namespace UpdateBackupPlanOutput { @@ -3724,6 +3816,13 @@ export namespace UpdateBackupPlanOutput { } export interface UpdateRecoveryPointLifecycleInput { + /** + *

                The name of a logical container where backups are stored. Backup vaults are identified + * by names that are unique to the account used to create them and the AWS Region where they + * are created. They consist of lowercase letters, numbers, and hyphens.

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

                An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

                @@ -3740,13 +3839,6 @@ export interface UpdateRecoveryPointLifecycleInput { * be changed after a backup has been transitioned to cold.

                */ Lifecycle?: Lifecycle; - - /** - *

                The name of a logical container where backups are stored. Backup vaults are identified - * by names that are unique to the account used to create them and the AWS Region where they - * are created. They consist of lowercase letters, numbers, and hyphens.

                - */ - BackupVaultName: string | undefined; } export namespace UpdateRecoveryPointLifecycleInput { @@ -3757,10 +3849,10 @@ export namespace UpdateRecoveryPointLifecycleInput { export interface UpdateRecoveryPointLifecycleOutput { /** - *

                A CalculatedLifecycle object containing DeleteAt and - * MoveToColdStorageAt timestamps.

                + *

                An ARN that uniquely identifies a backup vault; for example, + * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

                */ - CalculatedLifecycle?: CalculatedLifecycle; + BackupVaultArn?: string; /** *

                The lifecycle defines when a protected resource is transitioned to cold storage and when @@ -3773,17 +3865,17 @@ export interface UpdateRecoveryPointLifecycleOutput { */ Lifecycle?: Lifecycle; - /** - *

                An ARN that uniquely identifies a backup vault; for example, - * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

                - */ - BackupVaultArn?: string; - /** *

                An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

                */ RecoveryPointArn?: string; + + /** + *

                A CalculatedLifecycle object containing DeleteAt and + * MoveToColdStorageAt timestamps.

                + */ + CalculatedLifecycle?: CalculatedLifecycle; } export namespace UpdateRecoveryPointLifecycleOutput { @@ -3794,7 +3886,7 @@ export namespace UpdateRecoveryPointLifecycleOutput { export interface UpdateRegionSettingsInput { /** - *

                Updates the list of services along with the opt-in preferences for the region.

                + *

                Updates the list of services along with the opt-in preferences for the Region.

                */ ResourceTypeOptInPreference?: { [key: string]: boolean }; } diff --git a/clients/client-backup/protocols/Aws_restJson1.ts b/clients/client-backup/protocols/Aws_restJson1.ts index 5e4de4127b86..d7d1c5e4d36e 100644 --- a/clients/client-backup/protocols/Aws_restJson1.ts +++ b/clients/client-backup/protocols/Aws_restJson1.ts @@ -125,6 +125,7 @@ import { UpdateRegionSettingsCommandOutput, } from "../commands/UpdateRegionSettingsCommand"; import { + AdvancedBackupSetting, AlreadyExistsException, BackupJob, BackupPlan, @@ -308,15 +309,6 @@ export const serializeAws_restJson1DeleteBackupSelectionCommand = async ( "Content-Type": "", }; let resolvedPath = "/backup/plans/{BackupPlanId}/selections/{SelectionId}"; - if (input.BackupPlanId !== undefined) { - const labelValue: string = input.BackupPlanId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: BackupPlanId."); - } - resolvedPath = resolvedPath.replace("{BackupPlanId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: BackupPlanId."); - } if (input.SelectionId !== undefined) { const labelValue: string = input.SelectionId; if (labelValue.length <= 0) { @@ -326,6 +318,15 @@ export const serializeAws_restJson1DeleteBackupSelectionCommand = async ( } else { throw new Error("No value provided for input HTTP label: SelectionId."); } + if (input.BackupPlanId !== undefined) { + const labelValue: string = input.BackupPlanId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BackupPlanId."); + } + resolvedPath = resolvedPath.replace("{BackupPlanId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BackupPlanId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -966,19 +967,19 @@ export const serializeAws_restJson1ListBackupJobsCommand = async ( }; let resolvedPath = "/backup-jobs"; const query: any = { - ...(input.ByAccountId !== undefined && { accountId: input.ByAccountId }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.ByCreatedAfter !== undefined && { - createdAfter: (input.ByCreatedAfter.toISOString().split(".")[0] + "Z").toString(), - }), - ...(input.ByResourceArn !== undefined && { resourceArn: input.ByResourceArn }), + ...(input.ByAccountId !== undefined && { accountId: input.ByAccountId }), ...(input.ByState !== undefined && { state: input.ByState }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.ByResourceType !== undefined && { resourceType: input.ByResourceType }), + ...(input.ByResourceArn !== undefined && { resourceArn: input.ByResourceArn }), + ...(input.ByBackupVaultName !== undefined && { backupVaultName: input.ByBackupVaultName }), ...(input.ByCreatedBefore !== undefined && { createdBefore: (input.ByCreatedBefore.toISOString().split(".")[0] + "Z").toString(), }), - ...(input.ByBackupVaultName !== undefined && { backupVaultName: input.ByBackupVaultName }), + ...(input.ByCreatedAfter !== undefined && { + createdAfter: (input.ByCreatedAfter.toISOString().split(".")[0] + "Z").toString(), + }), + ...(input.ByResourceType !== undefined && { resourceType: input.ByResourceType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1003,8 +1004,8 @@ export const serializeAws_restJson1ListBackupPlansCommand = async ( }; let resolvedPath = "/backup/plans"; const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.IncludeDeleted !== undefined && { includeDeleted: input.IncludeDeleted.toString() }), }; let body: any; @@ -1030,8 +1031,8 @@ export const serializeAws_restJson1ListBackupPlanTemplatesCommand = async ( }; let resolvedPath = "/backup/template/plans"; 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(); @@ -1065,8 +1066,8 @@ export const serializeAws_restJson1ListBackupPlanVersionsCommand = async ( throw new Error("No value provided for input HTTP label: BackupPlanId."); } 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(); @@ -1126,8 +1127,8 @@ export const serializeAws_restJson1ListBackupVaultsCommand = async ( }; let resolvedPath = "/backup-vaults"; 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(); @@ -1152,18 +1153,18 @@ export const serializeAws_restJson1ListCopyJobsCommand = async ( }; let resolvedPath = "/copy-jobs"; const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.ByAccountId !== undefined && { accountId: input.ByAccountId }), - ...(input.ByResourceArn !== undefined && { resourceArn: input.ByResourceArn }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.ByState !== undefined && { state: input.ByState }), ...(input.ByCreatedAfter !== undefined && { createdAfter: (input.ByCreatedAfter.toISOString().split(".")[0] + "Z").toString(), }), - ...(input.ByResourceType !== undefined && { resourceType: input.ByResourceType }), - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.ByCreatedBefore !== undefined && { createdBefore: (input.ByCreatedBefore.toISOString().split(".")[0] + "Z").toString(), }), + ...(input.ByState !== undefined && { state: input.ByState }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.ByResourceType !== undefined && { resourceType: input.ByResourceType }), + ...(input.ByResourceArn !== undefined && { resourceArn: input.ByResourceArn }), ...(input.ByDestinationVaultArn !== undefined && { destinationVaultArn: input.ByDestinationVaultArn }), }; let body: any; @@ -1224,17 +1225,17 @@ export const serializeAws_restJson1ListRecoveryPointsByBackupVaultCommand = asyn throw new Error("No value provided for input HTTP label: BackupVaultName."); } const query: any = { + ...(input.ByResourceType !== undefined && { resourceType: input.ByResourceType }), + ...(input.ByCreatedBefore !== undefined && { + createdBefore: (input.ByCreatedBefore.toISOString().split(".")[0] + "Z").toString(), + }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.ByResourceArn !== undefined && { resourceArn: input.ByResourceArn }), ...(input.ByBackupPlanId !== undefined && { backupPlanId: input.ByBackupPlanId }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.ByCreatedAfter !== undefined && { createdAfter: (input.ByCreatedAfter.toISOString().split(".")[0] + "Z").toString(), }), - ...(input.ByCreatedBefore !== undefined && { - createdBefore: (input.ByCreatedBefore.toISOString().split(".")[0] + "Z").toString(), - }), - ...(input.ByResourceType !== undefined && { resourceType: input.ByResourceType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1268,8 +1269,8 @@ export const serializeAws_restJson1ListRecoveryPointsByResourceCommand = async ( throw new Error("No value provided for input HTTP label: ResourceArn."); } 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(); @@ -1294,13 +1295,13 @@ export const serializeAws_restJson1ListRestoreJobsCommand = async ( }; let resolvedPath = "/restore-jobs"; const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.ByAccountId !== undefined && { accountId: input.ByAccountId }), ...(input.ByCreatedAfter !== undefined && { createdAfter: (input.ByCreatedAfter.toISOString().split(".")[0] + "Z").toString(), }), ...(input.ByStatus !== undefined && { status: input.ByStatus }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.ByAccountId !== undefined && { accountId: input.ByAccountId }), ...(input.ByCreatedBefore !== undefined && { createdBefore: (input.ByCreatedBefore.toISOString().split(".")[0] + "Z").toString(), }), @@ -1433,6 +1434,9 @@ export const serializeAws_restJson1StartBackupJobCommand = async ( let resolvedPath = "/backup-jobs"; let body: any; body = JSON.stringify({ + ...(input.BackupOptions !== undefined && { + BackupOptions: serializeAws_restJson1BackupOptions(input.BackupOptions, context), + }), ...(input.BackupVaultName !== undefined && { BackupVaultName: input.BackupVaultName }), ...(input.CompleteWindowMinutes !== undefined && { CompleteWindowMinutes: input.CompleteWindowMinutes }), ...(input.IamRoleArn !== undefined && { IamRoleArn: input.IamRoleArn }), @@ -1654,15 +1658,6 @@ export const serializeAws_restJson1UpdateRecoveryPointLifecycleCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}"; - if (input.RecoveryPointArn !== undefined) { - const labelValue: string = input.RecoveryPointArn; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RecoveryPointArn."); - } - resolvedPath = resolvedPath.replace("{RecoveryPointArn}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RecoveryPointArn."); - } if (input.BackupVaultName !== undefined) { const labelValue: string = input.BackupVaultName; if (labelValue.length <= 0) { @@ -1672,6 +1667,15 @@ export const serializeAws_restJson1UpdateRecoveryPointLifecycleCommand = async ( } else { throw new Error("No value provided for input HTTP label: BackupVaultName."); } + if (input.RecoveryPointArn !== undefined) { + const labelValue: string = input.RecoveryPointArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RecoveryPointArn."); + } + resolvedPath = resolvedPath.replace("{RecoveryPointArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RecoveryPointArn."); + } let body: any; body = JSON.stringify({ ...(input.Lifecycle !== undefined && { Lifecycle: serializeAws_restJson1Lifecycle(input.Lifecycle, context) }), @@ -1726,12 +1730,19 @@ export const deserializeAws_restJson1CreateBackupPlanCommand = async ( } const contents: CreateBackupPlanCommandOutput = { $metadata: deserializeMetadata(output), + AdvancedBackupSettings: undefined, BackupPlanArn: undefined, BackupPlanId: undefined, CreationDate: undefined, VersionId: undefined, }; const data: any = await parseBody(output.body, context); + if (data.AdvancedBackupSettings !== undefined && data.AdvancedBackupSettings !== null) { + contents.AdvancedBackupSettings = deserializeAws_restJson1AdvancedBackupSettings( + data.AdvancedBackupSettings, + context + ); + } if (data.BackupPlanArn !== undefined && data.BackupPlanArn !== null) { contents.BackupPlanArn = data.BackupPlanArn; } @@ -2507,7 +2518,9 @@ export const deserializeAws_restJson1DescribeBackupJobCommand = async ( $metadata: deserializeMetadata(output), AccountId: undefined, BackupJobId: undefined, + BackupOptions: undefined, BackupSizeInBytes: undefined, + BackupType: undefined, BackupVaultArn: undefined, BackupVaultName: undefined, BytesTransferred: undefined, @@ -2531,9 +2544,15 @@ export const deserializeAws_restJson1DescribeBackupJobCommand = async ( if (data.BackupJobId !== undefined && data.BackupJobId !== null) { contents.BackupJobId = data.BackupJobId; } + if (data.BackupOptions !== undefined && data.BackupOptions !== null) { + contents.BackupOptions = deserializeAws_restJson1BackupOptions(data.BackupOptions, context); + } if (data.BackupSizeInBytes !== undefined && data.BackupSizeInBytes !== null) { contents.BackupSizeInBytes = data.BackupSizeInBytes; } + if (data.BackupType !== undefined && data.BackupType !== null) { + contents.BackupType = data.BackupType; + } if (data.BackupVaultArn !== undefined && data.BackupVaultArn !== null) { contents.BackupVaultArn = data.BackupVaultArn; } @@ -3340,6 +3359,7 @@ export const deserializeAws_restJson1GetBackupPlanCommand = async ( } const contents: GetBackupPlanCommandOutput = { $metadata: deserializeMetadata(output), + AdvancedBackupSettings: undefined, BackupPlan: undefined, BackupPlanArn: undefined, BackupPlanId: undefined, @@ -3350,6 +3370,12 @@ export const deserializeAws_restJson1GetBackupPlanCommand = async ( VersionId: undefined, }; const data: any = await parseBody(output.body, context); + if (data.AdvancedBackupSettings !== undefined && data.AdvancedBackupSettings !== null) { + contents.AdvancedBackupSettings = deserializeAws_restJson1AdvancedBackupSettings( + data.AdvancedBackupSettings, + context + ); + } if (data.BackupPlan !== undefined && data.BackupPlan !== null) { contents.BackupPlan = deserializeAws_restJson1BackupPlan(data.BackupPlan, context); } @@ -5638,12 +5664,19 @@ export const deserializeAws_restJson1UpdateBackupPlanCommand = async ( } const contents: UpdateBackupPlanCommandOutput = { $metadata: deserializeMetadata(output), + AdvancedBackupSettings: undefined, BackupPlanArn: undefined, BackupPlanId: undefined, CreationDate: undefined, VersionId: undefined, }; const data: any = await parseBody(output.body, context); + if (data.AdvancedBackupSettings !== undefined && data.AdvancedBackupSettings !== null) { + contents.AdvancedBackupSettings = deserializeAws_restJson1AdvancedBackupSettings( + data.AdvancedBackupSettings, + context + ); + } if (data.BackupPlanArn !== undefined && data.BackupPlanArn !== null) { contents.BackupPlanArn = data.BackupPlanArn; } @@ -6118,8 +6151,34 @@ const deserializeAws_restJson1ServiceUnavailableExceptionResponse = async ( return contents; }; +const serializeAws_restJson1AdvancedBackupSetting = (input: AdvancedBackupSetting, context: __SerdeContext): any => { + return { + ...(input.BackupOptions !== undefined && { + BackupOptions: serializeAws_restJson1BackupOptions(input.BackupOptions, context), + }), + ...(input.ResourceType !== undefined && { ResourceType: input.ResourceType }), + }; +}; + +const serializeAws_restJson1AdvancedBackupSettings = (input: AdvancedBackupSetting[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1AdvancedBackupSetting(entry, context)); +}; + +const serializeAws_restJson1BackupOptions = (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_restJson1BackupPlanInput = (input: BackupPlanInput, context: __SerdeContext): any => { return { + ...(input.AdvancedBackupSettings !== undefined && { + AdvancedBackupSettings: serializeAws_restJson1AdvancedBackupSettings(input.AdvancedBackupSettings, context), + }), ...(input.BackupPlanName !== undefined && { BackupPlanName: input.BackupPlanName }), ...(input.Rules !== undefined && { Rules: serializeAws_restJson1BackupRulesInput(input.Rules, context) }), }; @@ -6237,14 +6296,36 @@ const serializeAws_restJson1Tags = (input: { [key: string]: string }, context: _ ); }; +const deserializeAws_restJson1AdvancedBackupSetting = (output: any, context: __SerdeContext): AdvancedBackupSetting => { + return { + BackupOptions: + output.BackupOptions !== undefined && output.BackupOptions !== null + ? deserializeAws_restJson1BackupOptions(output.BackupOptions, context) + : undefined, + ResourceType: output.ResourceType !== undefined && output.ResourceType !== null ? output.ResourceType : undefined, + } as any; +}; + +const deserializeAws_restJson1AdvancedBackupSettings = ( + output: any, + context: __SerdeContext +): AdvancedBackupSetting[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AdvancedBackupSetting(entry, context)); +}; + const deserializeAws_restJson1BackupJob = (output: any, context: __SerdeContext): BackupJob => { return { AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, BackupJobId: output.BackupJobId !== undefined && output.BackupJobId !== null ? output.BackupJobId : undefined, + BackupOptions: + output.BackupOptions !== undefined && output.BackupOptions !== null + ? deserializeAws_restJson1BackupOptions(output.BackupOptions, context) + : undefined, BackupSizeInBytes: output.BackupSizeInBytes !== undefined && output.BackupSizeInBytes !== null ? output.BackupSizeInBytes : undefined, + BackupType: output.BackupType !== undefined && output.BackupType !== null ? output.BackupType : undefined, BackupVaultArn: output.BackupVaultArn !== undefined && output.BackupVaultArn !== null ? output.BackupVaultArn : undefined, BackupVaultName: @@ -6285,8 +6366,22 @@ const deserializeAws_restJson1BackupJobsList = (output: any, context: __SerdeCon return (output || []).map((entry: any) => deserializeAws_restJson1BackupJob(entry, context)); }; +const deserializeAws_restJson1BackupOptions = (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_restJson1BackupPlan = (output: any, context: __SerdeContext): BackupPlan => { return { + AdvancedBackupSettings: + output.AdvancedBackupSettings !== undefined && output.AdvancedBackupSettings !== null + ? deserializeAws_restJson1AdvancedBackupSettings(output.AdvancedBackupSettings, context) + : undefined, BackupPlanName: output.BackupPlanName !== undefined && output.BackupPlanName !== null ? output.BackupPlanName : undefined, Rules: @@ -6302,6 +6397,10 @@ const deserializeAws_restJson1BackupPlansList = (output: any, context: __SerdeCo const deserializeAws_restJson1BackupPlansListMember = (output: any, context: __SerdeContext): BackupPlansListMember => { return { + AdvancedBackupSettings: + output.AdvancedBackupSettings !== undefined && output.AdvancedBackupSettings !== null + ? deserializeAws_restJson1AdvancedBackupSettings(output.AdvancedBackupSettings, context) + : undefined, BackupPlanArn: output.BackupPlanArn !== undefined && output.BackupPlanArn !== null ? output.BackupPlanArn : undefined, BackupPlanId: output.BackupPlanId !== undefined && output.BackupPlanId !== null ? output.BackupPlanId : undefined, diff --git a/clients/client-batch/Batch.ts b/clients/client-batch/Batch.ts index 26cf4454abdb..c88df9ebbbb7 100644 --- a/clients/client-batch/Batch.ts +++ b/clients/client-batch/Batch.ts @@ -46,17 +46,28 @@ import { DescribeJobsCommandOutput, } from "./commands/DescribeJobsCommand"; import { ListJobsCommand, ListJobsCommandInput, ListJobsCommandOutput } from "./commands/ListJobsCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { RegisterJobDefinitionCommand, RegisterJobDefinitionCommandInput, RegisterJobDefinitionCommandOutput, } from "./commands/RegisterJobDefinitionCommand"; import { SubmitJobCommand, SubmitJobCommandInput, SubmitJobCommandOutput } from "./commands/SubmitJobCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { TerminateJobCommand, TerminateJobCommandInput, TerminateJobCommandOutput, } from "./commands/TerminateJobCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; import { UpdateComputeEnvironmentCommand, UpdateComputeEnvironmentCommandInput, @@ -71,23 +82,24 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** *

                AWS Batch enables you to run batch computing workloads on the AWS Cloud. Batch computing is a common way for - * developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the - * undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar to - * users of traditional batch computing software. This service can efficiently provision resources in response to jobs - * submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results quickly.

                + * developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the + * undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar + * to users of traditional batch computing software. This service can efficiently provision resources in response to + * jobs submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results + * quickly.

                *

                As a fully managed service, AWS Batch enables developers, scientists, and engineers to run batch computing - * workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution - * based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch computing - * software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces operational - * complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and engineers to run - * their batch jobs in the AWS Cloud.

                + * workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution + * based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch + * computing software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces + * operational complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and + * engineers to run their batch jobs in the AWS Cloud.

                */ export class Batch extends BatchClient { /** *

                Cancels a job in an AWS Batch job queue. Jobs that are in the SUBMITTED, PENDING, or - * RUNNABLE state are cancelled. Jobs that have progressed to STARTING or - * RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled); these - * jobs must be terminated with the TerminateJob operation.

                + * RUNNABLE state are cancelled. Jobs that have progressed to STARTING or + * RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled); + * these jobs must be terminated with the TerminateJob operation.

                */ public cancelJob(args: CancelJobCommandInput, options?: __HttpHandlerOptions): Promise; public cancelJob(args: CancelJobCommandInput, cb: (err: any, data?: CancelJobCommandOutput) => void): void; @@ -114,27 +126,27 @@ export class Batch extends BatchClient { /** *

                Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute - * environments.

                + * environments.

                *

                In a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources - * within the environment. This is based on the compute resource specification that you define or the launch template that you - * specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances in - * your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the - * Spot Instance price is below a specified percentage of the On-Demand price.

                + * within the environment. This is based on the compute resource specification that you define or the launch template that you + * specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances + * in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch + * when the Spot Instance price is below a specified percentage of the On-Demand price.

                * *

                Multi-node parallel jobs are not supported on Spot Instances.

                *
                *

                In an unmanaged compute environment, you can manage your own compute resources. This provides more compute - * resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS - * container instance AMI specification. For more information, see Container Instance AMIs in the - * Amazon Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the - * DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. Then, - * manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS - * Container Instance in the Amazon Elastic Container Service Developer Guide.

                + * resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS + * container instance AMI specification. For more information, see Container Instance AMIs in the + * Amazon Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the + * DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. + * Then, manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon + * ECS Container Instance in the Amazon Elastic Container Service Developer Guide.

                * *

                AWS Batch does not upgrade the AMIs in a compute environment after it is created (for example, when a newer - * version of the Amazon ECS-optimized AMI is available). You are responsible for the management of the guest operating - * system (including updates and security patches) and any additional application software or utilities that you - * install on the compute resources. To use a new AMI for your AWS Batch jobs:

                + * version of the Amazon ECS-optimized AMI is available). You are responsible for the management of the guest operating + * system (including updates and security patches) and any additional application software or utilities that you + * install on the compute resources. To use a new AMI for your AWS Batch jobs:

                *
                  *
                1. *

                  Create a new compute environment with the new AMI.

                  @@ -181,12 +193,12 @@ export class Batch extends BatchClient { } /** - *

                  Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to the - * queue and assign an order of preference for the compute environments.

                  + *

                  Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to + * the queue and assign an order of preference for the compute environments.

                  *

                  You also set a priority to the job queue that determines the order in which the AWS Batch scheduler places jobs - * onto its associated compute environments. For example, if a compute environment is associated with more than one job - * queue, the job queue with a higher priority is given preference for scheduling jobs to that compute - * environment.

                  + * onto its associated compute environments. For example, if a compute environment is associated with more than one + * job queue, the job queue with a higher priority is given preference for scheduling jobs to that compute + * environment.

                  */ public createJobQueue( args: CreateJobQueueCommandInput, @@ -253,7 +265,7 @@ export class Batch extends BatchClient { /** *

                  Deletes the specified job queue. You must first disable submissions for a queue with the UpdateJobQueue operation. All jobs in the queue are terminated when you delete a job queue.

                  *

                  It is not necessary to disassociate compute environments from a queue before submitting a - * DeleteJobQueue request.

                  + * DeleteJobQueue request.

                  */ public deleteJobQueue( args: DeleteJobQueueCommandInput, @@ -320,8 +332,8 @@ export class Batch extends BatchClient { /** *

                  Describes one or more of your compute environments.

                  *

                  If you are using an unmanaged compute environment, you can use the DescribeComputeEnvironment - * operation to determine the ecsClusterArn that you should launch your Amazon ECS container instances - * into.

                  + * operation to determine the ecsClusterArn that you should launch your Amazon ECS container instances + * into.

                  */ public describeComputeEnvironments( args: DescribeComputeEnvironmentsCommandInput, @@ -353,8 +365,8 @@ export class Batch extends BatchClient { } /** - *

                  Describes a list of job definitions. You can specify a status (such as ACTIVE) to only - * return job definitions that match that status.

                  + *

                  Describes a list of job definitions. You can specify a status (such as ACTIVE) to + * only return job definitions that match that status.

                  */ public describeJobDefinitions( args: DescribeJobDefinitionsCommandInput, @@ -461,7 +473,7 @@ export class Batch extends BatchClient { *
                2. *
              *

              You can filter the results by job status with the jobStatus parameter. If you do not specify a - * status, only RUNNING jobs are returned.

              + * status, only RUNNING jobs are returned.

              */ public listJobs(args: ListJobsCommandInput, options?: __HttpHandlerOptions): Promise; public listJobs(args: ListJobsCommandInput, cb: (err: any, data?: ListJobsCommandOutput) => void): void; @@ -486,6 +498,39 @@ export class Batch extends BatchClient { } } + /** + *

              List the tags for an AWS Batch resource. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job + * queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

              + */ + 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); + } + } + /** *

              Registers an AWS Batch job definition.

              */ @@ -520,7 +565,7 @@ export class Batch extends BatchClient { /** *

              Submits an AWS Batch job from a job definition. Parameters specified during SubmitJob override - * parameters defined in the job definition.

              + * parameters defined in the job definition.

              */ public submitJob(args: SubmitJobCommandInput, options?: __HttpHandlerOptions): Promise; public submitJob(args: SubmitJobCommandInput, cb: (err: any, data?: SubmitJobCommandOutput) => void): void; @@ -545,10 +590,39 @@ export class Batch extends BatchClient { } } + /** + *

              Associates the specified tags to a resource with the specified resourceArn. If existing tags on a + * resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags + * associated with that resource are deleted as well. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job + * queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

              + */ + 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); + } + } + /** *

              Terminates a job in a job queue. Jobs that are in the STARTING or RUNNING state are - * terminated, which causes them to transition to FAILED. Jobs that have not progressed to the - * STARTING state are cancelled.

              + * terminated, which causes them to transition to FAILED. Jobs that have not progressed to the + * STARTING state are cancelled.

              */ public terminateJob( args: TerminateJobCommandInput, @@ -576,6 +650,38 @@ export class Batch extends BatchClient { } } + /** + *

              Deletes specified tags from an AWS Batch resource.

              + */ + 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); + } + } + /** *

              Updates an AWS Batch compute environment.

              */ diff --git a/clients/client-batch/BatchClient.ts b/clients/client-batch/BatchClient.ts index 619726667902..d122493765b5 100644 --- a/clients/client-batch/BatchClient.ts +++ b/clients/client-batch/BatchClient.ts @@ -24,12 +24,18 @@ import { import { DescribeJobQueuesCommandInput, DescribeJobQueuesCommandOutput } from "./commands/DescribeJobQueuesCommand"; import { DescribeJobsCommandInput, DescribeJobsCommandOutput } from "./commands/DescribeJobsCommand"; import { ListJobsCommandInput, ListJobsCommandOutput } from "./commands/ListJobsCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { RegisterJobDefinitionCommandInput, RegisterJobDefinitionCommandOutput, } from "./commands/RegisterJobDefinitionCommand"; import { SubmitJobCommandInput, SubmitJobCommandOutput } from "./commands/SubmitJobCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { TerminateJobCommandInput, TerminateJobCommandOutput } from "./commands/TerminateJobCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateComputeEnvironmentCommandInput, UpdateComputeEnvironmentCommandOutput, @@ -96,9 +102,12 @@ export type ServiceInputTypes = | DescribeJobQueuesCommandInput | DescribeJobsCommandInput | ListJobsCommandInput + | ListTagsForResourceCommandInput | RegisterJobDefinitionCommandInput | SubmitJobCommandInput + | TagResourceCommandInput | TerminateJobCommandInput + | UntagResourceCommandInput | UpdateComputeEnvironmentCommandInput | UpdateJobQueueCommandInput; @@ -114,9 +123,12 @@ export type ServiceOutputTypes = | DescribeJobQueuesCommandOutput | DescribeJobsCommandOutput | ListJobsCommandOutput + | ListTagsForResourceCommandOutput | RegisterJobDefinitionCommandOutput | SubmitJobCommandOutput + | TagResourceCommandOutput | TerminateJobCommandOutput + | UntagResourceCommandOutput | UpdateComputeEnvironmentCommandOutput | UpdateJobQueueCommandOutput; @@ -234,16 +246,17 @@ export type BatchClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHand /** *

              AWS Batch enables you to run batch computing workloads on the AWS Cloud. Batch computing is a common way for - * developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the - * undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar to - * users of traditional batch computing software. This service can efficiently provision resources in response to jobs - * submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results quickly.

              + * developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the + * undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar + * to users of traditional batch computing software. This service can efficiently provision resources in response to + * jobs submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results + * quickly.

              *

              As a fully managed service, AWS Batch enables developers, scientists, and engineers to run batch computing - * workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution - * based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch computing - * software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces operational - * complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and engineers to run - * their batch jobs in the AWS Cloud.

              + * workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution + * based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch + * computing software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces + * operational complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and + * engineers to run their batch jobs in the AWS Cloud.

              */ export class BatchClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-batch/commands/ListTagsForResourceCommand.ts b/clients/client-batch/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..9922d250e33d --- /dev/null +++ b/clients/client-batch/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,70 @@ +import { BatchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BatchClient"; +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, + BatchClientResolvedConfig +> { + // 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: BatchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListTagsForResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsForResourceResponse.filterSensitiveLog, + }; + 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-batch/commands/TagResourceCommand.ts b/clients/client-batch/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..a633a6e93a68 --- /dev/null +++ b/clients/client-batch/commands/TagResourceCommand.ts @@ -0,0 +1,70 @@ +import { BatchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BatchClient"; +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, + BatchClientResolvedConfig +> { + // 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: BatchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: TagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: TagResourceResponse.filterSensitiveLog, + }; + 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-batch/commands/UntagResourceCommand.ts b/clients/client-batch/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..23642e2fda40 --- /dev/null +++ b/clients/client-batch/commands/UntagResourceCommand.ts @@ -0,0 +1,70 @@ +import { BatchClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BatchClient"; +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, + BatchClientResolvedConfig +> { + // 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: BatchClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UntagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: UntagResourceResponse.filterSensitiveLog, + }; + 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-batch/index.ts b/clients/client-batch/index.ts index 2cdef51e9153..21fa0107e255 100644 --- a/clients/client-batch/index.ts +++ b/clients/client-batch/index.ts @@ -15,9 +15,12 @@ export * from "./pagination/DescribeJobQueuesPaginator"; export * from "./commands/DescribeJobsCommand"; export * from "./commands/ListJobsCommand"; export * from "./pagination/ListJobsPaginator"; +export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/RegisterJobDefinitionCommand"; export * from "./commands/SubmitJobCommand"; +export * from "./commands/TagResourceCommand"; export * from "./commands/TerminateJobCommand"; +export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateComputeEnvironmentCommand"; export * from "./commands/UpdateJobQueueCommand"; export * from "./pagination/Interfaces"; diff --git a/clients/client-batch/models/models_0.ts b/clients/client-batch/models/models_0.ts index 3f3edffa946f..812f0c094e2a 100644 --- a/clients/client-batch/models/models_0.ts +++ b/clients/client-batch/models/models_0.ts @@ -28,20 +28,20 @@ export namespace ArrayProperties { export interface ArrayPropertiesDetail { /** *

              The job index within the array that is associated with this job. This parameter is returned for array job - * children.

              + * children.

              */ index?: number; /** - *

              A summary of the number of array job children in each available job status. This parameter is returned for - * parent array jobs.

              + *

              The size of the array job. This parameter is returned for parent array jobs.

              */ - statusSummary?: { [key: string]: number }; + size?: number; /** - *

              The size of the array job. This parameter is returned for parent array jobs.

              + *

              A summary of the number of array job children in each available job status. This parameter is returned for + * parent array jobs.

              */ - size?: number; + statusSummary?: { [key: string]: number }; } export namespace ArrayPropertiesDetail { @@ -55,15 +55,15 @@ export namespace ArrayPropertiesDetail { */ export interface ArrayPropertiesSummary { /** - *

              The job index within the array that is associated with this job. This parameter is returned for children of - * array jobs.

              + *

              The size of the array job. This parameter is returned for parent array jobs.

              */ - index?: number; + size?: number; /** - *

              The size of the array job. This parameter is returned for parent array jobs.

              + *

              The job index within the array that is associated with this job. This parameter is returned for children of + * array jobs.

              */ - size?: number; + index?: number; } export namespace ArrayPropertiesSummary { @@ -77,14 +77,14 @@ export namespace ArrayPropertiesSummary { */ export interface NetworkInterface { /** - *

              The private IPv6 address for the network interface.

              + *

              The attachment ID for the network interface.

              */ - ipv6Address?: string; + attachmentId?: string; /** - *

              The attachment ID for the network interface.

              + *

              The private IPv6 address for the network interface.

              */ - attachmentId?: string; + ipv6Address?: string; /** *

              The private IPv4 address for the network interface.

              @@ -103,38 +103,38 @@ export namespace NetworkInterface { */ export interface AttemptContainerDetail { /** - *

              The Amazon Resource Name (ARN) of the Amazon ECS container instance that hosts the job attempt.

              + *

              A short (255 max characters) human-readable string to provide additional details about a running or stopped + * container.

              */ - containerInstanceArn?: string; + reason?: string; /** - *

              The network interfaces associated with the job attempt.

              + *

              The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is + * /aws/batch/job. Each container attempt receives a log stream name when they reach the + * RUNNING status.

              */ - networkInterfaces?: NetworkInterface[]; + logStreamName?: string; /** - *

              The exit code for the job attempt. A non-zero exit code is considered a failure.

              + *

              The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the job attempt. Each container attempt receives a + * task ARN when they reach the STARTING status.

              */ - exitCode?: number; + taskArn?: string; /** - *

              The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the job attempt. Each container attempt receives a task - * ARN when they reach the STARTING status.

              + *

              The Amazon Resource Name (ARN) of the Amazon ECS container instance that hosts the job attempt.

              */ - taskArn?: string; + containerInstanceArn?: string; /** - *

              A short (255 max characters) human-readable string to provide additional details about a running or stopped - * container.

              + *

              The network interfaces associated with the job attempt.

              */ - reason?: string; + networkInterfaces?: NetworkInterface[]; /** - *

              The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is - * /aws/batch/job. Each container attempt receives a log stream name when they reach the - * RUNNING status.

              + *

              The exit code for the job attempt. A non-zero exit code is considered a failure.

              */ - logStreamName?: string; + exitCode?: number; } export namespace AttemptContainerDetail { @@ -148,13 +148,21 @@ export namespace AttemptContainerDetail { */ export interface AttemptDetail { /** - *

              The Unix timestamp (in seconds and milliseconds) for when the attempt was started (when the attempt transitioned - * from the STARTING state to the RUNNING state).

              + *

              The Unix timestamp (in milliseconds) for when the attempt was stopped (when the attempt transitioned from the + * RUNNING state to a terminal state, such as SUCCEEDED or + * FAILED).

              + */ + stoppedAt?: number; + + /** + *

              The Unix timestamp (in milliseconds) for when the attempt was started (when the attempt transitioned from the + * STARTING state to the RUNNING state).

              */ startedAt?: number; /** - *

              A short, human-readable string to provide additional details about the current status of the job attempt.

              + *

              A short, human-readable string to provide additional details about the current status of the job + * attempt.

              */ statusReason?: string; @@ -162,13 +170,6 @@ export interface AttemptDetail { *

              Details about the container in this job attempt.

              */ container?: AttemptContainerDetail; - - /** - *

              The Unix timestamp (in seconds and milliseconds) for when the attempt was stopped (when the attempt transitioned - * from the RUNNING state to a terminal state, such as SUCCEEDED or - * FAILED).

              - */ - stoppedAt?: number; } export namespace AttemptDetail { @@ -185,8 +186,8 @@ export interface CancelJobRequest { /** *

              A message to attach to the job that explains the reason for canceling it. This message is returned by future - * DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity - * logs.

              + * DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity + * logs.

              */ reason: string | undefined; } @@ -206,8 +207,8 @@ export namespace CancelJobResponse { } /** - *

              These errors are usually caused by a client action, such as using an action or resource on behalf of a user that - * doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

              + *

              These errors are usually caused by a client action, such as using an action or resource on behalf of a user + * that doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

              */ export interface ClientException extends __SmithyException, $MetadataBearer { name: "ClientException"; @@ -243,25 +244,27 @@ export enum CRAllocationStrategy { } /** - *

              An object representing a launch template associated with a compute resource. You must specify either the launch - * template ID or launch template name in the request, but not both.

              + *

              An object representing a launch template associated with a compute resource. You must specify either the + * launch template ID or launch template name in the request, but not both.

              */ export interface LaunchTemplateSpecification { /** - *

              The ID of the launch template.

              + *

              The name of the launch template.

              */ - launchTemplateId?: string; + launchTemplateName?: string; /** - *

              The version number of the launch template.

              - *

              Default: The default version of the launch template.

              + *

              The version number of the launch template, $Latest, or $Default.

              + *

              If the value is $Latest, the latest version of the launch template is used. If the value is + * $Default, the default version of the launch template is used.

              + *

              Default: $Default.

              */ version?: string; /** - *

              The name of the launch template.

              + *

              The ID of the launch template.

              */ - launchTemplateName?: string; + launchTemplateId?: string; } export namespace LaunchTemplateSpecification { @@ -280,49 +283,34 @@ export enum CRType { */ export interface ComputeResource { /** - *

              The Amazon EC2 security groups associated with instances launched in the compute environment. One or more security - * groups must be specified, either in securityGroupIds or using a launch template referenced in - * launchTemplate. If security groups are specified using both securityGroupIds and - * launchTemplate, the values in securityGroupIds will be used.

              - */ - securityGroupIds?: string[]; - - /** - *

              The VPC subnets into which the compute resources are launched. For more information, see VPCs and Subnets in the Amazon - * VPC User Guide.

              + *

              The VPC subnets into which the compute resources are launched. For more information, see VPCs and Subnets in the + * Amazon VPC User Guide.

              */ subnets: string[] | undefined; /** - *

              The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment. - * This role is required if the allocation - * strategy set to BEST_FIT or if the allocation strategy is not specified. For more - * information, see Amazon EC2 Spot Fleet - * Role in the AWS Batch User Guide.

              - */ - spotIamFleetRole?: string; - - /** - *

              The instances types that may be launched. You can specify instance families to launch any instance type within - * those families (for example, c5 or p3), or you can specify specific sizes within a family - * (such as c5.8xlarge). You can also choose optimal to pick instance types (from the C, M, - * and R instance families) on the fly that match the demand of your job queues.

              + *

              The minimum number of Amazon EC2 vCPUs that an environment should maintain (even if the compute environment is + * DISABLED).

              */ - instanceTypes: string[] | undefined; + minvCpus: number | undefined; /** - *

              The desired number of Amazon EC2 vCPUS in the compute environment.

              + *

              The type of compute environment: EC2 or SPOT.

              */ - desiredvCpus?: number; + type: CRType | string | undefined; /** - *

              The launch template to use for your compute resources. Any other compute resource parameters that you specify in - * a CreateComputeEnvironment API operation override the same parameters in the launch template. You - * must specify either the launch template ID or launch template name in the request, but not both. For more - * information, see Launch Template - * Support in the AWS Batch User Guide.

              + *

              The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name + * or full Amazon Resource Name (ARN) of an instance profile. For example, + * + * ecsInstanceRole + * or + * arn:aws:iam:::instance-profile/ecsInstanceRole + * . + * For more information, see Amazon ECS Instance + * Role in the AWS Batch User Guide.

              */ - launchTemplate?: LaunchTemplateSpecification; + instanceRole: string | undefined; /** *

              The maximum number of Amazon EC2 vCPUs that an environment can reach.

              @@ -330,78 +318,97 @@ export interface ComputeResource { maxvCpus: number | undefined; /** - *

              The Amazon EC2 key pair that is used for instances launched in the compute environment.

              + *

              The maximum percentage that a Spot Instance price can be when compared with the On-Demand price for that + * instance type before instances are launched. For example, if your maximum percentage is 20%, then the Spot price + * must be below 20% of the current On-Demand price for that Amazon EC2 instance. You always pay the lowest (market) price + * and never more than your maximum percentage. If you leave this field empty, the default value is 100% of the + * On-Demand price.

              */ - ec2KeyPair?: string; + bidPercentage?: number; /** - *

              The Amazon Machine Image (AMI) ID used for instances launched in the compute environment.

              + *

              The desired number of Amazon EC2 vCPUS in the compute environment.

              */ - imageId?: string; + desiredvCpus?: number; /** - *

              The Amazon EC2 placement group to associate with your compute resources. If you intend to submit multi-node parallel - * jobs to your compute environment, you should consider creating a cluster placement group and associate it with your - * compute resources. This keeps your multi-node parallel job on a logical grouping of instances within a single - * Availability Zone with high network flow potential. For more information, see Placement Groups in the Amazon EC2 User Guide for - * Linux Instances.

              + *

              The Amazon EC2 placement group to associate with your compute resources. If you intend to submit multi-node + * parallel jobs to your compute environment, you should consider creating a cluster placement group and associate it + * with your compute resources. This keeps your multi-node parallel job on a logical grouping of instances within a + * single Availability Zone with high network flow potential. For more information, see Placement Groups in the Amazon EC2 User Guide + * for Linux Instances.

              */ placementGroup?: string; /** - *

              The type of compute environment: EC2 or SPOT.

              + *

              The Amazon EC2 key pair that is used for instances launched in the compute environment.

              */ - type: CRType | string | undefined; + ec2KeyPair?: string; /** - *

              Key-value pair tags to be applied to resources that are launched in the compute environment. For AWS Batch, these - * take the form of "String1": "String2", where String1 is the tag key and String2 is the tag value—for example, { - * "Name": "AWS Batch Instance - C4OnDemand" }.

              + *

              The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment. + * This role is required if the allocation + * strategy set to BEST_FIT or if the allocation strategy is not specified. For more + * information, see Amazon EC2 Spot + * Fleet Role in the AWS Batch User Guide.

              */ - tags?: { [key: string]: string }; + spotIamFleetRole?: string; + + /** + *

              The launch template to use for your compute resources. Any other compute resource parameters that you specify + * in a CreateComputeEnvironment API operation override the same parameters in the launch template. + * You must specify either the launch template ID or launch template name in the request, but not both. For more + * information, see Launch Template + * Support in the AWS Batch User Guide.

              + */ + launchTemplate?: LaunchTemplateSpecification; /** *

              The allocation strategy to use for the compute resource in case not enough instances of the best fitting - * instance type can be allocated. This could be due to availability of the instance type in the region or Amazon EC2 service limits. If this is - * not specified, the default is BEST_FIT, which will use only the best fitting instance type, waiting for - * additional capacity if it's not available. This allocation strategy keeps costs lower but can limit scaling. If you - * are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be specified. - * BEST_FIT_PROGRESSIVE will select additional instance types that are large enough to meet the - * requirements of the jobs in the queue, with a preference for instance types with a lower cost per vCPU. - * SPOT_CAPACITY_OPTIMIZED is only available for Spot Instance compute resources and will select - * additional instance types that are large enough to meet the requirements of the jobs in the queue, with a preference - * for instance types that are less likely to be interrupted. For more information, see Allocation Strategies in the - * AWS Batch User Guide.

              + * instance type can be allocated. This could be due to availability of the instance type in the region or Amazon EC2 service limits. If + * this is not specified, the default is BEST_FIT, which will use only the best fitting instance type, + * waiting for additional capacity if it's not available. This allocation strategy keeps costs lower but can limit + * scaling. If you are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be specified. + * BEST_FIT_PROGRESSIVE will select additional instance types that are large enough to meet the + * requirements of the jobs in the queue, with a preference for instance types with a lower cost per vCPU. + * SPOT_CAPACITY_OPTIMIZED is only available for Spot Instance compute resources and will select + * additional instance types that are large enough to meet the requirements of the jobs in the queue, with a + * preference for instance types that are less likely to be interrupted. For more information, see Allocation Strategies in + * the AWS Batch User Guide.

              */ allocationStrategy?: CRAllocationStrategy | string; /** - *

              The minimum number of Amazon EC2 vCPUs that an environment should maintain (even if the compute environment is - * DISABLED).

              + *

              The instances types that may be launched. You can specify instance families to launch any instance type within + * those families (for example, c5 or p3), or you can specify specific sizes within a + * family (such as c5.8xlarge). You can also choose optimal to pick instance types (from + * the C, M, and R instance families) on the fly that match the demand of your job queues.

              */ - minvCpus: number | undefined; + instanceTypes: string[] | undefined; /** - *

              The maximum percentage that a Spot Instance price can be when compared with the On-Demand price for that - * instance type before instances are launched. For example, if your maximum percentage is 20%, then the Spot price must - * be below 20% of the current On-Demand price for that Amazon EC2 instance. You always pay the lowest (market) price and - * never more than your maximum percentage. If you leave this field empty, the default value is 100% of the On-Demand - * price.

              + *

              Key-value pair tags to be applied to resources that are launched in the compute environment. For AWS Batch, + * these take the form of "String1": "String2", where String1 is the tag key and String2 is the tag value—for + * example, { "Name": "AWS Batch Instance - C4OnDemand" + * }. These tags can not be updated or removed + * after the compute environment has been created; any changes require creating a new compute environment and + * removing the old compute environment. These tags are not seen when using the AWS Batch ListTagsForResource API + * operation.

              */ - bidPercentage?: number; + tags?: { [key: string]: string }; /** - *

              The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name - * or full Amazon Resource Name (ARN) of an instance profile. For example, - * - * ecsInstanceRole - * or - * arn:aws:iam:::instance-profile/ecsInstanceRole - * . - * For more information, see Amazon ECS Instance - * Role in the AWS Batch User Guide.

              + *

              The Amazon Machine Image (AMI) ID used for instances launched in the compute environment.

              */ - instanceRole: string | undefined; + imageId?: string; + + /** + *

              The Amazon EC2 security groups associated with instances launched in the compute environment. One or more security + * groups must be specified, either in securityGroupIds or using a launch template referenced in + * launchTemplate. If security groups are specified using both securityGroupIds and + * launchTemplate, the values in securityGroupIds will be used.

              + */ + securityGroupIds?: string[]; } export namespace ComputeResource { @@ -421,43 +428,54 @@ export enum CEType { } export interface CreateComputeEnvironmentRequest { - /** - *

              The state of the compute environment. If the state is ENABLED, then the compute environment accepts - * jobs from a queue and can scale out automatically based on queues.

              - */ - state?: CEState | string; - /** *

              The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your - * behalf.

              + * behalf.

              *

              If your specified role has a path other than /, then you must either specify the full role ARN - * (this is recommended) or prefix the role name with the path.

              + * (this is recommended) or prefix the role name with the path.

              * - *

              Depending on how you created your AWS Batch service role, its ARN may contain the service-role path - * prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the - * service-role path prefix. Because of this, we recommend that you specify the full ARN of your service - * role when you create compute environments.

              + *

              Depending on how you created your AWS Batch service role, its ARN may contain the service-role + * path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the + * service-role path prefix. Because of this, we recommend that you specify the full ARN of your + * service role when you create compute environments.

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

              Details of the compute resources managed by the compute environment. This parameter is required for managed - * compute environments. For more information, see Compute Environments in the - * AWS Batch User Guide.

              + *

              The name for your compute environment. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and + * underscores are allowed.

              */ - computeResources?: ComputeResource; + computeEnvironmentName: string | undefined; /** - *

              The name for your compute environment. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

              + *

              The state of the compute environment. If the state is ENABLED, then the compute environment + * accepts jobs from a queue and can scale out automatically based on queues.

              */ - computeEnvironmentName: string | undefined; + state?: CEState | string; + + /** + *

              The tags that you apply to the compute environment to help you categorize and organize your resources. Each + * tag consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General + * Reference.

              + * + *

              These tags can be updated or removed using the TagResource and UntagResource API operations. These tags do not + * propagate to the underlying compute resources.

              + */ + tags?: { [key: string]: string }; /** *

              The type of the compute environment. For more information, see Compute Environments in the - * AWS Batch User Guide.

              + * AWS Batch User Guide.

              */ type: CEType | string | undefined; + + /** + *

              Details of the compute resources managed by the compute environment. This parameter is required for managed + * compute environments. For more information, see Compute Environments in the + * AWS Batch User Guide.

              + */ + computeResources?: ComputeResource; } export namespace CreateComputeEnvironmentRequest { @@ -486,8 +504,8 @@ export namespace CreateComputeEnvironmentResponse { /** *

              The order in which compute environments are tried for job placement within a queue. Compute environments are - * tried in ascending order. For example, if two compute environments are associated with a job queue, the compute - * environment with a lower order integer value is tried for job placement first.

              + * tried in ascending order. For example, if two compute environments are associated with a job queue, the compute + * environment with a lower order integer value is tried for job placement first.

              */ export interface ComputeEnvironmentOrder { /** @@ -514,30 +532,39 @@ export enum JQState { export interface CreateJobQueueRequest { /** - *

              The name of the job queue.

              + *

              The priority of the job queue. Job queues with a higher priority (or a higher integer value for the + * priority parameter) are evaluated first when associated with the same compute environment. Priority + * is determined in descending order, for example, a job queue with a priority value of 10 is given + * scheduling preference over a job queue with a priority value of 1.

              */ - jobQueueName: string | undefined; + priority: number | undefined; /** - *

              The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler - * uses this parameter to determine which compute environment should execute a given job. Compute environments must be - * in the VALID state before you can associate them with a job queue. You can associate up to three compute - * environments with a job queue.

              + *

              The set of compute environments mapped to a job queue and their order relative to each other. The job + * scheduler uses this parameter to determine which compute environment should execute a given job. Compute + * environments must be in the VALID state before you can associate them with a job queue. You can + * associate up to three compute environments with a job queue.

              */ computeEnvironmentOrder: ComputeEnvironmentOrder[] | undefined; /** - *

              The state of the job queue. If the job queue state is ENABLED, it is able to accept jobs.

              + *

              The state of the job queue. If the job queue state is ENABLED, it is able to accept jobs. If the + * job queue state is DISABLED, new jobs cannot be added to the queue, but jobs already in the queue can + * finish.

              */ state?: JQState | string; /** - *

              The priority of the job queue. Job queues with a higher priority (or a higher integer value for the - * priority parameter) are evaluated first when associated with the same compute environment. Priority is - * determined in descending order, for example, a job queue with a priority value of 10 is given scheduling - * preference over a job queue with a priority value of 1.

              + *

              The name of the job queue.

              */ - priority: number | undefined; + jobQueueName: string | undefined; + + /** + *

              The tags that you apply to the job queue to help you categorize and organize your resources. Each tag consists + * of a key and an optional value. For more information, see Tagging AWS Resources in AWS General + * Reference.

              + */ + tags?: { [key: string]: string }; } export namespace CreateJobQueueRequest { @@ -608,7 +635,8 @@ export namespace DeleteJobQueueResponse { export interface DeregisterJobDefinitionRequest { /** - *

              The name and revision (name:revision) or full Amazon Resource Name (ARN) of the job definition to deregister.

              + *

              The name and revision (name:revision) or full Amazon Resource Name (ARN) of the job definition to + * deregister.

              */ jobDefinition: string | undefined; } @@ -635,23 +663,24 @@ export interface DescribeComputeEnvironmentsRequest { /** *

              The nextToken value returned from a previous paginated DescribeComputeEnvironments - * 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. This value is - * null when there are no more results to return.

              + * 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. This value is + * null when there are no more results to return.

              * - *

              This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

              + *

              This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

              *
              */ nextToken?: string; /** - *

              The maximum number of cluster results returned by DescribeComputeEnvironments in paginated output. - * When this parameter is used, DescribeComputeEnvironments only returns maxResults results in - * a single page along with a nextToken response element. The remaining results of the initial request can - * be seen by sending another DescribeComputeEnvironments request with the returned nextToken - * value. This value can be between 1 and 100. If this parameter is not used, then - * DescribeComputeEnvironments returns up to 100 results and a nextToken - * value if applicable.

              + *

              The maximum number of cluster results returned by DescribeComputeEnvironments in paginated + * output. When this parameter is used, DescribeComputeEnvironments only returns maxResults + * results in a single page along with a nextToken response element. The remaining results of the + * initial request can be seen by sending another DescribeComputeEnvironments request with the returned + * nextToken value. This value can be between 1 and 100. If this + * parameter is not used, then DescribeComputeEnvironments returns up to 100 results + * and a nextToken value if applicable.

              */ maxResults?: number; } @@ -676,16 +705,9 @@ export enum CEStatus { */ export interface ComputeEnvironmentDetail { /** - *

              The state of the compute environment. The valid values are ENABLED or DISABLED.

              - *

              If the state is ENABLED, then the AWS Batch scheduler can attempt to place jobs from an associated - * job queue on the compute resources within the environment. If the compute environment is managed, then it can scale - * its instances out or in automatically, based on the job queue demand.

              - *

              If the state is DISABLED, then the AWS Batch scheduler does not attempt to place jobs within the - * environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed - * compute environments in the DISABLED state do not scale out. However, they scale in to - * minvCpus value after instances become idle.

              + *

              The Amazon Resource Name (ARN) of the compute environment.

              */ - state?: CEState | string; + computeEnvironmentArn: string | undefined; /** *

              The compute resources defined for the compute environment.

              @@ -693,9 +715,10 @@ export interface ComputeEnvironmentDetail { computeResources?: ComputeResource; /** - *

              The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by the compute environment.

              + *

              The current status of the compute environment (for example, CREATING or + * VALID).

              */ - ecsClusterArn: string | undefined; + status?: CEStatus | string; /** *

              The type of the compute environment.

              @@ -703,31 +726,44 @@ export interface ComputeEnvironmentDetail { type?: CEType | string; /** - *

              The current status of the compute environment (for example, CREATING or VALID).

              + *

              The name of the compute environment.

              */ - status?: CEStatus | string; + computeEnvironmentName: string | undefined; /** - *

              The name of the compute environment.

              + *

              The tags applied to the compute environment.

              */ - computeEnvironmentName: string | undefined; + tags?: { [key: string]: string }; /** *

              The service role associated with the compute environment that allows AWS Batch to make calls to AWS API - * operations on your behalf.

              + * operations on your behalf.

              */ serviceRole?: string; /** - *

              A short, human-readable string to provide additional details about the current status of the compute - * environment.

              + *

              The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by the compute environment.

              */ - statusReason?: string; + ecsClusterArn: string | undefined; /** - *

              The Amazon Resource Name (ARN) of the compute environment.

              + *

              The state of the compute environment. The valid values are ENABLED or + * DISABLED.

              + *

              If the state is ENABLED, then the AWS Batch scheduler can attempt to place jobs from an associated + * job queue on the compute resources within the environment. If the compute environment is managed, then it can + * scale its instances out or in automatically, based on the job queue demand.

              + *

              If the state is DISABLED, then the AWS Batch scheduler does not attempt to place jobs within the + * environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed + * compute environments in the DISABLED state do not scale out. However, they scale in to + * minvCpus value after instances become idle.

              */ - computeEnvironmentArn: string | undefined; + state?: CEState | string; + + /** + *

              A short, human-readable string to provide additional details about the current status of the compute + * environment.

              + */ + statusReason?: string; } export namespace ComputeEnvironmentDetail { @@ -738,17 +774,17 @@ export namespace ComputeEnvironmentDetail { export interface DescribeComputeEnvironmentsResponse { /** - *

              The nextToken value to include in a future DescribeComputeEnvironments request. When - * the results of a DescribeJobDefinitions request exceed maxResults, this value can be used - * to retrieve the next page of results. This value is null when there are no more results to - * return.

              + *

              The list of compute environments.

              */ - nextToken?: string; + computeEnvironments?: ComputeEnvironmentDetail[]; /** - *

              The list of compute environments.

              + *

              The nextToken value to include in a future DescribeComputeEnvironments request. When + * the results of a DescribeJobDefinitions request exceed maxResults, this value can be + * used to retrieve the next page of results. This value is null when there are no more results to + * return.

              */ - computeEnvironments?: ComputeEnvironmentDetail[]; + nextToken?: string; } export namespace DescribeComputeEnvironmentsResponse { @@ -764,36 +800,37 @@ export interface DescribeJobDefinitionsRequest { status?: string; /** - *

              The nextToken value returned from a previous paginated DescribeJobDefinitions 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. This value is null - * when there are no more results to return.

              - * - *

              This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

              - *
              + *

              A list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.

              */ - nextToken?: string; + jobDefinitions?: string[]; /** - *

              The maximum number of results returned by DescribeJobDefinitions in paginated output. When this - * parameter is used, DescribeJobDefinitions only returns maxResults results in a single page - * along with a nextToken response element. The remaining results of the initial request can be seen by - * sending another DescribeJobDefinitions request with the returned nextToken value. This - * value can be between 1 and 100. If this parameter is not used, then - * DescribeJobDefinitions returns up to 100 results and a nextToken value - * if applicable.

              + *

              The name of the job definition to describe.

              */ - maxResults?: number; + jobDefinitionName?: string; /** - *

              A list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.

              + *

              The nextToken value returned from a previous paginated DescribeJobDefinitions + * 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. This value is + * null when there are no more results to return.

              + * + *

              This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

              + *
              */ - jobDefinitions?: string[]; + nextToken?: string; /** - *

              The name of the job definition to describe.

              + *

              The maximum number of results returned by DescribeJobDefinitions in paginated output. When this + * parameter is used, DescribeJobDefinitions only returns maxResults results in a single + * page along with a nextToken response element. The remaining results of the initial request can be + * seen by sending another DescribeJobDefinitions request with the returned nextToken + * value. This value can be between 1 and 100. If this parameter is not used, then + * DescribeJobDefinitions returns up to 100 results and a nextToken + * value if applicable.

              */ - jobDefinitionName?: string; + maxResults?: number; } export namespace DescribeJobDefinitionsRequest { @@ -807,15 +844,16 @@ export namespace DescribeJobDefinitionsRequest { */ export interface KeyValuePair { /** - *

              The value of the key-value pair. For environment variables, this is the value of the environment - * variable.

              + *

              The name of the key-value pair. For environment variables, this is the name of the environment + * variable.

              */ - value?: string; + name?: string; /** - *

              The name of the key-value pair. For environment variables, this is the name of the environment variable.

              + *

              The value of the key-value pair. For environment variables, this is the value of the environment + * variable.

              */ - name?: string; + value?: string; } export namespace KeyValuePair { @@ -834,6 +872,12 @@ export enum DeviceCgroupPermission { *

              An object representing a container instance host device.

              */ export interface Device { + /** + *

              The path inside the container at which to expose the host device. By default the hostPath value + * is used.

              + */ + containerPath?: string; + /** *

              The path for the device on the host container instance.

              */ @@ -841,15 +885,9 @@ export interface Device { /** *

              The explicit permissions to provide to the container for the device. By default, the container has permissions - * for read, write, and mknod for the device.

              + * for read, write, and mknod for the device.

              */ permissions?: (DeviceCgroupPermission | string)[]; - - /** - *

              The path inside the container at which to expose the host device. By default the hostPath value is - * used.

              - */ - containerPath?: string; } export namespace Device { @@ -859,71 +897,283 @@ export namespace Device { } /** - *

              Linux-specific modifications that are applied to the container, such as details for device mappings.

              + *

              The container path, mount options, and size of the tmpfs mount.

              */ -export interface LinuxParameters { +export interface Tmpfs { /** - *

              Any host devices to expose to the container. This parameter maps to Devices in the - * Create a container section of the Docker Remote API and the --device option to docker run.

              + *

              The absolute file path in the container where the tmpfs volume is to be mounted.

              */ - devices?: Device[]; + containerPath: string | undefined; + + /** + *

              The list of tmpfs volume mount options.

              + *

              Valid values: "defaults" | "ro" | "rw" | "suid" | + * "nosuid" | "dev" | "nodev" | "exec" | "noexec" | + * "sync" | "async" | "dirsync" | "remount" | "mand" | + * "nomand" | "atime" | "noatime" | "diratime" | + * "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | "private" | + * "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" | "norelatime" | + * "strictatime" | "nostrictatime" | "mode" | "uid" | + * "gid" | "nr_inodes" | "nr_blocks" | "mpol"

              + */ + mountOptions?: string[]; + + /** + *

              The size (in MiB) of the tmpfs volume.

              + */ + size: number | undefined; } -export namespace LinuxParameters { - export const filterSensitiveLog = (obj: LinuxParameters): any => ({ +export namespace Tmpfs { + export const filterSensitiveLog = (obj: Tmpfs): any => ({ ...obj, }); } /** - *

              Details on a Docker volume mount point that is used in a job's container properties. This parameter maps to - * Volumes in the Create a - * container section of the Docker Remote API and the --volume option to docker run.

              + *

              Linux-specific modifications that are applied to the container, such as details for device mappings.

              */ -export interface MountPoint { +export interface LinuxParameters { /** - *

              If this value is true, the container has read-only access to the volume; otherwise, the container - * can write to the volume. The default value is false.

              + *

              If true, run an init process inside the container that forwards signals and reaps processes. This + * parameter maps to the --init option to docker run. + * This parameter requires version 1.25 of the Docker Remote API or greater on your + * container instance. To check the Docker Remote API version on your container instance, log into your + * container instance and run the following command: sudo docker version | grep "Server API version" + *

              */ - readOnly?: boolean; + initProcessEnabled?: boolean; /** - *

              The path on the container at which to mount the host volume.

              + *

              The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the + * --memory-swap option to docker run where the value + * would be the sum of the container memory plus the maxSwap value.

              + *

              If a maxSwap value of 0 is specified, the container will not use swap. Accepted + * values are 0 or any positive integer. If the maxSwap parameter is omitted, the container + * will use the swap configuration for the container instance it is running on. A maxSwap value must be + * set for the swappiness parameter to be used.

              */ - containerPath?: string; + maxSwap?: number; /** - *

              The name of the volume to mount.

              + *

              The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the + * --shm-size option to docker run.

              */ - sourceVolume?: string; -} - -export namespace MountPoint { - export const filterSensitiveLog = (obj: MountPoint): any => ({ - ...obj, - }); -} + sharedMemorySize?: number; -export enum ResourceType { - GPU = "GPU", -} + /** + *

              This allows you to tune a container's memory swappiness behavior. A swappiness value of + * 0 will cause swapping to not happen unless absolutely necessary. A swappiness value of + * 100 will cause pages to be swapped very aggressively. Accepted values are whole numbers between + * 0 and 100. If the swappiness parameter is not specified, a default value + * of 60 is used. If a value is not specified for maxSwap then this parameter is ignored. + * This parameter maps to the --memory-swappiness option to docker + * run.

              + */ + swappiness?: number; + + /** + *

              Any host devices to expose to the container. This parameter maps to Devices in the + * Create a container section of the Docker Remote API and the --device option to docker run.

              + */ + devices?: Device[]; + + /** + *

              The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the + * --tmpfs option to docker run.

              + */ + tmpfs?: Tmpfs[]; +} + +export namespace LinuxParameters { + export const filterSensitiveLog = (obj: LinuxParameters): any => ({ + ...obj, + }); +} + +export enum LogDriver { + AWSLOGS = "awslogs", + FLUENTD = "fluentd", + GELF = "gelf", + JOURNALD = "journald", + JSON_FILE = "json-file", + SPLUNK = "splunk", + SYSLOG = "syslog", +} /** - *

              The type and amount of a resource to assign to a container. Currently, the only supported resource type is - * GPU.

              + *

              An object representing the secret to expose to your container. Secrets can be exposed to a container in the + * following ways:

              + *
                + *
              • + *

                To inject sensitive data into your containers as environment variables, use the secrets + * container definition parameter.

                + *
              • + *
              • + *

                To reference sensitive information in the log configuration of a container, use the + * secretOptions container definition parameter.

                + *
              • + *
              + *

              For more information, see Specifying Sensitive Data in the + * Amazon Elastic Container Service Developer Guide.

              */ -export interface ResourceRequirement { +export interface Secret { /** - *

              The number of physical GPUs to reserve for the container. The number of GPUs reserved for all containers in a - * job should not exceed the number of available GPUs on the compute resource that the job is launched on.

              + *

              The name of the secret.

              */ - value: string | undefined; + name: string | undefined; + /** + *

              The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the + * full ARN of the parameter in the AWS Systems Manager Parameter Store.

              + * + *

              If the AWS Systems Manager Parameter Store parameter exists in the same Region as the task you are launching, then you can + * use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full + * ARN must be specified.

              + *
              + */ + valueFrom: string | undefined; +} + +export namespace Secret { + export const filterSensitiveLog = (obj: Secret): any => ({ + ...obj, + }); +} + +/** + *

              Log configuration options to send to a custom log driver for the container.

              + */ +export interface LogConfiguration { + /** + *

              The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your + * container instance. To check the Docker Remote API version on your container instance, log into your + * container instance and run the following command: sudo docker version | grep "Server API version" + *

              + */ + options?: { [key: string]: string }; + + /** + *

              The secrets to pass to the log configuration. For more information, see Specifying Sensitive Data in the + * AWS Batch User Guide.

              + */ + secretOptions?: Secret[]; + + /** + *

              The log driver to use for the container. The valid values listed for this parameter are log drivers that the + * Amazon ECS container agent can communicate with by default.

              + *

              The supported log drivers are awslogs, fluentd, gelf, + * json-file, journald, logentries, syslog, and + * splunk.

              + * + *
              + *
              awslogs
              + *
              + *

              Specifies the Amazon CloudWatch Logs logging driver. For more information, see Using the awslogs Log Driver in the + * AWS Batch User Guide and Amazon CloudWatch Logs logging driver in the Docker documentation.

              + *
              + *
              fluentd
              + *
              + *

              Specifies the Fluentd logging driver. For more information, including usage and options, see Fluentd logging driver in the Docker + * documentation.

              + *
              + *
              gelf
              + *
              + *

              Specifies the Graylog Extended Format (GELF) logging driver. For more information, including usage and + * options, see Graylog Extended Format logging + * driver in the Docker documentation.

              + *
              + *
              journald
              + *
              + *

              Specifies the journald logging driver. For more information, including usage and options, see Journald logging driver in the Docker + * documentation.

              + *
              + *
              json-file
              + *
              + *

              Specifies the JSON file logging driver. For more information, including usage and options, see JSON File logging driver in the Docker + * documentation.

              + *
              + *
              splunk
              + *
              + *

              Specifies the Splunk logging driver. For more information, including usage and options, see Splunk logging driver in the Docker + * documentation.

              + *
              + *
              syslog
              + *
              + *

              Specifies the syslog logging driver. For more information, including usage and options, see Syslog logging driver in the Docker + * documentation.

              + *
              + *
              + * + * + *

              If you have a custom driver that is not listed earlier that you would like to work with the Amazon ECS container + * agent, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that + * driver. We encourage you to submit pull requests for changes that you would like to have included. However, + * Amazon Web Services does not currently support running modified copies of this software.

              + *
              + *

              This parameter requires version 1.18 of the Docker Remote API or greater on your + * container instance. To check the Docker Remote API version on your container instance, log into your + * container instance and run the following command: sudo docker version | grep "Server API version" + *

              + */ + logDriver: LogDriver | string | undefined; +} + +export namespace LogConfiguration { + export const filterSensitiveLog = (obj: LogConfiguration): any => ({ + ...obj, + }); +} + +/** + *

              Details on a Docker volume mount point that is used in a job's container properties. This parameter maps to + * Volumes in the Create a + * container section of the Docker Remote API and the --volume option to docker run.

              + */ +export interface MountPoint { + /** + *

              The path on the container at which to mount the host volume.

              + */ + containerPath?: string; + + /** + *

              The name of the volume to mount.

              + */ + sourceVolume?: string; + + /** + *

              If this value is true, the container has read-only access to the volume; otherwise, the container + * can write to the volume. The default value is false.

              + */ + readOnly?: boolean; +} + +export namespace MountPoint { + export const filterSensitiveLog = (obj: MountPoint): any => ({ + ...obj, + }); +} + +export enum ResourceType { + GPU = "GPU", +} + +/** + *

              The type and amount of a resource to assign to a container. Currently, the only supported resource type is + * GPU.

              + */ +export interface ResourceRequirement { /** *

              The type of resource to assign to a container. Currently, the only supported resource type is - * GPU.

              + * GPU.

              */ type: ResourceType | string | undefined; + + /** + *

              The number of physical GPUs to reserve for the container. The number of GPUs reserved for all containers in a + * job should not exceed the number of available GPUs on the compute resource that the job is launched on.

              + */ + value: string | undefined; } export namespace ResourceRequirement { @@ -936,6 +1186,11 @@ export namespace ResourceRequirement { *

              The ulimit settings to pass to the container.

              */ export interface Ulimit { + /** + *

              The type of the ulimit.

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

              The hard limit for the ulimit type.

              */ @@ -945,11 +1200,6 @@ export interface Ulimit { *

              The soft limit for the ulimit type.

              */ softLimit: number | undefined; - - /** - *

              The type of the ulimit.

              - */ - name: string | undefined; } export namespace Ulimit { @@ -960,16 +1210,16 @@ export namespace Ulimit { /** *

              Determine whether your data volume persists on the host container instance and where it is stored. If this - * parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not guaranteed - * to persist after the containers associated with it stop running.

              + * parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not + * guaranteed to persist after the containers associated with it stop running.

              */ export interface Host { /** - *

              The path on the host container instance that is presented to the container. If this parameter is empty, then the - * Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume - * persists at the specified location on the host container instance until you delete it manually. If the source path - * location does not exist on the host container instance, the Docker daemon creates it. If the location does exist, the - * contents of the source path folder are exported.

              + *

              The path on the host container instance that is presented to the container. If this parameter is empty, then + * the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data + * volume persists at the specified location on the host container instance until you delete it manually. If the + * source path location does not exist on the host container instance, the Docker daemon creates it. If the location + * does exist, the contents of the source path folder are exported.

              */ sourcePath?: string; } @@ -985,18 +1235,19 @@ export namespace Host { */ export interface Volume { /** - *

              The contents of the host parameter determine whether your data volume persists on the host - * container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path - * for your data volume. However, the data is not guaranteed to persist after the containers associated with it stop - * running.

              + *

              The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are + * allowed. This name is referenced in the sourceVolume + * parameter of container definition mountPoints.

              */ - host?: Host; + name?: string; /** - *

              The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This name is referenced in the sourceVolume - * parameter of container definition mountPoints.

              + *

              The contents of the host parameter determine whether your data volume persists on the host + * container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host + * path for your data volume. However, the data is not guaranteed to persist after the containers associated with it + * stop running.

              */ - name?: string; + host?: Host; } export namespace Volume { @@ -1007,7 +1258,7 @@ export namespace Volume { /** *

              Container properties are used in job definitions to describe the container that is launched as part of a - * job.

              + * job.

              */ export interface ContainerProperties { /** @@ -1021,123 +1272,167 @@ export interface ContainerProperties { linuxParameters?: LinuxParameters; /** - *

              The number of vCPUs reserved for the container. This parameter maps to CpuShares in the - * Create a container section of the Docker Remote API and the --cpu-shares option to - * docker run. Each vCPU is equivalent to 1,024 CPU shares. You must - * specify at least one vCPU.

              - */ - vcpus?: number; - - /** - *

              The user name to use inside the container. This parameter maps to User in the - * Create a container section of the Docker Remote API and the --user option to docker run.

              + *

              The mount points for data volumes in your container. This parameter maps to Volumes in the + * Create a container section of the Docker Remote API and the --volume option to docker run.

              */ - user?: string; + mountPoints?: MountPoint[]; /** - *

              The mount points for data volumes in your container. This parameter maps to Volumes in the - * Create a container section of the Docker Remote API and the --volume option to docker run.

              + *

              The secrets for the container. For more information, see Specifying Sensitive Data in the + * Amazon Elastic Container Service Developer Guide.

              */ - mountPoints?: MountPoint[]; + secrets?: Secret[]; /** - *

              When this parameter is true, the container is given elevated privileges on the host container instance (similar - * to the root user). This parameter maps to Privileged in the - * Create a container section of the Docker Remote API and the --privileged option to - * docker run.

              + *

              The user name to use inside the container. This parameter maps to User in the + * Create a container section of the Docker Remote API and the --user option to docker run.

              */ - privileged?: boolean; + user?: string; /** - *

              The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker - * Hub registry are available by default. Other repositories are specified with - * - * repository-url/image:tag - * . - * Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of - * the Docker Remote API and the IMAGE parameter of docker - * run.

              - *
                - *
              • - *

                Images in Amazon ECR repositories use the full registry and repository URI (for example, - * 012345678910.dkr.ecr..amazonaws.com/).

                - *
              • - *
              • - *

                Images in official repositories on Docker Hub use a single name (for example, ubuntu or - * mongo).

                - *
              • - *
              • - *

                Images in other repositories on Docker Hub are qualified with an organization name (for example, - * amazon/amazon-ecs-agent).

                - *
              • - *
              • - *

                Images in other online repositories are qualified further by a domain name (for example, - * quay.io/assemblyline/ubuntu).

                - *
              • - *
              + *

              The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory + * specified here, the container is killed. This parameter maps to Memory in the + * Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a job. This is required but can be specified + * in several places for multi-node parallel (MNP) jobs; it must be specified for each node at least + * once.

              + * + *

              If you are trying to maximize your resource utilization by providing your jobs as much memory as possible + * for a particular instance type, see Memory + * Management in the AWS Batch User Guide.

              + *
              */ - image?: string; + memory?: number; /** *

              The environment variables to pass to a container. This parameter maps to Env in the - * Create a container section of the Docker Remote API and the --env option to docker run.

              + * Create a container section of the Docker Remote API and the --env option to docker run.

              * *

              We do not recommend using plaintext environment variables for sensitive information, such as credential - * data.

              + * data.

              *
              * - *

              Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

              + *

              Environment variables must not start with AWS_BATCH; this naming + * convention is reserved for variables that are set by the AWS Batch service.

              *
              */ environment?: KeyValuePair[]; /** - *

              The instance type to use for a multi-node parallel job. Currently all node groups in a multi-node parallel job - * must use the same instance type. This parameter is not valid for single-node container jobs.

              + *

              The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For more information, see AWS Batch execution IAM role.

              */ - instanceType?: string; + executionRoleArn?: string; /** - *

              A list of data volumes used in a job.

              + *

              The number of vCPUs reserved for the container. This parameter maps to CpuShares in the + * Create a container section of the Docker Remote API and the --cpu-shares option to + * docker run. Each vCPU is equivalent to 1,024 CPU shares. You must + * specify at least one vCPU. This is required + * but can be specified in several places for multi-node parallel (MNP) jobs; it must be specified for each node at + * least once.

              */ - volumes?: Volume[]; + vcpus?: number; /** - *

              The command that is passed to the container. This parameter maps to Cmd in the - * Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

              + *

              When this parameter is true, the container is given read-only access to its root file system. This parameter + * maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and + * the --read-only option to docker run.

              */ - command?: string[]; + readonlyRootFilesystem?: boolean; + + /** + *

              The log configuration specification for the container.

              + *

              This parameter maps to LogConfig in the Create a container section of the + * Docker Remote API and the --log-driver option to docker + * run. By default, containers use the same logging driver that the Docker daemon uses. However the + * container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter + * in the container definition. To use a different logging driver for a container, the log system must be configured + * properly on the container instance (or on a different log server for remote logging options). For more information + * on the options for different supported log drivers, see Configure logging drivers in the Docker + * documentation.

              + * + *

              AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

              + *
              + *

              This parameter requires version 1.18 of the Docker Remote API or greater on your + * container instance. To check the Docker Remote API version on your container instance, log into your + * container instance and run the following command: sudo docker version | grep "Server API version" + *

              + * + *

              The Amazon ECS container agent running on a container instance must register the logging drivers available on + * that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed + * on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the + * Amazon Elastic Container Service Developer Guide.

              + *
              + */ + logConfiguration?: LogConfiguration; + + /** + *

              The type and amount of a resource to assign to a container. Currently, the only supported resource is + * GPU.

              + */ + resourceRequirements?: ResourceRequirement[]; /** *

              A list of ulimits to set in the container. This parameter maps to Ulimits in the - * Create a container section of the Docker Remote API and the --ulimit option to docker run.

              + * Create a container section of the Docker Remote API and the --ulimit option to docker run.

              */ ulimits?: Ulimit[]; /** - *

              When this parameter is true, the container is given read-only access to its root file system. This parameter - * maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and - * the --read-only option to docker run.

              + *

              A list of data volumes used in a job.

              */ - readonlyRootFilesystem?: boolean; + volumes?: Volume[]; /** - *

              The type and amount of a resource to assign to a container. Currently, the only supported resource is - * GPU.

              + *

              The instance type to use for a multi-node parallel job. Currently all node groups in a multi-node parallel job + * must use the same instance type. This parameter is not valid for single-node container jobs.

              */ - resourceRequirements?: ResourceRequirement[]; + instanceType?: string; /** - *

              The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory - * specified here, the container is killed. This parameter maps to Memory in the - * Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a job.

              - * - *

              If you are trying to maximize your resource utilization by providing your jobs as much memory as possible for a - * particular instance type, see Memory - * Management in the AWS Batch User Guide.

              - *
              + *

              The command that is passed to the container. This parameter maps to Cmd in the + * Create a container section of the Docker Remote API and the COMMAND parameter to + * docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

              */ - memory?: number; + command?: string[]; + + /** + *

              The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker + * Hub registry are available by default. Other repositories are specified with + * + * repository-url/image:tag + * . + * Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, + * periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section + * of the Docker Remote API and the IMAGE parameter of docker + * run.

              + *
                + *
              • + *

                Images in Amazon ECR repositories use the full registry and repository URI (for example, + * 012345678910.dkr.ecr..amazonaws.com/).

                + *
              • + *
              • + *

                Images in official repositories on Docker Hub use a single name (for example, ubuntu or + * mongo).

                + *
              • + *
              • + *

                Images in other repositories on Docker Hub are qualified with an organization name (for example, + * amazon/amazon-ecs-agent).

                + *
              • + *
              • + *

                Images in other online repositories are qualified further by a domain name (for example, + * quay.io/assemblyline/ubuntu).

                + *
              • + *
              + */ + image?: string; + + /** + *

              When this parameter is true, the container is given elevated privileges on the host container instance + * (similar to the root user). This parameter maps to Privileged in the + * Create a container section of the Docker Remote API and the --privileged option to + * docker run.

              + */ + privileged?: boolean; } export namespace ContainerProperties { @@ -1151,18 +1446,19 @@ export namespace ContainerProperties { */ export interface NodeRangeProperty { /** - *

              The container details for the node range.

              + *

              The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of + * 0 through 3. If the starting range value is omitted (:n), then + * 0 is used to start the range. If the ending range value is omitted (n:), then the + * highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes + * (0:n). You may nest node ranges, for example 0:10 and 4:5, in which case the 4:5 range properties override the + * 0:10 properties.

              */ - container?: ContainerProperties; + targetNodes: string | undefined; /** - *

              The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of - * 0 through 3. If the starting range value is omitted (:n), then 0 - * is used to start the range. If the ending range value is omitted (n:), then the highest possible node - * index is used to end the range. Your accumulative node ranges must account for all nodes (0:n). You may nest node - * ranges, for example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10 properties.

              + *

              The container details for the node range.

              */ - targetNodes: string | undefined; + container?: ContainerProperties; } export namespace NodeRangeProperty { @@ -1175,6 +1471,11 @@ export namespace NodeRangeProperty { *

              An object representing the node properties of a multi-node parallel job.

              */ export interface NodeProperties { + /** + *

              The number of nodes associated with a multi-node parallel job.

              + */ + numNodes: number | undefined; + /** *

              A list of node ranges and their properties associated with a multi-node parallel job.

              */ @@ -1182,14 +1483,9 @@ export interface NodeProperties { /** *

              Specifies the node index for the main node of a multi-node parallel job. This node index value must be fewer - * than the number of nodes.

              + * than the number of nodes.

              */ mainNode: number | undefined; - - /** - *

              The number of nodes associated with a multi-node parallel job.

              - */ - numNodes: number | undefined; } export namespace NodeProperties { @@ -1204,8 +1500,8 @@ export namespace NodeProperties { export interface RetryStrategy { /** *

              The number of times to move a job to the RUNNABLE status. You may specify between 1 and 10 - * attempts. If the value of attempts is greater than one, the job is retried on failure the same number of - * attempts as the value.

              + * attempts. If the value of attempts is greater than one, the job is retried on failure the same number + * of attempts as the value.

              */ attempts?: number; } @@ -1222,7 +1518,7 @@ export namespace RetryStrategy { export interface JobTimeout { /** *

              The time duration in seconds (measured from the job attempt's startedAt timestamp) after which - * AWS Batch terminates your jobs if they have not finished.

              + * AWS Batch terminates your jobs if they have not finished.

              */ attemptDurationSeconds?: number; } @@ -1237,21 +1533,19 @@ export namespace JobTimeout { *

              An object representing an AWS Batch job definition.

              */ export interface JobDefinition { - /** - *

              An object with various properties specific to multi-node parallel jobs.

              - */ - nodeProperties?: NodeProperties; - /** *

              The timeout configuration for jobs that are submitted with this job definition. You can specify a timeout - * duration after which AWS Batch terminates your jobs if they have not finished.

              + * duration after which AWS Batch terminates your jobs if they have not finished.

              */ timeout?: JobTimeout; /** - *

              The retry strategy to use for failed jobs that are submitted with this job definition.

              + *

              Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are + * specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding + * parameter defaults from the job definition. For more information about specifying parameters, see Job Definition + * Parameters in the AWS Batch User Guide.

              */ - retryStrategy?: RetryStrategy; + parameters?: { [key: string]: string }; /** *

              The name of the job definition.

              @@ -1259,9 +1553,14 @@ export interface JobDefinition { jobDefinitionName: string | undefined; /** - *

              The type of job definition.

              + *

              An object with various properties specific to container-based jobs.

              */ - type: string | undefined; + containerProperties?: ContainerProperties; + + /** + *

              The revision of the job definition.

              + */ + revision: number | undefined; /** *

              The Amazon Resource Name (ARN) for the job definition.

              @@ -1269,27 +1568,29 @@ export interface JobDefinition { jobDefinitionArn: string | undefined; /** - *

              Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are - * specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding - * parameter defaults from the job definition. For more information about specifying parameters, see Job Definition Parameters - * in the AWS Batch User Guide.

              + *

              The retry strategy to use for failed jobs that are submitted with this job definition.

              */ - parameters?: { [key: string]: string }; + retryStrategy?: RetryStrategy; /** - *

              The status of the job definition.

              + *

              The type of job definition.

              */ - status?: string; + type: string | undefined; /** - *

              An object with various properties specific to container-based jobs.

              + *

              The tags applied to the job definition.

              */ - containerProperties?: ContainerProperties; + tags?: { [key: string]: string }; /** - *

              The revision of the job definition.

              + *

              The status of the job definition.

              */ - revision: number | undefined; + status?: string; + + /** + *

              An object with various properties specific to multi-node parallel jobs.

              + */ + nodeProperties?: NodeProperties; } export namespace JobDefinition { @@ -1301,8 +1602,9 @@ export namespace JobDefinition { export interface DescribeJobDefinitionsResponse { /** *

              The nextToken value to include in a future DescribeJobDefinitions request. When the - * results of a DescribeJobDefinitions request exceed maxResults, this value can be used to - * retrieve the next page of results. This value is null when there are no more results to return.

              + * results of a DescribeJobDefinitions request exceed maxResults, this value can be used to + * retrieve the next page of results. This value is null when there are no more results to + * return.

              */ nextToken?: string; @@ -1319,17 +1621,6 @@ export namespace DescribeJobDefinitionsResponse { } export interface DescribeJobQueuesRequest { - /** - *

              The nextToken value returned from a previous paginated DescribeJobQueues 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. This value is null when - * there are no more results to return.

              - * - *

              This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

              - *
              - */ - nextToken?: string; - /** *

              A list of up to 100 queue names or full queue Amazon Resource Name (ARN) entries.

              */ @@ -1337,13 +1628,26 @@ export interface DescribeJobQueuesRequest { /** *

              The maximum number of results returned by DescribeJobQueues in paginated output. When this - * parameter is used, DescribeJobQueues only returns maxResults results in a single page along - * with a nextToken response element. The remaining results of the initial request can be seen by sending - * another DescribeJobQueues request with the returned nextToken value. This value can be - * between 1 and 100. If this parameter is not used, then DescribeJobQueues - * returns up to 100 results and a nextToken value if applicable.

              + * parameter is used, DescribeJobQueues only returns maxResults results in a single page + * along with a nextToken response element. The remaining results of the initial request can be seen by + * sending another DescribeJobQueues request with the returned nextToken value. This value + * can be between 1 and 100. If this parameter is not used, then + * DescribeJobQueues returns up to 100 results and a nextToken value if + * applicable.

              */ maxResults?: number; + + /** + *

              The nextToken value returned from a previous paginated DescribeJobQueues 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. This value is + * null when there are no more results to return.

              + * + *

              This token should be treated 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 DescribeJobQueuesRequest { @@ -1366,14 +1670,19 @@ export enum JQStatus { */ export interface JobQueueDetail { /** - *

              Describes the ability of the queue to accept new jobs.

              + *

              The priority of the job queue.

              */ - state: JQState | string | undefined; + priority: number | undefined; /** - *

              The priority of the job queue.

              + *

              The Amazon Resource Name (ARN) of the job queue.

              */ - priority: number | undefined; + jobQueueArn: string | undefined; + + /** + *

              The name of the job queue.

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

              The status of the job queue (for example, CREATING or VALID).

              @@ -1386,20 +1695,22 @@ export interface JobQueueDetail { statusReason?: string; /** - *

              The Amazon Resource Name (ARN) of the job queue.

              + *

              The tags applied to the job queue.

              */ - jobQueueArn: string | undefined; + tags?: { [key: string]: string }; /** - *

              The name of the job queue.

              + *

              The compute environments that are attached to the job queue and the order in which job placement is preferred. + * Compute environments are selected for job placement in ascending order.

              */ - jobQueueName: string | undefined; + computeEnvironmentOrder: ComputeEnvironmentOrder[] | undefined; /** - *

              The compute environments that are attached to the job queue and the order in which job placement is preferred. - * Compute environments are selected for job placement in ascending order.

              + *

              Describes the ability of the queue to accept new jobs. If the job queue state is ENABLED, it is + * able to accept jobs. If the job queue state is DISABLED, new jobs cannot be added to the queue, but jobs + * already in the queue can finish.

              */ - computeEnvironmentOrder: ComputeEnvironmentOrder[] | undefined; + state: JQState | string | undefined; } export namespace JobQueueDetail { @@ -1410,9 +1721,10 @@ export namespace JobQueueDetail { export interface DescribeJobQueuesResponse { /** - *

              The nextToken value to include in a future DescribeJobQueues request. When the results - * of a DescribeJobQueues request exceed maxResults, this value can be used to retrieve the - * next page of results. This value is null when there are no more results to return.

              + *

              The nextToken value to include in a future DescribeJobQueues request. When the + * results of a DescribeJobQueues request exceed maxResults, this value can be used to + * retrieve the next page of results. This value is null when there are no more results to + * return.

              */ nextToken?: string; @@ -1446,9 +1758,9 @@ export namespace DescribeJobsRequest { */ export interface ContainerDetail { /** - *

              The Amazon Resource Name (ARN) associated with the job upon execution.

              + *

              Linux-specific modifications that are applied to the container, such as details for device mappings.

              */ - jobRoleArn?: string; + linuxParameters?: LinuxParameters; /** *

              The exit code to return upon completion.

              @@ -1456,66 +1768,94 @@ export interface ContainerDetail { exitCode?: number; /** - *

              The mount points for data volumes in your container.

              + *

              The Amazon Resource Name (ARN) associated with the job upon execution.

              */ - mountPoints?: MountPoint[]; + jobRoleArn?: string; /** - *

              The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job. Each container attempt receives a - * task ARN when they reach the STARTING status.

              + *

              A short (255 max characters) human-readable string to provide additional details about a running or stopped + * container.

              */ - taskArn?: string; + reason?: string; /** - *

              The user name to use inside the container.

              + *

              The number of MiB of memory reserved for the job. This is a required parameter.

              */ - user?: string; + memory?: number; /** - *

              Linux-specific modifications that are applied to the container, such as details for device mappings.

              + *

              The image used to start the container.

              */ - linuxParameters?: LinuxParameters; + image?: string; /** - *

              The number of MiB of memory reserved for the job.

              + *

              The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job. Each container attempt receives a + * task ARN when they reach the STARTING status.

              */ - memory?: number; + taskArn?: string; /** - *

              The image used to start the container.

              + *

              When this parameter is true, the container is given read-only access to its root file system.

              */ - image?: string; + readonlyRootFilesystem?: boolean; /** *

              The environment variables to pass to a container.

              * - *

              Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

              + *

              Environment variables must not start with AWS_BATCH; this naming + * convention is reserved for variables that are set by the AWS Batch service.

              *
              */ environment?: KeyValuePair[]; /** - *

              When this parameter is true, the container is given elevated privileges on the host container instance (similar - * to the root user).

              + *

              The type and amount of a resource to assign to a container. Currently, the only supported resource is + * GPU.

              */ - privileged?: boolean; + resourceRequirements?: ResourceRequirement[]; /** - *

              The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is - * /aws/batch/job. Each container attempt receives a log stream name when they reach the - * RUNNING status.

              + *

              The secrets to pass to the container. For more information, see Specifying Sensitive Data in the + * Amazon Elastic Container Service Developer Guide.

              */ - logStreamName?: string; + secrets?: Secret[]; /** - *

              The instance type of the underlying host infrastructure of a multi-node parallel job.

              + *

              The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For more information, see AWS Batch execution IAM role.

              */ - instanceType?: string; + executionRoleArn?: string; /** - *

              The Amazon Resource Name (ARN) of the container instance on which the container is running.

              + *

              A list of ulimit values to set in the container.

              */ - containerInstanceArn?: string; + ulimits?: Ulimit[]; + + /** + *

              The log configuration specification for the container.

              + *

              This parameter maps to LogConfig in the Create a container section of the + * Docker Remote API and the --log-driver option to docker + * run. By default, containers use the same logging driver that the Docker daemon uses. However the + * container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter + * in the container definition. To use a different logging driver for a container, the log system must be configured + * properly on the container instance (or on a different log server for remote logging options). For more information + * on the options for different supported log drivers, see Configure logging drivers in the Docker + * documentation.

              + * + *

              AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the + * Amazon ECS container agent.

              + *
              + *

              This parameter requires version 1.18 of the Docker Remote API or greater on your + * container instance. To check the Docker Remote API version on your container instance, log into your + * container instance and run the following command: sudo docker version | grep "Server API version" + *

              + * + *

              The Amazon ECS container agent running on a container instance must register the logging drivers available on + * that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed + * on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the + * Amazon Elastic Container Service Developer Guide.

              + *
              + */ + logConfiguration?: LogConfiguration; /** *

              The command that is passed to the container.

              @@ -1523,41 +1863,52 @@ export interface ContainerDetail { command?: string[]; /** - *

              The network interfaces associated with the job.

              + *

              The number of VCPUs allocated for the job. This is a required parameter.

              */ - networkInterfaces?: NetworkInterface[]; + vcpus?: number; /** - *

              The type and amount of a resource to assign to a container. Currently, the only supported resource is - * GPU.

              + *

              The Amazon Resource Name (ARN) of the container instance on which the container is running.

              */ - resourceRequirements?: ResourceRequirement[]; + containerInstanceArn?: string; /** - *

              The number of VCPUs allocated for the job.

              + *

              A list of volumes associated with the job.

              */ - vcpus?: number; + volumes?: Volume[]; /** - *

              A list of ulimit values to set in the container.

              + *

              The network interfaces associated with the job.

              */ - ulimits?: Ulimit[]; + networkInterfaces?: NetworkInterface[]; /** - *

              A short (255 max characters) human-readable string to provide additional details about a running or stopped - * container.

              + *

              The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is + * /aws/batch/job. Each container attempt receives a log stream name when they reach the + * RUNNING status.

              */ - reason?: string; + logStreamName?: string; /** - *

              When this parameter is true, the container is given read-only access to its root file system.

              + *

              The instance type of the underlying host infrastructure of a multi-node parallel job.

              */ - readonlyRootFilesystem?: boolean; + instanceType?: string; /** - *

              A list of volumes associated with the job.

              + *

              When this parameter is true, the container is given elevated privileges on the host container instance + * (similar to the root user).

              */ - volumes?: Volume[]; + privileged?: boolean; + + /** + *

              The user name to use inside the container.

              + */ + user?: string; + + /** + *

              The mount points for data volumes in your container.

              + */ + mountPoints?: MountPoint[]; } export namespace ContainerDetail { @@ -1597,8 +1948,8 @@ export interface NodeDetails { isMainNode?: boolean; /** - *

              The node index for the node. Node index numbering begins at zero. This index is also available on the node with - * the AWS_BATCH_JOB_NODE_INDEX environment variable.

              + *

              The node index for the node. Node index numbering begins at zero. This index is also available on the node + * with the AWS_BATCH_JOB_NODE_INDEX environment variable.

              */ nodeIndex?: number; } @@ -1624,72 +1975,86 @@ export enum JobStatus { */ export interface JobDetail { /** - *

              The name of the job.

              + *

              A list of job IDs on which this job depends.

              */ - jobName: string | undefined; + dependsOn?: JobDependency[]; /** - *

              An object representing the details of a node that is associated with a multi-node parallel job.

              + *

              An object representing the details of the container that is associated with the job.

              */ - nodeDetails?: NodeDetails; + container?: ContainerDetail; /** - *

              The job definition that is used by this job.

              + *

              The array properties of the job, if it is an array job.

              */ - jobDefinition: string | undefined; + arrayProperties?: ArrayPropertiesDetail; /** - *

              The current status for the job.

              - * - *

              If your jobs do not progress to STARTING, see Jobs Stuck in RUNNABLE Status in - * the troubleshooting section of the AWS Batch User Guide.

              - *
              + *

              An object representing the node properties of a multi-node parallel job.

              */ - status: JobStatus | string | undefined; + nodeProperties?: NodeProperties; /** - *

              The array properties of the job, if it is an array job.

              + *

              The Amazon Resource Name (ARN) of the job queue with which the job is associated.

              */ - arrayProperties?: ArrayPropertiesDetail; + jobQueue: string | undefined; /** - *

              An object representing the details of the container that is associated with the job.

              + *

              The Unix timestamp (in milliseconds) for when the job was stopped (when the job transitioned from the + * RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

              */ - container?: ContainerDetail; + stoppedAt?: number; /** - *

              A short, human-readable string to provide additional details about the current status of the job.

              + *

              The Unix timestamp (in milliseconds) for when the job was started (when the job transitioned from the + * STARTING state to the RUNNING state). This parameter is not provided for + * child jobs of array jobs or multi-node parallel jobs.

              */ - statusReason?: string; + startedAt: number | undefined; /** - *

              The Unix timestamp (in seconds and milliseconds) for when the job was created. For non-array jobs and parent - * array jobs, this is when the job entered the SUBMITTED state (at the time SubmitJob - * was called). For array child jobs, this is when the child job was spawned by its parent and entered the - * PENDING state.

              + *

              The name of the job.

              */ - createdAt?: number; + jobName: string | undefined; + + /** + *

              The tags applied to the job.

              + */ + tags?: { [key: string]: string }; /** *

              The timeout configuration for the job.

              */ timeout?: JobTimeout; + /** + *

              Additional parameters passed to the job that replace parameter substitution placeholders or override any + * corresponding parameter defaults from the job definition.

              + */ + parameters?: { [key: string]: string }; + + /** + *

              The Unix timestamp (in milliseconds) for when the job was created. For non-array jobs and parent array jobs, + * this is when the job entered the SUBMITTED state (at the time SubmitJob + * was called). For array child jobs, this is when the child job was spawned by its parent and entered the + * PENDING state.

              + */ + createdAt?: number; + /** *

              The retry strategy to use for this job if an attempt fails.

              */ retryStrategy?: RetryStrategy; /** - *

              A list of job attempts associated with this job.

              + *

              The Amazon Resource Name (ARN) of the job.

              */ - attempts?: AttemptDetail[]; + jobArn?: string; /** - *

              The Unix timestamp (in seconds and milliseconds) for when the job was started (when the job transitioned from - * the STARTING state to the RUNNING state).

              + *

              A short, human-readable string to provide additional details about the current status of the job.

              */ - startedAt: number | undefined; + statusReason?: string; /** *

              The ID for the job.

              @@ -1697,31 +2062,28 @@ export interface JobDetail { jobId: string | undefined; /** - *

              Additional parameters passed to the job that replace parameter substitution placeholders or override any - * corresponding parameter defaults from the job definition.

              - */ - parameters?: { [key: string]: string }; - - /** - *

              The Unix timestamp (in seconds and milliseconds) for when the job was stopped (when the job transitioned from - * the RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

              + *

              An object representing the details of a node that is associated with a multi-node parallel job.

              */ - stoppedAt?: number; + nodeDetails?: NodeDetails; /** - *

              An object representing the node properties of a multi-node parallel job.

              + *

              The current status for the job.

              + * + *

              If your jobs do not progress to STARTING, see Jobs Stuck in RUNNABLE Status + * in the troubleshooting section of the AWS Batch User Guide.

              + *
              */ - nodeProperties?: NodeProperties; + status: JobStatus | string | undefined; /** - *

              The Amazon Resource Name (ARN) of the job queue with which the job is associated.

              + *

              A list of job attempts associated with this job.

              */ - jobQueue: string | undefined; + attempts?: AttemptDetail[]; /** - *

              A list of job IDs on which this job depends.

              + *

              The job definition that is used by this job.

              */ - dependsOn?: JobDependency[]; + jobDefinition: string | undefined; } export namespace JobDetail { @@ -1745,45 +2107,46 @@ export namespace DescribeJobsResponse { export interface ListJobsRequest { /** - *

              The job ID for an array job. Specifying an array job ID with this parameter lists all child jobs from within the - * specified array.

              + *

              The job status with which to filter jobs in the specified queue. If you do not specify a status, only + * RUNNING jobs are returned.

              */ - arrayJobId?: string; + jobStatus?: JobStatus | string; /** - *

              The job ID for a multi-node parallel job. Specifying a multi-node parallel job ID with this parameter lists all - * nodes that are associated with the specified job.

              + *

              The job ID for a multi-node parallel job. Specifying a multi-node parallel job ID with this parameter lists + * all nodes that are associated with the specified job.

              */ multiNodeJobId?: string; /** - *

              The maximum number of results returned by ListJobs in paginated output. When this parameter is - * used, ListJobs only returns maxResults results in a single page along with a - * nextToken response element. The remaining results of the initial request can be seen by sending another - * ListJobs request with the returned nextToken value. This value can be between - * 1 and 100. If this parameter is not used, then ListJobs returns up to - * 100 results and a nextToken value if applicable.

              + *

              The name or full Amazon Resource Name (ARN) of the job queue with which to list jobs.

              */ - maxResults?: number; + jobQueue?: string; /** - *

              The job status with which to filter jobs in the specified queue. If you do not specify a status, only - * RUNNING jobs are returned.

              + *

              The job ID for an array job. Specifying an array job ID with this parameter lists all child jobs from within + * the specified array.

              */ - jobStatus?: JobStatus | string; + arrayJobId?: string; /** - *

              The name or full Amazon Resource Name (ARN) of the job queue with which to list jobs.

              + *

              The maximum number of results returned by ListJobs in paginated output. When this parameter is + * used, ListJobs only returns maxResults results in a single page along with a + * nextToken response element. The remaining results of the initial request can be seen by sending + * another ListJobs request with the returned nextToken value. This value can be between + * 1 and 100. If this parameter is not used, then ListJobs returns up to + * 100 results and a nextToken value if applicable.

              */ - jobQueue?: string; + maxResults?: number; /** *

              The nextToken value returned from a previous paginated ListJobs 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. This value is null when - * there are no more results to return.

              + * 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. This value is null + * when there are no more results to return.

              * - *

              This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

              + *

              This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

              *
              */ nextToken?: string; @@ -1800,15 +2163,15 @@ export namespace ListJobsRequest { */ export interface ContainerSummary { /** - *

              The exit code to return upon completion.

              + *

              A short (255 max characters) human-readable string to provide additional details about a running or stopped + * container.

              */ - exitCode?: number; + reason?: string; /** - *

              A short (255 max characters) human-readable string to provide additional details about a running or stopped - * container.

              + *

              The exit code to return upon completion.

              */ - reason?: string; + exitCode?: number; } export namespace ContainerSummary { @@ -1822,20 +2185,20 @@ export namespace ContainerSummary { */ export interface NodePropertiesSummary { /** - *

              Specifies whether the current node is the main node for a multi-node parallel job.

              + *

              The number of nodes associated with a multi-node parallel job.

              */ - isMainNode?: boolean; + numNodes?: number; /** - *

              The node index for the node. Node index numbering begins at zero. This index is also available on the node with - * the AWS_BATCH_JOB_NODE_INDEX environment variable.

              + *

              The node index for the node. Node index numbering begins at zero. This index is also available on the node + * with the AWS_BATCH_JOB_NODE_INDEX environment variable.

              */ nodeIndex?: number; /** - *

              The number of nodes associated with a multi-node parallel job.

              + *

              Specifies whether the current node is the main node for a multi-node parallel job.

              */ - numNodes?: number; + isMainNode?: boolean; } export namespace NodePropertiesSummary { @@ -1854,11 +2217,14 @@ export interface JobSummary { status?: JobStatus | string; /** - *

              The Unix timestamp for when the job was created. For non-array jobs and parent array jobs, this is when the job - * entered the SUBMITTED state (at the time SubmitJob was called). For array child jobs, - * this is when the child job was spawned by its parent and entered the PENDING state.

              + *

              The array properties of the job, if it is an array job.

              + */ + arrayProperties?: ArrayPropertiesSummary; + + /** + *

              The Amazon Resource Name (ARN) of the job.

              */ - createdAt?: number; + jobArn?: string; /** *

              A short, human-readable string to provide additional details about the current status of the job.

              @@ -1866,30 +2232,25 @@ export interface JobSummary { statusReason?: string; /** - *

              The node properties for a single node in a job summary list.

              + *

              The name of the job.

              */ - nodeProperties?: NodePropertiesSummary; + jobName: string | undefined; /** - *

              The Unix timestamp for when the job was started (when the job transitioned from the STARTING state - * to the RUNNING state).

              + *

              The Unix timestamp for when the job was started (when the job transitioned from the STARTING + * state to the RUNNING state).

              */ startedAt?: number; /** - *

              The ID of the job.

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

              The name of the job.

              + *

              The node properties for a single node in a job summary list.

              */ - jobName: string | undefined; + nodeProperties?: NodePropertiesSummary; /** - *

              The array properties of the job, if it is an array job.

              + *

              The ID of the job.

              */ - arrayProperties?: ArrayPropertiesSummary; + jobId: string | undefined; /** *

              An object representing the details of the container that is associated with the job.

              @@ -1898,9 +2259,16 @@ export interface JobSummary { /** *

              The Unix timestamp for when the job was stopped (when the job transitioned from the RUNNING state - * to a terminal state, such as SUCCEEDED or FAILED).

              + * to a terminal state, such as SUCCEEDED or FAILED).

              */ stoppedAt?: number; + + /** + *

              The Unix timestamp for when the job was created. For non-array jobs and parent array jobs, this is when the + * job entered the SUBMITTED state (at the time SubmitJob was called). For array child + * jobs, this is when the child job was spawned by its parent and entered the PENDING state.

              + */ + createdAt?: number; } export namespace JobSummary { @@ -1911,16 +2279,16 @@ export namespace JobSummary { export interface ListJobsResponse { /** - *

              A list of job summaries that match the request.

              + *

              The nextToken value to include in a future ListJobs request. When the results of a + * ListJobs request exceed maxResults, this value can be used to retrieve the next page + * of results. This value is null when there are no more results to return.

              */ - jobSummaryList: JobSummary[] | undefined; + nextToken?: string; /** - *

              The nextToken value to include in a future ListJobs request. When the results of a - * ListJobs request exceed maxResults, this value can be used to retrieve the next page of - * results. This value is null when there are no more results to return.

              + *

              A list of job summaries that match the request.

              */ - nextToken?: string; + jobSummaryList: JobSummary[] | undefined; } export namespace ListJobsResponse { @@ -1929,6 +2297,33 @@ export namespace ListJobsResponse { }); } +export interface ListTagsForResourceRequest { + /** + *

              The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job + * queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

              + */ + resourceArn: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceResponse { + /** + *

              The tags for the resource.

              + */ + tags?: { [key: string]: string }; +} + +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + }); +} + export enum JobDefinitionType { Container = "container", Multinode = "multinode", @@ -1937,53 +2332,60 @@ export enum JobDefinitionType { export interface RegisterJobDefinitionRequest { /** *

              An object with various properties specific to multi-node parallel jobs. If you specify node properties for a - * job, it becomes a multi-node parallel job. For more information, see Multi-node Parallel Jobs in the - * AWS Batch User Guide. If the job definition's type parameter is - * container, then you must specify either containerProperties or - * nodeProperties.

              + * job, it becomes a multi-node parallel job. For more information, see Multi-node Parallel Jobs in the + * AWS Batch User Guide. If the job definition's type parameter is + * container, then you must specify either containerProperties or + * nodeProperties.

              */ nodeProperties?: NodeProperties; /** - *

              An object with various properties specific to single-node container-based jobs. If the job definition's - * type parameter is container, then you must specify either containerProperties - * or nodeProperties.

              + *

              The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates + * your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value + * for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob + * operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the + * Amazon Elastic Container Service Developer Guide.

              */ - containerProperties?: ContainerProperties; + timeout?: JobTimeout; /** - *

              The retry strategy to use for failed jobs that are submitted with this job definition. Any retry strategy that - * is specified during a SubmitJob operation overrides the retry strategy defined here. If a job is - * terminated due to a timeout, it is not retried.

              + *

              Default parameter substitution placeholders to set in the job definition. Parameters are specified as a + * key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter + * defaults from the job definition.

              */ - retryStrategy?: RetryStrategy; + parameters?: { [key: string]: string }; /** - *

              The type of job definition.

              + *

              An object with various properties specific to single-node container-based jobs. If the job definition's + * type parameter is container, then you must specify either + * containerProperties or nodeProperties.

              */ - type: JobDefinitionType | string | undefined; + containerProperties?: ContainerProperties; /** - *

              Default parameter substitution placeholders to set in the job definition. Parameters are specified as a - * key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults - * from the job definition.

              + *

              The retry strategy to use for failed jobs that are submitted with this job definition. Any retry strategy that + * is specified during a SubmitJob operation overrides the retry strategy defined here. If a job is + * terminated due to a timeout, it is not retried.

              */ - parameters?: { [key: string]: string }; + retryStrategy?: RetryStrategy; /** *

              The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and - * underscores are allowed.

              + * underscores are allowed.

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

              The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates - * your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value - * for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob - * operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the - * Amazon Elastic Container Service Developer Guide.

              + *

              The type of job definition.

              */ - timeout?: JobTimeout; + type: JobDefinitionType | string | undefined; + + /** + *

              The tags that you apply to the job definition to help you categorize and organize your resources. Each tag + * consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General + * Reference.

              + */ + tags?: { [key: string]: string }; } export namespace RegisterJobDefinitionRequest { @@ -1999,14 +2401,14 @@ export interface RegisterJobDefinitionResponse { revision: number | undefined; /** - *

              The name of the job definition.

              + *

              The Amazon Resource Name (ARN) of the job definition.

              */ - jobDefinitionName: string | undefined; + jobDefinitionArn: string | undefined; /** - *

              The Amazon Resource Name (ARN) of the job definition.

              + *

              The name of the job definition.

              */ - jobDefinitionArn: string | undefined; + jobDefinitionName: string | undefined; } export namespace RegisterJobDefinitionResponse { @@ -2021,43 +2423,44 @@ export namespace RegisterJobDefinitionResponse { export interface ContainerOverrides { /** *

              The command to send to the container that overrides the default command from the Docker image or the job - * definition.

              + * definition.

              */ command?: string[]; - /** - *

              The instance type to use for a multi-node parallel job. This parameter is not valid for single-node container - * jobs.

              - */ - instanceType?: string; - /** *

              The number of vCPUs to reserve for the container. This value overrides the value set in the job - * definition.

              + * definition.

              */ vcpus?: number; /** - *

              The type and amount of a resource to assign to a container. This value overrides the value set in the job - * definition. Currently, the only supported resource is GPU.

              + *

              The number of MiB of memory reserved for the job. This value overrides the value set in the job + * definition.

              */ - resourceRequirements?: ResourceRequirement[]; + memory?: number; /** *

              The environment variables to send to the container. You can add new environment variables, which are added to - * the container at launch, or you can override the existing environment variables from the Docker image or the job - * definition.

              + * the container at launch, or you can override the existing environment variables from the Docker image or the job + * definition.

              * - *

              Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

              + *

              Environment variables must not start with AWS_BATCH; this naming + * convention is reserved for variables that are set by the AWS Batch service.

              *
              */ environment?: KeyValuePair[]; /** - *

              The number of MiB of memory reserved for the job. This value overrides the value set in the job - * definition.

              + *

              The type and amount of a resource to assign to a container. This value overrides the value set in the job + * definition. Currently, the only supported resource is GPU.

              */ - memory?: number; + resourceRequirements?: ResourceRequirement[]; + + /** + *

              The instance type to use for a multi-node parallel job. This parameter is not valid for single-node container + * jobs.

              + */ + instanceType?: string; } export namespace ContainerOverrides { @@ -2068,14 +2471,14 @@ export namespace ContainerOverrides { /** *

              Object representing any node overrides to a job definition that is used in a SubmitJob API - * operation.

              + * operation.

              */ export interface NodePropertyOverride { /** - *

              The range of nodes, using node index values, with which to override. A range of 0:3 indicates nodes - * with index values of 0 through 3. If the starting range value is omitted (:n), - * then 0 is used to start the range. If the ending range value is omitted (n:), then the - * highest possible node index is used to end the range.

              + *

              The range of nodes, using node index values, with which to override. A range of 0:3 indicates + * nodes with index values of 0 through 3. If the starting range value is omitted + * (:n), then 0 is used to start the range. If the ending range value is omitted + * (n:), then the highest possible node index is used to end the range.

              */ targetNodes: string | undefined; @@ -2093,33 +2496,33 @@ export namespace NodePropertyOverride { /** *

              Object representing any node overrides to a job definition that is used in a SubmitJob API - * operation.

              + * operation.

              */ export interface NodeOverrides { + /** + *

              The node property overrides for the job.

              + */ + nodePropertyOverrides?: NodePropertyOverride[]; + /** *

              The number of nodes to use with a multi-node parallel job. This value overrides the number of nodes that are - * specified in the job definition. To use this override:

              + * specified in the job definition. To use this override:

              *
                *
              • *

                There must be at least one node range in your job definition that has an open upper boundary (such as - * : or n:).

                + * : or n:).

                *
              • *
              • - *

                The lower boundary of the node range specified in the job definition must be fewer than the number of nodes - * specified in the override.

                + *

                The lower boundary of the node range specified in the job definition must be fewer than the number of + * nodes specified in the override.

                *
              • *
              • - *

                The main node index specified in the job definition must be fewer than the number of nodes specified in the - * override.

                + *

                The main node index specified in the job definition must be fewer than the number of nodes specified in + * the override.

                *
              • *
              */ numNodes?: number; - - /** - *

              The node property overrides for the job.

              - */ - nodePropertyOverrides?: NodePropertyOverride[]; } export namespace NodeOverrides { @@ -2130,77 +2533,85 @@ export namespace NodeOverrides { export interface SubmitJobRequest { /** - *

              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 becomes an array job. For more information, see Array Jobs in the - * AWS Batch User Guide.

              + *

              A list of node overrides in JSON format that specify the node range to target and the container overrides for + * that node range.

              */ - arrayProperties?: ArrayProperties; + nodeOverrides?: NodeOverrides; /** - *

              The retry strategy to use for failed jobs from this SubmitJob operation. When a retry strategy - * is specified here, it overrides the retry strategy defined in the job definition.

              + *

              The tags that you apply to the job request to help you categorize and organize your resources. Each tag + * consists of a key and an optional value. For more information, see Tagging AWS Resources in AWS General + * Reference.

              */ - retryStrategy?: RetryStrategy; + tags?: { [key: string]: string }; /** *

              A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a - * SEQUENTIAL type dependency without specifying a job ID for array jobs so that each child array job - * completes sequentially, starting at index 0. You can also specify an N_TO_N type dependency with a job - * ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of each - * dependency to complete before it can begin.

              + * SEQUENTIAL type dependency without specifying a job ID for array jobs so that each child array job + * completes sequentially, starting at index 0. You can also specify an N_TO_N type dependency with a + * job ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of + * each dependency to complete before it can begin.

              */ dependsOn?: JobDependency[]; - /** - *

              Additional parameters passed to the job that replace parameter substitution placeholders that are set in the job - * definition. Parameters are specified as a key and value pair mapping. Parameters in a SubmitJob request - * override any corresponding parameter defaults from the job definition.

              - */ - parameters?: { [key: string]: string }; - /** *

              A list of container overrides in JSON format that specify the name of a container in the specified job - * definition and the overrides it should receive. You can override the default command for a container (that is - * specified in the job definition or the Docker image) with a command override. You can also override - * existing environment variables (that are specified in the job definition or Docker image) on a container or add new - * environment variables to it with an environment override.

              + * definition and the overrides it should receive. You can override the default command for a container (that is + * specified in the job definition or the Docker image) with a command override. You can also override + * existing environment variables (that are specified in the job definition or Docker image) on a container or add + * new environment variables to it with an environment override.

              */ containerOverrides?: ContainerOverrides; - /** - *

              A list of node overrides in JSON format that specify the node range to target and the container overrides for - * that node range.

              - */ - nodeOverrides?: NodeOverrides; - /** *

              The job queue into which the job is submitted. You can specify either the name or the Amazon Resource Name (ARN) of the - * queue.

              + * queue.

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

              The name of the job. The first character must be alphanumeric, and up to 128 letters (uppercase and lowercase), - * numbers, hyphens, and underscores are allowed.

              + *

              The name of the job. The first character must be alphanumeric, and up to 128 letters (uppercase and + * lowercase), numbers, hyphens, and underscores are allowed.

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

              The job definition used by this job. This value can be one of name, name:revision, + * or the Amazon Resource Name (ARN) for the job definition. If + * name is specified without a revision then the latest active revision is + * used.

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

              The timeout configuration for this SubmitJob operation. You can specify a timeout duration - * after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is - * not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout configuration - * specified in the job definition. For array jobs, child jobs have the same timeout configuration as the parent job. - * For more information, see Job - * Timeouts in the Amazon Elastic Container Service Developer Guide.

              + * after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is + * not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout + * configuration specified in the job definition. For array jobs, child jobs have the same timeout configuration as + * the parent job. For more information, see Job Timeouts in the + * Amazon Elastic Container Service Developer Guide.

              */ timeout?: JobTimeout; /** - *

              The job definition used by this job. This value can be one of name, name:revision, or - * the Amazon Resource Name (ARN) for the job definition. If - * name is specified without a revision then the latest active revision is used.

              + *

              Additional parameters passed to the job that replace parameter substitution placeholders that are set in the + * job definition. Parameters are specified as a key and value pair mapping. Parameters in a SubmitJob + * request override any corresponding parameter defaults from the job definition.

              */ - jobDefinition: string | undefined; + parameters?: { [key: string]: string }; + + /** + *

              The retry strategy to use for failed jobs from this SubmitJob operation. When a retry + * strategy is specified here, it overrides the retry strategy defined in the job definition.

              + */ + retryStrategy?: RetryStrategy; + + /** + *

              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 becomes an array job. For more information, see Array Jobs in the + * AWS Batch User Guide.

              + */ + arrayProperties?: ArrayProperties; } export namespace SubmitJobRequest { @@ -2219,6 +2630,11 @@ export interface SubmitJobResponse { *

              The name of the job.

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

              The Amazon Resource Name (ARN) for the job.

              + */ + jobArn?: string; } export namespace SubmitJobResponse { @@ -2227,11 +2643,40 @@ export namespace SubmitJobResponse { }); } +export interface TagResourceRequest { + /** + *

              The Amazon Resource Name (ARN) of the resource to which to add tags. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job + * queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

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

              The tags that you apply to the resource to help you categorize and organize your resources. Each tag consists + * of a key and an optional value. For more information, see Tagging AWS Resources in AWS General + * Reference.

              + */ + 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 TerminateJobRequest { /** *

              A message to attach to the job that explains the reason for canceling it. This message is returned by future - * DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity - * logs.

              + * DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity + * logs.

              */ reason: string | undefined; @@ -2255,14 +2700,41 @@ export namespace TerminateJobResponse { }); } +export interface UntagResourceRequest { + /** + *

              The Amazon Resource Name (ARN) of the resource from which to delete tags. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job + * queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

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

              The keys of the tags to be removed.

              + */ + 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, + }); +} + /** *

              An object representing the attributes of a compute environment that can be updated.

              */ export interface ComputeResourceUpdate { /** - *

              The maximum number of Amazon EC2 vCPUs that an environment can reach.

              + *

              The desired number of Amazon EC2 vCPUS in the compute environment.

              */ - maxvCpus?: number; + desiredvCpus?: number; /** *

              The minimum number of Amazon EC2 vCPUs that an environment should maintain.

              @@ -2270,9 +2742,9 @@ export interface ComputeResourceUpdate { minvCpus?: number; /** - *

              The desired number of Amazon EC2 vCPUS in the compute environment.

              + *

              The maximum number of Amazon EC2 vCPUs that an environment can reach.

              */ - desiredvCpus?: number; + maxvCpus?: number; } export namespace ComputeResourceUpdate { @@ -2282,9 +2754,23 @@ export namespace ComputeResourceUpdate { } export interface UpdateComputeEnvironmentRequest { + /** + *

              The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your + * behalf.

              + *

              If your specified role has a path other than /, then you must either specify the full role ARN + * (this is recommended) or prefix the role name with the path.

              + * + *

              Depending on how you created your AWS Batch service role, its ARN may contain the service-role + * path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the + * service-role path prefix. Because of this, we recommend that you specify the full ARN of your + * service role when you create compute environments.

              + *
              + */ + serviceRole?: string; + /** *

              Details of the compute resources managed by the compute environment. Required for a managed compute - * environment.

              + * environment.

              */ computeResources?: ComputeResourceUpdate; @@ -2293,23 +2779,9 @@ export interface UpdateComputeEnvironmentRequest { */ computeEnvironment: string | undefined; - /** - *

              The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your - * behalf.

              - *

              If your specified role has a path other than /, then you must either specify the full role ARN - * (this is recommended) or prefix the role name with the path.

              - * - *

              Depending on how you created your AWS Batch service role, its ARN may contain the service-role path - * prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the - * service-role path prefix. Because of this, we recommend that you specify the full ARN of your service - * role when you create compute environments.

              - *
              - */ - serviceRole?: string; - /** *

              The state of the compute environment. Compute environments in the ENABLED state can accept jobs - * from a queue and scale in or out automatically based on the workload demand of its associated queues.

              + * from a queue and scale in or out automatically based on the workload demand of its associated queues.

              */ state?: CEState | string; } @@ -2322,14 +2794,14 @@ export namespace UpdateComputeEnvironmentRequest { export interface UpdateComputeEnvironmentResponse { /** - *

              The name of the compute environment.

              + *

              The Amazon Resource Name (ARN) of the compute environment.

              */ - computeEnvironmentName?: string; + computeEnvironmentArn?: string; /** - *

              The Amazon Resource Name (ARN) of the compute environment.

              + *

              The name of the compute environment.

              */ - computeEnvironmentArn?: string; + computeEnvironmentName?: string; } export namespace UpdateComputeEnvironmentResponse { @@ -2341,16 +2813,16 @@ export namespace UpdateComputeEnvironmentResponse { export interface UpdateJobQueueRequest { /** *

              Details the set of compute environments mapped to a job queue and their order relative to each other. This is - * one of the parameters used by the job scheduler to determine which compute environment should execute a given - * job.

              + * one of the parameters used by the job scheduler to determine which compute environment should execute a given + * job.

              */ computeEnvironmentOrder?: ComputeEnvironmentOrder[]; /** *

              The priority of the job queue. Job queues with a higher priority (or a higher integer value for the - * priority parameter) are evaluated first when associated with the same compute environment. Priority is - * determined in descending order, for example, a job queue with a priority value of 10 is given scheduling - * preference over a job queue with a priority value of 1.

              + * priority parameter) are evaluated first when associated with the same compute environment. Priority + * is determined in descending order, for example, a job queue with a priority value of 10 is given + * scheduling preference over a job queue with a priority value of 1.

              */ priority?: number; @@ -2360,7 +2832,9 @@ export interface UpdateJobQueueRequest { jobQueue: string | undefined; /** - *

              Describes the queue's ability to accept new jobs.

              + *

              Describes the queue's ability to accept new jobs. If the job queue state is ENABLED, it is able to + * accept jobs. If the job queue state is DISABLED, new jobs cannot be added to the queue, but jobs already + * in the queue can finish.

              */ state?: JQState | string; } diff --git a/clients/client-batch/protocols/Aws_restJson1.ts b/clients/client-batch/protocols/Aws_restJson1.ts index 2cd9397e883f..fe91034f7a9e 100644 --- a/clients/client-batch/protocols/Aws_restJson1.ts +++ b/clients/client-batch/protocols/Aws_restJson1.ts @@ -24,12 +24,18 @@ import { import { DescribeJobQueuesCommandInput, DescribeJobQueuesCommandOutput } from "../commands/DescribeJobQueuesCommand"; import { DescribeJobsCommandInput, DescribeJobsCommandOutput } from "../commands/DescribeJobsCommand"; import { ListJobsCommandInput, ListJobsCommandOutput } from "../commands/ListJobsCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; import { RegisterJobDefinitionCommandInput, RegisterJobDefinitionCommandOutput, } from "../commands/RegisterJobDefinitionCommand"; import { SubmitJobCommandInput, SubmitJobCommandOutput } from "../commands/SubmitJobCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { TerminateJobCommandInput, TerminateJobCommandOutput } from "../commands/TerminateJobCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateComputeEnvironmentCommandInput, UpdateComputeEnvironmentCommandOutput, @@ -62,6 +68,7 @@ import { KeyValuePair, LaunchTemplateSpecification, LinuxParameters, + LogConfiguration, MountPoint, NetworkInterface, NodeDetails, @@ -72,12 +79,17 @@ import { NodeRangeProperty, ResourceRequirement, RetryStrategy, + Secret, ServerException, + Tmpfs, Ulimit, Volume, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; -import { SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { + SmithyException as __SmithyException, + extendedEncodeURIComponent as __extendedEncodeURIComponent, +} from "@aws-sdk/smithy-client"; import { Endpoint as __Endpoint, MetadataBearer as __MetadataBearer, @@ -126,6 +138,7 @@ export const serializeAws_restJson1CreateComputeEnvironmentCommand = async ( }), ...(input.serviceRole !== undefined && { serviceRole: input.serviceRole }), ...(input.state !== undefined && { state: input.state }), + ...(input.tags !== undefined && { tags: serializeAws_restJson1TagrisTagsMap(input.tags, context) }), ...(input.type !== undefined && { type: input.type }), }); const { hostname, protocol = "https", port } = await context.endpoint(); @@ -156,6 +169,7 @@ export const serializeAws_restJson1CreateJobQueueCommand = async ( ...(input.jobQueueName !== undefined && { jobQueueName: input.jobQueueName }), ...(input.priority !== undefined && { priority: input.priority }), ...(input.state !== undefined && { state: input.state }), + ...(input.tags !== undefined && { tags: serializeAws_restJson1TagrisTagsMap(input.tags, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -378,6 +392,36 @@ export const serializeAws_restJson1ListJobsCommand = async ( }); }; +export const serializeAws_restJson1ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v1/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_restJson1RegisterJobDefinitionCommand = async ( input: RegisterJobDefinitionCommandInput, context: __SerdeContext @@ -401,6 +445,7 @@ export const serializeAws_restJson1RegisterJobDefinitionCommand = async ( ...(input.retryStrategy !== undefined && { retryStrategy: serializeAws_restJson1RetryStrategy(input.retryStrategy, context), }), + ...(input.tags !== undefined && { tags: serializeAws_restJson1TagrisTagsMap(input.tags, context) }), ...(input.timeout !== undefined && { timeout: serializeAws_restJson1JobTimeout(input.timeout, context) }), ...(input.type !== undefined && { type: input.type }), }); @@ -447,6 +492,7 @@ export const serializeAws_restJson1SubmitJobCommand = async ( ...(input.retryStrategy !== undefined && { retryStrategy: serializeAws_restJson1RetryStrategy(input.retryStrategy, context), }), + ...(input.tags !== undefined && { tags: serializeAws_restJson1TagrisTagsMap(input.tags, context) }), ...(input.timeout !== undefined && { timeout: serializeAws_restJson1JobTimeout(input.timeout, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); @@ -461,6 +507,39 @@ export const serializeAws_restJson1SubmitJobCommand = async ( }); }; +export const serializeAws_restJson1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/v1/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_restJson1TagrisTagsMap(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_restJson1TerminateJobCommand = async ( input: TerminateJobCommandInput, context: __SerdeContext @@ -486,6 +565,40 @@ export const serializeAws_restJson1TerminateJobCommand = async ( }); }; +export const serializeAws_restJson1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v1/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 serializeAws_restJson1UpdateComputeEnvironmentCommand = async ( input: UpdateComputeEnvironmentCommandInput, context: __SerdeContext @@ -1248,6 +1361,69 @@ const deserializeAws_restJson1ListJobsCommandError = 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_restJson1TagrisTagsMap(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 "ClientException": + case "com.amazonaws.batch#ClientException": + response = { + ...(await deserializeAws_restJson1ClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServerException": + case "com.amazonaws.batch#ServerException": + response = { + ...(await deserializeAws_restJson1ServerExceptionResponse(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_restJson1RegisterJobDefinitionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1328,10 +1504,14 @@ export const deserializeAws_restJson1SubmitJobCommand = async ( } const contents: SubmitJobCommandOutput = { $metadata: deserializeMetadata(output), + jobArn: undefined, jobId: undefined, jobName: undefined, }; const data: any = await parseBody(output.body, context); + if (data.jobArn !== undefined && data.jobArn !== null) { + contents.jobArn = data.jobArn; + } if (data.jobId !== undefined && data.jobId !== null) { contents.jobId = data.jobId; } @@ -1386,6 +1566,65 @@ const deserializeAws_restJson1SubmitJobCommandError = 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 "ClientException": + case "com.amazonaws.batch#ClientException": + response = { + ...(await deserializeAws_restJson1ClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServerException": + case "com.amazonaws.batch#ServerException": + response = { + ...(await deserializeAws_restJson1ServerExceptionResponse(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_restJson1TerminateJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1445,6 +1684,65 @@ const deserializeAws_restJson1TerminateJobCommandError = async ( 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 "ClientException": + case "com.amazonaws.batch#ClientException": + response = { + ...(await deserializeAws_restJson1ClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServerException": + case "com.amazonaws.batch#ServerException": + response = { + ...(await deserializeAws_restJson1ServerExceptionResponse(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_restJson1UpdateComputeEnvironmentCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1692,12 +1990,16 @@ const serializeAws_restJson1ContainerProperties = (input: ContainerProperties, c ...(input.environment !== undefined && { environment: serializeAws_restJson1EnvironmentVariables(input.environment, context), }), + ...(input.executionRoleArn !== undefined && { executionRoleArn: input.executionRoleArn }), ...(input.image !== undefined && { image: input.image }), ...(input.instanceType !== undefined && { instanceType: input.instanceType }), ...(input.jobRoleArn !== undefined && { jobRoleArn: input.jobRoleArn }), ...(input.linuxParameters !== undefined && { linuxParameters: serializeAws_restJson1LinuxParameters(input.linuxParameters, context), }), + ...(input.logConfiguration !== undefined && { + logConfiguration: serializeAws_restJson1LogConfiguration(input.logConfiguration, context), + }), ...(input.memory !== undefined && { memory: input.memory }), ...(input.mountPoints !== undefined && { mountPoints: serializeAws_restJson1MountPoints(input.mountPoints, context), @@ -1707,6 +2009,7 @@ const serializeAws_restJson1ContainerProperties = (input: ContainerProperties, c ...(input.resourceRequirements !== undefined && { resourceRequirements: serializeAws_restJson1ResourceRequirements(input.resourceRequirements, context), }), + ...(input.secrets !== undefined && { secrets: serializeAws_restJson1SecretList(input.secrets, context) }), ...(input.ulimits !== undefined && { ulimits: serializeAws_restJson1Ulimits(input.ulimits, context) }), ...(input.user !== undefined && { user: input.user }), ...(input.vcpus !== undefined && { vcpus: input.vcpus }), @@ -1783,9 +2086,39 @@ const serializeAws_restJson1LaunchTemplateSpecification = ( const serializeAws_restJson1LinuxParameters = (input: LinuxParameters, context: __SerdeContext): any => { return { ...(input.devices !== undefined && { devices: serializeAws_restJson1DevicesList(input.devices, context) }), + ...(input.initProcessEnabled !== undefined && { initProcessEnabled: input.initProcessEnabled }), + ...(input.maxSwap !== undefined && { maxSwap: input.maxSwap }), + ...(input.sharedMemorySize !== undefined && { sharedMemorySize: input.sharedMemorySize }), + ...(input.swappiness !== undefined && { swappiness: input.swappiness }), + ...(input.tmpfs !== undefined && { tmpfs: serializeAws_restJson1TmpfsList(input.tmpfs, context) }), }; }; +const serializeAws_restJson1LogConfiguration = (input: LogConfiguration, context: __SerdeContext): any => { + return { + ...(input.logDriver !== undefined && { logDriver: input.logDriver }), + ...(input.options !== undefined && { + options: serializeAws_restJson1LogConfigurationOptionsMap(input.options, context), + }), + ...(input.secretOptions !== undefined && { + secretOptions: serializeAws_restJson1SecretList(input.secretOptions, context), + }), + }; +}; + +const serializeAws_restJson1LogConfigurationOptionsMap = ( + 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_restJson1MountPoint = (input: MountPoint, context: __SerdeContext): any => { return { ...(input.containerPath !== undefined && { containerPath: input.containerPath }), @@ -1870,10 +2203,31 @@ const serializeAws_restJson1RetryStrategy = (input: RetryStrategy, context: __Se }; }; +const serializeAws_restJson1Secret = (input: Secret, context: __SerdeContext): any => { + return { + ...(input.name !== undefined && { name: input.name }), + ...(input.valueFrom !== undefined && { valueFrom: input.valueFrom }), + }; +}; + +const serializeAws_restJson1SecretList = (input: Secret[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1Secret(entry, context)); +}; + const serializeAws_restJson1StringList = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; +const serializeAws_restJson1TagrisTagsMap = (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_restJson1TagsMap = (input: { [key: string]: string }, context: __SerdeContext): any => { return Object.entries(input).reduce( (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ @@ -1884,6 +2238,20 @@ const serializeAws_restJson1TagsMap = (input: { [key: string]: string }, context ); }; +const serializeAws_restJson1Tmpfs = (input: Tmpfs, context: __SerdeContext): any => { + return { + ...(input.containerPath !== undefined && { containerPath: input.containerPath }), + ...(input.mountOptions !== undefined && { + mountOptions: serializeAws_restJson1StringList(input.mountOptions, context), + }), + ...(input.size !== undefined && { size: input.size }), + }; +}; + +const serializeAws_restJson1TmpfsList = (input: Tmpfs[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1Tmpfs(entry, context)); +}; + const serializeAws_restJson1Ulimit = (input: Ulimit, context: __SerdeContext): any => { return { ...(input.hardLimit !== undefined && { hardLimit: input.hardLimit }), @@ -2001,6 +2369,10 @@ const deserializeAws_restJson1ComputeEnvironmentDetail = ( state: output.state !== undefined && output.state !== null ? output.state : undefined, status: output.status !== undefined && output.status !== null ? output.status : undefined, statusReason: output.statusReason !== undefined && output.statusReason !== null ? output.statusReason : undefined, + tags: + output.tags !== undefined && output.tags !== null + ? deserializeAws_restJson1TagrisTagsMap(output.tags, context) + : undefined, type: output.type !== undefined && output.type !== null ? output.type : undefined, } as any; }; @@ -2088,6 +2460,8 @@ const deserializeAws_restJson1ContainerDetail = (output: any, context: __SerdeCo output.environment !== undefined && output.environment !== null ? deserializeAws_restJson1EnvironmentVariables(output.environment, context) : undefined, + executionRoleArn: + output.executionRoleArn !== undefined && output.executionRoleArn !== null ? output.executionRoleArn : undefined, exitCode: output.exitCode !== undefined && output.exitCode !== null ? output.exitCode : undefined, image: output.image !== undefined && output.image !== null ? output.image : undefined, instanceType: output.instanceType !== undefined && output.instanceType !== null ? output.instanceType : undefined, @@ -2096,6 +2470,10 @@ const deserializeAws_restJson1ContainerDetail = (output: any, context: __SerdeCo output.linuxParameters !== undefined && output.linuxParameters !== null ? deserializeAws_restJson1LinuxParameters(output.linuxParameters, context) : undefined, + logConfiguration: + output.logConfiguration !== undefined && output.logConfiguration !== null + ? deserializeAws_restJson1LogConfiguration(output.logConfiguration, context) + : undefined, logStreamName: output.logStreamName !== undefined && output.logStreamName !== null ? output.logStreamName : undefined, memory: output.memory !== undefined && output.memory !== null ? output.memory : undefined, @@ -2117,6 +2495,10 @@ const deserializeAws_restJson1ContainerDetail = (output: any, context: __SerdeCo output.resourceRequirements !== undefined && output.resourceRequirements !== null ? deserializeAws_restJson1ResourceRequirements(output.resourceRequirements, context) : undefined, + secrets: + output.secrets !== undefined && output.secrets !== null + ? deserializeAws_restJson1SecretList(output.secrets, context) + : undefined, taskArn: output.taskArn !== undefined && output.taskArn !== null ? output.taskArn : undefined, ulimits: output.ulimits !== undefined && output.ulimits !== null @@ -2141,6 +2523,8 @@ const deserializeAws_restJson1ContainerProperties = (output: any, context: __Ser output.environment !== undefined && output.environment !== null ? deserializeAws_restJson1EnvironmentVariables(output.environment, context) : undefined, + executionRoleArn: + output.executionRoleArn !== undefined && output.executionRoleArn !== null ? output.executionRoleArn : undefined, image: output.image !== undefined && output.image !== null ? output.image : undefined, instanceType: output.instanceType !== undefined && output.instanceType !== null ? output.instanceType : undefined, jobRoleArn: output.jobRoleArn !== undefined && output.jobRoleArn !== null ? output.jobRoleArn : undefined, @@ -2148,6 +2532,10 @@ const deserializeAws_restJson1ContainerProperties = (output: any, context: __Ser output.linuxParameters !== undefined && output.linuxParameters !== null ? deserializeAws_restJson1LinuxParameters(output.linuxParameters, context) : undefined, + logConfiguration: + output.logConfiguration !== undefined && output.logConfiguration !== null + ? deserializeAws_restJson1LogConfiguration(output.logConfiguration, context) + : undefined, memory: output.memory !== undefined && output.memory !== null ? output.memory : undefined, mountPoints: output.mountPoints !== undefined && output.mountPoints !== null @@ -2162,6 +2550,10 @@ const deserializeAws_restJson1ContainerProperties = (output: any, context: __Ser output.resourceRequirements !== undefined && output.resourceRequirements !== null ? deserializeAws_restJson1ResourceRequirements(output.resourceRequirements, context) : undefined, + secrets: + output.secrets !== undefined && output.secrets !== null + ? deserializeAws_restJson1SecretList(output.secrets, context) + : undefined, ulimits: output.ulimits !== undefined && output.ulimits !== null ? deserializeAws_restJson1Ulimits(output.ulimits, context) @@ -2241,6 +2633,10 @@ const deserializeAws_restJson1JobDefinition = (output: any, context: __SerdeCont : undefined, revision: output.revision !== undefined && output.revision !== null ? output.revision : undefined, status: output.status !== undefined && output.status !== null ? output.status : undefined, + tags: + output.tags !== undefined && output.tags !== null + ? deserializeAws_restJson1TagrisTagsMap(output.tags, context) + : undefined, timeout: output.timeout !== undefined && output.timeout !== null ? deserializeAws_restJson1JobTimeout(output.timeout, context) @@ -2283,6 +2679,7 @@ const deserializeAws_restJson1JobDetail = (output: any, context: __SerdeContext) output.dependsOn !== undefined && output.dependsOn !== null ? deserializeAws_restJson1JobDependencyList(output.dependsOn, context) : undefined, + jobArn: output.jobArn !== undefined && output.jobArn !== null ? output.jobArn : undefined, jobDefinition: output.jobDefinition !== undefined && output.jobDefinition !== null ? output.jobDefinition : undefined, jobId: output.jobId !== undefined && output.jobId !== null ? output.jobId : undefined, @@ -2308,6 +2705,10 @@ const deserializeAws_restJson1JobDetail = (output: any, context: __SerdeContext) status: output.status !== undefined && output.status !== null ? output.status : undefined, statusReason: output.statusReason !== undefined && output.statusReason !== null ? output.statusReason : undefined, stoppedAt: output.stoppedAt !== undefined && output.stoppedAt !== null ? output.stoppedAt : undefined, + tags: + output.tags !== undefined && output.tags !== null + ? deserializeAws_restJson1TagrisTagsMap(output.tags, context) + : undefined, timeout: output.timeout !== undefined && output.timeout !== null ? deserializeAws_restJson1JobTimeout(output.timeout, context) @@ -2331,6 +2732,10 @@ const deserializeAws_restJson1JobQueueDetail = (output: any, context: __SerdeCon state: output.state !== undefined && output.state !== null ? output.state : undefined, status: output.status !== undefined && output.status !== null ? output.status : undefined, statusReason: output.statusReason !== undefined && output.statusReason !== null ? output.statusReason : undefined, + tags: + output.tags !== undefined && output.tags !== null + ? deserializeAws_restJson1TagrisTagsMap(output.tags, context) + : undefined, } as any; }; @@ -2349,6 +2754,7 @@ const deserializeAws_restJson1JobSummary = (output: any, context: __SerdeContext ? deserializeAws_restJson1ContainerSummary(output.container, context) : undefined, createdAt: output.createdAt !== undefined && output.createdAt !== null ? output.createdAt : undefined, + jobArn: output.jobArn !== undefined && output.jobArn !== null ? output.jobArn : undefined, jobId: output.jobId !== undefined && output.jobId !== null ? output.jobId : undefined, jobName: output.jobName !== undefined && output.jobName !== null ? output.jobName : undefined, nodeProperties: @@ -2403,9 +2809,48 @@ const deserializeAws_restJson1LinuxParameters = (output: any, context: __SerdeCo output.devices !== undefined && output.devices !== null ? deserializeAws_restJson1DevicesList(output.devices, context) : undefined, + initProcessEnabled: + output.initProcessEnabled !== undefined && output.initProcessEnabled !== null + ? output.initProcessEnabled + : undefined, + maxSwap: output.maxSwap !== undefined && output.maxSwap !== null ? output.maxSwap : undefined, + sharedMemorySize: + output.sharedMemorySize !== undefined && output.sharedMemorySize !== null ? output.sharedMemorySize : undefined, + swappiness: output.swappiness !== undefined && output.swappiness !== null ? output.swappiness : undefined, + tmpfs: + output.tmpfs !== undefined && output.tmpfs !== null + ? deserializeAws_restJson1TmpfsList(output.tmpfs, context) + : undefined, } as any; }; +const deserializeAws_restJson1LogConfiguration = (output: any, context: __SerdeContext): LogConfiguration => { + return { + logDriver: output.logDriver !== undefined && output.logDriver !== null ? output.logDriver : undefined, + options: + output.options !== undefined && output.options !== null + ? deserializeAws_restJson1LogConfigurationOptionsMap(output.options, context) + : undefined, + secretOptions: + output.secretOptions !== undefined && output.secretOptions !== null + ? deserializeAws_restJson1SecretList(output.secretOptions, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1LogConfigurationOptionsMap = ( + 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_restJson1MountPoint = (output: any, context: __SerdeContext): MountPoint => { return { containerPath: @@ -2501,10 +2946,31 @@ const deserializeAws_restJson1RetryStrategy = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_restJson1Secret = (output: any, context: __SerdeContext): Secret => { + return { + name: output.name !== undefined && output.name !== null ? output.name : undefined, + valueFrom: output.valueFrom !== undefined && output.valueFrom !== null ? output.valueFrom : undefined, + } as any; +}; + +const deserializeAws_restJson1SecretList = (output: any, context: __SerdeContext): Secret[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Secret(entry, context)); +}; + const deserializeAws_restJson1StringList = (output: any, context: __SerdeContext): string[] => { return (output || []).map((entry: any) => entry); }; +const deserializeAws_restJson1TagrisTagsMap = (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_restJson1TagsMap = (output: any, context: __SerdeContext): { [key: string]: string } => { return Object.entries(output).reduce( (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ @@ -2515,6 +2981,22 @@ const deserializeAws_restJson1TagsMap = (output: any, context: __SerdeContext): ); }; +const deserializeAws_restJson1Tmpfs = (output: any, context: __SerdeContext): Tmpfs => { + return { + containerPath: + output.containerPath !== undefined && output.containerPath !== null ? output.containerPath : undefined, + mountOptions: + output.mountOptions !== undefined && output.mountOptions !== null + ? deserializeAws_restJson1StringList(output.mountOptions, context) + : undefined, + size: output.size !== undefined && output.size !== null ? output.size : undefined, + } as any; +}; + +const deserializeAws_restJson1TmpfsList = (output: any, context: __SerdeContext): Tmpfs[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Tmpfs(entry, context)); +}; + const deserializeAws_restJson1Ulimit = (output: any, context: __SerdeContext): Ulimit => { return { hardLimit: output.hardLimit !== undefined && output.hardLimit !== null ? output.hardLimit : undefined, diff --git a/clients/client-budgets/Budgets.ts b/clients/client-budgets/Budgets.ts index 62b628a7ca63..84f1ee755d43 100644 --- a/clients/client-budgets/Budgets.ts +++ b/clients/client-budgets/Budgets.ts @@ -1,4 +1,9 @@ import { BudgetsClient } from "./BudgetsClient"; +import { + CreateBudgetActionCommand, + CreateBudgetActionCommandInput, + CreateBudgetActionCommandOutput, +} from "./commands/CreateBudgetActionCommand"; import { CreateBudgetCommand, CreateBudgetCommandInput, @@ -14,6 +19,11 @@ import { CreateSubscriberCommandInput, CreateSubscriberCommandOutput, } from "./commands/CreateSubscriberCommand"; +import { + DeleteBudgetActionCommand, + DeleteBudgetActionCommandInput, + DeleteBudgetActionCommandOutput, +} from "./commands/DeleteBudgetActionCommand"; import { DeleteBudgetCommand, DeleteBudgetCommandInput, @@ -29,6 +39,26 @@ import { DeleteSubscriberCommandInput, DeleteSubscriberCommandOutput, } from "./commands/DeleteSubscriberCommand"; +import { + DescribeBudgetActionCommand, + DescribeBudgetActionCommandInput, + DescribeBudgetActionCommandOutput, +} from "./commands/DescribeBudgetActionCommand"; +import { + DescribeBudgetActionHistoriesCommand, + DescribeBudgetActionHistoriesCommandInput, + DescribeBudgetActionHistoriesCommandOutput, +} from "./commands/DescribeBudgetActionHistoriesCommand"; +import { + DescribeBudgetActionsForAccountCommand, + DescribeBudgetActionsForAccountCommandInput, + DescribeBudgetActionsForAccountCommandOutput, +} from "./commands/DescribeBudgetActionsForAccountCommand"; +import { + DescribeBudgetActionsForBudgetCommand, + DescribeBudgetActionsForBudgetCommandInput, + DescribeBudgetActionsForBudgetCommandOutput, +} from "./commands/DescribeBudgetActionsForBudgetCommand"; import { DescribeBudgetCommand, DescribeBudgetCommandInput, @@ -54,6 +84,16 @@ import { DescribeSubscribersForNotificationCommandInput, DescribeSubscribersForNotificationCommandOutput, } from "./commands/DescribeSubscribersForNotificationCommand"; +import { + ExecuteBudgetActionCommand, + ExecuteBudgetActionCommandInput, + ExecuteBudgetActionCommandOutput, +} from "./commands/ExecuteBudgetActionCommand"; +import { + UpdateBudgetActionCommand, + UpdateBudgetActionCommandInput, + UpdateBudgetActionCommandOutput, +} from "./commands/UpdateBudgetActionCommand"; import { UpdateBudgetCommand, UpdateBudgetCommandInput, @@ -149,6 +189,40 @@ export class Budgets extends BudgetsClient { } } + /** + *

              + * Creates a budget action. + *

              + */ + public createBudgetAction( + args: CreateBudgetActionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createBudgetAction( + args: CreateBudgetActionCommandInput, + cb: (err: any, data?: CreateBudgetActionCommandOutput) => void + ): void; + public createBudgetAction( + args: CreateBudgetActionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateBudgetActionCommandOutput) => void + ): void; + public createBudgetAction( + args: CreateBudgetActionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateBudgetActionCommandOutput) => void), + cb?: (err: any, data?: CreateBudgetActionCommandOutput) => void + ): Promise | void { + const command = new CreateBudgetActionCommand(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 notification. You must create the budget before you create the associated notification.

              */ @@ -245,6 +319,40 @@ export class Budgets extends BudgetsClient { } } + /** + *

              + * Deletes a budget action. + *

              + */ + public deleteBudgetAction( + args: DeleteBudgetActionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteBudgetAction( + args: DeleteBudgetActionCommandInput, + cb: (err: any, data?: DeleteBudgetActionCommandOutput) => void + ): void; + public deleteBudgetAction( + args: DeleteBudgetActionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteBudgetActionCommandOutput) => void + ): void; + public deleteBudgetAction( + args: DeleteBudgetActionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteBudgetActionCommandOutput) => void), + cb?: (err: any, data?: DeleteBudgetActionCommandOutput) => void + ): Promise | void { + const command = new DeleteBudgetActionCommand(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 notification.

              * @@ -350,6 +458,142 @@ export class Budgets extends BudgetsClient { } } + /** + *

              + * Describes a budget action detail. + *

              + */ + public describeBudgetAction( + args: DescribeBudgetActionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeBudgetAction( + args: DescribeBudgetActionCommandInput, + cb: (err: any, data?: DescribeBudgetActionCommandOutput) => void + ): void; + public describeBudgetAction( + args: DescribeBudgetActionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeBudgetActionCommandOutput) => void + ): void; + public describeBudgetAction( + args: DescribeBudgetActionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeBudgetActionCommandOutput) => void), + cb?: (err: any, data?: DescribeBudgetActionCommandOutput) => void + ): Promise | void { + const command = new DescribeBudgetActionCommand(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 a budget action history detail. + *

              + */ + public describeBudgetActionHistories( + args: DescribeBudgetActionHistoriesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeBudgetActionHistories( + args: DescribeBudgetActionHistoriesCommandInput, + cb: (err: any, data?: DescribeBudgetActionHistoriesCommandOutput) => void + ): void; + public describeBudgetActionHistories( + args: DescribeBudgetActionHistoriesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeBudgetActionHistoriesCommandOutput) => void + ): void; + public describeBudgetActionHistories( + args: DescribeBudgetActionHistoriesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeBudgetActionHistoriesCommandOutput) => void), + cb?: (err: any, data?: DescribeBudgetActionHistoriesCommandOutput) => void + ): Promise | void { + const command = new DescribeBudgetActionHistoriesCommand(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 all of the budget actions for an account. + *

              + */ + public describeBudgetActionsForAccount( + args: DescribeBudgetActionsForAccountCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeBudgetActionsForAccount( + args: DescribeBudgetActionsForAccountCommandInput, + cb: (err: any, data?: DescribeBudgetActionsForAccountCommandOutput) => void + ): void; + public describeBudgetActionsForAccount( + args: DescribeBudgetActionsForAccountCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeBudgetActionsForAccountCommandOutput) => void + ): void; + public describeBudgetActionsForAccount( + args: DescribeBudgetActionsForAccountCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeBudgetActionsForAccountCommandOutput) => void), + cb?: (err: any, data?: DescribeBudgetActionsForAccountCommandOutput) => void + ): Promise | void { + const command = new DescribeBudgetActionsForAccountCommand(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 all of the budget actions for a budget. + *

              + */ + public describeBudgetActionsForBudget( + args: DescribeBudgetActionsForBudgetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeBudgetActionsForBudget( + args: DescribeBudgetActionsForBudgetCommandInput, + cb: (err: any, data?: DescribeBudgetActionsForBudgetCommandOutput) => void + ): void; + public describeBudgetActionsForBudget( + args: DescribeBudgetActionsForBudgetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeBudgetActionsForBudgetCommandOutput) => void + ): void; + public describeBudgetActionsForBudget( + args: DescribeBudgetActionsForBudgetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeBudgetActionsForBudgetCommandOutput) => void), + cb?: (err: any, data?: DescribeBudgetActionsForBudgetCommandOutput) => void + ): Promise | void { + const command = new DescribeBudgetActionsForBudgetCommand(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 history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets.

              */ @@ -481,6 +725,40 @@ export class Budgets extends BudgetsClient { } } + /** + *

              + * Executes a budget action. + *

              + */ + public executeBudgetAction( + args: ExecuteBudgetActionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public executeBudgetAction( + args: ExecuteBudgetActionCommandInput, + cb: (err: any, data?: ExecuteBudgetActionCommandOutput) => void + ): void; + public executeBudgetAction( + args: ExecuteBudgetActionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ExecuteBudgetActionCommandOutput) => void + ): void; + public executeBudgetAction( + args: ExecuteBudgetActionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ExecuteBudgetActionCommandOutput) => void), + cb?: (err: any, data?: ExecuteBudgetActionCommandOutput) => void + ): Promise | void { + const command = new ExecuteBudgetActionCommand(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 budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting.

              * @@ -513,6 +791,40 @@ export class Budgets extends BudgetsClient { } } + /** + *

              + * Updates a budget action. + *

              + */ + public updateBudgetAction( + args: UpdateBudgetActionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateBudgetAction( + args: UpdateBudgetActionCommandInput, + cb: (err: any, data?: UpdateBudgetActionCommandOutput) => void + ): void; + public updateBudgetAction( + args: UpdateBudgetActionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateBudgetActionCommandOutput) => void + ): void; + public updateBudgetAction( + args: UpdateBudgetActionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateBudgetActionCommandOutput) => void), + cb?: (err: any, data?: UpdateBudgetActionCommandOutput) => void + ): Promise | void { + const command = new UpdateBudgetActionCommand(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 notification.

              */ diff --git a/clients/client-budgets/BudgetsClient.ts b/clients/client-budgets/BudgetsClient.ts index 78020d715f3e..1205fc7439a4 100644 --- a/clients/client-budgets/BudgetsClient.ts +++ b/clients/client-budgets/BudgetsClient.ts @@ -1,9 +1,27 @@ +import { CreateBudgetActionCommandInput, CreateBudgetActionCommandOutput } from "./commands/CreateBudgetActionCommand"; import { CreateBudgetCommandInput, CreateBudgetCommandOutput } from "./commands/CreateBudgetCommand"; import { CreateNotificationCommandInput, CreateNotificationCommandOutput } from "./commands/CreateNotificationCommand"; import { CreateSubscriberCommandInput, CreateSubscriberCommandOutput } from "./commands/CreateSubscriberCommand"; +import { DeleteBudgetActionCommandInput, DeleteBudgetActionCommandOutput } from "./commands/DeleteBudgetActionCommand"; import { DeleteBudgetCommandInput, DeleteBudgetCommandOutput } from "./commands/DeleteBudgetCommand"; import { DeleteNotificationCommandInput, DeleteNotificationCommandOutput } from "./commands/DeleteNotificationCommand"; import { DeleteSubscriberCommandInput, DeleteSubscriberCommandOutput } from "./commands/DeleteSubscriberCommand"; +import { + DescribeBudgetActionCommandInput, + DescribeBudgetActionCommandOutput, +} from "./commands/DescribeBudgetActionCommand"; +import { + DescribeBudgetActionHistoriesCommandInput, + DescribeBudgetActionHistoriesCommandOutput, +} from "./commands/DescribeBudgetActionHistoriesCommand"; +import { + DescribeBudgetActionsForAccountCommandInput, + DescribeBudgetActionsForAccountCommandOutput, +} from "./commands/DescribeBudgetActionsForAccountCommand"; +import { + DescribeBudgetActionsForBudgetCommandInput, + DescribeBudgetActionsForBudgetCommandOutput, +} from "./commands/DescribeBudgetActionsForBudgetCommand"; import { DescribeBudgetCommandInput, DescribeBudgetCommandOutput } from "./commands/DescribeBudgetCommand"; import { DescribeBudgetPerformanceHistoryCommandInput, @@ -18,6 +36,11 @@ import { DescribeSubscribersForNotificationCommandInput, DescribeSubscribersForNotificationCommandOutput, } from "./commands/DescribeSubscribersForNotificationCommand"; +import { + ExecuteBudgetActionCommandInput, + ExecuteBudgetActionCommandOutput, +} from "./commands/ExecuteBudgetActionCommand"; +import { UpdateBudgetActionCommandInput, UpdateBudgetActionCommandOutput } from "./commands/UpdateBudgetActionCommand"; import { UpdateBudgetCommandInput, UpdateBudgetCommandOutput } from "./commands/UpdateBudgetCommand"; import { UpdateNotificationCommandInput, UpdateNotificationCommandOutput } from "./commands/UpdateNotificationCommand"; import { UpdateSubscriberCommandInput, UpdateSubscriberCommandOutput } from "./commands/UpdateSubscriberCommand"; @@ -71,33 +94,49 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | CreateBudgetActionCommandInput | CreateBudgetCommandInput | CreateNotificationCommandInput | CreateSubscriberCommandInput + | DeleteBudgetActionCommandInput | DeleteBudgetCommandInput | DeleteNotificationCommandInput | DeleteSubscriberCommandInput + | DescribeBudgetActionCommandInput + | DescribeBudgetActionHistoriesCommandInput + | DescribeBudgetActionsForAccountCommandInput + | DescribeBudgetActionsForBudgetCommandInput | DescribeBudgetCommandInput | DescribeBudgetPerformanceHistoryCommandInput | DescribeBudgetsCommandInput | DescribeNotificationsForBudgetCommandInput | DescribeSubscribersForNotificationCommandInput + | ExecuteBudgetActionCommandInput + | UpdateBudgetActionCommandInput | UpdateBudgetCommandInput | UpdateNotificationCommandInput | UpdateSubscriberCommandInput; export type ServiceOutputTypes = + | CreateBudgetActionCommandOutput | CreateBudgetCommandOutput | CreateNotificationCommandOutput | CreateSubscriberCommandOutput + | DeleteBudgetActionCommandOutput | DeleteBudgetCommandOutput | DeleteNotificationCommandOutput | DeleteSubscriberCommandOutput + | DescribeBudgetActionCommandOutput + | DescribeBudgetActionHistoriesCommandOutput + | DescribeBudgetActionsForAccountCommandOutput + | DescribeBudgetActionsForBudgetCommandOutput | DescribeBudgetCommandOutput | DescribeBudgetPerformanceHistoryCommandOutput | DescribeBudgetsCommandOutput | DescribeNotificationsForBudgetCommandOutput | DescribeSubscribersForNotificationCommandOutput + | ExecuteBudgetActionCommandOutput + | UpdateBudgetActionCommandOutput | UpdateBudgetCommandOutput | UpdateNotificationCommandOutput | UpdateSubscriberCommandOutput; diff --git a/clients/client-budgets/commands/CreateBudgetActionCommand.ts b/clients/client-budgets/commands/CreateBudgetActionCommand.ts new file mode 100644 index 000000000000..9eac0267158e --- /dev/null +++ b/clients/client-budgets/commands/CreateBudgetActionCommand.ts @@ -0,0 +1,70 @@ +import { BudgetsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BudgetsClient"; +import { CreateBudgetActionRequest, CreateBudgetActionResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateBudgetActionCommand, + serializeAws_json1_1CreateBudgetActionCommand, +} 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 CreateBudgetActionCommandInput = CreateBudgetActionRequest; +export type CreateBudgetActionCommandOutput = CreateBudgetActionResponse & __MetadataBearer; + +export class CreateBudgetActionCommand extends $Command< + CreateBudgetActionCommandInput, + CreateBudgetActionCommandOutput, + BudgetsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateBudgetActionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: BudgetsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateBudgetActionRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateBudgetActionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateBudgetActionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateBudgetActionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateBudgetActionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-budgets/commands/DeleteBudgetActionCommand.ts b/clients/client-budgets/commands/DeleteBudgetActionCommand.ts new file mode 100644 index 000000000000..edcc963ba314 --- /dev/null +++ b/clients/client-budgets/commands/DeleteBudgetActionCommand.ts @@ -0,0 +1,70 @@ +import { BudgetsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BudgetsClient"; +import { DeleteBudgetActionRequest, DeleteBudgetActionResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteBudgetActionCommand, + serializeAws_json1_1DeleteBudgetActionCommand, +} 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 DeleteBudgetActionCommandInput = DeleteBudgetActionRequest; +export type DeleteBudgetActionCommandOutput = DeleteBudgetActionResponse & __MetadataBearer; + +export class DeleteBudgetActionCommand extends $Command< + DeleteBudgetActionCommandInput, + DeleteBudgetActionCommandOutput, + BudgetsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteBudgetActionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: BudgetsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteBudgetActionRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteBudgetActionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteBudgetActionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteBudgetActionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteBudgetActionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-budgets/commands/DescribeBudgetActionCommand.ts b/clients/client-budgets/commands/DescribeBudgetActionCommand.ts new file mode 100644 index 000000000000..54694b38e37d --- /dev/null +++ b/clients/client-budgets/commands/DescribeBudgetActionCommand.ts @@ -0,0 +1,70 @@ +import { BudgetsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BudgetsClient"; +import { DescribeBudgetActionRequest, DescribeBudgetActionResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeBudgetActionCommand, + serializeAws_json1_1DescribeBudgetActionCommand, +} 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 DescribeBudgetActionCommandInput = DescribeBudgetActionRequest; +export type DescribeBudgetActionCommandOutput = DescribeBudgetActionResponse & __MetadataBearer; + +export class DescribeBudgetActionCommand extends $Command< + DescribeBudgetActionCommandInput, + DescribeBudgetActionCommandOutput, + BudgetsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeBudgetActionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: BudgetsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeBudgetActionRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeBudgetActionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeBudgetActionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeBudgetActionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeBudgetActionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-budgets/commands/DescribeBudgetActionHistoriesCommand.ts b/clients/client-budgets/commands/DescribeBudgetActionHistoriesCommand.ts new file mode 100644 index 000000000000..1205b5a2dedd --- /dev/null +++ b/clients/client-budgets/commands/DescribeBudgetActionHistoriesCommand.ts @@ -0,0 +1,73 @@ +import { BudgetsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BudgetsClient"; +import { DescribeBudgetActionHistoriesRequest, DescribeBudgetActionHistoriesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeBudgetActionHistoriesCommand, + serializeAws_json1_1DescribeBudgetActionHistoriesCommand, +} 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 DescribeBudgetActionHistoriesCommandInput = DescribeBudgetActionHistoriesRequest; +export type DescribeBudgetActionHistoriesCommandOutput = DescribeBudgetActionHistoriesResponse & __MetadataBearer; + +export class DescribeBudgetActionHistoriesCommand extends $Command< + DescribeBudgetActionHistoriesCommandInput, + DescribeBudgetActionHistoriesCommandOutput, + BudgetsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeBudgetActionHistoriesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: BudgetsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeBudgetActionHistoriesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeBudgetActionHistoriesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeBudgetActionHistoriesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeBudgetActionHistoriesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeBudgetActionHistoriesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-budgets/commands/DescribeBudgetActionsForAccountCommand.ts b/clients/client-budgets/commands/DescribeBudgetActionsForAccountCommand.ts new file mode 100644 index 000000000000..7fcb6f199cf1 --- /dev/null +++ b/clients/client-budgets/commands/DescribeBudgetActionsForAccountCommand.ts @@ -0,0 +1,76 @@ +import { BudgetsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BudgetsClient"; +import { DescribeBudgetActionsForAccountRequest, DescribeBudgetActionsForAccountResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeBudgetActionsForAccountCommand, + serializeAws_json1_1DescribeBudgetActionsForAccountCommand, +} 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 DescribeBudgetActionsForAccountCommandInput = DescribeBudgetActionsForAccountRequest; +export type DescribeBudgetActionsForAccountCommandOutput = DescribeBudgetActionsForAccountResponse & __MetadataBearer; + +export class DescribeBudgetActionsForAccountCommand extends $Command< + DescribeBudgetActionsForAccountCommandInput, + DescribeBudgetActionsForAccountCommandOutput, + BudgetsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeBudgetActionsForAccountCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: BudgetsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeBudgetActionsForAccountRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeBudgetActionsForAccountResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeBudgetActionsForAccountCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeBudgetActionsForAccountCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeBudgetActionsForAccountCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-budgets/commands/DescribeBudgetActionsForBudgetCommand.ts b/clients/client-budgets/commands/DescribeBudgetActionsForBudgetCommand.ts new file mode 100644 index 000000000000..46962e0b2375 --- /dev/null +++ b/clients/client-budgets/commands/DescribeBudgetActionsForBudgetCommand.ts @@ -0,0 +1,76 @@ +import { BudgetsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BudgetsClient"; +import { DescribeBudgetActionsForBudgetRequest, DescribeBudgetActionsForBudgetResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeBudgetActionsForBudgetCommand, + serializeAws_json1_1DescribeBudgetActionsForBudgetCommand, +} 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 DescribeBudgetActionsForBudgetCommandInput = DescribeBudgetActionsForBudgetRequest; +export type DescribeBudgetActionsForBudgetCommandOutput = DescribeBudgetActionsForBudgetResponse & __MetadataBearer; + +export class DescribeBudgetActionsForBudgetCommand extends $Command< + DescribeBudgetActionsForBudgetCommandInput, + DescribeBudgetActionsForBudgetCommandOutput, + BudgetsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeBudgetActionsForBudgetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: BudgetsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeBudgetActionsForBudgetRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeBudgetActionsForBudgetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeBudgetActionsForBudgetCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeBudgetActionsForBudgetCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeBudgetActionsForBudgetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-budgets/commands/ExecuteBudgetActionCommand.ts b/clients/client-budgets/commands/ExecuteBudgetActionCommand.ts new file mode 100644 index 000000000000..a36c026ffe93 --- /dev/null +++ b/clients/client-budgets/commands/ExecuteBudgetActionCommand.ts @@ -0,0 +1,70 @@ +import { BudgetsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BudgetsClient"; +import { ExecuteBudgetActionRequest, ExecuteBudgetActionResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ExecuteBudgetActionCommand, + serializeAws_json1_1ExecuteBudgetActionCommand, +} 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 ExecuteBudgetActionCommandInput = ExecuteBudgetActionRequest; +export type ExecuteBudgetActionCommandOutput = ExecuteBudgetActionResponse & __MetadataBearer; + +export class ExecuteBudgetActionCommand extends $Command< + ExecuteBudgetActionCommandInput, + ExecuteBudgetActionCommandOutput, + BudgetsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ExecuteBudgetActionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: BudgetsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ExecuteBudgetActionRequest.filterSensitiveLog, + outputFilterSensitiveLog: ExecuteBudgetActionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ExecuteBudgetActionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ExecuteBudgetActionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ExecuteBudgetActionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-budgets/commands/UpdateBudgetActionCommand.ts b/clients/client-budgets/commands/UpdateBudgetActionCommand.ts new file mode 100644 index 000000000000..88b6bd55e66d --- /dev/null +++ b/clients/client-budgets/commands/UpdateBudgetActionCommand.ts @@ -0,0 +1,70 @@ +import { BudgetsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BudgetsClient"; +import { UpdateBudgetActionRequest, UpdateBudgetActionResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateBudgetActionCommand, + serializeAws_json1_1UpdateBudgetActionCommand, +} 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 UpdateBudgetActionCommandInput = UpdateBudgetActionRequest; +export type UpdateBudgetActionCommandOutput = UpdateBudgetActionResponse & __MetadataBearer; + +export class UpdateBudgetActionCommand extends $Command< + UpdateBudgetActionCommandInput, + UpdateBudgetActionCommandOutput, + BudgetsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateBudgetActionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: BudgetsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateBudgetActionRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateBudgetActionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateBudgetActionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateBudgetActionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateBudgetActionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-budgets/index.ts b/clients/client-budgets/index.ts index c901bb8b9829..c13d3ea17c7e 100644 --- a/clients/client-budgets/index.ts +++ b/clients/client-budgets/index.ts @@ -1,17 +1,32 @@ export * from "./BudgetsClient"; export * from "./Budgets"; export * from "./commands/CreateBudgetCommand"; +export * from "./commands/CreateBudgetActionCommand"; export * from "./commands/CreateNotificationCommand"; export * from "./commands/CreateSubscriberCommand"; export * from "./commands/DeleteBudgetCommand"; +export * from "./commands/DeleteBudgetActionCommand"; export * from "./commands/DeleteNotificationCommand"; export * from "./commands/DeleteSubscriberCommand"; export * from "./commands/DescribeBudgetCommand"; +export * from "./commands/DescribeBudgetActionCommand"; +export * from "./commands/DescribeBudgetActionHistoriesCommand"; +export * from "./pagination/DescribeBudgetActionHistoriesPaginator"; +export * from "./commands/DescribeBudgetActionsForAccountCommand"; +export * from "./pagination/DescribeBudgetActionsForAccountPaginator"; +export * from "./commands/DescribeBudgetActionsForBudgetCommand"; +export * from "./pagination/DescribeBudgetActionsForBudgetPaginator"; export * from "./commands/DescribeBudgetPerformanceHistoryCommand"; export * from "./commands/DescribeBudgetsCommand"; +export * from "./pagination/DescribeBudgetsPaginator"; export * from "./commands/DescribeNotificationsForBudgetCommand"; +export * from "./pagination/DescribeNotificationsForBudgetPaginator"; export * from "./commands/DescribeSubscribersForNotificationCommand"; +export * from "./pagination/DescribeSubscribersForNotificationPaginator"; +export * from "./commands/ExecuteBudgetActionCommand"; export * from "./commands/UpdateBudgetCommand"; +export * from "./commands/UpdateBudgetActionCommand"; export * from "./commands/UpdateNotificationCommand"; export * from "./commands/UpdateSubscriberCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-budgets/models/models_0.ts b/clients/client-budgets/models/models_0.ts index 76b9976c0980..adae9bce386e 100644 --- a/clients/client-budgets/models/models_0.ts +++ b/clients/client-budgets/models/models_0.ts @@ -19,6 +19,393 @@ export namespace AccessDeniedException { }); } +export enum ThresholdType { + ABSOLUTE_VALUE = "ABSOLUTE_VALUE", + PERCENTAGE = "PERCENTAGE", +} + +/** + *

              + * The trigger threshold of the action. + *

              + */ +export interface ActionThreshold { + /** + *

              The threshold of a notification.

              + */ + ActionThresholdValue: number | undefined; + + /** + *

              The type of threshold for a notification.

              + */ + ActionThresholdType: ThresholdType | string | undefined; +} + +export namespace ActionThreshold { + export const filterSensitiveLog = (obj: ActionThreshold): any => ({ + ...obj, + }); +} + +export enum ActionType { + IAM = "APPLY_IAM_POLICY", + SCP = "APPLY_SCP_POLICY", + SSM = "RUN_SSM_DOCUMENTS", +} + +export enum ApprovalModel { + AUTO = "AUTOMATIC", + MANUAL = "MANUAL", +} + +/** + *

              + * The AWS Identity and Access Management (IAM) action definition details. + *

              + */ +export interface IamActionDefinition { + /** + *

              + * The Amazon Resource Name (ARN) of the policy to be attached. + *

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

              + * A list of users to be attached. There must be at least one user. + *

              + */ + Users?: string[]; + + /** + *

              + * A list of groups to be attached. There must be at least one group. + *

              + */ + Groups?: string[]; + + /** + *

              + * A list of roles to be attached. There must be at least one role. + *

              + */ + Roles?: string[]; +} + +export namespace IamActionDefinition { + export const filterSensitiveLog = (obj: IamActionDefinition): any => ({ + ...obj, + }); +} + +/** + *

              + * The service control policies (SCP) action definition details. + *

              + */ +export interface ScpActionDefinition { + /** + *

              + * The policy ID attached. + *

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

              + * A list of target IDs. + *

              + */ + TargetIds: string[] | undefined; +} + +export namespace ScpActionDefinition { + export const filterSensitiveLog = (obj: ScpActionDefinition): any => ({ + ...obj, + }); +} + +export enum ActionSubType { + STOP_EC2 = "STOP_EC2_INSTANCES", + STOP_RDS = "STOP_RDS_INSTANCES", +} + +/** + *

              + * The AWS Systems Manager (SSM) action definition details. + *

              + */ +export interface SsmActionDefinition { + /** + *

              + * The Region to run the SSM document. + *

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

              + * The EC2 and RDS instance IDs. + *

              + */ + InstanceIds: string[] | undefined; + + /** + *

              + * The action subType. + *

              + */ + ActionSubType: ActionSubType | string | undefined; +} + +export namespace SsmActionDefinition { + export const filterSensitiveLog = (obj: SsmActionDefinition): any => ({ + ...obj, + }); +} + +/** + *

              + * Specifies all of the type-specific parameters. + *

              + */ +export interface Definition { + /** + *

              + * The AWS Identity and Access Management (IAM) action definition details. + *

              + */ + IamActionDefinition?: IamActionDefinition; + + /** + *

              + * The AWS Systems Manager (SSM) action definition details. + *

              + */ + SsmActionDefinition?: SsmActionDefinition; + + /** + *

              + * The service control policies (SCPs) action definition details. + *

              + */ + ScpActionDefinition?: ScpActionDefinition; +} + +export namespace Definition { + export const filterSensitiveLog = (obj: Definition): any => ({ + ...obj, + }); +} + +export enum NotificationType { + ACTUAL = "ACTUAL", + FORECASTED = "FORECASTED", +} + +export enum ActionStatus { + Execution_Failure = "EXECUTION_FAILURE", + Execution_In_Progress = "EXECUTION_IN_PROGRESS", + Execution_Success = "EXECUTION_SUCCESS", + Pending = "PENDING", + Reset_Failure = "RESET_FAILURE", + Reset_In_Progress = "RESET_IN_PROGRESS", + Reverse_Failure = "REVERSE_FAILURE", + Reverse_In_Progress = "REVERSE_IN_PROGRESS", + Reverse_Success = "REVERSE_SUCCESS", + Standby = "STANDBY", +} + +export enum SubscriptionType { + EMAIL = "EMAIL", + SNS = "SNS", +} + +/** + *

              The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.

              + *

              For example, an email subscriber would have the following parameters:

              + *
                + *
              • + *

                A subscriptionType of EMAIL + *

                + *
              • + *
              • + *

                An address of example@example.com + *

                + *
              • + *
              + */ +export interface Subscriber { + /** + *

              The address that AWS sends budget notifications to, either an SNS topic or an email.

              + *

              When you create a subscriber, the value of Address can't contain line breaks.

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

              The type of notification that AWS sends to a subscriber.

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

              + * A budget action resource. + *

              + */ +export interface Action { + /** + *

              + * Where you specify all of the type-specific parameters. + *

              + */ + Definition: Definition | undefined; + + /** + *

              + * This specifies if the action needs manual or automatic approval. + *

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

              + * A system-generated universally unique identifier (UUID) for the action. + *

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

              A list of subscribers.

              + */ + Subscribers: Subscriber[] | undefined; + + /** + *

              + * The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition. + *

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

              + * The role passed for action execution and reversion. Roles and actions must be in the same account. + *

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

              + * The status of action. + *

              + */ + Status: ActionStatus | string | undefined; + + /** + *

              The type of a notification. It must be ACTUAL or FORECASTED.

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

              + * The trigger threshold of the action. + *

              + */ + ActionThreshold: ActionThreshold | undefined; + + /** + *

              A string that represents the budget name. The ":" and "\" characters aren't allowed.

              + */ + BudgetName: string | undefined; +} + +export namespace Action { + export const filterSensitiveLog = (obj: Action): any => ({ + ...obj, + ...(obj.Subscribers && { Subscribers: obj.Subscribers.map((item) => Subscriber.filterSensitiveLog(item)) }), + }); +} + +/** + *

              + * The description of details of the event. + *

              + */ +export interface ActionHistoryDetails { + /** + *

              + * The budget action resource. + *

              + */ + Action: Action | undefined; + + /** + *

              A generic string.

              + */ + Message: string | undefined; +} + +export namespace ActionHistoryDetails { + export const filterSensitiveLog = (obj: ActionHistoryDetails): any => ({ + ...obj, + }); +} + +export enum EventType { + CreateAction = "CREATE_ACTION", + DeleteAction = "DELETE_ACTION", + ExecuteAction = "EXECUTE_ACTION", + System = "SYSTEM", + UpdateAction = "UPDATE_ACTION", +} + +/** + *

              + * The historical records for a budget action. + *

              + */ +export interface ActionHistory { + /** + *

              + * The status of action at the time of the event. + *

              + */ + Status: ActionStatus | string | undefined; + + /** + *

              + * This distinguishes between whether the events are triggered by the user or generated by the system. + *

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

              + * The description of details of the event. + *

              + */ + ActionHistoryDetails: ActionHistoryDetails | undefined; + + /** + *

              A generic time stamp. In Java, it is transformed to a Date object.

              + */ + Timestamp: Date | undefined; +} + +export namespace ActionHistory { + export const filterSensitiveLog = (obj: ActionHistory): any => ({ + ...obj, + }); +} + /** *

              The amount of cost or usage that is measured for a budget.

              *

              For example, a Spend for 3 GB of S3 usage would have the following parameters:

              @@ -35,14 +422,14 @@ export namespace AccessDeniedException { */ export interface Spend { /** - *

              The cost or usage amount that is associated with a budget forecast, actual spend, or budget threshold.

              + *

              The unit of measurement that is used for the budget forecast, actual spend, or budget threshold, such as dollars or GB.

              */ - Amount: string | undefined; + Unit: string | undefined; /** - *

              The unit of measurement that is used for the budget forecast, actual spend, or budget threshold, such as dollars or GB.

              + *

              The cost or usage amount that is associated with a budget forecast, actual spend, or budget threshold.

              */ - Unit: string | undefined; + Amount: string | undefined; } export namespace Spend { @@ -61,19 +448,19 @@ export enum BudgetType { } /** - *

              The spend objects that are associated with this budget. The actualSpend tracks how much you've used, cost, usage, or RI units, and the forecastedSpend tracks how much you are predicted to spend if your current usage remains steady.

              + *

              The spend objects that are associated with this budget. The actualSpend tracks how much you've used, cost, usage, RI units, or Savings Plans units and the forecastedSpend tracks how much you are predicted to spend based on your historical usage profile.

              *

              For example, if it is the 20th of the month and you have spent 50 dollars on Amazon EC2, your actualSpend is 50 USD, and your forecastedSpend is 75 USD.

              */ export interface CalculatedSpend { /** - *

              The amount of cost, usage, or RI units that you are forecasted to use.

              + *

              The amount of cost, usage, RI units, or Savings Plans units that you have used.

              */ - ForecastedSpend?: Spend; + ActualSpend: Spend | undefined; /** - *

              The amount of cost, usage, or RI units that you have used.

              + *

              The amount of cost, usage, RI units, or Savings Plans units that you are forecasted to use.

              */ - ActualSpend: Spend | undefined; + ForecastedSpend?: Spend; } export namespace CalculatedSpend { @@ -85,44 +472,50 @@ export namespace CalculatedSpend { /** *

              The types of cost that are included in a COST budget, such as tax and subscriptions.

              *

              - * USAGE, RI_UTILIZATION, and RI_COVERAGE budgets do not have CostTypes.

              + * USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE budgets do not have CostTypes.

              */ export interface CostTypes { /** - *

              Specifies whether a budget includes upfront RI costs.

              + *

              Specifies whether a budget includes discounts.

              *

              The default value is true.

              */ - IncludeUpfront?: boolean; + IncludeDiscount?: boolean; /** - *

              Specifies whether a budget includes subscriptions.

              + *

              Specifies whether a budget includes credits.

              *

              The default value is true.

              */ - IncludeSubscription?: boolean; + IncludeCredit?: boolean; /** - *

              Specifies whether a budget includes credits.

              + *

              Specifies whether a budget includes refunds.

              *

              The default value is true.

              */ - IncludeCredit?: boolean; + IncludeRefund?: boolean; /** - *

              Specifies whether a budget includes discounts.

              + *

              Specifies whether a budget includes upfront RI costs.

              *

              The default value is true.

              */ - IncludeDiscount?: boolean; + IncludeUpfront?: boolean; /** - *

              Specifies whether a budget includes refunds.

              + *

              Specifies whether a budget uses a blended rate.

              + *

              The default value is false.

              + */ + UseBlended?: boolean; + + /** + *

              Specifies whether a budget includes non-RI subscription costs.

              *

              The default value is true.

              */ - IncludeRefund?: boolean; + IncludeOtherSubscription?: boolean; /** - *

              Specifies whether a budget includes recurring fees such as monthly RI fees.

              + *

              Specifies whether a budget includes taxes.

              *

              The default value is true.

              */ - IncludeRecurring?: boolean; + IncludeTax?: boolean; /** *

              Specifies whether a budget uses the amortized rate.

              @@ -131,10 +524,10 @@ export interface CostTypes { UseAmortized?: boolean; /** - *

              Specifies whether a budget includes non-RI subscription costs.

              + *

              Specifies whether a budget includes recurring fees such as monthly RI fees.

              *

              The default value is true.

              */ - IncludeOtherSubscription?: boolean; + IncludeRecurring?: boolean; /** *

              Specifies whether a budget includes support subscription fees.

              @@ -143,16 +536,10 @@ export interface CostTypes { IncludeSupport?: boolean; /** - *

              Specifies whether a budget uses a blended rate.

              - *

              The default value is false.

              - */ - UseBlended?: boolean; - - /** - *

              Specifies whether a budget includes taxes.

              + *

              Specifies whether a budget includes subscriptions.

              *

              The default value is true.

              */ - IncludeTax?: boolean; + IncludeSubscription?: boolean; } export namespace CostTypes { @@ -195,22 +582,54 @@ export enum TimeUnit { *

              Represents the output of the CreateBudget operation. The content consists of the detailed metadata and data file information, and the current status of the budget object.

              *

              This is the ARN pattern for a budget:

              *

              - * arn:aws:budgetservice::AccountId:budget/budgetName + * arn:aws:budgets::AccountId:budget/budgetName *

              */ export interface Budget { /** - *

              The types of costs that are included in this COST budget.

              + *

              The actual and forecasted cost or usage that the budget tracks.

              + */ + CalculatedSpend?: CalculatedSpend; + + /** + *

              A map containing multiple BudgetLimit, including current or future limits.

              + *

              + * PlannedBudgetLimits is available for cost or usage budget and supports monthly and quarterly TimeUnit.

              + *

              For monthly budgets, provide 12 months of PlannedBudgetLimits values. This must start from the current month and include the next 11 months. The key is the start of the month, UTC in epoch seconds.

              + *

              For quarterly budgets, provide 4 quarters of PlannedBudgetLimits value entries in standard calendar quarter increments. This must start from the current quarter and include the next 3 quarters. The key is the start of the quarter, UTC in epoch seconds.

              + *

              If the planned budget expires before 12 months for monthly or 4 quarters for quarterly, provide the PlannedBudgetLimits values only for the remaining periods.

              + *

              If the budget begins at a date in the future, provide PlannedBudgetLimits values from the start date of the budget.

              + *

              After all of the BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use the last limit as the BudgetLimit. At that point, the planned budget provides the same experience as a fixed budget.

              *

              - * USAGE, RI_UTILIZATION, RI_COVERAGE, Savings_Plans_Utilization, and Savings_Plans_Coverage budgets do not have CostTypes.

              + * DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits will also contain BudgetLimit representing the current month or quarter limit present in PlannedBudgetLimits. This only applies to budgets created with PlannedBudgetLimits. Budgets created without PlannedBudgetLimits will only contain BudgetLimit, and no PlannedBudgetLimits.

              */ - CostTypes?: CostTypes; + PlannedBudgetLimits?: { [key: string]: Spend }; /** - *

              The length of time until a budget resets the actual and forecasted spend. DAILY is available only for RI_UTILIZATION, RI_COVERAGE, Savings_Plans_Utilization, and Savings_Plans_Coverage budgets.

              + *

              The length of time until a budget resets the actual and forecasted spend.

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

              The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. The end date must come before 06/15/87 00:00 UTC.

              + *

              If you create your budget and don't specify a start date, AWS defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

              + *

              You can change either date with the UpdateBudget operation.

              + *

              After the end date, AWS deletes the budget and all associated notifications and subscribers.

              + */ + TimePeriod?: TimePeriod; + + /** + *

              Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage.

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

              The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget.

              + *

              + * BudgetLimit is required for cost or usage budgets, but optional for RI or Savings Plans utilization or coverage budgets. RI and Savings Plans utilization or coverage budgets default to 100, which is the only valid value for RI or Savings Plans utilization or coverage budgets. You can't use BudgetLimit with PlannedBudgetLimits for CreateBudget and UpdateBudget actions.

              + */ + BudgetLimit?: Spend; + /** *

              The cost filters, such as service or tag, that are applied to a budget.

              *

              AWS Budgets supports the following services as a filter for RI budgets:

              @@ -234,54 +653,22 @@ export interface Budget { */ CostFilters?: { [key: string]: string[] }; - /** - *

              The actual and forecasted cost or usage that the budget tracks.

              - */ - CalculatedSpend?: CalculatedSpend; - - /** - *

              The last time that you updated this budget.

              - */ - LastUpdatedTime?: Date; - - /** - *

              A map containing multiple BudgetLimit, including current or future limits.

              - *

              - * PlannedBudgetLimits is available for cost or usage budget and supports monthly and quarterly TimeUnit.

              - *

              For monthly budgets, provide 12 months of PlannedBudgetLimits values. This must start from the current month and include the next 11 months. The key is the start of the month, UTC in epoch seconds.

              - *

              For quarterly budgets, provide 4 quarters of PlannedBudgetLimits value entries in standard calendar quarter increments. This must start from the current quarter and include the next 3 quarters. The key is the start of the quarter, UTC in epoch seconds.

              - *

              If the planned budget expires before 12 months for monthly or 4 quarters for quarterly, provide the PlannedBudgetLimits values only for the remaining periods.

              - *

              If the budget begins at a date in the future, provide PlannedBudgetLimits values from the start date of the budget.

              - *

              After all of the BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use the last limit as the BudgetLimit. At that point, the planned budget provides the same experience as a fixed budget.

              - *

              - * DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits will also contain BudgetLimit representing the current month or quarter limit present in PlannedBudgetLimits. This only applies to budgets created with PlannedBudgetLimits. Budgets created without PlannedBudgetLimits will only contain BudgetLimit, and no PlannedBudgetLimits.

              - */ - PlannedBudgetLimits?: { [key: string]: Spend }; - /** *

              The name of a budget. The name must be unique within an account. The : and \ characters aren't allowed in BudgetName.

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

              The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget.

              + *

              The types of costs that are included in this COST budget.

              *

              - * BudgetLimit is required for cost or usage budgets, but optional for RI or Savings Plans utilization or coverage budgets. RI and Savings Plans utilization or coverage budgets default to 100, which is the only valid value for RI or Savings Plans utilization or coverage budgets. You can't use BudgetLimit with PlannedBudgetLimits for CreateBudget and UpdateBudget actions.

              - */ - BudgetLimit?: Spend; - - /** - *

              The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. The end date must come before 06/15/87 00:00 UTC.

              - *

              If you create your budget and don't specify a start date, AWS defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

              - *

              You can change either date with the UpdateBudget operation.

              - *

              After the end date, AWS deletes the budget and all associated notifications and subscribers.

              + * USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE budgets do not have CostTypes.

              */ - TimePeriod?: TimePeriod; + CostTypes?: CostTypes; /** - *

              Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage.

              + *

              The last time that you updated this budget.

              */ - BudgetType: BudgetType | string | undefined; + LastUpdatedTime?: Date; } export namespace Budget { @@ -301,18 +688,8 @@ export enum NotificationState { OK = "OK", } -export enum NotificationType { - ACTUAL = "ACTUAL", - FORECASTED = "FORECASTED", -} - -export enum ThresholdType { - ABSOLUTE_VALUE = "ABSOLUTE_VALUE", - PERCENTAGE = "PERCENTAGE", -} - /** - *

              A notification that is associated with a budget. A budget can have up to five notifications.

              + *

              A notification that is associated with a budget. A budget can have up to ten notifications.

              *

              Each notification must have at least one subscriber. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

              *

              For example, if you have a budget for 200 dollars and you want to be notified when you go over 160 dollars, create a notification with the following parameters:

              *
                @@ -336,9 +713,9 @@ export enum ThresholdType { */ export interface Notification { /** - *

                The comparison that is used for this notification.

                + *

                Whether this notification is in alarm. If a budget notification is in the ALARM state, you have passed the set threshold for the budget.

                */ - ComparisonOperator: ComparisonOperator | string | undefined; + NotificationState?: NotificationState | string; /** *

                The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, AWS notifies you when you go over or are forecasted to go over your total cost threshold. For PERCENTAGE thresholds, AWS notifies you when you go over or are forecasted to go over a certain percentage of your forecasted spend. For example, if you have a budget for 200 dollars and you have a PERCENTAGE threshold of 80%, AWS notifies you when you go over 160 dollars.

                @@ -346,19 +723,19 @@ export interface Notification { ThresholdType?: ThresholdType | string; /** - *

                Whether this notification is in alarm. If a budget notification is in the ALARM state, you have passed the set threshold for the budget.

                + *

                Whether the notification is for how much you have spent (ACTUAL) or for how much you're forecasted to spend (FORECASTED).

                */ - NotificationState?: NotificationState | string; + NotificationType: NotificationType | string | undefined; /** - *

                The threshold that is associated with a notification. Thresholds are always a percentage.

                + *

                The threshold that is associated with a notification. Thresholds are always a percentage, and many customers find value being alerted between 50% - 200% of the budgeted amount. The maximum limit for your threshold is 1,000,000% above the budgeted amount.

                */ Threshold: number | undefined; /** - *

                Whether the notification is for how much you have spent (ACTUAL) or for how much you're forecasted to spend (FORECASTED).

                + *

                The comparison that is used for this notification.

                */ - NotificationType: NotificationType | string | undefined; + ComparisonOperator: ComparisonOperator | string | undefined; } export namespace Notification { @@ -367,58 +744,19 @@ export namespace Notification { }); } -export enum SubscriptionType { - EMAIL = "EMAIL", - SNS = "SNS", -} - -/** - *

                The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.

                - *

                For example, an email subscriber would have the following parameters:

                - *
                  - *
                • - *

                  A subscriptionType of EMAIL - *

                  - *
                • - *
                • - *

                  An address of example@example.com - *

                  - *
                • - *
                - */ -export interface Subscriber { - /** - *

                The address that AWS sends budget notifications to, either an SNS topic or an email.

                - *

                When you create a subscriber, the value of Address can't contain line breaks.

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

                The type of notification that AWS sends to a subscriber.

                - */ - SubscriptionType: SubscriptionType | string | undefined; -} - -export namespace Subscriber { - export const filterSensitiveLog = (obj: Subscriber): any => ({ - ...obj, - ...(obj.Address && { Address: SENSITIVE_STRING }), - }); -} - /** *

                A notification with subscribers. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

                */ export interface NotificationWithSubscribers { /** - *

                The notification that is associated with a budget.

                + *

                A list of subscribers who are subscribed to this notification.

                */ - Notification: Notification | undefined; + Subscribers: Subscriber[] | undefined; /** - *

                A list of subscribers who are subscribed to this notification.

                + *

                The notification that is associated with a budget.

                */ - Subscribers: Subscriber[] | undefined; + Notification: Notification | undefined; } export namespace NotificationWithSubscribers { @@ -537,45 +875,91 @@ export namespace InvalidParameterException { }); } -/** - *

                Request of CreateNotification

                - */ -export interface CreateNotificationRequest { +export interface CreateBudgetActionRequest { /** - *

                A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to 10 email subscribers.

                + *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

                */ - Subscribers: Subscriber[] | undefined; + BudgetName: string | undefined; /** - *

                The notification that you want to create.

                + *

                The type of a notification. It must be ACTUAL or FORECASTED.

                */ - Notification: Notification | undefined; + NotificationType: NotificationType | string | undefined; /** - *

                The name of the budget that you want AWS to notify you about. Budget names must be unique within an account.

                + *

                + * The trigger threshold of the action. + *

                */ - BudgetName: string | undefined; + ActionThreshold: ActionThreshold | undefined; /** - *

                The accountId that is associated with the budget that you want to create a notification for.

                + *

                A list of subscribers.

                + */ + Subscribers: Subscriber[] | undefined; + + /** + *

                The account ID of the user. It should be a 12-digit number.

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

                + * The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition. + *

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

                + * This specifies if the action needs manual or automatic approval. + *

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

                + * Specifies all of the type-specific parameters. + *

                + */ + Definition: Definition | undefined; + + /** + *

                + * The role passed for action execution and reversion. Roles and actions must be in the same account. + *

                + */ + ExecutionRoleArn: string | undefined; } -export namespace CreateNotificationRequest { - export const filterSensitiveLog = (obj: CreateNotificationRequest): any => ({ +export namespace CreateBudgetActionRequest { + export const filterSensitiveLog = (obj: CreateBudgetActionRequest): any => ({ ...obj, ...(obj.Subscribers && { Subscribers: obj.Subscribers.map((item) => Subscriber.filterSensitiveLog(item)) }), }); } -/** - *

                Response of CreateNotification

                - */ -export interface CreateNotificationResponse {} +export interface CreateBudgetActionResponse { + /** + *

                The account ID of the user. It should be a 12-digit number.

                + */ + AccountId: string | undefined; -export namespace CreateNotificationResponse { - export const filterSensitiveLog = (obj: CreateNotificationResponse): any => ({ + /** + *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

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

                + * A system-generated universally unique identifier (UUID) for the action. + *

                + */ + ActionId: string | undefined; +} + +export namespace CreateBudgetActionResponse { + export const filterSensitiveLog = (obj: CreateBudgetActionResponse): any => ({ ...obj, }); } @@ -592,8 +976,51 @@ export interface NotFoundException extends __SmithyException, $MetadataBearer { Message?: string; } -export namespace NotFoundException { - export const filterSensitiveLog = (obj: NotFoundException): any => ({ +export namespace NotFoundException { + export const filterSensitiveLog = (obj: NotFoundException): any => ({ + ...obj, + }); +} + +/** + *

                Request of CreateNotification

                + */ +export interface CreateNotificationRequest { + /** + *

                The accountId that is associated with the budget that you want to create a notification for.

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

                The name of the budget that you want AWS to notify you about. Budget names must be unique within an account.

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

                A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to 10 email subscribers.

                + */ + Subscribers: Subscriber[] | undefined; + + /** + *

                The notification that you want to create.

                + */ + Notification: Notification | undefined; +} + +export namespace CreateNotificationRequest { + export const filterSensitiveLog = (obj: CreateNotificationRequest): any => ({ + ...obj, + ...(obj.Subscribers && { Subscribers: obj.Subscribers.map((item) => Subscriber.filterSensitiveLog(item)) }), + }); +} + +/** + *

                Response of CreateNotification

                + */ +export interface CreateNotificationResponse {} + +export namespace CreateNotificationResponse { + export const filterSensitiveLog = (obj: CreateNotificationResponse): any => ({ ...obj, }); } @@ -608,9 +1035,9 @@ export interface CreateSubscriberRequest { Notification: Notification | undefined; /** - *

                The subscriber that you want to associate with a budget notification.

                + *

                The name of the budget that you want to subscribe to. Budget names must be unique within an account.

                */ - Subscriber: Subscriber | undefined; + BudgetName: string | undefined; /** *

                The accountId that is associated with the budget that you want to create a subscriber for.

                @@ -618,9 +1045,9 @@ export interface CreateSubscriberRequest { AccountId: string | undefined; /** - *

                The name of the budget that you want to subscribe to. Budget names must be unique within an account.

                + *

                The subscriber that you want to associate with a budget notification.

                */ - BudgetName: string | undefined; + Subscriber: Subscriber | undefined; } export namespace CreateSubscriberRequest { @@ -646,14 +1073,14 @@ export namespace CreateSubscriberResponse { */ export interface DeleteBudgetRequest { /** - *

                The name of the budget that you want to delete.

                + *

                The accountId that is associated with the budget that you want to delete.

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

                The accountId that is associated with the budget that you want to delete.

                + *

                The name of the budget that you want to delete.

                */ - AccountId: string | undefined; + BudgetName: string | undefined; } export namespace DeleteBudgetRequest { @@ -673,14 +1100,83 @@ export namespace DeleteBudgetResponse { }); } +export interface DeleteBudgetActionRequest { + /** + *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

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

                + * A system-generated universally unique identifier (UUID) for the action. + *

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

                The account ID of the user. It should be a 12-digit number.

                + */ + AccountId: string | undefined; +} + +export namespace DeleteBudgetActionRequest { + export const filterSensitiveLog = (obj: DeleteBudgetActionRequest): any => ({ + ...obj, + }); +} + +export interface DeleteBudgetActionResponse { + /** + *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

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

                + * A budget action resource. + *

                + */ + Action: Action | undefined; + + /** + *

                The account ID of the user. It should be a 12-digit number.

                + */ + AccountId: string | undefined; +} + +export namespace DeleteBudgetActionResponse { + export const filterSensitiveLog = (obj: DeleteBudgetActionResponse): any => ({ + ...obj, + }); +} + +/** + *

                The request was received and recognized by the server, but the server rejected that + * particular method for the requested resource.

                + */ +export interface ResourceLockedException extends __SmithyException, $MetadataBearer { + name: "ResourceLockedException"; + $fault: "client"; + /** + *

                The error message the exception carries.

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

                Request of DeleteNotification

                */ export interface DeleteNotificationRequest { /** - *

                The name of the budget whose notification you want to delete.

                + *

                The accountId that is associated with the budget whose notification you want to delete.

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

                The notification that you want to delete.

                @@ -688,9 +1184,9 @@ export interface DeleteNotificationRequest { Notification: Notification | undefined; /** - *

                The accountId that is associated with the budget whose notification you want to delete.

                + *

                The name of the budget whose notification you want to delete.

                */ - AccountId: string | undefined; + BudgetName: string | undefined; } export namespace DeleteNotificationRequest { @@ -714,25 +1210,25 @@ export namespace DeleteNotificationResponse { *

                Request of DeleteSubscriber

                */ export interface DeleteSubscriberRequest { - /** - *

                The notification whose subscriber you want to delete.

                - */ - Notification: Notification | undefined; - /** *

                The name of the budget whose subscriber you want to delete.

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

                The accountId that is associated with the budget whose subscriber you want to delete.

                + *

                The notification whose subscriber you want to delete.

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

                The subscriber that you want to delete.

                */ Subscriber: Subscriber | undefined; + + /** + *

                The accountId that is associated with the budget whose subscriber you want to delete.

                + */ + AccountId: string | undefined; } export namespace DeleteSubscriberRequest { @@ -790,31 +1286,250 @@ export namespace DescribeBudgetResponse { }); } -export interface DescribeBudgetPerformanceHistoryRequest { +export interface DescribeBudgetActionRequest { + /** + *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

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

                + * A system-generated universally unique identifier (UUID) for the action. + *

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

                The account ID of the user. It should be a 12-digit number.

                + */ + AccountId: string | undefined; +} + +export namespace DescribeBudgetActionRequest { + export const filterSensitiveLog = (obj: DescribeBudgetActionRequest): any => ({ + ...obj, + }); +} + +export interface DescribeBudgetActionResponse { + /** + *

                + * A budget action resource. + *

                + */ + Action: Action | undefined; + + /** + *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

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

                The account ID of the user. It should be a 12-digit number.

                + */ + AccountId: string | undefined; +} + +export namespace DescribeBudgetActionResponse { + export const filterSensitiveLog = (obj: DescribeBudgetActionResponse): any => ({ + ...obj, + }); +} + +export interface DescribeBudgetActionHistoriesRequest { + /** + *

                The account ID of the user. It should be a 12-digit number.

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

                + * A system-generated universally unique identifier (UUID) for the action. + *

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

                An integer that represents how many entries a paginated response contains. The maximum is 100.

                + */ + MaxResults?: number; + + /** + *

                The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.

                + */ + TimePeriod?: TimePeriod; + + /** + *

                A generic string.

                + */ + NextToken?: string; + + /** + *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

                + */ + BudgetName: string | undefined; +} + +export namespace DescribeBudgetActionHistoriesRequest { + export const filterSensitiveLog = (obj: DescribeBudgetActionHistoriesRequest): any => ({ + ...obj, + }); +} + +export interface DescribeBudgetActionHistoriesResponse { + /** + *

                A generic string.

                + */ + NextToken?: string; + + /** + *

                + * The historical record of the budget action resource. + *

                + */ + ActionHistories: ActionHistory[] | undefined; +} + +export namespace DescribeBudgetActionHistoriesResponse { + export const filterSensitiveLog = (obj: DescribeBudgetActionHistoriesResponse): any => ({ + ...obj, + }); +} + +/** + *

                The pagination token is invalid.

                + */ +export interface InvalidNextTokenException extends __SmithyException, $MetadataBearer { + name: "InvalidNextTokenException"; + $fault: "client"; + /** + *

                The error message the exception carries.

                + */ + Message?: string; +} + +export namespace InvalidNextTokenException { + export const filterSensitiveLog = (obj: InvalidNextTokenException): any => ({ + ...obj, + }); +} + +export interface DescribeBudgetActionsForAccountRequest { + /** + *

                A generic string.

                + */ + NextToken?: string; + + /** + *

                An integer that represents how many entries a paginated response contains. The maximum is 100.

                + */ + MaxResults?: number; + + /** + *

                The account ID of the user. It should be a 12-digit number.

                + */ + AccountId: string | undefined; +} + +export namespace DescribeBudgetActionsForAccountRequest { + export const filterSensitiveLog = (obj: DescribeBudgetActionsForAccountRequest): any => ({ + ...obj, + }); +} + +export interface DescribeBudgetActionsForAccountResponse { + /** + *

                + * A list of the budget action resources information. + *

                + */ + Actions: Action[] | undefined; + + /** + *

                A generic string.

                + */ + NextToken?: string; +} + +export namespace DescribeBudgetActionsForAccountResponse { + export const filterSensitiveLog = (obj: DescribeBudgetActionsForAccountResponse): any => ({ + ...obj, + }); +} + +export interface DescribeBudgetActionsForBudgetRequest { /** *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

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

                An integer that represents how many entries a paginated response contains. The maximum is 100.

                + */ + MaxResults?: number; + + /** + *

                A generic string.

                + */ + NextToken?: string; + + /** + *

                The account ID of the user. It should be a 12-digit number.

                + */ + AccountId: string | undefined; +} + +export namespace DescribeBudgetActionsForBudgetRequest { + export const filterSensitiveLog = (obj: DescribeBudgetActionsForBudgetRequest): any => ({ + ...obj, + }); +} + +export interface DescribeBudgetActionsForBudgetResponse { + /** + *

                + * A list of the budget action resources information. + *

                + */ + Actions: Action[] | undefined; + /** *

                A generic string.

                */ NextToken?: string; +} + +export namespace DescribeBudgetActionsForBudgetResponse { + export const filterSensitiveLog = (obj: DescribeBudgetActionsForBudgetResponse): any => ({ + ...obj, + }); +} +export interface DescribeBudgetPerformanceHistoryRequest { /** *

                An integer that represents how many entries a paginated response contains. The maximum is 100.

                */ MaxResults?: number; + /** + *

                The account ID of the user. It should be a 12-digit number.

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

                Retrieves how often the budget went into an ALARM state for the specified time period.

                */ TimePeriod?: TimePeriod; /** - *

                The account ID of the user. It should be a 12-digit number.

                + *

                A generic string.

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

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

                + */ + BudgetName: string | undefined; } export namespace DescribeBudgetPerformanceHistoryRequest { @@ -828,9 +1543,9 @@ export namespace DescribeBudgetPerformanceHistoryRequest { */ export interface BudgetedAndActualAmounts { /** - *

                Your actual costs or usage for a budget period.

                + *

                The time period covered by this budget comparison.

                */ - ActualAmount?: Spend; + TimePeriod?: TimePeriod; /** *

                The amount of cost or usage that you created the budget for.

                @@ -838,9 +1553,9 @@ export interface BudgetedAndActualAmounts { BudgetedAmount?: Spend; /** - *

                The time period covered by this budget comparison.

                + *

                Your actual costs or usage for a budget period.

                */ - TimePeriod?: TimePeriod; + ActualAmount?: Spend; } export namespace BudgetedAndActualAmounts { @@ -864,26 +1579,26 @@ export interface BudgetPerformanceHistory { BudgetedAndActualAmountsList?: BudgetedAndActualAmounts[]; /** - *

                The time unit of the budget, such as MONTHLY or QUARTERLY.

                + *

                The type of a budget. It must be one of the following types:

                + *

                + * COST, USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, or SAVINGS_PLANS_COVERAGE.

                */ - TimeUnit?: TimeUnit | string; + BudgetType?: BudgetType | string; /** - *

                The history of the cost filters for a budget during the specified time period.

                + *

                The history of the cost types for a budget during the specified time period.

                */ - CostFilters?: { [key: string]: string[] }; + CostTypes?: CostTypes; /** - *

                The history of the cost types for a budget during the specified time period.

                + *

                The time unit of the budget, such as MONTHLY or QUARTERLY.

                */ - CostTypes?: CostTypes; + TimeUnit?: TimeUnit | string; /** - *

                The type of a budget. It must be one of the following types:

                - *

                - * COST, USAGE, RI_UTILIZATION, or RI_COVERAGE.

                + *

                The history of the cost filters for a budget during the specified time period.

                */ - BudgetType?: BudgetType | string; + CostFilters?: { [key: string]: string[] }; } export namespace BudgetPerformanceHistory { @@ -894,15 +1609,15 @@ export namespace BudgetPerformanceHistory { export interface DescribeBudgetPerformanceHistoryResponse { /** - *

                A generic string.

                + *

                The history of how often the budget has gone into an ALARM state.

                + *

                For DAILY budgets, the history saves the state of the budget for the last 60 days. For MONTHLY budgets, the history saves the state of the budget for the current month plus the last 12 months. For QUARTERLY budgets, the history saves the state of the budget for the last four quarters.

                */ - NextToken?: string; + BudgetPerformanceHistory?: BudgetPerformanceHistory; /** - *

                The history of how often the budget has gone into an ALARM state.

                - *

                For DAILY budgets, the history saves the state of the budget for the last 60 days. For MONTHLY budgets, the history saves the state of the budget for the current month plus the last 12 months. For QUARTERLY budgets, the history saves the state of the budget for the last four quarters.

                + *

                A generic string.

                */ - BudgetPerformanceHistory?: BudgetPerformanceHistory; + NextToken?: string; } export namespace DescribeBudgetPerformanceHistoryResponse { @@ -929,24 +1644,6 @@ export namespace ExpiredNextTokenException { }); } -/** - *

                The pagination token is invalid.

                - */ -export interface InvalidNextTokenException extends __SmithyException, $MetadataBearer { - name: "InvalidNextTokenException"; - $fault: "client"; - /** - *

                The error message the exception carries.

                - */ - Message?: string; -} - -export namespace InvalidNextTokenException { - export const filterSensitiveLog = (obj: InvalidNextTokenException): any => ({ - ...obj, - }); -} - /** *

                Request of DescribeBudgets

                */ @@ -957,14 +1654,14 @@ export interface DescribeBudgetsRequest { AccountId: string | undefined; /** - *

                The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

                + *

                An optional integer that represents how many entries a paginated response contains. The maximum is 100.

                */ - NextToken?: string; + MaxResults?: number; /** - *

                An optional integer that represents how many entries a paginated response contains. The maximum is 100.

                + *

                The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

                */ - MaxResults?: number; + NextToken?: string; } export namespace DescribeBudgetsRequest { @@ -978,14 +1675,14 @@ export namespace DescribeBudgetsRequest { */ export interface DescribeBudgetsResponse { /** - *

                The pagination token in the service response that indicates the next set of results that you can retrieve.

                + *

                A list of budgets.

                */ - NextToken?: string; + Budgets?: Budget[]; /** - *

                A list of budgets.

                + *

                The pagination token in the service response that indicates the next set of results that you can retrieve.

                */ - Budgets?: Budget[]; + NextToken?: string; } export namespace DescribeBudgetsResponse { @@ -1009,14 +1706,14 @@ export interface DescribeNotificationsForBudgetRequest { MaxResults?: number; /** - *

                The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

                + *

                The name of the budget whose notifications you want descriptions of.

                */ - NextToken?: string; + BudgetName: string | undefined; /** - *

                The name of the budget whose notifications you want descriptions of.

                + *

                The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

                */ - BudgetName: string | undefined; + NextToken?: string; } export namespace DescribeNotificationsForBudgetRequest { @@ -1030,14 +1727,14 @@ export namespace DescribeNotificationsForBudgetRequest { */ export interface DescribeNotificationsForBudgetResponse { /** - *

                The pagination token in the service response that indicates the next set of results that you can retrieve.

                + *

                A list of notifications that are associated with a budget.

                */ - NextToken?: string; + Notifications?: Notification[]; /** - *

                A list of notifications that are associated with a budget.

                + *

                The pagination token in the service response that indicates the next set of results that you can retrieve.

                */ - Notifications?: Notification[]; + NextToken?: string; } export namespace DescribeNotificationsForBudgetResponse { @@ -1050,21 +1747,11 @@ export namespace DescribeNotificationsForBudgetResponse { *

                Request of DescribeSubscribersForNotification

                */ export interface DescribeSubscribersForNotificationRequest { - /** - *

                The accountId that is associated with the budget whose subscribers you want descriptions of.

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

                The notification whose subscribers you want to list.

                */ Notification: Notification | undefined; - /** - *

                The name of the budget whose subscribers you want descriptions of.

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

                The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

                */ @@ -1074,6 +1761,16 @@ export interface DescribeSubscribersForNotificationRequest { *

                An optional integer that represents how many entries a paginated response contains. The maximum is 100.

                */ MaxResults?: number; + + /** + *

                The name of the budget whose subscribers you want descriptions of.

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

                The accountId that is associated with the budget whose subscribers you want descriptions of.

                + */ + AccountId: string | undefined; } export namespace DescribeSubscribersForNotificationRequest { @@ -1087,14 +1784,14 @@ export namespace DescribeSubscribersForNotificationRequest { */ export interface DescribeSubscribersForNotificationResponse { /** - *

                The pagination token in the service response that indicates the next set of results that you can retrieve.

                + *

                A list of subscribers that are associated with a notification.

                */ - NextToken?: string; + Subscribers?: Subscriber[]; /** - *

                A list of subscribers that are associated with a notification.

                + *

                The pagination token in the service response that indicates the next set of results that you can retrieve.

                */ - Subscribers?: Subscriber[]; + NextToken?: string; } export namespace DescribeSubscribersForNotificationResponse { @@ -1104,6 +1801,77 @@ export namespace DescribeSubscribersForNotificationResponse { }); } +export enum ExecutionType { + ApproveBudgetAction = "APPROVE_BUDGET_ACTION", + ResetBudgetAction = "RESET_BUDGET_ACTION", + RetryBudgetAction = "RETRY_BUDGET_ACTION", + ReverseBudgetAction = "REVERSE_BUDGET_ACTION", +} + +export interface ExecuteBudgetActionRequest { + /** + *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

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

                + * A system-generated universally unique identifier (UUID) for the action. + *

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

                + * The type of execution. + *

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

                The account ID of the user. It should be a 12-digit number.

                + */ + AccountId: string | undefined; +} + +export namespace ExecuteBudgetActionRequest { + export const filterSensitiveLog = (obj: ExecuteBudgetActionRequest): any => ({ + ...obj, + }); +} + +export interface ExecuteBudgetActionResponse { + /** + *

                + * A system-generated universally unique identifier (UUID) for the action. + *

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

                The account ID of the user. It should be a 12-digit number.

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

                + * The type of execution. + *

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

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

                + */ + BudgetName: string | undefined; +} + +export namespace ExecuteBudgetActionResponse { + export const filterSensitiveLog = (obj: ExecuteBudgetActionResponse): any => ({ + ...obj, + }); +} + /** *

                Request of UpdateBudget

                */ @@ -1136,19 +1904,115 @@ export namespace UpdateBudgetResponse { }); } +export interface UpdateBudgetActionRequest { + /** + *

                The account ID of the user. It should be a 12-digit number.

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

                + * A system-generated universally unique identifier (UUID) for the action. + *

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

                + * This specifies if the action needs manual or automatic approval. + *

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

                The type of a notification. It must be ACTUAL or FORECASTED.

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

                + * The trigger threshold of the action. + *

                + */ + ActionThreshold?: ActionThreshold; + + /** + *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

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

                A list of subscribers.

                + */ + Subscribers?: Subscriber[]; + + /** + *

                + * Specifies all of the type-specific parameters. + *

                + */ + Definition?: Definition; + + /** + *

                + * The role passed for action execution and reversion. Roles and actions must be in the same account. + *

                + */ + ExecutionRoleArn?: string; +} + +export namespace UpdateBudgetActionRequest { + export const filterSensitiveLog = (obj: UpdateBudgetActionRequest): any => ({ + ...obj, + ...(obj.Subscribers && { Subscribers: obj.Subscribers.map((item) => Subscriber.filterSensitiveLog(item)) }), + }); +} + +export interface UpdateBudgetActionResponse { + /** + *

                + * The updated action resource information. + *

                + */ + NewAction: Action | undefined; + + /** + *

                A string that represents the budget name. The ":" and "\" characters aren't allowed.

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

                + * The previous action resource information. + *

                + */ + OldAction: Action | undefined; + + /** + *

                The account ID of the user. It should be a 12-digit number.

                + */ + AccountId: string | undefined; +} + +export namespace UpdateBudgetActionResponse { + export const filterSensitiveLog = (obj: UpdateBudgetActionResponse): any => ({ + ...obj, + }); +} + /** *

                Request of UpdateNotification

                */ export interface UpdateNotificationRequest { /** - *

                The accountId that is associated with the budget whose notification you want to update.

                + *

                The previous notification that is associated with a budget.

                */ - AccountId: string | undefined; + OldNotification: Notification | undefined; /** - *

                The previous notification that is associated with a budget.

                + *

                The updated notification to be associated with a budget.

                */ - OldNotification: Notification | undefined; + NewNotification: Notification | undefined; /** *

                The name of the budget whose notification you want to update.

                @@ -1156,9 +2020,9 @@ export interface UpdateNotificationRequest { BudgetName: string | undefined; /** - *

                The updated notification to be associated with a budget.

                + *

                The accountId that is associated with the budget whose notification you want to update.

                */ - NewNotification: Notification | undefined; + AccountId: string | undefined; } export namespace UpdateNotificationRequest { @@ -1188,14 +2052,14 @@ export interface UpdateSubscriberRequest { BudgetName: string | undefined; /** - *

                The accountId that is associated with the budget whose subscriber you want to update.

                + *

                The notification whose subscriber you want to update.

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

                The notification whose subscriber you want to update.

                + *

                The updated subscriber that is associated with a budget notification.

                */ - Notification: Notification | undefined; + NewSubscriber: Subscriber | undefined; /** *

                The previous subscriber that is associated with a budget notification.

                @@ -1203,16 +2067,16 @@ export interface UpdateSubscriberRequest { OldSubscriber: Subscriber | undefined; /** - *

                The updated subscriber that is associated with a budget notification.

                + *

                The accountId that is associated with the budget whose subscriber you want to update.

                */ - NewSubscriber: Subscriber | undefined; + AccountId: string | undefined; } export namespace UpdateSubscriberRequest { export const filterSensitiveLog = (obj: UpdateSubscriberRequest): any => ({ ...obj, - ...(obj.OldSubscriber && { OldSubscriber: Subscriber.filterSensitiveLog(obj.OldSubscriber) }), ...(obj.NewSubscriber && { NewSubscriber: Subscriber.filterSensitiveLog(obj.NewSubscriber) }), + ...(obj.OldSubscriber && { OldSubscriber: Subscriber.filterSensitiveLog(obj.OldSubscriber) }), }); } diff --git a/clients/client-budgets/pagination/DescribeBudgetActionHistoriesPaginator.ts b/clients/client-budgets/pagination/DescribeBudgetActionHistoriesPaginator.ts new file mode 100644 index 000000000000..a417c3591582 --- /dev/null +++ b/clients/client-budgets/pagination/DescribeBudgetActionHistoriesPaginator.ts @@ -0,0 +1,51 @@ +import { Budgets } from "../Budgets"; +import { BudgetsClient } from "../BudgetsClient"; +import { + DescribeBudgetActionHistoriesCommand, + DescribeBudgetActionHistoriesCommandInput, + DescribeBudgetActionHistoriesCommandOutput, +} from "../commands/DescribeBudgetActionHistoriesCommand"; +import { BudgetsPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: BudgetsClient, + input: DescribeBudgetActionHistoriesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeBudgetActionHistoriesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Budgets, + input: DescribeBudgetActionHistoriesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeBudgetActionHistories(input, ...args); +}; +export async function* describeBudgetActionHistoriesPaginate( + config: BudgetsPaginationConfiguration, + input: DescribeBudgetActionHistoriesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeBudgetActionHistoriesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Budgets) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof BudgetsClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Budgets | BudgetsClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-budgets/pagination/DescribeBudgetActionsForAccountPaginator.ts b/clients/client-budgets/pagination/DescribeBudgetActionsForAccountPaginator.ts new file mode 100644 index 000000000000..9528eeccd78e --- /dev/null +++ b/clients/client-budgets/pagination/DescribeBudgetActionsForAccountPaginator.ts @@ -0,0 +1,51 @@ +import { Budgets } from "../Budgets"; +import { BudgetsClient } from "../BudgetsClient"; +import { + DescribeBudgetActionsForAccountCommand, + DescribeBudgetActionsForAccountCommandInput, + DescribeBudgetActionsForAccountCommandOutput, +} from "../commands/DescribeBudgetActionsForAccountCommand"; +import { BudgetsPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: BudgetsClient, + input: DescribeBudgetActionsForAccountCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeBudgetActionsForAccountCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Budgets, + input: DescribeBudgetActionsForAccountCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeBudgetActionsForAccount(input, ...args); +}; +export async function* describeBudgetActionsForAccountPaginate( + config: BudgetsPaginationConfiguration, + input: DescribeBudgetActionsForAccountCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeBudgetActionsForAccountCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Budgets) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof BudgetsClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Budgets | BudgetsClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-budgets/pagination/DescribeBudgetActionsForBudgetPaginator.ts b/clients/client-budgets/pagination/DescribeBudgetActionsForBudgetPaginator.ts new file mode 100644 index 000000000000..bdd4a4e07fec --- /dev/null +++ b/clients/client-budgets/pagination/DescribeBudgetActionsForBudgetPaginator.ts @@ -0,0 +1,51 @@ +import { Budgets } from "../Budgets"; +import { BudgetsClient } from "../BudgetsClient"; +import { + DescribeBudgetActionsForBudgetCommand, + DescribeBudgetActionsForBudgetCommandInput, + DescribeBudgetActionsForBudgetCommandOutput, +} from "../commands/DescribeBudgetActionsForBudgetCommand"; +import { BudgetsPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: BudgetsClient, + input: DescribeBudgetActionsForBudgetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeBudgetActionsForBudgetCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Budgets, + input: DescribeBudgetActionsForBudgetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeBudgetActionsForBudget(input, ...args); +}; +export async function* describeBudgetActionsForBudgetPaginate( + config: BudgetsPaginationConfiguration, + input: DescribeBudgetActionsForBudgetCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeBudgetActionsForBudgetCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Budgets) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof BudgetsClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Budgets | BudgetsClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-budgets/pagination/DescribeBudgetsPaginator.ts b/clients/client-budgets/pagination/DescribeBudgetsPaginator.ts new file mode 100644 index 000000000000..7fb7c2aa0561 --- /dev/null +++ b/clients/client-budgets/pagination/DescribeBudgetsPaginator.ts @@ -0,0 +1,51 @@ +import { Budgets } from "../Budgets"; +import { BudgetsClient } from "../BudgetsClient"; +import { + DescribeBudgetsCommand, + DescribeBudgetsCommandInput, + DescribeBudgetsCommandOutput, +} from "../commands/DescribeBudgetsCommand"; +import { BudgetsPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: BudgetsClient, + input: DescribeBudgetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeBudgetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Budgets, + input: DescribeBudgetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeBudgets(input, ...args); +}; +export async function* describeBudgetsPaginate( + config: BudgetsPaginationConfiguration, + input: DescribeBudgetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeBudgetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Budgets) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof BudgetsClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Budgets | BudgetsClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-budgets/pagination/DescribeNotificationsForBudgetPaginator.ts b/clients/client-budgets/pagination/DescribeNotificationsForBudgetPaginator.ts new file mode 100644 index 000000000000..eb890a15688c --- /dev/null +++ b/clients/client-budgets/pagination/DescribeNotificationsForBudgetPaginator.ts @@ -0,0 +1,51 @@ +import { Budgets } from "../Budgets"; +import { BudgetsClient } from "../BudgetsClient"; +import { + DescribeNotificationsForBudgetCommand, + DescribeNotificationsForBudgetCommandInput, + DescribeNotificationsForBudgetCommandOutput, +} from "../commands/DescribeNotificationsForBudgetCommand"; +import { BudgetsPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: BudgetsClient, + input: DescribeNotificationsForBudgetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeNotificationsForBudgetCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Budgets, + input: DescribeNotificationsForBudgetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeNotificationsForBudget(input, ...args); +}; +export async function* describeNotificationsForBudgetPaginate( + config: BudgetsPaginationConfiguration, + input: DescribeNotificationsForBudgetCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeNotificationsForBudgetCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Budgets) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof BudgetsClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Budgets | BudgetsClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-budgets/pagination/DescribeSubscribersForNotificationPaginator.ts b/clients/client-budgets/pagination/DescribeSubscribersForNotificationPaginator.ts new file mode 100644 index 000000000000..207e07190886 --- /dev/null +++ b/clients/client-budgets/pagination/DescribeSubscribersForNotificationPaginator.ts @@ -0,0 +1,51 @@ +import { Budgets } from "../Budgets"; +import { BudgetsClient } from "../BudgetsClient"; +import { + DescribeSubscribersForNotificationCommand, + DescribeSubscribersForNotificationCommandInput, + DescribeSubscribersForNotificationCommandOutput, +} from "../commands/DescribeSubscribersForNotificationCommand"; +import { BudgetsPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: BudgetsClient, + input: DescribeSubscribersForNotificationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeSubscribersForNotificationCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Budgets, + input: DescribeSubscribersForNotificationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSubscribersForNotification(input, ...args); +}; +export async function* describeSubscribersForNotificationPaginate( + config: BudgetsPaginationConfiguration, + input: DescribeSubscribersForNotificationCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeSubscribersForNotificationCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Budgets) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof BudgetsClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Budgets | BudgetsClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-budgets/pagination/Interfaces.ts b/clients/client-budgets/pagination/Interfaces.ts new file mode 100644 index 000000000000..03ca70f79531 --- /dev/null +++ b/clients/client-budgets/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { Budgets } from "../Budgets"; +import { BudgetsClient } from "../BudgetsClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface BudgetsPaginationConfiguration extends PaginationConfiguration { + client: Budgets | BudgetsClient; +} diff --git a/clients/client-budgets/protocols/Aws_json1_1.ts b/clients/client-budgets/protocols/Aws_json1_1.ts index 27d95d16b0b3..06f403a67acb 100644 --- a/clients/client-budgets/protocols/Aws_json1_1.ts +++ b/clients/client-budgets/protocols/Aws_json1_1.ts @@ -1,9 +1,27 @@ +import { CreateBudgetActionCommandInput, CreateBudgetActionCommandOutput } from "../commands/CreateBudgetActionCommand"; import { CreateBudgetCommandInput, CreateBudgetCommandOutput } from "../commands/CreateBudgetCommand"; import { CreateNotificationCommandInput, CreateNotificationCommandOutput } from "../commands/CreateNotificationCommand"; import { CreateSubscriberCommandInput, CreateSubscriberCommandOutput } from "../commands/CreateSubscriberCommand"; +import { DeleteBudgetActionCommandInput, DeleteBudgetActionCommandOutput } from "../commands/DeleteBudgetActionCommand"; import { DeleteBudgetCommandInput, DeleteBudgetCommandOutput } from "../commands/DeleteBudgetCommand"; import { DeleteNotificationCommandInput, DeleteNotificationCommandOutput } from "../commands/DeleteNotificationCommand"; import { DeleteSubscriberCommandInput, DeleteSubscriberCommandOutput } from "../commands/DeleteSubscriberCommand"; +import { + DescribeBudgetActionCommandInput, + DescribeBudgetActionCommandOutput, +} from "../commands/DescribeBudgetActionCommand"; +import { + DescribeBudgetActionHistoriesCommandInput, + DescribeBudgetActionHistoriesCommandOutput, +} from "../commands/DescribeBudgetActionHistoriesCommand"; +import { + DescribeBudgetActionsForAccountCommandInput, + DescribeBudgetActionsForAccountCommandOutput, +} from "../commands/DescribeBudgetActionsForAccountCommand"; +import { + DescribeBudgetActionsForBudgetCommandInput, + DescribeBudgetActionsForBudgetCommandOutput, +} from "../commands/DescribeBudgetActionsForBudgetCommand"; import { DescribeBudgetCommandInput, DescribeBudgetCommandOutput } from "../commands/DescribeBudgetCommand"; import { DescribeBudgetPerformanceHistoryCommandInput, @@ -18,16 +36,27 @@ import { DescribeSubscribersForNotificationCommandInput, DescribeSubscribersForNotificationCommandOutput, } from "../commands/DescribeSubscribersForNotificationCommand"; +import { + ExecuteBudgetActionCommandInput, + ExecuteBudgetActionCommandOutput, +} from "../commands/ExecuteBudgetActionCommand"; +import { UpdateBudgetActionCommandInput, UpdateBudgetActionCommandOutput } from "../commands/UpdateBudgetActionCommand"; import { UpdateBudgetCommandInput, UpdateBudgetCommandOutput } from "../commands/UpdateBudgetCommand"; import { UpdateNotificationCommandInput, UpdateNotificationCommandOutput } from "../commands/UpdateNotificationCommand"; import { UpdateSubscriberCommandInput, UpdateSubscriberCommandOutput } from "../commands/UpdateSubscriberCommand"; import { AccessDeniedException, + Action, + ActionHistory, + ActionHistoryDetails, + ActionThreshold, Budget, BudgetPerformanceHistory, BudgetedAndActualAmounts, CalculatedSpend, CostTypes, + CreateBudgetActionRequest, + CreateBudgetActionResponse, CreateBudgetRequest, CreateBudgetResponse, CreateNotificationRequest, @@ -35,12 +64,23 @@ import { CreateSubscriberRequest, CreateSubscriberResponse, CreationLimitExceededException, + Definition, + DeleteBudgetActionRequest, + DeleteBudgetActionResponse, DeleteBudgetRequest, DeleteBudgetResponse, DeleteNotificationRequest, DeleteNotificationResponse, DeleteSubscriberRequest, DeleteSubscriberResponse, + DescribeBudgetActionHistoriesRequest, + DescribeBudgetActionHistoriesResponse, + DescribeBudgetActionRequest, + DescribeBudgetActionResponse, + DescribeBudgetActionsForAccountRequest, + DescribeBudgetActionsForAccountResponse, + DescribeBudgetActionsForBudgetRequest, + DescribeBudgetActionsForBudgetResponse, DescribeBudgetPerformanceHistoryRequest, DescribeBudgetPerformanceHistoryResponse, DescribeBudgetRequest, @@ -52,16 +92,24 @@ import { DescribeSubscribersForNotificationRequest, DescribeSubscribersForNotificationResponse, DuplicateRecordException, + ExecuteBudgetActionRequest, + ExecuteBudgetActionResponse, ExpiredNextTokenException, + IamActionDefinition, InternalErrorException, InvalidNextTokenException, InvalidParameterException, NotFoundException, Notification, NotificationWithSubscribers, + ResourceLockedException, + ScpActionDefinition, Spend, + SsmActionDefinition, Subscriber, TimePeriod, + UpdateBudgetActionRequest, + UpdateBudgetActionResponse, UpdateBudgetRequest, UpdateBudgetResponse, UpdateNotificationRequest, @@ -92,6 +140,19 @@ export const serializeAws_json1_1CreateBudgetCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateBudgetActionCommand = async ( + input: CreateBudgetActionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSBudgetServiceGateway.CreateBudgetAction", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateBudgetActionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateNotificationCommand = async ( input: CreateNotificationCommandInput, context: __SerdeContext @@ -131,6 +192,19 @@ export const serializeAws_json1_1DeleteBudgetCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteBudgetActionCommand = async ( + input: DeleteBudgetActionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSBudgetServiceGateway.DeleteBudgetAction", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteBudgetActionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteNotificationCommand = async ( input: DeleteNotificationCommandInput, context: __SerdeContext @@ -170,6 +244,58 @@ export const serializeAws_json1_1DescribeBudgetCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeBudgetActionCommand = async ( + input: DescribeBudgetActionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSBudgetServiceGateway.DescribeBudgetAction", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeBudgetActionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeBudgetActionHistoriesCommand = async ( + input: DescribeBudgetActionHistoriesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSBudgetServiceGateway.DescribeBudgetActionHistories", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeBudgetActionHistoriesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeBudgetActionsForAccountCommand = async ( + input: DescribeBudgetActionsForAccountCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSBudgetServiceGateway.DescribeBudgetActionsForAccount", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeBudgetActionsForAccountRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeBudgetActionsForBudgetCommand = async ( + input: DescribeBudgetActionsForBudgetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSBudgetServiceGateway.DescribeBudgetActionsForBudget", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeBudgetActionsForBudgetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeBudgetPerformanceHistoryCommand = async ( input: DescribeBudgetPerformanceHistoryCommandInput, context: __SerdeContext @@ -222,6 +348,19 @@ export const serializeAws_json1_1DescribeSubscribersForNotificationCommand = asy return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ExecuteBudgetActionCommand = async ( + input: ExecuteBudgetActionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSBudgetServiceGateway.ExecuteBudgetAction", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ExecuteBudgetActionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateBudgetCommand = async ( input: UpdateBudgetCommandInput, context: __SerdeContext @@ -235,6 +374,19 @@ export const serializeAws_json1_1UpdateBudgetCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateBudgetActionCommand = async ( + input: UpdateBudgetActionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSBudgetServiceGateway.UpdateBudgetAction", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateBudgetActionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateNotificationCommand = async ( input: UpdateNotificationCommandInput, context: __SerdeContext @@ -348,27 +500,27 @@ const deserializeAws_json1_1CreateBudgetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateNotificationCommand = async ( +export const deserializeAws_json1_1CreateBudgetActionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateNotificationCommandError(output, context); + return deserializeAws_json1_1CreateBudgetActionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateNotificationResponse(data, context); - const response: CreateNotificationCommandOutput = { + contents = deserializeAws_json1_1CreateBudgetActionResponse(data, context); + const response: CreateBudgetActionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateNotificationCommandError = async ( +const deserializeAws_json1_1CreateBudgetActionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -443,27 +595,27 @@ const deserializeAws_json1_1CreateNotificationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateSubscriberCommand = async ( +export const deserializeAws_json1_1CreateNotificationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateSubscriberCommandError(output, context); + return deserializeAws_json1_1CreateNotificationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateSubscriberResponse(data, context); - const response: CreateSubscriberCommandOutput = { + contents = deserializeAws_json1_1CreateNotificationResponse(data, context); + const response: CreateNotificationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateSubscriberCommandError = async ( +const deserializeAws_json1_1CreateNotificationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -538,27 +690,27 @@ const deserializeAws_json1_1CreateSubscriberCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteBudgetCommand = async ( +export const deserializeAws_json1_1CreateSubscriberCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteBudgetCommandError(output, context); + return deserializeAws_json1_1CreateSubscriberCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteBudgetResponse(data, context); - const response: DeleteBudgetCommandOutput = { + contents = deserializeAws_json1_1CreateSubscriberResponse(data, context); + const response: CreateSubscriberCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteBudgetCommandError = async ( +const deserializeAws_json1_1CreateSubscriberCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -576,6 +728,22 @@ const deserializeAws_json1_1DeleteBudgetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "CreationLimitExceededException": + case "com.amazonaws.budgets#CreationLimitExceededException": + response = { + ...(await deserializeAws_json1_1CreationLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DuplicateRecordException": + case "com.amazonaws.budgets#DuplicateRecordException": + response = { + ...(await deserializeAws_json1_1DuplicateRecordExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalErrorException": case "com.amazonaws.budgets#InternalErrorException": response = { @@ -617,27 +785,27 @@ const deserializeAws_json1_1DeleteBudgetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteNotificationCommand = async ( +export const deserializeAws_json1_1DeleteBudgetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteNotificationCommandError(output, context); + return deserializeAws_json1_1DeleteBudgetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteNotificationResponse(data, context); - const response: DeleteNotificationCommandOutput = { + contents = deserializeAws_json1_1DeleteBudgetResponse(data, context); + const response: DeleteBudgetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteNotificationCommandError = async ( +const deserializeAws_json1_1DeleteBudgetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -696,27 +864,27 @@ const deserializeAws_json1_1DeleteNotificationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteSubscriberCommand = async ( +export const deserializeAws_json1_1DeleteBudgetActionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteSubscriberCommandError(output, context); + return deserializeAws_json1_1DeleteBudgetActionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteSubscriberResponse(data, context); - const response: DeleteSubscriberCommandOutput = { + contents = deserializeAws_json1_1DeleteBudgetActionResponse(data, context); + const response: DeleteBudgetActionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteSubscriberCommandError = async ( +const deserializeAws_json1_1DeleteBudgetActionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -758,6 +926,14 @@ const deserializeAws_json1_1DeleteSubscriberCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceLockedException": + case "com.amazonaws.budgets#ResourceLockedException": + response = { + ...(await deserializeAws_json1_1ResourceLockedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -775,27 +951,27 @@ const deserializeAws_json1_1DeleteSubscriberCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeBudgetCommand = async ( +export const deserializeAws_json1_1DeleteNotificationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeBudgetCommandError(output, context); + return deserializeAws_json1_1DeleteNotificationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeBudgetResponse(data, context); - const response: DescribeBudgetCommandOutput = { + contents = deserializeAws_json1_1DeleteNotificationResponse(data, context); + const response: DeleteNotificationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeBudgetCommandError = async ( +const deserializeAws_json1_1DeleteNotificationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -854,27 +1030,27 @@ const deserializeAws_json1_1DescribeBudgetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeBudgetPerformanceHistoryCommand = async ( +export const deserializeAws_json1_1DeleteSubscriberCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeBudgetPerformanceHistoryCommandError(output, context); + return deserializeAws_json1_1DeleteSubscriberCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeBudgetPerformanceHistoryResponse(data, context); - const response: DescribeBudgetPerformanceHistoryCommandOutput = { + contents = deserializeAws_json1_1DeleteSubscriberResponse(data, context); + const response: DeleteSubscriberCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeBudgetPerformanceHistoryCommandError = async ( +const deserializeAws_json1_1DeleteSubscriberCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -892,14 +1068,6 @@ const deserializeAws_json1_1DescribeBudgetPerformanceHistoryCommandError = async $metadata: deserializeMetadata(output), }; break; - case "ExpiredNextTokenException": - case "com.amazonaws.budgets#ExpiredNextTokenException": - response = { - ...(await deserializeAws_json1_1ExpiredNextTokenExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalErrorException": case "com.amazonaws.budgets#InternalErrorException": response = { @@ -908,14 +1076,6 @@ const deserializeAws_json1_1DescribeBudgetPerformanceHistoryCommandError = async $metadata: deserializeMetadata(output), }; break; - case "InvalidNextTokenException": - case "com.amazonaws.budgets#InvalidNextTokenException": - response = { - ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.budgets#InvalidParameterException": response = { @@ -949,27 +1109,27 @@ const deserializeAws_json1_1DescribeBudgetPerformanceHistoryCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeBudgetsCommand = async ( +export const deserializeAws_json1_1DescribeBudgetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeBudgetsCommandError(output, context); + return deserializeAws_json1_1DescribeBudgetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeBudgetsResponse(data, context); - const response: DescribeBudgetsCommandOutput = { + contents = deserializeAws_json1_1DescribeBudgetResponse(data, context); + const response: DescribeBudgetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeBudgetsCommandError = async ( +const deserializeAws_json1_1DescribeBudgetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -987,14 +1147,6 @@ const deserializeAws_json1_1DescribeBudgetsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ExpiredNextTokenException": - case "com.amazonaws.budgets#ExpiredNextTokenException": - response = { - ...(await deserializeAws_json1_1ExpiredNextTokenExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalErrorException": case "com.amazonaws.budgets#InternalErrorException": response = { @@ -1003,14 +1155,6 @@ const deserializeAws_json1_1DescribeBudgetsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidNextTokenException": - case "com.amazonaws.budgets#InvalidNextTokenException": - response = { - ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.budgets#InvalidParameterException": response = { @@ -1044,27 +1188,27 @@ const deserializeAws_json1_1DescribeBudgetsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeNotificationsForBudgetCommand = async ( +export const deserializeAws_json1_1DescribeBudgetActionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeNotificationsForBudgetCommandError(output, context); + return deserializeAws_json1_1DescribeBudgetActionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeNotificationsForBudgetResponse(data, context); - const response: DescribeNotificationsForBudgetCommandOutput = { + contents = deserializeAws_json1_1DescribeBudgetActionResponse(data, context); + const response: DescribeBudgetActionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeNotificationsForBudgetCommandError = async ( +const deserializeAws_json1_1DescribeBudgetActionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1082,14 +1226,6 @@ const deserializeAws_json1_1DescribeNotificationsForBudgetCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ExpiredNextTokenException": - case "com.amazonaws.budgets#ExpiredNextTokenException": - response = { - ...(await deserializeAws_json1_1ExpiredNextTokenExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalErrorException": case "com.amazonaws.budgets#InternalErrorException": response = { @@ -1098,14 +1234,6 @@ const deserializeAws_json1_1DescribeNotificationsForBudgetCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidNextTokenException": - case "com.amazonaws.budgets#InvalidNextTokenException": - response = { - ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.budgets#InvalidParameterException": response = { @@ -1139,17 +1267,555 @@ const deserializeAws_json1_1DescribeNotificationsForBudgetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeSubscribersForNotificationCommand = async ( +export const deserializeAws_json1_1DescribeBudgetActionHistoriesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeSubscribersForNotificationCommandError(output, context); + return deserializeAws_json1_1DescribeBudgetActionHistoriesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeSubscribersForNotificationResponse(data, context); - const response: DescribeSubscribersForNotificationCommandOutput = { + contents = deserializeAws_json1_1DescribeBudgetActionHistoriesResponse(data, context); + const response: DescribeBudgetActionHistoriesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeBudgetActionHistoriesCommandError = 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.budgets#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalErrorException": + case "com.amazonaws.budgets#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.budgets#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.budgets#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.budgets#NotFoundException": + response = { + ...(await deserializeAws_json1_1NotFoundExceptionResponse(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_1DescribeBudgetActionsForAccountCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeBudgetActionsForAccountCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeBudgetActionsForAccountResponse(data, context); + const response: DescribeBudgetActionsForAccountCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeBudgetActionsForAccountCommandError = 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.budgets#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalErrorException": + case "com.amazonaws.budgets#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.budgets#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.budgets#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(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_1DescribeBudgetActionsForBudgetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeBudgetActionsForBudgetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeBudgetActionsForBudgetResponse(data, context); + const response: DescribeBudgetActionsForBudgetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeBudgetActionsForBudgetCommandError = 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.budgets#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalErrorException": + case "com.amazonaws.budgets#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.budgets#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.budgets#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.budgets#NotFoundException": + response = { + ...(await deserializeAws_json1_1NotFoundExceptionResponse(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_1DescribeBudgetPerformanceHistoryCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeBudgetPerformanceHistoryCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeBudgetPerformanceHistoryResponse(data, context); + const response: DescribeBudgetPerformanceHistoryCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeBudgetPerformanceHistoryCommandError = 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.budgets#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ExpiredNextTokenException": + case "com.amazonaws.budgets#ExpiredNextTokenException": + response = { + ...(await deserializeAws_json1_1ExpiredNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalErrorException": + case "com.amazonaws.budgets#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.budgets#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.budgets#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.budgets#NotFoundException": + response = { + ...(await deserializeAws_json1_1NotFoundExceptionResponse(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_1DescribeBudgetsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeBudgetsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeBudgetsResponse(data, context); + const response: DescribeBudgetsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeBudgetsCommandError = 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.budgets#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ExpiredNextTokenException": + case "com.amazonaws.budgets#ExpiredNextTokenException": + response = { + ...(await deserializeAws_json1_1ExpiredNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalErrorException": + case "com.amazonaws.budgets#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.budgets#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.budgets#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.budgets#NotFoundException": + response = { + ...(await deserializeAws_json1_1NotFoundExceptionResponse(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_1DescribeNotificationsForBudgetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeNotificationsForBudgetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeNotificationsForBudgetResponse(data, context); + const response: DescribeNotificationsForBudgetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeNotificationsForBudgetCommandError = 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.budgets#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ExpiredNextTokenException": + case "com.amazonaws.budgets#ExpiredNextTokenException": + response = { + ...(await deserializeAws_json1_1ExpiredNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalErrorException": + case "com.amazonaws.budgets#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.budgets#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.budgets#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.budgets#NotFoundException": + response = { + ...(await deserializeAws_json1_1NotFoundExceptionResponse(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_1DescribeSubscribersForNotificationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeSubscribersForNotificationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeSubscribersForNotificationResponse(data, context); + const response: DescribeSubscribersForNotificationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; @@ -1234,6 +1900,93 @@ const deserializeAws_json1_1DescribeSubscribersForNotificationCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ExecuteBudgetActionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ExecuteBudgetActionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ExecuteBudgetActionResponse(data, context); + const response: ExecuteBudgetActionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ExecuteBudgetActionCommandError = 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.budgets#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalErrorException": + case "com.amazonaws.budgets#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.budgets#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.budgets#NotFoundException": + response = { + ...(await deserializeAws_json1_1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLockedException": + case "com.amazonaws.budgets#ResourceLockedException": + response = { + ...(await deserializeAws_json1_1ResourceLockedExceptionResponse(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_1UpdateBudgetCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1313,6 +2066,93 @@ const deserializeAws_json1_1UpdateBudgetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateBudgetActionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateBudgetActionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateBudgetActionResponse(data, context); + const response: UpdateBudgetActionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateBudgetActionCommandError = 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.budgets#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalErrorException": + case "com.amazonaws.budgets#InternalErrorException": + response = { + ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.budgets#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.budgets#NotFoundException": + response = { + ...(await deserializeAws_json1_1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLockedException": + case "com.amazonaws.budgets#ResourceLockedException": + response = { + ...(await deserializeAws_json1_1ResourceLockedExceptionResponse(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_1UpdateNotificationCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1607,6 +2447,28 @@ const deserializeAws_json1_1NotFoundExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1ResourceLockedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ResourceLockedException(body, context); + const contents: ResourceLockedException = { + name: "ResourceLockedException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const serializeAws_json1_1ActionThreshold = (input: ActionThreshold, context: __SerdeContext): any => { + return { + ...(input.ActionThresholdType !== undefined && { ActionThresholdType: input.ActionThresholdType }), + ...(input.ActionThresholdValue !== undefined && { ActionThresholdValue: input.ActionThresholdValue }), + }; +}; + const serializeAws_json1_1Budget = (input: Budget, context: __SerdeContext): any => { return { ...(input.BudgetLimit !== undefined && { BudgetLimit: serializeAws_json1_1Spend(input.BudgetLimit, context) }), @@ -1663,6 +2525,27 @@ const serializeAws_json1_1CostTypes = (input: CostTypes, context: __SerdeContext }; }; +const serializeAws_json1_1CreateBudgetActionRequest = ( + input: CreateBudgetActionRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.ActionThreshold !== undefined && { + ActionThreshold: serializeAws_json1_1ActionThreshold(input.ActionThreshold, context), + }), + ...(input.ActionType !== undefined && { ActionType: input.ActionType }), + ...(input.ApprovalModel !== undefined && { ApprovalModel: input.ApprovalModel }), + ...(input.BudgetName !== undefined && { BudgetName: input.BudgetName }), + ...(input.Definition !== undefined && { Definition: serializeAws_json1_1Definition(input.Definition, context) }), + ...(input.ExecutionRoleArn !== undefined && { ExecutionRoleArn: input.ExecutionRoleArn }), + ...(input.NotificationType !== undefined && { NotificationType: input.NotificationType }), + ...(input.Subscribers !== undefined && { + Subscribers: serializeAws_json1_1Subscribers(input.Subscribers, context), + }), + }; +}; + const serializeAws_json1_1CreateBudgetRequest = (input: CreateBudgetRequest, context: __SerdeContext): any => { return { ...(input.AccountId !== undefined && { AccountId: input.AccountId }), @@ -1703,6 +2586,31 @@ const serializeAws_json1_1CreateSubscriberRequest = (input: CreateSubscriberRequ }; }; +const serializeAws_json1_1Definition = (input: Definition, context: __SerdeContext): any => { + return { + ...(input.IamActionDefinition !== undefined && { + IamActionDefinition: serializeAws_json1_1IamActionDefinition(input.IamActionDefinition, context), + }), + ...(input.ScpActionDefinition !== undefined && { + ScpActionDefinition: serializeAws_json1_1ScpActionDefinition(input.ScpActionDefinition, context), + }), + ...(input.SsmActionDefinition !== undefined && { + SsmActionDefinition: serializeAws_json1_1SsmActionDefinition(input.SsmActionDefinition, context), + }), + }; +}; + +const serializeAws_json1_1DeleteBudgetActionRequest = ( + input: DeleteBudgetActionRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.ActionId !== undefined && { ActionId: input.ActionId }), + ...(input.BudgetName !== undefined && { BudgetName: input.BudgetName }), + }; +}; + const serializeAws_json1_1DeleteBudgetRequest = (input: DeleteBudgetRequest, context: __SerdeContext): any => { return { ...(input.AccountId !== undefined && { AccountId: input.AccountId }), @@ -1734,6 +2642,54 @@ const serializeAws_json1_1DeleteSubscriberRequest = (input: DeleteSubscriberRequ }; }; +const serializeAws_json1_1DescribeBudgetActionHistoriesRequest = ( + input: DescribeBudgetActionHistoriesRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.ActionId !== undefined && { ActionId: input.ActionId }), + ...(input.BudgetName !== undefined && { BudgetName: input.BudgetName }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.TimePeriod !== undefined && { TimePeriod: serializeAws_json1_1TimePeriod(input.TimePeriod, context) }), + }; +}; + +const serializeAws_json1_1DescribeBudgetActionRequest = ( + input: DescribeBudgetActionRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.ActionId !== undefined && { ActionId: input.ActionId }), + ...(input.BudgetName !== undefined && { BudgetName: input.BudgetName }), + }; +}; + +const serializeAws_json1_1DescribeBudgetActionsForAccountRequest = ( + input: DescribeBudgetActionsForAccountRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1DescribeBudgetActionsForBudgetRequest = ( + input: DescribeBudgetActionsForBudgetRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.BudgetName !== undefined && { BudgetName: input.BudgetName }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1DescribeBudgetPerformanceHistoryRequest = ( input: DescribeBudgetPerformanceHistoryRequest, context: __SerdeContext @@ -1793,6 +2749,35 @@ const serializeAws_json1_1DimensionValues = (input: string[], context: __SerdeCo return input.map((entry) => entry); }; +const serializeAws_json1_1ExecuteBudgetActionRequest = ( + input: ExecuteBudgetActionRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.ActionId !== undefined && { ActionId: input.ActionId }), + ...(input.BudgetName !== undefined && { BudgetName: input.BudgetName }), + ...(input.ExecutionType !== undefined && { ExecutionType: input.ExecutionType }), + }; +}; + +const serializeAws_json1_1Groups = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_1IamActionDefinition = (input: IamActionDefinition, context: __SerdeContext): any => { + return { + ...(input.Groups !== undefined && { Groups: serializeAws_json1_1Groups(input.Groups, context) }), + ...(input.PolicyArn !== undefined && { PolicyArn: input.PolicyArn }), + ...(input.Roles !== undefined && { Roles: serializeAws_json1_1Roles(input.Roles, context) }), + ...(input.Users !== undefined && { Users: serializeAws_json1_1Users(input.Users, context) }), + }; +}; + +const serializeAws_json1_1InstanceIds = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1Notification = (input: Notification, context: __SerdeContext): any => { return { ...(input.ComparisonOperator !== undefined && { ComparisonOperator: input.ComparisonOperator }), @@ -1834,6 +2819,17 @@ const serializeAws_json1_1PlannedBudgetLimits = (input: { [key: string]: Spend } ); }; +const serializeAws_json1_1Roles = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_1ScpActionDefinition = (input: ScpActionDefinition, context: __SerdeContext): any => { + return { + ...(input.PolicyId !== undefined && { PolicyId: input.PolicyId }), + ...(input.TargetIds !== undefined && { TargetIds: serializeAws_json1_1TargetIds(input.TargetIds, context) }), + }; +}; + const serializeAws_json1_1Spend = (input: Spend, context: __SerdeContext): any => { return { ...(input.Amount !== undefined && { Amount: input.Amount }), @@ -1841,6 +2837,16 @@ const serializeAws_json1_1Spend = (input: Spend, context: __SerdeContext): any = }; }; +const serializeAws_json1_1SsmActionDefinition = (input: SsmActionDefinition, context: __SerdeContext): any => { + return { + ...(input.ActionSubType !== undefined && { ActionSubType: input.ActionSubType }), + ...(input.InstanceIds !== undefined && { + InstanceIds: serializeAws_json1_1InstanceIds(input.InstanceIds, context), + }), + ...(input.Region !== undefined && { Region: input.Region }), + }; +}; + const serializeAws_json1_1Subscriber = (input: Subscriber, context: __SerdeContext): any => { return { ...(input.Address !== undefined && { Address: input.Address }), @@ -1852,6 +2858,10 @@ const serializeAws_json1_1Subscribers = (input: Subscriber[], context: __SerdeCo return input.map((entry) => serializeAws_json1_1Subscriber(entry, context)); }; +const serializeAws_json1_1TargetIds = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1TimePeriod = (input: TimePeriod, context: __SerdeContext): any => { return { ...(input.End !== undefined && { End: Math.round(input.End.getTime() / 1000) }), @@ -1859,6 +2869,27 @@ const serializeAws_json1_1TimePeriod = (input: TimePeriod, context: __SerdeConte }; }; +const serializeAws_json1_1UpdateBudgetActionRequest = ( + input: UpdateBudgetActionRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.ActionId !== undefined && { ActionId: input.ActionId }), + ...(input.ActionThreshold !== undefined && { + ActionThreshold: serializeAws_json1_1ActionThreshold(input.ActionThreshold, context), + }), + ...(input.ApprovalModel !== undefined && { ApprovalModel: input.ApprovalModel }), + ...(input.BudgetName !== undefined && { BudgetName: input.BudgetName }), + ...(input.Definition !== undefined && { Definition: serializeAws_json1_1Definition(input.Definition, context) }), + ...(input.ExecutionRoleArn !== undefined && { ExecutionRoleArn: input.ExecutionRoleArn }), + ...(input.NotificationType !== undefined && { NotificationType: input.NotificationType }), + ...(input.Subscribers !== undefined && { + Subscribers: serializeAws_json1_1Subscribers(input.Subscribers, context), + }), + }; +}; + const serializeAws_json1_1UpdateBudgetRequest = (input: UpdateBudgetRequest, context: __SerdeContext): any => { return { ...(input.AccountId !== undefined && { AccountId: input.AccountId }), @@ -1898,12 +2929,89 @@ const serializeAws_json1_1UpdateSubscriberRequest = (input: UpdateSubscriberRequ }; }; +const serializeAws_json1_1Users = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const deserializeAws_json1_1AccessDeniedException = (output: any, context: __SerdeContext): AccessDeniedException => { return { Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, } as any; }; +const deserializeAws_json1_1Action = (output: any, context: __SerdeContext): Action => { + return { + ActionId: output.ActionId !== undefined && output.ActionId !== null ? output.ActionId : undefined, + ActionThreshold: + output.ActionThreshold !== undefined && output.ActionThreshold !== null + ? deserializeAws_json1_1ActionThreshold(output.ActionThreshold, context) + : undefined, + ActionType: output.ActionType !== undefined && output.ActionType !== null ? output.ActionType : undefined, + ApprovalModel: + output.ApprovalModel !== undefined && output.ApprovalModel !== null ? output.ApprovalModel : undefined, + BudgetName: output.BudgetName !== undefined && output.BudgetName !== null ? output.BudgetName : undefined, + Definition: + output.Definition !== undefined && output.Definition !== null + ? deserializeAws_json1_1Definition(output.Definition, context) + : undefined, + ExecutionRoleArn: + output.ExecutionRoleArn !== undefined && output.ExecutionRoleArn !== null ? output.ExecutionRoleArn : undefined, + NotificationType: + output.NotificationType !== undefined && output.NotificationType !== null ? output.NotificationType : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + Subscribers: + output.Subscribers !== undefined && output.Subscribers !== null + ? deserializeAws_json1_1Subscribers(output.Subscribers, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ActionHistories = (output: any, context: __SerdeContext): ActionHistory[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ActionHistory(entry, context)); +}; + +const deserializeAws_json1_1ActionHistory = (output: any, context: __SerdeContext): ActionHistory => { + return { + ActionHistoryDetails: + output.ActionHistoryDetails !== undefined && output.ActionHistoryDetails !== null + ? deserializeAws_json1_1ActionHistoryDetails(output.ActionHistoryDetails, context) + : undefined, + EventType: output.EventType !== undefined && output.EventType !== null ? output.EventType : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + Timestamp: + output.Timestamp !== undefined && output.Timestamp !== null + ? new Date(Math.round(output.Timestamp * 1000)) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ActionHistoryDetails = (output: any, context: __SerdeContext): ActionHistoryDetails => { + return { + Action: + output.Action !== undefined && output.Action !== null + ? deserializeAws_json1_1Action(output.Action, context) + : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1Actions = (output: any, context: __SerdeContext): Action[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1Action(entry, context)); +}; + +const deserializeAws_json1_1ActionThreshold = (output: any, context: __SerdeContext): ActionThreshold => { + return { + ActionThresholdType: + output.ActionThresholdType !== undefined && output.ActionThresholdType !== null + ? output.ActionThresholdType + : undefined, + ActionThresholdValue: + output.ActionThresholdValue !== undefined && output.ActionThresholdValue !== null + ? output.ActionThresholdValue + : undefined, + } as any; +}; + const deserializeAws_json1_1Budget = (output: any, context: __SerdeContext): Budget => { return { BudgetLimit: @@ -2045,6 +3153,17 @@ const deserializeAws_json1_1CostTypes = (output: any, context: __SerdeContext): } as any; }; +const deserializeAws_json1_1CreateBudgetActionResponse = ( + output: any, + context: __SerdeContext +): CreateBudgetActionResponse => { + return { + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + ActionId: output.ActionId !== undefined && output.ActionId !== null ? output.ActionId : undefined, + BudgetName: output.BudgetName !== undefined && output.BudgetName !== null ? output.BudgetName : undefined, + } as any; +}; + const deserializeAws_json1_1CreateBudgetResponse = (output: any, context: __SerdeContext): CreateBudgetResponse => { return {} as any; }; @@ -2072,6 +3191,37 @@ const deserializeAws_json1_1CreationLimitExceededException = ( } as any; }; +const deserializeAws_json1_1Definition = (output: any, context: __SerdeContext): Definition => { + return { + IamActionDefinition: + output.IamActionDefinition !== undefined && output.IamActionDefinition !== null + ? deserializeAws_json1_1IamActionDefinition(output.IamActionDefinition, context) + : undefined, + ScpActionDefinition: + output.ScpActionDefinition !== undefined && output.ScpActionDefinition !== null + ? deserializeAws_json1_1ScpActionDefinition(output.ScpActionDefinition, context) + : undefined, + SsmActionDefinition: + output.SsmActionDefinition !== undefined && output.SsmActionDefinition !== null + ? deserializeAws_json1_1SsmActionDefinition(output.SsmActionDefinition, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DeleteBudgetActionResponse = ( + output: any, + context: __SerdeContext +): DeleteBudgetActionResponse => { + return { + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + Action: + output.Action !== undefined && output.Action !== null + ? deserializeAws_json1_1Action(output.Action, context) + : undefined, + BudgetName: output.BudgetName !== undefined && output.BudgetName !== null ? output.BudgetName : undefined, + } as any; +}; + const deserializeAws_json1_1DeleteBudgetResponse = (output: any, context: __SerdeContext): DeleteBudgetResponse => { return {} as any; }; @@ -2090,6 +3240,59 @@ const deserializeAws_json1_1DeleteSubscriberResponse = ( return {} as any; }; +const deserializeAws_json1_1DescribeBudgetActionHistoriesResponse = ( + output: any, + context: __SerdeContext +): DescribeBudgetActionHistoriesResponse => { + return { + ActionHistories: + output.ActionHistories !== undefined && output.ActionHistories !== null + ? deserializeAws_json1_1ActionHistories(output.ActionHistories, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeBudgetActionResponse = ( + output: any, + context: __SerdeContext +): DescribeBudgetActionResponse => { + return { + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + Action: + output.Action !== undefined && output.Action !== null + ? deserializeAws_json1_1Action(output.Action, context) + : undefined, + BudgetName: output.BudgetName !== undefined && output.BudgetName !== null ? output.BudgetName : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeBudgetActionsForAccountResponse = ( + output: any, + context: __SerdeContext +): DescribeBudgetActionsForAccountResponse => { + return { + Actions: + output.Actions !== undefined && output.Actions !== null + ? deserializeAws_json1_1Actions(output.Actions, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeBudgetActionsForBudgetResponse = ( + output: any, + context: __SerdeContext +): DescribeBudgetActionsForBudgetResponse => { + return { + Actions: + output.Actions !== undefined && output.Actions !== null + ? deserializeAws_json1_1Actions(output.Actions, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeBudgetPerformanceHistoryResponse = ( output: any, context: __SerdeContext @@ -2164,6 +3367,19 @@ const deserializeAws_json1_1DuplicateRecordException = ( } as any; }; +const deserializeAws_json1_1ExecuteBudgetActionResponse = ( + output: any, + context: __SerdeContext +): ExecuteBudgetActionResponse => { + return { + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + ActionId: output.ActionId !== undefined && output.ActionId !== null ? output.ActionId : undefined, + BudgetName: output.BudgetName !== undefined && output.BudgetName !== null ? output.BudgetName : undefined, + ExecutionType: + output.ExecutionType !== undefined && output.ExecutionType !== null ? output.ExecutionType : undefined, + } as any; +}; + const deserializeAws_json1_1ExpiredNextTokenException = ( output: any, context: __SerdeContext @@ -2173,6 +3389,32 @@ const deserializeAws_json1_1ExpiredNextTokenException = ( } as any; }; +const deserializeAws_json1_1Groups = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1IamActionDefinition = (output: any, context: __SerdeContext): IamActionDefinition => { + return { + Groups: + output.Groups !== undefined && output.Groups !== null + ? deserializeAws_json1_1Groups(output.Groups, context) + : undefined, + PolicyArn: output.PolicyArn !== undefined && output.PolicyArn !== null ? output.PolicyArn : undefined, + Roles: + output.Roles !== undefined && output.Roles !== null + ? deserializeAws_json1_1Roles(output.Roles, context) + : undefined, + Users: + output.Users !== undefined && output.Users !== null + ? deserializeAws_json1_1Users(output.Users, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1InstanceIds = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1InternalErrorException = (output: any, context: __SerdeContext): InternalErrorException => { return { Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, @@ -2235,6 +3477,29 @@ const deserializeAws_json1_1PlannedBudgetLimits = (output: any, context: __Serde ); }; +const deserializeAws_json1_1ResourceLockedException = ( + output: any, + context: __SerdeContext +): ResourceLockedException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1Roles = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1ScpActionDefinition = (output: any, context: __SerdeContext): ScpActionDefinition => { + return { + PolicyId: output.PolicyId !== undefined && output.PolicyId !== null ? output.PolicyId : undefined, + TargetIds: + output.TargetIds !== undefined && output.TargetIds !== null + ? deserializeAws_json1_1TargetIds(output.TargetIds, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1Spend = (output: any, context: __SerdeContext): Spend => { return { Amount: output.Amount !== undefined && output.Amount !== null ? output.Amount : undefined, @@ -2242,6 +3507,18 @@ const deserializeAws_json1_1Spend = (output: any, context: __SerdeContext): Spen } as any; }; +const deserializeAws_json1_1SsmActionDefinition = (output: any, context: __SerdeContext): SsmActionDefinition => { + return { + ActionSubType: + output.ActionSubType !== undefined && output.ActionSubType !== null ? output.ActionSubType : undefined, + InstanceIds: + output.InstanceIds !== undefined && output.InstanceIds !== null + ? deserializeAws_json1_1InstanceIds(output.InstanceIds, context) + : undefined, + Region: output.Region !== undefined && output.Region !== null ? output.Region : undefined, + } as any; +}; + const deserializeAws_json1_1Subscriber = (output: any, context: __SerdeContext): Subscriber => { return { Address: output.Address !== undefined && output.Address !== null ? output.Address : undefined, @@ -2254,6 +3531,10 @@ const deserializeAws_json1_1Subscribers = (output: any, context: __SerdeContext) return (output || []).map((entry: any) => deserializeAws_json1_1Subscriber(entry, context)); }; +const deserializeAws_json1_1TargetIds = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1TimePeriod = (output: any, context: __SerdeContext): TimePeriod => { return { End: output.End !== undefined && output.End !== null ? new Date(Math.round(output.End * 1000)) : undefined, @@ -2261,6 +3542,24 @@ const deserializeAws_json1_1TimePeriod = (output: any, context: __SerdeContext): } as any; }; +const deserializeAws_json1_1UpdateBudgetActionResponse = ( + output: any, + context: __SerdeContext +): UpdateBudgetActionResponse => { + return { + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + BudgetName: output.BudgetName !== undefined && output.BudgetName !== null ? output.BudgetName : undefined, + NewAction: + output.NewAction !== undefined && output.NewAction !== null + ? deserializeAws_json1_1Action(output.NewAction, context) + : undefined, + OldAction: + output.OldAction !== undefined && output.OldAction !== null + ? deserializeAws_json1_1Action(output.OldAction, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1UpdateBudgetResponse = (output: any, context: __SerdeContext): UpdateBudgetResponse => { return {} as any; }; @@ -2279,6 +3578,10 @@ const deserializeAws_json1_1UpdateSubscriberResponse = ( return {} as any; }; +const deserializeAws_json1_1Users = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, httpHeaders: output.headers, diff --git a/clients/client-chime/models/models_0.ts b/clients/client-chime/models/models_0.ts index c04ce8741b0c..4ef3860dd4f0 100644 --- a/clients/client-chime/models/models_0.ts +++ b/clients/client-chime/models/models_0.ts @@ -13,6 +13,7 @@ export enum ErrorCode { ServiceFailure = "ServiceFailure", ServiceUnavailable = "ServiceUnavailable", Throttled = "Throttled", + Throttling = "Throttling", Unauthorized = "Unauthorized", Unprocessable = "Unprocessable", VoiceConnectorGroupAssociationsExist = "VoiceConnectorGroupAssociationsExist", @@ -74,42 +75,42 @@ export interface Account { DefaultLicense?: License | string; /** - *

                The AWS account ID.

                + *

                The sign-in delegate groups associated with the account.

                */ - AwsAccountId: string | undefined; + SigninDelegateGroups?: SigninDelegateGroup[]; /** - *

                The Amazon Chime account type. For more information - * about different account types, see Managing Your Amazon Chime Accounts in the - * Amazon - * Chime Administration Guide.

                + *

                Supported licenses for the Amazon Chime account.

                */ - AccountType?: AccountType | string; + SupportedLicenses?: (License | string)[]; /** - *

                The Amazon Chime account ID.

                + *

                The AWS account ID.

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

                The Amazon Chime account name.

                + *

                The Amazon Chime account creation timestamp, in ISO 8601 format.

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

                The Amazon Chime account creation timestamp, in ISO 8601 format.

                + *

                The Amazon Chime account name.

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

                Supported licenses for the Amazon Chime account.

                + *

                The Amazon Chime account ID.

                */ - SupportedLicenses?: (License | string)[]; + AccountId: string | undefined; /** - *

                The sign-in delegate groups associated with the account.

                + *

                The Amazon Chime account type. For more information + * about different account types, see Managing Your Amazon Chime Accounts in the + * Amazon + * Chime Administration Guide.

                */ - SigninDelegateGroups?: SigninDelegateGroup[]; + AccountType?: AccountType | string; } export namespace Account { @@ -200,14 +201,14 @@ export interface PhoneNumberError { PhoneNumberId?: string; /** - *

                The error code.

                + *

                The error message.

                */ - ErrorCode?: ErrorCode | string; + ErrorMessage?: string; /** - *

                The error message.

                + *

                The error code.

                */ - ErrorMessage?: string; + ErrorCode?: ErrorCode | string; } export namespace PhoneNumberError { @@ -252,8 +253,8 @@ export namespace BadRequestException { export interface ForbiddenException extends __SmithyException, $MetadataBearer { name: "ForbiddenException"; $fault: "client"; - Message?: string; Code?: ErrorCode | string; + Message?: string; } export namespace ForbiddenException { @@ -284,8 +285,8 @@ export namespace NotFoundException { export interface ServiceFailureException extends __SmithyException, $MetadataBearer { name: "ServiceFailureException"; $fault: "server"; - Code?: ErrorCode | string; Message?: string; + Code?: ErrorCode | string; } export namespace ServiceFailureException { @@ -300,8 +301,8 @@ export namespace ServiceFailureException { export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer { name: "ServiceUnavailableException"; $fault: "server"; - Message?: string; Code?: ErrorCode | string; + Message?: string; } export namespace ServiceUnavailableException { @@ -332,8 +333,8 @@ export namespace ThrottledClientException { export interface UnauthorizedClientException extends __SmithyException, $MetadataBearer { name: "UnauthorizedClientException"; $fault: "client"; - Code?: ErrorCode | string; Message?: string; + Code?: ErrorCode | string; } export namespace UnauthorizedClientException { @@ -343,6 +344,11 @@ export namespace UnauthorizedClientException { } export interface AssociatePhoneNumbersWithVoiceConnectorGroupRequest { + /** + *

                List of phone numbers, in E.164 format.

                + */ + E164PhoneNumbers: string[] | undefined; + /** *

                The Amazon Chime Voice Connector group ID.

                */ @@ -352,11 +358,6 @@ export interface AssociatePhoneNumbersWithVoiceConnectorGroupRequest { *

                If true, associates the provided phone numbers with the provided Amazon Chime Voice Connector Group and removes any previously existing associations. If false, does not associate any phone numbers that have previously existing associations.

                */ ForceAssociate?: boolean; - - /** - *

                List of phone numbers, in E.164 format.

                - */ - E164PhoneNumbers: string[] | undefined; } export namespace AssociatePhoneNumbersWithVoiceConnectorGroupRequest { @@ -381,9 +382,9 @@ export namespace AssociatePhoneNumbersWithVoiceConnectorGroupResponse { export interface AssociatePhoneNumberWithUserRequest { /** - *

                The phone number, in E.164 format.

                + *

                The user ID.

                */ - E164PhoneNumber: string | undefined; + UserId: string | undefined; /** *

                The Amazon Chime account ID.

                @@ -391,9 +392,9 @@ export interface AssociatePhoneNumberWithUserRequest { AccountId: string | undefined; /** - *

                The user ID.

                + *

                The phone number, in E.164 format.

                */ - UserId: string | undefined; + E164PhoneNumber: string | undefined; } export namespace AssociatePhoneNumberWithUserRequest { @@ -445,14 +446,14 @@ export namespace AssociateSigninDelegateGroupsWithAccountResponse { */ export interface Attendee { /** - *

                The Amazon Chime SDK attendee ID.

                + *

                The join token used by the Amazon Chime SDK attendee.

                */ - AttendeeId?: string; + JoinToken?: string; /** - *

                The join token used by the Amazon Chime SDK attendee.

                + *

                The Amazon Chime SDK attendee ID.

                */ - JoinToken?: string; + AttendeeId?: string; /** *

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

                @@ -473,21 +474,21 @@ export namespace Attendee { */ export interface Tag { /** - *

                The value of the tag.

                + *

                The key of the tag.

                */ - Value: string | undefined; + Key: string | undefined; /** - *

                The key of the tag.

                + *

                The value of the tag.

                */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { export const filterSensitiveLog = (obj: Tag): any => ({ ...obj, - ...(obj.Value && { Value: SENSITIVE_STRING }), ...(obj.Key && { Key: SENSITIVE_STRING }), + ...(obj.Value && { Value: SENSITIVE_STRING }), }); } @@ -496,21 +497,21 @@ export namespace Tag { */ export interface CreateAttendeeRequestItem { /** - *

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

                + *

                The tag key-value pairs.

                */ - ExternalUserId: string | undefined; + Tags?: Tag[]; /** - *

                The tag key-value pairs.

                + *

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

                */ - Tags?: Tag[]; + ExternalUserId: string | undefined; } export namespace CreateAttendeeRequestItem { export const filterSensitiveLog = (obj: CreateAttendeeRequestItem): any => ({ ...obj, - ...(obj.ExternalUserId && { ExternalUserId: SENSITIVE_STRING }), ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + ...(obj.ExternalUserId && { ExternalUserId: SENSITIVE_STRING }), }); } @@ -540,9 +541,9 @@ export namespace BatchCreateAttendeeRequest { */ export interface CreateAttendeeError { /** - *

                The error code.

                + *

                The error message.

                */ - ErrorCode?: string; + ErrorMessage?: string; /** *

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

                @@ -550,9 +551,9 @@ export interface CreateAttendeeError { ExternalUserId?: string; /** - *

                The error message.

                + *

                The error code.

                */ - ErrorMessage?: string; + ErrorCode?: string; } export namespace CreateAttendeeError { @@ -631,14 +632,14 @@ export interface BatchCreateRoomMembershipRequest { MembershipItemList: MembershipItem[] | undefined; /** - *

                The Amazon Chime account ID.

                + *

                The room ID.

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

                The room ID.

                + *

                The Amazon Chime account ID.

                */ - RoomId: string | undefined; + AccountId: string | undefined; } export namespace BatchCreateRoomMembershipRequest { @@ -657,14 +658,14 @@ export interface MemberError { ErrorCode?: ErrorCode | string; /** - *

                The member ID.

                + *

                The error message.

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

                The error message.

                + *

                The member ID.

                */ - ErrorMessage?: string; + MemberId?: string; } export namespace MemberError { @@ -714,14 +715,14 @@ export namespace BatchDeletePhoneNumberResponse { export interface BatchSuspendUserRequest { /** - *

                The request containing the user IDs to suspend.

                + *

                The Amazon Chime account ID.

                */ - UserIdList: string[] | undefined; + AccountId: string | undefined; /** - *

                The Amazon Chime account ID.

                + *

                The request containing the user IDs to suspend.

                */ - AccountId: string | undefined; + UserIdList: string[] | undefined; } export namespace BatchSuspendUserRequest { @@ -736,9 +737,9 @@ export namespace BatchSuspendUserRequest { */ export interface UserError { /** - *

                The error message.

                + *

                The user ID for which the action failed.

                */ - ErrorMessage?: string; + UserId?: string; /** *

                The error code.

                @@ -746,9 +747,9 @@ export interface UserError { ErrorCode?: ErrorCode | string; /** - *

                The user ID for which the action failed.

                + *

                The error message.

                */ - UserId?: string; + ErrorMessage?: string; } export namespace UserError { @@ -774,14 +775,14 @@ export namespace BatchSuspendUserResponse { export interface BatchUnsuspendUserRequest { /** - *

                The request containing the user IDs to unsuspend.

                + *

                The Amazon Chime account ID.

                */ - UserIdList: string[] | undefined; + AccountId: string | undefined; /** - *

                The Amazon Chime account ID.

                + *

                The request containing the user IDs to unsuspend.

                */ - AccountId: string | undefined; + UserIdList: string[] | undefined; } export namespace BatchUnsuspendUserRequest { @@ -815,14 +816,14 @@ export enum PhoneNumberProductType { */ export interface UpdatePhoneNumberRequestItem { /** - *

                The product type to update.

                + *

                The phone number ID to update.

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

                The phone number ID to update.

                + *

                The product type to update.

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

                The outbound calling name to update.

                @@ -878,24 +879,24 @@ export enum UserType { */ export interface UpdateUserRequestItem { /** - *

                The user license type.

                + *

                The user ID.

                */ - LicenseType?: License | string; + UserId: string | undefined; /** - *

                The user type.

                + *

                The Alexa for Business metadata.

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

                The Alexa for Business metadata.

                + *

                The user license type.

                */ - AlexaForBusinessMetadata?: AlexaForBusinessMetadata; + LicenseType?: License | string; /** - *

                The user ID.

                + *

                The user type.

                */ - UserId: string | undefined; + UserType?: UserType | string; } export namespace UpdateUserRequestItem { @@ -957,9 +958,9 @@ export interface Bot { Disabled?: boolean; /** - *

                The security token used to authenticate Amazon Chime with the outgoing event endpoint.

                + *

                The updated bot timestamp, in ISO 8601 format.

                */ - SecurityToken?: string; + UpdatedTimestamp?: Date; /** *

                The bot creation timestamp, in ISO 8601 format.

                @@ -967,9 +968,14 @@ export interface Bot { CreatedTimestamp?: Date; /** - *

                The bot type.

                + *

                The bot ID.

                */ - BotType?: BotType | string; + BotId?: string; + + /** + *

                The bot email address.

                + */ + BotEmail?: string; /** *

                The unique ID for the bot user.

                @@ -982,27 +988,22 @@ export interface Bot { DisplayName?: string; /** - *

                The updated bot timestamp, in ISO 8601 format.

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

                The bot ID.

                + *

                The bot type.

                */ - BotId?: string; + BotType?: BotType | string; /** - *

                The bot email address.

                + *

                The security token used to authenticate Amazon Chime with the outgoing event endpoint.

                */ - BotEmail?: string; + SecurityToken?: string; } export namespace Bot { export const filterSensitiveLog = (obj: Bot): any => ({ ...obj, - ...(obj.SecurityToken && { SecurityToken: SENSITIVE_STRING }), - ...(obj.DisplayName && { DisplayName: SENSITIVE_STRING }), ...(obj.BotEmail && { BotEmail: SENSITIVE_STRING }), + ...(obj.DisplayName && { DisplayName: SENSITIVE_STRING }), + ...(obj.SecurityToken && { SecurityToken: SENSITIVE_STRING }), }); } @@ -1095,6 +1096,11 @@ export namespace CreateAccountResponse { } export interface CreateAttendeeRequest { + /** + *

                The tag key-value pairs.

                + */ + Tags?: Tag[]; + /** *

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

                */ @@ -1104,18 +1110,13 @@ export interface CreateAttendeeRequest { *

                The Amazon Chime SDK meeting ID.

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

                The tag key-value pairs.

                - */ - 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)) }), + ...(obj.ExternalUserId && { ExternalUserId: SENSITIVE_STRING }), }); } @@ -1201,15 +1202,14 @@ export interface CreateMeetingRequest { Tags?: Tag[]; /** - *

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

                - *

                Available values: ap-northeast-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-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 configuration for resource targets to receive notifications when meeting and attendee events occur.

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

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

                + *

                The external meeting ID.

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

                Reserved.

                @@ -1217,26 +1217,27 @@ export interface CreateMeetingRequest { MeetingHostId?: string; /** - *

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

                + *

                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.

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

                The external meeting ID.

                + *

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

                */ - ExternalMeetingId?: string; + ClientRequestToken?: string; } export namespace CreateMeetingRequest { export const filterSensitiveLog = (obj: CreateMeetingRequest): any => ({ ...obj, ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), - ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), - ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), ...(obj.NotificationsConfiguration && { NotificationsConfiguration: MeetingNotificationConfiguration.filterSensitiveLog(obj.NotificationsConfiguration), }), ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), + ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), }); } @@ -1245,39 +1246,39 @@ export namespace CreateMeetingRequest { */ export interface MediaPlacement { /** - *

                The screen viewing URL.

                + *

                The signaling URL.

                */ - ScreenViewingUrl?: string; + SignalingUrl?: string; /** - *

                The audio fallback URL.

                + *

                The screen sharing URL.

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

                The turn control URL.

                + *

                The audio host URL.

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

                The screen data URL.

                + *

                The screen viewing URL.

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

                The screen sharing URL.

                + *

                The screen data URL.

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

                The audio host URL.

                + *

                The turn control URL.

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

                The signaling URL.

                + *

                The audio fallback URL.

                */ - SignalingUrl?: string; + AudioFallbackUrl?: string; } export namespace MediaPlacement { @@ -1291,9 +1292,9 @@ export namespace MediaPlacement { */ export interface Meeting { /** - *

                The external meeting ID.

                + *

                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.

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

                The media placement for the meeting.

                @@ -1306,9 +1307,9 @@ export interface Meeting { MeetingId?: string; /** - *

                The Region in which to create the meeting. Available values: ap-northeast-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-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 external meeting ID.

                */ - MediaRegion?: string; + ExternalMeetingId?: string; } export namespace Meeting { @@ -1339,35 +1340,35 @@ export interface CreateMeetingWithAttendeesRequest { NotificationsConfiguration?: MeetingNotificationConfiguration; /** - *

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

                + *

                Reserved.

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

                The external meeting ID.

                + *

                The tag key-value pairs.

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

                The request containing the attendees to create.

                + *

                The external meeting ID.

                */ - Attendees?: CreateAttendeeRequestItem[]; + ExternalMeetingId?: string; /** *

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

                - *

                Available values: ap-northeast-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-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.

                + *

                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; /** - *

                Reserved.

                + *

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

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

                The tag key-value pairs.

                + *

                The request containing the attendees to create.

                */ - Tags?: Tag[]; + Attendees?: CreateAttendeeRequestItem[]; } export namespace CreateMeetingWithAttendeesRequest { @@ -1376,13 +1377,13 @@ export namespace CreateMeetingWithAttendeesRequest { ...(obj.NotificationsConfiguration && { NotificationsConfiguration: MeetingNotificationConfiguration.filterSensitiveLog(obj.NotificationsConfiguration), }), - ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), ...(obj.Attendees && { Attendees: obj.Attendees.map((item) => CreateAttendeeRequestItem.filterSensitiveLog(item)), }), - ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), - ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), }); } @@ -1393,35 +1394,35 @@ export interface CreateMeetingWithAttendeesResponse { Errors?: CreateAttendeeError[]; /** - *

                The attendee information, including attendees IDs and join tokens.

                + *

                A meeting created using the Amazon Chime SDK.

                */ - Attendees?: Attendee[]; + Meeting?: Meeting; /** - *

                A meeting created using the Amazon Chime SDK.

                + *

                The attendee information, including attendees IDs and join tokens.

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

                List of phone numbers, in E.164 format.

                + *

                The phone number product type.

                */ - E164PhoneNumbers: string[] | undefined; + ProductType: PhoneNumberProductType | string | undefined; /** - *

                The phone number product type.

                + *

                List of phone numbers, in E.164 format.

                */ - ProductType: PhoneNumberProductType | string | undefined; + E164PhoneNumbers: string[] | undefined; } export namespace CreatePhoneNumberOrderRequest { @@ -1482,24 +1483,24 @@ export interface PhoneNumberOrder { UpdatedTimestamp?: Date; /** - *

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

                + *

                The status of the phone number order.

                */ - CreatedTimestamp?: Date; + Status?: PhoneNumberOrderStatus | string; /** - *

                The phone number order product type.

                + *

                The phone number order ID.

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

                The phone number order ID.

                + *

                The phone number order product type.

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

                The status of the phone number order.

                + *

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

                */ - Status?: PhoneNumberOrderStatus | string; + CreatedTimestamp?: Date; } export namespace PhoneNumberOrder { @@ -1558,9 +1559,9 @@ export enum NumberSelectionBehavior { export interface CreateProxySessionRequest { /** - *

                The proxy session capabilities.

                + *

                The country and area code for the proxy phone number.

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

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

                @@ -1568,19 +1569,19 @@ export interface CreateProxySessionRequest { NumberSelectionBehavior?: NumberSelectionBehavior | string; /** - *

                The name of the proxy session.

                + *

                The proxy session capabilities.

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

                The country and area code for the proxy phone number.

                + *

                The number of minutes allowed for the proxy session.

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

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

                + *

                The Amazon Chime voice connector ID.

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

                The participant phone numbers.

                @@ -1588,21 +1589,21 @@ export interface CreateProxySessionRequest { ParticipantPhoneNumbers: string[] | undefined; /** - *

                The Amazon Chime voice connector ID.

                + *

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

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

                The number of minutes allowed for the proxy session.

                + *

                The name of the proxy session.

                */ - ExpiryMinutes?: number; + Name?: string; } export namespace CreateProxySessionRequest { export const filterSensitiveLog = (obj: CreateProxySessionRequest): any => ({ ...obj, - ...(obj.Name && { Name: SENSITIVE_STRING }), ...(obj.ParticipantPhoneNumbers && { ParticipantPhoneNumbers: SENSITIVE_STRING }), + ...(obj.Name && { Name: SENSITIVE_STRING }), }); } @@ -1645,19 +1646,19 @@ export interface ProxySession { NumberSelectionBehavior?: NumberSelectionBehavior | string; /** - *

                The name of the proxy session.

                + *

                The Amazon Chime voice connector ID.

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

                The updated timestamp, in ISO 8601 format.

                + *

                The created timestamp, in ISO 8601 format.

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

                The status of the proxy session.

                + *

                The name of the proxy session.

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

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

                @@ -1665,44 +1666,44 @@ export interface ProxySession { GeoMatchLevel?: GeoMatchLevel | string; /** - *

                The proxy session ID.

                + *

                The ended timestamp, in ISO 8601 format.

                */ - ProxySessionId?: string; + EndedTimestamp?: Date; /** - *

                The number of minutes allowed for the proxy session.

                + *

                The updated timestamp, in ISO 8601 format.

                */ - ExpiryMinutes?: number; + UpdatedTimestamp?: Date; /** - *

                The Amazon Chime voice connector ID.

                + *

                The proxy session capabilities.

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

                The proxy session participants.

                + *

                The country and area code for the proxy phone number.

                */ - Participants?: Participant[]; + GeoMatchParams?: GeoMatchParams; /** - *

                The country and area code for the proxy phone number.

                + *

                The proxy session participants.

                */ - GeoMatchParams?: GeoMatchParams; + Participants?: Participant[]; /** - *

                The proxy session capabilities.

                + *

                The number of minutes allowed for the proxy session.

                */ - Capabilities?: (Capability | string)[]; + ExpiryMinutes?: number; /** - *

                The ended timestamp, in ISO 8601 format.

                + *

                The status of the proxy session.

                */ - EndedTimestamp?: Date; + Status?: ProxySessionStatus | string; /** - *

                The created timestamp, in ISO 8601 format.

                + *

                The proxy session ID.

                */ - CreatedTimestamp?: Date; + ProxySessionId?: string; } export namespace ProxySession { @@ -1722,11 +1723,15 @@ export interface CreateProxySessionResponse { export namespace CreateProxySessionResponse { export const filterSensitiveLog = (obj: CreateProxySessionResponse): any => ({ ...obj, - ...(obj.ProxySession && { ProxySession: ProxySession.filterSensitiveLog(obj.ProxySession) }), }); } export interface CreateRoomRequest { + /** + *

                The idempotency token for the request.

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

                The Amazon Chime account ID.

                */ @@ -1736,18 +1741,13 @@ export interface CreateRoomRequest { *

                The room name.

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

                The idempotency token for the request.

                - */ - ClientRequestToken?: string; } export namespace CreateRoomRequest { export const filterSensitiveLog = (obj: CreateRoomRequest): any => ({ ...obj, - ...(obj.Name && { Name: SENSITIVE_STRING }), ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + ...(obj.Name && { Name: SENSITIVE_STRING }), }); } @@ -1756,19 +1756,19 @@ export namespace CreateRoomRequest { */ export interface Room { /** - *

                The room creation timestamp, in ISO 8601 format.

                + *

                The Amazon Chime account ID.

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

                The Amazon Chime account ID.

                + *

                The room creation timestamp, in ISO 8601 format.

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

                The room update timestamp, in ISO 8601 format.

                + *

                The identifier of the room creator.

                */ - UpdatedTimestamp?: Date; + CreatedBy?: string; /** *

                The room name.

                @@ -1781,9 +1781,9 @@ export interface Room { RoomId?: string; /** - *

                The identifier of the room creator.

                + *

                The room update timestamp, in ISO 8601 format.

                */ - CreatedBy?: string; + UpdatedTimestamp?: Date; } export namespace Room { @@ -1846,36 +1846,36 @@ export enum MemberType { */ export interface Member { /** - *

                The member email address.

                + *

                The member type.

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

                The member ID (user ID or bot ID).

                + *

                The member name.

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

                The Amazon Chime account ID.

                + *

                The member ID (user ID or bot ID).

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

                The member name.

                + *

                The member email address.

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

                The member type.

                + *

                The Amazon Chime account ID.

                */ - MemberType?: MemberType | string; + AccountId?: string; } export namespace Member { export const filterSensitiveLog = (obj: Member): any => ({ ...obj, - ...(obj.Email && { Email: SENSITIVE_STRING }), ...(obj.FullName && { FullName: SENSITIVE_STRING }), + ...(obj.Email && { Email: SENSITIVE_STRING }), }); } @@ -1884,29 +1884,29 @@ export namespace Member { */ export interface RoomMembership { /** - *

                The membership role.

                + *

                The room ID.

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

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

                + *

                The identifier of the user that invited the room member.

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

                The room ID.

                + *

                The room membership update timestamp, in ISO 8601 format.

                */ - RoomId?: string; + UpdatedTimestamp?: Date; /** - *

                The room membership update timestamp, in ISO 8601 format.

                + *

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

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

                The identifier of the user that invited the room member.

                + *

                The membership role.

                */ - InvitedBy?: string; + Role?: RoomMembershipRole | string; } export namespace RoomMembership { @@ -1932,9 +1932,9 @@ export namespace CreateRoomMembershipResponse { export interface CreateUserRequest { /** - *

                The Amazon Chime account ID.

                + *

                The user type.

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

                The user's email address.

                @@ -1942,9 +1942,9 @@ export interface CreateUserRequest { Email?: string; /** - *

                The user type.

                + *

                The Amazon Chime account ID.

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

                The user name.

                @@ -1976,15 +1976,15 @@ export enum RegistrationStatus { */ export interface User { /** - *

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

                + *

                The user ID.

                */ - InvitedOn?: Date; + UserId: string | undefined; /** - *

                The display name of the user.

                + *

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

                */ - DisplayName?: string; + InvitedOn?: Date; /** *

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

                @@ -1992,9 +1992,9 @@ export interface User { RegisteredOn?: Date; /** - *

                The user's personal meeting PIN.

                + *

                The display name of the user.

                */ - PersonalPIN?: string; + DisplayName?: string; /** *

                The user registration status.

                @@ -2002,19 +2002,19 @@ export interface User { UserRegistrationStatus?: RegistrationStatus | string; /** - *

                The Amazon Chime account ID.

                + *

                The user's personal meeting PIN.

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

                The user ID.

                + *

                The Alexa for Business metadata.

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

                The license type for the user.

                + *

                The user type.

                */ - LicenseType?: License | string; + UserType?: UserType | string; /** *

                The primary phone number associated with the user.

                @@ -2022,35 +2022,35 @@ export interface User { PrimaryProvisionedNumber?: string; /** - *

                The primary email address of the user.

                + *

                The user invite status.

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

                The Alexa for Business metadata.

                + *

                The primary email address of the user.

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

                The user type.

                + *

                The Amazon Chime account ID.

                */ - UserType?: UserType | string; + AccountId?: string; /** - *

                The user invite status.

                + *

                The license type for the user.

                */ - UserInvitationStatus?: InviteStatus | string; + LicenseType?: License | string; } export namespace User { export const filterSensitiveLog = (obj: User): any => ({ ...obj, ...(obj.DisplayName && { DisplayName: SENSITIVE_STRING }), - ...(obj.PrimaryProvisionedNumber && { PrimaryProvisionedNumber: SENSITIVE_STRING }), - ...(obj.PrimaryEmail && { PrimaryEmail: SENSITIVE_STRING }), ...(obj.AlexaForBusinessMetadata && { AlexaForBusinessMetadata: AlexaForBusinessMetadata.filterSensitiveLog(obj.AlexaForBusinessMetadata), }), + ...(obj.PrimaryProvisionedNumber && { PrimaryProvisionedNumber: SENSITIVE_STRING }), + ...(obj.PrimaryEmail && { PrimaryEmail: SENSITIVE_STRING }), }); } @@ -2074,11 +2074,6 @@ export enum VoiceConnectorAwsRegion { } export interface CreateVoiceConnectorRequest { - /** - *

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

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

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

                */ @@ -2088,6 +2083,11 @@ export interface CreateVoiceConnectorRequest { *

                The name of the Amazon Chime Voice Connector.

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

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

                + */ + AwsRegion?: VoiceConnectorAwsRegion | string; } export namespace CreateVoiceConnectorRequest { @@ -2101,11 +2101,6 @@ export namespace CreateVoiceConnectorRequest { * encryption settings.

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

                The Amazon Chime Voice Connector ID.

                - */ - VoiceConnectorId?: string; - /** *

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

                */ @@ -2116,15 +2111,20 @@ export interface VoiceConnector { */ UpdatedTimestamp?: Date; + /** + *

                The Amazon Chime Voice Connector ID.

                + */ + VoiceConnectorId?: string; + /** *

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

                */ RequireEncryption?: boolean; /** - *

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

                + *

                The outbound host name for the Amazon Chime Voice Connector.

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

                The name of the Amazon Chime Voice Connector.

                @@ -2132,9 +2132,9 @@ export interface VoiceConnector { Name?: string; /** - *

                The outbound host name for the Amazon Chime Voice Connector.

                + *

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

                */ - OutboundHostName?: string; + AwsRegion?: VoiceConnectorAwsRegion | string; } export namespace VoiceConnector { @@ -2161,14 +2161,14 @@ export namespace CreateVoiceConnectorResponse { */ export interface VoiceConnectorItem { /** - *

                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 Amazon Chime Voice Connector ID.

                */ - Priority: number | undefined; + VoiceConnectorId: string | undefined; /** - *

                The Amazon Chime Voice Connector ID.

                + *

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

                */ - VoiceConnectorId: string | undefined; + Priority: number | undefined; } export namespace VoiceConnectorItem { @@ -2208,24 +2208,24 @@ export interface VoiceConnectorGroup { VoiceConnectorGroupId?: string; /** - *

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

                + *

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

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

                The name of the Amazon Chime Voice Connector group.

                + *

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

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

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

                + *

                The name of the Amazon Chime Voice Connector group.

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

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

                + *

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

                */ - CreatedTimestamp?: Date; + UpdatedTimestamp?: Date; } export namespace VoiceConnectorGroup { @@ -2251,23 +2251,23 @@ export namespace CreateVoiceConnectorGroupResponse { *

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

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

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

                - */ - Password?: string; - /** *

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

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

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

                + */ + Password?: string; } export namespace Credential { export const filterSensitiveLog = (obj: Credential): any => ({ ...obj, - ...(obj.Password && { Password: SENSITIVE_STRING }), ...(obj.Username && { Username: SENSITIVE_STRING }), + ...(obj.Password && { Password: SENSITIVE_STRING }), }); } @@ -2328,14 +2328,14 @@ export namespace DeleteAttendeeRequest { export interface DeleteEventsConfigurationRequest { /** - *

                The bot ID.

                + *

                The Amazon Chime account ID.

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

                The Amazon Chime account ID.

                + *

                The bot ID.

                */ - AccountId: string | undefined; + BotId: string | undefined; } export namespace DeleteEventsConfigurationRequest { @@ -2413,14 +2413,14 @@ export interface DeleteRoomMembershipRequest { MemberId: string | undefined; /** - *

                The Amazon Chime account ID.

                + *

                The room ID.

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

                The room ID.

                + *

                The Amazon Chime account ID.

                */ - RoomId: string | undefined; + AccountId: string | undefined; } export namespace DeleteRoomMembershipRequest { @@ -2567,14 +2567,14 @@ export namespace DisassociatePhoneNumberFromUserResponse { export interface DisassociatePhoneNumbersFromVoiceConnectorRequest { /** - *

                List of phone numbers, in E.164 format.

                + *

                The Amazon Chime Voice Connector ID.

                */ - E164PhoneNumbers: string[] | undefined; + VoiceConnectorId: string | undefined; /** - *

                The Amazon Chime Voice Connector ID.

                + *

                List of phone numbers, in E.164 format.

                */ - VoiceConnectorId: string | undefined; + E164PhoneNumbers: string[] | undefined; } export namespace DisassociatePhoneNumbersFromVoiceConnectorRequest { @@ -2599,14 +2599,14 @@ export namespace DisassociatePhoneNumbersFromVoiceConnectorResponse { export interface DisassociatePhoneNumbersFromVoiceConnectorGroupRequest { /** - *

                The Amazon Chime Voice Connector group ID.

                + *

                List of phone numbers, in E.164 format.

                */ - VoiceConnectorGroupId: string | undefined; + E164PhoneNumbers: string[] | undefined; /** - *

                List of phone numbers, in E.164 format.

                + *

                The Amazon Chime Voice Connector group ID.

                */ - E164PhoneNumbers: string[] | undefined; + VoiceConnectorGroupId: string | undefined; } export namespace DisassociatePhoneNumbersFromVoiceConnectorGroupRequest { @@ -2659,6 +2659,11 @@ export namespace DisassociateSigninDelegateGroupsFromAccountResponse { *

                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 country from which emergency calls are allowed, in ISO 3166-1 alpha-2 format.

                */ @@ -2668,18 +2673,13 @@ export interface DNISEmergencyCallingConfiguration { *

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

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

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

                - */ - EmergencyPhoneNumber: string | undefined; } export namespace DNISEmergencyCallingConfiguration { export const filterSensitiveLog = (obj: DNISEmergencyCallingConfiguration): any => ({ ...obj, - ...(obj.TestPhoneNumber && { TestPhoneNumber: SENSITIVE_STRING }), ...(obj.EmergencyPhoneNumber && { EmergencyPhoneNumber: SENSITIVE_STRING }), + ...(obj.TestPhoneNumber && { TestPhoneNumber: SENSITIVE_STRING }), }); } @@ -2716,14 +2716,14 @@ export interface EventsConfiguration { LambdaFunctionArn?: string; /** - *

                HTTPS endpoint that allows a bot to receive outgoing events.

                + *

                The bot ID.

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

                The bot ID.

                + *

                HTTPS endpoint that allows a bot to receive outgoing events.

                */ - BotId?: string; + OutboundEventsHTTPSEndpoint?: string; } export namespace EventsConfiguration { @@ -2820,14 +2820,14 @@ export namespace GetAttendeeResponse { export interface GetBotRequest { /** - *

                The bot ID.

                + *

                The Amazon Chime account ID.

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

                The Amazon Chime account ID.

                + *

                The bot ID.

                */ - AccountId: string | undefined; + BotId: string | undefined; } export namespace GetBotRequest { @@ -2976,16 +2976,16 @@ export interface PhoneNumberAssociation { */ AssociatedTimestamp?: Date; - /** - *

                Contains the ID for the entity specified in Name.

                - */ - Value?: string; - /** *

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

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

                Contains the ID for the entity specified in Name.

                + */ + Value?: string; } export namespace PhoneNumberAssociation { @@ -3010,24 +3010,24 @@ export interface PhoneNumberCapabilities { InboundSMS?: boolean; /** - *

                Allows or denies inbound calling for the specified phone number.

                + *

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

                */ - InboundCall?: boolean; + OutboundSMS?: boolean; /** - *

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

                + *

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

                */ - OutboundSMS?: boolean; + InboundMMS?: boolean; /** - *

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

                + *

                Allows or denies inbound calling for the specified phone number.

                */ - OutboundMMS?: boolean; + InboundCall?: boolean; /** - *

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

                + *

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

                */ - InboundMMS?: boolean; + OutboundMMS?: boolean; } export namespace PhoneNumberCapabilities { @@ -3057,45 +3057,45 @@ export enum PhoneNumberType { * Connector.

                */ export interface PhoneNumber { - /** - *

                The phone number creation timestamp, in ISO 8601 format.

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

                The updated phone number timestamp, in ISO 8601 format.

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

                The phone number type.

                + *

                The phone number creation timestamp, in ISO 8601 format.

                */ - Type?: PhoneNumberType | string; + CreatedTimestamp?: Date; /** *

                The outbound calling name associated with the phone number.

                */ CallingName?: string; + /** + *

                The phone number type.

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

                The phone number ID.

                */ PhoneNumberId?: string; /** - *

                The phone number associations.

                + *

                The deleted phone number timestamp, in ISO 8601 format.

                */ - Associations?: PhoneNumberAssociation[]; + DeletionTimestamp?: Date; /** - *

                The phone number, in E.164 format.

                + *

                The phone number capabilities.

                */ - E164PhoneNumber?: string; + Capabilities?: PhoneNumberCapabilities; /** - *

                The phone number product type.

                + *

                The phone number status.

                */ - ProductType?: PhoneNumberProductType | string; + Status?: PhoneNumberStatus | string; /** *

                The outbound calling name status.

                @@ -3103,19 +3103,19 @@ export interface PhoneNumber { CallingNameStatus?: CallingNameStatus | string; /** - *

                The phone number capabilities.

                + *

                The phone number product type.

                */ - Capabilities?: PhoneNumberCapabilities; + ProductType?: PhoneNumberProductType | string; /** - *

                The phone number status.

                + *

                The phone number associations.

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

                The deleted phone number timestamp, in ISO 8601 format.

                + *

                The phone number, in E.164 format.

                */ - DeletionTimestamp?: Date; + E164PhoneNumber?: string; } export namespace PhoneNumber { @@ -3169,14 +3169,14 @@ export namespace GetPhoneNumberOrderResponse { export interface GetPhoneNumberSettingsResponse { /** - *

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

                + *

                The default outbound calling name for the account.

                */ - CallingNameUpdatedTimestamp?: Date; + CallingName?: string; /** - *

                The default outbound calling name for the account.

                + *

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

                */ - CallingName?: string; + CallingNameUpdatedTimestamp?: Date; } export namespace GetPhoneNumberSettingsResponse { @@ -3188,14 +3188,14 @@ export namespace GetPhoneNumberSettingsResponse { export interface GetProxySessionRequest { /** - *

                The proxy session ID.

                + *

                The Amazon Chime voice connector ID.

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

                The Amazon Chime voice connector ID.

                + *

                The proxy session ID.

                */ - VoiceConnectorId: string | undefined; + ProxySessionId: string | undefined; } export namespace GetProxySessionRequest { @@ -3214,7 +3214,6 @@ export interface GetProxySessionResponse { export namespace GetProxySessionResponse { export const filterSensitiveLog = (obj: GetProxySessionResponse): any => ({ ...obj, - ...(obj.ProxySession && { ProxySession: ProxySession.filterSensitiveLog(obj.ProxySession) }), }); } @@ -3252,14 +3251,14 @@ export namespace RoomRetentionSettings { */ export interface RetentionSettings { /** - *

                The chat room retention settings.

                + *

                The chat conversation retention settings.

                */ - RoomRetentionSettings?: RoomRetentionSettings; + ConversationRetentionSettings?: ConversationRetentionSettings; /** - *

                The chat conversation retention settings.

                + *

                The chat room retention settings.

                */ - ConversationRetentionSettings?: ConversationRetentionSettings; + RoomRetentionSettings?: RoomRetentionSettings; } export namespace RetentionSettings { @@ -3320,14 +3319,14 @@ export namespace GetRoomResponse { export interface GetUserRequest { /** - *

                The user ID.

                + *

                The Amazon Chime account ID.

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

                The Amazon Chime account ID.

                + *

                The user ID.

                */ - AccountId: string | undefined; + UserId: string | undefined; } export namespace GetUserRequest { @@ -3586,11 +3585,6 @@ export interface OriginationRoute { */ Priority?: number; - /** - *

                The designated origination route port. Defaults to 5060.

                - */ - Port?: number; - /** *

                The FQDN or IP address to contact for origination traffic.

                */ @@ -3600,6 +3594,11 @@ export interface OriginationRoute { *

                The protocol to use for the origination route. Encryption-enabled Amazon Chime Voice Connectors use TCP protocol by default.

                */ Protocol?: OriginationRouteProtocol | string; + + /** + *

                The designated origination route port. Defaults to 5060.

                + */ + Port?: number; } export namespace OriginationRoute { @@ -3613,17 +3612,17 @@ export namespace OriginationRoute { * 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[]; - /** *

                When origination settings are disabled, inbound calls are not enabled for your Amazon * Chime Voice Connector.

                */ Disabled?: boolean; + + /** + *

                The call distribution properties defined for your SIP hosts. Valid range: Minimum value + * of 1. Maximum value of 20.

                + */ + Routes?: OriginationRoute[]; } export namespace Origination { @@ -3667,6 +3666,11 @@ export interface Proxy { */ FallBackPhoneNumber?: string; + /** + *

                The countries for proxy phone numbers to be selected from.

                + */ + PhoneNumberCountries?: string[]; + /** *

                When true, stops proxy sessions from being created on the specified Amazon Chime Voice Connector.

                */ @@ -3676,11 +3680,6 @@ export interface Proxy { *

                The default number of minutes allowed for proxy sessions.

                */ DefaultSessionExpiryMinutes?: number; - - /** - *

                The countries for proxy phone numbers to be selected from.

                - */ - PhoneNumberCountries?: string[]; } export namespace Proxy { @@ -3749,14 +3748,14 @@ export interface StreamingConfiguration { DataRetentionInHours: number | undefined; /** - *

                When true, media streaming to Amazon Kinesis is turned off.

                + *

                The streaming notification targets.

                */ - Disabled?: boolean; + StreamingNotificationTargets?: StreamingNotificationTarget[]; /** - *

                The streaming notification targets.

                + *

                When true, media streaming to Amazon Kinesis is turned off.

                */ - StreamingNotificationTargets?: StreamingNotificationTarget[]; + Disabled?: boolean; } export namespace StreamingConfiguration { @@ -3797,14 +3796,9 @@ export namespace GetVoiceConnectorTerminationRequest { */ export interface Termination { /** - *

                The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. Required.

                - */ - CallingRegions?: string[]; - - /** - *

                The default caller ID phone number.

                + *

                The IP addresses allowed to make calls, in CIDR format. Required.

                */ - DefaultPhoneNumber?: string; + CidrAllowedList?: string[]; /** *

                When termination settings are disabled, outbound calls can not be made.

                @@ -3818,9 +3812,14 @@ export interface Termination { CpsLimit?: number; /** - *

                The IP addresses allowed to make calls, in CIDR format. Required.

                + *

                The default caller ID phone number.

                */ - CidrAllowedList?: string[]; + DefaultPhoneNumber?: string; + + /** + *

                The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. Required.

                + */ + CallingRegions?: string[]; } export namespace Termination { @@ -3898,24 +3897,24 @@ export namespace GetVoiceConnectorTerminationHealthResponse { */ export interface Invite { /** - *

                The status of the invite email.

                + *

                The invite ID.

                */ - EmailStatus?: EmailStatus | string; + InviteId?: string; /** - *

                The status of the invite.

                + *

                The email address to which the invite is sent.

                */ - Status?: InviteStatus | string; + EmailAddress?: string; /** - *

                The invite ID.

                + *

                The status of the invite.

                */ - InviteId?: string; + Status?: InviteStatus | string; /** - *

                The email address to which the invite is sent.

                + *

                The status of the invite email.

                */ - EmailAddress?: string; + EmailStatus?: EmailStatus | string; } export namespace Invite { @@ -3926,11 +3925,6 @@ export namespace Invite { } export interface InviteUsersRequest { - /** - *

                The Amazon Chime account ID.

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

                The user type.

                */ @@ -3940,6 +3934,11 @@ export interface InviteUsersRequest { *

                The user email addresses to which to send the email invitation.

                */ UserEmailList: string[] | undefined; + + /** + *

                The Amazon Chime account ID.

                + */ + AccountId: string | undefined; } export namespace InviteUsersRequest { @@ -3965,14 +3964,14 @@ export namespace InviteUsersResponse { export interface ListAccountsRequest { /** - *

                User email address with which to filter results.

                + *

                The token to use to retrieve the next page of results.

                */ - UserEmail?: string; + NextToken?: string; /** - *

                Amazon Chime account name prefix with which to filter results.

                + *

                User email address with which to filter results.

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

                The maximum number of results to return in a single call. Defaults to 100.

                @@ -3980,9 +3979,9 @@ export interface ListAccountsRequest { MaxResults?: number; /** - *

                The token to use to retrieve the next page of results.

                + *

                Amazon Chime account name prefix with which to filter results.

                */ - NextToken?: string; + Name?: string; } export namespace ListAccountsRequest { @@ -4017,14 +4016,14 @@ export interface ListAttendeesRequest { MaxResults?: number; /** - *

                The Amazon Chime SDK meeting ID.

                + *

                The token to use to retrieve the next page of results.

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

                The token to use to retrieve the next page of results.

                + *

                The Amazon Chime SDK meeting ID.

                */ - NextToken?: string; + MeetingId: string | undefined; } export namespace ListAttendeesRequest { @@ -4054,14 +4053,14 @@ export namespace ListAttendeesResponse { export interface ListAttendeeTagsRequest { /** - *

                The Amazon Chime SDK attendee ID.

                + *

                The Amazon Chime SDK meeting ID.

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

                The Amazon Chime SDK meeting ID.

                + *

                The Amazon Chime SDK attendee ID.

                */ - MeetingId: string | undefined; + AttendeeId: string | undefined; } export namespace ListAttendeeTagsRequest { @@ -4085,6 +4084,11 @@ export namespace ListAttendeeTagsResponse { } 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.

                */ @@ -4094,11 +4098,6 @@ export interface ListBotsRequest { *

                The token to use to retrieve the next page of results.

                */ NextToken?: string; - - /** - *

                The Amazon Chime account ID.

                - */ - AccountId: string | undefined; } export namespace ListBotsRequest { @@ -4192,14 +4191,14 @@ export namespace ListMeetingTagsResponse { export interface ListPhoneNumberOrdersRequest { /** - *

                The maximum number of results to return in a single call.

                + *

                The token to use to retrieve the next page of results.

                */ - MaxResults?: number; + NextToken?: string; /** - *

                The token to use to retrieve the next page of results.

                + *

                The maximum number of results to return in a single call.

                */ - NextToken?: string; + MaxResults?: number; } export namespace ListPhoneNumberOrdersRequest { @@ -4210,14 +4209,14 @@ export namespace ListPhoneNumberOrdersRequest { export interface ListPhoneNumberOrdersResponse { /** - *

                The token to use to retrieve the next page of results.

                + *

                The phone number order details.

                */ - NextToken?: string; + PhoneNumberOrders?: PhoneNumberOrder[]; /** - *

                The phone number order details.

                + *

                The token to use to retrieve the next page of results.

                */ - PhoneNumberOrders?: PhoneNumberOrder[]; + NextToken?: string; } export namespace ListPhoneNumberOrdersResponse { @@ -4228,34 +4227,34 @@ export namespace ListPhoneNumberOrdersResponse { export interface ListPhoneNumbersRequest { /** - *

                The value to use for the filter.

                + *

                The phone number status.

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

                The filter to use to limit the number of results.

                + *

                The token to use to retrieve the next page of results.

                */ - FilterName?: PhoneNumberAssociationName | string; + NextToken?: string; /** - *

                The phone number product type.

                + *

                The maximum number of results to return in a single call.

                */ - ProductType?: PhoneNumberProductType | string; + MaxResults?: number; /** - *

                The phone number status.

                + *

                The phone number product type.

                */ - Status?: PhoneNumberStatus | string; + ProductType?: PhoneNumberProductType | string; /** - *

                The maximum number of results to return in a single call.

                + *

                The value to use for the filter.

                */ - MaxResults?: number; + FilterValue?: string; /** - *

                The token to use to retrieve the next page of results.

                + *

                The filter to use to limit the number of results.

                */ - NextToken?: string; + FilterName?: PhoneNumberAssociationName | string; } export namespace ListPhoneNumbersRequest { @@ -4266,14 +4265,14 @@ export namespace ListPhoneNumbersRequest { export interface ListPhoneNumbersResponse { /** - *

                The phone number details.

                + *

                The token to use to retrieve the next page of results.

                */ - PhoneNumbers?: PhoneNumber[]; + NextToken?: string; /** - *

                The token to use to retrieve the next page of results.

                + *

                The phone number details.

                */ - NextToken?: string; + PhoneNumbers?: PhoneNumber[]; } export namespace ListPhoneNumbersResponse { @@ -4295,14 +4294,14 @@ export interface ListProxySessionsRequest { Status?: ProxySessionStatus | string; /** - *

                The Amazon Chime voice connector ID.

                + *

                The token to use to retrieve the next page of results.

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

                The token to use to retrieve the next page of results.

                + *

                The Amazon Chime voice connector ID.

                */ - NextToken?: string; + VoiceConnectorId: string | undefined; } export namespace ListProxySessionsRequest { @@ -4311,16 +4310,16 @@ export namespace ListProxySessionsRequest { }); } -export interface ListProxySessionsResponse { - /** - *

                The token to use to retrieve the next page of results.

                - */ - NextToken?: string; - +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 { @@ -4336,9 +4335,9 @@ export interface ListRoomMembershipsRequest { AccountId: string | undefined; /** - *

                The maximum number of results to return in a single call.

                + *

                The room ID.

                */ - MaxResults?: number; + RoomId: string | undefined; /** *

                The token to use to retrieve the next page of results.

                @@ -4346,9 +4345,9 @@ export interface ListRoomMembershipsRequest { NextToken?: string; /** - *

                The room ID.

                + *

                The maximum number of results to return in a single call.

                */ - RoomId: string | undefined; + MaxResults?: number; } export namespace ListRoomMembershipsRequest { @@ -4359,14 +4358,14 @@ export namespace ListRoomMembershipsRequest { export interface ListRoomMembershipsResponse { /** - *

                The token to use to retrieve the next page of results.

                + *

                The room membership details.

                */ - NextToken?: string; + RoomMemberships?: RoomMembership[]; /** - *

                The room membership details.

                + *

                The token to use to retrieve the next page of results.

                */ - RoomMemberships?: RoomMembership[]; + NextToken?: string; } export namespace ListRoomMembershipsResponse { @@ -4379,25 +4378,25 @@ export namespace ListRoomMembershipsResponse { } export interface ListRoomsRequest { - /** - *

                The maximum number of results to return in a single call.

                - */ - MaxResults?: number; - /** *

                The Amazon Chime account ID.

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

                The token to use to retrieve the next page of results.

                + *

                The maximum number of results to return in a single call.

                */ - NextToken?: string; + MaxResults?: number; /** *

                The member ID (user ID or bot ID).

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

                The token to use to retrieve the next page of results.

                + */ + NextToken?: string; } export namespace ListRoomsRequest { @@ -4464,6 +4463,11 @@ export interface ListUsersRequest { */ UserEmail?: string; + /** + *

                The maximum number of results to return in a single call. Defaults to 100.

                + */ + MaxResults?: number; + /** *

                The Amazon Chime account ID.

                */ @@ -4473,11 +4477,6 @@ export interface ListUsersRequest { *

                The user type.

                */ UserType?: UserType | string; - - /** - *

                The maximum number of results to return in a single call. Defaults to 100.

                - */ - MaxResults?: number; } export namespace ListUsersRequest { @@ -4562,14 +4561,14 @@ export namespace ListVoiceConnectorsRequest { export interface ListVoiceConnectorsResponse { /** - *

                The token to use to retrieve the next page of results.

                + *

                The details of the Amazon Chime Voice Connectors.

                */ - NextToken?: string; + VoiceConnectors?: VoiceConnector[]; /** - *

                The details of the Amazon Chime Voice Connectors.

                + *

                The token to use to retrieve the next page of results.

                */ - VoiceConnectors?: VoiceConnector[]; + NextToken?: string; } export namespace ListVoiceConnectorsResponse { @@ -4643,14 +4642,14 @@ export interface PutEventsConfigurationRequest { OutboundEventsHTTPSEndpoint?: string; /** - *

                The Amazon Chime account ID.

                + *

                The bot ID.

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

                The bot ID.

                + *

                The Amazon Chime account ID.

                */ - BotId: string | undefined; + AccountId: string | undefined; } export namespace PutEventsConfigurationRequest { @@ -4756,14 +4755,14 @@ export namespace PutVoiceConnectorEmergencyCallingConfigurationResponse { export interface PutVoiceConnectorLoggingConfigurationRequest { /** - *

                The logging configuration details to add.

                + *

                The Amazon Chime Voice Connector ID.

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

                The Amazon Chime Voice Connector ID.

                + *

                The logging configuration details to add.

                */ - VoiceConnectorId: string | undefined; + LoggingConfiguration: LoggingConfiguration | undefined; } export namespace PutVoiceConnectorLoggingConfigurationRequest { @@ -4787,14 +4786,14 @@ export namespace PutVoiceConnectorLoggingConfigurationResponse { export interface PutVoiceConnectorOriginationRequest { /** - *

                The Amazon Chime Voice Connector ID.

                + *

                The origination setting details to add.

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

                The origination setting details to add.

                + *

                The Amazon Chime Voice Connector ID.

                */ - Origination: Origination | undefined; + VoiceConnectorId: string | undefined; } export namespace PutVoiceConnectorOriginationRequest { @@ -4818,19 +4817,19 @@ export namespace PutVoiceConnectorOriginationResponse { export interface PutVoiceConnectorProxyRequest { /** - *

                When true, stops proxy sessions from being created on the specified Amazon Chime Voice Connector.

                + *

                The countries for proxy phone numbers to be selected from.

                */ - Disabled?: boolean; + PhoneNumberPoolCountries: string[] | undefined; /** - *

                The Amazon Chime voice connector ID.

                + *

                The default number of minutes allowed for proxy sessions.

                */ - VoiceConnectorId: string | undefined; + DefaultSessionExpiryMinutes: number | undefined; /** - *

                The default number of minutes allowed for proxy sessions.

                + *

                The Amazon Chime voice connector ID.

                */ - DefaultSessionExpiryMinutes: number | undefined; + VoiceConnectorId: string | undefined; /** *

                The phone number to route calls to after a proxy session expires.

                @@ -4838,9 +4837,9 @@ export interface PutVoiceConnectorProxyRequest { FallBackPhoneNumber?: string; /** - *

                The countries for proxy phone numbers to be selected from.

                + *

                When true, stops proxy sessions from being created on the specified Amazon Chime Voice Connector.

                */ - PhoneNumberPoolCountries: string[] | undefined; + Disabled?: boolean; } export namespace PutVoiceConnectorProxyRequest { @@ -4866,14 +4865,14 @@ export namespace PutVoiceConnectorProxyResponse { export interface PutVoiceConnectorStreamingConfigurationRequest { /** - *

                The Amazon Chime Voice Connector ID.

                + *

                The streaming configuration details to add.

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

                The streaming configuration details to add.

                + *

                The Amazon Chime Voice Connector ID.

                */ - StreamingConfiguration: StreamingConfiguration | undefined; + VoiceConnectorId: string | undefined; } export namespace PutVoiceConnectorStreamingConfigurationRequest { @@ -4897,14 +4896,14 @@ export namespace PutVoiceConnectorStreamingConfigurationResponse { export interface PutVoiceConnectorTerminationRequest { /** - *

                The Amazon Chime Voice Connector ID.

                + *

                The termination setting details to add.

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

                The termination setting details to add.

                + *

                The Amazon Chime Voice Connector ID.

                */ - Termination: Termination | undefined; + VoiceConnectorId: string | undefined; } export namespace PutVoiceConnectorTerminationRequest { @@ -5043,14 +5042,14 @@ export namespace RegenerateSecurityTokenResponse { export interface ResetPersonalPINRequest { /** - *

                The user ID.

                + *

                The Amazon Chime account ID.

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

                The Amazon Chime account ID.

                + *

                The user ID.

                */ - AccountId: string | undefined; + UserId: string | undefined; } export namespace ResetPersonalPINRequest { @@ -5102,19 +5101,19 @@ export namespace RestorePhoneNumberResponse { export interface SearchAvailablePhoneNumbersRequest { /** - *

                The token to use to retrieve the next page of results.

                + *

                The toll-free prefix that you use to filter results.

                */ - NextToken?: string; + TollFreePrefix?: string; /** - *

                The toll-free prefix that you use to filter results.

                + *

                The token to use to retrieve the next page of results.

                */ - TollFreePrefix?: string; + NextToken?: string; /** - *

                The country used to filter results.

                + *

                The area code used to filter results.

                */ - Country?: string; + AreaCode?: string; /** *

                The city used to filter results.

                @@ -5122,19 +5121,19 @@ export interface SearchAvailablePhoneNumbersRequest { City?: string; /** - *

                The state used to filter results.

                + *

                The maximum number of results to return in a single call.

                */ - State?: string; + MaxResults?: number; /** - *

                The maximum number of results to return in a single call.

                + *

                The state used to filter results.

                */ - MaxResults?: number; + State?: string; /** - *

                The area code used to filter results.

                + *

                The country used to filter results.

                */ - AreaCode?: string; + Country?: string; } export namespace SearchAvailablePhoneNumbersRequest { @@ -5164,14 +5163,14 @@ export interface TagAttendeeRequest { MeetingId: string | undefined; /** - *

                The Amazon Chime SDK attendee ID.

                + *

                The tag key-value pairs.

                */ - AttendeeId: string | undefined; + Tags: Tag[] | undefined; /** - *

                The tag key-value pairs.

                + *

                The Amazon Chime SDK attendee ID.

                */ - Tags: Tag[] | undefined; + AttendeeId: string | undefined; } export namespace TagAttendeeRequest { @@ -5227,14 +5226,14 @@ export interface UntagAttendeeRequest { TagKeys: string[] | undefined; /** - *

                The Amazon Chime SDK attendee ID.

                + *

                The Amazon Chime SDK meeting ID.

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

                The Amazon Chime SDK meeting ID.

                + *

                The Amazon Chime SDK attendee ID.

                */ - MeetingId: string | undefined; + AttendeeId: string | undefined; } export namespace UntagAttendeeRequest { @@ -5341,11 +5340,6 @@ export namespace UpdateAccountSettingsResponse { } export interface UpdateBotRequest { - /** - *

                The Amazon Chime account ID.

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

                The bot ID.

                */ @@ -5355,6 +5349,11 @@ export interface UpdateBotRequest { *

                When true, stops the specified bot from running in your account.

                */ Disabled?: boolean; + + /** + *

                The Amazon Chime account ID.

                + */ + AccountId: string | undefined; } export namespace UpdateBotRequest { @@ -5379,14 +5378,14 @@ export namespace UpdateBotResponse { export interface UpdateGlobalSettingsRequest { /** - *

                The Amazon Chime Business Calling settings.

                + *

                The Amazon Chime Voice Connector settings.

                */ - BusinessCalling: BusinessCallingSettings | undefined; + VoiceConnector: VoiceConnectorSettings | undefined; /** - *

                The Amazon Chime Voice Connector settings.

                + *

                The Amazon Chime Business Calling settings.

                */ - VoiceConnector: VoiceConnectorSettings | undefined; + BusinessCalling: BusinessCallingSettings | undefined; } export namespace UpdateGlobalSettingsRequest { @@ -5402,14 +5401,14 @@ export interface UpdatePhoneNumberRequest { ProductType?: PhoneNumberProductType | string; /** - *

                The outbound calling name associated with the phone number.

                + *

                The phone number ID.

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

                The phone number ID.

                + *

                The outbound calling name associated with the phone number.

                */ - PhoneNumberId: string | undefined; + CallingName?: string; } export namespace UpdatePhoneNumberRequest { @@ -5453,11 +5452,6 @@ export interface UpdateProxySessionRequest { */ ProxySessionId: string | undefined; - /** - *

                The proxy session capabilities.

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

                The number of minutes allowed for the proxy session.

                */ @@ -5467,6 +5461,11 @@ export interface UpdateProxySessionRequest { *

                The Amazon Chime voice connector ID.

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

                The proxy session capabilities.

                + */ + Capabilities: (Capability | string)[] | undefined; } export namespace UpdateProxySessionRequest { @@ -5485,16 +5484,10 @@ export interface UpdateProxySessionResponse { export namespace UpdateProxySessionResponse { export const filterSensitiveLog = (obj: UpdateProxySessionResponse): any => ({ ...obj, - ...(obj.ProxySession && { ProxySession: ProxySession.filterSensitiveLog(obj.ProxySession) }), }); } export interface UpdateRoomRequest { - /** - *

                The Amazon Chime account ID.

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

                The room ID.

                */ @@ -5504,6 +5497,11 @@ export interface UpdateRoomRequest { *

                The room name.

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

                The Amazon Chime account ID.

                + */ + AccountId: string | undefined; } export namespace UpdateRoomRequest { @@ -5539,14 +5537,14 @@ export interface UpdateRoomMembershipRequest { Role?: RoomMembershipRole | string; /** - *

                The Amazon Chime account ID.

                + *

                The room ID.

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

                The room ID.

                + *

                The Amazon Chime account ID.

                */ - RoomId: string | undefined; + AccountId: string | undefined; } export namespace UpdateRoomMembershipRequest { @@ -5576,25 +5574,25 @@ export interface UpdateUserRequest { UserId: string | undefined; /** - *

                The user license type to update. This must be a supported license type for the Amazon - * Chime account that the user belongs to.

                + *

                The Amazon Chime account ID.

                */ - LicenseType?: License | string; + AccountId: string | undefined; /** - *

                The Alexa for Business metadata.

                + *

                The user type.

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

                The Amazon Chime account ID.

                + *

                The user license type to update. This must be a supported license type for the Amazon + * Chime account that the user belongs to.

                */ - AccountId: string | undefined; + LicenseType?: License | string; /** - *

                The user type.

                + *

                The Alexa for Business metadata.

                */ - UserType?: UserType | string; + AlexaForBusinessMetadata?: AlexaForBusinessMetadata; } export namespace UpdateUserRequest { @@ -5622,9 +5620,9 @@ export namespace UpdateUserResponse { export interface UpdateUserSettingsRequest { /** - *

                The user ID.

                + *

                The Amazon Chime account ID.

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

                The user settings to update.

                @@ -5632,9 +5630,9 @@ export interface UpdateUserSettingsRequest { UserSettings: UserSettings | undefined; /** - *

                The Amazon Chime account ID.

                + *

                The user ID.

                */ - AccountId: string | undefined; + UserId: string | undefined; } export namespace UpdateUserSettingsRequest { @@ -5644,6 +5642,11 @@ export namespace UpdateUserSettingsRequest { } export interface UpdateVoiceConnectorRequest { + /** + *

                The Amazon Chime Voice Connector ID.

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

                The name of the Amazon Chime Voice Connector.

                */ @@ -5653,11 +5656,6 @@ export interface UpdateVoiceConnectorRequest { *

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

                */ RequireEncryption: boolean | undefined; - - /** - *

                The Amazon Chime Voice Connector ID.

                - */ - VoiceConnectorId: string | undefined; } export namespace UpdateVoiceConnectorRequest { @@ -5686,14 +5684,14 @@ export interface UpdateVoiceConnectorGroupRequest { VoiceConnectorItems: VoiceConnectorItem[] | undefined; /** - *

                The Amazon Chime Voice Connector group ID.

                + *

                The name of the Amazon Chime Voice Connector group.

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

                The name of the Amazon Chime Voice Connector group.

                + *

                The Amazon Chime Voice Connector group ID.

                */ - Name: string | undefined; + VoiceConnectorGroupId: string | undefined; } export namespace UpdateVoiceConnectorGroupRequest { diff --git a/clients/client-chime/protocols/Aws_restJson1.ts b/clients/client-chime/protocols/Aws_restJson1.ts index 127e79469567..38a35036c929 100644 --- a/clients/client-chime/protocols/Aws_restJson1.ts +++ b/clients/client-chime/protocols/Aws_restJson1.ts @@ -475,15 +475,6 @@ export const serializeAws_restJson1AssociatePhoneNumberWithUserCommand = async ( "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) { @@ -493,6 +484,15 @@ export const serializeAws_restJson1AssociatePhoneNumberWithUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: 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."); + } const query: any = { operation: "associate-phone-number", }; @@ -599,15 +599,6 @@ export const serializeAws_restJson1BatchCreateRoomMembershipCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AccountId}/rooms/{RoomId}/memberships"; - 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) { @@ -617,6 +608,15 @@ export const serializeAws_restJson1BatchCreateRoomMembershipCommand = async ( } else { throw new Error("No value provided for input HTTP label: 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."); + } const query: any = { operation: "batch-create", }; @@ -1296,15 +1296,6 @@ export const serializeAws_restJson1DeleteEventsConfigurationCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AccountId}/bots/{BotId}/events-configuration"; - 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."); - } if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -1314,6 +1305,15 @@ export const serializeAws_restJson1DeleteEventsConfigurationCommand = 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."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1482,15 +1482,6 @@ export const serializeAws_restJson1DeleteRoomMembershipCommand = async ( } else { throw new Error("No value provided for input HTTP label: 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) { @@ -1500,6 +1491,15 @@ export const serializeAws_restJson1DeleteRoomMembershipCommand = async ( } else { throw new Error("No value provided for input HTTP label: 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."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2029,15 +2029,6 @@ export const serializeAws_restJson1GetBotCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AccountId}/bots/{BotId}"; - 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."); - } if (input.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -2047,6 +2038,15 @@ export const serializeAws_restJson1GetBotCommand = 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."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2241,15 +2241,6 @@ export const serializeAws_restJson1GetProxySessionCommand = async ( "Content-Type": "", }; let resolvedPath = "/voice-connectors/{VoiceConnectorId}/proxy-sessions/{ProxySessionId}"; - 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."); - } if (input.VoiceConnectorId !== undefined) { const labelValue: string = input.VoiceConnectorId; if (labelValue.length <= 0) { @@ -2259,6 +2250,15 @@ export const serializeAws_restJson1GetProxySessionCommand = 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({ @@ -2349,15 +2349,6 @@ export const serializeAws_restJson1GetUserCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AccountId}/users/{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.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -2367,6 +2358,15 @@ export const serializeAws_restJson1GetUserCommand = 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."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2738,10 +2738,10 @@ export const serializeAws_restJson1ListAccountsCommand = async ( }; let resolvedPath = "/accounts"; const query: any = { + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), ...(input.UserEmail !== undefined && { "user-email": input.UserEmail }), - ...(input.Name !== undefined && { name: input.Name }), ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.Name !== undefined && { name: input.Name }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2800,15 +2800,6 @@ export const serializeAws_restJson1ListAttendeeTagsCommand = async ( "Content-Type": "", }; let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}/tags"; - 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."); - } if (input.MeetingId !== undefined) { const labelValue: string = input.MeetingId; if (labelValue.length <= 0) { @@ -2818,6 +2809,15 @@ export const serializeAws_restJson1ListAttendeeTagsCommand = async ( } 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 body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2931,8 +2931,8 @@ export const serializeAws_restJson1ListPhoneNumberOrdersCommand = async ( }; let resolvedPath = "/phone-number-orders"; const query: any = { - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), ...(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(); @@ -2957,12 +2957,12 @@ export const serializeAws_restJson1ListPhoneNumbersCommand = async ( }; let resolvedPath = "/phone-numbers"; const query: any = { - ...(input.FilterValue !== undefined && { "filter-value": input.FilterValue }), - ...(input.FilterName !== undefined && { "filter-name": input.FilterName }), - ...(input.ProductType !== undefined && { "product-type": input.ProductType }), ...(input.Status !== undefined && { status: input.Status }), - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.ProductType !== undefined && { "product-type": input.ProductType }), + ...(input.FilterValue !== undefined && { "filter-value": input.FilterValue }), + ...(input.FilterName !== undefined && { "filter-name": input.FilterName }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3041,8 +3041,8 @@ export const serializeAws_restJson1ListRoomMembershipsCommand = async ( 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 }), + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3077,8 +3077,8 @@ export const serializeAws_restJson1ListRoomsCommand = async ( } const query: any = { ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), ...(input.MemberId !== undefined && { "member-id": input.MemberId }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3139,8 +3139,8 @@ export const serializeAws_restJson1ListUsersCommand = async ( const query: any = { ...(input.NextToken !== undefined && { "next-token": input.NextToken }), ...(input.UserEmail !== undefined && { "user-email": input.UserEmail }), - ...(input.UserType !== undefined && { "user-type": input.UserType }), ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.UserType !== undefined && { "user-type": input.UserType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3289,15 +3289,6 @@ export const serializeAws_restJson1PutEventsConfigurationCommand = async ( "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; if (labelValue.length <= 0) { @@ -3307,6 +3298,15 @@ export const serializeAws_restJson1PutEventsConfigurationCommand = async ( } else { throw new Error("No value provided for input HTTP label: 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."); + } let body: any; body = JSON.stringify({ ...(input.LambdaFunctionArn !== undefined && { LambdaFunctionArn: input.LambdaFunctionArn }), @@ -3773,15 +3773,6 @@ export const serializeAws_restJson1ResetPersonalPINCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AccountId}/users/{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.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -3791,6 +3782,15 @@ 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", }; @@ -3852,13 +3852,13 @@ export const serializeAws_restJson1SearchAvailablePhoneNumbersCommand = async ( let resolvedPath = "/search"; const query: any = { type: "phone-numbers", - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), ...(input.TollFreePrefix !== undefined && { "toll-free-prefix": input.TollFreePrefix }), - ...(input.Country !== undefined && { country: input.Country }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.AreaCode !== undefined && { "area-code": input.AreaCode }), ...(input.City !== undefined && { city: input.City }), - ...(input.State !== undefined && { state: input.State }), ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.AreaCode !== undefined && { "area-code": input.AreaCode }), + ...(input.State !== undefined && { state: input.State }), + ...(input.Country !== undefined && { country: input.Country }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3994,15 +3994,6 @@ export const serializeAws_restJson1UntagAttendeeCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/meetings/{MeetingId}/attendees/{AttendeeId}/tags"; - 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."); - } if (input.MeetingId !== undefined) { const labelValue: string = input.MeetingId; if (labelValue.length <= 0) { @@ -4012,6 +4003,15 @@ export const serializeAws_restJson1UntagAttendeeCommand = async ( } 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", }; @@ -4174,15 +4174,6 @@ export const serializeAws_restJson1UpdateBotCommand = async ( "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) { @@ -4192,6 +4183,15 @@ export const serializeAws_restJson1UpdateBotCommand = async ( } else { throw new Error("No value provided for input HTTP label: 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."); + } let body: any; body = JSON.stringify({ ...(input.Disabled !== undefined && { Disabled: input.Disabled }), @@ -4348,15 +4348,6 @@ export const serializeAws_restJson1UpdateRoomCommand = async ( "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) { @@ -4366,6 +4357,15 @@ export const serializeAws_restJson1UpdateRoomCommand = async ( } else { throw new Error("No value provided for input HTTP label: 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."); + } let body: any; body = JSON.stringify({ ...(input.Name !== undefined && { Name: input.Name }), @@ -4399,15 +4399,6 @@ export const serializeAws_restJson1UpdateRoomMembershipCommand = async ( } else { throw new Error("No value provided for input HTTP label: 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) { @@ -4417,6 +4408,15 @@ export const serializeAws_restJson1UpdateRoomMembershipCommand = async ( } else { throw new Error("No value provided for input HTTP label: 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."); + } let body: any; body = JSON.stringify({ ...(input.Role !== undefined && { Role: input.Role }), @@ -4487,15 +4487,6 @@ export const serializeAws_restJson1UpdateUserSettingsCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AccountId}/users/{UserId}/settings"; - 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.AccountId !== undefined) { const labelValue: string = input.AccountId; if (labelValue.length <= 0) { @@ -4505,6 +4496,15 @@ 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; + 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 && { diff --git a/clients/client-cloud9/models/models_0.ts b/clients/client-cloud9/models/models_0.ts index 86483e6ad1eb..c02abe3b00c8 100644 --- a/clients/client-cloud9/models/models_0.ts +++ b/clients/client-cloud9/models/models_0.ts @@ -7,9 +7,9 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface BadRequestException extends __SmithyException, $MetadataBearer { name: "BadRequestException"; $fault: "client"; - message?: string; - className?: string; code?: number; + className?: string; + message?: string; } export namespace BadRequestException { @@ -24,9 +24,9 @@ export namespace BadRequestException { export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; $fault: "client"; - message?: string; - code?: number; className?: string; + code?: number; + message?: string; } export namespace ConflictException { @@ -35,19 +35,24 @@ export namespace ConflictException { }); } +export enum ConnectionType { + CONNECT_SSH = "CONNECT_SSH", + CONNECT_SSM = "CONNECT_SSM", +} + /** *

                Metadata that is associated with AWS resources. In particular, a name-value pair that can be associated with an AWS Cloud9 development environment. There are two types of tags: user tags and system tags. A user tag is created by the user. A system tag is automatically created by AWS services. A system tag is prefixed with "aws:" and cannot be modified by the user.

                */ export interface Tag { /** - *

                The value part of a tag.

                + *

                The name part of a tag.

                */ - Value: string | undefined; + Key: string | undefined; /** - *

                The name part of a tag.

                + *

                The value part of a tag.

                */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -58,36 +63,36 @@ export namespace Tag { export interface CreateEnvironmentEC2Request { /** - *

                A unique, case-sensitive string that helps AWS Cloud9 to ensure this operation completes no more than one time.

                - *

                For more information, see Client Tokens in the Amazon EC2 API Reference.

                + *

                The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of any AWS IAM principal. If this value is not specified, the ARN defaults to this environment's creator.

                */ - clientRequestToken?: string; + ownerArn?: string; /** - *

                An array of key-value pairs that will be associated with the new AWS Cloud9 development environment.

                + *

                The type of instance to connect to the environment (for example, t2.micro).

                */ - tags?: Tag[]; + instanceType: string | undefined; /** - *

                The description of the environment to create.

                + *

                The name of the environment to create.

                + *

                This name is visible to other AWS IAM users in the same AWS account.

                */ - description?: string; + name: string | undefined; /** - *

                The number of minutes until the running instance is shut down after the environment has last been used.

                + *

                A unique, case-sensitive string that helps AWS Cloud9 to ensure this operation completes no more than one time.

                + *

                For more information, see Client Tokens in the Amazon EC2 API Reference.

                */ - automaticStopTimeMinutes?: number; + clientRequestToken?: string; /** - *

                The name of the environment to create.

                - *

                This name is visible to other AWS IAM users in the same AWS account.

                + *

                The description of the environment to create.

                */ - name: string | undefined; + description?: string; /** - *

                The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of any AWS IAM principal. If this value is not specified, the ARN defaults to this environment's creator.

                + *

                The number of minutes until the running instance is shut down after the environment has last been used.

                */ - ownerArn?: string; + automaticStopTimeMinutes?: number; /** *

                The ID of the subnet in Amazon VPC that AWS Cloud9 will use to communicate with the Amazon EC2 instance.

                @@ -95,9 +100,14 @@ export interface CreateEnvironmentEC2Request { subnetId?: string; /** - *

                The type of instance to connect to the environment (for example, t2.micro).

                + *

                An array of key-value pairs that will be associated with the new AWS Cloud9 development environment.

                */ - instanceType: string | undefined; + tags?: Tag[]; + + /** + *

                The connection type used for connecting to an Amazon EC2 environment.

                + */ + connectionType?: ConnectionType | string; } export namespace CreateEnvironmentEC2Request { @@ -126,9 +136,9 @@ export namespace CreateEnvironmentEC2Result { export interface ForbiddenException extends __SmithyException, $MetadataBearer { name: "ForbiddenException"; $fault: "client"; - code?: number; - className?: string; message?: string; + className?: string; + code?: number; } export namespace ForbiddenException { @@ -143,8 +153,8 @@ export namespace ForbiddenException { export interface InternalServerErrorException extends __SmithyException, $MetadataBearer { name: "InternalServerErrorException"; $fault: "server"; - message?: string; code?: number; + message?: string; className?: string; } @@ -161,8 +171,8 @@ export interface LimitExceededException extends __SmithyException, $MetadataBear name: "LimitExceededException"; $fault: "client"; className?: string; - code?: number; message?: string; + code?: number; } export namespace LimitExceededException { @@ -178,8 +188,8 @@ export interface NotFoundException extends __SmithyException, $MetadataBearer { name: "NotFoundException"; $fault: "client"; code?: number; - className?: string; message?: string; + className?: string; } export namespace NotFoundException { @@ -194,9 +204,9 @@ export namespace NotFoundException { export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { name: "TooManyRequestsException"; $fault: "client"; - message?: string; className?: string; code?: number; + message?: string; } export namespace TooManyRequestsException { @@ -253,26 +263,6 @@ export enum Permissions { *

                Information about an environment member for an AWS Cloud9 development environment.

                */ export interface EnvironmentMember { - /** - *

                The user ID in AWS Identity and Access Management (AWS IAM) of the environment member.

                - */ - userId?: string; - - /** - *

                The time, expressed in epoch time format, when the environment member last opened the environment.

                - */ - lastAccess?: Date; - - /** - *

                The ID of the environment for the environment member.

                - */ - environmentId?: string; - - /** - *

                The Amazon Resource Name (ARN) of the environment member.

                - */ - userArn?: string; - /** *

                The type of environment member permissions associated with this environment member. Available values include:

                *
                  @@ -291,6 +281,26 @@ export interface EnvironmentMember { *
                */ permissions?: Permissions | string; + + /** + *

                The user ID in AWS Identity and Access Management (AWS IAM) of the environment member.

                + */ + userId?: string; + + /** + *

                The Amazon Resource Name (ARN) of the environment member.

                + */ + userArn?: string; + + /** + *

                The time, expressed in epoch time format, when the environment member last opened the environment.

                + */ + lastAccess?: Date; + + /** + *

                The ID of the environment for the environment member.

                + */ + environmentId?: string; } export namespace EnvironmentMember { @@ -360,6 +370,21 @@ export namespace DeleteEnvironmentMembershipResult { } export interface DescribeEnvironmentMembershipsRequest { + /** + *

                The ID of the environment to get environment member information about.

                + */ + environmentId?: string; + + /** + *

                The maximum number of environment members to get information about.

                + */ + maxResults?: number; + + /** + *

                During a previous call, if there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

                + */ + nextToken?: string; + /** *

                The type of environment member permissions to get information about. Available values include:

                *
                  @@ -380,25 +405,10 @@ export interface DescribeEnvironmentMembershipsRequest { */ permissions?: (Permissions | string)[]; - /** - *

                  The maximum number of environment members to get information about.

                  - */ - maxResults?: number; - /** *

                  The Amazon Resource Name (ARN) of an individual environment member to get information about. If no value is specified, information about all environment members are returned.

                  */ userArn?: string; - - /** - *

                  During a previous call, if there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

                  - */ - nextToken?: string; - - /** - *

                  The ID of the environment to get environment member information about.

                  - */ - environmentId?: string; } export namespace DescribeEnvironmentMembershipsRequest { @@ -450,6 +460,11 @@ export enum EnvironmentLifecycleStatus { *

                  Information about the current creation or deletion lifecycle state of an AWS Cloud9 development environment.

                  */ export interface EnvironmentLifecycle { + /** + *

                  Any informational message about the lifecycle state of the environment.

                  + */ + reason?: string; + /** *

                  The current creation or deletion lifecycle state of the environment.

                  *
                    @@ -481,11 +496,6 @@ export interface EnvironmentLifecycle { *

                    If the environment failed to delete, the Amazon Resource Name (ARN) of the related AWS resource.

                    */ failureResource?: string; - - /** - *

                    Any informational message about the lifecycle state of the environment.

                    - */ - reason?: string; } export namespace EnvironmentLifecycle { @@ -504,14 +514,9 @@ export enum EnvironmentType { */ export interface Environment { /** - *

                    The Amazon Resource Name (ARN) of the environment.

                    - */ - arn?: string; - - /** - *

                    The state of the environment in its creation or deletion lifecycle.

                    + *

                    The connection type used for connecting to an Amazon EC2 environment.

                    */ - lifecycle?: EnvironmentLifecycle; + connectionType?: ConnectionType | string; /** *

                    The type of environment. Valid values include the following:

                    @@ -529,14 +534,14 @@ export interface Environment { type?: EnvironmentType | string; /** - *

                    The description for the environment.

                    + *

                    The state of the environment in its creation or deletion lifecycle.

                    */ - description?: string; + lifecycle?: EnvironmentLifecycle; /** - *

                    The name of the environment.

                    + *

                    The ID of the environment.

                    */ - name?: string; + id?: string; /** *

                    The Amazon Resource Name (ARN) of the environment owner.

                    @@ -544,9 +549,19 @@ export interface Environment { ownerArn?: string; /** - *

                    The ID of the environment.

                    + *

                    The description for the environment.

                    */ - id?: string; + description?: string; + + /** + *

                    The Amazon Resource Name (ARN) of the environment.

                    + */ + arn?: string; + + /** + *

                    The name of the environment.

                    + */ + name?: string; } export namespace Environment { @@ -594,11 +609,6 @@ export enum EnvironmentStatus { } export interface DescribeEnvironmentStatusResult { - /** - *

                    Any informational message about the status of the environment.

                    - */ - message?: string; - /** *

                    The status of the environment. Available values include:

                    *
                      @@ -633,6 +643,11 @@ export interface DescribeEnvironmentStatusResult { *
                    */ status?: EnvironmentStatus | string; + + /** + *

                    Any informational message about the status of the environment.

                    + */ + message?: string; } export namespace DescribeEnvironmentStatusResult { @@ -661,14 +676,14 @@ export namespace ListEnvironmentsRequest { export interface ListEnvironmentsResult { /** - *

                    If there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call.

                    + *

                    The list of environment identifiers.

                    */ - nextToken?: string; + environmentIds?: string[]; /** - *

                    The list of environment identifiers.

                    + *

                    If there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call.

                    */ - environmentIds?: string[]; + nextToken?: string; } export namespace ListEnvironmentsResult { @@ -703,6 +718,23 @@ export namespace ListTagsForResourceResponse { }); } +/** + *

                    A concurrent access issue occurred.

                    + */ +export interface ConcurrentAccessException extends __SmithyException, $MetadataBearer { + name: "ConcurrentAccessException"; + $fault: "client"; + message?: string; + code?: number; + className?: string; +} + +export namespace ConcurrentAccessException { + export const filterSensitiveLog = (obj: ConcurrentAccessException): any => ({ + ...obj, + }); +} + export interface TagResourceRequest { /** *

                    The list of tags to add to the given AWS Cloud9 development environment.

                    @@ -731,14 +763,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                    The Amazon Resource Name (ARN) of the AWS Cloud9 development environment to remove tags from.

                    + *

                    The tag names of the tags to remove from the given AWS Cloud9 development environment.

                    */ - ResourceARN: string | undefined; + TagKeys: string[] | undefined; /** - *

                    The tag names of the tags to remove from the given AWS Cloud9 development environment.

                    + *

                    The Amazon Resource Name (ARN) of the AWS Cloud9 development environment to remove tags from.

                    */ - TagKeys: string[] | undefined; + ResourceARN: string | undefined; } export namespace UntagResourceRequest { @@ -757,9 +789,9 @@ export namespace UntagResourceResponse { export interface UpdateEnvironmentRequest { /** - *

                    The ID of the environment to change settings.

                    + *

                    A replacement name for the environment.

                    */ - environmentId: string | undefined; + name?: string; /** *

                    Any new or replacement description for the environment.

                    @@ -767,9 +799,9 @@ export interface UpdateEnvironmentRequest { description?: string; /** - *

                    A replacement name for the environment.

                    + *

                    The ID of the environment to change settings.

                    */ - name?: string; + environmentId: string | undefined; } export namespace UpdateEnvironmentRequest { @@ -788,11 +820,6 @@ export namespace UpdateEnvironmentResult { } export interface UpdateEnvironmentMembershipRequest { - /** - *

                    The Amazon Resource Name (ARN) of the environment member whose settings you want to change.

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

                    The replacement type of environment member permissions you want to associate with this environment member. Available values include:

                    *
                      @@ -812,6 +839,11 @@ export interface UpdateEnvironmentMembershipRequest { *

                      The ID of the environment for the environment member whose settings you want to change.

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

                      The Amazon Resource Name (ARN) of the environment member whose settings you want to change.

                      + */ + userArn: string | undefined; } export namespace UpdateEnvironmentMembershipRequest { diff --git a/clients/client-cloud9/protocols/Aws_json1_1.ts b/clients/client-cloud9/protocols/Aws_json1_1.ts index 4f417fc0bb12..acdf7f1b508a 100644 --- a/clients/client-cloud9/protocols/Aws_json1_1.ts +++ b/clients/client-cloud9/protocols/Aws_json1_1.ts @@ -37,6 +37,7 @@ import { } from "../commands/UpdateEnvironmentMembershipCommand"; import { BadRequestException, + ConcurrentAccessException, ConflictException, CreateEnvironmentEC2Request, CreateEnvironmentEC2Result, @@ -1187,6 +1188,14 @@ const deserializeAws_json1_1TagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConcurrentAccessException": + case "com.amazonaws.cloud9#ConcurrentAccessException": + response = { + ...(await deserializeAws_json1_1ConcurrentAccessExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerErrorException": case "com.amazonaws.cloud9#InternalServerErrorException": response = { @@ -1258,6 +1267,14 @@ const deserializeAws_json1_1UntagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConcurrentAccessException": + case "com.amazonaws.cloud9#ConcurrentAccessException": + response = { + ...(await deserializeAws_json1_1ConcurrentAccessExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerErrorException": case "com.amazonaws.cloud9#InternalServerErrorException": response = { @@ -1512,6 +1529,21 @@ const deserializeAws_json1_1BadRequestExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1ConcurrentAccessExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ConcurrentAccessException(body, context); + const contents: ConcurrentAccessException = { + name: "ConcurrentAccessException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1ConflictExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -1613,6 +1645,7 @@ const serializeAws_json1_1CreateEnvironmentEC2Request = ( return { ...(input.automaticStopTimeMinutes !== undefined && { automaticStopTimeMinutes: input.automaticStopTimeMinutes }), ...(input.clientRequestToken !== undefined && { clientRequestToken: input.clientRequestToken }), + ...(input.connectionType !== undefined && { connectionType: input.connectionType }), ...(input.description !== undefined && { description: input.description }), ...(input.instanceType !== undefined && { instanceType: input.instanceType }), ...(input.name !== undefined && { name: input.name }), @@ -1766,6 +1799,17 @@ const deserializeAws_json1_1BadRequestException = (output: any, context: __Serde } as any; }; +const deserializeAws_json1_1ConcurrentAccessException = ( + output: any, + context: __SerdeContext +): ConcurrentAccessException => { + return { + className: output.className !== undefined && output.className !== null ? output.className : undefined, + code: output.code !== undefined && output.code !== null ? output.code : undefined, + message: output.message !== undefined && output.message !== null ? output.message : undefined, + } as any; +}; + const deserializeAws_json1_1ConflictException = (output: any, context: __SerdeContext): ConflictException => { return { className: output.className !== undefined && output.className !== null ? output.className : undefined, @@ -1848,6 +1892,8 @@ const deserializeAws_json1_1DescribeEnvironmentStatusResult = ( const deserializeAws_json1_1Environment = (output: any, context: __SerdeContext): Environment => { return { arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + connectionType: + output.connectionType !== undefined && output.connectionType !== null ? output.connectionType : undefined, description: output.description !== undefined && output.description !== null ? output.description : undefined, id: output.id !== undefined && output.id !== null ? output.id : undefined, lifecycle: diff --git a/clients/client-clouddirectory/models/models_0.ts b/clients/client-clouddirectory/models/models_0.ts index e68f6210daac..7bec5573a286 100644 --- a/clients/client-clouddirectory/models/models_0.ts +++ b/clients/client-clouddirectory/models/models_0.ts @@ -21,9 +21,9 @@ export namespace AccessDeniedException { */ export interface AttributeKey { /** - *

                      The name of the facet that the attribute exists within.

                      + *

                      The name of the attribute.

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

                      The Amazon Resource Name (ARN) of the schema that contains the facet and @@ -32,9 +32,9 @@ export interface AttributeKey { SchemaArn: string | undefined; /** - *

                      The name of the attribute.

                      + *

                      The name of the facet that the attribute exists within.

                      */ - Name: string | undefined; + FacetName: string | undefined; } export namespace AttributeKey { @@ -55,24 +55,24 @@ export interface TypedAttributeValue { StringValue?: string; /** - *

                      A number data value.

                      + *

                      A binary data value.

                      */ - NumberValue?: string; + BinaryValue?: Uint8Array; /** - *

                      A binary data value.

                      + *

                      A Boolean data value.

                      */ - BinaryValue?: Uint8Array; + BooleanValue?: boolean; /** - *

                      A date and time value.

                      + *

                      A number data value.

                      */ - DatetimeValue?: Date; + NumberValue?: string; /** - *

                      A Boolean data value.

                      + *

                      A date and time value.

                      */ - BooleanValue?: boolean; + DatetimeValue?: Date; } export namespace TypedAttributeValue { @@ -86,14 +86,14 @@ export namespace TypedAttributeValue { */ export interface AttributeKeyAndValue { /** - *

                      The key of the attribute.

                      + *

                      The value of the attribute.

                      */ - Key: AttributeKey | undefined; + Value: TypedAttributeValue | undefined; /** - *

                      The value of the attribute.

                      + *

                      The key of the attribute.

                      */ - Value: TypedAttributeValue | undefined; + Key: AttributeKey | undefined; } export namespace AttributeKeyAndValue { @@ -154,26 +154,26 @@ export namespace SchemaFacet { } export interface AddFacetToObjectRequest { - /** - *

                      Identifiers for the facet that you are adding to the object. See SchemaFacet for details.

                      - */ - SchemaFacet: SchemaFacet | undefined; - /** *

                      A reference to the object you are adding the specified facet to.

                      */ ObjectReference: ObjectReference | undefined; /** - *

                      Attributes on the facet that you are adding to the object.

                      + *

                      Identifiers for the facet that you are adding to the object. See SchemaFacet for details.

                      */ - ObjectAttributeList?: AttributeKeyAndValue[]; + SchemaFacet: SchemaFacet | undefined; /** *

                      The Amazon Resource Name (ARN) that is associated with the Directory * where the object resides. For more information, see arns.

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

                      Attributes on the facet that you are adding to the object.

                      + */ + ObjectAttributeList?: AttributeKeyAndValue[]; } export namespace AddFacetToObjectRequest { @@ -313,17 +313,17 @@ export namespace ValidationException { } export interface ApplySchemaRequest { - /** - *

                      Published schema Amazon Resource Name (ARN) that needs to be copied. For more - * information, see arns.

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

                      The Amazon Resource Name (ARN) that is associated with the Directory * into which the schema is copied. For more information, see arns.

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

                      Published schema Amazon Resource Name (ARN) that needs to be copied. For more + * information, see arns.

                      + */ + PublishedSchemaArn: string | undefined; } export namespace ApplySchemaRequest { @@ -386,10 +386,9 @@ export namespace SchemaAlreadyExistsException { export interface AttachObjectRequest { /** - *

                      Amazon Resource Name (ARN) that is associated with the Directory - * where both objects reside. For more information, see arns.

                      + *

                      The parent object reference.

                      */ - DirectoryArn: string | undefined; + ParentReference: ObjectReference | undefined; /** *

                      The link name with which the child object is attached to the parent.

                      @@ -397,14 +396,15 @@ export interface AttachObjectRequest { LinkName: string | undefined; /** - *

                      The child object reference to be attached to the object.

                      + *

                      Amazon Resource Name (ARN) that is associated with the Directory + * where both objects reside. For more information, see arns.

                      */ - ChildReference: ObjectReference | undefined; + DirectoryArn: string | undefined; /** - *

                      The parent object reference.

                      + *

                      The child object reference to be attached to the object.

                      */ - ParentReference: ObjectReference | undefined; + ChildReference: ObjectReference | undefined; } export namespace AttachObjectRequest { @@ -444,12 +444,6 @@ export namespace LinkNameAlreadyInUseException { } export interface AttachPolicyRequest { - /** - *

                      The Amazon Resource Name (ARN) that is associated with the Directory - * where both objects reside. For more information, see arns.

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

                      The reference that is associated with the policy object.

                      */ @@ -460,6 +454,12 @@ export interface AttachPolicyRequest { * attached.

                      */ ObjectReference: ObjectReference | undefined; + + /** + *

                      The Amazon Resource Name (ARN) that is associated with the Directory + * where both objects reside. For more information, see arns.

                      + */ + DirectoryArn: string | undefined; } export namespace AttachPolicyRequest { @@ -499,14 +499,14 @@ export interface AttachToIndexRequest { DirectoryArn: string | undefined; /** - *

                      A reference to the object that you are attaching to the index.

                      + *

                      A reference to the index that you are attaching the object to.

                      */ - TargetReference: ObjectReference | undefined; + IndexReference: ObjectReference | undefined; /** - *

                      A reference to the index that you are attaching the object to.

                      + *

                      A reference to the object that you are attaching to the index.

                      */ - IndexReference: ObjectReference | undefined; + TargetReference: ObjectReference | undefined; } export namespace AttachToIndexRequest { @@ -563,14 +563,14 @@ export namespace NotIndexException { */ export interface AttributeNameAndValue { /** - *

                      The value for the typed link.

                      + *

                      The attribute name of the typed link.

                      */ - Value: TypedAttributeValue | undefined; + AttributeName: string | undefined; /** - *

                      The attribute name of the typed link.

                      + *

                      The value for the typed link.

                      */ - AttributeName: string | undefined; + Value: TypedAttributeValue | undefined; } export namespace AttributeNameAndValue { @@ -585,15 +585,15 @@ export namespace AttributeNameAndValue { */ export interface TypedLinkSchemaAndFacetName { /** - *

                      The Amazon Resource Name (ARN) that is associated with the schema. For more - * information, see arns.

                      + *

                      The unique name of the typed link facet.

                      */ - SchemaArn: string | undefined; + TypedLinkName: string | undefined; /** - *

                      The unique name of the typed link facet.

                      + *

                      The Amazon Resource Name (ARN) that is associated with the schema. For more + * information, see arns.

                      */ - TypedLinkName: string | undefined; + SchemaArn: string | undefined; } export namespace TypedLinkSchemaAndFacetName { @@ -604,9 +604,9 @@ export namespace TypedLinkSchemaAndFacetName { export interface AttachTypedLinkRequest { /** - *

                      Identifies the typed link facet that is associated with the typed link.

                      + *

                      A set of attributes that are associated with the typed link.

                      */ - TypedLinkFacet: TypedLinkSchemaAndFacetName | undefined; + Attributes: AttributeNameAndValue[] | undefined; /** *

                      Identifies the source object that the typed link will attach to.

                      @@ -614,15 +614,15 @@ export interface AttachTypedLinkRequest { SourceObjectReference: ObjectReference | undefined; /** - *

                      The Amazon Resource Name (ARN) of the directory where you want to attach the typed - * link.

                      + *

                      Identifies the typed link facet that is associated with the typed link.

                      */ - DirectoryArn: string | undefined; + TypedLinkFacet: TypedLinkSchemaAndFacetName | undefined; /** - *

                      A set of attributes that are associated with the typed link.

                      + *

                      The Amazon Resource Name (ARN) of the directory where you want to attach the typed + * link.

                      */ - Attributes: AttributeNameAndValue[] | undefined; + DirectoryArn: string | undefined; /** *

                      Identifies the target object that the typed link will attach to.

                      @@ -645,9 +645,9 @@ export namespace AttachTypedLinkRequest { */ export interface TypedLinkSpecifier { /** - *

                      Identifies the typed link facet that is associated with the typed link.

                      + *

                      Identifies the source object that the typed link will attach to.

                      */ - TypedLinkFacet: TypedLinkSchemaAndFacetName | undefined; + SourceObjectReference: ObjectReference | undefined; /** *

                      Identifies the target object that the typed link will attach to.

                      @@ -660,9 +660,9 @@ export interface TypedLinkSpecifier { IdentityAttributeValues: AttributeNameAndValue[] | undefined; /** - *

                      Identifies the source object that the typed link will attach to.

                      + *

                      Identifies the typed link facet that is associated with the typed link.

                      */ - SourceObjectReference: ObjectReference | undefined; + TypedLinkFacet: TypedLinkSchemaAndFacetName | undefined; } export namespace TypedLinkSpecifier { @@ -694,14 +694,14 @@ export enum ConsistencyLevel { */ export interface BatchGetLinkAttributes { /** - *

                      A list of attribute names whose values will be retrieved.

                      + *

                      Allows a typed link specifier to be accepted as input.

                      */ - AttributeNames: string[] | undefined; + TypedLinkSpecifier: TypedLinkSpecifier | undefined; /** - *

                      Allows a typed link specifier to be accepted as input.

                      + *

                      A list of attribute names whose values will be retrieved.

                      */ - TypedLinkSpecifier: TypedLinkSpecifier | undefined; + AttributeNames: string[] | undefined; } export namespace BatchGetLinkAttributes { @@ -720,14 +720,14 @@ export interface BatchGetObjectAttributes { SchemaFacet: SchemaFacet | undefined; /** - *

                      List of attribute names whose values will be retrieved.

                      + *

                      Reference that identifies the object whose attributes will be retrieved.

                      */ - AttributeNames: string[] | undefined; + ObjectReference: ObjectReference | undefined; /** - *

                      Reference that identifies the object whose attributes will be retrieved.

                      + *

                      List of attribute names whose values will be retrieved.

                      */ - ObjectReference: ObjectReference | undefined; + AttributeNames: string[] | undefined; } export namespace BatchGetObjectAttributes { @@ -756,11 +756,6 @@ export namespace BatchGetObjectInformation { *

                      Lists indices attached to an object inside a BatchRead operation. For more information, see ListAttachedIndices and BatchReadRequest$Operations.

                      */ export interface BatchListAttachedIndices { - /** - *

                      A reference to the object that has indices attached.

                      - */ - TargetReference: ObjectReference | undefined; - /** *

                      The pagination token.

                      */ @@ -770,6 +765,11 @@ export interface BatchListAttachedIndices { *

                      The maximum number of results to retrieve.

                      */ MaxResults?: number; + + /** + *

                      A reference to the object that has indices attached.

                      + */ + TargetReference: ObjectReference | undefined; } export namespace BatchListAttachedIndices { @@ -796,14 +796,14 @@ export interface TypedAttributeValueRange { StartMode: RangeMode | string | undefined; /** - *

                      The value to start the range at.

                      + *

                      The attribute value to terminate the range at.

                      */ - StartValue?: TypedAttributeValue; + EndValue?: TypedAttributeValue; /** - *

                      The attribute value to terminate the range at.

                      + *

                      The value to start the range at.

                      */ - EndValue?: TypedAttributeValue; + StartValue?: TypedAttributeValue; /** *

                      The inclusive or exclusive range end.

                      @@ -843,16 +843,15 @@ export namespace TypedLinkAttributeRange { */ export interface BatchListIncomingTypedLinks { /** - *

                      Provides range filters for multiple attributes. When providing ranges to typed link - * selection, any inexact ranges must be specified at the end. Any attributes that do not have a - * range specified are presumed to match the entire range.

                      + *

                      The maximum number of results to retrieve.

                      */ - FilterAttributeRanges?: TypedLinkAttributeRange[]; + MaxResults?: number; /** - *

                      The maximum number of results to retrieve.

                      + *

                      Filters are interpreted in the order of the attributes on the typed link facet, not the + * order in which they are supplied to any API calls.

                      */ - MaxResults?: number; + FilterTypedLink?: TypedLinkSchemaAndFacetName; /** *

                      The pagination token.

                      @@ -860,15 +859,16 @@ export interface BatchListIncomingTypedLinks { NextToken?: string; /** - *

                      Filters are interpreted in the order of the attributes on the typed link facet, not the - * order in which they are supplied to any API calls.

                      + *

                      The reference that identifies the object whose attributes will be listed.

                      */ - FilterTypedLink?: TypedLinkSchemaAndFacetName; + ObjectReference: ObjectReference | undefined; /** - *

                      The reference that identifies the object whose attributes will be listed.

                      + *

                      Provides range filters for multiple attributes. When providing ranges to typed link + * selection, any inexact ranges must be specified at the end. Any attributes that do not have a + * range specified are presumed to match the entire range.

                      */ - ObjectReference: ObjectReference | undefined; + FilterAttributeRanges?: TypedLinkAttributeRange[]; } export namespace BatchListIncomingTypedLinks { @@ -882,14 +882,14 @@ export namespace BatchListIncomingTypedLinks { */ export interface ObjectAttributeRange { /** - *

                      The key of the attribute that the attribute range covers.

                      + *

                      The range of attribute values being selected.

                      */ - AttributeKey?: AttributeKey; + Range?: TypedAttributeValueRange; /** - *

                      The range of attribute values being selected.

                      + *

                      The key of the attribute that the attribute range covers.

                      */ - Range?: TypedAttributeValueRange; + AttributeKey?: AttributeKey; } export namespace ObjectAttributeRange { @@ -903,24 +903,24 @@ export namespace ObjectAttributeRange { */ export interface BatchListIndex { /** - *

                      The pagination token.

                      + *

                      The maximum number of results to retrieve.

                      */ - NextToken?: string; + MaxResults?: number; /** - *

                      The maximum number of results to retrieve.

                      + *

                      Specifies the ranges of indexed values that you want to query.

                      */ - MaxResults?: number; + RangesOnIndexedValues?: ObjectAttributeRange[]; /** - *

                      The reference to the index to list.

                      + *

                      The pagination token.

                      */ - IndexReference: ObjectReference | undefined; + NextToken?: string; /** - *

                      Specifies the ranges of indexed values that you want to query.

                      + *

                      The reference to the index to list.

                      */ - RangesOnIndexedValues?: ObjectAttributeRange[]; + IndexReference: ObjectReference | undefined; } export namespace BatchListIndex { @@ -933,17 +933,17 @@ export namespace BatchListIndex { *

                      Represents the output of a ListObjectAttributes operation.

                      */ export interface BatchListObjectAttributes { - /** - *

                      Reference of the object whose attributes need to be listed.

                      - */ - ObjectReference: ObjectReference | undefined; - /** *

                      Used to filter the list of object attributes that are associated with a certain * facet.

                      */ FacetFilter?: SchemaFacet; + /** + *

                      The pagination token.

                      + */ + NextToken?: string; + /** *

                      The maximum number of items to be retrieved in a single call. This is an approximate * number.

                      @@ -951,9 +951,9 @@ export interface BatchListObjectAttributes { MaxResults?: number; /** - *

                      The pagination token.

                      + *

                      Reference of the object whose attributes need to be listed.

                      */ - NextToken?: string; + ObjectReference: ObjectReference | undefined; } export namespace BatchListObjectAttributes { @@ -1021,8 +1021,8 @@ export interface BatchListObjectParents { */ ObjectReference: ObjectReference | undefined; - MaxResults?: number; NextToken?: string; + MaxResults?: number; } export namespace BatchListObjectParents { @@ -1036,14 +1036,14 @@ export namespace BatchListObjectParents { */ export interface BatchListObjectPolicies { /** - *

                      The reference that identifies the object whose attributes will be listed.

                      + *

                      The pagination token.

                      */ - ObjectReference: ObjectReference | undefined; + NextToken?: string; /** - *

                      The pagination token.

                      + *

                      The reference that identifies the object whose attributes will be listed.

                      */ - NextToken?: string; + ObjectReference: ObjectReference | undefined; /** *

                      The maximum number of results to retrieve.

                      @@ -1061,17 +1061,6 @@ export namespace BatchListObjectPolicies { *

                      Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListOutgoingTypedLinks and BatchReadRequest$Operations.

                      */ export interface BatchListOutgoingTypedLinks { - /** - *

                      Filters are interpreted in the order of the attributes defined on the typed link facet, - * not the order they are supplied to any API calls.

                      - */ - FilterTypedLink?: TypedLinkSchemaAndFacetName; - - /** - *

                      The reference that identifies the object whose attributes will be listed.

                      - */ - ObjectReference: ObjectReference | undefined; - /** *

                      The maximum number of results to retrieve.

                      */ @@ -1084,15 +1073,26 @@ export interface BatchListOutgoingTypedLinks { */ FilterAttributeRanges?: TypedLinkAttributeRange[]; + /** + *

                      The reference that identifies the object whose attributes will be listed.

                      + */ + ObjectReference: ObjectReference | undefined; + /** *

                      The pagination token.

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

                      Filters are interpreted in the order of the attributes defined on the typed link facet, + * not the order they are supplied to any API calls.

                      + */ + FilterTypedLink?: TypedLinkSchemaAndFacetName; +} + +export namespace BatchListOutgoingTypedLinks { + export const filterSensitiveLog = (obj: BatchListOutgoingTypedLinks): any => ({ + ...obj, }); } @@ -1100,6 +1100,11 @@ export namespace BatchListOutgoingTypedLinks { *

                      Returns all of the ObjectIdentifiers to which a given policy is attached inside a BatchRead operation. For more information, see ListPolicyAttachments and BatchReadRequest$Operations.

                      */ export interface BatchListPolicyAttachments { + /** + *

                      The maximum number of results to retrieve.

                      + */ + MaxResults?: number; + /** *

                      The pagination token.

                      */ @@ -1109,11 +1114,6 @@ export interface BatchListPolicyAttachments { *

                      The reference that identifies the policy object.

                      */ PolicyReference: ObjectReference | undefined; - - /** - *

                      The maximum number of results to retrieve.

                      - */ - MaxResults?: number; } export namespace BatchListPolicyAttachments { @@ -1126,11 +1126,6 @@ export namespace BatchListPolicyAttachments { *

                      Lists all policies from the root of the Directory to the object specified inside a BatchRead operation. For more information, see LookupPolicy and BatchReadRequest$Operations.

                      */ export interface BatchLookupPolicy { - /** - *

                      The maximum number of results to retrieve.

                      - */ - MaxResults?: number; - /** *

                      Reference that identifies the object whose policies will be looked up.

                      */ @@ -1140,6 +1135,11 @@ export interface BatchLookupPolicy { *

                      The pagination token.

                      */ NextToken?: string; + + /** + *

                      The maximum number of results to retrieve.

                      + */ + MaxResults?: number; } export namespace BatchLookupPolicy { @@ -1153,24 +1153,26 @@ export namespace BatchLookupPolicy { */ export interface BatchReadOperation { /** - *

                      Returns a paginated list of all the outgoing TypedLinkSpecifier - * information for an object. It also supports filtering by typed link facet and identity - * attributes. For more information, see Typed Links.

                      + *

                      Retrieves all available parent paths for any object type such as node, leaf node, + * policy node, and index node objects. For more information about objects, see Directory Structure.

                      */ - ListOutgoingTypedLinks?: BatchListOutgoingTypedLinks; + ListObjectParentPaths?: BatchListObjectParentPaths; - ListObjectParents?: BatchListObjectParents; /** - *

                      Lists objects attached to the specified index.

                      + *

                      Returns a paginated list of child objects that are associated with a given + * object.

                      */ - ListIndex?: BatchListIndex; + ListObjectChildren?: BatchListObjectChildren; /** - *

                      Returns a paginated list of all the incoming TypedLinkSpecifier - * information for an object. It also supports filtering by typed link facet and identity - * attributes. For more information, see Typed Links.

                      + *

                      Lists all policies from the root of the Directory to the object + * specified. If there are no policies present, an empty list is returned. If policies are + * present, and if some objects don't have the policies attached, it returns the ObjectIdentifier + * for such objects. If policies are present, it returns ObjectIdentifier, policyId, and + * policyType. Paths that don't lead to the root from the target object are ignored. For more + * information, see Policies.

                      */ - ListIncomingTypedLinks?: BatchListIncomingTypedLinks; + LookupPolicy?: BatchLookupPolicy; /** *

                      Returns policies attached to an object in pagination fashion.

                      @@ -1178,56 +1180,54 @@ export interface BatchReadOperation { ListObjectPolicies?: BatchListObjectPolicies; /** - *

                      Lists all attributes that are associated with an object.

                      + *

                      Retrieves attributes within a facet that are associated with an object.

                      */ - ListObjectAttributes?: BatchListObjectAttributes; + GetObjectAttributes?: BatchGetObjectAttributes; /** - *

                      Retrieves attributes that are associated with a typed link.

                      + *

                      Retrieves metadata about an object.

                      */ - GetLinkAttributes?: BatchGetLinkAttributes; + GetObjectInformation?: BatchGetObjectInformation; /** - *

                      Lists all policies from the root of the Directory to the object - * specified. If there are no policies present, an empty list is returned. If policies are - * present, and if some objects don't have the policies attached, it returns the ObjectIdentifier - * for such objects. If policies are present, it returns ObjectIdentifier, policyId, and - * policyType. Paths that don't lead to the root from the target object are ignored. For more - * information, see Policies.

                      + *

                      Lists objects attached to the specified index.

                      */ - LookupPolicy?: BatchLookupPolicy; + ListIndex?: BatchListIndex; + ListObjectParents?: BatchListObjectParents; /** - *

                      Returns a paginated list of child objects that are associated with a given - * object.

                      + *

                      Retrieves attributes that are associated with a typed link.

                      */ - ListObjectChildren?: BatchListObjectChildren; + GetLinkAttributes?: BatchGetLinkAttributes; /** - *

                      Retrieves metadata about an object.

                      + *

                      Returns all of the ObjectIdentifiers to which a given policy is attached.

                      */ - GetObjectInformation?: BatchGetObjectInformation; + ListPolicyAttachments?: BatchListPolicyAttachments; /** - *

                      Lists indices attached to an object.

                      + *

                      Lists all attributes that are associated with an object.

                      */ - ListAttachedIndices?: BatchListAttachedIndices; + ListObjectAttributes?: BatchListObjectAttributes; /** - *

                      Returns all of the ObjectIdentifiers to which a given policy is attached.

                      + *

                      Returns a paginated list of all the outgoing TypedLinkSpecifier + * information for an object. It also supports filtering by typed link facet and identity + * attributes. For more information, see Typed Links.

                      */ - ListPolicyAttachments?: BatchListPolicyAttachments; + ListOutgoingTypedLinks?: BatchListOutgoingTypedLinks; /** - *

                      Retrieves attributes within a facet that are associated with an object.

                      + *

                      Lists indices attached to an object.

                      */ - GetObjectAttributes?: BatchGetObjectAttributes; + ListAttachedIndices?: BatchListAttachedIndices; /** - *

                      Retrieves all available parent paths for any object type such as node, leaf node, - * policy node, and index node objects. For more information about objects, see Directory Structure.

                      + *

                      Returns a paginated list of all the incoming TypedLinkSpecifier + * information for an object. It also supports filtering by typed link facet and identity + * attributes. For more information, see Typed Links.

                      */ - ListObjectParentPaths?: BatchListObjectParentPaths; + ListIncomingTypedLinks?: BatchListIncomingTypedLinks; } export namespace BatchReadOperation { @@ -1237,18 +1237,18 @@ export namespace BatchReadOperation { } export interface BatchReadRequest { - /** - *

                      The Amazon Resource Name (ARN) that is associated with the Directory. - * For more information, see arns.

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

                      Represents the manner and timing in which the successful write or update of an object * is reflected in a subsequent read operation of that same object.

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

                      The Amazon Resource Name (ARN) that is associated with the Directory. + * For more information, see arns.

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

                      A list of operations that are part of the batch.

                      */ @@ -1283,14 +1283,14 @@ export enum BatchReadExceptionType { */ export interface BatchReadException { /** - *

                      A type of exception, such as InvalidArnException.

                      + *

                      An exception message that is associated with the failure.

                      */ - Type?: BatchReadExceptionType | string; + Message?: string; /** - *

                      An exception message that is associated with the failure.

                      + *

                      A type of exception, such as InvalidArnException.

                      */ - Message?: string; + Type?: BatchReadExceptionType | string; } export namespace BatchReadException { @@ -1357,14 +1357,14 @@ export namespace BatchGetObjectInformationResponse { */ export interface IndexAttachment { /** - *

                      The indexed attribute values.

                      + *

                      In response to ListIndex, the ObjectIdentifier of the object attached to the index. In response to ListAttachedIndices, the ObjectIdentifier of the index attached to the object. This field will always contain the ObjectIdentifier of the object on the opposite side of the attachment specified in the query.

                      */ - IndexedAttributes?: AttributeKeyAndValue[]; + ObjectIdentifier?: string; /** - *

                      In response to ListIndex, the ObjectIdentifier of the object attached to the index. In response to ListAttachedIndices, the ObjectIdentifier of the index attached to the object. This field will always contain the ObjectIdentifier of the object on the opposite side of the attachment specified in the query.

                      + *

                      The indexed attribute values.

                      */ - ObjectIdentifier?: string; + IndexedAttributes?: AttributeKeyAndValue[]; } export namespace IndexAttachment { @@ -1420,14 +1420,14 @@ export namespace BatchListIncomingTypedLinksResponse { */ export interface BatchListIndexResponse { /** - *

                      The pagination token.

                      + *

                      The objects and indexed values attached to the index.

                      */ - NextToken?: string; + IndexAttachments?: IndexAttachment[]; /** - *

                      The objects and indexed values attached to the index.

                      + *

                      The pagination token.

                      */ - IndexAttachments?: IndexAttachment[]; + NextToken?: string; } export namespace BatchListIndexResponse { @@ -1440,16 +1440,16 @@ export namespace BatchListIndexResponse { *

                      Represents the output of a ListObjectAttributes response operation.

                      */ export interface BatchListObjectAttributesResponse { - /** - *

                      The pagination token.

                      - */ - NextToken?: string; - /** *

                      The attributes map that is associated with the object. AttributeArn is the * key; attribute value is the value.

                      */ Attributes?: AttributeKeyAndValue[]; + + /** + *

                      The pagination token.

                      + */ + NextToken?: string; } export namespace BatchListObjectAttributesResponse { @@ -1463,15 +1463,15 @@ export namespace BatchListObjectAttributesResponse { */ export interface BatchListObjectChildrenResponse { /** - *

                      The children structure, which is a map with the key as the LinkName and - * ObjectIdentifier as the value.

                      + *

                      The pagination token.

                      */ - Children?: { [key: string]: string }; + NextToken?: string; /** - *

                      The pagination token.

                      + *

                      The children structure, which is a map with the key as the LinkName and + * ObjectIdentifier as the value.

                      */ - NextToken?: string; + Children?: { [key: string]: string }; } export namespace BatchListObjectChildrenResponse { @@ -1605,14 +1605,14 @@ export namespace BatchListOutgoingTypedLinksResponse { */ export interface BatchListPolicyAttachmentsResponse { /** - *

                      The pagination token.

                      + *

                      A list of ObjectIdentifiers to which the policy is attached.

                      */ - NextToken?: string; + ObjectIdentifiers?: string[]; /** - *

                      A list of ObjectIdentifiers to which the policy is attached.

                      + *

                      The pagination token.

                      */ - ObjectIdentifiers?: string[]; + NextToken?: string; } export namespace BatchListPolicyAttachmentsResponse { @@ -1633,15 +1633,15 @@ export interface PolicyAttachment { PolicyType?: string; /** - *

                      The ObjectIdentifier that is associated with - * PolicyAttachment.

                      + *

                      The ID of PolicyAttachment.

                      */ - ObjectIdentifier?: string; + PolicyId?: string; /** - *

                      The ID of PolicyAttachment.

                      + *

                      The ObjectIdentifier that is associated with + * PolicyAttachment.

                      */ - PolicyId?: string; + ObjectIdentifier?: string; } export namespace PolicyAttachment { @@ -1657,14 +1657,14 @@ export namespace PolicyAttachment { */ export interface PolicyToPath { /** - *

                      The path that is referenced from the root.

                      + *

                      List of policy objects.

                      */ - Path?: string; + Policies?: PolicyAttachment[]; /** - *

                      List of policy objects.

                      + *

                      The path that is referenced from the root.

                      */ - Policies?: PolicyAttachment[]; + Path?: string; } export namespace PolicyToPath { @@ -1677,17 +1677,17 @@ export namespace PolicyToPath { *

                      Represents the output of a LookupPolicy response operation.

                      */ export interface BatchLookupPolicyResponse { + /** + *

                      The pagination token.

                      + */ + NextToken?: string; + /** *

                      Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and * PolicyType. For more * information, see Policies.

                      */ PolicyToPathList?: PolicyToPath[]; - - /** - *

                      The pagination token.

                      - */ - NextToken?: string; } export namespace BatchLookupPolicyResponse { @@ -1701,36 +1701,9 @@ export namespace BatchLookupPolicyResponse { */ export interface BatchReadSuccessfulResponse { /** - *

                      Lists all attributes that are associated with an object.

                      - */ - ListObjectAttributes?: BatchListObjectAttributesResponse; - - /** - *

                      Returns a paginated list of all the incoming TypedLinkSpecifier - * information for an object. It also supports filtering by typed link facet and identity - * attributes. For more information, see Typed Links.

                      - */ - ListIncomingTypedLinks?: BatchListIncomingTypedLinksResponse; - - /** - *

                      Retrieves attributes within a facet that are associated with an object.

                      - */ - GetObjectAttributes?: BatchGetObjectAttributesResponse; - - /** - *

                      Lists objects attached to the specified index.

                      - */ - ListIndex?: BatchListIndexResponse; - - /** - *

                      Returns policies attached to an object in pagination fashion.

                      - */ - ListObjectPolicies?: BatchListObjectPoliciesResponse; - - /** - *

                      The list of attributes to retrieve from the typed link.

                      + *

                      Retrieves metadata about an object.

                      */ - GetLinkAttributes?: BatchGetLinkAttributesResponse; + GetObjectInformation?: BatchGetObjectInformationResponse; /** *

                      Returns a paginated list of child objects that are associated with a given @@ -1749,11 +1722,15 @@ export interface BatchReadSuccessfulResponse { LookupPolicy?: BatchLookupPolicyResponse; /** - *

                      Retrieves metadata about an object.

                      + *

                      Returns policies attached to an object in pagination fashion.

                      */ - GetObjectInformation?: BatchGetObjectInformationResponse; + ListObjectPolicies?: BatchListObjectPoliciesResponse; + + /** + *

                      Returns all of the ObjectIdentifiers to which a given policy is attached.

                      + */ + ListPolicyAttachments?: BatchListPolicyAttachmentsResponse; - ListObjectParents?: BatchListObjectParentsResponse; /** *

                      Retrieves all available parent paths for any object type such as node, leaf node, * policy node, and index node objects. For more information about objects, see Directory Structure.

                      @@ -1761,42 +1738,65 @@ export interface BatchReadSuccessfulResponse { ListObjectParentPaths?: BatchListObjectParentPathsResponse; /** - *

                      Lists indices attached to an object.

                      + *

                      Retrieves attributes within a facet that are associated with an object.

                      */ - ListAttachedIndices?: BatchListAttachedIndicesResponse; + GetObjectAttributes?: BatchGetObjectAttributesResponse; /** - *

                      Returns all of the ObjectIdentifiers to which a given policy is attached.

                      + *

                      Lists objects attached to the specified index.

                      */ - ListPolicyAttachments?: BatchListPolicyAttachmentsResponse; + ListIndex?: BatchListIndexResponse; + ListObjectParents?: BatchListObjectParentsResponse; /** *

                      Returns a paginated list of all the outgoing TypedLinkSpecifier * information for an object. It also supports filtering by typed link facet and identity * attributes. For more information, see Typed Links.

                      */ ListOutgoingTypedLinks?: BatchListOutgoingTypedLinksResponse; -} - -export namespace BatchReadSuccessfulResponse { - export const filterSensitiveLog = (obj: BatchReadSuccessfulResponse): any => ({ - ...obj, - }); -} -/** - *

                      Represents the output of a BatchRead response operation.

                      - */ -export interface BatchReadOperationResponse { /** - *

                      Identifies which operation in a batch has succeeded.

                      + *

                      Lists indices attached to an object.

                      */ - SuccessfulResponse?: BatchReadSuccessfulResponse; + ListAttachedIndices?: BatchListAttachedIndicesResponse; + + /** + *

                      Returns a paginated list of all the incoming TypedLinkSpecifier + * information for an object. It also supports filtering by typed link facet and identity + * attributes. For more information, see Typed Links.

                      + */ + ListIncomingTypedLinks?: BatchListIncomingTypedLinksResponse; + + /** + *

                      Lists all attributes that are associated with an object.

                      + */ + ListObjectAttributes?: BatchListObjectAttributesResponse; + + /** + *

                      The list of attributes to retrieve from the typed link.

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

                      Represents the output of a BatchRead response operation.

                      + */ +export interface BatchReadOperationResponse { /** *

                      Identifies which operation in a batch has failed.

                      */ ExceptionResponse?: BatchReadException; + + /** + *

                      Identifies which operation in a batch has succeeded.

                      + */ + SuccessfulResponse?: BatchReadSuccessfulResponse; } export namespace BatchReadOperationResponse { @@ -1845,8 +1845,8 @@ export enum BatchWriteExceptionType { export interface BatchWriteException extends __SmithyException, $MetadataBearer { name: "BatchWriteException"; $fault: "client"; - Index?: number; Type?: BatchWriteExceptionType | string; + Index?: number; Message?: string; } @@ -1861,9 +1861,9 @@ export namespace BatchWriteException { */ export interface BatchAddFacetToObject { /** - *

                      The attributes to set on the object.

                      + *

                      Represents the facet being added to the object.

                      */ - ObjectAttributeList: AttributeKeyAndValue[] | undefined; + SchemaFacet: SchemaFacet | undefined; /** *

                      A reference to the object being mutated.

                      @@ -1871,9 +1871,9 @@ export interface BatchAddFacetToObject { ObjectReference: ObjectReference | undefined; /** - *

                      Represents the facet being added to the object.

                      + *

                      The attributes to set on the object.

                      */ - SchemaFacet: SchemaFacet | undefined; + ObjectAttributeList: AttributeKeyAndValue[] | undefined; } export namespace BatchAddFacetToObject { @@ -1886,6 +1886,11 @@ export namespace BatchAddFacetToObject { *

                      Represents the output of an AttachObject operation.

                      */ export interface BatchAttachObject { + /** + *

                      The child object reference that is to be attached to the object.

                      + */ + ChildReference: ObjectReference | undefined; + /** *

                      The name of the link.

                      */ @@ -1895,11 +1900,6 @@ export interface BatchAttachObject { *

                      The parent object reference.

                      */ ParentReference: ObjectReference | undefined; - - /** - *

                      The child object reference that is to be attached to the object.

                      - */ - ChildReference: ObjectReference | undefined; } export namespace BatchAttachObject { @@ -1913,15 +1913,15 @@ export namespace BatchAttachObject { */ export interface BatchAttachPolicy { /** - *

                      The reference that identifies the object to which the policy will be - * attached.

                      + *

                      The reference that is associated with the policy object.

                      */ - ObjectReference: ObjectReference | undefined; + PolicyReference: ObjectReference | undefined; /** - *

                      The reference that is associated with the policy object.

                      + *

                      The reference that identifies the object to which the policy will be + * attached.

                      */ - PolicyReference: ObjectReference | undefined; + ObjectReference: ObjectReference | undefined; } export namespace BatchAttachPolicy { @@ -1956,9 +1956,9 @@ export namespace BatchAttachToIndex { */ export interface BatchAttachTypedLink { /** - *

                      Identifies the source object that the typed link will attach to.

                      + *

                      A set of attributes that are associated with the typed link.

                      */ - SourceObjectReference: ObjectReference | undefined; + Attributes: AttributeNameAndValue[] | undefined; /** *

                      Identifies the target object that the typed link will attach to.

                      @@ -1966,14 +1966,14 @@ export interface BatchAttachTypedLink { TargetObjectReference: ObjectReference | undefined; /** - *

                      Identifies the typed link facet that is associated with the typed link.

                      + *

                      Identifies the source object that the typed link will attach to.

                      */ - TypedLinkFacet: TypedLinkSchemaAndFacetName | undefined; + SourceObjectReference: ObjectReference | undefined; /** - *

                      A set of attributes that are associated with the typed link.

                      + *

                      Identifies the typed link facet that is associated with the typed link.

                      */ - Attributes: AttributeNameAndValue[] | undefined; + TypedLinkFacet: TypedLinkSchemaAndFacetName | undefined; } export namespace BatchAttachTypedLink { @@ -1992,26 +1992,26 @@ export interface BatchCreateIndex { */ OrderedIndexedAttributeList: AttributeKey[] | undefined; - /** - *

                      A reference to the parent object that contains the index object.

                      - */ - ParentReference?: ObjectReference; - /** *

                      The batch reference name. See Transaction Support for more information.

                      */ BatchReferenceName?: string; /** - *

                      The name of the link between the parent object and the index object.

                      + *

                      A reference to the parent object that contains the index object.

                      */ - LinkName?: string; + ParentReference?: ObjectReference; /** *

                      Indicates whether the attribute that is being indexed has unique values or * not.

                      */ IsUnique: boolean | undefined; + + /** + *

                      The name of the link between the parent object and the index object.

                      + */ + LinkName?: string; } export namespace BatchCreateIndex { @@ -2025,15 +2025,10 @@ export namespace BatchCreateIndex { */ export interface BatchCreateObject { /** - *

                      If specified, the parent reference to which this object will be attached.

                      - */ - ParentReference?: ObjectReference; - - /** - *

                      A list of FacetArns that will be associated with the object. For more - * information, see arns.

                      + *

                      An attribute map, which contains an attribute ARN as the key and attribute value as + * the map value.

                      */ - SchemaFacet: SchemaFacet[] | undefined; + ObjectAttributeList: AttributeKeyAndValue[] | undefined; /** *

                      The name of the link.

                      @@ -2046,10 +2041,15 @@ export interface BatchCreateObject { BatchReferenceName?: string; /** - *

                      An attribute map, which contains an attribute ARN as the key and attribute value as - * the map value.

                      + *

                      A list of FacetArns that will be associated with the object. For more + * information, see arns.

                      */ - ObjectAttributeList: AttributeKeyAndValue[] | undefined; + SchemaFacet: SchemaFacet[] | undefined; + + /** + *

                      If specified, the parent reference to which this object will be attached.

                      + */ + ParentReference?: ObjectReference; } export namespace BatchCreateObject { @@ -2099,11 +2099,6 @@ export namespace BatchDetachFromIndex { *

                      Represents the output of a DetachObject operation.

                      */ export interface BatchDetachObject { - /** - *

                      The name of the link.

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

                      The batch reference name. See Transaction Support for more information.

                      */ @@ -2114,6 +2109,11 @@ export interface BatchDetachObject { * detached.

                      */ ParentReference: ObjectReference | undefined; + + /** + *

                      The name of the link.

                      + */ + LinkName: string | undefined; } export namespace BatchDetachObject { @@ -2127,14 +2127,14 @@ export namespace BatchDetachObject { */ export interface BatchDetachPolicy { /** - *

                      Reference that identifies the object whose policy object will be detached.

                      + *

                      Reference that identifies the policy object.

                      */ - ObjectReference: ObjectReference | undefined; + PolicyReference: ObjectReference | undefined; /** - *

                      Reference that identifies the policy object.

                      + *

                      Reference that identifies the object whose policy object will be detached.

                      */ - PolicyReference: ObjectReference | undefined; + ObjectReference: ObjectReference | undefined; } export namespace BatchDetachPolicy { @@ -2164,14 +2164,14 @@ export namespace BatchDetachTypedLink { */ export interface BatchRemoveFacetFromObject { /** - *

                      A reference to the object whose facet will be removed.

                      + *

                      The facet to remove from the object.

                      */ - ObjectReference: ObjectReference | undefined; + SchemaFacet: SchemaFacet | undefined; /** - *

                      The facet to remove from the object.

                      + *

                      A reference to the object whose facet will be removed.

                      */ - SchemaFacet: SchemaFacet | undefined; + ObjectReference: ObjectReference | undefined; } export namespace BatchRemoveFacetFromObject { @@ -2190,14 +2190,14 @@ export enum UpdateActionType { */ export interface LinkAttributeAction { /** - *

                      The value that you want to update to.

                      + *

                      A type that can be either UPDATE_OR_CREATE or DELETE.

                      */ - AttributeUpdateValue?: TypedAttributeValue; + AttributeActionType?: UpdateActionType | string; /** - *

                      A type that can be either UPDATE_OR_CREATE or DELETE.

                      + *

                      The value that you want to update to.

                      */ - AttributeActionType?: UpdateActionType | string; + AttributeUpdateValue?: TypedAttributeValue; } export namespace LinkAttributeAction { @@ -2211,14 +2211,14 @@ export namespace LinkAttributeAction { */ export interface LinkAttributeUpdate { /** - *

                      The action to perform as part of the attribute update.

                      + *

                      The key of the attribute being updated.

                      */ - AttributeAction?: LinkAttributeAction; + AttributeKey?: AttributeKey; /** - *

                      The key of the attribute being updated.

                      + *

                      The action to perform as part of the attribute update.

                      */ - AttributeKey?: AttributeKey; + AttributeAction?: LinkAttributeAction; } export namespace LinkAttributeUpdate { @@ -2232,14 +2232,14 @@ export namespace LinkAttributeUpdate { */ export interface BatchUpdateLinkAttributes { /** - *

                      The attributes update structure.

                      + *

                      Allows a typed link specifier to be accepted as input.

                      */ - AttributeUpdates: LinkAttributeUpdate[] | undefined; + TypedLinkSpecifier: TypedLinkSpecifier | undefined; /** - *

                      Allows a typed link specifier to be accepted as input.

                      + *

                      The attributes update structure.

                      */ - TypedLinkSpecifier: TypedLinkSpecifier | undefined; + AttributeUpdates: LinkAttributeUpdate[] | undefined; } export namespace BatchUpdateLinkAttributes { @@ -2253,14 +2253,14 @@ export namespace BatchUpdateLinkAttributes { */ export interface ObjectAttributeAction { /** - *

                      A type that can be either Update or Delete.

                      + *

                      The value that you want to update to.

                      */ - ObjectAttributeActionType?: UpdateActionType | string; + ObjectAttributeUpdateValue?: TypedAttributeValue; /** - *

                      The value that you want to update to.

                      + *

                      A type that can be either Update or Delete.

                      */ - ObjectAttributeUpdateValue?: TypedAttributeValue; + ObjectAttributeActionType?: UpdateActionType | string; } export namespace ObjectAttributeAction { @@ -2274,14 +2274,14 @@ export namespace ObjectAttributeAction { */ export interface ObjectAttributeUpdate { /** - *

                      The action to perform as part of the attribute update.

                      + *

                      The key of the attribute being updated.

                      */ - ObjectAttributeAction?: ObjectAttributeAction; + ObjectAttributeKey?: AttributeKey; /** - *

                      The key of the attribute being updated.

                      + *

                      The action to perform as part of the attribute update.

                      */ - ObjectAttributeKey?: AttributeKey; + ObjectAttributeAction?: ObjectAttributeAction; } export namespace ObjectAttributeUpdate { @@ -2295,14 +2295,14 @@ export namespace ObjectAttributeUpdate { */ export interface BatchUpdateObjectAttributes { /** - *

                      Reference that identifies the object.

                      + *

                      Attributes update structure.

                      */ - ObjectReference: ObjectReference | undefined; + AttributeUpdates: ObjectAttributeUpdate[] | undefined; /** - *

                      Attributes update structure.

                      + *

                      Reference that identifies the object.

                      */ - AttributeUpdates: ObjectAttributeUpdate[] | undefined; + ObjectReference: ObjectReference | undefined; } export namespace BatchUpdateObjectAttributes { @@ -2316,80 +2316,80 @@ export namespace BatchUpdateObjectAttributes { */ export interface BatchWriteOperation { /** - *

                      Updates a given object's attributes.

                      + *

                      A batch operation that adds a facet to an object.

                      */ - UpdateLinkAttributes?: BatchUpdateLinkAttributes; + AddFacetToObject?: BatchAddFacetToObject; /** - *

                      Attaches an object to a Directory.

                      + *

                      Deletes an object in a Directory.

                      */ - AttachObject?: BatchAttachObject; + DeleteObject?: BatchDeleteObject; /** - *

                      Creates an index object. See Indexing and search for more information.

                      + *

                      Updates a given object's attributes.

                      */ - CreateIndex?: BatchCreateIndex; + UpdateObjectAttributes?: BatchUpdateObjectAttributes; /** - *

                      Detaches the specified object from the specified index.

                      + *

                      Creates an object.

                      */ - DetachFromIndex?: BatchDetachFromIndex; + CreateObject?: BatchCreateObject; /** - *

                      Detaches a typed link from a specified source and target object. For more information, see Typed Links.

                      + *

                      Creates an index object. See Indexing and search for more information.

                      */ - DetachTypedLink?: BatchDetachTypedLink; + CreateIndex?: BatchCreateIndex; /** - *

                      Attaches a typed link to a specified source and target object. For more information, see Typed Links.

                      + *

                      Attaches a policy object to a regular object. An object can have a limited number of attached + * policies.

                      */ - AttachTypedLink?: BatchAttachTypedLink; + AttachPolicy?: BatchAttachPolicy; /** - *

                      A batch operation that removes a facet from an object.

                      + *

                      Attaches an object to a Directory.

                      */ - RemoveFacetFromObject?: BatchRemoveFacetFromObject; + AttachObject?: BatchAttachObject; /** - *

                      A batch operation that adds a facet to an object.

                      + *

                      Detaches the specified object from the specified index.

                      */ - AddFacetToObject?: BatchAddFacetToObject; + DetachFromIndex?: BatchDetachFromIndex; /** - *

                      Attaches the specified object to the specified index.

                      + *

                      Updates a given object's attributes.

                      */ - AttachToIndex?: BatchAttachToIndex; + UpdateLinkAttributes?: BatchUpdateLinkAttributes; /** - *

                      Creates an object.

                      + *

                      Detaches a policy from a Directory.

                      */ - CreateObject?: BatchCreateObject; + DetachPolicy?: BatchDetachPolicy; /** - *

                      Attaches a policy object to a regular object. An object can have a limited number of attached - * policies.

                      + *

                      Detaches an object from a Directory.

                      */ - AttachPolicy?: BatchAttachPolicy; + DetachObject?: BatchDetachObject; /** - *

                      Detaches a policy from a Directory.

                      + *

                      A batch operation that removes a facet from an object.

                      */ - DetachPolicy?: BatchDetachPolicy; + RemoveFacetFromObject?: BatchRemoveFacetFromObject; /** - *

                      Deletes an object in a Directory.

                      + *

                      Attaches a typed link to a specified source and target object. For more information, see Typed Links.

                      */ - DeleteObject?: BatchDeleteObject; + AttachTypedLink?: BatchAttachTypedLink; /** - *

                      Updates a given object's attributes.

                      + *

                      Detaches a typed link from a specified source and target object. For more information, see Typed Links.

                      */ - UpdateObjectAttributes?: BatchUpdateObjectAttributes; + DetachTypedLink?: BatchDetachTypedLink; /** - *

                      Detaches an object from a Directory.

                      + *

                      Attaches the specified object to the specified index.

                      */ - DetachObject?: BatchDetachObject; + AttachToIndex?: BatchAttachToIndex; } export namespace BatchWriteOperation { @@ -2628,80 +2628,80 @@ export namespace BatchUpdateObjectAttributesResponse { */ export interface BatchWriteOperationResponse { /** - *

                      Attaches a policy object to a regular object. An object can have a limited number of attached - * policies.

                      + *

                      Detaches the specified object from the specified index.

                      */ - AttachPolicy?: BatchAttachPolicyResponse; + DetachFromIndex?: BatchDetachFromIndexResponse; /** - *

                      Detaches a typed link from a specified source and target object. For more information, see Typed Links.

                      + *

                      Updates a given object’s attributes.

                      */ - DetachTypedLink?: BatchDetachTypedLinkResponse; + UpdateObjectAttributes?: BatchUpdateObjectAttributesResponse; /** - *

                      Creates an object in a Directory.

                      + *

                      Detaches an object from a Directory.

                      */ - CreateObject?: BatchCreateObjectResponse; + DetachObject?: BatchDetachObjectResponse; /** - *

                      Detaches a policy from a Directory.

                      + *

                      Represents the output of a BatchWrite response operation.

                      */ - DetachPolicy?: BatchDetachPolicyResponse; + UpdateLinkAttributes?: BatchUpdateLinkAttributesResponse; /** - *

                      Attaches a typed link to a specified source and target object. For more information, see Typed Links.

                      + *

                      Attaches an object to a Directory.

                      */ - AttachTypedLink?: BatchAttachTypedLinkResponse; + AttachObject?: BatchAttachObjectResponse; /** - *

                      The result of a batch remove facet from object operation.

                      + *

                      Detaches a policy from a Directory.

                      */ - RemoveFacetFromObject?: BatchRemoveFacetFromObjectResponse; + DetachPolicy?: BatchDetachPolicyResponse; /** - *

                      Detaches an object from a Directory.

                      + *

                      Deletes an object in a Directory.

                      */ - DetachObject?: BatchDetachObjectResponse; + DeleteObject?: BatchDeleteObjectResponse; /** - *

                      Creates an index object. See Indexing and search for more information.

                      + *

                      Detaches a typed link from a specified source and target object. For more information, see Typed Links.

                      */ - CreateIndex?: BatchCreateIndexResponse; + DetachTypedLink?: BatchDetachTypedLinkResponse; /** - *

                      Attaches an object to a Directory.

                      + *

                      Attaches the specified object to the specified index.

                      */ - AttachObject?: BatchAttachObjectResponse; + AttachToIndex?: BatchAttachToIndexResponse; /** - *

                      Deletes an object in a Directory.

                      + *

                      Creates an object in a Directory.

                      */ - DeleteObject?: BatchDeleteObjectResponse; + CreateObject?: BatchCreateObjectResponse; /** - *

                      Detaches the specified object from the specified index.

                      + *

                      Attaches a typed link to a specified source and target object. For more information, see Typed Links.

                      */ - DetachFromIndex?: BatchDetachFromIndexResponse; + AttachTypedLink?: BatchAttachTypedLinkResponse; /** - *

                      The result of an add facet to object batch operation.

                      + *

                      Attaches a policy object to a regular object. An object can have a limited number of attached + * policies.

                      */ - AddFacetToObject?: BatchAddFacetToObjectResponse; + AttachPolicy?: BatchAttachPolicyResponse; /** - *

                      Updates a given object’s attributes.

                      + *

                      The result of a batch remove facet from object operation.

                      */ - UpdateObjectAttributes?: BatchUpdateObjectAttributesResponse; + RemoveFacetFromObject?: BatchRemoveFacetFromObjectResponse; /** - *

                      Represents the output of a BatchWrite response operation.

                      + *

                      Creates an index object. See Indexing and search for more information.

                      */ - UpdateLinkAttributes?: BatchUpdateLinkAttributesResponse; + CreateIndex?: BatchCreateIndexResponse; /** - *

                      Attaches the specified object to the specified index.

                      + *

                      The result of an add facet to object batch operation.

                      */ - AttachToIndex?: BatchAttachToIndexResponse; + AddFacetToObject?: BatchAddFacetToObjectResponse; } export namespace BatchWriteOperationResponse { @@ -2749,13 +2749,6 @@ export interface CreateDirectoryResponse { */ Name: string | undefined; - /** - *

                      The ARN of the published schema in the Directory. Once a published - * schema is copied into the directory, it has its own ARN, which is referred to applied schema - * ARN. For more information, see arns.

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

                      The ARN that is associated with the Directory. For more information, * see arns.

                      @@ -2766,6 +2759,13 @@ export interface CreateDirectoryResponse { *

                      The root object node of the created directory.

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

                      The ARN of the published schema in the Directory. Once a published + * schema is copied into the directory, it has its own ARN, which is referred to applied schema + * ARN. For more information, see arns.

                      + */ + AppliedSchemaArn: string | undefined; } export namespace CreateDirectoryResponse { @@ -2803,14 +2803,14 @@ export enum RuleType { */ export interface Rule { /** - *

                      The type of attribute validation rule.

                      + *

                      The minimum and maximum parameters that are associated with the rule.

                      */ - Type?: RuleType | string; + Parameters?: { [key: string]: string }; /** - *

                      The minimum and maximum parameters that are associated with the rule.

                      + *

                      The type of attribute validation rule.

                      */ - Parameters?: { [key: string]: string }; + Type?: RuleType | string; } export namespace Rule { @@ -2832,11 +2832,6 @@ export enum FacetAttributeType { *

                      A facet attribute definition. See Attribute References for more information.

                      */ export interface FacetAttributeDefinition { - /** - *

                      The type of the attribute.

                      - */ - Type: FacetAttributeType | string | undefined; - /** *

                      The default value of the attribute (if configured).

                      */ @@ -2851,6 +2846,11 @@ export interface FacetAttributeDefinition { *

                      Whether the attribute is mutable or not.

                      */ IsImmutable?: boolean; + + /** + *

                      The type of the attribute.

                      + */ + Type: FacetAttributeType | string | undefined; } export namespace FacetAttributeDefinition { @@ -2865,14 +2865,14 @@ export namespace FacetAttributeDefinition { */ export interface FacetAttributeReference { /** - *

                      The target attribute name that is associated with the facet reference. See Attribute References for more information.

                      + *

                      The target facet name that is associated with the facet reference. See Attribute References for more information.

                      */ - TargetAttributeName: string | undefined; + TargetFacetName: string | undefined; /** - *

                      The target facet name that is associated with the facet reference. See Attribute References for more information.

                      + *

                      The target attribute name that is associated with the facet reference. See Attribute References for more information.

                      */ - TargetFacetName: string | undefined; + TargetAttributeName: string | undefined; } export namespace FacetAttributeReference { @@ -2891,25 +2891,25 @@ export enum RequiredAttributeBehavior { */ export interface FacetAttribute { /** - *

                      The required behavior of the FacetAttribute.

                      + *

                      The name of the facet attribute.

                      */ - RequiredBehavior?: RequiredAttributeBehavior | string; + Name: string | undefined; /** - *

                      A facet attribute consists of either a definition or a reference. This structure - * contains the attribute definition. See Attribute References for more information.

                      + *

                      An attribute reference that is associated with the attribute. See Attribute References for more information.

                      */ - AttributeDefinition?: FacetAttributeDefinition; + AttributeReference?: FacetAttributeReference; /** - *

                      An attribute reference that is associated with the attribute. See Attribute References for more information.

                      + *

                      A facet attribute consists of either a definition or a reference. This structure + * contains the attribute definition. See Attribute References for more information.

                      */ - AttributeReference?: FacetAttributeReference; + AttributeDefinition?: FacetAttributeDefinition; /** - *

                      The name of the facet attribute.

                      + *

                      The required behavior of the FacetAttribute.

                      */ - Name: string | undefined; + RequiredBehavior?: RequiredAttributeBehavior | string; } export namespace FacetAttribute { @@ -2931,27 +2931,11 @@ export enum ObjectType { } export interface CreateFacetRequest { - /** - *

                      The schema ARN in which the new Facet will be created. For more - * information, see arns.

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

                      There are two different styles that you can define on any given facet, Static and Dynamic. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.

                      */ FacetStyle?: FacetStyle | string; - /** - *

                      The name of the Facet, which is unique for a given schema.

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

                      The attributes that are associated with the Facet.

                      - */ - Attributes?: FacetAttribute[]; - /** *

                      Specifies whether a given object created from this facet is of type node, leaf node, * policy or index.

                      @@ -2978,6 +2962,22 @@ export interface CreateFacetRequest { *
                    */ ObjectType?: ObjectType | string; + + /** + *

                    The name of the Facet, which is unique for a given schema.

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

                    The schema ARN in which the new Facet will be created. For more + * information, see arns.

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

                    The attributes that are associated with the Facet.

                    + */ + Attributes?: FacetAttribute[]; } export namespace CreateFacetRequest { @@ -3026,10 +3026,10 @@ export namespace InvalidRuleException { export interface CreateIndexRequest { /** - *

                    Specifies the attributes that should be indexed on. Currently only a single attribute - * is supported.

                    + *

                    Indicates whether the attribute that is being indexed has unique values or + * not.

                    */ - OrderedIndexedAttributeList: AttributeKey[] | undefined; + IsUnique: boolean | undefined; /** *

                    A reference to the parent object that contains the index object.

                    @@ -3047,10 +3047,10 @@ export interface CreateIndexRequest { DirectoryArn: string | undefined; /** - *

                    Indicates whether the attribute that is being indexed has unique values or - * not.

                    + *

                    Specifies the attributes that should be indexed on. Currently only a single attribute + * is supported.

                    */ - IsUnique: boolean | undefined; + OrderedIndexedAttributeList: AttributeKey[] | undefined; } export namespace CreateIndexRequest { @@ -3089,10 +3089,10 @@ export namespace UnsupportedIndexTypeException { export interface CreateObjectRequest { /** - *

                    The Amazon Resource Name (ARN) that is associated with the Directory - * in which the object will be created. For more information, see arns.

                    + *

                    The attribute map whose attribute ARN contains the key and attribute value as the map + * value.

                    */ - DirectoryArn: string | undefined; + ObjectAttributeList?: AttributeKeyAndValue[]; /** *

                    The name of link that is used to attach this object to a parent.

                    @@ -3105,15 +3105,15 @@ export interface CreateObjectRequest { ParentReference?: ObjectReference; /** - *

                    A list of schema facets to be associated with the object. Do not provide minor version components. See SchemaFacet for details.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the Directory + * in which the object will be created. For more information, see arns.

                    */ - SchemaFacets: SchemaFacet[] | undefined; + DirectoryArn: string | undefined; /** - *

                    The attribute map whose attribute ARN contains the key and attribute value as the map - * value.

                    + *

                    A list of schema facets to be associated with the object. Do not provide minor version components. See SchemaFacet for details.

                    */ - ObjectAttributeList?: AttributeKeyAndValue[]; + SchemaFacets: SchemaFacet[] | undefined; } export namespace CreateObjectRequest { @@ -3172,21 +3172,11 @@ export interface TypedLinkAttributeDefinition { */ DefaultValue?: TypedAttributeValue; - /** - *

                    The unique name of the typed link attribute.

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

                    Validation rules that are attached to the attribute definition.

                    */ Rules?: { [key: string]: Rule }; - /** - *

                    Whether the attribute is mutable or not.

                    - */ - IsImmutable?: boolean; - /** *

                    The type of the attribute.

                    */ @@ -3196,6 +3186,16 @@ export interface TypedLinkAttributeDefinition { *

                    The required behavior of the TypedLinkAttributeDefinition.

                    */ RequiredBehavior: RequiredAttributeBehavior | string | undefined; + + /** + *

                    The unique name of the typed link attribute.

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

                    Whether the attribute is mutable or not.

                    + */ + IsImmutable?: boolean; } export namespace TypedLinkAttributeDefinition { @@ -3210,9 +3210,9 @@ export namespace TypedLinkAttributeDefinition { */ export interface TypedLinkFacet { /** - *

                    A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.

                    + *

                    The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypedLinks for details.

                    */ - Attributes: TypedLinkAttributeDefinition[] | undefined; + IdentityAttributeOrder: string[] | undefined; /** *

                    The unique name of the typed link facet.

                    @@ -3220,9 +3220,9 @@ export interface TypedLinkFacet { Name: string | undefined; /** - *

                    The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypedLinks for details.

                    + *

                    A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.

                    */ - IdentityAttributeOrder: string[] | undefined; + Attributes: TypedLinkAttributeDefinition[] | undefined; } export namespace TypedLinkFacet { @@ -3232,18 +3232,18 @@ export namespace TypedLinkFacet { } export interface CreateTypedLinkFacetRequest { + /** + *

                    The Amazon Resource Name (ARN) that is associated with the schema. For more + * information, see arns.

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

                    * Facet structure that is associated with the typed link * facet.

                    */ Facet: TypedLinkFacet | undefined; - - /** - *

                    The Amazon Resource Name (ARN) that is associated with the schema. For more - * information, see arns.

                    - */ - SchemaArn: string | undefined; } export namespace CreateTypedLinkFacetRequest { @@ -3377,15 +3377,15 @@ export namespace FacetNotFoundException { export interface DeleteObjectRequest { /** - *

                    The Amazon Resource Name (ARN) that is associated with the Directory - * where the object resides. For more information, see arns.

                    + *

                    A reference that identifies the object.

                    */ - DirectoryArn: string | undefined; + ObjectReference: ObjectReference | undefined; /** - *

                    A reference that identifies the object.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the Directory + * where the object resides. For more information, see arns.

                    */ - ObjectReference: ObjectReference | undefined; + DirectoryArn: string | undefined; } export namespace DeleteObjectRequest { @@ -3463,16 +3463,16 @@ export namespace StillContainsLinksException { } export interface DeleteTypedLinkFacetRequest { - /** - *

                    The unique name of the typed link facet.

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

                    The Amazon Resource Name (ARN) that is associated with the schema. For more * information, see arns.

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

                    The unique name of the typed link facet.

                    + */ + Name: string | undefined; } export namespace DeleteTypedLinkFacetRequest { @@ -3543,9 +3543,10 @@ export namespace ObjectAlreadyDetachedException { export interface DetachObjectRequest { /** - *

                    The link name associated with the object that needs to be detached.

                    + *

                    The parent reference from which the object with the specified link name is + * detached.

                    */ - LinkName: string | undefined; + ParentReference: ObjectReference | undefined; /** *

                    The Amazon Resource Name (ARN) that is associated with the Directory @@ -3554,10 +3555,9 @@ export interface DetachObjectRequest { DirectoryArn: string | undefined; /** - *

                    The parent reference from which the object with the specified link name is - * detached.

                    + *

                    The link name associated with the object that needs to be detached.

                    */ - ParentReference: ObjectReference | undefined; + LinkName: string | undefined; } export namespace DetachObjectRequest { @@ -3596,11 +3596,6 @@ export namespace NotNodeException { } export interface DetachPolicyRequest { - /** - *

                    Reference that identifies the object whose policy object will be detached.

                    - */ - ObjectReference: ObjectReference | undefined; - /** *

                    Reference that identifies the policy object.

                    */ @@ -3611,6 +3606,11 @@ export interface DetachPolicyRequest { * where both objects reside. For more information, see arns.

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

                    Reference that identifies the object whose policy object will be detached.

                    + */ + ObjectReference: ObjectReference | undefined; } export namespace DetachPolicyRequest { @@ -3748,25 +3748,25 @@ export enum DirectoryState { */ export interface Directory { /** - *

                    The Amazon Resource Name (ARN) that is associated with the directory. For more - * information, see arns.

                    + *

                    The name of the directory.

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

                    The date and time when the directory was created.

                    + *

                    The state of the directory. Can be either Enabled, Disabled, or Deleted.

                    */ - CreationDateTime?: Date; + State?: DirectoryState | string; /** - *

                    The state of the directory. Can be either Enabled, Disabled, or Deleted.

                    + *

                    The date and time when the directory was created.

                    */ - State?: DirectoryState | string; + CreationDateTime?: Date; /** - *

                    The name of the directory.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the directory. For more + * information, see arns.

                    */ - Name?: string; + DirectoryArn?: string; } export namespace Directory { @@ -3819,14 +3819,14 @@ export interface Facet { ObjectType?: ObjectType | string; /** - *

                    There are two different styles that you can define on any given facet, Static and Dynamic. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.

                    + *

                    The name of the Facet.

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

                    The name of the Facet.

                    + *

                    There are two different styles that you can define on any given facet, Static and Dynamic. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.

                    */ - Name?: string; + FacetStyle?: FacetStyle | string; } export namespace Facet { @@ -3850,9 +3850,9 @@ export namespace GetFacetResponse { export interface GetLinkAttributesRequest { /** - *

                    A list of attribute names whose values will be retrieved.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the Directory where the typed link resides. For more information, see arns or Typed Links.

                    */ - AttributeNames: string[] | undefined; + DirectoryArn: string | undefined; /** *

                    The consistency level at which to retrieve the attributes on a typed link.

                    @@ -3860,9 +3860,9 @@ export interface GetLinkAttributesRequest { ConsistencyLevel?: ConsistencyLevel | string; /** - *

                    The Amazon Resource Name (ARN) that is associated with the Directory where the typed link resides. For more information, see arns or Typed Links.

                    + *

                    A list of attribute names whose values will be retrieved.

                    */ - DirectoryArn: string | undefined; + AttributeNames: string[] | undefined; /** *

                    Allows a typed link specifier to be accepted as input.

                    @@ -3891,9 +3891,9 @@ export namespace GetLinkAttributesResponse { export interface GetObjectAttributesRequest { /** - *

                    List of attribute names whose values will be retrieved.

                    + *

                    The consistency level at which to retrieve the attributes on an object.

                    */ - AttributeNames: string[] | undefined; + ConsistencyLevel?: ConsistencyLevel | string; /** *

                    The Amazon Resource Name (ARN) that is associated with the Directory where the object resides.

                    @@ -3906,14 +3906,14 @@ export interface GetObjectAttributesRequest { ObjectReference: ObjectReference | undefined; /** - *

                    Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

                    + *

                    List of attribute names whose values will be retrieved.

                    */ - SchemaFacet: SchemaFacet | undefined; + AttributeNames: string[] | undefined; /** - *

                    The consistency level at which to retrieve the attributes on an object.

                    + *

                    Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

                    */ - ConsistencyLevel?: ConsistencyLevel | string; + SchemaFacet: SchemaFacet | undefined; } export namespace GetObjectAttributesRequest { @@ -3936,6 +3936,11 @@ export namespace GetObjectAttributesResponse { } export interface GetObjectInformationRequest { + /** + *

                    The ARN of the directory being retrieved.

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

                    A reference to the object.

                    */ @@ -3945,11 +3950,6 @@ export interface GetObjectInformationRequest { *

                    The consistency level at which to retrieve the object information.

                    */ ConsistencyLevel?: ConsistencyLevel | string; - - /** - *

                    The ARN of the directory being retrieved.

                    - */ - DirectoryArn: string | undefined; } export namespace GetObjectInformationRequest { @@ -3960,14 +3960,14 @@ export namespace GetObjectInformationRequest { export interface GetObjectInformationResponse { /** - *

                    The facets attached to the specified object. Although the response does not include minor version information, the most recently applied minor version of each Facet is in effect. See GetAppliedSchemaVersion for details.

                    + *

                    The ObjectIdentifier of the specified object.

                    */ - SchemaFacets?: SchemaFacet[]; + ObjectIdentifier?: string; /** - *

                    The ObjectIdentifier of the specified object.

                    + *

                    The facets attached to the specified object. Although the response does not include minor version information, the most recently applied minor version of each Facet is in effect. See GetAppliedSchemaVersion for details.

                    */ - ObjectIdentifier?: string; + SchemaFacets?: SchemaFacet[]; } export namespace GetObjectInformationResponse { @@ -4009,15 +4009,15 @@ export namespace GetSchemaAsJsonResponse { export interface GetTypedLinkFacetInformationRequest { /** - *

                    The Amazon Resource Name (ARN) that is associated with the schema. For more - * information, see arns.

                    + *

                    The unique name of the typed link facet.

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

                    The unique name of the typed link facet.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the schema. For more + * information, see arns.

                    */ - Name: string | undefined; + SchemaArn: string | undefined; } export namespace GetTypedLinkFacetInformationRequest { @@ -4061,14 +4061,14 @@ export namespace InvalidNextTokenException { export interface ListAppliedSchemaArnsRequest { /** - *

                    The response for ListAppliedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

                    + *

                    The maximum number of results to retrieve.

                    */ - SchemaArn?: string; + MaxResults?: number; /** - *

                    The maximum number of results to retrieve.

                    + *

                    The response for ListAppliedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

                    */ - MaxResults?: number; + SchemaArn?: string; /** *

                    The pagination token.

                    @@ -4107,14 +4107,19 @@ export namespace ListAppliedSchemaArnsResponse { export interface ListAttachedIndicesRequest { /** - *

                    The pagination token.

                    + *

                    A reference to the object that has indices attached.

                    */ - NextToken?: string; + TargetReference: ObjectReference | undefined; /** - *

                    A reference to the object that has indices attached.

                    + *

                    The ARN of the directory.

                    */ - TargetReference: ObjectReference | undefined; + DirectoryArn: string | undefined; + + /** + *

                    The pagination token.

                    + */ + NextToken?: string; /** *

                    The consistency level to use for this operation.

                    @@ -4125,11 +4130,6 @@ export interface ListAttachedIndicesRequest { *

                    The maximum number of results to retrieve.

                    */ MaxResults?: number; - - /** - *

                    The ARN of the directory.

                    - */ - DirectoryArn: string | undefined; } export namespace ListAttachedIndicesRequest { @@ -4158,14 +4158,14 @@ export namespace ListAttachedIndicesResponse { export interface ListDevelopmentSchemaArnsRequest { /** - *

                    The pagination token.

                    + *

                    The maximum number of results to retrieve.

                    */ - NextToken?: string; + MaxResults?: number; /** - *

                    The maximum number of results to retrieve.

                    + *

                    The pagination token.

                    */ - MaxResults?: number; + NextToken?: string; } export namespace ListDevelopmentSchemaArnsRequest { @@ -4176,14 +4176,14 @@ export namespace ListDevelopmentSchemaArnsRequest { export interface ListDevelopmentSchemaArnsResponse { /** - *

                    The pagination token.

                    + *

                    The ARNs of retrieved development schemas.

                    */ - NextToken?: string; + SchemaArns?: string[]; /** - *

                    The ARNs of retrieved development schemas.

                    + *

                    The pagination token.

                    */ - SchemaArns?: string[]; + NextToken?: string; } export namespace ListDevelopmentSchemaArnsResponse { @@ -4194,10 +4194,9 @@ export namespace ListDevelopmentSchemaArnsResponse { export interface ListDirectoriesRequest { /** - *

                    The state of the directories in the list. Can be either Enabled, Disabled, or - * Deleted.

                    + *

                    The maximum number of results to retrieve.

                    */ - state?: DirectoryState | string; + MaxResults?: number; /** *

                    The pagination token.

                    @@ -4205,9 +4204,10 @@ export interface ListDirectoriesRequest { NextToken?: string; /** - *

                    The maximum number of results to retrieve.

                    + *

                    The state of the directories in the list. Can be either Enabled, Disabled, or + * Deleted.

                    */ - MaxResults?: number; + state?: DirectoryState | string; } export namespace ListDirectoriesRequest { @@ -4217,16 +4217,16 @@ export namespace ListDirectoriesRequest { } export interface ListDirectoriesResponse { - /** - *

                    The pagination token.

                    - */ - NextToken?: string; - /** *

                    Lists all directories that are associated with your account in pagination * fashion.

                    */ Directories: Directory[] | undefined; + + /** + *

                    The pagination token.

                    + */ + NextToken?: string; } export namespace ListDirectoriesResponse { @@ -4237,24 +4237,24 @@ export namespace ListDirectoriesResponse { export interface ListFacetAttributesRequest { /** - *

                    The name of the facet whose attributes will be retrieved.

                    + *

                    The pagination token.

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

                    The ARN of the schema where the facet resides.

                    + *

                    The maximum number of results to retrieve.

                    */ - SchemaArn: string | undefined; + MaxResults?: number; /** - *

                    The pagination token.

                    + *

                    The ARN of the schema where the facet resides.

                    */ - NextToken?: string; + SchemaArn: string | undefined; /** - *

                    The maximum number of results to retrieve.

                    + *

                    The name of the facet whose attributes will be retrieved.

                    */ - MaxResults?: number; + Name: string | undefined; } export namespace ListFacetAttributesRequest { @@ -4265,14 +4265,14 @@ export namespace ListFacetAttributesRequest { export interface ListFacetAttributesResponse { /** - *

                    The attributes attached to the facet.

                    + *

                    The pagination token.

                    */ - Attributes?: FacetAttribute[]; + NextToken?: string; /** - *

                    The pagination token.

                    + *

                    The attributes attached to the facet.

                    */ - NextToken?: string; + Attributes?: FacetAttribute[]; } export namespace ListFacetAttributesResponse { @@ -4282,11 +4282,6 @@ export namespace ListFacetAttributesResponse { } export interface ListFacetNamesRequest { - /** - *

                    The pagination token.

                    - */ - NextToken?: string; - /** *

                    The maximum number of results to retrieve.

                    */ @@ -4296,6 +4291,11 @@ export interface ListFacetNamesRequest { *

                    The Amazon Resource Name (ARN) to retrieve facet names from.

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

                    The pagination token.

                    + */ + NextToken?: string; } export namespace ListFacetNamesRequest { @@ -4306,14 +4306,14 @@ export namespace ListFacetNamesRequest { export interface ListFacetNamesResponse { /** - *

                    The pagination token.

                    + *

                    The names of facets that exist within the schema.

                    */ - NextToken?: string; + FacetNames?: string[]; /** - *

                    The names of facets that exist within the schema.

                    + *

                    The pagination token.

                    */ - FacetNames?: string[]; + NextToken?: string; } export namespace ListFacetNamesResponse { @@ -4324,26 +4324,28 @@ export namespace ListFacetNamesResponse { export interface ListIncomingTypedLinksRequest { /** - *

                    Provides range filters for multiple attributes. When providing ranges to typed link - * selection, any inexact ranges must be specified at the end. Any attributes that do not have a - * range specified are presumed to match the entire range.

                    + *

                    Reference that identifies the object whose attributes will be listed.

                    */ - FilterAttributeRanges?: TypedLinkAttributeRange[]; + ObjectReference: ObjectReference | undefined; /** - *

                    Reference that identifies the object whose attributes will be listed.

                    + *

                    Filters are interpreted in the order of the attributes on the typed link facet, not the + * order in which they are supplied to any API calls.

                    */ - ObjectReference: ObjectReference | undefined; + FilterTypedLink?: TypedLinkSchemaAndFacetName; /** - *

                    The consistency level to execute the request at.

                    + *

                    The Amazon Resource Name (ARN) of the directory where you want to list the typed + * links.

                    */ - ConsistencyLevel?: ConsistencyLevel | string; + DirectoryArn: string | undefined; /** - *

                    The pagination token.

                    + *

                    Provides range filters for multiple attributes. When providing ranges to typed link + * selection, any inexact ranges must be specified at the end. Any attributes that do not have a + * range specified are presumed to match the entire range.

                    */ - NextToken?: string; + FilterAttributeRanges?: TypedLinkAttributeRange[]; /** *

                    The maximum number of results to retrieve.

                    @@ -4351,16 +4353,14 @@ export interface ListIncomingTypedLinksRequest { MaxResults?: number; /** - *

                    Filters are interpreted in the order of the attributes on the typed link facet, not the - * order in which they are supplied to any API calls.

                    + *

                    The consistency level to execute the request at.

                    */ - FilterTypedLink?: TypedLinkSchemaAndFacetName; + ConsistencyLevel?: ConsistencyLevel | string; /** - *

                    The Amazon Resource Name (ARN) of the directory where you want to list the typed - * links.

                    + *

                    The pagination token.

                    */ - DirectoryArn: string | undefined; + NextToken?: string; } export namespace ListIncomingTypedLinksRequest { @@ -4371,14 +4371,14 @@ export namespace ListIncomingTypedLinksRequest { export interface ListIncomingTypedLinksResponse { /** - *

                    Returns one or more typed link specifiers as output.

                    + *

                    The pagination token.

                    */ - LinkSpecifiers?: TypedLinkSpecifier[]; + NextToken?: string; /** - *

                    The pagination token.

                    + *

                    Returns one or more typed link specifiers as output.

                    */ - NextToken?: string; + LinkSpecifiers?: TypedLinkSpecifier[]; } export namespace ListIncomingTypedLinksResponse { @@ -4394,29 +4394,29 @@ export interface ListIndexRequest { NextToken?: string; /** - *

                    Specifies the ranges of indexed values that you want to query.

                    + *

                    The reference to the index to list.

                    */ - RangesOnIndexedValues?: ObjectAttributeRange[]; + IndexReference: ObjectReference | undefined; /** - *

                    The consistency level to execute the request at.

                    + *

                    Specifies the ranges of indexed values that you want to query.

                    */ - ConsistencyLevel?: ConsistencyLevel | string; + RangesOnIndexedValues?: ObjectAttributeRange[]; /** - *

                    The maximum number of objects in a single page to retrieve from the index during a request. For more information, see Amazon Cloud Directory Limits.

                    + *

                    The ARN of the directory that the index exists in.

                    */ - MaxResults?: number; + DirectoryArn: string | undefined; /** - *

                    The ARN of the directory that the index exists in.

                    + *

                    The consistency level to execute the request at.

                    */ - DirectoryArn: string | undefined; + ConsistencyLevel?: ConsistencyLevel | string; /** - *

                    The reference to the index to list.

                    + *

                    The maximum number of objects in a single page to retrieve from the index during a request. For more information, see Amazon Cloud Directory Limits.

                    */ - IndexReference: ObjectReference | undefined; + MaxResults?: number; } export namespace ListIndexRequest { @@ -4427,14 +4427,14 @@ export namespace ListIndexRequest { export interface ListIndexResponse { /** - *

                    The pagination token.

                    + *

                    The objects and indexed values attached to the index.

                    */ - NextToken?: string; + IndexAttachments?: IndexAttachment[]; /** - *

                    The objects and indexed values attached to the index.

                    + *

                    The pagination token.

                    */ - IndexAttachments?: IndexAttachment[]; + NextToken?: string; } export namespace ListIndexResponse { @@ -4444,11 +4444,6 @@ export namespace ListIndexResponse { } export interface ListManagedSchemaArnsRequest { - /** - *

                    The pagination token.

                    - */ - NextToken?: string; - /** *

                    The response for ListManagedSchemaArns. When this parameter is used, all minor version ARNs for a major version are listed.

                    */ @@ -4458,6 +4453,11 @@ export interface ListManagedSchemaArnsRequest { *

                    The maximum number of results to retrieve.

                    */ MaxResults?: number; + + /** + *

                    The pagination token.

                    + */ + NextToken?: string; } export namespace ListManagedSchemaArnsRequest { @@ -4486,10 +4486,10 @@ export namespace ListManagedSchemaArnsResponse { export interface ListObjectAttributesRequest { /** - *

                    The Amazon Resource Name (ARN) that is associated with the Directory - * where the object resides. For more information, see arns.

                    + *

                    The maximum number of items to be retrieved in a single call. This is an approximate + * number.

                    */ - DirectoryArn: string | undefined; + MaxResults?: number; /** *

                    Represents the manner and timing in which the successful write or update of an object @@ -4498,9 +4498,10 @@ export interface ListObjectAttributesRequest { ConsistencyLevel?: ConsistencyLevel | string; /** - *

                    The reference that identifies the object whose attributes will be listed.

                    + *

                    Used to filter the list of object attributes that are associated with a certain + * facet.

                    */ - ObjectReference: ObjectReference | undefined; + FacetFilter?: SchemaFacet; /** *

                    The pagination token.

                    @@ -4508,16 +4509,15 @@ export interface ListObjectAttributesRequest { NextToken?: string; /** - *

                    The maximum number of items to be retrieved in a single call. This is an approximate - * number.

                    + *

                    The reference that identifies the object whose attributes will be listed.

                    */ - MaxResults?: number; + ObjectReference: ObjectReference | undefined; /** - *

                    Used to filter the list of object attributes that are associated with a certain - * facet.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the Directory + * where the object resides. For more information, see arns.

                    */ - FacetFilter?: SchemaFacet; + DirectoryArn: string | undefined; } export namespace ListObjectAttributesRequest { @@ -4528,15 +4528,15 @@ export namespace ListObjectAttributesRequest { export interface ListObjectAttributesResponse { /** - *

                    Attributes map that is associated with the object. AttributeArn is the - * key, and attribute value is the value.

                    + *

                    The pagination token.

                    */ - Attributes?: AttributeKeyAndValue[]; + NextToken?: string; /** - *

                    The pagination token.

                    + *

                    Attributes map that is associated with the object. AttributeArn is the + * key, and attribute value is the value.

                    */ - NextToken?: string; + Attributes?: AttributeKeyAndValue[]; } export namespace ListObjectAttributesResponse { @@ -4547,16 +4547,15 @@ export namespace ListObjectAttributesResponse { export interface ListObjectChildrenRequest { /** - *

                    Represents the manner and timing in which the successful write or update of an object - * is reflected in a subsequent read operation of that same object.

                    + *

                    The pagination token.

                    */ - ConsistencyLevel?: ConsistencyLevel | string; + NextToken?: string; /** - *

                    The reference that identifies the object for which child objects are being - * listed.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the Directory + * where the object resides. For more information, see arns.

                    */ - ObjectReference: ObjectReference | undefined; + DirectoryArn: string | undefined; /** *

                    The maximum number of items to be retrieved in a single call. This is an approximate @@ -4565,15 +4564,16 @@ export interface ListObjectChildrenRequest { MaxResults?: number; /** - *

                    The pagination token.

                    + *

                    Represents the manner and timing in which the successful write or update of an object + * is reflected in a subsequent read operation of that same object.

                    */ - NextToken?: string; + ConsistencyLevel?: ConsistencyLevel | string; /** - *

                    The Amazon Resource Name (ARN) that is associated with the Directory - * where the object resides. For more information, see arns.

                    + *

                    The reference that identifies the object for which child objects are being + * listed.

                    */ - DirectoryArn: string | undefined; + ObjectReference: ObjectReference | undefined; } export namespace ListObjectChildrenRequest { @@ -4603,25 +4603,25 @@ export namespace ListObjectChildrenResponse { export interface ListObjectParentPathsRequest { /** - *

                    The maximum number of items to be retrieved in a single call. This is an approximate - * number.

                    + *

                    The reference that identifies the object whose parent paths are listed.

                    */ - MaxResults?: number; + ObjectReference: ObjectReference | undefined; /** - *

                    The ARN of the directory to which the parent path applies.

                    + *

                    The pagination token.

                    */ - DirectoryArn: string | undefined; + NextToken?: string; /** - *

                    The reference that identifies the object whose parent paths are listed.

                    + *

                    The maximum number of items to be retrieved in a single call. This is an approximate + * number.

                    */ - ObjectReference: ObjectReference | undefined; + MaxResults?: number; /** - *

                    The pagination token.

                    + *

                    The ARN of the directory to which the parent path applies.

                    */ - NextToken?: string; + DirectoryArn: string | undefined; } export namespace ListObjectParentPathsRequest { @@ -4666,16 +4666,15 @@ export namespace CannotListParentOfRootException { export interface ListObjectParentsRequest { /** - *

                    Represents the manner and timing in which the successful write or update of an object - * is reflected in a subsequent read operation of that same object.

                    + *

                    The pagination token.

                    */ - ConsistencyLevel?: ConsistencyLevel | string; + NextToken?: string; /** - *

                    The reference that identifies the object for which parent objects are being - * listed.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the Directory + * where the object resides. For more information, see arns.

                    */ - ObjectReference: ObjectReference | undefined; + DirectoryArn: string | undefined; /** *

                    The maximum number of items to be retrieved in a single call. This is an approximate @@ -4684,20 +4683,21 @@ export interface ListObjectParentsRequest { MaxResults?: number; /** - *

                    The pagination token.

                    + *

                    When set to True, returns all ListObjectParentsResponse$ParentLinks. There could be multiple links between a parent-child pair.

                    */ - NextToken?: string; + IncludeAllLinksToEachParent?: boolean; /** - *

                    When set to True, returns all ListObjectParentsResponse$ParentLinks. There could be multiple links between a parent-child pair.

                    + *

                    Represents the manner and timing in which the successful write or update of an object + * is reflected in a subsequent read operation of that same object.

                    */ - IncludeAllLinksToEachParent?: boolean; + ConsistencyLevel?: ConsistencyLevel | string; /** - *

                    The Amazon Resource Name (ARN) that is associated with the Directory - * where the object resides. For more information, see arns.

                    + *

                    The reference that identifies the object for which parent objects are being + * listed.

                    */ - DirectoryArn: string | undefined; + ObjectReference: ObjectReference | undefined; } export namespace ListObjectParentsRequest { @@ -4708,9 +4708,10 @@ export namespace ListObjectParentsRequest { export interface ListObjectParentsResponse { /** - *

                    Returns a list of parent reference and LinkName Tuples.

                    + *

                    The parent structure, which is a map with key as the ObjectIdentifier and + * LinkName as the value.

                    */ - ParentLinks?: ObjectIdentifierAndLinkNameTuple[]; + Parents?: { [key: string]: string }; /** *

                    The pagination token.

                    @@ -4718,10 +4719,9 @@ export interface ListObjectParentsResponse { NextToken?: string; /** - *

                    The parent structure, which is a map with key as the ObjectIdentifier and - * LinkName as the value.

                    + *

                    Returns a list of parent reference and LinkName Tuples.

                    */ - Parents?: { [key: string]: string }; + ParentLinks?: ObjectIdentifierAndLinkNameTuple[]; } export namespace ListObjectParentsResponse { @@ -4738,26 +4738,26 @@ export interface ListObjectPoliciesRequest { DirectoryArn: string | undefined; /** - *

                    Reference that identifies the object for which policies will be listed.

                    + *

                    Represents the manner and timing in which the successful write or update of an object + * is reflected in a subsequent read operation of that same object.

                    */ - ObjectReference: ObjectReference | undefined; + ConsistencyLevel?: ConsistencyLevel | string; /** - *

                    The maximum number of items to be retrieved in a single call. This is an approximate - * number.

                    + *

                    Reference that identifies the object for which policies will be listed.

                    */ - MaxResults?: number; + ObjectReference: ObjectReference | undefined; /** - *

                    Represents the manner and timing in which the successful write or update of an object - * is reflected in a subsequent read operation of that same object.

                    + *

                    The pagination token.

                    */ - ConsistencyLevel?: ConsistencyLevel | string; + NextToken?: string; /** - *

                    The pagination token.

                    + *

                    The maximum number of items to be retrieved in a single call. This is an approximate + * number.

                    */ - NextToken?: string; + MaxResults?: number; } export namespace ListObjectPoliciesRequest { @@ -4787,10 +4787,14 @@ export namespace ListObjectPoliciesResponse { export interface ListOutgoingTypedLinksRequest { /** - *

                    The Amazon Resource Name (ARN) of the directory where you want to list the typed - * links.

                    + *

                    The pagination token.

                    */ - DirectoryArn: string | undefined; + NextToken?: string; + + /** + *

                    A reference that identifies the object whose attributes will be listed.

                    + */ + ObjectReference: ObjectReference | undefined; /** *

                    The consistency level to execute the request at.

                    @@ -4798,32 +4802,28 @@ export interface ListOutgoingTypedLinksRequest { ConsistencyLevel?: ConsistencyLevel | string; /** - *

                    The maximum number of results to retrieve.

                    + *

                    Provides range filters for multiple attributes. When providing ranges to typed link + * selection, any inexact ranges must be specified at the end. Any attributes that do not have a + * range specified are presumed to match the entire range.

                    */ - MaxResults?: number; + FilterAttributeRanges?: TypedLinkAttributeRange[]; /** - *

                    A reference that identifies the object whose attributes will be listed.

                    + *

                    The maximum number of results to retrieve.

                    */ - ObjectReference: ObjectReference | undefined; + MaxResults?: number; /** *

                    Filters are interpreted in the order of the attributes defined on the typed link facet, * not the order they are supplied to any API calls.

                    */ FilterTypedLink?: TypedLinkSchemaAndFacetName; - - /** - *

                    The pagination token.

                    - */ - NextToken?: string; - - /** - *

                    Provides range filters for multiple attributes. When providing ranges to typed link - * selection, any inexact ranges must be specified at the end. Any attributes that do not have a - * range specified are presumed to match the entire range.

                    + + /** + *

                    The Amazon Resource Name (ARN) of the directory where you want to list the typed + * links.

                    */ - FilterAttributeRanges?: TypedLinkAttributeRange[]; + DirectoryArn: string | undefined; } export namespace ListOutgoingTypedLinksRequest { @@ -4852,9 +4852,16 @@ export namespace ListOutgoingTypedLinksResponse { export interface ListPolicyAttachmentsRequest { /** - *

                    The reference that identifies the policy object.

                    + *

                    The maximum number of items to be retrieved in a single call. This is an approximate + * number.

                    */ - PolicyReference: ObjectReference | undefined; + MaxResults?: number; + + /** + *

                    The Amazon Resource Name (ARN) that is associated with the Directory + * where objects reside. For more information, see arns.

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

                    The pagination token.

                    @@ -4862,22 +4869,15 @@ export interface ListPolicyAttachmentsRequest { NextToken?: string; /** - *

                    The maximum number of items to be retrieved in a single call. This is an approximate - * number.

                    + *

                    The reference that identifies the policy object.

                    */ - MaxResults?: number; + PolicyReference: ObjectReference | undefined; /** *

                    Represents the manner and timing in which the successful write or update of an object * is reflected in a subsequent read operation of that same object.

                    */ ConsistencyLevel?: ConsistencyLevel | string; - - /** - *

                    The Amazon Resource Name (ARN) that is associated with the Directory - * where objects reside. For more information, see arns.

                    - */ - DirectoryArn: string | undefined; } export namespace ListPolicyAttachmentsRequest { @@ -4888,14 +4888,14 @@ export namespace ListPolicyAttachmentsRequest { export interface ListPolicyAttachmentsResponse { /** - *

                    The pagination token.

                    + *

                    A list of ObjectIdentifiers to which the policy is attached.

                    */ - NextToken?: string; + ObjectIdentifiers?: string[]; /** - *

                    A list of ObjectIdentifiers to which the policy is attached.

                    + *

                    The pagination token.

                    */ - ObjectIdentifiers?: string[]; + NextToken?: string; } export namespace ListPolicyAttachmentsResponse { @@ -4906,9 +4906,9 @@ export namespace ListPolicyAttachmentsResponse { export interface ListPublishedSchemaArnsRequest { /** - *

                    The pagination token.

                    + *

                    The response for ListPublishedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

                    */ - NextToken?: string; + SchemaArn?: string; /** *

                    The maximum number of results to retrieve.

                    @@ -4916,9 +4916,9 @@ export interface ListPublishedSchemaArnsRequest { MaxResults?: number; /** - *

                    The response for ListPublishedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

                    + *

                    The pagination token.

                    */ - SchemaArn?: string; + NextToken?: string; } export namespace ListPublishedSchemaArnsRequest { @@ -4929,14 +4929,14 @@ export namespace ListPublishedSchemaArnsRequest { export interface ListPublishedSchemaArnsResponse { /** - *

                    The pagination token.

                    + *

                    The ARNs of published schemas.

                    */ - NextToken?: string; + SchemaArns?: string[]; /** - *

                    The ARNs of published schemas.

                    + *

                    The pagination token.

                    */ - SchemaArns?: string[]; + NextToken?: string; } export namespace ListPublishedSchemaArnsResponse { @@ -4961,6 +4961,12 @@ export namespace InvalidTaggingRequestException { } export interface ListTagsForResourceRequest { + /** + *

                    The Amazon Resource Name (ARN) of the resource. Tagging is only supported for + * directories.

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

                    The MaxResults parameter sets the maximum number of results returned in a * single page. This is for future use and is not supported currently.

                    @@ -4972,12 +4978,6 @@ export interface ListTagsForResourceRequest { * tagging.

                    */ NextToken?: string; - - /** - *

                    The Amazon Resource Name (ARN) of the resource. Tagging is only supported for - * directories.

                    - */ - ResourceArn: string | undefined; } export namespace ListTagsForResourceRequest { @@ -5009,14 +5009,14 @@ export namespace Tag { export interface ListTagsForResourceResponse { /** - *

                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                    + *

                    A list of tag key value pairs that are associated with the response.

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

                    A list of tag key value pairs that are associated with the response.

                    + *

                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                    */ - Tags?: Tag[]; + NextToken?: string; } export namespace ListTagsForResourceResponse { @@ -5027,14 +5027,15 @@ export namespace ListTagsForResourceResponse { export interface ListTypedLinkFacetAttributesRequest { /** - *

                    The pagination token.

                    + *

                    The maximum number of results to retrieve.

                    */ - NextToken?: string; + MaxResults?: number; /** - *

                    The maximum number of results to retrieve.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the schema. For more + * information, see arns.

                    */ - MaxResults?: number; + SchemaArn: string | undefined; /** *

                    The unique name of the typed link facet.

                    @@ -5042,10 +5043,9 @@ export interface ListTypedLinkFacetAttributesRequest { Name: string | undefined; /** - *

                    The Amazon Resource Name (ARN) that is associated with the schema. For more - * information, see arns.

                    + *

                    The pagination token.

                    */ - SchemaArn: string | undefined; + NextToken?: string; } export namespace ListTypedLinkFacetAttributesRequest { @@ -5056,14 +5056,14 @@ export namespace ListTypedLinkFacetAttributesRequest { export interface ListTypedLinkFacetAttributesResponse { /** - *

                    An ordered set of attributes associate with the typed link.

                    + *

                    The pagination token.

                    */ - Attributes?: TypedLinkAttributeDefinition[]; + NextToken?: string; /** - *

                    The pagination token.

                    + *

                    An ordered set of attributes associate with the typed link.

                    */ - NextToken?: string; + Attributes?: TypedLinkAttributeDefinition[]; } export namespace ListTypedLinkFacetAttributesResponse { @@ -5074,15 +5074,15 @@ export namespace ListTypedLinkFacetAttributesResponse { export interface ListTypedLinkFacetNamesRequest { /** - *

                    The Amazon Resource Name (ARN) that is associated with the schema. For more - * information, see arns.

                    + *

                    The maximum number of results to retrieve.

                    */ - SchemaArn: string | undefined; + MaxResults?: number; /** - *

                    The maximum number of results to retrieve.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the schema. For more + * information, see arns.

                    */ - MaxResults?: number; + SchemaArn: string | undefined; /** *

                    The pagination token.

                    @@ -5098,14 +5098,14 @@ export namespace ListTypedLinkFacetNamesRequest { export interface ListTypedLinkFacetNamesResponse { /** - *

                    The names of typed link facets that exist within the schema.

                    + *

                    The pagination token.

                    */ - FacetNames?: string[]; + NextToken?: string; /** - *

                    The pagination token.

                    + *

                    The names of typed link facets that exist within the schema.

                    */ - NextToken?: string; + FacetNames?: string[]; } export namespace ListTypedLinkFacetNamesResponse { @@ -5115,18 +5115,18 @@ export namespace ListTypedLinkFacetNamesResponse { } export interface LookupPolicyRequest { - /** - *

                    The maximum number of items to be retrieved in a single call. This is an approximate - * number.

                    - */ - MaxResults?: number; - /** *

                    The Amazon Resource Name (ARN) that is associated with the Directory. * For more information, see arns.

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

                    The maximum number of items to be retrieved in a single call. This is an approximate + * number.

                    + */ + MaxResults?: number; + /** *

                    Reference that identifies the object whose policies will be looked up.

                    */ @@ -5145,17 +5145,17 @@ export namespace LookupPolicyRequest { } export interface LookupPolicyResponse { + /** + *

                    The pagination token.

                    + */ + NextToken?: string; + /** *

                    Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and * PolicyType. For more * information, see Policies.

                    */ PolicyToPathList?: PolicyToPath[]; - - /** - *

                    The pagination token.

                    - */ - NextToken?: string; } export namespace LookupPolicyResponse { @@ -5172,10 +5172,9 @@ export interface PublishSchemaRequest { Name?: string; /** - *

                    The Amazon Resource Name (ARN) that is associated with the development schema. For - * more information, see arns.

                    + *

                    The major version under which the schema will be published. Schemas have both a major and minor version associated with them.

                    */ - DevelopmentSchemaArn: string | undefined; + Version: string | undefined; /** *

                    The minor version under which the schema will be published. This parameter is recommended. Schemas have both a major and minor version associated with them.

                    @@ -5183,9 +5182,10 @@ export interface PublishSchemaRequest { MinorVersion?: string; /** - *

                    The major version under which the schema will be published. Schemas have both a major and minor version associated with them.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the development schema. For + * more information, see arns.

                    */ - Version: string | undefined; + DevelopmentSchemaArn: string | undefined; } export namespace PublishSchemaRequest { @@ -5275,14 +5275,14 @@ export interface RemoveFacetFromObjectRequest { ObjectReference: ObjectReference | undefined; /** - *

                    The ARN of the directory in which the object resides.

                    + *

                    The facet to remove. See SchemaFacet for details.

                    */ - DirectoryArn: string | undefined; + SchemaFacet: SchemaFacet | undefined; /** - *

                    The facet to remove. See SchemaFacet for details.

                    + *

                    The ARN of the directory in which the object resides.

                    */ - SchemaFacet: SchemaFacet | undefined; + DirectoryArn: string | undefined; } export namespace RemoveFacetFromObjectRequest { @@ -5328,15 +5328,15 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                    The Amazon Resource Name (ARN) of the resource. Tagging is only supported for - * directories.

                    + *

                    Keys of the tag that need to be removed from the resource.

                    */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; /** - *

                    Keys of the tag that need to be removed from the resource.

                    + *

                    The Amazon Resource Name (ARN) of the resource. Tagging is only supported for + * directories.

                    */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -5374,14 +5374,14 @@ export namespace InvalidFacetUpdateException { */ export interface FacetAttributeUpdate { /** - *

                    The attribute to update.

                    + *

                    The action to perform when updating the attribute.

                    */ - Attribute?: FacetAttribute; + Action?: UpdateActionType | string; /** - *

                    The action to perform when updating the attribute.

                    + *

                    The attribute to update.

                    */ - Action?: UpdateActionType | string; + Attribute?: FacetAttribute; } export namespace FacetAttributeUpdate { @@ -5391,6 +5391,11 @@ export namespace FacetAttributeUpdate { } export interface UpdateFacetRequest { + /** + *

                    The name of the facet.

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

                    The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

                    */ @@ -5408,11 +5413,6 @@ export interface UpdateFacetRequest { * operation to perform.

                    */ AttributeUpdates?: FacetAttributeUpdate[]; - - /** - *

                    The name of the facet.

                    - */ - Name: string | undefined; } export namespace UpdateFacetRequest { @@ -5431,9 +5431,9 @@ export namespace UpdateFacetResponse { export interface UpdateLinkAttributesRequest { /** - *

                    The attributes update structure.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the Directory where the updated typed link resides. For more information, see arns or Typed Links.

                    */ - AttributeUpdates: LinkAttributeUpdate[] | undefined; + DirectoryArn: string | undefined; /** *

                    Allows a typed link specifier to be accepted as input.

                    @@ -5441,9 +5441,9 @@ export interface UpdateLinkAttributesRequest { TypedLinkSpecifier: TypedLinkSpecifier | undefined; /** - *

                    The Amazon Resource Name (ARN) that is associated with the Directory where the updated typed link resides. For more information, see arns or Typed Links.

                    + *

                    The attributes update structure.

                    */ - DirectoryArn: string | undefined; + AttributeUpdates: LinkAttributeUpdate[] | undefined; } export namespace UpdateLinkAttributesRequest { @@ -5461,11 +5461,6 @@ export namespace UpdateLinkAttributesResponse { } export interface UpdateObjectAttributesRequest { - /** - *

                    The reference that identifies the object.

                    - */ - ObjectReference: ObjectReference | undefined; - /** *

                    The attributes update structure.

                    */ @@ -5476,6 +5471,11 @@ export interface UpdateObjectAttributesRequest { * where the object resides. For more information, see arns.

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

                    The reference that identifies the object.

                    + */ + ObjectReference: ObjectReference | undefined; } export namespace UpdateObjectAttributesRequest { @@ -5499,15 +5499,15 @@ export namespace UpdateObjectAttributesResponse { export interface UpdateSchemaRequest { /** - *

                    The Amazon Resource Name (ARN) of the development schema. For more information, see - * arns.

                    + *

                    The name of the schema.

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

                    The name of the schema.

                    + *

                    The Amazon Resource Name (ARN) of the development schema. For more information, see + * arns.

                    */ - Name: string | undefined; + SchemaArn: string | undefined; } export namespace UpdateSchemaRequest { @@ -5552,15 +5552,21 @@ export namespace TypedLinkFacetAttributeUpdate { export interface UpdateTypedLinkFacetRequest { /** - *

                    The unique name of the typed link facet.

                    + *

                    The Amazon Resource Name (ARN) that is associated with the schema. For more + * information, see arns.

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

                    Attributes update structure.

                    */ AttributeUpdates: TypedLinkFacetAttributeUpdate[] | undefined; + /** + *

                    The unique name of the typed link facet.

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

                    The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed * links considers the order that the attributes are defined on the typed link facet. When @@ -5570,12 +5576,6 @@ export interface UpdateTypedLinkFacetRequest { * in which they are supplied to any API calls. For more information about identity attributes, see Typed Links.

                    */ IdentityAttributeOrder: string[] | undefined; - - /** - *

                    The Amazon Resource Name (ARN) that is associated with the schema. For more - * information, see arns.

                    - */ - SchemaArn: string | undefined; } export namespace UpdateTypedLinkFacetRequest { @@ -5609,14 +5609,14 @@ export namespace IncompatibleSchemaException { export interface UpgradeAppliedSchemaRequest { /** - *

                    The ARN for the directory to which the upgraded schema will be applied.

                    + *

                    The revision of the published schema to upgrade the directory to.

                    */ - DirectoryArn: string | undefined; + PublishedSchemaArn: string | undefined; /** - *

                    The revision of the published schema to upgrade the directory to.

                    + *

                    The ARN for the directory to which the upgraded schema will be applied.

                    */ - PublishedSchemaArn: string | undefined; + DirectoryArn: string | undefined; /** *

                    Used for testing whether the major version schemas are backward compatible or not. If schema compatibility fails, an exception would be thrown else the call would succeed but no changes will be saved. This parameter is optional.

                    @@ -5632,14 +5632,14 @@ export namespace UpgradeAppliedSchemaRequest { export interface UpgradeAppliedSchemaResponse { /** - *

                    The ARN of the directory that is returned as part of the response.

                    + *

                    The ARN of the upgraded schema that is returned as part of the response.

                    */ - DirectoryArn?: string; + UpgradedSchemaArn?: string; /** - *

                    The ARN of the upgraded schema that is returned as part of the response.

                    + *

                    The ARN of the directory that is returned as part of the response.

                    */ - UpgradedSchemaArn?: string; + DirectoryArn?: string; } export namespace UpgradeAppliedSchemaResponse { @@ -5650,24 +5650,24 @@ export namespace UpgradeAppliedSchemaResponse { export interface UpgradePublishedSchemaRequest { /** - *

                    Identifies the minor version of the published schema that will be created. This parameter is NOT optional.

                    + *

                    The ARN of the published schema to be upgraded.

                    */ - MinorVersion: string | undefined; + PublishedSchemaArn: string | undefined; /** - *

                    The ARN of the published schema to be upgraded.

                    + *

                    The ARN of the development schema with the changes used for the upgrade.

                    */ - PublishedSchemaArn: string | undefined; + DevelopmentSchemaArn: string | undefined; /** - *

                    Used for testing whether the Development schema provided is backwards compatible, or not, with the publish schema provided by the user to be upgraded. If schema compatibility fails, an exception would be thrown else the call would succeed. This parameter is optional and defaults to false.

                    + *

                    Identifies the minor version of the published schema that will be created. This parameter is NOT optional.

                    */ - DryRun?: boolean; + MinorVersion: string | undefined; /** - *

                    The ARN of the development schema with the changes used for the upgrade.

                    + *

                    Used for testing whether the Development schema provided is backwards compatible, or not, with the publish schema provided by the user to be upgraded. If schema compatibility fails, an exception would be thrown else the call would succeed. This parameter is optional and defaults to false.

                    */ - DevelopmentSchemaArn: string | undefined; + DryRun?: boolean; } export namespace UpgradePublishedSchemaRequest { diff --git a/clients/client-clouddirectory/protocols/Aws_restJson1.ts b/clients/client-clouddirectory/protocols/Aws_restJson1.ts index 4b7c75460ee5..c563534be2b0 100644 --- a/clients/client-clouddirectory/protocols/Aws_restJson1.ts +++ b/clients/client-clouddirectory/protocols/Aws_restJson1.ts @@ -474,8 +474,8 @@ export const serializeAws_restJson1BatchReadCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", - ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), + ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), }; let resolvedPath = "/amazonclouddirectory/2017-01-11/batchread"; let body: any; @@ -1081,8 +1081,8 @@ export const serializeAws_restJson1GetObjectAttributesCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", - ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), + ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), }; let resolvedPath = "/amazonclouddirectory/2017-01-11/object/attributes/get"; let body: any; @@ -1115,8 +1115,8 @@ export const serializeAws_restJson1GetObjectInformationCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", - ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), + ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), }; let resolvedPath = "/amazonclouddirectory/2017-01-11/object/information"; let body: any; @@ -1217,8 +1217,8 @@ export const serializeAws_restJson1ListAttachedIndicesCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", - ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), + ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), }; let resolvedPath = "/amazonclouddirectory/2017-01-11/object/indices"; let body: any; @@ -1387,8 +1387,8 @@ export const serializeAws_restJson1ListIndexCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", - ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), + ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), }; let resolvedPath = "/amazonclouddirectory/2017-01-11/index/targets"; let body: any; @@ -1446,8 +1446,8 @@ export const serializeAws_restJson1ListObjectAttributesCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", - ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), + ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), }; let resolvedPath = "/amazonclouddirectory/2017-01-11/object/attributes"; let body: any; @@ -1479,8 +1479,8 @@ export const serializeAws_restJson1ListObjectChildrenCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", - ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), + ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), }; let resolvedPath = "/amazonclouddirectory/2017-01-11/object/children"; let body: any; @@ -1538,8 +1538,8 @@ export const serializeAws_restJson1ListObjectParentsCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", - ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), + ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), }; let resolvedPath = "/amazonclouddirectory/2017-01-11/object/parent"; let body: any; @@ -1637,8 +1637,8 @@ export const serializeAws_restJson1ListPolicyAttachmentsCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", - ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), ...(isSerializableHeaderValue(input.DirectoryArn) && { "x-amz-data-partition": input.DirectoryArn! }), + ...(isSerializableHeaderValue(input.ConsistencyLevel) && { "x-amz-consistency-level": input.ConsistencyLevel! }), }; let resolvedPath = "/amazonclouddirectory/2017-01-11/policy/attachment"; let body: any; diff --git a/clients/client-cloudformation/index.ts b/clients/client-cloudformation/index.ts index f914478a6166..c253d183ae5e 100644 --- a/clients/client-cloudformation/index.ts +++ b/clients/client-cloudformation/index.ts @@ -43,13 +43,17 @@ export * from "./pagination/ListExportsPaginator"; export * from "./commands/ListImportsCommand"; export * from "./pagination/ListImportsPaginator"; export * from "./commands/ListStackInstancesCommand"; +export * from "./pagination/ListStackInstancesPaginator"; export * from "./commands/ListStackResourcesCommand"; export * from "./pagination/ListStackResourcesPaginator"; export * from "./commands/ListStacksCommand"; export * from "./pagination/ListStacksPaginator"; export * from "./commands/ListStackSetOperationResultsCommand"; +export * from "./pagination/ListStackSetOperationResultsPaginator"; export * from "./commands/ListStackSetOperationsCommand"; +export * from "./pagination/ListStackSetOperationsPaginator"; export * from "./commands/ListStackSetsCommand"; +export * from "./pagination/ListStackSetsPaginator"; export * from "./commands/ListTypeRegistrationsCommand"; export * from "./pagination/ListTypeRegistrationsPaginator"; export * from "./commands/ListTypesCommand"; diff --git a/clients/client-cloudformation/models/models_0.ts b/clients/client-cloudformation/models/models_0.ts index 505c051956ce..fba4d745dfa8 100644 --- a/clients/client-cloudformation/models/models_0.ts +++ b/clients/client-cloudformation/models/models_0.ts @@ -18,12 +18,6 @@ export type AccountGateStatus = "FAILED" | "SKIPPED" | "SUCCEEDED"; * target account gate.

                    */ export interface AccountGateResult { - /** - *

                    The reason for the account gate status assigned to this account and Region for the - * stack set operation.

                    - */ - StatusReason?: string; - /** *

                    The status of the account gate function.

                    *
                      @@ -68,6 +62,12 @@ export interface AccountGateResult { *
                    */ Status?: AccountGateStatus | string; + + /** + *

                    The reason for the account gate status assigned to this account and Region for the + * stack set operation.

                    + */ + StatusReason?: string; } export namespace AccountGateResult { @@ -155,6 +155,11 @@ export namespace AutoDeployment { *

                    The input for the CancelUpdateStack action.

                    */ export interface CancelUpdateStackInput { + /** + *

                    The name or the unique stack ID that is associated with the stack.

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

                    A unique identifier for this CancelUpdateStack request. Specify this * token if you plan to retry requests so that AWS CloudFormation knows that you're not @@ -163,11 +168,6 @@ export interface CancelUpdateStackInput { * received them.

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

                    The name or the unique stack ID that is associated with the stack.

                    - */ - StackName: string | undefined; } export namespace CancelUpdateStackInput { @@ -287,6 +287,30 @@ export namespace ResourceTargetDefinition { * to that resource.

                    */ export interface ResourceChangeDetail { + /** + *

                    A ResourceTargetDefinition structure that describes the field that AWS + * CloudFormation will change and whether the resource will be recreated.

                    + */ + Target?: ResourceTargetDefinition; + + /** + *

                    Indicates whether AWS CloudFormation can determine the target value, and whether the + * target value will change before you execute a change set.

                    + *

                    For Static evaluations, AWS CloudFormation can determine that the target + * value will change, and its value. For example, if you directly modify the + * InstanceType property of an EC2 instance, AWS CloudFormation knows that + * this property value will change, and its value, so this is a Static + * evaluation.

                    + *

                    For Dynamic evaluations, cannot determine the target value because it + * depends on the result of an intrinsic function, such as a Ref or + * Fn::GetAtt intrinsic function, when the stack is updated. For example, if + * your template includes a reference to a resource that is conditionally recreated, the value + * of the reference (the physical ID of the resource) might change, depending on if the + * resource is recreated. If the resource is recreated, it will have a new physical ID, so all + * references to that resource will also be updated.

                    + */ + Evaluation?: EvaluationType | string; + /** *

                    The group to which the CausingEntity value belongs. There are five * entity groups:

                    @@ -337,30 +361,6 @@ export interface ResourceChangeDetail { * is given for CausingEntity.

                    */ CausingEntity?: string; - - /** - *

                    A ResourceTargetDefinition structure that describes the field that AWS - * CloudFormation will change and whether the resource will be recreated.

                    - */ - Target?: ResourceTargetDefinition; - - /** - *

                    Indicates whether AWS CloudFormation can determine the target value, and whether the - * target value will change before you execute a change set.

                    - *

                    For Static evaluations, AWS CloudFormation can determine that the target - * value will change, and its value. For example, if you directly modify the - * InstanceType property of an EC2 instance, AWS CloudFormation knows that - * this property value will change, and its value, so this is a Static - * evaluation.

                    - *

                    For Dynamic evaluations, cannot determine the target value because it - * depends on the result of an intrinsic function, such as a Ref or - * Fn::GetAtt intrinsic function, when the stack is updated. For example, if - * your template includes a reference to a resource that is conditionally recreated, the value - * of the reference (the physical ID of the resource) might change, depending on if the - * resource is recreated. If the resource is recreated, it will have a new physical ID, so all - * references to that resource will also be updated.

                    - */ - Evaluation?: EvaluationType | string; } export namespace ResourceChangeDetail { @@ -381,10 +381,29 @@ export enum Replacement { */ export interface ResourceChange { /** - *

                    The resource's physical ID (resource name). Resources that you are adding don't have - * physical IDs because they haven't been created.

                    + *

                    For the Modify action, indicates which resource attribute is triggering + * this update, such as a change in the resource attribute's Metadata, + * Properties, or Tags.

                    */ - PhysicalResourceId?: string; + Scope?: (ResourceAttribute | string)[]; + + /** + *

                    The action that AWS CloudFormation takes on the resource, such as Add + * (adds a new resource), Modify (changes a resource), or Remove + * (deletes a resource).

                    + */ + Action?: ChangeAction | string; + + /** + *

                    The type of AWS CloudFormation resource, such as + * AWS::S3::Bucket.

                    + */ + ResourceType?: string; + + /** + *

                    The resource's logical ID, which is defined in the stack's template.

                    + */ + LogicalResourceId?: string; /** *

                    For the Modify action, indicates whether AWS CloudFormation will replace @@ -403,26 +422,6 @@ export interface ResourceChange { */ Replacement?: Replacement | string; - /** - *

                    The action that AWS CloudFormation takes on the resource, such as Add - * (adds a new resource), Modify (changes a resource), or Remove - * (deletes a resource).

                    - */ - Action?: ChangeAction | string; - - /** - *

                    The type of AWS CloudFormation resource, such as - * AWS::S3::Bucket.

                    - */ - ResourceType?: string; - - /** - *

                    For the Modify action, indicates which resource attribute is triggering - * this update, such as a change in the resource attribute's Metadata, - * Properties, or Tags.

                    - */ - Scope?: (ResourceAttribute | string)[]; - /** *

                    For the Modify action, a list of ResourceChangeDetail * structures that describes the changes that AWS CloudFormation will make to the resource. @@ -431,9 +430,10 @@ export interface ResourceChange { Details?: ResourceChangeDetail[]; /** - *

                    The resource's logical ID, which is defined in the stack's template.

                    + *

                    The resource's physical ID (resource name). Resources that you are adding don't have + * physical IDs because they haven't been created.

                    */ - LogicalResourceId?: string; + PhysicalResourceId?: string; } export namespace ResourceChange { @@ -509,16 +509,18 @@ export enum ExecutionStatus { */ export interface ChangeSetSummary { /** - *

                    The state of the change set, such as CREATE_IN_PROGRESS, - * CREATE_COMPLETE, or FAILED.

                    + *

                    The start time when the change set was created, in UTC.

                    */ - Status?: ChangeSetStatus | string; + CreationTime?: Date; /** - *

                    A description of the change set's status. For example, if your change set is in the - * FAILED state, AWS CloudFormation shows the error message.

                    + *

                    If the change set execution status is AVAILABLE, you can execute the + * change set. If you can’t execute the change set, the status indicates why. For example, a + * change set might be in an UNAVAILABLE state because AWS CloudFormation is + * still creating it or in an OBSOLETE state because the stack was already + * updated.

                    */ - StatusReason?: string; + ExecutionStatus?: ExecutionStatus | string; /** *

                    Descriptive information about the change set.

                    @@ -526,18 +528,14 @@ export interface ChangeSetSummary { Description?: string; /** - *

                    The ID of the change set.

                    + *

                    The name of the stack with which the change set is associated.

                    */ - ChangeSetId?: string; + StackName?: string; /** - *

                    If the change set execution status is AVAILABLE, you can execute the - * change set. If you can’t execute the change set, the status indicates why. For example, a - * change set might be in an UNAVAILABLE state because AWS CloudFormation is - * still creating it or in an OBSOLETE state because the stack was already - * updated.

                    + *

                    The ID of the stack with which the change set is associated.

                    */ - ExecutionStatus?: ExecutionStatus | string; + StackId?: string; /** *

                    The name of the change set.

                    @@ -545,19 +543,21 @@ export interface ChangeSetSummary { ChangeSetName?: string; /** - *

                    The name of the stack with which the change set is associated.

                    + *

                    The ID of the change set.

                    */ - StackName?: string; + ChangeSetId?: string; /** - *

                    The ID of the stack with which the change set is associated.

                    + *

                    A description of the change set's status. For example, if your change set is in the + * FAILED state, AWS CloudFormation shows the error message.

                    */ - StackId?: string; + StatusReason?: string; /** - *

                    The start time when the change set was created, in UTC.

                    + *

                    The state of the change set, such as CREATE_IN_PROGRESS, + * CREATE_COMPLETE, or FAILED.

                    */ - CreationTime?: Date; + Status?: ChangeSetStatus | string; } export namespace ChangeSetSummary { @@ -576,18 +576,6 @@ export enum ChangeSetType { *

                    The input for the ContinueUpdateRollback action.

                    */ export interface ContinueUpdateRollbackInput { - /** - *

                    The name or the unique ID of the stack that you want to continue rolling - * back.

                    - * - *

                    Don't specify the name of a nested stack (a stack that was created by using the - * AWS::CloudFormation::Stack resource). Instead, use this operation on the - * parent stack (the stack that contains the AWS::CloudFormation::Stack - * resource).

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

                    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role * that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation uses the role's @@ -601,6 +589,15 @@ export interface ContinueUpdateRollbackInput { */ RoleARN?: string; + /** + *

                    A unique identifier for this ContinueUpdateRollback request. Specify + * this token if you plan to retry requests so that AWS CloudFormation knows that you're not + * attempting to continue the rollback to a stack with the same name. You might retry + * ContinueUpdateRollback requests to ensure that AWS CloudFormation + * successfully received them.

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

                    A list of the logical IDs of the resources that AWS CloudFormation skips during the * continue update rollback operation. You can specify only resources that are in the @@ -635,13 +632,16 @@ export interface ContinueUpdateRollbackInput { ResourcesToSkip?: string[]; /** - *

                    A unique identifier for this ContinueUpdateRollback request. Specify - * this token if you plan to retry requests so that AWS CloudFormation knows that you're not - * attempting to continue the rollback to a stack with the same name. You might retry - * ContinueUpdateRollback requests to ensure that AWS CloudFormation - * successfully received them.

                    + *

                    The name or the unique ID of the stack that you want to continue rolling + * back.

                    + * + *

                    Don't specify the name of a nested stack (a stack that was created by using the + * AWS::CloudFormation::Stack resource). Instead, use this operation on the + * parent stack (the stack that contains the AWS::CloudFormation::Stack + * resource).

                    + *
                    */ - ClientRequestToken?: string; + StackName: string | undefined; } export namespace ContinueUpdateRollbackInput { @@ -665,13 +665,6 @@ export namespace ContinueUpdateRollbackOutput { *

                    The Parameter data type.

                    */ export interface Parameter { - /** - *

                    The key associated with the parameter. If you don't specify a key and value for a - * particular parameter, AWS CloudFormation uses the default value that is specified in your - * template.

                    - */ - ParameterKey?: string; - /** *

                    Read-only. The value that corresponds to a Systems Manager parameter key. This field * is returned only for @@ -684,6 +677,13 @@ export interface Parameter { */ ParameterValue?: string; + /** + *

                    The key associated with the parameter. If you don't specify a key and value for a + * particular parameter, AWS CloudFormation uses the default value that is specified in your + * template.

                    + */ + ParameterKey?: string; + /** *

                    During a stack update, use the existing parameter value that the stack is using for a * given parameter key. If you specify true, do not specify a parameter @@ -702,6 +702,11 @@ export namespace Parameter { *

                    Describes the target resource of an import operation.

                    */ export interface ResourceToImport { + /** + *

                    The type of resource to import into your stack, such as AWS::S3::Bucket. For a list of supported resource types, see Resources that support import operations in the AWS CloudFormation User Guide.

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

                    The logical ID of the target resource as specified in the template.

                    */ @@ -713,11 +718,6 @@ export interface ResourceToImport { * value is the actual property value (for example, MyS3Bucket).

                    */ ResourceIdentifier: { [key: string]: string } | undefined; - - /** - *

                    The type of resource to import into your stack, such as AWS::S3::Bucket. For a list of supported resource types, see Resources that support import operations in the AWS CloudFormation User Guide.

                    - */ - ResourceType: string | undefined; } export namespace ResourceToImport { @@ -733,17 +733,17 @@ export namespace ResourceToImport { * operation.

                    */ export interface RollbackTrigger { - /** - *

                    The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm is the only supported resource type.

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

                    The Amazon Resource Name (ARN) of the rollback trigger.

                    *

                    If a specified trigger is missing, the entire stack operation fails and is rolled * back.

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

                    The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm is the only supported resource type.

                    + */ + Type: string | undefined; } export namespace RollbackTrigger { @@ -762,6 +762,21 @@ export namespace RollbackTrigger { * Operations.

                    */ export interface RollbackConfiguration { + /** + *

                    The amount of time, in minutes, during which CloudFormation should monitor all the + * rollback triggers after the stack creation or update operation deploys all necessary + * resources.

                    + *

                    The default is 0 minutes.

                    + *

                    If you specify a monitoring period but do not specify any rollback triggers, + * CloudFormation still waits the specified period of time before cleaning up old resources + * after update operations. You can use this monitoring period to perform any manual stack + * validation desired, and manually cancel the stack creation or update (using CancelUpdateStack, for example) as necessary.

                    + *

                    If you specify 0 for this parameter, CloudFormation still monitors the specified + * rollback triggers during stack creation and update operations. Then, for update operations, + * it begins disposing of old resources immediately once the operation completes.

                    + */ + MonitoringTimeInMinutes?: number; + /** *

                    The triggers to monitor during stack creation or update actions.

                    *

                    By default, AWS CloudFormation saves the rollback triggers specified for a stack and applies them @@ -789,22 +804,7 @@ export interface RollbackConfiguration { * back.

                    */ RollbackTriggers?: RollbackTrigger[]; - - /** - *

                    The amount of time, in minutes, during which CloudFormation should monitor all the - * rollback triggers after the stack creation or update operation deploys all necessary - * resources.

                    - *

                    The default is 0 minutes.

                    - *

                    If you specify a monitoring period but do not specify any rollback triggers, - * CloudFormation still waits the specified period of time before cleaning up old resources - * after update operations. You can use this monitoring period to perform any manual stack - * validation desired, and manually cancel the stack creation or update (using CancelUpdateStack, for example) as necessary.

                    - *

                    If you specify 0 for this parameter, CloudFormation still monitors the specified - * rollback triggers during stack creation and update operations. Then, for update operations, - * it begins disposing of old resources immediately once the operation completes.

                    - */ - MonitoringTimeInMinutes?: number; -} +} export namespace RollbackConfiguration { export const filterSensitiveLog = (obj: RollbackConfiguration): any => ({ @@ -817,13 +817,6 @@ export namespace RollbackConfiguration { * information about an AWS CloudFormation stack.

                    */ export interface Tag { - /** - *

                    - * Required. A string containing the value for this tag. You can specify - * a maximum of 256 characters for a tag value.

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

                    * Required. A string used to identify this tag. You can specify a @@ -831,6 +824,13 @@ export interface Tag { * reserved prefix: aws:.

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

                    + * Required. A string containing the value for this tag. You can specify + * a maximum of 256 characters for a tag value.

                    + */ + Value: string | undefined; } export namespace Tag { @@ -844,9 +844,21 @@ export namespace Tag { */ export interface CreateChangeSetInput { /** - *

                    The resources to import into your stack.

                    + *

                    The name or the unique ID of the stack for which you are creating a change set. AWS + * CloudFormation generates the change set by comparing this stack's information with the + * information that you submit, such as a modified template or different parameter input + * values.

                    */ - ResourcesToImport?: ResourceToImport[]; + StackName: string | undefined; + + /** + *

                    The name of the change set. The name must be unique among all change sets that are + * associated with the specified stack.

                    + *

                    A change set name can contain only alphanumeric, case sensitive characters and + * hyphens. It must start with an alphabetic character and cannot exceed 128 + * characters.

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

                    Key-value pairs to associate with this stack. AWS CloudFormation also propagates @@ -854,6 +866,105 @@ export interface CreateChangeSetInput { */ Tags?: Tag[]; + /** + *

                    The type of change set operation. To create a change set for a new stack, specify + * CREATE. To create a change set for an existing stack, specify + * UPDATE. To create a change set for an import operation, specify + * IMPORT.

                    + *

                    If you create a change set for a new stack, AWS Cloudformation creates a stack with a + * unique stack ID, but no template or resources. The stack will be in the + * REVIEW_IN_PROGRESS + * state until you execute the change + * set.

                    + *

                    By default, AWS CloudFormation specifies UPDATE. You can't use the + * UPDATE type to create a change set for a new stack or the + * CREATE type to create a change set for an existing stack.

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

                    The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS) + * topics that AWS CloudFormation associates with the stack. To remove all associated + * notification topics, specify an empty list.

                    + */ + NotificationARNs?: string[]; + + /** + *

                    A description to help you identify this change set.

                    + */ + Description?: string; + + /** + *

                    The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role + * that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the + * role's credentials to make calls on your behalf. AWS CloudFormation uses this role for all + * future operations on the stack. As long as users have permission to operate on the stack, + * AWS CloudFormation uses this role even if the users don't have permission to pass it. + * Ensure that the role grants least privilege.

                    + *

                    If you don't specify a value, AWS CloudFormation uses the role that was previously + * associated with the stack. If no role is available, AWS CloudFormation uses a temporary + * session that is generated from your user credentials.

                    + */ + RoleARN?: string; + + /** + *

                    A unique identifier for this CreateChangeSet request. Specify this token + * if you plan to retry requests so that AWS CloudFormation knows that you're not attempting + * to create another change set with the same name. You might retry + * CreateChangeSet requests to ensure that AWS CloudFormation successfully + * received them.

                    + */ + ClientToken?: string; + + /** + *

                    The template resource types that you have permissions to work with if you execute + * this change set, such as AWS::EC2::Instance, AWS::EC2::*, or + * Custom::MyCustomInstance.

                    + *

                    If the list of resource types doesn't include a resource type that you're updating, + * the stack update fails. By default, AWS CloudFormation grants permissions to all resource + * types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in + * IAM policies for AWS CloudFormation. For more information, see Controlling Access with + * AWS Identity and Access Management in the AWS CloudFormation User + * Guide.

                    + */ + ResourceTypes?: string[]; + + /** + *

                    The location of the file that contains the revised template. The URL must point to a + * template (max size: 460,800 bytes) that is located in an S3 bucket. AWS CloudFormation + * generates the change set by comparing this template with the stack that you + * specified.

                    + *

                    Conditional: You must specify only TemplateBody or + * TemplateURL.

                    + */ + TemplateURL?: string; + + /** + *

                    The resources to import into your stack.

                    + */ + ResourcesToImport?: ResourceToImport[]; + + /** + *

                    A list of Parameter structures that specify input parameters for the + * change set. For more information, see the Parameter data type.

                    + */ + Parameters?: Parameter[]; + + /** + *

                    Whether to reuse the template that is associated with the stack to create the change + * set.

                    + */ + UsePreviousTemplate?: boolean; + + /** + *

                    A structure that contains the body of the revised template, with a minimum length of + * 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation generates the change set by + * comparing this template with the template of the stack that you specified.

                    + *

                    Conditional: You must specify only TemplateBody or + * TemplateURL.

                    + */ + TemplateBody?: string; + /** *

                    The rollback triggers for AWS CloudFormation to monitor during stack creation and * updating operations, and for the specified monitoring period afterwards.

                    @@ -963,117 +1074,6 @@ export interface CreateChangeSetInput { *
                  */ Capabilities?: (Capability | string)[]; - - /** - *

                  The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS) - * topics that AWS CloudFormation associates with the stack. To remove all associated - * notification topics, specify an empty list.

                  - */ - NotificationARNs?: string[]; - - /** - *

                  The location of the file that contains the revised template. The URL must point to a - * template (max size: 460,800 bytes) that is located in an S3 bucket. AWS CloudFormation - * generates the change set by comparing this template with the stack that you - * specified.

                  - *

                  Conditional: You must specify only TemplateBody or - * TemplateURL.

                  - */ - TemplateURL?: string; - - /** - *

                  The name of the change set. The name must be unique among all change sets that are - * associated with the specified stack.

                  - *

                  A change set name can contain only alphanumeric, case sensitive characters and - * hyphens. It must start with an alphabetic character and cannot exceed 128 - * characters.

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

                  The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role - * that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the - * role's credentials to make calls on your behalf. AWS CloudFormation uses this role for all - * future operations on the stack. As long as users have permission to operate on the stack, - * AWS CloudFormation uses this role even if the users don't have permission to pass it. - * Ensure that the role grants least privilege.

                  - *

                  If you don't specify a value, AWS CloudFormation uses the role that was previously - * associated with the stack. If no role is available, AWS CloudFormation uses a temporary - * session that is generated from your user credentials.

                  - */ - RoleARN?: string; - - /** - *

                  A structure that contains the body of the revised template, with a minimum length of - * 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation generates the change set by - * comparing this template with the template of the stack that you specified.

                  - *

                  Conditional: You must specify only TemplateBody or - * TemplateURL.

                  - */ - TemplateBody?: string; - - /** - *

                  Whether to reuse the template that is associated with the stack to create the change - * set.

                  - */ - UsePreviousTemplate?: boolean; - - /** - *

                  A list of Parameter structures that specify input parameters for the - * change set. For more information, see the Parameter data type.

                  - */ - Parameters?: Parameter[]; - - /** - *

                  The template resource types that you have permissions to work with if you execute - * this change set, such as AWS::EC2::Instance, AWS::EC2::*, or - * Custom::MyCustomInstance.

                  - *

                  If the list of resource types doesn't include a resource type that you're updating, - * the stack update fails. By default, AWS CloudFormation grants permissions to all resource - * types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in - * IAM policies for AWS CloudFormation. For more information, see Controlling Access with - * AWS Identity and Access Management in the AWS CloudFormation User - * Guide.

                  - */ - ResourceTypes?: string[]; - - /** - *

                  A description to help you identify this change set.

                  - */ - Description?: string; - - /** - *

                  The name or the unique ID of the stack for which you are creating a change set. AWS - * CloudFormation generates the change set by comparing this stack's information with the - * information that you submit, such as a modified template or different parameter input - * values.

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

                  A unique identifier for this CreateChangeSet request. Specify this token - * if you plan to retry requests so that AWS CloudFormation knows that you're not attempting - * to create another change set with the same name. You might retry - * CreateChangeSet requests to ensure that AWS CloudFormation successfully - * received them.

                  - */ - ClientToken?: string; - - /** - *

                  The type of change set operation. To create a change set for a new stack, specify - * CREATE. To create a change set for an existing stack, specify - * UPDATE. To create a change set for an import operation, specify - * IMPORT.

                  - *

                  If you create a change set for a new stack, AWS Cloudformation creates a stack with a - * unique stack ID, but no template or resources. The stack will be in the - * REVIEW_IN_PROGRESS - * state until you execute the change - * set.

                  - *

                  By default, AWS CloudFormation specifies UPDATE. You can't use the - * UPDATE type to create a change set for a new stack or the - * CREATE type to create a change set for an existing stack.

                  - */ - ChangeSetType?: ChangeSetType | string; } export namespace CreateChangeSetInput { @@ -1147,56 +1147,42 @@ export enum OnFailure { */ export interface CreateStackInput { /** - *

                  Structure containing the stack policy body. For more information, go to Prevent Updates - * to Stack Resources in the AWS CloudFormation User Guide. - * You can specify either the StackPolicyBody or the StackPolicyURL - * parameter, but not both.

                  - */ - StackPolicyBody?: string; - - /** - *

                  Structure containing the template body with a minimum length of 1 byte and a maximum - * length of 51,200 bytes. For more information, go to Template Anatomy - * in the AWS CloudFormation User Guide.

                  - *

                  Conditional: You must specify either the TemplateBody or the - * TemplateURL parameter, but not both.

                  - */ - TemplateBody?: string; - - /** - *

                  The name that is associated with the stack. The name must be unique in the Region in - * which you are creating the stack.

                  - * - *

                  A stack name can contain only alphanumeric characters (case sensitive) and - * hyphens. It must start with an alphabetic character and cannot be longer than 128 - * characters.

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

                  Location of a file containing the stack policy. The URL must point to a policy - * (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can - * specify either the StackPolicyBody or the StackPolicyURL - * parameter, but not both.

                  + *

                  The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role + * that AWS CloudFormation assumes to create the stack. AWS CloudFormation uses the role's + * credentials to make calls on your behalf. AWS CloudFormation always uses this role for all + * future operations on the stack. As long as users have permission to operate on the stack, + * AWS CloudFormation uses this role even if the users don't have permission to pass it. + * Ensure that the role grants least privilege.

                  + *

                  If you don't specify a value, AWS CloudFormation uses the role that was previously + * associated with the stack. If no role is available, AWS CloudFormation uses a temporary + * session that is generated from your user credentials.

                  */ - StackPolicyURL?: string; + RoleARN?: string; /** - *

                  Determines what action will be taken if stack creation fails. This must be one of: - * DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or - * DisableRollback, but not both.

                  - *

                  Default: ROLLBACK - *

                  + *

                  A list of Parameter structures that specify input parameters for the + * stack. For more information, see the Parameter data + * type.

                  */ - OnFailure?: OnFailure | string; + Parameters?: Parameter[]; /** - *

                  The Simple Notification Service (SNS) topic ARNs to publish stack related events. You - * can find your SNS topic ARNs using the SNS console or your Command Line Interface - * (CLI).

                  + *

                  The template resource types that you have permissions to work with for this create + * stack action, such as AWS::EC2::Instance, AWS::EC2::*, or + * Custom::MyCustomInstance. Use the following syntax to describe template + * resource types: AWS::* (for all AWS resource), Custom::* (for all + * custom resources), Custom::logical_ID + * (for a specific custom resource), + * AWS::service_name::* (for all resources of a + * particular AWS service), and + * AWS::service_name::resource_logical_ID + * (for a specific AWS resource).

                  + *

                  If the list of resource types doesn't include a resource that you're creating, the + * stack creation fails. By default, AWS CloudFormation grants permissions to all resource + * types. AWS Identity and Access Management (IAM) uses this parameter for AWS + * CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

                  */ - NotificationARNs?: string[]; + ResourceTypes?: string[]; /** *

                  In some cases, you must explicitly acknowledge that your stack template contains certain @@ -1304,6 +1290,26 @@ export interface CreateStackInput { */ Capabilities?: (Capability | string)[]; + /** + *

                  The name that is associated with the stack. The name must be unique in the Region in + * which you are creating the stack.

                  + * + *

                  A stack name can contain only alphanumeric characters (case sensitive) and + * hyphens. It must start with an alphabetic character and cannot be longer than 128 + * characters.

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

                  Determines what action will be taken if stack creation fails. This must be one of: + * DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or + * DisableRollback, but not both.

                  + *

                  Default: ROLLBACK + *

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

                  Whether to enable termination protection on the specified stack. If a user attempts * to delete a stack with termination protection enabled, the operation fails and the stack @@ -1316,13 +1322,6 @@ export interface CreateStackInput { */ EnableTerminationProtection?: boolean; - /** - *

                  The amount of time that can pass before the stack status becomes CREATE_FAILED; if - * DisableRollback is not set or is set to false, the stack will - * be rolled back.

                  - */ - TimeoutInMinutes?: number; - /** *

                  Set to true to disable rollback of the stack if stack creation failed. * You can specify either DisableRollback or OnFailure, but not @@ -1330,58 +1329,14 @@ export interface CreateStackInput { *

                  Default: false *

                  */ - DisableRollback?: boolean; - - /** - *

                  The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role - * that AWS CloudFormation assumes to create the stack. AWS CloudFormation uses the role's - * credentials to make calls on your behalf. AWS CloudFormation always uses this role for all - * future operations on the stack. As long as users have permission to operate on the stack, - * AWS CloudFormation uses this role even if the users don't have permission to pass it. - * Ensure that the role grants least privilege.

                  - *

                  If you don't specify a value, AWS CloudFormation uses the role that was previously - * associated with the stack. If no role is available, AWS CloudFormation uses a temporary - * session that is generated from your user credentials.

                  - */ - RoleARN?: string; - - /** - *

                  Key-value pairs to associate with this stack. AWS CloudFormation also propagates - * these tags to the resources created in the stack. A maximum number of 50 tags can be - * specified.

                  - */ - Tags?: Tag[]; - - /** - *

                  The rollback triggers for AWS CloudFormation to monitor during stack creation and - * updating operations, and for the specified monitoring period afterwards.

                  - */ - RollbackConfiguration?: RollbackConfiguration; - - /** - *

                  A list of Parameter structures that specify input parameters for the - * stack. For more information, see the Parameter data - * type.

                  - */ - Parameters?: Parameter[]; + DisableRollback?: boolean; /** - *

                  The template resource types that you have permissions to work with for this create - * stack action, such as AWS::EC2::Instance, AWS::EC2::*, or - * Custom::MyCustomInstance. Use the following syntax to describe template - * resource types: AWS::* (for all AWS resource), Custom::* (for all - * custom resources), Custom::logical_ID - * (for a specific custom resource), - * AWS::service_name::* (for all resources of a - * particular AWS service), and - * AWS::service_name::resource_logical_ID - * (for a specific AWS resource).

                  - *

                  If the list of resource types doesn't include a resource that you're creating, the - * stack creation fails. By default, AWS CloudFormation grants permissions to all resource - * types. AWS Identity and Access Management (IAM) uses this parameter for AWS - * CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

                  + *

                  The amount of time that can pass before the stack status becomes CREATE_FAILED; if + * DisableRollback is not set or is set to false, the stack will + * be rolled back.

                  */ - ResourceTypes?: string[]; + TimeoutInMinutes?: number; /** *

                  A unique identifier for this CreateStack request. Specify this token if @@ -1411,6 +1366,51 @@ export interface CreateStackInput { * TemplateURL parameter, but not both.

                  */ TemplateURL?: string; + + /** + *

                  Key-value pairs to associate with this stack. AWS CloudFormation also propagates + * these tags to the resources created in the stack. A maximum number of 50 tags can be + * specified.

                  + */ + Tags?: Tag[]; + + /** + *

                  The rollback triggers for AWS CloudFormation to monitor during stack creation and + * updating operations, and for the specified monitoring period afterwards.

                  + */ + RollbackConfiguration?: RollbackConfiguration; + + /** + *

                  Structure containing the template body with a minimum length of 1 byte and a maximum + * length of 51,200 bytes. For more information, go to Template Anatomy + * in the AWS CloudFormation User Guide.

                  + *

                  Conditional: You must specify either the TemplateBody or the + * TemplateURL parameter, but not both.

                  + */ + TemplateBody?: string; + + /** + *

                  Structure containing the stack policy body. For more information, go to Prevent Updates + * to Stack Resources in the AWS CloudFormation User Guide. + * You can specify either the StackPolicyBody or the StackPolicyURL + * parameter, but not both.

                  + */ + StackPolicyBody?: string; + + /** + *

                  The Simple Notification Service (SNS) topic ARNs to publish stack related events. You + * can find your SNS topic ARNs using the SNS console or your Command Line Interface + * (CLI).

                  + */ + NotificationARNs?: string[]; + + /** + *

                  Location of a file containing the stack policy. The URL must point to a policy + * (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can + * specify either the StackPolicyBody or the StackPolicyURL + * parameter, but not both.

                  + */ + StackPolicyURL?: string; } export namespace CreateStackInput { @@ -1477,18 +1477,19 @@ export interface StackSetOperationPreferences { MaxConcurrentCount?: number; /** - *

                  The order of the Regions in where you want to perform the stack operation.

                  - */ - RegionOrder?: string[]; - - /** - *

                  The number of accounts, per Region, for which this operation can fail before AWS - * CloudFormation stops the operation in that Region. If the operation is stopped in a Region, - * AWS CloudFormation doesn't attempt the operation in any subsequent Regions.

                  - *

                  Conditional: You must specify either FailureToleranceCount or - * FailureTolerancePercentage (but not both).

                  + *

                  The maximum percentage of accounts in which to perform this operation at one + * time.

                  + *

                  When calculating the number of accounts based on the specified percentage, AWS + * CloudFormation rounds down to the next whole number. This is true except in cases where + * rounding down would result is zero. In this case, CloudFormation sets the number as one + * instead.

                  + *

                  Note that this setting lets you specify the maximum for + * operations. For large deployments, under certain circumstances the actual number of + * accounts acted upon concurrently may be lower due to service throttling.

                  + *

                  Conditional: You must specify either MaxConcurrentCount or + * MaxConcurrentPercentage, but not both.

                  */ - FailureToleranceCount?: number; + MaxConcurrentPercentage?: number; /** *

                  The percentage of accounts, per Region, for which this stack operation can fail @@ -1503,19 +1504,18 @@ export interface StackSetOperationPreferences { FailureTolerancePercentage?: number; /** - *

                  The maximum percentage of accounts in which to perform this operation at one - * time.

                  - *

                  When calculating the number of accounts based on the specified percentage, AWS - * CloudFormation rounds down to the next whole number. This is true except in cases where - * rounding down would result is zero. In this case, CloudFormation sets the number as one - * instead.

                  - *

                  Note that this setting lets you specify the maximum for - * operations. For large deployments, under certain circumstances the actual number of - * accounts acted upon concurrently may be lower due to service throttling.

                  - *

                  Conditional: You must specify either MaxConcurrentCount or - * MaxConcurrentPercentage, but not both.

                  + *

                  The number of accounts, per Region, for which this operation can fail before AWS + * CloudFormation stops the operation in that Region. If the operation is stopped in a Region, + * AWS CloudFormation doesn't attempt the operation in any subsequent Regions.

                  + *

                  Conditional: You must specify either FailureToleranceCount or + * FailureTolerancePercentage (but not both).

                  */ - MaxConcurrentPercentage?: number; + FailureToleranceCount?: number; + + /** + *

                  The order of the Regions in where you want to perform the stack operation.

                  + */ + RegionOrder?: string[]; } export namespace StackSetOperationPreferences { @@ -1525,43 +1525,6 @@ export namespace StackSetOperationPreferences { } export interface CreateStackInstancesInput { - /** - *

                  The names of one or more Regions where you want to create stack instances using the - * specified AWS account(s).

                  - */ - Regions: string[] | undefined; - - /** - *

                  The name or unique ID of the stack set that you want to create stack instances - * from.

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

                  The unique identifier for this stack set operation.

                  - *

                  The operation ID also functions as an idempotency token, to ensure that AWS - * CloudFormation performs the stack set operation only once, even if you retry the request - * multiple times. You might retry stack set operation requests to ensure that AWS - * CloudFormation successfully received them.

                  - *

                  If you don't specify an operation ID, the SDK generates one automatically.

                  - *

                  Repeating this stack set operation with a new operation ID retries all stack - * instances whose status is OUTDATED.

                  - */ - OperationId?: string; - - /** - *

                  [Self-managed permissions] The names of one or more AWS accounts that you want to create stack instances in the - * specified Region(s) for.

                  - *

                  You can specify Accounts or DeploymentTargets, but not both.

                  - */ - Accounts?: string[]; - - /** - *

                  [Service-managed permissions] The AWS Organizations accounts for which to create stack instances in the specified Regions.

                  - *

                  You can specify Accounts or DeploymentTargets, but not both.

                  - */ - DeploymentTargets?: DeploymentTargets; - /** *

                  Preferences for how AWS CloudFormation performs this stack set operation.

                  */ @@ -1607,6 +1570,43 @@ export interface CreateStackInstancesInput { * the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template.

                  */ ParameterOverrides?: Parameter[]; + + /** + *

                  The unique identifier for this stack set operation.

                  + *

                  The operation ID also functions as an idempotency token, to ensure that AWS + * CloudFormation performs the stack set operation only once, even if you retry the request + * multiple times. You might retry stack set operation requests to ensure that AWS + * CloudFormation successfully received them.

                  + *

                  If you don't specify an operation ID, the SDK generates one automatically.

                  + *

                  Repeating this stack set operation with a new operation ID retries all stack + * instances whose status is OUTDATED.

                  + */ + OperationId?: string; + + /** + *

                  The names of one or more Regions where you want to create stack instances using the + * specified AWS account(s).

                  + */ + Regions: string[] | undefined; + + /** + *

                  [Service-managed permissions] The AWS Organizations accounts for which to create stack instances in the specified Regions.

                  + *

                  You can specify Accounts or DeploymentTargets, but not both.

                  + */ + DeploymentTargets?: DeploymentTargets; + + /** + *

                  The name or unique ID of the stack set that you want to create stack instances + * from.

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

                  [Self-managed permissions] The names of one or more AWS accounts that you want to create stack instances in the + * specified Region(s) for.

                  + *

                  You can specify Accounts or DeploymentTargets, but not both.

                  + */ + Accounts?: string[]; } export namespace CreateStackInstancesInput { @@ -1723,41 +1723,6 @@ export namespace CreatedButModifiedException { export type PermissionModels = "SELF_MANAGED" | "SERVICE_MANAGED"; export interface CreateStackSetInput { - /** - *

                  The structure that contains the template body, with a minimum length of 1 byte and a - * maximum length of 51,200 bytes. For more information, see Template Anatomy - * in the AWS CloudFormation User Guide.

                  - *

                  Conditional: You must specify either the TemplateBody or the TemplateURL parameter, - * but not both.

                  - */ - TemplateBody?: string; - - /** - *

                  The name of the IAM execution role to use to create the stack set. If you do not specify - * an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role - * for the stack set operation.

                  - *

                  Specify an IAM role only if you are using customized execution roles to control which - * stack resources users and groups can include in their stack sets. - * - *

                  - */ - ExecutionRoleName?: string; - - /** - *

                  The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

                  - *

                  Specify an IAM role only if you are using customized administrator roles to control - * which users or groups can manage specific stack sets within the same administrator account. - * For more information, see Prerequisites: - * Granting Permissions for Stack Set Operations in the - * AWS CloudFormation User Guide.

                  - */ - AdministrationRoleARN?: string; - - /** - *

                  Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to the target organization or organizational unit (OU). Specify only if PermissionModel is SERVICE_MANAGED.

                  - */ - AutoDeployment?: AutoDeployment; - /** *

                  The name to associate with the stack set. The name must be unique in the Region where * you create your stack set.

                  @@ -1770,15 +1735,17 @@ export interface CreateStackSetInput { StackSetName: string | undefined; /** - *

                  The input parameters for the stack set template.

                  - */ - Parameters?: Parameter[]; - - /** - *

                  A description of the stack set. You can use the description to identify the stack - * set's purpose or other important information.

                  + *

                  Describes how the IAM roles required for stack set operations are created. By default, SELF-MANAGED is specified.

                  + *
                    + *
                  • + *

                    With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

                    + *
                  • + *
                  • + *

                    With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

                    + *
                  • + *
                  */ - Description?: string; + PermissionModel?: PermissionModels | string; /** *

                  The key-value pairs to associate with this stack set and the stacks created from it. @@ -1792,24 +1759,18 @@ export interface CreateStackSetInput { Tags?: Tag[]; /** - *

                  The location of the file that contains the template body. The URL must point to a - * template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket. For more - * information, see Template Anatomy - * in the AWS CloudFormation User Guide.

                  - *

                  Conditional: You must specify either the TemplateBody or the TemplateURL parameter, - * but not both.

                  + *

                  The input parameters for the stack set template.

                  */ - TemplateURL?: string; + Parameters?: Parameter[]; /** - *

                  A unique identifier for this CreateStackSet request. Specify this token - * if you plan to retry requests so that AWS CloudFormation knows that you're not attempting - * to create another stack set with the same name. You might retry CreateStackSet - * requests to ensure that AWS CloudFormation successfully received them.

                  - *

                  If you don't specify an operation ID, the SDK generates one automatically. - *

                  + *

                  The structure that contains the template body, with a minimum length of 1 byte and a + * maximum length of 51,200 bytes. For more information, see Template Anatomy + * in the AWS CloudFormation User Guide.

                  + *

                  Conditional: You must specify either the TemplateBody or the TemplateURL parameter, + * but not both.

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

                  In some cases, you must explicitly acknowledge that your stack set template contains @@ -1910,17 +1871,56 @@ export interface CreateStackSetInput { Capabilities?: (Capability | string)[]; /** - *

                  Describes how the IAM roles required for stack set operations are created. By default, SELF-MANAGED is specified.

                  - *
                    - *
                  • - *

                    With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

                    - *
                  • - *
                  • - *

                    With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

                    - *
                  • - *
                  + *

                  The location of the file that contains the template body. The URL must point to a + * template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket. For more + * information, see Template Anatomy + * in the AWS CloudFormation User Guide.

                  + *

                  Conditional: You must specify either the TemplateBody or the TemplateURL parameter, + * but not both.

                  */ - PermissionModel?: PermissionModels | string; + TemplateURL?: string; + + /** + *

                  A description of the stack set. You can use the description to identify the stack + * set's purpose or other important information.

                  + */ + Description?: string; + + /** + *

                  The name of the IAM execution role to use to create the stack set. If you do not specify + * an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role + * for the stack set operation.

                  + *

                  Specify an IAM role only if you are using customized execution roles to control which + * stack resources users and groups can include in their stack sets. + * + *

                  + */ + ExecutionRoleName?: string; + + /** + *

                  Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to the target organization or organizational unit (OU). Specify only if PermissionModel is SERVICE_MANAGED.

                  + */ + AutoDeployment?: AutoDeployment; + + /** + *

                  A unique identifier for this CreateStackSet request. Specify this token + * if you plan to retry requests so that AWS CloudFormation knows that you're not attempting + * to create another stack set with the same name. You might retry CreateStackSet + * requests to ensure that AWS CloudFormation successfully received them.

                  + *

                  If you don't specify an operation ID, the SDK generates one automatically. + *

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

                  The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

                  + *

                  Specify an IAM role only if you are using customized administrator roles to control + * which users or groups can manage specific stack sets within the same administrator account. + * For more information, see Prerequisites: + * Granting Permissions for Stack Set Operations in the + * AWS CloudFormation User Guide.

                  + */ + AdministrationRoleARN?: string; } export namespace CreateStackSetInput { @@ -1961,17 +1961,17 @@ export namespace NameAlreadyExistsException { *

                  The input for the DeleteChangeSet action.

                  */ export interface DeleteChangeSetInput { - /** - *

                  The name or Amazon Resource Name (ARN) of the change set that you want to - * delete.

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

                  If you specified the name of a change set to delete, specify the stack name or ID * (ARN) that is associated with it.

                  */ StackName?: string; + + /** + *

                  The name or Amazon Resource Name (ARN) of the change set that you want to + * delete.

                  + */ + ChangeSetName: string | undefined; } export namespace DeleteChangeSetInput { @@ -2031,16 +2031,6 @@ export interface DeleteStackInput { */ ClientRequestToken?: string; - /** - *

                  The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role - * that AWS CloudFormation assumes to delete the stack. AWS CloudFormation uses the role's - * credentials to make calls on your behalf.

                  - *

                  If you don't specify a value, AWS CloudFormation uses the role that was previously - * associated with the stack. If no role is available, AWS CloudFormation uses a temporary - * session that is generated from your user credentials.

                  - */ - RoleARN?: string; - /** *

                  For stacks in the DELETE_FAILED state, a list of resource logical IDs * that are associated with the resources you want to retain. During deletion, AWS @@ -2054,6 +2044,16 @@ export interface DeleteStackInput { *

                  The name or the unique stack ID that is associated with the stack.

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

                  The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role + * that AWS CloudFormation assumes to delete the stack. AWS CloudFormation uses the role's + * credentials to make calls on your behalf.

                  + *

                  If you don't specify a value, AWS CloudFormation uses the role that was previously + * associated with the stack. If no role is available, AWS CloudFormation uses a temporary + * session that is generated from your user credentials.

                  + */ + RoleARN?: string; } export namespace DeleteStackInput { @@ -2064,21 +2064,9 @@ export namespace DeleteStackInput { export interface DeleteStackInstancesInput { /** - *

                  The name or unique ID of the stack set that you want to delete stack instances - * for.

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

                  The Regions where you want to delete stack set instances.

                  - */ - Regions: string[] | undefined; - - /** - *

                  [Self-managed permissions] The names of the AWS accounts that you want to delete stack instances for.

                  - *

                  You can specify Accounts or DeploymentTargets, but not both.

                  + *

                  Preferences for how AWS CloudFormation performs this stack set operation.

                  */ - Accounts?: string[]; + OperationPreferences?: StackSetOperationPreferences; /** *

                  Removes the stack instances from the specified stack set, but doesn't delete the @@ -2088,17 +2076,6 @@ export interface DeleteStackInstancesInput { */ RetainStacks: boolean | undefined; - /** - *

                  Preferences for how AWS CloudFormation performs this stack set operation.

                  - */ - OperationPreferences?: StackSetOperationPreferences; - - /** - *

                  [Service-managed permissions] The AWS Organizations accounts from which to delete stack instances.

                  - *

                  You can specify Accounts or DeploymentTargets, but not both.

                  - */ - DeploymentTargets?: DeploymentTargets; - /** *

                  The unique identifier for this stack set operation.

                  *

                  If you don't specify an operation ID, the SDK generates one automatically.

                  @@ -2110,6 +2087,29 @@ export interface DeleteStackInstancesInput { * instances whose status is OUTDATED.

                  */ OperationId?: string; + + /** + *

                  The Regions where you want to delete stack set instances.

                  + */ + Regions: string[] | undefined; + + /** + *

                  [Service-managed permissions] The AWS Organizations accounts from which to delete stack instances.

                  + *

                  You can specify Accounts or DeploymentTargets, but not both.

                  + */ + DeploymentTargets?: DeploymentTargets; + + /** + *

                  [Self-managed permissions] The names of the AWS accounts that you want to delete stack instances for.

                  + *

                  You can specify Accounts or DeploymentTargets, but not both.

                  + */ + Accounts?: string[]; + + /** + *

                  The name or unique ID of the stack set that you want to delete stack instances + * for.

                  + */ + StackSetName: string | undefined; } export namespace DeleteStackInstancesInput { @@ -2174,28 +2174,28 @@ export type RegistryType = "RESOURCE"; export interface DeregisterTypeInput { /** - *

                  The Amazon Resource Name (ARN) of the type.

                  - *

                  Conditional: You must specify either TypeName and Type, or Arn.

                  + *

                  The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

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

                  The name of the type.

                  + *

                  The kind of type.

                  + *

                  Currently the only valid value is RESOURCE.

                  *

                  Conditional: You must specify either TypeName and Type, or Arn.

                  */ - TypeName?: string; + Type?: RegistryType | string; /** - *

                  The kind of type.

                  - *

                  Currently the only valid value is RESOURCE.

                  + *

                  The Amazon Resource Name (ARN) of the type.

                  *

                  Conditional: You must specify either TypeName and Type, or Arn.

                  */ - Type?: RegistryType | string; + Arn?: string; /** - *

                  The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

                  + *

                  The name of the type.

                  + *

                  Conditional: You must specify either TypeName and Type, or Arn.

                  */ - VersionId?: string; + TypeName?: string; } export namespace DeregisterTypeInput { @@ -2247,17 +2247,17 @@ export namespace DescribeAccountLimitsInput { *

                  The output for the DescribeAccountLimits action.

                  */ export interface DescribeAccountLimitsOutput { - /** - *

                  If the output exceeds 1 MB in size, a string that identifies the next page of limits. - * If no additional page exists, this value is null.

                  - */ - NextToken?: string; - /** *

                  An account limit structure that contain a list of AWS CloudFormation account limits * and their values.

                  */ AccountLimits?: AccountLimit[]; + + /** + *

                  If the output exceeds 1 MB in size, a string that identifies the next page of limits. + * If no additional page exists, this value is null.

                  + */ + NextToken?: string; } export namespace DescribeAccountLimitsOutput { @@ -2270,12 +2270,6 @@ export namespace DescribeAccountLimitsOutput { *

                  The input for the DescribeChangeSet action.

                  */ export interface DescribeChangeSetInput { - /** - *

                  The name or Amazon Resource Name (ARN) of the change set that you want to - * describe.

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

                  If you specified the name of a change set, specify the stack name or ID (ARN) of the * change set you want to describe.

                  @@ -2287,6 +2281,12 @@ export interface DescribeChangeSetInput { * identifies the next page of information that you want to retrieve.

                  */ NextToken?: string; + + /** + *

                  The name or Amazon Resource Name (ARN) of the change set that you want to + * describe.

                  + */ + ChangeSetName: string | undefined; } export namespace DescribeChangeSetInput { @@ -2300,54 +2300,58 @@ export namespace DescribeChangeSetInput { */ export interface DescribeChangeSetOutput { /** - *

                  A list of Parameter structures that describes the input parameters and - * their values used to create the change set. For more information, see the Parameter data type.

                  + *

                  The start time when the change set was created, in UTC.

                  */ - Parameters?: Parameter[]; + CreationTime?: Date; /** - *

                  A list of Change structures that describes the resources AWS - * CloudFormation changes if you execute the change set.

                  + *

                  The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be + * associated with the stack if you execute the change set.

                  */ - Changes?: Change[]; + NotificationARNs?: string[]; /** - *

                  The current status of the change set, such as CREATE_IN_PROGRESS, - * CREATE_COMPLETE, or FAILED.

                  + *

                  A list of Change structures that describes the resources AWS + * CloudFormation changes if you execute the change set.

                  */ - Status?: ChangeSetStatus | string; + Changes?: Change[]; /** - *

                  The name of the stack that is associated with the change set.

                  + *

                  If you execute the change set, the list of capabilities that were explicitly + * acknowledged when the change set was created.

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

                  The ARN of the stack that is associated with the change set.

                  + *

                  The ARN of the change set.

                  */ - StackId?: string; + ChangeSetId?: string; /** - *

                  The start time when the change set was created, in UTC.

                  + *

                  A list of Parameter structures that describes the input parameters and + * their values used to create the change set. For more information, see the Parameter data type.

                  */ - CreationTime?: Date; + Parameters?: Parameter[]; /** - *

                  Information about the change set.

                  + *

                  The name of the change set.

                  */ - Description?: string; + ChangeSetName?: string; /** - *

                  If you execute the change set, the list of capabilities that were explicitly - * acknowledged when the change set was created.

                  + *

                  If the change set execution status is AVAILABLE, you can execute the + * change set. If you can’t execute the change set, the status indicates why. For example, a + * change set might be in an UNAVAILABLE state because AWS CloudFormation is + * still creating it or in an OBSOLETE state because the stack was already + * updated.

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

                  If you execute the change set, the tags that will be associated with the - * stack.

                  + *

                  If the output exceeds 1 MB, a string that identifies the next page of changes. If + * there is no additional page, this value is null.

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

                  The rollback triggers for AWS CloudFormation to monitor during stack creation and @@ -2355,11 +2359,6 @@ export interface DescribeChangeSetOutput { */ RollbackConfiguration?: RollbackConfiguration; - /** - *

                  The name of the change set.

                  - */ - ChangeSetName?: string; - /** *

                  A description of the change set's status. For example, if your attempt to create a * change set failed, AWS CloudFormation shows the error message.

                  @@ -2367,30 +2366,31 @@ export interface DescribeChangeSetOutput { StatusReason?: string; /** - *

                  If the output exceeds 1 MB, a string that identifies the next page of changes. If - * there is no additional page, this value is null.

                  + *

                  If you execute the change set, the tags that will be associated with the + * stack.

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

                  The current status of the change set, such as CREATE_IN_PROGRESS, + * CREATE_COMPLETE, or FAILED.

                  + */ + Status?: ChangeSetStatus | string; /** - *

                  The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be - * associated with the stack if you execute the change set.

                  + *

                  Information about the change set.

                  */ - NotificationARNs?: string[]; + Description?: string; /** - *

                  The ARN of the change set.

                  + *

                  The name of the stack that is associated with the change set.

                  */ - ChangeSetId?: string; + StackName?: string; /** - *

                  If the change set execution status is AVAILABLE, you can execute the - * change set. If you can’t execute the change set, the status indicates why. For example, a - * change set might be in an UNAVAILABLE state because AWS CloudFormation is - * still creating it or in an OBSOLETE state because the stack was already - * updated.

                  + *

                  The ARN of the stack that is associated with the change set.

                  */ - ExecutionStatus?: ExecutionStatus | string; + StackId?: string; } export namespace DescribeChangeSetOutput { @@ -2430,9 +2430,36 @@ export enum StackDriftStatus { export interface DescribeStackDriftDetectionStatusOutput { /** - *

                  Time at which the stack drift detection operation was initiated.

                  + *

                  Status of the stack's actual configuration compared to its expected configuration.

                  + *
                    + *
                  • + *

                    + * DRIFTED: The stack differs from its expected template + * configuration. A stack is considered to have drifted if one or more of its resources + * have drifted.

                    + *
                  • + *
                  • + *

                    + * NOT_CHECKED: AWS CloudFormation has not checked if the stack differs from its + * expected template configuration.

                    + *
                  • + *
                  • + *

                    + * IN_SYNC: The stack's actual configuration matches its expected + * template configuration.

                    + *
                  • + *
                  • + *

                    + * UNKNOWN: This value is reserved for future use.

                    + *
                  • + *
                  */ - Timestamp: Date | undefined; + StackDriftStatus?: StackDriftStatus | string; + + /** + *

                  The reason the stack drift detection operation has its current status.

                  + */ + DetectionStatusReason?: string; /** *

                  The status of the stack drift detection operation.

                  @@ -2462,44 +2489,14 @@ export interface DescribeStackDriftDetectionStatusOutput { DetectionStatus: StackDriftDetectionStatus | string | undefined; /** - *

                  The ID of the stack.

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

                  Status of the stack's actual configuration compared to its expected configuration.

                  - *
                    - *
                  • - *

                    - * DRIFTED: The stack differs from its expected template - * configuration. A stack is considered to have drifted if one or more of its resources - * have drifted.

                    - *
                  • - *
                  • - *

                    - * NOT_CHECKED: AWS CloudFormation has not checked if the stack differs from its - * expected template configuration.

                    - *
                  • - *
                  • - *

                    - * IN_SYNC: The stack's actual configuration matches its expected - * template configuration.

                    - *
                  • - *
                  • - *

                    - * UNKNOWN: This value is reserved for future use.

                    - *
                  • - *
                  + *

                  Time at which the stack drift detection operation was initiated.

                  */ - StackDriftStatus?: StackDriftStatus | string; + Timestamp: Date | undefined; /** - *

                  The ID of the drift detection results of this operation.

                  - *

                  AWS CloudFormation generates new results, with a new drift detection ID, each time this operation - * is run. However, the number of reports AWS CloudFormation retains for any given stack, and for how long, - * may vary.

                  + *

                  The ID of the stack.

                  */ - StackDriftDetectionId: string | undefined; + StackId: string | undefined; /** *

                  Total number of stack resources that have drifted. This is NULL until the drift @@ -2509,9 +2506,12 @@ export interface DescribeStackDriftDetectionStatusOutput { DriftedStackResourceCount?: number; /** - *

                  The reason the stack drift detection operation has its current status.

                  + *

                  The ID of the drift detection results of this operation.

                  + *

                  AWS CloudFormation generates new results, with a new drift detection ID, each time this operation + * is run. However, the number of reports AWS CloudFormation retains for any given stack, and for how long, + * may vary.

                  */ - DetectionStatusReason?: string; + StackDriftDetectionId: string | undefined; } export namespace DescribeStackDriftDetectionStatusOutput { @@ -2524,11 +2524,6 @@ export namespace DescribeStackDriftDetectionStatusOutput { *

                  The input for DescribeStackEvents action.

                  */ export interface DescribeStackEventsInput { - /** - *

                  A string that identifies the next page of events that you want to retrieve.

                  - */ - NextToken?: string; - /** *

                  The name or the unique stack ID that is associated with the stack, which are not * always interchangeable:

                  @@ -2544,6 +2539,11 @@ export interface DescribeStackEventsInput { *

                  Default: There is no default value.

                  */ StackName?: string; + + /** + *

                  A string that identifies the next page of events that you want to retrieve.

                  + */ + NextToken?: string; } export namespace DescribeStackEventsInput { @@ -2576,60 +2576,61 @@ export enum ResourceStatus { */ export interface StackEvent { /** - *

                  The token passed to the operation that generated this event.

                  - *

                  All events triggered by a given stack operation are assigned the same client request - * token, which you can use to track operations. For example, if you execute a - * CreateStack operation with the token token1, then all the - * StackEvents generated by that operation will have - * ClientRequestToken set as token1.

                  - *

                  In the console, stack operations display the client request token on the Events tab. - * Stack operations that are initiated from the console use the token format - * Console-StackOperation-ID, which helps you easily identify the - * stack operation . For example, if you create a stack using the console, each stack event - * would be assigned the same token in the following format: - * Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

                  + *

                  The unique ID of this event.

                  */ - ClientRequestToken?: string; + EventId: string | undefined; /** - *

                  Success/failure message associated with the resource.

                  + *

                  Current status of the resource.

                  */ - ResourceStatusReason?: string; + ResourceStatus?: ResourceStatus | string; /** - *

                  The logical name of the resource specified in the template.

                  + *

                  The name or unique identifier associated with the physical instance of the + * resource.

                  */ - LogicalResourceId?: string; + PhysicalResourceId?: string; /** - *

                  BLOB of the properties used to create the resource.

                  + *

                  The name associated with a stack.

                  */ - ResourceProperties?: string; + StackName: string | undefined; /** - *

                  Time the status was updated.

                  + *

                  The unique ID name of the instance of the stack.

                  */ - Timestamp: Date | undefined; + StackId: string | undefined; /** - *

                  The name associated with a stack.

                  + *

                  Time the status was updated.

                  */ - StackName: string | undefined; + Timestamp: Date | undefined; /** - *

                  The unique ID name of the instance of the stack.

                  + *

                  The logical name of the resource specified in the template.

                  */ - StackId: string | undefined; + LogicalResourceId?: string; /** - *

                  The unique ID of this event.

                  + *

                  The token passed to the operation that generated this event.

                  + *

                  All events triggered by a given stack operation are assigned the same client request + * token, which you can use to track operations. For example, if you execute a + * CreateStack operation with the token token1, then all the + * StackEvents generated by that operation will have + * ClientRequestToken set as token1.

                  + *

                  In the console, stack operations display the client request token on the Events tab. + * Stack operations that are initiated from the console use the token format + * Console-StackOperation-ID, which helps you easily identify the + * stack operation . For example, if you create a stack using the console, each stack event + * would be assigned the same token in the following format: + * Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

                  */ - EventId: string | undefined; + ClientRequestToken?: string; /** - *

                  Current status of the resource.

                  + *

                  Success/failure message associated with the resource.

                  */ - ResourceStatus?: ResourceStatus | string; + ResourceStatusReason?: string; /** *

                  Type of resource. (For more information, go to AWS @@ -2638,10 +2639,9 @@ export interface StackEvent { ResourceType?: string; /** - *

                  The name or unique identifier associated with the physical instance of the - * resource.

                  + *

                  BLOB of the properties used to create the resource.

                  */ - PhysicalResourceId?: string; + ResourceProperties?: string; } export namespace StackEvent { @@ -2655,15 +2655,15 @@ export namespace StackEvent { */ export interface DescribeStackEventsOutput { /** - *

                  If the output exceeds 1 MB in size, a string that identifies the next page of events. - * If no additional page exists, this value is null.

                  + *

                  A list of StackEvents structures.

                  */ - NextToken?: string; + StackEvents?: StackEvent[]; /** - *

                  A list of StackEvents structures.

                  + *

                  If the output exceeds 1 MB in size, a string that identifies the next page of events. + * If no additional page exists, this value is null.

                  */ - StackEvents?: StackEvent[]; + NextToken?: string; } export namespace DescribeStackEventsOutput { @@ -2680,14 +2680,14 @@ export interface DescribeStackInstanceInput { StackSetName: string | undefined; /** - *

                  The ID of an AWS account that's associated with this stack instance.

                  + *

                  The name of a Region that's associated with this stack instance.

                  */ - StackInstanceAccount: string | undefined; + StackInstanceRegion: string | undefined; /** - *

                  The name of a Region that's associated with this stack instance.

                  + *

                  The ID of an AWS account that's associated with this stack instance.

                  */ - StackInstanceRegion: string | undefined; + StackInstanceAccount: string | undefined; } export namespace DescribeStackInstanceInput { @@ -2753,50 +2753,57 @@ export type StackInstanceStatus = "CURRENT" | "INOPERABLE" | "OUTDATED"; */ export interface StackInstance { /** - *

                  The name of the AWS Region that the stack instance is associated with.

                  + *

                  [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

                  */ - Region?: string; + OrganizationalUnitId?: string; /** - *

                  Status of the stack instance's actual configuration compared to the expected template - * and parameter configuration of the stack set to which it belongs.

                  + *

                  The status of the stack instance, in terms of its synchronization with its associated + * stack set.

                  *
                    *
                  • *

                    - * DRIFTED: The stack differs from the expected template and parameter - * configuration of the stack set to which it belongs. A stack instance is considered to - * have drifted if one or more of the resources in the associated stack have - * drifted.

                    - *
                  • - *
                  • - *

                    - * NOT_CHECKED: AWS CloudFormation has not checked if the stack instance differs from - * its expected stack set configuration.

                    + * INOPERABLE: A DeleteStackInstances operation has + * failed and left the stack in an unstable state. Stacks in this state are excluded + * from further UpdateStackSet operations. You might need to perform a + * DeleteStackInstances operation, with RetainStacks set to + * true, to delete the stack instance, and then delete the stack + * manually.

                    *
                  • *
                  • *

                    - * IN_SYNC: The stack instance's actual configuration matches its - * expected stack set configuration.

                    + * OUTDATED: The stack isn't currently up to date with the stack set + * because:

                    + *
                      + *
                    • + *

                      The associated stack failed during a CreateStackSet or + * UpdateStackSet operation.

                      + *
                    • + *
                    • + *

                      The stack was part of a CreateStackSet or + * UpdateStackSet operation that failed or was stopped before the + * stack was created or updated.

                      + *
                    • + *
                    *
                  • *
                  • *

                    - * UNKNOWN: This value is reserved for future use.

                    + * CURRENT: The stack is currently up to date with the stack + * set.

                    *
                  • *
                  */ - DriftStatus?: StackDriftStatus | string; + Status?: StackInstanceStatus | string; /** - *

                  A list of parameters from the stack set template whose values have been overridden in - * this stack instance.

                  + *

                  The detailed status of the stack instance.

                  */ - ParameterOverrides?: Parameter[]; + StackInstanceStatus?: StackInstanceComprehensiveStatus; /** - *

                  The explanation for the specific status code that is assigned to this stack - * instance.

                  + *

                  The name of the AWS Region that the stack instance is associated with.

                  */ - StatusReason?: string; + Region?: string; /** *

                  The ID of the stack instance.

                  @@ -2804,54 +2811,52 @@ export interface StackInstance { StackId?: string; /** - *

                  Most recent time when CloudFormation performed a drift detection operation on the stack - * instance. This value will be NULL for any stack instance on which drift - * detection has not yet been performed.

                  + *

                  A list of parameters from the stack set template whose values have been overridden in + * this stack instance.

                  */ - LastDriftCheckTimestamp?: Date; + ParameterOverrides?: Parameter[]; /** - *

                  The status of the stack instance, in terms of its synchronization with its associated - * stack set.

                  + *

                  The explanation for the specific status code that is assigned to this stack + * instance.

                  + */ + StatusReason?: string; + + /** + *

                  Status of the stack instance's actual configuration compared to the expected template + * and parameter configuration of the stack set to which it belongs.

                  *
                    *
                  • *

                    - * INOPERABLE: A DeleteStackInstances operation has - * failed and left the stack in an unstable state. Stacks in this state are excluded - * from further UpdateStackSet operations. You might need to perform a - * DeleteStackInstances operation, with RetainStacks set to - * true, to delete the stack instance, and then delete the stack - * manually.

                    + * DRIFTED: The stack differs from the expected template and parameter + * configuration of the stack set to which it belongs. A stack instance is considered to + * have drifted if one or more of the resources in the associated stack have + * drifted.

                    *
                  • *
                  • *

                    - * OUTDATED: The stack isn't currently up to date with the stack set - * because:

                    - *
                      - *
                    • - *

                      The associated stack failed during a CreateStackSet or - * UpdateStackSet operation.

                      - *
                    • - *
                    • - *

                      The stack was part of a CreateStackSet or - * UpdateStackSet operation that failed or was stopped before the - * stack was created or updated.

                      - *
                    • - *
                    + * NOT_CHECKED: AWS CloudFormation has not checked if the stack instance differs from + * its expected stack set configuration.

                    *
                  • *
                  • *

                    - * CURRENT: The stack is currently up to date with the stack - * set.

                    + * IN_SYNC: The stack instance's actual configuration matches its + * expected stack set configuration.

                    + *
                  • + *
                  • + *

                    + * UNKNOWN: This value is reserved for future use.

                    *
                  • *
                  */ - Status?: StackInstanceStatus | string; + DriftStatus?: StackDriftStatus | string; /** - *

                  [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

                  + *

                  Most recent time when CloudFormation performed a drift detection operation on the stack + * instance. This value will be NULL for any stack instance on which drift + * detection has not yet been performed.

                  */ - OrganizationalUnitId?: string; + LastDriftCheckTimestamp?: Date; /** *

                  The name or unique ID of the stack set that the stack instance is associated @@ -2863,11 +2868,6 @@ export interface StackInstance { *

                  [Self-managed permissions] The name of the AWS account that the stack instance is associated with.

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

                  The detailed status of the stack instance.

                  - */ - StackInstanceStatus?: StackInstanceComprehensiveStatus; } export namespace StackInstance { @@ -2997,32 +2997,31 @@ export namespace StackResourceDriftInformation { */ export interface StackResourceDetail { /** - *

                  Information about whether the resource's actual configuration differs, or has - * drifted, from its expected configuration, as defined in the stack - * template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration - * Changes to Stacks and Resources.

                  + *

                  Time the status was updated.

                  */ - DriftInformation?: StackResourceDriftInformation; + LastUpdatedTimestamp: Date | undefined; /** - *

                  Unique identifier of the stack.

                  + *

                  User defined description associated with the resource.

                  */ - StackId?: string; + Description?: string; /** - *

                  The name associated with the stack.

                  + *

                  Current status of the resource.

                  */ - StackName?: string; + ResourceStatus: ResourceStatus | string | undefined; /** - *

                  The logical name of the resource specified in the template.

                  + *

                  Success/failure message associated with the resource.

                  */ - LogicalResourceId: string | undefined; + ResourceStatusReason?: string; /** - *

                  Time the status was updated.

                  + *

                  The content of the Metadata attribute declared for the resource. For + * more information, see Metadata + * Attribute in the AWS CloudFormation User Guide.

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

                  The name or unique identifier that corresponds to a physical instance ID of a @@ -3031,16 +3030,17 @@ export interface StackResourceDetail { PhysicalResourceId?: string; /** - *

                  The content of the Metadata attribute declared for the resource. For - * more information, see Metadata - * Attribute in the AWS CloudFormation User Guide.

                  + *

                  The logical name of the resource specified in the template.

                  */ - Metadata?: string; + LogicalResourceId: string | undefined; /** - *

                  User defined description associated with the resource.

                  + *

                  Information about whether the resource's actual configuration differs, or has + * drifted, from its expected configuration, as defined in the stack + * template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration + * Changes to Stacks and Resources.

                  */ - Description?: string; + DriftInformation?: StackResourceDriftInformation; /** *

                  Type of resource. ((For more information, go to AWS @@ -3049,14 +3049,14 @@ export interface StackResourceDetail { ResourceType: string | undefined; /** - *

                  Success/failure message associated with the resource.

                  + *

                  Unique identifier of the stack.

                  */ - ResourceStatusReason?: string; + StackId?: string; /** - *

                  Current status of the resource.

                  + *

                  The name associated with the stack.

                  */ - ResourceStatus: ResourceStatus | string | undefined; + StackName?: string; } export namespace StackResourceDetail { @@ -3083,6 +3083,14 @@ export namespace DescribeStackResourceOutput { } export interface DescribeStackResourceDriftsInput { + /** + *

                  The maximum number of results to be returned with a single call. If the number of + * available results exceeds this maximum, the response includes a NextToken + * value that you can assign to the NextToken request parameter to get the next + * set of results.

                  + */ + MaxResults?: number; + /** *

                  The resource drift status values to use as filters for the resource drift results * returned.

                  @@ -3115,14 +3123,6 @@ export interface DescribeStackResourceDriftsInput { */ NextToken?: string; - /** - *

                  The maximum number of results to be returned with a single call. If the number of - * available results exceeds this maximum, the response includes a NextToken - * value that you can assign to the NextToken request parameter to get the next - * set of results.

                  - */ - MaxResults?: number; - /** *

                  The name of the stack for which you want drift information.

                  */ @@ -3143,14 +3143,14 @@ export namespace DescribeStackResourceDriftsInput { */ export interface PhysicalResourceIdContextKeyValuePair { /** - *

                  The resource context value.

                  + *

                  The resource context key.

                  */ - Value: string | undefined; + Key: string | undefined; /** - *

                  The resource context key.

                  + *

                  The resource context value.

                  */ - Key: string | undefined; + Value: string | undefined; } export namespace PhysicalResourceIdContextKeyValuePair { @@ -3173,17 +3173,6 @@ export enum DifferenceType { * Unregulated Configuration Changes to Stacks and Resources
                  .

                  */ export interface PropertyDifference { - /** - *

                  The fully-qualified path to the resource property.

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

                  The expected property value of the resource property, as defined in the stack - * template and any values specified as template parameters.

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

                  The actual property value of the resource property.

                  */ @@ -3211,6 +3200,17 @@ export interface PropertyDifference { *
                */ DifferenceType: DifferenceType | string | undefined; + + /** + *

                The fully-qualified path to the resource property.

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

                The expected property value of the resource property, as defined in the stack + * template and any values specified as template parameters.

                + */ + ExpectedValue: string | undefined; } export namespace PropertyDifference { @@ -3234,17 +3234,23 @@ export namespace PropertyDifference { */ export interface StackResourceDrift { /** - *

                The logical name of the resource specified in the template.

                + *

                The name or unique identifier that corresponds to a physical instance ID of a + * resource supported by AWS CloudFormation.

                */ - LogicalResourceId: string | undefined; + PhysicalResourceId?: string; /** - *

                Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses - * context key-value pairs in cases where a resource's logical and physical IDs are not enough - * to uniquely identify that resource. Each context key-value pair specifies a unique resource - * that contains the targeted resource.

                + *

                A JSON structure containing the expected property values of the stack resource, as + * defined in the stack template and any values specified as template parameters.

                + *

                For resources whose StackResourceDriftStatus is DELETED, + * this structure will not be present.

                */ - PhysicalResourceIdContext?: PhysicalResourceIdContextKeyValuePair[]; + ExpectedProperties?: string; + + /** + *

                Time at which AWS CloudFormation performed drift detection on the stack resource.

                + */ + Timestamp: Date | undefined; /** *

                A JSON structure containing the actual property values of the stack @@ -3254,6 +3260,37 @@ export interface StackResourceDrift { */ ActualProperties?: string; + /** + *

                The ID of the stack.

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

                Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses + * context key-value pairs in cases where a resource's logical and physical IDs are not enough + * to uniquely identify that resource. Each context key-value pair specifies a unique resource + * that contains the targeted resource.

                + */ + PhysicalResourceIdContext?: PhysicalResourceIdContextKeyValuePair[]; + + /** + *

                The logical name of the resource specified in the template.

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

                The type of the resource.

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

                A collection of the resource properties whose actual values differ from their + * expected values. These will be present only for resources whose + * StackResourceDriftStatus is MODIFIED. + *

                + */ + PropertyDifferences?: PropertyDifference[]; + /** *

                Status of the resource's actual configuration compared to its expected * configuration

                @@ -3281,43 +3318,6 @@ export interface StackResourceDrift { *
              */ StackResourceDriftStatus: StackResourceDriftStatus | string | undefined; - - /** - *

              The type of the resource.

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

              The name or unique identifier that corresponds to a physical instance ID of a - * resource supported by AWS CloudFormation.

              - */ - PhysicalResourceId?: string; - - /** - *

              Time at which AWS CloudFormation performed drift detection on the stack resource.

              - */ - Timestamp: Date | undefined; - - /** - *

              A JSON structure containing the expected property values of the stack resource, as - * defined in the stack template and any values specified as template parameters.

              - *

              For resources whose StackResourceDriftStatus is DELETED, - * this structure will not be present.

              - */ - ExpectedProperties?: string; - - /** - *

              The ID of the stack.

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

              A collection of the resource properties whose actual values differ from their - * expected values. These will be present only for resources whose - * StackResourceDriftStatus is MODIFIED. - *

              - */ - PropertyDifferences?: PropertyDifference[]; } export namespace StackResourceDrift { @@ -3327,6 +3327,15 @@ export namespace StackResourceDrift { } export interface DescribeStackResourceDriftsOutput { + /** + *

              If the request doesn't return all of the remaining results, NextToken is + * set to a token. To retrieve the next set of results, call + * DescribeStackResourceDrifts again and assign that token to the request + * object's NextToken parameter. If the request returns all results, + * NextToken is set to null.

              + */ + NextToken?: string; + /** *

              Drift information for the resources that have been checked for drift in the specified * stack. This includes actual and expected configuration values for resources where AWS CloudFormation @@ -3338,15 +3347,6 @@ export interface DescribeStackResourceDriftsOutput { * Resources that Support Drift Detection.

              */ StackResourceDrifts: StackResourceDrift[] | undefined; - - /** - *

              If the request doesn't return all of the remaining results, NextToken is - * set to a token. To retrieve the next set of results, call - * DescribeStackResourceDrifts again and assign that token to the request - * object's NextToken parameter. If the request returns all results, - * NextToken is set to null.

              - */ - NextToken?: string; } export namespace DescribeStackResourceDriftsOutput { @@ -3359,6 +3359,12 @@ export namespace DescribeStackResourceDriftsOutput { *

              The input for DescribeStackResources action.

              */ export interface DescribeStackResourcesInput { + /** + *

              The logical name of the resource as specified in the template.

              + *

              Default: There is no default value.

              + */ + LogicalResourceId?: string; + /** *

              The name or unique identifier that corresponds to a physical instance ID of a * resource supported by AWS CloudFormation.

              @@ -3370,13 +3376,7 @@ export interface DescribeStackResourcesInput { * must specify StackName.

              *

              Default: There is no default value.

              */ - PhysicalResourceId?: string; - - /** - *

              The logical name of the resource as specified in the template.

              - *

              Default: There is no default value.

              - */ - LogicalResourceId?: string; + PhysicalResourceId?: string; /** *

              The name or the unique stack ID that is associated with the stack, which are not @@ -3408,59 +3408,59 @@ export namespace DescribeStackResourcesInput { */ export interface StackResource { /** - *

              The logical name of the resource specified in the template.

              + *

              Current status of the resource.

              */ - LogicalResourceId: string | undefined; + ResourceStatus: ResourceStatus | string | undefined; /** - *

              Success/failure message associated with the resource.

              + *

              The name or unique identifier that corresponds to a physical instance ID of a + * resource supported by AWS CloudFormation.

              */ - ResourceStatusReason?: string; + PhysicalResourceId?: string; /** - *

              User defined description associated with the resource.

              + *

              The name associated with the stack.

              */ - Description?: string; + StackName?: string; /** - *

              Information about whether the resource's actual configuration differs, or has - * drifted, from its expected configuration, as defined in the stack - * template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration - * Changes to Stacks and Resources.

              + *

              Unique identifier of the stack.

              */ - DriftInformation?: StackResourceDriftInformation; + StackId?: string; /** - *

              The name or unique identifier that corresponds to a physical instance ID of a - * resource supported by AWS CloudFormation.

              + *

              Type of resource. (For more information, go to AWS + * Resource Types Reference in the AWS CloudFormation User Guide.)

              */ - PhysicalResourceId?: string; + ResourceType: string | undefined; /** - *

              Current status of the resource.

              + *

              User defined description associated with the resource.

              */ - ResourceStatus: ResourceStatus | string | undefined; + Description?: string; /** - *

              Type of resource. (For more information, go to AWS - * Resource Types Reference in the AWS CloudFormation User Guide.)

              + *

              Success/failure message associated with the resource.

              */ - ResourceType: string | undefined; + ResourceStatusReason?: string; /** - *

              Time the status was updated.

              + *

              Information about whether the resource's actual configuration differs, or has + * drifted, from its expected configuration, as defined in the stack + * template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration + * Changes to Stacks and Resources.

              */ - Timestamp: Date | undefined; + DriftInformation?: StackResourceDriftInformation; /** - *

              The name associated with the stack.

              + *

              Time the status was updated.

              */ - StackName?: string; + Timestamp: Date | undefined; /** - *

              Unique identifier of the stack.

              + *

              The logical name of the resource specified in the template.

              */ - StackId?: string; + LogicalResourceId: string | undefined; } export namespace StackResource { @@ -3489,6 +3489,11 @@ export namespace DescribeStackResourcesOutput { *

              The input for DescribeStacks action.

              */ export interface DescribeStacksInput { + /** + *

              A string that identifies the next page of stacks that you want to retrieve.

              + */ + NextToken?: string; + /** *

              The name or the unique stack ID that is associated with the stack, which are not * always interchangeable:

              @@ -3504,11 +3509,6 @@ export interface DescribeStacksInput { *

              Default: There is no default value.

              */ StackName?: string; - - /** - *

              A string that identifies the next page of stacks that you want to retrieve.

              - */ - NextToken?: string; } export namespace DescribeStacksInput { @@ -3570,24 +3570,24 @@ export namespace StackDriftInformation { */ export interface Output { /** - *

              The value associated with the output.

              + *

              The name of the export associated with the output.

              */ - OutputValue?: string; + ExportName?: string; /** - *

              The key associated with the output.

              + *

              The value associated with the output.

              */ - OutputKey?: string; + OutputValue?: string; /** - *

              The name of the export associated with the output.

              + *

              User defined description associated with the output.

              */ - ExportName?: string; + Description?: string; /** - *

              User defined description associated with the output.

              + *

              The key associated with the output.

              */ - Description?: string; + OutputKey?: string; } export namespace Output { @@ -3626,25 +3626,39 @@ export enum StackStatus { */ export interface Stack { /** - *

              A list of output structures.

              + *

              A list of Parameter structures.

              */ - Outputs?: Output[]; + Parameters?: Parameter[]; /** - *

              A list of Parameter structures.

              + *

              For nested stacks--stacks created as resources for another stack--the stack ID of the + * direct parent of this stack. For the first level of nested stacks, the root stack is also + * the parent stack.

              + *

              For more information, see Working with Nested Stacks in the + * AWS CloudFormation User Guide.

              */ - Parameters?: Parameter[]; + ParentId?: string; /** - *

              The rollback triggers for AWS CloudFormation to monitor during stack creation and - * updating operations, and for the specified monitoring period afterwards.

              + *

              A user-defined description associated with the stack.

              */ - RollbackConfiguration?: RollbackConfiguration; + Description?: string; /** - *

              The time the stack was deleted.

              + *

              For nested stacks--stacks created as resources for another stack--the stack ID of the + * top-level stack to which the nested stack ultimately belongs.

              + *

              For more information, see Working with Nested Stacks in the + * AWS CloudFormation User Guide.

              */ - DeletionTime?: Date; + RootId?: string; + + /** + *

              Information on whether a stack's actual configuration differs, or has + * drifted, from it's expected configuration, as defined in the stack + * template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration + * Changes to Stacks and Resources.

              + */ + DriftInformation?: StackDriftInformation; /** *

              The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role @@ -3654,13 +3668,14 @@ export interface Stack { RoleARN?: string; /** - *

              Whether termination protection is enabled for the stack.

              - *

              For nested stacks, - * termination protection is set on the root stack and cannot be changed directly on the - * nested stack. For more information, see Protecting a Stack From Being - * Deleted in the AWS CloudFormation User Guide.

              + *

              Unique identifier of the stack.

              */ - EnableTerminationProtection?: boolean; + StackId?: string; + + /** + *

              The name associated with the stack.

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

              Boolean to enable or disable rollback on stack creation failures:

              @@ -3677,6 +3692,11 @@ export interface Stack { */ DisableRollback?: boolean; + /** + *

              SNS topic ARNs to which stack related events are published.

              + */ + NotificationARNs?: string[]; + /** *

              The time at which the stack was created.

              */ @@ -3694,74 +3714,54 @@ export interface Stack { StackStatusReason?: string; /** - *

              The capabilities allowed in the stack.

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

              Current status of the stack.

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

              A user-defined description associated with the stack.

              - */ - Description?: string; - - /** - *

              For nested stacks--stacks created as resources for another stack--the stack ID of the - * top-level stack to which the nested stack ultimately belongs.

              - *

              For more information, see Working with Nested Stacks in the - * AWS CloudFormation User Guide.

              + *

              The unique ID of the change set.

              */ - RootId?: string; + ChangeSetId?: string; /** - *

              For nested stacks--stacks created as resources for another stack--the stack ID of the - * direct parent of this stack. For the first level of nested stacks, the root stack is also - * the parent stack.

              - *

              For more information, see Working with Nested Stacks in the - * AWS CloudFormation User Guide.

              + *

              A list of Tags that specify information about the stack.

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

              SNS topic ARNs to which stack related events are published.

              + *

              The rollback triggers for AWS CloudFormation to monitor during stack creation and + * updating operations, and for the specified monitoring period afterwards.

              */ - NotificationARNs?: string[]; + RollbackConfiguration?: RollbackConfiguration; /** - *

              The unique ID of the change set.

              + *

              The amount of time within which stack creation should complete.

              */ - ChangeSetId?: string; + TimeoutInMinutes?: number; /** - *

              A list of Tags that specify information about the stack.

              + *

              Whether termination protection is enabled for the stack.

              + *

              For nested stacks, + * termination protection is set on the root stack and cannot be changed directly on the + * nested stack. For more information, see Protecting a Stack From Being + * Deleted in the AWS CloudFormation User Guide.

              */ - Tags?: Tag[]; + EnableTerminationProtection?: boolean; /** - *

              The amount of time within which stack creation should complete.

              + *

              A list of output structures.

              */ - TimeoutInMinutes?: number; + Outputs?: Output[]; /** - *

              The name associated with the stack.

              + *

              The time the stack was deleted.

              */ - StackName: string | undefined; + DeletionTime?: Date; /** - *

              Unique identifier of the stack.

              + *

              The capabilities allowed in the stack.

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

              Information on whether a stack's actual configuration differs, or has - * drifted, from it's expected configuration, as defined in the stack - * template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration - * Changes to Stacks and Resources.

              + *

              Current status of the stack.

              */ - DriftInformation?: StackDriftInformation; + StackStatus: StackStatus | string | undefined; } export namespace Stack { @@ -3775,15 +3775,15 @@ export namespace Stack { */ export interface DescribeStacksOutput { /** - *

              If the output exceeds 1 MB in size, a string that identifies the next page of stacks. - * If no additional page exists, this value is null.

              + *

              A list of stack structures.

              */ - NextToken?: string; + Stacks?: Stack[]; /** - *

              A list of stack structures.

              + *

              If the output exceeds 1 MB in size, a string that identifies the next page of stacks. + * If no additional page exists, this value is null.

              */ - Stacks?: Stack[]; + NextToken?: string; } export namespace DescribeStacksOutput { @@ -3831,32 +3831,35 @@ export enum StackSetDriftStatus { */ export interface StackSetDriftDetectionDetails { /** - *

              The total number of stack instances belonging to this stack set.

              - *

              The total number of stack instances is equal to the total of:

              + *

              The status of the stack set drift detection operation.

              *
                *
              • - *

                Stack instances that match the stack set configuration.

                + *

                + * COMPLETED: The drift detection operation completed without failing on + * any stack instances.

                *
              • *
              • - *

                Stack instances that have drifted from the stack set configuration.

                + *

                + * FAILED: The drift detection operation exceeded the specified failure + * tolerance.

                *
              • *
              • - *

                Stack instances where the drift detection operation has failed.

                + *

                + * PARTIAL_SUCCESS: The drift detection operation completed without + * exceeding the failure tolerance for the operation.

                *
              • *
              • - *

                Stack instances currently being checked for drift.

                + *

                + * IN_PROGRESS: The drift detection operation is currently being + * performed.

                + *
              • + *
              • + *

                + * STOPPED: The user has cancelled the drift detection operation.

                *
              • *
              */ - TotalStackInstancesCount?: number; - - /** - *

              The number of stack instances that have drifted from the expected template and parameter - * configuration of the stack set. A stack instance is considered to have drifted if one or - * more of the resources in the associated stack do not match their expected - * configuration.

              - */ - DriftedStackInstancesCount?: number; + DriftDetectionStatus?: StackSetDriftDetectionStatus | string; /** *

              The number of stack instances which match the expected template and parameter @@ -3865,35 +3868,44 @@ export interface StackSetDriftDetectionDetails { InSyncStackInstancesCount?: number; /** - *

              The status of the stack set drift detection operation.

              + *

              The total number of stack instances belonging to this stack set.

              + *

              The total number of stack instances is equal to the total of:

              *
                *
              • - *

                - * COMPLETED: The drift detection operation completed without failing on - * any stack instances.

                - *
              • - *
              • - *

                - * FAILED: The drift detection operation exceeded the specified failure - * tolerance.

                + *

                Stack instances that match the stack set configuration.

                *
              • *
              • - *

                - * PARTIAL_SUCCESS: The drift detection operation completed without - * exceeding the failure tolerance for the operation.

                + *

                Stack instances that have drifted from the stack set configuration.

                *
              • *
              • - *

                - * IN_PROGRESS: The drift detection operation is currently being - * performed.

                + *

                Stack instances where the drift detection operation has failed.

                *
              • *
              • - *

                - * STOPPED: The user has cancelled the drift detection operation.

                + *

                Stack instances currently being checked for drift.

                *
              • *
              */ - DriftDetectionStatus?: StackSetDriftDetectionStatus | string; + TotalStackInstancesCount?: number; + + /** + *

              The number of stack instances that are currently being checked for drift.

              + */ + InProgressStackInstancesCount?: number; + + /** + *

              The number of stack instances that have drifted from the expected template and parameter + * configuration of the stack set. A stack instance is considered to have drifted if one or + * more of the resources in the associated stack do not match their expected + * configuration.

              + */ + DriftedStackInstancesCount?: number; + + /** + *

              Most recent time when CloudFormation performed a drift detection operation on the stack + * set. This value will be NULL for any stack set on which drift detection has + * not yet been performed.

              + */ + LastDriftCheckTimestamp?: Date; /** *

              Status of the stack set's actual configuration compared to its expected template and @@ -3921,22 +3933,10 @@ export interface StackSetDriftDetectionDetails { */ DriftStatus?: StackSetDriftStatus | string; - /** - *

              The number of stack instances that are currently being checked for drift.

              - */ - InProgressStackInstancesCount?: number; - /** *

              The number of stack instances for which the drift detection operation failed.

              */ FailedStackInstancesCount?: number; - - /** - *

              Most recent time when CloudFormation performed a drift detection operation on the stack - * set. This value will be NULL for any stack set on which drift detection has - * not yet been performed.

              - */ - LastDriftCheckTimestamp?: Date; } export namespace StackSetDriftDetectionDetails { @@ -3954,16 +3954,6 @@ export type StackSetStatus = "ACTIVE" | "DELETED"; * capabilities that the template requires.

              */ export interface StackSet { - /** - *

              The status of the stack set.

              - */ - Status?: StackSetStatus | string; - - /** - *

              The name that's associated with the stack set.

              - */ - StackSetName?: string; - /** *

              The name of the IAM execution role used to create or update the stack set.

              *

              Use customized execution roles to control which stack resources users and groups can @@ -3972,12 +3962,6 @@ export interface StackSet { */ ExecutionRoleName?: string; - /** - *

              A description of the stack set that you specify when the stack set is created or - * updated.

              - */ - Description?: string; - /** *

              The Amazon Resource Number (ARN) of the IAM role used to create or update the stack * set.

              @@ -3987,11 +3971,6 @@ export interface StackSet { */ AdministrationRoleARN?: string; - /** - *

              [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

              - */ - OrganizationalUnitIds?: string[]; - /** *

              A list of tags that specify information about the stack set. A maximum number of 50 * tags can be specified.

              @@ -3999,25 +3978,25 @@ export interface StackSet { Tags?: Tag[]; /** - *

              Detailed information about the drift status of the stack set.

              - *

              For stack sets, contains information about the last completed drift - * operation performed on the stack set. Information about drift operations currently in - * progress is not included.

              + *

              The name that's associated with the stack set.

              */ - StackSetDriftDetectionDetails?: StackSetDriftDetectionDetails; + StackSetName?: string; /** - *

              Describes how the IAM roles required for stack set operations are created.

              - *
                - *
              • - *

                With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

                - *
              • - *
              • - *

                With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

                - *
              • - *
              + *

              A list of input parameters for a stack set.

              */ - PermissionModel?: PermissionModels | string; + Parameters?: Parameter[]; + + /** + *

              The ID of the stack set.

              + */ + StackSetId?: string; + + /** + *

              A description of the stack set that you specify when the stack set is created or + * updated.

              + */ + Description?: string; /** *

              [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

              @@ -4025,9 +4004,9 @@ export interface StackSet { AutoDeployment?: AutoDeployment; /** - *

              The ID of the stack set.

              + *

              The Amazon Resource Number (ARN) of the stack set.

              */ - StackSetId?: string; + StackSetARN?: string; /** *

              The capabilities that are allowed in the stack set. Some stack set templates might @@ -4038,20 +4017,41 @@ export interface StackSet { Capabilities?: (Capability | string)[]; /** - *

              The Amazon Resource Number (ARN) of the stack set.

              + *

              The structure that contains the body of the template that was used to create or + * update the stack set.

              */ - StackSetARN?: string; + TemplateBody?: string; /** - *

              A list of input parameters for a stack set.

              + *

              [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

              */ - Parameters?: Parameter[]; + OrganizationalUnitIds?: string[]; /** - *

              The structure that contains the body of the template that was used to create or - * update the stack set.

              + *

              Describes how the IAM roles required for stack set operations are created.

              + *
                + *
              • + *

                With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

                + *
              • + *
              • + *

                With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

                + *
              • + *
              */ - TemplateBody?: string; + PermissionModel?: PermissionModels | string; + + /** + *

              Detailed information about the drift status of the stack set.

              + *

              For stack sets, contains information about the last completed drift + * operation performed on the stack set. Information about drift operations currently in + * progress is not included.

              + */ + StackSetDriftDetectionDetails?: StackSetDriftDetectionDetails; + + /** + *

              The status of the stack set.

              + */ + Status?: StackSetStatus | string; } export namespace StackSet { @@ -4099,11 +4099,61 @@ export type StackSetOperationStatus = "FAILED" | "QUEUED" | "RUNNING" | "STOPPED *

              The structure that contains information about a stack set operation.

              */ export interface StackSetOperation { + /** + *

              The Amazon Resource Number (ARN) of the IAM role used to perform this stack set + * operation.

              + *

              Use customized administrator roles to control which users or groups can manage specific + * stack sets within the same administrator account. For more information, see Define Permissions for Multiple + * Administrators in the AWS CloudFormation User Guide.

              + */ + AdministrationRoleARN?: string; + + /** + *

              The name of the IAM execution role used to create or update the stack set.

              + *

              Use customized execution roles to control which stack resources users and groups can + * include in their stack sets. + *

              + */ + ExecutionRoleName?: string; + + /** + *

              The time at which the stack set operation ended, across all accounts and Regions + * specified. Note that this doesn't necessarily mean that the stack set operation was + * successful, or even attempted, in each account or Region.

              + */ + EndTimestamp?: Date; + + /** + *

              [Service-managed permissions] The AWS Organizations accounts affected by the stack operation.

              + */ + DeploymentTargets?: DeploymentTargets; + + /** + *

              The unique ID of a stack set operation.

              + */ + OperationId?: string; + /** *

              The ID of the stack set.

              */ StackSetId?: string; + /** + *

              The preferences for how AWS CloudFormation performs this stack set + * operation.

              + */ + OperationPreferences?: StackSetOperationPreferences; + + /** + *

              Detailed information about the drift status of the stack set. This includes information + * about drift operations currently being performed on the stack set.

              + *

              this information will only be present for stack set operations whose Action + * type is DETECT_DRIFT.

              + *

              For more information, see Detecting Unmanaged + * Changes in Stack Sets in the AWS CloudFormation User Guide.

              + */ + StackSetDriftDetectionDetails?: StackSetDriftDetectionDetails; + /** *

              The status of the operation.

              *
                @@ -4152,56 +4202,6 @@ export interface StackSetOperation { */ RetainStacks?: boolean; - /** - *

                The preferences for how AWS CloudFormation performs this stack set - * operation.

                - */ - OperationPreferences?: StackSetOperationPreferences; - - /** - *

                The time at which the stack set operation ended, across all accounts and Regions - * specified. Note that this doesn't necessarily mean that the stack set operation was - * successful, or even attempted, in each account or Region.

                - */ - EndTimestamp?: Date; - - /** - *

                [Service-managed permissions] The AWS Organizations accounts affected by the stack operation.

                - */ - DeploymentTargets?: DeploymentTargets; - - /** - *

                The name of the IAM execution role used to create or update the stack set.

                - *

                Use customized execution roles to control which stack resources users and groups can - * include in their stack sets. - *

                - */ - ExecutionRoleName?: string; - - /** - *

                The unique ID of a stack set operation.

                - */ - OperationId?: string; - - /** - *

                Detailed information about the drift status of the stack set. This includes information - * about drift operations currently being performed on the stack set.

                - *

                this information will only be present for stack set operations whose Action - * type is DETECT_DRIFT.

                - *

                For more information, see Detecting Unmanaged - * Changes in Stack Sets in the AWS CloudFormation User Guide.

                - */ - StackSetDriftDetectionDetails?: StackSetDriftDetectionDetails; - - /** - *

                The type of stack set operation: CREATE, UPDATE, or - * DELETE. Create and delete operations affect only the specified stack set - * instances that are associated with the specified stack set. Update operations affect both - * the stack set itself, as well as all associated stack set - * instances.

                - */ - Action?: StackSetOperationAction | string; - /** *

                The time at which the operation was initiated. Note that the creation times for the * stack set operation might differ from the creation time of the individual stacks @@ -4212,13 +4212,13 @@ export interface StackSetOperation { CreationTimestamp?: Date; /** - *

                The Amazon Resource Number (ARN) of the IAM role used to perform this stack set - * operation.

                - *

                Use customized administrator roles to control which users or groups can manage specific - * stack sets within the same administrator account. For more information, see Define Permissions for Multiple - * Administrators in the AWS CloudFormation User Guide.

                + *

                The type of stack set operation: CREATE, UPDATE, or + * DELETE. Create and delete operations affect only the specified stack set + * instances that are associated with the specified stack set. Update operations affect both + * the stack set itself, as well as all associated stack set + * instances.

                */ - AdministrationRoleARN?: string; + Action?: StackSetOperationAction | string; } export namespace StackSetOperation { @@ -4251,23 +4251,11 @@ export interface OperationNotFoundException extends __SmithyException, $Metadata export namespace OperationNotFoundException { export const filterSensitiveLog = (obj: OperationNotFoundException): any => ({ - ...obj, - }); -} - -export interface DescribeTypeInput { - /** - *

                The name of the type.

                - *

                Conditional: You must specify either TypeName and Type, or Arn.

                - */ - TypeName?: string; - - /** - *

                The Amazon Resource Name (ARN) of the type.

                - *

                Conditional: You must specify either TypeName and Type, or Arn.

                - */ - Arn?: string; + ...obj, + }); +} +export interface DescribeTypeInput { /** *

                The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

                *

                If you specify a VersionId, DescribeType returns information about that specific type version. Otherwise, it returns information about the default type version.

                @@ -4280,6 +4268,18 @@ export interface DescribeTypeInput { *

                Conditional: You must specify either TypeName and Type, or Arn.

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

                The Amazon Resource Name (ARN) of the type.

                + *

                Conditional: You must specify either TypeName and Type, or Arn.

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

                The name of the type.

                + *

                Conditional: You must specify either TypeName and Type, or Arn.

                + */ + TypeName?: string; } export namespace DescribeTypeInput { @@ -4317,35 +4317,18 @@ export type Visibility = "PRIVATE" | "PUBLIC"; export interface DescribeTypeOutput { /** - *

                The deprecation status of the type.

                - *

                Valid values include:

                - *
                  - *
                • - *

                  - * LIVE: The type is registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope.

                  - *
                • - *
                • - *

                  - * DEPRECATED: The type has been deregistered and can no longer be used in CloudFormation operations.

                  - *
                • - *
                - */ - DeprecatedStatus?: DeprecatedStatus | string; - - /** - *

                The URL of the source code for the type.

                - */ - SourceUrl?: string; - - /** - *

                The description of the registered type.

                + *

                The kind of type.

                + *

                Currently the only valid value is RESOURCE.

                */ - Description?: string; + Type?: RegistryType | string; /** - *

                The Amazon Resource Name (ARN) of the type.

                + *

                The ID of the default version of the type. The default version is used when the type version is not specified.

                + *

                To set the default version of a type, use + * SetTypeDefaultVersion + * .

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

                The URL of a page providing detailed documentation for this type.

                @@ -4353,31 +4336,21 @@ export interface DescribeTypeOutput { DocumentationUrl?: string; /** - *

                The name of the registered type.

                - */ - TypeName?: string; - - /** - *

                The schema that defines the type.

                - *

                For more information on type schemas, see Resource Provider Schema in the CloudFormation CLI User Guide.

                - */ - Schema?: string; - - /** - *

                When the specified type version was registered.

                - */ - LastUpdated?: Date; - - /** - *

                The kind of type.

                - *

                Currently the only valid value is RESOURCE.

                + *

                The Amazon Resource Name (ARN) of the IAM execution role used to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an + * + * IAM execution + * role + * that includes the necessary permissions to call those + * AWS APIs, and provision that execution role in your account. CloudFormation then + * assumes that execution role to provide your resource type with the appropriate + * credentials.

                */ - Type?: RegistryType | string; + ExecutionRoleArn?: string; /** - *

                When the specified type version was registered.

                + *

                The Amazon Resource Name (ARN) of the type.

                */ - TimeCreated?: Date; + Arn?: string; /** *

                The provisioning behavior of the type. AWS CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted.

                @@ -4411,16 +4384,24 @@ export interface DescribeTypeOutput { ProvisioningType?: ProvisioningType | string; /** - *

                The Amazon Resource Name (ARN) of the IAM execution role used to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an - * - * IAM execution - * role - * that includes the necessary permissions to call those - * AWS APIs, and provision that execution role in your account. CloudFormation then - * assumes that execution role to provide your resource type with the appropriate - * credentials.

                + *

                The description of the registered type.

                */ - ExecutionRoleArn?: string; + Description?: string; + + /** + *

                Contains logging configuration information for a type.

                + */ + LoggingConfig?: LoggingConfig; + + /** + *

                When the specified type version was registered.

                + */ + LastUpdated?: Date; + + /** + *

                Whether the specified type version is set as the default version.

                + */ + IsDefaultVersion?: boolean; /** *

                The scope at which the type is visible and usable in CloudFormation operations.

                @@ -4439,22 +4420,41 @@ export interface DescribeTypeOutput { Visibility?: Visibility | string; /** - *

                Contains logging configuration information for a type.

                + *

                The URL of the source code for the type.

                */ - LoggingConfig?: LoggingConfig; + SourceUrl?: string; /** - *

                Whether the specified type version is set as the default version.

                + *

                The name of the registered type.

                */ - IsDefaultVersion?: boolean; + TypeName?: string; /** - *

                The ID of the default version of the type. The default version is used when the type version is not specified.

                - *

                To set the default version of a type, use - * SetTypeDefaultVersion - * .

                + *

                The deprecation status of the type.

                + *

                Valid values include:

                + *
                  + *
                • + *

                  + * LIVE: The type is registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope.

                  + *
                • + *
                • + *

                  + * DEPRECATED: The type has been deregistered and can no longer be used in CloudFormation operations.

                  + *
                • + *
                */ - DefaultVersionId?: string; + DeprecatedStatus?: DeprecatedStatus | string; + + /** + *

                The schema that defines the type.

                + *

                For more information on type schemas, see Resource Provider Schema in the CloudFormation CLI User Guide.

                + */ + Schema?: string; + + /** + *

                When the specified type version was registered.

                + */ + TimeCreated?: Date; } export namespace DescribeTypeOutput { @@ -4483,14 +4483,15 @@ export type RegistrationStatus = "COMPLETE" | "FAILED" | "IN_PROGRESS"; export interface DescribeTypeRegistrationOutput { /** - *

                The description of the type registration request.

                + *

                The current status of the type registration request.

                */ - Description?: string; + ProgressStatus?: RegistrationStatus | string; /** - *

                The current status of the type registration request.

                + *

                The Amazon Resource Name (ARN) of the type being registered.

                + *

                For registration requests with a ProgressStatus of other than COMPLETE, this will be null.

                */ - ProgressStatus?: RegistrationStatus | string; + TypeArn?: string; /** *

                The Amazon Resource Name (ARN) of this specific version of the type being registered.

                @@ -4499,10 +4500,9 @@ export interface DescribeTypeRegistrationOutput { TypeVersionArn?: string; /** - *

                The Amazon Resource Name (ARN) of the type being registered.

                - *

                For registration requests with a ProgressStatus of other than COMPLETE, this will be null.

                + *

                The description of the type registration request.

                */ - TypeArn?: string; + Description?: string; } export namespace DescribeTypeRegistrationOutput { @@ -4547,14 +4547,14 @@ export namespace DetectStackDriftOutput { export interface DetectStackResourceDriftInput { /** - *

                The name of the stack to which the resource belongs.

                + *

                The logical name of the resource for which to return drift information.

                */ - StackName: string | undefined; + LogicalResourceId: string | undefined; /** - *

                The logical name of the resource for which to return drift information.

                + *

                The name of the stack to which the resource belongs.

                */ - LogicalResourceId: string | undefined; + StackName: string | undefined; } export namespace DetectStackResourceDriftInput { @@ -4579,11 +4579,6 @@ export namespace DetectStackResourceDriftOutput { } export interface DetectStackSetDriftInput { - /** - *

                The name of the stack set on which to perform the drift detection operation.

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

                * The ID of the stack set operation. @@ -4591,6 +4586,11 @@ export interface DetectStackSetDriftInput { */ OperationId?: string; + /** + *

                The name of the stack set on which to perform the drift detection operation.

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

                The user-specified preferences for how AWS CloudFormation performs a stack set * operation.

                @@ -4676,15 +4676,6 @@ export namespace EstimateTemplateCostOutput { *

                The input for the ExecuteChangeSet action.

                */ export interface ExecuteChangeSetInput { - /** - *

                A unique identifier for this ExecuteChangeSet request. Specify this - * token if you plan to retry requests so that AWS CloudFormation knows that you're not - * attempting to execute a change set to update a stack with the same name. You might retry - * ExecuteChangeSet requests to ensure that AWS CloudFormation successfully - * received them.

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

                If you specified the name of a change set, specify the stack name or ID (ARN) that is * associated with the change set you want to execute.

                @@ -4696,6 +4687,15 @@ export interface ExecuteChangeSetInput { * stack.

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

                A unique identifier for this ExecuteChangeSet request. Specify this + * token if you plan to retry requests so that AWS CloudFormation knows that you're not + * attempting to execute a change set to update a stack with the same name. You might retry + * ExecuteChangeSet requests to ensure that AWS CloudFormation successfully + * received them.

                + */ + ClientRequestToken?: string; } export namespace ExecuteChangeSetInput { @@ -4759,20 +4759,11 @@ export enum TemplateStage { */ export interface GetTemplateInput { /** - *

                The name or the unique stack ID that is associated with the stack, which are not - * always interchangeable:

                - *
                  - *
                • - *

                  Running stacks: You can specify either the stack's name or its unique stack - * ID.

                  - *
                • - *
                • - *

                  Deleted stacks: You must specify the unique stack ID.

                  - *
                • - *
                - *

                Default: There is no default value.

                + *

                The name or Amazon Resource Name (ARN) of a change set for which AWS CloudFormation + * returns the associated template. If you specify a name, you must also specify the + * StackName.

                */ - StackName?: string; + ChangeSetName?: string; /** *

                For templates that include transforms, the stage of the template that AWS @@ -4786,11 +4777,20 @@ export interface GetTemplateInput { TemplateStage?: TemplateStage | string; /** - *

                The name or Amazon Resource Name (ARN) of a change set for which AWS CloudFormation - * returns the associated template. If you specify a name, you must also specify the - * StackName.

                + *

                The name or the unique stack ID that is associated with the stack, which are not + * always interchangeable:

                + *
                  + *
                • + *

                  Running stacks: You can specify either the stack's name or its unique stack + * ID.

                  + *
                • + *
                • + *

                  Deleted stacks: You must specify the unique stack ID.

                  + *
                • + *
                + *

                Default: There is no default value.

                */ - ChangeSetName?: string; + StackName?: string; } export namespace GetTemplateInput { @@ -4803,13 +4803,6 @@ export namespace GetTemplateInput { *

                The output for GetTemplate action.

                */ export interface GetTemplateOutput { - /** - *

                Structure containing the template body. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

                - *

                AWS CloudFormation returns the same template that was used when the stack was - * created.

                - */ - TemplateBody?: string; - /** *

                The stage of the template that you can retrieve. For stacks, the * Original and Processed templates are always available. For @@ -4818,6 +4811,13 @@ export interface GetTemplateOutput { * becomes available.

                */ StagesAvailable?: (TemplateStage | string)[]; + + /** + *

                Structure containing the template body. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

                + *

                AWS CloudFormation returns the same template that was used when the stack was + * created.

                + */ + TemplateBody?: string; } export namespace GetTemplateOutput { @@ -4826,18 +4826,27 @@ export namespace GetTemplateOutput { }); } -/** - *

                The input for the GetTemplateSummary action.

                - */ -export interface GetTemplateSummaryInput { +/** + *

                The input for the GetTemplateSummary action.

                + */ +export interface GetTemplateSummaryInput { + /** + *

                The name or the stack ID that is associated with the stack, which are not always + * interchangeable. For running stacks, you can specify either the stack's name or its unique + * stack ID. For deleted stack, you must specify the unique stack ID.

                + *

                Conditional: You must specify only one of the following parameters: + * StackName, StackSetName, TemplateBody, or + * TemplateURL.

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

                Structure containing the template body with a minimum length of 1 byte and a maximum - * length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

                + *

                The name or unique ID of the stack set from which the stack was created.

                *

                Conditional: You must specify only one of the following parameters: * StackName, StackSetName, TemplateBody, or * TemplateURL.

                */ - TemplateBody?: string; + StackSetName?: string; /** *

                Location of file containing the template body. The URL must point to a template (max @@ -4851,22 +4860,13 @@ export interface GetTemplateSummaryInput { TemplateURL?: string; /** - *

                The name or unique ID of the stack set from which the stack was created.

                - *

                Conditional: You must specify only one of the following parameters: - * StackName, StackSetName, TemplateBody, or - * TemplateURL.

                - */ - StackSetName?: string; - - /** - *

                The name or the stack ID that is associated with the stack, which are not always - * interchangeable. For running stacks, you can specify either the stack's name or its unique - * stack ID. For deleted stack, you must specify the unique stack ID.

                + *

                Structure containing the template body with a minimum length of 1 byte and a maximum + * length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

                *

                Conditional: You must specify only one of the following parameters: * StackName, StackSetName, TemplateBody, or * TemplateURL.

                */ - StackName?: string; + TemplateBody?: string; } export namespace GetTemplateSummaryInput { @@ -4898,9 +4898,9 @@ export namespace ParameterConstraints { */ export interface ParameterDeclaration { /** - *

                The criteria that AWS CloudFormation uses to validate parameter values.

                + *

                The type of parameter.

                */ - ParameterConstraints?: ParameterConstraints; + ParameterType?: string; /** *

                The description that is associate with the parameter.

                @@ -4908,9 +4908,9 @@ export interface ParameterDeclaration { Description?: string; /** - *

                The type of parameter.

                + *

                The name that is associated with the parameter.

                */ - ParameterType?: string; + ParameterKey?: string; /** *

                Flag that indicates whether the parameter value is shown as plain text in logs and in @@ -4919,14 +4919,14 @@ export interface ParameterDeclaration { NoEcho?: boolean; /** - *

                The default value of the parameter.

                + *

                The criteria that AWS CloudFormation uses to validate parameter values.

                */ - DefaultValue?: string; + ParameterConstraints?: ParameterConstraints; /** - *

                The name that is associated with the parameter.

                + *

                The default value of the parameter.

                */ - ParameterKey?: string; + DefaultValue?: string; } export namespace ParameterDeclaration { @@ -4941,12 +4941,6 @@ export namespace ParameterDeclaration { * import to identify resources of that type.

                */ export interface ResourceIdentifierSummary { - /** - *

                The logical IDs of the target resources of the specified ResourceType, as - * defined in the import template.

                - */ - LogicalResourceIds?: string[]; - /** *

                The resource properties you can provide during the import to identify your target * resources. For example, BucketName is a possible identifier property for @@ -4959,6 +4953,12 @@ export interface ResourceIdentifierSummary { * AWS::S3::Bucket.

                */ ResourceType?: string; + + /** + *

                The logical IDs of the target resources of the specified ResourceType, as + * defined in the import template.

                + */ + LogicalResourceIds?: string[]; } export namespace ResourceIdentifierSummary { @@ -4971,6 +4971,17 @@ export namespace ResourceIdentifierSummary { *

                The output for the GetTemplateSummary action.

                */ export interface GetTemplateSummaryOutput { + /** + *

                A list of parameter declarations that describe various properties for each + * parameter.

                + */ + Parameters?: ParameterDeclaration[]; + + /** + *

                A list of the transforms that are declared in the template.

                + */ + DeclaredTransforms?: string[]; + /** *

                A list of resource identifier summaries that describe the target resources of an import * operation and the properties you can provide during the import to identify the target @@ -4985,12 +4996,6 @@ export interface GetTemplateSummaryOutput { */ Version?: string; - /** - *

                The value that is defined for the Metadata property of the - * template.

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

                The value that is defined in the Description property of the * template.

                @@ -4998,9 +5003,10 @@ export interface GetTemplateSummaryOutput { Description?: string; /** - *

                A list of the transforms that are declared in the template.

                + *

                The list of resources that generated the values in the Capabilities + * response element.

                */ - DeclaredTransforms?: string[]; + CapabilitiesReason?: string; /** *

                A list of all the template resource types that are defined in the template, such as @@ -5019,16 +5025,10 @@ export interface GetTemplateSummaryOutput { Capabilities?: (Capability | string)[]; /** - *

                The list of resources that generated the values in the Capabilities - * response element.

                - */ - CapabilitiesReason?: string; - - /** - *

                A list of parameter declarations that describe various properties for each - * parameter.

                + *

                The value that is defined for the Metadata property of the + * template.

                */ - Parameters?: ParameterDeclaration[]; + Metadata?: string; } export namespace GetTemplateSummaryOutput { @@ -5041,17 +5041,17 @@ export namespace GetTemplateSummaryOutput { *

                The input for the ListChangeSets action.

                */ export interface ListChangeSetsInput { - /** - *

                A string (provided by the ListChangeSets response output) that - * identifies the next page of change sets that you want to retrieve.

                - */ - NextToken?: string; - /** *

                The name or the Amazon Resource Name (ARN) of the stack for which you want to list * change sets.

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

                A string (provided by the ListChangeSets response output) that + * identifies the next page of change sets that you want to retrieve.

                + */ + NextToken?: string; } export namespace ListChangeSetsInput { @@ -5103,19 +5103,19 @@ export namespace ListExportsInput { */ export interface Export { /** - *

                The name of exported output value. Use this name and the Fn::ImportValue - * function to import the associated value into other stacks. The name is defined in the - * Export field in the associated stack's Outputs + *

                The value of the exported output, such as a resource physical ID. This value is + * defined in the Export field in the associated stack's Outputs * section.

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

                The value of the exported output, such as a resource physical ID. This value is - * defined in the Export field in the associated stack's Outputs + *

                The name of exported output value. Use this name and the Fn::ImportValue + * function to import the associated value into other stacks. The name is defined in the + * Export field in the associated stack's Outputs * section.

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

                The stack that contains the exported output name and value.

                @@ -5130,16 +5130,16 @@ export namespace Export { } export interface ListExportsOutput { - /** - *

                The output for the ListExports action.

                - */ - Exports?: Export[]; - /** *

                If the output exceeds 100 exported output values, a string that identifies the next * page of exports. If there is no additional page, this value is null.

                */ NextToken?: string; + + /** + *

                The output for the ListExports action.

                + */ + Exports?: Export[]; } export namespace ListExportsOutput { @@ -5149,18 +5149,18 @@ export namespace ListExportsOutput { } export interface ListImportsInput { - /** - *

                The name of the exported output value. AWS CloudFormation returns the stack names - * that are importing this value.

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

                A string (provided by the ListImports response output) that * identifies the next page of stacks that are importing the specified exported output value. *

                */ NextToken?: string; + + /** + *

                The name of the exported output value. AWS CloudFormation returns the stack names + * that are importing this value.

                + */ + ExportName: string | undefined; } export namespace ListImportsInput { @@ -5170,17 +5170,17 @@ export namespace ListImportsInput { } export interface ListImportsOutput { - /** - *

                A string that identifies the next page of exports. If there is no additional page, - * this value is null.

                - */ - NextToken?: string; - /** *

                A list of stack names that are importing the specified exported output value. *

                */ Imports?: string[]; + + /** + *

                A string that identifies the next page of exports. If there is no additional page, + * this value is null.

                + */ + NextToken?: string; } export namespace ListImportsOutput { @@ -5214,22 +5214,14 @@ export namespace StackInstanceFilter { export interface ListStackInstancesInput { /** - *

                The name of the AWS account that you want to list stack instances for.

                - */ - StackInstanceAccount?: string; - - /** - *

                The maximum number of results to be returned with a single call. If the number of - * available results exceeds this maximum, the response includes a NextToken - * value that you can assign to the NextToken request parameter to get the next - * set of results.

                + *

                The status that stack instances are filtered by.

                */ - MaxResults?: number; + Filters?: StackInstanceFilter[]; /** - *

                The status that stack instances are filtered by.

                + *

                The name of the Region where you want to list stack instances.

                */ - Filters?: StackInstanceFilter[]; + StackInstanceRegion?: string; /** *

                If the previous request didn't return all of the remaining results, the response's @@ -5241,15 +5233,23 @@ export interface ListStackInstancesInput { NextToken?: string; /** - *

                The name of the Region where you want to list stack instances.

                + *

                The name of the AWS account that you want to list stack instances for.

                */ - StackInstanceRegion?: string; + StackInstanceAccount?: string; /** *

                The name or unique ID of the stack set that you want to list stack instances * for.

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

                The maximum number of results to be returned with a single call. If the number of + * available results exceeds this maximum, the response includes a NextToken + * value that you can assign to the NextToken request parameter to get the next + * set of results.

                + */ + MaxResults?: number; } export namespace ListStackInstancesInput { @@ -5263,60 +5263,65 @@ export namespace ListStackInstancesInput { */ export interface StackInstanceSummary { /** - *

                The status of the stack instance, in terms of its synchronization with its associated - * stack set.

                + *

                The detailed status of the stack instance.

                + */ + StackInstanceStatus?: StackInstanceComprehensiveStatus; + + /** + *

                The name of the AWS Region that the stack instance is associated with.

                + */ + Region?: string; + + /** + *

                Most recent time when CloudFormation performed a drift detection operation on the stack + * instance. This value will be NULL for any stack instance on which drift + * detection has not yet been performed.

                + */ + LastDriftCheckTimestamp?: Date; + + /** + *

                The ID of the stack instance.

                + */ + StackId?: string; + + /** + *

                Status of the stack instance's actual configuration compared to the expected template + * and parameter configuration of the stack set to which it belongs.

                *
                  *
                • *

                  - * INOPERABLE: A DeleteStackInstances operation has - * failed and left the stack in an unstable state. Stacks in this state are excluded - * from further UpdateStackSet operations. You might need to perform a - * DeleteStackInstances operation, with RetainStacks set to - * true, to delete the stack instance, and then delete the stack - * manually.

                  + * DRIFTED: The stack differs from the expected template and parameter + * configuration of the stack set to which it belongs. A stack instance is considered to + * have drifted if one or more of the resources in the associated stack have + * drifted.

                  *
                • *
                • *

                  - * OUTDATED: The stack isn't currently up to date with the stack set - * because:

                  - *
                    - *
                  • - *

                    The associated stack failed during a CreateStackSet or - * UpdateStackSet operation.

                    - *
                  • - *
                  • - *

                    The stack was part of a CreateStackSet or - * UpdateStackSet operation that failed or was stopped before the - * stack was created or updated.

                    - *
                  • - *
                  + * NOT_CHECKED: AWS CloudFormation has not checked if the stack instance differs from + * its expected stack set configuration.

                  *
                • *
                • *

                  - * CURRENT: The stack is currently up to date with the stack - * set.

                  + * IN_SYNC: The stack instance's actual configuration matches its + * expected stack set configuration.

                  + *
                • + *
                • + *

                  + * UNKNOWN: This value is reserved for future use.

                  *
                • *
                */ - Status?: StackInstanceStatus | string; - - /** - *

                The explanation for the specific status code assigned to this stack - * instance.

                - */ - StatusReason?: string; + DriftStatus?: StackDriftStatus | string; /** - *

                Most recent time when CloudFormation performed a drift detection operation on the stack - * instance. This value will be NULL for any stack instance on which drift - * detection has not yet been performed.

                + *

                [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

                */ - LastDriftCheckTimestamp?: Date; + OrganizationalUnitId?: string; /** - *

                [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

                + *

                [Self-managed permissions] The name of the AWS account that the stack instance is associated with.

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

                The name or unique ID of the stack set that the stack instance is associated @@ -5325,53 +5330,48 @@ export interface StackInstanceSummary { StackSetId?: string; /** - *

                [Self-managed permissions] The name of the AWS account that the stack instance is associated with.

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

                The detailed status of the stack instance.

                + *

                The explanation for the specific status code assigned to this stack + * instance.

                */ - StackInstanceStatus?: StackInstanceComprehensiveStatus; + StatusReason?: string; /** - *

                Status of the stack instance's actual configuration compared to the expected template - * and parameter configuration of the stack set to which it belongs.

                + *

                The status of the stack instance, in terms of its synchronization with its associated + * stack set.

                *
                  *
                • *

                  - * DRIFTED: The stack differs from the expected template and parameter - * configuration of the stack set to which it belongs. A stack instance is considered to - * have drifted if one or more of the resources in the associated stack have - * drifted.

                  - *
                • - *
                • - *

                  - * NOT_CHECKED: AWS CloudFormation has not checked if the stack instance differs from - * its expected stack set configuration.

                  + * INOPERABLE: A DeleteStackInstances operation has + * failed and left the stack in an unstable state. Stacks in this state are excluded + * from further UpdateStackSet operations. You might need to perform a + * DeleteStackInstances operation, with RetainStacks set to + * true, to delete the stack instance, and then delete the stack + * manually.

                  *
                • *
                • *

                  - * IN_SYNC: The stack instance's actual configuration matches its - * expected stack set configuration.

                  + * OUTDATED: The stack isn't currently up to date with the stack set + * because:

                  + *
                    + *
                  • + *

                    The associated stack failed during a CreateStackSet or + * UpdateStackSet operation.

                    + *
                  • + *
                  • + *

                    The stack was part of a CreateStackSet or + * UpdateStackSet operation that failed or was stopped before the + * stack was created or updated.

                    + *
                  • + *
                  *
                • *
                • *

                  - * UNKNOWN: This value is reserved for future use.

                  + * CURRENT: The stack is currently up to date with the stack + * set.

                  *
                • *
                */ - DriftStatus?: StackDriftStatus | string; - - /** - *

                The ID of the stack instance.

                - */ - StackId?: string; - - /** - *

                The name of the AWS Region that the stack instance is associated with.

                - */ - Region?: string; + Status?: StackInstanceStatus | string; } export namespace StackInstanceSummary { @@ -5381,6 +5381,12 @@ export namespace StackInstanceSummary { } export interface ListStackInstancesOutput { + /** + *

                A list of StackInstanceSummary structures that contain information about + * the specified stack instances.

                + */ + Summaries?: StackInstanceSummary[]; + /** *

                If the request doesn't return all of the remaining results, NextToken is * set to a token. To retrieve the next set of results, call ListStackInstances @@ -5389,12 +5395,6 @@ export interface ListStackInstancesOutput { * null.

                */ NextToken?: string; - - /** - *

                A list of StackInstanceSummary structures that contain information about - * the specified stack instances.

                - */ - Summaries?: StackInstanceSummary[]; } export namespace ListStackInstancesOutput { @@ -5441,12 +5441,6 @@ export namespace ListStackResourcesInput { * has drifted, from its expected configuration.

                */ export interface StackResourceDriftInformationSummary { - /** - *

                When AWS CloudFormation last checked if the resource had drifted from its expected - * configuration.

                - */ - LastCheckTimestamp?: Date; - /** *

                Status of the resource's actual configuration compared to its expected * configuration

                @@ -5478,6 +5472,12 @@ export interface StackResourceDriftInformationSummary { *
              */ StackResourceDriftStatus: StackResourceDriftStatus | string | undefined; + + /** + *

              When AWS CloudFormation last checked if the resource had drifted from its expected + * configuration.

              + */ + LastCheckTimestamp?: Date; } export namespace StackResourceDriftInformationSummary { @@ -5490,16 +5490,6 @@ export namespace StackResourceDriftInformationSummary { *

              Contains high-level information about the specified stack resource.

              */ export interface StackResourceSummary { - /** - *

              Success/failure message associated with the resource.

              - */ - ResourceStatusReason?: string; - - /** - *

              The logical name of the resource specified in the template.

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

              The name or unique identifier that corresponds to a physical instance ID of the * resource.

              @@ -5507,9 +5497,9 @@ export interface StackResourceSummary { PhysicalResourceId?: string; /** - *

              Time the status was updated.

              + *

              Current status of the resource.

              */ - LastUpdatedTimestamp: Date | undefined; + ResourceStatus: ResourceStatus | string | undefined; /** *

              Type of resource. (For more information, go to AWS @@ -5517,6 +5507,16 @@ export interface StackResourceSummary { */ ResourceType: string | undefined; + /** + *

              Success/failure message associated with the resource.

              + */ + ResourceStatusReason?: string; + + /** + *

              Time the status was updated.

              + */ + LastUpdatedTimestamp: Date | undefined; + /** *

              Information about whether the resource's actual configuration differs, or has * drifted, from its expected configuration, as defined in the stack @@ -5526,9 +5526,9 @@ export interface StackResourceSummary { DriftInformation?: StackResourceDriftInformationSummary; /** - *

              Current status of the resource.

              + *

              The logical name of the resource specified in the template.

              */ - ResourceStatus: ResourceStatus | string | undefined; + LogicalResourceId: string | undefined; } export namespace StackResourceSummary { @@ -5542,15 +5542,15 @@ export namespace StackResourceSummary { */ export interface ListStackResourcesOutput { /** - *

              If the output exceeds 1 MB, a string that identifies the next page of stack - * resources. If no additional page exists, this value is null.

              + *

              A list of StackResourceSummary structures.

              */ - NextToken?: string; + StackResourceSummaries?: StackResourceSummary[]; /** - *

              A list of StackResourceSummary structures.

              + *

              If the output exceeds 1 MB, a string that identifies the next page of stack + * resources. If no additional page exists, this value is null.

              */ - StackResourceSummaries?: StackResourceSummary[]; + NextToken?: string; } export namespace ListStackResourcesOutput { @@ -5589,6 +5589,12 @@ export namespace ListStacksInput { * drifted if one or more of its resources have drifted.

              */ export interface StackDriftInformationSummary { + /** + *

              Most recent time when a drift detection operation was initiated on the stack, or any + * of its individual resources that support drift detection.

              + */ + LastCheckTimestamp?: Date; + /** *

              Status of the stack's actual configuration compared to its expected template * configuration.

              @@ -5616,12 +5622,6 @@ export interface StackDriftInformationSummary { *
            */ StackDriftStatus: StackDriftStatus | string | undefined; - - /** - *

            Most recent time when a drift detection operation was initiated on the stack, or any - * of its individual resources that support drift detection.

            - */ - LastCheckTimestamp?: Date; } export namespace StackDriftInformationSummary { @@ -5635,70 +5635,70 @@ export namespace StackDriftInformationSummary { */ export interface StackSummary { /** - *

            Success/Failure message associated with the stack status.

            + *

            The current status of the stack.

            */ - StackStatusReason?: string; + StackStatus: StackStatus | string | undefined; /** - *

            The name associated with the stack.

            + *

            The time the stack was deleted.

            */ - StackName: string | undefined; + DeletionTime?: Date; /** - *

            Unique stack identifier.

            + *

            For nested stacks--stacks created as resources for another stack--the stack ID of the + * top-level stack to which the nested stack ultimately belongs.

            + *

            For more information, see Working with Nested Stacks in the + * AWS CloudFormation User Guide.

            */ - StackId?: string; + RootId?: string; /** - *

            The time the stack was last updated. This field will only be returned if the stack - * has been updated at least once.

            + *

            For nested stacks--stacks created as resources for another stack--the stack ID of the + * direct parent of this stack. For the first level of nested stacks, the root stack is also + * the parent stack.

            + *

            For more information, see Working with Nested Stacks in the + * AWS CloudFormation User Guide.

            */ - LastUpdatedTime?: Date; + ParentId?: string; /** - *

            Summarizes information on whether a stack's actual configuration differs, or has - * drifted, from it's expected configuration, as defined in the stack - * template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration - * Changes to Stacks and Resources.

            + *

            Success/Failure message associated with the stack status.

            */ - DriftInformation?: StackDriftInformationSummary; + StackStatusReason?: string; /** - *

            The time the stack was created.

            + *

            Unique stack identifier.

            */ - CreationTime: Date | undefined; + StackId?: string; /** - *

            For nested stacks--stacks created as resources for another stack--the stack ID of the - * direct parent of this stack. For the first level of nested stacks, the root stack is also - * the parent stack.

            - *

            For more information, see Working with Nested Stacks in the - * AWS CloudFormation User Guide.

            + *

            The name associated with the stack.

            */ - ParentId?: string; + StackName: string | undefined; /** - *

            For nested stacks--stacks created as resources for another stack--the stack ID of the - * top-level stack to which the nested stack ultimately belongs.

            - *

            For more information, see Working with Nested Stacks in the - * AWS CloudFormation User Guide.

            + *

            Summarizes information on whether a stack's actual configuration differs, or has + * drifted, from it's expected configuration, as defined in the stack + * template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration + * Changes to Stacks and Resources.

            */ - RootId?: string; + DriftInformation?: StackDriftInformationSummary; /** - *

            The current status of the stack.

            + *

            The time the stack was created.

            */ - StackStatus: StackStatus | string | undefined; + CreationTime: Date | undefined; /** - *

            The time the stack was deleted.

            + *

            The template description of the template used to create the stack.

            */ - DeletionTime?: Date; + TemplateDescription?: string; /** - *

            The template description of the template used to create the stack.

            + *

            The time the stack was last updated. This field will only be returned if the stack + * has been updated at least once.

            */ - TemplateDescription?: string; + LastUpdatedTime?: Date; } export namespace StackSummary { @@ -5711,17 +5711,17 @@ export namespace StackSummary { *

            The output for ListStacks action.

            */ export interface ListStacksOutput { - /** - *

            A list of StackSummary structures containing information about the - * specified stacks.

            - */ - StackSummaries?: StackSummary[]; - /** *

            If the output exceeds 1 MB in size, a string that identifies the next page of stacks. * If no additional page exists, this value is null.

            */ NextToken?: string; + + /** + *

            A list of StackSummary structures containing information about the + * specified stacks.

            + */ + StackSummaries?: StackSummary[]; } export namespace ListStacksOutput { @@ -5731,20 +5731,17 @@ export namespace ListStacksOutput { } export interface ListStackSetOperationResultsInput { - /** - *

            The maximum number of results to be returned with a single call. If the number of - * available results exceeds this maximum, the response includes a NextToken - * value that you can assign to the NextToken request parameter to get the next - * set of results.

            - */ - MaxResults?: number; - /** *

            The name or unique ID of the stack set that you want to get operation results * for.

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

            The ID of the stack set operation.

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

            If the previous request didn't return all of the remaining results, the response * object's NextToken parameter value is set to a token. To retrieve the next set @@ -5756,9 +5753,12 @@ export interface ListStackSetOperationResultsInput { NextToken?: string; /** - *

            The ID of the stack set operation.

            + *

            The maximum number of results to be returned with a single call. If the number of + * available results exceeds this maximum, the response includes a NextToken + * value that you can assign to the NextToken request parameter to get the next + * set of results.

            */ - OperationId: string | undefined; + MaxResults?: number; } export namespace ListStackSetOperationResultsInput { @@ -5775,20 +5775,20 @@ export type StackSetOperationResultStatus = "CANCELLED" | "FAILED" | "PENDING" | */ export interface StackSetOperationResultSummary { /** - *

            The results of the account gate function AWS CloudFormation invokes, if present, - * before proceeding with stack set operations in an account

            + *

            The reason for the assigned result status.

            */ - AccountGateResult?: AccountGateResult; + StatusReason?: string; /** - *

            The reason for the assigned result status.

            + *

            The results of the account gate function AWS CloudFormation invokes, if present, + * before proceeding with stack set operations in an account

            */ - StatusReason?: string; + AccountGateResult?: AccountGateResult; /** - *

            The name of the AWS Region for this operation result.

            + *

            [Self-managed permissions] The name of the AWS account for this operation result.

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

            The result status of the stack set operation for the given account in the given @@ -5827,14 +5827,14 @@ export interface StackSetOperationResultSummary { Status?: StackSetOperationResultStatus | string; /** - *

            [Self-managed permissions] The name of the AWS account for this operation result.

            + *

            [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

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

            [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

            + *

            The name of the AWS Region for this operation result.

            */ - OrganizationalUnitId?: string; + Region?: string; } export namespace StackSetOperationResultSummary { @@ -5866,16 +5866,14 @@ export namespace ListStackSetOperationResultsOutput { }); } -export interface ListStackSetOperationsInput { - /** - *

            If the previous paginated request didn't return all of the remaining results, the - * response object's NextToken parameter value is set to a token. To retrieve the - * next set of results, call ListStackSetOperations again and assign that token - * to the request object's NextToken parameter. If there are no remaining - * results, the previous response object's NextToken parameter is set to - * null.

            +export interface ListStackSetOperationsInput { + /** + *

            The maximum number of results to be returned with a single call. If the number of + * available results exceeds this maximum, the response includes a NextToken + * value that you can assign to the NextToken request parameter to get the next + * set of results.

            */ - NextToken?: string; + MaxResults?: number; /** *

            The name or unique ID of the stack set that you want to get operation summaries @@ -5884,12 +5882,14 @@ export interface ListStackSetOperationsInput { StackSetName: string | undefined; /** - *

            The maximum number of results to be returned with a single call. If the number of - * available results exceeds this maximum, the response includes a NextToken - * value that you can assign to the NextToken request parameter to get the next - * set of results.

            + *

            If the previous paginated request didn't return all of the remaining results, the + * response object's NextToken parameter value is set to a token. To retrieve the + * next set of results, call ListStackSetOperations again and assign that token + * to the request object's NextToken parameter. If there are no remaining + * results, the previous response object's NextToken parameter is set to + * null.

            */ - MaxResults?: number; + NextToken?: string; } export namespace ListStackSetOperationsInput { @@ -5903,6 +5903,22 @@ export namespace ListStackSetOperationsInput { * operation.

            */ export interface StackSetOperationSummary { + /** + *

            The time at which the stack set operation ended, across all accounts and Regions + * specified. Note that this doesn't necessarily mean that the stack set operation was + * successful, or even attempted, in each account or Region.

            + */ + EndTimestamp?: Date; + + /** + *

            The time at which the operation was initiated. Note that the creation times for the + * stack set operation might differ from the creation time of the individual stacks + * themselves. This is because AWS CloudFormation needs to perform preparatory work for the + * operation, such as dispatching the work to the requested Regions, before actually creating + * the first stacks.

            + */ + CreationTimestamp?: Date; + /** *

            The type of operation: CREATE, UPDATE, or * DELETE. Create and delete operations affect only the specified stack @@ -5912,6 +5928,11 @@ export interface StackSetOperationSummary { */ Action?: StackSetOperationAction | string; + /** + *

            The unique ID of the stack set operation.

            + */ + OperationId?: string; + /** *

            The overall status of the operation.

            *
              @@ -5951,27 +5972,6 @@ export interface StackSetOperationSummary { *
            */ Status?: StackSetOperationStatus | string; - - /** - *

            The unique ID of the stack set operation.

            - */ - OperationId?: string; - - /** - *

            The time at which the operation was initiated. Note that the creation times for the - * stack set operation might differ from the creation time of the individual stacks - * themselves. This is because AWS CloudFormation needs to perform preparatory work for the - * operation, such as dispatching the work to the requested Regions, before actually creating - * the first stacks.

            - */ - CreationTimestamp?: Date; - - /** - *

            The time at which the stack set operation ended, across all accounts and Regions - * specified. Note that this doesn't necessarily mean that the stack set operation was - * successful, or even attempted, in each account or Region.

            - */ - EndTimestamp?: Date; } export namespace StackSetOperationSummary { @@ -5981,6 +5981,12 @@ export namespace StackSetOperationSummary { } export interface ListStackSetOperationsOutput { + /** + *

            A list of StackSetOperationSummary structures that contain summary + * information about operations for the specified stack set.

            + */ + Summaries?: StackSetOperationSummary[]; + /** *

            If the request doesn't return all results, NextToken is set to a token. * To retrieve the next set of results, call ListOperationResults again and @@ -5988,12 +5994,6 @@ export interface ListStackSetOperationsOutput { * remaining results, NextToken is set to null.

            */ NextToken?: string; - - /** - *

            A list of StackSetOperationSummary structures that contain summary - * information about operations for the specified stack set.

            - */ - Summaries?: StackSetOperationSummary[]; } export namespace ListStackSetOperationsOutput { @@ -6003,6 +6003,14 @@ export namespace ListStackSetOperationsOutput { } export interface ListStackSetsInput { + /** + *

            The maximum number of results to be returned with a single call. If the number of + * available results exceeds this maximum, the response includes a NextToken + * value that you can assign to the NextToken request parameter to get the next + * set of results.

            + */ + MaxResults?: number; + /** *

            If the previous paginated request didn't return all of the remaining results, the * response object's NextToken parameter value is set to a token. To retrieve the @@ -6013,14 +6021,6 @@ export interface ListStackSetsInput { */ NextToken?: string; - /** - *

            The maximum number of results to be returned with a single call. If the number of - * available results exceeds this maximum, the response includes a NextToken - * value that you can assign to the NextToken request parameter to get the next - * set of results.

            - */ - MaxResults?: number; - /** *

            The status of the stack sets that you want to get summary information * about.

            @@ -6039,40 +6039,6 @@ export namespace ListStackSetsInput { * set.

            */ export interface StackSetSummary { - /** - *

            The status of the stack set.

            - */ - Status?: StackSetStatus | string; - - /** - *

            [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organizational unit (OU).

            - */ - AutoDeployment?: AutoDeployment; - - /** - *

            A description of the stack set that you specify when the stack set is created or - * updated.

            - */ - Description?: string; - - /** - *

            The ID of the stack set.

            - */ - StackSetId?: string; - - /** - *

            Describes how the IAM roles required for stack set operations are created.

            - *
              - *
            • - *

              With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

              - *
            • - *
            • - *

              With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

              - *
            • - *
            - */ - PermissionModel?: PermissionModels | string; - /** *

            Most recent time when CloudFormation performed a drift detection operation on the stack * set. This value will be NULL for any stack set on which drift detection has @@ -6080,11 +6046,6 @@ export interface StackSetSummary { */ LastDriftCheckTimestamp?: Date; - /** - *

            The name of the stack set.

            - */ - StackSetName?: string; - /** *

            Status of the stack set's actual configuration compared to its expected template and * parameter configuration. A stack set is considered to have drifted if one or more of its @@ -6114,6 +6075,45 @@ export interface StackSetSummary { * */ DriftStatus?: StackDriftStatus | string; + + /** + *

            The ID of the stack set.

            + */ + StackSetId?: string; + + /** + *

            [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organizational unit (OU).

            + */ + AutoDeployment?: AutoDeployment; + + /** + *

            A description of the stack set that you specify when the stack set is created or + * updated.

            + */ + Description?: string; + + /** + *

            Describes how the IAM roles required for stack set operations are created.

            + *
              + *
            • + *

              With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

              + *
            • + *
            • + *

              With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

              + *
            • + *
            + */ + PermissionModel?: PermissionModels | string; + + /** + *

            The name of the stack set.

            + */ + StackSetName?: string; + + /** + *

            The status of the stack set.

            + */ + Status?: StackSetStatus | string; } export namespace StackSetSummary { @@ -6123,6 +6123,12 @@ export namespace StackSetSummary { } export interface ListStackSetsOutput { + /** + *

            A list of StackSetSummary structures that contain information about the + * user's stack sets.

            + */ + Summaries?: StackSetSummary[]; + /** *

            If the request doesn't return all of the remaining results, NextToken is * set to a token. To retrieve the next set of results, call ListStackInstances @@ -6131,12 +6137,6 @@ export interface ListStackSetsOutput { * null.

            */ NextToken?: string; - - /** - *

            A list of StackSetSummary structures that contain information about the - * user's stack sets.

            - */ - Summaries?: StackSetSummary[]; } export namespace ListStackSetsOutput { @@ -6147,9 +6147,9 @@ export namespace ListStackSetsOutput { export interface ListTypeRegistrationsInput { /** - *

            If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

            + *

            The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

            */ - NextToken?: string; + MaxResults?: number; /** *

            The Amazon Resource Name (ARN) of the type.

            @@ -6165,10 +6165,9 @@ export interface ListTypeRegistrationsInput { Type?: RegistryType | string; /** - *

            The current status of the type registration request.

            - *

            The default is IN_PROGRESS.

            + *

            If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

            */ - RegistrationStatusFilter?: RegistrationStatus | string; + NextToken?: string; /** *

            The name of the type.

            @@ -6177,9 +6176,10 @@ export interface ListTypeRegistrationsInput { TypeName?: string; /** - *

            The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

            + *

            The current status of the type registration request.

            + *

            The default is IN_PROGRESS.

            */ - MaxResults?: number; + RegistrationStatusFilter?: RegistrationStatus | string; } export namespace ListTypeRegistrationsInput { @@ -6189,6 +6189,11 @@ export namespace ListTypeRegistrationsInput { } export interface ListTypeRegistrationsOutput { + /** + *

            If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

            + */ + NextToken?: string; + /** *

            A list of type registration tokens.

            *

            Use @@ -6196,11 +6201,6 @@ export interface ListTypeRegistrationsOutput { * to return detailed information about a type registration request.

            */ RegistrationTokenList?: string[]; - - /** - *

            If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

            - */ - NextToken?: string; } export namespace ListTypeRegistrationsOutput { @@ -6211,29 +6211,26 @@ export namespace ListTypeRegistrationsOutput { export interface ListTypesInput { /** - *

            If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

            - */ - NextToken?: string; - - /** - *

            The provisioning behavior of the type. AWS CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted.

            + *

            The scope at which the type is visible and usable in CloudFormation operations.

            *

            Valid values include:

            *
              *
            • *

              - * FULLY_MUTABLE: The type includes an update handler to process updates to the type during stack update operations.

              - *
            • - *
            • - *

              - * IMMUTABLE: The type does not include an update handler, so the type cannot be updated and must instead be replaced during stack update operations.

              + * PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you create as PRIVATE.

              *
            • *
            • *

              - * NON_PROVISIONABLE: The type does not include create, read, and delete handlers, and therefore cannot actually be provisioned.

              + * PUBLIC: The type is publically visible and usable within any Amazon account.

              *
            • *
            + *

            The default is PRIVATE.

            */ - ProvisioningType?: ProvisioningType | string; + Visibility?: Visibility | string; + + /** + *

            If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

            + */ + NextToken?: string; /** *

            The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

            @@ -6257,21 +6254,24 @@ export interface ListTypesInput { DeprecatedStatus?: DeprecatedStatus | string; /** - *

            The scope at which the type is visible and usable in CloudFormation operations.

            + *

            The provisioning behavior of the type. AWS CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted.

            *

            Valid values include:

            *
              *
            • *

              - * PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you create as PRIVATE.

              + * FULLY_MUTABLE: The type includes an update handler to process updates to the type during stack update operations.

              *
            • *
            • *

              - * PUBLIC: The type is publically visible and usable within any Amazon account.

              + * IMMUTABLE: The type does not include an update handler, so the type cannot be updated and must instead be replaced during stack update operations.

              + *
            • + *
            • + *

              + * NON_PROVISIONABLE: The type does not include create, read, and delete handlers, and therefore cannot actually be provisioned.

              *
            • *
            - *

            The default is PRIVATE.

            */ - Visibility?: Visibility | string; + ProvisioningType?: ProvisioningType | string; } export namespace ListTypesInput { @@ -6285,14 +6285,12 @@ export namespace ListTypesInput { */ export interface TypeSummary { /** - *

            The kind of type.

            - */ - Type?: RegistryType | string; - - /** - *

            The name of the type.

            + *

            The ID of the default version of the type. The default version is used when the type version is not specified.

            + *

            To set the default version of a type, use + * SetTypeDefaultVersion + * .

            */ - TypeName?: string; + DefaultVersionId?: string; /** *

            The description of the type.

            @@ -6300,22 +6298,24 @@ export interface TypeSummary { Description?: string; /** - *

            The ID of the default version of the type. The default version is used when the type version is not specified.

            - *

            To set the default version of a type, use - * SetTypeDefaultVersion - * .

            + *

            The name of the type.

            */ - DefaultVersionId?: string; + TypeName?: string; /** - *

            When the current default version of the type was registered.

            + *

            The kind of type.

            */ - LastUpdated?: Date; + Type?: RegistryType | string; /** *

            The Amazon Resource Name (ARN) of the type.

            */ TypeArn?: string; + + /** + *

            When the current default version of the type was registered.

            + */ + LastUpdated?: Date; } export namespace TypeSummary { @@ -6326,14 +6326,14 @@ export namespace TypeSummary { export interface ListTypesOutput { /** - *

            A list of TypeSummary structures that contain information about the specified types.

            + *

            If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

            */ - TypeSummaries?: TypeSummary[]; + NextToken?: string; /** - *

            If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

            + *

            A list of TypeSummary structures that contain information about the specified types.

            */ - NextToken?: string; + TypeSummaries?: TypeSummary[]; } export namespace ListTypesOutput { @@ -6343,18 +6343,6 @@ export namespace ListTypesOutput { } export interface ListTypeVersionsInput { - /** - *

            The Amazon Resource Name (ARN) of the type for which you want version summary information.

            - *

            Conditional: You must specify either TypeName and Type, or Arn.

            - */ - Arn?: string; - - /** - *

            The name of the type for which you want version summary information.

            - *

            Conditional: You must specify either TypeName and Type, or Arn.

            - */ - TypeName?: string; - /** *

            The deprecation status of the type versions that you want to get summary information about.

            *

            Valid values include:

            @@ -6373,21 +6361,33 @@ export interface ListTypeVersionsInput { DeprecatedStatus?: DeprecatedStatus | string; /** - *

            The kind of the type.

            - *

            Currently the only valid value is RESOURCE.

            + *

            The name of the type for which you want version summary information.

            *

            Conditional: You must specify either TypeName and Type, or Arn.

            */ - Type?: RegistryType | string; + TypeName?: string; /** - *

            If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

            + *

            The Amazon Resource Name (ARN) of the type for which you want version summary information.

            + *

            Conditional: You must specify either TypeName and Type, or Arn.

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

            The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

            */ MaxResults?: number; + + /** + *

            The kind of the type.

            + *

            Currently the only valid value is RESOURCE.

            + *

            Conditional: You must specify either TypeName and Type, or Arn.

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

            If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

            + */ + NextToken?: string; } export namespace ListTypeVersionsInput { @@ -6401,14 +6401,14 @@ export namespace ListTypeVersionsInput { */ export interface TypeVersionSummary { /** - *

            The Amazon Resource Name (ARN) of the type version.

            + *

            The kind of type.

            */ - Arn?: string; + Type?: RegistryType | string; /** - *

            The name of the type.

            + *

            Whether the specified type version is set as the default version.

            */ - TypeName?: string; + IsDefaultVersion?: boolean; /** *

            The description of the type version.

            @@ -6416,24 +6416,24 @@ export interface TypeVersionSummary { Description?: string; /** - *

            The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

            + *

            The name of the type.

            */ - VersionId?: string; + TypeName?: string; /** - *

            When the version was registered.

            + *

            The Amazon Resource Name (ARN) of the type version.

            */ - TimeCreated?: Date; + Arn?: string; /** - *

            Whether the specified type version is set as the default version.

            + *

            The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

            */ - IsDefaultVersion?: boolean; + VersionId?: string; /** - *

            The kind of type.

            + *

            When the version was registered.

            */ - Type?: RegistryType | string; + TimeCreated?: Date; } export namespace TypeVersionSummary { @@ -6518,37 +6518,37 @@ export interface RecordHandlerProgressInput { /** *

            Reserved for use by the CloudFormation CLI.

            */ - BearerToken: string | undefined; + OperationStatus: OperationStatus | string | undefined; /** *

            Reserved for use by the CloudFormation CLI.

            */ - CurrentOperationStatus?: OperationStatus | string; + StatusMessage?: string; /** *

            Reserved for use by the CloudFormation CLI.

            */ - ErrorCode?: HandlerErrorCode | string; + ClientRequestToken?: string; /** *

            Reserved for use by the CloudFormation CLI.

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

            Reserved for use by the CloudFormation CLI.

            */ - OperationStatus: OperationStatus | string | undefined; + CurrentOperationStatus?: OperationStatus | string; /** *

            Reserved for use by the CloudFormation CLI.

            */ - ResourceModel?: string; + BearerToken: string | undefined; /** *

            Reserved for use by the CloudFormation CLI.

            */ - StatusMessage?: string; + ErrorCode?: HandlerErrorCode | string; } export namespace RecordHandlerProgressInput { @@ -6567,19 +6567,16 @@ export namespace RecordHandlerProgressOutput { export interface RegisterTypeInput { /** - *

            The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the resource provider. If your resource type calls AWS APIs in any of its handlers, you must create an - * - * IAM execution - * role - * that includes the necessary permissions to call those - * AWS APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource provider handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource provider handler, thereby supplying your resource provider with the appropriate credentials.

            - */ - ExecutionRoleArn?: string; - - /** - *

            A unique identifier that acts as an idempotency key for this registration request. Specifying a client request token prevents CloudFormation from generating more than one version of a type from the same registeration request, even if the request is submitted multiple times.

            + *

            A url to the S3 bucket containing the schema handler package that contains the schema, event handlers, and associated files for the type you want to register.

            + *

            For information on generating a schema handler package for the type you want to register, see submit in the CloudFormation CLI User Guide.

            + * + *

            As part of registering a resource provider type, CloudFormation must be able to access the S3 + * bucket which contains the schema handler package for that resource provider. For + * more information, see IAM Permissions for Registering a Resource Provider in the + * AWS CloudFormation User Guide.

            + *
            */ - ClientRequestToken?: string; + SchemaHandlerPackage: string | undefined; /** *

            The name of the type being registered.

            @@ -6623,9 +6620,19 @@ export interface RegisterTypeInput { TypeName: string | undefined; /** - *

            Specifies logging configuration information for a type.

            + *

            A unique identifier that acts as an idempotency key for this registration request. Specifying a client request token prevents CloudFormation from generating more than one version of a type from the same registeration request, even if the request is submitted multiple times.

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

            The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the resource provider. If your resource type calls AWS APIs in any of its handlers, you must create an + * + * IAM execution + * role + * that includes the necessary permissions to call those + * AWS APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource provider handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource provider handler, thereby supplying your resource provider with the appropriate credentials.

            + */ + ExecutionRoleArn?: string; /** *

            The kind of type.

            @@ -6634,16 +6641,9 @@ export interface RegisterTypeInput { Type?: RegistryType | string; /** - *

            A url to the S3 bucket containing the schema handler package that contains the schema, event handlers, and associated files for the type you want to register.

            - *

            For information on generating a schema handler package for the type you want to register, see submit in the CloudFormation CLI User Guide.

            - * - *

            As part of registering a resource provider type, CloudFormation must be able to access the S3 - * bucket which contains the schema handler package for that resource provider. For - * more information, see IAM Permissions for Registering a Resource Provider in the - * AWS CloudFormation User Guide.

            - *
            + *

            Specifies logging configuration information for a type.

            */ - SchemaHandlerPackage: string | undefined; + LoggingConfig?: LoggingConfig; } export namespace RegisterTypeInput { @@ -6672,14 +6672,6 @@ export namespace RegisterTypeOutput { *

            The input for the SetStackPolicy action.

            */ export interface SetStackPolicyInput { - /** - *

            Structure containing the stack policy body. For more information, go to Prevent Updates - * to Stack Resources in the AWS CloudFormation User Guide. You can specify either - * the StackPolicyBody or the StackPolicyURL parameter, but not - * both.

            - */ - StackPolicyBody?: string; - /** *

            Location of a file containing the stack policy. The URL must point to a policy * (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can @@ -6692,6 +6684,14 @@ export interface SetStackPolicyInput { *

            The name or unique stack ID that you want to associate a policy with.

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

            Structure containing the stack policy body. For more information, go to Prevent Updates + * to Stack Resources in the AWS CloudFormation User Guide. You can specify either + * the StackPolicyBody or the StackPolicyURL parameter, but not + * both.

            + */ + StackPolicyBody?: string; } export namespace SetStackPolicyInput { @@ -6702,10 +6702,10 @@ export namespace SetStackPolicyInput { export interface SetTypeDefaultVersionInput { /** - *

            The Amazon Resource Name (ARN) of the type for which you want version summary information.

            + *

            The kind of type.

            *

            Conditional: You must specify either TypeName and Type, or Arn.

            */ - Arn?: string; + Type?: RegistryType | string; /** *

            The name of the type.

            @@ -6714,15 +6714,15 @@ export interface SetTypeDefaultVersionInput { TypeName?: string; /** - *

            The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

            + *

            The Amazon Resource Name (ARN) of the type for which you want version summary information.

            + *

            Conditional: You must specify either TypeName and Type, or Arn.

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

            The kind of type.

            - *

            Conditional: You must specify either TypeName and Type, or Arn.

            + *

            The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

            */ - Type?: RegistryType | string; + VersionId?: string; } export namespace SetTypeDefaultVersionInput { @@ -6749,16 +6749,12 @@ export enum ResourceSignalStatus { */ export interface SignalResourceInput { /** - *

            The stack name or unique stack ID that includes the resource that you want to - * signal.

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

            The logical ID of the resource that you want to signal. The logical ID is the name of - * the resource that given in the template.

            + *

            A unique ID of the signal. When you signal Amazon EC2 instances or Auto Scaling + * groups, specify the instance ID that you are signaling as the unique ID. If you send + * multiple signals to a single resource (such as signaling a wait condition), each signal + * requires a different unique ID.

            */ - LogicalResourceId: string | undefined; + UniqueId: string | undefined; /** *

            The status of the signal, which is either success or failure. A failure signal causes @@ -6767,12 +6763,16 @@ export interface SignalResourceInput { Status: ResourceSignalStatus | string | undefined; /** - *

            A unique ID of the signal. When you signal Amazon EC2 instances or Auto Scaling - * groups, specify the instance ID that you are signaling as the unique ID. If you send - * multiple signals to a single resource (such as signaling a wait condition), each signal - * requires a different unique ID.

            + *

            The logical ID of the resource that you want to signal. The logical ID is the name of + * the resource that given in the template.

            */ - UniqueId: string | undefined; + LogicalResourceId: string | undefined; + + /** + *

            The stack name or unique stack ID that includes the resource that you want to + * signal.

            + */ + StackName: string | undefined; } export namespace SignalResourceInput { @@ -6798,73 +6798,20 @@ export namespace StopStackSetOperationInput { export const filterSensitiveLog = (obj: StopStackSetOperationInput): any => ({ ...obj, }); -} - -export interface StopStackSetOperationOutput {} - -export namespace StopStackSetOperationOutput { - export const filterSensitiveLog = (obj: StopStackSetOperationOutput): any => ({ - ...obj, - }); -} - -/** - *

            The input for an UpdateStack action.

            - */ -export interface UpdateStackInput { - /** - *

            The name or unique stack ID of the stack to update.

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

            Location of a file containing the temporary overriding stack policy. The URL must - * point to a policy (max size: 16KB) located in an S3 bucket in the same Region as the stack. - * You can specify either the StackPolicyDuringUpdateBody or the - * StackPolicyDuringUpdateURL parameter, but not both.

            - *

            If you want to update protected resources, specify a temporary overriding stack - * policy during this update. If you do not specify a stack policy, the current policy that is - * associated with the stack will be used.

            - */ - StackPolicyDuringUpdateURL?: string; - - /** - *

            Structure containing a new stack policy body. You can specify either the - * StackPolicyBody or the StackPolicyURL parameter, but not - * both.

            - *

            You might update the stack policy, for example, in order to protect a new resource - * that you created during a stack update. If you do not specify a stack policy, the current - * policy that is associated with the stack is unchanged.

            - */ - StackPolicyBody?: string; - - /** - *

            Structure containing the template body with a minimum length of 1 byte and a maximum - * length of 51,200 bytes. (For more information, go to Template Anatomy - * in the AWS CloudFormation User Guide.)

            - *

            Conditional: You must specify only one of the following parameters: - * TemplateBody, TemplateURL, or set the - * UsePreviousTemplate to true.

            - */ - TemplateBody?: string; - - /** - *

            The template resource types that you have permissions to work with for this update - * stack action, such as AWS::EC2::Instance, AWS::EC2::*, or - * Custom::MyCustomInstance.

            - *

            If the list of resource types doesn't include a resource that you're updating, the - * stack update fails. By default, AWS CloudFormation grants permissions to all resource - * types. AWS Identity and Access Management (IAM) uses this parameter for AWS - * CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

            - */ - ResourceTypes?: string[]; +} - /** - *

            The rollback triggers for AWS CloudFormation to monitor during stack creation and - * updating operations, and for the specified monitoring period afterwards.

            - */ - RollbackConfiguration?: RollbackConfiguration; +export interface StopStackSetOperationOutput {} + +export namespace StopStackSetOperationOutput { + export const filterSensitiveLog = (obj: StopStackSetOperationOutput): any => ({ + ...obj, + }); +} +/** + *

            The input for an UpdateStack action.

            + */ +export interface UpdateStackInput { /** *

            Reuse the existing template that is associated with the stack that you are * updating.

            @@ -6887,6 +6834,24 @@ export interface UpdateStackInput { */ RoleARN?: string; + /** + *

            Location of a file containing the updated stack policy. The URL must point to a + * policy (max size: 16KB) located in an S3 bucket in the same Region as the stack. You can + * specify either the StackPolicyBody or the StackPolicyURL + * parameter, but not both.

            + *

            You might update the stack policy, for example, in order to protect a new resource + * that you created during a stack update. If you do not specify a stack policy, the current + * policy that is associated with the stack is unchanged.

            + */ + StackPolicyURL?: string; + + /** + *

            Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that AWS + * CloudFormation associates with the stack. Specify an empty list to remove all notification + * topics.

            + */ + NotificationARNs?: string[]; + /** *

            Structure containing the temporary overriding stack policy body. You can specify * either the StackPolicyDuringUpdateBody or the @@ -6898,29 +6863,25 @@ export interface UpdateStackInput { StackPolicyDuringUpdateBody?: string; /** - *

            A list of Parameter structures that specify input parameters for the - * stack. For more information, see the Parameter data - * type.

            + *

            The name or unique stack ID of the stack to update.

            */ - Parameters?: Parameter[]; + StackName: string | undefined; /** - *

            Location of a file containing the updated stack policy. The URL must point to a - * policy (max size: 16KB) located in an S3 bucket in the same Region as the stack. You can - * specify either the StackPolicyBody or the StackPolicyURL - * parameter, but not both.

            - *

            You might update the stack policy, for example, in order to protect a new resource - * that you created during a stack update. If you do not specify a stack policy, the current - * policy that is associated with the stack is unchanged.

            + *

            Key-value pairs to associate with this stack. AWS CloudFormation also propagates + * these tags to supported resources in the stack. You can specify a maximum number of 50 + * tags.

            + *

            If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's + * tags. If you specify an empty value, AWS CloudFormation removes all associated + * tags.

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

            Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that AWS - * CloudFormation associates with the stack. Specify an empty list to remove all notification - * topics.

            + *

            The rollback triggers for AWS CloudFormation to monitor during stack creation and + * updating operations, and for the specified monitoring period afterwards.

            */ - NotificationARNs?: string[]; + RollbackConfiguration?: RollbackConfiguration; /** *

            Location of file containing the template body. The URL must point to a template that @@ -6932,6 +6893,25 @@ export interface UpdateStackInput { */ TemplateURL?: string; + /** + *

            A unique identifier for this UpdateStack request. Specify this token if + * you plan to retry requests so that AWS CloudFormation knows that you're not attempting to + * update a stack with the same name. You might retry UpdateStack requests to + * ensure that AWS CloudFormation successfully received them.

            + *

            All events triggered by a given stack operation are assigned the same client request + * token, which you can use to track operations. For example, if you execute a + * CreateStack operation with the token token1, then all the + * StackEvents generated by that operation will have + * ClientRequestToken set as token1.

            + *

            In the console, stack operations display the client request token on the Events tab. + * Stack operations that are initiated from the console use the token format + * Console-StackOperation-ID, which helps you easily identify the + * stack operation . For example, if you create a stack using the console, each stack event + * would be assigned the same token in the following format: + * Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

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

            In some cases, you must explicitly acknowledge that your stack template contains certain * capabilities in order for AWS CloudFormation to update the stack.

            @@ -7039,33 +7019,53 @@ export interface UpdateStackInput { Capabilities?: (Capability | string)[]; /** - *

            A unique identifier for this UpdateStack request. Specify this token if - * you plan to retry requests so that AWS CloudFormation knows that you're not attempting to - * update a stack with the same name. You might retry UpdateStack requests to - * ensure that AWS CloudFormation successfully received them.

            - *

            All events triggered by a given stack operation are assigned the same client request - * token, which you can use to track operations. For example, if you execute a - * CreateStack operation with the token token1, then all the - * StackEvents generated by that operation will have - * ClientRequestToken set as token1.

            - *

            In the console, stack operations display the client request token on the Events tab. - * Stack operations that are initiated from the console use the token format - * Console-StackOperation-ID, which helps you easily identify the - * stack operation . For example, if you create a stack using the console, each stack event - * would be assigned the same token in the following format: - * Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

            + *

            Location of a file containing the temporary overriding stack policy. The URL must + * point to a policy (max size: 16KB) located in an S3 bucket in the same Region as the stack. + * You can specify either the StackPolicyDuringUpdateBody or the + * StackPolicyDuringUpdateURL parameter, but not both.

            + *

            If you want to update protected resources, specify a temporary overriding stack + * policy during this update. If you do not specify a stack policy, the current policy that is + * associated with the stack will be used.

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

            Key-value pairs to associate with this stack. AWS CloudFormation also propagates - * these tags to supported resources in the stack. You can specify a maximum number of 50 - * tags.

            - *

            If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's - * tags. If you specify an empty value, AWS CloudFormation removes all associated - * tags.

            + *

            The template resource types that you have permissions to work with for this update + * stack action, such as AWS::EC2::Instance, AWS::EC2::*, or + * Custom::MyCustomInstance.

            + *

            If the list of resource types doesn't include a resource that you're updating, the + * stack update fails. By default, AWS CloudFormation grants permissions to all resource + * types. AWS Identity and Access Management (IAM) uses this parameter for AWS + * CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

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

            A list of Parameter structures that specify input parameters for the + * stack. For more information, see the Parameter data + * type.

            + */ + Parameters?: Parameter[]; + + /** + *

            Structure containing the template body with a minimum length of 1 byte and a maximum + * length of 51,200 bytes. (For more information, go to Template Anatomy + * in the AWS CloudFormation User Guide.)

            + *

            Conditional: You must specify only one of the following parameters: + * TemplateBody, TemplateURL, or set the + * UsePreviousTemplate to true.

            + */ + TemplateBody?: string; + + /** + *

            Structure containing a new stack policy body. You can specify either the + * StackPolicyBody or the StackPolicyURL parameter, but not + * both.

            + *

            You might update the stack policy, for example, in order to protect a new resource + * that you created during a stack update. If you do not specify a stack policy, the current + * policy that is associated with the stack is unchanged.

            + */ + StackPolicyBody?: string; } export namespace UpdateStackInput { @@ -7091,6 +7091,18 @@ export namespace UpdateStackOutput { } export interface UpdateStackInstancesInput { + /** + *

            The name or unique ID of the stack set associated with the stack instances.

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

            The names of one or more Regions in which you want to update parameter values for + * stack instances. The overridden parameter values will be applied to all stack instances in + * the specified accounts and Regions.

            + */ + Regions: string[] | undefined; + /** *

            A list of input parameters whose values you want to update for the specified stack * instances.

            @@ -7139,27 +7151,20 @@ export interface UpdateStackInstancesInput { ParameterOverrides?: Parameter[]; /** - *

            Preferences for how AWS CloudFormation performs this stack set operation.

            - */ - OperationPreferences?: StackSetOperationPreferences; - - /** - *

            [Service-managed permissions] The AWS Organizations accounts for which you want to update parameter values for stack instances. If your update targets OUs, the overridden parameter values only apply to the accounts that are currently in the target OUs and their child OUs. Accounts added to the target OUs and their child OUs in the future won't use the overridden values.

            - *

            You can specify Accounts or DeploymentTargets, but not both.

            - */ - DeploymentTargets?: DeploymentTargets; - - /** - *

            The names of one or more Regions in which you want to update parameter values for - * stack instances. The overridden parameter values will be applied to all stack instances in - * the specified accounts and Regions.

            + *

            The unique identifier for this stack set operation.

            + *

            The operation ID also functions as an idempotency token, to ensure that AWS + * CloudFormation performs the stack set operation only once, even if you retry the request + * multiple times. You might retry stack set operation requests to ensure that AWS + * CloudFormation successfully received them.

            + *

            If you don't specify an operation ID, the SDK generates one automatically. + *

            */ - Regions: string[] | undefined; + OperationId?: string; /** - *

            The name or unique ID of the stack set associated with the stack instances.

            + *

            Preferences for how AWS CloudFormation performs this stack set operation.

            */ - StackSetName: string | undefined; + OperationPreferences?: StackSetOperationPreferences; /** *

            [Self-managed permissions] The names of one or more AWS accounts for which you want to update parameter values @@ -7170,15 +7175,10 @@ export interface UpdateStackInstancesInput { Accounts?: string[]; /** - *

            The unique identifier for this stack set operation.

            - *

            The operation ID also functions as an idempotency token, to ensure that AWS - * CloudFormation performs the stack set operation only once, even if you retry the request - * multiple times. You might retry stack set operation requests to ensure that AWS - * CloudFormation successfully received them.

            - *

            If you don't specify an operation ID, the SDK generates one automatically. - *

            + *

            [Service-managed permissions] The AWS Organizations accounts for which you want to update parameter values for stack instances. If your update targets OUs, the overridden parameter values only apply to the accounts that are currently in the target OUs and their child OUs. Accounts added to the target OUs and their child OUs in the future won't use the overridden values.

            + *

            You can specify Accounts or DeploymentTargets, but not both.

            */ - OperationId?: string; + DeploymentTargets?: DeploymentTargets; } export namespace UpdateStackInstancesInput { @@ -7201,6 +7201,38 @@ export namespace UpdateStackInstancesOutput { } export interface UpdateStackSetInput { + /** + *

            A brief description of updates that you are making.

            + */ + Description?: string; + + /** + *

            The name or unique ID of the stack set that you want to update.

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

            The unique ID for this stack set operation.

            + *

            The operation ID also functions as an idempotency token, to ensure that AWS + * CloudFormation performs the stack set operation only once, even if you retry the request + * multiple times. You might retry stack set operation requests to ensure that AWS + * CloudFormation successfully received them.

            + *

            If you don't specify an operation ID, AWS CloudFormation generates one + * automatically.

            + *

            Repeating this stack set operation with a new operation ID retries all stack + * instances whose status is OUTDATED.

            + */ + OperationId?: string; + + /** + *

            Use the existing template that's associated with the stack set that you're + * updating.

            + *

            Conditional: You must specify only one of the following parameters: + * TemplateBody or TemplateURL—or set + * UsePreviousTemplate to true.

            + */ + UsePreviousTemplate?: boolean; + /** *

            The structure that contains the template body, with a minimum length of 1 byte and a * maximum length of 51,200 bytes. For more information, see Template Anatomy @@ -7212,34 +7244,51 @@ export interface UpdateStackSetInput { TemplateBody?: string; /** - *

            Describes how the IAM roles required for stack set operations are created. You cannot modify PermissionModel if there are stack instances associated with your stack set.

            - *
              - *
            • - *

              With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

              - *
            • - *
            • - *

              With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

              - *
            • - *
            + *

            The Amazon Resource Number (ARN) of the IAM role to use to update this stack set.

            + *

            Specify an IAM role only if you are using customized administrator roles to control + * which users or groups can manage specific stack sets within the same administrator account. + * For more information, see Granting + * Permissions for Stack Set Operations in the + * AWS CloudFormation User Guide.

            + *

            If you specified a customized administrator role when you created the stack set, you + * must specify a customized administrator role, even if it is the same customized + * administrator role used with this stack set previously.

            + */ + AdministrationRoleARN?: string; + + /** + *

            The location of the file that contains the template body. The URL must point to a + * template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more + * information, see Template Anatomy + * in the AWS CloudFormation User Guide.

            + *

            Conditional: You must specify only one of the following parameters: + * TemplateBody or TemplateURL—or set + * UsePreviousTemplate to true.

            */ - PermissionModel?: PermissionModels | string; + TemplateURL?: string; /** - *

            The unique ID for this stack set operation.

            - *

            The operation ID also functions as an idempotency token, to ensure that AWS - * CloudFormation performs the stack set operation only once, even if you retry the request - * multiple times. You might retry stack set operation requests to ensure that AWS - * CloudFormation successfully received them.

            - *

            If you don't specify an operation ID, AWS CloudFormation generates one - * automatically.

            - *

            Repeating this stack set operation with a new operation ID retries all stack - * instances whose status is OUTDATED.

            + *

            A list of input parameters for the stack set template.

            */ - OperationId?: string; + Parameters?: Parameter[]; /** - *

            [Self-managed permissions] The accounts in which to update associated stack instances. If you specify accounts, you - * must also specify the Regions in which to update stack set instances.

            + *

            The name of the IAM execution role to use to update the stack set. If you do not specify + * an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role + * for the stack set operation.

            + *

            Specify an IAM role only if you are using customized execution roles to control which + * stack resources users and groups can include in their stack sets. + *

            + *

            If you specify a customized execution role, AWS CloudFormation uses that role to update the stack. + * If you do not specify a customized execution role, AWS CloudFormation performs the update using the role + * previously associated with the stack set, so long as you have permissions to perform + * operations on the stack set.

            + */ + ExecutionRoleName?: string; + + /** + *

            The Regions in which to update associated stack instances. If you specify Regions, you + * must also specify accounts in which to update stack set instances.

            *

            To update all the stack instances associated with this stack set, * do not specify the Accounts or Regions properties.

            *

            If the stack set update includes changes to the template (that is, if the @@ -7250,52 +7299,7 @@ export interface UpdateStackSetInput { * parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while * leaving all other stack instances with their existing stack instance status.

            */ - Accounts?: string[]; - - /** - *

            [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

            - *

            If you specify AutoDeployment, do not specify DeploymentTargets or Regions.

            - */ - AutoDeployment?: AutoDeployment; - - /** - *

            A brief description of updates that you are making.

            - */ - Description?: string; - - /** - *

            The key-value pairs to associate with this stack set and the stacks created from it. - * AWS CloudFormation also propagates these tags to supported resources that are created in - * the stacks. You can specify a maximum number of 50 tags.

            - *

            If you specify tags for this parameter, those tags replace any list of tags that are - * currently associated with this stack set. This means:

            - *
              - *
            • - *

              If you don't specify this parameter, AWS CloudFormation doesn't modify the - * stack's tags.

              - *
            • - *
            • - *

              If you specify any tags using this parameter, you must - * specify all the tags that you want associated with this stack - * set, even tags you've specifed before (for example, when creating the stack set or - * during a previous update of the stack set.). Any tags that you don't include in the - * updated list of tags are removed from the stack set, and therefore from the stacks - * and resources as well.

              - *
            • - *
            • - *

              If you specify an empty value, AWS CloudFormation removes all currently - * associated tags.

              - *
            • - *
            - *

            If you specify new tags as part of an UpdateStackSet action, AWS - * CloudFormation checks to see if you have the required IAM permission to tag resources. If - * you omit tags that are currently associated with the stack set from the list of tags you - * specify, AWS CloudFormation assumes that you want to remove those tags from the stack set, - * and checks to see if you have permission to untag resources. If you don't have the - * necessary permission(s), the entire UpdateStackSet action fails with an - * access denied error, and the stack set is not updated.

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

            In some cases, you must explicitly acknowledge that your stack template contains certain @@ -7396,51 +7400,60 @@ export interface UpdateStackSetInput { Capabilities?: (Capability | string)[]; /** - *

            The location of the file that contains the template body. The URL must point to a - * template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more - * information, see Template Anatomy - * in the AWS CloudFormation User Guide.

            - *

            Conditional: You must specify only one of the following parameters: - * TemplateBody or TemplateURL—or set - * UsePreviousTemplate to true.

            + *

            [Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

            + *

            If you specify AutoDeployment, do not specify DeploymentTargets or Regions.

            */ - TemplateURL?: string; + AutoDeployment?: AutoDeployment; /** - *

            The name of the IAM execution role to use to update the stack set. If you do not specify - * an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role - * for the stack set operation.

            - *

            Specify an IAM role only if you are using customized execution roles to control which - * stack resources users and groups can include in their stack sets. - *

            - *

            If you specify a customized execution role, AWS CloudFormation uses that role to update the stack. - * If you do not specify a customized execution role, AWS CloudFormation performs the update using the role - * previously associated with the stack set, so long as you have permissions to perform - * operations on the stack set.

            + *

            Preferences for how AWS CloudFormation performs this stack set operation.

            */ - ExecutionRoleName?: string; + OperationPreferences?: StackSetOperationPreferences; /** - *

            The Amazon Resource Number (ARN) of the IAM role to use to update this stack set.

            - *

            Specify an IAM role only if you are using customized administrator roles to control - * which users or groups can manage specific stack sets within the same administrator account. - * For more information, see Granting - * Permissions for Stack Set Operations in the - * AWS CloudFormation User Guide.

            - *

            If you specified a customized administrator role when you created the stack set, you - * must specify a customized administrator role, even if it is the same customized - * administrator role used with this stack set previously.

            + *

            [Service-managed permissions] The AWS Organizations accounts in which to update associated stack instances.

            + *

            To update all the stack instances associated with this stack set, do not specify DeploymentTargets or Regions.

            + *

            If the stack set update includes changes to the template (that is, if TemplateBody or TemplateURL is specified), or the Parameters, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and Regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while leaving all other stack instances with their existing stack instance status.

            */ - AdministrationRoleARN?: string; + DeploymentTargets?: DeploymentTargets; /** - *

            The name or unique ID of the stack set that you want to update.

            + *

            The key-value pairs to associate with this stack set and the stacks created from it. + * AWS CloudFormation also propagates these tags to supported resources that are created in + * the stacks. You can specify a maximum number of 50 tags.

            + *

            If you specify tags for this parameter, those tags replace any list of tags that are + * currently associated with this stack set. This means:

            + *
              + *
            • + *

              If you don't specify this parameter, AWS CloudFormation doesn't modify the + * stack's tags.

              + *
            • + *
            • + *

              If you specify any tags using this parameter, you must + * specify all the tags that you want associated with this stack + * set, even tags you've specifed before (for example, when creating the stack set or + * during a previous update of the stack set.). Any tags that you don't include in the + * updated list of tags are removed from the stack set, and therefore from the stacks + * and resources as well.

              + *
            • + *
            • + *

              If you specify an empty value, AWS CloudFormation removes all currently + * associated tags.

              + *
            • + *
            + *

            If you specify new tags as part of an UpdateStackSet action, AWS + * CloudFormation checks to see if you have the required IAM permission to tag resources. If + * you omit tags that are currently associated with the stack set from the list of tags you + * specify, AWS CloudFormation assumes that you want to remove those tags from the stack set, + * and checks to see if you have permission to untag resources. If you don't have the + * necessary permission(s), the entire UpdateStackSet action fails with an + * access denied error, and the stack set is not updated.

            */ - StackSetName: string | undefined; + Tags?: Tag[]; /** - *

            The Regions in which to update associated stack instances. If you specify Regions, you - * must also specify accounts in which to update stack set instances.

            + *

            [Self-managed permissions] The accounts in which to update associated stack instances. If you specify accounts, you + * must also specify the Regions in which to update stack set instances.

            *

            To update all the stack instances associated with this stack set, * do not specify the Accounts or Regions properties.

            *

            If the stack set update includes changes to the template (that is, if the @@ -7451,33 +7464,20 @@ export interface UpdateStackSetInput { * parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while * leaving all other stack instances with their existing stack instance status.

            */ - Regions?: string[]; - - /** - *

            A list of input parameters for the stack set template.

            - */ - Parameters?: Parameter[]; - - /** - *

            Preferences for how AWS CloudFormation performs this stack set operation.

            - */ - OperationPreferences?: StackSetOperationPreferences; - - /** - *

            Use the existing template that's associated with the stack set that you're - * updating.

            - *

            Conditional: You must specify only one of the following parameters: - * TemplateBody or TemplateURL—or set - * UsePreviousTemplate to true.

            - */ - UsePreviousTemplate?: boolean; + Accounts?: string[]; /** - *

            [Service-managed permissions] The AWS Organizations accounts in which to update associated stack instances.

            - *

            To update all the stack instances associated with this stack set, do not specify DeploymentTargets or Regions.

            - *

            If the stack set update includes changes to the template (that is, if TemplateBody or TemplateURL is specified), or the Parameters, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and Regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while leaving all other stack instances with their existing stack instance status.

            + *

            Describes how the IAM roles required for stack set operations are created. You cannot modify PermissionModel if there are stack instances associated with your stack set.

            + *
              + *
            • + *

              With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions.

              + *
            • + *
            • + *

              With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions.

              + *
            • + *
            */ - DeploymentTargets?: DeploymentTargets; + PermissionModel?: PermissionModels | string; } export namespace UpdateStackSetInput { @@ -7500,16 +7500,16 @@ export namespace UpdateStackSetOutput { } export interface UpdateTerminationProtectionInput { - /** - *

            Whether to enable termination protection on the specified stack.

            - */ - EnableTerminationProtection: boolean | undefined; - /** *

            The name or unique ID of the stack for which you want to set termination * protection.

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

            Whether to enable termination protection on the specified stack.

            + */ + EnableTerminationProtection: boolean | undefined; } export namespace UpdateTerminationProtectionInput { @@ -7536,23 +7536,23 @@ export namespace UpdateTerminationProtectionOutput { */ export interface ValidateTemplateInput { /** - *

            Location of file containing the template body. The URL must point to a template (max - * size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to - * Template Anatomy + *

            Structure containing the template body with a minimum length of 1 byte and a maximum + * length of 51,200 bytes. For more information, go to Template Anatomy * in the AWS CloudFormation User Guide.

            *

            Conditional: You must pass TemplateURL or TemplateBody. If * both are passed, only TemplateBody is used.

            */ - TemplateURL?: string; + TemplateBody?: string; /** - *

            Structure containing the template body with a minimum length of 1 byte and a maximum - * length of 51,200 bytes. For more information, go to Template Anatomy + *

            Location of file containing the template body. The URL must point to a template (max + * size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to + * Template Anatomy * in the AWS CloudFormation User Guide.

            *

            Conditional: You must pass TemplateURL or TemplateBody. If * both are passed, only TemplateBody is used.

            */ - TemplateBody?: string; + TemplateURL?: string; } export namespace ValidateTemplateInput { @@ -7566,9 +7566,10 @@ export namespace ValidateTemplateInput { */ export interface TemplateParameter { /** - *

            User defined description associated with the parameter.

            + *

            Flag indicating whether the parameter should be displayed as plain text in logs and + * UIs.

            */ - Description?: string; + NoEcho?: boolean; /** *

            The name associated with the parameter.

            @@ -7576,15 +7577,14 @@ export interface TemplateParameter { ParameterKey?: string; /** - *

            Flag indicating whether the parameter should be displayed as plain text in logs and - * UIs.

            + *

            The default value associated with the parameter.

            */ - NoEcho?: boolean; + DefaultValue?: string; /** - *

            The default value associated with the parameter.

            + *

            User defined description associated with the parameter.

            */ - DefaultValue?: string; + Description?: string; } export namespace TemplateParameter { @@ -7597,6 +7597,15 @@ export namespace TemplateParameter { *

            The output for ValidateTemplate action.

            */ export interface ValidateTemplateOutput { + /** + *

            The capabilities found within the template. If your template contains IAM resources, + * you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when + * you use the CreateStack or UpdateStack actions with + * your template; otherwise, those actions return an InsufficientCapabilities error.

            + *

            For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

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

            A list of TemplateParameter structures.

            */ @@ -7609,23 +7618,14 @@ export interface ValidateTemplateOutput { CapabilitiesReason?: string; /** - *

            A list of the transforms that are declared in the template.

            - */ - DeclaredTransforms?: string[]; - - /** - *

            The capabilities found within the template. If your template contains IAM resources, - * you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when - * you use the CreateStack or UpdateStack actions with - * your template; otherwise, those actions return an InsufficientCapabilities error.

            - *

            For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

            + *

            The description found within the template.

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

            The description found within the template.

            + *

            A list of the transforms that are declared in the template.

            */ - Description?: string; + DeclaredTransforms?: string[]; } export namespace ValidateTemplateOutput { diff --git a/clients/client-cloudformation/pagination/ListStackInstancesPaginator.ts b/clients/client-cloudformation/pagination/ListStackInstancesPaginator.ts new file mode 100644 index 000000000000..750bfe2a5d79 --- /dev/null +++ b/clients/client-cloudformation/pagination/ListStackInstancesPaginator.ts @@ -0,0 +1,51 @@ +import { CloudFormation } from "../CloudFormation"; +import { CloudFormationClient } from "../CloudFormationClient"; +import { + ListStackInstancesCommand, + ListStackInstancesCommandInput, + ListStackInstancesCommandOutput, +} from "../commands/ListStackInstancesCommand"; +import { CloudFormationPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: CloudFormationClient, + input: ListStackInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListStackInstancesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: CloudFormation, + input: ListStackInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listStackInstances(input, ...args); +}; +export async function* listStackInstancesPaginate( + config: CloudFormationPaginationConfiguration, + input: ListStackInstancesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListStackInstancesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof CloudFormation) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof CloudFormationClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-cloudformation/pagination/ListStackSetOperationResultsPaginator.ts b/clients/client-cloudformation/pagination/ListStackSetOperationResultsPaginator.ts new file mode 100644 index 000000000000..763761db1d3e --- /dev/null +++ b/clients/client-cloudformation/pagination/ListStackSetOperationResultsPaginator.ts @@ -0,0 +1,51 @@ +import { CloudFormation } from "../CloudFormation"; +import { CloudFormationClient } from "../CloudFormationClient"; +import { + ListStackSetOperationResultsCommand, + ListStackSetOperationResultsCommandInput, + ListStackSetOperationResultsCommandOutput, +} from "../commands/ListStackSetOperationResultsCommand"; +import { CloudFormationPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: CloudFormationClient, + input: ListStackSetOperationResultsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListStackSetOperationResultsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: CloudFormation, + input: ListStackSetOperationResultsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listStackSetOperationResults(input, ...args); +}; +export async function* listStackSetOperationResultsPaginate( + config: CloudFormationPaginationConfiguration, + input: ListStackSetOperationResultsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListStackSetOperationResultsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof CloudFormation) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof CloudFormationClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-cloudformation/pagination/ListStackSetOperationsPaginator.ts b/clients/client-cloudformation/pagination/ListStackSetOperationsPaginator.ts new file mode 100644 index 000000000000..05500d3d498b --- /dev/null +++ b/clients/client-cloudformation/pagination/ListStackSetOperationsPaginator.ts @@ -0,0 +1,51 @@ +import { CloudFormation } from "../CloudFormation"; +import { CloudFormationClient } from "../CloudFormationClient"; +import { + ListStackSetOperationsCommand, + ListStackSetOperationsCommandInput, + ListStackSetOperationsCommandOutput, +} from "../commands/ListStackSetOperationsCommand"; +import { CloudFormationPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: CloudFormationClient, + input: ListStackSetOperationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListStackSetOperationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: CloudFormation, + input: ListStackSetOperationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listStackSetOperations(input, ...args); +}; +export async function* listStackSetOperationsPaginate( + config: CloudFormationPaginationConfiguration, + input: ListStackSetOperationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListStackSetOperationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof CloudFormation) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof CloudFormationClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-cloudformation/pagination/ListStackSetsPaginator.ts b/clients/client-cloudformation/pagination/ListStackSetsPaginator.ts new file mode 100644 index 000000000000..57ecc6cfab09 --- /dev/null +++ b/clients/client-cloudformation/pagination/ListStackSetsPaginator.ts @@ -0,0 +1,51 @@ +import { CloudFormation } from "../CloudFormation"; +import { CloudFormationClient } from "../CloudFormationClient"; +import { + ListStackSetsCommand, + ListStackSetsCommandInput, + ListStackSetsCommandOutput, +} from "../commands/ListStackSetsCommand"; +import { CloudFormationPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: CloudFormationClient, + input: ListStackSetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListStackSetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: CloudFormation, + input: ListStackSetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listStackSets(input, ...args); +}; +export async function* listStackSetsPaginate( + config: CloudFormationPaginationConfiguration, + input: ListStackSetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListStackSetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof CloudFormation) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof CloudFormationClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-cloudformation/protocols/Aws_query.ts b/clients/client-cloudformation/protocols/Aws_query.ts index af8d2f44a634..73b16d41ed66 100644 --- a/clients/client-cloudformation/protocols/Aws_query.ts +++ b/clients/client-cloudformation/protocols/Aws_query.ts @@ -4651,12 +4651,12 @@ const serializeAws_queryAutoDeployment = (input: AutoDeployment, context: __Serd const serializeAws_queryCancelUpdateStackInput = (input: CancelUpdateStackInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.ClientRequestToken !== undefined) { - entries["ClientRequestToken"] = input.ClientRequestToken; - } if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } + if (input.ClientRequestToken !== undefined) { + entries["ClientRequestToken"] = input.ClientRequestToken; + } return entries; }; @@ -4675,12 +4675,12 @@ const serializeAws_queryContinueUpdateRollbackInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.StackName !== undefined) { - entries["StackName"] = input.StackName; - } if (input.RoleARN !== undefined) { entries["RoleARN"] = input.RoleARN; } + if (input.ClientRequestToken !== undefined) { + entries["ClientRequestToken"] = input.ClientRequestToken; + } if (input.ResourcesToSkip !== undefined) { const memberEntries = serializeAws_queryResourcesToSkip(input.ResourcesToSkip, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4688,20 +4688,19 @@ const serializeAws_queryContinueUpdateRollbackInput = ( entries[loc] = value; }); } - if (input.ClientRequestToken !== undefined) { - entries["ClientRequestToken"] = input.ClientRequestToken; + if (input.StackName !== undefined) { + entries["StackName"] = input.StackName; } return entries; }; const serializeAws_queryCreateChangeSetInput = (input: CreateChangeSetInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.ResourcesToImport !== undefined) { - const memberEntries = serializeAws_queryResourcesToImport(input.ResourcesToImport, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResourcesToImport.${key}`; - entries[loc] = value; - }); + if (input.StackName !== undefined) { + entries["StackName"] = input.StackName; + } + if (input.ChangeSetName !== undefined) { + entries["ChangeSetName"] = input.ChangeSetName; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTags(input.Tags, context); @@ -4710,19 +4709,8 @@ const serializeAws_queryCreateChangeSetInput = (input: CreateChangeSetInput, con entries[loc] = value; }); } - if (input.RollbackConfiguration !== undefined) { - const memberEntries = serializeAws_queryRollbackConfiguration(input.RollbackConfiguration, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `RollbackConfiguration.${key}`; - entries[loc] = value; - }); - } - if (input.Capabilities !== undefined) { - const memberEntries = serializeAws_queryCapabilities(input.Capabilities, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Capabilities.${key}`; - entries[loc] = value; - }); + if (input.ChangeSetType !== undefined) { + entries["ChangeSetType"] = input.ChangeSetType; } if (input.NotificationARNs !== undefined) { const memberEntries = serializeAws_queryNotificationARNs(input.NotificationARNs, context); @@ -4731,71 +4719,78 @@ const serializeAws_queryCreateChangeSetInput = (input: CreateChangeSetInput, con entries[loc] = value; }); } - if (input.TemplateURL !== undefined) { - entries["TemplateURL"] = input.TemplateURL; - } - if (input.ChangeSetName !== undefined) { - entries["ChangeSetName"] = input.ChangeSetName; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.RoleARN !== undefined) { entries["RoleARN"] = input.RoleARN; } - if (input.TemplateBody !== undefined) { - entries["TemplateBody"] = input.TemplateBody; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } - if (input.UsePreviousTemplate !== undefined) { - entries["UsePreviousTemplate"] = input.UsePreviousTemplate; + if (input.ResourceTypes !== undefined) { + const memberEntries = serializeAws_queryResourceTypes(input.ResourceTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ResourceTypes.${key}`; + entries[loc] = value; + }); } - if (input.Parameters !== undefined) { - const memberEntries = serializeAws_queryParameters(input.Parameters, context); + if (input.TemplateURL !== undefined) { + entries["TemplateURL"] = input.TemplateURL; + } + if (input.ResourcesToImport !== undefined) { + const memberEntries = serializeAws_queryResourcesToImport(input.ResourcesToImport, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Parameters.${key}`; + const loc = `ResourcesToImport.${key}`; entries[loc] = value; }); } - if (input.ResourceTypes !== undefined) { - const memberEntries = serializeAws_queryResourceTypes(input.ResourceTypes, context); + if (input.Parameters !== undefined) { + const memberEntries = serializeAws_queryParameters(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResourceTypes.${key}`; + const loc = `Parameters.${key}`; entries[loc] = value; }); } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.UsePreviousTemplate !== undefined) { + entries["UsePreviousTemplate"] = input.UsePreviousTemplate; } - if (input.StackName !== undefined) { - entries["StackName"] = input.StackName; + if (input.TemplateBody !== undefined) { + entries["TemplateBody"] = input.TemplateBody; } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.RollbackConfiguration !== undefined) { + const memberEntries = serializeAws_queryRollbackConfiguration(input.RollbackConfiguration, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `RollbackConfiguration.${key}`; + entries[loc] = value; + }); } - if (input.ChangeSetType !== undefined) { - entries["ChangeSetType"] = input.ChangeSetType; + if (input.Capabilities !== undefined) { + const memberEntries = serializeAws_queryCapabilities(input.Capabilities, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Capabilities.${key}`; + entries[loc] = value; + }); } return entries; }; const serializeAws_queryCreateStackInput = (input: CreateStackInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.StackPolicyBody !== undefined) { - entries["StackPolicyBody"] = input.StackPolicyBody; - } - if (input.TemplateBody !== undefined) { - entries["TemplateBody"] = input.TemplateBody; - } - if (input.StackName !== undefined) { - entries["StackName"] = input.StackName; - } - if (input.StackPolicyURL !== undefined) { - entries["StackPolicyURL"] = input.StackPolicyURL; + if (input.RoleARN !== undefined) { + entries["RoleARN"] = input.RoleARN; } - if (input.OnFailure !== undefined) { - entries["OnFailure"] = input.OnFailure; + if (input.Parameters !== undefined) { + const memberEntries = serializeAws_queryParameters(input.Parameters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Parameters.${key}`; + entries[loc] = value; + }); } - if (input.NotificationARNs !== undefined) { - const memberEntries = serializeAws_queryNotificationARNs(input.NotificationARNs, context); + if (input.ResourceTypes !== undefined) { + const memberEntries = serializeAws_queryResourceTypes(input.ResourceTypes, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NotificationARNs.${key}`; + const loc = `ResourceTypes.${key}`; entries[loc] = value; }); } @@ -4806,17 +4801,26 @@ const serializeAws_queryCreateStackInput = (input: CreateStackInput, context: __ entries[loc] = value; }); } + if (input.StackName !== undefined) { + entries["StackName"] = input.StackName; + } + if (input.OnFailure !== undefined) { + entries["OnFailure"] = input.OnFailure; + } if (input.EnableTerminationProtection !== undefined) { entries["EnableTerminationProtection"] = input.EnableTerminationProtection; } + if (input.DisableRollback !== undefined) { + entries["DisableRollback"] = input.DisableRollback; + } if (input.TimeoutInMinutes !== undefined) { entries["TimeoutInMinutes"] = input.TimeoutInMinutes; } - if (input.DisableRollback !== undefined) { - entries["DisableRollback"] = input.DisableRollback; + if (input.ClientRequestToken !== undefined) { + entries["ClientRequestToken"] = input.ClientRequestToken; } - if (input.RoleARN !== undefined) { - entries["RoleARN"] = input.RoleARN; + if (input.TemplateURL !== undefined) { + entries["TemplateURL"] = input.TemplateURL; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTags(input.Tags, context); @@ -4832,25 +4836,21 @@ const serializeAws_queryCreateStackInput = (input: CreateStackInput, context: __ entries[loc] = value; }); } - if (input.Parameters !== undefined) { - const memberEntries = serializeAws_queryParameters(input.Parameters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Parameters.${key}`; - entries[loc] = value; - }); + if (input.TemplateBody !== undefined) { + entries["TemplateBody"] = input.TemplateBody; } - if (input.ResourceTypes !== undefined) { - const memberEntries = serializeAws_queryResourceTypes(input.ResourceTypes, context); + if (input.StackPolicyBody !== undefined) { + entries["StackPolicyBody"] = input.StackPolicyBody; + } + if (input.NotificationARNs !== undefined) { + const memberEntries = serializeAws_queryNotificationARNs(input.NotificationARNs, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResourceTypes.${key}`; + const loc = `NotificationARNs.${key}`; entries[loc] = value; }); } - if (input.ClientRequestToken !== undefined) { - entries["ClientRequestToken"] = input.ClientRequestToken; - } - if (input.TemplateURL !== undefined) { - entries["TemplateURL"] = input.TemplateURL; + if (input.StackPolicyURL !== undefined) { + entries["StackPolicyURL"] = input.StackPolicyURL; } return entries; }; @@ -4860,15 +4860,19 @@ const serializeAws_queryCreateStackInstancesInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Regions !== undefined) { - const memberEntries = serializeAws_queryRegionList(input.Regions, context); + if (input.OperationPreferences !== undefined) { + const memberEntries = serializeAws_queryStackSetOperationPreferences(input.OperationPreferences, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Regions.${key}`; + const loc = `OperationPreferences.${key}`; entries[loc] = value; }); } - if (input.StackSetName !== undefined) { - entries["StackSetName"] = input.StackSetName; + if (input.ParameterOverrides !== undefined) { + const memberEntries = serializeAws_queryParameters(input.ParameterOverrides, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ParameterOverrides.${key}`; + entries[loc] = value; + }); } if (input.OperationId === undefined) { input.OperationId = generateIdempotencyToken(); @@ -4876,10 +4880,10 @@ const serializeAws_queryCreateStackInstancesInput = ( if (input.OperationId !== undefined) { entries["OperationId"] = input.OperationId; } - if (input.Accounts !== undefined) { - const memberEntries = serializeAws_queryAccountList(input.Accounts, context); + if (input.Regions !== undefined) { + const memberEntries = serializeAws_queryRegionList(input.Regions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Accounts.${key}`; + const loc = `Regions.${key}`; entries[loc] = value; }); } @@ -4890,17 +4894,13 @@ const serializeAws_queryCreateStackInstancesInput = ( entries[loc] = value; }); } - if (input.OperationPreferences !== undefined) { - const memberEntries = serializeAws_queryStackSetOperationPreferences(input.OperationPreferences, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `OperationPreferences.${key}`; - entries[loc] = value; - }); + if (input.StackSetName !== undefined) { + entries["StackSetName"] = input.StackSetName; } - if (input.ParameterOverrides !== undefined) { - const memberEntries = serializeAws_queryParameters(input.ParameterOverrides, context); + if (input.Accounts !== undefined) { + const memberEntries = serializeAws_queryAccountList(input.Accounts, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ParameterOverrides.${key}`; + const loc = `Accounts.${key}`; entries[loc] = value; }); } @@ -4909,25 +4909,19 @@ const serializeAws_queryCreateStackInstancesInput = ( const serializeAws_queryCreateStackSetInput = (input: CreateStackSetInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.TemplateBody !== undefined) { - entries["TemplateBody"] = input.TemplateBody; - } - if (input.ExecutionRoleName !== undefined) { - entries["ExecutionRoleName"] = input.ExecutionRoleName; + if (input.StackSetName !== undefined) { + entries["StackSetName"] = input.StackSetName; } - if (input.AdministrationRoleARN !== undefined) { - entries["AdministrationRoleARN"] = input.AdministrationRoleARN; + if (input.PermissionModel !== undefined) { + entries["PermissionModel"] = input.PermissionModel; } - if (input.AutoDeployment !== undefined) { - const memberEntries = serializeAws_queryAutoDeployment(input.AutoDeployment, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTags(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AutoDeployment.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.StackSetName !== undefined) { - entries["StackSetName"] = input.StackSetName; - } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParameters(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4935,46 +4929,52 @@ const serializeAws_queryCreateStackSetInput = (input: CreateStackSetInput, conte entries[loc] = value; }); } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.TemplateBody !== undefined) { + entries["TemplateBody"] = input.TemplateBody; } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTags(input.Tags, context); + if (input.Capabilities !== undefined) { + const memberEntries = serializeAws_queryCapabilities(input.Capabilities, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `Capabilities.${key}`; entries[loc] = value; }); } if (input.TemplateURL !== undefined) { entries["TemplateURL"] = input.TemplateURL; } - if (input.ClientRequestToken === undefined) { - input.ClientRequestToken = generateIdempotencyToken(); + if (input.Description !== undefined) { + entries["Description"] = input.Description; } - if (input.ClientRequestToken !== undefined) { - entries["ClientRequestToken"] = input.ClientRequestToken; + if (input.ExecutionRoleName !== undefined) { + entries["ExecutionRoleName"] = input.ExecutionRoleName; } - if (input.Capabilities !== undefined) { - const memberEntries = serializeAws_queryCapabilities(input.Capabilities, context); + if (input.AutoDeployment !== undefined) { + const memberEntries = serializeAws_queryAutoDeployment(input.AutoDeployment, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Capabilities.${key}`; + const loc = `AutoDeployment.${key}`; entries[loc] = value; }); } - if (input.PermissionModel !== undefined) { - entries["PermissionModel"] = input.PermissionModel; + if (input.ClientRequestToken === undefined) { + input.ClientRequestToken = generateIdempotencyToken(); + } + if (input.ClientRequestToken !== undefined) { + entries["ClientRequestToken"] = input.ClientRequestToken; + } + if (input.AdministrationRoleARN !== undefined) { + entries["AdministrationRoleARN"] = input.AdministrationRoleARN; } return entries; }; const serializeAws_queryDeleteChangeSetInput = (input: DeleteChangeSetInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.ChangeSetName !== undefined) { - entries["ChangeSetName"] = input.ChangeSetName; - } if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } + if (input.ChangeSetName !== undefined) { + entries["ChangeSetName"] = input.ChangeSetName; + } return entries; }; @@ -4983,9 +4983,6 @@ const serializeAws_queryDeleteStackInput = (input: DeleteStackInput, context: __ if (input.ClientRequestToken !== undefined) { entries["ClientRequestToken"] = input.ClientRequestToken; } - if (input.RoleARN !== undefined) { - entries["RoleARN"] = input.RoleARN; - } if (input.RetainResources !== undefined) { const memberEntries = serializeAws_queryRetainResources(input.RetainResources, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4996,6 +4993,9 @@ const serializeAws_queryDeleteStackInput = (input: DeleteStackInput, context: __ if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } + if (input.RoleARN !== undefined) { + entries["RoleARN"] = input.RoleARN; + } return entries; }; @@ -5004,30 +5004,26 @@ const serializeAws_queryDeleteStackInstancesInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.StackSetName !== undefined) { - entries["StackSetName"] = input.StackSetName; - } - if (input.Regions !== undefined) { - const memberEntries = serializeAws_queryRegionList(input.Regions, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Regions.${key}`; - entries[loc] = value; - }); - } - if (input.Accounts !== undefined) { - const memberEntries = serializeAws_queryAccountList(input.Accounts, context); + if (input.OperationPreferences !== undefined) { + const memberEntries = serializeAws_queryStackSetOperationPreferences(input.OperationPreferences, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Accounts.${key}`; + const loc = `OperationPreferences.${key}`; entries[loc] = value; }); } if (input.RetainStacks !== undefined) { entries["RetainStacks"] = input.RetainStacks; } - if (input.OperationPreferences !== undefined) { - const memberEntries = serializeAws_queryStackSetOperationPreferences(input.OperationPreferences, context); + if (input.OperationId === undefined) { + input.OperationId = generateIdempotencyToken(); + } + if (input.OperationId !== undefined) { + entries["OperationId"] = input.OperationId; + } + if (input.Regions !== undefined) { + const memberEntries = serializeAws_queryRegionList(input.Regions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `OperationPreferences.${key}`; + const loc = `Regions.${key}`; entries[loc] = value; }); } @@ -5038,11 +5034,15 @@ const serializeAws_queryDeleteStackInstancesInput = ( entries[loc] = value; }); } - if (input.OperationId === undefined) { - input.OperationId = generateIdempotencyToken(); + if (input.Accounts !== undefined) { + const memberEntries = serializeAws_queryAccountList(input.Accounts, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Accounts.${key}`; + entries[loc] = value; + }); } - if (input.OperationId !== undefined) { - entries["OperationId"] = input.OperationId; + if (input.StackSetName !== undefined) { + entries["StackSetName"] = input.StackSetName; } return entries; }; @@ -5076,18 +5076,18 @@ const serializeAws_queryDeploymentTargets = (input: DeploymentTargets, context: const serializeAws_queryDeregisterTypeInput = (input: DeregisterTypeInput, context: __SerdeContext): any => { const entries: any = {}; + if (input.VersionId !== undefined) { + entries["VersionId"] = input.VersionId; + } + if (input.Type !== undefined) { + entries["Type"] = input.Type; + } if (input.Arn !== undefined) { entries["Arn"] = input.Arn; } if (input.TypeName !== undefined) { entries["TypeName"] = input.TypeName; } - if (input.Type !== undefined) { - entries["Type"] = input.Type; - } - if (input.VersionId !== undefined) { - entries["VersionId"] = input.VersionId; - } return entries; }; @@ -5104,15 +5104,15 @@ const serializeAws_queryDescribeAccountLimitsInput = ( const serializeAws_queryDescribeChangeSetInput = (input: DescribeChangeSetInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.ChangeSetName !== undefined) { - entries["ChangeSetName"] = input.ChangeSetName; - } if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.ChangeSetName !== undefined) { + entries["ChangeSetName"] = input.ChangeSetName; + } return entries; }; @@ -5129,12 +5129,12 @@ const serializeAws_queryDescribeStackDriftDetectionStatusInput = ( const serializeAws_queryDescribeStackEventsInput = (input: DescribeStackEventsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -5146,12 +5146,12 @@ const serializeAws_queryDescribeStackInstanceInput = ( if (input.StackSetName !== undefined) { entries["StackSetName"] = input.StackSetName; } - if (input.StackInstanceAccount !== undefined) { - entries["StackInstanceAccount"] = input.StackInstanceAccount; - } if (input.StackInstanceRegion !== undefined) { entries["StackInstanceRegion"] = input.StackInstanceRegion; } + if (input.StackInstanceAccount !== undefined) { + entries["StackInstanceAccount"] = input.StackInstanceAccount; + } return entries; }; @@ -5160,6 +5160,9 @@ const serializeAws_queryDescribeStackResourceDriftsInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.StackResourceDriftStatusFilters !== undefined) { const memberEntries = serializeAws_queryStackResourceDriftStatusFilters( input.StackResourceDriftStatusFilters, @@ -5173,9 +5176,6 @@ const serializeAws_queryDescribeStackResourceDriftsInput = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } @@ -5201,12 +5201,12 @@ const serializeAws_queryDescribeStackResourcesInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PhysicalResourceId !== undefined) { - entries["PhysicalResourceId"] = input.PhysicalResourceId; - } if (input.LogicalResourceId !== undefined) { entries["LogicalResourceId"] = input.LogicalResourceId; } + if (input.PhysicalResourceId !== undefined) { + entries["PhysicalResourceId"] = input.PhysicalResourceId; + } if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } @@ -5237,29 +5237,29 @@ const serializeAws_queryDescribeStackSetOperationInput = ( const serializeAws_queryDescribeStacksInput = (input: DescribeStacksInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.StackName !== undefined) { - entries["StackName"] = input.StackName; - } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.StackName !== undefined) { + entries["StackName"] = input.StackName; + } return entries; }; const serializeAws_queryDescribeTypeInput = (input: DescribeTypeInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.TypeName !== undefined) { - entries["TypeName"] = input.TypeName; - } - if (input.Arn !== undefined) { - entries["Arn"] = input.Arn; - } if (input.VersionId !== undefined) { entries["VersionId"] = input.VersionId; } if (input.Type !== undefined) { entries["Type"] = input.Type; } + if (input.Arn !== undefined) { + entries["Arn"] = input.Arn; + } + if (input.TypeName !== undefined) { + entries["TypeName"] = input.TypeName; + } return entries; }; @@ -5294,26 +5294,26 @@ const serializeAws_queryDetectStackResourceDriftInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.StackName !== undefined) { - entries["StackName"] = input.StackName; - } if (input.LogicalResourceId !== undefined) { entries["LogicalResourceId"] = input.LogicalResourceId; } + if (input.StackName !== undefined) { + entries["StackName"] = input.StackName; + } return entries; }; const serializeAws_queryDetectStackSetDriftInput = (input: DetectStackSetDriftInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.StackSetName !== undefined) { - entries["StackSetName"] = input.StackSetName; - } if (input.OperationId === undefined) { input.OperationId = generateIdempotencyToken(); } if (input.OperationId !== undefined) { entries["OperationId"] = input.OperationId; } + if (input.StackSetName !== undefined) { + entries["StackSetName"] = input.StackSetName; + } if (input.OperationPreferences !== undefined) { const memberEntries = serializeAws_queryStackSetOperationPreferences(input.OperationPreferences, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5347,15 +5347,15 @@ const serializeAws_queryEstimateTemplateCostInput = ( const serializeAws_queryExecuteChangeSetInput = (input: ExecuteChangeSetInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.ClientRequestToken !== undefined) { - entries["ClientRequestToken"] = input.ClientRequestToken; - } if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } if (input.ChangeSetName !== undefined) { entries["ChangeSetName"] = input.ChangeSetName; } + if (input.ClientRequestToken !== undefined) { + entries["ClientRequestToken"] = input.ClientRequestToken; + } return entries; }; @@ -5369,43 +5369,43 @@ const serializeAws_queryGetStackPolicyInput = (input: GetStackPolicyInput, conte const serializeAws_queryGetTemplateInput = (input: GetTemplateInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.StackName !== undefined) { - entries["StackName"] = input.StackName; + if (input.ChangeSetName !== undefined) { + entries["ChangeSetName"] = input.ChangeSetName; } if (input.TemplateStage !== undefined) { entries["TemplateStage"] = input.TemplateStage; } - if (input.ChangeSetName !== undefined) { - entries["ChangeSetName"] = input.ChangeSetName; + if (input.StackName !== undefined) { + entries["StackName"] = input.StackName; } return entries; }; const serializeAws_queryGetTemplateSummaryInput = (input: GetTemplateSummaryInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.TemplateBody !== undefined) { - entries["TemplateBody"] = input.TemplateBody; - } - if (input.TemplateURL !== undefined) { - entries["TemplateURL"] = input.TemplateURL; + if (input.StackName !== undefined) { + entries["StackName"] = input.StackName; } if (input.StackSetName !== undefined) { entries["StackSetName"] = input.StackSetName; } - if (input.StackName !== undefined) { - entries["StackName"] = input.StackName; + if (input.TemplateURL !== undefined) { + entries["TemplateURL"] = input.TemplateURL; + } + if (input.TemplateBody !== undefined) { + entries["TemplateBody"] = input.TemplateBody; } return entries; }; const serializeAws_queryListChangeSetsInput = (input: ListChangeSetsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -5419,23 +5419,17 @@ const serializeAws_queryListExportsInput = (input: ListExportsInput, context: __ const serializeAws_queryListImportsInput = (input: ListImportsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.ExportName !== undefined) { - entries["ExportName"] = input.ExportName; - } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.ExportName !== undefined) { + entries["ExportName"] = input.ExportName; + } return entries; }; const serializeAws_queryListStackInstancesInput = (input: ListStackInstancesInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.StackInstanceAccount !== undefined) { - entries["StackInstanceAccount"] = input.StackInstanceAccount; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryStackInstanceFilters(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5443,15 +5437,21 @@ const serializeAws_queryListStackInstancesInput = (input: ListStackInstancesInpu entries[loc] = value; }); } + if (input.StackInstanceRegion !== undefined) { + entries["StackInstanceRegion"] = input.StackInstanceRegion; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.StackInstanceRegion !== undefined) { - entries["StackInstanceRegion"] = input.StackInstanceRegion; + if (input.StackInstanceAccount !== undefined) { + entries["StackInstanceAccount"] = input.StackInstanceAccount; } if (input.StackSetName !== undefined) { entries["StackSetName"] = input.StackSetName; } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } return entries; }; @@ -5471,17 +5471,17 @@ const serializeAws_queryListStackSetOperationResultsInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.StackSetName !== undefined) { entries["StackSetName"] = input.StackSetName; } + if (input.OperationId !== undefined) { + entries["OperationId"] = input.OperationId; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.OperationId !== undefined) { - entries["OperationId"] = input.OperationId; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } return entries; }; @@ -5491,26 +5491,26 @@ const serializeAws_queryListStackSetOperationsInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } if (input.StackSetName !== undefined) { entries["StackSetName"] = input.StackSetName; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } return entries; }; const serializeAws_queryListStackSetsInput = (input: ListStackSetsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.Status !== undefined) { entries["Status"] = input.Status; } @@ -5537,8 +5537,8 @@ const serializeAws_queryListTypeRegistrationsInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } if (input.TypeArn !== undefined) { entries["TypeArn"] = input.TypeArn; @@ -5546,48 +5546,51 @@ const serializeAws_queryListTypeRegistrationsInput = ( if (input.Type !== undefined) { entries["Type"] = input.Type; } - if (input.RegistrationStatusFilter !== undefined) { - entries["RegistrationStatusFilter"] = input.RegistrationStatusFilter; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } if (input.TypeName !== undefined) { entries["TypeName"] = input.TypeName; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.RegistrationStatusFilter !== undefined) { + entries["RegistrationStatusFilter"] = input.RegistrationStatusFilter; } return entries; }; const serializeAws_queryListTypesInput = (input: ListTypesInput, context: __SerdeContext): any => { const entries: any = {}; + if (input.Visibility !== undefined) { + entries["Visibility"] = input.Visibility; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.ProvisioningType !== undefined) { - entries["ProvisioningType"] = input.ProvisioningType; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } if (input.DeprecatedStatus !== undefined) { entries["DeprecatedStatus"] = input.DeprecatedStatus; } - if (input.Visibility !== undefined) { - entries["Visibility"] = input.Visibility; + if (input.ProvisioningType !== undefined) { + entries["ProvisioningType"] = input.ProvisioningType; } return entries; }; const serializeAws_queryListTypeVersionsInput = (input: ListTypeVersionsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.Arn !== undefined) { - entries["Arn"] = input.Arn; + if (input.DeprecatedStatus !== undefined) { + entries["DeprecatedStatus"] = input.DeprecatedStatus; } if (input.TypeName !== undefined) { entries["TypeName"] = input.TypeName; } - if (input.DeprecatedStatus !== undefined) { - entries["DeprecatedStatus"] = input.DeprecatedStatus; + if (input.Arn !== undefined) { + entries["Arn"] = input.Arn; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } if (input.Type !== undefined) { entries["Type"] = input.Type; @@ -5595,9 +5598,6 @@ const serializeAws_queryListTypeVersionsInput = (input: ListTypeVersionsInput, c if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } return entries; }; @@ -5644,15 +5644,15 @@ const serializeAws_queryOrganizationalUnitIdList = (input: string[], context: __ const serializeAws_queryParameter = (input: Parameter, context: __SerdeContext): any => { const entries: any = {}; - if (input.ParameterKey !== undefined) { - entries["ParameterKey"] = input.ParameterKey; - } if (input.ResolvedValue !== undefined) { entries["ResolvedValue"] = input.ResolvedValue; } if (input.ParameterValue !== undefined) { entries["ParameterValue"] = input.ParameterValue; } + if (input.ParameterKey !== undefined) { + entries["ParameterKey"] = input.ParameterKey; + } if (input.UsePreviousValue !== undefined) { entries["UsePreviousValue"] = input.UsePreviousValue; } @@ -5677,26 +5677,26 @@ const serializeAws_queryRecordHandlerProgressInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.BearerToken !== undefined) { - entries["BearerToken"] = input.BearerToken; + if (input.OperationStatus !== undefined) { + entries["OperationStatus"] = input.OperationStatus; } - if (input.CurrentOperationStatus !== undefined) { - entries["CurrentOperationStatus"] = input.CurrentOperationStatus; - } - if (input.ErrorCode !== undefined) { - entries["ErrorCode"] = input.ErrorCode; + if (input.StatusMessage !== undefined) { + entries["StatusMessage"] = input.StatusMessage; } if (input.ClientRequestToken !== undefined) { entries["ClientRequestToken"] = input.ClientRequestToken; } - if (input.OperationStatus !== undefined) { - entries["OperationStatus"] = input.OperationStatus; - } if (input.ResourceModel !== undefined) { entries["ResourceModel"] = input.ResourceModel; } - if (input.StatusMessage !== undefined) { - entries["StatusMessage"] = input.StatusMessage; + if (input.CurrentOperationStatus !== undefined) { + entries["CurrentOperationStatus"] = input.CurrentOperationStatus; + } + if (input.BearerToken !== undefined) { + entries["BearerToken"] = input.BearerToken; + } + if (input.ErrorCode !== undefined) { + entries["ErrorCode"] = input.ErrorCode; } return entries; }; @@ -5713,14 +5713,20 @@ const serializeAws_queryRegionList = (input: string[], context: __SerdeContext): const serializeAws_queryRegisterTypeInput = (input: RegisterTypeInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.ExecutionRoleArn !== undefined) { - entries["ExecutionRoleArn"] = input.ExecutionRoleArn; + if (input.SchemaHandlerPackage !== undefined) { + entries["SchemaHandlerPackage"] = input.SchemaHandlerPackage; + } + if (input.TypeName !== undefined) { + entries["TypeName"] = input.TypeName; } if (input.ClientRequestToken !== undefined) { entries["ClientRequestToken"] = input.ClientRequestToken; } - if (input.TypeName !== undefined) { - entries["TypeName"] = input.TypeName; + if (input.ExecutionRoleArn !== undefined) { + entries["ExecutionRoleArn"] = input.ExecutionRoleArn; + } + if (input.Type !== undefined) { + entries["Type"] = input.Type; } if (input.LoggingConfig !== undefined) { const memberEntries = serializeAws_queryLoggingConfig(input.LoggingConfig, context); @@ -5729,12 +5735,6 @@ const serializeAws_queryRegisterTypeInput = (input: RegisterTypeInput, context: entries[loc] = value; }); } - if (input.Type !== undefined) { - entries["Type"] = input.Type; - } - if (input.SchemaHandlerPackage !== undefined) { - entries["SchemaHandlerPackage"] = input.SchemaHandlerPackage; - } return entries; }; @@ -5777,6 +5777,9 @@ const serializeAws_queryResourcesToSkip = (input: string[], context: __SerdeCont const serializeAws_queryResourceToImport = (input: ResourceToImport, context: __SerdeContext): any => { const entries: any = {}; + if (input.ResourceType !== undefined) { + entries["ResourceType"] = input.ResourceType; + } if (input.LogicalResourceId !== undefined) { entries["LogicalResourceId"] = input.LogicalResourceId; } @@ -5787,9 +5790,6 @@ const serializeAws_queryResourceToImport = (input: ResourceToImport, context: __ entries[loc] = value; }); } - if (input.ResourceType !== undefined) { - entries["ResourceType"] = input.ResourceType; - } return entries; }; @@ -5815,6 +5815,9 @@ const serializeAws_queryRetainResources = (input: string[], context: __SerdeCont const serializeAws_queryRollbackConfiguration = (input: RollbackConfiguration, context: __SerdeContext): any => { const entries: any = {}; + if (input.MonitoringTimeInMinutes !== undefined) { + entries["MonitoringTimeInMinutes"] = input.MonitoringTimeInMinutes; + } if (input.RollbackTriggers !== undefined) { const memberEntries = serializeAws_queryRollbackTriggers(input.RollbackTriggers, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5822,20 +5825,17 @@ const serializeAws_queryRollbackConfiguration = (input: RollbackConfiguration, c entries[loc] = value; }); } - if (input.MonitoringTimeInMinutes !== undefined) { - entries["MonitoringTimeInMinutes"] = input.MonitoringTimeInMinutes; - } return entries; }; const serializeAws_queryRollbackTrigger = (input: RollbackTrigger, context: __SerdeContext): any => { const entries: any = {}; - if (input.Type !== undefined) { - entries["Type"] = input.Type; - } if (input.Arn !== undefined) { entries["Arn"] = input.Arn; } + if (input.Type !== undefined) { + entries["Type"] = input.Type; + } return entries; }; @@ -5854,15 +5854,15 @@ const serializeAws_queryRollbackTriggers = (input: RollbackTrigger[], context: _ const serializeAws_querySetStackPolicyInput = (input: SetStackPolicyInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.StackPolicyBody !== undefined) { - entries["StackPolicyBody"] = input.StackPolicyBody; - } if (input.StackPolicyURL !== undefined) { entries["StackPolicyURL"] = input.StackPolicyURL; } if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } + if (input.StackPolicyBody !== undefined) { + entries["StackPolicyBody"] = input.StackPolicyBody; + } return entries; }; @@ -5871,34 +5871,34 @@ const serializeAws_querySetTypeDefaultVersionInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Arn !== undefined) { - entries["Arn"] = input.Arn; + if (input.Type !== undefined) { + entries["Type"] = input.Type; } if (input.TypeName !== undefined) { entries["TypeName"] = input.TypeName; } + if (input.Arn !== undefined) { + entries["Arn"] = input.Arn; + } if (input.VersionId !== undefined) { entries["VersionId"] = input.VersionId; } - if (input.Type !== undefined) { - entries["Type"] = input.Type; - } return entries; }; const serializeAws_querySignalResourceInput = (input: SignalResourceInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.StackName !== undefined) { - entries["StackName"] = input.StackName; - } - if (input.LogicalResourceId !== undefined) { - entries["LogicalResourceId"] = input.LogicalResourceId; + if (input.UniqueId !== undefined) { + entries["UniqueId"] = input.UniqueId; } if (input.Status !== undefined) { entries["Status"] = input.Status; } - if (input.UniqueId !== undefined) { - entries["UniqueId"] = input.UniqueId; + if (input.LogicalResourceId !== undefined) { + entries["LogicalResourceId"] = input.LogicalResourceId; + } + if (input.StackName !== undefined) { + entries["StackName"] = input.StackName; } return entries; }; @@ -5948,6 +5948,15 @@ const serializeAws_queryStackSetOperationPreferences = ( if (input.MaxConcurrentCount !== undefined) { entries["MaxConcurrentCount"] = input.MaxConcurrentCount; } + if (input.MaxConcurrentPercentage !== undefined) { + entries["MaxConcurrentPercentage"] = input.MaxConcurrentPercentage; + } + if (input.FailureTolerancePercentage !== undefined) { + entries["FailureTolerancePercentage"] = input.FailureTolerancePercentage; + } + if (input.FailureToleranceCount !== undefined) { + entries["FailureToleranceCount"] = input.FailureToleranceCount; + } if (input.RegionOrder !== undefined) { const memberEntries = serializeAws_queryRegionList(input.RegionOrder, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5955,15 +5964,6 @@ const serializeAws_queryStackSetOperationPreferences = ( entries[loc] = value; }); } - if (input.FailureToleranceCount !== undefined) { - entries["FailureToleranceCount"] = input.FailureToleranceCount; - } - if (input.FailureTolerancePercentage !== undefined) { - entries["FailureTolerancePercentage"] = input.FailureTolerancePercentage; - } - if (input.MaxConcurrentPercentage !== undefined) { - entries["MaxConcurrentPercentage"] = input.MaxConcurrentPercentage; - } return entries; }; @@ -5993,12 +5993,12 @@ const serializeAws_queryStopStackSetOperationInput = ( const serializeAws_queryTag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Key !== undefined) { entries["Key"] = input.Key; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -6017,61 +6017,48 @@ const serializeAws_queryTags = (input: Tag[], context: __SerdeContext): any => { const serializeAws_queryUpdateStackInput = (input: UpdateStackInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.StackName !== undefined) { - entries["StackName"] = input.StackName; - } - if (input.StackPolicyDuringUpdateURL !== undefined) { - entries["StackPolicyDuringUpdateURL"] = input.StackPolicyDuringUpdateURL; - } - if (input.StackPolicyBody !== undefined) { - entries["StackPolicyBody"] = input.StackPolicyBody; + if (input.UsePreviousTemplate !== undefined) { + entries["UsePreviousTemplate"] = input.UsePreviousTemplate; } - if (input.TemplateBody !== undefined) { - entries["TemplateBody"] = input.TemplateBody; + if (input.RoleARN !== undefined) { + entries["RoleARN"] = input.RoleARN; } - if (input.ResourceTypes !== undefined) { - const memberEntries = serializeAws_queryResourceTypes(input.ResourceTypes, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResourceTypes.${key}`; - entries[loc] = value; - }); + if (input.StackPolicyURL !== undefined) { + entries["StackPolicyURL"] = input.StackPolicyURL; } - if (input.RollbackConfiguration !== undefined) { - const memberEntries = serializeAws_queryRollbackConfiguration(input.RollbackConfiguration, context); + if (input.NotificationARNs !== undefined) { + const memberEntries = serializeAws_queryNotificationARNs(input.NotificationARNs, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `RollbackConfiguration.${key}`; + const loc = `NotificationARNs.${key}`; entries[loc] = value; }); } - if (input.UsePreviousTemplate !== undefined) { - entries["UsePreviousTemplate"] = input.UsePreviousTemplate; - } - if (input.RoleARN !== undefined) { - entries["RoleARN"] = input.RoleARN; - } if (input.StackPolicyDuringUpdateBody !== undefined) { entries["StackPolicyDuringUpdateBody"] = input.StackPolicyDuringUpdateBody; } - if (input.Parameters !== undefined) { - const memberEntries = serializeAws_queryParameters(input.Parameters, context); + if (input.StackName !== undefined) { + entries["StackName"] = input.StackName; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTags(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Parameters.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.StackPolicyURL !== undefined) { - entries["StackPolicyURL"] = input.StackPolicyURL; - } - if (input.NotificationARNs !== undefined) { - const memberEntries = serializeAws_queryNotificationARNs(input.NotificationARNs, context); + if (input.RollbackConfiguration !== undefined) { + const memberEntries = serializeAws_queryRollbackConfiguration(input.RollbackConfiguration, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NotificationARNs.${key}`; + const loc = `RollbackConfiguration.${key}`; entries[loc] = value; }); } if (input.TemplateURL !== undefined) { entries["TemplateURL"] = input.TemplateURL; } + if (input.ClientRequestToken !== undefined) { + entries["ClientRequestToken"] = input.ClientRequestToken; + } if (input.Capabilities !== undefined) { const memberEntries = serializeAws_queryCapabilities(input.Capabilities, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6079,16 +6066,29 @@ const serializeAws_queryUpdateStackInput = (input: UpdateStackInput, context: __ entries[loc] = value; }); } - if (input.ClientRequestToken !== undefined) { - entries["ClientRequestToken"] = input.ClientRequestToken; + if (input.StackPolicyDuringUpdateURL !== undefined) { + entries["StackPolicyDuringUpdateURL"] = input.StackPolicyDuringUpdateURL; } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTags(input.Tags, context); + if (input.ResourceTypes !== undefined) { + const memberEntries = serializeAws_queryResourceTypes(input.ResourceTypes, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `ResourceTypes.${key}`; + entries[loc] = value; + }); + } + if (input.Parameters !== undefined) { + const memberEntries = serializeAws_queryParameters(input.Parameters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Parameters.${key}`; entries[loc] = value; }); } + if (input.TemplateBody !== undefined) { + entries["TemplateBody"] = input.TemplateBody; + } + if (input.StackPolicyBody !== undefined) { + entries["StackPolicyBody"] = input.StackPolicyBody; + } return entries; }; @@ -6097,6 +6097,16 @@ const serializeAws_queryUpdateStackInstancesInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.StackSetName !== undefined) { + entries["StackSetName"] = input.StackSetName; + } + if (input.Regions !== undefined) { + const memberEntries = serializeAws_queryRegionList(input.Regions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Regions.${key}`; + entries[loc] = value; + }); + } if (input.ParameterOverrides !== undefined) { const memberEntries = serializeAws_queryParameters(input.ParameterOverrides, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6104,6 +6114,12 @@ const serializeAws_queryUpdateStackInstancesInput = ( entries[loc] = value; }); } + if (input.OperationId === undefined) { + input.OperationId = generateIdempotencyToken(); + } + if (input.OperationId !== undefined) { + entries["OperationId"] = input.OperationId; + } if (input.OperationPreferences !== undefined) { const memberEntries = serializeAws_queryStackSetOperationPreferences(input.OperationPreferences, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6111,74 +6127,63 @@ const serializeAws_queryUpdateStackInstancesInput = ( entries[loc] = value; }); } - if (input.DeploymentTargets !== undefined) { - const memberEntries = serializeAws_queryDeploymentTargets(input.DeploymentTargets, context); + if (input.Accounts !== undefined) { + const memberEntries = serializeAws_queryAccountList(input.Accounts, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DeploymentTargets.${key}`; + const loc = `Accounts.${key}`; entries[loc] = value; }); } - if (input.Regions !== undefined) { - const memberEntries = serializeAws_queryRegionList(input.Regions, context); + if (input.DeploymentTargets !== undefined) { + const memberEntries = serializeAws_queryDeploymentTargets(input.DeploymentTargets, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Regions.${key}`; + const loc = `DeploymentTargets.${key}`; entries[loc] = value; }); } + return entries; +}; + +const serializeAws_queryUpdateStackSetInput = (input: UpdateStackSetInput, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } if (input.StackSetName !== undefined) { entries["StackSetName"] = input.StackSetName; } - if (input.Accounts !== undefined) { - const memberEntries = serializeAws_queryAccountList(input.Accounts, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Accounts.${key}`; - entries[loc] = value; - }); - } if (input.OperationId === undefined) { input.OperationId = generateIdempotencyToken(); } if (input.OperationId !== undefined) { entries["OperationId"] = input.OperationId; } - return entries; -}; - -const serializeAws_queryUpdateStackSetInput = (input: UpdateStackSetInput, context: __SerdeContext): any => { - const entries: any = {}; + if (input.UsePreviousTemplate !== undefined) { + entries["UsePreviousTemplate"] = input.UsePreviousTemplate; + } if (input.TemplateBody !== undefined) { entries["TemplateBody"] = input.TemplateBody; } - if (input.PermissionModel !== undefined) { - entries["PermissionModel"] = input.PermissionModel; - } - if (input.OperationId === undefined) { - input.OperationId = generateIdempotencyToken(); + if (input.AdministrationRoleARN !== undefined) { + entries["AdministrationRoleARN"] = input.AdministrationRoleARN; } - if (input.OperationId !== undefined) { - entries["OperationId"] = input.OperationId; + if (input.TemplateURL !== undefined) { + entries["TemplateURL"] = input.TemplateURL; } - if (input.Accounts !== undefined) { - const memberEntries = serializeAws_queryAccountList(input.Accounts, context); + if (input.Parameters !== undefined) { + const memberEntries = serializeAws_queryParameters(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Accounts.${key}`; + const loc = `Parameters.${key}`; entries[loc] = value; }); } - if (input.AutoDeployment !== undefined) { - const memberEntries = serializeAws_queryAutoDeployment(input.AutoDeployment, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AutoDeployment.${key}`; - entries[loc] = value; - }); - } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.ExecutionRoleName !== undefined) { + entries["ExecutionRoleName"] = input.ExecutionRoleName; } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTags(input.Tags, context); + if (input.Regions !== undefined) { + const memberEntries = serializeAws_queryRegionList(input.Regions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `Regions.${key}`; entries[loc] = value; }); } @@ -6189,29 +6194,10 @@ const serializeAws_queryUpdateStackSetInput = (input: UpdateStackSetInput, conte entries[loc] = value; }); } - if (input.TemplateURL !== undefined) { - entries["TemplateURL"] = input.TemplateURL; - } - if (input.ExecutionRoleName !== undefined) { - entries["ExecutionRoleName"] = input.ExecutionRoleName; - } - if (input.AdministrationRoleARN !== undefined) { - entries["AdministrationRoleARN"] = input.AdministrationRoleARN; - } - if (input.StackSetName !== undefined) { - entries["StackSetName"] = input.StackSetName; - } - if (input.Regions !== undefined) { - const memberEntries = serializeAws_queryRegionList(input.Regions, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Regions.${key}`; - entries[loc] = value; - }); - } - if (input.Parameters !== undefined) { - const memberEntries = serializeAws_queryParameters(input.Parameters, context); + if (input.AutoDeployment !== undefined) { + const memberEntries = serializeAws_queryAutoDeployment(input.AutoDeployment, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Parameters.${key}`; + const loc = `AutoDeployment.${key}`; entries[loc] = value; }); } @@ -6222,9 +6208,6 @@ const serializeAws_queryUpdateStackSetInput = (input: UpdateStackSetInput, conte entries[loc] = value; }); } - if (input.UsePreviousTemplate !== undefined) { - entries["UsePreviousTemplate"] = input.UsePreviousTemplate; - } if (input.DeploymentTargets !== undefined) { const memberEntries = serializeAws_queryDeploymentTargets(input.DeploymentTargets, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6232,6 +6215,23 @@ const serializeAws_queryUpdateStackSetInput = (input: UpdateStackSetInput, conte entries[loc] = value; }); } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTags(input.Tags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); + } + if (input.Accounts !== undefined) { + const memberEntries = serializeAws_queryAccountList(input.Accounts, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Accounts.${key}`; + entries[loc] = value; + }); + } + if (input.PermissionModel !== undefined) { + entries["PermissionModel"] = input.PermissionModel; + } return entries; }; @@ -6240,37 +6240,37 @@ const serializeAws_queryUpdateTerminationProtectionInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EnableTerminationProtection !== undefined) { - entries["EnableTerminationProtection"] = input.EnableTerminationProtection; - } if (input.StackName !== undefined) { entries["StackName"] = input.StackName; } + if (input.EnableTerminationProtection !== undefined) { + entries["EnableTerminationProtection"] = input.EnableTerminationProtection; + } return entries; }; const serializeAws_queryValidateTemplateInput = (input: ValidateTemplateInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.TemplateURL !== undefined) { - entries["TemplateURL"] = input.TemplateURL; - } if (input.TemplateBody !== undefined) { entries["TemplateBody"] = input.TemplateBody; } + if (input.TemplateURL !== undefined) { + entries["TemplateURL"] = input.TemplateURL; + } return entries; }; const deserializeAws_queryAccountGateResult = (output: any, context: __SerdeContext): AccountGateResult => { let contents: any = { - StatusReason: undefined, Status: undefined, + StatusReason: undefined, }; - if (output["StatusReason"] !== undefined) { - contents.StatusReason = output["StatusReason"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["StatusReason"] !== undefined) { + contents.StatusReason = output["StatusReason"]; + } return contents; }; @@ -6375,42 +6375,42 @@ const deserializeAws_queryChangeSetSummaries = (output: any, context: __SerdeCon const deserializeAws_queryChangeSetSummary = (output: any, context: __SerdeContext): ChangeSetSummary => { let contents: any = { - Status: undefined, - StatusReason: undefined, - Description: undefined, - ChangeSetId: undefined, + CreationTime: undefined, ExecutionStatus: undefined, - ChangeSetName: undefined, + Description: undefined, StackName: undefined, StackId: undefined, - CreationTime: undefined, + ChangeSetName: undefined, + ChangeSetId: undefined, + StatusReason: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["CreationTime"] !== undefined) { + contents.CreationTime = new Date(output["CreationTime"]); } - if (output["StatusReason"] !== undefined) { - contents.StatusReason = output["StatusReason"]; + if (output["ExecutionStatus"] !== undefined) { + contents.ExecutionStatus = output["ExecutionStatus"]; } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output["ChangeSetId"] !== undefined) { - contents.ChangeSetId = output["ChangeSetId"]; + if (output["StackName"] !== undefined) { + contents.StackName = output["StackName"]; } - if (output["ExecutionStatus"] !== undefined) { - contents.ExecutionStatus = output["ExecutionStatus"]; + if (output["StackId"] !== undefined) { + contents.StackId = output["StackId"]; } if (output["ChangeSetName"] !== undefined) { contents.ChangeSetName = output["ChangeSetName"]; } - if (output["StackName"] !== undefined) { - contents.StackName = output["StackName"]; + if (output["ChangeSetId"] !== undefined) { + contents.ChangeSetId = output["ChangeSetId"]; } - if (output["StackId"] !== undefined) { - contents.StackId = output["StackId"]; + if (output["StatusReason"] !== undefined) { + contents.StatusReason = output["StatusReason"]; } - if (output["CreationTime"] !== undefined) { - contents.CreationTime = new Date(output["CreationTime"]); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; @@ -6539,12 +6539,9 @@ const deserializeAws_queryDescribeAccountLimitsOutput = ( context: __SerdeContext ): DescribeAccountLimitsOutput => { let contents: any = { - NextToken: undefined, AccountLimits: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.AccountLimits === "") { contents.AccountLimits = []; } @@ -6554,34 +6551,40 @@ const deserializeAws_queryDescribeAccountLimitsOutput = ( context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; const deserializeAws_queryDescribeChangeSetOutput = (output: any, context: __SerdeContext): DescribeChangeSetOutput => { let contents: any = { - Parameters: undefined, - Changes: undefined, - Status: undefined, - StackName: undefined, - StackId: undefined, CreationTime: undefined, - Description: undefined, - Capabilities: undefined, - Tags: undefined, - RollbackConfiguration: undefined, - ChangeSetName: undefined, - StatusReason: undefined, - NextToken: undefined, NotificationARNs: undefined, + Changes: undefined, + Capabilities: undefined, ChangeSetId: undefined, + Parameters: undefined, + ChangeSetName: undefined, ExecutionStatus: undefined, + NextToken: undefined, + RollbackConfiguration: undefined, + StatusReason: undefined, + Tags: undefined, + Status: undefined, + Description: undefined, + StackName: undefined, + StackId: undefined, }; - if (output.Parameters === "") { - contents.Parameters = []; + if (output["CreationTime"] !== undefined) { + contents.CreationTime = new Date(output["CreationTime"]); } - if (output["Parameters"] !== undefined && output["Parameters"]["member"] !== undefined) { - contents.Parameters = deserializeAws_queryParameters( - __getArrayIfSingleItem(output["Parameters"]["member"]), + if (output.NotificationARNs === "") { + contents.NotificationARNs = []; + } + if (output["NotificationARNs"] !== undefined && output["NotificationARNs"]["member"] !== undefined) { + contents.NotificationARNs = deserializeAws_queryNotificationARNs( + __getArrayIfSingleItem(output["NotificationARNs"]["member"]), context ); } @@ -6591,21 +6594,6 @@ const deserializeAws_queryDescribeChangeSetOutput = (output: any, context: __Ser if (output["Changes"] !== undefined && output["Changes"]["member"] !== undefined) { contents.Changes = deserializeAws_queryChanges(__getArrayIfSingleItem(output["Changes"]["member"]), context); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["StackName"] !== undefined) { - contents.StackName = output["StackName"]; - } - if (output["StackId"] !== undefined) { - contents.StackId = output["StackId"]; - } - if (output["CreationTime"] !== undefined) { - contents.CreationTime = new Date(output["CreationTime"]); - } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output.Capabilities === "") { contents.Capabilities = []; } @@ -6615,41 +6603,53 @@ const deserializeAws_queryDescribeChangeSetOutput = (output: any, context: __Ser context ); } - if (output.Tags === "") { - contents.Tags = []; + if (output["ChangeSetId"] !== undefined) { + contents.ChangeSetId = output["ChangeSetId"]; } - if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { - contents.Tags = deserializeAws_queryTags(__getArrayIfSingleItem(output["Tags"]["member"]), context); + if (output.Parameters === "") { + contents.Parameters = []; } - if (output["RollbackConfiguration"] !== undefined) { - contents.RollbackConfiguration = deserializeAws_queryRollbackConfiguration( - output["RollbackConfiguration"], + if (output["Parameters"] !== undefined && output["Parameters"]["member"] !== undefined) { + contents.Parameters = deserializeAws_queryParameters( + __getArrayIfSingleItem(output["Parameters"]["member"]), context ); } if (output["ChangeSetName"] !== undefined) { contents.ChangeSetName = output["ChangeSetName"]; } - if (output["StatusReason"] !== undefined) { - contents.StatusReason = output["StatusReason"]; + if (output["ExecutionStatus"] !== undefined) { + contents.ExecutionStatus = output["ExecutionStatus"]; } if (output["NextToken"] !== undefined) { contents.NextToken = output["NextToken"]; } - if (output.NotificationARNs === "") { - contents.NotificationARNs = []; - } - if (output["NotificationARNs"] !== undefined && output["NotificationARNs"]["member"] !== undefined) { - contents.NotificationARNs = deserializeAws_queryNotificationARNs( - __getArrayIfSingleItem(output["NotificationARNs"]["member"]), + if (output["RollbackConfiguration"] !== undefined) { + contents.RollbackConfiguration = deserializeAws_queryRollbackConfiguration( + output["RollbackConfiguration"], context ); } - if (output["ChangeSetId"] !== undefined) { - contents.ChangeSetId = output["ChangeSetId"]; + if (output["StatusReason"] !== undefined) { + contents.StatusReason = output["StatusReason"]; } - if (output["ExecutionStatus"] !== undefined) { - contents.ExecutionStatus = output["ExecutionStatus"]; + if (output.Tags === "") { + contents.Tags = []; + } + if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { + contents.Tags = deserializeAws_queryTags(__getArrayIfSingleItem(output["Tags"]["member"]), context); + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["StackName"] !== undefined) { + contents.StackName = output["StackName"]; + } + if (output["StackId"] !== undefined) { + contents.StackId = output["StackId"]; } return contents; }; @@ -6659,34 +6659,34 @@ const deserializeAws_queryDescribeStackDriftDetectionStatusOutput = ( context: __SerdeContext ): DescribeStackDriftDetectionStatusOutput => { let contents: any = { - Timestamp: undefined, + StackDriftStatus: undefined, + DetectionStatusReason: undefined, DetectionStatus: undefined, + Timestamp: undefined, StackId: undefined, - StackDriftStatus: undefined, - StackDriftDetectionId: undefined, DriftedStackResourceCount: undefined, - DetectionStatusReason: undefined, + StackDriftDetectionId: undefined, }; - if (output["Timestamp"] !== undefined) { - contents.Timestamp = new Date(output["Timestamp"]); + if (output["StackDriftStatus"] !== undefined) { + contents.StackDriftStatus = output["StackDriftStatus"]; + } + if (output["DetectionStatusReason"] !== undefined) { + contents.DetectionStatusReason = output["DetectionStatusReason"]; } if (output["DetectionStatus"] !== undefined) { contents.DetectionStatus = output["DetectionStatus"]; } + if (output["Timestamp"] !== undefined) { + contents.Timestamp = new Date(output["Timestamp"]); + } if (output["StackId"] !== undefined) { contents.StackId = output["StackId"]; } - if (output["StackDriftStatus"] !== undefined) { - contents.StackDriftStatus = output["StackDriftStatus"]; - } - if (output["StackDriftDetectionId"] !== undefined) { - contents.StackDriftDetectionId = output["StackDriftDetectionId"]; - } if (output["DriftedStackResourceCount"] !== undefined) { contents.DriftedStackResourceCount = parseInt(output["DriftedStackResourceCount"]); } - if (output["DetectionStatusReason"] !== undefined) { - contents.DetectionStatusReason = output["DetectionStatusReason"]; + if (output["StackDriftDetectionId"] !== undefined) { + contents.StackDriftDetectionId = output["StackDriftDetectionId"]; } return contents; }; @@ -6696,12 +6696,9 @@ const deserializeAws_queryDescribeStackEventsOutput = ( context: __SerdeContext ): DescribeStackEventsOutput => { let contents: any = { - NextToken: undefined, StackEvents: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.StackEvents === "") { contents.StackEvents = []; } @@ -6711,6 +6708,9 @@ const deserializeAws_queryDescribeStackEventsOutput = ( context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -6732,9 +6732,12 @@ const deserializeAws_queryDescribeStackResourceDriftsOutput = ( context: __SerdeContext ): DescribeStackResourceDriftsOutput => { let contents: any = { - StackResourceDrifts: undefined, NextToken: undefined, + StackResourceDrifts: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.StackResourceDrifts === "") { contents.StackResourceDrifts = []; } @@ -6744,9 +6747,6 @@ const deserializeAws_queryDescribeStackResourceDriftsOutput = ( context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -6807,87 +6807,87 @@ const deserializeAws_queryDescribeStackSetOutput = (output: any, context: __Serd const deserializeAws_queryDescribeStacksOutput = (output: any, context: __SerdeContext): DescribeStacksOutput => { let contents: any = { - NextToken: undefined, Stacks: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.Stacks === "") { contents.Stacks = []; } if (output["Stacks"] !== undefined && output["Stacks"]["member"] !== undefined) { contents.Stacks = deserializeAws_queryStacks(__getArrayIfSingleItem(output["Stacks"]["member"]), context); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; const deserializeAws_queryDescribeTypeOutput = (output: any, context: __SerdeContext): DescribeTypeOutput => { let contents: any = { - DeprecatedStatus: undefined, - SourceUrl: undefined, - Description: undefined, - Arn: undefined, - DocumentationUrl: undefined, - TypeName: undefined, - Schema: undefined, - LastUpdated: undefined, Type: undefined, - TimeCreated: undefined, - ProvisioningType: undefined, + DefaultVersionId: undefined, + DocumentationUrl: undefined, ExecutionRoleArn: undefined, - Visibility: undefined, + Arn: undefined, + ProvisioningType: undefined, + Description: undefined, LoggingConfig: undefined, + LastUpdated: undefined, IsDefaultVersion: undefined, - DefaultVersionId: undefined, + Visibility: undefined, + SourceUrl: undefined, + TypeName: undefined, + DeprecatedStatus: undefined, + Schema: undefined, + TimeCreated: undefined, }; - if (output["DeprecatedStatus"] !== undefined) { - contents.DeprecatedStatus = output["DeprecatedStatus"]; + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; } - if (output["SourceUrl"] !== undefined) { - contents.SourceUrl = output["SourceUrl"]; + if (output["DefaultVersionId"] !== undefined) { + contents.DefaultVersionId = output["DefaultVersionId"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["DocumentationUrl"] !== undefined) { + contents.DocumentationUrl = output["DocumentationUrl"]; + } + if (output["ExecutionRoleArn"] !== undefined) { + contents.ExecutionRoleArn = output["ExecutionRoleArn"]; } if (output["Arn"] !== undefined) { contents.Arn = output["Arn"]; } - if (output["DocumentationUrl"] !== undefined) { - contents.DocumentationUrl = output["DocumentationUrl"]; + if (output["ProvisioningType"] !== undefined) { + contents.ProvisioningType = output["ProvisioningType"]; } - if (output["TypeName"] !== undefined) { - contents.TypeName = output["TypeName"]; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } - if (output["Schema"] !== undefined) { - contents.Schema = output["Schema"]; + if (output["LoggingConfig"] !== undefined) { + contents.LoggingConfig = deserializeAws_queryLoggingConfig(output["LoggingConfig"], context); } if (output["LastUpdated"] !== undefined) { contents.LastUpdated = new Date(output["LastUpdated"]); } - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; - } - if (output["TimeCreated"] !== undefined) { - contents.TimeCreated = new Date(output["TimeCreated"]); - } - if (output["ProvisioningType"] !== undefined) { - contents.ProvisioningType = output["ProvisioningType"]; - } - if (output["ExecutionRoleArn"] !== undefined) { - contents.ExecutionRoleArn = output["ExecutionRoleArn"]; + if (output["IsDefaultVersion"] !== undefined) { + contents.IsDefaultVersion = output["IsDefaultVersion"] == "true"; } if (output["Visibility"] !== undefined) { contents.Visibility = output["Visibility"]; } - if (output["LoggingConfig"] !== undefined) { - contents.LoggingConfig = deserializeAws_queryLoggingConfig(output["LoggingConfig"], context); + if (output["SourceUrl"] !== undefined) { + contents.SourceUrl = output["SourceUrl"]; } - if (output["IsDefaultVersion"] !== undefined) { - contents.IsDefaultVersion = output["IsDefaultVersion"] == "true"; + if (output["TypeName"] !== undefined) { + contents.TypeName = output["TypeName"]; } - if (output["DefaultVersionId"] !== undefined) { - contents.DefaultVersionId = output["DefaultVersionId"]; + if (output["DeprecatedStatus"] !== undefined) { + contents.DeprecatedStatus = output["DeprecatedStatus"]; + } + if (output["Schema"] !== undefined) { + contents.Schema = output["Schema"]; + } + if (output["TimeCreated"] !== undefined) { + contents.TimeCreated = new Date(output["TimeCreated"]); } return contents; }; @@ -6897,22 +6897,22 @@ const deserializeAws_queryDescribeTypeRegistrationOutput = ( context: __SerdeContext ): DescribeTypeRegistrationOutput => { let contents: any = { - Description: undefined, ProgressStatus: undefined, - TypeVersionArn: undefined, TypeArn: undefined, + TypeVersionArn: undefined, + Description: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["ProgressStatus"] !== undefined) { contents.ProgressStatus = output["ProgressStatus"]; } + if (output["TypeArn"] !== undefined) { + contents.TypeArn = output["TypeArn"]; + } if (output["TypeVersionArn"] !== undefined) { contents.TypeVersionArn = output["TypeVersionArn"]; } - if (output["TypeArn"] !== undefined) { - contents.TypeArn = output["TypeArn"]; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } return contents; }; @@ -6973,16 +6973,16 @@ const deserializeAws_queryExecuteChangeSetOutput = (output: any, context: __Serd const deserializeAws_queryExport = (output: any, context: __SerdeContext): Export => { let contents: any = { - Name: undefined, Value: undefined, + Name: undefined, ExportingStackId: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } if (output["ExportingStackId"] !== undefined) { contents.ExportingStackId = output["ExportingStackId"]; } @@ -7005,12 +7005,9 @@ const deserializeAws_queryGetStackPolicyOutput = (output: any, context: __SerdeC const deserializeAws_queryGetTemplateOutput = (output: any, context: __SerdeContext): GetTemplateOutput => { let contents: any = { - TemplateBody: undefined, StagesAvailable: undefined, + TemplateBody: undefined, }; - if (output["TemplateBody"] !== undefined) { - contents.TemplateBody = output["TemplateBody"]; - } if (output.StagesAvailable === "") { contents.StagesAvailable = []; } @@ -7020,6 +7017,9 @@ const deserializeAws_queryGetTemplateOutput = (output: any, context: __SerdeCont context ); } + if (output["TemplateBody"] !== undefined) { + contents.TemplateBody = output["TemplateBody"]; + } return contents; }; @@ -7028,16 +7028,34 @@ const deserializeAws_queryGetTemplateSummaryOutput = ( context: __SerdeContext ): GetTemplateSummaryOutput => { let contents: any = { + Parameters: undefined, + DeclaredTransforms: undefined, ResourceIdentifierSummaries: undefined, Version: undefined, - Metadata: undefined, Description: undefined, - DeclaredTransforms: undefined, + CapabilitiesReason: undefined, ResourceTypes: undefined, Capabilities: undefined, - CapabilitiesReason: undefined, - Parameters: undefined, + Metadata: undefined, }; + if (output.Parameters === "") { + contents.Parameters = []; + } + if (output["Parameters"] !== undefined && output["Parameters"]["member"] !== undefined) { + contents.Parameters = deserializeAws_queryParameterDeclarations( + __getArrayIfSingleItem(output["Parameters"]["member"]), + context + ); + } + if (output.DeclaredTransforms === "") { + contents.DeclaredTransforms = []; + } + if (output["DeclaredTransforms"] !== undefined && output["DeclaredTransforms"]["member"] !== undefined) { + contents.DeclaredTransforms = deserializeAws_queryTransformsList( + __getArrayIfSingleItem(output["DeclaredTransforms"]["member"]), + context + ); + } if (output.ResourceIdentifierSummaries === "") { contents.ResourceIdentifierSummaries = []; } @@ -7053,20 +7071,11 @@ const deserializeAws_queryGetTemplateSummaryOutput = ( if (output["Version"] !== undefined) { contents.Version = output["Version"]; } - if (output["Metadata"] !== undefined) { - contents.Metadata = output["Metadata"]; - } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output.DeclaredTransforms === "") { - contents.DeclaredTransforms = []; - } - if (output["DeclaredTransforms"] !== undefined && output["DeclaredTransforms"]["member"] !== undefined) { - contents.DeclaredTransforms = deserializeAws_queryTransformsList( - __getArrayIfSingleItem(output["DeclaredTransforms"]["member"]), - context - ); + if (output["CapabilitiesReason"] !== undefined) { + contents.CapabilitiesReason = output["CapabilitiesReason"]; } if (output.ResourceTypes === "") { contents.ResourceTypes = []; @@ -7086,17 +7095,8 @@ const deserializeAws_queryGetTemplateSummaryOutput = ( context ); } - if (output["CapabilitiesReason"] !== undefined) { - contents.CapabilitiesReason = output["CapabilitiesReason"]; - } - if (output.Parameters === "") { - contents.Parameters = []; - } - if (output["Parameters"] !== undefined && output["Parameters"]["member"] !== undefined) { - contents.Parameters = deserializeAws_queryParameterDeclarations( - __getArrayIfSingleItem(output["Parameters"]["member"]), - context - ); + if (output["Metadata"] !== undefined) { + contents.Metadata = output["Metadata"]; } return contents; }; @@ -7189,35 +7189,35 @@ const deserializeAws_queryListChangeSetsOutput = (output: any, context: __SerdeC const deserializeAws_queryListExportsOutput = (output: any, context: __SerdeContext): ListExportsOutput => { let contents: any = { - Exports: undefined, NextToken: undefined, + Exports: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.Exports === "") { contents.Exports = []; } if (output["Exports"] !== undefined && output["Exports"]["member"] !== undefined) { contents.Exports = deserializeAws_queryExports(__getArrayIfSingleItem(output["Exports"]["member"]), context); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; const deserializeAws_queryListImportsOutput = (output: any, context: __SerdeContext): ListImportsOutput => { let contents: any = { - NextToken: undefined, Imports: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.Imports === "") { contents.Imports = []; } if (output["Imports"] !== undefined && output["Imports"]["member"] !== undefined) { contents.Imports = deserializeAws_queryImports(__getArrayIfSingleItem(output["Imports"]["member"]), context); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -7226,12 +7226,9 @@ const deserializeAws_queryListStackInstancesOutput = ( context: __SerdeContext ): ListStackInstancesOutput => { let contents: any = { - NextToken: undefined, Summaries: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.Summaries === "") { contents.Summaries = []; } @@ -7241,6 +7238,9 @@ const deserializeAws_queryListStackInstancesOutput = ( context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -7249,12 +7249,9 @@ const deserializeAws_queryListStackResourcesOutput = ( context: __SerdeContext ): ListStackResourcesOutput => { let contents: any = { - NextToken: undefined, StackResourceSummaries: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.StackResourceSummaries === "") { contents.StackResourceSummaries = []; } @@ -7264,6 +7261,9 @@ const deserializeAws_queryListStackResourcesOutput = ( context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -7295,12 +7295,9 @@ const deserializeAws_queryListStackSetOperationsOutput = ( context: __SerdeContext ): ListStackSetOperationsOutput => { let contents: any = { - NextToken: undefined, Summaries: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.Summaries === "") { contents.Summaries = []; } @@ -7310,17 +7307,17 @@ const deserializeAws_queryListStackSetOperationsOutput = ( context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; const deserializeAws_queryListStackSetsOutput = (output: any, context: __SerdeContext): ListStackSetsOutput => { let contents: any = { - NextToken: undefined, Summaries: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.Summaries === "") { contents.Summaries = []; } @@ -7330,14 +7327,20 @@ const deserializeAws_queryListStackSetsOutput = (output: any, context: __SerdeCo context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; const deserializeAws_queryListStacksOutput = (output: any, context: __SerdeContext): ListStacksOutput => { let contents: any = { - StackSummaries: undefined, NextToken: undefined, + StackSummaries: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.StackSummaries === "") { contents.StackSummaries = []; } @@ -7347,9 +7350,6 @@ const deserializeAws_queryListStacksOutput = (output: any, context: __SerdeConte context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -7358,9 +7358,12 @@ const deserializeAws_queryListTypeRegistrationsOutput = ( context: __SerdeContext ): ListTypeRegistrationsOutput => { let contents: any = { - RegistrationTokenList: undefined, NextToken: undefined, + RegistrationTokenList: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.RegistrationTokenList === "") { contents.RegistrationTokenList = []; } @@ -7370,19 +7373,19 @@ const deserializeAws_queryListTypeRegistrationsOutput = ( context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; const deserializeAws_queryListTypesOutput = (output: any, context: __SerdeContext): ListTypesOutput => { let contents: any = { - TypeSummaries: undefined, NextToken: undefined, + TypeSummaries: undefined, }; - if (output.TypeSummaries === "") { - contents.TypeSummaries = []; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } + if (output.TypeSummaries === "") { + contents.TypeSummaries = []; } if (output["TypeSummaries"] !== undefined && output["TypeSummaries"]["member"] !== undefined) { contents.TypeSummaries = deserializeAws_queryTypeSummaries( @@ -7390,9 +7393,6 @@ const deserializeAws_queryListTypesOutput = (output: any, context: __SerdeContex context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -7509,23 +7509,23 @@ const deserializeAws_queryOrganizationalUnitIdList = (output: any, context: __Se const deserializeAws_queryOutput = (output: any, context: __SerdeContext): Output => { let contents: any = { - OutputValue: undefined, - OutputKey: undefined, ExportName: undefined, + OutputValue: undefined, Description: undefined, + OutputKey: undefined, }; - if (output["OutputValue"] !== undefined) { - contents.OutputValue = output["OutputValue"]; - } - if (output["OutputKey"] !== undefined) { - contents.OutputKey = output["OutputKey"]; - } if (output["ExportName"] !== undefined) { contents.ExportName = output["ExportName"]; } + if (output["OutputValue"] !== undefined) { + contents.OutputValue = output["OutputValue"]; + } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } + if (output["OutputKey"] !== undefined) { + contents.OutputKey = output["OutputKey"]; + } return contents; }; @@ -7535,20 +7535,20 @@ const deserializeAws_queryOutputs = (output: any, context: __SerdeContext): Outp const deserializeAws_queryParameter = (output: any, context: __SerdeContext): Parameter => { let contents: any = { - ParameterKey: undefined, ResolvedValue: undefined, ParameterValue: undefined, + ParameterKey: undefined, UsePreviousValue: undefined, }; - if (output["ParameterKey"] !== undefined) { - contents.ParameterKey = output["ParameterKey"]; - } if (output["ResolvedValue"] !== undefined) { contents.ResolvedValue = output["ResolvedValue"]; } if (output["ParameterValue"] !== undefined) { contents.ParameterValue = output["ParameterValue"]; } + if (output["ParameterKey"] !== undefined) { + contents.ParameterKey = output["ParameterKey"]; + } if (output["UsePreviousValue"] !== undefined) { contents.UsePreviousValue = output["UsePreviousValue"] == "true"; } @@ -7573,31 +7573,31 @@ const deserializeAws_queryParameterConstraints = (output: any, context: __SerdeC const deserializeAws_queryParameterDeclaration = (output: any, context: __SerdeContext): ParameterDeclaration => { let contents: any = { - ParameterConstraints: undefined, - Description: undefined, ParameterType: undefined, + Description: undefined, + ParameterKey: undefined, NoEcho: undefined, + ParameterConstraints: undefined, DefaultValue: undefined, - ParameterKey: undefined, }; - if (output["ParameterConstraints"] !== undefined) { - contents.ParameterConstraints = deserializeAws_queryParameterConstraints(output["ParameterConstraints"], context); + if (output["ParameterType"] !== undefined) { + contents.ParameterType = output["ParameterType"]; } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output["ParameterType"] !== undefined) { - contents.ParameterType = output["ParameterType"]; + if (output["ParameterKey"] !== undefined) { + contents.ParameterKey = output["ParameterKey"]; } if (output["NoEcho"] !== undefined) { contents.NoEcho = output["NoEcho"] == "true"; } + if (output["ParameterConstraints"] !== undefined) { + contents.ParameterConstraints = deserializeAws_queryParameterConstraints(output["ParameterConstraints"], context); + } if (output["DefaultValue"] !== undefined) { contents.DefaultValue = output["DefaultValue"]; } - if (output["ParameterKey"] !== undefined) { - contents.ParameterKey = output["ParameterKey"]; - } return contents; }; @@ -7621,37 +7621,37 @@ const deserializeAws_queryPhysicalResourceIdContextKeyValuePair = ( context: __SerdeContext ): PhysicalResourceIdContextKeyValuePair => { let contents: any = { - Value: undefined, Key: undefined, + Value: undefined, }; - if (output["Value"] !== undefined) { - contents.Value = output["Value"]; - } if (output["Key"] !== undefined) { contents.Key = output["Key"]; } + if (output["Value"] !== undefined) { + contents.Value = output["Value"]; + } return contents; }; const deserializeAws_queryPropertyDifference = (output: any, context: __SerdeContext): PropertyDifference => { let contents: any = { - PropertyPath: undefined, - ExpectedValue: undefined, ActualValue: undefined, DifferenceType: undefined, + PropertyPath: undefined, + ExpectedValue: undefined, }; - if (output["PropertyPath"] !== undefined) { - contents.PropertyPath = output["PropertyPath"]; - } - if (output["ExpectedValue"] !== undefined) { - contents.ExpectedValue = output["ExpectedValue"]; - } if (output["ActualValue"] !== undefined) { contents.ActualValue = output["ActualValue"]; } if (output["DifferenceType"] !== undefined) { contents.DifferenceType = output["DifferenceType"]; } + if (output["PropertyPath"] !== undefined) { + contents.PropertyPath = output["PropertyPath"]; + } + if (output["ExpectedValue"] !== undefined) { + contents.ExpectedValue = output["ExpectedValue"]; + } return contents; }; @@ -7687,19 +7687,19 @@ const deserializeAws_queryRegistrationTokenList = (output: any, context: __Serde const deserializeAws_queryResourceChange = (output: any, context: __SerdeContext): ResourceChange => { let contents: any = { - PhysicalResourceId: undefined, - Replacement: undefined, + Scope: undefined, Action: undefined, ResourceType: undefined, - Scope: undefined, - Details: undefined, LogicalResourceId: undefined, + Replacement: undefined, + Details: undefined, + PhysicalResourceId: undefined, }; - if (output["PhysicalResourceId"] !== undefined) { - contents.PhysicalResourceId = output["PhysicalResourceId"]; + if (output.Scope === "") { + contents.Scope = []; } - if (output["Replacement"] !== undefined) { - contents.Replacement = output["Replacement"]; + if (output["Scope"] !== undefined && output["Scope"]["member"] !== undefined) { + contents.Scope = deserializeAws_queryScope(__getArrayIfSingleItem(output["Scope"]["member"]), context); } if (output["Action"] !== undefined) { contents.Action = output["Action"]; @@ -7707,11 +7707,11 @@ const deserializeAws_queryResourceChange = (output: any, context: __SerdeContext if (output["ResourceType"] !== undefined) { contents.ResourceType = output["ResourceType"]; } - if (output.Scope === "") { - contents.Scope = []; + if (output["LogicalResourceId"] !== undefined) { + contents.LogicalResourceId = output["LogicalResourceId"]; } - if (output["Scope"] !== undefined && output["Scope"]["member"] !== undefined) { - contents.Scope = deserializeAws_queryScope(__getArrayIfSingleItem(output["Scope"]["member"]), context); + if (output["Replacement"] !== undefined) { + contents.Replacement = output["Replacement"]; } if (output.Details === "") { contents.Details = []; @@ -7722,31 +7722,31 @@ const deserializeAws_queryResourceChange = (output: any, context: __SerdeContext context ); } - if (output["LogicalResourceId"] !== undefined) { - contents.LogicalResourceId = output["LogicalResourceId"]; + if (output["PhysicalResourceId"] !== undefined) { + contents.PhysicalResourceId = output["PhysicalResourceId"]; } return contents; }; const deserializeAws_queryResourceChangeDetail = (output: any, context: __SerdeContext): ResourceChangeDetail => { let contents: any = { - ChangeSource: undefined, - CausingEntity: undefined, Target: undefined, Evaluation: undefined, + ChangeSource: undefined, + CausingEntity: undefined, }; - if (output["ChangeSource"] !== undefined) { - contents.ChangeSource = output["ChangeSource"]; - } - if (output["CausingEntity"] !== undefined) { - contents.CausingEntity = output["CausingEntity"]; - } if (output["Target"] !== undefined) { contents.Target = deserializeAws_queryResourceTargetDefinition(output["Target"], context); } if (output["Evaluation"] !== undefined) { contents.Evaluation = output["Evaluation"]; } + if (output["ChangeSource"] !== undefined) { + contents.ChangeSource = output["ChangeSource"]; + } + if (output["CausingEntity"] !== undefined) { + contents.CausingEntity = output["CausingEntity"]; + } return contents; }; @@ -7770,19 +7770,10 @@ const deserializeAws_queryResourceIdentifierSummary = ( context: __SerdeContext ): ResourceIdentifierSummary => { let contents: any = { - LogicalResourceIds: undefined, ResourceIdentifiers: undefined, ResourceType: undefined, + LogicalResourceIds: undefined, }; - if (output.LogicalResourceIds === "") { - contents.LogicalResourceIds = []; - } - if (output["LogicalResourceIds"] !== undefined && output["LogicalResourceIds"]["member"] !== undefined) { - contents.LogicalResourceIds = deserializeAws_queryLogicalResourceIds( - __getArrayIfSingleItem(output["LogicalResourceIds"]["member"]), - context - ); - } if (output.ResourceIdentifiers === "") { contents.ResourceIdentifiers = []; } @@ -7795,6 +7786,15 @@ const deserializeAws_queryResourceIdentifierSummary = ( if (output["ResourceType"] !== undefined) { contents.ResourceType = output["ResourceType"]; } + if (output.LogicalResourceIds === "") { + contents.LogicalResourceIds = []; + } + if (output["LogicalResourceIds"] !== undefined && output["LogicalResourceIds"]["member"] !== undefined) { + contents.LogicalResourceIds = deserializeAws_queryLogicalResourceIds( + __getArrayIfSingleItem(output["LogicalResourceIds"]["member"]), + context + ); + } return contents; }; @@ -7825,9 +7825,12 @@ const deserializeAws_queryResourceTypes = (output: any, context: __SerdeContext) const deserializeAws_queryRollbackConfiguration = (output: any, context: __SerdeContext): RollbackConfiguration => { let contents: any = { - RollbackTriggers: undefined, MonitoringTimeInMinutes: undefined, + RollbackTriggers: undefined, }; + if (output["MonitoringTimeInMinutes"] !== undefined) { + contents.MonitoringTimeInMinutes = parseInt(output["MonitoringTimeInMinutes"]); + } if (output.RollbackTriggers === "") { contents.RollbackTriggers = []; } @@ -7837,23 +7840,20 @@ const deserializeAws_queryRollbackConfiguration = (output: any, context: __Serde context ); } - if (output["MonitoringTimeInMinutes"] !== undefined) { - contents.MonitoringTimeInMinutes = parseInt(output["MonitoringTimeInMinutes"]); - } return contents; }; const deserializeAws_queryRollbackTrigger = (output: any, context: __SerdeContext): RollbackTrigger => { let contents: any = { - Type: undefined, Arn: undefined, + Type: undefined, }; - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; - } if (output["Arn"] !== undefined) { contents.Arn = output["Arn"]; } + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; + } return contents; }; @@ -7875,35 +7875,29 @@ const deserializeAws_querySetTypeDefaultVersionOutput = ( const deserializeAws_queryStack = (output: any, context: __SerdeContext): Stack => { let contents: any = { - Outputs: undefined, Parameters: undefined, - RollbackConfiguration: undefined, - DeletionTime: undefined, + ParentId: undefined, + Description: undefined, + RootId: undefined, + DriftInformation: undefined, RoleARN: undefined, - EnableTerminationProtection: undefined, + StackId: undefined, + StackName: undefined, DisableRollback: undefined, + NotificationARNs: undefined, CreationTime: undefined, LastUpdatedTime: undefined, StackStatusReason: undefined, - Capabilities: undefined, - StackStatus: undefined, - Description: undefined, - RootId: undefined, - ParentId: undefined, - NotificationARNs: undefined, ChangeSetId: undefined, Tags: undefined, + RollbackConfiguration: undefined, TimeoutInMinutes: undefined, - StackName: undefined, - StackId: undefined, - DriftInformation: undefined, + EnableTerminationProtection: undefined, + Outputs: undefined, + DeletionTime: undefined, + Capabilities: undefined, + StackStatus: undefined, }; - if (output.Outputs === "") { - contents.Outputs = []; - } - if (output["Outputs"] !== undefined && output["Outputs"]["member"] !== undefined) { - contents.Outputs = deserializeAws_queryOutputs(__getArrayIfSingleItem(output["Outputs"]["member"]), context); - } if (output.Parameters === "") { contents.Parameters = []; } @@ -7913,24 +7907,39 @@ const deserializeAws_queryStack = (output: any, context: __SerdeContext): Stack context ); } - if (output["RollbackConfiguration"] !== undefined) { - contents.RollbackConfiguration = deserializeAws_queryRollbackConfiguration( - output["RollbackConfiguration"], - context - ); + if (output["ParentId"] !== undefined) { + contents.ParentId = output["ParentId"]; } - if (output["DeletionTime"] !== undefined) { - contents.DeletionTime = new Date(output["DeletionTime"]); + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["RootId"] !== undefined) { + contents.RootId = output["RootId"]; + } + if (output["DriftInformation"] !== undefined) { + contents.DriftInformation = deserializeAws_queryStackDriftInformation(output["DriftInformation"], context); } if (output["RoleARN"] !== undefined) { contents.RoleARN = output["RoleARN"]; } - if (output["EnableTerminationProtection"] !== undefined) { - contents.EnableTerminationProtection = output["EnableTerminationProtection"] == "true"; + if (output["StackId"] !== undefined) { + contents.StackId = output["StackId"]; + } + if (output["StackName"] !== undefined) { + contents.StackName = output["StackName"]; } if (output["DisableRollback"] !== undefined) { contents.DisableRollback = output["DisableRollback"] == "true"; } + if (output.NotificationARNs === "") { + contents.NotificationARNs = []; + } + if (output["NotificationARNs"] !== undefined && output["NotificationARNs"]["member"] !== undefined) { + contents.NotificationARNs = deserializeAws_queryNotificationARNs( + __getArrayIfSingleItem(output["NotificationARNs"]["member"]), + context + ); + } if (output["CreationTime"] !== undefined) { contents.CreationTime = new Date(output["CreationTime"]); } @@ -7940,6 +7949,36 @@ const deserializeAws_queryStack = (output: any, context: __SerdeContext): Stack if (output["StackStatusReason"] !== undefined) { contents.StackStatusReason = output["StackStatusReason"]; } + if (output["ChangeSetId"] !== undefined) { + contents.ChangeSetId = output["ChangeSetId"]; + } + if (output.Tags === "") { + contents.Tags = []; + } + if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { + contents.Tags = deserializeAws_queryTags(__getArrayIfSingleItem(output["Tags"]["member"]), context); + } + if (output["RollbackConfiguration"] !== undefined) { + contents.RollbackConfiguration = deserializeAws_queryRollbackConfiguration( + output["RollbackConfiguration"], + context + ); + } + if (output["TimeoutInMinutes"] !== undefined) { + contents.TimeoutInMinutes = parseInt(output["TimeoutInMinutes"]); + } + if (output["EnableTerminationProtection"] !== undefined) { + contents.EnableTerminationProtection = output["EnableTerminationProtection"] == "true"; + } + if (output.Outputs === "") { + contents.Outputs = []; + } + if (output["Outputs"] !== undefined && output["Outputs"]["member"] !== undefined) { + contents.Outputs = deserializeAws_queryOutputs(__getArrayIfSingleItem(output["Outputs"]["member"]), context); + } + if (output["DeletionTime"] !== undefined) { + contents.DeletionTime = new Date(output["DeletionTime"]); + } if (output.Capabilities === "") { contents.Capabilities = []; } @@ -7952,45 +7991,6 @@ const deserializeAws_queryStack = (output: any, context: __SerdeContext): Stack if (output["StackStatus"] !== undefined) { contents.StackStatus = output["StackStatus"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } - if (output["RootId"] !== undefined) { - contents.RootId = output["RootId"]; - } - if (output["ParentId"] !== undefined) { - contents.ParentId = output["ParentId"]; - } - if (output.NotificationARNs === "") { - contents.NotificationARNs = []; - } - if (output["NotificationARNs"] !== undefined && output["NotificationARNs"]["member"] !== undefined) { - contents.NotificationARNs = deserializeAws_queryNotificationARNs( - __getArrayIfSingleItem(output["NotificationARNs"]["member"]), - context - ); - } - if (output["ChangeSetId"] !== undefined) { - contents.ChangeSetId = output["ChangeSetId"]; - } - if (output.Tags === "") { - contents.Tags = []; - } - if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { - contents.Tags = deserializeAws_queryTags(__getArrayIfSingleItem(output["Tags"]["member"]), context); - } - if (output["TimeoutInMinutes"] !== undefined) { - contents.TimeoutInMinutes = parseInt(output["TimeoutInMinutes"]); - } - if (output["StackName"] !== undefined) { - contents.StackName = output["StackName"]; - } - if (output["StackId"] !== undefined) { - contents.StackId = output["StackId"]; - } - if (output["DriftInformation"] !== undefined) { - contents.DriftInformation = deserializeAws_queryStackDriftInformation(output["DriftInformation"], context); - } return contents; }; @@ -8013,46 +8013,40 @@ const deserializeAws_queryStackDriftInformationSummary = ( context: __SerdeContext ): StackDriftInformationSummary => { let contents: any = { - StackDriftStatus: undefined, LastCheckTimestamp: undefined, + StackDriftStatus: undefined, }; - if (output["StackDriftStatus"] !== undefined) { - contents.StackDriftStatus = output["StackDriftStatus"]; - } if (output["LastCheckTimestamp"] !== undefined) { contents.LastCheckTimestamp = new Date(output["LastCheckTimestamp"]); } + if (output["StackDriftStatus"] !== undefined) { + contents.StackDriftStatus = output["StackDriftStatus"]; + } return contents; }; const deserializeAws_queryStackEvent = (output: any, context: __SerdeContext): StackEvent => { let contents: any = { - ClientRequestToken: undefined, - ResourceStatusReason: undefined, - LogicalResourceId: undefined, - ResourceProperties: undefined, - Timestamp: undefined, - StackName: undefined, - StackId: undefined, EventId: undefined, ResourceStatus: undefined, - ResourceType: undefined, PhysicalResourceId: undefined, + StackName: undefined, + StackId: undefined, + Timestamp: undefined, + LogicalResourceId: undefined, + ClientRequestToken: undefined, + ResourceStatusReason: undefined, + ResourceType: undefined, + ResourceProperties: undefined, }; - if (output["ClientRequestToken"] !== undefined) { - contents.ClientRequestToken = output["ClientRequestToken"]; - } - if (output["ResourceStatusReason"] !== undefined) { - contents.ResourceStatusReason = output["ResourceStatusReason"]; - } - if (output["LogicalResourceId"] !== undefined) { - contents.LogicalResourceId = output["LogicalResourceId"]; + if (output["EventId"] !== undefined) { + contents.EventId = output["EventId"]; } - if (output["ResourceProperties"] !== undefined) { - contents.ResourceProperties = output["ResourceProperties"]; + if (output["ResourceStatus"] !== undefined) { + contents.ResourceStatus = output["ResourceStatus"]; } - if (output["Timestamp"] !== undefined) { - contents.Timestamp = new Date(output["Timestamp"]); + if (output["PhysicalResourceId"] !== undefined) { + contents.PhysicalResourceId = output["PhysicalResourceId"]; } if (output["StackName"] !== undefined) { contents.StackName = output["StackName"]; @@ -8060,17 +8054,23 @@ const deserializeAws_queryStackEvent = (output: any, context: __SerdeContext): S if (output["StackId"] !== undefined) { contents.StackId = output["StackId"]; } - if (output["EventId"] !== undefined) { - contents.EventId = output["EventId"]; + if (output["Timestamp"] !== undefined) { + contents.Timestamp = new Date(output["Timestamp"]); } - if (output["ResourceStatus"] !== undefined) { - contents.ResourceStatus = output["ResourceStatus"]; + if (output["LogicalResourceId"] !== undefined) { + contents.LogicalResourceId = output["LogicalResourceId"]; + } + if (output["ClientRequestToken"] !== undefined) { + contents.ClientRequestToken = output["ClientRequestToken"]; + } + if (output["ResourceStatusReason"] !== undefined) { + contents.ResourceStatusReason = output["ResourceStatusReason"]; } if (output["ResourceType"] !== undefined) { contents.ResourceType = output["ResourceType"]; } - if (output["PhysicalResourceId"] !== undefined) { - contents.PhysicalResourceId = output["PhysicalResourceId"]; + if (output["ResourceProperties"] !== undefined) { + contents.ResourceProperties = output["ResourceProperties"]; } return contents; }; @@ -8081,23 +8081,35 @@ const deserializeAws_queryStackEvents = (output: any, context: __SerdeContext): const deserializeAws_queryStackInstance = (output: any, context: __SerdeContext): StackInstance => { let contents: any = { + OrganizationalUnitId: undefined, + Status: undefined, + StackInstanceStatus: undefined, Region: undefined, - DriftStatus: undefined, + StackId: undefined, ParameterOverrides: undefined, StatusReason: undefined, - StackId: undefined, + DriftStatus: undefined, LastDriftCheckTimestamp: undefined, - Status: undefined, - OrganizationalUnitId: undefined, StackSetId: undefined, Account: undefined, - StackInstanceStatus: undefined, }; + if (output["OrganizationalUnitId"] !== undefined) { + contents.OrganizationalUnitId = output["OrganizationalUnitId"]; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["StackInstanceStatus"] !== undefined) { + contents.StackInstanceStatus = deserializeAws_queryStackInstanceComprehensiveStatus( + output["StackInstanceStatus"], + context + ); + } if (output["Region"] !== undefined) { contents.Region = output["Region"]; } - if (output["DriftStatus"] !== undefined) { - contents.DriftStatus = output["DriftStatus"]; + if (output["StackId"] !== undefined) { + contents.StackId = output["StackId"]; } if (output.ParameterOverrides === "") { contents.ParameterOverrides = []; @@ -8111,30 +8123,18 @@ const deserializeAws_queryStackInstance = (output: any, context: __SerdeContext) if (output["StatusReason"] !== undefined) { contents.StatusReason = output["StatusReason"]; } - if (output["StackId"] !== undefined) { - contents.StackId = output["StackId"]; + if (output["DriftStatus"] !== undefined) { + contents.DriftStatus = output["DriftStatus"]; } if (output["LastDriftCheckTimestamp"] !== undefined) { contents.LastDriftCheckTimestamp = new Date(output["LastDriftCheckTimestamp"]); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["OrganizationalUnitId"] !== undefined) { - contents.OrganizationalUnitId = output["OrganizationalUnitId"]; - } if (output["StackSetId"] !== undefined) { contents.StackSetId = output["StackSetId"]; } if (output["Account"] !== undefined) { contents.Account = output["Account"]; } - if (output["StackInstanceStatus"] !== undefined) { - contents.StackInstanceStatus = deserializeAws_queryStackInstanceComprehensiveStatus( - output["StackInstanceStatus"], - context - ); - } return contents; }; @@ -8170,164 +8170,176 @@ const deserializeAws_queryStackInstanceSummaries = (output: any, context: __Serd const deserializeAws_queryStackInstanceSummary = (output: any, context: __SerdeContext): StackInstanceSummary => { let contents: any = { - Status: undefined, - StatusReason: undefined, + StackInstanceStatus: undefined, + Region: undefined, LastDriftCheckTimestamp: undefined, + StackId: undefined, + DriftStatus: undefined, OrganizationalUnitId: undefined, - StackSetId: undefined, Account: undefined, - StackInstanceStatus: undefined, - DriftStatus: undefined, - StackId: undefined, - Region: undefined, + StackSetId: undefined, + StatusReason: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["StackInstanceStatus"] !== undefined) { + contents.StackInstanceStatus = deserializeAws_queryStackInstanceComprehensiveStatus( + output["StackInstanceStatus"], + context + ); } - if (output["StatusReason"] !== undefined) { - contents.StatusReason = output["StatusReason"]; + if (output["Region"] !== undefined) { + contents.Region = output["Region"]; } if (output["LastDriftCheckTimestamp"] !== undefined) { contents.LastDriftCheckTimestamp = new Date(output["LastDriftCheckTimestamp"]); } + if (output["StackId"] !== undefined) { + contents.StackId = output["StackId"]; + } + if (output["DriftStatus"] !== undefined) { + contents.DriftStatus = output["DriftStatus"]; + } if (output["OrganizationalUnitId"] !== undefined) { contents.OrganizationalUnitId = output["OrganizationalUnitId"]; } - if (output["StackSetId"] !== undefined) { - contents.StackSetId = output["StackSetId"]; - } if (output["Account"] !== undefined) { contents.Account = output["Account"]; } - if (output["StackInstanceStatus"] !== undefined) { - contents.StackInstanceStatus = deserializeAws_queryStackInstanceComprehensiveStatus( - output["StackInstanceStatus"], - context - ); - } - if (output["DriftStatus"] !== undefined) { - contents.DriftStatus = output["DriftStatus"]; + if (output["StackSetId"] !== undefined) { + contents.StackSetId = output["StackSetId"]; } - if (output["StackId"] !== undefined) { - contents.StackId = output["StackId"]; + if (output["StatusReason"] !== undefined) { + contents.StatusReason = output["StatusReason"]; } - if (output["Region"] !== undefined) { - contents.Region = output["Region"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; const deserializeAws_queryStackResource = (output: any, context: __SerdeContext): StackResource => { let contents: any = { - LogicalResourceId: undefined, - ResourceStatusReason: undefined, - Description: undefined, - DriftInformation: undefined, - PhysicalResourceId: undefined, ResourceStatus: undefined, - ResourceType: undefined, - Timestamp: undefined, + PhysicalResourceId: undefined, StackName: undefined, StackId: undefined, + ResourceType: undefined, + Description: undefined, + ResourceStatusReason: undefined, + DriftInformation: undefined, + Timestamp: undefined, + LogicalResourceId: undefined, }; - if (output["LogicalResourceId"] !== undefined) { - contents.LogicalResourceId = output["LogicalResourceId"]; - } - if (output["ResourceStatusReason"] !== undefined) { - contents.ResourceStatusReason = output["ResourceStatusReason"]; - } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } - if (output["DriftInformation"] !== undefined) { - contents.DriftInformation = deserializeAws_queryStackResourceDriftInformation(output["DriftInformation"], context); + if (output["ResourceStatus"] !== undefined) { + contents.ResourceStatus = output["ResourceStatus"]; } if (output["PhysicalResourceId"] !== undefined) { contents.PhysicalResourceId = output["PhysicalResourceId"]; } - if (output["ResourceStatus"] !== undefined) { - contents.ResourceStatus = output["ResourceStatus"]; + if (output["StackName"] !== undefined) { + contents.StackName = output["StackName"]; + } + if (output["StackId"] !== undefined) { + contents.StackId = output["StackId"]; } if (output["ResourceType"] !== undefined) { contents.ResourceType = output["ResourceType"]; } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["ResourceStatusReason"] !== undefined) { + contents.ResourceStatusReason = output["ResourceStatusReason"]; + } + if (output["DriftInformation"] !== undefined) { + contents.DriftInformation = deserializeAws_queryStackResourceDriftInformation(output["DriftInformation"], context); + } if (output["Timestamp"] !== undefined) { contents.Timestamp = new Date(output["Timestamp"]); } - if (output["StackName"] !== undefined) { - contents.StackName = output["StackName"]; - } - if (output["StackId"] !== undefined) { - contents.StackId = output["StackId"]; + if (output["LogicalResourceId"] !== undefined) { + contents.LogicalResourceId = output["LogicalResourceId"]; } return contents; }; const deserializeAws_queryStackResourceDetail = (output: any, context: __SerdeContext): StackResourceDetail => { let contents: any = { - DriftInformation: undefined, - StackId: undefined, - StackName: undefined, - LogicalResourceId: undefined, LastUpdatedTimestamp: undefined, - PhysicalResourceId: undefined, - Metadata: undefined, Description: undefined, - ResourceType: undefined, - ResourceStatusReason: undefined, ResourceStatus: undefined, + ResourceStatusReason: undefined, + Metadata: undefined, + PhysicalResourceId: undefined, + LogicalResourceId: undefined, + DriftInformation: undefined, + ResourceType: undefined, + StackId: undefined, + StackName: undefined, }; - if (output["DriftInformation"] !== undefined) { - contents.DriftInformation = deserializeAws_queryStackResourceDriftInformation(output["DriftInformation"], context); + if (output["LastUpdatedTimestamp"] !== undefined) { + contents.LastUpdatedTimestamp = new Date(output["LastUpdatedTimestamp"]); } - if (output["StackId"] !== undefined) { - contents.StackId = output["StackId"]; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } - if (output["StackName"] !== undefined) { - contents.StackName = output["StackName"]; + if (output["ResourceStatus"] !== undefined) { + contents.ResourceStatus = output["ResourceStatus"]; } - if (output["LogicalResourceId"] !== undefined) { - contents.LogicalResourceId = output["LogicalResourceId"]; + if (output["ResourceStatusReason"] !== undefined) { + contents.ResourceStatusReason = output["ResourceStatusReason"]; } - if (output["LastUpdatedTimestamp"] !== undefined) { - contents.LastUpdatedTimestamp = new Date(output["LastUpdatedTimestamp"]); + if (output["Metadata"] !== undefined) { + contents.Metadata = output["Metadata"]; } if (output["PhysicalResourceId"] !== undefined) { contents.PhysicalResourceId = output["PhysicalResourceId"]; } - if (output["Metadata"] !== undefined) { - contents.Metadata = output["Metadata"]; + if (output["LogicalResourceId"] !== undefined) { + contents.LogicalResourceId = output["LogicalResourceId"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["DriftInformation"] !== undefined) { + contents.DriftInformation = deserializeAws_queryStackResourceDriftInformation(output["DriftInformation"], context); } if (output["ResourceType"] !== undefined) { contents.ResourceType = output["ResourceType"]; } - if (output["ResourceStatusReason"] !== undefined) { - contents.ResourceStatusReason = output["ResourceStatusReason"]; + if (output["StackId"] !== undefined) { + contents.StackId = output["StackId"]; } - if (output["ResourceStatus"] !== undefined) { - contents.ResourceStatus = output["ResourceStatus"]; + if (output["StackName"] !== undefined) { + contents.StackName = output["StackName"]; } return contents; }; const deserializeAws_queryStackResourceDrift = (output: any, context: __SerdeContext): StackResourceDrift => { let contents: any = { - LogicalResourceId: undefined, - PhysicalResourceIdContext: undefined, - ActualProperties: undefined, - StackResourceDriftStatus: undefined, - ResourceType: undefined, PhysicalResourceId: undefined, - Timestamp: undefined, ExpectedProperties: undefined, + Timestamp: undefined, + ActualProperties: undefined, StackId: undefined, + PhysicalResourceIdContext: undefined, + LogicalResourceId: undefined, + ResourceType: undefined, PropertyDifferences: undefined, + StackResourceDriftStatus: undefined, }; - if (output["LogicalResourceId"] !== undefined) { - contents.LogicalResourceId = output["LogicalResourceId"]; + if (output["PhysicalResourceId"] !== undefined) { + contents.PhysicalResourceId = output["PhysicalResourceId"]; + } + if (output["ExpectedProperties"] !== undefined) { + contents.ExpectedProperties = output["ExpectedProperties"]; + } + if (output["Timestamp"] !== undefined) { + contents.Timestamp = new Date(output["Timestamp"]); + } + if (output["ActualProperties"] !== undefined) { + contents.ActualProperties = output["ActualProperties"]; + } + if (output["StackId"] !== undefined) { + contents.StackId = output["StackId"]; } if (output.PhysicalResourceIdContext === "") { contents.PhysicalResourceIdContext = []; @@ -8341,27 +8353,12 @@ const deserializeAws_queryStackResourceDrift = (output: any, context: __SerdeCon context ); } - if (output["ActualProperties"] !== undefined) { - contents.ActualProperties = output["ActualProperties"]; - } - if (output["StackResourceDriftStatus"] !== undefined) { - contents.StackResourceDriftStatus = output["StackResourceDriftStatus"]; + if (output["LogicalResourceId"] !== undefined) { + contents.LogicalResourceId = output["LogicalResourceId"]; } if (output["ResourceType"] !== undefined) { contents.ResourceType = output["ResourceType"]; } - if (output["PhysicalResourceId"] !== undefined) { - contents.PhysicalResourceId = output["PhysicalResourceId"]; - } - if (output["Timestamp"] !== undefined) { - contents.Timestamp = new Date(output["Timestamp"]); - } - if (output["ExpectedProperties"] !== undefined) { - contents.ExpectedProperties = output["ExpectedProperties"]; - } - if (output["StackId"] !== undefined) { - contents.StackId = output["StackId"]; - } if (output.PropertyDifferences === "") { contents.PropertyDifferences = []; } @@ -8371,6 +8368,9 @@ const deserializeAws_queryStackResourceDrift = (output: any, context: __SerdeCon context ); } + if (output["StackResourceDriftStatus"] !== undefined) { + contents.StackResourceDriftStatus = output["StackResourceDriftStatus"]; + } return contents; }; @@ -8396,15 +8396,15 @@ const deserializeAws_queryStackResourceDriftInformationSummary = ( context: __SerdeContext ): StackResourceDriftInformationSummary => { let contents: any = { - LastCheckTimestamp: undefined, StackResourceDriftStatus: undefined, + LastCheckTimestamp: undefined, }; - if (output["LastCheckTimestamp"] !== undefined) { - contents.LastCheckTimestamp = new Date(output["LastCheckTimestamp"]); - } if (output["StackResourceDriftStatus"] !== undefined) { contents.StackResourceDriftStatus = output["StackResourceDriftStatus"]; } + if (output["LastCheckTimestamp"] !== undefined) { + contents.LastCheckTimestamp = new Date(output["LastCheckTimestamp"]); + } return contents; }; @@ -8422,37 +8422,37 @@ const deserializeAws_queryStackResourceSummaries = (output: any, context: __Serd const deserializeAws_queryStackResourceSummary = (output: any, context: __SerdeContext): StackResourceSummary => { let contents: any = { - ResourceStatusReason: undefined, - LogicalResourceId: undefined, PhysicalResourceId: undefined, - LastUpdatedTimestamp: undefined, + ResourceStatus: undefined, ResourceType: undefined, + ResourceStatusReason: undefined, + LastUpdatedTimestamp: undefined, DriftInformation: undefined, - ResourceStatus: undefined, + LogicalResourceId: undefined, }; - if (output["ResourceStatusReason"] !== undefined) { - contents.ResourceStatusReason = output["ResourceStatusReason"]; - } - if (output["LogicalResourceId"] !== undefined) { - contents.LogicalResourceId = output["LogicalResourceId"]; - } if (output["PhysicalResourceId"] !== undefined) { contents.PhysicalResourceId = output["PhysicalResourceId"]; } - if (output["LastUpdatedTimestamp"] !== undefined) { - contents.LastUpdatedTimestamp = new Date(output["LastUpdatedTimestamp"]); + if (output["ResourceStatus"] !== undefined) { + contents.ResourceStatus = output["ResourceStatus"]; } if (output["ResourceType"] !== undefined) { contents.ResourceType = output["ResourceType"]; } + if (output["ResourceStatusReason"] !== undefined) { + contents.ResourceStatusReason = output["ResourceStatusReason"]; + } + if (output["LastUpdatedTimestamp"] !== undefined) { + contents.LastUpdatedTimestamp = new Date(output["LastUpdatedTimestamp"]); + } if (output["DriftInformation"] !== undefined) { contents.DriftInformation = deserializeAws_queryStackResourceDriftInformationSummary( output["DriftInformation"], context ); } - if (output["ResourceStatus"] !== undefined) { - contents.ResourceStatus = output["ResourceStatus"]; + if (output["LogicalResourceId"] !== undefined) { + contents.LogicalResourceId = output["LogicalResourceId"]; } return contents; }; @@ -8463,66 +8463,57 @@ const deserializeAws_queryStacks = (output: any, context: __SerdeContext): Stack const deserializeAws_queryStackSet = (output: any, context: __SerdeContext): StackSet => { let contents: any = { - Status: undefined, - StackSetName: undefined, ExecutionRoleName: undefined, - Description: undefined, AdministrationRoleARN: undefined, - OrganizationalUnitIds: undefined, Tags: undefined, - StackSetDriftDetectionDetails: undefined, - PermissionModel: undefined, - AutoDeployment: undefined, + StackSetName: undefined, + Parameters: undefined, StackSetId: undefined, - Capabilities: undefined, + Description: undefined, + AutoDeployment: undefined, StackSetARN: undefined, - Parameters: undefined, + Capabilities: undefined, TemplateBody: undefined, + OrganizationalUnitIds: undefined, + PermissionModel: undefined, + StackSetDriftDetectionDetails: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["StackSetName"] !== undefined) { - contents.StackSetName = output["StackSetName"]; - } if (output["ExecutionRoleName"] !== undefined) { contents.ExecutionRoleName = output["ExecutionRoleName"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["AdministrationRoleARN"] !== undefined) { contents.AdministrationRoleARN = output["AdministrationRoleARN"]; } - if (output.OrganizationalUnitIds === "") { - contents.OrganizationalUnitIds = []; - } - if (output["OrganizationalUnitIds"] !== undefined && output["OrganizationalUnitIds"]["member"] !== undefined) { - contents.OrganizationalUnitIds = deserializeAws_queryOrganizationalUnitIdList( - __getArrayIfSingleItem(output["OrganizationalUnitIds"]["member"]), - context - ); - } if (output.Tags === "") { contents.Tags = []; } if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { contents.Tags = deserializeAws_queryTags(__getArrayIfSingleItem(output["Tags"]["member"]), context); } - if (output["StackSetDriftDetectionDetails"] !== undefined) { - contents.StackSetDriftDetectionDetails = deserializeAws_queryStackSetDriftDetectionDetails( - output["StackSetDriftDetectionDetails"], + if (output["StackSetName"] !== undefined) { + contents.StackSetName = output["StackSetName"]; + } + if (output.Parameters === "") { + contents.Parameters = []; + } + if (output["Parameters"] !== undefined && output["Parameters"]["member"] !== undefined) { + contents.Parameters = deserializeAws_queryParameters( + __getArrayIfSingleItem(output["Parameters"]["member"]), context ); } - if (output["PermissionModel"] !== undefined) { - contents.PermissionModel = output["PermissionModel"]; + if (output["StackSetId"] !== undefined) { + contents.StackSetId = output["StackSetId"]; + } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } if (output["AutoDeployment"] !== undefined) { contents.AutoDeployment = deserializeAws_queryAutoDeployment(output["AutoDeployment"], context); } - if (output["StackSetId"] !== undefined) { - contents.StackSetId = output["StackSetId"]; + if (output["StackSetARN"] !== undefined) { + contents.StackSetARN = output["StackSetARN"]; } if (output.Capabilities === "") { contents.Capabilities = []; @@ -8533,20 +8524,29 @@ const deserializeAws_queryStackSet = (output: any, context: __SerdeContext): Sta context ); } - if (output["StackSetARN"] !== undefined) { - contents.StackSetARN = output["StackSetARN"]; + if (output["TemplateBody"] !== undefined) { + contents.TemplateBody = output["TemplateBody"]; } - if (output.Parameters === "") { - contents.Parameters = []; + if (output.OrganizationalUnitIds === "") { + contents.OrganizationalUnitIds = []; } - if (output["Parameters"] !== undefined && output["Parameters"]["member"] !== undefined) { - contents.Parameters = deserializeAws_queryParameters( - __getArrayIfSingleItem(output["Parameters"]["member"]), + if (output["OrganizationalUnitIds"] !== undefined && output["OrganizationalUnitIds"]["member"] !== undefined) { + contents.OrganizationalUnitIds = deserializeAws_queryOrganizationalUnitIdList( + __getArrayIfSingleItem(output["OrganizationalUnitIds"]["member"]), context ); } - if (output["TemplateBody"] !== undefined) { - contents.TemplateBody = output["TemplateBody"]; + if (output["PermissionModel"] !== undefined) { + contents.PermissionModel = output["PermissionModel"]; + } + if (output["StackSetDriftDetectionDetails"] !== undefined) { + contents.StackSetDriftDetectionDetails = deserializeAws_queryStackSetDriftDetectionDetails( + output["StackSetDriftDetectionDetails"], + context + ); + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; @@ -8556,39 +8556,39 @@ const deserializeAws_queryStackSetDriftDetectionDetails = ( context: __SerdeContext ): StackSetDriftDetectionDetails => { let contents: any = { + DriftDetectionStatus: undefined, + InSyncStackInstancesCount: undefined, TotalStackInstancesCount: undefined, + InProgressStackInstancesCount: undefined, DriftedStackInstancesCount: undefined, - InSyncStackInstancesCount: undefined, - DriftDetectionStatus: undefined, + LastDriftCheckTimestamp: undefined, DriftStatus: undefined, - InProgressStackInstancesCount: undefined, FailedStackInstancesCount: undefined, - LastDriftCheckTimestamp: undefined, }; + if (output["DriftDetectionStatus"] !== undefined) { + contents.DriftDetectionStatus = output["DriftDetectionStatus"]; + } + if (output["InSyncStackInstancesCount"] !== undefined) { + contents.InSyncStackInstancesCount = parseInt(output["InSyncStackInstancesCount"]); + } if (output["TotalStackInstancesCount"] !== undefined) { contents.TotalStackInstancesCount = parseInt(output["TotalStackInstancesCount"]); } + if (output["InProgressStackInstancesCount"] !== undefined) { + contents.InProgressStackInstancesCount = parseInt(output["InProgressStackInstancesCount"]); + } if (output["DriftedStackInstancesCount"] !== undefined) { contents.DriftedStackInstancesCount = parseInt(output["DriftedStackInstancesCount"]); } - if (output["InSyncStackInstancesCount"] !== undefined) { - contents.InSyncStackInstancesCount = parseInt(output["InSyncStackInstancesCount"]); - } - if (output["DriftDetectionStatus"] !== undefined) { - contents.DriftDetectionStatus = output["DriftDetectionStatus"]; + if (output["LastDriftCheckTimestamp"] !== undefined) { + contents.LastDriftCheckTimestamp = new Date(output["LastDriftCheckTimestamp"]); } if (output["DriftStatus"] !== undefined) { contents.DriftStatus = output["DriftStatus"]; } - if (output["InProgressStackInstancesCount"] !== undefined) { - contents.InProgressStackInstancesCount = parseInt(output["InProgressStackInstancesCount"]); - } if (output["FailedStackInstancesCount"] !== undefined) { contents.FailedStackInstancesCount = parseInt(output["FailedStackInstancesCount"]); } - if (output["LastDriftCheckTimestamp"] !== undefined) { - contents.LastDriftCheckTimestamp = new Date(output["LastDriftCheckTimestamp"]); - } return contents; }; @@ -8620,33 +8620,24 @@ const deserializeAws_queryStackSetNotFoundException = ( const deserializeAws_queryStackSetOperation = (output: any, context: __SerdeContext): StackSetOperation => { let contents: any = { - StackSetId: undefined, - Status: undefined, - RetainStacks: undefined, - OperationPreferences: undefined, + AdministrationRoleARN: undefined, + ExecutionRoleName: undefined, EndTimestamp: undefined, DeploymentTargets: undefined, - ExecutionRoleName: undefined, OperationId: undefined, + StackSetId: undefined, + OperationPreferences: undefined, StackSetDriftDetectionDetails: undefined, - Action: undefined, + Status: undefined, + RetainStacks: undefined, CreationTimestamp: undefined, - AdministrationRoleARN: undefined, + Action: undefined, }; - if (output["StackSetId"] !== undefined) { - contents.StackSetId = output["StackSetId"]; - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["RetainStacks"] !== undefined) { - contents.RetainStacks = output["RetainStacks"] == "true"; + if (output["AdministrationRoleARN"] !== undefined) { + contents.AdministrationRoleARN = output["AdministrationRoleARN"]; } - if (output["OperationPreferences"] !== undefined) { - contents.OperationPreferences = deserializeAws_queryStackSetOperationPreferences( - output["OperationPreferences"], - context - ); + if (output["ExecutionRoleName"] !== undefined) { + contents.ExecutionRoleName = output["ExecutionRoleName"]; } if (output["EndTimestamp"] !== undefined) { contents.EndTimestamp = new Date(output["EndTimestamp"]); @@ -8654,26 +8645,35 @@ const deserializeAws_queryStackSetOperation = (output: any, context: __SerdeCont if (output["DeploymentTargets"] !== undefined) { contents.DeploymentTargets = deserializeAws_queryDeploymentTargets(output["DeploymentTargets"], context); } - if (output["ExecutionRoleName"] !== undefined) { - contents.ExecutionRoleName = output["ExecutionRoleName"]; - } if (output["OperationId"] !== undefined) { contents.OperationId = output["OperationId"]; } + if (output["StackSetId"] !== undefined) { + contents.StackSetId = output["StackSetId"]; + } + if (output["OperationPreferences"] !== undefined) { + contents.OperationPreferences = deserializeAws_queryStackSetOperationPreferences( + output["OperationPreferences"], + context + ); + } if (output["StackSetDriftDetectionDetails"] !== undefined) { contents.StackSetDriftDetectionDetails = deserializeAws_queryStackSetDriftDetectionDetails( output["StackSetDriftDetectionDetails"], context ); } - if (output["Action"] !== undefined) { - contents.Action = output["Action"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["RetainStacks"] !== undefined) { + contents.RetainStacks = output["RetainStacks"] == "true"; } if (output["CreationTimestamp"] !== undefined) { contents.CreationTimestamp = new Date(output["CreationTimestamp"]); } - if (output["AdministrationRoleARN"] !== undefined) { - contents.AdministrationRoleARN = output["AdministrationRoleARN"]; + if (output["Action"] !== undefined) { + contents.Action = output["Action"]; } return contents; }; @@ -8684,14 +8684,23 @@ const deserializeAws_queryStackSetOperationPreferences = ( ): StackSetOperationPreferences => { let contents: any = { MaxConcurrentCount: undefined, - RegionOrder: undefined, - FailureToleranceCount: undefined, - FailureTolerancePercentage: undefined, MaxConcurrentPercentage: undefined, + FailureTolerancePercentage: undefined, + FailureToleranceCount: undefined, + RegionOrder: undefined, }; if (output["MaxConcurrentCount"] !== undefined) { contents.MaxConcurrentCount = parseInt(output["MaxConcurrentCount"]); } + if (output["MaxConcurrentPercentage"] !== undefined) { + contents.MaxConcurrentPercentage = parseInt(output["MaxConcurrentPercentage"]); + } + if (output["FailureTolerancePercentage"] !== undefined) { + contents.FailureTolerancePercentage = parseInt(output["FailureTolerancePercentage"]); + } + if (output["FailureToleranceCount"] !== undefined) { + contents.FailureToleranceCount = parseInt(output["FailureToleranceCount"]); + } if (output.RegionOrder === "") { contents.RegionOrder = []; } @@ -8701,15 +8710,6 @@ const deserializeAws_queryStackSetOperationPreferences = ( context ); } - if (output["FailureToleranceCount"] !== undefined) { - contents.FailureToleranceCount = parseInt(output["FailureToleranceCount"]); - } - if (output["FailureTolerancePercentage"] !== undefined) { - contents.FailureTolerancePercentage = parseInt(output["FailureTolerancePercentage"]); - } - if (output["MaxConcurrentPercentage"] !== undefined) { - contents.MaxConcurrentPercentage = parseInt(output["MaxConcurrentPercentage"]); - } return contents; }; @@ -8725,31 +8725,31 @@ const deserializeAws_queryStackSetOperationResultSummary = ( context: __SerdeContext ): StackSetOperationResultSummary => { let contents: any = { - AccountGateResult: undefined, StatusReason: undefined, - Region: undefined, - Status: undefined, + AccountGateResult: undefined, Account: undefined, + Status: undefined, OrganizationalUnitId: undefined, + Region: undefined, }; - if (output["AccountGateResult"] !== undefined) { - contents.AccountGateResult = deserializeAws_queryAccountGateResult(output["AccountGateResult"], context); - } if (output["StatusReason"] !== undefined) { contents.StatusReason = output["StatusReason"]; } - if (output["Region"] !== undefined) { - contents.Region = output["Region"]; - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["AccountGateResult"] !== undefined) { + contents.AccountGateResult = deserializeAws_queryAccountGateResult(output["AccountGateResult"], context); } if (output["Account"] !== undefined) { contents.Account = output["Account"]; } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } if (output["OrganizationalUnitId"] !== undefined) { contents.OrganizationalUnitId = output["OrganizationalUnitId"]; } + if (output["Region"] !== undefined) { + contents.Region = output["Region"]; + } return contents; }; @@ -8765,26 +8765,26 @@ const deserializeAws_queryStackSetOperationSummary = ( context: __SerdeContext ): StackSetOperationSummary => { let contents: any = { + EndTimestamp: undefined, + CreationTimestamp: undefined, Action: undefined, - Status: undefined, OperationId: undefined, - CreationTimestamp: undefined, - EndTimestamp: undefined, + Status: undefined, }; + if (output["EndTimestamp"] !== undefined) { + contents.EndTimestamp = new Date(output["EndTimestamp"]); + } + if (output["CreationTimestamp"] !== undefined) { + contents.CreationTimestamp = new Date(output["CreationTimestamp"]); + } if (output["Action"] !== undefined) { contents.Action = output["Action"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["OperationId"] !== undefined) { contents.OperationId = output["OperationId"]; } - if (output["CreationTimestamp"] !== undefined) { - contents.CreationTimestamp = new Date(output["CreationTimestamp"]); - } - if (output["EndTimestamp"] !== undefined) { - contents.EndTimestamp = new Date(output["EndTimestamp"]); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; @@ -8795,17 +8795,23 @@ const deserializeAws_queryStackSetSummaries = (output: any, context: __SerdeCont const deserializeAws_queryStackSetSummary = (output: any, context: __SerdeContext): StackSetSummary => { let contents: any = { - Status: undefined, + LastDriftCheckTimestamp: undefined, + DriftStatus: undefined, + StackSetId: undefined, AutoDeployment: undefined, Description: undefined, - StackSetId: undefined, PermissionModel: undefined, - LastDriftCheckTimestamp: undefined, StackSetName: undefined, - DriftStatus: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["LastDriftCheckTimestamp"] !== undefined) { + contents.LastDriftCheckTimestamp = new Date(output["LastDriftCheckTimestamp"]); + } + if (output["DriftStatus"] !== undefined) { + contents.DriftStatus = output["DriftStatus"]; + } + if (output["StackSetId"] !== undefined) { + contents.StackSetId = output["StackSetId"]; } if (output["AutoDeployment"] !== undefined) { contents.AutoDeployment = deserializeAws_queryAutoDeployment(output["AutoDeployment"], context); @@ -8813,20 +8819,14 @@ const deserializeAws_queryStackSetSummary = (output: any, context: __SerdeContex if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output["StackSetId"] !== undefined) { - contents.StackSetId = output["StackSetId"]; - } if (output["PermissionModel"] !== undefined) { contents.PermissionModel = output["PermissionModel"]; } - if (output["LastDriftCheckTimestamp"] !== undefined) { - contents.LastDriftCheckTimestamp = new Date(output["LastDriftCheckTimestamp"]); - } if (output["StackSetName"] !== undefined) { contents.StackSetName = output["StackSetName"]; } - if (output["DriftStatus"] !== undefined) { - contents.DriftStatus = output["DriftStatus"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; @@ -8837,29 +8837,38 @@ const deserializeAws_queryStackSummaries = (output: any, context: __SerdeContext const deserializeAws_queryStackSummary = (output: any, context: __SerdeContext): StackSummary => { let contents: any = { + StackStatus: undefined, + DeletionTime: undefined, + RootId: undefined, + ParentId: undefined, StackStatusReason: undefined, - StackName: undefined, StackId: undefined, - LastUpdatedTime: undefined, + StackName: undefined, DriftInformation: undefined, CreationTime: undefined, - ParentId: undefined, - RootId: undefined, - StackStatus: undefined, - DeletionTime: undefined, TemplateDescription: undefined, + LastUpdatedTime: undefined, }; + if (output["StackStatus"] !== undefined) { + contents.StackStatus = output["StackStatus"]; + } + if (output["DeletionTime"] !== undefined) { + contents.DeletionTime = new Date(output["DeletionTime"]); + } + if (output["RootId"] !== undefined) { + contents.RootId = output["RootId"]; + } + if (output["ParentId"] !== undefined) { + contents.ParentId = output["ParentId"]; + } if (output["StackStatusReason"] !== undefined) { contents.StackStatusReason = output["StackStatusReason"]; } - if (output["StackName"] !== undefined) { - contents.StackName = output["StackName"]; - } if (output["StackId"] !== undefined) { contents.StackId = output["StackId"]; } - if (output["LastUpdatedTime"] !== undefined) { - contents.LastUpdatedTime = new Date(output["LastUpdatedTime"]); + if (output["StackName"] !== undefined) { + contents.StackName = output["StackName"]; } if (output["DriftInformation"] !== undefined) { contents.DriftInformation = deserializeAws_queryStackDriftInformationSummary(output["DriftInformation"], context); @@ -8867,21 +8876,12 @@ const deserializeAws_queryStackSummary = (output: any, context: __SerdeContext): if (output["CreationTime"] !== undefined) { contents.CreationTime = new Date(output["CreationTime"]); } - if (output["ParentId"] !== undefined) { - contents.ParentId = output["ParentId"]; - } - if (output["RootId"] !== undefined) { - contents.RootId = output["RootId"]; - } - if (output["StackStatus"] !== undefined) { - contents.StackStatus = output["StackStatus"]; - } - if (output["DeletionTime"] !== undefined) { - contents.DeletionTime = new Date(output["DeletionTime"]); - } if (output["TemplateDescription"] !== undefined) { contents.TemplateDescription = output["TemplateDescription"]; } + if (output["LastUpdatedTime"] !== undefined) { + contents.LastUpdatedTime = new Date(output["LastUpdatedTime"]); + } return contents; }; @@ -8909,15 +8909,15 @@ const deserializeAws_queryStopStackSetOperationOutput = ( const deserializeAws_queryTag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Value: undefined, Key: undefined, + Value: undefined, }; - if (output["Value"] !== undefined) { - contents.Value = output["Value"]; - } if (output["Key"] !== undefined) { contents.Key = output["Key"]; } + if (output["Value"] !== undefined) { + contents.Value = output["Value"]; + } return contents; }; @@ -8927,23 +8927,23 @@ const deserializeAws_queryTags = (output: any, context: __SerdeContext): Tag[] = const deserializeAws_queryTemplateParameter = (output: any, context: __SerdeContext): TemplateParameter => { let contents: any = { - Description: undefined, - ParameterKey: undefined, NoEcho: undefined, + ParameterKey: undefined, DefaultValue: undefined, + Description: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["NoEcho"] !== undefined) { + contents.NoEcho = output["NoEcho"] == "true"; } if (output["ParameterKey"] !== undefined) { contents.ParameterKey = output["ParameterKey"]; } - if (output["NoEcho"] !== undefined) { - contents.NoEcho = output["NoEcho"] == "true"; - } if (output["DefaultValue"] !== undefined) { contents.DefaultValue = output["DefaultValue"]; } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } return contents; }; @@ -8984,31 +8984,31 @@ const deserializeAws_queryTypeSummaries = (output: any, context: __SerdeContext) const deserializeAws_queryTypeSummary = (output: any, context: __SerdeContext): TypeSummary => { let contents: any = { - Type: undefined, - TypeName: undefined, - Description: undefined, DefaultVersionId: undefined, - LastUpdated: undefined, + Description: undefined, + TypeName: undefined, + Type: undefined, TypeArn: undefined, + LastUpdated: undefined, }; - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; - } - if (output["TypeName"] !== undefined) { - contents.TypeName = output["TypeName"]; + if (output["DefaultVersionId"] !== undefined) { + contents.DefaultVersionId = output["DefaultVersionId"]; } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output["DefaultVersionId"] !== undefined) { - contents.DefaultVersionId = output["DefaultVersionId"]; + if (output["TypeName"] !== undefined) { + contents.TypeName = output["TypeName"]; } - if (output["LastUpdated"] !== undefined) { - contents.LastUpdated = new Date(output["LastUpdated"]); + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; } if (output["TypeArn"] !== undefined) { contents.TypeArn = output["TypeArn"]; } + if (output["LastUpdated"] !== undefined) { + contents.LastUpdated = new Date(output["LastUpdated"]); + } return contents; }; @@ -9018,35 +9018,35 @@ const deserializeAws_queryTypeVersionSummaries = (output: any, context: __SerdeC const deserializeAws_queryTypeVersionSummary = (output: any, context: __SerdeContext): TypeVersionSummary => { let contents: any = { - Arn: undefined, - TypeName: undefined, + Type: undefined, + IsDefaultVersion: undefined, Description: undefined, + TypeName: undefined, + Arn: undefined, VersionId: undefined, TimeCreated: undefined, - IsDefaultVersion: undefined, - Type: undefined, }; - if (output["Arn"] !== undefined) { - contents.Arn = output["Arn"]; + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; } - if (output["TypeName"] !== undefined) { - contents.TypeName = output["TypeName"]; + if (output["IsDefaultVersion"] !== undefined) { + contents.IsDefaultVersion = output["IsDefaultVersion"] == "true"; } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } + if (output["TypeName"] !== undefined) { + contents.TypeName = output["TypeName"]; + } + if (output["Arn"] !== undefined) { + contents.Arn = output["Arn"]; + } if (output["VersionId"] !== undefined) { contents.VersionId = output["VersionId"]; } if (output["TimeCreated"] !== undefined) { contents.TimeCreated = new Date(output["TimeCreated"]); } - if (output["IsDefaultVersion"] !== undefined) { - contents.IsDefaultVersion = output["IsDefaultVersion"] == "true"; - } - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; - } return contents; }; @@ -9098,12 +9098,21 @@ const deserializeAws_queryUpdateTerminationProtectionOutput = ( const deserializeAws_queryValidateTemplateOutput = (output: any, context: __SerdeContext): ValidateTemplateOutput => { let contents: any = { + Capabilities: undefined, Parameters: undefined, CapabilitiesReason: undefined, - DeclaredTransforms: undefined, - Capabilities: undefined, Description: undefined, + DeclaredTransforms: undefined, }; + if (output.Capabilities === "") { + contents.Capabilities = []; + } + if (output["Capabilities"] !== undefined && output["Capabilities"]["member"] !== undefined) { + contents.Capabilities = deserializeAws_queryCapabilities( + __getArrayIfSingleItem(output["Capabilities"]["member"]), + context + ); + } if (output.Parameters === "") { contents.Parameters = []; } @@ -9116,6 +9125,9 @@ const deserializeAws_queryValidateTemplateOutput = (output: any, context: __Serd if (output["CapabilitiesReason"] !== undefined) { contents.CapabilitiesReason = output["CapabilitiesReason"]; } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } if (output.DeclaredTransforms === "") { contents.DeclaredTransforms = []; } @@ -9125,18 +9137,6 @@ const deserializeAws_queryValidateTemplateOutput = (output: any, context: __Serd context ); } - if (output.Capabilities === "") { - contents.Capabilities = []; - } - if (output["Capabilities"] !== undefined && output["Capabilities"]["member"] !== undefined) { - contents.Capabilities = deserializeAws_queryCapabilities( - __getArrayIfSingleItem(output["Capabilities"]["member"]), - context - ); - } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } return contents; }; diff --git a/clients/client-cloudfront/CloudFront.ts b/clients/client-cloudfront/CloudFront.ts index fa4886661252..294de6607e35 100644 --- a/clients/client-cloudfront/CloudFront.ts +++ b/clients/client-cloudfront/CloudFront.ts @@ -34,6 +34,11 @@ import { CreateInvalidationCommandInput, CreateInvalidationCommandOutput, } from "./commands/CreateInvalidationCommand"; +import { + CreateMonitoringSubscriptionCommand, + CreateMonitoringSubscriptionCommandInput, + CreateMonitoringSubscriptionCommandOutput, +} from "./commands/CreateMonitoringSubscriptionCommand"; import { CreateOriginRequestPolicyCommand, CreateOriginRequestPolicyCommandInput, @@ -44,6 +49,11 @@ import { CreatePublicKeyCommandInput, CreatePublicKeyCommandOutput, } from "./commands/CreatePublicKeyCommand"; +import { + CreateRealtimeLogConfigCommand, + CreateRealtimeLogConfigCommandInput, + CreateRealtimeLogConfigCommandOutput, +} from "./commands/CreateRealtimeLogConfigCommand"; import { CreateStreamingDistributionCommand, CreateStreamingDistributionCommandInput, @@ -79,6 +89,11 @@ import { DeleteFieldLevelEncryptionProfileCommandInput, DeleteFieldLevelEncryptionProfileCommandOutput, } from "./commands/DeleteFieldLevelEncryptionProfileCommand"; +import { + DeleteMonitoringSubscriptionCommand, + DeleteMonitoringSubscriptionCommandInput, + DeleteMonitoringSubscriptionCommandOutput, +} from "./commands/DeleteMonitoringSubscriptionCommand"; import { DeleteOriginRequestPolicyCommand, DeleteOriginRequestPolicyCommandInput, @@ -89,6 +104,11 @@ import { DeletePublicKeyCommandInput, DeletePublicKeyCommandOutput, } from "./commands/DeletePublicKeyCommand"; +import { + DeleteRealtimeLogConfigCommand, + DeleteRealtimeLogConfigCommandInput, + DeleteRealtimeLogConfigCommandOutput, +} from "./commands/DeleteRealtimeLogConfigCommand"; import { DeleteStreamingDistributionCommand, DeleteStreamingDistributionCommandInput, @@ -149,6 +169,11 @@ import { GetInvalidationCommandInput, GetInvalidationCommandOutput, } from "./commands/GetInvalidationCommand"; +import { + GetMonitoringSubscriptionCommand, + GetMonitoringSubscriptionCommandInput, + GetMonitoringSubscriptionCommandOutput, +} from "./commands/GetMonitoringSubscriptionCommand"; import { GetOriginRequestPolicyCommand, GetOriginRequestPolicyCommandInput, @@ -169,6 +194,11 @@ import { GetPublicKeyConfigCommandInput, GetPublicKeyConfigCommandOutput, } from "./commands/GetPublicKeyConfigCommand"; +import { + GetRealtimeLogConfigCommand, + GetRealtimeLogConfigCommandInput, + GetRealtimeLogConfigCommandOutput, +} from "./commands/GetRealtimeLogConfigCommand"; import { GetStreamingDistributionCommand, GetStreamingDistributionCommandInput, @@ -199,6 +229,11 @@ import { ListDistributionsByOriginRequestPolicyIdCommandInput, ListDistributionsByOriginRequestPolicyIdCommandOutput, } from "./commands/ListDistributionsByOriginRequestPolicyIdCommand"; +import { + ListDistributionsByRealtimeLogConfigCommand, + ListDistributionsByRealtimeLogConfigCommandInput, + ListDistributionsByRealtimeLogConfigCommandOutput, +} from "./commands/ListDistributionsByRealtimeLogConfigCommand"; import { ListDistributionsByWebACLIdCommand, ListDistributionsByWebACLIdCommandInput, @@ -234,6 +269,11 @@ import { ListPublicKeysCommandInput, ListPublicKeysCommandOutput, } from "./commands/ListPublicKeysCommand"; +import { + ListRealtimeLogConfigsCommand, + ListRealtimeLogConfigsCommandInput, + ListRealtimeLogConfigsCommandOutput, +} from "./commands/ListRealtimeLogConfigsCommand"; import { ListStreamingDistributionsCommand, ListStreamingDistributionsCommandInput, @@ -285,6 +325,11 @@ import { UpdatePublicKeyCommandInput, UpdatePublicKeyCommandOutput, } from "./commands/UpdatePublicKeyCommand"; +import { + UpdateRealtimeLogConfigCommand, + UpdateRealtimeLogConfigCommandInput, + UpdateRealtimeLogConfigCommandOutput, +} from "./commands/UpdateRealtimeLogConfigCommand"; import { UpdateStreamingDistributionCommand, UpdateStreamingDistributionCommandInput, @@ -317,7 +362,7 @@ export class CloudFront extends CloudFrontClient { * included in requests that CloudFront sends to the origin. CloudFront sends a request when it can’t * find an object in its cache that matches the request’s cache key. If you want to send * values to the origin but not include them in the cache key, use - * CreateOriginRequestPolicy.

            + * OriginRequestPolicy.

            *

            For more information about cache policies, see Controlling the cache key in the * Amazon CloudFront Developer Guide.

            */ @@ -557,6 +602,41 @@ export class CloudFront extends CloudFrontClient { } } + /** + *

            Enables additional CloudWatch metrics for the specified CloudFront distribution. The + * additional metrics incur an additional cost.

            + *

            For more information, see Viewing additional CloudFront distribution metrics in the + * Amazon CloudFront Developer Guide.

            + */ + public createMonitoringSubscription( + args: CreateMonitoringSubscriptionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createMonitoringSubscription( + args: CreateMonitoringSubscriptionCommandInput, + cb: (err: any, data?: CreateMonitoringSubscriptionCommandOutput) => void + ): void; + public createMonitoringSubscription( + args: CreateMonitoringSubscriptionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateMonitoringSubscriptionCommandOutput) => void + ): void; + public createMonitoringSubscription( + args: CreateMonitoringSubscriptionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateMonitoringSubscriptionCommandOutput) => void), + cb?: (err: any, data?: CreateMonitoringSubscriptionCommandOutput) => void + ): Promise | void { + const command = new CreateMonitoringSubscriptionCommand(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 origin request policy.

            *

            After you create an origin request policy, you can attach it to one or more cache behaviors. @@ -580,7 +660,7 @@ export class CloudFront extends CloudFrontClient { * *

            CloudFront sends a request when it can’t find a valid object in its cache that matches the * request. If you want to send values to the origin and also include them in the cache - * key, use CreateCachePolicy.

            + * key, use CachePolicy.

            *

            For more information about origin request policies, see Controlling origin requests in the * Amazon CloudFront Developer Guide.

            */ @@ -645,6 +725,41 @@ export class CloudFront extends CloudFrontClient { } } + /** + *

            Creates a real-time log configuration.

            + *

            After you create a real-time log configuration, you can attach it to one or more cache + * behaviors to send real-time log data to the specified Amazon Kinesis data stream.

            + *

            For more information about real-time log configurations, see Real-time logs in the Amazon CloudFront Developer Guide.

            + */ + public createRealtimeLogConfig( + args: CreateRealtimeLogConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createRealtimeLogConfig( + args: CreateRealtimeLogConfigCommandInput, + cb: (err: any, data?: CreateRealtimeLogConfigCommandOutput) => void + ): void; + public createRealtimeLogConfig( + args: CreateRealtimeLogConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateRealtimeLogConfigCommandOutput) => void + ): void; + public createRealtimeLogConfig( + args: CreateRealtimeLogConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateRealtimeLogConfigCommandOutput) => void), + cb?: (err: any, data?: CreateRealtimeLogConfigCommandOutput) => void + ): Promise | void { + const command = new CreateRealtimeLogConfigCommand(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 RTMP distribution. An RTMP distribution is similar to a web distribution, * but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol @@ -899,6 +1014,38 @@ export class CloudFront extends CloudFrontClient { } } + /** + *

            Disables additional CloudWatch metrics for the specified CloudFront distribution.

            + */ + public deleteMonitoringSubscription( + args: DeleteMonitoringSubscriptionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteMonitoringSubscription( + args: DeleteMonitoringSubscriptionCommandInput, + cb: (err: any, data?: DeleteMonitoringSubscriptionCommandOutput) => void + ): void; + public deleteMonitoringSubscription( + args: DeleteMonitoringSubscriptionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteMonitoringSubscriptionCommandOutput) => void + ): void; + public deleteMonitoringSubscription( + args: DeleteMonitoringSubscriptionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteMonitoringSubscriptionCommandOutput) => void), + cb?: (err: any, data?: DeleteMonitoringSubscriptionCommandOutput) => void + ): Promise | void { + const command = new DeleteMonitoringSubscriptionCommand(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 an origin request policy.

            *

            You cannot delete an origin request policy if it’s attached to any cache behaviors. First @@ -969,6 +1116,44 @@ export class CloudFront extends CloudFrontClient { } } + /** + *

            Deletes a real-time log configuration.

            + *

            You cannot delete a real-time log configuration if it’s attached to a cache behavior. + * First update your distributions to remove the real-time log configuration from all cache + * behaviors, then delete the real-time log configuration.

            + *

            To delete a real-time log configuration, you can provide the configuration’s name or its + * Amazon Resource Name (ARN). You must provide at least one. If you provide both, CloudFront + * uses the name to identify the real-time log configuration to delete.

            + */ + public deleteRealtimeLogConfig( + args: DeleteRealtimeLogConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteRealtimeLogConfig( + args: DeleteRealtimeLogConfigCommandInput, + cb: (err: any, data?: DeleteRealtimeLogConfigCommandOutput) => void + ): void; + public deleteRealtimeLogConfig( + args: DeleteRealtimeLogConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteRealtimeLogConfigCommandOutput) => void + ): void; + public deleteRealtimeLogConfig( + args: DeleteRealtimeLogConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteRealtimeLogConfigCommandOutput) => void), + cb?: (err: any, data?: DeleteRealtimeLogConfigCommandOutput) => void + ): Promise | void { + const command = new DeleteRealtimeLogConfigCommand(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); + } + } + /** *

            Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, * perform the following steps.

            @@ -1420,6 +1605,39 @@ export class CloudFront extends CloudFrontClient { } } + /** + *

            Gets information about whether additional CloudWatch metrics are enabled for the specified + * CloudFront distribution.

            + */ + public getMonitoringSubscription( + args: GetMonitoringSubscriptionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getMonitoringSubscription( + args: GetMonitoringSubscriptionCommandInput, + cb: (err: any, data?: GetMonitoringSubscriptionCommandOutput) => void + ): void; + public getMonitoringSubscription( + args: GetMonitoringSubscriptionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetMonitoringSubscriptionCommandOutput) => void + ): void; + public getMonitoringSubscription( + args: GetMonitoringSubscriptionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetMonitoringSubscriptionCommandOutput) => void), + cb?: (err: any, data?: GetMonitoringSubscriptionCommandOutput) => void + ): Promise | void { + const command = new GetMonitoringSubscriptionCommand(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 an origin request policy, including the following metadata:

            *
              @@ -1564,6 +1782,41 @@ export class CloudFront extends CloudFrontClient { } } + /** + *

              Gets a real-time log configuration.

              + *

              To get a real-time log configuration, you can provide the configuration’s name or its Amazon + * Resource Name (ARN). You must provide at least one. If you provide both, CloudFront uses the + * name to identify the real-time log configuration to get.

              + */ + public getRealtimeLogConfig( + args: GetRealtimeLogConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getRealtimeLogConfig( + args: GetRealtimeLogConfigCommandInput, + cb: (err: any, data?: GetRealtimeLogConfigCommandOutput) => void + ): void; + public getRealtimeLogConfig( + args: GetRealtimeLogConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetRealtimeLogConfigCommandOutput) => void + ): void; + public getRealtimeLogConfig( + args: GetRealtimeLogConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetRealtimeLogConfigCommandOutput) => void), + cb?: (err: any, data?: GetRealtimeLogConfigCommandOutput) => void + ): Promise | void { + const command = new GetRealtimeLogConfigCommand(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 information about a specified RTMP distribution, including the distribution configuration.

              */ @@ -1809,6 +2062,47 @@ export class CloudFront extends CloudFrontClient { } } + /** + *

              Gets a list of distributions that have a cache behavior that’s associated with the specified + * real-time log configuration.

              + *

              You can specify the real-time log configuration by its name or its Amazon Resource Name + * (ARN). You must provide at least one. If you provide both, CloudFront uses the name to + * identify the real-time log configuration to list distributions for.

              + *

              You can optionally specify the maximum number of items to receive in the response. If + * the total number of items in the list exceeds the maximum that you specify, or the + * default maximum, the response is paginated. To get the next page of items, send a + * subsequent request that specifies the NextMarker value from the current + * response as the Marker value in the subsequent request.

              + */ + public listDistributionsByRealtimeLogConfig( + args: ListDistributionsByRealtimeLogConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listDistributionsByRealtimeLogConfig( + args: ListDistributionsByRealtimeLogConfigCommandInput, + cb: (err: any, data?: ListDistributionsByRealtimeLogConfigCommandOutput) => void + ): void; + public listDistributionsByRealtimeLogConfig( + args: ListDistributionsByRealtimeLogConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListDistributionsByRealtimeLogConfigCommandOutput) => void + ): void; + public listDistributionsByRealtimeLogConfig( + args: ListDistributionsByRealtimeLogConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListDistributionsByRealtimeLogConfigCommandOutput) => void), + cb?: (err: any, data?: ListDistributionsByRealtimeLogConfigCommandOutput) => void + ): Promise | void { + const command = new ListDistributionsByRealtimeLogConfigCommand(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 the distributions that are associated with a specified AWS WAF web ACL.

              */ @@ -2008,6 +2302,43 @@ export class CloudFront extends CloudFrontClient { } } + /** + *

              Gets a list of real-time log configurations.

              + *

              You can optionally specify the maximum number of items to receive in the response. If + * the total number of items in the list exceeds the maximum that you specify, or the + * default maximum, the response is paginated. To get the next page of items, send a + * subsequent request that specifies the NextMarker value from the current + * response as the Marker value in the subsequent request.

              + */ + public listRealtimeLogConfigs( + args: ListRealtimeLogConfigsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listRealtimeLogConfigs( + args: ListRealtimeLogConfigsCommandInput, + cb: (err: any, data?: ListRealtimeLogConfigsCommandOutput) => void + ): void; + public listRealtimeLogConfigs( + args: ListRealtimeLogConfigsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListRealtimeLogConfigsCommandOutput) => void + ): void; + public listRealtimeLogConfigs( + args: ListRealtimeLogConfigsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListRealtimeLogConfigsCommandOutput) => void), + cb?: (err: any, data?: ListRealtimeLogConfigsCommandOutput) => void + ): Promise | void { + const command = new ListRealtimeLogConfigsCommand(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 streaming distributions.

              */ @@ -2466,6 +2797,58 @@ export class CloudFront extends CloudFrontClient { } } + /** + *

              Updates a real-time log configuration.

              + *

              When you update a real-time log configuration, all the parameters are updated with the + * values provided in the request. You cannot update some parameters independent of others. + * To update a real-time log configuration:

              + *
                + *
              1. + *

                Call GetRealtimeLogConfig to get the current real-time log + * configuration.

                + *
              2. + *
              3. + *

                Locally modify the parameters in the real-time log configuration that you want + * to update.

                + *
              4. + *
              5. + *

                Call this API (UpdateRealtimeLogConfig) by providing the entire + * real-time log configuration, including the parameters that you modified and + * those that you didn’t.

                + *
              6. + *
              + *

              You cannot update a real-time log configuration’s Name or + * ARN.

              + */ + public updateRealtimeLogConfig( + args: UpdateRealtimeLogConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateRealtimeLogConfig( + args: UpdateRealtimeLogConfigCommandInput, + cb: (err: any, data?: UpdateRealtimeLogConfigCommandOutput) => void + ): void; + public updateRealtimeLogConfig( + args: UpdateRealtimeLogConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateRealtimeLogConfigCommandOutput) => void + ): void; + public updateRealtimeLogConfig( + args: UpdateRealtimeLogConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateRealtimeLogConfigCommandOutput) => void), + cb?: (err: any, data?: UpdateRealtimeLogConfigCommandOutput) => void + ): Promise | void { + const command = new UpdateRealtimeLogConfigCommand(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); + } + } + /** *

              Update a streaming distribution.

              */ diff --git a/clients/client-cloudfront/CloudFrontClient.ts b/clients/client-cloudfront/CloudFrontClient.ts index 2498c0d317a5..856aa6b75937 100644 --- a/clients/client-cloudfront/CloudFrontClient.ts +++ b/clients/client-cloudfront/CloudFrontClient.ts @@ -17,11 +17,19 @@ import { CreateFieldLevelEncryptionProfileCommandOutput, } from "./commands/CreateFieldLevelEncryptionProfileCommand"; import { CreateInvalidationCommandInput, CreateInvalidationCommandOutput } from "./commands/CreateInvalidationCommand"; +import { + CreateMonitoringSubscriptionCommandInput, + CreateMonitoringSubscriptionCommandOutput, +} from "./commands/CreateMonitoringSubscriptionCommand"; import { CreateOriginRequestPolicyCommandInput, CreateOriginRequestPolicyCommandOutput, } from "./commands/CreateOriginRequestPolicyCommand"; import { CreatePublicKeyCommandInput, CreatePublicKeyCommandOutput } from "./commands/CreatePublicKeyCommand"; +import { + CreateRealtimeLogConfigCommandInput, + CreateRealtimeLogConfigCommandOutput, +} from "./commands/CreateRealtimeLogConfigCommand"; import { CreateStreamingDistributionCommandInput, CreateStreamingDistributionCommandOutput, @@ -44,11 +52,19 @@ import { DeleteFieldLevelEncryptionProfileCommandInput, DeleteFieldLevelEncryptionProfileCommandOutput, } from "./commands/DeleteFieldLevelEncryptionProfileCommand"; +import { + DeleteMonitoringSubscriptionCommandInput, + DeleteMonitoringSubscriptionCommandOutput, +} from "./commands/DeleteMonitoringSubscriptionCommand"; import { DeleteOriginRequestPolicyCommandInput, DeleteOriginRequestPolicyCommandOutput, } from "./commands/DeleteOriginRequestPolicyCommand"; import { DeletePublicKeyCommandInput, DeletePublicKeyCommandOutput } from "./commands/DeletePublicKeyCommand"; +import { + DeleteRealtimeLogConfigCommandInput, + DeleteRealtimeLogConfigCommandOutput, +} from "./commands/DeleteRealtimeLogConfigCommand"; import { DeleteStreamingDistributionCommandInput, DeleteStreamingDistributionCommandOutput, @@ -88,6 +104,10 @@ import { GetFieldLevelEncryptionProfileConfigCommandOutput, } from "./commands/GetFieldLevelEncryptionProfileConfigCommand"; import { GetInvalidationCommandInput, GetInvalidationCommandOutput } from "./commands/GetInvalidationCommand"; +import { + GetMonitoringSubscriptionCommandInput, + GetMonitoringSubscriptionCommandOutput, +} from "./commands/GetMonitoringSubscriptionCommand"; import { GetOriginRequestPolicyCommandInput, GetOriginRequestPolicyCommandOutput, @@ -98,6 +118,10 @@ import { } from "./commands/GetOriginRequestPolicyConfigCommand"; import { GetPublicKeyCommandInput, GetPublicKeyCommandOutput } from "./commands/GetPublicKeyCommand"; import { GetPublicKeyConfigCommandInput, GetPublicKeyConfigCommandOutput } from "./commands/GetPublicKeyConfigCommand"; +import { + GetRealtimeLogConfigCommandInput, + GetRealtimeLogConfigCommandOutput, +} from "./commands/GetRealtimeLogConfigCommand"; import { GetStreamingDistributionCommandInput, GetStreamingDistributionCommandOutput, @@ -119,6 +143,10 @@ import { ListDistributionsByOriginRequestPolicyIdCommandInput, ListDistributionsByOriginRequestPolicyIdCommandOutput, } from "./commands/ListDistributionsByOriginRequestPolicyIdCommand"; +import { + ListDistributionsByRealtimeLogConfigCommandInput, + ListDistributionsByRealtimeLogConfigCommandOutput, +} from "./commands/ListDistributionsByRealtimeLogConfigCommand"; import { ListDistributionsByWebACLIdCommandInput, ListDistributionsByWebACLIdCommandOutput, @@ -138,6 +166,10 @@ import { ListOriginRequestPoliciesCommandOutput, } from "./commands/ListOriginRequestPoliciesCommand"; import { ListPublicKeysCommandInput, ListPublicKeysCommandOutput } from "./commands/ListPublicKeysCommand"; +import { + ListRealtimeLogConfigsCommandInput, + ListRealtimeLogConfigsCommandOutput, +} from "./commands/ListRealtimeLogConfigsCommand"; import { ListStreamingDistributionsCommandInput, ListStreamingDistributionsCommandOutput, @@ -167,6 +199,10 @@ import { UpdateOriginRequestPolicyCommandOutput, } from "./commands/UpdateOriginRequestPolicyCommand"; import { UpdatePublicKeyCommandInput, UpdatePublicKeyCommandOutput } from "./commands/UpdatePublicKeyCommand"; +import { + UpdateRealtimeLogConfigCommandInput, + UpdateRealtimeLogConfigCommandOutput, +} from "./commands/UpdateRealtimeLogConfigCommand"; import { UpdateStreamingDistributionCommandInput, UpdateStreamingDistributionCommandOutput, @@ -228,8 +264,10 @@ export type ServiceInputTypes = | CreateFieldLevelEncryptionConfigCommandInput | CreateFieldLevelEncryptionProfileCommandInput | CreateInvalidationCommandInput + | CreateMonitoringSubscriptionCommandInput | CreateOriginRequestPolicyCommandInput | CreatePublicKeyCommandInput + | CreateRealtimeLogConfigCommandInput | CreateStreamingDistributionCommandInput | CreateStreamingDistributionWithTagsCommandInput | DeleteCachePolicyCommandInput @@ -237,8 +275,10 @@ export type ServiceInputTypes = | DeleteDistributionCommandInput | DeleteFieldLevelEncryptionConfigCommandInput | DeleteFieldLevelEncryptionProfileCommandInput + | DeleteMonitoringSubscriptionCommandInput | DeleteOriginRequestPolicyCommandInput | DeletePublicKeyCommandInput + | DeleteRealtimeLogConfigCommandInput | DeleteStreamingDistributionCommandInput | GetCachePolicyCommandInput | GetCachePolicyConfigCommandInput @@ -251,16 +291,19 @@ export type ServiceInputTypes = | GetFieldLevelEncryptionProfileCommandInput | GetFieldLevelEncryptionProfileConfigCommandInput | GetInvalidationCommandInput + | GetMonitoringSubscriptionCommandInput | GetOriginRequestPolicyCommandInput | GetOriginRequestPolicyConfigCommandInput | GetPublicKeyCommandInput | GetPublicKeyConfigCommandInput + | GetRealtimeLogConfigCommandInput | GetStreamingDistributionCommandInput | GetStreamingDistributionConfigCommandInput | ListCachePoliciesCommandInput | ListCloudFrontOriginAccessIdentitiesCommandInput | ListDistributionsByCachePolicyIdCommandInput | ListDistributionsByOriginRequestPolicyIdCommandInput + | ListDistributionsByRealtimeLogConfigCommandInput | ListDistributionsByWebACLIdCommandInput | ListDistributionsCommandInput | ListFieldLevelEncryptionConfigsCommandInput @@ -268,6 +311,7 @@ export type ServiceInputTypes = | ListInvalidationsCommandInput | ListOriginRequestPoliciesCommandInput | ListPublicKeysCommandInput + | ListRealtimeLogConfigsCommandInput | ListStreamingDistributionsCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput @@ -279,6 +323,7 @@ export type ServiceInputTypes = | UpdateFieldLevelEncryptionProfileCommandInput | UpdateOriginRequestPolicyCommandInput | UpdatePublicKeyCommandInput + | UpdateRealtimeLogConfigCommandInput | UpdateStreamingDistributionCommandInput; export type ServiceOutputTypes = @@ -289,8 +334,10 @@ export type ServiceOutputTypes = | CreateFieldLevelEncryptionConfigCommandOutput | CreateFieldLevelEncryptionProfileCommandOutput | CreateInvalidationCommandOutput + | CreateMonitoringSubscriptionCommandOutput | CreateOriginRequestPolicyCommandOutput | CreatePublicKeyCommandOutput + | CreateRealtimeLogConfigCommandOutput | CreateStreamingDistributionCommandOutput | CreateStreamingDistributionWithTagsCommandOutput | DeleteCachePolicyCommandOutput @@ -298,8 +345,10 @@ export type ServiceOutputTypes = | DeleteDistributionCommandOutput | DeleteFieldLevelEncryptionConfigCommandOutput | DeleteFieldLevelEncryptionProfileCommandOutput + | DeleteMonitoringSubscriptionCommandOutput | DeleteOriginRequestPolicyCommandOutput | DeletePublicKeyCommandOutput + | DeleteRealtimeLogConfigCommandOutput | DeleteStreamingDistributionCommandOutput | GetCachePolicyCommandOutput | GetCachePolicyConfigCommandOutput @@ -312,16 +361,19 @@ export type ServiceOutputTypes = | GetFieldLevelEncryptionProfileCommandOutput | GetFieldLevelEncryptionProfileConfigCommandOutput | GetInvalidationCommandOutput + | GetMonitoringSubscriptionCommandOutput | GetOriginRequestPolicyCommandOutput | GetOriginRequestPolicyConfigCommandOutput | GetPublicKeyCommandOutput | GetPublicKeyConfigCommandOutput + | GetRealtimeLogConfigCommandOutput | GetStreamingDistributionCommandOutput | GetStreamingDistributionConfigCommandOutput | ListCachePoliciesCommandOutput | ListCloudFrontOriginAccessIdentitiesCommandOutput | ListDistributionsByCachePolicyIdCommandOutput | ListDistributionsByOriginRequestPolicyIdCommandOutput + | ListDistributionsByRealtimeLogConfigCommandOutput | ListDistributionsByWebACLIdCommandOutput | ListDistributionsCommandOutput | ListFieldLevelEncryptionConfigsCommandOutput @@ -329,6 +381,7 @@ export type ServiceOutputTypes = | ListInvalidationsCommandOutput | ListOriginRequestPoliciesCommandOutput | ListPublicKeysCommandOutput + | ListRealtimeLogConfigsCommandOutput | ListStreamingDistributionsCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput @@ -340,6 +393,7 @@ export type ServiceOutputTypes = | UpdateFieldLevelEncryptionProfileCommandOutput | UpdateOriginRequestPolicyCommandOutput | UpdatePublicKeyCommandOutput + | UpdateRealtimeLogConfigCommandOutput | UpdateStreamingDistributionCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { diff --git a/clients/client-cloudfront/commands/CreateMonitoringSubscriptionCommand.ts b/clients/client-cloudfront/commands/CreateMonitoringSubscriptionCommand.ts new file mode 100644 index 000000000000..bb3268fc0302 --- /dev/null +++ b/clients/client-cloudfront/commands/CreateMonitoringSubscriptionCommand.ts @@ -0,0 +1,73 @@ +import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { CreateMonitoringSubscriptionRequest, CreateMonitoringSubscriptionResult } from "../models/models_0"; +import { + deserializeAws_restXmlCreateMonitoringSubscriptionCommand, + serializeAws_restXmlCreateMonitoringSubscriptionCommand, +} from "../protocols/Aws_restXml"; +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 CreateMonitoringSubscriptionCommandInput = CreateMonitoringSubscriptionRequest; +export type CreateMonitoringSubscriptionCommandOutput = CreateMonitoringSubscriptionResult & __MetadataBearer; + +export class CreateMonitoringSubscriptionCommand extends $Command< + CreateMonitoringSubscriptionCommandInput, + CreateMonitoringSubscriptionCommandOutput, + CloudFrontClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateMonitoringSubscriptionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudFrontClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateMonitoringSubscriptionRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateMonitoringSubscriptionResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateMonitoringSubscriptionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlCreateMonitoringSubscriptionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restXmlCreateMonitoringSubscriptionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudfront/commands/CreateRealtimeLogConfigCommand.ts b/clients/client-cloudfront/commands/CreateRealtimeLogConfigCommand.ts new file mode 100644 index 000000000000..13a182e949ff --- /dev/null +++ b/clients/client-cloudfront/commands/CreateRealtimeLogConfigCommand.ts @@ -0,0 +1,70 @@ +import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { CreateRealtimeLogConfigRequest, CreateRealtimeLogConfigResult } from "../models/models_0"; +import { + deserializeAws_restXmlCreateRealtimeLogConfigCommand, + serializeAws_restXmlCreateRealtimeLogConfigCommand, +} from "../protocols/Aws_restXml"; +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 CreateRealtimeLogConfigCommandInput = CreateRealtimeLogConfigRequest; +export type CreateRealtimeLogConfigCommandOutput = CreateRealtimeLogConfigResult & __MetadataBearer; + +export class CreateRealtimeLogConfigCommand extends $Command< + CreateRealtimeLogConfigCommandInput, + CreateRealtimeLogConfigCommandOutput, + CloudFrontClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateRealtimeLogConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudFrontClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateRealtimeLogConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateRealtimeLogConfigResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateRealtimeLogConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlCreateRealtimeLogConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restXmlCreateRealtimeLogConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudfront/commands/DeleteMonitoringSubscriptionCommand.ts b/clients/client-cloudfront/commands/DeleteMonitoringSubscriptionCommand.ts new file mode 100644 index 000000000000..adf2fd406fbb --- /dev/null +++ b/clients/client-cloudfront/commands/DeleteMonitoringSubscriptionCommand.ts @@ -0,0 +1,73 @@ +import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { DeleteMonitoringSubscriptionRequest, DeleteMonitoringSubscriptionResult } from "../models/models_0"; +import { + deserializeAws_restXmlDeleteMonitoringSubscriptionCommand, + serializeAws_restXmlDeleteMonitoringSubscriptionCommand, +} from "../protocols/Aws_restXml"; +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 DeleteMonitoringSubscriptionCommandInput = DeleteMonitoringSubscriptionRequest; +export type DeleteMonitoringSubscriptionCommandOutput = DeleteMonitoringSubscriptionResult & __MetadataBearer; + +export class DeleteMonitoringSubscriptionCommand extends $Command< + DeleteMonitoringSubscriptionCommandInput, + DeleteMonitoringSubscriptionCommandOutput, + CloudFrontClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteMonitoringSubscriptionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudFrontClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteMonitoringSubscriptionRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteMonitoringSubscriptionResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteMonitoringSubscriptionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlDeleteMonitoringSubscriptionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restXmlDeleteMonitoringSubscriptionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudfront/commands/DeleteRealtimeLogConfigCommand.ts b/clients/client-cloudfront/commands/DeleteRealtimeLogConfigCommand.ts new file mode 100644 index 000000000000..dff92f4e2a5d --- /dev/null +++ b/clients/client-cloudfront/commands/DeleteRealtimeLogConfigCommand.ts @@ -0,0 +1,70 @@ +import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { DeleteRealtimeLogConfigRequest } from "../models/models_0"; +import { + deserializeAws_restXmlDeleteRealtimeLogConfigCommand, + serializeAws_restXmlDeleteRealtimeLogConfigCommand, +} from "../protocols/Aws_restXml"; +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 DeleteRealtimeLogConfigCommandInput = DeleteRealtimeLogConfigRequest; +export type DeleteRealtimeLogConfigCommandOutput = __MetadataBearer; + +export class DeleteRealtimeLogConfigCommand extends $Command< + DeleteRealtimeLogConfigCommandInput, + DeleteRealtimeLogConfigCommandOutput, + CloudFrontClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteRealtimeLogConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudFrontClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteRealtimeLogConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteRealtimeLogConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlDeleteRealtimeLogConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restXmlDeleteRealtimeLogConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudfront/commands/GetMonitoringSubscriptionCommand.ts b/clients/client-cloudfront/commands/GetMonitoringSubscriptionCommand.ts new file mode 100644 index 000000000000..3812344009da --- /dev/null +++ b/clients/client-cloudfront/commands/GetMonitoringSubscriptionCommand.ts @@ -0,0 +1,73 @@ +import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { GetMonitoringSubscriptionRequest, GetMonitoringSubscriptionResult } from "../models/models_0"; +import { + deserializeAws_restXmlGetMonitoringSubscriptionCommand, + serializeAws_restXmlGetMonitoringSubscriptionCommand, +} from "../protocols/Aws_restXml"; +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 GetMonitoringSubscriptionCommandInput = GetMonitoringSubscriptionRequest; +export type GetMonitoringSubscriptionCommandOutput = GetMonitoringSubscriptionResult & __MetadataBearer; + +export class GetMonitoringSubscriptionCommand extends $Command< + GetMonitoringSubscriptionCommandInput, + GetMonitoringSubscriptionCommandOutput, + CloudFrontClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetMonitoringSubscriptionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudFrontClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetMonitoringSubscriptionRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetMonitoringSubscriptionResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetMonitoringSubscriptionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlGetMonitoringSubscriptionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restXmlGetMonitoringSubscriptionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudfront/commands/GetRealtimeLogConfigCommand.ts b/clients/client-cloudfront/commands/GetRealtimeLogConfigCommand.ts new file mode 100644 index 000000000000..ec61f31d156f --- /dev/null +++ b/clients/client-cloudfront/commands/GetRealtimeLogConfigCommand.ts @@ -0,0 +1,70 @@ +import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { GetRealtimeLogConfigRequest, GetRealtimeLogConfigResult } from "../models/models_0"; +import { + deserializeAws_restXmlGetRealtimeLogConfigCommand, + serializeAws_restXmlGetRealtimeLogConfigCommand, +} from "../protocols/Aws_restXml"; +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 GetRealtimeLogConfigCommandInput = GetRealtimeLogConfigRequest; +export type GetRealtimeLogConfigCommandOutput = GetRealtimeLogConfigResult & __MetadataBearer; + +export class GetRealtimeLogConfigCommand extends $Command< + GetRealtimeLogConfigCommandInput, + GetRealtimeLogConfigCommandOutput, + CloudFrontClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetRealtimeLogConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudFrontClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetRealtimeLogConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetRealtimeLogConfigResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetRealtimeLogConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlGetRealtimeLogConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restXmlGetRealtimeLogConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudfront/commands/ListDistributionsByRealtimeLogConfigCommand.ts b/clients/client-cloudfront/commands/ListDistributionsByRealtimeLogConfigCommand.ts new file mode 100644 index 000000000000..159c179f361e --- /dev/null +++ b/clients/client-cloudfront/commands/ListDistributionsByRealtimeLogConfigCommand.ts @@ -0,0 +1,78 @@ +import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { ListDistributionsByRealtimeLogConfigRequest } from "../models/models_0"; +import { ListDistributionsByRealtimeLogConfigResult } from "../models/models_1"; +import { + deserializeAws_restXmlListDistributionsByRealtimeLogConfigCommand, + serializeAws_restXmlListDistributionsByRealtimeLogConfigCommand, +} from "../protocols/Aws_restXml"; +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 ListDistributionsByRealtimeLogConfigCommandInput = ListDistributionsByRealtimeLogConfigRequest; +export type ListDistributionsByRealtimeLogConfigCommandOutput = ListDistributionsByRealtimeLogConfigResult & + __MetadataBearer; + +export class ListDistributionsByRealtimeLogConfigCommand extends $Command< + ListDistributionsByRealtimeLogConfigCommandInput, + ListDistributionsByRealtimeLogConfigCommandOutput, + CloudFrontClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListDistributionsByRealtimeLogConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudFrontClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListDistributionsByRealtimeLogConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListDistributionsByRealtimeLogConfigResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListDistributionsByRealtimeLogConfigCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restXmlListDistributionsByRealtimeLogConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restXmlListDistributionsByRealtimeLogConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudfront/commands/ListDistributionsByWebACLIdCommand.ts b/clients/client-cloudfront/commands/ListDistributionsByWebACLIdCommand.ts index 2c55b90c71bd..bb142f807809 100644 --- a/clients/client-cloudfront/commands/ListDistributionsByWebACLIdCommand.ts +++ b/clients/client-cloudfront/commands/ListDistributionsByWebACLIdCommand.ts @@ -1,5 +1,5 @@ import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; -import { ListDistributionsByWebACLIdRequest, ListDistributionsByWebACLIdResult } from "../models/models_0"; +import { ListDistributionsByWebACLIdRequest, ListDistributionsByWebACLIdResult } from "../models/models_1"; import { deserializeAws_restXmlListDistributionsByWebACLIdCommand, serializeAws_restXmlListDistributionsByWebACLIdCommand, diff --git a/clients/client-cloudfront/commands/ListFieldLevelEncryptionConfigsCommand.ts b/clients/client-cloudfront/commands/ListFieldLevelEncryptionConfigsCommand.ts index a01b78182edc..1f5d9ab3d43c 100644 --- a/clients/client-cloudfront/commands/ListFieldLevelEncryptionConfigsCommand.ts +++ b/clients/client-cloudfront/commands/ListFieldLevelEncryptionConfigsCommand.ts @@ -1,5 +1,5 @@ import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; -import { ListFieldLevelEncryptionConfigsRequest, ListFieldLevelEncryptionConfigsResult } from "../models/models_0"; +import { ListFieldLevelEncryptionConfigsRequest, ListFieldLevelEncryptionConfigsResult } from "../models/models_1"; import { deserializeAws_restXmlListFieldLevelEncryptionConfigsCommand, serializeAws_restXmlListFieldLevelEncryptionConfigsCommand, diff --git a/clients/client-cloudfront/commands/ListFieldLevelEncryptionProfilesCommand.ts b/clients/client-cloudfront/commands/ListFieldLevelEncryptionProfilesCommand.ts index 055dcf5e6bf5..f166cf95f1fa 100644 --- a/clients/client-cloudfront/commands/ListFieldLevelEncryptionProfilesCommand.ts +++ b/clients/client-cloudfront/commands/ListFieldLevelEncryptionProfilesCommand.ts @@ -1,5 +1,5 @@ import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; -import { ListFieldLevelEncryptionProfilesRequest, ListFieldLevelEncryptionProfilesResult } from "../models/models_0"; +import { ListFieldLevelEncryptionProfilesRequest, ListFieldLevelEncryptionProfilesResult } from "../models/models_1"; import { deserializeAws_restXmlListFieldLevelEncryptionProfilesCommand, serializeAws_restXmlListFieldLevelEncryptionProfilesCommand, diff --git a/clients/client-cloudfront/commands/ListInvalidationsCommand.ts b/clients/client-cloudfront/commands/ListInvalidationsCommand.ts index d28da10c4c18..4ac179030d13 100644 --- a/clients/client-cloudfront/commands/ListInvalidationsCommand.ts +++ b/clients/client-cloudfront/commands/ListInvalidationsCommand.ts @@ -1,5 +1,5 @@ import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; -import { ListInvalidationsRequest, ListInvalidationsResult } from "../models/models_0"; +import { ListInvalidationsRequest, ListInvalidationsResult } from "../models/models_1"; import { deserializeAws_restXmlListInvalidationsCommand, serializeAws_restXmlListInvalidationsCommand, diff --git a/clients/client-cloudfront/commands/ListOriginRequestPoliciesCommand.ts b/clients/client-cloudfront/commands/ListOriginRequestPoliciesCommand.ts index a3b193f6ae1f..e7474a837fbc 100644 --- a/clients/client-cloudfront/commands/ListOriginRequestPoliciesCommand.ts +++ b/clients/client-cloudfront/commands/ListOriginRequestPoliciesCommand.ts @@ -1,5 +1,5 @@ import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; -import { ListOriginRequestPoliciesRequest, ListOriginRequestPoliciesResult } from "../models/models_0"; +import { ListOriginRequestPoliciesRequest, ListOriginRequestPoliciesResult } from "../models/models_1"; import { deserializeAws_restXmlListOriginRequestPoliciesCommand, serializeAws_restXmlListOriginRequestPoliciesCommand, diff --git a/clients/client-cloudfront/commands/ListPublicKeysCommand.ts b/clients/client-cloudfront/commands/ListPublicKeysCommand.ts index 969c0396727e..e133e758e458 100644 --- a/clients/client-cloudfront/commands/ListPublicKeysCommand.ts +++ b/clients/client-cloudfront/commands/ListPublicKeysCommand.ts @@ -1,6 +1,5 @@ import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; -import { ListPublicKeysRequest } from "../models/models_0"; -import { ListPublicKeysResult } from "../models/models_1"; +import { ListPublicKeysRequest, ListPublicKeysResult } from "../models/models_1"; import { deserializeAws_restXmlListPublicKeysCommand, serializeAws_restXmlListPublicKeysCommand, diff --git a/clients/client-cloudfront/commands/ListRealtimeLogConfigsCommand.ts b/clients/client-cloudfront/commands/ListRealtimeLogConfigsCommand.ts new file mode 100644 index 000000000000..0ca4d6fb3484 --- /dev/null +++ b/clients/client-cloudfront/commands/ListRealtimeLogConfigsCommand.ts @@ -0,0 +1,70 @@ +import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { ListRealtimeLogConfigsRequest, ListRealtimeLogConfigsResult } from "../models/models_1"; +import { + deserializeAws_restXmlListRealtimeLogConfigsCommand, + serializeAws_restXmlListRealtimeLogConfigsCommand, +} from "../protocols/Aws_restXml"; +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 ListRealtimeLogConfigsCommandInput = ListRealtimeLogConfigsRequest; +export type ListRealtimeLogConfigsCommandOutput = ListRealtimeLogConfigsResult & __MetadataBearer; + +export class ListRealtimeLogConfigsCommand extends $Command< + ListRealtimeLogConfigsCommandInput, + ListRealtimeLogConfigsCommandOutput, + CloudFrontClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListRealtimeLogConfigsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudFrontClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListRealtimeLogConfigsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListRealtimeLogConfigsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListRealtimeLogConfigsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlListRealtimeLogConfigsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restXmlListRealtimeLogConfigsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudfront/commands/UpdateRealtimeLogConfigCommand.ts b/clients/client-cloudfront/commands/UpdateRealtimeLogConfigCommand.ts new file mode 100644 index 000000000000..73037f532632 --- /dev/null +++ b/clients/client-cloudfront/commands/UpdateRealtimeLogConfigCommand.ts @@ -0,0 +1,70 @@ +import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { UpdateRealtimeLogConfigRequest, UpdateRealtimeLogConfigResult } from "../models/models_1"; +import { + deserializeAws_restXmlUpdateRealtimeLogConfigCommand, + serializeAws_restXmlUpdateRealtimeLogConfigCommand, +} from "../protocols/Aws_restXml"; +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 UpdateRealtimeLogConfigCommandInput = UpdateRealtimeLogConfigRequest; +export type UpdateRealtimeLogConfigCommandOutput = UpdateRealtimeLogConfigResult & __MetadataBearer; + +export class UpdateRealtimeLogConfigCommand extends $Command< + UpdateRealtimeLogConfigCommandInput, + UpdateRealtimeLogConfigCommandOutput, + CloudFrontClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateRealtimeLogConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CloudFrontClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateRealtimeLogConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateRealtimeLogConfigResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateRealtimeLogConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlUpdateRealtimeLogConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restXmlUpdateRealtimeLogConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cloudfront/index.ts b/clients/client-cloudfront/index.ts index 650db5d6860e..97de3fbb22ee 100644 --- a/clients/client-cloudfront/index.ts +++ b/clients/client-cloudfront/index.ts @@ -7,8 +7,10 @@ export * from "./commands/CreateDistributionWithTagsCommand"; export * from "./commands/CreateFieldLevelEncryptionConfigCommand"; export * from "./commands/CreateFieldLevelEncryptionProfileCommand"; export * from "./commands/CreateInvalidationCommand"; +export * from "./commands/CreateMonitoringSubscriptionCommand"; export * from "./commands/CreateOriginRequestPolicyCommand"; export * from "./commands/CreatePublicKeyCommand"; +export * from "./commands/CreateRealtimeLogConfigCommand"; export * from "./commands/CreateStreamingDistributionCommand"; export * from "./commands/CreateStreamingDistributionWithTagsCommand"; export * from "./commands/DeleteCachePolicyCommand"; @@ -16,8 +18,10 @@ export * from "./commands/DeleteCloudFrontOriginAccessIdentityCommand"; export * from "./commands/DeleteDistributionCommand"; export * from "./commands/DeleteFieldLevelEncryptionConfigCommand"; export * from "./commands/DeleteFieldLevelEncryptionProfileCommand"; +export * from "./commands/DeleteMonitoringSubscriptionCommand"; export * from "./commands/DeleteOriginRequestPolicyCommand"; export * from "./commands/DeletePublicKeyCommand"; +export * from "./commands/DeleteRealtimeLogConfigCommand"; export * from "./commands/DeleteStreamingDistributionCommand"; export * from "./commands/GetCachePolicyCommand"; export * from "./commands/GetCachePolicyConfigCommand"; @@ -30,10 +34,12 @@ export * from "./commands/GetFieldLevelEncryptionConfigCommand"; export * from "./commands/GetFieldLevelEncryptionProfileCommand"; export * from "./commands/GetFieldLevelEncryptionProfileConfigCommand"; export * from "./commands/GetInvalidationCommand"; +export * from "./commands/GetMonitoringSubscriptionCommand"; export * from "./commands/GetOriginRequestPolicyCommand"; export * from "./commands/GetOriginRequestPolicyConfigCommand"; export * from "./commands/GetPublicKeyCommand"; export * from "./commands/GetPublicKeyConfigCommand"; +export * from "./commands/GetRealtimeLogConfigCommand"; export * from "./commands/GetStreamingDistributionCommand"; export * from "./commands/GetStreamingDistributionConfigCommand"; export * from "./commands/ListCachePoliciesCommand"; @@ -41,12 +47,14 @@ export * from "./commands/ListCloudFrontOriginAccessIdentitiesCommand"; export * from "./commands/ListDistributionsCommand"; export * from "./commands/ListDistributionsByCachePolicyIdCommand"; export * from "./commands/ListDistributionsByOriginRequestPolicyIdCommand"; +export * from "./commands/ListDistributionsByRealtimeLogConfigCommand"; export * from "./commands/ListDistributionsByWebACLIdCommand"; export * from "./commands/ListFieldLevelEncryptionConfigsCommand"; export * from "./commands/ListFieldLevelEncryptionProfilesCommand"; export * from "./commands/ListInvalidationsCommand"; export * from "./commands/ListOriginRequestPoliciesCommand"; export * from "./commands/ListPublicKeysCommand"; +export * from "./commands/ListRealtimeLogConfigsCommand"; export * from "./commands/ListStreamingDistributionsCommand"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/TagResourceCommand"; @@ -58,5 +66,6 @@ export * from "./commands/UpdateFieldLevelEncryptionConfigCommand"; export * from "./commands/UpdateFieldLevelEncryptionProfileCommand"; export * from "./commands/UpdateOriginRequestPolicyCommand"; export * from "./commands/UpdatePublicKeyCommand"; +export * from "./commands/UpdateRealtimeLogConfigCommand"; export * from "./commands/UpdateStreamingDistributionCommand"; export * from "./models/index"; diff --git a/clients/client-cloudfront/models/models_0.ts b/clients/client-cloudfront/models/models_0.ts index 19337b9ce9a4..76bbe988a92b 100644 --- a/clients/client-cloudfront/models/models_0.ts +++ b/clients/client-cloudfront/models/models_0.ts @@ -89,6 +89,12 @@ export namespace Signer { * Content through CloudFront in the Amazon CloudFront Developer Guide.

              */ export interface ActiveTrustedSigners { + /** + *

              A complex type that contains one Signer complex type for each trusted + * signer that is specified in the TrustedSigners complex type.

              + */ + Items?: Signer[]; + /** *

              Enabled is true if any of the AWS accounts listed in the * TrustedSigners complex type for this distribution have active CloudFront key @@ -96,12 +102,6 @@ export interface ActiveTrustedSigners { */ Enabled: boolean | undefined; - /** - *

              A complex type that contains one Signer complex type for each trusted - * signer that is specified in the TrustedSigners complex type.

              - */ - Items?: Signer[]; - /** *

              The number of trusted signers specified in the TrustedSigners complex type.

              */ @@ -206,6 +206,12 @@ export type Method = "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | * responses to be cached correctly.

              */ export interface CachedMethods { + /** + *

              A complex type that contains the HTTP methods that you want CloudFront to cache responses + * to.

              + */ + Items: (Method | string)[] | undefined; + /** *

              The number of HTTP methods for which you want CloudFront to cache responses. Valid values are * 2 (for caching responses to GET and HEAD requests) @@ -213,12 +219,6 @@ export interface CachedMethods { * OPTIONS requests).

              */ Quantity: number | undefined; - - /** - *

              A complex type that contains the HTTP methods that you want CloudFront to cache responses - * to.

              - */ - Items: (Method | string)[] | undefined; } export namespace CachedMethods { @@ -257,6 +257,12 @@ export interface AllowedMethods { */ Quantity: number | undefined; + /** + *

              A complex type that contains the HTTP methods that you want CloudFront to process and forward + * to your origin.

              + */ + Items: (Method | string)[] | undefined; + /** *

              A complex type that controls whether CloudFront caches the response to requests using the * specified HTTP methods. There are two choices:

              @@ -274,12 +280,6 @@ export interface AllowedMethods { * responses to be cached correctly.

              */ CachedMethods?: CachedMethods; - - /** - *

              A complex type that contains the HTTP methods that you want CloudFront to process and forward - * to your origin.

              - */ - Items: (Method | string)[] | undefined; } export namespace AllowedMethods { @@ -310,14 +310,14 @@ export type ItemSelection = "all" | "none" | "whitelist"; */ export interface CookieNames { /** - *

              The number of cookie names in the Items list.

              + *

              A list of cookie names.

              */ - Quantity: number | undefined; + Items?: string[]; /** - *

              A list of cookie names.

              + *

              The number of cookie names in the Items list.

              */ - Items?: string[]; + Quantity: number | undefined; } export namespace CookieNames { @@ -330,31 +330,16 @@ export namespace CookieNames { *

              This field is deprecated. We recommend that you use a cache policy or an origin * request policy instead of this field.

              *

              If you want to include cookies in the cache key, use CookiesConfig in a - * cache policy. See CreateCachePolicy.

              + * cache policy. See CachePolicy.

              *

              If you want to send cookies to the origin but not include them in the cache key, use * CookiesConfig in an origin request policy. See - * CreateOriginRequestPolicy.

              + * OriginRequestPolicy.

              *

              A complex type that specifies whether you want CloudFront to forward cookies to the origin * and, if so, which ones. For more information about forwarding cookies to the origin, see * Caching Content * Based on Cookies in the Amazon CloudFront Developer Guide.

              */ export interface CookiePreference { - /** - *

              This field is deprecated. We recommend that you use a cache policy or an origin - * request policy instead of this field.

              - *

              If you want to include cookies in the cache key, use a cache policy. For more information, - * see Creating cache policies in the Amazon CloudFront Developer Guide.

              - *

              If you want to send cookies to the origin but not include them in the cache key, use origin - * request policy. For more information, see Creating origin request policies in the - * Amazon CloudFront Developer Guide.

              - *

              Specifies which cookies to forward to the origin for this cache behavior: all, none, or - * the list of cookies specified in the WhitelistedNames complex type.

              - *

              Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an - * Amazon S3 origin, specify none for the Forward element.

              - */ - Forward: ItemSelection | string | undefined; - /** *

              This field is deprecated. We recommend that you use a cache policy or an origin * request policy instead of this field.

              @@ -376,6 +361,21 @@ export interface CookiePreference { * CloudFront Limits in the AWS General Reference.

              */ WhitelistedNames?: CookieNames; + + /** + *

              This field is deprecated. We recommend that you use a cache policy or an origin + * request policy instead of this field.

              + *

              If you want to include cookies in the cache key, use a cache policy. For more information, + * see Creating cache policies in the Amazon CloudFront Developer Guide.

              + *

              If you want to send cookies to the origin but not include them in the cache key, use origin + * request policy. For more information, see Creating origin request policies in the + * Amazon CloudFront Developer Guide.

              + *

              Specifies which cookies to forward to the origin for this cache behavior: all, none, or + * the list of cookies specified in the WhitelistedNames complex type.

              + *

              Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an + * Amazon S3 origin, specify none for the Forward element.

              + */ + Forward: ItemSelection | string | undefined; } export namespace CookiePreference { @@ -389,14 +389,14 @@ export namespace CookiePreference { */ export interface Headers { /** - *

              A list of HTTP header names.

              + *

              The number of header names in the Items list.

              */ - Items?: string[]; + Quantity: number | undefined; /** - *

              The number of header names in the Items list.

              + *

              A list of HTTP header names.

              */ - Quantity: number | undefined; + Items?: string[]; } export namespace Headers { @@ -410,10 +410,10 @@ export namespace Headers { * request policy instead of this field.

              *

              If you want to include query strings in the cache key, use * QueryStringsConfig in a cache policy. See - * CreateCachePolicy.

              + * CachePolicy.

              *

              If you want to send query strings to the origin but not include them in the cache key, * use QueryStringsConfig in an origin request policy. See - * CreateOriginRequestPolicy.

              + * OriginRequestPolicy.

              *

              A complex type that contains information about the query string parameters that you want * CloudFront to use for caching for a cache behavior. *

              @@ -465,19 +465,6 @@ export interface ForwardedValues { */ Cookies: CookiePreference | undefined; - /** - *

              This field is deprecated. We recommend that you use a cache policy or an origin - * request policy instead of this field.

              - *

              If you want to include query strings in the cache key, use a cache policy. For more - * information, see Creating cache policies in the Amazon CloudFront Developer Guide.

              - *

              If you want to send query strings to the origin but not include them in the cache key, use - * an origin request policy. For more information, see Creating origin request policies in the - * Amazon CloudFront Developer Guide.

              - *

              A complex type that contains information about the query string parameters that you - * want CloudFront to use for caching for this cache behavior.

              - */ - QueryStringCacheKeys?: QueryStringCacheKeys; - /** *

              This field is deprecated. We recommend that you use a cache policy or an origin * request policy instead of this field.

              @@ -520,6 +507,19 @@ export interface ForwardedValues { * Caching Content Based on Request Headers in the Amazon CloudFront Developer Guide.

              */ Headers?: Headers; + + /** + *

              This field is deprecated. We recommend that you use a cache policy or an origin + * request policy instead of this field.

              + *

              If you want to include query strings in the cache key, use a cache policy. For more + * information, see Creating cache policies in the Amazon CloudFront Developer Guide.

              + *

              If you want to send query strings to the origin but not include them in the cache key, use + * an origin request policy. For more information, see Creating origin request policies in the + * Amazon CloudFront Developer Guide.

              + *

              A complex type that contains information about the query string parameters that you + * want CloudFront to use for caching for this cache behavior.

              + */ + QueryStringCacheKeys?: QueryStringCacheKeys; } export namespace ForwardedValues { @@ -541,6 +541,12 @@ export interface LambdaFunctionAssociation { */ IncludeBody?: boolean; + /** + *

              The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias + * or $LATEST.

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

              Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

              *
                @@ -569,12 +575,6 @@ export interface LambdaFunctionAssociation { *
              */ EventType: EventType | string | undefined; - - /** - *

              The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias - * or $LATEST.

              - */ - LambdaFunctionARN: string | undefined; } export namespace LambdaFunctionAssociation { @@ -638,10 +638,12 @@ export namespace LambdaFunctionAssociations { */ export interface TrustedSigners { /** - *

              Specifies whether you want to require viewers to use signed URLs to access the files - * specified by PathPattern and TargetOriginId.

              + *

              + * Optional: A complex type that contains trusted signers + * for this cache behavior. If Quantity is 0, you can omit + * Items.

              */ - Enabled: boolean | undefined; + Items?: string[]; /** *

              The number of trusted signers for this cache behavior.

              @@ -649,12 +651,10 @@ export interface TrustedSigners { Quantity: number | undefined; /** - *

              - * Optional: A complex type that contains trusted signers - * for this cache behavior. If Quantity is 0, you can omit - * Items.

              + *

              Specifies whether you want to require viewers to use signed URLs to access the files + * specified by PathPattern and TargetOriginId.

              */ - Items?: string[]; + Enabled: boolean | undefined; } export namespace TrustedSigners { @@ -686,24 +686,51 @@ export type ViewerProtocolPolicy = "allow-all" | "https-only" | "redirect-to-htt */ export interface CacheBehavior { /** - *

              This field is deprecated. We recommend that you use the DefaultTTL field in a - * cache policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the + *

              The pattern (for example, images/*.jpg) that specifies which requests to + * apply the behavior to. When CloudFront receives a viewer request, the requested path is compared + * with path patterns in the order in which cache behaviors are listed in the + * distribution.

              + * + *

              You can optionally include a slash (/) at the beginning of the path + * pattern. For example, /images/*.jpg. CloudFront behavior is the same with or without + * the leading /.

              + *
              + *

              The path pattern for the default cache behavior is * and cannot be + * changed. If the request for an object does not match the path pattern for any cache behaviors, + * CloudFront applies the behavior in the default cache behavior.

              + *

              For more information, see Path + * Pattern in the Amazon CloudFront Developer Guide.

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

              Indicates whether you want to distribute media files in the Microsoft Smooth Streaming + * format using the origin that is associated with this cache behavior. If so, specify + * true; if not, specify false. If you specify true for + * SmoothStreaming, you can still distribute other content using this cache + * behavior if the content matches the value of PathPattern.

              + */ + SmoothStreaming?: boolean; + + /** + *

              This field is deprecated. We recommend that you use the MaxTTL field in a cache + * policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the * Amazon CloudFront Developer Guide.

              - *

              The default amount of time that you want objects to stay in CloudFront caches before CloudFront + *

              The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront * forwards another request to your origin to determine whether the object has been updated. The - * value that you specify applies only when your origin does not add HTTP headers such as + * value that you specify applies only when your origin adds HTTP headers such as * Cache-Control max-age, Cache-Control s-maxage, and * Expires to objects. For more information, see Managing How Long Content Stays * in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

              */ - DefaultTTL?: number; + MaxTTL?: number; /** - *

              The unique identifier of the origin request policy that is attached to this cache behavior. - * For more information, see Creating origin request policies or Using the managed origin request policies in the + *

              The unique identifier of the cache policy that is attached to this cache behavior. For more + * information, see Creating cache policies or Using the managed cache policies in the * Amazon CloudFront Developer Guide.

              */ - OriginRequestPolicyId?: string; + CachePolicyId?: string; /** *

              This field is deprecated. We recommend that you use a cache policy or an origin @@ -720,34 +747,40 @@ export interface CacheBehavior { ForwardedValues?: ForwardedValues; /** - *

              The value of ID for the field-level encryption configuration that you want CloudFront - * to use for encrypting specific fields of data for this cache behavior.

              + *

              A complex type that contains zero or more Lambda function associations for a cache + * behavior.

              */ - FieldLevelEncryptionId?: string; + LambdaFunctionAssociations?: LambdaFunctionAssociations; /** - *

              Indicates whether you want to distribute media files in the Microsoft Smooth Streaming - * format using the origin that is associated with this cache behavior. If so, specify - * true; if not, specify false. If you specify true for - * SmoothStreaming, you can still distribute other content using this cache - * behavior if the content matches the value of PathPattern.

              + *

              The unique identifier of the origin request policy that is attached to this cache behavior. + * For more information, see Creating origin request policies or Using the managed origin request policies in the + * Amazon CloudFront Developer Guide.

              */ - SmoothStreaming?: boolean; + OriginRequestPolicyId?: string; /** - *

              This field is deprecated. We recommend that you use the MinTTL field in a cache - * policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the - * Amazon CloudFront Developer Guide.

              - *

              The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront - * forwards another request to your origin to determine whether the object has been updated. For - * more information, see - * Managing How Long Content Stays in an Edge Cache (Expiration) in the - * Amazon CloudFront Developer Guide.

              - *

              You must specify 0 for MinTTL if you configure CloudFront to - * forward all headers to your origin (under Headers, if you specify 1 - * for Quantity and * for Name).

              + *

              A complex type that controls which HTTP methods CloudFront processes and forwards to your + * Amazon S3 bucket or your custom origin. There are three choices:

              + *
                + *
              • + *

                CloudFront forwards only GET and HEAD requests.

                + *
              • + *
              • + *

                CloudFront forwards only GET, HEAD, and OPTIONS + * requests.

                + *
              • + *
              • + *

                CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and + * DELETE requests.

                + *
              • + *
              + *

              If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or + * to your custom origin so users can't perform operations that you don't want them to. For + * example, you might not want users to have permissions to delete objects from your + * origin.

              */ - MinTTL?: number; + AllowedMethods?: AllowedMethods; /** *

              The protocol that viewers can use to access the files in the origin specified by @@ -785,59 +818,11 @@ export interface CacheBehavior { ViewerProtocolPolicy: ViewerProtocolPolicy | string | undefined; /** - *

              This field is deprecated. We recommend that you use the MaxTTL field in a cache - * policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the - * Amazon CloudFront Developer Guide.

              - *

              The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront - * forwards another request to your origin to determine whether the object has been updated. The - * value that you specify applies only when your origin adds HTTP headers such as - * Cache-Control max-age, Cache-Control s-maxage, and - * Expires to objects. For more information, see Managing How Long Content Stays - * in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

              + *

              Whether you want CloudFront to automatically compress certain files for this cache behavior. + * If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the + * Amazon CloudFront Developer Guide.

              */ - MaxTTL?: number; - - /** - *

              A complex type that specifies the AWS accounts, if any, that you want to allow to - * create signed URLs for private content.

              - *

              If you want to require signed URLs in requests for objects in the target origin that - * match the PathPattern for this cache behavior, specify true for - * Enabled, and specify the applicable values for Quantity and - * Items. For more information, see Serving Private Content - * with Signed URLs and Signed Cookies in the Amazon CloudFront Developer Guide. - *

              - *

              If you don’t want to require signed URLs in requests for objects that match - * PathPattern, specify false for Enabled and - * 0 for Quantity. Omit Items.

              - *

              To add, change, or remove one or more trusted signers, change Enabled to - * true (if it’s currently false), change Quantity - * as applicable, and specify all of the trusted signers that you want to include in the - * updated distribution.

              - */ - TrustedSigners: TrustedSigners | undefined; - - /** - *

              A complex type that controls which HTTP methods CloudFront processes and forwards to your - * Amazon S3 bucket or your custom origin. There are three choices:

              - *
                - *
              • - *

                CloudFront forwards only GET and HEAD requests.

                - *
              • - *
              • - *

                CloudFront forwards only GET, HEAD, and OPTIONS - * requests.

                - *
              • - *
              • - *

                CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and - * DELETE requests.

                - *
              • - *
              - *

              If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or - * to your custom origin so users can't perform operations that you don't want them to. For - * example, you might not want users to have permissions to delete objects from your - * origin.

              - */ - AllowedMethods?: AllowedMethods; + Compress?: boolean; /** *

              The value of ID for the origin that you want CloudFront to route requests to @@ -846,42 +831,63 @@ export interface CacheBehavior { TargetOriginId: string | undefined; /** - *

              Whether you want CloudFront to automatically compress certain files for this cache behavior. - * If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the - * Amazon CloudFront Developer Guide.

              + *

              The value of ID for the field-level encryption configuration that you want CloudFront + * to use for encrypting specific fields of data for this cache behavior.

              */ - Compress?: boolean; + FieldLevelEncryptionId?: string; /** - *

              The unique identifier of the cache policy that is attached to this cache behavior. For more - * information, see Creating cache policies or Using the managed cache policies in the + *

              This field is deprecated. We recommend that you use the MinTTL field in a cache + * policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the * Amazon CloudFront Developer Guide.

              + *

              The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront + * forwards another request to your origin to determine whether the object has been updated. For + * more information, see + * Managing How Long Content Stays in an Edge Cache (Expiration) in the + * Amazon CloudFront Developer Guide.

              + *

              You must specify 0 for MinTTL if you configure CloudFront to + * forward all headers to your origin (under Headers, if you specify 1 + * for Quantity and * for Name).

              */ - CachePolicyId?: string; + MinTTL?: number; /** - *

              The pattern (for example, images/*.jpg) that specifies which requests to - * apply the behavior to. When CloudFront receives a viewer request, the requested path is compared - * with path patterns in the order in which cache behaviors are listed in the - * distribution.

              - * - *

              You can optionally include a slash (/) at the beginning of the path - * pattern. For example, /images/*.jpg. CloudFront behavior is the same with or without - * the leading /.

              - *
              - *

              The path pattern for the default cache behavior is * and cannot be - * changed. If the request for an object does not match the path pattern for any cache behaviors, - * CloudFront applies the behavior in the default cache behavior.

              - *

              For more information, see Path - * Pattern in the Amazon CloudFront Developer Guide.

              + *

              The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this + * cache behavior. For more information, see Real-time logs in the Amazon CloudFront Developer Guide.

              */ - PathPattern: string | undefined; + RealtimeLogConfigArn?: string; /** - *

              A complex type that contains zero or more Lambda function associations for a cache - * behavior.

              + *

              A complex type that specifies the AWS accounts, if any, that you want to allow to + * create signed URLs for private content.

              + *

              If you want to require signed URLs in requests for objects in the target origin that + * match the PathPattern for this cache behavior, specify true for + * Enabled, and specify the applicable values for Quantity and + * Items. For more information, see Serving Private Content + * with Signed URLs and Signed Cookies in the Amazon CloudFront Developer Guide. + *

              + *

              If you don’t want to require signed URLs in requests for objects that match + * PathPattern, specify false for Enabled and + * 0 for Quantity. Omit Items.

              + *

              To add, change, or remove one or more trusted signers, change Enabled to + * true (if it’s currently false), change Quantity + * as applicable, and specify all of the trusted signers that you want to include in the + * updated distribution.

              */ - LambdaFunctionAssociations?: LambdaFunctionAssociations; + TrustedSigners: TrustedSigners | undefined; + + /** + *

              This field is deprecated. We recommend that you use the DefaultTTL field in a + * cache policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the + * Amazon CloudFront Developer Guide.

              + *

              The default amount of time that you want objects to stay in CloudFront caches before CloudFront + * forwards another request to your origin to determine whether the object has been updated. The + * value that you specify applies only when your origin does not add HTTP headers such as + * Cache-Control max-age, Cache-Control s-maxage, and + * Expires to objects. For more information, see Managing How Long Content Stays + * in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

              + */ + DefaultTTL?: number; } export namespace CacheBehavior { @@ -896,15 +902,15 @@ export namespace CacheBehavior { */ export interface CacheBehaviors { /** - *

              Optional: A complex type that contains cache behaviors for this distribution. If - * Quantity is 0, you can omit Items.

              + *

              The number of cache behaviors for this distribution.

              */ - Items?: CacheBehavior[]; + Quantity: number | undefined; /** - *

              The number of cache behaviors for this distribution.

              + *

              Optional: A complex type that contains cache behaviors for this distribution. If + * Quantity is 0, you can omit Items.

              */ - Quantity: number | undefined; + Items?: CacheBehavior[]; } export namespace CacheBehaviors { @@ -921,6 +927,11 @@ export type CachePolicyCookieBehavior = "all" | "allExcept" | "none" | "whitelis * the origin.

              */ export interface CachePolicyCookiesConfig { + /** + *

              Contains a list of cookie names.

              + */ + Cookies?: CookieNames; + /** *

              Determines whether any cookies in viewer requests are included in the cache key and * automatically included in requests that CloudFront sends to the origin. Valid values @@ -957,11 +968,6 @@ export interface CachePolicyCookiesConfig { *

            */ CookieBehavior: CachePolicyCookieBehavior | string | undefined; - - /** - *

            Contains a list of cookie names.

            - */ - Cookies?: CookieNames; } export namespace CachePolicyCookiesConfig { @@ -1020,14 +1026,14 @@ export type CachePolicyQueryStringBehavior = "all" | "allExcept" | "none" | "whi */ export interface QueryStringNames { /** - *

            A list of query string names.

            + *

            The number of query string names in the Items list.

            */ - Items?: string[]; + Quantity: number | undefined; /** - *

            The number of query string names in the Items list.

            + *

            A list of query string names.

            */ - Quantity: number | undefined; + Items?: string[]; } export namespace QueryStringNames { @@ -1042,25 +1048,6 @@ export namespace QueryStringNames { * CloudFront sends to the origin.

            */ export interface CachePolicyQueryStringsConfig { - /** - *

            Contains the specific query strings in viewer requests that either - * are - * or - * are - * not - * included in the cache key and automatically included in - * requests that CloudFront sends to the origin. The behavior depends on whether the - * QueryStringBehavior field in the CachePolicyQueryStringsConfig - * type is set to whitelist (the listed query strings - * are - * included) or allExcept (the listed - * query strings - * are not - * included, - * but all other query strings are).

            - */ - QueryStrings?: QueryStringNames; - /** *

            Determines whether any URL query strings in viewer requests are included in the cache key * and automatically included in requests that CloudFront sends to the origin. Valid values @@ -1097,6 +1084,25 @@ export interface CachePolicyQueryStringsConfig { * */ QueryStringBehavior: CachePolicyQueryStringBehavior | string | undefined; + + /** + *

            Contains the specific query strings in viewer requests that either + * are + * or + * are + * not + * included in the cache key and automatically included in + * requests that CloudFront sends to the origin. The behavior depends on whether the + * QueryStringBehavior field in the CachePolicyQueryStringsConfig + * type is set to whitelist (the listed query strings + * are + * included) or allExcept (the listed + * query strings + * are not + * included, + * but all other query strings are).

            + */ + QueryStrings?: QueryStringNames; } export namespace CachePolicyQueryStringsConfig { @@ -1113,16 +1119,9 @@ export namespace CachePolicyQueryStringsConfig { * included in requests that CloudFront sends to the origin. CloudFront sends a request when it can’t * find an object in its cache that matches the request’s cache key. If you want to send * values to the origin but not include them in the cache key, use - * CreateOriginRequestPolicy.

            + * OriginRequestPolicy.

            */ export interface ParametersInCacheKeyAndForwardedToOrigin { - /** - *

            An object that determines whether any cookies in viewer requests (and if so, which cookies) - * are included in the cache key and automatically included in requests that CloudFront sends to - * the origin.

            - */ - CookiesConfig: CachePolicyCookiesConfig | undefined; - /** *

            An object that determines whether any URL query strings in viewer requests (and if so, which * query strings) are included in the cache key and automatically included in requests that @@ -1131,45 +1130,86 @@ export interface ParametersInCacheKeyAndForwardedToOrigin { QueryStringsConfig: CachePolicyQueryStringsConfig | undefined; /** - *

            A flag that determines whether the Accept-Encoding HTTP header is + *

            A flag that can affect whether the Accept-Encoding HTTP header is * included in the cache key and included in requests that CloudFront sends to the origin.

            - *

            If this field is true - * and the viewer request includes the - * Accept-Encoding header, then CloudFront normalizes the value of the viewer’s - * Accept-Encoding header to one of the following:

            + *

            This field is related to the EnableAcceptEncodingBrotli field. If one or + * both of these fields is true + * and the viewer request + * includes the Accept-Encoding header, then CloudFront does the following:

            *
              *
            • - *

              - * Accept-Encoding: gzip (if gzip is in the viewer’s - * Accept-Encoding header)

              + *

              Normalizes the value of the viewer’s Accept-Encoding + * header

              *
            • *
            • - *

              - * Accept-Encoding: identity (if gzip is - * not in the viewer’s Accept-Encoding - * header)

              + *

              Includes the normalized header in the cache key

              + *
            • + *
            • + *

              Includes the normalized header in the request to the origin, if a request is necessary

              *
            • *
            - *

            CloudFront includes the normalized header in the cache key and includes it in requests that CloudFront - * sends to the origin.

            - *

            If this field is false, then CloudFront treats the Accept-Encoding - * header the same as any other HTTP header in the viewer request. By default, it’s not - * included in the cache key and it’s not included in origin requests. You can manually add - * Accept-Encoding to the headers whitelist like any other HTTP header.

            - *

            When this field is true, you should not whitelist the - * Accept-Encoding header in the cache policy or in an origin request policy - * attached to the same cache behavior.

            *

            For more information, see Cache compressed objects in the - * Amazon CloudFront Developer Guide.

            + * Amazon CloudFront Developer Guide.

            + *

            If you set this value to true, and this cache behavior also has an origin + * request policy attached, do not include the Accept-Encoding header in the + * origin request policy. CloudFront always includes the Accept-Encoding header in + * origin requests when the value of this field is true, so including this + * header in an origin request policy has no effect.

            + *

            If both of these fields are false, then CloudFront treats the + * Accept-Encoding header the same as any other HTTP header in the viewer + * request. By default, it’s not included in the cache key and it’s not included in origin + * requests. In this case, you can manually add Accept-Encoding to the headers + * whitelist like any other HTTP header.

            */ EnableAcceptEncodingGzip: boolean | undefined; + /** + *

            An object that determines whether any cookies in viewer requests (and if so, which cookies) + * are included in the cache key and automatically included in requests that CloudFront sends to + * the origin.

            + */ + CookiesConfig: CachePolicyCookiesConfig | undefined; + /** *

            An object that determines whether any HTTP headers (and if so, which headers) are * included in the cache key and automatically included in requests that CloudFront sends to the * origin.

            */ HeadersConfig: CachePolicyHeadersConfig | undefined; + + /** + *

            A flag that can affect whether the Accept-Encoding HTTP header is + * included in the cache key and included in requests that CloudFront sends to the origin.

            + *

            This field is related to the EnableAcceptEncodingGzip field. If one or + * both of these fields is true + * and the viewer request + * includes the Accept-Encoding header, then CloudFront does the following:

            + *
              + *
            • + *

              Normalizes the value of the viewer’s Accept-Encoding + * header

              + *
            • + *
            • + *

              Includes the normalized header in the cache key

              + *
            • + *
            • + *

              Includes the normalized header in the request to the origin, if a request is necessary

              + *
            • + *
            + *

            For more information, see Cache compressed objects in the + * Amazon CloudFront Developer Guide.

            + *

            If you set this value to true, and this cache behavior also has an origin + * request policy attached, do not include the Accept-Encoding header in the + * origin request policy. CloudFront always includes the Accept-Encoding header in + * origin requests when the value of this field is true, so including this + * header in an origin request policy has no effect.

            + *

            If both of these fields are false, then CloudFront treats the + * Accept-Encoding header the same as any other HTTP header in the viewer + * request. By default, it’s not included in the cache key and it’s not included in origin + * requests. In this case, you can manually add Accept-Encoding to the headers + * whitelist like any other HTTP header.

            + */ + EnableAcceptEncodingBrotli?: boolean; } export namespace ParametersInCacheKeyAndForwardedToOrigin { @@ -1200,42 +1240,17 @@ export namespace ParametersInCacheKeyAndForwardedToOrigin { */ export interface CachePolicyConfig { /** - *

            The minimum amount of time, in seconds, that you want objects to stay in the CloudFront - * cache before CloudFront sends another request to the origin to see if the object has been - * updated. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the - * Amazon CloudFront Developer Guide.

            - */ - MinTTL: number | undefined; - - /** - *

            The maximum amount of time, in seconds, that objects stay in the CloudFront cache - * before CloudFront sends another request to the origin to see if the object has been updated. - * CloudFront uses this value only when the origin sends Cache-Control or - * Expires headers with the object. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the - * Amazon CloudFront Developer Guide.

            - *

            The default value for this field is 31536000 seconds (one year). If the value of - * MinTTL or DefaultTTL is more than 31536000 seconds, then the - * default value for this field is the same as the value of DefaultTTL.

            - */ - MaxTTL?: number; - - /** - *

            A comment to describe the cache policy.

            + *

            The HTTP headers, cookies, and URL query strings to include in the cache key. The + * values included in the cache key are automatically included in requests that CloudFront sends + * to the origin.

            */ - Comment?: string; + ParametersInCacheKeyAndForwardedToOrigin?: ParametersInCacheKeyAndForwardedToOrigin; /** *

            A unique name to identify the cache policy.

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

            The HTTP headers, cookies, and URL query strings to include in the cache key. The - * values included in the cache key are automatically included in requests that CloudFront sends - * to the origin.

            - */ - ParametersInCacheKeyAndForwardedToOrigin?: ParametersInCacheKeyAndForwardedToOrigin; - /** *

            The default amount of time, in seconds, that you want objects to stay in the CloudFront * cache before CloudFront sends another request to the origin to see if the object has been @@ -1248,6 +1263,31 @@ export interface CachePolicyConfig { * the same as the value of MinTTL.

            */ DefaultTTL?: number; + + /** + *

            A comment to describe the cache policy.

            + */ + Comment?: string; + + /** + *

            The minimum amount of time, in seconds, that you want objects to stay in the CloudFront + * cache before CloudFront sends another request to the origin to see if the object has been + * updated. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the + * Amazon CloudFront Developer Guide.

            + */ + MinTTL: number | undefined; + + /** + *

            The maximum amount of time, in seconds, that objects stay in the CloudFront cache + * before CloudFront sends another request to the origin to see if the object has been updated. + * CloudFront uses this value only when the origin sends Cache-Control or + * Expires headers with the object. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the + * Amazon CloudFront Developer Guide.

            + *

            The default value for this field is 31536000 seconds (one year). If the value of + * MinTTL or DefaultTTL is more than 31536000 seconds, then the + * default value for this field is the same as the value of DefaultTTL.

            + */ + MaxTTL?: number; } export namespace CachePolicyConfig { @@ -1278,11 +1318,6 @@ export namespace CachePolicyConfig { * use OriginRequestPolicy.

            */ export interface CachePolicy { - /** - *

            The date and time when the cache policy was last modified.

            - */ - LastModifiedTime: Date | undefined; - /** *

            The unique identifier for the cache policy.

            */ @@ -1292,6 +1327,11 @@ export interface CachePolicy { *

            The cache policy configuration.

            */ CachePolicyConfig: CachePolicyConfig | undefined; + + /** + *

            The date and time when the cache policy was last modified.

            + */ + LastModifiedTime: Date | undefined; } export namespace CachePolicy { @@ -1339,15 +1379,15 @@ export type CachePolicyType = "custom" | "managed"; */ export interface CachePolicySummary { /** - *

            The type of cache policy, either managed (created by AWS) or - * custom (created in this AWS account).

            + *

            The cache policy.

            */ - Type: CachePolicyType | string | undefined; + CachePolicy: CachePolicy | undefined; /** - *

            The cache policy.

            + *

            The type of cache policy, either managed (created by AWS) or + * custom (created in this AWS account).

            */ - CachePolicy: CachePolicy | undefined; + Type: CachePolicyType | string | undefined; } export namespace CachePolicySummary { @@ -1361,16 +1401,14 @@ export namespace CachePolicySummary { */ export interface CachePolicyList { /** - *

            If there are more items in the list than are in this response, this element is - * present. It contains the value that you should use in the Marker field of a - * subsequent request to continue listing cache policies where you left off.

            + *

            The total number of cache policies returned in the response.

            */ - NextMarker?: string; + Quantity: number | undefined; /** - *

            The total number of cache policies returned in the response.

            + *

            Contains the cache policies in the list.

            */ - Quantity: number | undefined; + Items?: CachePolicySummary[]; /** *

            The maximum number of cache policies requested.

            @@ -1378,9 +1416,11 @@ export interface CachePolicyList { MaxItems: number | undefined; /** - *

            Contains the cache policies in the list.

            + *

            If there are more items in the list than are in this response, this element is + * present. It contains the value that you should use in the Marker field of a + * subsequent request to continue listing cache policies where you left off.

            */ - Items?: CachePolicySummary[]; + NextMarker?: string; } export namespace CachePolicyList { @@ -1421,9 +1461,9 @@ export namespace CreateCachePolicyRequest { export interface CreateCachePolicyResult { /** - *

            The current version of the cache policy.

            + *

            A cache policy.

            */ - ETag?: string; + CachePolicy?: CachePolicy; /** *

            The fully qualified URI of the cache policy just created.

            @@ -1431,9 +1471,9 @@ export interface CreateCachePolicyResult { Location?: string; /** - *

            A cache policy.

            + *

            The current version of the cache policy.

            */ - CachePolicy?: CachePolicy; + ETag?: string; } export namespace CreateCachePolicyResult { @@ -1563,11 +1603,6 @@ export namespace CloudFrontOriginAccessIdentityAlreadyExists { *

            */ export interface CloudFrontOriginAccessIdentityConfig { - /** - *

            Any comments you want to include about the origin access identity.

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

            A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

            *

            If the value of CallerReference is new (regardless of the content of the @@ -1583,6 +1618,11 @@ export interface CloudFrontOriginAccessIdentityConfig { * CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

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

            Any comments you want to include about the origin access identity.

            + */ + Comment: string | undefined; } export namespace CloudFrontOriginAccessIdentityConfig { @@ -1616,10 +1656,10 @@ export namespace CreateCloudFrontOriginAccessIdentityRequest { */ export interface CloudFrontOriginAccessIdentity { /** - *

            The ID for the origin access identity, for example, E74FTE3AJFJ256A. - *

            + *

            The Amazon S3 canonical user ID for the origin access identity, used when giving the origin + * access identity read permission to an object in Amazon S3.

            */ - Id: string | undefined; + S3CanonicalUserId: string | undefined; /** *

            The current configuration information for the identity.

            @@ -1627,10 +1667,10 @@ export interface CloudFrontOriginAccessIdentity { CloudFrontOriginAccessIdentityConfig?: CloudFrontOriginAccessIdentityConfig; /** - *

            The Amazon S3 canonical user ID for the origin access identity, used when giving the origin - * access identity read permission to an object in Amazon S3.

            + *

            The ID for the origin access identity, for example, E74FTE3AJFJ256A. + *

            */ - S3CanonicalUserId: string | undefined; + Id: string | undefined; } export namespace CloudFrontOriginAccessIdentity { @@ -1644,9 +1684,9 @@ export namespace CloudFrontOriginAccessIdentity { */ export interface CreateCloudFrontOriginAccessIdentityResult { /** - *

            The current version of the origin access identity created.

            + *

            The fully qualified URI of the new origin access identity just created.

            */ - ETag?: string; + Location?: string; /** *

            The origin access identity's information.

            @@ -1654,9 +1694,9 @@ export interface CreateCloudFrontOriginAccessIdentityResult { CloudFrontOriginAccessIdentity?: CloudFrontOriginAccessIdentity; /** - *

            The fully qualified URI of the new origin access identity just created.

            + *

            The current version of the origin access identity created.

            */ - Location?: string; + ETag?: string; } export namespace CreateCloudFrontOriginAccessIdentityResult { @@ -1725,22 +1765,6 @@ export namespace CNAMEAlreadyExists { * Amazon CloudFront Developer Guide.

            */ export interface CustomErrorResponse { - /** - *

            The HTTP status code for which you want to specify a custom error page and/or a caching - * duration.

            - */ - ErrorCode: number | undefined; - - /** - *

            The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status - * code specified in ErrorCode. When this time period has elapsed, CloudFront queries your - * origin to see whether the problem that caused the error has been resolved and the requested - * object is now available.

            - *

            For more information, see Customizing - * Error Responses in the Amazon CloudFront Developer Guide.

            - */ - ErrorCachingMinTTL?: number; - /** *

            The HTTP status code that you want CloudFront to return to the viewer along with the custom * error page. There are a variety of reasons that you might want CloudFront to return a status code @@ -1766,6 +1790,12 @@ export interface CustomErrorResponse { */ ResponseCode?: string; + /** + *

            The HTTP status code for which you want to specify a custom error page and/or a caching + * duration.

            + */ + ErrorCode: number | undefined; + /** *

            The path to the custom error page that you want CloudFront to return to a viewer when your * origin returns the HTTP status code specified by ErrorCode, for example, @@ -1792,6 +1822,16 @@ export interface CustomErrorResponse { * files that you want to return to viewers because the origin server is unavailable.

            */ ResponsePagePath?: string; + + /** + *

            The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status + * code specified in ErrorCode. When this time period has elapsed, CloudFront queries your + * origin to see whether the problem that caused the error has been resolved and the requested + * object is now available.

            + *

            For more information, see Customizing + * Error Responses in the Amazon CloudFront Developer Guide.

            + */ + ErrorCachingMinTTL?: number; } export namespace CustomErrorResponse { @@ -1815,19 +1855,19 @@ export namespace CustomErrorResponse { * Amazon CloudFront Developer Guide.

            */ export interface CustomErrorResponses { - /** - *

            The number of HTTP status codes for which you want to specify a custom error page - * and/or a caching duration. If Quantity is 0, you can omit - * Items.

            - */ - Quantity: number | undefined; - /** *

            A complex type that contains a CustomErrorResponse element for each HTTP * status code for which you want to specify a custom error page and/or a caching duration. *

            */ Items?: CustomErrorResponse[]; + + /** + *

            The number of HTTP status codes for which you want to specify a custom error page + * and/or a caching duration. If Quantity is 0, you can omit + * Items.

            + */ + Quantity: number | undefined; } export namespace CustomErrorResponses { @@ -1844,11 +1884,88 @@ export namespace CustomErrorResponses { */ export interface DefaultCacheBehavior { /** - *

            The unique identifier of the cache policy that is attached to the default cache behavior. - * For more information, see Creating cache policies or Using the managed cache policies in the + *

            The unique identifier of the origin request policy that is attached to the default cache + * behavior. For more information, see Creating origin request policies or Using the managed origin request policies in the * Amazon CloudFront Developer Guide.

            */ - CachePolicyId?: string; + OriginRequestPolicyId?: string; + + /** + *

            The value of ID for the field-level encryption configuration that you want CloudFront + * to use for encrypting specific fields of data for the default cache behavior.

            + */ + FieldLevelEncryptionId?: string; + + /** + *

            The protocol that viewers can use to access the files in the origin specified by + * TargetOriginId when a request matches the path pattern in + * PathPattern. You can specify the following options:

            + *
              + *
            • + *

              + * allow-all: Viewers can use HTTP or HTTPS.

              + *
            • + *
            • + *

              + * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns + * an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The + * viewer then resubmits the request using the new URL.

              + *
            • + *
            • + *

              + * https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP + * status code of 403 (Forbidden).

              + *
            • + *
            + *

            For more information about requiring the HTTPS protocol, see Requiring HTTPS Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

            + * + *

            The only way to guarantee that viewers retrieve an object that was fetched from + * the origin using HTTPS is never to use any other protocol to fetch the object. If + * you have recently changed from HTTP to HTTPS, we recommend that you clear your + * objects’ cache because cached objects are protocol agnostic. That means that an edge + * location will return an object from the cache regardless of whether the current + * request protocol matches the protocol used previously. For more information, see + * Managing Cache + * Expiration in the + * Amazon CloudFront Developer Guide.

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

            This field is deprecated. We recommend that you use the DefaultTTL field in a + * cache policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the + * Amazon CloudFront Developer Guide.

            + *

            The default amount of time that you want objects to stay in CloudFront caches before CloudFront + * forwards another request to your origin to determine whether the object has been updated. The + * value that you specify applies only when your origin does not add HTTP headers such as + * Cache-Control max-age, Cache-Control s-maxage, and + * Expires to objects. For more information, see Managing How Long Content Stays + * in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

            + */ + DefaultTTL?: number; + + /** + *

            This field is deprecated. We recommend that you use the MaxTTL field in a cache + * policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the + * Amazon CloudFront Developer Guide.

            + *

            The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront + * forwards another request to your origin to determine whether the object has been updated. The + * value that you specify applies only when your origin adds HTTP headers such as + * Cache-Control max-age, Cache-Control s-maxage, and + * Expires to objects. For more information, see Managing How Long Content Stays + * in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

            + */ + MaxTTL?: number; + + /** + *

            Indicates whether you want to distribute media files in the Microsoft Smooth Streaming + * format using the origin that is associated with this cache behavior. If so, specify + * true; if not, specify false. If you specify true for + * SmoothStreaming, you can still distribute other content using this cache + * behavior if the content matches the value of PathPattern.

            + */ + SmoothStreaming?: boolean; /** *

            A complex type that specifies the AWS accounts, if any, that you want to allow to @@ -1869,6 +1986,12 @@ export interface DefaultCacheBehavior { */ TrustedSigners: TrustedSigners | undefined; + /** + *

            The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this + * cache behavior. For more information, see Real-time logs in the Amazon CloudFront Developer Guide.

            + */ + RealtimeLogConfigArn?: string; + /** *

            This field is deprecated. We recommend that you use the MinTTL field in a cache * policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the @@ -1884,17 +2007,37 @@ export interface DefaultCacheBehavior { MinTTL?: number; /** - *

            This field is deprecated. We recommend that you use the MaxTTL field in a cache - * policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the + *

            A complex type that contains zero or more Lambda function associations for a cache + * behavior.

            + */ + LambdaFunctionAssociations?: LambdaFunctionAssociations; + + /** + *

            The unique identifier of the cache policy that is attached to the default cache behavior. + * For more information, see Creating cache policies or Using the managed cache policies in the * Amazon CloudFront Developer Guide.

            - *

            The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront - * forwards another request to your origin to determine whether the object has been updated. The - * value that you specify applies only when your origin adds HTTP headers such as - * Cache-Control max-age, Cache-Control s-maxage, and - * Expires to objects. For more information, see Managing How Long Content Stays - * in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

            */ - MaxTTL?: number; + CachePolicyId?: string; + + /** + *

            The value of ID for the origin that you want CloudFront to route requests to when + * they use the default cache behavior.

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

            This field is deprecated. We recommend that you use a cache policy or an origin request + * policy instead of this field. For more information, see Working with policies in the + * Amazon CloudFront Developer Guide.

            + *

            If you want to include values in the cache key, use a cache policy. For more information, + * see Creating cache policies or Using the managed cache policies in the + * Amazon CloudFront Developer Guide.

            + *

            If you want to send values to the origin but not include them in the cache key, use an + * origin request policy. For more information, see Creating origin request policies or Using the managed origin request policies in the + * Amazon CloudFront Developer Guide.

            + *

            A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

            + */ + ForwardedValues?: ForwardedValues; /** *

            Whether you want CloudFront to automatically compress certain files for this cache behavior. @@ -1926,110 +2069,13 @@ export interface DefaultCacheBehavior { * origin.

            */ AllowedMethods?: AllowedMethods; +} - /** - *

            A complex type that contains zero or more Lambda function associations for a cache - * behavior.

            - */ - LambdaFunctionAssociations?: LambdaFunctionAssociations; - - /** - *

            The unique identifier of the origin request policy that is attached to the default cache - * behavior. For more information, see Creating origin request policies or Using the managed origin request policies in the - * Amazon CloudFront Developer Guide.

            - */ - OriginRequestPolicyId?: string; - - /** - *

            The value of ID for the origin that you want CloudFront to route requests to when - * they use the default cache behavior.

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

            This field is deprecated. We recommend that you use a cache policy or an origin request - * policy instead of this field. For more information, see Working with policies in the - * Amazon CloudFront Developer Guide.

            - *

            If you want to include values in the cache key, use a cache policy. For more information, - * see Creating cache policies or Using the managed cache policies in the - * Amazon CloudFront Developer Guide.

            - *

            If you want to send values to the origin but not include them in the cache key, use an - * origin request policy. For more information, see Creating origin request policies or Using the managed origin request policies in the - * Amazon CloudFront Developer Guide.

            - *

            A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

            - */ - ForwardedValues?: ForwardedValues; - - /** - *

            This field is deprecated. We recommend that you use the DefaultTTL field in a - * cache policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the - * Amazon CloudFront Developer Guide.

            - *

            The default amount of time that you want objects to stay in CloudFront caches before CloudFront - * forwards another request to your origin to determine whether the object has been updated. The - * value that you specify applies only when your origin does not add HTTP headers such as - * Cache-Control max-age, Cache-Control s-maxage, and - * Expires to objects. For more information, see Managing How Long Content Stays - * in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

            - */ - DefaultTTL?: number; - - /** - *

            The value of ID for the field-level encryption configuration that you want CloudFront - * to use for encrypting specific fields of data for the default cache behavior.

            - */ - FieldLevelEncryptionId?: string; - - /** - *

            The protocol that viewers can use to access the files in the origin specified by - * TargetOriginId when a request matches the path pattern in - * PathPattern. You can specify the following options:

            - *
              - *
            • - *

              - * allow-all: Viewers can use HTTP or HTTPS.

              - *
            • - *
            • - *

              - * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns - * an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The - * viewer then resubmits the request using the new URL.

              - *
            • - *
            • - *

              - * https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP - * status code of 403 (Forbidden).

              - *
            • - *
            - *

            For more information about requiring the HTTPS protocol, see Requiring HTTPS Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

            - * - *

            The only way to guarantee that viewers retrieve an object that was fetched from - * the origin using HTTPS is never to use any other protocol to fetch the object. If - * you have recently changed from HTTP to HTTPS, we recommend that you clear your - * objects’ cache because cached objects are protocol agnostic. That means that an edge - * location will return an object from the cache regardless of whether the current - * request protocol matches the protocol used previously. For more information, see - * Managing Cache - * Expiration in the - * Amazon CloudFront Developer Guide.

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

            Indicates whether you want to distribute media files in the Microsoft Smooth Streaming - * format using the origin that is associated with this cache behavior. If so, specify - * true; if not, specify false. If you specify true for - * SmoothStreaming, you can still distribute other content using this cache - * behavior if the content matches the value of PathPattern.

            - */ - SmoothStreaming?: boolean; -} - -export namespace DefaultCacheBehavior { - export const filterSensitiveLog = (obj: DefaultCacheBehavior): any => ({ - ...obj, - }); -} +export namespace DefaultCacheBehavior { + export const filterSensitiveLog = (obj: DefaultCacheBehavior): any => ({ + ...obj, + }); +} export type HttpVersion = "http1.1" | "http2"; @@ -2038,6 +2084,12 @@ export type HttpVersion = "http1.1" | "http2"; * distribution.

            */ export interface LoggingConfig { + /** + *

            The Amazon S3 bucket to store the access logs in, for example, + * myawslogbucket.s3.amazonaws.com.

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

            Specifies whether you want CloudFront to include cookies in access logs, specify * true for IncludeCookies. If you choose to include cookies in logs, @@ -2048,12 +2100,6 @@ export interface LoggingConfig { */ IncludeCookies: boolean | undefined; - /** - *

            The Amazon S3 bucket to store the access logs in, for example, - * myawslogbucket.s3.amazonaws.com.

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

            Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't * want to enable logging when you create a distribution or if you want to disable logging for an @@ -2169,14 +2215,14 @@ export interface OriginGroup { Id: string | undefined; /** - *

            A complex type that contains information about the origins in an origin group.

            + *

            A complex type that contains information about the failover criteria for an origin group.

            */ - Members: OriginGroupMembers | undefined; + FailoverCriteria: OriginGroupFailoverCriteria | undefined; /** - *

            A complex type that contains information about the failover criteria for an origin group.

            + *

            A complex type that contains information about the origins in an origin group.

            */ - FailoverCriteria: OriginGroupFailoverCriteria | undefined; + Members: OriginGroupMembers | undefined; } export namespace OriginGroup { @@ -2211,18 +2257,18 @@ export namespace OriginGroups { * elements, if any, for this distribution.

            */ export interface OriginCustomHeader { - /** - *

            The value for the header that you specified in the HeaderName - * field.

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

            The name of a header that you want CloudFront to send to your origin. For more information, see * Adding Custom * Headers to Origin Requests in the Amazon CloudFront Developer Guide.

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

            The value for the header that you specified in the HeaderName + * field.

            + */ + HeaderValue: string | undefined; } export namespace OriginCustomHeader { @@ -2265,15 +2311,15 @@ export type SslProtocol = "SSLv3" | "TLSv1" | "TLSv1.1" | "TLSv1.2"; */ export interface OriginSslProtocols { /** - *

            The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an - * HTTPS connection with this origin.

            + *

            A list that contains allowed SSL/TLS protocols for this distribution.

            */ - Quantity: number | undefined; + Items: (SslProtocol | string)[] | undefined; /** - *

            A list that contains allowed SSL/TLS protocols for this distribution.

            + *

            The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an + * HTTPS connection with this origin.

            */ - Items: (SslProtocol | string)[] | undefined; + Quantity: number | undefined; } export namespace OriginSslProtocols { @@ -2289,6 +2335,27 @@ export namespace OriginSslProtocols { * is a custom origin.

            */ export interface CustomOriginConfig { + /** + *

            The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the + * origin listens on.

            + */ + HTTPSPort: number | undefined; + + /** + *

            The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin + * listens on.

            + */ + HTTPPort: number | undefined; + + /** + *

            Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum + * timeout is 1 second, the maximum is 60 seconds, and the default (if you don’t specify + * otherwise) is 5 seconds.

            + *

            For more information, see Origin Keep-alive Timeout in the + * Amazon CloudFront Developer Guide.

            + */ + OriginKeepaliveTimeout?: number; + /** *

            Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Valid values * are:

            @@ -2312,27 +2379,6 @@ export interface CustomOriginConfig { */ OriginProtocolPolicy: OriginProtocolPolicy | string | undefined; - /** - *

            The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin - * listens on.

            - */ - HTTPPort: number | undefined; - - /** - *

            The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the - * origin listens on.

            - */ - HTTPSPort: number | undefined; - - /** - *

            Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum - * timeout is 1 second, the maximum is 60 seconds, and the default (if you don’t specify - * otherwise) is 5 seconds.

            - *

            For more information, see Origin Keep-alive Timeout in the - * Amazon CloudFront Developer Guide.

            - */ - OriginKeepaliveTimeout?: number; - /** *

            Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over * HTTPS. Valid values include SSLv3, TLSv1, @@ -2434,6 +2480,26 @@ export namespace S3OriginConfig { * (quotas were formerly referred to as limits).

            */ export interface Origin { + /** + *

            The number of seconds that CloudFront waits when trying to establish a connection to the origin. + * The minimum timeout is 1 second, the maximum is 10 seconds, and the default (if you + * don’t specify otherwise) is 10 seconds.

            + *

            For more information, see Origin Connection Timeout in the + * Amazon CloudFront Developer Guide.

            + */ + ConnectionTimeout?: number; + + /** + *

            The number of times that CloudFront attempts to connect to the origin. The minimum number + * is 1, the maximum is 3, and the default (if you don’t specify otherwise) is 3.

            + *

            For a custom origin (including an Amazon S3 bucket that’s configured with static + * website hosting), this value also specifies the number of times that CloudFront attempts to + * get a response from the origin, in the case of an Origin Response Timeout.

            + *

            For more information, see Origin Connection Attempts in the + * Amazon CloudFront Developer Guide.

            + */ + ConnectionAttempts?: number; + /** *

            The domain name for the origin.

            *

            For more information, see Origin Domain Name in the Amazon CloudFront Developer Guide.

            @@ -2449,16 +2515,6 @@ export interface Origin { */ S3OriginConfig?: S3OriginConfig; - /** - *

            Use this type to specify an origin that is a content container or HTTP server, - * including an Amazon S3 bucket that is configured with static website hosting. To specify an - * Amazon S3 bucket that is - * not - * configured - * with static website hosting, use the S3OriginConfig type instead.

            - */ - CustomOriginConfig?: CustomOriginConfig; - /** *

            An optional path that CloudFront appends to the origin domain name when CloudFront requests content from * the origin.

            @@ -2467,17 +2523,6 @@ export interface Origin { */ OriginPath?: string; - /** - *

            The number of times that CloudFront attempts to connect to the origin. The minimum number - * is 1, the maximum is 3, and the default (if you don’t specify otherwise) is 3.

            - *

            For a custom origin (including an Amazon S3 bucket that’s configured with static - * website hosting), this value also specifies the number of times that CloudFront attempts to - * get a response from the origin, in the case of an Origin Response Timeout.

            - *

            For more information, see Origin Connection Attempts in the - * Amazon CloudFront Developer Guide.

            - */ - ConnectionAttempts?: number; - /** *

            A unique identifier for the origin. This value must be unique within the * distribution.

            @@ -2495,13 +2540,14 @@ export interface Origin { CustomHeaders?: CustomHeaders; /** - *

            The number of seconds that CloudFront waits when trying to establish a connection to the origin. - * The minimum timeout is 1 second, the maximum is 10 seconds, and the default (if you - * don’t specify otherwise) is 10 seconds.

            - *

            For more information, see Origin Connection Timeout in the - * Amazon CloudFront Developer Guide.

            + *

            Use this type to specify an origin that is a content container or HTTP server, + * including an Amazon S3 bucket that is configured with static website hosting. To specify an + * Amazon S3 bucket that is + * not + * configured + * with static website hosting, use the S3OriginConfig type instead.

            */ - ConnectionTimeout?: number; + CustomOriginConfig?: CustomOriginConfig; } export namespace Origin { @@ -2516,14 +2562,14 @@ export namespace Origin { */ export interface Origins { /** - *

            The number of origins or origin groups for this distribution.

            + *

            A complex type that contains origins or origin groups for this distribution.

            */ - Quantity: number | undefined; + Items: Origin[] | undefined; /** - *

            A complex type that contains origins or origin groups for this distribution.

            + *

            The number of origins or origin groups for this distribution.

            */ - Items: Origin[] | undefined; + Quantity: number | undefined; } export namespace Origins { @@ -2541,28 +2587,6 @@ export type GeoRestrictionType = "blacklist" | "none" | "whitelist"; * determines the location of your users using MaxMind GeoIP databases.

            */ export interface GeoRestriction { - /** - *

            When geo restriction is enabled, this is the number of countries in your - * whitelist or blacklist. Otherwise, when it is not enabled, - * Quantity is 0, and you can omit Items.

            - */ - Quantity: number | undefined; - - /** - *

            A complex type that contains a Location element for each country in which - * you want CloudFront either to distribute your content (whitelist) or not distribute - * your content (blacklist).

            - *

            The Location element is a two-letter, uppercase country code for a country - * that you want to include in your blacklist or whitelist. Include one - * Location element for each country.

            - *

            CloudFront and MaxMind both use ISO 3166 country codes. For the - * current list of countries and the corresponding codes, see ISO 3166-1-alpha-2 - * code on the International Organization for Standardization website. You - * can also refer to the country list on the CloudFront console, which includes both country names and - * codes.

            - */ - Items?: string[]; - /** *

            The method that you want to use to restrict distribution of your content by * country:

            @@ -2585,6 +2609,28 @@ export interface GeoRestriction { * */ RestrictionType: GeoRestrictionType | string | undefined; + + /** + *

            A complex type that contains a Location element for each country in which + * you want CloudFront either to distribute your content (whitelist) or not distribute + * your content (blacklist).

            + *

            The Location element is a two-letter, uppercase country code for a country + * that you want to include in your blacklist or whitelist. Include one + * Location element for each country.

            + *

            CloudFront and MaxMind both use ISO 3166 country codes. For the + * current list of countries and the corresponding codes, see ISO 3166-1-alpha-2 + * code on the International Organization for Standardization website. You + * can also refer to the country list on the CloudFront console, which includes both country names and + * codes.

            + */ + Items?: string[]; + + /** + *

            When geo restriction is enabled, this is the number of countries in your + * whitelist or blacklist. Otherwise, when it is not enabled, + * Quantity is 0, and you can omit Items.

            + */ + Quantity: number | undefined; } export namespace GeoRestriction { @@ -2619,7 +2665,7 @@ export type MinimumProtocolVersion = | "TLSv1.2_2019" | "TLSv1_2016"; -export type SSLSupportMethod = "sni-only" | "vip"; +export type SSLSupportMethod = "sni-only" | "static-ip" | "vip"; /** *

            A complex type that determines the distribution’s SSL/TLS configuration for communicating @@ -2691,6 +2737,75 @@ export type SSLSupportMethod = "sni-only" | "vip"; * Amazon CloudFront Developer Guide.

            */ export interface ViewerCertificate { + /** + *

            If the distribution uses Aliases (alternate domain names or CNAMEs) and + * the SSL/TLS certificate is stored in AWS Certificate Manager (ACM), provide the Amazon Resource + * Name (ARN) of the ACM certificate. CloudFront only supports ACM certificates in the US + * East (N. Virginia) Region (us-east-1).

            + *

            If you specify an ACM certificate ARN, you must also specify values for + * MinimumProtocolVerison and SSLSupportMethod. + *

            + */ + ACMCertificateArn?: string; + + /** + *

            If the distribution uses Aliases (alternate domain names or CNAMEs), + * specify the security policy that you want CloudFront to use for HTTPS connections with + * viewers. The security policy determines two settings:

            + *
              + *
            • + *

              The minimum SSL/TLS protocol that CloudFront can use to communicate with + * viewers.

              + *
            • + *
            • + *

              The ciphers that CloudFront can use to encrypt the content that it returns to + * viewers.

              + *
            • + *
            + *

            For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and + * CloudFront in the Amazon CloudFront Developer Guide.

            + * + *

            On the CloudFront console, this setting is called Security + * Policy.

            + *
            + *

            When you’re using SNI only (you set SSLSupportMethod to sni-only), + * you must specify TLSv1 or higher. + *

            + *

            If the distribution uses the CloudFront domain name such as + * d111111abcdef8.cloudfront.net (you set + * CloudFrontDefaultCertificate to true), CloudFront automatically sets + * the security policy to TLSv1 regardless of the value that you set + * here.

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

            If the distribution uses the CloudFront domain name such as + * d111111abcdef8.cloudfront.net, set this field to true.

            + *

            If the distribution uses Aliases (alternate domain names or CNAMEs), set + * this field to false and specify values for the following fields:

            + *
              + *
            • + *

              + * ACMCertificateArn or IAMCertificateId (specify a value for one, + * not both)

              + * + *
            • + *
            • + *

              + * MinimumProtocolVersion + *

              + *
            • + *
            • + *

              + * SSLSupportMethod + * + *

              + *
            • + *
            + */ + CloudFrontDefaultCertificate?: boolean; + /** *

            This field is deprecated. Use one of the following fields instead:

            *
              @@ -2730,7 +2845,13 @@ export interface ViewerCertificate { * vip – The distribution accepts HTTPS connections from all viewers including * those that don’t support SNI. This is not recommended, and results in additional * monthly charges from CloudFront.

              - * + * + *
            • + *

              + * static-ip - Do not specify this value unless your distribution + * has been enabled for this feature by the CloudFront team. If you have a use case + * that requires static IP addresses for a distribution, contact CloudFront through + * the AWS Support Center.

              *
            • *
            *

            If the distribution uses the CloudFront domain name such as @@ -2772,75 +2893,6 @@ export interface ViewerCertificate { *

            */ IAMCertificateId?: string; - - /** - *

            If the distribution uses Aliases (alternate domain names or CNAMEs) and - * the SSL/TLS certificate is stored in AWS Certificate Manager (ACM), provide the Amazon Resource - * Name (ARN) of the ACM certificate. CloudFront only supports ACM certificates in the US - * East (N. Virginia) Region (us-east-1).

            - *

            If you specify an ACM certificate ARN, you must also specify values for - * MinimumProtocolVerison and SSLSupportMethod. - *

            - */ - ACMCertificateArn?: string; - - /** - *

            If the distribution uses the CloudFront domain name such as - * d111111abcdef8.cloudfront.net, set this field to true.

            - *

            If the distribution uses Aliases (alternate domain names or CNAMEs), set - * this field to false and specify values for the following fields:

            - *
              - *
            • - *

              - * ACMCertificateArn or IAMCertificateId (specify a value for one, - * not both)

              - * - *
            • - *
            • - *

              - * MinimumProtocolVersion - *

              - *
            • - *
            • - *

              - * SSLSupportMethod - * - *

              - *
            • - *
            - */ - CloudFrontDefaultCertificate?: boolean; - - /** - *

            If the distribution uses Aliases (alternate domain names or CNAMEs), - * specify the security policy that you want CloudFront to use for HTTPS connections with - * viewers. The security policy determines two settings:

            - *
              - *
            • - *

              The minimum SSL/TLS protocol that CloudFront can use to communicate with - * viewers.

              - *
            • - *
            • - *

              The ciphers that CloudFront can use to encrypt the content that it returns to - * viewers.

              - *
            • - *
            - *

            For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and - * CloudFront in the Amazon CloudFront Developer Guide.

            - * - *

            On the CloudFront console, this setting is called Security - * Policy.

            - *
            - *

            When you’re using SNI only (you set SSLSupportMethod to sni-only), - * you must specify TLSv1 or higher. - *

            - *

            If the distribution uses the CloudFront domain name such as - * d111111abcdef8.cloudfront.net (you set - * CloudFrontDefaultCertificate to true), CloudFront automatically sets - * the security policy to TLSv1 regardless of the value that you set - * here.

            - */ - MinimumProtocolVersion?: MinimumProtocolVersion | string; } export namespace ViewerCertificate { @@ -2854,35 +2906,39 @@ export namespace ViewerCertificate { */ export interface DistributionConfig { /** - *

            A complex type that determines the distribution’s SSL/TLS configuration for - * communicating with viewers.

            - */ - ViewerCertificate?: ViewerCertificate; - - /** - *

            A complex type that contains information about origins for this distribution. - *

            + *

            A complex type that identifies ways in which you want to restrict distribution of your + * content.

            */ - Origins: Origins | undefined; + Restrictions?: Restrictions; /** - *

            A complex type that controls whether access logs are written for the - * distribution.

            - *

            For more information about logging, see Access - * Logs in the Amazon CloudFront Developer Guide.

            + *

            A unique identifier that specifies the AWS WAF web ACL, if any, to associate + * with this distribution. To specify a web ACL created using the latest version of AWS + * WAF, use the ACL ARN, for example + * arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. + * To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example + * 473e64fd-f30b-4765-81a0-62ad96dd167a.

            + *

            AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS + * requests that are forwarded to CloudFront, and lets you control access to your content. Based on + * conditions that you specify, such as the IP addresses that requests originate from or the + * values of query strings, CloudFront responds to requests either with the requested content or with + * an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page + * when a request is blocked. For more information about AWS WAF, see the AWS WAF + * Developer Guide.

            */ - Logging?: LoggingConfig; + WebACLId?: string; /** - *

            Any comments you want to include about the distribution.

            - *

            If you don't want to specify a comment, include an empty Comment - * element.

            - *

            To delete an existing comment, update the distribution configuration and include an - * empty Comment element.

            - *

            To add or change a comment, update the distribution configuration and specify the new - * comment.

            + *

            (Optional) Specify the maximum HTTP version that you want viewers to use to communicate + * with CloudFront. The default value for new web distributions is http2. Viewers that don't support + * HTTP/2 automatically use an earlier HTTP version.

            + *

            For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must + * support Server Name Identification (SNI).

            + *

            In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. + * You can improve performance by optimizing for HTTP/2. For more information, do an Internet + * search for "http/2 optimization."

            */ - Comment: string | undefined; + HttpVersion?: HttpVersion | string; /** *

            The object that you want CloudFront to request from your origin (for example, @@ -2905,89 +2961,57 @@ export interface DistributionConfig { DefaultRootObject?: string; /** - *

            (Optional) Specify the maximum HTTP version that you want viewers to use to communicate - * with CloudFront. The default value for new web distributions is http2. Viewers that don't support - * HTTP/2 automatically use an earlier HTTP version.

            - *

            For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must - * support Server Name Identification (SNI).

            - *

            In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. - * You can improve performance by optimizing for HTTP/2. For more information, do an Internet - * search for "http/2 optimization."

            + *

            A complex type that controls the following:

            + *
              + *
            • + *

              Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error + * messages before returning the response to the viewer.

              + *
            • + *
            • + *

              How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

              + *
            • + *
            + *

            For more information about custom error pages, see Customizing Error Responses in the + * Amazon CloudFront Developer Guide.

            */ - HttpVersion?: HttpVersion | string; + CustomErrorResponses?: CustomErrorResponses; /** - *

            The price class that corresponds with the maximum price that you want to pay for CloudFront - * service. If you specify PriceClass_All, CloudFront responds to requests for your - * objects from all CloudFront edge locations.

            - *

            If you specify a price class other than PriceClass_All, CloudFront serves your - * objects from the CloudFront edge location that has the lowest latency among the edge locations in - * your price class. Viewers who are in or near regions that are excluded from your specified - * price class may encounter slower performance.

            - *

            For more information about price classes, see Choosing the Price Class for a CloudFront Distribution in the - * Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how price - * classes (such as Price Class 100) map to CloudFront regions, see - * Amazon CloudFront Pricing. - * For price class information, scroll down to see the table at the bottom of the page.

            + *

            A complex type that contains information about origin groups for this + * distribution.

            */ - PriceClass?: PriceClass | string; + OriginGroups?: OriginGroups; /** - *

            A complex type that contains zero or more CacheBehavior elements. - *

            + *

            A complex type that controls whether access logs are written for the + * distribution.

            + *

            For more information about logging, see Access + * Logs in the Amazon CloudFront Developer Guide.

            */ - CacheBehaviors?: CacheBehaviors; - - /** - *

            A unique identifier that specifies the AWS WAF web ACL, if any, to associate - * with this distribution. To specify a web ACL created using the latest version of AWS - * WAF, use the ACL ARN, for example - * arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. - * To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example - * 473e64fd-f30b-4765-81a0-62ad96dd167a.

            - *

            AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS - * requests that are forwarded to CloudFront, and lets you control access to your content. Based on - * conditions that you specify, such as the IP addresses that requests originate from or the - * values of query strings, CloudFront responds to requests either with the requested content or with - * an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page - * when a request is blocked. For more information about AWS WAF, see the AWS WAF - * Developer Guide.

            - */ - WebACLId?: string; - - /** - *

            A complex type that contains information about CNAMEs (alternate domain names), if any, - * for this distribution.

            - */ - Aliases?: Aliases; + Logging?: LoggingConfig; /** - *

            A complex type that controls the following:

            - *
              - *
            • - *

              Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error - * messages before returning the response to the viewer.

              - *
            • - *
            • - *

              How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

              - *
            • - *
            - *

            For more information about custom error pages, see Customizing Error Responses in the - * Amazon CloudFront Developer Guide.

            + *

            A complex type that contains zero or more CacheBehavior elements. + *

            */ - CustomErrorResponses?: CustomErrorResponses; + CacheBehaviors?: CacheBehaviors; /** - *

            A complex type that contains information about origin groups for this - * distribution.

            + *

            Any comments you want to include about the distribution.

            + *

            If you don't want to specify a comment, include an empty Comment + * element.

            + *

            To delete an existing comment, update the distribution configuration and include an + * empty Comment element.

            + *

            To add or change a comment, update the distribution configuration and specify the new + * comment.

            */ - OriginGroups?: OriginGroups; + Comment: string | undefined; /** - *

            A complex type that identifies ways in which you want to restrict distribution of your - * content.

            + *

            A complex type that contains information about origins for this distribution. + *

            */ - Restrictions?: Restrictions; + Origins: Origins | undefined; /** *

            From this field, you can enable or disable the selected distribution.

            @@ -2995,22 +3019,10 @@ export interface DistributionConfig { Enabled: boolean | undefined; /** - *

            A complex type that describes the default cache behavior if you don't specify a - * CacheBehavior element or if files don't match any of the values of - * PathPattern in CacheBehavior elements. You must create exactly one - * default cache behavior.

            - */ - DefaultCacheBehavior: DefaultCacheBehavior | undefined; - - /** - *

            A unique value (for example, a date-time stamp) that ensures that the request can't be - * replayed.

            - *

            If the value of CallerReference is new (regardless of the content of the - * DistributionConfig object), CloudFront creates a new distribution.

            - *

            If CallerReference is a value that you already sent in a previous request to - * create a distribution, CloudFront returns a DistributionAlreadyExists error.

            + *

            A complex type that determines the distribution’s SSL/TLS configuration for + * communicating with viewers.

            */ - CallerReference: string | undefined; + ViewerCertificate?: ViewerCertificate; /** *

            If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your @@ -3045,6 +3057,46 @@ export interface DistributionConfig { * distribution regardless of the IP address format of the viewer request.

            */ IsIPV6Enabled?: boolean; + + /** + *

            The price class that corresponds with the maximum price that you want to pay for CloudFront + * service. If you specify PriceClass_All, CloudFront responds to requests for your + * objects from all CloudFront edge locations.

            + *

            If you specify a price class other than PriceClass_All, CloudFront serves your + * objects from the CloudFront edge location that has the lowest latency among the edge locations in + * your price class. Viewers who are in or near regions that are excluded from your specified + * price class may encounter slower performance.

            + *

            For more information about price classes, see Choosing the Price Class + * for a CloudFront Distribution in the Amazon CloudFront Developer Guide. For + * information about CloudFront pricing, including how price classes (such as Price Class 100) + * map to CloudFront regions, see Amazon CloudFront + * Pricing.

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

            A complex type that describes the default cache behavior if you don't specify a + * CacheBehavior element or if files don't match any of the values of + * PathPattern in CacheBehavior elements. You must create exactly one + * default cache behavior.

            + */ + DefaultCacheBehavior: DefaultCacheBehavior | undefined; + + /** + *

            A unique value (for example, a date-time stamp) that ensures that the request can't be + * replayed.

            + *

            If the value of CallerReference is new (regardless of the content of the + * DistributionConfig object), CloudFront creates a new distribution.

            + *

            If CallerReference is a value that you already sent in a previous request to + * create a distribution, CloudFront returns a DistributionAlreadyExists error.

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

            A complex type that contains information about CNAMEs (alternate domain names), if any, + * for this distribution.

            + */ + Aliases?: Aliases; } export namespace DistributionConfig { @@ -3079,14 +3131,25 @@ export namespace CreateDistributionRequest { */ export interface Distribution { /** - *

            The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

            + *

            This response element indicates the current status of the distribution. When the status + * is Deployed, the distribution's information is fully propagated to all CloudFront edge + * locations.

            */ - DomainName: string | undefined; + Status: string | undefined; /** - *

            The date and time the distribution was last modified.

            + *

            The number of invalidation batches currently in progress.

            */ - LastModifiedTime: Date | undefined; + InProgressInvalidationBatches: number | undefined; + + /** + *

            AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want to serve content + * publicly on an alternate domain name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal provides the ICP + * recordal status for CNAMEs associated with distributions.

            + *

            For more information about ICP recordals, see + * Signup, Accounts, and Credentials in Getting Started with AWS services in China.

            + */ + AliasICPRecordals?: AliasICPRecordal[]; /** *

            CloudFront automatically adds this element to the response only if you've set up the @@ -3100,18 +3163,15 @@ export interface Distribution { ActiveTrustedSigners: ActiveTrustedSigners | undefined; /** - *

            The number of invalidation batches currently in progress.

            + *

            The identifier for the distribution. For example: EDFDVBD632BHDS5. + *

            */ - InProgressInvalidationBatches: number | undefined; + Id: string | undefined; /** - *

            AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want to serve content - * publicly on an alternate domain name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal provides the ICP - * recordal status for CNAMEs associated with distributions.

            - *

            For more information about ICP recordals, see - * Signup, Accounts, and Credentials in Getting Started with AWS services in China.

            + *

            The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

            */ - AliasICPRecordals?: AliasICPRecordal[]; + DomainName: string | undefined; /** *

            The ARN (Amazon Resource Name) for the distribution. For example: @@ -3120,25 +3180,17 @@ export interface Distribution { */ ARN: string | undefined; - /** - *

            The identifier for the distribution. For example: EDFDVBD632BHDS5. - *

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

            This response element indicates the current status of the distribution. When the status - * is Deployed, the distribution's information is fully propagated to all CloudFront edge - * locations.

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

            The current configuration information for the distribution. Send a GET * request to the /CloudFront API version/distribution ID/config * resource.

            */ DistributionConfig: DistributionConfig | undefined; + + /** + *

            The date and time the distribution was last modified.

            + */ + LastModifiedTime: Date | undefined; } export namespace Distribution { @@ -3154,6 +3206,11 @@ export namespace Distribution { *

            The returned result of the corresponding request.

            */ export interface CreateDistributionResult { + /** + *

            The fully qualified URI of the new distribution resource just created.

            + */ + Location?: string; + /** *

            The distribution's information.

            */ @@ -3163,11 +3220,6 @@ export interface CreateDistributionResult { *

            The current version of the distribution created.

            */ ETag?: string; - - /** - *

            The fully qualified URI of the new distribution resource just created.

            - */ - Location?: string; } export namespace CreateDistributionResult { @@ -3901,14 +3953,14 @@ export namespace Tags { */ export interface DistributionConfigWithTags { /** - *

            A distribution configuration.

            + *

            A complex type that contains zero or more Tag elements.

            */ - DistributionConfig: DistributionConfig | undefined; + Tags: Tags | undefined; /** - *

            A complex type that contains zero or more Tag elements.

            + *

            A distribution configuration.

            */ - Tags: Tags | undefined; + DistributionConfig: DistributionConfig | undefined; } export namespace DistributionConfigWithTags { @@ -3943,6 +3995,11 @@ export namespace CreateDistributionWithTagsRequest { *

            The returned result of the corresponding request.

            */ export interface CreateDistributionWithTagsResult { + /** + *

            The fully qualified URI of the new distribution resource just created.

            + */ + Location?: string; + /** *

            The distribution's information.

            */ @@ -3952,11 +4009,6 @@ export interface CreateDistributionWithTagsResult { *

            The current version of the distribution created.

            */ ETag?: string; - - /** - *

            The fully qualified URI of the new distribution resource just created.

            - */ - Location?: string; } export namespace CreateDistributionWithTagsResult { @@ -3988,9 +4040,9 @@ export type Format = "URLEncoded"; */ export interface ContentTypeProfile { /** - *

            The content type for a field-level encryption content type-profile mapping.

            + *

            The format for a field-level encryption content type-profile mapping.

            */ - ContentType: string | undefined; + Format: Format | string | undefined; /** *

            The profile ID for a field-level encryption content type-profile mapping.

            @@ -3998,9 +4050,9 @@ export interface ContentTypeProfile { ProfileId?: string; /** - *

            The format for a field-level encryption content type-profile mapping.

            + *

            The content type for a field-level encryption content type-profile mapping.

            */ - Format: Format | string | undefined; + ContentType: string | undefined; } export namespace ContentTypeProfile { @@ -4014,14 +4066,14 @@ export namespace ContentTypeProfile { */ export interface ContentTypeProfiles { /** - *

            Items in a field-level encryption content type-profile mapping.

            + *

            The number of field-level encryption content type-profile mappings.

            */ - Items?: ContentTypeProfile[]; + Quantity: number | undefined; /** - *

            The number of field-level encryption content type-profile mappings.

            + *

            Items in a field-level encryption content type-profile mapping.

            */ - Quantity: number | undefined; + Items?: ContentTypeProfile[]; } export namespace ContentTypeProfiles { @@ -4059,14 +4111,14 @@ export namespace ContentTypeProfileConfig { */ export interface QueryArgProfile { /** - *

            ID of profile to use for field-level encryption query argument-profile mapping

            + *

            Query argument for field-level encryption query argument-profile mapping.

            */ - ProfileId: string | undefined; + QueryArg: string | undefined; /** - *

            Query argument for field-level encryption query argument-profile mapping.

            + *

            ID of profile to use for field-level encryption query argument-profile mapping

            */ - QueryArg: string | undefined; + ProfileId: string | undefined; } export namespace QueryArgProfile { @@ -4080,14 +4132,14 @@ export namespace QueryArgProfile { */ export interface QueryArgProfiles { /** - *

            Number of profiles for query argument-profile mapping for field-level encryption.

            + *

            Number of items for query argument-profile mapping for field-level encryption.

            */ - Quantity: number | undefined; + Items?: QueryArgProfile[]; /** - *

            Number of items for query argument-profile mapping for field-level encryption.

            + *

            Number of profiles for query argument-profile mapping for field-level encryption.

            */ - Items?: QueryArgProfile[]; + Quantity: number | undefined; } export namespace QueryArgProfiles { @@ -4122,6 +4174,12 @@ export namespace QueryArgProfileConfig { *

            A complex data type that includes the profile configurations specified for field-level encryption.

            */ export interface FieldLevelEncryptionConfig { + /** + *

            A complex data type that specifies when to forward content if a content type isn't recognized and profiles to use as by default + * in a request if a query argument doesn't specify a profile to use.

            + */ + ContentTypeProfileConfig?: ContentTypeProfileConfig; + /** *

            A unique number that ensures the request can't be replayed.

            */ @@ -4137,12 +4195,6 @@ export interface FieldLevelEncryptionConfig { * query argument in a request.

            */ QueryArgProfileConfig?: QueryArgProfileConfig; - - /** - *

            A complex data type that specifies when to forward content if a content type isn't recognized and profiles to use as by default - * in a request if a query argument doesn't specify a profile to use.

            - */ - ContentTypeProfileConfig?: ContentTypeProfileConfig; } export namespace FieldLevelEncryptionConfig { @@ -4168,11 +4220,6 @@ export namespace CreateFieldLevelEncryptionConfigRequest { *

            A complex data type that includes the profile configurations and other options specified for field-level encryption.

            */ export interface FieldLevelEncryption { - /** - *

            The last time the field-level encryption configuration was changed.

            - */ - LastModifiedTime: Date | undefined; - /** *

            A complex data type that includes the profile configurations specified for field-level encryption.

            */ @@ -4183,6 +4230,11 @@ export interface FieldLevelEncryption { * selected data fields to be encrypted by specific public keys.

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

            The last time the field-level encryption configuration was changed.

            + */ + LastModifiedTime: Date | undefined; } export namespace FieldLevelEncryption { @@ -4198,14 +4250,14 @@ export interface CreateFieldLevelEncryptionConfigResult { Location?: string; /** - *

            The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

            + *

            Returned when you create a new field-level encryption configuration.

            */ - ETag?: string; + FieldLevelEncryption?: FieldLevelEncryption; /** - *

            Returned when you create a new field-level encryption configuration.

            + *

            The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

            */ - FieldLevelEncryption?: FieldLevelEncryption; + ETag?: string; } export namespace CreateFieldLevelEncryptionConfigResult { @@ -4330,10 +4382,10 @@ export namespace FieldPatterns { */ export interface EncryptionEntity { /** - *

            The provider associated with the public key being used for encryption. This value must also be provided with the private key - * for applications to be able to decrypt data.

            + *

            The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match + * the patterns.

            */ - ProviderId: string | undefined; + PublicKeyId: string | undefined; /** *

            Field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted. You can provide the @@ -4343,10 +4395,10 @@ export interface EncryptionEntity { FieldPatterns: FieldPatterns | undefined; /** - *

            The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match - * the patterns.

            + *

            The provider associated with the public key being used for encryption. This value must also be provided with the private key + * for applications to be able to decrypt data.

            */ - PublicKeyId: string | undefined; + ProviderId: string | undefined; } export namespace EncryptionEntity { @@ -4360,14 +4412,14 @@ export namespace EncryptionEntity { */ export interface EncryptionEntities { /** - *

            Number of field pattern items in a field-level encryption content type-profile mapping.

            + *

            An array of field patterns in a field-level encryption content type-profile mapping.

            */ - Quantity: number | undefined; + Items?: EncryptionEntity[]; /** - *

            An array of field patterns in a field-level encryption content type-profile mapping.

            + *

            Number of field pattern items in a field-level encryption content type-profile mapping.

            */ - Items?: EncryptionEntity[]; + Quantity: number | undefined; } export namespace EncryptionEntities { @@ -4381,15 +4433,15 @@ export namespace EncryptionEntities { */ export interface FieldLevelEncryptionProfileConfig { /** - *

            A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and - * field patterns for specifying which fields to encrypt with this key.

            + *

            A unique number that ensures that the request can't be replayed.

            */ - EncryptionEntities: EncryptionEntities | undefined; + CallerReference: string | undefined; /** - *

            A unique number that ensures that the request can't be replayed.

            + *

            A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and + * field patterns for specifying which fields to encrypt with this key.

            */ - CallerReference: string | undefined; + EncryptionEntities: EncryptionEntities | undefined; /** *

            Profile name for the field-level encryption profile.

            @@ -4426,9 +4478,10 @@ export namespace CreateFieldLevelEncryptionProfileRequest { */ export interface FieldLevelEncryptionProfile { /** - *

            A complex data type that includes the profile name and the encryption entities for the field-level encryption profile.

            + *

            The ID for a field-level encryption profile configuration which includes a set of profiles that specify certain + * selected data fields to be encrypted by specific public keys.

            */ - FieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig | undefined; + Id: string | undefined; /** *

            The last time the field-level encryption profile was updated.

            @@ -4436,10 +4489,9 @@ export interface FieldLevelEncryptionProfile { LastModifiedTime: Date | undefined; /** - *

            The ID for a field-level encryption profile configuration which includes a set of profiles that specify certain - * selected data fields to be encrypted by specific public keys.

            + *

            A complex data type that includes the profile name and the encryption entities for the field-level encryption profile.

            */ - Id: string | undefined; + FieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig | undefined; } export namespace FieldLevelEncryptionProfile { @@ -4450,9 +4502,9 @@ export namespace FieldLevelEncryptionProfile { export interface CreateFieldLevelEncryptionProfileResult { /** - *

            Returned when you create a new field-level encryption profile.

            + *

            The fully qualified URI of the new profile resource just created.

            */ - FieldLevelEncryptionProfile?: FieldLevelEncryptionProfile; + Location?: string; /** *

            The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

            @@ -4460,9 +4512,9 @@ export interface CreateFieldLevelEncryptionProfileResult { ETag?: string; /** - *

            The fully qualified URI of the new profile resource just created.

            + *

            Returned when you create a new field-level encryption profile.

            */ - Location?: string; + FieldLevelEncryptionProfile?: FieldLevelEncryptionProfile; } export namespace CreateFieldLevelEncryptionProfileResult { @@ -4568,14 +4620,14 @@ export namespace TooManyFieldLevelEncryptionProfiles { */ export interface Paths { /** - *

            A complex type that contains a list of the paths that you want to invalidate.

            + *

            The number of invalidation paths specified for the objects that you want to invalidate.

            */ - Items?: string[]; + Quantity: number | undefined; /** - *

            The number of invalidation paths specified for the objects that you want to invalidate.

            + *

            A complex type that contains a list of the paths that you want to invalidate.

            */ - Quantity: number | undefined; + Items?: string[]; } export namespace Paths { @@ -4588,13 +4640,6 @@ export namespace Paths { *

            An invalidation batch.

            */ export interface InvalidationBatch { - /** - *

            A complex type that contains information about the objects that you want to invalidate. - * For more information, see Specifying the Objects - * to Invalidate in the Amazon CloudFront Developer Guide.

            - */ - Paths: Paths | undefined; - /** *

            A value that you specify to uniquely identify an invalidation request. CloudFront uses the * value to prevent you from accidentally resubmitting an identical request. Whenever you create @@ -4611,6 +4656,13 @@ export interface InvalidationBatch { * CloudFront returns an InvalidationBatchAlreadyExists error.

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

            A complex type that contains information about the objects that you want to invalidate. + * For more information, see Specifying the Objects + * to Invalidate in the Amazon CloudFront Developer Guide.

            + */ + Paths: Paths | undefined; } export namespace InvalidationBatch { @@ -4645,10 +4697,10 @@ export namespace CreateInvalidationRequest { */ export interface Invalidation { /** - *

            The identifier for the invalidation request. For example: - * IDFDVBD632BHDS5.

            + *

            The status of the invalidation request. When the invalidation batch is finished, the + * status is Completed.

            */ - Id: string | undefined; + Status: string | undefined; /** *

            The current invalidation information for the batch request.

            @@ -4656,15 +4708,15 @@ export interface Invalidation { InvalidationBatch: InvalidationBatch | undefined; /** - *

            The date and time the invalidation request was first made.

            + *

            The identifier for the invalidation request. For example: + * IDFDVBD632BHDS5.

            */ - CreateTime: Date | undefined; + Id: string | undefined; /** - *

            The status of the invalidation request. When the invalidation batch is finished, the - * status is Completed.

            + *

            The date and time the invalidation request was first made.

            */ - Status: string | undefined; + CreateTime: Date | undefined; } export namespace Invalidation { @@ -4725,6 +4777,78 @@ export namespace TooManyInvalidationsInProgress { }); } +export enum RealtimeMetricsSubscriptionStatus { + Disabled = "Disabled", + Enabled = "Enabled", +} + +/** + *

            A subscription configuration for additional CloudWatch metrics.

            + */ +export interface RealtimeMetricsSubscriptionConfig { + /** + *

            A flag that indicates whether additional CloudWatch metrics are enabled for a given + * CloudFront distribution.

            + */ + RealtimeMetricsSubscriptionStatus: RealtimeMetricsSubscriptionStatus | string | undefined; +} + +export namespace RealtimeMetricsSubscriptionConfig { + export const filterSensitiveLog = (obj: RealtimeMetricsSubscriptionConfig): any => ({ + ...obj, + }); +} + +/** + *

            A monitoring subscription. This structure contains information about whether additional + * CloudWatch metrics are enabled for a given CloudFront distribution.

            + */ +export interface MonitoringSubscription { + /** + *

            A subscription configuration for additional CloudWatch metrics.

            + */ + RealtimeMetricsSubscriptionConfig?: RealtimeMetricsSubscriptionConfig; +} + +export namespace MonitoringSubscription { + export const filterSensitiveLog = (obj: MonitoringSubscription): any => ({ + ...obj, + }); +} + +export interface CreateMonitoringSubscriptionRequest { + /** + *

            A monitoring subscription. This structure contains information about whether additional + * CloudWatch metrics are enabled for a given CloudFront distribution.

            + */ + MonitoringSubscription: MonitoringSubscription | undefined; + + /** + *

            The ID of the distribution that you are enabling metrics for.

            + */ + DistributionId: string | undefined; +} + +export namespace CreateMonitoringSubscriptionRequest { + export const filterSensitiveLog = (obj: CreateMonitoringSubscriptionRequest): any => ({ + ...obj, + }); +} + +export interface CreateMonitoringSubscriptionResult { + /** + *

            A monitoring subscription. This structure contains information about whether additional + * CloudWatch metrics are enabled for a given CloudFront distribution.

            + */ + MonitoringSubscription?: MonitoringSubscription; +} + +export namespace CreateMonitoringSubscriptionResult { + export const filterSensitiveLog = (obj: CreateMonitoringSubscriptionResult): any => ({ + ...obj, + }); +} + export type OriginRequestPolicyCookieBehavior = "all" | "none" | "whitelist"; /** @@ -4778,6 +4902,11 @@ export type OriginRequestPolicyHeaderBehavior = "allViewer" | "allViewerAndWhite * in requests that CloudFront sends to the origin.

            */ export interface OriginRequestPolicyHeadersConfig { + /** + *

            Contains a list of HTTP header names.

            + */ + Headers?: Headers; + /** *

            Determines whether any HTTP headers are included in requests that CloudFront sends to the origin. * Valid values are:

            @@ -4810,11 +4939,6 @@ export interface OriginRequestPolicyHeadersConfig { * */ HeaderBehavior: OriginRequestPolicyHeaderBehavior | string | undefined; - - /** - *

            Contains a list of HTTP header names.

            - */ - Headers?: Headers; } export namespace OriginRequestPolicyHeadersConfig { @@ -4830,12 +4954,6 @@ export type OriginRequestPolicyQueryStringBehavior = "all" | "none" | "whitelist * query strings) are included in requests that CloudFront sends to the origin.

            */ export interface OriginRequestPolicyQueryStringsConfig { - /** - *

            Contains a list of the query strings in viewer requests that are included in requests that - * CloudFront sends to the origin.

            - */ - QueryStrings?: QueryStringNames; - /** *

            Determines whether any URL query strings in viewer requests are included in requests that * CloudFront sends to the origin. Valid values are:

            @@ -4861,6 +4979,12 @@ export interface OriginRequestPolicyQueryStringsConfig { * */ QueryStringBehavior: OriginRequestPolicyQueryStringBehavior | string | undefined; + + /** + *

            Contains a list of the query strings in viewer requests that are included in requests that + * CloudFront sends to the origin.

            + */ + QueryStrings?: QueryStringNames; } export namespace OriginRequestPolicyQueryStringsConfig { @@ -4891,13 +5015,18 @@ export namespace OriginRequestPolicyQueryStringsConfig { * *

            CloudFront sends a request when it can’t find an object in its cache that matches the request. If * you want to send values to the origin and also include them in the cache key, use - * CreateCachePolicy.

            + * CachePolicy.

            */ export interface OriginRequestPolicyConfig { /** - *

            The cookies from viewer requests to include in origin requests.

            + *

            The URL query strings from viewer requests to include in origin requests.

            */ - CookiesConfig: OriginRequestPolicyCookiesConfig | undefined; + QueryStringsConfig: OriginRequestPolicyQueryStringsConfig | undefined; + + /** + *

            A unique name to identify the origin request policy.

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

            The HTTP headers to include in origin requests. These can include headers from viewer @@ -4911,14 +5040,9 @@ export interface OriginRequestPolicyConfig { Comment?: string; /** - *

            The URL query strings from viewer requests to include in origin requests.

            - */ - QueryStringsConfig: OriginRequestPolicyQueryStringsConfig | undefined; - - /** - *

            A unique name to identify the origin request policy.

            + *

            The cookies from viewer requests to include in origin requests.

            */ - Name: string | undefined; + CookiesConfig: OriginRequestPolicyCookiesConfig | undefined; } export namespace OriginRequestPolicyConfig { @@ -4963,7 +5087,7 @@ export namespace CreateOriginRequestPolicyRequest { * *

            CloudFront sends a request when it can’t find an object in its cache that matches the request. If * you want to send values to the origin and also include them in the cache key, use - * CreateCachePolicy.

            + * CachePolicy.

            */ export interface OriginRequestPolicy { /** @@ -4989,6 +5113,11 @@ export namespace OriginRequestPolicy { } export interface CreateOriginRequestPolicyResult { + /** + *

            The current version of the origin request policy.

            + */ + ETag?: string; + /** *

            An origin request policy.

            */ @@ -4998,11 +5127,6 @@ export interface CreateOriginRequestPolicyResult { *

            The fully qualified URI of the origin request policy just created.

            */ Location?: string; - - /** - *

            The current version of the origin request policy.

            - */ - ETag?: string; } export namespace CreateOriginRequestPolicyResult { @@ -5100,6 +5224,11 @@ export namespace TooManyQueryStringsInOriginRequestPolicy { *

            Information about a public key you add to CloudFront to use with features like field-level encryption.

            */ export interface PublicKeyConfig { + /** + *

            A unique number that ensures that the request can't be replayed.

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

            An optional comment about a public key.

            */ @@ -5114,11 +5243,6 @@ export interface PublicKeyConfig { *

            The name for a public key you add to CloudFront to use with features like field-level encryption.

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

            A unique number that ensures that the request can't be replayed.

            - */ - CallerReference: string | undefined; } export namespace PublicKeyConfig { @@ -5144,11 +5268,6 @@ export namespace CreatePublicKeyRequest { *

            A complex data type of public keys you add to CloudFront to use with features like field-level encryption.

            */ export interface PublicKey { - /** - *

            A complex data type for a public key you add to CloudFront to use with features like field-level encryption.

            - */ - PublicKeyConfig: PublicKeyConfig | undefined; - /** *

            A time you added a public key to CloudFront.

            */ @@ -5158,6 +5277,11 @@ export interface PublicKey { *

            A unique ID assigned to a public key you've added to CloudFront.

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

            A complex data type for a public key you add to CloudFront to use with features like field-level encryption.

            + */ + PublicKeyConfig: PublicKeyConfig | undefined; } export namespace PublicKey { @@ -5173,14 +5297,14 @@ export interface CreatePublicKeyResult { Location?: string; /** - *

            Returned when you add a public key.

            + *

            The current version of the public key. For example: E2QWRUHAPOMQZL.

            */ - PublicKey?: PublicKey; + ETag?: string; /** - *

            The current version of the public key. For example: E2QWRUHAPOMQZL.

            + *

            Returned when you add a public key.

            */ - ETag?: string; + PublicKey?: PublicKey; } export namespace CreatePublicKeyResult { @@ -5220,120 +5344,261 @@ export namespace TooManyPublicKeys { } /** - *

            A complex type that controls whether access logs are written for this streaming distribution.

            + *

            Contains information about the Amazon Kinesis data stream where you are sending + * real-time log data.

            */ -export interface StreamingLoggingConfig { - /** - *

            An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, - * myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include - * an empty Prefix element in the Logging element.

            - */ - Prefix: string | undefined; - +export interface KinesisStreamConfig { /** - *

            The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

            + *

            The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time + * log data.

            */ - Bucket: string | undefined; + StreamARN: string | undefined; /** - *

            Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't - * want to enable logging when you create a streaming distribution or if you want to disable - * logging for an existing streaming distribution, specify false for - * Enabled, and specify empty Bucket and Prefix - * elements. If you specify false for Enabled but you specify values - * for Bucket and Prefix, the values are automatically deleted. - *

            + *

            The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that + * CloudFront can use to send real-time log data to your Kinesis data stream.

            + *

            For more information the IAM role, see Real-time log configuration IAM role in the + * Amazon CloudFront Developer Guide.

            */ - Enabled: boolean | undefined; + RoleARN: string | undefined; } -export namespace StreamingLoggingConfig { - export const filterSensitiveLog = (obj: StreamingLoggingConfig): any => ({ +export namespace KinesisStreamConfig { + export const filterSensitiveLog = (obj: KinesisStreamConfig): any => ({ ...obj, }); } /** - *

            A complex type that contains information about the Amazon S3 bucket from which you want - * CloudFront to get your media files for distribution.

            + *

            Contains information about the Amazon Kinesis data stream where you are sending real-time + * log data in a real-time log configuration.

            */ -export interface S3Origin { +export interface EndPoint { /** - *

            The CloudFront origin access identity to associate with the distribution. Use an origin - * access identity to configure the distribution so that end users can only access objects in an - * Amazon S3 bucket through CloudFront.

            - *

            If you want end users to be able to access objects using either the CloudFront URL or the - * Amazon S3 URL, specify an empty OriginAccessIdentity element.

            - *

            To delete the origin access identity from an existing distribution, update the - * distribution configuration and include an empty OriginAccessIdentity - * element.

            - *

            To replace the origin access identity, update the distribution configuration and - * specify the new origin access identity.

            - *

            For more information, see Using an Origin Access - * Identity to Restrict Access to Your Amazon S3 Content in the - * Amazon CloudFront Developer Guide.

            + *

            Contains information about the Amazon Kinesis data stream where you are sending + * real-time log data.

            */ - OriginAccessIdentity: string | undefined; + KinesisStreamConfig?: KinesisStreamConfig; /** - *

            The DNS name of the Amazon S3 origin.

            + *

            The type of data stream where you are sending real-time log data. The only valid value is + * Kinesis.

            */ - DomainName: string | undefined; + StreamType: string | undefined; } -export namespace S3Origin { - export const filterSensitiveLog = (obj: S3Origin): any => ({ +export namespace EndPoint { + export const filterSensitiveLog = (obj: EndPoint): any => ({ ...obj, }); } -/** - *

            The RTMP distribution's configuration information.

            - */ -export interface StreamingDistributionConfig { +export interface CreateRealtimeLogConfigRequest { /** - *

            A complex type that contains information about CNAMEs (alternate domain names), if any, - * for this streaming distribution.

            + *

            A unique name to identify this real-time log configuration.

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

            A complex type that specifies any AWS accounts that you want to permit to create signed - * URLs for private content. If you want the distribution to use signed URLs, include this - * element; if you want the distribution to use public URLs, remove this element. For more - * information, see Serving Private Content through - * CloudFront in the Amazon CloudFront Developer Guide.

            + *

            The sampling rate for this real-time log configuration. The sampling rate determines the + * percentage of viewer requests that are represented in the real-time log data. You must + * provide an integer between 1 and 100, inclusive.

            */ - TrustedSigners: TrustedSigners | undefined; + SamplingRate: number | undefined; /** - *

            A unique value (for example, a date-time stamp) that ensures that the request can't be - * replayed.

            - *

            If the value of CallerReference is new (regardless of the content of the - * StreamingDistributionConfig object), CloudFront creates a new distribution.

            - *

            If CallerReference is a value that you already sent in a previous request to - * create a distribution, CloudFront returns a DistributionAlreadyExists error.

            + *

            Contains information about the Amazon Kinesis data stream where you are sending real-time + * log data.

            */ - CallerReference: string | undefined; + EndPoints: EndPoint[] | undefined; /** - *

            Whether the streaming distribution is enabled to accept user requests for - * content.

            + *

            A list of fields to include in each real-time log record.

            + *

            For more information about fields, see Real-time log configuration fields in the + * Amazon CloudFront Developer Guide.

            + */ + Fields: string[] | undefined; +} + +export namespace CreateRealtimeLogConfigRequest { + export const filterSensitiveLog = (obj: CreateRealtimeLogConfigRequest): any => ({ + ...obj, + }); +} + +/** + *

            A real-time log configuration.

            + */ +export interface RealtimeLogConfig { + /** + *

            The unique name of this real-time log configuration.

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

            The sampling rate for this real-time log configuration. The sampling rate determines the + * percentage of viewer requests that are represented in the real-time log data. The + * sampling rate is an integer between 1 and 100, inclusive.

            + */ + SamplingRate: number | undefined; + + /** + *

            A list of fields that are included in each real-time log record. In an API response, the + * fields are provided in the same order in which they are sent to the Amazon Kinesis data + * stream.

            + *

            For more information about fields, see Real-time log configuration fields in the + * Amazon CloudFront Developer Guide.

            + */ + Fields: string[] | undefined; + + /** + *

            Contains information about the Amazon Kinesis data stream where you are sending real-time + * log data for this real-time log configuration.

            + */ + EndPoints: EndPoint[] | undefined; + + /** + *

            The Amazon Resource Name (ARN) of this real-time log configuration.

            + */ + ARN: string | undefined; +} + +export namespace RealtimeLogConfig { + export const filterSensitiveLog = (obj: RealtimeLogConfig): any => ({ + ...obj, + }); +} + +export interface CreateRealtimeLogConfigResult { + /** + *

            A real-time log configuration.

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

            A real-time log configuration with this name already exists. You must provide a unique name. + * To modify an existing real-time log configuration, use + * UpdateRealtimeLogConfig.

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

            You have reached the maximum number of real-time log configurations for this AWS account. + * For more information, see Quotas (formerly known as limits) in the + * Amazon CloudFront Developer Guide.

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

            A complex type that controls whether access logs are written for this streaming distribution.

            + */ +export interface StreamingLoggingConfig { + /** + *

            The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

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

            Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't + * want to enable logging when you create a streaming distribution or if you want to disable + * logging for an existing streaming distribution, specify false for + * Enabled, and specify empty Bucket and Prefix + * elements. If you specify false for Enabled but you specify values + * for Bucket and Prefix, the values are automatically deleted. + *

            */ Enabled: boolean | undefined; /** - *

            A complex type that controls whether access logs are written for the streaming - * distribution.

            + *

            An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, + * myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include + * an empty Prefix element in the Logging element.

            */ - Logging?: StreamingLoggingConfig; + Prefix: string | undefined; +} + +export namespace StreamingLoggingConfig { + export const filterSensitiveLog = (obj: StreamingLoggingConfig): any => ({ + ...obj, + }); +} + +/** + *

            A complex type that contains information about the Amazon S3 bucket from which you want + * CloudFront to get your media files for distribution.

            + */ +export interface S3Origin { + /** + *

            The DNS name of the Amazon S3 origin.

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

            The CloudFront origin access identity to associate with the distribution. Use an origin + * access identity to configure the distribution so that end users can only access objects in an + * Amazon S3 bucket through CloudFront.

            + *

            If you want end users to be able to access objects using either the CloudFront URL or the + * Amazon S3 URL, specify an empty OriginAccessIdentity element.

            + *

            To delete the origin access identity from an existing distribution, update the + * distribution configuration and include an empty OriginAccessIdentity + * element.

            + *

            To replace the origin access identity, update the distribution configuration and + * specify the new origin access identity.

            + *

            For more information, see Using an Origin Access + * Identity to Restrict Access to Your Amazon S3 Content in the + * Amazon CloudFront Developer Guide.

            + */ + OriginAccessIdentity: string | undefined; +} + +export namespace S3Origin { + export const filterSensitiveLog = (obj: S3Origin): any => ({ + ...obj, + }); +} +/** + *

            The RTMP distribution's configuration information.

            + */ +export interface StreamingDistributionConfig { /** *

            A complex type that contains information about the Amazon S3 bucket from which you want * CloudFront to get your media files for distribution.

            */ S3Origin: S3Origin | undefined; + /** + *

            Any comments you want to include about the streaming distribution.

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

            A complex type that contains information about price class for this streaming * distribution.

            @@ -5341,9 +5606,41 @@ export interface StreamingDistributionConfig { PriceClass?: PriceClass | string; /** - *

            Any comments you want to include about the streaming distribution.

            + *

            A complex type that controls whether access logs are written for the streaming + * distribution.

            */ - Comment: string | undefined; + Logging?: StreamingLoggingConfig; + + /** + *

            A complex type that contains information about CNAMEs (alternate domain names), if any, + * for this streaming distribution.

            + */ + Aliases?: Aliases; + + /** + *

            A complex type that specifies any AWS accounts that you want to permit to create signed + * URLs for private content. If you want the distribution to use signed URLs, include this + * element; if you want the distribution to use public URLs, remove this element. For more + * information, see Serving Private Content through + * CloudFront in the Amazon CloudFront Developer Guide.

            + */ + TrustedSigners: TrustedSigners | undefined; + + /** + *

            A unique value (for example, a date-time stamp) that ensures that the request can't be + * replayed.

            + *

            If the value of CallerReference is new (regardless of the content of the + * StreamingDistributionConfig object), CloudFront creates a new distribution.

            + *

            If CallerReference is a value that you already sent in a previous request to + * create a distribution, CloudFront returns a DistributionAlreadyExists error.

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

            Whether the streaming distribution is enabled to accept user requests for + * content.

            + */ + Enabled: boolean | undefined; } export namespace StreamingDistributionConfig { @@ -5374,26 +5671,24 @@ export namespace CreateStreamingDistributionRequest { */ export interface StreamingDistribution { /** - *

            The date and time that the distribution was last modified.

            - */ - LastModifiedTime?: Date; - - /** - *

            The current configuration information for the RTMP distribution.

            + *

            A complex type that lists the AWS accounts, if any, that you included in the + * TrustedSigners complex type for this distribution. These are the accounts that + * you want to allow to create signed URLs for private content.

            + *

            The Signer complex type lists the AWS account number of the trusted + * signer or self if the signer is the AWS account that created the distribution. + * The Signer element also includes the IDs of any active CloudFront key pairs that are + * associated with the trusted signer's AWS account. If no KeyPairId element + * appears for a Signer, that signer can't create signed URLs.

            + *

            For more information, see Serving Private + * Content through CloudFront in the Amazon CloudFront Developer Guide.

            */ - StreamingDistributionConfig: StreamingDistributionConfig | undefined; + ActiveTrustedSigners: ActiveTrustedSigners | undefined; /** *

            The domain name that corresponds to the streaming distribution, for example, s5c39gqb8ow64r.cloudfront.net.

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

            The identifier for the RTMP distribution. For example: - * EGTXBD79EXAMPLE.

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

            The current status of the RTMP distribution. When the status is Deployed, * the distribution's information is propagated to all CloudFront edge locations.

            @@ -5401,18 +5696,15 @@ export interface StreamingDistribution { Status: string | undefined; /** - *

            A complex type that lists the AWS accounts, if any, that you included in the - * TrustedSigners complex type for this distribution. These are the accounts that - * you want to allow to create signed URLs for private content.

            - *

            The Signer complex type lists the AWS account number of the trusted - * signer or self if the signer is the AWS account that created the distribution. - * The Signer element also includes the IDs of any active CloudFront key pairs that are - * associated with the trusted signer's AWS account. If no KeyPairId element - * appears for a Signer, that signer can't create signed URLs.

            - *

            For more information, see Serving Private - * Content through CloudFront in the Amazon CloudFront Developer Guide.

            + *

            The date and time that the distribution was last modified.

            */ - ActiveTrustedSigners: ActiveTrustedSigners | undefined; + LastModifiedTime?: Date; + + /** + *

            The identifier for the RTMP distribution. For example: + * EGTXBD79EXAMPLE.

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

            The ARN (Amazon Resource Name) for the distribution. For example: @@ -5420,6 +5712,11 @@ export interface StreamingDistribution { * 123456789012 is your AWS account ID.

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

            The current configuration information for the RTMP distribution.

            + */ + StreamingDistributionConfig: StreamingDistributionConfig | undefined; } export namespace StreamingDistribution { @@ -5433,14 +5730,14 @@ export namespace StreamingDistribution { */ export interface CreateStreamingDistributionResult { /** - *

            The fully qualified URI of the new streaming distribution resource just created.

            + *

            The streaming distribution's information.

            */ - Location?: string; + StreamingDistribution?: StreamingDistribution; /** - *

            The streaming distribution's information.

            + *

            The fully qualified URI of the new streaming distribution resource just created.

            */ - StreamingDistribution?: StreamingDistribution; + Location?: string; /** *

            The current version of the streaming distribution created.

            @@ -5543,14 +5840,14 @@ export namespace CreateStreamingDistributionWithTagsRequest { */ export interface CreateStreamingDistributionWithTagsResult { /** - *

            The streaming distribution's information.

            + *

            The fully qualified URI of the new streaming distribution resource just created.

            */ - StreamingDistribution?: StreamingDistribution; + Location?: string; /** - *

            The fully qualified URI of the new streaming distribution resource just created.

            + *

            The streaming distribution's information.

            */ - Location?: string; + StreamingDistribution?: StreamingDistribution; /** *

            The current version of the distribution created.

            @@ -5836,20 +6133,41 @@ export namespace FieldLevelEncryptionProfileInUse { }); } -export interface DeleteOriginRequestPolicyRequest { +export interface DeleteMonitoringSubscriptionRequest { /** - *

            The unique identifier for the origin request policy that you are deleting. To get the - * identifier, you can use ListOriginRequestPolicies.

            + *

            The ID of the distribution that you are disabling metrics for.

            */ - Id: string | undefined; + DistributionId: string | undefined; +} - /** - *

            The version of the origin request policy that you are deleting. The version is the origin - * request policy’s ETag value, which you can get using +export namespace DeleteMonitoringSubscriptionRequest { + export const filterSensitiveLog = (obj: DeleteMonitoringSubscriptionRequest): any => ({ + ...obj, + }); +} + +export interface DeleteMonitoringSubscriptionResult {} + +export namespace DeleteMonitoringSubscriptionResult { + export const filterSensitiveLog = (obj: DeleteMonitoringSubscriptionResult): any => ({ + ...obj, + }); +} + +export interface DeleteOriginRequestPolicyRequest { + /** + *

            The version of the origin request policy that you are deleting. The version is the origin + * request policy’s ETag value, which you can get using * ListOriginRequestPolicies, GetOriginRequestPolicy, or * GetOriginRequestPolicyConfig.

            */ IfMatch?: string; + + /** + *

            The unique identifier for the origin request policy that you are deleting. To get the + * identifier, you can use ListOriginRequestPolicies.

            + */ + Id: string | undefined; } export namespace DeleteOriginRequestPolicyRequest { @@ -5908,6 +6226,55 @@ export namespace PublicKeyInUse { }); } +export interface DeleteRealtimeLogConfigRequest { + /** + *

            The Amazon Resource Name (ARN) of the real-time log configuration to delete.

            + */ + ARN?: string; + + /** + *

            The name of the real-time log configuration to delete.

            + */ + Name?: string; +} + +export namespace DeleteRealtimeLogConfigRequest { + export const filterSensitiveLog = (obj: DeleteRealtimeLogConfigRequest): any => ({ + ...obj, + }); +} + +/** + *

            The real-time log configuration does not exist.

            + */ +export interface NoSuchRealtimeLogConfig extends __SmithyException, $MetadataBearer { + name: "NoSuchRealtimeLogConfig"; + $fault: "client"; + Message?: string; +} + +export namespace NoSuchRealtimeLogConfig { + export const filterSensitiveLog = (obj: NoSuchRealtimeLogConfig): any => ({ + ...obj, + }); +} + +/** + *

            Cannot delete the real-time log configuration because it is attached to one or more cache + * behaviors.

            + */ +export interface RealtimeLogConfigInUse extends __SmithyException, $MetadataBearer { + name: "RealtimeLogConfigInUse"; + $fault: "client"; + Message?: string; +} + +export namespace RealtimeLogConfigInUse { + export const filterSensitiveLog = (obj: RealtimeLogConfigInUse): any => ({ + ...obj, + }); +} + /** *

            The request to delete a streaming distribution.

            */ @@ -5980,14 +6347,14 @@ export namespace GetCachePolicyRequest { export interface GetCachePolicyResult { /** - *

            The current version of the cache policy.

            + *

            The cache policy.

            */ - ETag?: string; + CachePolicy?: CachePolicy; /** - *

            The cache policy.

            + *

            The current version of the cache policy.

            */ - CachePolicy?: CachePolicy; + ETag?: string; } export namespace GetCachePolicyResult { @@ -6015,14 +6382,14 @@ export namespace GetCachePolicyConfigRequest { export interface GetCachePolicyConfigResult { /** - *

            The current version of the cache policy.

            + *

            The cache policy configuration.

            */ - ETag?: string; + CachePolicyConfig?: CachePolicyConfig; /** - *

            The cache policy configuration.

            + *

            The current version of the cache policy.

            */ - CachePolicyConfig?: CachePolicyConfig; + ETag?: string; } export namespace GetCachePolicyConfigResult { @@ -6090,16 +6457,16 @@ export namespace GetCloudFrontOriginAccessIdentityConfigRequest { *

            The returned result of the corresponding request.

            */ export interface GetCloudFrontOriginAccessIdentityConfigResult { - /** - *

            The origin access identity's configuration information.

            - */ - CloudFrontOriginAccessIdentityConfig?: CloudFrontOriginAccessIdentityConfig; - /** *

            The current version of the configuration. For example: * E2QWRUHAPOMQZL.

            */ ETag?: string; + + /** + *

            The origin access identity's configuration information.

            + */ + CloudFrontOriginAccessIdentityConfig?: CloudFrontOriginAccessIdentityConfig; } export namespace GetCloudFrontOriginAccessIdentityConfigResult { @@ -6129,15 +6496,15 @@ export namespace GetDistributionRequest { */ export interface GetDistributionResult { /** - *

            The current version of the distribution's information. For example: - * E2QWRUHAPOMQZL.

            + *

            The distribution's information.

            */ - ETag?: string; + Distribution?: Distribution; /** - *

            The distribution's information.

            + *

            The current version of the distribution's information. For example: + * E2QWRUHAPOMQZL.

            */ - Distribution?: Distribution; + ETag?: string; } export namespace GetDistributionResult { @@ -6234,14 +6601,14 @@ export namespace GetFieldLevelEncryptionConfigRequest { export interface GetFieldLevelEncryptionConfigResult { /** - *

            The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

            + *

            Return the field-level encryption configuration information.

            */ - ETag?: string; + FieldLevelEncryptionConfig?: FieldLevelEncryptionConfig; /** - *

            Return the field-level encryption configuration information.

            + *

            The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

            */ - FieldLevelEncryptionConfig?: FieldLevelEncryptionConfig; + ETag?: string; } export namespace GetFieldLevelEncryptionConfigResult { @@ -6265,14 +6632,14 @@ export namespace GetFieldLevelEncryptionProfileRequest { export interface GetFieldLevelEncryptionProfileResult { /** - *

            Return the field-level encryption profile information.

            + *

            The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

            */ - FieldLevelEncryptionProfile?: FieldLevelEncryptionProfile; + ETag?: string; /** - *

            The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

            + *

            Return the field-level encryption profile information.

            */ - ETag?: string; + FieldLevelEncryptionProfile?: FieldLevelEncryptionProfile; } export namespace GetFieldLevelEncryptionProfileResult { @@ -6317,15 +6684,15 @@ export namespace GetFieldLevelEncryptionProfileConfigResult { */ export interface GetInvalidationRequest { /** - *

            The identifier for the invalidation request, for example, - * IDFDVBD632BHDS5.

            + *

            The distribution's ID.

            */ - Id: string | undefined; + DistributionId: string | undefined; /** - *

            The distribution's ID.

            + *

            The identifier for the invalidation request, for example, + * IDFDVBD632BHDS5.

            */ - DistributionId: string | undefined; + Id: string | undefined; } export namespace GetInvalidationRequest { @@ -6365,6 +6732,33 @@ export namespace NoSuchInvalidation { }); } +export interface GetMonitoringSubscriptionRequest { + /** + *

            The ID of the distribution that you are getting metrics information for.

            + */ + DistributionId: string | undefined; +} + +export namespace GetMonitoringSubscriptionRequest { + export const filterSensitiveLog = (obj: GetMonitoringSubscriptionRequest): any => ({ + ...obj, + }); +} + +export interface GetMonitoringSubscriptionResult { + /** + *

            A monitoring subscription. This structure contains information about whether additional + * CloudWatch metrics are enabled for a given CloudFront distribution.

            + */ + MonitoringSubscription?: MonitoringSubscription; +} + +export namespace GetMonitoringSubscriptionResult { + export const filterSensitiveLog = (obj: GetMonitoringSubscriptionResult): any => ({ + ...obj, + }); +} + export interface GetOriginRequestPolicyRequest { /** *

            The unique identifier for the origin request policy. If the origin request policy is @@ -6419,14 +6813,14 @@ export namespace GetOriginRequestPolicyConfigRequest { export interface GetOriginRequestPolicyConfigResult { /** - *

            The origin request policy configuration.

            + *

            The current version of the origin request policy.

            */ - OriginRequestPolicyConfig?: OriginRequestPolicyConfig; + ETag?: string; /** - *

            The current version of the origin request policy.

            + *

            The origin request policy configuration.

            */ - ETag?: string; + OriginRequestPolicyConfig?: OriginRequestPolicyConfig; } export namespace GetOriginRequestPolicyConfigResult { @@ -6450,14 +6844,14 @@ export namespace GetPublicKeyRequest { export interface GetPublicKeyResult { /** - *

            Return the public key.

            + *

            The current version of the public key. For example: E2QWRUHAPOMQZL.

            */ - PublicKey?: PublicKey; + ETag?: string; /** - *

            The current version of the public key. For example: E2QWRUHAPOMQZL.

            + *

            Return the public key.

            */ - ETag?: string; + PublicKey?: PublicKey; } export namespace GetPublicKeyResult { @@ -6497,6 +6891,37 @@ export namespace GetPublicKeyConfigResult { }); } +export interface GetRealtimeLogConfigRequest { + /** + *

            The name of the real-time log configuration to get.

            + */ + Name?: string; + + /** + *

            The Amazon Resource Name (ARN) of the real-time log configuration to get.

            + */ + ARN?: string; +} + +export namespace GetRealtimeLogConfigRequest { + export const filterSensitiveLog = (obj: GetRealtimeLogConfigRequest): any => ({ + ...obj, + }); +} + +export interface GetRealtimeLogConfigResult { + /** + *

            A real-time log configuration.

            + */ + RealtimeLogConfig?: RealtimeLogConfig; +} + +export namespace GetRealtimeLogConfigResult { + export const filterSensitiveLog = (obj: GetRealtimeLogConfigResult): any => ({ + ...obj, + }); +} + /** *

            The request to get a streaming distribution's information.

            */ @@ -6517,16 +6942,16 @@ export namespace GetStreamingDistributionRequest { *

            The returned result of the corresponding request.

            */ export interface GetStreamingDistributionResult { - /** - *

            The streaming distribution's information.

            - */ - StreamingDistribution?: StreamingDistribution; - /** *

            The current version of the streaming distribution's information. For example: * E2QWRUHAPOMQZL.

            */ ETag?: string; + + /** + *

            The streaming distribution's information.

            + */ + StreamingDistribution?: StreamingDistribution; } export namespace GetStreamingDistributionResult { @@ -6574,14 +6999,6 @@ export namespace GetStreamingDistributionConfigResult { } export interface ListCachePoliciesRequest { - /** - *

            Use this field when paginating results to indicate where to begin in your list of - * cache policies. The response includes cache policies in the list that occur after the - * marker. To get the next page of the list, set this field’s value to the value of - * NextMarker from the current page’s response.

            - */ - Marker?: string; - /** *

            The maximum number of cache policies that you want in the response.

            */ @@ -6603,6 +7020,14 @@ export interface ListCachePoliciesRequest { * */ Type?: CachePolicyType | string; + + /** + *

            Use this field when paginating results to indicate where to begin in your list of + * cache policies. The response includes cache policies in the list that occur after the + * marker. To get the next page of the list, set this field’s value to the value of + * NextMarker from the current page’s response.

            + */ + Marker?: string; } export namespace ListCachePoliciesRequest { @@ -6628,12 +7053,6 @@ export namespace ListCachePoliciesResult { *

            The request to list origin access identities.

            */ export interface ListCloudFrontOriginAccessIdentitiesRequest { - /** - *

            The maximum number of origin access identities you want in the response body. - *

            - */ - MaxItems?: string; - /** *

            Use this when paginating results to indicate where to begin in your list of origin * access identities. The results include identities in the list that occur after the marker. To @@ -6642,6 +7061,12 @@ export interface ListCloudFrontOriginAccessIdentitiesRequest { * identity on that page).

            */ Marker?: string; + + /** + *

            The maximum number of origin access identities you want in the response body. + *

            + */ + MaxItems?: string; } export namespace ListCloudFrontOriginAccessIdentitiesRequest { @@ -6690,10 +7115,11 @@ export namespace CloudFrontOriginAccessIdentitySummary { */ export interface CloudFrontOriginAccessIdentityList { /** - *

            The maximum number of origin access identities you want in the response body. - *

            + *

            If IsTruncated is true, this element is present and contains + * the value you can use for the Marker request parameter to continue listing your + * origin access identities where they left off.

            */ - MaxItems: number | undefined; + NextMarker?: string; /** *

            A complex type that contains one CloudFrontOriginAccessIdentitySummary @@ -6710,13 +7136,10 @@ export interface CloudFrontOriginAccessIdentityList { IsTruncated: boolean | undefined; /** - *

            Use this when paginating results to indicate where to begin in your list of origin - * access identities. The results include identities in the list that occur after the marker. To - * get the next page of results, set the Marker to the value of the - * NextMarker from the current page's response (which is also the ID of the last - * identity on that page).

            + *

            The maximum number of origin access identities you want in the response body. + *

            */ - Marker: string | undefined; + MaxItems: number | undefined; /** *

            The number of CloudFront origin access identities that were created by the current AWS @@ -6725,11 +7148,13 @@ export interface CloudFrontOriginAccessIdentityList { Quantity: number | undefined; /** - *

            If IsTruncated is true, this element is present and contains - * the value you can use for the Marker request parameter to continue listing your - * origin access identities where they left off.

            + *

            Use this when paginating results to indicate where to begin in your list of origin + * access identities. The results include identities in the list that occur after the marker. To + * get the next page of results, set the Marker to the value of the + * NextMarker from the current page's response (which is also the ID of the last + * identity on that page).

            */ - NextMarker?: string; + Marker: string | undefined; } export namespace CloudFrontOriginAccessIdentityList { @@ -6758,11 +7183,6 @@ export namespace ListCloudFrontOriginAccessIdentitiesResult { *

            The request to list your distributions.

            */ export interface ListDistributionsRequest { - /** - *

            The maximum number of distributions you want in the response body.

            - */ - MaxItems?: string; - /** *

            Use this when paginating results to indicate where to begin in your list of * distributions. The results include distributions in the list that occur after the marker. To @@ -6771,6 +7191,11 @@ export interface ListDistributionsRequest { * distribution on that page).

            */ Marker?: string; + + /** + *

            The maximum number of distributions you want in the response body.

            + */ + MaxItems?: string; } export namespace ListDistributionsRequest { @@ -6784,23 +7209,32 @@ export namespace ListDistributionsRequest { */ export interface DistributionSummary { /** - *

            The ARN (Amazon Resource Name) for the distribution. For example: - * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where - * 123456789012 is your AWS account ID.

            + *

            The Web ACL Id (if any) associated with the distribution.

            */ - ARN: string | undefined; + WebACLId: string | undefined; /** - *

            The identifier for the distribution. For example: - * EDFDVBD632BHDS5.

            + *

            A complex type that contains information about CNAMEs (alternate domain names), if any, + * for this distribution.

            */ - Id: string | undefined; + Aliases: Aliases | undefined; /** - *

            A complex type that contains information about origin groups for this - * distribution.

            + *

            The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net.

            */ - OriginGroups?: OriginGroups; + DomainName: string | undefined; + + /** + *

            A complex type that determines the distribution’s SSL/TLS configuration for + * communicating with viewers.

            + */ + ViewerCertificate: ViewerCertificate | undefined; + + /** + *

            Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your + * distribution.

            + */ + IsIPV6Enabled: boolean | undefined; /** *

            A complex type that describes the default cache behavior if you don't specify a @@ -6811,9 +7245,10 @@ export interface DistributionSummary { DefaultCacheBehavior: DefaultCacheBehavior | undefined; /** - *

            Whether the distribution is enabled to accept user requests for content.

            + *

            The identifier for the distribution. For example: + * EDFDVBD632BHDS5.

            */ - Enabled: boolean | undefined; + Id: string | undefined; /** *

            A complex type that contains zero or more CustomErrorResponses @@ -6822,19 +7257,21 @@ export interface DistributionSummary { CustomErrorResponses: CustomErrorResponses | undefined; /** - *

            The comment originally specified when this distribution was created.

            + *

            Whether the distribution is enabled to accept user requests for content.

            */ - Comment: string | undefined; + Enabled: boolean | undefined; /** - *

            The date and time the distribution was last modified.

            + *

            A complex type that contains information about origin groups for this + * distribution.

            */ - LastModifiedTime: Date | undefined; + OriginGroups?: OriginGroups; /** - *

            A complex type that contains information about origins for this distribution.

            + *

            The current status of the distribution. When the status is Deployed, the + * distribution's information is propagated to all CloudFront edge locations.

            */ - Origins: Origins | undefined; + Status: string | undefined; /** *

            A complex type that contains zero or more CacheBehavior @@ -6842,6 +7279,16 @@ export interface DistributionSummary { */ CacheBehaviors: CacheBehaviors | undefined; + /** + *

            The comment originally specified when this distribution was created.

            + */ + Comment: string | undefined; + + /** + *

            A complex type that contains information about origins for this distribution.

            + */ + Origins: Origins | undefined; + /** *

            A complex type that contains information about price class for this streaming * distribution.

            @@ -6856,16 +7303,17 @@ export interface DistributionSummary { HttpVersion: HttpVersion | string | undefined; /** - *

            Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your - * distribution.

            + *

            The ARN (Amazon Resource Name) for the distribution. For example: + * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where + * 123456789012 is your AWS account ID.

            */ - IsIPV6Enabled: boolean | undefined; + ARN: string | undefined; /** - *

            A complex type that determines the distribution’s SSL/TLS configuration for - * communicating with viewers.

            + *

            A complex type that identifies ways in which you want to restrict distribution of your + * content.

            */ - ViewerCertificate: ViewerCertificate | undefined; + Restrictions: Restrictions | undefined; /** *

            AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want to serve content @@ -6877,32 +7325,9 @@ export interface DistributionSummary { AliasICPRecordals?: AliasICPRecordal[]; /** - *

            The current status of the distribution. When the status is Deployed, the - * distribution's information is propagated to all CloudFront edge locations.

            - */ - Status: string | undefined; - - /** - *

            A complex type that identifies ways in which you want to restrict distribution of your - * content.

            - */ - Restrictions: Restrictions | undefined; - - /** - *

            The Web ACL Id (if any) associated with the distribution.

            - */ - WebACLId: string | undefined; - - /** - *

            The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net.

            - */ - DomainName: string | undefined; - - /** - *

            A complex type that contains information about CNAMEs (alternate domain names), if any, - * for this distribution.

            + *

            The date and time the distribution was last modified.

            */ - Aliases: Aliases | undefined; + LastModifiedTime: Date | undefined; } export namespace DistributionSummary { @@ -6916,16 +7341,11 @@ export namespace DistributionSummary { */ export interface DistributionList { /** - *

            The value you provided for the MaxItems request parameter.

            - */ - MaxItems: number | undefined; - - /** - *

            A flag that indicates whether more distributions remain to be listed. If your results - * were truncated, you can make a follow-up pagination request using the Marker - * request parameter to retrieve more distributions in the list.

            + *

            If IsTruncated is true, this element is present and contains + * the value you can use for the Marker request parameter to continue listing your + * distributions where they left off.

            */ - IsTruncated: boolean | undefined; + NextMarker?: string; /** *

            A complex type that contains one DistributionSummary element for each @@ -6934,17 +7354,22 @@ export interface DistributionList { Items?: DistributionSummary[]; /** - *

            If IsTruncated is true, this element is present and contains - * the value you can use for the Marker request parameter to continue listing your - * distributions where they left off.

            + *

            A flag that indicates whether more distributions remain to be listed. If your results + * were truncated, you can make a follow-up pagination request using the Marker + * request parameter to retrieve more distributions in the list.

            */ - NextMarker?: string; + IsTruncated: boolean | undefined; /** *

            The value you provided for the Marker request parameter.

            */ Marker: string | undefined; + /** + *

            The value you provided for the MaxItems request parameter.

            + */ + MaxItems: number | undefined; + /** *

            The number of distributions that were created by the current AWS account.

            */ @@ -6983,14 +7408,14 @@ export interface ListDistributionsByCachePolicyIdRequest { Marker?: string; /** - *

            The maximum number of distribution IDs that you want in the response.

            + *

            The ID of the cache policy whose associated distribution IDs you want to list.

            */ - MaxItems?: string; + CachePolicyId: string | undefined; /** - *

            The ID of the cache policy whose associated distribution IDs you want to list.

            + *

            The maximum number of distribution IDs that you want in the response.

            */ - CachePolicyId: string | undefined; + MaxItems?: string; } export namespace ListDistributionsByCachePolicyIdRequest { @@ -7004,15 +7429,16 @@ export namespace ListDistributionsByCachePolicyIdRequest { */ export interface DistributionIdList { /** - *

            The total number of distribution IDs returned in the response.

            + *

            The maximum number of distribution IDs requested.

            */ - Quantity: number | undefined; + MaxItems: number | undefined; /** - *

            Contains the value that you should use in the Marker field of a - * subsequent request to continue listing distribution IDs where you left off.

            + *

            A flag that indicates whether more distribution IDs remain to be listed. If your + * results were truncated, you can make a subsequent request using the Marker + * request field to retrieve more distribution IDs in the list.

            */ - NextMarker?: string; + IsTruncated: boolean | undefined; /** *

            Contains the distribution IDs in the list.

            @@ -7025,16 +7451,15 @@ export interface DistributionIdList { Marker: string | undefined; /** - *

            A flag that indicates whether more distribution IDs remain to be listed. If your - * results were truncated, you can make a subsequent request using the Marker - * request field to retrieve more distribution IDs in the list.

            + *

            The total number of distribution IDs returned in the response.

            */ - IsTruncated: boolean | undefined; + Quantity: number | undefined; /** - *

            The maximum number of distribution IDs requested.

            + *

            Contains the value that you should use in the Marker field of a + * subsequent request to continue listing distribution IDs where you left off.

            */ - MaxItems: number | undefined; + NextMarker?: string; } export namespace DistributionIdList { @@ -7057,14 +7482,6 @@ export namespace ListDistributionsByCachePolicyIdResult { } export interface ListDistributionsByOriginRequestPolicyIdRequest { - /** - *

            Use this field when paginating results to indicate where to begin in your list of - * distribution IDs. The response includes distribution IDs in the list that occur after - * the marker. To get the next page of the list, set this field’s value to the value of - * NextMarker from the current page’s response.

            - */ - Marker?: string; - /** *

            The ID of the origin request policy whose associated distribution IDs you want to * list.

            @@ -7075,6 +7492,14 @@ export interface ListDistributionsByOriginRequestPolicyIdRequest { *

            The maximum number of distribution IDs that you want in the response.

            */ MaxItems?: string; + + /** + *

            Use this field when paginating results to indicate where to begin in your list of + * distribution IDs. The response includes distribution IDs in the list that occur after + * the marker. To get the next page of the list, set this field’s value to the value of + * NextMarker from the current page’s response.

            + */ + Marker?: string; } export namespace ListDistributionsByOriginRequestPolicyIdRequest { @@ -7096,596 +7521,35 @@ export namespace ListDistributionsByOriginRequestPolicyIdResult { }); } -/** - *

            The request to list distributions that are associated with a specified AWS WAF web - * ACL.

            - */ -export interface ListDistributionsByWebACLIdRequest { - /** - *

            Use Marker and MaxItems to control pagination of results. If - * you have more than MaxItems distributions that satisfy the request, the response - * includes a NextMarker element. To get the next page of results, submit another - * request. For the value of Marker, specify the value of NextMarker - * from the last response. (For the first request, omit Marker.)

            - */ - Marker?: string; - - /** - *

            The ID of the AWS WAF web ACL that you want to list the associated distributions. - * If you specify "null" for the ID, the request returns a list of the distributions that aren't - * associated with a web ACL.

            - */ - WebACLId: string | undefined; - - /** - *

            The maximum number of distributions that you want CloudFront to return in the response body. - * The maximum and default values are both 100.

            - */ - MaxItems?: string; -} - -export namespace ListDistributionsByWebACLIdRequest { - export const filterSensitiveLog = (obj: ListDistributionsByWebACLIdRequest): any => ({ - ...obj, - }); -} - -/** - *

            The response to a request to list the distributions that are associated with a - * specified AWS WAF web ACL.

            - */ -export interface ListDistributionsByWebACLIdResult { +export interface ListDistributionsByRealtimeLogConfigRequest { /** - *

            The DistributionList type.

            + *

            The Amazon Resource Name (ARN) of the real-time log configuration whose associated + * distributions you want to list.

            */ - DistributionList?: DistributionList; -} - -export namespace ListDistributionsByWebACLIdResult { - export const filterSensitiveLog = (obj: ListDistributionsByWebACLIdResult): any => ({ - ...obj, - }); -} + RealtimeLogConfigArn?: string; -export interface ListFieldLevelEncryptionConfigsRequest { /** - *

            Use this when paginating results to indicate where to begin in your list of configurations. The results include configurations in the list that - * occur after the marker. To get the next page of results, set the Marker to the value of the - * NextMarker from the current page's response (which is also the ID of the last configuration on that page).

            + *

            Use this field when paginating results to indicate where to begin in your list of + * distributions. The response includes distributions in the list that occur after the + * marker. To get the next page of the list, set this field’s value to the value of + * NextMarker from the current page’s response.

            */ Marker?: string; /** - *

            The maximum number of field-level encryption configurations you want in the response body.

            - */ - MaxItems?: string; -} - -export namespace ListFieldLevelEncryptionConfigsRequest { - export const filterSensitiveLog = (obj: ListFieldLevelEncryptionConfigsRequest): any => ({ - ...obj, - }); -} - -/** - *

            A summary of a field-level encryption item.

            - */ -export interface FieldLevelEncryptionSummary { - /** - *

            An optional comment about the field-level encryption item.

            - */ - Comment?: string; - - /** - *

            The unique ID of a field-level encryption item.

            - */ - Id: string | undefined; - - /** - *

            - * A summary of a content type-profile mapping. - *

            - */ - ContentTypeProfileConfig?: ContentTypeProfileConfig; - - /** - *

            - * A summary of a query argument-profile mapping. - *

            - */ - QueryArgProfileConfig?: QueryArgProfileConfig; - - /** - *

            The last time that the summary of field-level encryption items was modified.

            - */ - LastModifiedTime: Date | undefined; -} - -export namespace FieldLevelEncryptionSummary { - export const filterSensitiveLog = (obj: FieldLevelEncryptionSummary): any => ({ - ...obj, - }); -} - -/** - *

            List of field-level encrpytion configurations.

            - */ -export interface FieldLevelEncryptionList { - /** - *

            The maximum number of elements you want in the response body.

            - */ - MaxItems: number | undefined; - - /** - *

            The number of field-level encryption items.

            - */ - Quantity: number | undefined; - - /** - *

            An array of field-level encryption items.

            - */ - Items?: FieldLevelEncryptionSummary[]; - - /** - *

            If there are more elements to be listed, this element is present and contains - * the value that you can use for the Marker request parameter to continue - * listing your configurations where you left off.

            - */ - NextMarker?: string; -} - -export namespace FieldLevelEncryptionList { - export const filterSensitiveLog = (obj: FieldLevelEncryptionList): any => ({ - ...obj, - }); -} - -export interface ListFieldLevelEncryptionConfigsResult { - /** - *

            Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

            - */ - FieldLevelEncryptionList?: FieldLevelEncryptionList; -} - -export namespace ListFieldLevelEncryptionConfigsResult { - export const filterSensitiveLog = (obj: ListFieldLevelEncryptionConfigsResult): any => ({ - ...obj, - }); -} - -export interface ListFieldLevelEncryptionProfilesRequest { - /** - *

            Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles in the list that - * occur after the marker. To get the next page of results, set the Marker to the value of the - * NextMarker from the current page's response (which is also the ID of the last profile on that page).

            + *

            The name of the real-time log configuration whose associated distributions you want to + * list.

            */ - Marker?: string; + RealtimeLogConfigName?: string; /** - *

            The maximum number of field-level encryption profiles you want in the response body.

            + *

            The maximum number of distributions that you want in the response.

            */ MaxItems?: string; } -export namespace ListFieldLevelEncryptionProfilesRequest { - export const filterSensitiveLog = (obj: ListFieldLevelEncryptionProfilesRequest): any => ({ - ...obj, - }); -} - -/** - *

            The field-level encryption profile summary.

            - */ -export interface FieldLevelEncryptionProfileSummary { - /** - *

            ID for the field-level encryption profile summary.

            - */ - Id: string | undefined; - - /** - *

            A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and - * field patterns for specifying which fields to encrypt with this key.

            - */ - EncryptionEntities: EncryptionEntities | undefined; - - /** - *

            The time when the the field-level encryption profile summary was last updated.

            - */ - LastModifiedTime: Date | undefined; - - /** - *

            Name for the field-level encryption profile summary.

            - */ - Name: string | undefined; - - /** - *

            An optional comment for the field-level encryption profile summary.

            - */ - Comment?: string; -} - -export namespace FieldLevelEncryptionProfileSummary { - export const filterSensitiveLog = (obj: FieldLevelEncryptionProfileSummary): any => ({ - ...obj, - }); -} - -/** - *

            List of field-level encryption profiles.

            - */ -export interface FieldLevelEncryptionProfileList { - /** - *

            If there are more elements to be listed, this element is present and contains - * the value that you can use for the Marker request parameter to continue - * listing your profiles where you left off.

            - */ - NextMarker?: string; - - /** - *

            The number of field-level encryption profiles.

            - */ - Quantity: number | undefined; - - /** - *

            The field-level encryption profile items.

            - */ - Items?: FieldLevelEncryptionProfileSummary[]; - - /** - *

            The maximum number of field-level encryption profiles you want in the response body.

            - */ - MaxItems: number | undefined; -} - -export namespace FieldLevelEncryptionProfileList { - export const filterSensitiveLog = (obj: FieldLevelEncryptionProfileList): any => ({ - ...obj, - }); -} - -export interface ListFieldLevelEncryptionProfilesResult { - /** - *

            Returns a list of the field-level encryption profiles that have been created in CloudFront for this account.

            - */ - FieldLevelEncryptionProfileList?: FieldLevelEncryptionProfileList; -} - -export namespace ListFieldLevelEncryptionProfilesResult { - export const filterSensitiveLog = (obj: ListFieldLevelEncryptionProfilesResult): any => ({ - ...obj, - }); -} - -/** - *

            The request to list invalidations.

            - */ -export interface ListInvalidationsRequest { - /** - *

            The maximum number of invalidation batches that you want in the response - * body.

            - */ - MaxItems?: string; - - /** - *

            Use this parameter when paginating results to indicate where to begin in your list of - * invalidation batches. Because the results are returned in decreasing order from most recent to - * oldest, the most recent results are on the first page, the second page will contain earlier - * results, and so on. To get the next page of results, set Marker to the value of - * the NextMarker from the current page's response. This value is the same as the ID - * of the last invalidation batch on that page.

            - */ - Marker?: string; - - /** - *

            The distribution's ID.

            - */ - DistributionId: string | undefined; -} - -export namespace ListInvalidationsRequest { - export const filterSensitiveLog = (obj: ListInvalidationsRequest): any => ({ - ...obj, - }); -} - -/** - *

            A summary of an invalidation request.

            - */ -export interface InvalidationSummary { - /** - *

            The status of an invalidation request.

            - */ - Status: string | undefined; - - /** - *

            The unique ID for an invalidation request.

            - */ - Id: string | undefined; - - /** - *

            The time that an invalidation request was created.

            - */ - CreateTime: Date | undefined; -} - -export namespace InvalidationSummary { - export const filterSensitiveLog = (obj: InvalidationSummary): any => ({ - ...obj, - }); -} - -/** - *

            The InvalidationList complex type describes the list of invalidation - * objects. For more information about invalidation, see Invalidating Objects (Web Distributions Only) in - * the Amazon CloudFront Developer Guide.

            - */ -export interface InvalidationList { - /** - *

            A flag that indicates whether more invalidation batch requests remain to be listed. If - * your results were truncated, you can make a follow-up pagination request using the - * Marker request parameter to retrieve more invalidation batches in the - * list.

            - */ - IsTruncated: boolean | undefined; - - /** - *

            The value that you provided for the Marker request parameter.

            - */ - Marker: string | undefined; - - /** - *

            A complex type that contains one InvalidationSummary element for each - * invalidation batch created by the current AWS account.

            - */ - Items?: InvalidationSummary[]; - - /** - *

            The value that you provided for the MaxItems request parameter.

            - */ - MaxItems: number | undefined; - - /** - *

            The number of invalidation batches that were created by the current AWS account. - *

            - */ - Quantity: number | undefined; - - /** - *

            If IsTruncated is true, this element is present and contains - * the value that you can use for the Marker request parameter to continue listing - * your invalidation batches where they left off.

            - */ - NextMarker?: string; -} - -export namespace InvalidationList { - export const filterSensitiveLog = (obj: InvalidationList): any => ({ - ...obj, - }); -} - -/** - *

            The returned result of the corresponding request.

            - */ -export interface ListInvalidationsResult { - /** - *

            Information about invalidation batches.

            - */ - InvalidationList?: InvalidationList; -} - -export namespace ListInvalidationsResult { - export const filterSensitiveLog = (obj: ListInvalidationsResult): any => ({ - ...obj, - }); -} - -export type OriginRequestPolicyType = "custom" | "managed"; - -export interface ListOriginRequestPoliciesRequest { - /** - *

            The maximum number of origin request policies that you want in the response.

            - */ - MaxItems?: string; - - /** - *

            A filter to return only the specified kinds of origin request policies. Valid values - * are:

            - *
              - *
            • - *

              - * managed – Returns only the managed policies created by AWS.

              - *
            • - *
            • - *

              - * custom – Returns only the custom policies created in your AWS - * account.

              - *
            • - *
            - */ - Type?: OriginRequestPolicyType | string; - - /** - *

            Use this field when paginating results to indicate where to begin in your list of - * origin request policies. The response includes origin request policies in the list that - * occur after the marker. To get the next page of the list, set this field’s value to the - * value of NextMarker from the current page’s response.

            - */ - Marker?: string; -} - -export namespace ListOriginRequestPoliciesRequest { - export const filterSensitiveLog = (obj: ListOriginRequestPoliciesRequest): any => ({ - ...obj, - }); -} - -/** - *

            Contains an origin request policy.

            - */ -export interface OriginRequestPolicySummary { - /** - *

            The origin request policy.

            - */ - OriginRequestPolicy: OriginRequestPolicy | undefined; - - /** - *

            The type of origin request policy, either managed (created by AWS) or - * custom (created in this AWS account).

            - */ - Type: OriginRequestPolicyType | string | undefined; -} - -export namespace OriginRequestPolicySummary { - export const filterSensitiveLog = (obj: OriginRequestPolicySummary): any => ({ - ...obj, - }); -} - -/** - *

            A list of origin request policies.

            - */ -export interface OriginRequestPolicyList { - /** - *

            The total number of origin request policies returned in the response.

            - */ - Quantity: number | undefined; - - /** - *

            If there are more items in the list than are in this response, this element is - * present. It contains the value that you should use in the Marker field of a - * subsequent request to continue listing origin request policies where you left - * off.

            - */ - NextMarker?: string; - - /** - *

            The maximum number of origin request policies requested.

            - */ - MaxItems: number | undefined; - - /** - *

            Contains the origin request policies in the list.

            - */ - Items?: OriginRequestPolicySummary[]; -} - -export namespace OriginRequestPolicyList { - export const filterSensitiveLog = (obj: OriginRequestPolicyList): any => ({ - ...obj, - }); -} - -export interface ListOriginRequestPoliciesResult { - /** - *

            A list of origin request policies.

            - */ - OriginRequestPolicyList?: OriginRequestPolicyList; -} - -export namespace ListOriginRequestPoliciesResult { - export const filterSensitiveLog = (obj: ListOriginRequestPoliciesResult): any => ({ - ...obj, - }); -} - -export interface ListPublicKeysRequest { - /** - *

            The maximum number of public keys you want in the response body.

            - */ - MaxItems?: string; - - /** - *

            Use this when paginating results to indicate where to begin in your list of public keys. The results include public keys in the list that - * occur after the marker. To get the next page of results, set the Marker to the value of the - * NextMarker from the current page's response (which is also the ID of the last public key on that page).

            - */ - Marker?: string; -} - -export namespace ListPublicKeysRequest { - export const filterSensitiveLog = (obj: ListPublicKeysRequest): any => ({ - ...obj, - }); -} - -/** - *

            A complex data type for public key information. - *

            - */ -export interface PublicKeySummary { - /** - *

            - * Name for public key information summary. - *

            - */ - Name: string | undefined; - - /** - *

            - * Creation time for public key information summary. - *

            - */ - CreatedTime: Date | undefined; - - /** - *

            - * Encoded key for public key information summary. - *

            - */ - EncodedKey: string | undefined; - - /** - *

            - * ID for public key information summary. - *

            - */ - Id: string | undefined; - - /** - *

            - * Comment for public key information summary. - *

            - */ - Comment?: string; -} - -export namespace PublicKeySummary { - export const filterSensitiveLog = (obj: PublicKeySummary): any => ({ - ...obj, - }); -} - -/** - *

            A list of public keys you've added to CloudFront to use with features like field-level encryption.

            - */ -export interface PublicKeyList { - /** - *

            If there are more elements to be listed, this element is present and contains - * the value that you can use for the Marker request parameter to continue - * listing your public keys where you left off.

            - */ - NextMarker?: string; - - /** - *

            The maximum number of public keys you want in the response body.

            - */ - MaxItems: number | undefined; - - /** - *

            An array of information about a public key you add to CloudFront to use with features like field-level encryption.

            - */ - Items?: PublicKeySummary[]; - - /** - *

            The number of public keys you added to CloudFront to use with features like field-level - * encryption.

            - */ - Quantity: number | undefined; -} - -export namespace PublicKeyList { - export const filterSensitiveLog = (obj: PublicKeyList): any => ({ +export namespace ListDistributionsByRealtimeLogConfigRequest { + export const filterSensitiveLog = (obj: ListDistributionsByRealtimeLogConfigRequest): any => ({ ...obj, }); } diff --git a/clients/client-cloudfront/models/models_1.ts b/clients/client-cloudfront/models/models_1.ts index e57c05dd100c..65730ec28e57 100644 --- a/clients/client-cloudfront/models/models_1.ts +++ b/clients/client-cloudfront/models/models_1.ts @@ -4,8 +4,12 @@ import { CachePolicyConfig, CloudFrontOriginAccessIdentity, CloudFrontOriginAccessIdentityConfig, + ContentTypeProfileConfig, Distribution, DistributionConfig, + DistributionList, + EncryptionEntities, + EndPoint, FieldLevelEncryption, FieldLevelEncryptionConfig, FieldLevelEncryptionProfile, @@ -15,7 +19,8 @@ import { PriceClass, PublicKey, PublicKeyConfig, - PublicKeyList, + QueryArgProfileConfig, + RealtimeLogConfig, S3Origin, StreamingDistribution, StreamingDistributionConfig, @@ -25,6 +30,613 @@ import { import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +export interface ListDistributionsByRealtimeLogConfigResult { + /** + *

            A distribution list.

            + */ + DistributionList?: DistributionList; +} + +export namespace ListDistributionsByRealtimeLogConfigResult { + export const filterSensitiveLog = (obj: ListDistributionsByRealtimeLogConfigResult): any => ({ + ...obj, + }); +} + +/** + *

            The request to list distributions that are associated with a specified AWS WAF web + * ACL.

            + */ +export interface ListDistributionsByWebACLIdRequest { + /** + *

            The maximum number of distributions that you want CloudFront to return in the response body. + * The maximum and default values are both 100.

            + */ + MaxItems?: string; + + /** + *

            Use Marker and MaxItems to control pagination of results. If + * you have more than MaxItems distributions that satisfy the request, the response + * includes a NextMarker element. To get the next page of results, submit another + * request. For the value of Marker, specify the value of NextMarker + * from the last response. (For the first request, omit Marker.)

            + */ + Marker?: string; + + /** + *

            The ID of the AWS WAF web ACL that you want to list the associated distributions. + * If you specify "null" for the ID, the request returns a list of the distributions that aren't + * associated with a web ACL.

            + */ + WebACLId: string | undefined; +} + +export namespace ListDistributionsByWebACLIdRequest { + export const filterSensitiveLog = (obj: ListDistributionsByWebACLIdRequest): any => ({ + ...obj, + }); +} + +/** + *

            The response to a request to list the distributions that are associated with a + * specified AWS WAF web ACL.

            + */ +export interface ListDistributionsByWebACLIdResult { + /** + *

            The DistributionList type.

            + */ + DistributionList?: DistributionList; +} + +export namespace ListDistributionsByWebACLIdResult { + export const filterSensitiveLog = (obj: ListDistributionsByWebACLIdResult): any => ({ + ...obj, + }); +} + +export interface ListFieldLevelEncryptionConfigsRequest { + /** + *

            The maximum number of field-level encryption configurations you want in the response body.

            + */ + MaxItems?: string; + + /** + *

            Use this when paginating results to indicate where to begin in your list of configurations. The results include configurations in the list that + * occur after the marker. To get the next page of results, set the Marker to the value of the + * NextMarker from the current page's response (which is also the ID of the last configuration on that page).

            + */ + Marker?: string; +} + +export namespace ListFieldLevelEncryptionConfigsRequest { + export const filterSensitiveLog = (obj: ListFieldLevelEncryptionConfigsRequest): any => ({ + ...obj, + }); +} + +/** + *

            A summary of a field-level encryption item.

            + */ +export interface FieldLevelEncryptionSummary { + /** + *

            + * A summary of a query argument-profile mapping. + *

            + */ + QueryArgProfileConfig?: QueryArgProfileConfig; + + /** + *

            + * A summary of a content type-profile mapping. + *

            + */ + ContentTypeProfileConfig?: ContentTypeProfileConfig; + + /** + *

            The last time that the summary of field-level encryption items was modified.

            + */ + LastModifiedTime: Date | undefined; + + /** + *

            An optional comment about the field-level encryption item.

            + */ + Comment?: string; + + /** + *

            The unique ID of a field-level encryption item.

            + */ + Id: string | undefined; +} + +export namespace FieldLevelEncryptionSummary { + export const filterSensitiveLog = (obj: FieldLevelEncryptionSummary): any => ({ + ...obj, + }); +} + +/** + *

            List of field-level encrpytion configurations.

            + */ +export interface FieldLevelEncryptionList { + /** + *

            If there are more elements to be listed, this element is present and contains + * the value that you can use for the Marker request parameter to continue + * listing your configurations where you left off.

            + */ + NextMarker?: string; + + /** + *

            The number of field-level encryption items.

            + */ + Quantity: number | undefined; + + /** + *

            The maximum number of elements you want in the response body.

            + */ + MaxItems: number | undefined; + + /** + *

            An array of field-level encryption items.

            + */ + Items?: FieldLevelEncryptionSummary[]; +} + +export namespace FieldLevelEncryptionList { + export const filterSensitiveLog = (obj: FieldLevelEncryptionList): any => ({ + ...obj, + }); +} + +export interface ListFieldLevelEncryptionConfigsResult { + /** + *

            Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

            + */ + FieldLevelEncryptionList?: FieldLevelEncryptionList; +} + +export namespace ListFieldLevelEncryptionConfigsResult { + export const filterSensitiveLog = (obj: ListFieldLevelEncryptionConfigsResult): any => ({ + ...obj, + }); +} + +export interface ListFieldLevelEncryptionProfilesRequest { + /** + *

            Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles in the list that + * occur after the marker. To get the next page of results, set the Marker to the value of the + * NextMarker from the current page's response (which is also the ID of the last profile on that page).

            + */ + Marker?: string; + + /** + *

            The maximum number of field-level encryption profiles you want in the response body.

            + */ + MaxItems?: string; +} + +export namespace ListFieldLevelEncryptionProfilesRequest { + export const filterSensitiveLog = (obj: ListFieldLevelEncryptionProfilesRequest): any => ({ + ...obj, + }); +} + +/** + *

            The field-level encryption profile summary.

            + */ +export interface FieldLevelEncryptionProfileSummary { + /** + *

            A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and + * field patterns for specifying which fields to encrypt with this key.

            + */ + EncryptionEntities: EncryptionEntities | undefined; + + /** + *

            Name for the field-level encryption profile summary.

            + */ + Name: string | undefined; + + /** + *

            An optional comment for the field-level encryption profile summary.

            + */ + Comment?: string; + + /** + *

            ID for the field-level encryption profile summary.

            + */ + Id: string | undefined; + + /** + *

            The time when the the field-level encryption profile summary was last updated.

            + */ + LastModifiedTime: Date | undefined; +} + +export namespace FieldLevelEncryptionProfileSummary { + export const filterSensitiveLog = (obj: FieldLevelEncryptionProfileSummary): any => ({ + ...obj, + }); +} + +/** + *

            List of field-level encryption profiles.

            + */ +export interface FieldLevelEncryptionProfileList { + /** + *

            The number of field-level encryption profiles.

            + */ + Quantity: number | undefined; + + /** + *

            The maximum number of field-level encryption profiles you want in the response body.

            + */ + MaxItems: number | undefined; + + /** + *

            The field-level encryption profile items.

            + */ + Items?: FieldLevelEncryptionProfileSummary[]; + + /** + *

            If there are more elements to be listed, this element is present and contains + * the value that you can use for the Marker request parameter to continue + * listing your profiles where you left off.

            + */ + NextMarker?: string; +} + +export namespace FieldLevelEncryptionProfileList { + export const filterSensitiveLog = (obj: FieldLevelEncryptionProfileList): any => ({ + ...obj, + }); +} + +export interface ListFieldLevelEncryptionProfilesResult { + /** + *

            Returns a list of the field-level encryption profiles that have been created in CloudFront for this account.

            + */ + FieldLevelEncryptionProfileList?: FieldLevelEncryptionProfileList; +} + +export namespace ListFieldLevelEncryptionProfilesResult { + export const filterSensitiveLog = (obj: ListFieldLevelEncryptionProfilesResult): any => ({ + ...obj, + }); +} + +/** + *

            The request to list invalidations.

            + */ +export interface ListInvalidationsRequest { + /** + *

            The distribution's ID.

            + */ + DistributionId: string | undefined; + + /** + *

            The maximum number of invalidation batches that you want in the response + * body.

            + */ + MaxItems?: string; + + /** + *

            Use this parameter when paginating results to indicate where to begin in your list of + * invalidation batches. Because the results are returned in decreasing order from most recent to + * oldest, the most recent results are on the first page, the second page will contain earlier + * results, and so on. To get the next page of results, set Marker to the value of + * the NextMarker from the current page's response. This value is the same as the ID + * of the last invalidation batch on that page.

            + */ + Marker?: string; +} + +export namespace ListInvalidationsRequest { + export const filterSensitiveLog = (obj: ListInvalidationsRequest): any => ({ + ...obj, + }); +} + +/** + *

            A summary of an invalidation request.

            + */ +export interface InvalidationSummary { + /** + *

            The time that an invalidation request was created.

            + */ + CreateTime: Date | undefined; + + /** + *

            The unique ID for an invalidation request.

            + */ + Id: string | undefined; + + /** + *

            The status of an invalidation request.

            + */ + Status: string | undefined; +} + +export namespace InvalidationSummary { + export const filterSensitiveLog = (obj: InvalidationSummary): any => ({ + ...obj, + }); +} + +/** + *

            The InvalidationList complex type describes the list of invalidation + * objects. For more information about invalidation, see Invalidating Objects (Web Distributions Only) in + * the Amazon CloudFront Developer Guide.

            + */ +export interface InvalidationList { + /** + *

            A complex type that contains one InvalidationSummary element for each + * invalidation batch created by the current AWS account.

            + */ + Items?: InvalidationSummary[]; + + /** + *

            The value that you provided for the Marker request parameter.

            + */ + Marker: string | undefined; + + /** + *

            If IsTruncated is true, this element is present and contains + * the value that you can use for the Marker request parameter to continue listing + * your invalidation batches where they left off.

            + */ + NextMarker?: string; + + /** + *

            The number of invalidation batches that were created by the current AWS account. + *

            + */ + Quantity: number | undefined; + + /** + *

            The value that you provided for the MaxItems request parameter.

            + */ + MaxItems: number | undefined; + + /** + *

            A flag that indicates whether more invalidation batch requests remain to be listed. If + * your results were truncated, you can make a follow-up pagination request using the + * Marker request parameter to retrieve more invalidation batches in the + * list.

            + */ + IsTruncated: boolean | undefined; +} + +export namespace InvalidationList { + export const filterSensitiveLog = (obj: InvalidationList): any => ({ + ...obj, + }); +} + +/** + *

            The returned result of the corresponding request.

            + */ +export interface ListInvalidationsResult { + /** + *

            Information about invalidation batches.

            + */ + InvalidationList?: InvalidationList; +} + +export namespace ListInvalidationsResult { + export const filterSensitiveLog = (obj: ListInvalidationsResult): any => ({ + ...obj, + }); +} + +export type OriginRequestPolicyType = "custom" | "managed"; + +export interface ListOriginRequestPoliciesRequest { + /** + *

            Use this field when paginating results to indicate where to begin in your list of + * origin request policies. The response includes origin request policies in the list that + * occur after the marker. To get the next page of the list, set this field’s value to the + * value of NextMarker from the current page’s response.

            + */ + Marker?: string; + + /** + *

            The maximum number of origin request policies that you want in the response.

            + */ + MaxItems?: string; + + /** + *

            A filter to return only the specified kinds of origin request policies. Valid values + * are:

            + *
              + *
            • + *

              + * managed – Returns only the managed policies created by AWS.

              + *
            • + *
            • + *

              + * custom – Returns only the custom policies created in your AWS + * account.

              + *
            • + *
            + */ + Type?: OriginRequestPolicyType | string; +} + +export namespace ListOriginRequestPoliciesRequest { + export const filterSensitiveLog = (obj: ListOriginRequestPoliciesRequest): any => ({ + ...obj, + }); +} + +/** + *

            Contains an origin request policy.

            + */ +export interface OriginRequestPolicySummary { + /** + *

            The type of origin request policy, either managed (created by AWS) or + * custom (created in this AWS account).

            + */ + Type: OriginRequestPolicyType | string | undefined; + + /** + *

            The origin request policy.

            + */ + OriginRequestPolicy: OriginRequestPolicy | undefined; +} + +export namespace OriginRequestPolicySummary { + export const filterSensitiveLog = (obj: OriginRequestPolicySummary): any => ({ + ...obj, + }); +} + +/** + *

            A list of origin request policies.

            + */ +export interface OriginRequestPolicyList { + /** + *

            The total number of origin request policies returned in the response.

            + */ + Quantity: number | undefined; + + /** + *

            Contains the origin request policies in the list.

            + */ + Items?: OriginRequestPolicySummary[]; + + /** + *

            If there are more items in the list than are in this response, this element is + * present. It contains the value that you should use in the Marker field of a + * subsequent request to continue listing origin request policies where you left + * off.

            + */ + NextMarker?: string; + + /** + *

            The maximum number of origin request policies requested.

            + */ + MaxItems: number | undefined; +} + +export namespace OriginRequestPolicyList { + export const filterSensitiveLog = (obj: OriginRequestPolicyList): any => ({ + ...obj, + }); +} + +export interface ListOriginRequestPoliciesResult { + /** + *

            A list of origin request policies.

            + */ + OriginRequestPolicyList?: OriginRequestPolicyList; +} + +export namespace ListOriginRequestPoliciesResult { + export const filterSensitiveLog = (obj: ListOriginRequestPoliciesResult): any => ({ + ...obj, + }); +} + +export interface ListPublicKeysRequest { + /** + *

            Use this when paginating results to indicate where to begin in your list of public keys. The results include public keys in the list that + * occur after the marker. To get the next page of results, set the Marker to the value of the + * NextMarker from the current page's response (which is also the ID of the last public key on that page).

            + */ + Marker?: string; + + /** + *

            The maximum number of public keys you want in the response body.

            + */ + MaxItems?: string; +} + +export namespace ListPublicKeysRequest { + export const filterSensitiveLog = (obj: ListPublicKeysRequest): any => ({ + ...obj, + }); +} + +/** + *

            A complex data type for public key information. + *

            + */ +export interface PublicKeySummary { + /** + *

            + * Encoded key for public key information summary. + *

            + */ + EncodedKey: string | undefined; + + /** + *

            + * Comment for public key information summary. + *

            + */ + Comment?: string; + + /** + *

            + * Name for public key information summary. + *

            + */ + Name: string | undefined; + + /** + *

            + * ID for public key information summary. + *

            + */ + Id: string | undefined; + + /** + *

            + * Creation time for public key information summary. + *

            + */ + CreatedTime: Date | undefined; +} + +export namespace PublicKeySummary { + export const filterSensitiveLog = (obj: PublicKeySummary): any => ({ + ...obj, + }); +} + +/** + *

            A list of public keys you've added to CloudFront to use with features like field-level encryption.

            + */ +export interface PublicKeyList { + /** + *

            The number of public keys you added to CloudFront to use with features like field-level + * encryption.

            + */ + Quantity: number | undefined; + + /** + *

            The maximum number of public keys you want in the response body.

            + */ + MaxItems: number | undefined; + + /** + *

            If there are more elements to be listed, this element is present and contains + * the value that you can use for the Marker request parameter to continue + * listing your public keys where you left off.

            + */ + NextMarker?: string; + + /** + *

            An array of information about a public key you add to CloudFront to use with features like field-level encryption.

            + */ + Items?: PublicKeySummary[]; +} + +export namespace PublicKeyList { + export const filterSensitiveLog = (obj: PublicKeyList): any => ({ + ...obj, + }); +} + export interface ListPublicKeysResult { /** *

            Returns a list of all public keys that have been added to CloudFront for this account.

            @@ -38,82 +650,125 @@ export namespace ListPublicKeysResult { }); } -/** - *

            The request to list your streaming distributions.

            - */ -export interface ListStreamingDistributionsRequest { +export interface ListRealtimeLogConfigsRequest { /** - *

            The value that you provided for the MaxItems request parameter.

            + *

            The maximum number of real-time log configurations that you want in the response.

            */ MaxItems?: string; /** - *

            The value that you provided for the Marker request parameter.

            + *

            Use this field when paginating results to indicate where to begin in your list of real-time + * log configurations. The response includes real-time log configurations in the list that + * occur after the marker. To get the next page of the list, set this field’s value to the + * value of NextMarker from the current page’s response.

            */ Marker?: string; } -export namespace ListStreamingDistributionsRequest { - export const filterSensitiveLog = (obj: ListStreamingDistributionsRequest): any => ({ +export namespace ListRealtimeLogConfigsRequest { + export const filterSensitiveLog = (obj: ListRealtimeLogConfigsRequest): any => ({ ...obj, }); } /** - *

            A summary of the information for a CloudFront streaming distribution.

            + *

            A list of real-time log configurations.

            */ -export interface StreamingDistributionSummary { +export interface RealtimeLogConfigs { /** - *

            The identifier for the distribution, for example, EDFDVBD632BHDS5.

            + *

            If there are more items in the list than are in this response, this element is present. It + * contains the value that you should use in the Marker field of a subsequent + * request to continue listing real-time log configurations where you left off.

            */ - Id: string | undefined; + NextMarker?: string; /** - *

            The ARN (Amazon Resource Name) for the streaming distribution. For example: - * arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where - * 123456789012 is your AWS account ID.

            + *

            This parameter indicates where this list of real-time log configurations begins. This list + * includes real-time log configurations that occur after the marker.

            */ - ARN: string | undefined; + Marker: string | undefined; /** - *

            Indicates the current status of the distribution. When the status is - * Deployed, the distribution's information is fully propagated throughout the - * Amazon CloudFront system.

            + *

            Contains the list of real-time log configurations.

            */ - Status: string | undefined; + Items?: RealtimeLogConfig[]; /** - *

            The date and time the distribution was last modified.

            + *

            A flag that indicates whether there are more real-time log configurations than are contained + * in this list.

            */ - LastModifiedTime: Date | undefined; + IsTruncated: boolean | undefined; /** - *

            A complex type that contains information about CNAMEs (alternate domain names), if any, - * for this streaming distribution.

            + *

            The maximum number of real-time log configurations requested.

            */ - Aliases: Aliases | undefined; + MaxItems: number | undefined; +} +export namespace RealtimeLogConfigs { + export const filterSensitiveLog = (obj: RealtimeLogConfigs): any => ({ + ...obj, + }); +} + +export interface ListRealtimeLogConfigsResult { /** - *

            A complex type that contains information about price class for this streaming - * distribution.

            + *

            A list of real-time log configurations.

            */ - PriceClass: PriceClass | string | undefined; + RealtimeLogConfigs?: RealtimeLogConfigs; +} + +export namespace ListRealtimeLogConfigsResult { + export const filterSensitiveLog = (obj: ListRealtimeLogConfigsResult): any => ({ + ...obj, + }); +} + +/** + *

            The request to list your streaming distributions.

            + */ +export interface ListStreamingDistributionsRequest { + /** + *

            The value that you provided for the Marker request parameter.

            + */ + Marker?: string; + + /** + *

            The value that you provided for the MaxItems request parameter.

            + */ + MaxItems?: string; +} + +export namespace ListStreamingDistributionsRequest { + export const filterSensitiveLog = (obj: ListStreamingDistributionsRequest): any => ({ + ...obj, + }); +} + +/** + *

            A summary of the information for a CloudFront streaming distribution.

            + */ +export interface StreamingDistributionSummary { + /** + *

            The date and time the distribution was last modified.

            + */ + LastModifiedTime: Date | undefined; /** - *

            The comment originally specified when this distribution was created.

            + *

            Whether the distribution is enabled to accept end user requests for content.

            */ - Comment: string | undefined; + Enabled: boolean | undefined; /** - *

            A complex type that contains information about the Amazon S3 bucket from which you want - * CloudFront to get your media files for distribution.

            + *

            The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

            */ - S3Origin: S3Origin | undefined; + DomainName: string | undefined; /** - *

            Whether the distribution is enabled to accept end user requests for content.

            + *

            A complex type that contains information about price class for this streaming + * distribution.

            */ - Enabled: boolean | undefined; + PriceClass: PriceClass | string | undefined; /** *

            A complex type that specifies the AWS accounts, if any, that you want to allow to @@ -133,9 +788,40 @@ export interface StreamingDistributionSummary { TrustedSigners: TrustedSigners | undefined; /** - *

            The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

            + *

            The identifier for the distribution, for example, EDFDVBD632BHDS5.

            */ - DomainName: string | undefined; + Id: string | undefined; + + /** + *

            The ARN (Amazon Resource Name) for the streaming distribution. For example: + * arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where + * 123456789012 is your AWS account ID.

            + */ + ARN: string | undefined; + + /** + *

            A complex type that contains information about the Amazon S3 bucket from which you want + * CloudFront to get your media files for distribution.

            + */ + S3Origin: S3Origin | undefined; + + /** + *

            The comment originally specified when this distribution was created.

            + */ + Comment: string | undefined; + + /** + *

            A complex type that contains information about CNAMEs (alternate domain names), if any, + * for this streaming distribution.

            + */ + Aliases: Aliases | undefined; + + /** + *

            Indicates the current status of the distribution. When the status is + * Deployed, the distribution's information is fully propagated throughout the + * Amazon CloudFront system.

            + */ + Status: string | undefined; } export namespace StreamingDistributionSummary { @@ -149,11 +835,10 @@ export namespace StreamingDistributionSummary { */ export interface StreamingDistributionList { /** - *

            A flag that indicates whether more streaming distributions remain to be listed. If your - * results were truncated, you can make a follow-up pagination request using the - * Marker request parameter to retrieve more distributions in the list.

            + *

            A complex type that contains one StreamingDistributionSummary element for + * each distribution that was created by the current AWS account.

            */ - IsTruncated: boolean | undefined; + Items?: StreamingDistributionSummary[]; /** *

            The value you provided for the Marker request parameter.

            @@ -161,15 +846,11 @@ export interface StreamingDistributionList { Marker: string | undefined; /** - *

            The value you provided for the MaxItems request parameter.

            - */ - MaxItems: number | undefined; - - /** - *

            A complex type that contains one StreamingDistributionSummary element for - * each distribution that was created by the current AWS account.

            + *

            If IsTruncated is true, this element is present and contains + * the value you can use for the Marker request parameter to continue listing your + * RTMP distributions where they left off.

            */ - Items?: StreamingDistributionSummary[]; + NextMarker?: string; /** *

            The number of streaming distributions that were created by the current AWS account. @@ -178,11 +859,16 @@ export interface StreamingDistributionList { Quantity: number | undefined; /** - *

            If IsTruncated is true, this element is present and contains - * the value you can use for the Marker request parameter to continue listing your - * RTMP distributions where they left off.

            + *

            The value you provided for the MaxItems request parameter.

            */ - NextMarker?: string; + MaxItems: number | undefined; + + /** + *

            A flag that indicates whether more streaming distributions remain to be listed. If your + * results were truncated, you can make a follow-up pagination request using the + * Marker request parameter to retrieve more distributions in the list.

            + */ + IsTruncated: boolean | undefined; } export namespace StreamingDistributionList { @@ -296,14 +982,14 @@ export namespace TagKeys { */ export interface UntagResourceRequest { /** - *

            An ARN of a CloudFront resource.

            + *

            A complex type that contains zero or more Tag key elements.

            */ - Resource: string | undefined; + TagKeys: TagKeys | undefined; /** - *

            A complex type that contains zero or more Tag key elements.

            + *

            An ARN of a CloudFront resource.

            */ - TagKeys: TagKeys | undefined; + Resource: string | undefined; } export namespace UntagResourceRequest { @@ -328,6 +1014,11 @@ export namespace IllegalUpdate { } export interface UpdateCachePolicyRequest { + /** + *

            A cache policy configuration.

            + */ + CachePolicyConfig: CachePolicyConfig | undefined; + /** *

            The version of the cache policy that you are updating. The version is returned in the cache * policy’s ETag field in the response to @@ -341,11 +1032,6 @@ export interface UpdateCachePolicyRequest { * GetDistributionConfig.

            */ Id: string | undefined; - - /** - *

            A cache policy configuration.

            - */ - CachePolicyConfig: CachePolicyConfig | undefined; } export namespace UpdateCachePolicyRequest { @@ -356,14 +1042,14 @@ export namespace UpdateCachePolicyRequest { export interface UpdateCachePolicyResult { /** - *

            The current version of the cache policy.

            + *

            A cache policy.

            */ - ETag?: string; + CachePolicy?: CachePolicy; /** - *

            A cache policy.

            + *

            The current version of the cache policy.

            */ - CachePolicy?: CachePolicy; + ETag?: string; } export namespace UpdateCachePolicyResult { @@ -377,10 +1063,9 @@ export namespace UpdateCachePolicyResult { */ export interface UpdateCloudFrontOriginAccessIdentityRequest { /** - *

            The value of the ETag header that you received when retrieving the - * identity's configuration. For example: E2QWRUHAPOMQZL.

            + *

            The identity's configuration information.

            */ - IfMatch?: string; + CloudFrontOriginAccessIdentityConfig: CloudFrontOriginAccessIdentityConfig | undefined; /** *

            The identity's id.

            @@ -388,9 +1073,10 @@ export interface UpdateCloudFrontOriginAccessIdentityRequest { Id: string | undefined; /** - *

            The identity's configuration information.

            + *

            The value of the ETag header that you received when retrieving the + * identity's configuration. For example: E2QWRUHAPOMQZL.

            */ - CloudFrontOriginAccessIdentityConfig: CloudFrontOriginAccessIdentityConfig | undefined; + IfMatch?: string; } export namespace UpdateCloudFrontOriginAccessIdentityRequest { @@ -403,16 +1089,16 @@ export namespace UpdateCloudFrontOriginAccessIdentityRequest { *

            The returned result of the corresponding request.

            */ export interface UpdateCloudFrontOriginAccessIdentityResult { - /** - *

            The origin access identity's information.

            - */ - CloudFrontOriginAccessIdentity?: CloudFrontOriginAccessIdentity; - /** *

            The current version of the configuration. For example: * E2QWRUHAPOMQZL.

            */ ETag?: string; + + /** + *

            The origin access identity's information.

            + */ + CloudFrontOriginAccessIdentity?: CloudFrontOriginAccessIdentity; } export namespace UpdateCloudFrontOriginAccessIdentityResult { @@ -426,9 +1112,10 @@ export namespace UpdateCloudFrontOriginAccessIdentityResult { */ export interface UpdateDistributionRequest { /** - *

            The distribution's configuration information.

            + *

            The value of the ETag header that you received when retrieving the + * distribution's configuration. For example: E2QWRUHAPOMQZL.

            */ - DistributionConfig: DistributionConfig | undefined; + IfMatch?: string; /** *

            The distribution's id.

            @@ -436,10 +1123,9 @@ export interface UpdateDistributionRequest { Id: string | undefined; /** - *

            The value of the ETag header that you received when retrieving the - * distribution's configuration. For example: E2QWRUHAPOMQZL.

            + *

            The distribution's configuration information.

            */ - IfMatch?: string; + DistributionConfig: DistributionConfig | undefined; } export namespace UpdateDistributionRequest { @@ -455,16 +1141,16 @@ export namespace UpdateDistributionRequest { *

            The returned result of the corresponding request.

            */ export interface UpdateDistributionResult { - /** - *

            The distribution's information.

            - */ - Distribution?: Distribution; - /** *

            The current version of the configuration. For example: * E2QWRUHAPOMQZL.

            */ ETag?: string; + + /** + *

            The distribution's information.

            + */ + Distribution?: Distribution; } export namespace UpdateDistributionResult { @@ -476,9 +1162,10 @@ export namespace UpdateDistributionResult { export interface UpdateFieldLevelEncryptionConfigRequest { /** - *

            Request to update a field-level encryption configuration.

            + *

            The value of the ETag header that you received when retrieving the configuration identity to update. + * For example: E2QWRUHAPOMQZL.

            */ - FieldLevelEncryptionConfig: FieldLevelEncryptionConfig | undefined; + IfMatch?: string; /** *

            The ID of the configuration you want to update.

            @@ -486,10 +1173,9 @@ export interface UpdateFieldLevelEncryptionConfigRequest { Id: string | undefined; /** - *

            The value of the ETag header that you received when retrieving the configuration identity to update. - * For example: E2QWRUHAPOMQZL.

            + *

            Request to update a field-level encryption configuration.

            */ - IfMatch?: string; + FieldLevelEncryptionConfig: FieldLevelEncryptionConfig | undefined; } export namespace UpdateFieldLevelEncryptionConfigRequest { @@ -500,15 +1186,15 @@ export namespace UpdateFieldLevelEncryptionConfigRequest { export interface UpdateFieldLevelEncryptionConfigResult { /** - *

            The value of the ETag header that you received when updating the configuration. - * For example: E2QWRUHAPOMQZL.

            + *

            Return the results of updating the configuration.

            */ - ETag?: string; + FieldLevelEncryption?: FieldLevelEncryption; /** - *

            Return the results of updating the configuration.

            + *

            The value of the ETag header that you received when updating the configuration. + * For example: E2QWRUHAPOMQZL.

            */ - FieldLevelEncryption?: FieldLevelEncryption; + ETag?: string; } export namespace UpdateFieldLevelEncryptionConfigResult { @@ -518,12 +1204,6 @@ export namespace UpdateFieldLevelEncryptionConfigResult { } export interface UpdateFieldLevelEncryptionProfileRequest { - /** - *

            The value of the ETag header that you received when retrieving the profile identity to update. - * For example: E2QWRUHAPOMQZL.

            - */ - IfMatch?: string; - /** *

            Request to update a field-level encryption profile.

            */ @@ -533,6 +1213,12 @@ export interface UpdateFieldLevelEncryptionProfileRequest { *

            The ID of the field-level encryption profile request.

            */ Id: string | undefined; + + /** + *

            The value of the ETag header that you received when retrieving the profile identity to update. + * For example: E2QWRUHAPOMQZL.

            + */ + IfMatch?: string; } export namespace UpdateFieldLevelEncryptionProfileRequest { @@ -543,14 +1229,14 @@ export namespace UpdateFieldLevelEncryptionProfileRequest { export interface UpdateFieldLevelEncryptionProfileResult { /** - *

            The result of the field-level encryption profile request.

            + *

            Return the results of updating the profile.

            */ - ETag?: string; + FieldLevelEncryptionProfile?: FieldLevelEncryptionProfile; /** - *

            Return the results of updating the profile.

            + *

            The result of the field-level encryption profile request.

            */ - FieldLevelEncryptionProfile?: FieldLevelEncryptionProfile; + ETag?: string; } export namespace UpdateFieldLevelEncryptionProfileResult { @@ -560,11 +1246,6 @@ export namespace UpdateFieldLevelEncryptionProfileResult { } export interface UpdateOriginRequestPolicyRequest { - /** - *

            An origin request policy configuration.

            - */ - OriginRequestPolicyConfig: OriginRequestPolicyConfig | undefined; - /** *

            The version of the origin request policy that you are updating. The version is returned in * the origin request policy’s ETag field in the response to @@ -572,6 +1253,11 @@ export interface UpdateOriginRequestPolicyRequest { */ IfMatch?: string; + /** + *

            An origin request policy configuration.

            + */ + OriginRequestPolicyConfig: OriginRequestPolicyConfig | undefined; + /** *

            The unique identifier for the origin request policy that you are updating. The identifier is * returned in a cache behavior’s OriginRequestPolicyId field in the response @@ -606,9 +1292,10 @@ export namespace UpdateOriginRequestPolicyResult { export interface UpdatePublicKeyRequest { /** - *

            Request to update public key information.

            + *

            The value of the ETag header that you received when retrieving the public key to update. + * For example: E2QWRUHAPOMQZL.

            */ - PublicKeyConfig: PublicKeyConfig | undefined; + IfMatch?: string; /** *

            ID of the public key to be updated.

            @@ -616,10 +1303,9 @@ export interface UpdatePublicKeyRequest { Id: string | undefined; /** - *

            The value of the ETag header that you received when retrieving the public key to update. - * For example: E2QWRUHAPOMQZL.

            + *

            Request to update public key information.

            */ - IfMatch?: string; + PublicKeyConfig: PublicKeyConfig | undefined; } export namespace UpdatePublicKeyRequest { @@ -646,20 +1332,71 @@ export namespace UpdatePublicKeyResult { }); } +export interface UpdateRealtimeLogConfigRequest { + /** + *

            A list of fields to include in each real-time log record.

            + *

            For more information about fields, see Real-time log configuration fields in the + * Amazon CloudFront Developer Guide.

            + */ + Fields?: string[]; + + /** + *

            Contains information about the Amazon Kinesis data stream where you are sending real-time + * log data.

            + */ + EndPoints?: EndPoint[]; + + /** + *

            The sampling rate for this real-time log configuration. The sampling rate determines the + * percentage of viewer requests that are represented in the real-time log data. You must + * provide an integer between 1 and 100, inclusive.

            + */ + SamplingRate?: number; + + /** + *

            The name for this real-time log configuration.

            + */ + Name?: string; + + /** + *

            The Amazon Resource Name (ARN) for this real-time log configuration.

            + */ + ARN?: string; +} + +export namespace UpdateRealtimeLogConfigRequest { + export const filterSensitiveLog = (obj: UpdateRealtimeLogConfigRequest): any => ({ + ...obj, + }); +} + +export interface UpdateRealtimeLogConfigResult { + /** + *

            A real-time log configuration.

            + */ + RealtimeLogConfig?: RealtimeLogConfig; +} + +export namespace UpdateRealtimeLogConfigResult { + export const filterSensitiveLog = (obj: UpdateRealtimeLogConfigResult): any => ({ + ...obj, + }); +} + /** *

            The request to update a streaming distribution.

            */ export interface UpdateStreamingDistributionRequest { /** - *

            The value of the ETag header that you received when retrieving the - * streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

            + *

            The streaming distribution's configuration information.

            */ - IfMatch?: string; + StreamingDistributionConfig: StreamingDistributionConfig | undefined; /** - *

            The streaming distribution's configuration information.

            + *

            The value of the ETag header that you received when retrieving the + * streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

            */ - StreamingDistributionConfig: StreamingDistributionConfig | undefined; + IfMatch?: string; /** *

            The streaming distribution's id.

            @@ -677,16 +1414,16 @@ export namespace UpdateStreamingDistributionRequest { *

            The returned result of the corresponding request.

            */ export interface UpdateStreamingDistributionResult { - /** - *

            The streaming distribution's information.

            - */ - StreamingDistribution?: StreamingDistribution; - /** *

            The current version of the configuration. For example: * E2QWRUHAPOMQZL.

            */ ETag?: string; + + /** + *

            The streaming distribution's information.

            + */ + StreamingDistribution?: StreamingDistribution; } export namespace UpdateStreamingDistributionResult { diff --git a/clients/client-cloudfront/protocols/Aws_restXml.ts b/clients/client-cloudfront/protocols/Aws_restXml.ts index 0162babbeebc..c30abcb39871 100644 --- a/clients/client-cloudfront/protocols/Aws_restXml.ts +++ b/clients/client-cloudfront/protocols/Aws_restXml.ts @@ -17,11 +17,19 @@ import { CreateFieldLevelEncryptionProfileCommandOutput, } from "../commands/CreateFieldLevelEncryptionProfileCommand"; import { CreateInvalidationCommandInput, CreateInvalidationCommandOutput } from "../commands/CreateInvalidationCommand"; +import { + CreateMonitoringSubscriptionCommandInput, + CreateMonitoringSubscriptionCommandOutput, +} from "../commands/CreateMonitoringSubscriptionCommand"; import { CreateOriginRequestPolicyCommandInput, CreateOriginRequestPolicyCommandOutput, } from "../commands/CreateOriginRequestPolicyCommand"; import { CreatePublicKeyCommandInput, CreatePublicKeyCommandOutput } from "../commands/CreatePublicKeyCommand"; +import { + CreateRealtimeLogConfigCommandInput, + CreateRealtimeLogConfigCommandOutput, +} from "../commands/CreateRealtimeLogConfigCommand"; import { CreateStreamingDistributionCommandInput, CreateStreamingDistributionCommandOutput, @@ -44,11 +52,19 @@ import { DeleteFieldLevelEncryptionProfileCommandInput, DeleteFieldLevelEncryptionProfileCommandOutput, } from "../commands/DeleteFieldLevelEncryptionProfileCommand"; +import { + DeleteMonitoringSubscriptionCommandInput, + DeleteMonitoringSubscriptionCommandOutput, +} from "../commands/DeleteMonitoringSubscriptionCommand"; import { DeleteOriginRequestPolicyCommandInput, DeleteOriginRequestPolicyCommandOutput, } from "../commands/DeleteOriginRequestPolicyCommand"; import { DeletePublicKeyCommandInput, DeletePublicKeyCommandOutput } from "../commands/DeletePublicKeyCommand"; +import { + DeleteRealtimeLogConfigCommandInput, + DeleteRealtimeLogConfigCommandOutput, +} from "../commands/DeleteRealtimeLogConfigCommand"; import { DeleteStreamingDistributionCommandInput, DeleteStreamingDistributionCommandOutput, @@ -88,6 +104,10 @@ import { GetFieldLevelEncryptionProfileConfigCommandOutput, } from "../commands/GetFieldLevelEncryptionProfileConfigCommand"; import { GetInvalidationCommandInput, GetInvalidationCommandOutput } from "../commands/GetInvalidationCommand"; +import { + GetMonitoringSubscriptionCommandInput, + GetMonitoringSubscriptionCommandOutput, +} from "../commands/GetMonitoringSubscriptionCommand"; import { GetOriginRequestPolicyCommandInput, GetOriginRequestPolicyCommandOutput, @@ -98,6 +118,10 @@ import { } from "../commands/GetOriginRequestPolicyConfigCommand"; import { GetPublicKeyCommandInput, GetPublicKeyCommandOutput } from "../commands/GetPublicKeyCommand"; import { GetPublicKeyConfigCommandInput, GetPublicKeyConfigCommandOutput } from "../commands/GetPublicKeyConfigCommand"; +import { + GetRealtimeLogConfigCommandInput, + GetRealtimeLogConfigCommandOutput, +} from "../commands/GetRealtimeLogConfigCommand"; import { GetStreamingDistributionCommandInput, GetStreamingDistributionCommandOutput, @@ -119,6 +143,10 @@ import { ListDistributionsByOriginRequestPolicyIdCommandInput, ListDistributionsByOriginRequestPolicyIdCommandOutput, } from "../commands/ListDistributionsByOriginRequestPolicyIdCommand"; +import { + ListDistributionsByRealtimeLogConfigCommandInput, + ListDistributionsByRealtimeLogConfigCommandOutput, +} from "../commands/ListDistributionsByRealtimeLogConfigCommand"; import { ListDistributionsByWebACLIdCommandInput, ListDistributionsByWebACLIdCommandOutput, @@ -138,6 +166,10 @@ import { ListOriginRequestPoliciesCommandOutput, } from "../commands/ListOriginRequestPoliciesCommand"; import { ListPublicKeysCommandInput, ListPublicKeysCommandOutput } from "../commands/ListPublicKeysCommand"; +import { + ListRealtimeLogConfigsCommandInput, + ListRealtimeLogConfigsCommandOutput, +} from "../commands/ListRealtimeLogConfigsCommand"; import { ListStreamingDistributionsCommandInput, ListStreamingDistributionsCommandOutput, @@ -167,6 +199,10 @@ import { UpdateOriginRequestPolicyCommandOutput, } from "../commands/UpdateOriginRequestPolicyCommand"; import { UpdatePublicKeyCommandInput, UpdatePublicKeyCommandOutput } from "../commands/UpdatePublicKeyCommand"; +import { + UpdateRealtimeLogConfigCommandInput, + UpdateRealtimeLogConfigCommandOutput, +} from "../commands/UpdateRealtimeLogConfigCommand"; import { UpdateStreamingDistributionCommandInput, UpdateStreamingDistributionCommandOutput, @@ -218,19 +254,16 @@ import { DistributionSummary, EncryptionEntities, EncryptionEntity, + EndPoint, FieldLevelEncryption, FieldLevelEncryptionConfig, FieldLevelEncryptionConfigAlreadyExists, FieldLevelEncryptionConfigInUse, - FieldLevelEncryptionList, FieldLevelEncryptionProfile, FieldLevelEncryptionProfileAlreadyExists, FieldLevelEncryptionProfileConfig, FieldLevelEncryptionProfileInUse, - FieldLevelEncryptionProfileList, FieldLevelEncryptionProfileSizeExceeded, - FieldLevelEncryptionProfileSummary, - FieldLevelEncryptionSummary, FieldPatterns, ForwardedValues, GeoRestriction, @@ -263,14 +296,14 @@ import { InvalidWebACLId, Invalidation, InvalidationBatch, - InvalidationList, - InvalidationSummary, KeyPairIds, + KinesisStreamConfig, LambdaFunctionAssociation, LambdaFunctionAssociations, LoggingConfig, Method, MissingBody, + MonitoringSubscription, NoSuchCachePolicy, NoSuchCloudFrontOriginAccessIdentity, NoSuchDistribution, @@ -280,6 +313,7 @@ import { NoSuchOrigin, NoSuchOriginRequestPolicy, NoSuchPublicKey, + NoSuchRealtimeLogConfig, NoSuchStreamingDistribution, Origin, OriginCustomHeader, @@ -294,9 +328,7 @@ import { OriginRequestPolicyCookiesConfig, OriginRequestPolicyHeadersConfig, OriginRequestPolicyInUse, - OriginRequestPolicyList, OriginRequestPolicyQueryStringsConfig, - OriginRequestPolicySummary, OriginSslProtocols, Origins, ParametersInCacheKeyAndForwardedToOrigin, @@ -306,14 +338,16 @@ import { PublicKeyAlreadyExists, PublicKeyConfig, PublicKeyInUse, - PublicKeyList, - PublicKeySummary, QueryArgProfile, QueryArgProfileConfig, QueryArgProfileEmpty, QueryArgProfiles, QueryStringCacheKeys, QueryStringNames, + RealtimeLogConfig, + RealtimeLogConfigAlreadyExists, + RealtimeLogConfigInUse, + RealtimeMetricsSubscriptionConfig, Restrictions, S3Origin, S3OriginConfig, @@ -361,6 +395,7 @@ import { TooManyQueryStringParameters, TooManyQueryStringsInCachePolicy, TooManyQueryStringsInOriginRequestPolicy, + TooManyRealtimeLogConfigs, TooManyStreamingDistributionCNAMEs, TooManyStreamingDistributions, TooManyTrustedSigners, @@ -369,8 +404,19 @@ import { ViewerCertificate, } from "../models/models_0"; import { + FieldLevelEncryptionList, + FieldLevelEncryptionProfileList, + FieldLevelEncryptionProfileSummary, + FieldLevelEncryptionSummary, IllegalUpdate, + InvalidationList, + InvalidationSummary, NoSuchResource, + OriginRequestPolicyList, + OriginRequestPolicySummary, + PublicKeyList, + PublicKeySummary, + RealtimeLogConfigs, StreamingDistributionList, StreamingDistributionSummary, TagKeys, @@ -603,6 +649,43 @@ export const serializeAws_restXmlCreateInvalidationCommand = async ( }); }; +export const serializeAws_restXmlCreateMonitoringSubscriptionCommand = async ( + input: CreateMonitoringSubscriptionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/xml", + }; + let resolvedPath = "/2020-05-31/distributions/{DistributionId}/monitoring-subscription"; + if (input.DistributionId !== undefined) { + const labelValue: string = input.DistributionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DistributionId."); + } + resolvedPath = resolvedPath.replace("{DistributionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DistributionId."); + } + let body: any; + let contents: any; + if (input.MonitoringSubscription !== undefined) { + contents = serializeAws_restXmlMonitoringSubscription(input.MonitoringSubscription, context); + body = ''; + contents.addAttribute("xmlns", "http://cloudfront.amazonaws.com/doc/2020-05-31/"); + body += contents.toString(); + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restXmlCreateOriginRequestPolicyCommand = async ( input: CreateOriginRequestPolicyCommandInput, context: __SerdeContext @@ -659,6 +742,55 @@ export const serializeAws_restXmlCreatePublicKeyCommand = async ( }); }; +export const serializeAws_restXmlCreateRealtimeLogConfigCommand = async ( + input: CreateRealtimeLogConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/xml", + }; + let resolvedPath = "/2020-05-31/realtime-log-config"; + let body: any; + body = ''; + const bodyNode = new __XmlNode("CreateRealtimeLogConfigRequest"); + bodyNode.addAttribute("xmlns", "http://cloudfront.amazonaws.com/doc/2020-05-31/"); + if (input.EndPoints !== undefined) { + const nodes = serializeAws_restXmlEndPointList(input.EndPoints, context); + const containerNode = new __XmlNode("EndPoints"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); + } + if (input.Fields !== undefined) { + const nodes = serializeAws_restXmlFieldList(input.Fields, context); + const containerNode = new __XmlNode("Fields"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); + } + if (input.Name !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Name)).withName("Name"); + bodyNode.addChildNode(node); + } + if (input.SamplingRate !== undefined) { + const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.SamplingRate))).withName("SamplingRate"); + bodyNode.addChildNode(node); + } + body += bodyNode.toString(); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restXmlCreateStreamingDistributionCommand = async ( input: CreateStreamingDistributionCommandInput, context: __SerdeContext @@ -877,6 +1009,36 @@ export const serializeAws_restXmlDeleteFieldLevelEncryptionProfileCommand = asyn }); }; +export const serializeAws_restXmlDeleteMonitoringSubscriptionCommand = async ( + input: DeleteMonitoringSubscriptionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/2020-05-31/distributions/{DistributionId}/monitoring-subscription"; + if (input.DistributionId !== undefined) { + const labelValue: string = input.DistributionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DistributionId."); + } + resolvedPath = resolvedPath.replace("{DistributionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DistributionId."); + } + 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_restXmlDeleteOriginRequestPolicyCommand = async ( input: DeleteOriginRequestPolicyCommandInput, context: __SerdeContext @@ -939,6 +1101,39 @@ export const serializeAws_restXmlDeletePublicKeyCommand = async ( }); }; +export const serializeAws_restXmlDeleteRealtimeLogConfigCommand = async ( + input: DeleteRealtimeLogConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/xml", + }; + let resolvedPath = "/2020-05-31/delete-realtime-log-config"; + let body: any; + body = ''; + const bodyNode = new __XmlNode("DeleteRealtimeLogConfigRequest"); + bodyNode.addAttribute("xmlns", "http://cloudfront.amazonaws.com/doc/2020-05-31/"); + if (input.ARN !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.ARN)).withName("ARN"); + bodyNode.addChildNode(node); + } + if (input.Name !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Name)).withName("Name"); + bodyNode.addChildNode(node); + } + body += bodyNode.toString(); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restXmlDeleteStreamingDistributionCommand = async ( input: DeleteStreamingDistributionCommandInput, context: __SerdeContext @@ -1278,6 +1473,15 @@ export const serializeAws_restXmlGetInvalidationCommand = async ( "Content-Type": "", }; let resolvedPath = "/2020-05-31/distribution/{DistributionId}/invalidation/{Id}"; + if (input.DistributionId !== undefined) { + const labelValue: string = input.DistributionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DistributionId."); + } + resolvedPath = resolvedPath.replace("{DistributionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DistributionId."); + } if (input.Id !== undefined) { const labelValue: string = input.Id; if (labelValue.length <= 0) { @@ -1287,6 +1491,27 @@ export const serializeAws_restXmlGetInvalidationCommand = async ( } else { throw new Error("No value provided for input HTTP label: Id."); } + 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_restXmlGetMonitoringSubscriptionCommand = async ( + input: GetMonitoringSubscriptionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/2020-05-31/distributions/{DistributionId}/monitoring-subscription"; if (input.DistributionId !== undefined) { const labelValue: string = input.DistributionId; if (labelValue.length <= 0) { @@ -1429,6 +1654,39 @@ export const serializeAws_restXmlGetPublicKeyConfigCommand = async ( }); }; +export const serializeAws_restXmlGetRealtimeLogConfigCommand = async ( + input: GetRealtimeLogConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/xml", + }; + let resolvedPath = "/2020-05-31/get-realtime-log-config"; + let body: any; + body = ''; + const bodyNode = new __XmlNode("GetRealtimeLogConfigRequest"); + bodyNode.addAttribute("xmlns", "http://cloudfront.amazonaws.com/doc/2020-05-31/"); + if (input.ARN !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.ARN)).withName("ARN"); + bodyNode.addChildNode(node); + } + if (input.Name !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Name)).withName("Name"); + bodyNode.addChildNode(node); + } + body += bodyNode.toString(); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restXmlGetStreamingDistributionCommand = async ( input: GetStreamingDistributionCommandInput, context: __SerdeContext @@ -1498,9 +1756,9 @@ export const serializeAws_restXmlListCachePoliciesCommand = async ( }; let resolvedPath = "/2020-05-31/cache-policy"; const query: any = { - ...(input.Marker !== undefined && { Marker: input.Marker }), ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), ...(input.Type !== undefined && { Type: input.Type }), + ...(input.Marker !== undefined && { Marker: input.Marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1525,8 +1783,8 @@ export const serializeAws_restXmlListCloudFrontOriginAccessIdentitiesCommand = a }; let resolvedPath = "/2020-05-31/origin-access-identity/cloudfront"; const query: any = { - ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1551,8 +1809,8 @@ export const serializeAws_restXmlListDistributionsCommand = async ( }; let resolvedPath = "/2020-05-31/distribution"; const query: any = { - ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1621,8 +1879,8 @@ export const serializeAws_restXmlListDistributionsByOriginRequestPolicyIdCommand throw new Error("No value provided for input HTTP label: OriginRequestPolicyId."); } const query: any = { - ...(input.Marker !== undefined && { Marker: input.Marker }), ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), + ...(input.Marker !== undefined && { Marker: input.Marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1638,6 +1896,51 @@ export const serializeAws_restXmlListDistributionsByOriginRequestPolicyIdCommand }); }; +export const serializeAws_restXmlListDistributionsByRealtimeLogConfigCommand = async ( + input: ListDistributionsByRealtimeLogConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/xml", + }; + let resolvedPath = "/2020-05-31/distributionsByRealtimeLogConfig"; + let body: any; + body = ''; + const bodyNode = new __XmlNode("ListDistributionsByRealtimeLogConfigRequest"); + bodyNode.addAttribute("xmlns", "http://cloudfront.amazonaws.com/doc/2020-05-31/"); + if (input.Marker !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Marker)).withName("Marker"); + bodyNode.addChildNode(node); + } + if (input.MaxItems !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.MaxItems)).withName("MaxItems"); + bodyNode.addChildNode(node); + } + if (input.RealtimeLogConfigArn !== undefined) { + const node = new __XmlNode("string") + .addChildNode(new __XmlText(input.RealtimeLogConfigArn)) + .withName("RealtimeLogConfigArn"); + bodyNode.addChildNode(node); + } + if (input.RealtimeLogConfigName !== undefined) { + const node = new __XmlNode("string") + .addChildNode(new __XmlText(input.RealtimeLogConfigName)) + .withName("RealtimeLogConfigName"); + bodyNode.addChildNode(node); + } + body += bodyNode.toString(); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restXmlListDistributionsByWebACLIdCommand = async ( input: ListDistributionsByWebACLIdCommandInput, context: __SerdeContext @@ -1656,8 +1959,8 @@ export const serializeAws_restXmlListDistributionsByWebACLIdCommand = async ( throw new Error("No value provided for input HTTP label: WebACLId."); } const query: any = { - ...(input.Marker !== undefined && { Marker: input.Marker }), ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), + ...(input.Marker !== undefined && { Marker: input.Marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1682,8 +1985,8 @@ export const serializeAws_restXmlListFieldLevelEncryptionConfigsCommand = async }; let resolvedPath = "/2020-05-31/field-level-encryption"; const query: any = { - ...(input.Marker !== undefined && { Marker: input.Marker }), ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), + ...(input.Marker !== undefined && { Marker: input.Marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1769,9 +2072,9 @@ export const serializeAws_restXmlListOriginRequestPoliciesCommand = async ( }; let resolvedPath = "/2020-05-31/origin-request-policy"; const query: any = { + ...(input.Marker !== undefined && { Marker: input.Marker }), ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), ...(input.Type !== undefined && { Type: input.Type }), - ...(input.Marker !== undefined && { Marker: input.Marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1796,8 +2099,8 @@ export const serializeAws_restXmlListPublicKeysCommand = async ( }; let resolvedPath = "/2020-05-31/public-key"; const query: any = { - ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1813,14 +2116,14 @@ export const serializeAws_restXmlListPublicKeysCommand = async ( }); }; -export const serializeAws_restXmlListStreamingDistributionsCommand = async ( - input: ListStreamingDistributionsCommandInput, +export const serializeAws_restXmlListRealtimeLogConfigsCommand = async ( + input: ListRealtimeLogConfigsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/2020-05-31/streaming-distribution"; + let resolvedPath = "/2020-05-31/realtime-log-config"; const query: any = { ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), ...(input.Marker !== undefined && { Marker: input.Marker }), @@ -1839,16 +2142,17 @@ export const serializeAws_restXmlListStreamingDistributionsCommand = async ( }); }; -export const serializeAws_restXmlListTagsForResourceCommand = async ( - input: ListTagsForResourceCommandInput, +export const serializeAws_restXmlListStreamingDistributionsCommand = async ( + input: ListStreamingDistributionsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/2020-05-31/tagging"; + let resolvedPath = "/2020-05-31/streaming-distribution"; const query: any = { - ...(input.Resource !== undefined && { Resource: input.Resource }), + ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1864,9 +2168,34 @@ export const serializeAws_restXmlListTagsForResourceCommand = async ( }); }; -export const serializeAws_restXmlTagResourceCommand = async ( - input: TagResourceCommandInput, - context: __SerdeContext +export const serializeAws_restXmlListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/2020-05-31/tagging"; + const query: any = { + ...(input.Resource !== undefined && { Resource: input.Resource }), + }; + 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_restXmlTagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", @@ -2199,6 +2528,59 @@ export const serializeAws_restXmlUpdatePublicKeyCommand = async ( }); }; +export const serializeAws_restXmlUpdateRealtimeLogConfigCommand = async ( + input: UpdateRealtimeLogConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/xml", + }; + let resolvedPath = "/2020-05-31/realtime-log-config"; + let body: any; + body = ''; + const bodyNode = new __XmlNode("UpdateRealtimeLogConfigRequest"); + bodyNode.addAttribute("xmlns", "http://cloudfront.amazonaws.com/doc/2020-05-31/"); + if (input.ARN !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.ARN)).withName("ARN"); + bodyNode.addChildNode(node); + } + if (input.EndPoints !== undefined) { + const nodes = serializeAws_restXmlEndPointList(input.EndPoints, context); + const containerNode = new __XmlNode("EndPoints"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); + } + if (input.Fields !== undefined) { + const nodes = serializeAws_restXmlFieldList(input.Fields, context); + const containerNode = new __XmlNode("Fields"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); + } + if (input.Name !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Name)).withName("Name"); + bodyNode.addChildNode(node); + } + if (input.SamplingRate !== undefined) { + const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.SamplingRate))).withName("SamplingRate"); + bodyNode.addChildNode(node); + } + body += bodyNode.toString(); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restXmlUpdateStreamingDistributionCommand = async ( input: UpdateStreamingDistributionCommandInput, context: __SerdeContext @@ -2250,12 +2632,12 @@ export const deserializeAws_restXmlCreateCachePolicyCommand = async ( ETag: undefined, Location: undefined, }; - if (output.headers["etag"] !== undefined) { - contents.ETag = output.headers["etag"]; - } if (output.headers["location"] !== undefined) { contents.Location = output.headers["location"]; } + if (output.headers["etag"] !== undefined) { + contents.ETag = output.headers["etag"]; + } const data: any = await parseBody(output.body, context); contents.CachePolicy = deserializeAws_restXmlCachePolicy(data, context); return Promise.resolve(contents); @@ -2367,12 +2749,12 @@ export const deserializeAws_restXmlCreateCloudFrontOriginAccessIdentityCommand = ETag: undefined, Location: undefined, }; - if (output.headers["etag"] !== undefined) { - contents.ETag = output.headers["etag"]; - } if (output.headers["location"] !== undefined) { contents.Location = output.headers["location"]; } + if (output.headers["etag"] !== undefined) { + contents.ETag = output.headers["etag"]; + } const data: any = await parseBody(output.body, context); contents.CloudFrontOriginAccessIdentity = deserializeAws_restXmlCloudFrontOriginAccessIdentity(data, context); return Promise.resolve(contents); @@ -2460,12 +2842,12 @@ export const deserializeAws_restXmlCreateDistributionCommand = async ( ETag: undefined, Location: undefined, }; - if (output.headers["etag"] !== undefined) { - contents.ETag = output.headers["etag"]; - } if (output.headers["location"] !== undefined) { contents.Location = output.headers["location"]; } + if (output.headers["etag"] !== undefined) { + contents.ETag = output.headers["etag"]; + } const data: any = await parseBody(output.body, context); contents.Distribution = deserializeAws_restXmlDistribution(data, context); return Promise.resolve(contents); @@ -2914,12 +3296,12 @@ export const deserializeAws_restXmlCreateDistributionWithTagsCommand = async ( ETag: undefined, Location: undefined, }; - if (output.headers["etag"] !== undefined) { - contents.ETag = output.headers["etag"]; - } if (output.headers["location"] !== undefined) { contents.Location = output.headers["location"]; } + if (output.headers["etag"] !== undefined) { + contents.ETag = output.headers["etag"]; + } const data: any = await parseBody(output.body, context); contents.Distribution = deserializeAws_restXmlDistribution(data, context); return Promise.resolve(contents); @@ -3493,12 +3875,12 @@ export const deserializeAws_restXmlCreateFieldLevelEncryptionProfileCommand = as FieldLevelEncryptionProfile: undefined, Location: undefined, }; - if (output.headers["etag"] !== undefined) { - contents.ETag = output.headers["etag"]; - } if (output.headers["location"] !== undefined) { contents.Location = output.headers["location"]; } + if (output.headers["etag"] !== undefined) { + contents.ETag = output.headers["etag"]; + } const data: any = await parseBody(output.body, context); contents.FieldLevelEncryptionProfile = deserializeAws_restXmlFieldLevelEncryptionProfile(data, context); return Promise.resolve(contents); @@ -3702,6 +4084,67 @@ const deserializeAws_restXmlCreateInvalidationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restXmlCreateMonitoringSubscriptionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restXmlCreateMonitoringSubscriptionCommandError(output, context); + } + const contents: CreateMonitoringSubscriptionCommandOutput = { + $metadata: deserializeMetadata(output), + MonitoringSubscription: undefined, + }; + const data: any = await parseBody(output.body, context); + contents.MonitoringSubscription = deserializeAws_restXmlMonitoringSubscription(data, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlCreateMonitoringSubscriptionCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDenied": + case "com.amazonaws.cloudfront#AccessDenied": + response = { + ...(await deserializeAws_restXmlAccessDeniedResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NoSuchDistribution": + case "com.amazonaws.cloudfront#NoSuchDistribution": + response = { + ...(await deserializeAws_restXmlNoSuchDistributionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_restXmlCreateOriginRequestPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3715,12 +4158,12 @@ export const deserializeAws_restXmlCreateOriginRequestPolicyCommand = async ( Location: undefined, OriginRequestPolicy: undefined, }; - if (output.headers["location"] !== undefined) { - contents.Location = output.headers["location"]; - } if (output.headers["etag"] !== undefined) { contents.ETag = output.headers["etag"]; } + if (output.headers["location"] !== undefined) { + contents.Location = output.headers["location"]; + } const data: any = await parseBody(output.body, context); contents.OriginRequestPolicy = deserializeAws_restXmlOriginRequestPolicy(data, context); return Promise.resolve(contents); @@ -3896,6 +4339,77 @@ const deserializeAws_restXmlCreatePublicKeyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restXmlCreateRealtimeLogConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restXmlCreateRealtimeLogConfigCommandError(output, context); + } + const contents: CreateRealtimeLogConfigCommandOutput = { + $metadata: deserializeMetadata(output), + RealtimeLogConfig: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data["RealtimeLogConfig"] !== undefined) { + contents.RealtimeLogConfig = deserializeAws_restXmlRealtimeLogConfig(data["RealtimeLogConfig"], context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlCreateRealtimeLogConfigCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArgument": + case "com.amazonaws.cloudfront#InvalidArgument": + response = { + ...(await deserializeAws_restXmlInvalidArgumentResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "RealtimeLogConfigAlreadyExists": + case "com.amazonaws.cloudfront#RealtimeLogConfigAlreadyExists": + response = { + ...(await deserializeAws_restXmlRealtimeLogConfigAlreadyExistsResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRealtimeLogConfigs": + case "com.amazonaws.cloudfront#TooManyRealtimeLogConfigs": + response = { + ...(await deserializeAws_restXmlTooManyRealtimeLogConfigsResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_restXmlCreateStreamingDistributionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4625,24 +5139,24 @@ const deserializeAws_restXmlDeleteFieldLevelEncryptionProfileCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restXmlDeleteOriginRequestPolicyCommand = async ( +export const deserializeAws_restXmlDeleteMonitoringSubscriptionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restXmlDeleteOriginRequestPolicyCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restXmlDeleteMonitoringSubscriptionCommandError(output, context); } - const contents: DeleteOriginRequestPolicyCommandOutput = { + const contents: DeleteMonitoringSubscriptionCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restXmlDeleteOriginRequestPolicyCommandError = async ( +const deserializeAws_restXmlDeleteMonitoringSubscriptionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -4659,42 +5173,10 @@ const deserializeAws_restXmlDeleteOriginRequestPolicyCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "IllegalDelete": - case "com.amazonaws.cloudfront#IllegalDelete": - response = { - ...(await deserializeAws_restXmlIllegalDeleteResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "InvalidIfMatchVersion": - case "com.amazonaws.cloudfront#InvalidIfMatchVersion": - response = { - ...(await deserializeAws_restXmlInvalidIfMatchVersionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "NoSuchOriginRequestPolicy": - case "com.amazonaws.cloudfront#NoSuchOriginRequestPolicy": - response = { - ...(await deserializeAws_restXmlNoSuchOriginRequestPolicyResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "OriginRequestPolicyInUse": - case "com.amazonaws.cloudfront#OriginRequestPolicyInUse": - response = { - ...(await deserializeAws_restXmlOriginRequestPolicyInUseResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "PreconditionFailed": - case "com.amazonaws.cloudfront#PreconditionFailed": + case "NoSuchDistribution": + case "com.amazonaws.cloudfront#NoSuchDistribution": response = { - ...(await deserializeAws_restXmlPreconditionFailedResponse(parsedOutput, context)), + ...(await deserializeAws_restXmlNoSuchDistributionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -4716,7 +5198,98 @@ const deserializeAws_restXmlDeleteOriginRequestPolicyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restXmlDeletePublicKeyCommand = async ( +export const deserializeAws_restXmlDeleteOriginRequestPolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restXmlDeleteOriginRequestPolicyCommandError(output, context); + } + const contents: DeleteOriginRequestPolicyCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlDeleteOriginRequestPolicyCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDenied": + case "com.amazonaws.cloudfront#AccessDenied": + response = { + ...(await deserializeAws_restXmlAccessDeniedResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "IllegalDelete": + case "com.amazonaws.cloudfront#IllegalDelete": + response = { + ...(await deserializeAws_restXmlIllegalDeleteResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidIfMatchVersion": + case "com.amazonaws.cloudfront#InvalidIfMatchVersion": + response = { + ...(await deserializeAws_restXmlInvalidIfMatchVersionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NoSuchOriginRequestPolicy": + case "com.amazonaws.cloudfront#NoSuchOriginRequestPolicy": + response = { + ...(await deserializeAws_restXmlNoSuchOriginRequestPolicyResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OriginRequestPolicyInUse": + case "com.amazonaws.cloudfront#OriginRequestPolicyInUse": + response = { + ...(await deserializeAws_restXmlOriginRequestPolicyInUseResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "PreconditionFailed": + case "com.amazonaws.cloudfront#PreconditionFailed": + response = { + ...(await deserializeAws_restXmlPreconditionFailedResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_restXmlDeletePublicKeyCommand = async ( output: __HttpResponse, context: __SerdeContext ): Promise => { @@ -4799,6 +5372,73 @@ const deserializeAws_restXmlDeletePublicKeyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restXmlDeleteRealtimeLogConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restXmlDeleteRealtimeLogConfigCommandError(output, context); + } + const contents: DeleteRealtimeLogConfigCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlDeleteRealtimeLogConfigCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArgument": + case "com.amazonaws.cloudfront#InvalidArgument": + response = { + ...(await deserializeAws_restXmlInvalidArgumentResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NoSuchRealtimeLogConfig": + case "com.amazonaws.cloudfront#NoSuchRealtimeLogConfig": + response = { + ...(await deserializeAws_restXmlNoSuchRealtimeLogConfigResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "RealtimeLogConfigInUse": + case "com.amazonaws.cloudfront#RealtimeLogConfigInUse": + response = { + ...(await deserializeAws_restXmlRealtimeLogConfigInUseResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_restXmlDeleteStreamingDistributionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5604,6 +6244,67 @@ const deserializeAws_restXmlGetInvalidationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restXmlGetMonitoringSubscriptionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restXmlGetMonitoringSubscriptionCommandError(output, context); + } + const contents: GetMonitoringSubscriptionCommandOutput = { + $metadata: deserializeMetadata(output), + MonitoringSubscription: undefined, + }; + const data: any = await parseBody(output.body, context); + contents.MonitoringSubscription = deserializeAws_restXmlMonitoringSubscription(data, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlGetMonitoringSubscriptionCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDenied": + case "com.amazonaws.cloudfront#AccessDenied": + response = { + ...(await deserializeAws_restXmlAccessDeniedResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NoSuchDistribution": + case "com.amazonaws.cloudfront#NoSuchDistribution": + response = { + ...(await deserializeAws_restXmlNoSuchDistributionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_restXmlGetOriginRequestPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5864,6 +6565,69 @@ const deserializeAws_restXmlGetPublicKeyConfigCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restXmlGetRealtimeLogConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restXmlGetRealtimeLogConfigCommandError(output, context); + } + const contents: GetRealtimeLogConfigCommandOutput = { + $metadata: deserializeMetadata(output), + RealtimeLogConfig: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data["RealtimeLogConfig"] !== undefined) { + contents.RealtimeLogConfig = deserializeAws_restXmlRealtimeLogConfig(data["RealtimeLogConfig"], context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlGetRealtimeLogConfigCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArgument": + case "com.amazonaws.cloudfront#InvalidArgument": + response = { + ...(await deserializeAws_restXmlInvalidArgumentResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NoSuchRealtimeLogConfig": + case "com.amazonaws.cloudfront#NoSuchRealtimeLogConfig": + response = { + ...(await deserializeAws_restXmlNoSuchRealtimeLogConfigResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_restXmlGetStreamingDistributionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6307,14 +7071,14 @@ const deserializeAws_restXmlListDistributionsByOriginRequestPolicyIdCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restXmlListDistributionsByWebACLIdCommand = async ( +export const deserializeAws_restXmlListDistributionsByRealtimeLogConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restXmlListDistributionsByWebACLIdCommandError(output, context); + return deserializeAws_restXmlListDistributionsByRealtimeLogConfigCommandError(output, context); } - const contents: ListDistributionsByWebACLIdCommandOutput = { + const contents: ListDistributionsByRealtimeLogConfigCommandOutput = { $metadata: deserializeMetadata(output), DistributionList: undefined, }; @@ -6323,7 +7087,60 @@ export const deserializeAws_restXmlListDistributionsByWebACLIdCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restXmlListDistributionsByWebACLIdCommandError = async ( +const deserializeAws_restXmlListDistributionsByRealtimeLogConfigCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArgument": + case "com.amazonaws.cloudfront#InvalidArgument": + response = { + ...(await deserializeAws_restXmlInvalidArgumentResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_restXmlListDistributionsByWebACLIdCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restXmlListDistributionsByWebACLIdCommandError(output, context); + } + const contents: ListDistributionsByWebACLIdCommandOutput = { + $metadata: deserializeMetadata(output), + DistributionList: undefined, + }; + const data: any = await parseBody(output.body, context); + contents.DistributionList = deserializeAws_restXmlDistributionList(data, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlListDistributionsByWebACLIdCommandError = async ( output: __HttpResponse, context: __SerdeContext ): Promise => { @@ -6665,6 +7482,51 @@ const deserializeAws_restXmlListPublicKeysCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restXmlListRealtimeLogConfigsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restXmlListRealtimeLogConfigsCommandError(output, context); + } + const contents: ListRealtimeLogConfigsCommandOutput = { + $metadata: deserializeMetadata(output), + RealtimeLogConfigs: undefined, + }; + const data: any = await parseBody(output.body, context); + contents.RealtimeLogConfigs = deserializeAws_restXmlRealtimeLogConfigs(data, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlListRealtimeLogConfigsCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_restXmlListStreamingDistributionsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -8169,6 +9031,69 @@ const deserializeAws_restXmlUpdatePublicKeyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restXmlUpdateRealtimeLogConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restXmlUpdateRealtimeLogConfigCommandError(output, context); + } + const contents: UpdateRealtimeLogConfigCommandOutput = { + $metadata: deserializeMetadata(output), + RealtimeLogConfig: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data["RealtimeLogConfig"] !== undefined) { + contents.RealtimeLogConfig = deserializeAws_restXmlRealtimeLogConfig(data["RealtimeLogConfig"], context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlUpdateRealtimeLogConfigCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArgument": + case "com.amazonaws.cloudfront#InvalidArgument": + response = { + ...(await deserializeAws_restXmlInvalidArgumentResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NoSuchRealtimeLogConfig": + case "com.amazonaws.cloudfront#NoSuchRealtimeLogConfig": + response = { + ...(await deserializeAws_restXmlNoSuchRealtimeLogConfigResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_restXmlUpdateStreamingDistributionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -9206,6 +10131,23 @@ const deserializeAws_restXmlNoSuchPublicKeyResponse = async ( return contents; }; +const deserializeAws_restXmlNoSuchRealtimeLogConfigResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: NoSuchRealtimeLogConfig = { + name: "NoSuchRealtimeLogConfig", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + }; + const data: any = parsedOutput.body.Error; + if (data["Message"] !== undefined) { + contents.Message = data["Message"]; + } + return contents; +}; + const deserializeAws_restXmlNoSuchResourceResponse = async ( parsedOutput: any, context: __SerdeContext @@ -9342,6 +10284,40 @@ const deserializeAws_restXmlQueryArgProfileEmptyResponse = async ( return contents; }; +const deserializeAws_restXmlRealtimeLogConfigAlreadyExistsResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: RealtimeLogConfigAlreadyExists = { + name: "RealtimeLogConfigAlreadyExists", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + }; + const data: any = parsedOutput.body.Error; + if (data["Message"] !== undefined) { + contents.Message = data["Message"]; + } + return contents; +}; + +const deserializeAws_restXmlRealtimeLogConfigInUseResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: RealtimeLogConfigInUse = { + name: "RealtimeLogConfigInUse", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + }; + const data: any = parsedOutput.body.Error; + if (data["Message"] !== undefined) { + contents.Message = data["Message"]; + } + return contents; +}; + const deserializeAws_restXmlStreamingDistributionAlreadyExistsResponse = async ( parsedOutput: any, context: __SerdeContext @@ -9937,6 +10913,23 @@ const deserializeAws_restXmlTooManyQueryStringsInOriginRequestPolicyResponse = a return contents; }; +const deserializeAws_restXmlTooManyRealtimeLogConfigsResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: TooManyRealtimeLogConfigs = { + name: "TooManyRealtimeLogConfigs", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + }; + const data: any = parsedOutput.body.Error; + if (data["Message"] !== undefined) { + contents.Message = data["Message"]; + } + return contents; +}; + const deserializeAws_restXmlTooManyStreamingDistributionCNAMEsResponse = async ( parsedOutput: any, context: __SerdeContext @@ -10035,10 +11028,6 @@ const serializeAws_restXmlAllowedMethods = (input: AllowedMethods, context: __Se const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); bodyNode.addChildNode(node); } - if (input.CachedMethods !== undefined) { - const node = serializeAws_restXmlCachedMethods(input.CachedMethods, context).withName("CachedMethods"); - bodyNode.addChildNode(node); - } if (input.Items !== undefined) { const nodes = serializeAws_restXmlMethodsList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -10047,6 +11036,10 @@ const serializeAws_restXmlAllowedMethods = (input: AllowedMethods, context: __Se }); bodyNode.addChildNode(containerNode); } + if (input.CachedMethods !== undefined) { + const node = serializeAws_restXmlCachedMethods(input.CachedMethods, context).withName("CachedMethods"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10059,24 +11052,8 @@ const serializeAws_restXmlAwsAccountNumberList = (input: string[], context: __Se const serializeAws_restXmlCacheBehavior = (input: CacheBehavior, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CacheBehavior"); - if (input.DefaultTTL !== undefined) { - const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.DefaultTTL))).withName("DefaultTTL"); - bodyNode.addChildNode(node); - } - if (input.OriginRequestPolicyId !== undefined) { - const node = new __XmlNode("string") - .addChildNode(new __XmlText(input.OriginRequestPolicyId)) - .withName("OriginRequestPolicyId"); - bodyNode.addChildNode(node); - } - if (input.ForwardedValues !== undefined) { - const node = serializeAws_restXmlForwardedValues(input.ForwardedValues, context).withName("ForwardedValues"); - bodyNode.addChildNode(node); - } - if (input.FieldLevelEncryptionId !== undefined) { - const node = new __XmlNode("string") - .addChildNode(new __XmlText(input.FieldLevelEncryptionId)) - .withName("FieldLevelEncryptionId"); + if (input.PathPattern !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.PathPattern)).withName("PathPattern"); bodyNode.addChildNode(node); } if (input.SmoothStreaming !== undefined) { @@ -10085,48 +11062,70 @@ const serializeAws_restXmlCacheBehavior = (input: CacheBehavior, context: __Serd .withName("SmoothStreaming"); bodyNode.addChildNode(node); } - if (input.MinTTL !== undefined) { - const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MinTTL))).withName("MinTTL"); + if (input.MaxTTL !== undefined) { + const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MaxTTL))).withName("MaxTTL"); bodyNode.addChildNode(node); } - if (input.ViewerProtocolPolicy !== undefined) { - const node = new __XmlNode("ViewerProtocolPolicy") - .addChildNode(new __XmlText(input.ViewerProtocolPolicy)) - .withName("ViewerProtocolPolicy"); + if (input.CachePolicyId !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.CachePolicyId)).withName("CachePolicyId"); bodyNode.addChildNode(node); } - if (input.MaxTTL !== undefined) { - const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MaxTTL))).withName("MaxTTL"); + if (input.ForwardedValues !== undefined) { + const node = serializeAws_restXmlForwardedValues(input.ForwardedValues, context).withName("ForwardedValues"); bodyNode.addChildNode(node); } - if (input.TrustedSigners !== undefined) { - const node = serializeAws_restXmlTrustedSigners(input.TrustedSigners, context).withName("TrustedSigners"); + if (input.LambdaFunctionAssociations !== undefined) { + const node = serializeAws_restXmlLambdaFunctionAssociations(input.LambdaFunctionAssociations, context).withName( + "LambdaFunctionAssociations" + ); + bodyNode.addChildNode(node); + } + if (input.OriginRequestPolicyId !== undefined) { + const node = new __XmlNode("string") + .addChildNode(new __XmlText(input.OriginRequestPolicyId)) + .withName("OriginRequestPolicyId"); bodyNode.addChildNode(node); } if (input.AllowedMethods !== undefined) { const node = serializeAws_restXmlAllowedMethods(input.AllowedMethods, context).withName("AllowedMethods"); bodyNode.addChildNode(node); } - if (input.TargetOriginId !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.TargetOriginId)).withName("TargetOriginId"); + if (input.ViewerProtocolPolicy !== undefined) { + const node = new __XmlNode("ViewerProtocolPolicy") + .addChildNode(new __XmlText(input.ViewerProtocolPolicy)) + .withName("ViewerProtocolPolicy"); bodyNode.addChildNode(node); } if (input.Compress !== undefined) { const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Compress))).withName("Compress"); bodyNode.addChildNode(node); } - if (input.CachePolicyId !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.CachePolicyId)).withName("CachePolicyId"); + if (input.TargetOriginId !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.TargetOriginId)).withName("TargetOriginId"); bodyNode.addChildNode(node); } - if (input.PathPattern !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.PathPattern)).withName("PathPattern"); + if (input.FieldLevelEncryptionId !== undefined) { + const node = new __XmlNode("string") + .addChildNode(new __XmlText(input.FieldLevelEncryptionId)) + .withName("FieldLevelEncryptionId"); bodyNode.addChildNode(node); } - if (input.LambdaFunctionAssociations !== undefined) { - const node = serializeAws_restXmlLambdaFunctionAssociations(input.LambdaFunctionAssociations, context).withName( - "LambdaFunctionAssociations" - ); + if (input.MinTTL !== undefined) { + const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MinTTL))).withName("MinTTL"); + bodyNode.addChildNode(node); + } + if (input.RealtimeLogConfigArn !== undefined) { + const node = new __XmlNode("string") + .addChildNode(new __XmlText(input.RealtimeLogConfigArn)) + .withName("RealtimeLogConfigArn"); + bodyNode.addChildNode(node); + } + if (input.TrustedSigners !== undefined) { + const node = serializeAws_restXmlTrustedSigners(input.TrustedSigners, context).withName("TrustedSigners"); + bodyNode.addChildNode(node); + } + if (input.DefaultTTL !== undefined) { + const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.DefaultTTL))).withName("DefaultTTL"); bodyNode.addChildNode(node); } return bodyNode; @@ -10141,6 +11140,10 @@ const serializeAws_restXmlCacheBehaviorList = (input: CacheBehavior[], context: const serializeAws_restXmlCacheBehaviors = (input: CacheBehaviors, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CacheBehaviors"); + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } if (input.Items !== undefined) { const nodes = serializeAws_restXmlCacheBehaviorList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -10149,19 +11152,11 @@ const serializeAws_restXmlCacheBehaviors = (input: CacheBehaviors, context: __Se }); bodyNode.addChildNode(containerNode); } - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } return bodyNode; }; const serializeAws_restXmlCachedMethods = (input: CachedMethods, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CachedMethods"); - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } if (input.Items !== undefined) { const nodes = serializeAws_restXmlMethodsList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -10170,36 +11165,40 @@ const serializeAws_restXmlCachedMethods = (input: CachedMethods, context: __Serd }); bodyNode.addChildNode(containerNode); } + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlCachePolicyConfig = (input: CachePolicyConfig, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CachePolicyConfig"); - if (input.MinTTL !== undefined) { - const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MinTTL))).withName("MinTTL"); + if (input.ParametersInCacheKeyAndForwardedToOrigin !== undefined) { + const node = serializeAws_restXmlParametersInCacheKeyAndForwardedToOrigin( + input.ParametersInCacheKeyAndForwardedToOrigin, + context + ).withName("ParametersInCacheKeyAndForwardedToOrigin"); bodyNode.addChildNode(node); } - if (input.MaxTTL !== undefined) { - const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MaxTTL))).withName("MaxTTL"); + if (input.Name !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Name)).withName("Name"); bodyNode.addChildNode(node); } - if (input.Comment !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.Comment)).withName("Comment"); + if (input.DefaultTTL !== undefined) { + const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.DefaultTTL))).withName("DefaultTTL"); bodyNode.addChildNode(node); } - if (input.Name !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.Name)).withName("Name"); + if (input.Comment !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Comment)).withName("Comment"); bodyNode.addChildNode(node); } - if (input.ParametersInCacheKeyAndForwardedToOrigin !== undefined) { - const node = serializeAws_restXmlParametersInCacheKeyAndForwardedToOrigin( - input.ParametersInCacheKeyAndForwardedToOrigin, - context - ).withName("ParametersInCacheKeyAndForwardedToOrigin"); + if (input.MinTTL !== undefined) { + const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MinTTL))).withName("MinTTL"); bodyNode.addChildNode(node); } - if (input.DefaultTTL !== undefined) { - const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.DefaultTTL))).withName("DefaultTTL"); + if (input.MaxTTL !== undefined) { + const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MaxTTL))).withName("MaxTTL"); bodyNode.addChildNode(node); } return bodyNode; @@ -10210,16 +11209,16 @@ const serializeAws_restXmlCachePolicyCookiesConfig = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("CachePolicyCookiesConfig"); + if (input.Cookies !== undefined) { + const node = serializeAws_restXmlCookieNames(input.Cookies, context).withName("Cookies"); + bodyNode.addChildNode(node); + } if (input.CookieBehavior !== undefined) { const node = new __XmlNode("CachePolicyCookieBehavior") .addChildNode(new __XmlText(input.CookieBehavior)) .withName("CookieBehavior"); bodyNode.addChildNode(node); } - if (input.Cookies !== undefined) { - const node = serializeAws_restXmlCookieNames(input.Cookies, context).withName("Cookies"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -10246,16 +11245,16 @@ const serializeAws_restXmlCachePolicyQueryStringsConfig = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("CachePolicyQueryStringsConfig"); - if (input.QueryStrings !== undefined) { - const node = serializeAws_restXmlQueryStringNames(input.QueryStrings, context).withName("QueryStrings"); - bodyNode.addChildNode(node); - } if (input.QueryStringBehavior !== undefined) { const node = new __XmlNode("CachePolicyQueryStringBehavior") .addChildNode(new __XmlText(input.QueryStringBehavior)) .withName("QueryStringBehavior"); bodyNode.addChildNode(node); } + if (input.QueryStrings !== undefined) { + const node = serializeAws_restXmlQueryStringNames(input.QueryStrings, context).withName("QueryStrings"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10264,29 +11263,29 @@ const serializeAws_restXmlCloudFrontOriginAccessIdentityConfig = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("CloudFrontOriginAccessIdentityConfig"); - if (input.Comment !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.Comment)).withName("Comment"); - bodyNode.addChildNode(node); - } if (input.CallerReference !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); bodyNode.addChildNode(node); } + if (input.Comment !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Comment)).withName("Comment"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlContentTypeProfile = (input: ContentTypeProfile, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ContentTypeProfile"); - if (input.ContentType !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.ContentType)).withName("ContentType"); + if (input.Format !== undefined) { + const node = new __XmlNode("Format").addChildNode(new __XmlText(input.Format)).withName("Format"); bodyNode.addChildNode(node); } if (input.ProfileId !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.ProfileId)).withName("ProfileId"); bodyNode.addChildNode(node); } - if (input.Format !== undefined) { - const node = new __XmlNode("Format").addChildNode(new __XmlText(input.Format)).withName("Format"); + if (input.ContentType !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.ContentType)).withName("ContentType"); bodyNode.addChildNode(node); } return bodyNode; @@ -10321,6 +11320,10 @@ const serializeAws_restXmlContentTypeProfileList = (input: ContentTypeProfile[], const serializeAws_restXmlContentTypeProfiles = (input: ContentTypeProfiles, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ContentTypeProfiles"); + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } if (input.Items !== undefined) { const nodes = serializeAws_restXmlContentTypeProfileList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -10329,10 +11332,6 @@ const serializeAws_restXmlContentTypeProfiles = (input: ContentTypeProfiles, con }); bodyNode.addChildNode(containerNode); } - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -10345,10 +11344,6 @@ const serializeAws_restXmlCookieNameList = (input: string[], context: __SerdeCon const serializeAws_restXmlCookieNames = (input: CookieNames, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CookieNames"); - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } if (input.Items !== undefined) { const nodes = serializeAws_restXmlCookieNameList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -10357,44 +11352,48 @@ const serializeAws_restXmlCookieNames = (input: CookieNames, context: __SerdeCon }); bodyNode.addChildNode(containerNode); } + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlCookiePreference = (input: CookiePreference, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CookiePreference"); - if (input.Forward !== undefined) { - const node = new __XmlNode("ItemSelection").addChildNode(new __XmlText(input.Forward)).withName("Forward"); - bodyNode.addChildNode(node); - } if (input.WhitelistedNames !== undefined) { const node = serializeAws_restXmlCookieNames(input.WhitelistedNames, context).withName("WhitelistedNames"); bodyNode.addChildNode(node); } + if (input.Forward !== undefined) { + const node = new __XmlNode("ItemSelection").addChildNode(new __XmlText(input.Forward)).withName("Forward"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlCustomErrorResponse = (input: CustomErrorResponse, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CustomErrorResponse"); - if (input.ErrorCode !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.ErrorCode))).withName("ErrorCode"); - bodyNode.addChildNode(node); - } - if (input.ErrorCachingMinTTL !== undefined) { - const node = new __XmlNode("long") - .addChildNode(new __XmlText(String(input.ErrorCachingMinTTL))) - .withName("ErrorCachingMinTTL"); - bodyNode.addChildNode(node); - } if (input.ResponseCode !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.ResponseCode)).withName("ResponseCode"); bodyNode.addChildNode(node); } + if (input.ErrorCode !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.ErrorCode))).withName("ErrorCode"); + bodyNode.addChildNode(node); + } if (input.ResponsePagePath !== undefined) { const node = new __XmlNode("string") .addChildNode(new __XmlText(input.ResponsePagePath)) .withName("ResponsePagePath"); bodyNode.addChildNode(node); } + if (input.ErrorCachingMinTTL !== undefined) { + const node = new __XmlNode("long") + .addChildNode(new __XmlText(String(input.ErrorCachingMinTTL))) + .withName("ErrorCachingMinTTL"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10407,10 +11406,6 @@ const serializeAws_restXmlCustomErrorResponseList = (input: CustomErrorResponse[ const serializeAws_restXmlCustomErrorResponses = (input: CustomErrorResponses, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CustomErrorResponses"); - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } if (input.Items !== undefined) { const nodes = serializeAws_restXmlCustomErrorResponseList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -10419,6 +11414,10 @@ const serializeAws_restXmlCustomErrorResponses = (input: CustomErrorResponses, c }); bodyNode.addChildNode(containerNode); } + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10441,26 +11440,26 @@ const serializeAws_restXmlCustomHeaders = (input: CustomHeaders, context: __Serd const serializeAws_restXmlCustomOriginConfig = (input: CustomOriginConfig, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CustomOriginConfig"); - if (input.OriginProtocolPolicy !== undefined) { - const node = new __XmlNode("OriginProtocolPolicy") - .addChildNode(new __XmlText(input.OriginProtocolPolicy)) - .withName("OriginProtocolPolicy"); + if (input.HTTPSPort !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.HTTPSPort))).withName("HTTPSPort"); bodyNode.addChildNode(node); } if (input.HTTPPort !== undefined) { const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.HTTPPort))).withName("HTTPPort"); bodyNode.addChildNode(node); } - if (input.HTTPSPort !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.HTTPSPort))).withName("HTTPSPort"); - bodyNode.addChildNode(node); - } if (input.OriginKeepaliveTimeout !== undefined) { const node = new __XmlNode("integer") .addChildNode(new __XmlText(String(input.OriginKeepaliveTimeout))) .withName("OriginKeepaliveTimeout"); bodyNode.addChildNode(node); } + if (input.OriginProtocolPolicy !== undefined) { + const node = new __XmlNode("OriginProtocolPolicy") + .addChildNode(new __XmlText(input.OriginProtocolPolicy)) + .withName("OriginProtocolPolicy"); + bodyNode.addChildNode(node); + } if (input.OriginSslProtocols !== undefined) { const node = serializeAws_restXmlOriginSslProtocols(input.OriginSslProtocols, context).withName( "OriginSslProtocols" @@ -10478,28 +11477,50 @@ const serializeAws_restXmlCustomOriginConfig = (input: CustomOriginConfig, conte const serializeAws_restXmlDefaultCacheBehavior = (input: DefaultCacheBehavior, context: __SerdeContext): any => { const bodyNode = new __XmlNode("DefaultCacheBehavior"); - if (input.CachePolicyId !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.CachePolicyId)).withName("CachePolicyId"); + if (input.OriginRequestPolicyId !== undefined) { + const node = new __XmlNode("string") + .addChildNode(new __XmlText(input.OriginRequestPolicyId)) + .withName("OriginRequestPolicyId"); bodyNode.addChildNode(node); } - if (input.TrustedSigners !== undefined) { - const node = serializeAws_restXmlTrustedSigners(input.TrustedSigners, context).withName("TrustedSigners"); + if (input.FieldLevelEncryptionId !== undefined) { + const node = new __XmlNode("string") + .addChildNode(new __XmlText(input.FieldLevelEncryptionId)) + .withName("FieldLevelEncryptionId"); bodyNode.addChildNode(node); } - if (input.MinTTL !== undefined) { - const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MinTTL))).withName("MinTTL"); + if (input.ViewerProtocolPolicy !== undefined) { + const node = new __XmlNode("ViewerProtocolPolicy") + .addChildNode(new __XmlText(input.ViewerProtocolPolicy)) + .withName("ViewerProtocolPolicy"); + bodyNode.addChildNode(node); + } + if (input.DefaultTTL !== undefined) { + const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.DefaultTTL))).withName("DefaultTTL"); bodyNode.addChildNode(node); } if (input.MaxTTL !== undefined) { const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MaxTTL))).withName("MaxTTL"); bodyNode.addChildNode(node); } - if (input.Compress !== undefined) { - const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Compress))).withName("Compress"); + if (input.SmoothStreaming !== undefined) { + const node = new __XmlNode("boolean") + .addChildNode(new __XmlText(String(input.SmoothStreaming))) + .withName("SmoothStreaming"); bodyNode.addChildNode(node); } - if (input.AllowedMethods !== undefined) { - const node = serializeAws_restXmlAllowedMethods(input.AllowedMethods, context).withName("AllowedMethods"); + if (input.TrustedSigners !== undefined) { + const node = serializeAws_restXmlTrustedSigners(input.TrustedSigners, context).withName("TrustedSigners"); + bodyNode.addChildNode(node); + } + if (input.RealtimeLogConfigArn !== undefined) { + const node = new __XmlNode("string") + .addChildNode(new __XmlText(input.RealtimeLogConfigArn)) + .withName("RealtimeLogConfigArn"); + bodyNode.addChildNode(node); + } + if (input.MinTTL !== undefined) { + const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.MinTTL))).withName("MinTTL"); bodyNode.addChildNode(node); } if (input.LambdaFunctionAssociations !== undefined) { @@ -10508,10 +11529,8 @@ const serializeAws_restXmlDefaultCacheBehavior = (input: DefaultCacheBehavior, c ); bodyNode.addChildNode(node); } - if (input.OriginRequestPolicyId !== undefined) { - const node = new __XmlNode("string") - .addChildNode(new __XmlText(input.OriginRequestPolicyId)) - .withName("OriginRequestPolicyId"); + if (input.CachePolicyId !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.CachePolicyId)).withName("CachePolicyId"); bodyNode.addChildNode(node); } if (input.TargetOriginId !== undefined) { @@ -10522,26 +11541,12 @@ const serializeAws_restXmlDefaultCacheBehavior = (input: DefaultCacheBehavior, c const node = serializeAws_restXmlForwardedValues(input.ForwardedValues, context).withName("ForwardedValues"); bodyNode.addChildNode(node); } - if (input.DefaultTTL !== undefined) { - const node = new __XmlNode("long").addChildNode(new __XmlText(String(input.DefaultTTL))).withName("DefaultTTL"); - bodyNode.addChildNode(node); - } - if (input.FieldLevelEncryptionId !== undefined) { - const node = new __XmlNode("string") - .addChildNode(new __XmlText(input.FieldLevelEncryptionId)) - .withName("FieldLevelEncryptionId"); - bodyNode.addChildNode(node); - } - if (input.ViewerProtocolPolicy !== undefined) { - const node = new __XmlNode("ViewerProtocolPolicy") - .addChildNode(new __XmlText(input.ViewerProtocolPolicy)) - .withName("ViewerProtocolPolicy"); + if (input.Compress !== undefined) { + const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Compress))).withName("Compress"); bodyNode.addChildNode(node); } - if (input.SmoothStreaming !== undefined) { - const node = new __XmlNode("boolean") - .addChildNode(new __XmlText(String(input.SmoothStreaming))) - .withName("SmoothStreaming"); + if (input.AllowedMethods !== undefined) { + const node = serializeAws_restXmlAllowedMethods(input.AllowedMethods, context).withName("AllowedMethods"); bodyNode.addChildNode(node); } return bodyNode; @@ -10549,20 +11554,16 @@ const serializeAws_restXmlDefaultCacheBehavior = (input: DefaultCacheBehavior, c const serializeAws_restXmlDistributionConfig = (input: DistributionConfig, context: __SerdeContext): any => { const bodyNode = new __XmlNode("DistributionConfig"); - if (input.ViewerCertificate !== undefined) { - const node = serializeAws_restXmlViewerCertificate(input.ViewerCertificate, context).withName("ViewerCertificate"); - bodyNode.addChildNode(node); - } - if (input.Origins !== undefined) { - const node = serializeAws_restXmlOrigins(input.Origins, context).withName("Origins"); + if (input.Restrictions !== undefined) { + const node = serializeAws_restXmlRestrictions(input.Restrictions, context).withName("Restrictions"); bodyNode.addChildNode(node); } - if (input.Logging !== undefined) { - const node = serializeAws_restXmlLoggingConfig(input.Logging, context).withName("Logging"); + if (input.WebACLId !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.WebACLId)).withName("WebACLId"); bodyNode.addChildNode(node); } - if (input.Comment !== undefined) { - const node = new __XmlNode("CommentType").addChildNode(new __XmlText(input.Comment)).withName("Comment"); + if (input.HttpVersion !== undefined) { + const node = new __XmlNode("HttpVersion").addChildNode(new __XmlText(input.HttpVersion)).withName("HttpVersion"); bodyNode.addChildNode(node); } if (input.DefaultRootObject !== undefined) { @@ -10571,42 +11572,48 @@ const serializeAws_restXmlDistributionConfig = (input: DistributionConfig, conte .withName("DefaultRootObject"); bodyNode.addChildNode(node); } - if (input.HttpVersion !== undefined) { - const node = new __XmlNode("HttpVersion").addChildNode(new __XmlText(input.HttpVersion)).withName("HttpVersion"); - bodyNode.addChildNode(node); - } - if (input.PriceClass !== undefined) { - const node = new __XmlNode("PriceClass").addChildNode(new __XmlText(input.PriceClass)).withName("PriceClass"); + if (input.CustomErrorResponses !== undefined) { + const node = serializeAws_restXmlCustomErrorResponses(input.CustomErrorResponses, context).withName( + "CustomErrorResponses" + ); + bodyNode.addChildNode(node); + } + if (input.OriginGroups !== undefined) { + const node = serializeAws_restXmlOriginGroups(input.OriginGroups, context).withName("OriginGroups"); + bodyNode.addChildNode(node); + } + if (input.Logging !== undefined) { + const node = serializeAws_restXmlLoggingConfig(input.Logging, context).withName("Logging"); bodyNode.addChildNode(node); } if (input.CacheBehaviors !== undefined) { const node = serializeAws_restXmlCacheBehaviors(input.CacheBehaviors, context).withName("CacheBehaviors"); bodyNode.addChildNode(node); } - if (input.WebACLId !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.WebACLId)).withName("WebACLId"); + if (input.Comment !== undefined) { + const node = new __XmlNode("CommentType").addChildNode(new __XmlText(input.Comment)).withName("Comment"); bodyNode.addChildNode(node); } - if (input.Aliases !== undefined) { - const node = serializeAws_restXmlAliases(input.Aliases, context).withName("Aliases"); + if (input.Origins !== undefined) { + const node = serializeAws_restXmlOrigins(input.Origins, context).withName("Origins"); bodyNode.addChildNode(node); } - if (input.CustomErrorResponses !== undefined) { - const node = serializeAws_restXmlCustomErrorResponses(input.CustomErrorResponses, context).withName( - "CustomErrorResponses" - ); + if (input.Enabled !== undefined) { + const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Enabled))).withName("Enabled"); bodyNode.addChildNode(node); } - if (input.OriginGroups !== undefined) { - const node = serializeAws_restXmlOriginGroups(input.OriginGroups, context).withName("OriginGroups"); + if (input.ViewerCertificate !== undefined) { + const node = serializeAws_restXmlViewerCertificate(input.ViewerCertificate, context).withName("ViewerCertificate"); bodyNode.addChildNode(node); } - if (input.Restrictions !== undefined) { - const node = serializeAws_restXmlRestrictions(input.Restrictions, context).withName("Restrictions"); + if (input.IsIPV6Enabled !== undefined) { + const node = new __XmlNode("boolean") + .addChildNode(new __XmlText(String(input.IsIPV6Enabled))) + .withName("IsIPV6Enabled"); bodyNode.addChildNode(node); } - if (input.Enabled !== undefined) { - const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Enabled))).withName("Enabled"); + if (input.PriceClass !== undefined) { + const node = new __XmlNode("PriceClass").addChildNode(new __XmlText(input.PriceClass)).withName("PriceClass"); bodyNode.addChildNode(node); } if (input.DefaultCacheBehavior !== undefined) { @@ -10619,10 +11626,8 @@ const serializeAws_restXmlDistributionConfig = (input: DistributionConfig, conte const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); bodyNode.addChildNode(node); } - if (input.IsIPV6Enabled !== undefined) { - const node = new __XmlNode("boolean") - .addChildNode(new __XmlText(String(input.IsIPV6Enabled))) - .withName("IsIPV6Enabled"); + if (input.Aliases !== undefined) { + const node = serializeAws_restXmlAliases(input.Aliases, context).withName("Aliases"); bodyNode.addChildNode(node); } return bodyNode; @@ -10633,25 +11638,21 @@ const serializeAws_restXmlDistributionConfigWithTags = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("DistributionConfigWithTags"); + if (input.Tags !== undefined) { + const node = serializeAws_restXmlTags(input.Tags, context).withName("Tags"); + bodyNode.addChildNode(node); + } if (input.DistributionConfig !== undefined) { const node = serializeAws_restXmlDistributionConfig(input.DistributionConfig, context).withName( "DistributionConfig" ); bodyNode.addChildNode(node); } - if (input.Tags !== undefined) { - const node = serializeAws_restXmlTags(input.Tags, context).withName("Tags"); - bodyNode.addChildNode(node); - } return bodyNode; }; const serializeAws_restXmlEncryptionEntities = (input: EncryptionEntities, context: __SerdeContext): any => { const bodyNode = new __XmlNode("EncryptionEntities"); - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } if (input.Items !== undefined) { const nodes = serializeAws_restXmlEncryptionEntityList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -10660,21 +11661,25 @@ const serializeAws_restXmlEncryptionEntities = (input: EncryptionEntities, conte }); bodyNode.addChildNode(containerNode); } + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlEncryptionEntity = (input: EncryptionEntity, context: __SerdeContext): any => { const bodyNode = new __XmlNode("EncryptionEntity"); - if (input.ProviderId !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.ProviderId)).withName("ProviderId"); + if (input.PublicKeyId !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.PublicKeyId)).withName("PublicKeyId"); bodyNode.addChildNode(node); } if (input.FieldPatterns !== undefined) { const node = serializeAws_restXmlFieldPatterns(input.FieldPatterns, context).withName("FieldPatterns"); bodyNode.addChildNode(node); } - if (input.PublicKeyId !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.PublicKeyId)).withName("PublicKeyId"); + if (input.ProviderId !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.ProviderId)).withName("ProviderId"); bodyNode.addChildNode(node); } return bodyNode; @@ -10687,11 +11692,39 @@ const serializeAws_restXmlEncryptionEntityList = (input: EncryptionEntity[], con }); }; +const serializeAws_restXmlEndPoint = (input: EndPoint, context: __SerdeContext): any => { + const bodyNode = new __XmlNode("EndPoint"); + if (input.KinesisStreamConfig !== undefined) { + const node = serializeAws_restXmlKinesisStreamConfig(input.KinesisStreamConfig, context).withName( + "KinesisStreamConfig" + ); + bodyNode.addChildNode(node); + } + if (input.StreamType !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.StreamType)).withName("StreamType"); + bodyNode.addChildNode(node); + } + return bodyNode; +}; + +const serializeAws_restXmlEndPointList = (input: EndPoint[], context: __SerdeContext): any => { + return input.map((entry) => { + const node = serializeAws_restXmlEndPoint(entry, context); + return node.withName("member"); + }); +}; + const serializeAws_restXmlFieldLevelEncryptionConfig = ( input: FieldLevelEncryptionConfig, context: __SerdeContext ): any => { const bodyNode = new __XmlNode("FieldLevelEncryptionConfig"); + if (input.ContentTypeProfileConfig !== undefined) { + const node = serializeAws_restXmlContentTypeProfileConfig(input.ContentTypeProfileConfig, context).withName( + "ContentTypeProfileConfig" + ); + bodyNode.addChildNode(node); + } if (input.CallerReference !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); bodyNode.addChildNode(node); @@ -10706,12 +11739,6 @@ const serializeAws_restXmlFieldLevelEncryptionConfig = ( ); bodyNode.addChildNode(node); } - if (input.ContentTypeProfileConfig !== undefined) { - const node = serializeAws_restXmlContentTypeProfileConfig(input.ContentTypeProfileConfig, context).withName( - "ContentTypeProfileConfig" - ); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -10720,16 +11747,16 @@ const serializeAws_restXmlFieldLevelEncryptionProfileConfig = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("FieldLevelEncryptionProfileConfig"); + if (input.CallerReference !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); + bodyNode.addChildNode(node); + } if (input.EncryptionEntities !== undefined) { const node = serializeAws_restXmlEncryptionEntities(input.EncryptionEntities, context).withName( "EncryptionEntities" ); bodyNode.addChildNode(node); } - if (input.CallerReference !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); - bodyNode.addChildNode(node); - } if (input.Name !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.Name)).withName("Name"); bodyNode.addChildNode(node); @@ -10741,6 +11768,13 @@ const serializeAws_restXmlFieldLevelEncryptionProfileConfig = ( return bodyNode; }; +const serializeAws_restXmlFieldList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => { + const node = new __XmlNode("string").addChildNode(new __XmlText(entry)); + return node.withName("Field"); + }); +}; + const serializeAws_restXmlFieldPatternList = (input: string[], context: __SerdeContext): any => { return input.map((entry) => { const node = new __XmlNode("string").addChildNode(new __XmlText(entry)); @@ -10771,12 +11805,6 @@ const serializeAws_restXmlForwardedValues = (input: ForwardedValues, context: __ const node = serializeAws_restXmlCookiePreference(input.Cookies, context).withName("Cookies"); bodyNode.addChildNode(node); } - if (input.QueryStringCacheKeys !== undefined) { - const node = serializeAws_restXmlQueryStringCacheKeys(input.QueryStringCacheKeys, context).withName( - "QueryStringCacheKeys" - ); - bodyNode.addChildNode(node); - } if (input.QueryString !== undefined) { const node = new __XmlNode("boolean") .addChildNode(new __XmlText(String(input.QueryString))) @@ -10787,13 +11815,21 @@ const serializeAws_restXmlForwardedValues = (input: ForwardedValues, context: __ const node = serializeAws_restXmlHeaders(input.Headers, context).withName("Headers"); bodyNode.addChildNode(node); } + if (input.QueryStringCacheKeys !== undefined) { + const node = serializeAws_restXmlQueryStringCacheKeys(input.QueryStringCacheKeys, context).withName( + "QueryStringCacheKeys" + ); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlGeoRestriction = (input: GeoRestriction, context: __SerdeContext): any => { const bodyNode = new __XmlNode("GeoRestriction"); - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + if (input.RestrictionType !== undefined) { + const node = new __XmlNode("GeoRestrictionType") + .addChildNode(new __XmlText(input.RestrictionType)) + .withName("RestrictionType"); bodyNode.addChildNode(node); } if (input.Items !== undefined) { @@ -10804,10 +11840,8 @@ const serializeAws_restXmlGeoRestriction = (input: GeoRestriction, context: __Se }); bodyNode.addChildNode(containerNode); } - if (input.RestrictionType !== undefined) { - const node = new __XmlNode("GeoRestrictionType") - .addChildNode(new __XmlText(input.RestrictionType)) - .withName("RestrictionType"); + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); bodyNode.addChildNode(node); } return bodyNode; @@ -10822,6 +11856,10 @@ const serializeAws_restXmlHeaderList = (input: string[], context: __SerdeContext const serializeAws_restXmlHeaders = (input: Headers, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Headers"); + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } if (input.Items !== undefined) { const nodes = serializeAws_restXmlHeaderList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -10830,21 +11868,30 @@ const serializeAws_restXmlHeaders = (input: Headers, context: __SerdeContext): a }); bodyNode.addChildNode(containerNode); } - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } return bodyNode; }; const serializeAws_restXmlInvalidationBatch = (input: InvalidationBatch, context: __SerdeContext): any => { const bodyNode = new __XmlNode("InvalidationBatch"); + if (input.CallerReference !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); + bodyNode.addChildNode(node); + } if (input.Paths !== undefined) { const node = serializeAws_restXmlPaths(input.Paths, context).withName("Paths"); bodyNode.addChildNode(node); } - if (input.CallerReference !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); + return bodyNode; +}; + +const serializeAws_restXmlKinesisStreamConfig = (input: KinesisStreamConfig, context: __SerdeContext): any => { + const bodyNode = new __XmlNode("KinesisStreamConfig"); + if (input.StreamARN !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.StreamARN)).withName("StreamARN"); + bodyNode.addChildNode(node); + } + if (input.RoleARN !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.RoleARN)).withName("RoleARN"); bodyNode.addChildNode(node); } return bodyNode; @@ -10861,16 +11908,16 @@ const serializeAws_restXmlLambdaFunctionAssociation = ( .withName("IncludeBody"); bodyNode.addChildNode(node); } - if (input.EventType !== undefined) { - const node = new __XmlNode("EventType").addChildNode(new __XmlText(input.EventType)).withName("EventType"); - bodyNode.addChildNode(node); - } if (input.LambdaFunctionARN !== undefined) { const node = new __XmlNode("LambdaFunctionARN") .addChildNode(new __XmlText(input.LambdaFunctionARN)) .withName("LambdaFunctionARN"); bodyNode.addChildNode(node); } + if (input.EventType !== undefined) { + const node = new __XmlNode("EventType").addChildNode(new __XmlText(input.EventType)).withName("EventType"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10913,16 +11960,16 @@ const serializeAws_restXmlLocationList = (input: string[], context: __SerdeConte const serializeAws_restXmlLoggingConfig = (input: LoggingConfig, context: __SerdeContext): any => { const bodyNode = new __XmlNode("LoggingConfig"); + if (input.Bucket !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); + bodyNode.addChildNode(node); + } if (input.IncludeCookies !== undefined) { const node = new __XmlNode("boolean") .addChildNode(new __XmlText(String(input.IncludeCookies))) .withName("IncludeCookies"); bodyNode.addChildNode(node); } - if (input.Bucket !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); - bodyNode.addChildNode(node); - } if (input.Enabled !== undefined) { const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Enabled))).withName("Enabled"); bodyNode.addChildNode(node); @@ -10941,8 +11988,32 @@ const serializeAws_restXmlMethodsList = (input: (Method | string)[], context: __ }); }; +const serializeAws_restXmlMonitoringSubscription = (input: MonitoringSubscription, context: __SerdeContext): any => { + const bodyNode = new __XmlNode("MonitoringSubscription"); + if (input.RealtimeMetricsSubscriptionConfig !== undefined) { + const node = serializeAws_restXmlRealtimeMetricsSubscriptionConfig( + input.RealtimeMetricsSubscriptionConfig, + context + ).withName("RealtimeMetricsSubscriptionConfig"); + bodyNode.addChildNode(node); + } + return bodyNode; +}; + const serializeAws_restXmlOrigin = (input: Origin, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Origin"); + if (input.ConnectionTimeout !== undefined) { + const node = new __XmlNode("integer") + .addChildNode(new __XmlText(String(input.ConnectionTimeout))) + .withName("ConnectionTimeout"); + bodyNode.addChildNode(node); + } + if (input.ConnectionAttempts !== undefined) { + const node = new __XmlNode("integer") + .addChildNode(new __XmlText(String(input.ConnectionAttempts))) + .withName("ConnectionAttempts"); + bodyNode.addChildNode(node); + } if (input.DomainName !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.DomainName)).withName("DomainName"); bodyNode.addChildNode(node); @@ -10951,22 +12022,10 @@ const serializeAws_restXmlOrigin = (input: Origin, context: __SerdeContext): any const node = serializeAws_restXmlS3OriginConfig(input.S3OriginConfig, context).withName("S3OriginConfig"); bodyNode.addChildNode(node); } - if (input.CustomOriginConfig !== undefined) { - const node = serializeAws_restXmlCustomOriginConfig(input.CustomOriginConfig, context).withName( - "CustomOriginConfig" - ); - bodyNode.addChildNode(node); - } if (input.OriginPath !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.OriginPath)).withName("OriginPath"); bodyNode.addChildNode(node); } - if (input.ConnectionAttempts !== undefined) { - const node = new __XmlNode("integer") - .addChildNode(new __XmlText(String(input.ConnectionAttempts))) - .withName("ConnectionAttempts"); - bodyNode.addChildNode(node); - } if (input.Id !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.Id)).withName("Id"); bodyNode.addChildNode(node); @@ -10975,10 +12034,10 @@ const serializeAws_restXmlOrigin = (input: Origin, context: __SerdeContext): any const node = serializeAws_restXmlCustomHeaders(input.CustomHeaders, context).withName("CustomHeaders"); bodyNode.addChildNode(node); } - if (input.ConnectionTimeout !== undefined) { - const node = new __XmlNode("integer") - .addChildNode(new __XmlText(String(input.ConnectionTimeout))) - .withName("ConnectionTimeout"); + if (input.CustomOriginConfig !== undefined) { + const node = serializeAws_restXmlCustomOriginConfig(input.CustomOriginConfig, context).withName( + "CustomOriginConfig" + ); bodyNode.addChildNode(node); } return bodyNode; @@ -10986,14 +12045,14 @@ const serializeAws_restXmlOrigin = (input: Origin, context: __SerdeContext): any const serializeAws_restXmlOriginCustomHeader = (input: OriginCustomHeader, context: __SerdeContext): any => { const bodyNode = new __XmlNode("OriginCustomHeader"); - if (input.HeaderValue !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.HeaderValue)).withName("HeaderValue"); - bodyNode.addChildNode(node); - } if (input.HeaderName !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.HeaderName)).withName("HeaderName"); bodyNode.addChildNode(node); } + if (input.HeaderValue !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.HeaderValue)).withName("HeaderValue"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -11010,16 +12069,16 @@ const serializeAws_restXmlOriginGroup = (input: OriginGroup, context: __SerdeCon const node = new __XmlNode("string").addChildNode(new __XmlText(input.Id)).withName("Id"); bodyNode.addChildNode(node); } - if (input.Members !== undefined) { - const node = serializeAws_restXmlOriginGroupMembers(input.Members, context).withName("Members"); - bodyNode.addChildNode(node); - } if (input.FailoverCriteria !== undefined) { const node = serializeAws_restXmlOriginGroupFailoverCriteria(input.FailoverCriteria, context).withName( "FailoverCriteria" ); bodyNode.addChildNode(node); } + if (input.Members !== undefined) { + const node = serializeAws_restXmlOriginGroupMembers(input.Members, context).withName("Members"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -11104,12 +12163,16 @@ const serializeAws_restXmlOriginRequestPolicyConfig = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("OriginRequestPolicyConfig"); - if (input.CookiesConfig !== undefined) { - const node = serializeAws_restXmlOriginRequestPolicyCookiesConfig(input.CookiesConfig, context).withName( - "CookiesConfig" + if (input.QueryStringsConfig !== undefined) { + const node = serializeAws_restXmlOriginRequestPolicyQueryStringsConfig(input.QueryStringsConfig, context).withName( + "QueryStringsConfig" ); bodyNode.addChildNode(node); } + if (input.Name !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Name)).withName("Name"); + bodyNode.addChildNode(node); + } if (input.HeadersConfig !== undefined) { const node = serializeAws_restXmlOriginRequestPolicyHeadersConfig(input.HeadersConfig, context).withName( "HeadersConfig" @@ -11120,16 +12183,12 @@ const serializeAws_restXmlOriginRequestPolicyConfig = ( const node = new __XmlNode("string").addChildNode(new __XmlText(input.Comment)).withName("Comment"); bodyNode.addChildNode(node); } - if (input.QueryStringsConfig !== undefined) { - const node = serializeAws_restXmlOriginRequestPolicyQueryStringsConfig(input.QueryStringsConfig, context).withName( - "QueryStringsConfig" + if (input.CookiesConfig !== undefined) { + const node = serializeAws_restXmlOriginRequestPolicyCookiesConfig(input.CookiesConfig, context).withName( + "CookiesConfig" ); bodyNode.addChildNode(node); } - if (input.Name !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.Name)).withName("Name"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -11156,16 +12215,16 @@ const serializeAws_restXmlOriginRequestPolicyHeadersConfig = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("OriginRequestPolicyHeadersConfig"); + if (input.Headers !== undefined) { + const node = serializeAws_restXmlHeaders(input.Headers, context).withName("Headers"); + bodyNode.addChildNode(node); + } if (input.HeaderBehavior !== undefined) { const node = new __XmlNode("OriginRequestPolicyHeaderBehavior") .addChildNode(new __XmlText(input.HeaderBehavior)) .withName("HeaderBehavior"); bodyNode.addChildNode(node); } - if (input.Headers !== undefined) { - const node = serializeAws_restXmlHeaders(input.Headers, context).withName("Headers"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -11174,25 +12233,21 @@ const serializeAws_restXmlOriginRequestPolicyQueryStringsConfig = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("OriginRequestPolicyQueryStringsConfig"); - if (input.QueryStrings !== undefined) { - const node = serializeAws_restXmlQueryStringNames(input.QueryStrings, context).withName("QueryStrings"); - bodyNode.addChildNode(node); - } if (input.QueryStringBehavior !== undefined) { const node = new __XmlNode("OriginRequestPolicyQueryStringBehavior") .addChildNode(new __XmlText(input.QueryStringBehavior)) .withName("QueryStringBehavior"); bodyNode.addChildNode(node); } - return bodyNode; -}; + if (input.QueryStrings !== undefined) { + const node = serializeAws_restXmlQueryStringNames(input.QueryStrings, context).withName("QueryStrings"); + bodyNode.addChildNode(node); + } + return bodyNode; +}; const serializeAws_restXmlOrigins = (input: Origins, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Origins"); - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } if (input.Items !== undefined) { const nodes = serializeAws_restXmlOriginList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -11201,15 +12256,15 @@ const serializeAws_restXmlOrigins = (input: Origins, context: __SerdeContext): a }); bodyNode.addChildNode(containerNode); } + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlOriginSslProtocols = (input: OriginSslProtocols, context: __SerdeContext): any => { const bodyNode = new __XmlNode("OriginSslProtocols"); - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } if (input.Items !== undefined) { const nodes = serializeAws_restXmlSslProtocolsList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -11218,6 +12273,10 @@ const serializeAws_restXmlOriginSslProtocols = (input: OriginSslProtocols, conte }); bodyNode.addChildNode(containerNode); } + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -11226,10 +12285,6 @@ const serializeAws_restXmlParametersInCacheKeyAndForwardedToOrigin = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("ParametersInCacheKeyAndForwardedToOrigin"); - if (input.CookiesConfig !== undefined) { - const node = serializeAws_restXmlCachePolicyCookiesConfig(input.CookiesConfig, context).withName("CookiesConfig"); - bodyNode.addChildNode(node); - } if (input.QueryStringsConfig !== undefined) { const node = serializeAws_restXmlCachePolicyQueryStringsConfig(input.QueryStringsConfig, context).withName( "QueryStringsConfig" @@ -11242,10 +12297,20 @@ const serializeAws_restXmlParametersInCacheKeyAndForwardedToOrigin = ( .withName("EnableAcceptEncodingGzip"); bodyNode.addChildNode(node); } + if (input.CookiesConfig !== undefined) { + const node = serializeAws_restXmlCachePolicyCookiesConfig(input.CookiesConfig, context).withName("CookiesConfig"); + bodyNode.addChildNode(node); + } if (input.HeadersConfig !== undefined) { const node = serializeAws_restXmlCachePolicyHeadersConfig(input.HeadersConfig, context).withName("HeadersConfig"); bodyNode.addChildNode(node); } + if (input.EnableAcceptEncodingBrotli !== undefined) { + const node = new __XmlNode("boolean") + .addChildNode(new __XmlText(String(input.EnableAcceptEncodingBrotli))) + .withName("EnableAcceptEncodingBrotli"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -11258,6 +12323,10 @@ const serializeAws_restXmlPathList = (input: string[], context: __SerdeContext): const serializeAws_restXmlPaths = (input: Paths, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Paths"); + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } if (input.Items !== undefined) { const nodes = serializeAws_restXmlPathList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -11266,15 +12335,15 @@ const serializeAws_restXmlPaths = (input: Paths, context: __SerdeContext): any = }); bodyNode.addChildNode(containerNode); } - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } return bodyNode; }; const serializeAws_restXmlPublicKeyConfig = (input: PublicKeyConfig, context: __SerdeContext): any => { const bodyNode = new __XmlNode("PublicKeyConfig"); + if (input.CallerReference !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); + bodyNode.addChildNode(node); + } if (input.Comment !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.Comment)).withName("Comment"); bodyNode.addChildNode(node); @@ -11287,23 +12356,19 @@ const serializeAws_restXmlPublicKeyConfig = (input: PublicKeyConfig, context: __ const node = new __XmlNode("string").addChildNode(new __XmlText(input.Name)).withName("Name"); bodyNode.addChildNode(node); } - if (input.CallerReference !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); - bodyNode.addChildNode(node); - } return bodyNode; }; const serializeAws_restXmlQueryArgProfile = (input: QueryArgProfile, context: __SerdeContext): any => { const bodyNode = new __XmlNode("QueryArgProfile"); - if (input.ProfileId !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.ProfileId)).withName("ProfileId"); - bodyNode.addChildNode(node); - } if (input.QueryArg !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.QueryArg)).withName("QueryArg"); bodyNode.addChildNode(node); } + if (input.ProfileId !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.ProfileId)).withName("ProfileId"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -11331,10 +12396,6 @@ const serializeAws_restXmlQueryArgProfileList = (input: QueryArgProfile[], conte const serializeAws_restXmlQueryArgProfiles = (input: QueryArgProfiles, context: __SerdeContext): any => { const bodyNode = new __XmlNode("QueryArgProfiles"); - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } if (input.Items !== undefined) { const nodes = serializeAws_restXmlQueryArgProfileList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -11343,6 +12404,10 @@ const serializeAws_restXmlQueryArgProfiles = (input: QueryArgProfiles, context: }); bodyNode.addChildNode(containerNode); } + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -11372,6 +12437,10 @@ const serializeAws_restXmlQueryStringCacheKeysList = (input: string[], context: const serializeAws_restXmlQueryStringNames = (input: QueryStringNames, context: __SerdeContext): any => { const bodyNode = new __XmlNode("QueryStringNames"); + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } if (input.Items !== undefined) { const nodes = serializeAws_restXmlQueryStringNamesList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -11380,10 +12449,6 @@ const serializeAws_restXmlQueryStringNames = (input: QueryStringNames, context: }); bodyNode.addChildNode(containerNode); } - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -11394,6 +12459,20 @@ const serializeAws_restXmlQueryStringNamesList = (input: string[], context: __Se }); }; +const serializeAws_restXmlRealtimeMetricsSubscriptionConfig = ( + input: RealtimeMetricsSubscriptionConfig, + context: __SerdeContext +): any => { + const bodyNode = new __XmlNode("RealtimeMetricsSubscriptionConfig"); + if (input.RealtimeMetricsSubscriptionStatus !== undefined) { + const node = new __XmlNode("RealtimeMetricsSubscriptionStatus") + .addChildNode(new __XmlText(input.RealtimeMetricsSubscriptionStatus)) + .withName("RealtimeMetricsSubscriptionStatus"); + bodyNode.addChildNode(node); + } + return bodyNode; +}; + const serializeAws_restXmlRestrictions = (input: Restrictions, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Restrictions"); if (input.GeoRestriction !== undefined) { @@ -11405,16 +12484,16 @@ const serializeAws_restXmlRestrictions = (input: Restrictions, context: __SerdeC const serializeAws_restXmlS3Origin = (input: S3Origin, context: __SerdeContext): any => { const bodyNode = new __XmlNode("S3Origin"); + if (input.DomainName !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.DomainName)).withName("DomainName"); + bodyNode.addChildNode(node); + } if (input.OriginAccessIdentity !== undefined) { const node = new __XmlNode("string") .addChildNode(new __XmlText(input.OriginAccessIdentity)) .withName("OriginAccessIdentity"); bodyNode.addChildNode(node); } - if (input.DomainName !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.DomainName)).withName("DomainName"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -11465,36 +12544,36 @@ const serializeAws_restXmlStreamingDistributionConfig = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("StreamingDistributionConfig"); - if (input.Aliases !== undefined) { - const node = serializeAws_restXmlAliases(input.Aliases, context).withName("Aliases"); - bodyNode.addChildNode(node); - } - if (input.TrustedSigners !== undefined) { - const node = serializeAws_restXmlTrustedSigners(input.TrustedSigners, context).withName("TrustedSigners"); + if (input.S3Origin !== undefined) { + const node = serializeAws_restXmlS3Origin(input.S3Origin, context).withName("S3Origin"); bodyNode.addChildNode(node); } - if (input.CallerReference !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); + if (input.Comment !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Comment)).withName("Comment"); bodyNode.addChildNode(node); } - if (input.Enabled !== undefined) { - const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Enabled))).withName("Enabled"); + if (input.PriceClass !== undefined) { + const node = new __XmlNode("PriceClass").addChildNode(new __XmlText(input.PriceClass)).withName("PriceClass"); bodyNode.addChildNode(node); } if (input.Logging !== undefined) { const node = serializeAws_restXmlStreamingLoggingConfig(input.Logging, context).withName("Logging"); bodyNode.addChildNode(node); } - if (input.S3Origin !== undefined) { - const node = serializeAws_restXmlS3Origin(input.S3Origin, context).withName("S3Origin"); + if (input.Aliases !== undefined) { + const node = serializeAws_restXmlAliases(input.Aliases, context).withName("Aliases"); bodyNode.addChildNode(node); } - if (input.PriceClass !== undefined) { - const node = new __XmlNode("PriceClass").addChildNode(new __XmlText(input.PriceClass)).withName("PriceClass"); + if (input.TrustedSigners !== undefined) { + const node = serializeAws_restXmlTrustedSigners(input.TrustedSigners, context).withName("TrustedSigners"); bodyNode.addChildNode(node); } - if (input.Comment !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.Comment)).withName("Comment"); + if (input.CallerReference !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.CallerReference)).withName("CallerReference"); + bodyNode.addChildNode(node); + } + if (input.Enabled !== undefined) { + const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Enabled))).withName("Enabled"); bodyNode.addChildNode(node); } return bodyNode; @@ -11520,10 +12599,6 @@ const serializeAws_restXmlStreamingDistributionConfigWithTags = ( const serializeAws_restXmlStreamingLoggingConfig = (input: StreamingLoggingConfig, context: __SerdeContext): any => { const bodyNode = new __XmlNode("StreamingLoggingConfig"); - if (input.Prefix !== undefined) { - const node = new __XmlNode("string").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); - bodyNode.addChildNode(node); - } if (input.Bucket !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); bodyNode.addChildNode(node); @@ -11532,6 +12607,10 @@ const serializeAws_restXmlStreamingLoggingConfig = (input: StreamingLoggingConfi const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Enabled))).withName("Enabled"); bodyNode.addChildNode(node); } + if (input.Prefix !== undefined) { + const node = new __XmlNode("string").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -11590,14 +12669,6 @@ const serializeAws_restXmlTags = (input: Tags, context: __SerdeContext): any => const serializeAws_restXmlTrustedSigners = (input: TrustedSigners, context: __SerdeContext): any => { const bodyNode = new __XmlNode("TrustedSigners"); - if (input.Enabled !== undefined) { - const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Enabled))).withName("Enabled"); - bodyNode.addChildNode(node); - } - if (input.Quantity !== undefined) { - const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); - bodyNode.addChildNode(node); - } if (input.Items !== undefined) { const nodes = serializeAws_restXmlAwsAccountNumberList(input.Items, context); const containerNode = new __XmlNode("Items"); @@ -11606,11 +12677,37 @@ const serializeAws_restXmlTrustedSigners = (input: TrustedSigners, context: __Se }); bodyNode.addChildNode(containerNode); } + if (input.Quantity !== undefined) { + const node = new __XmlNode("integer").addChildNode(new __XmlText(String(input.Quantity))).withName("Quantity"); + bodyNode.addChildNode(node); + } + if (input.Enabled !== undefined) { + const node = new __XmlNode("boolean").addChildNode(new __XmlText(String(input.Enabled))).withName("Enabled"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlViewerCertificate = (input: ViewerCertificate, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ViewerCertificate"); + if (input.ACMCertificateArn !== undefined) { + const node = new __XmlNode("string") + .addChildNode(new __XmlText(input.ACMCertificateArn)) + .withName("ACMCertificateArn"); + bodyNode.addChildNode(node); + } + if (input.MinimumProtocolVersion !== undefined) { + const node = new __XmlNode("MinimumProtocolVersion") + .addChildNode(new __XmlText(input.MinimumProtocolVersion)) + .withName("MinimumProtocolVersion"); + bodyNode.addChildNode(node); + } + if (input.CloudFrontDefaultCertificate !== undefined) { + const node = new __XmlNode("boolean") + .addChildNode(new __XmlText(String(input.CloudFrontDefaultCertificate))) + .withName("CloudFrontDefaultCertificate"); + bodyNode.addChildNode(node); + } if (input.Certificate !== undefined) { const node = new __XmlNode("string").addChildNode(new __XmlText(input.Certificate)).withName("Certificate"); bodyNode.addChildNode(node); @@ -11633,42 +12730,24 @@ const serializeAws_restXmlViewerCertificate = (input: ViewerCertificate, context .withName("IAMCertificateId"); bodyNode.addChildNode(node); } - if (input.ACMCertificateArn !== undefined) { - const node = new __XmlNode("string") - .addChildNode(new __XmlText(input.ACMCertificateArn)) - .withName("ACMCertificateArn"); - bodyNode.addChildNode(node); - } - if (input.CloudFrontDefaultCertificate !== undefined) { - const node = new __XmlNode("boolean") - .addChildNode(new __XmlText(String(input.CloudFrontDefaultCertificate))) - .withName("CloudFrontDefaultCertificate"); - bodyNode.addChildNode(node); - } - if (input.MinimumProtocolVersion !== undefined) { - const node = new __XmlNode("MinimumProtocolVersion") - .addChildNode(new __XmlText(input.MinimumProtocolVersion)) - .withName("MinimumProtocolVersion"); - bodyNode.addChildNode(node); - } return bodyNode; }; const deserializeAws_restXmlActiveTrustedSigners = (output: any, context: __SerdeContext): ActiveTrustedSigners => { let contents: any = { - Enabled: undefined, Items: undefined, + Enabled: undefined, Quantity: undefined, }; - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; - } if (output.Items === "") { contents.Items = []; } if (output["Items"] !== undefined && output["Items"]["Signer"] !== undefined) { contents.Items = deserializeAws_restXmlSignerList(__getArrayIfSingleItem(output["Items"]["Signer"]), context); } + if (output["Enabled"] !== undefined) { + contents.Enabled = output["Enabled"] == "true"; + } if (output["Quantity"] !== undefined) { contents.Quantity = parseInt(output["Quantity"]); } @@ -11717,21 +12796,21 @@ const deserializeAws_restXmlAliasList = (output: any, context: __SerdeContext): const deserializeAws_restXmlAllowedMethods = (output: any, context: __SerdeContext): AllowedMethods => { let contents: any = { Quantity: undefined, - CachedMethods: undefined, Items: undefined, + CachedMethods: undefined, }; if (output["Quantity"] !== undefined) { contents.Quantity = parseInt(output["Quantity"]); } - if (output["CachedMethods"] !== undefined) { - contents.CachedMethods = deserializeAws_restXmlCachedMethods(output["CachedMethods"], context); - } if (output.Items === "") { contents.Items = []; } if (output["Items"] !== undefined && output["Items"]["Method"] !== undefined) { contents.Items = deserializeAws_restXmlMethodsList(__getArrayIfSingleItem(output["Items"]["Method"]), context); } + if (output["CachedMethods"] !== undefined) { + contents.CachedMethods = deserializeAws_restXmlCachedMethods(output["CachedMethods"], context); + } return contents; }; @@ -11741,63 +12820,37 @@ const deserializeAws_restXmlAwsAccountNumberList = (output: any, context: __Serd const deserializeAws_restXmlCacheBehavior = (output: any, context: __SerdeContext): CacheBehavior => { let contents: any = { - DefaultTTL: undefined, - OriginRequestPolicyId: undefined, - ForwardedValues: undefined, - FieldLevelEncryptionId: undefined, + PathPattern: undefined, SmoothStreaming: undefined, - MinTTL: undefined, - ViewerProtocolPolicy: undefined, MaxTTL: undefined, - TrustedSigners: undefined, - AllowedMethods: undefined, - TargetOriginId: undefined, - Compress: undefined, CachePolicyId: undefined, - PathPattern: undefined, + ForwardedValues: undefined, LambdaFunctionAssociations: undefined, + OriginRequestPolicyId: undefined, + AllowedMethods: undefined, + ViewerProtocolPolicy: undefined, + Compress: undefined, + TargetOriginId: undefined, + FieldLevelEncryptionId: undefined, + MinTTL: undefined, + RealtimeLogConfigArn: undefined, + TrustedSigners: undefined, + DefaultTTL: undefined, }; - if (output["DefaultTTL"] !== undefined) { - contents.DefaultTTL = parseInt(output["DefaultTTL"]); - } - if (output["OriginRequestPolicyId"] !== undefined) { - contents.OriginRequestPolicyId = output["OriginRequestPolicyId"]; - } - if (output["ForwardedValues"] !== undefined) { - contents.ForwardedValues = deserializeAws_restXmlForwardedValues(output["ForwardedValues"], context); - } - if (output["FieldLevelEncryptionId"] !== undefined) { - contents.FieldLevelEncryptionId = output["FieldLevelEncryptionId"]; + if (output["PathPattern"] !== undefined) { + contents.PathPattern = output["PathPattern"]; } if (output["SmoothStreaming"] !== undefined) { contents.SmoothStreaming = output["SmoothStreaming"] == "true"; } - if (output["MinTTL"] !== undefined) { - contents.MinTTL = parseInt(output["MinTTL"]); - } - if (output["ViewerProtocolPolicy"] !== undefined) { - contents.ViewerProtocolPolicy = output["ViewerProtocolPolicy"]; - } if (output["MaxTTL"] !== undefined) { contents.MaxTTL = parseInt(output["MaxTTL"]); } - if (output["TrustedSigners"] !== undefined) { - contents.TrustedSigners = deserializeAws_restXmlTrustedSigners(output["TrustedSigners"], context); - } - if (output["AllowedMethods"] !== undefined) { - contents.AllowedMethods = deserializeAws_restXmlAllowedMethods(output["AllowedMethods"], context); - } - if (output["TargetOriginId"] !== undefined) { - contents.TargetOriginId = output["TargetOriginId"]; - } - if (output["Compress"] !== undefined) { - contents.Compress = output["Compress"] == "true"; - } if (output["CachePolicyId"] !== undefined) { contents.CachePolicyId = output["CachePolicyId"]; } - if (output["PathPattern"] !== undefined) { - contents.PathPattern = output["PathPattern"]; + if (output["ForwardedValues"] !== undefined) { + contents.ForwardedValues = deserializeAws_restXmlForwardedValues(output["ForwardedValues"], context); } if (output["LambdaFunctionAssociations"] !== undefined) { contents.LambdaFunctionAssociations = deserializeAws_restXmlLambdaFunctionAssociations( @@ -11805,18 +12858,51 @@ const deserializeAws_restXmlCacheBehavior = (output: any, context: __SerdeContex context ); } - return contents; -}; - + if (output["OriginRequestPolicyId"] !== undefined) { + contents.OriginRequestPolicyId = output["OriginRequestPolicyId"]; + } + if (output["AllowedMethods"] !== undefined) { + contents.AllowedMethods = deserializeAws_restXmlAllowedMethods(output["AllowedMethods"], context); + } + if (output["ViewerProtocolPolicy"] !== undefined) { + contents.ViewerProtocolPolicy = output["ViewerProtocolPolicy"]; + } + if (output["Compress"] !== undefined) { + contents.Compress = output["Compress"] == "true"; + } + if (output["TargetOriginId"] !== undefined) { + contents.TargetOriginId = output["TargetOriginId"]; + } + if (output["FieldLevelEncryptionId"] !== undefined) { + contents.FieldLevelEncryptionId = output["FieldLevelEncryptionId"]; + } + if (output["MinTTL"] !== undefined) { + contents.MinTTL = parseInt(output["MinTTL"]); + } + if (output["RealtimeLogConfigArn"] !== undefined) { + contents.RealtimeLogConfigArn = output["RealtimeLogConfigArn"]; + } + if (output["TrustedSigners"] !== undefined) { + contents.TrustedSigners = deserializeAws_restXmlTrustedSigners(output["TrustedSigners"], context); + } + if (output["DefaultTTL"] !== undefined) { + contents.DefaultTTL = parseInt(output["DefaultTTL"]); + } + return contents; +}; + const deserializeAws_restXmlCacheBehaviorList = (output: any, context: __SerdeContext): CacheBehavior[] => { return (output || []).map((entry: any) => deserializeAws_restXmlCacheBehavior(entry, context)); }; const deserializeAws_restXmlCacheBehaviors = (output: any, context: __SerdeContext): CacheBehaviors => { let contents: any = { - Items: undefined, Quantity: undefined, + Items: undefined, }; + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } if (output.Items === "") { contents.Items = []; } @@ -11826,77 +12912,74 @@ const deserializeAws_restXmlCacheBehaviors = (output: any, context: __SerdeConte context ); } - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } return contents; }; const deserializeAws_restXmlCachedMethods = (output: any, context: __SerdeContext): CachedMethods => { let contents: any = { - Quantity: undefined, Items: undefined, + Quantity: undefined, }; - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } if (output.Items === "") { contents.Items = []; } if (output["Items"] !== undefined && output["Items"]["Method"] !== undefined) { contents.Items = deserializeAws_restXmlMethodsList(__getArrayIfSingleItem(output["Items"]["Method"]), context); } + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } return contents; }; const deserializeAws_restXmlCachePolicy = (output: any, context: __SerdeContext): CachePolicy => { let contents: any = { - LastModifiedTime: undefined, Id: undefined, CachePolicyConfig: undefined, + LastModifiedTime: undefined, }; - if (output["LastModifiedTime"] !== undefined) { - contents.LastModifiedTime = new Date(output["LastModifiedTime"]); - } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } if (output["CachePolicyConfig"] !== undefined) { contents.CachePolicyConfig = deserializeAws_restXmlCachePolicyConfig(output["CachePolicyConfig"], context); } + if (output["LastModifiedTime"] !== undefined) { + contents.LastModifiedTime = new Date(output["LastModifiedTime"]); + } return contents; }; const deserializeAws_restXmlCachePolicyConfig = (output: any, context: __SerdeContext): CachePolicyConfig => { let contents: any = { - MinTTL: undefined, - MaxTTL: undefined, - Comment: undefined, - Name: undefined, ParametersInCacheKeyAndForwardedToOrigin: undefined, + Name: undefined, DefaultTTL: undefined, + Comment: undefined, + MinTTL: undefined, + MaxTTL: undefined, }; - if (output["MinTTL"] !== undefined) { - contents.MinTTL = parseInt(output["MinTTL"]); - } - if (output["MaxTTL"] !== undefined) { - contents.MaxTTL = parseInt(output["MaxTTL"]); - } - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; - } - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } if (output["ParametersInCacheKeyAndForwardedToOrigin"] !== undefined) { contents.ParametersInCacheKeyAndForwardedToOrigin = deserializeAws_restXmlParametersInCacheKeyAndForwardedToOrigin( output["ParametersInCacheKeyAndForwardedToOrigin"], context ); } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } if (output["DefaultTTL"] !== undefined) { contents.DefaultTTL = parseInt(output["DefaultTTL"]); } + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; + } + if (output["MinTTL"] !== undefined) { + contents.MinTTL = parseInt(output["MinTTL"]); + } + if (output["MaxTTL"] !== undefined) { + contents.MaxTTL = parseInt(output["MaxTTL"]); + } return contents; }; @@ -11905,15 +12988,15 @@ const deserializeAws_restXmlCachePolicyCookiesConfig = ( context: __SerdeContext ): CachePolicyCookiesConfig => { let contents: any = { - CookieBehavior: undefined, Cookies: undefined, + CookieBehavior: undefined, }; - if (output["CookieBehavior"] !== undefined) { - contents.CookieBehavior = output["CookieBehavior"]; - } if (output["Cookies"] !== undefined) { contents.Cookies = deserializeAws_restXmlCookieNames(output["Cookies"], context); } + if (output["CookieBehavior"] !== undefined) { + contents.CookieBehavior = output["CookieBehavior"]; + } return contents; }; @@ -11936,20 +13019,14 @@ const deserializeAws_restXmlCachePolicyHeadersConfig = ( const deserializeAws_restXmlCachePolicyList = (output: any, context: __SerdeContext): CachePolicyList => { let contents: any = { - NextMarker: undefined, Quantity: undefined, - MaxItems: undefined, Items: undefined, + MaxItems: undefined, + NextMarker: undefined, }; - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; - } if (output["Quantity"] !== undefined) { contents.Quantity = parseInt(output["Quantity"]); } - if (output["MaxItems"] !== undefined) { - contents.MaxItems = parseInt(output["MaxItems"]); - } if (output.Items === "") { contents.Items = []; } @@ -11959,6 +13036,12 @@ const deserializeAws_restXmlCachePolicyList = (output: any, context: __SerdeCont context ); } + if (output["MaxItems"] !== undefined) { + contents.MaxItems = parseInt(output["MaxItems"]); + } + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; + } return contents; }; @@ -11967,29 +13050,29 @@ const deserializeAws_restXmlCachePolicyQueryStringsConfig = ( context: __SerdeContext ): CachePolicyQueryStringsConfig => { let contents: any = { - QueryStrings: undefined, QueryStringBehavior: undefined, + QueryStrings: undefined, }; - if (output["QueryStrings"] !== undefined) { - contents.QueryStrings = deserializeAws_restXmlQueryStringNames(output["QueryStrings"], context); - } if (output["QueryStringBehavior"] !== undefined) { contents.QueryStringBehavior = output["QueryStringBehavior"]; } + if (output["QueryStrings"] !== undefined) { + contents.QueryStrings = deserializeAws_restXmlQueryStringNames(output["QueryStrings"], context); + } return contents; }; const deserializeAws_restXmlCachePolicySummary = (output: any, context: __SerdeContext): CachePolicySummary => { let contents: any = { - Type: undefined, CachePolicy: undefined, + Type: undefined, }; - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; - } if (output["CachePolicy"] !== undefined) { contents.CachePolicy = deserializeAws_restXmlCachePolicy(output["CachePolicy"], context); } + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; + } return contents; }; @@ -12002,12 +13085,12 @@ const deserializeAws_restXmlCloudFrontOriginAccessIdentity = ( context: __SerdeContext ): CloudFrontOriginAccessIdentity => { let contents: any = { - Id: undefined, - CloudFrontOriginAccessIdentityConfig: undefined, S3CanonicalUserId: undefined, + CloudFrontOriginAccessIdentityConfig: undefined, + Id: undefined, }; - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; + if (output["S3CanonicalUserId"] !== undefined) { + contents.S3CanonicalUserId = output["S3CanonicalUserId"]; } if (output["CloudFrontOriginAccessIdentityConfig"] !== undefined) { contents.CloudFrontOriginAccessIdentityConfig = deserializeAws_restXmlCloudFrontOriginAccessIdentityConfig( @@ -12015,8 +13098,8 @@ const deserializeAws_restXmlCloudFrontOriginAccessIdentity = ( context ); } - if (output["S3CanonicalUserId"] !== undefined) { - contents.S3CanonicalUserId = output["S3CanonicalUserId"]; + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; } return contents; }; @@ -12026,15 +13109,15 @@ const deserializeAws_restXmlCloudFrontOriginAccessIdentityConfig = ( context: __SerdeContext ): CloudFrontOriginAccessIdentityConfig => { let contents: any = { - Comment: undefined, CallerReference: undefined, + Comment: undefined, }; - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; - } if (output["CallerReference"] !== undefined) { contents.CallerReference = output["CallerReference"]; } + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; + } return contents; }; @@ -12043,15 +13126,15 @@ const deserializeAws_restXmlCloudFrontOriginAccessIdentityList = ( context: __SerdeContext ): CloudFrontOriginAccessIdentityList => { let contents: any = { - MaxItems: undefined, + NextMarker: undefined, Items: undefined, IsTruncated: undefined, - Marker: undefined, + MaxItems: undefined, Quantity: undefined, - NextMarker: undefined, + Marker: undefined, }; - if (output["MaxItems"] !== undefined) { - contents.MaxItems = parseInt(output["MaxItems"]); + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; } if (output.Items === "") { contents.Items = []; @@ -12065,14 +13148,14 @@ const deserializeAws_restXmlCloudFrontOriginAccessIdentityList = ( if (output["IsTruncated"] !== undefined) { contents.IsTruncated = output["IsTruncated"] == "true"; } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; + if (output["MaxItems"] !== undefined) { + contents.MaxItems = parseInt(output["MaxItems"]); } if (output["Quantity"] !== undefined) { contents.Quantity = parseInt(output["Quantity"]); } - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; } return contents; }; @@ -12109,18 +13192,18 @@ const deserializeAws_restXmlCloudFrontOriginAccessIdentitySummaryList = ( const deserializeAws_restXmlContentTypeProfile = (output: any, context: __SerdeContext): ContentTypeProfile => { let contents: any = { - ContentType: undefined, - ProfileId: undefined, Format: undefined, + ProfileId: undefined, + ContentType: undefined, }; - if (output["ContentType"] !== undefined) { - contents.ContentType = output["ContentType"]; + if (output["Format"] !== undefined) { + contents.Format = output["Format"]; } if (output["ProfileId"] !== undefined) { contents.ProfileId = output["ProfileId"]; } - if (output["Format"] !== undefined) { - contents.Format = output["Format"]; + if (output["ContentType"] !== undefined) { + contents.ContentType = output["ContentType"]; } return contents; }; @@ -12148,9 +13231,12 @@ const deserializeAws_restXmlContentTypeProfileList = (output: any, context: __Se const deserializeAws_restXmlContentTypeProfiles = (output: any, context: __SerdeContext): ContentTypeProfiles => { let contents: any = { - Items: undefined, Quantity: undefined, + Items: undefined, }; + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } if (output.Items === "") { contents.Items = []; } @@ -12160,9 +13246,6 @@ const deserializeAws_restXmlContentTypeProfiles = (output: any, context: __Serde context ); } - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } return contents; }; @@ -12172,54 +13255,54 @@ const deserializeAws_restXmlCookieNameList = (output: any, context: __SerdeConte const deserializeAws_restXmlCookieNames = (output: any, context: __SerdeContext): CookieNames => { let contents: any = { - Quantity: undefined, Items: undefined, + Quantity: undefined, }; - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } if (output.Items === "") { contents.Items = []; } if (output["Items"] !== undefined && output["Items"]["Name"] !== undefined) { contents.Items = deserializeAws_restXmlCookieNameList(__getArrayIfSingleItem(output["Items"]["Name"]), context); } + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } return contents; }; const deserializeAws_restXmlCookiePreference = (output: any, context: __SerdeContext): CookiePreference => { let contents: any = { - Forward: undefined, WhitelistedNames: undefined, + Forward: undefined, }; - if (output["Forward"] !== undefined) { - contents.Forward = output["Forward"]; - } if (output["WhitelistedNames"] !== undefined) { contents.WhitelistedNames = deserializeAws_restXmlCookieNames(output["WhitelistedNames"], context); } + if (output["Forward"] !== undefined) { + contents.Forward = output["Forward"]; + } return contents; }; const deserializeAws_restXmlCustomErrorResponse = (output: any, context: __SerdeContext): CustomErrorResponse => { let contents: any = { - ErrorCode: undefined, - ErrorCachingMinTTL: undefined, ResponseCode: undefined, + ErrorCode: undefined, ResponsePagePath: undefined, + ErrorCachingMinTTL: undefined, }; - if (output["ErrorCode"] !== undefined) { - contents.ErrorCode = parseInt(output["ErrorCode"]); - } - if (output["ErrorCachingMinTTL"] !== undefined) { - contents.ErrorCachingMinTTL = parseInt(output["ErrorCachingMinTTL"]); - } if (output["ResponseCode"] !== undefined) { contents.ResponseCode = output["ResponseCode"]; } + if (output["ErrorCode"] !== undefined) { + contents.ErrorCode = parseInt(output["ErrorCode"]); + } if (output["ResponsePagePath"] !== undefined) { contents.ResponsePagePath = output["ResponsePagePath"]; } + if (output["ErrorCachingMinTTL"] !== undefined) { + contents.ErrorCachingMinTTL = parseInt(output["ErrorCachingMinTTL"]); + } return contents; }; @@ -12229,12 +13312,9 @@ const deserializeAws_restXmlCustomErrorResponseList = (output: any, context: __S const deserializeAws_restXmlCustomErrorResponses = (output: any, context: __SerdeContext): CustomErrorResponses => { let contents: any = { - Quantity: undefined, Items: undefined, + Quantity: undefined, }; - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } if (output.Items === "") { contents.Items = []; } @@ -12244,6 +13324,9 @@ const deserializeAws_restXmlCustomErrorResponses = (output: any, context: __Serd context ); } + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } return contents; }; @@ -12269,25 +13352,25 @@ const deserializeAws_restXmlCustomHeaders = (output: any, context: __SerdeContex const deserializeAws_restXmlCustomOriginConfig = (output: any, context: __SerdeContext): CustomOriginConfig => { let contents: any = { - OriginProtocolPolicy: undefined, - HTTPPort: undefined, HTTPSPort: undefined, + HTTPPort: undefined, OriginKeepaliveTimeout: undefined, + OriginProtocolPolicy: undefined, OriginSslProtocols: undefined, OriginReadTimeout: undefined, }; - if (output["OriginProtocolPolicy"] !== undefined) { - contents.OriginProtocolPolicy = output["OriginProtocolPolicy"]; + if (output["HTTPSPort"] !== undefined) { + contents.HTTPSPort = parseInt(output["HTTPSPort"]); } if (output["HTTPPort"] !== undefined) { contents.HTTPPort = parseInt(output["HTTPPort"]); } - if (output["HTTPSPort"] !== undefined) { - contents.HTTPSPort = parseInt(output["HTTPSPort"]); - } if (output["OriginKeepaliveTimeout"] !== undefined) { contents.OriginKeepaliveTimeout = parseInt(output["OriginKeepaliveTimeout"]); } + if (output["OriginProtocolPolicy"] !== undefined) { + contents.OriginProtocolPolicy = output["OriginProtocolPolicy"]; + } if (output["OriginSslProtocols"] !== undefined) { contents.OriginSslProtocols = deserializeAws_restXmlOriginSslProtocols(output["OriginSslProtocols"], context); } @@ -12299,38 +13382,48 @@ const deserializeAws_restXmlCustomOriginConfig = (output: any, context: __SerdeC const deserializeAws_restXmlDefaultCacheBehavior = (output: any, context: __SerdeContext): DefaultCacheBehavior => { let contents: any = { - CachePolicyId: undefined, + OriginRequestPolicyId: undefined, + FieldLevelEncryptionId: undefined, + ViewerProtocolPolicy: undefined, + DefaultTTL: undefined, + MaxTTL: undefined, + SmoothStreaming: undefined, TrustedSigners: undefined, + RealtimeLogConfigArn: undefined, MinTTL: undefined, - MaxTTL: undefined, - Compress: undefined, - AllowedMethods: undefined, LambdaFunctionAssociations: undefined, - OriginRequestPolicyId: undefined, + CachePolicyId: undefined, TargetOriginId: undefined, ForwardedValues: undefined, - DefaultTTL: undefined, - FieldLevelEncryptionId: undefined, - ViewerProtocolPolicy: undefined, - SmoothStreaming: undefined, - }; - if (output["CachePolicyId"] !== undefined) { - contents.CachePolicyId = output["CachePolicyId"]; + Compress: undefined, + AllowedMethods: undefined, + }; + if (output["OriginRequestPolicyId"] !== undefined) { + contents.OriginRequestPolicyId = output["OriginRequestPolicyId"]; } - if (output["TrustedSigners"] !== undefined) { - contents.TrustedSigners = deserializeAws_restXmlTrustedSigners(output["TrustedSigners"], context); + if (output["FieldLevelEncryptionId"] !== undefined) { + contents.FieldLevelEncryptionId = output["FieldLevelEncryptionId"]; } - if (output["MinTTL"] !== undefined) { - contents.MinTTL = parseInt(output["MinTTL"]); + if (output["ViewerProtocolPolicy"] !== undefined) { + contents.ViewerProtocolPolicy = output["ViewerProtocolPolicy"]; + } + if (output["DefaultTTL"] !== undefined) { + contents.DefaultTTL = parseInt(output["DefaultTTL"]); } if (output["MaxTTL"] !== undefined) { contents.MaxTTL = parseInt(output["MaxTTL"]); } - if (output["Compress"] !== undefined) { - contents.Compress = output["Compress"] == "true"; + if (output["SmoothStreaming"] !== undefined) { + contents.SmoothStreaming = output["SmoothStreaming"] == "true"; } - if (output["AllowedMethods"] !== undefined) { - contents.AllowedMethods = deserializeAws_restXmlAllowedMethods(output["AllowedMethods"], context); + if (output["TrustedSigners"] !== undefined) { + contents.TrustedSigners = deserializeAws_restXmlTrustedSigners(output["TrustedSigners"], context); + } + if (output["RealtimeLogConfigArn"] !== undefined) { + contents.RealtimeLogConfigArn = output["RealtimeLogConfigArn"]; + } + if (output["MinTTL"] !== undefined) { + contents.MinTTL = parseInt(output["MinTTL"]); } if (output["LambdaFunctionAssociations"] !== undefined) { contents.LambdaFunctionAssociations = deserializeAws_restXmlLambdaFunctionAssociations( @@ -12338,8 +13431,8 @@ const deserializeAws_restXmlDefaultCacheBehavior = (output: any, context: __Serd context ); } - if (output["OriginRequestPolicyId"] !== undefined) { - contents.OriginRequestPolicyId = output["OriginRequestPolicyId"]; + if (output["CachePolicyId"] !== undefined) { + contents.CachePolicyId = output["CachePolicyId"]; } if (output["TargetOriginId"] !== undefined) { contents.TargetOriginId = output["TargetOriginId"]; @@ -12347,41 +13440,29 @@ const deserializeAws_restXmlDefaultCacheBehavior = (output: any, context: __Serd if (output["ForwardedValues"] !== undefined) { contents.ForwardedValues = deserializeAws_restXmlForwardedValues(output["ForwardedValues"], context); } - if (output["DefaultTTL"] !== undefined) { - contents.DefaultTTL = parseInt(output["DefaultTTL"]); - } - if (output["FieldLevelEncryptionId"] !== undefined) { - contents.FieldLevelEncryptionId = output["FieldLevelEncryptionId"]; - } - if (output["ViewerProtocolPolicy"] !== undefined) { - contents.ViewerProtocolPolicy = output["ViewerProtocolPolicy"]; + if (output["Compress"] !== undefined) { + contents.Compress = output["Compress"] == "true"; } - if (output["SmoothStreaming"] !== undefined) { - contents.SmoothStreaming = output["SmoothStreaming"] == "true"; + if (output["AllowedMethods"] !== undefined) { + contents.AllowedMethods = deserializeAws_restXmlAllowedMethods(output["AllowedMethods"], context); } return contents; }; const deserializeAws_restXmlDistribution = (output: any, context: __SerdeContext): Distribution => { let contents: any = { - DomainName: undefined, - LastModifiedTime: undefined, - ActiveTrustedSigners: undefined, + Status: undefined, InProgressInvalidationBatches: undefined, AliasICPRecordals: undefined, - ARN: undefined, + ActiveTrustedSigners: undefined, Id: undefined, - Status: undefined, + DomainName: undefined, + ARN: undefined, DistributionConfig: undefined, + LastModifiedTime: undefined, }; - if (output["DomainName"] !== undefined) { - contents.DomainName = output["DomainName"]; - } - if (output["LastModifiedTime"] !== undefined) { - contents.LastModifiedTime = new Date(output["LastModifiedTime"]); - } - if (output["ActiveTrustedSigners"] !== undefined) { - contents.ActiveTrustedSigners = deserializeAws_restXmlActiveTrustedSigners(output["ActiveTrustedSigners"], context); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["InProgressInvalidationBatches"] !== undefined) { contents.InProgressInvalidationBatches = parseInt(output["InProgressInvalidationBatches"]); @@ -12395,82 +13476,88 @@ const deserializeAws_restXmlDistribution = (output: any, context: __SerdeContext context ); } - if (output["ARN"] !== undefined) { - contents.ARN = output["ARN"]; + if (output["ActiveTrustedSigners"] !== undefined) { + contents.ActiveTrustedSigners = deserializeAws_restXmlActiveTrustedSigners(output["ActiveTrustedSigners"], context); } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["DomainName"] !== undefined) { + contents.DomainName = output["DomainName"]; + } + if (output["ARN"] !== undefined) { + contents.ARN = output["ARN"]; } if (output["DistributionConfig"] !== undefined) { contents.DistributionConfig = deserializeAws_restXmlDistributionConfig(output["DistributionConfig"], context); } + if (output["LastModifiedTime"] !== undefined) { + contents.LastModifiedTime = new Date(output["LastModifiedTime"]); + } return contents; }; const deserializeAws_restXmlDistributionConfig = (output: any, context: __SerdeContext): DistributionConfig => { let contents: any = { - ViewerCertificate: undefined, - Origins: undefined, - Logging: undefined, - Comment: undefined, - DefaultRootObject: undefined, - HttpVersion: undefined, - PriceClass: undefined, - CacheBehaviors: undefined, + Restrictions: undefined, WebACLId: undefined, - Aliases: undefined, + HttpVersion: undefined, + DefaultRootObject: undefined, CustomErrorResponses: undefined, OriginGroups: undefined, - Restrictions: undefined, + Logging: undefined, + CacheBehaviors: undefined, + Comment: undefined, + Origins: undefined, Enabled: undefined, + ViewerCertificate: undefined, + IsIPV6Enabled: undefined, + PriceClass: undefined, DefaultCacheBehavior: undefined, CallerReference: undefined, - IsIPV6Enabled: undefined, + Aliases: undefined, }; - if (output["ViewerCertificate"] !== undefined) { - contents.ViewerCertificate = deserializeAws_restXmlViewerCertificate(output["ViewerCertificate"], context); - } - if (output["Origins"] !== undefined) { - contents.Origins = deserializeAws_restXmlOrigins(output["Origins"], context); + if (output["Restrictions"] !== undefined) { + contents.Restrictions = deserializeAws_restXmlRestrictions(output["Restrictions"], context); } - if (output["Logging"] !== undefined) { - contents.Logging = deserializeAws_restXmlLoggingConfig(output["Logging"], context); + if (output["WebACLId"] !== undefined) { + contents.WebACLId = output["WebACLId"]; } - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; + if (output["HttpVersion"] !== undefined) { + contents.HttpVersion = output["HttpVersion"]; } if (output["DefaultRootObject"] !== undefined) { contents.DefaultRootObject = output["DefaultRootObject"]; } - if (output["HttpVersion"] !== undefined) { - contents.HttpVersion = output["HttpVersion"]; + if (output["CustomErrorResponses"] !== undefined) { + contents.CustomErrorResponses = deserializeAws_restXmlCustomErrorResponses(output["CustomErrorResponses"], context); } - if (output["PriceClass"] !== undefined) { - contents.PriceClass = output["PriceClass"]; + if (output["OriginGroups"] !== undefined) { + contents.OriginGroups = deserializeAws_restXmlOriginGroups(output["OriginGroups"], context); + } + if (output["Logging"] !== undefined) { + contents.Logging = deserializeAws_restXmlLoggingConfig(output["Logging"], context); } if (output["CacheBehaviors"] !== undefined) { contents.CacheBehaviors = deserializeAws_restXmlCacheBehaviors(output["CacheBehaviors"], context); } - if (output["WebACLId"] !== undefined) { - contents.WebACLId = output["WebACLId"]; + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; } - if (output["Aliases"] !== undefined) { - contents.Aliases = deserializeAws_restXmlAliases(output["Aliases"], context); + if (output["Origins"] !== undefined) { + contents.Origins = deserializeAws_restXmlOrigins(output["Origins"], context); } - if (output["CustomErrorResponses"] !== undefined) { - contents.CustomErrorResponses = deserializeAws_restXmlCustomErrorResponses(output["CustomErrorResponses"], context); + if (output["Enabled"] !== undefined) { + contents.Enabled = output["Enabled"] == "true"; } - if (output["OriginGroups"] !== undefined) { - contents.OriginGroups = deserializeAws_restXmlOriginGroups(output["OriginGroups"], context); + if (output["ViewerCertificate"] !== undefined) { + contents.ViewerCertificate = deserializeAws_restXmlViewerCertificate(output["ViewerCertificate"], context); } - if (output["Restrictions"] !== undefined) { - contents.Restrictions = deserializeAws_restXmlRestrictions(output["Restrictions"], context); + if (output["IsIPV6Enabled"] !== undefined) { + contents.IsIPV6Enabled = output["IsIPV6Enabled"] == "true"; } - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; + if (output["PriceClass"] !== undefined) { + contents.PriceClass = output["PriceClass"]; } if (output["DefaultCacheBehavior"] !== undefined) { contents.DefaultCacheBehavior = deserializeAws_restXmlDefaultCacheBehavior(output["DefaultCacheBehavior"], context); @@ -12478,26 +13565,26 @@ const deserializeAws_restXmlDistributionConfig = (output: any, context: __SerdeC if (output["CallerReference"] !== undefined) { contents.CallerReference = output["CallerReference"]; } - if (output["IsIPV6Enabled"] !== undefined) { - contents.IsIPV6Enabled = output["IsIPV6Enabled"] == "true"; + if (output["Aliases"] !== undefined) { + contents.Aliases = deserializeAws_restXmlAliases(output["Aliases"], context); } return contents; }; const deserializeAws_restXmlDistributionIdList = (output: any, context: __SerdeContext): DistributionIdList => { let contents: any = { - Quantity: undefined, - NextMarker: undefined, + MaxItems: undefined, + IsTruncated: undefined, Items: undefined, Marker: undefined, - IsTruncated: undefined, - MaxItems: undefined, + Quantity: undefined, + NextMarker: undefined, }; - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); + if (output["MaxItems"] !== undefined) { + contents.MaxItems = parseInt(output["MaxItems"]); } - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; } if (output.Items === "") { contents.Items = []; @@ -12511,11 +13598,11 @@ const deserializeAws_restXmlDistributionIdList = (output: any, context: __SerdeC if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); } - if (output["MaxItems"] !== undefined) { - contents.MaxItems = parseInt(output["MaxItems"]); + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; } return contents; }; @@ -12526,18 +13613,15 @@ const deserializeAws_restXmlDistributionIdListSummary = (output: any, context: _ const deserializeAws_restXmlDistributionList = (output: any, context: __SerdeContext): DistributionList => { let contents: any = { - MaxItems: undefined, - IsTruncated: undefined, - Items: undefined, NextMarker: undefined, + Items: undefined, + IsTruncated: undefined, Marker: undefined, + MaxItems: undefined, Quantity: undefined, }; - if (output["MaxItems"] !== undefined) { - contents.MaxItems = parseInt(output["MaxItems"]); - } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; } if (output.Items === "") { contents.Items = []; @@ -12548,12 +13632,15 @@ const deserializeAws_restXmlDistributionList = (output: any, context: __SerdeCon context ); } - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; } if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } + if (output["MaxItems"] !== undefined) { + contents.MaxItems = parseInt(output["MaxItems"]); + } if (output["Quantity"] !== undefined) { contents.Quantity = parseInt(output["Quantity"]); } @@ -12562,68 +13649,80 @@ const deserializeAws_restXmlDistributionList = (output: any, context: __SerdeCon const deserializeAws_restXmlDistributionSummary = (output: any, context: __SerdeContext): DistributionSummary => { let contents: any = { - ARN: undefined, - Id: undefined, - OriginGroups: undefined, + WebACLId: undefined, + Aliases: undefined, + DomainName: undefined, + ViewerCertificate: undefined, + IsIPV6Enabled: undefined, DefaultCacheBehavior: undefined, - Enabled: undefined, + Id: undefined, CustomErrorResponses: undefined, + Enabled: undefined, + OriginGroups: undefined, + Status: undefined, + CacheBehaviors: undefined, Comment: undefined, - LastModifiedTime: undefined, Origins: undefined, - CacheBehaviors: undefined, PriceClass: undefined, HttpVersion: undefined, - IsIPV6Enabled: undefined, - ViewerCertificate: undefined, - AliasICPRecordals: undefined, - Status: undefined, + ARN: undefined, Restrictions: undefined, - WebACLId: undefined, - DomainName: undefined, - Aliases: undefined, + AliasICPRecordals: undefined, + LastModifiedTime: undefined, }; - if (output["ARN"] !== undefined) { - contents.ARN = output["ARN"]; + if (output["WebACLId"] !== undefined) { + contents.WebACLId = output["WebACLId"]; } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; + if (output["Aliases"] !== undefined) { + contents.Aliases = deserializeAws_restXmlAliases(output["Aliases"], context); } - if (output["OriginGroups"] !== undefined) { - contents.OriginGroups = deserializeAws_restXmlOriginGroups(output["OriginGroups"], context); + if (output["DomainName"] !== undefined) { + contents.DomainName = output["DomainName"]; + } + if (output["ViewerCertificate"] !== undefined) { + contents.ViewerCertificate = deserializeAws_restXmlViewerCertificate(output["ViewerCertificate"], context); + } + if (output["IsIPV6Enabled"] !== undefined) { + contents.IsIPV6Enabled = output["IsIPV6Enabled"] == "true"; } if (output["DefaultCacheBehavior"] !== undefined) { contents.DefaultCacheBehavior = deserializeAws_restXmlDefaultCacheBehavior(output["DefaultCacheBehavior"], context); } - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; } if (output["CustomErrorResponses"] !== undefined) { contents.CustomErrorResponses = deserializeAws_restXmlCustomErrorResponses(output["CustomErrorResponses"], context); } - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; + if (output["Enabled"] !== undefined) { + contents.Enabled = output["Enabled"] == "true"; } - if (output["LastModifiedTime"] !== undefined) { - contents.LastModifiedTime = new Date(output["LastModifiedTime"]); + if (output["OriginGroups"] !== undefined) { + contents.OriginGroups = deserializeAws_restXmlOriginGroups(output["OriginGroups"], context); } - if (output["Origins"] !== undefined) { - contents.Origins = deserializeAws_restXmlOrigins(output["Origins"], context); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["CacheBehaviors"] !== undefined) { contents.CacheBehaviors = deserializeAws_restXmlCacheBehaviors(output["CacheBehaviors"], context); } + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; + } + if (output["Origins"] !== undefined) { + contents.Origins = deserializeAws_restXmlOrigins(output["Origins"], context); + } if (output["PriceClass"] !== undefined) { contents.PriceClass = output["PriceClass"]; } if (output["HttpVersion"] !== undefined) { contents.HttpVersion = output["HttpVersion"]; } - if (output["IsIPV6Enabled"] !== undefined) { - contents.IsIPV6Enabled = output["IsIPV6Enabled"] == "true"; + if (output["ARN"] !== undefined) { + contents.ARN = output["ARN"]; } - if (output["ViewerCertificate"] !== undefined) { - contents.ViewerCertificate = deserializeAws_restXmlViewerCertificate(output["ViewerCertificate"], context); + if (output["Restrictions"] !== undefined) { + contents.Restrictions = deserializeAws_restXmlRestrictions(output["Restrictions"], context); } if (output.AliasICPRecordals === "") { contents.AliasICPRecordals = []; @@ -12634,20 +13733,8 @@ const deserializeAws_restXmlDistributionSummary = (output: any, context: __Serde context ); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["Restrictions"] !== undefined) { - contents.Restrictions = deserializeAws_restXmlRestrictions(output["Restrictions"], context); - } - if (output["WebACLId"] !== undefined) { - contents.WebACLId = output["WebACLId"]; - } - if (output["DomainName"] !== undefined) { - contents.DomainName = output["DomainName"]; - } - if (output["Aliases"] !== undefined) { - contents.Aliases = deserializeAws_restXmlAliases(output["Aliases"], context); + if (output["LastModifiedTime"] !== undefined) { + contents.LastModifiedTime = new Date(output["LastModifiedTime"]); } return contents; }; @@ -12658,12 +13745,9 @@ const deserializeAws_restXmlDistributionSummaryList = (output: any, context: __S const deserializeAws_restXmlEncryptionEntities = (output: any, context: __SerdeContext): EncryptionEntities => { let contents: any = { - Quantity: undefined, Items: undefined, - }; - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } + Quantity: undefined, + }; if (output.Items === "") { contents.Items = []; } @@ -12673,23 +13757,26 @@ const deserializeAws_restXmlEncryptionEntities = (output: any, context: __SerdeC context ); } + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } return contents; }; const deserializeAws_restXmlEncryptionEntity = (output: any, context: __SerdeContext): EncryptionEntity => { let contents: any = { - ProviderId: undefined, - FieldPatterns: undefined, PublicKeyId: undefined, + FieldPatterns: undefined, + ProviderId: undefined, }; - if (output["ProviderId"] !== undefined) { - contents.ProviderId = output["ProviderId"]; + if (output["PublicKeyId"] !== undefined) { + contents.PublicKeyId = output["PublicKeyId"]; } if (output["FieldPatterns"] !== undefined) { contents.FieldPatterns = deserializeAws_restXmlFieldPatterns(output["FieldPatterns"], context); } - if (output["PublicKeyId"] !== undefined) { - contents.PublicKeyId = output["PublicKeyId"]; + if (output["ProviderId"] !== undefined) { + contents.ProviderId = output["ProviderId"]; } return contents; }; @@ -12698,15 +13785,30 @@ const deserializeAws_restXmlEncryptionEntityList = (output: any, context: __Serd return (output || []).map((entry: any) => deserializeAws_restXmlEncryptionEntity(entry, context)); }; +const deserializeAws_restXmlEndPoint = (output: any, context: __SerdeContext): EndPoint => { + let contents: any = { + KinesisStreamConfig: undefined, + StreamType: undefined, + }; + if (output["KinesisStreamConfig"] !== undefined) { + contents.KinesisStreamConfig = deserializeAws_restXmlKinesisStreamConfig(output["KinesisStreamConfig"], context); + } + if (output["StreamType"] !== undefined) { + contents.StreamType = output["StreamType"]; + } + return contents; +}; + +const deserializeAws_restXmlEndPointList = (output: any, context: __SerdeContext): EndPoint[] => { + return (output || []).map((entry: any) => deserializeAws_restXmlEndPoint(entry, context)); +}; + const deserializeAws_restXmlFieldLevelEncryption = (output: any, context: __SerdeContext): FieldLevelEncryption => { let contents: any = { - LastModifiedTime: undefined, FieldLevelEncryptionConfig: undefined, Id: undefined, + LastModifiedTime: undefined, }; - if (output["LastModifiedTime"] !== undefined) { - contents.LastModifiedTime = new Date(output["LastModifiedTime"]); - } if (output["FieldLevelEncryptionConfig"] !== undefined) { contents.FieldLevelEncryptionConfig = deserializeAws_restXmlFieldLevelEncryptionConfig( output["FieldLevelEncryptionConfig"], @@ -12716,6 +13818,9 @@ const deserializeAws_restXmlFieldLevelEncryption = (output: any, context: __Serd if (output["Id"] !== undefined) { contents.Id = output["Id"]; } + if (output["LastModifiedTime"] !== undefined) { + contents.LastModifiedTime = new Date(output["LastModifiedTime"]); + } return contents; }; @@ -12724,11 +13829,17 @@ const deserializeAws_restXmlFieldLevelEncryptionConfig = ( context: __SerdeContext ): FieldLevelEncryptionConfig => { let contents: any = { + ContentTypeProfileConfig: undefined, CallerReference: undefined, Comment: undefined, QueryArgProfileConfig: undefined, - ContentTypeProfileConfig: undefined, }; + if (output["ContentTypeProfileConfig"] !== undefined) { + contents.ContentTypeProfileConfig = deserializeAws_restXmlContentTypeProfileConfig( + output["ContentTypeProfileConfig"], + context + ); + } if (output["CallerReference"] !== undefined) { contents.CallerReference = output["CallerReference"]; } @@ -12741,12 +13852,6 @@ const deserializeAws_restXmlFieldLevelEncryptionConfig = ( context ); } - if (output["ContentTypeProfileConfig"] !== undefined) { - contents.ContentTypeProfileConfig = deserializeAws_restXmlContentTypeProfileConfig( - output["ContentTypeProfileConfig"], - context - ); - } return contents; }; @@ -12755,17 +13860,20 @@ const deserializeAws_restXmlFieldLevelEncryptionList = ( context: __SerdeContext ): FieldLevelEncryptionList => { let contents: any = { - MaxItems: undefined, + NextMarker: undefined, Quantity: undefined, + MaxItems: undefined, Items: undefined, - NextMarker: undefined, }; - if (output["MaxItems"] !== undefined) { - contents.MaxItems = parseInt(output["MaxItems"]); + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; } if (output["Quantity"] !== undefined) { contents.Quantity = parseInt(output["Quantity"]); } + if (output["MaxItems"] !== undefined) { + contents.MaxItems = parseInt(output["MaxItems"]); + } if (output.Items === "") { contents.Items = []; } @@ -12775,9 +13883,6 @@ const deserializeAws_restXmlFieldLevelEncryptionList = ( context ); } - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; - } return contents; }; @@ -12786,22 +13891,22 @@ const deserializeAws_restXmlFieldLevelEncryptionProfile = ( context: __SerdeContext ): FieldLevelEncryptionProfile => { let contents: any = { - FieldLevelEncryptionProfileConfig: undefined, - LastModifiedTime: undefined, Id: undefined, + LastModifiedTime: undefined, + FieldLevelEncryptionProfileConfig: undefined, }; + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; + } + if (output["LastModifiedTime"] !== undefined) { + contents.LastModifiedTime = new Date(output["LastModifiedTime"]); + } if (output["FieldLevelEncryptionProfileConfig"] !== undefined) { contents.FieldLevelEncryptionProfileConfig = deserializeAws_restXmlFieldLevelEncryptionProfileConfig( output["FieldLevelEncryptionProfileConfig"], context ); } - if (output["LastModifiedTime"] !== undefined) { - contents.LastModifiedTime = new Date(output["LastModifiedTime"]); - } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; - } return contents; }; @@ -12810,17 +13915,17 @@ const deserializeAws_restXmlFieldLevelEncryptionProfileConfig = ( context: __SerdeContext ): FieldLevelEncryptionProfileConfig => { let contents: any = { - EncryptionEntities: undefined, CallerReference: undefined, + EncryptionEntities: undefined, Name: undefined, Comment: undefined, }; - if (output["EncryptionEntities"] !== undefined) { - contents.EncryptionEntities = deserializeAws_restXmlEncryptionEntities(output["EncryptionEntities"], context); - } if (output["CallerReference"] !== undefined) { contents.CallerReference = output["CallerReference"]; } + if (output["EncryptionEntities"] !== undefined) { + contents.EncryptionEntities = deserializeAws_restXmlEncryptionEntities(output["EncryptionEntities"], context); + } if (output["Name"] !== undefined) { contents.Name = output["Name"]; } @@ -12835,17 +13940,17 @@ const deserializeAws_restXmlFieldLevelEncryptionProfileList = ( context: __SerdeContext ): FieldLevelEncryptionProfileList => { let contents: any = { - NextMarker: undefined, Quantity: undefined, - Items: undefined, MaxItems: undefined, + Items: undefined, + NextMarker: undefined, }; - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; - } if (output["Quantity"] !== undefined) { contents.Quantity = parseInt(output["Quantity"]); } + if (output["MaxItems"] !== undefined) { + contents.MaxItems = parseInt(output["MaxItems"]); + } if (output.Items === "") { contents.Items = []; } @@ -12855,8 +13960,8 @@ const deserializeAws_restXmlFieldLevelEncryptionProfileList = ( context ); } - if (output["MaxItems"] !== undefined) { - contents.MaxItems = parseInt(output["MaxItems"]); + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; } return contents; }; @@ -12866,27 +13971,27 @@ const deserializeAws_restXmlFieldLevelEncryptionProfileSummary = ( context: __SerdeContext ): FieldLevelEncryptionProfileSummary => { let contents: any = { - Id: undefined, EncryptionEntities: undefined, - LastModifiedTime: undefined, Name: undefined, Comment: undefined, + Id: undefined, + LastModifiedTime: undefined, }; - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; - } if (output["EncryptionEntities"] !== undefined) { contents.EncryptionEntities = deserializeAws_restXmlEncryptionEntities(output["EncryptionEntities"], context); } - if (output["LastModifiedTime"] !== undefined) { - contents.LastModifiedTime = new Date(output["LastModifiedTime"]); - } if (output["Name"] !== undefined) { contents.Name = output["Name"]; } if (output["Comment"] !== undefined) { contents.Comment = output["Comment"]; } + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; + } + if (output["LastModifiedTime"] !== undefined) { + contents.LastModifiedTime = new Date(output["LastModifiedTime"]); + } return contents; }; @@ -12902,17 +14007,17 @@ const deserializeAws_restXmlFieldLevelEncryptionSummary = ( context: __SerdeContext ): FieldLevelEncryptionSummary => { let contents: any = { - Comment: undefined, - Id: undefined, - ContentTypeProfileConfig: undefined, QueryArgProfileConfig: undefined, + ContentTypeProfileConfig: undefined, LastModifiedTime: undefined, + Comment: undefined, + Id: undefined, }; - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; - } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; + if (output["QueryArgProfileConfig"] !== undefined) { + contents.QueryArgProfileConfig = deserializeAws_restXmlQueryArgProfileConfig( + output["QueryArgProfileConfig"], + context + ); } if (output["ContentTypeProfileConfig"] !== undefined) { contents.ContentTypeProfileConfig = deserializeAws_restXmlContentTypeProfileConfig( @@ -12920,15 +14025,15 @@ const deserializeAws_restXmlFieldLevelEncryptionSummary = ( context ); } - if (output["QueryArgProfileConfig"] !== undefined) { - contents.QueryArgProfileConfig = deserializeAws_restXmlQueryArgProfileConfig( - output["QueryArgProfileConfig"], - context - ); - } if (output["LastModifiedTime"] !== undefined) { contents.LastModifiedTime = new Date(output["LastModifiedTime"]); } + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; + } + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; + } return contents; }; @@ -12939,6 +14044,10 @@ const deserializeAws_restXmlFieldLevelEncryptionSummaryList = ( return (output || []).map((entry: any) => deserializeAws_restXmlFieldLevelEncryptionSummary(entry, context)); }; +const deserializeAws_restXmlFieldList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_restXmlFieldPatternList = (output: any, context: __SerdeContext): string[] => { return (output || []).map((entry: any) => entry); }; @@ -12966,33 +14075,33 @@ const deserializeAws_restXmlFieldPatterns = (output: any, context: __SerdeContex const deserializeAws_restXmlForwardedValues = (output: any, context: __SerdeContext): ForwardedValues => { let contents: any = { Cookies: undefined, - QueryStringCacheKeys: undefined, QueryString: undefined, Headers: undefined, + QueryStringCacheKeys: undefined, }; if (output["Cookies"] !== undefined) { contents.Cookies = deserializeAws_restXmlCookiePreference(output["Cookies"], context); } - if (output["QueryStringCacheKeys"] !== undefined) { - contents.QueryStringCacheKeys = deserializeAws_restXmlQueryStringCacheKeys(output["QueryStringCacheKeys"], context); - } if (output["QueryString"] !== undefined) { contents.QueryString = output["QueryString"] == "true"; } if (output["Headers"] !== undefined) { contents.Headers = deserializeAws_restXmlHeaders(output["Headers"], context); } + if (output["QueryStringCacheKeys"] !== undefined) { + contents.QueryStringCacheKeys = deserializeAws_restXmlQueryStringCacheKeys(output["QueryStringCacheKeys"], context); + } return contents; }; const deserializeAws_restXmlGeoRestriction = (output: any, context: __SerdeContext): GeoRestriction => { let contents: any = { - Quantity: undefined, - Items: undefined, RestrictionType: undefined, + Items: undefined, + Quantity: undefined, }; - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); + if (output["RestrictionType"] !== undefined) { + contents.RestrictionType = output["RestrictionType"]; } if (output.Items === "") { contents.Items = []; @@ -13000,8 +14109,8 @@ const deserializeAws_restXmlGeoRestriction = (output: any, context: __SerdeConte if (output["Items"] !== undefined && output["Items"]["Location"] !== undefined) { contents.Items = deserializeAws_restXmlLocationList(__getArrayIfSingleItem(output["Items"]["Location"]), context); } - if (output["RestrictionType"] !== undefined) { - contents.RestrictionType = output["RestrictionType"]; + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); } return contents; }; @@ -13012,72 +14121,66 @@ const deserializeAws_restXmlHeaderList = (output: any, context: __SerdeContext): const deserializeAws_restXmlHeaders = (output: any, context: __SerdeContext): Headers => { let contents: any = { - Items: undefined, Quantity: undefined, + Items: undefined, }; + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } if (output.Items === "") { contents.Items = []; } if (output["Items"] !== undefined && output["Items"]["Name"] !== undefined) { contents.Items = deserializeAws_restXmlHeaderList(__getArrayIfSingleItem(output["Items"]["Name"]), context); } - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } return contents; }; const deserializeAws_restXmlInvalidation = (output: any, context: __SerdeContext): Invalidation => { let contents: any = { - Id: undefined, + Status: undefined, InvalidationBatch: undefined, + Id: undefined, CreateTime: undefined, - Status: undefined, }; - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["InvalidationBatch"] !== undefined) { contents.InvalidationBatch = deserializeAws_restXmlInvalidationBatch(output["InvalidationBatch"], context); } + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; + } if (output["CreateTime"] !== undefined) { contents.CreateTime = new Date(output["CreateTime"]); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } return contents; }; const deserializeAws_restXmlInvalidationBatch = (output: any, context: __SerdeContext): InvalidationBatch => { let contents: any = { - Paths: undefined, CallerReference: undefined, + Paths: undefined, }; - if (output["Paths"] !== undefined) { - contents.Paths = deserializeAws_restXmlPaths(output["Paths"], context); - } if (output["CallerReference"] !== undefined) { contents.CallerReference = output["CallerReference"]; } + if (output["Paths"] !== undefined) { + contents.Paths = deserializeAws_restXmlPaths(output["Paths"], context); + } return contents; }; const deserializeAws_restXmlInvalidationList = (output: any, context: __SerdeContext): InvalidationList => { let contents: any = { - IsTruncated: undefined, - Marker: undefined, Items: undefined, - MaxItems: undefined, - Quantity: undefined, + Marker: undefined, NextMarker: undefined, + Quantity: undefined, + MaxItems: undefined, + IsTruncated: undefined, }; - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.Items === "") { contents.Items = []; } @@ -13087,32 +14190,38 @@ const deserializeAws_restXmlInvalidationList = (output: any, context: __SerdeCon context ); } - if (output["MaxItems"] !== undefined) { - contents.MaxItems = parseInt(output["MaxItems"]); + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; } if (output["Quantity"] !== undefined) { contents.Quantity = parseInt(output["Quantity"]); } - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; + if (output["MaxItems"] !== undefined) { + contents.MaxItems = parseInt(output["MaxItems"]); + } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; } return contents; }; const deserializeAws_restXmlInvalidationSummary = (output: any, context: __SerdeContext): InvalidationSummary => { let contents: any = { - Status: undefined, - Id: undefined, CreateTime: undefined, + Id: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["CreateTime"] !== undefined) { + contents.CreateTime = new Date(output["CreateTime"]); } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } - if (output["CreateTime"] !== undefined) { - contents.CreateTime = new Date(output["CreateTime"]); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; @@ -13142,24 +14251,38 @@ const deserializeAws_restXmlKeyPairIds = (output: any, context: __SerdeContext): return contents; }; +const deserializeAws_restXmlKinesisStreamConfig = (output: any, context: __SerdeContext): KinesisStreamConfig => { + let contents: any = { + StreamARN: undefined, + RoleARN: undefined, + }; + if (output["StreamARN"] !== undefined) { + contents.StreamARN = output["StreamARN"]; + } + if (output["RoleARN"] !== undefined) { + contents.RoleARN = output["RoleARN"]; + } + return contents; +}; + const deserializeAws_restXmlLambdaFunctionAssociation = ( output: any, context: __SerdeContext ): LambdaFunctionAssociation => { let contents: any = { IncludeBody: undefined, - EventType: undefined, LambdaFunctionARN: undefined, + EventType: undefined, }; if (output["IncludeBody"] !== undefined) { contents.IncludeBody = output["IncludeBody"] == "true"; } - if (output["EventType"] !== undefined) { - contents.EventType = output["EventType"]; - } if (output["LambdaFunctionARN"] !== undefined) { contents.LambdaFunctionARN = output["LambdaFunctionARN"]; } + if (output["EventType"] !== undefined) { + contents.EventType = output["EventType"]; + } return contents; }; @@ -13199,17 +14322,17 @@ const deserializeAws_restXmlLocationList = (output: any, context: __SerdeContext const deserializeAws_restXmlLoggingConfig = (output: any, context: __SerdeContext): LoggingConfig => { let contents: any = { - IncludeCookies: undefined, Bucket: undefined, + IncludeCookies: undefined, Enabled: undefined, Prefix: undefined, }; - if (output["IncludeCookies"] !== undefined) { - contents.IncludeCookies = output["IncludeCookies"] == "true"; - } if (output["Bucket"] !== undefined) { contents.Bucket = output["Bucket"]; } + if (output["IncludeCookies"] !== undefined) { + contents.IncludeCookies = output["IncludeCookies"] == "true"; + } if (output["Enabled"] !== undefined) { contents.Enabled = output["Enabled"] == "true"; } @@ -13223,55 +14346,68 @@ const deserializeAws_restXmlMethodsList = (output: any, context: __SerdeContext) return (output || []).map((entry: any) => entry); }; +const deserializeAws_restXmlMonitoringSubscription = (output: any, context: __SerdeContext): MonitoringSubscription => { + let contents: any = { + RealtimeMetricsSubscriptionConfig: undefined, + }; + if (output["RealtimeMetricsSubscriptionConfig"] !== undefined) { + contents.RealtimeMetricsSubscriptionConfig = deserializeAws_restXmlRealtimeMetricsSubscriptionConfig( + output["RealtimeMetricsSubscriptionConfig"], + context + ); + } + return contents; +}; + const deserializeAws_restXmlOrigin = (output: any, context: __SerdeContext): Origin => { let contents: any = { + ConnectionTimeout: undefined, + ConnectionAttempts: undefined, DomainName: undefined, S3OriginConfig: undefined, - CustomOriginConfig: undefined, OriginPath: undefined, - ConnectionAttempts: undefined, Id: undefined, CustomHeaders: undefined, - ConnectionTimeout: undefined, + CustomOriginConfig: undefined, }; + if (output["ConnectionTimeout"] !== undefined) { + contents.ConnectionTimeout = parseInt(output["ConnectionTimeout"]); + } + if (output["ConnectionAttempts"] !== undefined) { + contents.ConnectionAttempts = parseInt(output["ConnectionAttempts"]); + } if (output["DomainName"] !== undefined) { contents.DomainName = output["DomainName"]; } if (output["S3OriginConfig"] !== undefined) { contents.S3OriginConfig = deserializeAws_restXmlS3OriginConfig(output["S3OriginConfig"], context); } - if (output["CustomOriginConfig"] !== undefined) { - contents.CustomOriginConfig = deserializeAws_restXmlCustomOriginConfig(output["CustomOriginConfig"], context); - } if (output["OriginPath"] !== undefined) { contents.OriginPath = output["OriginPath"]; } - if (output["ConnectionAttempts"] !== undefined) { - contents.ConnectionAttempts = parseInt(output["ConnectionAttempts"]); - } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } if (output["CustomHeaders"] !== undefined) { contents.CustomHeaders = deserializeAws_restXmlCustomHeaders(output["CustomHeaders"], context); } - if (output["ConnectionTimeout"] !== undefined) { - contents.ConnectionTimeout = parseInt(output["ConnectionTimeout"]); + if (output["CustomOriginConfig"] !== undefined) { + contents.CustomOriginConfig = deserializeAws_restXmlCustomOriginConfig(output["CustomOriginConfig"], context); } return contents; }; const deserializeAws_restXmlOriginCustomHeader = (output: any, context: __SerdeContext): OriginCustomHeader => { let contents: any = { - HeaderValue: undefined, HeaderName: undefined, + HeaderValue: undefined, }; - if (output["HeaderValue"] !== undefined) { - contents.HeaderValue = output["HeaderValue"]; - } if (output["HeaderName"] !== undefined) { contents.HeaderName = output["HeaderName"]; } + if (output["HeaderValue"] !== undefined) { + contents.HeaderValue = output["HeaderValue"]; + } return contents; }; @@ -13282,18 +14418,18 @@ const deserializeAws_restXmlOriginCustomHeadersList = (output: any, context: __S const deserializeAws_restXmlOriginGroup = (output: any, context: __SerdeContext): OriginGroup => { let contents: any = { Id: undefined, - Members: undefined, FailoverCriteria: undefined, + Members: undefined, }; if (output["Id"] !== undefined) { contents.Id = output["Id"]; } - if (output["Members"] !== undefined) { - contents.Members = deserializeAws_restXmlOriginGroupMembers(output["Members"], context); - } if (output["FailoverCriteria"] !== undefined) { contents.FailoverCriteria = deserializeAws_restXmlOriginGroupFailoverCriteria(output["FailoverCriteria"], context); } + if (output["Members"] !== undefined) { + contents.Members = deserializeAws_restXmlOriginGroupMembers(output["Members"], context); + } return contents; }; @@ -13398,21 +14534,12 @@ const deserializeAws_restXmlOriginRequestPolicyConfig = ( context: __SerdeContext ): OriginRequestPolicyConfig => { let contents: any = { - CookiesConfig: undefined, - HeadersConfig: undefined, - Comment: undefined, QueryStringsConfig: undefined, Name: undefined, + HeadersConfig: undefined, + Comment: undefined, + CookiesConfig: undefined, }; - if (output["CookiesConfig"] !== undefined) { - contents.CookiesConfig = deserializeAws_restXmlOriginRequestPolicyCookiesConfig(output["CookiesConfig"], context); - } - if (output["HeadersConfig"] !== undefined) { - contents.HeadersConfig = deserializeAws_restXmlOriginRequestPolicyHeadersConfig(output["HeadersConfig"], context); - } - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; - } if (output["QueryStringsConfig"] !== undefined) { contents.QueryStringsConfig = deserializeAws_restXmlOriginRequestPolicyQueryStringsConfig( output["QueryStringsConfig"], @@ -13422,6 +14549,15 @@ const deserializeAws_restXmlOriginRequestPolicyConfig = ( if (output["Name"] !== undefined) { contents.Name = output["Name"]; } + if (output["HeadersConfig"] !== undefined) { + contents.HeadersConfig = deserializeAws_restXmlOriginRequestPolicyHeadersConfig(output["HeadersConfig"], context); + } + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; + } + if (output["CookiesConfig"] !== undefined) { + contents.CookiesConfig = deserializeAws_restXmlOriginRequestPolicyCookiesConfig(output["CookiesConfig"], context); + } return contents; }; @@ -13447,15 +14583,15 @@ const deserializeAws_restXmlOriginRequestPolicyHeadersConfig = ( context: __SerdeContext ): OriginRequestPolicyHeadersConfig => { let contents: any = { - HeaderBehavior: undefined, Headers: undefined, + HeaderBehavior: undefined, }; - if (output["HeaderBehavior"] !== undefined) { - contents.HeaderBehavior = output["HeaderBehavior"]; - } if (output["Headers"] !== undefined) { contents.Headers = deserializeAws_restXmlHeaders(output["Headers"], context); } + if (output["HeaderBehavior"] !== undefined) { + contents.HeaderBehavior = output["HeaderBehavior"]; + } return contents; }; @@ -13465,19 +14601,13 @@ const deserializeAws_restXmlOriginRequestPolicyList = ( ): OriginRequestPolicyList => { let contents: any = { Quantity: undefined, + Items: undefined, NextMarker: undefined, MaxItems: undefined, - Items: undefined, }; if (output["Quantity"] !== undefined) { contents.Quantity = parseInt(output["Quantity"]); } - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; - } - if (output["MaxItems"] !== undefined) { - contents.MaxItems = parseInt(output["MaxItems"]); - } if (output.Items === "") { contents.Items = []; } @@ -13487,6 +14617,12 @@ const deserializeAws_restXmlOriginRequestPolicyList = ( context ); } + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; + } + if (output["MaxItems"] !== undefined) { + contents.MaxItems = parseInt(output["MaxItems"]); + } return contents; }; @@ -13495,15 +14631,15 @@ const deserializeAws_restXmlOriginRequestPolicyQueryStringsConfig = ( context: __SerdeContext ): OriginRequestPolicyQueryStringsConfig => { let contents: any = { - QueryStrings: undefined, QueryStringBehavior: undefined, + QueryStrings: undefined, }; - if (output["QueryStrings"] !== undefined) { - contents.QueryStrings = deserializeAws_restXmlQueryStringNames(output["QueryStrings"], context); - } if (output["QueryStringBehavior"] !== undefined) { contents.QueryStringBehavior = output["QueryStringBehavior"]; } + if (output["QueryStrings"] !== undefined) { + contents.QueryStrings = deserializeAws_restXmlQueryStringNames(output["QueryStrings"], context); + } return contents; }; @@ -13512,15 +14648,15 @@ const deserializeAws_restXmlOriginRequestPolicySummary = ( context: __SerdeContext ): OriginRequestPolicySummary => { let contents: any = { - OriginRequestPolicy: undefined, Type: undefined, + OriginRequestPolicy: undefined, }; - if (output["OriginRequestPolicy"] !== undefined) { - contents.OriginRequestPolicy = deserializeAws_restXmlOriginRequestPolicy(output["OriginRequestPolicy"], context); - } if (output["Type"] !== undefined) { contents.Type = output["Type"]; } + if (output["OriginRequestPolicy"] !== undefined) { + contents.OriginRequestPolicy = deserializeAws_restXmlOriginRequestPolicy(output["OriginRequestPolicy"], context); + } return contents; }; @@ -13533,29 +14669,26 @@ const deserializeAws_restXmlOriginRequestPolicySummaryList = ( const deserializeAws_restXmlOrigins = (output: any, context: __SerdeContext): Origins => { let contents: any = { - Quantity: undefined, Items: undefined, + Quantity: undefined, }; - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } if (output.Items === "") { contents.Items = []; } if (output["Items"] !== undefined && output["Items"]["Origin"] !== undefined) { contents.Items = deserializeAws_restXmlOriginList(__getArrayIfSingleItem(output["Items"]["Origin"]), context); } + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } return contents; }; const deserializeAws_restXmlOriginSslProtocols = (output: any, context: __SerdeContext): OriginSslProtocols => { let contents: any = { - Quantity: undefined, Items: undefined, + Quantity: undefined, }; - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } if (output.Items === "") { contents.Items = []; } @@ -13565,6 +14698,9 @@ const deserializeAws_restXmlOriginSslProtocols = (output: any, context: __SerdeC context ); } + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } return contents; }; @@ -13573,14 +14709,12 @@ const deserializeAws_restXmlParametersInCacheKeyAndForwardedToOrigin = ( context: __SerdeContext ): ParametersInCacheKeyAndForwardedToOrigin => { let contents: any = { - CookiesConfig: undefined, QueryStringsConfig: undefined, EnableAcceptEncodingGzip: undefined, + CookiesConfig: undefined, HeadersConfig: undefined, + EnableAcceptEncodingBrotli: undefined, }; - if (output["CookiesConfig"] !== undefined) { - contents.CookiesConfig = deserializeAws_restXmlCachePolicyCookiesConfig(output["CookiesConfig"], context); - } if (output["QueryStringsConfig"] !== undefined) { contents.QueryStringsConfig = deserializeAws_restXmlCachePolicyQueryStringsConfig( output["QueryStringsConfig"], @@ -13590,9 +14724,15 @@ const deserializeAws_restXmlParametersInCacheKeyAndForwardedToOrigin = ( if (output["EnableAcceptEncodingGzip"] !== undefined) { contents.EnableAcceptEncodingGzip = output["EnableAcceptEncodingGzip"] == "true"; } + if (output["CookiesConfig"] !== undefined) { + contents.CookiesConfig = deserializeAws_restXmlCachePolicyCookiesConfig(output["CookiesConfig"], context); + } if (output["HeadersConfig"] !== undefined) { contents.HeadersConfig = deserializeAws_restXmlCachePolicyHeadersConfig(output["HeadersConfig"], context); } + if (output["EnableAcceptEncodingBrotli"] !== undefined) { + contents.EnableAcceptEncodingBrotli = output["EnableAcceptEncodingBrotli"] == "true"; + } return contents; }; @@ -13602,46 +14742,49 @@ const deserializeAws_restXmlPathList = (output: any, context: __SerdeContext): s const deserializeAws_restXmlPaths = (output: any, context: __SerdeContext): Paths => { let contents: any = { - Items: undefined, Quantity: undefined, + Items: undefined, }; + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } if (output.Items === "") { contents.Items = []; } if (output["Items"] !== undefined && output["Items"]["Path"] !== undefined) { contents.Items = deserializeAws_restXmlPathList(__getArrayIfSingleItem(output["Items"]["Path"]), context); } - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } return contents; }; const deserializeAws_restXmlPublicKey = (output: any, context: __SerdeContext): PublicKey => { let contents: any = { - PublicKeyConfig: undefined, CreatedTime: undefined, Id: undefined, + PublicKeyConfig: undefined, }; - if (output["PublicKeyConfig"] !== undefined) { - contents.PublicKeyConfig = deserializeAws_restXmlPublicKeyConfig(output["PublicKeyConfig"], context); - } if (output["CreatedTime"] !== undefined) { contents.CreatedTime = new Date(output["CreatedTime"]); } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } + if (output["PublicKeyConfig"] !== undefined) { + contents.PublicKeyConfig = deserializeAws_restXmlPublicKeyConfig(output["PublicKeyConfig"], context); + } return contents; }; const deserializeAws_restXmlPublicKeyConfig = (output: any, context: __SerdeContext): PublicKeyConfig => { let contents: any = { + CallerReference: undefined, Comment: undefined, EncodedKey: undefined, Name: undefined, - CallerReference: undefined, }; + if (output["CallerReference"] !== undefined) { + contents.CallerReference = output["CallerReference"]; + } if (output["Comment"] !== undefined) { contents.Comment = output["Comment"]; } @@ -13651,25 +14794,25 @@ const deserializeAws_restXmlPublicKeyConfig = (output: any, context: __SerdeCont if (output["Name"] !== undefined) { contents.Name = output["Name"]; } - if (output["CallerReference"] !== undefined) { - contents.CallerReference = output["CallerReference"]; - } return contents; }; const deserializeAws_restXmlPublicKeyList = (output: any, context: __SerdeContext): PublicKeyList => { let contents: any = { - NextMarker: undefined, + Quantity: undefined, MaxItems: undefined, + NextMarker: undefined, Items: undefined, - Quantity: undefined, }; - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); } if (output["MaxItems"] !== undefined) { contents.MaxItems = parseInt(output["MaxItems"]); } + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; + } if (output.Items === "") { contents.Items = []; } @@ -13679,34 +14822,31 @@ const deserializeAws_restXmlPublicKeyList = (output: any, context: __SerdeContex context ); } - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } return contents; }; const deserializeAws_restXmlPublicKeySummary = (output: any, context: __SerdeContext): PublicKeySummary => { let contents: any = { - Name: undefined, - CreatedTime: undefined, EncodedKey: undefined, - Id: undefined, Comment: undefined, + Name: undefined, + Id: undefined, + CreatedTime: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } - if (output["CreatedTime"] !== undefined) { - contents.CreatedTime = new Date(output["CreatedTime"]); - } if (output["EncodedKey"] !== undefined) { contents.EncodedKey = output["EncodedKey"]; } + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; + } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; + if (output["CreatedTime"] !== undefined) { + contents.CreatedTime = new Date(output["CreatedTime"]); } return contents; }; @@ -13717,15 +14857,15 @@ const deserializeAws_restXmlPublicKeySummaryList = (output: any, context: __Serd const deserializeAws_restXmlQueryArgProfile = (output: any, context: __SerdeContext): QueryArgProfile => { let contents: any = { - ProfileId: undefined, QueryArg: undefined, + ProfileId: undefined, }; - if (output["ProfileId"] !== undefined) { - contents.ProfileId = output["ProfileId"]; - } if (output["QueryArg"] !== undefined) { contents.QueryArg = output["QueryArg"]; } + if (output["ProfileId"] !== undefined) { + contents.ProfileId = output["ProfileId"]; + } return contents; }; @@ -13749,12 +14889,9 @@ const deserializeAws_restXmlQueryArgProfileList = (output: any, context: __Serde const deserializeAws_restXmlQueryArgProfiles = (output: any, context: __SerdeContext): QueryArgProfiles => { let contents: any = { - Quantity: undefined, Items: undefined, + Quantity: undefined, }; - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } if (output.Items === "") { contents.Items = []; } @@ -13764,6 +14901,9 @@ const deserializeAws_restXmlQueryArgProfiles = (output: any, context: __SerdeCon context ); } + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } return contents; }; @@ -13772,47 +14912,131 @@ const deserializeAws_restXmlQueryStringCacheKeys = (output: any, context: __Serd Quantity: undefined, Items: undefined, }; - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } + if (output.Items === "") { + contents.Items = []; + } + if (output["Items"] !== undefined && output["Items"]["Name"] !== undefined) { + contents.Items = deserializeAws_restXmlQueryStringCacheKeysList( + __getArrayIfSingleItem(output["Items"]["Name"]), + context + ); + } + return contents; +}; + +const deserializeAws_restXmlQueryStringCacheKeysList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_restXmlQueryStringNames = (output: any, context: __SerdeContext): QueryStringNames => { + let contents: any = { + Quantity: undefined, + Items: undefined, + }; + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } + if (output.Items === "") { + contents.Items = []; + } + if (output["Items"] !== undefined && output["Items"]["Name"] !== undefined) { + contents.Items = deserializeAws_restXmlQueryStringNamesList( + __getArrayIfSingleItem(output["Items"]["Name"]), + context + ); + } + return contents; +}; + +const deserializeAws_restXmlQueryStringNamesList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_restXmlRealtimeLogConfig = (output: any, context: __SerdeContext): RealtimeLogConfig => { + let contents: any = { + Name: undefined, + SamplingRate: undefined, + Fields: undefined, + EndPoints: undefined, + ARN: undefined, + }; + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; } - if (output.Items === "") { - contents.Items = []; + if (output["SamplingRate"] !== undefined) { + contents.SamplingRate = parseInt(output["SamplingRate"]); } - if (output["Items"] !== undefined && output["Items"]["Name"] !== undefined) { - contents.Items = deserializeAws_restXmlQueryStringCacheKeysList( - __getArrayIfSingleItem(output["Items"]["Name"]), + if (output.Fields === "") { + contents.Fields = []; + } + if (output["Fields"] !== undefined && output["Fields"]["Field"] !== undefined) { + contents.Fields = deserializeAws_restXmlFieldList(__getArrayIfSingleItem(output["Fields"]["Field"]), context); + } + if (output.EndPoints === "") { + contents.EndPoints = []; + } + if (output["EndPoints"] !== undefined && output["EndPoints"]["member"] !== undefined) { + contents.EndPoints = deserializeAws_restXmlEndPointList( + __getArrayIfSingleItem(output["EndPoints"]["member"]), context ); } + if (output["ARN"] !== undefined) { + contents.ARN = output["ARN"]; + } return contents; }; -const deserializeAws_restXmlQueryStringCacheKeysList = (output: any, context: __SerdeContext): string[] => { - return (output || []).map((entry: any) => entry); +const deserializeAws_restXmlRealtimeLogConfigList = (output: any, context: __SerdeContext): RealtimeLogConfig[] => { + return (output || []).map((entry: any) => deserializeAws_restXmlRealtimeLogConfig(entry, context)); }; -const deserializeAws_restXmlQueryStringNames = (output: any, context: __SerdeContext): QueryStringNames => { +const deserializeAws_restXmlRealtimeLogConfigs = (output: any, context: __SerdeContext): RealtimeLogConfigs => { let contents: any = { + NextMarker: undefined, + Marker: undefined, Items: undefined, - Quantity: undefined, + IsTruncated: undefined, + MaxItems: undefined, }; + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.Items === "") { contents.Items = []; } - if (output["Items"] !== undefined && output["Items"]["Name"] !== undefined) { - contents.Items = deserializeAws_restXmlQueryStringNamesList( - __getArrayIfSingleItem(output["Items"]["Name"]), + if (output["Items"] !== undefined && output["Items"]["member"] !== undefined) { + contents.Items = deserializeAws_restXmlRealtimeLogConfigList( + __getArrayIfSingleItem(output["Items"]["member"]), context ); } - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } + if (output["MaxItems"] !== undefined) { + contents.MaxItems = parseInt(output["MaxItems"]); } return contents; }; -const deserializeAws_restXmlQueryStringNamesList = (output: any, context: __SerdeContext): string[] => { - return (output || []).map((entry: any) => entry); +const deserializeAws_restXmlRealtimeMetricsSubscriptionConfig = ( + output: any, + context: __SerdeContext +): RealtimeMetricsSubscriptionConfig => { + let contents: any = { + RealtimeMetricsSubscriptionStatus: undefined, + }; + if (output["RealtimeMetricsSubscriptionStatus"] !== undefined) { + contents.RealtimeMetricsSubscriptionStatus = output["RealtimeMetricsSubscriptionStatus"]; + } + return contents; }; const deserializeAws_restXmlRestrictions = (output: any, context: __SerdeContext): Restrictions => { @@ -13827,15 +15051,15 @@ const deserializeAws_restXmlRestrictions = (output: any, context: __SerdeContext const deserializeAws_restXmlS3Origin = (output: any, context: __SerdeContext): S3Origin => { let contents: any = { - OriginAccessIdentity: undefined, DomainName: undefined, + OriginAccessIdentity: undefined, }; - if (output["OriginAccessIdentity"] !== undefined) { - contents.OriginAccessIdentity = output["OriginAccessIdentity"]; - } if (output["DomainName"] !== undefined) { contents.DomainName = output["DomainName"]; } + if (output["OriginAccessIdentity"] !== undefined) { + contents.OriginAccessIdentity = output["OriginAccessIdentity"]; + } return contents; }; @@ -13897,38 +15121,38 @@ const deserializeAws_restXmlStatusCodes = (output: any, context: __SerdeContext) const deserializeAws_restXmlStreamingDistribution = (output: any, context: __SerdeContext): StreamingDistribution => { let contents: any = { - LastModifiedTime: undefined, - StreamingDistributionConfig: undefined, + ActiveTrustedSigners: undefined, DomainName: undefined, - Id: undefined, Status: undefined, - ActiveTrustedSigners: undefined, + LastModifiedTime: undefined, + Id: undefined, ARN: undefined, + StreamingDistributionConfig: undefined, }; - if (output["LastModifiedTime"] !== undefined) { - contents.LastModifiedTime = new Date(output["LastModifiedTime"]); - } - if (output["StreamingDistributionConfig"] !== undefined) { - contents.StreamingDistributionConfig = deserializeAws_restXmlStreamingDistributionConfig( - output["StreamingDistributionConfig"], - context - ); + if (output["ActiveTrustedSigners"] !== undefined) { + contents.ActiveTrustedSigners = deserializeAws_restXmlActiveTrustedSigners(output["ActiveTrustedSigners"], context); } if (output["DomainName"] !== undefined) { contents.DomainName = output["DomainName"]; } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["ActiveTrustedSigners"] !== undefined) { - contents.ActiveTrustedSigners = deserializeAws_restXmlActiveTrustedSigners(output["ActiveTrustedSigners"], context); + if (output["LastModifiedTime"] !== undefined) { + contents.LastModifiedTime = new Date(output["LastModifiedTime"]); + } + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; } if (output["ARN"] !== undefined) { contents.ARN = output["ARN"]; } + if (output["StreamingDistributionConfig"] !== undefined) { + contents.StreamingDistributionConfig = deserializeAws_restXmlStreamingDistributionConfig( + output["StreamingDistributionConfig"], + context + ); + } return contents; }; @@ -13937,15 +15161,27 @@ const deserializeAws_restXmlStreamingDistributionConfig = ( context: __SerdeContext ): StreamingDistributionConfig => { let contents: any = { + S3Origin: undefined, + Comment: undefined, + PriceClass: undefined, + Logging: undefined, Aliases: undefined, TrustedSigners: undefined, CallerReference: undefined, Enabled: undefined, - Logging: undefined, - S3Origin: undefined, - PriceClass: undefined, - Comment: undefined, }; + if (output["S3Origin"] !== undefined) { + contents.S3Origin = deserializeAws_restXmlS3Origin(output["S3Origin"], context); + } + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; + } + if (output["PriceClass"] !== undefined) { + contents.PriceClass = output["PriceClass"]; + } + if (output["Logging"] !== undefined) { + contents.Logging = deserializeAws_restXmlStreamingLoggingConfig(output["Logging"], context); + } if (output["Aliases"] !== undefined) { contents.Aliases = deserializeAws_restXmlAliases(output["Aliases"], context); } @@ -13958,18 +15194,6 @@ const deserializeAws_restXmlStreamingDistributionConfig = ( if (output["Enabled"] !== undefined) { contents.Enabled = output["Enabled"] == "true"; } - if (output["Logging"] !== undefined) { - contents.Logging = deserializeAws_restXmlStreamingLoggingConfig(output["Logging"], context); - } - if (output["S3Origin"] !== undefined) { - contents.S3Origin = deserializeAws_restXmlS3Origin(output["S3Origin"], context); - } - if (output["PriceClass"] !== undefined) { - contents.PriceClass = output["PriceClass"]; - } - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; - } return contents; }; @@ -13978,22 +15202,13 @@ const deserializeAws_restXmlStreamingDistributionList = ( context: __SerdeContext ): StreamingDistributionList => { let contents: any = { - IsTruncated: undefined, - Marker: undefined, - MaxItems: undefined, Items: undefined, - Quantity: undefined, + Marker: undefined, NextMarker: undefined, + Quantity: undefined, + MaxItems: undefined, + IsTruncated: undefined, }; - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } - if (output["MaxItems"] !== undefined) { - contents.MaxItems = parseInt(output["MaxItems"]); - } if (output.Items === "") { contents.Items = []; } @@ -14003,12 +15218,21 @@ const deserializeAws_restXmlStreamingDistributionList = ( context ); } - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; } if (output["NextMarker"] !== undefined) { contents.NextMarker = output["NextMarker"]; } + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } + if (output["MaxItems"] !== undefined) { + contents.MaxItems = parseInt(output["MaxItems"]); + } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } return contents; }; @@ -14017,50 +15241,50 @@ const deserializeAws_restXmlStreamingDistributionSummary = ( context: __SerdeContext ): StreamingDistributionSummary => { let contents: any = { - Id: undefined, - ARN: undefined, - Status: undefined, LastModifiedTime: undefined, - Aliases: undefined, - PriceClass: undefined, - Comment: undefined, - S3Origin: undefined, Enabled: undefined, - TrustedSigners: undefined, DomainName: undefined, + PriceClass: undefined, + TrustedSigners: undefined, + Id: undefined, + ARN: undefined, + S3Origin: undefined, + Comment: undefined, + Aliases: undefined, + Status: undefined, }; - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; - } - if (output["ARN"] !== undefined) { - contents.ARN = output["ARN"]; - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["LastModifiedTime"] !== undefined) { contents.LastModifiedTime = new Date(output["LastModifiedTime"]); } - if (output["Aliases"] !== undefined) { - contents.Aliases = deserializeAws_restXmlAliases(output["Aliases"], context); + if (output["Enabled"] !== undefined) { + contents.Enabled = output["Enabled"] == "true"; + } + if (output["DomainName"] !== undefined) { + contents.DomainName = output["DomainName"]; } if (output["PriceClass"] !== undefined) { contents.PriceClass = output["PriceClass"]; } - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; + if (output["TrustedSigners"] !== undefined) { + contents.TrustedSigners = deserializeAws_restXmlTrustedSigners(output["TrustedSigners"], context); + } + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; + } + if (output["ARN"] !== undefined) { + contents.ARN = output["ARN"]; } if (output["S3Origin"] !== undefined) { contents.S3Origin = deserializeAws_restXmlS3Origin(output["S3Origin"], context); } - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; } - if (output["TrustedSigners"] !== undefined) { - contents.TrustedSigners = deserializeAws_restXmlTrustedSigners(output["TrustedSigners"], context); + if (output["Aliases"] !== undefined) { + contents.Aliases = deserializeAws_restXmlAliases(output["Aliases"], context); } - if (output["DomainName"] !== undefined) { - contents.DomainName = output["DomainName"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; @@ -14074,19 +15298,19 @@ const deserializeAws_restXmlStreamingDistributionSummaryList = ( const deserializeAws_restXmlStreamingLoggingConfig = (output: any, context: __SerdeContext): StreamingLoggingConfig => { let contents: any = { - Prefix: undefined, Bucket: undefined, Enabled: undefined, + Prefix: undefined, }; - if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; - } if (output["Bucket"] !== undefined) { contents.Bucket = output["Bucket"]; } if (output["Enabled"] !== undefined) { contents.Enabled = output["Enabled"] == "true"; } + if (output["Prefix"] !== undefined) { + contents.Prefix = output["Prefix"]; + } return contents; }; @@ -14123,16 +15347,10 @@ const deserializeAws_restXmlTags = (output: any, context: __SerdeContext): Tags const deserializeAws_restXmlTrustedSigners = (output: any, context: __SerdeContext): TrustedSigners => { let contents: any = { - Enabled: undefined, - Quantity: undefined, Items: undefined, + Quantity: undefined, + Enabled: undefined, }; - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; - } - if (output["Quantity"] !== undefined) { - contents.Quantity = parseInt(output["Quantity"]); - } if (output.Items === "") { contents.Items = []; } @@ -14142,19 +15360,34 @@ const deserializeAws_restXmlTrustedSigners = (output: any, context: __SerdeConte context ); } + if (output["Quantity"] !== undefined) { + contents.Quantity = parseInt(output["Quantity"]); + } + if (output["Enabled"] !== undefined) { + contents.Enabled = output["Enabled"] == "true"; + } return contents; }; const deserializeAws_restXmlViewerCertificate = (output: any, context: __SerdeContext): ViewerCertificate => { let contents: any = { + ACMCertificateArn: undefined, + MinimumProtocolVersion: undefined, + CloudFrontDefaultCertificate: undefined, Certificate: undefined, SSLSupportMethod: undefined, CertificateSource: undefined, IAMCertificateId: undefined, - ACMCertificateArn: undefined, - CloudFrontDefaultCertificate: undefined, - MinimumProtocolVersion: undefined, }; + if (output["ACMCertificateArn"] !== undefined) { + contents.ACMCertificateArn = output["ACMCertificateArn"]; + } + if (output["MinimumProtocolVersion"] !== undefined) { + contents.MinimumProtocolVersion = output["MinimumProtocolVersion"]; + } + if (output["CloudFrontDefaultCertificate"] !== undefined) { + contents.CloudFrontDefaultCertificate = output["CloudFrontDefaultCertificate"] == "true"; + } if (output["Certificate"] !== undefined) { contents.Certificate = output["Certificate"]; } @@ -14167,15 +15400,6 @@ const deserializeAws_restXmlViewerCertificate = (output: any, context: __SerdeCo if (output["IAMCertificateId"] !== undefined) { contents.IAMCertificateId = output["IAMCertificateId"]; } - if (output["ACMCertificateArn"] !== undefined) { - contents.ACMCertificateArn = output["ACMCertificateArn"]; - } - if (output["CloudFrontDefaultCertificate"] !== undefined) { - contents.CloudFrontDefaultCertificate = output["CloudFrontDefaultCertificate"] == "true"; - } - if (output["MinimumProtocolVersion"] !== undefined) { - contents.MinimumProtocolVersion = output["MinimumProtocolVersion"]; - } return contents; }; diff --git a/clients/client-cloudhsm-v2/models/models_0.ts b/clients/client-cloudhsm-v2/models/models_0.ts index 5f4eaaed2473..76635e6c1698 100644 --- a/clients/client-cloudhsm-v2/models/models_0.ts +++ b/clients/client-cloudhsm-v2/models/models_0.ts @@ -36,12 +36,6 @@ export namespace Tag { * and SourceRegion paramters. A backup that is pending deletion will include the DeleteTimestamp parameter.

            */ export interface Backup { - /** - *

            The AWS Region that contains the source backup from which the new backup was - * copied.

            - */ - SourceRegion?: string; - /** *

            The identifier (ID) of the backup.

            */ @@ -53,14 +47,21 @@ export interface Backup { CopyTimestamp?: Date; /** - *

            The date and time when the backup will be permanently deleted.

            + *

            The AWS Region that contains the source backup from which the new backup was + * copied.

            */ - DeleteTimestamp?: Date; + SourceRegion?: 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 was created.

            + */ + CreateTimestamp?: Date; /** *

            The identifier (ID) of the source backup from which the new backup was @@ -69,25 +70,24 @@ export interface Backup { SourceBackup?: string; /** - *

            The date and time when the backup was created.

            + *

            The state of the backup.

            */ - CreateTimestamp?: Date; + BackupState?: BackupState | string; /** - *

            The list of tags for the backup.

            + *

            The identifier (ID) of the cluster that was backed up.

            */ - TagList?: Tag[]; + 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 will be permanently deleted.

            */ - SourceCluster?: string; + DeleteTimestamp?: Date; /** - *

            The state of the backup.

            + *

            The list of tags for the backup.

            */ - BackupState?: BackupState | string; + TagList?: Tag[]; } export namespace Backup { @@ -195,9 +195,9 @@ export namespace CloudHsmTagException { export interface CopyBackupToRegionRequest { /** - *

            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.

            + *

            The ID of the backup that will be copied to the destination region.

            */ - TagList?: Tag[]; + BackupId: string | undefined; /** *

            The AWS region that will contain your copied CloudHSM cluster backup.

            @@ -205,9 +205,9 @@ export interface CopyBackupToRegionRequest { DestinationRegion: string | undefined; /** - *

            The ID of the backup that will be copied to the destination region.

            + *

            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.

            */ - BackupId: string | undefined; + TagList?: Tag[]; } export namespace CopyBackupToRegionRequest { @@ -226,14 +226,14 @@ export interface DestinationBackup { SourceCluster?: 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 identifier (ID) of the source backup from which the new backup was copied.

            + *

            The date and time when both the source backup was created.

            */ - SourceBackup?: string; + CreateTimestamp?: Date; /** *

            The AWS region that contains the source backup from which the new backup was copied.

            @@ -267,15 +267,21 @@ export namespace CopyBackupToRegionResponse { export interface CreateClusterRequest { /** - *

            The identifier (ID) of the cluster backup to restore. Use this value to restore the - * cluster from a backup instead of creating a new cluster. To find the backup ID, use DescribeBackups.

            + *

            Tags to apply to the CloudHSM cluster during creation.

            */ - SourceBackupId?: string; + TagList?: Tag[]; /** - *

            Tags to apply to the CloudHSM cluster during creation.

            + *

            The type of HSM to use in the cluster. Currently the only allowed value is + * hsm1.medium.

            */ - TagList?: Tag[]; + HsmType: string | undefined; + + /** + *

            The identifier (ID) of the cluster backup to restore. Use this value to restore the + * cluster from a backup instead of creating a new cluster. To find the backup ID, use DescribeBackups.

            + */ + SourceBackupId?: string; /** *

            The identifiers (IDs) of the subnets where you are creating the cluster. You must @@ -291,12 +297,6 @@ export interface CreateClusterRequest { * */ SubnetIds: string[] | undefined; - - /** - *

            The type of HSM to use in the cluster. Currently the only allowed value is - * hsm1.medium.

            - */ - HsmType: string | undefined; } export namespace CreateClusterRequest { @@ -309,21 +309,16 @@ export namespace CreateClusterRequest { *

            Contains one or more certificates or a certificate signing request (CSR).

            */ export interface Certificates { - /** - *

            The cluster's certificate signing request (CSR). The CSR exists only when the cluster's - * state is UNINITIALIZED.

            - */ - ClusterCsr?: string; - /** *

            The HSM certificate issued (signed) by the HSM hardware.

            */ HsmCertificate?: string; /** - *

            The HSM hardware certificate issued (signed) by the hardware manufacturer.

            + *

            The cluster's certificate signing request (CSR). The CSR exists only when the cluster's + * state is UNINITIALIZED.

            */ - ManufacturerHardwareCertificate?: string; + ClusterCsr?: string; /** *

            The cluster certificate issued (signed) by the issuing certificate authority (CA) of @@ -331,6 +326,11 @@ export interface Certificates { */ ClusterCertificate?: string; + /** + *

            The HSM hardware certificate issued (signed) by the hardware manufacturer.

            + */ + ManufacturerHardwareCertificate?: string; + /** *

            The HSM hardware certificate issued (signed) by AWS CloudHSM.

            */ @@ -356,40 +356,40 @@ export enum HsmState { * cluster.

            */ export interface Hsm { - /** - *

            The subnet that contains the HSM's elastic network interface (ENI).

            - */ - SubnetId?: string; - /** *

            The HSM's identifier (ID).

            */ HsmId: string | undefined; /** - *

            A description of the HSM's state.

            + *

            The identifier (ID) of the HSM's elastic network interface (ENI).

            */ - StateMessage?: string; + EniId?: string; /** - *

            The identifier (ID) of the HSM's elastic network interface (ENI).

            + *

            The subnet that contains the HSM's elastic network interface (ENI).

            */ - EniId?: string; + SubnetId?: string; /** *

            The HSM's state.

            */ State?: HsmState | string; + /** + *

            The Availability Zone that contains the HSM.

            + */ + AvailabilityZone?: string; + /** *

            The IP address of the HSM's elastic network interface (ENI).

            */ EniIp?: string; /** - *

            The Availability Zone that contains the HSM.

            + *

            A description of the HSM's state.

            */ - AvailabilityZone?: string; + StateMessage?: string; /** *

            The identifier (ID) of the cluster that contains the HSM.

            @@ -420,56 +420,56 @@ export enum ClusterState { */ export interface Cluster { /** - *

            Contains one or more certificates or a certificate signing request (CSR).

            + *

            The type of HSM that the cluster contains.

            */ - Certificates?: Certificates; + HsmType?: 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 cluster's identifier (ID).

            + *

            The default password for the cluster's Pre-Crypto Officer (PRECO) user.

            */ - ClusterId?: string; + PreCoPassword?: string; /** - *

            The cluster's state.

            + *

            The list of tags for the cluster.

            */ - State?: ClusterState | string; + TagList?: Tag[]; /** - *

            Contains information about the HSMs in the cluster.

            + *

            The identifier (ID) of the backup used to create the cluster. This value exists only + * when the cluster was created from a backup.

            */ - Hsms?: Hsm[]; + SourceBackupId?: string; /** - *

            The identifier (ID) of the virtual private cloud (VPC) that contains the - * cluster.

            + *

            The identifier (ID) of the cluster's security group.

            */ - VpcId?: string; + SecurityGroup?: string; /** - *

            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.

            + *

            Contains one or more certificates or a certificate signing request (CSR).

            */ - SecurityGroup?: string; + Certificates?: Certificates; /** - *

            The list of tags for the cluster.

            + *

            The cluster's identifier (ID).

            */ - TagList?: Tag[]; + ClusterId?: string; /** - *

            The default password for the cluster's Pre-Crypto Officer (PRECO) user.

            + *

            The cluster's state.

            */ - PreCoPassword?: string; + State?: ClusterState | string; /** *

            A map from availability zone to the cluster’s subnet in that availability zone.

            @@ -477,19 +477,19 @@ export interface Cluster { SubnetMapping?: { [key: string]: string }; /** - *

            A description of the cluster's state.

            + *

            The cluster's backup policy.

            */ - StateMessage?: string; + BackupPolicy?: BackupPolicy | string; /** - *

            The type of HSM that the cluster contains.

            + *

            The date and time when the cluster was created.

            */ - HsmType?: string; + CreateTimestamp?: Date; /** - *

            The date and time when the cluster was created.

            + *

            A description of the cluster's state.

            */ - CreateTimestamp?: Date; + StateMessage?: string; } export namespace Cluster { @@ -513,10 +513,11 @@ export namespace CreateClusterResponse { export interface CreateHsmRequest { /** - *

            The Availability Zone where you are creating the HSM. To find the cluster's - * Availability Zones, use DescribeClusters.

            + *

            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.

            */ - AvailabilityZone: string | undefined; + IpAddress?: string; /** *

            The identifier (ID) of the HSM's cluster. To find the cluster ID, use DescribeClusters.

            @@ -524,11 +525,10 @@ export interface CreateHsmRequest { ClusterId: 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.

            + *

            The Availability Zone where you are creating the HSM. To find the cluster's + * Availability Zones, use DescribeClusters.

            */ - IpAddress?: string; + AvailabilityZone: string | undefined; } export namespace CreateHsmRequest { @@ -605,16 +605,16 @@ export namespace DeleteClusterResponse { export interface DeleteHsmRequest { /** - *

            The IP address of the elastic network interface (ENI) of the HSM that you are + *

            The identifier (ID) of the cluster that contains the HSM that you are * deleting.

            */ - EniIp?: string; + ClusterId: string | undefined; /** - *

            The identifier (ID) of the elastic network interface (ENI) of the HSM that you are + *

            The IP address of the elastic network interface (ENI) of the HSM that you are * deleting.

            */ - EniId?: string; + EniIp?: string; /** *

            The identifier (ID) of the HSM that you are deleting.

            @@ -622,10 +622,10 @@ export interface DeleteHsmRequest { HsmId?: string; /** - *

            The identifier (ID) of the cluster that contains the HSM that you are + *

            The identifier (ID) of the elastic network interface (ENI) of the HSM that you are * deleting.

            */ - ClusterId: string | undefined; + EniId?: string; } export namespace DeleteHsmRequest { @@ -708,15 +708,10 @@ export namespace DescribeBackupsResponse { export interface DescribeClustersRequest { /** - *

            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; /** *

            The NextToken value that you received in the previous response. Use this @@ -725,10 +720,15 @@ export interface DescribeClustersRequest { NextToken?: string; /** - *

            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[] }; } export namespace DescribeClustersRequest { @@ -758,12 +758,6 @@ export namespace DescribeClustersResponse { } export interface InitializeClusterRequest { - /** - *

            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 identifier (ID) of the cluster that you are claiming. To find the cluster ID, use * DescribeClusters.

            @@ -777,6 +771,12 @@ 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 { @@ -810,17 +810,17 @@ export interface ListTagsRequest { */ NextToken?: string; - /** - *

            The cluster identifier (ID) for the cluster whose tags you are getting. To find the - * cluster ID, use DescribeClusters.

            - */ - ResourceId: string | undefined; - /** *

            The maximum number of tags to return in the response. When there are more tags than the * 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 { diff --git a/clients/client-cloudhsm/models/models_0.ts b/clients/client-cloudhsm/models/models_0.ts index 782ae32d0dc7..1932c064e4e8 100644 --- a/clients/client-cloudhsm/models/models_0.ts +++ b/clients/client-cloudhsm/models/models_0.ts @@ -7,14 +7,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface Tag { /** - *

            The value of the tag.

            + *

            The key of the tag.

            */ - Value: string | undefined; + Key: string | undefined; /** - *

            The key of the tag.

            + *

            The value of the tag.

            */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -61,14 +61,14 @@ export interface CloudHsmInternalException extends __SmithyException, $MetadataB name: "CloudHsmInternalException"; $fault: "server"; /** - *

            Indicates if the action can be retried.

            + *

            Additional information about the error.

            */ - retryable?: boolean; + message?: string; /** - *

            Additional information about the error.

            + *

            Indicates if the action can be retried.

            */ - message?: string; + retryable?: boolean; } export namespace CloudHsmInternalException { @@ -84,14 +84,14 @@ export interface CloudHsmServiceException extends __SmithyException, $MetadataBe name: "CloudHsmServiceException"; $fault: "client"; /** - *

            Additional information about the error.

            + *

            Indicates if the action can be retried.

            */ - message?: string; + retryable?: boolean; /** - *

            Indicates if the action can be retried.

            + *

            Additional information about the error.

            */ - retryable?: boolean; + message?: string; } export namespace CloudHsmServiceException { @@ -179,12 +179,6 @@ export interface CreateHsmRequest { */ SyslogIp?: string; - /** - *

            The ARN of an IAM role to enable the AWS CloudHSM service to allocate an ENI on your - * behalf.

            - */ - IamRoleArn: string | undefined; - /** *

            The IP address to assign to the HSM's ENI.

            *

            If an IP address is not specified, an IP address will be randomly chosen from the CIDR @@ -197,6 +191,18 @@ export interface CreateHsmRequest { */ ExternalId?: string; + /** + *

            A user-defined token to ensure idempotence. Subsequent calls to this operation with the + * same token will be ignored.

            + */ + ClientToken?: string; + + /** + *

            The ARN of an IAM role to enable the AWS CloudHSM service to allocate an ENI on your + * behalf.

            + */ + IamRoleArn: string | undefined; + /** *

            The SSH public key to install on the HSM.

            */ @@ -218,12 +224,6 @@ export interface CreateHsmRequest { * */ SubscriptionType: SubscriptionType | string | undefined; - - /** - *

            A user-defined token to ensure idempotence. Subsequent calls to this operation with the - * same token will be ignored.

            - */ - ClientToken?: string; } export namespace CreateHsmRequest { @@ -253,15 +253,15 @@ export namespace CreateHsmResponse { */ export interface CreateLunaClientRequest { /** - *

            The contents of a Base64-Encoded X.509 v3 certificate to be installed on the HSMs used - * by this client.

            + *

            The label for the client.

            */ - Certificate: string | undefined; + Label?: string; /** - *

            The label for the client.

            + *

            The contents of a Base64-Encoded X.509 v3 certificate to be installed on the HSMs used + * by this client.

            */ - Label?: string; + Certificate: string | undefined; } export namespace CreateLunaClientRequest { @@ -413,6 +413,11 @@ export interface DescribeHapgResponse { */ HapgSerial?: string; + /** + *

            + */ + HsmsPendingRegistration?: string[]; + /** *

            */ @@ -429,24 +434,19 @@ export interface DescribeHapgResponse { LastModifiedTimestamp?: string; /** - *

            The ARN of the high-availability partition group.

            + *

            The state of the high-availability partition group.

            */ - HapgArn?: string; + State?: CloudHsmObjectState | string; /** - *

            + *

            The ARN of the high-availability partition group.

            */ - HsmsLastActionFailed?: string[]; + HapgArn?: string; /** *

            */ - HsmsPendingRegistration?: string[]; - - /** - *

            The state of the high-availability partition group.

            - */ - State?: CloudHsmObjectState | string; + HsmsLastActionFailed?: string[]; } export namespace DescribeHapgResponse { @@ -493,69 +493,81 @@ export enum HsmStatus { */ export interface DescribeHsmResponse { /** - *

            The subscription start date.

            + *

            The HSM software version.

            */ - SubscriptionStartDate?: string; + SoftwareVersion?: string; /** - *

            The name of the HSM vendor.

            + *

            The list of partitions on the HSM.

            */ - VendorName?: string; + Partitions?: string[]; /** - *

            The identifier of the subnet that the HSM is in.

            + *

            The date and time that the SSH key was last updated.

            */ - SubnetId?: string; + SshKeyLastUpdated?: string; /** - *

            The ARN of the IAM role assigned to the HSM.

            + *

            The date and time that the server certificate was last updated.

            */ - IamRoleArn?: string; + ServerCertLastUpdated?: string; /** - *

            Contains additional information about the status of the HSM.

            + *

            The subscription end date.

            */ - StatusDetails?: string; + SubscriptionEndDate?: string; /** - *

            The identifier of the elastic network interface (ENI) attached to the HSM.

            + *

            Specifies the type of subscription for the HSM.

            + *
              + *
            • + *

              + * PRODUCTION - The HSM is being used in a production + * environment.

              + *
            • + *
            • + *

              + * TRIAL - The HSM is being used in a product + * trial.

              + *
            • + *
            */ - EniId?: string; + SubscriptionType?: SubscriptionType | string; /** - *

            The identifier of the VPC that the HSM is in.

            + *

            Contains additional information about the status of the HSM.

            */ - VpcId?: string; + StatusDetails?: string; /** - *

            The Availability Zone that the HSM is in.

            + *

            The ARN of the IAM role assigned to the HSM.

            */ - AvailabilityZone?: string; + IamRoleArn?: string; /** - *

            The date and time that the SSH key was last updated.

            + *

            The identifier of the VPC that the HSM is in.

            */ - SshKeyLastUpdated?: string; + VpcId?: string; /** - *

            The public SSH key.

            + *

            The Availability Zone that the HSM is in.

            */ - SshPublicKey?: string; + AvailabilityZone?: string; /** - *

            The HSM software version.

            + *

            The status of the HSM.

            */ - SoftwareVersion?: string; + Status?: HsmStatus | string; /** - *

            The date and time that the server certificate was last updated.

            + *

            The identifier of the elastic network interface (ENI) attached to the HSM.

            */ - ServerCertLastUpdated?: string; + EniId?: string; /** - *

            The subscription end date.

            + *

            The IP address assigned to the HSM's ENI.

            */ - SubscriptionEndDate?: string; + EniIp?: string; /** *

            The ARN of the HSM.

            @@ -563,21 +575,9 @@ export interface DescribeHsmResponse { HsmArn?: string; /** - *

            Specifies the type of subscription for the HSM.

            - *
              - *
            • - *

              - * PRODUCTION - The HSM is being used in a production - * environment.

              - *
            • - *
            • - *

              - * TRIAL - The HSM is being used in a product - * trial.

              - *
            • - *
            + *

            The identifier of the subnet that the HSM is in.

            */ - SubscriptionType?: SubscriptionType | string; + SubnetId?: string; /** *

            The HSM model type.

            @@ -585,29 +585,29 @@ export interface DescribeHsmResponse { HsmType?: string; /** - *

            The URI of the certificate server.

            + *

            The serial number of the HSM.

            */ - ServerCertUri?: string; + SerialNumber?: string; /** - *

            The list of partitions on the HSM.

            + *

            The public SSH key.

            */ - Partitions?: string[]; + SshPublicKey?: string; /** - *

            The status of the HSM.

            + *

            The subscription start date.

            */ - Status?: HsmStatus | string; + SubscriptionStartDate?: string; /** - *

            The IP address assigned to the HSM's ENI.

            + *

            The name of the HSM vendor.

            */ - EniIp?: string; + VendorName?: string; /** - *

            The serial number of the HSM.

            + *

            The URI of the certificate server.

            */ - SerialNumber?: string; + ServerCertUri?: string; } export namespace DescribeHsmResponse { @@ -636,9 +636,9 @@ export namespace DescribeLunaClientRequest { export interface DescribeLunaClientResponse { /** - *

            The label of the client.

            + *

            The ARN of the client.

            */ - Label?: string; + ClientArn?: string; /** *

            The certificate fingerprint.

            @@ -646,14 +646,14 @@ export interface DescribeLunaClientResponse { CertificateFingerprint?: string; /** - *

            The ARN of the client.

            + *

            The date and time the client was last modified.

            */ - ClientArn?: string; + LastModifiedTimestamp?: string; /** - *

            The date and time the client was last modified.

            + *

            The label of the client.

            */ - LastModifiedTimestamp?: string; + Label?: string; /** *

            The certificate installed on the HSMs used by this client.

            @@ -698,14 +698,14 @@ export interface GetConfigResponse { ConfigType?: string; /** - *

            The certificate file containing the server.pem files of the HSMs.

            + *

            The chrystoki.conf configuration file.

            */ - ConfigCred?: string; + ConfigFile?: string; /** - *

            The chrystoki.conf configuration file.

            + *

            The certificate file containing the server.pem files of the HSMs.

            */ - ConfigFile?: string; + ConfigCred?: string; } export namespace GetConfigResponse { @@ -907,6 +907,16 @@ export namespace ModifyHapgResponse { *

            Contains the inputs for the ModifyHsm operation.

            */ export interface ModifyHsmRequest { + /** + *

            The new external ID.

            + */ + ExternalId?: string; + + /** + *

            The ARN of the HSM to modify.

            + */ + HsmArn: string | undefined; + /** *

            The new identifier of the subnet that the HSM is in. The new subnet must be in the same * Availability Zone as the current subnet.

            @@ -914,9 +924,9 @@ export interface ModifyHsmRequest { SubnetId?: string; /** - *

            The new external ID.

            + *

            The new IAM role ARN.

            */ - ExternalId?: string; + IamRoleArn?: string; /** *

            The new IP address for the elastic network interface (ENI) attached to the @@ -926,16 +936,6 @@ export interface ModifyHsmRequest { */ EniIp?: string; - /** - *

            The ARN of the HSM to modify.

            - */ - HsmArn: string | undefined; - - /** - *

            The new IAM role ARN.

            - */ - IamRoleArn?: string; - /** *

            The new IP address for the syslog monitoring server. The AWS CloudHSM service only supports * one syslog monitoring server.

            diff --git a/clients/client-cloudsearch-domain/models/models_0.ts b/clients/client-cloudsearch-domain/models/models_0.ts index fe709f0048b9..a9f9d94e545b 100644 --- a/clients/client-cloudsearch-domain/models/models_0.ts +++ b/clients/client-cloudsearch-domain/models/models_0.ts @@ -26,97 +26,6 @@ export type QueryParser = "dismax" | "lucene" | "simple" | "structured"; *

            Container for the parameters to the Search request.

            */ export interface SearchRequest { - /** - *

            Specifies one or more fields for which to get statistics information. Each specified field must be facet-enabled in the domain configuration. The fields are specified in JSON using the form:

            - * {"FIELD-A":{},"FIELD-B":{}} - *

            There are currently no options supported for statistics.

            - */ - stats?: string; - - /** - *

            Specifies the search criteria for the request. How you specify the search - * criteria depends on the query parser used for the request and the parser options - * specified in the queryOptions parameter. By default, - * the simple query parser is used to process requests. To use - * the structured, lucene, or dismax query parser, - * you must also specify the queryParser parameter.

            - *

            For more information about specifying search criteria, see Searching Your Data in the Amazon CloudSearch Developer Guide.

            - */ - query: string | undefined; - - /** - *

            Specifies which - * query parser to use to process the request. If queryParser is not specified, Amazon CloudSearch - * uses the simple query parser.

            - *

            Amazon CloudSearch supports four query parsers:

            - *
              - *
            • - * simple: perform simple searches of text and - * text-array fields. By default, the - * simple query parser searches all - * text and text-array fields. You - * can specify which fields to search by with the - * queryOptions parameter. If you prefix a search - * term with a plus sign (+) documents must contain the term to be considered a match. - * (This is the default, unless you configure the default operator with the queryOptions parameter.) - * You can use the - (NOT), | - * (OR), and * (wildcard) operators to exclude - * particular terms, find results that match any of the specified - * terms, or search for a prefix. To search for a phrase rather - * than individual terms, enclose the phrase in double quotes. For - * more information, see Searching for Text in the Amazon CloudSearch Developer Guide. - *
            • - *
            • - * structured: perform advanced searches by combining - * multiple expressions to define the search criteria. You can also search - * within particular fields, search for values and ranges of values, and use - * advanced options such as term boosting, matchall, and near. - * For more information, see Constructing Compound Queries in the Amazon CloudSearch Developer Guide. - *
            • - *
            • - * lucene: search using the Apache Lucene query parser syntax. - * For more information, see Apache Lucene Query Parser Syntax. - *
            • - *
            • - * dismax: search using the simplified subset of the Apache Lucene query parser syntax - * defined by the DisMax query parser. - * For more information, see DisMax Query Parser Syntax. - *
            • - * - *
            - */ - queryParser?: QueryParser | string; - - /** - *

            Specifies the offset of the first search hit you want to return. Note that the result set is zero-based; the first result is at index 0. You can specify either the start or cursor parameter in a request, they are mutually exclusive.

            - *

            For more information, see Paginating Results in the Amazon CloudSearch Developer Guide.

            - */ - start?: number; - - /** - *

            Retrieves a cursor value you can use to page through large result sets. - * Use the size parameter to control the number of hits to include in each response. You can specify either the cursor or - * start parameter in a request; they are mutually exclusive. To get the first cursor, set the cursor value to initial. In subsequent requests, specify the cursor value returned in the hits section of the response.

            - *

            For more - * information, see Paginating Results in the Amazon CloudSearch Developer Guide.

            - */ - cursor?: string; - - /** - *

            Specifies the fields or custom expressions to use to sort the search - * results. Multiple fields or expressions are specified as a comma-separated list. - * You must specify the sort direction (asc or - * desc) for each field; for example, year - * desc,title asc. To use a field to sort results, the field must be sort-enabled in - * the domain configuration. Array type fields cannot be used for sorting. - * If no sort parameter is specified, results are sorted by - * their default relevance scores in descending order: _score - * desc. You can also sort by document ID - * (_id asc) and version (_version desc).

            - *

            For more information, see Sorting Results in the Amazon CloudSearch Developer Guide.

            - */ - sort?: string; - /** *

            Defines one or more numeric expressions that can be used to sort results or specify search criteria. You can also specify expressions as return fields.

            *

            You specify the expressions in JSON using the form {"EXPRESSIONNAME":"EXPRESSION"}. You can define and use multiple expressions in a search request. For example:

            @@ -187,6 +96,43 @@ export interface SearchRequest { */ queryOptions?: string; + /** + *

            Specifies the field and expression values to include in the response. Multiple fields or expressions are specified as a comma-separated list. By default, a search response includes all + * return enabled fields (_all_fields). + * To return only the document IDs for the matching documents, + * specify _no_fields. + * To retrieve the relevance score calculated for each document, + * specify _score.

            + */ + return?: string; + + /** + *

            Enables partial results to be returned if one or more index partitions are unavailable. When your search index is partitioned across multiple search instances, by default Amazon CloudSearch only returns results if every partition can be queried. This means that the failure of a single search instance can result in 5xx (internal server) errors. When you enable partial results, Amazon CloudSearch returns whatever results are available and includes the percentage of documents searched in the search results (percent-searched). This enables you to more gracefully degrade your users' search experience. For example, rather than displaying no results, you could display the partial results and a message indicating that the results might be incomplete due to a temporary system outage.

            + */ + partial?: boolean; + + /** + *

            Specifies a structured query that filters the results of a search without affecting how the results are scored and sorted. You use filterQuery in conjunction with the query parameter to filter the documents that match the constraints specified in the query parameter. Specifying a filter controls only which matching documents are included in the results, it has no effect on how they are scored and sorted. The filterQuery parameter supports the full structured query syntax.

            + *

            For more information about using filters, see Filtering Matching Documents + * in the Amazon CloudSearch Developer Guide.

            + */ + filterQuery?: string; + + /** + *

            Specifies the fields or custom expressions to use to sort the search + * results. Multiple fields or expressions are specified as a comma-separated list. + * You must specify the sort direction (asc or + * desc) for each field; for example, year + * desc,title asc. To use a field to sort results, the field must be sort-enabled in + * the domain configuration. Array type fields cannot be used for sorting. + * If no sort parameter is specified, results are sorted by + * their default relevance scores in descending order: _score + * desc. You can also sort by document ID + * (_id asc) and version (_version desc).

            + *

            For more information, see Sorting Results in the Amazon CloudSearch Developer Guide.

            + */ + sort?: string; + /** *

            Specifies one or more fields for which to get facet information, and options that control how the facet information is returned. Each specified field must be facet-enabled in the domain configuration. The fields and options are specified in JSON using the form {"FIELD":{"OPTION":VALUE,"OPTION:"STRING"},"FIELD":{"OPTION":VALUE,"OPTION":"STRING"}}.

            *

            You can specify the following faceting options:

            @@ -245,6 +191,17 @@ export interface SearchRequest { */ size?: number; + /** + *

            Specifies the search criteria for the request. How you specify the search + * criteria depends on the query parser used for the request and the parser options + * specified in the queryOptions parameter. By default, + * the simple query parser is used to process requests. To use + * the structured, lucene, or dismax query parser, + * you must also specify the queryParser parameter.

            + *

            For more information about specifying search criteria, see Searching Your Data in the Amazon CloudSearch Developer Guide.

            + */ + query: string | undefined; + /** *

            Retrieves highlights for matches in the specified text or * text-array fields. Each specified field must be highlight enabled in the domain configuration. The fields and options are specified in JSON using the form {"FIELD":{"OPTION":VALUE,"OPTION:"STRING"},"FIELD":{"OPTION":VALUE,"OPTION":"STRING"}}.

            @@ -285,26 +242,69 @@ export interface SearchRequest { highlight?: string; /** - *

            Specifies a structured query that filters the results of a search without affecting how the results are scored and sorted. You use filterQuery in conjunction with the query parameter to filter the documents that match the constraints specified in the query parameter. Specifying a filter controls only which matching documents are included in the results, it has no effect on how they are scored and sorted. The filterQuery parameter supports the full structured query syntax.

            - *

            For more information about using filters, see Filtering Matching Documents - * in the Amazon CloudSearch Developer Guide.

            + *

            Specifies the offset of the first search hit you want to return. Note that the result set is zero-based; the first result is at index 0. You can specify either the start or cursor parameter in a request, they are mutually exclusive.

            + *

            For more information, see Paginating Results in the Amazon CloudSearch Developer Guide.

            */ - filterQuery?: string; + start?: number; /** - *

            Specifies the field and expression values to include in the response. Multiple fields or expressions are specified as a comma-separated list. By default, a search response includes all - * return enabled fields (_all_fields). - * To return only the document IDs for the matching documents, - * specify _no_fields. - * To retrieve the relevance score calculated for each document, - * specify _score.

            + *

            Specifies which + * query parser to use to process the request. If queryParser is not specified, Amazon CloudSearch + * uses the simple query parser.

            + *

            Amazon CloudSearch supports four query parsers:

            + *
              + *
            • + * simple: perform simple searches of text and + * text-array fields. By default, the + * simple query parser searches all + * text and text-array fields. You + * can specify which fields to search by with the + * queryOptions parameter. If you prefix a search + * term with a plus sign (+) documents must contain the term to be considered a match. + * (This is the default, unless you configure the default operator with the queryOptions parameter.) + * You can use the - (NOT), | + * (OR), and * (wildcard) operators to exclude + * particular terms, find results that match any of the specified + * terms, or search for a prefix. To search for a phrase rather + * than individual terms, enclose the phrase in double quotes. For + * more information, see Searching for Text in the Amazon CloudSearch Developer Guide. + *
            • + *
            • + * structured: perform advanced searches by combining + * multiple expressions to define the search criteria. You can also search + * within particular fields, search for values and ranges of values, and use + * advanced options such as term boosting, matchall, and near. + * For more information, see Constructing Compound Queries in the Amazon CloudSearch Developer Guide. + *
            • + *
            • + * lucene: search using the Apache Lucene query parser syntax. + * For more information, see Apache Lucene Query Parser Syntax. + *
            • + *
            • + * dismax: search using the simplified subset of the Apache Lucene query parser syntax + * defined by the DisMax query parser. + * For more information, see DisMax Query Parser Syntax. + *
            • + * + *
            */ - return?: string; + queryParser?: QueryParser | string; /** - *

            Enables partial results to be returned if one or more index partitions are unavailable. When your search index is partitioned across multiple search instances, by default Amazon CloudSearch only returns results if every partition can be queried. This means that the failure of a single search instance can result in 5xx (internal server) errors. When you enable partial results, Amazon CloudSearch returns whatever results are available and includes the percentage of documents searched in the search results (percent-searched). This enables you to more gracefully degrade your users' search experience. For example, rather than displaying no results, you could display the partial results and a message indicating that the results might be incomplete due to a temporary system outage.

            + *

            Retrieves a cursor value you can use to page through large result sets. + * Use the size parameter to control the number of hits to include in each response. You can specify either the cursor or + * start parameter in a request; they are mutually exclusive. To get the first cursor, set the cursor value to initial. In subsequent requests, specify the cursor value returned in the hits section of the response.

            + *

            For more + * information, see Paginating Results in the Amazon CloudSearch Developer Guide.

            */ - partial?: boolean; + cursor?: string; + + /** + *

            Specifies one or more fields for which to get statistics information. Each specified field must be facet-enabled in the domain configuration. The fields are specified in JSON using the form:

            + * {"FIELD-A":{},"FIELD-B":{}} + *

            There are currently no options supported for statistics.

            + */ + stats?: string; } export namespace SearchRequest { @@ -423,30 +423,31 @@ export interface FieldStats { max?: string; /** - *

            The standard deviation of the values in the specified field in the result set.

            + *

            The minimum value found in the specified field in the result set.

            + *

            If the field is numeric (int, int-array, double, or double-array), min is the string representation of a double-precision 64-bit floating point value. If the field is date or date-array, min is the string representation of a date with the format specified in IETF RFC3339: yyyy-mm-ddTHH:mm:ss.SSSZ.

            */ - stddev?: number; + min?: string; /** - *

            The average of the values found in the specified field in the result set.

            - *

            If the field is numeric (int, int-array, double, or double-array), mean is the string representation of a double-precision 64-bit floating point value. If the field is date or date-array, mean is the string representation of a date with the format specified in IETF RFC3339: yyyy-mm-ddTHH:mm:ss.SSSZ.

            + *

            The sum of all field values in the result set squared.

            */ - mean?: string; + sumOfSquares?: number; /** - *

            The sum of all field values in the result set squared.

            + *

            The number of documents that contain a value in the specified field in the result set.

            */ - sumOfSquares?: number; + count?: number; /** - *

            The sum of the field values across the documents in the result set. null for date fields.

            + *

            The average of the values found in the specified field in the result set.

            + *

            If the field is numeric (int, int-array, double, or double-array), mean is the string representation of a double-precision 64-bit floating point value. If the field is date or date-array, mean is the string representation of a date with the format specified in IETF RFC3339: yyyy-mm-ddTHH:mm:ss.SSSZ.

            */ - sum?: number; + mean?: string; /** - *

            The number of documents that contain a value in the specified field in the result set.

            + *

            The sum of the field values across the documents in the result set. null for date fields.

            */ - count?: number; + sum?: number; /** *

            The number of documents that do not contain a value in the specified field in the result set.

            @@ -454,10 +455,9 @@ export interface FieldStats { missing?: number; /** - *

            The minimum value found in the specified field in the result set.

            - *

            If the field is numeric (int, int-array, double, or double-array), min is the string representation of a double-precision 64-bit floating point value. If the field is date or date-array, min is the string representation of a date with the format specified in IETF RFC3339: yyyy-mm-ddTHH:mm:ss.SSSZ.

            + *

            The standard deviation of the values in the specified field in the result set.

            */ - min?: string; + stddev?: number; } export namespace FieldStats { @@ -523,14 +523,14 @@ export namespace SearchResponse { */ export interface SuggestRequest { /** - *

            Specifies the string for which you want to get suggestions.

            + *

            Specifies the maximum number of suggestions to return.

            */ - query: string | undefined; + size?: number; /** - *

            Specifies the maximum number of suggestions to return.

            + *

            Specifies the string for which you want to get suggestions.

            */ - size?: number; + query: string | undefined; /** *

            Specifies the name of the suggester to use to find suggested matches.

            @@ -575,14 +575,14 @@ export interface SuggestionMatch { id?: string; /** - *

            The relevance score of a suggested match.

            + *

            The string that matches the query string specified in the SuggestRequest.

            */ - score?: number; + suggestion?: string; /** - *

            The string that matches the query string specified in the SuggestRequest.

            + *

            The relevance score of a suggested match.

            */ - suggestion?: string; + score?: number; } export namespace SuggestionMatch { diff --git a/clients/client-cloudsearch-domain/protocols/Aws_restJson1.ts b/clients/client-cloudsearch-domain/protocols/Aws_restJson1.ts index d7a748baefbf..5b08bdab65e3 100644 --- a/clients/client-cloudsearch-domain/protocols/Aws_restJson1.ts +++ b/clients/client-cloudsearch-domain/protocols/Aws_restJson1.ts @@ -38,20 +38,20 @@ export const serializeAws_restJson1SearchCommand = async ( const query: any = { format: "sdk", pretty: "true", - ...(input.stats !== undefined && { stats: input.stats }), - ...(input.query !== undefined && { q: input.query }), - ...(input.queryParser !== undefined && { "q.parser": input.queryParser }), - ...(input.start !== undefined && { start: input.start.toString() }), - ...(input.cursor !== undefined && { cursor: input.cursor }), - ...(input.sort !== undefined && { sort: input.sort }), ...(input.expr !== undefined && { expr: input.expr }), ...(input.queryOptions !== undefined && { "q.options": input.queryOptions }), + ...(input.return !== undefined && { return: input.return }), + ...(input.partial !== undefined && { partial: input.partial.toString() }), + ...(input.filterQuery !== undefined && { fq: input.filterQuery }), + ...(input.sort !== undefined && { sort: input.sort }), ...(input.facet !== undefined && { facet: input.facet }), ...(input.size !== undefined && { size: input.size.toString() }), + ...(input.query !== undefined && { q: input.query }), ...(input.highlight !== undefined && { highlight: input.highlight }), - ...(input.filterQuery !== undefined && { fq: input.filterQuery }), - ...(input.return !== undefined && { return: input.return }), - ...(input.partial !== undefined && { partial: input.partial.toString() }), + ...(input.start !== undefined && { start: input.start.toString() }), + ...(input.queryParser !== undefined && { "q.parser": input.queryParser }), + ...(input.cursor !== undefined && { cursor: input.cursor }), + ...(input.stats !== undefined && { stats: input.stats }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -78,8 +78,8 @@ export const serializeAws_restJson1SuggestCommand = async ( const query: any = { format: "sdk", pretty: "true", - ...(input.query !== undefined && { q: input.query }), ...(input.size !== undefined && { size: input.size.toString() }), + ...(input.query !== undefined && { q: input.query }), ...(input.suggester !== undefined && { suggester: input.suggester }), }; let body: any; diff --git a/clients/client-cloudsearch/models/models_0.ts b/clients/client-cloudsearch/models/models_0.ts index bd68040460f4..ff880b45b30b 100644 --- a/clients/client-cloudsearch/models/models_0.ts +++ b/clients/client-cloudsearch/models/models_0.ts @@ -136,8 +136,8 @@ export namespace ServiceEndpoint { } export interface Limits { - MaximumReplicationCount: number | undefined; MaximumPartitionCount: number | undefined; + MaximumReplicationCount: number | undefined; } export namespace Limits { @@ -151,29 +151,30 @@ export namespace Limits { */ export interface DomainStatus { /** - *

            True if IndexDocuments needs to be called to activate the current domain configuration.

            + *

            The number of partitions across which the search index is spread.

            */ - RequiresIndexDocuments: boolean | undefined; + SearchPartitionCount?: number; /** - *

            The instance type that is being used to process search requests.

            + *

            The service endpoint for requesting search results from a search domain.

            */ - SearchInstanceType?: string; + SearchService?: ServiceEndpoint; /** - *

            True if processing is being done to activate the current domain configuration.

            + *

            An internally generated unique identifier for a domain.

            */ - Processing?: boolean; + DomainId: string | undefined; + Limits?: Limits; /** - *

            True if the search domain has been deleted. The system must clean up resources dedicated to the search domain when DeleteDomain is called. Newly deleted search domains are returned from DescribeDomains with a true value for IsDeleted for several minutes until resource cleanup is complete.

            + *

            True if IndexDocuments needs to be called to activate the current domain configuration.

            */ - Deleted?: boolean; + RequiresIndexDocuments: boolean | undefined; /** - *

            The Amazon Resource Name (ARN) of the search domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.

            + *

            True if the search domain has been deleted. The system must clean up resources dedicated to the search domain when DeleteDomain is called. Newly deleted search domains are returned from DescribeDomains with a true value for IsDeleted for several minutes until resource cleanup is complete.

            */ - ARN?: string; + Deleted?: boolean; /** *

            The number of search instances that are available to process search requests.

            @@ -181,35 +182,34 @@ export interface DomainStatus { SearchInstanceCount?: number; /** - *

            True if the search domain is created. It can take several minutes to initialize a domain when CreateDomain is called. Newly created search domains are returned from DescribeDomains with a false value for Created until domain creation is complete.

            + *

            True if processing is being done to activate the current domain configuration.

            */ - Created?: boolean; + Processing?: boolean; /** - *

            An internally generated unique identifier for a domain.

            + *

            The service endpoint for updating documents in a search domain.

            */ - DomainId: string | undefined; + DocService?: ServiceEndpoint; /** - *

            The service endpoint for requesting search results from a search domain.

            + *

            The Amazon Resource Name (ARN) of the search domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.

            */ - SearchService?: ServiceEndpoint; + ARN?: string; - Limits?: Limits; /** - *

            The number of partitions across which the search index is spread.

            + *

            True if the search domain is created. It can take several minutes to initialize a domain when CreateDomain is called. Newly created search domains are returned from DescribeDomains with a false value for Created until domain creation is complete.

            */ - SearchPartitionCount?: number; + Created?: boolean; /** - *

            The service endpoint for updating documents in a search domain.

            + *

            A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

            */ - DocService?: ServiceEndpoint; + DomainName: string | undefined; /** - *

            A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

            + *

            The instance type that is being used to process search requests.

            */ - DomainName: string | undefined; + SearchInstanceType?: string; } export namespace DomainStatus { @@ -241,14 +241,14 @@ export interface LimitExceededException extends __SmithyException, $MetadataBear name: "LimitExceededException"; $fault: "client"; /** - *

            A human-readable string error or warning message.

            + *

            A machine-parsable string error or warning code.

            */ - Message?: string; + Code?: string; /** - *

            A machine-parsable string error or warning code.

            + *

            A human-readable string error or warning message.

            */ - Code?: string; + Message?: string; } export namespace LimitExceededException { @@ -264,14 +264,14 @@ export type AlgorithmicStemming = "full" | "light" | "minimal" | "none"; */ export interface AnalysisOptions { /** - *

            A JSON object that contains a collection of string:value pairs that each map a term to its stem. For example, {"term1": "stem1", "term2": "stem2", "term3": "stem3"}. The stemming dictionary is applied in addition to any algorithmic stemming. This enables you to override the results of the algorithmic stemming to correct specific cases of overstemming or understemming. The maximum size of a stemming dictionary is 500 KB.

            + *

            A JSON array of terms to ignore during indexing and searching. For example, ["a", "an", "the", "of"]. The stopwords dictionary must explicitly list each word you want to ignore. Wildcards and regular expressions are not supported.

            */ - StemmingDictionary?: string; + Stopwords?: string; /** - *

            The level of algorithmic stemming to perform: none, minimal, light, or full. The available levels vary depending on the language. For more information, see Language Specific Text Processing Settings in the Amazon CloudSearch Developer Guide

            + *

            A JSON array that contains a collection of terms, tokens, readings and part of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary enables you to override the default tokenization for selected terms. This is only valid for Japanese language fields.

            */ - AlgorithmicStemming?: AlgorithmicStemming | string; + JapaneseTokenizationDictionary?: string; /** *

            A JSON object that defines synonym groups and aliases. A synonym group is an array of arrays, where each sub-array is a group of terms where each term in the group is considered a synonym of every other term in the group. The aliases value is an object that contains a collection of string:value pairs where the string specifies a term and the array of values specifies each of the aliases for that term. An alias is considered a synonym of the specified term, but the term is not considered a synonym of the alias. For more information about specifying synonyms, see Synonyms in the Amazon CloudSearch Developer Guide.

            @@ -279,14 +279,14 @@ export interface AnalysisOptions { Synonyms?: string; /** - *

            A JSON array that contains a collection of terms, tokens, readings and part of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary enables you to override the default tokenization for selected terms. This is only valid for Japanese language fields.

            + *

            The level of algorithmic stemming to perform: none, minimal, light, or full. The available levels vary depending on the language. For more information, see Language Specific Text Processing Settings in the Amazon CloudSearch Developer Guide

            */ - JapaneseTokenizationDictionary?: string; + AlgorithmicStemming?: AlgorithmicStemming | string; /** - *

            A JSON array of terms to ignore during indexing and searching. For example, ["a", "an", "the", "of"]. The stopwords dictionary must explicitly list each word you want to ignore. Wildcards and regular expressions are not supported.

            + *

            A JSON object that contains a collection of string:value pairs that each map a term to its stem. For example, {"term1": "stem1", "term2": "stem2", "term3": "stem3"}. The stemming dictionary is applied in addition to any algorithmic stemming. This enables you to override the results of the algorithmic stemming to correct specific cases of overstemming or understemming. The maximum size of a stemming dictionary is 500 KB.

            */ - Stopwords?: string; + StemmingDictionary?: string; } export namespace AnalysisOptions { @@ -364,14 +364,14 @@ export namespace AnalysisScheme { */ export interface DefineAnalysisSchemeRequest { /** - *

            Configuration information for an analysis scheme. Each analysis scheme has a unique name and specifies the language of the text to be processed. The following options can be configured for an analysis scheme: Synonyms, Stopwords, StemmingDictionary, JapaneseTokenizationDictionary and AlgorithmicStemming.

            + *

            A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

            */ - AnalysisScheme: AnalysisScheme | undefined; + DomainName: string | undefined; /** - *

            A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

            + *

            Configuration information for an analysis scheme. Each analysis scheme has a unique name and specifies the language of the text to be processed. The following options can be configured for an analysis scheme: Synonyms, Stopwords, StemmingDictionary, JapaneseTokenizationDictionary and AlgorithmicStemming.

            */ - DomainName: string | undefined; + AnalysisScheme: AnalysisScheme | undefined; } export namespace DefineAnalysisSchemeRequest { @@ -387,19 +387,19 @@ export type OptionState = "Active" | "FailedToValidate" | "Processing" | "Requir */ export interface OptionStatus { /** - *

            A timestamp for when this option was created.

            + *

            A timestamp for when this option was last updated.

            */ - CreationDate: Date | undefined; + UpdateDate: Date | undefined; /** - *

            A unique integer that indicates when this option was last updated.

            + *

            Indicates that the option will be deleted once processing is complete.

            */ - UpdateVersion?: number; + PendingDeletion?: boolean; /** - *

            Indicates that the option will be deleted once processing is complete.

            + *

            A timestamp for when this option was created.

            */ - PendingDeletion?: boolean; + CreationDate: Date | undefined; /** *

            The state of processing a change to an option. Possible values:

              @@ -412,9 +412,9 @@ export interface OptionStatus { State: OptionState | string | undefined; /** - *

              A timestamp for when this option was last updated.

              + *

              A unique integer that indicates when this option was last updated.

              */ - UpdateDate: Date | undefined; + UpdateVersion?: number; } export namespace OptionStatus { @@ -578,14 +578,14 @@ export interface DateArrayOptions { ReturnEnabled?: boolean; /** - *

              A list of source fields to map to the field.

              + *

              Whether the contents of the field are searchable.

              */ - SourceFields?: string; + SearchEnabled?: boolean; /** - *

              Whether the contents of the field are searchable.

              + *

              A list of source fields to map to the field.

              */ - SearchEnabled?: boolean; + SourceFields?: string; /** *

              Whether facet information can be returned for the field.

              @@ -604,9 +604,22 @@ export namespace DateArrayOptions { */ export interface DateOptions { /** - *

              Whether facet information can be returned for the field.

              + *

              A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. + * A dynamic field's name defines a pattern that begins or ends with a wildcard. + * Any document fields that don't map to a regular index field but do match a + * dynamic field's pattern are configured with the dynamic field's indexing options. + *

              + *

              Regular field names begin with a letter and can contain the following characters: + * a-z (lowercase), 0-9, and _ (underscore). + * Dynamic field names must begin or end with a wildcard (*). + * The wildcard can also be the only character in a dynamic field name. + * Multiple wildcards, and wildcards embedded within a string are not supported. + *

              + *

              The name score is reserved and cannot be used as a field name. + * To reference a document's ID, you can use the name _id. + *

              */ - FacetEnabled?: boolean; + SourceField?: string; /** *

              Whether the contents of the field are searchable.

              @@ -614,37 +627,24 @@ export interface DateOptions { SearchEnabled?: boolean; /** - * A value to use for the field if the field isn't specified for a document. + *

              Whether the field can be used to sort the search results.

              */ - DefaultValue?: string; + SortEnabled?: boolean; /** - *

              Whether the field can be used to sort the search results.

              + *

              Whether facet information can be returned for the field.

              */ - SortEnabled?: boolean; + FacetEnabled?: boolean; /** - *

              Whether the contents of the field can be returned in the search results.

              + * A value to use for the field if the field isn't specified for a document. */ - ReturnEnabled?: boolean; + DefaultValue?: string; /** - *

              A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. - * A dynamic field's name defines a pattern that begins or ends with a wildcard. - * Any document fields that don't map to a regular index field but do match a - * dynamic field's pattern are configured with the dynamic field's indexing options. - *

              - *

              Regular field names begin with a letter and can contain the following characters: - * a-z (lowercase), 0-9, and _ (underscore). - * Dynamic field names must begin or end with a wildcard (*). - * The wildcard can also be the only character in a dynamic field name. - * Multiple wildcards, and wildcards embedded within a string are not supported. - *

              - *

              The name score is reserved and cannot be used as a field name. - * To reference a document's ID, you can use the name _id. - *

              + *

              Whether the contents of the field can be returned in the search results.

              */ - SourceField?: string; + ReturnEnabled?: boolean; } export namespace DateOptions { @@ -662,11 +662,6 @@ export interface DoubleArrayOptions { */ FacetEnabled?: boolean; - /** - *

              A list of source fields to map to the field.

              - */ - SourceFields?: string; - /** *

              Whether the contents of the field are searchable.

              */ @@ -681,6 +676,11 @@ export interface DoubleArrayOptions { *

              Whether the contents of the field can be returned in the search results.

              */ ReturnEnabled?: boolean; + + /** + *

              A list of source fields to map to the field.

              + */ + SourceFields?: string; } export namespace DoubleArrayOptions { @@ -704,24 +704,24 @@ export interface DoubleOptions { SourceField?: string; /** - *

              Whether the field can be used to sort the search results.

              + *

              Whether the contents of the field can be returned in the search results.

              */ - SortEnabled?: boolean; + ReturnEnabled?: boolean; /** - *

              Whether facet information can be returned for the field.

              + *

              Whether the field can be used to sort the search results.

              */ - FacetEnabled?: boolean; + SortEnabled?: boolean; /** - *

              Whether the contents of the field can be returned in the search results.

              + *

              A value to use for the field if the field isn't specified for a document. This can be important if you are using the field in an expression and that field is not present in every document.

              */ - ReturnEnabled?: boolean; + DefaultValue?: number; /** - *

              A value to use for the field if the field isn't specified for a document. This can be important if you are using the field in an expression and that field is not present in every document.

              + *

              Whether facet information can be returned for the field.

              */ - DefaultValue?: number; + FacetEnabled?: boolean; } export namespace DoubleOptions { @@ -752,6 +752,11 @@ export interface IntArrayOptions { */ SearchEnabled?: boolean; + /** + *

              A list of source fields to map to the field.

              + */ + SourceFields?: string; + /** *

              Whether facet information can be returned for the field.

              */ @@ -762,11 +767,6 @@ export interface IntArrayOptions { */ DefaultValue?: number; - /** - *

              A list of source fields to map to the field.

              - */ - SourceFields?: string; - /** *

              Whether the contents of the field can be returned in the search results.

              */ @@ -788,6 +788,11 @@ export interface IntOptions { */ SortEnabled?: boolean; + /** + *

              The name of the source field to map to the field.

              + */ + SourceField?: string; + /** *

              Whether facet information can be returned for the field.

              */ @@ -798,20 +803,15 @@ export interface IntOptions { */ SearchEnabled?: boolean; - /** - * A value to use for the field if the field isn't specified for a document. This can be important if you are using the field in an expression and that field is not present in every document. - */ - DefaultValue?: number; - /** *

              Whether the contents of the field can be returned in the search results.

              */ ReturnEnabled?: boolean; /** - *

              The name of the source field to map to the field.

              + * A value to use for the field if the field isn't specified for a document. This can be important if you are using the field in an expression and that field is not present in every document. */ - SourceField?: string; + DefaultValue?: number; } export namespace IntOptions { @@ -824,16 +824,6 @@ export namespace IntOptions { *

              Options for a latlon field. A latlon field contains a location stored as a latitude and longitude value pair. Present if IndexFieldType specifies the field is of type latlon. All options are enabled by default.

              */ export interface LatLonOptions { - /** - *

              Whether the field can be used to sort the search results.

              - */ - SortEnabled?: boolean; - - /** - * A value to use for the field if the field isn't specified for a document. - */ - DefaultValue?: string; - /** *

              Whether the contents of the field can be returned in the search results.

              */ @@ -844,6 +834,11 @@ export interface LatLonOptions { */ SearchEnabled?: boolean; + /** + * A value to use for the field if the field isn't specified for a document. + */ + DefaultValue?: string; + /** *

              A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. * A dynamic field's name defines a pattern that begins or ends with a wildcard. @@ -866,6 +861,11 @@ export interface LatLonOptions { *

              Whether facet information can be returned for the field.

              */ FacetEnabled?: boolean; + + /** + *

              Whether the field can be used to sort the search results.

              + */ + SortEnabled?: boolean; } export namespace LatLonOptions { @@ -883,6 +883,11 @@ export interface LiteralArrayOptions { */ SearchEnabled?: boolean; + /** + *

              A list of source fields to map to the field.

              + */ + SourceFields?: string; + /** *

              Whether facet information can be returned for the field.

              */ @@ -897,11 +902,6 @@ export interface LiteralArrayOptions { *

              Whether the contents of the field can be returned in the search results.

              */ ReturnEnabled?: boolean; - - /** - *

              A list of source fields to map to the field.

              - */ - SourceFields?: string; } export namespace LiteralArrayOptions { @@ -924,11 +924,6 @@ export interface LiteralOptions { */ FacetEnabled?: boolean; - /** - *

              Whether the contents of the field are searchable.

              - */ - SearchEnabled?: boolean; - /** *

              A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. * A dynamic field's name defines a pattern that begins or ends with a wildcard. @@ -948,14 +943,19 @@ export interface LiteralOptions { SourceField?: string; /** - * A value to use for the field if the field isn't specified for a document. + *

              Whether the contents of the field are searchable.

              */ - DefaultValue?: string; + SearchEnabled?: boolean; /** *

              Whether the contents of the field can be returned in the search results.

              */ ReturnEnabled?: boolean; + + /** + * A value to use for the field if the field isn't specified for a document. + */ + DefaultValue?: string; } export namespace LiteralOptions { @@ -968,20 +968,15 @@ export namespace LiteralOptions { *

              Options for a field that contains an array of text strings. Present if IndexFieldType specifies the field is of type text-array. A text-array field is always searchable. All options are enabled by default.

              */ export interface TextArrayOptions { - /** - *

              Whether the contents of the field can be returned in the search results.

              - */ - ReturnEnabled?: boolean; - /** * A value to use for the field if the field isn't specified for a document. */ DefaultValue?: string; /** - *

              A list of source fields to map to the field.

              + *

              Whether the contents of the field can be returned in the search results.

              */ - SourceFields?: string; + ReturnEnabled?: boolean; /** *

              Whether highlights can be returned for the field.

              @@ -992,6 +987,11 @@ export interface TextArrayOptions { *

              The name of an analysis scheme for a text-array field.

              */ AnalysisScheme?: string; + + /** + *

              A list of source fields to map to the field.

              + */ + SourceFields?: string; } export namespace TextArrayOptions { @@ -1005,24 +1005,19 @@ export namespace TextArrayOptions { */ export interface TextOptions { /** - *

              Whether the contents of the field can be returned in the search results.

              - */ - ReturnEnabled?: boolean; - - /** - *

              Whether the field can be used to sort the search results.

              + * A value to use for the field if the field isn't specified for a document. */ - SortEnabled?: boolean; + DefaultValue?: string; /** - * A value to use for the field if the field isn't specified for a document. + *

              Whether the contents of the field can be returned in the search results.

              */ - DefaultValue?: string; + ReturnEnabled?: boolean; /** - *

              The name of an analysis scheme for a text field.

              + *

              Whether highlights can be returned for the field.

              */ - AnalysisScheme?: string; + HighlightEnabled?: boolean; /** *

              A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. @@ -1043,9 +1038,14 @@ export interface TextOptions { SourceField?: string; /** - *

              Whether highlights can be returned for the field.

              + *

              The name of an analysis scheme for a text field.

              */ - HighlightEnabled?: boolean; + AnalysisScheme?: string; + + /** + *

              Whether the field can be used to sort the search results.

              + */ + SortEnabled?: boolean; } export namespace TextOptions { @@ -1059,29 +1059,44 @@ export namespace TextOptions { */ export interface IndexField { /** - *

              Options for a double-precision 64-bit floating point field. Present if IndexFieldType specifies the field is of type double. All options are enabled by default.

              + *

              The type of field. The valid options for a field depend on the field type. For more information about the supported field types, see Configuring Index Fields in the Amazon CloudSearch Developer Guide.

              */ - DoubleOptions?: DoubleOptions; + IndexFieldType: IndexFieldType | string | undefined; /** - *

              Options for a field that contains an array of double-precision 64-bit floating point values. Present if IndexFieldType specifies the field is of type double-array. All options are enabled by default.

              + *

              Options for a 64-bit signed integer field. Present if IndexFieldType specifies the field is of type int. All options are enabled by default.

              */ - DoubleArrayOptions?: DoubleArrayOptions; + IntOptions?: IntOptions; /** - *

              Options for a latlon field. A latlon field contains a location stored as a latitude and longitude value pair. Present if IndexFieldType specifies the field is of type latlon. All options are enabled by default.

              + *

              Options for a field that contains an array of 64-bit signed integers. Present if IndexFieldType specifies the field is of type int-array. All options are enabled by default.

              */ - LatLonOptions?: LatLonOptions; + IntArrayOptions?: IntArrayOptions; /** - *

              Options for literal field. Present if IndexFieldType specifies the field is of type literal. All options are enabled by default.

              + *

              Options for text field. Present if IndexFieldType specifies the field is of type text. A text field is always searchable. All options are enabled by default.

              */ - LiteralOptions?: LiteralOptions; + TextOptions?: TextOptions; /** - *

              Options for a field that contains an array of dates. Present if IndexFieldType specifies the field is of type date-array. All options are enabled by default.

              + *

              Options for a field that contains an array of text strings. Present if IndexFieldType specifies the field is of type text-array. A text-array field is always searchable. All options are enabled by default.

              */ - DateArrayOptions?: DateArrayOptions; + TextArrayOptions?: TextArrayOptions; + + /** + *

              Options for a date field. Dates and times are specified in UTC (Coordinated Universal Time) according to IETF RFC3339: yyyy-mm-ddT00:00:00Z. Present if IndexFieldType specifies the field is of type date. All options are enabled by default.

              + */ + DateOptions?: DateOptions; + + /** + *

              Options for a double-precision 64-bit floating point field. Present if IndexFieldType specifies the field is of type double. All options are enabled by default.

              + */ + DoubleOptions?: DoubleOptions; + + /** + *

              Options for a latlon field. A latlon field contains a location stored as a latitude and longitude value pair. Present if IndexFieldType specifies the field is of type latlon. All options are enabled by default.

              + */ + LatLonOptions?: LatLonOptions; /** *

              A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. @@ -1102,34 +1117,19 @@ export interface IndexField { IndexFieldName: string | undefined; /** - *

              Options for a date field. Dates and times are specified in UTC (Coordinated Universal Time) according to IETF RFC3339: yyyy-mm-ddT00:00:00Z. Present if IndexFieldType specifies the field is of type date. All options are enabled by default.

              - */ - DateOptions?: DateOptions; - - /** - *

              Options for a 64-bit signed integer field. Present if IndexFieldType specifies the field is of type int. All options are enabled by default.

              - */ - IntOptions?: IntOptions; - - /** - *

              Options for text field. Present if IndexFieldType specifies the field is of type text. A text field is always searchable. All options are enabled by default.

              - */ - TextOptions?: TextOptions; - - /** - *

              Options for a field that contains an array of 64-bit signed integers. Present if IndexFieldType specifies the field is of type int-array. All options are enabled by default.

              + *

              Options for a field that contains an array of double-precision 64-bit floating point values. Present if IndexFieldType specifies the field is of type double-array. All options are enabled by default.

              */ - IntArrayOptions?: IntArrayOptions; + DoubleArrayOptions?: DoubleArrayOptions; /** - *

              Options for a field that contains an array of text strings. Present if IndexFieldType specifies the field is of type text-array. A text-array field is always searchable. All options are enabled by default.

              + *

              Options for literal field. Present if IndexFieldType specifies the field is of type literal. All options are enabled by default.

              */ - TextArrayOptions?: TextArrayOptions; + LiteralOptions?: LiteralOptions; /** - *

              The type of field. The valid options for a field depend on the field type. For more information about the supported field types, see Configuring Index Fields in the Amazon CloudSearch Developer Guide.

              + *

              Options for a field that contains an array of dates. Present if IndexFieldType specifies the field is of type date-array. All options are enabled by default.

              */ - IndexFieldType: IndexFieldType | string | undefined; + DateArrayOptions?: DateArrayOptions; /** *

              Options for a field that contains an array of literal strings. Present if IndexFieldType specifies the field is of type literal-array. All options are enabled by default.

              @@ -1148,14 +1148,14 @@ export namespace IndexField { */ export interface DefineIndexFieldRequest { /** - *

              The index field and field options you want to configure.

              + *

              A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

              */ - IndexField: IndexField | undefined; + DomainName: string | undefined; /** - *

              A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

              + *

              The index field and field options you want to configure.

              */ - DomainName: string | undefined; + IndexField: IndexField | undefined; } export namespace DefineIndexFieldRequest { @@ -1213,11 +1213,6 @@ export interface DocumentSuggesterOptions { */ SourceField: string | undefined; - /** - *

              The level of fuzziness allowed when suggesting matches for a string: none, low, or high. With none, the specified string is treated as an exact prefix. With low, suggestions must differ from the specified string by no more than one character. With high, suggestions can differ by up to two characters. The default is none.

              - */ - FuzzyMatching?: SuggesterFuzzyMatching | string; - /** *

              An expression that computes a score for each suggestion to control how they are sorted. The scores are rounded to the nearest * integer, with a floor of 0 and a ceiling of 2^31-1. A document's relevance score is not computed @@ -1227,6 +1222,11 @@ export interface DocumentSuggesterOptions { * suggestions are sorted with the closest matches listed first.

              */ SortExpression?: string; + + /** + *

              The level of fuzziness allowed when suggesting matches for a string: none, low, or high. With none, the specified string is treated as an exact prefix. With low, suggestions must differ from the specified string by no more than one character. With high, suggestions can differ by up to two characters. The default is none.

              + */ + FuzzyMatching?: SuggesterFuzzyMatching | string; } export namespace DocumentSuggesterOptions { @@ -1240,15 +1240,15 @@ export namespace DocumentSuggesterOptions { */ export interface Suggester { /** - *

              Names must begin with a letter and can contain the following characters: - * a-z (lowercase), 0-9, and _ (underscore).

              + *

              Options for a search suggester.

              */ - SuggesterName: string | undefined; + DocumentSuggesterOptions: DocumentSuggesterOptions | undefined; /** - *

              Options for a search suggester.

              + *

              Names must begin with a letter and can contain the following characters: + * a-z (lowercase), 0-9, and _ (underscore).

              */ - DocumentSuggesterOptions: DocumentSuggesterOptions | undefined; + SuggesterName: string | undefined; } export namespace Suggester { @@ -1426,14 +1426,14 @@ export namespace DeleteExpressionResponse { */ export interface DeleteIndexFieldRequest { /** - *

              The name of the index field your want to remove from the domain's indexing options.

              + *

              A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

              */ - IndexFieldName: string | undefined; + DomainName: string | undefined; /** - *

              A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

              + *

              The name of the index field your want to remove from the domain's indexing options.

              */ - DomainName: string | undefined; + IndexFieldName: string | undefined; } export namespace DeleteIndexFieldRequest { @@ -1542,14 +1542,14 @@ export namespace DescribeAnalysisSchemesResponse { */ export interface DescribeAvailabilityOptionsRequest { /** - *

              Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

              + *

              The name of the domain you want to describe.

              */ - Deployed?: boolean; + DomainName: string | undefined; /** - *

              The name of the domain you want to describe.

              + *

              Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

              */ - DomainName: string | undefined; + Deployed?: boolean; } export namespace DescribeAvailabilityOptionsRequest { @@ -1563,14 +1563,14 @@ export namespace DescribeAvailabilityOptionsRequest { */ export interface AvailabilityOptionsStatus { /** - *

              The availability options configured for the domain.

              + *

              The status of domain configuration option.

              */ - Options: boolean | undefined; + Status: OptionStatus | undefined; /** - *

              The status of domain configuration option.

              + *

              The availability options configured for the domain.

              */ - Status: OptionStatus | undefined; + Options: boolean | undefined; } export namespace AvailabilityOptionsStatus { @@ -1602,14 +1602,14 @@ export interface DisabledOperationException extends __SmithyException, $Metadata name: "DisabledOperationException"; $fault: "client"; /** - *

              A human-readable string error or warning message.

              + *

              A machine-parsable string error or warning code.

              */ - Message?: string; + Code?: string; /** - *

              A machine-parsable string error or warning code.

              + *

              A human-readable string error or warning message.

              */ - Code?: string; + Message?: string; } export namespace DisabledOperationException { @@ -1739,6 +1739,11 @@ export namespace DescribeDomainsResponse { * Specifies the name of the domain you want to describe. To restrict the response to particular expressions, specify the names of the expressions you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

              */ export interface DescribeExpressionsRequest { + /** + *

              The name of the domain you want to describe.

              + */ + DomainName: string | undefined; + /** *

              Limits the DescribeExpressions response to the specified expressions. If not specified, all expressions are shown.

              */ @@ -1748,11 +1753,6 @@ export interface DescribeExpressionsRequest { *

              Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

              */ Deployed?: boolean; - - /** - *

              The name of the domain you want to describe.

              - */ - DomainName: string | undefined; } export namespace DescribeExpressionsRequest { @@ -1787,14 +1787,14 @@ export interface DescribeIndexFieldsRequest { FieldNames?: string[]; /** - *

              The name of the domain you want to describe.

              + *

              Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

              */ - DomainName: string | undefined; + Deployed?: boolean; /** - *

              Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

              + *

              The name of the domain you want to describe.

              */ - Deployed?: boolean; + DomainName: string | undefined; } export namespace DescribeIndexFieldsRequest { @@ -1855,15 +1855,15 @@ export interface ScalingParameters { DesiredReplicationCount?: number; /** - *

              The number of partitions you want to preconfigure for your domain. Only valid when - * you select m2.2xlarge as the desired instance type.

              + *

              The instance type that you want to preconfigure for your domain. For example, search.m1.small.

              */ - DesiredPartitionCount?: number; + DesiredInstanceType?: PartitionInstanceType | string; /** - *

              The instance type that you want to preconfigure for your domain. For example, search.m1.small.

              + *

              The number of partitions you want to preconfigure for your domain. Only valid when + * you select m2.2xlarge as the desired instance type.

              */ - DesiredInstanceType?: PartitionInstanceType | string; + DesiredPartitionCount?: number; } export namespace ScalingParameters { @@ -2062,14 +2062,14 @@ export namespace ListDomainNamesResponse { */ export interface UpdateAvailabilityOptionsRequest { /** - *

              You expand an existing search domain to a second Availability Zone by setting the Multi-AZ option to true. Similarly, you can turn off the Multi-AZ option to downgrade the domain to a single Availability Zone by setting the Multi-AZ option to false.

              + *

              A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

              */ - MultiAZ: boolean | undefined; + DomainName: string | undefined; /** - *

              A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

              + *

              You expand an existing search domain to a second Availability Zone by setting the Multi-AZ option to true. Similarly, you can turn off the Multi-AZ option to downgrade the domain to a single Availability Zone by setting the Multi-AZ option to false.

              */ - DomainName: string | undefined; + MultiAZ: boolean | undefined; } export namespace UpdateAvailabilityOptionsRequest { @@ -2122,14 +2122,14 @@ export namespace ValidationException { */ export interface UpdateDomainEndpointOptionsRequest { /** - *

              Whether to require that all requests to the domain arrive over HTTPS. We recommend Policy-Min-TLS-1-2-2019-07 for TLSSecurityPolicy. For compatibility with older clients, the default is Policy-Min-TLS-1-0-2019-07.

              + *

              A string that represents the name of a domain.

              */ - DomainEndpointOptions: DomainEndpointOptions | undefined; + DomainName: string | undefined; /** - *

              A string that represents the name of a domain.

              + *

              Whether to require that all requests to the domain arrive over HTTPS. We recommend Policy-Min-TLS-1-2-2019-07 for TLSSecurityPolicy. For compatibility with older clients, the default is Policy-Min-TLS-1-0-2019-07.

              */ - DomainName: string | undefined; + DomainEndpointOptions: DomainEndpointOptions | undefined; } export namespace UpdateDomainEndpointOptionsRequest { @@ -2196,14 +2196,14 @@ export namespace UpdateScalingParametersResponse { */ export interface UpdateServiceAccessPoliciesRequest { /** - *

              A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

              + *

              The access rules you want to configure. These rules replace any existing rules.

              */ - DomainName: string | undefined; + AccessPolicies: string | undefined; /** - *

              The access rules you want to configure. These rules replace any existing rules.

              + *

              A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

              */ - AccessPolicies: string | undefined; + DomainName: string | undefined; } export namespace UpdateServiceAccessPoliciesRequest { diff --git a/clients/client-cloudsearch/protocols/Aws_query.ts b/clients/client-cloudsearch/protocols/Aws_query.ts index a5aba0034481..2ad5093c3043 100644 --- a/clients/client-cloudsearch/protocols/Aws_query.ts +++ b/clients/client-cloudsearch/protocols/Aws_query.ts @@ -2717,20 +2717,20 @@ const deserializeAws_queryValidationExceptionResponse = async ( const serializeAws_queryAnalysisOptions = (input: AnalysisOptions, context: __SerdeContext): any => { const entries: any = {}; - if (input.StemmingDictionary !== undefined) { - entries["StemmingDictionary"] = input.StemmingDictionary; + if (input.Stopwords !== undefined) { + entries["Stopwords"] = input.Stopwords; } - if (input.AlgorithmicStemming !== undefined) { - entries["AlgorithmicStemming"] = input.AlgorithmicStemming; + if (input.JapaneseTokenizationDictionary !== undefined) { + entries["JapaneseTokenizationDictionary"] = input.JapaneseTokenizationDictionary; } if (input.Synonyms !== undefined) { entries["Synonyms"] = input.Synonyms; } - if (input.JapaneseTokenizationDictionary !== undefined) { - entries["JapaneseTokenizationDictionary"] = input.JapaneseTokenizationDictionary; + if (input.AlgorithmicStemming !== undefined) { + entries["AlgorithmicStemming"] = input.AlgorithmicStemming; } - if (input.Stopwords !== undefined) { - entries["Stopwords"] = input.Stopwords; + if (input.StemmingDictionary !== undefined) { + entries["StemmingDictionary"] = input.StemmingDictionary; } return entries; }; @@ -2777,12 +2777,12 @@ const serializeAws_queryDateArrayOptions = (input: DateArrayOptions, context: __ if (input.ReturnEnabled !== undefined) { entries["ReturnEnabled"] = input.ReturnEnabled; } - if (input.SourceFields !== undefined) { - entries["SourceFields"] = input.SourceFields; - } if (input.SearchEnabled !== undefined) { entries["SearchEnabled"] = input.SearchEnabled; } + if (input.SourceFields !== undefined) { + entries["SourceFields"] = input.SourceFields; + } if (input.FacetEnabled !== undefined) { entries["FacetEnabled"] = input.FacetEnabled; } @@ -2791,24 +2791,24 @@ const serializeAws_queryDateArrayOptions = (input: DateArrayOptions, context: __ const serializeAws_queryDateOptions = (input: DateOptions, context: __SerdeContext): any => { const entries: any = {}; - if (input.FacetEnabled !== undefined) { - entries["FacetEnabled"] = input.FacetEnabled; + if (input.SourceField !== undefined) { + entries["SourceField"] = input.SourceField; } if (input.SearchEnabled !== undefined) { entries["SearchEnabled"] = input.SearchEnabled; } - if (input.DefaultValue !== undefined) { - entries["DefaultValue"] = input.DefaultValue; - } if (input.SortEnabled !== undefined) { entries["SortEnabled"] = input.SortEnabled; } + if (input.FacetEnabled !== undefined) { + entries["FacetEnabled"] = input.FacetEnabled; + } + if (input.DefaultValue !== undefined) { + entries["DefaultValue"] = input.DefaultValue; + } if (input.ReturnEnabled !== undefined) { entries["ReturnEnabled"] = input.ReturnEnabled; } - if (input.SourceField !== undefined) { - entries["SourceField"] = input.SourceField; - } return entries; }; @@ -2817,6 +2817,9 @@ const serializeAws_queryDefineAnalysisSchemeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DomainName !== undefined) { + entries["DomainName"] = input.DomainName; + } if (input.AnalysisScheme !== undefined) { const memberEntries = serializeAws_queryAnalysisScheme(input.AnalysisScheme, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -2824,9 +2827,6 @@ const serializeAws_queryDefineAnalysisSchemeRequest = ( entries[loc] = value; }); } - if (input.DomainName !== undefined) { - entries["DomainName"] = input.DomainName; - } return entries; }; @@ -2847,6 +2847,9 @@ const serializeAws_queryDefineExpressionRequest = (input: DefineExpressionReques const serializeAws_queryDefineIndexFieldRequest = (input: DefineIndexFieldRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.DomainName !== undefined) { + entries["DomainName"] = input.DomainName; + } if (input.IndexField !== undefined) { const memberEntries = serializeAws_queryIndexField(input.IndexField, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -2854,9 +2857,6 @@ const serializeAws_queryDefineIndexFieldRequest = (input: DefineIndexFieldReques entries[loc] = value; }); } - if (input.DomainName !== undefined) { - entries["DomainName"] = input.DomainName; - } return entries; }; @@ -2910,12 +2910,12 @@ const serializeAws_queryDeleteExpressionRequest = (input: DeleteExpressionReques const serializeAws_queryDeleteIndexFieldRequest = (input: DeleteIndexFieldRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.IndexFieldName !== undefined) { - entries["IndexFieldName"] = input.IndexFieldName; - } if (input.DomainName !== undefined) { entries["DomainName"] = input.DomainName; } + if (input.IndexFieldName !== undefined) { + entries["IndexFieldName"] = input.IndexFieldName; + } return entries; }; @@ -2956,12 +2956,12 @@ const serializeAws_queryDescribeAvailabilityOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Deployed !== undefined) { - entries["Deployed"] = input.Deployed; - } if (input.DomainName !== undefined) { entries["DomainName"] = input.DomainName; } + if (input.Deployed !== undefined) { + entries["Deployed"] = input.Deployed; + } return entries; }; @@ -2996,6 +2996,9 @@ const serializeAws_queryDescribeExpressionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DomainName !== undefined) { + entries["DomainName"] = input.DomainName; + } if (input.ExpressionNames !== undefined) { const memberEntries = serializeAws_queryStandardNameList(input.ExpressionNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3006,9 +3009,6 @@ const serializeAws_queryDescribeExpressionsRequest = ( if (input.Deployed !== undefined) { entries["Deployed"] = input.Deployed; } - if (input.DomainName !== undefined) { - entries["DomainName"] = input.DomainName; - } return entries; }; @@ -3024,12 +3024,12 @@ const serializeAws_queryDescribeIndexFieldsRequest = ( entries[loc] = value; }); } - if (input.DomainName !== undefined) { - entries["DomainName"] = input.DomainName; - } if (input.Deployed !== undefined) { entries["Deployed"] = input.Deployed; } + if (input.DomainName !== undefined) { + entries["DomainName"] = input.DomainName; + } return entries; }; @@ -3084,12 +3084,12 @@ const serializeAws_queryDocumentSuggesterOptions = (input: DocumentSuggesterOpti if (input.SourceField !== undefined) { entries["SourceField"] = input.SourceField; } - if (input.FuzzyMatching !== undefined) { - entries["FuzzyMatching"] = input.FuzzyMatching; - } if (input.SortExpression !== undefined) { entries["SortExpression"] = input.SortExpression; } + if (input.FuzzyMatching !== undefined) { + entries["FuzzyMatching"] = input.FuzzyMatching; + } return entries; }; @@ -3119,9 +3119,6 @@ const serializeAws_queryDoubleArrayOptions = (input: DoubleArrayOptions, context if (input.FacetEnabled !== undefined) { entries["FacetEnabled"] = input.FacetEnabled; } - if (input.SourceFields !== undefined) { - entries["SourceFields"] = input.SourceFields; - } if (input.SearchEnabled !== undefined) { entries["SearchEnabled"] = input.SearchEnabled; } @@ -3131,6 +3128,9 @@ const serializeAws_queryDoubleArrayOptions = (input: DoubleArrayOptions, context if (input.ReturnEnabled !== undefined) { entries["ReturnEnabled"] = input.ReturnEnabled; } + if (input.SourceFields !== undefined) { + entries["SourceFields"] = input.SourceFields; + } return entries; }; @@ -3142,18 +3142,18 @@ const serializeAws_queryDoubleOptions = (input: DoubleOptions, context: __SerdeC if (input.SourceField !== undefined) { entries["SourceField"] = input.SourceField; } - if (input.SortEnabled !== undefined) { - entries["SortEnabled"] = input.SortEnabled; - } - if (input.FacetEnabled !== undefined) { - entries["FacetEnabled"] = input.FacetEnabled; - } if (input.ReturnEnabled !== undefined) { entries["ReturnEnabled"] = input.ReturnEnabled; } + if (input.SortEnabled !== undefined) { + entries["SortEnabled"] = input.SortEnabled; + } if (input.DefaultValue !== undefined) { entries["DefaultValue"] = input.DefaultValue; } + if (input.FacetEnabled !== undefined) { + entries["FacetEnabled"] = input.FacetEnabled; + } return entries; }; @@ -3188,44 +3188,37 @@ const serializeAws_queryIndexDocumentsRequest = (input: IndexDocumentsRequest, c const serializeAws_queryIndexField = (input: IndexField, context: __SerdeContext): any => { const entries: any = {}; - if (input.DoubleOptions !== undefined) { - const memberEntries = serializeAws_queryDoubleOptions(input.DoubleOptions, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DoubleOptions.${key}`; - entries[loc] = value; - }); + if (input.IndexFieldType !== undefined) { + entries["IndexFieldType"] = input.IndexFieldType; } - if (input.DoubleArrayOptions !== undefined) { - const memberEntries = serializeAws_queryDoubleArrayOptions(input.DoubleArrayOptions, context); + if (input.IntOptions !== undefined) { + const memberEntries = serializeAws_queryIntOptions(input.IntOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DoubleArrayOptions.${key}`; + const loc = `IntOptions.${key}`; entries[loc] = value; }); } - if (input.LatLonOptions !== undefined) { - const memberEntries = serializeAws_queryLatLonOptions(input.LatLonOptions, context); + if (input.IntArrayOptions !== undefined) { + const memberEntries = serializeAws_queryIntArrayOptions(input.IntArrayOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LatLonOptions.${key}`; + const loc = `IntArrayOptions.${key}`; entries[loc] = value; }); } - if (input.LiteralOptions !== undefined) { - const memberEntries = serializeAws_queryLiteralOptions(input.LiteralOptions, context); + if (input.TextOptions !== undefined) { + const memberEntries = serializeAws_queryTextOptions(input.TextOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LiteralOptions.${key}`; + const loc = `TextOptions.${key}`; entries[loc] = value; }); } - if (input.DateArrayOptions !== undefined) { - const memberEntries = serializeAws_queryDateArrayOptions(input.DateArrayOptions, context); + if (input.TextArrayOptions !== undefined) { + const memberEntries = serializeAws_queryTextArrayOptions(input.TextArrayOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DateArrayOptions.${key}`; + const loc = `TextArrayOptions.${key}`; entries[loc] = value; }); } - if (input.IndexFieldName !== undefined) { - entries["IndexFieldName"] = input.IndexFieldName; - } if (input.DateOptions !== undefined) { const memberEntries = serializeAws_queryDateOptions(input.DateOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3233,36 +3226,43 @@ const serializeAws_queryIndexField = (input: IndexField, context: __SerdeContext entries[loc] = value; }); } - if (input.IntOptions !== undefined) { - const memberEntries = serializeAws_queryIntOptions(input.IntOptions, context); + if (input.DoubleOptions !== undefined) { + const memberEntries = serializeAws_queryDoubleOptions(input.DoubleOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IntOptions.${key}`; + const loc = `DoubleOptions.${key}`; entries[loc] = value; }); } - if (input.TextOptions !== undefined) { - const memberEntries = serializeAws_queryTextOptions(input.TextOptions, context); + if (input.LatLonOptions !== undefined) { + const memberEntries = serializeAws_queryLatLonOptions(input.LatLonOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TextOptions.${key}`; + const loc = `LatLonOptions.${key}`; entries[loc] = value; }); } - if (input.IntArrayOptions !== undefined) { - const memberEntries = serializeAws_queryIntArrayOptions(input.IntArrayOptions, context); + if (input.IndexFieldName !== undefined) { + entries["IndexFieldName"] = input.IndexFieldName; + } + if (input.DoubleArrayOptions !== undefined) { + const memberEntries = serializeAws_queryDoubleArrayOptions(input.DoubleArrayOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IntArrayOptions.${key}`; + const loc = `DoubleArrayOptions.${key}`; entries[loc] = value; }); } - if (input.TextArrayOptions !== undefined) { - const memberEntries = serializeAws_queryTextArrayOptions(input.TextArrayOptions, context); + if (input.LiteralOptions !== undefined) { + const memberEntries = serializeAws_queryLiteralOptions(input.LiteralOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TextArrayOptions.${key}`; + const loc = `LiteralOptions.${key}`; entries[loc] = value; }); } - if (input.IndexFieldType !== undefined) { - entries["IndexFieldType"] = input.IndexFieldType; + if (input.DateArrayOptions !== undefined) { + const memberEntries = serializeAws_queryDateArrayOptions(input.DateArrayOptions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DateArrayOptions.${key}`; + entries[loc] = value; + }); } if (input.LiteralArrayOptions !== undefined) { const memberEntries = serializeAws_queryLiteralArrayOptions(input.LiteralArrayOptions, context); @@ -3279,15 +3279,15 @@ const serializeAws_queryIntArrayOptions = (input: IntArrayOptions, context: __Se if (input.SearchEnabled !== undefined) { entries["SearchEnabled"] = input.SearchEnabled; } + if (input.SourceFields !== undefined) { + entries["SourceFields"] = input.SourceFields; + } if (input.FacetEnabled !== undefined) { entries["FacetEnabled"] = input.FacetEnabled; } if (input.DefaultValue !== undefined) { entries["DefaultValue"] = input.DefaultValue; } - if (input.SourceFields !== undefined) { - entries["SourceFields"] = input.SourceFields; - } if (input.ReturnEnabled !== undefined) { entries["ReturnEnabled"] = input.ReturnEnabled; } @@ -3299,44 +3299,44 @@ const serializeAws_queryIntOptions = (input: IntOptions, context: __SerdeContext if (input.SortEnabled !== undefined) { entries["SortEnabled"] = input.SortEnabled; } + if (input.SourceField !== undefined) { + entries["SourceField"] = input.SourceField; + } if (input.FacetEnabled !== undefined) { entries["FacetEnabled"] = input.FacetEnabled; } if (input.SearchEnabled !== undefined) { entries["SearchEnabled"] = input.SearchEnabled; } - if (input.DefaultValue !== undefined) { - entries["DefaultValue"] = input.DefaultValue; - } if (input.ReturnEnabled !== undefined) { entries["ReturnEnabled"] = input.ReturnEnabled; } - if (input.SourceField !== undefined) { - entries["SourceField"] = input.SourceField; + if (input.DefaultValue !== undefined) { + entries["DefaultValue"] = input.DefaultValue; } return entries; }; const serializeAws_queryLatLonOptions = (input: LatLonOptions, context: __SerdeContext): any => { const entries: any = {}; - if (input.SortEnabled !== undefined) { - entries["SortEnabled"] = input.SortEnabled; - } - if (input.DefaultValue !== undefined) { - entries["DefaultValue"] = input.DefaultValue; - } if (input.ReturnEnabled !== undefined) { entries["ReturnEnabled"] = input.ReturnEnabled; } if (input.SearchEnabled !== undefined) { entries["SearchEnabled"] = input.SearchEnabled; } + if (input.DefaultValue !== undefined) { + entries["DefaultValue"] = input.DefaultValue; + } if (input.SourceField !== undefined) { entries["SourceField"] = input.SourceField; } if (input.FacetEnabled !== undefined) { entries["FacetEnabled"] = input.FacetEnabled; } + if (input.SortEnabled !== undefined) { + entries["SortEnabled"] = input.SortEnabled; + } return entries; }; @@ -3345,6 +3345,9 @@ const serializeAws_queryLiteralArrayOptions = (input: LiteralArrayOptions, conte if (input.SearchEnabled !== undefined) { entries["SearchEnabled"] = input.SearchEnabled; } + if (input.SourceFields !== undefined) { + entries["SourceFields"] = input.SourceFields; + } if (input.FacetEnabled !== undefined) { entries["FacetEnabled"] = input.FacetEnabled; } @@ -3354,9 +3357,6 @@ const serializeAws_queryLiteralArrayOptions = (input: LiteralArrayOptions, conte if (input.ReturnEnabled !== undefined) { entries["ReturnEnabled"] = input.ReturnEnabled; } - if (input.SourceFields !== undefined) { - entries["SourceFields"] = input.SourceFields; - } return entries; }; @@ -3368,18 +3368,18 @@ const serializeAws_queryLiteralOptions = (input: LiteralOptions, context: __Serd if (input.FacetEnabled !== undefined) { entries["FacetEnabled"] = input.FacetEnabled; } - if (input.SearchEnabled !== undefined) { - entries["SearchEnabled"] = input.SearchEnabled; - } if (input.SourceField !== undefined) { entries["SourceField"] = input.SourceField; } - if (input.DefaultValue !== undefined) { - entries["DefaultValue"] = input.DefaultValue; + if (input.SearchEnabled !== undefined) { + entries["SearchEnabled"] = input.SearchEnabled; } if (input.ReturnEnabled !== undefined) { entries["ReturnEnabled"] = input.ReturnEnabled; } + if (input.DefaultValue !== undefined) { + entries["DefaultValue"] = input.DefaultValue; + } return entries; }; @@ -3388,12 +3388,12 @@ const serializeAws_queryScalingParameters = (input: ScalingParameters, context: if (input.DesiredReplicationCount !== undefined) { entries["DesiredReplicationCount"] = input.DesiredReplicationCount; } - if (input.DesiredPartitionCount !== undefined) { - entries["DesiredPartitionCount"] = input.DesiredPartitionCount; - } if (input.DesiredInstanceType !== undefined) { entries["DesiredInstanceType"] = input.DesiredInstanceType; } + if (input.DesiredPartitionCount !== undefined) { + entries["DesiredPartitionCount"] = input.DesiredPartitionCount; + } return entries; }; @@ -3409,9 +3409,6 @@ const serializeAws_queryStandardNameList = (input: string[], context: __SerdeCon const serializeAws_querySuggester = (input: Suggester, context: __SerdeContext): any => { const entries: any = {}; - if (input.SuggesterName !== undefined) { - entries["SuggesterName"] = input.SuggesterName; - } if (input.DocumentSuggesterOptions !== undefined) { const memberEntries = serializeAws_queryDocumentSuggesterOptions(input.DocumentSuggesterOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3419,19 +3416,19 @@ const serializeAws_querySuggester = (input: Suggester, context: __SerdeContext): entries[loc] = value; }); } + if (input.SuggesterName !== undefined) { + entries["SuggesterName"] = input.SuggesterName; + } return entries; }; const serializeAws_queryTextArrayOptions = (input: TextArrayOptions, context: __SerdeContext): any => { const entries: any = {}; - if (input.ReturnEnabled !== undefined) { - entries["ReturnEnabled"] = input.ReturnEnabled; - } if (input.DefaultValue !== undefined) { entries["DefaultValue"] = input.DefaultValue; } - if (input.SourceFields !== undefined) { - entries["SourceFields"] = input.SourceFields; + if (input.ReturnEnabled !== undefined) { + entries["ReturnEnabled"] = input.ReturnEnabled; } if (input.HighlightEnabled !== undefined) { entries["HighlightEnabled"] = input.HighlightEnabled; @@ -3439,28 +3436,31 @@ const serializeAws_queryTextArrayOptions = (input: TextArrayOptions, context: __ if (input.AnalysisScheme !== undefined) { entries["AnalysisScheme"] = input.AnalysisScheme; } + if (input.SourceFields !== undefined) { + entries["SourceFields"] = input.SourceFields; + } return entries; }; const serializeAws_queryTextOptions = (input: TextOptions, context: __SerdeContext): any => { const entries: any = {}; + if (input.DefaultValue !== undefined) { + entries["DefaultValue"] = input.DefaultValue; + } if (input.ReturnEnabled !== undefined) { entries["ReturnEnabled"] = input.ReturnEnabled; } - if (input.SortEnabled !== undefined) { - entries["SortEnabled"] = input.SortEnabled; + if (input.HighlightEnabled !== undefined) { + entries["HighlightEnabled"] = input.HighlightEnabled; } - if (input.DefaultValue !== undefined) { - entries["DefaultValue"] = input.DefaultValue; + if (input.SourceField !== undefined) { + entries["SourceField"] = input.SourceField; } if (input.AnalysisScheme !== undefined) { entries["AnalysisScheme"] = input.AnalysisScheme; } - if (input.SourceField !== undefined) { - entries["SourceField"] = input.SourceField; - } - if (input.HighlightEnabled !== undefined) { - entries["HighlightEnabled"] = input.HighlightEnabled; + if (input.SortEnabled !== undefined) { + entries["SortEnabled"] = input.SortEnabled; } return entries; }; @@ -3470,13 +3470,13 @@ const serializeAws_queryUpdateAvailabilityOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MultiAZ !== undefined) { - entries["MultiAZ"] = input.MultiAZ; - } if (input.DomainName !== undefined) { entries["DomainName"] = input.DomainName; } - return entries; + if (input.MultiAZ !== undefined) { + entries["MultiAZ"] = input.MultiAZ; + } + return entries; }; const serializeAws_queryUpdateDomainEndpointOptionsRequest = ( @@ -3484,6 +3484,9 @@ const serializeAws_queryUpdateDomainEndpointOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DomainName !== undefined) { + entries["DomainName"] = input.DomainName; + } if (input.DomainEndpointOptions !== undefined) { const memberEntries = serializeAws_queryDomainEndpointOptions(input.DomainEndpointOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3491,9 +3494,6 @@ const serializeAws_queryUpdateDomainEndpointOptionsRequest = ( entries[loc] = value; }); } - if (input.DomainName !== undefined) { - entries["DomainName"] = input.DomainName; - } return entries; }; @@ -3520,12 +3520,12 @@ const serializeAws_queryUpdateServiceAccessPoliciesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DomainName !== undefined) { - entries["DomainName"] = input.DomainName; - } if (input.AccessPolicies !== undefined) { entries["AccessPolicies"] = input.AccessPolicies; } + if (input.DomainName !== undefined) { + entries["DomainName"] = input.DomainName; + } return entries; }; @@ -3545,26 +3545,26 @@ const deserializeAws_queryAccessPoliciesStatus = (output: any, context: __SerdeC const deserializeAws_queryAnalysisOptions = (output: any, context: __SerdeContext): AnalysisOptions => { let contents: any = { - StemmingDictionary: undefined, - AlgorithmicStemming: undefined, - Synonyms: undefined, - JapaneseTokenizationDictionary: undefined, Stopwords: undefined, + JapaneseTokenizationDictionary: undefined, + Synonyms: undefined, + AlgorithmicStemming: undefined, + StemmingDictionary: undefined, }; - if (output["StemmingDictionary"] !== undefined) { - contents.StemmingDictionary = output["StemmingDictionary"]; + if (output["Stopwords"] !== undefined) { + contents.Stopwords = output["Stopwords"]; } - if (output["AlgorithmicStemming"] !== undefined) { - contents.AlgorithmicStemming = output["AlgorithmicStemming"]; + if (output["JapaneseTokenizationDictionary"] !== undefined) { + contents.JapaneseTokenizationDictionary = output["JapaneseTokenizationDictionary"]; } if (output["Synonyms"] !== undefined) { contents.Synonyms = output["Synonyms"]; } - if (output["JapaneseTokenizationDictionary"] !== undefined) { - contents.JapaneseTokenizationDictionary = output["JapaneseTokenizationDictionary"]; + if (output["AlgorithmicStemming"] !== undefined) { + contents.AlgorithmicStemming = output["AlgorithmicStemming"]; } - if (output["Stopwords"] !== undefined) { - contents.Stopwords = output["Stopwords"]; + if (output["StemmingDictionary"] !== undefined) { + contents.StemmingDictionary = output["StemmingDictionary"]; } return contents; }; @@ -3610,15 +3610,15 @@ const deserializeAws_queryAvailabilityOptionsStatus = ( context: __SerdeContext ): AvailabilityOptionsStatus => { let contents: any = { - Options: undefined, Status: undefined, + Options: undefined, }; - if (output["Options"] !== undefined) { - contents.Options = output["Options"] == "true"; - } if (output["Status"] !== undefined) { contents.Status = deserializeAws_queryOptionStatus(output["Status"], context); } + if (output["Options"] !== undefined) { + contents.Options = output["Options"] == "true"; + } return contents; }; @@ -3666,8 +3666,8 @@ const deserializeAws_queryDateArrayOptions = (output: any, context: __SerdeConte let contents: any = { DefaultValue: undefined, ReturnEnabled: undefined, - SourceFields: undefined, SearchEnabled: undefined, + SourceFields: undefined, FacetEnabled: undefined, }; if (output["DefaultValue"] !== undefined) { @@ -3676,12 +3676,12 @@ const deserializeAws_queryDateArrayOptions = (output: any, context: __SerdeConte if (output["ReturnEnabled"] !== undefined) { contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } - if (output["SourceFields"] !== undefined) { - contents.SourceFields = output["SourceFields"]; - } if (output["SearchEnabled"] !== undefined) { contents.SearchEnabled = output["SearchEnabled"] == "true"; } + if (output["SourceFields"] !== undefined) { + contents.SourceFields = output["SourceFields"]; + } if (output["FacetEnabled"] !== undefined) { contents.FacetEnabled = output["FacetEnabled"] == "true"; } @@ -3690,31 +3690,31 @@ const deserializeAws_queryDateArrayOptions = (output: any, context: __SerdeConte const deserializeAws_queryDateOptions = (output: any, context: __SerdeContext): DateOptions => { let contents: any = { - FacetEnabled: undefined, + SourceField: undefined, SearchEnabled: undefined, - DefaultValue: undefined, SortEnabled: undefined, + FacetEnabled: undefined, + DefaultValue: undefined, ReturnEnabled: undefined, - SourceField: undefined, }; - if (output["FacetEnabled"] !== undefined) { - contents.FacetEnabled = output["FacetEnabled"] == "true"; + if (output["SourceField"] !== undefined) { + contents.SourceField = output["SourceField"]; } if (output["SearchEnabled"] !== undefined) { contents.SearchEnabled = output["SearchEnabled"] == "true"; } - if (output["DefaultValue"] !== undefined) { - contents.DefaultValue = output["DefaultValue"]; - } if (output["SortEnabled"] !== undefined) { contents.SortEnabled = output["SortEnabled"] == "true"; } + if (output["FacetEnabled"] !== undefined) { + contents.FacetEnabled = output["FacetEnabled"] == "true"; + } + if (output["DefaultValue"] !== undefined) { + contents.DefaultValue = output["DefaultValue"]; + } if (output["ReturnEnabled"] !== undefined) { contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } - if (output["SourceField"] !== undefined) { - contents.SourceField = output["SourceField"]; - } return contents; }; @@ -3981,15 +3981,15 @@ const deserializeAws_queryDisabledOperationException = ( context: __SerdeContext ): DisabledOperationException => { let contents: any = { - Message: undefined, Code: undefined, + Message: undefined, }; - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; - } if (output["Code"] !== undefined) { contents.Code = output["Code"]; } + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; + } return contents; }; @@ -3999,18 +3999,18 @@ const deserializeAws_queryDocumentSuggesterOptions = ( ): DocumentSuggesterOptions => { let contents: any = { SourceField: undefined, - FuzzyMatching: undefined, SortExpression: undefined, + FuzzyMatching: undefined, }; if (output["SourceField"] !== undefined) { contents.SourceField = output["SourceField"]; } - if (output["FuzzyMatching"] !== undefined) { - contents.FuzzyMatching = output["FuzzyMatching"]; - } if (output["SortExpression"] !== undefined) { contents.SortExpression = output["SortExpression"]; } + if (output["FuzzyMatching"] !== undefined) { + contents.FuzzyMatching = output["FuzzyMatching"]; + } return contents; }; @@ -4057,59 +4057,59 @@ const deserializeAws_queryDomainNameMap = (output: any, context: __SerdeContext) const deserializeAws_queryDomainStatus = (output: any, context: __SerdeContext): DomainStatus => { let contents: any = { + SearchPartitionCount: undefined, + SearchService: undefined, + DomainId: undefined, + Limits: undefined, RequiresIndexDocuments: undefined, - SearchInstanceType: undefined, - Processing: undefined, Deleted: undefined, - ARN: undefined, SearchInstanceCount: undefined, - Created: undefined, - DomainId: undefined, - SearchService: undefined, - Limits: undefined, - SearchPartitionCount: undefined, + Processing: undefined, DocService: undefined, + ARN: undefined, + Created: undefined, DomainName: undefined, + SearchInstanceType: undefined, }; + if (output["SearchPartitionCount"] !== undefined) { + contents.SearchPartitionCount = parseInt(output["SearchPartitionCount"]); + } + if (output["SearchService"] !== undefined) { + contents.SearchService = deserializeAws_queryServiceEndpoint(output["SearchService"], context); + } + if (output["DomainId"] !== undefined) { + contents.DomainId = output["DomainId"]; + } + if (output["Limits"] !== undefined) { + contents.Limits = deserializeAws_queryLimits(output["Limits"], context); + } if (output["RequiresIndexDocuments"] !== undefined) { contents.RequiresIndexDocuments = output["RequiresIndexDocuments"] == "true"; } - if (output["SearchInstanceType"] !== undefined) { - contents.SearchInstanceType = output["SearchInstanceType"]; + if (output["Deleted"] !== undefined) { + contents.Deleted = output["Deleted"] == "true"; + } + if (output["SearchInstanceCount"] !== undefined) { + contents.SearchInstanceCount = parseInt(output["SearchInstanceCount"]); } if (output["Processing"] !== undefined) { contents.Processing = output["Processing"] == "true"; } - if (output["Deleted"] !== undefined) { - contents.Deleted = output["Deleted"] == "true"; + if (output["DocService"] !== undefined) { + contents.DocService = deserializeAws_queryServiceEndpoint(output["DocService"], context); } if (output["ARN"] !== undefined) { contents.ARN = output["ARN"]; } - if (output["SearchInstanceCount"] !== undefined) { - contents.SearchInstanceCount = parseInt(output["SearchInstanceCount"]); - } if (output["Created"] !== undefined) { contents.Created = output["Created"] == "true"; } - if (output["DomainId"] !== undefined) { - contents.DomainId = output["DomainId"]; - } - if (output["SearchService"] !== undefined) { - contents.SearchService = deserializeAws_queryServiceEndpoint(output["SearchService"], context); - } - if (output["Limits"] !== undefined) { - contents.Limits = deserializeAws_queryLimits(output["Limits"], context); - } - if (output["SearchPartitionCount"] !== undefined) { - contents.SearchPartitionCount = parseInt(output["SearchPartitionCount"]); - } - if (output["DocService"] !== undefined) { - contents.DocService = deserializeAws_queryServiceEndpoint(output["DocService"], context); - } if (output["DomainName"] !== undefined) { contents.DomainName = output["DomainName"]; } + if (output["SearchInstanceType"] !== undefined) { + contents.SearchInstanceType = output["SearchInstanceType"]; + } return contents; }; @@ -4120,17 +4120,14 @@ const deserializeAws_queryDomainStatusList = (output: any, context: __SerdeConte const deserializeAws_queryDoubleArrayOptions = (output: any, context: __SerdeContext): DoubleArrayOptions => { let contents: any = { FacetEnabled: undefined, - SourceFields: undefined, SearchEnabled: undefined, DefaultValue: undefined, ReturnEnabled: undefined, + SourceFields: undefined, }; if (output["FacetEnabled"] !== undefined) { contents.FacetEnabled = output["FacetEnabled"] == "true"; } - if (output["SourceFields"] !== undefined) { - contents.SourceFields = output["SourceFields"]; - } if (output["SearchEnabled"] !== undefined) { contents.SearchEnabled = output["SearchEnabled"] == "true"; } @@ -4140,6 +4137,9 @@ const deserializeAws_queryDoubleArrayOptions = (output: any, context: __SerdeCon if (output["ReturnEnabled"] !== undefined) { contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } + if (output["SourceFields"] !== undefined) { + contents.SourceFields = output["SourceFields"]; + } return contents; }; @@ -4147,10 +4147,10 @@ const deserializeAws_queryDoubleOptions = (output: any, context: __SerdeContext) let contents: any = { SearchEnabled: undefined, SourceField: undefined, - SortEnabled: undefined, - FacetEnabled: undefined, ReturnEnabled: undefined, + SortEnabled: undefined, DefaultValue: undefined, + FacetEnabled: undefined, }; if (output["SearchEnabled"] !== undefined) { contents.SearchEnabled = output["SearchEnabled"] == "true"; @@ -4158,18 +4158,18 @@ const deserializeAws_queryDoubleOptions = (output: any, context: __SerdeContext) if (output["SourceField"] !== undefined) { contents.SourceField = output["SourceField"]; } - if (output["SortEnabled"] !== undefined) { - contents.SortEnabled = output["SortEnabled"] == "true"; - } - if (output["FacetEnabled"] !== undefined) { - contents.FacetEnabled = output["FacetEnabled"] == "true"; - } if (output["ReturnEnabled"] !== undefined) { contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } + if (output["SortEnabled"] !== undefined) { + contents.SortEnabled = output["SortEnabled"] == "true"; + } if (output["DefaultValue"] !== undefined) { contents.DefaultValue = parseFloat(output["DefaultValue"]); } + if (output["FacetEnabled"] !== undefined) { + contents.FacetEnabled = output["FacetEnabled"] == "true"; + } return contents; }; @@ -4227,55 +4227,55 @@ const deserializeAws_queryIndexDocumentsResponse = (output: any, context: __Serd const deserializeAws_queryIndexField = (output: any, context: __SerdeContext): IndexField => { let contents: any = { + IndexFieldType: undefined, + IntOptions: undefined, + IntArrayOptions: undefined, + TextOptions: undefined, + TextArrayOptions: undefined, + DateOptions: undefined, DoubleOptions: undefined, - DoubleArrayOptions: undefined, LatLonOptions: undefined, + IndexFieldName: undefined, + DoubleArrayOptions: undefined, LiteralOptions: undefined, DateArrayOptions: undefined, - IndexFieldName: undefined, - DateOptions: undefined, - IntOptions: undefined, - TextOptions: undefined, - IntArrayOptions: undefined, - TextArrayOptions: undefined, - IndexFieldType: undefined, LiteralArrayOptions: undefined, }; - if (output["DoubleOptions"] !== undefined) { - contents.DoubleOptions = deserializeAws_queryDoubleOptions(output["DoubleOptions"], context); - } - if (output["DoubleArrayOptions"] !== undefined) { - contents.DoubleArrayOptions = deserializeAws_queryDoubleArrayOptions(output["DoubleArrayOptions"], context); + if (output["IndexFieldType"] !== undefined) { + contents.IndexFieldType = output["IndexFieldType"]; } - if (output["LatLonOptions"] !== undefined) { - contents.LatLonOptions = deserializeAws_queryLatLonOptions(output["LatLonOptions"], context); + if (output["IntOptions"] !== undefined) { + contents.IntOptions = deserializeAws_queryIntOptions(output["IntOptions"], context); } - if (output["LiteralOptions"] !== undefined) { - contents.LiteralOptions = deserializeAws_queryLiteralOptions(output["LiteralOptions"], context); + if (output["IntArrayOptions"] !== undefined) { + contents.IntArrayOptions = deserializeAws_queryIntArrayOptions(output["IntArrayOptions"], context); } - if (output["DateArrayOptions"] !== undefined) { - contents.DateArrayOptions = deserializeAws_queryDateArrayOptions(output["DateArrayOptions"], context); + if (output["TextOptions"] !== undefined) { + contents.TextOptions = deserializeAws_queryTextOptions(output["TextOptions"], context); } - if (output["IndexFieldName"] !== undefined) { - contents.IndexFieldName = output["IndexFieldName"]; + if (output["TextArrayOptions"] !== undefined) { + contents.TextArrayOptions = deserializeAws_queryTextArrayOptions(output["TextArrayOptions"], context); } if (output["DateOptions"] !== undefined) { contents.DateOptions = deserializeAws_queryDateOptions(output["DateOptions"], context); } - if (output["IntOptions"] !== undefined) { - contents.IntOptions = deserializeAws_queryIntOptions(output["IntOptions"], context); + if (output["DoubleOptions"] !== undefined) { + contents.DoubleOptions = deserializeAws_queryDoubleOptions(output["DoubleOptions"], context); } - if (output["TextOptions"] !== undefined) { - contents.TextOptions = deserializeAws_queryTextOptions(output["TextOptions"], context); + if (output["LatLonOptions"] !== undefined) { + contents.LatLonOptions = deserializeAws_queryLatLonOptions(output["LatLonOptions"], context); } - if (output["IntArrayOptions"] !== undefined) { - contents.IntArrayOptions = deserializeAws_queryIntArrayOptions(output["IntArrayOptions"], context); + if (output["IndexFieldName"] !== undefined) { + contents.IndexFieldName = output["IndexFieldName"]; } - if (output["TextArrayOptions"] !== undefined) { - contents.TextArrayOptions = deserializeAws_queryTextArrayOptions(output["TextArrayOptions"], context); + if (output["DoubleArrayOptions"] !== undefined) { + contents.DoubleArrayOptions = deserializeAws_queryDoubleArrayOptions(output["DoubleArrayOptions"], context); } - if (output["IndexFieldType"] !== undefined) { - contents.IndexFieldType = output["IndexFieldType"]; + if (output["LiteralOptions"] !== undefined) { + contents.LiteralOptions = deserializeAws_queryLiteralOptions(output["LiteralOptions"], context); + } + if (output["DateArrayOptions"] !== undefined) { + contents.DateArrayOptions = deserializeAws_queryDateArrayOptions(output["DateArrayOptions"], context); } if (output["LiteralArrayOptions"] !== undefined) { contents.LiteralArrayOptions = deserializeAws_queryLiteralArrayOptions(output["LiteralArrayOptions"], context); @@ -4304,23 +4304,23 @@ const deserializeAws_queryIndexFieldStatusList = (output: any, context: __SerdeC const deserializeAws_queryIntArrayOptions = (output: any, context: __SerdeContext): IntArrayOptions => { let contents: any = { SearchEnabled: undefined, + SourceFields: undefined, FacetEnabled: undefined, DefaultValue: undefined, - SourceFields: undefined, ReturnEnabled: undefined, }; if (output["SearchEnabled"] !== undefined) { contents.SearchEnabled = output["SearchEnabled"] == "true"; } + if (output["SourceFields"] !== undefined) { + contents.SourceFields = output["SourceFields"]; + } if (output["FacetEnabled"] !== undefined) { contents.FacetEnabled = output["FacetEnabled"] == "true"; } if (output["DefaultValue"] !== undefined) { contents.DefaultValue = parseInt(output["DefaultValue"]); } - if (output["SourceFields"] !== undefined) { - contents.SourceFields = output["SourceFields"]; - } if (output["ReturnEnabled"] !== undefined) { contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } @@ -4344,29 +4344,29 @@ const deserializeAws_queryInternalException = (output: any, context: __SerdeCont const deserializeAws_queryIntOptions = (output: any, context: __SerdeContext): IntOptions => { let contents: any = { SortEnabled: undefined, + SourceField: undefined, FacetEnabled: undefined, SearchEnabled: undefined, - DefaultValue: undefined, ReturnEnabled: undefined, - SourceField: undefined, + DefaultValue: undefined, }; if (output["SortEnabled"] !== undefined) { contents.SortEnabled = output["SortEnabled"] == "true"; } + if (output["SourceField"] !== undefined) { + contents.SourceField = output["SourceField"]; + } if (output["FacetEnabled"] !== undefined) { contents.FacetEnabled = output["FacetEnabled"] == "true"; } if (output["SearchEnabled"] !== undefined) { contents.SearchEnabled = output["SearchEnabled"] == "true"; } - if (output["DefaultValue"] !== undefined) { - contents.DefaultValue = parseInt(output["DefaultValue"]); - } if (output["ReturnEnabled"] !== undefined) { contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } - if (output["SourceField"] !== undefined) { - contents.SourceField = output["SourceField"]; + if (output["DefaultValue"] !== undefined) { + contents.DefaultValue = parseInt(output["DefaultValue"]); } return contents; }; @@ -4387,59 +4387,59 @@ const deserializeAws_queryInvalidTypeException = (output: any, context: __SerdeC const deserializeAws_queryLatLonOptions = (output: any, context: __SerdeContext): LatLonOptions => { let contents: any = { - SortEnabled: undefined, - DefaultValue: undefined, ReturnEnabled: undefined, SearchEnabled: undefined, + DefaultValue: undefined, SourceField: undefined, FacetEnabled: undefined, + SortEnabled: undefined, }; - if (output["SortEnabled"] !== undefined) { - contents.SortEnabled = output["SortEnabled"] == "true"; - } - if (output["DefaultValue"] !== undefined) { - contents.DefaultValue = output["DefaultValue"]; - } if (output["ReturnEnabled"] !== undefined) { contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } if (output["SearchEnabled"] !== undefined) { contents.SearchEnabled = output["SearchEnabled"] == "true"; } + if (output["DefaultValue"] !== undefined) { + contents.DefaultValue = output["DefaultValue"]; + } if (output["SourceField"] !== undefined) { contents.SourceField = output["SourceField"]; } if (output["FacetEnabled"] !== undefined) { contents.FacetEnabled = output["FacetEnabled"] == "true"; } + if (output["SortEnabled"] !== undefined) { + contents.SortEnabled = output["SortEnabled"] == "true"; + } return contents; }; const deserializeAws_queryLimitExceededException = (output: any, context: __SerdeContext): LimitExceededException => { let contents: any = { - Message: undefined, Code: undefined, + Message: undefined, }; - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; - } if (output["Code"] !== undefined) { contents.Code = output["Code"]; } + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; + } return contents; }; const deserializeAws_queryLimits = (output: any, context: __SerdeContext): Limits => { let contents: any = { - MaximumReplicationCount: undefined, MaximumPartitionCount: undefined, + MaximumReplicationCount: undefined, }; - if (output["MaximumReplicationCount"] !== undefined) { - contents.MaximumReplicationCount = parseInt(output["MaximumReplicationCount"]); - } if (output["MaximumPartitionCount"] !== undefined) { contents.MaximumPartitionCount = parseInt(output["MaximumPartitionCount"]); } + if (output["MaximumReplicationCount"] !== undefined) { + contents.MaximumReplicationCount = parseInt(output["MaximumReplicationCount"]); + } return contents; }; @@ -4462,14 +4462,17 @@ const deserializeAws_queryListDomainNamesResponse = (output: any, context: __Ser const deserializeAws_queryLiteralArrayOptions = (output: any, context: __SerdeContext): LiteralArrayOptions => { let contents: any = { SearchEnabled: undefined, + SourceFields: undefined, FacetEnabled: undefined, DefaultValue: undefined, ReturnEnabled: undefined, - SourceFields: undefined, }; if (output["SearchEnabled"] !== undefined) { contents.SearchEnabled = output["SearchEnabled"] == "true"; } + if (output["SourceFields"] !== undefined) { + contents.SourceFields = output["SourceFields"]; + } if (output["FacetEnabled"] !== undefined) { contents.FacetEnabled = output["FacetEnabled"] == "true"; } @@ -4479,9 +4482,6 @@ const deserializeAws_queryLiteralArrayOptions = (output: any, context: __SerdeCo if (output["ReturnEnabled"] !== undefined) { contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } - if (output["SourceFields"] !== undefined) { - contents.SourceFields = output["SourceFields"]; - } return contents; }; @@ -4489,10 +4489,10 @@ const deserializeAws_queryLiteralOptions = (output: any, context: __SerdeContext let contents: any = { SortEnabled: undefined, FacetEnabled: undefined, - SearchEnabled: undefined, SourceField: undefined, - DefaultValue: undefined, + SearchEnabled: undefined, ReturnEnabled: undefined, + DefaultValue: undefined, }; if (output["SortEnabled"] !== undefined) { contents.SortEnabled = output["SortEnabled"] == "true"; @@ -4500,43 +4500,43 @@ const deserializeAws_queryLiteralOptions = (output: any, context: __SerdeContext if (output["FacetEnabled"] !== undefined) { contents.FacetEnabled = output["FacetEnabled"] == "true"; } - if (output["SearchEnabled"] !== undefined) { - contents.SearchEnabled = output["SearchEnabled"] == "true"; - } if (output["SourceField"] !== undefined) { contents.SourceField = output["SourceField"]; } - if (output["DefaultValue"] !== undefined) { - contents.DefaultValue = output["DefaultValue"]; + if (output["SearchEnabled"] !== undefined) { + contents.SearchEnabled = output["SearchEnabled"] == "true"; } if (output["ReturnEnabled"] !== undefined) { contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } + if (output["DefaultValue"] !== undefined) { + contents.DefaultValue = output["DefaultValue"]; + } return contents; }; const deserializeAws_queryOptionStatus = (output: any, context: __SerdeContext): OptionStatus => { let contents: any = { - CreationDate: undefined, - UpdateVersion: undefined, + UpdateDate: undefined, PendingDeletion: undefined, + CreationDate: undefined, State: undefined, - UpdateDate: undefined, + UpdateVersion: undefined, }; - if (output["CreationDate"] !== undefined) { - contents.CreationDate = new Date(output["CreationDate"]); - } - if (output["UpdateVersion"] !== undefined) { - contents.UpdateVersion = parseInt(output["UpdateVersion"]); + if (output["UpdateDate"] !== undefined) { + contents.UpdateDate = new Date(output["UpdateDate"]); } if (output["PendingDeletion"] !== undefined) { contents.PendingDeletion = output["PendingDeletion"] == "true"; } + if (output["CreationDate"] !== undefined) { + contents.CreationDate = new Date(output["CreationDate"]); + } if (output["State"] !== undefined) { contents.State = output["State"]; } - if (output["UpdateDate"] !== undefined) { - contents.UpdateDate = new Date(output["UpdateDate"]); + if (output["UpdateVersion"] !== undefined) { + contents.UpdateVersion = parseInt(output["UpdateVersion"]); } return contents; }; @@ -4561,18 +4561,18 @@ const deserializeAws_queryResourceNotFoundException = ( const deserializeAws_queryScalingParameters = (output: any, context: __SerdeContext): ScalingParameters => { let contents: any = { DesiredReplicationCount: undefined, - DesiredPartitionCount: undefined, DesiredInstanceType: undefined, + DesiredPartitionCount: undefined, }; if (output["DesiredReplicationCount"] !== undefined) { contents.DesiredReplicationCount = parseInt(output["DesiredReplicationCount"]); } - if (output["DesiredPartitionCount"] !== undefined) { - contents.DesiredPartitionCount = parseInt(output["DesiredPartitionCount"]); - } if (output["DesiredInstanceType"] !== undefined) { contents.DesiredInstanceType = output["DesiredInstanceType"]; } + if (output["DesiredPartitionCount"] !== undefined) { + contents.DesiredPartitionCount = parseInt(output["DesiredPartitionCount"]); + } return contents; }; @@ -4602,18 +4602,18 @@ const deserializeAws_queryServiceEndpoint = (output: any, context: __SerdeContex const deserializeAws_querySuggester = (output: any, context: __SerdeContext): Suggester => { let contents: any = { - SuggesterName: undefined, DocumentSuggesterOptions: undefined, + SuggesterName: undefined, }; - if (output["SuggesterName"] !== undefined) { - contents.SuggesterName = output["SuggesterName"]; - } if (output["DocumentSuggesterOptions"] !== undefined) { contents.DocumentSuggesterOptions = deserializeAws_queryDocumentSuggesterOptions( output["DocumentSuggesterOptions"], context ); } + if (output["SuggesterName"] !== undefined) { + contents.SuggesterName = output["SuggesterName"]; + } return contents; }; @@ -4637,20 +4637,17 @@ const deserializeAws_querySuggesterStatusList = (output: any, context: __SerdeCo const deserializeAws_queryTextArrayOptions = (output: any, context: __SerdeContext): TextArrayOptions => { let contents: any = { - ReturnEnabled: undefined, DefaultValue: undefined, - SourceFields: undefined, + ReturnEnabled: undefined, HighlightEnabled: undefined, AnalysisScheme: undefined, + SourceFields: undefined, }; - if (output["ReturnEnabled"] !== undefined) { - contents.ReturnEnabled = output["ReturnEnabled"] == "true"; - } if (output["DefaultValue"] !== undefined) { contents.DefaultValue = output["DefaultValue"]; } - if (output["SourceFields"] !== undefined) { - contents.SourceFields = output["SourceFields"]; + if (output["ReturnEnabled"] !== undefined) { + contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } if (output["HighlightEnabled"] !== undefined) { contents.HighlightEnabled = output["HighlightEnabled"] == "true"; @@ -4658,35 +4655,38 @@ const deserializeAws_queryTextArrayOptions = (output: any, context: __SerdeConte if (output["AnalysisScheme"] !== undefined) { contents.AnalysisScheme = output["AnalysisScheme"]; } + if (output["SourceFields"] !== undefined) { + contents.SourceFields = output["SourceFields"]; + } return contents; }; const deserializeAws_queryTextOptions = (output: any, context: __SerdeContext): TextOptions => { let contents: any = { - ReturnEnabled: undefined, - SortEnabled: undefined, DefaultValue: undefined, - AnalysisScheme: undefined, - SourceField: undefined, + ReturnEnabled: undefined, HighlightEnabled: undefined, + SourceField: undefined, + AnalysisScheme: undefined, + SortEnabled: undefined, }; + if (output["DefaultValue"] !== undefined) { + contents.DefaultValue = output["DefaultValue"]; + } if (output["ReturnEnabled"] !== undefined) { contents.ReturnEnabled = output["ReturnEnabled"] == "true"; } - if (output["SortEnabled"] !== undefined) { - contents.SortEnabled = output["SortEnabled"] == "true"; + if (output["HighlightEnabled"] !== undefined) { + contents.HighlightEnabled = output["HighlightEnabled"] == "true"; } - if (output["DefaultValue"] !== undefined) { - contents.DefaultValue = output["DefaultValue"]; + if (output["SourceField"] !== undefined) { + contents.SourceField = output["SourceField"]; } if (output["AnalysisScheme"] !== undefined) { contents.AnalysisScheme = output["AnalysisScheme"]; } - if (output["SourceField"] !== undefined) { - contents.SourceField = output["SourceField"]; - } - if (output["HighlightEnabled"] !== undefined) { - contents.HighlightEnabled = output["HighlightEnabled"] == "true"; + if (output["SortEnabled"] !== undefined) { + contents.SortEnabled = output["SortEnabled"] == "true"; } return contents; }; diff --git a/clients/client-cloudtrail/models/models_0.ts b/clients/client-cloudtrail/models/models_0.ts index 4df4444c3839..0b686329346e 100644 --- a/clients/client-cloudtrail/models/models_0.ts +++ b/clients/client-cloudtrail/models/models_0.ts @@ -26,6 +26,11 @@ export namespace Tag { *

              Specifies the tags to add to a trail.

              */ export interface AddTagsRequest { + /** + *

              Contains a list of CloudTrail tags, up to a limit of 50

              + */ + TagsList?: Tag[]; + /** *

              Specifies the ARN of the trail to which one or more tags will be added. The format of a trail ARN is:

              *

              @@ -33,11 +38,6 @@ export interface AddTagsRequest { *

              */ ResourceId: string | undefined; - - /** - *

              Contains a list of CloudTrail tags, up to a limit of 50

              - */ - TagsList?: Tag[]; } export namespace AddTagsRequest { @@ -285,11 +285,6 @@ export namespace CloudWatchLogsDeliveryUnavailableException { *

              Specifies the settings for each trail.

              */ export interface CreateTrailRequest { - /** - *

              Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

              - */ - S3BucketName: string | undefined; - /** *

              Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.

              */ @@ -301,42 +296,29 @@ export interface CreateTrailRequest { IncludeGlobalServiceEvents?: boolean; /** - *

              Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

              + *

              Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group + * to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.

              */ - CloudWatchLogsRoleArn?: string; + CloudWatchLogsLogGroupArn?: string; /** - *

              Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated - * for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

              + *

              Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. + * The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in + * AWS Organizations.

              */ - S3KeyPrefix?: string; + IsOrganizationTrail?: boolean; /** - *

              Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The - * value can be an alias name prefixed by "alias/", a fully specified ARN to an alias, a fully - * specified ARN to a key, or a globally unique identifier.

              - *

              Examples:

              - *
                - *
              • - *

                alias/MyAliasName

                - *
              • - *
              • - *

                arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

                - *
              • - *
              • - *

                arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

                - *
              • - *
              • - *

                12345678-1234-1234-1234-123456789012

                - *
              • - *
              + *

              Specifies whether the trail is created in the current region or in all regions. The default is false, which creates a trail only in the region where you are signed in. As a best practice, consider + * creating trails that log events in all regions.

              */ - KmsKeyId?: string; + IsMultiRegionTrail?: boolean; /** - *

              A list of tags.

              + *

              Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated + * for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

              */ - TagsList?: Tag[]; + S3KeyPrefix?: string; /** *

              Specifies whether log file integrity validation is enabled. The default is false.

              @@ -346,18 +328,6 @@ export interface CreateTrailRequest { */ EnableLogFileValidation?: boolean; - /** - *

              Specifies whether the trail is created in the current region or in all regions. The default is false, which creates a trail only in the region where you are signed in. As a best practice, consider - * creating trails that log events in all regions.

              - */ - IsMultiRegionTrail?: boolean; - - /** - *

              Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group - * to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.

              - */ - CloudWatchLogsLogGroupArn?: string; - /** *

              Specifies the name of the trail. The name must meet the following requirements:

              *
                @@ -382,11 +352,41 @@ export interface CreateTrailRequest { Name: string | undefined; /** - *

                Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. - * The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in - * AWS Organizations.

                + *

                Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

                */ - IsOrganizationTrail?: boolean; + CloudWatchLogsRoleArn?: string; + + /** + *

                A list of tags.

                + */ + TagsList?: Tag[]; + + /** + *

                Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The + * value can be an alias name prefixed by "alias/", a fully specified ARN to an alias, a fully + * specified ARN to a key, or a globally unique identifier.

                + *

                Examples:

                + *
                  + *
                • + *

                  alias/MyAliasName

                  + *
                • + *
                • + *

                  arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

                  + *
                • + *
                • + *

                  arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

                  + *
                • + *
                • + *

                  12345678-1234-1234-1234-123456789012

                  + *
                • + *
                + */ + KmsKeyId?: string; + + /** + *

                Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

                + */ + S3BucketName: string | undefined; } export namespace CreateTrailRequest { @@ -400,22 +400,17 @@ export namespace CreateTrailRequest { */ export interface CreateTrailResponse { /** - *

                Specifies whether the trail exists in one region or in all regions.

                - */ - IsMultiRegionTrail?: boolean; - - /** - *

                Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

                + *

                Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

                *

                - * arn:aws:sns:us-east-2:123456789012:MyTopic + * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

                */ - SnsTopicARN?: string; + KmsKeyId?: string; /** - *

                Specifies the name of the Amazon S3 bucket designated for publishing log files.

                + *

                This field is no longer in use. Use SnsTopicARN.

                */ - S3BucketName?: string; + SnsTopicName?: string; /** *

                Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

                @@ -423,9 +418,9 @@ export interface CreateTrailResponse { CloudWatchLogsRoleArn?: string; /** - *

                This field is no longer in use. Use SnsTopicARN.

                + *

                Specifies whether the trail is an organization trail.

                */ - SnsTopicName?: string; + IsOrganizationTrail?: boolean; /** *

                Specifies the name of the trail.

                @@ -433,23 +428,37 @@ export interface CreateTrailResponse { Name?: string; /** - *

                Specifies whether the trail is an organization trail.

                + *

                Specifies whether the trail exists in one region or in all regions.

                */ - IsOrganizationTrail?: boolean; + IsMultiRegionTrail?: boolean; /** - *

                Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

                + *

                Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated + * for log file delivery. For more information, see Finding Your CloudTrail Log Files.

                + */ + S3KeyPrefix?: string; + + /** + *

                Specifies the ARN of the trail that was created. The format of a trail ARN + * is:

                *

                - * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 + * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail *

                */ - KmsKeyId?: string; + TrailARN?: string; /** - *

                Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated - * for log file delivery. For more information, see Finding Your CloudTrail Log Files.

                + *

                Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

                + *

                + * arn:aws:sns:us-east-2:123456789012:MyTopic + *

                */ - S3KeyPrefix?: string; + SnsTopicARN?: string; + + /** + *

                Specifies whether the trail is publishing events from global services such as IAM to the log files.

                + */ + IncludeGlobalServiceEvents?: boolean; /** *

                Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail logs will be delivered.

                @@ -457,23 +466,14 @@ export interface CreateTrailResponse { CloudWatchLogsLogGroupArn?: string; /** - *

                Specifies whether the trail is publishing events from global services such as IAM to the log files.

                + *

                Specifies the name of the Amazon S3 bucket designated for publishing log files.

                */ - IncludeGlobalServiceEvents?: boolean; + S3BucketName?: string; /** *

                Specifies whether log file integrity validation is enabled.

                */ LogFileValidationEnabled?: boolean; - - /** - *

                Specifies the ARN of the trail that was created. The format of a trail ARN - * is:

                - *

                - * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail - *

                - */ - TrailARN?: string; } export namespace CreateTrailResponse { @@ -958,68 +958,75 @@ export namespace DescribeTrailsRequest { */ export interface Trail { /** - *

                Specifies the ARN of the trail. The format of a trail ARN is:

                + *

                Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

                *

                - * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail + * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

                */ - TrailARN?: string; + KmsKeyId?: string; /** - *

                Specifies whether the trail exists only in one region or exists in all regions.

                + *

                The region in which the trail was created.

                */ - IsMultiRegionTrail?: boolean; + HomeRegion?: string; /** - *

                Specifies if the trail has custom event selectors.

                + *

                Specifies whether the trail is an organization trail.

                */ - HasCustomEventSelectors?: boolean; + IsOrganizationTrail?: boolean; /** - *

                Name of the trail set by calling CreateTrail. The maximum length is 128 - * characters.

                + *

                This field is no longer in use. Use SnsTopicARN.

                */ - Name?: string; + SnsTopicName?: string; /** - *

                Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

                + *

                Specifies if the trail has custom event selectors.

                */ - CloudWatchLogsRoleArn?: string; + HasCustomEventSelectors?: boolean; /** - *

                Specifies whether the trail is an organization trail.

                + *

                Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

                */ - IsOrganizationTrail?: boolean; + CloudWatchLogsRoleArn?: string; /** - *

                This field is no longer in use. Use SnsTopicARN.

                + *

                Specifies whether log file validation is enabled.

                */ - SnsTopicName?: string; + LogFileValidationEnabled?: boolean; /** - *

                Set to True to include AWS API calls from AWS global services such as IAM. - * Otherwise, False.

                + *

                Specifies whether the trail exists only in one region or exists in all regions.

                */ - IncludeGlobalServiceEvents?: boolean; + IsMultiRegionTrail?: boolean; /** - *

                Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

                + *

                Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications + * when log files are delivered. The format of a topic ARN is:

                *

                - * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 + * arn:aws:sns:us-east-2:123456789012:MyTopic *

                */ - KmsKeyId?: string; + SnsTopicARN?: string; /** - *

                Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated - * for log file delivery. For more information, see Finding Your CloudTrail Log Files.The maximum length is 200 characters.

                + *

                Specifies an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered.

                */ - S3KeyPrefix?: string; + CloudWatchLogsLogGroupArn?: string; /** - *

                The region in which the trail was created.

                + *

                Name of the trail set by calling CreateTrail. The maximum length is 128 + * characters.

                */ - HomeRegion?: string; + Name?: string; + + /** + *

                Specifies the ARN of the trail. The format of a trail ARN is:

                + *

                + * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail + *

                + */ + TrailARN?: string; /** *

                Specifies whether a trail has insight types specified in an InsightSelector list.

                @@ -1032,23 +1039,16 @@ export interface Trail { S3BucketName?: string; /** - *

                Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications - * when log files are delivered. The format of a topic ARN is:

                - *

                - * arn:aws:sns:us-east-2:123456789012:MyTopic - *

                - */ - SnsTopicARN?: string; - - /** - *

                Specifies whether log file validation is enabled.

                + *

                Set to True to include AWS API calls from AWS global services such as IAM. + * Otherwise, False.

                */ - LogFileValidationEnabled?: boolean; + IncludeGlobalServiceEvents?: boolean; /** - *

                Specifies an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered.

                + *

                Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated + * for log file delivery. For more information, see Finding Your CloudTrail Log Files.The maximum length is 200 characters.

                */ - CloudWatchLogsLogGroupArn?: string; + S3KeyPrefix?: string; } export namespace Trail { @@ -1233,15 +1233,6 @@ export enum ReadWriteType { *

                You can configure up to five event selectors for a trail.

                */ export interface EventSelector { - /** - *

                CloudTrail supports data event logging for Amazon S3 objects and AWS Lambda functions. You can specify - * up to 250 resources for an individual event selector, but the total number of data resources cannot exceed - * 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.

                - *

                For more information, see Data Events and Limits in AWS CloudTrail - * in the AWS CloudTrail User Guide.

                - */ - DataResources?: DataResource[]; - /** *

                An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by * containing "kms.amazonaws.com". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.

                @@ -1264,7 +1255,16 @@ export interface EventSelector { *

                By default, the value is true.

                */ IncludeManagementEvents?: boolean; -} + + /** + *

                CloudTrail supports data event logging for Amazon S3 objects and AWS Lambda functions. You can specify + * up to 250 resources for an individual event selector, but the total number of data resources cannot exceed + * 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.

                + *

                For more information, see Data Events and Limits in AWS CloudTrail + * in the AWS CloudTrail User Guide.

                + */ + DataResources?: DataResource[]; +} export namespace EventSelector { export const filterSensitiveLog = (obj: EventSelector): any => ({ @@ -1432,88 +1432,93 @@ export namespace GetTrailStatusRequest { */ export interface GetTrailStatusResponse { /** - *

                Displays any CloudWatch Logs error that CloudTrail encountered when attempting to deliver logs to CloudWatch Logs.

                + *

                Displays any Amazon SNS error that CloudTrail encountered when attempting to send a + * notification. For more information about Amazon SNS errors, see the Amazon SNS Developer Guide. + *

                */ - LatestCloudWatchLogsDeliveryError?: string; + LatestNotificationError?: string; /** - *

                This field is no longer in use.

                + *

                Specifies the date and time that CloudTrail last delivered log files to an account's Amazon S3 bucket.

                */ - TimeLoggingStopped?: string; + LatestDeliveryTime?: Date; /** - *

                This field is no longer in use.

                + *

                Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver log files + * to the designated bucket. For more information see the topic Error + * Responses in the Amazon S3 API Reference.

                + * + *

                This error occurs only when there is a problem with the destination S3 bucket and will + * not occur for timeouts. To resolve the issue, create a new bucket and call + * UpdateTrail to specify the new bucket, or fix the existing objects so that + * CloudTrail can again write to the bucket.

                + *
                */ - TimeLoggingStarted?: string; + LatestDeliveryError?: string; /** *

                This field is no longer in use.

                */ - LatestNotificationAttemptTime?: string; + LatestNotificationAttemptSucceeded?: string; /** - *

                This field is no longer in use.

                + *

                Displays the most recent date and time when CloudTrail delivered logs to CloudWatch Logs.

                */ - LatestNotificationAttemptSucceeded?: string; + LatestCloudWatchLogsDeliveryTime?: Date; /** *

                This field is no longer in use.

                */ - LatestDeliveryAttemptSucceeded?: string; + TimeLoggingStopped?: string; /** *

                This field is no longer in use.

                */ LatestDeliveryAttemptTime?: string; + /** + *

                This field is no longer in use.

                + */ + LatestNotificationAttemptTime?: string; + /** *

                Specifies the most recent date and time when CloudTrail started recording API calls for an AWS account.

                */ StartLoggingTime?: Date; /** - *

                Specifies the date and time that CloudTrail last delivered log files to an account's Amazon S3 bucket.

                + *

                This field is no longer in use.

                */ - LatestDeliveryTime?: Date; + TimeLoggingStarted?: string; /** - *

                Displays any Amazon SNS error that CloudTrail encountered when attempting to send a - * notification. For more information about Amazon SNS errors, see the Amazon SNS Developer Guide. - *

                + *

                Displays any CloudWatch Logs error that CloudTrail encountered when attempting to deliver logs to CloudWatch Logs.

                */ - LatestNotificationError?: string; + LatestCloudWatchLogsDeliveryError?: string; /** - *

                Displays the most recent date and time when CloudTrail delivered logs to CloudWatch Logs.

                + *

                Whether the CloudTrail is currently logging AWS API calls.

                */ - LatestCloudWatchLogsDeliveryTime?: Date; + IsLogging?: boolean; /** - *

                Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver a digest - * file to the designated bucket. For more information see the topic Error - * Responses in the Amazon S3 API Reference.

                - * - *

                This error occurs only when there is a problem with the destination S3 bucket and will - * not occur for timeouts. To resolve the issue, create a new bucket and call - * UpdateTrail to specify the new bucket, or fix the existing objects so that - * CloudTrail can again write to the bucket.

                - *
                + *

                Specifies the date and time that CloudTrail last delivered a digest file to an account's Amazon S3 bucket.

                */ - LatestDigestDeliveryError?: string; + LatestDigestDeliveryTime?: Date; /** - *

                Specifies the most recent date and time when CloudTrail stopped recording API calls for an AWS account.

                + *

                This field is no longer in use.

                */ - StopLoggingTime?: Date; + LatestDeliveryAttemptSucceeded?: string; /** - *

                Whether the CloudTrail is currently logging AWS API calls.

                + *

                Specifies the date and time of the most recent Amazon SNS notification that CloudTrail has written a new log file to an account's Amazon S3 bucket.

                */ - IsLogging?: boolean; + LatestNotificationTime?: Date; /** - *

                Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver log files - * to the designated bucket. For more information see the topic Error + *

                Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver a digest + * file to the designated bucket. For more information see the topic Error * Responses in the Amazon S3 API Reference.

                * *

                This error occurs only when there is a problem with the destination S3 bucket and will @@ -1522,17 +1527,12 @@ export interface GetTrailStatusResponse { * CloudTrail can again write to the bucket.

                *
                */ - LatestDeliveryError?: string; - - /** - *

                Specifies the date and time of the most recent Amazon SNS notification that CloudTrail has written a new log file to an account's Amazon S3 bucket.

                - */ - LatestNotificationTime?: Date; + LatestDigestDeliveryError?: string; /** - *

                Specifies the date and time that CloudTrail last delivered a digest file to an account's Amazon S3 bucket.

                + *

                Specifies the most recent date and time when CloudTrail stopped recording API calls for an AWS account.

                */ - LatestDigestDeliveryTime?: Date; + StopLoggingTime?: Date; } export namespace GetTrailStatusResponse { @@ -1581,6 +1581,11 @@ export namespace InvalidTokenException { *

                Requests the public keys for a specified time range.

                */ export interface ListPublicKeysRequest { + /** + *

                Optionally specifies, in UTC, the start of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used, and the current public key is returned.

                + */ + StartTime?: Date; + /** *

                Reserved for future use.

                */ @@ -1590,11 +1595,6 @@ export interface ListPublicKeysRequest { *

                Optionally specifies, in UTC, the end of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used.

                */ EndTime?: Date; - - /** - *

                Optionally specifies, in UTC, the start of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used, and the current public key is returned.

                - */ - StartTime?: Date; } export namespace ListPublicKeysRequest { @@ -1608,14 +1608,14 @@ export namespace ListPublicKeysRequest { */ export interface PublicKey { /** - *

                The fingerprint of the public key.

                + *

                The DER encoded public key value in PKCS#1 format.

                */ - Fingerprint?: string; + Value?: Uint8Array; /** - *

                The DER encoded public key value in PKCS#1 format.

                + *

                The starting time of validity of the public key.

                */ - Value?: Uint8Array; + ValidityStartTime?: Date; /** *

                The ending time of validity of the public key.

                @@ -1623,9 +1623,9 @@ export interface PublicKey { ValidityEndTime?: Date; /** - *

                The starting time of validity of the public key.

                + *

                The fingerprint of the public key.

                */ - ValidityStartTime?: Date; + Fingerprint?: string; } export namespace PublicKey { @@ -1638,11 +1638,6 @@ export namespace PublicKey { *

                Returns the objects or data listed below if successful. Otherwise, returns an error.

                */ export interface ListPublicKeysResponse { - /** - *

                Reserved for future use.

                - */ - NextToken?: string; - /** *

                Contains an array of PublicKey objects.

                * @@ -1650,6 +1645,11 @@ export interface ListPublicKeysResponse { * */ PublicKeyList?: PublicKey[]; + + /** + *

                Reserved for future use.

                + */ + NextToken?: string; } export namespace ListPublicKeysResponse { @@ -1687,14 +1687,14 @@ export namespace ListTagsRequest { */ export interface ResourceTag { /** - *

                Specifies the ARN of the resource.

                + *

                A list of tags.

                */ - ResourceId?: string; + TagsList?: Tag[]; /** - *

                A list of tags.

                + *

                Specifies the ARN of the resource.

                */ - TagsList?: Tag[]; + ResourceId?: string; } export namespace ResourceTag { @@ -1744,6 +1744,11 @@ export namespace ListTrailsRequest { *

                Information about a CloudTrail trail, including the trail's name, home region, and Amazon Resource Name (ARN).

                */ export interface TrailInfo { + /** + *

                The AWS region in which a trail was created.

                + */ + HomeRegion?: string; + /** *

                The ARN of a trail.

                */ @@ -1753,11 +1758,6 @@ export interface TrailInfo { *

                The name of a trail.

                */ Name?: string; - - /** - *

                The AWS region in which a trail was created.

                - */ - HomeRegion?: string; } export namespace TrailInfo { @@ -1767,11 +1767,6 @@ export namespace TrailInfo { } export interface ListTrailsResponse { - /** - *

                Returns the name, ARN, and home region of trails in the current account.

                - */ - Trails?: TrailInfo[]; - /** *

                The token to use to get the next page of results after a previous API call. If the token does not appear, * there are no more results to return. The token must be passed in with the same parameters as the previous call. @@ -1779,6 +1774,11 @@ export interface ListTrailsResponse { * NextToken should include those same parameters.

                */ NextToken?: string; + + /** + *

                Returns the name, ARN, and home region of trails in the current account.

                + */ + Trails?: TrailInfo[]; } export namespace ListTrailsResponse { @@ -1879,14 +1879,14 @@ export enum LookupAttributeKey { */ export interface LookupAttribute { /** - *

                Specifies an attribute on which to filter the events returned.

                + *

                Specifies a value for the specified AttributeKey.

                */ - AttributeKey: LookupAttributeKey | string | undefined; + AttributeValue: string | undefined; /** - *

                Specifies a value for the specified AttributeKey.

                + *

                Specifies an attribute on which to filter the events returned.

                */ - AttributeValue: string | undefined; + AttributeKey: LookupAttributeKey | string | undefined; } export namespace LookupAttribute { @@ -1900,20 +1900,20 @@ export namespace LookupAttribute { */ export interface LookupEventsRequest { /** - *

                Contains a list of lookup attributes. Currently the list can contain only one item.

                + *

                The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the the original call. + * For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.

                */ - LookupAttributes?: LookupAttribute[]; + NextToken?: string; /** - *

                Specifies that only events that occur after or at the specified time are returned. If the specified start time is after the specified end time, an error is returned.

                + *

                Contains a list of lookup attributes. Currently the list can contain only one item.

                */ - StartTime?: Date; + LookupAttributes?: LookupAttribute[]; /** - *

                The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the the original call. - * For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.

                + *

                The number of events to return. Possible values are 1 through 50. The default is 50.

                */ - NextToken?: string; + MaxResults?: number; /** *

                Specifies the event category. If you do not specify an event category, events of the category are not returned in the response. For example, @@ -1922,9 +1922,9 @@ export interface LookupEventsRequest { EventCategory?: EventCategory | string; /** - *

                The number of events to return. Possible values are 1 through 50. The default is 50.

                + *

                Specifies that only events that occur after or at the specified time are returned. If the specified start time is after the specified end time, an error is returned.

                */ - MaxResults?: number; + StartTime?: Date; /** *

                Specifies that only events that occur before or at the specified time are returned. If the specified end time is before the specified start time, an error is returned.

                @@ -1967,24 +1967,25 @@ export namespace Resource { */ export interface Event { /** - *

                A user name or role name of the requester that called the API in the event returned.

                + *

                Information about whether the event is a write event or a read event.

                */ - Username?: string; + ReadOnly?: string; /** - *

                Information about whether the event is a write event or a read event.

                + *

                A list of resources referenced by the event returned.

                */ - ReadOnly?: string; + Resources?: Resource[]; /** - *

                The AWS service that the request was made to.

                + *

                The name of the event returned.

                */ - EventSource?: string; + EventName?: string; /** - *

                A JSON string that contains a representation of the event returned.

                + *

                The AWS access key ID that was used to sign the request. If the request was made + * with temporary security credentials, this is the access key ID of the temporary credentials.

                */ - CloudTrailEvent?: string; + AccessKeyId?: string; /** *

                The CloudTrail ID of the event returned.

                @@ -1992,25 +1993,24 @@ export interface Event { EventId?: string; /** - *

                The name of the event returned.

                + *

                The date and time of the event returned.

                */ - EventName?: string; + EventTime?: Date; /** - *

                A list of resources referenced by the event returned.

                + *

                A user name or role name of the requester that called the API in the event returned.

                */ - Resources?: Resource[]; + Username?: string; /** - *

                The AWS access key ID that was used to sign the request. If the request was made - * with temporary security credentials, this is the access key ID of the temporary credentials.

                + *

                A JSON string that contains a representation of the event returned.

                */ - AccessKeyId?: string; + CloudTrailEvent?: string; /** - *

                The date and time of the event returned.

                + *

                The AWS service that the request was made to.

                */ - EventTime?: Date; + EventSource?: string; } export namespace Event { @@ -2080,11 +2080,6 @@ export namespace InvalidEventSelectorsException { } export interface PutEventSelectorsRequest { - /** - *

                Specifies the settings for your event selectors. You can configure up to five event selectors for a trail.

                - */ - EventSelectors: EventSelector[] | undefined; - /** *

                Specifies the name of the trail or trail ARN. If you specify a trail name, the * string must meet the following requirements:

                @@ -2112,6 +2107,11 @@ export interface PutEventSelectorsRequest { *

                */ TrailName: string | undefined; + + /** + *

                Specifies the settings for your event selectors. You can configure up to five event selectors for a trail.

                + */ + EventSelectors: EventSelector[] | undefined; } export namespace PutEventSelectorsRequest { @@ -2121,11 +2121,6 @@ export namespace PutEventSelectorsRequest { } export interface PutEventSelectorsResponse { - /** - *

                Specifies the event selectors configured for your trail.

                - */ - EventSelectors?: EventSelector[]; - /** *

                Specifies the ARN of the trail that was updated with event selectors. The format of a trail ARN * is:

                @@ -2134,6 +2129,11 @@ export interface PutEventSelectorsResponse { *

                */ TrailARN?: string; + + /** + *

                Specifies the event selectors configured for your trail.

                + */ + EventSelectors?: EventSelector[]; } export namespace PutEventSelectorsResponse { @@ -2163,14 +2163,14 @@ export namespace InvalidInsightSelectorsException { export interface PutInsightSelectorsRequest { /** - *

                The name of the CloudTrail trail for which you want to change or add Insights selectors.

                + *

                A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

                */ - TrailName: string | undefined; + InsightSelectors: InsightSelector[] | undefined; /** - *

                A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

                + *

                The name of the CloudTrail trail for which you want to change or add Insights selectors.

                */ - InsightSelectors: InsightSelector[] | undefined; + TrailName: string | undefined; } export namespace PutInsightSelectorsRequest { @@ -2181,14 +2181,14 @@ export namespace PutInsightSelectorsRequest { export interface PutInsightSelectorsResponse { /** - *

                A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

                + *

                The Amazon Resource Name (ARN) of a trail for which you want to change or add Insights selectors.

                */ - InsightSelectors?: InsightSelector[]; + TrailARN?: string; /** - *

                The Amazon Resource Name (ARN) of a trail for which you want to change or add Insights selectors.

                + *

                A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

                */ - TrailARN?: string; + InsightSelectors?: InsightSelector[]; } export namespace PutInsightSelectorsResponse { @@ -2296,66 +2296,60 @@ export namespace StopLoggingResponse { *

                Specifies settings to update for the trail.

                */ export interface UpdateTrailRequest { - /** - *

                Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

                - */ - S3BucketName?: string; - - /** - *

                Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, - * shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region - * where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider - * using trails that log events in all regions.

                - */ - IsMultiRegionTrail?: boolean; - /** *

                Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

                */ CloudWatchLogsRoleArn?: string; /** - *

                Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The - * value can be an alias name prefixed by "alias/", a fully specified ARN to an alias, a fully - * specified ARN to a key, or a globally unique identifier.

                - *

                Examples:

                + *

                Specifies the name of the trail or trail ARN. If Name is a trail name, the + * string must meet the following requirements:

                *
                  *
                • - *

                  alias/MyAliasName

                  + *

                  Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

                  *
                • *
                • - *

                  arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

                  + *

                  Start with a letter or number, and end with a letter or number

                  *
                • *
                • - *

                  arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

                  + *

                  Be between 3 and 128 characters

                  *
                • *
                • - *

                  12345678-1234-1234-1234-123456789012

                  + *

                  Have no adjacent periods, underscores or dashes. Names like my-_namespace + * and my--namespace are invalid.

                  + *
                • + *
                • + *

                  Not be in IP address format (for example, 192.168.5.4)

                  *
                • *
                + *

                If Name is a trail ARN, it must be in the format:

                + *

                + * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail + *

                */ - KmsKeyId?: string; - - /** - *

                Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated - * for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

                - */ - S3KeyPrefix?: string; + Name: string | undefined; /** - *

                Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.

                + *

                Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

                */ - CloudWatchLogsLogGroupArn?: string; + S3BucketName?: string; /** - *

                Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.

                + *

                Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, + * shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region + * where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider + * using trails that log events in all regions.

                */ - SnsTopicName?: string; + IsMultiRegionTrail?: boolean; /** - *

                Specifies whether the trail is publishing events from global services such as IAM to the log files.

                + *

                Specifies whether the trail is applied to all accounts in an organization in AWS Organizations, or only for the current AWS account. + * The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in + * AWS Organizations. If the trail is not an organization trail and this is set to true, the trail will be created in all AWS accounts that belong + * to the organization. If the trail is an organization trail and this is set to false, the trail will remain in the current AWS account but be + * deleted from all member accounts in the organization.

                */ - IncludeGlobalServiceEvents?: boolean; + IsOrganizationTrail?: boolean; /** *

                Specifies whether log file validation is enabled. The default is false.

                @@ -2366,41 +2360,47 @@ export interface UpdateTrailRequest { EnableLogFileValidation?: boolean; /** - *

                Specifies whether the trail is applied to all accounts in an organization in AWS Organizations, or only for the current AWS account. - * The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in - * AWS Organizations. If the trail is not an organization trail and this is set to true, the trail will be created in all AWS accounts that belong - * to the organization. If the trail is an organization trail and this is set to false, the trail will remain in the current AWS account but be - * deleted from all member accounts in the organization.

                + *

                Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.

                */ - IsOrganizationTrail?: boolean; + CloudWatchLogsLogGroupArn?: string; /** - *

                Specifies the name of the trail or trail ARN. If Name is a trail name, the - * string must meet the following requirements:

                + *

                Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.

                + */ + SnsTopicName?: string; + + /** + *

                Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated + * for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

                + */ + S3KeyPrefix?: string; + + /** + *

                Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The + * value can be an alias name prefixed by "alias/", a fully specified ARN to an alias, a fully + * specified ARN to a key, or a globally unique identifier.

                + *

                Examples:

                *
                  *
                • - *

                  Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

                  - *
                • - *
                • - *

                  Start with a letter or number, and end with a letter or number

                  + *

                  alias/MyAliasName

                  *
                • *
                • - *

                  Be between 3 and 128 characters

                  + *

                  arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

                  *
                • *
                • - *

                  Have no adjacent periods, underscores or dashes. Names like my-_namespace - * and my--namespace are invalid.

                  + *

                  arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

                  *
                • *
                • - *

                  Not be in IP address format (for example, 192.168.5.4)

                  + *

                  12345678-1234-1234-1234-123456789012

                  *
                • *
                - *

                If Name is a trail ARN, it must be in the format:

                - *

                - * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail - *

                */ - Name: string | undefined; + KmsKeyId?: string; + + /** + *

                Specifies whether the trail is publishing events from global services such as IAM to the log files.

                + */ + IncludeGlobalServiceEvents?: boolean; } export namespace UpdateTrailRequest { @@ -2414,34 +2414,44 @@ export namespace UpdateTrailRequest { */ export interface UpdateTrailResponse { /** - *

                Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

                + *

                This field is no longer in use. Use SnsTopicARN.

                */ - CloudWatchLogsRoleArn?: string; + SnsTopicName?: string; /** - *

                Specifies whether the trail is an organization trail.

                + *

                Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

                + * + *

                + * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 + *

                */ - IsOrganizationTrail?: boolean; + KmsKeyId?: string; /** *

                Specifies the name of the trail.

                */ Name?: string; + /** + *

                Specifies whether the trail is an organization trail.

                + */ + IsOrganizationTrail?: boolean; + /** *

                Specifies whether the trail is publishing events from global services such as IAM to the log files.

                */ IncludeGlobalServiceEvents?: boolean; /** - *

                Specifies whether log file integrity validation is enabled.

                + *

                Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

                */ - LogFileValidationEnabled?: boolean; + CloudWatchLogsRoleArn?: string; /** - *

                Specifies the name of the Amazon S3 bucket designated for publishing log files.

                + *

                Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated + * for log file delivery. For more information, see Finding Your CloudTrail Log Files.

                */ - S3BucketName?: string; + S3KeyPrefix?: string; /** *

                Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications @@ -2453,29 +2463,24 @@ export interface UpdateTrailResponse { SnsTopicARN?: string; /** - *

                Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated - * for log file delivery. For more information, see Finding Your CloudTrail Log Files.

                + *

                Specifies whether log file integrity validation is enabled.

                */ - S3KeyPrefix?: string; + LogFileValidationEnabled?: boolean; /** - *

                This field is no longer in use. Use SnsTopicARN.

                + *

                Specifies whether the trail exists in one region or in all regions.

                */ - SnsTopicName?: string; + IsMultiRegionTrail?: boolean; /** - *

                Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail logs will be delivered.

                + *

                Specifies the name of the Amazon S3 bucket designated for publishing log files.

                */ - CloudWatchLogsLogGroupArn?: string; + S3BucketName?: string; /** - *

                Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

                - * - *

                - * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 - *

                + *

                Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail logs will be delivered.

                */ - KmsKeyId?: string; + CloudWatchLogsLogGroupArn?: string; /** *

                Specifies the ARN of the trail that was updated. The format of a trail ARN @@ -2485,11 +2490,6 @@ export interface UpdateTrailResponse { *

                */ TrailARN?: string; - - /** - *

                Specifies whether the trail exists in one region or in all regions.

                - */ - IsMultiRegionTrail?: boolean; } export namespace UpdateTrailResponse { diff --git a/clients/client-cloudwatch-events/CloudWatchEvents.ts b/clients/client-cloudwatch-events/CloudWatchEvents.ts index 2059e6cfb1e9..c477beb2c26e 100644 --- a/clients/client-cloudwatch-events/CloudWatchEvents.ts +++ b/clients/client-cloudwatch-events/CloudWatchEvents.ts @@ -1113,6 +1113,9 @@ export class CloudWatchEvents extends CloudWatchEventsClient { *
              • *

                Amazon API Gateway REST APIs

                *
              • + *
              • + *

                Redshift Clusters to invoke Data API ExecuteStatement on

                + *
              • *
              * * diff --git a/clients/client-cloudwatch-events/models/models_0.ts b/clients/client-cloudwatch-events/models/models_0.ts index 11b022667f12..9832f0d75cc6 100644 --- a/clients/client-cloudwatch-events/models/models_0.ts +++ b/clients/client-cloudwatch-events/models/models_0.ts @@ -99,16 +99,16 @@ export enum AssignPublicIp { * tagging.

              */ export interface Tag { - /** - *

              The value for the specified tag key.

              - */ - Value: string | undefined; - /** *

              A string you can use to assign a value. The combination of tag keys and values can * help you organize and categorize your resources.

              */ Key: string | undefined; + + /** + *

              The value for the specified tag key.

              + */ + Value: string | undefined; } export namespace Tag { @@ -124,6 +124,11 @@ export interface CreateEventBusRequest { */ EventSourceName?: string; + /** + *

              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 @@ -133,11 +138,6 @@ export interface CreateEventBusRequest { * event source that this event bus is matched to.

              */ Name: string | undefined; - - /** - *

              Tags to associate with the event bus.

              - */ - Tags?: Tag[]; } export namespace CreateEventBusRequest { @@ -191,6 +191,12 @@ export namespace ResourceAlreadyExistsException { } export interface CreatePartnerEventSourceRequest { + /** + *

              The AWS account ID that is permitted to create a matching partner event bus for this + * partner event source.

              + */ + Account: string | undefined; + /** *

              The name of the partner event source. This name must be unique and must be in the * format @@ -201,12 +207,6 @@ export interface CreatePartnerEventSourceRequest { * bus with a name that matches the name of the partner event source.

              */ Name: string | undefined; - - /** - *

              The AWS account ID that is permitted to create a matching partner event bus for this - * partner event source.

              - */ - Account: string | undefined; } export namespace CreatePartnerEventSourceRequest { @@ -273,6 +273,15 @@ 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.

              + */ + Force?: boolean; + /** *

              The event bus associated with the rule. If you omit this, the default event bus is * used.

              @@ -283,15 +292,6 @@ export interface DeleteRuleRequest { *

              The name of the rule.

              */ Name: string | undefined; - - /** - *

              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.

              - */ - Force?: boolean; } export namespace DeleteRuleRequest { @@ -336,18 +336,18 @@ export namespace DescribeEventBusRequest { } export interface DescribeEventBusResponse { - /** - *

              The name of the event bus. Currently, this is always - * default.

              - */ - Name?: string; - /** *

              The Amazon Resource Name (ARN) of the account permitted to write events to the * current account.

              */ Arn?: string; + /** + *

              The name of the event bus. Currently, this is always + * default.

              + */ + Name?: string; + /** *

              The policy that enables the external account to send events to your * account.

              @@ -382,9 +382,15 @@ export enum EventSourceState { export interface DescribeEventSourceResponse { /** - *

              The name of the SaaS partner that created the event source.

              + *

              The date and time that the event source will expire if you do not create a matching + * event bus.

              */ - CreatedBy?: string; + ExpirationTime?: Date; + + /** + *

              The ARN of the partner event source.

              + */ + Arn?: string; /** *

              The name of the partner event source.

              @@ -392,15 +398,14 @@ export interface DescribeEventSourceResponse { Name?: string; /** - *

              The date and time that the event source will expire if you do not create a matching - * event bus.

              + *

              The date and time that the event source was created.

              */ - ExpirationTime?: Date; + CreationTime?: Date; /** - *

              The ARN of the partner event source.

              + *

              The name of the SaaS partner that created the event source.

              */ - Arn?: string; + CreatedBy?: string; /** *

              The state of the event source. If it is ACTIVE, you have already created a matching @@ -410,11 +415,6 @@ export interface DescribeEventSourceResponse { * deleted.

              */ State?: EventSourceState | string; - - /** - *

              The date and time that the event source was created.

              - */ - CreationTime?: Date; } export namespace DescribeEventSourceResponse { @@ -456,15 +456,15 @@ export namespace DescribePartnerEventSourceResponse { 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 event bus associated with the rule. If you omit this, the default event bus is + * used.

              */ - Name: string | undefined; + EventBusName?: string; } export namespace DescribeRuleRequest { @@ -480,35 +480,35 @@ export enum RuleState { export interface DescribeRuleResponse { /** - *

              The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 - * minutes)".

              + *

              Specifies whether the rule is enabled or disabled.

              */ - ScheduleExpression?: string; + State?: RuleState | 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 Amazon Resource Name (ARN) of the IAM role associated with the rule.

              + *

              The event bus associated with the rule.

              */ - RoleArn?: string; + EventBusName?: string; /** - *

              The event bus associated with the rule.

              + *

              The description of the rule.

              */ - EventBusName?: string; + Description?: string; /** - *

              Specifies whether the rule is enabled or disabled.

              + *

              The Amazon Resource Name (ARN) of the IAM role associated with the rule.

              */ - State?: RuleState | string; + RoleArn?: string; /** - *

              The Amazon Resource Name (ARN) of the rule.

              + *

              The name of the rule.

              */ - Arn?: string; + Name?: string; /** *

              The event pattern. For more information, see Events and @@ -518,15 +518,15 @@ export interface DescribeRuleResponse { EventPattern?: string; /** - *

              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 Amazon Resource Name (ARN) of the rule.

              */ - ManagedBy?: string; + Arn?: string; /** - *

              The description of the rule.

              + *

              The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 + * minutes)".

              */ - Description?: string; + ScheduleExpression?: string; } export namespace DescribeRuleResponse { @@ -574,6 +574,13 @@ export namespace EnableRuleRequest { } export interface ListEventBusesRequest { + /** + *

              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 event buses with names that start * with the specified prefix.

              @@ -584,13 +591,6 @@ export interface ListEventBusesRequest { *

              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 ListEventBusesRequest { @@ -608,14 +608,14 @@ export namespace ListEventBusesRequest { */ export interface EventBus { /** - *

              The ARN of the event bus.

              + *

              The name of the event bus.

              */ - Arn?: string; + Name?: string; /** - *

              The name of the event bus.

              + *

              The ARN of the event bus.

              */ - Name?: string; + Arn?: string; /** *

              The permissions policy of the event bus, describing which other AWS accounts can write @@ -631,16 +631,16 @@ export namespace EventBus { } export interface ListEventBusesResponse { - /** - *

              This list of event buses.

              - */ - EventBuses?: EventBus[]; - /** *

              A token you can use in a subsequent operation to retrieve the next set of * results.

              */ NextToken?: string; + + /** + *

              This list of event buses.

              + */ + EventBuses?: EventBus[]; } export namespace ListEventBusesResponse { @@ -651,10 +651,9 @@ export namespace ListEventBusesResponse { export interface ListEventSourcesRequest { /** - *

              Specifying this limits the results to only those partner event sources with names that - * start with the specified prefix.

              + *

              The token returned by a previous call to retrieve the next set of results.

              */ - NamePrefix?: string; + NextToken?: string; /** *

              Specifying this limits the number of results returned by this operation. The operation @@ -664,9 +663,10 @@ export interface ListEventSourcesRequest { Limit?: number; /** - *

              The token returned by a previous call to retrieve the next set of results.

              + *

              Specifying this limits the results to only those partner event sources with names that + * start with the specified prefix.

              */ - NextToken?: string; + NamePrefix?: string; } export namespace ListEventSourcesRequest { @@ -682,9 +682,15 @@ export namespace ListEventSourcesRequest { */ export interface EventSource { /** - *

              The name of the event source.

              + *

              The ARN of the event source.

              */ - Name?: string; + Arn?: string; + + /** + *

              The date and time that the event source will expire, if the AWS account doesn't create + * a matching event bus for it.

              + */ + ExpirationTime?: Date; /** *

              The state of the event source. If it is ACTIVE, you have already created a matching @@ -701,20 +707,14 @@ export interface EventSource { CreatedBy?: string; /** - *

              The date and time the event source was created.

              - */ - CreationTime?: Date; - - /** - *

              The date and time that the event source will expire, if the AWS account doesn't create - * a matching event bus for it.

              + *

              The name of the event source.

              */ - ExpirationTime?: Date; + Name?: string; /** - *

              The ARN of the event source.

              + *

              The date and time the event source was created.

              */ - Arn?: string; + CreationTime?: Date; } export namespace EventSource { @@ -744,15 +744,15 @@ export namespace ListEventSourcesResponse { export interface ListPartnerEventSourceAccountsRequest { /** - *

              The token returned by a previous call to this operation. Specifying this retrieves the - * next set of results.

              + *

              The name of the partner event source to display account information about.

              */ - NextToken?: string; + EventSourceName: string | undefined; /** - *

              The name of the partner event source to display account information about.

              + *

              The token returned by a previous call to this operation. Specifying this retrieves the + * next set of results.

              */ - EventSourceName: string | undefined; + NextToken?: string; /** *

              Specifying this limits the number of results returned by this operation. The operation @@ -778,10 +778,13 @@ export interface PartnerEventSourceAccount { CreationTime?: Date; /** - *

              The date and time that the event source will expire, if the AWS account doesn't create - * a matching event bus for it.

              + *

              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; /** *

              The AWS account ID that the partner event source was offered to.

              @@ -789,13 +792,10 @@ 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 that the event source will expire, if the AWS account doesn't create + * a matching event bus for it.

              */ - State?: EventSourceState | string; + ExpirationTime?: Date; } export namespace PartnerEventSourceAccount { @@ -824,6 +824,12 @@ 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.

              @@ -836,12 +842,6 @@ export interface ListPartnerEventSourcesRequest { * next set of results.

              */ Limit?: number; - - /** - *

              The token returned by a previous call to this operation. Specifying this retrieves the - * next set of results.

              - */ - NextToken?: string; } export namespace ListPartnerEventSourcesRequest { @@ -857,14 +857,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 { @@ -893,11 +893,6 @@ export namespace ListPartnerEventSourcesResponse { } export interface ListRuleNamesByTargetRequest { - /** - *

              The maximum number of results to return.

              - */ - Limit?: number; - /** *

              The token returned by a previous call to retrieve the next set of * results.

              @@ -905,15 +900,20 @@ 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; /** *

              The Amazon Resource Name (ARN) of the target resource.

              */ TargetArn: string | undefined; + + /** + *

              Limits the results to show only the rules associated with the specified event + * bus.

              + */ + EventBusName?: string; } export namespace ListRuleNamesByTargetRequest { @@ -943,10 +943,9 @@ export namespace ListRuleNamesByTargetResponse { export interface ListRulesRequest { /** - *

              The token returned by a previous call to retrieve the next set of - * results.

              + *

              The maximum number of results to return.

              */ - NextToken?: string; + Limit?: number; /** *

              Limits the results to show only the rules associated with the specified event @@ -960,9 +959,10 @@ export interface ListRulesRequest { NamePrefix?: 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; } export namespace ListRulesRequest { @@ -976,20 +976,20 @@ export namespace ListRulesRequest { */ export interface Rule { /** - *

              The state of the rule.

              + *

              The description of the rule.

              */ - State?: RuleState | string; + Description?: string; /** - *

              The Amazon Resource Name (ARN) of the role that is used for target - * invocation.

              + *

              The Amazon Resource Name (ARN) of the rule.

              */ - RoleArn?: string; + Arn?: string; /** - *

              The Amazon Resource Name (ARN) of the rule.

              + *

              The Amazon Resource Name (ARN) of the role that is used for target + * invocation.

              */ - Arn?: string; + RoleArn?: string; /** *

              The event pattern of the rule. For more information, see Events and @@ -999,9 +999,10 @@ export interface Rule { EventPattern?: string; /** - *

              The event bus associated with the rule.

              + *

              The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 + * minutes)".

              */ - EventBusName?: string; + ScheduleExpression?: string; /** *

              If the rule was created on behalf of your account by an AWS service, this field @@ -1010,20 +1011,19 @@ export interface Rule { ManagedBy?: string; /** - *

              The description of the rule.

              + *

              The state of the rule.

              */ - Description?: string; + State?: RuleState | string; /** - *

              The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 - * minutes)".

              + *

              The name of the rule.

              */ - ScheduleExpression?: string; + Name?: string; /** - *

              The name of the rule.

              + *

              The event bus associated with the rule.

              */ - Name?: string; + EventBusName?: string; } export namespace Rule { @@ -1033,16 +1033,16 @@ export namespace Rule { } export interface ListRulesResponse { - /** - *

              The rules that match the specified criteria.

              - */ - Rules?: Rule[]; - /** *

              Indicates whether there are additional results to retrieve. If there are no more * results, the value is null.

              */ NextToken?: string; + + /** + *

              The rules that match the specified criteria.

              + */ + Rules?: Rule[]; } export namespace ListRulesResponse { @@ -1079,26 +1079,26 @@ export namespace ListTagsForResourceResponse { export interface ListTargetsByRuleRequest { /** - *

              The event bus associated with the rule. If you omit this, the default event bus is - * used.

              + *

              The name of the rule.

              */ - EventBusName?: string; + Rule: string | undefined; /** - *

              The token returned by a previous call to retrieve the next set of - * results.

              + *

              The maximum number of results to return.

              */ - NextToken?: string; + Limit?: number; /** - *

              The name of the rule.

              + *

              The token returned by a previous call to retrieve the next set of + * results.

              */ - Rule: string | undefined; + NextToken?: string; /** - *

              The maximum number of results to return.

              + *

              The event bus associated with the rule. If you omit this, the default event bus is + * used.

              */ - Limit?: number; + EventBusName?: string; } export namespace ListTargetsByRuleRequest { @@ -1151,12 +1151,10 @@ export namespace BatchRetryStrategy { */ export interface BatchParameters { /** - *

              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 - * becomes an array job. This parameter is used only if the target is an AWS Batch + *

              The name to use for this execution of the job, if the target is an AWS Batch * job.

              */ - ArrayProperties?: BatchArrayProperties; + JobName: string | undefined; /** *

              The ARN or name of the job definition to use if the event target is an AWS Batch @@ -1165,10 +1163,12 @@ export interface BatchParameters { JobDefinition: string | undefined; /** - *

              The name to use for this execution of the job, if the target is an AWS Batch + *

              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 + * becomes an array job. This parameter is used only if the target is an AWS Batch * job.

              */ - JobName: string | undefined; + ArrayProperties?: BatchArrayProperties; /** *

              The retry strategy to use for failed jobs, if the target is an AWS Batch job. The @@ -1185,6 +1185,22 @@ export namespace BatchParameters { }); } +/** + *

              A DeadLetterConfig object that contains information about a dead-letter queue configuration.

              + */ +export interface DeadLetterConfig { + /** + *

              The ARN of the SQS queue specified as the target for the dead-letter queue.

              + */ + Arn?: string; +} + +export namespace DeadLetterConfig { + export const filterSensitiveLog = (obj: DeadLetterConfig): any => ({ + ...obj, + }); +} + export enum LaunchType { EC2 = "EC2", FARGATE = "FARGATE", @@ -1197,11 +1213,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 @@ -1211,10 +1226,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 { @@ -1246,15 +1262,20 @@ export namespace NetworkConfiguration { */ export interface EcsParameters { /** - *

              Specifies an ECS task group for the task. The maximum length is 255 characters.

              + *

              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 + * whether a public IP address is to be used. This structure is required if + * LaunchType is FARGATE because the awsvpc mode + * is required for Fargate tasks.

              + *

              If you specify NetworkConfiguration when the target ECS task does not use + * the awsvpc network mode, the task fails.

              */ - Group?: string; + NetworkConfiguration?: NetworkConfiguration; /** - *

              The number of tasks to create based on TaskDefinition. The default is - * 1.

              + *

              Specifies an ECS task group for the task. The maximum length is 255 characters.

              */ - TaskCount?: number; + Group?: string; /** *

              Specifies the platform version for the task. Specify only the numeric portion of the @@ -1267,15 +1288,10 @@ export interface EcsParameters { PlatformVersion?: string; /** - *

              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 - * whether a public IP address is to be used. This structure is required if - * LaunchType is FARGATE because the awsvpc mode - * is required for Fargate tasks.

              - *

              If you specify NetworkConfiguration when the target ECS task does not use - * the awsvpc network mode, the task fails.

              + *

              The number of tasks to create based on TaskDefinition. The default is + * 1.

              */ - NetworkConfiguration?: NetworkConfiguration; + TaskCount?: number; /** *

              The ARN of the task definition to use if the event target is an Amazon ECS task. @@ -1305,18 +1321,18 @@ export namespace EcsParameters { * APIs.

              */ export interface HttpParameters { - /** - *

              The headers that need to be sent as part of request invoking the API Gateway REST - * API.

              - */ - HeaderParameters?: { [key: string]: string }; - /** *

              The path parameter values to be used to populate API Gateway REST API * path wildcards ("*").

              */ PathParameterValues?: string[]; + /** + *

              The headers that need to be sent as part of request invoking the API Gateway REST + * API.

              + */ + HeaderParameters?: { [key: string]: string }; + /** *

              The query string keys/values that need to be sent as part of request invoking the * API Gateway REST API.

              @@ -1433,6 +1449,70 @@ export namespace KinesisParameters { }); } +/** + *

              These are custom parameters to be used when the target is a Redshift cluster + * to invoke the Redshift Data API ExecuteStatement based on EventBridge events.

              + */ +export interface RedshiftDataParameters { + /** + *

              The name or ARN of the secret that enables access to the database. + * Required when authenticating using AWS Secrets Manager.

              + */ + SecretManagerArn?: string; + + /** + *

              The database user name. Required when authenticating using temporary credentials.

              + */ + DbUser?: string; + + /** + *

              Indicates whether to send an event back to EventBridge after the SQL statement runs.

              + */ + WithEvent?: boolean; + + /** + *

              The SQL statement text to run.

              + */ + Sql: string | undefined; + + /** + *

              The name of the database. Required when authenticating using temporary credentials.

              + */ + Database: string | undefined; + + /** + *

              The name of the SQL statement. You can name the SQL statement when you create it to identify the query.

              + */ + StatementName?: string; +} + +export namespace RedshiftDataParameters { + export const filterSensitiveLog = (obj: RedshiftDataParameters): any => ({ + ...obj, + }); +} + +/** + *

              A RetryPolicy object that includes information about the retry policy settings.

              + */ +export interface RetryPolicy { + /** + *

              The maximum amount of time, in seconds, to continue to make retry attempts.

              + */ + MaximumEventAgeInSeconds?: number; + + /** + *

              The maximum number of retry attempts to make before the request fails. Retry attempts continue until either the maximum number of attempts is made or until the duration of the MaximumEventAgeInSeconds is met.

              + */ + MaximumRetryAttempts?: number; +} + +export namespace RetryPolicy { + export const filterSensitiveLog = (obj: RetryPolicy): any => ({ + ...obj, + }); +} + /** *

              Information about the EC2 instances that are to be sent the command, specified as * key-value pairs. Each RunCommandTarget block can include only one key, but @@ -1508,20 +1588,6 @@ export namespace SqsParameters { * EventBridge User Guide.

              */ export interface Target { - /** - *

              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 - * (JSON) Data Interchange Format.

              - */ - Input?: string; - - /** - *

              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.

              - */ - InputPath?: string; - /** *

              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 @@ -1529,6 +1595,13 @@ export interface Target { */ BatchParameters?: BatchParameters; + /** + *

              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 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 @@ -1537,34 +1610,27 @@ export interface Target { KinesisParameters?: KinesisParameters; /** - *

              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; - - /** - *

              The ID of the target.

              - */ - Id: string | undefined; - - /** - *

              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.

              + *

              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.

              */ - InputTransformer?: InputTransformer; + EcsParameters?: EcsParameters; /** - *

              The Amazon Resource Name (ARN) of the target.

              + *

              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.

              */ - Arn: string | undefined; + SqsParameters?: SqsParameters; /** - *

              Parameters used when you are using the rule to invoke Amazon EC2 Run - * Command.

              + *

              Contains the Redshift Data API parameters to use when the target is a Redshift cluster.

              + *

              If you specify a Redshift Cluster as a Target, you can use this + * to specify parameters to invoke the Redshift Data API ExecuteStatement based on + * EventBridge events.

              */ - RunCommandParameters?: RunCommandParameters; + RedshiftDataParameters?: RedshiftDataParameters; /** *

              Contains the HTTP parameters to use when the target is a API Gateway REST @@ -1576,19 +1642,51 @@ export interface Target { HttpParameters?: HttpParameters; /** - *

              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.

              + *

              Parameters used when you are using the rule to invoke Amazon EC2 Run + * Command.

              */ - SqsParameters?: SqsParameters; + RunCommandParameters?: RunCommandParameters; /** - *

              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.

              + *

              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.

              */ - EcsParameters?: EcsParameters; + RoleArn?: string; + + /** + *

              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.

              + */ + InputPath?: string; + + /** + *

              The RetryPolicy object that contains the retry policy configuration to use for the dead-letter queue.

              + */ + RetryPolicy?: RetryPolicy; + + /** + *

              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 + * (JSON) Data Interchange Format.

              + */ + Input?: string; + + /** + *

              The DeadLetterConfig that defines the target queue to send dead-letter queue events to.

              + */ + DeadLetterConfig?: DeadLetterConfig; + + /** + *

              The Amazon Resource Name (ARN) of the target.

              + */ + Arn: string | undefined; + + /** + *

              The ID of the target.

              + */ + Id: string | undefined; } export namespace Target { @@ -1599,15 +1697,15 @@ export namespace Target { export interface ListTargetsByRuleResponse { /** - *

              Indicates whether there are additional results to retrieve. If there are no more - * results, the value is null.

              + *

              The targets assigned to the rule.

              */ - NextToken?: string; + Targets?: Target[]; /** - *

              The targets assigned to the rule.

              + *

              Indicates whether there are additional results to retrieve. If there are no more + * results, the value is null.

              */ - Targets?: Target[]; + NextToken?: string; } export namespace ListTargetsByRuleResponse { @@ -1620,23 +1718,6 @@ export namespace ListTargetsByRuleResponse { *

              Represents an event to be submitted.

              */ export interface PutEventsRequestEntry { - /** - *

              The source of the event.

              - */ - Source?: string; - - /** - *

              The time stamp of the event, per RFC3339. If no time stamp - * is provided, the time stamp of the PutEvents call is used.

              - */ - Time?: Date; - - /** - *

              AWS resources, identified by Amazon Resource Name (ARN), which the event primarily - * concerns. Any number, including zero, may be present.

              - */ - Resources?: string[]; - /** *

              Free-form string used to decide what fields to expect in the event * detail.

              @@ -1649,11 +1730,28 @@ export interface PutEventsRequestEntry { */ Detail?: string; + /** + *

              The source of the event.

              + */ + Source?: string; + /** *

              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.

              */ EventBusName?: string; + + /** + *

              The time stamp of the event, per RFC3339. If no time stamp + * is provided, the time stamp of the PutEvents call is used.

              + */ + Time?: Date; + + /** + *

              AWS resources, identified by Amazon Resource Name (ARN), which the event primarily + * concerns. Any number, including zero, may be present.

              + */ + Resources?: string[]; } export namespace PutEventsRequestEntry { @@ -1681,6 +1779,11 @@ 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 error code that indicates why the event submission failed.

              */ @@ -1690,11 +1793,6 @@ export interface PutEventsResultEntry { *

              The ID of the event.

              */ EventId?: string; - - /** - *

              The error message that explains why the event submission failed.

              - */ - ErrorMessage?: string; } export namespace PutEventsResultEntry { @@ -1704,17 +1802,17 @@ export namespace PutEventsResultEntry { } export interface PutEventsResponse { - /** - *

              The number of failed entries.

              - */ - FailedEntryCount?: number; - /** *

              The successfully and unsuccessfully ingested events results. If the ingestion was * successful, the entry has the event ID in it. Otherwise, you can use the error code and * error message to identify the problem with the entry.

              */ Entries?: PutEventsResultEntry[]; + + /** + *

              The number of failed entries.

              + */ + FailedEntryCount?: number; } export namespace PutEventsResponse { @@ -1727,6 +1825,17 @@ export namespace PutEventsResponse { *

              The details about an event generated by an SaaS partner.

              */ export interface PutPartnerEventsRequestEntry { + /** + *

              AWS resources, identified by Amazon Resource Name (ARN), which the event primarily + * concerns. Any number, including zero, may be present.

              + */ + Resources?: string[]; + + /** + *

              The event source that is generating the evntry.

              + */ + Source?: string; + /** *

              A valid JSON string. There is no other schema imposed. The JSON string may contain * fields and nested subobjects.

              @@ -1738,21 +1847,10 @@ export interface PutPartnerEventsRequestEntry { */ DetailType?: string; - /** - *

              The event source that is generating the evntry.

              - */ - Source?: string; - /** *

              The date and time of the event.

              */ Time?: Date; - - /** - *

              AWS resources, identified by Amazon Resource Name (ARN), which the event primarily - * concerns. Any number, including zero, may be present.

              - */ - Resources?: string[]; } export namespace PutPartnerEventsRequestEntry { @@ -1779,14 +1877,14 @@ export namespace PutPartnerEventsRequest { */ export interface PutPartnerEventsResultEntry { /** - *

              The error message that explains why the event submission failed.

              + *

              The ID of the event.

              */ - ErrorMessage?: string; + EventId?: string; /** - *

              The ID of the event.

              + *

              The error message that explains why the event submission failed.

              */ - EventId?: string; + ErrorMessage?: string; /** *

              The error code that indicates why the event submission failed.

              @@ -1848,12 +1946,6 @@ export namespace PolicyLengthExceededException { *

              */ export interface Condition { - /** - *

              Specifies the type of condition. Currently the only supported value is - * StringEquals.

              - */ - Type: string | undefined; - /** *

              Specifies the value for the key. Currently, this must be the ID of the * organization.

              @@ -1865,6 +1957,12 @@ export interface Condition { * aws:PrincipalOrgID.

              */ Key: string | undefined; + + /** + *

              Specifies the type of condition. Currently the only supported value is + * StringEquals.

              + */ + Type: string | undefined; } export namespace Condition { @@ -1874,18 +1972,6 @@ export namespace Condition { } export interface PutPermissionRequest { - /** - *

              The action that you are enabling the other account to perform. Currently, this must - * be events:PutEvents.

              - */ - Action: string | undefined; - - /** - *

              The event bus associated with the rule. If you omit this, the default event bus is - * used.

              - */ - EventBusName?: 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 @@ -1899,6 +1985,19 @@ export interface PutPermissionRequest { */ Principal: string | undefined; + /** + *

              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 event bus associated with the rule. If you omit this, the default event bus is + * used.

              + */ + EventBusName?: string; + /** *

              This parameter enables you to limit the permission to accounts that fulfill a certain * condition, such as being a member of a certain AWS organization. For more information @@ -1915,11 +2014,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.

              + *

              The action that you are enabling the other account to perform. Currently, this must + * be events:PutEvents.

              */ - StatementId: string | undefined; + Action: string | undefined; } export namespace PutPermissionRequest { @@ -1944,21 +2042,15 @@ export namespace InvalidEventPatternException { } export interface PutRuleRequest { - /** - *

              The scheduling expression. For example, "cron(0 20 * * ? *)" or "rate(5 - * minutes)".

              - */ - ScheduleExpression?: string; - /** *

              Indicates whether the rule is enabled or disabled.

              */ State?: RuleState | string; /** - *

              A description of the rule.

              + *

              The Amazon Resource Name (ARN) of the IAM role associated with the rule.

              */ - Description?: string; + RoleArn?: string; /** *

              The event pattern. For more information, see Events and @@ -1968,25 +2060,31 @@ export interface PutRuleRequest { EventPattern?: string; /** - *

              The event bus to associate with this rule. If you omit this, the default event bus is - * used.

              + *

              A description of the rule.

              */ - EventBusName?: string; + Description?: string; /** - *

              The list of key-value pairs to associate with the rule.

              + *

              The scheduling expression. For example, "cron(0 20 * * ? *)" or "rate(5 + * minutes)".

              */ - Tags?: Tag[]; + ScheduleExpression?: string; /** - *

              The Amazon Resource Name (ARN) of the IAM role associated with the rule.

              + *

              The list of key-value pairs to associate with the rule.

              */ - RoleArn?: string; + Tags?: Tag[]; /** *

              The name of the rule that you are creating or updating.

              */ Name: string | undefined; + + /** + *

              The event bus to associate with this rule. If you omit this, the default event bus is + * used.

              + */ + EventBusName?: string; } export namespace PutRuleRequest { @@ -2010,15 +2108,15 @@ export namespace PutRuleResponse { export interface PutTargetsRequest { /** - *

              The name of the event bus associated with the rule. If you omit this, the default - * event bus is used.

              + *

              The name of the rule.

              */ - EventBusName?: string; + Rule: string | undefined; /** - *

              The name of the rule.

              + *

              The name of the event bus associated with the rule. If you omit this, the default + * event bus is used.

              */ - Rule: string | undefined; + EventBusName?: string; /** *

              The targets to update or add to the rule.

              @@ -2036,11 +2134,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 error code that indicates why the target addition failed. If the value is * ConcurrentModificationException, too many requests were made at the @@ -2048,6 +2141,11 @@ export interface PutTargetsResultEntry { */ ErrorCode?: string; + /** + *

              The error message that explains why the target addition failed.

              + */ + ErrorMessage?: string; + /** *

              The ID of the target.

              */ @@ -2062,14 +2160,14 @@ export namespace PutTargetsResultEntry { export interface PutTargetsResponse { /** - *

              The failed target entries.

              + *

              The number of failed entries.

              */ - FailedEntries?: PutTargetsResultEntry[]; + FailedEntryCount?: number; /** - *

              The number of failed entries.

              + *

              The failed target entries.

              */ - FailedEntryCount?: number; + FailedEntries?: PutTargetsResultEntry[]; } export namespace PutTargetsResponse { @@ -2099,6 +2197,11 @@ export namespace RemovePermissionRequest { } 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 @@ -2108,11 +2211,6 @@ export interface RemoveTargetsRequest { */ Force?: boolean; - /** - *

              The IDs of the targets to remove from the rule.

              - */ - Ids: string[] | undefined; - /** *

              The name of the rule.

              */ @@ -2134,13 +2232,6 @@ export namespace RemoveTargetsRequest { *

              Represents a target that failed to be removed from a rule.

              */ export interface RemoveTargetsResultEntry { - /** - *

              The error code that indicates why the target removal failed. If the value is - * ConcurrentModificationException, too many requests were made at the - * same time.

              - */ - ErrorCode?: string; - /** *

              The ID of the target.

              */ @@ -2150,6 +2241,13 @@ export interface RemoveTargetsResultEntry { *

              The error message that explains why the target removal failed.

              */ ErrorMessage?: string; + + /** + *

              The error code that indicates why the target removal failed. If the value is + * ConcurrentModificationException, too many requests were made at the + * same time.

              + */ + ErrorCode?: string; } export namespace RemoveTargetsResultEntry { @@ -2160,14 +2258,14 @@ export namespace RemoveTargetsResultEntry { export interface RemoveTargetsResponse { /** - *

              The number of failed entries.

              + *

              The failed target entries.

              */ - FailedEntryCount?: number; + FailedEntries?: RemoveTargetsResultEntry[]; /** - *

              The failed target entries.

              + *

              The number of failed entries.

              */ - FailedEntries?: RemoveTargetsResultEntry[]; + FailedEntryCount?: number; } export namespace RemoveTargetsResponse { @@ -2203,17 +2301,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 { @@ -2237,14 +2335,14 @@ export namespace TestEventPatternResponse { export interface UntagResourceRequest { /** - *

              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; /** - *

              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; } export namespace UntagResourceRequest { diff --git a/clients/client-cloudwatch-events/protocols/Aws_json1_1.ts b/clients/client-cloudwatch-events/protocols/Aws_json1_1.ts index e3a2cd5187c5..a4c282e4e384 100644 --- a/clients/client-cloudwatch-events/protocols/Aws_json1_1.ts +++ b/clients/client-cloudwatch-events/protocols/Aws_json1_1.ts @@ -72,6 +72,7 @@ import { CreatePartnerEventSourceRequest, CreatePartnerEventSourceResponse, DeactivateEventSourceRequest, + DeadLetterConfig, DeleteEventBusRequest, DeletePartnerEventSourceRequest, DeleteRuleRequest, @@ -131,12 +132,14 @@ import { PutTargetsRequest, PutTargetsResponse, PutTargetsResultEntry, + RedshiftDataParameters, RemovePermissionRequest, RemoveTargetsRequest, RemoveTargetsResponse, RemoveTargetsResultEntry, ResourceAlreadyExistsException, ResourceNotFoundException, + RetryPolicy, Rule, RunCommandParameters, RunCommandTarget, @@ -3022,6 +3025,12 @@ const serializeAws_json1_1DeactivateEventSourceRequest = ( }; }; +const serializeAws_json1_1DeadLetterConfig = (input: DeadLetterConfig, context: __SerdeContext): any => { + return { + ...(input.Arn !== undefined && { Arn: input.Arn }), + }; +}; + const serializeAws_json1_1DeleteEventBusRequest = (input: DeleteEventBusRequest, context: __SerdeContext): any => { return { ...(input.Name !== undefined && { Name: input.Name }), @@ -3341,6 +3350,17 @@ const serializeAws_json1_1QueryStringParametersMap = ( ); }; +const serializeAws_json1_1RedshiftDataParameters = (input: RedshiftDataParameters, context: __SerdeContext): any => { + return { + ...(input.Database !== undefined && { Database: input.Database }), + ...(input.DbUser !== undefined && { DbUser: input.DbUser }), + ...(input.SecretManagerArn !== undefined && { SecretManagerArn: input.SecretManagerArn }), + ...(input.Sql !== undefined && { Sql: input.Sql }), + ...(input.StatementName !== undefined && { StatementName: input.StatementName }), + ...(input.WithEvent !== undefined && { WithEvent: input.WithEvent }), + }; +}; + const serializeAws_json1_1RemovePermissionRequest = (input: RemovePermissionRequest, context: __SerdeContext): any => { return { ...(input.EventBusName !== undefined && { EventBusName: input.EventBusName }), @@ -3357,6 +3377,13 @@ const serializeAws_json1_1RemoveTargetsRequest = (input: RemoveTargetsRequest, c }; }; +const serializeAws_json1_1RetryPolicy = (input: RetryPolicy, context: __SerdeContext): any => { + return { + ...(input.MaximumEventAgeInSeconds !== undefined && { MaximumEventAgeInSeconds: input.MaximumEventAgeInSeconds }), + ...(input.MaximumRetryAttempts !== undefined && { MaximumRetryAttempts: input.MaximumRetryAttempts }), + }; +}; + const serializeAws_json1_1RunCommandParameters = (input: RunCommandParameters, context: __SerdeContext): any => { return { ...(input.RunCommandTargets !== undefined && { @@ -3418,6 +3445,9 @@ const serializeAws_json1_1Target = (input: Target, context: __SerdeContext): any ...(input.BatchParameters !== undefined && { BatchParameters: serializeAws_json1_1BatchParameters(input.BatchParameters, context), }), + ...(input.DeadLetterConfig !== undefined && { + DeadLetterConfig: serializeAws_json1_1DeadLetterConfig(input.DeadLetterConfig, context), + }), ...(input.EcsParameters !== undefined && { EcsParameters: serializeAws_json1_1EcsParameters(input.EcsParameters, context), }), @@ -3433,6 +3463,12 @@ const serializeAws_json1_1Target = (input: Target, context: __SerdeContext): any ...(input.KinesisParameters !== undefined && { KinesisParameters: serializeAws_json1_1KinesisParameters(input.KinesisParameters, context), }), + ...(input.RedshiftDataParameters !== undefined && { + RedshiftDataParameters: serializeAws_json1_1RedshiftDataParameters(input.RedshiftDataParameters, context), + }), + ...(input.RetryPolicy !== undefined && { + RetryPolicy: serializeAws_json1_1RetryPolicy(input.RetryPolicy, context), + }), ...(input.RoleArn !== undefined && { RoleArn: input.RoleArn }), ...(input.RunCommandParameters !== undefined && { RunCommandParameters: serializeAws_json1_1RunCommandParameters(input.RunCommandParameters, context), @@ -3543,6 +3579,12 @@ const deserializeAws_json1_1CreatePartnerEventSourceResponse = ( } as any; }; +const deserializeAws_json1_1DeadLetterConfig = (output: any, context: __SerdeContext): DeadLetterConfig => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeEventBusResponse = ( output: any, context: __SerdeContext @@ -3997,6 +4039,19 @@ const deserializeAws_json1_1QueryStringParametersMap = ( ); }; +const deserializeAws_json1_1RedshiftDataParameters = (output: any, context: __SerdeContext): RedshiftDataParameters => { + return { + Database: output.Database !== undefined && output.Database !== null ? output.Database : undefined, + DbUser: output.DbUser !== undefined && output.DbUser !== null ? output.DbUser : undefined, + SecretManagerArn: + output.SecretManagerArn !== undefined && output.SecretManagerArn !== null ? output.SecretManagerArn : undefined, + Sql: output.Sql !== undefined && output.Sql !== null ? output.Sql : undefined, + StatementName: + output.StatementName !== undefined && output.StatementName !== null ? output.StatementName : undefined, + WithEvent: output.WithEvent !== undefined && output.WithEvent !== null ? output.WithEvent : undefined, + } as any; +}; + const deserializeAws_json1_1RemoveTargetsResponse = (output: any, context: __SerdeContext): RemoveTargetsResponse => { return { FailedEntries: @@ -4044,6 +4099,19 @@ const deserializeAws_json1_1ResourceNotFoundException = ( } as any; }; +const deserializeAws_json1_1RetryPolicy = (output: any, context: __SerdeContext): RetryPolicy => { + return { + MaximumEventAgeInSeconds: + output.MaximumEventAgeInSeconds !== undefined && output.MaximumEventAgeInSeconds !== null + ? output.MaximumEventAgeInSeconds + : undefined, + MaximumRetryAttempts: + output.MaximumRetryAttempts !== undefined && output.MaximumRetryAttempts !== null + ? output.MaximumRetryAttempts + : undefined, + } as any; +}; + const deserializeAws_json1_1Rule = (output: any, context: __SerdeContext): Rule => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, @@ -4129,6 +4197,10 @@ const deserializeAws_json1_1Target = (output: any, context: __SerdeContext): Tar output.BatchParameters !== undefined && output.BatchParameters !== null ? deserializeAws_json1_1BatchParameters(output.BatchParameters, context) : undefined, + DeadLetterConfig: + output.DeadLetterConfig !== undefined && output.DeadLetterConfig !== null + ? deserializeAws_json1_1DeadLetterConfig(output.DeadLetterConfig, context) + : undefined, EcsParameters: output.EcsParameters !== undefined && output.EcsParameters !== null ? deserializeAws_json1_1EcsParameters(output.EcsParameters, context) @@ -4148,6 +4220,14 @@ const deserializeAws_json1_1Target = (output: any, context: __SerdeContext): Tar output.KinesisParameters !== undefined && output.KinesisParameters !== null ? deserializeAws_json1_1KinesisParameters(output.KinesisParameters, context) : undefined, + RedshiftDataParameters: + output.RedshiftDataParameters !== undefined && output.RedshiftDataParameters !== null + ? deserializeAws_json1_1RedshiftDataParameters(output.RedshiftDataParameters, context) + : undefined, + RetryPolicy: + output.RetryPolicy !== undefined && output.RetryPolicy !== null + ? deserializeAws_json1_1RetryPolicy(output.RetryPolicy, context) + : undefined, RoleArn: output.RoleArn !== undefined && output.RoleArn !== null ? output.RoleArn : undefined, RunCommandParameters: output.RunCommandParameters !== undefined && output.RunCommandParameters !== null diff --git a/clients/client-cloudwatch-logs/CloudWatchLogs.ts b/clients/client-cloudwatch-logs/CloudWatchLogs.ts index 42ddb576d1f0..3479633c4e5a 100644 --- a/clients/client-cloudwatch-logs/CloudWatchLogs.ts +++ b/clients/client-cloudwatch-logs/CloudWatchLogs.ts @@ -201,7 +201,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** *

              You can use Amazon CloudWatch Logs to monitor, store, and access your log files from - * Amazon EC2 instances, AWS CloudTrail, or other sources. You can then retrieve the associated + * EC2 instances, AWS CloudTrail, or other sources. You can then retrieve the associated * log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the * AWS CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

              *

              You can use CloudWatch Logs to:

              @@ -212,7 +212,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * can use CloudWatch Logs to monitor applications and systems using log data. For example, * CloudWatch Logs can track the number of errors that occur in your application logs and * send you a notification whenever the rate of errors exceeds a threshold that you specify. - * CloudWatch Logs uses your log data for monitoring; so, no code changes are required. For + * CloudWatch Logs uses your log data for monitoring so no code changes are required. For * example, you can monitor application logs for specific literal terms (such as * "NullReferenceException") or count the number of occurrences of a literal term at a * particular position in log data (such as "404" status codes in an Apache access log). When @@ -223,7 +223,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

              * Monitor AWS CloudTrail logged events: You can * create alarms in CloudWatch and receive notifications of particular API activity as - * captured by CloudTrail and use the notification to perform troubleshooting.

              + * captured by CloudTrail. You can use the notification to perform troubleshooting.

              * *
            • *

              @@ -242,15 +242,14 @@ export class CloudWatchLogs extends CloudWatchLogsClient { * After a CMK is associated with a log group, all newly ingested data for the log group is encrypted using the CMK. * This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. * This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

              - * - *

              - * Important: CloudWatch Logs supports only symmetric CMKs. Do not use an - * associate an asymmetric CMK with your log group. For more information, see Using Symmetric and Asymmetric Keys.

              - *
              - *

              Note that it can take up to 5 minutes for this operation to take effect.

              - *

              If you attempt to associate a CMK with a log group but the CMK does not exist or the CMK is disabled, you will receive an - * InvalidParameterException error. - *

              + * + *

              CloudWatch Logs supports only symmetric CMKs. Do not use an associate an asymmetric CMK + * with your log group. For more information, see Using Symmetric and Asymmetric + * Keys.

              + *
              + *

              It can take up to 5 minutes for this operation to take effect.

              + *

              If you attempt to associate a CMK with a log group but the CMK does not exist or the + * CMK is disabled, you receive an InvalidParameterException error.

              */ public associateKmsKey( args: AssociateKmsKeyCommandInput, @@ -316,7 +315,9 @@ export class CloudWatchLogs extends CloudWatchLogsClient { /** *

              Creates an export task, which allows you to efficiently export data from a - * log group to an Amazon S3 bucket.

              + * log group to an Amazon S3 bucket. When you perform a CreateExportTask + * operation, you must use credentials that have permission to write to the S3 bucket + * that you specify as the destination.

              *

              This is an asynchronous call. If all the required information is provided, this * operation initiates an export task and responds with the ID of the task. After the task has started, * you can use DescribeExportTasks to get the status of the export task. Each account can @@ -358,8 +359,7 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } /** - *

              Creates a log group with the specified name.

              - *

              You can create up to 20,000 log groups per account.

              + *

              Creates a log group with the specified name. You can create up to 20,000 log groups per account.

              *

              You must use the following guidelines when naming a log group:

              *
                *
              • @@ -373,17 +373,19 @@ export class CloudWatchLogs extends CloudWatchLogsClient { * '/' (forward slash), '.' (period), and '#' (number sign)

                *
              • *
              + *

              When you create a log group, by default the log events in the log group never expire. To set + * a retention policy so that events expire and are deleted after a specified time, use + * PutRetentionPolicy.

              *

              If you associate a AWS Key Management Service (AWS KMS) customer master key (CMK) with the log group, ingested data is encrypted using the CMK. * This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. * This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

              - *

              If you attempt to associate a CMK with the log group but the CMK does not exist or the CMK is disabled, you will - * receive an InvalidParameterException error. - *

              - * - *

              - * Important: CloudWatch Logs supports only symmetric CMKs. Do not - * associate an asymmetric CMK with your log group. For more information, see Using Symmetric and Asymmetric Keys.

              - *
              + *

              If you attempt to associate a CMK with the log group but the CMK does not exist or the + * CMK is disabled, you receive an InvalidParameterException error.

              + * + *

              CloudWatch Logs supports only symmetric CMKs. Do not associate an asymmetric CMK with + * your log group. For more information, see Using Symmetric and Asymmetric + * Keys.

              + *
              */ public createLogGroup( args: CreateLogGroupCommandInput, @@ -415,7 +417,9 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } /** - *

              Creates a log stream for the specified log group.

              + *

              Creates a log stream for the specified log group. A log stream is a sequence of log events + * that originate from a single source, such as an application instance or a resource that is + * being monitored.

              *

              There is no limit on the number of log streams that you can create for a log group. There is a limit * of 50 TPS on CreateLogStream operations, after which transactions are throttled.

              *

              You must use the following guidelines when naming a log stream:

              @@ -592,6 +596,13 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } } + /** + *

              Deletes a saved CloudWatch Logs Insights query definition. + * A query definition contains details about a saved CloudWatch Logs Insights query.

              + *

              Each DeleteQueryDefinition operation can delete one query definition.

              + *

              You must have the logs:DeleteQueryDefinition permission to be able to perform + * this operation.

              + */ public deleteQueryDefinition( args: DeleteQueryDefinitionCommandInput, options?: __HttpHandlerOptions @@ -853,10 +864,9 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } /** - *

              Lists the specified metric filters. - * You can list all the metric filters or filter the results by log name, prefix, metric name, or metric namespace. - * - * The results are ASCII-sorted by filter name.

              + *

              Lists the specified metric filters. You can list all of the metric filters or filter + * the results by log name, prefix, metric name, or metric namespace. The results are + * ASCII-sorted by filter name.

              */ public describeMetricFilters( args: DescribeMetricFiltersCommandInput, @@ -888,8 +898,9 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } /** - *

              Returns a list of CloudWatch Logs Insights queries that are scheduled, executing, or have been executed recently in this account. You can request all - * queries, or limit it to queries of a specific log group or queries with a certain status.

              + *

              Returns a list of CloudWatch Logs Insights queries that are scheduled, executing, or have + * been executed recently in this account. You can request all queries or limit it to queries of + * a specific log group or queries with a certain status.

              */ public describeQueries( args: DescribeQueriesCommandInput, @@ -920,6 +931,11 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } } + /** + *

              This operation returns a paginated list of your saved CloudWatch Logs Insights query definitions.

              + *

              You can use the queryDefinitionNamePrefix parameter to limit the results to only the + * query definitions that have names that start with a certain string.

              + */ public describeQueryDefinitions( args: DescribeQueryDefinitionsCommandInput, options?: __HttpHandlerOptions @@ -1053,9 +1069,12 @@ export class CloudWatchLogs extends CloudWatchLogsClient { *

              Lists log events from the specified log group. You can list all the log events or filter the results * using a filter pattern, a time range, and the name of the log stream.

              *

              By default, this operation returns as many log events as can fit in 1 MB (up to 10,000 - * log events), or all the events found within the time range that you specify. If the results + * log events) or all the events found within the time range that you specify. If the results * include a token, then there are more log events available, and you can get additional results - * by specifying the token in a subsequent call.

              + * by specifying the token in a subsequent call. This operation can return empty results + * while there are more log events available through the token.

              + *

              The returned log events are sorted by event timestamp, the timestamp when the event was ingested + * by CloudWatch Logs, and the ID of the PutLogEvents request.

              */ public filterLogEvents( args: FilterLogEventsCommandInput, @@ -1087,11 +1106,12 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } /** - *

              Lists log events from the specified log stream. You can list all the log events or + *

              Lists log events from the specified log stream. You can list all of the log events or * filter using a time range.

              * *

              By default, this operation returns as many log events as can fit in a response size of 1MB (up to 10,000 log events). - * You can get additional log events by specifying one of the tokens in a subsequent call.

              + * You can get additional log events by specifying one of the tokens in a subsequent call. + * This operation can return empty results while there are more log events available through the token.

              */ public getLogEvents( args: GetLogEventsCommandInput, @@ -1159,10 +1179,10 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } /** - *

              Retrieves all the fields and values of a single log event. All fields - * are retrieved, even if the original query that produced the logRecordPointer - * retrieved only a subset of fields. Fields are returned as field name/field value pairs.

              - *

              Additionally, the entire unparsed log event is returned within @message.

              + *

              Retrieves all of the fields and values of a single log event. All fields are retrieved, + * even if the original query that produced the logRecordPointer retrieved only a + * subset of fields. Fields are returned as field name/field value pairs.

              + *

              The full unparsed log event is returned within @message.

              */ public getLogRecord( args: GetLogRecordCommandInput, @@ -1192,9 +1212,10 @@ export class CloudWatchLogs extends CloudWatchLogsClient { /** *

              Returns the results from the specified query.

              - *

              Only the fields requested in the query are returned, along with a @ptr field which - * is the identifier for the log record. You can use the value of @ptr in a GetLogRecord operation - * to get the full log record.

              + *

              Only the fields requested in the query are returned, along with a @ptr + * field, which is the identifier for the log record. You can use the value of @ptr + * in a GetLogRecord + * operation to get the full log record.

              *

              * GetQueryResults * does not start a query execution. To run a query, use StartQuery.

              @@ -1272,6 +1293,8 @@ export class CloudWatchLogs extends CloudWatchLogsClient { * By default, PutDestination does not set any access policy with the destination, * which means a cross-account user cannot call PutSubscriptionFilter against * this destination. To enable this, the destination owner must call PutDestinationPolicy after PutDestination.

              + *

              To perform a PutDestination operation, you must also have the + * iam:PassRole permission.

              */ public putDestination( args: PutDestinationCommandInput, @@ -1341,14 +1364,14 @@ export class CloudWatchLogs extends CloudWatchLogsClient { *

              You must include the sequence token obtained from the response of the previous call. An * upload in a newly created log stream does not require a sequence token. You can also get the * sequence token in the expectedSequenceToken field from - * InvalidSequenceTokenException. If you call - * PutLogEvents twice within a narrow time period using the same value for - * sequenceToken, both calls may be successful, or one may be rejected.

              + * InvalidSequenceTokenException. If you call PutLogEvents twice + * within a narrow time period using the same value for sequenceToken, both calls + * might be successful or one might be rejected.

              *

              The batch of events must satisfy the following constraints:

              *
                *
              • - *

                The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum - * of all event messages in UTF-8, plus 26 bytes for each log event.

                + *

                The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of + * all event messages in UTF-8, plus 26 bytes for each log event.

                *
              • *
              • *

                None of the log events in the batch can be more than 2 hours in the future.

                @@ -1358,9 +1381,9 @@ export class CloudWatchLogs extends CloudWatchLogsClient { * period of the log group.

                *
              • *
              • - *

                The log events in the batch must be in chronological ordered by their timestamp. - * The timestamp is the time the event occurred, expressed as the number of milliseconds - * after Jan 1, 1970 00:00:00 UTC. (In AWS Tools for PowerShell and the AWS SDK for .NET, the + *

                The log events in the batch must be in chronological order by their timestamp. The + * timestamp is the time the event occurred, expressed as the number of milliseconds after + * Jan 1, 1970 00:00:00 UTC. (In AWS Tools for PowerShell and the AWS SDK for .NET, the * timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, * 2017-09-15T13:45:30.)

                *
              • @@ -1374,7 +1397,7 @@ export class CloudWatchLogs extends CloudWatchLogsClient { *

                There is a quota of 5 requests per second per log stream. Additional requests are throttled. This quota can't be changed.

                * *
              - *

              If a call to PutLogEvents returns "UnrecognizedClientException" the most likely cause is an invalid AWS access key ID or secret key.

              + *

              If a call to PutLogEvents returns "UnrecognizedClientException" the most likely cause is an invalid AWS access key ID or secret key.

              */ public putLogEvents( args: PutLogEventsCommandInput, @@ -1438,6 +1461,20 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } } + /** + *

              Creates or updates a query definition for CloudWatch Logs Insights. For + * more information, see Analyzing Log Data with CloudWatch Logs Insights.

              + * + *

              To update a query definition, specify its + * queryDefinitionId in your request. The values of name, queryString, + * and logGroupNames are changed to the values that you specify in your update + * operation. No current values are retained from the current query definition. For example, if + * you update a current query definition that includes log groups, and you don't specify the + * logGroupNames parameter in your update operation, the query definition changes + * to contain no log groups.

              + *

              You must have the logs:PutQueryDefinition permission to be able to perform + * this operation.

              + */ public putQueryDefinition( args: PutQueryDefinitionCommandInput, options?: __HttpHandlerOptions @@ -1468,8 +1505,9 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } /** - *

              Creates or updates a resource policy allowing other AWS services to put log events to this - * account, such as Amazon Route 53. An account can have up to 10 resource policies per region.

              + *

              Creates or updates a resource policy allowing other AWS services to put log events to + * this account, such as Amazon Route 53. An account can have up to 10 resource policies per AWS + * Region.

              */ public putResourcePolicy( args: PutResourcePolicyCommandInput, @@ -1538,7 +1576,10 @@ export class CloudWatchLogs extends CloudWatchLogsClient { *

              Creates or updates a subscription filter and associates it with the specified log * group. Subscription filters allow you to subscribe to a real-time stream of log events * ingested through PutLogEvents and have them delivered to a specific - * destination. Currently, the supported destinations are:

              + * destination. When log events are sent to the + * receiving service, they are Base64 encoded + * and compressed with the gzip format.

              + *

              The following destinations are supported for subscription filters:

              *
                *
              • *

                An Amazon Kinesis stream belonging to the same account as the subscription filter, @@ -1560,6 +1601,8 @@ export class CloudWatchLogs extends CloudWatchLogsClient { * updating an existing filter, you must specify the correct name in filterName. * Otherwise, the call fails because you cannot associate a second filter with a log * group.

                + *

                To perform a PutSubscriptionFilter operation, you must also have the + * iam:PassRole permission.

                */ public putSubscriptionFilter( args: PutSubscriptionFilterCommandInput, @@ -1591,12 +1634,12 @@ export class CloudWatchLogs extends CloudWatchLogsClient { } /** - *

                Schedules a query of a log group using CloudWatch Logs Insights. You specify the log group and time range to query, and the query string - * to use.

                + *

                Schedules a query of a log group using CloudWatch Logs Insights. You specify the log group + * and time range to query and the query string to use.

                *

                For more information, see CloudWatch Logs Insights Query Syntax.

                * - *

                Queries time out after 15 minutes of execution. If your queries are timing out, - * reduce the time range being searched, or partition your query into a number of queries.

                + *

                Queries time out after 15 minutes of execution. If your queries are timing out, reduce the + * time range being searched or partition your query into a number of queries.

                */ public startQuery(args: StartQueryCommandInput, options?: __HttpHandlerOptions): Promise; public startQuery(args: StartQueryCommandInput, cb: (err: any, data?: StartQueryCommandOutput) => void): void; diff --git a/clients/client-cloudwatch-logs/CloudWatchLogsClient.ts b/clients/client-cloudwatch-logs/CloudWatchLogsClient.ts index 68ff7b684ca3..ff83dcdb1d98 100644 --- a/clients/client-cloudwatch-logs/CloudWatchLogsClient.ts +++ b/clients/client-cloudwatch-logs/CloudWatchLogsClient.ts @@ -327,7 +327,7 @@ export type CloudWatchLogsClientResolvedConfig = __SmithyResolvedConfiguration<_ /** *

                You can use Amazon CloudWatch Logs to monitor, store, and access your log files from - * Amazon EC2 instances, AWS CloudTrail, or other sources. You can then retrieve the associated + * EC2 instances, AWS CloudTrail, or other sources. You can then retrieve the associated * log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the * AWS CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

                *

                You can use CloudWatch Logs to:

                @@ -338,7 +338,7 @@ export type CloudWatchLogsClientResolvedConfig = __SmithyResolvedConfiguration<_ * can use CloudWatch Logs to monitor applications and systems using log data. For example, * CloudWatch Logs can track the number of errors that occur in your application logs and * send you a notification whenever the rate of errors exceeds a threshold that you specify. - * CloudWatch Logs uses your log data for monitoring; so, no code changes are required. For + * CloudWatch Logs uses your log data for monitoring so no code changes are required. For * example, you can monitor application logs for specific literal terms (such as * "NullReferenceException") or count the number of occurrences of a literal term at a * particular position in log data (such as "404" status codes in an Apache access log). When @@ -349,7 +349,7 @@ export type CloudWatchLogsClientResolvedConfig = __SmithyResolvedConfiguration<_ *

                * Monitor AWS CloudTrail logged events: You can * create alarms in CloudWatch and receive notifications of particular API activity as - * captured by CloudTrail and use the notification to perform troubleshooting.

                + * captured by CloudTrail. You can use the notification to perform troubleshooting.

                *
              • *
              • *

                diff --git a/clients/client-cloudwatch-logs/models/models_0.ts b/clients/client-cloudwatch-logs/models/models_0.ts index 1c061ba8a34e..71d06dea5d08 100644 --- a/clients/client-cloudwatch-logs/models/models_0.ts +++ b/clients/client-cloudwatch-logs/models/models_0.ts @@ -110,11 +110,9 @@ export namespace InvalidOperationException { export interface CreateExportTaskRequest { /** - *

                The start time of the range for the request, expressed as the number of milliseconds - * after Jan 1, 1970 00:00:00 UTC. Events with a timestamp earlier than this time are not - * exported.

                + *

                The name of the export task.

                */ - from: number | undefined; + taskName?: string; /** *

                The name of S3 bucket for the exported log data. The bucket must be in the same AWS region.

                @@ -122,33 +120,35 @@ export interface CreateExportTaskRequest { destination: string | undefined; /** - *

                The prefix used as the start of the key for every object exported. If you don't - * specify a value, the default is exportedlogs.

                + *

                The start time of the range for the request, expressed as the number of milliseconds + * after Jan 1, 1970 00:00:00 UTC. Events with a timestamp earlier than this time are not + * exported.

                */ - destinationPrefix?: string; + from: number | undefined; /** - *

                Export only log streams that match the provided prefix. If you don't - * specify a value, no prefix filter is applied.

                + *

                The end time of the range for the request, expressed as the number of milliseconds + * after Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not + * exported.

                */ - logStreamNamePrefix?: string; + to: number | undefined; /** - *

                The name of the export task.

                + *

                The name of the log group.

                */ - taskName?: string; + logGroupName: string | undefined; /** - *

                The name of the log group.

                + *

                The prefix used as the start of the key for every object exported. If you don't + * specify a value, the default is exportedlogs.

                */ - logGroupName: string | undefined; + destinationPrefix?: string; /** - *

                The end time of the range for the request, expressed as the number of milliseconds - * after Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not - * exported.

                + *

                Export only log streams that match the provided prefix. If you don't + * specify a value, no prefix filter is applied.

                */ - to: number | undefined; + logStreamNamePrefix?: string; } export namespace CreateExportTaskRequest { @@ -202,9 +202,9 @@ export namespace ResourceAlreadyExistsException { export interface CreateLogGroupRequest { /** - *

                The name of the log group.

                + *

                The key-value pairs to use for the tags.

                */ - logGroupName: string | undefined; + tags?: { [key: string]: string }; /** *

                The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. @@ -213,9 +213,9 @@ export interface CreateLogGroupRequest { kmsKeyId?: string; /** - *

                The key-value pairs to use for the tags.

                + *

                The name of the log group.

                */ - tags?: { [key: string]: string }; + logGroupName: string | undefined; } export namespace CreateLogGroupRequest { @@ -226,14 +226,14 @@ export namespace CreateLogGroupRequest { export interface CreateLogStreamRequest { /** - *

                The name of the log group.

                + *

                The name of the log stream.

                */ - logGroupName: string | undefined; + logStreamName: string | undefined; /** - *

                The name of the log stream.

                + *

                The name of the log group.

                */ - logStreamName: string | undefined; + logGroupName: string | undefined; } export namespace CreateLogStreamRequest { @@ -286,14 +286,14 @@ export namespace DeleteLogGroupRequest { export interface DeleteLogStreamRequest { /** - *

                The name of the log group.

                + *

                The name of the log stream.

                */ - logGroupName: string | undefined; + logStreamName: string | undefined; /** - *

                The name of the log stream.

                + *

                The name of the log group.

                */ - logStreamName: string | undefined; + logGroupName: string | undefined; } export namespace DeleteLogStreamRequest { @@ -321,6 +321,10 @@ export namespace DeleteMetricFilterRequest { } export interface DeleteQueryDefinitionRequest { + /** + *

                The ID of the query definition that you want to delete. You can use DescribeQueryDefinitions to retrieve the + * IDs of your saved query definitions.

                + */ queryDefinitionId: string | undefined; } @@ -331,6 +335,10 @@ export namespace DeleteQueryDefinitionRequest { } export interface DeleteQueryDefinitionResponse { + /** + *

                A value of TRUE indicates that the operation succeeded. FALSE indicates that the operation + * failed.

                + */ success?: boolean; } @@ -412,10 +420,9 @@ export namespace DescribeDestinationsRequest { */ export interface Destination { /** - *

                The creation time of the destination, expressed as the number of milliseconds after Jan - * 1, 1970 00:00:00 UTC.

                + *

                The name of the destination.

                */ - creationTime?: number; + destinationName?: string; /** *

                A role for impersonation, used when delivering log events to the target.

                @@ -423,12 +430,19 @@ export interface Destination { roleArn?: string; /** - *

                The name of the destination.

                + *

                An IAM policy document that governs which AWS accounts can create subscription filters + * against this destination.

                */ - destinationName?: string; + accessPolicy?: string; + + /** + *

                The creation time of the destination, expressed as the number of milliseconds after Jan + * 1, 1970 00:00:00 UTC.

                + */ + creationTime?: number; /** - *

                The Amazon Resource Name (ARN) of the physical target to where the log events are + *

                The Amazon Resource Name (ARN) of the physical target where the log events are * delivered (for example, a Kinesis stream).

                */ targetArn?: string; @@ -437,12 +451,6 @@ export interface Destination { *

                The ARN of this destination.

                */ arn?: string; - - /** - *

                An IAM policy document that governs which AWS accounts can create subscription filters - * against this destination.

                - */ - accessPolicy?: string; } export namespace Destination { @@ -453,14 +461,14 @@ export namespace Destination { export interface DescribeDestinationsResponse { /** - *

                The destinations.

                + *

                The token for the next set of items to return. The token expires after 24 hours.

                */ - destinations?: Destination[]; + nextToken?: string; /** - *

                The token for the next set of items to return. The token expires after 24 hours.

                + *

                The destinations.

                */ - nextToken?: string; + destinations?: Destination[]; } export namespace DescribeDestinationsResponse { @@ -480,24 +488,24 @@ export enum ExportTaskStatusCode { export interface DescribeExportTasksRequest { /** - *

                The token for the next set of items to return. (You received this token from a previous call.)

                + *

                The ID of the export task. Specifying a task ID filters the results to zero or one export tasks.

                */ - nextToken?: string; + taskId?: string; /** - *

                The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

                + *

                The status code of the export task. Specifying a status code filters the results to zero or more export tasks.

                */ - limit?: number; + statusCode?: ExportTaskStatusCode | string; /** - *

                The ID of the export task. Specifying a task ID filters the results to zero or one export tasks.

                + *

                The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

                */ - taskId?: string; + limit?: number; /** - *

                The status code of the export task. Specifying a status code filters the results to zero or more export tasks.

                + *

                The token for the next set of items to return. (You received this token from a previous call.)

                */ - statusCode?: ExportTaskStatusCode | string; + nextToken?: string; } export namespace DescribeExportTasksRequest { @@ -555,9 +563,10 @@ export namespace ExportTaskStatus { */ export interface ExportTask { /** - *

                The prefix that was used as the start of Amazon S3 key for every object exported.

                + *

                The start time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. + * Events with a timestamp before this time are not exported.

                */ - destinationPrefix?: string; + from?: number; /** *

                The end time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. @@ -566,20 +575,19 @@ export interface ExportTask { to?: number; /** - *

                The start time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. - * Events with a timestamp before this time are not exported.

                + *

                The name of the S3 bucket to which the log data was exported.

                */ - from?: number; + destination?: string; /** - *

                The status of the export task.

                + *

                The prefix that was used as the start of Amazon S3 key for every object exported.

                */ - status?: ExportTaskStatus; + destinationPrefix?: string; /** - *

                The name of the log group from which logs data was exported.

                + *

                Execution information about the export task.

                */ - logGroupName?: string; + executionInfo?: ExportTaskExecutionInfo; /** *

                The name of the export task.

                @@ -587,19 +595,19 @@ export interface ExportTask { taskName?: string; /** - *

                Execution info about the export task.

                + *

                The name of the log group from which logs data was exported.

                */ - executionInfo?: ExportTaskExecutionInfo; + logGroupName?: string; /** - *

                The name of Amazon S3 bucket to which the log data was exported.

                + *

                The ID of the export task.

                */ - destination?: string; + taskId?: string; /** - *

                The ID of the export task.

                + *

                The status of the export task.

                */ - taskId?: string; + status?: ExportTaskStatus; } export namespace ExportTask { @@ -628,14 +636,14 @@ export namespace DescribeExportTasksResponse { export interface DescribeLogGroupsRequest { /** - *

                The token for the next set of items to return. (You received this token from a previous call.)

                + *

                The prefix to match.

                */ - nextToken?: string; + logGroupNamePrefix?: string; /** - *

                The prefix to match.

                + *

                The token for the next set of items to return. (You received this token from a previous call.)

                */ - logGroupNamePrefix?: string; + nextToken?: string; /** *

                The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

                @@ -658,6 +666,12 @@ export interface LogGroup { */ kmsKeyId?: string; + /** + *

                The creation time of the log group, expressed as the number of milliseconds after Jan + * 1, 1970 00:00:00 UTC.

                + */ + creationTime?: number; + /** *

                The name of the log group.

                */ @@ -669,10 +683,9 @@ export interface LogGroup { metricFilterCount?: number; /** - *

                The number of days to retain the log events in the specified log group. - * Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

                + *

                The number of bytes stored.

                */ - retentionInDays?: number; + storedBytes?: number; /** *

                The Amazon Resource Name (ARN) of the log group.

                @@ -680,15 +693,12 @@ export interface LogGroup { arn?: string; /** - *

                The creation time of the log group, expressed as the number of milliseconds after Jan - * 1, 1970 00:00:00 UTC.

                - */ - creationTime?: number; - - /** - *

                The number of bytes stored.

                + *

                The number of days to retain the log events in the specified log group. + * Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

                + *

                If you omit retentionInDays in a PutRetentionPolicy operation, + * the events in the log group are always retained and never expire.

                */ - storedBytes?: number; + retentionInDays?: number; } export namespace LogGroup { @@ -699,14 +709,16 @@ export namespace LogGroup { export interface DescribeLogGroupsResponse { /** - *

                The log groups.

                + *

                The token for the next set of items to return. The token expires after 24 hours.

                */ - logGroups?: LogGroup[]; + nextToken?: string; /** - *

                The token for the next set of items to return. The token expires after 24 hours.

                + *

                The log groups.

                + *

                If the retentionInDays value if not included for a log group, then that log group + * is set to have its events never expire.

                */ - nextToken?: string; + logGroups?: LogGroup[]; } export namespace DescribeLogGroupsResponse { @@ -722,17 +734,14 @@ export enum OrderBy { export interface DescribeLogStreamsRequest { /** - *

                If the value is LogStreamName, the results are ordered by log stream name. - * If the value is LastEventTime, the results are ordered by the event time. - * The default value is LogStreamName.

                - *

                If you order the results by event time, you cannot specify the logStreamNamePrefix parameter.

                - *

                lastEventTimestamp represents the time of the most recent log event in the log stream - * in CloudWatch Logs. This number is expressed as the number of milliseconds after Jan 1, 1970 - * 00:00:00 UTC. lastEventTimeStamp updates on an eventual consistency basis. It typically - * updates in less than an hour from ingestion, but may take longer in some rare - * situations.

                + *

                The token for the next set of items to return. (You received this token from a previous call.)

                */ - orderBy?: OrderBy | string; + nextToken?: string; + + /** + *

                The name of the log group.

                + */ + logGroupName: string | undefined; /** *

                The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

                @@ -740,13 +749,22 @@ export interface DescribeLogStreamsRequest { limit?: number; /** - *

                The token for the next set of items to return. (You received this token from a previous call.)

                + *

                If the value is LogStreamName, the results are ordered by log stream name. + * If the value is LastEventTime, the results are ordered by the event time. + * The default value is LogStreamName.

                + *

                If you order the results by event time, you cannot specify the logStreamNamePrefix parameter.

                + *

                + * lastEventTimeStamp represents the time of the most recent log event in the + * log stream in CloudWatch Logs. This number is expressed as the number of milliseconds after + * Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on an eventual consistency + * basis. It typically updates in less than an hour from ingestion, but in rare situations might + * take longer.

                */ - nextToken?: string; + orderBy?: OrderBy | string; /** *

                The prefix to match.

                - *

                If orderBy is LastEventTime,you cannot specify this + *

                If orderBy is LastEventTime, you cannot specify this * parameter.

                */ logStreamNamePrefix?: string; @@ -757,11 +775,6 @@ export interface DescribeLogStreamsRequest { * The default value is false.

                */ descending?: boolean; - - /** - *

                The name of the log group.

                - */ - logGroupName: string | undefined; } export namespace DescribeLogStreamsRequest { @@ -775,11 +788,6 @@ export namespace DescribeLogStreamsRequest { * a single emitter of logs.

                */ export interface LogStream { - /** - *

                The name of the log stream.

                - */ - logStreamName?: string; - /** *

                The creation time of the stream, expressed as the number of milliseconds after Jan 1, * 1970 00:00:00 UTC.

                @@ -793,36 +801,41 @@ export interface LogStream { firstEventTimestamp?: number; /** - *

                The ingestion time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 - * UTC.

                + *

                The name of the log stream.

                */ - lastIngestionTime?: number; + logStreamName?: string; /** *

                The time of the most recent log event in the log stream in CloudWatch Logs. This number * is expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. The * lastEventTime value updates on an eventual consistency basis. It typically - * updates in less than an hour from ingestion, but may take longer in some rare - * situations.

                + * updates in less than an hour from ingestion, but in rare situations might take + * longer.

                */ lastEventTimestamp?: number; + /** + *

                The sequence token.

                + */ + uploadSequenceToken?: string; + /** *

                The Amazon Resource Name (ARN) of the log stream.

                */ arn?: string; /** - *

                The sequence token.

                + *

                The ingestion time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 + * UTC.

                */ - uploadSequenceToken?: string; + lastIngestionTime?: number; /** *

                The number of bytes stored.

                *

                - * IMPORTANT:On June 17, 2019, this parameter was deprecated for log streams, and is always - * reported as zero. This change applies only to log streams. The storedBytes parameter for log - * groups is not affected.

                + * Important: On June 17, 2019, this parameter was + * deprecated for log streams, and is always reported as zero. This change applies only to log + * streams. The storedBytes parameter for log groups is not affected.

                */ storedBytes?: number; } @@ -853,14 +866,14 @@ export namespace DescribeLogStreamsResponse { export interface DescribeMetricFiltersRequest { /** - *

                The token for the next set of items to return. (You received this token from a previous call.)

                + *

                The name of the log group.

                */ - nextToken?: string; + logGroupName?: string; /** - *

                The name of the log group.

                + *

                The token for the next set of items to return. (You received this token from a previous call.)

                */ - logGroupName?: string; + nextToken?: string; /** *

                Filters results to include only those with the specified metric name. If you include this parameter in your request, you @@ -869,14 +882,15 @@ export interface DescribeMetricFiltersRequest { metricName?: string; /** - *

                The prefix to match.

                + *

                The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

                */ - filterNamePrefix?: string; + limit?: number; /** - *

                The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

                + *

                The prefix to match. CloudWatch Logs uses the value you set here + * only if you also include the logGroupName parameter in your request.

                */ - limit?: number; + filterNamePrefix?: string; /** *

                Filters results to include only those in the specified namespace. If you include this parameter in your request, you @@ -896,12 +910,6 @@ export namespace DescribeMetricFiltersRequest { * metric.

                */ export interface MetricTransformation { - /** - *

                A custom namespace to contain your metric in CloudWatch. Use namespaces to group together metrics - * that are similar. For more information, see Namespaces.

                - */ - metricNamespace: string | undefined; - /** *

                (Optional) The value to emit when a filter pattern does not match a log event. * This value can be null.

                @@ -913,6 +921,12 @@ export interface MetricTransformation { */ metricValue: string | undefined; + /** + *

                A custom namespace to contain your metric in CloudWatch. Use namespaces to group together metrics + * that are similar. For more information, see Namespaces.

                + */ + metricNamespace: string | undefined; + /** *

                The name of the CloudWatch metric.

                */ @@ -936,11 +950,6 @@ export interface MetricFilter { */ creationTime?: number; - /** - *

                The name of the metric filter.

                - */ - filterName?: string; - /** *

                The metric transformations.

                */ @@ -948,11 +957,16 @@ export interface MetricFilter { /** *

                A symbolic description of how CloudWatch Logs should interpret the data in each log - * event. For example, a log event may contain timestamps, IP addresses, strings, and so on. You + * event. For example, a log event can contain timestamps, IP addresses, strings, and so on. You * use the filter pattern to specify what to look for in the log event message.

                */ filterPattern?: string; + /** + *

                The name of the metric filter.

                + */ + filterName?: string; + /** *

                The name of the log group.

                */ @@ -967,14 +981,14 @@ export namespace MetricFilter { export interface DescribeMetricFiltersResponse { /** - *

                The metric filters.

                + *

                The token for the next set of items to return. The token expires after 24 hours.

                */ - metricFilters?: MetricFilter[]; + nextToken?: string; /** - *

                The token for the next set of items to return. The token expires after 24 hours.

                + *

                The metric filters.

                */ - nextToken?: string; + metricFilters?: MetricFilter[]; } export namespace DescribeMetricFiltersResponse { @@ -993,25 +1007,25 @@ export enum QueryStatus { export interface DescribeQueriesRequest { /** - *

                Limits the returned queries to only those that have the specified status. Valid values are Cancelled, - * Complete, Failed, Running, and Scheduled.

                + *

                Limits the number of returned queries to the specified number.

                */ - status?: QueryStatus | string; + maxResults?: number; /** - *

                Limits the returned queries to only those for the specified log group.

                + *

                The token for the next set of items to return. The token expires after 24 hours.

                */ - logGroupName?: string; + nextToken?: string; /** - *

                Limits the number of returned queries to the specified number.

                + *

                Limits the returned queries to only those for the specified log group.

                */ - maxResults?: number; + logGroupName?: string; /** - *

                The token for the next set of items to return. The token expires after 24 hours.

                + *

                Limits the returned queries to only those that have the specified status. Valid values are Cancelled, + * Complete, Failed, Running, and Scheduled.

                */ - nextToken?: string; + status?: QueryStatus | string; } export namespace DescribeQueriesRequest { @@ -1025,14 +1039,10 @@ export namespace DescribeQueriesRequest { */ export interface QueryInfo { /** - *

                The date and time that this query was created.

                - */ - createTime?: number; - - /** - *

                The unique ID number of this query.

                + *

                The status of this query. Possible values are Cancelled, + * Complete, Failed, Running, Scheduled, and Unknown.

                */ - queryId?: string; + status?: QueryStatus | string; /** *

                The query string used in this query.

                @@ -1040,15 +1050,19 @@ export interface QueryInfo { queryString?: string; /** - *

                The status of this query. Possible values are Cancelled, - * Complete, Failed, Running, Scheduled, and Unknown.

                + *

                The unique ID number of this query.

                */ - status?: QueryStatus | string; + queryId?: string; /** *

                The name of the log group scanned by this query.

                */ logGroupName?: string; + + /** + *

                The date and time that this query was created.

                + */ + createTime?: number; } export namespace QueryInfo { @@ -1076,8 +1090,16 @@ export namespace DescribeQueriesResponse { } export interface DescribeQueryDefinitionsRequest { + /** + *

                Use this parameter to filter your results to only the query definitions that have names that start with the prefix you specify.

                + */ queryDefinitionNamePrefix?: string; + + /** + *

                Limits the number of returned query definitions to the specified number.

                + */ maxResults?: number; + /** *

                The token for the next set of items to return. The token expires after 24 hours.

                */ @@ -1090,11 +1112,34 @@ export namespace DescribeQueryDefinitionsRequest { }); } +/** + *

                This structure contains details about a saved CloudWatch Logs Insights query definition.

                + */ export interface QueryDefinition { + /** + *

                If this query definition contains a list of log groups that it is limited to, that list appears here.

                + */ + logGroupNames?: string[]; + + /** + *

                The date that the query definition was most recently modified.

                + */ lastModified?: number; + + /** + *

                The unique ID of the query definition.

                + */ queryDefinitionId?: string; - logGroupNames?: string[]; + + /** + *

                The name of the query definition.

                + */ name?: string; + + /** + *

                The query string to use for this definition. + * For more information, see CloudWatch Logs Insights Query Syntax.

                + */ queryString?: string; } @@ -1105,12 +1150,15 @@ export namespace QueryDefinition { } export interface DescribeQueryDefinitionsResponse { + /** + *

                The list of query definitions that match your request.

                + */ + queryDefinitions?: QueryDefinition[]; + /** *

                The token for the next set of items to return. The token expires after 24 hours.

                */ nextToken?: string; - - queryDefinitions?: QueryDefinition[]; } export namespace DescribeQueryDefinitionsResponse { @@ -1188,11 +1236,6 @@ export interface DescribeSubscriptionFiltersRequest { */ nextToken?: string; - /** - *

                The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

                - */ - limit?: number; - /** *

                The name of the log group.

                */ @@ -1202,6 +1245,11 @@ export interface DescribeSubscriptionFiltersRequest { *

                The prefix to match. If you don't specify a value, no prefix filter is applied.

                */ filterNamePrefix?: string; + + /** + *

                The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

                + */ + limit?: number; } export namespace DescribeSubscriptionFiltersRequest { @@ -1219,13 +1267,6 @@ export enum Distribution { *

                Represents a subscription filter.

                */ export interface SubscriptionFilter { - /** - *

                A symbolic description of how CloudWatch Logs should interpret the data in each log - * event. For example, a log event may contain timestamps, IP addresses, strings, and so on. You - * use the filter pattern to specify what to look for in the log event message.

                - */ - filterPattern?: string; - /** *

                The method used to distribute log data to the destination, which can be either * random or grouped by log stream.

                @@ -1233,19 +1274,21 @@ export interface SubscriptionFilter { distribution?: Distribution | string; /** - *

                The name of the subscription filter.

                + *

                A symbolic description of how CloudWatch Logs should interpret the data in each log + * event. For example, a log event can contain timestamps, IP addresses, strings, and so on. You + * use the filter pattern to specify what to look for in the log event message.

                */ - filterName?: string; + filterPattern?: string; /** - *

                + *

                The name of the subscription filter.

                */ - roleArn?: string; + filterName?: string; /** - *

                The Amazon Resource Name (ARN) of the destination.

                + *

                The name of the log group.

                */ - destinationArn?: string; + logGroupName?: string; /** *

                The creation time of the subscription filter, expressed as the number of milliseconds @@ -1254,9 +1297,14 @@ export interface SubscriptionFilter { creationTime?: number; /** - *

                The name of the log group.

                + *

                The Amazon Resource Name (ARN) of the destination.

                */ - logGroupName?: string; + destinationArn?: string; + + /** + *

                + */ + roleArn?: string; } export namespace SubscriptionFilter { @@ -1306,10 +1354,10 @@ export interface FilteredLogEvent { logStreamName?: string; /** - *

                The time the event was ingested, expressed as the number of milliseconds after Jan 1, - * 1970 00:00:00 UTC.

                + *

                The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 + * 00:00:00 UTC.

                */ - ingestionTime?: number; + timestamp?: number; /** *

                The data contained in the log event.

                @@ -1317,15 +1365,15 @@ export interface FilteredLogEvent { message?: string; /** - *

                The ID of the event.

                + *

                The time the event was ingested, expressed as the number of milliseconds after Jan 1, + * 1970 00:00:00 UTC.

                */ - eventId?: string; + ingestionTime?: number; /** - *

                The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 - * 00:00:00 UTC.

                + *

                The ID of the event.

                */ - timestamp?: number; + eventId?: string; } export namespace FilteredLogEvent { @@ -1336,20 +1384,16 @@ export namespace FilteredLogEvent { export interface FilterLogEventsRequest { /** - *

                The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 - * 00:00:00 UTC. Events with a timestamp before this time are not returned.

                - */ - startTime?: number; - - /** - *

                The token for the next set of events to return. (You received this token from a previous call.)

                - */ - nextToken?: string; - - /** - *

                The maximum number of events to return. The default is 10,000 events.

                + *

                If the value is true, the operation makes a best effort to provide responses that + * contain events from multiple log streams within the log group, interleaved in a single + * response. If the value is false, all the matched log events in the first log stream are + * searched first, then those in the next log stream, and so on. The default is false.

                + *

                + * Important: Starting on June 17, 2019, this parameter + * is ignored and the value is assumed to be true. The response from this operation always + * interleaves events from multiple log streams within a log group.

                */ - limit?: number; + interleaved?: boolean; /** *

                The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 @@ -1363,22 +1407,14 @@ export interface FilterLogEventsRequest { logGroupName: string | undefined; /** - *

                If the value is true, the operation makes a best effort to provide responses that - * contain events from multiple log streams within the log group, interleaved in a single - * response. If the value is false, all the matched log events in the first log stream are - * searched first, then those in the next log stream, and so on. The default is false.

                - *

                - * IMPORTANT: Starting on June 17, 2019, this parameter will be ignored and the value will be assumed to be - * true. The response from this operation will always interleave events from multiple log streams within - * a log group.

                + *

                The maximum number of events to return. The default is 10,000 events.

                */ - interleaved?: boolean; + limit?: number; /** - *

                The filter pattern to use. For more information, see Filter and Pattern Syntax.

                - *

                If not provided, all the events are matched.

                + *

                The token for the next set of events to return. (You received this token from a previous call.)

                */ - filterPattern?: string; + nextToken?: string; /** *

                Filters the results to include only events from log streams that have names starting with this prefix.

                @@ -1388,6 +1424,20 @@ export interface FilterLogEventsRequest { */ logStreamNamePrefix?: string; + /** + *

                The filter pattern to use. For more information, see Filter and Pattern Syntax.

                + *

                If not provided, all the events are matched.

                + */ + filterPattern?: string; + + /** + *

                The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 + * 00:00:00 UTC. Events with a timestamp before this time are not returned.

                + *

                If you omit startTime and endTime the most recent log events + * are retrieved, to up 1 MB or 10,000 log events.

                + */ + startTime?: number; + /** *

                Filters the results to only logs from the log streams in this list.

                *

                If you specify a value for both logStreamNamePrefix and logStreamNames, the action @@ -1435,25 +1485,45 @@ export interface FilterLogEventsResponse { events?: FilteredLogEvent[]; /** - *

                Indicates which log streams have been searched and whether each has been searched completely.

                + *

                + * IMPORTANT Starting on May 15, 2020, + * this parameter will be deprecated. This parameter will be an empty list + * after the deprecation occurs.

                + *

                Indicates which log streams have been searched and whether each has been searched completely.

                + */ + searchedLogStreams?: SearchedLogStream[]; +} + +export namespace FilterLogEventsResponse { + export const filterSensitiveLog = (obj: FilterLogEventsResponse): any => ({ + ...obj, + }); +} + +export interface GetLogEventsRequest { + /** + *

                The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 + * 00:00:00 UTC. Events with a timestamp equal to this time or later than this time are included. + * Events with a timestamp earlier than this time are not included.

                + */ + startTime?: number; + + /** + *

                The maximum number of log events returned. If you don't specify a value, the maximum is + * as many log events as can fit in a response size of 1 MB, up to 10,000 log events.

                + */ + limit?: number; + + /** + *

                The token for the next set of items to return. (You received this token from a previous call.)

                + *

                Using this token works only when you specify true for startFromHead.

                */ - searchedLogStreams?: SearchedLogStream[]; -} - -export namespace FilterLogEventsResponse { - export const filterSensitiveLog = (obj: FilterLogEventsResponse): any => ({ - ...obj, - }); -} + nextToken?: string; -export interface GetLogEventsRequest { /** - *

                If the value is true, the earliest log events are returned first. - * If the value is false, the latest log events are returned first. - * The default value is false.

                - *

                If you are using nextToken in this operation, you must specify true for startFromHead.

                + *

                The name of the log stream.

                */ - startFromHead?: boolean; + logStreamName: string | undefined; /** *

                The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 @@ -1462,34 +1532,18 @@ export interface GetLogEventsRequest { */ endTime?: number; - /** - *

                The name of the log stream.

                - */ - logStreamName: string | undefined; - /** *

                The name of the log group.

                */ logGroupName: string | undefined; /** - *

                The token for the next set of items to return. (You received this token from a previous call.)

                - *

                Using this token works only when you specify true for startFromHead.

                - */ - nextToken?: string; - - /** - *

                The maximum number of log events returned. If you don't specify a value, the maximum is - * as many log events as can fit in a response size of 1 MB, up to 10,000 log events.

                - */ - limit?: number; - - /** - *

                The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 - * 00:00:00 UTC. Events with a timestamp equal to this time or later than this time are included. - * Events with a timestamp earlier than this time are not included.

                + *

                If the value is true, the earliest log events are returned first. + * If the value is false, the latest log events are returned first. + * The default value is false.

                + *

                If you are using nextToken in this operation, you must specify true for startFromHead.

                */ - startTime?: number; + startFromHead?: boolean; } export namespace GetLogEventsRequest { @@ -1503,15 +1557,15 @@ export namespace GetLogEventsRequest { */ export interface OutputLogEvent { /** - *

                The time the event was ingested, expressed as the number of milliseconds after Jan 1, - * 1970 00:00:00 UTC.

                + *

                The data contained in the log event.

                */ - ingestionTime?: number; + message?: string; /** - *

                The data contained in the log event.

                + *

                The time the event was ingested, expressed as the number of milliseconds after Jan 1, + * 1970 00:00:00 UTC.

                */ - message?: string; + ingestionTime?: number; /** *

                The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 @@ -1528,21 +1582,23 @@ export namespace OutputLogEvent { export interface GetLogEventsResponse { /** - *

                The token for the next set of items in the backward direction. The token expires after 24 hours. This token will never be null. If you - * have reached the end of the stream, it will return the same token you passed in.

                + *

                The token for the next set of items in the backward direction. The token expires after + * 24 hours. This token is never null. If you have reached the end of the stream, it returns the + * same token you passed in.

                */ nextBackwardToken?: string; /** - *

                The events.

                + *

                The token for the next set of items in the forward direction. The token expires after + * 24 hours. If you have reached the end of the stream, it returns the same token you passed + * in.

                */ - events?: OutputLogEvent[]; + nextForwardToken?: string; /** - *

                The token for the next set of items in the forward direction. The token expires after 24 hours. If you - * have reached the end of the stream, it will return the same token you passed in.

                + *

                The events.

                */ - nextForwardToken?: string; + events?: OutputLogEvent[]; } export namespace GetLogEventsResponse { @@ -1552,6 +1608,11 @@ export namespace GetLogEventsResponse { } export interface GetLogGroupFieldsRequest { + /** + *

                The name of the log group to search.

                + */ + logGroupName: string | undefined; + /** *

                The time to set as the center of the query. If you specify time, the 8 * minutes before and 8 minutes after this time are searched. If you omit time, the @@ -1560,11 +1621,6 @@ export interface GetLogGroupFieldsRequest { * January 1, 1970, 00:00:00 UTC.

                */ time?: number; - - /** - *

                The name of the log group to search.

                - */ - logGroupName: string | undefined; } export namespace GetLogGroupFieldsRequest { @@ -1579,14 +1635,14 @@ export namespace GetLogGroupFieldsRequest { */ export interface LogGroupField { /** - *

                The name of a log field.

                + *

                The percentage of log events queried that contained the field.

                */ - name?: string; + percent?: number; /** - *

                The percentage of log events queried that contained the field.

                + *

                The name of a log field.

                */ - percent?: number; + name?: string; } export namespace LogGroupField { @@ -1681,9 +1737,9 @@ export namespace ResultField { */ export interface QueryStatistics { /** - *

                The total number of log events scanned during the query.

                + *

                The number of log events that matched the query string.

                */ - recordsScanned?: number; + recordsMatched?: number; /** *

                The total number of bytes in the log events scanned during the query.

                @@ -1691,9 +1747,9 @@ export interface QueryStatistics { bytesScanned?: number; /** - *

                The number of log events that matched the query string.

                + *

                The total number of log events scanned during the query.

                */ - recordsMatched?: number; + recordsScanned?: number; } export namespace QueryStatistics { @@ -1711,21 +1767,21 @@ export interface GetQueryResultsResponse { */ results?: ResultField[][]; + /** + *

                Includes the number of log events scanned by the query, the number of log events that matched the + * query criteria, and the total number of bytes in the log events that were scanned. These values + * reflect the full raw results of the query.

                + */ + statistics?: QueryStatistics; + /** *

                The status of the most recent running of the query. Possible values are Cancelled, * Complete, Failed, Running, Scheduled, * Timeout, and Unknown.

                - *

                Queries time out after 15 minutes of execution. To avoid having your - * queries time out, reduce the time range being searched, or partition your - * query into a number of queries.

                + *

                Queries time out after 15 minutes of execution. To avoid having your queries time out, + * reduce the time range being searched or partition your query into a number of queries.

                */ status?: QueryStatus | string; - - /** - *

                Includes the number of log events scanned by the query, the number of log events that matched the - * query criteria, and the total number of bytes in the log events that were scanned.

                - */ - statistics?: QueryStatistics; } export namespace GetQueryResultsResponse { @@ -1739,16 +1795,16 @@ export namespace GetQueryResultsResponse { * by the application or resource being monitored.

                */ export interface InputLogEvent { - /** - *

                The raw event message.

                - */ - message: string | undefined; - /** *

                The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 * 00:00:00 UTC.

                */ timestamp: number | undefined; + + /** + *

                The raw event message.

                + */ + message: string | undefined; } export namespace InputLogEvent { @@ -1802,6 +1858,12 @@ export namespace ListTagsLogGroupResponse { } export interface PutDestinationRequest { + /** + *

                The ARN of an IAM role that grants CloudWatch Logs permissions to call the Amazon + * Kinesis PutRecord operation on the destination stream.

                + */ + roleArn: string | undefined; + /** *

                The ARN of an Amazon Kinesis stream to which to deliver matching log events.

                */ @@ -1811,12 +1873,6 @@ export interface PutDestinationRequest { *

                A name for the destination.

                */ destinationName: string | undefined; - - /** - *

                The ARN of an IAM role that grants CloudWatch Logs permissions to call the Amazon - * Kinesis PutRecord operation on the destination stream.

                - */ - roleArn: string | undefined; } export namespace PutDestinationRequest { @@ -1846,7 +1902,7 @@ export interface PutDestinationPolicyRequest { /** *

                An IAM policy document that authorizes cross-account users to deliver their log events - * to the associated destination.

                + * to the associated destination. This can be up to 5120 bytes.

                */ accessPolicy: string | undefined; } @@ -1864,21 +1920,21 @@ export interface PutLogEventsRequest { logStreamName: string | undefined; /** - *

                The log events.

                + *

                The name of the log group.

                */ - logEvents: InputLogEvent[] | undefined; + logGroupName: string | undefined; /** - *

                The name of the log group.

                + *

                The log events.

                */ - logGroupName: string | undefined; + logEvents: InputLogEvent[] | undefined; /** *

                The sequence token obtained from the response of the previous PutLogEvents * call. An upload in a newly created log stream does not require a sequence token. You can also - * get the sequence token using DescribeLogStreams. If you call - * PutLogEvents twice within a narrow time period using the same value for - * sequenceToken, both calls may be successful, or one may be rejected.

                + * get the sequence token using DescribeLogStreams. If you call PutLogEvents twice within a narrow + * time period using the same value for sequenceToken, both calls might be + * successful or one might be rejected.

                */ sequenceToken?: string; } @@ -1894,14 +1950,14 @@ export namespace PutLogEventsRequest { */ export interface RejectedLogEventsInfo { /** - *

                The log events that are too old.

                + *

                The expired log events.

                */ - tooOldLogEventEndIndex?: number; + expiredLogEventEndIndex?: number; /** - *

                The expired log events.

                + *

                The log events that are too old.

                */ - expiredLogEventEndIndex?: number; + tooOldLogEventEndIndex?: number; /** *

                The log events that are too new.

                @@ -1917,14 +1973,14 @@ export namespace RejectedLogEventsInfo { export interface PutLogEventsResponse { /** - *

                The rejected events.

                + *

                The next sequence token.

                */ - rejectedLogEventsInfo?: RejectedLogEventsInfo; + nextSequenceToken?: string; /** - *

                The next sequence token.

                + *

                The rejected events.

                */ - nextSequenceToken?: string; + rejectedLogEventsInfo?: RejectedLogEventsInfo; } export namespace PutLogEventsResponse { @@ -1950,9 +2006,9 @@ export namespace UnrecognizedClientException { export interface PutMetricFilterRequest { /** - *

                A filter pattern for extracting metric data out of ingested log events.

                + *

                A name for the metric filter.

                */ - filterPattern: string | undefined; + filterName: string | undefined; /** *

                The name of the log group.

                @@ -1960,14 +2016,14 @@ export interface PutMetricFilterRequest { logGroupName: string | undefined; /** - *

                A name for the metric filter.

                + *

                A collection of information that defines how metric data gets emitted.

                */ - filterName: string | undefined; + metricTransformations: MetricTransformation[] | undefined; /** - *

                A collection of information that defines how metric data gets emitted.

                + *

                A filter pattern for extracting metric data out of ingested log events.

                */ - metricTransformations: MetricTransformation[] | undefined; + filterPattern: string | undefined; } export namespace PutMetricFilterRequest { @@ -1977,10 +2033,35 @@ export namespace PutMetricFilterRequest { } export interface PutQueryDefinitionRequest { - logGroupNames?: string[]; + /** + *

                If you are updating a query definition, use this parameter to specify the ID of the query + * definition that you want to update. You can use DescribeQueryDefinitions to retrieve the IDs of your saved query + * definitions.

                + *

                If you are creating a query definition, do not specify this parameter. CloudWatch + * generates a unique ID for the new query definition and include it in the response to this + * operation.

                + */ queryDefinitionId?: string; - name: string | undefined; + + /** + *

                Use this parameter to include specific log groups as part of your query definition.

                + *

                If you are updating a query definition and you omit this parameter, then the updated + * definition will contain no log groups.

                + */ + logGroupNames?: string[]; + + /** + *

                The query string to use for this definition. + * For more information, see CloudWatch Logs Insights Query Syntax.

                + */ queryString: string | undefined; + + /** + *

                A name for the query definition. If you are saving a lot of query definitions, we + * recommend that you name them so that you can easily find the ones you want by using the first + * part of the name as a filter in the queryDefinitionNamePrefix parameter of DescribeQueryDefinitions.

                + */ + name: string | undefined; } export namespace PutQueryDefinitionRequest { @@ -1990,6 +2071,9 @@ export namespace PutQueryDefinitionRequest { } export interface PutQueryDefinitionResponse { + /** + *

                The ID of the query definition.

                + */ queryDefinitionId?: string; } @@ -2004,7 +2088,7 @@ export interface PutResourcePolicyRequest { *

                Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. * This parameter is required.

                *

                The following example creates a resource policy enabling the Route 53 service to put - * DNS query logs in to the specified log group. Replace "logArn" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

                + * DNS query logs in to the specified log group. Replace "logArn" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

                *

                * { * "Version": "2012-10-17", @@ -2061,6 +2145,8 @@ export interface PutRetentionPolicyRequest { /** *

                The number of days to retain the log events in the specified log group. * Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

                + *

                If you omit retentionInDays in a PutRetentionPolicy operation, + * the events in the log group are always retained and never expire.

                */ retentionInDays: number | undefined; } @@ -2072,18 +2158,6 @@ export namespace PutRetentionPolicyRequest { } export interface PutSubscriptionFilterRequest { - /** - *

                The name of the log group.

                - */ - logGroupName: string | undefined; - - /** - *

                The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log - * events to the destination stream. You don't need to provide the ARN when you are working with - * a logical destination for cross-account delivery.

                - */ - roleArn?: string; - /** *

                The ARN of the destination to deliver matching log events to. Currently, the supported * destinations are:

                @@ -2108,6 +2182,13 @@ export interface PutSubscriptionFilterRequest { */ destinationArn: string | undefined; + /** + *

                The method used to distribute log data to the destination. By default, log data is + * grouped by log stream, but the grouping can be set to random for a more even distribution. + * This property is only applicable when the destination is an Amazon Kinesis stream.

                + */ + distribution?: Distribution | string; + /** *

                A name for the subscription filter. If you are updating an existing filter, you must * specify the correct name in filterName. Otherwise, the call fails because you @@ -2117,12 +2198,16 @@ export interface PutSubscriptionFilterRequest { filterName: string | undefined; /** - *

                The method used to distribute log data to the destination. By default log data is - * grouped by log stream, but the grouping can be set to random for a more even distribution. - * This property is only applicable when the destination is an Amazon Kinesis stream. - *

                + *

                The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log + * events to the destination stream. You don't need to provide the ARN when you are working with + * a logical destination for cross-account delivery.

                */ - distribution?: Distribution | string; + roleArn?: string; + + /** + *

                The name of the log group.

                + */ + logGroupName: string | undefined; /** *

                A filter pattern for subscribing to a filtered stream of log events.

                @@ -2181,18 +2266,19 @@ export namespace QueryCompileError { /** *

                The query string is not valid. Details about this error are displayed in a * QueryCompileError object. For more information, see - * QueryCompileError"/>.

                + * QueryCompileError.

                *

                For more information about valid query syntax, see * CloudWatch Logs Insights Query Syntax.

                */ export interface MalformedQueryException extends __SmithyException, $MetadataBearer { name: "MalformedQueryException"; $fault: "client"; - message?: string; /** *

                Reserved.

                */ queryCompileError?: QueryCompileError; + + message?: string; } export namespace MalformedQueryException { @@ -2202,13 +2288,6 @@ export namespace MalformedQueryException { } export interface StartQueryRequest { - /** - *

                The log group on which to perform the query.

                - *

                A StartQuery operation must include a logGroupNames or a logGroupName parameter, but - * not both.

                - */ - logGroupName?: string; - /** *

                The query string to use. * For more information, see CloudWatch Logs Insights Query Syntax.

                @@ -2216,11 +2295,10 @@ export interface StartQueryRequest { queryString: string | undefined; /** - *

                The end of the time range to query. The range is inclusive, so the specified - * end time is included in the query. Specified as epoch - * time, the number of seconds since January 1, 1970, 00:00:00 UTC.

                + *

                The maximum number of log events to return in the query. If the query string uses the fields command, + * only the specified fields and their values are returned. The default is 1000.

                */ - endTime: number | undefined; + limit?: number; /** *

                The beginning of the time range to query. The range is inclusive, so the specified @@ -2230,10 +2308,18 @@ export interface StartQueryRequest { startTime: number | undefined; /** - *

                The maximum number of log events to return in the query. If the query string uses the fields command, - * only the specified fields and their values are returned. The default is 1000.

                + *

                The log group on which to perform the query.

                + *

                A StartQuery operation must include a logGroupNames or a logGroupName parameter, but + * not both.

                */ - limit?: number; + logGroupName?: string; + + /** + *

                The end of the time range to query. The range is inclusive, so the specified + * end time is included in the query. Specified as epoch + * time, the number of seconds since January 1, 1970, 00:00:00 UTC.

                + */ + endTime: number | undefined; /** *

                The list of log groups to be queried. You can include up to 20 log groups.

                @@ -2264,8 +2350,8 @@ export namespace StartQueryResponse { export interface StopQueryRequest { /** - *

                The ID number of the query to stop. If necessary, you can use DescribeQueries - * to find this ID number.

                + *

                The ID number of the query to stop. To find this ID number, use + * DescribeQueries.

                */ queryId: string | undefined; } @@ -2308,17 +2394,17 @@ export namespace TagLogGroupRequest { } export interface TestMetricFilterRequest { - /** - *

                The log event messages to test.

                - */ - logEventMessages: string[] | undefined; - /** *

                A symbolic description of how CloudWatch Logs should interpret the data in each log - * event. For example, a log event may contain timestamps, IP addresses, strings, and so on. You + * event. For example, a log event can contain timestamps, IP addresses, strings, and so on. You * use the filter pattern to specify what to look for in the log event message.

                */ filterPattern: string | undefined; + + /** + *

                The log event messages to test.

                + */ + logEventMessages: string[] | undefined; } export namespace TestMetricFilterRequest { @@ -2337,14 +2423,14 @@ export interface MetricFilterMatchRecord { extractedValues?: { [key: string]: string }; /** - *

                The raw event data.

                + *

                The event number.

                */ - eventMessage?: string; + eventNumber?: number; /** - *

                The event number.

                + *

                The raw event data.

                */ - eventNumber?: number; + eventMessage?: string; } export namespace MetricFilterMatchRecord { @@ -2368,14 +2454,14 @@ export namespace TestMetricFilterResponse { export interface UntagLogGroupRequest { /** - *

                The tag keys. The corresponding tags are removed from the log group.

                + *

                The name of the log group.

                */ - tags: string[] | undefined; + logGroupName: string | undefined; /** - *

                The name of the log group.

                + *

                The tag keys. The corresponding tags are removed from the log group.

                */ - logGroupName: string | undefined; + tags: string[] | undefined; } export namespace UntagLogGroupRequest { diff --git a/clients/client-cloudwatch/models/models_0.ts b/clients/client-cloudwatch/models/models_0.ts index ab7bbd976b55..41d74e95e0b0 100644 --- a/clients/client-cloudwatch/models/models_0.ts +++ b/clients/client-cloudwatch/models/models_0.ts @@ -10,24 +10,24 @@ export type HistoryItemType = "Action" | "ConfigurationUpdate" | "StateUpdate"; */ export interface AlarmHistoryItem { /** - *

                Data about the alarm, in JSON format.

                + *

                A summary of the alarm history, in text format.

                */ - HistoryData?: string; + HistorySummary?: string; /** - *

                The time stamp for the alarm history item.

                + *

                The type of alarm history item.

                */ - Timestamp?: Date; + HistoryItemType?: HistoryItemType | string; /** - *

                A summary of the alarm history, in text format.

                + *

                The type of alarm, either metric alarm or composite alarm.

                */ - HistorySummary?: string; + AlarmType?: AlarmType | string; /** - *

                The type of alarm history item.

                + *

                Data about the alarm, in JSON format.

                */ - HistoryItemType?: HistoryItemType | string; + HistoryData?: string; /** *

                The descriptive name for the alarm.

                @@ -35,9 +35,9 @@ export interface AlarmHistoryItem { AlarmName?: string; /** - *

                The type of alarm, either metric alarm or composite alarm.

                + *

                The time stamp for the alarm history item.

                */ - AlarmType?: AlarmType | string; + Timestamp?: Date; } export namespace AlarmHistoryItem { @@ -52,16 +52,16 @@ export namespace AlarmHistoryItem { */ export interface Range { /** - *

                The end time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss. For example, + *

                The start time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

                */ - EndTime: Date | undefined; + StartTime: Date | undefined; /** - *

                The start time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss. For example, + *

                The end time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

                */ - StartTime: Date | undefined; + EndTime: Date | undefined; } export namespace Range { @@ -76,6 +76,13 @@ export namespace Range { * use for the metric.

                */ export interface AnomalyDetectorConfiguration { + /** + *

                An array of time ranges to exclude from use when the anomaly detection model is trained. Use + * this to make sure that events that could cause unusual values for the metric, such as + * deployments, aren't used when CloudWatch creates the model.

                + */ + ExcludedTimeRanges?: Range[]; + /** *

                The time zone to use for the metric. This is useful to enable the model to automatically * account for daylight savings time changes if the metric is sensitive to such time @@ -84,13 +91,6 @@ export interface AnomalyDetectorConfiguration { * see tz database.

                */ MetricTimezone?: string; - - /** - *

                An array of time ranges to exclude from use when the anomaly detection model is trained. Use - * this to make sure that events that could cause unusual values for the metric, such as - * deployments, aren't used when CloudWatch creates the model.

                - */ - ExcludedTimeRanges?: Range[]; } export namespace AnomalyDetectorConfiguration { @@ -132,22 +132,6 @@ export type AnomalyDetectorStateValue = "PENDING_TRAINING" | "TRAINED" | "TRAINE * graphed.

                */ export interface AnomalyDetector { - /** - *

                The current status of the anomaly detector's training. The possible values are TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA - *

                - */ - StateValue?: AnomalyDetectorStateValue | string; - - /** - *

                The metric dimensions associated with the anomaly detection model.

                - */ - Dimensions?: Dimension[]; - - /** - *

                The namespace of the metric associated with the anomaly detection model.

                - */ - Namespace?: string; - /** *

                The name of the metric associated with the anomaly detection model.

                */ @@ -165,6 +149,22 @@ export interface AnomalyDetector { * the metric.

                */ Configuration?: AnomalyDetectorConfiguration; + + /** + *

                The current status of the anomaly detector's training. The possible values are TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA + *

                + */ + StateValue?: AnomalyDetectorStateValue | string; + + /** + *

                The metric dimensions associated with the anomaly detection model.

                + */ + Dimensions?: Dimension[]; + + /** + *

                The namespace of the metric associated with the anomaly detection model.

                + */ + Namespace?: string; } export namespace AnomalyDetector { @@ -178,25 +178,25 @@ export namespace AnomalyDetector { * not process one of the rules, the following data is returned for each of those rules.

                */ export interface PartialFailure { - /** - *

                The type of error.

                - */ - ExceptionType?: string; - /** *

                The specified rule that could not be deleted.

                */ FailureResource?: string; /** - *

                A description of the error.

                + *

                The type of error.

                */ - FailureDescription?: string; + ExceptionType?: string; /** *

                The code of the error.

                */ FailureCode?: string; + + /** + *

                A description of the error.

                + */ + FailureDescription?: string; } export namespace PartialFailure { @@ -221,9 +221,9 @@ export type StateValue = "ALARM" | "INSUFFICIENT_DATA" | "OK"; */ export interface CompositeAlarm { /** - *

                The rule that this alarm uses to evaluate its alarm state.

                + *

                The Amazon Resource Name (ARN) of the alarm.

                */ - AlarmRule?: string; + AlarmArn?: string; /** *

                An explanation for the alarm state, in JSON format.

                @@ -231,24 +231,24 @@ export interface CompositeAlarm { StateReasonData?: string; /** - *

                The state value for the alarm.

                + *

                The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

                */ - StateValue?: StateValue | string; + InsufficientDataActions?: string[]; /** - *

                The Amazon Resource Name (ARN) of the alarm.

                + *

                The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

                */ - AlarmArn?: string; + OKActions?: string[]; /** - *

                The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

                + *

                The rule that this alarm uses to evaluate its alarm state.

                */ - InsufficientDataActions?: string[]; + AlarmRule?: string; /** - *

                Indicates whether actions should be executed during any changes to the alarm state.

                + *

                The state value for the alarm.

                */ - ActionsEnabled?: boolean; + StateValue?: StateValue | string; /** *

                An explanation for the alarm state, in text format.

                @@ -256,14 +256,19 @@ export interface CompositeAlarm { StateReason?: string; /** - *

                The name of the alarm.

                + *

                The description of the alarm.

                */ - AlarmName?: string; + AlarmDescription?: string; /** - *

                The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

                + *

                Indicates whether actions should be executed during any changes to the alarm state.

                */ - OKActions?: string[]; + ActionsEnabled?: boolean; + + /** + *

                The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

                + */ + AlarmActions?: string[]; /** *

                The time stamp of the last update to the alarm configuration.

                @@ -276,14 +281,9 @@ export interface CompositeAlarm { StateUpdatedTimestamp?: Date; /** - *

                The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

                - */ - AlarmActions?: string[]; - - /** - *

                The description of the alarm.

                + *

                The name of the alarm.

                */ - AlarmDescription?: string; + AlarmName?: string; } export namespace CompositeAlarm { @@ -311,11 +311,6 @@ export namespace ConcurrentModificationException { *

                Represents a specific dashboard.

                */ export interface DashboardEntry { - /** - *

                The size of the dashboard, in bytes.

                - */ - Size?: number; - /** *

                The time stamp of when the dashboard was last modified, either by an API call or * through the console. This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

                @@ -331,6 +326,11 @@ export interface DashboardEntry { *

                The Amazon Resource Name (ARN) of the dashboard.

                */ DashboardArn?: string; + + /** + *

                The size of the dashboard, in bytes.

                + */ + Size?: number; } export namespace DashboardEntry { @@ -344,14 +344,14 @@ export namespace DashboardEntry { */ export interface DashboardValidationMessage { /** - *

                A message describing the error or warning.

                + *

                The data path related to the message.

                */ - Message?: string; + DataPath?: string; /** - *

                The data path related to the message.

                + *

                A message describing the error or warning.

                */ - DataPath?: string; + Message?: string; } export namespace DashboardValidationMessage { @@ -366,8 +366,8 @@ export namespace DashboardValidationMessage { export interface DashboardInvalidInputError extends __SmithyException, $MetadataBearer { name: "DashboardInvalidInputError"; $fault: "client"; - dashboardValidationMessages?: DashboardValidationMessage[]; message?: string; + dashboardValidationMessages?: DashboardValidationMessage[]; } export namespace DashboardInvalidInputError { @@ -424,20 +424,15 @@ export type StandardUnit = *

                Encapsulates the statistical data that CloudWatch computes from metric data.

                */ export interface Datapoint { - /** - *

                The minimum metric value for the data point.

                - */ - Minimum?: number; - /** *

                The standard unit for the data point.

                */ Unit?: StandardUnit | string; /** - *

                The sum of the metric values for the data point.

                + *

                The maximum metric value for the data point.

                */ - Sum?: number; + Maximum?: number; /** *

                The time stamp used for the data point.

                @@ -445,9 +440,9 @@ export interface Datapoint { Timestamp?: Date; /** - *

                The percentile statistic for the data point.

                + *

                The average of the metric values that correspond to the data point.

                */ - ExtendedStatistics?: { [key: string]: number }; + Average?: number; /** *

                The number of metric values that contributed to the aggregate value of this @@ -456,14 +451,19 @@ export interface Datapoint { SampleCount?: number; /** - *

                The maximum metric value for the data point.

                + *

                The minimum metric value for the data point.

                */ - Maximum?: number; + Minimum?: number; /** - *

                The average of the metric values that correspond to the data point.

                + *

                The sum of the metric values for the data point.

                */ - Average?: number; + Sum?: number; + + /** + *

                The percentile statistic for the data point.

                + */ + ExtendedStatistics?: { [key: string]: number }; } export namespace Datapoint { @@ -504,11 +504,6 @@ export namespace ResourceNotFound { } export interface DeleteAnomalyDetectorInput { - /** - *

                The metric name associated with the anomaly detection model to delete.

                - */ - MetricName: string | undefined; - /** *

                The metric dimensions associated with the anomaly detection model to delete.

                */ @@ -523,6 +518,11 @@ export interface DeleteAnomalyDetectorInput { *

                The statistic associated with the anomaly detection model to delete.

                */ Stat: string | undefined; + + /** + *

                The metric name associated with the anomaly detection model to delete.

                + */ + MetricName: string | undefined; } export namespace DeleteAnomalyDetectorInput { @@ -599,9 +599,9 @@ export namespace MissingRequiredParameterException { export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; - ResourceId?: string; - ResourceType?: string; Message?: string; + ResourceType?: string; + ResourceId?: string; } export namespace ResourceNotFoundException { @@ -664,47 +664,47 @@ export enum ScanBy { export interface DescribeAlarmHistoryInput { /** - *

                The maximum number of alarm history records to retrieve.

                + *

                The type of alarm histories to retrieve.

                */ - MaxRecords?: number; + HistoryItemType?: HistoryItemType | string; /** - *

                The starting date to retrieve alarm history.

                + *

                Use this parameter to specify whether you want the operation to return metric alarms or composite alarms. If you omit this parameter, + * only metric alarms are returned.

                */ - StartDate?: Date; + AlarmTypes?: (AlarmType | string)[]; /** - *

                Specified whether to return the newest or oldest alarm history first. Specify TimestampDescending to have the newest - * event history returned first, and specify TimestampAscending to have the oldest history returned first.

                + *

                The ending date to retrieve alarm history.

                */ - ScanBy?: ScanBy | string; + EndDate?: Date; /** - *

                The name of the alarm.

                + *

                The maximum number of alarm history records to retrieve.

                */ - AlarmName?: string; + MaxRecords?: number; /** - *

                The ending date to retrieve alarm history.

                + *

                The starting date to retrieve alarm history.

                */ - EndDate?: Date; + StartDate?: Date; /** - *

                The token returned by a previous call to indicate that there is more data - * available.

                + *

                The name of the alarm.

                */ - NextToken?: string; + AlarmName?: string; /** - *

                The type of alarm histories to retrieve.

                + *

                The token returned by a previous call to indicate that there is more data + * available.

                */ - HistoryItemType?: HistoryItemType | string; + NextToken?: string; /** - *

                Use this parameter to specify whether you want the operation to return metric alarms or composite alarms. If you omit this parameter, - * only metric alarms are returned.

                + *

                Specified whether to return the newest or oldest alarm history first. Specify TimestampDescending to have the newest + * event history returned first, and specify TimestampAscending to have the oldest history returned first.

                */ - AlarmTypes?: (AlarmType | string)[]; + ScanBy?: ScanBy | string; } export namespace DescribeAlarmHistoryInput { @@ -751,44 +751,38 @@ export namespace InvalidNextToken { export interface DescribeAlarmsInput { /** - *

                Use this parameter to specify whether you want the operation to return metric alarms or composite alarms. If you omit this parameter, - * only metric alarms are returned.

                - */ - AlarmTypes?: (AlarmType | string)[]; - - /** - *

                The token returned by a previous call to indicate that there is more data - * available.

                - */ - NextToken?: string; - - /** - *

                Specify this parameter to receive information only about alarms that are currently in the state that you specify.

                + *

                The maximum number of alarm descriptions to retrieve.

                */ - StateValue?: StateValue | string; + MaxRecords?: number; /** - *

                The names of the alarms to retrieve information about.

                + *

                An alarm name prefix. If you specify this parameter, you receive information about all alarms that have names + * that start with this prefix.

                + *

                If this parameter + * is specified, you cannot specify AlarmNames.

                */ - AlarmNames?: string[]; + AlarmNamePrefix?: string; /** - *

                If you use this parameter and specify the name of a metric or composite alarm, the operation returns - * information about the "parent" alarms - * of the alarm you specify. These are the composite alarms that have AlarmRule - * parameters that reference - * the alarm named in ParentsOfAlarmName. Information about the alarm that you specify in - * ParentsOfAlarmName is not returned.

                - *

                If you specify ParentsOfAlarmName, you cannot specify any other parameters in the request except - * for MaxRecords and NextToken. If you do so, you receive a validation + *

                If you use this parameter and specify the name of a composite alarm, the operation returns + * information about the "children" alarms + * of the alarm you specify. These are the metric alarms and composite alarms referenced in the + * AlarmRule field of the composite alarm that you specify in + * ChildrenOfAlarmName. Information about the composite alarm that you name in + * ChildrenOfAlarmName is not returned.

                + *

                If you specify ChildrenOfAlarmName, you cannot specify any other parameters in the request except + * for MaxRecords and NextToken. If you do so, you + * receive a validation * error.

                * - *

                Only the Alarm Name and ARN are returned by this operation when you use this parameter. To get complete information about + *

                Only the Alarm Name, ARN, StateValue (OK/ALARM/INSUFFICIENT_DATA), and StateUpdatedTimestamp + * information are returned by this operation + * when you use this parameter. To get complete information about * these alarms, perform another DescribeAlarms operation and specify * the parent alarm names in the AlarmNames parameter.

                *
                */ - ParentsOfAlarmName?: string; + ChildrenOfAlarmName?: string; /** *

                Use this parameter to filter the results of the operation to only those alarms that @@ -798,38 +792,44 @@ export interface DescribeAlarmsInput { ActionPrefix?: string; /** - *

                The maximum number of alarm descriptions to retrieve.

                + *

                The token returned by a previous call to indicate that there is more data + * available.

                */ - MaxRecords?: number; + NextToken?: string; /** - *

                If you use this parameter and specify the name of a composite alarm, the operation returns - * information about the "children" alarms - * of the alarm you specify. These are the metric alarms and composite alarms referenced in the - * AlarmRule field of the composite alarm that you specify in - * ChildrenOfAlarmName. Information about the composite alarm that you name in - * ChildrenOfAlarmName is not returned.

                - *

                If you specify ChildrenOfAlarmName, you cannot specify any other parameters in the request except - * for MaxRecords and NextToken. If you do so, you - * receive a validation + *

                Specify this parameter to receive information only about alarms that are currently in the state that you specify.

                + */ + StateValue?: StateValue | string; + + /** + *

                The names of the alarms to retrieve information about.

                + */ + AlarmNames?: string[]; + + /** + *

                If you use this parameter and specify the name of a metric or composite alarm, the operation returns + * information about the "parent" alarms + * of the alarm you specify. These are the composite alarms that have AlarmRule + * parameters that reference + * the alarm named in ParentsOfAlarmName. Information about the alarm that you specify in + * ParentsOfAlarmName is not returned.

                + *

                If you specify ParentsOfAlarmName, you cannot specify any other parameters in the request except + * for MaxRecords and NextToken. If you do so, you receive a validation * error.

                * - *

                Only the Alarm Name, ARN, StateValue (OK/ALARM/INSUFFICIENT_DATA), and StateUpdatedTimestamp - * information are returned by this operation - * when you use this parameter. To get complete information about + *

                Only the Alarm Name and ARN are returned by this operation when you use this parameter. To get complete information about * these alarms, perform another DescribeAlarms operation and specify * the parent alarm names in the AlarmNames parameter.

                *
                */ - ChildrenOfAlarmName?: string; + ParentsOfAlarmName?: string; /** - *

                An alarm name prefix. If you specify this parameter, you receive information about all alarms that have names - * that start with this prefix.

                - *

                If this parameter - * is specified, you cannot specify AlarmNames.

                + *

                Use this parameter to specify whether you want the operation to return metric alarms or composite alarms. If you omit this parameter, + * only metric alarms are returned.

                */ - AlarmNamePrefix?: string; + AlarmTypes?: (AlarmType | string)[]; } export namespace DescribeAlarmsInput { @@ -848,14 +848,14 @@ export interface Metric { Namespace?: string; /** - *

                The name of the metric. This is a required field.

                + *

                The dimensions for the metric.

                */ - MetricName?: string; + Dimensions?: Dimension[]; /** - *

                The dimensions for the metric.

                + *

                The name of the metric. This is a required field.

                */ - Dimensions?: Dimension[]; + MetricName?: string; } export namespace Metric { @@ -868,11 +868,6 @@ export namespace Metric { *

                This structure defines the metric to be returned, along with the statistics, period, and units.

                */ export interface MetricStat { - /** - *

                The metric to return, including the metric name, namespace, and dimensions.

                - */ - Metric: Metric | undefined; - /** *

                The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can * be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected @@ -894,6 +889,11 @@ export interface MetricStat { */ Period: number | undefined; + /** + *

                The metric to return, including the metric name, namespace, and dimensions.

                + */ + Metric: Metric | undefined; + /** *

                When you are using a Put operation, this defines what unit you want to use when storing the metric.

                *

                In a Get operation, if you omit Unit then all data that was collected with any unit is returned, along with the corresponding units that were specified @@ -939,6 +939,21 @@ export namespace MetricStat { * operation or a PutMetricAlarm operation. These differences are explained in the following parameter list.

                */ export interface MetricDataQuery { + /** + *

                The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric + * and not performing a math expression on returned data.

                + *

                Within one MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

                + */ + MetricStat?: MetricStat; + + /** + *

                A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know + * what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch + * generates a default.

                + */ + Label?: string; + /** *

                The math expression to be performed on the returned data, if this object is performing a math expression. This expression * can use the Id of the other metrics to refer to those metrics, and can also use the Id of other @@ -951,13 +966,13 @@ export interface MetricDataQuery { Expression?: string; /** - *

                The granularity, in seconds, of the returned data points. For metrics with regular resolution, a - * period can be as short as one minute (60 seconds) and must be a multiple of 60. - * For high-resolution metrics that are collected at intervals of less than one minute, - * the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics - * stored by a PutMetricData operation that includes a StorageResolution of 1 second.

                + *

                A short name used to tie this object to the results in the response. This name must be + * unique within a single call to GetMetricData. If you are performing math + * expressions on this set of data, this name represents that data and can serve as a + * variable in the mathematical expression. The valid characters are letters, numbers, and + * underscore. The first character must be a lowercase letter.

                */ - Period?: number; + Id: string | undefined; /** *

                When used in GetMetricData, this option indicates whether to return the @@ -971,28 +986,13 @@ export interface MetricDataQuery { ReturnData?: boolean; /** - *

                A short name used to tie this object to the results in the response. This name must be - * unique within a single call to GetMetricData. If you are performing math - * expressions on this set of data, this name represents that data and can serve as a - * variable in the mathematical expression. The valid characters are letters, numbers, and - * underscore. The first character must be a lowercase letter.

                - */ - Id: string | undefined; - - /** - *

                The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric - * and not performing a math expression on returned data.

                - *

                Within one MetricDataQuery object, you must specify either - * Expression or MetricStat but not both.

                - */ - MetricStat?: MetricStat; - - /** - *

                A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know - * what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch - * generates a default.

                + *

                The granularity, in seconds, of the returned data points. For metrics with regular resolution, a + * period can be as short as one minute (60 seconds) and must be a multiple of 60. + * For high-resolution metrics that are collected at intervals of less than one minute, + * the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics + * stored by a PutMetricData operation that includes a StorageResolution of 1 second.

                */ - Label?: string; + Period?: number; } export namespace MetricDataQuery { @@ -1008,157 +1008,157 @@ export type Statistic = "Average" | "Maximum" | "Minimum" | "SampleCount" | "Sum */ export interface MetricAlarm { /** - *

                The description of the alarm.

                + *

                Sets how this alarm is to handle missing data points. If this parameter is omitted, the default behavior of missing is used.

                */ - AlarmDescription?: string; + TreatMissingData?: string; /** - *

                The state value for the alarm.

                + *

                Used only for alarms based on percentiles. If ignore, the alarm state does not change + * during periods with too few data points to be statistically significant. If evaluate or this + * parameter is not used, the alarm is always evaluated and possibly changes state no matter + * how many data points are available.

                */ - StateValue?: StateValue | string; + EvaluateLowSampleCountPercentile?: string; /** - *

                The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state - * from any other state. Each action is specified as an Amazon Resource Name (ARN).

                + *

                The percentile statistic for the metric associated with the alarm. Specify a value between + * p0.0 and p100.

                */ - InsufficientDataActions?: string[]; + ExtendedStatistic?: string; /** - *

                The name of the metric associated with the alarm, if this is an alarm - * based on a single metric.

                + *

                The Amazon Resource Name (ARN) of the alarm.

                */ - MetricName?: string; + AlarmArn?: string; /** - *

                In an alarm based on an anomaly detection model, this is the ID of the - * ANOMALY_DETECTION_BAND function - * used as the threshold for the alarm.

                + *

                Indicates whether actions should be executed during any changes to the alarm state.

                */ - ThresholdMetricId?: string; + ActionsEnabled?: boolean; /** - *

                The actions to execute when this alarm transitions to the ALARM state - * from any other state. Each action is specified as an Amazon Resource Name (ARN).

                + *

                The number of data points that must be breaching to trigger the alarm.

                */ - AlarmActions?: string[]; + DatapointsToAlarm?: number; /** - *

                The name of the alarm.

                + *

                An array of MetricDataQuery structures, used in an alarm based on a + * metric math expression. Each structure either retrieves a + * metric or performs a math expression. + * + * One item in the Metrics array is the math expression that the alarm watches. + * This expression by designated by having ReturnValue set to + * true.

                */ - AlarmName?: string; + Metrics?: MetricDataQuery[]; /** - *

                The period, in seconds, over which the statistic is applied.

                + *

                The actions to execute when this alarm transitions to the ALARM state + * from any other state. Each action is specified as an Amazon Resource Name (ARN).

                */ - Period?: number; + AlarmActions?: string[]; /** - *

                The number of periods over which data is compared to the specified threshold.

                + *

                The description of the alarm.

                */ - EvaluationPeriods?: number; + AlarmDescription?: string; /** - *

                An explanation for the alarm state, in JSON format.

                + *

                The statistic for the metric associated with the alarm, other than percentile. + * For percentile statistics, use ExtendedStatistic.

                */ - StateReasonData?: string; + Statistic?: Statistic | string; /** - *

                The time stamp of the last update to the alarm configuration.

                + *

                The unit of the metric associated with the alarm.

                */ - AlarmConfigurationUpdatedTimestamp?: Date; + Unit?: StandardUnit | string; /** - *

                An explanation for the alarm state, in text format.

                + *

                The namespace of the metric associated with the alarm.

                */ - StateReason?: string; + Namespace?: string; /** - *

                The Amazon Resource Name (ARN) of the alarm.

                + *

                The actions to execute when this alarm transitions to the OK state + * from any other state. Each action is specified as an Amazon Resource Name (ARN).

                */ - AlarmArn?: string; + OKActions?: string[]; /** - *

                The dimensions for the metric associated with the alarm.

                + *

                An explanation for the alarm state, in JSON format.

                */ - Dimensions?: Dimension[]; + StateReasonData?: string; /** - *

                Indicates whether actions should be executed during any changes to the alarm state.

                + *

                The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state + * from any other state. Each action is specified as an Amazon Resource Name (ARN).

                */ - ActionsEnabled?: boolean; + InsufficientDataActions?: string[]; /** - *

                The namespace of the metric associated with the alarm.

                + *

                In an alarm based on an anomaly detection model, this is the ID of the + * ANOMALY_DETECTION_BAND function + * used as the threshold for the alarm.

                */ - Namespace?: string; + ThresholdMetricId?: string; /** - *

                The percentile statistic for the metric associated with the alarm. Specify a value between - * p0.0 and p100.

                + *

                The state value for the alarm.

                */ - ExtendedStatistic?: string; + StateValue?: StateValue | string; /** - *

                Used only for alarms based on percentiles. If ignore, the alarm state does not change - * during periods with too few data points to be statistically significant. If evaluate or this - * parameter is not used, the alarm is always evaluated and possibly changes state no matter - * how many data points are available.

                + *

                The arithmetic operation to use when comparing the specified + * statistic and threshold. The specified statistic value is used as the first operand.

                */ - EvaluateLowSampleCountPercentile?: string; + ComparisonOperator?: ComparisonOperator | string; /** - *

                Sets how this alarm is to handle missing data points. If this parameter is omitted, the default behavior of missing is used.

                + *

                The time stamp of the last update to the alarm state.

                */ - TreatMissingData?: string; + StateUpdatedTimestamp?: Date; /** - *

                The time stamp of the last update to the alarm state.

                + *

                The value to compare with the specified statistic.

                */ - StateUpdatedTimestamp?: Date; + Threshold?: number; /** - *

                The number of data points that must be breaching to trigger the alarm.

                + *

                The name of the alarm.

                */ - DatapointsToAlarm?: number; + AlarmName?: string; /** - *

                The unit of the metric associated with the alarm.

                + *

                The name of the metric associated with the alarm, if this is an alarm + * based on a single metric.

                */ - Unit?: StandardUnit | string; + MetricName?: string; /** - *

                The arithmetic operation to use when comparing the specified - * statistic and threshold. The specified statistic value is used as the first operand.

                + *

                The period, in seconds, over which the statistic is applied.

                */ - ComparisonOperator?: ComparisonOperator | string; + Period?: number; /** - *

                The value to compare with the specified statistic.

                + *

                An explanation for the alarm state, in text format.

                */ - Threshold?: number; + StateReason?: string; /** - *

                The actions to execute when this alarm transitions to the OK state - * from any other state. Each action is specified as an Amazon Resource Name (ARN).

                + *

                The number of periods over which data is compared to the specified threshold.

                */ - OKActions?: string[]; + EvaluationPeriods?: number; /** - *

                An array of MetricDataQuery structures, used in an alarm based on a - * metric math expression. Each structure either retrieves a - * metric or performs a math expression. - * - * One item in the Metrics array is the math expression that the alarm watches. - * This expression by designated by having ReturnValue set to - * true.

                + *

                The time stamp of the last update to the alarm configuration.

                */ - Metrics?: MetricDataQuery[]; + AlarmConfigurationUpdatedTimestamp?: Date; /** - *

                The statistic for the metric associated with the alarm, other than percentile. - * For percentile statistics, use ExtendedStatistic.

                + *

                The dimensions for the metric associated with the alarm.

                */ - Statistic?: Statistic | string; + Dimensions?: Dimension[]; } export namespace MetricAlarm { @@ -1168,11 +1168,6 @@ export namespace MetricAlarm { } export interface DescribeAlarmsOutput { - /** - *

                The token that marks the start of the next batch of returned results.

                - */ - NextToken?: string; - /** *

                The information about any metric alarms returned by the operation.

                */ @@ -1182,6 +1177,11 @@ export interface DescribeAlarmsOutput { *

                The information about any composite alarms returned by the operation.

                */ CompositeAlarms?: CompositeAlarm[]; + + /** + *

                The token that marks the start of the next batch of returned results.

                + */ + NextToken?: string; } export namespace DescribeAlarmsOutput { @@ -1192,31 +1192,31 @@ export namespace DescribeAlarmsOutput { export interface DescribeAlarmsForMetricInput { /** - *

                The namespace of the metric.

                + *

                The name of the metric.

                */ - Namespace: string | undefined; + MetricName: string | undefined; /** - *

                The period, in seconds, over which the statistic is applied.

                + *

                The percentile statistic for the metric. Specify a value between + * p0.0 and p100.

                */ - Period?: number; + ExtendedStatistic?: string; /** - *

                The dimensions associated with the metric. If the metric has any associated - * dimensions, you must specify them in order for the call to succeed.

                + *

                The namespace of the metric.

                */ - Dimensions?: Dimension[]; + Namespace: string | undefined; /** - *

                The statistic for the metric, other than percentiles. - * For percentile statistics, use ExtendedStatistics.

                + *

                The dimensions associated with the metric. If the metric has any associated + * dimensions, you must specify them in order for the call to succeed.

                */ - Statistic?: Statistic | string; + Dimensions?: Dimension[]; /** - *

                The name of the metric.

                + *

                The period, in seconds, over which the statistic is applied.

                */ - MetricName: string | undefined; + Period?: number; /** *

                The unit for the metric.

                @@ -1224,10 +1224,10 @@ export interface DescribeAlarmsForMetricInput { Unit?: StandardUnit | string; /** - *

                The percentile statistic for the metric. Specify a value between - * p0.0 and p100.

                + *

                The statistic for the metric, other than percentiles. + * For percentile statistics, use ExtendedStatistics.

                */ - ExtendedStatistic?: string; + Statistic?: Statistic | string; } export namespace DescribeAlarmsForMetricInput { @@ -1250,21 +1250,6 @@ export namespace DescribeAlarmsForMetricOutput { } export interface DescribeAnomalyDetectorsInput { - /** - *

                The maximum number of results to return in one operation. The maximum - * value that you can specify is 100.

                - *

                To retrieve the remaining results, make another call with the returned - * NextToken value.

                - */ - MaxResults?: number; - - /** - *

                Limits the results to only the anomaly detection models that are associated with the - * specified metric name. If there are multiple metrics with this name in different - * namespaces that have anomaly detection models, they're all returned.

                - */ - MetricName?: string; - /** *

                Limits the results to only the anomaly detection models that are associated with the * specified metric dimensions. If there are multiple metrics that have these dimensions @@ -1282,6 +1267,21 @@ export interface DescribeAnomalyDetectorsInput { * are associated with the specified namespace.

                */ Namespace?: string; + + /** + *

                The maximum number of results to return in one operation. The maximum + * value that you can specify is 100.

                + *

                To retrieve the remaining results, make another call with the returned + * NextToken value.

                + */ + MaxResults?: number; + + /** + *

                Limits the results to only the anomaly detection models that are associated with the + * specified metric name. If there are multiple metrics with this name in different + * namespaces that have anomaly detection models, they're all returned.

                + */ + MetricName?: string; } export namespace DescribeAnomalyDetectorsInput { @@ -1291,16 +1291,16 @@ export namespace DescribeAnomalyDetectorsInput { } export interface DescribeAnomalyDetectorsOutput { - /** - *

                The list of anomaly detection models returned by the operation.

                - */ - AnomalyDetectors?: AnomalyDetector[]; - /** *

                A token that you can use in a subsequent operation to * retrieve the next set of results.

                */ NextToken?: string; + + /** + *

                The list of anomaly detection models returned by the operation.

                + */ + AnomalyDetectors?: AnomalyDetector[]; } export namespace DescribeAnomalyDetectorsOutput { @@ -1333,9 +1333,9 @@ export namespace DescribeInsightRulesInput { */ export interface InsightRule { /** - *

                Indicates whether the rule is enabled or disabled.

                + *

                The name of the rule.

                */ - State: string | undefined; + Name: string | undefined; /** *

                For rules that you create, this is always {"Name": "CloudWatchLogRule", "Version": 1}. For built-in rules, @@ -1344,11 +1344,6 @@ export interface InsightRule { */ Schema: string | undefined; - /** - *

                The name of the rule.

                - */ - Name: string | undefined; - /** *

                The definition of the rule, as a JSON object. The definition contains the keywords used to define contributors, * the value to aggregate on if this rule returns a sum instead of a count, and the filters. For details on the valid syntax, see @@ -1356,6 +1351,11 @@ export interface InsightRule { * Rule Syntax.

                */ Definition: string | undefined; + + /** + *

                Indicates whether the rule is enabled or disabled.

                + */ + State: string | undefined; } export namespace InsightRule { @@ -1366,14 +1366,14 @@ export namespace InsightRule { export interface DescribeInsightRulesOutput { /** - *

                The rules returned by the operation.

                + *

                Reserved for future use.

                */ - InsightRules?: InsightRule[]; + NextToken?: string; /** - *

                Reserved for future use.

                + *

                The rules returned by the operation.

                */ - NextToken?: string; + InsightRules?: InsightRule[]; } export namespace DescribeInsightRulesOutput { @@ -1387,14 +1387,14 @@ export namespace DescribeInsightRulesOutput { */ export interface DimensionFilter { /** - *

                The value of the dimension to be matched.

                + *

                The dimension name to be matched.

                */ - Value?: string; + Name: string | undefined; /** - *

                The dimension name to be matched.

                + *

                The value of the dimension to be matched.

                */ - Name: string | undefined; + Value?: string; } export namespace DimensionFilter { @@ -1510,11 +1510,6 @@ export namespace GetDashboardInput { } export interface GetDashboardOutput { - /** - *

                The Amazon Resource Name (ARN) of the dashboard.

                - */ - DashboardArn?: string; - /** *

                The detailed information about the dashboard, including what widgets are included and their location * on the dashboard. For more information about the DashboardBody syntax, @@ -1526,6 +1521,11 @@ export interface GetDashboardOutput { *

                The name of the dashboard.

                */ DashboardName?: string; + + /** + *

                The Amazon Resource Name (ARN) of the dashboard.

                + */ + DashboardArn?: string; } export namespace GetDashboardOutput { @@ -1535,35 +1535,6 @@ export namespace GetDashboardOutput { } export interface GetInsightRuleReportInput { - /** - *

                The start time of the data to use in the report. When used in a raw HTTP Query API, it is formatted as - * yyyy-MM-dd'T'HH:mm:ss. For example, - * 2019-07-01T23:59:59.

                - */ - StartTime: Date | undefined; - - /** - *

                The end time of the data to use in the report. When used in a raw HTTP Query API, it is formatted as - * yyyy-MM-dd'T'HH:mm:ss. For example, - * 2019-07-01T23:59:59.

                - */ - EndTime: Date | undefined; - - /** - *

                The name of the rule that you want to see data from.

                - */ - RuleName: string | undefined; - - /** - *

                The maximum number of contributors to include in the report. The range is 1 to 100. If you omit this, the default of 10 is used.

                - */ - MaxContributorCount?: number; - - /** - *

                Determines what statistic to use to rank the contributors. Valid values are SUM and MAXIMUM.

                - */ - OrderBy?: string; - /** *

                Specifies which metrics to use for aggregation of contributor values for the report. You can specify one or more * of the following metrics:

                @@ -1604,10 +1575,39 @@ export interface GetInsightRuleReportInput { */ Metrics?: string[]; + /** + *

                The maximum number of contributors to include in the report. The range is 1 to 100. If you omit this, the default of 10 is used.

                + */ + MaxContributorCount?: number; + + /** + *

                Determines what statistic to use to rank the contributors. Valid values are SUM and MAXIMUM.

                + */ + OrderBy?: string; + /** *

                The period, in seconds, to use for the statistics in the InsightRuleMetricDatapoint results.

                */ Period: number | undefined; + + /** + *

                The start time of the data to use in the report. When used in a raw HTTP Query API, it is formatted as + * yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

                + */ + StartTime: Date | undefined; + + /** + *

                The name of the rule that you want to see data from.

                + */ + RuleName: string | undefined; + + /** + *

                The end time of the data to use in the report. When used in a raw HTTP Query API, it is formatted as + * yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

                + */ + EndTime: Date | undefined; } export namespace GetInsightRuleReportInput { @@ -1623,14 +1623,14 @@ export namespace GetInsightRuleReportInput { */ export interface InsightRuleContributorDatapoint { /** - *

                The approximate value that this contributor added during this timestamp.

                + *

                The timestamp of the data point.

                */ - ApproximateValue: number | undefined; + Timestamp: Date | undefined; /** - *

                The timestamp of the data point.

                + *

                The approximate value that this contributor added during this timestamp.

                */ - Timestamp: Date | undefined; + ApproximateValue: number | undefined; } export namespace InsightRuleContributorDatapoint { @@ -1646,6 +1646,11 @@ export namespace InsightRuleContributorDatapoint { *

                For more information, see GetInsightRuleReport.

                */ export interface InsightRuleContributor { + /** + *

                An approximation of the aggregate value that comes from this contributor.

                + */ + ApproximateAggregateValue: number | undefined; + /** *

                One of the log entry field keywords that is used to define contributors for this rule.

                */ @@ -1655,11 +1660,6 @@ export interface InsightRuleContributor { *

                An array of the data points where this contributor is present. Only the data points when this contributor appeared are included in the array.

                */ Datapoints: InsightRuleContributorDatapoint[] | undefined; - - /** - *

                An approximation of the aggregate value that comes from this contributor.

                - */ - ApproximateAggregateValue: number | undefined; } export namespace InsightRuleContributor { @@ -1674,53 +1674,53 @@ export namespace InsightRuleContributor { */ export interface InsightRuleMetricDatapoint { /** - *

                The minimum value from a single contributor during the time period represented by that data point.

                + *

                The maximum value provided by one contributor during this timestamp. Each timestamp is evaluated separately, + * so the identity of the max contributor + * could be different for each timestamp.

                *

                This statistic is returned only if you included it in the Metrics array in your request.

                */ - Minimum?: number; + MaxContributorValue?: number; /** - *

                The number of occurrences that matched the rule during this data point.

                + *

                The maximum value from a single occurence from a single contributor during the time period represented by that data point.

                *

                This statistic is returned only if you included it in the Metrics array in your request.

                */ - SampleCount?: number; + Maximum?: number; /** - *

                The number of unique contributors who published data during this timestamp.

                - *

                This statistic is returned only if you included it in the Metrics array in your request.

                + *

                The timestamp of the data point.

                */ - UniqueContributors?: number; + Timestamp: Date | undefined; /** - *

                The maximum value from a single occurence from a single contributor during the time period represented by that data point.

                + *

                The sum of the values from all contributors during the time period represented by that data point.

                *

                This statistic is returned only if you included it in the Metrics array in your request.

                */ - Maximum?: number; + Sum?: number; /** - *

                The average value from all contributors during the time period represented by that data point.

                + *

                The minimum value from a single contributor during the time period represented by that data point.

                *

                This statistic is returned only if you included it in the Metrics array in your request.

                */ - Average?: number; + Minimum?: number; /** - *

                The timestamp of the data point.

                + *

                The number of unique contributors who published data during this timestamp.

                + *

                This statistic is returned only if you included it in the Metrics array in your request.

                */ - Timestamp: Date | undefined; + UniqueContributors?: number; /** - *

                The sum of the values from all contributors during the time period represented by that data point.

                + *

                The average value from all contributors during the time period represented by that data point.

                *

                This statistic is returned only if you included it in the Metrics array in your request.

                */ - Sum?: number; + Average?: number; /** - *

                The maximum value provided by one contributor during this timestamp. Each timestamp is evaluated separately, - * so the identity of the max contributor - * could be different for each timestamp.

                + *

                The number of occurrences that matched the rule during this data point.

                *

                This statistic is returned only if you included it in the Metrics array in your request.

                */ - MaxContributorValue?: number; + SampleCount?: number; } export namespace InsightRuleMetricDatapoint { @@ -1731,15 +1731,19 @@ export namespace InsightRuleMetricDatapoint { export interface GetInsightRuleReportOutput { /** - *

                Specifies whether this rule aggregates contributor data by COUNT or SUM.

                + *

                A time series of metric data points that matches the time period in the rule request.

                */ - AggregationStatistic?: string; + MetricDatapoints?: InsightRuleMetricDatapoint[]; /** - *

                An array of the unique contributors found by this rule in this time period. If the rule contains multiple keys, each combination of values - * for the keys counts as a unique contributor.

                + *

                An approximate count of the unique contributors found by this rule in this time period.

                */ - Contributors?: InsightRuleContributor[]; + ApproximateUniqueCount?: number; + + /** + *

                Specifies whether this rule aggregates contributor data by COUNT or SUM.

                + */ + AggregationStatistic?: string; /** *

                The sum of the values from all individual contributors that match the rule.

                @@ -1747,20 +1751,16 @@ export interface GetInsightRuleReportOutput { AggregateValue?: number; /** - *

                A time series of metric data points that matches the time period in the rule request.

                + *

                An array of the unique contributors found by this rule in this time period. If the rule contains multiple keys, each combination of values + * for the keys counts as a unique contributor.

                */ - MetricDatapoints?: InsightRuleMetricDatapoint[]; + Contributors?: InsightRuleContributor[]; /** *

                An array of the strings used as the keys for this rule. The keys are the dimensions used to classify contributors. * If the rule contains more than one key, then each unique combination of values for the keys is counted as a unique contributor.

                */ KeyLabels?: string[]; - - /** - *

                An approximate count of the unique contributors found by this rule in this time period.

                - */ - ApproximateUniqueCount?: number; } export namespace GetInsightRuleReportOutput { @@ -1771,10 +1771,15 @@ export namespace GetInsightRuleReportOutput { export interface GetMetricDataInput { /** - *

                The metric queries to be returned. A single GetMetricData call can include as many as 500 MetricDataQuery - * structures. Each of these structures can specify either a metric to retrieve, or a math expression to perform on retrieved data.

                + *

                Include this value, if it was returned by the previous call, to get the next set of data points.

                */ - MetricDataQueries: MetricDataQuery[] | undefined; + NextToken?: string; + + /** + *

                The maximum number of data points the request should return before paginating. If you omit + * this, the default of 100,800 is used.

                + */ + MaxDatapoints?: number; /** *

                The time stamp indicating the earliest data to be returned.

                @@ -1810,17 +1815,6 @@ export interface GetMetricDataInput { */ StartTime: Date | undefined; - /** - *

                Include this value, if it was returned by the previous call, to get the next set of data points.

                - */ - NextToken?: string; - - /** - *

                The maximum number of data points the request should return before paginating. If you omit - * this, the default of 100,800 is used.

                - */ - MaxDatapoints?: number; - /** *

                The order in which data points should be returned. TimestampDescending returns the newest data first and paginates * when the MaxDatapoints limit is reached. TimestampAscending returns the oldest data first and paginates @@ -1838,6 +1832,12 @@ export interface GetMetricDataInput { * from CloudWatch than setting 12:07 or 12:29 as the EndTime.

                */ EndTime: Date | undefined; + + /** + *

                The metric queries to be returned. A single GetMetricData call can include as many as 500 MetricDataQuery + * structures. Each of these structures can specify either a metric to retrieve, or a math expression to perform on retrieved data.

                + */ + MetricDataQueries: MetricDataQuery[] | undefined; } export namespace GetMetricDataInput { @@ -1851,14 +1851,14 @@ export namespace GetMetricDataInput { */ export interface MessageData { /** - *

                The message text.

                + *

                The error code or status code associated with the message.

                */ - Value?: string; + Code?: string; /** - *

                The error code or status code associated with the message.

                + *

                The message text.

                */ - Code?: string; + Value?: string; } export namespace MessageData { @@ -1879,6 +1879,16 @@ export enum StatusCode { * with the timestamps of those data points and other identifying information.

                */ export interface MetricDataResult { + /** + *

                A list of messages with additional information about the data returned.

                + */ + Messages?: MessageData[]; + + /** + *

                The human-readable label associated with the data.

                + */ + Label?: string; + /** *

                The status of the returned data. Complete indicates that all data points in the requested time range were returned. * PartialData means that an incomplete set of data points were returned. @@ -1889,16 +1899,11 @@ export interface MetricDataResult { StatusCode?: StatusCode | string; /** - *

                A list of messages with additional information about the data returned.

                - */ - Messages?: MessageData[]; - - /** - *

                The timestamps for the data points, formatted in Unix timestamp format. The number of - * timestamps always matches the number of values and the value for Timestamps[x] is - * Values[x].

                + *

                The data points for the metric corresponding to Timestamps. The number of + * values always matches the number of timestamps and the timestamp for Values[x] is + * Timestamps[x].

                */ - Timestamps?: Date[]; + Values?: number[]; /** *

                The short name you specified to represent this metric.

                @@ -1906,16 +1911,11 @@ export interface MetricDataResult { Id?: string; /** - *

                The human-readable label associated with the data.

                - */ - Label?: string; - - /** - *

                The data points for the metric corresponding to Timestamps. The number of - * values always matches the number of timestamps and the timestamp for Values[x] is - * Timestamps[x].

                + *

                The timestamps for the data points, formatted in Unix timestamp format. The number of + * timestamps always matches the number of values and the value for Timestamps[x] is + * Values[x].

                */ - Values?: number[]; + Timestamps?: Date[]; } export namespace MetricDataResult { @@ -1925,6 +1925,11 @@ export namespace MetricDataResult { } export interface GetMetricDataOutput { + /** + *

                A token that marks the next batch of returned results.

                + */ + NextToken?: string; + /** *

                Contains a message about this GetMetricData operation, if the operation results in such a message. * An example of a message that @@ -1939,11 +1944,6 @@ export interface GetMetricDataOutput { *

                The metrics that are returned, including the metric name, namespace, and dimensions.

                */ MetricDataResults?: MetricDataResult[]; - - /** - *

                A token that marks the next batch of returned results.

                - */ - NextToken?: string; } export namespace GetMetricDataOutput { @@ -1953,18 +1953,6 @@ export namespace GetMetricDataOutput { } export interface GetMetricStatisticsInput { - /** - *

                The name of the metric, with or without spaces.

                - */ - MetricName: string | undefined; - - /** - *

                The time stamp that determines the last data point to return.

                - *

                The value specified is exclusive; results include data points up to the specified time stamp. - * In a raw HTTP query, the time stamp must be in ISO 8601 UTC format (for example, 2016-10-10T23:00:00Z).

                - */ - EndTime: Date | undefined; - /** *

                The time stamp that determines the first data point to return. Start times are * evaluated relative to the time that CloudWatch receives the request.

                @@ -1996,6 +1984,40 @@ export interface GetMetricStatisticsInput { */ StartTime: Date | undefined; + /** + *

                The unit for a given metric. + * If you omit Unit, all data that was collected with any unit is returned, along with the corresponding units that were specified + * when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. + * If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.

                + */ + Unit?: StandardUnit | string; + + /** + *

                The time stamp that determines the last data point to return.

                + *

                The value specified is exclusive; results include data points up to the specified time stamp. + * In a raw HTTP query, the time stamp must be in ISO 8601 UTC format (for example, 2016-10-10T23:00:00Z).

                + */ + EndTime: Date | undefined; + + /** + *

                The percentile statistics. Specify values between p0.0 and p100. When calling GetMetricStatistics, you must + * specify either Statistics or ExtendedStatistics, but not both. Percentile statistics are not + * available for metrics when any of the metric values are negative numbers.

                + */ + ExtendedStatistics?: string[]; + + /** + *

                The namespace of the metric, with or without spaces.

                + */ + Namespace: string | undefined; + + /** + *

                The metric statistics, other than percentile. For percentile statistics, + * use ExtendedStatistics. When calling GetMetricStatistics, you must + * specify either Statistics or ExtendedStatistics, but not both.

                + */ + Statistics?: (Statistic | string)[]; + /** *

                The dimensions. If the metric contains multiple dimensions, you must include a value for each dimension. CloudWatch treats each unique combination of dimensions as a separate metric. * If a specific combination of dimensions was not published, you can't retrieve statistics for it. @@ -2005,6 +2027,11 @@ export interface GetMetricStatisticsInput { */ Dimensions?: Dimension[]; + /** + *

                The name of the metric, with or without spaces.

                + */ + MetricName: string | undefined; + /** *

                The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can * be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected @@ -2025,33 +2052,6 @@ export interface GetMetricStatisticsInput { *

              */ Period: number | undefined; - - /** - *

              The unit for a given metric. - * If you omit Unit, all data that was collected with any unit is returned, along with the corresponding units that were specified - * when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. - * If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.

              - */ - Unit?: StandardUnit | string; - - /** - *

              The metric statistics, other than percentile. For percentile statistics, - * use ExtendedStatistics. When calling GetMetricStatistics, you must - * specify either Statistics or ExtendedStatistics, but not both.

              - */ - Statistics?: (Statistic | string)[]; - - /** - *

              The namespace of the metric, with or without spaces.

              - */ - Namespace: string | undefined; - - /** - *

              The percentile statistics. Specify values between p0.0 and p100. When calling GetMetricStatistics, you must - * specify either Statistics or ExtendedStatistics, but not both. Percentile statistics are not - * available for metrics when any of the metric values are negative numbers.

              - */ - ExtendedStatistics?: string[]; } export namespace GetMetricStatisticsInput { @@ -2097,18 +2097,6 @@ export namespace InvalidParameterCombinationException { } export interface GetMetricWidgetImageInput { - /** - *

              A JSON string that defines the bitmap graph to be retrieved. The string includes the - * metrics to include in the graph, statistics, annotations, title, axis limits, and so on. - * You can include only one MetricWidget parameter in each GetMetricWidgetImage call.

              - *

              For more information about the syntax of MetricWidget see - * GetMetricWidgetImage: Metric Widget Structure and Syntax.

              - * - *

              If any metric on the graph could not load all the requested data points, an orange triangle with an exclamation - * point appears next to the graph legend.

              - */ - MetricWidget: string | undefined; - /** *

              The format of the resulting image. Only PNG images are supported.

              * @@ -2154,6 +2142,18 @@ export interface GetMetricWidgetImageInput { * and the body of the response is a PNG image.

              */ OutputFormat?: string; + + /** + *

              A JSON string that defines the bitmap graph to be retrieved. The string includes the + * metrics to include in the graph, statistics, annotations, title, axis limits, and so on. + * You can include only one MetricWidget parameter in each GetMetricWidgetImage call.

              + *

              For more information about the syntax of MetricWidget see + * GetMetricWidgetImage: Metric Widget Structure and Syntax.

              + * + *

              If any metric on the graph could not load all the requested data points, an orange triangle with an exclamation + * point appears next to the graph legend.

              + */ + MetricWidget: string | undefined; } export namespace GetMetricWidgetImageInput { @@ -2176,11 +2176,6 @@ export namespace GetMetricWidgetImageOutput { } export interface ListDashboardsInput { - /** - *

              The token returned by a previous call to indicate that there is more data available.

              - */ - NextToken?: string; - /** *

              If you specify this parameter, only * the dashboards with names starting with the specified string are listed. The maximum length is 255, and @@ -2189,6 +2184,11 @@ export interface ListDashboardsInput { *

              */ DashboardNamePrefix?: string; + + /** + *

              The token returned by a previous call to indicate that there is more data available.

              + */ + NextToken?: string; } export namespace ListDashboardsInput { @@ -2199,14 +2199,14 @@ export namespace ListDashboardsInput { export interface ListDashboardsOutput { /** - *

              The list of matching dashboards.

              + *

              The token that marks the start of the next batch of returned results.

              */ - DashboardEntries?: DashboardEntry[]; + NextToken?: string; /** - *

              The token that marks the start of the next batch of returned results.

              + *

              The list of matching dashboards.

              */ - NextToken?: string; + DashboardEntries?: DashboardEntry[]; } export namespace ListDashboardsOutput { @@ -2220,6 +2220,12 @@ export enum RecentlyActive { } export interface ListMetricsInput { + /** + *

              The token returned by a previous call to indicate that there is more data + * available.

              + */ + NextToken?: string; + /** *

              The name of the metric to filter against.

              */ @@ -2245,12 +2251,6 @@ export interface ListMetricsInput { *

              The dimensions to filter against.

              */ Dimensions?: DimensionFilter[]; - - /** - *

              The token returned by a previous call to indicate that there is more data - * available.

              - */ - NextToken?: string; } export namespace ListMetricsInput { @@ -2306,15 +2306,15 @@ export namespace ListTagsForResourceInput { */ export interface Tag { /** - *

              A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your - * resources.

              + *

              The value for the specified tag key.

              */ - Key: string | undefined; + Value: string | undefined; /** - *

              The value for the specified tag key.

              + *

              A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your + * resources.

              */ - Value: string | undefined; + Key: string | undefined; } export namespace Tag { @@ -2338,9 +2338,19 @@ export namespace ListTagsForResourceOutput { export interface PutAnomalyDetectorInput { /** - *

              The name of the metric to create the anomaly detection model for.

              + *

              The statistic to use for the metric and the anomaly detection model.

              */ - MetricName: string | undefined; + Stat: string | undefined; + + /** + *

              The metric dimensions to create the anomaly detection model for.

              + */ + Dimensions?: Dimension[]; + + /** + *

              The namespace of the metric to create the anomaly detection model for.

              + */ + Namespace: string | undefined; /** *

              The configuration specifies details about how the @@ -2354,19 +2364,9 @@ export interface PutAnomalyDetectorInput { Configuration?: AnomalyDetectorConfiguration; /** - *

              The metric dimensions to create the anomaly detection model for.

              - */ - Dimensions?: Dimension[]; - - /** - *

              The statistic to use for the metric and the anomaly detection model.

              - */ - Stat: string | undefined; - - /** - *

              The namespace of the metric to create the anomaly detection model for.

              + *

              The name of the metric to create the anomaly detection model for.

              */ - Namespace: string | undefined; + MetricName: string | undefined; } export namespace PutAnomalyDetectorInput { @@ -2403,10 +2403,27 @@ export namespace LimitExceededFault { export interface PutCompositeAlarmInput { /** - *

              Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is - * TRUE.

              + *

              The name for the composite alarm. This name must be unique within the Region.

              */ - ActionsEnabled?: boolean; + AlarmName: string | undefined; + + /** + *

              The actions to execute when this alarm transitions to the ALARM state from any other state. + * Each action is specified as an Amazon Resource Name (ARN).

              + * + *

              Valid Values: arn:aws:sns:region:account-id:sns-topic-name + * + *

              + */ + AlarmActions?: string[]; + + /** + *

              A list of key-value pairs to associate with the composite alarm. You can associate as many as 50 tags with an alarm.

              + *

              Tags can help you organize and categorize your + * resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with + * certain tag values.

              + */ + Tags?: Tag[]; /** *

              An expression that specifies which other alarms are to be evaluated to determine this @@ -2476,53 +2493,36 @@ export interface PutCompositeAlarmInput { AlarmRule: string | undefined; /** - *

              The description for the composite alarm.

              - */ - AlarmDescription?: string; - - /** - *

              The actions to execute when this alarm transitions to the ALARM state from any other state. - * Each action is specified as an Amazon Resource Name (ARN).

              + *

              The actions to execute when this alarm transitions to an OK state + * from any other state. Each action is specified as an Amazon Resource Name (ARN).

              + * * *

              Valid Values: arn:aws:sns:region:account-id:sns-topic-name * *

              */ - AlarmActions?: string[]; + OKActions?: string[]; /** - *

              The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. - * Each action is specified as an Amazon Resource Name (ARN).

              - * - *

              Valid Values: arn:aws:sns:region:account-id:sns-topic-name - * - *

              + *

              The description for the composite alarm.

              */ - InsufficientDataActions?: string[]; + AlarmDescription?: string; /** - *

              The name for the composite alarm. This name must be unique within the Region.

              + *

              Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is + * TRUE.

              */ - AlarmName: string | undefined; + ActionsEnabled?: boolean; /** - *

              The actions to execute when this alarm transitions to an OK state - * from any other state. Each action is specified as an Amazon Resource Name (ARN).

              - * + *

              The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. + * Each action is specified as an Amazon Resource Name (ARN).

              * *

              Valid Values: arn:aws:sns:region:account-id:sns-topic-name * *

              */ - OKActions?: string[]; - - /** - *

              A list of key-value pairs to associate with the composite alarm. You can associate as many as 50 tags with an alarm.

              - *

              Tags can help you organize and categorize your - * resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with - * certain tag values.

              - */ - Tags?: Tag[]; + InsufficientDataActions?: string[]; } export namespace PutCompositeAlarmInput { @@ -2532,6 +2532,13 @@ export namespace PutCompositeAlarmInput { } export interface PutDashboardInput { + /** + *

              The name of the dashboard. If a dashboard with this name already exists, this call modifies that dashboard, replacing + * its current contents. Otherwise, a new dashboard is created. The maximum length is 255, and valid characters are + * A-Z, a-z, 0-9, "-", and "_". This parameter is required.

              + */ + DashboardName: string | undefined; + /** *

              The detailed information about the dashboard in JSON format, including the widgets to include and their location * on the dashboard. This parameter is required.

              @@ -2539,13 +2546,6 @@ export interface PutDashboardInput { * see Dashboard Body Structure and Syntax.

              */ DashboardBody: string | undefined; - - /** - *

              The name of the dashboard. If a dashboard with this name already exists, this call modifies that dashboard, replacing - * its current contents. Otherwise, a new dashboard is created. The maximum length is 255, and valid characters are - * A-Z, a-z, 0-9, "-", and "_". This parameter is required.

              - */ - DashboardName: string | undefined; } export namespace PutDashboardInput { @@ -2572,15 +2572,22 @@ export namespace PutDashboardOutput { } export interface PutInsightRuleInput { + /** + *

              A unique name for the rule.

              + */ + RuleName: string | undefined; + /** *

              The state of the rule. Valid values are ENABLED and DISABLED.

              */ RuleState?: string; /** - *

              A unique name for the rule.

              + *

              The definition of the rule, as a JSON object. For details on the valid syntax, see + * Contributor Insights + * Rule Syntax.

              */ - RuleName: string | undefined; + RuleDefinition: string | undefined; /** *

              A list of key-value pairs to associate with the Contributor Insights rule. @@ -2596,13 +2603,6 @@ export interface PutInsightRuleInput { * TagResource.

              */ Tags?: Tag[]; - - /** - *

              The definition of the rule, as a JSON object. For details on the valid syntax, see - * Contributor Insights - * Rule Syntax.

              - */ - RuleDefinition: string | undefined; } export namespace PutInsightRuleInput { @@ -2620,88 +2620,6 @@ export namespace PutInsightRuleOutput { } export interface PutMetricAlarmInput { - /** - *

              The unit of measure for the statistic. For example, the units for the Amazon EC2 - * NetworkIn metric are Bytes because NetworkIn tracks the number of bytes that an instance - * receives on all network interfaces. You can also specify a unit when you create a custom - * metric. Units help provide conceptual meaning to your data. Metric data points that - * specify a unit of measure, such as Percent, are aggregated separately.

              - *

              If you don't specify Unit, CloudWatch retrieves all unit types that have been published for the - * metric and attempts to evaluate the alarm. - * Usually, metrics are - * published with only one unit, so the alarm - * works as intended.

              - *

              However, if the metric is published with multiple types of units and you don't specify a unit, the alarm's - * behavior is not defined and - * it behaves predictably.

              - *

              We recommend omitting Unit so that you don't inadvertently - * specify an incorrect unit that is not published for this metric. Doing so - * causes the alarm to be stuck in the INSUFFICIENT DATA state.

              - */ - Unit?: StandardUnit | string; - - /** - *

              The length, in seconds, used each time the metric specified in MetricName is - * evaluated. Valid values are 10, 30, and any multiple of 60.

              - *

              - * Period is required for alarms based on static thresholds. If - * you are creating an alarm based on a metric math expression, you specify the - * period for each metric within the objects in the Metrics array.

              - *

              Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData call with a - * StorageResolution of 1. If you specify a period of 10 or 30 for a metric that does not have - * sub-minute resolution, the alarm still attempts to gather data at the period rate that you specify. In this case, - * it does not receive data for the attempts that do not correspond to a one-minute data resolution, and the alarm - * might often lapse into INSUFFICENT_DATA status. Specifying 10 or 30 also sets this alarm as a high-resolution alarm, - * which has a higher charge than other alarms. For more information about pricing, see Amazon CloudWatch Pricing.

              - *

              An alarm's total current evaluation period can - * be no longer than one day, so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds.

              - */ - Period?: number; - - /** - *

              If this is an alarm based on an anomaly detection model, make this value match - * the ID of - * the ANOMALY_DETECTION_BAND function.

              - *

              For an example of how to use this parameter, see the - * Anomaly Detection - * Model Alarm example on this page.

              - *

              If your alarm uses this parameter, it cannot have Auto Scaling actions.

              - */ - ThresholdMetricId?: string; - - /** - *

              The value against which the specified statistic is compared.

              - *

              This parameter is required for alarms based on static thresholds, but should - * not be used for alarms based on anomaly detection models.

              - */ - Threshold?: number; - - /** - *

              The arithmetic operation to use when comparing the specified statistic and - * threshold. The specified statistic value is used as the first operand.

              - *

              The values LessThanLowerOrGreaterThanUpperThreshold, - * LessThanLowerThreshold, and GreaterThanUpperThreshold - * are used only for alarms based on anomaly detection models.

              - */ - ComparisonOperator: ComparisonOperator | string | undefined; - - /** - *

              Used only for alarms based on percentiles. If you specify ignore, the alarm state does not change during periods with too few data points to be - * statistically significant. If you specify evaluate or omit this parameter, the alarm is always evaluated and possibly changes state - * no matter how many data points are available. For more information, see Percentile-Based CloudWatch Alarms and Low Data Samples.

              - *

              Valid Values: evaluate | ignore - *

              - */ - EvaluateLowSampleCountPercentile?: string; - - /** - *

              The percentile statistic for the metric specified in MetricName. Specify a value - * between p0.0 and p100. When you call PutMetricAlarm and specify - * a MetricName, you must - * specify either Statistic or ExtendedStatistic, but not both.

              - */ - ExtendedStatistic?: string; - /** *

              The number of data points that must be breaching to trigger the alarm. This is used only if you are setting * an "M out of N" alarm. In that case, this value is the M. For more information, see @@ -2711,26 +2629,23 @@ export interface PutMetricAlarmInput { DatapointsToAlarm?: number; /** - *

              Sets how this alarm is to handle missing data points. If TreatMissingData is omitted, the default behavior of missing is used. - * For more information, see Configuring How CloudWatch - * Alarms Treats Missing Data.

              - *

              Valid Values: breaching | notBreaching | ignore | missing - *

              - */ - TreatMissingData?: string; - - /** - *

              A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm.

              - *

              Tags can help you organize and categorize your resources. You can also use them to scope user - * permissions by granting a user - * permission to access or change only resources with certain tag values.

              + *

              The name for the alarm. This name must be unique within the Region.

              */ - Tags?: Tag[]; + AlarmName: string | undefined; /** - *

              The name for the alarm. This name must be unique within the Region.

              + *

              An array of MetricDataQuery structures that enable you to create an alarm based on the result of a + * metric math expression. For each PutMetricAlarm + * operation, you must specify either MetricName or a Metrics array.

              + *

              Each item in the Metrics array either retrieves a metric or performs a math expression.

              + *

              One item in the Metrics array is the expression that the alarm watches. You designate this expression + * by setting ReturnValue to true for this object in the array. For more information, see MetricDataQuery.

              + *

              If you use the Metrics parameter, you cannot include the MetricName, Dimensions, Period, + * Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm in the same operation. + * Instead, you retrieve + * the metrics you are using in your math expression as part of the Metrics array.

              */ - AlarmName: string | undefined; + Metrics?: MetricDataQuery[]; /** *

              The name for the metric associated with the alarm. For each PutMetricAlarm @@ -2743,15 +2658,22 @@ export interface PutMetricAlarmInput { MetricName?: string; /** - *

              The description for the alarm.

              - */ - AlarmDescription?: string; - - /** - *

              Indicates whether actions should be executed during any changes to the alarm state. The default is - * TRUE.

              + *

              The length, in seconds, used each time the metric specified in MetricName is + * evaluated. Valid values are 10, 30, and any multiple of 60.

              + *

              + * Period is required for alarms based on static thresholds. If + * you are creating an alarm based on a metric math expression, you specify the + * period for each metric within the objects in the Metrics array.

              + *

              Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData call with a + * StorageResolution of 1. If you specify a period of 10 or 30 for a metric that does not have + * sub-minute resolution, the alarm still attempts to gather data at the period rate that you specify. In this case, + * it does not receive data for the attempts that do not correspond to a one-minute data resolution, and the alarm + * might often lapse into INSUFFICENT_DATA status. Specifying 10 or 30 also sets this alarm as a high-resolution alarm, + * which has a higher charge than other alarms. For more information about pricing, see Amazon CloudWatch Pricing.

              + *

              An alarm's total current evaluation period can + * be no longer than one day, so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds.

              */ - ActionsEnabled?: boolean; + Period?: number; /** *

              The actions to execute when this alarm transitions to the ALARM state from any other state. @@ -2776,9 +2698,39 @@ export interface PutMetricAlarmInput { AlarmActions?: string[]; /** - *

              The dimensions for the metric specified in MetricName.

              + *

              The arithmetic operation to use when comparing the specified statistic and + * threshold. The specified statistic value is used as the first operand.

              + *

              The values LessThanLowerOrGreaterThanUpperThreshold, + * LessThanLowerThreshold, and GreaterThanUpperThreshold + * are used only for alarms based on anomaly detection models.

              */ - Dimensions?: Dimension[]; + ComparisonOperator: ComparisonOperator | string | undefined; + + /** + *

              Indicates whether actions should be executed during any changes to the alarm state. The default is + * TRUE.

              + */ + ActionsEnabled?: boolean; + + /** + *

              A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm.

              + *

              Tags can help you organize and categorize your resources. You can also use them to scope user + * permissions by granting a user + * permission to access or change only resources with certain tag values.

              + */ + Tags?: Tag[]; + + /** + *

              The value against which the specified statistic is compared.

              + *

              This parameter is required for alarms based on static thresholds, but should + * not be used for alarms based on anomaly detection models.

              + */ + Threshold?: number; + + /** + *

              The namespace for the metric associated specified in MetricName.

              + */ + Namespace?: string; /** *

              The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. @@ -2802,6 +2754,59 @@ export interface PutMetricAlarmInput { */ InsufficientDataActions?: string[]; + /** + *

              Sets how this alarm is to handle missing data points. If TreatMissingData is omitted, the default behavior of missing is used. + * For more information, see Configuring How CloudWatch + * Alarms Treats Missing Data.

              + *

              Valid Values: breaching | notBreaching | ignore | missing + *

              + */ + TreatMissingData?: string; + + /** + *

              The description for the alarm.

              + */ + AlarmDescription?: string; + + /** + *

              The unit of measure for the statistic. For example, the units for the Amazon EC2 + * NetworkIn metric are Bytes because NetworkIn tracks the number of bytes that an instance + * receives on all network interfaces. You can also specify a unit when you create a custom + * metric. Units help provide conceptual meaning to your data. Metric data points that + * specify a unit of measure, such as Percent, are aggregated separately.

              + *

              If you don't specify Unit, CloudWatch retrieves all unit types that have been published for the + * metric and attempts to evaluate the alarm. + * Usually, metrics are + * published with only one unit, so the alarm + * works as intended.

              + *

              However, if the metric is published with multiple types of units and you don't specify a unit, the alarm's + * behavior is not defined and + * it behaves predictably.

              + *

              We recommend omitting Unit so that you don't inadvertently + * specify an incorrect unit that is not published for this metric. Doing so + * causes the alarm to be stuck in the INSUFFICIENT DATA state.

              + */ + Unit?: StandardUnit | string; + + /** + *

              The statistic for the metric specified in MetricName, other than percentile. + * For percentile statistics, use ExtendedStatistic. When you call PutMetricAlarm and specify + * a MetricName, you must + * specify either Statistic or ExtendedStatistic, but not both.

              + */ + Statistic?: Statistic | string; + + /** + *

              If this is an alarm based on an anomaly detection model, make this value match + * the ID of + * the ANOMALY_DETECTION_BAND function.

              + *

              For an example of how to use this parameter, see the + * Anomaly Detection + * Model Alarm example on this page.

              + *

              If your alarm uses this parameter, it cannot have Auto Scaling actions.

              + */ + ThresholdMetricId?: string; + /** *

              The actions to execute when this alarm transitions to an OK state * from any other state. Each action is specified as an Amazon Resource Name (ARN).

              @@ -2824,11 +2829,6 @@ export interface PutMetricAlarmInput { */ OKActions?: string[]; - /** - *

              The namespace for the metric associated specified in MetricName.

              - */ - Namespace?: string; - /** *

              The number of periods over which data is compared to the specified threshold. If you are * setting an alarm that requires that a number of consecutive data points be breaching to @@ -2840,26 +2840,26 @@ export interface PutMetricAlarmInput { EvaluationPeriods: number | undefined; /** - *

              An array of MetricDataQuery structures that enable you to create an alarm based on the result of a - * metric math expression. For each PutMetricAlarm - * operation, you must specify either MetricName or a Metrics array.

              - *

              Each item in the Metrics array either retrieves a metric or performs a math expression.

              - *

              One item in the Metrics array is the expression that the alarm watches. You designate this expression - * by setting ReturnValue to true for this object in the array. For more information, see MetricDataQuery.

              - *

              If you use the Metrics parameter, you cannot include the MetricName, Dimensions, Period, - * Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm in the same operation. - * Instead, you retrieve - * the metrics you are using in your math expression as part of the Metrics array.

              + *

              Used only for alarms based on percentiles. If you specify ignore, the alarm state does not change during periods with too few data points to be + * statistically significant. If you specify evaluate or omit this parameter, the alarm is always evaluated and possibly changes state + * no matter how many data points are available. For more information, see Percentile-Based CloudWatch Alarms and Low Data Samples.

              + *

              Valid Values: evaluate | ignore + *

              */ - Metrics?: MetricDataQuery[]; + EvaluateLowSampleCountPercentile?: string; /** - *

              The statistic for the metric specified in MetricName, other than percentile. - * For percentile statistics, use ExtendedStatistic. When you call PutMetricAlarm and specify + *

              The dimensions for the metric specified in MetricName.

              + */ + Dimensions?: Dimension[]; + + /** + *

              The percentile statistic for the metric specified in MetricName. Specify a value + * between p0.0 and p100. When you call PutMetricAlarm and specify * a MetricName, you must - * specify either Statistic or ExtendedStatistic, but not both.

              + * specify either Statistic or ExtendedStatistic, but not both.

              */ - Statistic?: Statistic | string; + ExtendedStatistic?: string; } export namespace PutMetricAlarmInput { @@ -2873,9 +2873,9 @@ export namespace PutMetricAlarmInput { */ export interface StatisticSet { /** - *

              The minimum value of the sample set.

              + *

              The sum of values for the sample set.

              */ - Minimum: number | undefined; + Sum: number | undefined; /** *

              The maximum value of the sample set.

              @@ -2883,14 +2883,14 @@ export interface StatisticSet { Maximum: number | undefined; /** - *

              The number of samples used for the statistic set.

              + *

              The minimum value of the sample set.

              */ - SampleCount: number | undefined; + Minimum: number | undefined; /** - *

              The sum of values for the sample set.

              + *

              The number of samples used for the statistic set.

              */ - Sum: number | undefined; + SampleCount: number | undefined; } export namespace StatisticSet { @@ -2905,11 +2905,12 @@ export namespace StatisticSet { */ export interface MetricDatum { /** - *

              When you are using a Put operation, this defines what unit you want to use when storing the metric.

              - *

              In - * a Get operation, this displays the unit that is used for the metric.

              + *

              The value for the metric.

              + *

              Although the parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or + * too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) + * are not supported.

              */ - Unit?: StandardUnit | string; + Value?: number; /** *

              Array of numbers representing the values for the metric during the period. Each unique value is listed just once @@ -2923,21 +2924,19 @@ export interface MetricDatum { Values?: number[]; /** - *

              Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution metric, so that CloudWatch stores the metric with - * sub-minute resolution down to one second. - * Setting this to 60 specifies this metric as a regular-resolution metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution is available - * only for custom metrics. For more information about high-resolution metrics, - * see High-Resolution Metrics in the - * Amazon CloudWatch User Guide. - *

              - *

              This field is optional, if you do not specify it the default of 60 is used.

              + *

              Array of numbers that is used along with the Values array. Each number in the Count array + * is the number of times the corresponding value in the Values array occurred during the period.

              + *

              If you omit the Counts array, the default of 1 is used as the value for each count. If you + * include a Counts array, it must include the same amount of values as the Values array.

              */ - StorageResolution?: number; + Counts?: number[]; /** - *

              The dimensions associated with the metric.

              + *

              When you are using a Put operation, this defines what unit you want to use when storing the metric.

              + *

              In + * a Get operation, this displays the unit that is used for the metric.

              */ - Dimensions?: Dimension[]; + Unit?: StandardUnit | string; /** *

              The time the metric data was received, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

              @@ -2945,30 +2944,31 @@ export interface MetricDatum { Timestamp?: Date; /** - *

              The name of the metric.

              + *

              The dimensions associated with the metric.

              */ - MetricName: string | undefined; + Dimensions?: Dimension[]; /** - *

              The statistical values for the metric.

              + *

              Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution metric, so that CloudWatch stores the metric with + * sub-minute resolution down to one second. + * Setting this to 60 specifies this metric as a regular-resolution metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution is available + * only for custom metrics. For more information about high-resolution metrics, + * see High-Resolution Metrics in the + * Amazon CloudWatch User Guide. + *

              + *

              This field is optional, if you do not specify it the default of 60 is used.

              */ - StatisticValues?: StatisticSet; + StorageResolution?: number; /** - *

              Array of numbers that is used along with the Values array. Each number in the Count array - * is the number of times the corresponding value in the Values array occurred during the period.

              - *

              If you omit the Counts array, the default of 1 is used as the value for each count. If you - * include a Counts array, it must include the same amount of values as the Values array.

              + *

              The statistical values for the metric.

              */ - Counts?: number[]; + StatisticValues?: StatisticSet; /** - *

              The value for the metric.

              - *

              Although the parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or - * too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) - * are not supported.

              + *

              The name of the metric.

              */ - Value?: number; + MetricName: string | undefined; } export namespace MetricDatum { @@ -2978,6 +2978,11 @@ export namespace MetricDatum { } export interface PutMetricDataInput { + /** + *

              The data for the metric. The array can include no more than 20 metrics per call.

              + */ + MetricData: MetricDatum[] | undefined; + /** *

              The namespace for the metric data.

              *

              To avoid conflicts @@ -2985,11 +2990,6 @@ export interface PutMetricDataInput { *

              */ Namespace: string | undefined; - - /** - *

              The data for the metric. The array can include no more than 20 metrics per call.

              - */ - MetricData: MetricDatum[] | undefined; } export namespace PutMetricDataInput { @@ -3018,26 +3018,26 @@ export namespace InvalidFormatFault { export interface SetAlarmStateInput { /** - *

              The reason that this alarm is set to this specific state, in text format.

              + *

              The value of the state.

              */ - StateReason: string | undefined; + StateValue: StateValue | string | undefined; /** - *

              The reason that this alarm is set to this specific state, in JSON format.

              - *

              For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto Scaling or application Auto Scaling - * alarm actions, the Auto Scaling policy uses the information in this field to take the correct action.

              + *

              The name of the alarm.

              */ - StateReasonData?: string; + AlarmName: string | undefined; /** - *

              The value of the state.

              + *

              The reason that this alarm is set to this specific state, in text format.

              */ - StateValue: StateValue | string | undefined; + StateReason: string | undefined; /** - *

              The name of the alarm.

              + *

              The reason that this alarm is set to this specific state, in JSON format.

              + *

              For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto Scaling or application Auto Scaling + * alarm actions, the Auto Scaling policy uses the information in this field to take the correct action.

              */ - AlarmName: string | undefined; + StateReasonData?: string; } export namespace SetAlarmStateInput { @@ -3084,6 +3084,11 @@ export namespace TagResourceOutput { } export interface UntagResourceInput { + /** + *

              The list of tag keys to remove from the resource.

              + */ + TagKeys: string[] | undefined; + /** *

              The ARN of the CloudWatch resource that you're removing tags from.

              *

              The ARN format of an alarm is @@ -3099,11 +3104,6 @@ export interface UntagResourceInput { * Reference.

              */ ResourceARN: string | undefined; - - /** - *

              The list of tag keys to remove from the resource.

              - */ - TagKeys: string[] | undefined; } export namespace UntagResourceInput { diff --git a/clients/client-cloudwatch/protocols/Aws_query.ts b/clients/client-cloudwatch/protocols/Aws_query.ts index 500539756020..cee8d5ba5ded 100644 --- a/clients/client-cloudwatch/protocols/Aws_query.ts +++ b/clients/client-cloudwatch/protocols/Aws_query.ts @@ -2742,9 +2742,6 @@ const serializeAws_queryAnomalyDetectorConfiguration = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MetricTimezone !== undefined) { - entries["MetricTimezone"] = input.MetricTimezone; - } if (input.ExcludedTimeRanges !== undefined) { const memberEntries = serializeAws_queryAnomalyDetectorExcludedTimeRanges(input.ExcludedTimeRanges, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -2752,6 +2749,9 @@ const serializeAws_queryAnomalyDetectorConfiguration = ( entries[loc] = value; }); } + if (input.MetricTimezone !== undefined) { + entries["MetricTimezone"] = input.MetricTimezone; + } return entries; }; @@ -2805,9 +2805,6 @@ const serializeAws_queryDeleteAnomalyDetectorInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MetricName !== undefined) { - entries["MetricName"] = input.MetricName; - } if (input.Dimensions !== undefined) { const memberEntries = serializeAws_queryDimensions(input.Dimensions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -2821,6 +2818,9 @@ const serializeAws_queryDeleteAnomalyDetectorInput = ( if (input.Stat !== undefined) { entries["Stat"] = input.Stat; } + if (input.MetricName !== undefined) { + entries["MetricName"] = input.MetricName; + } return entries; }; @@ -2853,33 +2853,33 @@ const serializeAws_queryDescribeAlarmHistoryInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.HistoryItemType !== undefined) { + entries["HistoryItemType"] = input.HistoryItemType; + } + if (input.AlarmTypes !== undefined) { + const memberEntries = serializeAws_queryAlarmTypes(input.AlarmTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AlarmTypes.${key}`; + entries[loc] = value; + }); + } + if (input.EndDate !== undefined) { + entries["EndDate"] = input.EndDate.toISOString().split(".")[0] + "Z"; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } if (input.StartDate !== undefined) { entries["StartDate"] = input.StartDate.toISOString().split(".")[0] + "Z"; } - if (input.ScanBy !== undefined) { - entries["ScanBy"] = input.ScanBy; - } if (input.AlarmName !== undefined) { entries["AlarmName"] = input.AlarmName; } - if (input.EndDate !== undefined) { - entries["EndDate"] = input.EndDate.toISOString().split(".")[0] + "Z"; - } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.HistoryItemType !== undefined) { - entries["HistoryItemType"] = input.HistoryItemType; - } - if (input.AlarmTypes !== undefined) { - const memberEntries = serializeAws_queryAlarmTypes(input.AlarmTypes, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AlarmTypes.${key}`; - entries[loc] = value; - }); + if (input.ScanBy !== undefined) { + entries["ScanBy"] = input.ScanBy; } return entries; }; @@ -2889,12 +2889,15 @@ const serializeAws_queryDescribeAlarmsForMetricInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MetricName !== undefined) { + entries["MetricName"] = input.MetricName; + } + if (input.ExtendedStatistic !== undefined) { + entries["ExtendedStatistic"] = input.ExtendedStatistic; + } if (input.Namespace !== undefined) { entries["Namespace"] = input.Namespace; } - if (input.Period !== undefined) { - entries["Period"] = input.Period; - } if (input.Dimensions !== undefined) { const memberEntries = serializeAws_queryDimensions(input.Dimensions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -2902,29 +2905,31 @@ const serializeAws_queryDescribeAlarmsForMetricInput = ( entries[loc] = value; }); } - if (input.Statistic !== undefined) { - entries["Statistic"] = input.Statistic; - } - if (input.MetricName !== undefined) { - entries["MetricName"] = input.MetricName; + if (input.Period !== undefined) { + entries["Period"] = input.Period; } if (input.Unit !== undefined) { entries["Unit"] = input.Unit; } - if (input.ExtendedStatistic !== undefined) { - entries["ExtendedStatistic"] = input.ExtendedStatistic; + if (input.Statistic !== undefined) { + entries["Statistic"] = input.Statistic; } return entries; }; const serializeAws_queryDescribeAlarmsInput = (input: DescribeAlarmsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.AlarmTypes !== undefined) { - const memberEntries = serializeAws_queryAlarmTypes(input.AlarmTypes, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AlarmTypes.${key}`; - entries[loc] = value; - }); + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.AlarmNamePrefix !== undefined) { + entries["AlarmNamePrefix"] = input.AlarmNamePrefix; + } + if (input.ChildrenOfAlarmName !== undefined) { + entries["ChildrenOfAlarmName"] = input.ChildrenOfAlarmName; + } + if (input.ActionPrefix !== undefined) { + entries["ActionPrefix"] = input.ActionPrefix; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; @@ -2942,17 +2947,12 @@ const serializeAws_queryDescribeAlarmsInput = (input: DescribeAlarmsInput, conte if (input.ParentsOfAlarmName !== undefined) { entries["ParentsOfAlarmName"] = input.ParentsOfAlarmName; } - if (input.ActionPrefix !== undefined) { - entries["ActionPrefix"] = input.ActionPrefix; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.ChildrenOfAlarmName !== undefined) { - entries["ChildrenOfAlarmName"] = input.ChildrenOfAlarmName; - } - if (input.AlarmNamePrefix !== undefined) { - entries["AlarmNamePrefix"] = input.AlarmNamePrefix; + if (input.AlarmTypes !== undefined) { + const memberEntries = serializeAws_queryAlarmTypes(input.AlarmTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AlarmTypes.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -2962,12 +2962,6 @@ const serializeAws_queryDescribeAnomalyDetectorsInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.MetricName !== undefined) { - entries["MetricName"] = input.MetricName; - } if (input.Dimensions !== undefined) { const memberEntries = serializeAws_queryDimensions(input.Dimensions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -2981,6 +2975,12 @@ const serializeAws_queryDescribeAnomalyDetectorsInput = ( if (input.Namespace !== undefined) { entries["Namespace"] = input.Namespace; } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.MetricName !== undefined) { + entries["MetricName"] = input.MetricName; + } return entries; }; @@ -3011,12 +3011,12 @@ const serializeAws_queryDimension = (input: Dimension, context: __SerdeContext): const serializeAws_queryDimensionFilter = (input: DimensionFilter, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Name !== undefined) { entries["Name"] = input.Name; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -3117,21 +3117,6 @@ const serializeAws_queryGetInsightRuleReportInput = ( context: __SerdeContext ): any => { const entries: any = {}; - 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.RuleName !== undefined) { - entries["RuleName"] = input.RuleName; - } - if (input.MaxContributorCount !== undefined) { - entries["MaxContributorCount"] = input.MaxContributorCount; - } - if (input.OrderBy !== undefined) { - entries["OrderBy"] = input.OrderBy; - } if (input.Metrics !== undefined) { const memberEntries = serializeAws_queryInsightRuleMetricList(input.Metrics, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3139,62 +3124,74 @@ const serializeAws_queryGetInsightRuleReportInput = ( entries[loc] = value; }); } + if (input.MaxContributorCount !== undefined) { + entries["MaxContributorCount"] = input.MaxContributorCount; + } + if (input.OrderBy !== undefined) { + entries["OrderBy"] = input.OrderBy; + } if (input.Period !== undefined) { entries["Period"] = input.Period; } + if (input.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + } + if (input.RuleName !== undefined) { + entries["RuleName"] = input.RuleName; + } + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + } return entries; }; const serializeAws_queryGetMetricDataInput = (input: GetMetricDataInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.MetricDataQueries !== undefined) { - const memberEntries = serializeAws_queryMetricDataQueries(input.MetricDataQueries, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `MetricDataQueries.${key}`; - entries[loc] = value; - }); - } - if (input.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; - } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } if (input.MaxDatapoints !== undefined) { entries["MaxDatapoints"] = input.MaxDatapoints; } + if (input.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + } if (input.ScanBy !== undefined) { entries["ScanBy"] = input.ScanBy; } if (input.EndTime !== undefined) { entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; } + if (input.MetricDataQueries !== undefined) { + const memberEntries = serializeAws_queryMetricDataQueries(input.MetricDataQueries, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MetricDataQueries.${key}`; + entries[loc] = value; + }); + } return entries; }; const serializeAws_queryGetMetricStatisticsInput = (input: GetMetricStatisticsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.MetricName !== undefined) { - entries["MetricName"] = input.MetricName; + if (input.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + } + if (input.Unit !== undefined) { + entries["Unit"] = input.Unit; } 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.Dimensions !== undefined) { - const memberEntries = serializeAws_queryDimensions(input.Dimensions, context); + if (input.ExtendedStatistics !== undefined) { + const memberEntries = serializeAws_queryExtendedStatistics(input.ExtendedStatistics, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Dimensions.${key}`; + const loc = `ExtendedStatistics.${key}`; entries[loc] = value; }); } - if (input.Period !== undefined) { - entries["Period"] = input.Period; - } - if (input.Unit !== undefined) { - entries["Unit"] = input.Unit; + if (input.Namespace !== undefined) { + entries["Namespace"] = input.Namespace; } if (input.Statistics !== undefined) { const memberEntries = serializeAws_queryStatistics(input.Statistics, context); @@ -3203,16 +3200,19 @@ const serializeAws_queryGetMetricStatisticsInput = (input: GetMetricStatisticsIn entries[loc] = value; }); } - if (input.Namespace !== undefined) { - entries["Namespace"] = input.Namespace; - } - if (input.ExtendedStatistics !== undefined) { - const memberEntries = serializeAws_queryExtendedStatistics(input.ExtendedStatistics, context); + if (input.Dimensions !== undefined) { + const memberEntries = serializeAws_queryDimensions(input.Dimensions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ExtendedStatistics.${key}`; + const loc = `Dimensions.${key}`; entries[loc] = value; }); } + if (input.MetricName !== undefined) { + entries["MetricName"] = input.MetricName; + } + if (input.Period !== undefined) { + entries["Period"] = input.Period; + } return entries; }; @@ -3221,12 +3221,12 @@ const serializeAws_queryGetMetricWidgetImageInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MetricWidget !== undefined) { - entries["MetricWidget"] = input.MetricWidget; - } if (input.OutputFormat !== undefined) { entries["OutputFormat"] = input.OutputFormat; } + if (input.MetricWidget !== undefined) { + entries["MetricWidget"] = input.MetricWidget; + } return entries; }; @@ -3252,17 +3252,20 @@ const serializeAws_queryInsightRuleNames = (input: string[], context: __SerdeCon const serializeAws_queryListDashboardsInput = (input: ListDashboardsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.DashboardNamePrefix !== undefined) { entries["DashboardNamePrefix"] = input.DashboardNamePrefix; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; const serializeAws_queryListMetricsInput = (input: ListMetricsInput, context: __SerdeContext): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.MetricName !== undefined) { entries["MetricName"] = input.MetricName; } @@ -3279,9 +3282,6 @@ const serializeAws_queryListMetricsInput = (input: ListMetricsInput, context: __ entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -3298,9 +3298,6 @@ const serializeAws_queryMetric = (input: Metric, context: __SerdeContext): any = if (input.Namespace !== undefined) { entries["Namespace"] = input.Namespace; } - if (input.MetricName !== undefined) { - entries["MetricName"] = input.MetricName; - } if (input.Dimensions !== undefined) { const memberEntries = serializeAws_queryDimensions(input.Dimensions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3308,6 +3305,9 @@ const serializeAws_queryMetric = (input: Metric, context: __SerdeContext): any = entries[loc] = value; }); } + if (input.MetricName !== undefined) { + entries["MetricName"] = input.MetricName; + } return entries; }; @@ -3339,18 +3339,6 @@ const serializeAws_queryMetricDataQueries = (input: MetricDataQuery[], context: const serializeAws_queryMetricDataQuery = (input: MetricDataQuery, context: __SerdeContext): any => { const entries: any = {}; - if (input.Expression !== undefined) { - entries["Expression"] = input.Expression; - } - if (input.Period !== undefined) { - entries["Period"] = input.Period; - } - if (input.ReturnData !== undefined) { - entries["ReturnData"] = input.ReturnData; - } - if (input.Id !== undefined) { - entries["Id"] = input.Id; - } if (input.MetricStat !== undefined) { const memberEntries = serializeAws_queryMetricStat(input.MetricStat, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3361,13 +3349,25 @@ const serializeAws_queryMetricDataQuery = (input: MetricDataQuery, context: __Se if (input.Label !== undefined) { entries["Label"] = input.Label; } + if (input.Expression !== undefined) { + entries["Expression"] = input.Expression; + } + if (input.Id !== undefined) { + entries["Id"] = input.Id; + } + if (input.ReturnData !== undefined) { + entries["ReturnData"] = input.ReturnData; + } + if (input.Period !== undefined) { + entries["Period"] = input.Period; + } return entries; }; const serializeAws_queryMetricDatum = (input: MetricDatum, context: __SerdeContext): any => { const entries: any = {}; - if (input.Unit !== undefined) { - entries["Unit"] = input.Unit; + if (input.Value !== undefined) { + entries["Value"] = input.Value; } if (input.Values !== undefined) { const memberEntries = serializeAws_queryValues(input.Values, context); @@ -3376,8 +3376,18 @@ const serializeAws_queryMetricDatum = (input: MetricDatum, context: __SerdeConte entries[loc] = value; }); } - if (input.StorageResolution !== undefined) { - entries["StorageResolution"] = input.StorageResolution; + if (input.Counts !== undefined) { + const memberEntries = serializeAws_queryCounts(input.Counts, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Counts.${key}`; + entries[loc] = value; + }); + } + if (input.Unit !== undefined) { + entries["Unit"] = input.Unit; + } + if (input.Timestamp !== undefined) { + entries["Timestamp"] = input.Timestamp.toISOString().split(".")[0] + "Z"; } if (input.Dimensions !== undefined) { const memberEntries = serializeAws_queryDimensions(input.Dimensions, context); @@ -3386,11 +3396,8 @@ const serializeAws_queryMetricDatum = (input: MetricDatum, context: __SerdeConte entries[loc] = value; }); } - if (input.Timestamp !== undefined) { - entries["Timestamp"] = input.Timestamp.toISOString().split(".")[0] + "Z"; - } - if (input.MetricName !== undefined) { - entries["MetricName"] = input.MetricName; + if (input.StorageResolution !== undefined) { + entries["StorageResolution"] = input.StorageResolution; } if (input.StatisticValues !== undefined) { const memberEntries = serializeAws_queryStatisticSet(input.StatisticValues, context); @@ -3399,21 +3406,17 @@ const serializeAws_queryMetricDatum = (input: MetricDatum, context: __SerdeConte entries[loc] = value; }); } - if (input.Counts !== undefined) { - const memberEntries = serializeAws_queryCounts(input.Counts, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Counts.${key}`; - entries[loc] = value; - }); - } - if (input.Value !== undefined) { - entries["Value"] = input.Value; + if (input.MetricName !== undefined) { + entries["MetricName"] = input.MetricName; } return entries; }; const serializeAws_queryMetricStat = (input: MetricStat, context: __SerdeContext): any => { const entries: any = {}; + if (input.Period !== undefined) { + entries["Period"] = input.Period; + } if (input.Metric !== undefined) { const memberEntries = serializeAws_queryMetric(input.Metric, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3421,9 +3424,6 @@ const serializeAws_queryMetricStat = (input: MetricStat, context: __SerdeContext entries[loc] = value; }); } - if (input.Period !== undefined) { - entries["Period"] = input.Period; - } if (input.Unit !== undefined) { entries["Unit"] = input.Unit; } @@ -3435,15 +3435,8 @@ const serializeAws_queryMetricStat = (input: MetricStat, context: __SerdeContext const serializeAws_queryPutAnomalyDetectorInput = (input: PutAnomalyDetectorInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.MetricName !== undefined) { - entries["MetricName"] = input.MetricName; - } - if (input.Configuration !== undefined) { - const memberEntries = serializeAws_queryAnomalyDetectorConfiguration(input.Configuration, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Configuration.${key}`; - entries[loc] = value; - }); + if (input.Stat !== undefined) { + entries["Stat"] = input.Stat; } if (input.Dimensions !== undefined) { const memberEntries = serializeAws_queryDimensions(input.Dimensions, context); @@ -3452,25 +3445,26 @@ const serializeAws_queryPutAnomalyDetectorInput = (input: PutAnomalyDetectorInpu entries[loc] = value; }); } - if (input.Stat !== undefined) { - entries["Stat"] = input.Stat; - } if (input.Namespace !== undefined) { entries["Namespace"] = input.Namespace; } + if (input.Configuration !== undefined) { + const memberEntries = serializeAws_queryAnomalyDetectorConfiguration(input.Configuration, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Configuration.${key}`; + entries[loc] = value; + }); + } + if (input.MetricName !== undefined) { + entries["MetricName"] = input.MetricName; + } return entries; }; const serializeAws_queryPutCompositeAlarmInput = (input: PutCompositeAlarmInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.ActionsEnabled !== undefined) { - entries["ActionsEnabled"] = input.ActionsEnabled; - } - if (input.AlarmRule !== undefined) { - entries["AlarmRule"] = input.AlarmRule; - } - if (input.AlarmDescription !== undefined) { - entries["AlarmDescription"] = input.AlarmDescription; + if (input.AlarmName !== undefined) { + entries["AlarmName"] = input.AlarmName; } if (input.AlarmActions !== undefined) { const memberEntries = serializeAws_queryResourceList(input.AlarmActions, context); @@ -3479,15 +3473,15 @@ const serializeAws_queryPutCompositeAlarmInput = (input: PutCompositeAlarmInput, entries[loc] = value; }); } - if (input.InsufficientDataActions !== undefined) { - const memberEntries = serializeAws_queryResourceList(input.InsufficientDataActions, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `InsufficientDataActions.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.AlarmName !== undefined) { - entries["AlarmName"] = input.AlarmName; + if (input.AlarmRule !== undefined) { + entries["AlarmRule"] = input.AlarmRule; } if (input.OKActions !== undefined) { const memberEntries = serializeAws_queryResourceList(input.OKActions, context); @@ -3496,10 +3490,16 @@ const serializeAws_queryPutCompositeAlarmInput = (input: PutCompositeAlarmInput, entries[loc] = value; }); } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.AlarmDescription !== undefined) { + entries["AlarmDescription"] = input.AlarmDescription; + } + if (input.ActionsEnabled !== undefined) { + entries["ActionsEnabled"] = input.ActionsEnabled; + } + if (input.InsufficientDataActions !== undefined) { + const memberEntries = serializeAws_queryResourceList(input.InsufficientDataActions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `InsufficientDataActions.${key}`; entries[loc] = value; }); } @@ -3508,22 +3508,25 @@ const serializeAws_queryPutCompositeAlarmInput = (input: PutCompositeAlarmInput, const serializeAws_queryPutDashboardInput = (input: PutDashboardInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.DashboardBody !== undefined) { - entries["DashboardBody"] = input.DashboardBody; - } if (input.DashboardName !== undefined) { entries["DashboardName"] = input.DashboardName; } + if (input.DashboardBody !== undefined) { + entries["DashboardBody"] = input.DashboardBody; + } return entries; }; const serializeAws_queryPutInsightRuleInput = (input: PutInsightRuleInput, context: __SerdeContext): any => { const entries: any = {}; + if (input.RuleName !== undefined) { + entries["RuleName"] = input.RuleName; + } if (input.RuleState !== undefined) { entries["RuleState"] = input.RuleState; } - if (input.RuleName !== undefined) { - entries["RuleName"] = input.RuleName; + if (input.RuleDefinition !== undefined) { + entries["RuleDefinition"] = input.RuleDefinition; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); @@ -3532,59 +3535,29 @@ const serializeAws_queryPutInsightRuleInput = (input: PutInsightRuleInput, conte entries[loc] = value; }); } - if (input.RuleDefinition !== undefined) { - entries["RuleDefinition"] = input.RuleDefinition; - } return entries; }; const serializeAws_queryPutMetricAlarmInput = (input: PutMetricAlarmInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.Unit !== undefined) { - entries["Unit"] = input.Unit; - } - if (input.Period !== undefined) { - entries["Period"] = input.Period; - } - if (input.ThresholdMetricId !== undefined) { - entries["ThresholdMetricId"] = input.ThresholdMetricId; - } - if (input.Threshold !== undefined) { - entries["Threshold"] = input.Threshold; - } - if (input.ComparisonOperator !== undefined) { - entries["ComparisonOperator"] = input.ComparisonOperator; - } - if (input.EvaluateLowSampleCountPercentile !== undefined) { - entries["EvaluateLowSampleCountPercentile"] = input.EvaluateLowSampleCountPercentile; - } - if (input.ExtendedStatistic !== undefined) { - entries["ExtendedStatistic"] = input.ExtendedStatistic; - } if (input.DatapointsToAlarm !== undefined) { entries["DatapointsToAlarm"] = input.DatapointsToAlarm; } - if (input.TreatMissingData !== undefined) { - entries["TreatMissingData"] = input.TreatMissingData; + if (input.AlarmName !== undefined) { + entries["AlarmName"] = input.AlarmName; } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.Metrics !== undefined) { + const memberEntries = serializeAws_queryMetricDataQueries(input.Metrics, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `Metrics.${key}`; entries[loc] = value; }); } - if (input.AlarmName !== undefined) { - entries["AlarmName"] = input.AlarmName; - } if (input.MetricName !== undefined) { entries["MetricName"] = input.MetricName; } - if (input.AlarmDescription !== undefined) { - entries["AlarmDescription"] = input.AlarmDescription; - } - if (input.ActionsEnabled !== undefined) { - entries["ActionsEnabled"] = input.ActionsEnabled; + if (input.Period !== undefined) { + entries["Period"] = input.Period; } if (input.AlarmActions !== undefined) { const memberEntries = serializeAws_queryResourceList(input.AlarmActions, context); @@ -3593,13 +3566,25 @@ const serializeAws_queryPutMetricAlarmInput = (input: PutMetricAlarmInput, conte entries[loc] = value; }); } - if (input.Dimensions !== undefined) { - const memberEntries = serializeAws_queryDimensions(input.Dimensions, context); + if (input.ComparisonOperator !== undefined) { + entries["ComparisonOperator"] = input.ComparisonOperator; + } + if (input.ActionsEnabled !== undefined) { + entries["ActionsEnabled"] = input.ActionsEnabled; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Dimensions.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } + if (input.Threshold !== undefined) { + entries["Threshold"] = input.Threshold; + } + if (input.Namespace !== undefined) { + entries["Namespace"] = input.Namespace; + } if (input.InsufficientDataActions !== undefined) { const memberEntries = serializeAws_queryResourceList(input.InsufficientDataActions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3607,6 +3592,21 @@ const serializeAws_queryPutMetricAlarmInput = (input: PutMetricAlarmInput, conte entries[loc] = value; }); } + if (input.TreatMissingData !== undefined) { + entries["TreatMissingData"] = input.TreatMissingData; + } + if (input.AlarmDescription !== undefined) { + entries["AlarmDescription"] = input.AlarmDescription; + } + if (input.Unit !== undefined) { + entries["Unit"] = input.Unit; + } + if (input.Statistic !== undefined) { + entries["Statistic"] = input.Statistic; + } + if (input.ThresholdMetricId !== undefined) { + entries["ThresholdMetricId"] = input.ThresholdMetricId; + } if (input.OKActions !== undefined) { const memberEntries = serializeAws_queryResourceList(input.OKActions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3614,30 +3614,27 @@ const serializeAws_queryPutMetricAlarmInput = (input: PutMetricAlarmInput, conte entries[loc] = value; }); } - if (input.Namespace !== undefined) { - entries["Namespace"] = input.Namespace; - } if (input.EvaluationPeriods !== undefined) { entries["EvaluationPeriods"] = input.EvaluationPeriods; } - if (input.Metrics !== undefined) { - const memberEntries = serializeAws_queryMetricDataQueries(input.Metrics, context); + if (input.EvaluateLowSampleCountPercentile !== undefined) { + entries["EvaluateLowSampleCountPercentile"] = input.EvaluateLowSampleCountPercentile; + } + if (input.Dimensions !== undefined) { + const memberEntries = serializeAws_queryDimensions(input.Dimensions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Metrics.${key}`; + const loc = `Dimensions.${key}`; entries[loc] = value; }); } - if (input.Statistic !== undefined) { - entries["Statistic"] = input.Statistic; + if (input.ExtendedStatistic !== undefined) { + entries["ExtendedStatistic"] = input.ExtendedStatistic; } return entries; }; const serializeAws_queryPutMetricDataInput = (input: PutMetricDataInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.Namespace !== undefined) { - entries["Namespace"] = input.Namespace; - } if (input.MetricData !== undefined) { const memberEntries = serializeAws_queryMetricData(input.MetricData, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3645,17 +3642,20 @@ const serializeAws_queryPutMetricDataInput = (input: PutMetricDataInput, context entries[loc] = value; }); } + if (input.Namespace !== undefined) { + entries["Namespace"] = input.Namespace; + } return entries; }; const serializeAws_queryRange = (input: Range, context: __SerdeContext): any => { const entries: any = {}; - 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.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + } return entries; }; @@ -3671,18 +3671,18 @@ const serializeAws_queryResourceList = (input: string[], context: __SerdeContext const serializeAws_querySetAlarmStateInput = (input: SetAlarmStateInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.StateReason !== undefined) { - entries["StateReason"] = input.StateReason; - } - if (input.StateReasonData !== undefined) { - entries["StateReasonData"] = input.StateReasonData; - } if (input.StateValue !== undefined) { entries["StateValue"] = input.StateValue; } if (input.AlarmName !== undefined) { entries["AlarmName"] = input.AlarmName; } + if (input.StateReason !== undefined) { + entries["StateReason"] = input.StateReason; + } + if (input.StateReasonData !== undefined) { + entries["StateReasonData"] = input.StateReasonData; + } return entries; }; @@ -3698,29 +3698,29 @@ const serializeAws_queryStatistics = (input: (Statistic | string)[], context: __ const serializeAws_queryStatisticSet = (input: StatisticSet, context: __SerdeContext): any => { const entries: any = {}; - if (input.Minimum !== undefined) { - entries["Minimum"] = input.Minimum; + if (input.Sum !== undefined) { + entries["Sum"] = input.Sum; } if (input.Maximum !== undefined) { entries["Maximum"] = input.Maximum; } + if (input.Minimum !== undefined) { + entries["Minimum"] = input.Minimum; + } if (input.SampleCount !== undefined) { entries["SampleCount"] = input.SampleCount; } - if (input.Sum !== undefined) { - entries["Sum"] = input.Sum; - } return entries; }; const serializeAws_queryTag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Key !== undefined) { - entries["Key"] = input.Key; - } if (input.Value !== undefined) { entries["Value"] = input.Value; } + if (input.Key !== undefined) { + entries["Key"] = input.Key; + } return entries; }; @@ -3764,9 +3764,6 @@ const serializeAws_queryTagResourceInput = (input: TagResourceInput, context: __ const serializeAws_queryUntagResourceInput = (input: UntagResourceInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.ResourceARN !== undefined) { - entries["ResourceARN"] = input.ResourceARN; - } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3774,6 +3771,9 @@ const serializeAws_queryUntagResourceInput = (input: UntagResourceInput, context entries[loc] = value; }); } + if (input.ResourceARN !== undefined) { + entries["ResourceARN"] = input.ResourceARN; + } return entries; }; @@ -3789,30 +3789,30 @@ const serializeAws_queryValues = (input: number[], context: __SerdeContext): any const deserializeAws_queryAlarmHistoryItem = (output: any, context: __SerdeContext): AlarmHistoryItem => { let contents: any = { - HistoryData: undefined, - Timestamp: undefined, HistorySummary: undefined, HistoryItemType: undefined, - AlarmName: undefined, AlarmType: undefined, + HistoryData: undefined, + AlarmName: undefined, + Timestamp: undefined, }; - if (output["HistoryData"] !== undefined) { - contents.HistoryData = output["HistoryData"]; - } - if (output["Timestamp"] !== undefined) { - contents.Timestamp = new Date(output["Timestamp"]); - } if (output["HistorySummary"] !== undefined) { contents.HistorySummary = output["HistorySummary"]; } if (output["HistoryItemType"] !== undefined) { contents.HistoryItemType = output["HistoryItemType"]; } + if (output["AlarmType"] !== undefined) { + contents.AlarmType = output["AlarmType"]; + } + if (output["HistoryData"] !== undefined) { + contents.HistoryData = output["HistoryData"]; + } if (output["AlarmName"] !== undefined) { contents.AlarmName = output["AlarmName"]; } - if (output["AlarmType"] !== undefined) { - contents.AlarmType = output["AlarmType"]; + if (output["Timestamp"] !== undefined) { + contents.Timestamp = new Date(output["Timestamp"]); } return contents; }; @@ -3823,13 +3823,22 @@ const deserializeAws_queryAlarmHistoryItems = (output: any, context: __SerdeCont const deserializeAws_queryAnomalyDetector = (output: any, context: __SerdeContext): AnomalyDetector => { let contents: any = { - StateValue: undefined, - Dimensions: undefined, - Namespace: undefined, MetricName: undefined, Stat: undefined, Configuration: undefined, + StateValue: undefined, + Dimensions: undefined, + Namespace: undefined, }; + if (output["MetricName"] !== undefined) { + contents.MetricName = output["MetricName"]; + } + if (output["Stat"] !== undefined) { + contents.Stat = output["Stat"]; + } + if (output["Configuration"] !== undefined) { + contents.Configuration = deserializeAws_queryAnomalyDetectorConfiguration(output["Configuration"], context); + } if (output["StateValue"] !== undefined) { contents.StateValue = output["StateValue"]; } @@ -3845,15 +3854,6 @@ const deserializeAws_queryAnomalyDetector = (output: any, context: __SerdeContex if (output["Namespace"] !== undefined) { contents.Namespace = output["Namespace"]; } - if (output["MetricName"] !== undefined) { - contents.MetricName = output["MetricName"]; - } - if (output["Stat"] !== undefined) { - contents.Stat = output["Stat"]; - } - if (output["Configuration"] !== undefined) { - contents.Configuration = deserializeAws_queryAnomalyDetectorConfiguration(output["Configuration"], context); - } return contents; }; @@ -3862,12 +3862,9 @@ const deserializeAws_queryAnomalyDetectorConfiguration = ( context: __SerdeContext ): AnomalyDetectorConfiguration => { let contents: any = { - MetricTimezone: undefined, ExcludedTimeRanges: undefined, + MetricTimezone: undefined, }; - if (output["MetricTimezone"] !== undefined) { - contents.MetricTimezone = output["MetricTimezone"]; - } if (output.ExcludedTimeRanges === "") { contents.ExcludedTimeRanges = []; } @@ -3877,6 +3874,9 @@ const deserializeAws_queryAnomalyDetectorConfiguration = ( context ); } + if (output["MetricTimezone"] !== undefined) { + contents.MetricTimezone = output["MetricTimezone"]; + } return contents; }; @@ -3894,32 +3894,26 @@ const deserializeAws_queryBatchFailures = (output: any, context: __SerdeContext) const deserializeAws_queryCompositeAlarm = (output: any, context: __SerdeContext): CompositeAlarm => { let contents: any = { - AlarmRule: undefined, - StateReasonData: undefined, - StateValue: undefined, AlarmArn: undefined, + StateReasonData: undefined, InsufficientDataActions: undefined, - ActionsEnabled: undefined, - StateReason: undefined, - AlarmName: undefined, OKActions: undefined, + AlarmRule: undefined, + StateValue: undefined, + StateReason: undefined, + AlarmDescription: undefined, + ActionsEnabled: undefined, + AlarmActions: undefined, AlarmConfigurationUpdatedTimestamp: undefined, StateUpdatedTimestamp: undefined, - AlarmActions: undefined, - AlarmDescription: undefined, + AlarmName: undefined, }; - if (output["AlarmRule"] !== undefined) { - contents.AlarmRule = output["AlarmRule"]; + if (output["AlarmArn"] !== undefined) { + contents.AlarmArn = output["AlarmArn"]; } if (output["StateReasonData"] !== undefined) { contents.StateReasonData = output["StateReasonData"]; } - if (output["StateValue"] !== undefined) { - contents.StateValue = output["StateValue"]; - } - if (output["AlarmArn"] !== undefined) { - contents.AlarmArn = output["AlarmArn"]; - } if (output.InsufficientDataActions === "") { contents.InsufficientDataActions = []; } @@ -3929,15 +3923,6 @@ const deserializeAws_queryCompositeAlarm = (output: any, context: __SerdeContext context ); } - if (output["ActionsEnabled"] !== undefined) { - contents.ActionsEnabled = output["ActionsEnabled"] == "true"; - } - if (output["StateReason"] !== undefined) { - contents.StateReason = output["StateReason"]; - } - if (output["AlarmName"] !== undefined) { - contents.AlarmName = output["AlarmName"]; - } if (output.OKActions === "") { contents.OKActions = []; } @@ -3947,11 +3932,20 @@ const deserializeAws_queryCompositeAlarm = (output: any, context: __SerdeContext context ); } - if (output["AlarmConfigurationUpdatedTimestamp"] !== undefined) { - contents.AlarmConfigurationUpdatedTimestamp = new Date(output["AlarmConfigurationUpdatedTimestamp"]); + if (output["AlarmRule"] !== undefined) { + contents.AlarmRule = output["AlarmRule"]; } - if (output["StateUpdatedTimestamp"] !== undefined) { - contents.StateUpdatedTimestamp = new Date(output["StateUpdatedTimestamp"]); + if (output["StateValue"] !== undefined) { + contents.StateValue = output["StateValue"]; + } + if (output["StateReason"] !== undefined) { + contents.StateReason = output["StateReason"]; + } + if (output["AlarmDescription"] !== undefined) { + contents.AlarmDescription = output["AlarmDescription"]; + } + if (output["ActionsEnabled"] !== undefined) { + contents.ActionsEnabled = output["ActionsEnabled"] == "true"; } if (output.AlarmActions === "") { contents.AlarmActions = []; @@ -3962,8 +3956,14 @@ const deserializeAws_queryCompositeAlarm = (output: any, context: __SerdeContext context ); } - if (output["AlarmDescription"] !== undefined) { - contents.AlarmDescription = output["AlarmDescription"]; + if (output["AlarmConfigurationUpdatedTimestamp"] !== undefined) { + contents.AlarmConfigurationUpdatedTimestamp = new Date(output["AlarmConfigurationUpdatedTimestamp"]); + } + if (output["StateUpdatedTimestamp"] !== undefined) { + contents.StateUpdatedTimestamp = new Date(output["StateUpdatedTimestamp"]); + } + if (output["AlarmName"] !== undefined) { + contents.AlarmName = output["AlarmName"]; } return contents; }; @@ -3991,14 +3991,11 @@ const deserializeAws_queryDashboardEntries = (output: any, context: __SerdeConte const deserializeAws_queryDashboardEntry = (output: any, context: __SerdeContext): DashboardEntry => { let contents: any = { - Size: undefined, LastModified: undefined, DashboardName: undefined, DashboardArn: undefined, + Size: undefined, }; - if (output["Size"] !== undefined) { - contents.Size = parseInt(output["Size"]); - } if (output["LastModified"] !== undefined) { contents.LastModified = new Date(output["LastModified"]); } @@ -4008,6 +4005,9 @@ const deserializeAws_queryDashboardEntry = (output: any, context: __SerdeContext if (output["DashboardArn"] !== undefined) { contents.DashboardArn = output["DashboardArn"]; } + if (output["Size"] !== undefined) { + contents.Size = parseInt(output["Size"]); + } return contents; }; @@ -4016,9 +4016,12 @@ const deserializeAws_queryDashboardInvalidInputError = ( context: __SerdeContext ): DashboardInvalidInputError => { let contents: any = { - dashboardValidationMessages: undefined, message: undefined, + dashboardValidationMessages: undefined, }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } if (output.dashboardValidationMessages === "") { contents.dashboardValidationMessages = []; } @@ -4031,9 +4034,6 @@ const deserializeAws_queryDashboardInvalidInputError = ( context ); } - if (output["message"] !== undefined) { - contents.message = output["message"]; - } return contents; }; @@ -4052,15 +4052,15 @@ const deserializeAws_queryDashboardValidationMessage = ( context: __SerdeContext ): DashboardValidationMessage => { let contents: any = { - Message: undefined, DataPath: undefined, + Message: undefined, }; - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; - } if (output["DataPath"] !== undefined) { contents.DataPath = output["DataPath"]; } + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; + } return contents; }; @@ -4073,27 +4073,36 @@ const deserializeAws_queryDashboardValidationMessages = ( const deserializeAws_queryDatapoint = (output: any, context: __SerdeContext): Datapoint => { let contents: any = { - Minimum: undefined, Unit: undefined, - Sum: undefined, - Timestamp: undefined, - ExtendedStatistics: undefined, - SampleCount: undefined, Maximum: undefined, + Timestamp: undefined, Average: undefined, + SampleCount: undefined, + Minimum: undefined, + Sum: undefined, + ExtendedStatistics: undefined, }; - if (output["Minimum"] !== undefined) { - contents.Minimum = parseFloat(output["Minimum"]); - } if (output["Unit"] !== undefined) { contents.Unit = output["Unit"]; } - if (output["Sum"] !== undefined) { - contents.Sum = parseFloat(output["Sum"]); + if (output["Maximum"] !== undefined) { + contents.Maximum = parseFloat(output["Maximum"]); } if (output["Timestamp"] !== undefined) { contents.Timestamp = new Date(output["Timestamp"]); } + if (output["Average"] !== undefined) { + contents.Average = parseFloat(output["Average"]); + } + if (output["SampleCount"] !== undefined) { + contents.SampleCount = parseFloat(output["SampleCount"]); + } + if (output["Minimum"] !== undefined) { + contents.Minimum = parseFloat(output["Minimum"]); + } + if (output["Sum"] !== undefined) { + contents.Sum = parseFloat(output["Sum"]); + } if (output.ExtendedStatistics === "") { contents.ExtendedStatistics = {}; } @@ -4103,15 +4112,6 @@ const deserializeAws_queryDatapoint = (output: any, context: __SerdeContext): Da context ); } - if (output["SampleCount"] !== undefined) { - contents.SampleCount = parseFloat(output["SampleCount"]); - } - if (output["Maximum"] !== undefined) { - contents.Maximum = parseFloat(output["Maximum"]); - } - if (output["Average"] !== undefined) { - contents.Average = parseFloat(output["Average"]); - } return contents; }; @@ -4209,13 +4209,10 @@ const deserializeAws_queryDescribeAlarmsForMetricOutput = ( const deserializeAws_queryDescribeAlarmsOutput = (output: any, context: __SerdeContext): DescribeAlarmsOutput => { let contents: any = { - NextToken: undefined, MetricAlarms: undefined, CompositeAlarms: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.MetricAlarms === "") { contents.MetricAlarms = []; } @@ -4234,6 +4231,9 @@ const deserializeAws_queryDescribeAlarmsOutput = (output: any, context: __SerdeC context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -4242,9 +4242,12 @@ const deserializeAws_queryDescribeAnomalyDetectorsOutput = ( context: __SerdeContext ): DescribeAnomalyDetectorsOutput => { let contents: any = { - AnomalyDetectors: undefined, NextToken: undefined, + AnomalyDetectors: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.AnomalyDetectors === "") { contents.AnomalyDetectors = []; } @@ -4254,9 +4257,6 @@ const deserializeAws_queryDescribeAnomalyDetectorsOutput = ( context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -4265,9 +4265,12 @@ const deserializeAws_queryDescribeInsightRulesOutput = ( context: __SerdeContext ): DescribeInsightRulesOutput => { let contents: any = { - InsightRules: undefined, NextToken: undefined, + InsightRules: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.InsightRules === "") { contents.InsightRules = []; } @@ -4277,9 +4280,6 @@ const deserializeAws_queryDescribeInsightRulesOutput = ( context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -4341,19 +4341,19 @@ const deserializeAws_queryEnableInsightRulesOutput = ( const deserializeAws_queryGetDashboardOutput = (output: any, context: __SerdeContext): GetDashboardOutput => { let contents: any = { - DashboardArn: undefined, DashboardBody: undefined, DashboardName: undefined, + DashboardArn: undefined, }; - if (output["DashboardArn"] !== undefined) { - contents.DashboardArn = output["DashboardArn"]; - } if (output["DashboardBody"] !== undefined) { contents.DashboardBody = output["DashboardBody"]; } if (output["DashboardName"] !== undefined) { contents.DashboardName = output["DashboardName"]; } + if (output["DashboardArn"] !== undefined) { + contents.DashboardArn = output["DashboardArn"]; + } return contents; }; @@ -4362,16 +4362,31 @@ const deserializeAws_queryGetInsightRuleReportOutput = ( context: __SerdeContext ): GetInsightRuleReportOutput => { let contents: any = { + MetricDatapoints: undefined, + ApproximateUniqueCount: undefined, AggregationStatistic: undefined, - Contributors: undefined, AggregateValue: undefined, - MetricDatapoints: undefined, + Contributors: undefined, KeyLabels: undefined, - ApproximateUniqueCount: undefined, }; + if (output.MetricDatapoints === "") { + contents.MetricDatapoints = []; + } + if (output["MetricDatapoints"] !== undefined && output["MetricDatapoints"]["member"] !== undefined) { + contents.MetricDatapoints = deserializeAws_queryInsightRuleMetricDatapoints( + __getArrayIfSingleItem(output["MetricDatapoints"]["member"]), + context + ); + } + if (output["ApproximateUniqueCount"] !== undefined) { + contents.ApproximateUniqueCount = parseInt(output["ApproximateUniqueCount"]); + } if (output["AggregationStatistic"] !== undefined) { contents.AggregationStatistic = output["AggregationStatistic"]; } + if (output["AggregateValue"] !== undefined) { + contents.AggregateValue = parseFloat(output["AggregateValue"]); + } if (output.Contributors === "") { contents.Contributors = []; } @@ -4381,18 +4396,6 @@ const deserializeAws_queryGetInsightRuleReportOutput = ( context ); } - if (output["AggregateValue"] !== undefined) { - contents.AggregateValue = parseFloat(output["AggregateValue"]); - } - if (output.MetricDatapoints === "") { - contents.MetricDatapoints = []; - } - if (output["MetricDatapoints"] !== undefined && output["MetricDatapoints"]["member"] !== undefined) { - contents.MetricDatapoints = deserializeAws_queryInsightRuleMetricDatapoints( - __getArrayIfSingleItem(output["MetricDatapoints"]["member"]), - context - ); - } if (output.KeyLabels === "") { contents.KeyLabels = []; } @@ -4402,18 +4405,18 @@ const deserializeAws_queryGetInsightRuleReportOutput = ( context ); } - if (output["ApproximateUniqueCount"] !== undefined) { - contents.ApproximateUniqueCount = parseInt(output["ApproximateUniqueCount"]); - } return contents; }; const deserializeAws_queryGetMetricDataOutput = (output: any, context: __SerdeContext): GetMetricDataOutput => { let contents: any = { + NextToken: undefined, Messages: undefined, MetricDataResults: undefined, - NextToken: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.Messages === "") { contents.Messages = []; } @@ -4432,9 +4435,6 @@ const deserializeAws_queryGetMetricDataOutput = (output: any, context: __SerdeCo context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -4476,32 +4476,35 @@ const deserializeAws_queryGetMetricWidgetImageOutput = ( const deserializeAws_queryInsightRule = (output: any, context: __SerdeContext): InsightRule => { let contents: any = { - State: undefined, - Schema: undefined, Name: undefined, + Schema: undefined, Definition: undefined, + State: undefined, }; - if (output["State"] !== undefined) { - contents.State = output["State"]; + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; } if (output["Schema"] !== undefined) { contents.Schema = output["Schema"]; } - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } if (output["Definition"] !== undefined) { contents.Definition = output["Definition"]; } + if (output["State"] !== undefined) { + contents.State = output["State"]; + } return contents; }; const deserializeAws_queryInsightRuleContributor = (output: any, context: __SerdeContext): InsightRuleContributor => { let contents: any = { + ApproximateAggregateValue: undefined, Keys: undefined, Datapoints: undefined, - ApproximateAggregateValue: undefined, }; + if (output["ApproximateAggregateValue"] !== undefined) { + contents.ApproximateAggregateValue = parseFloat(output["ApproximateAggregateValue"]); + } if (output.Keys === "") { contents.Keys = []; } @@ -4520,9 +4523,6 @@ const deserializeAws_queryInsightRuleContributor = (output: any, context: __Serd context ); } - if (output["ApproximateAggregateValue"] !== undefined) { - contents.ApproximateAggregateValue = parseFloat(output["ApproximateAggregateValue"]); - } return contents; }; @@ -4531,15 +4531,15 @@ const deserializeAws_queryInsightRuleContributorDatapoint = ( context: __SerdeContext ): InsightRuleContributorDatapoint => { let contents: any = { - ApproximateValue: undefined, Timestamp: undefined, + ApproximateValue: undefined, }; - if (output["ApproximateValue"] !== undefined) { - contents.ApproximateValue = parseFloat(output["ApproximateValue"]); - } if (output["Timestamp"] !== undefined) { contents.Timestamp = new Date(output["Timestamp"]); } + if (output["ApproximateValue"] !== undefined) { + contents.ApproximateValue = parseFloat(output["ApproximateValue"]); + } return contents; }; @@ -4570,38 +4570,38 @@ const deserializeAws_queryInsightRuleMetricDatapoint = ( context: __SerdeContext ): InsightRuleMetricDatapoint => { let contents: any = { - Minimum: undefined, - SampleCount: undefined, - UniqueContributors: undefined, + MaxContributorValue: undefined, Maximum: undefined, - Average: undefined, Timestamp: undefined, Sum: undefined, - MaxContributorValue: undefined, + Minimum: undefined, + UniqueContributors: undefined, + Average: undefined, + SampleCount: undefined, }; - if (output["Minimum"] !== undefined) { - contents.Minimum = parseFloat(output["Minimum"]); - } - if (output["SampleCount"] !== undefined) { - contents.SampleCount = parseFloat(output["SampleCount"]); - } - if (output["UniqueContributors"] !== undefined) { - contents.UniqueContributors = parseFloat(output["UniqueContributors"]); + if (output["MaxContributorValue"] !== undefined) { + contents.MaxContributorValue = parseFloat(output["MaxContributorValue"]); } if (output["Maximum"] !== undefined) { contents.Maximum = parseFloat(output["Maximum"]); } - if (output["Average"] !== undefined) { - contents.Average = parseFloat(output["Average"]); - } if (output["Timestamp"] !== undefined) { contents.Timestamp = new Date(output["Timestamp"]); } if (output["Sum"] !== undefined) { contents.Sum = parseFloat(output["Sum"]); } - if (output["MaxContributorValue"] !== undefined) { - contents.MaxContributorValue = parseFloat(output["MaxContributorValue"]); + if (output["Minimum"] !== undefined) { + contents.Minimum = parseFloat(output["Minimum"]); + } + if (output["UniqueContributors"] !== undefined) { + contents.UniqueContributors = parseFloat(output["UniqueContributors"]); + } + if (output["Average"] !== undefined) { + contents.Average = parseFloat(output["Average"]); + } + if (output["SampleCount"] !== undefined) { + contents.SampleCount = parseFloat(output["SampleCount"]); } return contents; }; @@ -4695,9 +4695,12 @@ const deserializeAws_queryLimitExceededFault = (output: any, context: __SerdeCon const deserializeAws_queryListDashboardsOutput = (output: any, context: __SerdeContext): ListDashboardsOutput => { let contents: any = { - DashboardEntries: undefined, NextToken: undefined, + DashboardEntries: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.DashboardEntries === "") { contents.DashboardEntries = []; } @@ -4707,9 +4710,6 @@ const deserializeAws_queryListDashboardsOutput = (output: any, context: __SerdeC context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -4748,30 +4748,27 @@ const deserializeAws_queryListTagsForResourceOutput = ( const deserializeAws_queryMessageData = (output: any, context: __SerdeContext): MessageData => { let contents: any = { - Value: undefined, Code: undefined, + Value: undefined, }; - if (output["Value"] !== undefined) { - contents.Value = output["Value"]; - } if (output["Code"] !== undefined) { contents.Code = output["Code"]; } + if (output["Value"] !== undefined) { + contents.Value = output["Value"]; + } return contents; }; const deserializeAws_queryMetric = (output: any, context: __SerdeContext): Metric => { let contents: any = { Namespace: undefined, - MetricName: undefined, Dimensions: undefined, + MetricName: undefined, }; if (output["Namespace"] !== undefined) { contents.Namespace = output["Namespace"]; } - if (output["MetricName"] !== undefined) { - contents.MetricName = output["MetricName"]; - } if (output.Dimensions === "") { contents.Dimensions = []; } @@ -4781,59 +4778,68 @@ const deserializeAws_queryMetric = (output: any, context: __SerdeContext): Metri context ); } + if (output["MetricName"] !== undefined) { + contents.MetricName = output["MetricName"]; + } return contents; }; const deserializeAws_queryMetricAlarm = (output: any, context: __SerdeContext): MetricAlarm => { let contents: any = { + TreatMissingData: undefined, + EvaluateLowSampleCountPercentile: undefined, + ExtendedStatistic: undefined, + AlarmArn: undefined, + ActionsEnabled: undefined, + DatapointsToAlarm: undefined, + Metrics: undefined, + AlarmActions: undefined, AlarmDescription: undefined, - StateValue: undefined, + Statistic: undefined, + Unit: undefined, + Namespace: undefined, + OKActions: undefined, + StateReasonData: undefined, InsufficientDataActions: undefined, - MetricName: undefined, ThresholdMetricId: undefined, - AlarmActions: undefined, + StateValue: undefined, + ComparisonOperator: undefined, + StateUpdatedTimestamp: undefined, + Threshold: undefined, AlarmName: undefined, + MetricName: undefined, Period: undefined, + StateReason: undefined, EvaluationPeriods: undefined, - StateReasonData: undefined, AlarmConfigurationUpdatedTimestamp: undefined, - StateReason: undefined, - AlarmArn: undefined, Dimensions: undefined, - ActionsEnabled: undefined, - Namespace: undefined, - ExtendedStatistic: undefined, - EvaluateLowSampleCountPercentile: undefined, - TreatMissingData: undefined, - StateUpdatedTimestamp: undefined, - DatapointsToAlarm: undefined, - Unit: undefined, - ComparisonOperator: undefined, - Threshold: undefined, - OKActions: undefined, - Metrics: undefined, - Statistic: undefined, }; - if (output["AlarmDescription"] !== undefined) { - contents.AlarmDescription = output["AlarmDescription"]; + if (output["TreatMissingData"] !== undefined) { + contents.TreatMissingData = output["TreatMissingData"]; } - if (output["StateValue"] !== undefined) { - contents.StateValue = output["StateValue"]; + if (output["EvaluateLowSampleCountPercentile"] !== undefined) { + contents.EvaluateLowSampleCountPercentile = output["EvaluateLowSampleCountPercentile"]; } - if (output.InsufficientDataActions === "") { - contents.InsufficientDataActions = []; + if (output["ExtendedStatistic"] !== undefined) { + contents.ExtendedStatistic = output["ExtendedStatistic"]; } - if (output["InsufficientDataActions"] !== undefined && output["InsufficientDataActions"]["member"] !== undefined) { - contents.InsufficientDataActions = deserializeAws_queryResourceList( - __getArrayIfSingleItem(output["InsufficientDataActions"]["member"]), - context - ); + if (output["AlarmArn"] !== undefined) { + contents.AlarmArn = output["AlarmArn"]; } - if (output["MetricName"] !== undefined) { - contents.MetricName = output["MetricName"]; + if (output["ActionsEnabled"] !== undefined) { + contents.ActionsEnabled = output["ActionsEnabled"] == "true"; } - if (output["ThresholdMetricId"] !== undefined) { - contents.ThresholdMetricId = output["ThresholdMetricId"]; + if (output["DatapointsToAlarm"] !== undefined) { + contents.DatapointsToAlarm = parseInt(output["DatapointsToAlarm"]); + } + if (output.Metrics === "") { + contents.Metrics = []; + } + if (output["Metrics"] !== undefined && output["Metrics"]["member"] !== undefined) { + contents.Metrics = deserializeAws_queryMetricDataQueries( + __getArrayIfSingleItem(output["Metrics"]["member"]), + context + ); } if (output.AlarmActions === "") { contents.AlarmActions = []; @@ -4844,87 +4850,81 @@ const deserializeAws_queryMetricAlarm = (output: any, context: __SerdeContext): context ); } - if (output["AlarmName"] !== undefined) { - contents.AlarmName = output["AlarmName"]; + if (output["AlarmDescription"] !== undefined) { + contents.AlarmDescription = output["AlarmDescription"]; } - if (output["Period"] !== undefined) { - contents.Period = parseInt(output["Period"]); + if (output["Statistic"] !== undefined) { + contents.Statistic = output["Statistic"]; } - if (output["EvaluationPeriods"] !== undefined) { - contents.EvaluationPeriods = parseInt(output["EvaluationPeriods"]); + if (output["Unit"] !== undefined) { + contents.Unit = output["Unit"]; } - if (output["StateReasonData"] !== undefined) { - contents.StateReasonData = output["StateReasonData"]; + if (output["Namespace"] !== undefined) { + contents.Namespace = output["Namespace"]; } - if (output["AlarmConfigurationUpdatedTimestamp"] !== undefined) { - contents.AlarmConfigurationUpdatedTimestamp = new Date(output["AlarmConfigurationUpdatedTimestamp"]); + if (output.OKActions === "") { + contents.OKActions = []; } - if (output["StateReason"] !== undefined) { - contents.StateReason = output["StateReason"]; + if (output["OKActions"] !== undefined && output["OKActions"]["member"] !== undefined) { + contents.OKActions = deserializeAws_queryResourceList( + __getArrayIfSingleItem(output["OKActions"]["member"]), + context + ); } - if (output["AlarmArn"] !== undefined) { - contents.AlarmArn = output["AlarmArn"]; + if (output["StateReasonData"] !== undefined) { + contents.StateReasonData = output["StateReasonData"]; } - if (output.Dimensions === "") { - contents.Dimensions = []; + if (output.InsufficientDataActions === "") { + contents.InsufficientDataActions = []; } - if (output["Dimensions"] !== undefined && output["Dimensions"]["member"] !== undefined) { - contents.Dimensions = deserializeAws_queryDimensions( - __getArrayIfSingleItem(output["Dimensions"]["member"]), + if (output["InsufficientDataActions"] !== undefined && output["InsufficientDataActions"]["member"] !== undefined) { + contents.InsufficientDataActions = deserializeAws_queryResourceList( + __getArrayIfSingleItem(output["InsufficientDataActions"]["member"]), context ); } - if (output["ActionsEnabled"] !== undefined) { - contents.ActionsEnabled = output["ActionsEnabled"] == "true"; - } - if (output["Namespace"] !== undefined) { - contents.Namespace = output["Namespace"]; - } - if (output["ExtendedStatistic"] !== undefined) { - contents.ExtendedStatistic = output["ExtendedStatistic"]; + if (output["ThresholdMetricId"] !== undefined) { + contents.ThresholdMetricId = output["ThresholdMetricId"]; } - if (output["EvaluateLowSampleCountPercentile"] !== undefined) { - contents.EvaluateLowSampleCountPercentile = output["EvaluateLowSampleCountPercentile"]; + if (output["StateValue"] !== undefined) { + contents.StateValue = output["StateValue"]; } - if (output["TreatMissingData"] !== undefined) { - contents.TreatMissingData = output["TreatMissingData"]; + if (output["ComparisonOperator"] !== undefined) { + contents.ComparisonOperator = output["ComparisonOperator"]; } if (output["StateUpdatedTimestamp"] !== undefined) { contents.StateUpdatedTimestamp = new Date(output["StateUpdatedTimestamp"]); } - if (output["DatapointsToAlarm"] !== undefined) { - contents.DatapointsToAlarm = parseInt(output["DatapointsToAlarm"]); + if (output["Threshold"] !== undefined) { + contents.Threshold = parseFloat(output["Threshold"]); } - if (output["Unit"] !== undefined) { - contents.Unit = output["Unit"]; + if (output["AlarmName"] !== undefined) { + contents.AlarmName = output["AlarmName"]; } - if (output["ComparisonOperator"] !== undefined) { - contents.ComparisonOperator = output["ComparisonOperator"]; + if (output["MetricName"] !== undefined) { + contents.MetricName = output["MetricName"]; } - if (output["Threshold"] !== undefined) { - contents.Threshold = parseFloat(output["Threshold"]); + if (output["Period"] !== undefined) { + contents.Period = parseInt(output["Period"]); } - if (output.OKActions === "") { - contents.OKActions = []; + if (output["StateReason"] !== undefined) { + contents.StateReason = output["StateReason"]; } - if (output["OKActions"] !== undefined && output["OKActions"]["member"] !== undefined) { - contents.OKActions = deserializeAws_queryResourceList( - __getArrayIfSingleItem(output["OKActions"]["member"]), - context - ); + if (output["EvaluationPeriods"] !== undefined) { + contents.EvaluationPeriods = parseInt(output["EvaluationPeriods"]); } - if (output.Metrics === "") { - contents.Metrics = []; + if (output["AlarmConfigurationUpdatedTimestamp"] !== undefined) { + contents.AlarmConfigurationUpdatedTimestamp = new Date(output["AlarmConfigurationUpdatedTimestamp"]); } - if (output["Metrics"] !== undefined && output["Metrics"]["member"] !== undefined) { - contents.Metrics = deserializeAws_queryMetricDataQueries( - __getArrayIfSingleItem(output["Metrics"]["member"]), + if (output.Dimensions === "") { + contents.Dimensions = []; + } + if (output["Dimensions"] !== undefined && output["Dimensions"]["member"] !== undefined) { + contents.Dimensions = deserializeAws_queryDimensions( + __getArrayIfSingleItem(output["Dimensions"]["member"]), context ); } - if (output["Statistic"] !== undefined) { - contents.Statistic = output["Statistic"]; - } return contents; }; @@ -4938,46 +4938,43 @@ const deserializeAws_queryMetricDataQueries = (output: any, context: __SerdeCont const deserializeAws_queryMetricDataQuery = (output: any, context: __SerdeContext): MetricDataQuery => { let contents: any = { - Expression: undefined, - Period: undefined, - ReturnData: undefined, - Id: undefined, MetricStat: undefined, Label: undefined, + Expression: undefined, + Id: undefined, + ReturnData: undefined, + Period: undefined, }; - if (output["Expression"] !== undefined) { - contents.Expression = output["Expression"]; + if (output["MetricStat"] !== undefined) { + contents.MetricStat = deserializeAws_queryMetricStat(output["MetricStat"], context); } - if (output["Period"] !== undefined) { - contents.Period = parseInt(output["Period"]); + if (output["Label"] !== undefined) { + contents.Label = output["Label"]; } - if (output["ReturnData"] !== undefined) { - contents.ReturnData = output["ReturnData"] == "true"; + if (output["Expression"] !== undefined) { + contents.Expression = output["Expression"]; } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } - if (output["MetricStat"] !== undefined) { - contents.MetricStat = deserializeAws_queryMetricStat(output["MetricStat"], context); + if (output["ReturnData"] !== undefined) { + contents.ReturnData = output["ReturnData"] == "true"; } - if (output["Label"] !== undefined) { - contents.Label = output["Label"]; + if (output["Period"] !== undefined) { + contents.Period = parseInt(output["Period"]); } return contents; }; const deserializeAws_queryMetricDataResult = (output: any, context: __SerdeContext): MetricDataResult => { let contents: any = { - StatusCode: undefined, Messages: undefined, - Timestamps: undefined, - Id: undefined, Label: undefined, + StatusCode: undefined, Values: undefined, + Id: undefined, + Timestamps: undefined, }; - if (output["StatusCode"] !== undefined) { - contents.StatusCode = output["StatusCode"]; - } if (output.Messages === "") { contents.Messages = []; } @@ -4987,27 +4984,30 @@ const deserializeAws_queryMetricDataResult = (output: any, context: __SerdeConte context ); } - if (output.Timestamps === "") { - contents.Timestamps = []; - } - if (output["Timestamps"] !== undefined && output["Timestamps"]["member"] !== undefined) { - contents.Timestamps = deserializeAws_queryTimestamps( - __getArrayIfSingleItem(output["Timestamps"]["member"]), - context - ); - } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; - } if (output["Label"] !== undefined) { contents.Label = output["Label"]; } + if (output["StatusCode"] !== undefined) { + contents.StatusCode = output["StatusCode"]; + } if (output.Values === "") { contents.Values = []; } if (output["Values"] !== undefined && output["Values"]["member"] !== undefined) { contents.Values = deserializeAws_queryDatapointValues(__getArrayIfSingleItem(output["Values"]["member"]), context); } + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; + } + if (output.Timestamps === "") { + contents.Timestamps = []; + } + if (output["Timestamps"] !== undefined && output["Timestamps"]["member"] !== undefined) { + contents.Timestamps = deserializeAws_queryTimestamps( + __getArrayIfSingleItem(output["Timestamps"]["member"]), + context + ); + } return contents; }; @@ -5025,17 +5025,17 @@ const deserializeAws_queryMetrics = (output: any, context: __SerdeContext): Metr const deserializeAws_queryMetricStat = (output: any, context: __SerdeContext): MetricStat => { let contents: any = { - Metric: undefined, Period: undefined, + Metric: undefined, Unit: undefined, Stat: undefined, }; - if (output["Metric"] !== undefined) { - contents.Metric = deserializeAws_queryMetric(output["Metric"], context); - } if (output["Period"] !== undefined) { contents.Period = parseInt(output["Period"]); } + if (output["Metric"] !== undefined) { + contents.Metric = deserializeAws_queryMetric(output["Metric"], context); + } if (output["Unit"] !== undefined) { contents.Unit = output["Unit"]; } @@ -5060,23 +5060,23 @@ const deserializeAws_queryMissingRequiredParameterException = ( const deserializeAws_queryPartialFailure = (output: any, context: __SerdeContext): PartialFailure => { let contents: any = { - ExceptionType: undefined, FailureResource: undefined, - FailureDescription: undefined, + ExceptionType: undefined, FailureCode: undefined, + FailureDescription: undefined, }; - if (output["ExceptionType"] !== undefined) { - contents.ExceptionType = output["ExceptionType"]; - } if (output["FailureResource"] !== undefined) { contents.FailureResource = output["FailureResource"]; } - if (output["FailureDescription"] !== undefined) { - contents.FailureDescription = output["FailureDescription"]; + if (output["ExceptionType"] !== undefined) { + contents.ExceptionType = output["ExceptionType"]; } if (output["FailureCode"] !== undefined) { contents.FailureCode = output["FailureCode"]; } + if (output["FailureDescription"] !== undefined) { + contents.FailureDescription = output["FailureDescription"]; + } return contents; }; @@ -5114,15 +5114,15 @@ const deserializeAws_queryPutInsightRuleOutput = (output: any, context: __SerdeC const deserializeAws_queryRange = (output: any, context: __SerdeContext): Range => { let contents: any = { - EndTime: undefined, StartTime: undefined, + EndTime: undefined, }; - if (output["EndTime"] !== undefined) { - contents.EndTime = new Date(output["EndTime"]); - } if (output["StartTime"] !== undefined) { contents.StartTime = new Date(output["StartTime"]); } + if (output["EndTime"] !== undefined) { + contents.EndTime = new Date(output["EndTime"]); + } return contents; }; @@ -5145,33 +5145,33 @@ const deserializeAws_queryResourceNotFoundException = ( context: __SerdeContext ): ResourceNotFoundException => { let contents: any = { - ResourceId: undefined, - ResourceType: undefined, Message: undefined, + ResourceType: undefined, + ResourceId: undefined, }; - if (output["ResourceId"] !== undefined) { - contents.ResourceId = output["ResourceId"]; + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; } if (output["ResourceType"] !== undefined) { contents.ResourceType = output["ResourceType"]; } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; + if (output["ResourceId"] !== undefined) { + contents.ResourceId = output["ResourceId"]; } return contents; }; const deserializeAws_queryTag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Key: undefined, Value: undefined, + Key: undefined, }; - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; + } return contents; }; diff --git a/clients/client-codeartifact/models/models_0.ts b/clients/client-codeartifact/models/models_0.ts index 24c99d09f55f..adfac27d67a7 100644 --- a/clients/client-codeartifact/models/models_0.ts +++ b/clients/client-codeartifact/models/models_0.ts @@ -32,6 +32,13 @@ export enum HashAlgorithm { *

              */ export interface AssetSummary { + /** + *

              + * The hashes of the asset. + *

              + */ + hashes?: { [key: string]: string }; + /** *

              * The size of the asset. @@ -45,13 +52,6 @@ export interface AssetSummary { *

              */ name: string | undefined; - - /** - *

              - * The hashes of the asset. - *

              - */ - hashes?: { [key: string]: string }; } export namespace AssetSummary { @@ -63,11 +63,10 @@ export namespace AssetSummary { export interface AssociateExternalConnectionRequest { /** *

              - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

              + * The name of the repository to which the external connection is added. + *

              */ - domainOwner?: string; + repository: string | undefined; /** *

              The name of the domain that contains the repository.

              @@ -76,10 +75,11 @@ export interface AssociateExternalConnectionRequest { /** *

              - * The name of the repository to which the external connection is added. - *

              + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

              */ - repository: string | undefined; + domainOwner?: string; /** *

              @@ -143,6 +143,11 @@ export enum ExternalConnectionStatus { *

              */ export interface RepositoryExternalConnectionInfo { + /** + *

              The name of the external connection associated with a repository.

              + */ + externalConnectionName?: string; + /** *

              * The package format associated with a repository's external connection. The valid package formats are: @@ -173,11 +178,6 @@ export interface RepositoryExternalConnectionInfo { *

              */ status?: ExternalConnectionStatus | string; - - /** - *

              The name of the external connection associated with a repository.

              - */ - externalConnectionName?: string; } export namespace RepositoryExternalConnectionInfo { @@ -213,6 +213,13 @@ export namespace UpstreamRepositoryInfo { * account.

              */ export interface RepositoryDescription { + /** + *

              A list of upstream repositories to associate with the repository. The order of the upstream repositories + * in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more + * information, see Working with upstream repositories.

              + */ + upstreams?: UpstreamRepositoryInfo[]; + /** *

              * The name of the domain that contains the repository. @@ -220,6 +227,13 @@ export interface RepositoryDescription { */ domainName?: string; + /** + *

              + * An array of external connections associated with the repository. + *

              + */ + externalConnections?: RepositoryExternalConnectionInfo[]; + /** *

              * A text description of the repository. @@ -242,20 +256,6 @@ export interface RepositoryDescription { */ domainOwner?: string; - /** - *

              A list of upstream repositories to associate with the repository. The order of the upstream repositories - * in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more - * information, see Working with upstream repositories.

              - */ - upstreams?: UpstreamRepositoryInfo[]; - - /** - *

              - * An array of external connections associated with the repository. - *

              - */ - externalConnections?: RepositoryExternalConnectionInfo[]; - /** *

              The Amazon Resource Name (ARN) of the repository.

              */ @@ -304,21 +304,20 @@ export enum ResourceType { export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; $fault: "client"; + message: string | undefined; /** *

              - * The type of AWS resource. + * The ID of the resource. *

              */ - resourceType?: ResourceType | string; + resourceId?: string; /** *

              - * The ID of the resource. + * The type of AWS resource. *

              */ - resourceId?: string; - - message: string | undefined; + resourceType?: ResourceType | string; } export namespace ConflictException { @@ -350,21 +349,20 @@ export namespace InternalServerException { export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; + message: string | undefined; /** *

              - * The ID of the resource. + * The type of AWS resource. *

              */ - resourceId?: string; + resourceType?: ResourceType | string; /** *

              - * The type of AWS resource. + * The ID of the resource. *

              */ - resourceType?: ResourceType | string; - - message: string | undefined; + resourceId?: string; } export namespace ResourceNotFoundException { @@ -388,13 +386,14 @@ export interface ServiceQuotaExceededException extends __SmithyException, $Metad */ resourceType?: ResourceType | string; - message: string | undefined; /** *

              * The ID of the resource. *

              */ resourceId?: string; + + message: string | undefined; } export namespace ServiceQuotaExceededException { @@ -442,14 +441,13 @@ export enum ValidationExceptionReason { export interface ValidationException extends __SmithyException, $MetadataBearer { name: "ValidationException"; $fault: "client"; + message: string | undefined; /** *

              * *

              */ reason?: ValidationExceptionReason | string; - - message: string | undefined; } export namespace ValidationException { @@ -461,40 +459,16 @@ export namespace ValidationException { export interface CopyPackageVersionsRequest { /** *

              - * The name of the domain that contains the source and destination repositories. - *

              - */ - domain: string | undefined; - - /** - *

              - * The name of the repository that contains the package versions to copy. - *

              - */ - sourceRepository: string | undefined; - - /** - *

              - * The name of the package that is copied. + * A list of key-value pairs. The keys are package versions and the values are package version revisions. A CopyPackageVersion operation + * succeeds if the specified versions in the source repository match the specified package version revision. *

              - */ - package: string | undefined; - - /** - *

              Set to true to copy packages from repositories that are upstream from the source - * repository to the destination repository. The default setting is false. For more information, - * see Working with - * upstream repositories.

              - */ - includeFromUpstream?: boolean; - - /** - *

              - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. + * + *

              + * You must specify versions or versionRevisions. You cannot specify both. *

              + * */ - domainOwner?: string; + versionRevisions?: { [key: string]: string }; /** *

              @@ -522,6 +496,14 @@ export interface CopyPackageVersionsRequest { */ namespace?: string; + /** + *

              + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

              + */ + domainOwner?: string; + /** *

              * Set to true to overwrite a package version that already exists in the destination repository. @@ -534,10 +516,27 @@ export interface CopyPackageVersionsRequest { /** *

              - * The name of the repository into which package versions are copied. + * The format of the package that is copied. The valid package types are: *

              + *
                + *
              • + *

                + * npm: A Node Package Manager (npm) package. + *

                + *
              • + *
              • + *

                + * pypi: A Python Package Index (PyPI) package. + *

                + *
              • + *
              • + *

                + * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. + *

                + *
              • + *
              */ - destinationRepository: string | undefined; + format: PackageFormat | string | undefined; /** *

              @@ -551,42 +550,41 @@ export interface CopyPackageVersionsRequest { */ versions?: string[]; + /** + *

              Set to true to copy packages from repositories that are upstream from the source + * repository to the destination repository. The default setting is false. For more information, + * see Working with + * upstream repositories.

              + */ + includeFromUpstream?: boolean; + /** *

              - * A list of key-value pairs. The keys are package versions and the values are package version revisions. A CopyPackageVersion operation - * succeeds if the specified versions in the source repository match the specified package version revision. + * The name of the repository that contains the package versions to copy. + *

              + */ + sourceRepository: string | undefined; + + /** + *

              + * The name of the package that is copied. *

              - * - *

              - * You must specify versions or versionRevisions. You cannot specify both. + */ + package: string | undefined; + + /** + *

              + * The name of the domain that contains the source and destination repositories. *

              - *
              */ - versionRevisions?: { [key: string]: string }; + domain: string | undefined; /** *

              - * The format of the package that is copied. The valid package types are: + * The name of the repository into which package versions are copied. *

              - *
                - *
              • - *

                - * npm: A Node Package Manager (npm) package. - *

                - *
              • - *
              • - *

                - * pypi: A Python Package Index (PyPI) package. - *

                - *
              • - *
              • - *

                - * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. - *

                - *
              • - *
              */ - format: PackageFormat | string | undefined; + destinationRepository: string | undefined; } export namespace CopyPackageVersionsRequest { @@ -676,13 +674,6 @@ export enum PackageVersionStatus { *

              */ export interface SuccessfulPackageVersionInfo { - /** - *

              - * The revision of a package version. - *

              - */ - revision?: string; - /** *

              * The status of a package version. Valid statuses are: @@ -716,6 +707,13 @@ export interface SuccessfulPackageVersionInfo { *

            */ status?: PackageVersionStatus | string; + + /** + *

            + * The revision of a package version. + *

            + */ + revision?: string; } export namespace SuccessfulPackageVersionInfo { @@ -780,13 +778,6 @@ export namespace CopyPackageVersionsResult { } export interface CreateDomainRequest { - /** - *

            The name of the domain to create. All domain names in an AWS Region that are in the - * same AWS account must be unique. The domain name is used as the prefix in DNS hostnames. Do - * not use sensitive information in a domain name because it is publicly discoverable.

            - */ - domain: string | undefined; - /** *

            The encryption key for the domain. This is used to encrypt content stored in a domain. * An encryption key can be a key ID, a key Amazon Resource Name (ARN), a key alias, or a key @@ -802,6 +793,13 @@ export interface CreateDomainRequest { * */ encryptionKey?: string; + + /** + *

            The name of the domain to create. All domain names in an AWS Region that are in the + * same AWS account must be unique. The domain name is used as the prefix in DNS hostnames. Do + * not use sensitive information in a domain name because it is publicly discoverable.

            + */ + domain: string | undefined; } export namespace CreateDomainRequest { @@ -823,16 +821,33 @@ export enum DomainStatus { */ export interface DomainDescription { /** - *

            The Amazon Resource Name (ARN) of the domain.

            + *

            The current status of a domain. The valid values are

            + *
              + *
            • + *

              + * Active + *

              + *
            • + *
            • + *

              + * Deleted + *

              + *
            • + *
            */ - arn?: string; + status?: DomainStatus | string; + + /** + *

            The ARN of an AWS Key Management Service (AWS KMS) key associated with a domain.

            + */ + encryptionKey?: string; /** *

            - * The total size of all assets in the domain. + * The number of repositories in the domain. *

            */ - assetSizeBytes?: number; + repositoryCount?: number; /** *

            The AWS account ID that owns the domain.

            @@ -841,32 +856,22 @@ export interface DomainDescription { /** *

            - * The number of repositories in the domain. + * The total size of all assets in the domain. *

            */ - repositoryCount?: number; + assetSizeBytes?: number; /** - *

            The current status of a domain. The valid values are

            - *
              - *
            • - *

              - * Active - *

              - *
            • - *
            • - *

              - * Deleted - *

              - *
            • - *
            + *

            + * A timestamp that represents the date and time the domain was created. + *

            */ - status?: DomainStatus | string; + createdTime?: Date; /** - *

            The ARN of an AWS Key Management Service (AWS KMS) key associated with a domain.

            + *

            The Amazon Resource Name (ARN) of the domain.

            */ - encryptionKey?: string; + arn?: string; /** *

            @@ -874,13 +879,6 @@ export interface DomainDescription { *

            */ name?: string; - - /** - *

            - * A timestamp that represents the date and time the domain was created. - *

            - */ - createdTime?: Date; } export namespace DomainDescription { @@ -929,24 +927,19 @@ export namespace UpstreamRepository { } export interface CreateRepositoryRequest { - /** - *

            The name of the repository to create.

            - */ - repository: string | undefined; - /** *

            - * A description of the created repository. + * The domain that contains the created repository. *

            */ - description?: string; + domain: string | undefined; /** *

            - * The domain that contains the created repository. + * A description of the created repository. *

            */ - domain: string | undefined; + description?: string; /** *

            @@ -956,6 +949,11 @@ export interface CreateRepositoryRequest { */ domainOwner?: string; + /** + *

            The name of the repository to create.

            + */ + repository: string | undefined; + /** *

            A list of upstream repositories to associate with the repository. The order of the upstream repositories * in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more @@ -988,18 +986,18 @@ export namespace CreateRepositoryResult { export interface DeleteDomainRequest { /** *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            + * The name of the domain to delete. + *

            */ - domainOwner?: string; + domain: string | undefined; /** *

            - * The name of the domain to delete. - *

            + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

            */ - domain: string | undefined; + domainOwner?: string; } export namespace DeleteDomainRequest { @@ -1034,18 +1032,18 @@ export interface DeleteDomainPermissionsPolicyRequest { /** *

            - * The name of the domain associated with the resource policy to be deleted. + * The current revision of the resource policy to be deleted. This revision is used for optimistic locking, which + * prevents others from overwriting your changes to the domain's resource policy. *

            */ - domain: string | undefined; + policyRevision?: string; /** *

            - * The current revision of the resource policy to be deleted. This revision is used for optimistic locking, which - * prevents others from overwriting your changes to the domain's resource policy. + * The name of the domain associated with the resource policy to be deleted. *

            */ - policyRevision?: string; + domain: string | undefined; } export namespace DeleteDomainPermissionsPolicyRequest { @@ -1060,13 +1058,6 @@ export namespace DeleteDomainPermissionsPolicyRequest { *

            */ export interface ResourcePolicy { - /** - *

            - * The resource policy formatted in JSON. - *

            - */ - document?: string; - /** *

            * The ARN of the resource associated with the resource policy @@ -1080,6 +1071,13 @@ export interface ResourcePolicy { *

            */ revision?: string; + + /** + *

            + * The resource policy formatted in JSON. + *

            + */ + document?: string; } export namespace ResourcePolicy { @@ -1106,17 +1104,29 @@ export namespace DeleteDomainPermissionsPolicyResult { export interface DeletePackageVersionsRequest { /** *

            - * The name of the domain that contains the package to delete. - *

            - */ - domain: string | undefined; - - /** - *

            - * The name of the repository that contains the package versions to delete. - *

            + * The namespace of the package. The package component that specifies its + * namespace depends on its type. For example: + *

            + *
              + *
            • + *

              + * The namespace of a Maven package is its groupId. + *

              + *
            • + *
            • + *

              + * The namespace of an npm package is its scope. + *

              + *
            • + *
            • + *

              + * A Python package does not contain a corresponding component, so + * Python packages do not have a namespace. + *

              + *
            • + *
            */ - repository: string | undefined; + namespace?: string; /** *

            @@ -1152,29 +1162,24 @@ export interface DeletePackageVersionsRequest { /** *

            - * The namespace of the package. The package component that specifies its - * namespace depends on its type. For example: - *

            - *
              - *
            • - *

              - * The namespace of a Maven package is its groupId. - *

              - *
            • - *
            • - *

              - * The namespace of an npm package is its scope. - *

              - *
            • - *
            • - *

              - * A Python package does not contain a corresponding component, so - * Python packages do not have a namespace. - *

              - *
            • - *
            + * The name of the repository that contains the package versions to delete. + *

            */ - namespace?: string; + repository: string | undefined; + + /** + *

            + * The name of the domain that contains the package to delete. + *

            + */ + domain: string | undefined; + + /** + *

            + * The name of the package with the versions to delete. + *

            + */ + package: string | undefined; /** *

            @@ -1216,13 +1221,6 @@ export interface DeletePackageVersionsRequest { *

            */ versions: string[] | undefined; - - /** - *

            - * The name of the package with the versions to delete. - *

            - */ - package: string | undefined; } export namespace DeletePackageVersionsRequest { @@ -1232,6 +1230,13 @@ export namespace DeletePackageVersionsRequest { } export interface DeletePackageVersionsResult { + /** + *

            + * A list of the package versions that were successfully deleted. + *

            + */ + successfulVersions?: { [key: string]: SuccessfulPackageVersionInfo }; + /** *

            * A PackageVersionError object that contains a map of errors codes for the @@ -1271,13 +1276,6 @@ export interface DeletePackageVersionsResult { * */ failedVersions?: { [key: string]: PackageVersionError }; - - /** - *

            - * A list of the package versions that were successfully deleted. - *

            - */ - successfulVersions?: { [key: string]: SuccessfulPackageVersionInfo }; } export namespace DeletePackageVersionsResult { @@ -1287,6 +1285,13 @@ export namespace DeletePackageVersionsResult { } export interface DeleteRepositoryRequest { + /** + *

            + * The name of the domain that contains the repository to delete. + *

            + */ + domain: string | undefined; + /** *

            The name of the repository to delete.

            */ @@ -1299,13 +1304,6 @@ export interface DeleteRepositoryRequest { *

            */ domainOwner?: string; - - /** - *

            - * The name of the domain that contains the repository to delete. - *

            - */ - domain: string | undefined; } export namespace DeleteRepositoryRequest { @@ -1332,18 +1330,18 @@ export namespace DeleteRepositoryResult { export interface DeleteRepositoryPermissionsPolicyRequest { /** *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            + * The name of the repository that is associated with the resource policy to be deleted + *

            */ - domainOwner?: string; + repository: string | undefined; /** *

            - * The name of the repository that is associated with the resource policy to be deleted - *

            + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

            */ - repository: string | undefined; + domainOwner?: string; /** *

            @@ -1424,28 +1422,10 @@ export namespace DescribeDomainResult { export interface DescribePackageVersionRequest { /** *

            - * The name of the domain that contains the repository that contains the package version. + * A string that contains the package version (for example, 3.5.2). *

            */ - domain: string | undefined; - - /** - *

            The name of the requested package version.

            - */ - package: string | undefined; - - /** - *

            The name of the repository that contains the package version.

            - */ - repository: string | undefined; - - /** - *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            - */ - domainOwner?: string; + packageVersion: string | undefined; /** *

            @@ -1473,19 +1453,36 @@ export interface DescribePackageVersionRequest { */ namespace?: string; + /** + *

            The name of the requested package version.

            + */ + package: string | undefined; + /** *

            - * A format that specifies the type of the requested package version. The valid values are: + * The name of the domain that contains the repository that contains the package version. *

            - *
              - *
            • - *

              - * npm - *

              - *
            • - *
            • - *

              - * pypi + */ + domain: string | undefined; + + /** + *

              The name of the repository that contains the package version.

              + */ + repository: string | undefined; + + /** + *

              + * A format that specifies the type of the requested package version. The valid values are: + *

              + *
                + *
              • + *

                + * npm + *

                + *
              • + *
              • + *

                + * pypi *

                *
              • *
              • @@ -1499,10 +1496,11 @@ export interface DescribePackageVersionRequest { /** *

                - * A string that contains the package version (for example, 3.5.2). - *

                + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

                */ - packageVersion: string | undefined; + domainOwner?: string; } export namespace DescribePackageVersionRequest { @@ -1519,17 +1517,17 @@ export namespace DescribePackageVersionRequest { export interface LicenseInfo { /** *

                - * The URL for license data. + * Name of the license. *

                */ - url?: string; + name?: string; /** *

                - * Name of the license. + * The URL for license data. *

                */ - name?: string; + url?: string; } export namespace LicenseInfo { @@ -1546,25 +1544,17 @@ export namespace LicenseInfo { export interface PackageVersionDescription { /** *

                - * A summary of the package version. The summary is extracted from the package. The information in and - * detail level of the summary depends on the package version's format. - *

                - */ - summary?: string; - - /** - *

                - * The repository for the source code in the package version, or the source code used to build it. + * The name of the requested package. *

                */ - sourceCodeRepository?: string; + packageName?: string; /** *

                - * The version of the package. + * The homepage associated with the package. *

                */ - version?: string; + homePage?: string; /** *

                @@ -1602,17 +1592,17 @@ export interface PackageVersionDescription { /** *

                - * Information about licenses associated with the package version. + * The version of the package. *

                */ - licenses?: LicenseInfo[]; + version?: string; /** *

                - * The homepage associated with the package. + * The revision of the package version. *

                */ - homePage?: string; + revision?: string; /** *

                @@ -1642,10 +1632,42 @@ export interface PackageVersionDescription { /** *

                - * The name of the requested package. + * The name of the package that is displayed. The displayName varies depending + * on the package version's format. For example, if an npm package is named ui, + * is in the namespace vue, and has the format npm, then + * the displayName is @vue/ui. *

                */ - packageName?: string; + displayName?: string; + + /** + *

                + * A summary of the package version. The summary is extracted from the package. The information in and + * detail level of the summary depends on the package version's format. + *

                + */ + summary?: string; + + /** + *

                + * The repository for the source code in the package version, or the source code used to build it. + *

                + */ + sourceCodeRepository?: string; + + /** + *

                + * Information about licenses associated with the package version. + *

                + */ + licenses?: LicenseInfo[]; + + /** + *

                + * A timestamp that contains the date and time the package version was published. + *

                + */ + publishedTime?: Date; /** *

                @@ -1670,30 +1692,6 @@ export interface PackageVersionDescription { *

              */ format?: PackageFormat | string; - - /** - *

              - * The revision of the package version. - *

              - */ - revision?: string; - - /** - *

              - * The name of the package that is displayed. The displayName varies depending - * on the package version's format. For example, if an npm package is named ui, - * is in the namespace vue, and has the format npm, then - * the displayName is @vue/ui. - *

              - */ - displayName?: string; - - /** - *

              - * A timestamp that contains the date and time the package version was published. - *

              - */ - publishedTime?: Date; } export namespace PackageVersionDescription { @@ -1766,6 +1764,11 @@ export namespace DescribeRepositoryResult { } export interface DisassociateExternalConnectionRequest { + /** + *

              The name of the external connection to be removed from the repository.

              + */ + externalConnection: string | undefined; + /** *

              The name of the repository from which the external connection will be removed.

              */ @@ -1779,11 +1782,6 @@ export interface DisassociateExternalConnectionRequest { */ domainOwner?: string; - /** - *

              The name of the external connection to be removed from the repository.

              - */ - externalConnection: string | undefined; - /** *

              The name of the domain that contains the repository from which to remove the external * repository.

              @@ -1815,11 +1813,17 @@ export namespace DisassociateExternalConnectionResult { export interface DisposePackageVersionsRequest { /** *

              - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

              + * The name of the domain that contains the repository you want to dispose. + *

              */ - domainOwner?: string; + domain: string | undefined; + + /** + *

              + * The name of the repository that contains the package versions you want to dispose. + *

              + */ + repository: string | undefined; /** *

              @@ -1845,6 +1849,14 @@ export interface DisposePackageVersionsRequest { */ format: PackageFormat | string | undefined; + /** + *

              + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

              + */ + domainOwner?: string; + /** *

              * The namespace of the package. The package component that specifies its @@ -1871,13 +1883,6 @@ export interface DisposePackageVersionsRequest { */ namespace?: string; - /** - *

              - * The name of the repository that contains the package versions you want to dispose. - *

              - */ - repository: string | undefined; - /** *

              * The revisions of the package versions you want to dispose. @@ -1887,10 +1892,10 @@ export interface DisposePackageVersionsRequest { /** *

              - * The name of the domain that contains the repository you want to dispose. + * The name of the package with the versions you want to dispose. *

              */ - domain: string | undefined; + package: string | undefined; /** *

              @@ -1932,13 +1937,6 @@ export interface DisposePackageVersionsRequest { *

            */ expectedStatus?: PackageVersionStatus | string; - - /** - *

            - * The name of the package with the versions you want to dispose. - *

            - */ - package: string | undefined; } export namespace DisposePackageVersionsRequest { @@ -1948,13 +1946,6 @@ export namespace DisposePackageVersionsRequest { } export interface DisposePackageVersionsResult { - /** - *

            - * A list of the package versions that were successfully disposed. - *

            - */ - successfulVersions?: { [key: string]: SuccessfulPackageVersionInfo }; - /** *

            * A PackageVersionError object that contains a map of errors codes for the @@ -1994,6 +1985,13 @@ export interface DisposePackageVersionsResult { * */ failedVersions?: { [key: string]: PackageVersionError }; + + /** + *

            + * A list of the package versions that were successfully disposed. + *

            + */ + successfulVersions?: { [key: string]: SuccessfulPackageVersionInfo }; } export namespace DisposePackageVersionsResult { @@ -2003,6 +2001,13 @@ export namespace DisposePackageVersionsResult { } export interface GetAuthorizationTokenRequest { + /** + *

            + * The name of the domain that is in scope for the generated authorization token. + *

            + */ + domain: string | undefined; + /** *

            * The 12-digit account number of the AWS account that owns the domain. It does not include @@ -2015,13 +2020,6 @@ export interface GetAuthorizationTokenRequest { *

            The time, in seconds, that the generated authorization token is valid.

            */ durationSeconds?: number; - - /** - *

            - * The name of the domain that is in scope for the generated authorization token. - *

            - */ - domain: string | undefined; } export namespace GetAuthorizationTokenRequest { @@ -2033,17 +2031,17 @@ export namespace GetAuthorizationTokenRequest { export interface GetAuthorizationTokenResult { /** *

            - * A timestamp that specifies the date and time the authorization token expires. - *

            + * The returned authentication token. + *

            */ - expiration?: Date; + authorizationToken?: string; /** *

            - * The returned authentication token. - *

            + * A timestamp that specifies the date and time the authorization token expires. + *

            */ - authorizationToken?: string; + expiration?: Date; } export namespace GetAuthorizationTokenResult { @@ -2091,34 +2089,6 @@ export namespace GetDomainPermissionsPolicyResult { } export interface GetPackageVersionAssetRequest { - /** - *

            - * A string that contains the package version (for example, 3.5.2). - *

            - */ - packageVersion: string | undefined; - - /** - *

            - * The domain that contains the repository that contains the package version with the requested asset. - *

            - */ - domain: string | undefined; - - /** - *

            - * The name of the package that contains the requested asset. - *

            - */ - package: string | undefined; - - /** - *

            - * The name of the package version revision that contains the requested asset. - *

            - */ - packageVersionRevision?: string; - /** *

            * A format that specifies the type of the package version with the requested asset file. The valid values are: @@ -2145,37 +2115,39 @@ export interface GetPackageVersionAssetRequest { /** *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            + * The name of the package version revision that contains the requested asset. + *

            */ - domainOwner?: string; + packageVersionRevision?: string; /** *

            - * The namespace of the package. The package component that specifies its - * namespace depends on its type. For example: + * A string that contains the package version (for example, 3.5.2). *

            - *
              - *
            • - *

              - * The namespace of a Maven package is its groupId. - *

              - *
            • - *
            • - *

              - * The namespace of an npm package is its scope. - *

              - *
            • - *
            • - *

              - * A Python package does not contain a corresponding component, so - * Python packages do not have a namespace. - *

              - *
            • - *
            */ - namespace?: string; + packageVersion: string | undefined; + + /** + *

            + * The domain that contains the repository that contains the package version with the requested asset. + *

            + */ + domain: string | undefined; + + /** + *

            + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

            + */ + domainOwner?: string; + + /** + *

            + * The name of the package that contains the requested asset. + *

            + */ + package: string | undefined; /** *

            @@ -2190,6 +2162,32 @@ export interface GetPackageVersionAssetRequest { *

            */ repository: string | undefined; + + /** + *

            + * The namespace of the package. The package component that specifies its + * namespace depends on its type. For example: + *

            + *
              + *
            • + *

              + * The namespace of a Maven package is its groupId. + *

              + *
            • + *
            • + *

              + * The namespace of an npm package is its scope. + *

              + *
            • + *
            • + *

              + * A Python package does not contain a corresponding component, so + * Python packages do not have a namespace. + *

              + *
            • + *
            + */ + namespace?: string; } export namespace GetPackageVersionAssetRequest { @@ -2206,6 +2204,13 @@ export interface GetPackageVersionAssetResult { */ packageVersionRevision?: string; + /** + *

            + * The name of the asset that is downloaded. + *

            + */ + assetName?: string; + /** *

            * A string that contains the package version (for example, 3.5.2). @@ -2217,13 +2222,6 @@ export interface GetPackageVersionAssetResult { *

            The binary file, or asset, that is downloaded.

            */ asset?: Readable | ReadableStream | Blob; - - /** - *

            - * The name of the asset that is downloaded. - *

            - */ - assetName?: string; } export namespace GetPackageVersionAssetResult { @@ -2233,20 +2231,6 @@ export namespace GetPackageVersionAssetResult { } export interface GetPackageVersionReadmeRequest { - /** - *

            - * The name of the package version that contains the requested readme file. - *

            - */ - package: string | undefined; - - /** - *

            - * The repository that contains the package with the requested readme file. - *

            - */ - repository: string | undefined; - /** *

            * A string that contains the package version (for example, 3.5.2). @@ -2254,14 +2238,6 @@ export interface GetPackageVersionReadmeRequest { */ packageVersion: string | undefined; - /** - *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            - */ - domainOwner?: string; - /** *

            * The namespace of the package. The package component that specifies its @@ -2288,6 +2264,20 @@ export interface GetPackageVersionReadmeRequest { */ namespace?: string; + /** + *

            + * The repository that contains the package with the requested readme file. + *

            + */ + repository: string | undefined; + + /** + *

            + * The name of the package version that contains the requested readme file. + *

            + */ + package: string | undefined; + /** *

            * A format that specifies the type of the package version with the requested readme file. The valid values are: @@ -2318,6 +2308,14 @@ export interface GetPackageVersionReadmeRequest { *

            */ domain: string | undefined; + + /** + *

            + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

            + */ + domainOwner?: string; } export namespace GetPackageVersionReadmeRequest { @@ -2327,6 +2325,20 @@ export namespace GetPackageVersionReadmeRequest { } export interface GetPackageVersionReadmeResult { + /** + *

            + * The name of the package that contains the returned readme file. + *

            + */ + package?: string; + + /** + *

            + * The text of the returned readme file. + *

            + */ + readme?: string; + /** *

            * The namespace of the package. The package component that specifies its @@ -2353,20 +2365,6 @@ export interface GetPackageVersionReadmeResult { */ namespace?: string; - /** - *

            - * The text of the returned readme file. - *

            - */ - readme?: string; - - /** - *

            - * The current revision associated with the package version. - *

            - */ - versionRevision?: string; - /** *

            * The format of the package with the requested readme file. Valid format types are: @@ -2393,10 +2391,10 @@ export interface GetPackageVersionReadmeResult { /** *

            - * The name of the package that contains the returned readme file. + * The current revision associated with the package version. *

            */ - package?: string; + versionRevision?: string; /** *

            @@ -2413,6 +2411,13 @@ export namespace GetPackageVersionReadmeResult { } export interface GetRepositoryEndpointRequest { + /** + *

            + * The name of the repository. + *

            + */ + repository: string | undefined; + /** *

            * The name of the domain that contains the repository. @@ -2452,13 +2457,6 @@ export interface GetRepositoryEndpointRequest { *

            */ domainOwner?: string; - - /** - *

            - * The name of the repository. - *

            - */ - repository: string | undefined; } export namespace GetRepositoryEndpointRequest { @@ -2485,11 +2483,10 @@ export namespace GetRepositoryEndpointResult { export interface GetRepositoryPermissionsPolicyRequest { /** *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. + * The name of the repository whose associated resource policy is to be retrieved. *

            */ - domainOwner?: string; + repository: string | undefined; /** *

            @@ -2500,10 +2497,11 @@ export interface GetRepositoryPermissionsPolicyRequest { /** *

            - * The name of the repository whose associated resource policy is to be retrieved. + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. *

            */ - repository: string | undefined; + domainOwner?: string; } export namespace GetRepositoryPermissionsPolicyRequest { @@ -2559,10 +2557,17 @@ export namespace ListDomainsRequest { export interface DomainSummary { /** *

            - * The key used to encrypt the domain. + * The ARN of the domain. *

            */ - encryptionKey?: string; + arn?: string; + + /** + *

            + * The name of the domain. + *

            + */ + name?: string; /** *

            @@ -2585,17 +2590,11 @@ export interface DomainSummary { /** *

            - * The name of the domain. - *

            - */ - name?: string; - - /** - *

            - * The ARN of the domain. - *

            + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

            */ - arn?: string; + owner?: string; /** *

            @@ -2606,11 +2605,10 @@ export interface DomainSummary { /** *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            + * The key used to encrypt the domain. + *

            */ - owner?: string; + encryptionKey?: string; } export namespace DomainSummary { @@ -2620,6 +2618,13 @@ export namespace DomainSummary { } export interface ListDomainsResult { + /** + *

            + * 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 returned list of @@ -2628,13 +2633,6 @@ export interface ListDomainsResult { *

            */ domains?: DomainSummary[]; - - /** - *

            - * 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; } export namespace ListDomainsResult { @@ -2672,35 +2670,25 @@ export interface ListPackagesRequest { /** *

            - * The format of the packages. The valid package types are: + * The name of the repository from which packages are to be listed. + *

            + */ + repository: string | undefined; + + /** + *

            + * A prefix used to filter returned repositories. Only repositories with names that start with + * repositoryPrefix are returned. *

            - *
              - *
            • - *

              - * npm: A Node Package Manager (npm) package. - *

              - *
            • - *
            • - *

              - * pypi: A Python Package Index (PyPI) package. - *

              - *
            • - *
            • - *

              - * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. - *

              - *
            • - *
            */ - format?: PackageFormat | string; + packagePrefix?: string; /** *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            + * The maximum number of results to return per page. + *

            */ - domainOwner?: string; + maxResults?: number; /** *

            @@ -2711,25 +2699,35 @@ export interface ListPackagesRequest { /** *

            - * The maximum number of results to return per page. - *

            + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

            */ - maxResults?: number; + domainOwner?: string; /** *

            - * A prefix used to filter returned repositories. Only repositories with names that start with - * repositoryPrefix are returned. + * The format of the packages. The valid package types are: *

            + *
              + *
            • + *

              + * npm: A Node Package Manager (npm) package. + *

              + *
            • + *
            • + *

              + * pypi: A Python Package Index (PyPI) package. + *

              + *
            • + *
            • + *

              + * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. + *

              + *
            • + *
            */ - packagePrefix?: string; - - /** - *

            - * The name of the repository from which packages are to be listed. - *

            - */ - repository: string | undefined; + format?: PackageFormat | string; /** *

            @@ -2755,13 +2753,6 @@ export namespace ListPackagesRequest { *

            */ export interface PackageSummary { - /** - *

            - * The name of the package. - *

            - */ - package?: string; - /** *

            * The format of the package. Valid values are: @@ -2786,6 +2777,13 @@ export interface PackageSummary { */ format?: PackageFormat | string; + /** + *

            + * The name of the package. + *

            + */ + package?: string; + /** *

            * The namespace of the package. The package component that specifies its @@ -2820,13 +2818,6 @@ export namespace PackageSummary { } export interface ListPackagesResult { - /** - *

            - * If there are additional results, this is the token for the next set of results. - *

            - */ - nextToken?: string; - /** *

            * The list of returned @@ -2836,6 +2827,13 @@ export interface ListPackagesResult { *

            */ packages?: PackageSummary[]; + + /** + *

            + * If there are additional results, this is the token for the next set of results. + *

            + */ + nextToken?: string; } export namespace ListPackagesResult { @@ -2847,24 +2845,24 @@ export namespace ListPackagesResult { export interface ListPackageVersionAssetsRequest { /** *

            - * 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 maximum number of results to return per page. *

            */ - nextToken?: string; + maxResults?: number; /** *

            - * A string that contains the package version (for example, 3.5.2). - *

            + * The name of the domain that contains the repository associated with the package version assets. + *

            */ - packageVersion: string | undefined; + domain: string | undefined; /** *

            - * The name of the domain that contains the repository associated with the package version assets. - *

            + * The name of the repository that contains the package that contains the returned package version assets. + *

            */ - domain: string | undefined; + repository: string | undefined; /** *

            @@ -2874,6 +2872,32 @@ export interface ListPackageVersionAssetsRequest { */ domainOwner?: string; + /** + *

            + * The namespace of the package. The package component that specifies its + * namespace depends on its type. For example: + *

            + *
              + *
            • + *

              + * The namespace of a Maven package is its groupId. + *

              + *
            • + *
            • + *

              + * The namespace of an npm package is its scope. + *

              + *
            • + *
            • + *

              + * A Python package does not contain a corresponding component, so + * Python packages do not have a namespace. + *

              + *
            • + *
            + */ + namespace?: string; + /** *

            * The format of the package that contains the returned package version assets. The valid package types are: @@ -2900,25 +2924,33 @@ export interface ListPackageVersionAssetsRequest { /** *

            - * The maximum number of results to return per page. + * 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. *

            */ - maxResults?: number; + nextToken?: string; /** *

            - * The name of the package that contains the returned package version assets. - *

            + * A string that contains the package version (for example, 3.5.2). + *

            */ - package: string | undefined; + packageVersion: string | undefined; /** *

            - * The name of the repository that contains the package that contains the returned package version assets. - *

            + * The name of the package that contains the returned package version assets. + *

            */ - repository: string | undefined; + package: string | undefined; +} + +export namespace ListPackageVersionAssetsRequest { + export const filterSensitiveLog = (obj: ListPackageVersionAssetsRequest): any => ({ + ...obj, + }); +} +export interface ListPackageVersionAssetsResult { /** *

            * The namespace of the package. The package component that specifies its @@ -2944,63 +2976,29 @@ export interface ListPackageVersionAssetsRequest { * */ namespace?: string; -} - -export namespace ListPackageVersionAssetsRequest { - export const filterSensitiveLog = (obj: ListPackageVersionAssetsRequest): any => ({ - ...obj, - }); -} -export interface ListPackageVersionAssetsResult { /** *

            - * The version of the package associated with the returned assets. + * The returned list of + * AssetSummary + * objects. *

            */ - version?: string; - - /** - *

            - * If there are additional results, this is the token for the next set of results. - *

            - */ - nextToken?: string; + assets?: AssetSummary[]; /** *

            - * The returned list of - * AssetSummary - * objects. + * The version of the package associated with the returned assets. *

            */ - assets?: AssetSummary[]; + version?: string; /** *

            - * The namespace of the package. The package component that specifies its - * namespace depends on its type. For example: + * The name of the package that contains the returned package version assets. *

            - *
              - *
            • - *

              - * The namespace of a Maven package is its groupId. - *

              - *
            • - *
            • - *

              - * The namespace of an npm package is its scope. - *

              - *
            • - *
            • - *

              - * A Python package does not contain a corresponding component, so - * Python packages do not have a namespace. - *

              - *
            • - *
            */ - namespace?: string; + package?: string; /** *

            @@ -3011,17 +3009,17 @@ export interface ListPackageVersionAssetsResult { /** *

            - * The current revision associated with the package version. - *

            + * If there are additional results, this is the token for the next set of results. + *

            */ - versionRevision?: string; + nextToken?: string; /** *

            - * The name of the package that contains the returned package version assets. + * The current revision associated with the package version. *

            */ - package?: string; + versionRevision?: string; } export namespace ListPackageVersionAssetsResult { @@ -3033,24 +3031,34 @@ export namespace ListPackageVersionAssetsResult { export interface ListPackageVersionDependenciesRequest { /** *

            - * The domain that contains the repository that contains the requested package version dependencies. - *

            - */ - domain: string | undefined; - - /** - *

            - * The name of the package versions' package. - *

            + * 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. + *

            */ - package: string | undefined; + nextToken?: string; /** *

            - * A string that contains the package version (for example, 3.5.2). + * The format of the package with the requested dependencies. The valid package types are: *

            + *
              + *
            • + *

              + * npm: A Node Package Manager (npm) package. + *

              + *
            • + *
            • + *

              + * pypi: A Python Package Index (PyPI) package. + *

              + *
            • + *
            • + *

              + * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. + *

              + *
            • + *
            */ - packageVersion: string | undefined; + format: PackageFormat | string | undefined; /** *

            @@ -3080,49 +3088,39 @@ export interface ListPackageVersionDependenciesRequest { /** *

            - * 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 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

            */ - nextToken?: string; + domainOwner?: string; /** *

            - * The format of the package with the requested dependencies. The valid package types are: + * A string that contains the package version (for example, 3.5.2). *

            - *
              - *
            • - *

              - * npm: A Node Package Manager (npm) package. - *

              - *
            • - *
            • - *

              - * pypi: A Python Package Index (PyPI) package. - *

              - *
            • - *
            • - *

              - * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. - *

              - *
            • - *
            */ - format: PackageFormat | string | undefined; + packageVersion: string | undefined; /** *

            - * The name of the repository that contains the requested package version. + * The name of the package versions' package. *

            */ - repository: string | undefined; + package: string | undefined; /** *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            + * The domain that contains the repository that contains the requested package version dependencies. + *

            */ - domainOwner?: string; + domain: string | undefined; + + /** + *

            + * The name of the repository that contains the requested package version. + *

            + */ + repository: string | undefined; } export namespace ListPackageVersionDependenciesRequest { @@ -3137,15 +3135,6 @@ export namespace ListPackageVersionDependenciesRequest { *

            */ export interface PackageDependency { - /** - *

            - * The required version, or version range, of the package that this package depends on. The version format - * is specific to the package type. For example, the following are possible valid required versions: 1.2.3, - * ^2.3.4, or 4.x. - *

            - */ - versionRequirement?: string; - /** *

            * The name of the package that this package depends on. @@ -3185,6 +3174,15 @@ export interface PackageDependency { * packages, and dev, prod, and optional for npm packages.

            */ dependencyType?: string; + + /** + *

            + * The required version, or version range, of the package that this package depends on. The version format + * is specific to the package type. For example, the following are possible valid required versions: 1.2.3, + * ^2.3.4, or 4.x. + *

            + */ + versionRequirement?: string; } export namespace PackageDependency { @@ -3194,6 +3192,29 @@ export namespace PackageDependency { } export interface ListPackageVersionDependenciesResult { + /** + *

            + * The name of the package that contains the returned package versions dependencies. + *

            + */ + package?: string; + + /** + *

            + * The returned list of + * PackageDependency + * objects. + *

            + */ + dependencies?: PackageDependency[]; + + /** + *

            + * The version of the package that is specified in the request. + *

            + */ + version?: string; + /** *

            * The namespace of the package. The package component that specifies its @@ -3220,6 +3241,13 @@ export interface ListPackageVersionDependenciesResult { */ namespace?: string; + /** + *

            + * The current revision associated with the package version. + *

            + */ + versionRevision?: string; + /** *

            * A format that specifies the type of the package that contains the returned dependencies. The valid values are: @@ -3250,36 +3278,6 @@ export interface ListPackageVersionDependenciesResult { *

            */ nextToken?: string; - - /** - *

            - * The returned list of - * PackageDependency - * objects. - *

            - */ - dependencies?: PackageDependency[]; - - /** - *

            - * The name of the package that contains the returned package versions dependencies. - *

            - */ - package?: string; - - /** - *

            - * The version of the package that is specified in the request. - *

            - */ - version?: string; - - /** - *

            - * The current revision associated with the package version. - *

            - */ - versionRevision?: string; } export namespace ListPackageVersionDependenciesResult { @@ -3295,44 +3293,49 @@ export enum PackageVersionSortType { export interface ListPackageVersionsRequest { /** *

            - * The name of the repository that contains the package. - *

            - */ - repository: string | undefined; - - /** - *

            - * A string that specifies the status of the package versions to include in the returned list. It can be one of the following: + * The format of the returned packages. The valid package types are: *

            *
              *
            • *

              - * Published - *

              - *
            • - *
            • - *

              - * Unfinished - *

              - *
            • - *
            • - *

              - * Unlisted - *

              + * npm: A Node Package Manager (npm) package. + *

              *
            • *
            • *

              - * Archived - *

              + * pypi: A Python Package Index (PyPI) package. + *

              *
            • *
            • *

              - * Disposed - *

              + * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. + *

              *
            • *
            */ - status?: PackageVersionStatus | string; + format: PackageFormat | string | undefined; + + /** + *

            + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

            + */ + domainOwner?: 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 maximum number of results to return per page. + *

            + */ + maxResults?: number; /** *

            @@ -3341,6 +3344,13 @@ export interface ListPackageVersionsRequest { */ domain: string | undefined; + /** + *

            + * The name of the repository that contains the package. + *

            + */ + repository: string | undefined; + /** *

            * The name of the package for which you want to return a list of package versions. @@ -3348,6 +3358,13 @@ export interface ListPackageVersionsRequest { */ package: string | undefined; + /** + *

            + * How to sort the returned list of package versions. + *

            + */ + sortBy?: PackageVersionSortType | string; + /** *

            * The namespace of the package. The package component that specifies its @@ -3376,56 +3393,37 @@ export interface ListPackageVersionsRequest { /** *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            - */ - domainOwner?: string; - - /** - *

            - * The format of the returned packages. The valid package types are: + * A string that specifies the status of the package versions to include in the returned list. It can be one of the following: *

            *
              *
            • *

              - * npm: A Node Package Manager (npm) package. - *

              + * Published + *

              *
            • *
            • *

              - * pypi: A Python Package Index (PyPI) package. - *

              + * Unfinished + *

              *
            • *
            • *

              - * maven: A Maven package that contains compiled code in a distributable format, such as a JAR file. - *

              + * Unlisted + *

              + *
            • + *
            • + *

              + * Archived + *

              + *
            • + *
            • + *

              + * Disposed + *

              *
            • *
            */ - format: PackageFormat | 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; - - /** - *

            - * How to sort the returned list of package versions. - *

            - */ - sortBy?: PackageVersionSortType | string; - - /** - *

            - * The maximum number of results to return per page. - *

            - */ - maxResults?: number; + status?: PackageVersionStatus | string; } export namespace ListPackageVersionsRequest { @@ -3444,13 +3442,6 @@ export namespace ListPackageVersionsRequest { *

            */ export interface PackageVersionSummary { - /** - *

            - * Information about a package version. - *

            - */ - version: string | undefined; - /** *

            * A string that contains the status of the package version. It can be one of the following: @@ -3491,6 +3482,13 @@ export interface PackageVersionSummary { *

            */ revision?: string; + + /** + *

            + * Information about a package version. + *

            + */ + version: string | undefined; } export namespace PackageVersionSummary { @@ -3502,14 +3500,23 @@ export namespace PackageVersionSummary { export interface ListPackageVersionsResult { /** *

            - * The returned list of - * - * PackageVersionSummary - * - * objects. - *

            + * The default package version to display. This depends on the package format: + *

            + *
              + *
            • + *

              + * For Maven and PyPI packages, it's the most recently published package version. + *

              + *
            • + *
            • + *

              + * For npm packages, it's the version referenced by the + * latest tag. If the latest tag is not set, it's the most recently published package version. + *

              + *
            • + *
            */ - versions?: PackageVersionSummary[]; + defaultDisplayVersion?: string; /** *

            @@ -3537,37 +3544,28 @@ export interface ListPackageVersionsResult { /** *

            - * The name of the package. + * If there are additional results, this is the token for the next set of results. *

            */ - package?: string; + nextToken?: string; /** *

            - * The default package version to display. This depends on the package format: - *

            - *
              - *
            • - *

              - * For Maven and PyPI packages, it's the most recently published package version. - *

              - *
            • - *
            • - *

              - * For npm packages, it's the version referenced by the - * latest tag. If the latest tag is not set, it's the most recently published package version. - *

              - *
            • - *
            + * The returned list of + * + * PackageVersionSummary + * + * objects. + *

            */ - defaultDisplayVersion?: string; + versions?: PackageVersionSummary[]; /** *

            - * If there are additional results, this is the token for the next set of results. + * The name of the package. *

            */ - nextToken?: string; + package?: string; /** *

            @@ -3604,10 +3602,11 @@ export namespace ListPackageVersionsResult { export interface ListRepositoriesRequest { /** - *

            A prefix used to filter returned repositories. Only repositories with names that start - * with repositoryPrefix are returned.

            + *

            + * 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. + *

            */ - repositoryPrefix?: string; + nextToken?: string; /** *

            @@ -3617,11 +3616,10 @@ export interface ListRepositoriesRequest { maxResults?: number; /** - *

            - * 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. - *

            + *

            A prefix used to filter returned repositories. Only repositories with names that start + * with repositoryPrefix are returned.

            */ - nextToken?: string; + repositoryPrefix?: string; } export namespace ListRepositoriesRequest { @@ -3639,18 +3637,16 @@ export namespace ListRepositoriesRequest { */ export interface RepositorySummary { /** - *

            - * The AWS account ID that manages the repository. - *

            + *

            The ARN of the repository.

            */ - administratorAccount?: string; + arn?: string; /** *

            - * The name of the repository. + * The name of the domain that contains the repository. *

            */ - name?: string; + domainName?: string; /** *

            @@ -3660,17 +3656,12 @@ export interface RepositorySummary { */ domainOwner?: string; - /** - *

            The ARN of the repository.

            - */ - arn?: string; - /** *

            - * The name of the domain that contains the repository. + * The AWS account ID that manages the repository. *

            */ - domainName?: string; + administratorAccount?: string; /** *

            @@ -3678,6 +3669,13 @@ export interface RepositorySummary { *

            */ description?: string; + + /** + *

            + * The name of the repository. + *

            + */ + name?: string; } export namespace RepositorySummary { @@ -3687,13 +3685,6 @@ export namespace RepositorySummary { } export interface ListRepositoriesResult { - /** - *

            - * If there are additional results, this is the token for the next set of results. - *

            - */ - nextToken?: string; - /** *

            * The returned list of @@ -3703,6 +3694,13 @@ export interface ListRepositoriesResult { *

            */ repositories?: RepositorySummary[]; + + /** + *

            + * If there are additional results, this is the token for the next set of results. + *

            + */ + nextToken?: string; } export namespace ListRepositoriesResult { @@ -3714,10 +3712,11 @@ export namespace ListRepositoriesResult { export interface ListRepositoriesInDomainRequest { /** *

            - * 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. - *

            + * A prefix used to filter returned repositories. Only repositories with names that start with + * repositoryPrefix are returned. + *

            */ - nextToken?: string; + repositoryPrefix?: string; /** *

            @@ -3728,10 +3727,10 @@ export interface ListRepositoriesInDomainRequest { /** *

            - * The maximum number of results to return per page. + * The name of the domain that contains the returned list of repositories. *

            */ - maxResults?: number; + domain: string | undefined; /** *

            @@ -3743,18 +3742,17 @@ export interface ListRepositoriesInDomainRequest { /** *

            - * The name of the domain that contains the returned list of repositories. + * 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. *

            */ - domain: string | undefined; + nextToken?: string; /** *

            - * A prefix used to filter returned repositories. Only repositories with names that start with - * repositoryPrefix are returned. - *

            + * The maximum number of results to return per page. + *

            */ - repositoryPrefix?: string; + maxResults?: number; } export namespace ListRepositoriesInDomainRequest { @@ -3766,17 +3764,17 @@ export namespace ListRepositoriesInDomainRequest { export interface ListRepositoriesInDomainResult { /** *

            - * If there are additional results, this is the token for the next set of results. - *

            + * The returned list of repositories. + *

            */ - nextToken?: string; + repositories?: RepositorySummary[]; /** *

            - * The returned list of repositories. - *

            + * If there are additional results, this is the token for the next set of results. + *

            */ - repositories?: RepositorySummary[]; + nextToken?: string; } export namespace ListRepositoriesInDomainResult { @@ -3786,6 +3784,13 @@ export namespace ListRepositoriesInDomainResult { } export interface PutDomainPermissionsPolicyRequest { + /** + *

            + * The name of the domain on which to set the resource policy. + *

            + */ + domain: string | undefined; + /** *

            * The current revision of the resource policy to be set. This revision is used for optimistic locking, which @@ -3802,13 +3807,6 @@ export interface PutDomainPermissionsPolicyRequest { */ domainOwner?: string; - /** - *

            - * The name of the domain on which to set the resource policy. - *

            - */ - domain: string | undefined; - /** *

            A valid displayable JSON Aspen policy string to be set as the access control resource * policy on the provided domain.

            @@ -3838,12 +3836,15 @@ export namespace PutDomainPermissionsPolicyResult { export interface PutRepositoryPermissionsPolicyRequest { /** *

            - * Sets the revision of the resource policy that specifies permissions to access the repository. - * This revision is used for optimistic locking, which prevents others from overwriting your - * changes to the repository's resource policy. + * The name of the domain containing the repository to set the resource policy on. *

            */ - policyRevision?: string; + domain: string | undefined; + + /** + *

            The name of the repository to set the resource policy on.

            + */ + repository: string | undefined; /** *

            @@ -3855,21 +3856,18 @@ export interface PutRepositoryPermissionsPolicyRequest { /** *

            - * The name of the domain containing the repository to set the resource policy on. + * Sets the revision of the resource policy that specifies permissions to access the repository. + * This revision is used for optimistic locking, which prevents others from overwriting your + * changes to the repository's resource policy. *

            */ - domain: string | undefined; + policyRevision?: string; /** *

            A valid displayable JSON Aspen policy string to be set as the access control resource * policy on the provided repository.

            */ policyDocument: string | undefined; - - /** - *

            The name of the repository to set the resource policy on.

            - */ - repository: string | undefined; } export namespace PutRepositoryPermissionsPolicyRequest { @@ -3892,35 +3890,6 @@ export namespace PutRepositoryPermissionsPolicyResult { } export interface UpdatePackageVersionsStatusRequest { - /** - *

            - * The domain that contains the repository that contains the package versions with a status to be updated. - *

            - */ - domain: string | undefined; - - /** - *

            - * An array of strings that specify the versions of the package with the statuses to update. - *

            - */ - versions: string[] | undefined; - - /** - *

            The package version’s expected status before it is updated. If - * expectedStatus is provided, the package version's status is updated only if its - * status at the time UpdatePackageVersionsStatus is called matches - * expectedStatus.

            - */ - expectedStatus?: PackageVersionStatus | string; - - /** - *

            - * The name of the package with the version statuses to update. - *

            - */ - package: string | undefined; - /** *

            * The namespace of the package. The package component that specifies its @@ -3947,6 +3916,22 @@ export interface UpdatePackageVersionsStatusRequest { */ namespace?: string; + /** + *

            The package version’s expected status before it is updated. If + * expectedStatus is provided, the package version's status is updated only if its + * status at the time UpdatePackageVersionsStatus is called matches + * expectedStatus.

            + */ + expectedStatus?: PackageVersionStatus | string; + + /** + *

            + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

            + */ + domainOwner?: string; + /** *

            A map of package versions and package version revisions. The map key is the * package version (for example, 3.5.2), and the map value is the @@ -3954,6 +3939,13 @@ export interface UpdatePackageVersionsStatusRequest { */ versionRevisions?: { [key: string]: string }; + /** + *

            + * An array of strings that specify the versions of the package with the statuses to update. + *

            + */ + versions: string[] | undefined; + /** *

            * A format that specifies the type of the package with the statuses to update. The valid values are: @@ -3980,18 +3972,17 @@ export interface UpdatePackageVersionsStatusRequest { /** *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            + * The domain that contains the repository that contains the package versions with a status to be updated. + *

            */ - domainOwner?: string; + domain: string | undefined; /** *

            - * The repository that contains the package versions with the status you want to update. + * The name of the package with the version statuses to update. *

            */ - repository: string | undefined; + package: string | undefined; /** *

            @@ -3999,6 +3990,13 @@ export interface UpdatePackageVersionsStatusRequest { *

            */ targetStatus: PackageVersionStatus | string | undefined; + + /** + *

            + * The repository that contains the package versions with the status you want to update. + *

            + */ + repository: string | undefined; } export namespace UpdatePackageVersionsStatusRequest { @@ -4030,6 +4028,21 @@ export namespace UpdatePackageVersionsStatusResult { } export interface UpdateRepositoryRequest { + /** + *

            A list of upstream repositories to associate with the repository. The order of the upstream repositories + * in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more + * information, see Working with upstream repositories.

            + */ + upstreams?: UpstreamRepository[]; + + /** + *

            + * The 12-digit account number of the AWS account that owns the domain. It does not include + * dashes or spaces. + *

            + */ + domainOwner?: string; + /** *

            * The name of the domain associated with the repository to update. @@ -4044,27 +4057,12 @@ export interface UpdateRepositoryRequest { */ repository: string | undefined; - /** - *

            - * The 12-digit account number of the AWS account that owns the domain. It does not include - * dashes or spaces. - *

            - */ - domainOwner?: string; - /** *

            * An updated repository description. *

            */ description?: string; - - /** - *

            A list of upstream repositories to associate with the repository. The order of the upstream repositories - * in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more - * information, see Working with upstream repositories.

            - */ - upstreams?: UpstreamRepository[]; } export namespace UpdateRepositoryRequest { diff --git a/clients/client-codeartifact/protocols/Aws_restJson1.ts b/clients/client-codeartifact/protocols/Aws_restJson1.ts index 270ba526a328..4957875ed833 100644 --- a/clients/client-codeartifact/protocols/Aws_restJson1.ts +++ b/clients/client-codeartifact/protocols/Aws_restJson1.ts @@ -139,9 +139,9 @@ export const serializeAws_restJson1AssociateExternalConnectionCommand = async ( }; let resolvedPath = "/v1/repository/external-connection"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.domain !== undefined && { domain: input.domain }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.externalConnection !== undefined && { "external-connection": input.externalConnection }), }; let body: any; @@ -167,13 +167,13 @@ export const serializeAws_restJson1CopyPackageVersionsCommand = async ( }; let resolvedPath = "/v1/package/versions/copy"; const query: any = { - ...(input.domain !== undefined && { domain: input.domain }), + ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.format !== undefined && { format: input.format }), ...(input.sourceRepository !== undefined && { "source-repository": input.sourceRepository }), ...(input.package !== undefined && { package: input.package }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.domain !== undefined && { domain: input.domain }), ...(input.destinationRepository !== undefined && { "destination-repository": input.destinationRepository }), - ...(input.format !== undefined && { format: input.format }), }; let body: any; body = JSON.stringify({ @@ -236,9 +236,9 @@ export const serializeAws_restJson1CreateRepositoryCommand = async ( }; let resolvedPath = "/v1/repository"; const query: any = { - ...(input.repository !== undefined && { repository: input.repository }), ...(input.domain !== undefined && { domain: input.domain }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.repository !== undefined && { repository: input.repository }), }; let body: any; body = JSON.stringify({ @@ -269,8 +269,8 @@ export const serializeAws_restJson1DeleteDomainCommand = async ( }; let resolvedPath = "/v1/domain"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -296,8 +296,8 @@ export const serializeAws_restJson1DeleteDomainPermissionsPolicyCommand = async let resolvedPath = "/v1/domain/permissions/policy"; const query: any = { ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.domain !== undefined && { domain: input.domain }), ...(input.policyRevision !== undefined && { "policy-revision": input.policyRevision }), + ...(input.domain !== undefined && { domain: input.domain }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -322,11 +322,11 @@ export const serializeAws_restJson1DeletePackageVersionsCommand = async ( }; let resolvedPath = "/v1/package/versions/delete"; const query: any = { - ...(input.domain !== undefined && { domain: input.domain }), - ...(input.repository !== undefined && { repository: input.repository }), + ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.format !== undefined && { format: input.format }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.repository !== undefined && { repository: input.repository }), + ...(input.domain !== undefined && { domain: input.domain }), ...(input.package !== undefined && { package: input.package }), }; let body: any; @@ -358,9 +358,9 @@ export const serializeAws_restJson1DeleteRepositoryCommand = async ( }; let resolvedPath = "/v1/repository"; const query: any = { + ...(input.domain !== undefined && { domain: input.domain }), ...(input.repository !== undefined && { repository: input.repository }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.domain !== undefined && { domain: input.domain }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -385,8 +385,8 @@ export const serializeAws_restJson1DeleteRepositoryPermissionsPolicyCommand = as }; let resolvedPath = "/v1/repository/permissions/policies"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.policyRevision !== undefined && { "policy-revision": input.policyRevision }), ...(input.domain !== undefined && { domain: input.domain }), }; @@ -439,13 +439,13 @@ export const serializeAws_restJson1DescribePackageVersionCommand = async ( }; let resolvedPath = "/v1/package/version"; const query: any = { - ...(input.domain !== undefined && { domain: input.domain }), + ...(input.packageVersion !== undefined && { version: input.packageVersion }), + ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.package !== undefined && { package: input.package }), + ...(input.domain !== undefined && { domain: input.domain }), ...(input.repository !== undefined && { repository: input.repository }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.format !== undefined && { format: input.format }), - ...(input.packageVersion !== undefined && { version: input.packageVersion }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -497,9 +497,9 @@ export const serializeAws_restJson1DisassociateExternalConnectionCommand = async }; let resolvedPath = "/v1/repository/external-connection"; const query: any = { + ...(input.externalConnection !== undefined && { "external-connection": input.externalConnection }), ...(input.repository !== undefined && { repository: input.repository }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.externalConnection !== undefined && { "external-connection": input.externalConnection }), ...(input.domain !== undefined && { domain: input.domain }), }; let body: any; @@ -525,11 +525,11 @@ export const serializeAws_restJson1DisposePackageVersionsCommand = async ( }; let resolvedPath = "/v1/package/versions/dispose"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.domain !== undefined && { domain: input.domain }), + ...(input.repository !== undefined && { repository: input.repository }), ...(input.format !== undefined && { format: input.format }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.namespace !== undefined && { namespace: input.namespace }), - ...(input.repository !== undefined && { repository: input.repository }), - ...(input.domain !== undefined && { domain: input.domain }), ...(input.package !== undefined && { package: input.package }), }; let body: any; @@ -564,9 +564,9 @@ export const serializeAws_restJson1GetAuthorizationTokenCommand = async ( }; let resolvedPath = "/v1/authorization-token"; const query: any = { + ...(input.domain !== undefined && { domain: input.domain }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.durationSeconds !== undefined && { duration: input.durationSeconds.toString() }), - ...(input.domain !== undefined && { domain: input.domain }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -617,15 +617,15 @@ export const serializeAws_restJson1GetPackageVersionAssetCommand = async ( }; let resolvedPath = "/v1/package/version/asset"; const query: any = { + ...(input.format !== undefined && { format: input.format }), + ...(input.packageVersionRevision !== undefined && { revision: input.packageVersionRevision }), ...(input.packageVersion !== undefined && { version: input.packageVersion }), ...(input.domain !== undefined && { domain: input.domain }), - ...(input.package !== undefined && { package: input.package }), - ...(input.packageVersionRevision !== undefined && { revision: input.packageVersionRevision }), - ...(input.format !== undefined && { format: input.format }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.package !== undefined && { package: input.package }), ...(input.asset !== undefined && { asset: input.asset }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.namespace !== undefined && { namespace: input.namespace }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -650,13 +650,13 @@ export const serializeAws_restJson1GetPackageVersionReadmeCommand = async ( }; let resolvedPath = "/v1/package/version/readme"; const query: any = { - ...(input.package !== undefined && { package: input.package }), - ...(input.repository !== undefined && { repository: input.repository }), ...(input.packageVersion !== undefined && { version: input.packageVersion }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.repository !== undefined && { repository: input.repository }), + ...(input.package !== undefined && { package: input.package }), ...(input.format !== undefined && { format: input.format }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -681,10 +681,10 @@ export const serializeAws_restJson1GetRepositoryEndpointCommand = async ( }; let resolvedPath = "/v1/repository/endpoint"; const query: any = { + ...(input.repository !== undefined && { repository: input.repository }), ...(input.domain !== undefined && { domain: input.domain }), ...(input.format !== undefined && { format: input.format }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.repository !== undefined && { repository: input.repository }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -709,9 +709,9 @@ export const serializeAws_restJson1GetRepositoryPermissionsPolicyCommand = async }; let resolvedPath = "/v1/repository/permissions/policy"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.domain !== undefined && { domain: input.domain }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.domain !== undefined && { domain: input.domain }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -762,12 +762,12 @@ export const serializeAws_restJson1ListPackagesCommand = async ( let resolvedPath = "/v1/packages"; const query: any = { ...(input.namespace !== undefined && { namespace: input.namespace }), - ...(input.format !== undefined && { format: input.format }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), - ...(input.nextToken !== undefined && { "next-token": input.nextToken }), - ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), - ...(input.packagePrefix !== undefined && { "package-prefix": input.packagePrefix }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.packagePrefix !== undefined && { "package-prefix": input.packagePrefix }), + ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), + ...(input.nextToken !== undefined && { "next-token": input.nextToken }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.format !== undefined && { format: input.format }), ...(input.domain !== undefined && { domain: input.domain }), }; let body: any; @@ -793,15 +793,15 @@ export const serializeAws_restJson1ListPackageVersionAssetsCommand = async ( }; let resolvedPath = "/v1/package/version/assets"; const query: any = { - ...(input.nextToken !== undefined && { "next-token": input.nextToken }), - ...(input.packageVersion !== undefined && { version: input.packageVersion }), + ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), ...(input.domain !== undefined && { domain: input.domain }), + ...(input.repository !== undefined && { repository: input.repository }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.format !== undefined && { format: input.format }), - ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), + ...(input.nextToken !== undefined && { "next-token": input.nextToken }), + ...(input.packageVersion !== undefined && { version: input.packageVersion }), ...(input.package !== undefined && { package: input.package }), - ...(input.repository !== undefined && { repository: input.repository }), - ...(input.namespace !== undefined && { namespace: input.namespace }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -826,14 +826,14 @@ export const serializeAws_restJson1ListPackageVersionDependenciesCommand = async }; let resolvedPath = "/v1/package/version/dependencies"; const query: any = { - ...(input.domain !== undefined && { domain: input.domain }), - ...(input.package !== undefined && { package: input.package }), - ...(input.packageVersion !== undefined && { version: input.packageVersion }), - ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.nextToken !== undefined && { "next-token": input.nextToken }), ...(input.format !== undefined && { format: input.format }), - ...(input.repository !== undefined && { repository: input.repository }), + ...(input.namespace !== undefined && { namespace: input.namespace }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.packageVersion !== undefined && { version: input.packageVersion }), + ...(input.package !== undefined && { package: input.package }), + ...(input.domain !== undefined && { domain: input.domain }), + ...(input.repository !== undefined && { repository: input.repository }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -858,16 +858,16 @@ export const serializeAws_restJson1ListPackageVersionsCommand = async ( }; let resolvedPath = "/v1/package/versions"; const query: any = { - ...(input.repository !== undefined && { repository: input.repository }), - ...(input.status !== undefined && { status: input.status }), - ...(input.domain !== undefined && { domain: input.domain }), - ...(input.package !== undefined && { package: input.package }), - ...(input.namespace !== undefined && { namespace: input.namespace }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.format !== undefined && { format: input.format }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.nextToken !== undefined && { "next-token": input.nextToken }), - ...(input.sortBy !== undefined && { sortBy: input.sortBy }), ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), + ...(input.domain !== undefined && { domain: input.domain }), + ...(input.repository !== undefined && { repository: input.repository }), + ...(input.package !== undefined && { package: input.package }), + ...(input.sortBy !== undefined && { sortBy: input.sortBy }), + ...(input.namespace !== undefined && { namespace: input.namespace }), + ...(input.status !== undefined && { status: input.status }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -892,9 +892,9 @@ export const serializeAws_restJson1ListRepositoriesCommand = async ( }; let resolvedPath = "/v1/repositories"; const query: any = { - ...(input.repositoryPrefix !== undefined && { "repository-prefix": input.repositoryPrefix }), - ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), ...(input.nextToken !== undefined && { "next-token": input.nextToken }), + ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), + ...(input.repositoryPrefix !== undefined && { "repository-prefix": input.repositoryPrefix }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -919,12 +919,12 @@ export const serializeAws_restJson1ListRepositoriesInDomainCommand = async ( }; let resolvedPath = "/v1/domain/repositories"; const query: any = { - ...(input.nextToken !== undefined && { "next-token": input.nextToken }), + ...(input.repositoryPrefix !== undefined && { "repository-prefix": input.repositoryPrefix }), ...(input.administratorAccount !== undefined && { "administrator-account": input.administratorAccount }), - ...(input.maxResults !== undefined && { "max-results": input.maxResults.toString() }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), - ...(input.repositoryPrefix !== undefined && { "repository-prefix": input.repositoryPrefix }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(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(); @@ -976,9 +976,9 @@ export const serializeAws_restJson1PutRepositoryPermissionsPolicyCommand = async }; let resolvedPath = "/v1/repository/permissions/policy"; const query: any = { - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), ...(input.repository !== undefined && { repository: input.repository }), + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), }; let body: any; body = JSON.stringify({ @@ -1007,11 +1007,11 @@ export const serializeAws_restJson1UpdatePackageVersionsStatusCommand = async ( }; let resolvedPath = "/v1/package/versions/update_status"; const query: any = { - ...(input.domain !== undefined && { domain: input.domain }), - ...(input.package !== undefined && { package: input.package }), ...(input.namespace !== undefined && { namespace: input.namespace }), - ...(input.format !== undefined && { format: input.format }), ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), + ...(input.format !== undefined && { format: input.format }), + ...(input.domain !== undefined && { domain: input.domain }), + ...(input.package !== undefined && { package: input.package }), ...(input.repository !== undefined && { repository: input.repository }), }; let body: any; @@ -1047,9 +1047,9 @@ export const serializeAws_restJson1UpdateRepositoryCommand = async ( }; let resolvedPath = "/v1/repository"; const query: any = { + ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), ...(input.domain !== undefined && { domain: input.domain }), ...(input.repository !== undefined && { repository: input.repository }), - ...(input.domainOwner !== undefined && { "domain-owner": input.domainOwner }), }; let body: any; body = JSON.stringify({ @@ -2641,12 +2641,12 @@ export const deserializeAws_restJson1GetPackageVersionAssetCommand = async ( if (output.headers["x-packageversionrevision"] !== undefined) { contents.packageVersionRevision = output.headers["x-packageversionrevision"]; } - if (output.headers["x-packageversion"] !== undefined) { - contents.packageVersion = output.headers["x-packageversion"]; - } if (output.headers["x-assetname"] !== undefined) { contents.assetName = output.headers["x-assetname"]; } + if (output.headers["x-packageversion"] !== undefined) { + contents.packageVersion = output.headers["x-packageversion"]; + } const data: any = output.body; contents.asset = data; return Promise.resolve(contents); diff --git a/clients/client-codebuild/CodeBuild.ts b/clients/client-codebuild/CodeBuild.ts index 623a8a5e2323..806f3e20042f 100644 --- a/clients/client-codebuild/CodeBuild.ts +++ b/clients/client-codebuild/CodeBuild.ts @@ -785,12 +785,7 @@ export class CodeBuild extends CodeBuildClient { } /** - *

            - * DeleteReportGroup: Deletes a report group. Before you delete a report group, you must - * delete its reports. Use ListReportsForReportGroup to - * get the reports in a report group. Use DeleteReport to delete the reports. If you call - * DeleteReportGroup for a report group that contains one or more reports, an exception is thrown. - *

            + *

            Deletes a report group. Before you delete a report group, you must delete its reports.

            */ public deleteReportGroup( args: DeleteReportGroupCommandInput, diff --git a/clients/client-codebuild/models/models_0.ts b/clients/client-codebuild/models/models_0.ts index c598d09f96aa..4d56a5c7b242 100644 --- a/clients/client-codebuild/models/models_0.ts +++ b/clients/client-codebuild/models/models_0.ts @@ -56,14 +56,14 @@ export namespace BatchDeleteBuildsInput { */ export interface BuildNotDeleted { /** - *

            The ID of the build that could not be successfully deleted.

            + *

            Additional information about the build that could not be successfully deleted.

            */ - id?: string; + statusCode?: string; /** - *

            Additional information about the build that could not be successfully deleted.

            + *

            The ID of the build that could not be successfully deleted.

            */ - statusCode?: string; + id?: string; } export namespace BuildNotDeleted { @@ -122,6 +122,19 @@ export namespace BatchGetBuildBatchesInput { *

            Information about build output artifacts.

            */ export interface BuildArtifacts { + /** + *

            Information about the location of the build artifacts.

            + */ + location?: string; + + /** + *

            If this flag is set, a name specified in the buildspec file overrides the artifact + * name. The name specified in a buildspec file is calculated at build time and uses the + * Shell Command Language. For example, you can append a date and time to your artifact + * name so that it is always unique.

            + */ + overrideArtifactName?: boolean; + /** *

            The SHA-256 hash of the build artifact.

            *

            You can use this hash along with a checksum tool to confirm file integrity and @@ -133,6 +146,11 @@ export interface BuildArtifacts { */ sha256sum?: string; + /** + *

            An identifier for this artifact definition.

            + */ + artifactIdentifier?: string; + /** *

            Information that tells you if encryption for build artifacts is disabled.

            */ @@ -148,24 +166,6 @@ export interface BuildArtifacts { * */ md5sum?: string; - - /** - *

            If this flag is set, a name specified in the buildspec file overrides the artifact - * name. The name specified in a buildspec file is calculated at build time and uses the - * Shell Command Language. For example, you can append a date and time to your artifact - * name so that it is always unique.

            - */ - overrideArtifactName?: boolean; - - /** - *

            An identifier for this artifact definition.

            - */ - artifactIdentifier?: string; - - /** - *

            Information about the location of the build artifacts.

            - */ - location?: string; } export namespace BuildArtifacts { @@ -178,11 +178,6 @@ export namespace BuildArtifacts { *

            Specifies restrictions for the batch build.

            */ export interface BatchRestrictions { - /** - *

            Specifies the maximum number of builds allowed.

            - */ - maximumBuildsAllowed?: number; - /** *

            An array of strings that specify the compute types that are allowed for the batch * build. See Build environment @@ -190,6 +185,11 @@ export interface BatchRestrictions { *

            */ computeTypesAllowed?: string[]; + + /** + *

            Specifies the maximum number of builds allowed.

            + */ + maximumBuildsAllowed?: number; } export namespace BatchRestrictions { @@ -203,26 +203,26 @@ export namespace BatchRestrictions { */ export interface ProjectBuildBatchConfig { /** - *

            A BatchRestrictions object that specifies the restrictions for the batch - * build.

            + *

            Specifies the maximum amount of time, in minutes, that the batch build must be completed in.

            */ - restrictions?: BatchRestrictions; + timeoutInMins?: number; /** - *

            Specifies the service role ARN for the batch build project.

            + *

            Specifies if the build artifacts for the batch build should be combined into a single + * artifact location.

            */ - serviceRole?: string; + combineArtifacts?: boolean; /** - *

            Specifies the maximum amount of time, in minutes, that the batch build must be completed in.

            + *

            Specifies the service role ARN for the batch build project.

            */ - timeoutInMins?: number; + serviceRole?: string; /** - *

            Specifies if the build artifacts for the batch build should be combined into a single - * artifact location.

            + *

            A BatchRestrictions object that specifies the restrictions for the batch + * build.

            */ - combineArtifacts?: boolean; + restrictions?: BatchRestrictions; } export namespace ProjectBuildBatchConfig { @@ -271,23 +271,6 @@ export namespace ResolvedArtifact { *

            Contains summary information about a batch build group.

            */ export interface BuildSummary { - /** - *

            A ResolvedArtifact object that represents the primary build artifacts for the - * build group.

            - */ - primaryArtifact?: ResolvedArtifact; - - /** - *

            The batch build ARN.

            - */ - arn?: string; - - /** - *

            An array of ResolvedArtifact objects that represents the secondary build - * artifacts for the build group.

            - */ - secondaryArtifacts?: ResolvedArtifact[]; - /** *

            The status of the build group.

            *
            @@ -319,6 +302,23 @@ export interface BuildSummary { */ buildStatus?: StatusType | string; + /** + *

            A ResolvedArtifact object that represents the primary build artifacts for the + * build group.

            + */ + primaryArtifact?: ResolvedArtifact; + + /** + *

            The batch build ARN.

            + */ + arn?: string; + + /** + *

            An array of ResolvedArtifact objects that represents the secondary build + * artifacts for the build group.

            + */ + secondaryArtifacts?: ResolvedArtifact[]; + /** *

            When the build was started, expressed in Unix time format.

            */ @@ -337,6 +337,12 @@ export namespace BuildSummary { * build groups.

            */ export interface BuildGroup { + /** + *

            An array of strings that contain the identifiers of the build groups that this build + * group depends on.

            + */ + dependsOn?: string[]; + /** *

            A BuildSummary object that contains a summary of the current build * group.

            @@ -349,12 +355,6 @@ export interface BuildGroup { */ priorBuildSummaryList?: BuildSummary[]; - /** - *

            An array of strings that contain the identifiers of the build groups that this build - * group depends on.

            - */ - dependsOn?: string[]; - /** *

            Specifies if failures in this build group can be ignored.

            */ @@ -388,26 +388,6 @@ export enum CacheType { *

            Information about the cache for the build project.

            */ export interface ProjectCache { - /** - *

            The type of cache used by the build project. Valid values include:

            - *
              - *
            • - *

              - * NO_CACHE: The build project does not use any cache.

              - *
            • - *
            • - *

              - * S3: The build project reads and writes from and to S3.

              - *
            • - *
            • - *

              - * LOCAL: The build project stores a cache locally on a build host - * that is only available to that build host.

              - *
            • - *
            - */ - type: CacheType | string | undefined; - /** *

            If you use a LOCAL cache, the local cache mode. You can use one or more * local cache modes at the same time.

            @@ -471,6 +451,26 @@ export interface ProjectCache { */ modes?: (CacheMode | string)[]; + /** + *

            The type of cache used by the build project. Valid values include:

            + *
              + *
            • + *

              + * NO_CACHE: The build project does not use any cache.

              + *
            • + *
            • + *

              + * S3: The build project reads and writes from and to S3.

              + *
            • + *
            • + *

              + * LOCAL: The build project stores a cache locally on a build host + * that is only available to that build host.

              + *
            • + *
            + */ + type: CacheType | string | undefined; + /** *

            Information about the cache location:

            *
            */ @@ -619,6 +621,66 @@ export enum EnvironmentType { *

            Information about the build environment of the build project.

            */ export interface ProjectEnvironment { + /** + *

            Enables running the Docker daemon inside a Docker container. Set to true only if the + * build project is used to build Docker images. Otherwise, a build that attempts to + * interact with the Docker daemon fails. The default setting is false.

            + *

            You can initialize the Docker daemon during the install phase of your build by adding + * one of the following sets of commands to the install phase of your buildspec + * file:

            + *

            If the operating system's base image is Ubuntu Linux:

            + *

            + * - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& + *

            + *

            + * - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" + *

            + *

            If the operating system's base image is Alpine Linux and the previous command does not + * work, add the -t argument to timeout:

            + *

            + * - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& + *

            + *

            + * - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done" + *

            + */ + privilegedMode?: boolean; + + /** + *

            The certificate to use with this build project.

            + */ + certificate?: string; + + /** + *

            The type of build environment to use for related builds.

            + *
              + *
            • + *

              The environment type ARM_CONTAINER is available only in regions + * US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), + * Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and + * EU (Frankfurt).

              + *
            • + *
            • + *

              The environment type LINUX_CONTAINER with compute type + * build.general1.2xlarge is available only in regions + * US East (N. Virginia), US East (Ohio), US West (Oregon), + * Canada (Central), EU (Ireland), EU (London), + * EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), + * Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and + * China (Ningxia).

              + *
            • + *
            • + *

              The environment type LINUX_GPU_CONTAINER is available only in + * regions US East (N. Virginia), US East (Ohio), US West (Oregon), + * Canada (Central), EU (Ireland), EU (London), + * EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), + * Asia Pacific (Singapore), Asia Pacific (Sydney) , China (Beijing), and + * China (Ningxia).

              + *
            • + *
            + */ + type: EnvironmentType | string | undefined; + /** *

            Information about the compute resources the build project uses. Available values * include:

            @@ -666,6 +728,38 @@ export interface ProjectEnvironment { */ computeType: ComputeType | string | undefined; + /** + *

            The image tag or image digest that identifies the Docker image to use for this build + * project. Use the following formats:

            + *
              + *
            • + *

              For an image tag: /:. For + * example, in the Docker repository that CodeBuild uses to manage its Docker + * images, this would be aws/codebuild/standard:4.0. To specify the + * latest version of this image, this would be + * aws/codebuild/standard:latest.

              + *
            • + *
            • + *

              For an image digest: /@. + * For example, to specify an image with the digest + * "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf," use + * /@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf.

              + *
            • + *
            + */ + image: string | undefined; + + /** + *

            The credentials for access to a private registry.

            + */ + registryCredential?: RegistryCredential; + + /** + *

            A set of environment variables to make available to builds for this build + * project.

            + */ + environmentVariables?: EnvironmentVariable[]; + /** *

            The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid * values:

            @@ -687,97 +781,7 @@ export interface ProjectEnvironment { *

            */ imagePullCredentialsType?: ImagePullCredentialsType | string; - - /** - *

            The type of build environment to use for related builds.

            - *
              - *
            • - *

              The environment type ARM_CONTAINER is available only in regions - * US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), - * Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and - * EU (Frankfurt).

              - *
            • - *
            • - *

              The environment type LINUX_CONTAINER with compute type - * build.general1.2xlarge is available only in regions - * US East (N. Virginia), US East (Ohio), US West (Oregon), - * Canada (Central), EU (Ireland), EU (London), - * EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), - * Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and - * China (Ningxia).

              - *
            • - *
            • - *

              The environment type LINUX_GPU_CONTAINER is available only in - * regions US East (N. Virginia), US East (Ohio), US West (Oregon), - * Canada (Central), EU (Ireland), EU (London), - * EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), - * Asia Pacific (Singapore), Asia Pacific (Sydney) , China (Beijing), and - * China (Ningxia).

              - *
            • - *
            - */ - type: EnvironmentType | string | undefined; - - /** - *

            The image tag or image digest that identifies the Docker image to use for this build - * project. Use the following formats:

            - *
              - *
            • - *

              For an image tag: registry/repository:tag. For example, to - * specify an image with the tag "latest," use - * registry/repository:latest.

              - *
            • - *
            • - *

              For an image digest: registry/repository@digest. For example, to - * specify an image with the digest - * "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf," use - * registry/repository@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf.

              - *
            • - *
            - */ - image: string | undefined; - - /** - *

            The certificate to use with this build project.

            - */ - certificate?: string; - - /** - *

            The credentials for access to a private registry.

            - */ - registryCredential?: RegistryCredential; - - /** - *

            Enables running the Docker daemon inside a Docker container. Set to true only if the - * build project is used to build Docker images. Otherwise, a build that attempts to - * interact with the Docker daemon fails. The default setting is false.

            - *

            You can initialize the Docker daemon during the install phase of your build by adding - * one of the following sets of commands to the install phase of your buildspec - * file:

            - *

            If the operating system's base image is Ubuntu Linux:

            - *

            - * - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& - *

            - *

            - * - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" - *

            - *

            If the operating system's base image is Alpine Linux and the previous command does not - * work, add the -t argument to timeout:

            - *

            - * - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& - *

            - *

            - * - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done" - *

            - */ - privilegedMode?: boolean; - - /** - *

            A set of environment variables to make available to builds for this build - * project.

            - */ - environmentVariables?: EnvironmentVariable[]; -} +} export namespace ProjectEnvironment { export const filterSensitiveLog = (obj: ProjectEnvironment): any => ({ @@ -796,6 +800,26 @@ export enum FileSystemType { *

            */ export interface ProjectFileSystemLocation { + /** + *

            The name used to access a file system created by Amazon EFS. CodeBuild creates an + * environment variable by appending the identifier in all capital letters to + * CODEBUILD_. For example, if you specify my-efs for + * identifier, a new environment variable is create named + * CODEBUILD_MY-EFS.

            + *

            The identifier is used to mount your file system.

            + */ + identifier?: string; + + /** + *

            The location in the container where you mount the file system.

            + */ + mountPoint?: string; + + /** + *

            The type of the file system. The one supported type is EFS.

            + */ + type?: FileSystemType | string; + /** *

            A string that specifies the location of the file system created by Amazon EFS. Its * format is efs-dns-name:/directory-path. You can find the DNS name of file @@ -810,21 +834,6 @@ export interface ProjectFileSystemLocation { */ location?: string; - /** - *

            The location in the container where you mount the file system.

            - */ - mountPoint?: string; - - /** - *

            The name used to access a file system created by Amazon EFS. CodeBuild creates an - * environment variable by appending the identifier in all capital letters to - * CODEBUILD_. For example, if you specify my-efs for - * identifier, a new environment variable is create named - * CODEBUILD_MY-EFS.

            - *

            The identifier is used to mount your file system.

            - */ - identifier?: string; - /** *

            The mount options for a file system created by AWS EFS. The default mount options * used by CodeBuild are @@ -833,11 +842,6 @@ export interface ProjectFileSystemLocation { * Options.

            */ mountOptions?: string; - - /** - *

            The type of the file system. The one supported type is EFS.

            - */ - type?: FileSystemType | string; } export namespace ProjectFileSystemLocation { @@ -855,12 +859,6 @@ export enum LogsConfigStatusType { *

            Information about Amazon CloudWatch Logs for a build project.

            */ export interface CloudWatchLogsConfig { - /** - *

            The group name of the logs in Amazon CloudWatch Logs. For more information, see Working - * with Log Groups and Log Streams.

            - */ - groupName?: string; - /** *

            The prefix of the stream name of the Amazon CloudWatch Logs. For more information, see Working * with Log Groups and Log Streams.

            @@ -881,6 +879,12 @@ export interface CloudWatchLogsConfig { * */ status: LogsConfigStatusType | string | undefined; + + /** + *

            The group name of the logs in Amazon CloudWatch Logs. For more information, see Working + * with Log Groups and Log Streams.

            + */ + groupName?: string; } export namespace CloudWatchLogsConfig { @@ -893,12 +897,6 @@ export namespace CloudWatchLogsConfig { *

            Information about S3 logs for a build project.

            */ export interface S3LogsConfig { - /** - *

            Set to true if you do not want your S3 build log output encrypted. By default S3 - * build logs are encrypted.

            - */ - encryptionDisabled?: boolean; - /** *

            The current status of the S3 build logs. Valid values are:

            *
              @@ -915,6 +913,12 @@ export interface S3LogsConfig { */ status: LogsConfigStatusType | string | undefined; + /** + *

              Set to true if you do not want your S3 build log output encrypted. By default S3 + * build logs are encrypted.

              + */ + encryptionDisabled?: boolean; + /** *

              The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 bucket * name is my-bucket, and your path prefix is build-log, then @@ -935,16 +939,16 @@ export namespace S3LogsConfig { * specified S3 bucket, or both.

              */ export interface LogsConfig { - /** - *

              Information about Amazon CloudWatch Logs for a build project. Amazon CloudWatch Logs are enabled by default.

              - */ - cloudWatchLogs?: CloudWatchLogsConfig; - /** *

              Information about logs built to an S3 bucket for a build project. S3 logs are not * enabled by default.

              */ s3Logs?: S3LogsConfig; + + /** + *

              Information about Amazon CloudWatch Logs for a build project. Amazon CloudWatch Logs are enabled by default.

              + */ + cloudWatchLogs?: CloudWatchLogsConfig; } export namespace LogsConfig { @@ -990,6 +994,28 @@ export enum BuildBatchPhaseType { *

              Contains information about a stage for a batch build.

              */ export interface BuildBatchPhase { + /** + *

              When the batch build phase started, expressed in Unix time format.

              + */ + startTime?: Date; + + /** + *

              When the batch build phase ended, expressed in Unix time format.

              + */ + endTime?: Date; + + /** + *

              How long, in seconds, between the starting and ending times of the batch build's + * phase.

              + */ + durationInSeconds?: number; + + /** + *

              Additional information about the batch build phase. Especially to help troubleshoot a + * failed btach build.

              + */ + contexts?: PhaseContext[]; + /** *

              The current status of the batch build phase. Valid values include:

              *
              @@ -1061,28 +1087,6 @@ export interface BuildBatchPhase { *
              */ phaseType?: BuildBatchPhaseType | string; - - /** - *

              When the batch build phase started, expressed in Unix time format.

              - */ - startTime?: Date; - - /** - *

              How long, in seconds, between the starting and ending times of the batch build's - * phase.

              - */ - durationInSeconds?: number; - - /** - *

              Additional information about the batch build phase. Especially to help troubleshoot a - * failed btach build.

              - */ - contexts?: PhaseContext[]; - - /** - *

              When the batch build phase ended, expressed in Unix time format.

              - */ - endTime?: Date; } export namespace BuildBatchPhase { @@ -1102,11 +1106,6 @@ export enum SourceAuthType { * this information directly.

              */ export interface SourceAuth { - /** - *

              The resource value that applies to the specified authorization type.

              - */ - resource?: string; - /** * *

              This data type is deprecated and is no longer accurate or used.

              @@ -1115,6 +1114,11 @@ export interface SourceAuth { * represents the OAuth authorization type.

              */ type: SourceAuthType | string | undefined; + + /** + *

              The resource value that applies to the specified authorization type.

              + */ + resource?: string; } export namespace SourceAuth { @@ -1129,40 +1133,40 @@ export namespace SourceAuth { */ export interface BuildStatusConfig { /** - *

              Specifies the context of the build status CodeBuild sends to the source provider. The + *

              Specifies the target url of the build status CodeBuild sends to the source provider. The * usage of this parameter depends on the source provider.

              *
              *
              Bitbucket
              *
              - *

              This parameter is used for the name parameter in the - * Bitbucket commit status. For more information, see build in the Bitbucket API documentation.

              + *

              This parameter is used for the url parameter in the Bitbucket + * commit status. For more information, see build in the Bitbucket API documentation.

              *
              *
              GitHub/GitHub Enterprise Server
              *
              - *

              This parameter is used for the context parameter in the + *

              This parameter is used for the target_url parameter in the * GitHub commit status. For more information, see Create a commit status in the GitHub developer guide.

              *
              *
              */ - context?: string; + targetUrl?: string; /** - *

              Specifies the target url of the build status CodeBuild sends to the source provider. The + *

              Specifies the context of the build status CodeBuild sends to the source provider. The * usage of this parameter depends on the source provider.

              *
              *
              Bitbucket
              *
              - *

              This parameter is used for the url parameter in the Bitbucket - * commit status. For more information, see build in the Bitbucket API documentation.

              + *

              This parameter is used for the name parameter in the + * Bitbucket commit status. For more information, see build in the Bitbucket API documentation.

              *
              *
              GitHub/GitHub Enterprise Server
              *
              - *

              This parameter is used for the target_url parameter in the + *

              This parameter is used for the context parameter in the * GitHub commit status. For more information, see Create a commit status in the GitHub developer guide.

              *
              *
              */ - targetUrl?: string; + context?: string; } export namespace BuildStatusConfig { @@ -1203,16 +1207,15 @@ export enum SourceType { */ export interface ProjectSource { /** - *

              Set to true to report the status of a build's start and finish to your source - * provider. This option is valid only when your source provider is GitHub, GitHub - * Enterprise, or Bitbucket. If this is set and you use a different source provider, an - * invalidInputException is thrown.

              - * - *

              The status of a build triggered by a webhook is always reported to your source - * provider.

              - *
              + *

              An identifier for this project source.

              */ - reportBuildStatus?: boolean; + sourceIdentifier?: string; + + /** + *

              Enable this flag to ignore SSL warnings while connecting to the project source + * code.

              + */ + insecureSsl?: boolean; /** *

              The buildspec file declaration to use for the builds in this build project.

              @@ -1228,35 +1231,58 @@ export interface ProjectSource { buildspec?: string; /** - *

              Information about the location of the source code to be built. Valid values - * include:

              - *
                - *
              • - *

                For source code settings that are specified in the source action of a pipeline - * in AWS CodePipeline, location should not be specified. If it is specified, - * AWS CodePipeline ignores it. This is because AWS CodePipeline uses the settings in a pipeline's source - * action instead of this value.

                - *
              • - *
              • - *

                For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository - * that contains the source code and the buildspec file (for example, - * https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name - * ).

                - *
              • - *
              • - *

                For source code in an Amazon Simple Storage Service (Amazon S3) input bucket, one of the following.

                - *
                  - *
                • - *

                  The path to the ZIP file that contains the source code (for example, - * - * bucket-name/path/to/object-name.zip). - *

                  + *

                  Information about the authorization settings for AWS CodeBuild to access the source code to be + * built.

                  + *

                  This information is for the AWS CodeBuild console's use only. Your code should not get or set + * this information directly.

                  + */ + auth?: SourceAuth; + + /** + *

                  Set to true to report the status of a build's start and finish to your source + * provider. This option is valid only when your source provider is GitHub, GitHub + * Enterprise, or Bitbucket. If this is set and you use a different source provider, an + * invalidInputException is thrown.

                  + * + *

                  The status of a build triggered by a webhook is always reported to your source + * provider.

                  + *
                  + */ + reportBuildStatus?: boolean; + + /** + *

                  Contains information that defines how the build project reports the build status to + * the source provider. This option is only used when the source provider is + * GITHUB, GITHUB_ENTERPRISE, or + * BITBUCKET.

                  + */ + buildStatusConfig?: BuildStatusConfig; + + /** + *

                  Information about the location of the source code to be built. Valid values + * include:

                  + *
                    + *
                  • + *

                    For source code settings that are specified in the source action of a pipeline + * in AWS CodePipeline, location should not be specified. If it is specified, + * AWS CodePipeline ignores it. This is because AWS CodePipeline uses the settings in a pipeline's source + * action instead of this value.

                    + *
                  • + *
                  • + *

                    For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository + * that contains the source code and the buildspec file (for example, + * https://git-codecommit..amazonaws.com/v1/repos/).

                    + *
                  • + *
                  • + *

                    For source code in an Amazon Simple Storage Service (Amazon S3) input bucket, one of the following.

                    + *
                      + *
                    • + *

                      The path to the ZIP file that contains the source code (for example, + * //.zip).

                      *
                    • *
                    • - *

                      The path to the folder that contains the source code (for example, - * - * bucket-name/path/to/source-code/folder/). - *

                      + *

                      The path to the folder that contains the source code (for example, + * ///).

                      *
                    • *
                    *
                  • @@ -1292,42 +1318,15 @@ export interface ProjectSource { location?: string; /** - *

                    Information about the authorization settings for AWS CodeBuild to access the source code to be - * built.

                    - *

                    This information is for the AWS CodeBuild console's use only. Your code should not get or set - * this information directly.

                    - */ - auth?: SourceAuth; - - /** - *

                    Enable this flag to ignore SSL warnings while connecting to the project source - * code.

                    + *

                    Information about the Git clone depth for the build project.

                    */ - insecureSsl?: boolean; + gitCloneDepth?: number; /** *

                    Information about the Git submodules configuration for the build project.

                    */ gitSubmodulesConfig?: GitSubmodulesConfig; - /** - *

                    Contains information that defines how the build project reports the build status to - * the source provider. This option is only used when the source provider is - * GITHUB, GITHUB_ENTERPRISE, or - * BITBUCKET.

                    - */ - buildStatusConfig?: BuildStatusConfig; - - /** - *

                    An identifier for this project source.

                    - */ - sourceIdentifier?: string; - - /** - *

                    Information about the Git clone depth for the build project.

                    - */ - gitCloneDepth?: number; - /** *

                    The type of repository that contains the source code to be built. Valid values * include:

                    @@ -1378,6 +1377,11 @@ export namespace ProjectSource { *

                    A source identifier and its corresponding version.

                    */ export interface ProjectSourceVersion { + /** + *

                    An identifier for a source in the build project.

                    + */ + sourceIdentifier: string | undefined; + /** *

                    The source version for the corresponding source identifier. If specified, must be one * of:

                    @@ -1408,11 +1412,6 @@ export interface ProjectSourceVersion { * with CodeBuild in the AWS CodeBuild User Guide.

                    */ sourceVersion: string | undefined; - - /** - *

                    An identifier for a source in the build project.

                    - */ - sourceIdentifier: string | undefined; } export namespace ProjectSourceVersion { @@ -1431,14 +1430,14 @@ export interface VpcConfig { subnets?: string[]; /** - *

                    A list of one or more security groups IDs in your Amazon VPC.

                    + *

                    The ID of the Amazon VPC.

                    */ - securityGroupIds?: string[]; + vpcId?: string; /** - *

                    The ID of the Amazon VPC.

                    + *

                    A list of one or more security groups IDs in your Amazon VPC.

                    */ - vpcId?: string; + securityGroupIds?: string[]; } export namespace VpcConfig { @@ -1452,57 +1451,42 @@ export namespace VpcConfig { */ export interface BuildBatch { /** - *

                    Information about the build input source code for the build project.

                    - */ - source?: ProjectSource; - - /** - *

                    The name of the batch build project.

                    - */ - projectName?: string; - - /** - *

                    An array of BuildBatchPhase objects the specify the phases of the - * batch build.

                    - */ - phases?: BuildBatchPhase[]; - - /** - *

                    Information about the VPC configuration that AWS CodeBuild accesses.

                    + *

                    The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the batch build output + * artifacts.

                    + * + *

                    You can use a cross-account KMS key to encrypt the build output artifacts if your + * service role has permission to that key.

                    + *
                    + *

                    You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using + * the format alias/).

                    */ - vpcConfig?: VpcConfig; + encryptionKey?: string; /** - *

                    Specifies the amount of time, in minutes, that the batch build is allowed to be queued - * before it times out.

                    + *

                    Contains configuration information about a batch build project.

                    */ - queuedTimeoutInMinutes?: number; + buildBatchConfig?: ProjectBuildBatchConfig; /** - *

                    An array of ProjectFileSystemLocation objects for the batch build - * project. A ProjectFileSystemLocation object specifies the - * identifier, location, mountOptions, - * mountPoint, and type of a file system created using Amazon - * Elastic File System.

                    + *

                    The name of the batch build project.

                    */ - fileSystemLocations?: ProjectFileSystemLocation[]; + projectName?: string; /** - *

                    Information about logs for a build project. These can be logs in Amazon CloudWatch Logs, built in a - * specified S3 bucket, or both.

                    + *

                    Specifies the maximum amount of time, in minutes, that the build in a batch must be + * completed in.

                    */ - logConfig?: LogsConfig; + buildTimeoutInMinutes?: number; /** - *

                    The date and time that the batch build ended.

                    + *

                    The current phase of the batch build.

                    */ - endTime?: Date; + currentPhase?: string; /** - *

                    An array of ProjectSource objects that define the sources for the batch - * build.

                    + *

                    The name of a service role used for builds in the batch.

                    */ - secondarySources?: ProjectSource[]; + serviceRole?: string; /** *

                    The identifier of the resolved version of this batch build's source code.

                    @@ -1521,10 +1505,48 @@ export interface BuildBatch { resolvedSourceVersion?: string; /** - *

                    Specifies the maximum amount of time, in minutes, that the build in a batch must be - * completed in.

                    + *

                    The entity that started the batch build. Valid values include:

                    + *
                      + *
                    • + *

                      If AWS CodePipeline started the build, the pipeline's name (for example, + * codepipeline/my-demo-pipeline).

                      + *
                    • + *
                    • + *

                      If an AWS Identity and Access Management (IAM) user started the build, the user's name.

                      + *
                    • + *
                    • + *

                      If the Jenkins plugin for AWS CodeBuild started the build, the string + * CodeBuild-Jenkins-Plugin.

                      + *
                    • + *
                    */ - buildTimeoutInMinutes?: number; + initiator?: string; + + /** + *

                    Specifies the amount of time, in minutes, that the batch build is allowed to be queued + * before it times out.

                    + */ + queuedTimeoutInMinutes?: number; + + /** + *

                    The date and time that the batch build ended.

                    + */ + endTime?: Date; + + /** + *

                    Indicates if the batch build is complete.

                    + */ + complete?: boolean; + + /** + *

                    Information about the VPC configuration that AWS CodeBuild accesses.

                    + */ + vpcConfig?: VpcConfig; + + /** + *

                    The identifier of the version of the source code to be built.

                    + */ + sourceVersion?: string; /** *

                    An array of ProjectSourceVersion objects. Each @@ -1556,33 +1578,26 @@ export interface BuildBatch { secondarySourceVersions?: ProjectSourceVersion[]; /** - *

                    The current phase of the batch build.

                    + *

                    An array of BuildGroup objects that define the build groups for the + * batch build.

                    */ - currentPhase?: string; + buildGroups?: BuildGroup[]; /** - *

                    The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the batch build output - * artifacts.

                    - * - *

                    You can use a cross-account KMS key to encrypt the build output artifacts if your - * service role has permission to that key.

                    - *
                    - *

                    You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using - * the format alias/alias-name - * ).

                    + *

                    An array of BuildArtifacts objects the define the build artifacts + * for this batch build.

                    */ - encryptionKey?: string; + secondaryArtifacts?: BuildArtifacts[]; /** - *

                    Information about the build environment of the build project.

                    + *

                    A BuildArtifacts object the defines the build artifacts for this batch build.

                    */ - environment?: ProjectEnvironment; + artifacts?: BuildArtifacts; /** - *

                    An array of BuildArtifacts objects the define the build artifacts - * for this batch build.

                    + *

                    The status of the batch build.

                    */ - secondaryArtifacts?: BuildArtifacts[]; + buildBatchStatus?: StatusType | string; /** *

                    The number of the batch build. For each project, the buildBatchNumber of its @@ -1593,78 +1608,61 @@ export interface BuildBatch { buildBatchNumber?: number; /** - *

                    An array of BuildGroup objects that define the build groups for the - * batch build.

                    - */ - buildGroups?: BuildGroup[]; - - /** - *

                    A BuildArtifacts object the defines the build artifacts for this batch build.

                    - */ - artifacts?: BuildArtifacts; - - /** - *

                    Information about the cache for the build project.

                    + *

                    Information about the build environment of the build project.

                    */ - cache?: ProjectCache; + environment?: ProjectEnvironment; /** - *

                    Indicates if the batch build is complete.

                    + *

                    The identifier of the batch build.

                    */ - complete?: boolean; + id?: string; /** *

                    The date and time that the batch build started.

                    */ startTime?: Date; - /** - *

                    The identifier of the batch build.

                    - */ - id?: string; - /** *

                    The ARN of the batch build.

                    */ arn?: string; /** - *

                    The name of a service role used for builds in the batch.

                    + *

                    An array of BuildBatchPhase objects the specify the phases of the + * batch build.

                    */ - serviceRole?: string; + phases?: BuildBatchPhase[]; /** - *

                    Contains configuration information about a batch build project.

                    + *

                    Information about logs for a build project. These can be logs in Amazon CloudWatch Logs, built in a + * specified S3 bucket, or both.

                    */ - buildBatchConfig?: ProjectBuildBatchConfig; + logConfig?: LogsConfig; /** - *

                    The status of the batch build.

                    + *

                    Information about the cache for the build project.

                    */ - buildBatchStatus?: StatusType | string; + cache?: ProjectCache; /** - *

                    The entity that started the batch build. Valid values include:

                    - *
                      - *
                    • - *

                      If AWS CodePipeline started the build, the pipeline's name (for example, - * codepipeline/my-demo-pipeline).

                      - *
                    • - *
                    • - *

                      If an AWS Identity and Access Management (IAM) user started the build, the user's name.

                      - *
                    • - *
                    • - *

                      If the Jenkins plugin for AWS CodeBuild started the build, the string - * CodeBuild-Jenkins-Plugin.

                      - *
                    • - *
                    + *

                    An array of ProjectSource objects that define the sources for the batch + * build.

                    */ - initiator?: string; + secondarySources?: ProjectSource[]; /** - *

                    The identifier of the version of the source code to be built.

                    + *

                    Information about the build input source code for the build project.

                    */ - sourceVersion?: string; + source?: ProjectSource; + + /** + *

                    An array of ProjectFileSystemLocation objects for the batch build + * project. A ProjectFileSystemLocation object specifies the + * identifier, location, mountOptions, + * mountPoint, and type of a file system created using Amazon + * Elastic File System.

                    + */ + fileSystemLocations?: ProjectFileSystemLocation[]; } export namespace BuildBatch { @@ -1674,16 +1672,16 @@ export namespace BuildBatch { } export interface BatchGetBuildBatchesOutput { - /** - *

                    An array that contains the identifiers of any batch builds that are not found.

                    - */ - buildBatchesNotFound?: string[]; - /** *

                    An array of BuildBatch objects that represent the retrieved batch * builds.

                    */ buildBatches?: BuildBatch[]; + + /** + *

                    An array that contains the identifiers of any batch builds that are not found.

                    + */ + buildBatchesNotFound?: string[]; } export namespace BatchGetBuildBatchesOutput { @@ -1710,17 +1708,17 @@ export namespace BatchGetBuildsInput { * running build in Session Manager.

                    */ export interface DebugSession { - /** - *

                    Specifies if session debugging is enabled for this build.

                    - */ - sessionEnabled?: boolean; - /** *

                    Contains the identifier of the Session Manager session used for the build. To work with * the paused build, you open this session to examine, control, and resume the * build.

                    */ sessionTarget?: string; + + /** + *

                    Specifies if session debugging is enabled for this build.

                    + */ + sessionEnabled?: boolean; } export namespace DebugSession { @@ -1766,6 +1764,16 @@ export interface LogsLocation { */ s3DeepLink?: string; + /** + *

                    The name of the Amazon CloudWatch Logs group for the build logs.

                    + */ + groupName?: string; + + /** + *

                    The name of the Amazon CloudWatch Logs stream for the build logs.

                    + */ + streamName?: string; + /** *

                    The ARN of Amazon CloudWatch Logs for a build project. Its format is * arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. @@ -1786,24 +1794,14 @@ export interface LogsLocation { s3LogsArn?: string; /** - *

                    The name of the Amazon CloudWatch Logs group for the build logs.

                    + *

                    Information about Amazon CloudWatch Logs for a build project.

                    */ - groupName?: string; + cloudWatchLogs?: CloudWatchLogsConfig; /** *

                    The URL to an individual build log in Amazon CloudWatch Logs.

                    */ deepLink?: string; - - /** - *

                    The name of the Amazon CloudWatch Logs stream for the build logs.

                    - */ - streamName?: string; - - /** - *

                    Information about Amazon CloudWatch Logs for a build project.

                    - */ - cloudWatchLogs?: CloudWatchLogsConfig; } export namespace LogsLocation { @@ -1817,14 +1815,14 @@ export namespace LogsLocation { */ export interface NetworkInterface { /** - *

                    The ID of the network interface.

                    + *

                    The ID of the subnet.

                    */ - networkInterfaceId?: string; + subnetId?: string; /** - *

                    The ID of the subnet.

                    + *

                    The ID of the network interface.

                    */ - subnetId?: string; + networkInterfaceId?: string; } export namespace NetworkInterface { @@ -1852,9 +1850,10 @@ export enum BuildPhaseType { */ export interface BuildPhase { /** - *

                    When the build phase ended, expressed in Unix time format.

                    + *

                    How long, in seconds, between the starting and ending times of the build's + * phase.

                    */ - endTime?: Date; + durationInSeconds?: number; /** *

                    Additional information about a build phase, especially to help troubleshoot a failed @@ -1862,6 +1861,11 @@ export interface BuildPhase { */ contexts?: PhaseContext[]; + /** + *

                    When the build phase started, expressed in Unix time format.

                    + */ + startTime?: Date; + /** *

                    The name of the build phase. Valid values include:

                    *
                      @@ -1958,15 +1962,9 @@ export interface BuildPhase { phaseStatus?: StatusType | string; /** - *

                      When the build phase started, expressed in Unix time format.

                      - */ - startTime?: Date; - - /** - *

                      How long, in seconds, between the starting and ending times of the build's - * phase.

                      + *

                      When the build phase ended, expressed in Unix time format.

                      */ - durationInSeconds?: number; + endTime?: Date; } export namespace BuildPhase { @@ -1980,9 +1978,9 @@ export namespace BuildPhase { */ export interface Build { /** - *

                      Information about the build's logs in Amazon CloudWatch Logs.

                      + *

                      An array of the ARNs associated with this build's reports.

                      */ - logs?: LogsLocation; + reportArns?: string[]; /** *

                      @@ -1993,41 +1991,39 @@ export interface Build { */ fileSystemLocations?: ProjectFileSystemLocation[]; - /** - *

                      When the build process started, expressed in Unix time format.

                      - */ - startTime?: Date; - /** *

                      The name of a service role used for this build.

                      */ serviceRole?: string; /** - *

                      The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output - * artifacts.

                      - * - *

                      You can use a cross-account KMS key to encrypt the build output artifacts if your - * service role has permission to that key.

                      - *
                      - *

                      You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using - * the format alias/alias-name - * ).

                      + *

                      Information about the build's logs in Amazon CloudWatch Logs.

                      */ - encryptionKey?: string; + logs?: LogsLocation; /** - *

                      Information about the build environment for this build.

                      + *

                      When the build process started, expressed in Unix time format.

                      */ - environment?: ProjectEnvironment; + startTime?: Date; /** - *

                      The number of the build. For each project, the buildNumber of its first - * build is 1. The buildNumber of each subsequent build is - * incremented by 1. If a build is deleted, the buildNumber of - * other builds does not change.

                      + *

                      The entity that started the build. Valid values include:

                      + *
                        + *
                      • + *

                        If AWS CodePipeline started the build, the pipeline's name (for example, + * codepipeline/my-demo-pipeline).

                        + *
                      • + *
                      • + *

                        If an AWS Identity and Access Management (IAM) user started the build, the user's name (for example, + * MyUserName).

                        + *
                      • + *
                      • + *

                        If the Jenkins plugin for AWS CodeBuild started the build, the string + * CodeBuild-Jenkins-Plugin.

                        + *
                      • + *
                      */ - buildNumber?: number; + initiator?: string; /** *

                      The current status of the build. Valid values include:

                      @@ -2061,73 +2057,113 @@ export interface Build { buildStatus?: StatusType | string; /** - *

                      The name of the AWS CodeBuild project.

                      + *

                      Any version identifier for the version of the source code to be built. If + * sourceVersion is specified at the project level, then this + * sourceVersion (at the build level) takes precedence.

                      + *

                      For more information, see Source Version Sample + * with CodeBuild in the AWS CodeBuild User Guide.

                      */ - projectName?: string; + sourceVersion?: string; /** - *

                      Whether the build is complete. True if complete; otherwise, false.

                      + *

                      How long, in minutes, for AWS CodeBuild to wait before timing out this build if it does not + * get marked as completed.

                      */ - buildComplete?: boolean; + timeoutInMinutes?: number; /** - *

                      If your AWS CodeBuild project accesses resources in an Amazon VPC, you provide this parameter - * that identifies the VPC ID and the list of security group IDs and subnet IDs. The - * security groups and subnets must belong to the same VPC. You must provide at least one - * security group and one subnet ID.

                      + *

                      The Amazon Resource Name (ARN) of the build.

                      */ - vpcConfig?: VpcConfig; + arn?: string; /** - *

                      The current build phase.

                      + *

                      The unique ID for the build.

                      */ - currentPhase?: string; + id?: string; /** - *

                      Describes a network interface.

                      + *

                      A list of exported environment variables for this build.

                      */ - networkInterface?: NetworkInterface; + exportedEnvironmentVariables?: ExportedEnvironmentVariable[]; + + /** + *

                      The ARN of the batch build that this build is a member of, if applicable.

                      + */ + buildBatchArn?: string; + + /** + *

                      An array of ProjectSource objects.

                      + */ + secondarySources?: ProjectSource[]; /** *

                      When the build process ended, expressed in Unix time format.

                      */ endTime?: Date; + /** + *

                      Information about all previous build phases that are complete and information about + * any current build phase that is not yet complete.

                      + */ + phases?: BuildPhase[]; + + /** + *

                      Contains information about the debug session for this build.

                      + */ + debugSession?: DebugSession; + + /** + *

                      Describes a network interface.

                      + */ + networkInterface?: NetworkInterface; + + /** + *

                      If your AWS CodeBuild project accesses resources in an Amazon VPC, you provide this parameter + * that identifies the VPC ID and the list of security group IDs and subnet IDs. The + * security groups and subnets must belong to the same VPC. You must provide at least one + * security group and one subnet ID.

                      + */ + vpcConfig?: VpcConfig; + + /** + *

                      Information about the output artifacts for the build.

                      + */ + artifacts?: BuildArtifacts; + /** *

                      The number of minutes a build is allowed to be queued before it times out.

                      */ queuedTimeoutInMinutes?: number; /** - *

                      The unique ID for the build.

                      + *

                      Information about the cache for the build.

                      */ - id?: string; + cache?: ProjectCache; /** - *

                      The Amazon Resource Name (ARN) of the build.

                      + *

                      Whether the build is complete. True if complete; otherwise, false.

                      */ - arn?: string; + buildComplete?: boolean; /** - *

                      An array of ProjectSource objects.

                      + *

                      An array of ProjectArtifacts objects.

                      */ - secondarySources?: ProjectSource[]; + secondaryArtifacts?: BuildArtifacts[]; /** - *

                      How long, in minutes, for AWS CodeBuild to wait before timing out this build if it does not - * get marked as completed.

                      + *

                      Information about the source code to be built.

                      */ - timeoutInMinutes?: number; + source?: ProjectSource; /** - *

                      A list of exported environment variables for this build.

                      + *

                      The name of the AWS CodeBuild project.

                      */ - exportedEnvironmentVariables?: ExportedEnvironmentVariable[]; + projectName?: string; /** - *

                      Contains information about the debug session for this build.

                      + *

                      The current build phase.

                      */ - debugSession?: DebugSession; + currentPhase?: string; /** *

                      An identifier for the version of this build's source code.

                      @@ -2145,20 +2181,6 @@ export interface Build { */ resolvedSourceVersion?: string; - /** - *

                      The ARN of the batch build that this build is a member of, if applicable.

                      - */ - buildBatchArn?: string; - - /** - *

                      Any version identifier for the version of the source code to be built. If - * sourceVersion is specified at the project level, then this - * sourceVersion (at the build level) takes precedence.

                      - *

                      For more information, see Source Version Sample - * with CodeBuild in the AWS CodeBuild User Guide.

                      - */ - sourceVersion?: string; - /** *

                      An array of ProjectSourceVersion objects. Each * ProjectSourceVersion must be one of:

                      @@ -2189,54 +2211,29 @@ export interface Build { secondarySourceVersions?: ProjectSourceVersion[]; /** - *

                      An array of ProjectArtifacts objects.

                      - */ - secondaryArtifacts?: BuildArtifacts[]; - - /** - *

                      Information about the source code to be built.

                      - */ - source?: ProjectSource; - - /** - *

                      The entity that started the build. Valid values include:

                      - *
                        - *
                      • - *

                        If AWS CodePipeline started the build, the pipeline's name (for example, - * codepipeline/my-demo-pipeline).

                        - *
                      • - *
                      • - *

                        If an AWS Identity and Access Management (IAM) user started the build, the user's name (for example, - * MyUserName).

                        - *
                      • - *
                      • - *

                        If the Jenkins plugin for AWS CodeBuild started the build, the string - * CodeBuild-Jenkins-Plugin.

                        - *
                      • - *
                      - */ - initiator?: string; - - /** - *

                      Information about the cache for the build.

                      - */ - cache?: ProjectCache; - - /** - *

                      Information about all previous build phases that are complete and information about - * any current build phase that is not yet complete.

                      + *

                      The number of the build. For each project, the buildNumber of its first + * build is 1. The buildNumber of each subsequent build is + * incremented by 1. If a build is deleted, the buildNumber of + * other builds does not change.

                      */ - phases?: BuildPhase[]; + buildNumber?: number; /** - *

                      Information about the output artifacts for the build.

                      + *

                      Information about the build environment for this build.

                      */ - artifacts?: BuildArtifacts; + environment?: ProjectEnvironment; /** - *

                      An array of the ARNs associated with this build's reports.

                      + *

                      The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + * artifacts.

                      + * + *

                      You can use a cross-account KMS key to encrypt the build output artifacts if your + * service role has permission to that key.

                      + *
                      + *

                      You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using + * the format alias/).

                      */ - reportArns?: string[]; + encryptionKey?: string; } export namespace Build { @@ -2247,14 +2244,14 @@ export namespace Build { export interface BatchGetBuildsOutput { /** - *

                      Information about the requested builds.

                      + *

                      The IDs of builds for which information could not be found.

                      */ - builds?: Build[]; + buildsNotFound?: string[]; /** - *

                      The IDs of builds for which information could not be found.

                      + *

                      Information about the requested builds.

                      */ - buildsNotFound?: string[]; + builds?: Build[]; } export namespace BatchGetBuildsOutput { @@ -2282,6 +2279,39 @@ export namespace BatchGetProjectsInput { *

                      Information about the build output artifacts for the build project.

                      */ export interface ProjectArtifacts { + /** + *

                      Along with namespaceType and name, the pattern that AWS CodeBuild + * uses to name and store the output artifact:

                      + *
                        + *
                      • + *

                        If type is set to CODEPIPELINE, AWS CodePipeline ignores this + * value if specified. This is because AWS CodePipeline manages its build output names instead + * of AWS CodeBuild.

                        + *
                      • + *
                      • + *

                        If type is set to NO_ARTIFACTS, this value is + * ignored if specified, because no build output is produced.

                        + *
                      • + *
                      • + *

                        If type is set to S3, this is the path to the output + * artifact. If path is not specified, path is not + * used.

                        + *
                      • + *
                      + *

                      For example, if path is set to MyArtifacts, + * namespaceType is set to NONE, and name is set + * to MyArtifact.zip, the output artifact is stored in the output bucket at + * MyArtifacts/MyArtifact.zip.

                      + */ + path?: string; + + /** + *

                      Set to true if you do not want your output artifacts encrypted. This option is valid + * only if your artifacts type is Amazon Simple Storage Service (Amazon S3). If this is set with another artifacts type, an + * invalidInputException is thrown.

                      + */ + encryptionDisabled?: boolean; + /** *

                      The type of build output artifact. Valid values include:

                      *
                        @@ -2320,6 +2350,42 @@ export interface ProjectArtifacts { */ overrideArtifactName?: boolean; + /** + *

                        Along with path and name, the pattern that AWS CodeBuild uses to + * determine the name and location to store the output artifact:

                        + *
                          + *
                        • + *

                          If type is set to CODEPIPELINE, AWS CodePipeline ignores this + * value if specified. This is because AWS CodePipeline manages its build output names instead + * of AWS CodeBuild.

                          + *
                        • + *
                        • + *

                          If type is set to NO_ARTIFACTS, this value is + * ignored if specified, because no build output is produced.

                          + *
                        • + *
                        • + *

                          If type is set to S3, valid values include:

                          + *
                            + *
                          • + *

                            + * BUILD_ID: Include the build ID in the location of the + * build output artifact.

                            + *
                          • + *
                          • + *

                            + * NONE: Do not include the build ID. This is the default if + * namespaceType is not specified.

                            + *
                          • + *
                          + *
                        • + *
                        + *

                        For example, if path is set to MyArtifacts, + * namespaceType is set to BUILD_ID, and name is + * set to MyArtifact.zip, the output artifact is stored in + * MyArtifacts//MyArtifact.zip.

                        + */ + namespaceType?: ArtifactNamespace | string; + /** *

                        Along with path and namespaceType, the pattern that AWS CodeBuild * uses to name and store the output artifact:

                        @@ -2345,9 +2411,7 @@ export interface ProjectArtifacts { *

                        If path is set to MyArtifacts, * namespaceType is set to BUILD_ID, and * name is set to MyArtifact.zip, then the output - * artifact is stored in - * MyArtifacts/build-ID/MyArtifact.zip. - *

                        + * artifact is stored in MyArtifacts//MyArtifact.zip.

                        * *
                      • *

                        If path is empty, namespaceType is set to @@ -2358,39 +2422,12 @@ export interface ProjectArtifacts { *

                        If path is set to MyArtifacts, * namespaceType is set to BUILD_ID, and * name is set to "/", the output artifact is stored - * in MyArtifacts/build-ID - * .

                        + * in MyArtifacts/.

                        *
                      • *
                      */ name?: string; - /** - *

                      Along with namespaceType and name, the pattern that AWS CodeBuild - * uses to name and store the output artifact:

                      - *
                        - *
                      • - *

                        If type is set to CODEPIPELINE, AWS CodePipeline ignores this - * value if specified. This is because AWS CodePipeline manages its build output names instead - * of AWS CodeBuild.

                        - *
                      • - *
                      • - *

                        If type is set to NO_ARTIFACTS, this value is - * ignored if specified, because no build output is produced.

                        - *
                      • - *
                      • - *

                        If type is set to S3, this is the path to the output - * artifact. If path is not specified, path is not - * used.

                        - *
                      • - *
                      - *

                      For example, if path is set to MyArtifacts, - * namespaceType is set to NONE, and name is set - * to MyArtifact.zip, the output artifact is stored in the output bucket at - * MyArtifacts/MyArtifact.zip.

                      - */ - path?: string; - /** *

                      The type of build output artifact to create:

                      *
                        @@ -2423,49 +2460,6 @@ export interface ProjectArtifacts { */ packaging?: ArtifactPackaging | string; - /** - *

                        Set to true if you do not want your output artifacts encrypted. This option is valid - * only if your artifacts type is Amazon Simple Storage Service (Amazon S3). If this is set with another artifacts type, an - * invalidInputException is thrown.

                        - */ - encryptionDisabled?: boolean; - - /** - *

                        Along with path and name, the pattern that AWS CodeBuild uses to - * determine the name and location to store the output artifact:

                        - *
                          - *
                        • - *

                          If type is set to CODEPIPELINE, AWS CodePipeline ignores this - * value if specified. This is because AWS CodePipeline manages its build output names instead - * of AWS CodeBuild.

                          - *
                        • - *
                        • - *

                          If type is set to NO_ARTIFACTS, this value is - * ignored if specified, because no build output is produced.

                          - *
                        • - *
                        • - *

                          If type is set to S3, valid values include:

                          - *
                            - *
                          • - *

                            - * BUILD_ID: Include the build ID in the location of the - * build output artifact.

                            - *
                          • - *
                          • - *

                            - * NONE: Do not include the build ID. This is the default if - * namespaceType is not specified.

                            - *
                          • - *
                          - *
                        • - *
                        - *

                        For example, if path is set to MyArtifacts, - * namespaceType is set to BUILD_ID, and name is - * set to MyArtifact.zip, the output artifact is stored in - * MyArtifacts/build-ID/MyArtifact.zip.

                        - */ - namespaceType?: ArtifactNamespace | string; - /** *

                        Information about the build output artifact location:

                        *
                          @@ -2497,6 +2491,12 @@ export namespace ProjectArtifacts { *

                          Information about the build badge for the build project.

                          */ export interface ProjectBadge { + /** + *

                          Set this to true to generate a publicly accessible URL for your project's build + * badge.

                          + */ + badgeEnabled?: boolean; + /** *

                          The publicly-accessible URL through which you can access the build badge for your * project.

                          @@ -2504,12 +2504,6 @@ export interface ProjectBadge { * project.

                          */ badgeRequestUrl?: string; - - /** - *

                          Set this to true to generate a publicly accessible URL for your project's build - * badge.

                          - */ - badgeEnabled?: boolean; } export namespace ProjectBadge { @@ -2670,23 +2664,14 @@ export namespace WebhookFilter { */ export interface Webhook { /** - *

                          A timestamp that indicates the last time a repository's secret token was modified. - *

                          - */ - lastModifiedSecret?: Date; - - /** - *

                          The secret token of the associated repository.

                          - * - *

                          A Bitbucket webhook does not support secret.

                          - *
                          + *

                          The URL to the webhook.

                          */ - secret?: string; + url?: string; /** - *

                          The URL to the webhook.

                          + *

                          The AWS CodeBuild endpoint where webhook events are sent.

                          */ - url?: string; + payloadUrl?: string; /** *

                          An array of arrays of WebhookFilter objects used to determine which @@ -2699,9 +2684,9 @@ export interface Webhook { filterGroups?: WebhookFilter[][]; /** - *

                          The AWS CodeBuild endpoint where webhook events are sent.

                          + *

                          Specifies the type of build this webhook will trigger.

                          */ - payloadUrl?: string; + buildType?: WebhookBuildType | string; /** *

                          A regular expression used to determine which repository branches are built when a @@ -2715,9 +2700,18 @@ export interface Webhook { branchFilter?: string; /** - *

                          Specifies the type of build this webhook will trigger.

                          + *

                          A timestamp that indicates the last time a repository's secret token was modified. + *

                          */ - buildType?: WebhookBuildType | string; + lastModifiedSecret?: Date; + + /** + *

                          The secret token of the associated repository.

                          + * + *

                          A Bitbucket webhook does not support secret.

                          + *
                          + */ + secret?: string; } export namespace Webhook { @@ -2730,66 +2724,86 @@ export namespace Webhook { *

                          Information about a build project.

                          */ export interface Project { - /** - *

                          Information about the build badge for the build project.

                          - */ - badge?: ProjectBadge; - - /** - *

                          Information about the VPC configuration that AWS CodeBuild accesses.

                          - */ - vpcConfig?: VpcConfig; - /** *

                          Information about the build input source code for this build project.

                          */ source?: ProjectSource; /** - *

                          The name of the build project.

                          + *

                          An array of ProjectArtifacts objects.

                          */ - name?: string; + secondaryArtifacts?: ProjectArtifacts[]; /** - *

                          The number of minutes a build is allowed to be queued before it times out.

                          + *

                          A version of the build input to be built for this project. If not specified, the + * latest version is used. If specified, it must be one of:

                          + *
                            + *
                          • + *

                            For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                            + *
                          • + *
                          • + *

                            For GitHub: the commit ID, pull request ID, branch name, or tag name that + * corresponds to the version of the source code you want to build. If a pull + * request ID is specified, it must use the format pr/pull-request-ID + * (for example pr/25). If a branch name is specified, the branch's + * HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is + * used.

                            + *
                          • + *
                          • + *

                            For Bitbucket: the commit ID, branch name, or tag name that corresponds to the + * version of the source code you want to build. If a branch name is specified, the + * branch's HEAD commit ID is used. If not specified, the default branch's HEAD + * commit ID is used.

                            + *
                          • + *
                          • + *

                            For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP + * file to use.

                            + *
                          • + *
                          + *

                          If sourceVersion is specified at the build level, then that version + * takes precedence over this sourceVersion (at the project level).

                          + *

                          For more information, see Source Version Sample + * with CodeBuild in the AWS CodeBuild User Guide.

                          */ - queuedTimeoutInMinutes?: number; + sourceVersion?: string; /** - *

                          When the build project's settings were last modified, expressed in Unix time - * format.

                          + *

                          The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + * artifacts.

                          + * + *

                          You can use a cross-account KMS key to encrypt the build output artifacts if your + * service role has permission to that key.

                          + *
                          + *

                          You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using + * the format alias/).

                          */ - lastModified?: Date; + encryptionKey?: string; /** - *

                          Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, an - * S3 bucket, or both.

                          + *

                          A description that makes the build project easy to identify.

                          */ - logsConfig?: LogsConfig; + description?: string; /** - *

                          Information about the cache for the build project.

                          + *

                          How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before timing out any + * related build that did not get marked as completed. The default is 60 minutes.

                          */ - cache?: ProjectCache; + timeoutInMinutes?: number; /** - *

                          A list of tag key and value pairs associated with this build project.

                          - *

                          These tags are available for use by AWS services that support AWS CodeBuild build project - * tags.

                          + *

                          Information about the build environment for this build project.

                          */ - tags?: Tag[]; + environment?: ProjectEnvironment; /** - *

                          Information about the build output artifacts for the build project.

                          + *

                          When the build project was created, expressed in Unix time format.

                          */ - artifacts?: ProjectArtifacts; + created?: Date; /** - *

                          An array of ProjectSourceVersion objects. If - * secondarySourceVersions is specified at the build level, then they take - * over these secondarySourceVersions (at the project level).

                          + *

                          Information about the build badge for the build project.

                          */ - secondarySourceVersions?: ProjectSourceVersion[]; + badge?: ProjectBadge; /** *

                          The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services @@ -2807,9 +2821,22 @@ export interface Project { fileSystemLocations?: ProjectFileSystemLocation[]; /** - *

                          The Amazon Resource Name (ARN) of the build project.

                          + *

                          Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, an + * S3 bucket, or both.

                          */ - arn?: string; + logsConfig?: LogsConfig; + + /** + *

                          When the build project's settings were last modified, expressed in Unix time + * format.

                          + */ + lastModified?: Date; + + /** + *

                          A ProjectBuildBatchConfig object that defines the batch build + * options for the project.

                          + */ + buildBatchConfig?: ProjectBuildBatchConfig; /** *

                          An array of ProjectSource objects.

                          @@ -2817,88 +2844,54 @@ export interface Project { secondarySources?: ProjectSource[]; /** - *

                          Information about a webhook that connects repository events to a build project in - * AWS CodeBuild.

                          + *

                          Information about the cache for the build project.

                          */ - webhook?: Webhook; + cache?: ProjectCache; /** - *

                          A ProjectBuildBatchConfig object that defines the batch build - * options for the project.

                          + *

                          The Amazon Resource Name (ARN) of the build project.

                          */ - buildBatchConfig?: ProjectBuildBatchConfig; + arn?: string; /** - *

                          When the build project was created, expressed in Unix time format.

                          + *

                          The name of the build project.

                          */ - created?: Date; + name?: string; /** - *

                          How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before timing out any - * related build that did not get marked as completed. The default is 60 minutes.

                          + *

                          A list of tag key and value pairs associated with this build project.

                          + *

                          These tags are available for use by AWS services that support AWS CodeBuild build project + * tags.

                          */ - timeoutInMinutes?: number; + tags?: Tag[]; /** - *

                          A description that makes the build project easy to identify.

                          + *

                          An array of ProjectSourceVersion objects. If + * secondarySourceVersions is specified at the build level, then they take + * over these secondarySourceVersions (at the project level).

                          */ - description?: string; + secondarySourceVersions?: ProjectSourceVersion[]; /** - *

                          An array of ProjectArtifacts objects.

                          + *

                          Information about the build output artifacts for the build project.

                          */ - secondaryArtifacts?: ProjectArtifacts[]; + artifacts?: ProjectArtifacts; /** - *

                          A version of the build input to be built for this project. If not specified, the - * latest version is used. If specified, it must be one of:

                          - *
                            - *
                          • - *

                            For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                            - *
                          • - *
                          • - *

                            For GitHub: the commit ID, pull request ID, branch name, or tag name that - * corresponds to the version of the source code you want to build. If a pull - * request ID is specified, it must use the format pr/pull-request-ID - * (for example pr/25). If a branch name is specified, the branch's - * HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is - * used.

                            - *
                          • - *
                          • - *

                            For Bitbucket: the commit ID, branch name, or tag name that corresponds to the - * version of the source code you want to build. If a branch name is specified, the - * branch's HEAD commit ID is used. If not specified, the default branch's HEAD - * commit ID is used.

                            - *
                          • - *
                          • - *

                            For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP - * file to use.

                            - *
                          • - *
                          - *

                          If sourceVersion is specified at the build level, then that version - * takes precedence over this sourceVersion (at the project level).

                          - *

                          For more information, see Source Version Sample - * with CodeBuild in the AWS CodeBuild User Guide.

                          + *

                          The number of minutes a build is allowed to be queued before it times out.

                          */ - sourceVersion?: string; + queuedTimeoutInMinutes?: number; /** - *

                          The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output - * artifacts.

                          - * - *

                          You can use a cross-account KMS key to encrypt the build output artifacts if your - * service role has permission to that key.

                          - *
                          - *

                          You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using - * the format alias/alias-name - * ).

                          + *

                          Information about a webhook that connects repository events to a build project in + * AWS CodeBuild.

                          */ - encryptionKey?: string; + webhook?: Webhook; /** - *

                          Information about the build environment for this build project.

                          + *

                          Information about the VPC configuration that AWS CodeBuild accesses.

                          */ - environment?: ProjectEnvironment; + vpcConfig?: VpcConfig; } export namespace Project { @@ -2909,14 +2902,14 @@ export namespace Project { export interface BatchGetProjectsOutput { /** - *

                          Information about the requested build projects.

                          + *

                          The names of build projects for which information could not be found.

                          */ - projects?: Project[]; + projectsNotFound?: string[]; /** - *

                          The names of build projects for which information could not be found.

                          + *

                          Information about the requested build projects.

                          */ - projectsNotFound?: string[]; + projects?: Project[]; } export namespace BatchGetProjectsOutput { @@ -2954,23 +2947,6 @@ export enum ReportPackagingType { *

                          Information about the S3 bucket where the raw data of a report are exported.

                          */ export interface S3ReportExportConfig { - /** - *

                          The type of build output artifact to create. Valid values include:

                          - *
                            - *
                          • - *

                            - * NONE: AWS CodeBuild creates the raw data in the output bucket. This - * is the default if packaging is not specified.

                            - *
                          • - *
                          • - *

                            - * ZIP: AWS CodeBuild creates a ZIP file with the raw data in the - * output bucket.

                            - *
                          • - *
                          - */ - packaging?: ReportPackagingType | string; - /** *

                          The encryption key for the report's encrypted raw data.

                          */ @@ -2981,15 +2957,32 @@ export interface S3ReportExportConfig { */ bucket?: string; + /** + *

                          The path to the exported report's raw data results.

                          + */ + path?: string; + /** *

                          A boolean value that specifies if the results of a report are encrypted.

                          */ encryptionDisabled?: boolean; /** - *

                          The path to the exported report's raw data results.

                          + *

                          The type of build output artifact to create. Valid values include:

                          + *
                            + *
                          • + *

                            + * NONE: AWS CodeBuild creates the raw data in the output bucket. This + * is the default if packaging is not specified.

                            + *
                          • + *
                          • + *

                            + * ZIP: AWS CodeBuild creates a ZIP file with the raw data in the + * output bucket.

                            + *
                          • + *
                          */ - path?: string; + packaging?: ReportPackagingType | string; } export namespace S3ReportExportConfig { @@ -3042,22 +3035,20 @@ export enum ReportType { */ export interface ReportGroup { /** - *

                          The type of the ReportGroup. The one valid value is TEST. - *

                          + *

                          Information about the destination where the raw data of this ReportGroup + * is exported.

                          */ - type?: ReportType | string; + exportConfig?: ReportExportConfig; /** - *

                          A list of tag key and value pairs associated with this report group.

                          - *

                          These tags are available for use by AWS services that support AWS CodeBuild report group - * tags.

                          + *

                          The date and time this ReportGroup was created.

                          */ - tags?: Tag[]; + created?: Date; /** - *

                          The date and time this ReportGroup was created.

                          + *

                          The name of a ReportGroup.

                          */ - created?: Date; + name?: string; /** *

                          The ARN of a ReportGroup.

                          @@ -3070,15 +3061,17 @@ export interface ReportGroup { lastModified?: Date; /** - *

                          The name of a ReportGroup.

                          + *

                          A list of tag key and value pairs associated with this report group.

                          + *

                          These tags are available for use by AWS services that support AWS CodeBuild report group + * tags.

                          */ - name?: string; + tags?: Tag[]; /** - *

                          Information about the destination where the raw data of this ReportGroup - * is exported.

                          + *

                          The type of the ReportGroup. The one valid value is TEST. + *

                          */ - exportConfig?: ReportExportConfig; + type?: ReportType | string; } export namespace ReportGroup { @@ -3132,11 +3125,6 @@ export namespace BatchGetReportsInput { * structure, such as an if or case statement.

                          */ export interface CodeCoverageReportSummary { - /** - *

                          The number of lines that are covered by your tests.

                          - */ - linesCovered?: number; - /** *

                          The percentage of lines that are covered by your tests.

                          */ @@ -3147,6 +3135,11 @@ export interface CodeCoverageReportSummary { */ branchesCovered?: number; + /** + *

                          The number of lines that are not covered by your tests.

                          + */ + linesMissed?: number; + /** *

                          The number of conditional branches that are not covered by your tests.

                          */ @@ -3158,9 +3151,9 @@ export interface CodeCoverageReportSummary { branchCoveragePercentage?: number; /** - *

                          The number of lines that are not covered by your tests.

                          + *

                          The number of lines that are covered by your tests.

                          */ - linesMissed?: number; + linesCovered?: number; } export namespace CodeCoverageReportSummary { @@ -3182,8 +3175,14 @@ export enum ReportStatusType { */ export interface TestReportSummary { /** - *

                          The number of nanoseconds it took to run all of the test cases in this report. - *

                          + *

                          The number of test cases in this TestReportSummary. The total includes + * truncated test cases.

                          + */ + total: number | undefined; + + /** + *

                          The number of nanoseconds it took to run all of the test cases in this report. + *

                          */ durationInNanoSeconds: number | undefined; @@ -3192,12 +3191,6 @@ export interface TestReportSummary { * this TestReportSummary.

                          */ statusCounts: { [key: string]: number } | undefined; - - /** - *

                          The number of test cases in this TestReportSummary. The total includes - * truncated test cases.

                          - */ - total: number | undefined; } export namespace TestReportSummary { @@ -3214,51 +3207,38 @@ export namespace TestReportSummary { */ export interface Report { /** - *

                          A TestReportSummary object that contains information about this test - * report.

                          - */ - testSummary?: TestReportSummary; - - /** - *

                          The status of this report.

                          + *

                          The ARN of the build run that generated this report.

                          */ - status?: ReportStatusType | string; + executionId?: string; /** - *

                          The type of the report that was run.

                          - *
                          - *
                          CODE_COVERAGE
                          - *
                          - *

                          A code coverage report.

                          - *
                          - *
                          TEST
                          - *
                          - *

                          A test report.

                          - *
                          - *
                          + *

                          The date and time a report expires. A report expires 30 days after it is created. An + * expired report is not available to view in CodeBuild.

                          */ - type?: ReportType | string; + expired?: Date; /** - *

                          The ARN of the build run that generated this report.

                          + *

                          Information about where the raw data used to generate this report was exported. + *

                          */ - executionId?: string; + exportConfig?: ReportExportConfig; /** - *

                          A boolean that specifies if this report run is truncated. The list of test cases is - * truncated after the maximum number of test cases is reached.

                          + *

                          The ARN of the report group associated with this report.

                          */ - truncated?: boolean; + reportGroupArn?: string; /** - *

                          The ARN of the report run.

                          + *

                          A TestReportSummary object that contains information about this test + * report.

                          */ - arn?: string; + testSummary?: TestReportSummary; /** - *

                          The ARN of the report group associated with this report.

                          + *

                          A boolean that specifies if this report run is truncated. The list of test cases is + * truncated after the maximum number of test cases is reached.

                          */ - reportGroupArn?: string; + truncated?: boolean; /** *

                          The date and time this report run occurred.

                          @@ -3272,21 +3252,34 @@ export interface Report { codeCoverageSummary?: CodeCoverageReportSummary; /** - *

                          The name of the report that was run.

                          + *

                          The status of this report.

                          */ - name?: string; + status?: ReportStatusType | string; /** - *

                          The date and time a report expires. A report expires 30 days after it is created. An - * expired report is not available to view in CodeBuild.

                          + *

                          The type of the report that was run.

                          + *
                          + *
                          CODE_COVERAGE
                          + *
                          + *

                          A code coverage report.

                          + *
                          + *
                          TEST
                          + *
                          + *

                          A test report.

                          + *
                          + *
                          */ - expired?: Date; + type?: ReportType | string; /** - *

                          Information about where the raw data used to generate this report was exported. - *

                          + *

                          The ARN of the report run.

                          */ - exportConfig?: ReportExportConfig; + arn?: string; + + /** + *

                          The name of the report that was run.

                          + */ + name?: string; } export namespace Report { @@ -3298,17 +3291,17 @@ export namespace Report { export interface BatchGetReportsOutput { /** *

                          - * An array of ARNs passed to BatchGetReportGroups that are not associated with a Report. + * The array of Report objects returned by BatchGetReports. *

                          */ - reportsNotFound?: string[]; + reports?: Report[]; /** *

                          - * The array of Report objects returned by BatchGetReports. + * An array of ARNs passed to BatchGetReportGroups that are not associated with a Report. *

                          */ - reports?: Report[]; + reportsNotFound?: string[]; } export namespace BatchGetReportsOutput { @@ -3336,10 +3329,16 @@ export namespace BuildBatchFilter { export interface CreateProjectInput { /** - *

                          Stores recently used information so that it can be quickly accessed at a later - * time.

                          + *

                          Set this to true to generate a publicly accessible URL for your project's build + * badge.

                          */ - cache?: ProjectCache; + badgeEnabled?: boolean; + + /** + *

                          The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services + * on behalf of the AWS account.

                          + */ + serviceRole: string | undefined; /** *

                          Information about logs for the build project. These can be logs in Amazon CloudWatch Logs, logs @@ -3348,37 +3347,61 @@ export interface CreateProjectInput { logsConfig?: LogsConfig; /** - *

                          Information about the build output artifacts for the build project.

                          + *

                          A ProjectBuildBatchConfig object that defines the batch build options + * for the project.

                          */ - artifacts: ProjectArtifacts | undefined; + buildBatchConfig?: ProjectBuildBatchConfig; /** - *

                          A list of tag key and value pairs associated with this build project.

                          - *

                          These tags are available for use by AWS services that support AWS CodeBuild build project - * tags.

                          + *

                          + * An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object + * specifies the identifier, location, mountOptions, + * mountPoint, and type of a file system created using Amazon Elastic File System. + *

                          */ - tags?: Tag[]; + fileSystemLocations?: ProjectFileSystemLocation[]; /** - *

                          An array of ProjectSourceVersion objects. If - * secondarySourceVersions is specified at the build level, then they take - * precedence over these secondarySourceVersions (at the project level). - *

                          + *

                          An array of ProjectSource objects.

                          */ - secondarySourceVersions?: ProjectSourceVersion[]; + secondarySources?: ProjectSource[]; /** - *

                          The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output - * artifacts.

                          - * - *

                          You can use a cross-account KMS key to encrypt the build output artifacts if your - * service role has permission to that key.

                          - *
                          - *

                          You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using - * the format alias/alias-name - * ).

                          + *

                          The number of minutes a build is allowed to be queued before it times out.

                          */ - encryptionKey?: string; + queuedTimeoutInMinutes?: number; + + /** + *

                          How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before it times out + * any build that has not been marked as completed. The default is 60 minutes.

                          + */ + timeoutInMinutes?: number; + + /** + *

                          Stores recently used information so that it can be quickly accessed at a later + * time.

                          + */ + cache?: ProjectCache; + + /** + *

                          The name of the build project.

                          + */ + name: string | undefined; + + /** + *

                          Information about the build output artifacts for the build project.

                          + */ + artifacts: ProjectArtifacts | undefined; + + /** + *

                          Information about the build input source code for the build project.

                          + */ + source: ProjectSource | undefined; + + /** + *

                          VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

                          + */ + vpcConfig?: VpcConfig; /** *

                          A version of the build input to be built for this project. If not specified, the latest @@ -3414,43 +3437,21 @@ export interface CreateProjectInput { sourceVersion?: string; /** - *

                          A description that makes the build project easy to identify.

                          - */ - description?: string; - - /** - *

                          An array of ProjectArtifacts objects.

                          - */ - secondaryArtifacts?: ProjectArtifacts[]; - - /** - *

                          An array of ProjectSource objects.

                          - */ - secondarySources?: ProjectSource[]; - - /** - *

                          - * An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object - * specifies the identifier, location, mountOptions, - * mountPoint, and type of a file system created using Amazon Elastic File System. - *

                          - */ - fileSystemLocations?: ProjectFileSystemLocation[]; - - /** - *

                          Information about the build input source code for the build project.

                          - */ - source: ProjectSource | undefined; - - /** - *

                          VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

                          + *

                          The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + * artifacts.

                          + * + *

                          You can use a cross-account KMS key to encrypt the build output artifacts if your + * service role has permission to that key.

                          + *
                          + *

                          You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using + * the format alias/).

                          */ - vpcConfig?: VpcConfig; + encryptionKey?: string; /** - *

                          The number of minutes a build is allowed to be queued before it times out.

                          + *

                          A description that makes the build project easy to identify.

                          */ - queuedTimeoutInMinutes?: number; + description?: string; /** *

                          Information about the build environment for the build project.

                          @@ -3458,33 +3459,24 @@ export interface CreateProjectInput { environment: ProjectEnvironment | undefined; /** - *

                          How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before it times out - * any build that has not been marked as completed. The default is 60 minutes.

                          - */ - timeoutInMinutes?: number; - - /** - *

                          The name of the build project.

                          - */ - name: string | undefined; - - /** - *

                          The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services - * on behalf of the AWS account.

                          + *

                          An array of ProjectSourceVersion objects. If + * secondarySourceVersions is specified at the build level, then they take + * precedence over these secondarySourceVersions (at the project level). + *

                          */ - serviceRole: string | undefined; + secondarySourceVersions?: ProjectSourceVersion[]; /** - *

                          Set this to true to generate a publicly accessible URL for your project's build - * badge.

                          + *

                          A list of tag key and value pairs associated with this build project.

                          + *

                          These tags are available for use by AWS services that support AWS CodeBuild build project + * tags.

                          */ - badgeEnabled?: boolean; + tags?: Tag[]; /** - *

                          A ProjectBuildBatchConfig object that defines the batch build options - * for the project.

                          + *

                          An array of ProjectArtifacts objects.

                          */ - buildBatchConfig?: ProjectBuildBatchConfig; + secondaryArtifacts?: ProjectArtifacts[]; } export namespace CreateProjectInput { @@ -3525,33 +3517,33 @@ export namespace ResourceAlreadyExistsException { export interface CreateReportGroupInput { /** *

                          - * The type of report group. + * A list of tag key and value pairs associated with this report group. *

                          + *

                          These tags are available for use by AWS services that support AWS CodeBuild report group + * tags.

                          */ - type: ReportType | string | undefined; + tags?: Tag[]; /** *

                          - * The name of the report group. + * The type of report group. *

                          */ - name: string | undefined; + type: ReportType | string | undefined; /** *

                          - * A list of tag key and value pairs associated with this report group. + * A ReportExportConfig object that contains information about where the report group test results are exported. *

                          - *

                          These tags are available for use by AWS services that support AWS CodeBuild report group - * tags.

                          */ - tags?: Tag[]; + exportConfig: ReportExportConfig | undefined; /** *

                          - * A ReportExportConfig object that contains information about where the report group test results are exported. + * The name of the report group. *

                          */ - exportConfig: ReportExportConfig | undefined; + name: string | undefined; } export namespace CreateReportGroupInput { @@ -3576,6 +3568,17 @@ export namespace CreateReportGroupOutput { } export interface CreateWebhookInput { + /** + *

                          A regular expression used to determine which repository branches are built when a + * webhook is triggered. If the name of a branch matches the regular expression, then it is + * built. If branchFilter is empty, then all branches are built.

                          + * + *

                          It is recommended that you use filterGroups instead of + * branchFilter.

                          + *
                          + */ + branchFilter?: string; + /** *

                          Specifies the type of build this webhook will trigger.

                          */ @@ -3595,17 +3598,6 @@ export interface CreateWebhookInput { *

                          The name of the AWS CodeBuild project.

                          */ projectName: string | undefined; - - /** - *

                          A regular expression used to determine which repository branches are built when a - * webhook is triggered. If the name of a branch matches the regular expression, then it is - * built. If branchFilter is empty, then all branches are built.

                          - * - *

                          It is recommended that you use filterGroups instead of - * branchFilter.

                          - *
                          - */ - branchFilter?: string; } export namespace CreateWebhookInput { @@ -3673,9 +3665,9 @@ export namespace DeleteBuildBatchInput { export interface DeleteBuildBatchOutput { /** - *

                          The status code.

                          + *

                          An array of strings that contain the identifiers of the builds that were deleted.

                          */ - statusCode?: string; + buildsDeleted?: string[]; /** *

                          An array of BuildNotDeleted objects that specify the builds that could not be @@ -3684,9 +3676,9 @@ export interface DeleteBuildBatchOutput { buildsNotDeleted?: BuildNotDeleted[]; /** - *

                          An array of strings that contain the identifiers of the builds that were deleted.

                          + *

                          The status code.

                          */ - buildsDeleted?: string[]; + statusCode?: string; } export namespace DeleteBuildBatchOutput { @@ -3741,11 +3733,18 @@ export namespace DeleteReportOutput { export interface DeleteReportGroupInput { /** - *

                          - * The ARN of the report group to delete. - *

                          + *

                          The ARN of the report group to delete.

                          */ arn: string | undefined; + + /** + *

                          If true, deletes any reports that belong to a report group before deleting + * the report group.

                          + *

                          If false, you must delete any reports in the report group. Use ListReportsForReportGroup to get the reports in a report group. Use DeleteReport to delete the reports. If you call + * DeleteReportGroup for a report group that contains one or more reports, + * an exception is thrown.

                          + */ + deleteReports?: boolean; } export namespace DeleteReportGroupInput { @@ -3841,32 +3840,20 @@ export enum SortOrderType { } export interface DescribeCodeCoveragesInput { - /** - *

                          The minimum line coverage percentage to report.

                          - */ - minLineCoveragePercentage?: number; - /** *

                          The maximum number of results to return.

                          */ maxResults?: number; /** - *

                          The maximum line coverage percentage to report.

                          - */ - maxLineCoveragePercentage?: number; - - /** - *

                          - * The ARN of the report for which test cases are returned. - *

                          + *

                          Specifies if the results are sorted in ascending or descending order.

                          */ - reportArn: string | undefined; + sortOrder?: SortOrderType | string; /** - *

                          Specifies if the results are sorted in ascending or descending order.

                          + *

                          The maximum line coverage percentage to report.

                          */ - sortOrder?: SortOrderType | string; + maxLineCoveragePercentage?: number; /** *

                          Specifies how the results are sorted. Possible values are:

                          @@ -3889,6 +3876,18 @@ export interface DescribeCodeCoveragesInput { * return the beginning of the list, exclude this parameter.

                          */ nextToken?: string; + + /** + *

                          + * The ARN of the report for which test cases are returned. + *

                          + */ + reportArn: string | undefined; + + /** + *

                          The minimum line coverage percentage to report.

                          + */ + minLineCoveragePercentage?: number; } export namespace DescribeCodeCoveragesInput { @@ -3906,54 +3905,54 @@ export namespace DescribeCodeCoveragesInput { */ export interface CodeCoverage { /** - *

                          The percentage of branches that are covered by your tests.

                          + *

                          The date and time that the tests were run.

                          */ - branchCoveragePercentage?: number; + expired?: Date; /** - *

                          The number of lines that are not covered by your tests.

                          + *

                          The number of conditional branches that are not covered by your tests.

                          */ - linesMissed?: number; + branchesMissed?: number; /** - *

                          The path of the test report file.

                          + *

                          The number of conditional branches that are covered by your tests.

                          */ - filePath?: string; + branchesCovered?: number; /** - *

                          The ARN of the report.

                          + *

                          The number of lines that are not covered by your tests.

                          */ - reportARN?: string; + linesMissed?: number; /** - *

                          The percentage of lines that are covered by your tests.

                          + *

                          The percentage of branches that are covered by your tests.

                          */ - lineCoveragePercentage?: number; + branchCoveragePercentage?: number; /** - *

                          The number of lines that are covered by your tests.

                          + *

                          The path of the test report file.

                          */ - linesCovered?: number; + filePath?: string; /** - *

                          The date and time that the tests were run.

                          + *

                          The number of lines that are covered by your tests.

                          */ - expired?: Date; + linesCovered?: number; /** - *

                          The number of conditional branches that are not covered by your tests.

                          + *

                          The ARN of the report.

                          */ - branchesMissed?: number; + reportARN?: string; /** - *

                          The number of conditional branches that are covered by your tests.

                          + *

                          The identifier of the code coverage report.

                          */ - branchesCovered?: number; + id?: string; /** - *

                          The identifier of the code coverage report.

                          + *

                          The percentage of lines that are covered by your tests.

                          */ - id?: string; + lineCoveragePercentage?: number; } export namespace CodeCoverage { @@ -3982,15 +3981,49 @@ export namespace DescribeCodeCoveragesOutput { } /** - *

                          A filter used to return specific types of test cases.

                          + *

                          A filter used to return specific types of test cases. In order to pass the filter, the + * report must meet all of the filter properties.

                          */ export interface TestCaseFilter { /** - *

                          The status used to filter test cases. Valid statuses are SUCCEEDED, - * FAILED, ERROR, SKIPPED, and - * UNKNOWN. A TestCaseFilter can have one status.

                          + *

                          The status used to filter test cases. A TestCaseFilter can have one + * status. Valid values are:

                          + *
                            + *
                          • + *

                            + * SUCCEEDED + *

                            + *
                          • + *
                          • + *

                            + * FAILED + *

                            + *
                          • + *
                          • + *

                            + * ERROR + *

                            + *
                          • + *
                          • + *

                            + * SKIPPED + *

                            + *
                          • + *
                          • + *

                            + * UNKNOWN + *

                            + *
                          • + *
                          */ status?: string; + + /** + *

                          A keyword that is used to filter on the name or the prefix + * of the test cases. Only test cases where the keyword is a substring of the + * name or the prefix will be returned.

                          + */ + keyword?: string; } export namespace TestCaseFilter { @@ -4002,18 +4035,17 @@ export namespace TestCaseFilter { export interface DescribeTestCasesInput { /** *

                          - * The maximum number of paginated test cases returned per response. Use nextToken to iterate pages in - * the list of returned TestCase objects. The default value is 100. + * The ARN of the report for which test cases are returned. *

                          */ - maxResults?: number; + reportArn: string | undefined; /** *

                          - * The ARN of the report for which test cases are returned. + * A TestCaseFilter object used to filter the returned reports. *

                          */ - reportArn: string | undefined; + filter?: TestCaseFilter; /** *

                          @@ -4028,10 +4060,11 @@ export interface DescribeTestCasesInput { /** *

                          - * A TestCaseFilter object used to filter the returned reports. + * The maximum number of paginated test cases returned per response. Use nextToken to iterate pages in + * the list of returned TestCase objects. The default value is 100. *

                          */ - filter?: TestCaseFilter; + maxResults?: number; } export namespace DescribeTestCasesInput { @@ -4046,14 +4079,9 @@ export namespace DescribeTestCasesInput { */ export interface TestCase { /** - *

                          The ARN of the report to which the test case belongs.

                          - */ - reportArn?: string; - - /** - *

                          The name of the test case.

                          + *

                          The number of nanoseconds it took to run this test case.

                          */ - name?: string; + durationInNanoSeconds?: number; /** *

                          The status returned by the test case after it was run. Valid statuses are @@ -4063,15 +4091,14 @@ export interface TestCase { status?: string; /** - *

                          The number of nanoseconds it took to run this test case.

                          + *

                          The ARN of the report to which the test case belongs.

                          */ - durationInNanoSeconds?: number; + reportArn?: string; /** - *

                          A message associated with a test case. For example, an error message or stack trace. - *

                          + *

                          The path to the raw data file that contains the test result.

                          */ - message?: string; + testRawDataPath?: string; /** *

                          A string that is applied to a series of related test cases. CodeBuild generates the @@ -4079,16 +4106,22 @@ export interface TestCase { */ prefix?: string; - /** - *

                          The path to the raw data file that contains the test result.

                          - */ - testRawDataPath?: string; - /** *

                          The date and time a test case expires. A test case expires 30 days after it is * created. An expired test case is not available to view in CodeBuild.

                          */ expired?: Date; + + /** + *

                          A message associated with a test case. For example, an error message or stack trace. + *

                          + */ + message?: string; + + /** + *

                          The name of the test case.

                          + */ + name?: string; } export namespace TestCase { @@ -4098,6 +4131,13 @@ export namespace TestCase { } export interface DescribeTestCasesOutput { + /** + *

                          + * The returned list of test cases. + *

                          + */ + testCases?: TestCase[]; + /** *

                          * During a previous call, the maximum number of items that can be returned is the value specified in @@ -4108,13 +4148,6 @@ export interface DescribeTestCasesOutput { *

                          */ nextToken?: string; - - /** - *

                          - * The returned list of test cases. - *

                          - */ - testCases?: TestCase[]; } export namespace DescribeTestCasesOutput { @@ -4156,16 +4189,24 @@ export enum ServerType { } export interface ImportSourceCredentialsInput { + /** + *

                          Set to false to prevent overwriting the repository source credentials. + * Set to true to overwrite the repository source credentials. The default + * value is true.

                          + */ + shouldOverwrite?: boolean; + /** *

                          The source provider used for this project.

                          */ serverType: ServerType | string | undefined; /** - *

                          The Bitbucket username when the authType is BASIC_AUTH. This parameter - * is not valid for other types of source providers or connections.

                          + *

                          The type of authentication used to connect to a GitHub, GitHub Enterprise, or + * Bitbucket repository. An OAUTH connection is not supported by the API and must be + * created using the AWS CodeBuild console.

                          */ - username?: string; + authType: AuthType | string | undefined; /** *

                          For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, @@ -4174,18 +4215,10 @@ export interface ImportSourceCredentialsInput { token: string | undefined; /** - *

                          The type of authentication used to connect to a GitHub, GitHub Enterprise, or - * Bitbucket repository. An OAUTH connection is not supported by the API and must be - * created using the AWS CodeBuild console.

                          - */ - authType: AuthType | string | undefined; - - /** - *

                          Set to false to prevent overwriting the repository source credentials. - * Set to true to overwrite the repository source credentials. The default - * value is true.

                          + *

                          The Bitbucket username when the authType is BASIC_AUTH. This parameter + * is not valid for other types of source providers or connections.

                          */ - shouldOverwrite?: boolean; + username?: string; } export namespace ImportSourceCredentialsInput { @@ -4245,6 +4278,11 @@ export interface ListBuildBatchesInput { */ sortOrder?: SortOrderType | string; + /** + *

                          The maximum number of results to return.

                          + */ + maxResults?: number; + /** *

                          The nextToken value returned from a previous call to * ListBuildBatches. This specifies the next item to return. To return the @@ -4256,11 +4294,6 @@ export interface ListBuildBatchesInput { *

                          A BuildBatchFilter object that specifies the filters for the search.

                          */ filter?: BuildBatchFilter; - - /** - *

                          The maximum number of results to return.

                          - */ - maxResults?: number; } export namespace ListBuildBatchesInput { @@ -4289,6 +4322,11 @@ export namespace ListBuildBatchesOutput { } export interface ListBuildBatchesForProjectInput { + /** + *

                          The maximum number of results to return.

                          + */ + maxResults?: number; + /** *

                          The nextToken value returned from a previous call to * ListBuildBatchesForProject. This specifies the next item to return. To return the @@ -4314,19 +4352,14 @@ export interface ListBuildBatchesForProjectInput { sortOrder?: SortOrderType | string; /** - *

                          The maximum number of results to return.

                          + *

                          The name of the project.

                          */ - maxResults?: number; + projectName?: string; /** *

                          A BuildBatchFilter object that specifies the filters for the search.

                          */ filter?: BuildBatchFilter; - - /** - *

                          The name of the project.

                          - */ - projectName?: string; } export namespace ListBuildBatchesForProjectInput { @@ -4356,23 +4389,6 @@ export namespace ListBuildBatchesForProjectOutput { } export interface ListBuildsInput { - /** - *

                          The order to list build IDs. Valid values include:

                          - *
                            - *
                          • - *

                            - * ASCENDING: List the build IDs in ascending order by build - * ID.

                            - *
                          • - *
                          • - *

                            - * DESCENDING: List the build IDs in descending order by build - * ID.

                            - *
                          • - *
                          - */ - sortOrder?: SortOrderType | string; - /** *

                          During a previous call, if there are more than 100 items in the list, only the first * 100 items are returned, along with a unique string called a @@ -4382,6 +4398,23 @@ export interface ListBuildsInput { * until no more next tokens are returned.

                          */ nextToken?: string; + + /** + *

                          The order to list build IDs. Valid values include:

                          + *
                            + *
                          • + *

                            + * ASCENDING: List the build IDs in ascending order by build + * ID.

                            + *
                          • + *
                          • + *

                            + * DESCENDING: List the build IDs in descending order by build + * ID.

                            + *
                          • + *
                          + */ + sortOrder?: SortOrderType | string; } export namespace ListBuildsInput { @@ -4412,6 +4445,11 @@ export namespace ListBuildsOutput { } export interface ListBuildsForProjectInput { + /** + *

                          The name of the AWS CodeBuild project.

                          + */ + projectName: string | undefined; + /** *

                          The order to list build IDs. Valid values include:

                          *
                            @@ -4438,11 +4476,6 @@ export interface ListBuildsForProjectInput { * until no more next tokens are returned.

                            */ nextToken?: string; - - /** - *

                            The name of the AWS CodeBuild project.

                            - */ - projectName: string | undefined; } export namespace ListBuildsForProjectInput { @@ -4491,14 +4524,14 @@ export interface EnvironmentImage { name?: string; /** - *

                            A list of environment image versions.

                            + *

                            The description of the Docker image.

                            */ - versions?: string[]; + description?: string; /** - *

                            The description of the Docker image.

                            + *

                            A list of environment image versions.

                            */ - description?: string; + versions?: string[]; } export namespace EnvironmentImage { @@ -4525,16 +4558,16 @@ export enum LanguageType { * AWS CodeBuild.

                            */ export interface EnvironmentLanguage { - /** - *

                            The programming language for the Docker images.

                            - */ - language?: LanguageType | string; - /** *

                            The list of Docker images that are related by the specified programming * language.

                            */ images?: EnvironmentImage[]; + + /** + *

                            The programming language for the Docker images.

                            + */ + language?: LanguageType | string; } export namespace EnvironmentLanguage { @@ -4593,29 +4626,6 @@ export enum ProjectSortByType { } export interface ListProjectsInput { - /** - *

                            The criterion to be used to list build project names. Valid values include:

                            - *
                              - *
                            • - *

                              - * CREATED_TIME: List based on when each build project was - * created.

                              - *
                            • - *
                            • - *

                              - * LAST_MODIFIED_TIME: List based on when information about each - * build project was last changed.

                              - *
                            • - *
                            • - *

                              - * NAME: List based on each build project's name.

                              - *
                            • - *
                            - *

                            Use sortOrder to specify in what order to list the build project names - * based on the preceding criteria.

                            - */ - sortBy?: ProjectSortByType | string; - /** *

                            During a previous call, if there are more than 100 items in the list, only the first * 100 items are returned, along with a unique string called a @@ -4642,6 +4652,29 @@ export interface ListProjectsInput { * names.

                            */ sortOrder?: SortOrderType | string; + + /** + *

                            The criterion to be used to list build project names. Valid values include:

                            + *
                              + *
                            • + *

                              + * CREATED_TIME: List based on when each build project was + * created.

                              + *
                            • + *
                            • + *

                              + * LAST_MODIFIED_TIME: List based on when information about each + * build project was last changed.

                              + *
                            • + *
                            • + *

                              + * NAME: List based on each build project's name.

                              + *
                            • + *
                            + *

                            Use sortOrder to specify in what order to list the build project names + * based on the preceding criteria.

                            + */ + sortBy?: ProjectSortByType | string; } export namespace ListProjectsInput { @@ -4779,6 +4812,25 @@ export namespace ReportFilter { } export interface ListReportsInput { + /** + *

                            + * Specifies the sort order for the list of returned reports. Valid values are: + *

                            + *
                              + *
                            • + *

                              + * ASCENDING: return reports in chronological order based on their creation date. + *

                              + *
                            • + *
                            • + *

                              + * DESCENDING: return reports in the reverse chronological order based on their creation date. + *

                              + *
                            • + *
                            + */ + sortOrder?: SortOrderType | string; + /** *

                            * The maximum number of paginated reports returned per response. Use nextToken to iterate pages in @@ -4804,25 +4856,6 @@ export interface ListReportsInput { *

                            */ nextToken?: string; - - /** - *

                            - * Specifies the sort order for the list of returned reports. Valid values are: - *

                            - *
                              - *
                            • - *

                              - * ASCENDING: return reports in chronological order based on their creation date. - *

                              - *
                            • - *
                            • - *

                              - * DESCENDING: return reports in the reverse chronological order based on their creation date. - *

                              - *
                            • - *
                            - */ - sortOrder?: SortOrderType | string; } export namespace ListReportsInput { @@ -4832,13 +4865,6 @@ export namespace ListReportsInput { } export interface ListReportsOutput { - /** - *

                            - * The list of returned ARNs for the reports in the current AWS account. - *

                            - */ - reports?: string[]; - /** *

                            * During a previous call, the maximum number of items that can be returned is the value specified in @@ -4849,6 +4875,13 @@ export interface ListReportsOutput { *

                            */ nextToken?: string; + + /** + *

                            + * The list of returned ARNs for the reports in the current AWS account. + *

                            + */ + reports?: string[]; } export namespace ListReportsOutput { @@ -4858,6 +4891,13 @@ export namespace ListReportsOutput { } export interface ListReportsForReportGroupInput { + /** + *

                            + * A ReportFilter object used to filter the returned reports. + *

                            + */ + filter?: ReportFilter; + /** *

                            * During a previous call, the maximum number of items that can be returned is the value specified in @@ -4869,13 +4909,6 @@ export interface ListReportsForReportGroupInput { */ nextToken?: string; - /** - *

                            - * Use to specify whether the results are returned in ascending or descending order. - *

                            - */ - sortOrder?: SortOrderType | string; - /** *

                            * The maximum number of paginated reports in this report group returned per response. Use nextToken to iterate pages in @@ -4893,10 +4926,10 @@ export interface ListReportsForReportGroupInput { /** *

                            - * A ReportFilter object used to filter the returned reports. + * Use to specify whether the results are returned in ascending or descending order. *

                            */ - filter?: ReportFilter; + sortOrder?: SortOrderType | string; } export namespace ListReportsForReportGroupInput { @@ -4937,13 +4970,6 @@ export enum SharedResourceSortByType { } export interface ListSharedProjectsInput { - /** - *

                            The maximum number of paginated shared build projects returned per response. Use - * nextToken to iterate pages in the list of returned Project - * objects. The default value is 100.

                            - */ - maxResults?: number; - /** *

                            The order in which to list shared build projects. Valid values include:

                            *
                              @@ -4959,6 +4985,23 @@ export interface ListSharedProjectsInput { */ sortOrder?: SortOrderType | string; + /** + *

                              During a previous call, the maximum number of items that can be returned is the value + * specified in maxResults. If there more items in the list, then a unique + * string called a nextToken is returned. To get the next batch of + * items in the list, call this operation again, adding the next token to the call. To get + * all of the items in the list, keep calling this operation with each subsequent next + * token that is returned, until no more next tokens are returned.

                              + */ + nextToken?: string; + + /** + *

                              The maximum number of paginated shared build projects returned per response. Use + * nextToken to iterate pages in the list of returned Project + * objects. The default value is 100.

                              + */ + maxResults?: number; + /** *

                              The criterion to be used to list build projects shared with the current AWS account * or user. Valid values include:

                              @@ -4975,16 +5018,6 @@ export interface ListSharedProjectsInput { *
                            */ sortBy?: SharedResourceSortByType | string; - - /** - *

                            During a previous call, the maximum number of items that can be returned is the value - * specified in maxResults. If there more items in the list, then a unique - * string called a nextToken is returned. To get the next batch of - * items in the list, call this operation again, adding the next token to the call. To get - * all of the items in the list, keep calling this operation with each subsequent next - * token that is returned, until no more next tokens are returned.

                            - */ - nextToken?: string; } export namespace ListSharedProjectsInput { @@ -5018,13 +5051,6 @@ export namespace ListSharedProjectsOutput { } export interface ListSharedReportGroupsInput { - /** - *

                            The maximum number of paginated shared report groups per response. Use - * nextToken to iterate pages in the list of returned - * ReportGroup objects. The default value is 100.

                            - */ - maxResults?: number; - /** *

                            The criterion to be used to list report groups shared with the current AWS account or * user. Valid values include:

                            @@ -5057,6 +5083,13 @@ export interface ListSharedReportGroupsInput { */ sortOrder?: SortOrderType | string; + /** + *

                            The maximum number of paginated shared report groups per response. Use + * nextToken to iterate pages in the list of returned + * ReportGroup objects. The default value is 100.

                            + */ + maxResults?: number; + /** *

                            During a previous call, the maximum number of items that can be returned is the value * specified in maxResults. If there more items in the list, then a unique @@ -5075,12 +5108,6 @@ export namespace ListSharedReportGroupsInput { } export interface ListSharedReportGroupsOutput { - /** - *

                            The list of ARNs for the report groups shared with the current AWS account or user. - *

                            - */ - reportGroups?: string[]; - /** *

                            During a previous call, the maximum number of items that can be returned is the value * specified in maxResults. If there more items in the list, then a unique @@ -5090,6 +5117,12 @@ export interface ListSharedReportGroupsOutput { * token that is returned, until no more next tokens are returned.

                            */ nextToken?: string; + + /** + *

                            The list of ARNs for the report groups shared with the current AWS account or user. + *

                            + */ + reportGroups?: string[]; } export namespace ListSharedReportGroupsOutput { @@ -5111,6 +5144,12 @@ export namespace ListSourceCredentialsInput { * repository.

                            */ export interface SourceCredentialsInfo { + /** + *

                            The type of authentication used by the credentials. Valid options are OAUTH, + * BASIC_AUTH, or PERSONAL_ACCESS_TOKEN.

                            + */ + authType?: AuthType | string; + /** *

                            The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, or * BITBUCKET.

                            @@ -5121,12 +5160,6 @@ export interface SourceCredentialsInfo { *

                            The Amazon Resource Name (ARN) of the token.

                            */ arn?: string; - - /** - *

                            The type of authentication used by the credentials. Valid options are OAUTH, - * BASIC_AUTH, or PERSONAL_ACCESS_TOKEN.

                            - */ - authType?: AuthType | string; } export namespace SourceCredentialsInfo { @@ -5186,11 +5219,6 @@ export namespace PutResourcePolicyOutput { } export interface RetryBuildInput { - /** - *

                            Specifies the identifier of the build to restart.

                            - */ - id?: string; - /** *

                            A unique, case sensitive identifier you provide to ensure the idempotency of the * RetryBuild request. The token is included in the @@ -5199,6 +5227,11 @@ export interface RetryBuildInput { * AWS CodeBuild returns a parameter mismatch error.

                            */ idempotencyToken?: string; + + /** + *

                            Specifies the identifier of the build to restart.

                            + */ + id?: string; } export namespace RetryBuildInput { @@ -5226,15 +5259,6 @@ export enum RetryBuildBatchType { } export interface RetryBuildBatchInput { - /** - *

                            A unique, case sensitive identifier you provide to ensure the idempotency of the - * RetryBuildBatch request. The token is included in the - * RetryBuildBatch request and is valid for five minutes. If you repeat - * the RetryBuildBatch request with the same token, but change a parameter, - * AWS CodeBuild returns a parameter mismatch error.

                            - */ - idempotencyToken?: string; - /** *

                            Specifies the type of retry to perform.

                            */ @@ -5244,6 +5268,15 @@ export interface RetryBuildBatchInput { *

                            Specifies the identifier of the batch build to restart.

                            */ id?: string; + + /** + *

                            A unique, case sensitive identifier you provide to ensure the idempotency of the + * RetryBuildBatch request. The token is included in the + * RetryBuildBatch request and is valid for five minutes. If you repeat + * the RetryBuildBatch request with the same token, but change a parameter, + * AWS CodeBuild returns a parameter mismatch error.

                            + */ + idempotencyToken?: string; } export namespace RetryBuildBatchInput { @@ -5267,15 +5300,10 @@ export namespace RetryBuildBatchOutput { export interface StartBuildInput { /** - *

                            Log settings for this build that override the log settings defined in the build - * project.

                            - */ - logsConfigOverride?: LogsConfig; - - /** - *

                            The number of minutes a build is allowed to be queued before it times out.

                            + *

                            A location that overrides, for this build, the source location for the one defined in + * the build project.

                            */ - queuedTimeoutInMinutesOverride?: number; + sourceLocationOverride?: string; /** *

                            Set to true to report to your source provider the status of a build's start and @@ -5289,108 +5317,48 @@ export interface StartBuildInput { reportBuildStatusOverride?: boolean; /** - *

                            The version of the build input to be built, for this build only. If not specified, - * the latest version is used. If specified, the contents depends on the source - * provider:

                            - *
                            - *
                            AWS CodeCommit
                            - *
                            - *

                            The commit ID, branch, or Git tag to use.

                            - *
                            - *
                            GitHub
                            - *
                            - *

                            The commit ID, pull request ID, branch name, or tag name that corresponds - * to the version of the source code you want to build. If a pull request ID is - * specified, it must use the format pr/pull-request-ID (for - * example pr/25). If a branch name is specified, the branch's - * HEAD commit ID is used. If not specified, the default branch's HEAD commit - * ID is used.

                            - *
                            - *
                            Bitbucket
                            - *
                            - *

                            The commit ID, branch name, or tag name that corresponds to the version of - * the source code you want to build. If a branch name is specified, the - * branch's HEAD commit ID is used. If not specified, the default branch's HEAD - * commit ID is used.

                            - *
                            - *
                            Amazon Simple Storage Service (Amazon S3)
                            - *
                            - *

                            The version ID of the object that represents the build input ZIP file to - * use.

                            - *
                            - *
                            - *

                            If sourceVersion is specified at the project level, then this - * sourceVersion (at the build level) takes precedence.

                            - *

                            For more information, see Source Version Sample - * with CodeBuild in the AWS CodeBuild User Guide.

                            - */ - sourceVersion?: string; - - /** - *

                            The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the build - * project. The CMK key encrypts the build output artifacts.

                            - * - *

                            You can use a cross-account KMS key to encrypt the build output artifacts if your - * service role has permission to that key.

                            - *
                            - *

                            You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using - * the format alias/alias-name - * ).

                            - */ - encryptionKeyOverride?: string; - - /** - *

                            Build output artifact settings that override, for this build only, the latest ones - * already defined in the build project.

                            - */ - artifactsOverride?: ProjectArtifacts; - - /** - *

                            The user-defined depth of history, with a minimum value of 0, that overrides, for this - * build only, any previous depth of history defined in the build project.

                            - */ - gitCloneDepthOverride?: number; - - /** - *

                            An array of ProjectArtifacts objects.

                            + *

                            The number of minutes a build is allowed to be queued before it times out.

                            */ - secondaryArtifactsOverride?: ProjectArtifacts[]; + queuedTimeoutInMinutesOverride?: number; /** - *

                            The name of the AWS CodeBuild build project to start running a build.

                            + *

                            Log settings for this build that override the log settings defined in the build + * project.

                            */ - projectName: string | undefined; + logsConfigOverride?: LogsConfig; /** - *

                            An array of ProjectSourceVersion objects that specify one or more - * versions of the project's secondary sources to be used for this build only.

                            + *

                            An authorization type for this build that overrides the one defined in the build + * project. This override applies only if the build project's source is BitBucket or + * GitHub.

                            */ - secondarySourcesVersionOverride?: ProjectSourceVersion[]; + sourceAuthOverride?: SourceAuth; /** - *

                            Enable this flag to override the insecure SSL setting that is specified in the build - * project. The insecure SSL setting determines whether to ignore SSL warnings while - * connecting to the project source code. This override applies only if the build's source - * is GitHub Enterprise.

                            + *

                            A unique, case sensitive identifier you provide to ensure the idempotency of the + * StartBuild request. The token is included in the StartBuild request and is valid for 5 + * minutes. If you repeat the StartBuild request with the same token, but change a + * parameter, AWS CodeBuild returns a parameter mismatch error.

                            */ - insecureSslOverride?: boolean; + idempotencyToken?: string; /** - *

                            The credentials for access to a private registry.

                            + *

                            Information about the Git submodules configuration for this build of an AWS CodeBuild build + * project.

                            */ - registryCredentialOverride?: RegistryCredential; + gitSubmodulesConfigOverride?: GitSubmodulesConfig; /** - *

                            An authorization type for this build that overrides the one defined in the build - * project. This override applies only if the build project's source is BitBucket or - * GitHub.

                            + *

                            The name of a certificate for this build that overrides the one specified in the build + * project.

                            */ - sourceAuthOverride?: SourceAuth; + certificateOverride?: string; /** - *

                            An array of ProjectSource objects.

                            + *

                            The name of a service role for this build that overrides the one specified in the + * build project.

                            */ - secondarySourcesOverride?: ProjectSource[]; + serviceRoleOverride?: string; /** *

                            A buildspec file declaration that overrides, for this build only, the latest one @@ -5407,41 +5375,50 @@ export interface StartBuildInput { buildspecOverride?: string; /** - *

                            Information about the Git submodules configuration for this build of an AWS CodeBuild build - * project.

                            - */ - gitSubmodulesConfigOverride?: GitSubmodulesConfig; - - /** - *

                            A unique, case sensitive identifier you provide to ensure the idempotency of the - * StartBuild request. The token is included in the StartBuild request and is valid for 5 - * minutes. If you repeat the StartBuild request with the same token, but change a - * parameter, AWS CodeBuild returns a parameter mismatch error.

                            + *

                            Contains information that defines how the build project reports the build status to + * the source provider. This option is only used when the source provider is + * GITHUB, GITHUB_ENTERPRISE, or + * BITBUCKET.

                            */ - idempotencyToken?: string; + buildStatusConfigOverride?: BuildStatusConfig; /** - *

                            Enable this flag to override privileged mode in the build project.

                            + *

                            A set of environment variables that overrides, for this build only, the latest ones + * already defined in the build project.

                            */ - privilegedModeOverride?: boolean; + environmentVariablesOverride?: EnvironmentVariable[]; /** - *

                            A ProjectCache object specified for this build that overrides the one defined in the - * build project.

                            + *

                            The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid + * values:

                            + *
                            + *
                            CODEBUILD
                            + *
                            + *

                            Specifies that AWS CodeBuild uses its own credentials. This requires that you + * modify your ECR repository policy to trust AWS CodeBuild's service principal.

                            + *
                            + *
                            SERVICE_ROLE
                            + *
                            + *

                            Specifies that AWS CodeBuild uses your build project's service role.

                            + *
                            + *
                            + *

                            When using a cross-account or private registry image, you must use + * SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, + * you must use CODEBUILD credentials.

                            */ - cacheOverride?: ProjectCache; + imagePullCredentialsTypeOverride?: ImagePullCredentialsType | string; /** - *

                            The name of a compute type for this build that overrides the one specified in the + *

                            A source input type, for this build, that overrides the source input defined in the * build project.

                            */ - computeTypeOverride?: ComputeType | string; + sourceTypeOverride?: SourceType | string; /** - *

                            The name of an image for this build that overrides the one specified in the build - * project.

                            + *

                            The number of build timeout minutes, from 5 to 480 (8 hours), that overrides, for this + * build only, the latest setting already defined in the build project.

                            */ - imageOverride?: string; + timeoutInMinutesOverride?: number; /** *

                            Specifies if session debugging is enabled for this build. For more information, see @@ -5450,74 +5427,129 @@ export interface StartBuildInput { debugSessionEnabled?: boolean; /** - *

                            A container type for this build that overrides the one specified in the build + *

                            The name of an image for this build that overrides the one specified in the build * project.

                            */ - environmentTypeOverride?: EnvironmentType | string; + imageOverride?: string; /** - *

                            The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid - * values:

                            + *

                            The version of the build input to be built, for this build only. If not specified, + * the latest version is used. If specified, the contents depends on the source + * provider:

                            *
                            - *
                            CODEBUILD
                            + *
                            AWS CodeCommit
                            *
                            - *

                            Specifies that AWS CodeBuild uses its own credentials. This requires that you - * modify your ECR repository policy to trust AWS CodeBuild's service principal.

                            + *

                            The commit ID, branch, or Git tag to use.

                            *
                            - *
                            SERVICE_ROLE
                            + *
                            GitHub
                            *
                            - *

                            Specifies that AWS CodeBuild uses your build project's service role.

                            + *

                            The commit ID, pull request ID, branch name, or tag name that corresponds + * to the version of the source code you want to build. If a pull request ID is + * specified, it must use the format pr/pull-request-ID (for + * example pr/25). If a branch name is specified, the branch's + * HEAD commit ID is used. If not specified, the default branch's HEAD commit + * ID is used.

                            + *
                            + *
                            Bitbucket
                            + *
                            + *

                            The commit ID, branch name, or tag name that corresponds to the version of + * the source code you want to build. If a branch name is specified, the + * branch's HEAD commit ID is used. If not specified, the default branch's HEAD + * commit ID is used.

                            + *
                            + *
                            Amazon Simple Storage Service (Amazon S3)
                            + *
                            + *

                            The version ID of the object that represents the build input ZIP file to + * use.

                            *
                            *
                            - *

                            When using a cross-account or private registry image, you must use - * SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, - * you must use CODEBUILD credentials.

                            + *

                            If sourceVersion is specified at the project level, then this + * sourceVersion (at the build level) takes precedence.

                            + *

                            For more information, see Source Version Sample + * with CodeBuild in the AWS CodeBuild User Guide.

                            */ - imagePullCredentialsTypeOverride?: ImagePullCredentialsType | string; + sourceVersion?: string; /** - *

                            The number of build timeout minutes, from 5 to 480 (8 hours), that overrides, for this - * build only, the latest setting already defined in the build project.

                            + *

                            Enable this flag to override privileged mode in the build project.

                            */ - timeoutInMinutesOverride?: number; + privilegedModeOverride?: boolean; /** - *

                            The name of a service role for this build that overrides the one specified in the - * build project.

                            + *

                            An array of ProjectArtifacts objects.

                            */ - serviceRoleOverride?: string; + secondaryArtifactsOverride?: ProjectArtifacts[]; /** - *

                            Contains information that defines how the build project reports the build status to - * the source provider. This option is only used when the source provider is - * GITHUB, GITHUB_ENTERPRISE, or - * BITBUCKET.

                            + *

                            Enable this flag to override the insecure SSL setting that is specified in the build + * project. The insecure SSL setting determines whether to ignore SSL warnings while + * connecting to the project source code. This override applies only if the build's source + * is GitHub Enterprise.

                            */ - buildStatusConfigOverride?: BuildStatusConfig; + insecureSslOverride?: boolean; /** - *

                            The name of a certificate for this build that overrides the one specified in the build - * project.

                            + *

                            A ProjectCache object specified for this build that overrides the one defined in the + * build project.

                            */ - certificateOverride?: string; + cacheOverride?: ProjectCache; /** - *

                            A source input type, for this build, that overrides the source input defined in the - * build project.

                            + *

                            An array of ProjectSourceVersion objects that specify one or more + * versions of the project's secondary sources to be used for this build only.

                            */ - sourceTypeOverride?: SourceType | string; + secondarySourcesVersionOverride?: ProjectSourceVersion[]; /** - *

                            A set of environment variables that overrides, for this build only, the latest ones + *

                            Build output artifact settings that override, for this build only, the latest ones * already defined in the build project.

                            */ - environmentVariablesOverride?: EnvironmentVariable[]; + artifactsOverride?: ProjectArtifacts; /** - *

                            A location that overrides, for this build, the source location for the one defined in - * the build project.

                            + *

                            The user-defined depth of history, with a minimum value of 0, that overrides, for this + * build only, any previous depth of history defined in the build project.

                            */ - sourceLocationOverride?: string; + gitCloneDepthOverride?: number; + + /** + *

                            The credentials for access to a private registry.

                            + */ + registryCredentialOverride?: RegistryCredential; + + /** + *

                            The name of the AWS CodeBuild build project to start running a build.

                            + */ + projectName: string | undefined; + + /** + *

                            An array of ProjectSource objects.

                            + */ + secondarySourcesOverride?: ProjectSource[]; + + /** + *

                            The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the build + * project. The CMK key encrypts the build output artifacts.

                            + * + *

                            You can use a cross-account KMS key to encrypt the build output artifacts if your + * service role has permission to that key.

                            + *
                            + *

                            You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using + * the format alias/).

                            + */ + encryptionKeyOverride?: string; + + /** + *

                            A container type for this build that overrides the one specified in the build + * project.

                            + */ + environmentTypeOverride?: EnvironmentType | string; + + /** + *

                            The name of a compute type for this build that overrides the one specified in the + * build project.

                            + */ + computeTypeOverride?: ComputeType | string; } export namespace StartBuildInput { @@ -5541,37 +5573,17 @@ export namespace StartBuildOutput { export interface StartBuildBatchInput { /** - *

                            The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the batch build - * project. The CMK key encrypts the build output artifacts.

                            - * - *

                            You can use a cross-account KMS key to encrypt the build output artifacts if your - * service role has permission to that key.

                            - *
                            - *

                            You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using - * the format alias/alias-name - * ).

                            - */ - encryptionKeyOverride?: string; - - /** - *

                            The name of a certificate for this batch build that overrides the one specified in the batch build - * project.

                            + *

                            A LogsConfig object that override the log settings defined in the batch build + * project.

                            */ - certificateOverride?: string; + logsConfigOverride?: LogsConfig; /** - *

                            A buildspec file declaration that overrides, for this build only, the latest one - * already defined in the build project.

                            - *

                            If this value is set, it can be either an inline buildspec definition, the path to an - * alternate buildspec file relative to the value of the built-in - * CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. - * The bucket must be in the same AWS Region as the build project. Specify the buildspec - * file using its ARN (for example, - * arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not - * provided or is set to an empty string, the source code must contain a buildspec file in - * its root directory. For more information, see Buildspec File Name and Storage Location.

                            + *

                            A SourceAuth object that overrides the one defined in the batch build + * project. This override applies only if the build project's source is BitBucket or + * GitHub.

                            */ - buildspecOverride?: string; + sourceAuthOverride?: SourceAuth; /** *

                            The version of the batch build input to be built, for this build only. If not specified, @@ -5612,10 +5624,35 @@ export interface StartBuildBatchInput { sourceVersion?: string; /** - *

                            An array of ProjectArtifacts objects that contains information about the - * build output artifact overrides for the build project.

                            + *

                            A buildspec file declaration that overrides, for this build only, the latest one + * already defined in the build project.

                            + *

                            If this value is set, it can be either an inline buildspec definition, the path to an + * alternate buildspec file relative to the value of the built-in + * CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. + * The bucket must be in the same AWS Region as the build project. Specify the buildspec + * file using its ARN (for example, + * arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not + * provided or is set to an empty string, the source code must contain a buildspec file in + * its root directory. For more information, see Buildspec File Name and Storage Location.

                            */ - artifactsOverride?: ProjectArtifacts; + buildspecOverride?: string; + + /** + *

                            The number of minutes a batch build is allowed to be queued before it times out.

                            + */ + queuedTimeoutInMinutesOverride?: number; + + /** + *

                            An array of ProjectSource objects that override the secondary sources + * defined in the batch build project.

                            + */ + secondarySourcesOverride?: ProjectSource[]; + + /** + *

                            The source input type that overrides the source input defined in the batch + * build project.

                            + */ + sourceTypeOverride?: SourceType | string; /** *

                            A unique, case sensitive identifier you provide to ensure the idempotency of the @@ -5626,6 +5663,24 @@ export interface StartBuildBatchInput { */ idempotencyToken?: string; + /** + *

                            The name of a certificate for this batch build that overrides the one specified in the batch build + * project.

                            + */ + certificateOverride?: string; + + /** + *

                            A location that overrides, for this batch build, the source location defined in + * the batch build project.

                            + */ + sourceLocationOverride?: string; + + /** + *

                            An array of ProjectArtifacts objects that override the secondary artifacts + * defined in the batch build project.

                            + */ + secondaryArtifactsOverride?: ProjectArtifacts[]; + /** *

                            Set to true to report to your source provider the status of a batch build's * start and completion. If you use this option with a source provider other than GitHub, @@ -5638,24 +5693,30 @@ export interface StartBuildBatchInput { reportBuildBatchStatusOverride?: boolean; /** - *

                            An array of ProjectArtifacts objects that override the secondary artifacts - * defined in the batch build project.

                            - */ - secondaryArtifactsOverride?: ProjectArtifacts[]; - - /** - *

                            Enable this flag to override the insecure SSL setting that is specified in the batch build - * project. The insecure SSL setting determines whether to ignore SSL warnings while - * connecting to the project source code. This override applies only if the build's source - * is GitHub Enterprise.

                            + *

                            The type of credentials AWS CodeBuild uses to pull images in your batch build. There are two valid + * values:

                            + *
                            + *
                            CODEBUILD
                            + *
                            + *

                            Specifies that AWS CodeBuild uses its own credentials. This requires that you + * modify your ECR repository policy to trust AWS CodeBuild's service principal.

                            + *
                            + *
                            SERVICE_ROLE
                            + *
                            + *

                            Specifies that AWS CodeBuild uses your build project's service role.

                            + *
                            + *
                            + *

                            When using a cross-account or private registry image, you must use + * SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, + * you must use CODEBUILD credentials.

                            */ - insecureSslOverride?: boolean; + imagePullCredentialsTypeOverride?: ImagePullCredentialsType | string; /** - *

                            A GitSubmodulesConfig object that overrides the Git submodules configuration - * for this batch build.

                            + *

                            The name of an image for this batch build that overrides the one specified in the batch + * build project.

                            */ - gitSubmodulesConfigOverride?: GitSubmodulesConfig; + imageOverride?: string; /** *

                            A BuildBatchConfigOverride object that contains batch build configuration @@ -5664,69 +5725,35 @@ export interface StartBuildBatchInput { buildBatchConfigOverride?: ProjectBuildBatchConfig; /** - *

                            An array of ProjectSourceVersion objects that override the secondary source - * versions in the batch build project.

                            - */ - secondarySourcesVersionOverride?: ProjectSourceVersion[]; - - /** - *

                            An array of ProjectSource objects that override the secondary sources - * defined in the batch build project.

                            - */ - secondarySourcesOverride?: ProjectSource[]; - - /** - *

                            The user-defined depth of history, with a minimum value of 0, that overrides, for this - * batch build only, any previous depth of history defined in the batch build project.

                            + *

                            Enable this flag to override privileged mode in the batch build project.

                            */ - gitCloneDepthOverride?: number; + privilegedModeOverride?: boolean; /** - *

                            The name of the project.

                            + *

                            An array of ProjectSourceVersion objects that override the secondary source + * versions in the batch build project.

                            */ - projectName: string | undefined; + secondarySourcesVersionOverride?: ProjectSourceVersion[]; /** - *

                            A SourceAuth object that overrides the one defined in the batch build - * project. This override applies only if the build project's source is BitBucket or - * GitHub.

                            + *

                            An array of EnvironmentVariable objects that override, or add to, the + * environment variables defined in the batch build project.

                            */ - sourceAuthOverride?: SourceAuth; + environmentVariablesOverride?: EnvironmentVariable[]; /** - *

                            A RegistryCredential object that overrides credentials for access to a - * private registry.

                            + *

                            Enable this flag to override the insecure SSL setting that is specified in the batch build + * project. The insecure SSL setting determines whether to ignore SSL warnings while + * connecting to the project source code. This override applies only if the build's source + * is GitHub Enterprise.

                            */ - registryCredentialOverride?: RegistryCredential; + insecureSslOverride?: boolean; /** *

                            Overrides the build timeout specified in the batch build project.

                            */ buildTimeoutInMinutesOverride?: number; - /** - *

                            A container type for this batch build that overrides the one specified in the batch build - * project.

                            - */ - environmentTypeOverride?: EnvironmentType | string; - - /** - *

                            The name of a compute type for this batch build that overrides the one specified in the - * batch build project.

                            - */ - computeTypeOverride?: ComputeType | string; - - /** - *

                            Enable this flag to override privileged mode in the batch build project.

                            - */ - privilegedModeOverride?: boolean; - - /** - *

                            The name of an image for this batch build that overrides the one specified in the batch - * build project.

                            - */ - imageOverride?: string; - /** *

                            The name of a service role for this batch build that overrides the one specified in the * batch build project.

                            @@ -5734,58 +5761,62 @@ export interface StartBuildBatchInput { serviceRoleOverride?: string; /** - *

                            A ProjectCache object that specifies cache overrides.

                            + *

                            The name of the project.

                            */ - cacheOverride?: ProjectCache; + projectName: string | undefined; - /** - *

                            The type of credentials AWS CodeBuild uses to pull images in your batch build. There are two valid - * values:

                            - *
                            - *
                            CODEBUILD
                            - *
                            - *

                            Specifies that AWS CodeBuild uses its own credentials. This requires that you - * modify your ECR repository policy to trust AWS CodeBuild's service principal.

                            - *
                            - *
                            SERVICE_ROLE
                            - *
                            - *

                            Specifies that AWS CodeBuild uses your build project's service role.

                            - *
                            - *
                            - *

                            When using a cross-account or private registry image, you must use - * SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, - * you must use CODEBUILD credentials.

                            + /** + *

                            A RegistryCredential object that overrides credentials for access to a + * private registry.

                            */ - imagePullCredentialsTypeOverride?: ImagePullCredentialsType | string; + registryCredentialOverride?: RegistryCredential; /** - *

                            The number of minutes a batch build is allowed to be queued before it times out.

                            + *

                            A ProjectCache object that specifies cache overrides.

                            */ - queuedTimeoutInMinutesOverride?: number; + cacheOverride?: ProjectCache; /** - *

                            A location that overrides, for this batch build, the source location defined in - * the batch build project.

                            + *

                            A GitSubmodulesConfig object that overrides the Git submodules configuration + * for this batch build.

                            */ - sourceLocationOverride?: string; + gitSubmodulesConfigOverride?: GitSubmodulesConfig; /** - *

                            A LogsConfig object that override the log settings defined in the batch build - * project.

                            + *

                            The user-defined depth of history, with a minimum value of 0, that overrides, for this + * batch build only, any previous depth of history defined in the batch build project.

                            */ - logsConfigOverride?: LogsConfig; + gitCloneDepthOverride?: number; /** - *

                            The source input type that overrides the source input defined in the batch - * build project.

                            + *

                            The name of a compute type for this batch build that overrides the one specified in the + * batch build project.

                            */ - sourceTypeOverride?: SourceType | string; + computeTypeOverride?: ComputeType | string; /** - *

                            An array of EnvironmentVariable objects that override, or add to, the - * environment variables defined in the batch build project.

                            + *

                            An array of ProjectArtifacts objects that contains information about the + * build output artifact overrides for the build project.

                            */ - environmentVariablesOverride?: EnvironmentVariable[]; + artifactsOverride?: ProjectArtifacts; + + /** + *

                            A container type for this batch build that overrides the one specified in the batch build + * project.

                            + */ + environmentTypeOverride?: EnvironmentType | string; + + /** + *

                            The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the batch build + * project. The CMK key encrypts the build output artifacts.

                            + * + *

                            You can use a cross-account KMS key to encrypt the build output artifacts if your + * service role has permission to that key.

                            + *
                            + *

                            You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using + * the format alias/).

                            + */ + encryptionKeyOverride?: string; } export namespace StartBuildBatchInput { @@ -5861,80 +5892,34 @@ export namespace StopBuildBatchOutput { export interface UpdateProjectInput { /** - *

                            The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output - * artifacts.

                            - * - *

                            You can use a cross-account KMS key to encrypt the build output artifacts if your - * service role has permission to that key.

                            - *
                            - *

                            You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using - * the format alias/alias-name - * ).

                            - */ - encryptionKey?: string; - - /** - *

                            A version of the build input to be built for this project. If not specified, the - * latest version is used. If specified, it must be one of:

                            - *
                              - *
                            • - *

                              For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                              - *
                            • - *
                            • - *

                              For GitHub: the commit ID, pull request ID, branch name, or tag name that - * corresponds to the version of the source code you want to build. If a pull - * request ID is specified, it must use the format pr/pull-request-ID - * (for example pr/25). If a branch name is specified, the branch's - * HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is - * used.

                              - *
                            • - *
                            • - *

                              For Bitbucket: the commit ID, branch name, or tag name that corresponds to the - * version of the source code you want to build. If a branch name is specified, the - * branch's HEAD commit ID is used. If not specified, the default branch's HEAD - * commit ID is used.

                              - *
                            • - *
                            • - *

                              For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP - * file to use.

                              - *
                            • - *
                            - *

                            If sourceVersion is specified at the build level, then that version - * takes precedence over this sourceVersion (at the project level).

                            - *

                            For more information, see Source Version Sample - * with CodeBuild in the AWS CodeBuild User Guide.

                            + *

                            Stores recently used information so that it can be quickly accessed at a later + * time.

                            */ - sourceVersion?: string; + cache?: ProjectCache; /** - *

                            An array of ProjectSourceVersion objects. If - * secondarySourceVersions is specified at the build level, then they take - * over these secondarySourceVersions (at the project level).

                            + *

                            Information to be changed about the build output artifacts for the build + * project.

                            */ - secondarySourceVersions?: ProjectSourceVersion[]; + artifacts?: ProjectArtifacts; /** - *

                            A new or replacement description of the build project.

                            + *

                            An updated list of tag key and value pairs associated with this build project.

                            + *

                            These tags are available for use by AWS services that support AWS CodeBuild build project + * tags.

                            */ - description?: string; + tags?: Tag[]; /** - *

                            Stores recently used information so that it can be quickly accessed at a later - * time.

                            + *

                            Contains configuration information about a batch build project.

                            */ - cache?: ProjectCache; + buildBatchConfig?: ProjectBuildBatchConfig; /** *

                            An array of ProjectSource objects.

                            */ secondarySources?: ProjectSource[]; - /** - *

                            Information to be changed about the build input source code for the build - * project.

                            - */ - source?: ProjectSource; - /** *

                            * An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object @@ -5945,28 +5930,36 @@ export interface UpdateProjectInput { fileSystemLocations?: ProjectFileSystemLocation[]; /** - *

                            An array of ProjectSource objects.

                            + *

                            The replacement ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent + * AWS services on behalf of the AWS account.

                            */ - secondaryArtifacts?: ProjectArtifacts[]; + serviceRole?: string; /** - *

                            An updated list of tag key and value pairs associated with this build project.

                            - *

                            These tags are available for use by AWS services that support AWS CodeBuild build project - * tags.

                            + *

                            The name of the build project.

                            + * + *

                            You cannot change a build project's name.

                            + *
                            */ - tags?: Tag[]; + name: string | undefined; /** - *

                            The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before - * timing out any related build that did not get marked as completed.

                            + *

                            Set this to true to generate a publicly accessible URL for your project's build + * badge.

                            */ - timeoutInMinutes?: number; + badgeEnabled?: boolean; /** *

                            The number of minutes a build is allowed to be queued before it times out.

                            */ queuedTimeoutInMinutes?: number; + /** + *

                            Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, + * logs in an S3 bucket, or both.

                            + */ + logsConfig?: LogsConfig; + /** *

                            Information to be changed about the build environment for the build project.

                            */ @@ -5978,41 +5971,78 @@ export interface UpdateProjectInput { vpcConfig?: VpcConfig; /** - *

                            The replacement ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent - * AWS services on behalf of the AWS account.

                            + *

                            The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before + * timing out any related build that did not get marked as completed.

                            */ - serviceRole?: string; + timeoutInMinutes?: number; /** - *

                            Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, - * logs in an S3 bucket, or both.

                            + *

                            Information to be changed about the build input source code for the build + * project.

                            */ - logsConfig?: LogsConfig; + source?: ProjectSource; /** - *

                            Contains configuration information about a batch build project.

                            + *

                            An array of ProjectSource objects.

                            */ - buildBatchConfig?: ProjectBuildBatchConfig; + secondaryArtifacts?: ProjectArtifacts[]; /** - *

                            Information to be changed about the build output artifacts for the build - * project.

                            + *

                            A version of the build input to be built for this project. If not specified, the + * latest version is used. If specified, it must be one of:

                            + *
                              + *
                            • + *

                              For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                              + *
                            • + *
                            • + *

                              For GitHub: the commit ID, pull request ID, branch name, or tag name that + * corresponds to the version of the source code you want to build. If a pull + * request ID is specified, it must use the format pr/pull-request-ID + * (for example pr/25). If a branch name is specified, the branch's + * HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is + * used.

                              + *
                            • + *
                            • + *

                              For Bitbucket: the commit ID, branch name, or tag name that corresponds to the + * version of the source code you want to build. If a branch name is specified, the + * branch's HEAD commit ID is used. If not specified, the default branch's HEAD + * commit ID is used.

                              + *
                            • + *
                            • + *

                              For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP + * file to use.

                              + *
                            • + *
                            + *

                            If sourceVersion is specified at the build level, then that version + * takes precedence over this sourceVersion (at the project level).

                            + *

                            For more information, see Source Version Sample + * with CodeBuild in the AWS CodeBuild User Guide.

                            */ - artifacts?: ProjectArtifacts; + sourceVersion?: string; /** - *

                            The name of the build project.

                            + *

                            The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + * artifacts.

                            * - *

                            You cannot change a build project's name.

                            + *

                            You can use a cross-account KMS key to encrypt the build output artifacts if your + * service role has permission to that key.

                            *
                            + *

                            You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using + * the format alias/).

                            */ - name: string | undefined; + encryptionKey?: string; /** - *

                            Set this to true to generate a publicly accessible URL for your project's build - * badge.

                            + *

                            An array of ProjectSourceVersion objects. If + * secondarySourceVersions is specified at the build level, then they take + * over these secondarySourceVersions (at the project level).

                            */ - badgeEnabled?: boolean; + secondarySourceVersions?: ProjectSourceVersion[]; + + /** + *

                            A new or replacement description of the build project.

                            + */ + description?: string; } export namespace UpdateProjectInput { @@ -6035,6 +6065,22 @@ export namespace UpdateProjectOutput { } export interface UpdateReportGroupInput { + /** + *

                            + * An updated list of tag key and value pairs associated with this report group. + *

                            + *

                            These tags are available for use by AWS services that support AWS CodeBuild report group + * tags.

                            + */ + tags?: Tag[]; + + /** + *

                            + * The ARN of the report group to update. + *

                            + */ + arn: string | undefined; + /** *

                            * Used to specify an updated export type. Valid values are: @@ -6053,22 +6099,6 @@ export interface UpdateReportGroupInput { *

                          */ exportConfig?: ReportExportConfig; - - /** - *

                          - * An updated list of tag key and value pairs associated with this report group. - *

                          - *

                          These tags are available for use by AWS services that support AWS CodeBuild report group - * tags.

                          - */ - tags?: Tag[]; - - /** - *

                          - * The ARN of the report group to update. - *

                          - */ - arn: string | undefined; } export namespace UpdateReportGroupInput { @@ -6100,11 +6130,6 @@ export interface UpdateWebhookInput { */ rotateSecret?: boolean; - /** - *

                          The name of the AWS CodeBuild project.

                          - */ - projectName: string | undefined; - /** *

                          A regular expression used to determine which repository branches are built when a * webhook is triggered. If the name of a branch matches the regular expression, then it is @@ -6128,6 +6153,11 @@ export interface UpdateWebhookInput { * WebhookFilter.

                          */ filterGroups?: WebhookFilter[][]; + + /** + *

                          The name of the AWS CodeBuild project.

                          + */ + projectName: string | undefined; } export namespace UpdateWebhookInput { diff --git a/clients/client-codebuild/protocols/Aws_json1_1.ts b/clients/client-codebuild/protocols/Aws_json1_1.ts index 06b81cd80584..425b20a6edef 100644 --- a/clients/client-codebuild/protocols/Aws_json1_1.ts +++ b/clients/client-codebuild/protocols/Aws_json1_1.ts @@ -3637,6 +3637,7 @@ const serializeAws_json1_1DeleteProjectInput = (input: DeleteProjectInput, conte const serializeAws_json1_1DeleteReportGroupInput = (input: DeleteReportGroupInput, context: __SerdeContext): any => { return { ...(input.arn !== undefined && { arn: input.arn }), + ...(input.deleteReports !== undefined && { deleteReports: input.deleteReports }), }; }; @@ -4245,6 +4246,7 @@ const serializeAws_json1_1TagList = (input: Tag[], context: __SerdeContext): any const serializeAws_json1_1TestCaseFilter = (input: TestCaseFilter, context: __SerdeContext): any => { return { + ...(input.keyword !== undefined && { keyword: input.keyword }), ...(input.status !== undefined && { status: input.status }), }; }; diff --git a/clients/client-codecommit/models/models_0.ts b/clients/client-codecommit/models/models_0.ts index aa26e92e04bb..e07decebc4d6 100644 --- a/clients/client-codecommit/models/models_0.ts +++ b/clients/client-codecommit/models/models_0.ts @@ -70,11 +70,6 @@ export namespace OriginApprovalRuleTemplate { *

                          Returns information about an approval rule.

                          */ export interface ApprovalRule { - /** - *

                          The date the approval rule was created, in timestamp format.

                          - */ - creationDate?: Date; - /** *

                          The approval rule template used to create the rule.

                          */ @@ -86,29 +81,34 @@ export interface ApprovalRule { lastModifiedUser?: string; /** - *

                          The date the approval rule was most recently changed, in timestamp format.

                          + *

                          The content of the approval rule.

                          */ - lastModifiedDate?: Date; + approvalRuleContent?: string; /** - *

                          The name of the approval rule.

                          + *

                          The system-generated ID of the approval rule.

                          */ - approvalRuleName?: string; + approvalRuleId?: string; /** - *

                          The system-generated ID of the approval rule.

                          + *

                          The date the approval rule was most recently changed, in timestamp format.

                          */ - approvalRuleId?: string; + lastModifiedDate?: Date; /** - *

                          The content of the approval rule.

                          + *

                          The name of the approval rule.

                          */ - approvalRuleContent?: string; + approvalRuleName?: string; /** *

                          The SHA-256 hash signature for the content of the approval rule.

                          */ ruleContentSha256?: string; + + /** + *

                          The date the approval rule was created, in timestamp format.

                          + */ + creationDate?: Date; } export namespace ApprovalRule { @@ -247,9 +247,14 @@ export namespace ApprovalRuleOverriddenEventMetadata { */ export interface ApprovalRuleTemplate { /** - *

                          The content of the approval rule template.

                          + *

                          The date the approval rule template was most recently changed, in timestamp format.

                          */ - approvalRuleTemplateContent?: string; + lastModifiedDate?: Date; + + /** + *

                          The name of the approval rule template.

                          + */ + approvalRuleTemplateName?: string; /** *

                          The description of the approval rule template.

                          @@ -257,14 +262,14 @@ export interface ApprovalRuleTemplate { approvalRuleTemplateDescription?: string; /** - *

                          The Amazon Resource Name (ARN) of the user who made the most recent changes to the approval rule template.

                          + *

                          The system-generated ID of the approval rule template.

                          */ - lastModifiedUser?: string; + approvalRuleTemplateId?: string; /** - *

                          The date the approval rule template was created, in timestamp format.

                          + *

                          The content of the approval rule template.

                          */ - creationDate?: Date; + approvalRuleTemplateContent?: string; /** *

                          The SHA-256 hash signature for the content of the approval rule template.

                          @@ -272,19 +277,14 @@ export interface ApprovalRuleTemplate { ruleContentSha256?: string; /** - *

                          The system-generated ID of the approval rule template.

                          - */ - approvalRuleTemplateId?: string; - - /** - *

                          The name of the approval rule template.

                          + *

                          The Amazon Resource Name (ARN) of the user who made the most recent changes to the approval rule template.

                          */ - approvalRuleTemplateName?: string; + lastModifiedUser?: string; /** - *

                          The date the approval rule template was most recently changed, in timestamp format.

                          + *

                          The date the approval rule template was created, in timestamp format.

                          */ - lastModifiedDate?: Date; + creationDate?: Date; } export namespace ApprovalRuleTemplate { @@ -653,11 +653,6 @@ export namespace AuthorDoesNotExistException { } export interface BatchAssociateApprovalRuleTemplateWithRepositoriesInput { - /** - *

                          The name of the template you want to associate with one or more repositories.

                          - */ - approvalRuleTemplateName: string | undefined; - /** *

                          The names of the repositories you want to associate with the template.

                          * @@ -665,6 +660,11 @@ export interface BatchAssociateApprovalRuleTemplateWithRepositoriesInput { * */ repositoryNames: string[] | undefined; + + /** + *

                          The name of the template you want to associate with one or more repositories.

                          + */ + approvalRuleTemplateName: string | undefined; } export namespace BatchAssociateApprovalRuleTemplateWithRepositoriesInput { @@ -678,14 +678,14 @@ export namespace BatchAssociateApprovalRuleTemplateWithRepositoriesInput { */ export interface BatchAssociateApprovalRuleTemplateWithRepositoriesError { /** - *

                          An error message that provides details about why the repository name was not found or not valid.

                          + *

                          An error code that specifies whether the repository name was not valid or not found.

                          */ - errorMessage?: string; + errorCode?: string; /** - *

                          An error code that specifies whether the repository name was not valid or not found.

                          + *

                          An error message that provides details about why the repository name was not found or not valid.

                          */ - errorCode?: string; + errorMessage?: string; /** *

                          The name of the repository where the association was not made.

                          @@ -773,16 +773,28 @@ export enum MergeOptionTypeEnum { export interface BatchDescribeMergeConflictsInput { /** - *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit - * (for example, a branch name or a full commit ID).

                          + *

                          The maximum number of files to include in the output.

                          */ - destinationCommitSpecifier: string | undefined; + maxConflictFiles?: number; + + /** + *

                          Specifies which branch to use when resolving conflicts, or whether to attempt + * automatically merging two versions of a file. The default is NONE, which requires any + * conflicts to be resolved manually before the merge operation is successful.

                          + */ + conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; /** *

                          The maximum number of merge hunks to include in the output.

                          */ maxMergeHunks?: number; + /** + *

                          An enumeration token that, when provided in a request, returns the next batch of the + * results.

                          + */ + nextToken?: string; + /** *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit * (for example, a branch name or a full commit ID).

                          @@ -797,33 +809,21 @@ export interface BatchDescribeMergeConflictsInput { */ conflictDetailLevel?: ConflictDetailLevelTypeEnum | string; - /** - *

                          An enumeration token that, when provided in a request, returns the next batch of the - * results.

                          - */ - nextToken?: string; - - /** - *

                          The merge option or strategy you want to use to merge the code.

                          - */ - mergeOption: MergeOptionTypeEnum | string | undefined; - /** *

                          The name of the repository that contains the merge conflicts you want to review.

                          */ repositoryName: string | undefined; /** - *

                          Specifies which branch to use when resolving conflicts, or whether to attempt - * automatically merging two versions of a file. The default is NONE, which requires any - * conflicts to be resolved manually before the merge operation is successful.

                          + *

                          The merge option or strategy you want to use to merge the code.

                          */ - conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; + mergeOption: MergeOptionTypeEnum | string | undefined; /** - *

                          The maximum number of files to include in the output.

                          + *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit + * (for example, a branch name or a full commit ID).

                          */ - maxConflictFiles?: number; + destinationCommitSpecifier: string | undefined; /** *

                          The path of the target files used to describe the conflicts. If not specified, the default is all conflict files.

                          @@ -847,11 +847,6 @@ export enum FileModeTypeEnum { *

                          Information about file modes in a merge or pull request.

                          */ export interface FileModes { - /** - *

                          The file mode of a file in the base of a merge or pull request.

                          - */ - base?: FileModeTypeEnum | string; - /** *

                          The file mode of a file in the destination of a merge or pull request.

                          */ @@ -861,6 +856,11 @@ export interface FileModes { *

                          The file mode of a file in the source of a merge or pull request.

                          */ source?: FileModeTypeEnum | string; + + /** + *

                          The file mode of a file in the base of a merge or pull request.

                          + */ + base?: FileModeTypeEnum | string; } export namespace FileModes { @@ -879,14 +879,14 @@ export interface FileSizes { destination?: number; /** - *

                          The size of a file in the base of a merge or pull request.

                          + *

                          The size of a file in the source of a merge or pull request.

                          */ - base?: number; + source?: number; /** - *

                          The size of a file in the source of a merge or pull request.

                          + *

                          The size of a file in the base of a merge or pull request.

                          */ - source?: number; + base?: number; } export namespace FileSizes { @@ -899,6 +899,11 @@ export namespace FileSizes { *

                          Information about whether a file is binary or textual in a merge or pull request operation.

                          */ export interface IsBinaryFile { + /** + *

                          The binary or non-binary status of a file in the destination of a merge or pull request.

                          + */ + destination?: boolean; + /** *

                          The binary or non-binary status of a file in the base of a merge or pull request.

                          */ @@ -908,11 +913,6 @@ export interface IsBinaryFile { *

                          The binary or non-binary status of file in the source of a merge or pull request.

                          */ source?: boolean; - - /** - *

                          The binary or non-binary status of a file in the destination of a merge or pull request.

                          - */ - destination?: boolean; } export namespace IsBinaryFile { @@ -961,14 +961,14 @@ export enum ObjectTypeEnum { */ export interface ObjectTypes { /** - *

                          The type of the object in the destination branch.

                          + *

                          The type of the object in the source branch.

                          */ - destination?: ObjectTypeEnum | string; + source?: ObjectTypeEnum | string; /** - *

                          The type of the object in the source branch.

                          + *

                          The type of the object in the destination branch.

                          */ - source?: ObjectTypeEnum | string; + destination?: ObjectTypeEnum | string; /** *

                          The type of the object in the base commit of the merge.

                          @@ -986,20 +986,25 @@ export namespace ObjectTypes { *

                          Information about the metadata for a conflict in a merge operation.

                          */ export interface ConflictMetadata { + /** + *

                          Information about any object type conflicts in a merge operation.

                          + */ + objectTypes?: ObjectTypes; + /** *

                          A boolean value indicating whether there are conflicts in the file mode of a file.

                          */ fileModeConflict?: boolean; /** - *

                          Whether an add, modify, or delete operation caused the conflict between the source and destination of the merge.

                          + *

                          A boolean value (true or false) indicating whether the file is binary or textual in the source, destination, and base of the merge.

                          */ - mergeOperations?: MergeOperations; + isBinaryFile?: IsBinaryFile; /** - *

                          The file modes of the file in the source, destination, and base of the merge.

                          + *

                          A boolean value indicating whether there are conflicts in the content of a file.

                          */ - fileModes?: FileModes; + contentConflict?: boolean; /** *

                          The file sizes of the file in the source, destination, and base of the merge.

                          @@ -1007,19 +1012,14 @@ export interface ConflictMetadata { fileSizes?: FileSizes; /** - *

                          A boolean value (true or false) indicating whether the file is binary or textual in the source, destination, and base of the merge.

                          - */ - isBinaryFile?: IsBinaryFile; - - /** - *

                          Information about any object type conflicts in a merge operation.

                          + *

                          Whether an add, modify, or delete operation caused the conflict between the source and destination of the merge.

                          */ - objectTypes?: ObjectTypes; + mergeOperations?: MergeOperations; /** - *

                          A boolean value indicating whether there are conflicts in the content of a file.

                          + *

                          The file modes of the file in the source, destination, and base of the merge.

                          */ - contentConflict?: boolean; + fileModes?: FileModes; /** *

                          The path of the file that contains conflicts.

                          @@ -1027,14 +1027,14 @@ export interface ConflictMetadata { filePath?: string; /** - *

                          The number of conflicts, including both hunk conflicts and metadata conflicts.

                          + *

                          A boolean value (true or false) indicating whether there are conflicts between the branches in the object type of a file, folder, or submodule.

                          */ - numberOfConflicts?: number; + objectTypeConflict?: boolean; /** - *

                          A boolean value (true or false) indicating whether there are conflicts between the branches in the object type of a file, folder, or submodule.

                          + *

                          The number of conflicts, including both hunk conflicts and metadata conflicts.

                          */ - objectTypeConflict?: boolean; + numberOfConflicts?: number; } export namespace ConflictMetadata { @@ -1047,17 +1047,17 @@ export namespace ConflictMetadata { *

                          Information about the details of a merge hunk that contains a conflict in a merge or pull request operation.

                          */ export interface MergeHunkDetail { - /** - *

                          The end position of the hunk in the merge result.

                          - */ - endLine?: number; - /** *

                          The base-64 encoded content of the hunk merged region that might contain a * conflict.

                          */ hunkContent?: string; + /** + *

                          The end position of the hunk in the merge result.

                          + */ + endLine?: number; + /** *

                          The start position of the hunk in the merge result.

                          */ @@ -1084,6 +1084,11 @@ export interface MergeHunk { */ source?: MergeHunkDetail; + /** + *

                          Information about the merge hunk in the destination of a merge or pull request.

                          + */ + destination?: MergeHunkDetail; + /** *

                          A Boolean value indicating whether a combination of hunks contains a conflict. * Conflicts occur when the same file or the same lines in a file were modified in both the @@ -1092,11 +1097,6 @@ export interface MergeHunk { * conflict. File mode conflicts in a merge do not set this to true.

                          */ isConflict?: boolean; - - /** - *

                          Information about the merge hunk in the destination of a merge or pull request.

                          - */ - destination?: MergeHunkDetail; } export namespace MergeHunk { @@ -1153,11 +1153,6 @@ export namespace BatchDescribeMergeConflictsError { } export interface BatchDescribeMergeConflictsOutput { - /** - *

                          The commit ID of the merge base.

                          - */ - baseCommitId?: string; - /** *

                          A list of conflicts for each file, including the conflict metadata and the hunks of the differences between the files.

                          */ @@ -1169,15 +1164,20 @@ export interface BatchDescribeMergeConflictsOutput { sourceCommitId: string | undefined; /** - *

                          An enumeration token that can be used in a request to return the next batch of the results.

                          + *

                          The commit ID of the merge base.

                          */ - nextToken?: string; + baseCommitId?: string; /** *

                          A list of any errors returned while describing the merge conflicts for each file.

                          */ errors?: BatchDescribeMergeConflictsError[]; + /** + *

                          An enumeration token that can be used in a request to return the next batch of the results.

                          + */ + nextToken?: string; + /** *

                          The commit ID of the destination commit specifier that was used in the merge evaluation.

                          */ @@ -1426,6 +1426,11 @@ export namespace TipsDivergenceExceededException { } export interface BatchDisassociateApprovalRuleTemplateFromRepositoriesInput { + /** + *

                          The name of the template that you want to disassociate from one or more repositories.

                          + */ + approvalRuleTemplateName: string | undefined; + /** *

                          The repository names that you want to disassociate from the approval rule * template.

                          @@ -1434,11 +1439,6 @@ export interface BatchDisassociateApprovalRuleTemplateFromRepositoriesInput { * */ repositoryNames: string[] | undefined; - - /** - *

                          The name of the template that you want to disassociate from one or more repositories.

                          - */ - approvalRuleTemplateName: string | undefined; } export namespace BatchDisassociateApprovalRuleTemplateFromRepositoriesInput { @@ -1476,15 +1476,15 @@ export namespace BatchDisassociateApprovalRuleTemplateFromRepositoriesError { export interface BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput { /** - *

                          A list of repository names that have had their association with the template - * removed.

                          + *

                          A list of any errors that might have occurred while attempting to remove the association between the template and the repositories.

                          */ - disassociatedRepositoryNames: string[] | undefined; + errors: BatchDisassociateApprovalRuleTemplateFromRepositoriesError[] | undefined; /** - *

                          A list of any errors that might have occurred while attempting to remove the association between the template and the repositories.

                          + *

                          A list of repository names that have had their association with the template + * removed.

                          */ - errors: BatchDisassociateApprovalRuleTemplateFromRepositoriesError[] | undefined; + disassociatedRepositoryNames: string[] | undefined; } export namespace BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput { @@ -1494,11 +1494,6 @@ export namespace BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput { } export interface BatchGetCommitsInput { - /** - *

                          The name of the repository that contains the commits.

                          - */ - repositoryName: string | undefined; - /** *

                          The full commit IDs of the commits to get information about.

                          * @@ -1507,6 +1502,11 @@ export interface BatchGetCommitsInput { * */ commitIds: string[] | undefined; + + /** + *

                          The name of the repository that contains the commits.

                          + */ + repositoryName: string | undefined; } export namespace BatchGetCommitsInput { @@ -1525,14 +1525,14 @@ export interface UserInfo { name?: string; /** - *

                          The date when the specified commit was commited, in timestamp format with GMT offset.

                          + *

                          The email address associated with the user who made the commit, if any.

                          */ - date?: string; + email?: string; /** - *

                          The email address associated with the user who made the commit, if any.

                          + *

                          The date when the specified commit was commited, in timestamp format with GMT offset.

                          */ - email?: string; + date?: string; } export namespace UserInfo { @@ -1546,9 +1546,19 @@ export namespace UserInfo { */ export interface Commit { /** - *

                          Any other data associated with the specified commit.

                          + *

                          The full SHA ID of the specified commit.

                          */ - additionalData?: string; + commitId?: string; + + /** + *

                          Information about the person who committed the specified commit, also known as the committer. Information includes + * the date in timestamp format with GMT offset, the name of the committer, and the email address for the committer, as configured + * in Git.

                          + *

                          For more information + * about the difference between an author and a committer in Git, see Viewing the Commit History in Pro Git + * by Scott Chacon and Ben Straub.

                          + */ + committer?: UserInfo; /** *

                          A list of parent commits for the specified commit. Each parent commit ID is the full commit ID.

                          @@ -1556,9 +1566,9 @@ export interface Commit { parents?: string[]; /** - *

                          The full SHA ID of the specified commit.

                          + *

                          Any other data associated with the specified commit.

                          */ - commitId?: string; + additionalData?: string; /** *

                          Information about the author of the specified commit. Information includes @@ -1568,24 +1578,14 @@ export interface Commit { author?: UserInfo; /** - *

                          The commit message associated with the specified commit.

                          - */ - message?: string; - - /** - *

                          Information about the person who committed the specified commit, also known as the committer. Information includes - * the date in timestamp format with GMT offset, the name of the committer, and the email address for the committer, as configured - * in Git.

                          - *

                          For more information - * about the difference between an author and a committer in Git, see Viewing the Commit History in Pro Git - * by Scott Chacon and Ben Straub.

                          + *

                          Tree information for the specified commit.

                          */ - committer?: UserInfo; + treeId?: string; /** - *

                          Tree information for the specified commit.

                          + *

                          The commit message associated with the specified commit.

                          */ - treeId?: string; + message?: string; } export namespace Commit { @@ -1700,9 +1700,9 @@ export namespace BatchGetRepositoriesInput { */ export interface RepositoryMetadata { /** - *

                          The URL to use for cloning the repository over HTTPS.

                          + *

                          The ID of the repository.

                          */ - cloneUrlHttp?: string; + repositoryId?: string; /** *

                          A comment or description about the repository.

                          @@ -1710,9 +1710,9 @@ export interface RepositoryMetadata { repositoryDescription?: string; /** - *

                          The ID of the repository.

                          + *

                          The URL to use for cloning the repository over HTTPS.

                          */ - repositoryId?: string; + cloneUrlHttp?: string; /** *

                          The date and time the repository was last modified, in timestamp format.

                          @@ -1720,19 +1720,19 @@ export interface RepositoryMetadata { lastModifiedDate?: Date; /** - *

                          The URL to use for cloning the repository over SSH.

                          + *

                          The repository's default branch name.

                          */ - cloneUrlSsh?: string; + defaultBranch?: string; /** - *

                          The ID of the AWS account associated with the repository.

                          + *

                          The URL to use for cloning the repository over SSH.

                          */ - accountId?: string; + cloneUrlSsh?: string; /** - *

                          The repository's default branch name.

                          + *

                          The Amazon Resource Name (ARN) of the repository.

                          */ - defaultBranch?: string; + Arn?: string; /** *

                          The repository's name.

                          @@ -1745,9 +1745,9 @@ export interface RepositoryMetadata { creationDate?: Date; /** - *

                          The Amazon Resource Name (ARN) of the repository.

                          + *

                          The ID of the AWS account associated with the repository.

                          */ - Arn?: string; + accountId?: string; } export namespace RepositoryMetadata { @@ -1761,14 +1761,14 @@ export namespace RepositoryMetadata { */ export interface BatchGetRepositoriesOutput { /** - *

                          Returns a list of repository names for which information could not be found.

                          + *

                          A list of repositories returned by the batch get repositories operation.

                          */ - repositoriesNotFound?: string[]; + repositories?: RepositoryMetadata[]; /** - *

                          A list of repositories returned by the batch get repositories operation.

                          + *

                          Returns a list of repository names for which information could not be found.

                          */ - repositories?: RepositoryMetadata[]; + repositoriesNotFound?: string[]; } export namespace BatchGetRepositoriesOutput { @@ -1835,16 +1835,6 @@ export namespace BlobIdRequiredException { *

                          Returns information about a specific Git blob object.

                          */ export interface BlobMetadata { - /** - *

                          The path to the blob and associated file name, if any.

                          - */ - path?: string; - - /** - *

                          The full ID of the blob.

                          - */ - blobId?: string; - /** *

                          The file mode permissions of the blob. File mode permission codes include:

                          *
                            @@ -1867,6 +1857,16 @@ export interface BlobMetadata { *
                          */ mode?: string; + + /** + *

                          The path to the blob and associated file name, if any.

                          + */ + path?: string; + + /** + *

                          The full ID of the blob.

                          + */ + blobId?: string; } export namespace BlobMetadata { @@ -2032,18 +2032,18 @@ export namespace ClientRequestTokenRequiredException { export interface CreateApprovalRuleTemplateInput { /** - *

                          The name of the approval rule template. Provide descriptive names, because this name - * is applied to the approval rules created automatically in associated + *

                          The description of the approval rule template. Consider providing a description that + * explains what this template does and when it might be appropriate to associate it with * repositories.

                          */ - approvalRuleTemplateName: string | undefined; + approvalRuleTemplateDescription?: string; /** - *

                          The description of the approval rule template. Consider providing a description that - * explains what this template does and when it might be appropriate to associate it with + *

                          The name of the approval rule template. Provide descriptive names, because this name + * is applied to the approval rules created automatically in associated * repositories.

                          */ - approvalRuleTemplateDescription?: string; + approvalRuleTemplateName: string | undefined; /** *

                          The content of the approval rule that is created on pull requests in associated @@ -2198,14 +2198,14 @@ export interface CreateBranchInput { commitId: string | undefined; /** - *

                          The name of the new branch to create.

                          + *

                          The name of the repository in which you want to create the new branch.

                          */ - branchName: string | undefined; + repositoryName: string | undefined; /** - *

                          The name of the repository in which you want to create the new branch.

                          + *

                          The name of the new branch to create.

                          */ - repositoryName: string | undefined; + branchName: string | undefined; } export namespace CreateBranchInput { @@ -2316,14 +2316,14 @@ export interface PutFileEntry { sourceFile?: SourceFileSpecifier; /** - *

                          The extrapolated file mode permissions for the file. Valid values include EXECUTABLE and NORMAL.

                          + *

                          The full path to the file in the repository, including the name of the file.

                          */ - fileMode?: FileModeTypeEnum | string; + filePath: string | undefined; /** - *

                          The full path to the file in the repository, including the name of the file.

                          + *

                          The extrapolated file mode permissions for the file. Valid values include EXECUTABLE and NORMAL.

                          */ - filePath: string | undefined; + fileMode?: FileModeTypeEnum | string; /** *

                          The content of the file, if a source file is not specified.

                          @@ -2359,12 +2359,6 @@ export namespace SetFileModeEntry { } export interface CreateCommitInput { - /** - *

                          The commit message you want to include in the commit. Commit messages are limited to - * 256 KB. If no message is specified, a default message is used.

                          - */ - commitMessage?: string; - /** *

                          The ID of the commit that is the parent of the commit you create. Not required if this * is an empty repository.

                          @@ -2372,9 +2366,15 @@ export interface CreateCommitInput { parentCommitId?: string; /** - *

                          The files to add or update in this commit.

                          + *

                          The name of the author who created the commit. This information is used as both the + * author and committer for the commit.

                          */ - putFiles?: PutFileEntry[]; + authorName?: string; + + /** + *

                          The file modes to update for files in this commit.

                          + */ + setFileModes?: SetFileModeEntry[]; /** *

                          The name of the branch where you create the commit.

                          @@ -2382,14 +2382,15 @@ export interface CreateCommitInput { branchName: string | undefined; /** - *

                          The email address of the person who created the commit.

                          + *

                          The files to add or update in this commit.

                          */ - email?: string; + putFiles?: PutFileEntry[]; /** - *

                          The file modes to update for files in this commit.

                          + *

                          The commit message you want to include in the commit. Commit messages are limited to + * 256 KB. If no message is specified, a default message is used.

                          */ - setFileModes?: SetFileModeEntry[]; + commitMessage?: string; /** *

                          The name of the repository where you create the commit.

                          @@ -2397,15 +2398,9 @@ export interface CreateCommitInput { repositoryName: string | undefined; /** - *

                          The name of the author who created the commit. This information is used as both the - * author and committer for the commit.

                          - */ - authorName?: string; - - /** - *

                          The files to delete in this commit. These files still exist in earlier commits.

                          + *

                          The email address of the person who created the commit.

                          */ - deleteFiles?: DeleteFileEntry[]; + email?: string; /** *

                          If the commit contains deletions, whether to keep a folder or folder structure if the @@ -2413,6 +2408,11 @@ export interface CreateCommitInput { * The default is false.

                          */ keepEmptyFolders?: boolean; + + /** + *

                          The files to delete in this commit. These files still exist in earlier commits.

                          + */ + deleteFiles?: DeleteFileEntry[]; } export namespace CreateCommitInput { @@ -2425,17 +2425,17 @@ export namespace CreateCommitInput { *

                          A file to be added, updated, or deleted as part of a commit.

                          */ export interface FileMetadata { - /** - *

                          The blob ID that contains the file information.

                          - */ - blobId?: string; - /** *

                          The full path to the file to be added or updated, including the name of the * file.

                          */ absolutePath?: string; + /** + *

                          The blob ID that contains the file information.

                          + */ + blobId?: string; + /** *

                          The extrapolated file mode permissions for the file. Valid values include EXECUTABLE and NORMAL.

                          */ @@ -2450,9 +2450,9 @@ export namespace FileMetadata { export interface CreateCommitOutput { /** - *

                          The files added as part of the committed file changes.

                          + *

                          The full SHA-1 pointer of the tree information for the commit that contains the commited file changes.

                          */ - filesAdded?: FileMetadata[]; + treeId?: string; /** *

                          The files updated as part of the commited file changes.

                          @@ -2460,19 +2460,19 @@ export interface CreateCommitOutput { filesUpdated?: FileMetadata[]; /** - *

                          The files deleted as part of the committed file changes.

                          + *

                          The full commit ID of the commit that contains your committed file changes.

                          */ - filesDeleted?: FileMetadata[]; + commitId?: string; /** - *

                          The full commit ID of the commit that contains your committed file changes.

                          + *

                          The files deleted as part of the committed file changes.

                          */ - commitId?: string; + filesDeleted?: FileMetadata[]; /** - *

                          The full SHA-1 pointer of the tree information for the commit that contains the commited file changes.

                          + *

                          The files added as part of the committed file changes.

                          */ - treeId?: string; + filesAdded?: FileMetadata[]; } export namespace CreateCommitOutput { @@ -2954,14 +2954,14 @@ export namespace SourceFileOrContentRequiredException { */ export interface Target { /** - *

                          The branch of the repository that contains the changes for the pull request. Also known as the source branch.

                          + *

                          The name of the repository that contains the pull request.

                          */ - sourceReference: string | undefined; + repositoryName: string | undefined; /** - *

                          The name of the repository that contains the pull request.

                          + *

                          The branch of the repository that contains the changes for the pull request. Also known as the source branch.

                          */ - repositoryName: string | undefined; + sourceReference: string | undefined; /** *

                          The branch of the repository where the pull request changes are merged. Also known as @@ -2977,12 +2977,6 @@ export namespace Target { } export interface CreatePullRequestInput { - /** - *

                          The title of the pull request. This title is used to identify the pull request to - * other users in the repository.

                          - */ - title: string | undefined; - /** *

                          A unique, client-generated idempotency token that, when provided in a request, ensures * the request cannot be repeated with a changed parameter. If a request is received with @@ -2995,6 +2989,12 @@ export interface CreatePullRequestInput { */ clientRequestToken?: string; + /** + *

                          The title of the pull request. This title is used to identify the pull request to + * other users in the repository.

                          + */ + title: string | undefined; + /** *

                          A description of the pull request.

                          */ @@ -3054,16 +3054,20 @@ export namespace MergeMetadata { *

                          Returns information about a pull request target.

                          */ export interface PullRequestTarget { + /** + *

                          Returns metadata about the state of the merge, including whether the merge has been made.

                          + */ + mergeMetadata?: MergeMetadata; + /** *

                          The name of the repository that contains the pull request source and destination branches.

                          */ repositoryName?: string; /** - *

                          The branch of the repository where the pull request changes are merged. Also known as - * the destination branch.

                          + *

                          The branch of the repository that contains the changes for the pull request. Also known as the source branch.

                          */ - destinationReference?: string; + sourceReference?: string; /** *

                          The full commit ID that is the tip of the destination branch. This is the commit where the pull request was or will be merged.

                          @@ -3078,14 +3082,10 @@ export interface PullRequestTarget { sourceCommit?: string; /** - *

                          The branch of the repository that contains the changes for the pull request. Also known as the source branch.

                          - */ - sourceReference?: string; - - /** - *

                          Returns metadata about the state of the merge, including whether the merge has been made.

                          + *

                          The branch of the repository where the pull request changes are merged. Also known as + * the destination branch.

                          */ - mergeMetadata?: MergeMetadata; + destinationReference?: string; /** *

                          The commit ID of the most recent commit that the source branch and the destination branch have in common.

                          @@ -3104,47 +3104,47 @@ export namespace PullRequestTarget { */ export interface PullRequest { /** - *

                          The user-defined description of the pull request. This description can be used to clarify what should be reviewed and other details of the request.

                          + *

                          The approval rules applied to the pull request.

                          */ - description?: string; + approvalRules?: ApprovalRule[]; /** - *

                          A unique, client-generated idempotency token that, when provided in a request, ensures - * the request cannot be repeated with a changed parameter. If a request is received with - * the same parameters and a token is included, the request returns information about the - * initial request that used that token.

                          + *

                          The system-generated ID of the pull request.

                          */ - clientRequestToken?: string; + pullRequestId?: string; /** - *

                          The Amazon Resource Name (ARN) of the user who created the pull request.

                          + *

                          The day and time of the last user or system activity on the pull request, in timestamp format.

                          */ - authorArn?: string; + lastActivityDate?: Date; /** - *

                          The status of the pull request. Pull request status can only change from OPEN to CLOSED.

                          + *

                          The date and time the pull request was originally created, in timestamp format.

                          */ - pullRequestStatus?: PullRequestStatusEnum | string; + creationDate?: Date; /** - *

                          The day and time of the last user or system activity on the pull request, in timestamp format.

                          + *

                          The Amazon Resource Name (ARN) of the user who created the pull request.

                          */ - lastActivityDate?: Date; + authorArn?: string; /** - *

                          The system-generated ID of the pull request.

                          + *

                          The user-defined description of the pull request. This description can be used to clarify what should be reviewed and other details of the request.

                          */ - pullRequestId?: string; + description?: string; /** - *

                          The date and time the pull request was originally created, in timestamp format.

                          + *

                          A unique, client-generated idempotency token that, when provided in a request, ensures + * the request cannot be repeated with a changed parameter. If a request is received with + * the same parameters and a token is included, the request returns information about the + * initial request that used that token.

                          */ - creationDate?: Date; + clientRequestToken?: string; /** - *

                          The approval rules applied to the pull request.

                          + *

                          The status of the pull request. Pull request status can only change from OPEN to CLOSED.

                          */ - approvalRules?: ApprovalRule[]; + pullRequestStatus?: PullRequestStatusEnum | string; /** *

                          The user-defined title of the pull request. This title is displayed in the list of @@ -3153,14 +3153,14 @@ export interface PullRequest { title?: string; /** - *

                          The targets of the pull request, including the source branch and destination branch for the pull request.

                          + *

                          The system-generated revision ID for the pull request.

                          */ - pullRequestTargets?: PullRequestTarget[]; + revisionId?: string; /** - *

                          The system-generated revision ID for the pull request.

                          + *

                          The targets of the pull request, including the source branch and destination branch for the pull request.

                          */ - revisionId?: string; + pullRequestTargets?: PullRequestTarget[]; } export namespace PullRequest { @@ -3478,11 +3478,6 @@ export namespace TitleRequiredException { } export interface CreatePullRequestApprovalRuleInput { - /** - *

                          The system-generated ID of the pull request for which you want to create the approval rule.

                          - */ - pullRequestId: string | undefined; - /** *

                          The content of the approval rule, including the number of approvals needed and the structure of an approval pool defined for approvals, if any. For more information * about approval pools, see the AWS CodeCommit User Guide.

                          @@ -3530,6 +3525,11 @@ export interface CreatePullRequestApprovalRuleInput { */ approvalRuleContent: string | undefined; + /** + *

                          The system-generated ID of the pull request for which you want to create the approval rule.

                          + */ + pullRequestId: string | undefined; + /** *

                          The name for the approval rule.

                          */ @@ -3697,6 +3697,11 @@ export interface CreateRepositoryInput { */ repositoryDescription?: string; + /** + *

                          One or more tag key-value pairs to use when tagging this repository.

                          + */ + tags?: { [key: string]: string }; + /** *

                          The name of the new repository to be created.

                          * @@ -3708,11 +3713,6 @@ export interface CreateRepositoryInput { * */ repositoryName: string | undefined; - - /** - *

                          One or more tag key-value pairs to use when tagging this repository.

                          - */ - tags?: { [key: string]: string }; } export namespace CreateRepositoryInput { @@ -3948,14 +3948,15 @@ export namespace ConflictResolution { export interface CreateUnreferencedMergeCommitInput { /** - *

                          The name of the repository where you want to create the unreferenced merge commit.

                          + *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit + * (for example, a branch name or a full commit ID).

                          */ - repositoryName: string | undefined; + sourceCommitSpecifier: string | undefined; /** - *

                          The commit message for the unreferenced commit.

                          + *

                          The name of the repository where you want to create the unreferenced merge commit.

                          */ - commitMessage?: string; + repositoryName: string | undefined; /** *

                          The merge option or strategy you want to use to merge the code.

                          @@ -3968,17 +3969,17 @@ export interface CreateUnreferencedMergeCommitInput { */ destinationCommitSpecifier: string | undefined; - /** - *

                          The email address for the person who created the unreferenced commit.

                          - */ - email?: string; - /** *

                          If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when * resolving conflicts during a merge.

                          */ conflictResolution?: ConflictResolution; + /** + *

                          The commit message for the unreferenced commit.

                          + */ + commitMessage?: string; + /** *

                          The name of the author who created the unreferenced commit. This information is used * as both the author and committer for the commit.

                          @@ -3992,6 +3993,11 @@ export interface CreateUnreferencedMergeCommitInput { */ conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; + /** + *

                          The email address for the person who created the unreferenced commit.

                          + */ + email?: string; + /** *

                          The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, * which returns a not-mergeable result if the same file has differences in both branches. @@ -4000,12 +4006,6 @@ export interface CreateUnreferencedMergeCommitInput { */ conflictDetailLevel?: ConflictDetailLevelTypeEnum | string; - /** - *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit - * (for example, a branch name or a full commit ID).

                          - */ - sourceCommitSpecifier: string | undefined; - /** *

                          If the commit contains deletions, whether to keep a folder or folder structure if the * changes leave the folders empty. If this is specified as true, a .gitkeep file is @@ -4232,14 +4232,14 @@ export namespace DefaultBranchCannotBeDeletedException { */ export interface DeleteBranchInput { /** - *

                          The name of the repository that contains the branch to be deleted.

                          + *

                          The name of the branch to delete.

                          */ - repositoryName: string | undefined; + branchName: string | undefined; /** - *

                          The name of the branch to delete.

                          + *

                          The name of the repository that contains the branch to be deleted.

                          */ - branchName: string | undefined; + repositoryName: string | undefined; } export namespace DeleteBranchInput { @@ -4338,19 +4338,19 @@ export namespace DeleteCommentContentInput { */ export interface Comment { /** - *

                          A Boolean value indicating whether the comment has been deleted.

                          + *

                          The content of the comment.

                          */ - deleted?: boolean; + content?: string; /** - *

                          The Amazon Resource Name (ARN) of the person who posted the comment.

                          + *

                          The date and time the comment was most recently modified, in timestamp format.

                          */ - authorArn?: string; + lastModifiedDate?: Date; /** - *

                          The content of the comment.

                          + *

                          The Amazon Resource Name (ARN) of the person who posted the comment.

                          */ - content?: string; + authorArn?: string; /** *

                          A unique, client-generated idempotency token that, when provided in a request, ensures @@ -4361,9 +4361,9 @@ export interface Comment { clientRequestToken?: string; /** - *

                          The date and time the comment was most recently modified, in timestamp format.

                          + *

                          A Boolean value indicating whether the comment has been deleted.

                          */ - lastModifiedDate?: Date; + deleted?: boolean; /** *

                          A string to integer map that represents the number of individual users who have responded to a comment with the specified reactions.

                          @@ -4430,10 +4430,10 @@ export namespace InvalidCommentIdException { export interface DeleteFileInput { /** - *

                          The email address for the commit that deletes the file. If no email address is - * specified, the email address is left blank.

                          + *

                          The commit message you want to include as part of deleting the file. Commit messages + * are limited to 256 KB. If no message is specified, a default message is used.

                          */ - email?: string; + commitMessage?: string; /** *

                          The fully qualified path to the file that to be deleted, including the full name and @@ -4443,15 +4443,15 @@ export interface DeleteFileInput { filePath: string | undefined; /** - *

                          The name of the repository that contains the file to delete.

                          + *

                          The email address for the commit that deletes the file. If no email address is + * specified, the email address is left blank.

                          */ - repositoryName: string | undefined; + email?: string; /** - *

                          The commit message you want to include as part of deleting the file. Commit messages - * are limited to 256 KB. If no message is specified, a default message is used.

                          + *

                          The name of the repository that contains the file to delete.

                          */ - commitMessage?: string; + repositoryName: string | undefined; /** *

                          The name of the author of the commit that deletes the file. If no name is specified, @@ -4488,11 +4488,6 @@ export namespace DeleteFileInput { } export interface DeleteFileOutput { - /** - *

                          The blob ID removed from the tree as part of deleting the file.

                          - */ - blobId: string | undefined; - /** *

                          The full commit ID of the commit that contains the change that deletes the file.

                          */ @@ -4504,6 +4499,11 @@ export interface DeleteFileOutput { */ filePath: string | undefined; + /** + *

                          The blob ID removed from the tree as part of deleting the file.

                          + */ + blobId: string | undefined; + /** *

                          The full SHA-1 pointer of the tree information for the commit that contains the delete file change.

                          */ @@ -4585,9 +4585,10 @@ export namespace DeleteRepositoryOutput { export interface DescribeMergeConflictsInput { /** - *

                          The merge option or strategy you want to use to merge the code.

                          + *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit + * (for example, a branch name or a full commit ID).

                          */ - mergeOption: MergeOptionTypeEnum | string | undefined; + sourceCommitSpecifier: string | undefined; /** *

                          The name of the repository where you want to get information about a merge conflict.

                          @@ -4595,9 +4596,9 @@ export interface DescribeMergeConflictsInput { repositoryName: string | undefined; /** - *

                          The path of the target files used to describe the conflicts.

                          + *

                          The merge option or strategy you want to use to merge the code.

                          */ - filePath: string | undefined; + mergeOption: MergeOptionTypeEnum | string | undefined; /** *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit @@ -4605,6 +4606,16 @@ export interface DescribeMergeConflictsInput { */ destinationCommitSpecifier: string | undefined; + /** + *

                          The path of the target files used to describe the conflicts.

                          + */ + filePath: string | undefined; + + /** + *

                          The maximum number of merge hunks to include in the output.

                          + */ + maxMergeHunks?: number; + /** *

                          The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, * which returns a not-mergeable result if the same file has differences in both branches. @@ -4614,15 +4625,10 @@ export interface DescribeMergeConflictsInput { conflictDetailLevel?: ConflictDetailLevelTypeEnum | string; /** - *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit - * (for example, a branch name or a full commit ID).

                          - */ - sourceCommitSpecifier: string | undefined; - - /** - *

                          The maximum number of merge hunks to include in the output.

                          + *

                          An enumeration token that, when provided in a request, returns the next batch of the + * results.

                          */ - maxMergeHunks?: number; + nextToken?: string; /** *

                          Specifies which branch to use when resolving conflicts, or whether to attempt @@ -4630,12 +4636,6 @@ export interface DescribeMergeConflictsInput { * conflicts to be resolved manually before the merge operation is successful.

                          */ conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; - - /** - *

                          An enumeration token that, when provided in a request, returns the next batch of the - * results.

                          - */ - nextToken?: string; } export namespace DescribeMergeConflictsInput { @@ -4646,14 +4646,9 @@ export namespace DescribeMergeConflictsInput { export interface DescribeMergeConflictsOutput { /** - *

                          The commit ID of the destination commit specifier that was used in the merge evaluation.

                          - */ - destinationCommitId: string | undefined; - - /** - *

                          The commit ID of the source commit specifier that was used in the merge evaluation.

                          + *

                          A list of merge hunks of the differences between the files or lines.

                          */ - sourceCommitId: string | undefined; + mergeHunks: MergeHunk[] | undefined; /** *

                          The commit ID of the merge base.

                          @@ -4671,9 +4666,14 @@ export interface DescribeMergeConflictsOutput { nextToken?: string; /** - *

                          A list of merge hunks of the differences between the files or lines.

                          + *

                          The commit ID of the source commit specifier that was used in the merge evaluation.

                          */ - mergeHunks: MergeHunk[] | undefined; + sourceCommitId: string | undefined; + + /** + *

                          The commit ID of the destination commit specifier that was used in the merge evaluation.

                          + */ + destinationCommitId: string | undefined; } export namespace DescribeMergeConflictsOutput { @@ -4701,6 +4701,11 @@ export interface DescribePullRequestEventsInput { */ nextToken?: string; + /** + *

                          Optional. The pull request event type about which you want to return information.

                          + */ + pullRequestEventType?: PullRequestEventType | string; + /** *

                          The Amazon Resource Name (ARN) of the user whose actions resulted in the event. * Examples include updating the pull request with more commits or changing the status of a @@ -4708,11 +4713,6 @@ export interface DescribePullRequestEventsInput { */ actorArn?: string; - /** - *

                          Optional. The pull request event type about which you want to return information.

                          - */ - pullRequestEventType?: PullRequestEventType | string; - /** *

                          A non-zero, non-negative integer used to limit the number of returned results. * The default is 100 events, which is also the maximum number of events that can be returned in a result.

                          @@ -4767,14 +4767,14 @@ export namespace PullRequestCreatedEventMetadata { */ export interface PullRequestMergedStateChangedEventMetadata { /** - *

                          The name of the branch that the pull request is merged into.

                          + *

                          The name of the repository where the pull request was created.

                          */ - destinationReference?: string; + repositoryName?: string; /** - *

                          The name of the repository where the pull request was created.

                          + *

                          The name of the branch that the pull request is merged into.

                          */ - repositoryName?: string; + destinationReference?: string; /** *

                          Information about the merge state change event.

                          @@ -4793,9 +4793,9 @@ export namespace PullRequestMergedStateChangedEventMetadata { */ export interface PullRequestSourceReferenceUpdatedEventMetadata { /** - *

                          The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was updated.

                          + *

                          The commit ID of the most recent commit that the source branch and the destination branch have in common.

                          */ - beforeCommitId?: string; + mergeBase?: string; /** *

                          The full commit ID of the commit in the source branch that was the tip of the branch at the time the pull request was updated.

                          @@ -4803,9 +4803,9 @@ export interface PullRequestSourceReferenceUpdatedEventMetadata { afterCommitId?: string; /** - *

                          The commit ID of the most recent commit that the source branch and the destination branch have in common.

                          + *

                          The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was updated.

                          */ - mergeBase?: string; + beforeCommitId?: string; /** *

                          The name of the repository where the pull request was updated.

                          @@ -4840,14 +4840,26 @@ export namespace PullRequestStatusChangedEventMetadata { */ export interface PullRequestEvent { /** - *

                          Information about the change in status for the pull request event.

                          + *

                          The Amazon Resource Name (ARN) of the user whose actions resulted in the event. + * Examples include updating the pull request with more commits or changing the status of a + * pull request.

                          */ - pullRequestStatusChangedEventMetadata?: PullRequestStatusChangedEventMetadata; + actorArn?: string; /** - *

                          Information about an approval rule override event for a pull request.

                          + *

                          Information about the source and destination branches for the pull request.

                          */ - approvalRuleOverriddenEventMetadata?: ApprovalRuleOverriddenEventMetadata; + pullRequestCreatedEventMetadata?: PullRequestCreatedEventMetadata; + + /** + *

                          The system-generated ID of the pull request.

                          + */ + pullRequestId?: string; + + /** + *

                          Information about the change in status for the pull request event.

                          + */ + pullRequestStatusChangedEventMetadata?: PullRequestStatusChangedEventMetadata; /** *

                          The type of the pull request event (for example, a status change event @@ -4857,42 +4869,30 @@ export interface PullRequestEvent { pullRequestEventType?: PullRequestEventType | string; /** - *

                          Information about the source and destination branches for the pull request.

                          + *

                          Information about an approval rule override event for a pull request.

                          */ - pullRequestCreatedEventMetadata?: PullRequestCreatedEventMetadata; + approvalRuleOverriddenEventMetadata?: ApprovalRuleOverriddenEventMetadata; /** *

                          Information about the updated source branch for the pull request event.

                          */ pullRequestSourceReferenceUpdatedEventMetadata?: PullRequestSourceReferenceUpdatedEventMetadata; - /** - *

                          Information about an approval state change for a pull request.

                          - */ - approvalStateChangedEventMetadata?: ApprovalStateChangedEventMetadata; - /** *

                          Information about a pull request event.

                          */ approvalRuleEventMetadata?: ApprovalRuleEventMetadata; /** - *

                          The system-generated ID of the pull request.

                          + *

                          Information about an approval state change for a pull request.

                          */ - pullRequestId?: string; + approvalStateChangedEventMetadata?: ApprovalStateChangedEventMetadata; /** *

                          The day and time of the pull request event, in timestamp format.

                          */ eventDate?: Date; - /** - *

                          The Amazon Resource Name (ARN) of the user whose actions resulted in the event. - * Examples include updating the pull request with more commits or changing the status of a - * pull request.

                          - */ - actorArn?: string; - /** *

                          Information about the change in mergability state for the pull request event.

                          */ @@ -4980,14 +4980,14 @@ export namespace InvalidPullRequestEventTypeException { export interface DisassociateApprovalRuleTemplateFromRepositoryInput { /** - *

                          The name of the approval rule template to disassociate from a specified repository.

                          + *

                          The name of the repository you want to disassociate from the template.

                          */ - approvalRuleTemplateName: string | undefined; + repositoryName: string | undefined; /** - *

                          The name of the repository you want to disassociate from the template.

                          + *

                          The name of the approval rule template to disassociate from a specified repository.

                          */ - repositoryName: string | undefined; + approvalRuleTemplateName: string | undefined; } export namespace DisassociateApprovalRuleTemplateFromRepositoryInput { @@ -5020,6 +5020,11 @@ export namespace EvaluatePullRequestApprovalRulesInput { *

                          Returns information about the approval rules applied to a pull request and whether conditions have been met.

                          */ export interface Evaluation { + /** + *

                          The names of the approval rules that have had their conditions met.

                          + */ + approvalRulesSatisfied?: string[]; + /** *

                          The names of the approval rules that have not had their conditions met.

                          */ @@ -5030,11 +5035,6 @@ export interface Evaluation { */ overridden?: boolean; - /** - *

                          The names of the approval rules that have had their conditions met.

                          - */ - approvalRulesSatisfied?: string[]; - /** *

                          Whether the state of the pull request is approved.

                          */ @@ -5290,16 +5290,16 @@ export interface GetCommentReactionsInput { */ reactionUserArn?: string; - /** - *

                          A non-zero, non-negative integer used to limit the number of returned results. The default is the same as the allowed maximum, 1,000.

                          - */ - maxResults?: number; - /** *

                          An enumeration token that, when provided in a request, returns the next batch of the results.

                          */ nextToken?: string; -} + + /** + *

                          A non-zero, non-negative integer used to limit the number of returned results. The default is the same as the allowed maximum, 1,000.

                          + */ + maxResults?: number; +} export namespace GetCommentReactionsInput { export const filterSensitiveLog = (obj: GetCommentReactionsInput): any => ({ @@ -5398,15 +5398,10 @@ export namespace InvalidReactionUserArnException { export interface GetCommentsForComparedCommitInput { /** - *

                          To establish the directionality of the comparison, the full commit ID of the before + *

                          To establish the directionality of the comparison, the full commit ID of the after * commit.

                          */ - beforeCommitId?: string; - - /** - *

                          An enumeration token that when provided in a request, returns the next batch of the results.

                          - */ - nextToken?: string; + afterCommitId: string | undefined; /** *

                          A non-zero, non-negative integer used to limit the number of returned results. The @@ -5415,10 +5410,15 @@ export interface GetCommentsForComparedCommitInput { maxResults?: number; /** - *

                          To establish the directionality of the comparison, the full commit ID of the after + *

                          To establish the directionality of the comparison, the full commit ID of the before * commit.

                          */ - afterCommitId: string | undefined; + beforeCommitId?: string; + + /** + *

                          An enumeration token that when provided in a request, returns the next batch of the results.

                          + */ + nextToken?: string; /** *

                          The name of the repository where you want to compare commits.

                          @@ -5468,23 +5468,18 @@ export namespace Location { *

                          Returns information about comments on the comparison between two commits.

                          */ export interface CommentsForComparedCommit { - /** - *

                          An array of comment objects. Each comment object contains information about a comment on the comparison - * between commits.

                          - */ - comments?: Comment[]; - - /** - *

                          The full blob ID of the commit used to establish the before of the comparison.

                          - */ - beforeBlobId?: string; - /** *

                          The full commit ID of the commit used to establish the before of the * comparison.

                          */ beforeCommitId?: string; + /** + *

                          An array of comment objects. Each comment object contains information about a comment on the comparison + * between commits.

                          + */ + comments?: Comment[]; + /** *

                          The name of the repository that contains the compared commits.

                          */ @@ -5497,15 +5492,20 @@ export interface CommentsForComparedCommit { */ location?: Location; + /** + *

                          The full commit ID of the commit used to establish the after of the comparison.

                          + */ + afterCommitId?: string; + /** *

                          The full blob ID of the commit used to establish the after of the comparison.

                          */ afterBlobId?: string; /** - *

                          The full commit ID of the commit used to establish the after of the comparison.

                          + *

                          The full blob ID of the commit used to establish the before of the comparison.

                          */ - afterCommitId?: string; + beforeBlobId?: string; } export namespace CommentsForComparedCommit { @@ -5538,11 +5538,6 @@ export interface GetCommentsForPullRequestInput { */ beforeCommitId?: string; - /** - *

                          The full commit ID of the commit in the source branch that was the tip of the branch at the time the comment was made.

                          - */ - afterCommitId?: string; - /** *

                          An enumeration token that, when provided in a request, returns the next batch of the * results.

                          @@ -5556,14 +5551,19 @@ export interface GetCommentsForPullRequestInput { maxResults?: number; /** - *

                          The system-generated ID of the pull request. To get this ID, use ListPullRequests.

                          + *

                          The full commit ID of the commit in the source branch that was the tip of the branch at the time the comment was made.

                          */ - pullRequestId: string | undefined; + afterCommitId?: string; /** *

                          The name of the repository that contains the pull request.

                          */ repositoryName?: string; + + /** + *

                          The system-generated ID of the pull request. To get this ID, use ListPullRequests.

                          + */ + pullRequestId: string | undefined; } export namespace GetCommentsForPullRequestInput { @@ -5576,11 +5576,6 @@ export namespace GetCommentsForPullRequestInput { *

                          Returns information about comments on a pull request.

                          */ export interface CommentsForPullRequest { - /** - *

                          The full blob ID of the file on which you want to comment on the source commit.

                          - */ - afterBlobId?: string; - /** *

                          Location information about the comment on the pull request, including the file name, * line number, and whether the version of the file where the comment was made is BEFORE @@ -5589,10 +5584,9 @@ export interface CommentsForPullRequest { location?: Location; /** - *

                          The full commit ID of the commit that was the tip of the source branch at the time the - * comment was made.

                          + *

                          The full blob ID of the file on which you want to comment on the source commit.

                          */ - afterCommitId?: string; + afterBlobId?: string; /** *

                          The full commit ID of the commit that was the tip of the destination branch when the @@ -5607,15 +5601,21 @@ export interface CommentsForPullRequest { beforeBlobId?: string; /** - *

                          The system-generated ID of the pull request.

                          + *

                          The full commit ID of the commit that was the tip of the source branch at the time the + * comment was made.

                          */ - pullRequestId?: string; + afterCommitId?: string; /** *

                          The name of the repository that contains the pull request.

                          */ repositoryName?: string; + /** + *

                          The system-generated ID of the pull request.

                          + */ + pullRequestId?: string; + /** *

                          An array of comment objects. Each comment object contains information about a comment on the pull request.

                          */ @@ -5720,6 +5720,11 @@ export namespace GetCommitOutput { } export interface GetDifferencesInput { + /** + *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit.

                          + */ + afterCommitSpecifier: string | undefined; + /** *

                          An enumeration token that, when provided in a request, returns the next batch of the * results.

                          @@ -5727,13 +5732,9 @@ export interface GetDifferencesInput { NextToken?: string; /** - *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit - * (for example, the full commit ID). Optional. If not specified, all changes before the - * afterCommitSpecifier value are shown. If you do not use - * beforeCommitSpecifier in your request, consider limiting the results - * with maxResults.

                          + *

                          A non-zero, non-negative integer used to limit the number of returned results.

                          */ - beforeCommitSpecifier?: string; + MaxResults?: number; /** *

                          The file path in which to check for differences. Limits the results to this path. Can @@ -5749,14 +5750,13 @@ export interface GetDifferencesInput { repositoryName: string | undefined; /** - *

                          A non-zero, non-negative integer used to limit the number of returned results.

                          - */ - MaxResults?: number; - - /** - *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit.

                          + *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit + * (for example, the full commit ID). Optional. If not specified, all changes before the + * afterCommitSpecifier value are shown. If you do not use + * beforeCommitSpecifier in your request, consider limiting the results + * with maxResults.

                          */ - afterCommitSpecifier: string | undefined; + beforeCommitSpecifier?: string; /** *

                          The file path in which to check differences. Limits the results to this path. Can also @@ -5776,17 +5776,17 @@ export namespace GetDifferencesInput { *

                          Returns information about a set of differences for a commit specifier.

                          */ export interface Difference { - /** - *

                          Whether the change type of the difference is an addition (A), deletion (D), or modification (M).

                          - */ - changeType?: ChangeTypeEnum | string; - /** *

                          Information about a beforeBlob data type object, including the ID, * the file mode permission code, and the path.

                          */ beforeBlob?: BlobMetadata; + /** + *

                          Whether the change type of the difference is an addition (A), deletion (D), or modification (M).

                          + */ + changeType?: ChangeTypeEnum | string; + /** *

                          Information about an afterBlob data type object, including the ID, * the file mode permission code, and the path.

                          @@ -5801,16 +5801,16 @@ export namespace Difference { } export interface GetDifferencesOutput { - /** - *

                          An enumeration token that can be used in a request to return the next batch of the results.

                          - */ - NextToken?: string; - /** *

                          A data type object that contains information about the differences, including whether * the difference is added, modified, or deleted (A, D, M).

                          */ differences?: Difference[]; + + /** + *

                          An enumeration token that can be used in a request to return the next batch of the results.

                          + */ + NextToken?: string; } export namespace GetDifferencesOutput { @@ -5838,11 +5838,6 @@ export namespace PathDoesNotExistException { } export interface GetFileInput { - /** - *

                          The name of the repository that contains the file.

                          - */ - repositoryName: string | undefined; - /** *

                          The fully quaified reference that identifies the commit that contains the file. For * example, you can specify a full commit ID, a tag, a branch name, or a reference such as @@ -5856,6 +5851,11 @@ export interface GetFileInput { * in a folder named examples.

                          */ filePath: string | undefined; + + /** + *

                          The name of the repository that contains the file.

                          + */ + repositoryName: string | undefined; } export namespace GetFileInput { @@ -5865,15 +5865,21 @@ export namespace GetFileInput { } export interface GetFileOutput { + /** + *

                          The blob ID of the object that represents the file content.

                          + */ + blobId: string | undefined; + /** *

                          The full commit ID of the commit that contains the content returned by GetFile.

                          */ commitId: string | undefined; /** - *

                          The blob ID of the object that represents the file content.

                          + *

                          The fully qualified path to the specified file. Returns the name and extension of the + * file.

                          */ - blobId: string | undefined; + filePath: string | undefined; /** *

                          The base-64 encoded binary data object that represents the content of the file.

                          @@ -5890,12 +5896,6 @@ export interface GetFileOutput { */ fileMode: FileModeTypeEnum | string | undefined; - /** - *

                          The fully qualified path to the specified file. Returns the name and extension of the - * file.

                          - */ - filePath: string | undefined; - /** *

                          The size of the contents of the file, in bytes.

                          */ @@ -5935,11 +5935,6 @@ export interface GetFolderInput { */ folderPath: string | undefined; - /** - *

                          The name of the repository.

                          - */ - repositoryName: string | undefined; - /** *

                          A fully qualified reference used to identify a commit that contains the version of the * folder's content to return. A fully qualified reference can be a commit ID, branch name, @@ -5947,6 +5942,11 @@ export interface GetFolderInput { * returned as it exists in the HEAD commit.

                          */ commitSpecifier?: string; + + /** + *

                          The name of the repository.

                          + */ + repositoryName: string | undefined; } export namespace GetFolderInput { @@ -5996,14 +5996,14 @@ export interface Folder { relativePath?: string; /** - *

                          The full SHA-1 pointer of the tree information for the commit that contains the folder.

                          + *

                          The fully qualified path of the folder in the repository.

                          */ - treeId?: string; + absolutePath?: string; /** - *

                          The fully qualified path of the folder in the repository.

                          + *

                          The full SHA-1 pointer of the tree information for the commit that contains the folder.

                          */ - absolutePath?: string; + treeId?: string; } export namespace Folder { @@ -6086,10 +6086,10 @@ export interface GetFolderOutput { files?: File[]; /** - *

                          The full commit ID used as a reference for the returned version of the folder - * content.

                          + *

                          The list of symbolic links to other files and folders in the specified folder, if + * any.

                          */ - commitId: string | undefined; + symbolicLinks?: SymbolicLink[]; /** *

                          The list of submodules in the specified folder, if any.

                          @@ -6097,15 +6097,15 @@ export interface GetFolderOutput { subModules?: SubModule[]; /** - *

                          The list of symbolic links to other files and folders in the specified folder, if - * any.

                          + *

                          The list of folders that exist under the specified folder, if any.

                          */ - symbolicLinks?: SymbolicLink[]; + subFolders?: Folder[]; /** - *

                          The list of folders that exist under the specified folder, if any.

                          + *

                          The full commit ID used as a reference for the returned version of the folder + * content.

                          */ - subFolders?: Folder[]; + commitId: string | undefined; } export namespace GetFolderOutput { @@ -6163,14 +6163,14 @@ export interface GetMergeCommitOutput { mergedCommitId?: string; /** - *

                          The commit ID of the destination commit specifier that was used in the merge evaluation.

                          + *

                          The commit ID of the merge base.

                          */ - destinationCommitId?: string; + baseCommitId?: string; /** - *

                          The commit ID of the merge base.

                          + *

                          The commit ID of the destination commit specifier that was used in the merge evaluation.

                          */ - baseCommitId?: string; + destinationCommitId?: string; /** *

                          The commit ID of the source commit specifier that was used in the merge evaluation.

                          @@ -6185,12 +6185,6 @@ export namespace GetMergeCommitOutput { } export interface GetMergeConflictsInput { - /** - *

                          An enumeration token that, when provided in a request, returns the next batch of the - * results.

                          - */ - nextToken?: string; - /** *

                          The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, * which returns a not-mergeable result if the same file has differences in both branches. @@ -6205,6 +6199,12 @@ export interface GetMergeConflictsInput { */ destinationCommitSpecifier: string | undefined; + /** + *

                          An enumeration token that, when provided in a request, returns the next batch of the + * results.

                          + */ + nextToken?: string; + /** *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit * (for example, a branch name or a full commit ID).

                          @@ -6217,11 +6217,9 @@ export interface GetMergeConflictsInput { maxConflictFiles?: number; /** - *

                          Specifies which branch to use when resolving conflicts, or whether to attempt - * automatically merging two versions of a file. The default is NONE, which requires any - * conflicts to be resolved manually before the merge operation is successful.

                          + *

                          The name of the repository where the pull request was created.

                          */ - conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; + repositoryName: string | undefined; /** *

                          The merge option or strategy you want to use to merge the code.

                          @@ -6229,9 +6227,11 @@ export interface GetMergeConflictsInput { mergeOption: MergeOptionTypeEnum | string | undefined; /** - *

                          The name of the repository where the pull request was created.

                          + *

                          Specifies which branch to use when resolving conflicts, or whether to attempt + * automatically merging two versions of a file. The default is NONE, which requires any + * conflicts to be resolved manually before the merge operation is successful.

                          */ - repositoryName: string | undefined; + conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; } export namespace GetMergeConflictsInput { @@ -6242,20 +6242,26 @@ export namespace GetMergeConflictsInput { export interface GetMergeConflictsOutput { /** - *

                          The commit ID of the destination commit specifier that was used in the merge evaluation.

                          + *

                          A list of metadata for any conflicting files. If the specified merge strategy is + * FAST_FORWARD_MERGE, this list is always empty.

                          */ - destinationCommitId: string | undefined; + conflictMetadataList: ConflictMetadata[] | undefined; /** - *

                          The commit ID of the source commit specifier that was used in the merge evaluation.

                          + *

                          The commit ID of the destination commit specifier that was used in the merge evaluation.

                          */ - sourceCommitId: string | undefined; + destinationCommitId: string | undefined; /** *

                          A Boolean value that indicates whether the code is mergeable by the specified merge option.

                          */ mergeable: boolean | undefined; + /** + *

                          The commit ID of the source commit specifier that was used in the merge evaluation.

                          + */ + sourceCommitId: string | undefined; + /** *

                          The commit ID of the merge base.

                          */ @@ -6265,12 +6271,6 @@ export interface GetMergeConflictsOutput { *

                          An enumeration token that can be used in a request to return the next batch of the results.

                          */ nextToken?: string; - - /** - *

                          A list of metadata for any conflicting files. If the specified merge strategy is - * FAST_FORWARD_MERGE, this list is always empty.

                          - */ - conflictMetadataList: ConflictMetadata[] | undefined; } export namespace GetMergeConflictsOutput { @@ -6316,6 +6316,12 @@ export namespace InvalidSourceCommitSpecifierException { } export interface GetMergeOptionsInput { + /** + *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit + * (for example, a branch name or a full commit ID).

                          + */ + sourceCommitSpecifier: string | undefined; + /** *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit * (for example, a branch name or a full commit ID).

                          @@ -6335,12 +6341,6 @@ export interface GetMergeOptionsInput { */ conflictDetailLevel?: ConflictDetailLevelTypeEnum | string; - /** - *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit - * (for example, a branch name or a full commit ID).

                          - */ - sourceCommitSpecifier: string | undefined; - /** *

                          Specifies which branch to use when resolving conflicts, or whether to attempt * automatically merging two versions of a file. The default is NONE, which requires any @@ -6357,14 +6357,14 @@ export namespace GetMergeOptionsInput { export interface GetMergeOptionsOutput { /** - *

                          The merge option or strategy used to merge the code.

                          + *

                          The commit ID of the merge base.

                          */ - mergeOptions: (MergeOptionTypeEnum | string)[] | undefined; + baseCommitId: string | undefined; /** - *

                          The commit ID of the merge base.

                          + *

                          The commit ID of the destination commit specifier that was used in the merge evaluation.

                          */ - baseCommitId: string | undefined; + destinationCommitId: string | undefined; /** *

                          The commit ID of the source commit specifier that was used in the merge evaluation.

                          @@ -6372,9 +6372,9 @@ export interface GetMergeOptionsOutput { sourceCommitId: string | undefined; /** - *

                          The commit ID of the destination commit specifier that was used in the merge evaluation.

                          + *

                          The merge option or strategy used to merge the code.

                          */ - destinationCommitId: string | undefined; + mergeOptions: (MergeOptionTypeEnum | string)[] | undefined; } export namespace GetMergeOptionsOutput { @@ -6441,17 +6441,17 @@ export namespace GetPullRequestApprovalStatesOutput { } export interface GetPullRequestOverrideStateInput { - /** - *

                          The ID of the pull request for which you want to get information about whether approval rules have been set aside (overridden).

                          - */ - pullRequestId: string | undefined; - /** *

                          The system-generated ID of the revision for the pull request. To retrieve the most * recent revision ID, use * GetPullRequest.

                          */ revisionId: string | undefined; + + /** + *

                          The ID of the pull request for which you want to get information about whether approval rules have been set aside (overridden).

                          + */ + pullRequestId: string | undefined; } export namespace GetPullRequestOverrideStateInput { @@ -6537,18 +6537,17 @@ export enum RepositoryTriggerEventEnum { *

                          Information about a trigger for a repository.

                          */ export interface RepositoryTrigger { - /** - *

                          Any custom data associated with the trigger to be included in the information sent to - * the target of the trigger.

                          - */ - customData?: string; - /** *

                          The ARN of the resource that is the target for a trigger (for example, the ARN of a * topic in Amazon SNS).

                          */ destinationArn: string | undefined; + /** + *

                          The name of the trigger.

                          + */ + name: string | undefined; + /** *

                          The branches to be included in the trigger configuration. If you specify an empty * array, the trigger applies to all branches.

                          @@ -6559,9 +6558,10 @@ export interface RepositoryTrigger { branches?: string[]; /** - *

                          The name of the trigger.

                          + *

                          Any custom data associated with the trigger to be included in the information sent to + * the target of the trigger.

                          */ - name: string | undefined; + customData?: string; /** *

                          The repository events that cause the trigger to run actions in another service, such @@ -6603,16 +6603,16 @@ export namespace GetRepositoryTriggersOutput { } export interface ListApprovalRuleTemplatesInput { - /** - *

                          A non-zero, non-negative integer used to limit the number of returned results.

                          - */ - maxResults?: number; - /** *

                          An enumeration token that, when provided in a request, returns the next batch of the * results.

                          */ nextToken?: string; + + /** + *

                          A non-zero, non-negative integer used to limit the number of returned results.

                          + */ + maxResults?: number; } export namespace ListApprovalRuleTemplatesInput { @@ -6665,14 +6665,14 @@ export namespace ListAssociatedApprovalRuleTemplatesForRepositoryInput { export interface ListAssociatedApprovalRuleTemplatesForRepositoryOutput { /** - *

                          The names of all approval rule templates associated with the repository.

                          + *

                          An enumeration token that allows the operation to batch the next results of the operation.

                          */ - approvalRuleTemplateNames?: string[]; + nextToken?: string; /** - *

                          An enumeration token that allows the operation to batch the next results of the operation.

                          + *

                          The names of all approval rule templates associated with the repository.

                          */ - nextToken?: string; + approvalRuleTemplateNames?: string[]; } export namespace ListAssociatedApprovalRuleTemplatesForRepositoryOutput { @@ -6707,14 +6707,14 @@ export namespace ListBranchesInput { */ export interface ListBranchesOutput { /** - *

                          An enumeration token that returns the batch of the results.

                          + *

                          The list of branch names.

                          */ - nextToken?: string; + branches?: string[]; /** - *

                          The list of branch names.

                          + *

                          An enumeration token that returns the batch of the results.

                          */ - branches?: string[]; + nextToken?: string; } export namespace ListBranchesOutput { @@ -6765,6 +6765,11 @@ export interface ListPullRequestsInput { */ repositoryName: string | undefined; + /** + *

                          A non-zero, non-negative integer used to limit the number of returned results.

                          + */ + maxResults?: number; + /** *

                          Optional. The Amazon Resource Name (ARN) of the user who created the pull request. If used, this filters the results * to pull requests created by that user.

                          @@ -6777,11 +6782,6 @@ export interface ListPullRequestsInput { */ nextToken?: string; - /** - *

                          A non-zero, non-negative integer used to limit the number of returned results.

                          - */ - maxResults?: number; - /** *

                          Optional. The status of the pull request. If used, this refines the results to the pull requests that match the specified status.

                          */ diff --git a/clients/client-codecommit/models/models_1.ts b/clients/client-codecommit/models/models_1.ts index 799d02eadd9a..9859038abf4d 100644 --- a/clients/client-codecommit/models/models_1.ts +++ b/clients/client-codecommit/models/models_1.ts @@ -31,14 +31,14 @@ export enum SortByEnum { */ export interface ListRepositoriesInput { /** - *

                          The criteria used to sort the results of a list repositories operation.

                          + *

                          The order in which to sort the results of a list repositories operation.

                          */ - sortBy?: SortByEnum | string; + order?: OrderEnum | string; /** - *

                          The order in which to sort the results of a list repositories operation.

                          + *

                          The criteria used to sort the results of a list repositories operation.

                          */ - order?: OrderEnum | string; + sortBy?: SortByEnum | string; /** *

                          An enumeration token that allows the operation to batch the results of the operation. @@ -59,14 +59,14 @@ export namespace ListRepositoriesInput { */ export interface RepositoryNameIdPair { /** - *

                          The ID associated with the repository.

                          + *

                          The name associated with the repository.

                          */ - repositoryId?: string; + repositoryName?: string; /** - *

                          The name associated with the repository.

                          + *

                          The ID associated with the repository.

                          */ - repositoryName?: string; + repositoryId?: string; } export namespace RepositoryNameIdPair { @@ -79,17 +79,17 @@ export namespace RepositoryNameIdPair { *

                          Represents the output of a list repositories operation.

                          */ export interface ListRepositoriesOutput { - /** - *

                          Lists the repositories called by the list repositories operation.

                          - */ - repositories?: RepositoryNameIdPair[]; - /** *

                          An enumeration token that allows the operation to batch the results of the operation. * Batch sizes are 1,000 for list repository operations. When the client sends the token back to AWS CodeCommit, * another page of 1,000 records is retrieved.

                          */ nextToken?: string; + + /** + *

                          Lists the repositories called by the list repositories operation.

                          + */ + repositories?: RepositoryNameIdPair[]; } export namespace ListRepositoriesOutput { @@ -124,14 +124,14 @@ export namespace ListRepositoriesForApprovalRuleTemplateInput { export interface ListRepositoriesForApprovalRuleTemplateOutput { /** - *

                          An enumeration token that allows the operation to batch the next results of the operation.

                          + *

                          A list of repository names that are associated with the specified approval rule template.

                          */ - nextToken?: string; + repositoryNames?: string[]; /** - *

                          A list of repository names that are associated with the specified approval rule template.

                          + *

                          An enumeration token that allows the operation to batch the next results of the operation.

                          */ - repositoryNames?: string[]; + nextToken?: string; } export namespace ListRepositoriesForApprovalRuleTemplateOutput { @@ -161,17 +161,17 @@ export namespace InvalidResourceArnException { } export interface ListTagsForResourceInput { - /** - *

                          An enumeration token that, when provided in a request, returns the next batch of the - * results.

                          - */ - nextToken?: string; - /** *

                          The Amazon Resource Name (ARN) of the resource for which you want to get information * about tags, if any.

                          */ resourceArn: string | undefined; + + /** + *

                          An enumeration token that, when provided in a request, returns the next batch of the + * results.

                          + */ + nextToken?: string; } export namespace ListTagsForResourceInput { @@ -243,6 +243,11 @@ export interface MergeBranchesByFastForwardInput { */ destinationCommitSpecifier: string | undefined; + /** + *

                          The name of the repository where you want to merge two branches.

                          + */ + repositoryName: string | undefined; + /** *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit * (for example, a branch name or a full commit ID).

                          @@ -253,11 +258,6 @@ export interface MergeBranchesByFastForwardInput { *

                          The branch where the merge is applied.

                          */ targetBranch?: string; - - /** - *

                          The name of the repository where you want to merge two branches.

                          - */ - repositoryName: string | undefined; } export namespace MergeBranchesByFastForwardInput { @@ -268,14 +268,14 @@ export namespace MergeBranchesByFastForwardInput { export interface MergeBranchesByFastForwardOutput { /** - *

                          The commit ID of the merge in the destination or target branch.

                          + *

                          The tree ID of the merge in the destination or target branch.

                          */ - commitId?: string; + treeId?: string; /** - *

                          The tree ID of the merge in the destination or target branch.

                          + *

                          The commit ID of the merge in the destination or target branch.

                          */ - treeId?: string; + commitId?: string; } export namespace MergeBranchesByFastForwardOutput { @@ -286,23 +286,17 @@ export namespace MergeBranchesByFastForwardOutput { export interface MergeBranchesBySquashInput { /** - *

                          If the commit contains deletions, whether to keep a folder or folder structure if the - * changes leave the folders empty. If this is specified as true, a .gitkeep file is - * created for empty folders. The default is false.

                          - */ - keepEmptyFolders?: boolean; - - /** - *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit - * (for example, a branch name or a full commit ID).

                          + *

                          Specifies which branch to use when resolving conflicts, or whether to attempt + * automatically merging two versions of a file. The default is NONE, which requires any + * conflicts to be resolved manually before the merge operation is successful.

                          */ - sourceCommitSpecifier: string | undefined; + conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; /** - *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit - * (for example, a branch name or a full commit ID).

                          + *

                          If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when + * resolving conflicts during a merge.

                          */ - destinationCommitSpecifier: string | undefined; + conflictResolution?: ConflictResolution; /** *

                          The name of the repository where you want to merge two branches.

                          @@ -310,16 +304,17 @@ export interface MergeBranchesBySquashInput { repositoryName: string | undefined; /** - *

                          If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when - * resolving conflicts during a merge.

                          + *

                          If the commit contains deletions, whether to keep a folder or folder structure if the + * changes leave the folders empty. If this is specified as true, a .gitkeep file is + * created for empty folders. The default is false.

                          */ - conflictResolution?: ConflictResolution; + keepEmptyFolders?: boolean; /** - *

                          The email address of the person merging the branches. This information is used in the - * commit information for the merge.

                          + *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit + * (for example, a branch name or a full commit ID).

                          */ - email?: string; + sourceCommitSpecifier: string | undefined; /** *

                          The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, @@ -329,6 +324,12 @@ export interface MergeBranchesBySquashInput { */ conflictDetailLevel?: ConflictDetailLevelTypeEnum | string; + /** + *

                          The email address of the person merging the branches. This information is used in the + * commit information for the merge.

                          + */ + email?: string; + /** *

                          The name of the author who created the commit. This information is used as both the * author and committer for the commit.

                          @@ -336,21 +337,20 @@ export interface MergeBranchesBySquashInput { authorName?: string; /** - *

                          Specifies which branch to use when resolving conflicts, or whether to attempt - * automatically merging two versions of a file. The default is NONE, which requires any - * conflicts to be resolved manually before the merge operation is successful.

                          + *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit + * (for example, a branch name or a full commit ID).

                          */ - conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; + destinationCommitSpecifier: string | undefined; /** - *

                          The branch where the merge is applied.

                          + *

                          The commit message for the merge.

                          */ - targetBranch?: string; + commitMessage?: string; /** - *

                          The commit message for the merge.

                          + *

                          The branch where the merge is applied.

                          */ - commitMessage?: string; + targetBranch?: string; } export namespace MergeBranchesBySquashInput { @@ -361,14 +361,14 @@ export namespace MergeBranchesBySquashInput { export interface MergeBranchesBySquashOutput { /** - *

                          The tree ID of the merge in the destination or target branch.

                          + *

                          The commit ID of the merge in the destination or target branch.

                          */ - treeId?: string; + commitId?: string; /** - *

                          The commit ID of the merge in the destination or target branch.

                          + *

                          The tree ID of the merge in the destination or target branch.

                          */ - commitId?: string; + treeId?: string; } export namespace MergeBranchesBySquashOutput { @@ -378,6 +378,18 @@ export namespace MergeBranchesBySquashOutput { } export interface MergeBranchesByThreeWayInput { + /** + *

                          The branch where the merge is applied.

                          + */ + targetBranch?: string; + + /** + *

                          Specifies which branch to use when resolving conflicts, or whether to attempt + * automatically merging two versions of a file. The default is NONE, which requires any + * conflicts to be resolved manually before the merge operation is successful.

                          + */ + conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; + /** *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit * (for example, a branch name or a full commit ID).

                          @@ -385,9 +397,11 @@ export interface MergeBranchesByThreeWayInput { sourceCommitSpecifier: string | undefined; /** - *

                          The name of the repository where you want to merge two branches.

                          + *

                          If the commit contains deletions, whether to keep a folder or folder structure if the + * changes leave the folders empty. If true, a .gitkeep file is created for empty folders. + * The default is false.

                          */ - repositoryName: string | undefined; + keepEmptyFolders?: boolean; /** *

                          If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when @@ -396,18 +410,9 @@ export interface MergeBranchesByThreeWayInput { conflictResolution?: ConflictResolution; /** - *

                          Specifies which branch to use when resolving conflicts, or whether to attempt - * automatically merging two versions of a file. The default is NONE, which requires any - * conflicts to be resolved manually before the merge operation is successful.

                          - */ - conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; - - /** - *

                          If the commit contains deletions, whether to keep a folder or folder structure if the - * changes leave the folders empty. If true, a .gitkeep file is created for empty folders. - * The default is false.

                          + *

                          The name of the repository where you want to merge two branches.

                          */ - keepEmptyFolders?: boolean; + repositoryName: string | undefined; /** *

                          The email address of the person merging the branches. This information is used in the @@ -423,17 +428,6 @@ export interface MergeBranchesByThreeWayInput { */ conflictDetailLevel?: ConflictDetailLevelTypeEnum | string; - /** - *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit - * (for example, a branch name or a full commit ID).

                          - */ - destinationCommitSpecifier: string | undefined; - - /** - *

                          The branch where the merge is applied.

                          - */ - targetBranch?: string; - /** *

                          The name of the author who created the commit. This information is used as both the * author and committer for the commit.

                          @@ -444,6 +438,12 @@ export interface MergeBranchesByThreeWayInput { *

                          The commit message to include in the commit information for the merge.

                          */ commitMessage?: string; + + /** + *

                          The branch, tag, HEAD, or other fully qualified reference used to identify a commit + * (for example, a branch name or a full commit ID).

                          + */ + destinationCommitSpecifier: string | undefined; } export namespace MergeBranchesByThreeWayInput { @@ -472,14 +472,14 @@ export namespace MergeBranchesByThreeWayOutput { export interface MergePullRequestByFastForwardInput { /** - *

                          The name of the repository where the pull request was created.

                          + *

                          The system-generated ID of the pull request. To get this ID, use ListPullRequests.

                          */ - repositoryName: string | undefined; + pullRequestId: string | undefined; /** - *

                          The system-generated ID of the pull request. To get this ID, use ListPullRequests.

                          + *

                          The name of the repository where the pull request was created.

                          */ - pullRequestId: string | undefined; + repositoryName: string | undefined; /** *

                          The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an @@ -546,24 +546,22 @@ export namespace TipOfSourceReferenceIsDifferentException { export interface MergePullRequestBySquashInput { /** - *

                          The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an - * exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

                          + *

                          The email address of the person merging the branches. This information is used in the + * commit information for the merge.

                          */ - sourceCommitId?: string; + email?: string; /** - *

                          The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, - * which returns a not-mergeable result if the same file has differences in both branches. - * If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in - * both branches has differences on the same line.

                          + *

                          If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when + * resolving conflicts during a merge.

                          */ - conflictDetailLevel?: ConflictDetailLevelTypeEnum | string; + conflictResolution?: ConflictResolution; /** - *

                          The email address of the person merging the branches. This information is used in the - * commit information for the merge.

                          + *

                          The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an + * exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

                          */ - email?: string; + sourceCommitId?: string; /** *

                          The name of the author who created the commit. This information is used as both the @@ -584,15 +582,19 @@ export interface MergePullRequestBySquashInput { conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; /** - *

                          If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when - * resolving conflicts during a merge.

                          + *

                          If the commit contains deletions, whether to keep a folder or folder structure if the + * changes leave the folders empty. If true, a .gitkeep file is created for empty folders. + * The default is false.

                          */ - conflictResolution?: ConflictResolution; + keepEmptyFolders?: boolean; /** - *

                          The name of the repository where the pull request was created.

                          + *

                          The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, + * which returns a not-mergeable result if the same file has differences in both branches. + * If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in + * both branches has differences on the same line.

                          */ - repositoryName: string | undefined; + conflictDetailLevel?: ConflictDetailLevelTypeEnum | string; /** *

                          The system-generated ID of the pull request. To get this ID, use ListPullRequests.

                          @@ -600,11 +602,9 @@ export interface MergePullRequestBySquashInput { pullRequestId: string | undefined; /** - *

                          If the commit contains deletions, whether to keep a folder or folder structure if the - * changes leave the folders empty. If true, a .gitkeep file is created for empty folders. - * The default is false.

                          + *

                          The name of the repository where the pull request was created.

                          */ - keepEmptyFolders?: boolean; + repositoryName: string | undefined; } export namespace MergePullRequestBySquashInput { @@ -628,11 +628,10 @@ export namespace MergePullRequestBySquashOutput { export interface MergePullRequestByThreeWayInput { /** - *

                          Specifies which branch to use when resolving conflicts, or whether to attempt - * automatically merging two versions of a file. The default is NONE, which requires any - * conflicts to be resolved manually before the merge operation is successful.

                          + *

                          The name of the author who created the commit. This information is used as both the + * author and committer for the commit.

                          */ - conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; + authorName?: string; /** *

                          The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, @@ -643,11 +642,10 @@ export interface MergePullRequestByThreeWayInput { conflictDetailLevel?: ConflictDetailLevelTypeEnum | string; /** - *

                          If the commit contains deletions, whether to keep a folder or folder structure if the - * changes leave the folders empty. If true, a .gitkeep file is created for empty folders. - * The default is false.

                          + *

                          The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an + * exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

                          */ - keepEmptyFolders?: boolean; + sourceCommitId?: string; /** *

                          The email address of the person merging the branches. This information is used in the @@ -656,9 +654,11 @@ export interface MergePullRequestByThreeWayInput { email?: string; /** - *

                          The name of the repository where the pull request was created.

                          + *

                          Specifies which branch to use when resolving conflicts, or whether to attempt + * automatically merging two versions of a file. The default is NONE, which requires any + * conflicts to be resolved manually before the merge operation is successful.

                          */ - repositoryName: string | undefined; + conflictResolutionStrategy?: ConflictResolutionStrategyTypeEnum | string; /** *

                          The system-generated ID of the pull request. To get this ID, use ListPullRequests.

                          @@ -666,22 +666,22 @@ export interface MergePullRequestByThreeWayInput { pullRequestId: string | undefined; /** - *

                          If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when - * resolving conflicts during a merge.

                          + *

                          The name of the repository where the pull request was created.

                          */ - conflictResolution?: ConflictResolution; + repositoryName: string | undefined; /** - *

                          The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an - * exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

                          + *

                          If the commit contains deletions, whether to keep a folder or folder structure if the + * changes leave the folders empty. If true, a .gitkeep file is created for empty folders. + * The default is false.

                          */ - sourceCommitId?: string; + keepEmptyFolders?: boolean; /** - *

                          The name of the author who created the commit. This information is used as both the - * author and committer for the commit.

                          + *

                          If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when + * resolving conflicts during a merge.

                          */ - authorName?: string; + conflictResolution?: ConflictResolution; /** *

                          The commit message to include in the commit information for the merge.

                          @@ -881,11 +881,6 @@ export namespace InvalidRelativeFileVersionEnumException { } export interface PostCommentForComparedCommitInput { - /** - *

                          The content of the comment you want to make.

                          - */ - content: string | undefined; - /** *

                          A unique, client-generated idempotency token that, when provided in a request, ensures * the request cannot be repeated with a changed parameter. If a request is received with @@ -895,27 +890,32 @@ export interface PostCommentForComparedCommitInput { clientRequestToken?: string; /** - *

                          The name of the repository where you want to post a comment on the comparison between commits.

                          + *

                          The location of the comparison where you want to comment.

                          */ - repositoryName: string | undefined; + location?: Location; /** - *

                          To establish the directionality of the comparison, the full commit ID of the before - * commit. Required for commenting on any commit unless that commit is the initial - * commit.

                          + *

                          The content of the comment you want to make.

                          */ - beforeCommitId?: string; + content: string | undefined; /** - *

                          The location of the comparison where you want to comment.

                          + *

                          The name of the repository where you want to post a comment on the comparison between commits.

                          */ - location?: Location; + repositoryName: string | undefined; /** *

                          To establish the directionality of the comparison, the full commit ID of the after * commit.

                          */ afterCommitId: string | undefined; + + /** + *

                          To establish the directionality of the comparison, the full commit ID of the before + * commit. Required for commenting on any commit unless that commit is the initial + * commit.

                          + */ + beforeCommitId?: string; } export namespace PostCommentForComparedCommitInput { @@ -926,14 +926,19 @@ export namespace PostCommentForComparedCommitInput { export interface PostCommentForComparedCommitOutput { /** - *

                          The location of the comment in the comparison between the two commits.

                          + *

                          In the directionality you established, the full commit ID of the after commit.

                          */ - location?: Location; + afterCommitId?: string; /** - *

                          In the directionality you established, the blob ID of the after blob.

                          + *

                          The content of the comment you posted.

                          */ - afterBlobId?: string; + comment?: Comment; + + /** + *

                          The location of the comment in the comparison between the two commits.

                          + */ + location?: Location; /** *

                          In the directionality you established, the full commit ID of the before commit.

                          @@ -946,19 +951,14 @@ export interface PostCommentForComparedCommitOutput { repositoryName?: string; /** - *

                          The content of the comment you posted.

                          - */ - comment?: Comment; - - /** - *

                          In the directionality you established, the full commit ID of the after commit.

                          + *

                          In the directionality you established, the blob ID of the before blob.

                          */ - afterCommitId?: string; + beforeBlobId?: string; /** - *

                          In the directionality you established, the blob ID of the before blob.

                          + *

                          In the directionality you established, the blob ID of the after blob.

                          */ - beforeBlobId?: string; + afterBlobId?: string; } export namespace PostCommentForComparedCommitOutput { @@ -974,9 +974,9 @@ export interface PostCommentForPullRequestInput { beforeCommitId: string | undefined; /** - *

                          The content of your comment on the change.

                          + *

                          The system-generated ID of the pull request. To get this ID, use ListPullRequests.

                          */ - content: string | undefined; + pullRequestId: string | undefined; /** *

                          The name of the repository where you want to post a comment on a pull request.

                          @@ -984,16 +984,9 @@ export interface PostCommentForPullRequestInput { repositoryName: string | undefined; /** - *

                          The system-generated ID of the pull request. To get this ID, use ListPullRequests.

                          - */ - pullRequestId: string | undefined; - - /** - *

                          The location of the change where you want to post your comment. If no location is - * provided, the comment is posted as a general comment on the pull request difference - * between the before commit ID and the after commit ID.

                          + *

                          The content of your comment on the change.

                          */ - location?: Location; + content: string | undefined; /** *

                          The full commit ID of the commit in the source branch that is the current tip of the branch for the pull request when you post the comment.

                          @@ -1007,6 +1000,13 @@ export interface PostCommentForPullRequestInput { * initial request that used that token.

                          */ clientRequestToken?: string; + + /** + *

                          The location of the change where you want to post your comment. If no location is + * provided, the comment is posted as a general comment on the pull request difference + * between the before commit ID and the after commit ID.

                          + */ + location?: Location; } export namespace PostCommentForPullRequestInput { @@ -1023,20 +1023,19 @@ export interface PostCommentForPullRequestOutput { beforeCommitId?: string; /** - *

                          The system-generated ID of the pull request.

                          + *

                          The name of the repository where you posted a comment on a pull request.

                          */ - pullRequestId?: string; + repositoryName?: string; /** - *

                          The name of the repository where you posted a comment on a pull request.

                          + *

                          The system-generated ID of the pull request.

                          */ - repositoryName?: string; + pullRequestId?: string; /** - *

                          The full commit ID of the commit in the destination branch where the pull request is - * merged.

                          + *

                          In the directionality of the pull request, the blob ID of the after blob.

                          */ - afterCommitId?: string; + afterBlobId?: string; /** *

                          In the directionality of the pull request, the blob ID of the before blob.

                          @@ -1044,19 +1043,20 @@ export interface PostCommentForPullRequestOutput { beforeBlobId?: string; /** - *

                          In the directionality of the pull request, the blob ID of the after blob.

                          + *

                          The full commit ID of the commit in the destination branch where the pull request is + * merged.

                          */ - afterBlobId?: string; + afterCommitId?: string; /** - *

                          The content of the comment you posted.

                          + *

                          The location of the change where you posted your comment.

                          */ - comment?: Comment; + location?: Location; /** - *

                          The location of the change where you posted your comment.

                          + *

                          The content of the comment you posted.

                          */ - location?: Location; + comment?: Comment; } export namespace PostCommentForPullRequestOutput { @@ -1066,11 +1066,6 @@ export namespace PostCommentForPullRequestOutput { } export interface PostCommentReplyInput { - /** - *

                          The contents of your reply to a comment.

                          - */ - content: string | undefined; - /** *

                          A unique, client-generated idempotency token that, when provided in a request, ensures * the request cannot be repeated with a changed parameter. If a request is received with @@ -1079,6 +1074,11 @@ export interface PostCommentReplyInput { */ clientRequestToken?: string; + /** + *

                          The contents of your reply to a comment.

                          + */ + content: string | undefined; + /** *

                          The system-generated ID of the comment to which you want to reply. To get this ID, use GetCommentsForComparedCommit * or GetCommentsForPullRequest.

                          @@ -1206,10 +1206,10 @@ export interface PutFileInput { parentCommitId?: string; /** - *

                          The name of the branch where you want to add or update the file. If this is an empty - * repository, this branch is created.

                          + *

                          The name of the person adding or updating the file. Although it is optional, a name + * makes the commit history for your repository more useful.

                          */ - branchName: string | undefined; + name?: string; /** *

                          The content of the file, in binary object format.

                          @@ -1217,15 +1217,21 @@ export interface PutFileInput { fileContent: Uint8Array | undefined; /** - *

                          The file mode permissions of the blob. Valid file mode permissions are listed - * here.

                          + *

                          The name of the branch where you want to add or update the file. If this is an empty + * repository, this branch is created.

                          */ - fileMode?: FileModeTypeEnum | string; + branchName: string | undefined; /** - *

                          An email address for the person adding or updating the file.

                          + *

                          The name of the repository where you want to add or update the file.

                          */ - email?: string; + repositoryName: string | undefined; + + /** + *

                          A message about why this file was added or updated. Although it is optional, a message + * makes the commit history for your repository more useful.

                          + */ + commitMessage?: string; /** *

                          The name of the file you want to add or update, including the relative path to the file in the repository.

                          @@ -1237,21 +1243,15 @@ export interface PutFileInput { filePath: string | undefined; /** - *

                          The name of the repository where you want to add or update the file.

                          - */ - repositoryName: string | undefined; - - /** - *

                          The name of the person adding or updating the file. Although it is optional, a name - * makes the commit history for your repository more useful.

                          + *

                          An email address for the person adding or updating the file.

                          */ - name?: string; + email?: string; /** - *

                          A message about why this file was added or updated. Although it is optional, a message - * makes the commit history for your repository more useful.

                          + *

                          The file mode permissions of the blob. Valid file mode permissions are listed + * here.

                          */ - commitMessage?: string; + fileMode?: FileModeTypeEnum | string; } export namespace PutFileInput { @@ -1261,6 +1261,11 @@ export namespace PutFileInput { } export interface PutFileOutput { + /** + *

                          The full SHA ID of the commit that contains this file change.

                          + */ + commitId: string | undefined; + /** *

                          The ID of the blob, which is its SHA-1 pointer.

                          */ @@ -1270,11 +1275,6 @@ export interface PutFileOutput { *

                          The full SHA-1 pointer of the tree information for the commit that contains this file change.

                          */ treeId: string | undefined; - - /** - *

                          The full SHA ID of the commit that contains this file change.

                          - */ - commitId: string | undefined; } export namespace PutFileOutput { @@ -1751,15 +1751,15 @@ export namespace InvalidRuleContentSha256Exception { export interface UpdateApprovalRuleTemplateContentInput { /** - *

                          The content that replaces the existing content of the rule. Content statements must be - * complete. You cannot provide only the changes.

                          + *

                          The name of the approval rule template where you want to update the content of the rule.

                          */ - newRuleContent: string | undefined; + approvalRuleTemplateName: string | undefined; /** - *

                          The name of the approval rule template where you want to update the content of the rule.

                          + *

                          The content that replaces the existing content of the rule. Content statements must be + * complete. You cannot provide only the changes.

                          */ - approvalRuleTemplateName: string | undefined; + newRuleContent: string | undefined; /** *

                          The SHA-256 hash signature for the content of the approval rule. You can retrieve this @@ -1869,16 +1869,16 @@ export namespace CommentNotCreatedByCallerException { } export interface UpdateCommentInput { - /** - *

                          The updated content to replace the existing content of the comment.

                          - */ - content: string | undefined; - /** *

                          The system-generated ID of the comment you want to update. To get this ID, use GetCommentsForComparedCommit * or GetCommentsForPullRequest.

                          */ commentId: string | undefined; + + /** + *

                          The updated content to replace the existing content of the comment.

                          + */ + content: string | undefined; } export namespace UpdateCommentInput { @@ -1922,6 +1922,11 @@ export namespace UpdateDefaultBranchInput { } export interface UpdatePullRequestApprovalRuleContentInput { + /** + *

                          The name of the approval rule you want to update.

                          + */ + approvalRuleName: string | undefined; + /** *

                          The updated content for the approval rule.

                          * @@ -1967,11 +1972,6 @@ export interface UpdatePullRequestApprovalRuleContentInput { */ newRuleContent: string | undefined; - /** - *

                          The name of the approval rule you want to update.

                          - */ - approvalRuleName: string | undefined; - /** *

                          The SHA-256 hash signature for the content of the approval rule. You can retrieve this * information by using diff --git a/clients/client-codedeploy/models/models_0.ts b/clients/client-codedeploy/models/models_0.ts index e6bb90e37db7..9f7744986601 100644 --- a/clients/client-codedeploy/models/models_0.ts +++ b/clients/client-codedeploy/models/models_0.ts @@ -6,14 +6,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface Tag { /** - *

                          The tag's key.

                          + *

                          The tag's value.

                          */ - Key?: string; + Value?: string; /** - *

                          The tag's value.

                          + *

                          The tag's key.

                          */ - Value?: string; + Key?: string; } export namespace Tag { @@ -193,6 +193,17 @@ export namespace Alarm { *

                          Information about alarms associated with the deployment group.

                          */ export interface AlarmConfiguration { + /** + *

                          Indicates whether the alarm configuration is enabled.

                          + */ + enabled?: boolean; + + /** + *

                          A list of alarms configured for the deployment group. A maximum of 10 alarms can be + * added to a deployment group.

                          + */ + alarms?: Alarm[]; + /** *

                          Indicates whether a deployment should continue if information about the current state * of alarms cannot be retrieved from Amazon CloudWatch. The default value is false.

                          @@ -210,17 +221,6 @@ export interface AlarmConfiguration { *
                        */ ignorePollAlarmFailure?: boolean; - - /** - *

                        Indicates whether the alarm configuration is enabled.

                        - */ - enabled?: boolean; - - /** - *

                        A list of alarms configured for the deployment group. A maximum of 10 alarms can be - * added to a deployment group.

                        - */ - alarms?: Alarm[]; } export namespace AlarmConfiguration { @@ -295,15 +295,9 @@ export enum ComputePlatform { */ export interface ApplicationInfo { /** - *

                        The time at which the application was created.

                        - */ - createTime?: Date; - - /** - *

                        True if the user has authenticated with GitHub for the specified application. - * Otherwise, false.

                        + *

                        The name for a connection to a GitHub account.

                        */ - linkedToGitHub?: boolean; + gitHubAccountName?: string; /** *

                        The destination platform type for deployment of the application (Lambda @@ -312,9 +306,9 @@ export interface ApplicationInfo { computePlatform?: ComputePlatform | string; /** - *

                        The name for a connection to a GitHub account.

                        + *

                        The time at which the application was created.

                        */ - gitHubAccountName?: string; + createTime?: Date; /** *

                        The application name.

                        @@ -325,6 +319,12 @@ export interface ApplicationInfo { *

                        The application ID.

                        */ applicationId?: string; + + /** + *

                        True if the user has authenticated with GitHub for the specified application. + * Otherwise, false.

                        + */ + linkedToGitHub?: boolean; } export namespace ApplicationInfo { @@ -438,16 +438,16 @@ export enum AutoRollbackEvent { * of an application revision when a deployment is not completed successfully.

                        */ export interface AutoRollbackConfiguration { - /** - *

                        The event type or types that trigger a rollback.

                        - */ - events?: (AutoRollbackEvent | string)[]; - /** *

                        Indicates whether a defined automatic rollback configuration is currently * enabled.

                        */ enabled?: boolean; + + /** + *

                        The event type or types that trigger a rollback.

                        + */ + events?: (AutoRollbackEvent | string)[]; } export namespace AutoRollbackConfiguration { @@ -461,14 +461,14 @@ export namespace AutoRollbackConfiguration { */ export interface AutoScalingGroup { /** - *

                        The Auto Scaling group name.

                        + *

                        An Auto Scaling lifecycle event hook name.

                        */ - name?: string; + hook?: string; /** - *

                        An Auto Scaling lifecycle event hook name.

                        + *

                        The Auto Scaling group name.

                        */ - hook?: string; + name?: string; } export namespace AutoScalingGroup { @@ -544,6 +544,14 @@ export interface S3Location { */ bundleType?: BundleType | string; + /** + *

                        A specific version of the Amazon S3 object that represents the bundled artifacts for + * the application revision.

                        + *

                        If the version is not specified, the system uses the most recent version by + * default.

                        + */ + version?: string; + /** *

                        The ETag of the Amazon S3 object that represents the bundled artifacts for the * application revision.

                        @@ -557,14 +565,6 @@ export interface S3Location { * application revision.

                        */ key?: string; - - /** - *

                        A specific version of the Amazon S3 object that represents the bundled artifacts for - * the application revision.

                        - *

                        If the version is not specified, the system uses the most recent version by - * default.

                        - */ - version?: string; } export namespace S3Location { @@ -602,9 +602,10 @@ export namespace RawString { */ export interface RevisionLocation { /** - *

                        Information about the location of application artifacts stored in GitHub.

                        + *

                        The content of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The + * content is formatted as JSON or YAML and stored as a RawString.

                        */ - gitHubLocation?: GitHubLocation; + appSpecContent?: AppSpecContent; /** *

                        The type of application revision:

                        @@ -630,21 +631,20 @@ export interface RevisionLocation { revisionType?: RevisionLocationType | string; /** - *

                        The content of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The - * content is formatted as JSON or YAML and stored as a RawString.

                        + *

                        Information about the location of a revision stored in Amazon S3.

                        */ - appSpecContent?: AppSpecContent; + s3Location?: S3Location; /** - *

                        Information about the location of an AWS Lambda deployment revision stored as a - * RawString.

                        + *

                        Information about the location of application artifacts stored in GitHub.

                        */ - string?: RawString; + gitHubLocation?: GitHubLocation; /** - *

                        Information about the location of a revision stored in Amazon S3.

                        + *

                        Information about the location of an AWS Lambda deployment revision stored as a + * RawString.

                        */ - s3Location?: S3Location; + string?: RawString; } export namespace RevisionLocation { @@ -657,17 +657,17 @@ export namespace RevisionLocation { *

                        Represents the input of a BatchGetApplicationRevisions operation.

                        */ export interface BatchGetApplicationRevisionsInput { - /** - *

                        An array of RevisionLocation objects that specify information to get about the application revisions, including type and - * location. The maximum number of RevisionLocation objects you can specify is 25.

                        - */ - revisions: RevisionLocation[] | undefined; - /** *

                        The name of an AWS CodeDeploy application about which to get revision * information.

                        */ applicationName: string | undefined; + + /** + *

                        An array of RevisionLocation objects that specify information to get about the application revisions, including type and + * location. The maximum number of RevisionLocation objects you can specify is 25.

                        + */ + revisions: RevisionLocation[] | undefined; } export namespace BatchGetApplicationRevisionsInput { @@ -681,29 +681,29 @@ export namespace BatchGetApplicationRevisionsInput { */ export interface GenericRevisionInfo { /** - *

                        When the revision was last used by AWS CodeDeploy.

                        + *

                        When the revision was registered with AWS CodeDeploy.

                        */ - lastUsedTime?: Date; + registerTime?: Date; /** - *

                        A comment about the revision.

                        + *

                        When the revision was first used by AWS CodeDeploy.

                        */ - description?: string; + firstUsedTime?: Date; /** - *

                        The deployment groups for which this is the current target revision.

                        + *

                        A comment about the revision.

                        */ - deploymentGroups?: string[]; + description?: string; /** - *

                        When the revision was registered with AWS CodeDeploy.

                        + *

                        When the revision was last used by AWS CodeDeploy.

                        */ - registerTime?: Date; + lastUsedTime?: Date; /** - *

                        When the revision was first used by AWS CodeDeploy.

                        + *

                        The deployment groups for which this is the current target revision.

                        */ - firstUsedTime?: Date; + deploymentGroups?: string[]; } export namespace GenericRevisionInfo { @@ -716,16 +716,16 @@ export namespace GenericRevisionInfo { *

                        Information about an application revision.

                        */ export interface RevisionInfo { - /** - *

                        Information about the location and type of an application revision.

                        - */ - revisionLocation?: RevisionLocation; - /** *

                        Information about an application revision, including usage details and associated * deployment groups.

                        */ genericRevisionInfo?: GenericRevisionInfo; + + /** + *

                        Information about the location and type of an application revision.

                        + */ + revisionLocation?: RevisionLocation; } export namespace RevisionInfo { @@ -744,14 +744,14 @@ export interface BatchGetApplicationRevisionsOutput { errorMessage?: string; /** - *

                        Additional information about the revisions, including the type and location.

                        + *

                        The name of the application that corresponds to the revisions.

                        */ - revisions?: RevisionInfo[]; + applicationName?: string; /** - *

                        The name of the application that corresponds to the revisions.

                        + *

                        Additional information about the revisions, including the type and location.

                        */ - applicationName?: string; + revisions?: RevisionInfo[]; } export namespace BatchGetApplicationRevisionsOutput { @@ -868,16 +868,16 @@ export namespace BatchGetApplicationsOutput { *

                        Represents the input of a BatchGetDeploymentGroups operation.

                        */ export interface BatchGetDeploymentGroupsInput { - /** - *

                        The names of the deployment groups.

                        - */ - deploymentGroupNames: string[] | undefined; - /** *

                        The name of an AWS CodeDeploy application associated with the applicable IAM user or * AWS account.

                        */ applicationName: string | undefined; + + /** + *

                        The names of the deployment groups.

                        + */ + deploymentGroupNames: string[] | undefined; } export namespace BatchGetDeploymentGroupsInput { @@ -896,6 +896,13 @@ export enum DeploymentReadyAction { * a blue/green deployment.

                        */ export interface DeploymentReadyOption { + /** + *

                        The number of minutes to wait before the status of a blue/green deployment is changed + * to Stopped if rerouting is not started manually. Applies only to the + * STOP_DEPLOYMENT option for actionOnTimeout.

                        + */ + waitTimeInMinutes?: number; + /** *

                        Information about when to reroute traffic from an original environment to a * replacement environment in a blue/green deployment.

                        @@ -914,13 +921,6 @@ export interface DeploymentReadyOption { *
                      */ actionOnTimeout?: DeploymentReadyAction | string; - - /** - *

                      The number of minutes to wait before the status of a blue/green deployment is changed - * to Stopped if rerouting is not started manually. Applies only to the - * STOP_DEPLOYMENT option for actionOnTimeout.

                      - */ - waitTimeInMinutes?: number; } export namespace DeploymentReadyOption { @@ -975,21 +975,6 @@ export enum InstanceAction { *

                      */ export interface BlueInstanceTerminationOption { - /** - *

                      For an Amazon EC2 deployment, the number of minutes to wait after a successful blue/green deployment before - * terminating instances from the original environment.

                      - * - *

                      - * For an Amazon ECS deployment, the number of minutes before deleting the original (blue) task set. During an Amazon ECS deployment, - * CodeDeploy shifts traffic from the original (blue) task set to a replacement (green) task set. - *

                      - * - *

                      - * The maximum setting is 2880 minutes (2 days). - *

                      - */ - terminationWaitTimeInMinutes?: number; - /** *

                      The action to take on instances in the original environment after a successful * blue/green deployment.

                      @@ -1008,6 +993,21 @@ export interface BlueInstanceTerminationOption { *
                    */ action?: InstanceAction | string; + + /** + *

                    For an Amazon EC2 deployment, the number of minutes to wait after a successful blue/green deployment before + * terminating instances from the original environment.

                    + * + *

                    + * For an Amazon ECS deployment, the number of minutes before deleting the original (blue) task set. During an Amazon ECS deployment, + * CodeDeploy shifts traffic from the original (blue) task set to a replacement (green) task set. + *

                    + * + *

                    + * The maximum setting is 2880 minutes (2 days). + *

                    + */ + terminationWaitTimeInMinutes?: number; } export namespace BlueInstanceTerminationOption { @@ -1020,18 +1020,18 @@ export namespace BlueInstanceTerminationOption { *

                    Information about blue/green deployment options for a deployment group.

                    */ export interface BlueGreenDeploymentConfiguration { - /** - *

                    Information about the action to take when newly provisioned instances are ready to - * receive traffic in a blue/green deployment.

                    - */ - deploymentReadyOption?: DeploymentReadyOption; - /** *

                    Information about how instances are provisioned for a replacement environment in a * blue/green deployment.

                    */ greenFleetProvisioningOption?: GreenFleetProvisioningOption; + /** + *

                    Information about the action to take when newly provisioned instances are ready to + * receive traffic in a blue/green deployment.

                    + */ + deploymentReadyOption?: DeploymentReadyOption; + /** *

                    Information about whether to terminate instances in the original fleet during a * blue/green deployment.

                    @@ -1107,14 +1107,14 @@ export interface EC2TagFilter { Type?: EC2TagFilterType | string; /** - *

                    The tag filter key.

                    + *

                    The tag filter value.

                    */ - Key?: string; + Value?: string; /** - *

                    The tag filter value.

                    + *

                    The tag filter key.

                    */ - Value?: string; + Key?: string; } export namespace EC2TagFilter { @@ -1147,14 +1147,14 @@ export namespace EC2TagSet { */ export interface ECSService { /** - *

                    The name of the target Amazon ECS service.

                    + *

                    The name of the cluster that the Amazon ECS service is associated with.

                    */ - serviceName?: string; + clusterName?: string; /** - *

                    The name of the cluster that the Amazon ECS service is associated with.

                    + *

                    The name of the target Amazon ECS service.

                    */ - clusterName?: string; + serviceName?: string; } export namespace ECSService { @@ -1180,10 +1180,10 @@ export enum DeploymentStatus { */ export interface LastDeploymentInfo { /** - *

                    A timestamp that indicates when the most recent deployment to the deployment group - * started.

                    + *

                    A timestamp that indicates when the most recent deployment to the deployment group was + * complete.

                    */ - createTime?: Date; + endTime?: Date; /** *

                    The unique ID of a deployment.

                    @@ -1191,15 +1191,15 @@ export interface LastDeploymentInfo { deploymentId?: string; /** - *

                    The status of the most recent deployment.

                    + *

                    A timestamp that indicates when the most recent deployment to the deployment group + * started.

                    */ - status?: DeploymentStatus | string; + createTime?: Date; /** - *

                    A timestamp that indicates when the most recent deployment to the deployment group was - * complete.

                    + *

                    The status of the most recent deployment.

                    */ - endTime?: Date; + status?: DeploymentStatus | string; } export namespace LastDeploymentInfo { @@ -1277,8 +1277,14 @@ export namespace TrafficRoute { */ export interface TargetGroupPairInfo { /** - *

                    An optional path used by a load balancer to route test traffic after an Amazon ECS - * deployment. Validation can occur while test traffic is served during a deployment.

                    + *

                    One pair of target groups. One is associated with the original task set. The second + * is associated with the task set that serves traffic after the deployment is complete.

                    + */ + targetGroups?: TargetGroupInfo[]; + + /** + *

                    An optional path used by a load balancer to route test traffic after an Amazon ECS + * deployment. Validation can occur while test traffic is served during a deployment.

                    */ testTrafficRoute?: TrafficRoute; @@ -1287,12 +1293,6 @@ export interface TargetGroupPairInfo { * deployment is complete.

                    */ prodTrafficRoute?: TrafficRoute; - - /** - *

                    One pair of target groups. One is associated with the original task set. The second - * is associated with the task set that serves traffic after the deployment is complete.

                    - */ - targetGroups?: TargetGroupInfo[]; } export namespace TargetGroupPairInfo { @@ -1306,12 +1306,6 @@ export namespace TargetGroupPairInfo { * deployment.

                    */ export interface LoadBalancerInfo { - /** - *

                    The target group pair information. This is an array of - * TargeGroupPairInfo objects with a maximum size of one.

                    - */ - targetGroupPairInfoList?: TargetGroupPairInfo[]; - /** *

                    An array that contains information about the target group to use for load balancing in * a deployment. In Elastic Load Balancing, target groups are used with Application Load @@ -1322,6 +1316,12 @@ export interface LoadBalancerInfo { */ targetGroupInfoList?: TargetGroupInfo[]; + /** + *

                    The target group pair information. This is an array of + * TargeGroupPairInfo objects with a maximum size of one.

                    + */ + targetGroupPairInfoList?: TargetGroupPairInfo[]; + /** *

                    An array that contains information about the load balancer to use for load balancing * in a deployment. In Elastic Load Balancing, load balancers are used with Classic Load @@ -1349,6 +1349,16 @@ export enum TagFilterType { *

                    Information about an on-premises instance tag filter.

                    */ export interface TagFilter { + /** + *

                    The on-premises instance tag filter key.

                    + */ + Key?: string; + + /** + *

                    The on-premises instance tag filter value.

                    + */ + Value?: string; + /** *

                    The on-premises instance tag filter type:

                    *
                      @@ -1364,16 +1374,6 @@ export interface TagFilter { *
                    */ Type?: TagFilterType | string; - - /** - *

                    The on-premises instance tag filter key.

                    - */ - Key?: string; - - /** - *

                    The on-premises instance tag filter value.

                    - */ - Value?: string; } export namespace TagFilter { @@ -1417,11 +1417,6 @@ export enum TriggerEventType { *

                    Information about notification triggers for the deployment group.

                    */ export interface TriggerConfig { - /** - *

                    The name of the notification trigger.

                    - */ - triggerName?: string; - /** *

                    The Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic through * which notifications about deployment or instance events are sent.

                    @@ -1432,6 +1427,11 @@ export interface TriggerConfig { *

                    The event type or types for which notifications are triggered.

                    */ triggerEvents?: (TriggerEventType | string)[]; + + /** + *

                    The name of the notification trigger.

                    + */ + triggerName?: string; } export namespace TriggerConfig { @@ -1445,16 +1445,19 @@ export namespace TriggerConfig { */ export interface DeploymentGroupInfo { /** - *

                    The on-premises instance tags on which to filter. The deployment group includes - * on-premises instances with any of the specified tags.

                    + *

                    The deployment group ID.

                    */ - onPremisesInstanceTagFilters?: TagFilter[]; + deploymentGroupId?: string; /** - *

                    Information about the type of deployment, either in-place or blue/green, you want to - * run and whether to route deployment traffic behind a load balancer.

                    + *

                    The deployment configuration name.

                    */ - deploymentStyle?: DeploymentStyle; + deploymentConfigName?: string; + + /** + *

                    Information about the load balancer to use in a deployment.

                    + */ + loadBalancerInfo?: LoadBalancerInfo; /** *

                    Information about groups of tags applied to an EC2 instance. The deployment group @@ -1464,105 +1467,102 @@ export interface DeploymentGroupInfo { ec2TagSet?: EC2TagSet; /** - *

                    Information about triggers associated with the deployment group.

                    - */ - triggerConfigurations?: TriggerConfig[]; - - /** - *

                    The application name.

                    + *

                    Information about the type of deployment, either in-place or blue/green, you want to + * run and whether to route deployment traffic behind a load balancer.

                    */ - applicationName?: string; + deploymentStyle?: DeploymentStyle; /** - *

                    A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. - * For more information, see Create a Service Role for AWS CodeDeploy in - * the AWS CodeDeploy User Guide.

                    + *

                    The destination platform type for the deployment (Lambda, Server, or ECS).

                    */ - serviceRoleArn?: string; + computePlatform?: ComputePlatform | string; /** - *

                    The target Amazon ECS services in the deployment group. This applies only to - * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service - * is specified as an Amazon ECS cluster and service name pair using the format - * :.

                    + *

                    The deployment group name.

                    */ - ecsServices?: ECSService[]; + deploymentGroupName?: string; /** - *

                    Information about the automatic rollback configuration associated with the deployment - * group.

                    + *

                    The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances + * with any of the specified tags.

                    */ - autoRollbackConfiguration?: AutoRollbackConfiguration; + ec2TagFilters?: EC2TagFilter[]; /** - *

                    Information about blue/green deployment options for a deployment group.

                    + *

                    A list of alarms associated with the deployment group.

                    */ - blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration; + alarmConfiguration?: AlarmConfiguration; /** - *

                    The deployment configuration name.

                    + *

                    Information about the automatic rollback configuration associated with the deployment + * group.

                    */ - deploymentConfigName?: string; + autoRollbackConfiguration?: AutoRollbackConfiguration; /** - *

                    Information about the deployment group's target revision, including type and - * location.

                    + *

                    Information about the most recent attempted deployment to the deployment group.

                    */ - targetRevision?: RevisionLocation; + lastAttemptedDeployment?: LastDeploymentInfo; /** - *

                    A list of alarms associated with the deployment group.

                    + *

                    A list of associated Auto Scaling groups.

                    */ - alarmConfiguration?: AlarmConfiguration; + autoScalingGroups?: AutoScalingGroup[]; /** - *

                    Information about the load balancer to use in a deployment.

                    + *

                    Information about groups of tags applied to an on-premises instance. The deployment + * group includes only on-premises instances identified by all the tag groups. Cannot be + * used in the same call as onPremisesInstanceTagFilters.

                    */ - loadBalancerInfo?: LoadBalancerInfo; + onPremisesTagSet?: OnPremisesTagSet; /** - *

                    The deployment group ID.

                    + *

                    Information about triggers associated with the deployment group.

                    */ - deploymentGroupId?: string; + triggerConfigurations?: TriggerConfig[]; /** - *

                    The destination platform type for the deployment (Lambda, Server, or ECS).

                    + *

                    Information about the most recent successful deployment to the deployment + * group.

                    */ - computePlatform?: ComputePlatform | string; + lastSuccessfulDeployment?: LastDeploymentInfo; /** - *

                    A list of associated Auto Scaling groups.

                    + *

                    Information about the deployment group's target revision, including type and + * location.

                    */ - autoScalingGroups?: AutoScalingGroup[]; + targetRevision?: RevisionLocation; /** - *

                    Information about the most recent successful deployment to the deployment - * group.

                    + *

                    A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. + * For more information, see Create a Service Role for AWS CodeDeploy in + * the AWS CodeDeploy User Guide.

                    */ - lastSuccessfulDeployment?: LastDeploymentInfo; + serviceRoleArn?: string; /** - *

                    The deployment group name.

                    + *

                    Information about blue/green deployment options for a deployment group.

                    */ - deploymentGroupName?: string; + blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration; /** - *

                    Information about groups of tags applied to an on-premises instance. The deployment - * group includes only on-premises instances identified by all the tag groups. Cannot be - * used in the same call as onPremisesInstanceTagFilters.

                    + *

                    The target Amazon ECS services in the deployment group. This applies only to + * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service + * is specified as an Amazon ECS cluster and service name pair using the format + * :.

                    */ - onPremisesTagSet?: OnPremisesTagSet; + ecsServices?: ECSService[]; /** - *

                    The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances - * with any of the specified tags.

                    + *

                    The application name.

                    */ - ec2TagFilters?: EC2TagFilter[]; + applicationName?: string; /** - *

                    Information about the most recent attempted deployment to the deployment group.

                    + *

                    The on-premises instance tags on which to filter. The deployment group includes + * on-premises instances with any of the specified tags.

                    */ - lastAttemptedDeployment?: LastDeploymentInfo; + onPremisesInstanceTagFilters?: TagFilter[]; } export namespace DeploymentGroupInfo { @@ -1651,14 +1651,14 @@ export namespace InvalidDeploymentGroupNameException { */ export interface BatchGetDeploymentInstancesInput { /** - *

                    The unique IDs of instances used in the deployment. The maximum number of instance IDs you can specify is 25.

                    + *

                    The unique ID of a deployment.

                    */ - instanceIds: string[] | undefined; + deploymentId: string | undefined; /** - *

                    The unique ID of a deployment.

                    + *

                    The unique IDs of instances used in the deployment. The maximum number of instance IDs you can specify is 25.

                    */ - deploymentId: string | undefined; + instanceIds: string[] | undefined; } export namespace BatchGetDeploymentInstancesInput { @@ -1685,17 +1685,6 @@ export enum LifecycleErrorCode { *

                    Diagnostic information about executable scripts that are part of a deployment.

                    */ export interface Diagnostics { - /** - *

                    The last portion of the diagnostic log.

                    - *

                    If available, AWS CodeDeploy returns up to the last 4 KB of the diagnostic log.

                    - */ - logTail?: string; - - /** - *

                    The name of the script.

                    - */ - scriptName?: string; - /** *

                    The associated error code:

                    *
                      @@ -1728,6 +1717,17 @@ export interface Diagnostics { *

                      The message associated with the error.

                      */ message?: string; + + /** + *

                      The last portion of the diagnostic log.

                      + *

                      If available, AWS CodeDeploy returns up to the last 4 KB of the diagnostic log.

                      + */ + logTail?: string; + + /** + *

                      The name of the script.

                      + */ + scriptName?: string; } export namespace Diagnostics { @@ -1754,6 +1754,13 @@ export interface LifecycleEvent { */ startTime?: Date; + /** + *

                      The deployment lifecycle event name, such as ApplicationStop, + * BeforeInstall, AfterInstall, + * ApplicationStart, or ValidateService.

                      + */ + lifecycleEventName?: string; + /** *

                      The deployment lifecycle event status:

                      *
                        @@ -1779,13 +1786,6 @@ export interface LifecycleEvent { */ status?: LifecycleEventStatus | string; - /** - *

                        The deployment lifecycle event name, such as ApplicationStop, - * BeforeInstall, AfterInstall, - * ApplicationStart, or ValidateService.

                        - */ - lifecycleEventName?: string; - /** *

                        A timestamp that indicates when the deployment lifecycle event ended.

                        */ @@ -1817,40 +1817,6 @@ export enum InstanceStatus { *

                        Information about an instance in a deployment.

                        */ export interface InstanceSummary { - /** - *

                        The unique ID of a deployment.

                        - */ - deploymentId?: string; - - /** - *

                        The instance ID.

                        - */ - instanceId?: string; - - /** - *

                        A timestamp that indicates when the instance information was last updated.

                        - */ - lastUpdatedAt?: Date; - - /** - *

                        Information about which environment an instance belongs to in a blue/green - * deployment.

                        - *
                          - *
                        • - *

                          BLUE: The instance is part of the original environment.

                          - *
                        • - *
                        • - *

                          GREEN: The instance is part of the replacement environment.

                          - *
                        • - *
                        - */ - instanceType?: _InstanceType | string; - - /** - *

                        A list of lifecycle events for this instance.

                        - */ - lifecycleEvents?: LifecycleEvent[]; - /** *

                        The deployment status for this instance:

                        *
                          @@ -1884,20 +1850,54 @@ export interface InstanceSummary { *
                        */ status?: InstanceStatus | string; -} - -export namespace InstanceSummary { - export const filterSensitiveLog = (obj: InstanceSummary): any => ({ - ...obj, - }); -} -/** - *

                        Represents the output of a BatchGetDeploymentInstances operation.

                        - */ -export interface BatchGetDeploymentInstancesOutput { /** - *

                        Information about the instance.

                        + *

                        A list of lifecycle events for this instance.

                        + */ + lifecycleEvents?: LifecycleEvent[]; + + /** + *

                        The unique ID of a deployment.

                        + */ + deploymentId?: string; + + /** + *

                        Information about which environment an instance belongs to in a blue/green + * deployment.

                        + *
                          + *
                        • + *

                          BLUE: The instance is part of the original environment.

                          + *
                        • + *
                        • + *

                          GREEN: The instance is part of the replacement environment.

                          + *
                        • + *
                        + */ + instanceType?: _InstanceType | string; + + /** + *

                        The instance ID.

                        + */ + instanceId?: string; + + /** + *

                        A timestamp that indicates when the instance information was last updated.

                        + */ + lastUpdatedAt?: Date; +} + +export namespace InstanceSummary { + export const filterSensitiveLog = (obj: InstanceSummary): any => ({ + ...obj, + }); +} + +/** + *

                        Represents the output of a BatchGetDeploymentInstances operation.

                        + */ +export interface BatchGetDeploymentInstancesOutput { + /** + *

                        Information about the instance.

                        */ instancesSummary?: InstanceSummary[]; @@ -2039,11 +2039,6 @@ export interface DeploymentOverview { */ Succeeded?: number; - /** - *

                        The number of instances in the deployment in a pending state.

                        - */ - Pending?: number; - /** *

                        The number of instances in a replacement environment ready to receive traffic in a * blue/green deployment.

                        @@ -2051,14 +2046,19 @@ export interface DeploymentOverview { Ready?: number; /** - *

                        The number of instances in the deployment in a skipped state.

                        + *

                        The number of instances in the deployment in a failed state.

                        */ - Skipped?: number; + Failed?: number; /** - *

                        The number of instances in the deployment in a failed state.

                        + *

                        The number of instances in the deployment in a pending state.

                        */ - Failed?: number; + Pending?: number; + + /** + *

                        The number of instances in the deployment in a skipped state.

                        + */ + Skipped?: number; /** *

                        The number of instances in which the deployment is in progress.

                        @@ -2196,15 +2196,15 @@ export enum FileExistsBehavior { */ export interface RollbackInfo { /** - *

                        The deployment ID of the deployment that was underway and triggered a rollback - * deployment because it failed or was stopped.

                        + *

                        The ID of the deployment rollback.

                        */ - rollbackTriggeringDeploymentId?: string; + rollbackDeploymentId?: string; /** - *

                        The ID of the deployment rollback.

                        + *

                        The deployment ID of the deployment that was underway and triggered a rollback + * deployment because it failed or was stopped.

                        */ - rollbackDeploymentId?: string; + rollbackTriggeringDeploymentId?: string; /** *

                        Information that describes the status of a deployment rollback (for example, whether @@ -2256,25 +2256,36 @@ export namespace TargetInstances { */ export interface DeploymentInfo { /** - *

                        Information about any error associated with this deployment.

                        + *

                        The deployment configuration name.

                        */ - errorInformation?: ErrorInformation; + deploymentConfigName?: string; /** - *

                        Information about blue/green deployment options for this deployment.

                        + *

                        A summary of the deployment status of the instances in the deployment.

                        */ - blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration; + deploymentOverview?: DeploymentOverview; /** - *

                        Messages that contain information about the status of a deployment.

                        + *

                        The deployment group name.

                        */ - deploymentStatusMessages?: string[]; + deploymentGroupName?: string; /** - *

                        Information about the automatic rollback configuration associated with the - * deployment.

                        + *

                        A comment about the deployment.

                        */ - autoRollbackConfiguration?: AutoRollbackConfiguration; + description?: string; + + /** + *

                        Indicates whether the wait period set for the termination of instances in the original + * environment has started. Status is 'false' if the KEEP_ALIVE option is specified. + * Otherwise, 'true' as soon as the termination wait period starts.

                        + */ + instanceTerminationWaitTimeStarted?: boolean; + + /** + *

                        Information about a deployment rollback.

                        + */ + rollbackInfo?: RollbackInfo; /** *

                        A timestamp that indicates when the deployment was created.

                        @@ -2282,9 +2293,48 @@ export interface DeploymentInfo { createTime?: Date; /** - *

                        The application name.

                        + *

                        Information about how AWS CodeDeploy handles files that already exist in a deployment + * target location but weren't part of the previous successful deployment.

                        + *
                          + *
                        • + *

                          + * DISALLOW: The deployment fails. This is also the default behavior + * if no option is specified.

                          + *
                        • + *
                        • + *

                          + * OVERWRITE: The version of the file from the application revision + * currently being deployed replaces the version already on the instance.

                          + *
                        • + *
                        • + *

                          + * RETAIN: The version of the file already on the instance is kept + * and used as part of the new deployment.

                          + *
                        • + *
                        */ - applicationName?: string; + fileExistsBehavior?: FileExistsBehavior | string; + + /** + *

                        Information about blue/green deployment options for this deployment.

                        + */ + blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration; + + /** + *

                        The current state of the deployment as a whole.

                        + */ + status?: DeploymentStatus | string; + + /** + *

                        Information about the automatic rollback configuration associated with the + * deployment.

                        + */ + autoRollbackConfiguration?: AutoRollbackConfiguration; + + /** + *

                        Messages that contain information about the status of a deployment.

                        + */ + deploymentStatusMessages?: string[]; /** *

                        Provides information about the results of a deployment, such as whether instances in @@ -2323,44 +2373,36 @@ export interface DeploymentInfo { ignoreApplicationStopFailures?: boolean; /** - *

                        The deployment group name.

                        + *

                        Information about the application revision that was deployed to the deployment group + * before the most recent successful deployment.

                        */ - deploymentGroupName?: string; + previousRevision?: RevisionLocation; /** - *

                        Information about how AWS CodeDeploy handles files that already exist in a deployment - * target location but weren't part of the previous successful deployment.

                        + *

                        The means by which the deployment was created:

                        *
                          *
                        • *

                          - * DISALLOW: The deployment fails. This is also the default behavior - * if no option is specified.

                          + * user: A user created the deployment.

                          *
                        • *
                        • *

                          - * OVERWRITE: The version of the file from the application revision - * currently being deployed replaces the version already on the instance.

                          + * autoscaling: Amazon EC2 Auto Scaling created the + * deployment.

                          *
                        • *
                        • *

                          - * RETAIN: The version of the file already on the instance is kept - * and used as part of the new deployment.

                          + * codeDeployRollback: A rollback process created the + * deployment.

                          *
                        • *
                        */ - fileExistsBehavior?: FileExistsBehavior | string; - - /** - *

                        The unique ID of a deployment.

                        - */ - deploymentId?: string; + creator?: DeploymentCreator | string; /** - *

                        Indicates whether the wait period set for the termination of instances in the original - * environment has started. Status is 'false' if the KEEP_ALIVE option is specified. - * Otherwise, 'true' as soon as the termination wait period starts.

                        + *

                        Information about the load balancer used in the deployment.

                        */ - instanceTerminationWaitTimeStarted?: boolean; + loadBalancerInfo?: LoadBalancerInfo; /** *

                        Information about the location of stored application artifacts and the service from @@ -2369,104 +2411,62 @@ export interface DeploymentInfo { revision?: RevisionLocation; /** - *

                        Indicates whether only instances that are not running the latest application revision - * are to be deployed to.

                        - */ - updateOutdatedInstancesOnly?: boolean; - - /** - *

                        Information about a deployment rollback.

                        - */ - rollbackInfo?: RollbackInfo; - - /** - *

                        Information about the type of deployment, either in-place or blue/green, you want to - * run and whether to route deployment traffic behind a load balancer.

                        - */ - deploymentStyle?: DeploymentStyle; - - /** - *

                        A timestamp that indicates when the deployment was deployed to the deployment - * group.

                        - *

                        In some cases, the reported value of the start time might be later than the complete - * time. This is due to differences in the clock settings of backend servers that - * participate in the deployment process.

                        - */ - startTime?: Date; - - /** - *

                        Information about the instances that belong to the replacement environment in a - * blue/green deployment.

                        - */ - targetInstances?: TargetInstances; - - /** - *

                        The current state of the deployment as a whole.

                        + *

                        The unique ID of a deployment.

                        */ - status?: DeploymentStatus | string; + deploymentId?: string; /** - *

                        Information about the application revision that was deployed to the deployment group - * before the most recent successful deployment.

                        + *

                        Indicates whether only instances that are not running the latest application revision + * are to be deployed to.

                        */ - previousRevision?: RevisionLocation; + updateOutdatedInstancesOnly?: boolean; /** - *

                        A summary of the deployment status of the instances in the deployment.

                        + *

                        The destination platform type for the deployment (Lambda, Server, or ECS).

                        */ - deploymentOverview?: DeploymentOverview; + computePlatform?: ComputePlatform | string; /** - *

                        The destination platform type for the deployment (Lambda, Server, or ECS).

                        + *

                        Information about any error associated with this deployment.

                        */ - computePlatform?: ComputePlatform | string; + errorInformation?: ErrorInformation; /** - *

                        The means by which the deployment was created:

                        - *
                          - *
                        • - *

                          - * user: A user created the deployment.

                          - *
                        • - *
                        • - *

                          - * autoscaling: Amazon EC2 Auto Scaling created the - * deployment.

                          - *
                        • - *
                        • - *

                          - * codeDeployRollback: A rollback process created the - * deployment.

                          - *
                        • - *
                        + *

                        The unique ID for an external resource (for example, a CloudFormation stack ID) that + * is linked to this deployment.

                        */ - creator?: DeploymentCreator | string; + externalId?: string; /** - *

                        The deployment configuration name.

                        + *

                        A timestamp that indicates when the deployment was complete.

                        */ - deploymentConfigName?: string; + completeTime?: Date; /** - *

                        Information about the load balancer used in the deployment.

                        + *

                        Information about the type of deployment, either in-place or blue/green, you want to + * run and whether to route deployment traffic behind a load balancer.

                        */ - loadBalancerInfo?: LoadBalancerInfo; + deploymentStyle?: DeploymentStyle; /** - *

                        The unique ID for an external resource (for example, a CloudFormation stack ID) that - * is linked to this deployment.

                        + *

                        The application name.

                        */ - externalId?: string; + applicationName?: string; /** - *

                        A timestamp that indicates when the deployment was complete.

                        + *

                        A timestamp that indicates when the deployment was deployed to the deployment + * group.

                        + *

                        In some cases, the reported value of the start time might be later than the complete + * time. This is due to differences in the clock settings of backend servers that + * participate in the deployment process.

                        */ - completeTime?: Date; + startTime?: Date; /** - *

                        A comment about the deployment.

                        + *

                        Information about the instances that belong to the replacement environment in a + * blue/green deployment.

                        */ - description?: string; + targetInstances?: TargetInstances; } export namespace DeploymentInfo { @@ -2550,16 +2550,15 @@ export enum TargetStatus { */ export interface CloudFormationTarget { /** - *

                        The percentage of production traffic that the target version of an AWS CloudFormation - * blue/green deployment receives.

                        + *

                        The lifecycle events of the AWS CloudFormation blue/green deployment to this target + * application.

                        */ - targetVersionWeight?: number; + lifecycleEvents?: LifecycleEvent[]; /** - *

                        The unique ID of a deployment target that has a type - * of CloudFormationTarget.

                        + *

                        The status of an AWS CloudFormation blue/green deployment's target application.

                        */ - targetId?: string; + status?: TargetStatus | string; /** *

                        The resource type for the AWS CloudFormation blue/green deployment.

                        @@ -2567,15 +2566,10 @@ export interface CloudFormationTarget { resourceType?: string; /** - *

                        The status of an AWS CloudFormation blue/green deployment's target application.

                        - */ - status?: TargetStatus | string; - - /** - *

                        The lifecycle events of the AWS CloudFormation blue/green deployment to this target - * application.

                        + *

                        The unique ID of a deployment target that has a type + * of CloudFormationTarget.

                        */ - lifecycleEvents?: LifecycleEvent[]; + targetId?: string; /** *

                        The date and time when the target application was updated by an AWS CloudFormation @@ -2583,6 +2577,12 @@ export interface CloudFormationTarget { */ lastUpdatedAt?: Date; + /** + *

                        The percentage of production traffic that the target version of an AWS CloudFormation + * blue/green deployment receives.

                        + */ + targetVersionWeight?: number; + /** *

                        The unique ID of an AWS CloudFormation blue/green deployment.

                        */ @@ -2616,16 +2616,21 @@ export enum TargetLabel { */ export interface ECSTaskSet { /** - *

                        A unique ID of an ECSTaskSet.

                        + *

                        The percentage of traffic served by this task set.

                        */ - identifer?: string; + trafficWeight?: number; /** - *

                        The number of tasks in the task set that are in the RUNNING status - * during an Amazon ECS deployment. A task in the RUNNING state is running and - * ready for use.

                        + *

                        A label that identifies whether the ECS task set is an original target + * (BLUE) or a replacement target (GREEN).

                        */ - runningCount?: number; + taskSetLabel?: TargetLabel | string; + + /** + *

                        The target group associated with the task set. The target group is used by AWS + * CodeDeploy to manage traffic to a task set.

                        + */ + targetGroup?: TargetGroupInfo; /** *

                        The status of the task set. There are three valid task set statuses:

                        @@ -2648,29 +2653,16 @@ export interface ECSTaskSet { status?: string; /** - *

                        The number of tasks in a task set. During a deployment that uses the Amazon ECS - * compute type, CodeDeploy instructs Amazon ECS to create a new task set and uses this - * value to determine how many tasks to create. After the updated task set is created, - * CodeDeploy shifts traffic to the new task set.

                        - */ - desiredCount?: number; - - /** - *

                        The percentage of traffic served by this task set.

                        - */ - trafficWeight?: number; - - /** - *

                        The target group associated with the task set. The target group is used by AWS - * CodeDeploy to manage traffic to a task set.

                        + *

                        A unique ID of an ECSTaskSet.

                        */ - targetGroup?: TargetGroupInfo; + identifer?: string; /** - *

                        A label that identifies whether the ECS task set is an original target - * (BLUE) or a replacement target (GREEN).

                        + *

                        The number of tasks in the task set that are in the RUNNING status + * during an Amazon ECS deployment. A task in the RUNNING state is running and + * ready for use.

                        */ - taskSetLabel?: TargetLabel | string; + runningCount?: number; /** *

                        The number of tasks in the task set that are in the PENDING status @@ -2680,6 +2672,14 @@ export interface ECSTaskSet { * STOPPED state.

                        */ pendingCount?: number; + + /** + *

                        The number of tasks in a task set. During a deployment that uses the Amazon ECS + * compute type, CodeDeploy instructs Amazon ECS to create a new task set and uses this + * value to determine how many tasks to create. After the updated task set is created, + * CodeDeploy shifts traffic to the new task set.

                        + */ + desiredCount?: number; } export namespace ECSTaskSet { @@ -2693,14 +2693,14 @@ export namespace ECSTaskSet { */ export interface ECSTarget { /** - *

                        The status an Amazon ECS deployment's target ECS application.

                        + *

                        The lifecycle events of the deployment to this target Amazon ECS application.

                        */ - status?: TargetStatus | string; + lifecycleEvents?: LifecycleEvent[]; /** - *

                        The ECSTaskSet objects associated with the ECS target.

                        + *

                        The status an Amazon ECS deployment's target ECS application.

                        */ - taskSetsInfo?: ECSTaskSet[]; + status?: TargetStatus | string; /** *

                        The unique ID of a deployment target that has a type of ecsTarget. @@ -2709,9 +2709,9 @@ export interface ECSTarget { targetId?: string; /** - *

                        The Amazon Resource Name (ARN) of the target.

                        + *

                        The ECSTaskSet objects associated with the ECS target.

                        */ - targetArn?: string; + taskSetsInfo?: ECSTaskSet[]; /** *

                        The date and time when the target Amazon ECS application was updated by a deployment. @@ -2720,14 +2720,14 @@ export interface ECSTarget { lastUpdatedAt?: Date; /** - *

                        The unique ID of a deployment.

                        + *

                        The Amazon Resource Name (ARN) of the target.

                        */ - deploymentId?: string; + targetArn?: string; /** - *

                        The lifecycle events of the deployment to this target Amazon ECS application.

                        + *

                        The unique ID of a deployment.

                        */ - lifecycleEvents?: LifecycleEvent[]; + deploymentId?: string; } export namespace ECSTarget { @@ -2742,15 +2742,14 @@ export namespace ECSTarget { */ export interface InstanceTarget { /** - *

                        A label that identifies whether the instance is an original target - * (BLUE) or a replacement target (GREEN).

                        + *

                        The Amazon Resource Name (ARN) of the target.

                        */ - instanceLabel?: TargetLabel | string; + targetArn?: string; /** - *

                        The lifecycle events of the deployment to this target instance.

                        + *

                        The unique ID of a deployment.

                        */ - lifecycleEvents?: LifecycleEvent[]; + deploymentId?: string; /** *

                        The date and time when the target instance was updated by a deployment.

                        @@ -2758,9 +2757,9 @@ export interface InstanceTarget { lastUpdatedAt?: Date; /** - *

                        The unique ID of a deployment.

                        + *

                        The lifecycle events of the deployment to this target instance.

                        */ - deploymentId?: string; + lifecycleEvents?: LifecycleEvent[]; /** *

                        The unique ID of a deployment target that has a type of instanceTarget. @@ -2769,14 +2768,15 @@ export interface InstanceTarget { targetId?: string; /** - *

                        The Amazon Resource Name (ARN) of the target.

                        + *

                        The status an EC2/On-premises deployment's target instance.

                        */ - targetArn?: string; + status?: TargetStatus | string; /** - *

                        The status an EC2/On-premises deployment's target instance.

                        + *

                        A label that identifies whether the instance is an original target + * (BLUE) or a replacement target (GREEN).

                        */ - status?: TargetStatus | string; + instanceLabel?: TargetLabel | string; } export namespace InstanceTarget { @@ -2791,13 +2791,6 @@ export namespace InstanceTarget { *

                        */ export interface LambdaFunctionInfo { - /** - *

                        - * The version of a Lambda function that production traffic points to. - *

                        - */ - currentVersion?: string; - /** *

                        * The version of a Lambda function that production traffic points to after the Lambda function is deployed. @@ -2807,10 +2800,10 @@ export interface LambdaFunctionInfo { /** *

                        - * The name of a Lambda function. + * The version of a Lambda function that production traffic points to. *

                        */ - functionName?: string; + currentVersion?: string; /** *

                        The alias of a Lambda function. For more information, see AWS Lambda Function Aliases in the @@ -2824,6 +2817,13 @@ export interface LambdaFunctionInfo { *

                        */ targetVersionWeight?: number; + + /** + *

                        + * The name of a Lambda function. + *

                        + */ + functionName?: string; } export namespace LambdaFunctionInfo { @@ -2838,16 +2838,14 @@ export namespace LambdaFunctionInfo { */ export interface LambdaTarget { /** - *

                        The status an AWS Lambda deployment's target Lambda function.

                        + *

                        The lifecycle events of the deployment to this target Lambda function.

                        */ - status?: TargetStatus | string; + lifecycleEvents?: LifecycleEvent[]; /** - *

                        - * A LambdaFunctionInfo object that describes a target Lambda function. - *

                        + *

                        The status an AWS Lambda deployment's target Lambda function.

                        */ - lambdaFunctionInfo?: LambdaFunctionInfo; + status?: TargetStatus | string; /** *

                        The Amazon Resource Name (ARN) of the target.

                        @@ -2855,14 +2853,10 @@ export interface LambdaTarget { targetArn?: string; /** - *

                        The unique ID of a deployment.

                        - */ - deploymentId?: string; - - /** - *

                        The lifecycle events of the deployment to this target Lambda function.

                        + *

                        The unique ID of a deployment target that has a type of lambdaTarget. + *

                        */ - lifecycleEvents?: LifecycleEvent[]; + targetId?: string; /** *

                        The date and time when the target Lambda function was updated by a deployment. @@ -2871,10 +2865,16 @@ export interface LambdaTarget { lastUpdatedAt?: Date; /** - *

                        The unique ID of a deployment target that has a type of lambdaTarget. + *

                        + * A LambdaFunctionInfo object that describes a target Lambda function. *

                        */ - targetId?: string; + lambdaFunctionInfo?: LambdaFunctionInfo; + + /** + *

                        The unique ID of a deployment.

                        + */ + deploymentId?: string; } export namespace LambdaTarget { @@ -2887,23 +2887,16 @@ export namespace LambdaTarget { *

                        Information about the deployment target.

                        */ export interface DeploymentTarget { - /** - *

                        Information about the target for a deployment that uses the EC2/On-premises compute - * platform.

                        - */ - instanceTarget?: InstanceTarget; - /** *

                        The deployment type that is specific to the deployment's compute platform or deployments initiated by a CloudFormation stack update.

                        */ deploymentTargetType?: DeploymentTargetType | string; /** - *

                        Information about the target to be updated by an AWS CloudFormation blue/green - * deployment. This target type is used for all deployments initiated by a CloudFormation - * stack update.

                        + *

                        Information about the target for a deployment that uses the Amazon ECS compute + * platform.

                        */ - cloudFormationTarget?: CloudFormationTarget; + ecsTarget?: ECSTarget; /** *

                        Information about the target for a deployment that uses the AWS Lambda compute @@ -2912,10 +2905,17 @@ export interface DeploymentTarget { lambdaTarget?: LambdaTarget; /** - *

                        Information about the target for a deployment that uses the Amazon ECS compute + *

                        Information about the target to be updated by an AWS CloudFormation blue/green + * deployment. This target type is used for all deployments initiated by a CloudFormation + * stack update.

                        + */ + cloudFormationTarget?: CloudFormationTarget; + + /** + *

                        Information about the target for a deployment that uses the EC2/On-premises compute * platform.

                        */ - ecsTarget?: ECSTarget; + instanceTarget?: InstanceTarget; } export namespace DeploymentTarget { @@ -3092,40 +3092,40 @@ export namespace BatchGetOnPremisesInstancesInput { */ export interface InstanceInfo { /** - *

                        The ARN of the IAM session associated with the on-premises instance.

                        + *

                        The name of the on-premises instance.

                        */ - iamSessionArn?: string; + instanceName?: string; /** - *

                        The ARN of the on-premises instance.

                        + *

                        If the on-premises instance was deregistered, the time at which the on-premises + * instance was deregistered.

                        */ - instanceArn?: string; + deregisterTime?: Date; /** - *

                        The tags currently associated with the on-premises instance.

                        + *

                        The IAM user ARN associated with the on-premises instance.

                        */ - tags?: Tag[]; + iamUserArn?: string; /** - *

                        The IAM user ARN associated with the on-premises instance.

                        + *

                        The ARN of the on-premises instance.

                        */ - iamUserArn?: string; + instanceArn?: string; /** - *

                        If the on-premises instance was deregistered, the time at which the on-premises - * instance was deregistered.

                        + *

                        The tags currently associated with the on-premises instance.

                        */ - deregisterTime?: Date; + tags?: Tag[]; /** - *

                        The time at which the on-premises instance was registered.

                        + *

                        The ARN of the IAM session associated with the on-premises instance.

                        */ - registerTime?: Date; + iamSessionArn?: string; /** - *

                        The name of the on-premises instance.

                        + *

                        The time at which the on-premises instance was registered.

                        */ - instanceName?: string; + registerTime?: Date; } export namespace InstanceInfo { @@ -3174,18 +3174,18 @@ export enum DeploymentWaitType { } export interface ContinueDeploymentInput { - /** - *

                        The unique ID of a blue/green deployment for which you want to start rerouting - * traffic to the replacement environment.

                        - */ - deploymentId?: string; - /** *

                        The status of the deployment's waiting period. READY_WAIT indicates that * the deployment is ready to start shifting traffic. TERMINATION_WAIT * indicates that the traffic is shifted, but the original target is not terminated.

                        */ deploymentWaitType?: DeploymentWaitType | string; + + /** + *

                        The unique ID of a blue/green deployment for which you want to start rerouting + * traffic to the replacement environment.

                        + */ + deploymentId?: string; } export namespace ContinueDeploymentInput { @@ -3356,18 +3356,15 @@ export namespace InvalidTagsToAddException { */ export interface CreateDeploymentInput { /** - *

                        The name of a deployment configuration associated with the IAM user or AWS - * account.

                        - *

                        If not specified, the value configured in the deployment group is used as the default. - * If the deployment group does not have a deployment configuration associated with it, - * CodeDeployDefault.OneAtATime is used by default.

                        + *

                        Information about the instances that belong to the replacement environment in a + * blue/green deployment.

                        */ - deploymentConfigName?: string; + targetInstances?: TargetInstances; /** - *

                        A comment about the deployment.

                        + *

                        The name of the deployment group.

                        */ - description?: string; + deploymentGroupName?: string; /** *

                        Information about how AWS CodeDeploy handles files that already exist in a deployment @@ -3392,10 +3389,19 @@ export interface CreateDeploymentInput { fileExistsBehavior?: FileExistsBehavior | string; /** - *

                        Information about the instances that belong to the replacement environment in a - * blue/green deployment.

                        + *

                        The name of a deployment configuration associated with the IAM user or AWS + * account.

                        + *

                        If not specified, the value configured in the deployment group is used as the default. + * If the deployment group does not have a deployment configuration associated with it, + * CodeDeployDefault.OneAtATime is used by default.

                        */ - targetInstances?: TargetInstances; + deploymentConfigName?: string; + + /** + *

                        Indicates whether to deploy to all instances or only to instances that are not + * running the latest application revision.

                        + */ + updateOutdatedInstancesOnly?: boolean; /** *

                        If true, then if an ApplicationStop, BeforeBlockTraffic, or @@ -3428,21 +3434,15 @@ export interface CreateDeploymentInput { ignoreApplicationStopFailures?: boolean; /** - *

                        Indicates whether to deploy to all instances or only to instances that are not - * running the latest application revision.

                        - */ - updateOutdatedInstancesOnly?: boolean; - - /** - *

                        The name of the deployment group.

                        + *

                        Configuration information for an automatic rollback that is added when a deployment is + * created.

                        */ - deploymentGroupName?: string; + autoRollbackConfiguration?: AutoRollbackConfiguration; /** - *

                        The name of an AWS CodeDeploy application associated with the IAM user or AWS - * account.

                        + *

                        A comment about the deployment.

                        */ - applicationName: string | undefined; + description?: string; /** *

                        The type and location of the revision to deploy.

                        @@ -3450,10 +3450,10 @@ export interface CreateDeploymentInput { revision?: RevisionLocation; /** - *

                        Configuration information for an automatic rollback that is added when a deployment is - * created.

                        + *

                        The name of an AWS CodeDeploy application associated with the IAM user or AWS + * account.

                        */ - autoRollbackConfiguration?: AutoRollbackConfiguration; + applicationName: string | undefined; } export namespace CreateDeploymentInput { @@ -3880,16 +3880,16 @@ export namespace TimeBasedCanary { */ export interface TimeBasedLinear { /** - *

                        The percentage of traffic that is shifted at the start of each increment of a + *

                        The number of minutes between each incremental traffic shift of a * TimeBasedLinear deployment.

                        */ - linearPercentage?: number; + linearInterval?: number; /** - *

                        The number of minutes between each incremental traffic shift of a + *

                        The percentage of traffic that is shifted at the start of each increment of a * TimeBasedLinear deployment.

                        */ - linearInterval?: number; + linearPercentage?: number; } export namespace TimeBasedLinear { @@ -3910,12 +3910,6 @@ export enum TrafficRoutingType { * set to another during an Amazon ECS deployment.

                        */ export interface TrafficRoutingConfig { - /** - *

                        The type of traffic shifting (TimeBasedCanary or - * TimeBasedLinear) used by a deployment configuration.

                        - */ - type?: TrafficRoutingType | string; - /** *

                        A configuration that shifts traffic from one version of a Lambda function or ECS task set to another * in equal increments, with an equal number of minutes between each increment. The @@ -3930,6 +3924,12 @@ export interface TrafficRoutingConfig { * deployment's AppSpec file.

                        */ timeBasedCanary?: TimeBasedCanary; + + /** + *

                        The type of traffic shifting (TimeBasedCanary or + * TimeBasedLinear) used by a deployment configuration.

                        + */ + type?: TrafficRoutingType | string; } export namespace TrafficRoutingConfig { @@ -3938,10 +3938,20 @@ export namespace TrafficRoutingConfig { }); } -/** - *

                        Represents the input of a CreateDeploymentConfig operation.

                        - */ -export interface CreateDeploymentConfigInput { +/** + *

                        Represents the input of a CreateDeploymentConfig operation.

                        + */ +export interface CreateDeploymentConfigInput { + /** + *

                        The destination platform type for the deployment (Lambda, Server, or ECS).

                        + */ + computePlatform?: ComputePlatform | string; + + /** + *

                        The configuration that specifies how the deployment traffic is routed.

                        + */ + trafficRoutingConfig?: TrafficRoutingConfig; + /** *

                        The name of the deployment configuration to create.

                        */ @@ -3969,16 +3979,6 @@ export interface CreateDeploymentConfigInput { * and a value of 95.

                        */ minimumHealthyHosts?: MinimumHealthyHosts; - - /** - *

                        The configuration that specifies how the deployment traffic is routed.

                        - */ - trafficRoutingConfig?: TrafficRoutingConfig; - - /** - *

                        The destination platform type for the deployment (Lambda, Server, or ECS).

                        - */ - computePlatform?: ComputePlatform | string; } export namespace CreateDeploymentConfigInput { @@ -4081,59 +4081,57 @@ export namespace InvalidMinimumHealthyHostValueException { */ export interface CreateDeploymentGroupInput { /** - *

                        The on-premises instance tags on which to filter. The deployment group includes - * on-premises instances with any of the specified tags. Cannot be used in the same call as - * OnPremisesTagSet.

                        + *

                        Information to add about Amazon CloudWatch alarms when the deployment group is + * created.

                        */ - onPremisesInstanceTagFilters?: TagFilter[]; + alarmConfiguration?: AlarmConfiguration; /** - *

                        Information about the type of deployment, in-place or blue/green, that you want to run - * and whether to route deployment traffic behind a load balancer.

                        + *

                        Information about the load balancer used in a deployment.

                        */ - deploymentStyle?: DeploymentStyle; + loadBalancerInfo?: LoadBalancerInfo; /** - *

                        Information about blue/green deployment options for a deployment group.

                        + *

                        The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances + * with any of the specified tags. Cannot be used in the same call as ec2TagSet.

                        */ - blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration; + ec2TagFilters?: EC2TagFilter[]; /** - *

                        Information about groups of tags applied to on-premises instances. The deployment - * group includes only on-premises instances identified by all of the tag groups. Cannot be - * used in the same call as onPremisesInstanceTagFilters.

                        + *

                        The name of an AWS CodeDeploy application associated with the IAM user or AWS + * account.

                        */ - onPremisesTagSet?: OnPremisesTagSet; + applicationName: string | undefined; /** - *

                        A list of associated Amazon EC2 Auto Scaling groups.

                        + *

                        Information about blue/green deployment options for a deployment group.

                        */ - autoScalingGroups?: string[]; + blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration; /** - *

                        - * The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag - * consists of a key and an optional value, both of which you define. - *

                        + *

                        Information about the type of deployment, in-place or blue/green, that you want to run + * and whether to route deployment traffic behind a load balancer.

                        */ - tags?: Tag[]; + deploymentStyle?: DeploymentStyle; /** - *

                        Information to add about Amazon CloudWatch alarms when the deployment group is - * created.

                        + *

                        The name of a new deployment group for the specified application.

                        */ - alarmConfiguration?: AlarmConfiguration; + deploymentGroupName: string | undefined; /** - *

                        The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances - * with any of the specified tags. Cannot be used in the same call as ec2TagSet.

                        + *

                        A service role Amazon Resource Name (ARN) that allows AWS CodeDeploy to act on the + * user's behalf when interacting with AWS services.

                        */ - ec2TagFilters?: EC2TagFilter[]; + serviceRoleArn: string | undefined; /** - *

                        Information about the load balancer used in a deployment.

                        + *

                        Information about triggers to create when the deployment group is created. For + * examples, see Create a Trigger for an + * AWS CodeDeploy Event in the AWS CodeDeploy User + * Guide.

                        */ - loadBalancerInfo?: LoadBalancerInfo; + triggerConfigurations?: TriggerConfig[]; /** *

                        If specified, the deployment configuration name can be either one of the predefined @@ -4151,17 +4149,16 @@ export interface CreateDeploymentGroupInput { deploymentConfigName?: string; /** - *

                        The name of a new deployment group for the specified application.

                        + *

                        Information about groups of tags applied to EC2 instances. The deployment group + * includes only EC2 instances identified by all the tag groups. Cannot be used in the same + * call as ec2TagFilters.

                        */ - deploymentGroupName: string | undefined; + ec2TagSet?: EC2TagSet; /** - *

                        Information about triggers to create when the deployment group is created. For - * examples, see Create a Trigger for an - * AWS CodeDeploy Event in the AWS CodeDeploy User - * Guide.

                        + *

                        A list of associated Amazon EC2 Auto Scaling groups.

                        */ - triggerConfigurations?: TriggerConfig[]; + autoScalingGroups?: string[]; /** *

                        The target Amazon ECS services in the deployment group. This applies only to @@ -4172,29 +4169,32 @@ export interface CreateDeploymentGroupInput { ecsServices?: ECSService[]; /** - *

                        Configuration information for an automatic rollback that is added when a deployment - * group is created.

                        + *

                        Information about groups of tags applied to on-premises instances. The deployment + * group includes only on-premises instances identified by all of the tag groups. Cannot be + * used in the same call as onPremisesInstanceTagFilters.

                        */ - autoRollbackConfiguration?: AutoRollbackConfiguration; + onPremisesTagSet?: OnPremisesTagSet; /** - *

                        A service role Amazon Resource Name (ARN) that allows AWS CodeDeploy to act on the - * user's behalf when interacting with AWS services.

                        + *

                        The on-premises instance tags on which to filter. The deployment group includes + * on-premises instances with any of the specified tags. Cannot be used in the same call as + * OnPremisesTagSet.

                        */ - serviceRoleArn: string | undefined; + onPremisesInstanceTagFilters?: TagFilter[]; /** - *

                        The name of an AWS CodeDeploy application associated with the IAM user or AWS - * account.

                        + *

                        + * The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag + * consists of a key and an optional value, both of which you define. + *

                        */ - applicationName: string | undefined; + tags?: Tag[]; /** - *

                        Information about groups of tags applied to EC2 instances. The deployment group - * includes only EC2 instances identified by all the tag groups. Cannot be used in the same - * call as ec2TagFilters.

                        + *

                        Configuration information for an automatic rollback that is added when a deployment + * group is created.

                        */ - ec2TagSet?: EC2TagSet; + autoRollbackConfiguration?: AutoRollbackConfiguration; } export namespace CreateDeploymentGroupInput { @@ -4624,16 +4624,16 @@ export namespace InvalidOperationException { *

                        Represents the input of a DeleteDeploymentGroup operation.

                        */ export interface DeleteDeploymentGroupInput { - /** - *

                        The name of a deployment group for the specified application.

                        - */ - deploymentGroupName: string | undefined; - /** *

                        The name of an AWS CodeDeploy application associated with the IAM user or AWS * account.

                        */ applicationName: string | undefined; + + /** + *

                        The name of a deployment group for the specified application.

                        + */ + deploymentGroupName: string | undefined; } export namespace DeleteDeploymentGroupInput { @@ -4860,14 +4860,14 @@ export namespace GetApplicationOutput { */ export interface GetApplicationRevisionInput { /** - *

                        The name of the application that corresponds to the revision.

                        + *

                        Information about the application revision to get, including type and location.

                        */ - applicationName: string | undefined; + revision: RevisionLocation | undefined; /** - *

                        Information about the application revision to get, including type and location.

                        + *

                        The name of the application that corresponds to the revision.

                        */ - revision: RevisionLocation | undefined; + applicationName: string | undefined; } export namespace GetApplicationRevisionInput { @@ -4881,9 +4881,9 @@ export namespace GetApplicationRevisionInput { */ export interface GetApplicationRevisionOutput { /** - *

                        General information about the revision.

                        + *

                        The name of the application that corresponds to the revision.

                        */ - revisionInfo?: GenericRevisionInfo; + applicationName?: string; /** *

                        Additional information about the revision, including type and location.

                        @@ -4891,9 +4891,9 @@ export interface GetApplicationRevisionOutput { revision?: RevisionLocation; /** - *

                        The name of the application that corresponds to the revision.

                        + *

                        General information about the revision.

                        */ - applicationName?: string; + revisionInfo?: GenericRevisionInfo; } export namespace GetApplicationRevisionOutput { @@ -4956,14 +4956,9 @@ export namespace GetDeploymentConfigInput { */ export interface DeploymentConfigInfo { /** - *

                        The destination platform type for the deployment (Lambda, Server, or ECS).

                        - */ - computePlatform?: ComputePlatform | string; - - /** - *

                        The time at which the deployment configuration was created.

                        + *

                        The deployment configuration name.

                        */ - createTime?: Date; + deploymentConfigName?: string; /** *

                        Information about the number or percentage of minimum healthy instance.

                        @@ -4977,14 +4972,19 @@ export interface DeploymentConfigInfo { trafficRoutingConfig?: TrafficRoutingConfig; /** - *

                        The deployment configuration name.

                        + *

                        The deployment configuration ID.

                        */ - deploymentConfigName?: string; + deploymentConfigId?: string; /** - *

                        The deployment configuration ID.

                        + *

                        The destination platform type for the deployment (Lambda, Server, or ECS).

                        */ - deploymentConfigId?: string; + computePlatform?: ComputePlatform | string; + + /** + *

                        The time at which the deployment configuration was created.

                        + */ + createTime?: Date; } export namespace DeploymentConfigInfo { @@ -5052,14 +5052,14 @@ export namespace GetDeploymentGroupOutput { */ export interface GetDeploymentInstanceInput { /** - *

                        The unique ID of an instance in the deployment group.

                        + *

                        The unique ID of a deployment.

                        */ - instanceId: string | undefined; + deploymentId: string | undefined; /** - *

                        The unique ID of a deployment.

                        + *

                        The unique ID of an instance in the deployment group.

                        */ - deploymentId: string | undefined; + instanceId: string | undefined; } export namespace GetDeploymentInstanceInput { @@ -5086,14 +5086,14 @@ export namespace GetDeploymentInstanceOutput { export interface GetDeploymentTargetInput { /** - *

                        The unique ID of a deployment target.

                        + *

                        The unique ID of a deployment.

                        */ - targetId?: string; + deploymentId?: string; /** - *

                        The unique ID of a deployment.

                        + *

                        The unique ID of a deployment target.

                        */ - deploymentId?: string; + targetId?: string; } export namespace GetDeploymentTargetInput { @@ -5275,24 +5275,6 @@ export enum SortOrder { *

                        Represents the input of a ListApplicationRevisions operation.

                        */ export interface ListApplicationRevisionsInput { - /** - *

                        An Amazon S3 bucket name to limit the search for revisions.

                        - *

                        If set to null, all of the user's buckets are searched.

                        - */ - s3Bucket?: string; - - /** - *

                        The name of an AWS CodeDeploy application associated with the IAM user or AWS - * account.

                        - */ - applicationName: string | undefined; - - /** - *

                        A key prefix for the set of Amazon S3 objects to limit the search for revisions. - *

                        - */ - s3KeyPrefix?: string; - /** *

                        The column name to use to sort the list results:

                        *
                          @@ -5316,6 +5298,24 @@ export interface ListApplicationRevisionsInput { */ sortBy?: ApplicationRevisionSortBy | string; + /** + *

                          The name of an AWS CodeDeploy application associated with the IAM user or AWS + * account.

                          + */ + applicationName: string | undefined; + + /** + *

                          An Amazon S3 bucket name to limit the search for revisions.

                          + *

                          If set to null, all of the user's buckets are searched.

                          + */ + s3Bucket?: string; + + /** + *

                          An identifier returned from the previous ListApplicationRevisions call. + * It can be used to return the next set of applications in the list.

                          + */ + nextToken?: string; + /** *

                          Whether to list revisions based on whether the revision is the target revision of a * deployment group:

                          @@ -5339,10 +5339,10 @@ export interface ListApplicationRevisionsInput { deployed?: ListStateFilterAction | string; /** - *

                          An identifier returned from the previous ListApplicationRevisions call. - * It can be used to return the next set of applications in the list.

                          + *

                          A key prefix for the set of Amazon S3 objects to limit the search for revisions. + *

                          */ - nextToken?: string; + s3KeyPrefix?: string; /** *

                          The order in which to sort the list results:

                          @@ -5452,18 +5452,18 @@ export namespace ListDeploymentConfigsInput { *

                          Represents the output of a ListDeploymentConfigs operation.

                          */ export interface ListDeploymentConfigsOutput { - /** - *

                          A list of deployment configurations, including built-in configurations such as - * CodeDeployDefault.OneAtATime.

                          - */ - deploymentConfigsList?: string[]; - /** *

                          If a large amount of information is returned, an identifier is also returned. It can * be used in a subsequent list deployment configurations call to return the next set of * deployment configurations in the list.

                          */ nextToken?: string; + + /** + *

                          A list of deployment configurations, including built-in configurations such as + * CodeDeployDefault.OneAtATime.

                          + */ + deploymentConfigsList?: string[]; } export namespace ListDeploymentConfigsOutput { @@ -5504,17 +5504,17 @@ export interface ListDeploymentGroupsOutput { */ applicationName?: string; + /** + *

                          A list of deployment group names.

                          + */ + deploymentGroups?: string[]; + /** *

                          If a large amount of information is returned, an identifier is also returned. It can * be used in a subsequent list deployment groups call to return the next set of deployment * groups in the list.

                          */ nextToken?: string; - - /** - *

                          A list of deployment group names.

                          - */ - deploymentGroups?: string[]; } export namespace ListDeploymentGroupsOutput { @@ -5602,17 +5602,6 @@ export namespace InvalidTargetFilterNameException { *

                          Represents the input of a ListDeploymentInstances operation.

                          */ export interface ListDeploymentInstancesInput { - /** - *

                          The unique ID of a deployment.

                          - */ - deploymentId: string | undefined; - - /** - *

                          An identifier returned from the previous list deployment instances call. It can be - * used to return the next set of deployment instances in the list.

                          - */ - nextToken?: string; - /** *

                          The set of instances in a blue/green deployment, either those in the original * environment ("BLUE") or those in the replacement environment ("GREEN"), for which you @@ -5652,7 +5641,18 @@ export interface ListDeploymentInstancesInput { * *

                        */ - instanceStatusFilter?: (InstanceStatus | string)[]; + instanceStatusFilter?: (InstanceStatus | string)[]; + + /** + *

                        The unique ID of a deployment.

                        + */ + deploymentId: string | undefined; + + /** + *

                        An identifier returned from the previous list deployment instances call. It can be + * used to return the next set of deployment instances in the list.

                        + */ + nextToken?: string; } export namespace ListDeploymentInstancesInput { @@ -5665,17 +5665,17 @@ export namespace ListDeploymentInstancesInput { *

                        Represents the output of a ListDeploymentInstances operation.

                        */ export interface ListDeploymentInstancesOutput { + /** + *

                        A list of instance IDs.

                        + */ + instancesList?: string[]; + /** *

                        If a large amount of information is returned, an identifier is also returned. It can * be used in a subsequent list deployment instances call to return the next set of * deployment instances in the list.

                        */ nextToken?: string; - - /** - *

                        A list of instance IDs.

                        - */ - instancesList?: string[]; } export namespace ListDeploymentInstancesOutput { @@ -5752,15 +5752,21 @@ export namespace TimeRange { */ export interface ListDeploymentsInput { /** - *

                        A time range (start and end) for returning a subset of the list of deployments.

                        + *

                        An identifier returned from the previous list deployments call. It can be used to + * return the next set of deployments in the list.

                        */ - createTimeRange?: TimeRange; + nextToken?: string; /** *

                        The unique ID of an external resource for returning deployments linked to the external resource.

                        */ externalId?: string; + /** + *

                        A time range (start and end) for returning a subset of the list of deployments.

                        + */ + createTimeRange?: TimeRange; + /** *

                        The name of an AWS CodeDeploy application associated with the IAM user or AWS * account.

                        @@ -5773,23 +5779,6 @@ export interface ListDeploymentsInput { */ applicationName?: string; - /** - *

                        An identifier returned from the previous list deployments call. It can be used to - * return the next set of deployments in the list.

                        - */ - nextToken?: string; - - /** - *

                        The name of a deployment group for the specified application.

                        - * - *

                        If deploymentGroupName is specified, then applicationName must - * be specified. If it is not specified, then applicationName must not - * be specified. - *

                        - *
                        - */ - deploymentGroupName?: string; - /** *

                        A subset of deployments to list by status:

                        *
                          @@ -5824,6 +5813,17 @@ export interface ListDeploymentsInput { *
                        */ includeOnlyStatuses?: (DeploymentStatus | string)[]; + + /** + *

                        The name of a deployment group for the specified application.

                        + * + *

                        If deploymentGroupName is specified, then applicationName must + * be specified. If it is not specified, then applicationName must not + * be specified. + *

                        + *
                        + */ + deploymentGroupName?: string; } export namespace ListDeploymentsInput { @@ -5861,6 +5861,11 @@ export enum TargetFilterName { } export interface ListDeploymentTargetsInput { + /** + *

                        The unique ID of a deployment.

                        + */ + deploymentId?: string; + /** *

                        A key used to filter the returned targets. The two valid values are:

                        *
                          @@ -5884,11 +5889,6 @@ export interface ListDeploymentTargetsInput { * call. It can be used to return the next set of deployment targets in the list.

                          */ nextToken?: string; - - /** - *

                          The unique ID of a deployment.

                          - */ - deploymentId?: string; } export namespace ListDeploymentTargetsInput { @@ -6002,18 +6002,6 @@ export enum RegistrationStatus { *

                          Represents the input of a ListOnPremisesInstances operation.

                          */ export interface ListOnPremisesInstancesInput { - /** - *

                          The on-premises instance tags that are used to restrict the on-premises instance - * names returned.

                          - */ - tagFilters?: TagFilter[]; - - /** - *

                          An identifier returned from the previous list on-premises instances call. It can be - * used to return the next set of on-premises instances in the list.

                          - */ - nextToken?: string; - /** *

                          The registration status of the on-premises instances:

                          *
                            @@ -6030,6 +6018,18 @@ export interface ListOnPremisesInstancesInput { *
                          */ registrationStatus?: RegistrationStatus | string; + + /** + *

                          An identifier returned from the previous list on-premises instances call. It can be + * used to return the next set of on-premises instances in the list.

                          + */ + nextToken?: string; + + /** + *

                          The on-premises instance tags that are used to restrict the on-premises instance + * names returned.

                          + */ + tagFilters?: TagFilter[]; } export namespace ListOnPremisesInstancesInput { @@ -6042,17 +6042,17 @@ export namespace ListOnPremisesInstancesInput { *

                          Represents the output of the list on-premises instances operation.

                          */ export interface ListOnPremisesInstancesOutput { + /** + *

                          The list of matching on-premises instance names.

                          + */ + instanceNames?: string[]; + /** *

                          If a large amount of information is returned, an identifier is also returned. It can * be used in a subsequent list on-premises instances call to return the next set of * on-premises instances in the list.

                          */ nextToken?: string; - - /** - *

                          The list of matching on-premises instance names.

                          - */ - instanceNames?: string[]; } export namespace ListOnPremisesInstancesOutput { @@ -6082,12 +6082,6 @@ export namespace InvalidArnException { } export interface ListTagsForResourceInput { - /** - *

                          An identifier returned from the previous ListTagsForResource call. - * It can be used to return the next set of applications in the list.

                          - */ - NextToken?: string; - /** *

                          * The ARN of a CodeDeploy resource. ListTagsForResource returns all the tags associated with the @@ -6095,6 +6089,12 @@ export interface ListTagsForResourceInput { *

                          */ ResourceArn: string | undefined; + + /** + *

                          An identifier returned from the previous ListTagsForResource call. + * It can be used to return the next set of applications in the list.

                          + */ + NextToken?: string; } export namespace ListTagsForResourceInput { @@ -6211,17 +6211,17 @@ export interface PutLifecycleEventHookExecutionStatusInput { */ deploymentId?: string; - /** - *

                          The result of a Lambda function that validates a deployment lifecycle event - * (Succeeded or Failed).

                          - */ - status?: LifecycleEventStatus | string; - /** *

                          The execution ID of a deployment's lifecycle hook. A deployment lifecycle hook is * specified in the hooks section of the AppSpec file.

                          */ lifecycleEventHookExecutionId?: string; + + /** + *

                          The result of a Lambda function that validates a deployment lifecycle event + * (Succeeded or Failed).

                          + */ + status?: LifecycleEventStatus | string; } export namespace PutLifecycleEventHookExecutionStatusInput { @@ -6255,15 +6255,15 @@ export interface RegisterApplicationRevisionInput { revision: RevisionLocation | undefined; /** - *

                          The name of an AWS CodeDeploy application associated with the IAM user or AWS - * account.

                          + *

                          A comment about the revision.

                          */ - applicationName: string | undefined; + description?: string; /** - *

                          A comment about the revision.

                          + *

                          The name of an AWS CodeDeploy application associated with the IAM user or AWS + * account.

                          */ - description?: string; + applicationName: string | undefined; } export namespace RegisterApplicationRevisionInput { @@ -6485,16 +6485,16 @@ export namespace SkipWaitTimeForInstanceTerminationInput { *

                          Represents the input of a StopDeployment operation.

                          */ export interface StopDeploymentInput { - /** - *

                          The unique ID of a deployment.

                          - */ - deploymentId: string | undefined; - /** *

                          Indicates, when a deployment is stopped, whether instances that have been updated * should be rolled back to the previous version of the application revision.

                          */ autoRollbackEnabled?: boolean; + + /** + *

                          The unique ID of a deployment.

                          + */ + deploymentId: string | undefined; } export namespace StopDeploymentInput { @@ -6540,17 +6540,17 @@ export namespace StopDeploymentOutput { export interface TagResourceInput { /** *

                          - * A list of tags that TagResource associates with a resource. The resource is identified by the ResourceArn input parameter. + * The ARN of a resource, such as a CodeDeploy application or deployment group. *

                          */ - Tags: Tag[] | undefined; + ResourceArn: string | undefined; /** *

                          - * The ARN of a resource, such as a CodeDeploy application or deployment group. + * A list of tags that TagResource associates with a resource. The resource is identified by the ResourceArn input parameter. *

                          */ - ResourceArn: string | undefined; + Tags: Tag[] | undefined; } export namespace TagResourceInput { @@ -6602,14 +6602,14 @@ export namespace UntagResourceOutput { */ export interface UpdateApplicationInput { /** - *

                          The current name of the application you want to change.

                          + *

                          The new name to give the application.

                          */ - applicationName?: string; + newApplicationName?: string; /** - *

                          The new name to give the application.

                          + *

                          The current name of the application you want to change.

                          */ - newApplicationName?: string; + applicationName?: string; } export namespace UpdateApplicationInput { @@ -6623,27 +6623,26 @@ export namespace UpdateApplicationInput { */ export interface UpdateDeploymentGroupInput { /** - *

                          Information about the type of deployment, either in-place or blue/green, you want to - * run and whether to route deployment traffic behind a load balancer.

                          + *

                          The current name of the deployment group.

                          */ - deploymentStyle?: DeploymentStyle; + currentDeploymentGroupName: string | undefined; /** - *

                          The application name that corresponds to the deployment group to update.

                          + *

                          The replacement deployment configuration name to use, if you want to change it.

                          */ - applicationName: string | undefined; + deploymentConfigName?: string; /** - *

                          Information about blue/green deployment options for a deployment group.

                          + *

                          The replacement set of Amazon EC2 tags on which to filter, if you want to change them. + * To keep the existing tags, enter their names. To remove tags, do not enter any tag + * names.

                          */ - blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration; + ec2TagFilters?: EC2TagFilter[]; /** - *

                          The replacement set of on-premises instance tags on which to filter, if you want to - * change them. To keep the existing tags, enter their names. To remove tags, do not enter - * any tag names.

                          + *

                          The application name that corresponds to the deployment group to update.

                          */ - onPremisesInstanceTagFilters?: TagFilter[]; + applicationName: string | undefined; /** *

                          Information to add or change about Amazon CloudWatch alarms when the deployment group @@ -6652,47 +6651,40 @@ export interface UpdateDeploymentGroupInput { alarmConfiguration?: AlarmConfiguration; /** - *

                          Information about the load balancer used in a deployment.

                          - */ - loadBalancerInfo?: LoadBalancerInfo; - - /** - *

                          The replacement list of Auto Scaling groups to be included in the deployment group, if - * you want to change them. To keep the Auto Scaling groups, enter their names. To remove - * Auto Scaling groups, do not enter any Auto Scaling group names.

                          + *

                          A replacement ARN for the service role, if you want to change it.

                          */ - autoScalingGroups?: string[]; + serviceRoleArn?: string; /** - *

                          A replacement ARN for the service role, if you want to change it.

                          + *

                          The new name of the deployment group, if you want to change it.

                          */ - serviceRoleArn?: string; + newDeploymentGroupName?: string; /** - *

                          The replacement set of Amazon EC2 tags on which to filter, if you want to change them. - * To keep the existing tags, enter their names. To remove tags, do not enter any tag - * names.

                          + *

                          Information about an on-premises instance tag set. The deployment group includes only + * on-premises instances identified by all the tag groups.

                          */ - ec2TagFilters?: EC2TagFilter[]; + onPremisesTagSet?: OnPremisesTagSet; /** - *

                          The target Amazon ECS services in the deployment group. This applies only to - * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service - * is specified as an Amazon ECS cluster and service name pair using the format - * :.

                          + *

                          Information about triggers to change when the deployment group is updated. For + * examples, see Edit a Trigger in a + * CodeDeploy Deployment Group in the AWS CodeDeploy User + * Guide.

                          */ - ecsServices?: ECSService[]; + triggerConfigurations?: TriggerConfig[]; /** - *

                          Information about an on-premises instance tag set. The deployment group includes only - * on-premises instances identified by all the tag groups.

                          + *

                          Information about groups of tags applied to on-premises instances. The deployment + * group includes only EC2 instances identified by all the tag groups.

                          */ - onPremisesTagSet?: OnPremisesTagSet; + ec2TagSet?: EC2TagSet; /** - *

                          The current name of the deployment group.

                          + *

                          Information about the type of deployment, either in-place or blue/green, you want to + * run and whether to route deployment traffic behind a load balancer.

                          */ - currentDeploymentGroupName: string | undefined; + deploymentStyle?: DeploymentStyle; /** *

                          Information for an automatic rollback configuration that is added or changed when a @@ -6701,28 +6693,36 @@ export interface UpdateDeploymentGroupInput { autoRollbackConfiguration?: AutoRollbackConfiguration; /** - *

                          Information about triggers to change when the deployment group is updated. For - * examples, see Edit a Trigger in a - * CodeDeploy Deployment Group in the AWS CodeDeploy User - * Guide.

                          + *

                          The replacement list of Auto Scaling groups to be included in the deployment group, if + * you want to change them. To keep the Auto Scaling groups, enter their names. To remove + * Auto Scaling groups, do not enter any Auto Scaling group names.

                          */ - triggerConfigurations?: TriggerConfig[]; + autoScalingGroups?: string[]; /** - *

                          The replacement deployment configuration name to use, if you want to change it.

                          + *

                          The replacement set of on-premises instance tags on which to filter, if you want to + * change them. To keep the existing tags, enter their names. To remove tags, do not enter + * any tag names.

                          */ - deploymentConfigName?: string; + onPremisesInstanceTagFilters?: TagFilter[]; /** - *

                          The new name of the deployment group, if you want to change it.

                          + *

                          The target Amazon ECS services in the deployment group. This applies only to + * deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service + * is specified as an Amazon ECS cluster and service name pair using the format + * :.

                          */ - newDeploymentGroupName?: string; + ecsServices?: ECSService[]; /** - *

                          Information about groups of tags applied to on-premises instances. The deployment - * group includes only EC2 instances identified by all the tag groups.

                          + *

                          Information about blue/green deployment options for a deployment group.

                          */ - ec2TagSet?: EC2TagSet; + blueGreenDeploymentConfiguration?: BlueGreenDeploymentConfiguration; + + /** + *

                          Information about the load balancer used in a deployment.

                          + */ + loadBalancerInfo?: LoadBalancerInfo; } export namespace UpdateDeploymentGroupInput { diff --git a/clients/client-codeguru-reviewer/CodeGuruReviewer.ts b/clients/client-codeguru-reviewer/CodeGuruReviewer.ts index fbfb7c8ca9eb..b0a5aa4e5656 100644 --- a/clients/client-codeguru-reviewer/CodeGuruReviewer.ts +++ b/clients/client-codeguru-reviewer/CodeGuruReviewer.ts @@ -4,6 +4,11 @@ import { AssociateRepositoryCommandInput, AssociateRepositoryCommandOutput, } from "./commands/AssociateRepositoryCommand"; +import { + CreateCodeReviewCommand, + CreateCodeReviewCommandInput, + CreateCodeReviewCommandOutput, +} from "./commands/CreateCodeReviewCommand"; import { DescribeCodeReviewCommand, DescribeCodeReviewCommandInput, @@ -76,7 +81,7 @@ export class CodeGuruReviewer extends CodeGuruReviewerClient { *

                          If you associate a CodeCommit repository, it must be in the same * AWS Region and AWS account where its CodeGuru Reviewer code reviews are configured.

                          * - *

                          Bitbucket and GitHub Enterprise Server repositories are managed by AWS CodeStar + *

                          Bitbucket and GitHub Enterprise Server repositories are managed by AWS CodeStar * Connections to connect to CodeGuru Reviewer. For more information, see Connect to a repository source provider in * the Amazon CodeGuru Reviewer User Guide. *

                          @@ -119,6 +124,40 @@ export class CodeGuruReviewer extends CodeGuruReviewerClient { } } + /** + *

                          + * Use to create a code review for a repository analysis. + *

                          + */ + public createCodeReview( + args: CreateCodeReviewCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createCodeReview( + args: CreateCodeReviewCommandInput, + cb: (err: any, data?: CreateCodeReviewCommandOutput) => void + ): void; + public createCodeReview( + args: CreateCodeReviewCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateCodeReviewCommandOutput) => void + ): void; + public createCodeReview( + args: CreateCodeReviewCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateCodeReviewCommandOutput) => void), + cb?: (err: any, data?: CreateCodeReviewCommandOutput) => void + ): Promise | void { + const command = new CreateCodeReviewCommand(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 metadata associated with the code review along with its status.

                          */ diff --git a/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts b/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts index 07d7dc9d0fcc..8e21c91cbcee 100644 --- a/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts +++ b/clients/client-codeguru-reviewer/CodeGuruReviewerClient.ts @@ -2,6 +2,7 @@ import { AssociateRepositoryCommandInput, AssociateRepositoryCommandOutput, } from "./commands/AssociateRepositoryCommand"; +import { CreateCodeReviewCommandInput, CreateCodeReviewCommandOutput } from "./commands/CreateCodeReviewCommand"; import { DescribeCodeReviewCommandInput, DescribeCodeReviewCommandOutput } from "./commands/DescribeCodeReviewCommand"; import { DescribeRecommendationFeedbackCommandInput, @@ -83,6 +84,7 @@ import { export type ServiceInputTypes = | AssociateRepositoryCommandInput + | CreateCodeReviewCommandInput | DescribeCodeReviewCommandInput | DescribeRecommendationFeedbackCommandInput | DescribeRepositoryAssociationCommandInput @@ -95,6 +97,7 @@ export type ServiceInputTypes = export type ServiceOutputTypes = | AssociateRepositoryCommandOutput + | CreateCodeReviewCommandOutput | DescribeCodeReviewCommandOutput | DescribeRecommendationFeedbackCommandOutput | DescribeRepositoryAssociationCommandOutput diff --git a/clients/client-codeguru-reviewer/commands/CreateCodeReviewCommand.ts b/clients/client-codeguru-reviewer/commands/CreateCodeReviewCommand.ts new file mode 100644 index 000000000000..bf9c19153c56 --- /dev/null +++ b/clients/client-codeguru-reviewer/commands/CreateCodeReviewCommand.ts @@ -0,0 +1,70 @@ +import { CodeGuruReviewerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CodeGuruReviewerClient"; +import { CreateCodeReviewRequest, CreateCodeReviewResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateCodeReviewCommand, + serializeAws_restJson1CreateCodeReviewCommand, +} 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 CreateCodeReviewCommandInput = CreateCodeReviewRequest; +export type CreateCodeReviewCommandOutput = CreateCodeReviewResponse & __MetadataBearer; + +export class CreateCodeReviewCommand extends $Command< + CreateCodeReviewCommandInput, + CreateCodeReviewCommandOutput, + CodeGuruReviewerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateCodeReviewCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateCodeReviewRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateCodeReviewResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateCodeReviewCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateCodeReviewCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateCodeReviewCommand(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 69c9071459db..cd8c7f80d9f0 100644 --- a/clients/client-codeguru-reviewer/index.ts +++ b/clients/client-codeguru-reviewer/index.ts @@ -1,6 +1,7 @@ export * from "./CodeGuruReviewerClient"; export * from "./CodeGuruReviewer"; export * from "./commands/AssociateRepositoryCommand"; +export * from "./commands/CreateCodeReviewCommand"; export * from "./commands/DescribeCodeReviewCommand"; export * from "./commands/DescribeRecommendationFeedbackCommand"; export * from "./commands/DescribeRepositoryAssociationCommand"; diff --git a/clients/client-codeguru-reviewer/models/models_0.ts b/clients/client-codeguru-reviewer/models/models_0.ts index 1ee7b92d5199..8307304f3143 100644 --- a/clients/client-codeguru-reviewer/models/models_0.ts +++ b/clients/client-codeguru-reviewer/models/models_0.ts @@ -24,28 +24,30 @@ export namespace AccessDeniedException { export interface ThirdPartySourceRepository { /** *

                          - * The owner of the repository. For a GitHub, GitHub Enterprise, or Bitbucket repository, - * this is the username for the account that owns the repository. + * 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. *

                          */ - Owner: string | undefined; + ConnectionArn: string | undefined; /** *

                          - * The name of the third party source repository. + * The owner of the repository. For a GitHub, GitHub Enterprise, or Bitbucket repository, + * this is the username for the account that owns the repository. *

                          */ - Name: string | undefined; + Owner: string | undefined; /** *

                          - * 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. + * The name of the third party source repository. *

                          */ - ConnectionArn: string | undefined; + Name: string | undefined; } export namespace ThirdPartySourceRepository { @@ -88,17 +90,17 @@ export interface Repository { */ GitHubEnterpriseServer?: ThirdPartySourceRepository; + /** + *

                          Information about an AWS CodeCommit repository.

                          + */ + CodeCommit?: CodeCommitRepository; + /** *

                          * Information about a Bitbucket repository. *

                          */ Bitbucket?: ThirdPartySourceRepository; - - /** - *

                          Information about an AWS CodeCommit repository.

                          - */ - CodeCommit?: CodeCommitRepository; } export namespace Repository { @@ -109,30 +111,15 @@ export namespace Repository { export interface AssociateRepositoryRequest { /** - *

                          The repository to associate.

                          + *

                          Amazon CodeGuru Reviewer uses this value to prevent the accidental creation of duplicate repository + * associations if there are failures and retries.

                          */ - Repository: Repository | undefined; + ClientRequestToken?: string; /** - *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          - *

                          To add a new repository association, this parameter specifies a unique - * identifier for the new repository association that helps ensure idempotency.

                          - * - *

                          If you use the AWS CLI or one of the AWS SDKs to call this operation, you - * can leave this parameter empty. The CLI or SDK generates a random UUID for you - * and includes that in the request. If you don't use the SDK and instead generate - * a raw HTTP request to the Secrets Manager service endpoint, you must generate - * a ClientRequestToken yourself for new versions and include that value in the request.

                          - * - *

                          You typically interact with this value if you implement your own retry - * logic and want to ensure that a given repository association is not created twice. - * We recommend that you generate a UUID-type value to ensure uniqueness within the - * specified repository association.

                          - * - *

                          Amazon CodeGuru Reviewer uses this value to prevent the accidental creation of duplicate repository - * associations if there are failures and retries.

                          + *

                          The repository to associate.

                          */ - ClientRequestToken?: string; + Repository: Repository | undefined; } export namespace AssociateRepositoryRequest { @@ -164,25 +151,53 @@ export enum RepositoryAssociationState { */ export interface RepositoryAssociation { /** - *

                          The Amazon Resource Name (ARN) identifying the repository association.

                          + *

                          The time, in milliseconds since the epoch, when the repository association was last updated.

                          */ - AssociationArn?: string; + LastUpdatedTimeStamp?: Date; /** - *

                          The time, in milliseconds since the epoch, when the repository association was last updated.

                          + *

                          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.

                          */ - LastUpdatedTimeStamp?: Date; + Owner?: string; /** - *

                          The time, in milliseconds since the epoch, when the repository association was created.

                          + *

                          The ID of the repository association.

                          */ - CreatedTimeStamp?: Date; + AssociationId?: string; + + /** + *

                          The name of the repository.

                          + */ + Name?: 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 provider type of the repository association.

                          */ ProviderType?: ProviderType | string; + /** + *

                          The Amazon Resource Name (ARN) identifying the repository association.

                          + */ + AssociationArn?: string; + + /** + *

                          The time, in milliseconds since the epoch, when the repository association was created.

                          + */ + CreatedTimeStamp?: Date; + /** *

                          A description of why the repository association is in the current state.

                          */ @@ -210,7 +225,7 @@ export interface RepositoryAssociation { *

                          * *

                          - * If your repository ProviderType is GitHub or Bitbucket, + * If your repository ProviderType is GitHub, GitHub Enterprise Server, or Bitbucket, * CodeGuru Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer reviews. If you delete these webhooks, * reviews of code in your repository cannot be triggered. *

                          @@ -238,32 +253,6 @@ export interface RepositoryAssociation { *
                        */ 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 name of the repository.

                        - */ - Name?: string; - - /** - *

                        The ID of the repository association.

                        - */ - AssociationId?: 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 or Bitbucket repository, this is the username for the account that owns the repository.

                        - */ - Owner?: string; } export namespace RepositoryAssociation { @@ -346,18 +335,142 @@ export namespace ValidationException { }); } -export interface DescribeCodeReviewRequest { +/** + *

                        + * A + * SourceCodeType + * that specifies + * the tip of a branch in an associated repository. + *

                        + */ +export interface RepositoryHeadSourceCodeType { /** - *

                        The Amazon Resource Name (ARN) of the - * CodeReview + *

                        + * The name of the branch in an associated repository. The RepositoryHeadSourceCodeType specifies + * the tip of this branch. + *

                        + */ + BranchName: string | undefined; +} + +export namespace RepositoryHeadSourceCodeType { + export const filterSensitiveLog = (obj: RepositoryHeadSourceCodeType): any => ({ + ...obj, + }); +} + +/** + *

                        + * A code review type that analyzes all code under a specified branch in an associated respository. + * The assocated repository is specified using its ARN when you call + * CreateCodeReview + * . + *

                        + */ +export interface RepositoryAnalysis { + /** + *

                        + * A + * SourceCodeType + * that + * specifies the tip of a branch in an associated repository. + *

                        + */ + RepositoryHead: RepositoryHeadSourceCodeType | undefined; +} + +export namespace RepositoryAnalysis { + export const filterSensitiveLog = (obj: RepositoryAnalysis): any => ({ + ...obj, + }); +} + +/** + *

                        + * The type of a code review. There are two code review types: + *

                        + *
                          + *
                        • + *

                          + * PullRequest - A code review that is automatically triggered by a pull request on an assocaited repository. Because this + * type of code review is automatically generated, you cannot specify this code review type using + * CreateCodeReview + * . + *

                          + *
                        • + *
                        • + *

                          + * RepositoryAnalysis - 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 + * . + *

                          + *
                        • + *
                        + */ +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; +} + +export namespace CodeReviewType { + export const filterSensitiveLog = (obj: CodeReviewType): any => ({ + ...obj, + }); +} + +export interface CreateCodeReviewRequest { + /** + *

                        + * The Amazon Resource Name (ARN) of the + * + * RepositoryAssociation * object. + * You can retrieve this ARN by calling ListRepositories. + *

                        + *

                        + * A code review can only be created on an associated repository. This is the ARN of the + * associated repository. *

                        */ - CodeReviewArn: string | undefined; + 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. + *

                        + */ + Type: CodeReviewType | undefined; + + /** + *

                        + * Amazon CodeGuru Reviewer uses this value to prevent the accidental creation of duplicate code + * reviews if there are failures and retries. + *

                        + */ + ClientRequestToken?: string; } -export namespace DescribeCodeReviewRequest { - export const filterSensitiveLog = (obj: DescribeCodeReviewRequest): any => ({ +export namespace CreateCodeReviewRequest { + export const filterSensitiveLog = (obj: CreateCodeReviewRequest): any => ({ ...obj, }); } @@ -368,6 +481,13 @@ export namespace DescribeCodeReviewRequest { *

                        */ 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, @@ -380,13 +500,6 @@ export interface Metrics { *

                        */ MeteredLinesOfCodeCount?: number; - - /** - *

                        - * Total number of recommendations found in the code review. - *

                        - */ - FindingsCount?: number; } export namespace Metrics { @@ -397,20 +510,23 @@ export namespace Metrics { /** *

                        - * The commit diff for the pull request. + * A type of + * SourceCodeType + * that + * specifies the commit diff for a pull request on an associated repository. *

                        */ export interface CommitDiffSourceCodeType { /** *

                        - * The SHA of the source commit. + * The SHA of the source commit used to generate a commit diff. *

                        */ SourceCommit?: string; /** *

                        - * The SHA of the destination commit. + * The SHA of the destination commit used to generate a commit diff. *

                        */ DestinationCommit?: string; @@ -424,16 +540,30 @@ export namespace CommitDiffSourceCodeType { /** *

                        - * Information about the source code type. + * Specifies the source code that is analyzed in a code review. A code review can analyze the source code that is specified + * using a pull request diff or a branch in an associated repository. *

                        */ export interface SourceCodeType { /** *

                        - * The commit diff for the pull request. + * A + * SourceCodeType + * that + * specifies a commit diff created by a pull request on an associated repository. *

                        */ CommitDiff?: CommitDiffSourceCodeType; + + /** + *

                        + * A + * SourceCodeType + * that specifies + * the tip of a branch in an associated repository. + *

                        + */ + RepositoryHead?: RepositoryHeadSourceCodeType; } export namespace SourceCodeType { @@ -451,6 +581,7 @@ export enum JobState { export enum Type { PULL_REQUEST = "PullRequest", + REPOSITORY_ANALYSIS = "RepositoryAnalysis", } /** @@ -468,59 +599,31 @@ export interface CodeReview { /** *

                        - * The type of code review. - *

                        - */ - 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 or Bitbucket repository, this is the username for the account that owns the repository.

                        - */ - Owner?: string; - - /** - *

                        - * The type of the source code for the code review. - *

                        - */ - SourceCodeType?: SourceCodeType; - - /** - *

                        - * The time, in milliseconds since the epoch, when the code review was last updated. + * The statistics from the code review. *

                        */ - LastUpdatedTimeStamp?: Date; + Metrics?: Metrics; /** *

                        - * The type of repository that contains the reviewed code (for example, GitHub or Bitbucket). - *

                        - */ - ProviderType?: ProviderType | string; - - /** - *

                        The Amazon Resource Name (ARN) of the - * CodeReview - * object. + * The type of code review. *

                        */ - CodeReviewArn?: string; + Type?: Type | string; /** *

                        - * The pull request ID for the code review. + * The name of the repository. *

                        */ - PullRequestId?: string; + RepositoryName?: string; /** *

                        - * The name of the code review. + * The time, in milliseconds since the epoch, when the code review was created. *

                        */ - Name?: string; + CreatedTimeStamp?: Date; /** *

                        The valid code review states are:

                        @@ -551,24 +654,52 @@ export interface CodeReview { /** *

                        - * The statistics from the code review. + * The type of repository that contains the reviewed code (for example, GitHub or Bitbucket). *

                        */ - Metrics?: Metrics; + ProviderType?: ProviderType | string; /** *

                        - * The time, in milliseconds since the epoch, when the code review was created. + * The time, in milliseconds since the epoch, when the code review was last updated. *

                        */ - CreatedTimeStamp?: Date; + LastUpdatedTimeStamp?: Date; /** *

                        - * The name of the repository. + * The type of the source code for the code review. *

                        */ - RepositoryName?: string; + SourceCodeType?: SourceCodeType; + + /** + *

                        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 name of the code review. + *

                        + */ + Name?: string; + + /** + *

                        The Amazon Resource Name (ARN) of the + * CodeReview + * object. + *

                        + */ + CodeReviewArn?: string; + + /** + *

                        + * The pull request ID for the code review. + *

                        + */ + PullRequestId?: string; } export namespace CodeReview { @@ -577,17 +708,17 @@ export namespace CodeReview { }); } -export interface DescribeCodeReviewResponse { +export interface CreateCodeReviewResponse { /** *

                        - * Information about the code review. + * Information about a code review. *

                        */ CodeReview?: CodeReview; } -export namespace DescribeCodeReviewResponse { - export const filterSensitiveLog = (obj: DescribeCodeReviewResponse): any => ({ +export namespace CreateCodeReviewResponse { + export const filterSensitiveLog = (obj: CreateCodeReviewResponse): any => ({ ...obj, }); } @@ -609,14 +740,7 @@ export namespace ResourceNotFoundException { }); } -export interface DescribeRecommendationFeedbackRequest { - /** - *

                        - * The recommendation ID that can be used to track the provided recommendations and then to collect the feedback. - *

                        - */ - RecommendationId: string | undefined; - +export interface DescribeCodeReviewRequest { /** *

                        The Amazon Resource Name (ARN) of the * CodeReview @@ -624,7 +748,30 @@ export interface DescribeRecommendationFeedbackRequest { *

                        */ CodeReviewArn: string | undefined; +} + +export namespace DescribeCodeReviewRequest { + export const filterSensitiveLog = (obj: DescribeCodeReviewRequest): any => ({ + ...obj, + }); +} +export interface DescribeCodeReviewResponse { + /** + *

                        + * Information about the code review. + *

                        + */ + CodeReview?: CodeReview; +} + +export namespace DescribeCodeReviewResponse { + export const filterSensitiveLog = (obj: DescribeCodeReviewResponse): any => ({ + ...obj, + }); +} + +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. @@ -636,6 +783,21 @@ export interface DescribeRecommendationFeedbackRequest { *

                        */ UserId?: string; + + /** + *

                        + * The recommendation ID that can be used to track the provided recommendations and then to collect the feedback. + *

                        + */ + RecommendationId: string | undefined; + + /** + *

                        The Amazon Resource Name (ARN) of the + * CodeReview + * object. + *

                        + */ + CodeReviewArn: string | undefined; } export namespace DescribeRecommendationFeedbackRequest { @@ -657,25 +819,17 @@ export enum Reaction { export interface RecommendationFeedback { /** *

                        - * The recommendation ID that can be used to track the provided recommendations. Later on it can be used to collect the feedback. + * The time at which the feedback was last updated. *

                        */ - RecommendationId?: string; + LastUpdatedTimeStamp?: Date; /** *

                        - * The time at which the feedback was created. - *

                        - */ - CreatedTimeStamp?: Date; - - /** - *

                        The Amazon Resource Name (ARN) of the - * CodeReview - * object. + * The recommendation ID that can be used to track the provided recommendations. Later on it can be used to collect the feedback. *

                        */ - CodeReviewArn?: string; + RecommendationId?: string; /** *

                        @@ -696,12 +850,20 @@ export interface RecommendationFeedback { */ UserId?: string; + /** + *

                        The Amazon Resource Name (ARN) of the + * CodeReview + * object. + *

                        + */ + CodeReviewArn?: string; + /** *

                        - * The time at which the feedback was last updated. + * The time at which the feedback was created. *

                        */ - LastUpdatedTimeStamp?: Date; + CreatedTimeStamp?: Date; } export namespace RecommendationFeedback { @@ -727,11 +889,13 @@ export namespace DescribeRecommendationFeedbackResponse { export interface DescribeRepositoryAssociationRequest { /** - *

                        The Amazon Resource Name (ARN) of the + *

                        + * The Amazon Resource Name (ARN) of the * * RepositoryAssociation * object. - * You can retrieve this ARN by calling ListRepositories.

                        + * You can retrieve this ARN by calling ListRepositories. + *

                        */ AssociationArn: string | undefined; } @@ -772,10 +936,12 @@ export namespace NotFoundException { export interface DisassociateRepositoryRequest { /** - *

                        The Amazon Resource Name (ARN) of the + *

                        + * The Amazon Resource Name (ARN) of the * * RepositoryAssociation * object. + * You can retrieve this ARN by calling ListRepositories. *

                        */ AssociationArn: string | undefined; @@ -803,32 +969,17 @@ export namespace DisassociateRepositoryResponse { export interface ListCodeReviewsRequest { /** *

                        - * 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; - - /** - *

                        - * List of repository names for filtering that needs to be applied before displaying the result. + * List of provider types for filtering that needs to be applied before displaying the result. For example, providerTypes=[GitHub] lists code reviews from GitHub. *

                        */ - RepositoryNames?: string[]; + ProviderTypes?: (ProviderType | string)[]; /** *

                        - * The type of code reviews to list in the response. + * The maximum number of results that are returned per call. The default is 100. *

                        */ - Type: Type | string | undefined; + MaxResults?: number; /** *

                        @@ -862,10 +1013,25 @@ export interface ListCodeReviewsRequest { /** *

                        - * List of provider types for filtering that needs to be applied before displaying the result. For example, providerTypes=[GitHub] lists code reviews from GitHub. + * List of repository names for filtering that needs to be applied before displaying the result. *

                        */ - ProviderTypes?: (ProviderType | string)[]; + RepositoryNames?: string[]; + + /** + *

                        + * The type of code reviews to list in the response. + *

                        + */ + Type: Type | string | undefined; + + /** + *

                        + * 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; } export namespace ListCodeReviewsRequest { @@ -882,23 +1048,23 @@ export namespace ListCodeReviewsRequest { export interface MetricsSummary { /** *

                        - * Lines of code metered in the code review. For the initial code review pull request and all subsequent revisions, - * this includes all lines of code in the files added to the pull request. In subsequent revisions, for files that already - * 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 - * and import statements. For example, if you submit a pull request containing 5 files, each with 500 lines of code, and in - * 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, - * MeteredLinesOfCodeCount includes the first 5 files (5 * 500 = 2,500 lines), the new file (200 lines) and the 25 changed lines of - * code for a total of 2,725 lines of code. + * Total number of recommendations found in the code review. *

                        */ - MeteredLinesOfCodeCount?: number; + FindingsCount?: number; /** *

                        - * Total number of recommendations found in the code review. + * Lines of code metered in the code review. For the initial code review pull request and all subsequent revisions, + * this includes all lines of code in the files added to the pull request. In subsequent revisions, for files that already + * 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 + * and import statements. For example, if you submit a pull request containing 5 files, each with 500 lines of code, and in + * 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, + * MeteredLinesOfCodeCount includes the first 5 files (5 * 500 = 2,500 lines), the new file (200 lines) and the 25 changed lines of + * code for a total of 2,725 lines of code. *

                        */ - FindingsCount?: number; + MeteredLinesOfCodeCount?: number; } export namespace MetricsSummary { @@ -913,13 +1079,6 @@ export namespace MetricsSummary { *

                        */ export interface CodeReviewSummary { - /** - *

                        - * The provider type of the repository association. - *

                        - */ - ProviderType?: ProviderType | string; - /** *

                        * The state of the code review. @@ -950,6 +1109,13 @@ export interface CodeReviewSummary { */ State?: JobState | string; + /** + *

                        + * The provider type of the repository association. + *

                        + */ + ProviderType?: ProviderType | string; + /** *

                        * The statistics from the code review. @@ -965,53 +1131,53 @@ export interface CodeReviewSummary { PullRequestId?: string; /** - *

                        The Amazon Resource Name (ARN) of the - * CodeReview - * object. + *

                        + * The name of the repository. *

                        */ - CodeReviewArn?: string; + 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 or Bitbucket repository, this is the username for the account that owns the repository.

                        + *

                        + * The time, in milliseconds since the epoch, when the code review was last updated. + *

                        */ - Owner?: string; + LastUpdatedTimeStamp?: Date; /** *

                        - * The type of the code review. + * The name of the code review. *

                        */ - Type?: Type | string; + Name?: string; /** *

                        - * The time, in milliseconds since the epoch, when the code review was created. + * The type of the code review. *

                        */ - CreatedTimeStamp?: Date; + Type?: Type | string; /** - *

                        - * The name of the code review. - *

                        + *

                        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.

                        */ - Name?: string; + Owner?: string; /** - *

                        - * The time, in milliseconds since the epoch, when the code review was last updated. + *

                        The Amazon Resource Name (ARN) of the + * CodeReview + * object. *

                        */ - LastUpdatedTimeStamp?: Date; + CodeReviewArn?: string; /** *

                        - * The name of the repository. + * The time, in milliseconds since the epoch, when the code review was created. *

                        */ - RepositoryName?: string; + CreatedTimeStamp?: Date; } export namespace CodeReviewSummary { @@ -1052,15 +1218,18 @@ export interface ListRecommendationFeedbackRequest { /** *

                        - * 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. + * Used to query the recommendation feedback for a given recommendation. *

                        - *

                        - * 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. + */ + RecommendationIds?: 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. *

                        */ - UserIds?: string[]; + NextToken?: string; /** *

                        The Amazon Resource Name (ARN) of the @@ -1072,18 +1241,15 @@ export interface ListRecommendationFeedbackRequest { /** *

                        - * Used to query the recommendation feedback for a given recommendation. + * 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. *

                        - */ - RecommendationIds?: 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 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. *

                        */ - NextToken?: string; + UserIds?: string[]; } export namespace ListRecommendationFeedbackRequest { @@ -1100,10 +1266,15 @@ export namespace ListRecommendationFeedbackRequest { export interface RecommendationFeedbackSummary { /** *

                        - * 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; /** *

                        @@ -1114,15 +1285,10 @@ 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. + * List for storing reactions. Reactions are utf-8 text code for emojis. *

                        */ - UserId?: string; + Reactions?: (Reaction | string)[]; } export namespace RecommendationFeedbackSummary { @@ -1132,11 +1298,6 @@ 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. @@ -1144,6 +1305,11 @@ export interface ListRecommendationFeedbackResponse { *

                        */ NextToken?: string; + + /** + *

                        Recommendation feedback summaries corresponding to the code review ARN.

                        + */ + RecommendationFeedbackSummaries?: RecommendationFeedbackSummary[]; } export namespace ListRecommendationFeedbackResponse { @@ -1161,19 +1327,19 @@ export interface ListRecommendationsRequest { MaxResults?: number; /** - *

                        The Amazon Resource Name (ARN) of the - * CodeReview - * object. + *

                        + * Pagination token. *

                        */ - CodeReviewArn: string | undefined; + NextToken?: string; /** - *

                        - * Pagination token. + *

                        The Amazon Resource Name (ARN) of the + * CodeReview + * object. *

                        */ - NextToken?: string; + CodeReviewArn: string | undefined; } export namespace ListRecommendationsRequest { @@ -1188,11 +1354,6 @@ export namespace ListRecommendationsRequest { *

                        */ export interface RecommendationSummary { - /** - *

                        Name of the file on which a recommendation is provided.

                        - */ - FilePath?: string; - /** *

                        * A description of the recommendation generated by CodeGuru Reviewer for the lines of code between the start line and the end line. @@ -1201,11 +1362,9 @@ export interface RecommendationSummary { Description?: string; /** - *

                        - * Start line from where the recommendation is applicable in the source commit or source branch. - *

                        + *

                        Name of the file on which a recommendation is provided.

                        */ - StartLine?: number; + FilePath?: string; /** *

                        @@ -1220,6 +1379,13 @@ export interface RecommendationSummary { *

                        */ EndLine?: number; + + /** + *

                        + * Start line from where the recommendation is applicable in the source commit or source branch. + *

                        + */ + StartLine?: number; } export namespace RecommendationSummary { @@ -1231,17 +1397,17 @@ export namespace RecommendationSummary { export interface ListRecommendationsResponse { /** *

                        - * List of recommendations for the requested code review. + * Pagination token. *

                        */ - RecommendationSummaries?: RecommendationSummary[]; + NextToken?: string; /** *

                        - * Pagination token. + * List of recommendations for the requested code review. *

                        */ - NextToken?: string; + RecommendationSummaries?: RecommendationSummary[]; } export namespace ListRecommendationsResponse { @@ -1251,6 +1417,27 @@ 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 @@ -1264,17 +1451,9 @@ export interface ListRepositoryAssociationsRequest { 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.

                        - *
                        + *

                        List of repository names to use as a filter.

                        */ - NextToken?: string; + Names?: string[]; /** *

                        List of provider types to use as a filter.

                        @@ -1303,7 +1482,7 @@ export interface ListRepositoryAssociationsRequest { *

                        * *

                        - * If your repository ProviderType is GitHub or Bitbucket, + * If your repository ProviderType is GitHub, GitHub Enterprise Server, or Bitbucket, * CodeGuru Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer reviews. If you delete these webhooks, * reviews of code in your repository cannot be triggered. *

                        @@ -1331,19 +1510,6 @@ export interface ListRepositoryAssociationsRequest { *
                      */ States?: (RepositoryAssociationState | 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, this is name of the account - * that was used to associate the repository.

                      - */ - Owners?: string[]; - - /** - *

                      List of repository names to use as a filter.

                      - */ - Names?: string[]; } export namespace ListRepositoryAssociationsRequest { @@ -1360,6 +1526,18 @@ export namespace ListRepositoryAssociationsRequest { * operation returns a list of RepositoryAssociationSummary objects.

                      */ export interface RepositoryAssociationSummary { + /** + *

                      The provider type of the repository association.

                      + */ + ProviderType?: ProviderType | string; + + /** + *

                      + * The repository association ID. + *

                      + */ + AssociationId?: string; + /** *

                      The state of the repository association.

                      *

                      The valid repository association states are:

                      @@ -1382,7 +1560,7 @@ export interface RepositoryAssociationSummary { *

                      * *

                      - * If your repository ProviderType is GitHub or Bitbucket, + * If your repository ProviderType is GitHub, GitHub Enterprise Server, or Bitbucket, * CodeGuru Reviewer creates webhooks in your repository to trigger CodeGuru Reviewer reviews. If you delete these webhooks, * reviews of code in your repository cannot be triggered. *

                      @@ -1413,52 +1591,44 @@ export interface RepositoryAssociationSummary { /** *

                      - * The repository association ID. + * 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. *

                      */ - AssociationId?: string; + ConnectionArn?: string; /** - *

                      The provider type of the repository association.

                      + *

                      The time, in milliseconds since the epoch, since the repository association + * was last updated. + *

                      */ - ProviderType?: ProviderType | string; + LastUpdatedTimeStamp?: Date; /** - *

                      The name of the repository association.

                      + *

                      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.

                      */ - Name?: string; + Owner?: string; /** - *

                      The Amazon Resource Name (ARN) of the + *

                      + * The Amazon Resource Name (ARN) of the * * RepositoryAssociation * object. + * You can retrieve this ARN by calling ListRepositories. *

                      */ 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 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 or Bitbucket repository, this is the username for the account that owns the repository.

                      - */ - Owner?: string; - - /** - *

                      The time, in milliseconds since the epoch, since the repository association - * was last updated. - *

                      + *

                      The name of the repository association.

                      */ - LastUpdatedTimeStamp?: Date; + Name?: string; } export namespace RepositoryAssociationSummary { @@ -1491,10 +1661,10 @@ export namespace ListRepositoryAssociationsResponse { export interface PutRecommendationFeedbackRequest { /** *

                      - * List for storing reactions. Reactions are utf-8 text code for emojis. If you send an empty list it clears all your feedback. + * The recommendation ID that can be used to track the provided recommendations and then to collect the feedback. *

                      */ - Reactions: (Reaction | string)[] | undefined; + RecommendationId: string | undefined; /** *

                      The Amazon Resource Name (ARN) of the @@ -1506,10 +1676,10 @@ export interface PutRecommendationFeedbackRequest { /** *

                      - * The recommendation ID that can be used to track the provided recommendations and then to collect the feedback. + * List for storing reactions. Reactions are utf-8 text code for emojis. If you send an empty list it clears all your feedback. *

                      */ - RecommendationId: string | undefined; + Reactions: (Reaction | string)[] | undefined; } export namespace PutRecommendationFeedbackRequest { diff --git a/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts b/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts index f8c9054eec36..545a477df4a8 100644 --- a/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts +++ b/clients/client-codeguru-reviewer/protocols/Aws_restJson1.ts @@ -2,6 +2,7 @@ import { AssociateRepositoryCommandInput, AssociateRepositoryCommandOutput, } from "../commands/AssociateRepositoryCommand"; +import { CreateCodeReviewCommandInput, CreateCodeReviewCommandOutput } from "../commands/CreateCodeReviewCommand"; import { DescribeCodeReviewCommandInput, DescribeCodeReviewCommandOutput } from "../commands/DescribeCodeReviewCommand"; import { DescribeRecommendationFeedbackCommandInput, @@ -37,6 +38,7 @@ import { CodeCommitRepository, CodeReview, CodeReviewSummary, + CodeReviewType, CommitDiffSourceCodeType, ConflictException, InternalServerException, @@ -48,8 +50,10 @@ import { RecommendationFeedbackSummary, RecommendationSummary, Repository, + RepositoryAnalysis, RepositoryAssociation, RepositoryAssociationSummary, + RepositoryHeadSourceCodeType, ResourceNotFoundException, SourceCodeType, ThirdPartySourceRepository, @@ -94,6 +98,33 @@ export const serializeAws_restJson1AssociateRepositoryCommand = async ( }); }; +export const serializeAws_restJson1CreateCodeReviewCommand = async ( + input: CreateCodeReviewCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/codereviews"; + let body: any; + body = JSON.stringify({ + ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.RepositoryAssociationArn !== undefined && { RepositoryAssociationArn: input.RepositoryAssociationArn }), + ...(input.Type !== undefined && { Type: serializeAws_restJson1CodeReviewType(input.Type, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DescribeCodeReviewCommand = async ( input: DescribeCodeReviewCommandInput, context: __SerdeContext @@ -142,8 +173,8 @@ export const serializeAws_restJson1DescribeRecommendationFeedbackCommand = async throw new Error("No value provided for input HTTP label: CodeReviewArn."); } const query: any = { - ...(input.RecommendationId !== undefined && { RecommendationId: input.RecommendationId }), ...(input.UserId !== undefined && { UserId: input.UserId }), + ...(input.RecommendationId !== undefined && { RecommendationId: input.RecommendationId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -228,14 +259,14 @@ 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.NextToken !== undefined && { NextToken: input.NextToken }), + ...(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.States !== undefined && { States: (input.States || []).map((_entry) => _entry) }), - ...(input.ProviderTypes !== undefined && { ProviderTypes: (input.ProviderTypes || []).map((_entry) => _entry) }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -270,11 +301,11 @@ export const serializeAws_restJson1ListRecommendationFeedbackCommand = async ( } const query: any = { ...(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(); @@ -334,12 +365,12 @@ export const serializeAws_restJson1ListRepositoryAssociationsCommand = async ( }; let resolvedPath = "/associations"; const query: any = { - ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), - ...(input.ProviderTypes !== undefined && { ProviderType: (input.ProviderTypes || []).map((_entry) => _entry) }), - ...(input.States !== undefined && { State: (input.States || []).map((_entry) => _entry) }), ...(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) }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -468,6 +499,101 @@ const deserializeAws_restJson1AssociateRepositoryCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1CreateCodeReviewCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateCodeReviewCommandError(output, context); + } + const contents: CreateCodeReviewCommandOutput = { + $metadata: deserializeMetadata(output), + CodeReview: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.CodeReview !== undefined && data.CodeReview !== null) { + contents.CodeReview = deserializeAws_restJson1CodeReview(data.CodeReview, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateCodeReviewCommandError = 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.codegurureviewer#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.codegurureviewer#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + 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 "ThrottlingException": + case "com.amazonaws.codegurureviewer#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(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_restJson1DescribeCodeReviewCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1384,6 +1510,14 @@ const serializeAws_restJson1CodeCommitRepository = (input: CodeCommitRepository, }; }; +const serializeAws_restJson1CodeReviewType = (input: CodeReviewType, context: __SerdeContext): any => { + return { + ...(input.RepositoryAnalysis !== undefined && { + RepositoryAnalysis: serializeAws_restJson1RepositoryAnalysis(input.RepositoryAnalysis, context), + }), + }; +}; + const serializeAws_restJson1Reactions = (input: (Reaction | string)[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -1402,6 +1536,23 @@ const serializeAws_restJson1Repository = (input: Repository, context: __SerdeCon }; }; +const serializeAws_restJson1RepositoryAnalysis = (input: RepositoryAnalysis, context: __SerdeContext): any => { + return { + ...(input.RepositoryHead !== undefined && { + RepositoryHead: serializeAws_restJson1RepositoryHeadSourceCodeType(input.RepositoryHead, context), + }), + }; +}; + +const serializeAws_restJson1RepositoryHeadSourceCodeType = ( + input: RepositoryHeadSourceCodeType, + context: __SerdeContext +): any => { + return { + ...(input.BranchName !== undefined && { BranchName: input.BranchName }), + }; +}; + const serializeAws_restJson1ThirdPartySourceRepository = ( input: ThirdPartySourceRepository, context: __SerdeContext @@ -1635,12 +1786,25 @@ const deserializeAws_restJson1RepositoryAssociationSummary = ( } as any; }; +const deserializeAws_restJson1RepositoryHeadSourceCodeType = ( + output: any, + context: __SerdeContext +): RepositoryHeadSourceCodeType => { + return { + BranchName: output.BranchName !== undefined && output.BranchName !== null ? output.BranchName : undefined, + } as any; +}; + const deserializeAws_restJson1SourceCodeType = (output: any, context: __SerdeContext): SourceCodeType => { return { CommitDiff: output.CommitDiff !== undefined && output.CommitDiff !== null ? deserializeAws_restJson1CommitDiffSourceCodeType(output.CommitDiff, context) : undefined, + RepositoryHead: + output.RepositoryHead !== undefined && output.RepositoryHead !== null + ? deserializeAws_restJson1RepositoryHeadSourceCodeType(output.RepositoryHead, context) + : undefined, } as any; }; diff --git a/clients/client-codepipeline/models/models_0.ts b/clients/client-codepipeline/models/models_0.ts index e56330861ef1..2486a006cb75 100644 --- a/clients/client-codepipeline/models/models_0.ts +++ b/clients/client-codepipeline/models/models_0.ts @@ -109,6 +109,11 @@ export namespace ValidationException { *

                      Represents the input of an AcknowledgeThirdPartyJob action.

                      */ export interface AcknowledgeThirdPartyJobInput { + /** + *

                      The unique system-generated ID of the job.

                      + */ + jobId: string | undefined; + /** *

                      The clientToken portion of the clientId and clientToken pair used to verify that * the calling entity is allowed access to the job and its details.

                      @@ -120,11 +125,6 @@ export interface AcknowledgeThirdPartyJobInput { * is being worked on by only one job worker. Get this number from the response to a
                      GetThirdPartyJobDetails request.

                      */ nonce: string | undefined; - - /** - *

                      The unique system-generated ID of the job.

                      - */ - jobId: string | undefined; } export namespace AcknowledgeThirdPartyJobInput { @@ -214,15 +214,14 @@ export interface ActionConfigurationProperty { queryable?: boolean; /** - *

                      The description of the action configuration property that is displayed to - * users.

                      + *

                      Whether the configuration property is a required value.

                      */ - description?: string; + required: boolean | undefined; /** - *

                      Whether the configuration property is a required value.

                      + *

                      Whether the configuration property is a key.

                      */ - required: boolean | undefined; + key: boolean | undefined; /** *

                      The type of the configuration property.

                      @@ -230,14 +229,15 @@ export interface ActionConfigurationProperty { type?: ActionConfigurationPropertyType | string; /** - *

                      Whether the configuration property is a key.

                      + *

                      The name of the action configuration property.

                      */ - key: boolean | undefined; + name: string | undefined; /** - *

                      The name of the action configuration property.

                      + *

                      The description of the action configuration property that is displayed to + * users.

                      */ - name: string | undefined; + description?: string; /** *

                      Whether the configuration property is secret. Secrets are hidden from all calls @@ -373,11 +373,6 @@ export interface ActionDeclaration { */ roleArn?: string; - /** - *

                      The action declaration's name.

                      - */ - name: string | undefined; - /** *

                      The variable namespace associated with the action. All variables produced as output by * this action fall under this namespace.

                      @@ -385,14 +380,9 @@ export interface ActionDeclaration { namespace?: string; /** - *

                      The action declaration's AWS Region, such as us-east-1.

                      - */ - region?: string; - - /** - *

                      Specifies the action type and the provider of the action.

                      + *

                      The action declaration's name.

                      */ - actionTypeId: ActionTypeId | undefined; + name: string | undefined; /** *

                      The action's configuration. These are key-value pairs that specify input values for @@ -412,22 +402,32 @@ export interface ActionDeclaration { */ configuration?: { [key: string]: string }; + /** + *

                      The name or ID of the result of the action declaration, such as a test or build + * artifact.

                      + */ + outputArtifacts?: OutputArtifact[]; + + /** + *

                      Specifies the action type and the provider of the action.

                      + */ + actionTypeId: ActionTypeId | undefined; + /** *

                      The order in which actions are run.

                      */ runOrder?: number; /** - *

                      The name or ID of the artifact consumed by the action, such as a test or build - * artifact.

                      + *

                      The action declaration's AWS Region, such as us-east-1.

                      */ - inputArtifacts?: InputArtifact[]; + region?: string; /** - *

                      The name or ID of the result of the action declaration, such as a test or build + *

                      The name or ID of the artifact consumed by the action, such as a test or build * artifact.

                      */ - outputArtifacts?: OutputArtifact[]; + inputArtifacts?: InputArtifact[]; } export namespace ActionDeclaration { @@ -468,31 +468,21 @@ export enum ActionExecutionStatus { *

                      Represents information about the run of an action.

                      */ export interface ActionExecution { - /** - *

                      The URL of a resource external to AWS that is used when running the action (for - * example, an external repository URL).

                      - */ - externalExecutionUrl?: string; - - /** - *

                      A summary of the run of the action.

                      - */ - summary?: string; - /** *

                      The ARN of the user who last changed the pipeline.

                      */ lastUpdatedBy?: string; /** - *

                      The last status change of the action.

                      + *

                      A percentage of completeness of the action as it runs.

                      */ - lastStatusChange?: Date; + percentComplete?: number; /** - *

                      A percentage of completeness of the action as it runs.

                      + *

                      The URL of a resource external to AWS that is used when running the action (for + * example, an external repository URL).

                      */ - percentComplete?: number; + externalExecutionUrl?: string; /** *

                      The details of an error returned by a URL external to AWS.

                      @@ -500,15 +490,15 @@ export interface ActionExecution { errorDetails?: ErrorDetails; /** - *

                      The status of the action, or for a completed action, the last status of the - * action.

                      + *

                      The last status change of the action.

                      */ - status?: ActionExecutionStatus | string; + lastStatusChange?: Date; /** - *

                      The external ID of the run of the action.

                      + *

                      The status of the action, or for a completed action, the last status of the + * action.

                      */ - externalExecutionId?: string; + status?: ActionExecutionStatus | string; /** *

                      The system-generated token used to identify a unique approval request. The token @@ -517,6 +507,16 @@ export interface ActionExecution { * still valid.

                      */ token?: string; + + /** + *

                      The external ID of the run of the action.

                      + */ + externalExecutionId?: string; + + /** + *

                      A summary of the run of the action.

                      + */ + summary?: string; } export namespace ActionExecution { @@ -578,9 +578,9 @@ export interface ActionExecutionInput { resolvedConfiguration?: { [key: string]: string }; /** - *

                      Represents information about an action type.

                      + *

                      Configuration data for an action execution.

                      */ - actionTypeId?: ActionTypeId; + configuration?: { [key: string]: string }; /** *

                      The ARN of the IAM service role that performs the declared action. This is assumed @@ -589,14 +589,9 @@ export interface ActionExecutionInput { roleArn?: string; /** - *

                      The AWS Region for the action, such as us-east-1.

                      - */ - region?: string; - - /** - *

                      Configuration data for an action execution.

                      + *

                      Represents information about an action type.

                      */ - configuration?: { [key: string]: string }; + actionTypeId?: ActionTypeId; /** *

                      The variable namespace associated with the action. All variables produced as output by @@ -604,6 +599,11 @@ export interface ActionExecutionInput { */ namespace?: string; + /** + *

                      The AWS Region for the action, such as us-east-1.

                      + */ + region?: string; + /** *

                      Details of input artifacts of the action that correspond to the action * execution.

                      @@ -622,9 +622,9 @@ export namespace ActionExecutionInput { */ export interface ActionExecutionResult { /** - *

                      The action provider's summary for the action execution.

                      + *

                      The action provider's external ID for the action execution.

                      */ - externalExecutionSummary?: string; + externalExecutionId?: string; /** *

                      The deepest external link to the external resource (for example, a repository URL or @@ -633,9 +633,9 @@ export interface ActionExecutionResult { externalExecutionUrl?: string; /** - *

                      The action provider's external ID for the action execution.

                      + *

                      The action provider's summary for the action execution.

                      */ - externalExecutionId?: string; + externalExecutionSummary?: string; } export namespace ActionExecutionResult { @@ -680,25 +680,30 @@ export namespace ActionExecutionOutput { */ export interface ActionExecutionDetail { /** - *

                      The pipeline execution ID for the action execution.

                      + *

                      The start time of the action execution.

                      */ - pipelineExecutionId?: string; + startTime?: Date; /** - *

                      The start time of the action execution.

                      + *

                      Input details for the action execution, such as role ARN, Region, and input + * artifacts.

                      */ - startTime?: Date; + input?: ActionExecutionInput; /** - *

                      The last update time of the action execution.

                      + *

                      The pipeline execution ID for the action execution.

                      */ - lastUpdateTime?: Date; + pipelineExecutionId?: string; /** - *

                      Input details for the action execution, such as role ARN, Region, and input - * artifacts.

                      + *

                      The action execution ID.

                      */ - input?: ActionExecutionInput; + actionExecutionId?: string; + + /** + *

                      The name of the stage that contains the action.

                      + */ + stageName?: string; /** *

                      The version of the pipeline where the action was run.

                      @@ -706,10 +711,9 @@ export interface ActionExecutionDetail { pipelineVersion?: number; /** - *

                      The status of the action execution. Status categories are InProgress, - * Succeeded, and Failed.

                      + *

                      Output details for the action execution, such as the action execution result.

                      */ - status?: ActionExecutionStatus | string; + output?: ActionExecutionOutput; /** *

                      The name of the action.

                      @@ -717,19 +721,15 @@ export interface ActionExecutionDetail { actionName?: string; /** - *

                      The action execution ID.

                      - */ - actionExecutionId?: string; - - /** - *

                      The name of the stage that contains the action.

                      + *

                      The last update time of the action execution.

                      */ - stageName?: string; + lastUpdateTime?: Date; /** - *

                      Output details for the action execution, such as the action execution result.

                      + *

                      The status of the action execution. Status categories are InProgress, + * Succeeded, and Failed.

                      */ - output?: ActionExecutionOutput; + status?: ActionExecutionStatus | string; } export namespace ActionExecutionDetail { @@ -776,6 +776,12 @@ export namespace ActionNotFoundException { *

                      Represents information about the version (or revision) of an action.

                      */ export interface ActionRevision { + /** + *

                      The date and time when the most recent version of the action was created, in + * timestamp format.

                      + */ + created: Date | undefined; + /** *

                      The system-generated unique ID that identifies the revision number of the * action.

                      @@ -787,12 +793,6 @@ export interface ActionRevision { * example, a deployment ID or timestamp).

                      */ revisionChangeId: string | undefined; - - /** - *

                      The date and time when the most recent version of the action was created, in - * timestamp format.

                      - */ - created: Date | undefined; } export namespace ActionRevision { @@ -811,14 +811,10 @@ export interface ActionState { currentRevision?: ActionRevision; /** - *

                      The name of the action.

                      - */ - actionName?: string; - - /** - *

                      Represents information about the run of an action.

                      + *

                      A URL link for more information about the state of the action, such as a deployment + * group details page.

                      */ - latestExecution?: ActionExecution; + entityUrl?: string; /** *

                      A URL link for more information about the revision, such as a commit details @@ -827,10 +823,14 @@ export interface ActionState { revisionUrl?: string; /** - *

                      A URL link for more information about the state of the action, such as a deployment - * group details page.

                      + *

                      The name of the action.

                      */ - entityUrl?: string; + actionName?: string; + + /** + *

                      Represents information about the run of an action.

                      + */ + latestExecution?: ActionExecution; } export namespace ActionState { @@ -864,6 +864,12 @@ export namespace ArtifactDetails { *

                      Returns information about the settings for an action type.

                      */ export interface ActionTypeSettings { + /** + *

                      The URL returned to the AWS CodePipeline console that contains a link to the page + * where customers can update or change the configuration of the external action.

                      + */ + revisionUrlTemplate?: string; + /** *

                      The URL of a sign-up page where users can sign up for an external service and * perform initial configuration of the action provided by that service.

                      @@ -885,12 +891,6 @@ export interface ActionTypeSettings { * and provides a link to the execution entity of the external action.

                      */ executionUrlTemplate?: string; - - /** - *

                      The URL returned to the AWS CodePipeline console that contains a link to the page - * where customers can update or change the configuration of the external action.

                      - */ - revisionUrlTemplate?: string; } export namespace ActionTypeSettings { @@ -913,11 +913,6 @@ export interface ActionType { */ id: ActionTypeId | undefined; - /** - *

                      The details of the output artifact of the action, such as its commit ID.

                      - */ - outputArtifactDetails: ArtifactDetails | undefined; - /** *

                      The details of the input artifact for the action, such as its commit ID.

                      */ @@ -927,6 +922,11 @@ export interface ActionType { *

                      The configuration properties for the action type.

                      */ actionConfigurationProperties?: ActionConfigurationProperty[]; + + /** + *

                      The details of the output artifact of the action, such as its commit ID.

                      + */ + outputArtifactDetails: ArtifactDetails | undefined; } export namespace ActionType { @@ -1003,15 +1003,15 @@ export namespace ApprovalResult { */ export interface S3ArtifactLocation { /** - *

                      The key of the object in the S3 bucket, which uniquely identifies the object in the - * bucket.

                      + *

                      The name of the S3 bucket.

                      */ - objectKey: string | undefined; + bucketName: string | undefined; /** - *

                      The name of the S3 bucket.

                      + *

                      The key of the object in the S3 bucket, which uniquely identifies the object in the + * bucket.

                      */ - bucketName: string | undefined; + objectKey: string | undefined; } export namespace S3ArtifactLocation { @@ -1057,14 +1057,14 @@ export interface Artifact { revision?: string; /** - *

                      The artifact's name.

                      + *

                      The location of an artifact.

                      */ - name?: string; + location?: ArtifactLocation; /** - *

                      The location of an artifact.

                      + *

                      The artifact's name.

                      */ - location?: ArtifactLocation; + name?: string; } export namespace Artifact { @@ -1078,16 +1078,10 @@ export namespace Artifact { */ export interface ArtifactRevision { /** - *

                      An additional identifier for a revision, such as a commit date or, for artifacts - * stored in Amazon S3 buckets, the ETag value.

                      - */ - revisionChangeIdentifier?: string; - - /** - *

                      The name of an artifact. This name might be system-generated, such as "MyApp", or - * defined by the user when an action is created.

                      + *

                      The commit ID for the artifact revision. For artifacts stored in GitHub or AWS + * CodeCommit repositories, the commit ID is linked to a commit details page.

                      */ - name?: string; + revisionUrl?: string; /** *

                      The revision ID of the artifact.

                      @@ -1109,10 +1103,16 @@ export interface ArtifactRevision { created?: Date; /** - *

                      The commit ID for the artifact revision. For artifacts stored in GitHub or AWS - * CodeCommit repositories, the commit ID is linked to a commit details page.

                      + *

                      The name of an artifact. This name might be system-generated, such as "MyApp", or + * defined by the user when an action is created.

                      */ - revisionUrl?: string; + name?: string; + + /** + *

                      An additional identifier for a revision, such as a commit date or, for artifacts + * stored in Amazon S3 buckets, the ETag value.

                      + */ + revisionChangeIdentifier?: string; } export namespace ArtifactRevision { @@ -1168,11 +1168,6 @@ export enum ArtifactStoreType { *
                      */ export interface ArtifactStore { - /** - *

                      The type of the artifact store, such as S3.

                      - */ - type: ArtifactStoreType | string | undefined; - /** *

                      The encryption key used to encrypt the data in the artifact store, such as an AWS * Key Management Service (AWS KMS) key. If this is undefined, the default key for Amazon @@ -1188,6 +1183,11 @@ export interface ArtifactStore { * artifacts.

                      */ location: string | undefined; + + /** + *

                      The type of the artifact store, such as S3.

                      + */ + type: ArtifactStoreType | string | undefined; } export namespace ArtifactStore { @@ -1236,12 +1236,12 @@ export interface BlockerDeclaration { /** *

                      Reserved for future use.

                      */ - name: string | undefined; + type: BlockerType | string | undefined; /** *

                      Reserved for future use.

                      */ - type: BlockerType | string | undefined; + name: string | undefined; } export namespace BlockerDeclaration { @@ -1305,11 +1305,6 @@ export interface CreateCustomActionTypeInput { */ settings?: ActionTypeSettings; - /** - *

                      The version identifier of the custom action.

                      - */ - version: string | undefined; - /** *

                      The provider of the service used in the custom action, such as AWS * CodeDeploy.

                      @@ -1317,9 +1312,20 @@ export interface CreateCustomActionTypeInput { provider: string | undefined; /** - *

                      The tags for the custom action.

                      + *

                      The version identifier of the custom action.

                      */ - tags?: Tag[]; + version: string | undefined; + + /** + *

                      The category of the custom action, such as a build action or a test + * action.

                      + * + *

                      Although Source and Approval are listed as valid + * values, they are not currently functional. These values are reserved for future + * use.

                      + *
                      + */ + category: ActionCategory | string | undefined; /** *

                      The configuration properties for the custom action.

                      @@ -1334,15 +1340,9 @@ export interface CreateCustomActionTypeInput { configurationProperties?: ActionConfigurationProperty[]; /** - *

                      The category of the custom action, such as a build action or a test - * action.

                      - * - *

                      Although Source and Approval are listed as valid - * values, they are not currently functional. These values are reserved for future - * use.

                      - *
                      + *

                      The tags for the custom action.

                      */ - category: ActionCategory | string | undefined; + tags?: Tag[]; } export namespace CreateCustomActionTypeInput { @@ -1425,6 +1425,11 @@ export namespace TooManyTagsException { *

                      Represents information about a stage and its definition.

                      */ export interface StageDeclaration { + /** + *

                      The actions included in a stage.

                      + */ + actions: ActionDeclaration[] | undefined; + /** *

                      Reserved for future use.

                      */ @@ -1434,11 +1439,6 @@ export interface StageDeclaration { *

                      The name of the stage.

                      */ name: string | undefined; - - /** - *

                      The actions included in a stage.

                      - */ - actions: ActionDeclaration[] | undefined; } export namespace StageDeclaration { @@ -1452,6 +1452,11 @@ export namespace StageDeclaration { * pipeline.

                      */ export interface PipelineDeclaration { + /** + *

                      The stage in which to perform the action.

                      + */ + stages: StageDeclaration[] | undefined; + /** *

                      The name of the action to be performed.

                      */ @@ -1470,24 +1475,12 @@ export interface PipelineDeclaration { */ artifactStores?: { [key: string]: ArtifactStore }; - /** - *

                      The stage in which to perform the action.

                      - */ - stages: StageDeclaration[] | undefined; - /** *

                      The version number of the pipeline. A new pipeline always has a version number of * 1. This number is incremented when a pipeline is updated.

                      */ version?: number; - /** - *

                      The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform - * actions with no actionRoleArn, or to use to assume roles for actions with - * an actionRoleArn.

                      - */ - roleArn: string | undefined; - /** *

                      Represents information about the S3 bucket where artifacts are stored for the * pipeline.

                      @@ -1499,6 +1492,13 @@ export interface PipelineDeclaration { * */ artifactStore?: ArtifactStore; + + /** + *

                      The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform + * actions with no actionRoleArn, or to use to assume roles for actions with + * an actionRoleArn.

                      + */ + roleArn: string | undefined; } export namespace PipelineDeclaration { @@ -1533,16 +1533,16 @@ export namespace CreatePipelineInput { *

                      Represents the output of a CreatePipeline action.

                      */ export interface CreatePipelineOutput { - /** - *

                      Specifies the tags applied to the pipeline.

                      - */ - tags?: Tag[]; - /** *

                      Represents the structure of actions and stages to be performed in the pipeline. *

                      */ pipeline?: PipelineDeclaration; + + /** + *

                      Specifies the tags applied to the pipeline.

                      + */ + tags?: Tag[]; } export namespace CreatePipelineOutput { @@ -1760,6 +1760,13 @@ export interface DisableStageTransitionInput { */ transitionType: StageTransitionType | string | undefined; + /** + *

                      The reason given to the user that a stage is disabled, such as waiting for manual + * approval or manual tests. This message is displayed in the pipeline console + * UI.

                      + */ + reason: string | undefined; + /** *

                      The name of the stage where you want to disable the inbound or outbound transition * of artifacts.

                      @@ -1771,13 +1778,6 @@ export interface DisableStageTransitionInput { * one stage to another.

                      */ pipelineName: string | undefined; - - /** - *

                      The reason given to the user that a stage is disabled, such as waiting for manual - * approval or manual tests. This message is displayed in the pipeline console - * UI.

                      - */ - reason: string | undefined; } export namespace DisableStageTransitionInput { @@ -1826,6 +1826,12 @@ export namespace StageNotFoundException { *

                      Represents the input of an EnableStageTransition action.

                      */ export interface EnableStageTransitionInput { + /** + *

                      The name of the pipeline in which you want to enable the flow of artifacts from one + * stage to another.

                      + */ + pipelineName: string | undefined; + /** *

                      Specifies whether artifacts are allowed to enter the stage and be processed by the * actions in that stage (inbound) or whether already processed artifacts are allowed to @@ -1833,12 +1839,6 @@ export interface EnableStageTransitionInput { */ transitionType: StageTransitionType | string | undefined; - /** - *

                      The name of the pipeline in which you want to enable the flow of artifacts from one - * stage to another.

                      - */ - pipelineName: string | undefined; - /** *

                      The name of the stage where you want to enable the transition of artifacts, either * into the stage (inbound) or from that stage to the next stage (outbound).

                      @@ -1895,30 +1895,30 @@ export namespace StageContext { */ export interface PipelineContext { /** - *

                      The context of an action to a job worker in the stage of a pipeline.

                      + *

                      The stage of the pipeline.

                      */ - action?: ActionContext; + stage?: StageContext; /** - *

                      The Amazon Resource Name (ARN) of the pipeline.

                      + *

                      The name of the pipeline. This is a user-specified value. Pipeline names must be + * unique across all pipeline names under an Amazon Web Services account.

                      */ - pipelineArn?: string; + pipelineName?: string; /** - *

                      The execution ID of the pipeline.

                      + *

                      The Amazon Resource Name (ARN) of the pipeline.

                      */ - pipelineExecutionId?: string; + pipelineArn?: string; /** - *

                      The name of the pipeline. This is a user-specified value. Pipeline names must be - * unique across all pipeline names under an Amazon Web Services account.

                      + *

                      The context of an action to a job worker in the stage of a pipeline.

                      */ - pipelineName?: string; + action?: ActionContext; /** - *

                      The stage of the pipeline.

                      + *

                      The execution ID of the pipeline.

                      */ - stage?: StageContext; + pipelineExecutionId?: string; } export namespace PipelineContext { @@ -1933,38 +1933,34 @@ export namespace PipelineContext { */ export interface JobData { /** - *

                      Represents information about a pipeline to a job worker.

                      - * - *

                      Includes pipelineArn and pipelineExecutionId for - * custom jobs.

                      - *
                      + *

                      Represents information about the key used to encrypt data in the artifact store, + * such as an AWS Key Management Service (AWS KMS) key.

                      */ - pipelineContext?: PipelineContext; + encryptionKey?: EncryptionKey; /** - *

                      Represents an AWS session credentials object. These credentials are temporary - * credentials that are issued by AWS Secure Token Service (STS). They can be used to - * access input and output artifacts in the S3 bucket used to store artifacts for the - * pipeline in AWS CodePipeline.

                      + *

                      Represents information about an action configuration.

                      */ - artifactCredentials?: AWSSessionCredentials; + actionConfiguration?: ActionConfiguration; /** - *

                      A system-generated token, such as a AWS CodeDeploy deployment ID, required by a job - * to continue the job asynchronously.

                      + *

                      Represents information about a pipeline to a job worker.

                      + * + *

                      Includes pipelineArn and pipelineExecutionId for + * custom jobs.

                      + *
                      */ - continuationToken?: string; + pipelineContext?: PipelineContext; /** - *

                      Represents information about the key used to encrypt data in the artifact store, - * such as an AWS Key Management Service (AWS KMS) key.

                      + *

                      The output of the job.

                      */ - encryptionKey?: EncryptionKey; + outputArtifacts?: Artifact[]; /** - *

                      Represents information about an action configuration.

                      + *

                      The artifact supplied to the job.

                      */ - actionConfiguration?: ActionConfiguration; + inputArtifacts?: Artifact[]; /** *

                      Represents information about an action type.

                      @@ -1972,14 +1968,18 @@ export interface JobData { actionTypeId?: ActionTypeId; /** - *

                      The artifact supplied to the job.

                      + *

                      A system-generated token, such as a AWS CodeDeploy deployment ID, required by a job + * to continue the job asynchronously.

                      */ - inputArtifacts?: Artifact[]; + continuationToken?: string; /** - *

                      The output of the job.

                      + *

                      Represents an AWS session credentials object. These credentials are temporary + * credentials that are issued by AWS Secure Token Service (STS). They can be used to + * access input and output artifacts in the S3 bucket used to store artifacts for the + * pipeline in AWS CodePipeline.

                      */ - outputArtifacts?: Artifact[]; + artifactCredentials?: AWSSessionCredentials; } export namespace JobData { @@ -2000,14 +2000,14 @@ export interface JobDetails { data?: JobData; /** - *

                      The unique system-generated ID of the job.

                      + *

                      The AWS account ID associated with the job.

                      */ - id?: string; + accountId?: string; /** - *

                      The AWS account ID associated with the job.

                      + *

                      The unique system-generated ID of the job.

                      */ - accountId?: string; + id?: string; } export namespace JobDetails { @@ -2065,6 +2065,11 @@ export namespace GetPipelineInput { *

                      Information about a pipeline.

                      */ export interface PipelineMetadata { + /** + *

                      The date and time the pipeline was created, in timestamp format.

                      + */ + created?: Date; + /** *

                      The Amazon Resource Name (ARN) of the pipeline.

                      */ @@ -2074,11 +2079,6 @@ export interface PipelineMetadata { *

                      The date and time the pipeline was last updated, in timestamp format.

                      */ updated?: Date; - - /** - *

                      The date and time the pipeline was created, in timestamp format.

                      - */ - created?: Date; } export namespace PipelineMetadata { @@ -2165,14 +2165,20 @@ export enum PipelineExecutionStatus { */ export interface PipelineExecution { /** - *

                      The version number of the pipeline with the specified pipeline execution.

                      + *

                      The name of the pipeline with the specified pipeline execution.

                      */ - pipelineVersion?: number; + pipelineName?: string; /** - *

                      The name of the pipeline with the specified pipeline execution.

                      + *

                      A list of ArtifactRevision objects included in a pipeline + * execution.

                      */ - pipelineName?: string; + artifactRevisions?: ArtifactRevision[]; + + /** + *

                      The version number of the pipeline with the specified pipeline execution.

                      + */ + pipelineVersion?: number; /** *

                      The status of the pipeline execution.

                      @@ -2204,12 +2210,6 @@ export interface PipelineExecution { */ status?: PipelineExecutionStatus | string; - /** - *

                      A list of ArtifactRevision objects included in a pipeline - * execution.

                      - */ - artifactRevisions?: ArtifactRevision[]; - /** *

                      The ID of the pipeline execution.

                      */ @@ -2288,17 +2288,17 @@ export interface TransitionState { */ lastChangedBy?: string; - /** - *

                      The user-specified reason why the transition between two stages of a pipeline was - * disabled.

                      - */ - disabledReason?: string; - /** *

                      Whether the transition between stages is enabled (true) or disabled * (false).

                      */ enabled?: boolean; + + /** + *

                      The user-specified reason why the transition between two stages of a pipeline was + * disabled.

                      + */ + disabledReason?: string; } export namespace TransitionState { @@ -2347,14 +2347,14 @@ export interface StageState { actionStates?: ActionState[]; /** - *

                      The name of the stage.

                      + *

                      The state of the inbound transition, which is either enabled or disabled.

                      */ - stageName?: string; + inboundTransitionState?: TransitionState; /** - *

                      The state of the inbound transition, which is either enabled or disabled.

                      + *

                      The name of the stage.

                      */ - inboundTransitionState?: TransitionState; + stageName?: string; /** *

                      Information about the latest execution in the stage, including its ID and @@ -2374,9 +2374,13 @@ export namespace StageState { */ export interface GetPipelineStateOutput { /** - *

                      The date and time the pipeline was last updated, in timestamp format.

                      + *

                      The version number of the pipeline.

                      + * + *

                      A newly created pipeline is always assigned a version number of + * 1.

                      + *
                      */ - updated?: Date; + pipelineVersion?: number; /** *

                      A list of the pipeline stage output information, including stage name, state, most @@ -2385,18 +2389,14 @@ export interface GetPipelineStateOutput { stageStates?: StageState[]; /** - *

                      The date and time the pipeline was created, in timestamp format.

                      + *

                      The date and time the pipeline was last updated, in timestamp format.

                      */ - created?: Date; + updated?: Date; /** - *

                      The version number of the pipeline.

                      - * - *

                      A newly created pipeline is always assigned a version number of - * 1.

                      - *
                      + *

                      The date and time the pipeline was created, in timestamp format.

                      */ - pipelineVersion?: number; + created?: Date; /** *

                      The name of the pipeline for which you want to get the state.

                      @@ -2414,16 +2414,16 @@ export namespace GetPipelineStateOutput { *

                      Represents the input of a GetThirdPartyJobDetails action.

                      */ export interface GetThirdPartyJobDetailsInput { - /** - *

                      The unique system-generated ID used for identifying the job.

                      - */ - jobId: string | undefined; - /** *

                      The clientToken portion of the clientId and clientToken pair used to verify that * the calling entity is allowed access to the job and its details.

                      */ clientToken: string | undefined; + + /** + *

                      The unique system-generated ID used for identifying the job.

                      + */ + jobId: string | undefined; } export namespace GetThirdPartyJobDetailsInput { @@ -2437,10 +2437,20 @@ export namespace GetThirdPartyJobDetailsInput { */ export interface ThirdPartyJobData { /** - *

                      A system-generated token, such as a AWS CodeDeploy deployment ID, that a job - * requires to continue the job asynchronously.

                      + *

                      Represents information about a pipeline to a job worker.

                      + * + *

                      Does not include pipelineArn and pipelineExecutionId + * for ThirdParty jobs.

                      + *
                      */ - continuationToken?: string; + pipelineContext?: PipelineContext; + + /** + *

                      The encryption key used to encrypt and decrypt data in the artifact store for the + * pipeline, such as an AWS Key Management Service (AWS KMS) key. This is optional and + * might not be present.

                      + */ + encryptionKey?: EncryptionKey; /** *

                      Represents an AWS session credentials object. These credentials are temporary @@ -2451,32 +2461,10 @@ export interface ThirdPartyJobData { artifactCredentials?: AWSSessionCredentials; /** - *

                      Represents information about an action configuration.

                      - */ - actionConfiguration?: ActionConfiguration; - - /** - *

                      The name of the artifact that is the result of the action, if any. This name might - * be system-generated, such as "MyBuiltApp", or it might be defined by the user when the - * action is created.

                      - */ - outputArtifacts?: Artifact[]; - - /** - *

                      The encryption key used to encrypt and decrypt data in the artifact store for the - * pipeline, such as an AWS Key Management Service (AWS KMS) key. This is optional and - * might not be present.

                      - */ - encryptionKey?: EncryptionKey; - - /** - *

                      Represents information about a pipeline to a job worker.

                      - * - *

                      Does not include pipelineArn and pipelineExecutionId - * for ThirdParty jobs.

                      - *
                      + *

                      A system-generated token, such as a AWS CodeDeploy deployment ID, that a job + * requires to continue the job asynchronously.

                      */ - pipelineContext?: PipelineContext; + continuationToken?: string; /** *

                      Represents information about an action type.

                      @@ -2490,6 +2478,18 @@ export interface ThirdPartyJobData { * by an action in an earlier action or stage of the pipeline.

                      */ inputArtifacts?: Artifact[]; + + /** + *

                      The name of the artifact that is the result of the action, if any. This name might + * be system-generated, such as "MyBuiltApp", or it might be defined by the user when the + * action is created.

                      + */ + outputArtifacts?: Artifact[]; + + /** + *

                      Represents information about an action configuration.

                      + */ + actionConfiguration?: ActionConfiguration; } export namespace ThirdPartyJobData { @@ -2584,6 +2584,17 @@ export namespace InvalidNextTokenException { } export interface ListActionExecutionsInput { + /** + *

                      Input information used to filter action execution history.

                      + */ + filter?: ActionExecutionFilter; + + /** + *

                      The token that was returned from the previous ListActionExecutions call, + * which can be used to return the next set of action executions in the list.

                      + */ + nextToken?: string; + /** *

                      The maximum number of results to return in a single call. To retrieve the remaining * results, make another call with the returned nextToken value. Action execution history @@ -2596,21 +2607,10 @@ export interface ListActionExecutionsInput { */ maxResults?: number; - /** - *

                      Input information used to filter action execution history.

                      - */ - filter?: ActionExecutionFilter; - /** *

                      The name of the pipeline for which you want to list action execution history.

                      */ pipelineName: string | undefined; - - /** - *

                      The token that was returned from the previous ListActionExecutions call, - * which can be used to return the next set of action executions in the list.

                      - */ - nextToken?: string; } export namespace ListActionExecutionsInput { @@ -2665,17 +2665,17 @@ export namespace ListActionTypesInput { *

                      Represents the output of a ListActionTypes action.

                      */ export interface ListActionTypesOutput { - /** - *

                      Provides details of the action types.

                      - */ - actionTypes: ActionType[] | undefined; - /** *

                      If the amount of returned information is significantly large, an identifier is also * returned. It can be used in a subsequent list action types call to return the next set * of action types in the list.

                      */ nextToken?: string; + + /** + *

                      Provides details of the action types.

                      + */ + actionTypes: ActionType[] | undefined; } export namespace ListActionTypesOutput { @@ -2688,12 +2688,6 @@ export namespace ListActionTypesOutput { *

                      Represents the input of a ListPipelineExecutions action.

                      */ export interface ListPipelineExecutionsInput { - /** - *

                      The name of the pipeline for which you want to get execution summary - * information.

                      - */ - pipelineName: string | undefined; - /** *

                      The maximum number of results to return in a single call. To retrieve the remaining * results, make another call with the returned nextToken value. Pipeline history is @@ -2702,6 +2696,12 @@ export interface ListPipelineExecutionsInput { */ maxResults?: number; + /** + *

                      The name of the pipeline for which you want to get execution summary + * information.

                      + */ + pipelineName: string | undefined; + /** *

                      The token that was returned from the previous ListPipelineExecutions * call, which can be used to return the next set of pipeline executions in the @@ -2721,6 +2721,12 @@ export namespace ListPipelineExecutionsInput { * pipeline execution.

                      */ export interface SourceRevision { + /** + *

                      The commit ID for the artifact revision. For artifacts stored in GitHub or AWS + * CodeCommit repositories, the commit ID is linked to a commit details page.

                      + */ + revisionUrl?: string; + /** *

                      Summary information about the most recent revision of the artifact. For GitHub and * AWS CodeCommit repositories, the commit message. For Amazon S3 buckets or actions, the @@ -2730,22 +2736,16 @@ export interface SourceRevision { revisionSummary?: string; /** - *

                      The commit ID for the artifact revision. For artifacts stored in GitHub or AWS - * CodeCommit repositories, the commit ID is linked to a commit details page.

                      + *

                      The name of the action that processed the revision to the source + * artifact.

                      */ - revisionUrl?: string; + actionName: string | undefined; /** *

                      The system-generated unique ID that identifies the revision number of the * artifact.

                      */ revisionId?: string; - - /** - *

                      The name of the action that processed the revision to the source - * artifact.

                      - */ - actionName: string | undefined; } export namespace SourceRevision { @@ -2808,37 +2808,37 @@ export namespace ExecutionTrigger { */ export interface PipelineExecutionSummary { /** - *

                      The interaction or event that started a pipeline execution, such as automated change - * detection or a StartPipelineExecution API call.

                      + *

                      The ID of the pipeline execution.

                      */ - trigger?: ExecutionTrigger; + pipelineExecutionId?: string; /** - *

                      The date and time when the pipeline execution began, in timestamp format.

                      + *

                      The interaction that stopped a pipeline execution.

                      */ - startTime?: Date; + stopTrigger?: StopExecutionTrigger; /** - *

                      The date and time of the last change to the pipeline execution, in timestamp - * format.

                      + *

                      The date and time when the pipeline execution began, in timestamp format.

                      */ - lastUpdateTime?: Date; + startTime?: Date; /** - *

                      The ID of the pipeline execution.

                      + *

                      A list of the source artifact revisions that initiated a pipeline + * execution.

                      */ - pipelineExecutionId?: string; + sourceRevisions?: SourceRevision[]; /** - *

                      The interaction that stopped a pipeline execution.

                      + *

                      The interaction or event that started a pipeline execution, such as automated change + * detection or a StartPipelineExecution API call.

                      */ - stopTrigger?: StopExecutionTrigger; + trigger?: ExecutionTrigger; /** - *

                      A list of the source artifact revisions that initiated a pipeline - * execution.

                      + *

                      The date and time of the last change to the pipeline execution, in timestamp + * format.

                      */ - sourceRevisions?: SourceRevision[]; + lastUpdateTime?: Date; /** *

                      The status of the pipeline execution.

                      @@ -2881,17 +2881,17 @@ export namespace PipelineExecutionSummary { *

                      Represents the output of a ListPipelineExecutions action.

                      */ export interface ListPipelineExecutionsOutput { - /** - *

                      A list of executions in the history of a pipeline.

                      - */ - pipelineExecutionSummaries?: PipelineExecutionSummary[]; - /** *

                      A token that can be used in the next ListPipelineExecutions call. To * view all items in the list, continue to call this operation with each subsequent token * until no more nextToken values are returned.

                      */ nextToken?: string; + + /** + *

                      A list of executions in the history of a pipeline.

                      + */ + pipelineExecutionSummaries?: PipelineExecutionSummary[]; } export namespace ListPipelineExecutionsOutput { @@ -2928,14 +2928,14 @@ export interface PipelineSummary { updated?: Date; /** - *

                      The name of the pipeline.

                      + *

                      The version number of the pipeline.

                      */ - name?: string; + version?: number; /** - *

                      The version number of the pipeline.

                      + *

                      The name of the pipeline.

                      */ - version?: number; + name?: string; /** *

                      The date and time the pipeline was created, in timestamp format.

                      @@ -2989,9 +2989,9 @@ export namespace InvalidArnException { export interface ListTagsForResourceInput { /** - *

                      The maximum number of results to return in a single call.

                      + *

                      The Amazon Resource Name (ARN) of the resource to get tags for.

                      */ - maxResults?: number; + resourceArn: string | undefined; /** *

                      The token that was returned from the previous API call, which would be used to return @@ -3001,9 +3001,9 @@ export interface ListTagsForResourceInput { nextToken?: string; /** - *

                      The Amazon Resource Name (ARN) of the resource to get tags for.

                      + *

                      The maximum number of results to return in a single call.

                      */ - resourceArn: string | undefined; + maxResults?: number; } export namespace ListTagsForResourceInput { @@ -3013,6 +3013,11 @@ export namespace ListTagsForResourceInput { } export interface ListTagsForResourceOutput { + /** + *

                      The tags for the resource.

                      + */ + tags?: Tag[]; + /** *

                      If the amount of returned information is significantly large, an identifier is also * returned and can be used in a subsequent API call to return the next page of the list. @@ -3020,11 +3025,6 @@ export interface ListTagsForResourceOutput { * pagination.

                      */ nextToken?: string; - - /** - *

                      The tags for the resource.

                      - */ - tags?: Tag[]; } export namespace ListTagsForResourceOutput { @@ -3052,17 +3052,17 @@ export namespace ResourceNotFoundException { } export interface ListWebhooksInput { - /** - *

                      The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned nextToken value.

                      - */ - MaxResults?: number; - /** *

                      The token that was returned from the previous ListWebhooks call, which can be used * to return the next set of webhooks in the list.

                      */ NextToken?: string; + + /** + *

                      The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned nextToken value.

                      + */ + MaxResults?: number; } export namespace ListWebhooksInput { @@ -3081,18 +3081,18 @@ export enum WebhookAuthenticationType { *

                      The authentication applied to incoming webhook trigger requests.

                      */ export interface WebhookAuthConfiguration { - /** - *

                      The property used to configure GitHub authentication. For GITHUB_HMAC, only the - * SecretToken property must be set.

                      - */ - SecretToken?: string; - /** *

                      The property used to configure acceptance of webhooks in an IP address range. For * IP, only the AllowedIPRange property must be set. This property must be set * to a valid CIDR range.

                      */ - AllowedIPRange?: string; + AllowedIPRange?: string; + + /** + *

                      The property used to configure GitHub authentication. For GITHUB_HMAC, only the + * SecretToken property must be set.

                      + */ + SecretToken?: string; } export namespace WebhookAuthConfiguration { @@ -3106,6 +3106,15 @@ export namespace WebhookAuthConfiguration { * URL.

                      */ export interface WebhookFilterRule { + /** + *

                      A JsonPath expression that is applied to the body/payload of the webhook. The value + * selected by the JsonPath expression must match the value specified in the + * MatchEquals field. Otherwise, the request is ignored. For more + * information, see Java JsonPath + * implementation in GitHub.

                      + */ + jsonPath: string | undefined; + /** *

                      The value selected by the JsonPath expression must match what is * supplied in the MatchEquals field. Otherwise, the request is ignored. @@ -3117,15 +3126,6 @@ export interface WebhookFilterRule { * action configuration properties for built-in action types, see Pipeline Structure Reference Action Requirements.

                      */ matchEquals?: string; - - /** - *

                      A JsonPath expression that is applied to the body/payload of the webhook. The value - * selected by the JsonPath expression must match the value specified in the - * MatchEquals field. Otherwise, the request is ignored. For more - * information, see Java JsonPath - * implementation in GitHub.

                      - */ - jsonPath: string | undefined; } export namespace WebhookFilterRule { @@ -3139,15 +3139,18 @@ export namespace WebhookFilterRule { */ export interface WebhookDefinition { /** - *

                      The name of the action in a pipeline you want to connect to the webhook. The action - * must be from the source (first) stage of the pipeline.

                      + *

                      The name of the pipeline you want to connect to the webhook.

                      */ - targetAction: string | undefined; + targetPipeline: string | undefined; /** - *

                      The name of the pipeline you want to connect to the webhook.

                      + *

                      Properties that configure the authentication applied to incoming webhook trigger + * requests. The required properties depend on the authentication type. For GITHUB_HMAC, + * only the SecretToken property must be set. For IP, only the + * AllowedIPRange property must be set to a valid CIDR range. For + * UNAUTHENTICATED, no properties can be set.

                      */ - targetPipeline: string | undefined; + authenticationConfiguration: WebhookAuthConfiguration | undefined; /** *

                      Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.

                      @@ -3171,13 +3174,11 @@ export interface WebhookDefinition { authentication: WebhookAuthenticationType | string | undefined; /** - *

                      Properties that configure the authentication applied to incoming webhook trigger - * requests. The required properties depend on the authentication type. For GITHUB_HMAC, - * only the SecretToken property must be set. For IP, only the - * AllowedIPRange property must be set to a valid CIDR range. For - * UNAUTHENTICATED, no properties can be set.

                      + *

                      A list of rules applied to the body/payload sent in the POST request to a webhook + * URL. All defined rules must pass for the request to be accepted and the pipeline + * started.

                      */ - authenticationConfiguration: WebhookAuthConfiguration | undefined; + filters: WebhookFilterRule[] | undefined; /** *

                      The name of the webhook.

                      @@ -3185,11 +3186,10 @@ export interface WebhookDefinition { name: string | undefined; /** - *

                      A list of rules applied to the body/payload sent in the POST request to a webhook - * URL. All defined rules must pass for the request to be accepted and the pipeline - * started.

                      + *

                      The name of the action in a pipeline you want to connect to the webhook. The action + * must be from the source (first) stage of the pipeline.

                      */ - filters: WebhookFilterRule[] | undefined; + targetAction: string | undefined; } export namespace WebhookDefinition { @@ -3203,12 +3203,6 @@ export namespace WebhookDefinition { * URL, the webhook name, and the webhook ARN.

                      */ export interface ListWebhookItem { - /** - *

                      The date and time a webhook was last successfully triggered, in timestamp - * format.

                      - */ - lastTriggered?: Date; - /** *

                      A unique URL generated by CodePipeline. When a POST request is made to this URL, * the defined pipeline is started as long as the body of the post request satisfies the @@ -3218,9 +3212,15 @@ export interface ListWebhookItem { url: string | undefined; /** - *

                      The text of the error message about the webhook.

                      + *

                      The Amazon Resource Name (ARN) of the webhook.

                      */ - errorMessage?: string; + arn?: string; + + /** + *

                      The date and time a webhook was last successfully triggered, in timestamp + * format.

                      + */ + lastTriggered?: Date; /** *

                      The number code of the error.

                      @@ -3228,14 +3228,14 @@ export interface ListWebhookItem { errorCode?: string; /** - *

                      Specifies the tags applied to the webhook.

                      + *

                      The text of the error message about the webhook.

                      */ - tags?: Tag[]; + errorMessage?: string; /** - *

                      The Amazon Resource Name (ARN) of the webhook.

                      + *

                      Specifies the tags applied to the webhook.

                      */ - arn?: string; + tags?: Tag[]; /** *

                      The detail returned for each webhook, such as the webhook authentication type and @@ -3251,18 +3251,18 @@ export namespace ListWebhookItem { } export interface ListWebhooksOutput { + /** + *

                      The JSON detail returned for each webhook in the list output for the ListWebhooks + * call.

                      + */ + webhooks?: ListWebhookItem[]; + /** *

                      If the amount of returned information is significantly large, an identifier is also * returned and can be used in a subsequent ListWebhooks call to return the next set of * webhooks in the list.

                      */ NextToken?: string; - - /** - *

                      The JSON detail returned for each webhook in the list output for the ListWebhooks - * call.

                      - */ - webhooks?: ListWebhookItem[]; } export namespace ListWebhooksOutput { @@ -3275,6 +3275,11 @@ export namespace ListWebhooksOutput { *

                      Represents the input of a PollForJobs action.

                      */ export interface PollForJobsInput { + /** + *

                      The maximum number of jobs to return in a poll for jobs call.

                      + */ + maxBatchSize?: number; + /** *

                      A map of property names and values. For an action type with no queryable * properties, this value must be null or an empty map. For an action type with a queryable @@ -3283,11 +3288,6 @@ export interface PollForJobsInput { */ queryParam?: { [key: string]: string }; - /** - *

                      The maximum number of jobs to return in a poll for jobs call.

                      - */ - maxBatchSize?: number; - /** *

                      Represents information about an action type.

                      */ @@ -3304,11 +3304,6 @@ export namespace PollForJobsInput { *

                      Represents information about a job.

                      */ export interface Job { - /** - *

                      The ID of the AWS account to use when performing the job.

                      - */ - accountId?: string; - /** *

                      A system-generated random number that AWS CodePipeline uses to ensure that the job * is being worked on by only one job worker. Use this number in an AcknowledgeJob request.

                      @@ -3320,6 +3315,11 @@ export interface Job { */ id?: string; + /** + *

                      The ID of the AWS account to use when performing the job.

                      + */ + accountId?: string; + /** *

                      Other data about a job.

                      */ @@ -3427,14 +3427,14 @@ export interface PutActionRevisionInput { pipelineName: string | undefined; /** - *

                      The name of the action that processes the revision.

                      + *

                      Represents information about the version (or revision) of an action.

                      */ - actionName: string | undefined; + actionRevision: ActionRevision | undefined; /** - *

                      Represents information about the version (or revision) of an action.

                      + *

                      The name of the action that processes the revision.

                      */ - actionRevision: ActionRevision | undefined; + actionName: string | undefined; } export namespace PutActionRevisionInput { @@ -3448,15 +3448,15 @@ export namespace PutActionRevisionInput { */ export interface PutActionRevisionOutput { /** - *

                      Indicates whether the artifact revision was previously used in an execution of the - * specified pipeline.

                      + *

                      The ID of the current workflow state of the pipeline.

                      */ - newRevision?: boolean; + pipelineExecutionId?: string; /** - *

                      The ID of the current workflow state of the pipeline.

                      + *

                      Indicates whether the artifact revision was previously used in an execution of the + * specified pipeline.

                      */ - pipelineExecutionId?: string; + newRevision?: boolean; } export namespace PutActionRevisionOutput { @@ -3497,6 +3497,11 @@ export interface PutApprovalResultInput { */ result: ApprovalResult | undefined; + /** + *

                      The name of the stage that contains the action.

                      + */ + stageName: string | undefined; + /** *

                      The name of the action for which approval is requested.

                      */ @@ -3508,11 +3513,6 @@ export interface PutApprovalResultInput { * request corresponding to this token is still valid.

                      */ token: string | undefined; - - /** - *

                      The name of the stage that contains the action.

                      - */ - stageName: string | undefined; } export namespace PutApprovalResultInput { @@ -3569,9 +3569,9 @@ export enum FailureType { */ export interface FailureDetails { /** - *

                      The external ID of the run of the action that failed.

                      + *

                      The type of the failure.

                      */ - externalExecutionId?: string; + type: FailureType | string | undefined; /** *

                      The message about the failure.

                      @@ -3579,9 +3579,9 @@ export interface FailureDetails { message: string | undefined; /** - *

                      The type of the failure.

                      + *

                      The external ID of the run of the action that failed.

                      */ - type: FailureType | string | undefined; + externalExecutionId?: string; } export namespace FailureDetails { @@ -3595,15 +3595,15 @@ export namespace FailureDetails { */ export interface PutJobFailureResultInput { /** - *

                      The unique system-generated ID of the job that failed. This is the same ID returned - * from PollForJobs.

                      + *

                      The details about the failure of a job.

                      */ - jobId: string | undefined; + failureDetails: FailureDetails | undefined; /** - *

                      The details about the failure of a job.

                      + *

                      The unique system-generated ID of the job that failed. This is the same ID returned + * from PollForJobs.

                      */ - failureDetails: FailureDetails | undefined; + jobId: string | undefined; } export namespace PutJobFailureResultInput { @@ -3631,17 +3631,17 @@ export namespace OutputVariablesSizeExceededException { *

                      Represents information about a current revision.

                      */ export interface CurrentRevision { - /** - *

                      The summary of the most recent revision of the artifact.

                      - */ - revisionSummary?: string; - /** *

                      The date and time when the most recent revision of the artifact was created, in * timestamp format.

                      */ created?: Date; + /** + *

                      The summary of the most recent revision of the artifact.

                      + */ + revisionSummary?: string; + /** *

                      The change identifier for the current revision.

                      */ @@ -3692,6 +3692,12 @@ export namespace ExecutionDetails { *

                      Represents the input of a PutJobSuccessResult action.

                      */ export interface PutJobSuccessResultInput { + /** + *

                      The unique system-generated ID of the job that succeeded. This is the same ID + * returned from PollForJobs.

                      + */ + jobId: string | undefined; + /** *

                      Key-value pairs produced as output by a job worker that can be made available to a * downstream action configuration. outputVariables can be included only when @@ -3705,18 +3711,6 @@ export interface PutJobSuccessResultInput { */ currentRevision?: CurrentRevision; - /** - *

                      The execution details of the successful job, such as the actions taken by the job - * worker.

                      - */ - executionDetails?: ExecutionDetails; - - /** - *

                      The unique system-generated ID of the job that succeeded. This is the same ID - * returned from PollForJobs.

                      - */ - jobId: string | undefined; - /** *

                      A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a * successful job provides to identify a custom action in progress. Future jobs use this @@ -3725,6 +3719,12 @@ export interface PutJobSuccessResultInput { * continuation token should be supplied.

                      */ continuationToken?: string; + + /** + *

                      The execution details of the successful job, such as the actions taken by the job + * worker.

                      + */ + executionDetails?: ExecutionDetails; } export namespace PutJobSuccessResultInput { @@ -3738,18 +3738,18 @@ export namespace PutJobSuccessResultInput { * action.

                      */ export interface PutThirdPartyJobFailureResultInput { - /** - *

                      The clientToken portion of the clientId and clientToken pair used to verify that - * the calling entity is allowed access to the job and its details.

                      - */ - clientToken: string | undefined; - /** *

                      The ID of the job that failed. This is the same ID returned from * PollForThirdPartyJobs.

                      */ jobId: string | undefined; + /** + *

                      The clientToken portion of the clientId and clientToken pair used to verify that + * the calling entity is allowed access to the job and its details.

                      + */ + clientToken: string | undefined; + /** *

                      Represents information about failure details.

                      */ @@ -3767,17 +3767,6 @@ export namespace PutThirdPartyJobFailureResultInput { * action.

                      */ export interface PutThirdPartyJobSuccessResultInput { - /** - *

                      Represents information about a current revision.

                      - */ - currentRevision?: CurrentRevision; - - /** - *

                      The ID of the job that successfully completed. This is the same ID returned from - * PollForThirdPartyJobs.

                      - */ - jobId: string | undefined; - /** *

                      The details of the actions taken and results produced on an artifact as it passes * through stages in the pipeline.

                      @@ -3785,10 +3774,9 @@ export interface PutThirdPartyJobSuccessResultInput { executionDetails?: ExecutionDetails; /** - *

                      The clientToken portion of the clientId and clientToken pair used to verify that - * the calling entity is allowed access to the job and its details.

                      + *

                      Represents information about a current revision.

                      */ - clientToken: string | undefined; + currentRevision?: CurrentRevision; /** *

                      A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a @@ -3798,6 +3786,18 @@ export interface PutThirdPartyJobSuccessResultInput { * continuation token should be supplied.

                      */ continuationToken?: string; + + /** + *

                      The clientToken portion of the clientId and clientToken pair used to verify that + * the calling entity is allowed access to the job and its details.

                      + */ + clientToken: string | undefined; + + /** + *

                      The ID of the job that successfully completed. This is the same ID returned from + * PollForThirdPartyJobs.

                      + */ + jobId: string | undefined; } export namespace PutThirdPartyJobSuccessResultInput { @@ -3927,10 +3927,9 @@ export enum StageRetryMode { */ export interface RetryStageExecutionInput { /** - *

                      The ID of the pipeline execution in the failed stage to be retried. Use the GetPipelineState action to retrieve the current pipelineExecutionId of - * the failed stage

                      + *

                      The name of the pipeline that contains the failed stage.

                      */ - pipelineExecutionId: string | undefined; + pipelineName: string | undefined; /** *

                      The name of the failed stage to be retried.

                      @@ -3944,9 +3943,10 @@ export interface RetryStageExecutionInput { retryMode: StageRetryMode | string | undefined; /** - *

                      The name of the pipeline that contains the failed stage.

                      + *

                      The ID of the pipeline execution in the failed stage to be retried. Use the GetPipelineState action to retrieve the current pipelineExecutionId of + * the failed stage

                      */ - pipelineName: string | undefined; + pipelineExecutionId: string | undefined; } export namespace RetryStageExecutionInput { @@ -3995,16 +3995,16 @@ export namespace StageNotRetryableException { *

                      Represents the input of a StartPipelineExecution action.

                      */ export interface StartPipelineExecutionInput { - /** - *

                      The name of the pipeline to start.

                      - */ - name: string | undefined; - /** *

                      The system-generated unique ID used to identify a unique execution * request.

                      */ clientRequestToken?: string; + + /** + *

                      The name of the pipeline to start.

                      + */ + name: string | undefined; } export namespace StartPipelineExecutionInput { @@ -4140,14 +4140,14 @@ export namespace TagResourceOutput { export interface UntagResourceInput { /** - *

                      The list of keys for the tags to be removed from the resource.

                      + *

                      The Amazon Resource Name (ARN) of the resource to remove tags from.

                      */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; /** - *

                      The Amazon Resource Name (ARN) of the resource to remove tags from.

                      + *

                      The list of keys for the tags to be removed from the resource.

                      */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; } export namespace UntagResourceInput { diff --git a/clients/client-codestar-connections/models/models_0.ts b/clients/client-codestar-connections/models/models_0.ts index 9efea59e77aa..33a4c22f3c00 100644 --- a/clients/client-codestar-connections/models/models_0.ts +++ b/clients/client-codestar-connections/models/models_0.ts @@ -3,6 +3,7 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export enum ProviderType { BITBUCKET = "Bitbucket", + GITHUB = "GitHub", GITHUB_ENTERPRISE_SERVER = "GitHubEnterpriseServer", } @@ -30,15 +31,9 @@ export namespace Tag { export interface CreateConnectionInput { /** - *

                      The Amazon Resource Name (ARN) of the host associated with the connection to be created.

                      - */ - HostArn?: string; - - /** - *

                      The name of the external provider where your third-party code repository is configured. - * The valid provider type is Bitbucket.

                      + *

                      The key-value pair to use when tagging the resource.

                      */ - ProviderType?: ProviderType | string; + Tags?: Tag[]; /** *

                      The name of the connection to be created. The name must be unique in the calling AWS @@ -47,9 +42,15 @@ export interface CreateConnectionInput { ConnectionName: string | undefined; /** - *

                      The key-value pair to use when tagging the resource.

                      + *

                      The name of the external provider where your third-party code repository is configured. + * The valid provider type is Bitbucket.

                      */ - Tags?: Tag[]; + ProviderType?: ProviderType | string; + + /** + *

                      The Amazon Resource Name (ARN) of the host associated with the connection to be created.

                      + */ + HostArn?: string; } export namespace CreateConnectionInput { @@ -59,11 +60,6 @@ export namespace CreateConnectionInput { } export interface CreateConnectionOutput { - /** - *

                      Specifies the tags applied to the resource.

                      - */ - Tags?: Tag[]; - /** *

                      The Amazon Resource Name (ARN) of the connection to be created. The ARN is used as the * connection reference when the connection is shared between AWS services.

                      @@ -72,6 +68,11 @@ export interface CreateConnectionOutput { * */ ConnectionArn: string | undefined; + + /** + *

                      Specifies the tags applied to the resource.

                      + */ + Tags?: Tag[]; } export namespace CreateConnectionOutput { @@ -130,16 +131,9 @@ export namespace ResourceUnavailableException { */ export interface VpcConfiguration { /** - *

                      The ID of the security group or security groups associated with the Amazon VPC connected - * to the infrastructure where your provider type is installed.

                      - */ - SecurityGroupIds: string[] | undefined; - - /** - *

                      The ID of the Amazon VPC connected to the infrastructure where your provider type is - * installed.

                      + *

                      The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.

                      */ - VpcId: string | undefined; + TlsCertificate?: string; /** *

                      The ID of the subnet or subnets associated with the Amazon VPC connected to the @@ -148,9 +142,16 @@ export interface VpcConfiguration { SubnetIds: string[] | undefined; /** - *

                      The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.

                      + *

                      The ID of the security group or security groups associated with the Amazon VPC connected + * to the infrastructure where your provider type is installed.

                      */ - TlsCertificate?: string; + SecurityGroupIds: string[] | undefined; + + /** + *

                      The ID of the Amazon VPC connected to the infrastructure where your provider type is + * installed.

                      + */ + VpcId: string | undefined; } export namespace VpcConfiguration { @@ -167,6 +168,12 @@ export interface CreateHostInput { */ ProviderType: ProviderType | string | undefined; + /** + *

                      The name of the host to be created. The name must be unique in the calling AWS + * account.

                      + */ + Name: string | undefined; + /** *

                      The VPC configuration to be provisioned for the host. A VPC must be configured and the * infrastructure to be represented by the host must already be connected to the VPC.

                      @@ -178,12 +185,6 @@ export interface CreateHostInput { * created.

                      */ ProviderEndpoint: string | undefined; - - /** - *

                      The name of the host to be created. The name must be unique in the calling AWS - * account.

                      - */ - Name: string | undefined; } export namespace CreateHostInput { @@ -284,6 +285,11 @@ export interface Connection { */ ConnectionArn?: string; + /** + *

                      The name of the connection. Connection names must be unique in an AWS user account.

                      + */ + ConnectionName?: string; + /** *

                      The Amazon Resource Name (ARN) of the host associated with the connection.

                      */ @@ -305,11 +311,6 @@ export interface Connection { * For Bitbucket, this is the account ID of the owner of the Bitbucket repository.

                      */ OwnerAccountId?: string; - - /** - *

                      The name of the connection. Connection names must be unique in an AWS user account.

                      - */ - ConnectionName?: string; } export namespace Connection { @@ -351,9 +352,9 @@ export interface GetHostOutput { ProviderType?: ProviderType | string; /** - *

                      The VPC configuration of the requested host.

                      + *

                      The name of the requested host.

                      */ - VpcConfiguration?: VpcConfiguration; + Name?: string; /** *

                      The endpoint of the infrastructure represented by the requested host.

                      @@ -361,14 +362,14 @@ export interface GetHostOutput { ProviderEndpoint?: string; /** - *

                      The status of the requested host.

                      + *

                      The VPC configuration of the requested host.

                      */ - Status?: string; + VpcConfiguration?: VpcConfiguration; /** - *

                      The name of the requested host.

                      + *

                      The status of the requested host.

                      */ - Name?: string; + Status?: string; } export namespace GetHostOutput { @@ -378,17 +379,18 @@ export namespace GetHostOutput { } export interface ListConnectionsInput { - /** - *

                      Filters the list of connections to those associated with a specified host.

                      - */ - HostArnFilter?: string; - /** *

                      Filters the list of connections to those associated with a specified provider, such as * Bitbucket.

                      */ ProviderTypeFilter?: ProviderType | string; + /** + *

                      The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned nextToken value.

                      + */ + MaxResults?: number; + /** *

                      The token that was returned from the previous ListConnections call, which * can be used to return the next set of connections in the list.

                      @@ -396,10 +398,9 @@ export interface ListConnectionsInput { NextToken?: string; /** - *

                      The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned nextToken value.

                      + *

                      Filters the list of connections to those associated with a specified host.

                      */ - MaxResults?: number; + HostArnFilter?: string; } export namespace ListConnectionsInput { @@ -409,18 +410,18 @@ export namespace ListConnectionsInput { } export interface ListConnectionsOutput { + /** + *

                      A list of connections and the details for each connection, such as status, owner, and + * provider type.

                      + */ + Connections?: Connection[]; + /** *

                      A token that can be used in the next ListConnections call. To view all * items in the list, continue to call this operation with each subsequent token until no more * nextToken values are returned.

                      */ NextToken?: string; - - /** - *

                      A list of connections and the details for each connection, such as status, owner, and - * provider type.

                      - */ - Connections?: Connection[]; } export namespace ListConnectionsOutput { @@ -430,17 +431,17 @@ export namespace ListConnectionsOutput { } export interface ListHostsInput { - /** - *

                      The token that was returned from the previous ListHosts call, which can be - * used to return the next set of hosts in the list.

                      - */ - NextToken?: string; - /** *

                      The maximum number of results to return in a single call. To retrieve the remaining * results, make another call with the returned nextToken value.

                      */ MaxResults?: number; + + /** + *

                      The token that was returned from the previous ListHosts call, which can be + * used to return the next set of hosts in the list.

                      + */ + NextToken?: string; } export namespace ListHostsInput { @@ -460,19 +461,21 @@ export namespace ListHostsInput { */ export interface Host { /** - *

                      The VPC configuration provisioned for the host.

                      + *

                      The status description for the host.

                      */ - VpcConfiguration?: VpcConfiguration; + StatusMessage?: string; /** - *

                      The name of the host.

                      + *

                      The name of the installed provider to be associated with your connection. The host + * resource represents the infrastructure where your provider type is installed. The valid + * provider type is GitHub Enterprise Server.

                      */ - Name?: string; + ProviderType?: ProviderType | string; /** - *

                      The endpoint of the infrastructure where your provider type is installed.

                      + *

                      The name of the host.

                      */ - ProviderEndpoint?: string; + Name?: string; /** *

                      The Amazon Resource Name (ARN) of the host.

                      @@ -480,21 +483,19 @@ export interface Host { HostArn?: string; /** - *

                      The status of the host, such as PENDING, AVAILABLE, VPC_CONFIG_DELETING, VPC_CONFIG_INITIALIZING, and VPC_CONFIG_FAILED_INITIALIZATION.

                      + *

                      The VPC configuration provisioned for the host.

                      */ - Status?: string; + VpcConfiguration?: VpcConfiguration; /** - *

                      The status description for the host.

                      + *

                      The status of the host, such as PENDING, AVAILABLE, VPC_CONFIG_DELETING, VPC_CONFIG_INITIALIZING, and VPC_CONFIG_FAILED_INITIALIZATION.

                      */ - StatusMessage?: string; + Status?: string; /** - *

                      The name of the installed provider to be associated with your connection. The host - * resource represents the infrastructure where your provider type is installed. The valid - * provider type is GitHub Enterprise Server.

                      + *

                      The endpoint of the infrastructure where your provider type is installed.

                      */ - ProviderType?: ProviderType | string; + ProviderEndpoint?: string; } export namespace Host { @@ -504,18 +505,18 @@ export namespace Host { } export interface ListHostsOutput { + /** + *

                      A list of hosts and the details for each host, such as status, endpoint, and provider + * type.

                      + */ + Hosts?: Host[]; + /** *

                      A token that can be used in the next ListHosts call. To view all items in the * list, continue to call this operation with each subsequent token until no more * nextToken values are returned.

                      */ NextToken?: string; - - /** - *

                      A list of hosts and the details for each host, such as status, endpoint, and provider - * type.

                      - */ - Hosts?: Host[]; } export namespace ListHostsOutput { @@ -578,14 +579,14 @@ export namespace TagResourceOutput { export interface UntagResourceInput { /** - *

                      The list of keys for the tags to be removed from the resource.

                      + *

                      The Amazon Resource Name (ARN) of the resource to remove tags from.

                      */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; /** - *

                      The Amazon Resource Name (ARN) of the resource to remove tags from.

                      + *

                      The list of keys for the tags to be removed from the resource.

                      */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceInput { diff --git a/clients/client-codestar-notifications/models/models_0.ts b/clients/client-codestar-notifications/models/models_0.ts index 7ae1d0a7ba17..a415b1e49caf 100644 --- a/clients/client-codestar-notifications/models/models_0.ts +++ b/clients/client-codestar-notifications/models/models_0.ts @@ -63,14 +63,14 @@ export enum NotificationRuleStatus { */ export interface Target { /** - *

                      The Amazon Resource Name (ARN) of the SNS topic.

                      + *

                      The target type. Can be an Amazon SNS topic.

                      */ - TargetAddress?: string; + TargetType?: string; /** - *

                      The target type. Can be an Amazon SNS topic.

                      + *

                      The Amazon Resource Name (ARN) of the SNS topic.

                      */ - TargetType?: string; + TargetAddress?: string; } export namespace Target { @@ -81,16 +81,34 @@ export namespace Target { } export interface CreateNotificationRuleRequest { + /** + *

                      The status of the notification rule. The default value is ENABLED. If the status is + * set to DISABLED, notifications aren't sent for the notification rule.

                      + */ + Status?: NotificationRuleStatus | string; + /** *

                      A list of tags to apply to this notification rule. Key names cannot start with "aws".

                      */ Tags?: { [key: string]: string }; /** - *

                      A list of event types associated with this notification rule. For a list of allowed - * events, see EventTypeSummary.

                      + *

                      The name for the notification rule. Notifictaion rule names must be unique in your AWS + * account.

                      */ - EventTypeIds: string[] | undefined; + Name: string | undefined; + + /** + *

                      The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in AWS CodePipeline, + * repositories in AWS CodeCommit, and build projects in AWS CodeBuild.

                      + */ + Resource: string | undefined; + + /** + *

                      A list of Amazon Resource Names (ARNs) of SNS topics to associate with the + * notification rule.

                      + */ + Targets: Target[] | undefined; /** *

                      A unique, client-generated idempotency token that, when provided in a request, ensures @@ -112,35 +130,17 @@ export interface CreateNotificationRuleRequest { DetailType: DetailType | string | undefined; /** - *

                      The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in AWS CodePipeline, - * repositories in AWS CodeCommit, and build projects in AWS CodeBuild.

                      - */ - Resource: string | undefined; - - /** - *

                      The status of the notification rule. The default value is ENABLED. If the status is - * set to DISABLED, notifications aren't sent for the notification rule.

                      - */ - Status?: NotificationRuleStatus | string; - - /** - *

                      A list of Amazon Resource Names (ARNs) of SNS topics to associate with the - * notification rule.

                      - */ - Targets: Target[] | undefined; - - /** - *

                      The name for the notification rule. Notifictaion rule names must be unique in your AWS - * account.

                      + *

                      A list of event types associated with this notification rule. For a list of allowed + * events, see EventTypeSummary.

                      */ - Name: string | undefined; + EventTypeIds: string[] | undefined; } export namespace CreateNotificationRuleRequest { export const filterSensitiveLog = (obj: CreateNotificationRuleRequest): any => ({ ...obj, - ...(obj.Targets && { Targets: obj.Targets.map((item) => Target.filterSensitiveLog(item)) }), ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Targets && { Targets: obj.Targets.map((item) => Target.filterSensitiveLog(item)) }), }); } @@ -283,9 +283,9 @@ export interface EventTypeSummary { EventTypeId?: string; /** - *

                      The resource type of the event.

                      + *

                      The name of the event.

                      */ - ResourceType?: string; + EventTypeName?: string; /** *

                      The name of the service for which the event applies.

                      @@ -293,9 +293,9 @@ export interface EventTypeSummary { ServiceName?: string; /** - *

                      The name of the event.

                      + *

                      The resource type of the event.

                      */ - EventTypeName?: string; + ResourceType?: string; } export namespace EventTypeSummary { @@ -317,9 +317,9 @@ export enum TargetStatus { */ export interface TargetSummary { /** - *

                      The Amazon Resource Name (ARN) of the SNS topic.

                      + *

                      The type of the target (for example, SNS).

                      */ - TargetAddress?: string; + TargetType?: string; /** *

                      The status of the target.

                      @@ -327,9 +327,9 @@ export interface TargetSummary { TargetStatus?: TargetStatus | string; /** - *

                      The type of the target (for example, SNS).

                      + *

                      The Amazon Resource Name (ARN) of the SNS topic.

                      */ - TargetType?: string; + TargetAddress?: string; } export namespace TargetSummary { @@ -341,28 +341,9 @@ export namespace TargetSummary { export interface DescribeNotificationRuleResult { /** - *

                      The Amazon Resource Name (ARN) of the notification rule.

                      - */ - Arn: string | undefined; - - /** - *

                      The date and time the notification rule was most recently updated, in timestamp - * format.

                      - */ - LastModifiedTimestamp?: Date; - - /** - *

                      The level of detail included in the notifications for this resource. BASIC will include only the - * contents of the event as it would appear in AWS CloudWatch. FULL will include any supplemental information - * provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

                      - */ - DetailType?: DetailType | string; - - /** - *

                      The status of the notification rule. Valid statuses are on (sending notifications) or off - * (not sending notifications).

                      + *

                      A list of the SNS topics associated with the notification rule.

                      */ - Status?: NotificationRuleStatus | string; + Targets?: TargetSummary[]; /** *

                      A list of the event types associated with the notification rule.

                      @@ -375,37 +356,56 @@ export interface DescribeNotificationRuleResult { */ Resource?: string; + /** + *

                      The date and time the notification rule was most recently updated, in timestamp + * format.

                      + */ + LastModifiedTimestamp?: Date; + /** *

                      The name of the notification rule.

                      */ Name?: string; /** - *

                      The tags associated with the notification rule.

                      + *

                      The Amazon Resource Name (ARN) of the notification rule.

                      */ - Tags?: { [key: string]: string }; + Arn: string | undefined; /** - *

                      The date and time the notification rule was created, in timestamp format.

                      + *

                      The tags associated with the notification rule.

                      */ - CreatedTimestamp?: Date; + Tags?: { [key: string]: string }; /** - *

                      A list of the SNS topics associated with the notification rule.

                      + *

                      The status of the notification rule. Valid statuses are on (sending notifications) or off + * (not sending notifications).

                      */ - Targets?: TargetSummary[]; + Status?: NotificationRuleStatus | string; /** *

                      The name or email alias of the person who created the notification rule.

                      */ CreatedBy?: string; + + /** + *

                      The date and time the notification rule was created, in timestamp format.

                      + */ + CreatedTimestamp?: Date; + + /** + *

                      The level of detail included in the notifications for this resource. BASIC will include only the + * contents of the event as it would appear in AWS CloudWatch. FULL will include any supplemental information + * provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

                      + */ + DetailType?: DetailType | string; } export namespace DescribeNotificationRuleResult { export const filterSensitiveLog = (obj: DescribeNotificationRuleResult): any => ({ ...obj, - ...(obj.Name && { Name: SENSITIVE_STRING }), ...(obj.Targets && { Targets: obj.Targets.map((item) => TargetSummary.filterSensitiveLog(item)) }), + ...(obj.Name && { Name: SENSITIVE_STRING }), }); } @@ -469,9 +469,10 @@ export namespace ListEventTypesFilter { export interface ListEventTypesRequest { /** - *

                      The filters to use to return information by service or resource type.

                      + *

                      A non-negative integer used to limit the number of returned results. The default number is 50. The maximum number of + * results that can be returned is 100.

                      */ - Filters?: ListEventTypesFilter[]; + MaxResults?: number; /** *

                      An enumeration token that, when provided in a request, returns the next batch of the @@ -480,10 +481,9 @@ export interface ListEventTypesRequest { NextToken?: string; /** - *

                      A non-negative integer used to limit the number of returned results. The default number is 50. The maximum number of - * results that can be returned is 100.

                      + *

                      The filters to use to return information by service or resource type.

                      */ - MaxResults?: number; + Filters?: ListEventTypesFilter[]; } export namespace ListEventTypesRequest { @@ -494,15 +494,15 @@ export namespace ListEventTypesRequest { export interface ListEventTypesResult { /** - *

                      Information about each event, including service name, resource type, event ID, and event - * name.

                      + *

                      An enumeration token that can be used in a request to return the next batch of the results.

                      */ - EventTypes?: EventTypeSummary[]; + NextToken?: string; /** - *

                      An enumeration token that can be used in a request to return the next batch of the results.

                      + *

                      Information about each event, including service name, resource type, event ID, and event + * name.

                      */ - NextToken?: string; + EventTypes?: EventTypeSummary[]; } export namespace ListEventTypesResult { @@ -524,15 +524,15 @@ export enum ListNotificationRulesFilterName { */ export interface ListNotificationRulesFilter { /** - *

                      The value of the attribute you want to use to filter the returned notification rules. For example, if you specify filtering by RESOURCE - * in Name, you might specify the ARN of a pipeline in AWS CodePipeline for the value.

                      + *

                      The name of the attribute you want to use to filter the returned notification rules.

                      */ - Value: string | undefined; + Name: ListNotificationRulesFilterName | string | undefined; /** - *

                      The name of the attribute you want to use to filter the returned notification rules.

                      + *

                      The value of the attribute you want to use to filter the returned notification rules. For example, if you specify filtering by RESOURCE + * in Name, you might specify the ARN of a pipeline in AWS CodePipeline for the value.

                      */ - Name: ListNotificationRulesFilterName | string | undefined; + Value: string | undefined; } export namespace ListNotificationRulesFilter { @@ -548,6 +548,12 @@ export interface ListNotificationRulesRequest { */ MaxResults?: number; + /** + *

                      An enumeration token that, when provided in a request, returns the next batch of the + * results.

                      + */ + NextToken?: string; + /** *

                      The filters to use to return information by service or resource type. For valid values, * see ListNotificationRulesFilter.

                      @@ -556,12 +562,6 @@ export interface ListNotificationRulesRequest { * */ Filters?: ListNotificationRulesFilter[]; - - /** - *

                      An enumeration token that, when provided in a request, returns the next batch of the - * results.

                      - */ - NextToken?: string; } export namespace ListNotificationRulesRequest { @@ -575,14 +575,14 @@ export namespace ListNotificationRulesRequest { */ export interface NotificationRuleSummary { /** - *

                      The unique ID of the notification rule.

                      + *

                      The Amazon Resource Name (ARN) of the notification rule.

                      */ - Id?: string; + Arn?: string; /** - *

                      The Amazon Resource Name (ARN) of the notification rule.

                      + *

                      The unique ID of the notification rule.

                      */ - Arn?: string; + Id?: string; } export namespace NotificationRuleSummary { @@ -669,15 +669,6 @@ export namespace ListTargetsFilter { } export interface ListTargetsRequest { - /** - *

                      The filters to use to return information by service or resource type. Valid filters - * include target type, target address, and target status.

                      - * - *

                      A filter with the same name can appear more than once when used with OR statements. Filters with different names should be applied with AND statements.

                      - *
                      - */ - Filters?: ListTargetsFilter[]; - /** *

                      An enumeration token that, when provided in a request, returns the next batch of the * results.

                      @@ -689,6 +680,15 @@ export interface ListTargetsRequest { * results that can be returned is 100.

                      */ MaxResults?: number; + + /** + *

                      The filters to use to return information by service or resource type. Valid filters + * include target type, target address, and target status.

                      + * + *

                      A filter with the same name can appear more than once when used with OR statements. Filters with different names should be applied with AND statements.

                      + *
                      + */ + Filters?: ListTargetsFilter[]; } export namespace ListTargetsRequest { @@ -719,9 +719,10 @@ export namespace ListTargetsResult { export interface SubscribeRequest { /** - *

                      Information about the SNS topics associated with a notification rule.

                      + *

                      An enumeration token that, when provided in a request, returns the next batch of the + * results.

                      */ - Target: Target | undefined; + ClientRequestToken?: string; /** *

                      The Amazon Resource Name (ARN) of the notification rule for which you want to create the association.

                      @@ -729,10 +730,9 @@ export interface SubscribeRequest { Arn: string | undefined; /** - *

                      An enumeration token that, when provided in a request, returns the next batch of the - * results.

                      + *

                      Information about the SNS topics associated with a notification rule.

                      */ - ClientRequestToken?: string; + Target: Target | undefined; } export namespace SubscribeRequest { @@ -757,14 +757,14 @@ export namespace SubscribeResult { export interface TagResourceRequest { /** - *

                      The list of tags to associate with the resource. Tag key names cannot start with "aws".

                      + *

                      The Amazon Resource Name (ARN) of the notification rule to tag.

                      */ - Tags: { [key: string]: string } | undefined; + Arn: string | undefined; /** - *

                      The Amazon Resource Name (ARN) of the notification rule to tag.

                      + *

                      The list of tags to associate with the resource. Tag key names cannot start with "aws".

                      */ - Arn: string | undefined; + Tags: { [key: string]: string } | undefined; } export namespace TagResourceRequest { @@ -819,16 +819,16 @@ export namespace UnsubscribeResult { } export interface UntagResourceRequest { - /** - *

                      The key names of the tags to remove.

                      - */ - TagKeys: string[] | undefined; - /** *

                      The Amazon Resource Name (ARN) of the notification rule from which to remove the * tags.

                      */ Arn: string | undefined; + + /** + *

                      The key names of the tags to remove.

                      + */ + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -847,10 +847,15 @@ export namespace UntagResourceResult { export interface UpdateNotificationRuleRequest { /** - *

                      The address and type of the targets to receive notifications from this notification - * rule.

                      + *

                      The name of the notification rule.

                      */ - Targets?: Target[]; + Name?: string; + + /** + *

                      The status of the notification rule. Valid statuses include enabled (sending notifications) or + * disabled (not sending notifications).

                      + */ + Status?: NotificationRuleStatus | string; /** *

                      The level of detail to include in the notifications for this resource. BASIC will include only the @@ -860,32 +865,27 @@ export interface UpdateNotificationRuleRequest { DetailType?: DetailType | string; /** - *

                      A list of event types associated with this notification rule.

                      - */ - EventTypeIds?: string[]; - - /** - *

                      The status of the notification rule. Valid statuses include enabled (sending notifications) or - * disabled (not sending notifications).

                      + *

                      The Amazon Resource Name (ARN) of the notification rule.

                      */ - Status?: NotificationRuleStatus | string; + Arn: string | undefined; /** - *

                      The Amazon Resource Name (ARN) of the notification rule.

                      + *

                      A list of event types associated with this notification rule.

                      */ - Arn: string | undefined; + EventTypeIds?: string[]; /** - *

                      The name of the notification rule.

                      + *

                      The address and type of the targets to receive notifications from this notification + * rule.

                      */ - Name?: string; + Targets?: Target[]; } export namespace UpdateNotificationRuleRequest { export const filterSensitiveLog = (obj: UpdateNotificationRuleRequest): any => ({ ...obj, - ...(obj.Targets && { Targets: obj.Targets.map((item) => Target.filterSensitiveLog(item)) }), ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.Targets && { Targets: obj.Targets.map((item) => Target.filterSensitiveLog(item)) }), }); } diff --git a/clients/client-codestar/models/models_0.ts b/clients/client-codestar/models/models_0.ts index 013a239e049d..1c822f7f4dcd 100644 --- a/clients/client-codestar/models/models_0.ts +++ b/clients/client-codestar/models/models_0.ts @@ -8,6 +8,12 @@ export interface AssociateTeamMemberRequest { */ remoteAccessAllowed?: boolean; + /** + *

                      The AWS CodeStar project role that will apply to this user. This role determines what actions + * a user can take in an AWS CodeStar project.

                      + */ + projectRole: string | undefined; + /** *

                      A user- or system-generated token that identifies the entity that requested the team * member association to the project. This token can be used to repeat the request.

                      @@ -15,21 +21,15 @@ export interface AssociateTeamMemberRequest { clientRequestToken?: string; /** - *

                      The AWS CodeStar project role that will apply to this user. This role determines what actions - * a user can take in an AWS CodeStar project.

                      + *

                      The ID of the project to which you will add the IAM user.

                      */ - projectRole: string | undefined; + projectId: string | undefined; /** *

                      The Amazon Resource Name (ARN) for the IAM user you want to add to the AWS CodeStar * project.

                      */ userArn: string | undefined; - - /** - *

                      The ID of the project to which you will add the IAM user.

                      - */ - projectId: string | undefined; } export namespace AssociateTeamMemberRequest { @@ -181,24 +181,26 @@ export namespace CodeCommitCodeDestination { */ export interface GitHubCodeDestination { /** - *

                      The type of GitHub repository to be created in AWS CodeStar. Valid values are User or Organization.

                      + *

                      Name of the GitHub repository to be created in AWS CodeStar.

                      */ - type: string | undefined; + name: string | undefined; /** - *

                      Whether the GitHub repository is to be a private repository.

                      + *

                      Description for the GitHub repository to be created in AWS CodeStar. This description displays in + * GitHub after the repository is created.

                      */ - privateRepository: boolean | undefined; + description?: string; /** - *

                      The GitHub user's personal access token for the GitHub repository.

                      + *

                      Whether the GitHub repository is to be a private repository.

                      */ - token: string | undefined; + privateRepository: boolean | undefined; /** - *

                      Name of the GitHub repository to be created in AWS CodeStar.

                      + *

                      The GitHub username for the owner of the GitHub repository to be created in AWS CodeStar. If this repository should + * be owned by a GitHub organization, provide its name.

                      */ - name: string | undefined; + owner: string | undefined; /** *

                      Whether to enable issues for the GitHub repository.

                      @@ -206,16 +208,14 @@ export interface GitHubCodeDestination { issuesEnabled: boolean | undefined; /** - *

                      The GitHub username for the owner of the GitHub repository to be created in AWS CodeStar. If this repository should - * be owned by a GitHub organization, provide its name.

                      + *

                      The type of GitHub repository to be created in AWS CodeStar. Valid values are User or Organization.

                      */ - owner: string | undefined; + type: string | undefined; /** - *

                      Description for the GitHub repository to be created in AWS CodeStar. This description displays in - * GitHub after the repository is created.

                      + *

                      The GitHub user's personal access token for the GitHub repository.

                      */ - description?: string; + token: string | undefined; } export namespace GitHubCodeDestination { @@ -230,17 +230,17 @@ export namespace GitHubCodeDestination { * source code files provided with the project request are placed in the repository.

                      */ export interface CodeDestination { - /** - *

                      Information about the GitHub repository to be created in AWS CodeStar. This is where the source code files provided with the - * project request will be uploaded after project creation.

                      - */ - gitHub?: GitHubCodeDestination; - /** *

                      Information about the AWS CodeCommit repository to be created in AWS CodeStar. This is where the source code files provided * with the project request will be uploaded after project creation.

                      */ codeCommit?: CodeCommitCodeDestination; + + /** + *

                      Information about the GitHub repository to be created in AWS CodeStar. This is where the source code files provided with the + * project request will be uploaded after project creation.

                      + */ + gitHub?: GitHubCodeDestination; } export namespace CodeDestination { @@ -342,10 +342,10 @@ export namespace ToolchainSource { */ export interface Toolchain { /** - *

                      The Amazon S3 location where the toolchain template file provided with the - * project request is stored. AWS CodeStar retrieves the file during project creation.

                      + *

                      The service role ARN for AWS CodeStar to use for the toolchain template during stack + * provisioning.

                      */ - source: ToolchainSource | undefined; + roleArn?: string; /** *

                      The list of parameter overrides to be passed into the toolchain template during stack @@ -354,10 +354,10 @@ export interface Toolchain { stackParameters?: { [key: string]: string }; /** - *

                      The service role ARN for AWS CodeStar to use for the toolchain template during stack - * provisioning.

                      + *

                      The Amazon S3 location where the toolchain template file provided with the + * project request is stored. AWS CodeStar retrieves the file during project creation.

                      */ - roleArn?: string; + source: ToolchainSource | undefined; } export namespace Toolchain { @@ -368,6 +368,11 @@ export namespace Toolchain { } export interface CreateProjectRequest { + /** + *

                      The ID of the project to be created in AWS CodeStar.

                      + */ + id: string | undefined; + /** *

                      The description of the project, if any.

                      */ @@ -378,6 +383,12 @@ export interface CreateProjectRequest { */ name: string | undefined; + /** + *

                      The name of the toolchain template file submitted with the project request. If + * this parameter is specified, the request must also include the sourceCode parameter.

                      + */ + toolchain?: Toolchain; + /** *

                      The tags created for the project.

                      */ @@ -389,17 +400,6 @@ export interface CreateProjectRequest { */ sourceCode?: Code[]; - /** - *

                      The name of the toolchain template file submitted with the project request. If - * this parameter is specified, the request must also include the sourceCode parameter.

                      - */ - toolchain?: Toolchain; - - /** - *

                      The ID of the project to be created in AWS CodeStar.

                      - */ - id: string | undefined; - /** *

                      A user- or system-generated token that identifies the entity that requested project * creation. This token can be used to repeat the request.

                      @@ -412,17 +412,12 @@ export namespace CreateProjectRequest { ...obj, ...(obj.description && { description: SENSITIVE_STRING }), ...(obj.name && { name: SENSITIVE_STRING }), - ...(obj.sourceCode && { sourceCode: obj.sourceCode.map((item) => Code.filterSensitiveLog(item)) }), ...(obj.toolchain && { toolchain: Toolchain.filterSensitiveLog(obj.toolchain) }), + ...(obj.sourceCode && { sourceCode: obj.sourceCode.map((item) => Code.filterSensitiveLog(item)) }), }); } export interface CreateProjectResult { - /** - *

                      The ID of the project.

                      - */ - id: string | undefined; - /** *

                      The Amazon Resource Name (ARN) of the created project.

                      */ @@ -433,6 +428,11 @@ export interface CreateProjectResult { */ projectTemplateId?: string; + /** + *

                      The ID of the project.

                      + */ + id: string | undefined; + /** *

                      A user- or system-generated token that identifies the entity that requested project * creation.

                      @@ -484,12 +484,6 @@ export interface CreateUserProfileRequest { */ displayName: string | undefined; - /** - *

                      The email address that will be displayed as part of the user's profile in - * AWS CodeStar.

                      - */ - emailAddress: string | undefined; - /** *

                      The SSH public key associated with the user in AWS CodeStar. If a project owner allows the * user remote access to project resources, this public key will be used along with the user's @@ -501,6 +495,12 @@ export interface CreateUserProfileRequest { *

                      The Amazon Resource Name (ARN) of the user in IAM.

                      */ userArn: string | undefined; + + /** + *

                      The email address that will be displayed as part of the user's profile in + * AWS CodeStar.

                      + */ + emailAddress: string | undefined; } export namespace CreateUserProfileRequest { @@ -512,16 +512,6 @@ export namespace CreateUserProfileRequest { } export interface CreateUserProfileResult { - /** - *

                      The Amazon Resource Name (ARN) of the user in IAM.

                      - */ - userArn: string | undefined; - - /** - *

                      The date the user profile was created, in timestamp format.

                      - */ - createdTimestamp?: Date; - /** *

                      The date the user profile was last modified, in timestamp format.

                      */ @@ -537,12 +527,22 @@ export interface CreateUserProfileResult { */ displayName?: string; + /** + *

                      The date the user profile was created, in timestamp format.

                      + */ + createdTimestamp?: Date; + /** *

                      The SSH public key associated with the user in AWS CodeStar. This is the public portion of the * public/private keypair the user can use to access project resources if a project owner allows * the user remote access to those resources.

                      */ sshPublicKey?: string; + + /** + *

                      The Amazon Resource Name (ARN) of the user in IAM.

                      + */ + userArn: string | undefined; } export namespace CreateUserProfileResult { @@ -570,6 +570,12 @@ export namespace UserProfileAlreadyExistsException { } export interface DeleteProjectRequest { + /** + *

                      A user- or system-generated token that identifies the entity that requested project + * deletion. This token can be used to repeat the request.

                      + */ + clientRequestToken?: string; + /** *

                      Whether to send a delete request for the primary stack in AWS CloudFormation originally * used to generate the project and its resources. This option will delete all AWS resources for @@ -582,12 +588,6 @@ export interface DeleteProjectRequest { *

                      The ID of the project to be deleted in AWS CodeStar.

                      */ id: string | undefined; - - /** - *

                      A user- or system-generated token that identifies the entity that requested project - * deletion. This token can be used to repeat the request.

                      - */ - clientRequestToken?: string; } export namespace DeleteProjectRequest { @@ -598,15 +598,15 @@ export namespace DeleteProjectRequest { export interface DeleteProjectResult { /** - *

                      The ID of the primary stack in AWS CloudFormation that will be deleted as part of - * deleting the project and its resources.

                      + *

                      The Amazon Resource Name (ARN) of the deleted project.

                      */ - stackId?: string; + projectArn?: string; /** - *

                      The Amazon Resource Name (ARN) of the deleted project.

                      + *

                      The ID of the primary stack in AWS CloudFormation that will be deleted as part of + * deleting the project and its resources.

                      */ - projectArn?: string; + stackId?: string; } export namespace DeleteProjectResult { @@ -659,16 +659,16 @@ export namespace DescribeProjectRequest { * successful.

                      */ export interface ProjectStatus { - /** - *

                      The phase of completion for a project creation or deletion.

                      - */ - state: string | undefined; - /** *

                      In the case of a project creation or deletion failure, a reason for the * failure.

                      */ reason?: string; + + /** + *

                      The phase of completion for a project creation or deletion.

                      + */ + state: string | undefined; } export namespace ProjectStatus { @@ -678,30 +678,20 @@ export namespace ProjectStatus { } export interface DescribeProjectResult { - /** - *

                      The description of the project, if any.

                      - */ - description?: string; - - /** - *

                      The date and time the project was created, in timestamp format.

                      - */ - createdTimeStamp?: Date; - /** *

                      The display name for the project.

                      */ name?: string; /** - *

                      The Amazon Resource Name (ARN) for the project.

                      + *

                      The description of the project, if any.

                      */ - arn?: string; + description?: string; /** - *

                      The project creation or deletion status.

                      + *

                      The Amazon Resource Name (ARN) for the project.

                      */ - status?: ProjectStatus; + arn?: string; /** *

                      The ID for the AWS CodeStar project template used to create the project.

                      @@ -713,6 +703,17 @@ export interface DescribeProjectResult { */ id?: string; + /** + *

                      The ID of the primary stack in AWS CloudFormation used to generate resources for the + * project.

                      + */ + stackId?: string; + + /** + *

                      The project creation or deletion status.

                      + */ + status?: ProjectStatus; + /** *

                      A user- or system-generated token that identifies the entity that requested project * creation.

                      @@ -720,17 +721,16 @@ export interface DescribeProjectResult { clientRequestToken?: string; /** - *

                      The ID of the primary stack in AWS CloudFormation used to generate resources for the - * project.

                      + *

                      The date and time the project was created, in timestamp format.

                      */ - stackId?: string; + createdTimeStamp?: Date; } export namespace DescribeProjectResult { export const filterSensitiveLog = (obj: DescribeProjectResult): any => ({ ...obj, - ...(obj.description && { description: SENSITIVE_STRING }), ...(obj.name && { name: SENSITIVE_STRING }), + ...(obj.description && { description: SENSITIVE_STRING }), }); } @@ -749,22 +749,9 @@ export namespace DescribeUserProfileRequest { export interface DescribeUserProfileResult { /** - *

                      The date and time when the user profile was created in AWS CodeStar, in timestamp - * format.

                      - */ - createdTimestamp: Date | undefined; - - /** - *

                      The display name shown for the user in AWS CodeStar projects. For example, this could be set - * to both first and last name ("Mary Major") or a single name ("Mary"). The display name is also - * used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are - * included in the display name, the first character that appears after the space will be used as - * the second character in the user initial icon. The initial icon displays a maximum of two - * characters, so a display name with more than one space (for example "Mary Jane Major") would - * generate an initial icon using the first character and the first character after the space - * ("MJ", not "MM").

                      + *

                      The Amazon Resource Name (ARN) of the user.

                      */ - displayName?: string; + userArn: string | undefined; /** *

                      The date and time when the user profile was last modified, in timestamp @@ -778,9 +765,16 @@ export interface DescribeUserProfileResult { emailAddress?: string; /** - *

                      The Amazon Resource Name (ARN) of the user.

                      + *

                      The display name shown for the user in AWS CodeStar projects. For example, this could be set + * to both first and last name ("Mary Major") or a single name ("Mary"). The display name is also + * used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are + * included in the display name, the first character that appears after the space will be used as + * the second character in the user initial icon. The initial icon displays a maximum of two + * characters, so a display name with more than one space (for example "Mary Jane Major") would + * generate an initial icon using the first character and the first character after the space + * ("MJ", not "MM").

                      */ - userArn: string | undefined; + displayName?: string; /** *

                      The SSH public key associated with the user. This SSH public key is associated with the @@ -789,13 +783,19 @@ export interface DescribeUserProfileResult { * those resources.

                      */ sshPublicKey?: string; + + /** + *

                      The date and time when the user profile was created in AWS CodeStar, in timestamp + * format.

                      + */ + createdTimestamp: Date | undefined; } export namespace DescribeUserProfileResult { export const filterSensitiveLog = (obj: DescribeUserProfileResult): any => ({ ...obj, - ...(obj.displayName && { displayName: SENSITIVE_STRING }), ...(obj.emailAddress && { emailAddress: SENSITIVE_STRING }), + ...(obj.displayName && { displayName: SENSITIVE_STRING }), }); } @@ -858,15 +858,15 @@ export namespace InvalidNextTokenException { export interface ListProjectsRequest { /** - *

                      The continuation token to be used to return the next set of results, if the results - * cannot be returned in one response.

                      + *

                      The maximum amount of data that can be contained in a single set of results.

                      */ - nextToken?: string; + maxResults?: number; /** - *

                      The maximum amount of data that can be contained in a single set of results.

                      + *

                      The continuation token to be used to return the next set of results, if the results + * cannot be returned in one response.

                      */ - maxResults?: number; + nextToken?: string; } export namespace ListProjectsRequest { @@ -880,14 +880,14 @@ export namespace ListProjectsRequest { */ export interface ProjectSummary { /** - *

                      The ID of the project.

                      + *

                      The Amazon Resource Name (ARN) of the project.

                      */ - projectId?: string; + projectArn?: string; /** - *

                      The Amazon Resource Name (ARN) of the project.

                      + *

                      The ID of the project.

                      */ - projectArn?: string; + projectId?: string; } export namespace ProjectSummary { @@ -916,6 +916,11 @@ export namespace ListProjectsResult { } export interface ListResourcesRequest { + /** + *

                      The maximum amount of data that can be contained in a single set of results.

                      + */ + maxResults?: number; + /** *

                      The ID of the project.

                      */ @@ -926,11 +931,6 @@ export interface ListResourcesRequest { * in one response.

                      */ nextToken?: string; - - /** - *

                      The maximum amount of data that can be contained in a single set of results.

                      - */ - maxResults?: number; } export namespace ListResourcesRequest { @@ -978,12 +978,12 @@ export interface ListTagsForProjectRequest { /** *

                      Reserved for future use.

                      */ - nextToken?: string; + maxResults?: number; /** *

                      Reserved for future use.

                      */ - maxResults?: number; + nextToken?: string; /** *

                      The ID of the project to get tags for.

                      @@ -999,14 +999,14 @@ export namespace ListTagsForProjectRequest { export interface ListTagsForProjectResult { /** - *

                      The tags for the project.

                      + *

                      Reserved for future use.

                      */ - tags?: { [key: string]: string }; + nextToken?: string; /** - *

                      Reserved for future use.

                      + *

                      The tags for the project.

                      */ - nextToken?: string; + tags?: { [key: string]: string }; } export namespace ListTagsForProjectResult { @@ -1016,6 +1016,12 @@ export namespace ListTagsForProjectResult { } export interface ListTeamMembersRequest { + /** + *

                      The continuation token for the next set of results, if the results cannot be returned + * in one response.

                      + */ + nextToken?: string; + /** *

                      The maximum number of team members you want returned in a response.

                      */ @@ -1025,12 +1031,6 @@ export interface ListTeamMembersRequest { *

                      The ID of the project for which you want to list team members.

                      */ projectId: string | undefined; - - /** - *

                      The continuation token for the next set of results, if the results cannot be returned - * in one response.

                      - */ - nextToken?: string; } export namespace ListTeamMembersRequest { @@ -1044,11 +1044,10 @@ export namespace ListTeamMembersRequest { */ export interface TeamMember { /** - *

                      The role assigned to the user in the project. Project roles have different levels of - * access. For more information, see Working with - * Teams in the AWS CodeStar User Guide.

                      + *

                      Whether the user is allowed to remotely access project resources using an SSH + * public/private key pair.

                      */ - projectRole: string | undefined; + remoteAccessAllowed?: boolean; /** *

                      The Amazon Resource Name (ARN) of the user in IAM.

                      @@ -1056,10 +1055,11 @@ export interface TeamMember { userArn: string | undefined; /** - *

                      Whether the user is allowed to remotely access project resources using an SSH - * public/private key pair.

                      + *

                      The role assigned to the user in the project. Project roles have different levels of + * access. For more information, see Working with + * Teams in the AWS CodeStar User Guide.

                      */ - remoteAccessAllowed?: boolean; + projectRole: string | undefined; } export namespace TeamMember { @@ -1110,6 +1110,11 @@ export namespace ListUserProfilesRequest { *

                      Information about a user's profile in AWS CodeStar.

                      */ export interface UserProfileSummary { + /** + *

                      The Amazon Resource Name (ARN) of the user in IAM.

                      + */ + userArn?: string; + /** *

                      The email address associated with the user.

                      */ @@ -1127,11 +1132,6 @@ export interface UserProfileSummary { */ displayName?: string; - /** - *

                      The Amazon Resource Name (ARN) of the user in IAM.

                      - */ - userArn?: string; - /** *

                      The SSH public key associated with the user in AWS CodeStar. If a project owner allows the * user remote access to project resources, this public key will be used along with the user's @@ -1150,15 +1150,15 @@ export namespace UserProfileSummary { export interface ListUserProfilesResult { /** - *

                      The continuation token to use when requesting the next set of results, if there are - * more results to be returned.

                      + *

                      All the user profiles configured in AWS CodeStar for an AWS account.

                      */ - nextToken?: string; + userProfiles: UserProfileSummary[] | undefined; /** - *

                      All the user profiles configured in AWS CodeStar for an AWS account.

                      + *

                      The continuation token to use when requesting the next set of results, if there are + * more results to be returned.

                      */ - userProfiles: UserProfileSummary[] | undefined; + nextToken?: string; } export namespace ListUserProfilesResult { @@ -1203,14 +1203,14 @@ export namespace TagProjectResult { export interface UntagProjectRequest { /** - *

                      The tags to remove from the project.

                      + *

                      The ID of the project to remove tags from.

                      */ - tags: string[] | undefined; + id: string | undefined; /** - *

                      The ID of the project to remove tags from.

                      + *

                      The tags to remove from the project.

                      */ - id: string | undefined; + tags: string[] | undefined; } export namespace UntagProjectRequest { @@ -1277,9 +1277,11 @@ export namespace TeamMemberNotFoundException { export interface UpdateTeamMemberRequest { /** - *

                      The ID of the project.

                      + *

                      Whether a team member is allowed to remotely access project resources using the SSH + * public key associated with the user's profile. Even if this is set to True, the user must + * associate a public key with their profile before the user can access resources.

                      */ - projectId: string | undefined; + remoteAccessAllowed?: boolean; /** *

                      The role assigned to the user in the project. Project roles have different levels of @@ -1295,11 +1297,9 @@ export interface UpdateTeamMemberRequest { userArn: string | undefined; /** - *

                      Whether a team member is allowed to remotely access project resources using the SSH - * public key associated with the user's profile. Even if this is set to True, the user must - * associate a public key with their profile before the user can access resources.

                      + *

                      The ID of the project.

                      */ - remoteAccessAllowed?: boolean; + projectId: string | undefined; } export namespace UpdateTeamMemberRequest { @@ -1335,10 +1335,10 @@ export namespace UpdateTeamMemberResult { export interface UpdateUserProfileRequest { /** - *

                      The name that will be displayed as the friendly name for the user in AWS + *

                      The email address that is displayed as part of the user's profile in AWS * CodeStar.

                      */ - userArn: string | undefined; + emailAddress?: string; /** *

                      The SSH public key associated with the user in AWS CodeStar. If a project owner allows the @@ -1353,36 +1353,36 @@ export interface UpdateUserProfileRequest { displayName?: string; /** - *

                      The email address that is displayed as part of the user's profile in AWS + *

                      The name that will be displayed as the friendly name for the user in AWS * CodeStar.

                      */ - emailAddress?: string; + userArn: string | undefined; } export namespace UpdateUserProfileRequest { export const filterSensitiveLog = (obj: UpdateUserProfileRequest): any => ({ ...obj, - ...(obj.displayName && { displayName: SENSITIVE_STRING }), ...(obj.emailAddress && { emailAddress: SENSITIVE_STRING }), + ...(obj.displayName && { displayName: SENSITIVE_STRING }), }); } export interface UpdateUserProfileResult { /** - *

                      The name that is displayed as the friendly name for the user in AWS CodeStar.

                      + *

                      The date the user profile was created, in timestamp format.

                      */ - displayName?: string; + createdTimestamp?: Date; /** - *

                      The email address that is displayed as part of the user's profile in AWS - * CodeStar.

                      + *

                      The Amazon Resource Name (ARN) of the user in IAM.

                      */ - emailAddress?: string; + userArn: string | undefined; /** - *

                      The date the user profile was created, in timestamp format.

                      + *

                      The email address that is displayed as part of the user's profile in AWS + * CodeStar.

                      */ - createdTimestamp?: Date; + emailAddress?: string; /** *

                      The date the user profile was last modified, in timestamp format.

                      @@ -1397,15 +1397,15 @@ export interface UpdateUserProfileResult { sshPublicKey?: string; /** - *

                      The Amazon Resource Name (ARN) of the user in IAM.

                      + *

                      The name that is displayed as the friendly name for the user in AWS CodeStar.

                      */ - userArn: string | undefined; + displayName?: string; } export namespace UpdateUserProfileResult { export const filterSensitiveLog = (obj: UpdateUserProfileResult): any => ({ ...obj, - ...(obj.displayName && { displayName: SENSITIVE_STRING }), ...(obj.emailAddress && { emailAddress: SENSITIVE_STRING }), + ...(obj.displayName && { displayName: SENSITIVE_STRING }), }); } diff --git a/clients/client-cognito-identity-provider/CognitoIdentityProvider.ts b/clients/client-cognito-identity-provider/CognitoIdentityProvider.ts index 1b5d432e447e..dcb2b28768fc 100644 --- a/clients/client-cognito-identity-provider/CognitoIdentityProvider.ts +++ b/clients/client-cognito-identity-provider/CognitoIdentityProvider.ts @@ -565,16 +565,15 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { *

                      Creates a new user in the specified user pool.

                      *

                      If MessageAction is not set, the default is to send a welcome message via * email or phone (SMS).

                      - * - *

                      This message is based on a template that you configured in your call to or . This - * template includes your custom sign-up instructions and placeholders for user name - * and temporary password.

                      - *
                      - *

                      Alternatively, you can call AdminCreateUser with “SUPPRESS” for the + *

                      This message is based on a template that you configured in your call to create or + * update a user pool. This template includes your custom sign-up instructions and placeholders + * for user name and temporary password.

                      + *

                      Alternatively, you can call AdminCreateUser with “SUPPRESS” for the * MessageAction parameter, and Amazon Cognito will not send any email.

                      *

                      In either case, the user will be in the FORCE_CHANGE_PASSWORD state until * they sign in and change their password.

                      - *

                      AdminCreateUser requires developer credentials.

                      + *

                      + * AdminCreateUser requires developer credentials.

                      */ public adminCreateUser( args: AdminCreateUserCommandInput, @@ -679,7 +678,7 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { * disable is a linked external IdP user, any link between that user and an existing user * is removed. The next time the external user (no longer attached to the previously linked * DestinationUser) signs in, they must create a new user account. See - * .

                      + * AdminLinkProviderForUser.

                      *

                      This action is enabled only for admin access and requires developer * credentials.

                      *

                      The ProviderName must match the value specified when creating an IdP for @@ -694,7 +693,8 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { *

                      For de-linking a SAML identity, there are two scenarios. If the linked identity has * not yet been used to sign-in, the ProviderAttributeName and * ProviderAttributeValue must be the same values that were used for the - * SourceUser when the identities were originally linked in the call. (If the linking was done with + * SourceUser when the identities were originally linked using + * AdminLinkProviderForUser call. (If the linking was done with * ProviderAttributeName set to Cognito_Subject, the same * applies here). However, if the user has already signed in, the * ProviderAttributeName must be Cognito_Subject and @@ -936,13 +936,16 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { *

                      For example, if there is an existing user with a username and password, this API * links that user to a federated user identity, so that when the federated user identity * is used, the user signs in as the existing user account.

                      + * + *

                      The maximum number of federated identities linked to a user is 5.

                      + *
                      * *

                      Because this API allows a user with an external federated identity to sign in as * an existing user in the user pool, it is critical that it only be used with external * identity providers and provider attributes that have been trusted by the application * owner.

                      *
                      - *

                      See also .

                      + * *

                      This action is enabled only for admin access and requires developer * credentials.

                      */ @@ -1263,7 +1266,7 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { *

                      * This action is no longer supported. You can use it to configure * only SMS MFA. You can't use it to configure TOTP software token MFA. To configure either - * type of MFA, use the AdminSetUserMFAPreference action instead.

                      + * type of MFA, use AdminSetUserMFAPreference instead.

                      */ public adminSetUserSettings( args: AdminSetUserSettingsCommandInput, @@ -2320,10 +2323,10 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { *

                      Calling this API causes a message to be sent to the end user with a confirmation code * that is required to change the user's password. For the Username parameter, * you can use the username or user alias. The method used to send the confirmation code is - * sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer - * Guide. If neither a verified phone number nor a verified email exists, an + * sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. + * If neither a verified phone number nor a verified email exists, an * InvalidParameterException is thrown. To use the confirmation code for - * resetting the password, call .

                      + * resetting the password, call ConfirmForgotPassword.

                      */ public forgotPassword( args: ForgotPasswordCommandInput, @@ -3067,7 +3070,6 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { * configuration types.

                      *

                      To enable Amazon Cognito advanced security features, update the user pool to include * the UserPoolAddOns keyAdvancedSecurityMode.

                      - *

                      See .

                      */ public setRiskConfiguration( args: SetRiskConfigurationCommandInput, @@ -3213,7 +3215,7 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { *

                      * This action is no longer supported. You can use it to configure * only SMS MFA. You can't use it to configure TOTP software token MFA. To configure either - * type of MFA, use the SetUserMFAPreference action instead.

                      + * type of MFA, use SetUserMFAPreference instead.

                      */ public setUserSettings( args: SetUserSettingsCommandInput, @@ -3606,7 +3608,7 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { /** *

                      Updates the specified user pool with the specified attributes. You can get a list of - * the current user pool settings with .

                      + * the current user pool settings using DescribeUserPool.

                      * *

                      If you don't provide a value for an attribute, it will be set to the default * value.

                      @@ -3643,7 +3645,7 @@ export class CognitoIdentityProvider extends CognitoIdentityProviderClient { /** *

                      Updates the specified user pool app client with the specified attributes. You can get - * a list of the current user pool app client settings with .

                      + * a list of the current user pool app client settings using DescribeUserPoolClient.

                      * *

                      If you don't provide a value for an attribute, it will be set to the default * value.

                      diff --git a/clients/client-cognito-identity-provider/commands/UpdateDeviceStatusCommand.ts b/clients/client-cognito-identity-provider/commands/UpdateDeviceStatusCommand.ts index 6d8a0a451ff1..e61084f46968 100644 --- a/clients/client-cognito-identity-provider/commands/UpdateDeviceStatusCommand.ts +++ b/clients/client-cognito-identity-provider/commands/UpdateDeviceStatusCommand.ts @@ -3,7 +3,7 @@ import { ServiceInputTypes, ServiceOutputTypes, } from "../CognitoIdentityProviderClient"; -import { UpdateDeviceStatusRequest, UpdateDeviceStatusResponse } from "../models/models_0"; +import { UpdateDeviceStatusRequest, UpdateDeviceStatusResponse } from "../models/models_1"; import { deserializeAws_json1_1UpdateDeviceStatusCommand, serializeAws_json1_1UpdateDeviceStatusCommand, diff --git a/clients/client-cognito-identity-provider/commands/UpdateGroupCommand.ts b/clients/client-cognito-identity-provider/commands/UpdateGroupCommand.ts index ccdab133115e..43882297d6a4 100644 --- a/clients/client-cognito-identity-provider/commands/UpdateGroupCommand.ts +++ b/clients/client-cognito-identity-provider/commands/UpdateGroupCommand.ts @@ -3,8 +3,7 @@ import { ServiceInputTypes, ServiceOutputTypes, } from "../CognitoIdentityProviderClient"; -import { UpdateGroupRequest } from "../models/models_0"; -import { UpdateGroupResponse } from "../models/models_1"; +import { UpdateGroupRequest, UpdateGroupResponse } from "../models/models_1"; import { deserializeAws_json1_1UpdateGroupCommand, serializeAws_json1_1UpdateGroupCommand, diff --git a/clients/client-cognito-identity-provider/models/models_0.ts b/clients/client-cognito-identity-provider/models/models_0.ts index affc29e75aec..2aa74c064c1c 100644 --- a/clients/client-cognito-identity-provider/models/models_0.ts +++ b/clients/client-cognito-identity-provider/models/models_0.ts @@ -11,16 +11,16 @@ export enum RecoveryOptionNameType { *

                      A map containing a priority as a key, and recovery method name as a value.

                      */ export interface RecoveryOptionType { - /** - *

                      Specifies the recovery method for a user.

                      - */ - Name: RecoveryOptionNameType | string | undefined; - /** *

                      A positive integer specifying priority of a method with 1 being the highest * priority.

                      */ Priority: number | undefined; + + /** + *

                      Specifies the recovery method for a user.

                      + */ + Name: RecoveryOptionNameType | string | undefined; } export namespace RecoveryOptionType { @@ -56,11 +56,6 @@ export enum AccountTakeoverEventActionType { *

                      Account takeover action type.

                      */ export interface AccountTakeoverActionType { - /** - *

                      Flag specifying whether to send a notification.

                      - */ - Notify: boolean | undefined; - /** *

                      The event action.

                      *
                        @@ -85,6 +80,11 @@ export interface AccountTakeoverActionType { *
                      */ EventAction: AccountTakeoverEventActionType | string | undefined; + + /** + *

                      Flag specifying whether to send a notification.

                      + */ + Notify: boolean | undefined; } export namespace AccountTakeoverActionType { @@ -103,14 +103,14 @@ export interface AccountTakeoverActionsType { HighAction?: AccountTakeoverActionType; /** - *

                      Action to take for a medium risk.

                      + *

                      Action to take for a low risk.

                      */ - MediumAction?: AccountTakeoverActionType; + LowAction?: AccountTakeoverActionType; /** - *

                      Action to take for a low risk.

                      + *

                      Action to take for a medium risk.

                      */ - LowAction?: AccountTakeoverActionType; + MediumAction?: AccountTakeoverActionType; } export namespace AccountTakeoverActionsType { @@ -124,14 +124,14 @@ export namespace AccountTakeoverActionsType { */ export interface NotifyEmailType { /** - *

                      The subject.

                      + *

                      The HTML body.

                      */ - Subject: string | undefined; + HtmlBody?: string; /** - *

                      The HTML body.

                      + *

                      The subject.

                      */ - HtmlBody?: string; + Subject: string | undefined; /** *

                      The text body.

                      @@ -150,10 +150,9 @@ export namespace NotifyEmailType { */ export interface NotifyConfigurationType { /** - *

                      The email address that is sending the email. It must be either individually verified - * with Amazon SES, or from a domain that has been verified with Amazon SES.

                      + *

                      The email template used when a detected risk event is allowed.

                      */ - From?: string; + NoActionEmail?: NotifyEmailType; /** *

                      The Amazon Resource Name (ARN) of the identity that is associated with the sending @@ -162,11 +161,6 @@ export interface NotifyConfigurationType { */ SourceArn: string | undefined; - /** - *

                      The email template used when a detected risk event is allowed.

                      - */ - NoActionEmail?: NotifyEmailType; - /** *

                      The destination to which the receiver of an email should reply to.

                      */ @@ -177,6 +171,12 @@ export interface NotifyConfigurationType { */ MfaEmail?: NotifyEmailType; + /** + *

                      The email address that is sending the email. It must be either individually verified + * with Amazon SES, or from a domain that has been verified with Amazon SES.

                      + */ + From?: string; + /** *

                      Email template used when a detected risk event is blocked.

                      */ @@ -195,14 +195,14 @@ export namespace NotifyConfigurationType { */ export interface AccountTakeoverRiskConfigurationType { /** - *

                      The notify configuration used to construct email notifications.

                      + *

                      Account takeover risk configuration actions

                      */ - NotifyConfiguration?: NotifyConfigurationType; + Actions: AccountTakeoverActionsType | undefined; /** - *

                      Account takeover risk configuration actions

                      + *

                      The notify configuration used to construct email notifications.

                      */ - Actions: AccountTakeoverActionsType | undefined; + NotifyConfiguration?: NotifyConfigurationType; } export namespace AccountTakeoverRiskConfigurationType { @@ -265,10 +265,15 @@ export namespace StringAttributeConstraintsType { */ export interface SchemaAttributeType { /** - *

                      Specifies whether a user pool attribute is required. If the attribute is required and - * the user does not provide a value, registration or sign-in will fail.

                      + *

                      Specifies whether the value of the attribute can be changed.

                      + *

                      For any user pool attribute that's mapped to an identity provider attribute, you must + * set this parameter to true. Amazon Cognito updates mapped attributes when + * users sign in to your application through an identity provider. If an attribute is + * immutable, Amazon Cognito throws an error when it attempts to update the attribute. For + * more information, see Specifying Identity Provider Attribute Mappings for Your User + * Pool.

                      */ - Required?: boolean; + Mutable?: boolean; /** *

                      Specifies the constraints for an attribute of the string type.

                      @@ -276,9 +281,15 @@ export interface SchemaAttributeType { StringAttributeConstraints?: StringAttributeConstraintsType; /** - *

                      A schema attribute of the name type.

                      + *

                      The attribute data type.

                      */ - Name?: string; + AttributeDataType?: AttributeDataType | string; + + /** + *

                      Specifies whether a user pool attribute is required. If the attribute is required and + * the user does not provide a value, registration or sign-in will fail.

                      + */ + Required?: boolean; /** * @@ -289,31 +300,20 @@ export interface SchemaAttributeType { *

                      Specifies whether the attribute type is developer only. This attribute can only be * modified by an administrator. Users will not be able to modify this attribute using * their access token. For example, DeveloperOnlyAttribute can be modified - * using the API but cannot be updated - * using the API.

                      + * using AdminUpdateUserAttributes but cannot be updated + * using UpdateUserAttributes.

                      */ DeveloperOnlyAttribute?: boolean; /** - *

                      Specifies whether the value of the attribute can be changed.

                      - *

                      For any user pool attribute that's mapped to an identity provider attribute, you must - * set this parameter to true. Amazon Cognito updates mapped attributes when - * users sign in to your application through an identity provider. If an attribute is - * immutable, Amazon Cognito throws an error when it attempts to update the attribute. For - * more information, see Specifying Identity Provider Attribute Mappings for Your User - * Pool.

                      + *

                      A schema attribute of the name type.

                      */ - Mutable?: boolean; + Name?: string; /** *

                      Specifies the constraints for an attribute of the number type.

                      */ NumberAttributeConstraints?: NumberAttributeConstraintsType; - - /** - *

                      The attribute data type.

                      - */ - AttributeDataType?: AttributeDataType | string; } export namespace SchemaAttributeType { @@ -327,14 +327,14 @@ export namespace SchemaAttributeType { */ export interface AddCustomAttributesRequest { /** - *

                      The user pool ID for the user pool where you want to add custom attributes.

                      + *

                      An array of custom attributes, such as Mutable and Name.

                      */ - UserPoolId: string | undefined; + CustomAttributes: SchemaAttributeType[] | undefined; /** - *

                      An array of custom attributes, such as Mutable and Name.

                      + *

                      The user pool ID for the user pool where you want to add custom attributes.

                      */ - CustomAttributes: SchemaAttributeType[] | undefined; + UserPoolId: string | undefined; } export namespace AddCustomAttributesRequest { @@ -473,9 +473,9 @@ export namespace UserImportInProgressException { export interface AdminAddUserToGroupRequest { /** - *

                      The user pool ID for the user pool.

                      + *

                      The username for the user.

                      */ - UserPoolId: string | undefined; + Username: string | undefined; /** *

                      The group name.

                      @@ -483,9 +483,9 @@ export interface AdminAddUserToGroupRequest { GroupName: string | undefined; /** - *

                      The username for the user.

                      + *

                      The user pool ID for the user pool.

                      */ - Username: string | undefined; + UserPoolId: string | undefined; } export namespace AdminAddUserToGroupRequest { @@ -518,14 +518,14 @@ export namespace UserNotFoundException { */ export interface AdminConfirmSignUpRequest { /** - *

                      The user name for which you want to confirm user registration.

                      + *

                      The user pool ID for which you want to confirm user registration.

                      */ - Username: string | undefined; + UserPoolId: string | undefined; /** - *

                      The user pool ID for which you want to confirm user registration.

                      + *

                      The user name for which you want to confirm user registration.

                      */ - UserPoolId: string | undefined; + Username: string | undefined; /** *

                      A map of custom key-value pairs that you can provide as input for any custom workflows @@ -718,53 +718,23 @@ export namespace AttributeType { */ export interface AdminCreateUserRequest { /** - *

                      A map of custom key-value pairs that you can provide as input for any custom workflows - * that this action triggers.

                      - *

                      You create custom workflows by assigning AWS Lambda functions to user pool triggers. - * When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is - * assigned to the pre sign-up trigger. When Amazon Cognito invokes - * this function, it passes a JSON payload, which the function receives as input. This - * payload contains a clientMetadata attribute, which provides the data that - * you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your - * function code in AWS Lambda, you can process the clientMetadata value to - * enhance your workflow for your specific needs.

                      - *

                      For more information, see Customizing User Pool Workflows with Lambda Triggers in the - * Amazon Cognito Developer Guide.

                      - * - *

                      Take the following limitations into consideration when you use the ClientMetadata - * parameter:

                      - *
                        - *
                      • - *

                        Amazon Cognito does not store the ClientMetadata value. This data is - * available only to AWS Lambda triggers that are assigned to a user pool to - * support custom workflows. If your user pool configuration does not include - * triggers, the ClientMetadata parameter serves no purpose.

                        - *
                      • - *
                      • - *

                        Amazon Cognito does not validate the ClientMetadata value.

                        - *
                      • - *
                      • - *

                        Amazon Cognito does not encrypt the the ClientMetadata value, so don't use - * it to provide sensitive information.

                        - *
                      • - *
                      - *
                      + *

                      The username for the user. Must be unique within the user pool. Must be a UTF-8 string + * between 1 and 128 characters. After the user is created, the username cannot be + * changed.

                      */ - ClientMetadata?: { [key: string]: string }; + Username: string | undefined; /** - *

                      This parameter is only used if the phone_number_verified or - * email_verified attribute is set to True. Otherwise, it is - * ignored.

                      - *

                      If this parameter is set to True and the phone number or email address - * specified in the UserAttributes parameter already exists as an alias with a different - * user, the API call will migrate the alias from the previous user to the newly created - * user. The previous user will no longer be able to log in using that alias.

                      - *

                      If this parameter is set to False, the API throws an - * AliasExistsException error if the alias already exists. The default - * value is False.

                      + *

                      Specify "EMAIL" if email will be used to send the welcome message. + * Specify "SMS" if the phone number will be used. The default value is + * "SMS". More than one value can be specified.

                      */ - ForceAliasCreation?: boolean; + DesiredDeliveryMediums?: (DeliveryMediumType | string)[]; + + /** + *

                      The user pool ID for the user pool where the user will be created.

                      + */ + UserPoolId: string | undefined; /** *

                      Set to "RESEND" to resend the invitation message to a user that already @@ -787,22 +757,39 @@ export interface AdminCreateUserRequest { ValidationData?: AttributeType[]; /** - *

                      The user pool ID for the user pool where the user will be created.

                      + *

                      The user's temporary password. This password must conform to the password policy that + * you specified when you created the user pool.

                      + *

                      The temporary password is valid only once. To complete the Admin Create User flow, the + * user must enter the temporary password in the sign-in page along with a new password to + * be used in all future sign-ins.

                      + *

                      This parameter is not required. If you do not specify a value, Amazon Cognito + * generates one for you.

                      + *

                      The temporary password can only be used until the user account expiration limit that + * you specified when you created the user pool. To reset the account after that time + * limit, you must call AdminCreateUser again, specifying + * "RESEND" for the MessageAction parameter.

                      */ - UserPoolId: string | undefined; + TemporaryPassword?: string; /** - *

                      The username for the user. Must be unique within the user pool. Must be a UTF-8 string - * between 1 and 128 characters. After the user is created, the username cannot be - * changed.

                      + *

                      This parameter is only used if the phone_number_verified or + * email_verified attribute is set to True. Otherwise, it is + * ignored.

                      + *

                      If this parameter is set to True and the phone number or email address + * specified in the UserAttributes parameter already exists as an alias with a different + * user, the API call will migrate the alias from the previous user to the newly created + * user. The previous user will no longer be able to log in using that alias.

                      + *

                      If this parameter is set to False, the API throws an + * AliasExistsException error if the alias already exists. The default + * value is False.

                      */ - Username: string | undefined; + ForceAliasCreation?: boolean; /** *

                      An array of name-value pairs that contain user attributes and attribute values to be * set for the user to be created. You can create a user without specifying any attributes * other than Username. However, any attributes that you specify as required - * (in or in the Attributes tab of the console) must be supplied either by you (in your + * (when creating a user pool or in the Attributes tab of the console) must be supplied either by you (in your * call to AdminCreateUser) or by the user (when he or she signs up in * response to your welcome message).

                      *

                      For custom attributes, you must prepend the custom: prefix to the @@ -814,7 +801,7 @@ export interface AdminCreateUserRequest { *

                      In your call to AdminCreateUser, you can set the * email_verified attribute to True, and you can set the * phone_number_verified attribute to True. (You can also do - * this by calling .)

                      + * this by calling AdminUpdateUserAttributes.)

                      *
                        *
                      • *

                        @@ -837,39 +824,52 @@ export interface AdminCreateUserRequest { UserAttributes?: AttributeType[]; /** - *

                        The user's temporary password. This password must conform to the password policy that - * you specified when you created the user pool.

                        - *

                        The temporary password is valid only once. To complete the Admin Create User flow, the - * user must enter the temporary password in the sign-in page along with a new password to - * be used in all future sign-ins.

                        - *

                        This parameter is not required. If you do not specify a value, Amazon Cognito - * generates one for you.

                        - *

                        The temporary password can only be used until the user account expiration limit that - * you specified when you created the user pool. To reset the account after that time - * limit, you must call AdminCreateUser again, specifying - * "RESEND" for the MessageAction parameter.

                        - */ - TemporaryPassword?: string; - - /** - *

                        Specify "EMAIL" if email will be used to send the welcome message. - * Specify "SMS" if the phone number will be used. The default value is - * "SMS". More than one value can be specified.

                        + *

                        A map of custom key-value pairs that you can provide as input for any custom workflows + * that this action triggers.

                        + *

                        You create custom workflows by assigning AWS Lambda functions to user pool triggers. + * When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is + * assigned to the pre sign-up trigger. When Amazon Cognito invokes + * this function, it passes a JSON payload, which the function receives as input. This + * payload contains a clientMetadata attribute, which provides the data that + * you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your + * function code in AWS Lambda, you can process the clientMetadata value to + * enhance your workflow for your specific needs.

                        + *

                        For more information, see Customizing User Pool Workflows with Lambda Triggers in the + * Amazon Cognito Developer Guide.

                        + * + *

                        Take the following limitations into consideration when you use the ClientMetadata + * parameter:

                        + *
                          + *
                        • + *

                          Amazon Cognito does not store the ClientMetadata value. This data is + * available only to AWS Lambda triggers that are assigned to a user pool to + * support custom workflows. If your user pool configuration does not include + * triggers, the ClientMetadata parameter serves no purpose.

                          + *
                        • + *
                        • + *

                          Amazon Cognito does not validate the ClientMetadata value.

                          + *
                        • + *
                        • + *

                          Amazon Cognito does not encrypt the the ClientMetadata value, so don't use + * it to provide sensitive information.

                          + *
                        • + *
                        + *
                        */ - DesiredDeliveryMediums?: (DeliveryMediumType | string)[]; + ClientMetadata?: { [key: string]: string }; } export namespace AdminCreateUserRequest { export const filterSensitiveLog = (obj: AdminCreateUserRequest): any => ({ ...obj, + ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.ValidationData && { ValidationData: obj.ValidationData.map((item) => AttributeType.filterSensitiveLog(item)), }), - ...(obj.Username && { Username: SENSITIVE_STRING }), + ...(obj.TemporaryPassword && { TemporaryPassword: SENSITIVE_STRING }), ...(obj.UserAttributes && { UserAttributes: obj.UserAttributes.map((item) => AttributeType.filterSensitiveLog(item)), }), - ...(obj.TemporaryPassword && { TemporaryPassword: SENSITIVE_STRING }), }); } @@ -878,22 +878,19 @@ export namespace AdminCreateUserRequest { * This data type is no longer supported. You can use it only for * SMS MFA configurations. You can't use it for TOTP software token MFA * configurations.

                        - *

                        To set either type of MFA configuration, use the AdminSetUserMFAPreference or SetUserMFAPreference - * actions.

                        - *

                        To look up information about either type of MFA configuration, use the AdminGetUserResponse$UserMFASettingList or GetUserResponse$UserMFASettingList responses.

                        */ export interface MFAOptionType { - /** - *

                        The delivery medium to send the MFA code. You can use this parameter to set only the - * SMS delivery medium value.

                        - */ - DeliveryMedium?: DeliveryMediumType | string; - /** *

                        The attribute name of the MFA option type. The only valid value is * phone_number.

                        */ AttributeName?: string; + + /** + *

                        The delivery medium to send the MFA code. You can use this parameter to set only the + * SMS delivery medium value.

                        + */ + DeliveryMedium?: DeliveryMediumType | string; } export namespace MFAOptionType { @@ -916,6 +913,26 @@ export enum UserStatusType { *

                        The user type.

                        */ export interface UserType { + /** + *

                        Specifies whether the user is enabled.

                        + */ + Enabled?: boolean; + + /** + *

                        A container with information about the user type attributes.

                        + */ + Attributes?: AttributeType[]; + + /** + *

                        The creation date of the user.

                        + */ + UserCreateDate?: Date; + + /** + *

                        The user name of the user you wish to describe.

                        + */ + Username?: string; + /** *

                        The user status. Can be one of the following:

                        *
                          @@ -948,41 +965,21 @@ export interface UserType { UserStatus?: UserStatusType | string; /** - *

                          The user name of the user you wish to describe.

                          - */ - Username?: string; - - /** - *

                          The creation date of the user.

                          - */ - UserCreateDate?: Date; - - /** - *

                          Specifies whether the user is enabled.

                          - */ - Enabled?: boolean; - - /** - *

                          A container with information about the user type attributes.

                          + *

                          The MFA options for the user.

                          */ - Attributes?: AttributeType[]; + MFAOptions?: MFAOptionType[]; /** *

                          The last modified date of the user.

                          */ UserLastModifiedDate?: Date; - - /** - *

                          The MFA options for the user.

                          - */ - MFAOptions?: MFAOptionType[]; } export namespace UserType { export const filterSensitiveLog = (obj: UserType): any => ({ ...obj, - ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.Attributes && { Attributes: obj.Attributes.map((item) => AttributeType.filterSensitiveLog(item)) }), + ...(obj.Username && { Username: SENSITIVE_STRING }), }); } @@ -1143,9 +1140,9 @@ export namespace UsernameExistsException { */ export interface MessageTemplateType { /** - *

                          The message template for email messages.

                          + *

                          The subject line for email messages.

                          */ - EmailMessage?: string; + EmailSubject?: string; /** *

                          The message template for SMS messages.

                          @@ -1153,9 +1150,9 @@ export interface MessageTemplateType { SMSMessage?: string; /** - *

                          The subject line for email messages.

                          + *

                          The message template for email messages.

                          */ - EmailSubject?: string; + EmailMessage?: string; } export namespace MessageTemplateType { @@ -1174,6 +1171,12 @@ export interface AdminCreateUserConfigType { */ AllowAdminCreateUserOnly?: boolean; + /** + *

                          The message template to be used for the welcome message to new users.

                          + *

                          See also Customizing User Invitation Messages.

                          + */ + InviteMessageTemplate?: MessageTemplateType; + /** *

                          The user account expiration limit, in days, after which the account is no longer * usable. To reset the account after that time limit, you must call @@ -1187,12 +1190,6 @@ export interface AdminCreateUserConfigType { * */ UnusedAccountValidityDays?: number; - - /** - *

                          The message template to be used for the welcome message to new users.

                          - *

                          See also Customizing User Invitation Messages.

                          - */ - InviteMessageTemplate?: MessageTemplateType; } export namespace AdminCreateUserConfigType { @@ -1228,11 +1225,9 @@ export namespace AdminDeleteUserRequest { */ export interface AdminDeleteUserAttributesRequest { /** - *

                          An array of strings representing the user attribute names you wish to delete.

                          - *

                          For custom attributes, you must prepend the custom: prefix to the - * attribute name.

                          + *

                          The user name of the user from which you would like to delete attributes.

                          */ - UserAttributeNames: string[] | undefined; + Username: string | undefined; /** *

                          The user pool ID for the user pool where you want to delete user attributes.

                          @@ -1240,9 +1235,11 @@ export interface AdminDeleteUserAttributesRequest { UserPoolId: string | undefined; /** - *

                          The user name of the user from which you would like to delete attributes.

                          + *

                          An array of strings representing the user attribute names you wish to delete.

                          + *

                          For custom attributes, you must prepend the custom: prefix to the + * attribute name.

                          */ - Username: string | undefined; + UserAttributeNames: string[] | undefined; } export namespace AdminDeleteUserAttributesRequest { @@ -1268,6 +1265,12 @@ export namespace AdminDeleteUserAttributesResponse { *

                          A container for information about an identity provider for a user pool.

                          */ export interface ProviderUserIdentifierType { + /** + *

                          The value of the provider attribute to link to, for example, + * xxxxx_account.

                          + */ + ProviderAttributeValue?: string; + /** *

                          The name of the provider, for example, Facebook, Google, or Login with Amazon.

                          */ @@ -1278,12 +1281,6 @@ export interface ProviderUserIdentifierType { * NameID.

                          */ ProviderAttributeName?: string; - - /** - *

                          The value of the provider attribute to link to, for example, - * xxxxx_account.

                          - */ - ProviderAttributeValue?: string; } export namespace ProviderUserIdentifierType { @@ -1294,14 +1291,14 @@ export namespace ProviderUserIdentifierType { export interface AdminDisableProviderForUserRequest { /** - *

                          The user to be disabled.

                          + *

                          The user pool ID for the user pool.

                          */ - User: ProviderUserIdentifierType | undefined; + UserPoolId: string | undefined; /** - *

                          The user pool ID for the user pool.

                          + *

                          The user to be disabled.

                          */ - UserPoolId: string | undefined; + User: ProviderUserIdentifierType | undefined; } export namespace AdminDisableProviderForUserRequest { @@ -1343,14 +1340,14 @@ export namespace AliasExistsException { */ export interface AdminDisableUserRequest { /** - *

                          The user pool ID for the user pool where you want to disable the user.

                          + *

                          The user name of the user you wish to disable.

                          */ - UserPoolId: string | undefined; + Username: string | undefined; /** - *

                          The user name of the user you wish to disable.

                          + *

                          The user pool ID for the user pool where you want to disable the user.

                          */ - Username: string | undefined; + UserPoolId: string | undefined; } export namespace AdminDisableUserRequest { @@ -1377,14 +1374,14 @@ export namespace AdminDisableUserResponse { */ export interface AdminEnableUserRequest { /** - *

                          The user name of the user you wish to enable.

                          + *

                          The user pool ID for the user pool where you want to enable the user.

                          */ - Username: string | undefined; + UserPoolId: string | undefined; /** - *

                          The user pool ID for the user pool where you want to enable the user.

                          + *

                          The user name of the user you wish to enable.

                          */ - UserPoolId: string | undefined; + Username: string | undefined; } export namespace AdminEnableUserRequest { @@ -1456,14 +1453,14 @@ export namespace InvalidUserPoolConfigurationException { */ export interface AdminGetDeviceRequest { /** - *

                          The user name.

                          + *

                          The device key.

                          */ - Username: string | undefined; + DeviceKey: string | undefined; /** - *

                          The device key.

                          + *

                          The user name.

                          */ - DeviceKey: string | undefined; + Username: string | undefined; /** *

                          The user pool ID.

                          @@ -1483,14 +1480,14 @@ export namespace AdminGetDeviceRequest { */ export interface DeviceType { /** - *

                          The creation date of the device.

                          + *

                          The last modified date of the device.

                          */ - DeviceCreateDate?: Date; + DeviceLastModifiedDate?: Date; /** - *

                          The date in which the device was last authenticated.

                          + *

                          The creation date of the device.

                          */ - DeviceLastAuthenticatedDate?: Date; + DeviceCreateDate?: Date; /** *

                          The device key.

                          @@ -1498,9 +1495,9 @@ export interface DeviceType { DeviceKey?: string; /** - *

                          The last modified date of the device.

                          + *

                          The date in which the device was last authenticated.

                          */ - DeviceLastModifiedDate?: Date; + DeviceLastAuthenticatedDate?: Date; /** *

                          The device attributes.

                          @@ -1563,25 +1560,29 @@ export namespace AdminGetUserRequest { */ export interface AdminGetUserResponse { /** - *

                          The user's preferred MFA setting.

                          + *

                          + * This response parameter is no longer supported. It provides + * information only about SMS MFA configurations. It doesn't provide information about TOTP + * software token MFA configurations. To look up information about either type of MFA + * configuration, use UserMFASettingList instead.

                          */ - PreferredMfaSetting?: string; + MFAOptions?: MFAOptionType[]; /** - *

                          The date the user was created.

                          + *

                          The MFA options that are enabled for the user. The possible values in this list are + * SMS_MFA and SOFTWARE_TOKEN_MFA.

                          */ - UserCreateDate?: Date; + UserMFASettingList?: string[]; /** - *

                          The user name of the user about whom you are receiving information.

                          + *

                          The date the user was created.

                          */ - Username: string | undefined; + UserCreateDate?: Date; /** - *

                          The MFA options that are enabled for the user. The possible values in this list are - * SMS_MFA and SOFTWARE_TOKEN_MFA.

                          + *

                          An array of name-value pairs representing user attributes.

                          */ - UserMFASettingList?: string[]; + UserAttributes?: AttributeType[]; /** *

                          Indicates that the status is enabled.

                          @@ -1589,9 +1590,19 @@ export interface AdminGetUserResponse { Enabled?: boolean; /** - *

                          An array of name-value pairs representing user attributes.

                          + *

                          The user name of the user about whom you are receiving information.

                          */ - UserAttributes?: AttributeType[]; + Username: string | undefined; + + /** + *

                          The user's preferred MFA setting.

                          + */ + PreferredMfaSetting?: string; + + /** + *

                          The date the user was last modified.

                          + */ + UserLastModifiedDate?: Date; /** *

                          The user status. Can be one of the following:

                          @@ -1623,30 +1634,15 @@ export interface AdminGetUserResponse { *
                        */ UserStatus?: UserStatusType | string; - - /** - *

                        - * This response parameter is no longer supported. It provides - * information only about SMS MFA configurations. It doesn't provide information about TOTP - * software token MFA configurations. To look up information about either type of MFA - * configuration, use the AdminGetUserResponse$UserMFASettingList - * response instead.

                        - */ - MFAOptions?: MFAOptionType[]; - - /** - *

                        The date the user was last modified.

                        - */ - UserLastModifiedDate?: Date; } export namespace AdminGetUserResponse { export const filterSensitiveLog = (obj: AdminGetUserResponse): any => ({ ...obj, - ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.UserAttributes && { UserAttributes: obj.UserAttributes.map((item) => AttributeType.filterSensitiveLog(item)), }), + ...(obj.Username && { Username: SENSITIVE_STRING }), }); } @@ -1707,6 +1703,11 @@ export namespace HttpHeader { * Amazon Cognito advanced security.

                        */ export interface ContextDataType { + /** + *

                        Your server endpoint where this API is invoked.

                        + */ + ServerName: string | undefined; + /** *

                        HttpHeaders received on your server in same order.

                        */ @@ -1719,19 +1720,14 @@ export interface ContextDataType { EncodedData?: string; /** - *

                        Source IP address of your user.

                        - */ - IpAddress: string | undefined; - - /** - *

                        Your server endpoint where this API is invoked.

                        + *

                        Your server path where this API is invoked.

                        */ - ServerName: string | undefined; + ServerPath: string | undefined; /** - *

                        Your server path where this API is invoked.

                        + *

                        Source IP address of your user.

                        */ - ServerPath: string | undefined; + IpAddress: string | undefined; } export namespace ContextDataType { @@ -1745,88 +1741,27 @@ export namespace ContextDataType { */ export interface AdminInitiateAuthRequest { /** - *

                        The authentication flow for this call to execute. The API action will depend on this - * value. For example:

                        + *

                        The analytics metadata for collecting Amazon Pinpoint metrics for + * AdminInitiateAuth calls.

                        + */ + AnalyticsMetadata?: AnalyticsMetadataType; + + /** + *

                        A map of custom key-value pairs that you can provide as input for certain custom + * workflows that this action triggers.

                        + *

                        You create custom workflows by assigning AWS Lambda functions to user pool triggers. + * When you use the AdminInitiateAuth API action, Amazon Cognito invokes the AWS Lambda + * functions that are specified for various triggers. The ClientMetadata value is passed as + * input to the functions for only the following triggers:

                        *
                          *
                        • - *

                          - * REFRESH_TOKEN_AUTH will take in a valid refresh token and return - * new tokens.

                          + *

                          Pre signup

                          *
                        • *
                        • - *

                          - * USER_SRP_AUTH will take in USERNAME and - * SRP_A and return the SRP variables to be used for next - * challenge execution.

                          + *

                          Pre authentication

                          *
                        • *
                        • - *

                          - * USER_PASSWORD_AUTH will take in USERNAME and - * PASSWORD and return the next challenge or tokens.

                          - *
                        • - *
                        - *

                        Valid values include:

                        - *
                          - *
                        • - *

                          - * USER_SRP_AUTH: Authentication flow for the Secure Remote Password - * (SRP) protocol.

                          - *
                        • - *
                        • - *

                          - * REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication - * flow for refreshing the access token and ID token by supplying a valid refresh - * token.

                          - *
                        • - *
                        • - *

                          - * CUSTOM_AUTH: Custom authentication flow.

                          - *
                        • - *
                        • - *

                          - * ADMIN_NO_SRP_AUTH: Non-SRP authentication flow; you can pass in - * the USERNAME and PASSWORD directly if the flow is enabled for calling the app - * client.

                          - *
                        • - *
                        • - *

                          - * USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and - * PASSWORD are passed directly. If a user migration Lambda trigger is set, this - * flow will invoke the user migration Lambda if the USERNAME is not found in the - * user pool.

                          - *
                        • - *
                        • - *

                          - * ADMIN_USER_PASSWORD_AUTH: Admin-based user password - * authentication. This replaces the ADMIN_NO_SRP_AUTH authentication - * flow. In this flow, Cognito receives the password in the request instead of - * using the SRP process to verify passwords.

                          - *
                        • - *
                        - */ - AuthFlow: AuthFlowType | string | undefined; - - /** - *

                        The ID of the Amazon Cognito user pool.

                        - */ - UserPoolId: string | undefined; - - /** - *

                        A map of custom key-value pairs that you can provide as input for certain custom - * workflows that this action triggers.

                        - *

                        You create custom workflows by assigning AWS Lambda functions to user pool triggers. - * When you use the AdminInitiateAuth API action, Amazon Cognito invokes the AWS Lambda - * functions that are specified for various triggers. The ClientMetadata value is passed as - * input to the functions for only the following triggers:

                        - *
                          - *
                        • - *

                          Pre signup

                          - *
                        • - *
                        • - *

                          Pre authentication

                          - *
                        • - *
                        • - *

                          User migration

                          + *

                          User migration

                          *
                        • *
                        * @@ -1886,10 +1821,66 @@ export interface AdminInitiateAuthRequest { ClientMetadata?: { [key: string]: string }; /** - *

                        The analytics metadata for collecting Amazon Pinpoint metrics for - * AdminInitiateAuth calls.

                        + *

                        The authentication flow for this call to execute. The API action will depend on this + * value. For example:

                        + *
                          + *
                        • + *

                          + * REFRESH_TOKEN_AUTH will take in a valid refresh token and return + * new tokens.

                          + *
                        • + *
                        • + *

                          + * USER_SRP_AUTH will take in USERNAME and + * SRP_A and return the SRP variables to be used for next + * challenge execution.

                          + *
                        • + *
                        • + *

                          + * USER_PASSWORD_AUTH will take in USERNAME and + * PASSWORD and return the next challenge or tokens.

                          + *
                        • + *
                        + *

                        Valid values include:

                        + *
                          + *
                        • + *

                          + * USER_SRP_AUTH: Authentication flow for the Secure Remote Password + * (SRP) protocol.

                          + *
                        • + *
                        • + *

                          + * REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication + * flow for refreshing the access token and ID token by supplying a valid refresh + * token.

                          + *
                        • + *
                        • + *

                          + * CUSTOM_AUTH: Custom authentication flow.

                          + *
                        • + *
                        • + *

                          + * ADMIN_NO_SRP_AUTH: Non-SRP authentication flow; you can pass in + * the USERNAME and PASSWORD directly if the flow is enabled for calling the app + * client.

                          + *
                        • + *
                        • + *

                          + * USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and + * PASSWORD are passed directly. If a user migration Lambda trigger is set, this + * flow will invoke the user migration Lambda if the USERNAME is not found in the + * user pool.

                          + *
                        • + *
                        • + *

                          + * ADMIN_USER_PASSWORD_AUTH: Admin-based user password + * authentication. This replaces the ADMIN_NO_SRP_AUTH authentication + * flow. In this flow, Cognito receives the password in the request instead of + * using the SRP process to verify passwords.

                          + *
                        • + *
                        */ - AnalyticsMetadata?: AnalyticsMetadataType; + AuthFlow: AuthFlowType | string | undefined; /** *

                        Contextual data such as the user's device fingerprint, IP address, or location used @@ -1898,6 +1889,11 @@ export interface AdminInitiateAuthRequest { */ ContextData?: ContextDataType; + /** + *

                        The ID of the Amazon Cognito user pool.

                        + */ + UserPoolId: string | undefined; + /** *

                        The authentication parameters. These are inputs corresponding to the * AuthFlow that you are invoking. The required values depend on the value @@ -1906,26 +1902,24 @@ export interface AdminInitiateAuthRequest { *

                      • *

                        For USER_SRP_AUTH: USERNAME (required), * SRP_A (required), SECRET_HASH (required if the app - * client is configured with a client secret), DEVICE_KEY - *

                        + * client is configured with a client secret), DEVICE_KEY.

                        *
                      • *
                      • *

                        For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN * (required), SECRET_HASH (required if the app client is configured - * with a client secret), DEVICE_KEY - *

                        + * with a client secret), DEVICE_KEY.

                        *
                      • *
                      • *

                        For ADMIN_NO_SRP_AUTH: USERNAME (required), * SECRET_HASH (if app client is configured with client secret), - * PASSWORD (required), DEVICE_KEY - *

                        + * PASSWORD (required), DEVICE_KEY.

                        *
                      • *
                      • *

                        For CUSTOM_AUTH: USERNAME (required), * SECRET_HASH (if app client is configured with client secret), - * DEVICE_KEY - *

                        + * DEVICE_KEY. To start the authentication flow with password + * verification, include ChallengeName: SRP_A and SRP_A: (The + * SRP_A Value).

                        *
                      • *
                      */ @@ -1950,14 +1944,14 @@ export namespace AdminInitiateAuthRequest { */ export interface NewDeviceMetadataType { /** - *

                      The device group key.

                      + *

                      The device key.

                      */ - DeviceGroupKey?: string; + DeviceKey?: string; /** - *

                      The device key.

                      + *

                      The device group key.

                      */ - DeviceKey?: string; + DeviceGroupKey?: string; } export namespace NewDeviceMetadataType { @@ -1971,14 +1965,9 @@ export namespace NewDeviceMetadataType { */ export interface AuthenticationResultType { /** - *

                      The token type.

                      - */ - TokenType?: string; - - /** - *

                      The access token.

                      + *

                      The expiration period of the authentication result in seconds.

                      */ - AccessToken?: string; + ExpiresIn?: number; /** *

                      The new device metadata from an authentication result.

                      @@ -1996,17 +1985,22 @@ export interface AuthenticationResultType { IdToken?: string; /** - *

                      The expiration period of the authentication result in seconds.

                      + *

                      The token type.

                      */ - ExpiresIn?: number; + TokenType?: string; + + /** + *

                      The access token.

                      + */ + AccessToken?: string; } export namespace AuthenticationResultType { export const filterSensitiveLog = (obj: AuthenticationResultType): any => ({ ...obj, - ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), ...(obj.RefreshToken && { RefreshToken: SENSITIVE_STRING }), ...(obj.IdToken && { IdToken: SENSITIVE_STRING }), + ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), }); } @@ -2027,14 +2021,6 @@ export enum ChallengeNameType { *

                      Initiates the authentication response, as an administrator.

                      */ export interface AdminInitiateAuthResponse { - /** - *

                      The result of the authentication response. This is only returned if the caller does - * not need to pass another challenge. If the caller does need to pass another challenge - * before it gets tokens, ChallengeName, ChallengeParameters, and - * Session are returned.

                      - */ - AuthenticationResult?: AuthenticationResultType; - /** *

                      The name of the challenge which you are responding to with this call. This is returned * to you in the AdminInitiateAuth response if you need to pass another @@ -2098,6 +2084,14 @@ export interface AdminInitiateAuthResponse { */ ChallengeName?: ChallengeNameType | string; + /** + *

                      The result of the authentication response. This is only returned if the caller does + * not need to pass another challenge. If the caller does need to pass another challenge + * before it gets tokens, ChallengeName, ChallengeParameters, and + * Session are returned.

                      + */ + AuthenticationResult?: AuthenticationResultType; + /** *

                      The session which should be passed both ways in challenge-response calls to the * service. If AdminInitiateAuth or AdminRespondToAuthChallenge @@ -2189,27 +2183,6 @@ export namespace UserNotConfirmedException { } export interface AdminLinkProviderForUserRequest { - /** - *

                      The existing user in the user pool to be linked to the external identity provider user - * account. Can be a native (Username + Password) Cognito User Pools user or a federated - * user (for example, a SAML or Facebook user). If the user doesn't exist, an exception is - * thrown. This is the user that is returned when the new user (with the linked identity - * provider attribute) signs in.

                      - *

                      For a native username + password user, the ProviderAttributeValue for the - * DestinationUser should be the username in the user pool. For a - * federated user, it should be the provider-specific user_id.

                      - *

                      The ProviderAttributeName of the DestinationUser is - * ignored.

                      - *

                      The ProviderName should be set to Cognito for users in - * Cognito user pools.

                      - */ - DestinationUser: ProviderUserIdentifierType | undefined; - - /** - *

                      The user pool ID for the user pool.

                      - */ - UserPoolId: string | undefined; - /** *

                      An external identity provider account for a user who does not currently exist yet in * the user pool. This user must be a federated user (for example, a SAML or Facebook @@ -2233,6 +2206,27 @@ export interface AdminLinkProviderForUserRequest { * token.

                      */ SourceUser: ProviderUserIdentifierType | undefined; + + /** + *

                      The existing user in the user pool to be linked to the external identity provider user + * account. Can be a native (Username + Password) Cognito User Pools user or a federated + * user (for example, a SAML or Facebook user). If the user doesn't exist, an exception is + * thrown. This is the user that is returned when the new user (with the linked identity + * provider attribute) signs in.

                      + *

                      For a native username + password user, the ProviderAttributeValue for the + * DestinationUser should be the username in the user pool. For a + * federated user, it should be the provider-specific user_id.

                      + *

                      The ProviderAttributeName of the DestinationUser is + * ignored.

                      + *

                      The ProviderName should be set to Cognito for users in + * Cognito user pools.

                      + */ + DestinationUser: ProviderUserIdentifierType | undefined; + + /** + *

                      The user pool ID for the user pool.

                      + */ + UserPoolId: string | undefined; } export namespace AdminLinkProviderForUserRequest { @@ -2254,24 +2248,24 @@ export namespace AdminLinkProviderForUserResponse { */ export interface AdminListDevicesRequest { /** - *

                      The user pool ID.

                      + *

                      The pagination token.

                      */ - UserPoolId: string | undefined; + PaginationToken?: string; /** - *

                      The user name.

                      + *

                      The limit of the devices request.

                      */ - Username: string | undefined; + Limit?: number; /** - *

                      The pagination token.

                      + *

                      The user name.

                      */ - PaginationToken?: string; + Username: string | undefined; /** - *

                      The limit of the devices request.

                      + *

                      The user pool ID.

                      */ - Limit?: number; + UserPoolId: string | undefined; } export namespace AdminListDevicesRequest { @@ -2304,14 +2298,14 @@ export namespace AdminListDevicesResponse { export interface AdminListGroupsForUserRequest { /** - *

                      The user pool ID for the user pool.

                      + *

                      The limit of the request to list groups.

                      */ - UserPoolId: string | undefined; + Limit?: number; /** - *

                      The username for the user.

                      + *

                      The user pool ID for the user pool.

                      */ - Username: string | undefined; + UserPoolId: string | undefined; /** *

                      An identifier that was returned from the previous call to this operation, which can be @@ -2320,9 +2314,9 @@ export interface AdminListGroupsForUserRequest { NextToken?: string; /** - *

                      The limit of the request to list groups.

                      + *

                      The username for the user.

                      */ - Limit?: number; + Username: string | undefined; } export namespace AdminListGroupsForUserRequest { @@ -2337,32 +2331,9 @@ export namespace AdminListGroupsForUserRequest { */ export interface GroupType { /** - *

                      A nonnegative integer value that specifies the precedence of this group relative to - * the other groups that a user can belong to in the user pool. If a user belongs to two or - * more groups, it is the group with the highest precedence whose role ARN will be used in - * the cognito:roles and cognito:preferred_role claims in the - * user's tokens. Groups with higher Precedence values take precedence over - * groups with lower Precedence values or with null Precedence - * values.

                      - *

                      Two groups can have the same Precedence value. If this happens, neither - * group takes precedence over the other. If two groups with the same - * Precedence have the same role ARN, that role is used in the - * cognito:preferred_role claim in tokens for users in each group. If the - * two groups have different role ARNs, the cognito:preferred_role claim is - * not set in users' tokens.

                      - *

                      The default Precedence value is null.

                      + *

                      The user pool ID for the user pool.

                      */ - Precedence?: number; - - /** - *

                      The date the group was last modified.

                      - */ - LastModifiedDate?: Date; - - /** - *

                      The date the group was created.

                      - */ - CreationDate?: Date; + UserPoolId?: string; /** *

                      A string containing the description of the group.

                      @@ -2375,14 +2346,37 @@ export interface GroupType { GroupName?: string; /** - *

                      The user pool ID for the user pool.

                      + *

                      The date the group was last modified.

                      */ - UserPoolId?: string; + LastModifiedDate?: Date; + + /** + *

                      The date the group was created.

                      + */ + CreationDate?: Date; /** *

                      The role ARN for the group.

                      */ RoleArn?: string; + + /** + *

                      A nonnegative integer value that specifies the precedence of this group relative to + * the other groups that a user can belong to in the user pool. If a user belongs to two or + * more groups, it is the group with the highest precedence whose role ARN will be used in + * the cognito:roles and cognito:preferred_role claims in the + * user's tokens. Groups with higher Precedence values take precedence over + * groups with lower Precedence values or with null Precedence + * values.

                      + *

                      Two groups can have the same Precedence value. If this happens, neither + * group takes precedence over the other. If two groups with the same + * Precedence have the same role ARN, that role is used in the + * cognito:preferred_role claim in tokens for users in each group. If the + * two groups have different role ARNs, the cognito:preferred_role claim is + * not set in users' tokens.

                      + *

                      The default Precedence value is null.

                      + */ + Precedence?: number; } export namespace GroupType { @@ -2393,15 +2387,15 @@ export namespace GroupType { export interface AdminListGroupsForUserResponse { /** - *

                      An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

                      + *

                      The groups that the user belongs to.

                      */ - NextToken?: string; + Groups?: GroupType[]; /** - *

                      The groups that the user belongs to.

                      + *

                      An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

                      */ - Groups?: GroupType[]; + NextToken?: string; } export namespace AdminListGroupsForUserResponse { @@ -2411,11 +2405,6 @@ export namespace AdminListGroupsForUserResponse { } export interface AdminListUserAuthEventsRequest { - /** - *

                      The maximum number of authentication events to return.

                      - */ - MaxResults?: number; - /** *

                      A pagination token.

                      */ @@ -2426,6 +2415,11 @@ export interface AdminListUserAuthEventsRequest { */ Username: string | undefined; + /** + *

                      The maximum number of authentication events to return.

                      + */ + MaxResults?: number; + /** *

                      The user pool ID.

                      */ @@ -2454,14 +2448,14 @@ export enum ChallengeResponse { */ export interface ChallengeResponseType { /** - *

                      The challenge name

                      + *

                      The challenge response.

                      */ - ChallengeName?: ChallengeName | string; + ChallengeResponse?: ChallengeResponse | string; /** - *

                      The challenge response.

                      + *

                      The challenge name

                      */ - ChallengeResponse?: ChallengeResponse | string; + ChallengeName?: ChallengeName | string; } export namespace ChallengeResponseType { @@ -2475,24 +2469,24 @@ export namespace ChallengeResponseType { */ export interface EventContextDataType { /** - *

                      The user's country.

                      + *

                      The user's time zone.

                      */ - Country?: string; + Timezone?: string; /** - *

                      The user's IP address.

                      + *

                      The user's city.

                      */ - IpAddress?: string; + City?: string; /** - *

                      The user's city.

                      + *

                      The user's country.

                      */ - City?: string; + Country?: string; /** - *

                      The user's time zone.

                      + *

                      The user's IP address.

                      */ - Timezone?: string; + IpAddress?: string; /** *

                      The user's device name.

                      @@ -2515,11 +2509,6 @@ export enum FeedbackValueType { *

                      Specifies the event feedback type.

                      */ export interface EventFeedbackType { - /** - *

                      The provider.

                      - */ - Provider: string | undefined; - /** *

                      The event feedback date.

                      */ @@ -2529,6 +2518,11 @@ export interface EventFeedbackType { *

                      The event feedback value.

                      */ FeedbackValue: FeedbackValueType | string | undefined; + + /** + *

                      The provider.

                      + */ + Provider: string | undefined; } export namespace EventFeedbackType { @@ -2558,11 +2552,6 @@ export enum RiskLevelType { *

                      The event risk type.

                      */ export interface EventRiskType { - /** - *

                      The risk decision.

                      - */ - RiskDecision?: RiskDecisionType | string; - /** *

                      Indicates whether compromised credentials were detected during an authentication * event.

                      @@ -2573,6 +2562,11 @@ export interface EventRiskType { *

                      The risk level.

                      */ RiskLevel?: RiskLevelType | string; + + /** + *

                      The risk decision.

                      + */ + RiskDecision?: RiskDecisionType | string; } export namespace EventRiskType { @@ -2592,36 +2586,31 @@ export enum EventType { */ export interface AuthEventType { /** - *

                      The event type.

                      - */ - EventType?: EventType | string; - - /** - *

                      The challenge responses.

                      + *

                      The user context data captured at the time of an event request. It provides additional + * information about the client from which event the request is received.

                      */ - ChallengeResponses?: ChallengeResponseType[]; + EventContextData?: EventContextDataType; /** - *

                      The event ID.

                      + *

                      A flag specifying the user feedback captured at the time of an event request is good + * or bad.

                      */ - EventId?: string; + EventFeedback?: EventFeedbackType; /** - *

                      The event response.

                      + *

                      The event type.

                      */ - EventResponse?: EventResponseType | string; + EventType?: EventType | string; /** - *

                      The user context data captured at the time of an event request. It provides additional - * information about the client from which event the request is received.

                      + *

                      The event ID.

                      */ - EventContextData?: EventContextDataType; + EventId?: string; /** - *

                      A flag specifying the user feedback captured at the time of an event request is good - * or bad.

                      + *

                      The challenge responses.

                      */ - EventFeedback?: EventFeedbackType; + ChallengeResponses?: ChallengeResponseType[]; /** *

                      The creation date

                      @@ -2632,6 +2621,11 @@ export interface AuthEventType { *

                      The event risk.

                      */ EventRisk?: EventRiskType; + + /** + *

                      The event response.

                      + */ + EventResponse?: EventResponseType | string; } export namespace AuthEventType { @@ -2682,14 +2676,14 @@ export interface AdminRemoveUserFromGroupRequest { Username: string | undefined; /** - *

                      The user pool ID for the user pool.

                      + *

                      The group name.

                      */ - UserPoolId: string | undefined; + GroupName: string | undefined; /** - *

                      The group name.

                      + *

                      The user pool ID for the user pool.

                      */ - GroupName: string | undefined; + UserPoolId: string | undefined; } export namespace AdminRemoveUserFromGroupRequest { @@ -2703,11 +2697,6 @@ export namespace AdminRemoveUserFromGroupRequest { *

                      Represents the request to reset a user's password as an administrator.

                      */ export interface AdminResetUserPasswordRequest { - /** - *

                      The user pool ID for the user pool where you want to reset the user's password.

                      - */ - UserPoolId: string | undefined; - /** *

                      A map of custom key-value pairs that you can provide as input for any custom workflows * that this action triggers.

                      @@ -2744,6 +2733,11 @@ export interface AdminResetUserPasswordRequest { */ ClientMetadata?: { [key: string]: string }; + /** + *

                      The user pool ID for the user pool where you want to reset the user's password.

                      + */ + UserPoolId: string | undefined; + /** *

                      The user name of the user whose password you wish to reset.

                      */ @@ -2793,6 +2787,15 @@ export namespace InvalidEmailRoleAccessPolicyException { *

                      The request to respond to the authentication challenge, as an administrator.

                      */ export interface AdminRespondToAuthChallengeRequest { + /** + *

                      The session which should be passed both ways in challenge-response calls to the + * service. If InitiateAuth or RespondToAuthChallenge API call + * determines that the caller needs to go through another challenge, they return a session + * with other challenge parameters. This session should be passed as it is to the next + * RespondToAuthChallenge API call.

                      + */ + Session?: string; + /** *

                      A map of custom key-value pairs that you can provide as input for any custom workflows * that this action triggers.

                      @@ -2833,6 +2836,24 @@ export interface AdminRespondToAuthChallengeRequest { */ ClientMetadata?: { [key: string]: string }; + /** + *

                      The challenge name. For more information, see AdminInitiateAuth.

                      + */ + ChallengeName: ChallengeNameType | string | undefined; + + /** + *

                      The analytics metadata for collecting Amazon Pinpoint metrics for + * AdminRespondToAuthChallenge calls.

                      + */ + AnalyticsMetadata?: AnalyticsMetadataType; + + /** + *

                      Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

                      + */ + ContextData?: ContextDataType; + /** *

                      The challenge responses. These are inputs corresponding to the value of * ChallengeName, for example:

                      @@ -2872,41 +2893,14 @@ export interface AdminRespondToAuthChallengeRequest { ChallengeResponses?: { [key: string]: string }; /** - *

                      Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

                      - */ - ContextData?: ContextDataType; - - /** - *

                      The challenge name. For more information, see .

                      - */ - ChallengeName: ChallengeNameType | string | undefined; - - /** - *

                      The analytics metadata for collecting Amazon Pinpoint metrics for - * AdminRespondToAuthChallenge calls.

                      - */ - AnalyticsMetadata?: AnalyticsMetadataType; - - /** - *

                      The session which should be passed both ways in challenge-response calls to the - * service. If InitiateAuth or RespondToAuthChallenge API call - * determines that the caller needs to go through another challenge, they return a session - * with other challenge parameters. This session should be passed as it is to the next - * RespondToAuthChallenge API call.

                      + *

                      The app client ID.

                      */ - Session?: string; + ClientId: string | undefined; /** *

                      The ID of the Amazon Cognito user pool.

                      */ UserPoolId: string | undefined; - - /** - *

                      The app client ID.

                      - */ - ClientId: string | undefined; } export namespace AdminRespondToAuthChallengeRequest { @@ -2921,28 +2915,28 @@ export namespace AdminRespondToAuthChallengeRequest { */ export interface AdminRespondToAuthChallengeResponse { /** - *

                      The challenge parameters. For more information, see .

                      + *

                      The session which should be passed both ways in challenge-response calls to the + * service. If the caller needs to + * go through another challenge, they return a session with other challenge parameters. + * This session should be passed as it is to the next RespondToAuthChallenge + * API call.

                      */ - ChallengeParameters?: { [key: string]: string }; + Session?: string; /** - *

                      The result returned by the server in response to the authentication request.

                      + *

                      The challenge parameters. For more information, see AdminInitiateAuth.

                      */ - AuthenticationResult?: AuthenticationResultType; + ChallengeParameters?: { [key: string]: string }; /** - *

                      The name of the challenge. For more information, see .

                      + *

                      The name of the challenge. For more information, see AdminInitiateAuth.

                      */ ChallengeName?: ChallengeNameType | string; /** - *

                      The session which should be passed both ways in challenge-response calls to the - * service. If the or API call determines that the caller needs to - * go through another challenge, they return a session with other challenge parameters. - * This session should be passed as it is to the next RespondToAuthChallenge - * API call.

                      + *

                      The result returned by the server in response to the authentication request.

                      */ - Session?: string; + AuthenticationResult?: AuthenticationResultType; } export namespace AdminRespondToAuthChallengeResponse { @@ -3051,24 +3045,24 @@ export namespace SoftwareTokenMfaSettingsType { export interface AdminSetUserMFAPreferenceRequest { /** - *

                      The SMS text message MFA settings.

                      + *

                      The time-based one-time password software token MFA settings.

                      */ - SMSMfaSettings?: SMSMfaSettingsType; + SoftwareTokenMfaSettings?: SoftwareTokenMfaSettingsType; /** - *

                      The user pool ID.

                      + *

                      The user pool username or alias.

                      */ - UserPoolId: string | undefined; + Username: string | undefined; /** - *

                      The user pool username or alias.

                      + *

                      The user pool ID.

                      */ - Username: string | undefined; + UserPoolId: string | undefined; /** - *

                      The time-based one-time password software token MFA settings.

                      + *

                      The SMS text message MFA settings.

                      */ - SoftwareTokenMfaSettings?: SoftwareTokenMfaSettingsType; + SMSMfaSettings?: SMSMfaSettingsType; } export namespace AdminSetUserMFAPreferenceRequest { @@ -3087,15 +3081,20 @@ export namespace AdminSetUserMFAPreferenceResponse { } export interface AdminSetUserPasswordRequest { + /** + *

                      The password for the user.

                      + */ + Password: string | undefined; + /** *

                      The user pool ID for the user pool where you want to set the user's password.

                      */ UserPoolId: string | undefined; /** - *

                      The password for the user.

                      + *

                      The user name of the user whose password you wish to set.

                      */ - Password: string | undefined; + Username: string | undefined; /** *

                      @@ -3103,11 +3102,6 @@ export interface AdminSetUserPasswordRequest { * temporary.

                      */ Permanent?: boolean; - - /** - *

                      The user name of the user whose password you wish to set.

                      - */ - Username: string | undefined; } export namespace AdminSetUserPasswordRequest { @@ -3170,7 +3164,12 @@ export namespace AdminSetUserSettingsResponse { export interface AdminUpdateAuthEventFeedbackRequest { /** - *

                      The user pool username.

                      + *

                      The user pool ID.

                      + */ + UserPoolId: string | undefined; + + /** + *

                      The user pool username.

                      */ Username: string | undefined; @@ -3183,11 +3182,6 @@ export interface AdminUpdateAuthEventFeedbackRequest { *

                      The authentication event ID.

                      */ EventId: string | undefined; - - /** - *

                      The user pool ID.

                      - */ - UserPoolId: string | undefined; } export namespace AdminUpdateAuthEventFeedbackRequest { @@ -3215,14 +3209,14 @@ export enum DeviceRememberedStatusType { */ export interface AdminUpdateDeviceStatusRequest { /** - *

                      The user pool ID.

                      + *

                      The status indicating whether a device has been remembered or not.

                      */ - UserPoolId: string | undefined; + DeviceRememberedStatus?: DeviceRememberedStatusType | string; /** - *

                      The status indicating whether a device has been remembered or not.

                      + *

                      The device key.

                      */ - DeviceRememberedStatus?: DeviceRememberedStatusType | string; + DeviceKey: string | undefined; /** *

                      The user name.

                      @@ -3230,9 +3224,9 @@ export interface AdminUpdateDeviceStatusRequest { Username: string | undefined; /** - *

                      The device key.

                      + *

                      The user pool ID.

                      */ - DeviceKey: string | undefined; + UserPoolId: string | undefined; } export namespace AdminUpdateDeviceStatusRequest { @@ -3257,6 +3251,23 @@ export namespace AdminUpdateDeviceStatusResponse { *

                      Represents the request to update the user's attributes as an administrator.

                      */ export interface AdminUpdateUserAttributesRequest { + /** + *

                      The user name of the user for whom you want to update user attributes.

                      + */ + Username: string | undefined; + + /** + *

                      The user pool ID for the user pool where you want to update user attributes.

                      + */ + UserPoolId: string | undefined; + + /** + *

                      An array of name-value pairs representing user attributes.

                      + *

                      For custom attributes, you must prepend the custom: prefix to the + * attribute name.

                      + */ + UserAttributes: AttributeType[] | undefined; + /** *

                      A map of custom key-value pairs that you can provide as input for any custom workflows * that this action triggers.

                      @@ -3292,32 +3303,15 @@ export interface AdminUpdateUserAttributesRequest { *
                      */ ClientMetadata?: { [key: string]: string }; - - /** - *

                      An array of name-value pairs representing user attributes.

                      - *

                      For custom attributes, you must prepend the custom: prefix to the - * attribute name.

                      - */ - UserAttributes: AttributeType[] | undefined; - - /** - *

                      The user pool ID for the user pool where you want to update user attributes.

                      - */ - UserPoolId: string | undefined; - - /** - *

                      The user name of the user for whom you want to update user attributes.

                      - */ - Username: string | undefined; } export namespace AdminUpdateUserAttributesRequest { export const filterSensitiveLog = (obj: AdminUpdateUserAttributesRequest): any => ({ ...obj, + ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.UserAttributes && { UserAttributes: obj.UserAttributes.map((item) => AttributeType.filterSensitiveLog(item)), }), - ...(obj.Username && { Username: SENSITIVE_STRING }), }); } @@ -3338,14 +3332,14 @@ export namespace AdminUpdateUserAttributesResponse { */ export interface AdminUserGlobalSignOutRequest { /** - *

                      The user name.

                      + *

                      The user pool ID.

                      */ - Username: string | undefined; + UserPoolId: string | undefined; /** - *

                      The user pool ID.

                      + *

                      The user name.

                      */ - UserPoolId: string | undefined; + Username: string | undefined; } export namespace AdminUserGlobalSignOutRequest { @@ -3382,31 +3376,41 @@ export enum AliasAttributeType { *

                      The Amazon Pinpoint analytics configuration for collecting metrics for a user * pool.

                      * - *

                      Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

                      + *

                      In regions where Pinpoint is not available, Cognito User Pools only supports sending events to Amazon Pinpoint projects in us-east-1. + * In regions where Pinpoint is available, Cognito User Pools will + * support sending events to Amazon Pinpoint projects within that same region. + *

                      *
                      */ export interface AnalyticsConfigurationType { /** - *

                      If UserDataShared is true, Amazon Cognito will include user - * data in the events it publishes to Amazon Pinpoint analytics.

                      + *

                      The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint + * project for Pinpoint integration with the chosen User Pool Client. + * Amazon Cognito publishes events to the pinpoint project declared by the app ARN.

                      */ - UserDataShared?: boolean; + ApplicationArn?: string; + + /** + *

                      The external ID.

                      + */ + ExternalId?: string; /** *

                      The ARN of an IAM role that authorizes Amazon Cognito to publish events to Amazon * Pinpoint analytics.

                      */ - RoleArn: string | undefined; + RoleArn?: string; /** - *

                      The external ID.

                      + *

                      If UserDataShared is true, Amazon Cognito will include user + * data in the events it publishes to Amazon Pinpoint analytics.

                      */ - ExternalId: string | undefined; + UserDataShared?: boolean; /** *

                      The application ID for an Amazon Pinpoint application.

                      */ - ApplicationId: string | undefined; + ApplicationId?: string; } export namespace AnalyticsConfigurationType { @@ -3417,15 +3421,15 @@ export namespace AnalyticsConfigurationType { export interface AssociateSoftwareTokenRequest { /** - *

                      The session which should be passed both ways in challenge-response calls to the - * service. This allows authentication of the user as part of the MFA setup process.

                      + *

                      The access token.

                      */ - Session?: string; + AccessToken?: string; /** - *

                      The access token.

                      + *

                      The session which should be passed both ways in challenge-response calls to the + * service. This allows authentication of the user as part of the MFA setup process.

                      */ - AccessToken?: string; + Session?: string; } export namespace AssociateSoftwareTokenRequest { @@ -3436,17 +3440,17 @@ export namespace AssociateSoftwareTokenRequest { } export interface AssociateSoftwareTokenResponse { - /** - *

                      A unique generated shared secret code that is used in the TOTP algorithm to generate a - * one time code.

                      - */ - SecretCode?: string; - /** *

                      The session which should be passed both ways in challenge-response calls to the * service. This allows authentication of the user as part of the MFA setup process.

                      */ Session?: string; + + /** + *

                      A unique generated shared secret code that is used in the TOTP algorithm to generate a + * one time code.

                      + */ + SecretCode?: string; } export namespace AssociateSoftwareTokenResponse { @@ -3457,19 +3461,38 @@ export namespace AssociateSoftwareTokenResponse { } /** - *

                      Represents the request to change a user password.

                      + *

                      This exception is thrown if two or more modifications are happening + * concurrently.

                      */ -export interface ChangePasswordRequest { +export interface ConcurrentModificationException extends __SmithyException, $MetadataBearer { + name: "ConcurrentModificationException"; + $fault: "client"; /** - *

                      The old password.

                      + *

                      The message provided when the concurrent exception is thrown.

                      */ - PreviousPassword: string | undefined; + message?: string; +} + +export namespace ConcurrentModificationException { + export const filterSensitiveLog = (obj: ConcurrentModificationException): any => ({ + ...obj, + }); +} +/** + *

                      Represents the request to change a user password.

                      + */ +export interface ChangePasswordRequest { /** *

                      The access token.

                      */ AccessToken: string | undefined; + /** + *

                      The old password.

                      + */ + PreviousPassword: string | undefined; + /** *

                      The new password.

                      */ @@ -3479,8 +3502,8 @@ export interface ChangePasswordRequest { export namespace ChangePasswordRequest { export const filterSensitiveLog = (obj: ChangePasswordRequest): any => ({ ...obj, - ...(obj.PreviousPassword && { PreviousPassword: SENSITIVE_STRING }), ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), + ...(obj.PreviousPassword && { PreviousPassword: SENSITIVE_STRING }), ...(obj.ProposedPassword && { ProposedPassword: SENSITIVE_STRING }), }); } @@ -3501,14 +3524,14 @@ export namespace ChangePasswordResponse { */ export interface DeviceSecretVerifierConfigType { /** - *

                      The password verifier.

                      + *

                      The salt.

                      */ - PasswordVerifier?: string; + Salt?: string; /** - *

                      The salt.

                      + *

                      The password verifier.

                      */ - Salt?: string; + PasswordVerifier?: string; } export namespace DeviceSecretVerifierConfigType { @@ -3527,14 +3550,14 @@ export interface ConfirmDeviceRequest { AccessToken: string | undefined; /** - *

                      The device name.

                      + *

                      The device key.

                      */ - DeviceName?: string; + DeviceKey: string | undefined; /** - *

                      The device key.

                      + *

                      The device name.

                      */ - DeviceKey: string | undefined; + DeviceName?: string; /** *

                      The configuration of the device secret verifier.

                      @@ -3591,16 +3614,29 @@ export namespace UserContextDataType { */ export interface ConfirmForgotPasswordRequest { /** - *

                      A keyed-hash message authentication code (HMAC) calculated using the secret key of a - * user pool client and username plus the client ID in the message.

                      + *

                      The user name of the user for whom you want to enter a code to retrieve a forgotten + * password.

                      */ - SecretHash?: string; + Username: string | undefined; + + /** + *

                      Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

                      + */ + UserContextData?: UserContextDataType; /** *

                      The app client ID of the app associated with the user pool.

                      */ ClientId: string | undefined; + /** + *

                      A keyed-hash message authentication code (HMAC) calculated using the secret key of a + * user pool client and username plus the client ID in the message.

                      + */ + SecretHash?: string; + /** *

                      A map of custom key-value pairs that you can provide as input for any custom workflows * that this action triggers.

                      @@ -3639,23 +3675,10 @@ export interface ConfirmForgotPasswordRequest { /** *

                      The confirmation code sent by a user's request to retrieve a forgotten password. For - * more information, see

                      + * more information, see ForgotPassword.

                      */ ConfirmationCode: string | undefined; - /** - *

                      The user name of the user for whom you want to enter a code to retrieve a forgotten - * password.

                      - */ - Username: string | undefined; - - /** - *

                      Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

                      - */ - UserContextData?: UserContextDataType; - /** *

                      The password sent by a user's request to retrieve a forgotten password.

                      */ @@ -3671,9 +3694,9 @@ export interface ConfirmForgotPasswordRequest { export namespace ConfirmForgotPasswordRequest { export const filterSensitiveLog = (obj: ConfirmForgotPasswordRequest): any => ({ ...obj, - ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), - ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), ...(obj.Username && { Username: SENSITIVE_STRING }), + ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), + ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), ...(obj.Password && { Password: SENSITIVE_STRING }), }); } @@ -3695,14 +3718,38 @@ export namespace ConfirmForgotPasswordResponse { */ export interface ConfirmSignUpRequest { /** - *

                      Boolean to be specified to force user confirmation irrespective of existing alias. By - * default set to False. If this parameter is set to True and the - * phone number/email used for sign up confirmation already exists as an alias with a - * different user, the API call will migrate the alias from the previous user to the newly - * created user being confirmed. If set to False, the API will throw an - * AliasExistsException error.

                      + *

                      The user name of the user whose registration you wish to confirm.

                      */ - ForceAliasCreation?: boolean; + Username: string | undefined; + + /** + *

                      The ID of the app client associated with the user pool.

                      + */ + ClientId: string | undefined; + + /** + *

                      A keyed-hash message authentication code (HMAC) calculated using the secret key of a + * user pool client and username plus the client ID in the message.

                      + */ + SecretHash?: string; + + /** + *

                      Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

                      + */ + UserContextData?: UserContextDataType; + + /** + *

                      The confirmation code sent by a user's request to confirm registration.

                      + */ + ConfirmationCode: string | undefined; + + /** + *

                      The Amazon Pinpoint analytics metadata for collecting metrics for + * ConfirmSignUp calls.

                      + */ + AnalyticsMetadata?: AnalyticsMetadataType; /** *

                      A map of custom key-value pairs that you can provide as input for any custom workflows @@ -3740,46 +3787,22 @@ export interface ConfirmSignUpRequest { ClientMetadata?: { [key: string]: string }; /** - *

                      A keyed-hash message authentication code (HMAC) calculated using the secret key of a - * user pool client and username plus the client ID in the message.

                      - */ - SecretHash?: string; - - /** - *

                      The ID of the app client associated with the user pool.

                      - */ - ClientId: string | undefined; - - /** - *

                      Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

                      - */ - UserContextData?: UserContextDataType; - - /** - *

                      The confirmation code sent by a user's request to confirm registration.

                      - */ - ConfirmationCode: string | undefined; - - /** - *

                      The user name of the user whose registration you wish to confirm.

                      - */ - Username: string | undefined; - - /** - *

                      The Amazon Pinpoint analytics metadata for collecting metrics for - * ConfirmSignUp calls.

                      + *

                      Boolean to be specified to force user confirmation irrespective of existing alias. By + * default set to False. If this parameter is set to True and the + * phone number/email used for sign up confirmation already exists as an alias with a + * different user, the API call will migrate the alias from the previous user to the newly + * created user being confirmed. If set to False, the API will throw an + * AliasExistsException error.

                      */ - AnalyticsMetadata?: AnalyticsMetadataType; + ForceAliasCreation?: boolean; } export namespace ConfirmSignUpRequest { export const filterSensitiveLog = (obj: ConfirmSignUpRequest): any => ({ ...obj, - ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), - ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), ...(obj.Username && { Username: SENSITIVE_STRING }), + ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), + ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), }); } @@ -3795,6 +3818,11 @@ export namespace ConfirmSignUpResponse { } export interface CreateGroupRequest { + /** + *

                      The name of the group. Must be unique.

                      + */ + GroupName: string | undefined; + /** *

                      A nonnegative integer value that specifies the precedence of this group relative to * the other groups that a user can belong to in the user pool. Zero is the highest @@ -3813,11 +3841,6 @@ export interface CreateGroupRequest { */ Precedence?: number; - /** - *

                      The name of the group. Must be unique.

                      - */ - GroupName: string | undefined; - /** *

                      The user pool ID for the user pool.

                      */ @@ -3880,14 +3903,9 @@ export enum IdentityProviderTypeType { export interface CreateIdentityProviderRequest { /** - *

                      The user pool ID.

                      - */ - UserPoolId: string | undefined; - - /** - *

                      The identity provider type.

                      + *

                      The identity provider name.

                      */ - ProviderType: IdentityProviderTypeType | string | undefined; + ProviderName: string | undefined; /** *

                      A mapping of identity provider attributes to standard and custom user pool @@ -3901,16 +3919,16 @@ export interface CreateIdentityProviderRequest { IdpIdentifiers?: string[]; /** - *

                      The identity provider name.

                      + *

                      The user pool ID.

                      */ - ProviderName: string | undefined; + UserPoolId: string | undefined; /** *

                      The identity provider details. The following list describes the provider detail keys * for each identity provider type.

                      *
                        *
                      • - *

                        For Google, Facebook and Login with Amazon:

                        + *

                        For Google and Login with Amazon:

                        *
                          *
                        • *

                          client_id

                          @@ -3924,6 +3942,23 @@ export interface CreateIdentityProviderRequest { *
                        *
                      • *
                      • + *

                        For Facebook:

                        + *
                          + *
                        • + *

                          client_id

                          + *
                        • + *
                        • + *

                          client_secret

                          + *
                        • + *
                        • + *

                          authorize_scopes

                          + *
                        • + *
                        • + *

                          api_version

                          + *
                        • + *
                        + *
                      • + *
                      • *

                        For Sign in with Apple:

                        *
                          *
                        • @@ -3981,9 +4016,6 @@ export interface CreateIdentityProviderRequest { * oidc_issuer key *

                          *
                        • - *
                        • - *

                          authorize_scopes

                          - *
                        • *
                        *
                      • *
                      • @@ -4001,6 +4033,11 @@ export interface CreateIdentityProviderRequest { *
                      */ ProviderDetails: { [key: string]: string } | undefined; + + /** + *

                      The identity provider type.

                      + */ + ProviderType: IdentityProviderTypeType | string | undefined; } export namespace CreateIdentityProviderRequest { @@ -4013,12 +4050,62 @@ export namespace CreateIdentityProviderRequest { *

                      A container for information about an identity provider.

                      */ export interface IdentityProviderType { + /** + *

                      The user pool ID.

                      + */ + UserPoolId?: string; + + /** + *

                      The identity provider name.

                      + */ + ProviderName?: string; + + /** + *

                      The date the identity provider was last modified.

                      + */ + LastModifiedDate?: Date; + + /** + *

                      The date the identity provider was created.

                      + */ + CreationDate?: Date; + + /** + *

                      A mapping of identity provider attributes to standard and custom user pool + * attributes.

                      + */ + AttributeMapping?: { [key: string]: string }; + + /** + *

                      A list of identity provider identifiers.

                      + */ + IdpIdentifiers?: string[]; + + /** + *

                      The identity provider type.

                      + */ + ProviderType?: IdentityProviderTypeType | string; + /** *

                      The identity provider details. The following list describes the provider detail keys * for each identity provider type.

                      *
                        *
                      • - *

                        For Google, Facebook and Login with Amazon:

                        + *

                        For Google and Login with Amazon:

                        + *
                          + *
                        • + *

                          client_id

                          + *
                        • + *
                        • + *

                          client_secret

                          + *
                        • + *
                        • + *

                          authorize_scopes

                          + *
                        • + *
                        + *
                      • + *
                      • + *

                        For Facebook:

                        *
                          *
                        • *

                          client_id

                          @@ -4029,6 +4116,9 @@ export interface IdentityProviderType { *
                        • *

                          authorize_scopes

                          *
                        • + *
                        • + *

                          api_version

                          + *
                        • *
                        *
                      • *
                      • @@ -4109,42 +4199,6 @@ export interface IdentityProviderType { *
                      */ ProviderDetails?: { [key: string]: string }; - - /** - *

                      A list of identity provider identifiers.

                      - */ - IdpIdentifiers?: string[]; - - /** - *

                      A mapping of identity provider attributes to standard and custom user pool - * attributes.

                      - */ - AttributeMapping?: { [key: string]: string }; - - /** - *

                      The user pool ID.

                      - */ - UserPoolId?: string; - - /** - *

                      The date the identity provider was last modified.

                      - */ - LastModifiedDate?: Date; - - /** - *

                      The date the identity provider was created.

                      - */ - CreationDate?: Date; - - /** - *

                      The identity provider name.

                      - */ - ProviderName?: string; - - /** - *

                      The identity provider type.

                      - */ - ProviderType?: IdentityProviderTypeType | string; } export namespace IdentityProviderType { @@ -4205,11 +4259,9 @@ export namespace ResourceServerScopeType { export interface CreateResourceServerRequest { /** - *

                      A unique resource server identifier for the resource server. This could be an HTTPS - * endpoint where the resource server is located. For example, - * https://my-weather-api.example.com.

                      + *

                      A friendly name for the resource server.

                      */ - Identifier: string | undefined; + Name: string | undefined; /** *

                      A list of scopes. Each scope is map, where the keys are name and @@ -4218,14 +4270,16 @@ export interface CreateResourceServerRequest { Scopes?: ResourceServerScopeType[]; /** - *

                      A friendly name for the resource server.

                      + *

                      The user pool ID for the user pool.

                      */ - Name: string | undefined; + UserPoolId: string | undefined; /** - *

                      The user pool ID for the user pool.

                      + *

                      A unique resource server identifier for the resource server. This could be an HTTPS + * endpoint where the resource server is located. For example, + * https://my-weather-api.example.com.

                      */ - UserPoolId: string | undefined; + Identifier: string | undefined; } export namespace CreateResourceServerRequest { @@ -4238,11 +4292,6 @@ export namespace CreateResourceServerRequest { *

                      A container for information about a resource server for a user pool.

                      */ export interface ResourceServerType { - /** - *

                      The user pool ID for the user pool that hosts the resource server.

                      - */ - UserPoolId?: string; - /** *

                      The identifier for the resource server.

                      */ @@ -4253,6 +4302,11 @@ export interface ResourceServerType { */ Scopes?: ResourceServerScopeType[]; + /** + *

                      The user pool ID for the user pool that hosts the resource server.

                      + */ + UserPoolId?: string; + /** *

                      The name of the resource server.

                      */ @@ -4319,15 +4373,25 @@ export enum UserImportJobStatusType { *

                      The user import job type.

                      */ export interface UserImportJobType { + /** + *

                      The date when the user import job was started.

                      + */ + StartDate?: Date; + /** *

                      The job ID for the user import job.

                      */ JobId?: string; /** - *

                      The date when the user import job was completed.

                      + *

                      The number of users that could not be imported.

                      */ - CompletionDate?: Date; + FailedUsers?: number; + + /** + *

                      The date the user import job was created.

                      + */ + CreationDate?: Date; /** *

                      The user pool ID for the user pool that the users are being imported into.

                      @@ -4335,14 +4399,16 @@ export interface UserImportJobType { UserPoolId?: string; /** - *

                      The message returned when the user import job is completed.

                      + *

                      The number of users that were skipped.

                      */ - CompletionMessage?: string; + SkippedUsers?: number; /** - *

                      The date when the user import job was started.

                      + *

                      The role ARN for the Amazon CloudWatch Logging role for the user import job. For more + * information, see "Creating the CloudWatch Logs IAM Role" in the Amazon Cognito Developer + * Guide.

                      */ - StartDate?: Date; + CloudWatchLogsRoleArn?: string; /** *

                      The pre-signed URL to be used to upload the .csv file.

                      @@ -4355,19 +4421,19 @@ export interface UserImportJobType { ImportedUsers?: number; /** - *

                      The job name for the user import job.

                      + *

                      The message returned when the user import job is completed.

                      */ - JobName?: string; + CompletionMessage?: string; /** - *

                      The date the user import job was created.

                      + *

                      The date when the user import job was completed.

                      */ - CreationDate?: Date; + CompletionDate?: Date; /** - *

                      The number of users that could not be imported.

                      + *

                      The job name for the user import job.

                      */ - FailedUsers?: number; + JobName?: string; /** *

                      The status of the user import job. One of the following:

                      @@ -4413,18 +4479,6 @@ export interface UserImportJobType { *
                    */ Status?: UserImportJobStatusType | string; - - /** - *

                    The role ARN for the Amazon CloudWatch Logging role for the user import job. For more - * information, see "Creating the CloudWatch Logs IAM Role" in the Amazon Cognito Developer - * Guide.

                    - */ - CloudWatchLogsRoleArn?: string; - - /** - *

                    The number of users that were skipped.

                    - */ - SkippedUsers?: number; } export namespace UserImportJobType { @@ -4486,14 +4540,6 @@ export enum EmailSendingAccountType { *

                    The email configuration type.

                    */ export interface EmailConfigurationType { - /** - *

                    Identifies either the sender’s email address or the sender’s name with their email - * address. For example, testuser@example.com or Test User - * . This address will appear before the body of the - * email.

                    - */ - From?: string; - /** *

                    Specifies whether Amazon Cognito emails your users by using its built-in email * functionality or your Amazon SES email configuration. Specify one of the following @@ -4536,6 +4582,37 @@ export interface EmailConfigurationType { */ EmailSendingAccount?: EmailSendingAccountType | string; + /** + *

                    The destination to which the receiver of the email should reply to.

                    + */ + ReplyToEmailAddress?: string; + + /** + *

                    Identifies either the sender’s email address or the sender’s name with their email + * address. For example, testuser@example.com or Test User + * . This address will appear before the body of the + * email.

                    + */ + From?: string; + + /** + *

                    The Amazon Resource Name (ARN) of a verified email address in Amazon SES. This email + * address is used in one of the following ways, depending on the value that you specify + * for the EmailSendingAccount parameter:

                    + *
                      + *
                    • + *

                      If you specify COGNITO_DEFAULT, Amazon Cognito uses this address + * as the custom FROM address when it emails your users by using its built-in email + * account.

                      + *
                    • + *
                    • + *

                      If you specify DEVELOPER, Amazon Cognito emails your users with + * this address by calling Amazon SES on your behalf.

                      + *
                    • + *
                    + */ + SourceArn?: string; + /** *

                    The set of configuration rules that can be applied to emails sent using Amazon SES. A * configuration set is applied to an email by including a reference to the configuration @@ -4557,70 +4634,52 @@ export interface EmailConfigurationType { *

                  */ ConfigurationSet?: string; +} + +export namespace EmailConfigurationType { + export const filterSensitiveLog = (obj: EmailConfigurationType): any => ({ + ...obj, + }); +} +/** + *

                  Specifies the configuration for AWS Lambda triggers.

                  + */ +export interface LambdaConfigType { /** - *

                  The destination to which the receiver of the email should reply to.

                  + *

                  The user migration Lambda config type.

                  */ - ReplyToEmailAddress?: string; + UserMigration?: string; /** - *

                  The Amazon Resource Name (ARN) of a verified email address in Amazon SES. This email - * address is used in one of the following ways, depending on the value that you specify - * for the EmailSendingAccount parameter:

                  - *
                    - *
                  • - *

                    If you specify COGNITO_DEFAULT, Amazon Cognito uses this address - * as the custom FROM address when it emails your users by using its built-in email - * account.

                    - *
                  • - *
                  • - *

                    If you specify DEVELOPER, Amazon Cognito emails your users with - * this address by calling Amazon SES on your behalf.

                    - *
                  • - *
                  - */ - SourceArn?: string; -} - -export namespace EmailConfigurationType { - export const filterSensitiveLog = (obj: EmailConfigurationType): any => ({ - ...obj, - }); -} - -/** - *

                  Specifies the configuration for AWS Lambda triggers.

                  - */ -export interface LambdaConfigType { - /** - *

                  A pre-registration AWS Lambda trigger.

                  + *

                  Defines the authentication challenge.

                  */ - PreSignUp?: string; + DefineAuthChallenge?: string; /** - *

                  A post-confirmation AWS Lambda trigger.

                  + *

                  Verifies the authentication challenge response.

                  */ - PostConfirmation?: string; + VerifyAuthChallengeResponse?: string; /** - *

                  Creates an authentication challenge.

                  + *

                  A pre-authentication AWS Lambda trigger.

                  */ - CreateAuthChallenge?: string; + PreAuthentication?: string; /** - *

                  A Lambda trigger that is invoked before token generation.

                  + *

                  A pre-registration AWS Lambda trigger.

                  */ - PreTokenGeneration?: string; + PreSignUp?: string; /** - *

                  A pre-authentication AWS Lambda trigger.

                  + *

                  A post-authentication AWS Lambda trigger.

                  */ - PreAuthentication?: string; + PostAuthentication?: string; /** - *

                  The user migration Lambda config type.

                  + *

                  A post-confirmation AWS Lambda trigger.

                  */ - UserMigration?: string; + PostConfirmation?: string; /** *

                  A custom Message AWS Lambda trigger.

                  @@ -4628,19 +4687,14 @@ export interface LambdaConfigType { CustomMessage?: string; /** - *

                  A post-authentication AWS Lambda trigger.

                  - */ - PostAuthentication?: string; - - /** - *

                  Verifies the authentication challenge response.

                  + *

                  A Lambda trigger that is invoked before token generation.

                  */ - VerifyAuthChallengeResponse?: string; + PreTokenGeneration?: string; /** - *

                  Defines the authentication challenge.

                  + *

                  Creates an authentication challenge.

                  */ - DefineAuthChallenge?: string; + CreateAuthChallenge?: string; } export namespace LambdaConfigType { @@ -4659,18 +4713,6 @@ export enum UserPoolMfaType { *

                  The password policy type.

                  */ export interface PasswordPolicyType { - /** - *

                  In the password policy that you have set, refers to whether you have required users to - * use at least one symbol in their password.

                  - */ - RequireSymbols?: boolean; - - /** - *

                  In the password policy that you have set, refers to whether you have required users to - * use at least one uppercase letter in their password.

                  - */ - RequireUppercase?: boolean; - /** *

                  In the password policy you have set, refers to the number of days a temporary password * is valid. If the user does not sign-in during this time, their password will need to be @@ -4684,10 +4726,10 @@ export interface PasswordPolicyType { TemporaryPasswordValidityDays?: number; /** - *

                  The minimum length of the password policy that you have set. Cannot be less than - * 6.

                  + *

                  In the password policy that you have set, refers to whether you have required users to + * use at least one uppercase letter in their password.

                  */ - MinimumLength?: number; + RequireUppercase?: boolean; /** *

                  In the password policy that you have set, refers to whether you have required users to @@ -4695,11 +4737,23 @@ export interface PasswordPolicyType { */ RequireLowercase?: boolean; + /** + *

                  The minimum length of the password policy that you have set. Cannot be less than + * 6.

                  + */ + MinimumLength?: number; + /** *

                  In the password policy that you have set, refers to whether you have required users to * use at least one number in their password.

                  */ RequireNumbers?: boolean; + + /** + *

                  In the password policy that you have set, refers to whether you have required users to + * use at least one symbol in their password.

                  + */ + RequireSymbols?: boolean; } export namespace PasswordPolicyType { @@ -4731,6 +4785,13 @@ export namespace UserPoolPolicyType { * that you provide for your AWS account.

                  */ export interface SmsConfigurationType { + /** + *

                  The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller. + * This is the ARN of the IAM role in your AWS account which Cognito will use to send SMS + * messages.

                  + */ + SnsCallerArn: string | undefined; + /** *

                  The external ID is a value that we recommend you use to add security to your IAM role * which is used to call Amazon SNS to send SMS messages for your user pool. If you provide @@ -4741,13 +4802,6 @@ export interface SmsConfigurationType { * that demonstrates use of the ExternalId.

                  */ ExternalId?: string; - - /** - *

                  The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller. - * This is the ARN of the IAM role in your AWS account which Cognito will use to send SMS - * messages.

                  - */ - SnsCallerArn: string | undefined; } export namespace SmsConfigurationType { @@ -4827,26 +4881,15 @@ export enum DefaultEmailOptionType { */ export interface VerificationMessageTemplateType { /** - *

                  The email message template.

                  - */ - EmailMessage?: string; - - /** - *

                  The subject line for the email message template for sending a confirmation link to the - * user.

                  + *

                  The email message template for sending a confirmation link to the user.

                  */ - EmailSubjectByLink?: string; + EmailMessageByLink?: string; /** *

                  The SMS message template.

                  */ SmsMessage?: string; - /** - *

                  The email message template for sending a confirmation link to the user.

                  - */ - EmailMessageByLink?: string; - /** *

                  The default email option.

                  */ @@ -4856,6 +4899,17 @@ export interface VerificationMessageTemplateType { *

                  The subject line for the email message template.

                  */ EmailSubject?: string; + + /** + *

                  The subject line for the email message template for sending a confirmation link to the + * user.

                  + */ + EmailSubjectByLink?: string; + + /** + *

                  The email message template.

                  + */ + EmailMessage?: string; } export namespace VerificationMessageTemplateType { @@ -4869,63 +4923,30 @@ export namespace VerificationMessageTemplateType { */ export interface CreateUserPoolRequest { /** - *

                  The email configuration.

                  + *

                  Specifies MFA configuration details.

                  */ - EmailConfiguration?: EmailConfigurationType; + MfaConfiguration?: UserPoolMfaType | string; /** *

                  The configuration for AdminCreateUser requests.

                  */ AdminCreateUserConfig?: AdminCreateUserConfigType; - /** - *

                  A string representing the email verification message.

                  - */ - EmailVerificationMessage?: string; - /** *

                  The device configuration.

                  */ DeviceConfiguration?: DeviceConfigurationType; /** - *

                  The SMS configuration.

                  - */ - SmsConfiguration?: SmsConfigurationType; - - /** - *

                  The tag keys and values to assign to the user pool. A tag is a label that you can use - * to categorize and manage user pools in different ways, such as by purpose, owner, - * environment, or other criteria.

                  - */ - UserPoolTags?: { [key: string]: string }; - - /** - *

                  A string representing the email verification subject.

                  - */ - EmailVerificationSubject?: string; - - /** - *

                  Used to enable advanced security risk detection. Set the key - * AdvancedSecurityMode to the value "AUDIT".

                  - */ - UserPoolAddOns?: UserPoolAddOnsType; - - /** - *

                  The policies associated with the new user pool.

                  - */ - Policies?: UserPoolPolicyType; - - /** - *

                  An array of schema attributes for the new user pool. These attributes can be standard - * or custom attributes.

                  + *

                  A string representing the email verification message.

                  */ - Schema?: SchemaAttributeType[]; + EmailVerificationMessage?: string; /** - *

                  The attributes to be auto-verified. Possible values: email, phone_number.

                  + *

                  The template for the verification message that the user sees when the app requests + * permission to access the user's information.

                  */ - AutoVerifiedAttributes?: (VerifiedAttributeType | string)[]; + VerificationMessageTemplate?: VerificationMessageTemplateType; /** *

                  A string representing the SMS authentication message.

                  @@ -4933,25 +4954,9 @@ export interface CreateUserPoolRequest { SmsAuthenticationMessage?: string; /** - *

                  Use this setting to define which verified available method a user can use to recover - * their password when they call ForgotPassword. It allows you to define a - * preferred method when a user has more than one method available. With this setting, SMS - * does not qualify for a valid password recovery mechanism if the user also has SMS MFA - * enabled. In the absence of this setting, Cognito uses the legacy behavior to determine - * the recovery method where SMS is preferred over email.

                  - * - *

                  Starting February 1, 2020, the value of AccountRecoverySetting will - * default to verified_email first and verified_phone_number - * as the second option for newly created user pools if no value is provided.

                  - *
                  - */ - AccountRecoverySetting?: AccountRecoverySettingType; - - /** - *

                  Specifies whether email addresses or phone numbers can be specified as usernames when - * a user signs up.

                  + *

                  A string representing the SMS verification message.

                  */ - UsernameAttributes?: (UsernameAttributeType | string)[]; + SmsVerificationMessage?: string; /** *

                  The Lambda trigger configuration information for the new user pool.

                  @@ -4969,105 +4974,137 @@ export interface CreateUserPoolRequest { LambdaConfig?: LambdaConfigType; /** - *

                  The template for the verification message that the user sees when the app requests - * permission to access the user's information.

                  + *

                  A string used to name the user pool.

                  */ - VerificationMessageTemplate?: VerificationMessageTemplateType; + PoolName: string | undefined; /** - *

                  A string used to name the user pool.

                  + *

                  Attributes supported as an alias for this user pool. Possible values: phone_number, email, or + * preferred_username.

                  */ - PoolName: string | undefined; + AliasAttributes?: (AliasAttributeType | string)[]; /** *

                  You can choose to set case sensitivity on the username input for the selected sign-in * option. For example, when this is set to False, users will be able to sign * in using either "username" or "Username". This configuration is immutable once it has - * been set. For more information, see .

                  + * been set. For more information, see UsernameConfigurationType.

                  */ UsernameConfiguration?: UsernameConfigurationType; /** - *

                  Attributes supported as an alias for this user pool. Possible values: phone_number, email, or - * preferred_username.

                  + *

                  The SMS configuration.

                  */ - AliasAttributes?: (AliasAttributeType | string)[]; + SmsConfiguration?: SmsConfigurationType; /** - *

                  A string representing the SMS verification message.

                  + *

                  Used to enable advanced security risk detection. Set the key + * AdvancedSecurityMode to the value "AUDIT".

                  */ - SmsVerificationMessage?: string; + UserPoolAddOns?: UserPoolAddOnsType; /** - *

                  Specifies MFA configuration details.

                  + *

                  Specifies whether email addresses or phone numbers can be specified as usernames when + * a user signs up.

                  */ - MfaConfiguration?: UserPoolMfaType | string; -} - -export namespace CreateUserPoolRequest { - export const filterSensitiveLog = (obj: CreateUserPoolRequest): any => ({ - ...obj, - }); -} - -export enum StatusType { - Disabled = "Disabled", - Enabled = "Enabled", -} + UsernameAttributes?: (UsernameAttributeType | string)[]; -/** - *

                  A container for information about the user pool.

                  - */ -export interface UserPoolType { /** - *

                  The contents of the SMS verification message.

                  + *

                  Use this setting to define which verified available method a user can use to recover + * their password when they call ForgotPassword. It allows you to define a + * preferred method when a user has more than one method available. With this setting, SMS + * does not qualify for a valid password recovery mechanism if the user also has SMS MFA + * enabled. In the absence of this setting, Cognito uses the legacy behavior to determine + * the recovery method where SMS is preferred over email.

                  */ - SmsVerificationMessage?: string; + AccountRecoverySetting?: AccountRecoverySettingType; /** - *

                  The SMS configuration.

                  + *

                  The tag keys and values to assign to the user pool. A tag is a label that you can use + * to categorize and manage user pools in different ways, such as by purpose, owner, + * environment, or other criteria.

                  */ - SmsConfiguration?: SmsConfigurationType; + UserPoolTags?: { [key: string]: string }; /** - *

                  A number estimating the size of the user pool.

                  + *

                  An array of schema attributes for the new user pool. These attributes can be standard + * or custom attributes.

                  */ - EstimatedNumberOfUsers?: number; + Schema?: SchemaAttributeType[]; /** - *

                  The AWS Lambda triggers associated with the user pool.

                  + *

                  The email configuration.

                  */ - LambdaConfig?: LambdaConfigType; + EmailConfiguration?: EmailConfigurationType; /** - *

                  Holds the domain prefix if the user pool has a domain associated with it.

                  + *

                  The attributes to be auto-verified. Possible values: email, phone_number.

                  */ - Domain?: string; + AutoVerifiedAttributes?: (VerifiedAttributeType | string)[]; /** - *

                  Specifies the attributes that are aliased in a user pool.

                  + *

                  A string representing the email verification subject.

                  */ - AliasAttributes?: (AliasAttributeType | string)[]; + EmailVerificationSubject?: string; /** - *

                  The name of the user pool.

                  + *

                  The policies associated with the new user pool.

                  */ - Name?: string; + Policies?: UserPoolPolicyType; +} + +export namespace CreateUserPoolRequest { + export const filterSensitiveLog = (obj: CreateUserPoolRequest): any => ({ + ...obj, + }); +} + +export enum StatusType { + Disabled = "Disabled", + Enabled = "Enabled", +} + +/** + *

                  A container for information about the user pool.

                  + */ +export interface UserPoolType { + /** + *

                  A custom domain name that you provide to Amazon Cognito. This parameter applies only + * if you use a custom domain to host the sign-up and sign-in pages for your application. + * For example: auth.example.com.

                  + *

                  For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

                  + */ + CustomDomain?: string; /** - *

                  The date the user pool was last modified.

                  + *

                  The contents of the email verification message.

                  */ - LastModifiedDate?: Date; + EmailVerificationMessage?: string; /** - *

                  The date the user pool was created.

                  + *

                  The reason why the SMS configuration cannot send the messages to your users.

                  */ - CreationDate?: Date; + SmsConfigurationFailure?: string; /** - *

                  The template for verification messages.

                  + *

                  The user pool add-ons.

                  */ - VerificationMessageTemplate?: VerificationMessageTemplateType; + UserPoolAddOns?: UserPoolAddOnsType; + + /** + *

                  The status of a user pool.

                  + */ + Status?: StatusType | string; + + /** + *

                  The contents of the SMS authentication message.

                  + */ + SmsAuthenticationMessage?: string; + + /** + *

                  The reason why the email configuration cannot send the messages to your users.

                  + */ + EmailConfigurationFailure?: string; /** *

                  Use this setting to define which verified available method a user can use to recover @@ -5080,72 +5117,62 @@ export interface UserPoolType { AccountRecoverySetting?: AccountRecoverySettingType; /** - *

                  The subject of the email verification message.

                  + *

                  The date the user pool was last modified.

                  */ - EmailVerificationSubject?: string; + LastModifiedDate?: Date; /** - *

                  The configuration for AdminCreateUser requests.

                  + *

                  The date the user pool was created.

                  */ - AdminCreateUserConfig?: AdminCreateUserConfigType; + CreationDate?: Date; /** - *

                  The reason why the SMS configuration cannot send the messages to your users.

                  + *

                  You can choose to enable case sensitivity on the username input for the selected + * sign-in option. For example, when this is set to False, users will be able + * to sign in using either "username" or "Username". This configuration is immutable once + * it has been set. For more information, see UsernameConfigurationType.

                  */ - SmsConfigurationFailure?: string; + UsernameConfiguration?: UsernameConfigurationType; /** - *

                  The policies associated with the user pool.

                  + *

                  The name of the user pool.

                  */ - Policies?: UserPoolPolicyType; + Name?: string; /** - *

                  The email configuration.

                  + *

                  The contents of the SMS verification message.

                  */ - EmailConfiguration?: EmailConfigurationType; + SmsVerificationMessage?: string; /** - *

                  You can choose to enable case sensitivity on the username input for the selected - * sign-in option. For example, when this is set to False, users will be able - * to sign in using either "username" or "Username". This configuration is immutable once - * it has been set. For more information, see .

                  + *

                  Holds the domain prefix if the user pool has a domain associated with it.

                  */ - UsernameConfiguration?: UsernameConfigurationType; + Domain?: string; /** - *

                  A custom domain name that you provide to Amazon Cognito. This parameter applies only - * if you use a custom domain to host the sign-up and sign-in pages for your application. - * For example: auth.example.com.

                  - *

                  For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

                  + *

                  The subject of the email verification message.

                  */ - CustomDomain?: string; + EmailVerificationSubject?: string; /** - *

                  A container with the schema attributes of a user pool.

                  + *

                  The email configuration.

                  */ - SchemaAttributes?: SchemaAttributeType[]; + EmailConfiguration?: EmailConfigurationType; /** - *

                  Can be one of the following values:

                  - *
                    - *
                  • - *

                    - * OFF - MFA tokens are not required and cannot be specified during - * user registration.

                    - *
                  • - *
                  • - *

                    - * ON - MFA tokens are required for all user registrations. You can - * only specify required when you are initially creating a user pool.

                    - *
                  • - *
                  • - *

                    - * OPTIONAL - Users have the option when registering to create an MFA - * token.

                    - *
                  • - *
                  + *

                  A number estimating the size of the user pool.

                  */ - MfaConfiguration?: UserPoolMfaType | string; + EstimatedNumberOfUsers?: number; + + /** + *

                  The configuration for AdminCreateUser requests.

                  + */ + AdminCreateUserConfig?: AdminCreateUserConfigType; + + /** + *

                  The device configuration.

                  + */ + DeviceConfiguration?: DeviceConfigurationType; /** *

                  The tags that are assigned to the user pool. A tag is a label that you can apply to @@ -5155,14 +5182,14 @@ export interface UserPoolType { UserPoolTags?: { [key: string]: string }; /** - *

                  The contents of the SMS authentication message.

                  + *

                  The SMS configuration.

                  */ - SmsAuthenticationMessage?: string; + SmsConfiguration?: SmsConfigurationType; /** - *

                  The Amazon Resource Name (ARN) for the user pool.

                  + *

                  The policies associated with the user pool.

                  */ - Arn?: string; + Policies?: UserPoolPolicyType; /** *

                  The ID of the user pool.

                  @@ -5170,14 +5197,14 @@ export interface UserPoolType { Id?: string; /** - *

                  The device configuration.

                  + *

                  Specifies the attributes that are auto-verified in a user pool.

                  */ - DeviceConfiguration?: DeviceConfigurationType; + AutoVerifiedAttributes?: (VerifiedAttributeType | string)[]; /** - *

                  The contents of the email verification message.

                  + *

                  The Amazon Resource Name (ARN) for the user pool.

                  */ - EmailVerificationMessage?: string; + Arn?: string; /** *

                  Specifies whether email addresses or phone numbers can be specified as usernames when @@ -5186,24 +5213,46 @@ export interface UserPoolType { UsernameAttributes?: (UsernameAttributeType | string)[]; /** - *

                  The reason why the email configuration cannot send the messages to your users.

                  + *

                  The template for verification messages.

                  */ - EmailConfigurationFailure?: string; + VerificationMessageTemplate?: VerificationMessageTemplateType; /** - *

                  Specifies the attributes that are auto-verified in a user pool.

                  + *

                  The AWS Lambda triggers associated with the user pool.

                  */ - AutoVerifiedAttributes?: (VerifiedAttributeType | string)[]; + LambdaConfig?: LambdaConfigType; /** - *

                  The user pool add-ons.

                  + *

                  Specifies the attributes that are aliased in a user pool.

                  */ - UserPoolAddOns?: UserPoolAddOnsType; + AliasAttributes?: (AliasAttributeType | string)[]; /** - *

                  The status of a user pool.

                  + *

                  Can be one of the following values:

                  + *
                    + *
                  • + *

                    + * OFF - MFA tokens are not required and cannot be specified during + * user registration.

                    + *
                  • + *
                  • + *

                    + * ON - MFA tokens are required for all user registrations. You can + * only specify required when you are initially creating a user pool.

                    + *
                  • + *
                  • + *

                    + * OPTIONAL - Users have the option when registering to create an MFA + * token.

                    + *
                  • + *
                  */ - Status?: StatusType | string; + MfaConfiguration?: UserPoolMfaType | string; + + /** + *

                  A container with the schema attributes of a user pool.

                  + */ + SchemaAttributes?: SchemaAttributeType[]; } export namespace UserPoolType { @@ -5265,126 +5314,87 @@ export enum PreventUserExistenceErrorTypes { LEGACY = "LEGACY", } +export enum TimeUnitsType { + DAYS = "days", + HOURS = "hours", + MINUTES = "minutes", + SECONDS = "seconds", +} + /** - *

                  Represents the request to create a user pool client.

                  + *

                  The data type for TokenValidityUnits that specifics the time measurements for token validity.

                  */ -export interface CreateUserPoolClientRequest { +export interface TokenValidityUnitsType { /** - *

                  The default redirect URI. Must be in the CallbackURLs list.

                  - *

                  A redirect URI must:

                  - *
                    - *
                  • - *

                    Be an absolute URI.

                    - *
                  • - *
                  • - *

                    Be registered with the authorization server.

                    - *
                  • - *
                  • - *

                    Not include a fragment component.

                    - *
                  • - *
                  - *

                  See OAuth 2.0 - - * Redirection Endpoint.

                  - *

                  Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing - * purposes only.

                  - *

                  App callback URLs such as myapp://example are also supported.

                  + *

                  A time unit in “seconds”, “minutes”, “hours” or “days” for the value in AccessTokenValidity, defaults to hours.

                  */ - DefaultRedirectURI?: string; + AccessToken?: TimeUnitsType | string; /** - *

                  The allowed OAuth flows.

                  - *

                  Set to code to initiate a code grant flow, which provides an - * authorization code as the response. This code can be exchanged for access tokens with - * the token endpoint.

                  - *

                  Set to implicit to specify that the client should get the access token - * (and, optionally, ID token, based on scopes) directly.

                  - *

                  Set to client_credentials to specify that the client should get the - * access token (and, optionally, ID token, based on scopes) from the token endpoint using - * a combination of client and client_secret.

                  + *

                  A time unit in “seconds”, “minutes”, “hours” or “days” for the value in IdTokenValidity, defaults to hours.

                  */ - AllowedOAuthFlows?: (OAuthFlowType | string)[]; + IdToken?: TimeUnitsType | string; /** - *

                  The user pool ID for the user pool where you want to create a user pool client.

                  + *

                  A time unit in “seconds”, “minutes”, “hours” or “days” for the value in RefreshTokenValidity, defaults to days.

                  */ - UserPoolId: string | undefined; + RefreshToken?: TimeUnitsType | string; +} + +export namespace TokenValidityUnitsType { + export const filterSensitiveLog = (obj: TokenValidityUnitsType): any => ({ + ...obj, + }); +} +/** + *

                  Represents the request to create a user pool client.

                  + */ +export interface CreateUserPoolClientRequest { /** - *

                  The client name for the user pool client you would like to create.

                  + *

                  The time limit, between 5 minutes and 1 day, after which the access token is no longer valid and cannot be used. This value will be overridden if + * you have entered a value in TokenValidityUnits.

                  */ - ClientName: string | undefined; + AccessTokenValidity?: number; /** - *

                  Use this setting to choose which errors and responses are returned by Cognito APIs - * during authentication, account confirmation, and password recovery when the user does - * not exist in the user pool. When set to ENABLED and the user does not - * exist, authentication returns an error indicating either the username or password was - * incorrect, and account confirmation and password recovery return a response indicating a - * code was sent to a simulated destination. When set to LEGACY, those APIs - * will return a UserNotFoundException exception if the user does not exist in - * the user pool.

                  + *

                  The authentication flows that are supported by the user pool clients. Flow names + * without the ALLOW_ prefix are deprecated in favor of new names with the + * ALLOW_ prefix. Note that values with ALLOW_ prefix cannot + * be used along with values without ALLOW_ prefix.

                  *

                  Valid values include:

                  *
                    *
                  • *

                    - * ENABLED - This prevents user existence-related errors.

                    - *
                  • - *
                  • - *

                    - * LEGACY - This represents the old behavior of Cognito where user - * existence related errors are not prevented.

                    - *
                  • - *
                  - *

                  This setting affects the behavior of following APIs:

                  - *
                    - *
                  • - *

                    - * AdminInitiateAuth - *

                    - *
                  • - *
                  • - *

                    - * AdminRespondToAuthChallenge - *

                    - *
                  • - *
                  • - *

                    - * InitiateAuth - *

                    - *
                  • - *
                  • - *

                    - * RespondToAuthChallenge - *

                    + * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password + * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces + * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, + * Cognito receives the password in the request instead of using the SRP (Secure + * Remote Password protocol) protocol to verify passwords.

                    *
                  • *
                  • *

                    - * ForgotPassword - *

                    + * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based + * authentication.

                    *
                  • *
                  • *

                    - * ConfirmForgotPassword - *

                    + * ALLOW_USER_PASSWORD_AUTH: Enable user password-based + * authentication. In this flow, Cognito receives the password in the request + * instead of using the SRP protocol to verify passwords.

                    *
                  • *
                  • *

                    - * ConfirmSignUp - *

                    + * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

                    *
                  • *
                  • *

                    - * ResendConfirmationCode - *

                    + * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh + * tokens.

                    *
                  • *
                  - * - *

                  After February 15th 2020, the value of PreventUserExistenceErrors - * will default to ENABLED for newly created user pool clients if no value - * is provided.

                  - *
                  */ - PreventUserExistenceErrors?: PreventUserExistenceErrorTypes | string; + ExplicitAuthFlows?: (ExplicitAuthFlowsType | string)[]; /** *

                  The user pool attributes that the app client can write to.

                  @@ -5399,33 +5409,7 @@ export interface CreateUserPoolClientRequest { WriteAttributes?: string[]; /** - *

                  The read attributes.

                  - */ - ReadAttributes?: string[]; - - /** - *

                  The time limit, in days, after which the refresh token is no longer valid and cannot - * be used.

                  - */ - RefreshTokenValidity?: number; - - /** - *

                  The allowed OAuth scopes. Possible values provided by OAuth are: phone, - * email, openid, and profile. Possible values - * provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created - * in Resource Servers are also supported.

                  - */ - AllowedOAuthScopes?: string[]; - - /** - *

                  A list of provider names for the identity providers that are supported on this client. - * The following are supported: COGNITO, Facebook, - * Google and LoginWithAmazon.

                  - */ - SupportedIdentityProviders?: string[]; - - /** - *

                  A list of allowed redirect (callback) URLs for the identity providers.

                  + *

                  The default redirect URI. Must be in the CallbackURLs list.

                  *

                  A redirect URI must:

                  *
                    *
                  • @@ -5444,7 +5428,13 @@ export interface CreateUserPoolClientRequest { * purposes only.

                    *

                    App callback URLs such as myapp://example are also supported.

                    */ - CallbackURLs?: string[]; + DefaultRedirectURI?: string; + + /** + *

                    The time limit, in days, after which the refresh token is no longer valid and cannot + * be used.

                    + */ + RefreshTokenValidity?: number; /** *

                    Set to true if the client is allowed to follow the OAuth protocol when interacting @@ -5452,64 +5442,135 @@ export interface CreateUserPoolClientRequest { */ AllowedOAuthFlowsUserPoolClient?: boolean; + /** + *

                    The read attributes.

                    + */ + ReadAttributes?: string[]; + + /** + *

                    Boolean to specify whether you want to generate a secret for the user pool client + * being created.

                    + */ + GenerateSecret?: boolean; + /** *

                    The Amazon Pinpoint analytics configuration for collecting metrics for this user * pool.

                    * - *

                    Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

                    + *

                    In regions where Pinpoint is not available, Cognito User Pools only supports sending events to Amazon Pinpoint projects in us-east-1. + * In regions where Pinpoint is available, Cognito User Pools will + * support sending events to Amazon Pinpoint projects within that same region. + *

                    *
                    */ AnalyticsConfiguration?: AnalyticsConfigurationType; /** - *

                    A list of allowed logout URLs for the identity providers.

                    - */ - LogoutURLs?: string[]; - - /** - *

                    The authentication flows that are supported by the user pool clients. Flow names - * without the ALLOW_ prefix are deprecated in favor of new names with the - * ALLOW_ prefix. Note that values with ALLOW_ prefix cannot - * be used along with values without ALLOW_ prefix.

                    + *

                    Use this setting to choose which errors and responses are returned by Cognito APIs + * during authentication, account confirmation, and password recovery when the user does + * not exist in the user pool. When set to ENABLED and the user does not + * exist, authentication returns an error indicating either the username or password was + * incorrect, and account confirmation and password recovery return a response indicating a + * code was sent to a simulated destination. When set to LEGACY, those APIs + * will return a UserNotFoundException exception if the user does not exist in + * the user pool.

                    *

                    Valid values include:

                    *
                      *
                    • *

                      - * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password - * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces - * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, - * Cognito receives the password in the request instead of using the SRP (Secure - * Remote Password protocol) protocol to verify passwords.

                      + * ENABLED - This prevents user existence-related errors.

                      *
                    • *
                    • *

                      - * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based - * authentication.

                      + * LEGACY - This represents the old behavior of Cognito where user + * existence related errors are not prevented.

                      *
                    • + *
                    + * + * + * + *

                    After February 15th 2020, the value of PreventUserExistenceErrors + * will default to ENABLED for newly created user pool clients if no value + * is provided.

                    + *
                    + */ + PreventUserExistenceErrors?: PreventUserExistenceErrorTypes | string; + + /** + *

                    The time limit, between 5 minutes and 1 day, after which the ID token is no longer valid and cannot be used. This value will be overridden if + * you have entered a value in TokenValidityUnits.

                    + */ + IdTokenValidity?: number; + + /** + *

                    A list of allowed logout URLs for the identity providers.

                    + */ + LogoutURLs?: string[]; + + /** + *

                    The units in which the validity times are represented in. Default for RefreshToken is days, and default for ID and access tokens are hours.

                    + */ + TokenValidityUnits?: TokenValidityUnitsType; + + /** + *

                    A list of provider names for the identity providers that are supported on this client. + * The following are supported: COGNITO, Facebook, + * Google and LoginWithAmazon.

                    + */ + SupportedIdentityProviders?: string[]; + + /** + *

                    The user pool ID for the user pool where you want to create a user pool client.

                    + */ + UserPoolId: string | undefined; + + /** + *

                    The allowed OAuth flows.

                    + *

                    Set to code to initiate a code grant flow, which provides an + * authorization code as the response. This code can be exchanged for access tokens with + * the token endpoint.

                    + *

                    Set to implicit to specify that the client should get the access token + * (and, optionally, ID token, based on scopes) directly.

                    + *

                    Set to client_credentials to specify that the client should get the + * access token (and, optionally, ID token, based on scopes) from the token endpoint using + * a combination of client and client_secret.

                    + */ + AllowedOAuthFlows?: (OAuthFlowType | string)[]; + + /** + *

                    The client name for the user pool client you would like to create.

                    + */ + ClientName: string | undefined; + + /** + *

                    The allowed OAuth scopes. Possible values provided by OAuth are: phone, + * email, openid, and profile. Possible values + * provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created + * in Resource Servers are also supported.

                    + */ + AllowedOAuthScopes?: string[]; + + /** + *

                    A list of allowed redirect (callback) URLs for the identity providers.

                    + *

                    A redirect URI must:

                    + *
                      *
                    • - *

                      - * ALLOW_USER_PASSWORD_AUTH: Enable user password-based - * authentication. In this flow, Cognito receives the password in the request - * instead of using the SRP protocol to verify passwords.

                      + *

                      Be an absolute URI.

                      *
                    • *
                    • - *

                      - * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

                      + *

                      Be registered with the authorization server.

                      *
                    • *
                    • - *

                      - * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh - * tokens.

                      + *

                      Not include a fragment component.

                      *
                    • *
                    + *

                    See OAuth 2.0 - + * Redirection Endpoint.

                    + *

                    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing + * purposes only.

                    + *

                    App callback URLs such as myapp://example are also supported.

                    */ - ExplicitAuthFlows?: (ExplicitAuthFlowsType | string)[]; - - /** - *

                    Boolean to specify whether you want to generate a secret for the user pool client - * being created.

                    - */ - GenerateSecret?: boolean; + CallbackURLs?: string[]; } export namespace CreateUserPoolClientRequest { @@ -5523,43 +5584,47 @@ export namespace CreateUserPoolClientRequest { */ export interface UserPoolClientType { /** - *

                    The authentication flows that are supported by the user pool clients. Flow names - * without the ALLOW_ prefix are deprecated in favor of new names with the - * ALLOW_ prefix. Note that values with ALLOW_ prefix cannot - * be used along with values without ALLOW_ prefix.

                    - *

                    Valid values include:

                    - *
                      - *
                    • - *

                      - * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password - * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces - * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, - * Cognito receives the password in the request instead of using the SRP (Secure - * Remote Password protocol) protocol to verify passwords.

                      - *
                    • - *
                    • - *

                      - * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based - * authentication.

                      - *
                    • - *
                    • - *

                      - * ALLOW_USER_PASSWORD_AUTH: Enable user password-based - * authentication. In this flow, Cognito receives the password in the request - * instead of using the SRP protocol to verify passwords.

                      - *
                    • - *
                    • - *

                      - * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

                      - *
                    • - *
                    • - *

                      - * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh - * tokens.

                      - *
                    • - *
                    + *

                    The time limit, in days, after which the refresh token is no longer valid and cannot + * be used.

                    */ - ExplicitAuthFlows?: (ExplicitAuthFlowsType | string)[]; + RefreshTokenValidity?: number; + + /** + *

                    The allowed OAuth scopes. Possible values provided by OAuth are: phone, + * email, openid, and profile. Possible values + * provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created + * in Resource Servers are also supported.

                    + */ + AllowedOAuthScopes?: string[]; + + /** + *

                    The date the user pool client was created.

                    + */ + CreationDate?: Date; + + /** + *

                    The Amazon Pinpoint analytics configuration for the user pool client.

                    + * + *

                    Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

                    + *
                    + */ + AnalyticsConfiguration?: AnalyticsConfigurationType; + + /** + *

                    The date the user pool client was last modified.

                    + */ + LastModifiedDate?: Date; + + /** + *

                    Set to true if the client is allowed to follow the OAuth protocol when interacting + * with Cognito user pools.

                    + */ + AllowedOAuthFlowsUserPoolClient?: boolean; + + /** + *

                    The Read-only attributes.

                    + */ + ReadAttributes?: string[]; /** *

                    The default redirect URI. Must be in the CallbackURLs list.

                    @@ -5584,34 +5649,42 @@ export interface UserPoolClientType { DefaultRedirectURI?: string; /** - *

                    The writeable attributes.

                    - */ - WriteAttributes?: string[]; - - /** - *

                    The time limit, in days, after which the refresh token is no longer valid and cannot - * be used.

                    + *

                    A list of provider names for the identity providers that are supported on this + * client.

                    */ - RefreshTokenValidity?: number; + SupportedIdentityProviders?: string[]; /** - *

                    Set to true if the client is allowed to follow the OAuth protocol when interacting - * with Cognito user pools.

                    + *

                    The user pool ID for the user pool client.

                    */ - AllowedOAuthFlowsUserPoolClient?: boolean; + UserPoolId?: string; /** - *

                    The Read-only attributes.

                    + *

                    A list of allowed redirect (callback) URLs for the identity providers.

                    + *

                    A redirect URI must:

                    + *
                      + *
                    • + *

                      Be an absolute URI.

                      + *
                    • + *
                    • + *

                      Be registered with the authorization server.

                      + *
                    • + *
                    • + *

                      Not include a fragment component.

                      + *
                    • + *
                    + *

                    See OAuth 2.0 - + * Redirection Endpoint.

                    + *

                    Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing + * purposes only.

                    + *

                    App callback URLs such as myapp://example are also supported.

                    */ - ReadAttributes?: string[]; + CallbackURLs?: string[]; /** - *

                    The Amazon Pinpoint analytics configuration for the user pool client.

                    - * - *

                    Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

                    - *
                    + *

                    The time units used to specify the token validity times of their respective token.

                    */ - AnalyticsConfiguration?: AnalyticsConfigurationType; + TokenValidityUnits?: TokenValidityUnitsType; /** *

                    Use this setting to choose which errors and responses are returned by Cognito APIs @@ -5634,82 +5707,15 @@ export interface UserPoolClientType { * existence related errors are not prevented.

                    *
                  • *
                  - *

                  This setting affects the behavior of following APIs:

                  - * + * + * * *

                  After February 15th 2020, the value of PreventUserExistenceErrors * will default to ENABLED for newly created user pool clients if no value * is provided.

                  *
                  */ - PreventUserExistenceErrors?: PreventUserExistenceErrorTypes | string; - - /** - *

                  The client secret from the user pool request of the client type.

                  - */ - ClientSecret?: string; - - /** - *

                  The ID of the client associated with the user pool.

                  - */ - ClientId?: string; - - /** - *

                  A list of allowed logout URLs for the identity providers.

                  - */ - LogoutURLs?: string[]; - - /** - *

                  A list of provider names for the identity providers that are supported on this - * client.

                  - */ - SupportedIdentityProviders?: string[]; - - /** - *

                  The client name from the user pool request of the client type.

                  - */ - ClientName?: string; + PreventUserExistenceErrors?: PreventUserExistenceErrorTypes | string; /** *

                  The allowed OAuth flows.

                  @@ -5725,49 +5731,78 @@ export interface UserPoolClientType { AllowedOAuthFlows?: (OAuthFlowType | string)[]; /** - *

                  The user pool ID for the user pool client.

                  + *

                  The client name from the user pool request of the client type.

                  */ - UserPoolId?: string; + ClientName?: string; /** - *

                  The date the user pool client was created.

                  + *

                  The writeable attributes.

                  */ - CreationDate?: Date; + WriteAttributes?: string[]; /** - *

                  The date the user pool client was last modified.

                  + *

                  The client secret from the user pool request of the client type.

                  */ - LastModifiedDate?: Date; + ClientSecret?: string; /** - *

                  A list of allowed redirect (callback) URLs for the identity providers.

                  - *

                  A redirect URI must:

                  + *

                  The authentication flows that are supported by the user pool clients. Flow names + * without the ALLOW_ prefix are deprecated in favor of new names with the + * ALLOW_ prefix. Note that values with ALLOW_ prefix cannot + * be used along with values without ALLOW_ prefix.

                  + *

                  Valid values include:

                  *
                    *
                  • - *

                    Be an absolute URI.

                    + *

                    + * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password + * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces + * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, + * Cognito receives the password in the request instead of using the SRP (Secure + * Remote Password protocol) protocol to verify passwords.

                    *
                  • *
                  • - *

                    Be registered with the authorization server.

                    + *

                    + * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based + * authentication.

                    *
                  • *
                  • - *

                    Not include a fragment component.

                    + *

                    + * ALLOW_USER_PASSWORD_AUTH: Enable user password-based + * authentication. In this flow, Cognito receives the password in the request + * instead of using the SRP protocol to verify passwords.

                    + *
                  • + *
                  • + *

                    + * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

                    + *
                  • + *
                  • + *

                    + * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh + * tokens.

                    *
                  • *
                  - *

                  See OAuth 2.0 - - * Redirection Endpoint.

                  - *

                  Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing - * purposes only.

                  - *

                  App callback URLs such as myapp://example are also supported.

                  */ - CallbackURLs?: string[]; + ExplicitAuthFlows?: (ExplicitAuthFlowsType | string)[]; /** - *

                  The allowed OAuth scopes. Possible values provided by OAuth are: phone, - * email, openid, and profile. Possible values - * provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created - * in Resource Servers are also supported.

                  + *

                  A list of allowed logout URLs for the identity providers.

                  */ - AllowedOAuthScopes?: string[]; + LogoutURLs?: string[]; + + /** + *

                  The ID of the client associated with the user pool.

                  + */ + ClientId?: string; + + /** + *

                  The time limit, specified by tokenValidityUnits, defaulting to hours, after which the access token is no longer valid and cannot be used.

                  + */ + AccessTokenValidity?: number; + + /** + *

                  The time limit, specified by tokenValidityUnits, defaulting to hours, after which the refresh token is no longer valid and cannot be used.

                  + */ + IdTokenValidity?: number; } export namespace UserPoolClientType { @@ -5845,9 +5880,14 @@ export namespace CustomDomainConfigType { export interface CreateUserPoolDomainRequest { /** - *

                  The domain string.

                  + *

                  The configuration for a custom domain that hosts the sign-up and sign-in webpages for + * your application.

                  + *

                  Provide this parameter only if you want to use a custom domain for your user pool. + * Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain + * instead.

                  + *

                  For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

                  */ - Domain: string | undefined; + CustomDomainConfig?: CustomDomainConfigType; /** *

                  The user pool ID.

                  @@ -5855,14 +5895,9 @@ export interface CreateUserPoolDomainRequest { UserPoolId: string | undefined; /** - *

                  The configuration for a custom domain that hosts the sign-up and sign-in webpages for - * your application.

                  - *

                  Provide this parameter only if you want to use a custom domain for your user pool. - * Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain - * instead.

                  - *

                  For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

                  + *

                  The domain string.

                  */ - CustomDomainConfig?: CustomDomainConfigType; + Domain: string | undefined; } export namespace CreateUserPoolDomainRequest { @@ -5975,17 +6010,17 @@ export namespace DeleteUserRequest { *

                  Represents the request to delete user attributes.

                  */ export interface DeleteUserAttributesRequest { - /** - *

                  The access token used in the request to delete user attributes.

                  - */ - AccessToken: string | undefined; - /** *

                  An array of strings representing the user attribute names you wish to delete.

                  *

                  For custom attributes, you must prepend the custom: prefix to the * attribute name.

                  */ UserAttributeNames: string[] | undefined; + + /** + *

                  The access token used in the request to delete user attributes.

                  + */ + AccessToken: string | undefined; } export namespace DeleteUserAttributesRequest { @@ -6103,14 +6138,14 @@ export namespace DescribeIdentityProviderResponse { export interface DescribeResourceServerRequest { /** - *

                  The identifier for the resource server

                  + *

                  The user pool ID for the user pool that hosts the resource server.

                  */ - Identifier: string | undefined; + UserPoolId: string | undefined; /** - *

                  The user pool ID for the user pool that hosts the resource server.

                  + *

                  The identifier for the resource server

                  */ - UserPoolId: string | undefined; + Identifier: string | undefined; } export namespace DescribeResourceServerRequest { @@ -6134,14 +6169,14 @@ export namespace DescribeResourceServerResponse { export interface DescribeRiskConfigurationRequest { /** - *

                  The app client ID.

                  + *

                  The user pool ID.

                  */ - ClientId?: string; + UserPoolId: string | undefined; /** - *

                  The user pool ID.

                  + *

                  The app client ID.

                  */ - UserPoolId: string | undefined; + ClientId?: string; } export namespace DescribeRiskConfigurationRequest { @@ -6204,18 +6239,18 @@ export namespace CompromisedCredentialsRiskConfigurationType { *

                  The type of the configuration to override the risk decision.

                  */ export interface RiskExceptionConfigurationType { + /** + *

                  Risk detection is not performed on the IP addresses in the range list. The IP range is + * in CIDR notation.

                  + */ + SkippedIPRangeList?: string[]; + /** *

                  Overrides the risk decision to always block the pre-authentication requests. The IP * range is in CIDR notation: a compact representation of an IP address and its associated * routing prefix.

                  */ BlockedIPRangeList?: string[]; - - /** - *

                  Risk detection is not performed on the IP addresses in the range list. The IP range is - * in CIDR notation.

                  - */ - SkippedIPRangeList?: string[]; } export namespace RiskExceptionConfigurationType { @@ -6229,14 +6264,14 @@ export namespace RiskExceptionConfigurationType { */ export interface RiskConfigurationType { /** - *

                  The configuration to override the risk decision.

                  + *

                  The app client ID.

                  */ - RiskExceptionConfiguration?: RiskExceptionConfigurationType; + ClientId?: string; /** - *

                  The app client ID.

                  + *

                  The user pool ID.

                  */ - ClientId?: string; + UserPoolId?: string; /** *

                  The account takeover risk configuration object including the @@ -6246,9 +6281,9 @@ export interface RiskConfigurationType { AccountTakeoverRiskConfiguration?: AccountTakeoverRiskConfigurationType; /** - *

                  The user pool ID.

                  + *

                  The configuration to override the risk decision.

                  */ - UserPoolId?: string; + RiskExceptionConfiguration?: RiskExceptionConfigurationType; /** *

                  The compromised credentials risk configuration object including the @@ -6422,9 +6457,10 @@ export enum DomainStatusType { */ export interface DomainDescriptionType { /** - *

                  The S3 bucket where the static files for this domain are stored.

                  + *

                  The configuration for a custom domain that hosts the sign-up and sign-in webpages for + * your application.

                  */ - S3Bucket?: string; + CustomDomainConfig?: CustomDomainConfigType; /** *

                  The domain string.

                  @@ -6432,35 +6468,34 @@ export interface DomainDescriptionType { Domain?: string; /** - *

                  The AWS account ID for the user pool owner.

                  + *

                  The ARN of the CloudFront distribution.

                  */ - AWSAccountId?: string; + CloudFrontDistribution?: string; /** - *

                  The app version.

                  + *

                  The domain status.

                  */ - Version?: string; + Status?: DomainStatusType | string; /** - *

                  The ARN of the CloudFront distribution.

                  + *

                  The user pool ID.

                  */ - CloudFrontDistribution?: string; + UserPoolId?: string; /** - *

                  The user pool ID.

                  + *

                  The AWS account ID for the user pool owner.

                  */ - UserPoolId?: string; + AWSAccountId?: string; /** - *

                  The domain status.

                  + *

                  The app version.

                  */ - Status?: DomainStatusType | string; + Version?: string; /** - *

                  The configuration for a custom domain that hosts the sign-up and sign-in webpages for - * your application.

                  + *

                  The S3 bucket where the static files for this domain are stored.

                  */ - CustomDomainConfig?: CustomDomainConfigType; + S3Bucket?: string; } export namespace DomainDescriptionType { @@ -6487,14 +6522,14 @@ export namespace DescribeUserPoolDomainResponse { */ export interface ForgetDeviceRequest { /** - *

                  The device key.

                  + *

                  The access token for the forgotten device request.

                  */ - DeviceKey: string | undefined; + AccessToken?: string; /** - *

                  The access token for the forgotten device request.

                  + *

                  The device key.

                  */ - AccessToken?: string; + DeviceKey: string | undefined; } export namespace ForgetDeviceRequest { @@ -6509,17 +6544,10 @@ export namespace ForgetDeviceRequest { */ export interface ForgotPasswordRequest { /** - *

                  The user name of the user for whom you want to enter a code to reset a forgotten - * password.

                  - */ - Username: string | undefined; - - /** - *

                  Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

                  + *

                  The Amazon Pinpoint analytics metadata for collecting metrics for + * ForgotPassword calls.

                  */ - UserContextData?: UserContextDataType; + AnalyticsMetadata?: AnalyticsMetadataType; /** *

                  A map of custom key-value pairs that you can provide as input for any custom workflows @@ -6559,10 +6587,17 @@ export interface ForgotPasswordRequest { ClientMetadata?: { [key: string]: string }; /** - *

                  The Amazon Pinpoint analytics metadata for collecting metrics for - * ForgotPassword calls.

                  + *

                  The user name of the user for whom you want to enter a code to reset a forgotten + * password.

                  */ - AnalyticsMetadata?: AnalyticsMetadataType; + Username: string | undefined; + + /** + *

                  Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

                  + */ + UserContextData?: UserContextDataType; /** *

                  A keyed-hash message authentication code (HMAC) calculated using the secret key of a @@ -6589,11 +6624,6 @@ export namespace ForgotPasswordRequest { *

                  The code delivery details being returned from the server.

                  */ export interface CodeDeliveryDetailsType { - /** - *

                  The attribute name.

                  - */ - AttributeName?: string; - /** *

                  The destination for the code delivery details.

                  */ @@ -6603,6 +6633,11 @@ export interface CodeDeliveryDetailsType { *

                  The delivery medium (email message or phone number).

                  */ DeliveryMedium?: DeliveryMediumType | string; + + /** + *

                  The attribute name.

                  + */ + AttributeName?: string; } export namespace CodeDeliveryDetailsType { @@ -6652,14 +6687,14 @@ export namespace GetCSVHeaderRequest { */ export interface GetCSVHeaderResponse { /** - *

                  The header information for the .csv file for the user import job.

                  + *

                  The user pool ID for the user pool that the users are to be imported into.

                  */ - CSVHeader?: string[]; + UserPoolId?: string; /** - *

                  The user pool ID for the user pool that the users are to be imported into.

                  + *

                  The header information for the .csv file for the user import job.

                  */ - UserPoolId?: string; + CSVHeader?: string[]; } export namespace GetCSVHeaderResponse { @@ -6709,14 +6744,14 @@ export namespace GetDeviceResponse { export interface GetGroupRequest { /** - *

                  The user pool ID for the user pool.

                  + *

                  The name of the group.

                  */ - UserPoolId: string | undefined; + GroupName: string | undefined; /** - *

                  The name of the group.

                  + *

                  The user pool ID for the user pool.

                  */ - GroupName: string | undefined; + UserPoolId: string | undefined; } export namespace GetGroupRequest { @@ -6740,14 +6775,14 @@ export namespace GetGroupResponse { export interface GetIdentityProviderByIdentifierRequest { /** - *

                  The user pool ID.

                  + *

                  The identity provider ID.

                  */ - UserPoolId: string | undefined; + IdpIdentifier: string | undefined; /** - *

                  The identity provider ID.

                  + *

                  The user pool ID.

                  */ - IdpIdentifier: string | undefined; + UserPoolId: string | undefined; } export namespace GetIdentityProviderByIdentifierRequest { @@ -6826,14 +6861,9 @@ export namespace GetUICustomizationRequest { */ export interface UICustomizationType { /** - *

                  The client ID for the client app.

                  - */ - ClientId?: string; - - /** - *

                  The logo image for the UI customization.

                  + *

                  The user pool ID for the user pool.

                  */ - ImageUrl?: string; + UserPoolId?: string; /** *

                  The CSS values in the UI customization.

                  @@ -6841,9 +6871,9 @@ export interface UICustomizationType { CSS?: string; /** - *

                  The CSS version number.

                  + *

                  The last-modified date for the UI customization.

                  */ - CSSVersion?: string; + LastModifiedDate?: Date; /** *

                  The creation date for the UI customization.

                  @@ -6851,14 +6881,19 @@ export interface UICustomizationType { CreationDate?: Date; /** - *

                  The last-modified date for the UI customization.

                  + *

                  The client ID for the client app.

                  + */ + ClientId?: string; + + /** + *

                  The logo image for the UI customization.

                  */ - LastModifiedDate?: Date; + ImageUrl?: string; /** - *

                  The user pool ID for the user pool.

                  + *

                  The CSS version number.

                  */ - UserPoolId?: string; + CSSVersion?: string; } export namespace UICustomizationType { @@ -6905,17 +6940,17 @@ export namespace GetUserRequest { * user.

                  */ export interface GetUserResponse { - /** - *

                  The user name of the user you wish to retrieve from the get user request.

                  - */ - Username: string | undefined; - /** *

                  The MFA options that are enabled for the user. The possible values in this list are * SMS_MFA and SOFTWARE_TOKEN_MFA.

                  */ UserMFASettingList?: string[]; + /** + *

                  The user name of the user you wish to retrieve from the get user request.

                  + */ + Username: string | undefined; + /** *

                  An array of name-value pairs representing user attributes.

                  *

                  For custom attributes, you must prepend the custom: prefix to the @@ -6928,8 +6963,7 @@ export interface GetUserResponse { * This response parameter is no longer supported. It provides * information only about SMS MFA configurations. It doesn't provide information about TOTP * software token MFA configurations. To look up information about either type of MFA - * configuration, use the use the GetUserResponse$UserMFASettingList - * response instead.

                  + * configuration, use UserMFASettingList instead.

                  */ MFAOptions?: MFAOptionType[]; @@ -6953,12 +6987,6 @@ export namespace GetUserResponse { *

                  Represents the request to get user attribute verification.

                  */ export interface GetUserAttributeVerificationCodeRequest { - /** - *

                  The access token returned by the server response to get the user attribute - * verification code.

                  - */ - AccessToken: string | undefined; - /** *

                  The attribute name returned by the server response to get the user attribute * verification code.

                  @@ -7000,6 +7028,12 @@ export interface GetUserAttributeVerificationCodeRequest { * */ ClientMetadata?: { [key: string]: string }; + + /** + *

                  The access token returned by the server response to get the user attribute + * verification code.

                  + */ + AccessToken: string | undefined; } export namespace GetUserAttributeVerificationCodeRequest { @@ -7081,14 +7115,14 @@ export namespace SoftwareTokenMfaConfigType { export interface GetUserPoolMfaConfigResponse { /** - *

                  The SMS text message multi-factor (MFA) configuration.

                  + *

                  The software token multi-factor (MFA) configuration.

                  */ - SmsMfaConfiguration?: SmsMfaConfigType; + SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; /** - *

                  The software token multi-factor (MFA) configuration.

                  + *

                  The SMS text message multi-factor (MFA) configuration.

                  */ - SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; + SmsMfaConfiguration?: SmsMfaConfigType; /** *

                  The multi-factor (MFA) configuration. Valid values include:

                  @@ -7149,6 +7183,12 @@ export namespace GlobalSignOutResponse { *

                  Initiates the authentication request.

                  */ export interface InitiateAuthRequest { + /** + *

                  The Amazon Pinpoint analytics metadata for collecting metrics for + * InitiateAuth calls.

                  + */ + AnalyticsMetadata?: AnalyticsMetadataType; + /** *

                  The authentication parameters. These are inputs corresponding to the * AuthFlow that you are invoking. The required values depend on the value @@ -7157,25 +7197,92 @@ export interface InitiateAuthRequest { *

                • *

                  For USER_SRP_AUTH: USERNAME (required), * SRP_A (required), SECRET_HASH (required if the app - * client is configured with a client secret), DEVICE_KEY - *

                  + * client is configured with a client secret), DEVICE_KEY.

                  *
                • *
                • *

                  For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN * (required), SECRET_HASH (required if the app client is configured - * with a client secret), DEVICE_KEY - *

                  + * with a client secret), DEVICE_KEY.

                  *
                • *
                • *

                  For CUSTOM_AUTH: USERNAME (required), * SECRET_HASH (if app client is configured with client secret), - * DEVICE_KEY - *

                  + * DEVICE_KEY. To start the authentication flow with password verification, include ChallengeName: SRP_A and SRP_A: (The SRP_A Value).

                  *
                • *
                */ AuthParameters?: { [key: string]: string }; + /** + *

                Contextual data such as the user's device fingerprint, IP address, or location used + * for evaluating the risk of an unexpected event by Amazon Cognito advanced + * security.

                + */ + UserContextData?: UserContextDataType; + + /** + *

                The authentication flow for this call to execute. The API action will depend on this + * value. For example:

                + *
                  + *
                • + *

                  + * REFRESH_TOKEN_AUTH will take in a valid refresh token and return + * new tokens.

                  + *
                • + *
                • + *

                  + * USER_SRP_AUTH will take in USERNAME and + * SRP_A and return the SRP variables to be used for next + * challenge execution.

                  + *
                • + *
                • + *

                  + * USER_PASSWORD_AUTH will take in USERNAME and + * PASSWORD and return the next challenge or tokens.

                  + *
                • + *
                + *

                Valid values include:

                + *
                  + *
                • + *

                  + * USER_SRP_AUTH: Authentication flow for the Secure Remote Password + * (SRP) protocol.

                  + *
                • + *
                • + *

                  + * REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication + * flow for refreshing the access token and ID token by supplying a valid refresh + * token.

                  + *
                • + *
                • + *

                  + * CUSTOM_AUTH: Custom authentication flow.

                  + *
                • + *
                • + *

                  + * USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and + * PASSWORD are passed directly. If a user migration Lambda trigger is set, this + * flow will invoke the user migration Lambda if the USERNAME is not found in the + * user pool.

                  + *
                • + *
                • + *

                  + * ADMIN_USER_PASSWORD_AUTH: Admin-based user password + * authentication. This replaces the ADMIN_NO_SRP_AUTH authentication + * flow. In this flow, Cognito receives the password in the request instead of + * using the SRP process to verify passwords.

                  + *
                • + *
                + *

                + * ADMIN_NO_SRP_AUTH is not a valid value.

                + */ + AuthFlow: AuthFlowType | string | undefined; + + /** + *

                The app client ID.

                + */ + ClientId: string | undefined; + /** *

                A map of custom key-value pairs that you can provide as input for certain custom * workflows that this action triggers.

                @@ -7250,82 +7357,6 @@ export interface InitiateAuthRequest { * */ ClientMetadata?: { [key: string]: string }; - - /** - *

                The Amazon Pinpoint analytics metadata for collecting metrics for - * InitiateAuth calls.

                - */ - AnalyticsMetadata?: AnalyticsMetadataType; - - /** - *

                The app client ID.

                - */ - ClientId: string | undefined; - - /** - *

                Contextual data such as the user's device fingerprint, IP address, or location used - * for evaluating the risk of an unexpected event by Amazon Cognito advanced - * security.

                - */ - UserContextData?: UserContextDataType; - - /** - *

                The authentication flow for this call to execute. The API action will depend on this - * value. For example:

                - *
                  - *
                • - *

                  - * REFRESH_TOKEN_AUTH will take in a valid refresh token and return - * new tokens.

                  - *
                • - *
                • - *

                  - * USER_SRP_AUTH will take in USERNAME and - * SRP_A and return the SRP variables to be used for next - * challenge execution.

                  - *
                • - *
                • - *

                  - * USER_PASSWORD_AUTH will take in USERNAME and - * PASSWORD and return the next challenge or tokens.

                  - *
                • - *
                - *

                Valid values include:

                - *
                  - *
                • - *

                  - * USER_SRP_AUTH: Authentication flow for the Secure Remote Password - * (SRP) protocol.

                  - *
                • - *
                • - *

                  - * REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication - * flow for refreshing the access token and ID token by supplying a valid refresh - * token.

                  - *
                • - *
                • - *

                  - * CUSTOM_AUTH: Custom authentication flow.

                  - *
                • - *
                • - *

                  - * USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and - * PASSWORD are passed directly. If a user migration Lambda trigger is set, this - * flow will invoke the user migration Lambda if the USERNAME is not found in the - * user pool.

                  - *
                • - *
                • - *

                  - * ADMIN_USER_PASSWORD_AUTH: Admin-based user password - * authentication. This replaces the ADMIN_NO_SRP_AUTH authentication - * flow. In this flow, Cognito receives the password in the request instead of - * using the SRP process to verify passwords.

                  - *
                • - *
                - *

                - * ADMIN_NO_SRP_AUTH is not a valid value.

                - */ - AuthFlow: AuthFlowType | string | undefined; } export namespace InitiateAuthRequest { @@ -7340,24 +7371,6 @@ export namespace InitiateAuthRequest { *

                Initiates the authentication response.

                */ export interface InitiateAuthResponse { - /** - *

                The session which should be passed both ways in challenge-response calls to the - * service. If the or API call determines that the caller needs to - * go through another challenge, they return a session with other challenge parameters. - * This session should be passed as it is to the next RespondToAuthChallenge - * API call.

                - */ - Session?: string; - - /** - *

                The challenge parameters. These are returned to you in the InitiateAuth - * response if you need to pass another challenge. The responses in this parameter should - * be used to compute inputs to the next call (RespondToAuthChallenge).

                - *

                All challenges require USERNAME and SECRET_HASH (if - * applicable).

                - */ - ChallengeParameters?: { [key: string]: string }; - /** *

                The name of the challenge which you are responding to with this call. This is returned * to you in the AdminInitiateAuth response if you need to pass another @@ -7412,6 +7425,24 @@ export interface InitiateAuthResponse { * Session are returned.

                */ AuthenticationResult?: AuthenticationResultType; + + /** + *

                The session which should be passed both ways in challenge-response calls to the + * service. If the caller needs to + * go through another challenge, they return a session with other challenge parameters. + * This session should be passed as it is to the next RespondToAuthChallenge + * API call.

                + */ + Session?: string; + + /** + *

                The challenge parameters. These are returned to you in the InitiateAuth + * response if you need to pass another challenge. The responses in this parameter should + * be used to compute inputs to the next call (RespondToAuthChallenge).

                + *

                All challenges require USERNAME and SECRET_HASH (if + * applicable).

                + */ + ChallengeParameters?: { [key: string]: string }; } export namespace InitiateAuthResponse { @@ -7428,14 +7459,14 @@ export namespace InitiateAuthResponse { */ export interface ListDevicesRequest { /** - *

                The pagination token for the list request.

                + *

                The limit of the device request.

                */ - PaginationToken?: string; + Limit?: number; /** - *

                The limit of the device request.

                + *

                The pagination token for the list request.

                */ - Limit?: number; + PaginationToken?: string; /** *

                The access tokens for the request to list devices.

                @@ -7455,14 +7486,14 @@ export namespace ListDevicesRequest { */ export interface ListDevicesResponse { /** - *

                The pagination token for the list device response.

                + *

                The devices returned in the list devices response.

                */ - PaginationToken?: string; + Devices?: DeviceType[]; /** - *

                The devices returned in the list devices response.

                + *

                The pagination token for the list device response.

                */ - Devices?: DeviceType[]; + PaginationToken?: string; } export namespace ListDevicesResponse { @@ -7473,15 +7504,15 @@ export namespace ListDevicesResponse { export interface ListGroupsRequest { /** - *

                An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

                + *

                The user pool ID for the user pool.

                */ - NextToken?: string; + UserPoolId: string | undefined; /** - *

                The user pool ID for the user pool.

                + *

                An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

                */ - UserPoolId: string | undefined; + NextToken?: string; /** *

                The limit of the request to list groups.

                @@ -7516,9 +7547,9 @@ export namespace ListGroupsResponse { export interface ListIdentityProvidersRequest { /** - *

                A pagination token.

                + *

                The user pool ID.

                */ - NextToken?: string; + UserPoolId: string | undefined; /** *

                The maximum number of identity providers to return.

                @@ -7526,9 +7557,9 @@ export interface ListIdentityProvidersRequest { MaxResults?: number; /** - *

                The user pool ID.

                + *

                A pagination token.

                */ - UserPoolId: string | undefined; + NextToken?: string; } export namespace ListIdentityProvidersRequest { @@ -7542,14 +7573,14 @@ export namespace ListIdentityProvidersRequest { */ export interface ProviderDescription { /** - *

                The identity provider name.

                + *

                The identity provider type.

                */ - ProviderName?: string; + ProviderType?: IdentityProviderTypeType | string; /** - *

                The identity provider type.

                + *

                The identity provider name.

                */ - ProviderType?: IdentityProviderTypeType | string; + ProviderName?: string; /** *

                The date the provider was added to the user pool.

                @@ -7587,11 +7618,6 @@ export namespace ListIdentityProvidersResponse { } export interface ListResourceServersRequest { - /** - *

                A pagination token.

                - */ - NextToken?: string; - /** *

                The user pool ID for the user pool.

                */ @@ -7601,6 +7627,11 @@ export interface ListResourceServersRequest { *

                The maximum number of resource servers to return.

                */ MaxResults?: number; + + /** + *

                A pagination token.

                + */ + NextToken?: string; } export namespace ListResourceServersRequest { @@ -7611,14 +7642,14 @@ export namespace ListResourceServersRequest { export interface ListResourceServersResponse { /** - *

                The resource servers.

                + *

                A pagination token.

                */ - ResourceServers: ResourceServerType[] | undefined; + NextToken?: string; /** - *

                A pagination token.

                + *

                The resource servers.

                */ - NextToken?: string; + ResourceServers: ResourceServerType[] | undefined; } export namespace ListResourceServersResponse { @@ -7686,16 +7717,16 @@ export namespace ListUserImportJobsRequest { * jobs.

                */ export interface ListUserImportJobsResponse { - /** - *

                The user import jobs.

                - */ - UserImportJobs?: UserImportJobType[]; - /** *

                An identifier that can be used to return the next set of user import jobs in the * list.

                */ PaginationToken?: string; + + /** + *

                The user import jobs.

                + */ + UserImportJobs?: UserImportJobType[]; } export namespace ListUserImportJobsResponse { @@ -7708,11 +7739,6 @@ export namespace ListUserImportJobsResponse { *

                Represents the request to list the user pool clients.

                */ export interface ListUserPoolClientsRequest { - /** - *

                The user pool ID for the user pool where you want to list user pool clients.

                - */ - UserPoolId: string | undefined; - /** *

                The maximum number of results you want the request to return when listing the user * pool clients.

                @@ -7724,6 +7750,11 @@ export interface ListUserPoolClientsRequest { * used to return the next set of items in the list.

                */ NextToken?: string; + + /** + *

                The user pool ID for the user pool where you want to list user pool clients.

                + */ + UserPoolId: string | undefined; } export namespace ListUserPoolClientsRequest { @@ -7741,16 +7772,16 @@ export interface UserPoolClientDescription { */ ClientId?: string; - /** - *

                The client name from the user pool client description.

                - */ - ClientName?: string; - /** *

                The user pool ID for the user pool where you want to describe the user pool * client.

                */ UserPoolId?: string; + + /** + *

                The client name from the user pool client description.

                + */ + ClientName?: string; } export namespace UserPoolClientDescription { @@ -7765,15 +7796,15 @@ export namespace UserPoolClientDescription { */ export interface ListUserPoolClientsResponse { /** - *

                An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

                + *

                The user pool clients in the response that lists user pool clients.

                */ - NextToken?: string; + UserPoolClients?: UserPoolClientDescription[]; /** - *

                The user pool clients in the response that lists user pool clients.

                + *

                An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

                */ - UserPoolClients?: UserPoolClientDescription[]; + NextToken?: string; } export namespace ListUserPoolClientsResponse { @@ -7812,11 +7843,6 @@ export namespace ListUserPoolsRequest { *

                A user pool description.

                */ export interface UserPoolDescriptionType { - /** - *

                The name in a user pool description.

                - */ - Name?: string; - /** *

                The date the user pool description was last modified.

                */ @@ -7828,9 +7854,9 @@ export interface UserPoolDescriptionType { CreationDate?: Date; /** - *

                The ID in a user pool description.

                + *

                The user pool status in a user pool description.

                */ - Id?: string; + Status?: StatusType | string; /** *

                The AWS Lambda configuration information in a user pool description.

                @@ -7838,9 +7864,14 @@ export interface UserPoolDescriptionType { LambdaConfig?: LambdaConfigType; /** - *

                The user pool status in a user pool description.

                + *

                The ID in a user pool description.

                */ - Status?: StatusType | string; + Id?: string; + + /** + *

                The name in a user pool description.

                + */ + Name?: string; } export namespace UserPoolDescriptionType { @@ -7853,16 +7884,16 @@ export namespace UserPoolDescriptionType { *

                Represents the response to list user pools.

                */ export interface ListUserPoolsResponse { - /** - *

                The user pools from the response to list users.

                - */ - UserPools?: UserPoolDescriptionType[]; - /** *

                An identifier that was returned from the previous call to this operation, which can be * used to return the next set of items in the list.

                */ NextToken?: string; + + /** + *

                The user pools from the response to list users.

                + */ + UserPools?: UserPoolDescriptionType[]; } export namespace ListUserPoolsResponse { @@ -7875,13 +7906,6 @@ export namespace ListUserPoolsResponse { *

                Represents the request to list users.

                */ export interface ListUsersRequest { - /** - *

                An array of strings, where each string is the name of a user attribute to be returned - * for each user in the search results. If the array is null, all attributes are - * returned.

                - */ - AttributesToGet?: string[]; - /** *

                The user pool ID for the user pool on which the search should be performed.

                */ @@ -7894,9 +7918,11 @@ export interface ListUsersRequest { PaginationToken?: string; /** - *

                Maximum number of users to be returned.

                + *

                An array of strings, where each string is the name of a user attribute to be returned + * for each user in the search results. If the array is null, all attributes are + * returned.

                */ - Limit?: number; + AttributesToGet?: string[]; /** *

                A filter string of the form "AttributeName @@ -7980,6 +8006,11 @@ export interface ListUsersRequest { * Developer Guide.

                */ Filter?: string; + + /** + *

                Maximum number of users to be returned.

                + */ + Limit?: number; } export namespace ListUsersRequest { @@ -7992,16 +8023,16 @@ export namespace ListUsersRequest { *

                The response from the request to list users.

                */ export interface ListUsersResponse { - /** - *

                The users returned in the request to list users.

                - */ - Users?: UserType[]; - /** *

                An identifier that was returned from the previous call to this operation, which can be * used to return the next set of items in the list.

                */ PaginationToken?: string; + + /** + *

                The users returned in the request to list users.

                + */ + Users?: UserType[]; } export namespace ListUsersResponse { @@ -8013,9 +8044,9 @@ export namespace ListUsersResponse { export interface ListUsersInGroupRequest { /** - *

                The name of the group.

                + *

                The limit of the request to list users.

                */ - GroupName: string | undefined; + Limit?: number; /** *

                The user pool ID for the user pool.

                @@ -8023,9 +8054,9 @@ export interface ListUsersInGroupRequest { UserPoolId: string | undefined; /** - *

                The limit of the request to list users.

                + *

                The name of the group.

                */ - Limit?: number; + GroupName: string | undefined; /** *

                An identifier that was returned from the previous call to this operation, which can be @@ -8042,15 +8073,15 @@ export namespace ListUsersInGroupRequest { export interface ListUsersInGroupResponse { /** - *

                An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

                + *

                The users returned in the request to list users.

                */ - NextToken?: string; + Users?: UserType[]; /** - *

                The users returned in the request to list users.

                + *

                An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

                */ - Users?: UserType[]; + NextToken?: string; } export namespace ListUsersInGroupResponse { @@ -8064,6 +8095,11 @@ export namespace ListUsersInGroupResponse { *

                Represents the request to resend the confirmation code.

                */ export interface ResendConfirmationCodeRequest { + /** + *

                The user name of the user to whom you wish to resend a confirmation code.

                + */ + Username: string | undefined; + /** *

                Contextual data such as the user's device fingerprint, IP address, or location used * for evaluating the risk of an unexpected event by Amazon Cognito advanced @@ -8072,21 +8108,16 @@ export interface ResendConfirmationCodeRequest { UserContextData?: UserContextDataType; /** - *

                The user name of the user to whom you wish to resend a confirmation code.

                + *

                A keyed-hash message authentication code (HMAC) calculated using the secret key of a + * user pool client and username plus the client ID in the message.

                */ - Username: string | undefined; + SecretHash?: string; /** *

                The ID of the client associated with the user pool.

                */ ClientId: string | undefined; - /** - *

                A keyed-hash message authentication code (HMAC) calculated using the secret key of a - * user pool client and username plus the client ID in the message.

                - */ - SecretHash?: string; - /** *

                A map of custom key-value pairs that you can provide as input for any custom workflows * that this action triggers.

                @@ -8134,8 +8165,8 @@ export namespace ResendConfirmationCodeRequest { export const filterSensitiveLog = (obj: ResendConfirmationCodeRequest): any => ({ ...obj, ...(obj.Username && { Username: SENSITIVE_STRING }), - ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), + ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), }); } @@ -8162,53 +8193,26 @@ export namespace ResendConfirmationCodeResponse { */ export interface RespondToAuthChallengeRequest { /** - *

                The challenge responses. These are inputs corresponding to the value of - * ChallengeName, for example:

                - * - *

                - * SECRET_HASH (if app client is configured with client secret) applies - * to all inputs below (including SOFTWARE_TOKEN_MFA).

                - *
                - *
                  - *
                • - *

                  - * SMS_MFA: SMS_MFA_CODE, USERNAME.

                  - *
                • - *
                • - *

                  - * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, - * PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, - * USERNAME.

                  - *
                • - *
                • - *

                  - * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other - * required attributes, USERNAME.

                  - *
                • - *
                • - *

                  - * SOFTWARE_TOKEN_MFA: USERNAME and - * SOFTWARE_TOKEN_MFA_CODE are required attributes.

                  - *
                • - *
                • - *

                  - * DEVICE_SRP_AUTH requires USERNAME, - * DEVICE_KEY, SRP_A (and - * SECRET_HASH).

                  - *
                • - *
                • - *

                  - * DEVICE_PASSWORD_VERIFIER requires everything that - * PASSWORD_VERIFIER requires plus DEVICE_KEY.

                  - *
                • - *
                + *

                The session which should be passed both ways in challenge-response calls to the + * service. If InitiateAuth or RespondToAuthChallenge API call + * determines that the caller needs to go through another challenge, they return a session + * with other challenge parameters. This session should be passed as it is to the next + * RespondToAuthChallenge API call.

                */ - ChallengeResponses?: { [key: string]: string }; + Session?: string; /** - *

                The app client ID.

                + *

                The Amazon Pinpoint analytics metadata for collecting metrics for + * RespondToAuthChallenge calls.

                */ - ClientId: string | undefined; + AnalyticsMetadata?: AnalyticsMetadataType; + + /** + *

                The challenge name. For more information, see InitiateAuth.

                + *

                + * ADMIN_NO_SRP_AUTH is not a valid value.

                + */ + ChallengeName: ChallengeNameType | string | undefined; /** *

                A map of custom key-value pairs that you can provide as input for any custom workflows @@ -8249,33 +8253,60 @@ export interface RespondToAuthChallengeRequest { ClientMetadata?: { [key: string]: string }; /** - *

                The challenge name. For more information, see .

                - *

                - * ADMIN_NO_SRP_AUTH is not a valid value.

                - */ - ChallengeName: ChallengeNameType | string | undefined; - - /** - *

                The Amazon Pinpoint analytics metadata for collecting metrics for - * RespondToAuthChallenge calls.

                - */ - AnalyticsMetadata?: AnalyticsMetadataType; - - /** - *

                The session which should be passed both ways in challenge-response calls to the - * service. If InitiateAuth or RespondToAuthChallenge API call - * determines that the caller needs to go through another challenge, they return a session - * with other challenge parameters. This session should be passed as it is to the next - * RespondToAuthChallenge API call.

                + *

                The app client ID.

                */ - Session?: string; + ClientId: string | undefined; /** *

                Contextual data such as the user's device fingerprint, IP address, or location used * for evaluating the risk of an unexpected event by Amazon Cognito advanced * security.

                */ - UserContextData?: UserContextDataType; + UserContextData?: UserContextDataType; + + /** + *

                The challenge responses. These are inputs corresponding to the value of + * ChallengeName, for example:

                + * + *

                + * SECRET_HASH (if app client is configured with client secret) applies + * to all inputs below (including SOFTWARE_TOKEN_MFA).

                + *
                + *
                  + *
                • + *

                  + * SMS_MFA: SMS_MFA_CODE, USERNAME.

                  + *
                • + *
                • + *

                  + * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, + * PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, + * USERNAME.

                  + *
                • + *
                • + *

                  + * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other + * required attributes, USERNAME.

                  + *
                • + *
                • + *

                  + * SOFTWARE_TOKEN_MFA: USERNAME and + * SOFTWARE_TOKEN_MFA_CODE are required attributes.

                  + *
                • + *
                • + *

                  + * DEVICE_SRP_AUTH requires USERNAME, + * DEVICE_KEY, SRP_A (and + * SECRET_HASH).

                  + *
                • + *
                • + *

                  + * DEVICE_PASSWORD_VERIFIER requires everything that + * PASSWORD_VERIFIER requires plus DEVICE_KEY.

                  + *
                • + *
                + */ + ChallengeResponses?: { [key: string]: string }; } export namespace RespondToAuthChallengeRequest { @@ -8290,19 +8321,19 @@ export namespace RespondToAuthChallengeRequest { */ export interface RespondToAuthChallengeResponse { /** - *

                The result returned by the server in response to the request to respond to the - * authentication challenge.

                + *

                The challenge parameters. For more information, see InitiateAuth.

                */ - AuthenticationResult?: AuthenticationResultType; + ChallengeParameters?: { [key: string]: string }; /** - *

                The challenge name. For more information, see .

                + *

                The result returned by the server in response to the request to respond to the + * authentication challenge.

                */ - ChallengeName?: ChallengeNameType | string; + AuthenticationResult?: AuthenticationResultType; /** *

                The session which should be passed both ways in challenge-response calls to the - * service. If the or API call determines that the caller needs to + * service. If the caller needs to * go through another challenge, they return a session with other challenge parameters. * This session should be passed as it is to the next RespondToAuthChallenge * API call.

                @@ -8310,9 +8341,9 @@ export interface RespondToAuthChallengeResponse { Session?: string; /** - *

                The challenge parameters. For more information, see .

                + *

                The challenge name. For more information, see InitiateAuth.

                */ - ChallengeParameters?: { [key: string]: string }; + ChallengeName?: ChallengeNameType | string; } export namespace RespondToAuthChallengeResponse { @@ -8330,11 +8361,6 @@ export interface SetRiskConfigurationRequest { */ RiskExceptionConfiguration?: RiskExceptionConfigurationType; - /** - *

                The account takeover risk configuration.

                - */ - AccountTakeoverRiskConfiguration?: AccountTakeoverRiskConfigurationType; - /** *

                The user pool ID.

                */ @@ -8345,6 +8371,11 @@ export interface SetRiskConfigurationRequest { */ CompromisedCredentialsRiskConfiguration?: CompromisedCredentialsRiskConfigurationType; + /** + *

                The account takeover risk configuration.

                + */ + AccountTakeoverRiskConfiguration?: AccountTakeoverRiskConfigurationType; + /** *

                The app client ID. If ClientId is null, then the risk configuration is * mapped to userPoolId. When the client ID is null, the same risk @@ -8381,24 +8412,24 @@ export namespace SetRiskConfigurationResponse { export interface SetUICustomizationRequest { /** - *

                The client ID for the client app.

                + *

                The uploaded logo image for the UI customization.

                */ - ClientId?: string; + ImageFile?: Uint8Array; /** - *

                The user pool ID for the user pool.

                + *

                The CSS values in the UI customization.

                */ - UserPoolId: string | undefined; + CSS?: string; /** - *

                The CSS values in the UI customization.

                + *

                The client ID for the client app.

                */ - CSS?: string; + ClientId?: string; /** - *

                The uploaded logo image for the UI customization.

                + *

                The user pool ID for the user pool.

                */ - ImageFile?: Uint8Array; + UserPoolId: string | undefined; } export namespace SetUICustomizationRequest { @@ -8424,14 +8455,14 @@ export namespace SetUICustomizationResponse { export interface SetUserMFAPreferenceRequest { /** - *

                The access token for the user.

                + *

                The time-based one-time password software token MFA settings.

                */ - AccessToken: string | undefined; + SoftwareTokenMfaSettings?: SoftwareTokenMfaSettingsType; /** - *

                The time-based one-time password software token MFA settings.

                + *

                The access token for the user.

                */ - SoftwareTokenMfaSettings?: SoftwareTokenMfaSettingsType; + AccessToken: string | undefined; /** *

                The SMS text message multi-factor authentication (MFA) settings.

                @@ -8455,11 +8486,6 @@ export namespace SetUserMFAPreferenceResponse { } export interface SetUserPoolMfaConfigRequest { - /** - *

                The user pool ID.

                - */ - UserPoolId: string | undefined; - /** *

                The MFA configuration. Valid values include:

                *
                  @@ -8481,14 +8507,19 @@ export interface SetUserPoolMfaConfigRequest { MfaConfiguration?: UserPoolMfaType | string; /** - *

                  The software token MFA configuration.

                  + *

                  The user pool ID.

                  */ - SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; + UserPoolId: string | undefined; /** *

                  The SMS text message MFA configuration.

                  */ SmsMfaConfiguration?: SmsMfaConfigType; + + /** + *

                  The software token MFA configuration.

                  + */ + SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; } export namespace SetUserPoolMfaConfigRequest { @@ -8498,6 +8529,16 @@ export namespace SetUserPoolMfaConfigRequest { } export interface SetUserPoolMfaConfigResponse { + /** + *

                  The software token MFA configuration.

                  + */ + SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; + + /** + *

                  The SMS text message MFA configuration.

                  + */ + SmsMfaConfiguration?: SmsMfaConfigType; + /** *

                  The MFA configuration. Valid values include:

                  *
                    @@ -8517,16 +8558,6 @@ export interface SetUserPoolMfaConfigResponse { *
                  */ MfaConfiguration?: UserPoolMfaType | string; - - /** - *

                  The software token MFA configuration.

                  - */ - SoftwareTokenMfaConfiguration?: SoftwareTokenMfaConfigType; - - /** - *

                  The SMS text message MFA configuration.

                  - */ - SmsMfaConfiguration?: SmsMfaConfigType; } export namespace SetUserPoolMfaConfigResponse { @@ -8574,9 +8605,15 @@ export namespace SetUserSettingsResponse { */ export interface SignUpRequest { /** - *

                  The user name of the user you wish to register.

                  + *

                  The Amazon Pinpoint analytics metadata for collecting metrics for SignUp + * calls.

                  */ - Username: string | undefined; + AnalyticsMetadata?: AnalyticsMetadataType; + + /** + *

                  The password of the user you wish to register.

                  + */ + Password: string | undefined; /** *

                  A map of custom key-value pairs that you can provide as input for any custom workflows @@ -8614,17 +8651,6 @@ export interface SignUpRequest { */ ClientMetadata?: { [key: string]: string }; - /** - *

                  The password of the user you wish to register.

                  - */ - Password: string | undefined; - - /** - *

                  The Amazon Pinpoint analytics metadata for collecting metrics for SignUp - * calls.

                  - */ - AnalyticsMetadata?: AnalyticsMetadataType; - /** *

                  An array of name-value pairs representing user attributes.

                  *

                  For custom attributes, you must prepend the custom: prefix to the @@ -8633,9 +8659,10 @@ export interface SignUpRequest { UserAttributes?: AttributeType[]; /** - *

                  The ID of the client associated with the user pool.

                  + *

                  A keyed-hash message authentication code (HMAC) calculated using the secret key of a + * user pool client and username plus the client ID in the message.

                  */ - ClientId: string | undefined; + SecretHash?: string; /** *

                  Contextual data such as the user's device fingerprint, IP address, or location used @@ -8645,30 +8672,34 @@ export interface SignUpRequest { UserContextData?: UserContextDataType; /** - *

                  A keyed-hash message authentication code (HMAC) calculated using the secret key of a - * user pool client and username plus the client ID in the message.

                  + *

                  The user name of the user you wish to register.

                  */ - SecretHash?: string; + Username: string | undefined; /** *

                  The validation data in the request to register a user.

                  */ ValidationData?: AttributeType[]; + + /** + *

                  The ID of the client associated with the user pool.

                  + */ + ClientId: string | undefined; } export namespace SignUpRequest { export const filterSensitiveLog = (obj: SignUpRequest): any => ({ ...obj, - ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.Password && { Password: SENSITIVE_STRING }), ...(obj.UserAttributes && { UserAttributes: obj.UserAttributes.map((item) => AttributeType.filterSensitiveLog(item)), }), - ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), ...(obj.SecretHash && { SecretHash: SENSITIVE_STRING }), + ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.ValidationData && { ValidationData: obj.ValidationData.map((item) => AttributeType.filterSensitiveLog(item)), }), + ...(obj.ClientId && { ClientId: SENSITIVE_STRING }), }); } @@ -8676,12 +8707,6 @@ export namespace SignUpRequest { *

                  The response from the server for a registration request.

                  */ export interface SignUpResponse { - /** - *

                  A response from the server indicating that a user registration has been - * confirmed.

                  - */ - UserConfirmed: boolean | undefined; - /** *

                  The UUID of the authenticated user. This is not the same as * username.

                  @@ -8693,6 +8718,12 @@ export interface SignUpResponse { * request.

                  */ CodeDeliveryDetails?: CodeDeliveryDetailsType; + + /** + *

                  A response from the server indicating that a user registration has been + * confirmed.

                  + */ + UserConfirmed: boolean | undefined; } export namespace SignUpResponse { @@ -8706,14 +8737,14 @@ export namespace SignUpResponse { */ export interface StartUserImportJobRequest { /** - *

                  The job ID for the user import job.

                  + *

                  The user pool ID for the user pool that the users are being imported into.

                  */ - JobId: string | undefined; + UserPoolId: string | undefined; /** - *

                  The user pool ID for the user pool that the users are being imported into.

                  + *

                  The job ID for the user import job.

                  */ - UserPoolId: string | undefined; + JobId: string | undefined; } export namespace StartUserImportJobRequest { @@ -8744,14 +8775,14 @@ export namespace StartUserImportJobResponse { */ export interface StopUserImportJobRequest { /** - *

                  The job ID for the user import job.

                  + *

                  The user pool ID for the user pool that the users are being imported into.

                  */ - JobId: string | undefined; + UserPoolId: string | undefined; /** - *

                  The user pool ID for the user pool that the users are being imported into.

                  + *

                  The job ID for the user import job.

                  */ - UserPoolId: string | undefined; + JobId: string | undefined; } export namespace StopUserImportJobRequest { @@ -8805,14 +8836,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                  The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.

                  + *

                  The keys of the tags to remove from the user pool.

                  */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; /** - *

                  The keys of the tags to remove from the user pool.

                  + *

                  The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.

                  */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -8831,24 +8862,24 @@ export namespace UntagResourceResponse { export interface UpdateAuthEventFeedbackRequest { /** - *

                  The user pool ID.

                  + *

                  The event ID.

                  */ - UserPoolId: string | undefined; + EventId: string | undefined; /** - *

                  The authentication event feedback value.

                  + *

                  The feedback token.

                  */ - FeedbackValue: FeedbackValueType | string | undefined; + FeedbackToken: string | undefined; /** - *

                  The event ID.

                  + *

                  The authentication event feedback value.

                  */ - EventId: string | undefined; + FeedbackValue: FeedbackValueType | string | undefined; /** - *

                  The feedback token.

                  + *

                  The user pool ID.

                  */ - FeedbackToken: string | undefined; + UserPoolId: string | undefined; /** *

                  The user pool username.

                  @@ -8871,77 +8902,3 @@ export namespace UpdateAuthEventFeedbackResponse { ...obj, }); } - -/** - *

                  Represents the request to update the device status.

                  - */ -export interface UpdateDeviceStatusRequest { - /** - *

                  The access token.

                  - */ - AccessToken: string | undefined; - - /** - *

                  The device key.

                  - */ - DeviceKey: string | undefined; - - /** - *

                  The status of whether a device is remembered.

                  - */ - DeviceRememberedStatus?: DeviceRememberedStatusType | string; -} - -export namespace UpdateDeviceStatusRequest { - export const filterSensitiveLog = (obj: UpdateDeviceStatusRequest): any => ({ - ...obj, - ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), - }); -} - -/** - *

                  The response to the request to update the device status.

                  - */ -export interface UpdateDeviceStatusResponse {} - -export namespace UpdateDeviceStatusResponse { - export const filterSensitiveLog = (obj: UpdateDeviceStatusResponse): any => ({ - ...obj, - }); -} - -export interface UpdateGroupRequest { - /** - *

                  The name of the group.

                  - */ - GroupName: string | undefined; - - /** - *

                  The user pool ID for the user pool.

                  - */ - UserPoolId: string | undefined; - - /** - *

                  The new precedence value for the group. For more information about this parameter, see - * .

                  - */ - Precedence?: number; - - /** - *

                  The new role ARN for the group. This is used for setting the - * cognito:roles and cognito:preferred_role claims in the - * token.

                  - */ - RoleArn?: string; - - /** - *

                  A string containing the new description of the group.

                  - */ - Description?: string; -} - -export namespace UpdateGroupRequest { - export const filterSensitiveLog = (obj: UpdateGroupRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-cognito-identity-provider/models/models_1.ts b/clients/client-cognito-identity-provider/models/models_1.ts index 2323a9951020..824f1b8ea225 100644 --- a/clients/client-cognito-identity-provider/models/models_1.ts +++ b/clients/client-cognito-identity-provider/models/models_1.ts @@ -6,6 +6,7 @@ import { CodeDeliveryDetailsType, CustomDomainConfigType, DeviceConfigurationType, + DeviceRememberedStatusType, EmailConfigurationType, ExplicitAuthFlowsType, GroupType, @@ -16,6 +17,7 @@ import { ResourceServerScopeType, ResourceServerType, SmsConfigurationType, + TokenValidityUnitsType, UserPoolAddOnsType, UserPoolClientType, UserPoolMfaType, @@ -26,6 +28,80 @@ import { import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +/** + *

                  Represents the request to update the device status.

                  + */ +export interface UpdateDeviceStatusRequest { + /** + *

                  The device key.

                  + */ + DeviceKey: string | undefined; + + /** + *

                  The status of whether a device is remembered.

                  + */ + DeviceRememberedStatus?: DeviceRememberedStatusType | string; + + /** + *

                  The access token.

                  + */ + AccessToken: string | undefined; +} + +export namespace UpdateDeviceStatusRequest { + export const filterSensitiveLog = (obj: UpdateDeviceStatusRequest): any => ({ + ...obj, + ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), + }); +} + +/** + *

                  The response to the request to update the device status.

                  + */ +export interface UpdateDeviceStatusResponse {} + +export namespace UpdateDeviceStatusResponse { + export const filterSensitiveLog = (obj: UpdateDeviceStatusResponse): any => ({ + ...obj, + }); +} + +export interface UpdateGroupRequest { + /** + *

                  The new precedence value for the group. For more information about this parameter, see + * CreateGroup.

                  + */ + Precedence?: number; + + /** + *

                  The name of the group.

                  + */ + GroupName: string | undefined; + + /** + *

                  The user pool ID for the user pool.

                  + */ + UserPoolId: string | undefined; + + /** + *

                  The new role ARN for the group. This is used for setting the + * cognito:roles and cognito:preferred_role claims in the + * token.

                  + */ + RoleArn?: string; + + /** + *

                  A string containing the new description of the group.

                  + */ + Description?: string; +} + +export namespace UpdateGroupRequest { + export const filterSensitiveLog = (obj: UpdateGroupRequest): any => ({ + ...obj, + }); +} + export interface UpdateGroupResponse { /** *

                  The group object for the group.

                  @@ -41,14 +117,15 @@ export namespace UpdateGroupResponse { export interface UpdateIdentityProviderRequest { /** - *

                  A list of identity provider identifiers.

                  + *

                  The identity provider details to be updated, such as MetadataURL and + * MetadataFile.

                  */ - IdpIdentifiers?: string[]; + ProviderDetails?: { [key: string]: string }; /** - *

                  The identity provider name.

                  + *

                  The user pool ID.

                  */ - ProviderName: string | undefined; + UserPoolId: string | undefined; /** *

                  The identity provider attribute mapping to be changed.

                  @@ -56,15 +133,14 @@ export interface UpdateIdentityProviderRequest { AttributeMapping?: { [key: string]: string }; /** - *

                  The user pool ID.

                  + *

                  The identity provider name.

                  */ - UserPoolId: string | undefined; + ProviderName: string | undefined; /** - *

                  The identity provider details to be updated, such as MetadataURL and - * MetadataFile.

                  + *

                  A list of identity provider identifiers.

                  */ - ProviderDetails?: { [key: string]: string }; + IdpIdentifiers?: string[]; } export namespace UpdateIdentityProviderRequest { @@ -87,6 +163,11 @@ export namespace UpdateIdentityProviderResponse { } export interface UpdateResourceServerRequest { + /** + *

                  The scope values to be set for the resource server.

                  + */ + Scopes?: ResourceServerScopeType[]; + /** *

                  The identifier for the resource server.

                  */ @@ -101,11 +182,6 @@ export interface UpdateResourceServerRequest { *

                  The name of the resource server.

                  */ Name: string | undefined; - - /** - *

                  The scope values to be set for the resource server.

                  - */ - Scopes?: ResourceServerScopeType[]; } export namespace UpdateResourceServerRequest { @@ -131,6 +207,11 @@ export namespace UpdateResourceServerResponse { *

                  Represents the request to update user attributes.

                  */ export interface UpdateUserAttributesRequest { + /** + *

                  The access token for the request to update user attributes.

                  + */ + AccessToken: string | undefined; + /** *

                  A map of custom key-value pairs that you can provide as input for any custom workflows * that this action triggers.

                  @@ -172,20 +253,15 @@ export interface UpdateUserAttributesRequest { * attribute name.

                  */ UserAttributes: AttributeType[] | undefined; - - /** - *

                  The access token for the request to update user attributes.

                  - */ - AccessToken: string | undefined; } export namespace UpdateUserAttributesRequest { export const filterSensitiveLog = (obj: UpdateUserAttributesRequest): any => ({ ...obj, + ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), ...(obj.UserAttributes && { UserAttributes: obj.UserAttributes.map((item) => AttributeType.filterSensitiveLog(item)), }), - ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), }); } @@ -207,92 +283,55 @@ export namespace UpdateUserAttributesResponse { }); } -/** - *

                  This exception is thrown if two or more modifications are happening - * concurrently.

                  - */ -export interface ConcurrentModificationException extends __SmithyException, $MetadataBearer { - name: "ConcurrentModificationException"; - $fault: "client"; - /** - *

                  The message provided when the concurrent exception is thrown.

                  - */ - message?: string; -} - -export namespace ConcurrentModificationException { - export const filterSensitiveLog = (obj: ConcurrentModificationException): any => ({ - ...obj, - }); -} - /** *

                  Represents the request to update the user pool.

                  */ export interface UpdateUserPoolRequest { /** - *

                  Used to enable advanced security risk detection. Set the key - * AdvancedSecurityMode to the value "AUDIT".

                  - */ - UserPoolAddOns?: UserPoolAddOnsType; - - /** - *

                  A container with information about the SMS verification message.

                  + *

                  The subject of the email verification message.

                  */ - SmsVerificationMessage?: string; + EmailVerificationSubject?: string; /** - *

                  Email configuration.

                  + *

                  SMS configuration.

                  */ - EmailConfiguration?: EmailConfigurationType; + SmsConfiguration?: SmsConfigurationType; /** - *

                  The subject of the email verification message.

                  + *

                  The template for verification messages.

                  */ - EmailVerificationSubject?: string; + VerificationMessageTemplate?: VerificationMessageTemplateType; /** - *

                  The user pool ID for the user pool you want to update.

                  + *

                  Used to enable advanced security risk detection. Set the key + * AdvancedSecurityMode to the value "AUDIT".

                  */ - UserPoolId: string | undefined; + UserPoolAddOns?: UserPoolAddOnsType; /** - *

                  The AWS Lambda configuration information from the request to update the user - * pool.

                  + *

                  Email configuration.

                  */ - LambdaConfig?: LambdaConfigType; + EmailConfiguration?: EmailConfigurationType; /** - *

                  Can be one of the following values:

                  - *
                    - *
                  • - *

                    - * OFF - MFA tokens are not required and cannot be specified during - * user registration.

                    - *
                  • - *
                  • - *

                    - * ON - MFA tokens are required for all user registrations. You can - * only specify required when you are initially creating a user pool.

                    - *
                  • - *
                  • - *

                    - * OPTIONAL - Users have the option when registering to create an MFA - * token.

                    - *
                  • - *
                  + *

                  The configuration for AdminCreateUser requests.

                  */ - MfaConfiguration?: UserPoolMfaType | string; + AdminCreateUserConfig?: AdminCreateUserConfigType; /** - *

                  The contents of the email verification message.

                  + *

                  Use this setting to define which verified available method a user can use to recover + * their password when they call ForgotPassword. It allows you to define a + * preferred method when a user has more than one method available. With this setting, SMS + * does not qualify for a valid password recovery mechanism if the user also has SMS MFA + * enabled. In the absence of this setting, Cognito uses the legacy behavior to determine + * the recovery method where SMS is preferred over email.

                  */ - EmailVerificationMessage?: string; + AccountRecoverySetting?: AccountRecoverySettingType; /** - *

                  Device configuration.

                  + *

                  A container with the policies you wish to update in a user pool.

                  */ - DeviceConfiguration?: DeviceConfigurationType; + Policies?: UserPoolPolicyType; /** *

                  The tag keys and values to assign to the user pool. A tag is a label that you can use @@ -301,6 +340,11 @@ export interface UpdateUserPoolRequest { */ UserPoolTags?: { [key: string]: string }; + /** + *

                  The contents of the SMS authentication message.

                  + */ + SmsAuthenticationMessage?: string; + /** *

                  The attributes that are automatically verified when the Amazon Cognito service makes a * request to update user pools.

                  @@ -308,39 +352,52 @@ export interface UpdateUserPoolRequest { AutoVerifiedAttributes?: (VerifiedAttributeType | string)[]; /** - *

                  The contents of the SMS authentication message.

                  + *

                  The user pool ID for the user pool you want to update.

                  */ - SmsAuthenticationMessage?: string; + UserPoolId: string | undefined; /** - *

                  Use this setting to define which verified available method a user can use to recover - * their password when they call ForgotPassword. It allows you to define a - * preferred method when a user has more than one method available. With this setting, SMS - * does not qualify for a valid password recovery mechanism if the user also has SMS MFA - * enabled. In the absence of this setting, Cognito uses the legacy behavior to determine - * the recovery method where SMS is preferred over email.

                  + *

                  A container with information about the SMS verification message.

                  */ - AccountRecoverySetting?: AccountRecoverySettingType; + SmsVerificationMessage?: string; /** - *

                  A container with the policies you wish to update in a user pool.

                  + *

                  Device configuration.

                  */ - Policies?: UserPoolPolicyType; + DeviceConfiguration?: DeviceConfigurationType; /** - *

                  The configuration for AdminCreateUser requests.

                  + *

                  The contents of the email verification message.

                  */ - AdminCreateUserConfig?: AdminCreateUserConfigType; + EmailVerificationMessage?: string; /** - *

                  SMS configuration.

                  + *

                  Can be one of the following values:

                  + *
                    + *
                  • + *

                    + * OFF - MFA tokens are not required and cannot be specified during + * user registration.

                    + *
                  • + *
                  • + *

                    + * ON - MFA tokens are required for all user registrations. You can + * only specify required when you are initially creating a user pool.

                    + *
                  • + *
                  • + *

                    + * OPTIONAL - Users have the option when registering to create an MFA + * token.

                    + *
                  • + *
                  */ - SmsConfiguration?: SmsConfigurationType; + MfaConfiguration?: UserPoolMfaType | string; /** - *

                  The template for verification messages.

                  + *

                  The AWS Lambda configuration information from the request to update the user + * pool.

                  */ - VerificationMessageTemplate?: VerificationMessageTemplateType; + LambdaConfig?: LambdaConfigType; } export namespace UpdateUserPoolRequest { @@ -366,10 +423,9 @@ export namespace UpdateUserPoolResponse { */ export interface UpdateUserPoolClientRequest { /** - *

                  A list of provider names for the identity providers that are supported on this - * client.

                  + *

                  The time limit, after which the ID token is no longer valid and cannot be used.

                  */ - SupportedIdentityProviders?: string[]; + IdTokenValidity?: number; /** *

                  A list of allowed redirect (callback) URLs for the identity providers.

                  @@ -393,139 +449,43 @@ export interface UpdateUserPoolClientRequest { */ CallbackURLs?: string[]; - /** - *

                  The allowed OAuth scopes. Possible values provided by OAuth are: phone, - * email, openid, and profile. Possible values - * provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created - * in Resource Servers are also supported.

                  - */ - AllowedOAuthScopes?: string[]; - - /** - *

                  The ID of the client associated with the user pool.

                  - */ - ClientId: string | undefined; - /** *

                  A list of allowed logout URLs for the identity providers.

                  */ LogoutURLs?: string[]; /** - *

                  The time limit, in days, after which the refresh token is no longer valid and cannot - * be used.

                  - */ - RefreshTokenValidity?: number; - - /** - *

                  Use this setting to choose which errors and responses are returned by Cognito APIs - * during authentication, account confirmation, and password recovery when the user does - * not exist in the user pool. When set to ENABLED and the user does not - * exist, authentication returns an error indicating either the username or password was - * incorrect, and account confirmation and password recovery return a response indicating a - * code was sent to a simulated destination. When set to LEGACY, those APIs - * will return a UserNotFoundException exception if the user does not exist in - * the user pool.

                  - *

                  Valid values include:

                  - *
                    - *
                  • - *

                    - * ENABLED - This prevents user existence-related errors.

                    - *
                  • - *
                  • - *

                    - * LEGACY - This represents the old behavior of Cognito where user - * existence related errors are not prevented.

                    - *
                  • - *
                  - *

                  This setting affects the behavior of following APIs:

                  - * - * - *

                  After February 15th 2020, the value of PreventUserExistenceErrors - * will default to ENABLED for newly created user pool clients if no value - * is provided.

                  - *
                  + *

                  Set to true if the client is allowed to follow the OAuth protocol when interacting + * with Cognito user pools.

                  */ - PreventUserExistenceErrors?: PreventUserExistenceErrorTypes | string; + AllowedOAuthFlowsUserPoolClient?: boolean; /** - *

                  The writeable attributes of the user pool.

                  + *

                  The user pool ID for the user pool where you want to update the user pool + * client.

                  */ - WriteAttributes?: string[]; + UserPoolId: string | undefined; /** - *

                  The Amazon Pinpoint analytics configuration for collecting metrics for this user - * pool.

                  - * - *

                  Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

                  - *
                  + *

                  The units in which the validity times are represented in. Default for RefreshToken is days, and default for ID and access tokens are hours.

                  */ - AnalyticsConfiguration?: AnalyticsConfigurationType; + TokenValidityUnits?: TokenValidityUnitsType; /** - *

                  The user pool ID for the user pool where you want to update the user pool + *

                  A list of provider names for the identity providers that are supported on this * client.

                  */ - UserPoolId: string | undefined; + SupportedIdentityProviders?: string[]; /** - *

                  The allowed OAuth flows.

                  - *

                  Set to code to initiate a code grant flow, which provides an - * authorization code as the response. This code can be exchanged for access tokens with - * the token endpoint.

                  - *

                  Set to implicit to specify that the client should get the access token - * (and, optionally, ID token, based on scopes) directly.

                  - *

                  Set to client_credentials to specify that the client should get the - * access token (and, optionally, ID token, based on scopes) from the token endpoint using - * a combination of client and client_secret.

                  + *

                  The read-only attributes of the user pool.

                  */ - AllowedOAuthFlows?: (OAuthFlowType | string)[]; + ReadAttributes?: string[]; /** - *

                  The client name from the update user pool client request.

                  + *

                  The time limit, after which the access token is no longer valid and cannot be used.

                  */ - ClientName?: string; + AccessTokenValidity?: number; /** *

                  The authentication flows that are supported by the user pool clients. Flow names @@ -567,10 +527,9 @@ export interface UpdateUserPoolClientRequest { ExplicitAuthFlows?: (ExplicitAuthFlowsType | string)[]; /** - *

                  Set to true if the client is allowed to follow the OAuth protocol when interacting - * with Cognito user pools.

                  + *

                  The writeable attributes of the user pool.

                  */ - AllowedOAuthFlowsUserPoolClient?: boolean; + WriteAttributes?: string[]; /** *

                  The default redirect URI. Must be in the CallbackURLs list.

                  @@ -595,9 +554,84 @@ export interface UpdateUserPoolClientRequest { DefaultRedirectURI?: string; /** - *

                  The read-only attributes of the user pool.

                  + *

                  The ID of the client associated with the user pool.

                  */ - ReadAttributes?: string[]; + ClientId: string | undefined; + + /** + *

                  The allowed OAuth scopes. Possible values provided by OAuth are: phone, + * email, openid, and profile. Possible values + * provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created + * in Resource Servers are also supported.

                  + */ + AllowedOAuthScopes?: string[]; + + /** + *

                  The client name from the update user pool client request.

                  + */ + ClientName?: string; + + /** + *

                  Use this setting to choose which errors and responses are returned by Cognito APIs + * during authentication, account confirmation, and password recovery when the user does + * not exist in the user pool. When set to ENABLED and the user does not + * exist, authentication returns an error indicating either the username or password was + * incorrect, and account confirmation and password recovery return a response indicating a + * code was sent to a simulated destination. When set to LEGACY, those APIs + * will return a UserNotFoundException exception if the user does not exist in + * the user pool.

                  + *

                  Valid values include:

                  + *
                    + *
                  • + *

                    + * ENABLED - This prevents user existence-related errors.

                    + *
                  • + *
                  • + *

                    + * LEGACY - This represents the old behavior of Cognito where user + * existence related errors are not prevented.

                    + *
                  • + *
                  + * + * + * + *

                  After February 15th 2020, the value of PreventUserExistenceErrors + * will default to ENABLED for newly created user pool clients if no value + * is provided.

                  + *
                  + */ + PreventUserExistenceErrors?: PreventUserExistenceErrorTypes | string; + + /** + *

                  The allowed OAuth flows.

                  + *

                  Set to code to initiate a code grant flow, which provides an + * authorization code as the response. This code can be exchanged for access tokens with + * the token endpoint.

                  + *

                  Set to implicit to specify that the client should get the access token + * (and, optionally, ID token, based on scopes) directly.

                  + *

                  Set to client_credentials to specify that the client should get the + * access token (and, optionally, ID token, based on scopes) from the token endpoint using + * a combination of client and client_secret.

                  + */ + AllowedOAuthFlows?: (OAuthFlowType | string)[]; + + /** + *

                  The time limit, in days, after which the refresh token is no longer valid and cannot + * be used.

                  + */ + RefreshTokenValidity?: number; + + /** + *

                  The Amazon Pinpoint analytics configuration for collecting metrics for this user + * pool.

                  + * + *

                  In regions where Pinpoint is not available, Cognito User Pools only supports sending events to Amazon Pinpoint projects in us-east-1. + * In regions where Pinpoint is available, Cognito User Pools will + * support sending events to Amazon Pinpoint projects within that same region. + *

                  + *
                  + */ + AnalyticsConfiguration?: AnalyticsConfigurationType; } export namespace UpdateUserPoolClientRequest { @@ -630,6 +664,13 @@ export namespace UpdateUserPoolClientResponse { *

                  The UpdateUserPoolDomain request input.

                  */ export interface UpdateUserPoolDomainRequest { + /** + *

                  The configuration for a custom domain that hosts the sign-up and sign-in pages for + * your application. Use this object to specify an SSL certificate that is managed by + * ACM.

                  + */ + CustomDomainConfig: CustomDomainConfigType | undefined; + /** *

                  The domain name for the custom domain that hosts the sign-up and sign-in pages for * your application. For example: auth.example.com.

                  @@ -638,13 +679,6 @@ export interface UpdateUserPoolDomainRequest { */ Domain: string | undefined; - /** - *

                  The configuration for a custom domain that hosts the sign-up and sign-in pages for - * your application. Use this object to specify an SSL certificate that is managed by - * ACM.

                  - */ - CustomDomainConfig: CustomDomainConfigType | undefined; - /** *

                  The ID of the user pool that is associated with the custom domain that you are * updating the certificate for.

                  @@ -693,9 +727,9 @@ export namespace EnableSoftwareTokenMFAException { export interface VerifySoftwareTokenRequest { /** - *

                  The friendly device name.

                  + *

                  The access token.

                  */ - FriendlyDeviceName?: string; + AccessToken?: string; /** *

                  The session which should be passed both ways in challenge-response calls to the @@ -704,14 +738,14 @@ export interface VerifySoftwareTokenRequest { Session?: string; /** - *

                  The one time password computed using the secret code returned by

                  + *

                  The friendly device name.

                  */ - UserCode: string | undefined; + FriendlyDeviceName?: string; /** - *

                  The access token.

                  + *

                  The one time password computed using the secret code returned by AssociateSoftwareToken".

                  */ - AccessToken?: string; + UserCode: string | undefined; } export namespace VerifySoftwareTokenRequest { @@ -727,16 +761,16 @@ export enum VerifySoftwareTokenResponseType { } export interface VerifySoftwareTokenResponse { - /** - *

                  The status of the verify software token.

                  - */ - Status?: VerifySoftwareTokenResponseType | string; - /** *

                  The session which should be passed both ways in challenge-response calls to the * service.

                  */ Session?: string; + + /** + *

                  The status of the verify software token.

                  + */ + Status?: VerifySoftwareTokenResponseType | string; } export namespace VerifySoftwareTokenResponse { diff --git a/clients/client-cognito-identity-provider/protocols/Aws_json1_1.ts b/clients/client-cognito-identity-provider/protocols/Aws_json1_1.ts index 5d0db063c7f4..7ace6674917f 100644 --- a/clients/client-cognito-identity-provider/protocols/Aws_json1_1.ts +++ b/clients/client-cognito-identity-provider/protocols/Aws_json1_1.ts @@ -339,6 +339,7 @@ import { CodeMismatchException, CompromisedCredentialsActionsType, CompromisedCredentialsRiskConfigurationType, + ConcurrentModificationException, ConfirmDeviceRequest, ConfirmDeviceResponse, ConfirmForgotPasswordRequest, @@ -509,6 +510,7 @@ import { StringAttributeConstraintsType, TagResourceRequest, TagResourceResponse, + TokenValidityUnitsType, TooManyFailedAttemptsException, TooManyRequestsException, UICustomizationType, @@ -519,9 +521,6 @@ import { UntagResourceResponse, UpdateAuthEventFeedbackRequest, UpdateAuthEventFeedbackResponse, - UpdateDeviceStatusRequest, - UpdateDeviceStatusResponse, - UpdateGroupRequest, UserContextDataType, UserImportInProgressException, UserImportJobType, @@ -544,8 +543,10 @@ import { VerifiedAttributeType, } from "../models/models_0"; import { - ConcurrentModificationException, EnableSoftwareTokenMFAException, + UpdateDeviceStatusRequest, + UpdateDeviceStatusResponse, + UpdateGroupRequest, UpdateGroupResponse, UpdateIdentityProviderRequest, UpdateIdentityProviderResponse, @@ -4937,6 +4938,14 @@ const deserializeAws_json1_1AssociateSoftwareTokenCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "ConcurrentModificationException": + case "com.amazonaws.cognitoidentityprovider#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalErrorException": case "com.amazonaws.cognitoidentityprovider#InternalErrorException": response = { @@ -13676,6 +13685,7 @@ const serializeAws_json1_1AnalyticsConfigurationType = ( context: __SerdeContext ): any => { return { + ...(input.ApplicationArn !== undefined && { ApplicationArn: input.ApplicationArn }), ...(input.ApplicationId !== undefined && { ApplicationId: input.ApplicationId }), ...(input.ExternalId !== undefined && { ExternalId: input.ExternalId }), ...(input.RoleArn !== undefined && { RoleArn: input.RoleArn }), @@ -13924,6 +13934,7 @@ const serializeAws_json1_1CreateUserPoolClientRequest = ( context: __SerdeContext ): any => { return { + ...(input.AccessTokenValidity !== undefined && { AccessTokenValidity: input.AccessTokenValidity }), ...(input.AllowedOAuthFlows !== undefined && { AllowedOAuthFlows: serializeAws_json1_1OAuthFlowsType(input.AllowedOAuthFlows, context), }), @@ -13945,6 +13956,7 @@ const serializeAws_json1_1CreateUserPoolClientRequest = ( ExplicitAuthFlows: serializeAws_json1_1ExplicitAuthFlowsListType(input.ExplicitAuthFlows, context), }), ...(input.GenerateSecret !== undefined && { GenerateSecret: input.GenerateSecret }), + ...(input.IdTokenValidity !== undefined && { IdTokenValidity: input.IdTokenValidity }), ...(input.LogoutURLs !== undefined && { LogoutURLs: serializeAws_json1_1LogoutURLsListType(input.LogoutURLs, context), }), @@ -13961,6 +13973,9 @@ const serializeAws_json1_1CreateUserPoolClientRequest = ( context ), }), + ...(input.TokenValidityUnits !== undefined && { + TokenValidityUnits: serializeAws_json1_1TokenValidityUnitsType(input.TokenValidityUnits, context), + }), ...(input.UserPoolId !== undefined && { UserPoolId: input.UserPoolId }), ...(input.WriteAttributes !== undefined && { WriteAttributes: serializeAws_json1_1ClientPermissionListType(input.WriteAttributes, context), @@ -14893,6 +14908,14 @@ const serializeAws_json1_1TagResourceRequest = (input: TagResourceRequest, conte }; }; +const serializeAws_json1_1TokenValidityUnitsType = (input: TokenValidityUnitsType, context: __SerdeContext): any => { + return { + ...(input.AccessToken !== undefined && { AccessToken: input.AccessToken }), + ...(input.IdToken !== undefined && { IdToken: input.IdToken }), + ...(input.RefreshToken !== undefined && { RefreshToken: input.RefreshToken }), + }; +}; + const serializeAws_json1_1UntagResourceRequest = (input: UntagResourceRequest, context: __SerdeContext): any => { return { ...(input.ResourceArn !== undefined && { ResourceArn: input.ResourceArn }), @@ -14987,6 +15010,7 @@ const serializeAws_json1_1UpdateUserPoolClientRequest = ( context: __SerdeContext ): any => { return { + ...(input.AccessTokenValidity !== undefined && { AccessTokenValidity: input.AccessTokenValidity }), ...(input.AllowedOAuthFlows !== undefined && { AllowedOAuthFlows: serializeAws_json1_1OAuthFlowsType(input.AllowedOAuthFlows, context), }), @@ -15008,6 +15032,7 @@ const serializeAws_json1_1UpdateUserPoolClientRequest = ( ...(input.ExplicitAuthFlows !== undefined && { ExplicitAuthFlows: serializeAws_json1_1ExplicitAuthFlowsListType(input.ExplicitAuthFlows, context), }), + ...(input.IdTokenValidity !== undefined && { IdTokenValidity: input.IdTokenValidity }), ...(input.LogoutURLs !== undefined && { LogoutURLs: serializeAws_json1_1LogoutURLsListType(input.LogoutURLs, context), }), @@ -15024,6 +15049,9 @@ const serializeAws_json1_1UpdateUserPoolClientRequest = ( context ), }), + ...(input.TokenValidityUnits !== undefined && { + TokenValidityUnits: serializeAws_json1_1TokenValidityUnitsType(input.TokenValidityUnits, context), + }), ...(input.UserPoolId !== undefined && { UserPoolId: input.UserPoolId }), ...(input.WriteAttributes !== undefined && { WriteAttributes: serializeAws_json1_1ClientPermissionListType(input.WriteAttributes, context), @@ -15515,6 +15543,8 @@ const deserializeAws_json1_1AnalyticsConfigurationType = ( context: __SerdeContext ): AnalyticsConfigurationType => { return { + ApplicationArn: + output.ApplicationArn !== undefined && output.ApplicationArn !== null ? output.ApplicationArn : undefined, ApplicationId: output.ApplicationId !== undefined && output.ApplicationId !== null ? output.ApplicationId : undefined, ExternalId: output.ExternalId !== undefined && output.ExternalId !== null ? output.ExternalId : undefined, @@ -17000,6 +17030,14 @@ const deserializeAws_json1_1TagResourceResponse = (output: any, context: __Serde return {} as any; }; +const deserializeAws_json1_1TokenValidityUnitsType = (output: any, context: __SerdeContext): TokenValidityUnitsType => { + return { + AccessToken: output.AccessToken !== undefined && output.AccessToken !== null ? output.AccessToken : undefined, + IdToken: output.IdToken !== undefined && output.IdToken !== null ? output.IdToken : undefined, + RefreshToken: output.RefreshToken !== undefined && output.RefreshToken !== null ? output.RefreshToken : undefined, + } as any; +}; + const deserializeAws_json1_1TooManyFailedAttemptsException = ( output: any, context: __SerdeContext @@ -17291,6 +17329,10 @@ const deserializeAws_json1_1UserPoolClientListType = ( const deserializeAws_json1_1UserPoolClientType = (output: any, context: __SerdeContext): UserPoolClientType => { return { + AccessTokenValidity: + output.AccessTokenValidity !== undefined && output.AccessTokenValidity !== null + ? output.AccessTokenValidity + : undefined, AllowedOAuthFlows: output.AllowedOAuthFlows !== undefined && output.AllowedOAuthFlows !== null ? deserializeAws_json1_1OAuthFlowsType(output.AllowedOAuthFlows, context) @@ -17326,6 +17368,8 @@ const deserializeAws_json1_1UserPoolClientType = (output: any, context: __SerdeC output.ExplicitAuthFlows !== undefined && output.ExplicitAuthFlows !== null ? deserializeAws_json1_1ExplicitAuthFlowsListType(output.ExplicitAuthFlows, context) : undefined, + IdTokenValidity: + output.IdTokenValidity !== undefined && output.IdTokenValidity !== null ? output.IdTokenValidity : undefined, LastModifiedDate: output.LastModifiedDate !== undefined && output.LastModifiedDate !== null ? new Date(Math.round(output.LastModifiedDate * 1000)) @@ -17350,6 +17394,10 @@ const deserializeAws_json1_1UserPoolClientType = (output: any, context: __SerdeC output.SupportedIdentityProviders !== undefined && output.SupportedIdentityProviders !== null ? deserializeAws_json1_1SupportedIdentityProvidersListType(output.SupportedIdentityProviders, context) : undefined, + TokenValidityUnits: + output.TokenValidityUnits !== undefined && output.TokenValidityUnits !== null + ? deserializeAws_json1_1TokenValidityUnitsType(output.TokenValidityUnits, context) + : undefined, UserPoolId: output.UserPoolId !== undefined && output.UserPoolId !== null ? output.UserPoolId : undefined, WriteAttributes: output.WriteAttributes !== undefined && output.WriteAttributes !== null diff --git a/clients/client-cognito-identity/models/models_0.ts b/clients/client-cognito-identity/models/models_0.ts index b4b42aa718df..6692db179334 100644 --- a/clients/client-cognito-identity/models/models_0.ts +++ b/clients/client-cognito-identity/models/models_0.ts @@ -10,17 +10,17 @@ export enum AmbiguousRoleResolutionType { *

                  A provider representing an Amazon Cognito user pool and its client ID.

                  */ export interface CognitoIdentityProvider { - /** - *

                  The client ID for the Amazon Cognito user pool.

                  - */ - ClientId?: string; - /** *

                  The provider name for an Amazon Cognito user pool. For example, * cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.

                  */ ProviderName?: string; + /** + *

                  The client ID for the Amazon Cognito user pool.

                  + */ + ClientId?: string; + /** *

                  TRUE if server-side token validation is enabled for the identity provider’s * token.

                  @@ -45,25 +45,26 @@ export namespace CognitoIdentityProvider { */ export interface CreateIdentityPoolInput { /** - *

                  A string that you provide.

                  + *

                  An array of Amazon Cognito user pools and their client IDs.

                  */ - IdentityPoolName: string | undefined; + CognitoIdentityProviders?: CognitoIdentityProvider[]; /** - *

                  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.

                  + *

                  TRUE if the identity pool supports unauthenticated logins.

                  */ - DeveloperProviderName?: string; + AllowUnauthenticatedIdentities: boolean | undefined; /** - *

                  An array of Amazon Cognito user pools and their client IDs.

                  + *

                  Optional key:value pairs mapping provider names to provider app IDs.

                  */ - CognitoIdentityProviders?: CognitoIdentityProvider[]; + SupportedLoginProviders?: { [key: string]: string }; + + /** + *

                  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.

                  + */ + IdentityPoolTags?: { [key: string]: string }; /** *

                  Enables or disables the Basic (Classic) authentication flow. For more information, see @@ -71,6 +72,11 @@ export interface CreateIdentityPoolInput { */ AllowClassicFlow?: boolean; + /** + *

                  A string that you provide.

                  + */ + IdentityPoolName: string | undefined; + /** *

                  A list of OpendID Connect provider ARNs.

                  */ @@ -83,21 +89,15 @@ export interface CreateIdentityPoolInput { SamlProviderARNs?: string[]; /** - *

                  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.

                  - */ - IdentityPoolTags?: { [key: string]: string }; - - /** - *

                  Optional key:value pairs mapping provider names to provider app IDs.

                  - */ - SupportedLoginProviders?: { [key: string]: string }; - - /** - *

                  TRUE if the identity pool supports unauthenticated logins.

                  + *

                  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.

                  */ - AllowUnauthenticatedIdentities: boolean | undefined; + DeveloperProviderName?: string; } export namespace CreateIdentityPoolInput { @@ -111,15 +111,9 @@ export namespace CreateIdentityPoolInput { */ export interface IdentityPool { /** - *

                  Enables or disables the Basic (Classic) authentication flow. For more information, see - * Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.

                  - */ - AllowClassicFlow?: boolean; - - /** - *

                  A list representing an Amazon Cognito user pool and its client ID.

                  + *

                  An identity pool ID in the format REGION:GUID.

                  */ - CognitoIdentityProviders?: CognitoIdentityProvider[]; + IdentityPoolId: string | undefined; /** *

                  An array of Amazon Resource Names (ARNs) of the SAML provider for your identity @@ -133,21 +127,22 @@ export interface IdentityPool { OpenIdConnectProviderARNs?: 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.

                  + *

                  TRUE if the identity pool supports unauthenticated logins.

                  */ - IdentityPoolTags?: { [key: string]: string }; + AllowUnauthenticatedIdentities: boolean | undefined; /** - *

                  An identity pool ID in the format REGION:GUID.

                  + *

                  Enables or disables the Basic (Classic) authentication flow. For more information, see + * Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.

                  */ - IdentityPoolId: string | undefined; + AllowClassicFlow?: boolean; /** - *

                  The "domain" by which Cognito will refer to your users.

                  + *

                  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.

                  */ - DeveloperProviderName?: string; + IdentityPoolTags?: { [key: string]: string }; /** *

                  A string that you provide.

                  @@ -160,9 +155,14 @@ export interface IdentityPool { SupportedLoginProviders?: { [key: string]: string }; /** - *

                  TRUE if the identity pool supports unauthenticated logins.

                  + *

                  A list representing an Amazon Cognito user pool and its client ID.

                  */ - AllowUnauthenticatedIdentities: boolean | undefined; + CognitoIdentityProviders?: CognitoIdentityProvider[]; + + /** + *

                  The "domain" by which Cognito will refer to your users.

                  + */ + DeveloperProviderName?: string; } export namespace IdentityPool { @@ -307,14 +307,14 @@ export enum ErrorCode { */ export interface UnprocessedIdentityId { /** - *

                  The error code indicating the type of error that occurred.

                  + *

                  A unique identifier in the format REGION:GUID.

                  */ - ErrorCode?: ErrorCode | string; + IdentityId?: string; /** - *

                  A unique identifier in the format REGION:GUID.

                  + *

                  The error code indicating the type of error that occurred.

                  */ - IdentityId?: string; + ErrorCode?: ErrorCode | string; } export namespace UnprocessedIdentityId { @@ -397,24 +397,24 @@ export namespace DescribeIdentityInput { */ export interface IdentityDescription { /** - *

                  Date on which the identity was last modified.

                  + *

                  A unique identifier in the format REGION:GUID.

                  */ - LastModifiedDate?: Date; + IdentityId?: string; /** - *

                  Date on which the identity was created.

                  + *

                  The provider names.

                  */ - CreationDate?: Date; + Logins?: string[]; /** - *

                  A unique identifier in the format REGION:GUID.

                  + *

                  Date on which the identity was last modified.

                  */ - IdentityId?: string; + LastModifiedDate?: Date; /** - *

                  The provider names.

                  + *

                  Date on which the identity was created.

                  */ - Logins?: string[]; + CreationDate?: Date; } export namespace IdentityDescription { @@ -462,11 +462,6 @@ 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": @@ -487,6 +482,11 @@ export interface GetCredentialsForIdentityInput { * customization.

                  */ CustomRoleArn?: string; + + /** + *

                  A unique identifier in the format REGION:GUID.

                  + */ + IdentityId: string | undefined; } export namespace GetCredentialsForIdentityInput { @@ -499,11 +499,6 @@ export namespace GetCredentialsForIdentityInput { *

                  Credentials for the provided identity ID.

                  */ export interface Credentials { - /** - *

                  The Secret Access Key portion of the credentials

                  - */ - SecretKey?: string; - /** *

                  The Access Key portion of the credentials.

                  */ @@ -518,6 +513,11 @@ export interface Credentials { *

                  The Session Token portion of the credentials

                  */ SessionToken?: string; + + /** + *

                  The Secret Access Key portion of the credentials

                  + */ + SecretKey?: string; } export namespace Credentials { @@ -572,11 +572,6 @@ export namespace InvalidIdentityPoolConfigurationException { *

                  Input to the GetId action.

                  */ export interface GetIdInput { - /** - *

                  An identity pool ID in the format REGION:GUID.

                  - */ - IdentityPoolId: string | undefined; - /** *

                  A standard AWS account ID (9+ digits).

                  */ @@ -615,6 +610,11 @@ export interface GetIdInput { *
                */ Logins?: { [key: string]: string }; + + /** + *

                An identity pool ID in the format REGION:GUID.

                + */ + IdentityPoolId: string | undefined; } export namespace GetIdInput { @@ -667,12 +667,6 @@ export enum MappingRuleMatchType { * ARN.

                */ export interface MappingRule { - /** - *

                The claim name that must be present in the token, for example, "isAdmin" or - * "paid".

                - */ - Claim: string | undefined; - /** *

                The role ARN.

                */ @@ -688,6 +682,12 @@ export interface MappingRule { *

                A brief string that the claim must match, for example, "paid" or "yes".

                */ Value: string | undefined; + + /** + *

                The claim name that must be present in the token, for example, "isAdmin" or + * "paid".

                + */ + Claim: string | undefined; } export namespace MappingRule { @@ -730,13 +730,6 @@ export interface RoleMapping { */ Type: RoleMappingType | string | undefined; - /** - *

                The rules to be used for mapping users to roles.

                - *

                If you specify Rules as the role mapping type, RulesConfiguration is - * required.

                - */ - RulesConfiguration?: RulesConfigurationType; - /** *

                If you specify Token or Rules as the Type, * AmbiguousRoleResolution is required.

                @@ -746,6 +739,13 @@ export interface RoleMapping { * type.

                */ AmbiguousRoleResolution?: AmbiguousRoleResolutionType | string; + + /** + *

                The rules to be used for mapping users to roles.

                + *

                If you specify Rules as the role mapping type, RulesConfiguration is + * required.

                + */ + RulesConfiguration?: RulesConfigurationType; } export namespace RoleMapping { @@ -767,16 +767,16 @@ export interface GetIdentityPoolRolesResponse { */ RoleMappings?: { [key: string]: RoleMapping }; - /** - *

                An identity pool ID in the format REGION:GUID.

                - */ - IdentityPoolId?: string; - /** *

                The map of roles associated with this pool. Currently only authenticated and * unauthenticated roles are supported.

                */ Roles?: { [key: string]: string }; + + /** + *

                An identity pool ID in the format REGION:GUID.

                + */ + IdentityPoolId?: string; } export namespace GetIdentityPoolRolesResponse { @@ -789,6 +789,11 @@ export namespace GetIdentityPoolRolesResponse { *

                Input to the GetOpenIdToken action.

                */ export interface GetOpenIdTokenInput { + /** + *

                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. When * using graph.facebook.com and www.amazon.com, supply the access_token returned from the @@ -796,11 +801,6 @@ export interface GetOpenIdTokenInput { * other OpenId Connect provider, always include the id_token.

                */ Logins?: { [key: string]: string }; - - /** - *

                A unique identifier in the format REGION:GUID.

                - */ - IdentityId: string | undefined; } export namespace GetOpenIdTokenInput { @@ -854,16 +854,6 @@ 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 @@ -876,6 +866,11 @@ 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 @@ -889,6 +884,11 @@ 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 { /** - *

                A unique identifier in the format REGION:GUID.

                + *

                An OpenID token.

                */ - IdentityId?: string; + Token?: string; /** - *

                An OpenID token.

                + *

                A unique identifier in the format REGION:GUID.

                */ - Token?: string; + IdentityId?: string; } export namespace GetOpenIdTokenForDeveloperIdentityResponse { @@ -924,25 +924,25 @@ export namespace GetOpenIdTokenForDeveloperIdentityResponse { */ export interface ListIdentitiesInput { /** - *

                A pagination token.

                + *

                An optional boolean parameter that allows you to hide disabled identities. If + * omitted, the ListIdentities API will include disabled identities in the response.

                */ - NextToken?: string; + HideDisabled?: boolean; /** - *

                The maximum number of identities to return.

                + *

                An identity pool ID in the format REGION:GUID.

                */ - MaxResults: number | undefined; + IdentityPoolId: string | undefined; /** - *

                An identity pool ID in the format REGION:GUID.

                + *

                A pagination token.

                */ - IdentityPoolId: string | undefined; + NextToken?: string; /** - *

                An optional boolean parameter that allows you to hide disabled identities. If - * omitted, the ListIdentities API will include disabled identities in the response.

                + *

                The maximum number of identities to return.

                */ - HideDisabled?: boolean; + MaxResults: number | undefined; } export namespace ListIdentitiesInput { @@ -955,6 +955,11 @@ export namespace ListIdentitiesInput { *

                The response to a ListIdentities request.

                */ export interface ListIdentitiesResponse { + /** + *

                An identity pool ID in the format REGION:GUID.

                + */ + IdentityPoolId?: string; + /** *

                An object containing a set of identities and associated mappings.

                */ @@ -964,11 +969,6 @@ export interface ListIdentitiesResponse { *

                A pagination token.

                */ NextToken?: string; - - /** - *

                An identity pool ID in the format REGION:GUID.

                - */ - IdentityPoolId?: string; } export namespace ListIdentitiesResponse { @@ -982,14 +982,14 @@ export namespace ListIdentitiesResponse { */ export interface ListIdentityPoolsInput { /** - *

                The maximum number of identities to return.

                + *

                A pagination token.

                */ - MaxResults: number | undefined; + NextToken?: string; /** - *

                A pagination token.

                + *

                The maximum number of identities to return.

                */ - NextToken?: string; + MaxResults: number | undefined; } export namespace ListIdentityPoolsInput { @@ -1003,14 +1003,14 @@ export namespace ListIdentityPoolsInput { */ export interface IdentityPoolShortDescription { /** - *

                A string that you provide.

                + *

                An identity pool ID in the format REGION:GUID.

                */ - IdentityPoolName?: string; + IdentityPoolId?: string; /** - *

                An identity pool ID in the format REGION:GUID.

                + *

                A string that you provide.

                */ - IdentityPoolId?: string; + IdentityPoolName?: string; } export namespace IdentityPoolShortDescription { @@ -1072,14 +1072,14 @@ export namespace ListTagsForResourceResponse { */ export interface LookupDeveloperIdentityInput { /** - *

                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 - * example, let's say you make a request with MaxResults set to 10, and there are - * 20 matches in the database. The service will return a pagination token as a part of the - * response. This token can be used to call the API again and get results starting from the - * 11th match.

                + *

                A unique identifier in the format REGION:GUID.

                */ - NextToken?: string; + IdentityId?: string; + + /** + *

                The maximum number of identities to return.

                + */ + MaxResults?: number; /** *

                An identity pool ID in the format REGION:GUID.

                @@ -1094,14 +1094,14 @@ export interface LookupDeveloperIdentityInput { DeveloperUserIdentifier?: string; /** - *

                The maximum number of identities to return.

                - */ - MaxResults?: number; - - /** - *

                A unique identifier in the format REGION:GUID.

                + *

                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 + * example, let's say you make a request with MaxResults set to 10, and there are + * 20 matches in the database. The service will return a pagination token as a part of the + * response. This token can be used to call the API again and get results starting from the + * 11th match.

                */ - IdentityId?: string; + NextToken?: string; } export namespace LookupDeveloperIdentityInput { @@ -1120,6 +1120,13 @@ export interface LookupDeveloperIdentityResponse { */ IdentityId?: string; + /** + *

                This is the list of developer user identifiers associated with an identity ID. + * Cognito supports the association of multiple developer user identifiers with an identity + * ID.

                + */ + DeveloperUserIdentifierList?: string[]; + /** *

                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 @@ -1129,13 +1136,6 @@ export interface LookupDeveloperIdentityResponse { * 11th match.

                */ NextToken?: string; - - /** - *

                This is the list of developer user identifiers associated with an identity ID. - * Cognito supports the association of multiple developer user identifiers with an identity - * ID.

                - */ - DeveloperUserIdentifierList?: string[]; } export namespace LookupDeveloperIdentityResponse { @@ -1148,12 +1148,23 @@ export namespace LookupDeveloperIdentityResponse { *

                Input to the MergeDeveloperIdentities action.

                */ export interface MergeDeveloperIdentitiesInput { + /** + *

                User identifier for the source user. The value should be a + * DeveloperUserIdentifier.

                + */ + SourceUserIdentifier: string | undefined; + /** *

                User identifier for the destination user. The value should be a * DeveloperUserIdentifier.

                */ 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 @@ -1162,17 +1173,6 @@ export interface MergeDeveloperIdentitiesInput { * underscore (_), and dash (-).

                */ DeveloperProviderName: string | undefined; - - /** - *

                User identifier for the source user. The value should be a - * DeveloperUserIdentifier.

                - */ - SourceUserIdentifier: string | undefined; - - /** - *

                An identity pool ID in the format REGION:GUID.

                - */ - IdentityPoolId: string | undefined; } export namespace MergeDeveloperIdentitiesInput { @@ -1220,6 +1220,15 @@ export namespace ConcurrentModificationException { *

                Input to the SetIdentityPoolRoles action.

                */ 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.

                + */ + RoleMappings?: { [key: string]: RoleMapping }; + /** *

                The map of roles associated with this pool. For a given role, the key will be either * "authenticated" or "unauthenticated" and the value will be the Role ARN.

                @@ -1230,15 +1239,6 @@ export interface SetIdentityPoolRolesInput { *

                An identity pool ID in the format REGION:GUID.

                */ IdentityPoolId: string | undefined; - - /** - *

                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.

                - */ - RoleMappings?: { [key: string]: RoleMapping }; } export namespace SetIdentityPoolRolesInput { @@ -1278,24 +1278,24 @@ export namespace TagResourceResponse { */ export interface UnlinkDeveloperIdentityInput { /** - *

                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; /** - *

                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; /** - *

                The "domain" by which Cognito will refer to your users.

                + *

                A unique identifier in the format REGION:GUID.

                */ - DeveloperProviderName: string | undefined; + IdentityId: string | undefined; } export namespace UnlinkDeveloperIdentityInput { @@ -1332,16 +1332,16 @@ export namespace UnlinkIdentityInput { } export interface UntagResourceInput { - /** - *

                The keys of the tags to remove from the user pool.

                - */ - TagKeys: string[] | undefined; - /** *

                The Amazon Resource Name (ARN) of the identity pool that the tags are assigned * to.

                */ ResourceArn: string | undefined; + + /** + *

                The keys of the tags to remove from the user pool.

                + */ + TagKeys: string[] | undefined; } export namespace UntagResourceInput { diff --git a/clients/client-cognito-sync/models/models_0.ts b/clients/client-cognito-sync/models/models_0.ts index 88f3098a8daf..f6112b5f3072 100644 --- a/clients/client-cognito-sync/models/models_0.ts +++ b/clients/client-cognito-sync/models/models_0.ts @@ -177,11 +177,6 @@ export namespace DeleteDatasetRequest { * exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs.

                */ export interface Dataset { - /** - *

                Number of records in this dataset.

                - */ - NumRecords?: number; - /** *

                A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) * created by Amazon Cognito. GUID generation is unique within a region.

                @@ -194,14 +189,14 @@ export interface Dataset { LastModifiedBy?: string; /** - *

                Date when the dataset was last modified.

                + *

                A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).

                */ - LastModifiedDate?: Date; + DatasetName?: string; /** - *

                Date on which the dataset was created.

                + *

                Date when the dataset was last modified.

                */ - CreationDate?: Date; + LastModifiedDate?: Date; /** *

                Total size in bytes of the records in this dataset.

                @@ -209,9 +204,14 @@ export interface Dataset { DataStorage?: number; /** - *

                A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).

                + *

                Date on which the dataset was created.

                */ - DatasetName?: string; + CreationDate?: Date; + + /** + *

                Number of records in this dataset.

                + */ + NumRecords?: number; } export namespace Dataset { @@ -397,13 +397,13 @@ export interface DescribeIdentityUsageRequest { *

                A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) * created by Amazon Cognito. GUID generation is unique within a region.

                */ - IdentityPoolId: string | undefined; + IdentityId: string | undefined; /** *

                A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) * created by Amazon Cognito. GUID generation is unique within a region.

                */ - IdentityId: string | undefined; + IdentityPoolId: string | undefined; } export namespace DescribeIdentityUsageRequest { @@ -421,11 +421,6 @@ export interface IdentityUsage { */ DatasetCount?: number; - /** - *

                Date on which the identity was last modified.

                - */ - LastModifiedDate?: Date; - /** *

                A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) * created by Amazon Cognito. GUID generation is unique within a region.

                @@ -433,15 +428,20 @@ export interface IdentityUsage { IdentityId?: string; /** - *

                A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) - * created by Amazon Cognito. GUID generation is unique within a region.

                + *

                Date on which the identity was last modified.

                */ - IdentityPoolId?: string; + LastModifiedDate?: Date; /** *

                Total data storage for this identity.

                */ DataStorage?: number; + + /** + *

                A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) + * created by Amazon Cognito. GUID generation is unique within a region.

                + */ + IdentityPoolId?: string; } export namespace IdentityUsage { @@ -513,9 +513,9 @@ export interface GetBulkPublishDetailsResponse { BulkPublishStatus?: BulkPublishStatus | string; /** - *

                A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

                + *

                The date/time at which the last bulk publish was initiated.

                */ - IdentityPoolId?: string; + BulkPublishStartTime?: Date; /** *

                If BulkPublishStatus is FAILED this field will contain the error message that caused the bulk publish to fail.

                @@ -523,14 +523,14 @@ export interface GetBulkPublishDetailsResponse { FailureMessage?: string; /** - *

                If BulkPublishStatus is SUCCEEDED, the time the last bulk publish operation completed.

                + *

                A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

                */ - BulkPublishCompleteTime?: Date; + IdentityPoolId?: string; /** - *

                The date/time at which the last bulk publish was initiated.

                + *

                If BulkPublishStatus is SUCCEEDED, the time the last bulk publish operation completed.

                */ - BulkPublishStartTime?: Date; + BulkPublishCompleteTime?: Date; } export namespace GetBulkPublishDetailsResponse { @@ -593,16 +593,6 @@ export type StreamingStatus = "DISABLED" | "ENABLED"; *

                Configuration options for configure Cognito streams.

                */ export interface CognitoStreams { - /** - *

                A string containing the reason why streaming of updates to the identity pool was disabled.

                - */ - DisabledReason?: string; - - /** - *

                The name of the Cognito stream to receive updates. This stream must be in the developers account and in the same region as the identity pool.

                - */ - StreamName?: string; - /** *

                Status of the Cognito streams. Valid values are:

                *
                  @@ -616,6 +606,16 @@ export interface CognitoStreams { */ StreamingStatus?: StreamingStatus | string; + /** + *

                  A string containing the reason why streaming of updates to the identity pool was disabled.

                  + */ + DisabledReason?: string; + + /** + *

                  The name of the Cognito stream to receive updates. This stream must be in the developers account and in the same region as the identity pool.

                  + */ + StreamName?: string; + /** *

                  The ARN of the role Amazon Cognito can assume in order to publish to the stream. This role must grant access to Amazon Cognito (cognito-sync) to invoke PutRecord on your Cognito stream.

                  */ @@ -654,14 +654,14 @@ export namespace PushSync { */ export interface GetIdentityPoolConfigurationResponse { /** - *

                  A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito.

                  + *

                  Options to apply to this identity pool for Amazon Cognito streams.

                  */ - IdentityPoolId?: string; + CognitoStreams?: CognitoStreams; /** - *

                  Options to apply to this identity pool for Amazon Cognito streams.

                  + *

                  A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito.

                  */ - CognitoStreams?: CognitoStreams; + IdentityPoolId?: string; /** *

                  Options to apply to this identity pool for push synchronization.

                  @@ -758,24 +758,24 @@ export namespace ListIdentityPoolUsageRequest { */ export interface ListIdentityPoolUsageResponse { /** - *

                  Usage information for the identity pools.

                  + *

                  Total number of identities for the identity pool.

                  */ - IdentityPoolUsages?: IdentityPoolUsage[]; + Count?: number; /** - *

                  Total number of identities for the identity pool.

                  + *

                  The maximum number of results to be returned.

                  */ - Count?: number; + MaxResults?: number; /** - *

                  A pagination token for obtaining the next page of results.

                  + *

                  Usage information for the identity pools.

                  */ - NextToken?: string; + IdentityPoolUsages?: IdentityPoolUsage[]; /** - *

                  The maximum number of results to be returned.

                  + *

                  A pagination token for obtaining the next page of results.

                  */ - MaxResults?: number; + NextToken?: string; } export namespace ListIdentityPoolUsageResponse { @@ -791,17 +791,17 @@ export interface ListRecordsRequest { /** *

                  A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

                  */ - IdentityPoolId: string | undefined; + IdentityId: string | undefined; /** *

                  A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

                  */ - IdentityId: string | undefined; + IdentityPoolId: string | undefined; /** - *

                  The maximum number of results to be returned.

                  + *

                  The last server sync count for this record.

                  */ - MaxResults?: number; + LastSyncCount?: number; /** *

                  A pagination token for obtaining the next page of results.

                  @@ -809,9 +809,9 @@ export interface ListRecordsRequest { NextToken?: string; /** - *

                  The last server sync count for this record.

                  + *

                  The maximum number of results to be returned.

                  */ - LastSyncCount?: number; + MaxResults?: number; /** *

                  A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).

                  @@ -840,14 +840,14 @@ export interface _Record { DeviceLastModifiedDate?: Date; /** - *

                  The server sync count for this record.

                  + *

                  The date on which the record was last modified.

                  */ - SyncCount?: number; + LastModifiedDate?: Date; /** - *

                  The date on which the record was last modified.

                  + *

                  The server sync count for this record.

                  */ - LastModifiedDate?: Date; + SyncCount?: number; /** *

                  The value for the record.

                  @@ -855,14 +855,14 @@ export interface _Record { Value?: string; /** - *

                  The key for the record.

                  + *

                  The user/device that made the last change to this record.

                  */ - Key?: string; + LastModifiedBy?: string; /** - *

                  The user/device that made the last change to this record.

                  + *

                  The key for the record.

                  */ - LastModifiedBy?: string; + Key?: string; } export namespace _Record { @@ -880,11 +880,6 @@ export interface ListRecordsResponse { */ Count?: number; - /** - *

                  Server sync count for this dataset.

                  - */ - DatasetSyncCount?: number; - /** *

                  Names of merged datasets.

                  */ @@ -900,6 +895,11 @@ export interface ListRecordsResponse { */ LastModifiedBy?: string; + /** + *

                  Server sync count for this dataset.

                  + */ + DatasetSyncCount?: number; + /** *

                  A boolean value specifying whether to delete the dataset locally.

                  */ @@ -911,14 +911,14 @@ export interface ListRecordsResponse { Records?: _Record[]; /** - *

                  A pagination token for obtaining the next page of results.

                  + *

                  Indicates whether the dataset exists.

                  */ - NextToken?: string; + DatasetExists?: boolean; /** - *

                  Indicates whether the dataset exists.

                  + *

                  A pagination token for obtaining the next page of results.

                  */ - DatasetExists?: boolean; + NextToken?: string; } export namespace ListRecordsResponse { @@ -1064,14 +1064,14 @@ export namespace SetIdentityPoolConfigurationRequest { */ export interface SetIdentityPoolConfigurationResponse { /** - *

                  Options to apply to this identity pool for Amazon Cognito streams.

                  + *

                  Options to apply to this identity pool for push synchronization.

                  */ - CognitoStreams?: CognitoStreams; + PushSync?: PushSync; /** - *

                  Options to apply to this identity pool for push synchronization.

                  + *

                  Options to apply to this identity pool for Amazon Cognito streams.

                  */ - PushSync?: PushSync; + CognitoStreams?: CognitoStreams; /** *

                  A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito.

                  @@ -1247,20 +1247,15 @@ export type Operation = "remove" | "replace"; */ export interface RecordPatch { /** - *

                  The key associated with the record patch.

                  + *

                  An operation, either replace or remove.

                  */ - Key: string | undefined; + Op: Operation | string | undefined; /** *

                  The last modified date of the client device.

                  */ DeviceLastModifiedDate?: Date; - /** - *

                  An operation, either replace or remove.

                  - */ - Op: Operation | string | undefined; - /** *

                  Last known server sync count for this record. Set to 0 if unknown.

                  */ @@ -1270,6 +1265,11 @@ export interface RecordPatch { *

                  The value associated with the record patch.

                  */ Value?: string; + + /** + *

                  The key associated with the record patch.

                  + */ + Key: string | undefined; } export namespace RecordPatch { @@ -1283,20 +1283,25 @@ export namespace RecordPatch { */ export interface UpdateRecordsRequest { /** - *

                  A list of patch operations.

                  + *

                  A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

                  */ - RecordPatches?: RecordPatch[]; + IdentityPoolId: string | undefined; /** - *

                  A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

                  + *

                  A list of patch operations.

                  */ - IdentityPoolId: string | undefined; + RecordPatches?: RecordPatch[]; /** *

                  A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).

                  */ DatasetName: string | undefined; + /** + *

                  The SyncSessionToken returned by a previous call to ListRecords for this dataset and identity.

                  + */ + SyncSessionToken: string | undefined; + /** *

                  Intended to supply a device ID that will populate the lastModifiedBy field referenced in other methods. The ClientContext field is not yet implemented.

                  */ @@ -1307,11 +1312,6 @@ export interface UpdateRecordsRequest { */ DeviceId?: string; - /** - *

                  The SyncSessionToken returned by a previous call to ListRecords for this dataset and identity.

                  - */ - SyncSessionToken: string | undefined; - /** *

                  A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

                  */ diff --git a/clients/client-cognito-sync/protocols/Aws_restJson1.ts b/clients/client-cognito-sync/protocols/Aws_restJson1.ts index 40850f77af63..1f31d733154e 100644 --- a/clients/client-cognito-sync/protocols/Aws_restJson1.ts +++ b/clients/client-cognito-sync/protocols/Aws_restJson1.ts @@ -235,15 +235,6 @@ export const serializeAws_restJson1DescribeIdentityUsageCommand = async ( "Content-Type": "", }; let resolvedPath = "/identitypools/{IdentityPoolId}/identities/{IdentityId}"; - if (input.IdentityPoolId !== undefined) { - const labelValue: string = input.IdentityPoolId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: IdentityPoolId."); - } - resolvedPath = resolvedPath.replace("{IdentityPoolId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: IdentityPoolId."); - } if (input.IdentityId !== undefined) { const labelValue: string = input.IdentityId; if (labelValue.length <= 0) { @@ -253,6 +244,15 @@ export const serializeAws_restJson1DescribeIdentityUsageCommand = async ( } else { throw new Error("No value provided for input HTTP label: IdentityId."); } + if (input.IdentityPoolId !== undefined) { + const labelValue: string = input.IdentityPoolId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: IdentityPoolId."); + } + resolvedPath = resolvedPath.replace("{IdentityPoolId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: IdentityPoolId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -434,15 +434,6 @@ export const serializeAws_restJson1ListRecordsCommand = async ( "Content-Type": "", }; let resolvedPath = "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/records"; - if (input.IdentityPoolId !== undefined) { - const labelValue: string = input.IdentityPoolId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: IdentityPoolId."); - } - resolvedPath = resolvedPath.replace("{IdentityPoolId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: IdentityPoolId."); - } if (input.IdentityId !== undefined) { const labelValue: string = input.IdentityId; if (labelValue.length <= 0) { @@ -452,6 +443,15 @@ export const serializeAws_restJson1ListRecordsCommand = async ( } else { throw new Error("No value provided for input HTTP label: IdentityId."); } + if (input.IdentityPoolId !== undefined) { + const labelValue: string = input.IdentityPoolId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: IdentityPoolId."); + } + resolvedPath = resolvedPath.replace("{IdentityPoolId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: IdentityPoolId."); + } if (input.DatasetName !== undefined) { const labelValue: string = input.DatasetName; if (labelValue.length <= 0) { @@ -462,9 +462,9 @@ export const serializeAws_restJson1ListRecordsCommand = async ( throw new Error("No value provided for input HTTP label: DatasetName."); } const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.LastSyncCount !== undefined && { lastSyncCount: input.LastSyncCount.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.SyncSessionToken !== undefined && { syncSessionToken: input.SyncSessionToken }), }; let body: any; diff --git a/clients/client-comprehend/Comprehend.ts b/clients/client-comprehend/Comprehend.ts index 607e99c3e930..65448b9f9023 100644 --- a/clients/client-comprehend/Comprehend.ts +++ b/clients/client-comprehend/Comprehend.ts @@ -94,6 +94,11 @@ import { DescribeKeyPhrasesDetectionJobCommandInput, DescribeKeyPhrasesDetectionJobCommandOutput, } from "./commands/DescribeKeyPhrasesDetectionJobCommand"; +import { + DescribePiiEntitiesDetectionJobCommand, + DescribePiiEntitiesDetectionJobCommandInput, + DescribePiiEntitiesDetectionJobCommandOutput, +} from "./commands/DescribePiiEntitiesDetectionJobCommand"; import { DescribeSentimentDetectionJobCommand, DescribeSentimentDetectionJobCommandInput, @@ -119,6 +124,11 @@ import { DetectKeyPhrasesCommandInput, DetectKeyPhrasesCommandOutput, } from "./commands/DetectKeyPhrasesCommand"; +import { + DetectPiiEntitiesCommand, + DetectPiiEntitiesCommandInput, + DetectPiiEntitiesCommandOutput, +} from "./commands/DetectPiiEntitiesCommand"; import { DetectSentimentCommand, DetectSentimentCommandInput, @@ -164,6 +174,11 @@ import { ListKeyPhrasesDetectionJobsCommandInput, ListKeyPhrasesDetectionJobsCommandOutput, } from "./commands/ListKeyPhrasesDetectionJobsCommand"; +import { + ListPiiEntitiesDetectionJobsCommand, + ListPiiEntitiesDetectionJobsCommandInput, + ListPiiEntitiesDetectionJobsCommandOutput, +} from "./commands/ListPiiEntitiesDetectionJobsCommand"; import { ListSentimentDetectionJobsCommand, ListSentimentDetectionJobsCommandInput, @@ -199,6 +214,11 @@ import { StartKeyPhrasesDetectionJobCommandInput, StartKeyPhrasesDetectionJobCommandOutput, } from "./commands/StartKeyPhrasesDetectionJobCommand"; +import { + StartPiiEntitiesDetectionJobCommand, + StartPiiEntitiesDetectionJobCommandInput, + StartPiiEntitiesDetectionJobCommandOutput, +} from "./commands/StartPiiEntitiesDetectionJobCommand"; import { StartSentimentDetectionJobCommand, StartSentimentDetectionJobCommandInput, @@ -224,6 +244,11 @@ import { StopKeyPhrasesDetectionJobCommandInput, StopKeyPhrasesDetectionJobCommandOutput, } from "./commands/StopKeyPhrasesDetectionJobCommand"; +import { + StopPiiEntitiesDetectionJobCommand, + StopPiiEntitiesDetectionJobCommandInput, + StopPiiEntitiesDetectionJobCommandOutput, +} from "./commands/StopPiiEntitiesDetectionJobCommand"; import { StopSentimentDetectionJobCommand, StopSentimentDetectionJobCommandInput, @@ -253,14 +278,16 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

                  Amazon Comprehend is an AWS service for gaining insight into the content of documents. Use these - * actions to determine the topics contained in your documents, the topics they discuss, the - * predominant sentiment expressed in them, the predominant language used, and more.

                  + *

                  Amazon Comprehend is an AWS service for gaining insight into the content of documents. + * Use these actions to determine the topics contained in your documents, the topics they + * discuss, the predominant sentiment expressed in them, the predominant language used, and + * more.

                  */ export class Comprehend extends ComprehendClient { /** *

                  Determines the dominant language of the input text for a batch of documents. For a list - * of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

                  + * of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages. + *

                  */ public batchDetectDominantLanguage( args: BatchDetectDominantLanguageCommandInput, @@ -425,7 +452,8 @@ export class Comprehend extends ComprehendClient { } /** - *

                  Creates a new document classification request to analyze a single document in real-time, using a previously created and trained custom model and an endpoint.

                  + *

                  Creates a new document classification request to analyze a single document in real-time, + * using a previously created and trained custom model and an endpoint.

                  */ public classifyDocument( args: ClassifyDocumentCommandInput, @@ -492,7 +520,9 @@ export class Comprehend extends ComprehendClient { } /** - *

                  Creates a model-specific endpoint for synchronous inference for a previously trained custom model

                  + *

                  Creates a model-specific endpoint for synchronous inference for a previously trained + * custom model + *

                  */ public createEndpoint( args: CreateEndpointCommandInput, @@ -524,8 +554,9 @@ export class Comprehend extends ComprehendClient { } /** - *

                  Creates an entity recognizer using submitted files. After your CreateEntityRecognizer request is - * submitted, you can check job status using the API.

                  + *

                  Creates an entity recognizer using submitted files. After your + * CreateEntityRecognizer request is submitted, you can check job status using the + * API.

                  */ public createEntityRecognizer( args: CreateEntityRecognizerCommandInput, @@ -558,11 +589,12 @@ export class Comprehend extends ComprehendClient { /** *

                  Deletes a previously created document classifier

                  - *

                  Only those classifiers that are in terminated states (IN_ERROR, TRAINED) will be - * deleted. If an active inference job is using the model, a ResourceInUseException will be + *

                  Only those classifiers that are in terminated states (IN_ERROR, TRAINED) will be deleted. + * If an active inference job is using the model, a ResourceInUseException will be * returned.

                  - *

                  This is an asynchronous action that puts the classifier into a DELETING state, and it is then removed by - * a background job. Once removed, the classifier disappears from your account and is no longer available for use.

                  + *

                  This is an asynchronous action that puts the classifier into a DELETING state, and it is + * then removed by a background job. Once removed, the classifier disappears from your account + * and is no longer available for use.

                  */ public deleteDocumentClassifier( args: DeleteDocumentClassifierCommandInput, @@ -594,7 +626,8 @@ export class Comprehend extends ComprehendClient { } /** - *

                  Deletes a model-specific endpoint for a previously-trained custom model. All endpoints must be deleted in order for the model to be deleted.

                  + *

                  Deletes a model-specific endpoint for a previously-trained custom model. All endpoints + * must be deleted in order for the model to be deleted.

                  */ public deleteEndpoint( args: DeleteEndpointCommandInput, @@ -627,11 +660,12 @@ export class Comprehend extends ComprehendClient { /** *

                  Deletes an entity recognizer.

                  - *

                  Only those recognizers that are in terminated states (IN_ERROR, TRAINED) will be - * deleted. If an active inference job is using the model, a ResourceInUseException will be - * returned.

                  - *

                  This is an asynchronous action that puts the recognizer into a DELETING state, and it is then removed by - * a background job. Once removed, the recognizer disappears from your account and is no longer available for use.

                  + *

                  Only those recognizers that are in terminated states (IN_ERROR, TRAINED) will be deleted. + * If an active inference job is using the model, a ResourceInUseException will be + * returned.

                  + *

                  This is an asynchronous action that puts the recognizer into a DELETING state, and it is + * then removed by a background job. Once removed, the recognizer disappears from your account + * and is no longer available for use.

                  */ public deleteEntityRecognizer( args: DeleteEntityRecognizerCommandInput, @@ -761,7 +795,8 @@ export class Comprehend extends ComprehendClient { } /** - *

                  Gets the properties associated with a specific endpoint. Use this operation to get the status of an endpoint.

                  + *

                  Gets the properties associated with a specific endpoint. Use this operation to get the + * status of an endpoint.

                  */ public describeEndpoint( args: DescribeEndpointCommandInput, @@ -891,6 +926,39 @@ export class Comprehend extends ComprehendClient { } } + /** + *

                  Gets the properties associated with a PII entities detection job. For example, you can use + * this operation to get the job status.

                  + */ + public describePiiEntitiesDetectionJob( + args: DescribePiiEntitiesDetectionJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describePiiEntitiesDetectionJob( + args: DescribePiiEntitiesDetectionJobCommandInput, + cb: (err: any, data?: DescribePiiEntitiesDetectionJobCommandOutput) => void + ): void; + public describePiiEntitiesDetectionJob( + args: DescribePiiEntitiesDetectionJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribePiiEntitiesDetectionJobCommandOutput) => void + ): void; + public describePiiEntitiesDetectionJob( + args: DescribePiiEntitiesDetectionJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribePiiEntitiesDetectionJobCommandOutput) => void), + cb?: (err: any, data?: DescribePiiEntitiesDetectionJobCommandOutput) => void + ): Promise | void { + const command = new DescribePiiEntitiesDetectionJobCommand(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 properties associated with a sentiment detection job. Use this operation to get * the status of a detection job.

                  @@ -958,8 +1026,8 @@ export class Comprehend extends ComprehendClient { } /** - *

                  Determines the dominant language of the input text. For a list of languages that Amazon Comprehend - * can detect, see Amazon Comprehend Supported Languages.

                  + *

                  Determines the dominant language of the input text. For a list of languages that Amazon + * Comprehend can detect, see Amazon Comprehend Supported Languages.

                  */ public detectDominantLanguage( args: DetectDominantLanguageCommandInput, @@ -1055,6 +1123,39 @@ export class Comprehend extends ComprehendClient { } } + /** + *

                  Inspects the input text for entities that contain personally identifiable information + * (PII) and returns information about them.

                  + */ + public detectPiiEntities( + args: DetectPiiEntitiesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public detectPiiEntities( + args: DetectPiiEntitiesCommandInput, + cb: (err: any, data?: DetectPiiEntitiesCommandOutput) => void + ): void; + public detectPiiEntities( + args: DetectPiiEntitiesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DetectPiiEntitiesCommandOutput) => void + ): void; + public detectPiiEntities( + args: DetectPiiEntitiesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DetectPiiEntitiesCommandOutput) => void), + cb?: (err: any, data?: DetectPiiEntitiesCommandOutput) => void + ): Promise | void { + const command = new DetectPiiEntitiesCommand(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); + } + } + /** *

                  Inspects text and returns an inference of the prevailing sentiment * (POSITIVE, NEUTRAL, MIXED, or NEGATIVE).

                  @@ -1279,11 +1380,10 @@ export class Comprehend extends ComprehendClient { } /** - *

                  Gets a list of the properties of all entity recognizers that you created, including recognizers currently - * in training. Allows - * you to filter the list of recognizers based on criteria such as status and submission time. This - * call returns up to 500 entity recognizers in the list, with a default number of 100 - * recognizers in the list.

                  + *

                  Gets a list of the properties of all entity recognizers that you created, including + * recognizers currently in training. Allows you to filter the list of recognizers based on + * criteria such as status and submission time. This call returns up to 500 entity recognizers in + * the list, with a default number of 100 recognizers in the list.

                  *

                  The results of this list are not in any particular order. Please get the list and sort * locally if needed.

                  */ @@ -1348,6 +1448,38 @@ export class Comprehend extends ComprehendClient { } } + /** + *

                  Gets a list of the PII entity detection jobs that you have submitted.

                  + */ + public listPiiEntitiesDetectionJobs( + args: ListPiiEntitiesDetectionJobsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listPiiEntitiesDetectionJobs( + args: ListPiiEntitiesDetectionJobsCommandInput, + cb: (err: any, data?: ListPiiEntitiesDetectionJobsCommandOutput) => void + ): void; + public listPiiEntitiesDetectionJobs( + args: ListPiiEntitiesDetectionJobsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPiiEntitiesDetectionJobsCommandOutput) => void + ): void; + public listPiiEntitiesDetectionJobs( + args: ListPiiEntitiesDetectionJobsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListPiiEntitiesDetectionJobsCommandOutput) => void), + cb?: (err: any, data?: ListPiiEntitiesDetectionJobsCommandOutput) => void + ): Promise | void { + const command = new ListPiiEntitiesDetectionJobsCommand(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 a list of sentiment detection jobs that you have submitted.

                  */ @@ -1381,7 +1513,7 @@ export class Comprehend extends ComprehendClient { } /** - *

                  Lists all tags associated with a given Amazon Comprehend resource.

                  + *

                  Lists all tags associated with a given Amazon Comprehend resource.

                  */ public listTagsForResource( args: ListTagsForResourceCommandInput, @@ -1513,9 +1645,10 @@ export class Comprehend extends ComprehendClient { /** *

                  Starts an asynchronous entity detection job for a collection of documents. Use the operation to track the status of a job.

                  - *

                  This API can be used for either standard entity detection or custom entity recognition. In order - * to be used for custom entity recognition, the optional EntityRecognizerArn must be used - * in order to provide access to the recognizer being used to detect the custom entity.

                  + *

                  This API can be used for either standard entity detection or custom entity recognition. In + * order to be used for custom entity recognition, the optional EntityRecognizerArn + * must be used in order to provide access to the recognizer being used to detect the custom + * entity.

                  */ public startEntitiesDetectionJob( args: StartEntitiesDetectionJobCommandInput, @@ -1580,6 +1713,38 @@ export class Comprehend extends ComprehendClient { } } + /** + *

                  Starts an asynchronous PII entity detection job for a collection of documents.

                  + */ + public startPiiEntitiesDetectionJob( + args: StartPiiEntitiesDetectionJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startPiiEntitiesDetectionJob( + args: StartPiiEntitiesDetectionJobCommandInput, + cb: (err: any, data?: StartPiiEntitiesDetectionJobCommandOutput) => void + ): void; + public startPiiEntitiesDetectionJob( + args: StartPiiEntitiesDetectionJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartPiiEntitiesDetectionJobCommandOutput) => void + ): void; + public startPiiEntitiesDetectionJob( + args: StartPiiEntitiesDetectionJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartPiiEntitiesDetectionJobCommandOutput) => void), + cb?: (err: any, data?: StartPiiEntitiesDetectionJobCommandOutput) => void + ): Promise | void { + const command = new StartPiiEntitiesDetectionJobCommand(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); + } + } + /** *

                  Starts an asynchronous sentiment detection job for a collection of documents. use the * operation to track the status of a @@ -1770,6 +1935,38 @@ export class Comprehend extends ComprehendClient { } } + /** + *

                  Stops a PII entities detection job in progress.

                  + */ + public stopPiiEntitiesDetectionJob( + args: StopPiiEntitiesDetectionJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public stopPiiEntitiesDetectionJob( + args: StopPiiEntitiesDetectionJobCommandInput, + cb: (err: any, data?: StopPiiEntitiesDetectionJobCommandOutput) => void + ): void; + public stopPiiEntitiesDetectionJob( + args: StopPiiEntitiesDetectionJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StopPiiEntitiesDetectionJobCommandOutput) => void + ): void; + public stopPiiEntitiesDetectionJob( + args: StopPiiEntitiesDetectionJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StopPiiEntitiesDetectionJobCommandOutput) => void), + cb?: (err: any, data?: StopPiiEntitiesDetectionJobCommandOutput) => void + ): Promise | void { + const command = new StopPiiEntitiesDetectionJobCommand(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); + } + } + /** *

                  Stops a sentiment detection job in progress.

                  *

                  If the job state is IN_PROGRESS the job is marked for termination and put @@ -1813,11 +2010,11 @@ export class Comprehend extends ComprehendClient { /** *

                  Stops a document classifier training job while in progress.

                  - *

                  If the training job state is TRAINING, the job is marked for termination - * and put into the STOP_REQUESTED state. If the training job completes before it can be + *

                  If the training job state is TRAINING, the job is marked for termination and + * put into the STOP_REQUESTED state. If the training job completes before it can be * stopped, it is put into the TRAINED; otherwise the training job is stopped and - * put into the STOPPED state and the service sends back an HTTP 200 response - * with an empty HTTP body.

                  + * put into the STOPPED state and the service sends back an HTTP 200 response with + * an empty HTTP body.

                  */ public stopTrainingDocumentClassifier( args: StopTrainingDocumentClassifierCommandInput, @@ -1850,9 +2047,11 @@ export class Comprehend extends ComprehendClient { /** *

                  Stops an entity recognizer training job while in progress.

                  - *

                  If the training job state is TRAINING, the job is marked for termination and put into - * the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the - * training job is stopped and putted into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body.

                  + *

                  If the training job state is TRAINING, the job is marked for termination and + * put into the STOP_REQUESTED state. If the training job completes before it can be + * stopped, it is put into the TRAINED; otherwise the training job is stopped and + * putted into the STOPPED state and the service sends back an HTTP 200 response + * with an empty HTTP body.

                  */ public stopTrainingEntityRecognizer( args: StopTrainingEntityRecognizerCommandInput, @@ -1884,9 +2083,10 @@ export class Comprehend extends ComprehendClient { } /** - *

                  Associates a specific tag with an Amazon Comprehend resource. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. - * For example, - * a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department.

                  + *

                  Associates a specific tag with an Amazon Comprehend resource. A tag is a key-value pair + * that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with + * "Sales" as the key might be added to a resource to indicate its use by the sales department. + *

                  */ public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; diff --git a/clients/client-comprehend/ComprehendClient.ts b/clients/client-comprehend/ComprehendClient.ts index a64d278d85e3..37b375997e34 100644 --- a/clients/client-comprehend/ComprehendClient.ts +++ b/clients/client-comprehend/ComprehendClient.ts @@ -59,6 +59,10 @@ import { DescribeKeyPhrasesDetectionJobCommandInput, DescribeKeyPhrasesDetectionJobCommandOutput, } from "./commands/DescribeKeyPhrasesDetectionJobCommand"; +import { + DescribePiiEntitiesDetectionJobCommandInput, + DescribePiiEntitiesDetectionJobCommandOutput, +} from "./commands/DescribePiiEntitiesDetectionJobCommand"; import { DescribeSentimentDetectionJobCommandInput, DescribeSentimentDetectionJobCommandOutput, @@ -73,6 +77,7 @@ import { } from "./commands/DetectDominantLanguageCommand"; import { DetectEntitiesCommandInput, DetectEntitiesCommandOutput } from "./commands/DetectEntitiesCommand"; import { DetectKeyPhrasesCommandInput, DetectKeyPhrasesCommandOutput } from "./commands/DetectKeyPhrasesCommand"; +import { DetectPiiEntitiesCommandInput, DetectPiiEntitiesCommandOutput } from "./commands/DetectPiiEntitiesCommand"; import { DetectSentimentCommandInput, DetectSentimentCommandOutput } from "./commands/DetectSentimentCommand"; import { DetectSyntaxCommandInput, DetectSyntaxCommandOutput } from "./commands/DetectSyntaxCommand"; import { @@ -100,6 +105,10 @@ import { ListKeyPhrasesDetectionJobsCommandInput, ListKeyPhrasesDetectionJobsCommandOutput, } from "./commands/ListKeyPhrasesDetectionJobsCommand"; +import { + ListPiiEntitiesDetectionJobsCommandInput, + ListPiiEntitiesDetectionJobsCommandOutput, +} from "./commands/ListPiiEntitiesDetectionJobsCommand"; import { ListSentimentDetectionJobsCommandInput, ListSentimentDetectionJobsCommandOutput, @@ -128,6 +137,10 @@ import { StartKeyPhrasesDetectionJobCommandInput, StartKeyPhrasesDetectionJobCommandOutput, } from "./commands/StartKeyPhrasesDetectionJobCommand"; +import { + StartPiiEntitiesDetectionJobCommandInput, + StartPiiEntitiesDetectionJobCommandOutput, +} from "./commands/StartPiiEntitiesDetectionJobCommand"; import { StartSentimentDetectionJobCommandInput, StartSentimentDetectionJobCommandOutput, @@ -148,6 +161,10 @@ import { StopKeyPhrasesDetectionJobCommandInput, StopKeyPhrasesDetectionJobCommandOutput, } from "./commands/StopKeyPhrasesDetectionJobCommand"; +import { + StopPiiEntitiesDetectionJobCommandInput, + StopPiiEntitiesDetectionJobCommandOutput, +} from "./commands/StopPiiEntitiesDetectionJobCommand"; import { StopSentimentDetectionJobCommandInput, StopSentimentDetectionJobCommandOutput, @@ -232,11 +249,13 @@ export type ServiceInputTypes = | DescribeEntitiesDetectionJobCommandInput | DescribeEntityRecognizerCommandInput | DescribeKeyPhrasesDetectionJobCommandInput + | DescribePiiEntitiesDetectionJobCommandInput | DescribeSentimentDetectionJobCommandInput | DescribeTopicsDetectionJobCommandInput | DetectDominantLanguageCommandInput | DetectEntitiesCommandInput | DetectKeyPhrasesCommandInput + | DetectPiiEntitiesCommandInput | DetectSentimentCommandInput | DetectSyntaxCommandInput | ListDocumentClassificationJobsCommandInput @@ -246,6 +265,7 @@ export type ServiceInputTypes = | ListEntitiesDetectionJobsCommandInput | ListEntityRecognizersCommandInput | ListKeyPhrasesDetectionJobsCommandInput + | ListPiiEntitiesDetectionJobsCommandInput | ListSentimentDetectionJobsCommandInput | ListTagsForResourceCommandInput | ListTopicsDetectionJobsCommandInput @@ -253,11 +273,13 @@ export type ServiceInputTypes = | StartDominantLanguageDetectionJobCommandInput | StartEntitiesDetectionJobCommandInput | StartKeyPhrasesDetectionJobCommandInput + | StartPiiEntitiesDetectionJobCommandInput | StartSentimentDetectionJobCommandInput | StartTopicsDetectionJobCommandInput | StopDominantLanguageDetectionJobCommandInput | StopEntitiesDetectionJobCommandInput | StopKeyPhrasesDetectionJobCommandInput + | StopPiiEntitiesDetectionJobCommandInput | StopSentimentDetectionJobCommandInput | StopTrainingDocumentClassifierCommandInput | StopTrainingEntityRecognizerCommandInput @@ -285,11 +307,13 @@ export type ServiceOutputTypes = | DescribeEntitiesDetectionJobCommandOutput | DescribeEntityRecognizerCommandOutput | DescribeKeyPhrasesDetectionJobCommandOutput + | DescribePiiEntitiesDetectionJobCommandOutput | DescribeSentimentDetectionJobCommandOutput | DescribeTopicsDetectionJobCommandOutput | DetectDominantLanguageCommandOutput | DetectEntitiesCommandOutput | DetectKeyPhrasesCommandOutput + | DetectPiiEntitiesCommandOutput | DetectSentimentCommandOutput | DetectSyntaxCommandOutput | ListDocumentClassificationJobsCommandOutput @@ -299,6 +323,7 @@ export type ServiceOutputTypes = | ListEntitiesDetectionJobsCommandOutput | ListEntityRecognizersCommandOutput | ListKeyPhrasesDetectionJobsCommandOutput + | ListPiiEntitiesDetectionJobsCommandOutput | ListSentimentDetectionJobsCommandOutput | ListTagsForResourceCommandOutput | ListTopicsDetectionJobsCommandOutput @@ -306,11 +331,13 @@ export type ServiceOutputTypes = | StartDominantLanguageDetectionJobCommandOutput | StartEntitiesDetectionJobCommandOutput | StartKeyPhrasesDetectionJobCommandOutput + | StartPiiEntitiesDetectionJobCommandOutput | StartSentimentDetectionJobCommandOutput | StartTopicsDetectionJobCommandOutput | StopDominantLanguageDetectionJobCommandOutput | StopEntitiesDetectionJobCommandOutput | StopKeyPhrasesDetectionJobCommandOutput + | StopPiiEntitiesDetectionJobCommandOutput | StopSentimentDetectionJobCommandOutput | StopTrainingDocumentClassifierCommandOutput | StopTrainingEntityRecognizerCommandOutput @@ -431,9 +458,10 @@ export type ComprehendClientResolvedConfig = __SmithyResolvedConfiguration<__Htt HostHeaderResolvedConfig; /** - *

                  Amazon Comprehend is an AWS service for gaining insight into the content of documents. Use these - * actions to determine the topics contained in your documents, the topics they discuss, the - * predominant sentiment expressed in them, the predominant language used, and more.

                  + *

                  Amazon Comprehend is an AWS service for gaining insight into the content of documents. + * Use these actions to determine the topics contained in your documents, the topics they + * discuss, the predominant sentiment expressed in them, the predominant language used, and + * more.

                  */ export class ComprehendClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-comprehend/commands/DescribePiiEntitiesDetectionJobCommand.ts b/clients/client-comprehend/commands/DescribePiiEntitiesDetectionJobCommand.ts new file mode 100644 index 000000000000..72c921213650 --- /dev/null +++ b/clients/client-comprehend/commands/DescribePiiEntitiesDetectionJobCommand.ts @@ -0,0 +1,76 @@ +import { ComprehendClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ComprehendClient"; +import { DescribePiiEntitiesDetectionJobRequest, DescribePiiEntitiesDetectionJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribePiiEntitiesDetectionJobCommand, + serializeAws_json1_1DescribePiiEntitiesDetectionJobCommand, +} 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 DescribePiiEntitiesDetectionJobCommandInput = DescribePiiEntitiesDetectionJobRequest; +export type DescribePiiEntitiesDetectionJobCommandOutput = DescribePiiEntitiesDetectionJobResponse & __MetadataBearer; + +export class DescribePiiEntitiesDetectionJobCommand extends $Command< + DescribePiiEntitiesDetectionJobCommandInput, + DescribePiiEntitiesDetectionJobCommandOutput, + ComprehendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribePiiEntitiesDetectionJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ComprehendClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribePiiEntitiesDetectionJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribePiiEntitiesDetectionJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribePiiEntitiesDetectionJobCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribePiiEntitiesDetectionJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribePiiEntitiesDetectionJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-comprehend/commands/DetectPiiEntitiesCommand.ts b/clients/client-comprehend/commands/DetectPiiEntitiesCommand.ts new file mode 100644 index 000000000000..75d6e6653145 --- /dev/null +++ b/clients/client-comprehend/commands/DetectPiiEntitiesCommand.ts @@ -0,0 +1,70 @@ +import { ComprehendClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ComprehendClient"; +import { DetectPiiEntitiesRequest, DetectPiiEntitiesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DetectPiiEntitiesCommand, + serializeAws_json1_1DetectPiiEntitiesCommand, +} 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 DetectPiiEntitiesCommandInput = DetectPiiEntitiesRequest; +export type DetectPiiEntitiesCommandOutput = DetectPiiEntitiesResponse & __MetadataBearer; + +export class DetectPiiEntitiesCommand extends $Command< + DetectPiiEntitiesCommandInput, + DetectPiiEntitiesCommandOutput, + ComprehendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DetectPiiEntitiesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ComprehendClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DetectPiiEntitiesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DetectPiiEntitiesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DetectPiiEntitiesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DetectPiiEntitiesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DetectPiiEntitiesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-comprehend/commands/ListPiiEntitiesDetectionJobsCommand.ts b/clients/client-comprehend/commands/ListPiiEntitiesDetectionJobsCommand.ts new file mode 100644 index 000000000000..735091e67467 --- /dev/null +++ b/clients/client-comprehend/commands/ListPiiEntitiesDetectionJobsCommand.ts @@ -0,0 +1,73 @@ +import { ComprehendClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ComprehendClient"; +import { ListPiiEntitiesDetectionJobsRequest, ListPiiEntitiesDetectionJobsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListPiiEntitiesDetectionJobsCommand, + serializeAws_json1_1ListPiiEntitiesDetectionJobsCommand, +} 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 ListPiiEntitiesDetectionJobsCommandInput = ListPiiEntitiesDetectionJobsRequest; +export type ListPiiEntitiesDetectionJobsCommandOutput = ListPiiEntitiesDetectionJobsResponse & __MetadataBearer; + +export class ListPiiEntitiesDetectionJobsCommand extends $Command< + ListPiiEntitiesDetectionJobsCommandInput, + ListPiiEntitiesDetectionJobsCommandOutput, + ComprehendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListPiiEntitiesDetectionJobsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ComprehendClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListPiiEntitiesDetectionJobsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListPiiEntitiesDetectionJobsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListPiiEntitiesDetectionJobsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListPiiEntitiesDetectionJobsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListPiiEntitiesDetectionJobsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-comprehend/commands/StartPiiEntitiesDetectionJobCommand.ts b/clients/client-comprehend/commands/StartPiiEntitiesDetectionJobCommand.ts new file mode 100644 index 000000000000..e1f9c9b81fe7 --- /dev/null +++ b/clients/client-comprehend/commands/StartPiiEntitiesDetectionJobCommand.ts @@ -0,0 +1,73 @@ +import { ComprehendClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ComprehendClient"; +import { StartPiiEntitiesDetectionJobRequest, StartPiiEntitiesDetectionJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1StartPiiEntitiesDetectionJobCommand, + serializeAws_json1_1StartPiiEntitiesDetectionJobCommand, +} 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 StartPiiEntitiesDetectionJobCommandInput = StartPiiEntitiesDetectionJobRequest; +export type StartPiiEntitiesDetectionJobCommandOutput = StartPiiEntitiesDetectionJobResponse & __MetadataBearer; + +export class StartPiiEntitiesDetectionJobCommand extends $Command< + StartPiiEntitiesDetectionJobCommandInput, + StartPiiEntitiesDetectionJobCommandOutput, + ComprehendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartPiiEntitiesDetectionJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ComprehendClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: StartPiiEntitiesDetectionJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartPiiEntitiesDetectionJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartPiiEntitiesDetectionJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1StartPiiEntitiesDetectionJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1StartPiiEntitiesDetectionJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-comprehend/commands/StopPiiEntitiesDetectionJobCommand.ts b/clients/client-comprehend/commands/StopPiiEntitiesDetectionJobCommand.ts new file mode 100644 index 000000000000..76cad3fce724 --- /dev/null +++ b/clients/client-comprehend/commands/StopPiiEntitiesDetectionJobCommand.ts @@ -0,0 +1,73 @@ +import { ComprehendClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ComprehendClient"; +import { StopPiiEntitiesDetectionJobRequest, StopPiiEntitiesDetectionJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1StopPiiEntitiesDetectionJobCommand, + serializeAws_json1_1StopPiiEntitiesDetectionJobCommand, +} 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 StopPiiEntitiesDetectionJobCommandInput = StopPiiEntitiesDetectionJobRequest; +export type StopPiiEntitiesDetectionJobCommandOutput = StopPiiEntitiesDetectionJobResponse & __MetadataBearer; + +export class StopPiiEntitiesDetectionJobCommand extends $Command< + StopPiiEntitiesDetectionJobCommandInput, + StopPiiEntitiesDetectionJobCommandOutput, + ComprehendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StopPiiEntitiesDetectionJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ComprehendClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: StopPiiEntitiesDetectionJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: StopPiiEntitiesDetectionJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StopPiiEntitiesDetectionJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1StopPiiEntitiesDetectionJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1StopPiiEntitiesDetectionJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-comprehend/index.ts b/clients/client-comprehend/index.ts index 2c524e9e29be..8a6b2cee9318 100644 --- a/clients/client-comprehend/index.ts +++ b/clients/client-comprehend/index.ts @@ -19,11 +19,13 @@ export * from "./commands/DescribeEndpointCommand"; export * from "./commands/DescribeEntitiesDetectionJobCommand"; export * from "./commands/DescribeEntityRecognizerCommand"; export * from "./commands/DescribeKeyPhrasesDetectionJobCommand"; +export * from "./commands/DescribePiiEntitiesDetectionJobCommand"; export * from "./commands/DescribeSentimentDetectionJobCommand"; export * from "./commands/DescribeTopicsDetectionJobCommand"; export * from "./commands/DetectDominantLanguageCommand"; export * from "./commands/DetectEntitiesCommand"; export * from "./commands/DetectKeyPhrasesCommand"; +export * from "./commands/DetectPiiEntitiesCommand"; export * from "./commands/DetectSentimentCommand"; export * from "./commands/DetectSyntaxCommand"; export * from "./commands/ListDocumentClassificationJobsCommand"; @@ -39,6 +41,7 @@ export * from "./commands/ListEntityRecognizersCommand"; export * from "./pagination/ListEntityRecognizersPaginator"; export * from "./commands/ListKeyPhrasesDetectionJobsCommand"; export * from "./pagination/ListKeyPhrasesDetectionJobsPaginator"; +export * from "./commands/ListPiiEntitiesDetectionJobsCommand"; export * from "./commands/ListSentimentDetectionJobsCommand"; export * from "./pagination/ListSentimentDetectionJobsPaginator"; export * from "./commands/ListTagsForResourceCommand"; @@ -48,11 +51,13 @@ export * from "./commands/StartDocumentClassificationJobCommand"; export * from "./commands/StartDominantLanguageDetectionJobCommand"; export * from "./commands/StartEntitiesDetectionJobCommand"; export * from "./commands/StartKeyPhrasesDetectionJobCommand"; +export * from "./commands/StartPiiEntitiesDetectionJobCommand"; export * from "./commands/StartSentimentDetectionJobCommand"; export * from "./commands/StartTopicsDetectionJobCommand"; export * from "./commands/StopDominantLanguageDetectionJobCommand"; export * from "./commands/StopEntitiesDetectionJobCommand"; export * from "./commands/StopKeyPhrasesDetectionJobCommand"; +export * from "./commands/StopPiiEntitiesDetectionJobCommand"; export * from "./commands/StopSentimentDetectionJobCommand"; export * from "./commands/StopTrainingDocumentClassifierCommand"; export * from "./commands/StopTrainingEntityRecognizerCommand"; diff --git a/clients/client-comprehend/models/models_0.ts b/clients/client-comprehend/models/models_0.ts index 800a94ba1279..d5c0a166423f 100644 --- a/clients/client-comprehend/models/models_0.ts +++ b/clients/client-comprehend/models/models_0.ts @@ -1,6 +1,35 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +/** + *

                  An augmented manifest file that provides training data for your custom model. An augmented + * manifest file is a labeled dataset that is produced by Amazon SageMaker Ground Truth.

                  + */ +export interface AugmentedManifestsListItem { + /** + *

                  The JSON attribute that contains the annotations for your training documents. The number + * of attribute names that you specify depends on whether your augmented manifest file is the + * output of a single labeling job or a chained labeling job.

                  + *

                  If your file is the output of a single labeling job, specify the LabelAttributeName key + * that was used when the job was created in Ground Truth.

                  + *

                  If your file is the output of a chained labeling job, specify the LabelAttributeName key + * for one or more jobs in the chain. Each LabelAttributeName key provides the annotations from + * an individual job.

                  + */ + AttributeNames: string[] | undefined; + + /** + *

                  The Amazon S3 location of the augmented manifest file.

                  + */ + S3Uri: string | undefined; +} + +export namespace AugmentedManifestsListItem { + export const filterSensitiveLog = (obj: AugmentedManifestsListItem): any => ({ + ...obj, + }); +} + export interface BatchDetectDominantLanguageRequest { /** *

                  A list containing the text of the input documents. The list can contain a maximum of 25 @@ -24,9 +53,9 @@ export namespace BatchDetectDominantLanguageRequest { */ export interface BatchItemError { /** - *

                  The zero-based index of the document in the input list.

                  + *

                  The numeric error code of the error.

                  */ - Index?: number; + ErrorCode?: string; /** *

                  A text description of the error.

                  @@ -34,9 +63,9 @@ export interface BatchItemError { ErrorMessage?: string; /** - *

                  The numeric error code of the error.

                  + *

                  The zero-based index of the document in the input list.

                  */ - ErrorCode?: string; + Index?: number; } export namespace BatchItemError { @@ -51,7 +80,8 @@ export namespace BatchItemError { */ export interface DominantLanguage { /** - *

                  The level of confidence that Amazon Comprehend has in the accuracy of the detection.

                  + *

                  The level of confidence that Amazon Comprehend has in the accuracy of the + * detection.

                  */ Score?: number; @@ -149,8 +179,7 @@ export namespace InternalServerException { } /** - *

                  The request - * is invalid.

                  + *

                  The request is invalid.

                  */ export interface InvalidRequestException extends __SmithyException, $MetadataBearer { name: "InvalidRequestException"; @@ -196,9 +225,8 @@ export enum LanguageCode { export interface BatchDetectEntitiesRequest { /** - *

                  The language of the input documents. You can specify any of the primary languages supported by Amazon - * Comprehend. - * All documents must be in the same language.

                  + *

                  The language of the input documents. You can specify any of the primary languages + * supported by Amazon Comprehend. All documents must be in the same language.

                  */ LanguageCode: LanguageCode | string | undefined; @@ -235,20 +263,29 @@ export enum EntityType { */ export interface Entity { /** - *

                  The text of the entity.

                  + *

                  A character offset in the input text that shows where the entity ends. The offset + * returns the position of each UTF-8 code point in the string. A code point + * is the abstract character from a particular graphical representation. For example, a + * multi-byte UTF-8 character maps to a single code point.

                  */ - Text?: string; + EndOffset?: number; /** - *

                  The level of confidence that Amazon Comprehend has in the accuracy of the detection.

                  + *

                  The text of the entity.

                  */ - Score?: number; + Text?: string; /** *

                  The entity's type.

                  */ Type?: EntityType | string; + /** + *

                  The level of confidence that Amazon Comprehend has in the accuracy of the + * detection.

                  + */ + Score?: number; + /** *

                  A character offset in the input text that shows where the entity begins (the first * character is at position 0). The offset returns the position of each UTF-8 code point in the @@ -257,14 +294,6 @@ export interface Entity { * point.

                  */ BeginOffset?: number; - - /** - *

                  A character offset in the input text that shows where the entity ends. The offset - * returns the position of each UTF-8 code point in the string. A code point - * is the abstract character from a particular graphical representation. For example, a - * multi-byte UTF-8 character maps to a single code point.

                  - */ - EndOffset?: number; } export namespace Entity { @@ -280,15 +309,15 @@ export namespace Entity { */ export interface BatchDetectEntitiesItemResult { /** - *

                  One or more Entity objects, one for each entity detected in the - * document.

                  + *

                  The zero-based index of the document in the input list.

                  */ - Entities?: Entity[]; + Index?: number; /** - *

                  The zero-based index of the document in the input list.

                  + *

                  One or more Entity objects, one for each entity detected in the + * document.

                  */ - Index?: number; + Entities?: Entity[]; } export namespace BatchDetectEntitiesItemResult { @@ -298,14 +327,6 @@ export namespace BatchDetectEntitiesItemResult { } export interface BatchDetectEntitiesResponse { - /** - *

                  A list containing one object for each document - * that contained an error. The results are sorted in ascending order by the Index - * field and match the order of the documents in the input list. If there are no errors in the - * batch, the ErrorList is empty.

                  - */ - ErrorList: BatchItemError[] | undefined; - /** *

                  A list of objects containing the * results of the operation. The results are sorted in ascending order by the Index @@ -313,6 +334,14 @@ export interface BatchDetectEntitiesResponse { * an error, the ResultList is empty.

                  */ ResultList: BatchDetectEntitiesItemResult[] | undefined; + + /** + *

                  A list containing one object for each document + * that contained an error. The results are sorted in ascending order by the Index + * field and match the order of the documents in the input list. If there are no errors in the + * batch, the ErrorList is empty.

                  + */ + ErrorList: BatchItemError[] | undefined; } export namespace BatchDetectEntitiesResponse { @@ -322,9 +351,11 @@ export namespace BatchDetectEntitiesResponse { } /** - *

                  Amazon Comprehend can't process the language of the input text. For all custom entity recognition - * APIs (such as CreateEntityRecognizer), only English is accepted. For most other APIs, such as those for Custom Classification, Amazon Comprehend accepts text in - * all supported languages. For a list of supported languages, see supported-languages.

                  + *

                  Amazon Comprehend can't process the language of the input text. For all custom entity + * recognition APIs (such as CreateEntityRecognizer), only English, Spanish, French, + * Italian, German, or Portuguese are accepted. For most other APIs, such as those for Custom + * Classification, Amazon Comprehend accepts text in all supported languages. For a list of + * supported languages, see supported-languages.

                  */ export interface UnsupportedLanguageException extends __SmithyException, $MetadataBearer { name: "UnsupportedLanguageException"; @@ -339,19 +370,18 @@ export namespace UnsupportedLanguageException { } export interface BatchDetectKeyPhrasesRequest { - /** - *

                  The language of the input documents. You can specify any of the primary languages supported by Amazon - * Comprehend. - * All documents must be in the same language.

                  - */ - LanguageCode: LanguageCode | string | undefined; - /** *

                  A list containing the text of the input documents. The list can contain a maximum of 25 * documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded * characters.

                  */ TextList: string[] | undefined; + + /** + *

                  The language of the input documents. You can specify any of the primary languages + * supported by Amazon Comprehend. All documents must be in the same language.

                  + */ + LanguageCode: LanguageCode | string | undefined; } export namespace BatchDetectKeyPhrasesRequest { @@ -365,11 +395,6 @@ export namespace BatchDetectKeyPhrasesRequest { *

                  Describes a key noun phrase.

                  */ export interface KeyPhrase { - /** - *

                  The text of a key noun phrase.

                  - */ - Text?: string; - /** *

                  A character offset in the input text where the key phrase ends. The offset returns the * position of each UTF-8 code point in the string. A code point is the abstract @@ -388,7 +413,13 @@ export interface KeyPhrase { BeginOffset?: number; /** - *

                  The level of confidence that Amazon Comprehend has in the accuracy of the detection.

                  + *

                  The text of a key noun phrase.

                  + */ + Text?: string; + + /** + *

                  The level of confidence that Amazon Comprehend has in the accuracy of the + * detection.

                  */ Score?: number; } @@ -406,15 +437,15 @@ export namespace KeyPhrase { */ export interface BatchDetectKeyPhrasesItemResult { /** - *

                  One or more KeyPhrase objects, one for each key phrase detected in - * the document.

                  + *

                  The zero-based index of the document in the input list.

                  */ - KeyPhrases?: KeyPhrase[]; + Index?: number; /** - *

                  The zero-based index of the document in the input list.

                  + *

                  One or more KeyPhrase objects, one for each key phrase detected in + * the document.

                  */ - Index?: number; + KeyPhrases?: KeyPhrase[]; } export namespace BatchDetectKeyPhrasesItemResult { @@ -456,9 +487,8 @@ export interface BatchDetectSentimentRequest { TextList: string[] | undefined; /** - *

                  The language of the input documents. You can specify any of the primary languages supported by Amazon - * Comprehend. - * All documents must be in the same language.

                  + *

                  The language of the input documents. You can specify any of the primary languages + * supported by Amazon Comprehend. All documents must be in the same language.

                  */ LanguageCode: LanguageCode | string | undefined; } @@ -478,31 +508,31 @@ export enum SentimentType { } /** - *

                  Describes the level of confidence that Amazon Comprehend has in the accuracy of its detection of - * sentiments.

                  + *

                  Describes the level of confidence that Amazon Comprehend has in the accuracy of its + * detection of sentiments.

                  */ export interface SentimentScore { /** - *

                  The level of confidence that Amazon Comprehend has in the accuracy of its detection of the - * NEGATIVE sentiment.

                  + *

                  The level of confidence that Amazon Comprehend has in the accuracy of its detection of + * the MIXED sentiment.

                  */ - Negative?: number; + Mixed?: number; /** - *

                  The level of confidence that Amazon Comprehend has in the accuracy of its detection of the - * POSITIVE sentiment.

                  + *

                  The level of confidence that Amazon Comprehend has in the accuracy of its detection of + * the POSITIVE sentiment.

                  */ Positive?: number; /** - *

                  The level of confidence that Amazon Comprehend has in the accuracy of its detection of the - * MIXED sentiment.

                  + *

                  The level of confidence that Amazon Comprehend has in the accuracy of its detection of + * the NEGATIVE sentiment.

                  */ - Mixed?: number; + Negative?: number; /** - *

                  The level of confidence that Amazon Comprehend has in the accuracy of its detection of the - * NEUTRAL sentiment.

                  + *

                  The level of confidence that Amazon Comprehend has in the accuracy of its detection of + * the NEUTRAL sentiment.

                  */ Neutral?: number; } @@ -524,16 +554,16 @@ export interface BatchDetectSentimentItemResult { */ Sentiment?: SentimentType | string; - /** - *

                  The zero-based index of the document in the input list.

                  - */ - Index?: number; - /** *

                  The level of confidence that Amazon Comprehend has in the accuracy of its sentiment * detection.

                  */ SentimentScore?: SentimentScore; + + /** + *

                  The zero-based index of the document in the input list.

                  + */ + Index?: number; } export namespace BatchDetectSentimentItemResult { @@ -584,9 +614,9 @@ export interface BatchDetectSyntaxRequest { TextList: string[] | undefined; /** - *

                  The language of the input documents. You can specify any of the following languages supported by Amazon - * Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All - * documents must be in the same language.

                  + *

                  The language of the input documents. You can specify any of the following languages + * supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), + * Italian ("it"), or Portuguese ("pt"). All documents must be in the same language.

                  */ LanguageCode: SyntaxLanguageCode | string | undefined; } @@ -620,20 +650,21 @@ export enum PartOfSpeechTagType { } /** - *

                  Identifies the part of speech represented by the token and gives the confidence that Amazon Comprehend - * has that the part of speech was correctly identified. For more information about the parts of - * speech that Amazon Comprehend can identify, see how-syntax.

                  + *

                  Identifies the part of speech represented by the token and gives the confidence that + * Amazon Comprehend has that the part of speech was correctly identified. For more information + * about the parts of speech that Amazon Comprehend can identify, see how-syntax.

                  */ export interface PartOfSpeechTag { /** - *

                  Identifies the part of speech that the token represents.

                  + *

                  The confidence that Amazon Comprehend has that the part of speech was correctly + * identified.

                  */ - Tag?: PartOfSpeechTagType | string; + Score?: number; /** - *

                  The confidence that Amazon Comprehend has that the part of speech was correctly identified.

                  + *

                  Identifies the part of speech that the token represents.

                  */ - Score?: number; + Tag?: PartOfSpeechTagType | string; } export namespace PartOfSpeechTag { @@ -648,9 +679,9 @@ export namespace PartOfSpeechTag { */ export interface SyntaxToken { /** - *

                  A unique identifier for a token.

                  + *

                  The word that was recognized in the source text.

                  */ - TokenId?: number; + Text?: string; /** *

                  The zero-based offset from the beginning of the source text to the first character in the @@ -659,19 +690,19 @@ export interface SyntaxToken { BeginOffset?: number; /** - *

                  The zero-based offset from the beginning of the source text to the last character in the - * word.

                  + *

                  A unique identifier for a token.

                  */ - EndOffset?: number; + TokenId?: number; /** - *

                  The word that was recognized in the source text.

                  + *

                  The zero-based offset from the beginning of the source text to the last character in the + * word.

                  */ - Text?: string; + EndOffset?: number; /** - *

                  Provides the part of speech label and the confidence level that Amazon Comprehend has that the part of - * speech was correctly identified. For more information, see how-syntax.

                  + *

                  Provides the part of speech label and the confidence level that Amazon Comprehend has that + * the part of speech was correctly identified. For more information, see how-syntax.

                  */ PartOfSpeech?: PartOfSpeechTag; } @@ -688,14 +719,14 @@ export namespace SyntaxToken { */ export interface BatchDetectSyntaxItemResult { /** - *

                  The zero-based index of the document in the input list.

                  + *

                  The syntax tokens for the words in the document, one token for each word.

                  */ - Index?: number; + SyntaxTokens?: SyntaxToken[]; /** - *

                  The syntax tokens for the words in the document, one token for each word.

                  + *

                  The zero-based index of the document in the input list.

                  */ - SyntaxTokens?: SyntaxToken[]; + Index?: number; } export namespace BatchDetectSyntaxItemResult { @@ -729,62 +760,69 @@ export namespace BatchDetectSyntaxResponse { } /** - *

                  Describes the result metrics for the test data associated with an documentation classifier.

                  + *

                  Describes the result metrics for the test data associated with an documentation + * classifier.

                  */ export interface ClassifierEvaluationMetrics { /** - *

                  The fraction of the labels that were correct recognized. It is computed by dividing - * the number of labels in the test documents that were correctly recognized by the total number of labels in the test documents.

                  + *

                  A measure of the usefulness of the recognizer results in the test data. High precision + * means that the recognizer returned substantially more relevant results than irrelevant ones. + * Unlike the Precision metric which comes from averaging the precision of all available labels, + * this is based on the overall score of all precision scores added together.

                  */ - Accuracy?: number; + MicroPrecision?: number; /** - *

                  Indicates the fraction of labels that are incorrectly predicted. Also seen as the fraction of wrong labels compared to the - * total number of labels. Scores closer to zero are better.

                  + *

                  The fraction of the labels that were correct recognized. It is computed by dividing the + * number of labels in the test documents that were correctly recognized by the total number of + * labels in the test documents.

                  */ - HammingLoss?: number; + Accuracy?: number; /** - *

                  A measure of how complete the classifier results are for the test data. High recall means that the classifier returned - * most of the relevant results. Specifically, this indicates how many of the correct categories in the text that the model - * can predict. It is a percentage of correct categories in the text that can found. Instead of averaging the recall scores - * of all labels (as with Recall), micro Recall is based on the overall score of all recall scores added together.

                  + *

                  A measure of how accurate the classifier results are for the test data. It is a + * combination of the Micro Precision and Micro Recall values. The + * Micro F1Score is the harmonic mean of the two scores. The highest score is 1, + * and the worst score is 0.

                  */ - MicroRecall?: number; + MicroF1Score?: number; /** - *

                  A measure of how accurate the classifier results are for the test data. It is a combination of the Micro Precision - * and Micro Recall values. The Micro F1Score is the harmonic mean of the two scores. The highest score is 1, - * and the worst score is 0.

                  + *

                  A measure of how complete the classifier results are for the test data. High recall means + * that the classifier returned most of the relevant results. Specifically, this indicates how + * many of the correct categories in the text that the model can predict. It is a percentage of + * correct categories in the text that can found. Instead of averaging the recall scores of all + * labels (as with Recall), micro Recall is based on the overall score of all recall scores added + * together.

                  */ - MicroF1Score?: number; + MicroRecall?: number; /** - *

                  A measure of how accurate the classifier results are for the test data. It is - * derived from the Precision and Recall values. The F1Score is - * the harmonic average of the two scores. The highest score is 1, and the worst score is 0. - *

                  + *

                  A measure of the usefulness of the classifier results in the test data. High precision + * means that the classifier returned substantially more relevant results than irrelevant + * ones.

                  */ - F1Score?: number; + Precision?: number; /** - *

                  A measure of how complete the classifier results are for the test data. High recall means - * that the classifier returned most of the relevant results.

                  + *

                  Indicates the fraction of labels that are incorrectly predicted. Also seen as the fraction + * of wrong labels compared to the total number of labels. Scores closer to zero are + * better.

                  */ - Recall?: number; + HammingLoss?: number; /** - *

                  A measure of the usefulness of the classifier results in the test data. High precision - * means that the classifier returned substantially more relevant results than irrelevant ones.

                  + *

                  A measure of how accurate the classifier results are for the test data. It is derived from + * the Precision and Recall values. The F1Score is the + * harmonic average of the two scores. The highest score is 1, and the worst score is 0.

                  */ - Precision?: number; + F1Score?: number; /** - *

                  A measure of the usefulness of the recognizer results in the test data. High precision means that the recognizer returned - * substantially more relevant results than irrelevant ones. Unlike the Precision metric which comes from averaging the precision - * of all available labels, this is based on the overall score of all precision scores added together.

                  + *

                  A measure of how complete the classifier results are for the test data. High recall means + * that the classifier returned most of the relevant results.

                  */ - MicroPrecision?: number; + Recall?: number; } export namespace ClassifierEvaluationMetrics { @@ -809,15 +847,16 @@ export interface ClassifierMetadata { NumberOfTrainedDocuments?: number; /** - *

                  The number of documents in the input data that were used to test the classifier. Typically - * this is 10 to 20 percent of the input documents, up to 10,000 documents.

                  + *

                  Describes the result metrics for the test data associated with an documentation + * classifier.

                  */ - NumberOfTestDocuments?: number; + EvaluationMetrics?: ClassifierEvaluationMetrics; /** - *

                  Describes the result metrics for the test data associated with an documentation classifier.

                  + *

                  The number of documents in the input data that were used to test the classifier. Typically + * this is 10 to 20 percent of the input documents, up to 10,000 documents.

                  */ - EvaluationMetrics?: ClassifierEvaluationMetrics; + NumberOfTestDocuments?: number; } export namespace ClassifierMetadata { @@ -850,14 +889,14 @@ export namespace ClassifyDocumentRequest { */ export interface DocumentClass { /** - *

                  The name of the class.

                  + *

                  The confidence score that Amazon Comprehend has this class correctly attributed.

                  */ - Name?: string; + Score?: number; /** - *

                  The confidence score that Amazon Comprehend has this class correctly attributed.

                  + *

                  The name of the class.

                  */ - Score?: number; + Name?: string; } export namespace DocumentClass { @@ -889,17 +928,20 @@ export namespace DocumentLabel { export interface ClassifyDocumentResponse { /** - *

                  The classes used by the document being analyzed. These are used for multi-class trained models. Individual classes are mutually exclusive and each document is expected - * to have only a single class assigned to it. For example, an animal can be a dog or a cat, but not both at the same time.

                  + *

                  The labels used the document being analyzed. These are used for multi-label trained + * models. Individual labels represent different categories that are related in some manner and + * are not multually exclusive. For example, a movie can be just an action movie, or it can be an + * action movie, a science fiction movie, and a comedy, all at the same time.

                  */ - Classes?: DocumentClass[]; + Labels?: DocumentLabel[]; /** - *

                  The labels used the document being analyzed. These are used for multi-label trained models. Individual labels represent different categories that are related in some manner - * and are not multually exclusive. For example, a movie can be just an action movie, or it can be an action movie, a science fiction movie, and - * a comedy, all at the same time.

                  + *

                  The classes used by the document being analyzed. These are used for multi-class trained + * models. Individual classes are mutually exclusive and each document is expected to have only a + * single class assigned to it. For example, an animal can be a dog or a cat, but not both at the + * same time.

                  */ - Labels?: DocumentLabel[]; + Classes?: DocumentClass[]; } export namespace ClassifyDocumentResponse { @@ -909,7 +951,8 @@ export namespace ClassifyDocumentResponse { } /** - *

                  The specified resource is not available. Check the resource and try your request again.

                  + *

                  The specified resource is not available. Check the resource and try your request + * again.

                  */ export interface ResourceUnavailableException extends __SmithyException, $MetadataBearer { name: "ResourceUnavailableException"; @@ -923,12 +966,58 @@ export namespace ResourceUnavailableException { }); } +export enum DocumentClassifierDataFormat { + AUGMENTED_MANIFEST = "AUGMENTED_MANIFEST", + COMPREHEND_CSV = "COMPREHEND_CSV", +} + /** *

                  The input properties for training a document classifier.

                  - *

                  For more information on how the input file is formatted, see - * how-document-classification-training-data.

                  + *

                  For more information on how the input file is formatted, see how-document-classification-training-data.

                  */ export interface DocumentClassifierInputDataConfig { + /** + *

                  Indicates the delimiter used to separate each label for training a multi-label classifier. + * The default delimiter between labels is a pipe (|). You can use a different character as a + * delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the + * training documents use a delimiter other than the default or the delimiter you specify, the + * labels on that line will be combined to make a single unique label, such as + * LABELLABELLABEL.

                  + */ + LabelDelimiter?: string; + + /** + *

                  The format of your training data:

                  + *
                    + *
                  • + *

                    + * COMPREHEND_CSV: A two-column CSV file, where labels are provided in the + * first column, and documents are provided in the second. If you use this value, you must + * provide the S3Uri parameter in your request.

                    + *
                  • + *
                  • + *

                    + * AUGMENTED_MANIFEST: A labeled dataset that is produced by Amazon + * SageMaker Ground Truth. This file is in JSON lines format. Each line is a complete JSON + * object that contains a training document and its associated labels.

                    + *

                    If you use this value, you must provide the AugmentedManifests parameter + * in your request.

                    + *
                  • + *
                  + *

                  If you don't specify a value, Amazon Comprehend uses COMPREHEND_CSV as the + * default.

                  + */ + DataFormat?: DocumentClassifierDataFormat | string; + + /** + *

                  A list of augmented manifest files that provide training data for your custom model. An + * augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground + * Truth.

                  + *

                  This parameter is required if you set DataFormat to + * AUGMENTED_MANIFEST.

                  + */ + AugmentedManifests?: AugmentedManifestsListItem[]; + /** *

                  The Amazon S3 URI for the input data. The S3 bucket must be in the same region as the API * endpoint that you are calling. The URI can point to a single input file or it can provide the @@ -936,16 +1025,10 @@ export interface DocumentClassifierInputDataConfig { *

                  For example, if you use the URI S3://bucketName/prefix, if the prefix is a * single file, Amazon Comprehend uses that file as input. If more than one file begins with the * prefix, Amazon Comprehend uses all of them as input.

                  + *

                  This parameter is required if you set DataFormat to + * COMPREHEND_CSV.

                  */ - S3Uri: string | undefined; - - /** - *

                  Indicates the delimiter used to separate each label for training a multi-label classifier. The default delimiter - * between labels is a pipe (|). You can use a different character as a delimiter (if it's an allowed character) by - * specifying it under Delimiter for labels. If the training documents use a delimiter other than the default or the - * delimiter you specify, the labels on that line will be combined to make a single unique label, such as LABELLABELLABEL.

                  - */ - LabelDelimiter?: string; + S3Uri?: string; } export namespace DocumentClassifierInputDataConfig { @@ -964,15 +1047,16 @@ export enum DocumentClassifierMode { */ export interface DocumentClassifierOutputDataConfig { /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an - * analysis job. The KmsKeyId can be one of the following formats:

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the + * output results from an analysis job. The KmsKeyId can be one of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • @@ -980,7 +1064,8 @@ export interface DocumentClassifierOutputDataConfig { *

                    *
                  • *
                  • - *

                    ARN of a KMS Key Alias: "arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias" + *

                    ARN of a KMS Key Alias: + * "arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias" *

                    *
                  • *
                  @@ -988,10 +1073,10 @@ export interface DocumentClassifierOutputDataConfig { KmsKeyId?: string; /** - *

                  When you use the OutputDataConfig object while creating a custom classifier, you - * specify the Amazon S3 location where you want to write the confusion matrix. The URI must be in the - * same region as the API endpoint that you are calling. The location is used as the prefix for - * the actual location of this output file.

                  + *

                  When you use the OutputDataConfig object while creating a custom + * classifier, you specify the Amazon S3 location where you want to write the confusion matrix. + * The URI must be in the same region as the API endpoint that you are calling. The location is + * used as the prefix for the actual location of this output file.

                  *

                  When the custom classifier job is finished, the service creates the output file in a * directory specific to the job. The S3Uri field contains the location of the * output file, called output.tar.gz. It is a compressed archive that contains the @@ -1007,18 +1092,26 @@ export namespace DocumentClassifierOutputDataConfig { } /** - *

                  A key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with the key-value pair ‘Department’:’Sales’ might be added to a resource to indicate its use by a particular department.

                  + *

                  A key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For + * example, a tag with the key-value pair ‘Department’:’Sales’ might be added to a resource to + * indicate its use by a particular department.

                  */ export interface Tag { /** - *

                  The second part of a key-value pair that forms a tag associated with a given resource. For instance, if you want to show which resources are used by which departments, you might use “Department” as the initial (key) portion of the pair, with a value of “sales” to indicate the sales department.

                  + *

                  The initial part of a key-value pair that forms a tag associated with a given resource. + * For instance, if you want to show which resources are used by which departments, you might use + * “Department” as the key portion of the pair, with multiple possible values such as “sales,” + * “legal,” and “administration.”

                  */ - Value?: string; + Key: string | undefined; /** - *

                  The initial part of a key-value pair that forms a tag associated with a given resource. For instance, if you want to show which resources are used by which departments, you might use “Department” as the key portion of the pair, with multiple possible values such as “sales,” “legal,” and “administration.”

                  + *

                  The second part of a key-value pair that forms a tag associated with a given resource. + * For instance, if you want to show which resources are used by which departments, you might use + * “Department” as the initial (key) portion of the pair, with a value of “sales” to indicate the + * sales department.

                  */ - Key: string | undefined; + Value?: string; } export namespace Tag { @@ -1028,23 +1121,28 @@ export namespace Tag { } /** - *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For - * For more information, see Amazon VPC.

                  + *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for the job. For For more information, see Amazon + * VPC.

                  */ export interface VpcConfig { /** - *

                  The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the - * VPC and is specific to a given availability zone in the VPC’s region. This ID number is preceded by "subnet-", for instance: "subnet-04ccf456919e69055". - * For more information, see VPCs and Subnets.

                  + *

                  The ID number for a security group on an instance of your private VPC. Security groups on + * your VPC function serve as a virtual firewall to control inbound and outbound traffic and + * provides security for the resources that you’ll be accessing on the VPC. This ID number is + * preceded by "sg-", for instance: "sg-03b388029b0a285ea". For more information, see Security + * Groups for your VPC.

                  */ - Subnets: string[] | undefined; + SecurityGroupIds: string[] | undefined; /** - *

                  The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and - * provides security for the resources that you’ll be accessing on the VPC. This ID number is preceded by "sg-", for instance: "sg-03b388029b0a285ea". - * For more information, see Security Groups for your VPC.

                  + *

                  The ID for each subnet being used in your private VPC. This subnet is a subset of the a + * range of IPv4 addresses used by the VPC and is specific to a given availability zone in the + * VPC’s region. This ID number is preceded by "subnet-", for instance: + * "subnet-04ccf456919e69055". For more information, see VPCs and + * Subnets.

                  */ - SecurityGroupIds: string[] | undefined; + Subnets: string[] | undefined; } export namespace VpcConfig { @@ -1055,27 +1153,54 @@ export namespace VpcConfig { export interface CreateDocumentClassifierRequest { /** - *

                  The name of the document classifier.

                  + *

                  A unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

                  */ - DocumentClassifierName: string | undefined; + ClientRequestToken?: string; + + /** + *

                  The language of the input documents. You can specify any of the following languages + * supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), + * Italian ("it"), or Portuguese ("pt"). All documents must be in the same language.

                  + */ + LanguageCode: LanguageCode | string | undefined; /** - *

                  Tags to be associated with the document classifier being created. A tag is a key-value pair that adds as a metadata to a resource - * used by Amazon Comprehend. For example, - * a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department.

                  + *

                  Tags to be associated with the document classifier being created. A tag is a key-value + * pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with + * "Sales" as the key might be added to a resource to indicate its use by the sales department. + *

                  */ Tags?: Tag[]; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  + *

                  Indicates the mode in which the classifier will be trained. The classifier can be trained + * in multi-class mode, which identifies one and only one class for each document, or multi-label + * mode, which identifies one or more labels for each document. In multi-label mode, multiple + * labels for an individual document are separated by a delimiter. The default delimiter between + * labels is a pipe (|).

                  + */ + Mode?: DocumentClassifierMode | string; + + /** + *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for your custom classifier. For more information, see Amazon + * VPC.

                  + */ + VpcConfig?: VpcConfig; + + /** + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  @@ -1083,47 +1208,26 @@ export interface CreateDocumentClassifierRequest { VolumeKmsKeyId?: string; /** - *

                  A unique identifier for the request. If you don't set the client request token, Amazon Comprehend - * generates one.

                  + *

                  The name of the document classifier.

                  */ - ClientRequestToken?: string; + DocumentClassifierName: string | undefined; /** - *

                  The language of the input documents. You can specify any of the following languages supported by Amazon - * Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All - * documents must be in the same language.

                  - */ - LanguageCode: LanguageCode | string | undefined; - - /** - *

                  Indicates the mode in which the classifier will be trained. The classifier can be trained in multi-class mode, which - * identifies one and only one class for each document, or multi-label mode, which identifies one or more labels for each - * document. In multi-label mode, multiple labels for an individual document are separated by a delimiter. The default - * delimiter between labels is a pipe (|).

                  - */ - Mode?: DocumentClassifierMode | string; - - /** - *

                  Specifies the format and location of the input data for the job.

                  + *

                  Specifies the format and location of the input data for the job.

                  */ InputDataConfig: DocumentClassifierInputDataConfig | undefined; /** - *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. - * For more information, see Amazon VPC.

                  + *

                  Enables the addition of output results configuration parameters for custom classifier + * jobs.

                  */ - VpcConfig?: VpcConfig; + OutputDataConfig?: DocumentClassifierOutputDataConfig; /** *

                  The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants * Amazon Comprehend read access to your input data.

                  */ DataAccessRoleArn: string | undefined; - - /** - *

                  Enables the addition of output results configuration parameters for custom classifier jobs.

                  - */ - OutputDataConfig?: DocumentClassifierOutputDataConfig; } export namespace CreateDocumentClassifierRequest { @@ -1146,7 +1250,8 @@ export namespace CreateDocumentClassifierResponse { } /** - *

                  The KMS customer managed key (CMK) entered cannot be validated. Verify the key and re-enter it.

                  + *

                  The KMS customer managed key (CMK) entered cannot be validated. Verify the key and + * re-enter it.

                  */ export interface KmsKeyValidationException extends __SmithyException, $MetadataBearer { name: "KmsKeyValidationException"; @@ -1161,7 +1266,8 @@ export namespace KmsKeyValidationException { } /** - *

                  The specified resource name is already in use. Use a different name and try your request again.

                  + *

                  The specified resource name is already in use. Use a different name and try your request + * again.

                  */ export interface ResourceInUseException extends __SmithyException, $MetadataBearer { name: "ResourceInUseException"; @@ -1176,7 +1282,8 @@ export namespace ResourceInUseException { } /** - *

                  The maximum number of resources per account has been exceeded. Review the resources, and then try your request again.

                  + *

                  The maximum number of resources per account has been exceeded. Review the resources, and + * then try your request again.

                  */ export interface ResourceLimitExceededException extends __SmithyException, $MetadataBearer { name: "ResourceLimitExceededException"; @@ -1206,8 +1313,9 @@ export namespace TooManyRequestsException { } /** - *

                  The request contains more tags than can be associated with a resource (50 tags per resource). The maximum - * number of tags includes both existing tags and those included in your current request.

                  + *

                  The request contains more tags than can be associated with a resource (50 tags per + * resource). The maximum number of tags includes both existing tags and those included in your + * current request.

                  */ export interface TooManyTagsException extends __SmithyException, $MetadataBearer { name: "TooManyTagsException"; @@ -1223,33 +1331,37 @@ export namespace TooManyTagsException { export interface CreateEndpointRequest { /** - *

                  This is the descriptive suffix that becomes part of the EndpointArn used for all subsequent requests to this resource.

                  - */ - EndpointName: string | undefined; - - /** - *

                  The desired number of inference units to be used by the model using this endpoint. Each - * inference unit represents of a throughput of 100 characters per second.

                  + *

                  The desired number of inference units to be used by the model using this endpoint. + * + * Each inference unit represents of a throughput of 100 characters per second.

                  */ DesiredInferenceUnits: number | undefined; /** - *

                  An idempotency token provided by the customer. If this token matches a previous endpoint creation request, Amazon Comprehend - * will not return a ResourceInUseException.

                  + *

                  This is the descriptive suffix that becomes part of the EndpointArn used for + * all subsequent requests to this resource.

                  */ - ClientRequestToken?: string; + EndpointName: string | undefined; /** - *

                  The Amazon Resource Number (ARN) of the model to which the endpoint will be attached.

                  + *

                  The Amazon Resource Number (ARN) of the model to which the endpoint will be + * attached.

                  */ ModelArn: string | undefined; /** - *

                  Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata - * to the endpoint. For example, a tag with "Sales" as the key might be added to an endpoint - * to indicate its use by the sales department.

                  + *

                  Tags associated with the endpoint being created. A tag is a key-value pair that adds + * metadata to the endpoint. For example, a tag with "Sales" as the key might be added to an + * endpoint to indicate its use by the sales department.

                  */ Tags?: Tag[]; + + /** + *

                  An idempotency token provided by the customer. If this token matches a previous endpoint + * creation request, Amazon Comprehend will not return a ResourceInUseException. + *

                  + */ + ClientRequestToken?: string; } export namespace CreateEndpointRequest { @@ -1291,8 +1403,8 @@ export namespace ResourceNotFoundException { */ export interface EntityRecognizerAnnotations { /** - *

                  Specifies the Amazon S3 location where the annotations for an entity recognizer are located. The URI must be in the - * same region as the API endpoint that you are calling.

                  + *

                  Specifies the Amazon S3 location where the annotations for an entity recognizer are + * located. The URI must be in the same region as the API endpoint that you are calling.

                  */ S3Uri: string | undefined; } @@ -1303,13 +1415,19 @@ export namespace EntityRecognizerAnnotations { }); } +export enum EntityRecognizerDataFormat { + AUGMENTED_MANIFEST = "AUGMENTED_MANIFEST", + COMPREHEND_CSV = "COMPREHEND_CSV", +} + /** *

                  Describes the training documents submitted with an entity recognizer.

                  */ export interface EntityRecognizerDocuments { /** - *

                  Specifies the Amazon S3 location where the training documents for an entity recognizer are located. The - * URI must be in the same region as the API endpoint that you are calling.

                  + *

                  Specifies the Amazon S3 location where the training documents for an entity recognizer + * are located. The URI must be in the same region as the API endpoint that you are + * calling.

                  */ S3Uri: string | undefined; } @@ -1325,7 +1443,8 @@ export namespace EntityRecognizerDocuments { */ export interface EntityRecognizerEntityList { /** - *

                  Specifies the Amazon S3 location where the entity list is located. The URI must be in the same region as the API endpoint that you are calling.

                  + *

                  Specifies the Amazon S3 location where the entity list is located. The URI must be in the + * same region as the API endpoint that you are calling.

                  */ S3Uri: string | undefined; } @@ -1337,11 +1456,16 @@ export namespace EntityRecognizerEntityList { } /** - *

                  Information about an individual item on a list of entity types.

                  + *

                  An entity type within a labeled training dataset that Amazon Comprehend uses to train a + * custom entity recognizer.

                  */ export interface EntityTypesListItem { /** - *

                  Entity type of an item on an entity type list.

                  + *

                  An entity type within a labeled training dataset that Amazon Comprehend uses to train a + * custom entity recognizer.

                  + *

                  Entity types must not contain the following invalid characters: \n (line break), \\n + * (escaped line break, \r (carriage return), \\r (escaped carriage return), \t (tab), \\t + * (escaped tab), space, and , (comma).

                  */ Type: string | undefined; } @@ -1357,24 +1481,70 @@ export namespace EntityTypesListItem { */ export interface EntityRecognizerInputDataConfig { /** - *

                  The entity types in the input data for an entity recognizer. A maximum of 12 entity types can be used at one time to train an entity recognizer.

                  + *

                  The S3 location of the CSV file that annotates your training documents.

                  + */ + Annotations?: EntityRecognizerAnnotations; + + /** + *

                  The entity types in the labeled training data that Amazon Comprehend uses to train the + * custom entity recognizer. Any entity types that you don't specify are ignored.

                  + *

                  A maximum of 25 entity types can be used at one time to train an entity recognizer. Entity + * types must not contain the following invalid characters: \n (line break), \\n (escaped line + * break), \r (carriage return), \\r (escaped carriage return), \t (tab), \\t (escaped tab), + * space, and , (comma).

                  */ EntityTypes: EntityTypesListItem[] | undefined; /** - *

                  S3 location of the entity list for an entity recognizer.

                  + *

                  A list of augmented manifest files that provide training data for your custom model. An + * augmented manifest file is a labeled dataset that is produced by Amazon SageMaker Ground + * Truth.

                  + *

                  This parameter is required if you set DataFormat to + * AUGMENTED_MANIFEST.

                  + */ + AugmentedManifests?: AugmentedManifestsListItem[]; + + /** + *

                  The S3 location of the CSV file that has the entity list for your custom entity + * recognizer.

                  */ EntityList?: EntityRecognizerEntityList; /** - *

                  S3 location of the annotations file for an entity recognizer.

                  + *

                  The format of your training data:

                  + *
                    + *
                  • + *

                    + * COMPREHEND_CSV: A CSV file that supplements your training documents. The + * CSV file contains information about the custom entities that your trained model will + * detect. The required format of the file depends on whether you are providing annotations + * or an entity list.

                    + *

                    If you use this value, you must provide your CSV file by using either the + * Annotations or EntityList parameters. You must provide your + * training documents by using the Documents parameter.

                    + *
                  • + *
                  • + *

                    + * AUGMENTED_MANIFEST: A labeled dataset that is produced by Amazon + * SageMaker Ground Truth. This file is in JSON lines format. Each line is a complete JSON + * object that contains a training document and its labels. Each label annotates a named + * entity in the training document.

                    + *

                    If you use this value, you must provide the AugmentedManifests parameter + * in your request.

                    + *
                  • + *
                  + *

                  If you don't specify a value, Amazon Comprehend uses COMPREHEND_CSV as the + * default.

                  */ - Annotations?: EntityRecognizerAnnotations; + DataFormat?: EntityRecognizerDataFormat | string; /** - *

                  S3 location of the documents folder for an entity recognizer

                  + *

                  The S3 location of the folder that contains the training documents for your custom entity + * recognizer.

                  + *

                  This parameter is required if you set DataFormat to + * COMPREHEND_CSV.

                  */ - Documents: EntityRecognizerDocuments | undefined; + Documents?: EntityRecognizerDocuments; } export namespace EntityRecognizerInputDataConfig { @@ -1385,15 +1555,38 @@ export namespace EntityRecognizerInputDataConfig { export interface CreateEntityRecognizerRequest { /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  + *

                  Tags to be associated with the entity recognizer being created. A tag is a key-value pair + * that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with + * "Sales" as the key might be added to a resource to indicate its use by the sales department. + *

                  + */ + Tags?: Tag[]; + + /** + *

                  You can specify any of the following languages supported by Amazon Comprehend: English + * ("en"), Spanish ("es"), French ("fr"), Italian ("it"), German ("de"), or Portuguese ("pt"). + * All documents must be in the same language.

                  + */ + LanguageCode: LanguageCode | string | undefined; + + /** + *

                  A unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

                  + */ + ClientRequestToken?: string; + + /** + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  @@ -1401,45 +1594,31 @@ export interface CreateEntityRecognizerRequest { VolumeKmsKeyId?: string; /** - *

                  The name given to the newly created recognizer. Recognizer names can be a maximum of 256 characters. - * Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The name must be unique in the account/region.

                  - */ - RecognizerName: string | undefined; - - /** - *

                  Specifies the format and location of the input data. The S3 bucket containing the input data must - * be located in the same region as the entity recognizer being created.

                  + *

                  Specifies the format and location of the input data. The S3 bucket containing the input + * data must be located in the same region as the entity recognizer being created.

                  */ InputDataConfig: EntityRecognizerInputDataConfig | undefined; /** - *

                  Tags to be associated with the entity recognizer being created. A tag is a key-value pair that adds as a metadata to a - * resource used by Amazon Comprehend. For example, - * a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department.

                  - */ - Tags?: Tag[]; - - /** - *

                  A unique identifier for the request. If you don't set the client request token, Amazon Comprehend - * generates one.

                  - */ - ClientRequestToken?: string; - - /** - *

                  The language of the input documents. All documents must be in the same language. Only English ("en") is currently supported.

                  + *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for your custom entity recognizer. For more information, see + * Amazon + * VPC.

                  */ - LanguageCode: LanguageCode | string | undefined; + VpcConfig?: VpcConfig; /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

                  + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants + * Amazon Comprehend read access to your input data.

                  */ DataAccessRoleArn: string | undefined; /** - *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your custom entity recognizer. - * For more information, see Amazon VPC.

                  + *

                  The name given to the newly created recognizer. Recognizer names can be a maximum of 256 + * characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The name + * must be unique in the account/region.

                  */ - VpcConfig?: VpcConfig; + RecognizerName: string | undefined; } export namespace CreateEntityRecognizerRequest { @@ -1547,6 +1726,16 @@ export enum InputFormat { *

                  The input properties for a topic detection job.

                  */ export interface InputDataConfig { + /** + *

                  The Amazon S3 URI for the input data. The URI must be in same region as the API + * endpoint that you are calling. The URI can point to a single input file or it can provide the + * prefix for a collection of data files.

                  + *

                  For example, if you use the URI S3://bucketName/prefix, if the prefix is a + * single file, Amazon Comprehend uses that file as input. If more than one file begins with the + * prefix, Amazon Comprehend uses all of them as input.

                  + */ + S3Uri: string | undefined; + /** *

                  Specifies how the text in an input file should be processed:

                  *
                    @@ -1565,16 +1754,6 @@ export interface InputDataConfig { *
                  */ InputFormat?: InputFormat | string; - - /** - *

                  The Amazon S3 URI for the input data. The URI must be in same region as the API - * endpoint that you are calling. The URI can point to a single input file or it can provide the - * prefix for a collection of data files.

                  - *

                  For example, if you use the URI S3://bucketName/prefix, if the prefix is a - * single file, Amazon Comprehend uses that file as input. If more than one file begins with the prefix, - * Amazon Comprehend uses all of them as input.

                  - */ - S3Uri: string | undefined; } export namespace InputDataConfig { @@ -1598,26 +1777,16 @@ export enum JobStatus { */ export interface OutputDataConfig { /** - *

                  When you use the OutputDataConfig object with asynchronous operations, you - * specify the Amazon S3 location where you want to write the output data. The URI must be in the - * same region as the API endpoint that you are calling. The location is used as the prefix for - * the actual location of the output file.

                  - *

                  When the topic detection job is finished, the service creates an output file in a - * directory specific to the job. The S3Uri field contains the location of the - * output file, called output.tar.gz. It is a compressed archive that contains the - * ouput of the operation.

                  - */ - S3Uri: string | undefined; - - /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the + * output results from an analysis job. The KmsKeyId can be one of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • @@ -1625,12 +1794,25 @@ export interface OutputDataConfig { *

                    *
                  • *
                  • - *

                    ARN of a KMS Key Alias: "arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias" + *

                    ARN of a KMS Key Alias: + * "arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias" *

                    *
                  • *
                  */ KmsKeyId?: string; + + /** + *

                  When you use the OutputDataConfig object with asynchronous operations, you + * specify the Amazon S3 location where you want to write the output data. The URI must be in the + * same region as the API endpoint that you are calling. The location is used as the prefix for + * the actual location of the output file.

                  + *

                  When the topic detection job is finished, the service creates an output file in a + * directory specific to the job. The S3Uri field contains the location of the + * output file, called output.tar.gz. It is a compressed archive that contains the + * ouput of the operation.

                  + */ + S3Uri: string | undefined; } export namespace OutputDataConfig { @@ -1644,30 +1826,47 @@ export namespace OutputDataConfig { */ export interface DocumentClassificationJobProperties { /** - *

                  A description of the status of the job.

                  + *

                  The Amazon Resource Name (ARN) of the AWS identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data.

                  */ - Message?: string; + DataAccessRoleArn?: string; /** - *

                  The time that the document classification job was submitted for processing.

                  + *

                  The current status of the document classification job. If the status is + * FAILED, the Message field shows the reason for the failure.

                  */ - SubmitTime?: Date; + JobStatus?: JobStatus | string; /** - *

                  The Amazon Resource Name (ARN) that identifies the document classifier.

                  + *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your document classification job. For more information, see Amazon + * VPC.

                  */ - DocumentClassifierArn?: string; + VpcConfig?: VpcConfig; + + /** + *

                  The input data configuration that you supplied when you created the document + * classification job.

                  + */ + InputDataConfig?: InputDataConfig; + + /** + *

                  The identifier assigned to the document classification job.

                  + */ + JobId?: string; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  @@ -1675,49 +1874,35 @@ export interface DocumentClassificationJobProperties { VolumeKmsKeyId?: string; /** - *

                  The identifier assigned to the document classification job.

                  + *

                  The time that the document classification job was submitted for processing.

                  */ - JobId?: string; + SubmitTime?: Date; /** - *

                  The current status of the document classification job. If the status is - * FAILED, the Message field shows the reason for the failure.

                  + *

                  The Amazon Resource Name (ARN) that identifies the document classifier.

                  */ - JobStatus?: JobStatus | string; + DocumentClassifierArn?: string; /** - *

                  The input data configuration that you supplied when you created the document - * classification job.

                  + *

                  A description of the status of the job.

                  */ - InputDataConfig?: InputDataConfig; + Message?: string; /** - *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your document classification job. - * For more information, see Amazon VPC.

                  + *

                  The name that you assigned to the document classification job.

                  */ - VpcConfig?: VpcConfig; + JobName?: string; /** *

                  The time that the document classification job completed.

                  */ EndTime?: Date; - /** - *

                  The Amazon Resource Name (ARN) of the AWS identity and Access Management (IAM) role that - * grants Amazon Comprehend read access to your input data.

                  - */ - DataAccessRoleArn?: string; - /** *

                  The output data configuration that you supplied when you created the document * classification job.

                  */ OutputDataConfig?: OutputDataConfig; - - /** - *

                  The name that you assigned to the document classification job.

                  - */ - JobName?: string; } export namespace DocumentClassificationJobProperties { @@ -1784,102 +1969,106 @@ export enum ModelStatus { */ export interface DocumentClassifierProperties { /** - *

                  The status of the document classifier. If the status is TRAINED the - * classifier is ready to use. If the status is FAILED you can see additional - * information about why the classifier wasn't trained in the Message field.

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  + *
                    + *
                  • + *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  • + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  */ - Status?: ModelStatus | string; + VolumeKmsKeyId?: string; /** - *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. - * For more information, see Amazon VPC.

                  + *

                  Provides output results configuration parameters for custom classifier jobs.

                  */ - VpcConfig?: VpcConfig; + OutputDataConfig?: DocumentClassifierOutputDataConfig; /** - *

                  The time that the document classifier was submitted for training.

                  + *

                  Indicates the time when the training starts on documentation classifiers. You are billed + * for the time interval between this time and the value of TrainingEndTime.

                  */ - SubmitTime?: Date; + TrainingStartTime?: Date; /** - *

                  Indicates the mode in which the specific classifier was trained. This also indicates the format of input documents and - * the format of the confusion matrix. Each classifier can only be trained in one mode and this cannot be changed once the classifier is trained.

                  + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants + * Amazon Comprehend read access to your input data.

                  */ - Mode?: DocumentClassifierMode | string; + DataAccessRoleArn?: string; /** - *

                  The input data configuration that you supplied when you created the document classifier - * for training.

                  + *

                  The status of the document classifier. If the status is TRAINED the + * classifier is ready to use. If the status is FAILED you can see additional + * information about why the classifier wasn't trained in the Message field.

                  */ - InputDataConfig?: DocumentClassifierInputDataConfig; + Status?: ModelStatus | string; /** - *

                  The time that training the document classifier completed.

                  + *

                  Information about the document classifier, including the number of documents used for + * training the classifier, the number of documents used for test the classifier, and an accuracy + * rating.

                  */ - EndTime?: Date; + ClassifierMetadata?: ClassifierMetadata; /** - *

                  The time that training of the document classifier was completed. - * Indicates the time when the training completes on documentation classifiers. You are billed for - * the time interval between this time and the value of TrainingStartTime.

                  + *

                  The Amazon Resource Name (ARN) that identifies the document classifier.

                  */ - TrainingEndTime?: Date; + DocumentClassifierArn?: string; /** - *

                  Provides output results configuration parameters for custom classifier jobs.

                  + *

                  The time that the document classifier was submitted for training.

                  */ - OutputDataConfig?: DocumentClassifierOutputDataConfig; + SubmitTime?: Date; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  - *
                    - *
                  • - *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  + *

                  Indicates the mode in which the specific classifier was trained. This also indicates the + * format of input documents and the format of the confusion matrix. Each classifier can only be + * trained in one mode and this cannot be changed once the classifier is trained.

                  */ - VolumeKmsKeyId?: string; + Mode?: DocumentClassifierMode | string; /** - *

                  The language code for the language of the documents that the classifier was trained - * on.

                  + *

                  Additional information about the status of the classifier.

                  */ - LanguageCode?: LanguageCode | string; + Message?: string; /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants - * Amazon Comprehend read access to your input data.

                  + *

                  The time that training of the document classifier was completed. Indicates the time when + * the training completes on documentation classifiers. You are billed for the time interval + * between this time and the value of TrainingStartTime.

                  */ - DataAccessRoleArn?: string; + TrainingEndTime?: Date; /** - *

                  Indicates the time when the training starts on documentation classifiers. You are billed for - * the time interval between this time and the value of TrainingEndTime.

                  + *

                  The time that training the document classifier completed.

                  */ - TrainingStartTime?: Date; + EndTime?: Date; /** - *

                  The Amazon Resource Name (ARN) that identifies the document classifier.

                  + *

                  The input data configuration that you supplied when you created the document classifier + * for training.

                  */ - DocumentClassifierArn?: string; + InputDataConfig?: DocumentClassifierInputDataConfig; /** - *

                  Information about the document classifier, including the number of documents used for - * training the classifier, the number of documents used for test the classifier, and an accuracy - * rating.

                  + *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your custom classifier. For more information, see Amazon + * VPC.

                  */ - ClassifierMetadata?: ClassifierMetadata; + VpcConfig?: VpcConfig; /** - *

                  Additional information about the status of the classifier.

                  + *

                  The language code for the language of the documents that the classifier was trained + * on.

                  */ - Message?: string; + LanguageCode?: LanguageCode | string; } export namespace DocumentClassifierProperties { @@ -1924,15 +2113,10 @@ export namespace DescribeDominantLanguageDetectionJobRequest { */ export interface DominantLanguageDetectionJobProperties { /** - *

                  The current status of the dominant language detection job. If the status is - * FAILED, the Message field shows the reason for the failure.

                  - */ - JobStatus?: JobStatus | string; - - /** - *

                  The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

                  + *

                  The input data configuration that you supplied when you created the dominant language + * detection job.

                  */ - DataAccessRoleArn?: string; + InputDataConfig?: InputDataConfig; /** *

                  The time that the dominant language detection job was submitted for processing.

                  @@ -1940,25 +2124,32 @@ export interface DominantLanguageDetectionJobProperties { SubmitTime?: Date; /** - *

                  The identifier assigned to the dominant language detection job.

                  + *

                  The time that the dominant language detection job completed.

                  */ - JobId?: string; + EndTime?: Date; /** - *

                  A description for the status of a job.

                  + *

                  The name that you assigned to the dominant language detection job.

                  */ - Message?: string; + JobName?: string; /** - *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your dominant language detection job. - * For more information, see Amazon VPC.

                  + *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your dominant language detection job. For more information, see + * Amazon + * VPC.

                  */ VpcConfig?: VpcConfig; /** - *

                  The name that you assigned to the dominant language detection job.

                  + *

                  The identifier assigned to the dominant language detection job.

                  */ - JobName?: string; + JobId?: string; + + /** + *

                  A description for the status of a job.

                  + */ + Message?: string; /** *

                  The output data configuration that you supplied when you created the dominant language @@ -1967,31 +2158,34 @@ export interface DominantLanguageDetectionJobProperties { OutputDataConfig?: OutputDataConfig; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  + *

                  The current status of the dominant language detection job. If the status is + * FAILED, the Message field shows the reason for the failure.

                  + */ + JobStatus?: JobStatus | string; + + /** + *

                  The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input + * data.

                  + */ + DataAccessRoleArn?: string; + + /** + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  */ VolumeKmsKeyId?: string; - - /** - *

                  The time that the dominant language detection job completed.

                  - */ - EndTime?: Date; - - /** - *

                  The input data configuration that you supplied when you created the dominant language - * detection job.

                  - */ - InputDataConfig?: InputDataConfig; } export namespace DominantLanguageDetectionJobProperties { @@ -2040,15 +2234,9 @@ export enum EndpointStatus { */ export interface EndpointProperties { /** - *

                  The desired number of inference units to be used by the model using this endpoint. Each - * inference unit represents of a throughput of 100 characters per second.

                  - */ - DesiredInferenceUnits?: number; - - /** - *

                  The date and time that the endpoint was last modified.

                  + *

                  The number of inference units currently used by the model using this endpoint.

                  */ - LastModifiedTime?: Date; + CurrentInferenceUnits?: number; /** *

                  Specifies a reason for failure in cases of Failed status.

                  @@ -2056,9 +2244,11 @@ export interface EndpointProperties { Message?: string; /** - *

                  The number of inference units currently used by the model using this endpoint.

                  + *

                  Specifies the status of the endpoint. Because the endpoint updates and creation are + * asynchronous, so customers will need to wait for the endpoint to be Ready status + * before making inference requests.

                  */ - CurrentInferenceUnits?: number; + Status?: EndpointStatus | string; /** *

                  The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

                  @@ -2066,20 +2256,26 @@ export interface EndpointProperties { ModelArn?: string; /** - *

                  Specifies the status of the endpoint. Because the endpoint updates and creation are asynchronous, so - * customers will need to wait for the endpoint to be Ready status before making inference requests.

                  + *

                  The desired number of inference units to be used by the model using this endpoint. + * + * Each inference unit represents of a throughput of 100 characters per second.

                  */ - Status?: EndpointStatus | string; + DesiredInferenceUnits?: number; /** - *

                  The Amazon Resource Number (ARN) of the endpoint.

                  + *

                  The date and time that the endpoint was last modified.

                  */ - EndpointArn?: string; + LastModifiedTime?: Date; /** *

                  The creation date and time of the endpoint.

                  */ CreationTime?: Date; + + /** + *

                  The Amazon Resource Number (ARN) of the endpoint.

                  + */ + EndpointArn?: string; } export namespace EndpointProperties { @@ -2120,10 +2316,11 @@ export namespace DescribeEntitiesDetectionJobRequest { */ export interface EntitiesDetectionJobProperties { /** - *

                  The current status of the entities detection job. If the status is FAILED, - * the Message field shows the reason for the failure.

                  + *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your entity detection job. For more information, see Amazon + * VPC.

                  */ - JobStatus?: JobStatus | string; + VpcConfig?: VpcConfig; /** *

                  The language code of the input documents.

                  @@ -2131,73 +2328,76 @@ export interface EntitiesDetectionJobProperties { LanguageCode?: LanguageCode | string; /** - *

                  The name that you assigned the entities detection job.

                  + *

                  The identifier assigned to the entities detection job.

                  */ - JobName?: string; + JobId?: string; /** - *

                  The output data configuration that you supplied when you created the entities detection - * job.

                  + *

                  The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input + * data.

                  */ - OutputDataConfig?: OutputDataConfig; + DataAccessRoleArn?: string; /** - *

                  The input data configuration that you supplied when you created the entities detection - * job.

                  + *

                  The Amazon Resource Name (ARN) that identifies the entity recognizer.

                  */ - InputDataConfig?: InputDataConfig; + EntityRecognizerArn?: string; /** - *

                  The time that the entities detection job was submitted for processing.

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  + *
                    + *
                  • + *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  • + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  */ - SubmitTime?: Date; + VolumeKmsKeyId?: string; /** - *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your entity detection job. - * For more information, see Amazon VPC.

                  + *

                  The output data configuration that you supplied when you created the entities detection + * job.

                  */ - VpcConfig?: VpcConfig; + OutputDataConfig?: OutputDataConfig; /** - *

                  The time that the entities detection job completed

                  + *

                  A description of the status of a job.

                  */ - EndTime?: Date; + Message?: string; /** - *

                  A description of the status of a job.

                  + *

                  The name that you assigned the entities detection job.

                  */ - Message?: string; + JobName?: string; /** - *

                  The identifier assigned to the entities detection job.

                  + *

                  The current status of the entities detection job. If the status is FAILED, + * the Message field shows the reason for the failure.

                  */ - JobId?: string; + JobStatus?: JobStatus | string; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  - *
                    - *
                  • - *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  + *

                  The time that the entities detection job was submitted for processing.

                  */ - VolumeKmsKeyId?: string; + SubmitTime?: Date; /** - *

                  The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

                  + *

                  The time that the entities detection job completed

                  */ - DataAccessRoleArn?: string; + EndTime?: Date; /** - *

                  The Amazon Resource Name (ARN) that identifies the entity recognizer.

                  + *

                  The input data configuration that you supplied when you created the entities detection + * job.

                  */ - EntityRecognizerArn?: string; + InputDataConfig?: InputDataConfig; } export namespace EntitiesDetectionJobProperties { @@ -2233,29 +2433,30 @@ export namespace DescribeEntityRecognizerRequest { } /** - *

                  Detailed information about the accuracy of an entity recognizer for a specific entity type.

                  + *

                  Detailed information about the accuracy of an entity recognizer for a specific entity + * type.

                  */ export interface EntityTypesEvaluationMetrics { /** - *

                  A measure of the usefulness of the recognizer results for a specific entity type in the test data. High precision - * means that the recognizer returned substantially more relevant results than irrelevant ones. - *

                  + *

                  A measure of how complete the recognizer results are for a specific entity type in the + * test data. High recall means that the recognizer returned most of the relevant results.

                  */ - Precision?: number; + Recall?: number; /** - *

                  A measure of how complete the recognizer results are for a specific entity type in the test data. High recall means that the recognizer - * returned most of the relevant results.

                  + *

                  A measure of how accurate the recognizer results are for for a specific entity type in the + * test data. It is derived from the Precision and Recall values. The + * F1Score is the harmonic average of the two scores. The highest score is 1, and + * the worst score is 0.

                  */ - Recall?: number; + F1Score?: number; /** - *

                  A measure of how accurate the recognizer results are for for a specific entity type in the test data. It is - * derived from the Precision and Recall values. The F1Score is - * the harmonic average of the two scores. The highest score is 1, and the worst score is 0. - *

                  + *

                  A measure of the usefulness of the recognizer results for a specific entity type in the + * test data. High precision means that the recognizer returned substantially more relevant + * results than irrelevant ones.

                  */ - F1Score?: number; + Precision?: number; } export namespace EntityTypesEvaluationMetrics { @@ -2265,23 +2466,26 @@ export namespace EntityTypesEvaluationMetrics { } /** - *

                  Individual item from the list of entity types in the metadata of an entity recognizer.

                  + *

                  Individual item from the list of entity types in the metadata of an entity + * recognizer.

                  */ export interface EntityRecognizerMetadataEntityTypesListItem { /** - *

                  Detailed information about the accuracy of the entity recognizer for a specific item on the list of entity types.

                  + *

                  Indicates the number of times the given entity type was seen in the training data.

                  */ - EvaluationMetrics?: EntityTypesEvaluationMetrics; + NumberOfTrainMentions?: number; /** - *

                  Type of entity from the list of entity types in the metadata of an entity recognizer.

                  + *

                  Detailed information about the accuracy of the entity recognizer for a specific item on + * the list of entity types.

                  */ - Type?: string; + EvaluationMetrics?: EntityTypesEvaluationMetrics; /** - *

                  Indicates the number of times the given entity type was seen in the training data.

                  + *

                  Type of entity from the list of entity types in the metadata of an entity recognizer. + *

                  */ - NumberOfTrainMentions?: number; + Type?: string; } export namespace EntityRecognizerMetadataEntityTypesListItem { @@ -2291,22 +2495,21 @@ export namespace EntityRecognizerMetadataEntityTypesListItem { } /** - *

                  Detailed information about the accuracy of an entity recognizer. - *

                  + *

                  Detailed information about the accuracy of an entity recognizer.

                  */ export interface EntityRecognizerEvaluationMetrics { /** - *

                  A measure of how accurate the recognizer results are for the test data. It is - * derived from the Precision and Recall values. The F1Score is - * the harmonic average of the two scores. The highest score is 1, and the worst score is 0. - *

                  + *

                  A measure of how complete the recognizer results are for the test data. High recall means + * that the recognizer returned most of the relevant results.

                  */ - F1Score?: number; + Recall?: number; /** - *

                  A measure of how complete the recognizer results are for the test data. High recall means that the recognizer returned most of the relevant results.

                  + *

                  A measure of how accurate the recognizer results are for the test data. It is derived from + * the Precision and Recall values. The F1Score is the + * harmonic average of the two scores. The highest score is 1, and the worst score is 0.

                  */ - Recall?: number; + F1Score?: number; /** *

                  A measure of the usefulness of the recognizer results in the test data. High precision @@ -2337,12 +2540,14 @@ export interface EntityRecognizerMetadata { EvaluationMetrics?: EntityRecognizerEvaluationMetrics; /** - *

                  The number of documents in the input data that were used to test the entity recognizer. Typically this is 10 to 20 percent of the input documents.

                  + *

                  The number of documents in the input data that were used to test the entity recognizer. + * Typically this is 10 to 20 percent of the input documents.

                  */ NumberOfTestDocuments?: number; /** - *

                  The number of documents in the input data that were used to train the entity recognizer. Typically this is 80 to 90 percent of the input documents.

                  + *

                  The number of documents in the input data that were used to train the entity recognizer. + * Typically this is 80 to 90 percent of the input documents.

                  */ NumberOfTrainedDocuments?: number; } @@ -2358,35 +2563,48 @@ export namespace EntityRecognizerMetadata { */ export interface EntityRecognizerProperties { /** - *

                  The time that the recognizer was submitted for processing.

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  + *
                    + *
                  • + *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  • + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  */ - SubmitTime?: Date; + VolumeKmsKeyId?: string; /** - *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom entity recognizer. - * For more information, see Amazon VPC.

                  + *

                  The Amazon Resource Name (ARN) that identifies the entity recognizer.

                  */ - VpcConfig?: VpcConfig; + EntityRecognizerArn?: string; /** - *

                  The time that the recognizer creation completed.

                  + *

                  A description of the status of the recognizer.

                  */ - EndTime?: Date; + Message?: string; /** - *

                  The input data properties of an entity recognizer.

                  + *

                  Provides information about an entity recognizer.

                  */ - InputDataConfig?: EntityRecognizerInputDataConfig; + RecognizerMetadata?: EntityRecognizerMetadata; /** - *

                  The time that training of the entity recognizer started.

                  + *

                  The language of the input documents. All documents must be in the same language. Only + * English ("en") is currently supported.

                  */ - TrainingStartTime?: Date; + LanguageCode?: LanguageCode | string; /** - *

                  A description of the status of the recognizer.

                  + *

                  The time that the recognizer creation completed.

                  */ - Message?: string; + EndTime?: Date; /** *

                  The time that training of the entity recognizer was completed.

                  @@ -2394,46 +2612,37 @@ export interface EntityRecognizerProperties { TrainingEndTime?: Date; /** - *

                  Provides the status of the entity recognizer.

                  + *

                  The input data properties of an entity recognizer.

                  */ - Status?: ModelStatus | string; + InputDataConfig?: EntityRecognizerInputDataConfig; /** - *

                  The Amazon Resource Name (ARN) that identifies the entity recognizer.

                  + *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your custom entity recognizer. For more information, see Amazon + * VPC.

                  */ - EntityRecognizerArn?: string; + VpcConfig?: VpcConfig; /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

                  + *

                  The time that the recognizer was submitted for processing.

                  */ - DataAccessRoleArn?: string; + SubmitTime?: Date; /** - *

                  Provides information about an entity recognizer.

                  + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants + * Amazon Comprehend read access to your input data.

                  */ - RecognizerMetadata?: EntityRecognizerMetadata; + DataAccessRoleArn?: string; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  - *
                    - *
                  • - *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  + *

                  The time that training of the entity recognizer started.

                  */ - VolumeKmsKeyId?: string; + TrainingStartTime?: Date; /** - *

                  The language of the input documents. All documents must be in the same language. Only - * English ("en") is currently supported.

                  + *

                  Provides the status of the entity recognizer.

                  */ - LanguageCode?: LanguageCode | string; + Status?: ModelStatus | string; } export namespace EntityRecognizerProperties { @@ -2478,14 +2687,32 @@ export namespace DescribeKeyPhrasesDetectionJobRequest { */ export interface KeyPhrasesDetectionJobProperties { /** - *

                  The language code of the input documents.

                  + *

                  The time that the key phrases detection job completed.

                  */ - LanguageCode?: LanguageCode | string; + EndTime?: Date; /** - *

                  The identifier assigned to the key phrases detection job.

                  + *

                  The time that the key phrases detection job was submitted for processing.

                  */ - JobId?: string; + SubmitTime?: Date; + + /** + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  + *
                    + *
                  • + *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  • + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  + */ + VolumeKmsKeyId?: string; /** *

                  The current status of the key phrases detection job. If the status is FAILED, @@ -2494,9 +2721,10 @@ export interface KeyPhrasesDetectionJobProperties { JobStatus?: JobStatus | string; /** - *

                  The time that the key phrases detection job completed.

                  + *

                  The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input + * data.

                  */ - EndTime?: Date; + DataAccessRoleArn?: string; /** *

                  The input data configuration that you supplied when you created the key phrases detection @@ -2504,6 +2732,16 @@ export interface KeyPhrasesDetectionJobProperties { */ InputDataConfig?: InputDataConfig; + /** + *

                  A description of the status of a job.

                  + */ + Message?: string; + + /** + *

                  The identifier assigned to the key phrases detection job.

                  + */ + JobId?: string; + /** *

                  The output data configuration that you supplied when you created the key phrases detection * job.

                  @@ -2511,30 +2749,158 @@ export interface KeyPhrasesDetectionJobProperties { OutputDataConfig?: OutputDataConfig; /** - *

                  The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

                  + *

                  The name that you assigned the key phrases detection job.

                  */ - DataAccessRoleArn?: string; + JobName?: string; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  - *
                    - *
                  • - *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  + *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your key phrases detection job. For more information, see Amazon + * VPC.

                  */ - VolumeKmsKeyId?: string; + VpcConfig?: VpcConfig; /** - *

                  The name that you assigned the key phrases detection job.

                  + *

                  The language code of the input documents.

                  */ - JobName?: string; + LanguageCode?: LanguageCode | string; +} + +export namespace KeyPhrasesDetectionJobProperties { + export const filterSensitiveLog = (obj: KeyPhrasesDetectionJobProperties): any => ({ + ...obj, + }); +} + +export interface DescribeKeyPhrasesDetectionJobResponse { + /** + *

                  An object that contains the properties associated with a key phrases detection job. + *

                  + */ + KeyPhrasesDetectionJobProperties?: KeyPhrasesDetectionJobProperties; +} + +export namespace DescribeKeyPhrasesDetectionJobResponse { + export const filterSensitiveLog = (obj: DescribeKeyPhrasesDetectionJobResponse): any => ({ + ...obj, + }); +} + +export interface DescribePiiEntitiesDetectionJobRequest { + /** + *

                  The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its + * response.

                  + */ + JobId: string | undefined; +} + +export namespace DescribePiiEntitiesDetectionJobRequest { + export const filterSensitiveLog = (obj: DescribePiiEntitiesDetectionJobRequest): any => ({ + ...obj, + }); +} + +export enum PiiEntitiesDetectionMode { + ONLY_OFFSETS = "ONLY_OFFSETS", + ONLY_REDACTION = "ONLY_REDACTION", +} + +/** + *

                  Provides configuration parameters for the output of PII entity detection jobs.

                  + */ +export interface PiiOutputDataConfig { + /** + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the + * output results from an analysis job.

                  + */ + KmsKeyId?: string; + + /** + *

                  When you use the PiiOutputDataConfig object with asynchronous operations, + * you specify the Amazon S3 location where you want to write the output data.

                  + */ + S3Uri: string | undefined; +} + +export namespace PiiOutputDataConfig { + export const filterSensitiveLog = (obj: PiiOutputDataConfig): any => ({ + ...obj, + }); +} + +export enum PiiEntitiesDetectionMaskMode { + MASK = "MASK", + REPLACE_WITH_PII_ENTITY_TYPE = "REPLACE_WITH_PII_ENTITY_TYPE", +} + +export enum PiiEntityType { + ADDRESS = "ADDRESS", + AGE = "AGE", + ALL = "ALL", + AWS_ACCESS_KEY = "AWS_ACCESS_KEY", + AWS_SECRET_KEY = "AWS_SECRET_KEY", + BANK_ACCOUNT_NUMBER = "BANK_ACCOUNT_NUMBER", + BANK_ROUTING = "BANK_ROUTING", + CREDIT_DEBIT_CVV = "CREDIT_DEBIT_CVV", + CREDIT_DEBIT_EXPIRY = "CREDIT_DEBIT_EXPIRY", + CREDIT_DEBIT_NUMBER = "CREDIT_DEBIT_NUMBER", + DATE_TIME = "DATE_TIME", + DRIVER_ID = "DRIVER_ID", + EMAIL = "EMAIL", + IP_ADDRESS = "IP_ADDRESS", + MAC_ADDRESS = "MAC_ADDRESS", + NAME = "NAME", + PASSPORT_NUMBER = "PASSPORT_NUMBER", + PASSWORD = "PASSWORD", + PHONE = "PHONE", + PIN = "PIN", + SSN = "SSN", + URL = "URL", + USERNAME = "USERNAME", +} + +/** + *

                  Provides configuration parameters for PII entity redaction.

                  + */ +export interface RedactionConfig { + /** + *

                  Specifies whether the PII entity is redacted with the mask character or the entity + * type.

                  + */ + MaskMode?: PiiEntitiesDetectionMaskMode | string; + + /** + *

                  An array of the types of PII entities that Amazon Comprehend detects in the input text for + * your request.

                  + */ + PiiEntityTypes?: (PiiEntityType | string)[]; + + /** + *

                  A character that replaces each character in the redacted PII entity.

                  + */ + MaskCharacter?: string; +} + +export namespace RedactionConfig { + export const filterSensitiveLog = (obj: RedactionConfig): any => ({ + ...obj, + }); +} + +/** + *

                  Provides information about a PII entities detection job.

                  + */ +export interface PiiEntitiesDetectionJobProperties { + /** + *

                  The time that the PII entities detection job completed.

                  + */ + EndTime?: Date; + + /** + *

                  The output data configuration that you supplied when you created the PII entities + * detection job.

                  + */ + OutputDataConfig?: PiiOutputDataConfig; /** *

                  A description of the status of a job.

                  @@ -2542,33 +2908,72 @@ export interface KeyPhrasesDetectionJobProperties { Message?: string; /** - *

                  The time that the key phrases detection job was submitted for processing.

                  + *

                  The name that you assigned the PII entities detection job.

                  + */ + JobName?: string; + + /** + *

                  Specifies whether the output provides the locations (offsets) of PII entities or a file in + * which PII entities are redacted.

                  + */ + Mode?: PiiEntitiesDetectionMode | string; + + /** + *

                  The language code of the input documents

                  + */ + LanguageCode?: LanguageCode | string; + + /** + *

                  The identifier assigned to the PII entities detection job.

                  + */ + JobId?: string; + + /** + *

                  The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input + * data.

                  + */ + DataAccessRoleArn?: string; + + /** + *

                  The time that the PII entities detection job was submitted for processing.

                  */ SubmitTime?: Date; /** - *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your key phrases detection job. - * For more information, see Amazon VPC.

                  + *

                  Provides configuration parameters for PII entity redaction.

                  + *

                  This parameter is required if you set the Mode parameter to + * ONLY_REDACTION. In that case, you must provide a RedactionConfig + * definition that includes the PiiEntityTypes parameter.

                  */ - VpcConfig?: VpcConfig; + RedactionConfig?: RedactionConfig; + + /** + *

                  The input properties for a PII entities detection job.

                  + */ + InputDataConfig?: InputDataConfig; + + /** + *

                  The current status of the PII entities detection job. If the status is + * FAILED, the Message field shows the reason for the failure.

                  + */ + JobStatus?: JobStatus | string; } -export namespace KeyPhrasesDetectionJobProperties { - export const filterSensitiveLog = (obj: KeyPhrasesDetectionJobProperties): any => ({ +export namespace PiiEntitiesDetectionJobProperties { + export const filterSensitiveLog = (obj: PiiEntitiesDetectionJobProperties): any => ({ ...obj, }); } -export interface DescribeKeyPhrasesDetectionJobResponse { +export interface DescribePiiEntitiesDetectionJobResponse { /** - *

                  An object that contains the properties associated with a key phrases detection job. - *

                  + *

                  Provides information about a PII entities detection job.

                  */ - KeyPhrasesDetectionJobProperties?: KeyPhrasesDetectionJobProperties; + PiiEntitiesDetectionJobProperties?: PiiEntitiesDetectionJobProperties; } -export namespace DescribeKeyPhrasesDetectionJobResponse { - export const filterSensitiveLog = (obj: DescribeKeyPhrasesDetectionJobResponse): any => ({ +export namespace DescribePiiEntitiesDetectionJobResponse { + export const filterSensitiveLog = (obj: DescribePiiEntitiesDetectionJobResponse): any => ({ ...obj, }); } @@ -2592,29 +2997,20 @@ export namespace DescribeSentimentDetectionJobRequest { */ export interface SentimentDetectionJobProperties { /** - *

                  The identifier assigned to the sentiment detection job.

                  - */ - JobId?: string; - - /** - *

                  A description of the status of a job.

                  - */ - Message?: string; - - /** - *

                  The output data configuration that you supplied when you created the sentiment detection - * job.

                  + *

                  The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input + * data.

                  */ - OutputDataConfig?: OutputDataConfig; + DataAccessRoleArn?: string; /** - *

                  The name that you assigned to the sentiment detection job

                  + *

                  The time that the sentiment detection job was submitted for processing.

                  */ - JobName?: string; + SubmitTime?: Date; /** - *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your sentiment detection job. - * For more information, see Amazon VPC.

                  + *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your sentiment detection job. For more information, see Amazon + * VPC.

                  */ VpcConfig?: VpcConfig; @@ -2624,47 +3020,60 @@ export interface SentimentDetectionJobProperties { LanguageCode?: LanguageCode | string; /** - *

                  The input data configuration that you supplied when you created the sentiment detection - * job.

                  + *

                  The time that the sentiment detection job ended.

                  */ - InputDataConfig?: InputDataConfig; + EndTime?: Date; /** - *

                  The time that the sentiment detection job was submitted for processing.

                  + *

                  The output data configuration that you supplied when you created the sentiment detection + * job.

                  */ - SubmitTime?: Date; + OutputDataConfig?: OutputDataConfig; /** - *

                  The time that the sentiment detection job ended.

                  + *

                  The name that you assigned to the sentiment detection job

                  */ - EndTime?: Date; + JobName?: string; /** - *

                  The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

                  + *

                  A description of the status of a job.

                  */ - DataAccessRoleArn?: string; + Message?: string; /** - *

                  The current status of the sentiment detection job. If the status is FAILED, - * the Messages field shows the reason for the failure.

                  + *

                  The input data configuration that you supplied when you created the sentiment detection + * job.

                  */ - JobStatus?: JobStatus | string; + InputDataConfig?: InputDataConfig; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  */ VolumeKmsKeyId?: string; + + /** + *

                  The identifier assigned to the sentiment detection job.

                  + */ + JobId?: string; + + /** + *

                  The current status of the sentiment detection job. If the status is FAILED, + * the Messages field shows the reason for the failure.

                  + */ + JobStatus?: JobStatus | string; } export namespace SentimentDetectionJobProperties { @@ -2704,48 +3113,35 @@ export namespace DescribeTopicsDetectionJobRequest { */ export interface TopicsDetectionJobProperties { /** - *

                  A description for the status of a job.

                  + *

                  The current status of the topic detection job. If the status is Failed, + * the reason for the failure is shown in the Message field.

                  */ - Message?: string; + JobStatus?: JobStatus | string; /** - *

                  The time that the topic detection job was submitted for processing.

                  + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants + * Amazon Comprehend read access to your job data.

                  */ - SubmitTime?: Date; + DataAccessRoleArn?: string; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  - *
                    - *
                  • - *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  + *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the + * resources you are using for your topic detection job. For more information, see Amazon + * VPC.

                  */ - VolumeKmsKeyId?: string; + VpcConfig?: VpcConfig; /** - *

                  The current status of the topic detection job. If the status is Failed, - * the reason for the failure is shown in the Message field.

                  + *

                  The input data configuration supplied when you created the topic detection + * job.

                  */ - JobStatus?: JobStatus | string; + InputDataConfig?: InputDataConfig; /** *

                  The identifier assigned to the topic detection job.

                  */ JobId?: string; - /** - *

                  The input data configuration supplied when you created the topic detection - * job.

                  - */ - InputDataConfig?: InputDataConfig; - /** *

                  The number of topics to detect supplied when you created the topic detection job. The * default is 10.

                  @@ -2753,20 +3149,32 @@ export interface TopicsDetectionJobProperties { NumberOfTopics?: number; /** - *

                  The time that the topic detection job was completed.

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  + *
                    + *
                  • + *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  • + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  */ - EndTime?: Date; + VolumeKmsKeyId?: string; /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your job data.

                  + *

                  The time that the topic detection job was submitted for processing.

                  */ - DataAccessRoleArn?: string; + SubmitTime?: Date; /** - *

                  The output data configuration supplied when you created the topic detection - * job.

                  + *

                  A description for the status of a job.

                  */ - OutputDataConfig?: OutputDataConfig; + Message?: string; /** *

                  The name of the topic detection job.

                  @@ -2774,10 +3182,15 @@ export interface TopicsDetectionJobProperties { JobName?: string; /** - *

                  Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. - * For more information, see Amazon VPC.

                  + *

                  The time that the topic detection job was completed.

                  */ - VpcConfig?: VpcConfig; + EndTime?: Date; + + /** + *

                  The output data configuration supplied when you created the topic detection + * job.

                  + */ + OutputDataConfig?: OutputDataConfig; } export namespace TopicsDetectionJobProperties { @@ -2816,9 +3229,9 @@ export namespace DetectDominantLanguageRequest { export interface DetectDominantLanguageResponse { /** - *

                  The languages that Amazon Comprehend detected in the input text. For each language, the response - * returns the RFC 5646 language code and the level of confidence that Amazon Comprehend has in the accuracy - * of its inference. For more information about RFC 5646, see Tags for Identifying Languages on the + *

                  The languages that Amazon Comprehend detected in the input text. For each language, the + * response returns the RFC 5646 language code and the level of confidence that Amazon Comprehend + * has in the accuracy of its inference. For more information about RFC 5646, see Tags for Identifying Languages on the * IETF Tools web site.

                  */ Languages?: DominantLanguage[]; @@ -2831,6 +3244,12 @@ export namespace DetectDominantLanguageResponse { } export interface DetectEntitiesRequest { + /** + *

                  A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded + * characters.

                  + */ + Text: string | undefined; + /** *

                  The Amazon Resource Name of an endpoint that is associated with a custom entity * recognition model. Provide an endpoint if you want to detect entities by using your own custom @@ -2848,12 +3267,6 @@ export interface DetectEntitiesRequest { * specify here.

                  */ LanguageCode?: LanguageCode | string; - - /** - *

                  A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded - * characters.

                  - */ - Text: string | undefined; } export namespace DetectEntitiesRequest { @@ -2883,17 +3296,16 @@ export namespace DetectEntitiesResponse { export interface DetectKeyPhrasesRequest { /** - *

                  A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded - * characters.

                  + *

                  The language of the input documents. You can specify any of the primary languages + * supported by Amazon Comprehend. All documents must be in the same language.

                  */ - Text: string | undefined; + LanguageCode: LanguageCode | string | undefined; /** - *

                  The language of the input documents. You can specify any of the primary languages supported by Amazon - * Comprehend. - * All documents must be in the same language.

                  + *

                  A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded + * characters.

                  */ - LanguageCode: LanguageCode | string | undefined; + Text: string | undefined; } export namespace DetectKeyPhrasesRequest { @@ -2905,9 +3317,10 @@ export namespace DetectKeyPhrasesRequest { export interface DetectKeyPhrasesResponse { /** - *

                  A collection of key phrases that Amazon Comprehend identified in the input text. For each key - * phrase, the response provides the text of the key phrase, where the key phrase begins and - * ends, and the level of confidence that Amazon Comprehend has in the accuracy of the detection.

                  + *

                  A collection of key phrases that Amazon Comprehend identified in the input text. For + * each key phrase, the response provides the text of the key phrase, where the key phrase begins + * and ends, and the level of confidence that Amazon Comprehend has in the accuracy of the + * detection.

                  */ KeyPhrases?: KeyPhrase[]; } @@ -2918,6 +3331,79 @@ export namespace DetectKeyPhrasesResponse { }); } +export interface DetectPiiEntitiesRequest { + /** + *

                  A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded + * characters.

                  + */ + Text: string | undefined; + + /** + *

                  The language of the input documents.

                  + */ + LanguageCode: LanguageCode | string | undefined; +} + +export namespace DetectPiiEntitiesRequest { + export const filterSensitiveLog = (obj: DetectPiiEntitiesRequest): any => ({ + ...obj, + }); +} + +/** + *

                  Provides information about a PII entity.

                  + */ +export interface PiiEntity { + /** + *

                  The entity's type.

                  + */ + Type?: PiiEntityType | string; + + /** + *

                  The level of confidence that Amazon Comprehend has in the accuracy of the + * detection.

                  + */ + Score?: number; + + /** + *

                  A character offset in the input text that shows where the PII entity ends. The offset + * returns the position of each UTF-8 code point in the string. A code point + * is the abstract character from a particular graphical representation. For example, a + * multi-byte UTF-8 character maps to a single code point.

                  + */ + EndOffset?: number; + + /** + *

                  A character offset in the input text that shows where the PII entity begins (the first + * character is at position 0). The offset returns the position of each UTF-8 code point in the + * string. A code point is the abstract character from a particular + * graphical representation. For example, a multi-byte UTF-8 character maps to a single code + * point.

                  + */ + BeginOffset?: number; +} + +export namespace PiiEntity { + export const filterSensitiveLog = (obj: PiiEntity): any => ({ + ...obj, + }); +} + +export interface DetectPiiEntitiesResponse { + /** + *

                  A collection of PII entities identified in the input text. For each entity, the response + * provides the entity type, where the entity text begins and ends, and the level of confidence + * that Amazon Comprehend has in the detection.

                  + */ + Entities?: PiiEntity[]; +} + +export namespace DetectPiiEntitiesResponse { + export const filterSensitiveLog = (obj: DetectPiiEntitiesResponse): any => ({ + ...obj, + }); +} + export interface DetectSentimentRequest { /** *

                  A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded @@ -2926,9 +3412,8 @@ export interface DetectSentimentRequest { Text: string | undefined; /** - *

                  The language of the input documents. You can specify any of the primary languages supported by Amazon - * Comprehend. - * All documents must be in the same language.

                  + *

                  The language of the input documents. You can specify any of the primary languages + * supported by Amazon Comprehend. All documents must be in the same language.

                  */ LanguageCode: LanguageCode | string | undefined; } @@ -2942,15 +3427,16 @@ export namespace DetectSentimentRequest { export interface DetectSentimentResponse { /** - *

                  An object that lists the sentiments, and their corresponding confidence - * levels.

                  + *

                  The inferred sentiment that Amazon Comprehend has the highest level of confidence + * in.

                  */ - SentimentScore?: SentimentScore; + Sentiment?: SentimentType | string; /** - *

                  The inferred sentiment that Amazon Comprehend has the highest level of confidence in.

                  + *

                  An object that lists the sentiments, and their corresponding confidence + * levels.

                  */ - Sentiment?: SentimentType | string; + SentimentScore?: SentimentScore; } export namespace DetectSentimentResponse { @@ -2967,8 +3453,9 @@ export interface DetectSyntaxRequest { Text: string | undefined; /** - *

                  The language code of the input documents. You can specify any of the following languages supported by Amazon - * Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt").

                  + *

                  The language code of the input documents. You can specify any of the following languages + * supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), French ("fr"), + * Italian ("it"), or Portuguese ("pt").

                  */ LanguageCode: SyntaxLanguageCode | string | undefined; } @@ -2996,8 +3483,8 @@ export namespace DetectSyntaxResponse { } /** - *

                  The filter specified for the operation is invalid. - * Specify a different filter.

                  + *

                  The filter specified for the operation is invalid. Specify a different + * filter.

                  */ export interface InvalidFilterException extends __SmithyException, $MetadataBearer { name: "InvalidFilterException"; @@ -3022,11 +3509,6 @@ export interface DocumentClassificationJobFilter { */ JobName?: string; - /** - *

                  Filters the list based on job status. Returns only jobs with the specified status.

                  - */ - JobStatus?: JobStatus | string; - /** *

                  Filters the list of jobs based on the time that the job was submitted for processing. * Returns only jobs submitted after the specified time. Jobs are returned in descending order, @@ -3034,6 +3516,11 @@ export interface DocumentClassificationJobFilter { */ SubmitTimeAfter?: Date; + /** + *

                  Filters the list based on job status. Returns only jobs with the specified status.

                  + */ + JobStatus?: JobStatus | string; + /** *

                  Filters the list of jobs based on the time that the job was submitted for processing. * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, @@ -3056,14 +3543,14 @@ export interface ListDocumentClassificationJobsRequest { Filter?: DocumentClassificationJobFilter; /** - *

                  The maximum number of results to return in each page. The default is 100.

                  + *

                  Identifies the next page of results to return.

                  */ - MaxResults?: number; + NextToken?: string; /** - *

                  Identifies the next page of results to return.

                  + *

                  The maximum number of results to return in each page. The default is 100.

                  */ - NextToken?: string; + MaxResults?: number; } export namespace ListDocumentClassificationJobsRequest { @@ -3091,29 +3578,28 @@ export namespace ListDocumentClassificationJobsResponse { } /** - *

                  Provides information for filtering a list of document classifiers. You can - * only specify + *

                  Provides information for filtering a list of document classifiers. You can only specify * one filtering parameter in a request. For more information, see the operation.

                  */ export interface DocumentClassifierFilter { /** - *

                  Filters the list of classifiers based on the time that the classifier was submitted for - * processing. Returns only classifiers submitted after the specified time. Classifiers are returned in - * descending order, newest to oldest.

                  + *

                  Filters the list of classifiers based on status.

                  */ - SubmitTimeAfter?: Date; + Status?: ModelStatus | string; /** - *

                  Filters the list of classifiers based on status.

                  + *

                  Filters the list of classifiers based on the time that the classifier was submitted for + * processing. Returns only classifiers submitted before the specified time. Classifiers are + * returned in ascending order, oldest to newest.

                  */ - Status?: ModelStatus | string; + SubmitTimeBefore?: Date; /** *

                  Filters the list of classifiers based on the time that the classifier was submitted for - * processing. Returns only classifiers submitted before the specified time. Classifiers are returned in - * ascending order, oldest to newest.

                  + * processing. Returns only classifiers submitted after the specified time. Classifiers are + * returned in descending order, newest to oldest.

                  */ - SubmitTimeBefore?: Date; + SubmitTimeAfter?: Date; } export namespace DocumentClassifierFilter { @@ -3128,16 +3614,16 @@ export interface ListDocumentClassifiersRequest { */ NextToken?: string; - /** - *

                  The maximum number of results to return in each page. The default is 100.

                  - */ - MaxResults?: number; - /** *

                  Filters the jobs that are returned. You can filter jobs on their name, status, or the date * and time that they were submitted. You can only set one filter at a time.

                  */ Filter?: DocumentClassifierFilter; + + /** + *

                  The maximum number of results to return in each page. The default is 100.

                  + */ + MaxResults?: number; } export namespace ListDocumentClassifiersRequest { @@ -3148,14 +3634,14 @@ export namespace ListDocumentClassifiersRequest { export interface ListDocumentClassifiersResponse { /** - *

                  Identifies the next page of results to return.

                  + *

                  A list containing the properties of each job returned.

                  */ - NextToken?: string; + DocumentClassifierPropertiesList?: DocumentClassifierProperties[]; /** - *

                  A list containing the properties of each job returned.

                  + *

                  Identifies the next page of results to return.

                  */ - DocumentClassifierPropertiesList?: DocumentClassifierProperties[]; + NextToken?: string; } export namespace ListDocumentClassifiersResponse { @@ -3175,17 +3661,17 @@ export namespace ListDocumentClassifiersResponse { */ export interface DominantLanguageDetectionJobFilter { /** - *

                  Filters the list of jobs based on the time that the job was submitted for processing. - * Returns only jobs submitted after the specified time. Jobs are returned in descending order, - * newest to oldest.

                  + *

                  Filters the list of jobs based on job status. Returns only jobs with the specified + * status.

                  */ - SubmitTimeAfter?: Date; + JobStatus?: JobStatus | string; /** - *

                  Filters the list of jobs based on job status. Returns only jobs with the specified - * status.

                  + *

                  Filters the list of jobs based on the time that the job was submitted for processing. + * Returns only jobs submitted after the specified time. Jobs are returned in descending order, + * newest to oldest.

                  */ - JobStatus?: JobStatus | string; + SubmitTimeAfter?: Date; /** *

                  Filters on the name of the job.

                  @@ -3249,14 +3735,16 @@ export namespace ListDominantLanguageDetectionJobsResponse { } /** - *

                  The filter used to determine which endpoints are are returned. You can filter jobs on their name, model, status, or the date and time that they were created. - * You can only set one filter at a time.

                  + *

                  The filter used to determine which endpoints are are returned. You can filter jobs on + * their name, model, status, or the date and time that they were created. You can only set one + * filter at a time.

                  */ export interface EndpointFilter { /** - *

                  Specifies a date after which the returned endpoint or endpoints were created.

                  + *

                  Specifies the status of the endpoint being returned. Possible values are: Creating, Ready, + * Updating, Deleting, Failed.

                  */ - CreationTimeAfter?: Date; + Status?: EndpointStatus | string; /** *

                  Specifies a date before which the returned endpoint or endpoints were created.

                  @@ -3264,9 +3752,9 @@ export interface EndpointFilter { CreationTimeBefore?: Date; /** - *

                  Specifies the status of the endpoint being returned. Possible values are: Creating, Ready, Updating, Deleting, Failed.

                  + *

                  Specifies a date after which the returned endpoint or endpoints were created.

                  */ - Status?: EndpointStatus | string; + CreationTimeAfter?: Date; /** *

                  The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

                  @@ -3282,18 +3770,19 @@ export namespace EndpointFilter { export interface ListEndpointsRequest { /** - *

                  Identifies the next page of results to return.

                  + *

                  The maximum number of results to return in each page. The default is 100.

                  */ - NextToken?: string; + MaxResults?: number; /** - *

                  The maximum number of results to return in each page. The default is 100.

                  + *

                  Identifies the next page of results to return.

                  */ - MaxResults?: number; + NextToken?: string; /** - *

                  Filters the endpoints that are returned. You can filter endpoints on their name, model, status, or the date and time that they were created. - * You can only set one filter at a time.

                  + *

                  Filters the endpoints that are returned. You can filter endpoints on their name, model, + * status, or the date and time that they were created. You can only set one filter at a time. + *

                  */ Filter?: EndpointFilter; } @@ -3306,14 +3795,15 @@ export namespace ListEndpointsRequest { export interface ListEndpointsResponse { /** - *

                  Identifies the next page of results to return.

                  + *

                  Displays a list of endpoint properties being retrieved by the service in response to the + * request.

                  */ - NextToken?: string; + EndpointPropertiesList?: EndpointProperties[]; /** - *

                  Displays a list of endpoint properties being retrieved by the service in response to the request.

                  + *

                  Identifies the next page of results to return.

                  */ - EndpointPropertiesList?: EndpointProperties[]; + NextToken?: string; } export namespace ListEndpointsResponse { @@ -3327,6 +3817,11 @@ export namespace ListEndpointsResponse { * information, see the operation.

                  */ export interface EntitiesDetectionJobFilter { + /** + *

                  Filters on the name of the job.

                  + */ + JobName?: string; + /** *

                  Filters the list of jobs based on job status. Returns only jobs with the specified * status.

                  @@ -3340,11 +3835,6 @@ export interface EntitiesDetectionJobFilter { */ SubmitTimeAfter?: Date; - /** - *

                  Filters on the name of the job.

                  - */ - JobName?: string; - /** *

                  Filters the list of jobs based on the time that the job was submitted for processing. * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, @@ -3360,6 +3850,11 @@ export namespace EntitiesDetectionJobFilter { } export interface ListEntitiesDetectionJobsRequest { + /** + *

                  Identifies the next page of results to return.

                  + */ + NextToken?: string; + /** *

                  Filters the jobs that are returned. You can filter jobs on their name, status, or the date * and time that they were submitted. You can only set one filter at a time.

                  @@ -3370,11 +3865,6 @@ export interface ListEntitiesDetectionJobsRequest { *

                  The maximum number of results to return in each page. The default is 100.

                  */ MaxResults?: number; - - /** - *

                  Identifies the next page of results to return.

                  - */ - NextToken?: string; } export namespace ListEntitiesDetectionJobsRequest { @@ -3402,28 +3892,28 @@ export namespace ListEntitiesDetectionJobsResponse { } /** - *

                  Provides information for filtering a list of entity recognizers. You can only specify - * one filtering parameter in a request. For more information, see the operation./>

                  + *

                  Provides information for filtering a list of entity recognizers. You can only specify one + * filtering parameter in a request. For more information, see the operation./>

                  */ export interface EntityRecognizerFilter { /** - *

                  The status of an entity recognizer.

                  + *

                  Filters the list of entities based on the time that the list was submitted for processing. + * Returns only jobs submitted before the specified time. Jobs are returned in descending order, + * newest to oldest.

                  */ - Status?: ModelStatus | string; + SubmitTimeBefore?: Date; /** - *

                  Filters the list of entities based on the time that the list was submitted for processing. - * Returns only jobs submitted after the specified time. Jobs are returned in ascending order, - * oldest to newest.

                  + *

                  The status of an entity recognizer.

                  */ - SubmitTimeAfter?: Date; + Status?: ModelStatus | string; /** *

                  Filters the list of entities based on the time that the list was submitted for processing. - * Returns only jobs submitted before the specified time. Jobs are returned in descending order, - * newest to oldest.

                  + * Returns only jobs submitted after the specified time. Jobs are returned in ascending order, + * oldest to newest.

                  */ - SubmitTimeBefore?: Date; + SubmitTimeAfter?: Date; } export namespace EntityRecognizerFilter { @@ -3433,6 +3923,13 @@ export namespace EntityRecognizerFilter { } export interface ListEntityRecognizersRequest { + /** + *

                  Filters the list of entities returned. You can filter on Status, + * SubmitTimeBefore, or SubmitTimeAfter. You can only set one filter + * at a time.

                  + */ + Filter?: EntityRecognizerFilter; + /** *

                  Identifies the next page of results to return.

                  */ @@ -3442,11 +3939,6 @@ export interface ListEntityRecognizersRequest { *

                  The maximum number of results to return on each page. The default is 100.

                  */ MaxResults?: number; - - /** - *

                  Filters the list of entities returned. You can filter on Status, SubmitTimeBefore, or SubmitTimeAfter. You can only set one filter at a time.

                  - */ - Filter?: EntityRecognizerFilter; } export namespace ListEntityRecognizersRequest { @@ -3457,14 +3949,14 @@ export namespace ListEntityRecognizersRequest { export interface ListEntityRecognizersResponse { /** - *

                  Identifies the next page of results to return.

                  + *

                  The list of properties of an entity recognizer.

                  */ - NextToken?: string; + EntityRecognizerPropertiesList?: EntityRecognizerProperties[]; /** - *

                  The list of properties of an entity recognizer.

                  + *

                  Identifies the next page of results to return.

                  */ - EntityRecognizerPropertiesList?: EntityRecognizerProperties[]; + NextToken?: string; } export namespace ListEntityRecognizersResponse { @@ -3483,6 +3975,12 @@ export namespace ListEntityRecognizersResponse { * information, see the operation.

                  */ export interface KeyPhrasesDetectionJobFilter { + /** + *

                  Filters the list of jobs based on job status. Returns only jobs with the specified + * status.

                  + */ + JobStatus?: JobStatus | string; + /** *

                  Filters the list of jobs based on the time that the job was submitted for processing. * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, @@ -3495,12 +3993,6 @@ export interface KeyPhrasesDetectionJobFilter { */ JobName?: string; - /** - *

                  Filters the list of jobs based on job status. Returns only jobs with the specified - * status.

                  - */ - JobStatus?: JobStatus | string; - /** *

                  Filters the list of jobs based on the time that the job was submitted for processing. * Returns only jobs submitted after the specified time. Jobs are returned in descending order, @@ -3521,16 +4013,16 @@ export interface ListKeyPhrasesDetectionJobsRequest { */ NextToken?: string; - /** - *

                  The maximum number of results to return in each page. The default is 100.

                  - */ - MaxResults?: number; - /** *

                  Filters the jobs that are returned. You can filter jobs on their name, status, or the date * and time that they were submitted. You can only set one filter at a time.

                  */ Filter?: KeyPhrasesDetectionJobFilter; + + /** + *

                  The maximum number of results to return in each page. The default is 100.

                  + */ + MaxResults?: number; } export namespace ListKeyPhrasesDetectionJobsRequest { @@ -3558,10 +4050,21 @@ export namespace ListKeyPhrasesDetectionJobsResponse { } /** - *

                  Provides information for filtering a list of dominant language detection jobs. For more - * information, see the operation.

                  + *

                  Provides information for filtering a list of PII entity detection jobs.

                  */ -export interface SentimentDetectionJobFilter { +export interface PiiEntitiesDetectionJobFilter { + /** + *

                  Filters the list of jobs based on the time that the job was submitted for processing. + * Returns only jobs submitted before the specified time. Jobs are returned in ascending order, + * oldest to newest.

                  + */ + SubmitTimeBefore?: Date; + + /** + *

                  Filters on the name of the job.

                  + */ + JobName?: string; + /** *

                  Filters the list of jobs based on job status. Returns only jobs with the specified * status.

                  @@ -3574,6 +4077,66 @@ export interface SentimentDetectionJobFilter { * newest to oldest.

                  */ SubmitTimeAfter?: Date; +} + +export namespace PiiEntitiesDetectionJobFilter { + export const filterSensitiveLog = (obj: PiiEntitiesDetectionJobFilter): any => ({ + ...obj, + }); +} + +export interface ListPiiEntitiesDetectionJobsRequest { + /** + *

                  Identifies the next page of results to return.

                  + */ + NextToken?: string; + + /** + *

                  Filters the jobs that are returned. You can filter jobs on their name, status, or the date + * and time that they were submitted. You can only set one filter at a time.

                  + */ + Filter?: PiiEntitiesDetectionJobFilter; + + /** + *

                  The maximum number of results to return in each page.

                  + */ + MaxResults?: number; +} + +export namespace ListPiiEntitiesDetectionJobsRequest { + export const filterSensitiveLog = (obj: ListPiiEntitiesDetectionJobsRequest): any => ({ + ...obj, + }); +} + +export interface ListPiiEntitiesDetectionJobsResponse { + /** + *

                  Identifies the next page of results to return.

                  + */ + NextToken?: string; + + /** + *

                  A list containing the properties of each job that is returned.

                  + */ + PiiEntitiesDetectionJobPropertiesList?: PiiEntitiesDetectionJobProperties[]; +} + +export namespace ListPiiEntitiesDetectionJobsResponse { + export const filterSensitiveLog = (obj: ListPiiEntitiesDetectionJobsResponse): any => ({ + ...obj, + }); +} + +/** + *

                  Provides information for filtering a list of dominant language detection jobs. For more + * information, see the operation.

                  + */ +export interface SentimentDetectionJobFilter { + /** + *

                  Filters the list of jobs based on job status. Returns only jobs with the specified + * status.

                  + */ + JobStatus?: JobStatus | string; /** *

                  Filters the list of jobs based on the time that the job was submitted for processing. @@ -3582,6 +4145,13 @@ export interface SentimentDetectionJobFilter { */ SubmitTimeBefore?: Date; + /** + *

                  Filters the list of jobs based on the time that the job was submitted for processing. + * Returns only jobs submitted after the specified time. Jobs are returned in descending order, + * newest to oldest.

                  + */ + SubmitTimeAfter?: Date; + /** *

                  Filters on the name of the job.

                  */ @@ -3596,9 +4166,9 @@ export namespace SentimentDetectionJobFilter { export interface ListSentimentDetectionJobsRequest { /** - *

                  Identifies the next page of results to return.

                  + *

                  The maximum number of results to return in each page. The default is 100.

                  */ - NextToken?: string; + MaxResults?: number; /** *

                  Filters the jobs that are returned. You can filter jobs on their name, status, or the date @@ -3607,9 +4177,9 @@ export interface ListSentimentDetectionJobsRequest { Filter?: SentimentDetectionJobFilter; /** - *

                  The maximum number of results to return in each page. The default is 100.

                  + *

                  Identifies the next page of results to return.

                  */ - MaxResults?: number; + NextToken?: string; } export namespace ListSentimentDetectionJobsRequest { @@ -3620,14 +4190,14 @@ export namespace ListSentimentDetectionJobsRequest { export interface ListSentimentDetectionJobsResponse { /** - *

                  A list containing the properties of each job that is returned.

                  + *

                  Identifies the next page of results to return.

                  */ - SentimentDetectionJobPropertiesList?: SentimentDetectionJobProperties[]; + NextToken?: string; /** - *

                  Identifies the next page of results to return.

                  + *

                  A list containing the properties of each job that is returned.

                  */ - NextToken?: string; + SentimentDetectionJobPropertiesList?: SentimentDetectionJobProperties[]; } export namespace ListSentimentDetectionJobsResponse { @@ -3638,7 +4208,8 @@ export namespace ListSentimentDetectionJobsResponse { export interface ListTagsForResourceRequest { /** - *

                  The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying.

                  + *

                  The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying. + *

                  */ ResourceArn: string | undefined; } @@ -3651,13 +4222,16 @@ export namespace ListTagsForResourceRequest { export interface ListTagsForResourceResponse { /** - *

                  Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, - * a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department.

                  + *

                  Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value + * pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with + * "Sales" as the key might be added to a resource to indicate its use by the sales department. + *

                  */ Tags?: Tag[]; /** - *

                  The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying.

                  + *

                  The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are + * querying.

                  */ ResourceArn?: string; } @@ -3674,10 +4248,9 @@ export namespace ListTagsForResourceResponse { */ export interface TopicsDetectionJobFilter { /** - *

                  Filters the list of topic detection jobs based on job status. Returns only jobs with - * the specified status.

                  + *

                  */ - JobStatus?: JobStatus | string; + JobName?: string; /** *

                  Filters the list of jobs based on the time that the job was submitted for processing. @@ -3694,9 +4267,10 @@ export interface TopicsDetectionJobFilter { SubmitTimeBefore?: Date; /** - *

                  + *

                  Filters the list of topic detection jobs based on job status. Returns only jobs with + * the specified status.

                  */ - JobName?: string; + JobStatus?: JobStatus | string; } export namespace TopicsDetectionJobFilter { @@ -3706,6 +4280,11 @@ export namespace TopicsDetectionJobFilter { } export interface ListTopicsDetectionJobsRequest { + /** + *

                  Identifies the next page of results to return.

                  + */ + NextToken?: string; + /** *

                  The maximum number of results to return in each page. The default is 100.

                  */ @@ -3716,11 +4295,6 @@ export interface ListTopicsDetectionJobsRequest { * date and time that they were submitted. You can set only one filter at a time.

                  */ Filter?: TopicsDetectionJobFilter; - - /** - *

                  Identifies the next page of results to return.

                  - */ - NextToken?: string; } export namespace ListTopicsDetectionJobsRequest { @@ -3748,38 +4322,29 @@ export namespace ListTopicsDetectionJobsResponse { } export interface StartDocumentClassificationJobRequest { - /** - *

                  The Amazon Resource Name (ARN) of the document classifier to use to process the - * job.

                  - */ - DocumentClassifierArn: string | undefined; - /** *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that * grants Amazon Comprehend read access to your input data.

                  */ DataAccessRoleArn: string | undefined; - /** - *

                  Specifies where to send the output files.

                  - */ - OutputDataConfig: OutputDataConfig | undefined; - /** *

                  Specifies the format and location of the input data for the job.

                  */ InputDataConfig: InputDataConfig | undefined; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  @@ -3787,21 +4352,34 @@ export interface StartDocumentClassificationJobRequest { VolumeKmsKeyId?: string; /** - *

                  The identifier of the job.

                  + *

                  The Amazon Resource Name (ARN) of the document classifier to use to process the + * job.

                  */ - JobName?: string; + DocumentClassifierArn: string | undefined; /** - *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your document classification job. - * For more information, see Amazon VPC.

                  + *

                  Specifies where to send the output files.

                  */ - VpcConfig?: VpcConfig; + OutputDataConfig: OutputDataConfig | undefined; /** - *

                  A unique identifier for the request. If you do not set the client request token, Amazon Comprehend - * generates one.

                  + *

                  A unique identifier for the request. If you do not set the client request token, Amazon + * Comprehend generates one.

                  */ ClientRequestToken?: string; + + /** + *

                  The identifier of the job.

                  + */ + JobName?: string; + + /** + *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for your document classification job. For more information, see + * Amazon + * VPC.

                  + */ + VpcConfig?: VpcConfig; } export namespace StartDocumentClassificationJobRequest { @@ -3827,7 +4405,8 @@ export interface StartDocumentClassificationJobResponse { *

                  FAILED - The job did not complete. For details, use the operation.

                  * *
                • - *

                  STOP_REQUESTED - Amazon Comprehend has received a stop request for the job and is processing the request.

                  + *

                  STOP_REQUESTED - Amazon Comprehend has received a stop request for the job and is + * processing the request.

                  *
                • *
                • *

                  STOPPED - The job was successfully stopped without completing.

                  @@ -3851,25 +4430,23 @@ export namespace StartDocumentClassificationJobResponse { export interface StartDominantLanguageDetectionJobRequest { /** - *

                  An identifier for the job.

                  - */ - JobName?: string; - - /** - *

                  Specifies the format and location of the input data for the job.

                  + *

                  A unique identifier for the request. If you do not set the client request token, Amazon + * Comprehend generates one.

                  */ - InputDataConfig: InputDataConfig | undefined; + ClientRequestToken?: string; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  @@ -3877,22 +4454,27 @@ export interface StartDominantLanguageDetectionJobRequest { VolumeKmsKeyId?: string; /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

                  + *

                  Specifies the format and location of the input data for the job.

                  */ - DataAccessRoleArn: string | undefined; + InputDataConfig: InputDataConfig | undefined; /** - *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your dominant language detection job. - * For more information, see Amazon VPC.

                  + *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for your dominant language detection job. For more information, + * see Amazon VPC.

                  */ VpcConfig?: VpcConfig; /** - *

                  A unique identifier for the request. If you do not set the client request token, Amazon Comprehend - * generates one.

                  + *

                  An identifier for the job.

                  + */ + JobName?: string; + + /** + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

                  */ - ClientRequestToken?: string; + DataAccessRoleArn: string | undefined; /** *

                  Specifies where to send the output files.

                  @@ -3941,32 +4523,24 @@ export namespace StartDominantLanguageDetectionJobResponse { export interface StartEntitiesDetectionJobRequest { /** - *

                  Specifies where to send the output files.

                  + *

                  The language of the input documents. All documents must be in the same language. You can + * specify any of the languages supported by Amazon Comprehend. If custom entities recognition is + * used, this parameter is ignored and the language used for training the model is used + * instead.

                  */ - OutputDataConfig: OutputDataConfig | undefined; + LanguageCode: LanguageCode | string | undefined; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  - *
                    - *
                  • - *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

                    - *
                  • - *
                  + *

                  A unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

                  */ - VolumeKmsKeyId?: string; + ClientRequestToken?: string; /** - *

                  The Amazon Resource Name (ARN) that identifies the specific entity recognizer to be used by - * the StartEntitiesDetectionJob. This ARN is optional and is only used for a custom entity - * recognition job.

                  + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

                  */ - EntityRecognizerArn?: string; + DataAccessRoleArn: string | undefined; /** *

                  Specifies the format and location of the input data for the job.

                  @@ -3974,34 +4548,46 @@ export interface StartEntitiesDetectionJobRequest { InputDataConfig: InputDataConfig | undefined; /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

                  + *

                  The Amazon Resource Name (ARN) that identifies the specific entity recognizer to be used + * by the StartEntitiesDetectionJob. This ARN is optional and is only used for a + * custom entity recognition job.

                  */ - DataAccessRoleArn: string | undefined; + EntityRecognizerArn?: string; /** - *

                  The identifier of the job.

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  + *
                    + *
                  • + *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  • + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    + *
                  • + *
                  */ - JobName?: string; + VolumeKmsKeyId?: string; /** - *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your entity detection job. - * For more information, see Amazon VPC.

                  + *

                  Specifies where to send the output files.

                  */ - VpcConfig?: VpcConfig; + OutputDataConfig: OutputDataConfig | undefined; /** - *

                  The language of the input documents. All documents must be in the same language. - * You can specify any of the languages supported by Amazon Comprehend. If custom entities recognition is used, this - * parameter is ignored and the language used for training the model is used instead.

                  + *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for your entity detection job. For more information, see Amazon + * VPC.

                  */ - LanguageCode: LanguageCode | string | undefined; + VpcConfig?: VpcConfig; /** - *

                  A unique identifier for the request. If you don't set the client request token, Amazon Comprehend - * generates one.

                  + *

                  The identifier of the job.

                  */ - ClientRequestToken?: string; + JobName?: string; } export namespace StartEntitiesDetectionJobRequest { @@ -4011,12 +4597,6 @@ export namespace StartEntitiesDetectionJobRequest { } export interface StartEntitiesDetectionJobResponse { - /** - *

                  The identifier generated for the job. To get the status of job, use this identifier with - * the operation.

                  - */ - JobId?: string; - /** *

                  The status of the job.

                  *
                    @@ -4033,7 +4613,8 @@ export interface StartEntitiesDetectionJobResponse { *

                    FAILED - The job did not complete. To get details, use the operation.

                    * *
                  • - *

                    STOP_REQUESTED - Amazon Comprehend has received a stop request for the job and is processing the request.

                    + *

                    STOP_REQUESTED - Amazon Comprehend has received a stop request for the job and is + * processing the request.

                    *
                  • *
                  • *

                    STOPPED - The job was successfully stopped without completing.

                    @@ -4041,6 +4622,12 @@ export interface StartEntitiesDetectionJobResponse { *
                  */ JobStatus?: JobStatus | string; + + /** + *

                  The identifier generated for the job. To get the status of job, use this identifier with + * the operation.

                  + */ + JobId?: string; } export namespace StartEntitiesDetectionJobResponse { @@ -4051,32 +4638,17 @@ export namespace StartEntitiesDetectionJobResponse { export interface StartKeyPhrasesDetectionJobRequest { /** - *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your key phrases detection job. - * For more information, see Amazon VPC.

                  - */ - VpcConfig?: VpcConfig; - - /** - *

                  Specifies the format and location of the input data for the job.

                  - */ - InputDataConfig: InputDataConfig | undefined; - - /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

                  - */ - DataAccessRoleArn: string | undefined; - - /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  @@ -4084,27 +4656,45 @@ export interface StartKeyPhrasesDetectionJobRequest { VolumeKmsKeyId?: string; /** - *

                  Specifies where to send the output files.

                  + *

                  Specifies the format and location of the input data for the job.

                  */ - OutputDataConfig: OutputDataConfig | undefined; + InputDataConfig: InputDataConfig | undefined; /** - *

                  A unique identifier for the request. If you don't set the client request token, Amazon Comprehend - * generates one.

                  + *

                  The identifier of the job.

                  */ - ClientRequestToken?: string; + JobName?: string; /** - *

                  The language of the input documents. You can specify any of the primary languages supported by Amazon - * Comprehend. All - * documents must be in the same language.

                  + *

                  The language of the input documents. You can specify any of the primary languages + * supported by Amazon Comprehend. All documents must be in the same language.

                  */ LanguageCode: LanguageCode | string | undefined; /** - *

                  The identifier of the job.

                  + *

                  A unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

                  */ - JobName?: string; + ClientRequestToken?: string; + + /** + *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for your key phrases detection job. For more information, see + * Amazon + * VPC.

                  + */ + VpcConfig?: VpcConfig; + + /** + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

                  + */ + DataAccessRoleArn: string | undefined; + + /** + *

                  Specifies where to send the output files.

                  + */ + OutputDataConfig: OutputDataConfig | undefined; } export namespace StartKeyPhrasesDetectionJobRequest { @@ -4146,28 +4736,106 @@ export namespace StartKeyPhrasesDetectionJobResponse { }); } -export interface StartSentimentDetectionJobRequest { +export interface StartPiiEntitiesDetectionJobRequest { /** - *

                  Specifies the format and location of the input data for the job.

                  + *

                  The language of the input documents.

                  */ - InputDataConfig: InputDataConfig | undefined; + LanguageCode: LanguageCode | string | undefined; + + /** + *

                  A unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

                  + */ + ClientRequestToken?: string; /** *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

                  + * grants Amazon Comprehend read access to your input data.

                  */ DataAccessRoleArn: string | undefined; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  + *

                  Specifies whether the output provides the locations (offsets) of PII entities or a file in + * which PII entities are redacted.

                  + */ + Mode: PiiEntitiesDetectionMode | string | undefined; + + /** + *

                  The identifier of the job.

                  + */ + JobName?: string; + + /** + *

                  Provides configuration parameters for the output of PII entity detection jobs.

                  + */ + OutputDataConfig: OutputDataConfig | undefined; + + /** + *

                  Provides configuration parameters for PII entity redaction.

                  + *

                  This parameter is required if you set the Mode parameter to + * ONLY_REDACTION. In that case, you must provide a RedactionConfig + * definition that includes the PiiEntityTypes parameter.

                  + */ + RedactionConfig?: RedactionConfig; + + /** + *

                  The input properties for a PII entities detection job.

                  + */ + InputDataConfig: InputDataConfig | undefined; +} + +export namespace StartPiiEntitiesDetectionJobRequest { + export const filterSensitiveLog = (obj: StartPiiEntitiesDetectionJobRequest): any => ({ + ...obj, + }); +} + +export interface StartPiiEntitiesDetectionJobResponse { + /** + *

                  The identifier generated for the job.

                  + */ + JobId?: string; + + /** + *

                  The status of the job.

                  + */ + JobStatus?: JobStatus | string; +} + +export namespace StartPiiEntitiesDetectionJobResponse { + export const filterSensitiveLog = (obj: StartPiiEntitiesDetectionJobResponse): any => ({ + ...obj, + }); +} + +export interface StartSentimentDetectionJobRequest { + /** + *

                  The identifier of the job.

                  + */ + JobName?: string; + + /** + *

                  Specifies where to send the output files.

                  + */ + OutputDataConfig: OutputDataConfig | undefined; + + /** + *

                  Specifies the format and location of the input data for the job.

                  + */ + InputDataConfig: InputDataConfig | undefined; + + /** + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  @@ -4175,33 +4843,29 @@ export interface StartSentimentDetectionJobRequest { VolumeKmsKeyId?: string; /** - *

                  Specifies where to send the output files.

                  + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

                  */ - OutputDataConfig: OutputDataConfig | undefined; + DataAccessRoleArn: string | undefined; /** - *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your sentiment detection job. - * For more information, see Amazon VPC.

                  + *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for your sentiment detection job. For more information, see Amazon + * VPC.

                  */ VpcConfig?: VpcConfig; /** - *

                  A unique identifier for the request. If you don't set the client request token, Amazon Comprehend - * generates one.

                  + *

                  A unique identifier for the request. If you don't set the client request token, Amazon + * Comprehend generates one.

                  */ ClientRequestToken?: string; /** - *

                  The language of the input documents. You can specify any of the primary languages supported by Amazon - * Comprehend. All - * documents must be in the same language.

                  + *

                  The language of the input documents. You can specify any of the primary languages + * supported by Amazon Comprehend. All documents must be in the same language.

                  */ LanguageCode: LanguageCode | string | undefined; - - /** - *

                  The identifier of the job.

                  - */ - JobName?: string; } export namespace StartSentimentDetectionJobRequest { @@ -4245,20 +4909,9 @@ export namespace StartSentimentDetectionJobResponse { export interface StartTopicsDetectionJobRequest { /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role - * that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

                  - */ - DataAccessRoleArn: string | undefined; - - /** - *

                  A unique identifier for the request. If you do not set the client request token, Amazon Comprehend - * generates one.

                  - */ - ClientRequestToken?: string; - - /** - *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. - * For more information, see Amazon VPC.

                  + *

                  Configuration parameters for an optional private Virtual Private Cloud (VPC) containing + * the resources you are using for your topic detection job. For more information, see Amazon + * VPC.

                  */ VpcConfig?: VpcConfig; @@ -4268,37 +4921,51 @@ export interface StartTopicsDetectionJobRequest { InputDataConfig: InputDataConfig | undefined; /** - *

                  The number of topics to detect.

                  + *

                  The identifier of the job.

                  */ - NumberOfTopics?: number; + JobName?: string; /** - *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that - * process the analysis job. The VolumeKmsKeyId can be either of the following formats:

                  + *

                  ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt + * data on the storage volume attached to the ML compute instance(s) that process the analysis + * job. The VolumeKmsKeyId can be either of the following formats:

                  *
                    *
                  • *

                    KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  • - *

                    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                    Amazon Resource Name (ARN) of a KMS Key: + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

                    *
                  • *
                  */ VolumeKmsKeyId?: string; + /** + *

                  The number of topics to detect.

                  + */ + NumberOfTopics?: number; + + /** + *

                  A unique identifier for the request. If you do not set the client request token, Amazon + * Comprehend generates one.

                  + */ + ClientRequestToken?: string; + + /** + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role + * that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

                  + */ + DataAccessRoleArn: string | undefined; + /** *

                  Specifies where to send the output files. The output is a compressed archive with two * files, topic-terms.csv that lists the terms associated with each topic, and * doc-topics.csv that lists the documents associated with each topic

                  */ OutputDataConfig: OutputDataConfig | undefined; - - /** - *

                  The identifier of the job.

                  - */ - JobName?: string; } export namespace StartTopicsDetectionJobRequest { @@ -4356,17 +5023,17 @@ export namespace StopDominantLanguageDetectionJobRequest { } export interface StopDominantLanguageDetectionJobResponse { + /** + *

                  The identifier of the dominant language detection job to stop.

                  + */ + JobId?: string; + /** *

                  Either STOP_REQUESTED if the job is currently running, or * STOPPED if the job was previously stopped with the * StopDominantLanguageDetectionJob operation.

                  */ JobStatus?: JobStatus | string; - - /** - *

                  The identifier of the dominant language detection job to stop.

                  - */ - JobId?: string; } export namespace StopDominantLanguageDetectionJobResponse { @@ -4389,17 +5056,17 @@ export namespace StopEntitiesDetectionJobRequest { } export interface StopEntitiesDetectionJobResponse { - /** - *

                  The identifier of the entities detection job to stop.

                  - */ - JobId?: string; - /** *

                  Either STOP_REQUESTED if the job is currently running, or * STOPPED if the job was previously stopped with the * StopEntitiesDetectionJob operation.

                  */ JobStatus?: JobStatus | string; + + /** + *

                  The identifier of the entities detection job to stop.

                  + */ + JobId?: string; } export namespace StopEntitiesDetectionJobResponse { @@ -4441,6 +5108,37 @@ export namespace StopKeyPhrasesDetectionJobResponse { }); } +export interface StopPiiEntitiesDetectionJobRequest { + /** + *

                  The identifier of the PII entities detection job to stop.

                  + */ + JobId: string | undefined; +} + +export namespace StopPiiEntitiesDetectionJobRequest { + export const filterSensitiveLog = (obj: StopPiiEntitiesDetectionJobRequest): any => ({ + ...obj, + }); +} + +export interface StopPiiEntitiesDetectionJobResponse { + /** + *

                  The status of the PII entities detection job.

                  + */ + JobStatus?: JobStatus | string; + + /** + *

                  The identifier of the PII entities detection job to stop.

                  + */ + JobId?: string; +} + +export namespace StopPiiEntitiesDetectionJobResponse { + export const filterSensitiveLog = (obj: StopPiiEntitiesDetectionJobResponse): any => ({ + ...obj, + }); +} + export interface StopSentimentDetectionJobRequest { /** *

                  The identifier of the sentiment detection job to stop.

                  @@ -4476,7 +5174,8 @@ export namespace StopSentimentDetectionJobResponse { export interface StopTrainingDocumentClassifierRequest { /** - *

                  The Amazon Resource Name (ARN) that identifies the document classifier currently being trained.

                  + *

                  The Amazon Resource Name (ARN) that identifies the document classifier currently being + * trained.

                  */ DocumentClassifierArn: string | undefined; } @@ -4497,7 +5196,8 @@ export namespace StopTrainingDocumentClassifierResponse { export interface StopTrainingEntityRecognizerRequest { /** - *

                  The Amazon Resource Name (ARN) that identifies the entity recognizer currently being trained.

                  + *

                  The Amazon Resource Name (ARN) that identifies the entity recognizer currently being + * trained.

                  */ EntityRecognizerArn: string | undefined; } @@ -4517,7 +5217,8 @@ export namespace StopTrainingEntityRecognizerResponse { } /** - *

                  Concurrent modification of the tags associated with an Amazon Comprehend resource is not supported.

                  + *

                  Concurrent modification of the tags associated with an Amazon Comprehend resource is not + * supported.

                  */ export interface ConcurrentModificationException extends __SmithyException, $MetadataBearer { name: "ConcurrentModificationException"; @@ -4533,12 +5234,14 @@ export namespace ConcurrentModificationException { export interface TagResourceRequest { /** - *

                  The Amazon Resource Name (ARN) of the given Amazon Comprehend resource to which you want to associate the tags.

                  + *

                  The Amazon Resource Name (ARN) of the given Amazon Comprehend resource to which you want + * to associate the tags.

                  */ ResourceArn: string | undefined; /** - *

                  Tags being associated with a specific Amazon Comprehend resource. There can be a maximum of 50 tags (both existing and pending) associated with a specific resource.

                  + *

                  Tags being associated with a specific Amazon Comprehend resource. There can be a maximum + * of 50 tags (both existing and pending) associated with a specific resource.

                  */ Tags: Tag[] | undefined; } @@ -4558,7 +5261,8 @@ export namespace TagResourceResponse { } /** - *

                  The request contains more tag keys than can be associated with a resource (50 tag keys per resource).

                  + *

                  The request contains more tag keys than can be associated with a resource (50 tag keys per + * resource).

                  */ export interface TooManyTagKeysException extends __SmithyException, $MetadataBearer { name: "TooManyTagKeysException"; @@ -4574,14 +5278,16 @@ export namespace TooManyTagKeysException { export interface UntagResourceRequest { /** - *

                  The Amazon Resource Name (ARN) of the given Amazon Comprehend resource from which you want to remove the tags.

                  + *

                  The Amazon Resource Name (ARN) of the given Amazon Comprehend resource from which you + * want to remove the tags.

                  */ ResourceArn: string | undefined; /** *

                  The initial part of a key-value pair that forms a tag being removed from a given resource. - * For example, - * a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department. Keys must be unique and cannot be duplicated for a particular resource.

                  + * For example, a tag with "Sales" as the key might be added to a resource to indicate its use by + * the sales department. Keys must be unique and cannot be duplicated for a particular resource. + *

                  */ TagKeys: string[] | undefined; } @@ -4602,15 +5308,16 @@ export namespace UntagResourceResponse { export interface UpdateEndpointRequest { /** - *

                  The Amazon Resource Number (ARN) of the endpoint being updated.

                  + *

                  The desired number of inference units to be used by the model using this endpoint. + * + * Each inference unit represents of a throughput of 100 characters per second.

                  */ - EndpointArn: string | undefined; + DesiredInferenceUnits: number | undefined; /** - *

                  The desired number of inference units to be used by the model using this endpoint. Each - * inference unit represents of a throughput of 100 characters per second.

                  + *

                  The Amazon Resource Number (ARN) of the endpoint being updated.

                  */ - DesiredInferenceUnits: number | undefined; + EndpointArn: string | undefined; } export namespace UpdateEndpointRequest { diff --git a/clients/client-comprehend/protocols/Aws_json1_1.ts b/clients/client-comprehend/protocols/Aws_json1_1.ts index 779c40dc8ba8..6c57de3c7d97 100644 --- a/clients/client-comprehend/protocols/Aws_json1_1.ts +++ b/clients/client-comprehend/protocols/Aws_json1_1.ts @@ -59,6 +59,10 @@ import { DescribeKeyPhrasesDetectionJobCommandInput, DescribeKeyPhrasesDetectionJobCommandOutput, } from "../commands/DescribeKeyPhrasesDetectionJobCommand"; +import { + DescribePiiEntitiesDetectionJobCommandInput, + DescribePiiEntitiesDetectionJobCommandOutput, +} from "../commands/DescribePiiEntitiesDetectionJobCommand"; import { DescribeSentimentDetectionJobCommandInput, DescribeSentimentDetectionJobCommandOutput, @@ -73,6 +77,7 @@ import { } from "../commands/DetectDominantLanguageCommand"; import { DetectEntitiesCommandInput, DetectEntitiesCommandOutput } from "../commands/DetectEntitiesCommand"; import { DetectKeyPhrasesCommandInput, DetectKeyPhrasesCommandOutput } from "../commands/DetectKeyPhrasesCommand"; +import { DetectPiiEntitiesCommandInput, DetectPiiEntitiesCommandOutput } from "../commands/DetectPiiEntitiesCommand"; import { DetectSentimentCommandInput, DetectSentimentCommandOutput } from "../commands/DetectSentimentCommand"; import { DetectSyntaxCommandInput, DetectSyntaxCommandOutput } from "../commands/DetectSyntaxCommand"; import { @@ -100,6 +105,10 @@ import { ListKeyPhrasesDetectionJobsCommandInput, ListKeyPhrasesDetectionJobsCommandOutput, } from "../commands/ListKeyPhrasesDetectionJobsCommand"; +import { + ListPiiEntitiesDetectionJobsCommandInput, + ListPiiEntitiesDetectionJobsCommandOutput, +} from "../commands/ListPiiEntitiesDetectionJobsCommand"; import { ListSentimentDetectionJobsCommandInput, ListSentimentDetectionJobsCommandOutput, @@ -128,6 +137,10 @@ import { StartKeyPhrasesDetectionJobCommandInput, StartKeyPhrasesDetectionJobCommandOutput, } from "../commands/StartKeyPhrasesDetectionJobCommand"; +import { + StartPiiEntitiesDetectionJobCommandInput, + StartPiiEntitiesDetectionJobCommandOutput, +} from "../commands/StartPiiEntitiesDetectionJobCommand"; import { StartSentimentDetectionJobCommandInput, StartSentimentDetectionJobCommandOutput, @@ -148,6 +161,10 @@ import { StopKeyPhrasesDetectionJobCommandInput, StopKeyPhrasesDetectionJobCommandOutput, } from "../commands/StopKeyPhrasesDetectionJobCommand"; +import { + StopPiiEntitiesDetectionJobCommandInput, + StopPiiEntitiesDetectionJobCommandOutput, +} from "../commands/StopPiiEntitiesDetectionJobCommand"; import { StopSentimentDetectionJobCommandInput, StopSentimentDetectionJobCommandOutput, @@ -164,6 +181,7 @@ import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/T import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateEndpointCommandInput, UpdateEndpointCommandOutput } from "../commands/UpdateEndpointCommand"; import { + AugmentedManifestsListItem, BatchDetectDominantLanguageItemResult, BatchDetectDominantLanguageRequest, BatchDetectDominantLanguageResponse, @@ -212,6 +230,8 @@ import { DescribeEntityRecognizerResponse, DescribeKeyPhrasesDetectionJobRequest, DescribeKeyPhrasesDetectionJobResponse, + DescribePiiEntitiesDetectionJobRequest, + DescribePiiEntitiesDetectionJobResponse, DescribeSentimentDetectionJobRequest, DescribeSentimentDetectionJobResponse, DescribeTopicsDetectionJobRequest, @@ -222,6 +242,8 @@ import { DetectEntitiesResponse, DetectKeyPhrasesRequest, DetectKeyPhrasesResponse, + DetectPiiEntitiesRequest, + DetectPiiEntitiesResponse, DetectSentimentRequest, DetectSentimentResponse, DetectSyntaxRequest, @@ -276,6 +298,8 @@ import { ListEntityRecognizersResponse, ListKeyPhrasesDetectionJobsRequest, ListKeyPhrasesDetectionJobsResponse, + ListPiiEntitiesDetectionJobsRequest, + ListPiiEntitiesDetectionJobsResponse, ListSentimentDetectionJobsRequest, ListSentimentDetectionJobsResponse, ListTagsForResourceRequest, @@ -284,6 +308,12 @@ import { ListTopicsDetectionJobsResponse, OutputDataConfig, PartOfSpeechTag, + PiiEntitiesDetectionJobFilter, + PiiEntitiesDetectionJobProperties, + PiiEntity, + PiiEntityType, + PiiOutputDataConfig, + RedactionConfig, ResourceInUseException, ResourceLimitExceededException, ResourceNotFoundException, @@ -299,6 +329,8 @@ import { StartEntitiesDetectionJobResponse, StartKeyPhrasesDetectionJobRequest, StartKeyPhrasesDetectionJobResponse, + StartPiiEntitiesDetectionJobRequest, + StartPiiEntitiesDetectionJobResponse, StartSentimentDetectionJobRequest, StartSentimentDetectionJobResponse, StartTopicsDetectionJobRequest, @@ -309,6 +341,8 @@ import { StopEntitiesDetectionJobResponse, StopKeyPhrasesDetectionJobRequest, StopKeyPhrasesDetectionJobResponse, + StopPiiEntitiesDetectionJobRequest, + StopPiiEntitiesDetectionJobResponse, StopSentimentDetectionJobRequest, StopSentimentDetectionJobResponse, StopTrainingDocumentClassifierRequest, @@ -590,6 +624,19 @@ export const serializeAws_json1_1DescribeKeyPhrasesDetectionJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribePiiEntitiesDetectionJobCommand = async ( + input: DescribePiiEntitiesDetectionJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Comprehend_20171127.DescribePiiEntitiesDetectionJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribePiiEntitiesDetectionJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeSentimentDetectionJobCommand = async ( input: DescribeSentimentDetectionJobCommandInput, context: __SerdeContext @@ -655,6 +702,19 @@ export const serializeAws_json1_1DetectKeyPhrasesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DetectPiiEntitiesCommand = async ( + input: DetectPiiEntitiesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Comprehend_20171127.DetectPiiEntities", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DetectPiiEntitiesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DetectSentimentCommand = async ( input: DetectSentimentCommandInput, context: __SerdeContext @@ -772,6 +832,19 @@ export const serializeAws_json1_1ListKeyPhrasesDetectionJobsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListPiiEntitiesDetectionJobsCommand = async ( + input: ListPiiEntitiesDetectionJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Comprehend_20171127.ListPiiEntitiesDetectionJobs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListPiiEntitiesDetectionJobsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListSentimentDetectionJobsCommand = async ( input: ListSentimentDetectionJobsCommandInput, context: __SerdeContext @@ -863,6 +936,19 @@ export const serializeAws_json1_1StartKeyPhrasesDetectionJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StartPiiEntitiesDetectionJobCommand = async ( + input: StartPiiEntitiesDetectionJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Comprehend_20171127.StartPiiEntitiesDetectionJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StartPiiEntitiesDetectionJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1StartSentimentDetectionJobCommand = async ( input: StartSentimentDetectionJobCommandInput, context: __SerdeContext @@ -928,6 +1014,19 @@ export const serializeAws_json1_1StopKeyPhrasesDetectionJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StopPiiEntitiesDetectionJobCommand = async ( + input: StopPiiEntitiesDetectionJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Comprehend_20171127.StopPiiEntitiesDetectionJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StopPiiEntitiesDetectionJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1StopSentimentDetectionJobCommand = async ( input: StopSentimentDetectionJobCommandInput, context: __SerdeContext @@ -2675,6 +2774,85 @@ const deserializeAws_json1_1DescribeKeyPhrasesDetectionJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribePiiEntitiesDetectionJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribePiiEntitiesDetectionJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribePiiEntitiesDetectionJobResponse(data, context); + const response: DescribePiiEntitiesDetectionJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribePiiEntitiesDetectionJobCommandError = 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 "InternalServerException": + case "com.amazonaws.comprehend#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.comprehend#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "JobNotFoundException": + case "com.amazonaws.comprehend#JobNotFoundException": + response = { + ...(await deserializeAws_json1_1JobNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.comprehend#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(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_1DescribeSentimentDetectionJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3070,6 +3248,85 @@ const deserializeAws_json1_1DetectKeyPhrasesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DetectPiiEntitiesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DetectPiiEntitiesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DetectPiiEntitiesResponse(data, context); + const response: DetectPiiEntitiesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DetectPiiEntitiesCommandError = 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 "InternalServerException": + case "com.amazonaws.comprehend#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.comprehend#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TextSizeLimitExceededException": + case "com.amazonaws.comprehend#TextSizeLimitExceededException": + response = { + ...(await deserializeAws_json1_1TextSizeLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedLanguageException": + case "com.amazonaws.comprehend#UnsupportedLanguageException": + response = { + ...(await deserializeAws_json1_1UnsupportedLanguageExceptionResponse(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_1DetectSentimentCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3773,27 +4030,27 @@ const deserializeAws_json1_1ListKeyPhrasesDetectionJobsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListSentimentDetectionJobsCommand = async ( +export const deserializeAws_json1_1ListPiiEntitiesDetectionJobsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListSentimentDetectionJobsCommandError(output, context); + return deserializeAws_json1_1ListPiiEntitiesDetectionJobsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListSentimentDetectionJobsResponse(data, context); - const response: ListSentimentDetectionJobsCommandOutput = { + contents = deserializeAws_json1_1ListPiiEntitiesDetectionJobsResponse(data, context); + const response: ListPiiEntitiesDetectionJobsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListSentimentDetectionJobsCommandError = async ( +const deserializeAws_json1_1ListPiiEntitiesDetectionJobsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3852,27 +4109,27 @@ const deserializeAws_json1_1ListSentimentDetectionJobsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListTagsForResourceCommand = async ( +export const deserializeAws_json1_1ListSentimentDetectionJobsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListTagsForResourceCommandError(output, context); + return deserializeAws_json1_1ListSentimentDetectionJobsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListTagsForResourceResponse(data, context); - const response: ListTagsForResourceCommandOutput = { + contents = deserializeAws_json1_1ListSentimentDetectionJobsResponse(data, context); + const response: ListSentimentDetectionJobsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListTagsForResourceCommandError = async ( +const deserializeAws_json1_1ListSentimentDetectionJobsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3890,6 +4147,14 @@ const deserializeAws_json1_1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidFilterException": + case "com.amazonaws.comprehend#InvalidFilterException": + response = { + ...(await deserializeAws_json1_1InvalidFilterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidRequestException": case "com.amazonaws.comprehend#InvalidRequestException": response = { @@ -3898,10 +4163,10 @@ const deserializeAws_json1_1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.comprehend#ResourceNotFoundException": + case "TooManyRequestsException": + case "com.amazonaws.comprehend#TooManyRequestsException": response = { - ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -3923,27 +4188,27 @@ const deserializeAws_json1_1ListTagsForResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListTopicsDetectionJobsCommand = async ( +export const deserializeAws_json1_1ListTagsForResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListTopicsDetectionJobsCommandError(output, context); + return deserializeAws_json1_1ListTagsForResourceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListTopicsDetectionJobsResponse(data, context); - const response: ListTopicsDetectionJobsCommandOutput = { + contents = deserializeAws_json1_1ListTagsForResourceResponse(data, context); + const response: ListTagsForResourceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListTopicsDetectionJobsCommandError = async ( +const deserializeAws_json1_1ListTagsForResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3961,14 +4226,6 @@ const deserializeAws_json1_1ListTopicsDetectionJobsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidFilterException": - case "com.amazonaws.comprehend#InvalidFilterException": - response = { - ...(await deserializeAws_json1_1InvalidFilterExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidRequestException": case "com.amazonaws.comprehend#InvalidRequestException": response = { @@ -3977,10 +4234,89 @@ const deserializeAws_json1_1ListTopicsDetectionJobsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "TooManyRequestsException": - case "com.amazonaws.comprehend#TooManyRequestsException": + case "ResourceNotFoundException": + case "com.amazonaws.comprehend#ResourceNotFoundException": response = { - ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), + ...(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_1ListTopicsDetectionJobsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListTopicsDetectionJobsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListTopicsDetectionJobsResponse(data, context); + const response: ListTopicsDetectionJobsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListTopicsDetectionJobsCommandError = 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 "InternalServerException": + case "com.amazonaws.comprehend#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidFilterException": + case "com.amazonaws.comprehend#InvalidFilterException": + response = { + ...(await deserializeAws_json1_1InvalidFilterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.comprehend#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.comprehend#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -4350,6 +4686,85 @@ const deserializeAws_json1_1StartKeyPhrasesDetectionJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1StartPiiEntitiesDetectionJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1StartPiiEntitiesDetectionJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1StartPiiEntitiesDetectionJobResponse(data, context); + const response: StartPiiEntitiesDetectionJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1StartPiiEntitiesDetectionJobCommandError = 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 "InternalServerException": + case "com.amazonaws.comprehend#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.comprehend#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "KmsKeyValidationException": + case "com.amazonaws.comprehend#KmsKeyValidationException": + response = { + ...(await deserializeAws_json1_1KmsKeyValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.comprehend#TooManyRequestsException": + response = { + ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(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_1StartSentimentDetectionJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4721,6 +5136,77 @@ const deserializeAws_json1_1StopKeyPhrasesDetectionJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1StopPiiEntitiesDetectionJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1StopPiiEntitiesDetectionJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1StopPiiEntitiesDetectionJobResponse(data, context); + const response: StopPiiEntitiesDetectionJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1StopPiiEntitiesDetectionJobCommandError = 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 "InternalServerException": + case "com.amazonaws.comprehend#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.comprehend#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "JobNotFoundException": + case "com.amazonaws.comprehend#JobNotFoundException": + response = { + ...(await deserializeAws_json1_1JobNotFoundExceptionResponse(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_1StopSentimentDetectionJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5467,6 +5953,22 @@ const deserializeAws_json1_1UnsupportedLanguageExceptionResponse = async ( return contents; }; +const serializeAws_json1_1AttributeNamesList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_1AugmentedManifestsListItem = ( + input: AugmentedManifestsListItem, + context: __SerdeContext +): any => { + return { + ...(input.AttributeNames !== undefined && { + AttributeNames: serializeAws_json1_1AttributeNamesList(input.AttributeNames, context), + }), + ...(input.S3Uri !== undefined && { S3Uri: input.S3Uri }), + }; +}; + const serializeAws_json1_1BatchDetectDominantLanguageRequest = ( input: BatchDetectDominantLanguageRequest, context: __SerdeContext @@ -5671,6 +6173,15 @@ const serializeAws_json1_1DescribeKeyPhrasesDetectionJobRequest = ( }; }; +const serializeAws_json1_1DescribePiiEntitiesDetectionJobRequest = ( + input: DescribePiiEntitiesDetectionJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobId !== undefined && { JobId: input.JobId }), + }; +}; + const serializeAws_json1_1DescribeSentimentDetectionJobRequest = ( input: DescribeSentimentDetectionJobRequest, context: __SerdeContext @@ -5713,6 +6224,16 @@ const serializeAws_json1_1DetectKeyPhrasesRequest = (input: DetectKeyPhrasesRequ }; }; +const serializeAws_json1_1DetectPiiEntitiesRequest = ( + input: DetectPiiEntitiesRequest, + context: __SerdeContext +): any => { + return { + ...(input.LanguageCode !== undefined && { LanguageCode: input.LanguageCode }), + ...(input.Text !== undefined && { Text: input.Text }), + }; +}; + const serializeAws_json1_1DetectSentimentRequest = (input: DetectSentimentRequest, context: __SerdeContext): any => { return { ...(input.LanguageCode !== undefined && { LanguageCode: input.LanguageCode }), @@ -5741,6 +6262,13 @@ const serializeAws_json1_1DocumentClassificationJobFilter = ( }; }; +const serializeAws_json1_1DocumentClassifierAugmentedManifestsList = ( + input: AugmentedManifestsListItem[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_json1_1AugmentedManifestsListItem(entry, context)); +}; + const serializeAws_json1_1DocumentClassifierFilter = ( input: DocumentClassifierFilter, context: __SerdeContext @@ -5759,6 +6287,13 @@ const serializeAws_json1_1DocumentClassifierInputDataConfig = ( context: __SerdeContext ): any => { return { + ...(input.AugmentedManifests !== undefined && { + AugmentedManifests: serializeAws_json1_1DocumentClassifierAugmentedManifestsList( + input.AugmentedManifests, + context + ), + }), + ...(input.DataFormat !== undefined && { DataFormat: input.DataFormat }), ...(input.LabelDelimiter !== undefined && { LabelDelimiter: input.LabelDelimiter }), ...(input.S3Uri !== undefined && { S3Uri: input.S3Uri }), }; @@ -5824,6 +6359,13 @@ const serializeAws_json1_1EntityRecognizerAnnotations = ( }; }; +const serializeAws_json1_1EntityRecognizerAugmentedManifestsList = ( + input: AugmentedManifestsListItem[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_json1_1AugmentedManifestsListItem(entry, context)); +}; + const serializeAws_json1_1EntityRecognizerDocuments = ( input: EntityRecognizerDocuments, context: __SerdeContext @@ -5860,6 +6402,10 @@ const serializeAws_json1_1EntityRecognizerInputDataConfig = ( ...(input.Annotations !== undefined && { Annotations: serializeAws_json1_1EntityRecognizerAnnotations(input.Annotations, context), }), + ...(input.AugmentedManifests !== undefined && { + AugmentedManifests: serializeAws_json1_1EntityRecognizerAugmentedManifestsList(input.AugmentedManifests, context), + }), + ...(input.DataFormat !== undefined && { DataFormat: input.DataFormat }), ...(input.Documents !== undefined && { Documents: serializeAws_json1_1EntityRecognizerDocuments(input.Documents, context), }), @@ -5985,6 +6531,23 @@ const serializeAws_json1_1ListKeyPhrasesDetectionJobsRequest = ( }; }; +const serializeAws_json1_1ListOfPiiEntityTypes = (input: (PiiEntityType | string)[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_1ListPiiEntitiesDetectionJobsRequest = ( + input: ListPiiEntitiesDetectionJobsRequest, + context: __SerdeContext +): any => { + return { + ...(input.Filter !== undefined && { + Filter: serializeAws_json1_1PiiEntitiesDetectionJobFilter(input.Filter, context), + }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1ListSentimentDetectionJobsRequest = ( input: ListSentimentDetectionJobsRequest, context: __SerdeContext @@ -6025,6 +6588,30 @@ const serializeAws_json1_1OutputDataConfig = (input: OutputDataConfig, context: }; }; +const serializeAws_json1_1PiiEntitiesDetectionJobFilter = ( + input: PiiEntitiesDetectionJobFilter, + context: __SerdeContext +): any => { + return { + ...(input.JobName !== undefined && { JobName: input.JobName }), + ...(input.JobStatus !== undefined && { JobStatus: input.JobStatus }), + ...(input.SubmitTimeAfter !== undefined && { SubmitTimeAfter: Math.round(input.SubmitTimeAfter.getTime() / 1000) }), + ...(input.SubmitTimeBefore !== undefined && { + SubmitTimeBefore: Math.round(input.SubmitTimeBefore.getTime() / 1000), + }), + }; +}; + +const serializeAws_json1_1RedactionConfig = (input: RedactionConfig, context: __SerdeContext): any => { + return { + ...(input.MaskCharacter !== undefined && { MaskCharacter: input.MaskCharacter }), + ...(input.MaskMode !== undefined && { MaskMode: input.MaskMode }), + ...(input.PiiEntityTypes !== undefined && { + PiiEntityTypes: serializeAws_json1_1ListOfPiiEntityTypes(input.PiiEntityTypes, context), + }), + }; +}; + const serializeAws_json1_1SecurityGroupIds = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -6123,6 +6710,28 @@ const serializeAws_json1_1StartKeyPhrasesDetectionJobRequest = ( }; }; +const serializeAws_json1_1StartPiiEntitiesDetectionJobRequest = ( + input: StartPiiEntitiesDetectionJobRequest, + context: __SerdeContext +): any => { + return { + ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), + ...(input.DataAccessRoleArn !== undefined && { DataAccessRoleArn: input.DataAccessRoleArn }), + ...(input.InputDataConfig !== undefined && { + InputDataConfig: serializeAws_json1_1InputDataConfig(input.InputDataConfig, context), + }), + ...(input.JobName !== undefined && { JobName: input.JobName }), + ...(input.LanguageCode !== undefined && { LanguageCode: input.LanguageCode }), + ...(input.Mode !== undefined && { Mode: input.Mode }), + ...(input.OutputDataConfig !== undefined && { + OutputDataConfig: serializeAws_json1_1OutputDataConfig(input.OutputDataConfig, context), + }), + ...(input.RedactionConfig !== undefined && { + RedactionConfig: serializeAws_json1_1RedactionConfig(input.RedactionConfig, context), + }), + }; +}; + const serializeAws_json1_1StartSentimentDetectionJobRequest = ( input: StartSentimentDetectionJobRequest, context: __SerdeContext @@ -6190,6 +6799,15 @@ const serializeAws_json1_1StopKeyPhrasesDetectionJobRequest = ( }; }; +const serializeAws_json1_1StopPiiEntitiesDetectionJobRequest = ( + input: StopPiiEntitiesDetectionJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobId !== undefined && { JobId: input.JobId }), + }; +}; + const serializeAws_json1_1StopSentimentDetectionJobRequest = ( input: StopSentimentDetectionJobRequest, context: __SerdeContext @@ -6280,6 +6898,23 @@ const serializeAws_json1_1VpcConfig = (input: VpcConfig, context: __SerdeContext }; }; +const deserializeAws_json1_1AttributeNamesList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1AugmentedManifestsListItem = ( + output: any, + context: __SerdeContext +): AugmentedManifestsListItem => { + return { + AttributeNames: + output.AttributeNames !== undefined && output.AttributeNames !== null + ? deserializeAws_json1_1AttributeNamesList(output.AttributeNames, context) + : undefined, + S3Uri: output.S3Uri !== undefined && output.S3Uri !== null ? output.S3Uri : undefined, + } as any; +}; + const deserializeAws_json1_1BatchDetectDominantLanguageItemResult = ( output: any, context: __SerdeContext @@ -6644,6 +7279,18 @@ const deserializeAws_json1_1DescribeKeyPhrasesDetectionJobResponse = ( } as any; }; +const deserializeAws_json1_1DescribePiiEntitiesDetectionJobResponse = ( + output: any, + context: __SerdeContext +): DescribePiiEntitiesDetectionJobResponse => { + return { + PiiEntitiesDetectionJobProperties: + output.PiiEntitiesDetectionJobProperties !== undefined && output.PiiEntitiesDetectionJobProperties !== null + ? deserializeAws_json1_1PiiEntitiesDetectionJobProperties(output.PiiEntitiesDetectionJobProperties, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeSentimentDetectionJobResponse = ( output: any, context: __SerdeContext @@ -6701,6 +7348,18 @@ const deserializeAws_json1_1DetectKeyPhrasesResponse = ( } as any; }; +const deserializeAws_json1_1DetectPiiEntitiesResponse = ( + output: any, + context: __SerdeContext +): DetectPiiEntitiesResponse => { + return { + Entities: + output.Entities !== undefined && output.Entities !== null + ? deserializeAws_json1_1ListOfPiiEntities(output.Entities, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DetectSentimentResponse = ( output: any, context: __SerdeContext @@ -6777,11 +7436,23 @@ const deserializeAws_json1_1DocumentClassificationJobPropertiesList = ( return (output || []).map((entry: any) => deserializeAws_json1_1DocumentClassificationJobProperties(entry, context)); }; +const deserializeAws_json1_1DocumentClassifierAugmentedManifestsList = ( + output: any, + context: __SerdeContext +): AugmentedManifestsListItem[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1AugmentedManifestsListItem(entry, context)); +}; + const deserializeAws_json1_1DocumentClassifierInputDataConfig = ( output: any, context: __SerdeContext ): DocumentClassifierInputDataConfig => { return { + AugmentedManifests: + output.AugmentedManifests !== undefined && output.AugmentedManifests !== null + ? deserializeAws_json1_1DocumentClassifierAugmentedManifestsList(output.AugmentedManifests, context) + : undefined, + DataFormat: output.DataFormat !== undefined && output.DataFormat !== null ? output.DataFormat : undefined, LabelDelimiter: output.LabelDelimiter !== undefined && output.LabelDelimiter !== null ? output.LabelDelimiter : undefined, S3Uri: output.S3Uri !== undefined && output.S3Uri !== null ? output.S3Uri : undefined, @@ -7012,6 +7683,13 @@ const deserializeAws_json1_1EntityRecognizerAnnotations = ( } as any; }; +const deserializeAws_json1_1EntityRecognizerAugmentedManifestsList = ( + output: any, + context: __SerdeContext +): AugmentedManifestsListItem[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1AugmentedManifestsListItem(entry, context)); +}; + const deserializeAws_json1_1EntityRecognizerDocuments = ( output: any, context: __SerdeContext @@ -7050,6 +7728,11 @@ const deserializeAws_json1_1EntityRecognizerInputDataConfig = ( output.Annotations !== undefined && output.Annotations !== null ? deserializeAws_json1_1EntityRecognizerAnnotations(output.Annotations, context) : undefined, + AugmentedManifests: + output.AugmentedManifests !== undefined && output.AugmentedManifests !== null + ? deserializeAws_json1_1EntityRecognizerAugmentedManifestsList(output.AugmentedManifests, context) + : undefined, + DataFormat: output.DataFormat !== undefined && output.DataFormat !== null ? output.DataFormat : undefined, Documents: output.Documents !== undefined && output.Documents !== null ? deserializeAws_json1_1EntityRecognizerDocuments(output.Documents, context) @@ -7445,10 +8128,38 @@ const deserializeAws_json1_1ListOfLabels = (output: any, context: __SerdeContext return (output || []).map((entry: any) => deserializeAws_json1_1DocumentLabel(entry, context)); }; +const deserializeAws_json1_1ListOfPiiEntities = (output: any, context: __SerdeContext): PiiEntity[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1PiiEntity(entry, context)); +}; + +const deserializeAws_json1_1ListOfPiiEntityTypes = ( + output: any, + context: __SerdeContext +): (PiiEntityType | string)[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1ListOfSyntaxTokens = (output: any, context: __SerdeContext): SyntaxToken[] => { return (output || []).map((entry: any) => deserializeAws_json1_1SyntaxToken(entry, context)); }; +const deserializeAws_json1_1ListPiiEntitiesDetectionJobsResponse = ( + output: any, + context: __SerdeContext +): ListPiiEntitiesDetectionJobsResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + PiiEntitiesDetectionJobPropertiesList: + output.PiiEntitiesDetectionJobPropertiesList !== undefined && + output.PiiEntitiesDetectionJobPropertiesList !== null + ? deserializeAws_json1_1PiiEntitiesDetectionJobPropertiesList( + output.PiiEntitiesDetectionJobPropertiesList, + context + ) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListSentimentDetectionJobsResponse = ( output: any, context: __SerdeContext @@ -7502,6 +8213,77 @@ const deserializeAws_json1_1PartOfSpeechTag = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_json1_1PiiEntitiesDetectionJobProperties = ( + output: any, + context: __SerdeContext +): PiiEntitiesDetectionJobProperties => { + return { + DataAccessRoleArn: + output.DataAccessRoleArn !== undefined && output.DataAccessRoleArn !== null + ? output.DataAccessRoleArn + : undefined, + EndTime: + output.EndTime !== undefined && output.EndTime !== null ? new Date(Math.round(output.EndTime * 1000)) : undefined, + InputDataConfig: + output.InputDataConfig !== undefined && output.InputDataConfig !== null + ? deserializeAws_json1_1InputDataConfig(output.InputDataConfig, context) + : undefined, + JobId: output.JobId !== undefined && output.JobId !== null ? output.JobId : undefined, + JobName: output.JobName !== undefined && output.JobName !== null ? output.JobName : undefined, + JobStatus: output.JobStatus !== undefined && output.JobStatus !== null ? output.JobStatus : undefined, + LanguageCode: output.LanguageCode !== undefined && output.LanguageCode !== null ? output.LanguageCode : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + Mode: output.Mode !== undefined && output.Mode !== null ? output.Mode : undefined, + OutputDataConfig: + output.OutputDataConfig !== undefined && output.OutputDataConfig !== null + ? deserializeAws_json1_1PiiOutputDataConfig(output.OutputDataConfig, context) + : undefined, + RedactionConfig: + output.RedactionConfig !== undefined && output.RedactionConfig !== null + ? deserializeAws_json1_1RedactionConfig(output.RedactionConfig, context) + : undefined, + SubmitTime: + output.SubmitTime !== undefined && output.SubmitTime !== null + ? new Date(Math.round(output.SubmitTime * 1000)) + : undefined, + } as any; +}; + +const deserializeAws_json1_1PiiEntitiesDetectionJobPropertiesList = ( + output: any, + context: __SerdeContext +): PiiEntitiesDetectionJobProperties[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1PiiEntitiesDetectionJobProperties(entry, context)); +}; + +const deserializeAws_json1_1PiiEntity = (output: any, context: __SerdeContext): PiiEntity => { + return { + BeginOffset: output.BeginOffset !== undefined && output.BeginOffset !== null ? output.BeginOffset : undefined, + EndOffset: output.EndOffset !== undefined && output.EndOffset !== null ? output.EndOffset : undefined, + Score: output.Score !== undefined && output.Score !== null ? output.Score : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_json1_1PiiOutputDataConfig = (output: any, context: __SerdeContext): PiiOutputDataConfig => { + return { + KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + S3Uri: output.S3Uri !== undefined && output.S3Uri !== null ? output.S3Uri : undefined, + } as any; +}; + +const deserializeAws_json1_1RedactionConfig = (output: any, context: __SerdeContext): RedactionConfig => { + return { + MaskCharacter: + output.MaskCharacter !== undefined && output.MaskCharacter !== null ? output.MaskCharacter : undefined, + MaskMode: output.MaskMode !== undefined && output.MaskMode !== null ? output.MaskMode : undefined, + PiiEntityTypes: + output.PiiEntityTypes !== undefined && output.PiiEntityTypes !== null + ? deserializeAws_json1_1ListOfPiiEntityTypes(output.PiiEntityTypes, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ResourceInUseException = (output: any, context: __SerdeContext): ResourceInUseException => { return { Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, @@ -7632,6 +8414,16 @@ const deserializeAws_json1_1StartKeyPhrasesDetectionJobResponse = ( } as any; }; +const deserializeAws_json1_1StartPiiEntitiesDetectionJobResponse = ( + output: any, + context: __SerdeContext +): StartPiiEntitiesDetectionJobResponse => { + return { + JobId: output.JobId !== undefined && output.JobId !== null ? output.JobId : undefined, + JobStatus: output.JobStatus !== undefined && output.JobStatus !== null ? output.JobStatus : undefined, + } as any; +}; + const deserializeAws_json1_1StartSentimentDetectionJobResponse = ( output: any, context: __SerdeContext @@ -7682,6 +8474,16 @@ const deserializeAws_json1_1StopKeyPhrasesDetectionJobResponse = ( } as any; }; +const deserializeAws_json1_1StopPiiEntitiesDetectionJobResponse = ( + output: any, + context: __SerdeContext +): StopPiiEntitiesDetectionJobResponse => { + return { + JobId: output.JobId !== undefined && output.JobId !== null ? output.JobId : undefined, + JobStatus: output.JobStatus !== undefined && output.JobStatus !== null ? output.JobStatus : undefined, + } as any; +}; + const deserializeAws_json1_1StopSentimentDetectionJobResponse = ( output: any, context: __SerdeContext diff --git a/clients/client-comprehendmedical/models/models_0.ts b/clients/client-comprehendmedical/models/models_0.ts index 1bf17327753a..28a7481ee2dd 100644 --- a/clients/client-comprehendmedical/models/models_0.ts +++ b/clients/client-comprehendmedical/models/models_0.ts @@ -104,50 +104,49 @@ export enum EntitySubType { */ export interface Attribute { /** - *

                  The level of confidence that Amazon Comprehend Medical has that the segment of text is correctly recognized - * as an attribute.

                  + *

                  The 0-based character offset in the input text that shows where the attribute ends. The + * offset returns the UTF-8 code point in the string.

                  */ - Score?: number; + EndOffset?: number; /** - *

                  The category of attribute.

                  + *

                  The 0-based character offset in the input text that shows where the attribute begins. The + * offset returns the UTF-8 code point in the string.

                  */ - Category?: EntityType | string; + BeginOffset?: number; /** - *

                  The level of confidence that Amazon Comprehend Medical has that this attribute is correctly related to this - * entity.

                  + *

                  The numeric identifier for this attribute. This is a monotonically increasing id unique + * within this response rather than a global unique identifier.

                  */ - RelationshipScore?: number; + Id?: number; /** - *

                  The 0-based character offset in the input text that shows where the attribute ends. The - * offset returns the UTF-8 code point in the string.

                  + *

                  The category of attribute.

                  */ - EndOffset?: number; + Category?: EntityType | string; /** - *

                  The numeric identifier for this attribute. This is a monotonically increasing id unique - * within this response rather than a global unique identifier.

                  + *

                  The type of relationship between the entity and attribute. Type for the relationship is OVERLAP, indicating that the entity occurred at the same time as the Date_Expression. + *

                  */ - Id?: number; + RelationshipType?: RelationshipType | string; /** - *

                  The 0-based character offset in the input text that shows where the attribute begins. The - * offset returns the UTF-8 code point in the string.

                  + *

                  Contextual information for this attribute.

                  */ - BeginOffset?: number; + Traits?: Trait[]; /** - *

                  Contextual information for this attribute.

                  + *

                  The level of confidence that Amazon Comprehend Medical has that the segment of text is correctly recognized + * as an attribute.

                  */ - Traits?: Trait[]; + Score?: number; /** - *

                  The type of relationship between the entity and attribute. Type for the relationship is OVERLAP, indicating that the entity occurred at the same time as the Date_Expression. - *

                  + *

                  The type of attribute.

                  */ - RelationshipType?: RelationshipType | string; + Type?: EntitySubType | string; /** *

                  The segment of input text extracted as this attribute.

                  @@ -155,9 +154,10 @@ export interface Attribute { Text?: string; /** - *

                  The type of attribute.

                  + *

                  The level of confidence that Amazon Comprehend Medical has that this attribute is correctly related to this + * entity.

                  */ - Type?: EntitySubType | string; + RelationshipScore?: number; } export namespace Attribute { @@ -185,6 +185,11 @@ export namespace DescribeEntitiesDetectionV2JobRequest { *

                  The input properties for an entities detection job. This includes the name of the S3 bucket and the path to the files to be analyzed. See batch-manifest for more information.

                  */ export interface InputDataConfig { + /** + *

                  The path to the input data files in the S3 bucket.

                  + */ + S3Key?: string; + /** *

                  The URI of the S3 bucket that contains the input data. The bucket must be in the same * region as the API endpoint that you are calling.

                  @@ -192,11 +197,6 @@ export interface InputDataConfig { * 30 GB in the bucket.

                  */ S3Bucket: string | undefined; - - /** - *

                  The path to the input data files in the S3 bucket.

                  - */ - S3Key?: string; } export namespace InputDataConfig { @@ -250,14 +250,14 @@ export namespace OutputDataConfig { */ export interface ComprehendMedicalAsyncJobProperties { /** - *

                  The path to the file that describes the results of a batch job.

                  + *

                  The time that the detection job completed.

                  */ - ManifestFilePath?: string; + EndTime?: Date; /** - *

                  The input data configuration that you supplied when you created the detection job.

                  + *

                  The time that the detection job was submitted for processing.

                  */ - InputDataConfig?: InputDataConfig; + SubmitTime?: Date; /** *

                  The version of the model used to analyze the documents. The version number looks like @@ -267,29 +267,30 @@ export interface ComprehendMedicalAsyncJobProperties { ModelVersion?: string; /** - *

                  The output data configuration that you supplied when you created the detection job.

                  + *

                  The input data configuration that you supplied when you created the detection job.

                  */ - OutputDataConfig?: OutputDataConfig; + InputDataConfig?: InputDataConfig; /** - *

                  The time that the detection job completed.

                  + *

                  The output data configuration that you supplied when you created the detection job.

                  */ - EndTime?: Date; + OutputDataConfig?: OutputDataConfig; /** - *

                  The name that you assigned to the detection job.

                  + *

                  A description of the status of a job.

                  */ - JobName?: string; + Message?: string; /** - *

                  A description of the status of a job.

                  + *

                  The AWS Key Management Service key, if any, used to encrypt the output files.

                  */ - Message?: string; + KMSKey?: string; /** - *

                  The time that the detection job was submitted for processing.

                  + *

                  The current status of the detection job. If the status is FAILED, the + * Message field shows the reason for the failure.

                  */ - SubmitTime?: Date; + JobStatus?: JobStatus | string; /** *

                  The date and time that job metadata is deleted from the server. Output files in your S3 @@ -305,20 +306,19 @@ export interface ComprehendMedicalAsyncJobProperties { DataAccessRoleArn?: string; /** - *

                  The AWS Key Management Service key, if any, used to encrypt the output files.

                  + *

                  The language code of the input documents.

                  */ - KMSKey?: string; + LanguageCode?: LanguageCode | string; /** - *

                  The current status of the detection job. If the status is FAILED, the - * Message field shows the reason for the failure.

                  + *

                  The name that you assigned to the detection job.

                  */ - JobStatus?: JobStatus | string; + JobName?: string; /** - *

                  The language code of the input documents.

                  + *

                  The path to the file that describes the results of a batch job.

                  */ - LanguageCode?: LanguageCode | string; + ManifestFilePath?: string; /** *

                  The identifier assigned to the detection job.

                  @@ -507,31 +507,31 @@ export namespace DetectEntitiesRequest { */ export interface Entity { /** - *

                  The segment of input text extracted as this entity.

                  + *

                  The level of confidence that Amazon Comprehend Medical has in the accuracy of the detection.

                  */ - Text?: string; + Score?: number; /** - *

                  The 0-based character offset in the input text that shows where the entity ends. The - * offset returns the UTF-8 code point in the string.

                  + *

                  The category of the entity.

                  */ - EndOffset?: number; + Category?: EntityType | string; /** - *

                  The extracted attributes that relate to this entity.

                  + *

                  Describes the specific type of entity with category of entities.

                  */ - Attributes?: Attribute[]; + Type?: EntitySubType | string; /** - *

                  The category of the entity.

                  + *

                  The 0-based character offset in the input text that shows where the entity begins. The + * offset returns the UTF-8 code point in the string.

                  */ - Category?: EntityType | string; + BeginOffset?: number; /** - *

                  The 0-based character offset in the input text that shows where the entity begins. The + *

                  The 0-based character offset in the input text that shows where the entity ends. The * offset returns the UTF-8 code point in the string.

                  */ - BeginOffset?: number; + EndOffset?: number; /** *

                  The numeric identifier for the entity. This is a monotonically increasing id unique @@ -540,19 +540,19 @@ export interface Entity { Id?: number; /** - *

                  Describes the specific type of entity with category of entities.

                  + *

                  Contextual information for the entity.

                  */ - Type?: EntitySubType | string; + Traits?: Trait[]; /** - *

                  The level of confidence that Amazon Comprehend Medical has in the accuracy of the detection.

                  + *

                  The extracted attributes that relate to this entity.

                  */ - Score?: number; + Attributes?: Attribute[]; /** - *

                  Contextual information for the entity.

                  + *

                  The segment of input text extracted as this entity.

                  */ - Traits?: Trait[]; + Text?: string; } export namespace Entity { @@ -565,17 +565,17 @@ export namespace Entity { *

                  An attribute that we extracted, but were unable to relate to an entity.

                  */ export interface UnmappedAttribute { - /** - *

                  The specific attribute that has been extracted but not mapped to an entity.

                  - */ - Attribute?: Attribute; - /** *

                  The type of the attribute, could be one of the following values: "MEDICATION", * "MEDICAL_CONDITION", "ANATOMY", "TEST_AND_TREATMENT_PROCEDURE" or * "PROTECTED_HEALTH_INFORMATION".

                  */ Type?: EntityType | string; + + /** + *

                  The specific attribute that has been extracted but not mapped to an entity.

                  + */ + Attribute?: Attribute; } export namespace UnmappedAttribute { @@ -585,6 +585,14 @@ export namespace UnmappedAttribute { } export interface DetectEntitiesResponse { + /** + *

                  The collection of medical entities extracted from the input text and their associated + * information. For each entity, the response provides the entity text, the entity category, + * where the entity text begins and ends, and the level of confidence that Amazon Comprehend Medical has in the + * detection and analysis. Attributes and traits of the entity are also returned.

                  + */ + Entities: Entity[] | undefined; + /** *

                  The version of the model used to analyze the documents. The version number looks like * X.X.X. You can use this information to track the model used for a particular batch of @@ -598,14 +606,6 @@ export interface DetectEntitiesResponse { */ PaginationToken?: string; - /** - *

                  The collection of medical entities extracted from the input text and their associated - * information. For each entity, the response provides the entity text, the entity category, - * where the entity text begins and ends, and the level of confidence that Amazon Comprehend Medical has in the - * detection and analysis. Attributes and traits of the entity are also returned.

                  - */ - Entities: Entity[] | undefined; - /** *

                  Attributes extracted from the input text that we were unable to relate to an * entity.

                  @@ -688,10 +688,11 @@ export interface DetectEntitiesV2Response { UnmappedAttributes?: UnmappedAttribute[]; /** - *

                  If the result to the DetectEntitiesV2 operation was truncated, include the - * PaginationToken to fetch the next page of entities.

                  + *

                  The version of the model used to analyze the documents. The version number looks like + * X.X.X. You can use this information to track the model used for a particular batch of + * documents.

                  */ - PaginationToken?: string; + ModelVersion: string | undefined; /** *

                  The collection of medical entities extracted from the input text and their associated @@ -702,11 +703,10 @@ export interface DetectEntitiesV2Response { Entities: Entity[] | undefined; /** - *

                  The version of the model used to analyze the documents. The version number looks like - * X.X.X. You can use this information to track the model used for a particular batch of - * documents.

                  + *

                  If the result to the DetectEntitiesV2 operation was truncated, include the + * PaginationToken to fetch the next page of entities.

                  */ - ModelVersion: string | undefined; + PaginationToken?: string; } export namespace DetectEntitiesV2Response { @@ -785,16 +785,16 @@ export enum ICD10CMTraitName { * NEGATION.

                  */ export interface ICD10CMTrait { - /** - *

                  Provides a name or contextual description about the trait.

                  - */ - Name?: ICD10CMTraitName | string; - /** *

                  The level of confidence that Amazon Comprehend Medical has that the segment of text is correctly recognized * as a trait.

                  */ Score?: number; + + /** + *

                  Provides a name or contextual description about the trait.

                  + */ + Name?: ICD10CMTraitName | string; } export namespace ICD10CMTrait { @@ -824,12 +824,6 @@ export interface ICD10CMAttribute { */ RelationshipScore?: number; - /** - *

                  The type of attribute. InferICD10CM detects entities of the type DX_NAME. - *

                  - */ - Type?: ICD10CMAttributeType | string; - /** *

                  The level of confidence that Amazon Comprehend Medical has that the segment of text is * correctly recognized as an attribute.

                  @@ -837,16 +831,16 @@ export interface ICD10CMAttribute { Score?: number; /** - *

                  The 0-based character offset in the input text that shows where the attribute ends. The - * offset returns the UTF-8 code point in the string.

                  + *

                  The type of attribute. InferICD10CM detects entities of the type DX_NAME. + *

                  */ - EndOffset?: number; + Type?: ICD10CMAttributeType | string; /** - *

                  The numeric identifier for this attribute. This is a monotonically increasing id unique - * within this response rather than a global unique identifier.

                  + *

                  The 0-based character offset in the input text that shows where the attribute ends. The + * offset returns the UTF-8 code point in the string.

                  */ - Id?: number; + EndOffset?: number; /** *

                  The contextual information for the attribute. The traits recognized by InferICD10CM are @@ -856,15 +850,21 @@ export interface ICD10CMAttribute { Traits?: ICD10CMTrait[]; /** - *

                  The 0-based character offset in the input text that shows where the attribute begins. The - * offset returns the UTF-8 code point in the string.

                  + *

                  The numeric identifier for this attribute. This is a monotonically increasing id unique + * within this response rather than a global unique identifier.

                  */ - BeginOffset?: number; + Id?: number; /** *

                  The segment of input text which contains the detected attribute.

                  */ Text?: string; + + /** + *

                  The 0-based character offset in the input text that shows where the attribute begins. The + * offset returns the UTF-8 code point in the string.

                  + */ + BeginOffset?: number; } export namespace ICD10CMAttribute { @@ -918,6 +918,11 @@ export enum ICD10CMEntityType { * returned.

                  */ export interface ICD10CMEntity { + /** + *

                  The segment of input text that is matched to the detected entity.

                  + */ + Text?: string; + /** *

                  The detected attributes that relate to the entity. An extracted segment of the text that * is an attribute of an entity, or otherwise related to an entity, such as the nature of a @@ -926,16 +931,10 @@ export interface ICD10CMEntity { Attributes?: ICD10CMAttribute[]; /** - *

                  The ICD-10-CM concepts that the entity could refer to, along with a score indicating the - * likelihood of the match.

                  - */ - ICD10CMConcepts?: ICD10CMConcept[]; - - /** - *

                  The numeric identifier for the entity. This is a monotonically increasing id unique within - * this response rather than a global unique identifier.

                  + *

                  The level of confidence that Amazon Comprehend Medical has in the accuracy of the + * detection.

                  */ - Id?: number; + Score?: number; /** *

                  Provides Contextual information for the entity. The traits recognized by InferICD10CM are @@ -946,16 +945,10 @@ export interface ICD10CMEntity { Traits?: ICD10CMTrait[]; /** - *

                  The 0-based character offset in the input text that shows where the entity ends. The - * offset returns the UTF-8 code point in the string.

                  - */ - EndOffset?: number; - - /** - *

                  The 0-based character offset in the input text that shows where the entity begins. The - * offset returns the UTF-8 code point in the string.

                  + *

                  The ICD-10-CM concepts that the entity could refer to, along with a score indicating the + * likelihood of the match.

                  */ - BeginOffset?: number; + ICD10CMConcepts?: ICD10CMConcept[]; /** *

                  Describes the specific type of entity with category of entities. InferICD10CM detects @@ -964,10 +957,10 @@ export interface ICD10CMEntity { Type?: ICD10CMEntityType | string; /** - *

                  The level of confidence that Amazon Comprehend Medical has in the accuracy of the - * detection.

                  + *

                  The 0-based character offset in the input text that shows where the entity ends. The + * offset returns the UTF-8 code point in the string.

                  */ - Score?: number; + EndOffset?: number; /** *

                  The category of the entity. InferICD10CM detects entities in the @@ -976,9 +969,16 @@ export interface ICD10CMEntity { Category?: ICD10CMEntityCategory | string; /** - *

                  The segment of input text that is matched to the detected entity.

                  + *

                  The numeric identifier for the entity. This is a monotonically increasing id unique within + * this response rather than a global unique identifier.

                  */ - Text?: string; + Id?: number; + + /** + *

                  The 0-based character offset in the input text that shows where the entity begins. The + * offset returns the UTF-8 code point in the string.

                  + */ + BeginOffset?: number; } export namespace ICD10CMEntity { @@ -1074,16 +1074,10 @@ export enum RxNormAttributeType { */ export interface RxNormAttribute { /** - *

                  The level of confidence that Comprehend Medical has that the segment of text is correctly - * recognized as an attribute.

                  - */ - Score?: number; - - /** - *

                  The level of confidence that Amazon Comprehend Medical has that the attribute is - * accurately linked to an entity.

                  + *

                  The 0-based character offset in the input text that shows where the attribute ends. The + * offset returns the UTF-8 code point in the string.

                  */ - RelationshipScore?: number; + EndOffset?: number; /** *

                  The 0-based character offset in the input text that shows where the attribute begins. The @@ -1091,6 +1085,12 @@ export interface RxNormAttribute { */ BeginOffset?: number; + /** + *

                  The level of confidence that Amazon Comprehend Medical has that the attribute is + * accurately linked to an entity.

                  + */ + RelationshipScore?: number; + /** *

                  The type of attribute. The types of attributes recognized by InferRxNorm are * BRAND_NAME and GENERIC_NAME.

                  @@ -1098,10 +1098,10 @@ export interface RxNormAttribute { Type?: RxNormAttributeType | string; /** - *

                  The 0-based character offset in the input text that shows where the attribute ends. The - * offset returns the UTF-8 code point in the string.

                  + *

                  The level of confidence that Comprehend Medical has that the segment of text is correctly + * recognized as an attribute.

                  */ - EndOffset?: number; + Score?: number; /** *

                  Contextual information for the attribute. InferRxNorm recognizes the trait @@ -1111,15 +1111,15 @@ export interface RxNormAttribute { Traits?: RxNormTrait[]; /** - *

                  The numeric identifier for this attribute. This is a monotonically increasing id unique - * within this response rather than a global unique identifier.

                  + *

                  The segment of input text which corresponds to the detected attribute.

                  */ - Id?: number; + Text?: string; /** - *

                  The segment of input text which corresponds to the detected attribute.

                  + *

                  The numeric identifier for this attribute. This is a monotonically increasing id unique + * within this response rather than a global unique identifier.

                  */ - Text?: string; + Id?: number; } export namespace RxNormAttribute { @@ -1174,10 +1174,21 @@ export enum RxNormEntityType { */ export interface RxNormEntity { /** - *

                  The 0-based character offset in the input text that shows where the entity ends. The + *

                  The 0-based character offset in the input text that shows where the entity begins. The * offset returns the UTF-8 code point in the string.

                  */ - EndOffset?: number; + BeginOffset?: number; + + /** + *

                  The RxNorm concepts that the entity could refer to, along with a score indicating the + * likelihood of the match.

                  + */ + RxNormConcepts?: RxNormConcept[]; + + /** + *

                  Contextual information for the entity.

                  + */ + Traits?: RxNormTrait[]; /** *

                  The category of the entity. The recognized categories are GENERIC or @@ -1192,18 +1203,10 @@ export interface RxNormEntity { Id?: number; /** - *

                  The 0-based character offset in the input text that shows where the entity begins. The + *

                  The 0-based character offset in the input text that shows where the entity ends. The * offset returns the UTF-8 code point in the string.

                  */ - BeginOffset?: number; - - /** - *

                  The extracted attributes that relate to the entity. The attributes recognized by - * InferRxNorm are DOSAGE, DURATION, FORM, - * FREQUENCY, RATE, ROUTE_OR_MODE, and - * STRENGTH.

                  - */ - Attributes?: RxNormAttribute[]; + EndOffset?: number; /** *

                  The segment of input text extracted from which the entity was detected.

                  @@ -1211,27 +1214,24 @@ export interface RxNormEntity { Text?: string; /** - *

                  The RxNorm concepts that the entity could refer to, along with a score indicating the - * likelihood of the match.

                  + *

                  The extracted attributes that relate to the entity. The attributes recognized by + * InferRxNorm are DOSAGE, DURATION, FORM, + * FREQUENCY, RATE, ROUTE_OR_MODE, and + * STRENGTH.

                  */ - RxNormConcepts?: RxNormConcept[]; + Attributes?: RxNormAttribute[]; /** - *

                  Contextual information for the entity.

                  + *

                  Describes the specific type of entity. For InferRxNorm, the recognized entity type is + * MEDICATION.

                  */ - Traits?: RxNormTrait[]; + Type?: RxNormEntityType | string; /** *

                  The level of confidence that Amazon Comprehend Medical has in the accuracy of the detected * entity.

                  */ Score?: number; - - /** - *

                  Describes the specific type of entity. For InferRxNorm, the recognized entity type is - * MEDICATION.

                  - */ - Type?: RxNormEntityType | string; } export namespace RxNormEntity { @@ -1241,6 +1241,12 @@ export namespace RxNormEntity { } export interface InferRxNormResponse { + /** + *

                  If the result of the previous request to InferRxNorm was truncated, include + * the PaginationToken to fetch the next page of medication entities.

                  + */ + PaginationToken?: string; + /** *

                  The medication entities detected in the text linked to RxNorm concepts. If the action is * successful, the service sends back an HTTP 200 response, as well as the entities @@ -1254,12 +1260,6 @@ export interface InferRxNormResponse { * information to track the model used for a particular batch of documents.

                  */ ModelVersion?: string; - - /** - *

                  If the result of the previous request to InferRxNorm was truncated, include - * the PaginationToken to fetch the next page of medication entities.

                  - */ - PaginationToken?: string; } export namespace InferRxNormResponse { @@ -1272,6 +1272,12 @@ export namespace InferRxNormResponse { *

                  Provides information for filtering a list of detection jobs.

                  */ export interface ComprehendMedicalAsyncJobFilter { + /** + *

                  Filters the list of jobs based on job status. Returns only jobs with the specified + * status.

                  + */ + JobStatus?: JobStatus | string; + /** *

                  Filters the list of jobs based on the time that the job was submitted for processing. * Returns only jobs submitted after the specified time. Jobs are returned in descending order, @@ -1290,12 +1296,6 @@ export interface ComprehendMedicalAsyncJobFilter { *

                  Filters on the name of the job.

                  */ JobName?: string; - - /** - *

                  Filters the list of jobs based on job status. Returns only jobs with the specified - * status.

                  - */ - JobStatus?: JobStatus | string; } export namespace ComprehendMedicalAsyncJobFilter { @@ -1305,12 +1305,6 @@ export namespace ComprehendMedicalAsyncJobFilter { } export interface ListEntitiesDetectionV2JobsRequest { - /** - *

                  Filters the jobs that are returned. You can filter jobs based on their names, status, or - * the date and time that they were submitted. You can only set one filter at a time.

                  - */ - Filter?: ComprehendMedicalAsyncJobFilter; - /** *

                  Identifies the next page of results to return.

                  */ @@ -1320,6 +1314,12 @@ export interface ListEntitiesDetectionV2JobsRequest { *

                  The maximum number of results to return in each page. The default is 100.

                  */ MaxResults?: number; + + /** + *

                  Filters the jobs that are returned. You can filter jobs based on their names, status, or + * the date and time that they were submitted. You can only set one filter at a time.

                  + */ + Filter?: ComprehendMedicalAsyncJobFilter; } export namespace ListEntitiesDetectionV2JobsRequest { @@ -1330,14 +1330,14 @@ export namespace ListEntitiesDetectionV2JobsRequest { export interface ListEntitiesDetectionV2JobsResponse { /** - *

                  A list containing the properties of each job returned.

                  + *

                  Identifies the next page of results to return.

                  */ - ComprehendMedicalAsyncJobPropertiesList?: ComprehendMedicalAsyncJobProperties[]; + NextToken?: string; /** - *

                  Identifies the next page of results to return.

                  + *

                  A list containing the properties of each job returned.

                  */ - NextToken?: string; + ComprehendMedicalAsyncJobPropertiesList?: ComprehendMedicalAsyncJobProperties[]; } export namespace ListEntitiesDetectionV2JobsResponse { @@ -1369,14 +1369,14 @@ export interface ListICD10CMInferenceJobsRequest { Filter?: ComprehendMedicalAsyncJobFilter; /** - *

                  The maximum number of results to return in each page. The default is 100.

                  + *

                  Identifies the next page of results to return.

                  */ - MaxResults?: number; + NextToken?: string; /** - *

                  Identifies the next page of results to return.

                  + *

                  The maximum number of results to return in each page. The default is 100.

                  */ - NextToken?: string; + MaxResults?: number; } export namespace ListICD10CMInferenceJobsRequest { @@ -1447,14 +1447,14 @@ export namespace ListPHIDetectionJobsResponse { export interface ListRxNormInferenceJobsRequest { /** - *

                  Filters the jobs that are returned. You can filter jobs based on their names, status, or the date and time that they were submitted. You can only set one filter at a time.

                  + *

                  Identifies the next page of results to return.

                  */ - Filter?: ComprehendMedicalAsyncJobFilter; + MaxResults?: number; /** - *

                  Identifies the next page of results to return.

                  + *

                  Filters the jobs that are returned. You can filter jobs based on their names, status, or the date and time that they were submitted. You can only set one filter at a time.

                  */ - MaxResults?: number; + Filter?: ComprehendMedicalAsyncJobFilter; /** *

                  Identifies the next page of results to return.

                  @@ -1493,37 +1493,37 @@ export interface StartEntitiesDetectionV2JobRequest { JobName?: string; /** - *

                  The language of the input documents. All documents must be in the same language.

                  + *

                  An AWS Key Management Service key to encrypt your output files. If you do not specify a + * key, the files are written in plain text.

                  */ - LanguageCode: LanguageCode | string | undefined; + KMSKey?: string; /** - *

                  A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical - * generates one.

                  + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.

                  */ - ClientRequestToken?: string; + DataAccessRoleArn: string | undefined; /** - *

                  An AWS Key Management Service key to encrypt your output files. If you do not specify a - * key, the files are written in plain text.

                  + *

                  Specifies the format and location of the input data for the job.

                  */ - KMSKey?: string; + InputDataConfig: InputDataConfig | undefined; /** - *

                  Specifies where to send the output files.

                  + *

                  The language of the input documents. All documents must be in the same language.

                  */ - OutputDataConfig: OutputDataConfig | undefined; + LanguageCode: LanguageCode | string | undefined; /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.

                  + *

                  A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical + * generates one.

                  */ - DataAccessRoleArn: string | undefined; + ClientRequestToken?: string; /** - *

                  Specifies the format and location of the input data for the job.

                  + *

                  Specifies where to send the output files.

                  */ - InputDataConfig: InputDataConfig | undefined; + OutputDataConfig: OutputDataConfig | undefined; } export namespace StartEntitiesDetectionV2JobRequest { @@ -1547,16 +1547,6 @@ export namespace StartEntitiesDetectionV2JobResponse { } export interface StartICD10CMInferenceJobRequest { - /** - *

                  Specifies where to send the output files.

                  - */ - OutputDataConfig: OutputDataConfig | undefined; - - /** - *

                  The identifier of the job.

                  - */ - JobName?: string; - /** *

                  The language of the input documents. All documents must be in the same language.

                  */ @@ -1568,22 +1558,32 @@ export interface StartICD10CMInferenceJobRequest { */ ClientRequestToken?: string; - /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.

                  - */ - DataAccessRoleArn: string | undefined; - /** *

                  An AWS Key Management Service key to encrypt your output files. If you do not specify a * key, the files are written in plain text.

                  */ KMSKey?: string; + /** + *

                  The identifier of the job.

                  + */ + JobName?: string; + /** *

                  Specifies the format and location of the input data for the job.

                  */ InputDataConfig: InputDataConfig | undefined; + + /** + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.

                  + */ + DataAccessRoleArn: string | undefined; + + /** + *

                  Specifies where to send the output files.

                  + */ + OutputDataConfig: OutputDataConfig | undefined; } export namespace StartICD10CMInferenceJobRequest { @@ -1607,6 +1607,11 @@ export namespace StartICD10CMInferenceJobResponse { } export interface StartPHIDetectionJobRequest { + /** + *

                  Specifies the format and location of the input data for the job.

                  + */ + InputDataConfig: InputDataConfig | undefined; + /** *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.

                  @@ -1614,9 +1619,9 @@ export interface StartPHIDetectionJobRequest { DataAccessRoleArn: string | undefined; /** - *

                  The language of the input documents. All documents must be in the same language.

                  + *

                  The identifier of the job.

                  */ - LanguageCode: LanguageCode | string | undefined; + JobName?: string; /** *

                  A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical @@ -1625,20 +1630,15 @@ export interface StartPHIDetectionJobRequest { ClientRequestToken?: string; /** - *

                  Specifies the format and location of the input data for the job.

                  + *

                  The language of the input documents. All documents must be in the same language.

                  */ - InputDataConfig: InputDataConfig | undefined; + LanguageCode: LanguageCode | string | undefined; /** *

                  Specifies where to send the output files.

                  */ OutputDataConfig: OutputDataConfig | undefined; - /** - *

                  The identifier of the job.

                  - */ - JobName?: string; - /** *

                  An AWS Key Management Service key to encrypt your output files. If you do not specify a * key, the files are written in plain text.

                  @@ -1668,20 +1668,20 @@ export namespace StartPHIDetectionJobResponse { export interface StartRxNormInferenceJobRequest { /** - *

                  Specifies where to send the output files.

                  + *

                  The language of the input documents. All documents must be in the same language.

                  */ - OutputDataConfig: OutputDataConfig | undefined; + LanguageCode: LanguageCode | string | undefined; /** - *

                  Specifies the format and location of the input data for the job.

                  + *

                  A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical + * generates one.

                  */ - InputDataConfig: InputDataConfig | undefined; + ClientRequestToken?: string; /** - *

                  An AWS Key Management Service key to encrypt your output files. If you do not specify a - * key, the files are written in plain text.

                  + *

                  Specifies where to send the output files.

                  */ - KMSKey?: string; + OutputDataConfig: OutputDataConfig | undefined; /** *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that @@ -1690,15 +1690,15 @@ export interface StartRxNormInferenceJobRequest { DataAccessRoleArn: string | undefined; /** - *

                  The language of the input documents. All documents must be in the same language.

                  + *

                  Specifies the format and location of the input data for the job.

                  */ - LanguageCode: LanguageCode | string | undefined; + InputDataConfig: InputDataConfig | undefined; /** - *

                  A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical - * generates one.

                  + *

                  An AWS Key Management Service key to encrypt your output files. If you do not specify a + * key, the files are written in plain text.

                  */ - ClientRequestToken?: string; + KMSKey?: string; /** *

                  The identifier of the job.

                  diff --git a/clients/client-compute-optimizer/ComputeOptimizer.ts b/clients/client-compute-optimizer/ComputeOptimizer.ts index 74006f69aa03..17fbe1aa69b9 100644 --- a/clients/client-compute-optimizer/ComputeOptimizer.ts +++ b/clients/client-compute-optimizer/ComputeOptimizer.ts @@ -179,12 +179,10 @@ export class ComputeOptimizer extends ComputeOptimizerClient { /** *

                  Returns Auto Scaling group recommendations.

                  - *

                  AWS Compute Optimizer currently generates recommendations for Auto Scaling groups that are configured to - * run instances of the M, C, R, T, and X instance families. The service does not generate - * recommendations for Auto Scaling groups that have a scaling policy attached to them, or that do - * not have the same values for desired, minimum, and maximum capacity. In order for Compute Optimizer - * to analyze your Auto Scaling groups, they must be of a fixed size. For more information, see the - * AWS Compute Optimizer User Guide.

                  + * + *

                  AWS Compute Optimizer generates recommendations for Amazon EC2 Auto Scaling groups that meet a specific set of + * requirements. For more information, see the Supported resources and + * requirements in the AWS Compute Optimizer User Guide.

                  */ public getAutoScalingGroupRecommendations( args: GetAutoScalingGroupRecommendationsCommandInput, @@ -217,10 +215,10 @@ export class ComputeOptimizer extends ComputeOptimizerClient { /** *

                  Returns Amazon EC2 instance recommendations.

                  - *

                  AWS Compute Optimizer currently generates recommendations for Amazon Elastic Compute Cloud (Amazon EC2) and Amazon EC2 Auto Scaling. It - * generates recommendations for M, C, R, T, and X instance families. For more information, - * see the AWS Compute Optimizer - * User Guide.

                  + * + *

                  AWS Compute Optimizer generates recommendations for Amazon Elastic Compute Cloud (Amazon EC2) instances that meet a + * specific set of requirements. For more information, see the Supported resources and + * requirements in the AWS Compute Optimizer User Guide.

                  */ public getEC2InstanceRecommendations( args: GetEC2InstanceRecommendationsCommandInput, @@ -253,6 +251,14 @@ export class ComputeOptimizer extends ComputeOptimizerClient { /** *

                  Returns the projected utilization metrics of Amazon EC2 instance recommendations.

                  + * + * + *

                  The Cpu and Memory metrics are the only projected + * utilization metrics returned when you run this action. Additionally, the + * Memory metric is returned only for resources that have the unified + * CloudWatch agent installed on them. For more information, see Enabling Memory + * Utilization with the CloudWatch Agent.

                  + *
                  */ public getEC2RecommendationProjectedMetrics( args: GetEC2RecommendationProjectedMetricsCommandInput, diff --git a/clients/client-compute-optimizer/models/models_0.ts b/clients/client-compute-optimizer/models/models_0.ts index c356f98566ae..1970309b1cbf 100644 --- a/clients/client-compute-optimizer/models/models_0.ts +++ b/clients/client-compute-optimizer/models/models_0.ts @@ -21,14 +21,14 @@ export namespace AccessDeniedException { */ export interface AutoScalingGroupConfiguration { /** - *

                  The maximum size, or maximum number of instances, for the Auto Scaling group.

                  + *

                  The instance type for the Auto Scaling group.

                  */ - maxSize?: number; + instanceType?: string; /** - *

                  The instance type for the Auto Scaling group.

                  + *

                  The maximum size, or maximum number of instances, for the Auto Scaling group.

                  */ - instanceType?: string; + maxSize?: number; /** *

                  The desired capacity, or number of instances, for the Auto Scaling group.

                  @@ -56,6 +56,10 @@ export enum Finding { export enum MetricName { CPU = "Cpu", + EBS_READ_BYTES_PER_SECOND = "EBS_READ_BYTES_PER_SECOND", + EBS_READ_OPS_PER_SECOND = "EBS_READ_OPS_PER_SECOND", + EBS_WRITE_BYTES_PER_SECOND = "EBS_WRITE_BYTES_PER_SECOND", + EBS_WRITE_OPS_PER_SECOND = "EBS_WRITE_OPS_PER_SECOND", MEMORY = "Memory", } @@ -68,20 +72,20 @@ export enum MetricStatistic { *

                  Describes a utilization metric of a resource, such as an Amazon EC2 instance.

                  */ export interface UtilizationMetric { - /** - *

                  The value of the utilization metric.

                  - */ - value?: number; - /** *

                  The name of the utilization metric.

                  * - *

                  Memory metrics are only returned for resources that have the unified CloudWatch agent - * installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

                  + *

                  The Memory metric is returned only for resources that have the + * unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

                  *
                  */ name?: MetricName | string; + /** + *

                  The value of the utilization metric.

                  + */ + value?: number; + /** *

                  The statistic of the utilization metric.

                  */ @@ -101,15 +105,17 @@ export interface AutoScalingGroupRecommendationOption { /** *

                  An array of objects that describe the projected utilization metrics of the Auto Scaling group * recommendation option.

                  + * + * + *

                  The Cpu and Memory metrics are the only projected + * utilization metrics returned. Additionally, the Memory metric is + * returned only for resources that have the unified CloudWatch agent installed on them. For + * more information, see Enabling Memory + * Utilization with the CloudWatch Agent.

                  + *
                  */ projectedUtilizationMetrics?: UtilizationMetric[]; - /** - *

                  The rank of the Auto Scaling group recommendation option.

                  - *

                  The top recommendation option is ranked as 1.

                  - */ - rank?: number; - /** *

                  An array of objects that describe an Auto Scaling group configuration.

                  */ @@ -123,6 +129,12 @@ export interface AutoScalingGroupRecommendationOption { * 5.

                  */ performanceRisk?: number; + + /** + *

                  The rank of the Auto Scaling group recommendation option.

                  + *

                  The top recommendation option is ranked as 1.

                  + */ + rank?: number; } export namespace AutoScalingGroupRecommendationOption { @@ -136,20 +148,33 @@ export namespace AutoScalingGroupRecommendationOption { */ export interface AutoScalingGroupRecommendation { /** - *

                  The number of days for which utilization metrics were analyzed for the Auto Scaling - * group.

                  - */ - lookBackPeriodInDays?: number; - - /** - *

                  The AWS account ID of the Auto Scaling group.

                  - */ - accountId?: string; - - /** - *

                  An array of objects that describe the utilization metrics of the Auto Scaling group.

                  + *

                  The finding classification for the Auto Scaling group.

                  + *

                  Findings for Auto Scaling groups include:

                  + *
                    + *
                  • + *

                    + * + * NotOptimized + * —An Auto Scaling group is + * considered not optimized when AWS Compute Optimizer identifies a recommendation that can + * provide better performance for your workload.

                    + *
                  • + *
                  • + *

                    + * + * Optimized + * —An Auto Scaling group is + * considered optimized when Compute Optimizer determines that the group is correctly + * provisioned to run your workload based on the chosen instance type. For + * optimized resources, Compute Optimizer might recommend a new generation instance type.

                    + *
                  • + *
                  + * + *

                  The values that are returned might be NOT_OPTIMIZED or + * OPTIMIZED.

                  + *
                  */ - utilizationMetrics?: UtilizationMetric[]; + finding?: Finding | string; /** *

                  The name of the Auto Scaling group.

                  @@ -167,44 +192,31 @@ export interface AutoScalingGroupRecommendation { */ currentConfiguration?: AutoScalingGroupConfiguration; + /** + *

                  The AWS account ID of the Auto Scaling group.

                  + */ + accountId?: string; + /** *

                  The Amazon Resource Name (ARN) of the Auto Scaling group.

                  */ autoScalingGroupArn?: string; /** - *

                  The time stamp of when the Auto Scaling group recommendation was last refreshed.

                  + *

                  The number of days for which utilization metrics were analyzed for the Auto Scaling + * group.

                  */ - lastRefreshTimestamp?: Date; + lookBackPeriodInDays?: number; /** - *

                  The finding classification for the Auto Scaling group.

                  - *

                  Findings for Auto Scaling groups include:

                  - *
                    - *
                  • - *

                    - * - * NotOptimized - * —An Auto Scaling group is - * considered not optimized when AWS Compute Optimizer identifies a recommendation that can - * provide better performance for your workload.

                    - *
                  • - *
                  • - *

                    - * - * Optimized - * —An Auto Scaling group is - * considered optimized when Compute Optimizer determines that the group is correctly - * provisioned to run your workload based on the chosen instance type. For - * optimized resources, Compute Optimizer might recommend a new generation instance type.

                    - *
                  • - *
                  - * - *

                  The values that are returned might be NOT_OPTIMIZED or - * OPTIMIZED.

                  - *
                  + *

                  An array of objects that describe the utilization metrics of the Auto Scaling group.

                  */ - finding?: Finding | string; + utilizationMetrics?: UtilizationMetric[]; + + /** + *

                  The time stamp of when the Auto Scaling group recommendation was last refreshed.

                  + */ + lastRefreshTimestamp?: Date; } export namespace AutoScalingGroupRecommendation { @@ -225,6 +237,15 @@ export enum JobFilterName { * action.

                  */ export interface JobFilter { + /** + *

                  The name of the filter.

                  + *

                  Specify ResourceType to return export jobs of a specific resource type + * (e.g., Ec2Instance).

                  + *

                  Specify JobStatus to return export jobs with a specific status (e.g, + * Complete).

                  + */ + name?: JobFilterName | string; + /** *

                  The value of the filter.

                  *

                  If you specify the name parameter as ResourceType, the valid @@ -234,15 +255,6 @@ export interface JobFilter { * Failed.

                  */ values?: string[]; - - /** - *

                  The name of the filter.

                  - *

                  Specify ResourceType to return export jobs of a specific resource type - * (e.g., Ec2Instance).

                  - *

                  Specify JobStatus to return export jobs with a specific status (e.g, - * Complete).

                  - */ - name?: JobFilterName | string; } export namespace JobFilter { @@ -252,17 +264,19 @@ export namespace JobFilter { } export interface DescribeRecommendationExportJobsRequest { - /** - *

                  The token to advance to the next page of export jobs.

                  - */ - nextToken?: string; - /** *

                  An array of objects that describe a filter to return a more specific list of export * jobs.

                  */ filters?: JobFilter[]; + /** + *

                  The maximum number of export jobs to return with a single request.

                  + *

                  To retrieve the remaining results, make another request with the returned + * NextToken value.

                  + */ + maxResults?: number; + /** *

                  The identification numbers of the export jobs to return.

                  * @@ -276,11 +290,9 @@ export interface DescribeRecommendationExportJobsRequest { jobIds?: string[]; /** - *

                  The maximum number of export jobs to return with a single request.

                  - *

                  To retrieve the remaining results, make another request with the returned - * NextToken value.

                  + *

                  The token to advance to the next page of export jobs.

                  */ - maxResults?: number; + nextToken?: string; } export namespace DescribeRecommendationExportJobsRequest { @@ -361,29 +373,29 @@ export enum JobStatus { */ export interface RecommendationExportJob { /** - *

                  The reason for an export job failure.

                  + *

                  An object that describes the destination of the export file.

                  */ - failureReason?: string; + destination?: ExportDestination; /** - *

                  The status of the export job.

                  + *

                  The timestamp of when the export job was created.

                  */ - status?: JobStatus | string; + creationTimestamp?: Date; /** - *

                  The timestamp of when the export job was last updated.

                  + *

                  The status of the export job.

                  */ - lastUpdatedTimestamp?: Date; + status?: JobStatus | string; /** - *

                  An object that describes the destination of the export file.

                  + *

                  The resource type of the exported recommendations.

                  */ - destination?: ExportDestination; + resourceType?: ResourceType | string; /** - *

                  The resource type of the exported recommendations.

                  + *

                  The timestamp of when the export job was last updated.

                  */ - resourceType?: ResourceType | string; + lastUpdatedTimestamp?: Date; /** *

                  The identification number of the export job.

                  @@ -391,9 +403,9 @@ export interface RecommendationExportJob { jobId?: string; /** - *

                  The timestamp of when the export job was created.

                  + *

                  The reason for an export job failure.

                  */ - creationTimestamp?: Date; + failureReason?: string; } export namespace RecommendationExportJob { @@ -560,6 +572,10 @@ export enum ExportableAutoScalingGroupField { RECOMMENDATION_OPTIONS_STORAGE = "RecommendationOptionsStorage", RECOMMENDATION_OPTIONS_VCPUS = "RecommendationOptionsVcpus", UTILIZATION_METRICS_CPU_MAXIMUM = "UtilizationMetricsCpuMaximum", + UTILIZATION_METRICS_EBS_READ_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsReadBytesPerSecondMaximum", + UTILIZATION_METRICS_EBS_READ_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsReadOpsPerSecondMaximum", + UTILIZATION_METRICS_EBS_WRITE_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsWriteBytesPerSecondMaximum", + UTILIZATION_METRICS_EBS_WRITE_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsWriteOpsPerSecondMaximum", UTILIZATION_METRICS_MEMORY_MAXIMUM = "UtilizationMetricsMemoryMaximum", } @@ -576,15 +592,6 @@ export enum FilterName { *

                  Describes a filter that returns a more specific list of recommendations.

                  */ export interface Filter { - /** - *

                  The name of the filter.

                  - *

                  Specify Finding to return recommendations with a specific findings - * classification (e.g., Overprovisioned).

                  - *

                  Specify RecommendationSourceType to return recommendations of a specific - * resource type (e.g., AutoScalingGroup).

                  - */ - name?: FilterName | string; - /** *

                  The value of the filter.

                  *

                  If you specify the name parameter as Finding, and you @@ -599,6 +606,15 @@ export interface Filter { * Ec2Instance, or AutoScalingGroup.

                  */ values?: string[]; + + /** + *

                  The name of the filter.

                  + *

                  Specify Finding to return recommendations with a specific findings + * classification (e.g., Overprovisioned).

                  + *

                  Specify RecommendationSourceType to return recommendations of a specific + * resource type (e.g., AutoScalingGroup).

                  + */ + name?: FilterName | string; } export namespace Filter { @@ -637,19 +653,6 @@ export namespace S3DestinationConfig { } export interface ExportAutoScalingGroupRecommendationsRequest { - /** - *

                  Indicates whether to include recommendations for resources in all member accounts of - * the organization if your account is the master account of an organization.

                  - *

                  The member accounts must also be opted in to Compute Optimizer.

                  - *

                  Recommendations for member accounts of the organization are not included in the export - * file if this parameter is omitted.

                  - *

                  This parameter cannot be specified together with the account IDs parameter. The - * parameters are mutually exclusive.

                  - *

                  Recommendations for member accounts are not included in the export if this parameter, - * or the account IDs parameter, is omitted.

                  - */ - includeMemberAccounts?: boolean; - /** *

                  An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket name and key prefix for * the export job.

                  @@ -663,6 +666,19 @@ export interface ExportAutoScalingGroupRecommendationsRequest { */ s3DestinationConfig: S3DestinationConfig | undefined; + /** + *

                  Indicates whether to include recommendations for resources in all member accounts of + * the organization if your account is the master account of an organization.

                  + *

                  The member accounts must also be opted in to Compute Optimizer.

                  + *

                  Recommendations for member accounts of the organization are not included in the export + * file if this parameter is omitted.

                  + *

                  This parameter cannot be specified together with the account IDs parameter. The + * parameters are mutually exclusive.

                  + *

                  Recommendations for member accounts are not included in the export if this parameter, + * or the account IDs parameter, is omitted.

                  + */ + includeMemberAccounts?: boolean; + /** *

                  The format of the export file.

                  *

                  The only export file format currently supported is Csv.

                  @@ -670,7 +686,14 @@ export interface ExportAutoScalingGroupRecommendationsRequest { fileFormat?: FileFormat | string; /** - *

                  The recommendations data to include in the export file.

                  + *

                  An array of objects that describe a filter to export a more specific set of Auto Scaling group + * recommendations.

                  + */ + filters?: Filter[]; + + /** + *

                  The recommendations data to include in the export file. For more information about the + * fields that can be exported, see Exported files in the Compute Optimizer User Guide.

                  */ fieldsToExport?: (ExportableAutoScalingGroupField | string)[]; @@ -685,12 +708,6 @@ export interface ExportAutoScalingGroupRecommendationsRequest { *

                  You can specify multiple account IDs per request.

                  */ accountIds?: string[]; - - /** - *

                  An array of objects that describe a filter to export a more specific set of Auto Scaling group - * recommendations.

                  - */ - filters?: Filter[]; } export namespace ExportAutoScalingGroupRecommendationsRequest { @@ -764,32 +781,26 @@ export enum ExportableInstanceField { RECOMMENDATION_OPTIONS_STORAGE = "RecommendationOptionsStorage", RECOMMENDATION_OPTIONS_VCPUS = "RecommendationOptionsVcpus", UTILIZATION_METRICS_CPU_MAXIMUM = "UtilizationMetricsCpuMaximum", + UTILIZATION_METRICS_EBS_READ_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsReadBytesPerSecondMaximum", + UTILIZATION_METRICS_EBS_READ_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsReadOpsPerSecondMaximum", + UTILIZATION_METRICS_EBS_WRITE_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsWriteBytesPerSecondMaximum", + UTILIZATION_METRICS_EBS_WRITE_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsEbsWriteOpsPerSecondMaximum", UTILIZATION_METRICS_MEMORY_MAXIMUM = "UtilizationMetricsMemoryMaximum", } export interface ExportEC2InstanceRecommendationsRequest { /** - *

                  The IDs of the AWS accounts for which to export instance recommendations.

                  - *

                  If your account is the master account of an organization, use this parameter to - * specify the member accounts for which you want to export recommendations.

                  - *

                  This parameter cannot be specified together with the include member accounts - * parameter. The parameters are mutually exclusive.

                  - *

                  Recommendations for member accounts are not included in the export if this parameter, - * or the include member accounts parameter, is omitted.

                  - *

                  You can specify multiple account IDs per request.

                  - */ - accountIds?: string[]; - - /** - *

                  The format of the export file.

                  - *

                  The only export file format currently supported is Csv.

                  + *

                  An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket name and key prefix for + * the export job.

                  + *

                  You must create the destination Amazon S3 bucket for your recommendations export before you + * create the export job. Compute Optimizer does not create the S3 bucket for you. After you create the + * S3 bucket, ensure that it has the required permission policy to allow Compute Optimizer to write the + * export file to it. If you plan to specify an object prefix when you create the export + * job, you must include the object prefix in the policy that you add to the S3 bucket. For + * more information, see Amazon S3 Bucket Policy for Compute Optimizer in the Compute Optimizer user + * guide.

                  */ - fileFormat?: FileFormat | string; - - /** - *

                  The recommendations data to include in the export file.

                  - */ - fieldsToExport?: (ExportableInstanceField | string)[]; + s3DestinationConfig: S3DestinationConfig | undefined; /** *

                  Indicates whether to include recommendations for resources in all member accounts of @@ -803,23 +814,34 @@ export interface ExportEC2InstanceRecommendationsRequest { includeMemberAccounts?: boolean; /** - *

                  An array of objects that describe a filter to export a more specific set of instance - * recommendations.

                  + *

                  The format of the export file.

                  + *

                  The only export file format currently supported is Csv.

                  */ - filters?: Filter[]; + fileFormat?: FileFormat | string; /** - *

                  An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket name and key prefix for - * the export job.

                  - *

                  You must create the destination Amazon S3 bucket for your recommendations export before you - * create the export job. Compute Optimizer does not create the S3 bucket for you. After you create the - * S3 bucket, ensure that it has the required permission policy to allow Compute Optimizer to write the - * export file to it. If you plan to specify an object prefix when you create the export - * job, you must include the object prefix in the policy that you add to the S3 bucket. For - * more information, see Amazon S3 Bucket Policy for Compute Optimizer in the Compute Optimizer user - * guide.

                  + *

                  The recommendations data to include in the export file. For more information about the + * fields that can be exported, see Exported files in the Compute Optimizer User Guide.

                  */ - s3DestinationConfig: S3DestinationConfig | undefined; + fieldsToExport?: (ExportableInstanceField | string)[]; + + /** + *

                  The IDs of the AWS accounts for which to export instance recommendations.

                  + *

                  If your account is the master account of an organization, use this parameter to + * specify the member accounts for which you want to export recommendations.

                  + *

                  This parameter cannot be specified together with the include member accounts + * parameter. The parameters are mutually exclusive.

                  + *

                  Recommendations for member accounts are not included in the export if this parameter, + * or the include member accounts parameter, is omitted.

                  + *

                  You can specify multiple account IDs per request.

                  + */ + accountIds?: string[]; + + /** + *

                  An array of objects that describe a filter to export a more specific set of instance + * recommendations.

                  + */ + filters?: Filter[]; } export namespace ExportEC2InstanceRecommendationsRequest { @@ -829,18 +851,18 @@ export namespace ExportEC2InstanceRecommendationsRequest { } export interface ExportEC2InstanceRecommendationsResponse { + /** + *

                  An object that describes the destination Amazon S3 bucket of a recommendations export + * file.

                  + */ + s3Destination?: S3Destination; + /** *

                  The identification number of the export job.

                  *

                  Use the DescribeRecommendationExportJobs action, and specify the job ID * to view the status of an export job.

                  */ jobId?: string; - - /** - *

                  An object that describes the destination Amazon S3 bucket of a recommendations export - * file.

                  - */ - s3Destination?: S3Destination; } export namespace ExportEC2InstanceRecommendationsResponse { @@ -851,12 +873,13 @@ export namespace ExportEC2InstanceRecommendationsResponse { export interface GetAutoScalingGroupRecommendationsRequest { /** - *

                  The maximum number of Auto Scaling group recommendations to return with a single - * request.

                  - *

                  To retrieve the remaining results, make another request with the returned - * NextToken value.

                  + *

                  The IDs of the AWS accounts for which to return Auto Scaling group recommendations.

                  + *

                  If your account is the master account of an organization, use this parameter to + * specify the member accounts for which you want to return Auto Scaling group + * recommendations.

                  + *

                  Only one account ID can be specified per request.

                  */ - maxResults?: number; + accountIds?: string[]; /** *

                  An array of objects that describe a filter that returns a more specific list of Auto Scaling @@ -864,6 +887,14 @@ export interface GetAutoScalingGroupRecommendationsRequest { */ filters?: Filter[]; + /** + *

                  The maximum number of Auto Scaling group recommendations to return with a single + * request.

                  + *

                  To retrieve the remaining results, make another request with the returned + * NextToken value.

                  + */ + maxResults?: number; + /** *

                  The token to advance to the next page of Auto Scaling group recommendations.

                  */ @@ -874,15 +905,6 @@ export interface GetAutoScalingGroupRecommendationsRequest { * recommendations.

                  */ autoScalingGroupArns?: string[]; - - /** - *

                  The IDs of the AWS accounts for which to return Auto Scaling group recommendations.

                  - *

                  If your account is the master account of an organization, use this parameter to - * specify the member accounts for which you want to return Auto Scaling group - * recommendations.

                  - *

                  Only one account ID can be specified per request.

                  - */ - accountIds?: string[]; } export namespace GetAutoScalingGroupRecommendationsRequest { @@ -899,14 +921,14 @@ export namespace GetAutoScalingGroupRecommendationsRequest { */ export interface GetRecommendationError { /** - *

                  The message, or reason, for the error.

                  + *

                  The error code.

                  */ - message?: string; + code?: string; /** - *

                  The error code.

                  + *

                  The message, or reason, for the error.

                  */ - code?: string; + message?: string; /** *

                  The ID of the error.

                  @@ -953,13 +975,6 @@ export interface GetEC2InstanceRecommendationsRequest { */ nextToken?: string; - /** - *

                  The maximum number of instance recommendations to return with a single request.

                  - *

                  To retrieve the remaining results, make another request with the returned - * NextToken value.

                  - */ - maxResults?: number; - /** *

                  The IDs of the AWS accounts for which to return instance recommendations.

                  *

                  If your account is the master account of an organization, use this parameter to @@ -970,16 +985,23 @@ export interface GetEC2InstanceRecommendationsRequest { accountIds?: string[]; /** - *

                  The Amazon Resource Name (ARN) of the instances for which to return - * recommendations.

                  + *

                  The maximum number of instance recommendations to return with a single request.

                  + *

                  To retrieve the remaining results, make another request with the returned + * NextToken value.

                  */ - instanceArns?: string[]; + maxResults?: number; /** *

                  An array of objects that describe a filter that returns a more specific list of * instance recommendations.

                  */ filters?: Filter[]; + + /** + *

                  The Amazon Resource Name (ARN) of the instances for which to return + * recommendations.

                  + */ + instanceArns?: string[]; } export namespace GetEC2InstanceRecommendationsRequest { @@ -993,10 +1015,18 @@ export namespace GetEC2InstanceRecommendationsRequest { */ export interface InstanceRecommendationOption { /** - *

                  The rank of the instance recommendation option.

                  - *

                  The top recommendation option is ranked as 1.

                  + *

                  An array of objects that describe the projected utilization metrics of the instance + * recommendation option.

                  + * + * + *

                  The Cpu and Memory metrics are the only projected + * utilization metrics returned. Additionally, the Memory metric is + * returned only for resources that have the unified CloudWatch agent installed on them. For + * more information, see Enabling Memory + * Utilization with the CloudWatch Agent.

                  + *
                  */ - rank?: number; + projectedUtilizationMetrics?: UtilizationMetric[]; /** *

                  The instance type of the instance recommendation.

                  @@ -1004,10 +1034,10 @@ export interface InstanceRecommendationOption { instanceType?: string; /** - *

                  An array of objects that describe the projected utilization metrics of the instance - * recommendation option.

                  + *

                  The rank of the instance recommendation option.

                  + *

                  The top recommendation option is ranked as 1.

                  */ - projectedUtilizationMetrics?: UtilizationMetric[]; + rank?: number; /** *

                  The performance risk of the instance recommendation option.

                  @@ -1036,14 +1066,14 @@ export enum RecommendationSourceType { */ export interface RecommendationSource { /** - *

                  The Amazon Resource Name (ARN) of the recommendation source.

                  + *

                  The resource type of the recommendation source.

                  */ - recommendationSourceArn?: string; + recommendationSourceType?: RecommendationSourceType | string; /** - *

                  The resource type of the recommendation source.

                  + *

                  The Amazon Resource Name (ARN) of the recommendation source.

                  */ - recommendationSourceType?: RecommendationSourceType | string; + recommendationSourceArn?: string; } export namespace RecommendationSource { @@ -1057,9 +1087,29 @@ export namespace RecommendationSource { */ export interface InstanceRecommendation { /** - *

                  The time stamp of when the instance recommendation was last refreshed.

                  + *

                  The name of the current instance.

                  */ - lastRefreshTimestamp?: Date; + instanceName?: string; + + /** + *

                  The instance type of the current instance.

                  + */ + currentInstanceType?: string; + + /** + *

                  An array of objects that describe the utilization metrics of the instance.

                  + */ + utilizationMetrics?: UtilizationMetric[]; + + /** + *

                  The AWS account ID of the instance.

                  + */ + accountId?: string; + + /** + *

                  An array of objects that describe the recommendation options for the instance.

                  + */ + recommendationOptions?: InstanceRecommendationOption[]; /** *

                  The finding classification for the instance.

                  @@ -1106,34 +1156,14 @@ export interface InstanceRecommendation { finding?: Finding | string; /** - *

                  An array of objects that describe the recommendation options for the instance.

                  - */ - recommendationOptions?: InstanceRecommendationOption[]; - - /** - *

                  An array of objects that describe the source resource of the recommendation.

                  - */ - recommendationSources?: RecommendationSource[]; - - /** - *

                  An array of objects that describe the utilization metrics of the instance.

                  - */ - utilizationMetrics?: UtilizationMetric[]; - - /** - *

                  The name of the current instance.

                  - */ - instanceName?: string; - - /** - *

                  The instance type of the current instance.

                  + *

                  The Amazon Resource Name (ARN) of the current instance.

                  */ - currentInstanceType?: string; + instanceArn?: string; /** - *

                  The AWS account ID of the instance.

                  + *

                  The time stamp of when the instance recommendation was last refreshed.

                  */ - accountId?: string; + lastRefreshTimestamp?: Date; /** *

                  The number of days for which utilization metrics were analyzed for the @@ -1142,9 +1172,9 @@ export interface InstanceRecommendation { lookBackPeriodInDays?: number; /** - *

                  The Amazon Resource Name (ARN) of the current instance.

                  + *

                  An array of objects that describe the source resource of the recommendation.

                  */ - instanceArn?: string; + recommendationSources?: RecommendationSource[]; } export namespace InstanceRecommendation { @@ -1159,19 +1189,19 @@ export interface GetEC2InstanceRecommendationsResponse { */ instanceRecommendations?: InstanceRecommendation[]; - /** - *

                  An array of objects that describe errors of the request.

                  - *

                  For example, an error is returned if you request recommendations for an instance of an - * unsupported instance family.

                  - */ - errors?: GetRecommendationError[]; - /** *

                  The token to use to advance to the next page of instance recommendations.

                  *

                  This value is null when there are no more pages of instance recommendations to * return.

                  */ nextToken?: string; + + /** + *

                  An array of objects that describe errors of the request.

                  + *

                  For example, an error is returned if you request recommendations for an instance of an + * unsupported instance family.

                  + */ + errors?: GetRecommendationError[]; } export namespace GetEC2InstanceRecommendationsResponse { @@ -1182,9 +1212,9 @@ export namespace GetEC2InstanceRecommendationsResponse { export interface GetEC2RecommendationProjectedMetricsRequest { /** - *

                  The time stamp of the last projected metrics data point to return.

                  + *

                  The granularity, in seconds, of the projected metrics data points.

                  */ - endTime: Date | undefined; + period: number | undefined; /** *

                  The time stamp of the first projected metrics data point to return.

                  @@ -1192,14 +1222,14 @@ export interface GetEC2RecommendationProjectedMetricsRequest { startTime: Date | undefined; /** - *

                  The granularity, in seconds, of the projected metrics data points.

                  + *

                  The statistic of the projected metrics.

                  */ - period: number | undefined; + stat: MetricStatistic | string | undefined; /** - *

                  The statistic of the projected metrics.

                  + *

                  The time stamp of the last projected metrics data point to return.

                  */ - stat: MetricStatistic | string | undefined; + endTime: Date | undefined; /** *

                  The Amazon Resource Name (ARN) of the instances for which to return recommendation @@ -1217,19 +1247,19 @@ export namespace GetEC2RecommendationProjectedMetricsRequest { /** *

                  Describes a projected utilization metric of a recommendation option, such as an Amazon EC2 * instance.

                  + * + * + *

                  The Cpu and Memory metrics are the only projected + * utilization metrics returned when you run the + * GetEC2RecommendationProjectedMetrics action. Additionally, the + * Memory metric is returned only for resources that have the unified + * CloudWatch agent installed on them. For more information, see Enabling Memory + * Utilization with the CloudWatch Agent.

                  + *
                  */ export interface ProjectedMetric { - /** - *

                  The time stamps of the projected utilization metric.

                  - */ - timestamps?: Date[]; - /** *

                  The name of the projected utilization metric.

                  - * - *

                  Memory metrics are only returned for resources that have the unified CloudWatch agent - * installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

                  - *
                  */ name?: MetricName | string; @@ -1237,6 +1267,11 @@ export interface ProjectedMetric { *

                  The values of the projected utilization metrics.

                  */ values?: number[]; + + /** + *

                  The time stamps of the projected utilization metric.

                  + */ + timestamps?: Date[]; } export namespace ProjectedMetric { @@ -1247,6 +1282,15 @@ export namespace ProjectedMetric { /** *

                  Describes a projected utilization metric of a recommendation option.

                  + * + * + *

                  The Cpu and Memory metrics are the only projected + * utilization metrics returned when you run the + * GetEC2RecommendationProjectedMetrics action. Additionally, the + * Memory metric is returned only for resources that have the unified + * CloudWatch agent installed on them. For more information, see Enabling Memory + * Utilization with the CloudWatch Agent.

                  + *
                  */ export interface RecommendedOptionProjectedMetric { /** @@ -1254,11 +1298,6 @@ export interface RecommendedOptionProjectedMetric { */ recommendedInstanceType?: string; - /** - *

                  An array of objects that describe a projected utilization metric.

                  - */ - projectedMetrics?: ProjectedMetric[]; - /** *

                  The rank of the recommendation option projected metric.

                  *

                  The top recommendation option is ranked as 1.

                  @@ -1267,6 +1306,11 @@ export interface RecommendedOptionProjectedMetric { * that is also ranked as 1 in the same response.

                  */ rank?: number; + + /** + *

                  An array of objects that describe a projected utilization metric.

                  + */ + projectedMetrics?: ProjectedMetric[]; } export namespace RecommendedOptionProjectedMetric { @@ -1304,6 +1348,12 @@ export enum Status { } export interface GetEnrollmentStatusResponse { + /** + *

                  Confirms the enrollment status of member accounts within the organization, if the + * account is a master account of an organization.

                  + */ + memberAccountsEnrolled?: boolean; + /** *

                  The reason for the enrollment status of the account.

                  *

                  For example, an account might show a status of Pending because member @@ -1311,12 +1361,6 @@ export interface GetEnrollmentStatusResponse { */ statusReason?: string; - /** - *

                  Confirms the enrollment status of member accounts within the organization, if the - * account is a master account of an organization.

                  - */ - memberAccountsEnrolled?: boolean; - /** *

                  The enrollment status of the account.

                  */ @@ -1330,6 +1374,11 @@ export namespace GetEnrollmentStatusResponse { } export interface GetRecommendationSummariesRequest { + /** + *

                  The token to advance to the next page of recommendation summaries.

                  + */ + nextToken?: string; + /** *

                  The maximum number of recommendation summaries to return with a single request.

                  *

                  To retrieve the remaining results, make another request with the returned @@ -1337,11 +1386,6 @@ export interface GetRecommendationSummariesRequest { */ maxResults?: number; - /** - *

                  The token to advance to the next page of recommendation summaries.

                  - */ - nextToken?: string; - /** *

                  The IDs of the AWS accounts for which to return recommendation summaries.

                  *

                  If your account is the master account of an organization, use this parameter to @@ -1363,14 +1407,14 @@ export namespace GetRecommendationSummariesRequest { */ export interface Summary { /** - *

                  The value of the recommendation summary.

                  + *

                  The finding classification of the recommendation.

                  */ - value?: number; + name?: Finding | string; /** - *

                  The finding classification of the recommendation.

                  + *

                  The value of the recommendation summary.

                  */ - name?: Finding | string; + value?: number; } export namespace Summary { @@ -1384,9 +1428,9 @@ export namespace Summary { */ export interface RecommendationSummary { /** - *

                  The AWS account ID of the recommendation summary.

                  + *

                  The resource type of the recommendation.

                  */ - accountId?: string; + recommendationResourceType?: RecommendationSourceType | string; /** *

                  An array of objects that describe a recommendation summary.

                  @@ -1394,9 +1438,9 @@ export interface RecommendationSummary { summaries?: Summary[]; /** - *

                  The resource type of the recommendation.

                  + *

                  The AWS account ID of the recommendation summary.

                  */ - recommendationResourceType?: RecommendationSourceType | string; + accountId?: string; } export namespace RecommendationSummary { @@ -1406,17 +1450,17 @@ export namespace RecommendationSummary { } export interface GetRecommendationSummariesResponse { - /** - *

                  An array of objects that summarize a recommendation.

                  - */ - recommendationSummaries?: RecommendationSummary[]; - /** *

                  The token to use to advance to the next page of recommendation summaries.

                  *

                  This value is null when there are no more pages of recommendation summaries to * return.

                  */ nextToken?: string; + + /** + *

                  An array of objects that summarize a recommendation.

                  + */ + recommendationSummaries?: RecommendationSummary[]; } export namespace GetRecommendationSummariesResponse { @@ -1426,18 +1470,18 @@ export namespace GetRecommendationSummariesResponse { } export interface UpdateEnrollmentStatusRequest { + /** + *

                  Indicates whether to enroll member accounts of the organization if the your account is + * the master account of an organization.

                  + */ + includeMemberAccounts?: boolean; + /** *

                  The new enrollment status of the account.

                  *

                  Accepted options are Active or Inactive. You will get an * error if Pending or Failed are specified.

                  */ status: Status | string | undefined; - - /** - *

                  Indicates whether to enroll member accounts of the organization if the your account is - * the master account of an organization.

                  - */ - includeMemberAccounts?: boolean; } export namespace UpdateEnrollmentStatusRequest { @@ -1447,17 +1491,17 @@ export namespace UpdateEnrollmentStatusRequest { } export interface UpdateEnrollmentStatusResponse { + /** + *

                  The enrollment status of the account.

                  + */ + status?: Status | string; + /** *

                  The reason for the enrollment status of the account. For example, an account might * show a status of Pending because member accounts of an organization require * more time to be enrolled in the service.

                  */ statusReason?: string; - - /** - *

                  The enrollment status of the account.

                  - */ - status?: Status | string; } export namespace UpdateEnrollmentStatusResponse { diff --git a/clients/client-config-service/models/models_0.ts b/clients/client-config-service/models/models_0.ts index f1ceb42b8a6a..c1c28d555ea6 100644 --- a/clients/client-config-service/models/models_0.ts +++ b/clients/client-config-service/models/models_0.ts @@ -108,6 +108,11 @@ export namespace Compliance { * resources do not comply.

                  */ export interface AggregateComplianceByConfigRule { + /** + *

                  The 12-digit account ID of the source account.

                  + */ + AccountId?: string; + /** *

                  Indicates whether an AWS resource or AWS Config rule is * compliant and provides the number of contributors that affect the @@ -120,11 +125,6 @@ export interface AggregateComplianceByConfigRule { */ AwsRegion?: string; - /** - *

                  The 12-digit account ID of the source account.

                  - */ - AccountId?: string; - /** *

                  The name of the AWS Config rule.

                  */ @@ -215,9 +215,15 @@ export interface AggregatedSourceStatus { SourceId?: string; /** - *

                  The time of the last update.

                  + *

                  The source account or an organization.

                  */ - LastUpdateTime?: Date; + SourceType?: AggregatedSourceType | string; + + /** + *

                  The message indicating that the source account aggregation + * failed due to an error.

                  + */ + LastErrorMessage?: string; /** *

                  Filters the last updated status type.

                  @@ -239,10 +245,9 @@ export interface AggregatedSourceStatus { LastUpdateStatus?: AggregatedSourceStatusType | string; /** - *

                  The message indicating that the source account aggregation - * failed due to an error.

                  + *

                  The region authorized to collect aggregated data.

                  */ - LastErrorMessage?: string; + AwsRegion?: string; /** *

                  The error code that AWS Config returned when the source account @@ -251,14 +256,9 @@ export interface AggregatedSourceStatus { LastErrorCode?: string; /** - *

                  The source account or an organization.

                  - */ - SourceType?: AggregatedSourceType | string; - - /** - *

                  The region authorized to collect aggregated data.

                  + *

                  The time of the last update.

                  */ - AwsRegion?: string; + LastUpdateTime?: Date; } export namespace AggregatedSourceStatus { @@ -273,12 +273,6 @@ export namespace AggregatedSourceStatus { * evaluated.

                  */ export interface EvaluationResultQualifier { - /** - *

                  The name of the AWS Config rule that was used in the - * evaluation.

                  - */ - ConfigRuleName?: string; - /** *

                  The ID of the evaluated AWS resource.

                  */ @@ -288,6 +282,12 @@ export interface EvaluationResultQualifier { *

                  The type of AWS resource that was evaluated.

                  */ ResourceType?: string; + + /** + *

                  The name of the AWS Config rule that was used in the + * evaluation.

                  + */ + ConfigRuleName?: string; } export namespace EvaluationResultQualifier { @@ -330,14 +330,9 @@ export namespace EvaluationResultIdentifier { */ export interface AggregateEvaluationResult { /** - *

                  The resource compliance status.

                  - *

                  For the AggregationEvaluationResult data type, AWS - * Config supports only the COMPLIANT and - * NON_COMPLIANT. AWS Config does not support the - * NOT_APPLICABLE and INSUFFICIENT_DATA - * value.

                  + *

                  Uniquely identifies the evaluation result.

                  */ - ComplianceType?: ComplianceType | string; + EvaluationResultIdentifier?: EvaluationResultIdentifier; /** *

                  Supplementary information about how the agrregate evaluation @@ -345,20 +340,16 @@ export interface AggregateEvaluationResult { */ Annotation?: string; - /** - *

                  The source region from where the data is aggregated.

                  - */ - AwsRegion?: string; - /** *

                  The 12-digit account ID of the source account.

                  */ AccountId?: string; /** - *

                  Uniquely identifies the evaluation result.

                  + *

                  The time when AWS Config recorded the aggregate evaluation + * result.

                  */ - EvaluationResultIdentifier?: EvaluationResultIdentifier; + ResultRecordedTime?: Date; /** *

                  The time when the AWS Config rule evaluated the AWS @@ -367,10 +358,19 @@ export interface AggregateEvaluationResult { ConfigRuleInvokedTime?: Date; /** - *

                  The time when AWS Config recorded the aggregate evaluation - * result.

                  + *

                  The resource compliance status.

                  + *

                  For the AggregationEvaluationResult data type, AWS + * Config supports only the COMPLIANT and + * NON_COMPLIANT. AWS Config does not support the + * NOT_APPLICABLE and INSUFFICIENT_DATA + * value.

                  */ - ResultRecordedTime?: Date; + ComplianceType?: ComplianceType | string; + + /** + *

                  The source region from where the data is aggregated.

                  + */ + AwsRegion?: string; } export namespace AggregateEvaluationResult { @@ -480,14 +480,14 @@ export enum ResourceType { */ export interface AggregateResourceIdentifier { /** - *

                  The source region where data is aggregated.

                  + *

                  The type of the AWS resource.

                  */ - SourceRegion: string | undefined; + ResourceType: ResourceType | string | undefined; /** - *

                  The 12-digit account ID of the source account.

                  + *

                  The ID of the AWS resource.

                  */ - SourceAccountId: string | undefined; + ResourceId: string | undefined; /** *

                  The name of the AWS resource.

                  @@ -495,14 +495,14 @@ export interface AggregateResourceIdentifier { ResourceName?: string; /** - *

                  The ID of the AWS resource.

                  + *

                  The source region where data is aggregated.

                  */ - ResourceId: string | undefined; + SourceRegion: string | undefined; /** - *

                  The type of the AWS resource.

                  + *

                  The 12-digit account ID of the source account.

                  */ - ResourceType: ResourceType | string | undefined; + SourceAccountId: string | undefined; } export namespace AggregateResourceIdentifier { @@ -522,12 +522,6 @@ export interface AggregationAuthorization { */ CreationTime?: Date; - /** - *

                  The 12-digit account ID of the account authorized to aggregate - * data.

                  - */ - AuthorizedAccountId?: string; - /** *

                  The Amazon Resource Name (ARN) of the aggregation * object.

                  @@ -538,6 +532,12 @@ export interface AggregationAuthorization { *

                  The region authorized to collect aggregated data.

                  */ AuthorizedAwsRegion?: string; + + /** + *

                  The 12-digit account ID of the account authorized to aggregate + * data.

                  + */ + AuthorizedAccountId?: string; } export namespace AggregationAuthorization { @@ -559,68 +559,20 @@ export enum ConfigurationItemStatus { */ export interface BaseConfigurationItem { /** - *

                  An identifier that indicates the ordering of the configuration - * items of a resource.

                  - */ - configurationStateId?: string; - - /** - *

                  The 12-digit AWS account ID associated with the resource.

                  - */ - accountId?: string; - - /** - *

                  The type of AWS resource.

                  - */ - resourceType?: ResourceType | string; - - /** - *

                  Configuration attributes that AWS Config returns for certain - * resource types to supplement the information returned for the - * configuration parameter.

                  - */ - supplementaryConfiguration?: { [key: string]: string }; - - /** - *

                  The custom name of the resource, if available.

                  - */ - resourceName?: string; - - /** - *

                  The version number of the resource configuration.

                  - */ - version?: string; - - /** - *

                  The description of the resource configuration.

                  + *

                  The region where the resource resides.

                  */ - configuration?: string; + awsRegion?: string; /** *

                  The ID of the resource (for example., sg-xxxxxx).

                  */ resourceId?: string; - /** - *

                  The region where the resource resides.

                  - */ - awsRegion?: string; - /** *

                  The Availability Zone associated with the resource.

                  */ availabilityZone?: string; - /** - *

                  The Amazon Resource Name (ARN) of the resource.

                  - */ - arn?: string; - - /** - *

                  The time when the configuration recording was initiated.

                  - */ - configurationItemCaptureTime?: Date; - /** *

                  The configuration item status. The valid values are:

                  * @@ -647,10 +599,58 @@ export interface BaseConfigurationItem { */ configurationItemStatus?: ConfigurationItemStatus | string; + /** + *

                  The description of the resource configuration.

                  + */ + configuration?: string; + /** *

                  The time stamp when the resource was created.

                  */ resourceCreationTime?: Date; + + /** + *

                  The Amazon Resource Name (ARN) of the resource.

                  + */ + arn?: string; + + /** + *

                  The type of AWS resource.

                  + */ + resourceType?: ResourceType | string; + + /** + *

                  The 12-digit AWS account ID associated with the resource.

                  + */ + accountId?: string; + + /** + *

                  An identifier that indicates the ordering of the configuration + * items of a resource.

                  + */ + configurationStateId?: string; + + /** + *

                  The custom name of the resource, if available.

                  + */ + resourceName?: string; + + /** + *

                  Configuration attributes that AWS Config returns for certain + * resource types to supplement the information returned for the + * configuration parameter.

                  + */ + supplementaryConfiguration?: { [key: string]: string }; + + /** + *

                  The version number of the resource configuration.

                  + */ + version?: string; + + /** + *

                  The time when the configuration recording was initiated.

                  + */ + configurationItemCaptureTime?: Date; } export namespace BaseConfigurationItem { @@ -737,14 +737,14 @@ export namespace ValidationException { */ export interface ResourceKey { /** - *

                  The ID of the resource (for example., sg-xxxxxx).

                  + *

                  The resource type.

                  */ - resourceId: string | undefined; + resourceType: ResourceType | string | undefined; /** - *

                  The resource type.

                  + *

                  The ID of the resource (for example., sg-xxxxxx).

                  */ - resourceType: ResourceType | string | undefined; + resourceId: string | undefined; } export namespace ResourceKey { @@ -850,6 +850,12 @@ export namespace ComplianceByConfigRule { * these rules.

                  */ export interface ComplianceByResource { + /** + *

                  Indicates whether the AWS resource complies with all of the AWS + * Config rules that evaluated it.

                  + */ + Compliance?: Compliance; + /** *

                  The ID of the AWS resource that was evaluated.

                  */ @@ -859,12 +865,6 @@ export interface ComplianceByResource { *

                  The type of the AWS resource that was evaluated.

                  */ ResourceType?: string; - - /** - *

                  Indicates whether the AWS resource complies with all of the AWS - * Config rules that evaluated it.

                  - */ - Compliance?: Compliance; } export namespace ComplianceByResource { @@ -911,14 +911,14 @@ export enum DeliveryStatus { */ export interface ConfigExportDeliveryInfo { /** - *

                  Status of the last attempted delivery.

                  + *

                  The error message from the last attempted delivery.

                  */ - lastStatus?: DeliveryStatus | string; + lastErrorMessage?: string; /** - *

                  The time of the last attempted delivery.

                  + *

                  Status of the last attempted delivery.

                  */ - lastAttemptTime?: Date; + lastStatus?: DeliveryStatus | string; /** *

                  The time of the last successful delivery.

                  @@ -926,19 +926,19 @@ export interface ConfigExportDeliveryInfo { lastSuccessfulTime?: Date; /** - *

                  The time that the next delivery occurs.

                  + *

                  The error code from the last attempted delivery.

                  */ - nextDeliveryTime?: Date; + lastErrorCode?: string; /** - *

                  The error code from the last attempted delivery.

                  + *

                  The time that the next delivery occurs.

                  */ - lastErrorCode?: string; + nextDeliveryTime?: Date; /** - *

                  The error message from the last attempted delivery.

                  + *

                  The time of the last attempted delivery.

                  */ - lastErrorMessage?: string; + lastAttemptTime?: Date; } export namespace ConfigExportDeliveryInfo { @@ -980,12 +980,6 @@ export interface Scope { */ ComplianceResourceTypes?: string[]; - /** - *

                  The tag key that is applied to only those AWS resources that - * you want to trigger an evaluation for the rule.

                  - */ - TagKey?: string; - /** *

                  The ID of the only AWS resource that you want to trigger an * evaluation for the rule. If you specify a resource ID, you must @@ -1001,9 +995,15 @@ export interface Scope { * TagKey.

                  */ TagValue?: string; -} -export namespace Scope { + /** + *

                  The tag key that is applied to only those AWS resources that + * you want to trigger an evaluation for the rule.

                  + */ + TagKey?: string; +} + +export namespace Scope { export const filterSensitiveLog = (obj: Scope): any => ({ ...obj, }); @@ -1170,6 +1170,19 @@ export namespace Source { * in the AWS Config Developer Guide.

                  */ export interface ConfigRule { + /** + *

                  Provides the rule owner (AWS or customer), the rule identifier, + * and the notifications that cause the function to evaluate your AWS + * resources.

                  + */ + Source: Source | undefined; + + /** + *

                  The Amazon Resource Name (ARN) of the AWS Config + * rule.

                  + */ + ConfigRuleArn?: string; + /** *

                  Indicates whether the AWS Config rule is active or is currently * being deleted by AWS Config. It can also indicate the evaluation @@ -1194,17 +1207,15 @@ export interface ConfigRule { ConfigRuleState?: ConfigRuleState | string; /** - *

                  Provides the rule owner (AWS or customer), the rule identifier, - * and the notifications that cause the function to evaluate your AWS - * resources.

                  + *

                  A string, in JSON format, that is passed to the AWS Config rule + * Lambda function.

                  */ - Source: Source | undefined; + InputParameters?: string; /** - *

                  The Amazon Resource Name (ARN) of the AWS Config - * rule.

                  + *

                  The ID of the AWS Config rule.

                  */ - ConfigRuleArn?: string; + ConfigRuleId?: string; /** *

                  Defines which resources can trigger an evaluation for the rule. @@ -1221,15 +1232,10 @@ export interface ConfigRule { Scope?: Scope; /** - *

                  Service principal name of the service that created the + *

                  The description that you provide for the AWS Config * rule.

                  - * - *

                  The field is populated only if the service linked rule is - * created by a service. The field is empty if you create your own - * rule.

                  - *
                  */ - CreatedBy?: string; + Description?: string; /** *

                  The maximum frequency with which AWS Config runs evaluations @@ -1258,27 +1264,21 @@ export interface ConfigRule { MaximumExecutionFrequency?: MaximumExecutionFrequency | string; /** - *

                  The ID of the AWS Config rule.

                  - */ - ConfigRuleId?: string; - - /** - *

                  A string, in JSON format, that is passed to the AWS Config rule - * Lambda function.

                  + *

                  The name that you assign to the AWS Config rule. The name is + * required if you are adding a new rule.

                  */ - InputParameters?: string; + ConfigRuleName?: string; /** - *

                  The description that you provide for the AWS Config + *

                  Service principal name of the service that created the * rule.

                  + * + *

                  The field is populated only if the service linked rule is + * created by a service. The field is empty if you create your own + * rule.

                  + *
                  */ - Description?: string; - - /** - *

                  The name that you assign to the AWS Config rule. The name is - * required if you are adding a new rule.

                  - */ - ConfigRuleName?: string; + CreatedBy?: string; } export namespace ConfigRule { @@ -1293,9 +1293,14 @@ export namespace ConfigRule { */ export interface ConfigRuleComplianceFilters { /** - *

                  The name of the AWS Config rule.

                  + *

                  The rule compliance status.

                  + *

                  For the ConfigRuleComplianceFilters data type, AWS + * Config supports only COMPLIANT and + * NON_COMPLIANT. AWS Config does not support the + * NOT_APPLICABLE and the + * INSUFFICIENT_DATA values.

                  */ - ConfigRuleName?: string; + ComplianceType?: ComplianceType | string; /** *

                  The source region where the data is aggregated. @@ -1304,20 +1309,15 @@ export interface ConfigRuleComplianceFilters { AwsRegion?: string; /** - *

                  The 12-digit account ID of the source account. - *

                  + *

                  The name of the AWS Config rule.

                  */ - AccountId?: string; + ConfigRuleName?: string; /** - *

                  The rule compliance status.

                  - *

                  For the ConfigRuleComplianceFilters data type, AWS - * Config supports only COMPLIANT and - * NON_COMPLIANT. AWS Config does not support the - * NOT_APPLICABLE and the - * INSUFFICIENT_DATA values.

                  + *

                  The 12-digit account ID of the source account. + *

                  */ - ComplianceType?: ComplianceType | string; + AccountId?: string; } export namespace ConfigRuleComplianceFilters { @@ -1332,14 +1332,14 @@ export namespace ConfigRuleComplianceFilters { */ export interface ConfigRuleComplianceSummaryFilters { /** - *

                  The source region where the data is aggregated.

                  + *

                  The 12-digit account ID of the source account.

                  */ - AwsRegion?: string; + AccountId?: string; /** - *

                  The 12-digit account ID of the source account.

                  + *

                  The source region where the data is aggregated.

                  */ - AccountId?: string; + AwsRegion?: string; } export namespace ConfigRuleComplianceSummaryFilters { @@ -1369,16 +1369,21 @@ export interface ConfigRuleEvaluationStatus { LastErrorCode?: string; /** - *

                  The time that AWS Config last failed to invoke the AWS Config - * rule to evaluate your AWS resources.

                  + *

                  The Amazon Resource Name (ARN) of the AWS Config + * rule.

                  */ - LastFailedInvocationTime?: Date; + ConfigRuleArn?: string; /** - *

                  The time that AWS Config last failed to evaluate your AWS - * resources against the rule.

                  + *

                  The name of the AWS Config rule.

                  */ - LastFailedEvaluationTime?: Date; + ConfigRuleName?: string; + + /** + *

                  The time that AWS Config last successfully invoked the AWS + * Config rule to evaluate your AWS resources.

                  + */ + LastSuccessfulInvocationTime?: Date; /** *

                  Indicates whether AWS Config has evaluated your resources @@ -1399,20 +1404,10 @@ export interface ConfigRuleEvaluationStatus { FirstEvaluationStarted?: boolean; /** - *

                  The time that AWS Config last successfully evaluated your AWS - * resources against the rule.

                  - */ - LastSuccessfulEvaluationTime?: Date; - - /** - *

                  The ID of the AWS Config rule.

                  - */ - ConfigRuleId?: string; - - /** - *

                  The time that you last turned off the AWS Config rule.

                  + *

                  The time that AWS Config last failed to invoke the AWS Config + * rule to evaluate your AWS resources.

                  */ - LastDeactivatedTime?: Date; + LastFailedInvocationTime?: Date; /** *

                  The time that you first activated the AWS Config @@ -1421,27 +1416,32 @@ export interface ConfigRuleEvaluationStatus { FirstActivatedTime?: Date; /** - *

                  The time that AWS Config last successfully invoked the AWS - * Config rule to evaluate your AWS resources.

                  + *

                  The ID of the AWS Config rule.

                  */ - LastSuccessfulInvocationTime?: Date; + ConfigRuleId?: string; /** - *

                  The Amazon Resource Name (ARN) of the AWS Config - * rule.

                  + *

                  The error message that AWS Config returned when the rule last + * failed.

                  */ - ConfigRuleArn?: string; + LastErrorMessage?: string; /** - *

                  The name of the AWS Config rule.

                  + *

                  The time that AWS Config last failed to evaluate your AWS + * resources against the rule.

                  */ - ConfigRuleName?: string; + LastFailedEvaluationTime?: Date; /** - *

                  The error message that AWS Config returned when the rule last - * failed.

                  + *

                  The time that AWS Config last successfully evaluated your AWS + * resources against the rule.

                  */ - LastErrorMessage?: string; + LastSuccessfulEvaluationTime?: Date; + + /** + *

                  The time that you last turned off the AWS Config rule.

                  + */ + LastDeactivatedTime?: Date; } export namespace ConfigRuleEvaluationStatus { @@ -1535,13 +1535,9 @@ export namespace ConfigSnapshotDeliveryProperties { */ export interface ConfigStreamDeliveryInfo { /** - *

                  Status of the last attempted delivery.

                  - *

                  - * Note Providing an SNS topic on a - * DeliveryChannel for AWS Config is optional. If the SNS - * delivery is turned off, the last status will be Not_Applicable.

                  + *

                  The error message from the last attempted delivery.

                  */ - lastStatus?: DeliveryStatus | string; + lastErrorMessage?: string; /** *

                  The time from the last status change.

                  @@ -1549,14 +1545,18 @@ export interface ConfigStreamDeliveryInfo { lastStatusChangeTime?: Date; /** - *

                  The error code from the last attempted delivery.

                  + *

                  Status of the last attempted delivery.

                  + *

                  + * Note Providing an SNS topic on a + * DeliveryChannel for AWS Config is optional. If the SNS + * delivery is turned off, the last status will be Not_Applicable.

                  */ - lastErrorCode?: string; + lastStatus?: DeliveryStatus | string; /** - *

                  The error message from the last attempted delivery.

                  + *

                  The error code from the last attempted delivery.

                  */ - lastErrorMessage?: string; + lastErrorCode?: string; } export namespace ConfigStreamDeliveryInfo { @@ -1617,10 +1617,10 @@ export interface ConfigurationAggregator { AccountAggregationSources?: AccountAggregationSource[]; /** - *

                  Provides an organization and list of regions to be - * aggregated.

                  + *

                  The time stamp when the configuration aggregator was + * created.

                  */ - OrganizationAggregationSource?: OrganizationAggregationSource; + CreationTime?: Date; /** *

                  The name of the aggregator.

                  @@ -1628,10 +1628,10 @@ export interface ConfigurationAggregator { ConfigurationAggregatorName?: string; /** - *

                  The time stamp when the configuration aggregator was - * created.

                  + *

                  Provides an organization and list of regions to be + * aggregated.

                  */ - CreationTime?: Date; + OrganizationAggregationSource?: OrganizationAggregationSource; /** *

                  The time of the last update.

                  @@ -1656,6 +1656,11 @@ export interface Relationship { */ resourceName?: string; + /** + *

                  The resource type of the related resource.

                  + */ + resourceType?: ResourceType | string; + /** *

                  The type of relationship with the related resource.

                  */ @@ -1666,11 +1671,6 @@ export interface Relationship { * sg-xxxxxx).

                  */ resourceId?: string; - - /** - *

                  The resource type of the related resource.

                  - */ - resourceType?: ResourceType | string; } export namespace Relationship { @@ -1685,29 +1685,21 @@ export namespace Relationship { */ export interface ConfigurationItem { /** - *

                  The region where the resource resides.

                  - */ - awsRegion?: string; - - /** - *

                  Unique MD5 hash that represents the configuration item's - * state.

                  - *

                  You can use MD5 hash to compare the states of two or more - * configuration items that are associated with the same - * resource.

                  + *

                  Configuration attributes that AWS Config returns for certain + * resource types to supplement the information returned for the + * configuration parameter.

                  */ - configurationItemMD5Hash?: string; + supplementaryConfiguration?: { [key: string]: string }; /** - *

                  The ID of the resource (for example, - * sg-xxxxxx).

                  + *

                  The custom name of the resource, if available.

                  */ - resourceId?: string; + resourceName?: string; /** - *

                  The type of AWS resource.

                  + *

                  The description of the resource configuration.

                  */ - resourceType?: ResourceType | string; + configuration?: string; /** *

                  A list of CloudTrail event IDs.

                  @@ -1721,96 +1713,104 @@ export interface ConfigurationItem { relatedEvents?: string[]; /** - *

                  A list of related AWS resources.

                  + *

                  The configuration item status. The valid values are:

                  + * + *
                    + *
                  • + *

                    OK – The resource configuration has been updated

                    + *
                  • + *
                  • + *

                    ResourceDiscovered – The resource was newly discovered

                    + *
                  • + *
                  • + *

                    ResourceNotRecorded – The resource was discovered but its configuration was not recorded since the recorder excludes the recording of resources of this type

                    + *
                  • + *
                  • + *

                    ResourceDeleted – The resource was deleted

                    + *
                  • + *
                  • + *

                    ResourceDeletedNotRecorded – The resource was deleted but its configuration was not recorded since the recorder excludes the recording of resources of this type

                    + *
                  • + *
                  + * + *

                  The CIs do not incur any cost.

                  + *
                  */ - relationships?: Relationship[]; + configurationItemStatus?: ConfigurationItemStatus | string; /** - *

                  The 12-digit AWS account ID associated with the - * resource.

                  + *

                  The version number of the resource configuration.

                  */ - accountId?: string; + version?: string; /** - *

                  An identifier that indicates the ordering of the configuration - * items of a resource.

                  + *

                  A mapping of key value tags associated with the + * resource.

                  */ - configurationStateId?: string; + tags?: { [key: string]: string }; /** - *

                  accoun

                  + *

                  The Availability Zone associated with the resource.

                  */ - arn?: string; + availabilityZone?: string; /** - *

                  The time stamp when the resource was created.

                  + *

                  The ID of the resource (for example, + * sg-xxxxxx).

                  */ - resourceCreationTime?: Date; + resourceId?: string; /** - *

                  Configuration attributes that AWS Config returns for certain - * resource types to supplement the information returned for the - * configuration parameter.

                  + *

                  The time when the configuration recording was + * initiated.

                  */ - supplementaryConfiguration?: { [key: string]: string }; + configurationItemCaptureTime?: Date; /** - *

                  The configuration item status. The valid values are:

                  - * - *
                    - *
                  • - *

                    OK – The resource configuration has been updated

                    - *
                  • - *
                  • - *

                    ResourceDiscovered – The resource was newly discovered

                    - *
                  • - *
                  • - *

                    ResourceNotRecorded – The resource was discovered but its configuration was not recorded since the recorder excludes the recording of resources of this type

                    - *
                  • - *
                  • - *

                    ResourceDeleted – The resource was deleted

                    - *
                  • - *
                  • - *

                    ResourceDeletedNotRecorded – The resource was deleted but its configuration was not recorded since the recorder excludes the recording of resources of this type

                    - *
                  • - *
                  - * - *

                  The CIs do not incur any cost.

                  - *
                  + *

                  accoun

                  */ - configurationItemStatus?: ConfigurationItemStatus | string; + arn?: string; /** - *

                  The time when the configuration recording was - * initiated.

                  + *

                  The time stamp when the resource was created.

                  */ - configurationItemCaptureTime?: Date; + resourceCreationTime?: Date; /** - *

                  The description of the resource configuration.

                  + *

                  Unique MD5 hash that represents the configuration item's + * state.

                  + *

                  You can use MD5 hash to compare the states of two or more + * configuration items that are associated with the same + * resource.

                  */ - configuration?: string; + configurationItemMD5Hash?: string; /** - *

                  The custom name of the resource, if available.

                  + *

                  The type of AWS resource.

                  */ - resourceName?: string; + resourceType?: ResourceType | string; /** - *

                  The Availability Zone associated with the resource.

                  + *

                  A list of related AWS resources.

                  */ - availabilityZone?: string; + relationships?: Relationship[]; /** - *

                  A mapping of key value tags associated with the - * resource.

                  + *

                  An identifier that indicates the ordering of the configuration + * items of a resource.

                  */ - tags?: { [key: string]: string }; + configurationStateId?: string; /** - *

                  The version number of the resource configuration.

                  + *

                  The region where the resource resides.

                  */ - version?: string; + awsRegion?: string; + + /** + *

                  The 12-digit AWS account ID associated with the + * resource.

                  + */ + accountId?: string; } export namespace ConfigurationItem { @@ -1853,22 +1853,21 @@ export namespace ConfigurationItem { */ export interface RecordingGroup { /** - *

                  A comma-separated list that specifies the types of AWS - * resources for which AWS Config records configuration changes (for - * example, AWS::EC2::Instance or - * AWS::CloudTrail::Trail).

                  + *

                  Specifies whether AWS Config includes all supported types of + * global resources (for example, IAM resources) with the resources + * that it records.

                  *

                  Before you can set this option to true, you must * set the allSupported option to - * false.

                  + * true.

                  *

                  If you set this option to true, when AWS Config - * adds support for a new type of resource, it will not record - * resources of that type unless you manually add that type to your - * recording group.

                  - *

                  For a list of valid resourceTypes values, see the - * resourceType Value column in - * Supported AWS Resource Types.

                  + * adds support for a new type of global resource, it starts recording + * resources of that type automatically.

                  + *

                  The configuration details for any global resource are the same + * in all regions. To prevent duplicate configuration items, you should + * consider customizing AWS Config in only one region to record global + * resources.

                  */ - resourceTypes?: (ResourceType | string)[]; + includeGlobalResourceTypes?: boolean; /** *

                  Specifies whether AWS Config records configuration changes for @@ -1882,21 +1881,22 @@ export interface RecordingGroup { allSupported?: boolean; /** - *

                  Specifies whether AWS Config includes all supported types of - * global resources (for example, IAM resources) with the resources - * that it records.

                  + *

                  A comma-separated list that specifies the types of AWS + * resources for which AWS Config records configuration changes (for + * example, AWS::EC2::Instance or + * AWS::CloudTrail::Trail).

                  *

                  Before you can set this option to true, you must * set the allSupported option to - * true.

                  + * false.

                  *

                  If you set this option to true, when AWS Config - * adds support for a new type of global resource, it starts recording - * resources of that type automatically.

                  - *

                  The configuration details for any global resource are the same - * in all regions. To prevent duplicate configuration items, you should - * consider customizing AWS Config in only one region to record global - * resources.

                  + * adds support for a new type of resource, it will not record + * resources of that type unless you manually add that type to your + * recording group.

                  + *

                  For a list of valid resourceTypes values, see the + * resourceType Value column in + * Supported AWS Resource Types.

                  */ - includeGlobalResourceTypes?: boolean; + resourceTypes?: (ResourceType | string)[]; } export namespace RecordingGroup { @@ -1916,18 +1916,18 @@ export interface ConfigurationRecorder { */ recordingGroup?: RecordingGroup; - /** - *

                  Amazon Resource Name (ARN) of the IAM role used to describe the - * AWS resources associated with the account.

                  - */ - roleARN?: string; - /** *

                  The name of the recorder. By default, AWS Config automatically * assigns the name "default" when creating the configuration recorder. * You cannot change the assigned name.

                  */ name?: string; + + /** + *

                  Amazon Resource Name (ARN) of the IAM role used to describe the + * AWS resources associated with the account.

                  + */ + roleARN?: string; } export namespace ConfigurationRecorder { @@ -1947,26 +1947,20 @@ export enum RecorderStatus { */ export interface ConfigurationRecorderStatus { /** - *

                  Specifies whether or not the recorder is currently - * recording.

                  - */ - recording?: boolean; - - /** - *

                  The error code indicating that the recording failed.

                  + *

                  The time the recorder was last stopped.

                  */ - lastErrorCode?: string; + lastStopTime?: Date; /** - *

                  The time when the status was last changed.

                  + *

                  The last (previous) status of the recorder.

                  */ - lastStatusChangeTime?: Date; + lastStatus?: RecorderStatus | string; /** - *

                  The message indicating that the recording failed due to an - * error.

                  + *

                  Specifies whether or not the recorder is currently + * recording.

                  */ - lastErrorMessage?: string; + recording?: boolean; /** *

                  The time the recorder was last started.

                  @@ -1974,9 +1968,10 @@ export interface ConfigurationRecorderStatus { lastStartTime?: Date; /** - *

                  The last (previous) status of the recorder.

                  + *

                  The message indicating that the recording failed due to an + * error.

                  */ - lastStatus?: RecorderStatus | string; + lastErrorMessage?: string; /** *

                  The name of the configuration recorder.

                  @@ -1984,9 +1979,14 @@ export interface ConfigurationRecorderStatus { name?: string; /** - *

                  The time the recorder was last stopped.

                  + *

                  The error code indicating that the recording failed.

                  */ - lastStopTime?: Date; + lastErrorCode?: string; + + /** + *

                  The time when the status was last changed.

                  + */ + lastStatusChangeTime?: Date; } export namespace ConfigurationRecorderStatus { @@ -2027,14 +2027,14 @@ export namespace ConformancePackComplianceFilters { */ export interface ConformancePackComplianceSummary { /** - *

                  The status of the conformance pack. The allowed values are COMPLIANT and NON_COMPLIANT.

                  + *

                  The name of the conformance pack name.

                  */ - ConformancePackComplianceStatus: ConformancePackComplianceType | string | undefined; + ConformancePackName: string | undefined; /** - *

                  The name of the conformance pack name.

                  + *

                  The status of the conformance pack. The allowed values are COMPLIANT and NON_COMPLIANT.

                  */ - ConformancePackName: string | undefined; + ConformancePackComplianceStatus: ConformancePackComplianceType | string | undefined; } export namespace ConformancePackComplianceSummary { @@ -2070,44 +2070,44 @@ export namespace ConformancePackInputParameter { */ export interface ConformancePackDetail { /** - *

                  Conformance pack template that is used to create a pack. The delivery bucket name should start with awsconfigconforms. For example: "Resource": "arn:aws:s3:::your_bucket_name/*".

                  + *

                  Amazon Resource Name (ARN) of the conformance pack.

                  */ - DeliveryS3Bucket: string | undefined; + ConformancePackArn: string | undefined; /** - *

                  Amazon Resource Name (ARN) of the conformance pack.

                  + *

                  ID of the conformance pack.

                  */ - ConformancePackArn: string | undefined; + ConformancePackId: string | undefined; /** - *

                  AWS service that created the conformance pack.

                  + *

                  The prefix for the Amazon S3 bucket.

                  */ - CreatedBy?: string; + DeliveryS3KeyPrefix?: string; /** - *

                  A list of ConformancePackInputParameter objects.

                  + *

                  Conformance pack template that is used to create a pack. The delivery bucket name should start with awsconfigconforms. For example: "Resource": "arn:aws:s3:::your_bucket_name/*".

                  */ - ConformancePackInputParameters?: ConformancePackInputParameter[]; + DeliveryS3Bucket?: string; /** - *

                  ID of the conformance pack.

                  + *

                  Name of the conformance pack.

                  */ - ConformancePackId: string | undefined; + ConformancePackName: string | undefined; /** - *

                  Last time when conformation pack update was requested.

                  + *

                  A list of ConformancePackInputParameter objects.

                  */ - LastUpdateRequestedTime?: Date; + ConformancePackInputParameters?: ConformancePackInputParameter[]; /** - *

                  Name of the conformance pack.

                  + *

                  Last time when conformation pack update was requested.

                  */ - ConformancePackName: string | undefined; + LastUpdateRequestedTime?: Date; /** - *

                  The prefix for the Amazon S3 bucket.

                  + *

                  AWS service that created the conformance pack.

                  */ - DeliveryS3KeyPrefix?: string; + CreatedBy?: string; } export namespace ConformancePackDetail { @@ -2120,6 +2120,14 @@ export namespace ConformancePackDetail { *

                  Filters a conformance pack by AWS Config rule names, compliance types, AWS resource types, and resource IDs.

                  */ export interface ConformancePackEvaluationFilters { + /** + *

                  Filters the results by resource IDs.

                  + * + *

                  This is valid only when you provide resource type. If there is no resource type, you will see an error.

                  + *
                  + */ + ResourceIds?: string[]; + /** *

                  Filters the results by the resource type (for example, "AWS::EC2::Instance").

                  */ @@ -2130,14 +2138,6 @@ export interface ConformancePackEvaluationFilters { */ ConfigRuleNames?: string[]; - /** - *

                  Filters the results by resource IDs.

                  - * - *

                  This is valid only when you provide resource type. If there is no resource type, you will see an error.

                  - *
                  - */ - ResourceIds?: string[]; - /** *

                  Filters the results by compliance.

                  *

                  The allowed values are COMPLIANT and NON_COMPLIANT.

                  @@ -2155,6 +2155,11 @@ export namespace ConformancePackEvaluationFilters { *

                  The details of a conformance pack evaluation. Provides AWS Config rule and AWS resource type that was evaluated, the compliance of the conformance pack, related time stamps, and supplementary information.

                  */ export interface ConformancePackEvaluationResult { + /** + *

                  Supplementary information about how the evaluation determined the compliance.

                  + */ + Annotation?: string; + /** *

                  The compliance type. The allowed values are COMPLIANT and NON_COMPLIANT.

                  */ @@ -2174,11 +2179,6 @@ export interface ConformancePackEvaluationResult { *

                  The time when AWS Config recorded the evaluation result.

                  */ ResultRecordedTime: Date | undefined; - - /** - *

                  Supplementary information about how the evaluation determined the compliance.

                  - */ - Annotation?: string; } export namespace ConformancePackEvaluationResult { @@ -2192,15 +2192,15 @@ export namespace ConformancePackEvaluationResult { */ export interface ConformancePackRuleCompliance { /** - *

                  Compliance of the AWS Config rule

                  - *

                  The allowed values are COMPLIANT and NON_COMPLIANT.

                  + *

                  Name of the config rule.

                  */ - ComplianceType?: ConformancePackComplianceType | string; + ConfigRuleName?: string; /** - *

                  Name of the config rule.

                  + *

                  Compliance of the AWS Config rule

                  + *

                  The allowed values are COMPLIANT and NON_COMPLIANT.

                  */ - ConfigRuleName?: string; + ComplianceType?: ConformancePackComplianceType | string; } export namespace ConformancePackRuleCompliance { @@ -2221,21 +2221,6 @@ export enum ConformancePackState { *

                  Status details of a conformance pack.

                  */ export interface ConformancePackStatusDetail { - /** - *

                  ID of the conformance pack.

                  - */ - ConformancePackId: string | undefined; - - /** - *

                  Last time when conformation pack creation and update was requested.

                  - */ - LastUpdateRequestedTime: Date | undefined; - - /** - *

                  Name of the conformance pack.

                  - */ - ConformancePackName: string | undefined; - /** *

                  Indicates deployment status of conformance pack.

                  *

                  AWS Config sets the state of the conformance pack to:

                  @@ -2260,9 +2245,9 @@ export interface ConformancePackStatusDetail { ConformancePackState: ConformancePackState | string | undefined; /** - *

                  The reason of conformance pack creation failure.

                  + *

                  Amazon Resource Name (ARN) of AWS CloudFormation stack.

                  */ - ConformancePackStatusReason?: string; + StackArn: string | undefined; /** *

                  Last time when conformation pack creation and update was successful.

                  @@ -2270,14 +2255,29 @@ export interface ConformancePackStatusDetail { LastUpdateCompletedTime?: Date; /** - *

                  Amazon Resource Name (ARN) of AWS CloudFormation stack.

                  + *

                  Amazon Resource Name (ARN) of comformance pack.

                  */ - StackArn: string | undefined; + ConformancePackArn: string | undefined; /** - *

                  Amazon Resource Name (ARN) of comformance pack.

                  + *

                  The reason of conformance pack creation failure.

                  */ - ConformancePackArn: string | undefined; + ConformancePackStatusReason?: string; + + /** + *

                  ID of the conformance pack.

                  + */ + ConformancePackId: string | undefined; + + /** + *

                  Last time when conformation pack creation and update was requested.

                  + */ + LastUpdateRequestedTime: Date | undefined; + + /** + *

                  Name of the conformance pack.

                  + */ + ConformancePackName: string | undefined; } export namespace ConformancePackStatusDetail { @@ -2305,16 +2305,16 @@ export namespace ConformancePackTemplateValidationException { } export interface DeleteAggregationAuthorizationRequest { - /** - *

                  The region authorized to collect aggregated data.

                  - */ - AuthorizedAwsRegion: string | undefined; - /** *

                  The 12-digit account ID of the account authorized to aggregate * data.

                  */ AuthorizedAccountId: string | undefined; + + /** + *

                  The region authorized to collect aggregated data.

                  + */ + AuthorizedAwsRegion: string | undefined; } export namespace DeleteAggregationAuthorizationRequest { @@ -2689,14 +2689,14 @@ export namespace DeletePendingAggregationRequestRequest { export interface DeleteRemediationConfigurationRequest { /** - *

                  The type of a resource.

                  + *

                  The name of the AWS Config rule for which you want to delete remediation configuration.

                  */ - ResourceType?: string; + ConfigRuleName: string | undefined; /** - *

                  The name of the AWS Config rule for which you want to delete remediation configuration.

                  + *

                  The type of a resource.

                  */ - ConfigRuleName: string | undefined; + ResourceType?: string; } export namespace DeleteRemediationConfigurationRequest { @@ -2812,14 +2812,14 @@ export namespace RemediationExceptionResourceKey { export interface DeleteRemediationExceptionsRequest { /** - *

                  An exception list of resource exception keys to be processed with the current request. AWS Config adds exception for each resource key. For example, AWS Config adds 3 exceptions for 3 resource keys.

                  + *

                  The name of the AWS Config rule for which you want to delete remediation exception configuration.

                  */ - ResourceKeys: RemediationExceptionResourceKey[] | undefined; + ConfigRuleName: string | undefined; /** - *

                  The name of the AWS Config rule for which you want to delete remediation exception configuration.

                  + *

                  An exception list of resource exception keys to be processed with the current request. AWS Config adds exception for each resource key. For example, AWS Config adds 3 exceptions for 3 resource keys.

                  */ - ConfigRuleName: string | undefined; + ResourceKeys: RemediationExceptionResourceKey[] | undefined; } export namespace DeleteRemediationExceptionsRequest { @@ -2882,14 +2882,14 @@ export namespace NoSuchRemediationExceptionException { export interface DeleteResourceConfigRequest { /** - *

                  The type of the resource.

                  + *

                  Unique identifier of the resource.

                  */ - ResourceType: string | undefined; + ResourceId: string | undefined; /** - *

                  Unique identifier of the resource.

                  + *

                  The type of the resource.

                  */ - ResourceId: string | undefined; + ResourceType: string | undefined; } export namespace DeleteResourceConfigRequest { @@ -2997,21 +2997,6 @@ export interface DeliveryChannel { */ s3BucketName?: string; - /** - *

                  The prefix for the specified Amazon S3 bucket.

                  - */ - s3KeyPrefix?: string; - - /** - *

                  The name of the delivery channel. By default, AWS Config - * assigns the name "default" when creating the delivery channel. To - * change the delivery channel name, you must use the - * DeleteDeliveryChannel action to delete your current delivery - * channel, and then you must use the PutDeliveryChannel command to - * create a delivery channel that has the desired name.

                  - */ - name?: string; - /** *

                  The options for how often AWS Config delivers configuration * snapshots to the Amazon S3 bucket.

                  @@ -3028,6 +3013,21 @@ export interface DeliveryChannel { * Developer Guide.

                  */ snsTopicARN?: string; + + /** + *

                  The name of the delivery channel. By default, AWS Config + * assigns the name "default" when creating the delivery channel. To + * change the delivery channel name, you must use the + * DeleteDeliveryChannel action to delete your current delivery + * channel, and then you must use the PutDeliveryChannel command to + * create a delivery channel that has the desired name.

                  + */ + name?: string; + + /** + *

                  The prefix for the specified Amazon S3 bucket.

                  + */ + s3KeyPrefix?: string; } export namespace DeliveryChannel { @@ -3048,6 +3048,11 @@ export interface DeliveryChannelStatus { */ configHistoryDeliveryInfo?: ConfigExportDeliveryInfo; + /** + *

                  The name of the delivery channel.

                  + */ + name?: string; + /** *

                  A list containing the status of the delivery of the * configuration stream notification to the specified Amazon SNS @@ -3055,11 +3060,6 @@ export interface DeliveryChannelStatus { */ configStreamDeliveryInfo?: ConfigStreamDeliveryInfo; - /** - *

                  The name of the delivery channel.

                  - */ - name?: string; - /** *

                  A list containing the status of the delivery of the snapshot to * the specified Amazon S3 bucket.

                  @@ -3074,6 +3074,12 @@ export namespace DeliveryChannelStatus { } export interface DescribeAggregateComplianceByConfigRulesRequest { + /** + *

                  The nextToken string returned on a previous page that you use + * to get the next page of results in a paginated response.

                  + */ + NextToken?: string; + /** *

                  Filters the results by ConfigRuleComplianceFilters object. *

                  @@ -3092,12 +3098,6 @@ export interface DescribeAggregateComplianceByConfigRulesRequest { * If you specify 0, AWS Config uses the default.

                  */ Limit?: number; - - /** - *

                  The nextToken string returned on a previous page that you use - * to get the next page of results in a paginated response.

                  - */ - NextToken?: string; } export namespace DescribeAggregateComplianceByConfigRulesRequest { @@ -3165,18 +3165,18 @@ export namespace InvalidNextTokenException { } export interface DescribeAggregationAuthorizationsRequest { + /** + *

                  The nextToken string returned on a previous page that you use + * to get the next page of results in a paginated response.

                  + */ + NextToken?: string; + /** *

                  The maximum number of AggregationAuthorizations returned on * each page. The default is maximum. If you specify 0, AWS Config uses * the default.

                  */ Limit?: number; - - /** - *

                  The nextToken string returned on a previous page that you use - * to get the next page of results in a paginated response.

                  - */ - NextToken?: string; } export namespace DescribeAggregationAuthorizationsRequest { @@ -3209,12 +3209,6 @@ export namespace DescribeAggregationAuthorizationsResponse { *

                  */ export interface DescribeComplianceByConfigRuleRequest { - /** - *

                  Filters the results by compliance.

                  - *

                  The allowed values are COMPLIANT and NON_COMPLIANT.

                  - */ - ComplianceTypes?: (ComplianceType | string)[]; - /** *

                  Specify one or more AWS Config rule names to filter the results * by rule.

                  @@ -3227,6 +3221,12 @@ export interface DescribeComplianceByConfigRuleRequest { * response.

                  */ NextToken?: string; + + /** + *

                  Filters the results by compliance.

                  + *

                  The allowed values are COMPLIANT and NON_COMPLIANT.

                  + */ + ComplianceTypes?: (ComplianceType | string)[]; } export namespace DescribeComplianceByConfigRuleRequest { @@ -3263,10 +3263,19 @@ export namespace DescribeComplianceByConfigRuleResponse { */ export interface DescribeComplianceByResourceRequest { /** - *

                  Filters the results by compliance.

                  - *

                  The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.

                  + *

                  The types of AWS resources for which you want compliance + * information (for example, AWS::EC2::Instance). For this + * action, you can specify that the resource type is an AWS account by + * specifying AWS::::Account.

                  */ - ComplianceTypes?: (ComplianceType | string)[]; + ResourceType?: string; + + /** + *

                  The nextToken string returned on a previous page + * that you use to get the next page of results in a paginated + * response.

                  + */ + NextToken?: string; /** *

                  The ID of the AWS resource for which you want compliance @@ -3276,27 +3285,18 @@ export interface DescribeComplianceByResourceRequest { */ ResourceId?: string; + /** + *

                  Filters the results by compliance.

                  + *

                  The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.

                  + */ + ComplianceTypes?: (ComplianceType | string)[]; + /** *

                  The maximum number of evaluation results returned on each page. * The default is 10. You cannot specify a number greater than 100. If * you specify 0, AWS Config uses the default.

                  */ Limit?: number; - - /** - *

                  The nextToken string returned on a previous page - * that you use to get the next page of results in a paginated - * response.

                  - */ - NextToken?: string; - - /** - *

                  The types of AWS resources for which you want compliance - * information (for example, AWS::EC2::Instance). For this - * action, you can specify that the resource type is an AWS account by - * specifying AWS::::Account.

                  - */ - ResourceType?: string; } export namespace DescribeComplianceByResourceRequest { @@ -3332,18 +3332,6 @@ export namespace DescribeComplianceByResourceResponse { *

                  */ export interface DescribeConfigRuleEvaluationStatusRequest { - /** - *

                  The number of rule evaluation results that you want - * returned.

                  - * - *

                  This parameter is required if the rule limit for your account - * is more than the default of 150 rules.

                  - *

                  For information about requesting a rule limit increase, see - * AWS Config Limits in the AWS General - * Reference Guide.

                  - */ - Limit?: number; - /** *

                  The nextToken string returned on a previous page * that you use to get the next page of results in a paginated @@ -3358,6 +3346,18 @@ export interface DescribeConfigRuleEvaluationStatusRequest { * use.

                  */ ConfigRuleNames?: string[]; + + /** + *

                  The number of rule evaluation results that you want + * returned.

                  + * + *

                  This parameter is required if the rule limit for your account + * is more than the default of 150 rules.

                  + *

                  For information about requesting a rule limit increase, see + * AWS Config Limits in the AWS General + * Reference Guide.

                  + */ + Limit?: number; } export namespace DescribeConfigRuleEvaluationStatusRequest { @@ -3393,19 +3393,19 @@ export namespace DescribeConfigRuleEvaluationStatusResponse { *

                  */ export interface DescribeConfigRulesRequest { - /** - *

                  The nextToken string returned on a previous page - * that you use to get the next page of results in a paginated - * response.

                  - */ - NextToken?: string; - /** *

                  The names of the AWS Config rules for which you want details. * If you do not specify any names, AWS Config returns details for all * your rules.

                  */ ConfigRuleNames?: string[]; + + /** + *

                  The nextToken string returned on a previous page + * that you use to get the next page of results in a paginated + * response.

                  + */ + NextToken?: string; } export namespace DescribeConfigRulesRequest { @@ -3502,10 +3502,11 @@ export interface DescribeConfigurationAggregatorSourcesStatusRequest { UpdateStatus?: (AggregatedSourceStatusType | string)[]; /** - *

                  The nextToken string returned on a previous page that you use - * to get the next page of results in a paginated response.

                  + *

                  The maximum number of AggregatorSourceStatus returned on each + * page. The default is maximum. If you specify 0, AWS Config uses the + * default.

                  */ - NextToken?: string; + Limit?: number; /** *

                  The name of the configuration aggregator.

                  @@ -3513,11 +3514,10 @@ export interface DescribeConfigurationAggregatorSourcesStatusRequest { ConfigurationAggregatorName: string | undefined; /** - *

                  The maximum number of AggregatorSourceStatus returned on each - * page. The default is maximum. If you specify 0, AWS Config uses the - * default.

                  + *

                  The nextToken string returned on a previous page that you use + * to get the next page of results in a paginated response.

                  */ - Limit?: number; + NextToken?: string; } export namespace DescribeConfigurationAggregatorSourcesStatusRequest { @@ -3623,9 +3623,9 @@ export interface DescribeConformancePackComplianceRequest { Filters?: ConformancePackComplianceFilters; /** - *

                  Name of the conformance pack.

                  + *

                  The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

                  */ - ConformancePackName: string | undefined; + NextToken?: string; /** *

                  The maximum number of AWS Config rules within a conformance pack are returned on each page.

                  @@ -3633,9 +3633,9 @@ export interface DescribeConformancePackComplianceRequest { Limit?: number; /** - *

                  The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

                  + *

                  Name of the conformance pack.

                  */ - NextToken?: string; + ConformancePackName: string | undefined; } export namespace DescribeConformancePackComplianceRequest { @@ -3651,14 +3651,14 @@ export interface DescribeConformancePackComplianceResponse { ConformancePackRuleComplianceList: ConformancePackRuleCompliance[] | undefined; /** - *

                  The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

                  + *

                  Name of the conformance pack.

                  */ - NextToken?: string; + ConformancePackName: string | undefined; /** - *

                  Name of the conformance pack.

                  + *

                  The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

                  */ - ConformancePackName: string | undefined; + NextToken?: string; } export namespace DescribeConformancePackComplianceResponse { @@ -3872,20 +3872,25 @@ export enum OrganizationConfigRuleTriggerType { */ export interface OrganizationCustomRuleMetadata { /** - *

                  One part of a key-value pair that make up a tag. - * A key is a general label that acts like a category for more specific tag values.

                  + *

                  The optional part of a key-value pair that make up a tag. + * A value acts as a descriptor within a tag category (key).

                  */ - TagKeyScope?: string; + TagValueScope?: string; /** - *

                  The type of the AWS resource that was evaluated.

                  + *

                  The lambda function ARN.

                  */ - ResourceTypesScope?: string[]; + LambdaFunctionArn: string | undefined; /** - *

                  A string, in JSON format, that is passed to organization config rule Lambda function.

                  + *

                  The maximum frequency with which AWS Config runs evaluations for a rule. + * Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

                  + * + *

                  By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid + * value for the MaximumExecutionFrequency parameter.

                  + *
                  */ - InputParameters?: string; + MaximumExecutionFrequency?: MaximumExecutionFrequency | string; /** *

                  The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:

                  @@ -3909,19 +3914,14 @@ export interface OrganizationCustomRuleMetadata { OrganizationConfigRuleTriggerTypes: (OrganizationConfigRuleTriggerType | string)[] | undefined; /** - *

                  The maximum frequency with which AWS Config runs evaluations for a rule. - * Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

                  - * - *

                  By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid - * value for the MaximumExecutionFrequency parameter.

                  - *
                  + *

                  A string, in JSON format, that is passed to organization config rule Lambda function.

                  */ - MaximumExecutionFrequency?: MaximumExecutionFrequency | string; + InputParameters?: string; /** - *

                  The lambda function ARN.

                  + *

                  The ID of the AWS resource that was evaluated.

                  */ - LambdaFunctionArn: string | undefined; + ResourceIdScope?: string; /** *

                  The description that you provide for organization config rule.

                  @@ -3929,15 +3929,15 @@ export interface OrganizationCustomRuleMetadata { Description?: string; /** - *

                  The optional part of a key-value pair that make up a tag. - * A value acts as a descriptor within a tag category (key).

                  + *

                  One part of a key-value pair that make up a tag. + * A key is a general label that acts like a category for more specific tag values.

                  */ - TagValueScope?: string; + TagKeyScope?: string; /** - *

                  The ID of the AWS resource that was evaluated.

                  + *

                  The type of the AWS resource that was evaluated.

                  */ - ResourceIdScope?: string; + ResourceTypesScope?: string[]; } export namespace OrganizationCustomRuleMetadata { @@ -3952,20 +3952,11 @@ export namespace OrganizationCustomRuleMetadata { */ export interface OrganizationManagedRuleMetadata { /** - *

                  The type of the AWS resource that was evaluated.

                  - */ - ResourceTypesScope?: string[]; - - /** - *

                  One part of a key-value pair that make up a tag. - * A key is a general label that acts like a category for more specific tag values.

                  - */ - TagKeyScope?: string; - - /** - *

                  A string, in JSON format, that is passed to organization config rule Lambda function.

                  + *

                  For organization config managed rules, a predefined identifier from a + * list. For example, IAM_PASSWORD_POLICY is a managed + * rule. To reference a managed rule, see Using AWS Managed Config Rules.

                  */ - InputParameters?: string; + RuleIdentifier: string | undefined; /** *

                  The maximum frequency with which AWS Config runs evaluations for a rule. You are using an AWS managed rule that is triggered at a periodic frequency.

                  @@ -3982,9 +3973,15 @@ export interface OrganizationManagedRuleMetadata { ResourceIdScope?: string; /** - *

                  The description that you provide for organization config rule.

                  + *

                  A string, in JSON format, that is passed to organization config rule Lambda function.

                  */ - Description?: string; + InputParameters?: string; + + /** + *

                  One part of a key-value pair that make up a tag. + * A key is a general label that acts like a category for more specific tag values.

                  + */ + TagKeyScope?: string; /** *

                  The optional part of a key-value pair that make up a tag. @@ -3993,11 +3990,14 @@ export interface OrganizationManagedRuleMetadata { TagValueScope?: string; /** - *

                  For organization config managed rules, a predefined identifier from a - * list. For example, IAM_PASSWORD_POLICY is a managed - * rule. To reference a managed rule, see Using AWS Managed Config Rules.

                  + *

                  The type of the AWS resource that was evaluated.

                  */ - RuleIdentifier: string | undefined; + ResourceTypesScope?: string[]; + + /** + *

                  The description that you provide for organization config rule.

                  + */ + Description?: string; } export namespace OrganizationManagedRuleMetadata { @@ -4011,9 +4011,14 @@ export namespace OrganizationManagedRuleMetadata { */ export interface OrganizationConfigRule { /** - *

                  Amazon Resource Name (ARN) of organization config rule.

                  + *

                  The name that you assign to organization config rule.

                  */ - OrganizationConfigRuleArn: string | undefined; + OrganizationConfigRuleName: string | undefined; + + /** + *

                  A comma-separated list of accounts excluded from organization config rule.

                  + */ + ExcludedAccounts?: string[]; /** *

                  An OrganizationCustomRuleMetadata object.

                  @@ -4026,19 +4031,14 @@ export interface OrganizationConfigRule { LastUpdateTime?: Date; /** - *

                  A comma-separated list of accounts excluded from organization config rule.

                  - */ - ExcludedAccounts?: string[]; - - /** - *

                  The name that you assign to organization config rule.

                  + *

                  An OrganizationManagedRuleMetadata object.

                  */ - OrganizationConfigRuleName: string | undefined; + OrganizationManagedRuleMetadata?: OrganizationManagedRuleMetadata; /** - *

                  An OrganizationManagedRuleMetadata object.

                  + *

                  Amazon Resource Name (ARN) of organization config rule.

                  */ - OrganizationManagedRuleMetadata?: OrganizationManagedRuleMetadata; + OrganizationConfigRuleArn: string | undefined; } export namespace OrganizationConfigRule { @@ -4072,14 +4072,14 @@ export interface DescribeOrganizationConfigRuleStatusesRequest { OrganizationConfigRuleNames?: string[]; /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  The maximum number of OrganizationConfigRuleStatuses returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100.

                  */ - NextToken?: string; + Limit?: number; /** - *

                  The maximum number of OrganizationConfigRuleStatuses returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - Limit?: number; + NextToken?: string; } export namespace DescribeOrganizationConfigRuleStatusesRequest { @@ -4114,6 +4114,11 @@ export interface OrganizationConfigRuleStatus { */ ErrorMessage?: string; + /** + *

                  An error code that is returned when organization config rule creation or deletion has failed.

                  + */ + ErrorCode?: string; + /** *

                  Indicates deployment status of an organization config rule. * When master account calls PutOrganizationConfigRule action for the first time, config rule status is created in all the member accounts. @@ -4161,11 +4166,6 @@ export interface OrganizationConfigRuleStatus { */ OrganizationRuleStatus: OrganizationRuleStatus | string | undefined; - /** - *

                  An error code that is returned when organization config rule creation or deletion has failed.

                  - */ - ErrorCode?: string; - /** *

                  The timestamp of the last update.

                  */ @@ -4180,14 +4180,14 @@ export namespace OrganizationConfigRuleStatus { export interface DescribeOrganizationConfigRuleStatusesResponse { /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  A list of OrganizationConfigRuleStatus objects.

                  */ - NextToken?: string; + OrganizationConfigRuleStatuses?: OrganizationConfigRuleStatus[]; /** - *

                  A list of OrganizationConfigRuleStatus objects.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - OrganizationConfigRuleStatuses?: OrganizationConfigRuleStatus[]; + NextToken?: string; } export namespace DescribeOrganizationConfigRuleStatusesResponse { @@ -4226,25 +4226,25 @@ export namespace DescribeOrganizationConformancePacksRequest { */ export interface OrganizationConformancePack { /** - *

                  Location of an Amazon S3 bucket where AWS Config can - * deliver evaluation results and conformance pack template that is used to create a pack.

                  + *

                  Amazon Resource Name (ARN) of organization conformance pack.

                  */ - DeliveryS3Bucket: string | undefined; + OrganizationConformancePackArn: string | undefined; /** - *

                  Any folder structure you want to add to an Amazon S3 bucket.

                  + *

                  A comma-separated list of accounts excluded from organization conformance pack.

                  */ - DeliveryS3KeyPrefix?: string; + ExcludedAccounts?: string[]; /** - *

                  The name you assign to an organization conformance pack.

                  + *

                  Any folder structure you want to add to an Amazon S3 bucket.

                  */ - OrganizationConformancePackName: string | undefined; + DeliveryS3KeyPrefix?: string; /** - *

                  A list of ConformancePackInputParameter objects.

                  + *

                  Location of an Amazon S3 bucket where AWS Config can + * deliver evaluation results and conformance pack template that is used to create a pack.

                  */ - ConformancePackInputParameters?: ConformancePackInputParameter[]; + DeliveryS3Bucket?: string; /** *

                  Last time when organization conformation pack was updated.

                  @@ -4252,14 +4252,14 @@ export interface OrganizationConformancePack { LastUpdateTime: Date | undefined; /** - *

                  Amazon Resource Name (ARN) of organization conformance pack.

                  + *

                  A list of ConformancePackInputParameter objects.

                  */ - OrganizationConformancePackArn: string | undefined; + ConformancePackInputParameters?: ConformancePackInputParameter[]; /** - *

                  A comma-separated list of accounts excluded from organization conformance pack.

                  + *

                  The name you assign to an organization conformance pack.

                  */ - ExcludedAccounts?: string[]; + OrganizationConformancePackName: string | undefined; } export namespace OrganizationConformancePack { @@ -4269,16 +4269,16 @@ export namespace OrganizationConformancePack { } export interface DescribeOrganizationConformancePacksResponse { - /** - *

                  Returns a list of OrganizationConformancePacks objects.

                  - */ - OrganizationConformancePacks?: OrganizationConformancePack[]; - /** *

                  The nextToken string returned on a previous page that you use to get the next page of results in a * paginated response.

                  */ NextToken?: string; + + /** + *

                  Returns a list of OrganizationConformancePacks objects.

                  + */ + OrganizationConformancePacks?: OrganizationConformancePack[]; } export namespace DescribeOrganizationConformancePacksResponse { @@ -4295,15 +4295,15 @@ export interface DescribeOrganizationConformancePackStatusesRequest { Limit?: number; /** - *

                  The names of organization conformance packs for which you want status details. - * If you do not specify any names, AWS Config returns details for all your organization conformance packs.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - OrganizationConformancePackNames?: string[]; + NextToken?: string; /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  The names of organization conformance packs for which you want status details. + * If you do not specify any names, AWS Config returns details for all your organization conformance packs.

                  */ - NextToken?: string; + OrganizationConformancePackNames?: string[]; } export namespace DescribeOrganizationConformancePackStatusesRequest { @@ -4329,9 +4329,9 @@ export enum OrganizationResourceStatus { */ export interface OrganizationConformancePackStatus { /** - *

                  The timestamp of the last update.

                  + *

                  An error code that is returned when organization conformance pack creation or deletion has failed in a member account.

                  */ - LastUpdateTime?: Date; + ErrorCode?: string; /** *

                  Indicates deployment status of an organization conformance pack. @@ -4387,9 +4387,9 @@ export interface OrganizationConformancePackStatus { Status: OrganizationResourceStatus | string | undefined; /** - *

                  An error code that is returned when organization conformance pack creation or deletion has failed in a member account.

                  + *

                  The timestamp of the last update.

                  */ - ErrorCode?: string; + LastUpdateTime?: Date; /** *

                  An error message indicating that organization conformance pack creation or deletion failed due to an error.

                  @@ -4410,14 +4410,14 @@ export namespace OrganizationConformancePackStatus { export interface DescribeOrganizationConformancePackStatusesResponse { /** - *

                  A list of OrganizationConformancePackStatus objects.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - OrganizationConformancePackStatuses?: OrganizationConformancePackStatus[]; + NextToken?: string; /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  A list of OrganizationConformancePackStatus objects.

                  */ - NextToken?: string; + OrganizationConformancePackStatuses?: OrganizationConformancePackStatus[]; } export namespace DescribeOrganizationConformancePackStatusesResponse { @@ -4427,18 +4427,18 @@ export namespace DescribeOrganizationConformancePackStatusesResponse { } export interface DescribePendingAggregationRequestsRequest { + /** + *

                  The nextToken string returned on a previous page that you use + * to get the next page of results in a paginated response.

                  + */ + NextToken?: string; + /** *

                  The maximum number of evaluation results returned on each page. * The default is maximum. If you specify 0, AWS Config uses the * default.

                  */ Limit?: number; - - /** - *

                  The nextToken string returned on a previous page that you use - * to get the next page of results in a paginated response.

                  - */ - NextToken?: string; } export namespace DescribePendingAggregationRequestsRequest { @@ -4583,14 +4583,14 @@ export namespace StaticValue { */ export interface RemediationParameterValue { /** - *

                  The value is dynamic and changes at run-time.

                  + *

                  The value is static and does not change at run-time.

                  */ - ResourceValue?: ResourceValue; + StaticValue?: StaticValue; /** - *

                  The value is static and does not change at run-time.

                  + *

                  The value is dynamic and changes at run-time.

                  */ - StaticValue?: StaticValue; + ResourceValue?: ResourceValue; } export namespace RemediationParameterValue { @@ -4606,50 +4606,33 @@ export enum RemediationTargetType { /** *

                  An object that represents the details about the remediation configuration that includes the remediation action, parameters, and data to execute the action.

                  */ -export interface RemediationConfiguration { - /** - *

                  Amazon Resource Name (ARN) of remediation configuration.

                  - */ - Arn?: string; - - /** - *

                  Version of the target. For example, version of the SSM document.

                  - * - *

                  If you make backward incompatible changes to the SSM document, - * you must call PutRemediationConfiguration API again to ensure the remediations can run.

                  - *
                  - */ - TargetVersion?: string; - - /** - *

                  Target ID is the name of the public document.

                  - */ - TargetId: string | undefined; - +export interface RemediationConfiguration { /** - *

                  An object of the RemediationParameterValue.

                  + *

                  Amazon Resource Name (ARN) of remediation configuration.

                  */ - Parameters?: { [key: string]: RemediationParameterValue }; + Arn?: string; /** - *

                  Name of the service that owns the service linked rule, if applicable.

                  + *

                  Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.

                  + *

                  For example, if you specify RetryAttemptsSeconds as 50 seconds and MaximumAutomaticAttempts as 5, + * AWS Config will run auto-remediations 5 times within 50 seconds before throwing an exception.

                  */ - CreatedByService?: string; + RetryAttemptSeconds?: number; /** - *

                  The remediation is triggered automatically.

                  + *

                  The name of the AWS Config rule.

                  */ - Automatic?: boolean; + ConfigRuleName: string | undefined; /** - *

                  The type of the target. Target executes remediation. For example, SSM document.

                  + *

                  Name of the service that owns the service linked rule, if applicable.

                  */ - TargetType: RemediationTargetType | string | undefined; + CreatedByService?: string; /** - *

                  The name of the AWS Config rule.

                  + *

                  An ExecutionControls object.

                  */ - ConfigRuleName: string | undefined; + ExecutionControls?: ExecutionControls; /** *

                  The type of a resource.

                  @@ -4657,9 +4640,9 @@ export interface RemediationConfiguration { ResourceType?: string; /** - *

                  An ExecutionControls object.

                  + *

                  An object of the RemediationParameterValue.

                  */ - ExecutionControls?: ExecutionControls; + Parameters?: { [key: string]: RemediationParameterValue }; /** *

                  The maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.

                  @@ -4670,11 +4653,28 @@ export interface RemediationConfiguration { MaximumAutomaticAttempts?: number; /** - *

                  Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.

                  - *

                  For example, if you specify RetryAttemptsSeconds as 50 seconds and MaximumAutomaticAttempts as 5, - * AWS Config will run auto-remediations 5 times within 50 seconds before throwing an exception.

                  + *

                  The type of the target. Target executes remediation. For example, SSM document.

                  */ - RetryAttemptSeconds?: number; + TargetType: RemediationTargetType | string | undefined; + + /** + *

                  The remediation is triggered automatically.

                  + */ + Automatic?: boolean; + + /** + *

                  Target ID is the name of the public document.

                  + */ + TargetId: string | undefined; + + /** + *

                  Version of the target. For example, version of the SSM document.

                  + * + *

                  If you make backward incompatible changes to the SSM document, + * you must call PutRemediationConfiguration API again to ensure the remediations can run.

                  + *
                  + */ + TargetVersion?: string; } export namespace RemediationConfiguration { @@ -4702,6 +4702,11 @@ export interface DescribeRemediationExceptionsRequest { */ Limit?: number; + /** + *

                  The name of the AWS Config rule.

                  + */ + ConfigRuleName: string | undefined; + /** *

                  The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

                  */ @@ -4711,11 +4716,6 @@ export interface DescribeRemediationExceptionsRequest { *

                  An exception list of resource exception keys to be processed with the current request. AWS Config adds exception for each resource key. For example, AWS Config adds 3 exceptions for 3 resource keys.

                  */ ResourceKeys?: RemediationExceptionResourceKey[]; - - /** - *

                  The name of the AWS Config rule.

                  - */ - ConfigRuleName: string | undefined; } export namespace DescribeRemediationExceptionsRequest { @@ -4729,24 +4729,24 @@ export namespace DescribeRemediationExceptionsRequest { */ export interface RemediationException { /** - *

                  The ID of the resource (for example., sg-xxxxxx).

                  + *

                  The time when the remediation exception will be deleted.

                  */ - ResourceId: string | undefined; + ExpirationTime?: Date; /** - *

                  The time when the remediation exception will be deleted.

                  + *

                  The name of the AWS Config rule.

                  */ - ExpirationTime?: Date; + ConfigRuleName: string | undefined; /** - *

                  An explanation of an remediation exception.

                  + *

                  The ID of the resource (for example., sg-xxxxxx).

                  */ - Message?: string; + ResourceId: string | undefined; /** - *

                  The name of the AWS Config rule.

                  + *

                  An explanation of an remediation exception.

                  */ - ConfigRuleName: string | undefined; + Message?: string; /** *

                  The type of a resource.

                  @@ -4762,14 +4762,14 @@ export namespace RemediationException { export interface DescribeRemediationExceptionsResponse { /** - *

                  Returns a list of remediation exception objects.

                  + *

                  The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

                  */ - RemediationExceptions?: RemediationException[]; + NextToken?: string; /** - *

                  The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

                  + *

                  Returns a list of remediation exception objects.

                  */ - NextToken?: string; + RemediationExceptions?: RemediationException[]; } export namespace DescribeRemediationExceptionsResponse { @@ -4779,11 +4779,6 @@ export namespace DescribeRemediationExceptionsResponse { } export interface DescribeRemediationExecutionStatusRequest { - /** - *

                  A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID.

                  - */ - ResourceKeys?: ResourceKey[]; - /** *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ @@ -4798,6 +4793,11 @@ export interface DescribeRemediationExecutionStatusRequest { *

                  A list of AWS Config rule names.

                  */ ConfigRuleName: string | undefined; + + /** + *

                  A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID.

                  + */ + ResourceKeys?: ResourceKey[]; } export namespace DescribeRemediationExecutionStatusRequest { @@ -4829,14 +4829,14 @@ export interface RemediationExecutionStep { ErrorMessage?: string; /** - *

                  The valid status of the step.

                  + *

                  The time when the step stopped.

                  */ - State?: RemediationExecutionStepState | string; + StopTime?: Date; /** - *

                  The time when the step started.

                  + *

                  The valid status of the step.

                  */ - StartTime?: Date; + State?: RemediationExecutionStepState | string; /** *

                  The details of the step.

                  @@ -4844,9 +4844,9 @@ export interface RemediationExecutionStep { Name?: string; /** - *

                  The time when the step stopped.

                  + *

                  The time when the step started.

                  */ - StopTime?: Date; + StartTime?: Date; } export namespace RemediationExecutionStep { @@ -4865,25 +4865,25 @@ export interface RemediationExecutionStatus { LastUpdatedTime?: Date; /** - *

                  The details that identify a resource within AWS Config, including - * the resource type and resource ID.

                  + *

                  ENUM of the values.

                  */ - ResourceKey?: ResourceKey; + State?: RemediationExecutionState | string; /** - *

                  Start time when the remediation was executed.

                  + *

                  Details of every step.

                  */ - InvocationTime?: Date; + StepDetails?: RemediationExecutionStep[]; /** - *

                  Details of every step.

                  + *

                  The details that identify a resource within AWS Config, including + * the resource type and resource ID.

                  */ - StepDetails?: RemediationExecutionStep[]; + ResourceKey?: ResourceKey; /** - *

                  ENUM of the values.

                  + *

                  Start time when the remediation was executed.

                  */ - State?: RemediationExecutionState | string; + InvocationTime?: Date; } export namespace RemediationExecutionStatus { @@ -4894,14 +4894,14 @@ export namespace RemediationExecutionStatus { export interface DescribeRemediationExecutionStatusResponse { /** - *

                  Returns a list of remediation execution statuses objects.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - RemediationExecutionStatuses?: RemediationExecutionStatus[]; + NextToken?: string; /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  Returns a list of remediation execution statuses objects.

                  */ - NextToken?: string; + RemediationExecutionStatuses?: RemediationExecutionStatus[]; } export namespace DescribeRemediationExecutionStatusResponse { @@ -4911,13 +4911,6 @@ export namespace DescribeRemediationExecutionStatusResponse { } export interface DescribeRetentionConfigurationsRequest { - /** - *

                  The nextToken string returned on a previous page - * that you use to get the next page of results in a paginated - * response.

                  - */ - NextToken?: string; - /** *

                  A list of names of retention configurations for which you want * details. If you do not specify a name, AWS Config returns details @@ -4928,6 +4921,13 @@ export interface DescribeRetentionConfigurationsRequest { * */ RetentionConfigurationNames?: string[]; + + /** + *

                  The nextToken string returned on a previous page + * that you use to get the next page of results in a paginated + * response.

                  + */ + NextToken?: string; } export namespace DescribeRetentionConfigurationsRequest { @@ -4961,17 +4961,17 @@ export namespace RetentionConfiguration { } export interface DescribeRetentionConfigurationsResponse { + /** + *

                  Returns a retention configuration object.

                  + */ + RetentionConfigurations?: RetentionConfiguration[]; + /** *

                  The nextToken string returned on a previous page * that you use to get the next page of results in a paginated * response.

                  */ NextToken?: string; - - /** - *

                  Returns a retention configuration object.

                  - */ - RetentionConfigurations?: RetentionConfiguration[]; } export namespace DescribeRetentionConfigurationsResponse { @@ -5012,12 +5012,6 @@ export interface Evaluation { */ ComplianceType: ComplianceType | string | undefined; - /** - *

                  Supplementary information about how the evaluation determined - * the compliance.

                  - */ - Annotation?: string; - /** *

                  The time of the event in AWS Config that triggered the * evaluation. For event-based evaluations, the time indicates when AWS @@ -5027,6 +5021,12 @@ export interface Evaluation { * example, every 24 hours).

                  */ OrderingTimestamp: Date | undefined; + + /** + *

                  Supplementary information about how the evaluation determined + * the compliance.

                  + */ + Annotation?: string; } export namespace Evaluation { @@ -5041,24 +5041,6 @@ export namespace Evaluation { * time stamps, and supplementary information.

                  */ export interface EvaluationResult { - /** - *

                  Supplementary information about how the evaluation determined - * the compliance.

                  - */ - Annotation?: string; - - /** - *

                  The time when the AWS Config rule evaluated the AWS - * resource.

                  - */ - ConfigRuleInvokedTime?: Date; - - /** - *

                  The time when AWS Config recorded the evaluation - * result.

                  - */ - ResultRecordedTime?: Date; - /** *

                  Uniquely identifies the evaluation result.

                  */ @@ -5081,6 +5063,24 @@ export interface EvaluationResult { * evaluated, and the event that triggered the evaluation.

                  */ ResultToken?: string; + + /** + *

                  The time when the AWS Config rule evaluated the AWS + * resource.

                  + */ + ConfigRuleInvokedTime?: Date; + + /** + *

                  The time when AWS Config recorded the evaluation + * result.

                  + */ + ResultRecordedTime?: Date; + + /** + *

                  Supplementary information about how the evaluation determined + * the compliance.

                  + */ + Annotation?: string; } export namespace EvaluationResult { @@ -5115,14 +5115,14 @@ export namespace FailedRemediationBatch { */ export interface FailedRemediationExceptionBatch { /** - *

                  Returns a failure message. For example, the auto-remediation has failed.

                  + *

                  Returns remediation exception resource key object of the failed items.

                  */ - FailureMessage?: string; + FailedItems?: RemediationException[]; /** - *

                  Returns remediation exception resource key object of the failed items.

                  + *

                  Returns a failure message. For example, the auto-remediation has failed.

                  */ - FailedItems?: RemediationException[]; + FailureMessage?: string; } export namespace FailedRemediationExceptionBatch { @@ -5148,11 +5148,6 @@ export namespace FieldInfo { } export interface GetAggregateComplianceDetailsByConfigRuleRequest { - /** - *

                  The source region from where the data is aggregated.

                  - */ - AwsRegion: string | undefined; - /** *

                  The maximum number of evaluation results returned on each page. * The default is 50. You cannot specify a number greater than 100. If @@ -5161,10 +5156,9 @@ export interface GetAggregateComplianceDetailsByConfigRuleRequest { Limit?: number; /** - *

                  The nextToken string returned on a previous page that you use - * to get the next page of results in a paginated response.

                  + *

                  The name of the configuration aggregator.

                  */ - NextToken?: string; + ConfigurationAggregatorName: string | undefined; /** *

                  The name of the AWS Config rule for which you want compliance @@ -5172,6 +5166,22 @@ export interface GetAggregateComplianceDetailsByConfigRuleRequest { */ ConfigRuleName: string | undefined; + /** + *

                  The source region from where the data is aggregated.

                  + */ + AwsRegion: string | undefined; + + /** + *

                  The nextToken string returned on a previous page that you use + * to get the next page of results in a paginated response.

                  + */ + NextToken?: string; + + /** + *

                  The 12-digit account ID of the source account.

                  + */ + AccountId: string | undefined; + /** *

                  The resource compliance status.

                  * @@ -5184,16 +5194,6 @@ export interface GetAggregateComplianceDetailsByConfigRuleRequest { * */ ComplianceType?: ComplianceType | string; - - /** - *

                  The name of the configuration aggregator.

                  - */ - ConfigurationAggregatorName: string | undefined; - - /** - *

                  The 12-digit account ID of the source account.

                  - */ - AccountId: string | undefined; } export namespace GetAggregateComplianceDetailsByConfigRuleRequest { @@ -5204,15 +5204,15 @@ export namespace GetAggregateComplianceDetailsByConfigRuleRequest { export interface GetAggregateComplianceDetailsByConfigRuleResponse { /** - *

                  The nextToken string returned on a previous page that you use - * to get the next page of results in a paginated response.

                  + *

                  Returns an AggregateEvaluationResults object.

                  */ - NextToken?: string; + AggregateEvaluationResults?: AggregateEvaluationResult[]; /** - *

                  Returns an AggregateEvaluationResults object.

                  + *

                  The nextToken string returned on a previous page that you use + * to get the next page of results in a paginated response.

                  */ - AggregateEvaluationResults?: AggregateEvaluationResult[]; + NextToken?: string; } export namespace GetAggregateComplianceDetailsByConfigRuleResponse { @@ -5223,21 +5223,17 @@ export namespace GetAggregateComplianceDetailsByConfigRuleResponse { export interface GetAggregateConfigRuleComplianceSummaryRequest { /** - *

                  The name of the configuration aggregator.

                  + *

                  The maximum number of evaluation results returned on each page. + * The default is 1000. You cannot specify a number greater than 1000. + * If you specify 0, AWS Config uses the default.

                  */ - ConfigurationAggregatorName: string | undefined; + Limit?: number; /** *

                  Groups the result based on ACCOUNT_ID or AWS_REGION.

                  */ GroupByKey?: ConfigRuleComplianceSummaryGroupKey | string; - /** - *

                  Filters the results based on the - * ConfigRuleComplianceSummaryFilters object.

                  - */ - Filters?: ConfigRuleComplianceSummaryFilters; - /** *

                  The nextToken string returned on a previous page that you use * to get the next page of results in a paginated response.

                  @@ -5245,11 +5241,15 @@ export interface GetAggregateConfigRuleComplianceSummaryRequest { NextToken?: string; /** - *

                  The maximum number of evaluation results returned on each page. - * The default is 1000. You cannot specify a number greater than 1000. - * If you specify 0, AWS Config uses the default.

                  + *

                  Filters the results based on the + * ConfigRuleComplianceSummaryFilters object.

                  */ - Limit?: number; + Filters?: ConfigRuleComplianceSummaryFilters; + + /** + *

                  The name of the configuration aggregator.

                  + */ + ConfigurationAggregatorName: string | undefined; } export namespace GetAggregateConfigRuleComplianceSummaryRequest { @@ -5286,11 +5286,6 @@ export namespace GetAggregateConfigRuleComplianceSummaryResponse { *

                  Filters the resource count based on account ID, region, and resource type.

                  */ export interface ResourceCountFilters { - /** - *

                  The type of the AWS resource.

                  - */ - ResourceType?: ResourceType | string; - /** *

                  The region where the account is located.

                  */ @@ -5300,6 +5295,11 @@ export interface ResourceCountFilters { *

                  The 12-digit ID of the account.

                  */ AccountId?: string; + + /** + *

                  The type of the AWS resource.

                  + */ + ResourceType?: ResourceType | string; } export namespace ResourceCountFilters { @@ -5321,24 +5321,24 @@ export interface GetAggregateDiscoveredResourceCountsRequest { Limit?: number; /** - *

                  The name of the configuration aggregator.

                  + *

                  The key to group the resource counts.

                  */ - ConfigurationAggregatorName: string | undefined; + GroupByKey?: ResourceCountGroupKey | string; /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  Filters the results based on the ResourceCountFilters object.

                  */ - NextToken?: string; + Filters?: ResourceCountFilters; /** - *

                  Filters the results based on the ResourceCountFilters object.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - Filters?: ResourceCountFilters; + NextToken?: string; /** - *

                  The key to group the resource counts.

                  + *

                  The name of the configuration aggregator.

                  */ - GroupByKey?: ResourceCountGroupKey | string; + ConfigurationAggregatorName: string | undefined; } export namespace GetAggregateDiscoveredResourceCountsRequest { @@ -5370,14 +5370,14 @@ export namespace GroupedResourceCount { export interface GetAggregateDiscoveredResourceCountsResponse { /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  Returns a list of GroupedResourceCount objects.

                  */ - NextToken?: string; + GroupedResourceCounts?: GroupedResourceCount[]; /** - *

                  The key passed into the request object. If GroupByKey is not provided, the result will be empty.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - GroupByKey?: string; + NextToken?: string; /** *

                  The total number of resources that are present in an aggregator with the filters that you provide.

                  @@ -5385,9 +5385,9 @@ export interface GetAggregateDiscoveredResourceCountsResponse { TotalDiscoveredResources: number | undefined; /** - *

                  Returns a list of GroupedResourceCount objects.

                  + *

                  The key passed into the request object. If GroupByKey is not provided, the result will be empty.

                  */ - GroupedResourceCounts?: GroupedResourceCount[]; + GroupByKey?: string; } export namespace GetAggregateDiscoveredResourceCountsResponse { @@ -5398,14 +5398,14 @@ export namespace GetAggregateDiscoveredResourceCountsResponse { export interface GetAggregateResourceConfigRequest { /** - *

                  The name of the configuration aggregator.

                  + *

                  An object that identifies aggregate resource.

                  */ - ConfigurationAggregatorName: string | undefined; + ResourceIdentifier: AggregateResourceIdentifier | undefined; /** - *

                  An object that identifies aggregate resource.

                  + *

                  The name of the configuration aggregator.

                  */ - ResourceIdentifier: AggregateResourceIdentifier | undefined; + ConfigurationAggregatorName: string | undefined; } export namespace GetAggregateResourceConfigRequest { @@ -5469,11 +5469,10 @@ export namespace ResourceNotDiscoveredException { */ export interface GetComplianceDetailsByConfigRuleRequest { /** - *

                  The maximum number of evaluation results returned on each page. - * The default is 10. You cannot specify a number greater than 100. If - * you specify 0, AWS Config uses the default.

                  + *

                  The name of the AWS Config rule for which you want compliance + * information.

                  */ - Limit?: number; + ConfigRuleName: string | undefined; /** *

                  The nextToken string returned on a previous page @@ -5483,10 +5482,11 @@ export interface GetComplianceDetailsByConfigRuleRequest { NextToken?: string; /** - *

                  The name of the AWS Config rule for which you want compliance - * information.

                  + *

                  The maximum number of evaluation results returned on each page. + * The default is 10. You cannot specify a number greater than 100. If + * you specify 0, AWS Config uses the default.

                  */ - ConfigRuleName: string | undefined; + Limit?: number; /** *

                  Filters the results by compliance.

                  @@ -5543,6 +5543,12 @@ export interface GetComplianceDetailsByResourceRequest { */ NextToken?: string; + /** + *

                  The type of the AWS resource for which you want compliance + * information.

                  + */ + ResourceType: string | undefined; + /** *

                  Filters the results by compliance.

                  *

                  The allowed values are COMPLIANT, @@ -5550,12 +5556,6 @@ export interface GetComplianceDetailsByResourceRequest { * NOT_APPLICABLE.

                  */ ComplianceTypes?: (ComplianceType | string)[]; - - /** - *

                  The type of the AWS resource for which you want compliance - * information.

                  - */ - ResourceType: string | undefined; } export namespace GetComplianceDetailsByResourceRequest { @@ -5681,14 +5681,14 @@ export interface GetConformancePackComplianceDetailsResponse { NextToken?: string; /** - *

                  Name of the conformance pack.

                  + *

                  Returns a list of ConformancePackEvaluationResult objects.

                  */ - ConformancePackName: string | undefined; + ConformancePackRuleEvaluationResults?: ConformancePackEvaluationResult[]; /** - *

                  Returns a list of ConformancePackEvaluationResult objects.

                  + *

                  Name of the conformance pack.

                  */ - ConformancePackRuleEvaluationResults?: ConformancePackEvaluationResult[]; + ConformancePackName: string | undefined; } export namespace GetConformancePackComplianceDetailsResponse { @@ -5758,6 +5758,13 @@ export interface GetDiscoveredResourceCountsRequest { */ resourceTypes?: string[]; + /** + *

                  The nextToken string returned on a previous page + * that you use to get the next page of results in a paginated + * response.

                  + */ + nextToken?: string; + /** *

                  The maximum number of ResourceCount objects * returned on each page. The default is 100. You cannot specify a @@ -5765,13 +5772,6 @@ export interface GetDiscoveredResourceCountsRequest { * default.

                  */ limit?: number; - - /** - *

                  The nextToken string returned on a previous page - * that you use to get the next page of results in a paginated - * response.

                  - */ - nextToken?: string; } export namespace GetDiscoveredResourceCountsRequest { @@ -5932,6 +5932,11 @@ export namespace StatusDetailFilters { } export interface GetOrganizationConfigRuleDetailedStatusRequest { + /** + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + */ + NextToken?: string; + /** *

                  A StatusDetailFilters object.

                  */ @@ -5946,11 +5951,6 @@ export interface GetOrganizationConfigRuleDetailedStatusRequest { *

                  The maximum number of OrganizationConfigRuleDetailedStatus returned on each page. If you do not specify a number, AWS Config uses the default. The default is 100.

                  */ Limit?: number; - - /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  - */ - NextToken?: string; } export namespace GetOrganizationConfigRuleDetailedStatusRequest { @@ -5969,9 +5969,9 @@ export interface MemberAccountStatus { ErrorMessage?: string; /** - *

                  The name of config rule deployed in the member account.

                  + *

                  The 12-digit account ID of a member account.

                  */ - ConfigRuleName: string | undefined; + AccountId: string | undefined; /** *

                  The timestamp of the last status update.

                  @@ -6027,14 +6027,14 @@ export interface MemberAccountStatus { MemberAccountRuleStatus: MemberAccountRuleStatus | string | undefined; /** - *

                  The 12-digit account ID of a member account.

                  + *

                  An error code that is returned when config rule creation or deletion failed in the member account.

                  */ - AccountId: string | undefined; + ErrorCode?: string; /** - *

                  An error code that is returned when config rule creation or deletion failed in the member account.

                  + *

                  The name of config rule deployed in the member account.

                  */ - ErrorCode?: string; + ConfigRuleName: string | undefined; } export namespace MemberAccountStatus { @@ -6045,14 +6045,14 @@ export namespace MemberAccountStatus { export interface GetOrganizationConfigRuleDetailedStatusResponse { /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  A list of MemberAccountStatus objects.

                  */ - NextToken?: string; + OrganizationConfigRuleDetailedStatus?: MemberAccountStatus[]; /** - *

                  A list of MemberAccountStatus objects.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - OrganizationConfigRuleDetailedStatus?: MemberAccountStatus[]; + NextToken?: string; } export namespace GetOrganizationConfigRuleDetailedStatusResponse { @@ -6144,14 +6144,14 @@ export interface GetOrganizationConformancePackDetailedStatusRequest { Filters?: OrganizationResourceDetailedStatusFilters; /** - *

                  The name of organization conformance pack for which you want status details for member accounts.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - OrganizationConformancePackName: string | undefined; + NextToken?: string; /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  The name of organization conformance pack for which you want status details for member accounts.

                  */ - NextToken?: string; + OrganizationConformancePackName: string | undefined; /** *

                  The maximum number of OrganizationConformancePackDetailedStatuses returned on each page. @@ -6173,15 +6173,9 @@ export namespace GetOrganizationConformancePackDetailedStatusRequest { */ export interface OrganizationConformancePackDetailedStatus { /** - *

                  An error message indicating that conformance pack account creation or deletion - * has failed due to an error in the member account.

                  - */ - ErrorMessage?: string; - - /** - *

                  The name of conformance pack deployed in the member account.

                  + *

                  The 12-digit account ID of a member account.

                  */ - ConformancePackName: string | undefined; + AccountId: string | undefined; /** *

                  An error code that is returned when conformance pack creation or @@ -6190,9 +6184,10 @@ export interface OrganizationConformancePackDetailedStatus { ErrorCode?: string; /** - *

                  The 12-digit account ID of a member account.

                  + *

                  An error message indicating that conformance pack account creation or deletion + * has failed due to an error in the member account.

                  */ - AccountId: string | undefined; + ErrorMessage?: string; /** *

                  Indicates deployment status for conformance pack in a member account. @@ -6246,6 +6241,11 @@ export interface OrganizationConformancePackDetailedStatus { *

                  The timestamp of the last status update.

                  */ LastUpdateTime?: Date; + + /** + *

                  The name of conformance pack deployed in the member account.

                  + */ + ConformancePackName: string | undefined; } export namespace OrganizationConformancePackDetailedStatus { @@ -6256,14 +6256,14 @@ export namespace OrganizationConformancePackDetailedStatus { export interface GetOrganizationConformancePackDetailedStatusResponse { /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  A list of OrganizationConformancePackDetailedStatus objects.

                  */ - NextToken?: string; + OrganizationConformancePackDetailedStatuses?: OrganizationConformancePackDetailedStatus[]; /** - *

                  A list of OrganizationConformancePackDetailedStatus objects.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - OrganizationConformancePackDetailedStatuses?: OrganizationConformancePackDetailedStatus[]; + NextToken?: string; } export namespace GetOrganizationConformancePackDetailedStatusResponse { @@ -6278,16 +6278,11 @@ export namespace GetOrganizationConformancePackDetailedStatusResponse { */ export interface GetResourceConfigHistoryRequest { /** - *

                  The time stamp that indicates a later time. If not specified, - * current time is taken.

                  - */ - laterTime?: Date; - - /** - *

                  The ID of the resource (for example., - * sg-xxxxxx).

                  + *

                  The maximum number of configuration items returned on each + * page. The default is 10. You cannot specify a number greater than + * 100. If you specify 0, AWS Config uses the default.

                  */ - resourceId: string | undefined; + limit?: number; /** *

                  The nextToken string returned on a previous page @@ -6296,6 +6291,11 @@ export interface GetResourceConfigHistoryRequest { */ nextToken?: string; + /** + *

                  The resource type.

                  + */ + resourceType: ResourceType | string | undefined; + /** *

                  The time stamp that indicates an earlier time. If not * specified, the action returns paginated results that contain @@ -6304,11 +6304,6 @@ export interface GetResourceConfigHistoryRequest { */ earlierTime?: Date; - /** - *

                  The resource type.

                  - */ - resourceType: ResourceType | string | undefined; - /** *

                  The chronological order for configuration items listed. By * default, the results are listed in reverse chronological @@ -6317,11 +6312,16 @@ export interface GetResourceConfigHistoryRequest { chronologicalOrder?: ChronologicalOrder | string; /** - *

                  The maximum number of configuration items returned on each - * page. The default is 10. You cannot specify a number greater than - * 100. If you specify 0, AWS Config uses the default.

                  + *

                  The time stamp that indicates a later time. If not specified, + * current time is taken.

                  */ - limit?: number; + laterTime?: Date; + + /** + *

                  The ID of the resource (for example., + * sg-xxxxxx).

                  + */ + resourceId: string | undefined; } export namespace GetResourceConfigHistoryRequest { @@ -6335,17 +6335,17 @@ export namespace GetResourceConfigHistoryRequest { * action.

                  */ export interface GetResourceConfigHistoryResponse { - /** - *

                  The string that you use in a subsequent request to get the next - * page of results in a paginated response.

                  - */ - nextToken?: string; - /** *

                  A list that contains the configuration history of one or more * resources.

                  */ configurationItems?: ConfigurationItem[]; + + /** + *

                  The string that you use in a subsequent request to get the next + * page of results in a paginated response.

                  + */ + nextToken?: string; } export namespace GetResourceConfigHistoryResponse { @@ -6565,9 +6565,9 @@ export namespace LimitExceededException { */ export interface ResourceFilters { /** - *

                  The source region.

                  + *

                  The name of the resource.

                  */ - Region?: string; + ResourceName?: string; /** *

                  The ID of the resource.

                  @@ -6580,9 +6580,9 @@ export interface ResourceFilters { AccountId?: string; /** - *

                  The name of the resource.

                  + *

                  The source region.

                  */ - ResourceName?: string; + Region?: string; } export namespace ResourceFilters { @@ -6598,24 +6598,24 @@ export interface ListAggregateDiscoveredResourcesRequest { Filters?: ResourceFilters; /** - *

                  The type of resources that you want AWS Config to list in the response.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - ResourceType: ResourceType | string | undefined; + NextToken?: string; /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  The name of the configuration aggregator.

                  */ - NextToken?: string; + ConfigurationAggregatorName: string | undefined; + + /** + *

                  The type of resources that you want AWS Config to list in the response.

                  + */ + ResourceType: ResourceType | string | undefined; /** *

                  The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

                  */ Limit?: number; - - /** - *

                  The name of the configuration aggregator.

                  - */ - ConfigurationAggregatorName: string | undefined; } export namespace ListAggregateDiscoveredResourcesRequest { @@ -6654,39 +6654,39 @@ export interface ListDiscoveredResourcesRequest { limit?: number; /** - *

                  Specifies whether AWS Config includes deleted resources in the - * results. By default, deleted resources are not included.

                  + *

                  The custom name of only those resources that you want AWS + * Config to list in the response. If you do not specify this + * parameter, AWS Config lists all resources of the specified type that + * it has discovered.

                  */ - includeDeletedResources?: boolean; + resourceName?: string; /** - *

                  The nextToken string returned on a previous page - * that you use to get the next page of results in a paginated - * response.

                  + *

                  The IDs of only those resources that you want AWS Config to + * list in the response. If you do not specify this parameter, AWS + * Config lists all resources of the specified type that it has + * discovered.

                  */ - nextToken?: string; + resourceIds?: string[]; /** - *

                  The type of resources that you want AWS Config to list in the - * response.

                  + *

                  Specifies whether AWS Config includes deleted resources in the + * results. By default, deleted resources are not included.

                  */ - resourceType: ResourceType | string | undefined; + includeDeletedResources?: boolean; /** - *

                  The IDs of only those resources that you want AWS Config to - * list in the response. If you do not specify this parameter, AWS - * Config lists all resources of the specified type that it has - * discovered.

                  + *

                  The type of resources that you want AWS Config to list in the + * response.

                  */ - resourceIds?: string[]; + resourceType: ResourceType | string | undefined; /** - *

                  The custom name of only those resources that you want AWS - * Config to list in the response. If you do not specify this - * parameter, AWS Config lists all resources of the specified type that - * it has discovered.

                  + *

                  The nextToken string returned on a previous page + * that you use to get the next page of results in a paginated + * response.

                  */ - resourceName?: string; + nextToken?: string; } export namespace ListDiscoveredResourcesRequest { @@ -6702,9 +6702,10 @@ export namespace ListDiscoveredResourcesRequest { */ export interface ResourceIdentifier { /** - *

                  The type of resource.

                  + *

                  The ID of the resource (for example, + * sg-xxxxxx).

                  */ - resourceType?: ResourceType | string; + resourceId?: string; /** *

                  The time that the resource was deleted.

                  @@ -6712,15 +6713,14 @@ export interface ResourceIdentifier { resourceDeletionTime?: Date; /** - *

                  The ID of the resource (for example, - * sg-xxxxxx).

                  + *

                  The custom name of the resource (if available).

                  */ - resourceId?: string; + resourceName?: string; /** - *

                  The custom name of the resource (if available).

                  + *

                  The type of resource.

                  */ - resourceName?: string; + resourceType?: ResourceType | string; } export namespace ResourceIdentifier { @@ -6733,18 +6733,18 @@ export namespace ResourceIdentifier { *

                  */ export interface ListDiscoveredResourcesResponse { - /** - *

                  The string that you use in a subsequent request to get the next - * page of results in a paginated response.

                  - */ - nextToken?: string; - /** *

                  The details that identify a resource that is discovered by AWS * Config, including the resource type, ID, and (if available) the * custom resource name.

                  */ resourceIdentifiers?: ResourceIdentifier[]; + + /** + *

                  The string that you use in a subsequent request to get the next + * page of results in a paginated response.

                  + */ + nextToken?: string; } export namespace ListDiscoveredResourcesResponse { @@ -6755,9 +6755,9 @@ export namespace ListDiscoveredResourcesResponse { export interface ListTagsForResourceRequest { /** - *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  + *

                  The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

                  */ - NextToken?: string; + ResourceArn: string | undefined; /** *

                  The maximum number of tags returned on each page. The limit maximum is 50. You cannot specify a number greater than 50. If you specify 0, AWS Config uses the default.

                  @@ -6765,9 +6765,9 @@ export interface ListTagsForResourceRequest { Limit?: number; /** - *

                  The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

                  + *

                  The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

                  */ - ResourceArn: string | undefined; + NextToken?: string; } export namespace ListTagsForResourceRequest { @@ -7077,9 +7077,9 @@ export namespace OrganizationConformancePackTemplateValidationException { export interface PutAggregationAuthorizationRequest { /** - *

                  The 12-digit account ID of the account authorized to aggregate data.

                  + *

                  An array of tag object.

                  */ - AuthorizedAccountId: string | undefined; + Tags?: Tag[]; /** *

                  The region authorized to collect aggregated data.

                  @@ -7087,9 +7087,9 @@ export interface PutAggregationAuthorizationRequest { AuthorizedAwsRegion: string | undefined; /** - *

                  An array of tag object.

                  + *

                  The 12-digit account ID of the account authorized to aggregate data.

                  */ - Tags?: Tag[]; + AuthorizedAccountId: string | undefined; } export namespace PutAggregationAuthorizationRequest { @@ -7115,14 +7115,14 @@ export namespace PutAggregationAuthorizationResponse { export interface PutConfigRuleRequest { /** - *

                  An array of tag object.

                  + *

                  The rule that you want to add to your account.

                  */ - Tags?: Tag[]; + ConfigRule: ConfigRule | undefined; /** - *

                  The rule that you want to add to your account.

                  + *

                  An array of tag object.

                  */ - ConfigRule: ConfigRule | undefined; + Tags?: Tag[]; } export namespace PutConfigRuleRequest { @@ -7133,26 +7133,26 @@ export namespace PutConfigRuleRequest { export interface PutConfigurationAggregatorRequest { /** - *

                  A list of AccountAggregationSource object. - * - *

                  + *

                  The name of the configuration aggregator.

                  */ - AccountAggregationSources?: AccountAggregationSource[]; + ConfigurationAggregatorName: string | undefined; /** - *

                  An array of tag object.

                  + *

                  An OrganizationAggregationSource object.

                  */ - Tags?: Tag[]; + OrganizationAggregationSource?: OrganizationAggregationSource; /** - *

                  An OrganizationAggregationSource object.

                  + *

                  An array of tag object.

                  */ - OrganizationAggregationSource?: OrganizationAggregationSource; + Tags?: Tag[]; /** - *

                  The name of the configuration aggregator.

                  + *

                  A list of AccountAggregationSource object. + * + *

                  */ - ConfigurationAggregatorName: string | undefined; + AccountAggregationSources?: AccountAggregationSource[]; } export namespace PutConfigurationAggregatorRequest { @@ -7196,7 +7196,7 @@ export interface PutConformancePackRequest { /** *

                  AWS Config stores intermediate files while processing conformance pack template.

                  */ - DeliveryS3Bucket: string | undefined; + DeliveryS3Bucket?: string; /** *

                  Name of the conformance pack you want to create.

                  @@ -7204,17 +7204,20 @@ export interface PutConformancePackRequest { ConformancePackName: string | undefined; /** - *

                  Location of file containing the template body (s3://bucketname/prefix). The uri must point to the conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket in the same region as the conformance pack.

                  + *

                  A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.

                  * - *

                  You must have access to read Amazon S3 bucket.

                  + *

                  You can only use a YAML template with one resource type, that is, config rule and a remediation action.

                  *
                  */ - TemplateS3Uri?: string; + TemplateBody?: string; /** - *

                  The prefix for the Amazon S3 bucket.

                  + *

                  Location of file containing the template body (s3://bucketname/prefix). The uri must point to the conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket in the same region as the conformance pack.

                  + * + *

                  You must have access to read Amazon S3 bucket.

                  + *
                  */ - DeliveryS3KeyPrefix?: string; + TemplateS3Uri?: string; /** *

                  A list of ConformancePackInputParameter objects.

                  @@ -7222,12 +7225,9 @@ export interface PutConformancePackRequest { ConformancePackInputParameters?: ConformancePackInputParameter[]; /** - *

                  A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.

                  - * - *

                  You can only use a YAML template with one resource type, that is, config rule and a remediation action.

                  - *
                  + *

                  The prefix for the Amazon S3 bucket.

                  */ - TemplateBody?: string; + DeliveryS3KeyPrefix?: string; } export namespace PutConformancePackRequest { @@ -7272,14 +7272,6 @@ export namespace PutDeliveryChannelRequest { *

                  */ export interface PutEvaluationsRequest { - /** - *

                  The assessments that the AWS Lambda function performs. Each - * evaluation identifies an AWS resource and indicates whether it - * complies with the AWS Config rule that invokes the AWS Lambda - * function.

                  - */ - Evaluations?: Evaluation[]; - /** *

                  An encrypted token that associates an evaluation with an AWS * Config rule. Identifies the rule and the event that triggered the @@ -7302,6 +7294,14 @@ export interface PutEvaluationsRequest { * */ TestMode?: boolean; + + /** + *

                  The assessments that the AWS Lambda function performs. Each + * evaluation identifies an AWS resource and indicates whether it + * complies with the AWS Config rule that invokes the AWS Lambda + * function.

                  + */ + Evaluations?: Evaluation[]; } export namespace PutEvaluationsRequest { @@ -7329,24 +7329,24 @@ export namespace PutEvaluationsResponse { export interface PutOrganizationConfigRuleRequest { /** - *

                  An OrganizationCustomRuleMetadata object.

                  + *

                  An OrganizationManagedRuleMetadata object.

                  */ - OrganizationCustomRuleMetadata?: OrganizationCustomRuleMetadata; + OrganizationManagedRuleMetadata?: OrganizationManagedRuleMetadata; /** - *

                  A comma-separated list of accounts that you want to exclude from an organization config rule.

                  + *

                  The name that you assign to an organization config rule.

                  */ - ExcludedAccounts?: string[]; + OrganizationConfigRuleName: string | undefined; /** - *

                  An OrganizationManagedRuleMetadata object.

                  + *

                  An OrganizationCustomRuleMetadata object.

                  */ - OrganizationManagedRuleMetadata?: OrganizationManagedRuleMetadata; + OrganizationCustomRuleMetadata?: OrganizationCustomRuleMetadata; /** - *

                  The name that you assign to an organization config rule.

                  + *

                  A comma-separated list of accounts that you want to exclude from an organization config rule.

                  */ - OrganizationConfigRuleName: string | undefined; + ExcludedAccounts?: string[]; } export namespace PutOrganizationConfigRuleRequest { @@ -7370,12 +7370,9 @@ export namespace PutOrganizationConfigRuleResponse { export interface PutOrganizationConformancePackRequest { /** - *

                  Location of an Amazon S3 bucket where AWS Config can deliver evaluation results. AWS Config - * stores intermediate files while processing conformance pack template.

                  - *

                  The delivery bucket name should start with awsconfigconforms. For example: "Resource": "arn:aws:s3:::your_bucket_name/*". - * For more information, see Permissions for cross account bucket access.

                  + *

                  Name of the organization conformance pack you want to create.

                  */ - DeliveryS3Bucket: string | undefined; + OrganizationConformancePackName: string | undefined; /** *

                  A string containing full conformance pack template body. Structure containing the template body @@ -7384,33 +7381,36 @@ export interface PutOrganizationConformancePackRequest { TemplateBody?: string; /** - *

                  Location of file containing the template body. The uri must point to the conformance pack template - * (max size: 300 KB).

                  - * - *

                  You must have access to read Amazon S3 bucket.

                  - *
                  + *

                  The prefix for the Amazon S3 bucket.

                  */ - TemplateS3Uri?: string; + DeliveryS3KeyPrefix?: string; /** - *

                  Name of the organization conformance pack you want to create.

                  + *

                  Location of an Amazon S3 bucket where AWS Config can deliver evaluation results. AWS Config + * stores intermediate files while processing conformance pack template.

                  + *

                  The delivery bucket name should start with awsconfigconforms. For example: "Resource": "arn:aws:s3:::your_bucket_name/*". + * For more information, see Permissions for cross account bucket access.

                  */ - OrganizationConformancePackName: string | undefined; + DeliveryS3Bucket?: string; /** - *

                  A list of ConformancePackInputParameter objects.

                  + *

                  A list of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack.

                  */ - ConformancePackInputParameters?: ConformancePackInputParameter[]; + ExcludedAccounts?: string[]; /** - *

                  The prefix for the Amazon S3 bucket.

                  + *

                  Location of file containing the template body. The uri must point to the conformance pack template + * (max size: 300 KB).

                  + * + *

                  You must have access to read Amazon S3 bucket.

                  + *
                  */ - DeliveryS3KeyPrefix?: string; + TemplateS3Uri?: string; /** - *

                  A list of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack.

                  + *

                  A list of ConformancePackInputParameter objects.

                  */ - ExcludedAccounts?: string[]; + ConformancePackInputParameters?: ConformancePackInputParameter[]; } export namespace PutOrganizationConformancePackRequest { @@ -7470,14 +7470,14 @@ export interface PutRemediationExceptionsRequest { ResourceKeys: RemediationExceptionResourceKey[] | undefined; /** - *

                  The exception is automatically deleted after the expiration date.

                  + *

                  The message contains an explanation of the exception.

                  */ - ExpirationTime?: Date; + Message?: string; /** - *

                  The message contains an explanation of the exception.

                  + *

                  The exception is automatically deleted after the expiration date.

                  */ - Message?: string; + ExpirationTime?: Date; } export namespace PutRemediationExceptionsRequest { @@ -7501,20 +7501,15 @@ export namespace PutRemediationExceptionsResponse { export interface PutResourceConfigRequest { /** - *

                  Unique identifier of the resource.

                  + *

                  Tags associated with the resource.

                  */ - ResourceId: string | undefined; + Tags?: { [key: string]: string }; /** *

                  Version of the schema registered for the ResourceType in AWS CloudFormation.

                  */ SchemaVersionId: string | undefined; - /** - *

                  Tags associated with the resource.

                  - */ - Tags?: { [key: string]: string }; - /** *

                  The configuration object of the resource in valid JSON format. It must match the schema registered with AWS CloudFormation.

                  * @@ -7524,9 +7519,9 @@ export interface PutResourceConfigRequest { Configuration: string | undefined; /** - *

                  Name of the resource.

                  + *

                  Unique identifier of the resource.

                  */ - ResourceName?: string; + ResourceId: string | undefined; /** *

                  The type of the resource. The custom resource type must be registered with AWS CloudFormation.

                  @@ -7535,6 +7530,11 @@ export interface PutResourceConfigRequest { *
                  */ ResourceType: string | undefined; + + /** + *

                  Name of the resource.

                  + */ + ResourceName?: string; } export namespace PutResourceConfigRequest { @@ -7601,6 +7601,11 @@ export interface SelectAggregateResourceConfigRequest { */ Limit?: number; + /** + *

                  The SQL query SELECT command.

                  + */ + Expression: string | undefined; + /** *

                  The name of the configuration aggregator.

                  */ @@ -7610,11 +7615,6 @@ export interface SelectAggregateResourceConfigRequest { *

                  The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

                  */ NextToken?: string; - - /** - *

                  The SQL query SELECT command.

                  - */ - Expression: string | undefined; } export namespace SelectAggregateResourceConfigRequest { @@ -7676,14 +7676,14 @@ export interface SelectResourceConfigResponse { QueryInfo?: QueryInfo; /** - *

                  The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

                  + *

                  Returns the results for the SQL query.

                  */ - NextToken?: string; + Results?: string[]; /** - *

                  Returns the results for the SQL query.

                  + *

                  The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

                  */ - Results?: string[]; + NextToken?: string; } export namespace SelectResourceConfigResponse { @@ -7793,14 +7793,14 @@ export namespace StopConfigurationRecorderRequest { export interface TagResourceRequest { /** - *

                  The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

                  + *

                  An array of tag object.

                  */ - ResourceArn: string | undefined; + Tags: Tag[] | undefined; /** - *

                  An array of tag object.

                  + *

                  The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

                  */ - Tags: Tag[] | undefined; + ResourceArn: string | undefined; } export namespace TagResourceRequest { diff --git a/clients/client-connect/Connect.ts b/clients/client-connect/Connect.ts index ff2d8909d5da..18a2e4fdaf6e 100644 --- a/clients/client-connect/Connect.ts +++ b/clients/client-connect/Connect.ts @@ -1,6 +1,31 @@ import { ConnectClient } from "./ConnectClient"; +import { + AssociateRoutingProfileQueuesCommand, + AssociateRoutingProfileQueuesCommandInput, + AssociateRoutingProfileQueuesCommandOutput, +} from "./commands/AssociateRoutingProfileQueuesCommand"; +import { + CreateContactFlowCommand, + CreateContactFlowCommandInput, + CreateContactFlowCommandOutput, +} from "./commands/CreateContactFlowCommand"; +import { + CreateRoutingProfileCommand, + CreateRoutingProfileCommandInput, + CreateRoutingProfileCommandOutput, +} from "./commands/CreateRoutingProfileCommand"; import { CreateUserCommand, CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; import { DeleteUserCommand, DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; +import { + DescribeContactFlowCommand, + DescribeContactFlowCommandInput, + DescribeContactFlowCommandOutput, +} from "./commands/DescribeContactFlowCommand"; +import { + DescribeRoutingProfileCommand, + DescribeRoutingProfileCommandInput, + DescribeRoutingProfileCommandOutput, +} from "./commands/DescribeRoutingProfileCommand"; import { DescribeUserCommand, DescribeUserCommandInput, @@ -16,6 +41,11 @@ import { DescribeUserHierarchyStructureCommandInput, DescribeUserHierarchyStructureCommandOutput, } from "./commands/DescribeUserHierarchyStructureCommand"; +import { + DisassociateRoutingProfileQueuesCommand, + DisassociateRoutingProfileQueuesCommandInput, + DisassociateRoutingProfileQueuesCommandOutput, +} from "./commands/DisassociateRoutingProfileQueuesCommand"; import { GetContactAttributesCommand, GetContactAttributesCommandInput, @@ -51,7 +81,13 @@ import { ListPhoneNumbersCommandInput, ListPhoneNumbersCommandOutput, } from "./commands/ListPhoneNumbersCommand"; +import { ListPromptsCommand, ListPromptsCommandInput, ListPromptsCommandOutput } from "./commands/ListPromptsCommand"; import { ListQueuesCommand, ListQueuesCommandInput, ListQueuesCommandOutput } from "./commands/ListQueuesCommand"; +import { + ListRoutingProfileQueuesCommand, + ListRoutingProfileQueuesCommandInput, + ListRoutingProfileQueuesCommandOutput, +} from "./commands/ListRoutingProfileQueuesCommand"; import { ListRoutingProfilesCommand, ListRoutingProfilesCommandInput, @@ -115,6 +151,36 @@ import { UpdateContactAttributesCommandInput, UpdateContactAttributesCommandOutput, } from "./commands/UpdateContactAttributesCommand"; +import { + UpdateContactFlowContentCommand, + UpdateContactFlowContentCommandInput, + UpdateContactFlowContentCommandOutput, +} from "./commands/UpdateContactFlowContentCommand"; +import { + UpdateContactFlowNameCommand, + UpdateContactFlowNameCommandInput, + UpdateContactFlowNameCommandOutput, +} from "./commands/UpdateContactFlowNameCommand"; +import { + UpdateRoutingProfileConcurrencyCommand, + UpdateRoutingProfileConcurrencyCommandInput, + UpdateRoutingProfileConcurrencyCommandOutput, +} from "./commands/UpdateRoutingProfileConcurrencyCommand"; +import { + UpdateRoutingProfileDefaultOutboundQueueCommand, + UpdateRoutingProfileDefaultOutboundQueueCommandInput, + UpdateRoutingProfileDefaultOutboundQueueCommandOutput, +} from "./commands/UpdateRoutingProfileDefaultOutboundQueueCommand"; +import { + UpdateRoutingProfileNameCommand, + UpdateRoutingProfileNameCommandInput, + UpdateRoutingProfileNameCommandOutput, +} from "./commands/UpdateRoutingProfileNameCommand"; +import { + UpdateRoutingProfileQueuesCommand, + UpdateRoutingProfileQueuesCommandInput, + UpdateRoutingProfileQueuesCommandOutput, +} from "./commands/UpdateRoutingProfileQueuesCommand"; import { UpdateUserHierarchyCommand, UpdateUserHierarchyCommandInput, @@ -150,11 +216,118 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * the right agents.

                  *

                  There are limits to the number of Amazon Connect resources that you can create and limits to the * number of requests that you can make per second. For more information, see Amazon Connect - * Service Limits in the Amazon Connect Administrator Guide.

                  + * Service Quotas in the Amazon Connect Administrator Guide.

                  + *

                  To connect programmatically to an AWS service, you use an endpoint. For a list of Amazon Connect + * endpoints, see Amazon Connect + * Endpoints.

                  + * + *

                  Working with contact flows? Check out the Amazon Connect + * Flow language.

                  + *
                  */ export class Connect extends ConnectClient { + /** + *

                  Associates a set of queues with a routing profile.

                  + */ + public associateRoutingProfileQueues( + args: AssociateRoutingProfileQueuesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public associateRoutingProfileQueues( + args: AssociateRoutingProfileQueuesCommandInput, + cb: (err: any, data?: AssociateRoutingProfileQueuesCommandOutput) => void + ): void; + public associateRoutingProfileQueues( + args: AssociateRoutingProfileQueuesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateRoutingProfileQueuesCommandOutput) => void + ): void; + public associateRoutingProfileQueues( + args: AssociateRoutingProfileQueuesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociateRoutingProfileQueuesCommandOutput) => void), + cb?: (err: any, data?: AssociateRoutingProfileQueuesCommandOutput) => void + ): Promise | void { + const command = new AssociateRoutingProfileQueuesCommand(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 + * Flow language.

                  + */ + public createContactFlow( + args: CreateContactFlowCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createContactFlow( + args: CreateContactFlowCommandInput, + cb: (err: any, data?: CreateContactFlowCommandOutput) => void + ): void; + public createContactFlow( + args: CreateContactFlowCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateContactFlowCommandOutput) => void + ): void; + public createContactFlow( + args: CreateContactFlowCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateContactFlowCommandOutput) => void), + cb?: (err: any, data?: CreateContactFlowCommandOutput) => void + ): Promise | void { + const command = new CreateContactFlowCommand(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.

                  + */ + public createRoutingProfile( + args: CreateRoutingProfileCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createRoutingProfile( + args: CreateRoutingProfileCommandInput, + cb: (err: any, data?: CreateRoutingProfileCommandOutput) => void + ): void; + public createRoutingProfile( + args: CreateRoutingProfileCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateRoutingProfileCommandOutput) => void + ): void; + public createRoutingProfile( + args: CreateRoutingProfileCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateRoutingProfileCommandOutput) => void), + cb?: (err: any, data?: CreateRoutingProfileCommandOutput) => void + ): Promise | void { + const command = new CreateRoutingProfileCommand(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 account for the specified Amazon Connect instance.

                  + *

                  For information about how to create user accounts using the Amazon Connect console, see Add Users in + * the Amazon Connect Administrator Guide.

                  */ public createUser(args: CreateUserCommandInput, options?: __HttpHandlerOptions): Promise; public createUser(args: CreateUserCommandInput, cb: (err: any, data?: CreateUserCommandOutput) => void): void; @@ -181,6 +354,10 @@ export class Connect extends ConnectClient { /** *

                  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 + * Delete Users from + * Your Amazon Connect Instance in the Amazon Connect Administrator + * Guide.

                  */ public deleteUser(args: DeleteUserCommandInput, options?: __HttpHandlerOptions): Promise; public deleteUser(args: DeleteUserCommandInput, cb: (err: any, data?: DeleteUserCommandOutput) => void): void; @@ -205,6 +382,72 @@ export class Connect extends ConnectClient { } } + /** + *

                  Describes the specified contact flow.

                  + *

                  You can also create and update contact flows using the Amazon Connect + * Flow language.

                  + */ + public describeContactFlow( + args: DescribeContactFlowCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeContactFlow( + args: DescribeContactFlowCommandInput, + cb: (err: any, data?: DescribeContactFlowCommandOutput) => void + ): void; + public describeContactFlow( + args: DescribeContactFlowCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeContactFlowCommandOutput) => void + ): void; + public describeContactFlow( + args: DescribeContactFlowCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeContactFlowCommandOutput) => void), + cb?: (err: any, data?: DescribeContactFlowCommandOutput) => void + ): Promise | void { + const command = new DescribeContactFlowCommand(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.

                  + */ + public describeRoutingProfile( + args: DescribeRoutingProfileCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeRoutingProfile( + args: DescribeRoutingProfileCommandInput, + cb: (err: any, data?: DescribeRoutingProfileCommandOutput) => void + ): void; + public describeRoutingProfile( + args: DescribeRoutingProfileCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeRoutingProfileCommandOutput) => void + ): void; + public describeRoutingProfile( + args: DescribeRoutingProfileCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeRoutingProfileCommandOutput) => void), + cb?: (err: any, data?: DescribeRoutingProfileCommandOutput) => void + ): Promise | void { + const command = new DescribeRoutingProfileCommand(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 user account. You can find the instance ID in the console (it’s the * final part of the ARN). The console does not display the user IDs. Instead, list the users and @@ -300,6 +543,38 @@ export class Connect extends ConnectClient { } } + /** + *

                  Disassociates a set of queues from a routing profile.

                  + */ + public disassociateRoutingProfileQueues( + args: DisassociateRoutingProfileQueuesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disassociateRoutingProfileQueues( + args: DisassociateRoutingProfileQueuesCommandInput, + cb: (err: any, data?: DisassociateRoutingProfileQueuesCommandOutput) => void + ): void; + public disassociateRoutingProfileQueues( + args: DisassociateRoutingProfileQueuesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateRoutingProfileQueuesCommandOutput) => void + ): void; + public disassociateRoutingProfileQueues( + args: DisassociateRoutingProfileQueuesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateRoutingProfileQueuesCommandOutput) => void), + cb?: (err: any, data?: DisassociateRoutingProfileQueuesCommandOutput) => void + ): Promise | void { + const command = new DisassociateRoutingProfileQueuesCommand(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.

                  */ @@ -334,8 +609,8 @@ export class Connect extends ConnectClient { /** *

                  Gets the real-time metric data from the specified Amazon Connect instance.

                  - *

                  For more information, see Real-time Metrics Reports - * in the Amazon Connect Administrator Guide.

                  + *

                  For a description of each metric, see Real-time Metrics + * Definitions in the Amazon Connect Administrator Guide.

                  */ public getCurrentMetricData( args: GetCurrentMetricDataCommandInput, @@ -400,8 +675,8 @@ export class Connect extends ConnectClient { /** *

                  Gets historical metric data from the specified Amazon Connect instance.

                  - *

                  For more information, see Historical Metrics Reports in - * the Amazon Connect Administrator Guide.

                  + *

                  For a description of each historical metric, see Historical Metrics + * Definitions in the Amazon Connect Administrator Guide.

                  */ public getMetricData( args: GetMetricDataCommandInput, @@ -434,6 +709,10 @@ export class Connect extends ConnectClient { /** *

                  Provides information about the contact flows for the specified Amazon Connect instance.

                  + *

                  You can also create and update contact flows using the Amazon Connect + * Flow language.

                  + *

                  For more information about contact flows, see Contact Flows in the + * Amazon Connect Administrator Guide.

                  */ public listContactFlows( args: ListContactFlowsCommandInput, @@ -466,6 +745,8 @@ export class Connect extends ConnectClient { /** *

                  Provides information about the hours of operation for the specified Amazon Connect instance.

                  + *

                  For more information about hours of operation, see Set the Hours of Operation for a + * Queue in the Amazon Connect Administrator Guide.

                  */ public listHoursOfOperations( args: ListHoursOfOperationsCommandInput, @@ -497,7 +778,9 @@ export class Connect extends ConnectClient { } /** - *

                  Provides information about the phone numbers for the specified Amazon Connect instance.

                  + *

                  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 + * Contact Center in the Amazon Connect Administrator Guide.

                  */ public listPhoneNumbers( args: ListPhoneNumbersCommandInput, @@ -528,8 +811,37 @@ export class Connect extends ConnectClient { } } + /** + *

                  Provides information about the prompts for the specified Amazon Connect + * instance.

                  + */ + public listPrompts(args: ListPromptsCommandInput, options?: __HttpHandlerOptions): Promise; + public listPrompts(args: ListPromptsCommandInput, cb: (err: any, data?: ListPromptsCommandOutput) => void): void; + public listPrompts( + args: ListPromptsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPromptsCommandOutput) => void + ): void; + public listPrompts( + args: ListPromptsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListPromptsCommandOutput) => void), + cb?: (err: any, data?: ListPromptsCommandOutput) => void + ): Promise | void { + const command = new ListPromptsCommand(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 queues for the specified Amazon Connect instance.

                  + *

                  For more information about queues, see Queues: Standard and + * Agent in the Amazon Connect Administrator Guide.

                  */ public listQueues(args: ListQueuesCommandInput, options?: __HttpHandlerOptions): Promise; public listQueues(args: ListQueuesCommandInput, cb: (err: any, data?: ListQueuesCommandOutput) => void): void; @@ -554,9 +866,43 @@ export class Connect extends ConnectClient { } } + /** + *

                  List the queues associated with a routing profile.

                  + */ + public listRoutingProfileQueues( + args: ListRoutingProfileQueuesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listRoutingProfileQueues( + args: ListRoutingProfileQueuesCommandInput, + cb: (err: any, data?: ListRoutingProfileQueuesCommandOutput) => void + ): void; + public listRoutingProfileQueues( + args: ListRoutingProfileQueuesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListRoutingProfileQueuesCommandOutput) => void + ): void; + public listRoutingProfileQueues( + args: ListRoutingProfileQueuesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListRoutingProfileQueuesCommandOutput) => void), + cb?: (err: any, data?: ListRoutingProfileQueuesCommandOutput) => void + ): Promise | void { + const command = new ListRoutingProfileQueuesCommand(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 routing profiles for the specified Amazon Connect * instance.

                  + *

                  For more information about routing profiles, see Routing Profiles and Create a Routing + * Profile in the Amazon Connect Administrator Guide.

                  */ public listRoutingProfiles( args: ListRoutingProfilesCommandInput, @@ -590,6 +936,8 @@ export class Connect extends ConnectClient { /** *

                  Provides summary information about the security profiles for the specified Amazon Connect * instance.

                  + *

                  For more information about security profiles, see Security Profiles in the + * Amazon Connect Administrator Guide.

                  */ public listSecurityProfiles( args: ListSecurityProfilesCommandInput, @@ -622,6 +970,8 @@ export class Connect extends ConnectClient { /** *

                  Lists the tags for the specified resource.

                  + *

                  For sample policies that use tags, see Amazon Connect Identity-Based + * Policy Examples in the Amazon Connect Administrator Guide.

                  */ public listTagsForResource( args: ListTagsForResourceCommandInput, @@ -655,6 +1005,8 @@ export class Connect extends ConnectClient { /** *

                  Provides summary information about the hierarchy groups for the specified Amazon Connect * instance.

                  + *

                  For more information about agent hierarchies, see Set Up Agent Hierarchies in the + * Amazon Connect Administrator Guide.

                  */ public listUserHierarchyGroups( args: ListUserHierarchyGroupsCommandInput, @@ -753,6 +1105,22 @@ export class Connect extends ConnectClient { *

                  When a new chat contact is successfully created, clients need to subscribe to the * participant’s connection for the created chat within 5 minutes. This is achieved by invoking * CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

                  + * + *

                  A 429 error occurs in two situations:

                  + *
                    + *
                  • + *

                    API rate limit is exceeded. API TPS throttling returns a TooManyRequests + * exception from the API Gateway.

                    + *
                  • + *
                  • + *

                    The quota for concurrent active + * chats is exceeded. Active chat throttling returns a + * LimitExceededException.

                    + *
                  • + *
                  + * + *

                  For more information about how chat works, see Chat in the Amazon Connect Administrator + * Guide.

                  */ public startChatContact( args: StartChatContactCommandInput, @@ -790,7 +1158,7 @@ export class Connect extends ConnectClient { * started and you want to suspend and resume it, such as when collecting sensitive information (for * example, a credit card number), use SuspendContactRecording and ResumeContactRecording.

                  *

                  You can use this API to override the recording behavior configured in the Set recording - * behavior block.

                  + * behavior block.

                  *

                  Only voice recordings are supported at this time.

                  */ public startContactRecording( @@ -832,6 +1200,11 @@ export class Connect extends ConnectClient { * *

                  There is a 60 second dialing timeout for this operation. If the call is not connected after * 60 seconds, it fails.

                  + * + *

                  UK numbers with a 447 prefix are not allowed by default. Before you can dial these UK + * mobile numbers, you must submit a service quota increase request. For more information, see + * Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

                  + *
                  */ public startOutboundVoiceContact( args: StartOutboundVoiceContactCommandInput, @@ -965,7 +1338,9 @@ export class Connect extends ConnectClient { /** *

                  Adds the specified tags to the specified resource.

                  - *

                  The supported resource type is users.

                  + *

                  The supported resource types are users, routing profiles, and contact flows.

                  + *

                  For sample policies that use tags, see Amazon Connect Identity-Based + * Policy Examples in the Amazon Connect Administrator Guide.

                  */ public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; @@ -1031,6 +1406,7 @@ export class Connect extends ConnectClient { * and save the data with the contact in Amazon Connect. You could also flag calls for additional analysis, * such as legal review or identifying abusive callers.

                  *

                  Contact attributes are available in Amazon Connect for 24 months, and are then deleted.

                  + *

                  This operation is also available in the Amazon Connect Flow language. See UpdateContactAttributes.

                  * *

                  * Important: You cannot use the operation to update @@ -1069,6 +1445,202 @@ export class Connect extends ConnectClient { } } + /** + *

                  Updates the specified contact flow.

                  + *

                  You can also create and update contact flows using the Amazon Connect + * Flow language.

                  + */ + public updateContactFlowContent( + args: UpdateContactFlowContentCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateContactFlowContent( + args: UpdateContactFlowContentCommandInput, + cb: (err: any, data?: UpdateContactFlowContentCommandOutput) => void + ): void; + public updateContactFlowContent( + args: UpdateContactFlowContentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateContactFlowContentCommandOutput) => void + ): void; + public updateContactFlowContent( + args: UpdateContactFlowContentCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateContactFlowContentCommandOutput) => void), + cb?: (err: any, data?: UpdateContactFlowContentCommandOutput) => void + ): Promise | void { + const command = new UpdateContactFlowContentCommand(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 name of the contact flow.

                  + */ + public updateContactFlowName( + args: UpdateContactFlowNameCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateContactFlowName( + args: UpdateContactFlowNameCommandInput, + cb: (err: any, data?: UpdateContactFlowNameCommandOutput) => void + ): void; + public updateContactFlowName( + args: UpdateContactFlowNameCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateContactFlowNameCommandOutput) => void + ): void; + public updateContactFlowName( + args: UpdateContactFlowNameCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateContactFlowNameCommandOutput) => void), + cb?: (err: any, data?: UpdateContactFlowNameCommandOutput) => void + ): Promise | void { + const command = new UpdateContactFlowNameCommand(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.

                  + */ + public updateRoutingProfileConcurrency( + args: UpdateRoutingProfileConcurrencyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateRoutingProfileConcurrency( + args: UpdateRoutingProfileConcurrencyCommandInput, + cb: (err: any, data?: UpdateRoutingProfileConcurrencyCommandOutput) => void + ): void; + public updateRoutingProfileConcurrency( + args: UpdateRoutingProfileConcurrencyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateRoutingProfileConcurrencyCommandOutput) => void + ): void; + public updateRoutingProfileConcurrency( + args: UpdateRoutingProfileConcurrencyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateRoutingProfileConcurrencyCommandOutput) => void), + cb?: (err: any, data?: UpdateRoutingProfileConcurrencyCommandOutput) => void + ): Promise | void { + const command = new UpdateRoutingProfileConcurrencyCommand(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 default outbound queue of a routing profile.

                  + */ + public updateRoutingProfileDefaultOutboundQueue( + args: UpdateRoutingProfileDefaultOutboundQueueCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateRoutingProfileDefaultOutboundQueue( + args: UpdateRoutingProfileDefaultOutboundQueueCommandInput, + cb: (err: any, data?: UpdateRoutingProfileDefaultOutboundQueueCommandOutput) => void + ): void; + public updateRoutingProfileDefaultOutboundQueue( + args: UpdateRoutingProfileDefaultOutboundQueueCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateRoutingProfileDefaultOutboundQueueCommandOutput) => void + ): void; + public updateRoutingProfileDefaultOutboundQueue( + args: UpdateRoutingProfileDefaultOutboundQueueCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: UpdateRoutingProfileDefaultOutboundQueueCommandOutput) => void), + cb?: (err: any, data?: UpdateRoutingProfileDefaultOutboundQueueCommandOutput) => void + ): Promise | void { + const command = new UpdateRoutingProfileDefaultOutboundQueueCommand(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 name and description of a routing profile. The request accepts the following data in JSON format. At least Name or Description must be provided.

                  + */ + public updateRoutingProfileName( + args: UpdateRoutingProfileNameCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateRoutingProfileName( + args: UpdateRoutingProfileNameCommandInput, + cb: (err: any, data?: UpdateRoutingProfileNameCommandOutput) => void + ): void; + public updateRoutingProfileName( + args: UpdateRoutingProfileNameCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateRoutingProfileNameCommandOutput) => void + ): void; + public updateRoutingProfileName( + args: UpdateRoutingProfileNameCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateRoutingProfileNameCommandOutput) => void), + cb?: (err: any, data?: UpdateRoutingProfileNameCommandOutput) => void + ): Promise | void { + const command = new UpdateRoutingProfileNameCommand(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 properties associated with a set of queues for a routing profile.

                  + */ + public updateRoutingProfileQueues( + args: UpdateRoutingProfileQueuesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateRoutingProfileQueues( + args: UpdateRoutingProfileQueuesCommandInput, + cb: (err: any, data?: UpdateRoutingProfileQueuesCommandOutput) => void + ): void; + public updateRoutingProfileQueues( + args: UpdateRoutingProfileQueuesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateRoutingProfileQueuesCommandOutput) => void + ): void; + public updateRoutingProfileQueues( + args: UpdateRoutingProfileQueuesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateRoutingProfileQueuesCommandOutput) => void), + cb?: (err: any, data?: UpdateRoutingProfileQueuesCommandOutput) => void + ): Promise | void { + const command = new UpdateRoutingProfileQueuesCommand(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); + } + } + /** *

                  Assigns the specified hierarchy group to the specified user.

                  */ @@ -1103,6 +1675,15 @@ export class Connect extends ConnectClient { /** *

                  Updates the identity information for the specified user.

                  + * + *

                  Someone with the ability to invoke UpdateUserIndentityInfo can change the + * login credentials of other users by changing their email address. This poses a security risk to + * your organization. They can change the email address of a user to the attacker's email address, + * and then reset the password through email. We strongly recommend limiting who has the ability to + * invoke UpdateUserIndentityInfo. For more information, see Best + * Practices for Security Profiles in the Amazon Connect Administrator + * Guide.

                  + *
                  */ public updateUserIdentityInfo( args: UpdateUserIdentityInfoCommandInput, diff --git a/clients/client-connect/ConnectClient.ts b/clients/client-connect/ConnectClient.ts index b0ab89757c03..050240259653 100644 --- a/clients/client-connect/ConnectClient.ts +++ b/clients/client-connect/ConnectClient.ts @@ -1,5 +1,22 @@ +import { + AssociateRoutingProfileQueuesCommandInput, + AssociateRoutingProfileQueuesCommandOutput, +} from "./commands/AssociateRoutingProfileQueuesCommand"; +import { CreateContactFlowCommandInput, CreateContactFlowCommandOutput } from "./commands/CreateContactFlowCommand"; +import { + CreateRoutingProfileCommandInput, + CreateRoutingProfileCommandOutput, +} from "./commands/CreateRoutingProfileCommand"; import { CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; +import { + DescribeContactFlowCommandInput, + DescribeContactFlowCommandOutput, +} from "./commands/DescribeContactFlowCommand"; +import { + DescribeRoutingProfileCommandInput, + DescribeRoutingProfileCommandOutput, +} from "./commands/DescribeRoutingProfileCommand"; import { DescribeUserCommandInput, DescribeUserCommandOutput } from "./commands/DescribeUserCommand"; import { DescribeUserHierarchyGroupCommandInput, @@ -9,6 +26,10 @@ import { DescribeUserHierarchyStructureCommandInput, DescribeUserHierarchyStructureCommandOutput, } from "./commands/DescribeUserHierarchyStructureCommand"; +import { + DisassociateRoutingProfileQueuesCommandInput, + DisassociateRoutingProfileQueuesCommandOutput, +} from "./commands/DisassociateRoutingProfileQueuesCommand"; import { GetContactAttributesCommandInput, GetContactAttributesCommandOutput, @@ -25,7 +46,12 @@ import { ListHoursOfOperationsCommandOutput, } from "./commands/ListHoursOfOperationsCommand"; import { ListPhoneNumbersCommandInput, ListPhoneNumbersCommandOutput } from "./commands/ListPhoneNumbersCommand"; +import { ListPromptsCommandInput, ListPromptsCommandOutput } from "./commands/ListPromptsCommand"; import { ListQueuesCommandInput, ListQueuesCommandOutput } from "./commands/ListQueuesCommand"; +import { + ListRoutingProfileQueuesCommandInput, + ListRoutingProfileQueuesCommandOutput, +} from "./commands/ListRoutingProfileQueuesCommand"; import { ListRoutingProfilesCommandInput, ListRoutingProfilesCommandOutput, @@ -71,6 +97,30 @@ import { UpdateContactAttributesCommandInput, UpdateContactAttributesCommandOutput, } from "./commands/UpdateContactAttributesCommand"; +import { + UpdateContactFlowContentCommandInput, + UpdateContactFlowContentCommandOutput, +} from "./commands/UpdateContactFlowContentCommand"; +import { + UpdateContactFlowNameCommandInput, + UpdateContactFlowNameCommandOutput, +} from "./commands/UpdateContactFlowNameCommand"; +import { + UpdateRoutingProfileConcurrencyCommandInput, + UpdateRoutingProfileConcurrencyCommandOutput, +} from "./commands/UpdateRoutingProfileConcurrencyCommand"; +import { + UpdateRoutingProfileDefaultOutboundQueueCommandInput, + UpdateRoutingProfileDefaultOutboundQueueCommandOutput, +} from "./commands/UpdateRoutingProfileDefaultOutboundQueueCommand"; +import { + UpdateRoutingProfileNameCommandInput, + UpdateRoutingProfileNameCommandOutput, +} from "./commands/UpdateRoutingProfileNameCommand"; +import { + UpdateRoutingProfileQueuesCommandInput, + UpdateRoutingProfileQueuesCommandOutput, +} from "./commands/UpdateRoutingProfileQueuesCommand"; import { UpdateUserHierarchyCommandInput, UpdateUserHierarchyCommandOutput, @@ -141,11 +191,17 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | AssociateRoutingProfileQueuesCommandInput + | CreateContactFlowCommandInput + | CreateRoutingProfileCommandInput | CreateUserCommandInput | DeleteUserCommandInput + | DescribeContactFlowCommandInput + | DescribeRoutingProfileCommandInput | DescribeUserCommandInput | DescribeUserHierarchyGroupCommandInput | DescribeUserHierarchyStructureCommandInput + | DisassociateRoutingProfileQueuesCommandInput | GetContactAttributesCommandInput | GetCurrentMetricDataCommandInput | GetFederationTokenCommandInput @@ -153,7 +209,9 @@ export type ServiceInputTypes = | ListContactFlowsCommandInput | ListHoursOfOperationsCommandInput | ListPhoneNumbersCommandInput + | ListPromptsCommandInput | ListQueuesCommandInput + | ListRoutingProfileQueuesCommandInput | ListRoutingProfilesCommandInput | ListSecurityProfilesCommandInput | ListTagsForResourceCommandInput @@ -169,6 +227,12 @@ export type ServiceInputTypes = | TagResourceCommandInput | UntagResourceCommandInput | UpdateContactAttributesCommandInput + | UpdateContactFlowContentCommandInput + | UpdateContactFlowNameCommandInput + | UpdateRoutingProfileConcurrencyCommandInput + | UpdateRoutingProfileDefaultOutboundQueueCommandInput + | UpdateRoutingProfileNameCommandInput + | UpdateRoutingProfileQueuesCommandInput | UpdateUserHierarchyCommandInput | UpdateUserIdentityInfoCommandInput | UpdateUserPhoneConfigCommandInput @@ -176,11 +240,17 @@ export type ServiceInputTypes = | UpdateUserSecurityProfilesCommandInput; export type ServiceOutputTypes = + | AssociateRoutingProfileQueuesCommandOutput + | CreateContactFlowCommandOutput + | CreateRoutingProfileCommandOutput | CreateUserCommandOutput | DeleteUserCommandOutput + | DescribeContactFlowCommandOutput + | DescribeRoutingProfileCommandOutput | DescribeUserCommandOutput | DescribeUserHierarchyGroupCommandOutput | DescribeUserHierarchyStructureCommandOutput + | DisassociateRoutingProfileQueuesCommandOutput | GetContactAttributesCommandOutput | GetCurrentMetricDataCommandOutput | GetFederationTokenCommandOutput @@ -188,7 +258,9 @@ export type ServiceOutputTypes = | ListContactFlowsCommandOutput | ListHoursOfOperationsCommandOutput | ListPhoneNumbersCommandOutput + | ListPromptsCommandOutput | ListQueuesCommandOutput + | ListRoutingProfileQueuesCommandOutput | ListRoutingProfilesCommandOutput | ListSecurityProfilesCommandOutput | ListTagsForResourceCommandOutput @@ -204,6 +276,12 @@ export type ServiceOutputTypes = | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateContactAttributesCommandOutput + | UpdateContactFlowContentCommandOutput + | UpdateContactFlowNameCommandOutput + | UpdateRoutingProfileConcurrencyCommandOutput + | UpdateRoutingProfileDefaultOutboundQueueCommandOutput + | UpdateRoutingProfileNameCommandOutput + | UpdateRoutingProfileQueuesCommandOutput | UpdateUserHierarchyCommandOutput | UpdateUserIdentityInfoCommandOutput | UpdateUserPhoneConfigCommandOutput @@ -330,7 +408,14 @@ export type ConnectClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHa * the right agents.

                  *

                  There are limits to the number of Amazon Connect resources that you can create and limits to the * number of requests that you can make per second. For more information, see Amazon Connect - * Service Limits in the Amazon Connect Administrator Guide.

                  + * Service Quotas in the Amazon Connect Administrator Guide.

                  + *

                  To connect programmatically to an AWS service, you use an endpoint. For a list of Amazon Connect + * endpoints, see Amazon Connect + * Endpoints.

                  + * + *

                  Working with contact flows? Check out the Amazon Connect + * Flow language.

                  + *
                  */ export class ConnectClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-connect/commands/AssociateRoutingProfileQueuesCommand.ts b/clients/client-connect/commands/AssociateRoutingProfileQueuesCommand.ts new file mode 100644 index 000000000000..b5719159b203 --- /dev/null +++ b/clients/client-connect/commands/AssociateRoutingProfileQueuesCommand.ts @@ -0,0 +1,73 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { AssociateRoutingProfileQueuesRequest } from "../models/models_0"; +import { + deserializeAws_restJson1AssociateRoutingProfileQueuesCommand, + serializeAws_restJson1AssociateRoutingProfileQueuesCommand, +} 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 AssociateRoutingProfileQueuesCommandInput = AssociateRoutingProfileQueuesRequest; +export type AssociateRoutingProfileQueuesCommandOutput = __MetadataBearer; + +export class AssociateRoutingProfileQueuesCommand extends $Command< + AssociateRoutingProfileQueuesCommandInput, + AssociateRoutingProfileQueuesCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociateRoutingProfileQueuesCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: AssociateRoutingProfileQueuesRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AssociateRoutingProfileQueuesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1AssociateRoutingProfileQueuesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1AssociateRoutingProfileQueuesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/CreateContactFlowCommand.ts b/clients/client-connect/commands/CreateContactFlowCommand.ts new file mode 100644 index 000000000000..dbc4bd2519b5 --- /dev/null +++ b/clients/client-connect/commands/CreateContactFlowCommand.ts @@ -0,0 +1,70 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { CreateContactFlowRequest, CreateContactFlowResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateContactFlowCommand, + serializeAws_restJson1CreateContactFlowCommand, +} 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 CreateContactFlowCommandInput = CreateContactFlowRequest; +export type CreateContactFlowCommandOutput = CreateContactFlowResponse & __MetadataBearer; + +export class CreateContactFlowCommand extends $Command< + CreateContactFlowCommandInput, + CreateContactFlowCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateContactFlowCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateContactFlowRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateContactFlowResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateContactFlowCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateContactFlowCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateContactFlowCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/CreateRoutingProfileCommand.ts b/clients/client-connect/commands/CreateRoutingProfileCommand.ts new file mode 100644 index 000000000000..52909cfa7227 --- /dev/null +++ b/clients/client-connect/commands/CreateRoutingProfileCommand.ts @@ -0,0 +1,70 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { CreateRoutingProfileRequest, CreateRoutingProfileResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateRoutingProfileCommand, + serializeAws_restJson1CreateRoutingProfileCommand, +} 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 CreateRoutingProfileCommandInput = CreateRoutingProfileRequest; +export type CreateRoutingProfileCommandOutput = CreateRoutingProfileResponse & __MetadataBearer; + +export class CreateRoutingProfileCommand extends $Command< + CreateRoutingProfileCommandInput, + CreateRoutingProfileCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateRoutingProfileCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateRoutingProfileRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateRoutingProfileResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateRoutingProfileCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateRoutingProfileCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateRoutingProfileCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DescribeContactFlowCommand.ts b/clients/client-connect/commands/DescribeContactFlowCommand.ts new file mode 100644 index 000000000000..af387810e581 --- /dev/null +++ b/clients/client-connect/commands/DescribeContactFlowCommand.ts @@ -0,0 +1,70 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DescribeContactFlowRequest, DescribeContactFlowResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeContactFlowCommand, + serializeAws_restJson1DescribeContactFlowCommand, +} 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 DescribeContactFlowCommandInput = DescribeContactFlowRequest; +export type DescribeContactFlowCommandOutput = DescribeContactFlowResponse & __MetadataBearer; + +export class DescribeContactFlowCommand extends $Command< + DescribeContactFlowCommandInput, + DescribeContactFlowCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeContactFlowCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeContactFlowRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeContactFlowResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeContactFlowCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeContactFlowCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeContactFlowCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DescribeRoutingProfileCommand.ts b/clients/client-connect/commands/DescribeRoutingProfileCommand.ts new file mode 100644 index 000000000000..e615559f53d1 --- /dev/null +++ b/clients/client-connect/commands/DescribeRoutingProfileCommand.ts @@ -0,0 +1,70 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DescribeRoutingProfileRequest, DescribeRoutingProfileResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeRoutingProfileCommand, + serializeAws_restJson1DescribeRoutingProfileCommand, +} 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 DescribeRoutingProfileCommandInput = DescribeRoutingProfileRequest; +export type DescribeRoutingProfileCommandOutput = DescribeRoutingProfileResponse & __MetadataBearer; + +export class DescribeRoutingProfileCommand extends $Command< + DescribeRoutingProfileCommandInput, + DescribeRoutingProfileCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeRoutingProfileCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeRoutingProfileRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeRoutingProfileResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeRoutingProfileCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeRoutingProfileCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeRoutingProfileCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/DisassociateRoutingProfileQueuesCommand.ts b/clients/client-connect/commands/DisassociateRoutingProfileQueuesCommand.ts new file mode 100644 index 000000000000..4c8a8ee2695a --- /dev/null +++ b/clients/client-connect/commands/DisassociateRoutingProfileQueuesCommand.ts @@ -0,0 +1,76 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DisassociateRoutingProfileQueuesRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DisassociateRoutingProfileQueuesCommand, + serializeAws_restJson1DisassociateRoutingProfileQueuesCommand, +} 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 DisassociateRoutingProfileQueuesCommandInput = DisassociateRoutingProfileQueuesRequest; +export type DisassociateRoutingProfileQueuesCommandOutput = __MetadataBearer; + +export class DisassociateRoutingProfileQueuesCommand extends $Command< + DisassociateRoutingProfileQueuesCommandInput, + DisassociateRoutingProfileQueuesCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisassociateRoutingProfileQueuesCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DisassociateRoutingProfileQueuesRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DisassociateRoutingProfileQueuesCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DisassociateRoutingProfileQueuesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DisassociateRoutingProfileQueuesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/ListPromptsCommand.ts b/clients/client-connect/commands/ListPromptsCommand.ts new file mode 100644 index 000000000000..28700ff21397 --- /dev/null +++ b/clients/client-connect/commands/ListPromptsCommand.ts @@ -0,0 +1,70 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListPromptsRequest, ListPromptsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListPromptsCommand, + serializeAws_restJson1ListPromptsCommand, +} 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 ListPromptsCommandInput = ListPromptsRequest; +export type ListPromptsCommandOutput = ListPromptsResponse & __MetadataBearer; + +export class ListPromptsCommand extends $Command< + ListPromptsCommandInput, + ListPromptsCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListPromptsCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListPromptsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListPromptsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListPromptsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListPromptsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListPromptsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/ListRoutingProfileQueuesCommand.ts b/clients/client-connect/commands/ListRoutingProfileQueuesCommand.ts new file mode 100644 index 000000000000..b25b0d482207 --- /dev/null +++ b/clients/client-connect/commands/ListRoutingProfileQueuesCommand.ts @@ -0,0 +1,70 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListRoutingProfileQueuesRequest, ListRoutingProfileQueuesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListRoutingProfileQueuesCommand, + serializeAws_restJson1ListRoutingProfileQueuesCommand, +} 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 ListRoutingProfileQueuesCommandInput = ListRoutingProfileQueuesRequest; +export type ListRoutingProfileQueuesCommandOutput = ListRoutingProfileQueuesResponse & __MetadataBearer; + +export class ListRoutingProfileQueuesCommand extends $Command< + ListRoutingProfileQueuesCommandInput, + ListRoutingProfileQueuesCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListRoutingProfileQueuesCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListRoutingProfileQueuesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListRoutingProfileQueuesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListRoutingProfileQueuesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListRoutingProfileQueuesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListRoutingProfileQueuesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/UpdateContactFlowContentCommand.ts b/clients/client-connect/commands/UpdateContactFlowContentCommand.ts new file mode 100644 index 000000000000..49b4ccdd0570 --- /dev/null +++ b/clients/client-connect/commands/UpdateContactFlowContentCommand.ts @@ -0,0 +1,70 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdateContactFlowContentRequest } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateContactFlowContentCommand, + serializeAws_restJson1UpdateContactFlowContentCommand, +} 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 UpdateContactFlowContentCommandInput = UpdateContactFlowContentRequest; +export type UpdateContactFlowContentCommandOutput = __MetadataBearer; + +export class UpdateContactFlowContentCommand extends $Command< + UpdateContactFlowContentCommandInput, + UpdateContactFlowContentCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateContactFlowContentCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateContactFlowContentRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateContactFlowContentCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateContactFlowContentCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateContactFlowContentCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/UpdateContactFlowNameCommand.ts b/clients/client-connect/commands/UpdateContactFlowNameCommand.ts new file mode 100644 index 000000000000..e321f02f9b1e --- /dev/null +++ b/clients/client-connect/commands/UpdateContactFlowNameCommand.ts @@ -0,0 +1,70 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdateContactFlowNameRequest } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateContactFlowNameCommand, + serializeAws_restJson1UpdateContactFlowNameCommand, +} 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 UpdateContactFlowNameCommandInput = UpdateContactFlowNameRequest; +export type UpdateContactFlowNameCommandOutput = __MetadataBearer; + +export class UpdateContactFlowNameCommand extends $Command< + UpdateContactFlowNameCommandInput, + UpdateContactFlowNameCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateContactFlowNameCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateContactFlowNameRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateContactFlowNameCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateContactFlowNameCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateContactFlowNameCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/UpdateRoutingProfileConcurrencyCommand.ts b/clients/client-connect/commands/UpdateRoutingProfileConcurrencyCommand.ts new file mode 100644 index 000000000000..27ff985f3b58 --- /dev/null +++ b/clients/client-connect/commands/UpdateRoutingProfileConcurrencyCommand.ts @@ -0,0 +1,76 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdateRoutingProfileConcurrencyRequest } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateRoutingProfileConcurrencyCommand, + serializeAws_restJson1UpdateRoutingProfileConcurrencyCommand, +} 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 UpdateRoutingProfileConcurrencyCommandInput = UpdateRoutingProfileConcurrencyRequest; +export type UpdateRoutingProfileConcurrencyCommandOutput = __MetadataBearer; + +export class UpdateRoutingProfileConcurrencyCommand extends $Command< + UpdateRoutingProfileConcurrencyCommandInput, + UpdateRoutingProfileConcurrencyCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateRoutingProfileConcurrencyCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateRoutingProfileConcurrencyRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: UpdateRoutingProfileConcurrencyCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateRoutingProfileConcurrencyCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1UpdateRoutingProfileConcurrencyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/UpdateRoutingProfileDefaultOutboundQueueCommand.ts b/clients/client-connect/commands/UpdateRoutingProfileDefaultOutboundQueueCommand.ts new file mode 100644 index 000000000000..bbda6a66860d --- /dev/null +++ b/clients/client-connect/commands/UpdateRoutingProfileDefaultOutboundQueueCommand.ts @@ -0,0 +1,79 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdateRoutingProfileDefaultOutboundQueueRequest } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateRoutingProfileDefaultOutboundQueueCommand, + serializeAws_restJson1UpdateRoutingProfileDefaultOutboundQueueCommand, +} 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 UpdateRoutingProfileDefaultOutboundQueueCommandInput = UpdateRoutingProfileDefaultOutboundQueueRequest; +export type UpdateRoutingProfileDefaultOutboundQueueCommandOutput = __MetadataBearer; + +export class UpdateRoutingProfileDefaultOutboundQueueCommand extends $Command< + UpdateRoutingProfileDefaultOutboundQueueCommandInput, + UpdateRoutingProfileDefaultOutboundQueueCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateRoutingProfileDefaultOutboundQueueCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + UpdateRoutingProfileDefaultOutboundQueueCommandInput, + UpdateRoutingProfileDefaultOutboundQueueCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateRoutingProfileDefaultOutboundQueueRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: UpdateRoutingProfileDefaultOutboundQueueCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateRoutingProfileDefaultOutboundQueueCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1UpdateRoutingProfileDefaultOutboundQueueCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/UpdateRoutingProfileNameCommand.ts b/clients/client-connect/commands/UpdateRoutingProfileNameCommand.ts new file mode 100644 index 000000000000..0da394880182 --- /dev/null +++ b/clients/client-connect/commands/UpdateRoutingProfileNameCommand.ts @@ -0,0 +1,70 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdateRoutingProfileNameRequest } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateRoutingProfileNameCommand, + serializeAws_restJson1UpdateRoutingProfileNameCommand, +} 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 UpdateRoutingProfileNameCommandInput = UpdateRoutingProfileNameRequest; +export type UpdateRoutingProfileNameCommandOutput = __MetadataBearer; + +export class UpdateRoutingProfileNameCommand extends $Command< + UpdateRoutingProfileNameCommandInput, + UpdateRoutingProfileNameCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateRoutingProfileNameCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateRoutingProfileNameRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateRoutingProfileNameCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateRoutingProfileNameCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateRoutingProfileNameCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/commands/UpdateRoutingProfileQueuesCommand.ts b/clients/client-connect/commands/UpdateRoutingProfileQueuesCommand.ts new file mode 100644 index 000000000000..46d80bee892d --- /dev/null +++ b/clients/client-connect/commands/UpdateRoutingProfileQueuesCommand.ts @@ -0,0 +1,73 @@ +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdateRoutingProfileQueuesRequest } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateRoutingProfileQueuesCommand, + serializeAws_restJson1UpdateRoutingProfileQueuesCommand, +} 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 UpdateRoutingProfileQueuesCommandInput = UpdateRoutingProfileQueuesRequest; +export type UpdateRoutingProfileQueuesCommandOutput = __MetadataBearer; + +export class UpdateRoutingProfileQueuesCommand extends $Command< + UpdateRoutingProfileQueuesCommandInput, + UpdateRoutingProfileQueuesCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateRoutingProfileQueuesCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateRoutingProfileQueuesRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateRoutingProfileQueuesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateRoutingProfileQueuesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1UpdateRoutingProfileQueuesCommand(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 d0700584cd05..13f9ca597515 100644 --- a/clients/client-connect/index.ts +++ b/clients/client-connect/index.ts @@ -1,10 +1,16 @@ export * from "./ConnectClient"; export * from "./Connect"; +export * from "./commands/AssociateRoutingProfileQueuesCommand"; +export * from "./commands/CreateContactFlowCommand"; +export * from "./commands/CreateRoutingProfileCommand"; export * from "./commands/CreateUserCommand"; export * from "./commands/DeleteUserCommand"; +export * from "./commands/DescribeContactFlowCommand"; +export * from "./commands/DescribeRoutingProfileCommand"; export * from "./commands/DescribeUserCommand"; export * from "./commands/DescribeUserHierarchyGroupCommand"; export * from "./commands/DescribeUserHierarchyStructureCommand"; +export * from "./commands/DisassociateRoutingProfileQueuesCommand"; export * from "./commands/GetContactAttributesCommand"; export * from "./commands/GetCurrentMetricDataCommand"; export * from "./pagination/GetCurrentMetricDataPaginator"; @@ -17,8 +23,12 @@ export * from "./commands/ListHoursOfOperationsCommand"; export * from "./pagination/ListHoursOfOperationsPaginator"; export * from "./commands/ListPhoneNumbersCommand"; export * from "./pagination/ListPhoneNumbersPaginator"; +export * from "./commands/ListPromptsCommand"; +export * from "./pagination/ListPromptsPaginator"; export * from "./commands/ListQueuesCommand"; export * from "./pagination/ListQueuesPaginator"; +export * from "./commands/ListRoutingProfileQueuesCommand"; +export * from "./pagination/ListRoutingProfileQueuesPaginator"; export * from "./commands/ListRoutingProfilesCommand"; export * from "./pagination/ListRoutingProfilesPaginator"; export * from "./commands/ListSecurityProfilesCommand"; @@ -38,6 +48,12 @@ export * from "./commands/SuspendContactRecordingCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateContactAttributesCommand"; +export * from "./commands/UpdateContactFlowContentCommand"; +export * from "./commands/UpdateContactFlowNameCommand"; +export * from "./commands/UpdateRoutingProfileConcurrencyCommand"; +export * from "./commands/UpdateRoutingProfileDefaultOutboundQueueCommand"; +export * from "./commands/UpdateRoutingProfileNameCommand"; +export * from "./commands/UpdateRoutingProfileQueuesCommand"; export * from "./commands/UpdateUserHierarchyCommand"; export * from "./commands/UpdateUserIdentityInfoCommand"; export * from "./commands/UpdateUserPhoneConfigCommand"; diff --git a/clients/client-connect/models/models_0.ts b/clients/client-connect/models/models_0.ts index d528f318dbf1..da74ce4dcd44 100644 --- a/clients/client-connect/models/models_0.ts +++ b/clients/client-connect/models/models_0.ts @@ -1,15 +1,404 @@ 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 channels agents can handle in the Contact Control Panel (CCP) for this routing + * profile.

                  + */ + Channel: Channel | string | undefined; + + /** + *

                  The identifier of the queue.

                  + */ + QueueId: 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 { + /** + *

                  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; + + /** + *

                  Contains information about a queue resource.

                  + */ + QueueReference: RoutingProfileQueueReference | 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 queues to associate with this routing profile.

                  + */ + QueueConfigs: RoutingProfileQueueConfig[] | undefined; + + /** + *

                  The identifier of the routing profile.

                  + */ + RoutingProfileId: string | undefined; +} + +export namespace AssociateRoutingProfileQueuesRequest { + export const filterSensitiveLog = (obj: AssociateRoutingProfileQueuesRequest): any => ({ + ...obj, + }); +} + +/** + *

                  Request processing failed due to an error or failure with the service.

                  + */ +export interface InternalServiceException extends __SmithyException, $MetadataBearer { + name: "InternalServiceException"; + $fault: "server"; + /** + *

                  The message.

                  + */ + Message?: string; +} + +export namespace InternalServiceException { + export const filterSensitiveLog = (obj: InternalServiceException): any => ({ + ...obj, + }); +} + +/** + *

                  One or more of the specified parameters are not valid.

                  + */ +export interface InvalidParameterException extends __SmithyException, $MetadataBearer { + name: "InvalidParameterException"; + $fault: "client"; + /** + *

                  The message.

                  + */ + Message?: string; +} + +export namespace InvalidParameterException { + export const filterSensitiveLog = (obj: InvalidParameterException): any => ({ + ...obj, + }); +} + +/** + *

                  The request is not valid.

                  + */ +export interface InvalidRequestException extends __SmithyException, $MetadataBearer { + name: "InvalidRequestException"; + $fault: "client"; + /** + *

                  The message.

                  + */ + Message?: string; +} + +export namespace InvalidRequestException { + export const filterSensitiveLog = (obj: InvalidRequestException): any => ({ + ...obj, + }); +} + +/** + *

                  The specified resource was not found.

                  + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + /** + *

                  The message.

                  + */ + Message?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +/** + *

                  The throttling limit has been exceeded.

                  + */ +export interface ThrottlingException extends __SmithyException, $MetadataBearer { + name: "ThrottlingException"; + $fault: "client"; + Message?: string; +} + +export namespace ThrottlingException { + export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + ...obj, + }); +} + +export enum ContactFlowType { + AGENT_HOLD = "AGENT_HOLD", + AGENT_TRANSFER = "AGENT_TRANSFER", + AGENT_WHISPER = "AGENT_WHISPER", + CONTACT_FLOW = "CONTACT_FLOW", + CUSTOMER_HOLD = "CUSTOMER_HOLD", + CUSTOMER_QUEUE = "CUSTOMER_QUEUE", + CUSTOMER_WHISPER = "CUSTOMER_WHISPER", + OUTBOUND_WHISPER = "OUTBOUND_WHISPER", + QUEUE_TRANSFER = "QUEUE_TRANSFER", +} + +export interface CreateContactFlowRequest { + /** + *

                  The description of the contact flow.

                  + */ + Description?: string; + + /** + *

                  The content of the contact flow. + * + *

                  + */ + Content: string | undefined; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; + + /** + *

                  The name of the contact flow.

                  + */ + Name: string | undefined; + + /** + *

                  The type of the contact flow. For descriptions of the available types, see Choose a Contact Flow Type in the Amazon Connect Administrator + * Guide.

                  + */ + Type: ContactFlowType | string | undefined; + + /** + *

                  One or more tags.

                  + */ + Tags?: { [key: string]: string }; +} + +export namespace CreateContactFlowRequest { + export const filterSensitiveLog = (obj: CreateContactFlowRequest): any => ({ + ...obj, + }); +} + +export interface CreateContactFlowResponse { + /** + *

                  The Amazon Resource Name (ARN) of the contact flow.

                  + */ + ContactFlowArn?: string; + + /** + *

                  The identifier of the contact flow.

                  + */ + ContactFlowId?: string; +} + +export namespace CreateContactFlowResponse { + export const filterSensitiveLog = (obj: CreateContactFlowResponse): any => ({ + ...obj, + }); +} + +/** + *

                  A resource with the specified name already exists.

                  + */ +export interface DuplicateResourceException extends __SmithyException, $MetadataBearer { + name: "DuplicateResourceException"; + $fault: "client"; + Message?: string; +} + +export namespace DuplicateResourceException { + export const filterSensitiveLog = (obj: DuplicateResourceException): any => ({ + ...obj, + }); +} + +/** + *

                  Information about a problem detail.

                  + */ +export interface ProblemDetail { + /** + *

                  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, + }); +} + +/** + *

                  Contains information about which channels are supported, and how many contacts an agent can + * have on a channel simultaneously.

                  + */ +export interface MediaConcurrency { + /** + *

                  The number of contacts an agent can have on a channel simultaneously.

                  + */ + Concurrency: number | undefined; + + /** + *

                  The channels that agents can handle in the Contact Control Panel (CCP).

                  + */ + Channel: Channel | string | undefined; +} + +export namespace MediaConcurrency { + export const filterSensitiveLog = (obj: MediaConcurrency): any => ({ + ...obj, + }); +} + +export interface CreateRoutingProfileRequest { + /** + *

                  The default outbound queue for the routing profile.

                  + */ + DefaultOutboundQueueId: string | undefined; + + /** + *

                  One or more tags.

                  + */ + Tags?: { [key: string]: string }; + + /** + *

                  The name of the routing profile. Must not be more than 127 characters.

                  + */ + Name: string | undefined; + + /** + *

                  Description of the routing profile. Must not be more than 250 characters.

                  + */ + Description: string | undefined; + + /** + *

                  The inbound queues associated with the routing profile. If no queue is added, the agent can + * only make outbound calls.

                  + */ + QueueConfigs?: RoutingProfileQueueConfig[]; + + /** + *

                  The channels agents can handle in the Contact Control Panel (CCP) for this routing + * profile.

                  + */ + MediaConcurrencies: MediaConcurrency[] | undefined; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; +} + +export namespace CreateRoutingProfileRequest { + export const filterSensitiveLog = (obj: CreateRoutingProfileRequest): any => ({ + ...obj, + }); +} + +export interface CreateRoutingProfileResponse { + /** + *

                  The identifier of the routing profile.

                  + */ + RoutingProfileId?: string; + + /** + *

                  The Amazon Resource Name (ARN) of the routing profile.

                  + */ + RoutingProfileArn?: string; +} + +export namespace CreateRoutingProfileResponse { + export const filterSensitiveLog = (obj: CreateRoutingProfileResponse): any => ({ + ...obj, + }); +} + /** *

                  Contains information about the identity of a user.

                  */ export interface UserIdentityInfo { /** - *

                  The first name. This is required if you are using Amazon Connect or SAML for identity - * management.

                  + *

                  The email address. If you are using SAML for identity management and include this parameter, + * an error is returned.

                  */ - FirstName?: string; + Email?: string; /** *

                  The last name. This is required if you are using Amazon Connect or SAML for identity @@ -18,10 +407,10 @@ export interface UserIdentityInfo { LastName?: string; /** - *

                  The email address. If you are using SAML for identity management and include this parameter, - * an error is returned.

                  + *

                  The first name. This is required if you are using Amazon Connect or SAML for identity + * management.

                  */ - Email?: string; + FirstName?: string; } export namespace UserIdentityInfo { @@ -40,14 +429,14 @@ export enum PhoneType { */ export interface UserPhoneConfig { /** - *

                  The Auto accept setting.

                  + *

                  The phone type.

                  */ - AutoAccept?: boolean; + PhoneType: PhoneType | string | undefined; /** - *

                  The phone type.

                  + *

                  The Auto accept setting.

                  */ - PhoneType: PhoneType | string | undefined; + AutoAccept?: boolean; /** *

                  The After Call Work (ACW) timeout setting, in seconds.

                  @@ -68,14 +457,14 @@ export namespace UserPhoneConfig { export interface CreateUserRequest { /** - *

                  One or more tags.

                  + *

                  The identifier of the security profile for the user.

                  */ - Tags?: { [key: string]: string }; + SecurityProfileIds: string[] | undefined; /** - *

                  The identifier of the security profile for the user.

                  + *

                  The phone settings for the user.

                  */ - SecurityProfileIds: string[] | undefined; + PhoneConfig: UserPhoneConfig | undefined; /** *

                  The identifier of the Amazon Connect instance.

                  @@ -83,9 +472,9 @@ export interface CreateUserRequest { InstanceId: string | undefined; /** - *

                  The phone settings for the user.

                  + *

                  The information about the identity of the user.

                  */ - PhoneConfig: UserPhoneConfig | undefined; + IdentityInfo?: UserIdentityInfo; /** *

                  The identifier of the hierarchy group for the user.

                  @@ -93,20 +482,14 @@ export interface CreateUserRequest { HierarchyGroupId?: string; /** - *

                  The identifier of the user account in the directory used for identity management. If Amazon Connect - * cannot access the directory, you can specify this identifier to authenticate users. If you - * include the identifier, we assume that Amazon Connect cannot access the directory. Otherwise, the identity - * information is used to authenticate users from your directory.

                  - *

                  This parameter is required if you are using an existing directory for identity management in - * Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for - * identity management and include this parameter, an error is returned.

                  + *

                  The identifier of the routing profile for the user.

                  */ - DirectoryUserId?: string; + RoutingProfileId: string | undefined; /** - *

                  The information about the identity of the user.

                  + *

                  One or more tags.

                  */ - IdentityInfo?: UserIdentityInfo; + Tags?: { [key: string]: string }; /** *

                  The password for the user account. A password is required if you are using Amazon Connect for @@ -115,9 +498,15 @@ export interface CreateUserRequest { Password?: string; /** - *

                  The identifier of the routing profile for the user.

                  + *

                  The identifier of the user account in the directory used for identity management. If Amazon Connect + * cannot access the directory, you can specify this identifier to authenticate users. If you + * include the identifier, we assume that Amazon Connect cannot access the directory. Otherwise, the identity + * information is used to authenticate users from your directory.

                  + *

                  This parameter is required if you are using an existing directory for identity management in + * Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for + * identity management and include this parameter, an error is returned.

                  */ - RoutingProfileId: string | undefined; + DirectoryUserId?: string; /** *

                  The user name for the account. For instances not using SAML for identity management, the @@ -151,154 +540,209 @@ export namespace CreateUserResponse { }); } -/** - *

                  A resource with the specified name already exists.

                  - */ -export interface DuplicateResourceException extends __SmithyException, $MetadataBearer { - name: "DuplicateResourceException"; - $fault: "client"; - Message?: string; +export interface DeleteUserRequest { + /** + *

                  The identifier of the user.

                  + */ + UserId: string | undefined; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; } -export namespace DuplicateResourceException { - export const filterSensitiveLog = (obj: DuplicateResourceException): any => ({ +export namespace DeleteUserRequest { + export const filterSensitiveLog = (obj: DeleteUserRequest): any => ({ ...obj, }); } /** - *

                  Request processing failed due to an error or failure with the service.

                  + *

                  The contact flow has not been published.

                  */ -export interface InternalServiceException extends __SmithyException, $MetadataBearer { - name: "InternalServiceException"; - $fault: "server"; - /** - *

                  The message.

                  - */ +export interface ContactFlowNotPublishedException extends __SmithyException, $MetadataBearer { + name: "ContactFlowNotPublishedException"; + $fault: "client"; Message?: string; } -export namespace InternalServiceException { - export const filterSensitiveLog = (obj: InternalServiceException): any => ({ +export namespace ContactFlowNotPublishedException { + export const filterSensitiveLog = (obj: ContactFlowNotPublishedException): any => ({ ...obj, }); } -/** - *

                  One or more of the specified parameters are not valid.

                  - */ -export interface InvalidParameterException extends __SmithyException, $MetadataBearer { - name: "InvalidParameterException"; - $fault: "client"; +export interface DescribeContactFlowRequest { /** - *

                  The message.

                  + *

                  The identifier of the contact flow.

                  */ - Message?: string; + ContactFlowId: string | undefined; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; } -export namespace InvalidParameterException { - export const filterSensitiveLog = (obj: InvalidParameterException): any => ({ +export namespace DescribeContactFlowRequest { + export const filterSensitiveLog = (obj: DescribeContactFlowRequest): any => ({ ...obj, }); } /** - *

                  The request is not valid.

                  + *

                  Contains information about a contact flow.

                  */ -export interface InvalidRequestException extends __SmithyException, $MetadataBearer { - name: "InvalidRequestException"; - $fault: "client"; +export interface ContactFlow { /** - *

                  The message.

                  + *

                  The identifier of the contact flow.

                  */ - Message?: string; + Id?: string; + + /** + *

                  The Amazon Resource Name (ARN) of the contact flow.

                  + */ + Arn?: string; + + /** + *

                  The description of the contact flow.

                  + */ + Description?: string; + + /** + *

                  The content of the contact flow.

                  + */ + Content?: string; + + /** + *

                  The type of the contact flow. For descriptions of the available types, see Choose a Contact Flow Type in the Amazon Connect Administrator + * Guide.

                  + */ + Type?: ContactFlowType | string; + + /** + *

                  One or more tags.

                  + */ + Tags?: { [key: string]: string }; + + /** + *

                  The name of the contact flow.

                  + */ + Name?: string; } -export namespace InvalidRequestException { - export const filterSensitiveLog = (obj: InvalidRequestException): any => ({ +export namespace ContactFlow { + export const filterSensitiveLog = (obj: ContactFlow): any => ({ ...obj, }); } -/** - *

                  The allowed limit for the resource has been exceeded.

                  - */ -export interface LimitExceededException extends __SmithyException, $MetadataBearer { - name: "LimitExceededException"; - $fault: "client"; +export interface DescribeContactFlowResponse { /** - *

                  The message.

                  + *

                  Information about the contact flow.

                  */ - Message?: string; + ContactFlow?: ContactFlow; } -export namespace LimitExceededException { - export const filterSensitiveLog = (obj: LimitExceededException): any => ({ +export namespace DescribeContactFlowResponse { + export const filterSensitiveLog = (obj: DescribeContactFlowResponse): any => ({ ...obj, }); } -/** - *

                  The specified resource was not found.

                  - */ -export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { - name: "ResourceNotFoundException"; - $fault: "client"; +export interface DescribeRoutingProfileRequest { /** - *

                  The message.

                  + *

                  The identifier of the Amazon Connect instance.

                  */ - Message?: string; + InstanceId: string | undefined; + + /** + *

                  The identifier of the routing profile.

                  + */ + RoutingProfileId: string | undefined; } -export namespace ResourceNotFoundException { - export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ +export namespace DescribeRoutingProfileRequest { + export const filterSensitiveLog = (obj: DescribeRoutingProfileRequest): any => ({ ...obj, }); } /** - *

                  The throttling limit has been exceeded.

                  + *

                  Contains information about a routing profile.

                  */ -export interface ThrottlingException extends __SmithyException, $MetadataBearer { - name: "ThrottlingException"; - $fault: "client"; - Message?: string; -} - -export namespace ThrottlingException { - export const filterSensitiveLog = (obj: ThrottlingException): any => ({ - ...obj, - }); -} +export interface RoutingProfile { + /** + *

                  The name of the routing profile.

                  + */ + Name?: string; -export interface DeleteUserRequest { /** *

                  The identifier of the Amazon Connect instance.

                  */ - InstanceId: string | undefined; + InstanceId?: string; /** - *

                  The identifier of the user.

                  + *

                  One or more tags.

                  */ - UserId: string | undefined; + Tags?: { [key: string]: string }; + + /** + *

                  The identifier of the default outbound queue for this routing profile.

                  + */ + DefaultOutboundQueueId?: string; + + /** + *

                  The Amazon Resource Name (ARN) of the routing profile.

                  + */ + RoutingProfileArn?: string; + + /** + *

                  The identifier of the routing profile.

                  + */ + RoutingProfileId?: string; + + /** + *

                  The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.

                  + */ + MediaConcurrencies?: MediaConcurrency[]; + + /** + *

                  The description of the routing profile.

                  + */ + Description?: string; } -export namespace DeleteUserRequest { - export const filterSensitiveLog = (obj: DeleteUserRequest): any => ({ +export namespace RoutingProfile { + export const filterSensitiveLog = (obj: RoutingProfile): any => ({ ...obj, }); } -export interface DescribeUserRequest { +export interface DescribeRoutingProfileResponse { /** - *

                  The identifier of the Amazon Connect instance.

                  + *

                  The routing profile.

                  */ - InstanceId: string | undefined; + RoutingProfile?: RoutingProfile; +} + +export namespace DescribeRoutingProfileResponse { + export const filterSensitiveLog = (obj: DescribeRoutingProfileResponse): any => ({ + ...obj, + }); +} +export interface DescribeUserRequest { /** *

                  The identifier of the user account.

                  */ UserId: string | undefined; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; } export namespace DescribeUserRequest { @@ -316,15 +760,20 @@ export interface User { */ DirectoryUserId?: string; + /** + *

                  The identifier of the routing profile for the user.

                  + */ + RoutingProfileId?: string; + /** *

                  Information about the user identity.

                  */ IdentityInfo?: UserIdentityInfo; /** - *

                  The identifiers of the security profiles for the user.

                  + *

                  The tags.

                  */ - SecurityProfileIds?: string[]; + Tags?: { [key: string]: string }; /** *

                  The identifier of the hierarchy group for the user.

                  @@ -332,29 +781,24 @@ export interface User { HierarchyGroupId?: string; /** - *

                  Information about the phone configuration for the user.

                  - */ - PhoneConfig?: UserPhoneConfig; - - /** - *

                  The tags.

                  + *

                  Information about the phone configuration for the user.

                  */ - Tags?: { [key: string]: string }; + PhoneConfig?: UserPhoneConfig; /** - *

                  The user name assigned to the user account.

                  + *

                  The Amazon Resource Name (ARN) of the user account.

                  */ - Username?: string; + Arn?: string; /** - *

                  The identifier of the routing profile for the user.

                  + *

                  The identifiers of the security profiles for the user.

                  */ - RoutingProfileId?: string; + SecurityProfileIds?: string[]; /** - *

                  The Amazon Resource Name (ARN) of the user account.

                  + *

                  The user name assigned to the user account.

                  */ - Arn?: string; + Username?: string; /** *

                  The identifier of the user account.

                  @@ -403,11 +847,6 @@ export namespace DescribeUserHierarchyGroupRequest { *

                  Contains summary information about a hierarchy group.

                  */ export interface HierarchyGroupSummary { - /** - *

                  The name of the hierarchy group.

                  - */ - Name?: string; - /** *

                  The identifier of the hierarchy group.

                  */ @@ -417,6 +856,11 @@ export interface HierarchyGroupSummary { *

                  The Amazon Resource Name (ARN) of the hierarchy group.

                  */ Arn?: string; + + /** + *

                  The name of the hierarchy group.

                  + */ + Name?: string; } export namespace HierarchyGroupSummary { @@ -430,24 +874,24 @@ export namespace HierarchyGroupSummary { */ export interface HierarchyPath { /** - *

                  Information about level two.

                  + *

                  Information about level four.

                  */ - LevelTwo?: HierarchyGroupSummary; + LevelFour?: HierarchyGroupSummary; /** - *

                  Information about level three.

                  + *

                  Information about level one.

                  */ - LevelThree?: HierarchyGroupSummary; + LevelOne?: HierarchyGroupSummary; /** - *

                  Information about level four.

                  + *

                  Information about level two.

                  */ - LevelFour?: HierarchyGroupSummary; + LevelTwo?: HierarchyGroupSummary; /** - *

                  Information about level one.

                  + *

                  Information about level three.

                  */ - LevelOne?: HierarchyGroupSummary; + LevelThree?: HierarchyGroupSummary; /** *

                  Information about level five.

                  @@ -466,9 +910,9 @@ export namespace HierarchyPath { */ export interface HierarchyGroup { /** - *

                  Information about the levels in the hierarchy group.

                  + *

                  The identifier of the hierarchy group.

                  */ - HierarchyPath?: HierarchyPath; + Id?: string; /** *

                  The Amazon Resource Name (ARN) of the hierarchy group.

                  @@ -486,9 +930,9 @@ export interface HierarchyGroup { Name?: string; /** - *

                  The identifier of the hierarchy group.

                  + *

                  Information about the levels in the hierarchy group.

                  */ - Id?: string; + HierarchyPath?: HierarchyPath; } export namespace HierarchyGroup { @@ -528,14 +972,14 @@ export namespace DescribeUserHierarchyStructureRequest { */ export interface HierarchyLevel { /** - *

                  The name of the hierarchy level.

                  + *

                  The Amazon Resource Name (ARN) of the hierarchy level.

                  */ - Name?: string; + Arn?: string; /** - *

                  The Amazon Resource Name (ARN) of the hierarchy level.

                  + *

                  The name of the hierarchy level.

                  */ - Arn?: string; + Name?: string; /** *

                  The identifier of the hierarchy level.

                  @@ -553,11 +997,6 @@ export namespace HierarchyLevel { *

                  Contains information about a hierarchy structure.

                  */ export interface HierarchyStructure { - /** - *

                  Information about level five.

                  - */ - LevelFive?: HierarchyLevel; - /** *

                  Information about level three.

                  */ @@ -568,15 +1007,20 @@ export interface HierarchyStructure { */ LevelTwo?: HierarchyLevel; + /** + *

                  Information about level one.

                  + */ + LevelOne?: HierarchyLevel; + /** *

                  Information about level four.

                  */ LevelFour?: HierarchyLevel; /** - *

                  Information about level one.

                  + *

                  Information about level five.

                  */ - LevelOne?: HierarchyLevel; + LevelFive?: HierarchyLevel; } export namespace HierarchyStructure { @@ -598,16 +1042,39 @@ export namespace DescribeUserHierarchyStructureResponse { }); } -export interface GetContactAttributesRequest { +export interface DisassociateRoutingProfileQueuesRequest { /** - *

                  The identifier of the initial contact.

                  + *

                  The identifier of the Amazon Connect instance.

                  */ - InitialContactId: string | undefined; + InstanceId: string | undefined; + + /** + *

                  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 GetContactAttributesRequest { /** *

                  The identifier of the Amazon Connect instance.

                  */ InstanceId: string | undefined; + + /** + *

                  The identifier of the initial contact.

                  + */ + InitialContactId: string | undefined; } export namespace GetContactAttributesRequest { @@ -657,14 +1124,14 @@ export enum Unit { */ export interface CurrentMetric { /** - *

                  The unit for the metric.

                  + *

                  The name of the metric.

                  */ - Unit?: Unit | string; + Name?: CurrentMetricName | string; /** - *

                  The name of the metric.

                  + *

                  The unit for the metric.

                  */ - Name?: CurrentMetricName | string; + Unit?: Unit | string; } export namespace CurrentMetric { @@ -673,11 +1140,6 @@ export namespace CurrentMetric { }); } -export enum Channel { - CHAT = "CHAT", - VOICE = "VOICE", -} - /** *

                  Contains the filter to apply when retrieving metrics.

                  */ @@ -706,24 +1168,6 @@ export enum Grouping { } export interface GetCurrentMetricDataRequest { - /** - *

                  The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is - * retrieved only for the resources associated with the queues or channels included in the filter. - * You can include both queue IDs and queue ARNs in the same request. The only supported channel is - * VOICE.

                  - */ - Filters: Filters | undefined; - - /** - *

                  The grouping applied to the metrics returned. For example, when grouped by - * QUEUE, the metrics returned apply to each queue rather than aggregated for all - * queues. If you group by CHANNEL, you should include a Channels filter. The only - * supported channel is VOICE.

                  - *

                  If no Grouping is included in the request, a summary of metrics is - * returned.

                  - */ - Groupings?: (Grouping | string)[]; - /** *

                  The maximimum number of results to return per page.

                  */ @@ -737,71 +1181,124 @@ export interface GetCurrentMetricDataRequest { */ NextToken?: string; + /** + *

                  The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is + * retrieved only for the resources associated with the queues or channels included in the filter. + * You can include both queue IDs and queue ARNs in the same request. Both VOICE and CHAT channels are supported.

                  + */ + Filters: Filters | undefined; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; + /** *

                  The metrics to retrieve. Specify the name and unit for each metric. The following metrics - * are available. For a description of each metric, see Real-time Metrics + * are available. For a description of all the metrics, see Real-time Metrics * Definitions in the Amazon Connect Administrator Guide.

                  *
                  *
                  AGENTS_AFTER_CONTACT_WORK
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: ACW + *

                  + * *
                  *
                  AGENTS_AVAILABLE
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: Available + *

                  *
                  *
                  AGENTS_ERROR
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: Error + *

                  *
                  *
                  AGENTS_NON_PRODUCTIVE
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: NPT (Non-Productive Time) + *

                  *
                  *
                  AGENTS_ON_CALL
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: On + * contact + *

                  *
                  *
                  AGENTS_ON_CONTACT
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: On + * contact + *

                  *
                  *
                  AGENTS_ONLINE
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: Online + *

                  *
                  *
                  AGENTS_STAFFED
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: Staffed + *

                  *
                  *
                  CONTACTS_IN_QUEUE
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: In + * queue + *

                  *
                  *
                  CONTACTS_SCHEDULED
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: Scheduled + *

                  *
                  *
                  OLDEST_CONTACT_AGE
                  *
                  *

                  Unit: SECONDS

                  + *

                  When you use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a + * response like this:

                  + *

                  + * { "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 + * }

                  + *

                  The actual OLDEST_CONTACT_AGE is 24 seconds.

                  + * + *

                  Name in real-time metrics report: Oldest + *

                  *
                  *
                  SLOTS_ACTIVE
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: Active + *

                  *
                  *
                  SLOTS_AVAILABLE
                  *
                  *

                  Unit: COUNT

                  + *

                  Name in real-time metrics report: Availability + *

                  *
                  *
                  */ CurrentMetrics: CurrentMetric[] | undefined; /** - *

                  The identifier of the Amazon Connect instance.

                  + *

                  The grouping applied to the metrics returned. For example, when grouped by + * QUEUE, the metrics returned apply to each queue rather than aggregated for all + * queues. If you group by CHANNEL, you should include a Channels filter. Both VOICE and CHAT channels are supported.

                  + *

                  If no Grouping is included in the request, a summary of metrics is + * returned.

                  */ - InstanceId: string | undefined; + Groupings?: (Grouping | string)[]; } export namespace GetCurrentMetricDataRequest { @@ -815,14 +1312,14 @@ export namespace GetCurrentMetricDataRequest { */ export interface CurrentMetricData { /** - *

                  The value of the metric.

                  + *

                  Information about the metric.

                  */ - Value?: number; + Metric?: CurrentMetric; /** - *

                  Information about the metric.

                  + *

                  The value of the metric.

                  */ - Metric?: CurrentMetric; + Value?: number; } export namespace CurrentMetricData { @@ -836,14 +1333,14 @@ export namespace CurrentMetricData { */ export interface QueueReference { /** - *

                  The Amazon Resource Name (ARN) of the queue.

                  + *

                  The identifier of the queue.

                  */ - Arn?: string; + Id?: string; /** - *

                  The identifier of the queue.

                  + *

                  The Amazon Resource Name (ARN) of the queue.

                  */ - Id?: string; + Arn?: string; } export namespace QueueReference { @@ -857,14 +1354,14 @@ export namespace QueueReference { */ export interface Dimensions { /** - *

                  The channel used for grouping and filters.

                  + *

                  Information about the queue for which metrics are returned.

                  */ - Channel?: Channel | string; + Queue?: QueueReference; /** - *

                  Information about the queue for which metrics are returned.

                  + *

                  The channel used for grouping and filters.

                  */ - Queue?: QueueReference; + Channel?: Channel | string; } export namespace Dimensions { @@ -895,11 +1392,6 @@ export namespace CurrentMetricResult { } export interface GetCurrentMetricDataResponse { - /** - *

                  Information about the real-time metrics.

                  - */ - MetricResults?: CurrentMetricResult[]; - /** *

                  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 @@ -907,6 +1399,11 @@ export interface GetCurrentMetricDataResponse { */ NextToken?: string; + /** + *

                  Information about the real-time metrics.

                  + */ + MetricResults?: CurrentMetricResult[]; + /** *

                  The time at which the metrics were retrieved and cached for pagination.

                  */ @@ -941,6 +1438,11 @@ export interface Credentials { */ RefreshTokenExpiration?: Date; + /** + *

                  Renews a token generated for a user to access the Amazon Connect instance.

                  + */ + RefreshToken?: string; + /** *

                  A token generated with an expiration time for the session a user is logged in to * Amazon Connect.

                  @@ -951,18 +1453,13 @@ export interface Credentials { *

                  An access token generated for a federated user to access Amazon Connect.

                  */ AccessToken?: string; - - /** - *

                  Renews a token generated for a user to access the Amazon Connect instance.

                  - */ - RefreshToken?: string; } export namespace Credentials { export const filterSensitiveLog = (obj: Credentials): any => ({ ...obj, - ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), ...(obj.RefreshToken && { RefreshToken: SENSITIVE_STRING }), + ...(obj.AccessToken && { AccessToken: SENSITIVE_STRING }), }); } @@ -1038,14 +1535,14 @@ export enum Comparison { */ export interface Threshold { /** - *

                  The type of comparison. Only "less than" (LT) comparisons are supported.

                  + *

                  The threshold value to compare.

                  */ - Comparison?: Comparison | string; + ThresholdValue?: number; /** - *

                  The threshold value to compare.

                  + *

                  The type of comparison. Only "less than" (LT) comparisons are supported.

                  */ - ThresholdValue?: number; + Comparison?: Comparison | string; } export namespace Threshold { @@ -1059,11 +1556,6 @@ export namespace Threshold { * Guide.

                  */ export interface HistoricalMetric { - /** - *

                  The statistic for the metric.

                  - */ - Statistic?: Statistic | string; - /** *

                  The threshold for the metric, used with service level metrics.

                  */ @@ -1074,6 +1566,11 @@ export interface HistoricalMetric { */ Name?: HistoricalMetricName | string; + /** + *

                  The statistic for the metric.

                  + */ + Statistic?: Statistic | string; + /** *

                  The unit for the metric.

                  */ @@ -1088,22 +1585,23 @@ export namespace HistoricalMetric { export interface GetMetricDataRequest { /** - *

                  The grouping applied to the metrics returned. For example, when results are grouped by - * queue, the metrics returned are grouped by queue. The values returned apply to the metrics for - * each queue rather than aggregated for all queues.

                  - *

                  The only supported grouping is QUEUE.

                  - *

                  If no grouping is specified, a summary of metrics for all queues is returned.

                  + *

                  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.

                  */ - Groupings?: (Grouping | string)[]; + NextToken?: string; /** - *

                  The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the - * retrieval of historical metrics data. The time must be specified using a multiple of 5 minutes, - * such as 10:05, 10:10, 10:15.

                  - *

                  The start time cannot be earlier than 24 hours before the time of the request. Historical - * metrics are available only for 24 hours.

                  + *

                  The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the + * retrieval of historical metrics data. The time must be specified using an interval of 5 minutes, + * such as 11:00, 11:05, 11:10, and must be later than the start time timestamp.

                  + *

                  The time range between the start and end time must be less than 24 hours.

                  */ - StartTime: Date | undefined; + EndTime: Date | undefined; + + /** + *

                  The maximimum number of results to return per page.

                  + */ + MaxResults?: number; /** *

                  The metrics to retrieve. Specify the name, unit, and statistic for each metric. The @@ -1242,34 +1740,32 @@ export interface GetMetricDataRequest { 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.

                  + *

                  The grouping applied to the metrics returned. For example, when results are grouped by + * queue, the metrics returned are grouped by queue. The values returned apply to the metrics for + * each queue rather than aggregated for all queues.

                  + *

                  The only supported grouping is QUEUE.

                  + *

                  If no grouping is specified, a summary of metrics for all queues is returned.

                  */ - MaxResults?: number; + Groupings?: (Grouping | string)[]; /** - *

                  The identifier of the Amazon Connect instance.

                  + *

                  The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the + * retrieval of historical metrics data. The time must be specified using a multiple of 5 minutes, + * such as 10:05, 10:10, 10:15.

                  + *

                  The start time cannot be earlier than 24 hours before the time of the request. Historical + * metrics are available only for 24 hours.

                  */ - InstanceId: string | undefined; + StartTime: Date | undefined; - /** - *

                  The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the - * retrieval of historical metrics data. The time must be specified using an interval of 5 minutes, - * such as 11:00, 11:05, 11:10, and must be later than the start time timestamp.

                  - *

                  The time range between the start and end time must be less than 24 hours.

                  + /** + *

                  The identifier of the Amazon Connect instance.

                  */ - EndTime: Date | undefined; + InstanceId: string | undefined; /** *

                  The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is * retrieved only for the resources associated with the queues or channels included in the filter. - * You can include both queue IDs and queue ARNs in the same request. The only supported channel is - * VOICE.

                  + * You can include both queue IDs and queue ARNs in the same request. Both VOICE and CHAT channels are supported.

                  */ Filters: Filters | undefined; } @@ -1306,14 +1802,14 @@ export namespace HistoricalMetricData { */ export interface HistoricalMetricResult { /** - *

                  The set of metrics.

                  + *

                  The dimension for the metrics.

                  */ - Collections?: HistoricalMetricData[]; + Dimensions?: Dimensions; /** - *

                  The dimension for the metrics.

                  + *

                  The set of metrics.

                  */ - Dimensions?: Dimensions; + Collections?: HistoricalMetricData[]; } export namespace HistoricalMetricResult { @@ -1343,39 +1839,27 @@ export namespace GetMetricDataResponse { }); } -export enum ContactFlowType { - AGENT_HOLD = "AGENT_HOLD", - AGENT_TRANSFER = "AGENT_TRANSFER", - AGENT_WHISPER = "AGENT_WHISPER", - CONTACT_FLOW = "CONTACT_FLOW", - CUSTOMER_HOLD = "CUSTOMER_HOLD", - CUSTOMER_QUEUE = "CUSTOMER_QUEUE", - CUSTOMER_WHISPER = "CUSTOMER_WHISPER", - OUTBOUND_WHISPER = "OUTBOUND_WHISPER", - QUEUE_TRANSFER = "QUEUE_TRANSFER", -} - export interface ListContactFlowsRequest { - /** - *

                  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; + /** *

                  The identifier of the Amazon Connect instance.

                  */ InstanceId: string | undefined; /** - *

                  The maximimum number of results to return per page.

                  + *

                  The type of contact flow.

                  */ - MaxResults?: number; + ContactFlowTypes?: (ContactFlowType | string)[]; } export namespace ListContactFlowsRequest { @@ -1386,27 +1870,29 @@ export namespace ListContactFlowsRequest { /** *

                  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 name of the contact flow.

                  - */ - Name?: string; - /** *

                  The type of contact flow.

                  */ ContactFlowType?: ContactFlowType | string; /** - *

                  The identifier of the contact flow.

                  + *

                  The name of the contact flow.

                  */ - Id?: string; + Name?: string; /** *

                  The Amazon Resource Name (ARN) of the contact flow.

                  */ Arn?: string; + + /** + *

                  The identifier of the contact flow.

                  + */ + Id?: string; } export namespace ContactFlowSummary { @@ -1467,14 +1953,14 @@ export interface HoursOfOperationSummary { Arn?: string; /** - *

                  The identifier of the hours of operation.

                  + *

                  The name of the hours of operation.

                  */ - Id?: string; + Name?: string; /** - *

                  The name of the hours of operation.

                  + *

                  The identifier of the hours of operation.

                  */ - Name?: string; + Id?: string; } export namespace HoursOfOperationSummary { @@ -1485,14 +1971,14 @@ export namespace HoursOfOperationSummary { export interface ListHoursOfOperationsResponse { /** - *

                  If there are additional results, this is the token for the next set of results.

                  + *

                  Information about the hours of operation.

                  */ - NextToken?: string; + HoursOfOperationSummaryList?: HoursOfOperationSummary[]; /** - *

                  Information about the hours of operation.

                  + *

                  If there are additional results, this is the token for the next set of results.

                  */ - HoursOfOperationSummaryList?: HoursOfOperationSummary[]; + NextToken?: string; } export namespace ListHoursOfOperationsResponse { @@ -1748,20 +2234,20 @@ export enum PhoneNumberType { export interface ListPhoneNumbersRequest { /** - *

                  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 type of phone number.

                  */ - NextToken?: string; + PhoneNumberTypes?: (PhoneNumberType | string)[]; /** - *

                  The type of phone number.

                  + *

                  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.

                  */ - PhoneNumberTypes?: (PhoneNumberType | string)[]; + NextToken?: string; /** - *

                  The ISO country code.

                  + *

                  The maximimum number of results to return per page.

                  */ - PhoneNumberCountryCodes?: (PhoneNumberCountryCode | string)[]; + MaxResults?: number; /** *

                  The identifier of the Amazon Connect instance.

                  @@ -1769,9 +2255,9 @@ export interface ListPhoneNumbersRequest { InstanceId: string | undefined; /** - *

                  The maximimum number of results to return per page.

                  + *

                  The ISO country code.

                  */ - MaxResults?: number; + PhoneNumberCountryCodes?: (PhoneNumberCountryCode | string)[]; } export namespace ListPhoneNumbersRequest { @@ -1784,16 +2270,6 @@ export namespace ListPhoneNumbersRequest { *

                  Contains summary information about a phone number for a contact center.

                  */ export interface PhoneNumberSummary { - /** - *

                  The phone number.

                  - */ - PhoneNumber?: string; - - /** - *

                  The Amazon Resource Name (ARN) of the phone number.

                  - */ - Arn?: string; - /** *

                  The type of phone number.

                  */ @@ -1804,10 +2280,20 @@ export interface PhoneNumberSummary { */ Id?: string; + /** + *

                  The Amazon Resource Name (ARN) of the phone number.

                  + */ + Arn?: string; + /** *

                  The ISO country code.

                  */ PhoneNumberCountryCode?: PhoneNumberCountryCode | string; + + /** + *

                  The phone number.

                  + */ + PhoneNumber?: string; } export namespace PhoneNumberSummary { @@ -1817,19 +2303,87 @@ export namespace PhoneNumberSummary { } export interface ListPhoneNumbersResponse { + /** + *

                  If there are additional results, this is the token for the next set of results.

                  + */ + NextToken?: string; + /** *

                  Information about the phone numbers.

                  */ PhoneNumberSummaryList?: PhoneNumberSummary[]; +} + +export namespace ListPhoneNumbersResponse { + export const filterSensitiveLog = (obj: ListPhoneNumbersResponse): any => ({ + ...obj, + }); +} + +export interface ListPromptsRequest { + /** + *

                  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 maximum number of results to return per page.

                  + */ + MaxResults?: number; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; +} + +export namespace ListPromptsRequest { + export const filterSensitiveLog = (obj: ListPromptsRequest): any => ({ + ...obj, + }); +} + +/** + *

                  Contains information about the prompt.

                  + */ +export interface PromptSummary { + /** + *

                  The Amazon Resource Name (ARN) of the prompt.

                  + */ + Arn?: string; + + /** + *

                  The identifier of the prompt.

                  + */ + Id?: string; + + /** + *

                  The name of the prompt.

                  + */ + Name?: string; +} + +export namespace PromptSummary { + export const filterSensitiveLog = (obj: PromptSummary): any => ({ + ...obj, + }); +} +export interface ListPromptsResponse { /** *

                  If there are additional results, this is the token for the next set of results.

                  */ NextToken?: string; + + /** + *

                  Information about the prompts.

                  + */ + PromptSummaryList?: PromptSummary[]; } -export namespace ListPhoneNumbersResponse { - export const filterSensitiveLog = (obj: ListPhoneNumbersResponse): any => ({ +export namespace ListPromptsResponse { + export const filterSensitiveLog = (obj: ListPromptsResponse): any => ({ ...obj, }); } @@ -1872,25 +2426,25 @@ export namespace ListQueuesRequest { *

                  Contains summary information about a queue.

                  */ export interface QueueSummary { - /** - *

                  The name of the queue.

                  - */ - Name?: string; - /** *

                  The type of queue.

                  */ QueueType?: QueueType | string; /** - *

                  The Amazon Resource Name (ARN) of the queue.

                  + *

                  The name of the queue.

                  */ - Arn?: string; + Name?: string; /** *

                  The identifier of the queue.

                  */ Id?: string; + + /** + *

                  The Amazon Resource Name (ARN) of the queue.

                  + */ + Arn?: string; } export namespace QueueSummary { @@ -1917,6 +2471,97 @@ export namespace ListQueuesResponse { }); } +export interface ListRoutingProfileQueuesRequest { + /** + *

                  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 identifier of the routing profile.

                  + */ + RoutingProfileId: string | undefined; + + /** + *

                  The maximimum number of results to return per page.

                  + */ + MaxResults?: number; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; +} + +export namespace ListRoutingProfileQueuesRequest { + export const filterSensitiveLog = (obj: ListRoutingProfileQueuesRequest): any => ({ + ...obj, + }); +} + +/** + *

                  Contains summary information about a routing profile queue.

                  + */ +export interface RoutingProfileQueueConfigSummary { + /** + *

                  The channels this queue supports.

                  + */ + Channel: Channel | string | 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 identifier of the queue.

                  + */ + QueueId: string | undefined; + + /** + *

                  The delay, in seconds, that 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; + + /** + *

                  The Amazon Resource Name (ARN) of the queue.

                  + */ + QueueArn: string | undefined; + + /** + *

                  The name of the queue.

                  + */ + QueueName: string | undefined; +} + +export namespace RoutingProfileQueueConfigSummary { + export const filterSensitiveLog = (obj: RoutingProfileQueueConfigSummary): any => ({ + ...obj, + }); +} + +export interface ListRoutingProfileQueuesResponse { + /** + *

                  If there are additional results, this is the token for the next set of results.

                  + */ + NextToken?: string; + + /** + *

                  Information about the routing profiles.

                  + */ + RoutingProfileQueueConfigSummaryList?: RoutingProfileQueueConfigSummary[]; +} + +export namespace ListRoutingProfileQueuesResponse { + export const filterSensitiveLog = (obj: ListRoutingProfileQueuesResponse): any => ({ + ...obj, + }); +} + export interface ListRoutingProfilesRequest { /** *

                  The token for the next set of results. Use the value returned in the previous @@ -1946,14 +2591,14 @@ export namespace ListRoutingProfilesRequest { */ export interface RoutingProfileSummary { /** - *

                  The name of the routing profile.

                  + *

                  The identifier of the routing profile.

                  */ - Name?: string; + Id?: string; /** - *

                  The identifier of the routing profile.

                  + *

                  The name of the routing profile.

                  */ - Id?: string; + Name?: string; /** *

                  The Amazon Resource Name (ARN) of the routing profile.

                  @@ -1969,14 +2614,14 @@ export namespace RoutingProfileSummary { export interface ListRoutingProfilesResponse { /** - *

                  If there are additional results, this is the token for the next set of results.

                  + *

                  Information about the routing profiles.

                  */ - NextToken?: string; + RoutingProfileSummaryList?: RoutingProfileSummary[]; /** - *

                  Information about the routing profiles.

                  + *

                  If there are additional results, this is the token for the next set of results.

                  */ - RoutingProfileSummaryList?: RoutingProfileSummary[]; + NextToken?: string; } export namespace ListRoutingProfilesResponse { @@ -1991,16 +2636,16 @@ export interface ListSecurityProfilesRequest { */ InstanceId: string | undefined; - /** - *

                  The maximimum number of results to return per page.

                  - */ - MaxResults?: number; - /** *

                  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 ListSecurityProfilesRequest { @@ -2014,14 +2659,14 @@ export namespace ListSecurityProfilesRequest { */ export interface SecurityProfileSummary { /** - *

                  The identifier of the security profile.

                  + *

                  The name of the security profile.

                  */ - Id?: string; + Name?: string; /** - *

                  The name of the security profile.

                  + *

                  The identifier of the security profile.

                  */ - Name?: string; + Id?: string; /** *

                  The Amazon Resource Name (ARN) of the security profile.

                  @@ -2086,15 +2731,15 @@ export interface ListUserHierarchyGroupsRequest { MaxResults?: number; /** - *

                  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 identifier of the Amazon Connect instance.

                  */ - NextToken?: string; + InstanceId: string | undefined; /** - *

                  The identifier of the Amazon Connect instance.

                  + *

                  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.

                  */ - InstanceId: string | undefined; + NextToken?: string; } export namespace ListUserHierarchyGroupsRequest { @@ -2122,6 +2767,12 @@ export namespace ListUserHierarchyGroupsResponse { } export interface ListUsersRequest { + /** + *

                  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 identifier of the Amazon Connect instance.

                  */ @@ -2131,12 +2782,6 @@ export interface ListUsersRequest { *

                  The maximimum number of results to return per page.

                  */ MaxResults?: number; - - /** - *

                  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; } export namespace ListUsersRequest { @@ -2149,11 +2794,6 @@ export namespace ListUsersRequest { *

                  Contains summary information about a user.

                  */ export interface UserSummary { - /** - *

                  The Amazon Connect user name of the user account.

                  - */ - Username?: string; - /** *

                  The Amazon Resource Name (ARN) of the user account.

                  */ @@ -2163,6 +2803,11 @@ export interface UserSummary { *

                  The identifier of the user account.

                  */ Id?: string; + + /** + *

                  The Amazon Connect user name of the user account.

                  + */ + Username?: string; } export namespace UserSummary { @@ -2190,11 +2835,6 @@ export namespace ListUsersResponse { } export interface ResumeContactRecordingRequest { - /** - *

                  The identifier of the contact.

                  - */ - ContactId: string | undefined; - /** *

                  The identifier of the contact. This is the identifier of the contact associated with the * first interaction with the contact center.

                  @@ -2205,6 +2845,11 @@ export interface ResumeContactRecordingRequest { *

                  The identifier of the Amazon Connect instance.

                  */ InstanceId: string | undefined; + + /** + *

                  The identifier of the contact.

                  + */ + ContactId: string | undefined; } export namespace ResumeContactRecordingRequest { @@ -2226,14 +2871,14 @@ export namespace ResumeContactRecordingResponse { */ export interface ChatMessage { /** - *

                  The content of the chat message.

                  + *

                  The type of the content. Supported types are text/plain.

                  */ - Content: string | undefined; + ContentType: string | undefined; /** - *

                  The type of the content. Supported types are text/plain.

                  + *

                  The content of the chat message.

                  */ - ContentType: string | undefined; + Content: string | undefined; } export namespace ChatMessage { @@ -2260,25 +2905,31 @@ export namespace ParticipantDetails { export interface StartChatContactRequest { /** - *

                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                  + *

                  The identifier of the contact flow for initiating the chat. To see the ContactFlowId in the + * Amazon Connect console user interface, on the navigation menu go to Routing, Contact Flows. Choose the contact flow. On + * the contact flow page, under the name of the contact flow, choose Show + * additional flow information. The ContactFlowId is the last part of the ARN, shown + * here in bold:

                  + *

                  arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx + *

                  */ - ClientToken?: string; + ContactFlowId: string | undefined; /** - *

                  The identifier of the Amazon Connect instance.

                  + *

                  The initial message to be sent to the newly created chat.

                  */ - InstanceId: string | undefined; + InitialMessage?: ChatMessage; /** - *

                  The initial message to be sent to the newly created chat.

                  + *

                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                  */ - InitialMessage?: ChatMessage; + ClientToken?: string; /** - *

                  The identifier of the contact flow for the chat.

                  + *

                  The identifier of the Amazon Connect instance.

                  */ - ContactFlowId: string | undefined; + InstanceId: string | undefined; /** *

                  A custom key-value pair using an attribute map. The attributes are standard Amazon Connect @@ -2429,6 +3080,11 @@ export interface StartOutboundVoiceContactRequest { */ QueueId?: string; + /** + *

                  The phone number of the customer, in E.164 format.

                  + */ + DestinationPhoneNumber: string | undefined; + /** *

                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the * request. The token is valid for 7 days after creation. If a contact is already started, the @@ -2437,9 +3093,9 @@ export interface StartOutboundVoiceContactRequest { ClientToken?: string; /** - *

                  The phone number of the customer, in E.164 format.

                  + *

                  The identifier of the Amazon Connect instance.

                  */ - DestinationPhoneNumber: string | undefined; + InstanceId: string | undefined; /** *

                  The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify @@ -2448,15 +3104,16 @@ export interface StartOutboundVoiceContactRequest { SourcePhoneNumber?: string; /** - *

                  The identifier of the contact flow for the outbound call.

                  + *

                  The identifier of the contact flow for the outbound call. To see the ContactFlowId in the + * Amazon Connect console user interface, on the navigation menu go to Routing, Contact Flows. Choose the contact flow. On + * the contact flow page, under the name of the contact flow, choose Show + * additional flow information. The ContactFlowId is the last part of the ARN, shown + * here in bold:

                  + *

                  arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx + *

                  */ ContactFlowId: string | undefined; - /** - *

                  The identifier of the Amazon Connect instance.

                  - */ - InstanceId: string | undefined; - /** *

                  A custom key-value pair using an attribute map. The attributes are standard Amazon Connect * attributes, and can be accessed in contact flows just like any other contact attributes.

                  @@ -2505,14 +3162,14 @@ export namespace ContactNotFoundException { export interface StopContactRequest { /** - *

                  The identifier of the Amazon Connect instance.

                  + *

                  The ID of the contact.

                  */ - InstanceId: string | undefined; + ContactId: string | undefined; /** - *

                  The ID of the contact.

                  + *

                  The identifier of the Amazon Connect instance.

                  */ - ContactId: string | undefined; + InstanceId: string | undefined; } export namespace StopContactRequest { @@ -2664,21 +3321,169 @@ export namespace UpdateContactAttributesResponse { }); } -export interface UpdateUserHierarchyRequest { +export interface UpdateContactFlowContentRequest { /** - *

                  The identifier of the hierarchy group.

                  + *

                  The identifier of the contact flow.

                  */ - HierarchyGroupId?: string; + ContactFlowId: string | undefined; /** - *

                  The identifier of the user account.

                  + *

                  The JSON string that represents contact flow’s content. For an example, see Example contact flow in Amazon Connect Flow language in the Amazon Connect Administrator Guide.

                  */ - UserId: string | undefined; + Content: string | undefined; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; +} + +export namespace UpdateContactFlowContentRequest { + export const filterSensitiveLog = (obj: UpdateContactFlowContentRequest): any => ({ + ...obj, + }); +} + +export interface UpdateContactFlowNameRequest { + /** + *

                  The name of the contact flow.

                  + */ + Name?: string; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; + + /** + *

                  The description of the contact flow.

                  + */ + Description?: string; + + /** + *

                  The identifier of the contact flow.

                  + */ + ContactFlowId: string | undefined; +} + +export namespace UpdateContactFlowNameRequest { + export const filterSensitiveLog = (obj: UpdateContactFlowNameRequest): any => ({ + ...obj, + }); +} + +export interface UpdateRoutingProfileConcurrencyRequest { + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; + + /** + *

                  The identifier of the routing profile.

                  + */ + RoutingProfileId: string | undefined; + + /** + *

                  The channels agents can handle in the Contact Control Panel (CCP).

                  + */ + MediaConcurrencies: MediaConcurrency[] | undefined; +} + +export namespace UpdateRoutingProfileConcurrencyRequest { + export const filterSensitiveLog = (obj: UpdateRoutingProfileConcurrencyRequest): any => ({ + ...obj, + }); +} + +export interface UpdateRoutingProfileDefaultOutboundQueueRequest { + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; + + /** + *

                  The identifier for the default outbound queue.

                  + */ + DefaultOutboundQueueId: string | undefined; + + /** + *

                  The identifier of the routing profile.

                  + */ + RoutingProfileId: string | undefined; +} + +export namespace UpdateRoutingProfileDefaultOutboundQueueRequest { + export const filterSensitiveLog = (obj: UpdateRoutingProfileDefaultOutboundQueueRequest): any => ({ + ...obj, + }); +} + +export interface UpdateRoutingProfileNameRequest { + /** + *

                  The description of the routing profile. Must not be more than 250 characters.

                  + */ + Description?: string; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; + + /** + *

                  The name of the routing profile. Must not be more than 127 characters.

                  + */ + Name?: string; + + /** + *

                  The identifier of the routing profile.

                  + */ + RoutingProfileId: string | undefined; +} + +export namespace UpdateRoutingProfileNameRequest { + export const filterSensitiveLog = (obj: UpdateRoutingProfileNameRequest): any => ({ + ...obj, + }); +} + +export interface UpdateRoutingProfileQueuesRequest { + /** + *

                  The queues to be updated for this routing profile.

                  + */ + QueueConfigs: RoutingProfileQueueConfig[] | undefined; + + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; + + /** + *

                  The identifier of the routing profile.

                  + */ + RoutingProfileId: string | undefined; +} + +export namespace UpdateRoutingProfileQueuesRequest { + export const filterSensitiveLog = (obj: UpdateRoutingProfileQueuesRequest): any => ({ + ...obj, + }); +} +export interface UpdateUserHierarchyRequest { /** *

                  The identifier of the Amazon Connect instance.

                  */ InstanceId: string | undefined; + + /** + *

                  The identifier of the hierarchy group.

                  + */ + HierarchyGroupId?: string; + + /** + *

                  The identifier of the user account.

                  + */ + UserId: string | undefined; } export namespace UpdateUserHierarchyRequest { @@ -2734,6 +3539,11 @@ export namespace UpdateUserPhoneConfigRequest { } export interface UpdateUserRoutingProfileRequest { + /** + *

                  The identifier of the routing profile for the user.

                  + */ + RoutingProfileId: string | undefined; + /** *

                  The identifier of the user account.

                  */ @@ -2743,11 +3553,6 @@ export interface UpdateUserRoutingProfileRequest { *

                  The identifier of the Amazon Connect instance.

                  */ InstanceId: string | undefined; - - /** - *

                  The identifier of the routing profile for the user.

                  - */ - RoutingProfileId: string | undefined; } export namespace UpdateUserRoutingProfileRequest { @@ -2757,6 +3562,11 @@ export namespace UpdateUserRoutingProfileRequest { } export interface UpdateUserSecurityProfilesRequest { + /** + *

                  The identifier of the Amazon Connect instance.

                  + */ + InstanceId: string | undefined; + /** *

                  The identifiers of the security profiles for the user.

                  */ @@ -2766,11 +3576,6 @@ export interface UpdateUserSecurityProfilesRequest { *

                  The identifier of the user account.

                  */ UserId: string | undefined; - - /** - *

                  The identifier of the Amazon Connect instance.

                  - */ - InstanceId: string | undefined; } export namespace UpdateUserSecurityProfilesRequest { diff --git a/clients/client-connect/pagination/ListPromptsPaginator.ts b/clients/client-connect/pagination/ListPromptsPaginator.ts new file mode 100644 index 000000000000..0a8d66821682 --- /dev/null +++ b/clients/client-connect/pagination/ListPromptsPaginator.ts @@ -0,0 +1,47 @@ +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { ListPromptsCommand, ListPromptsCommandInput, ListPromptsCommandOutput } from "../commands/ListPromptsCommand"; +import { ConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListPromptsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPromptsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Connect, + input: ListPromptsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPrompts(input, ...args); +}; +export async function* listPromptsPaginate( + config: ConnectPaginationConfiguration, + input: ListPromptsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPromptsCommandOutput; + 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/ListRoutingProfileQueuesPaginator.ts b/clients/client-connect/pagination/ListRoutingProfileQueuesPaginator.ts new file mode 100644 index 000000000000..03bd2217daa5 --- /dev/null +++ b/clients/client-connect/pagination/ListRoutingProfileQueuesPaginator.ts @@ -0,0 +1,51 @@ +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { + ListRoutingProfileQueuesCommand, + ListRoutingProfileQueuesCommandInput, + ListRoutingProfileQueuesCommandOutput, +} from "../commands/ListRoutingProfileQueuesCommand"; +import { ConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListRoutingProfileQueuesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListRoutingProfileQueuesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Connect, + input: ListRoutingProfileQueuesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listRoutingProfileQueues(input, ...args); +}; +export async function* listRoutingProfileQueuesPaginate( + config: ConnectPaginationConfiguration, + input: ListRoutingProfileQueuesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListRoutingProfileQueuesCommandOutput; + 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 9b3e0d1812e5..80f479000f61 100644 --- a/clients/client-connect/protocols/Aws_restJson1.ts +++ b/clients/client-connect/protocols/Aws_restJson1.ts @@ -1,5 +1,22 @@ +import { + AssociateRoutingProfileQueuesCommandInput, + AssociateRoutingProfileQueuesCommandOutput, +} from "../commands/AssociateRoutingProfileQueuesCommand"; +import { CreateContactFlowCommandInput, CreateContactFlowCommandOutput } from "../commands/CreateContactFlowCommand"; +import { + CreateRoutingProfileCommandInput, + CreateRoutingProfileCommandOutput, +} from "../commands/CreateRoutingProfileCommand"; import { CreateUserCommandInput, CreateUserCommandOutput } from "../commands/CreateUserCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "../commands/DeleteUserCommand"; +import { + DescribeContactFlowCommandInput, + DescribeContactFlowCommandOutput, +} from "../commands/DescribeContactFlowCommand"; +import { + DescribeRoutingProfileCommandInput, + DescribeRoutingProfileCommandOutput, +} from "../commands/DescribeRoutingProfileCommand"; import { DescribeUserCommandInput, DescribeUserCommandOutput } from "../commands/DescribeUserCommand"; import { DescribeUserHierarchyGroupCommandInput, @@ -9,6 +26,10 @@ import { DescribeUserHierarchyStructureCommandInput, DescribeUserHierarchyStructureCommandOutput, } from "../commands/DescribeUserHierarchyStructureCommand"; +import { + DisassociateRoutingProfileQueuesCommandInput, + DisassociateRoutingProfileQueuesCommandOutput, +} from "../commands/DisassociateRoutingProfileQueuesCommand"; import { GetContactAttributesCommandInput, GetContactAttributesCommandOutput, @@ -25,7 +46,12 @@ import { ListHoursOfOperationsCommandOutput, } from "../commands/ListHoursOfOperationsCommand"; import { ListPhoneNumbersCommandInput, ListPhoneNumbersCommandOutput } from "../commands/ListPhoneNumbersCommand"; +import { ListPromptsCommandInput, ListPromptsCommandOutput } from "../commands/ListPromptsCommand"; import { ListQueuesCommandInput, ListQueuesCommandOutput } from "../commands/ListQueuesCommand"; +import { + ListRoutingProfileQueuesCommandInput, + ListRoutingProfileQueuesCommandOutput, +} from "../commands/ListRoutingProfileQueuesCommand"; import { ListRoutingProfilesCommandInput, ListRoutingProfilesCommandOutput, @@ -71,6 +97,30 @@ import { UpdateContactAttributesCommandInput, UpdateContactAttributesCommandOutput, } from "../commands/UpdateContactAttributesCommand"; +import { + UpdateContactFlowContentCommandInput, + UpdateContactFlowContentCommandOutput, +} from "../commands/UpdateContactFlowContentCommand"; +import { + UpdateContactFlowNameCommandInput, + UpdateContactFlowNameCommandOutput, +} from "../commands/UpdateContactFlowNameCommand"; +import { + UpdateRoutingProfileConcurrencyCommandInput, + UpdateRoutingProfileConcurrencyCommandOutput, +} from "../commands/UpdateRoutingProfileConcurrencyCommand"; +import { + UpdateRoutingProfileDefaultOutboundQueueCommandInput, + UpdateRoutingProfileDefaultOutboundQueueCommandOutput, +} from "../commands/UpdateRoutingProfileDefaultOutboundQueueCommand"; +import { + UpdateRoutingProfileNameCommandInput, + UpdateRoutingProfileNameCommandOutput, +} from "../commands/UpdateRoutingProfileNameCommand"; +import { + UpdateRoutingProfileQueuesCommandInput, + UpdateRoutingProfileQueuesCommandOutput, +} from "../commands/UpdateRoutingProfileQueuesCommand"; import { UpdateUserHierarchyCommandInput, UpdateUserHierarchyCommandOutput, @@ -94,6 +144,8 @@ import { import { Channel, ChatMessage, + ContactFlow, + ContactFlowNotPublishedException, ContactFlowSummary, ContactNotFoundException, Credentials, @@ -115,15 +167,23 @@ import { HistoricalMetricResult, HoursOfOperationSummary, InternalServiceException, + InvalidContactFlowException, InvalidParameterException, InvalidRequestException, LimitExceededException, + MediaConcurrency, OutboundContactNotPermittedException, ParticipantDetails, PhoneNumberSummary, + ProblemDetail, + PromptSummary, QueueReference, QueueSummary, ResourceNotFoundException, + RoutingProfile, + RoutingProfileQueueConfig, + RoutingProfileQueueConfigSummary, + RoutingProfileQueueReference, RoutingProfileSummary, SecurityProfileSummary, Threshold, @@ -148,6 +208,129 @@ import { } from "@aws-sdk/types"; import { v4 as generateIdempotencyToken } from "uuid"; +export const serializeAws_restJson1AssociateRoutingProfileQueuesCommand = async ( + input: AssociateRoutingProfileQueuesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/associate-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_restJson1CreateContactFlowCommand = async ( + input: CreateContactFlowCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/contact-flows/{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.Content !== undefined && { Content: input.Content }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagMap(input.Tags, context) }), + ...(input.Type !== undefined && { Type: input.Type }), + }); + 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 +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/routing-profiles/{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.DefaultOutboundQueueId !== undefined && { DefaultOutboundQueueId: input.DefaultOutboundQueueId }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.MediaConcurrencies !== undefined && { + MediaConcurrencies: serializeAws_restJson1MediaConcurrencies(input.MediaConcurrencies, context), + }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.QueueConfigs !== undefined && { + QueueConfigs: serializeAws_restJson1RoutingProfileQueueConfigList(input.QueueConfigs, context), + }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagMap(input.Tags, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateUserCommand = async ( input: CreateUserCommandInput, context: __SerdeContext @@ -203,6 +386,15 @@ export const serializeAws_restJson1DeleteUserCommand = async ( "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."); + } if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -212,14 +404,44 @@ export const serializeAws_restJson1DeleteUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; + 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_restJson1DescribeContactFlowCommand = async ( + input: DescribeContactFlowCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/contact-flows/{InstanceId}/{ContactFlowId}"; + if (input.ContactFlowId !== undefined) { + const labelValue: string = input.ContactFlowId; 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: ContactFlowId."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ContactFlowId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + throw new Error("No value provided for input HTTP label: ContactFlowId."); + } + 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(); @@ -227,21 +449,21 @@ export const serializeAws_restJson1DeleteUserCommand = async ( protocol, hostname, port, - method: "DELETE", + method: "GET", headers, path: resolvedPath, body, }); }; -export const serializeAws_restJson1DescribeUserCommand = async ( - input: DescribeUserCommandInput, +export const serializeAws_restJson1DescribeRoutingProfileCommand = async ( + input: DescribeRoutingProfileCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/users/{InstanceId}/{UserId}"; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -251,6 +473,36 @@ export const serializeAws_restJson1DescribeUserCommand = 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({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DescribeUserCommand = async ( + input: DescribeUserCommandInput, + 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) { @@ -260,6 +512,15 @@ export const serializeAws_restJson1DescribeUserCommand = async ( } 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; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -342,23 +603,58 @@ export const serializeAws_restJson1DescribeUserHierarchyStructureCommand = async }); }; -export const serializeAws_restJson1GetContactAttributesCommand = async ( - input: GetContactAttributesCommandInput, +export const serializeAws_restJson1DisassociateRoutingProfileQueuesCommand = async ( + input: DisassociateRoutingProfileQueuesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "", + "Content-Type": "application/json", }; - let resolvedPath = "/contact/attributes/{InstanceId}/{InitialContactId}"; - if (input.InitialContactId !== undefined) { - const labelValue: string = input.InitialContactId; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/disassociate-queues"; + if (input.InstanceId !== undefined) { + const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InitialContactId."); + throw new Error("Empty value provided for input HTTP label: InstanceId."); } - resolvedPath = resolvedPath.replace("{InitialContactId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: InitialContactId."); + 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.QueueReferences !== undefined && { + QueueReferences: serializeAws_restJson1RoutingProfileQueueReferenceList(input.QueueReferences, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1GetContactAttributesCommand = async ( + input: GetContactAttributesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/contact/attributes/{InstanceId}/{InitialContactId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -368,6 +664,15 @@ 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({ @@ -509,11 +814,11 @@ export const serializeAws_restJson1ListContactFlowsCommand = 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.ContactFlowTypes !== undefined && { contactFlowTypes: (input.ContactFlowTypes || []).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(); @@ -582,14 +887,14 @@ export const serializeAws_restJson1ListPhoneNumbersCommand = async ( throw new Error("No value provided for input HTTP label: InstanceId."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.PhoneNumberTypes !== undefined && { phoneNumberTypes: (input.PhoneNumberTypes || []).map((_entry) => _entry), }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.PhoneNumberCountryCodes !== undefined && { phoneNumberCountryCodes: (input.PhoneNumberCountryCodes || []).map((_entry) => _entry), }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -605,14 +910,14 @@ export const serializeAws_restJson1ListPhoneNumbersCommand = async ( }); }; -export const serializeAws_restJson1ListQueuesCommand = async ( - input: ListQueuesCommandInput, +export const serializeAws_restJson1ListPromptsCommand = async ( + input: ListPromptsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/queues-summary/{InstanceId}"; + let resolvedPath = "/prompts-summary/{InstanceId}"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -625,7 +930,6 @@ export const serializeAws_restJson1ListQueuesCommand = async ( const query: any = { ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.QueueTypes !== undefined && { queueTypes: (input.QueueTypes || []).map((_entry) => _entry) }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -641,7 +945,87 @@ export const serializeAws_restJson1ListQueuesCommand = async ( }); }; -export const serializeAws_restJson1ListRoutingProfilesCommand = async ( +export const serializeAws_restJson1ListQueuesCommand = async ( + input: ListQueuesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + 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: 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() }), + ...(input.QueueTypes !== undefined && { queueTypes: (input.QueueTypes || []).map((_entry) => _entry) }), + }; + 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_restJson1ListRoutingProfileQueuesCommand = async ( + input: ListRoutingProfileQueuesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/routing-profiles/{InstanceId}/{RoutingProfileId}/queues"; + 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."); + } + 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 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_restJson1ListRoutingProfilesCommand = async ( input: ListRoutingProfilesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { @@ -694,8 +1078,8 @@ export const serializeAws_restJson1ListSecurityProfilesCommand = async ( throw new Error("No value provided for input HTTP label: InstanceId."); } 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(); @@ -794,8 +1178,8 @@ export const serializeAws_restJson1ListUsersCommand = async ( throw new Error("No value provided for input HTTP label: InstanceId."); } 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(); @@ -1102,22 +1486,22 @@ export const serializeAws_restJson1UpdateContactAttributesCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserHierarchyCommand = async ( - input: UpdateUserHierarchyCommandInput, +export const serializeAws_restJson1UpdateContactFlowContentCommand = async ( + input: UpdateContactFlowContentCommandInput, 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; + let resolvedPath = "/contact-flows/{InstanceId}/{ContactFlowId}/content"; + if (input.ContactFlowId !== undefined) { + const labelValue: string = input.ContactFlowId; 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: ContactFlowId."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ContactFlowId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + throw new Error("No value provided for input HTTP label: ContactFlowId."); } if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; @@ -1130,7 +1514,7 @@ export const serializeAws_restJson1UpdateUserHierarchyCommand = async ( } let body: any; body = JSON.stringify({ - ...(input.HierarchyGroupId !== undefined && { HierarchyGroupId: input.HierarchyGroupId }), + ...(input.Content !== undefined && { Content: input.Content }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1144,14 +1528,14 @@ export const serializeAws_restJson1UpdateUserHierarchyCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserIdentityInfoCommand = async ( - input: UpdateUserIdentityInfoCommandInput, +export const serializeAws_restJson1UpdateContactFlowNameCommand = async ( + input: UpdateContactFlowNameCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/users/{InstanceId}/{UserId}/identity-info"; + let resolvedPath = "/contact-flows/{InstanceId}/{ContactFlowId}/name"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1161,20 +1545,19 @@ export const serializeAws_restJson1UpdateUserIdentityInfoCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } - if (input.UserId !== undefined) { - const labelValue: string = input.UserId; + if (input.ContactFlowId !== undefined) { + const labelValue: string = input.ContactFlowId; 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: ContactFlowId."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ContactFlowId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + throw new Error("No value provided for input HTTP label: ContactFlowId."); } let body: any; body = JSON.stringify({ - ...(input.IdentityInfo !== undefined && { - IdentityInfo: serializeAws_restJson1UserIdentityInfo(input.IdentityInfo, context), - }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.Name !== undefined && { Name: input.Name }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1188,23 +1571,58 @@ export const serializeAws_restJson1UpdateUserIdentityInfoCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserPhoneConfigCommand = async ( - input: UpdateUserPhoneConfigCommandInput, +export const serializeAws_restJson1UpdateRoutingProfileConcurrencyCommand = async ( + input: UpdateRoutingProfileConcurrencyCommandInput, 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; + 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: UserId."); + throw new Error("Empty value provided for input HTTP label: InstanceId."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + 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) { @@ -1214,11 +1632,18 @@ export const serializeAws_restJson1UpdateUserPhoneConfigCommand = 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; body = JSON.stringify({ - ...(input.PhoneConfig !== undefined && { - PhoneConfig: serializeAws_restJson1UserPhoneConfig(input.PhoneConfig, context), - }), + ...(input.DefaultOutboundQueueId !== undefined && { DefaultOutboundQueueId: input.DefaultOutboundQueueId }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1232,23 +1657,57 @@ export const serializeAws_restJson1UpdateUserPhoneConfigCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserRoutingProfileCommand = async ( - input: UpdateUserRoutingProfileCommandInput, +export const serializeAws_restJson1UpdateRoutingProfileNameCommand = async ( + input: UpdateRoutingProfileNameCommandInput, 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; + 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: UserId."); + throw new Error("Empty value provided for input HTTP label: InstanceId."); } - resolvedPath = resolvedPath.replace("{UserId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{InstanceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserId."); + 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) { @@ -1258,9 +1717,20 @@ export const serializeAws_restJson1UpdateUserRoutingProfileCommand = 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; body = JSON.stringify({ - ...(input.RoutingProfileId !== undefined && { RoutingProfileId: input.RoutingProfileId }), + ...(input.QueueConfigs !== undefined && { + QueueConfigs: serializeAws_restJson1RoutingProfileQueueConfigList(input.QueueConfigs, context), + }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1274,14 +1744,23 @@ export const serializeAws_restJson1UpdateUserRoutingProfileCommand = async ( }); }; -export const serializeAws_restJson1UpdateUserSecurityProfilesCommand = async ( - input: UpdateUserSecurityProfilesCommandInput, +export const serializeAws_restJson1UpdateUserHierarchyCommand = async ( + input: UpdateUserHierarchyCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/users/{InstanceId}/{UserId}/security-profiles"; + let resolvedPath = "/users/{InstanceId}/{UserId}/hierarchy"; + 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.UserId !== undefined) { const labelValue: string = input.UserId; if (labelValue.length <= 0) { @@ -1291,6 +1770,30 @@ export const serializeAws_restJson1UpdateUserSecurityProfilesCommand = async ( } else { throw new Error("No value provided for input HTTP label: UserId."); } + 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_restJson1UpdateUserIdentityInfoCommand = async ( + input: UpdateUserIdentityInfoCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/users/{InstanceId}/{UserId}/identity-info"; if (input.InstanceId !== undefined) { const labelValue: string = input.InstanceId; if (labelValue.length <= 0) { @@ -1300,10 +1803,19 @@ export const serializeAws_restJson1UpdateUserSecurityProfilesCommand = async ( } else { throw new Error("No value provided for input HTTP label: InstanceId."); } + 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.SecurityProfileIds !== undefined && { - SecurityProfileIds: serializeAws_restJson1SecurityProfileIds(input.SecurityProfileIds, context), + ...(input.IdentityInfo !== undefined && { + IdentityInfo: serializeAws_restJson1UserIdentityInfo(input.IdentityInfo, context), }), }); const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1318,32 +1830,1345 @@ export const serializeAws_restJson1UpdateUserSecurityProfilesCommand = async ( }); }; -export const deserializeAws_restJson1CreateUserCommand = async ( - output: __HttpResponse, +export const serializeAws_restJson1UpdateUserPhoneConfigCommand = async ( + input: UpdateUserPhoneConfigCommandInput, 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, +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", }; - const data: any = await parseBody(output.body, context); + 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.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.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.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_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_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_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; + 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_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_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_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; + } + 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_restJson1DescribeUserHierarchyStructureCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeUserHierarchyStructureCommandError(output, context); + } + const contents: DescribeUserHierarchyStructureCommandOutput = { + $metadata: deserializeMetadata(output), + HierarchyStructure: undefined, + }; + 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_restJson1DescribeUserHierarchyStructureCommandError = 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_restJson1DisassociateRoutingProfileQueuesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DisassociateRoutingProfileQueuesCommandError(output, context); + } + const contents: DisassociateRoutingProfileQueuesCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DisassociateRoutingProfileQueuesCommandError = 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_restJson1GetContactAttributesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetContactAttributesCommandError(output, context); + } + const contents: GetContactAttributesCommandOutput = { + $metadata: deserializeMetadata(output), + Attributes: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Attributes !== undefined && data.Attributes !== null) { + contents.Attributes = deserializeAws_restJson1Attributes(data.Attributes, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetContactAttributesCommandError = 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_restJson1GetCurrentMetricDataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetCurrentMetricDataCommandError(output, context); + } + const contents: GetCurrentMetricDataCommandOutput = { + $metadata: deserializeMetadata(output), + DataSnapshotTime: undefined, + MetricResults: 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.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetCurrentMetricDataCommandError = 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_restJson1GetFederationTokenCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetFederationTokenCommandError(output, context); + } + const contents: GetFederationTokenCommandOutput = { + $metadata: deserializeMetadata(output), + Credentials: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Credentials !== undefined && data.Credentials !== null) { + contents.Credentials = deserializeAws_restJson1Credentials(data.Credentials, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateUserCommandError = async ( +const deserializeAws_restJson1GetFederationTokenCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1384,10 +3209,93 @@ const deserializeAws_restJson1CreateUserCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.connect#LimitExceededException": + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + ...(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; + 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_restJson1GetMetricDataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetMetricDataCommandError(output, context); + } + const contents: GetMetricDataCommandOutput = { + $metadata: deserializeMetadata(output), + MetricResults: undefined, + NextToken: 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; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetMetricDataCommandError = 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), }; @@ -1425,24 +3333,35 @@ const deserializeAws_restJson1CreateUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteUserCommand = async ( +export const deserializeAws_restJson1ListContactFlowsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteUserCommandError(output, context); + return deserializeAws_restJson1ListContactFlowsCommandError(output, context); } - const contents: DeleteUserCommandOutput = { + 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_restJson1DeleteUserCommandError = async ( +const deserializeAws_restJson1ListContactFlowsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1508,28 +3427,35 @@ const deserializeAws_restJson1DeleteUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeUserCommand = async ( +export const deserializeAws_restJson1ListHoursOfOperationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeUserCommandError(output, context); + return deserializeAws_restJson1ListHoursOfOperationsCommandError(output, context); } - const contents: DescribeUserCommandOutput = { + const contents: ListHoursOfOperationsCommandOutput = { $metadata: deserializeMetadata(output), - User: undefined, + HoursOfOperationSummaryList: 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.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_restJson1DescribeUserCommandError = async ( +const deserializeAws_restJson1ListHoursOfOperationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1595,28 +3521,35 @@ const deserializeAws_restJson1DescribeUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeUserHierarchyGroupCommand = async ( +export const deserializeAws_restJson1ListPhoneNumbersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeUserHierarchyGroupCommandError(output, context); + return deserializeAws_restJson1ListPhoneNumbersCommandError(output, context); } - const contents: DescribeUserHierarchyGroupCommandOutput = { + const contents: ListPhoneNumbersCommandOutput = { $metadata: deserializeMetadata(output), - HierarchyGroup: undefined, + NextToken: undefined, + PhoneNumberSummaryList: 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.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.PhoneNumberSummaryList !== undefined && data.PhoneNumberSummaryList !== null) { + contents.PhoneNumberSummaryList = deserializeAws_restJson1PhoneNumberSummaryList( + data.PhoneNumberSummaryList, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeUserHierarchyGroupCommandError = async ( +const deserializeAws_restJson1ListPhoneNumbersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1682,28 +3615,32 @@ const deserializeAws_restJson1DescribeUserHierarchyGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeUserHierarchyStructureCommand = async ( +export const deserializeAws_restJson1ListPromptsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeUserHierarchyStructureCommandError(output, context); + return deserializeAws_restJson1ListPromptsCommandError(output, context); } - const contents: DescribeUserHierarchyStructureCommandOutput = { + const contents: ListPromptsCommandOutput = { $metadata: deserializeMetadata(output), - HierarchyStructure: undefined, + NextToken: undefined, + PromptSummaryList: 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.PromptSummaryList !== undefined && data.PromptSummaryList !== null) { + contents.PromptSummaryList = deserializeAws_restJson1PromptSummaryList(data.PromptSummaryList, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeUserHierarchyStructureCommandError = async ( +const deserializeAws_restJson1ListPromptsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1769,28 +3706,32 @@ const deserializeAws_restJson1DescribeUserHierarchyStructureCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetContactAttributesCommand = async ( +export const deserializeAws_restJson1ListQueuesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetContactAttributesCommandError(output, context); + return deserializeAws_restJson1ListQueuesCommandError(output, context); } - const contents: GetContactAttributesCommandOutput = { + const contents: ListQueuesCommandOutput = { $metadata: deserializeMetadata(output), - Attributes: undefined, + NextToken: undefined, + QueueSummaryList: 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.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.QueueSummaryList !== undefined && data.QueueSummaryList !== null) { + contents.QueueSummaryList = deserializeAws_restJson1QueueSummaryList(data.QueueSummaryList, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetContactAttributesCommandError = async ( +const deserializeAws_restJson1ListQueuesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1807,6 +3748,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 = { @@ -1823,6 +3772,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; @@ -1840,36 +3797,35 @@ const deserializeAws_restJson1GetContactAttributesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetCurrentMetricDataCommand = async ( +export const deserializeAws_restJson1ListRoutingProfileQueuesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetCurrentMetricDataCommandError(output, context); + return deserializeAws_restJson1ListRoutingProfileQueuesCommandError(output, context); } - const contents: GetCurrentMetricDataCommandOutput = { + const contents: ListRoutingProfileQueuesCommandOutput = { $metadata: deserializeMetadata(output), - DataSnapshotTime: undefined, - MetricResults: undefined, NextToken: undefined, + RoutingProfileQueueConfigSummaryList: 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.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; } + if (data.RoutingProfileQueueConfigSummaryList !== undefined && data.RoutingProfileQueueConfigSummaryList !== null) { + contents.RoutingProfileQueueConfigSummaryList = deserializeAws_restJson1RoutingProfileQueueConfigSummaryList( + data.RoutingProfileQueueConfigSummaryList, + context + ); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetCurrentMetricDataCommandError = async ( +const deserializeAws_restJson1ListRoutingProfileQueuesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1935,28 +3891,35 @@ const deserializeAws_restJson1GetCurrentMetricDataCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetFederationTokenCommand = async ( +export const deserializeAws_restJson1ListRoutingProfilesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetFederationTokenCommandError(output, context); + return deserializeAws_restJson1ListRoutingProfilesCommandError(output, context); } - const contents: GetFederationTokenCommandOutput = { + const contents: ListRoutingProfilesCommandOutput = { $metadata: deserializeMetadata(output), - Credentials: undefined, + NextToken: undefined, + RoutingProfileSummaryList: 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.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.RoutingProfileSummaryList !== undefined && data.RoutingProfileSummaryList !== null) { + contents.RoutingProfileSummaryList = deserializeAws_restJson1RoutingProfileSummaryList( + data.RoutingProfileSummaryList, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetFederationTokenCommandError = async ( +const deserializeAws_restJson1ListRoutingProfilesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1965,14 +3928,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 = { @@ -2005,10 +3960,10 @@ const deserializeAws_restJson1GetFederationTokenCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "UserNotFoundException": - case "com.amazonaws.connect#UserNotFoundException": + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": response = { - ...(await deserializeAws_restJson1UserNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2030,32 +3985,35 @@ const deserializeAws_restJson1GetFederationTokenCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetMetricDataCommand = async ( +export const deserializeAws_restJson1ListSecurityProfilesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetMetricDataCommandError(output, context); + return deserializeAws_restJson1ListSecurityProfilesCommandError(output, context); } - const contents: GetMetricDataCommandOutput = { + const contents: ListSecurityProfilesCommandOutput = { $metadata: deserializeMetadata(output), - MetricResults: undefined, NextToken: undefined, + SecurityProfileSummaryList: 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.SecurityProfileSummaryList !== undefined && data.SecurityProfileSummaryList !== null) { + contents.SecurityProfileSummaryList = deserializeAws_restJson1SecurityProfileSummaryList( + data.SecurityProfileSummaryList, + context + ); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1GetMetricDataCommandError = async ( +const deserializeAws_restJson1ListSecurityProfilesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2121,35 +4079,28 @@ const deserializeAws_restJson1GetMetricDataCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListContactFlowsCommand = async ( +export const deserializeAws_restJson1ListTagsForResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListContactFlowsCommandError(output, context); + return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); } - const contents: ListContactFlowsCommandOutput = { + const contents: ListTagsForResourceCommandOutput = { $metadata: deserializeMetadata(output), - ContactFlowSummaryList: undefined, - NextToken: undefined, + tags: 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.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListContactFlowsCommandError = async ( +const deserializeAws_restJson1ListTagsForResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2215,35 +4166,35 @@ const deserializeAws_restJson1ListContactFlowsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListHoursOfOperationsCommand = async ( +export const deserializeAws_restJson1ListUserHierarchyGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListHoursOfOperationsCommandError(output, context); + return deserializeAws_restJson1ListUserHierarchyGroupsCommandError(output, context); } - const contents: ListHoursOfOperationsCommandOutput = { + const contents: ListUserHierarchyGroupsCommandOutput = { $metadata: deserializeMetadata(output), - HoursOfOperationSummaryList: undefined, NextToken: undefined, + UserHierarchyGroupSummaryList: 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.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; } + if (data.UserHierarchyGroupSummaryList !== undefined && data.UserHierarchyGroupSummaryList !== null) { + contents.UserHierarchyGroupSummaryList = deserializeAws_restJson1HierarchyGroupSummaryList( + data.UserHierarchyGroupSummaryList, + context + ); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListHoursOfOperationsCommandError = async ( +const deserializeAws_restJson1ListUserHierarchyGroupsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2309,35 +4260,32 @@ const deserializeAws_restJson1ListHoursOfOperationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListPhoneNumbersCommand = async ( +export const deserializeAws_restJson1ListUsersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListPhoneNumbersCommandError(output, context); + return deserializeAws_restJson1ListUsersCommandError(output, context); } - const contents: ListPhoneNumbersCommandOutput = { + const contents: ListUsersCommandOutput = { $metadata: deserializeMetadata(output), NextToken: undefined, - PhoneNumberSummaryList: undefined, + UserSummaryList: undefined, }; const data: any = await parseBody(output.body, context); if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; } - if (data.PhoneNumberSummaryList !== undefined && data.PhoneNumberSummaryList !== null) { - contents.PhoneNumberSummaryList = deserializeAws_restJson1PhoneNumberSummaryList( - data.PhoneNumberSummaryList, - context - ); + if (data.UserSummaryList !== undefined && data.UserSummaryList !== null) { + contents.UserSummaryList = deserializeAws_restJson1UserSummaryList(data.UserSummaryList, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListPhoneNumbersCommandError = async ( +const deserializeAws_restJson1ListUsersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2403,32 +4351,24 @@ const deserializeAws_restJson1ListPhoneNumbersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListQueuesCommand = async ( +export const deserializeAws_restJson1ResumeContactRecordingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListQueuesCommandError(output, context); + return deserializeAws_restJson1ResumeContactRecordingCommandError(output, context); } - const contents: ListQueuesCommandOutput = { + const contents: ResumeContactRecordingCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - QueueSummaryList: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.QueueSummaryList !== undefined && data.QueueSummaryList !== null) { - contents.QueueSummaryList = deserializeAws_restJson1QueueSummaryList(data.QueueSummaryList, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ListQueuesCommandError = async ( +const deserializeAws_restJson1ResumeContactRecordingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2445,14 +4385,6 @@ const deserializeAws_restJson1ListQueuesCommandError = 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 = { @@ -2469,14 +4401,6 @@ const deserializeAws_restJson1ListQueuesCommandError = 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; @@ -2494,35 +4418,36 @@ const deserializeAws_restJson1ListQueuesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListRoutingProfilesCommand = async ( +export const deserializeAws_restJson1StartChatContactCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListRoutingProfilesCommandError(output, context); + return deserializeAws_restJson1StartChatContactCommandError(output, context); } - const contents: ListRoutingProfilesCommandOutput = { + const contents: StartChatContactCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - RoutingProfileSummaryList: undefined, + ContactId: undefined, + ParticipantId: undefined, + ParticipantToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; + if (data.ContactId !== undefined && data.ContactId !== null) { + contents.ContactId = data.ContactId; + } + if (data.ParticipantId !== undefined && data.ParticipantId !== null) { + contents.ParticipantId = data.ParticipantId; } - if (data.RoutingProfileSummaryList !== undefined && data.RoutingProfileSummaryList !== null) { - contents.RoutingProfileSummaryList = deserializeAws_restJson1RoutingProfileSummaryList( - data.RoutingProfileSummaryList, - context - ); + if (data.ParticipantToken !== undefined && data.ParticipantToken !== null) { + contents.ParticipantToken = data.ParticipantToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListRoutingProfilesCommandError = async ( +const deserializeAws_restJson1StartChatContactCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2555,18 +4480,18 @@ const deserializeAws_restJson1ListRoutingProfilesCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.connect#ResourceNotFoundException": + case "LimitExceededException": + case "com.amazonaws.connect#LimitExceededException": response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.connect#ThrottlingException": + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2588,35 +4513,24 @@ const deserializeAws_restJson1ListRoutingProfilesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListSecurityProfilesCommand = async ( +export const deserializeAws_restJson1StartContactRecordingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListSecurityProfilesCommandError(output, context); + return deserializeAws_restJson1StartContactRecordingCommandError(output, context); } - const contents: ListSecurityProfilesCommandOutput = { + const contents: StartContactRecordingCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - SecurityProfileSummaryList: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.SecurityProfileSummaryList !== undefined && data.SecurityProfileSummaryList !== null) { - contents.SecurityProfileSummaryList = deserializeAws_restJson1SecurityProfileSummaryList( - data.SecurityProfileSummaryList, - context - ); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSecurityProfilesCommandError = async ( +const deserializeAws_restJson1StartContactRecordingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2657,14 +4571,6 @@ const deserializeAws_restJson1ListSecurityProfilesCommandError = 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; @@ -2682,28 +4588,28 @@ const deserializeAws_restJson1ListSecurityProfilesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListTagsForResourceCommand = async ( +export const deserializeAws_restJson1StartOutboundVoiceContactCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); + return deserializeAws_restJson1StartOutboundVoiceContactCommandError(output, context); } - const contents: ListTagsForResourceCommandOutput = { + const contents: StartOutboundVoiceContactCommandOutput = { $metadata: deserializeMetadata(output), - tags: undefined, + ContactId: undefined, }; const data: any = await parseBody(output.body, context); - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + if (data.ContactId !== undefined && data.ContactId !== null) { + contents.ContactId = data.ContactId; } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListTagsForResourceCommandError = async ( +const deserializeAws_restJson1StartOutboundVoiceContactCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2712,6 +4618,14 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "DestinationNotAllowedException": + case "com.amazonaws.connect#DestinationNotAllowedException": + response = { + ...(await deserializeAws_restJson1DestinationNotAllowedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -2736,18 +4650,26 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.connect#ResourceNotFoundException": + case "LimitExceededException": + case "com.amazonaws.connect#LimitExceededException": response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.connect#ThrottlingException": + case "OutboundContactNotPermittedException": + case "com.amazonaws.connect#OutboundContactNotPermittedException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1OutboundContactNotPermittedExceptionResponse(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), }; @@ -2769,35 +4691,24 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListUserHierarchyGroupsCommand = async ( +export const deserializeAws_restJson1StopContactCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListUserHierarchyGroupsCommandError(output, context); + return deserializeAws_restJson1StopContactCommandError(output, context); } - const contents: ListUserHierarchyGroupsCommandOutput = { + const contents: StopContactCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - UserHierarchyGroupSummaryList: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.UserHierarchyGroupSummaryList !== undefined && data.UserHierarchyGroupSummaryList !== null) { - contents.UserHierarchyGroupSummaryList = deserializeAws_restJson1HierarchyGroupSummaryList( - data.UserHierarchyGroupSummaryList, - context - ); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ListUserHierarchyGroupsCommandError = async ( +const deserializeAws_restJson1StopContactCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2806,6 +4717,14 @@ const deserializeAws_restJson1ListUserHierarchyGroupsCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "ContactNotFoundException": + case "com.amazonaws.connect#ContactNotFoundException": + response = { + ...(await deserializeAws_restJson1ContactNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -2838,14 +4757,6 @@ const deserializeAws_restJson1ListUserHierarchyGroupsCommandError = 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; @@ -2863,32 +4774,24 @@ const deserializeAws_restJson1ListUserHierarchyGroupsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListUsersCommand = async ( +export const deserializeAws_restJson1StopContactRecordingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListUsersCommandError(output, context); + return deserializeAws_restJson1StopContactRecordingCommandError(output, context); } - const contents: ListUsersCommandOutput = { + const contents: StopContactRecordingCommandOutput = { $metadata: deserializeMetadata(output), - NextToken: undefined, - UserSummaryList: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } - if (data.UserSummaryList !== undefined && data.UserSummaryList !== null) { - contents.UserSummaryList = deserializeAws_restJson1UserSummaryList(data.UserSummaryList, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ListUsersCommandError = async ( +const deserializeAws_restJson1StopContactRecordingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2905,14 +4808,6 @@ const deserializeAws_restJson1ListUsersCommandError = 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 = { @@ -2929,14 +4824,6 @@ const deserializeAws_restJson1ListUsersCommandError = 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; @@ -2954,24 +4841,24 @@ const deserializeAws_restJson1ListUsersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ResumeContactRecordingCommand = async ( +export const deserializeAws_restJson1SuspendContactRecordingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ResumeContactRecordingCommandError(output, context); + return deserializeAws_restJson1SuspendContactRecordingCommandError(output, context); } - const contents: ResumeContactRecordingCommandOutput = { + const contents: SuspendContactRecordingCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ResumeContactRecordingCommandError = async ( +const deserializeAws_restJson1SuspendContactRecordingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3021,36 +4908,24 @@ const deserializeAws_restJson1ResumeContactRecordingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1StartChatContactCommand = async ( +export const deserializeAws_restJson1TagResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1StartChatContactCommandError(output, context); + return deserializeAws_restJson1TagResourceCommandError(output, context); } - const contents: StartChatContactCommandOutput = { + const contents: TagResourceCommandOutput = { $metadata: deserializeMetadata(output), - ContactId: undefined, - ParticipantId: undefined, - ParticipantToken: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.ContactId !== undefined && data.ContactId !== null) { - contents.ContactId = data.ContactId; - } - if (data.ParticipantId !== undefined && data.ParticipantId !== null) { - contents.ParticipantId = data.ParticipantId; - } - if (data.ParticipantToken !== undefined && data.ParticipantToken !== null) { - contents.ParticipantToken = data.ParticipantToken; - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1StartChatContactCommandError = async ( +const deserializeAws_restJson1TagResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3083,18 +4958,18 @@ const deserializeAws_restJson1StartChatContactCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.connect#LimitExceededException": + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.connect#ResourceNotFoundException": + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -3116,24 +4991,24 @@ const deserializeAws_restJson1StartChatContactCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1StartContactRecordingCommand = async ( +export const deserializeAws_restJson1UntagResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1StartContactRecordingCommandError(output, context); + return deserializeAws_restJson1UntagResourceCommandError(output, context); } - const contents: StartContactRecordingCommandOutput = { + const contents: UntagResourceCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1StartContactRecordingCommandError = async ( +const deserializeAws_restJson1UntagResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3174,6 +5049,14 @@ const deserializeAws_restJson1StartContactRecordingCommandError = 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; @@ -3191,28 +5074,24 @@ const deserializeAws_restJson1StartContactRecordingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1StartOutboundVoiceContactCommand = async ( +export const deserializeAws_restJson1UpdateContactAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1StartOutboundVoiceContactCommandError(output, context); + return deserializeAws_restJson1UpdateContactAttributesCommandError(output, context); } - const contents: StartOutboundVoiceContactCommandOutput = { + const contents: UpdateContactAttributesCommandOutput = { $metadata: deserializeMetadata(output), - ContactId: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.ContactId !== undefined && data.ContactId !== null) { - contents.ContactId = data.ContactId; - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1StartOutboundVoiceContactCommandError = async ( +const deserializeAws_restJson1UpdateContactAttributesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3221,14 +5100,6 @@ const deserializeAws_restJson1StartOutboundVoiceContactCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "DestinationNotAllowedException": - case "com.amazonaws.connect#DestinationNotAllowedException": - response = { - ...(await deserializeAws_restJson1DestinationNotAllowedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": response = { @@ -3253,22 +5124,6 @@ const deserializeAws_restJson1StartOutboundVoiceContactCommandError = 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 "OutboundContactNotPermittedException": - case "com.amazonaws.connect#OutboundContactNotPermittedException": - response = { - ...(await deserializeAws_restJson1OutboundContactNotPermittedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceNotFoundException": case "com.amazonaws.connect#ResourceNotFoundException": response = { @@ -3294,24 +5149,24 @@ const deserializeAws_restJson1StartOutboundVoiceContactCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1StopContactCommand = async ( +export const deserializeAws_restJson1UpdateContactFlowContentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1StopContactCommandError(output, context); + return deserializeAws_restJson1UpdateContactFlowContentCommandError(output, context); } - const contents: StopContactCommandOutput = { + const contents: UpdateContactFlowContentCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1StopContactCommandError = async ( +const deserializeAws_restJson1UpdateContactFlowContentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3320,18 +5175,18 @@ const deserializeAws_restJson1StopContactCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ContactNotFoundException": - case "com.amazonaws.connect#ContactNotFoundException": + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": response = { - ...(await deserializeAws_restJson1ContactNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InternalServiceException": - case "com.amazonaws.connect#InternalServiceException": + case "InvalidContactFlowException": + case "com.amazonaws.connect#InvalidContactFlowException": response = { - ...(await deserializeAws_restJson1InternalServiceExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InvalidContactFlowExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -3360,6 +5215,14 @@ const deserializeAws_restJson1StopContactCommandError = 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; @@ -3377,24 +5240,24 @@ const deserializeAws_restJson1StopContactCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1StopContactRecordingCommand = async ( +export const deserializeAws_restJson1UpdateContactFlowNameCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1StopContactRecordingCommandError(output, context); + return deserializeAws_restJson1UpdateContactFlowNameCommandError(output, context); } - const contents: StopContactRecordingCommandOutput = { + const contents: UpdateContactFlowNameCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1StopContactRecordingCommandError = async ( +const deserializeAws_restJson1UpdateContactFlowNameCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3403,6 +5266,14 @@ const deserializeAws_restJson1StopContactRecordingCommandError = 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 = { @@ -3411,6 +5282,14 @@ const deserializeAws_restJson1StopContactRecordingCommandError = 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 = { @@ -3427,6 +5306,14 @@ const deserializeAws_restJson1StopContactRecordingCommandError = 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; @@ -3444,24 +5331,24 @@ const deserializeAws_restJson1StopContactRecordingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1SuspendContactRecordingCommand = async ( +export const deserializeAws_restJson1UpdateRoutingProfileConcurrencyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1SuspendContactRecordingCommandError(output, context); + return deserializeAws_restJson1UpdateRoutingProfileConcurrencyCommandError(output, context); } - const contents: SuspendContactRecordingCommandOutput = { + const contents: UpdateRoutingProfileConcurrencyCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1SuspendContactRecordingCommandError = async ( +const deserializeAws_restJson1UpdateRoutingProfileConcurrencyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3478,6 +5365,14 @@ const deserializeAws_restJson1SuspendContactRecordingCommandError = 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 = { @@ -3494,6 +5389,14 @@ const deserializeAws_restJson1SuspendContactRecordingCommandError = 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; @@ -3511,24 +5414,24 @@ const deserializeAws_restJson1SuspendContactRecordingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1TagResourceCommand = async ( +export const deserializeAws_restJson1UpdateRoutingProfileDefaultOutboundQueueCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1TagResourceCommandError(output, context); + return deserializeAws_restJson1UpdateRoutingProfileDefaultOutboundQueueCommandError(output, context); } - const contents: TagResourceCommandOutput = { + const contents: UpdateRoutingProfileDefaultOutboundQueueCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1TagResourceCommandError = async ( +const deserializeAws_restJson1UpdateRoutingProfileDefaultOutboundQueueCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3594,24 +5497,24 @@ const deserializeAws_restJson1TagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UntagResourceCommand = async ( +export const deserializeAws_restJson1UpdateRoutingProfileNameCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UntagResourceCommandError(output, context); + return deserializeAws_restJson1UpdateRoutingProfileNameCommandError(output, context); } - const contents: UntagResourceCommandOutput = { + const contents: UpdateRoutingProfileNameCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1UntagResourceCommandError = async ( +const deserializeAws_restJson1UpdateRoutingProfileNameCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3620,6 +5523,14 @@ const deserializeAws_restJson1UntagResourceCommandError = 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 = { @@ -3677,24 +5588,24 @@ const deserializeAws_restJson1UntagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateContactAttributesCommand = async ( +export const deserializeAws_restJson1UpdateRoutingProfileQueuesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateContactAttributesCommandError(output, context); + return deserializeAws_restJson1UpdateRoutingProfileQueuesCommandError(output, context); } - const contents: UpdateContactAttributesCommandOutput = { + const contents: UpdateRoutingProfileQueuesCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateContactAttributesCommandError = async ( +const deserializeAws_restJson1UpdateRoutingProfileQueuesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3735,6 +5646,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; @@ -4167,6 +6086,23 @@ const deserializeAws_restJson1UpdateUserSecurityProfilesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +const deserializeAws_restJson1ContactFlowNotPublishedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ContactFlowNotPublishedException = { + name: "ContactFlowNotPublishedException", + $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_restJson1ContactNotFoundExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -4235,6 +6171,23 @@ const deserializeAws_restJson1InternalServiceExceptionResponse = async ( return contents; }; +const deserializeAws_restJson1InvalidContactFlowExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: InvalidContactFlowException = { + name: "InvalidContactFlowException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + problems: undefined, + }; + const data: any = parsedOutput.body; + if (data.problems !== undefined && data.problems !== null) { + contents.problems = deserializeAws_restJson1Problems(data.problems, context); + } + return contents; +}; + const deserializeAws_restJson1InvalidParameterExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -4410,6 +6363,17 @@ const serializeAws_restJson1HistoricalMetrics = (input: HistoricalMetric[], cont return input.map((entry) => serializeAws_restJson1HistoricalMetric(entry, context)); }; +const serializeAws_restJson1MediaConcurrencies = (input: MediaConcurrency[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1MediaConcurrency(entry, context)); +}; + +const serializeAws_restJson1MediaConcurrency = (input: MediaConcurrency, context: __SerdeContext): any => { + return { + ...(input.Channel !== undefined && { Channel: input.Channel }), + ...(input.Concurrency !== undefined && { Concurrency: input.Concurrency }), + }; +}; + const serializeAws_restJson1ParticipantDetails = (input: ParticipantDetails, context: __SerdeContext): any => { return { ...(input.DisplayName !== undefined && { DisplayName: input.DisplayName }), @@ -4420,6 +6384,43 @@ const serializeAws_restJson1Queues = (input: string[], context: __SerdeContext): return input.map((entry) => entry); }; +const serializeAws_restJson1RoutingProfileQueueConfig = ( + input: RoutingProfileQueueConfig, + context: __SerdeContext +): any => { + return { + ...(input.Delay !== undefined && { Delay: input.Delay }), + ...(input.Priority !== undefined && { Priority: input.Priority }), + ...(input.QueueReference !== undefined && { + QueueReference: serializeAws_restJson1RoutingProfileQueueReference(input.QueueReference, context), + }), + }; +}; + +const serializeAws_restJson1RoutingProfileQueueConfigList = ( + input: RoutingProfileQueueConfig[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1RoutingProfileQueueConfig(entry, context)); +}; + +const serializeAws_restJson1RoutingProfileQueueReference = ( + input: RoutingProfileQueueReference, + context: __SerdeContext +): any => { + return { + ...(input.Channel !== undefined && { Channel: input.Channel }), + ...(input.QueueId !== undefined && { QueueId: input.QueueId }), + }; +}; + +const serializeAws_restJson1RoutingProfileQueueReferenceList = ( + input: RoutingProfileQueueReference[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1RoutingProfileQueueReference(entry, context)); +}; + const serializeAws_restJson1SecurityProfileIds = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -4479,6 +6480,21 @@ const deserializeAws_restJson1Attributes = (output: any, context: __SerdeContext ); }; +const deserializeAws_restJson1ContactFlow = (output: any, context: __SerdeContext): ContactFlow => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + Content: output.Content !== undefined && output.Content !== null ? output.Content : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_restJson1TagMap(output.Tags, context) + : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + const deserializeAws_restJson1ContactFlowSummary = (output: any, context: __SerdeContext): ContactFlowSummary => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, @@ -4715,6 +6731,17 @@ const deserializeAws_restJson1HoursOfOperationSummaryList = ( return (output || []).map((entry: any) => deserializeAws_restJson1HoursOfOperationSummary(entry, context)); }; +const deserializeAws_restJson1MediaConcurrencies = (output: any, context: __SerdeContext): MediaConcurrency[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1MediaConcurrency(entry, context)); +}; + +const deserializeAws_restJson1MediaConcurrency = (output: any, context: __SerdeContext): MediaConcurrency => { + return { + Channel: output.Channel !== undefined && output.Channel !== null ? output.Channel : undefined, + Concurrency: output.Concurrency !== undefined && output.Concurrency !== null ? output.Concurrency : undefined, + } as any; +}; + const deserializeAws_restJson1PhoneNumberSummary = (output: any, context: __SerdeContext): PhoneNumberSummary => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, @@ -4733,6 +6760,28 @@ const deserializeAws_restJson1PhoneNumberSummaryList = (output: any, context: __ return (output || []).map((entry: any) => deserializeAws_restJson1PhoneNumberSummary(entry, context)); }; +const deserializeAws_restJson1ProblemDetail = (output: any, context: __SerdeContext): ProblemDetail => { + return { + message: output.message !== undefined && output.message !== null ? output.message : undefined, + } as any; +}; + +const deserializeAws_restJson1Problems = (output: any, context: __SerdeContext): ProblemDetail[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ProblemDetail(entry, context)); +}; + +const deserializeAws_restJson1PromptSummary = (output: any, context: __SerdeContext): PromptSummary => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + +const deserializeAws_restJson1PromptSummaryList = (output: any, context: __SerdeContext): PromptSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1PromptSummary(entry, context)); +}; + const deserializeAws_restJson1QueueReference = (output: any, context: __SerdeContext): QueueReference => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, @@ -4753,6 +6802,53 @@ const deserializeAws_restJson1QueueSummaryList = (output: any, context: __SerdeC return (output || []).map((entry: any) => deserializeAws_restJson1QueueSummary(entry, context)); }; +const deserializeAws_restJson1RoutingProfile = (output: any, context: __SerdeContext): RoutingProfile => { + return { + DefaultOutboundQueueId: + output.DefaultOutboundQueueId !== undefined && output.DefaultOutboundQueueId !== null + ? output.DefaultOutboundQueueId + : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + InstanceId: output.InstanceId !== undefined && output.InstanceId !== null ? output.InstanceId : undefined, + MediaConcurrencies: + output.MediaConcurrencies !== undefined && output.MediaConcurrencies !== null + ? deserializeAws_restJson1MediaConcurrencies(output.MediaConcurrencies, context) + : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + RoutingProfileArn: + output.RoutingProfileArn !== undefined && output.RoutingProfileArn !== null + ? output.RoutingProfileArn + : undefined, + RoutingProfileId: + output.RoutingProfileId !== undefined && output.RoutingProfileId !== null ? output.RoutingProfileId : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_restJson1TagMap(output.Tags, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1RoutingProfileQueueConfigSummary = ( + output: any, + context: __SerdeContext +): RoutingProfileQueueConfigSummary => { + return { + Channel: output.Channel !== undefined && output.Channel !== null ? output.Channel : undefined, + Delay: output.Delay !== undefined && output.Delay !== null ? output.Delay : undefined, + Priority: output.Priority !== undefined && output.Priority !== null ? output.Priority : undefined, + QueueArn: output.QueueArn !== undefined && output.QueueArn !== null ? output.QueueArn : undefined, + QueueId: output.QueueId !== undefined && output.QueueId !== null ? output.QueueId : undefined, + QueueName: output.QueueName !== undefined && output.QueueName !== null ? output.QueueName : undefined, + } as any; +}; + +const deserializeAws_restJson1RoutingProfileQueueConfigSummaryList = ( + output: any, + context: __SerdeContext +): RoutingProfileQueueConfigSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1RoutingProfileQueueConfigSummary(entry, context)); +}; + const deserializeAws_restJson1RoutingProfileSummary = (output: any, context: __SerdeContext): RoutingProfileSummary => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, diff --git a/clients/client-connectparticipant/models/models_0.ts b/clients/client-connectparticipant/models/models_0.ts index bfbeb62083b1..ab5cd1776e7a 100644 --- a/clients/client-connectparticipant/models/models_0.ts +++ b/clients/client-connectparticipant/models/models_0.ts @@ -23,14 +23,14 @@ export enum ConnectionType { export interface CreateParticipantConnectionRequest { /** - *

                  Participant Token as obtained from StartChatContact API response.

                  + *

                  Type of connection information required.

                  */ - ParticipantToken: string | undefined; + Type: (ConnectionType | string)[] | undefined; /** - *

                  Type of connection information required.

                  + *

                  Participant Token as obtained from StartChatContact API response.

                  */ - Type: (ConnectionType | string)[] | undefined; + ParticipantToken: string | undefined; } export namespace CreateParticipantConnectionRequest { @@ -87,15 +87,15 @@ export namespace Websocket { export interface CreateParticipantConnectionResponse { /** - *

                  Creates the participant's connection credentials. The authentication token associated - * with the participant's connection.

                  + *

                  Creates the participant's websocket connection.

                  */ - ConnectionCredentials?: ConnectionCredentials; + Websocket?: Websocket; /** - *

                  Creates the participant's websocket connection.

                  + *

                  Creates the participant's connection credentials. The authentication token associated + * with the participant's connection.

                  */ - Websocket?: Websocket; + ConnectionCredentials?: ConnectionCredentials; } export namespace CreateParticipantConnectionResponse { @@ -151,15 +151,15 @@ export namespace ValidationException { export interface DisconnectParticipantRequest { /** - *

                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                  + *

                  The authentication token associated with the participant's connection.

                  */ - ClientToken?: string; + ConnectionToken: string | undefined; /** - *

                  The authentication token associated with the participant's connection.

                  + *

                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                  */ - ConnectionToken: string | undefined; + ClientToken?: string; } export namespace DisconnectParticipantRequest { @@ -191,13 +191,6 @@ export enum SortKey { * with message 50.

                  */ export interface StartPosition { - /** - *

                  The time in ISO format where to start.

                  - *

                  It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, - * 2019-11-08T02:41:28.172Z.

                  - */ - AbsoluteTime?: string; - /** *

                  The start position of the most recent message where you want to start.

                  */ @@ -207,6 +200,13 @@ export interface StartPosition { *

                  The ID of the message or event where to start.

                  */ Id?: string; + + /** + *

                  The time in ISO format where to start.

                  + *

                  It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, + * 2019-11-08T02:41:28.172Z.

                  + */ + AbsoluteTime?: string; } export namespace StartPosition { @@ -217,14 +217,15 @@ export namespace StartPosition { export interface GetTranscriptRequest { /** - *

                  The sort order for the records. Default: DESCENDING.

                  + *

                  The direction from StartPosition from which to retrieve message. Default: BACKWARD when no StartPosition is provided, FORWARD with StartPosition.

                  */ - SortOrder?: SortKey | string; + ScanDirection?: ScanDirection | string; /** - *

                  The contactId from the current contact chain for which transcript is needed.

                  + *

                  The maximum number of results to return in the page. Default: 10. + *

                  */ - ContactId?: string; + MaxResults?: number; /** *

                  A filtering option for where to start.

                  @@ -243,15 +244,14 @@ export interface GetTranscriptRequest { NextToken?: string; /** - *

                  The maximum number of results to return in the page. Default: 10. - *

                  + *

                  The sort order for the records. Default: DESCENDING.

                  */ - MaxResults?: number; + SortOrder?: SortKey | string; /** - *

                  The direction from StartPosition from which to retrieve message. Default: BACKWARD when no StartPosition is provided, FORWARD with StartPosition.

                  + *

                  The contactId from the current contact chain for which transcript is needed.

                  */ - ScanDirection?: ScanDirection | string; + ContactId?: string; } export namespace GetTranscriptRequest { @@ -276,6 +276,16 @@ export enum ChatItemType { *

                  An item - message or event - that has been sent.

                  */ export interface Item { + /** + *

                  Type of the item: message or event.

                  + */ + Type?: ChatItemType | string; + + /** + *

                  The role of the sender. For example, is it a customer, agent, or system.

                  + */ + ParticipantRole?: ParticipantRole | string; + /** *

                  The ID of the sender in the session.

                  */ @@ -287,36 +297,26 @@ export interface Item { ContentType?: string; /** - *

                  Type of the item: message or event.

                  + *

                  The ID of the item.

                  */ - Type?: ChatItemType | string; + Id?: string; /** *

                  The content of the message or event.

                  */ Content?: string; - /** - *

                  The time when the message or event was sent.

                  - *

                  It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, - * 2019-11-08T02:41:28.172Z.

                  - */ - AbsoluteTime?: string; - /** *

                  The chat display name of the sender.

                  */ DisplayName?: string; /** - *

                  The ID of the item.

                  - */ - Id?: string; - - /** - *

                  The role of the sender. For example, is it a customer, agent, or system.

                  + *

                  The time when the message or event was sent.

                  + *

                  It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, + * 2019-11-08T02:41:28.172Z.

                  */ - ParticipantRole?: ParticipantRole | string; + AbsoluteTime?: string; } export namespace Item { @@ -326,6 +326,12 @@ export namespace Item { } export interface GetTranscriptResponse { + /** + *

                  The pagination token. Use the value returned previously in the next subsequent request + * to retrieve the next set of results.

                  + */ + NextToken?: string; + /** *

                  The initial contact ID for the contact.

                  */ @@ -335,12 +341,6 @@ export interface GetTranscriptResponse { *

                  The list of messages in the session.

                  */ Transcript?: Item[]; - - /** - *

                  The pagination token. Use the value returned previously in the next subsequent request - * to retrieve the next set of results.

                  - */ - NextToken?: string; } export namespace GetTranscriptResponse { @@ -351,15 +351,10 @@ export namespace GetTranscriptResponse { export interface SendEventRequest { /** - *

                  The authentication token associated with the participant's connection.

                  - */ - ConnectionToken: string | undefined; - - /** - *

                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                  + *

                  The content of the event to be sent (for example, message text). This is not yet + * supported.

                  */ - ClientToken?: string; + Content?: string; /** *

                  The content type of the request. Supported types are:

                  @@ -376,10 +371,15 @@ export interface SendEventRequest { ContentType: string | undefined; /** - *

                  The content of the event to be sent (for example, message text). This is not yet - * supported.

                  + *

                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                  */ - Content?: string; + ClientToken?: string; + + /** + *

                  The authentication token associated with the participant's connection.

                  + */ + ConnectionToken: string | undefined; } export namespace SendEventRequest { @@ -389,17 +389,17 @@ export namespace SendEventRequest { } export interface SendEventResponse { - /** - *

                  The ID of the response.

                  - */ - Id?: string; - /** *

                  The time when the event was sent.

                  *

                  It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, * 2019-11-08T02:41:28.172Z.

                  */ AbsoluteTime?: string; + + /** + *

                  The ID of the response.

                  + */ + Id?: string; } export namespace SendEventResponse { @@ -410,10 +410,9 @@ export namespace SendEventResponse { export interface SendMessageRequest { /** - *

                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                  + *

                  The content of the message.

                  */ - ClientToken?: string; + Content: string | undefined; /** *

                  The type of the content. Supported types are text/plain.

                  @@ -426,9 +425,10 @@ export interface SendMessageRequest { ConnectionToken: string | undefined; /** - *

                  The content of the message.

                  + *

                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                  */ - Content: string | undefined; + ClientToken?: string; } export namespace SendMessageRequest { @@ -438,17 +438,17 @@ export namespace SendMessageRequest { } export interface SendMessageResponse { - /** - *

                  The ID of the message.

                  - */ - Id?: string; - /** *

                  The time when the message was sent.

                  *

                  It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, * 2019-11-08T02:41:28.172Z.

                  */ AbsoluteTime?: string; + + /** + *

                  The ID of the message.

                  + */ + Id?: string; } export namespace SendMessageResponse { diff --git a/clients/client-connectparticipant/runtimeConfig.shared.ts b/clients/client-connectparticipant/runtimeConfig.shared.ts index 824617d798d8..b41e3ad2a38c 100644 --- a/clients/client-connectparticipant/runtimeConfig.shared.ts +++ b/clients/client-connectparticipant/runtimeConfig.shared.ts @@ -6,5 +6,5 @@ export const ClientSharedValues = { disableHostPrefix: false, logger: {} as __Logger, regionInfoProvider: defaultRegionInfoProvider, - signingName: "execute-api", + signingName: "connect", }; diff --git a/clients/client-cost-and-usage-report-service/models/models_0.ts b/clients/client-cost-and-usage-report-service/models/models_0.ts index 54f0b3efe28c..e30c20d63958 100644 --- a/clients/client-cost-and-usage-report-service/models/models_0.ts +++ b/clients/client-cost-and-usage-report-service/models/models_0.ts @@ -12,8 +12,7 @@ export enum AdditionalArtifact { */ export interface DeleteReportDefinitionRequest { /** - *

                  The name of the report that you want to create. The name must be unique, - * is case sensitive, and can't include spaces.

                  + *

                  The name of the report that you want to delete. The name must be unique, is case sensitive, and can't include spaces.

                  */ ReportName?: string; } @@ -118,12 +117,24 @@ export enum ReportVersioning { } export enum AWSRegion { + BAHRAIN = "me-south-1", + BEIJING = "cn-north-1", + CANADA_CENTRAL = "ca-central-1", + CAPE_TOWN = "af-south-1", FRANKFURT = "eu-central-1", HONG_KONG = "ap-east-1", IRELAND = "eu-west-1", + LONDON = "eu-west-2", + MILANO = "eu-south-1", + MUMBAI = "ap-south-1", + NINGXIA = "cn-northwest-1", NORTHERN_CALIFORNIA = "us-west-1", + OHIO = "us-east-2", OREGON = "us-west-2", OSAKA = "ap-northeast-3", + PARIS = "eu-west-3", + SAO_PAULO = "sa-east-1", + SEOUL = "ap-northeast-2", SINGAPORE = "ap-southeast-1", STOCKHOLM = "eu-north-1", SYDNEY = "ap-southeast-2", @@ -134,6 +145,7 @@ export enum AWSRegion { export enum TimeUnit { DAILY = "DAILY", HOURLY = "HOURLY", + MONTHLY = "MONTHLY", } /** @@ -150,9 +162,9 @@ export interface ReportDefinition { ReportVersioning?: ReportVersioning | string; /** - *

                  The length of time covered by the report.

                  + *

                  The format that AWS saves the report in.

                  */ - TimeUnit: TimeUnit | string | undefined; + Format: ReportFormat | string | undefined; /** *

                  The name of the report that you want to create. The name must be unique, @@ -161,14 +173,9 @@ export interface ReportDefinition { ReportName: string | undefined; /** - *

                  The compression format that AWS uses for the report.

                  - */ - Compression: CompressionFormat | string | undefined; - - /** - *

                  The format that AWS saves the report in.

                  + *

                  The length of time covered by the report.

                  */ - Format: ReportFormat | string | undefined; + TimeUnit: TimeUnit | string | undefined; /** *

                  The prefix that AWS adds to the report name when AWS delivers the report. Your prefix @@ -176,6 +183,16 @@ export interface ReportDefinition { */ S3Prefix: string | undefined; + /** + *

                  The compression format that AWS uses for the report.

                  + */ + Compression: CompressionFormat | string | undefined; + + /** + *

                  The S3 bucket where AWS delivers the report.

                  + */ + S3Bucket: string | undefined; + /** *

                  A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs.

                  */ @@ -188,19 +205,14 @@ export interface ReportDefinition { RefreshClosedReports?: boolean; /** - *

                  The S3 bucket where AWS delivers the report.

                  + *

                  A list of manifests that you want Amazon Web Services to create for this report.

                  */ - S3Bucket: string | undefined; + AdditionalArtifacts?: (AdditionalArtifact | string)[]; /** *

                  The region of the S3 bucket that AWS delivers the report into.

                  */ S3Region: AWSRegion | string | undefined; - - /** - *

                  A list of manifests that you want Amazon Web Services to create for this report.

                  - */ - AdditionalArtifacts?: (AdditionalArtifact | string)[]; } export namespace ReportDefinition { @@ -214,14 +226,14 @@ export namespace ReportDefinition { */ export interface DescribeReportDefinitionsResponse { /** - *

                  A generic string.

                  + *

                  A list of AWS Cost and Usage reports owned by the account.

                  */ - NextToken?: string; + ReportDefinitions?: ReportDefinition[]; /** - *

                  A list of AWS Cost and Usage reports owned by the account.

                  + *

                  A generic string.

                  */ - ReportDefinitions?: ReportDefinition[]; + NextToken?: string; } export namespace DescribeReportDefinitionsResponse { diff --git a/clients/client-cost-explorer/CostExplorer.ts b/clients/client-cost-explorer/CostExplorer.ts index e3e07a7883d5..e6957ec2d057 100644 --- a/clients/client-cost-explorer/CostExplorer.ts +++ b/clients/client-cost-explorer/CostExplorer.ts @@ -1,9 +1,29 @@ import { CostExplorerClient } from "./CostExplorerClient"; +import { + CreateAnomalyMonitorCommand, + CreateAnomalyMonitorCommandInput, + CreateAnomalyMonitorCommandOutput, +} from "./commands/CreateAnomalyMonitorCommand"; +import { + CreateAnomalySubscriptionCommand, + CreateAnomalySubscriptionCommandInput, + CreateAnomalySubscriptionCommandOutput, +} from "./commands/CreateAnomalySubscriptionCommand"; import { CreateCostCategoryDefinitionCommand, CreateCostCategoryDefinitionCommandInput, CreateCostCategoryDefinitionCommandOutput, } from "./commands/CreateCostCategoryDefinitionCommand"; +import { + DeleteAnomalyMonitorCommand, + DeleteAnomalyMonitorCommandInput, + DeleteAnomalyMonitorCommandOutput, +} from "./commands/DeleteAnomalyMonitorCommand"; +import { + DeleteAnomalySubscriptionCommand, + DeleteAnomalySubscriptionCommandInput, + DeleteAnomalySubscriptionCommandOutput, +} from "./commands/DeleteAnomalySubscriptionCommand"; import { DeleteCostCategoryDefinitionCommand, DeleteCostCategoryDefinitionCommandInput, @@ -14,6 +34,21 @@ import { DescribeCostCategoryDefinitionCommandInput, DescribeCostCategoryDefinitionCommandOutput, } from "./commands/DescribeCostCategoryDefinitionCommand"; +import { + GetAnomaliesCommand, + GetAnomaliesCommandInput, + GetAnomaliesCommandOutput, +} from "./commands/GetAnomaliesCommand"; +import { + GetAnomalyMonitorsCommand, + GetAnomalyMonitorsCommandInput, + GetAnomalyMonitorsCommandOutput, +} from "./commands/GetAnomalyMonitorsCommand"; +import { + GetAnomalySubscriptionsCommand, + GetAnomalySubscriptionsCommandInput, + GetAnomalySubscriptionsCommandOutput, +} from "./commands/GetAnomalySubscriptionsCommand"; import { GetCostAndUsageCommand, GetCostAndUsageCommandInput, @@ -85,6 +120,21 @@ import { ListCostCategoryDefinitionsCommandInput, ListCostCategoryDefinitionsCommandOutput, } from "./commands/ListCostCategoryDefinitionsCommand"; +import { + ProvideAnomalyFeedbackCommand, + ProvideAnomalyFeedbackCommandInput, + ProvideAnomalyFeedbackCommandOutput, +} from "./commands/ProvideAnomalyFeedbackCommand"; +import { + UpdateAnomalyMonitorCommand, + UpdateAnomalyMonitorCommandInput, + UpdateAnomalyMonitorCommandOutput, +} from "./commands/UpdateAnomalyMonitorCommand"; +import { + UpdateAnomalySubscriptionCommand, + UpdateAnomalySubscriptionCommandInput, + UpdateAnomalySubscriptionCommandOutput, +} from "./commands/UpdateAnomalySubscriptionCommand"; import { UpdateCostCategoryDefinitionCommand, UpdateCostCategoryDefinitionCommandInput, @@ -109,6 +159,73 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * AWS Cost Management Pricing.

                  */ export class CostExplorer extends CostExplorerClient { + /** + *

                  Creates a new cost anomaly detection monitor with the requested type and monitor + * specification.

                  + */ + public createAnomalyMonitor( + args: CreateAnomalyMonitorCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createAnomalyMonitor( + args: CreateAnomalyMonitorCommandInput, + cb: (err: any, data?: CreateAnomalyMonitorCommandOutput) => void + ): void; + public createAnomalyMonitor( + args: CreateAnomalyMonitorCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAnomalyMonitorCommandOutput) => void + ): void; + public createAnomalyMonitor( + args: CreateAnomalyMonitorCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateAnomalyMonitorCommandOutput) => void), + cb?: (err: any, data?: CreateAnomalyMonitorCommandOutput) => void + ): Promise | void { + const command = new CreateAnomalyMonitorCommand(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 subscription to a cost anomaly detection monitor. You can use each subscription to + * define subscribers with email or SNS notifications. Email subscribers can set a dollar + * threshold and a time frequency for receiving notifications.

                  + */ + public createAnomalySubscription( + args: CreateAnomalySubscriptionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createAnomalySubscription( + args: CreateAnomalySubscriptionCommandInput, + cb: (err: any, data?: CreateAnomalySubscriptionCommandOutput) => void + ): void; + public createAnomalySubscription( + args: CreateAnomalySubscriptionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAnomalySubscriptionCommandOutput) => void + ): void; + public createAnomalySubscription( + args: CreateAnomalySubscriptionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateAnomalySubscriptionCommandOutput) => void), + cb?: (err: any, data?: CreateAnomalySubscriptionCommandOutput) => void + ): Promise | void { + const command = new CreateAnomalySubscriptionCommand(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 Cost Category with the requested name and rules.

                  */ @@ -141,6 +258,70 @@ export class CostExplorer extends CostExplorerClient { } } + /** + *

                  Deletes a cost anomaly monitor.

                  + */ + public deleteAnomalyMonitor( + args: DeleteAnomalyMonitorCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteAnomalyMonitor( + args: DeleteAnomalyMonitorCommandInput, + cb: (err: any, data?: DeleteAnomalyMonitorCommandOutput) => void + ): void; + public deleteAnomalyMonitor( + args: DeleteAnomalyMonitorCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAnomalyMonitorCommandOutput) => void + ): void; + public deleteAnomalyMonitor( + args: DeleteAnomalyMonitorCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAnomalyMonitorCommandOutput) => void), + cb?: (err: any, data?: DeleteAnomalyMonitorCommandOutput) => void + ): Promise | void { + const command = new DeleteAnomalyMonitorCommand(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 cost anomaly subscription.

                  + */ + public deleteAnomalySubscription( + args: DeleteAnomalySubscriptionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteAnomalySubscription( + args: DeleteAnomalySubscriptionCommandInput, + cb: (err: any, data?: DeleteAnomalySubscriptionCommandOutput) => void + ): void; + public deleteAnomalySubscription( + args: DeleteAnomalySubscriptionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAnomalySubscriptionCommandOutput) => void + ): void; + public deleteAnomalySubscription( + args: DeleteAnomalySubscriptionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAnomalySubscriptionCommandOutput) => void), + cb?: (err: any, data?: DeleteAnomalySubscriptionCommandOutput) => void + ): Promise | void { + const command = new DeleteAnomalySubscriptionCommand(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 Cost Category. Expenses from this month going forward will no longer be categorized with this Cost Category.

                  */ @@ -206,13 +387,109 @@ export class CostExplorer extends CostExplorerClient { } } + /** + *

                  Retrieves all of the cost anomalies detected on your account, during the time period + * specified by the DateInterval object.

                  + */ + public getAnomalies( + args: GetAnomaliesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getAnomalies(args: GetAnomaliesCommandInput, cb: (err: any, data?: GetAnomaliesCommandOutput) => void): void; + public getAnomalies( + args: GetAnomaliesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetAnomaliesCommandOutput) => void + ): void; + public getAnomalies( + args: GetAnomaliesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetAnomaliesCommandOutput) => void), + cb?: (err: any, data?: GetAnomaliesCommandOutput) => void + ): Promise | void { + const command = new GetAnomaliesCommand(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 cost anomaly monitor definitions for your account. You can filter using a + * list of cost anomaly monitor Amazon Resource Names (ARNs).

                  + */ + public getAnomalyMonitors( + args: GetAnomalyMonitorsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getAnomalyMonitors( + args: GetAnomalyMonitorsCommandInput, + cb: (err: any, data?: GetAnomalyMonitorsCommandOutput) => void + ): void; + public getAnomalyMonitors( + args: GetAnomalyMonitorsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetAnomalyMonitorsCommandOutput) => void + ): void; + public getAnomalyMonitors( + args: GetAnomalyMonitorsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetAnomalyMonitorsCommandOutput) => void), + cb?: (err: any, data?: GetAnomalyMonitorsCommandOutput) => void + ): Promise | void { + const command = new GetAnomalyMonitorsCommand(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 cost anomaly subscription objects for your account. You can filter using a + * list of cost anomaly monitor Amazon Resource Names (ARNs).

                  + */ + public getAnomalySubscriptions( + args: GetAnomalySubscriptionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getAnomalySubscriptions( + args: GetAnomalySubscriptionsCommandInput, + cb: (err: any, data?: GetAnomalySubscriptionsCommandOutput) => void + ): void; + public getAnomalySubscriptions( + args: GetAnomalySubscriptionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetAnomalySubscriptionsCommandOutput) => void + ): void; + public getAnomalySubscriptions( + args: GetAnomalySubscriptionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetAnomalySubscriptionsCommandOutput) => void), + cb?: (err: any, data?: GetAnomalySubscriptionsCommandOutput) => void + ): Promise | void { + const command = new GetAnomalySubscriptionsCommand(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 cost and usage metrics for your account. You can specify which cost and 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 accounts in an organization in AWS Organizations have access to all member accounts.

                  + * operation. Master account in an organization in AWS Organizations have access to all member accounts.

                  */ public getCostAndUsage( args: GetCostAndUsageCommandInput, @@ -248,7 +525,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 accounts in an organization in AWS + * of valid dimensions, see the GetDimensionValues operation. Master 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.

                  @@ -462,7 +739,7 @@ export class CostExplorer extends CostExplorerClient { } /** - *

                  Retrieves the reservation utilization for your account. Master accounts in an organization have access to member accounts. + *

                  Retrieves the reservation utilization for your account. Master 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.

                  */ @@ -626,7 +903,7 @@ export class CostExplorer extends CostExplorerClient { } /** - *

                  Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Master accounts 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. Master 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.

                  *
                  @@ -786,6 +1063,103 @@ export class CostExplorer extends CostExplorerClient { } } + /** + *

                  Modifies the feedback property of a given cost anomaly.

                  + */ + public provideAnomalyFeedback( + args: ProvideAnomalyFeedbackCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public provideAnomalyFeedback( + args: ProvideAnomalyFeedbackCommandInput, + cb: (err: any, data?: ProvideAnomalyFeedbackCommandOutput) => void + ): void; + public provideAnomalyFeedback( + args: ProvideAnomalyFeedbackCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ProvideAnomalyFeedbackCommandOutput) => void + ): void; + public provideAnomalyFeedback( + args: ProvideAnomalyFeedbackCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ProvideAnomalyFeedbackCommandOutput) => void), + cb?: (err: any, data?: ProvideAnomalyFeedbackCommandOutput) => void + ): Promise | void { + const command = new ProvideAnomalyFeedbackCommand(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 cost anomaly monitor. The changes made are applied going forward, and + * does not change anomalies detected in the past.

                  + */ + public updateAnomalyMonitor( + args: UpdateAnomalyMonitorCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateAnomalyMonitor( + args: UpdateAnomalyMonitorCommandInput, + cb: (err: any, data?: UpdateAnomalyMonitorCommandOutput) => void + ): void; + public updateAnomalyMonitor( + args: UpdateAnomalyMonitorCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAnomalyMonitorCommandOutput) => void + ): void; + public updateAnomalyMonitor( + args: UpdateAnomalyMonitorCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateAnomalyMonitorCommandOutput) => void), + cb?: (err: any, data?: UpdateAnomalyMonitorCommandOutput) => void + ): Promise | void { + const command = new UpdateAnomalyMonitorCommand(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 cost anomaly monitor subscription.

                  + */ + public updateAnomalySubscription( + args: UpdateAnomalySubscriptionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateAnomalySubscription( + args: UpdateAnomalySubscriptionCommandInput, + cb: (err: any, data?: UpdateAnomalySubscriptionCommandOutput) => void + ): void; + public updateAnomalySubscription( + args: UpdateAnomalySubscriptionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAnomalySubscriptionCommandOutput) => void + ): void; + public updateAnomalySubscription( + args: UpdateAnomalySubscriptionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateAnomalySubscriptionCommandOutput) => void), + cb?: (err: any, data?: UpdateAnomalySubscriptionCommandOutput) => void + ): Promise | void { + const command = new UpdateAnomalySubscriptionCommand(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 Cost Category. Changes made to the Cost Category rules will be used to categorize the current month’s expenses and future expenses. This won’t change categorization for the previous months.

                  */ diff --git a/clients/client-cost-explorer/CostExplorerClient.ts b/clients/client-cost-explorer/CostExplorerClient.ts index a623853fb6b9..326a8e8bcb64 100644 --- a/clients/client-cost-explorer/CostExplorerClient.ts +++ b/clients/client-cost-explorer/CostExplorerClient.ts @@ -1,7 +1,23 @@ +import { + CreateAnomalyMonitorCommandInput, + CreateAnomalyMonitorCommandOutput, +} from "./commands/CreateAnomalyMonitorCommand"; +import { + CreateAnomalySubscriptionCommandInput, + CreateAnomalySubscriptionCommandOutput, +} from "./commands/CreateAnomalySubscriptionCommand"; import { CreateCostCategoryDefinitionCommandInput, CreateCostCategoryDefinitionCommandOutput, } from "./commands/CreateCostCategoryDefinitionCommand"; +import { + DeleteAnomalyMonitorCommandInput, + DeleteAnomalyMonitorCommandOutput, +} from "./commands/DeleteAnomalyMonitorCommand"; +import { + DeleteAnomalySubscriptionCommandInput, + DeleteAnomalySubscriptionCommandOutput, +} from "./commands/DeleteAnomalySubscriptionCommand"; import { DeleteCostCategoryDefinitionCommandInput, DeleteCostCategoryDefinitionCommandOutput, @@ -10,6 +26,12 @@ import { DescribeCostCategoryDefinitionCommandInput, DescribeCostCategoryDefinitionCommandOutput, } from "./commands/DescribeCostCategoryDefinitionCommand"; +import { GetAnomaliesCommandInput, GetAnomaliesCommandOutput } from "./commands/GetAnomaliesCommand"; +import { GetAnomalyMonitorsCommandInput, GetAnomalyMonitorsCommandOutput } from "./commands/GetAnomalyMonitorsCommand"; +import { + GetAnomalySubscriptionsCommandInput, + GetAnomalySubscriptionsCommandOutput, +} from "./commands/GetAnomalySubscriptionsCommand"; import { GetCostAndUsageCommandInput, GetCostAndUsageCommandOutput } from "./commands/GetCostAndUsageCommand"; import { GetCostAndUsageWithResourcesCommandInput, @@ -55,6 +77,18 @@ import { ListCostCategoryDefinitionsCommandInput, ListCostCategoryDefinitionsCommandOutput, } from "./commands/ListCostCategoryDefinitionsCommand"; +import { + ProvideAnomalyFeedbackCommandInput, + ProvideAnomalyFeedbackCommandOutput, +} from "./commands/ProvideAnomalyFeedbackCommand"; +import { + UpdateAnomalyMonitorCommandInput, + UpdateAnomalyMonitorCommandOutput, +} from "./commands/UpdateAnomalyMonitorCommand"; +import { + UpdateAnomalySubscriptionCommandInput, + UpdateAnomalySubscriptionCommandOutput, +} from "./commands/UpdateAnomalySubscriptionCommand"; import { UpdateCostCategoryDefinitionCommandInput, UpdateCostCategoryDefinitionCommandOutput, @@ -109,9 +143,16 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | CreateAnomalyMonitorCommandInput + | CreateAnomalySubscriptionCommandInput | CreateCostCategoryDefinitionCommandInput + | DeleteAnomalyMonitorCommandInput + | DeleteAnomalySubscriptionCommandInput | DeleteCostCategoryDefinitionCommandInput | DescribeCostCategoryDefinitionCommandInput + | GetAnomaliesCommandInput + | GetAnomalyMonitorsCommandInput + | GetAnomalySubscriptionsCommandInput | GetCostAndUsageCommandInput | GetCostAndUsageWithResourcesCommandInput | GetCostForecastCommandInput @@ -127,12 +168,22 @@ export type ServiceInputTypes = | GetTagsCommandInput | GetUsageForecastCommandInput | ListCostCategoryDefinitionsCommandInput + | ProvideAnomalyFeedbackCommandInput + | UpdateAnomalyMonitorCommandInput + | UpdateAnomalySubscriptionCommandInput | UpdateCostCategoryDefinitionCommandInput; export type ServiceOutputTypes = + | CreateAnomalyMonitorCommandOutput + | CreateAnomalySubscriptionCommandOutput | CreateCostCategoryDefinitionCommandOutput + | DeleteAnomalyMonitorCommandOutput + | DeleteAnomalySubscriptionCommandOutput | DeleteCostCategoryDefinitionCommandOutput | DescribeCostCategoryDefinitionCommandOutput + | GetAnomaliesCommandOutput + | GetAnomalyMonitorsCommandOutput + | GetAnomalySubscriptionsCommandOutput | GetCostAndUsageCommandOutput | GetCostAndUsageWithResourcesCommandOutput | GetCostForecastCommandOutput @@ -148,6 +199,9 @@ export type ServiceOutputTypes = | GetTagsCommandOutput | GetUsageForecastCommandOutput | ListCostCategoryDefinitionsCommandOutput + | ProvideAnomalyFeedbackCommandOutput + | UpdateAnomalyMonitorCommandOutput + | UpdateAnomalySubscriptionCommandOutput | UpdateCostCategoryDefinitionCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { diff --git a/clients/client-cost-explorer/commands/CreateAnomalyMonitorCommand.ts b/clients/client-cost-explorer/commands/CreateAnomalyMonitorCommand.ts new file mode 100644 index 000000000000..2b1a6c30c126 --- /dev/null +++ b/clients/client-cost-explorer/commands/CreateAnomalyMonitorCommand.ts @@ -0,0 +1,70 @@ +import { CostExplorerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostExplorerClient"; +import { CreateAnomalyMonitorRequest, CreateAnomalyMonitorResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateAnomalyMonitorCommand, + serializeAws_json1_1CreateAnomalyMonitorCommand, +} 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 CreateAnomalyMonitorCommandInput = CreateAnomalyMonitorRequest; +export type CreateAnomalyMonitorCommandOutput = CreateAnomalyMonitorResponse & __MetadataBearer; + +export class CreateAnomalyMonitorCommand extends $Command< + CreateAnomalyMonitorCommandInput, + CreateAnomalyMonitorCommandOutput, + CostExplorerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateAnomalyMonitorCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CostExplorerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateAnomalyMonitorRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateAnomalyMonitorResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateAnomalyMonitorCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateAnomalyMonitorCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateAnomalyMonitorCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cost-explorer/commands/CreateAnomalySubscriptionCommand.ts b/clients/client-cost-explorer/commands/CreateAnomalySubscriptionCommand.ts new file mode 100644 index 000000000000..b5cf79be953f --- /dev/null +++ b/clients/client-cost-explorer/commands/CreateAnomalySubscriptionCommand.ts @@ -0,0 +1,73 @@ +import { CostExplorerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostExplorerClient"; +import { CreateAnomalySubscriptionRequest, CreateAnomalySubscriptionResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateAnomalySubscriptionCommand, + serializeAws_json1_1CreateAnomalySubscriptionCommand, +} 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 CreateAnomalySubscriptionCommandInput = CreateAnomalySubscriptionRequest; +export type CreateAnomalySubscriptionCommandOutput = CreateAnomalySubscriptionResponse & __MetadataBearer; + +export class CreateAnomalySubscriptionCommand extends $Command< + CreateAnomalySubscriptionCommandInput, + CreateAnomalySubscriptionCommandOutput, + CostExplorerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateAnomalySubscriptionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CostExplorerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateAnomalySubscriptionRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateAnomalySubscriptionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateAnomalySubscriptionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateAnomalySubscriptionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1CreateAnomalySubscriptionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cost-explorer/commands/DeleteAnomalyMonitorCommand.ts b/clients/client-cost-explorer/commands/DeleteAnomalyMonitorCommand.ts new file mode 100644 index 000000000000..9c9ff4af486c --- /dev/null +++ b/clients/client-cost-explorer/commands/DeleteAnomalyMonitorCommand.ts @@ -0,0 +1,70 @@ +import { CostExplorerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostExplorerClient"; +import { DeleteAnomalyMonitorRequest, DeleteAnomalyMonitorResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteAnomalyMonitorCommand, + serializeAws_json1_1DeleteAnomalyMonitorCommand, +} 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 DeleteAnomalyMonitorCommandInput = DeleteAnomalyMonitorRequest; +export type DeleteAnomalyMonitorCommandOutput = DeleteAnomalyMonitorResponse & __MetadataBearer; + +export class DeleteAnomalyMonitorCommand extends $Command< + DeleteAnomalyMonitorCommandInput, + DeleteAnomalyMonitorCommandOutput, + CostExplorerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAnomalyMonitorCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CostExplorerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteAnomalyMonitorRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteAnomalyMonitorResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteAnomalyMonitorCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteAnomalyMonitorCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteAnomalyMonitorCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cost-explorer/commands/DeleteAnomalySubscriptionCommand.ts b/clients/client-cost-explorer/commands/DeleteAnomalySubscriptionCommand.ts new file mode 100644 index 000000000000..be52e7bd8d17 --- /dev/null +++ b/clients/client-cost-explorer/commands/DeleteAnomalySubscriptionCommand.ts @@ -0,0 +1,73 @@ +import { CostExplorerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostExplorerClient"; +import { DeleteAnomalySubscriptionRequest, DeleteAnomalySubscriptionResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteAnomalySubscriptionCommand, + serializeAws_json1_1DeleteAnomalySubscriptionCommand, +} 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 DeleteAnomalySubscriptionCommandInput = DeleteAnomalySubscriptionRequest; +export type DeleteAnomalySubscriptionCommandOutput = DeleteAnomalySubscriptionResponse & __MetadataBearer; + +export class DeleteAnomalySubscriptionCommand extends $Command< + DeleteAnomalySubscriptionCommandInput, + DeleteAnomalySubscriptionCommandOutput, + CostExplorerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAnomalySubscriptionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CostExplorerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteAnomalySubscriptionRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteAnomalySubscriptionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteAnomalySubscriptionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteAnomalySubscriptionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DeleteAnomalySubscriptionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cost-explorer/commands/GetAnomaliesCommand.ts b/clients/client-cost-explorer/commands/GetAnomaliesCommand.ts new file mode 100644 index 000000000000..56a5b5cc978f --- /dev/null +++ b/clients/client-cost-explorer/commands/GetAnomaliesCommand.ts @@ -0,0 +1,70 @@ +import { CostExplorerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostExplorerClient"; +import { GetAnomaliesRequest, GetAnomaliesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetAnomaliesCommand, + serializeAws_json1_1GetAnomaliesCommand, +} 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 GetAnomaliesCommandInput = GetAnomaliesRequest; +export type GetAnomaliesCommandOutput = GetAnomaliesResponse & __MetadataBearer; + +export class GetAnomaliesCommand extends $Command< + GetAnomaliesCommandInput, + GetAnomaliesCommandOutput, + CostExplorerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetAnomaliesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CostExplorerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetAnomaliesRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetAnomaliesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetAnomaliesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetAnomaliesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetAnomaliesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cost-explorer/commands/GetAnomalyMonitorsCommand.ts b/clients/client-cost-explorer/commands/GetAnomalyMonitorsCommand.ts new file mode 100644 index 000000000000..bf165b990686 --- /dev/null +++ b/clients/client-cost-explorer/commands/GetAnomalyMonitorsCommand.ts @@ -0,0 +1,70 @@ +import { CostExplorerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostExplorerClient"; +import { GetAnomalyMonitorsRequest, GetAnomalyMonitorsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetAnomalyMonitorsCommand, + serializeAws_json1_1GetAnomalyMonitorsCommand, +} 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 GetAnomalyMonitorsCommandInput = GetAnomalyMonitorsRequest; +export type GetAnomalyMonitorsCommandOutput = GetAnomalyMonitorsResponse & __MetadataBearer; + +export class GetAnomalyMonitorsCommand extends $Command< + GetAnomalyMonitorsCommandInput, + GetAnomalyMonitorsCommandOutput, + CostExplorerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetAnomalyMonitorsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CostExplorerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetAnomalyMonitorsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetAnomalyMonitorsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetAnomalyMonitorsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetAnomalyMonitorsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetAnomalyMonitorsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cost-explorer/commands/GetAnomalySubscriptionsCommand.ts b/clients/client-cost-explorer/commands/GetAnomalySubscriptionsCommand.ts new file mode 100644 index 000000000000..dd93310bb84f --- /dev/null +++ b/clients/client-cost-explorer/commands/GetAnomalySubscriptionsCommand.ts @@ -0,0 +1,70 @@ +import { CostExplorerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostExplorerClient"; +import { GetAnomalySubscriptionsRequest, GetAnomalySubscriptionsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetAnomalySubscriptionsCommand, + serializeAws_json1_1GetAnomalySubscriptionsCommand, +} 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 GetAnomalySubscriptionsCommandInput = GetAnomalySubscriptionsRequest; +export type GetAnomalySubscriptionsCommandOutput = GetAnomalySubscriptionsResponse & __MetadataBearer; + +export class GetAnomalySubscriptionsCommand extends $Command< + GetAnomalySubscriptionsCommandInput, + GetAnomalySubscriptionsCommandOutput, + CostExplorerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetAnomalySubscriptionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CostExplorerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetAnomalySubscriptionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetAnomalySubscriptionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetAnomalySubscriptionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetAnomalySubscriptionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetAnomalySubscriptionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cost-explorer/commands/ProvideAnomalyFeedbackCommand.ts b/clients/client-cost-explorer/commands/ProvideAnomalyFeedbackCommand.ts new file mode 100644 index 000000000000..1926ffbc96f4 --- /dev/null +++ b/clients/client-cost-explorer/commands/ProvideAnomalyFeedbackCommand.ts @@ -0,0 +1,70 @@ +import { CostExplorerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostExplorerClient"; +import { ProvideAnomalyFeedbackRequest, ProvideAnomalyFeedbackResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ProvideAnomalyFeedbackCommand, + serializeAws_json1_1ProvideAnomalyFeedbackCommand, +} 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 ProvideAnomalyFeedbackCommandInput = ProvideAnomalyFeedbackRequest; +export type ProvideAnomalyFeedbackCommandOutput = ProvideAnomalyFeedbackResponse & __MetadataBearer; + +export class ProvideAnomalyFeedbackCommand extends $Command< + ProvideAnomalyFeedbackCommandInput, + ProvideAnomalyFeedbackCommandOutput, + CostExplorerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ProvideAnomalyFeedbackCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CostExplorerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ProvideAnomalyFeedbackRequest.filterSensitiveLog, + outputFilterSensitiveLog: ProvideAnomalyFeedbackResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ProvideAnomalyFeedbackCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ProvideAnomalyFeedbackCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ProvideAnomalyFeedbackCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cost-explorer/commands/UpdateAnomalyMonitorCommand.ts b/clients/client-cost-explorer/commands/UpdateAnomalyMonitorCommand.ts new file mode 100644 index 000000000000..b8039c836838 --- /dev/null +++ b/clients/client-cost-explorer/commands/UpdateAnomalyMonitorCommand.ts @@ -0,0 +1,70 @@ +import { CostExplorerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostExplorerClient"; +import { UpdateAnomalyMonitorRequest, UpdateAnomalyMonitorResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateAnomalyMonitorCommand, + serializeAws_json1_1UpdateAnomalyMonitorCommand, +} 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 UpdateAnomalyMonitorCommandInput = UpdateAnomalyMonitorRequest; +export type UpdateAnomalyMonitorCommandOutput = UpdateAnomalyMonitorResponse & __MetadataBearer; + +export class UpdateAnomalyMonitorCommand extends $Command< + UpdateAnomalyMonitorCommandInput, + UpdateAnomalyMonitorCommandOutput, + CostExplorerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateAnomalyMonitorCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CostExplorerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateAnomalyMonitorRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateAnomalyMonitorResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateAnomalyMonitorCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateAnomalyMonitorCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateAnomalyMonitorCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cost-explorer/commands/UpdateAnomalySubscriptionCommand.ts b/clients/client-cost-explorer/commands/UpdateAnomalySubscriptionCommand.ts new file mode 100644 index 000000000000..7281ba598c67 --- /dev/null +++ b/clients/client-cost-explorer/commands/UpdateAnomalySubscriptionCommand.ts @@ -0,0 +1,73 @@ +import { CostExplorerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostExplorerClient"; +import { UpdateAnomalySubscriptionRequest, UpdateAnomalySubscriptionResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateAnomalySubscriptionCommand, + serializeAws_json1_1UpdateAnomalySubscriptionCommand, +} 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 UpdateAnomalySubscriptionCommandInput = UpdateAnomalySubscriptionRequest; +export type UpdateAnomalySubscriptionCommandOutput = UpdateAnomalySubscriptionResponse & __MetadataBearer; + +export class UpdateAnomalySubscriptionCommand extends $Command< + UpdateAnomalySubscriptionCommandInput, + UpdateAnomalySubscriptionCommandOutput, + CostExplorerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateAnomalySubscriptionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: CostExplorerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateAnomalySubscriptionRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateAnomalySubscriptionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateAnomalySubscriptionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateAnomalySubscriptionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1UpdateAnomalySubscriptionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-cost-explorer/index.ts b/clients/client-cost-explorer/index.ts index b96f705c23ea..b3d1503f7ebc 100644 --- a/clients/client-cost-explorer/index.ts +++ b/clients/client-cost-explorer/index.ts @@ -1,8 +1,15 @@ export * from "./CostExplorerClient"; export * from "./CostExplorer"; +export * from "./commands/CreateAnomalyMonitorCommand"; +export * from "./commands/CreateAnomalySubscriptionCommand"; export * from "./commands/CreateCostCategoryDefinitionCommand"; +export * from "./commands/DeleteAnomalyMonitorCommand"; +export * from "./commands/DeleteAnomalySubscriptionCommand"; export * from "./commands/DeleteCostCategoryDefinitionCommand"; export * from "./commands/DescribeCostCategoryDefinitionCommand"; +export * from "./commands/GetAnomaliesCommand"; +export * from "./commands/GetAnomalyMonitorsCommand"; +export * from "./commands/GetAnomalySubscriptionsCommand"; export * from "./commands/GetCostAndUsageCommand"; export * from "./commands/GetCostAndUsageWithResourcesCommand"; export * from "./commands/GetCostForecastCommand"; @@ -21,6 +28,9 @@ export * from "./commands/GetTagsCommand"; export * from "./commands/GetUsageForecastCommand"; export * from "./commands/ListCostCategoryDefinitionsCommand"; export * from "./pagination/ListCostCategoryDefinitionsPaginator"; +export * from "./commands/ProvideAnomalyFeedbackCommand"; +export * from "./commands/UpdateAnomalyMonitorCommand"; +export * from "./commands/UpdateAnomalySubscriptionCommand"; export * from "./commands/UpdateCostCategoryDefinitionCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-cost-explorer/models/models_0.ts b/clients/client-cost-explorer/models/models_0.ts index 3237445defad..8ef035d93b10 100644 --- a/clients/client-cost-explorer/models/models_0.ts +++ b/clients/client-cost-explorer/models/models_0.ts @@ -6,6 +6,219 @@ export enum AccountScope { PAYER = "PAYER", } +/** + *

                  Quantifies the anomaly. The higher score means that it is more anomalous.

                  + */ +export interface AnomalyScore { + /** + *

                  + * The last observed score. + *

                  + */ + CurrentScore: number | undefined; + + /** + *

                  + * The maximum score observed during the AnomalyDateInterval. + *

                  + */ + MaxScore: number | undefined; +} + +export namespace AnomalyScore { + export const filterSensitiveLog = (obj: AnomalyScore): any => ({ + ...obj, + }); +} + +export enum AnomalyFeedbackType { + NO = "NO", + PLANNED_ACTIVITY = "PLANNED_ACTIVITY", + YES = "YES", +} + +/** + *

                  + * The anomaly's dollar value. + *

                  + */ +export interface Impact { + /** + *

                  + * The maximum dollar value observed for an anomaly. + *

                  + */ + MaxImpact: number | undefined; + + /** + *

                  + * The cumulative dollar value observed for an anomaly. + *

                  + */ + TotalImpact?: number; +} + +export namespace Impact { + export const filterSensitiveLog = (obj: Impact): any => ({ + ...obj, + }); +} + +/** + *

                  + * The combination of AWS service, linked account, Region, and usage type where a cost anomaly is observed. + *

                  + */ +export interface RootCause { + /** + *

                  + * The AWS service name associated with the cost anomaly. + *

                  + */ + Service?: string; + + /** + *

                  + * The linked account value associated with the cost anomaly. + *

                  + */ + LinkedAccount?: string; + + /** + *

                  + * The UsageType value associated with the cost anomaly. + *

                  + */ + UsageType?: string; + + /** + *

                  + * The AWS Region associated with the cost anomaly. + *

                  + */ + Region?: string; +} + +export namespace RootCause { + export const filterSensitiveLog = (obj: RootCause): any => ({ + ...obj, + }); +} + +/** + *

                  + * An unusual cost pattern. This consists of the detailed metadata and the current status of the anomaly object. + *

                  + */ +export interface Anomaly { + /** + *

                  + * The dimension for the anomaly. For example, an AWS service in a service monitor. + *

                  + */ + DimensionValue?: string; + + /** + *

                  + * The last day the anomaly is detected. + *

                  + */ + AnomalyEndDate?: string; + + /** + *

                  The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.

                  + */ + MonitorArn: string | undefined; + + /** + *

                  + * The list of identified root causes for the anomaly. + *

                  + */ + RootCauses?: RootCause[]; + + /** + *

                  + * The first day the anomaly is detected. + *

                  + */ + AnomalyStartDate?: string; + + /** + *

                  + * The feedback value. + *

                  + */ + Feedback?: AnomalyFeedbackType | string; + + /** + *

                  + * The latest and maximum score for the anomaly. + *

                  + */ + AnomalyScore: AnomalyScore | undefined; + + /** + *

                  + * The dollar impact for the anomaly. + *

                  + */ + Impact: Impact | undefined; + + /** + *

                  + * The unique identifier for the anomaly. + *

                  + */ + AnomalyId: string | undefined; +} + +export namespace Anomaly { + export const filterSensitiveLog = (obj: Anomaly): any => ({ + ...obj, + }); +} + +/** + *

                  + * The time period for an anomaly. + *

                  + */ +export interface AnomalyDateInterval { + /** + *

                  + * The first date an anomaly was observed. + *

                  + */ + StartDate: string | undefined; + + /** + *

                  + * The last date an anomaly was observed. + *

                  + */ + EndDate?: string; +} + +export namespace AnomalyDateInterval { + export const filterSensitiveLog = (obj: AnomalyDateInterval): any => ({ + ...obj, + }); +} + +export enum MonitorDimension { + SERVICE = "SERVICE", +} + +export enum MatchOption { + CASE_INSENSITIVE = "CASE_INSENSITIVE", + CASE_SENSITIVE = "CASE_SENSITIVE", + CONTAINS = "CONTAINS", + ENDS_WITH = "ENDS_WITH", + EQUALS = "EQUALS", + STARTS_WITH = "STARTS_WITH", +} + /** *

                  The Cost Categories values used for filtering the costs.

                  */ @@ -15,6 +228,13 @@ export interface CostCategoryValues { */ Values?: string[]; + /** + *

                  + * 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. + *

                  + */ + MatchOptions?: (MatchOption | string)[]; + /** *

                  The unique name of the Cost Category.

                  */ @@ -59,30 +279,24 @@ export enum Dimension { USAGE_TYPE_GROUP = "USAGE_TYPE_GROUP", } -export enum MatchOption { - CASE_INSENSITIVE = "CASE_INSENSITIVE", - CASE_SENSITIVE = "CASE_SENSITIVE", - CONTAINS = "CONTAINS", - ENDS_WITH = "ENDS_WITH", - EQUALS = "EQUALS", - STARTS_WITH = "STARTS_WITH", -} - /** *

                  The metadata that you can use to filter and group your results. You can use * GetDimensionValues to find specific values.

                  */ export interface DimensionValues { /** - *

                  The metadata values that you can use to filter and group your results. You can use - * GetDimensionValues to find specific values.

                  + *

                  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.

                  */ - Values?: string[]; + MatchOptions?: (MatchOption | string)[]; /** - *

                  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 is EQUALS and CASE_SENSITIVE.

                  + *

                  The metadata values that you can use to filter and group your results. You can use + * GetDimensionValues to find specific values.

                  */ - MatchOptions?: (MatchOption | string)[]; + Values?: string[]; /** *

                  The names of the metadata types that you can use to filter and group your results. @@ -112,7 +326,10 @@ export interface TagValues { Key?: string; /** - *

                  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.

                  + *

                  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.

                  */ MatchOptions?: (MatchOption | string)[]; } @@ -123,334 +340,515 @@ export namespace TagValues { }); } -export enum CostCategoryRuleVersion { - CostCategoryExpressionV1 = "CostCategoryExpression.v1", +export enum MonitorType { + CUSTOM = "CUSTOM", + DIMENSIONAL = "DIMENSIONAL", } -export interface CreateCostCategoryDefinitionResponse { +export enum AnomalySubscriptionFrequency { + DAILY = "DAILY", + IMMEDIATE = "IMMEDIATE", + WEEKLY = "WEEKLY", +} + +export enum SubscriberStatus { + CONFIRMED = "CONFIRMED", + DECLINED = "DECLINED", +} + +export enum SubscriberType { + EMAIL = "EMAIL", + SNS = "SNS", +} + +/** + *

                  + * The recipient of AnomalySubscription notifications. + *

                  + */ +export interface Subscriber { /** - *

                  - * The Cost Category's effective start date. - *

                  + *

                  Indicates if the subscriber accepts the notifications.

                  */ - EffectiveStart?: string; + Status?: SubscriberStatus | string; /** *

                  - * The unique identifier for your newly created Cost Category. + * The notification delivery channel. *

                  */ - CostCategoryArn?: string; -} - -export namespace CreateCostCategoryDefinitionResponse { - export const filterSensitiveLog = (obj: CreateCostCategoryDefinitionResponse): any => ({ - ...obj, - }); -} + Type?: SubscriberType | string; -/** - *

                  You made too many calls in a short period of time. Try again later.

                  - */ -export interface LimitExceededException extends __SmithyException, $MetadataBearer { - name: "LimitExceededException"; - $fault: "client"; - Message?: string; + /** + *

                  The email address or SNS Amazon Resource Name (ARN), depending on the Type.

                  + */ + Address?: string; } -export namespace LimitExceededException { - export const filterSensitiveLog = (obj: LimitExceededException): any => ({ +export namespace Subscriber { + export const filterSensitiveLog = (obj: Subscriber): any => ({ ...obj, }); } /** *

                  - * You've reached the limit on the number of resources you can create, or exceeded the size of an individual resources. - *

                  + * The association between a monitor, threshold, and list of subscribers used to deliver notifications about anomalies detected by a monitor that exceeds a threshold. The content consists of the detailed metadata and the current status of the AnomalySubscription object. + *

                  */ -export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { - name: "ServiceQuotaExceededException"; - $fault: "client"; - Message?: string; -} +export interface AnomalySubscription { + /** + *

                  + * The name for the subscription. + *

                  + */ + SubscriptionName: string | undefined; -export namespace ServiceQuotaExceededException { - export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ - ...obj, - }); -} + /** + *

                  + * The dollar value that triggers a notification if the threshold is exceeded. + *

                  + */ + Threshold: number | undefined; + + /** + *

                  The AnomalySubscription Amazon Resource Name (ARN).

                  + */ + SubscriptionArn?: string; -export interface DeleteCostCategoryDefinitionRequest { /** *

                  - * The unique identifier for your Cost Category. + * A list of subscribers to notify. *

                  */ - CostCategoryArn: string | undefined; -} + Subscribers: Subscriber[] | undefined; -export namespace DeleteCostCategoryDefinitionRequest { - export const filterSensitiveLog = (obj: DeleteCostCategoryDefinitionRequest): any => ({ - ...obj, - }); -} + /** + *

                  + * The frequency at which anomaly reports are sent over email. + *

                  + */ + Frequency: AnomalySubscriptionFrequency | string | undefined; -export interface DeleteCostCategoryDefinitionResponse { /** *

                  - * The unique identifier for your Cost Category. + * A list of cost anomaly monitors. *

                  */ - CostCategoryArn?: string; + MonitorArnList: string[] | undefined; /** *

                  - * 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. + * Your unique account identifier. *

                  */ - EffectiveEnd?: string; + AccountId?: string; } -export namespace DeleteCostCategoryDefinitionResponse { - export const filterSensitiveLog = (obj: DeleteCostCategoryDefinitionResponse): any => ({ +export namespace AnomalySubscription { + export const filterSensitiveLog = (obj: AnomalySubscription): any => ({ ...obj, }); } -/** - *

                  - * The specified ARN in the request doesn't exist. - *

                  - */ -export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { - name: "ResourceNotFoundException"; +export interface CreateAnomalyMonitorResponse { + /** + *

                  The unique identifier of your newly created cost anomaly detection monitor.

                  + */ + MonitorArn: string | undefined; +} + +export namespace CreateAnomalyMonitorResponse { + export const filterSensitiveLog = (obj: CreateAnomalyMonitorResponse): any => ({ + ...obj, + }); +} + +/** + *

                  You made too many calls in a short period of time. Try again later.

                  + */ +export interface LimitExceededException extends __SmithyException, $MetadataBearer { + name: "LimitExceededException"; $fault: "client"; Message?: string; } -export namespace ResourceNotFoundException { - export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ +export namespace LimitExceededException { + export const filterSensitiveLog = (obj: LimitExceededException): any => ({ ...obj, }); } -export interface DescribeCostCategoryDefinitionRequest { +export interface CreateAnomalySubscriptionRequest { /** *

                  - * The unique identifier for your Cost Category. + * The cost anomaly subscription object that you want to create. *

                  */ - CostCategoryArn: string | undefined; + AnomalySubscription: AnomalySubscription | undefined; +} + +export namespace CreateAnomalySubscriptionRequest { + export const filterSensitiveLog = (obj: CreateAnomalySubscriptionRequest): any => ({ + ...obj, + }); +} +export interface CreateAnomalySubscriptionResponse { /** *

                  - * The date when the Cost Category was effective. + * The unique identifier of your newly created cost anomaly subscription. *

                  */ - EffectiveOn?: string; + SubscriptionArn: string | undefined; } -export namespace DescribeCostCategoryDefinitionRequest { - export const filterSensitiveLog = (obj: DescribeCostCategoryDefinitionRequest): any => ({ +export namespace CreateAnomalySubscriptionResponse { + export const filterSensitiveLog = (obj: CreateAnomalySubscriptionResponse): any => ({ ...obj, }); } /** - *

                  The requested report expired. Update the date interval and try again.

                  + *

                  The cost anomaly monitor does not exist for the account. + *

                  */ -export interface BillExpirationException extends __SmithyException, $MetadataBearer { - name: "BillExpirationException"; +export interface UnknownMonitorException extends __SmithyException, $MetadataBearer { + name: "UnknownMonitorException"; $fault: "client"; Message?: string; } -export namespace BillExpirationException { - export const filterSensitiveLog = (obj: BillExpirationException): any => ({ +export namespace UnknownMonitorException { + export const filterSensitiveLog = (obj: UnknownMonitorException): any => ({ + ...obj, + }); +} + +export enum CostCategoryRuleVersion { + CostCategoryExpressionV1 = "CostCategoryExpression.v1", +} + +export interface CreateCostCategoryDefinitionResponse { + /** + *

                  + * The Cost Category's effective start date. + *

                  + */ + EffectiveStart?: string; + + /** + *

                  + * The unique identifier for your newly created Cost Category. + *

                  + */ + CostCategoryArn?: string; +} + +export namespace CreateCostCategoryDefinitionResponse { + export const filterSensitiveLog = (obj: CreateCostCategoryDefinitionResponse): any => ({ ...obj, }); } /** - *

                  The requested data is unavailable.

                  + *

                  You've reached the limit on the number of resources you can create, or exceeded the + * size of an individual resource.

                  */ -export interface DataUnavailableException extends __SmithyException, $MetadataBearer { - name: "DataUnavailableException"; +export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { + name: "ServiceQuotaExceededException"; $fault: "client"; Message?: string; } -export namespace DataUnavailableException { - export const filterSensitiveLog = (obj: DataUnavailableException): any => ({ +export namespace ServiceQuotaExceededException { + export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ ...obj, }); } -export enum Granularity { - DAILY = "DAILY", - HOURLY = "HOURLY", - MONTHLY = "MONTHLY", +export interface DeleteAnomalyMonitorRequest { + /** + *

                  The unique identifier of the cost anomaly monitor that you want to delete.

                  + */ + MonitorArn: string | undefined; } -export enum GroupDefinitionType { - COST_CATEGORY = "COST_CATEGORY", - DIMENSION = "DIMENSION", - TAG = "TAG", +export namespace DeleteAnomalyMonitorRequest { + export const filterSensitiveLog = (obj: DeleteAnomalyMonitorRequest): any => ({ + ...obj, + }); } -/** - *

                  Represents a group when you specify a group by criteria or in the response to a - * query with a specific grouping.

                  - */ -export interface GroupDefinition { - /** - *

                  The string that represents the type of group.

                  - */ - Type?: GroupDefinitionType | string; +export interface DeleteAnomalyMonitorResponse {} + +export namespace DeleteAnomalyMonitorResponse { + export const filterSensitiveLog = (obj: DeleteAnomalyMonitorResponse): any => ({ + ...obj, + }); +} +export interface DeleteAnomalySubscriptionRequest { /** - *

                  The string that represents a key for a specified group.

                  + *

                  The unique identifier of the cost anomaly subscription that you want to delete.

                  */ - Key?: string; + SubscriptionArn: string | undefined; } -export namespace GroupDefinition { - export const filterSensitiveLog = (obj: GroupDefinition): any => ({ +export namespace DeleteAnomalySubscriptionRequest { + export const filterSensitiveLog = (obj: DeleteAnomalySubscriptionRequest): any => ({ + ...obj, + }); +} + +export interface DeleteAnomalySubscriptionResponse {} + +export namespace DeleteAnomalySubscriptionResponse { + export const filterSensitiveLog = (obj: DeleteAnomalySubscriptionResponse): any => ({ ...obj, }); } /** - *

                  The time period that you want the usage and costs for. + *

                  The cost anomaly subscription does not exist for the account. *

                  */ -export interface DateInterval { +export interface UnknownSubscriptionException extends __SmithyException, $MetadataBearer { + name: "UnknownSubscriptionException"; + $fault: "client"; + Message?: string; +} + +export namespace UnknownSubscriptionException { + export const filterSensitiveLog = (obj: UnknownSubscriptionException): any => ({ + ...obj, + }); +} + +export interface DeleteCostCategoryDefinitionRequest { /** - *

                  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 - * retrieves cost and usage data starting at 2017-01-01 up to the end - * date.

                  + *

                  + * The unique identifier for your Cost Category. + *

                  */ - Start: string | undefined; + CostCategoryArn: string | undefined; +} + +export namespace DeleteCostCategoryDefinitionRequest { + export const filterSensitiveLog = (obj: DeleteCostCategoryDefinitionRequest): any => ({ + ...obj, + }); +} +export interface DeleteCostCategoryDefinitionResponse { /** - *

                  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.

                  + *

                  + * 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. + *

                  */ - End: string | undefined; + EffectiveEnd?: string; + + /** + *

                  + * The unique identifier for your Cost Category. + *

                  + */ + CostCategoryArn?: string; } -export namespace DateInterval { - export const filterSensitiveLog = (obj: DateInterval): any => ({ +export namespace DeleteCostCategoryDefinitionResponse { + export const filterSensitiveLog = (obj: DeleteCostCategoryDefinitionResponse): any => ({ ...obj, }); } /** - *

                  The aggregated value for a metric.

                  + *

                  + * The specified ARN in the request doesn't exist. + *

                  */ -export interface MetricValue { +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + Message?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +export interface DescribeCostCategoryDefinitionRequest { /** - *

                  The unit that the metric is given in.

                  + *

                  + * The date when the Cost Category was effective. + *

                  */ - Unit?: string; + EffectiveOn?: string; /** - *

                  The actual number that represents the metric.

                  + *

                  + * The unique identifier for your Cost Category. + *

                  */ - Amount?: string; + CostCategoryArn: string | undefined; } -export namespace MetricValue { - export const filterSensitiveLog = (obj: MetricValue): any => ({ +export namespace DescribeCostCategoryDefinitionRequest { + export const filterSensitiveLog = (obj: DescribeCostCategoryDefinitionRequest): any => ({ ...obj, }); } +export enum CostCategoryStatusComponent { + COST_EXPLORER = "COST_EXPLORER", +} + +export enum CostCategoryStatus { + APPLIED = "APPLIED", + PROCESSING = "PROCESSING", +} + /** - *

                  One level of grouped data in the results.

                  + *

                  + * The list of processing statuses for Cost Management products for a specific cost category. + *

                  */ -export interface Group { +export interface CostCategoryProcessingStatus { /** - *

                  The metrics that are included in this group.

                  + *

                  + * The Cost Management product name of the applied status. + *

                  */ - Metrics?: { [key: string]: MetricValue }; + Component?: CostCategoryStatusComponent | string; /** - *

                  The keys that are included in this group.

                  + *

                  + * The process status for a specific cost category. + *

                  */ - Keys?: string[]; + Status?: CostCategoryStatus | string; } -export namespace Group { - export const filterSensitiveLog = (obj: Group): any => ({ +export namespace CostCategoryProcessingStatus { + export const filterSensitiveLog = (obj: CostCategoryProcessingStatus): any => ({ ...obj, }); } +export enum NumericOperator { + BETWEEN = "BETWEEN", + EQUAL = "EQUAL", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL = "GREATER_THAN_OR_EQUAL", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL = "LESS_THAN_OR_EQUAL", +} + /** - *

                  The result that is associated with a time period.

                  + *

                  Filters cost anomalies based on the total impact.

                  */ -export interface ResultByTime { - /** - *

                  The time period that the result covers.

                  - */ - TimePeriod?: DateInterval; - +export interface TotalImpactFilter { /** - *

                  The total amount of cost or usage accrued during the time period.

                  + *

                  + * The comparing value used in the filter. + *

                  */ - Total?: { [key: string]: MetricValue }; + NumericOperator: NumericOperator | string | undefined; /** - *

                  The groups that this time period includes.

                  + *

                  The upper bound dollar value used in the filter.

                  */ - Groups?: Group[]; + EndValue?: number; /** - *

                  Whether - * the result is estimated.

                  + *

                  + * The lower bound dollar value used in the filter. + *

                  */ - Estimated?: boolean; + StartValue: number | undefined; } -export namespace ResultByTime { - export const filterSensitiveLog = (obj: ResultByTime): any => ({ +export namespace TotalImpactFilter { + export const filterSensitiveLog = (obj: TotalImpactFilter): any => ({ ...obj, }); } -export interface GetCostAndUsageResponse { +export interface GetAnomaliesRequest { /** - *

                  The groups that are specified by the Filter or GroupBy parameters in the request.

                  + *

                  + * 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. + *

                  */ - 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.

                  + *

                  Assigns the start and end dates for retrieving cost anomalies. The returned anomaly object + * will have an AnomalyEndDate in the specified time range.

                  */ - NextPageToken?: string; + DateInterval: AnomalyDateInterval | undefined; /** - *

                  The time period that is covered by the results in the response.

                  + *

                  Retrieves all of the cost anomalies detected for a specific cost anomaly monitor Amazon + * Resource Name (ARN).

                  */ - ResultsByTime?: ResultByTime[]; + MonitorArn?: string; + + /** + *

                  Filters anomaly results by the total impact field on the anomaly object. For example, you + * can filter anomalies GREATER_THAN 200.00 to retrieve anomalies, with an estimated + * dollar impact greater than 200.

                  + */ + TotalImpact?: TotalImpactFilter; + + /** + *

                  + * The number of entries a paginated response contains. + *

                  + */ + MaxResults?: number; + + /** + *

                  Filters anomaly results by the feedback field on the anomaly object.

                  + */ + Feedback?: AnomalyFeedbackType | string; } -export namespace GetCostAndUsageResponse { - export const filterSensitiveLog = (obj: GetCostAndUsageResponse): any => ({ +export namespace GetAnomaliesRequest { + export const filterSensitiveLog = (obj: GetAnomaliesRequest): any => ({ ...obj, }); } -/** - *

                  The pagination token is invalid. Try again without a pagination token.

                  - */ -export interface InvalidNextTokenException extends __SmithyException, $MetadataBearer { - name: "InvalidNextTokenException"; +export interface GetAnomaliesResponse { + /** + *

                  + * A list of cost anomalies. + *

                  + */ + Anomalies: Anomaly[] | 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; +} + +export namespace GetAnomaliesResponse { + export const filterSensitiveLog = (obj: GetAnomaliesResponse): any => ({ + ...obj, + }); +} + +/** + *

                  The pagination token is invalid. Try again without a pagination token.

                  + */ +export interface InvalidNextTokenException extends __SmithyException, $MetadataBearer { + name: "InvalidNextTokenException"; $fault: "client"; Message?: string; } @@ -461,6 +859,282 @@ export namespace InvalidNextTokenException { }); } +export interface GetAnomalyMonitorsRequest { + /** + *

                  + * A list of cost anomaly monitor ARNs. + *

                  + */ + MonitorArnList?: string[]; + + /** + *

                  + * The number of entries a paginated response contains. + *

                  + */ + MaxResults?: number; + + /** + *

                  + * 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; +} + +export namespace GetAnomalyMonitorsRequest { + export const filterSensitiveLog = (obj: GetAnomalyMonitorsRequest): any => ({ + ...obj, + }); +} + +export interface GetAnomalySubscriptionsRequest { + /** + *

                  + * Cost anomaly monitor ARNs. + *

                  + */ + MonitorArn?: string; + + /** + *

                  + * The number of entries a paginated response contains. + *

                  + */ + MaxResults?: number; + + /** + *

                  + * A list of cost anomaly subscription ARNs. + *

                  + */ + SubscriptionArnList?: 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. + *

                  + */ + NextPageToken?: string; +} + +export namespace GetAnomalySubscriptionsRequest { + export const filterSensitiveLog = (obj: GetAnomalySubscriptionsRequest): any => ({ + ...obj, + }); +} + +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. + *

                  + */ + NextPageToken?: string; + + /** + *

                  + * A list of cost anomaly subscriptions that includes the detailed metadata for each one. + *

                  + */ + AnomalySubscriptions: AnomalySubscription[] | undefined; +} + +export namespace GetAnomalySubscriptionsResponse { + export const filterSensitiveLog = (obj: GetAnomalySubscriptionsResponse): any => ({ + ...obj, + }); +} + +/** + *

                  The requested report expired. Update the date interval and try again.

                  + */ +export interface BillExpirationException extends __SmithyException, $MetadataBearer { + name: "BillExpirationException"; + $fault: "client"; + Message?: string; +} + +export namespace BillExpirationException { + export const filterSensitiveLog = (obj: BillExpirationException): any => ({ + ...obj, + }); +} + +/** + *

                  The requested data is unavailable.

                  + */ +export interface DataUnavailableException extends __SmithyException, $MetadataBearer { + name: "DataUnavailableException"; + $fault: "client"; + Message?: string; +} + +export namespace DataUnavailableException { + export const filterSensitiveLog = (obj: DataUnavailableException): any => ({ + ...obj, + }); +} + +export enum Granularity { + DAILY = "DAILY", + HOURLY = "HOURLY", + MONTHLY = "MONTHLY", +} + +export enum GroupDefinitionType { + COST_CATEGORY = "COST_CATEGORY", + DIMENSION = "DIMENSION", + TAG = "TAG", +} + +/** + *

                  Represents a group when you specify a group by criteria or in the response to a + * query with a specific grouping.

                  + */ +export interface GroupDefinition { + /** + *

                  The string that represents the type of group.

                  + */ + Type?: GroupDefinitionType | string; + + /** + *

                  The string that represents a key for a specified group.

                  + */ + Key?: string; +} + +export namespace GroupDefinition { + export const filterSensitiveLog = (obj: GroupDefinition): any => ({ + ...obj, + }); +} + +/** + *

                  The time period that you want the usage and costs for. + *

                  + */ +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 + * retrieves cost and usage data starting at 2017-01-01 up to the end + * date.

                  + */ + Start: string | undefined; +} + +export namespace DateInterval { + export const filterSensitiveLog = (obj: DateInterval): any => ({ + ...obj, + }); +} + +/** + *

                  The aggregated value for a metric.

                  + */ +export interface MetricValue { + /** + *

                  The actual number that represents the metric.

                  + */ + Amount?: string; + + /** + *

                  The unit that the metric is given in.

                  + */ + Unit?: string; +} + +export namespace MetricValue { + export const filterSensitiveLog = (obj: MetricValue): any => ({ + ...obj, + }); +} + +/** + *

                  One level of grouped data in the results.

                  + */ +export interface Group { + /** + *

                  The keys that are included in this group.

                  + */ + Keys?: string[]; + + /** + *

                  The metrics that are included in this group.

                  + */ + Metrics?: { [key: string]: MetricValue }; +} + +export namespace Group { + export const filterSensitiveLog = (obj: Group): any => ({ + ...obj, + }); +} + +/** + *

                  The result that is associated with a time period.

                  + */ +export interface ResultByTime { + /** + *

                  The total amount of cost or usage accrued during the time period.

                  + */ + Total?: { [key: string]: MetricValue }; + + /** + *

                  The groups that this time period includes.

                  + */ + Groups?: Group[]; + + /** + *

                  The time period that the result covers.

                  + */ + TimePeriod?: DateInterval; + + /** + *

                  Whether + * the result is estimated.

                  + */ + Estimated?: boolean; +} + +export namespace ResultByTime { + export const filterSensitiveLog = (obj: ResultByTime): any => ({ + ...obj, + }); +} + +export interface GetCostAndUsageResponse { + /** + *

                  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 groups that are specified by the Filter or GroupBy parameters in the request.

                  + */ + GroupDefinitions?: GroupDefinition[]; + + /** + *

                  The time period that is covered by the results in the response.

                  + */ + ResultsByTime?: ResultByTime[]; +} + +export namespace GetCostAndUsageResponse { + export const filterSensitiveLog = (obj: GetCostAndUsageResponse): any => ({ + ...obj, + }); +} + /** *

                  Your request parameters changed between pages. Try again with the old parameters or * without a pagination token.

                  @@ -516,24 +1190,24 @@ export enum Metric { */ export interface ForecastResult { /** - *

                  The lower limit for the prediction interval.

                  + *

                  The period of time that the forecast covers.

                  */ - PredictionIntervalLowerBound?: string; + TimePeriod?: DateInterval; /** - *

                  The upper limit for the prediction interval.

                  + *

                  The mean value of the forecast.

                  */ - PredictionIntervalUpperBound?: string; + MeanValue?: string; /** - *

                  The mean value of the forecast.

                  + *

                  The lower limit for the prediction interval.

                  */ - MeanValue?: string; + PredictionIntervalLowerBound?: string; /** - *

                  The period of time that the forecast covers.

                  + *

                  The upper limit for the prediction interval.

                  */ - TimePeriod?: DateInterval; + PredictionIntervalUpperBound?: string; } export namespace ForecastResult { @@ -544,15 +1218,15 @@ export namespace ForecastResult { export interface GetCostForecastResponse { /** - *

                  The forecasts for your query, in order. For DAILY forecasts, this is a list of days. For MONTHLY forecasts, - * this is a list of months.

                  + *

                  How much you are forecasted to spend over the forecast period, in USD.

                  */ - ForecastResultsByTime?: ForecastResult[]; + Total?: MetricValue; /** - *

                  How much you are forecasted to spend over the forecast period, in USD.

                  + *

                  The forecasts for your query, in order. For DAILY forecasts, this is a list of days. For MONTHLY forecasts, + * this is a list of months.

                  */ - Total?: MetricValue; + ForecastResultsByTime?: ForecastResult[]; } export namespace GetCostForecastResponse { @@ -569,14 +1243,17 @@ export enum Context { export interface GetDimensionValuesRequest { /** - *

                  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 name of the dimension. Each Dimension is available for a different Context. + * For more information, see Context. + * + *

                  */ - NextPageToken?: string; + Dimension: Dimension | string | undefined; /** - *

                  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; /** *

                  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 @@ -633,6 +1310,9 @@ export interface GetDimensionValuesRequest { * operation includes a unit attribute.

                  *
                • *
                • + *

                  REGION - The AWS Region.

                  + *
                • + *
                • *

                  RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                  *
                • *
                • @@ -700,12 +1380,9 @@ export interface GetDimensionValuesRequest { Context?: Context | string; /** - *

                  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; + SearchString?: string; } export namespace GetDimensionValuesRequest { @@ -738,19 +1415,14 @@ export namespace DimensionValuesWithAttributes { export interface GetDimensionValuesResponse { /** - *

                  The number of results that AWS returned at one time.

                  - */ - ReturnSize: number | undefined; - - /** - *

                  The total number of search results.

                  + *

                  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.

                  */ - TotalSize: number | undefined; + 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 number of results that AWS returned at one time.

                  */ - NextPageToken?: string; + ReturnSize: number | undefined; /** *

                  The filters that you used to filter your request. Some dimensions are available only for a specific context.

                  @@ -863,6 +1535,11 @@ export interface GetDimensionValuesResponse { *
                */ DimensionValues: DimensionValuesWithAttributes[] | undefined; + + /** + *

                The total number of search results.

                + */ + TotalSize: number | undefined; } export namespace GetDimensionValuesResponse { @@ -891,6 +1568,11 @@ export namespace CoverageCost { *

                How long a running instance either used a reservation or was On-Demand.

                */ export interface CoverageHours { + /** + *

                The total instance usage, in hours.

                + */ + TotalRunningHours?: string; + /** *

                The percentage of instance hours that a reservation covered.

                */ @@ -901,11 +1583,6 @@ export interface CoverageHours { */ ReservedHours?: string; - /** - *

                The total instance usage, in hours.

                - */ - TotalRunningHours?: string; - /** *

                The number of instance running hours that On-Demand Instances covered.

                */ @@ -931,15 +1608,14 @@ export namespace CoverageHours { */ export interface CoverageNormalizedUnits { /** - *

                The number of normalized units that a reservation covers.

                + *

                The total number of normalized units that you used.

                */ - ReservedNormalizedUnits?: string; + TotalRunningNormalizedUnits?: string; /** - *

                The percentage of your used instance normalized units that a reservation - * covers.

                + *

                The number of normalized units that a reservation covers.

                */ - CoverageNormalizedUnitsPercentage?: string; + ReservedNormalizedUnits?: string; /** *

                The number of normalized units that are covered by On-Demand Instances instead of a @@ -948,9 +1624,10 @@ export interface CoverageNormalizedUnits { OnDemandNormalizedUnits?: string; /** - *

                The total number of normalized units that you used.

                + *

                The percentage of your used instance normalized units that a reservation + * covers.

                */ - TotalRunningNormalizedUnits?: string; + CoverageNormalizedUnitsPercentage?: string; } export namespace CoverageNormalizedUnits { @@ -992,14 +1669,14 @@ export namespace Coverage { */ export interface ReservationCoverageGroup { /** - *

                The attributes for this group of reservations.

                + *

                How much instance usage this group of reservations covered.

                */ - Attributes?: { [key: string]: string }; + Coverage?: Coverage; /** - *

                How much instance usage this group of reservations covered.

                + *

                The attributes for this group of reservations.

                */ - Coverage?: Coverage; + Attributes?: { [key: string]: string }; } export namespace ReservationCoverageGroup { @@ -1015,9 +1692,9 @@ export namespace ReservationCoverageGroup { */ export interface CoverageByTime { /** - *

                The total reservation coverage, in hours.

                + *

                The period that this coverage was used over.

                */ - Total?: Coverage; + TimePeriod?: DateInterval; /** *

                The groups of instances that the reservation covered.

                @@ -1025,9 +1702,9 @@ export interface CoverageByTime { Groups?: ReservationCoverageGroup[]; /** - *

                The period that this coverage was used over.

                + *

                The total reservation coverage, in hours.

                */ - TimePeriod?: DateInterval; + Total?: Coverage; } export namespace CoverageByTime { @@ -1043,14 +1720,14 @@ export interface GetReservationCoverageResponse { 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.

                + *

                The amount of time that your reservations covered.

                */ - NextPageToken?: string; + CoveragesByTime: CoverageByTime[] | undefined; /** - *

                The amount of time that your reservations covered.

                + *

                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.

                */ - CoveragesByTime: CoverageByTime[] | undefined; + NextPageToken?: string; } export namespace GetReservationCoverageResponse { @@ -1122,14 +1799,9 @@ export enum TermInYears { export interface GetReservationPurchaseRecommendationRequest { /** - *

                The number of recommendations that you want returned in a single response object.

                - */ - PageSize?: number; - - /** - *

                The account ID that is associated with the recommendation.

                + *

                The reservation purchase option that you want recommendations for.

                */ - AccountId?: string; + PaymentOption?: PaymentOption | string; /** *

                The specific service that you want recommendations for.

                @@ -1137,9 +1809,9 @@ export interface GetReservationPurchaseRecommendationRequest { Service: string | undefined; /** - *

                The number of previous days that you want AWS to consider when it calculates your recommendations.

                + *

                The number of recommendations that you want returned in a single response object.

                */ - LookbackPeriodInDays?: LookbackPeriodInDays | string; + PageSize?: number; /** *

                The reservation term that you want recommendations for.

                @@ -1147,9 +1819,14 @@ export interface GetReservationPurchaseRecommendationRequest { TermInYears?: TermInYears | string; /** - *

                The pagination token that indicates the next set of results that you want to retrieve.

                + *

                The account ID that is associated with the recommendation.

                */ - NextPageToken?: string; + AccountId?: 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.

                + */ + AccountScope?: AccountScope | string; /** *

                The hardware specifications for the service instances that you want recommendations for, such as standard or convertible Amazon EC2 instances.

                @@ -1157,14 +1834,14 @@ export interface GetReservationPurchaseRecommendationRequest { ServiceSpecification?: ServiceSpecification; /** - *

                The reservation purchase option that you want recommendations for.

                + *

                The pagination token that indicates the next set of results that you want to retrieve.

                */ - PaymentOption?: PaymentOption | string; + NextPageToken?: string; /** - *

                The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only.

                + *

                The number of previous days that you want AWS to consider when it calculates your recommendations.

                */ - AccountScope?: AccountScope | string; + LookbackPeriodInDays?: LookbackPeriodInDays | string; } export namespace GetReservationPurchaseRecommendationRequest { @@ -1179,14 +1856,14 @@ export namespace GetReservationPurchaseRecommendationRequest { */ export interface ReservationPurchaseRecommendationMetadata { /** - *

                The ID for this specific recommendation.

                + *

                The timestamp for when AWS made this recommendation.

                */ - RecommendationId?: string; + GenerationTimestamp?: string; /** - *

                The timestamp for when AWS made this recommendation.

                + *

                The ID for this specific recommendation.

                */ - GenerationTimestamp?: string; + RecommendationId?: string; } export namespace ReservationPurchaseRecommendationMetadata { @@ -1200,9 +1877,9 @@ export namespace ReservationPurchaseRecommendationMetadata { */ export interface EC2InstanceDetails { /** - *

                The Availability Zone of the recommended reservation.

                + *

                Whether the recommendation is for a current-generation instance.

                */ - AvailabilityZone?: string; + CurrentGeneration?: boolean; /** *

                The instance family of the recommended reservation.

                @@ -1215,20 +1892,15 @@ export interface EC2InstanceDetails { Region?: string; /** - *

                Whether the recommended reservation is size flexible.

                + *

                Whether the recommended reservation is dedicated or shared.

                */ - SizeFlexEligible?: boolean; + Tenancy?: string; /** *

                The type of instance that AWS recommends.

                */ InstanceType?: string; - /** - *

                Whether the recommended reservation is dedicated or shared.

                - */ - Tenancy?: string; - /** *

                The platform of the recommended reservation. The platform is the specific * combination of operating system, license model, and software on an instance.

                @@ -1236,9 +1908,14 @@ export interface EC2InstanceDetails { Platform?: string; /** - *

                Whether the recommendation is for a current-generation instance.

                + *

                Whether the recommended reservation is size flexible.

                */ - CurrentGeneration?: boolean; + SizeFlexEligible?: boolean; + + /** + *

                The Availability Zone of the recommended reservation.

                + */ + AvailabilityZone?: string; } export namespace EC2InstanceDetails { @@ -1252,6 +1929,11 @@ export namespace EC2InstanceDetails { * purchase.

                */ export interface ElastiCacheInstanceDetails { + /** + *

                Whether the recommended reservation is size flexible.

                + */ + SizeFlexEligible?: boolean; + /** *

                The type of node that AWS recommends.

                */ @@ -1263,9 +1945,9 @@ export interface ElastiCacheInstanceDetails { CurrentGeneration?: boolean; /** - *

                The AWS Region of the recommended reservation.

                + *

                The description of the recommended reservation.

                */ - Region?: string; + ProductDescription?: string; /** *

                The instance family of the recommended reservation.

                @@ -1273,14 +1955,9 @@ export interface ElastiCacheInstanceDetails { Family?: string; /** - *

                Whether the recommended reservation is size flexible.

                - */ - SizeFlexEligible?: boolean; - - /** - *

                The description of the recommended reservation.

                + *

                The AWS Region of the recommended reservation.

                */ - ProductDescription?: string; + Region?: string; } export namespace ElastiCacheInstanceDetails { @@ -1295,29 +1972,29 @@ export namespace ElastiCacheInstanceDetails { */ export interface ESInstanceDetails { /** - *

                Whether the recommendation is for a current-generation instance.

                + *

                The size of instance that AWS recommends.

                */ - CurrentGeneration?: boolean; + InstanceSize?: string; /** - *

                The class of instance that AWS recommends.

                + *

                The AWS Region of the recommended reservation.

                */ - InstanceClass?: string; + Region?: string; /** - *

                The size of instance that AWS recommends.

                + *

                Whether the recommended reservation is size flexible.

                */ - InstanceSize?: string; + SizeFlexEligible?: boolean; /** - *

                Whether the recommended reservation is size flexible.

                + *

                Whether the recommendation is for a current-generation instance.

                */ - SizeFlexEligible?: boolean; + CurrentGeneration?: boolean; /** - *

                The AWS Region of the recommended reservation.

                + *

                The class of instance that AWS recommends.

                */ - Region?: string; + InstanceClass?: string; } export namespace ESInstanceDetails { @@ -1332,25 +2009,25 @@ export namespace ESInstanceDetails { */ export interface RDSInstanceDetails { /** - *

                Whether the recommendation is for a reservation in a single Availability Zone or a - * reservation with a backup in a second Availability Zone.

                + *

                The license model that the recommended reservation supports.

                */ - DeploymentOption?: string; + LicenseModel?: string; /** - *

                The database engine that the recommended reservation supports.

                + *

                Whether the recommendation is for a current-generation instance.

                */ - DatabaseEngine?: string; + CurrentGeneration?: boolean; /** - *

                The instance family of the recommended reservation.

                + *

                Whether the recommendation is for a reservation in a single Availability Zone or a + * reservation with a backup in a second Availability Zone.

                */ - Family?: string; + DeploymentOption?: string; /** - *

                The license model that the recommended reservation supports.

                + *

                The instance family of the recommended reservation.

                */ - LicenseModel?: string; + Family?: string; /** *

                The AWS Region of the recommended reservation.

                @@ -1363,19 +2040,19 @@ export interface RDSInstanceDetails { InstanceType?: string; /** - *

                Whether the recommended reservation is size flexible.

                + *

                The database edition that the recommended reservation supports.

                */ - SizeFlexEligible?: boolean; + DatabaseEdition?: string; /** - *

                The database edition that the recommended reservation supports.

                + *

                The database engine that the recommended reservation supports.

                */ - DatabaseEdition?: string; + DatabaseEngine?: string; /** - *

                Whether the recommendation is for a current-generation instance.

                + *

                Whether the recommended reservation is size flexible.

                */ - CurrentGeneration?: boolean; + SizeFlexEligible?: boolean; } export namespace RDSInstanceDetails { @@ -1390,29 +2067,29 @@ export namespace RDSInstanceDetails { */ export interface RedshiftInstanceDetails { /** - *

                Whether the recommended reservation is size flexible.

                + *

                The AWS Region of the recommended reservation.

                */ - SizeFlexEligible?: boolean; + Region?: string; /** - *

                The type of node that AWS recommends.

                + *

                The instance family of the recommended reservation.

                */ - NodeType?: string; + Family?: string; /** - *

                Whether the recommendation is for a current-generation instance.

                + *

                Whether the recommended reservation is size flexible.

                */ - CurrentGeneration?: boolean; + SizeFlexEligible?: boolean; /** - *

                The AWS Region of the recommended reservation.

                + *

                The type of node that AWS recommends.

                */ - Region?: string; + NodeType?: string; /** - *

                The instance family of the recommended reservation.

                + *

                Whether the recommendation is for a current-generation instance.

                */ - Family?: string; + CurrentGeneration?: boolean; } export namespace RedshiftInstanceDetails { @@ -1425,11 +2102,6 @@ export namespace RedshiftInstanceDetails { *

                Details about the instances that AWS recommends that you purchase.

                */ export interface InstanceDetails { - /** - *

                The Amazon RDS instances that AWS recommends that you purchase.

                - */ - RDSInstanceDetails?: RDSInstanceDetails; - /** *

                The Amazon EC2 instances that AWS recommends that you purchase.

                */ @@ -1449,6 +2121,11 @@ export interface InstanceDetails { *

                The ElastiCache instances that AWS recommends that you purchase.

                */ ElastiCacheInstanceDetails?: ElastiCacheInstanceDetails; + + /** + *

                The Amazon RDS instances that AWS recommends that you purchase.

                + */ + RDSInstanceDetails?: RDSInstanceDetails; } export namespace InstanceDetails { @@ -1462,46 +2139,32 @@ export namespace InstanceDetails { */ export interface ReservationPurchaseRecommendationDetail { /** - *

                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; - - /** - *

                How much AWS estimates that this specific recommendation could save you in a month, - * as a percentage of your overall costs.

                - */ - EstimatedMonthlySavingsPercentage?: string; - - /** - *

                The number of normalized units that AWS recommends that you purchase.

                - */ - RecommendedNormalizedUnitsToPurchase?: string; + AverageNormalizedUnitsUsedPerHour?: string; /** - *

                How much purchasing this instance costs you on a monthly basis.

                + *

                The average number of instances that you used in an hour during the historical + * period. AWS uses this to calculate your recommended reservation purchases.

                */ - RecurringStandardMonthlyCost?: string; + AverageNumberOfInstancesUsedPerHour?: string; /** - *

                The average utilization of your instances. AWS uses this to calculate your - * recommended reservation purchases.

                + *

                How much AWS estimates that you spend on On-Demand Instances in a month.

                */ - AverageUtilization?: string; + EstimatedMonthlyOnDemandCost?: 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.

                + *

                How much purchasing this instance costs you upfront.

                */ - MaximumNumberOfInstancesUsedPerHour?: string; + UpfrontCost?: 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 account that this RI recommendation is for.

                */ - MaximumNormalizedUnitsUsedPerHour?: string; + AccountId?: string; /** *

                The currency code that AWS used to calculate the costs for this instance.

                @@ -1515,20 +2178,29 @@ export interface ReservationPurchaseRecommendationDetail { EstimatedMonthlySavingsAmount?: string; /** - *

                The average number of instances that you used in an hour during the historical + *

                How much AWS estimates that you would have spent for all usage during the specified + * historical period if you had + * a + * reservation.

                + */ + EstimatedReservationCostForLookbackPeriod?: string; + + /** + *

                The minimum number of instances that you used in an hour during the historical * period. AWS uses this to calculate your recommended reservation purchases.

                */ - AverageNumberOfInstancesUsedPerHour?: string; + MinimumNumberOfInstancesUsedPerHour?: string; /** - *

                How much AWS estimates that you spend on On-Demand Instances in a month.

                + *

                The maximum number of instances that you used in an hour during the historical + * period. AWS uses this to calculate your recommended reservation purchases.

                */ - EstimatedMonthlyOnDemandCost?: string; + MaximumNumberOfInstancesUsedPerHour?: string; /** - *

                The account that this RI recommendation is for.

                + *

                The number of normalized units that AWS recommends that you purchase.

                */ - AccountId?: string; + RecommendedNormalizedUnitsToPurchase?: string; /** *

                The number of instances that AWS recommends that you purchase.

                @@ -1536,24 +2208,29 @@ export interface ReservationPurchaseRecommendationDetail { RecommendedNumberOfInstancesToPurchase?: string; /** - *

                The minimum number of instances that you used in an hour during the historical - * period. AWS uses this to calculate your recommended reservation purchases.

                + *

                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.

                */ - MinimumNumberOfInstancesUsedPerHour?: string; + MinimumNormalizedUnitsUsedPerHour?: string; /** - *

                How much AWS estimates that you would have spent for all usage during the specified - * historical period if you had - * a - * reservation.

                + *

                The average utilization of your instances. AWS uses this to calculate your + * recommended reservation purchases.

                */ - EstimatedReservationCostForLookbackPeriod?: string; + AverageUtilization?: string; /** - *

                How long AWS estimates that it takes for this instance to start saving you money, - * in months.

                + *

                How much purchasing this instance costs you on a monthly basis.

                */ - EstimatedBreakEvenInMonths?: string; + RecurringStandardMonthlyCost?: 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.

                + */ + MaximumNormalizedUnitsUsedPerHour?: string; /** *

                Details about the instances that AWS recommends that you purchase.

                @@ -1561,16 +2238,16 @@ export interface ReservationPurchaseRecommendationDetail { InstanceDetails?: InstanceDetails; /** - *

                How much purchasing this instance costs you upfront.

                + *

                How much AWS estimates that this specific recommendation could save you in a month, + * as a percentage of your overall costs.

                */ - UpfrontCost?: string; + EstimatedMonthlySavingsPercentage?: string; /** - *

                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.

                + *

                How long AWS estimates that it takes for this instance to start saving you money, + * in months.

                */ - AverageNormalizedUnitsUsedPerHour?: string; + EstimatedBreakEvenInMonths?: string; } export namespace ReservationPurchaseRecommendationDetail { @@ -1586,9 +2263,10 @@ export namespace ReservationPurchaseRecommendationDetail { */ export interface ReservationPurchaseRecommendationSummary { /** - *

                The currency code used for this recommendation.

                + *

                The total amount that AWS estimates that this recommendation could save you in a + * month, as a percentage of your costs.

                */ - CurrencyCode?: string; + TotalEstimatedMonthlySavingsPercentage?: string; /** *

                The total amount that AWS estimates that this recommendation could save you in a @@ -1597,10 +2275,9 @@ export interface ReservationPurchaseRecommendationSummary { TotalEstimatedMonthlySavingsAmount?: string; /** - *

                The total amount that AWS estimates that this recommendation could save you in a - * month, as a percentage of your costs.

                + *

                The currency code used for this recommendation.

                */ - TotalEstimatedMonthlySavingsPercentage?: string; + CurrencyCode?: string; } export namespace ReservationPurchaseRecommendationSummary { @@ -1613,33 +2290,22 @@ export namespace ReservationPurchaseRecommendationSummary { *

                A specific reservation that AWS recommends for purchase.

                */ export interface ReservationPurchaseRecommendation { - /** - *

                The term of the reservation that you want recommendations for, in years.

                - */ - TermInYears?: TermInYears | string; - /** *

                Hardware specifications for the service that you want recommendations * for.

                */ ServiceSpecification?: ServiceSpecification; - /** - *

                A summary about the recommended purchase.

                - */ - RecommendationSummary?: ReservationPurchaseRecommendationSummary; - /** *

                Details about the recommended purchases.

                */ RecommendationDetails?: ReservationPurchaseRecommendationDetail[]; /** - *

                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.

                + *

                How many days of previous usage that AWS considers when making this + * recommendation.

                */ - AccountScope?: AccountScope | string; + LookbackPeriodInDays?: LookbackPeriodInDays | string; /** *

                The payment option for the reservation. For example, AllUpfront or @@ -1648,10 +2314,21 @@ export interface ReservationPurchaseRecommendation { PaymentOption?: PaymentOption | string; /** - *

                How many days of previous usage that AWS considers when making this - * recommendation.

                + *

                The term of the reservation that you want recommendations for, in years.

                */ - LookbackPeriodInDays?: LookbackPeriodInDays | string; + TermInYears?: TermInYears | string; + + /** + *

                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.

                + */ + AccountScope?: AccountScope | string; + + /** + *

                A summary about the recommended purchase.

                + */ + RecommendationSummary?: ReservationPurchaseRecommendationSummary; } export namespace ReservationPurchaseRecommendation { @@ -1661,11 +2338,6 @@ export namespace ReservationPurchaseRecommendation { } export interface GetReservationPurchaseRecommendationResponse { - /** - *

                Recommendations for reservations to purchase.

                - */ - Recommendations?: ReservationPurchaseRecommendation[]; - /** *

                Information about this specific recommendation call, such as the time stamp for when Cost Explorer generated this recommendation.

                */ @@ -1675,6 +2347,11 @@ export interface GetReservationPurchaseRecommendationResponse { *

                The pagination token for the next set of retrievable results.

                */ NextPageToken?: string; + + /** + *

                Recommendations for reservations to purchase.

                + */ + Recommendations?: ReservationPurchaseRecommendation[]; } export namespace GetReservationPurchaseRecommendationResponse { @@ -1688,19 +2365,29 @@ export namespace GetReservationPurchaseRecommendationResponse { */ export interface ReservationAggregates { /** - *

                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; /** - *

                How much your reservation would cost if charged On-Demand rates.

                + *

                How many reservation hours that you purchased.

                */ - OnDemandCostOfRIHoursUsed?: string; + PurchasedHours?: string; /** - *

                How much you could save if you use your entire reservation.

                + *

                The percentage of Amazon EC2 reservation time that you used, converted to normalized + * units. Normalized units are available only for Amazon EC2 usage after November 11, + * 2017.

                */ - TotalPotentialRISavings?: string; + UtilizationPercentageInUnits?: 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.

                + */ + PurchasedUnits?: string; /** *

                The total cost of your reservation, amortized over the reservation @@ -1709,36 +2396,37 @@ export interface ReservationAggregates { TotalAmortizedFee?: 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 total number of reservation hours that you used.

                */ - UnusedUnits?: string; + TotalActualHours?: 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.

                + *

                The number of reservation hours that you didn't use.

                */ - PurchasedUnits?: string; + UnusedHours?: string; /** - *

                How many reservation hours that you purchased.

                + *

                The upfront cost of your reservation, amortized over the reservation + * period.

                */ - PurchasedHours?: string; + AmortizedUpfrontFee?: string; /** - *

                The percentage of Amazon EC2 reservation time that you used, converted to normalized - * units. Normalized units are available only for Amazon EC2 usage after November 11, - * 2017.

                + *

                How much your reservation would cost if charged On-Demand rates.

                */ - UtilizationPercentageInUnits?: string; + OnDemandCostOfRIHoursUsed?: string; /** - *

                The total number of Amazon EC2 reservation hours that you used, converted to normalized + *

                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.

                */ - TotalActualUnits?: string; + UnusedUnits?: string; /** *

                The monthly cost of your reservation, amortized over the reservation @@ -1746,11 +2434,6 @@ export interface ReservationAggregates { */ AmortizedRecurringFee?: string; - /** - *

                The number of reservation hours that you didn't use.

                - */ - UnusedHours?: string; - /** *

                How much you saved due to purchasing and utilizing reservation. AWS calculates this * by subtracting TotalAmortizedFee from @@ -1762,12 +2445,6 @@ export interface ReservationAggregates { *

                The percentage of reservation time that you used.

                */ UtilizationPercentage?: string; - - /** - *

                The upfront cost of your reservation, amortized over the reservation - * period.

                - */ - AmortizedUpfrontFee?: string; } export namespace ReservationAggregates { @@ -1781,24 +2458,24 @@ export namespace ReservationAggregates { */ export interface ReservationUtilizationGroup { /** - *

                How much you used this group of reservations.

                + *

                The value of a specific reservation attribute.

                */ - Utilization?: ReservationAggregates; + Value?: string; /** - *

                The key for a specific reservation attribute.

                + *

                The attributes for this group of reservations.

                */ - Key?: string; + Attributes?: { [key: string]: string }; /** - *

                The value of a specific reservation attribute.

                + *

                How much you used this group of reservations.

                */ - Value?: string; + Utilization?: ReservationAggregates; /** - *

                The attributes for this group of reservations.

                + *

                The key for a specific reservation attribute.

                */ - Attributes?: { [key: string]: string }; + Key?: string; } export namespace ReservationUtilizationGroup { @@ -1811,6 +2488,11 @@ export namespace ReservationUtilizationGroup { *

                The amount of utilization, in hours.

                */ export interface UtilizationByTime { + /** + *

                The groups that this utilization result uses.

                + */ + Groups?: ReservationUtilizationGroup[]; + /** *

                The total number of reservation hours that were used.

                */ @@ -1820,11 +2502,6 @@ export interface UtilizationByTime { *

                The period of time that this utilization was used for.

                */ TimePeriod?: DateInterval; - - /** - *

                The groups that this utilization result uses.

                - */ - Groups?: ReservationUtilizationGroup[]; } export namespace UtilizationByTime { @@ -1871,17 +2548,17 @@ export enum RecommendationTarget { export interface RightsizingRecommendationConfiguration { /** *

                - * The option to consider RI or Savings Plans discount benefits in your savings calculation. The default value is TRUE. + * The option to see recommendations within the same instance family, or recommendations for instances across other families. The default value is SAME_INSTANCE_FAMILY. *

                */ - BenefitsConsidered: boolean | undefined; + RecommendationTarget: RecommendationTarget | string | undefined; /** *

                - * The option to see recommendations within the same instance family, or recommendations for instances across other families. The default value is SAME_INSTANCE_FAMILY. + * The option to consider RI or Savings Plans discount benefits in your savings calculation. The default value is TRUE. *

                */ - RecommendationTarget: RecommendationTarget | string | undefined; + BenefitsConsidered: boolean | undefined; } export namespace RightsizingRecommendationConfiguration { @@ -1895,18 +2572,18 @@ export namespace RightsizingRecommendationConfiguration { */ export interface RightsizingRecommendationMetadata { /** - *

                The ID for this specific recommendation.

                + *

                How many days of previous usage that AWS considers when making this + * recommendation.

                */ - RecommendationId?: string; + LookbackPeriodInDays?: LookbackPeriodInDays | string; /** - *

                How many days of previous usage that Amazon Web Services considers when making this recommendation.

                + *

                The ID for this specific recommendation.

                */ - LookbackPeriodInDays?: LookbackPeriodInDays | string; + RecommendationId?: string; /** - *

                The timestamp - * for when Amazon Web Services made this recommendation.

                + *

                The timestamp for when AWS made this recommendation.

                */ GenerationTimestamp?: string; } @@ -1922,49 +2599,50 @@ export namespace RightsizingRecommendationMetadata { */ export interface EC2ResourceDetails { /** - *

                Number of VCPU cores in the Amazon Web Services instance type.

                + *

                The disk storage of the AWS instance (not EBS storage).

                */ - Vcpu?: string; + Storage?: string; /** - *

                Memory capacity of Amazon Web Services instance.

                + *

                The type of AWS instance.

                */ - Memory?: string; + InstanceType?: string; /** - *

                Hourly public On Demand rate for the instance type.

                + *

                The AWS Region of the instance.

                */ - HourlyOnDemandRate?: string; + Region?: string; /** - *

                The type of Amazon Web Services instance.

                + *

                Network performance capacity of the AWS instance.

                */ - InstanceType?: string; + NetworkPerformance?: string; /** - *

                The platform of the Amazon Web Services instance. The platform is the specific combination of operating system, license model, and software on an instance.

                + *

                The SKU of the product.

                */ - Platform?: string; + Sku?: string; /** - *

                The Amazon Web Services Region of the instance.

                + *

                Number of VCPU cores in the AWS instance type.

                */ - Region?: string; + Vcpu?: string; /** - *

                The disk storage of the Amazon Web Services instance (Not EBS storage).

                + *

                The platform of the AWS instance. The platform is the specific combination of + * operating system, license model, and software on an instance.

                */ - Storage?: string; + Platform?: string; /** - *

                Network performance capacity of the Amazon Web Services instance.

                + *

                Hourly public On-Demand rate for the instance type.

                */ - NetworkPerformance?: string; + HourlyOnDemandRate?: string; /** - *

                The SKU of the product.

                + *

                Memory capacity of the AWS instance.

                */ - Sku?: string; + Memory?: string; } export namespace EC2ResourceDetails { @@ -1989,6 +2667,47 @@ export namespace ResourceDetails { }); } +/** + *

                + * The EBS field that contains a list of EBS metrics associated with the current instance. + *

                + */ +export interface EBSResourceUtilization { + /** + *

                + * The maximum size of write operations per second. + *

                + */ + EbsWriteBytesPerSecond?: string; + + /** + *

                + * The maximum number of write operations per second. + *

                + */ + EbsWriteOpsPerSecond?: string; + + /** + *

                + * The maximum number of read operations per second. + *

                + */ + EbsReadOpsPerSecond?: string; + + /** + *

                + * The maximum size of read operations per second + *

                + */ + EbsReadBytesPerSecond?: string; +} + +export namespace EBSResourceUtilization { + export const filterSensitiveLog = (obj: EBSResourceUtilization): any => ({ + ...obj, + }); +} + /** *

                Utilization metrics of the instance.

                */ @@ -1998,6 +2717,13 @@ export interface EC2ResourceUtilization { */ MaxStorageUtilizationPercentage?: string; + /** + *

                + * The EBS field that contains a list of EBS metrics associated with the current instance. + *

                + */ + EBSResourceUtilization?: EBSResourceUtilization; + /** *

                Maximum observed or expected CPU utilization of the instance.

                */ @@ -2020,7 +2746,7 @@ export namespace EC2ResourceUtilization { */ export interface ResourceUtilization { /** - *

                Utilization of current Amazon EC2 Instance

                + *

                Utilization of current Amazon EC2 instance.

                */ EC2ResourceUtilization?: EC2ResourceUtilization; } @@ -2036,49 +2762,49 @@ export namespace ResourceUtilization { */ export interface CurrentInstance { /** - *

                The currency code that Amazon Web Services used to calculate the costs for this instance.

                + *

                Current On-Demand cost of operating this instance on a monthly basis.

                */ - CurrencyCode?: string; + MonthlyCost?: string; /** - *

                Number of hours during the lookback period covered by reservations.

                + *

                Resource ID of the current instance.

                */ - ReservationCoveredHoursInLookbackPeriod?: string; + ResourceId?: string; /** - *

                Number of hours during the lookback period billed at On Demand rates.

                + *

                The total number of hours the instance ran during the lookback period.

                */ - OnDemandHoursInLookbackPeriod?: string; + TotalRunningHoursInLookbackPeriod?: string; /** - *

                Cost allocation resource tags applied to the instance.

                + *

                The currency code that AWS used to calculate the costs for this instance.

                */ - Tags?: TagValues[]; + CurrencyCode?: string; /** - *

                Current On Demand cost of operating this instance on a monthly basis.

                + *

                The name you've given an instance. This field will show as blank if you haven't given the instance a name.

                */ - MonthlyCost?: string; + InstanceName?: string; /** - *

                The name you've given an instance. This field will show as blank if you haven't given the instance a name.

                + *

                Number of hours during the lookback period billed at On-Demand rates.

                */ - InstanceName?: string; + OnDemandHoursInLookbackPeriod?: string; /** - *

                Details about the resource and utilization.

                + *

                Number of hours during the lookback period covered by reservations.

                */ - ResourceDetails?: ResourceDetails; + ReservationCoveredHoursInLookbackPeriod?: string; /** - *

                Resource ID of the current instance.

                + *

                Cost allocation resource tags applied to the instance.

                */ - ResourceId?: string; + Tags?: TagValues[]; /** - *

                The total number of hours the instance ran during the lookback period.

                + *

                Number of hours during the lookback period covered by Savings Plans.

                */ - TotalRunningHoursInLookbackPeriod?: string; + SavingsPlansCoveredHoursInLookbackPeriod?: string; /** *

                Utilization information of the current instance during the lookback period.

                @@ -2086,9 +2812,9 @@ export interface CurrentInstance { ResourceUtilization?: ResourceUtilization; /** - *

                Number of hours during the lookback period covered by Savings Plans.

                + *

                Details about the resource and utilization.

                */ - SavingsPlansCoveredHoursInLookbackPeriod?: string; + ResourceDetails?: ResourceDetails; } export namespace CurrentInstance { @@ -2102,14 +2828,14 @@ export namespace CurrentInstance { */ export interface TargetInstance { /** - *

                Indicates whether or not this recommendation is the defaulted Amazon Web Services recommendation.

                + *

                Indicates whether this recommendation is the defaulted AWS recommendation.

                */ DefaultTargetInstance?: boolean; /** - *

                The currency code that Amazon Web Services used to calculate the costs for this instance.

                + *

                Details on the target instance type.

                */ - CurrencyCode?: string; + ResourceDetails?: ResourceDetails; /** *

                Expected utilization metrics for target instance type.

                @@ -2117,19 +2843,19 @@ export interface TargetInstance { ExpectedResourceUtilization?: ResourceUtilization; /** - *

                Details on the target instance type.

                + *

                Estimated savings resulting from modification, on a monthly basis.

                */ - ResourceDetails?: ResourceDetails; + EstimatedMonthlySavings?: string; /** - *

                Expected cost to operate this instance type on a monthly basis.

                + *

                The currency code that AWS used to calculate the costs for this instance.

                */ - EstimatedMonthlyCost?: string; + CurrencyCode?: string; /** - *

                Estimated savings resulting from modification, on a monthly basis.

                + *

                Expected cost to operate this instance type on a monthly basis.

                */ - EstimatedMonthlySavings?: string; + EstimatedMonthlyCost?: string; } export namespace TargetInstance { @@ -2143,7 +2869,7 @@ export namespace TargetInstance { */ export interface ModifyRecommendationDetail { /** - *

                Identifies whether this instance type is the Amazon Web Services default recommendation.

                + *

                Identifies whether this instance type is the AWS default recommendation.

                */ TargetInstances?: TargetInstance[]; } @@ -2164,14 +2890,14 @@ export enum RightsizingType { */ export interface TerminateRecommendationDetail { /** - *

                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; /** - *

                The currency code that Amazon Web Services used to calculate the costs for this instance.

                + *

                Estimated savings resulting from modification, on a monthly basis.

                */ - CurrencyCode?: string; + EstimatedMonthlySavings?: string; } export namespace TerminateRecommendationDetail { @@ -2184,15 +2910,20 @@ 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; /** - *

                Recommendation to either terminate or modify the resource.

                + *

                The account that this recommendation is for.

                */ - RightsizingType?: RightsizingType | string; + AccountId?: string; /** *

                Context regarding the current instance.

                @@ -2203,11 +2934,6 @@ export interface RightsizingRecommendation { *

                Details for modification recommendations.

                */ ModifyRecommendationDetail?: ModifyRecommendationDetail; - - /** - *

                The account that this recommendation is for.

                - */ - AccountId?: string; } export namespace RightsizingRecommendation { @@ -2221,14 +2947,19 @@ export namespace RightsizingRecommendation { */ export interface RightsizingRecommendationSummary { /** - *

                Estimated total savings resulting from modifications, on a monthly basis.

                + *

                Total number of instance recommendations.

                */ - EstimatedTotalMonthlySavingsAmount?: string; + TotalRecommendationCount?: string; /** - *

                Total number of instance recommendations.

                + *

                The currency code that AWS used to calculate the savings.

                */ - TotalRecommendationCount?: string; + SavingsCurrencyCode?: string; + + /** + *

                Estimated total savings resulting from modifications, on a monthly basis.

                + */ + EstimatedTotalMonthlySavingsAmount?: string; /** *

                Savings percentage based on the recommended modifications, relative to the total @@ -2236,11 +2967,6 @@ export interface RightsizingRecommendationSummary { * costs associated with these instances.

                */ SavingsPercentage?: string; - - /** - *

                The currency code that Amazon Web Services used to calculate the savings.

                - */ - SavingsCurrencyCode?: string; } export namespace RightsizingRecommendationSummary { @@ -2250,11 +2976,6 @@ export namespace RightsizingRecommendationSummary { } export interface GetRightsizingRecommendationResponse { - /** - *

                Recommendations to rightsize resources.

                - */ - RightsizingRecommendations?: RightsizingRecommendation[]; - /** *

                Information regarding this specific recommendation set.

                */ @@ -2270,6 +2991,11 @@ export interface GetRightsizingRecommendationResponse { */ NextPageToken?: string; + /** + *

                Recommendations to rightsize resources.

                + */ + RightsizingRecommendations?: RightsizingRecommendation[]; + /** *

                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 @@ -2291,7 +3017,12 @@ export namespace GetRightsizingRecommendationResponse { */ export interface SavingsPlansCoverageData { /** - *

                The amount of your Amazon Web Services usage that is covered by a Savings Plans.

                + *

                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.

                */ SpendCoveredBySavingsPlans?: string; @@ -2302,12 +3033,7 @@ export interface SavingsPlansCoverageData { CoveragePercentage?: string; /** - *

                The cost of your Amazon Web Services usage at the public On-Demand rate.

                - */ - OnDemandCost?: string; - - /** - *

                The total cost of your Amazon Web Services usage, regardless of your purchase option.

                + *

                The total cost of your AWS usage, regardless of your purchase option.

                */ TotalCost?: string; } @@ -2346,819 +3072,1090 @@ 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.

                + */ + NextToken?: string; + /** *

                The amount of spend that your Savings Plans covered.

                */ SavingsPlansCoverages: SavingsPlansCoverage[] | undefined; +} + +export namespace GetSavingsPlansCoverageResponse { + export const filterSensitiveLog = (obj: GetSavingsPlansCoverageResponse): any => ({ + ...obj, + }); +} + +export enum SupportedSavingsPlansType { + COMPUTE_SP = "COMPUTE_SP", + EC2_INSTANCE_SP = "EC2_INSTANCE_SP", +} + +/** + *

                Metadata about your Savings Plans Purchase Recommendations.

                + */ +export interface SavingsPlansPurchaseRecommendationMetadata { + /** + *

                The timestamp showing when the recommendations were generated.

                + */ + GenerationTimestamp?: string; + + /** + *

                The unique identifier for the recommendation set.

                + */ + RecommendationId?: string; +} + +export namespace SavingsPlansPurchaseRecommendationMetadata { + export const filterSensitiveLog = (obj: SavingsPlansPurchaseRecommendationMetadata): any => ({ + ...obj, + }); +} + +/** + *

                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.

                + */ + Region?: string; + + /** + *

                A group of instance types that Savings Plans applies to.

                + */ + InstanceFamily?: string; +} + +export namespace SavingsPlansDetails { + export const filterSensitiveLog = (obj: SavingsPlansDetails): any => ({ + ...obj, + }); +} + +/** + *

                Details for your recommended Savings Plans.

                + */ +export interface SavingsPlansPurchaseRecommendationDetail { + /** + *

                The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

                + */ + CurrentMaximumHourlyOnDemandSpend?: string; + + /** + *

                The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

                + */ + CurrentMinimumHourlyOnDemandSpend?: 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. + *

                + */ + EstimatedOnDemandCostWithCurrentCommitment?: string; + + /** + *

                The cost of the recommended Savings Plans over the length of the lookback period.

                + */ + EstimatedSPCost?: string; + + /** + *

                The currency code AWS used to generate the recommendations and present potential + * savings.

                + */ + CurrencyCode?: string; + + /** + *

                The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

                + */ + EstimatedSavingsPercentage?: string; + + /** + *

                The estimated return on investment based on the recommended Savings Plans purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.

                + */ + EstimatedROI?: string; + + /** + *

                The AccountID the recommendation is generated for.

                + */ + AccountId?: string; + + /** + *

                The estimated monthly savings amount, based on the recommended Savings Plans.

                + */ + EstimatedMonthlySavingsAmount?: string; + + /** + *

                The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

                + */ + CurrentAverageHourlyOnDemandSpend?: string; + + /** + *

                The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length of the lookback period.

                + */ + EstimatedOnDemandCost?: string; + + /** + *

                The estimated savings amount based on the recommended Savings Plans over the length of the lookback period.

                + */ + EstimatedSavingsAmount?: string; + + /** + *

                Details for your recommended Savings Plans.

                + */ + SavingsPlansDetails?: SavingsPlansDetails; + + /** + *

                The estimated utilization of the recommended Savings Plans.

                + */ + EstimatedAverageUtilization?: string; + + /** + *

                The upfront cost of the recommended Savings Plans, based on the selected payment option.

                + */ + UpfrontCost?: string; + + /** + *

                The recommended hourly commitment level for the Savings Plans type, and configuration based on the usage during the lookback period.

                + */ + HourlyCommitmentToPurchase?: string; +} + +export namespace SavingsPlansPurchaseRecommendationDetail { + export const filterSensitiveLog = (obj: SavingsPlansPurchaseRecommendationDetail): any => ({ + ...obj, + }); +} + +/** + *

                Summary metrics for your Savings Plans Purchase Recommendations.

                + */ +export interface SavingsPlansPurchaseRecommendationSummary { + /** + *

                The current total on demand spend of the applicable usage types over the lookback period.

                + */ + CurrentOnDemandSpend?: string; + + /** + *

                The estimated total savings over the lookback period, based on the purchase of the recommended Savings Plans.

                + */ + EstimatedSavingsAmount?: 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. + *

                + */ + EstimatedOnDemandCostWithCurrentCommitment?: string; + + /** + *

                The currency code AWS used to generate the recommendations and present potential + * savings.

                + */ + CurrencyCode?: string; + + /** + *

                The estimated savings relative to the total cost of On-Demand usage, over the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100.

                + */ + EstimatedSavingsPercentage?: 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 estimated monthly savings amount, based on the recommended Savings Plans purchase.

                */ - NextToken?: string; -} - -export namespace GetSavingsPlansCoverageResponse { - export const filterSensitiveLog = (obj: GetSavingsPlansCoverageResponse): any => ({ - ...obj, - }); -} - -export enum SupportedSavingsPlansType { - COMPUTE_SP = "COMPUTE_SP", - EC2_INSTANCE_SP = "EC2_INSTANCE_SP", -} + EstimatedMonthlySavingsAmount?: string; -/** - *

                Metadata about your Savings Plans Purchase Recommendations.

                - */ -export interface SavingsPlansPurchaseRecommendationMetadata { /** - *

                The timestamp showing when the recommendations were generated.

                + *

                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.

                */ - GenerationTimestamp?: string; + EstimatedTotalCost?: string; /** - *

                The unique identifier for the recommendation set.

                + *

                The recommended Savings Plans cost on a daily (24 hourly) basis.

                */ - RecommendationId?: string; -} - -export namespace SavingsPlansPurchaseRecommendationMetadata { - export const filterSensitiveLog = (obj: SavingsPlansPurchaseRecommendationMetadata): any => ({ - ...obj, - }); -} + DailyCommitmentToPurchase?: string; -/** - *

                Attribute details on a specific Savings Plan.

                - */ -export interface SavingsPlansDetails { /** - *

                A collection of AWS resources in a geographic area. Each AWS Region is isolated and independent of the other Regions.

                + *

                The estimated return on investment based on the recommended Savings Plans and estimated savings.

                */ - Region?: string; + EstimatedROI?: string; /** - *

                A group of instance types that Savings Plans applies to.

                + *

                The aggregate number of Savings Plans recommendations that exist for your account.

                */ - InstanceFamily?: string; + TotalRecommendationCount?: string; /** - *

                The unique ID used to distinguish Savings Plans from one another.

                + *

                The recommended hourly commitment based on the recommendation parameters.

                */ - OfferingId?: string; + HourlyCommitmentToPurchase?: string; } -export namespace SavingsPlansDetails { - export const filterSensitiveLog = (obj: SavingsPlansDetails): any => ({ +export namespace SavingsPlansPurchaseRecommendationSummary { + export const filterSensitiveLog = (obj: SavingsPlansPurchaseRecommendationSummary): any => ({ ...obj, }); } /** - *

                Details for your recommended Savings Plans.

                + *

                Contains your request parameters, Savings Plan Recommendations Summary, and Details.

                */ -export interface SavingsPlansPurchaseRecommendationDetail { +export interface SavingsPlansPurchaseRecommendation { /** - *

                The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length of the lookback period.

                + *

                The payment option used to generate the recommendation.

                */ - EstimatedOnDemandCost?: string; + PaymentOption?: PaymentOption | string; /** - *

                Details for your recommended Savings Plans.

                + *

                The Savings Plans recommendation term in years, used to generate the recommendation.

                */ - SavingsPlansDetails?: SavingsPlansDetails; + TermInYears?: TermInYears | string; /** - *

                The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

                + *

                Summary metrics for your Savings Plans Recommendations.

                */ - EstimatedSavingsPercentage?: string; + SavingsPlansPurchaseRecommendationSummary?: SavingsPlansPurchaseRecommendationSummary; /** - *

                The cost of the recommended Savings Plans over the length of the lookback period.

                + *

                Details for the Savings Plans we recommend that you purchase to cover existing Savings + * Plans eligible workloads.

                */ - EstimatedSPCost?: string; + SavingsPlansPurchaseRecommendationDetails?: SavingsPlansPurchaseRecommendationDetail[]; /** - *

                The estimated monthly savings amount, based on the recommended Savings Plans.

                + *

                The lookback period in days, used to generate the recommendation.

                */ - EstimatedMonthlySavingsAmount?: string; + LookbackPeriodInDays?: LookbackPeriodInDays | string; /** - *

                The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

                + *

                The requested Savings Plans recommendation type.

                */ - CurrentMaximumHourlyOnDemandSpend?: string; + SavingsPlansType?: SupportedSavingsPlansType | string; /** - *

                The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

                + *

                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.

                */ - CurrentMinimumHourlyOnDemandSpend?: string; + AccountScope?: AccountScope | string; +} - /** - *

                The estimated savings amount based on the recommended Savings Plans over the length of the lookback period.

                - */ - EstimatedSavingsAmount?: string; +export namespace SavingsPlansPurchaseRecommendation { + export const filterSensitiveLog = (obj: SavingsPlansPurchaseRecommendation): any => ({ + ...obj, + }); +} +export interface GetSavingsPlansPurchaseRecommendationResponse { /** - *

                The AccountID the recommendation is generated for.

                + *

                Information regarding this specific recommendation set.

                */ - AccountId?: string; + Metadata?: SavingsPlansPurchaseRecommendationMetadata; /** - *

                The estimated return on investment based on the recommended Savings Plans purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.

                + *

                Contains your request parameters, Savings Plan Recommendations Summary, and Details.

                */ - EstimatedROI?: string; + SavingsPlansPurchaseRecommendation?: SavingsPlansPurchaseRecommendation; /** - *

                The currency code Amazon Web Services used to generate the recommendations and present potential savings.

                + *

                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.

                */ - CurrencyCode?: string; + NextPageToken?: string; +} + +export namespace GetSavingsPlansPurchaseRecommendationResponse { + export const filterSensitiveLog = (obj: GetSavingsPlansPurchaseRecommendationResponse): any => ({ + ...obj, + }); +} +/** + *

                The amortized amount of Savings Plans purchased in a specific account during a specific time interval.

                + */ +export interface SavingsPlansAmortizedCommitment { /** - *

                The recommended hourly commitment level for the Savings Plans type, and configuration based on the usage during the lookback period.

                + *

                The amortized amount of your Savings Plans commitment that was purchased with either a Partial or a NoUpfront.

                */ - HourlyCommitmentToPurchase?: string; + AmortizedRecurringCommitment?: string; /** - *

                The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

                + *

                The amortized amount of your Savings Plans commitment that was purchased with an Upfront or PartialUpfront Savings Plans.

                */ - CurrentAverageHourlyOnDemandSpend?: string; + AmortizedUpfrontCommitment?: string; /** - *

                The upfront cost of the recommended Savings Plans, based on the selected payment option.

                + *

                The total amortized amount of your Savings Plans commitment, regardless of your Savings Plans purchase method.

                */ - UpfrontCost?: string; + TotalAmortizedCommitment?: string; +} + +export namespace SavingsPlansAmortizedCommitment { + export const filterSensitiveLog = (obj: SavingsPlansAmortizedCommitment): any => ({ + ...obj, + }); +} +/** + *

                The amount of savings you're accumulating, against the public On-Demand rate of the usage accrued in an account.

                + */ +export interface SavingsPlansSavings { /** - *

                The estimated utilization of the recommended Savings Plans.

                + *

                The savings amount that you are accumulating for the usage that is covered by a Savings Plans, when compared to the On-Demand equivalent of the same usage.

                */ - EstimatedAverageUtilization?: string; + NetSavings?: 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. - *

                + *

                How much the amount that the usage would have cost if it was + * accrued + * at the On-Demand rate.

                */ - EstimatedOnDemandCostWithCurrentCommitment?: string; + OnDemandCostEquivalent?: string; } -export namespace SavingsPlansPurchaseRecommendationDetail { - export const filterSensitiveLog = (obj: SavingsPlansPurchaseRecommendationDetail): any => ({ +export namespace SavingsPlansSavings { + export const filterSensitiveLog = (obj: SavingsPlansSavings): any => ({ ...obj, }); } /** - *

                Summary metrics for your Savings Plans Purchase Recommendations.

                + *

                The measurement of how well you are using your existing Savings Plans.

                */ -export interface SavingsPlansPurchaseRecommendationSummary { +export interface SavingsPlansUtilization { /** - *

                The estimated return on investment based on the recommended Savings Plans and estimated savings.

                + *

                The amount of your Savings Plans commitment that was not consumed from Savings Plans eligible usage in a specific period.

                */ - EstimatedROI?: string; + UnusedCommitment?: string; /** - *

                The currency code Amazon Web Services used to generate the recommendations and present potential savings.

                + *

                The amount of your Savings Plans commitment that was consumed from Savings Plans eligible usage in a specific period.

                */ - CurrencyCode?: string; + UsedCommitment?: 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 amount of UsedCommitment divided by the TotalCommitment for your Savings Plans.

                */ - EstimatedTotalCost?: string; + UtilizationPercentage?: string; /** - *

                The estimated monthly savings amount, based on the recommended Savings Plans purchase.

                + *

                The total amount of Savings Plans commitment that's been purchased in an account (or set of accounts).

                */ - EstimatedMonthlySavingsAmount?: string; + TotalCommitment?: string; +} + +export namespace SavingsPlansUtilization { + export const filterSensitiveLog = (obj: SavingsPlansUtilization): any => ({ + ...obj, + }); +} +/** + *

                The amount of Savings Plans utilization, in hours.

                + */ +export interface SavingsPlansUtilizationByTime { /** - *

                The current total on demand spend of the applicable usage types over the lookback period.

                + *

                A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

                */ - CurrentOnDemandSpend?: string; + Utilization: SavingsPlansUtilization | undefined; /** - *

                The estimated savings relative to the total cost of On-Demand usage, over the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100.

                + *

                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.

                */ - EstimatedSavingsPercentage?: string; + Savings?: SavingsPlansSavings; /** - *

                The recommended hourly commitment based on the recommendation parameters.

                + *

                The time period that you want the usage and costs for. + *

                */ - HourlyCommitmentToPurchase?: string; + TimePeriod: DateInterval | undefined; /** - *

                The recommended Savings Plans cost on a daily (24 hourly) basis.

                + *

                The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

                */ - DailyCommitmentToPurchase?: string; + AmortizedCommitment?: SavingsPlansAmortizedCommitment; +} +export namespace SavingsPlansUtilizationByTime { + export const filterSensitiveLog = (obj: SavingsPlansUtilizationByTime): any => ({ + ...obj, + }); +} + +/** + *

                The aggregated utilization metrics for your Savings Plans usage.

                + */ +export interface SavingsPlansUtilizationAggregates { /** - *

                The aggregate number of Savings Plans recommendations that exist for your account.

                + *

                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.

                */ - TotalRecommendationCount?: string; + Savings?: SavingsPlansSavings; /** - *

                The estimated total savings over the lookback period, based on the purchase of the recommended Savings Plans.

                + *

                The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

                */ - EstimatedSavingsAmount?: string; + AmortizedCommitment?: SavingsPlansAmortizedCommitment; /** - *

                - * 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. - *

                + *

                A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

                */ - EstimatedOnDemandCostWithCurrentCommitment?: string; + Utilization: SavingsPlansUtilization | undefined; } -export namespace SavingsPlansPurchaseRecommendationSummary { - export const filterSensitiveLog = (obj: SavingsPlansPurchaseRecommendationSummary): any => ({ +export namespace SavingsPlansUtilizationAggregates { + export const filterSensitiveLog = (obj: SavingsPlansUtilizationAggregates): any => ({ ...obj, }); } -/** - *

                Contains your request parameters, Savings Plan Recommendations Summary, and Details.

                - */ -export interface SavingsPlansPurchaseRecommendation { +export interface GetSavingsPlansUtilizationResponse { /** - *

                Summary metrics for your Savings Plans Recommendations.

                + *

                The amount of cost/commitment you used your Savings Plans. This allows you to specify date ranges.

                */ - SavingsPlansPurchaseRecommendationSummary?: SavingsPlansPurchaseRecommendationSummary; + SavingsPlansUtilizationsByTime?: SavingsPlansUtilizationByTime[]; /** - *

                The requested Savings Plans recommendation type.

                + *

                The total amount of cost/commitment that you used your Savings Plans, regardless of date ranges.

                */ - SavingsPlansType?: SupportedSavingsPlansType | string; + Total: SavingsPlansUtilizationAggregates | undefined; +} + +export namespace GetSavingsPlansUtilizationResponse { + export const filterSensitiveLog = (obj: GetSavingsPlansUtilizationResponse): any => ({ + ...obj, + }); +} +/** + *

                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.

                + */ +export interface SavingsPlansUtilizationDetail { /** - *

                The lookback period in days, used to generate the recommendation.

                + *

                The unique Amazon Resource Name (ARN) for a particular Savings Plan.

                */ - LookbackPeriodInDays?: LookbackPeriodInDays | string; + SavingsPlanArn?: string; /** - *

                The payment option used to generate the recommendation.

                + *

                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.

                */ - PaymentOption?: PaymentOption | string; + Savings?: SavingsPlansSavings; /** - *

                The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only.

                + *

                A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

                */ - AccountScope?: AccountScope | string; + Utilization?: SavingsPlansUtilization; /** - *

                Details for the Savings Plans we recommend that you purchase to cover existing Savings - * Plans eligible workloads.

                + *

                The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

                */ - SavingsPlansPurchaseRecommendationDetails?: SavingsPlansPurchaseRecommendationDetail[]; + AmortizedCommitment?: SavingsPlansAmortizedCommitment; /** - *

                The Savings Plans recommendation term in years, used to generate the recommendation.

                + *

                The attribute that applies to a specific Dimension.

                */ - TermInYears?: TermInYears | string; + Attributes?: { [key: string]: string }; } -export namespace SavingsPlansPurchaseRecommendation { - export const filterSensitiveLog = (obj: SavingsPlansPurchaseRecommendation): any => ({ +export namespace SavingsPlansUtilizationDetail { + export const filterSensitiveLog = (obj: SavingsPlansUtilizationDetail): any => ({ ...obj, }); } -export interface GetSavingsPlansPurchaseRecommendationResponse { +export interface GetSavingsPlansUtilizationDetailsResponse { /** - *

                Contains your request parameters, Savings Plan Recommendations Summary, and Details.

                + *

                The time period that you want the usage and costs for. + *

                */ - SavingsPlansPurchaseRecommendation?: SavingsPlansPurchaseRecommendation; + TimePeriod: DateInterval | 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.

                + *

                The total Savings Plans utilization, regardless of time period.

                */ - NextPageToken?: string; + Total?: SavingsPlansUtilizationAggregates; /** - *

                Information regarding this specific recommendation set.

                + *

                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.

                */ - Metadata?: SavingsPlansPurchaseRecommendationMetadata; + NextToken?: string; + + /** + *

                Retrieves a single daily or monthly Savings Plans utilization rate and details for your account.

                + */ + SavingsPlansUtilizationDetails: SavingsPlansUtilizationDetail[] | undefined; } -export namespace GetSavingsPlansPurchaseRecommendationResponse { - export const filterSensitiveLog = (obj: GetSavingsPlansPurchaseRecommendationResponse): any => ({ +export namespace GetSavingsPlansUtilizationDetailsResponse { + export const filterSensitiveLog = (obj: GetSavingsPlansUtilizationDetailsResponse): any => ({ ...obj, }); } -/** - *

                The amortized amount of Savings Plans purchased in a specific account during a specific time interval.

                - */ -export interface SavingsPlansAmortizedCommitment { +export interface GetTagsRequest { /** - *

                The amortized amount of your Savings Plans commitment that was purchased with an Upfront or PartialUpfront Savings Plans.

                + *

                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.

                */ - AmortizedUpfrontCommitment?: string; + NextPageToken?: string; /** - *

                The amortized amount of your Savings Plans commitment that was purchased with either a Partial or a NoUpfront.

                + *

                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 + * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                */ - AmortizedRecurringCommitment?: string; + TimePeriod: DateInterval | undefined; /** - *

                The total amortized amount of your Savings Plans commitment, regardless of your Savings Plans purchase method.

                + *

                The key of the tag that you want to return values for.

                */ - TotalAmortizedCommitment?: string; + TagKey?: string; + + /** + *

                The value that you want to search for.

                + */ + SearchString?: string; } -export namespace SavingsPlansAmortizedCommitment { - export const filterSensitiveLog = (obj: SavingsPlansAmortizedCommitment): any => ({ +export namespace GetTagsRequest { + export const filterSensitiveLog = (obj: GetTagsRequest): any => ({ ...obj, }); } -/** - *

                The amount of savings you're accumulating, against the public On-Demand rate of the usage accrued in an account.

                - */ -export interface SavingsPlansSavings { +export interface GetTagsResponse { /** - *

                How much the amount that the usage would have cost if it was - * accrued - * at the On-Demand rate.

                + *

                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.

                */ - OnDemandCostEquivalent?: string; + NextPageToken?: string; /** - *

                The savings amount that you are accumulating for the usage that is covered by a Savings Plans, when compared to the On-Demand equivalent of the same usage.

                + *

                The tags that match your request.

                */ - NetSavings?: string; -} - -export namespace SavingsPlansSavings { - export const filterSensitiveLog = (obj: SavingsPlansSavings): any => ({ - ...obj, - }); -} + Tags: string[] | undefined; -/** - *

                The measurement of how well you are using your existing Savings Plans.

                - */ -export interface SavingsPlansUtilization { /** - *

                The amount of your Savings Plans commitment that was not consumed from Savings Plans eligible usage in a specific period.

                + *

                The number of query results that AWS returns at a time.

                */ - UnusedCommitment?: string; + ReturnSize: number | undefined; /** - *

                The amount of your Savings Plans commitment that was consumed from Savings Plans eligible usage in a specific period.

                + *

                The total number of query results.

                */ - UsedCommitment?: string; + TotalSize: number | undefined; +} + +export namespace GetTagsResponse { + export const filterSensitiveLog = (obj: GetTagsResponse): any => ({ + ...obj, + }); +} +export interface GetUsageForecastResponse { /** - *

                The total amount of Savings Plans commitment that's been purchased in an account (or set of accounts).

                + *

                How much you're forecasted to use over the forecast period.

                */ - TotalCommitment?: string; + Total?: MetricValue; /** - *

                The amount of UsedCommitment divided by the TotalCommitment for your Savings Plans.

                + *

                The forecasts for your query, in order. For DAILY forecasts, this is a list of days. For MONTHLY forecasts, + * this is a list of months.

                */ - UtilizationPercentage?: string; + ForecastResultsByTime?: ForecastResult[]; } -export namespace SavingsPlansUtilization { - export const filterSensitiveLog = (obj: SavingsPlansUtilization): any => ({ +export namespace GetUsageForecastResponse { + export const filterSensitiveLog = (obj: GetUsageForecastResponse): any => ({ ...obj, }); } /** - *

                The amount of Savings Plans utilization, in hours.

                + *

                Cost Explorer was unable to identify the usage unit. Provide UsageType/UsageTypeGroup filter selections that contain matching units, for example: hours.

                */ -export interface SavingsPlansUtilizationByTime { - /** - *

                The time period that you want the usage and costs for. - *

                - */ - TimePeriod: DateInterval | undefined; +export interface UnresolvableUsageUnitException extends __SmithyException, $MetadataBearer { + name: "UnresolvableUsageUnitException"; + $fault: "client"; + Message?: string; +} + +export namespace UnresolvableUsageUnitException { + export const filterSensitiveLog = (obj: UnresolvableUsageUnitException): any => ({ + ...obj, + }); +} +export interface ListCostCategoryDefinitionsRequest { /** - *

                The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

                + *

                The number of entries a paginated response contains.

                */ - AmortizedCommitment?: SavingsPlansAmortizedCommitment; + MaxResults?: number; /** - *

                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 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. + *

                */ - Savings?: SavingsPlansSavings; + NextToken?: string; /** - *

                A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

                + *

                + * The date when the Cost Category was effective. + *

                */ - Utilization: SavingsPlansUtilization | undefined; + EffectiveOn?: string; } -export namespace SavingsPlansUtilizationByTime { - export const filterSensitiveLog = (obj: SavingsPlansUtilizationByTime): any => ({ +export namespace ListCostCategoryDefinitionsRequest { + export const filterSensitiveLog = (obj: ListCostCategoryDefinitionsRequest): any => ({ ...obj, }); } /** - *

                The aggregated utilization metrics for your Savings Plans usage.

                + *

                A reference to a Cost Category containing only enough information to identify the Cost Category.

                + *

                You can use this information to retrieve the full Cost Category information using DescribeCostCategory.

                */ -export interface SavingsPlansUtilizationAggregates { +export interface CostCategoryReference { /** - *

                The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

                + *

                + * The list of processing statuses for Cost Management products for a specific cost category. + *

                */ - AmortizedCommitment?: SavingsPlansAmortizedCommitment; + ProcessingStatus?: CostCategoryProcessingStatus[]; /** - *

                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 unique identifier for your Cost Category. + *

                */ - Savings?: SavingsPlansSavings; + CostCategoryArn?: string; /** - *

                A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

                + *

                + * A list of unique cost category values in a specific cost category. + *

                */ - Utilization: SavingsPlansUtilization | undefined; -} - -export namespace SavingsPlansUtilizationAggregates { - export const filterSensitiveLog = (obj: SavingsPlansUtilizationAggregates): any => ({ - ...obj, - }); -} + Values?: string[]; -export interface GetSavingsPlansUtilizationResponse { /** - *

                The amount of cost/commitment you used your Savings Plans. This allows you to specify date ranges.

                + *

                + * The number of rules associated with a specific Cost Category. + *

                */ - SavingsPlansUtilizationsByTime?: SavingsPlansUtilizationByTime[]; + NumberOfRules?: number; /** - *

                The total amount of cost/commitment that you used your Savings Plans, regardless of date ranges.

                + *

                + * The Cost Category's effective end date.

                */ - Total: SavingsPlansUtilizationAggregates | undefined; -} - -export namespace GetSavingsPlansUtilizationResponse { - export const filterSensitiveLog = (obj: GetSavingsPlansUtilizationResponse): any => ({ - ...obj, - }); -} + EffectiveEnd?: string; -/** - *

                A single daily or monthly Savings Plans utilization rate, and details for your account. Master accounts in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

                - */ -export interface SavingsPlansUtilizationDetail { /** - *

                The attribute that applies to a specific Dimension.

                + *

                The unique name of the Cost Category.

                */ - Attributes?: { [key: string]: string }; + Name?: string; /** - *

                The unique Amazon Resource Name (ARN) for a particular Savings Plan.

                + *

                + * The Cost Category's effective start date.

                */ - SavingsPlanArn?: string; + EffectiveStart?: 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.

                - */ - Savings?: SavingsPlansSavings; +export namespace CostCategoryReference { + export const filterSensitiveLog = (obj: CostCategoryReference): any => ({ + ...obj, + }); +} +export interface ListCostCategoryDefinitionsResponse { /** - *

                A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

                + *

                + * A reference to a Cost Category containing enough information to identify the Cost Category. + *

                */ - Utilization?: SavingsPlansUtilization; + CostCategoryReferences?: CostCategoryReference[]; /** - *

                The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

                + *

                + * 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. + *

                */ - AmortizedCommitment?: SavingsPlansAmortizedCommitment; + NextToken?: string; } -export namespace SavingsPlansUtilizationDetail { - export const filterSensitiveLog = (obj: SavingsPlansUtilizationDetail): any => ({ +export namespace ListCostCategoryDefinitionsResponse { + export const filterSensitiveLog = (obj: ListCostCategoryDefinitionsResponse): any => ({ ...obj, }); } -export interface GetSavingsPlansUtilizationDetailsResponse { +export interface ProvideAnomalyFeedbackRequest { /** - *

                Retrieves a single daily or monthly Savings Plans utilization rate and details for your account.

                + *

                + * A cost anomaly ID. + *

                */ - SavingsPlansUtilizationDetails: SavingsPlansUtilizationDetail[] | undefined; + AnomalyId: string | undefined; /** - *

                The time period that you want the usage and costs for. - *

                + *

                Describes whether the cost anomaly was a planned activity or you considered it an anomaly.

                */ - TimePeriod: DateInterval | undefined; + Feedback: AnomalyFeedbackType | string | undefined; +} - /** - *

                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.

                - */ - NextToken?: string; +export namespace ProvideAnomalyFeedbackRequest { + export const filterSensitiveLog = (obj: ProvideAnomalyFeedbackRequest): any => ({ + ...obj, + }); +} +export interface ProvideAnomalyFeedbackResponse { /** - *

                The total Savings Plans utilization, regardless of time period.

                + *

                + * The ID of the modified cost anomaly. + *

                */ - Total?: SavingsPlansUtilizationAggregates; + AnomalyId: string | undefined; } -export namespace GetSavingsPlansUtilizationDetailsResponse { - export const filterSensitiveLog = (obj: GetSavingsPlansUtilizationDetailsResponse): any => ({ +export namespace ProvideAnomalyFeedbackResponse { + export const filterSensitiveLog = (obj: ProvideAnomalyFeedbackResponse): any => ({ ...obj, }); } -export interface GetTagsRequest { +export interface UpdateAnomalyMonitorRequest { /** - *

                The value that you want to search for.

                + *

                + * The new name for the cost anomaly monitor. + *

                */ - SearchString?: string; + MonitorName?: string; /** - *

                The key of the tag that you want to return values for.

                + *

                Cost anomaly monitor Amazon Resource Names (ARNs).

                */ - TagKey?: string; + MonitorArn: string | undefined; +} - /** - *

                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 - * retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                - */ - TimePeriod: DateInterval | undefined; +export namespace UpdateAnomalyMonitorRequest { + export const filterSensitiveLog = (obj: UpdateAnomalyMonitorRequest): any => ({ + ...obj, + }); +} +export interface UpdateAnomalyMonitorResponse { /** - *

                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 cost anomaly monitor ARN. + *

                */ - NextPageToken?: string; + MonitorArn: string | undefined; } -export namespace GetTagsRequest { - export const filterSensitiveLog = (obj: GetTagsRequest): any => ({ +export namespace UpdateAnomalyMonitorResponse { + export const filterSensitiveLog = (obj: UpdateAnomalyMonitorResponse): any => ({ ...obj, }); } -export interface GetTagsResponse { +export interface UpdateAnomalySubscriptionRequest { /** - *

                The number of query results that AWS returns at a time.

                + *

                + * The update to the subscriber list. + *

                */ - ReturnSize: number | undefined; + Subscribers?: Subscriber[]; /** - *

                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.

                + *

                + * A list of cost anomaly subscription ARNs. + *

                */ - NextPageToken?: string; + MonitorArnList?: string[]; /** - *

                The tags that match your request.

                + *

                A cost anomaly subscription Amazon Resource Name (ARN).

                */ - Tags: string[] | undefined; + SubscriptionArn: string | undefined; /** - *

                The total number of query results.

                + *

                + * The update to the frequency value at which subscribers will receive notifications. + *

                */ - TotalSize: number | undefined; -} - -export namespace GetTagsResponse { - export const filterSensitiveLog = (obj: GetTagsResponse): any => ({ - ...obj, - }); -} + Frequency?: AnomalySubscriptionFrequency | string; -export interface GetUsageForecastResponse { /** - *

                The forecasts for your query, in order. For DAILY forecasts, this is a list of days. For MONTHLY forecasts, - * this is a list of months.

                + *

                + * The update to the threshold value for receiving notifications. + *

                */ - ForecastResultsByTime?: ForecastResult[]; + Threshold?: number; /** - *

                How much you're forecasted to use over the forecast period.

                + *

                + * The subscription's new name. + *

                */ - Total?: MetricValue; + SubscriptionName?: string; } -export namespace GetUsageForecastResponse { - export const filterSensitiveLog = (obj: GetUsageForecastResponse): any => ({ +export namespace UpdateAnomalySubscriptionRequest { + export const filterSensitiveLog = (obj: UpdateAnomalySubscriptionRequest): any => ({ ...obj, }); } -/** - *

                Cost Explorer was unable to identify the usage unit. Provide UsageType/UsageTypeGroup filter selections that contain matching units, for example: hours.

                - */ -export interface UnresolvableUsageUnitException extends __SmithyException, $MetadataBearer { - name: "UnresolvableUsageUnitException"; - $fault: "client"; - Message?: string; +export interface UpdateAnomalySubscriptionResponse { + /** + *

                + * A cost anomaly subscription ARN. + *

                + */ + SubscriptionArn: string | undefined; } -export namespace UnresolvableUsageUnitException { - export const filterSensitiveLog = (obj: UnresolvableUsageUnitException): any => ({ +export namespace UpdateAnomalySubscriptionResponse { + export const filterSensitiveLog = (obj: UpdateAnomalySubscriptionResponse): any => ({ ...obj, }); } -export interface ListCostCategoryDefinitionsRequest { +export interface UpdateCostCategoryDefinitionResponse { /** *

                - * 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 unique identifier for your Cost Category. *

                */ - NextToken?: string; + CostCategoryArn?: string; /** *

                - * The date when the Cost Category was effective. + * The Cost Category's effective start date. *

                */ - EffectiveOn?: string; - - /** - *

                The number of entries a paginated response contains.

                - */ - MaxResults?: number; + EffectiveStart?: string; } -export namespace ListCostCategoryDefinitionsRequest { - export const filterSensitiveLog = (obj: ListCostCategoryDefinitionsRequest): any => ({ +export namespace UpdateCostCategoryDefinitionResponse { + export const filterSensitiveLog = (obj: UpdateCostCategoryDefinitionResponse): any => ({ ...obj, }); } /** - *

                A reference to a Cost Category containing only enough information to identify the Cost Category.

                - *

                You can use this information to retrieve the full Cost Category information using DescribeCostCategory.

                + *

                Use Expression to filter by cost or by usage. There are two patterns:

                + *
                  + *
                • + *

                  Simple dimension values - You can set the dimension name and values for the + * filters that you plan to use. For example, you can filter for + * REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The + * Expression example looks like:

                  + *

                  + * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", + * “us-west-1” ] } } + *

                  + *

                  The list of dimension values are OR'd together to retrieve cost or usage + * data. You can create Expression and DimensionValues + * objects using either with* methods or set* methods in + * multiple lines.

                  + *
                • + *
                • + *

                  Compound dimension values with logical operations - You can use multiple + * Expression types and the logical operators + * AND/OR/NOT to create a list of one or more + * Expression objects. This allows you to filter on more advanced + * options. For example, you can filter on ((REGION == us-east-1 OR + * REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != + * DataTransfer). The Expression for that looks like + * this:

                  + *

                  + * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", + * "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", + * "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", + * "Values": ["DataTransfer"] }}} ] } + *

                  + * + *

                  Because each Expression can have only one operator, the + * service returns an error if more than one is specified. The following + * example shows an Expression object that creates an + * error.

                  + *
                  + *

                  + * { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", + * "Values": [ "DataTransfer" ] } } + *

                  + *
                • + *
                + * + *

                For GetRightsizingRecommendation action, a combination of OR and NOT is not + * supported. OR is not supported between different dimensions, or dimensions and tags. + * NOT operators aren't supported. + * Dimensions + * are also limited to LINKED_ACCOUNT, REGION, or + * RIGHTSIZING_TYPE.

                + *
                */ -export interface CostCategoryReference { +export interface Expression { /** - *

                - * The Cost Category's effective end date.

                + *

                The filter based on CostCategory values.

                */ - EffectiveEnd?: string; + CostCategories?: CostCategoryValues; /** - *

                - * The number of rules associated with a specific Cost Category. - *

                + *

                Return results that match both Dimension objects.

                */ - NumberOfRules?: number; + And?: Expression[]; /** - *

                The unique name of the Cost Category.

                + *

                The specific Dimension to use for Expression.

                */ - Name?: string; + Dimensions?: DimensionValues; /** - *

                - * The Cost Category's effective start date.

                + *

                The specific Tag to use for Expression.

                */ - EffectiveStart?: string; + Tags?: TagValues; /** - *

                - * The unique identifier for your Cost Category. - *

                + *

                Return results that don't match a Dimension object.

                */ - CostCategoryArn?: string; + Not?: Expression; + + /** + *

                Return results that match either Dimension object.

                + */ + Or?: Expression[]; } -export namespace CostCategoryReference { - export const filterSensitiveLog = (obj: CostCategoryReference): any => ({ +export namespace Expression { + export const filterSensitiveLog = (obj: Expression): any => ({ ...obj, }); } -export interface ListCostCategoryDefinitionsResponse { +/** + *

                This object continuously inspects your account's cost data for anomalies, based on + * MonitorType and MonitorSpecification. The content consists + * of detailed metadata and the current status of the monitor object.

                + */ +export interface AnomalyMonitor { /** *

                - * 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 name of the monitor. *

                */ - NextToken?: string; + MonitorName: string | undefined; /** - *

                - * A reference to a Cost Category containing enough information to identify the Cost Category. - *

                + *

                Use Expression to filter by cost or by usage. There are two patterns:

                + *
                  + *
                • + *

                  Simple dimension values - You can set the dimension name and values for the + * filters that you plan to use. For example, you can filter for + * REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The + * Expression example looks like:

                  + *

                  + * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", + * “us-west-1” ] } } + *

                  + *

                  The list of dimension values are OR'd together to retrieve cost or usage + * data. You can create Expression and DimensionValues + * objects using either with* methods or set* methods in + * multiple lines.

                  + *
                • + *
                • + *

                  Compound dimension values with logical operations - You can use multiple + * Expression types and the logical operators + * AND/OR/NOT to create a list of one or more + * Expression objects. This allows you to filter on more advanced + * options. For example, you can filter on ((REGION == us-east-1 OR + * REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != + * DataTransfer). The Expression for that looks like + * this:

                  + *

                  + * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", + * "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", + * "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", + * "Values": ["DataTransfer"] }}} ] } + *

                  + * + *

                  Because each Expression can have only one operator, the + * service returns an error if more than one is specified. The following + * example shows an Expression object that creates an + * error.

                  + *
                  + *

                  + * { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", + * "Values": [ "DataTransfer" ] } } + *

                  + *
                • + *
                + * + *

                For GetRightsizingRecommendation action, a combination of OR and NOT is not + * supported. OR is not supported between different dimensions, or dimensions and tags. + * NOT operators aren't supported. + * Dimensions + * are also limited to LINKED_ACCOUNT, REGION, or + * RIGHTSIZING_TYPE.

                + *
                */ - CostCategoryReferences?: CostCategoryReference[]; -} - -export namespace ListCostCategoryDefinitionsResponse { - export const filterSensitiveLog = (obj: ListCostCategoryDefinitionsResponse): any => ({ - ...obj, - }); -} + MonitorSpecification?: Expression; -export interface UpdateCostCategoryDefinitionResponse { /** *

                - * The Cost Category's effective start date. + * The possible type values. *

                */ - EffectiveStart?: string; + MonitorType: MonitorType | string | undefined; /** *

                - * The unique identifier for your Cost Category. + * The dimensions to evaluate. *

                */ - CostCategoryArn?: string; -} - -export namespace UpdateCostCategoryDefinitionResponse { - export const filterSensitiveLog = (obj: UpdateCostCategoryDefinitionResponse): any => ({ - ...obj, - }); -} - -/** - *

                Use Expression to filter by cost or by usage. There are two patterns:

                - *
                  - *
                • - *

                  Simple dimension values - You can set the dimension name and values for the - * filters that you plan to use. For example, you can filter for - * REGION==us-east-1 OR REGION==us-west-1. The - * Expression for that looks like this:

                  - *

                  - * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - * “us-west-1” ] } } - *

                  - *

                  The list of dimension values are OR'd together to retrieve cost or usage - * data. You can create Expression and DimensionValues - * objects using either with* methods or set* methods in - * multiple lines.

                  - *
                • - *
                • - *

                  Compound dimension values with logical operations - You can use multiple - * Expression types and the logical operators - * AND/OR/NOT to create a list of one or more - * Expression objects. This allows you to filter on more advanced - * options. For example, you can filter on ((REGION == us-east-1 OR - * REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - * DataTransfer). The Expression for that looks like - * this:

                  - *

                  - * { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - * "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - * "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - * "Values": ["DataTransfer"] }}} ] } - *

                  - * - *

                  Because each Expression can have only one operator, the - * service returns an error if more than one is specified. The following - * example shows an Expression object that creates an - * error.

                  - *
                  - *

                  - * { "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", - * "Values": [ "DataTransfer" ] } } - *

                  - *
                • - *
                - * - *

                For GetRightsizingRecommendation action, a combination of OR and NOT is not - * supported. OR is not supported between different dimensions, or dimensions and tags. - * NOT operators aren't supported. - * Dimensions - * are also limited to LINKED_ACCOUNT, REGION, or - * RIGHTSIZING_TYPE.

                - *
                - */ -export interface Expression { - /** - *

                Return results that don't match a Dimension object.

                - */ - Not?: Expression; + MonitorDimension?: MonitorDimension | string; /** - *

                Return results that match either Dimension object.

                + *

                + * The date when the monitor last evaluated for anomalies. + *

                */ - Or?: Expression[]; + LastEvaluatedDate?: string; /** - *

                The specific Tag to use for Expression.

                + *

                + * The date when the monitor was last updated. + *

                */ - Tags?: TagValues; + LastUpdatedDate?: string; /** - *

                The specific Dimension to use for Expression.

                + *

                + * The value for evaluated dimensions. + *

                */ - Dimensions?: DimensionValues; + DimensionalValueCount?: number; /** - *

                The filter based on CostCategory values.

                + *

                The Amazon Resource Name (ARN) value.

                */ - CostCategories?: CostCategoryValues; + MonitorArn?: string; /** - *

                Return results that match both Dimension objects.

                + *

                + * The date when the monitor was created. + *

                */ - And?: Expression[]; + CreationDate?: string; } -export namespace Expression { - export const filterSensitiveLog = (obj: Expression): any => ({ +export namespace AnomalyMonitor { + export const filterSensitiveLog = (obj: AnomalyMonitor): any => ({ ...obj, }); } @@ -3168,7 +4165,16 @@ export namespace Expression { */ export interface CostCategoryRule { /** - *

                An Expression object used to categorize costs. This supports dimensions, Tags, and nested expressions. Currently the only dimensions supported are LINKED_ACCOUNT, SERVICE_CODE, RECORD_TYPE, and LINKED_ACCOUNT_NAME.

                + *

                The value a line item will be categorized as, if it matches the rule.

                + */ + Value: string | undefined; + + /** + *

                An Expression + * object used to categorize costs. This supports dimensions, tags, and nested expressions. + * Currently the only dimensions supported are LINKED_ACCOUNT, + * SERVICE_CODE, RECORD_TYPE, and + * LINKED_ACCOUNT_NAME.

                *

                Root level OR is not supported. We recommend that you create a separate * rule instead.

                * @@ -3180,11 +4186,6 @@ export interface CostCategoryRule { * Guide.

                */ Rule: Expression | undefined; - - /** - *

                The value a line item will be categorized as, if it matches the rule.

                - */ - Value: string | undefined; } export namespace CostCategoryRule { @@ -3194,25 +4195,6 @@ 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; - - /** - *

                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; - - /** - *

                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 @@ -3229,7 +4211,17 @@ export interface GetCostAndUsageRequest { *

                * Metrics is required for GetCostAndUsage requests.

                */ - Metrics?: string[]; + Metrics: string[] | undefined; + + /** + *

                You can group AWS costs using up to two different groups, either dimensions, tag keys, + * cost categories, or any two group by types.

                + *

                When you group by tag key, you get all tag values, including empty strings.

                + *

                Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, + * OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, + * TENANCY, RECORD_TYPE, and USAGE_TYPE.

                + */ + GroupBy?: GroupDefinition[]; /** *

                Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, @@ -3238,13 +4230,23 @@ export interface GetCostAndUsageRequest { Granularity?: Granularity | string; /** - *

                You can group AWS costs using up to two different groups, either dimensions, tag keys, or both.

                - *

                When you group by tag key, you get all tag values, including empty strings.

                - *

                Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, - * OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, - * TENANCY, RECORD_TYPE, and USAGE_TYPE.

                + *

                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.

                */ - GroupBy?: GroupDefinition[]; + 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.

                + */ + NextPageToken?: string; } export namespace GetCostAndUsageRequest { @@ -3254,21 +4256,23 @@ export namespace GetCostAndUsageRequest { } export interface GetCostAndUsageWithResourcesRequest { - /** - *

                You can group Amazon Web Services costs using up to two different groups: either dimensions, tag keys, - * or both.

                - */ - GroupBy?: GroupDefinition[]; - /** *

                Filters Amazon Web Services 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.

                *

                The GetCostAndUsageWithResources operation requires that you either group by or filter by a - * ResourceId.

                + * ResourceId. It requires the Expression + * "SERVICE = Amazon Elastic Compute Cloud - Compute" in the filter.

                */ - Filter?: Expression; + 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; /** *

                Which metrics are returned in the query. For more information about blended and @@ -3303,11 +4307,9 @@ export interface GetCostAndUsageWithResourcesRequest { NextPageToken?: string; /** - *

                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.

                + *

                You can group Amazon Web Services costs using up to two different groups: DIMENSION, TAG, COST_CATEGORY.

                */ - Granularity?: Granularity | string; + GroupBy?: GroupDefinition[]; } export namespace GetCostAndUsageWithResourcesRequest { @@ -3318,14 +4320,12 @@ export namespace GetCostAndUsageWithResourcesRequest { export interface GetCostForecastRequest { /** - *

                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.

                + *

                The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

                */ - PredictionIntervalLevel?: number; + Filter?: Expression; /** - *

                The period of time that you want the forecast to cover.

                + *

                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.

                */ TimePeriod: DateInterval | undefined; @@ -3355,9 +4355,11 @@ export interface GetCostForecastRequest { Metric: Metric | string | undefined; /** - *

                The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

                + *

                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.

                */ - Filter?: Expression; + PredictionIntervalLevel?: number; /** *

                How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts.

                @@ -3377,7 +4379,20 @@ export namespace GetCostForecastRequest { */ export interface GetReservationCoverageRequest { /** - *

                Filters utilization data by dimensions. You can filter by the following dimensions:

                + *

                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.

                + */ + Granularity?: Granularity | string; + + /** + *

                You can group the data by the following attributes:

                *
                  *
                • *

                  AZ

                  @@ -3407,53 +4422,14 @@ export interface GetReservationCoverageRequest { *

                  REGION

                  *
                • *
                • - *

                  SERVICE

                  - *
                • - *
                • - *

                  TAG

                  - *
                • - *
                • *

                  TENANCY

                  *
                • *
                - *

                - * GetReservationCoverage uses the same - * Expression object - * as the other operations, but only AND is supported among each dimension. You can nest only one level deep. - * If there are multiple values for a dimension, they are OR'd together.

                - *

                If you don't provide a SERVICE filter, Cost Explorer defaults to EC2.

                - *

                Cost category is also supported.

                - */ - Filter?: Expression; - - /** - *

                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; - - /** - *

                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.

                - */ - TimePeriod: DateInterval | undefined; - - /** - *

                The measurement that you want your reservation coverage reported in.

                - *

                Valid values are Hour, Unit, and Cost. You can use multiple values in a request.

                - */ - Metrics?: 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.

                */ - NextPageToken?: string; + GroupBy?: GroupDefinition[]; /** - *

                You can group the data by the following attributes:

                + *

                Filters utilization data by dimensions. You can filter by the following dimensions:

                *
                  *
                • *

                  AZ

                  @@ -3483,35 +4459,53 @@ export interface GetReservationCoverageRequest { *

                  REGION

                  *
                • *
                • + *

                  SERVICE

                  + *
                • + *
                • + *

                  TAG

                  + *
                • + *
                • *

                  TENANCY

                  *
                • *
                + *

                + * GetReservationCoverage uses the same + * Expression object + * as the other operations, but only AND is supported among each dimension. You can nest only one level deep. + * If there are multiple values for a dimension, they are OR'd together.

                + *

                If you don't provide a SERVICE filter, Cost Explorer defaults to EC2.

                + *

                Cost category is also supported.

                */ - GroupBy?: GroupDefinition[]; -} - -export namespace GetReservationCoverageRequest { - export const filterSensitiveLog = (obj: GetReservationCoverageRequest): any => ({ - ...obj, - }); -} + Filter?: Expression; -export interface GetReservationUtilizationRequest { /** - *

                Groups only by SUBSCRIPTION_ID. Metadata is included.

                + *

                The measurement that you want your reservation coverage reported in.

                + *

                Valid values are Hour, Unit, and Cost. You can use multiple values in a request.

                */ - GroupBy?: GroupDefinition[]; + Metrics?: string[]; /** - *

                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 + *

                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.

                */ TimePeriod: DateInterval | undefined; +} + +export namespace GetReservationCoverageRequest { + export const filterSensitiveLog = (obj: GetReservationCoverageRequest): any => ({ + ...obj, + }); +} +export interface GetReservationUtilizationRequest { /** - *

                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.

                + *

                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. + * If both GroupBy and Granularity aren't set, GetReservationUtilization defaults to DAILY.

                + *

                The GetReservationUtilization operation supports only DAILY and MONTHLY granularities.

                */ - NextPageToken?: string; + Granularity?: Granularity | string; /** *

                Filters utilization data by dimensions. You can filter by the following dimensions:

                @@ -3559,12 +4553,20 @@ export interface GetReservationUtilizationRequest { Filter?: Expression; /** - *

                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. - * If both GroupBy and Granularity aren't set, GetReservationUtilization defaults to DAILY.

                - *

                The GetReservationUtilization operation supports only DAILY and MONTHLY granularities.

                + *

                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.

                */ - Granularity?: Granularity | string; + 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 { @@ -3574,34 +4576,20 @@ export namespace GetReservationUtilizationRequest { } export interface GetRightsizingRecommendationRequest { - /** - *

                The pagination token that indicates the next set of results that you want to retrieve.

                - */ - NextPageToken?: string; - /** *

                The specific service that you want recommendations for. The only valid value for GetRightsizingRecommendation is * "AmazonEC2".

                */ Service: string | undefined; - /** - *

                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 - * families. You can also choose to view your estimated savings associated with recommendations - * with consideration of existing Savings Plans or RI benefits, or - * neither.

                - */ - Configuration?: RightsizingRecommendationConfiguration; - /** *

                Use Expression to filter by cost or by usage. There are two patterns:

                *
                  *
                • *

                  Simple dimension values - You can set the dimension name and values for the * filters that you plan to use. For example, you can filter for - * REGION==us-east-1 OR REGION==us-west-1. The - * Expression for that looks like this:

                  + * REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The + * Expression example looks like:

                  *

                  * { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", * “us-west-1” ] } } @@ -3653,6 +4641,20 @@ export interface GetRightsizingRecommendationRequest { *

                  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 + * families. You can also choose to view your estimated savings associated with recommendations + * with consideration of existing Savings Plans or RI benefits, or + * neither.

                  + */ + Configuration?: RightsizingRecommendationConfiguration; + + /** + *

                  The pagination token that indicates the next set of results that you want to retrieve.

                  + */ + NextPageToken?: string; } export namespace GetRightsizingRecommendationRequest { @@ -3662,11 +4664,21 @@ 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.

                  + */ + NextToken?: string; + /** *

                  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; + /** + *

                  The measurement that you want your Savings Plans coverage reported in. The only valid value is SpendCoveredBySavingsPlans.

                  + */ + Metrics?: string[]; + /** *

                  Filters Savings Plans coverage data by dimensions. You can filter data for Savings Plans usage with the following dimensions:

                  *
                    @@ -3699,31 +4711,21 @@ export interface GetSavingsPlansCoverageRequest { */ Filter?: Expression; - /** - *

                    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.

                    - */ - NextToken?: string; - /** *

                    The number of items to be returned in a response. The default is 20, with a minimum value of 1.

                    */ MaxResults?: number; - /** - *

                    You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE.

                    - */ - GroupBy?: GroupDefinition[]; - - /** - *

                    The measurement that you want your Savings Plans coverage reported in. The only valid value is SpendCoveredBySavingsPlans.

                    - */ - 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.

                    */ Granularity?: Granularity | string; + + /** + *

                    You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE.

                    + */ + GroupBy?: GroupDefinition[]; } export namespace GetSavingsPlansCoverageRequest { @@ -3734,30 +4736,19 @@ export namespace GetSavingsPlansCoverageRequest { export interface GetSavingsPlansPurchaseRecommendationRequest { /** - *

                    The savings plan recommendation term used to - * generate these - * recommendations.

                    + *

                    The lookback period used to generate the recommendation.

                    */ - TermInYears: TermInYears | string | undefined; + LookbackPeriodInDays: LookbackPeriodInDays | string | undefined; /** - *

                    The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only.

                    + *

                    The Savings Plans recommendation type requested.

                    */ - AccountScope?: AccountScope | string; + SavingsPlansType: SupportedSavingsPlansType | 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 - * LINKED_ACCOUNT and Value as the comma-separated Acount ID(s) for - * which you want to see Savings Plans purchase recommendations.

                    - *

                    For GetSavingsPlansPurchaseRecommendation, the Filter does not include - * CostCategories or Tags. It only includes Dimensions. - * With Dimensions, Key must be LINKED_ACCOUNT and - * Value can be a single Account ID or multiple comma-separated Account IDs for - * which you want to see Savings Plans Purchase Recommendations. AND and - * OR operators are not supported.

                    + *

                    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.

                    */ - Filter?: Expression; + AccountScope?: AccountScope | string; /** *

                    The payment option used to generate these recommendations.

                    @@ -3765,24 +4756,35 @@ export interface GetSavingsPlansPurchaseRecommendationRequest { PaymentOption: PaymentOption | string | undefined; /** - *

                    The number of recommendations that you want returned in a single response object.

                    + *

                    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.

                    */ - PageSize?: number; + NextPageToken?: 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 recommendations that you want returned in a single response object.

                    */ - NextPageToken?: string; + PageSize?: number; /** - *

                    The Savings Plans recommendation type requested.

                    + *

                    You can filter your recommendations by Account ID with the LINKED_ACCOUNT + * dimension. To filter your recommendations by Account ID, specify Key as + * LINKED_ACCOUNT and Value as the comma-separated Acount ID(s) for + * which you want to see Savings Plans purchase recommendations.

                    + *

                    For GetSavingsPlansPurchaseRecommendation, the Filter does not include + * CostCategories or Tags. It only includes Dimensions. + * With Dimensions, Key must be LINKED_ACCOUNT and + * Value can be a single Account ID or multiple comma-separated Account IDs for + * which you want to see Savings Plans Purchase Recommendations. AND and + * OR operators are not supported.

                    */ - SavingsPlansType: SupportedSavingsPlansType | string | undefined; + Filter?: Expression; /** - *

                    The lookback period used to generate the recommendation.

                    + *

                    The savings plan recommendation term used to + * generate these + * recommendations.

                    */ - LookbackPeriodInDays: LookbackPeriodInDays | string | undefined; + TermInYears: TermInYears | string | undefined; } export namespace GetSavingsPlansPurchaseRecommendationRequest { @@ -3792,11 +4794,6 @@ 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:

                    *
                      @@ -3838,6 +4835,11 @@ export interface GetSavingsPlansUtilizationDetailsRequest { */ 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.

                      + */ + TimePeriod: DateInterval | undefined; + /** *

                      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.

                      */ @@ -3852,10 +4854,9 @@ export namespace GetSavingsPlansUtilizationDetailsRequest { export interface GetSavingsPlansUtilizationRequest { /** - *

                      The granularity of the Amazon Web Services utillization data for your Savings Plans.

                      - *

                      The GetSavingsPlansUtilization operation supports only DAILY and MONTHLY granularities.

                      + *

                      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.

                      */ - Granularity?: Granularity | string; + TimePeriod: DateInterval | undefined; /** *

                      Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

                      @@ -3899,9 +4900,10 @@ export interface GetSavingsPlansUtilizationRequest { Filter?: Expression; /** - *

                      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 granularity of the Amazon Web Services utillization data for your Savings Plans.

                      + *

                      The GetSavingsPlansUtilization operation supports only DAILY and MONTHLY granularities.

                      */ - TimePeriod: DateInterval | undefined; + Granularity?: Granularity | string; } export namespace GetSavingsPlansUtilizationRequest { @@ -3912,10 +4914,9 @@ export namespace GetSavingsPlansUtilizationRequest { export interface GetUsageForecastRequest { /** - *

                      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.

                      + *

                      The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

                      */ - Granularity: Granularity | string | undefined; + Filter?: Expression; /** *

                      Which metric Cost Explorer uses to create your forecast.

                      @@ -3931,6 +4932,12 @@ 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.

                      + */ + TimePeriod: DateInterval | undefined; + /** *

                      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 @@ -3939,19 +4946,27 @@ export interface GetUsageForecastRequest { PredictionIntervalLevel?: number; /** - *

                      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.

                      + *

                      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; +} + +export namespace GetUsageForecastRequest { + export const filterSensitiveLog = (obj: GetUsageForecastRequest): any => ({ + ...obj, + }); +} +export interface CreateAnomalyMonitorRequest { /** - *

                      The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

                      + *

                      The cost anomaly detection monitor object that you want to create.

                      */ - Filter?: Expression; + AnomalyMonitor: AnomalyMonitor | undefined; } -export namespace GetUsageForecastRequest { - export const filterSensitiveLog = (obj: GetUsageForecastRequest): any => ({ +export namespace CreateAnomalyMonitorRequest { + export const filterSensitiveLog = (obj: CreateAnomalyMonitorRequest): any => ({ ...obj, }); } @@ -3962,10 +4977,10 @@ export namespace GetUsageForecastRequest { export interface CostCategory { /** *

                      - * The unique identifier for your 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. *

                      */ - CostCategoryArn: string | undefined; + Rules: CostCategoryRule[] | undefined; /** *

                      @@ -3975,10 +4990,15 @@ 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 rule schema version in this particular Cost Category.

                      + */ + RuleVersion: CostCategoryRuleVersion | string | undefined; /** *

                      The unique name of the Cost Category.

                      @@ -3986,9 +5006,11 @@ export interface CostCategory { Name: string | undefined; /** - *

                      The rule schema version in this particular Cost Category.

                      + *

                      + * The list of processing statuses for Cost Management products for a specific cost category. + *

                      */ - RuleVersion: CostCategoryRuleVersion | string | undefined; + ProcessingStatus?: CostCategoryProcessingStatus[]; /** *

                      @@ -4005,14 +5027,14 @@ export namespace CostCategory { export interface CreateCostCategoryDefinitionRequest { /** - *

                      The rule schema version in this particular Cost Category.

                      + *

                      The unique name of the Cost Category.

                      */ - RuleVersion: CostCategoryRuleVersion | string | undefined; + Name: string | undefined; /** - *

                      The unique name of the Cost Category.

                      + *

                      The rule schema version in this particular Cost Category.

                      */ - Name: string | undefined; + RuleVersion: CostCategoryRuleVersion | string | undefined; /** *

                      The Cost Category rules used to categorize costs. For more information, see @@ -4027,7 +5049,34 @@ 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. + *

                      + */ + NextPageToken?: string; + + /** + *

                      + * A list of cost anomaly monitors that includes the detailed metadata for each monitor. + *

                      + */ + AnomalyMonitors: AnomalyMonitor[] | undefined; +} + +export namespace GetAnomalyMonitorsResponse { + export const filterSensitiveLog = (obj: GetAnomalyMonitorsResponse): any => ({ + ...obj, + }); +} + export interface UpdateCostCategoryDefinitionRequest { + /** + *

                      The rule schema version in this particular Cost Category.

                      + */ + RuleVersion: CostCategoryRuleVersion | string | undefined; + /** *

                      The Expression object used to categorize costs. For more information, see * CostCategoryRule .

                      @@ -4038,11 +5087,6 @@ export interface UpdateCostCategoryDefinitionRequest { *

                      The unique identifier for your Cost Category.

                      */ CostCategoryArn: string | undefined; - - /** - *

                      The rule schema version in this particular Cost Category.

                      - */ - RuleVersion: CostCategoryRuleVersion | 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 2f51141db0ad..d2b0b9508f97 100644 --- a/clients/client-cost-explorer/protocols/Aws_json1_1.ts +++ b/clients/client-cost-explorer/protocols/Aws_json1_1.ts @@ -1,7 +1,23 @@ +import { + CreateAnomalyMonitorCommandInput, + CreateAnomalyMonitorCommandOutput, +} from "../commands/CreateAnomalyMonitorCommand"; +import { + CreateAnomalySubscriptionCommandInput, + CreateAnomalySubscriptionCommandOutput, +} from "../commands/CreateAnomalySubscriptionCommand"; import { CreateCostCategoryDefinitionCommandInput, CreateCostCategoryDefinitionCommandOutput, } from "../commands/CreateCostCategoryDefinitionCommand"; +import { + DeleteAnomalyMonitorCommandInput, + DeleteAnomalyMonitorCommandOutput, +} from "../commands/DeleteAnomalyMonitorCommand"; +import { + DeleteAnomalySubscriptionCommandInput, + DeleteAnomalySubscriptionCommandOutput, +} from "../commands/DeleteAnomalySubscriptionCommand"; import { DeleteCostCategoryDefinitionCommandInput, DeleteCostCategoryDefinitionCommandOutput, @@ -10,6 +26,12 @@ import { DescribeCostCategoryDefinitionCommandInput, DescribeCostCategoryDefinitionCommandOutput, } from "../commands/DescribeCostCategoryDefinitionCommand"; +import { GetAnomaliesCommandInput, GetAnomaliesCommandOutput } from "../commands/GetAnomaliesCommand"; +import { GetAnomalyMonitorsCommandInput, GetAnomalyMonitorsCommandOutput } from "../commands/GetAnomalyMonitorsCommand"; +import { + GetAnomalySubscriptionsCommandInput, + GetAnomalySubscriptionsCommandOutput, +} from "../commands/GetAnomalySubscriptionsCommand"; import { GetCostAndUsageCommandInput, GetCostAndUsageCommandOutput } from "../commands/GetCostAndUsageCommand"; import { GetCostAndUsageWithResourcesCommandInput, @@ -55,13 +77,31 @@ import { ListCostCategoryDefinitionsCommandInput, ListCostCategoryDefinitionsCommandOutput, } from "../commands/ListCostCategoryDefinitionsCommand"; +import { + ProvideAnomalyFeedbackCommandInput, + ProvideAnomalyFeedbackCommandOutput, +} from "../commands/ProvideAnomalyFeedbackCommand"; +import { + UpdateAnomalyMonitorCommandInput, + UpdateAnomalyMonitorCommandOutput, +} from "../commands/UpdateAnomalyMonitorCommand"; +import { + UpdateAnomalySubscriptionCommandInput, + UpdateAnomalySubscriptionCommandOutput, +} from "../commands/UpdateAnomalySubscriptionCommand"; import { UpdateCostCategoryDefinitionCommandInput, UpdateCostCategoryDefinitionCommandOutput, } from "../commands/UpdateCostCategoryDefinitionCommand"; import { + Anomaly, + AnomalyDateInterval, + AnomalyMonitor, + AnomalyScore, + AnomalySubscription, BillExpirationException, CostCategory, + CostCategoryProcessingStatus, CostCategoryReference, CostCategoryRule, CostCategoryValues, @@ -70,17 +110,26 @@ import { CoverageCost, CoverageHours, CoverageNormalizedUnits, + CreateAnomalyMonitorRequest, + CreateAnomalyMonitorResponse, + CreateAnomalySubscriptionRequest, + CreateAnomalySubscriptionResponse, CreateCostCategoryDefinitionRequest, CreateCostCategoryDefinitionResponse, CurrentInstance, DataUnavailableException, DateInterval, + DeleteAnomalyMonitorRequest, + DeleteAnomalyMonitorResponse, + DeleteAnomalySubscriptionRequest, + DeleteAnomalySubscriptionResponse, DeleteCostCategoryDefinitionRequest, DeleteCostCategoryDefinitionResponse, DescribeCostCategoryDefinitionRequest, DescribeCostCategoryDefinitionResponse, DimensionValues, DimensionValuesWithAttributes, + EBSResourceUtilization, EC2InstanceDetails, EC2ResourceDetails, EC2ResourceUtilization, @@ -89,6 +138,12 @@ import { ElastiCacheInstanceDetails, Expression, ForecastResult, + GetAnomaliesRequest, + GetAnomaliesResponse, + GetAnomalyMonitorsRequest, + GetAnomalyMonitorsResponse, + GetAnomalySubscriptionsRequest, + GetAnomalySubscriptionsResponse, GetCostAndUsageRequest, GetCostAndUsageResponse, GetCostAndUsageWithResourcesRequest, @@ -119,6 +174,7 @@ import { GetUsageForecastResponse, Group, GroupDefinition, + Impact, InstanceDetails, InvalidNextTokenException, LimitExceededException, @@ -127,6 +183,8 @@ import { MatchOption, MetricValue, ModifyRecommendationDetail, + ProvideAnomalyFeedbackRequest, + ProvideAnomalyFeedbackResponse, RDSInstanceDetails, RedshiftInstanceDetails, RequestChangedException, @@ -145,6 +203,7 @@ import { RightsizingRecommendationConfiguration, RightsizingRecommendationMetadata, RightsizingRecommendationSummary, + RootCause, SavingsPlansAmortizedCommitment, SavingsPlansCoverage, SavingsPlansCoverageData, @@ -160,10 +219,18 @@ import { SavingsPlansUtilizationDetail, ServiceQuotaExceededException, ServiceSpecification, + Subscriber, TagValues, TargetInstance, TerminateRecommendationDetail, + TotalImpactFilter, + UnknownMonitorException, + UnknownSubscriptionException, UnresolvableUsageUnitException, + UpdateAnomalyMonitorRequest, + UpdateAnomalyMonitorResponse, + UpdateAnomalySubscriptionRequest, + UpdateAnomalySubscriptionResponse, UpdateCostCategoryDefinitionRequest, UpdateCostCategoryDefinitionResponse, UtilizationByTime, @@ -178,6 +245,32 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; +export const serializeAws_json1_1CreateAnomalyMonitorCommand = async ( + input: CreateAnomalyMonitorCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSInsightsIndexService.CreateAnomalyMonitor", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateAnomalyMonitorRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreateAnomalySubscriptionCommand = async ( + input: CreateAnomalySubscriptionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSInsightsIndexService.CreateAnomalySubscription", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateAnomalySubscriptionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateCostCategoryDefinitionCommand = async ( input: CreateCostCategoryDefinitionCommandInput, context: __SerdeContext @@ -191,6 +284,32 @@ export const serializeAws_json1_1CreateCostCategoryDefinitionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteAnomalyMonitorCommand = async ( + input: DeleteAnomalyMonitorCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSInsightsIndexService.DeleteAnomalyMonitor", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteAnomalyMonitorRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteAnomalySubscriptionCommand = async ( + input: DeleteAnomalySubscriptionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSInsightsIndexService.DeleteAnomalySubscription", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteAnomalySubscriptionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteCostCategoryDefinitionCommand = async ( input: DeleteCostCategoryDefinitionCommandInput, context: __SerdeContext @@ -217,6 +336,45 @@ export const serializeAws_json1_1DescribeCostCategoryDefinitionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetAnomaliesCommand = async ( + input: GetAnomaliesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSInsightsIndexService.GetAnomalies", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetAnomaliesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetAnomalyMonitorsCommand = async ( + input: GetAnomalyMonitorsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSInsightsIndexService.GetAnomalyMonitors", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetAnomalyMonitorsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetAnomalySubscriptionsCommand = async ( + input: GetAnomalySubscriptionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSInsightsIndexService.GetAnomalySubscriptions", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetAnomalySubscriptionsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetCostAndUsageCommand = async ( input: GetCostAndUsageCommandInput, context: __SerdeContext @@ -412,6 +570,45 @@ export const serializeAws_json1_1ListCostCategoryDefinitionsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ProvideAnomalyFeedbackCommand = async ( + input: ProvideAnomalyFeedbackCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSInsightsIndexService.ProvideAnomalyFeedback", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ProvideAnomalyFeedbackRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UpdateAnomalyMonitorCommand = async ( + input: UpdateAnomalyMonitorCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSInsightsIndexService.UpdateAnomalyMonitor", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateAnomalyMonitorRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UpdateAnomalySubscriptionCommand = async ( + input: UpdateAnomalySubscriptionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSInsightsIndexService.UpdateAnomalySubscription", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateAnomalySubscriptionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateCostCategoryDefinitionCommand = async ( input: UpdateCostCategoryDefinitionCommandInput, context: __SerdeContext @@ -425,27 +622,460 @@ export const serializeAws_json1_1UpdateCostCategoryDefinitionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; -export const deserializeAws_json1_1CreateCostCategoryDefinitionCommand = async ( +export const deserializeAws_json1_1CreateAnomalyMonitorCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateAnomalyMonitorCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateAnomalyMonitorResponse(data, context); + const response: CreateAnomalyMonitorCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateAnomalyMonitorCommandError = 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 "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(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_1CreateAnomalySubscriptionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateAnomalySubscriptionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateAnomalySubscriptionResponse(data, context); + const response: CreateAnomalySubscriptionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateAnomalySubscriptionCommandError = 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 "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnknownMonitorException": + case "com.amazonaws.costexplorer#UnknownMonitorException": + response = { + ...(await deserializeAws_json1_1UnknownMonitorExceptionResponse(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_1CreateCostCategoryDefinitionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateCostCategoryDefinitionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateCostCategoryDefinitionResponse(data, context); + const response: CreateCostCategoryDefinitionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateCostCategoryDefinitionCommandError = 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 "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.costexplorer#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(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_1DeleteAnomalyMonitorCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteAnomalyMonitorCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteAnomalyMonitorResponse(data, context); + const response: DeleteAnomalyMonitorCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteAnomalyMonitorCommandError = 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 "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnknownMonitorException": + case "com.amazonaws.costexplorer#UnknownMonitorException": + response = { + ...(await deserializeAws_json1_1UnknownMonitorExceptionResponse(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_1DeleteAnomalySubscriptionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteAnomalySubscriptionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteAnomalySubscriptionResponse(data, context); + const response: DeleteAnomalySubscriptionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteAnomalySubscriptionCommandError = 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 "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnknownSubscriptionException": + case "com.amazonaws.costexplorer#UnknownSubscriptionException": + response = { + ...(await deserializeAws_json1_1UnknownSubscriptionExceptionResponse(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_1DeleteCostCategoryDefinitionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteCostCategoryDefinitionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteCostCategoryDefinitionResponse(data, context); + const response: DeleteCostCategoryDefinitionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteCostCategoryDefinitionCommandError = 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 "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.costexplorer#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_1DescribeCostCategoryDefinitionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeCostCategoryDefinitionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeCostCategoryDefinitionResponse(data, context); + const response: DescribeCostCategoryDefinitionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeCostCategoryDefinitionCommandError = 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 "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.costexplorer#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_1GetAnomaliesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateCostCategoryDefinitionCommandError(output, context); + return deserializeAws_json1_1GetAnomaliesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateCostCategoryDefinitionResponse(data, context); - const response: CreateCostCategoryDefinitionCommandOutput = { + contents = deserializeAws_json1_1GetAnomaliesResponse(data, context); + const response: GetAnomaliesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateCostCategoryDefinitionCommandError = async ( +const deserializeAws_json1_1GetAnomaliesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -455,18 +1085,18 @@ const deserializeAws_json1_1CreateCostCategoryDefinitionCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "LimitExceededException": - case "com.amazonaws.costexplorer#LimitExceededException": + case "InvalidNextTokenException": + case "com.amazonaws.costexplorer#InvalidNextTokenException": response = { - ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ServiceQuotaExceededException": - case "com.amazonaws.costexplorer#ServiceQuotaExceededException": + case "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": response = { - ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -488,27 +1118,27 @@ const deserializeAws_json1_1CreateCostCategoryDefinitionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteCostCategoryDefinitionCommand = async ( +export const deserializeAws_json1_1GetAnomalyMonitorsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteCostCategoryDefinitionCommandError(output, context); + return deserializeAws_json1_1GetAnomalyMonitorsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteCostCategoryDefinitionResponse(data, context); - const response: DeleteCostCategoryDefinitionCommandOutput = { + contents = deserializeAws_json1_1GetAnomalyMonitorsResponse(data, context); + const response: GetAnomalyMonitorsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteCostCategoryDefinitionCommandError = async ( +const deserializeAws_json1_1GetAnomalyMonitorsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -518,6 +1148,14 @@ const deserializeAws_json1_1DeleteCostCategoryDefinitionCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InvalidNextTokenException": + case "com.amazonaws.costexplorer#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "LimitExceededException": case "com.amazonaws.costexplorer#LimitExceededException": response = { @@ -526,10 +1164,10 @@ const deserializeAws_json1_1DeleteCostCategoryDefinitionCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.costexplorer#ResourceNotFoundException": + case "UnknownMonitorException": + case "com.amazonaws.costexplorer#UnknownMonitorException": response = { - ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1UnknownMonitorExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -551,27 +1189,27 @@ const deserializeAws_json1_1DeleteCostCategoryDefinitionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeCostCategoryDefinitionCommand = async ( +export const deserializeAws_json1_1GetAnomalySubscriptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeCostCategoryDefinitionCommandError(output, context); + return deserializeAws_json1_1GetAnomalySubscriptionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeCostCategoryDefinitionResponse(data, context); - const response: DescribeCostCategoryDefinitionCommandOutput = { + contents = deserializeAws_json1_1GetAnomalySubscriptionsResponse(data, context); + const response: GetAnomalySubscriptionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeCostCategoryDefinitionCommandError = async ( +const deserializeAws_json1_1GetAnomalySubscriptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -581,6 +1219,14 @@ const deserializeAws_json1_1DescribeCostCategoryDefinitionCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InvalidNextTokenException": + case "com.amazonaws.costexplorer#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "LimitExceededException": case "com.amazonaws.costexplorer#LimitExceededException": response = { @@ -589,10 +1235,10 @@ const deserializeAws_json1_1DescribeCostCategoryDefinitionCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.costexplorer#ResourceNotFoundException": + case "UnknownSubscriptionException": + case "com.amazonaws.costexplorer#UnknownSubscriptionException": response = { - ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1UnknownSubscriptionExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1695,6 +2341,195 @@ const deserializeAws_json1_1ListCostCategoryDefinitionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ProvideAnomalyFeedbackCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ProvideAnomalyFeedbackCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ProvideAnomalyFeedbackResponse(data, context); + const response: ProvideAnomalyFeedbackCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ProvideAnomalyFeedbackCommandError = 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 "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(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_1UpdateAnomalyMonitorCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateAnomalyMonitorCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateAnomalyMonitorResponse(data, context); + const response: UpdateAnomalyMonitorCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateAnomalyMonitorCommandError = 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 "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnknownMonitorException": + case "com.amazonaws.costexplorer#UnknownMonitorException": + response = { + ...(await deserializeAws_json1_1UnknownMonitorExceptionResponse(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_1UpdateAnomalySubscriptionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateAnomalySubscriptionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateAnomalySubscriptionResponse(data, context); + const response: UpdateAnomalySubscriptionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateAnomalySubscriptionCommandError = 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 "LimitExceededException": + case "com.amazonaws.costexplorer#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnknownMonitorException": + case "com.amazonaws.costexplorer#UnknownMonitorException": + response = { + ...(await deserializeAws_json1_1UnknownMonitorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnknownSubscriptionException": + case "com.amazonaws.costexplorer#UnknownSubscriptionException": + response = { + ...(await deserializeAws_json1_1UnknownSubscriptionExceptionResponse(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_1UpdateCostCategoryDefinitionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1859,11 +2694,41 @@ const deserializeAws_json1_1ResourceNotFoundExceptionResponse = async ( const deserializeAws_json1_1ServiceQuotaExceededExceptionResponse = async ( parsedOutput: any, context: __SerdeContext -): Promise => { +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ServiceQuotaExceededException(body, context); + const contents: ServiceQuotaExceededException = { + name: "ServiceQuotaExceededException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1UnknownMonitorExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1UnknownMonitorException(body, context); + const contents: UnknownMonitorException = { + name: "UnknownMonitorException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1UnknownSubscriptionExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { const body = parsedOutput.body; - const deserialized: any = deserializeAws_json1_1ServiceQuotaExceededException(body, context); - const contents: ServiceQuotaExceededException = { - name: "ServiceQuotaExceededException", + const deserialized: any = deserializeAws_json1_1UnknownSubscriptionException(body, context); + const contents: UnknownSubscriptionException = { + name: "UnknownSubscriptionException", $fault: "client", $metadata: deserializeMetadata(parsedOutput), ...deserialized, @@ -1886,6 +2751,45 @@ const deserializeAws_json1_1UnresolvableUsageUnitExceptionResponse = async ( return contents; }; +const serializeAws_json1_1AnomalyDateInterval = (input: AnomalyDateInterval, context: __SerdeContext): any => { + return { + ...(input.EndDate !== undefined && { EndDate: input.EndDate }), + ...(input.StartDate !== undefined && { StartDate: input.StartDate }), + }; +}; + +const serializeAws_json1_1AnomalyMonitor = (input: AnomalyMonitor, context: __SerdeContext): any => { + return { + ...(input.CreationDate !== undefined && { CreationDate: input.CreationDate }), + ...(input.DimensionalValueCount !== undefined && { DimensionalValueCount: input.DimensionalValueCount }), + ...(input.LastEvaluatedDate !== undefined && { LastEvaluatedDate: input.LastEvaluatedDate }), + ...(input.LastUpdatedDate !== undefined && { LastUpdatedDate: input.LastUpdatedDate }), + ...(input.MonitorArn !== undefined && { MonitorArn: input.MonitorArn }), + ...(input.MonitorDimension !== undefined && { MonitorDimension: input.MonitorDimension }), + ...(input.MonitorName !== undefined && { MonitorName: input.MonitorName }), + ...(input.MonitorSpecification !== undefined && { + MonitorSpecification: serializeAws_json1_1Expression(input.MonitorSpecification, context), + }), + ...(input.MonitorType !== undefined && { MonitorType: input.MonitorType }), + }; +}; + +const serializeAws_json1_1AnomalySubscription = (input: AnomalySubscription, context: __SerdeContext): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.Frequency !== undefined && { Frequency: input.Frequency }), + ...(input.MonitorArnList !== undefined && { + MonitorArnList: serializeAws_json1_1Values(input.MonitorArnList, context), + }), + ...(input.Subscribers !== undefined && { + Subscribers: serializeAws_json1_1Subscribers(input.Subscribers, context), + }), + ...(input.SubscriptionArn !== undefined && { SubscriptionArn: input.SubscriptionArn }), + ...(input.SubscriptionName !== undefined && { SubscriptionName: input.SubscriptionName }), + ...(input.Threshold !== undefined && { Threshold: input.Threshold }), + }; +}; + const serializeAws_json1_1CostCategoryRule = (input: CostCategoryRule, context: __SerdeContext): any => { return { ...(input.Rule !== undefined && { Rule: serializeAws_json1_1Expression(input.Rule, context) }), @@ -1900,10 +2804,35 @@ const serializeAws_json1_1CostCategoryRulesList = (input: CostCategoryRule[], co const serializeAws_json1_1CostCategoryValues = (input: CostCategoryValues, context: __SerdeContext): any => { return { ...(input.Key !== undefined && { Key: input.Key }), + ...(input.MatchOptions !== undefined && { + MatchOptions: serializeAws_json1_1MatchOptions(input.MatchOptions, context), + }), ...(input.Values !== undefined && { Values: serializeAws_json1_1Values(input.Values, context) }), }; }; +const serializeAws_json1_1CreateAnomalyMonitorRequest = ( + input: CreateAnomalyMonitorRequest, + context: __SerdeContext +): any => { + return { + ...(input.AnomalyMonitor !== undefined && { + AnomalyMonitor: serializeAws_json1_1AnomalyMonitor(input.AnomalyMonitor, context), + }), + }; +}; + +const serializeAws_json1_1CreateAnomalySubscriptionRequest = ( + input: CreateAnomalySubscriptionRequest, + context: __SerdeContext +): any => { + return { + ...(input.AnomalySubscription !== undefined && { + AnomalySubscription: serializeAws_json1_1AnomalySubscription(input.AnomalySubscription, context), + }), + }; +}; + const serializeAws_json1_1CreateCostCategoryDefinitionRequest = ( input: CreateCostCategoryDefinitionRequest, context: __SerdeContext @@ -1922,6 +2851,24 @@ const serializeAws_json1_1DateInterval = (input: DateInterval, context: __SerdeC }; }; +const serializeAws_json1_1DeleteAnomalyMonitorRequest = ( + input: DeleteAnomalyMonitorRequest, + context: __SerdeContext +): any => { + return { + ...(input.MonitorArn !== undefined && { MonitorArn: input.MonitorArn }), + }; +}; + +const serializeAws_json1_1DeleteAnomalySubscriptionRequest = ( + input: DeleteAnomalySubscriptionRequest, + context: __SerdeContext +): any => { + return { + ...(input.SubscriptionArn !== undefined && { SubscriptionArn: input.SubscriptionArn }), + }; +}; + const serializeAws_json1_1DeleteCostCategoryDefinitionRequest = ( input: DeleteCostCategoryDefinitionRequest, context: __SerdeContext @@ -1976,6 +2923,48 @@ const serializeAws_json1_1Expressions = (input: Expression[], context: __SerdeCo return input.map((entry) => serializeAws_json1_1Expression(entry, context)); }; +const serializeAws_json1_1GetAnomaliesRequest = (input: GetAnomaliesRequest, context: __SerdeContext): any => { + return { + ...(input.DateInterval !== undefined && { + DateInterval: serializeAws_json1_1AnomalyDateInterval(input.DateInterval, context), + }), + ...(input.Feedback !== undefined && { Feedback: input.Feedback }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.MonitorArn !== undefined && { MonitorArn: input.MonitorArn }), + ...(input.NextPageToken !== undefined && { NextPageToken: input.NextPageToken }), + ...(input.TotalImpact !== undefined && { + TotalImpact: serializeAws_json1_1TotalImpactFilter(input.TotalImpact, context), + }), + }; +}; + +const serializeAws_json1_1GetAnomalyMonitorsRequest = ( + input: GetAnomalyMonitorsRequest, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.MonitorArnList !== undefined && { + MonitorArnList: serializeAws_json1_1Values(input.MonitorArnList, context), + }), + ...(input.NextPageToken !== undefined && { NextPageToken: input.NextPageToken }), + }; +}; + +const serializeAws_json1_1GetAnomalySubscriptionsRequest = ( + input: GetAnomalySubscriptionsRequest, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.MonitorArn !== undefined && { MonitorArn: input.MonitorArn }), + ...(input.NextPageToken !== undefined && { NextPageToken: input.NextPageToken }), + ...(input.SubscriptionArnList !== undefined && { + SubscriptionArnList: serializeAws_json1_1Values(input.SubscriptionArnList, context), + }), + }; +}; + const serializeAws_json1_1GetCostAndUsageRequest = (input: GetCostAndUsageRequest, context: __SerdeContext): any => { return { ...(input.Filter !== undefined && { Filter: serializeAws_json1_1Expression(input.Filter, context) }), @@ -2188,6 +3177,16 @@ const serializeAws_json1_1MetricNames = (input: string[], context: __SerdeContex return input.map((entry) => entry); }; +const serializeAws_json1_1ProvideAnomalyFeedbackRequest = ( + input: ProvideAnomalyFeedbackRequest, + context: __SerdeContext +): any => { + return { + ...(input.AnomalyId !== undefined && { AnomalyId: input.AnomalyId }), + ...(input.Feedback !== undefined && { Feedback: input.Feedback }), + }; +}; + const serializeAws_json1_1RightsizingRecommendationConfiguration = ( input: RightsizingRecommendationConfiguration, context: __SerdeContext @@ -2206,6 +3205,18 @@ const serializeAws_json1_1ServiceSpecification = (input: ServiceSpecification, c }; }; +const serializeAws_json1_1Subscriber = (input: Subscriber, context: __SerdeContext): any => { + return { + ...(input.Address !== undefined && { Address: input.Address }), + ...(input.Status !== undefined && { Status: input.Status }), + ...(input.Type !== undefined && { Type: input.Type }), + }; +}; + +const serializeAws_json1_1Subscribers = (input: Subscriber[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1Subscriber(entry, context)); +}; + const serializeAws_json1_1TagValues = (input: TagValues, context: __SerdeContext): any => { return { ...(input.Key !== undefined && { Key: input.Key }), @@ -2216,6 +3227,42 @@ const serializeAws_json1_1TagValues = (input: TagValues, context: __SerdeContext }; }; +const serializeAws_json1_1TotalImpactFilter = (input: TotalImpactFilter, context: __SerdeContext): any => { + return { + ...(input.EndValue !== undefined && { EndValue: input.EndValue }), + ...(input.NumericOperator !== undefined && { NumericOperator: input.NumericOperator }), + ...(input.StartValue !== undefined && { StartValue: input.StartValue }), + }; +}; + +const serializeAws_json1_1UpdateAnomalyMonitorRequest = ( + input: UpdateAnomalyMonitorRequest, + context: __SerdeContext +): any => { + return { + ...(input.MonitorArn !== undefined && { MonitorArn: input.MonitorArn }), + ...(input.MonitorName !== undefined && { MonitorName: input.MonitorName }), + }; +}; + +const serializeAws_json1_1UpdateAnomalySubscriptionRequest = ( + input: UpdateAnomalySubscriptionRequest, + context: __SerdeContext +): any => { + return { + ...(input.Frequency !== undefined && { Frequency: input.Frequency }), + ...(input.MonitorArnList !== undefined && { + MonitorArnList: serializeAws_json1_1Values(input.MonitorArnList, context), + }), + ...(input.Subscribers !== undefined && { + Subscribers: serializeAws_json1_1Subscribers(input.Subscribers, context), + }), + ...(input.SubscriptionArn !== undefined && { SubscriptionArn: input.SubscriptionArn }), + ...(input.SubscriptionName !== undefined && { SubscriptionName: input.SubscriptionName }), + ...(input.Threshold !== undefined && { Threshold: input.Threshold }), + }; +}; + const serializeAws_json1_1UpdateCostCategoryDefinitionRequest = ( input: UpdateCostCategoryDefinitionRequest, context: __SerdeContext @@ -2231,6 +3278,96 @@ const serializeAws_json1_1Values = (input: string[], context: __SerdeContext): a return input.map((entry) => entry); }; +const deserializeAws_json1_1Anomalies = (output: any, context: __SerdeContext): Anomaly[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1Anomaly(entry, context)); +}; + +const deserializeAws_json1_1Anomaly = (output: any, context: __SerdeContext): Anomaly => { + return { + AnomalyEndDate: + output.AnomalyEndDate !== undefined && output.AnomalyEndDate !== null ? output.AnomalyEndDate : undefined, + AnomalyId: output.AnomalyId !== undefined && output.AnomalyId !== null ? output.AnomalyId : undefined, + AnomalyScore: + output.AnomalyScore !== undefined && output.AnomalyScore !== null + ? deserializeAws_json1_1AnomalyScore(output.AnomalyScore, context) + : undefined, + AnomalyStartDate: + output.AnomalyStartDate !== undefined && output.AnomalyStartDate !== null ? output.AnomalyStartDate : undefined, + DimensionValue: + output.DimensionValue !== undefined && output.DimensionValue !== null ? output.DimensionValue : undefined, + Feedback: output.Feedback !== undefined && output.Feedback !== null ? output.Feedback : undefined, + Impact: + output.Impact !== undefined && output.Impact !== null + ? deserializeAws_json1_1Impact(output.Impact, context) + : undefined, + MonitorArn: output.MonitorArn !== undefined && output.MonitorArn !== null ? output.MonitorArn : undefined, + RootCauses: + output.RootCauses !== undefined && output.RootCauses !== null + ? deserializeAws_json1_1RootCauses(output.RootCauses, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1AnomalyMonitor = (output: any, context: __SerdeContext): AnomalyMonitor => { + return { + CreationDate: output.CreationDate !== undefined && output.CreationDate !== null ? output.CreationDate : undefined, + DimensionalValueCount: + output.DimensionalValueCount !== undefined && output.DimensionalValueCount !== null + ? output.DimensionalValueCount + : undefined, + LastEvaluatedDate: + output.LastEvaluatedDate !== undefined && output.LastEvaluatedDate !== null + ? output.LastEvaluatedDate + : undefined, + LastUpdatedDate: + output.LastUpdatedDate !== undefined && output.LastUpdatedDate !== null ? output.LastUpdatedDate : undefined, + MonitorArn: output.MonitorArn !== undefined && output.MonitorArn !== null ? output.MonitorArn : undefined, + MonitorDimension: + output.MonitorDimension !== undefined && output.MonitorDimension !== null ? output.MonitorDimension : undefined, + MonitorName: output.MonitorName !== undefined && output.MonitorName !== null ? output.MonitorName : undefined, + MonitorSpecification: + output.MonitorSpecification !== undefined && output.MonitorSpecification !== null + ? deserializeAws_json1_1Expression(output.MonitorSpecification, context) + : undefined, + MonitorType: output.MonitorType !== undefined && output.MonitorType !== null ? output.MonitorType : undefined, + } as any; +}; + +const deserializeAws_json1_1AnomalyMonitors = (output: any, context: __SerdeContext): AnomalyMonitor[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1AnomalyMonitor(entry, context)); +}; + +const deserializeAws_json1_1AnomalyScore = (output: any, context: __SerdeContext): AnomalyScore => { + return { + CurrentScore: output.CurrentScore !== undefined && output.CurrentScore !== null ? output.CurrentScore : undefined, + MaxScore: output.MaxScore !== undefined && output.MaxScore !== null ? output.MaxScore : undefined, + } as any; +}; + +const deserializeAws_json1_1AnomalySubscription = (output: any, context: __SerdeContext): AnomalySubscription => { + return { + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + Frequency: output.Frequency !== undefined && output.Frequency !== null ? output.Frequency : undefined, + MonitorArnList: + output.MonitorArnList !== undefined && output.MonitorArnList !== null + ? deserializeAws_json1_1Values(output.MonitorArnList, context) + : undefined, + Subscribers: + output.Subscribers !== undefined && output.Subscribers !== null + ? deserializeAws_json1_1Subscribers(output.Subscribers, context) + : undefined, + SubscriptionArn: + output.SubscriptionArn !== undefined && output.SubscriptionArn !== null ? output.SubscriptionArn : undefined, + SubscriptionName: + output.SubscriptionName !== undefined && output.SubscriptionName !== null ? output.SubscriptionName : undefined, + Threshold: output.Threshold !== undefined && output.Threshold !== null ? output.Threshold : undefined, + } as any; +}; + +const deserializeAws_json1_1AnomalySubscriptions = (output: any, context: __SerdeContext): AnomalySubscription[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1AnomalySubscription(entry, context)); +}; + const deserializeAws_json1_1Attributes = (output: any, context: __SerdeContext): { [key: string]: string } => { return Object.entries(output).reduce( (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ @@ -2258,6 +3395,10 @@ const deserializeAws_json1_1CostCategory = (output: any, context: __SerdeContext EffectiveStart: output.EffectiveStart !== undefined && output.EffectiveStart !== null ? output.EffectiveStart : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + ProcessingStatus: + output.ProcessingStatus !== undefined && output.ProcessingStatus !== null + ? deserializeAws_json1_1CostCategoryProcessingStatusList(output.ProcessingStatus, context) + : undefined, RuleVersion: output.RuleVersion !== undefined && output.RuleVersion !== null ? output.RuleVersion : undefined, Rules: output.Rules !== undefined && output.Rules !== null @@ -2266,6 +3407,23 @@ const deserializeAws_json1_1CostCategory = (output: any, context: __SerdeContext } as any; }; +const deserializeAws_json1_1CostCategoryProcessingStatus = ( + output: any, + context: __SerdeContext +): CostCategoryProcessingStatus => { + return { + Component: output.Component !== undefined && output.Component !== null ? output.Component : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1CostCategoryProcessingStatusList = ( + output: any, + context: __SerdeContext +): CostCategoryProcessingStatus[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1CostCategoryProcessingStatus(entry, context)); +}; + const deserializeAws_json1_1CostCategoryReference = (output: any, context: __SerdeContext): CostCategoryReference => { return { CostCategoryArn: @@ -2276,6 +3434,14 @@ const deserializeAws_json1_1CostCategoryReference = (output: any, context: __Ser Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, NumberOfRules: output.NumberOfRules !== undefined && output.NumberOfRules !== null ? output.NumberOfRules : undefined, + ProcessingStatus: + output.ProcessingStatus !== undefined && output.ProcessingStatus !== null + ? deserializeAws_json1_1CostCategoryProcessingStatusList(output.ProcessingStatus, context) + : undefined, + Values: + output.Values !== undefined && output.Values !== null + ? deserializeAws_json1_1CostCategoryValuesList(output.Values, context) + : undefined, } as any; }; @@ -2303,6 +3469,10 @@ const deserializeAws_json1_1CostCategoryRulesList = (output: any, context: __Ser const deserializeAws_json1_1CostCategoryValues = (output: any, context: __SerdeContext): CostCategoryValues => { return { Key: output.Key !== undefined && output.Key !== null ? output.Key : undefined, + MatchOptions: + output.MatchOptions !== undefined && output.MatchOptions !== null + ? deserializeAws_json1_1MatchOptions(output.MatchOptions, context) + : undefined, Values: output.Values !== undefined && output.Values !== null ? deserializeAws_json1_1Values(output.Values, context) @@ -2310,6 +3480,10 @@ const deserializeAws_json1_1CostCategoryValues = (output: any, context: __SerdeC } as any; }; +const deserializeAws_json1_1CostCategoryValuesList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1Coverage = (output: any, context: __SerdeContext): Coverage => { return { CoverageCost: @@ -2395,6 +3569,25 @@ const deserializeAws_json1_1CoveragesByTime = (output: any, context: __SerdeCont return (output || []).map((entry: any) => deserializeAws_json1_1CoverageByTime(entry, context)); }; +const deserializeAws_json1_1CreateAnomalyMonitorResponse = ( + output: any, + context: __SerdeContext +): CreateAnomalyMonitorResponse => { + return { + MonitorArn: output.MonitorArn !== undefined && output.MonitorArn !== null ? output.MonitorArn : undefined, + } as any; +}; + +const deserializeAws_json1_1CreateAnomalySubscriptionResponse = ( + output: any, + context: __SerdeContext +): CreateAnomalySubscriptionResponse => { + return { + SubscriptionArn: + output.SubscriptionArn !== undefined && output.SubscriptionArn !== null ? output.SubscriptionArn : undefined, + } as any; +}; + const deserializeAws_json1_1CreateCostCategoryDefinitionResponse = ( output: any, context: __SerdeContext @@ -2462,6 +3655,20 @@ const deserializeAws_json1_1DateInterval = (output: any, context: __SerdeContext } as any; }; +const deserializeAws_json1_1DeleteAnomalyMonitorResponse = ( + output: any, + context: __SerdeContext +): DeleteAnomalyMonitorResponse => { + return {} as any; +}; + +const deserializeAws_json1_1DeleteAnomalySubscriptionResponse = ( + output: any, + context: __SerdeContext +): DeleteAnomalySubscriptionResponse => { + return {} as any; +}; + const deserializeAws_json1_1DeleteCostCategoryDefinitionResponse = ( output: any, context: __SerdeContext @@ -2519,6 +3726,27 @@ const deserializeAws_json1_1DimensionValuesWithAttributesList = ( return (output || []).map((entry: any) => deserializeAws_json1_1DimensionValuesWithAttributes(entry, context)); }; +const deserializeAws_json1_1EBSResourceUtilization = (output: any, context: __SerdeContext): EBSResourceUtilization => { + return { + EbsReadBytesPerSecond: + output.EbsReadBytesPerSecond !== undefined && output.EbsReadBytesPerSecond !== null + ? output.EbsReadBytesPerSecond + : undefined, + EbsReadOpsPerSecond: + output.EbsReadOpsPerSecond !== undefined && output.EbsReadOpsPerSecond !== null + ? output.EbsReadOpsPerSecond + : undefined, + EbsWriteBytesPerSecond: + output.EbsWriteBytesPerSecond !== undefined && output.EbsWriteBytesPerSecond !== null + ? output.EbsWriteBytesPerSecond + : undefined, + EbsWriteOpsPerSecond: + output.EbsWriteOpsPerSecond !== undefined && output.EbsWriteOpsPerSecond !== null + ? output.EbsWriteOpsPerSecond + : undefined, + } as any; +}; + const deserializeAws_json1_1EC2InstanceDetails = (output: any, context: __SerdeContext): EC2InstanceDetails => { return { AvailabilityZone: @@ -2559,6 +3787,10 @@ const deserializeAws_json1_1EC2ResourceDetails = (output: any, context: __SerdeC const deserializeAws_json1_1EC2ResourceUtilization = (output: any, context: __SerdeContext): EC2ResourceUtilization => { return { + EBSResourceUtilization: + output.EBSResourceUtilization !== undefined && output.EBSResourceUtilization !== null + ? deserializeAws_json1_1EBSResourceUtilization(output.EBSResourceUtilization, context) + : undefined, MaxCpuUtilizationPercentage: output.MaxCpuUtilizationPercentage !== undefined && output.MaxCpuUtilizationPercentage !== null ? output.MaxCpuUtilizationPercentage @@ -2670,6 +3902,45 @@ const deserializeAws_json1_1ForecastResultsByTime = (output: any, context: __Ser return (output || []).map((entry: any) => deserializeAws_json1_1ForecastResult(entry, context)); }; +const deserializeAws_json1_1GetAnomaliesResponse = (output: any, context: __SerdeContext): GetAnomaliesResponse => { + return { + Anomalies: + output.Anomalies !== undefined && output.Anomalies !== null + ? deserializeAws_json1_1Anomalies(output.Anomalies, context) + : undefined, + NextPageToken: + output.NextPageToken !== undefined && output.NextPageToken !== null ? output.NextPageToken : undefined, + } as any; +}; + +const deserializeAws_json1_1GetAnomalyMonitorsResponse = ( + output: any, + context: __SerdeContext +): GetAnomalyMonitorsResponse => { + return { + AnomalyMonitors: + output.AnomalyMonitors !== undefined && output.AnomalyMonitors !== null + ? deserializeAws_json1_1AnomalyMonitors(output.AnomalyMonitors, context) + : undefined, + NextPageToken: + output.NextPageToken !== undefined && output.NextPageToken !== null ? output.NextPageToken : undefined, + } as any; +}; + +const deserializeAws_json1_1GetAnomalySubscriptionsResponse = ( + output: any, + context: __SerdeContext +): GetAnomalySubscriptionsResponse => { + return { + AnomalySubscriptions: + output.AnomalySubscriptions !== undefined && output.AnomalySubscriptions !== null + ? deserializeAws_json1_1AnomalySubscriptions(output.AnomalySubscriptions, context) + : undefined, + NextPageToken: + output.NextPageToken !== undefined && output.NextPageToken !== null ? output.NextPageToken : undefined, + } as any; +}; + const deserializeAws_json1_1GetCostAndUsageResponse = ( output: any, context: __SerdeContext @@ -2941,6 +4212,13 @@ const deserializeAws_json1_1Groups = (output: any, context: __SerdeContext): Gro return (output || []).map((entry: any) => deserializeAws_json1_1Group(entry, context)); }; +const deserializeAws_json1_1Impact = (output: any, context: __SerdeContext): Impact => { + return { + MaxImpact: output.MaxImpact !== undefined && output.MaxImpact !== null ? output.MaxImpact : undefined, + TotalImpact: output.TotalImpact !== undefined && output.TotalImpact !== null ? output.TotalImpact : undefined, + } as any; +}; + const deserializeAws_json1_1InstanceDetails = (output: any, context: __SerdeContext): InstanceDetails => { return { EC2InstanceDetails: @@ -3031,6 +4309,15 @@ const deserializeAws_json1_1ModifyRecommendationDetail = ( } as any; }; +const deserializeAws_json1_1ProvideAnomalyFeedbackResponse = ( + output: any, + context: __SerdeContext +): ProvideAnomalyFeedbackResponse => { + return { + AnomalyId: output.AnomalyId !== undefined && output.AnomalyId !== null ? output.AnomalyId : undefined, + } as any; +}; + const deserializeAws_json1_1RDSInstanceDetails = (output: any, context: __SerdeContext): RDSInstanceDetails => { return { CurrentGeneration: @@ -3460,6 +4747,20 @@ const deserializeAws_json1_1RightsizingRecommendationSummary = ( } as any; }; +const deserializeAws_json1_1RootCause = (output: any, context: __SerdeContext): RootCause => { + return { + LinkedAccount: + output.LinkedAccount !== undefined && output.LinkedAccount !== null ? output.LinkedAccount : undefined, + Region: output.Region !== undefined && output.Region !== null ? output.Region : undefined, + Service: output.Service !== undefined && output.Service !== null ? output.Service : undefined, + UsageType: output.UsageType !== undefined && output.UsageType !== null ? output.UsageType : undefined, + } as any; +}; + +const deserializeAws_json1_1RootCauses = (output: any, context: __SerdeContext): RootCause[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1RootCause(entry, context)); +}; + const deserializeAws_json1_1SavingsPlansAmortizedCommitment = ( output: any, context: __SerdeContext @@ -3821,6 +5122,18 @@ const deserializeAws_json1_1ServiceSpecification = (output: any, context: __Serd } as any; }; +const deserializeAws_json1_1Subscriber = (output: any, context: __SerdeContext): Subscriber => { + return { + Address: output.Address !== undefined && output.Address !== null ? output.Address : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_json1_1Subscribers = (output: any, context: __SerdeContext): Subscriber[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1Subscriber(entry, context)); +}; + const deserializeAws_json1_1TagList = (output: any, context: __SerdeContext): string[] => { return (output || []).map((entry: any) => entry); }; @@ -3886,6 +5199,24 @@ const deserializeAws_json1_1TerminateRecommendationDetail = ( } as any; }; +const deserializeAws_json1_1UnknownMonitorException = ( + output: any, + context: __SerdeContext +): UnknownMonitorException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1UnknownSubscriptionException = ( + output: any, + context: __SerdeContext +): UnknownSubscriptionException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1UnresolvableUsageUnitException = ( output: any, context: __SerdeContext @@ -3895,6 +5226,25 @@ const deserializeAws_json1_1UnresolvableUsageUnitException = ( } as any; }; +const deserializeAws_json1_1UpdateAnomalyMonitorResponse = ( + output: any, + context: __SerdeContext +): UpdateAnomalyMonitorResponse => { + return { + MonitorArn: output.MonitorArn !== undefined && output.MonitorArn !== null ? output.MonitorArn : undefined, + } as any; +}; + +const deserializeAws_json1_1UpdateAnomalySubscriptionResponse = ( + output: any, + context: __SerdeContext +): UpdateAnomalySubscriptionResponse => { + return { + SubscriptionArn: + output.SubscriptionArn !== undefined && output.SubscriptionArn !== null ? output.SubscriptionArn : undefined, + } as any; +}; + const deserializeAws_json1_1UpdateCostCategoryDefinitionResponse = ( output: any, context: __SerdeContext diff --git a/clients/client-data-pipeline/models/models_0.ts b/clients/client-data-pipeline/models/models_0.ts index 73469faa9ba8..d16f4c38b079 100644 --- a/clients/client-data-pipeline/models/models_0.ts +++ b/clients/client-data-pipeline/models/models_0.ts @@ -26,6 +26,11 @@ export namespace ParameterValue { *

                      Contains the parameters for ActivatePipeline.

                      */ export interface ActivatePipelineInput { + /** + *

                      The date and time to resume the pipeline. By default, the pipeline resumes from the last completed execution.

                      + */ + startTimestamp?: Date; + /** *

                      A list of parameter values to pass to the pipeline at activation.

                      */ @@ -35,11 +40,6 @@ export interface ActivatePipelineInput { *

                      The ID of the pipeline.

                      */ pipelineId: string | undefined; - - /** - *

                      The date and time to resume the pipeline. By default, the pipeline resumes from the last completed execution.

                      - */ - startTimestamp?: Date; } export namespace ActivatePipelineInput { @@ -198,11 +198,6 @@ export interface CreatePipelineInput { */ tags?: Tag[]; - /** - *

                      The name for the pipeline. You can use the same name for multiple pipelines associated with your AWS account, because AWS Data Pipeline assigns each pipeline a unique pipeline identifier.

                      - */ - name: string | undefined; - /** *

                      A unique identifier. This identifier is not the same as the pipeline identifier assigned by AWS Data Pipeline. * You are responsible for defining the format and ensuring the uniqueness of this identifier. You use this @@ -219,6 +214,11 @@ export interface CreatePipelineInput { *

                      The description for the pipeline.

                      */ description?: string; + + /** + *

                      The name for the pipeline. You can use the same name for multiple pipelines associated with your AWS account, because AWS Data Pipeline assigns each pipeline a unique pipeline identifier.

                      + */ + name: string | undefined; } export namespace CreatePipelineInput { @@ -298,16 +298,6 @@ export namespace DeletePipelineInput { *

                      Contains the parameters for DescribeObjects.

                      */ export interface DescribeObjectsInput { - /** - *

                      The ID of the pipeline that contains the object definitions.

                      - */ - pipelineId: string | undefined; - - /** - *

                      The IDs of the pipeline objects that contain the definitions to be described. You can pass as many as 25 identifiers in a single call to DescribeObjects.

                      - */ - objectIds: string[] | undefined; - /** *

                      Indicates whether any expressions in the object should be evaluated when the object descriptions are returned.

                      */ @@ -319,6 +309,16 @@ export interface DescribeObjectsInput { * the marker value from the previous call to retrieve the next set of results.

                      */ marker?: string; + + /** + *

                      The ID of the pipeline that contains the object definitions.

                      + */ + pipelineId: string | undefined; + + /** + *

                      The IDs of the pipeline objects that contain the definitions to be described. You can pass as many as 25 identifiers in a single call to DescribeObjects.

                      + */ + objectIds: string[] | undefined; } export namespace DescribeObjectsInput { @@ -331,6 +331,11 @@ export namespace DescribeObjectsInput { *

                      A key-value pair that describes a property of a pipeline object. The value is specified as either a string value (StringValue) or a reference to another object (RefValue) but not as both.

                      */ export interface Field { + /** + *

                      The field identifier.

                      + */ + key: string | undefined; + /** *

                      The field value, expressed as the identifier of another object.

                      */ @@ -340,11 +345,6 @@ export interface Field { *

                      The field value, expressed as a String.

                      */ stringValue?: string; - - /** - *

                      The field identifier.

                      - */ - key: string | undefined; } export namespace Field { @@ -357,11 +357,6 @@ export namespace Field { *

                      Contains information about a pipeline object. This can be a logical, physical, or physical attempt pipeline object. The complete set of components of a pipeline defines the pipeline.

                      */ export interface PipelineObject { - /** - *

                      The ID of the object.

                      - */ - id: string | undefined; - /** *

                      Key-value pairs that define the properties of the object.

                      */ @@ -371,6 +366,11 @@ export interface PipelineObject { *

                      The name of the object.

                      */ name: string | undefined; + + /** + *

                      The ID of the object.

                      + */ + id: string | undefined; } export namespace PipelineObject { @@ -383,6 +383,11 @@ export namespace PipelineObject { *

                      Contains the output of DescribeObjects.

                      */ export interface DescribeObjectsOutput { + /** + *

                      Indicates whether there are more results to return.

                      + */ + hasMoreResults?: boolean; + /** *

                      The starting point for the next page of results. To view the next page of results, call DescribeObjects * again with this marker value. If the value is null, there are no more results.

                      @@ -393,11 +398,6 @@ export interface DescribeObjectsOutput { *

                      An array of object definitions.

                      */ pipelineObjects: PipelineObject[] | undefined; - - /** - *

                      Indicates whether there are more results to return.

                      - */ - hasMoreResults?: boolean; } export namespace DescribeObjectsOutput { @@ -427,16 +427,6 @@ export namespace DescribePipelinesInput { *

                      Contains pipeline metadata.

                      */ export interface PipelineDescription { - /** - *

                      The pipeline identifier that was assigned by AWS Data Pipeline. This is a string of the form df-297EG78HU43EEXAMPLE.

                      - */ - pipelineId: string | undefined; - - /** - *

                      Description of the pipeline.

                      - */ - description?: string; - /** *

                      A list of read-only fields that contain metadata about the pipeline: @userId, @accountId, and @pipelineState.

                      */ @@ -452,6 +442,16 @@ export interface PipelineDescription { * For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer Guide.

                      */ tags?: Tag[]; + + /** + *

                      The pipeline identifier that was assigned by AWS Data Pipeline. This is a string of the form df-297EG78HU43EEXAMPLE.

                      + */ + pipelineId: string | undefined; + + /** + *

                      Description of the pipeline.

                      + */ + description?: string; } export namespace PipelineDescription { @@ -540,17 +540,17 @@ export namespace TaskNotFoundException { *

                      Contains the parameters for GetPipelineDefinition.

                      */ export interface GetPipelineDefinitionInput { + /** + *

                      The ID of the pipeline.

                      + */ + pipelineId: string | undefined; + /** *

                      The version of the pipeline definition to retrieve. Set this parameter to latest (default) * to use the last definition saved to the pipeline or active to use the last definition * that was activated.

                      */ version?: string; - - /** - *

                      The ID of the pipeline.

                      - */ - pipelineId: string | undefined; } export namespace GetPipelineDefinitionInput { @@ -585,14 +585,14 @@ export namespace ParameterAttribute { */ export interface ParameterObject { /** - *

                      The ID of the parameter object.

                      + *

                      The attributes of the parameter object.

                      */ - id: string | undefined; + attributes: ParameterAttribute[] | undefined; /** - *

                      The attributes of the parameter object.

                      + *

                      The ID of the parameter object.

                      */ - attributes: ParameterAttribute[] | undefined; + id: string | undefined; } export namespace ParameterObject { @@ -605,11 +605,6 @@ export namespace ParameterObject { *

                      Contains the output of GetPipelineDefinition.

                      */ export interface GetPipelineDefinitionOutput { - /** - *

                      The objects defined in the pipeline.

                      - */ - pipelineObjects?: PipelineObject[]; - /** *

                      The parameter values used in the pipeline definition.

                      */ @@ -619,6 +614,11 @@ export interface GetPipelineDefinitionOutput { *

                      The parameter objects used in the pipeline definition.

                      */ parameterObjects?: ParameterObject[]; + + /** + *

                      The objects defined in the pipeline.

                      + */ + pipelineObjects?: PipelineObject[]; } export namespace GetPipelineDefinitionOutput { @@ -650,14 +650,14 @@ export namespace ListPipelinesInput { */ export interface PipelineIdName { /** - *

                      The ID of the pipeline that was assigned by AWS Data Pipeline. This is a string of the form df-297EG78HU43EEXAMPLE.

                      + *

                      The name of the pipeline.

                      */ - id?: string; + name?: string; /** - *

                      The name of the pipeline.

                      + *

                      The ID of the pipeline that was assigned by AWS Data Pipeline. This is a string of the form df-297EG78HU43EEXAMPLE.

                      */ - name?: string; + id?: string; } export namespace PipelineIdName { @@ -670,6 +670,12 @@ export namespace PipelineIdName { *

                      Contains the output of ListPipelines.

                      */ export interface ListPipelinesOutput { + /** + *

                      The starting point for the next page of results. To view the next page of results, call ListPipelinesOutput + * again with this marker value. If the value is null, there are no more results.

                      + */ + marker?: string; + /** *

                      Indicates whether there are more results that can be obtained by a subsequent call.

                      */ @@ -680,12 +686,6 @@ export interface ListPipelinesOutput { * DescribePipelines and GetPipelineDefinition.

                      */ pipelineIdList: PipelineIdName[] | undefined; - - /** - *

                      The starting point for the next page of results. To view the next page of results, call ListPipelinesOutput - * again with this marker value. If the value is null, there are no more results.

                      - */ - marker?: string; } export namespace ListPipelinesOutput { @@ -701,14 +701,14 @@ export namespace ListPipelinesOutput { */ export interface InstanceIdentity { /** - *

                      A description of an EC2 instance that is generated when the instance is launched and exposed to the instance via the instance metadata service in the form of a JSON representation of an object.

                      + *

                      A signature which can be used to verify the accuracy and authenticity of the information provided in the instance identity document.

                      */ - document?: string; + signature?: string; /** - *

                      A signature which can be used to verify the accuracy and authenticity of the information provided in the instance identity document.

                      + *

                      A description of an EC2 instance that is generated when the instance is launched and exposed to the instance via the instance metadata service in the form of a JSON representation of an object.

                      */ - signature?: string; + document?: string; } export namespace InstanceIdentity { @@ -729,14 +729,14 @@ export interface PollForTaskInput { workerGroup: string | undefined; /** - *

                      Identity information for the EC2 instance that is hosting the task runner. You can get this value from the instance using http://169.254.169.254/latest/meta-data/instance-id. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide. Passing in this value proves that your task runner is running on an EC2 instance, and ensures the proper AWS Data Pipeline service charges are applied to your pipeline.

                      + *

                      The public DNS name of the calling task runner.

                      */ - instanceIdentity?: InstanceIdentity; + hostname?: string; /** - *

                      The public DNS name of the calling task runner.

                      + *

                      Identity information for the EC2 instance that is hosting the task runner. You can get this value from the instance using http://169.254.169.254/latest/meta-data/instance-id. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide. Passing in this value proves that your task runner is running on an EC2 instance, and ensures the proper AWS Data Pipeline service charges are applied to your pipeline.

                      */ - hostname?: string; + instanceIdentity?: InstanceIdentity; } export namespace PollForTaskInput { @@ -754,11 +754,6 @@ export interface TaskObject { */ attemptId?: string; - /** - *

                      Connection information for the location where the task runner will publish the output of the task.

                      - */ - objects?: { [key: string]: PipelineObject }; - /** *

                      An internal identifier for the task. This ID is passed to the SetTaskStatus and ReportTaskProgress actions.

                      */ @@ -768,6 +763,11 @@ export interface TaskObject { *

                      The ID of the pipeline that provided the task.

                      */ pipelineId?: string; + + /** + *

                      Connection information for the location where the task runner will publish the output of the task.

                      + */ + objects?: { [key: string]: PipelineObject }; } export namespace TaskObject { @@ -798,11 +798,6 @@ export namespace PollForTaskOutput { *

                      Contains the parameters for PutPipelineDefinition.

                      */ export interface PutPipelineDefinitionInput { - /** - *

                      The objects that define the pipeline. These objects overwrite the existing pipeline definition.

                      - */ - pipelineObjects: PipelineObject[] | undefined; - /** *

                      The ID of the pipeline.

                      */ @@ -817,6 +812,11 @@ export interface PutPipelineDefinitionInput { *

                      The parameter values used with the pipeline.

                      */ parameterValues?: ParameterValue[]; + + /** + *

                      The objects that define the pipeline. These objects overwrite the existing pipeline definition.

                      + */ + pipelineObjects: PipelineObject[] | undefined; } export namespace PutPipelineDefinitionInput { @@ -851,14 +851,14 @@ export namespace ValidationError { */ export interface ValidationWarning { /** - *

                      The identifier of the object that contains the validation warning.

                      + *

                      A description of the validation warning.

                      */ - id?: string; + warnings?: string[]; /** - *

                      A description of the validation warning.

                      + *

                      The identifier of the object that contains the validation warning.

                      */ - warnings?: string[]; + id?: string; } export namespace ValidationWarning { @@ -871,6 +871,11 @@ export namespace ValidationWarning { *

                      Contains the output of PutPipelineDefinition.

                      */ export interface PutPipelineDefinitionOutput { + /** + *

                      The validation warnings that are associated with the objects defined in pipelineObjects.

                      + */ + validationWarnings?: ValidationWarning[]; + /** *

                      Indicates whether there were validation errors, and the pipeline definition is stored but cannot be * activated until you correct the pipeline and call PutPipelineDefinition to commit the corrected pipeline.

                      @@ -881,11 +886,6 @@ export interface PutPipelineDefinitionOutput { *

                      The validation errors that are associated with the objects defined in pipelineObjects.

                      */ validationErrors?: ValidationError[]; - - /** - *

                      The validation warnings that are associated with the objects defined in pipelineObjects.

                      - */ - validationWarnings?: ValidationWarning[]; } export namespace PutPipelineDefinitionOutput { @@ -906,6 +906,11 @@ export enum OperatorType { *

                      Contains a logical operation for comparing the value of a field with a specified value.

                      */ export interface Operator { + /** + *

                      The value that the actual field value will be compared with.

                      + */ + values?: string[]; + /** *

                      * The logical operation to be performed: equal (EQ), equal reference (REF_EQ), less than or equal (LE), greater than or equal (GE), or between (BETWEEN). Equal reference (REF_EQ) can be used only with reference fields. The other comparison types can be used only with String fields. The comparison types you can use apply only to certain object fields, as detailed below. @@ -964,11 +969,6 @@ export interface Operator { *

                      Note that fields beginning with the at sign (@) are read-only and set by the web service. When you name fields, you should choose names containing only alpha-numeric values, as symbols may be reserved by AWS Data Pipeline. User-defined fields that you add to a pipeline should prefix their name with the string "my".

                      */ type?: OperatorType | string; - - /** - *

                      The value that the actual field value will be compared with.

                      - */ - values?: string[]; } export namespace Operator { @@ -1025,9 +1025,11 @@ export interface QueryObjectsInput { sphere: string | undefined; /** - *

                      The maximum number of object names that QueryObjects will return in a single call. The default value is 100.

                      + *

                      The starting point for the results to be returned. For the first call, this value should be empty. + * As long as there are more results, continue to call QueryObjects with + * the marker value from the previous call to retrieve the next set of results.

                      */ - limit?: number; + marker?: string; /** *

                      The query that defines the objects to be returned. The Query object can contain a maximum of ten selectors. @@ -1037,16 +1039,14 @@ export interface QueryObjectsInput { query?: Query; /** - *

                      The starting point for the results to be returned. For the first call, this value should be empty. - * As long as there are more results, continue to call QueryObjects with - * the marker value from the previous call to retrieve the next set of results.

                      + *

                      The ID of the pipeline.

                      */ - marker?: string; + pipelineId: string | undefined; /** - *

                      The ID of the pipeline.

                      + *

                      The maximum number of object names that QueryObjects will return in a single call. The default value is 100.

                      */ - pipelineId: string | undefined; + limit?: number; } export namespace QueryObjectsInput { @@ -1066,14 +1066,14 @@ export interface QueryObjectsOutput { marker?: string; /** - *

                      The identifiers that match the query selectors.

                      + *

                      Indicates whether there are more results that can be obtained by a subsequent call.

                      */ - ids?: string[]; + hasMoreResults?: boolean; /** - *

                      Indicates whether there are more results that can be obtained by a subsequent call.

                      + *

                      The identifiers that match the query selectors.

                      */ - hasMoreResults?: boolean; + ids?: string[]; } export namespace QueryObjectsOutput { @@ -1119,14 +1119,14 @@ export namespace RemoveTagsOutput { */ export interface ReportTaskProgressInput { /** - *

                      Key-value pairs that define the properties of the ReportTaskProgressInput object.

                      + *

                      The ID of the task assigned to the task runner. This value is provided in the response for PollForTask.

                      */ - fields?: Field[]; + taskId: string | undefined; /** - *

                      The ID of the task assigned to the task runner. This value is provided in the response for PollForTask.

                      + *

                      Key-value pairs that define the properties of the ReportTaskProgressInput object.

                      */ - taskId: string | undefined; + fields?: Field[]; } export namespace ReportTaskProgressInput { @@ -1156,9 +1156,11 @@ export namespace ReportTaskProgressOutput { */ export interface ReportTaskRunnerHeartbeatInput { /** - *

                      The public DNS name of the task runner.

                      + *

                      The type of task the task runner is configured to accept and process. The worker group is set as a field on objects in the pipeline when they are created. + * You can only specify a single value for workerGroup. There are no wildcard values permitted in workerGroup; the string + * must be an exact, case-sensitive, match.

                      */ - hostname?: string; + workerGroup?: string; /** *

                      The ID of the task runner. This value should be unique across your AWS account. In the case of AWS Data Pipeline Task Runner launched on a resource managed by AWS Data Pipeline, the web service provides a unique identifier when it launches the application. If you have written a custom task runner, you should assign a unique identifier for the task runner.

                      @@ -1166,11 +1168,9 @@ export interface ReportTaskRunnerHeartbeatInput { taskrunnerId: string | undefined; /** - *

                      The type of task the task runner is configured to accept and process. The worker group is set as a field on objects in the pipeline when they are created. - * You can only specify a single value for workerGroup. There are no wildcard values permitted in workerGroup; the string - * must be an exact, case-sensitive, match.

                      + *

                      The public DNS name of the task runner.

                      */ - workerGroup?: string; + hostname?: string; } export namespace ReportTaskRunnerHeartbeatInput { @@ -1200,15 +1200,15 @@ export namespace ReportTaskRunnerHeartbeatOutput { */ export interface SetStatusInput { /** - *

                      The status to be set on all the objects specified in objectIds. For components, use PAUSE or RESUME. - * For instances, use TRY_CANCEL, RERUN, or MARK_FINISHED.

                      + *

                      The ID of the pipeline that contains the objects.

                      */ - status: string | undefined; + pipelineId: string | undefined; /** - *

                      The ID of the pipeline that contains the objects.

                      + *

                      The status to be set on all the objects specified in objectIds. For components, use PAUSE or RESUME. + * For instances, use TRY_CANCEL, RERUN, or MARK_FINISHED.

                      */ - pipelineId: string | undefined; + status: string | undefined; /** *

                      The IDs of the objects. The corresponding objects can be either physical or components, but not a mix of both types.

                      @@ -1233,19 +1233,19 @@ export enum TaskStatus { */ export interface SetTaskStatusInput { /** - *

                      If an error occurred during the task, this value specifies the stack trace associated with the error. This value is set on the physical attempt object. It is used to display error information to the user. The web service does not parse this value.

                      + *

                      If an error occurred during the task, this value specifies the error code. This value is set on the physical attempt object. It is used to display error information to the user. It should not start with string "Service_" which is reserved by the system.

                      */ - errorStackTrace?: string; + errorId?: string; /** - *

                      If FINISHED, the task successfully completed. If FAILED, the task ended unsuccessfully. Preconditions use false.

                      + *

                      If an error occurred during the task, this value specifies a text description of the error. This value is set on the physical attempt object. It is used to display error information to the user. The web service does not parse this value.

                      */ - taskStatus: TaskStatus | string | undefined; + errorMessage?: string; /** - *

                      If an error occurred during the task, this value specifies the error code. This value is set on the physical attempt object. It is used to display error information to the user. It should not start with string "Service_" which is reserved by the system.

                      + *

                      If an error occurred during the task, this value specifies the stack trace associated with the error. This value is set on the physical attempt object. It is used to display error information to the user. The web service does not parse this value.

                      */ - errorId?: string; + errorStackTrace?: string; /** *

                      The ID of the task assigned to the task runner. This value is provided in the response for PollForTask.

                      @@ -1253,9 +1253,9 @@ export interface SetTaskStatusInput { taskId: string | undefined; /** - *

                      If an error occurred during the task, this value specifies a text description of the error. This value is set on the physical attempt object. It is used to display error information to the user. The web service does not parse this value.

                      + *

                      If FINISHED, the task successfully completed. If FAILED, the task ended unsuccessfully. Preconditions use false.

                      */ - errorMessage?: string; + taskStatus: TaskStatus | string | undefined; } export namespace SetTaskStatusInput { @@ -1280,9 +1280,9 @@ export namespace SetTaskStatusOutput { */ export interface ValidatePipelineDefinitionInput { /** - *

                      The objects that define the pipeline changes to validate against the pipeline.

                      + *

                      The parameter values used with the pipeline.

                      */ - pipelineObjects: PipelineObject[] | undefined; + parameterValues?: ParameterValue[]; /** *

                      The parameter objects used with the pipeline.

                      @@ -1295,9 +1295,9 @@ export interface ValidatePipelineDefinitionInput { pipelineId: string | undefined; /** - *

                      The parameter values used with the pipeline.

                      + *

                      The objects that define the pipeline changes to validate against the pipeline.

                      */ - parameterValues?: ParameterValue[]; + pipelineObjects: PipelineObject[] | undefined; } export namespace ValidatePipelineDefinitionInput { @@ -1310,11 +1310,6 @@ export namespace ValidatePipelineDefinitionInput { *

                      Contains the output of ValidatePipelineDefinition.

                      */ export interface ValidatePipelineDefinitionOutput { - /** - *

                      Any validation errors that were found.

                      - */ - validationErrors?: ValidationError[]; - /** *

                      Indicates whether there were validation errors.

                      */ @@ -1324,6 +1319,11 @@ export interface ValidatePipelineDefinitionOutput { *

                      Any validation warnings that were found.

                      */ validationWarnings?: ValidationWarning[]; + + /** + *

                      Any validation errors that were found.

                      + */ + validationErrors?: ValidationError[]; } export namespace ValidatePipelineDefinitionOutput { diff --git a/clients/client-database-migration-service/DatabaseMigrationService.ts b/clients/client-database-migration-service/DatabaseMigrationService.ts index 755c35438a21..e0d94d36faca 100644 --- a/clients/client-database-migration-service/DatabaseMigrationService.ts +++ b/clients/client-database-migration-service/DatabaseMigrationService.ts @@ -283,7 +283,9 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient { *

                      Adds metadata tags to an AWS DMS resource, including replication instance, endpoint, * security group, and migration task. These tags can also be used with cost allocation * reporting to track cost associated with DMS resources, or used in a Condition statement in - * an IAM policy for DMS.

                      + * an IAM policy for DMS. For more information, see + * Tag + * data type description.

                      */ public addTagsToResource( args: AddTagsToResourceCommandInput, @@ -464,8 +466,9 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient { *

                      Creates the replication instance using the specified parameters.

                      *

                      AWS DMS requires that your account have certain roles with appropriate permissions * before you can create a replication instance. For information on the required roles, see - * Creating the IAM Roles to Use With the AWS CLI and AWS DMS API. For - * information on the required permissions, see IAM Permissions Needed to Use AWS DMS.

                      + * Creating the IAM Roles to Use With the AWS CLI and AWS DMS API. For + * information on the required permissions, see + * IAM Permissions Needed to Use AWS DMS.

                      */ public createReplicationInstance( args: CreateReplicationInstanceCommandInput, @@ -1598,7 +1601,11 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient { } /** - *

                      Lists all tags for an AWS DMS resource.

                      + *

                      Lists all metadata tags attached to an AWS DMS resource, including + * replication instance, endpoint, security group, and migration task. + * For more information, see + * Tag + * data type description.

                      */ public listTagsForResource( args: ListTagsForResourceCommandInput, @@ -1893,7 +1900,12 @@ export class DatabaseMigrationService extends DatabaseMigrationServiceClient { } /** - *

                      Removes metadata tags from a DMS resource.

                      + *

                      Removes metadata tags from an AWS DMS resource, including replication instance, + * endpoint, security group, and migration task. For more information, see + * + * Tag + * + * data type description.

                      */ public removeTagsFromResource( args: RemoveTagsFromResourceCommandInput, diff --git a/clients/client-database-migration-service/models/models_0.ts b/clients/client-database-migration-service/models/models_0.ts index 50c3c8d3cba1..7f1317f2113f 100644 --- a/clients/client-database-migration-service/models/models_0.ts +++ b/clients/client-database-migration-service/models/models_0.ts @@ -26,14 +26,14 @@ export namespace AccessDeniedFault { */ export interface AccountQuota { /** - *

                      The amount currently used toward the quota maximum.

                      + *

                      The maximum allowed value for the quota.

                      */ - Used?: number; + Max?: number; /** - *

                      The maximum allowed value for the quota.

                      + *

                      The amount currently used toward the quota maximum.

                      */ - Max?: number; + Used?: number; /** *

                      The name of the AWS DMS quota for this AWS account.

                      @@ -69,14 +69,6 @@ export namespace AccountQuota { *
                    */ export interface Tag { - /** - *

                    A value is the optional value of the tag. The string value can be 1-256 Unicode - * characters in length and can't be prefixed with "aws:" or "dms:". The string can only - * contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' - * (Java regular expressions: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

                    - */ - Value?: string; - /** *

                    A key is the required name of the tag. The string value can be 1-128 Unicode characters * in length and can't be prefixed with "aws:" or "dms:". The string can only contain @@ -84,6 +76,14 @@ export interface Tag { * regular expressions: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

                    */ Key?: string; + + /** + *

                    A value is the optional value of the tag. The string value can be 1-256 Unicode + * characters in length and can't be prefixed with "aws:" or "dms:". The string can only + * contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' + * (Java regular expressions: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

                    + */ + Value?: string; } export namespace Tag { @@ -96,16 +96,16 @@ export namespace Tag { *

                    Associates a set of tags with an AWS DMS resource.

                    */ export interface AddTagsToResourceMessage { - /** - *

                    One or more tags to be assigned to the resource.

                    - */ - Tags: Tag[] | undefined; - /** *

                    Identifies the AWS DMS resource to which tags should be added. The value for this parameter is an Amazon Resource Name (ARN).

                    *

                    For AWS DMS, you can tag a replication instance, an endpoint, or a replication task.

                    */ ResourceArn: string | undefined; + + /** + *

                    One or more tags to be assigned to the resource.

                    + */ + Tags: Tag[] | undefined; } export namespace AddTagsToResourceMessage { @@ -147,17 +147,17 @@ export namespace ResourceNotFoundFault { *

                    */ export interface ApplyPendingMaintenanceActionMessage { - /** - *

                    The pending maintenance action to apply to this resource.

                    - */ - ApplyAction: string | undefined; - /** *

                    The Amazon Resource Name (ARN) of the AWS DMS resource that the pending maintenance * action applies to.

                    */ ReplicationInstanceArn: string | undefined; + /** + *

                    The pending maintenance action to apply to this resource.

                    + */ + ApplyAction: string | undefined; + /** *

                    A value that specifies the type of opt-in request, or undoes an opt-in request. You can't undo an * opt-in request of type immediate.

                    @@ -194,21 +194,6 @@ export namespace ApplyPendingMaintenanceActionMessage { * DescribePendingMaintenanceActions operation.

                    */ export interface PendingMaintenanceAction { - /** - *

                    The effective date when the pending maintenance action will be applied to the resource. - * This date takes into account opt-in requests received from the - * ApplyPendingMaintenanceAction API operation, and also the - * AutoAppliedAfterDate and ForcedApplyDate parameter values. - * This value is blank if an opt-in request has not been received and nothing has been - * specified for AutoAppliedAfterDate or ForcedApplyDate.

                    - */ - CurrentApplyDate?: Date; - - /** - *

                    A description providing more detail about the maintenance action.

                    - */ - Description?: string; - /** *

                    The date of the maintenance window when the action is to be applied. The maintenance * action is applied to the resource during its first maintenance window after this date. If @@ -217,11 +202,6 @@ export interface PendingMaintenanceAction { */ AutoAppliedAfterDate?: Date; - /** - *

                    The type of opt-in request that has been received for the resource.

                    - */ - OptInStatus?: string; - /** *

                    The date when the maintenance action will be automatically applied. The maintenance * action is applied to the resource on this date regardless of the maintenance window for the @@ -230,10 +210,30 @@ export interface PendingMaintenanceAction { */ ForcedApplyDate?: Date; + /** + *

                    A description providing more detail about the maintenance action.

                    + */ + Description?: string; + + /** + *

                    The type of opt-in request that has been received for the resource.

                    + */ + OptInStatus?: string; + /** *

                    The type of pending maintenance action that is available for the resource.

                    */ Action?: string; + + /** + *

                    The effective date when the pending maintenance action will be applied to the resource. + * This date takes into account opt-in requests received from the + * ApplyPendingMaintenanceAction API operation, and also the + * AutoAppliedAfterDate and ForcedApplyDate parameter values. + * This value is blank if an opt-in request has not been received and nothing has been + * specified for AutoAppliedAfterDate or ForcedApplyDate.

                    + */ + CurrentApplyDate?: Date; } export namespace PendingMaintenanceAction { @@ -303,14 +303,14 @@ export namespace CancelReplicationTaskAssessmentRunMessage { */ export interface ReplicationTaskAssessmentRunProgress { /** - *

                    The number of individual assessments that are specified to run.

                    + *

                    The number of individual assessments that have completed, successfully or not.

                    */ - IndividualAssessmentCount?: number; + IndividualAssessmentCompletedCount?: number; /** - *

                    The number of individual assessments that have completed, successfully or not.

                    + *

                    The number of individual assessments that are specified to run.

                    */ - IndividualAssessmentCompletedCount?: number; + IndividualAssessmentCount?: number; } export namespace ReplicationTaskAssessmentRunProgress { @@ -327,9 +327,20 @@ export namespace ReplicationTaskAssessmentRunProgress { */ export interface ReplicationTaskAssessmentRun { /** - *

                    Amazon Resource Name (ARN) of this assessment run.

                    + *

                    Last message generated by an individual assessment failure.

                    */ - ReplicationTaskAssessmentRunArn?: string; + LastFailureMessage?: string; + + /** + *

                    Date on which the assessment run was created using the + * StartReplicationTaskAssessmentRun operation.

                    + */ + ReplicationTaskAssessmentRunCreationDate?: Date; + + /** + *

                    Unique name of the assessment run.

                    + */ + AssessmentRunName?: string; /** *

                    Indication of the completion progress for the individual assessments specified to @@ -348,11 +359,6 @@ export interface ReplicationTaskAssessmentRun { */ ResultLocationFolder?: string; - /** - *

                    Last message generated by an individual assessment failure.

                    - */ - LastFailureMessage?: string; - /** *

                    ARN of the service role used to start the assessment run using the * StartReplicationTaskAssessmentRun operation.

                    @@ -360,15 +366,25 @@ export interface ReplicationTaskAssessmentRun { ServiceAccessRoleArn?: string; /** - *

                    Unique name of the assessment run.

                    + *

                    ARN of the AWS KMS encryption key used to encrypt the assessment run results.

                    */ - AssessmentRunName?: string; + ResultKmsKeyArn?: string; /** - *

                    Date on which the assessment run was created using the - * StartReplicationTaskAssessmentRun operation.

                    + *

                    Amazon S3 bucket where AWS DMS stores the results of this assessment run.

                    */ - ReplicationTaskAssessmentRunCreationDate?: Date; + ResultLocationBucket?: string; + + /** + *

                    Amazon Resource Name (ARN) of this assessment run.

                    + */ + ReplicationTaskAssessmentRunArn?: string; + + /** + *

                    ARN of the migration task associated with this premigration + * assessment run.

                    + */ + ReplicationTaskArn?: string; /** *

                    Assessment run status.

                    @@ -425,22 +441,6 @@ export interface ReplicationTaskAssessmentRun { *
                  */ Status?: string; - - /** - *

                  ARN of the AWS KMS encryption key used to encrypt the assessment run results.

                  - */ - ResultKmsKeyArn?: string; - - /** - *

                  ARN of the migration task associated with this premigration - * assessment run.

                  - */ - ReplicationTaskArn?: string; - - /** - *

                  Amazon S3 bucket where AWS DMS stores the results of this assessment run.

                  - */ - ResultLocationBucket?: string; } export namespace ReplicationTaskAssessmentRun { @@ -489,14 +489,14 @@ export namespace InvalidResourceStateFault { */ export interface DmsTransferSettings { /** - *

                  The IAM role that has permission to access the Amazon S3 bucket.

                  + *

                  The name of the S3 bucket to use.

                  */ - ServiceAccessRoleArn?: string; + BucketName?: string; /** - *

                  The name of the S3 bucket to use.

                  + *

                  The IAM role that has permission to access the Amazon S3 bucket.

                  */ - BucketName?: string; + ServiceAccessRoleArn?: string; } export namespace DmsTransferSettings { @@ -527,13 +527,8 @@ export namespace DynamoDbSettings { */ export interface ElasticsearchSettings { /** - *

                  The maximum number of seconds for which DMS retries failed API requests to the - * Elasticsearch cluster.

                  - */ - ErrorRetryDuration?: number; - - /** - *

                  The endpoint for the Elasticsearch cluster.

                  + *

                  The endpoint for the Elasticsearch cluster. AWS DMS uses HTTPS if a transport + * protocol (http/https) is not specified.

                  */ EndpointUri: string | undefined; @@ -542,9 +537,19 @@ export interface ElasticsearchSettings { */ ServiceAccessRoleArn: string | undefined; + /** + *

                  The maximum number of seconds for which DMS retries failed API requests to the + * Elasticsearch cluster.

                  + */ + ErrorRetryDuration?: number; + /** *

                  The maximum percentage of records that can fail to be written before a full load - * operation stops.

                  + * operation stops.

                  + *

                  To avoid early failure, this counter is only effective after 1000 records + * are transferred. Elasticsearch also has the concept of error monitoring during the + * last 10 minutes of an Observation Window. If transfer of all records fail in the + * last 10 minutes, the full load operation stops.

                  */ FullLoadErrorPercentage?: number; } @@ -565,9 +570,22 @@ export enum ReplicationEndpointTypeValue { */ export interface IBMDb2Settings { /** - *

                  Endpoint TCP port.

                  + *

                  Fully qualified domain name of the endpoint.

                  */ - Port?: number; + ServerName?: string; + + /** + *

                  For ongoing replication (CDC), use CurrentLSN to specify a + * log sequence number (LSN) where you want the replication + * to start.

                  + */ + CurrentLsn?: string; + + /** + *

                  Maximum number of bytes per read, as a NUMBER value. + * The default is 64 KB.

                  + */ + MaxKBytesPerRead?: number; /** *

                  Endpoint connection password.

                  @@ -580,14 +598,20 @@ export interface IBMDb2Settings { DatabaseName?: string; /** - *

                  Endpoint connection user name.

                  + *

                  Endpoint TCP port.

                  */ - Username?: string; + Port?: number; /** - *

                  Fully qualified domain name of the endpoint.

                  + *

                  Enables ongoing replication (CDC) as a BOOLEAN value. The + * default is true.

                  */ - ServerName?: string; + SetDataCaptureChanges?: boolean; + + /** + *

                  Endpoint connection user name.

                  + */ + Username?: string; } export namespace IBMDb2Settings { @@ -609,11 +633,14 @@ export enum MessageFormatValue { */ export interface KafkaSettings { /** - *

                  The output format for the records created on the endpoint. The message format is - * JSON (default) or JSON_UNFORMATTED (a single line with no - * tab).

                  + *

                  Prefixes schema and table names to partition values, when the partition type is + * primary-key-type. Doing this increases data distribution among Kafka + * partitions. For example, suppose that a SysBench schema has thousands of tables and each + * table has only limited range for a primary key. In this case, the same primary key is sent + * from thousands of tables to the same partition, which causes throttling. The default is + * false.

                  */ - MessageFormat?: MessageFormatValue | string; + PartitionIncludeSchemaTable?: boolean; /** *

                  The broker location and port of the Kafka broker that hosts your Kafka instance. Specify the broker @@ -624,46 +651,53 @@ export interface KafkaSettings { Broker?: string; /** - *

                  Prefixes schema and table names to partition values, when the partition type is - * primary-key-type. Doing this increases data distribution among Kafka - * partitions. For example, suppose that a SysBench schema has thousands of tables and each - * table has only limited range for a primary key. In this case, the same primary key is sent - * from thousands of tables to the same partition, which causes throttling. The default is - * False.

                  + *

                  The topic to which you migrate the data. If you don't specify a topic, AWS DMS + * specifies "kafka-default-topic" as the migration topic.

                  */ - PartitionIncludeSchemaTable?: boolean; + Topic?: string; + + /** + *

                  The maximum size in bytes for records created on the endpoint The default is 1,000,000.

                  + */ + MessageMaxBytes?: number; /** *

                  Includes any data definition language (DDL) operations that change the table in the * control data, such as rename-table, drop-table, * add-column, drop-column, and rename-column. The - * default is False.

                  + * default is false.

                  */ IncludeTableAlterOperations?: boolean; /** - *

                  Shows the partition value within the Kafka message output, unless the partition type is - * schema-table-type. The default is False.

                  + *

                  Include NULL and empty columns for records migrated to the endpoint. The default is false.

                  */ - IncludePartitionValue?: boolean; + IncludeNullAndEmpty?: boolean; /** - *

                  The topic to which you migrate the data. If you don't specify a topic, AWS DMS - * specifies "kafka-default-topic" as the migration topic.

                  + *

                  Shows detailed control information for table definition, column definition, and table + * and column changes in the Kafka message output. The default is false.

                  */ - Topic?: string; + IncludeControlDetails?: boolean; /** - *

                  Shows detailed control information for table definition, column definition, and table - * and column changes in the Kafka message output. The default is False.

                  + *

                  The output format for the records created on the endpoint. The message format is + * JSON (default) or JSON_UNFORMATTED (a single line with no + * tab).

                  */ - IncludeControlDetails?: boolean; + MessageFormat?: MessageFormatValue | string; + + /** + *

                  Shows the partition value within the Kafka message output, unless the partition type is + * schema-table-type. The default is false.

                  + */ + IncludePartitionValue?: boolean; /** *

                  Provides detailed transaction information from the source database. This information * includes a commit timestamp, a log position, and values for transaction_id, * previous transaction_id, and transaction_record_id (the record - * offset within a transaction). The default is False.

                  + * offset within a transaction). The default is false.

                  */ IncludeTransactionDetails?: boolean; } @@ -681,40 +715,45 @@ export namespace KafkaSettings { */ export interface KinesisSettings { /** - *

                  Provides detailed transaction information from the source database. This information - * includes a commit timestamp, a log position, and values for transaction_id, - * previous transaction_id, and transaction_record_id (the record - * offset within a transaction). The default is False.

                  + *

                  The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) role + * that AWS DMS uses to write to the Kinesis data stream.

                  */ - IncludeTransactionDetails?: boolean; + ServiceAccessRoleArn?: string; /** - *

                  Prefixes schema and table names to partition values, when the partition type is - * primary-key-type. Doing this increases data distribution among Kinesis - * shards. For example, suppose that a SysBench schema has thousands of tables and each table - * has only limited range for a primary key. In this case, the same primary key is sent from - * thousands of tables to the same shard, which causes throttling. The default is False.

                  + *

                  Include NULL and empty columns for records migrated to the endpoint. The default is false.

                  */ - PartitionIncludeSchemaTable?: boolean; + IncludeNullAndEmpty?: boolean; /** *

                  The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.

                  */ StreamArn?: string; + /** + *

                  Prefixes schema and table names to partition values, when the partition type is + * primary-key-type. Doing this increases data distribution among Kinesis + * shards. For example, suppose that a SysBench schema has thousands of tables and each table + * has only limited range for a primary key. In this case, the same primary key is sent from + * thousands of tables to the same shard, which causes throttling. The default is false.

                  + */ + PartitionIncludeSchemaTable?: boolean; + /** *

                  Includes any data definition language (DDL) operations that change the table in the * control data, such as rename-table, drop-table, * add-column, drop-column, and rename-column. The - * default is False.

                  + * default is false.

                  */ IncludeTableAlterOperations?: boolean; /** - *

                  The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) role - * that AWS DMS uses to write to the Kinesis data stream.

                  + *

                  Provides detailed transaction information from the source database. This information + * includes a commit timestamp, a log position, and values for transaction_id, + * previous transaction_id, and transaction_record_id (the record + * offset within a transaction). The default is false.

                  */ - ServiceAccessRoleArn?: string; + IncludeTransactionDetails?: boolean; /** *

                  The output format for the records created on the endpoint. The message format is @@ -724,13 +763,13 @@ export interface KinesisSettings { /** *

                  Shows detailed control information for table definition, column definition, and table - * and column changes in the Kinesis message output. The default is False.

                  + * and column changes in the Kinesis message output. The default is false.

                  */ IncludeControlDetails?: boolean; /** *

                  Shows the partition value within the Kinesis message output, unless the partition type - * is schema-table-type. The default is False.

                  + * is schema-table-type. The default is false.

                  */ IncludePartitionValue?: boolean; } @@ -741,34 +780,98 @@ export namespace KinesisSettings { }); } +export enum SafeguardPolicy { + EXCLUSIVE_AUTOMATIC_TRUNCATION = "exclusive-automatic-truncation", + RELY_ON_SQL_SERVER_REPLICATION_AGENT = "rely-on-sql-server-replication-agent", + SHARED_AUTOMATIC_TRUNCATION = "shared-automatic-truncation", +} + /** *

                  Provides information that defines a Microsoft SQL Server endpoint.

                  */ export interface MicrosoftSQLServerSettings { /** - *

                  Endpoint connection user name.

                  + *

                  When this attribute is set to Y, AWS DMS only reads changes + * from transaction log backups and doesn't read from the + * active transaction log file during ongoing replication. Setting + * this parameter to Y enables you to control active transaction + * log file growth during full load and ongoing replication + * tasks. However, it can add some source latency to ongoing + * replication.

                  */ - Username?: string; + ReadBackupOnly?: boolean; /** - *

                  Fully qualified domain name of the endpoint.

                  + *

                  Endpoint TCP port.

                  */ - ServerName?: string; + Port?: number; + + /** + *

                  The maximum size of the packets (in bytes) used to transfer + * data using BCP.

                  + */ + BcpPacketSize?: number; /** *

                  Database name for the endpoint.

                  */ DatabaseName?: string; + /** + *

                  Fully qualified domain name of the endpoint.

                  + */ + ServerName?: string; + + /** + *

                  Use this attribute to minimize the need to access the + * backup log and enable AWS DMS to prevent truncation using one of the + * following two methods.

                  + *

                  + * Start transactions in the database: This is the default + * method. When this method is used, AWS DMS prevents + * TLOG truncation by mimicking a transaction in the database. + * As long as such a transaction is open, changes that appear + * after the transaction started aren't truncated. If you need + * Microsoft Replication to be enabled in your database, then + * you must choose this method.

                  + *

                  + * Exclusively use sp_repldone within a single task: When + * this method is used, AWS DMS reads the changes and then + * uses sp_repldone to mark the TLOG transactions as ready + * for truncation. Although this method doesn't involve any + * transactional activities, it can only be used when Microsoft + * Replication isn't running. Also, when using this method, only + * one AWS DMS task can access the database at any given + * time. Therefore, if you need to run parallel AWS DMS tasks + * against the same database, use the default method.

                  + */ + SafeguardPolicy?: SafeguardPolicy | string; + + /** + *

                  Use this to attribute to transfer data for full-load operations + * using BCP. When the target table contains an identity + * column that does not exist in the source table, you must + * disable the use BCP for loading table option.

                  + */ + UseBcpFullLoad?: boolean; + + /** + *

                  Specify a filegroup for the AWS DMS internal tables. + * When the replication task starts, all the internal AWS DMS + * control tables (awsdms_ apply_exception, awsdms_apply, + * awsdms_changes) are created on the specified filegroup.

                  + */ + ControlTablesFileGroup?: string; + /** *

                  Endpoint connection password.

                  */ Password?: string; /** - *

                  Endpoint TCP port.

                  + *

                  Endpoint connection user name.

                  */ - Port?: number; + Username?: string; } export namespace MicrosoftSQLServerSettings { @@ -798,45 +901,12 @@ export enum NestingLevelValue { *

                  Provides information that defines a MongoDB endpoint.

                  */ export interface MongoDbSettings { - /** - *

                  The AWS KMS key identifier that is used to encrypt the content on the replication - * instance. If you don't specify a value for the KmsKeyId parameter, then - * AWS DMS uses your default encryption key. AWS KMS creates the default encryption key for - * your AWS account. Your AWS account has a different default encryption key for each AWS - * Region.

                  - */ - KmsKeyId?: string; - - /** - *

                  Specifies the document ID. Use this setting when NestingLevel is set to - * "none".

                  - *

                  Default value is "false".

                  - */ - ExtractDocId?: string; - - /** - *

                  The port value for the MongoDB source endpoint.

                  - */ - Port?: number; - - /** - *

                  The authentication type you use to access the MongoDB source endpoint.

                  - *

                  When when set to "no", user name and password parameters are not used and - * can be empty.

                  - */ - AuthType?: AuthTypeValue | string; - /** *

                  The password for the user account you use to access the MongoDB source endpoint. *

                  */ Password?: string; - /** - *

                  The name of the server on the MongoDB source endpoint.

                  - */ - ServerName?: string; - /** *

                  Specifies either document or table mode.

                  *

                  Default value is "none". Specify "none" to use document mode. @@ -844,15 +914,24 @@ export interface MongoDbSettings { */ NestingLevel?: NestingLevelValue | string; + /** + *

                  The name of the server on the MongoDB source endpoint.

                  + */ + ServerName?: string; + /** *

                  The user name you use to access the MongoDB source endpoint.

                  */ Username?: string; /** - *

                  The database name on the MongoDB source endpoint.

                  + *

                  The AWS KMS key identifier that is used to encrypt the content on the replication + * instance. If you don't specify a value for the KmsKeyId parameter, then + * AWS DMS uses your default encryption key. AWS KMS creates the default encryption key for + * your AWS account. Your AWS account has a different default encryption key for each AWS + * Region.

                  */ - DatabaseName?: string; + KmsKeyId?: string; /** *

                  The authentication mechanism you use to access the MongoDB source endpoint.

                  @@ -863,6 +942,37 @@ export interface MongoDbSettings { */ AuthMechanism?: AuthMechanismValue | string; + /** + *

                  The MongoDB database name. This setting isn't used when AuthType is + * set to "no".

                  + *

                  The default is "admin".

                  + */ + AuthSource?: string; + + /** + *

                  The database name on the MongoDB source endpoint.

                  + */ + DatabaseName?: string; + + /** + *

                  The authentication type you use to access the MongoDB source endpoint.

                  + *

                  When when set to "no", user name and password parameters are not used and + * can be empty.

                  + */ + AuthType?: AuthTypeValue | string; + + /** + *

                  Specifies the document ID. Use this setting when NestingLevel is set to + * "none".

                  + *

                  Default value is "false".

                  + */ + ExtractDocId?: string; + + /** + *

                  The port value for the MongoDB source endpoint.

                  + */ + Port?: number; + /** *

                  Indicates the number of documents to preview to determine the document organization. * Use this setting when NestingLevel is set to "one".

                  @@ -870,13 +980,6 @@ export interface MongoDbSettings { * 1000.

                  */ DocsToInvestigate?: string; - - /** - *

                  The MongoDB database name. This setting isn't used when AuthType is - * set to "no".

                  - *

                  The default is "admin".

                  - */ - AuthSource?: string; } export namespace MongoDbSettings { @@ -886,20 +989,73 @@ export namespace MongoDbSettings { }); } +export enum TargetDbType { + MULTIPLE_DATABASES = "multiple-databases", + SPECIFIC_DATABASE = "specific-database", +} + /** *

                  Provides information that defines a MySQL endpoint.

                  */ export interface MySQLSettings { /** - *

                  Endpoint TCP port.

                  + *

                  Improves performance when loading data into the MySQLcompatible + * target database. Specifies how many threads + * to use to load the data into the MySQL-compatible target + * database. Setting a large number of threads can have an + * adverse effect on database performance, because a separate + * connection is required for each thread.

                  + *

                  Example: parallelLoadThreads=1 + *

                  */ - Port?: number; + ParallelLoadThreads?: number; + + /** + *

                  Specifies the time zone for the source MySQL database.

                  + *

                  Example: serverTimezone=US/Pacific; + *

                  + *

                  Note: Do not enclose time zones in single quotes.

                  + */ + ServerTimezone?: string; + + /** + *

                  Specifies the maximum size (in KB) of any .csv file used to + * transfer data to a MySQL-compatible database.

                  + *

                  Example: maxFileSize=512 + *

                  + */ + MaxFileSize?: number; + + /** + *

                  Endpoint connection password.

                  + */ + Password?: string; /** *

                  Endpoint connection user name.

                  */ Username?: string; + /** + *

                  Specifies where to migrate source tables on the target, either + * to a single database or multiple databases.

                  + *

                  Example: targetDbType=MULTIPLE_DATABASES + *

                  + */ + TargetDbType?: TargetDbType | string; + + /** + *

                  Endpoint TCP port.

                  + */ + Port?: number; + + /** + *

                  Specifies a script to run immediately after AWS DMS + * connects to the endpoint. The migration task continues + * running regardless if the SQL statement succeeds or fails.

                  + */ + AfterConnectScript?: string; + /** *

                  Database name for the endpoint.

                  */ @@ -911,9 +1067,14 @@ export interface MySQLSettings { ServerName?: string; /** - *

                  Endpoint connection password.

                  + *

                  Specifies how often to check the binary log for new + * changes/events when the database is idle.

                  + *

                  Example: eventsPollInterval=5; + *

                  + *

                  In the example, AWS DMS checks for changes in the binary + * logs every five seconds.

                  */ - Password?: string; + EventsPollInterval?: number; } export namespace MySQLSettings { @@ -927,13 +1088,6 @@ export namespace MySQLSettings { *

                  Provides information that defines an Amazon Neptune endpoint.

                  */ export interface NeptuneSettings { - /** - *

                  A folder path where you want AWS DMS to store migrated graph data in the S3 bucket - * specified by S3BucketName - *

                  - */ - S3BucketFolder: string | undefined; - /** *

                  The number of times for AWS DMS to retry a bulk load of migrated graph data to the * Neptune target database before raising an error. The default is 5.

                  @@ -949,12 +1103,11 @@ export interface NeptuneSettings { MaxFileSize?: number; /** - *

                  If you want AWS Identity and Access Management (IAM) authorization enabled for this - * endpoint, set this parameter to true. Then attach the appropriate IAM policy - * document to your service role specified by ServiceAccessRoleArn. The default - * is false.

                  + *

                  A folder path where you want AWS DMS to store migrated graph data in the S3 bucket + * specified by S3BucketName + *

                  */ - IamAuthEnabled?: boolean; + S3BucketFolder: string | undefined; /** *

                  The name of the Amazon S3 bucket where AWS DMS can temporarily store migrated graph data @@ -963,6 +1116,14 @@ export interface NeptuneSettings { */ S3BucketName: string | undefined; + /** + *

                  If you want AWS Identity and Access Management (IAM) authorization enabled for this + * endpoint, set this parameter to true. Then attach the appropriate IAM policy + * document to your service role specified by ServiceAccessRoleArn. The default + * is false.

                  + */ + IamAuthEnabled?: boolean; + /** *

                  The Amazon Resource Name (ARN) of the service role that you created for the Neptune * target endpoint. @@ -985,40 +1146,59 @@ export namespace NeptuneSettings { }); } +export enum CharLengthSemantics { + BYTE = "byte", + CHAR = "char", + DEFAULT = "default", +} + /** *

                  Provides information that defines an Oracle endpoint.

                  */ export interface OracleSettings { /** - *

                  Database name for the endpoint.

                  + *

                  Set this string attribute to the required value in order to use + * the Binary Reader to capture change data for an Amazon + * RDS for Oracle as the source. This value specifies the + * default Oracle root used to access the redo logs.

                  */ - DatabaseName?: string; + OraclePathPrefix?: string; /** - *

                  Endpoint connection password.

                  + *

                  Set this attribute to change the number of read-ahead + * blocks that DMS configures to perform a Change Data + * Capture (CDC) load using Oracle Automatic Storage + * Management (ASM). You can specify an integer value + * between 1000 (the default) and 200,000 (the maximum).

                  */ - Password?: string; + ReadAheadBlocks?: number; /** - *

                  For an Oracle source endpoint, your ASM user name. You can set this value from the - * asm_user value. You set asm_user as part of the extra - * connection attribute string to access an Oracle server with Binary Reader that uses ASM. - * For more information, see Configuration for change data capture (CDC) on an Oracle source - * database.

                  + *

                  Set this attribute to false in order to use the Binary Reader + * to capture change data for an Amazon RDS for Oracle as the + * source. This tells the DMS instance to not access redo logs + * through any specified path prefix replacement using direct + * file access.

                  */ - AsmUser?: string; + AccessAlternateDirectly?: boolean; /** - *

                  For an Oracle source endpoint, the name of a key used for the transparent data - * encryption (TDE) of the columns and tablespaces in an Oracle source database that is - * encrypted using TDE. The key value is the value of the SecurityDbEncryption - * setting. For more information on setting the key name value of - * SecurityDbEncryptionName, see the information and example for setting the - * securityDbEncryptionName extra connection attribute in Supported encryption methods for using Oracle as a source for AWS - * DMS in the AWS Database Migration Service User - * Guide.

                  + *

                  Specifies the number of seconds that the system waits + * before resending a query.

                  + *

                  Example: retryInterval=6; + *

                  */ - SecurityDbEncryptionName?: string; + RetryInterval?: number; + + /** + *

                  Endpoint connection password.

                  + */ + Password?: string; + + /** + *

                  Fully qualified domain name of the endpoint.

                  + */ + ServerName?: string; /** *

                  For an Oracle source endpoint, the transparent data encryption (TDE) password required @@ -1033,6 +1213,22 @@ export interface OracleSettings { */ SecurityDbEncryption?: string; + /** + *

                  When set to true, this attribute specifies a parallel load + * when useDirectPathFullLoad is set to Y. This attribute + * also only applies when you use the AWS DMS parallel load + * feature. Note that the target table cannot have any constraints or indexes.

                  + */ + DirectPathParallelLoad?: boolean; + + /** + *

                  Set this attribute to true in order to use the Binary Reader + * to capture change data for an Amazon RDS for Oracle as + * the source. This tells the DMS instance to use any specified + * prefix replacement to access all online redo logs.

                  + */ + UseAlternateFolderForOnline?: boolean; + /** *

                  For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) password. * You can set this value from the @@ -1045,6 +1241,35 @@ export interface OracleSettings { */ AsmPassword?: string; + /** + *

                  When set to true, this attribute causes a task to fail if the + * actual size of an LOB column is greater than the specified + * LobMaxSize.

                  + *

                  If a task is set to limited LOB mode and this option is set to + * true, the task fails instead of truncating the LOB data.

                  + */ + FailTasksOnLobTruncation?: boolean; + + /** + *

                  Specifies whether the length of a character column is in + * bytes or in characters. To indicate that the character column + * length is in characters, set this attribute to CHAR. Otherwise, + * the character column length is in bytes.

                  + *

                  Example: charLengthSemantics=CHAR; + *

                  + */ + CharLengthSemantics?: CharLengthSemantics | string; + + /** + *

                  Set this attribute with archivedLogDestId in a primary/ + * standby setup. This attribute is useful in the case of a + * switchover. In this case, AWS DMS needs to know which + * destination to get archive redo logs from to read changes. + * This need arises because the previous primary instance is + * now a standby instance after switchover.

                  + */ + AdditionalArchivedLogDestId?: number; + /** *

                  For an Oracle source endpoint, your ASM server address. You can set this value from the * asm_server value. You set asm_server as part of the extra @@ -1055,48 +1280,65 @@ export interface OracleSettings { AsmServer?: string; /** - *

                  Fully qualified domain name of the endpoint.

                  + *

                  Database name for the endpoint.

                  */ - ServerName?: string; + DatabaseName?: string; /** - *

                  Endpoint connection user name.

                  + *

                  When set to true, this attribute helps to increase the + * commit rate on the Oracle target database by writing + * directly to tables and not writing a trail to database logs.

                  */ - Username?: string; + DirectPathNoLog?: boolean; /** - *

                  Endpoint TCP port.

                  + *

                  For an Oracle source endpoint, your ASM user name. You can set this value from the + * asm_user value. You set asm_user as part of the extra + * connection attribute string to access an Oracle server with Binary Reader that uses ASM. + * For more information, see Configuration for change data capture (CDC) on an Oracle source + * database.

                  */ - Port?: number; -} + AsmUser?: string; -export namespace OracleSettings { - export const filterSensitiveLog = (obj: OracleSettings): any => ({ - ...obj, - ...(obj.Password && { Password: SENSITIVE_STRING }), - ...(obj.SecurityDbEncryption && { SecurityDbEncryption: SENSITIVE_STRING }), - ...(obj.AsmPassword && { AsmPassword: SENSITIVE_STRING }), - }); -} + /** + *

                  Specifies the number scale. You can select a scale up to 38, + * or you can select FLOAT. By default, the NUMBER data type + * is converted to precision 38, scale 10.

                  + *

                  Example: numberDataTypeScale=12 + *

                  + */ + NumberDatatypeScale?: number; -/** - *

                  Provides information that defines a PostgreSQL endpoint.

                  - */ -export interface PostgreSQLSettings { /** *

                  Endpoint connection user name.

                  */ Username?: string; /** - *

                  Fully qualified domain name of the endpoint.

                  - */ - ServerName?: string; - + *

                  For an Oracle source endpoint, the name of a key used for the transparent data + * encryption (TDE) of the columns and tablespaces in an Oracle source database that is + * encrypted using TDE. The key value is the value of the SecurityDbEncryption + * setting. For more information on setting the key name value of + * SecurityDbEncryptionName, see the information and example for setting the + * securityDbEncryptionName extra connection attribute in Supported encryption methods for using Oracle as a source for AWS + * DMS in the AWS Database Migration Service User + * Guide.

                  + */ + SecurityDbEncryptionName?: string; + /** - *

                  Endpoint connection password.

                  + *

                  When this field is set to Y, AWS DMS only accesses the + * archived redo logs. If the archived redo logs are stored on + * Oracle ASM only, the AWS DMS user account needs to be + * granted ASM privileges.

                  */ - Password?: string; + ArchivedLogsOnly?: boolean; + + /** + *

                  When set to true, this attribute supports tablespace + * replication.

                  + */ + ReadTableSpaceName?: boolean; /** *

                  Endpoint TCP port.

                  @@ -1104,118 +1346,208 @@ export interface PostgreSQLSettings { Port?: number; /** - *

                  Database name for the endpoint.

                  + *

                  Set this attribute to enable homogenous tablespace + * replication and create existing tables or indexes under the + * same tablespace on the target.

                  */ - DatabaseName?: string; + EnableHomogenousTablespace?: boolean; + + /** + *

                  Set this attribute to set up table-level supplemental logging + * for the Oracle database. This attribute enables PRIMARY KEY + * supplemental logging on all tables selected for a migration + * task.

                  + *

                  If you use this option, you still need to enable + * database-level supplemental logging.

                  + */ + AddSupplementalLogging?: boolean; + + /** + *

                  Specifies the destination of the archived redo logs. The + * value should be the same as the DEST_ID number in the + * v$archived_log table. When working with multiple log + * destinations (DEST_ID), we recommend that you to specify + * an archived redo logs location identifier. Doing this improves + * performance by ensuring that the correct logs are accessed + * from the outset.

                  + */ + ArchivedLogDestId?: number; + + /** + *

                  Set this attribute to true in order to use the Binary Reader + * to capture change data for an Amazon RDS for Oracle as the + * source. This setting tells DMS instance to replace the default + * Oracle root with the specified usePathPrefix setting to + * access the redo logs.

                  + */ + ReplacePathPrefix?: boolean; + + /** + *

                  Set this attribute to change the number of threads that + * DMS configures to perform a Change Data Capture (CDC) + * load using Oracle Automatic Storage Management (ASM). + * You can specify an integer value between 2 (the default) + * and 8 (the maximum). Use this attribute together with the + * readAheadBlocks attribute.

                  + */ + ParallelAsmReadThreads?: number; + + /** + *

                  Set this string attribute to the required value in order to use + * the Binary Reader to capture change data for an Amazon + * RDS for Oracle as the source. This value specifies the path + * prefix used to replace the default Oracle root to access the + * redo logs.

                  + */ + UsePathPrefix?: string; + + /** + *

                  Set this attribute to true to enable replication of Oracle + * tables containing columns that are nested tables or defined + * types.

                  + */ + AllowSelectNestedTables?: boolean; } -export namespace PostgreSQLSettings { - export const filterSensitiveLog = (obj: PostgreSQLSettings): any => ({ +export namespace OracleSettings { + export const filterSensitiveLog = (obj: OracleSettings): any => ({ ...obj, ...(obj.Password && { Password: SENSITIVE_STRING }), + ...(obj.SecurityDbEncryption && { SecurityDbEncryption: SENSITIVE_STRING }), + ...(obj.AsmPassword && { AsmPassword: SENSITIVE_STRING }), }); } -export enum EncryptionModeValue { - SSE_KMS = "sse-kms", - SSE_S3 = "sse-s3", -} - /** - *

                  Provides information that defines an Amazon Redshift endpoint.

                  + *

                  Provides information that defines a PostgreSQL endpoint.

                  */ -export interface RedshiftSettings { +export interface PostgreSQLSettings { /** - *

                  A list of characters that you want to replace. Use with - * ReplaceChars.

                  + *

                  Endpoint connection password.

                  */ - ReplaceInvalidChars?: string; + Password?: string; /** - *

                  The time format that you want to use. Valid values are auto - * (case-sensitive), 'timeformat_string', 'epochsecs', or - * 'epochmillisecs'. It defaults to 10. Using auto recognizes - * most strings, even some that aren't supported when you use a time format string.

                  - *

                  If your date and time values use formats different from each other, set this parameter - * to auto.

                  + *

                  Database name for the endpoint.

                  */ - TimeFormat?: string; + DatabaseName?: string; /** - *

                  The location where the comma-separated value (.csv) files are stored before being - * uploaded to the S3 bucket.

                  + *

                  To capture DDL events, AWS DMS creates various artifacts in + * the PostgreSQL database when the task starts. You can later + * remove these artifacts.

                  + *

                  If this value is set to N, you don't have to create tables or + * triggers on the source database.

                  */ - BucketFolder?: string; + CaptureDdls?: boolean; /** - *

                  A value that specifies to remove surrounding quotation marks from strings in the - * incoming data. All characters within the quotation marks, including delimiters, are - * retained. Choose true to remove quotation marks. The default is - * false.

                  + *

                  Sets the name of a previously created logical replication slot + * for a CDC load of the PostgreSQL source instance.

                  + *

                  When used with the AWS DMS API CdcStartPosition + * request parameter, this attribute also enables using native + * CDC start points.

                  */ - RemoveQuotes?: boolean; + SlotName?: string; /** - *

                  The name of the Amazon Redshift data warehouse (service) that you are working - * with.

                  + *

                  The schema in which the operational DDL database artifacts + * are created.

                  + *

                  Example: ddlArtifactsSchema=xyzddlschema; + *

                  */ - DatabaseName?: string; + DdlArtifactsSchema?: string; /** - *

                  A value that specifies to replaces the invalid characters specified in - * ReplaceInvalidChars, substituting the specified characters instead. The - * default is "?".

                  + *

                  Endpoint connection user name.

                  */ - ReplaceChars?: string; + Username?: string; /** - *

                  The AWS KMS key ID. If you are using SSE_KMS for the EncryptionMode, - * provide this key ID. The key that you use needs an attached policy that enables IAM user - * permissions and allows use of the key.

                  + *

                  Endpoint TCP port.

                  */ - ServerSideEncryptionKmsKeyId?: string; + Port?: number; /** - *

                  The name of the S3 bucket you want to use

                  + *

                  Fully qualified domain name of the endpoint.

                  */ - BucketName?: string; + ServerName?: string; /** - *

                  The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift - * service.

                  + *

                  For use with change data capture (CDC) only, this attribute + * has AWS DMS bypass foreign keys and user triggers to + * reduce the time it takes to bulk load data.

                  + *

                  Example: afterConnectScript=SET + * session_replication_role='replica' + *

                  */ - ServiceAccessRoleArn?: string; + AfterConnectScript?: string; /** - *

                  A value that specifies to truncate data in columns to the appropriate number of - * characters, so that the data fits in the column. This parameter applies only to columns - * with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose - * true to truncate data. The default is false.

                  + *

                  Specifies the maximum size (in KB) of any .csv file used to + * transfer data to PostgreSQL.

                  + *

                  Example: maxFileSize=512 + *

                  */ - TruncateColumns?: boolean; + MaxFileSize?: number; /** - *

                  The password for the user named in the username property.

                  + *

                  When set to true, this value causes a task to fail if the + * actual size of a LOB column is greater than the specified + * LobMaxSize.

                  + *

                  If task is set to Limited LOB mode and this option is set to + * true, the task fails instead of truncating the LOB data.

                  */ - Password?: string; + FailTasksOnLobTruncation?: boolean; /** - *

                  The number of threads used to upload a single file. This parameter accepts a value from - * 1 through 64. It defaults to 10.

                  + *

                  Sets the client statement timeout for the PostgreSQL + * instance, in seconds. The default value is 60 seconds.

                  + *

                  Example: executeTimeout=100; + *

                  */ - FileTransferUploadStreams?: number; + ExecuteTimeout?: number; +} +export namespace PostgreSQLSettings { + export const filterSensitiveLog = (obj: PostgreSQLSettings): any => ({ + ...obj, + ...(obj.Password && { Password: SENSITIVE_STRING }), + }); +} + +export enum EncryptionModeValue { + SSE_KMS = "sse-kms", + SSE_S3 = "sse-s3", +} + +/** + *

                  Provides information that defines an Amazon Redshift endpoint.

                  + */ +export interface RedshiftSettings { /** - *

                  A value that sets the amount of time to wait (in milliseconds) before timing out, - * beginning from when you initially establish a connection.

                  + *

                  The type of server-side encryption that you want to use for your data. This encryption + * type is part of the endpoint settings or the extra connections attributes for Amazon S3. + * You can choose either SSE_S3 (the default) or SSE_KMS.

                  + * + *

                  For the ModifyEndpoint operation, you can change the existing value of the + * EncryptionMode parameter from SSE_KMS to + * SSE_S3. But you can’t change the existing value from SSE_S3 + * to SSE_KMS.

                  + *
                  + *

                  To use SSE_S3, create an AWS Identity and Access Management (IAM) role with + * a policy that allows "arn:aws:s3:::*" to use the following actions: + * "s3:PutObject", "s3:ListBucket" + *

                  */ - ConnectionTimeout?: number; + EncryptionMode?: EncryptionModeValue | string; /** - *

                  The size of the write buffer to use in rows. Valid values range from 1 through 2,048. - * The default is 1,024. Use this setting to tune performance.

                  + *

                  A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as + * NULL. A value of true sets empty CHAR and VARCHAR fields to null. The default + * is false.

                  */ - WriteBufferSize?: number; + EmptyAsNull?: boolean; /** *

                  A value that specifies to remove the trailing white space characters from a VARCHAR @@ -1226,21 +1558,28 @@ export interface RedshiftSettings { TrimBlanks?: boolean; /** - *

                  Code to run after connecting. This parameter should contain the code itself, not the - * name of a file containing the code.

                  + *

                  The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer + * data to Amazon Redshift. It defaults to 1048576KB (1 GB).

                  */ - AfterConnectScript?: string; + MaxFileSize?: number; /** - *

                  The maximum size (in KB) of any .csv file used to transfer data to Amazon Redshift. This - * accepts a value from 1 through 1,048,576. It defaults to 32,768 KB (32 MB).

                  + *

                  A value that specifies to truncate data in columns to the appropriate number of + * characters, so that the data fits in the column. This parameter applies only to columns + * with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose + * true to truncate data. The default is false.

                  */ - MaxFileSize?: number; + TruncateColumns?: boolean; /** - *

                  An Amazon Redshift user name for a registered user.

                  + *

                  The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift.

                  */ - Username?: string; + BucketName?: string; + + /** + *

                  The name of the Amazon Redshift cluster you are using.

                  + */ + ServerName?: string; /** *

                  The date format that you are using. Valid values are auto (case-sensitive), @@ -1253,38 +1592,86 @@ export interface RedshiftSettings { DateFormat?: string; /** - *

                  The amount of time to wait (in milliseconds) before timing out, beginning from when you - * begin loading.

                  + *

                  If Amazon Redshift is configured to support case sensitive schema names, set + * CaseSensitiveNames to true. The default is + * false.

                  */ - LoadTimeout?: number; + CaseSensitiveNames?: boolean; /** - *

                  The name of the Amazon Redshift cluster you are using.

                  + *

                  The size (in KB) of the in-memory file write buffer used when generating .csv files + * on the local disk at the DMS replication instance. The default value is 1000 + * (buffer size is 1000KB).

                  */ - ServerName?: string; + WriteBufferSize?: number; /** - *

                  The port number for Amazon Redshift. The default value is 5439.

                  + *

                  The password for the user named in the username property.

                  */ - Port?: number; + Password?: string; /** - *

                  The type of server-side encryption that you want to use for your data. This encryption - * type is part of the endpoint settings or the extra connections attributes for Amazon S3. - * You can choose either SSE_S3 (the default) or SSE_KMS. To use - * SSE_S3, create an AWS Identity and Access Management (IAM) role with a - * policy that allows "arn:aws:s3:::*" to use the following actions: - * "s3:PutObject", "s3:ListBucket" - *

                  + *

                  Code to run after connecting. This parameter should contain the code itself, not the + * name of a file containing the code.

                  */ - EncryptionMode?: EncryptionModeValue | string; + AfterConnectScript?: string; /** - *

                  A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as - * NULL. A value of true sets empty CHAR and VARCHAR fields to null. The default - * is false.

                  + *

                  The time format that you want to use. Valid values are auto + * (case-sensitive), 'timeformat_string', 'epochsecs', or + * 'epochmillisecs'. It defaults to 10. Using auto recognizes + * most strings, even some that aren't supported when you use a time format string.

                  + *

                  If your date and time values use formats different from each other, set this parameter + * to auto.

                  */ - EmptyAsNull?: boolean; + TimeFormat?: string; + + /** + *

                  The name of the Amazon Redshift data warehouse (service) that you are working + * with.

                  + */ + DatabaseName?: string; + + /** + *

                  The AWS KMS key ID. If you are using SSE_KMS for the EncryptionMode, + * provide this key ID. The key that you use needs an attached policy that enables IAM user + * permissions and allows use of the key.

                  + */ + ServerSideEncryptionKmsKeyId?: string; + + /** + *

                  A value that specifies to remove surrounding quotation marks from strings in the + * incoming data. All characters within the quotation marks, including delimiters, are + * retained. Choose true to remove quotation marks. The default is + * false.

                  + */ + RemoveQuotes?: boolean; + + /** + *

                  An Amazon Redshift user name for a registered user.

                  + */ + Username?: string; + + /** + *

                  If you set CompUpdate to true Amazon Redshift applies + * automatic compression if the table is empty. This applies even if the table columns already + * have encodings other than RAW. If you set CompUpdate to + * false, automatic compression is disabled and existing column encodings + * aren't changed. The default is true.

                  + */ + CompUpdate?: boolean; + + /** + *

                  The amount of time to wait (in milliseconds) before timing out of operations performed + * by AWS DMS on a Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE.

                  + */ + LoadTimeout?: number; + + /** + *

                  The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift + * service.

                  + */ + ServiceAccessRoleArn?: string; /** *

                  A value that indicates to allow any date format, including invalid formats such as @@ -1295,6 +1682,64 @@ export interface RedshiftSettings { * specification, Amazon Redshift inserts a NULL value into that field.

                  */ AcceptAnyDate?: boolean; + + /** + *

                  This setting is only valid for a full-load migration task. Set ExplicitIds + * to true to have tables with IDENTITY columns override their + * auto-generated values with explicit values loaded from the source data files used to + * populate the tables. The default is false.

                  + */ + ExplicitIds?: boolean; + + /** + *

                  A value that specifies to replaces the invalid characters specified in + * ReplaceInvalidChars, substituting the specified characters instead. The + * default is "?".

                  + */ + ReplaceChars?: string; + + /** + *

                  An S3 folder where the comma-separated-value (.csv) files are stored before being + * uploaded to the target Redshift cluster.

                  + *

                  For full load mode, AWS DMS converts source records into .csv files and loads them to + * the BucketFolder/TableID path. AWS DMS uses the Redshift + * COPY command to upload the .csv files to the target table. The files are + * deleted once the COPY operation has finished. For more information, see Amazon Redshift Database + * Developer Guide + *

                  + *

                  For change-data-capture (CDC) mode, AWS DMS creates a NetChanges table, + * and loads the .csv files to this BucketFolder/NetChangesTableID path.

                  + */ + BucketFolder?: string; + + /** + *

                  A value that sets the amount of time to wait (in milliseconds) before timing out, + * beginning from when you initially establish a connection.

                  + */ + ConnectionTimeout?: number; + + /** + *

                  The port number for Amazon Redshift. The default value is 5439.

                  + */ + Port?: number; + + /** + *

                  A list of characters that you want to replace. Use with + * ReplaceChars.

                  + */ + ReplaceInvalidChars?: string; + + /** + *

                  The number of threads used to upload a single file. This parameter accepts a value from + * 1 through 64. It defaults to 10.

                  + *

                  The number of parallel streams used to upload a single .csv file to an S3 bucket using + * S3 Multipart Upload. For more information, see Multipart upload + * overview.

                  + *

                  + * FileTransferUploadStreams accepts a value from 1 through 64. It + * defaults to 10.

                  + */ + FileTransferUploadStreams?: number; } export namespace RedshiftSettings { @@ -1314,6 +1759,21 @@ export enum DataFormatValue { PARQUET = "parquet", } +export enum DatePartitionDelimiterValue { + DASH = "DASH", + NONE = "NONE", + SLASH = "SLASH", + UNDERSCORE = "UNDERSCORE", +} + +export enum DatePartitionSequenceValue { + DDMMYYYY = "DDMMYYYY", + MMYYYYDD = "MMYYYYDD", + YYYYMM = "YYYYMM", + YYYYMMDD = "YYYYMMDD", + YYYYMMDDHH = "YYYYMMDDHH", +} + export enum EncodingTypeValue { PLAIN = "plain", PLAIN_DICTIONARY = "plain-dictionary", @@ -1330,75 +1790,30 @@ export enum ParquetVersionValue { */ export interface S3Settings { /** - *

                  A value that when nonblank causes AWS DMS to add a column with timestamp information to - * the endpoint data for an Amazon S3 target.

                  - * - *

                  AWS DMS supports the TimestampColumnName parameter in versions 3.1.4 and later.

                  - *
                  - *

                  DMS includes an additional STRING column in the - * .csv or .parquet object files of your migrated data when you set - * TimestampColumnName to a nonblank value.

                  - *

                  For a full load, each row of this timestamp column contains a - * timestamp for when the data was transferred from the source to - * the target by DMS.

                  - *

                  For a change data capture (CDC) load, each row of the timestamp column contains the - * timestamp for the commit of that row in the source - * database.

                  - *

                  The string format for this timestamp column value is - * yyyy-MM-dd HH:mm:ss.SSSSSS. By default, the - * precision of this value is in microseconds. For a CDC load, the - * rounding of the precision depends on the commit timestamp - * supported by DMS for the source database.

                  - *

                  When the AddColumnName parameter is set to true, DMS also - * includes a name for the timestamp column that you set with - * TimestampColumnName.

                  - */ - TimestampColumnName?: string; - - /** - *

                  An optional parameter to use GZIP to compress the target files. Set to GZIP to compress - * the target files. Either set this parameter to NONE (the default) or don't use it to leave the files uncompressed. - * This parameter applies to both .csv and .parquet file formats.

                  + *

                  The maximum size of an encoded dictionary page of a column. If the dictionary page + * exceeds this, this column is stored using an encoding type of PLAIN. This + * parameter defaults to 1024 * 1024 bytes (1 MiB), the maximum size of a dictionary page + * before it reverts to PLAIN encoding. This size is used for + * .parquet file format only.

                  */ - CompressionType?: CompressionTypeValue | string; + DictPageSizeLimit?: number; /** - *

                  A value that specifies the precision of any TIMESTAMP column values that - * are written to an Amazon S3 object file in .parquet format.

                  - * - *

                  AWS DMS supports the ParquetTimestampInMillisecond parameter in versions - * 3.1.4 and later.

                  - *
                  - *

                  When ParquetTimestampInMillisecond is set to true or - * y, AWS DMS writes all TIMESTAMP columns in a .parquet - * formatted file with millisecond precision. Otherwise, DMS writes them with microsecond - * precision.

                  - *

                  Currently, Amazon Athena and AWS Glue can handle only - * millisecond precision for TIMESTAMP values. Set - * this parameter to true for S3 endpoint object - * files that are .parquet formatted only if you plan to query or process the data with Athena or AWS Glue.

                  - * - * - *

                  AWS DMS writes any TIMESTAMP column - * values written to an S3 file in .csv format with - * microsecond precision.

                  - * - *

                  Setting ParquetTimestampInMillisecond has no effect on the string - * format of the timestamp column value that is inserted by setting the - * TimestampColumnName parameter.

                  - * - *
                  + *

                  Specifies how tables are defined in the S3 source files only.

                  */ - ParquetTimestampInMillisecond?: boolean; + ExternalTableDefinition?: string; /** - *

                  A value that enables statistics for Parquet pages and row groups. Choose - * true to enable statistics, false to disable. Statistics - * include NULL, DISTINCT, MAX, and MIN - * values. This parameter defaults to true. This value is used for - * .parquet file format only.

                  + *

                  If you are using SSE_KMS for the EncryptionMode, provide the + * AWS KMS key ID. The key that you use needs an attached policy that enables AWS Identity and + * Access Management (IAM) user permissions and allows use of the key.

                  + *

                  Here is a CLI example: aws dms create-endpoint --endpoint-identifier + * value --endpoint-type target --engine-name s3 --s3-settings + * ServiceAccessRoleArn=value,BucketFolder=value,BucketName=value,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId=value + * + *

                  */ - EnableStatistics?: boolean; + ServerSideEncryptionKmsKeyId?: string; /** *

                  The format of the data that you want to use for output. You can choose one of the @@ -1419,79 +1834,29 @@ export interface S3Settings { DataFormat?: DataFormatValue | string; /** - *

                  The version of the Apache Parquet format that you want to use: parquet_1_0 - * (the default) or parquet_2_0.

                  - */ - ParquetVersion?: ParquetVersionValue | string; - - /** - *

                  The delimiter used to separate columns in the source files. The default is a comma. + *

                  The delimiter used to separate columns in the .csv file for both source and target. The default is a comma. *

                  */ CsvDelimiter?: string; /** - *

                  An optional parameter to set a folder name in the S3 bucket. If provided, tables are - * created in the path - * - * bucketFolder/schema_name/table_name/. - * If this parameter isn't specified, then the path used is - * - * schema_name/table_name/.

                  - */ - BucketFolder?: string; - - /** - *

                  A value that enables a full load to write INSERT operations to the comma-separated value - * (.csv) output files only to indicate how the rows were added to the source database.

                  - * - *

                  AWS DMS supports the IncludeOpForFullLoad parameter in versions 3.1.4 and - * later.

                  - *
                  - *

                  For full load, records can only be inserted. By default (the false - * setting), no information is recorded in these output files for a full load to indicate that - * the rows were inserted at the source database. If IncludeOpForFullLoad is set - * to true or y, the INSERT is recorded as an I annotation in the - * first field of the .csv file. This allows the format of your target records from a full - * load to be consistent with the target records from a CDC load.

                  - * - *

                  This setting works together with the CdcInsertsOnly and the - * CdcInsertsAndUpdates parameters for output to .csv files only. For more - * information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS - * Database Migration Service User Guide..

                  - *
                  + *

                  The delimiter used to separate rows in the .csv file for both source and target. The default is a carriage + * return (\n).

                  */ - IncludeOpForFullLoad?: boolean; + CsvRowDelimiter?: string; /** - *

                  The type of encoding you are using:

                  - *
                    - *
                  • - *

                    - * RLE_DICTIONARY uses a combination of bit-packing and run-length - * encoding to store repeated values more efficiently. This is the default.

                    - *
                  • - *
                  • - *

                    - * PLAIN doesn't use encoding at all. Values are stored as they - * are.

                    - *
                  • - *
                  • - *

                    - * PLAIN_DICTIONARY builds a dictionary of the values encountered in a - * given column. The dictionary is stored in a dictionary page for each column - * chunk.

                    - *
                  • - *
                  + *

                  The Amazon Resource Name (ARN) used by the service access IAM role. It is a required + * parameter that enables DMS to write and read objects from an 3S bucket.

                  */ - EncodingType?: EncodingTypeValue | string; + ServiceAccessRoleArn?: string; /** *

                  A value that enables a change data capture (CDC) load to write INSERT and UPDATE * operations to .csv or .parquet (columnar storage) output files. The default setting is - * false, but when CdcInsertsAndUpdates is set to - * trueor y, INSERTs and UPDATEs from the - * source database are migrated to the .csv or .parquet file.

                  + * false, but when CdcInsertsAndUpdates is set to + * true or y, only INSERTs and UPDATEs from the source database + * are migrated to the .csv or .parquet file.

                  *

                  For .csv file format only, how these INSERTs and UPDATEs are recorded depends on the * value of the IncludeOpForFullLoad parameter. If * IncludeOpForFullLoad is set to true, the first field of every @@ -1517,101 +1882,72 @@ export interface S3Settings { CdcInsertsAndUpdates?: boolean; /** - *

                  The external table definition.

                  - */ - ExternalTableDefinition?: string; - - /** - *

                  If you are using SSE_KMS for the EncryptionMode, provide the - * AWS KMS key ID. The key that you use needs an attached policy that enables AWS Identity and - * Access Management (IAM) user permissions and allows use of the key.

                  - *

                  Here is a CLI example: aws dms create-endpoint --endpoint-identifier - * value --endpoint-type target --engine-name s3 --s3-settings - * ServiceAccessRoleArn=value,BucketFolder=value,BucketName=value,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId=value - * - *

                  - */ - ServerSideEncryptionKmsKeyId?: string; - - /** - *

                  The name of the S3 bucket.

                  - */ - BucketName?: string; - - /** - *

                  The size of one data page in bytes. This parameter defaults to 1024 * 1024 bytes (1 MiB). - * This number is used for .parquet file format only.

                  + *

                  A value that enables statistics for Parquet pages and row groups. Choose + * true to enable statistics, false to disable. Statistics + * include NULL, DISTINCT, MAX, and MIN + * values. This parameter defaults to true. This value is used for + * .parquet file format only.

                  */ - DataPageSize?: number; + EnableStatistics?: boolean; /** - *

                  The Amazon Resource Name (ARN) used by the service access IAM role.

                  + *

                  An optional parameter to set a folder name in the S3 bucket. If provided, tables are + * created in the path + * + * bucketFolder/schema_name/table_name/. + * If this parameter isn't specified, then the path used is + * + * schema_name/table_name/.

                  */ - ServiceAccessRoleArn?: string; + BucketFolder?: string; /** - *

                  A value that enables a change data capture (CDC) load to write only INSERT operations to - * .csv or columnar storage (.parquet) output files. By default (the - * false setting), the first field in a .csv or .parquet record contains the - * letter I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether the row was - * inserted, updated, or deleted at the source database for a CDC load to the target.

                  - *

                  If CdcInsertsOnly is set to true or y, only - * INSERTs from the source database are migrated to the .csv or .parquet file. For .csv format - * only, how these INSERTs are recorded depends on the value of - * IncludeOpForFullLoad. If IncludeOpForFullLoad is set to - * true, the first field of every CDC record is set to I to indicate the - * INSERT operation at the source. If IncludeOpForFullLoad is set to - * false, every CDC record is written without a first field to indicate the - * INSERT operation at the source. For more information about how these settings work - * together, see Indicating Source DB Operations in Migrated S3 Data in the AWS - * Database Migration Service User Guide..

                  - * + *

                  A value that specifies the precision of any TIMESTAMP column values that + * are written to an Amazon S3 object file in .parquet format.

                  + * + *

                  AWS DMS supports the ParquetTimestampInMillisecond parameter in versions + * 3.1.4 and later.

                  + *
                  + *

                  When ParquetTimestampInMillisecond is set to true or + * y, AWS DMS writes all TIMESTAMP columns in a .parquet + * formatted file with millisecond precision. Otherwise, DMS writes them with microsecond + * precision.

                  + *

                  Currently, Amazon Athena and AWS Glue can handle only + * millisecond precision for TIMESTAMP values. Set + * this parameter to true for S3 endpoint object + * files that are .parquet formatted only if you plan to query or process the data with Athena or AWS Glue.

                  * * - *

                  AWS DMS supports the interaction described preceding between the - * CdcInsertsOnly and IncludeOpForFullLoad parameters in - * versions 3.1.4 and later.

                  - * - *

                  - * CdcInsertsOnly and CdcInsertsAndUpdates can't - * both be set to true for the same endpoint. Set either - * CdcInsertsOnly or CdcInsertsAndUpdates to true - * for the same endpoint, but not both.

                  + *

                  AWS DMS writes any TIMESTAMP column + * values written to an S3 file in .csv format with + * microsecond precision.

                  * - *
                  - */ - CdcInsertsOnly?: boolean; - - /** - *

                  The maximum size of an encoded dictionary page of a column. If the dictionary page - * exceeds this, this column is stored using an encoding type of PLAIN. This - * parameter defaults to 1024 * 1024 bytes (1 MiB), the maximum size of a dictionary page - * before it reverts to PLAIN encoding. This size is used for - * .parquet file format only.

                  - */ - DictPageSizeLimit?: number; - - /** - *

                  The delimiter used to separate rows in the source files. The default is a carriage - * return (\n).

                  + *

                  Setting ParquetTimestampInMillisecond has no effect on the string + * format of the timestamp column value that is inserted by setting the + * TimestampColumnName parameter.

                  + * + * */ - CsvRowDelimiter?: string; + ParquetTimestampInMillisecond?: boolean; /** - *

                  The number of rows in a row group. A smaller row group size provides faster reads. But - * as the number of row groups grows, the slower writes become. This parameter defaults to - * 10,000 rows. This number is used for .parquet file format only.

                  - *

                  If you choose a value larger than the maximum, RowGroupLength is set to the - * max row group length in bytes (64 * 1024 * 1024).

                  + *

                  The name of the S3 bucket.

                  */ - RowGroupLength?: number; + BucketName?: string; /** *

                  The type of server-side encryption that you want to use for your data. This encryption * type is part of the endpoint settings or the extra connections attributes for Amazon S3. - * You can choose either SSE_S3 (the default) or SSE_KMS. To use - * SSE_S3, you need an AWS Identity and Access Management (IAM) role with - * permission to allow "arn:aws:s3:::dms-*" to use the following actions:

                  + * You can choose either SSE_S3 (the default) or SSE_KMS.

                  + * + *

                  For the ModifyEndpoint operation, you can change the existing value of + * the EncryptionMode parameter from SSE_KMS to + * SSE_S3. But you can’t change the existing value from SSE_S3 + * to SSE_KMS.

                  + *
                  + *

                  To use SSE_S3, you need an AWS Identity and Access Management (IAM) role + * with permission to allow "arn:aws:s3:::dms-*" to use the following + * actions:

                  *
                    *
                  • *

                    @@ -1671,6 +2007,158 @@ export interface S3Settings { *

                  */ EncryptionMode?: EncryptionModeValue | string; + + /** + *

                  When set to true, this parameter partitions S3 bucket folders based on transaction commit + * dates. The default value is false. For more information about date-based folder partitoning, + * see Using date-based folder partitioning + *

                  + */ + DatePartitionEnabled?: boolean; + + /** + *

                  The number of rows in a row group. A smaller row group size provides faster reads. But + * as the number of row groups grows, the slower writes become. This parameter defaults to + * 10,000 rows. This number is used for .parquet file format only.

                  + *

                  If you choose a value larger than the maximum, RowGroupLength is set to the + * max row group length in bytes (64 * 1024 * 1024).

                  + */ + RowGroupLength?: number; + + /** + *

                  An optional parameter to use GZIP to compress the target files. Set to GZIP to compress + * the target files. Either set this parameter to NONE (the default) or don't use it to leave the files uncompressed. + * This parameter applies to both .csv and .parquet file formats.

                  + */ + CompressionType?: CompressionTypeValue | string; + + /** + *

                  A value that enables a change data capture (CDC) load to write only INSERT operations to + * .csv or columnar storage (.parquet) output files. By default (the + * false setting), the first field in a .csv or .parquet record contains the + * letter I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether the row was + * inserted, updated, or deleted at the source database for a CDC load to the target.

                  + *

                  If CdcInsertsOnly is set to true or y, only + * INSERTs from the source database are migrated to the .csv or .parquet file. For .csv format + * only, how these INSERTs are recorded depends on the value of + * IncludeOpForFullLoad. If IncludeOpForFullLoad is set to + * true, the first field of every CDC record is set to I to indicate the + * INSERT operation at the source. If IncludeOpForFullLoad is set to + * false, every CDC record is written without a first field to indicate the + * INSERT operation at the source. For more information about how these settings work + * together, see Indicating Source DB Operations in Migrated S3 Data in the AWS + * Database Migration Service User Guide..

                  + * + * + * + *

                  AWS DMS supports the interaction described preceding between the + * CdcInsertsOnly and IncludeOpForFullLoad parameters in + * versions 3.1.4 and later.

                  + * + *

                  + * CdcInsertsOnly and CdcInsertsAndUpdates can't + * both be set to true for the same endpoint. Set either + * CdcInsertsOnly or CdcInsertsAndUpdates to true + * for the same endpoint, but not both.

                  + * + *
                  + */ + CdcInsertsOnly?: boolean; + + /** + *

                  Specifies a date separating delimiter to use during folder partitioning. The default value is + * SLASH. Use this parameter when DatePartitionedEnabled is set to true.

                  + */ + DatePartitionDelimiter?: DatePartitionDelimiterValue | string; + + /** + *

                  The version of the Apache Parquet format that you want to use: parquet_1_0 + * (the default) or parquet_2_0.

                  + */ + ParquetVersion?: ParquetVersionValue | string; + + /** + *

                  A value that when nonblank causes AWS DMS to add a column with timestamp information to + * the endpoint data for an Amazon S3 target.

                  + * + *

                  AWS DMS supports the TimestampColumnName parameter in versions 3.1.4 and later.

                  + *
                  + *

                  DMS includes an additional STRING column in the + * .csv or .parquet object files of your migrated data when you set + * TimestampColumnName to a nonblank value.

                  + *

                  For a full load, each row of this timestamp column contains a + * timestamp for when the data was transferred from the source to + * the target by DMS.

                  + *

                  For a change data capture (CDC) load, each row of the timestamp column contains the + * timestamp for the commit of that row in the source + * database.

                  + *

                  The string format for this timestamp column value is + * yyyy-MM-dd HH:mm:ss.SSSSSS. By default, the + * precision of this value is in microseconds. For a CDC load, the + * rounding of the precision depends on the commit timestamp + * supported by DMS for the source database.

                  + *

                  When the AddColumnName parameter is set to true, DMS also + * includes a name for the timestamp column that you set with + * TimestampColumnName.

                  + */ + TimestampColumnName?: string; + + /** + *

                  The size of one data page in bytes. This parameter defaults to 1024 * 1024 bytes (1 MiB). + * This number is used for .parquet file format only.

                  + */ + DataPageSize?: number; + + /** + *

                  A value that enables a full load to write INSERT operations to the comma-separated value + * (.csv) output files only to indicate how the rows were added to the source database.

                  + * + *

                  AWS DMS supports the IncludeOpForFullLoad parameter in versions 3.1.4 and + * later.

                  + *
                  + *

                  For full load, records can only be inserted. By default (the false + * setting), no information is recorded in these output files for a full load to indicate that + * the rows were inserted at the source database. If IncludeOpForFullLoad is set + * to true or y, the INSERT is recorded as an I annotation in the + * first field of the .csv file. This allows the format of your target records from a full + * load to be consistent with the target records from a CDC load.

                  + * + *

                  This setting works together with the CdcInsertsOnly and the + * CdcInsertsAndUpdates parameters for output to .csv files only. For more + * information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS + * Database Migration Service User Guide..

                  + *
                  + */ + IncludeOpForFullLoad?: boolean; + + /** + *

                  Identifies the sequence of the date format to use during folder partitioning. The default value is + * YYYYMMDD. Use this parameter when DatePartitionedEnabled is set to true.

                  + */ + DatePartitionSequence?: DatePartitionSequenceValue | string; + + /** + *

                  The type of encoding you are using:

                  + *
                    + *
                  • + *

                    + * RLE_DICTIONARY uses a combination of bit-packing and run-length + * encoding to store repeated values more efficiently. This is the default.

                    + *
                  • + *
                  • + *

                    + * PLAIN doesn't use encoding at all. Values are stored as they + * are.

                    + *
                  • + *
                  • + *

                    + * PLAIN_DICTIONARY builds a dictionary of the values encountered in a + * given column. The dictionary is stored in a dictionary page for each column + * chunk.

                    + *
                  • + *
                  + */ + EncodingType?: EncodingTypeValue | string; } export namespace S3Settings { @@ -1691,9 +2179,9 @@ export enum DmsSslModeValue { */ export interface SybaseSettings { /** - *

                  Endpoint TCP port.

                  + *

                  Endpoint connection password.

                  */ - Port?: number; + Password?: string; /** *

                  Database name for the endpoint.

                  @@ -1701,19 +2189,19 @@ export interface SybaseSettings { DatabaseName?: string; /** - *

                  Endpoint connection user name.

                  + *

                  Fully qualified domain name of the endpoint.

                  */ - Username?: string; + ServerName?: string; /** - *

                  Fully qualified domain name of the endpoint.

                  + *

                  Endpoint TCP port.

                  */ - ServerName?: string; + Port?: number; /** - *

                  Endpoint connection password.

                  + *

                  Endpoint connection user name.

                  */ - Password?: string; + Username?: string; } export namespace SybaseSettings { @@ -1728,149 +2216,110 @@ export namespace SybaseSettings { */ export interface CreateEndpointMessage { /** - *

                  Provides information that defines an Amazon Redshift endpoint.

                  - */ - RedshiftSettings?: RedshiftSettings; - - /** - *

                  One or more tags to be assigned to the endpoint.

                  + *

                  The port used by the endpoint database.

                  */ - Tags?: Tag[]; + Port?: number; /** - *

                  The name of the server where the endpoint database resides.

                  + *

                  The database endpoint identifier. Identifiers must begin with a letter and must contain + * only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two + * consecutive hyphens.

                  */ - ServerName?: string; + EndpointIdentifier: string | undefined; /** - *

                  Additional attributes associated with the connection. Each attribute is specified as a - * name-value pair associated by an equal sign (=). Multiple attributes are separated by a - * semicolon (;) with no additional white space. For information on the attributes available - * for connecting your source or target endpoint, see Working with - * AWS DMS Endpoints in the AWS Database Migration Service User + *

                  Settings in JSON format for the target Apache Kafka endpoint. For more information about + * the available settings, see Using Apache Kafka as a Target for + * AWS Database Migration Service in the AWS Database Migration Service User * Guide. *

                  */ - ExtraConnectionAttributes?: string; - - /** - *

                  Settings in JSON format for the source MongoDB endpoint. For more information about the - * available settings, see Using MongoDB as a Target for AWS Database Migration Service in the - * AWS Database Migration Service User Guide. - *

                  - */ - MongoDbSettings?: MongoDbSettings; - - /** - *

                  The Amazon Resource Name (ARN) for the certificate.

                  - */ - CertificateArn?: string; - - /** - *

                  The password to be used to log in to the endpoint database.

                  - */ - Password?: string; - - /** - *

                  Settings in JSON format for the source and target SAP ASE endpoint. For information - * about other available settings, see Extra connection attributes - * when using SAP ASE as a source for AWS DMS and Extra connection attributes - * when using SAP ASE as a target for AWS DMS in the AWS Database - * Migration Service User Guide. - *

                  - */ - SybaseSettings?: SybaseSettings; - - /** - *

                  An AWS KMS key identifier that is used to encrypt the connection parameters for the endpoint.

                  - *

                  If you don't specify a value for the KmsKeyId parameter, then - * AWS DMS uses your default encryption key.

                  - *

                  AWS KMS creates the default encryption key for your AWS account. Your AWS account has a - * different default encryption key for each AWS Region.

                  - */ - KmsKeyId?: string; - - /** - *

                  The name of the endpoint database.

                  - */ - DatabaseName?: string; - - /** - *

                  The type of engine for the endpoint. Valid values, depending on the - * EndpointType value, include "mysql", "oracle", - * "postgres", "mariadb", "aurora", - * "aurora-postgresql", "redshift", "s3", - * "db2", "azuredb", "sybase", "dynamodb", "mongodb", - * "kinesis", "kafka", "elasticsearch", "documentdb", - * "sqlserver", and "neptune".

                  - */ - EngineName: string | undefined; + KafkaSettings?: KafkaSettings; /** - *

                  Settings in JSON format for the target Elasticsearch endpoint. For more information - * about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in - * the AWS Database Migration Service User Guide.

                  + *

                  The Amazon Resource Name (ARN) for the service access role that you want to use to + * create the endpoint.

                  */ - ElasticsearchSettings?: ElasticsearchSettings; + ServiceAccessRoleArn?: string; /** - *

                  Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other - * available settings, see Using Object Mapping to Migrate - * Data to DynamoDB in the AWS Database Migration Service User - * Guide. + *

                  Settings in JSON format for the source and target SAP ASE endpoint. For information + * about other available settings, see Extra connection attributes + * when using SAP ASE as a source for AWS DMS and Extra connection attributes + * when using SAP ASE as a target for AWS DMS in the AWS Database + * Migration Service User Guide. *

                  */ - DynamoDbSettings?: DynamoDbSettings; + SybaseSettings?: SybaseSettings; /** - *

                  The user name to be used to log in to the endpoint database.

                  + *

                  The type of endpoint. Valid values are source and target.

                  */ - Username?: string; + EndpointType: ReplicationEndpointTypeValue | string | undefined; /** - *

                  Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For - * more information about the available settings, see Using Amazon Kinesis Data Streams - * as a Target for AWS Database Migration Service in the AWS Database Migration Service User - * Guide. + *

                  The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none *

                  */ - KinesisSettings?: KinesisSettings; + SslMode?: DmsSslModeValue | string; /** - *

                  The external table definition.

                  + *

                  Settings in JSON format for the source and target Oracle endpoint. For information about + * other available settings, see Extra connection attributes + * when using Oracle as a source for AWS DMS and + * + * Extra connection attributes when using Oracle as a target for AWS DMS + * in the AWS Database Migration Service User Guide. + *

                  */ - ExternalTableDefinition?: string; + OracleSettings?: OracleSettings; /** *

                  Settings in JSON format for the source and target MySQL endpoint. For information about - * other available settings, see Extra connection attributes - * when using MySQL as a source for AWS DMS and Extra connection attributes when using a MySQL-compatible database as a target for AWS DMS in + * other available settings, see Extra connection attributes + * when using MySQL as a source for AWS DMS and Extra connection attributes when using a MySQL-compatible database as a target for AWS DMS in * the AWS Database Migration Service User Guide. *

                  */ MySQLSettings?: MySQLSettings; /** - *

                  The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none + *

                  Settings in JSON format for the target Amazon S3 endpoint. For more information about + * the available settings, see Extra + * Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the + * AWS Database Migration Service User Guide. *

                  */ - SslMode?: DmsSslModeValue | string; + S3Settings?: S3Settings; /** - *

                  The type of endpoint. Valid values are source and target.

                  + *

                  Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other + * available settings, see Extra connection attributes + * when using Db2 LUW as a source for AWS DMS in the AWS Database + * Migration Service User Guide. + *

                  */ - EndpointType: ReplicationEndpointTypeValue | string | undefined; + IBMDb2Settings?: IBMDb2Settings; /** - *

                  The Amazon Resource Name (ARN) for the service access role that you want to use to - * create the endpoint.

                  + *

                  Settings in JSON format for the source and target Microsoft SQL Server endpoint. For + * information about other available settings, see Extra connection + * attributes when using SQL Server as a source for AWS DMS and + * Extra connection attributes when using SQL Server as a target for AWS DMS in the + * AWS Database Migration Service User Guide. + *

                  */ - ServiceAccessRoleArn?: string; + MicrosoftSQLServerSettings?: MicrosoftSQLServerSettings; + + /** + *

                  The Amazon Resource Name (ARN) for the certificate.

                  + */ + CertificateArn?: string; /** *

                  Settings in JSON format for the source and target PostgreSQL endpoint. For information - * about other available settings, see Extra connection - * attributes when using PostgreSQL as a source for AWS DMS and + * about other available settings, see Extra connection + * attributes when using PostgreSQL as a source for AWS DMS and * Extra connection attributes when using PostgreSQL as a target for AWS DMS in the * AWS Database Migration Service User Guide. *

                  @@ -1878,55 +2327,55 @@ export interface CreateEndpointMessage { PostgreSQLSettings?: PostgreSQLSettings; /** - *

                  The database endpoint identifier. Identifiers must begin with a letter and must contain only - * ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two - * consecutive hyphens.

                  + *

                  The type of engine for the endpoint. Valid values, depending on the + * EndpointType value, include "mysql", "oracle", + * "postgres", "mariadb", "aurora", + * "aurora-postgresql", "redshift", "s3", + * "db2", "azuredb", "sybase", "dynamodb", "mongodb", + * "kinesis", "kafka", "elasticsearch", "docdb", + * "sqlserver", and "neptune".

                  */ - EndpointIdentifier: string | undefined; + EngineName: string | undefined; /** - *

                  Settings in JSON format for the source and target Microsoft SQL Server endpoint. For - * information about other available settings, see Extra connection - * attributes when using SQL Server as a source for AWS DMS and - * Extra connection attributes when using SQL Server as a target for AWS DMS in the - * AWS Database Migration Service User Guide. + *

                  Additional attributes associated with the connection. Each attribute is specified as a + * name-value pair associated by an equal sign (=). Multiple attributes are separated by a + * semicolon (;) with no additional white space. For information on the attributes available + * for connecting your source or target endpoint, see Working with + * AWS DMS Endpoints in the AWS Database Migration Service User + * Guide. *

                  */ - MicrosoftSQLServerSettings?: MicrosoftSQLServerSettings; + ExtraConnectionAttributes?: string; /** - *

                  Settings in JSON format for the source and target Oracle endpoint. For information about - * other available settings, see Extra connection attributes - * when using Oracle as a source for AWS DMS and - * - * Extra connection attributes when using Oracle as a target for AWS DMS - * in the AWS Database Migration Service User Guide. - *

                  + *

                  The external table definition.

                  */ - OracleSettings?: OracleSettings; + ExternalTableDefinition?: string; /** - *

                  Settings in JSON format for the target Apache Kafka endpoint. For more information about - * the available settings, see Using Apache Kafka as a Target for - * AWS Database Migration Service in the AWS Database Migration Service User - * Guide. - *

                  + *

                  The user name to be used to log in to the endpoint database.

                  */ - KafkaSettings?: KafkaSettings; + Username?: string; /** - *

                  The port used by the endpoint database.

                  + *

                  An AWS KMS key identifier that is used to encrypt the connection parameters for the endpoint.

                  + *

                  If you don't specify a value for the KmsKeyId parameter, then + * AWS DMS uses your default encryption key.

                  + *

                  AWS KMS creates the default encryption key for your AWS account. Your AWS account has a + * different default encryption key for each AWS Region.

                  */ - Port?: number; + KmsKeyId?: string; /** - *

                  Settings in JSON format for the target Amazon Neptune endpoint. - * For more information - * about the available settings, see Specifying Endpoint Settings for Amazon Neptune as a Target - * in the AWS Database Migration Service User Guide. - *

                  + *

                  The name of the endpoint database.

                  */ - NeptuneSettings?: NeptuneSettings; + DatabaseName?: string; + + /** + *

                  The name of the server where the endpoint database resides.

                  + */ + ServerName?: string; /** *

                  The settings in JSON format for the DMS transfer type of source endpoint.

                  @@ -1958,40 +2407,92 @@ export interface CreateEndpointMessage { DmsTransferSettings?: DmsTransferSettings; /** - *

                  Settings in JSON format for the target Amazon S3 endpoint. For more information about - * the available settings, see Extra - * Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the + *

                  Settings in JSON format for the target Elasticsearch endpoint. For more information + * about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in + * the AWS Database Migration Service User Guide.

                  + */ + ElasticsearchSettings?: ElasticsearchSettings; + + /** + *

                  Settings in JSON format for the target Amazon Neptune endpoint. + * For more information + * about the available settings, see Specifying Endpoint Settings for Amazon Neptune as a Target + * in the AWS Database Migration Service User Guide. + *

                  + */ + NeptuneSettings?: NeptuneSettings; + + /** + *

                  Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other + * available settings, see Using Object Mapping to Migrate + * Data to DynamoDB in the AWS Database Migration Service User + * Guide. + *

                  + */ + DynamoDbSettings?: DynamoDbSettings; + + /** + *

                  Settings in JSON format for the source MongoDB endpoint. For more information about the + * available settings, see Using MongoDB as a Target for AWS Database Migration Service in the * AWS Database Migration Service User Guide. *

                  */ - S3Settings?: S3Settings; + MongoDbSettings?: MongoDbSettings; /** - *

                  Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other - * available settings, see Extra connection attributes - * when using Db2 LUW as a source for AWS DMS in the AWS Database - * Migration Service User Guide. + *

                  Provides information that defines an Amazon Redshift endpoint.

                  + */ + RedshiftSettings?: RedshiftSettings; + + /** + *

                  Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For + * more information about the available settings, see Using Amazon Kinesis Data Streams + * as a Target for AWS Database Migration Service in the AWS Database Migration Service User + * Guide. *

                  */ - IBMDb2Settings?: IBMDb2Settings; + KinesisSettings?: KinesisSettings; + + /** + *

                  One or more tags to be assigned to the endpoint.

                  + */ + Tags?: Tag[]; + + /** + *

                  The password to be used to log in to the endpoint database.

                  + */ + Password?: string; + + /** + *

                  A friendly name for the resource identifier at the end of the EndpointArn + * response parameter that is returned in the created Endpoint object. The value + * for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, + * and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, + * and can only begin with a letter, such as Example-App-ARN1. For example, this + * value might result in the EndpointArn value + * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't + * specify a ResourceIdentifier value, AWS DMS generates a default identifier + * value for the end of EndpointArn.

                  + */ + ResourceIdentifier?: string; } export namespace CreateEndpointMessage { export const filterSensitiveLog = (obj: CreateEndpointMessage): any => ({ ...obj, - ...(obj.RedshiftSettings && { RedshiftSettings: RedshiftSettings.filterSensitiveLog(obj.RedshiftSettings) }), - ...(obj.MongoDbSettings && { MongoDbSettings: MongoDbSettings.filterSensitiveLog(obj.MongoDbSettings) }), - ...(obj.Password && { Password: SENSITIVE_STRING }), ...(obj.SybaseSettings && { SybaseSettings: SybaseSettings.filterSensitiveLog(obj.SybaseSettings) }), + ...(obj.OracleSettings && { OracleSettings: OracleSettings.filterSensitiveLog(obj.OracleSettings) }), ...(obj.MySQLSettings && { MySQLSettings: MySQLSettings.filterSensitiveLog(obj.MySQLSettings) }), - ...(obj.PostgreSQLSettings && { - PostgreSQLSettings: PostgreSQLSettings.filterSensitiveLog(obj.PostgreSQLSettings), - }), + ...(obj.IBMDb2Settings && { IBMDb2Settings: IBMDb2Settings.filterSensitiveLog(obj.IBMDb2Settings) }), ...(obj.MicrosoftSQLServerSettings && { MicrosoftSQLServerSettings: MicrosoftSQLServerSettings.filterSensitiveLog(obj.MicrosoftSQLServerSettings), }), - ...(obj.OracleSettings && { OracleSettings: OracleSettings.filterSensitiveLog(obj.OracleSettings) }), - ...(obj.IBMDb2Settings && { IBMDb2Settings: IBMDb2Settings.filterSensitiveLog(obj.IBMDb2Settings) }), + ...(obj.PostgreSQLSettings && { + PostgreSQLSettings: PostgreSQLSettings.filterSensitiveLog(obj.PostgreSQLSettings), + }), + ...(obj.MongoDbSettings && { MongoDbSettings: MongoDbSettings.filterSensitiveLog(obj.MongoDbSettings) }), + ...(obj.RedshiftSettings && { RedshiftSettings: RedshiftSettings.filterSensitiveLog(obj.RedshiftSettings) }), + ...(obj.Password && { Password: SENSITIVE_STRING }), }); } @@ -2023,27 +2524,45 @@ export namespace CreateEndpointMessage { */ export interface Endpoint { /** - *

                  The database engine name. Valid values, depending on the EndpointType, include - * "mysql", "oracle", "postgres", - * "mariadb", "aurora", "aurora-postgresql", - * "redshift", "s3", "db2", "azuredb", - * "sybase", "dynamodb", "mongodb", - * "kinesis", "kafka", "elasticsearch", - * "documentdb", "sqlserver", and "neptune".

                  + *

                  The name of the database at the endpoint.

                  */ - EngineName?: string; + DatabaseName?: string; /** - *

                  The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                  + *

                  The name of the server at the endpoint.

                  */ - EndpointArn?: string; + ServerName?: string; /** - *

                  Value returned by a call to CreateEndpoint that can be used for cross-account - * validation. Use it on a subsequent call to CreateEndpoint to create the endpoint with a - * cross-account.

                  + *

                  The settings for the Elasticsearch source endpoint. For more information, see the + * ElasticsearchSettings structure.

                  */ - ExternalId?: string; + ElasticsearchSettings?: ElasticsearchSettings; + + /** + *

                  Settings for the Amazon Redshift endpoint.

                  + */ + RedshiftSettings?: RedshiftSettings; + + /** + *

                  Additional connection attributes used to connect to the endpoint.

                  + */ + ExtraConnectionAttributes?: string; + + /** + *

                  An AWS KMS key identifier that is used to encrypt the connection parameters for the endpoint.

                  + *

                  If you don't specify a value for the KmsKeyId parameter, then + * AWS DMS uses your default encryption key.

                  + *

                  AWS KMS creates the default encryption key for your AWS account. Your AWS account has a + * different default encryption key for each AWS Region.

                  + */ + KmsKeyId?: string; + + /** + *

                  The settings for the Amazon Neptune target endpoint. For more information, see the + * NeptuneSettings structure.

                  + */ + NeptuneSettings?: NeptuneSettings; /** *

                  The settings in JSON format for the DMS transfer type of source endpoint.

                  @@ -2074,32 +2593,15 @@ export interface Endpoint { */ DmsTransferSettings?: DmsTransferSettings; - /** - *

                  The SSL mode used to connect to the endpoint. The default value is none.

                  - */ - SslMode?: DmsSslModeValue | string; - - /** - *

                  The type of endpoint. Valid values are source and target.

                  - */ - EndpointType?: ReplicationEndpointTypeValue | string; - - /** - *

                  The settings for the PostgreSQL source and target endpoint. For more information, see - * the PostgreSQLSettings structure.

                  - */ - PostgreSQLSettings?: PostgreSQLSettings; - /** *

                  The status of the endpoint.

                  */ Status?: string; /** - *

                  The settings for the Amazon Kinesis target endpoint. For more information, see the - * KinesisSettings structure.

                  + *

                  The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

                  */ - KinesisSettings?: KinesisSettings; + CertificateArn?: string; /** *

                  The database endpoint identifier. Identifiers must begin with a letter and must contain @@ -2109,148 +2611,147 @@ export interface Endpoint { EndpointIdentifier?: string; /** - *

                  An AWS KMS key identifier that is used to encrypt the connection parameters for the endpoint.

                  - *

                  If you don't specify a value for the KmsKeyId parameter, then - * AWS DMS uses your default encryption key.

                  - *

                  AWS KMS creates the default encryption key for your AWS account. Your AWS account has a - * different default encryption key for each AWS Region.

                  - */ - KmsKeyId?: string; - - /** - *

                  Additional connection attributes used to connect to the endpoint.

                  + *

                  The settings for the Oracle source and target endpoint. For more information, see the + * OracleSettings structure.

                  */ - ExtraConnectionAttributes?: string; + OracleSettings?: OracleSettings; /** - *

                  The user name used to connect to the endpoint.

                  + *

                  The settings for the PostgreSQL source and target endpoint. For more information, see + * the PostgreSQLSettings structure.

                  */ - Username?: string; + PostgreSQLSettings?: PostgreSQLSettings; /** - *

                  The external table definition.

                  + *

                  The type of endpoint. Valid values are source and target.

                  */ - ExternalTableDefinition?: string; + EndpointType?: ReplicationEndpointTypeValue | string; /** - *

                  The settings for the DynamoDB target endpoint. For more information, see the - * DynamoDBSettings structure.

                  + *

                  The settings for the Apache Kafka target endpoint. For more information, see the + * KafkaSettings structure.

                  */ - DynamoDbSettings?: DynamoDbSettings; + KafkaSettings?: KafkaSettings; /** - *

                  The settings for the SAP ASE source and target endpoint. For more information, see the - * SybaseSettings structure.

                  + *

                  The SSL mode used to connect to the endpoint. The default value is none.

                  */ - SybaseSettings?: SybaseSettings; + SslMode?: DmsSslModeValue | string; /** - *

                  The name of the database at the endpoint.

                  + *

                  The settings for the IBM Db2 LUW source endpoint. For more information, see the + * IBMDb2Settings structure. + *

                  */ - DatabaseName?: string; + IBMDb2Settings?: IBMDb2Settings; /** - *

                  The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

                  + *

                  The port value used to access the endpoint.

                  */ - CertificateArn?: string; + Port?: number; /** - *

                  The settings for the MongoDB source endpoint. For more information, see the - * MongoDbSettings structure.

                  + *

                  The expanded name for the engine name. For example, if the EngineName + * parameter is "aurora," this value would be "Amazon Aurora MySQL."

                  */ - MongoDbSettings?: MongoDbSettings; + EngineDisplayName?: string; /** - *

                  The name of the server at the endpoint.

                  + *

                  The external table definition.

                  */ - ServerName?: string; + ExternalTableDefinition?: string; /** - *

                  The settings for the Elasticsearch source endpoint. For more information, see the - * ElasticsearchSettings structure.

                  + *

                  The user name used to connect to the endpoint.

                  */ - ElasticsearchSettings?: ElasticsearchSettings; + Username?: string; /** - *

                  The settings for the Oracle source and target endpoint. For more information, see the - * OracleSettings structure.

                  + *

                  The settings for the SAP ASE source and target endpoint. For more information, see the + * SybaseSettings structure.

                  */ - OracleSettings?: OracleSettings; + SybaseSettings?: SybaseSettings; /** - *

                  The port value used to access the endpoint.

                  + *

                  The settings for the Microsoft SQL Server source and target endpoint. For more + * information, see the MicrosoftSQLServerSettings structure.

                  */ - Port?: number; + MicrosoftSQLServerSettings?: MicrosoftSQLServerSettings; /** - *

                  The settings for the Apache Kafka target endpoint. For more information, see the - * KafkaSettings structure.

                  + *

                  The settings for the MySQL source and target endpoint. For more information, see the + * MySQLSettings structure.

                  */ - KafkaSettings?: KafkaSettings; + MySQLSettings?: MySQLSettings; /** - *

                  The Amazon Resource Name (ARN) used by the service access IAM role.

                  + *

                  The settings for the S3 target endpoint. For more information, see the + * S3Settings structure.

                  */ - ServiceAccessRoleArn?: string; + S3Settings?: S3Settings; /** - *

                  The expanded name for the engine name. For example, if the EngineName - * parameter is "aurora," this value would be "Amazon Aurora MySQL."

                  + *

                  The database engine name. Valid values, depending on the EndpointType, include + * "mysql", "oracle", "postgres", + * "mariadb", "aurora", "aurora-postgresql", + * "redshift", "s3", "db2", "azuredb", + * "sybase", "dynamodb", "mongodb", + * "kinesis", "kafka", "elasticsearch", + * "documentdb", "sqlserver", and "neptune".

                  */ - EngineDisplayName?: string; + EngineName?: string; /** - *

                  The settings for the Microsoft SQL Server source and target endpoint. For more - * information, see the MicrosoftSQLServerSettings structure.

                  + *

                  The settings for the DynamoDB target endpoint. For more information, see the + * DynamoDBSettings structure.

                  */ - MicrosoftSQLServerSettings?: MicrosoftSQLServerSettings; + DynamoDbSettings?: DynamoDbSettings; /** - *

                  The settings for the MySQL source and target endpoint. For more information, see the - * MySQLSettings structure.

                  + *

                  The settings for the MongoDB source endpoint. For more information, see the + * MongoDbSettings structure.

                  */ - MySQLSettings?: MySQLSettings; + MongoDbSettings?: MongoDbSettings; /** - *

                  The settings for the S3 target endpoint. For more information, see the - * S3Settings structure.

                  + *

                  Value returned by a call to CreateEndpoint that can be used for cross-account + * validation. Use it on a subsequent call to CreateEndpoint to create the endpoint with a + * cross-account.

                  */ - S3Settings?: S3Settings; + ExternalId?: string; /** - *

                  The settings for the Amazon Neptune target endpoint. For more information, see the - * NeptuneSettings structure.

                  + *

                  The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                  */ - NeptuneSettings?: NeptuneSettings; + EndpointArn?: string; /** - *

                  The settings for the IBM Db2 LUW source endpoint. For more information, see the - * IBMDb2Settings structure. - *

                  + *

                  The settings for the Amazon Kinesis target endpoint. For more information, see the + * KinesisSettings structure.

                  */ - IBMDb2Settings?: IBMDb2Settings; + KinesisSettings?: KinesisSettings; /** - *

                  Settings for the Amazon Redshift endpoint.

                  + *

                  The Amazon Resource Name (ARN) used by the service access IAM role.

                  */ - RedshiftSettings?: RedshiftSettings; + ServiceAccessRoleArn?: string; } export namespace Endpoint { export const filterSensitiveLog = (obj: Endpoint): any => ({ ...obj, + ...(obj.RedshiftSettings && { RedshiftSettings: RedshiftSettings.filterSensitiveLog(obj.RedshiftSettings) }), + ...(obj.OracleSettings && { OracleSettings: OracleSettings.filterSensitiveLog(obj.OracleSettings) }), ...(obj.PostgreSQLSettings && { PostgreSQLSettings: PostgreSQLSettings.filterSensitiveLog(obj.PostgreSQLSettings), }), + ...(obj.IBMDb2Settings && { IBMDb2Settings: IBMDb2Settings.filterSensitiveLog(obj.IBMDb2Settings) }), ...(obj.SybaseSettings && { SybaseSettings: SybaseSettings.filterSensitiveLog(obj.SybaseSettings) }), - ...(obj.MongoDbSettings && { MongoDbSettings: MongoDbSettings.filterSensitiveLog(obj.MongoDbSettings) }), - ...(obj.OracleSettings && { OracleSettings: OracleSettings.filterSensitiveLog(obj.OracleSettings) }), ...(obj.MicrosoftSQLServerSettings && { MicrosoftSQLServerSettings: MicrosoftSQLServerSettings.filterSensitiveLog(obj.MicrosoftSQLServerSettings), }), ...(obj.MySQLSettings && { MySQLSettings: MySQLSettings.filterSensitiveLog(obj.MySQLSettings) }), - ...(obj.IBMDb2Settings && { IBMDb2Settings: IBMDb2Settings.filterSensitiveLog(obj.IBMDb2Settings) }), - ...(obj.RedshiftSettings && { RedshiftSettings: RedshiftSettings.filterSensitiveLog(obj.RedshiftSettings) }), + ...(obj.MongoDbSettings && { MongoDbSettings: MongoDbSettings.filterSensitiveLog(obj.MongoDbSettings) }), }); } @@ -2332,18 +2833,19 @@ export namespace ResourceQuotaExceededFault { */ export interface CreateEventSubscriptionMessage { /** - *

                  A list of identifiers for which AWS DMS provides notification events.

                  - *

                  If you don't specify a value, notifications are provided for all sources.

                  - *

                  If you specify multiple values, they must be of the same type. For example, if you - * specify a database instance ID, then all of the other values must be database instance - * IDs.

                  + *

                  One or more tags to be assigned to the event subscription.

                  */ - SourceIds?: string[]; + Tags?: Tag[]; /** - *

                  The name of the AWS DMS event notification subscription. This name must be less than 255 characters.

                  + *

                  The type of AWS DMS resource that generates the events. For example, if you want to be + * notified of events generated by a replication instance, you set this parameter to + * replication-instance. If this value isn't specified, all events are + * returned.

                  + *

                  Valid values: replication-instance | replication-task + *

                  */ - SubscriptionName: string | undefined; + SourceType?: string; /** *

                  A list of event categories for a source type that you want to subscribe to. For more @@ -2355,20 +2857,13 @@ export interface CreateEventSubscriptionMessage { EventCategories?: string[]; /** - *

                  A Boolean value; set to true to activate the subscription, or set to - * false to create the subscription but not activate it.

                  - */ - Enabled?: boolean; - - /** - *

                  The type of AWS DMS resource that generates the events. For example, if you want to be - * notified of events generated by a replication instance, you set this parameter to - * replication-instance. If this value isn't specified, all events are - * returned.

                  - *

                  Valid values: replication-instance | replication-task - *

                  + *

                  A list of identifiers for which AWS DMS provides notification events.

                  + *

                  If you don't specify a value, notifications are provided for all sources.

                  + *

                  If you specify multiple values, they must be of the same type. For example, if you + * specify a database instance ID, then all of the other values must be database instance + * IDs.

                  */ - SourceType?: string; + SourceIds?: string[]; /** *

                  The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. @@ -2377,9 +2872,15 @@ export interface CreateEventSubscriptionMessage { SnsTopicArn: string | undefined; /** - *

                  One or more tags to be assigned to the event subscription.

                  + *

                  A Boolean value; set to true to activate the subscription, or set to + * false to create the subscription but not activate it.

                  */ - Tags?: Tag[]; + Enabled?: boolean; + + /** + *

                  The name of the AWS DMS event notification subscription. This name must be less than 255 characters.

                  + */ + SubscriptionName: string | undefined; } export namespace CreateEventSubscriptionMessage { @@ -2394,19 +2895,16 @@ export namespace CreateEventSubscriptionMessage { */ export interface EventSubscription { /** - *

                  Boolean value that indicates if the event subscription is enabled.

                  - */ - Enabled?: boolean; - - /** - *

                  The topic ARN of the AWS DMS event notification subscription.

                  + *

                  The type of AWS DMS resource that generates events.

                  + *

                  Valid values: replication-instance | replication-server | security-group | + * replication-task

                  */ - SnsTopicArn?: string; + SourceType?: string; /** - *

                  The AWS DMS event notification subscription Id.

                  + *

                  A lists of event categories.

                  */ - CustSubscriptionId?: string; + EventCategoriesList?: string[]; /** *

                  The AWS customer account associated with the AWS DMS event notification @@ -2415,21 +2913,19 @@ export interface EventSubscription { CustomerAwsId?: string; /** - *

                  The time the AWS DMS event notification subscription was created.

                  + *

                  Boolean value that indicates if the event subscription is enabled.

                  */ - SubscriptionCreationTime?: string; + Enabled?: boolean; /** - *

                  A lists of event categories.

                  + *

                  The time the AWS DMS event notification subscription was created.

                  */ - EventCategoriesList?: string[]; + SubscriptionCreationTime?: string; /** - *

                  The type of AWS DMS resource that generates events.

                  - *

                  Valid values: replication-instance | replication-server | security-group | - * replication-task

                  + *

                  The AWS DMS event notification subscription Id.

                  */ - SourceType?: string; + CustSubscriptionId?: string; /** *

                  A list of source Ids for the event subscription.

                  @@ -2446,6 +2942,11 @@ export interface EventSubscription { * subscription was created.

                  */ Status?: string; + + /** + *

                  The topic ARN of the AWS DMS event notification subscription.

                  + */ + SnsTopicArn?: string; } export namespace EventSubscription { @@ -2585,16 +3086,6 @@ export namespace SNSNoAuthorizationFault { *

                  */ export interface CreateReplicationInstanceMessage { - /** - *

                  A subnet group to associate with the replication instance.

                  - */ - ReplicationSubnetGroupIdentifier?: string; - - /** - *

                  One or more tags to be assigned to the replication instance.

                  - */ - Tags?: Tag[]; - /** *

                  The weekly time range during which system maintenance can occur, in Universal * Coordinated Time (UTC).

                  @@ -2605,34 +3096,13 @@ export interface CreateReplicationInstanceMessage { *

                  Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

                  *

                  Constraints: Minimum 30-minute window.

                  */ - PreferredMaintenanceWindow?: string; - - /** - *

                  A value that indicates whether minor engine upgrades are applied automatically to the - * replication instance during the maintenance window. This parameter defaults to - * true.

                  - *

                  Default: true - *

                  - */ - AutoMinorVersionUpgrade?: boolean; - - /** - *

                  The compute and memory capacity of the replication instance as defined for the specified - * replication instance class. For example to specify the instance class dms.c4.large, set this parameter to "dms.c4.large".

                  - *

                  For more information on the settings and capacities for the available replication instance classes, see - * - * Selecting the right AWS DMS replication instance for your migration. - *

                  - */ - ReplicationInstanceClass: string | undefined; - - /** - *

                  Specifies the accessibility options for the replication instance. A value of - * true represents an instance with a public IP address. A value of - * false represents an instance with a private IP address. The default value - * is true.

                  + PreferredMaintenanceWindow?: string; + + /** + *

                  The amount of storage (in gigabytes) to be initially allocated for the replication + * instance.

                  */ - PubliclyAccessible?: boolean; + AllocatedStorage?: number; /** *

                  A list of custom DNS name servers supported for the replication instance to access your @@ -2665,22 +3135,20 @@ export interface CreateReplicationInstanceMessage { ReplicationInstanceIdentifier: string | undefined; /** - *

                  The engine version number of the replication instance.

                  - */ - EngineVersion?: string; - - /** - *

                  Specifies whether the replication instance is a Multi-AZ deployment. You can't set the - * AvailabilityZone parameter if the Multi-AZ parameter is set to - * true.

                  + *

                  Specifies the VPC security group to be used with the replication instance. The VPC + * security group must work with the VPC containing the replication instance.

                  */ - MultiAZ?: boolean; + VpcSecurityGroupIds?: string[]; /** - *

                  The amount of storage (in gigabytes) to be initially allocated for the replication - * instance.

                  + *

                  An AWS KMS key identifier that is used to encrypt the data on the replication + * instance.

                  + *

                  If you don't specify a value for the KmsKeyId parameter, then + * AWS DMS uses your default encryption key.

                  + *

                  AWS KMS creates the default encryption key for your AWS account. Your AWS account has a + * different default encryption key for each AWS Region.

                  */ - AllocatedStorage?: number; + KmsKeyId?: string; /** *

                  The Availability Zone where the replication instance will be created. The default @@ -2691,20 +3159,68 @@ export interface CreateReplicationInstanceMessage { AvailabilityZone?: string; /** - *

                  An AWS KMS key identifier that is used to encrypt the data on the replication - * instance.

                  - *

                  If you don't specify a value for the KmsKeyId parameter, then - * AWS DMS uses your default encryption key.

                  - *

                  AWS KMS creates the default encryption key for your AWS account. Your AWS account has a - * different default encryption key for each AWS Region.

                  + *

                  The compute and memory capacity of the replication instance as defined for the specified + * replication instance class. For example to specify the instance class dms.c4.large, set this parameter to "dms.c4.large".

                  + *

                  For more information on the settings and capacities for the available replication instance classes, see + * + * Selecting the right AWS DMS replication instance for your migration. + *

                  */ - KmsKeyId?: string; + ReplicationInstanceClass: string | undefined; /** - *

                  Specifies the VPC security group to be used with the replication instance. The VPC - * security group must work with the VPC containing the replication instance.

                  + *

                  A subnet group to associate with the replication instance.

                  */ - VpcSecurityGroupIds?: string[]; + ReplicationSubnetGroupIdentifier?: string; + + /** + *

                  A value that indicates whether minor engine upgrades are applied automatically to the + * replication instance during the maintenance window. This parameter defaults to + * true.

                  + *

                  Default: true + *

                  + */ + AutoMinorVersionUpgrade?: boolean; + + /** + *

                  A friendly name for the resource identifier at the end of the EndpointArn + * response parameter that is returned in the created Endpoint object. The value + * for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, + * and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, + * and can only begin with a letter, such as Example-App-ARN1. For example, this + * value might result in the EndpointArn value + * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't + * specify a ResourceIdentifier value, AWS DMS generates a default identifier + * value for the end of EndpointArn.

                  + */ + ResourceIdentifier?: string; + + /** + *

                  Specifies whether the replication instance is a Multi-AZ deployment. You can't set the + * AvailabilityZone parameter if the Multi-AZ parameter is set to + * true.

                  + */ + MultiAZ?: boolean; + + /** + *

                  Specifies the accessibility options for the replication instance. A value of + * true represents an instance with a public IP address. A value of + * false represents an instance with a private IP address. The default value + * is true.

                  + */ + PubliclyAccessible?: boolean; + + /** + *

                  The engine version number of the replication instance.

                  + *

                  If an engine version number is not specified when a replication + * instance is created, the default is the latest engine version available.

                  + */ + EngineVersion?: string; + + /** + *

                  One or more tags to be assigned to the replication instance.

                  + */ + Tags?: Tag[]; } export namespace CreateReplicationInstanceMessage { @@ -2715,15 +3231,13 @@ export namespace CreateReplicationInstanceMessage { /** *

                  Provides information about the values of pending modifications to a replication - * instance. This data type is an object of the ReplicationInstance user-defined + * instance. This data type is an object of the + * + * ReplicationInstance + * user-defined * data type.

                  */ export interface ReplicationPendingModifiedValues { - /** - *

                  The engine version number of the replication instance.

                  - */ - EngineVersion?: string; - /** *

                  Specifies whether the replication instance is a Multi-AZ deployment. You can't set the * AvailabilityZone parameter if the Multi-AZ parameter is set to @@ -2731,12 +3245,6 @@ export interface ReplicationPendingModifiedValues { */ MultiAZ?: boolean; - /** - *

                  The amount of storage (in gigabytes) that is allocated for the replication - * instance.

                  - */ - AllocatedStorage?: number; - /** *

                  The compute and memory capacity of the replication instance as defined for the specified * replication instance class.

                  @@ -2746,6 +3254,17 @@ export interface ReplicationPendingModifiedValues { *

                  */ ReplicationInstanceClass?: string; + + /** + *

                  The amount of storage (in gigabytes) that is allocated for the replication + * instance.

                  + */ + AllocatedStorage?: number; + + /** + *

                  The engine version number of the replication instance.

                  + */ + EngineVersion?: string; } export namespace ReplicationPendingModifiedValues { @@ -2755,7 +3274,12 @@ export namespace ReplicationPendingModifiedValues { } /** - *

                  The name of an Availability Zone for use during database migration.

                  + *

                  The name of an Availability Zone for use during database migration. + * AvailabilityZone is an optional parameter to the + * CreateReplicationInstance + * operation, and it’s value relates to + * the AWS Region of an endpoint. For example, the availability zone of an endpoint in the + * us-east-1 region might be us-east-1a, us-east-1b, us-east-1c, or us-east-1d.

                  */ export interface AvailabilityZone { /** @@ -2771,8 +3295,9 @@ export namespace AvailabilityZone { } /** - *

                  In response to a request by the DescribeReplicationSubnetGroup operation, this object - * identifies a subnet by its given Availability Zone, subnet identifier, and status.

                  + *

                  In response to a request by the DescribeReplicationSubnetGroups operation, + * this object identifies a subnet by its given Availability Zone, subnet identifier, and + * status.

                  */ export interface Subnet { /** @@ -2781,14 +3306,14 @@ export interface Subnet { SubnetAvailabilityZone?: AvailabilityZone; /** - *

                  The subnet identifier.

                  + *

                  The status of the subnet.

                  */ - SubnetIdentifier?: string; + SubnetStatus?: string; /** - *

                  The status of the subnet.

                  + *

                  The subnet identifier.

                  */ - SubnetStatus?: string; + SubnetIdentifier?: string; } export namespace Subnet { @@ -2798,34 +3323,34 @@ export namespace Subnet { } /** - *

                  Describes a subnet group in response to a request by the DescribeReplicationSubnetGroup - * operation.

                  + *

                  Describes a subnet group in response to a request by the + * DescribeReplicationSubnetGroups operation.

                  */ export interface ReplicationSubnetGroup { /** - *

                  The ID of the VPC.

                  + *

                  The subnets that are in the subnet group.

                  */ - VpcId?: string; + Subnets?: Subnet[]; /** - *

                  A description for the replication subnet group.

                  + *

                  The identifier of the replication instance subnet group.

                  */ - ReplicationSubnetGroupDescription?: string; + ReplicationSubnetGroupIdentifier?: string; /** - *

                  The status of the subnet group.

                  + *

                  The ID of the VPC.

                  */ - SubnetGroupStatus?: string; + VpcId?: string; /** - *

                  The identifier of the replication instance subnet group.

                  + *

                  The status of the subnet group.

                  */ - ReplicationSubnetGroupIdentifier?: string; + SubnetGroupStatus?: string; /** - *

                  The subnets that are in the subnet group.

                  + *

                  A description for the replication subnet group.

                  */ - Subnets?: Subnet[]; + ReplicationSubnetGroupDescription?: string; } export namespace ReplicationSubnetGroup { @@ -2861,34 +3386,51 @@ export namespace VpcSecurityGroupMembership { */ export interface ReplicationInstance { /** - *

                  The VPC security group for the instance.

                  + *

                  The DNS name servers supported for the replication instance to access your on-premise source or target database.

                  */ - VpcSecurityGroups?: VpcSecurityGroupMembership[]; + DnsNameServers?: string; /** - *

                  The public IP address of the replication instance.

                  + *

                  The time the replication instance was created.

                  */ - ReplicationInstancePublicIpAddress?: string; + InstanceCreateTime?: Date; /** - *

                  The pending modification values.

                  + *

                  The Availability Zone of the standby replication instance in a Multi-AZ + * deployment.

                  */ - PendingModifiedValues?: ReplicationPendingModifiedValues; + SecondaryAvailabilityZone?: string; /** - *

                  The compute and memory capacity of the replication instance as defined for the specified - * replication instance class.

                  - *

                  For more information on the settings and capacities for the available replication instance classes, see - * - * Selecting the right AWS DMS replication instance for your migration. - *

                  + *

                  The expiration date of the free replication instance that is part of the Free DMS + * program.

                  */ - ReplicationInstanceClass?: string; + FreeUntil?: Date; /** - *

                  One or more private IP addresses for the replication instance.

                  + *

                  The Amazon Resource Name (ARN) of the replication instance.

                  */ - ReplicationInstancePrivateIpAddresses?: string[]; + ReplicationInstanceArn?: string; + + /** + *

                  The engine version number of the replication instance.

                  + *

                  If an engine version number is not specified when a replication + * instance is created, the default is the latest engine version available.

                  + *

                  When modifying a major engine version of an instance, also set + * AllowMajorVersionUpgrade to true.

                  + */ + EngineVersion?: string; + + /** + *

                  The Availability Zone for the instance.

                  + */ + AvailabilityZone?: string; + + /** + *

                  The maintenance window times for the replication instance. Any pending upgrades to the + * replication instance are performed during this time.

                  + */ + PreferredMaintenanceWindow?: string; /** *

                  The amount of storage (in gigabytes) that is allocated for the replication @@ -2897,9 +3439,12 @@ export interface ReplicationInstance { AllocatedStorage?: number; /** - *

                  The maintenance window times for the replication instance.

                  + *

                  Specifies the accessibility options for the replication instance. A value of + * true represents an instance with a public IP address. A value of + * false represents an instance with a private IP address. The default value + * is true.

                  */ - PreferredMaintenanceWindow?: string; + PubliclyAccessible?: boolean; /** *

                  An AWS KMS key identifier that is used to encrypt the data on the replication @@ -2912,18 +3457,8 @@ export interface ReplicationInstance { KmsKeyId?: string; /** - *

                  The DNS name servers supported for the replication instance to access your on-premise source or target database.

                  - */ - DnsNameServers?: string; - - /** - *

                  The Availability Zone for the instance.

                  - */ - AvailabilityZone?: string; - - /** - *

                  The replication instance identifier. This parameter is stored as a lowercase - * string.

                  + *

                  The replication instance identifier is a required parameter. This parameter is stored as + * a lowercase string.

                  *

                  Constraints:

                  *
                    *
                  • @@ -2942,28 +3477,19 @@ export interface ReplicationInstance { ReplicationInstanceIdentifier?: string; /** - *

                    Specifies the accessibility options for the replication instance. A value of - * true represents an instance with a public IP address. A value of - * false represents an instance with a private IP address. The default value - * is true.

                    - */ - PubliclyAccessible?: boolean; - - /** - *

                    The expiration date of the free replication instance that is part of the Free DMS - * program.

                    + *

                    One or more public IP addresses for the replication instance.

                    */ - FreeUntil?: Date; + ReplicationInstancePublicIpAddresses?: string[]; /** - *

                    The time the replication instance was created.

                    + *

                    The subnet group for the replication instance.

                    */ - InstanceCreateTime?: Date; + ReplicationSubnetGroup?: ReplicationSubnetGroup; /** - *

                    One or more public IP addresses for the replication instance.

                    + *

                    The pending modification values.

                    */ - ReplicationInstancePublicIpAddresses?: string[]; + PendingModifiedValues?: ReplicationPendingModifiedValues; /** *

                    The private IP address of the replication instance.

                    @@ -2971,15 +3497,9 @@ export interface ReplicationInstance { ReplicationInstancePrivateIpAddress?: string; /** - *

                    The Availability Zone of the standby replication instance in a Multi-AZ - * deployment.

                    - */ - SecondaryAvailabilityZone?: string; - - /** - *

                    The engine version number of the replication instance.

                    + *

                    The public IP address of the replication instance.

                    */ - EngineVersion?: string; + ReplicationInstancePublicIpAddress?: string; /** *

                    Boolean value indicating if minor version upgrades will be automatically applied to the @@ -2988,9 +3508,22 @@ export interface ReplicationInstance { AutoMinorVersionUpgrade?: boolean; /** - *

                    The Amazon Resource Name (ARN) of the replication instance.

                    + *

                    Specifies whether the replication instance is a Multi-AZ deployment. You can't set the + * AvailabilityZone parameter if the Multi-AZ parameter is set to + * true.

                    */ - ReplicationInstanceArn?: string; + MultiAZ?: boolean; + + /** + *

                    The compute and memory capacity of the replication instance as defined for the specified + * replication instance class. It is a required parameter, although a defualt value is + * pre-selected in the DMS console.

                    + *

                    For more information on the settings and capacities for the available replication instance classes, see + * + * Selecting the right AWS DMS replication instance for your migration. + *

                    + */ + ReplicationInstanceClass?: string; /** *

                    The status of the replication instance. The possible return values include:

                    @@ -3066,16 +3599,14 @@ export interface ReplicationInstance { ReplicationInstanceStatus?: string; /** - *

                    Specifies whether the replication instance is a Multi-AZ deployment. You can't set the - * AvailabilityZone parameter if the Multi-AZ parameter is set to - * true.

                    + *

                    One or more private IP addresses for the replication instance.

                    */ - MultiAZ?: boolean; + ReplicationInstancePrivateIpAddresses?: string[]; /** - *

                    The subnet group for the replication instance.

                    + *

                    The VPC security group for the instance.

                    */ - ReplicationSubnetGroup?: ReplicationSubnetGroup; + VpcSecurityGroups?: VpcSecurityGroupMembership[]; } export namespace ReplicationInstance { @@ -3177,14 +3708,14 @@ export namespace StorageQuotaExceededFault { */ export interface CreateReplicationSubnetGroupMessage { /** - *

                    The description for the subnet group.

                    + *

                    One or more tags to be assigned to the subnet group.

                    */ - ReplicationSubnetGroupDescription: string | undefined; + Tags?: Tag[]; /** - *

                    One or more tags to be assigned to the subnet group.

                    + *

                    One or more subnet IDs to be assigned to the subnet group.

                    */ - Tags?: Tag[]; + SubnetIds: string[] | undefined; /** *

                    The name for the replication subnet group. This value is stored as a lowercase @@ -3197,9 +3728,9 @@ export interface CreateReplicationSubnetGroupMessage { ReplicationSubnetGroupIdentifier: string | undefined; /** - *

                    One or more subnet IDs to be assigned to the subnet group.

                    + *

                    The description for the subnet group.

                    */ - SubnetIds: string[] | undefined; + ReplicationSubnetGroupDescription: string | undefined; } export namespace CreateReplicationSubnetGroupMessage { @@ -3235,17 +3766,46 @@ export enum MigrationTypeValue { */ export interface CreateReplicationTaskMessage { /** - *

                    The Amazon Resource Name (ARN) of a replication instance.

                    + *

                    One or more tags to be assigned to the replication task.

                    */ - ReplicationInstanceArn: string | undefined; + Tags?: Tag[]; /** - *

                    Indicates the start time for a change data capture (CDC) operation. Use either - * CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. + *

                    An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.

                    + */ + SourceEndpointArn: string | undefined; + + /** + *

                    Indicates when you want a change data capture (CDC) operation to start. Use either + * CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. * Specifying both values results in an error.

                    - *

                    Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

                    + *

                    The value can be in date, checkpoint, or LSN/SCN format.

                    + *

                    Date Example: --cdc-start-position “2018-03-08T12:12:12”

                    + *

                    Checkpoint Example: --cdc-start-position + * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"

                    + *

                    LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

                    + * + *

                    When you use this task setting with a source PostgreSQL database, a logical + * replication slot should already be created and associated with the source endpoint. You + * can verify this by setting the slotName extra connection attribute to the + * name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source + * for AWS DMS.

                    + *
                    */ - CdcStartTime?: Date; + CdcStartPosition?: string; + + /** + *

                    A friendly name for the resource identifier at the end of the EndpointArn + * response parameter that is returned in the created Endpoint object. The value + * for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, + * and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, + * and can only begin with a letter, such as Example-App-ARN1. For example, this + * value might result in the EndpointArn value + * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't + * specify a ResourceIdentifier value, AWS DMS generates a default identifier + * value for the end of EndpointArn.

                    + */ + ResourceIdentifier?: string; /** *

                    The table mappings for the task, in JSON format. For more information, see Using Table @@ -3255,11 +3815,35 @@ export interface CreateReplicationTaskMessage { */ TableMappings: string | undefined; + /** + *

                    Indicates when you want a change data capture (CDC) operation to stop. The value can be + * either server time or commit time.

                    + *

                    Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

                    + *

                    Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12 “

                    + */ + CdcStopPosition?: string; + + /** + *

                    Supplemental information that the task requires to migrate the data for certain source and target endpoints. + * For more information, see Specifying Supplemental Data for Task Settings in the + * AWS Database Migration Service User Guide. + *

                    + */ + TaskData?: string; + /** *

                    An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.

                    */ TargetEndpointArn: string | undefined; + /** + *

                    Indicates the start time for a change data capture (CDC) operation. Use either + * CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. + * Specifying both values results in an error.

                    + *

                    Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

                    + */ + CdcStartTime?: Date; + /** *

                    An identifier for the replication task.

                    *

                    Constraints:

                    @@ -3278,49 +3862,15 @@ export interface CreateReplicationTaskMessage { ReplicationTaskIdentifier: string | undefined; /** - *

                    An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.

                    - */ - SourceEndpointArn: string | undefined; - - /** - *

                    Indicates when you want a change data capture (CDC) operation to start. Use either - * CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. - * Specifying both values results in an error.

                    - *

                    The value can be in date, checkpoint, or LSN/SCN format.

                    - *

                    Date Example: --cdc-start-position “2018-03-08T12:12:12”

                    - *

                    Checkpoint Example: --cdc-start-position - * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"

                    - *

                    LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

                    - * - *

                    When you use this task setting with a source PostgreSQL database, a logical - * replication slot should already be created and associated with the source endpoint. You - * can verify this by setting the slotName extra connection attribute to the - * name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source - * for AWS DMS.

                    - *
                    - */ - CdcStartPosition?: string; - - /** - *

                    Indicates when you want a change data capture (CDC) operation to stop. The value can be - * either server time or commit time.

                    - *

                    Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

                    - *

                    Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

                    - */ - CdcStopPosition?: string; - - /** - *

                    One or more tags to be assigned to the replication task.

                    + *

                    The Amazon Resource Name (ARN) of a replication instance.

                    */ - Tags?: Tag[]; + ReplicationInstanceArn: string | undefined; /** - *

                    Supplemental information that the task requires to migrate the data for certain source and target endpoints. - * For more information, see Specifying Supplemental Data for Task Settings in the - * AWS Database Migration Service User Guide. + *

                    The migration type. Valid values: full-load | cdc | full-load-and-cdc *

                    */ - TaskData?: string; + MigrationType: MigrationTypeValue | string | undefined; /** *

                    Overall settings for the task, in JSON format. For more information, see Specifying Task @@ -3329,12 +3879,6 @@ export interface CreateReplicationTaskMessage { *

                    */ ReplicationTaskSettings?: string; - - /** - *

                    The migration type. Valid values: full-load | cdc | full-load-and-cdc - *

                    - */ - MigrationType: MigrationTypeValue | string | undefined; } export namespace CreateReplicationTaskMessage { @@ -3349,50 +3893,50 @@ export namespace CreateReplicationTaskMessage { */ export interface ReplicationTaskStats { /** - *

                    The date the replication task full load was completed.

                    + *

                    The date the replication task was stopped.

                    */ - FullLoadFinishDate?: Date; + StopDate?: Date; /** - *

                    The date the replication task was started either with a fresh start or a target reload.

                    + *

                    The date the replication task full load was started.

                    */ - FreshStartDate?: Date; + FullLoadStartDate?: Date; /** - *

                    The number of tables loaded for this task.

                    + *

                    The elapsed time of the task, in milliseconds.

                    */ - TablesLoaded?: number; + ElapsedTimeMillis?: number; /** - *

                    The number of tables currently loading for this task.

                    + *

                    The date the replication task was started either with a fresh start or a target reload.

                    */ - TablesLoading?: number; + FreshStartDate?: Date; /** - *

                    The date the replication task was stopped.

                    + *

                    The date the replication task was started either with a fresh start or a resume. For more information, see + * StartReplicationTaskType.

                    */ - StopDate?: Date; + StartDate?: Date; /** - *

                    The number of errors that have occurred during this task.

                    + *

                    The number of tables currently loading for this task.

                    */ - TablesErrored?: number; + TablesLoading?: number; /** - *

                    The date the replication task full load was started.

                    + *

                    The number of tables loaded for this task.

                    */ - FullLoadStartDate?: Date; + TablesLoaded?: number; /** - *

                    The date the replication task was started either with a fresh start or a resume. For more information, see - * StartReplicationTaskType.

                    + *

                    The percent complete for the full load migration task.

                    */ - StartDate?: Date; + FullLoadProgressPercent?: number; /** - *

                    The elapsed time of the task, in milliseconds.

                    + *

                    The number of errors that have occurred during this task.

                    */ - ElapsedTimeMillis?: number; + TablesErrored?: number; /** *

                    The number of tables queued for this task.

                    @@ -3400,9 +3944,9 @@ export interface ReplicationTaskStats { TablesQueued?: number; /** - *

                    The percent complete for the full load migration task.

                    + *

                    The date the replication task full load was completed.

                    */ - FullLoadProgressPercent?: number; + FullLoadFinishDate?: Date; } export namespace ReplicationTaskStats { @@ -3417,14 +3961,17 @@ export namespace ReplicationTaskStats { */ export interface ReplicationTask { /** - *

                    The date the replication task was created.

                    + *

                    Indicates when you want a change data capture (CDC) operation to stop. The value can be + * either server time or commit time.

                    + *

                    Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

                    + *

                    Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12 “

                    */ - ReplicationTaskCreationDate?: Date; + CdcStopPosition?: string; /** - *

                    The settings for the replication task.

                    + *

                    The date the replication task is scheduled to start.

                    */ - ReplicationTaskSettings?: string; + ReplicationTaskStartDate?: Date; /** *

                    The status of the replication task.

                    @@ -3432,131 +3979,128 @@ export interface ReplicationTask { Status?: string; /** - *

                    The date the replication task is scheduled to start.

                    + *

                    The settings for the replication task.

                    */ - ReplicationTaskStartDate?: Date; + ReplicationTaskSettings?: string; /** - *

                    The user-assigned replication task identifier or name.

                    - *

                    Constraints:

                    - *
                      - *
                    • - *

                      Must contain 1-255 alphanumeric characters or hyphens.

                      - *
                    • - *
                    • - *

                      First character must be a letter.

                      - *
                    • - *
                    • - *

                      Cannot end with a hyphen or contain two consecutive hyphens.

                      - *
                    • - *
                    + *

                    The type of migration.

                    */ - ReplicationTaskIdentifier?: string; + MigrationType?: MigrationTypeValue | string; /** - *

                    The reason the replication task was stopped. This response parameter can return one of - * the following values:

                    - *
                      - *
                    • - *

                      - * "STOP_REASON_FULL_LOAD_COMPLETED" – Full-load migration - * completed.

                      - *
                    • - *
                    • - *

                      - * "STOP_REASON_CACHED_CHANGES_APPLIED" – Change data capture (CDC) - * load completed.

                      - *
                    • - *
                    • - *

                      - * "STOP_REASON_CACHED_CHANGES_NOT_APPLIED" – In a full-load and - * CDC migration, the full-load stopped as specified before starting the CDC - * migration.

                      - *
                    • - *
                    • - *

                      - * "STOP_REASON_SERVER_TIME" – The migration stopped at the - * specified server time.

                      - *
                    • - *
                    + *

                    The statistics for the task, including elapsed time, tables loaded, and table + * errors.

                    */ - StopReason?: string; + ReplicationTaskStats?: ReplicationTaskStats; /** - *

                    The Amazon Resource Name (ARN) of the replication task.

                    + *

                    Indicates when you want a change data capture (CDC) operation to start. Use either + * CdcStartPosition or CdcStartTime to specify when you want the CDC operation to start. + * Specifying both values results in an error.

                    + *

                    The value can be in date, checkpoint, or LSN/SCN format.

                    + *

                    Date Example: --cdc-start-position “2018-03-08T12:12:12”

                    + *

                    Checkpoint Example: --cdc-start-position + * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"

                    + *

                    LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

                    */ - ReplicationTaskArn?: string; + CdcStartPosition?: string; /** - *

                    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                    + *

                    The Amazon Resource Name (ARN) of the replication instance.

                    */ - SourceEndpointArn?: string; + ReplicationInstanceArn?: string; /** - *

                    Indicates the last checkpoint that occurred during a change data capture (CDC) - * operation. You can provide this value to the CdcStartPosition parameter to - * start a CDC operation that begins at that checkpoint.

                    + *

                    Supplemental information that the task requires to migrate the data for certain source and target endpoints. + * For more information, see Specifying Supplemental Data for Task Settings in the + * AWS Database Migration Service User Guide. + *

                    */ - RecoveryCheckpoint?: string; + TaskData?: string; /** - *

                    The statistics for the task, including elapsed time, tables loaded, and table - * errors.

                    + *

                    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                    */ - ReplicationTaskStats?: ReplicationTaskStats; + TargetEndpointArn?: string; /** - *

                    The Amazon Resource Name (ARN) of the replication instance.

                    + *

                    The Amazon Resource Name (ARN) of the replication task.

                    */ - ReplicationInstanceArn?: string; + ReplicationTaskArn?: string; /** - *

                    Indicates when you want a change data capture (CDC) operation to stop. The value can be - * either server time or commit time.

                    - *

                    Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

                    - *

                    Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

                    + *

                    The user-assigned replication task identifier or name.

                    + *

                    Constraints:

                    + *
                      + *
                    • + *

                      Must contain 1-255 alphanumeric characters or hyphens.

                      + *
                    • + *
                    • + *

                      First character must be a letter.

                      + *
                    • + *
                    • + *

                      Cannot end with a hyphen or contain two consecutive hyphens.

                      + *
                    • + *
                    */ - CdcStopPosition?: string; + ReplicationTaskIdentifier?: string; /** - *

                    The last error (failure) message generated for the replication instance.

                    + *

                    Table mappings specified in the task.

                    */ - LastFailureMessage?: string; + TableMappings?: string; /** - *

                    Table mappings specified in the task.

                    + *

                    The date the replication task was created.

                    */ - TableMappings?: string; + ReplicationTaskCreationDate?: Date; /** - *

                    The type of migration.

                    + *

                    The last error (failure) message generated for the replication task.

                    */ - MigrationType?: MigrationTypeValue | string; + LastFailureMessage?: string; /** - *

                    Supplemental information that the task requires to migrate the data for certain source and target endpoints. - * For more information, see Specifying Supplemental Data for Task Settings in the - * AWS Database Migration Service User Guide. - *

                    + *

                    Indicates the last checkpoint that occurred during a change data capture (CDC) + * operation. You can provide this value to the CdcStartPosition parameter to + * start a CDC operation that begins at that checkpoint.

                    */ - TaskData?: string; + RecoveryCheckpoint?: string; /** - *

                    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                    + *

                    The reason the replication task was stopped. This response parameter can return one of + * the following values:

                    + *
                      + *
                    • + *

                      + * "STOP_REASON_FULL_LOAD_COMPLETED" – Full-load migration + * completed.

                      + *
                    • + *
                    • + *

                      + * "STOP_REASON_CACHED_CHANGES_APPLIED" – Change data capture (CDC) + * load completed.

                      + *
                    • + *
                    • + *

                      + * "STOP_REASON_CACHED_CHANGES_NOT_APPLIED" – In a full-load and + * CDC migration, the full-load stopped as specified before starting the CDC + * migration.

                      + *
                    • + *
                    • + *

                      + * "STOP_REASON_SERVER_TIME" – The migration stopped at the + * specified server time.

                      + *
                    • + *
                    */ - TargetEndpointArn?: string; + StopReason?: string; /** - *

                    Indicates when you want a change data capture (CDC) operation to start. Use either - * CdcStartPosition or CdcStartTime to specify when you want the CDC operation to start. - * Specifying both values results in an error.

                    - *

                    The value can be in date, checkpoint, or LSN/SCN format.

                    - *

                    Date Example: --cdc-start-position “2018-03-08T12:12:12”

                    - *

                    Checkpoint Example: --cdc-start-position - * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"

                    - *

                    LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

                    + *

                    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                    */ - CdcStartPosition?: string; + SourceEndpointArn?: string; } export namespace ReplicationTask { @@ -3605,19 +4149,19 @@ export interface Certificate { CertificatePem?: string; /** - *

                    The owner of the certificate.

                    + *

                    The final date that the certificate is valid.

                    */ - CertificateOwner?: string; + ValidToDate?: Date; /** - *

                    The beginning date that the certificate is valid.

                    + *

                    The signing algorithm for the certificate.

                    */ - ValidFromDate?: Date; + SigningAlgorithm?: string; /** - *

                    The Amazon Resource Name (ARN) for the certificate.

                    + *

                    The location of an imported Oracle Wallet certificate for use with SSL.

                    */ - CertificateArn?: string; + CertificateWallet?: Uint8Array; /** *

                    The date that the certificate was created.

                    @@ -3625,24 +4169,24 @@ export interface Certificate { CertificateCreationDate?: Date; /** - *

                    The location of an imported Oracle Wallet certificate for use with SSL.

                    + *

                    The key length of the cryptographic algorithm being used.

                    */ - CertificateWallet?: Uint8Array; + KeyLength?: number; /** - *

                    The signing algorithm for the certificate.

                    + *

                    The owner of the certificate.

                    */ - SigningAlgorithm?: string; + CertificateOwner?: string; /** - *

                    The key length of the cryptographic algorithm being used.

                    + *

                    The Amazon Resource Name (ARN) for the certificate.

                    */ - KeyLength?: number; + CertificateArn?: string; /** - *

                    The final date that the certificate is valid.

                    + *

                    The beginning date that the certificate is valid.

                    */ - ValidToDate?: Date; + ValidFromDate?: Date; /** *

                    A customer-assigned name for the certificate. Identifiers must begin with a letter and @@ -3702,19 +4246,6 @@ export interface Connection { */ EndpointArn?: string; - /** - *

                    The replication instance identifier. This parameter is stored as a lowercase - * string.

                    - */ - ReplicationInstanceIdentifier?: string; - - /** - *

                    The identifier of the endpoint. Identifiers must begin with a letter and must contain only - * ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two - * consecutive hyphens.

                    - */ - EndpointIdentifier?: string; - /** *

                    The connection status. This parameter can return one of the following values:

                    *
                      @@ -3742,6 +4273,19 @@ export interface Connection { */ Status?: string; + /** + *

                      The replication instance identifier. This parameter is stored as a lowercase + * string.

                      + */ + ReplicationInstanceIdentifier?: string; + + /** + *

                      The identifier of the endpoint. Identifiers must begin with a letter and must contain only + * ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two + * consecutive hyphens.

                      + */ + EndpointIdentifier?: string; + /** *

                      The ARN of the replication instance.

                      */ @@ -4011,6 +4555,17 @@ export namespace DescribeAccountAttributesResponse { *

                      */ export interface DescribeApplicableIndividualAssessmentsMessage { + /** + *

                      Name of a database engine that the specified replication instance supports as a target.

                      + */ + TargetEngineName?: string; + + /** + *

                      Amazon Resource Name (ARN) of a migration task on which you want to base + * the default list of individual assessments.

                      + */ + ReplicationTaskArn?: string; + /** *

                      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 @@ -4019,15 +4574,15 @@ export interface DescribeApplicableIndividualAssessmentsMessage { MaxRecords?: number; /** - *

                      Amazon Resource Name (ARN) of a migration task on which you want to base - * the default list of individual assessments.

                      + *

                      Name of a database engine that the specified replication instance supports as a source.

                      */ - ReplicationTaskArn?: string; + SourceEngineName?: string; /** - *

                      Name of a database engine that the specified replication instance supports as a target.

                      + *

                      ARN of a replication instance on which you want to base the default list of individual + * assessments.

                      */ - TargetEngineName?: string; + ReplicationInstanceArn?: string; /** *

                      Name of the migration type that each provided individual assessment must support.

                      @@ -4040,17 +4595,6 @@ export interface DescribeApplicableIndividualAssessmentsMessage { * by MaxRecords.

                      */ Marker?: string; - - /** - *

                      Name of a database engine that the specified replication instance supports as a source.

                      - */ - SourceEngineName?: string; - - /** - *

                      ARN of a replication instance on which you want to base the default list of individual - * assessments.

                      - */ - ReplicationInstanceArn?: string; } export namespace DescribeApplicableIndividualAssessmentsMessage { @@ -4063,14 +4607,6 @@ export namespace DescribeApplicableIndividualAssessmentsMessage { *

                      */ export interface DescribeApplicableIndividualAssessmentsResponse { - /** - *

                      Pagination token returned for you to pass to a subsequent request. If you pass this - * token as the Marker value in a subsequent request, the response includes only - * records beyond the marker, up to the value specified in the request by - * MaxRecords.

                      - */ - Marker?: string; - /** *

                      List of names for the individual assessments supported by the premigration assessment * run that you start based on the specified request parameters. For more information on the @@ -4080,6 +4616,14 @@ export interface DescribeApplicableIndividualAssessmentsResponse { *

                      */ IndividualAssessmentNames?: string[]; + + /** + *

                      Pagination token returned for you to pass to a subsequent request. If you pass this + * token as the Marker value in a subsequent request, the response includes only + * records beyond the marker, up to the value specified in the request by + * MaxRecords.

                      + */ + Marker?: string; } export namespace DescribeApplicableIndividualAssessmentsResponse { @@ -4091,7 +4635,8 @@ export namespace DescribeApplicableIndividualAssessmentsResponse { /** *

                      Identifies the name and value of a filter object. This filter is used to limit the * number and type of AWS DMS objects that are returned for a particular - * Describe* or similar operation.

                      + * Describe* call or similar operation. Filters are used as an + * optional parameter to the following APIs.

                      */ export interface Filter { /** @@ -4113,6 +4658,11 @@ export namespace Filter { } export interface DescribeCertificatesMessage { + /** + *

                      Filters applied to the certificates described in the form of key-value pairs.

                      + */ + Filters?: Filter[]; + /** *

                      An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified @@ -4127,11 +4677,6 @@ export interface DescribeCertificatesMessage { *

                      Default: 10

                      */ MaxRecords?: number; - - /** - *

                      Filters applied to the certificates described in the form of key-value pairs.

                      - */ - Filters?: Filter[]; } export namespace DescribeCertificatesMessage { @@ -4163,6 +4708,15 @@ export namespace DescribeCertificatesResponse { *

                      */ export interface DescribeConnectionsMessage { + /** + *

                      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.

                      + *

                      Default: 100

                      + *

                      Constraints: Minimum 20, maximum 100.

                      + */ + MaxRecords?: number; + /** *

                      The filters applied to the connection.

                      *

                      Valid filter names: endpoint-arn | replication-instance-arn

                      @@ -4175,15 +4729,6 @@ export interface DescribeConnectionsMessage { * by MaxRecords.

                      */ Marker?: 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.

                      - *

                      Default: 100

                      - *

                      Constraints: Minimum 20, maximum 100.

                      - */ - MaxRecords?: number; } export namespace DescribeConnectionsMessage { @@ -4196,17 +4741,17 @@ export namespace DescribeConnectionsMessage { *

                      */ export interface DescribeConnectionsResponse { - /** - *

                      A description of the connections.

                      - */ - Connections?: Connection[]; - /** *

                      An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified * by MaxRecords.

                      */ Marker?: string; + + /** + *

                      A description of the connections.

                      + */ + Connections?: Connection[]; } export namespace DescribeConnectionsResponse { @@ -4219,12 +4764,6 @@ export namespace DescribeConnectionsResponse { *

                      */ export interface DescribeEndpointsMessage { - /** - *

                      Filters applied to the endpoints.

                      - *

                      Valid filter names: endpoint-arn | endpoint-type | endpoint-id | engine-name

                      - */ - Filters?: Filter[]; - /** *

                      An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified @@ -4232,6 +4771,12 @@ export interface DescribeEndpointsMessage { */ Marker?: string; + /** + *

                      Filters applied to the endpoints.

                      + *

                      Valid filter names: endpoint-arn | endpoint-type | endpoint-id | engine-name

                      + */ + Filters?: Filter[]; + /** *

                      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 @@ -4312,6 +4857,11 @@ export namespace DescribeEndpointTypesMessage { * supported.

                      */ export interface SupportedEndpointType { + /** + *

                      Indicates if Change Data Capture (CDC) is supported.

                      + */ + SupportsCDC?: boolean; + /** *

                      The database engine name. Valid values, depending on the EndpointType, include * "mysql", "oracle", "postgres", @@ -4328,11 +4878,6 @@ export interface SupportedEndpointType { */ ReplicationInstanceEngineMinimumVersion?: string; - /** - *

                      Indicates if Change Data Capture (CDC) is supported.

                      - */ - SupportsCDC?: boolean; - /** *

                      The expanded name for the engine name. For example, if the EngineName * parameter is "aurora," this value would be "Amazon Aurora MySQL."

                      @@ -4355,17 +4900,17 @@ export namespace SupportedEndpointType { *

                      */ export interface DescribeEndpointTypesResponse { + /** + *

                      The types of endpoints that are supported.

                      + */ + SupportedEndpointTypes?: SupportedEndpointType[]; + /** *

                      An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified * by MaxRecords.

                      */ Marker?: string; - - /** - *

                      The types of endpoints that are supported.

                      - */ - SupportedEndpointTypes?: SupportedEndpointType[]; } export namespace DescribeEndpointTypesResponse { @@ -4378,16 +4923,16 @@ export namespace DescribeEndpointTypesResponse { *

                      */ export interface DescribeEventCategoriesMessage { - /** - *

                      Filters applied to the event categories.

                      - */ - Filters?: Filter[]; - /** *

                      The type of AWS DMS resource that generates events.

                      *

                      Valid values: replication-instance | replication-task

                      */ SourceType?: string; + + /** + *

                      Filters applied to the event categories.

                      + */ + Filters?: Filter[]; } export namespace DescribeEventCategoriesMessage { @@ -4398,7 +4943,11 @@ export namespace DescribeEventCategoriesMessage { /** *

                      Lists categories of events subscribed to, and generated by, the applicable AWS DMS - * resource type.

                      + * resource type. This data type appears in response to the + * + * DescribeEventCategories + * + * action.

                      */ export interface EventCategoryGroup { /** @@ -4443,9 +4992,26 @@ export type SourceType = "replication-instance"; */ export interface DescribeEventsMessage { /** - *

                      The end time for the events to be listed.

                      + *

                      A list of event categories for the source type that you've chosen.

                      + */ + EventCategories?: string[]; + + /** + *

                      The start time for the events to be listed.

                      + */ + StartTime?: Date; + + /** + *

                      The duration of the events to be listed.

                      + */ + Duration?: number; + + /** + *

                      An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

                      */ - EndTime?: Date; + Marker?: string; /** *

                      The maximum number of records to include in the response. If more records exist than @@ -4461,38 +5027,21 @@ export interface DescribeEventsMessage { */ SourceIdentifier?: string; - /** - *

                      The duration of the events to be listed.

                      - */ - Duration?: number; - - /** - *

                      The type of AWS DMS resource that generates events.

                      - *

                      Valid values: replication-instance | replication-task

                      - */ - SourceType?: SourceType | string; - /** *

                      Filters applied to events.

                      */ Filters?: Filter[]; /** - *

                      A list of event categories for the source type that you've chosen.

                      - */ - EventCategories?: string[]; - - /** - *

                      The start time for the events to be listed.

                      + *

                      The end time for the events to be listed.

                      */ - StartTime?: Date; + EndTime?: Date; /** - *

                      An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

                      + *

                      The type of AWS DMS resource that generates events.

                      + *

                      Valid values: replication-instance | replication-task

                      */ - Marker?: string; + SourceType?: SourceType | string; } export namespace DescribeEventsMessage { @@ -4508,14 +5057,14 @@ export namespace DescribeEventsMessage { */ export interface Event { /** - *

                      The identifier of an event source.

                      + *

                      The event message.

                      */ - SourceIdentifier?: string; + Message?: string; /** - *

                      The event categories available for the specified source type.

                      + *

                      The identifier of an event source.

                      */ - EventCategories?: string[]; + SourceIdentifier?: string; /** *

                      The type of AWS DMS resource that generates events.

                      @@ -4524,9 +5073,9 @@ export interface Event { SourceType?: SourceType | string; /** - *

                      The event message.

                      + *

                      The event categories available for the specified source type.

                      */ - Message?: string; + EventCategories?: string[]; /** *

                      The date of the event.

                      @@ -4567,15 +5116,6 @@ export namespace DescribeEventsResponse { *

                      */ export interface DescribeEventSubscriptionsMessage { - /** - *

                      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.

                      - *

                      Default: 100

                      - *

                      Constraints: Minimum 20, maximum 100.

                      - */ - MaxRecords?: number; - /** *

                      An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified @@ -4592,6 +5132,15 @@ export interface DescribeEventSubscriptionsMessage { *

                      The name of the AWS DMS event subscription to be described.

                      */ SubscriptionName?: 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.

                      + *

                      Default: 100

                      + *

                      Constraints: Minimum 20, maximum 100.

                      + */ + MaxRecords?: number; } export namespace DescribeEventSubscriptionsMessage { @@ -4660,21 +5209,6 @@ export enum ReleaseStatusValues { * replication instance's type, engine version, and allocated storage.

                      */ export interface OrderableReplicationInstance { - /** - *

                      The version of the replication engine.

                      - */ - EngineVersion?: string; - - /** - *

                      The type of storage used by the replication instance.

                      - */ - StorageType?: string; - - /** - *

                      List of Availability Zones for this replication instance.

                      - */ - AvailabilityZones?: string[]; - /** *

                      The compute and memory capacity of the replication instance as defined for the specified * replication instance class. For example to specify the instance class dms.c4.large, set this parameter to "dms.c4.large".

                      @@ -4691,6 +5225,11 @@ export interface OrderableReplicationInstance { */ MinAllocatedStorage?: number; + /** + *

                      List of Availability Zones for this replication instance.

                      + */ + AvailabilityZones?: string[]; + /** *

                      The default amount of storage (in gigabytes) that is allocated for the replication * instance.

                      @@ -4698,13 +5237,9 @@ export interface OrderableReplicationInstance { DefaultAllocatedStorage?: number; /** - *

                      The value returned when the specified EngineVersion of the replication - * instance is in Beta or test mode. This indicates some features might not work as expected.

                      - * - *

                      AWS DMS supports the ReleaseStatus parameter in versions 3.1.4 and later.

                      - *
                      + *

                      The version of the replication engine.

                      */ - ReleaseStatus?: ReleaseStatusValues | string; + EngineVersion?: string; /** *

                      The minimum amount of storage (in gigabytes) that can be allocated for the replication @@ -4717,6 +5252,20 @@ export interface OrderableReplicationInstance { * instance.

                      */ IncludedAllocatedStorage?: number; + + /** + *

                      The type of storage used by the replication instance.

                      + */ + StorageType?: string; + + /** + *

                      The value returned when the specified EngineVersion of the replication + * instance is in Beta or test mode. This indicates some features might not work as expected.

                      + * + *

                      AWS DMS supports the ReleaseStatus parameter in versions 3.1.4 and later.

                      + *
                      + */ + ReleaseStatus?: ReleaseStatusValues | string; } export namespace OrderableReplicationInstance { @@ -4729,17 +5278,17 @@ export namespace OrderableReplicationInstance { *

                      */ export interface DescribeOrderableReplicationInstancesResponse { + /** + *

                      The order-able replication instances available.

                      + */ + OrderableReplicationInstances?: OrderableReplicationInstance[]; + /** *

                      An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified * by MaxRecords.

                      */ Marker?: string; - - /** - *

                      The order-able replication instances available.

                      - */ - OrderableReplicationInstances?: OrderableReplicationInstance[]; } export namespace DescribeOrderableReplicationInstancesResponse { @@ -4752,6 +5301,18 @@ export namespace DescribeOrderableReplicationInstancesResponse { *

                      */ export interface DescribePendingMaintenanceActionsMessage { + /** + *

                      An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

                      + */ + Marker?: string; + + /** + *

                      The Amazon Resource Name (ARN) of the replication instance.

                      + */ + ReplicationInstanceArn?: 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 @@ -4765,18 +5326,6 @@ export interface DescribePendingMaintenanceActionsMessage { *

                      */ Filters?: Filter[]; - - /** - *

                      The Amazon Resource Name (ARN) of the replication instance.

                      - */ - ReplicationInstanceArn?: string; - - /** - *

                      An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

                      - */ - Marker?: string; } export namespace DescribePendingMaintenanceActionsMessage { @@ -4836,14 +5385,14 @@ export enum RefreshSchemasStatusTypeValue { */ export interface RefreshSchemasStatus { /** - *

                      The date the schema was last refreshed.

                      + *

                      The status of the schema.

                      */ - LastRefreshDate?: Date; + Status?: RefreshSchemasStatusTypeValue | string; /** - *

                      The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                      + *

                      The last failure message for the schema.

                      */ - EndpointArn?: string; + LastFailureMessage?: string; /** *

                      The Amazon Resource Name (ARN) of the replication instance.

                      @@ -4851,14 +5400,14 @@ export interface RefreshSchemasStatus { ReplicationInstanceArn?: string; /** - *

                      The last failure message for the schema.

                      + *

                      The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                      */ - LastFailureMessage?: string; + EndpointArn?: string; /** - *

                      The status of the schema.

                      + *

                      The date the schema was last refreshed.

                      */ - Status?: RefreshSchemasStatusTypeValue | string; + LastRefreshDate?: Date; } export namespace RefreshSchemasStatus { @@ -4887,6 +5436,13 @@ export namespace DescribeRefreshSchemasStatusResponse { *

                      */ export interface DescribeReplicationInstancesMessage { + /** + *

                      Filters applied to replication instances.

                      + *

                      Valid filter names: replication-instance-arn | replication-instance-id | + * replication-instance-class | engine-version

                      + */ + Filters?: Filter[]; + /** *

                      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 @@ -4896,13 +5452,6 @@ export interface DescribeReplicationInstancesMessage { */ MaxRecords?: number; - /** - *

                      Filters applied to replication instances.

                      - *

                      Valid filter names: replication-instance-arn | replication-instance-id | - * replication-instance-class | engine-version

                      - */ - Filters?: Filter[]; - /** *

                      An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified @@ -4942,13 +5491,9 @@ export namespace DescribeReplicationInstancesResponse { export interface DescribeReplicationInstanceTaskLogsMessage { /** - *

                      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.

                      - *

                      Default: 100

                      - *

                      Constraints: Minimum 20, maximum 100.

                      + *

                      The Amazon Resource Name (ARN) of the replication instance.

                      */ - MaxRecords?: number; + ReplicationInstanceArn: string | undefined; /** *

                      An optional pagination token provided by a previous request. If this parameter is @@ -4958,9 +5503,13 @@ export interface DescribeReplicationInstanceTaskLogsMessage { Marker?: string; /** - *

                      The Amazon Resource Name (ARN) of the replication instance.

                      + *

                      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.

                      + *

                      Default: 100

                      + *

                      Constraints: Minimum 20, maximum 100.

                      */ - ReplicationInstanceArn: string | undefined; + MaxRecords?: number; } export namespace DescribeReplicationInstanceTaskLogsMessage { @@ -4997,10 +5546,11 @@ export namespace ReplicationInstanceTaskLog { export interface DescribeReplicationInstanceTaskLogsResponse { /** - *

                      An array of replication task log metadata. Each member of the array contains the - * replication task name, ARN, and task log size (in bytes).

                      + *

                      An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

                      */ - ReplicationInstanceTaskLogs?: ReplicationInstanceTaskLog[]; + Marker?: string; /** *

                      The Amazon Resource Name (ARN) of the replication instance.

                      @@ -5008,11 +5558,10 @@ export interface DescribeReplicationInstanceTaskLogsResponse { ReplicationInstanceArn?: string; /** - *

                      An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

                      + *

                      An array of replication task log metadata. Each member of the array contains the + * replication task name, ARN, and task log size (in bytes).

                      */ - Marker?: string; + ReplicationInstanceTaskLogs?: ReplicationInstanceTaskLog[]; } export namespace DescribeReplicationInstanceTaskLogsResponse { @@ -5025,6 +5574,13 @@ export namespace DescribeReplicationInstanceTaskLogsResponse { *

                      */ export interface DescribeReplicationSubnetGroupsMessage { + /** + *

                      An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

                      + */ + Marker?: 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 @@ -5034,13 +5590,6 @@ export interface DescribeReplicationSubnetGroupsMessage { */ MaxRecords?: number; - /** - *

                      An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

                      - */ - Marker?: string; - /** *

                      Filters applied to replication subnet groups.

                      *

                      Valid filter names: replication-subnet-group-id

                      @@ -5058,17 +5607,17 @@ export namespace DescribeReplicationSubnetGroupsMessage { *

                      */ export interface DescribeReplicationSubnetGroupsResponse { + /** + *

                      A description of the replication subnet groups.

                      + */ + ReplicationSubnetGroups?: ReplicationSubnetGroup[]; + /** *

                      An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified * by MaxRecords.

                      */ Marker?: string; - - /** - *

                      A description of the replication subnet groups.

                      - */ - ReplicationSubnetGroups?: ReplicationSubnetGroup[]; } export namespace DescribeReplicationSubnetGroupsResponse { @@ -5081,6 +5630,13 @@ export namespace DescribeReplicationSubnetGroupsResponse { *

                      */ export interface DescribeReplicationTaskAssessmentResultsMessage { + /** + *

                      The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input + * parameter is specified, the API returns only one result and ignore the values of the + * MaxRecords and Marker parameters.

                      + */ + ReplicationTaskArn?: string; + /** *

                      An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified @@ -5096,13 +5652,6 @@ export interface DescribeReplicationTaskAssessmentResultsMessage { *

                      Constraints: Minimum 20, maximum 100.

                      */ MaxRecords?: number; - - /** - *

                      The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input - * parameter is specified, the API returns only one result and ignore the values of the - * MaxRecords and Marker parameters.

                      - */ - ReplicationTaskArn?: string; } export namespace DescribeReplicationTaskAssessmentResultsMessage { @@ -5115,31 +5664,21 @@ export namespace DescribeReplicationTaskAssessmentResultsMessage { *

                      The task assessment report in JSON format.

                      */ export interface ReplicationTaskAssessmentResult { - /** - *

                      The URL of the S3 object containing the task assessment results.

                      - */ - S3ObjectUrl?: string; - - /** - *

                      The date the task assessment was completed.

                      - */ - ReplicationTaskLastAssessmentDate?: Date; - - /** - *

                      The Amazon Resource Name (ARN) of the replication task.

                      - */ - ReplicationTaskArn?: string; - /** *

                      The replication task identifier of the task on which the task assessment was run. *

                      */ - ReplicationTaskIdentifier?: string; + ReplicationTaskIdentifier?: string; + + /** + *

                      The URL of the S3 object containing the task assessment results.

                      + */ + S3ObjectUrl?: string; /** - *

                      The status of the task assessment.

                      + *

                      The date the task assessment was completed.

                      */ - AssessmentStatus?: string; + ReplicationTaskLastAssessmentDate?: Date; /** *

                      The task assessment results in JSON format.

                      @@ -5150,6 +5689,16 @@ export interface ReplicationTaskAssessmentResult { *

                      The file containing the results of the task assessment.

                      */ AssessmentResultsFile?: string; + + /** + *

                      The Amazon Resource Name (ARN) of the replication task.

                      + */ + ReplicationTaskArn?: string; + + /** + *

                      The status of the task assessment.

                      + */ + AssessmentStatus?: string; } export namespace ReplicationTaskAssessmentResult { @@ -5162,6 +5711,11 @@ export namespace ReplicationTaskAssessmentResult { *

                      */ export interface DescribeReplicationTaskAssessmentResultsResponse { + /** + *

                      The task assessment report.

                      + */ + ReplicationTaskAssessmentResults?: ReplicationTaskAssessmentResult[]; + /** *

                      An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified @@ -5173,11 +5727,6 @@ export interface DescribeReplicationTaskAssessmentResultsResponse { *

                      - The Amazon S3 bucket where the task assessment report is located.

                      */ BucketName?: string; - - /** - *

                      The task assessment report.

                      - */ - ReplicationTaskAssessmentResults?: ReplicationTaskAssessmentResult[]; } export namespace DescribeReplicationTaskAssessmentResultsResponse { @@ -5190,6 +5739,13 @@ export namespace DescribeReplicationTaskAssessmentResultsResponse { *

                      */ export interface DescribeReplicationTaskAssessmentRunsMessage { + /** + *

                      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; + /** *

                      Filters applied to the premigration assessment runs described in the form of key-value pairs.

                      *

                      Valid filter names: replication-task-assessment-run-arn, replication-task-arn, @@ -5198,13 +5754,6 @@ export interface DescribeReplicationTaskAssessmentRunsMessage { */ Filters?: Filter[]; - /** - *

                      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 request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified @@ -5223,6 +5772,11 @@ export namespace DescribeReplicationTaskAssessmentRunsMessage { *

                      */ export interface DescribeReplicationTaskAssessmentRunsResponse { + /** + *

                      One or more premigration assessment runs as specified by Filters.

                      + */ + ReplicationTaskAssessmentRuns?: ReplicationTaskAssessmentRun[]; + /** *

                      A pagination token returned for you to pass to a subsequent request. If you pass this * token as the Marker value in a subsequent request, the response includes only @@ -5230,11 +5784,6 @@ export interface DescribeReplicationTaskAssessmentRunsResponse { * MaxRecords.

                      */ Marker?: string; - - /** - *

                      One or more premigration assessment runs as specified by Filters.

                      - */ - ReplicationTaskAssessmentRuns?: ReplicationTaskAssessmentRun[]; } export namespace DescribeReplicationTaskAssessmentRunsResponse { @@ -5247,6 +5796,13 @@ export namespace DescribeReplicationTaskAssessmentRunsResponse { *

                      */ export interface DescribeReplicationTaskIndividualAssessmentsMessage { + /** + *

                      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; + /** *

                      Filters applied to the individual assessments described in the form of key-value * pairs.

                      @@ -5256,13 +5812,6 @@ export interface DescribeReplicationTaskIndividualAssessmentsMessage { */ Filters?: Filter[]; - /** - *

                      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 request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified @@ -5288,10 +5837,9 @@ export interface ReplicationTaskIndividualAssessment { IndividualAssessmentName?: string; /** - *

                      ARN of the premigration assessment run that is created to run this individual - * assessment.

                      + *

                      Amazon Resource Name (ARN) of this individual assessment.

                      */ - ReplicationTaskAssessmentRunArn?: string; + ReplicationTaskIndividualAssessmentArn?: string; /** *

                      Date when this individual assessment was started as part of running the @@ -5299,6 +5847,12 @@ export interface ReplicationTaskIndividualAssessment { */ ReplicationTaskIndividualAssessmentStartDate?: Date; + /** + *

                      ARN of the premigration assessment run that is created to run this individual + * assessment.

                      + */ + ReplicationTaskAssessmentRunArn?: string; + /** *

                      Individual assessment status.

                      *

                      This status can have one of the following values:

                      @@ -5336,11 +5890,6 @@ export interface ReplicationTaskIndividualAssessment { *
                    */ Status?: string; - - /** - *

                    Amazon Resource Name (ARN) of this individual assessment.

                    - */ - ReplicationTaskIndividualAssessmentArn?: string; } export namespace ReplicationTaskIndividualAssessment { @@ -5377,6 +5926,13 @@ export namespace DescribeReplicationTaskIndividualAssessmentsResponse { *

                    */ export interface DescribeReplicationTasksMessage { + /** + *

                    An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified + * by MaxRecords.

                    + */ + Marker?: 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 @@ -5386,13 +5942,6 @@ export interface DescribeReplicationTasksMessage { */ MaxRecords?: number; - /** - *

                    An option to set to avoid returning information about settings. Use this to reduce - * overhead when setting information is too large. To use this option, choose - * true; otherwise, choose false (the default).

                    - */ - WithoutSettings?: boolean; - /** *

                    Filters applied to replication tasks.

                    *

                    Valid filter names: replication-task-arn | replication-task-id | migration-type | @@ -5401,11 +5950,11 @@ export interface DescribeReplicationTasksMessage { Filters?: Filter[]; /** - *

                    An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified - * by MaxRecords.

                    + *

                    An option to set to avoid returning information about settings. Use this to reduce + * overhead when setting information is too large. To use this option, choose + * true; otherwise, choose false (the default).

                    */ - Marker?: string; + WithoutSettings?: boolean; } export namespace DescribeReplicationTasksMessage { @@ -5496,19 +6045,6 @@ export namespace DescribeSchemasResponse { *

                    */ export interface DescribeTableStatisticsMessage { - /** - *

                    The Amazon Resource Name (ARN) of the replication task.

                    - */ - ReplicationTaskArn: string | undefined; - - /** - *

                    Filters applied to table statistics.

                    - *

                    Valid filter names: schema-name | table-name | table-state

                    - *

                    A combination of filters creates an AND condition where each record matches all - * specified filters.

                    - */ - Filters?: Filter[]; - /** *

                    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 @@ -5524,6 +6060,19 @@ export interface DescribeTableStatisticsMessage { * by MaxRecords.

                    */ Marker?: string; + + /** + *

                    Filters applied to table statistics.

                    + *

                    Valid filter names: schema-name | table-name | table-state

                    + *

                    A combination of filters creates an AND condition where each record matches all + * specified filters.

                    + */ + Filters?: Filter[]; + + /** + *

                    The Amazon Resource Name (ARN) of the replication task.

                    + */ + ReplicationTaskArn: string | undefined; } export namespace DescribeTableStatisticsMessage { @@ -5538,57 +6087,116 @@ export namespace DescribeTableStatisticsMessage { */ export interface TableStatistics { /** - *

                    The number of records that failed validation.

                    + *

                    The data definition language (DDL) used to build and modify the structure of your tables.

                    */ - ValidationFailedRecords?: number; + Ddls?: number; /** - *

                    The number of insert actions performed on a table.

                    + *

                    A value that indicates if the table was reloaded (true) + * or loaded as part of a new full load operation (false).

                    */ - Inserts?: number; + FullLoadReloaded?: boolean; + + /** + *

                    The state of the tables described.

                    + *

                    Valid states: Table does not exist | Before load | Full load | Table completed | Table + * cancelled | Table error | Table all | Table updates | Table is being reloaded

                    + */ + TableState?: string; + + /** + *

                    Additional details about the state of validation.

                    + */ + ValidationStateDetails?: string; + + /** + *

                    The time when the full load operation started.

                    + */ + FullLoadStartTime?: Date; + + /** + *

                    The number of update actions performed on a table.

                    + */ + Updates?: number; + + /** + *

                    The number of rows that failed conditional checks during the full load operation (valid + * only for migrations where DynamoDB is the target).

                    + */ + FullLoadCondtnlChkFailedRows?: number; + + /** + *

                    The number of delete actions performed on a table.

                    + */ + Deletes?: number; + + /** + *

                    The number of rows that failed to load during the full load operation (valid only for + * migrations where DynamoDB is the target).

                    + */ + FullLoadErrorRows?: number; + + /** + *

                    The last time a table was updated.

                    + */ + LastUpdateTime?: Date; + + /** + *

                    The time when the full load operation completed.

                    + */ + FullLoadEndTime?: Date; /** *

                    The validation state of the table.

                    *

                    This parameter can have the following values:

                    *
                      *
                    • - *

                      Not enabled - Validation isn't enabled for the table in the migration + *

                      Not enabled – Validation isn't enabled for the table in the migration * task.

                      *
                    • *
                    • - *

                      Pending records - Some records in the table are waiting for validation.

                      + *

                      Pending records – Some records in the table are waiting for validation.

                      *
                    • *
                    • - *

                      Mismatched records - Some records in the table don't match between the source + *

                      Mismatched records – Some records in the table don't match between the source * and target.

                      *
                    • *
                    • - *

                      Suspended records - Some records in the table couldn't be validated.

                      + *

                      Suspended records – Some records in the table couldn't be validated.

                      *
                    • *
                    • - *

                      No primary key - The table couldn't be validated because it has no primary + *

                      No primary key –The table couldn't be validated because it has no primary * key.

                      *
                    • *
                    • - *

                      Table error - The table wasn't validated because it's in an error state + *

                      Table error – The table wasn't validated because it's in an error state * and some data wasn't migrated.

                      *
                    • *
                    • - *

                      Validated - All rows in the table are validated. If the table is updated, the + *

                      Validated – All rows in the table are validated. If the table is updated, the * status can change from Validated.

                      *
                    • *
                    • - *

                      Error - The table couldn't be validated because of an unexpected + *

                      Error – The table couldn't be validated because of an unexpected * error.

                      *
                    • + *
                    • + *

                      Pending validation – The table is waiting validation.

                      + *
                    • + *
                    • + *

                      Preparing table – Preparing the table enabled in the migration task for validation.

                      + *
                    • + *
                    • + *

                      Pending revalidation – All rows in the table are pending validation after the table was updated.

                      + *
                    • *
                    */ ValidationState?: string; /** - *

                    Additional details about the state of validation.

                    + *

                    The number of rows added during the full load operation.

                    */ - ValidationStateDetails?: string; + FullLoadRows?: number; /** *

                    The name of the table.

                    @@ -5596,79 +6204,29 @@ export interface TableStatistics { TableName?: string; /** - *

                    The number of rows added during the full load operation.

                    + *

                    The number of records that failed validation.

                    */ - FullLoadRows?: number; + ValidationFailedRecords?: number; /** - *

                    The state of the tables described.

                    - *

                    Valid states: Table does not exist | Before load | Full load | Table completed | Table - * cancelled | Table error | Table all | Table updates | Table is being reloaded

                    + *

                    The number of insert actions performed on a table.

                    */ - TableState?: string; + Inserts?: number; /** *

                    The schema name.

                    */ - SchemaName?: string; - - /** - *

                    The number of records that couldn't be validated.

                    - */ - ValidationSuspendedRecords?: number; - - /** - *

                    The number of records that have yet to be validated.

                    - */ - ValidationPendingRecords?: number; - - /** - *

                    A value that indicates if the table was reloaded (true) - * or loaded as part of a new full load operation (false).

                    - */ - FullLoadReloaded?: boolean; - - /** - *

                    The number of update actions performed on a table.

                    - */ - Updates?: number; - - /** - *

                    The data definition language (DDL) used to build and modify the structure of your tables.

                    - */ - Ddls?: number; - - /** - *

                    The last time a table was updated.

                    - */ - LastUpdateTime?: Date; - - /** - *

                    The time when the full load operation completed.

                    - */ - FullLoadEndTime?: Date; - - /** - *

                    The time when the full load operation started.

                    - */ - FullLoadStartTime?: Date; - - /** - *

                    The number of rows that failed to load during the full load operation (valid only for - * migrations where DynamoDB is the target).

                    - */ - FullLoadErrorRows?: number; + SchemaName?: string; /** - *

                    The number of delete actions performed on a table.

                    + *

                    The number of records that couldn't be validated.

                    */ - Deletes?: number; + ValidationSuspendedRecords?: number; /** - *

                    The number of rows that failed conditional checks during the full load operation (valid - * only for migrations where DynamoDB is the target).

                    + *

                    The number of records that have yet to be validated.

                    */ - FullLoadCondtnlChkFailedRows?: number; + ValidationPendingRecords?: number; } export namespace TableStatistics { @@ -5707,9 +6265,11 @@ export namespace DescribeTableStatisticsResponse { export interface ImportCertificateMessage { /** - *

                    The location of an imported Oracle Wallet certificate for use with SSL.

                    + *

                    A customer-assigned name for the certificate. Identifiers must begin with a letter and + * must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or + * contain two consecutive hyphens.

                    */ - CertificateWallet?: Uint8Array; + CertificateIdentifier: string | undefined; /** *

                    The contents of a .pem file, which contains an X.509 certificate.

                    @@ -5717,11 +6277,9 @@ export interface ImportCertificateMessage { CertificatePem?: string; /** - *

                    A customer-assigned name for the certificate. Identifiers must begin with a letter and - * must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or - * contain two consecutive hyphens.

                    + *

                    The location of an imported Oracle Wallet certificate for use with SSL.

                    */ - CertificateIdentifier: string | undefined; + CertificateWallet?: Uint8Array; /** *

                    The tags associated with the certificate.

                    @@ -5801,119 +6359,115 @@ export namespace ListTagsForResourceResponse { */ export interface ModifyEndpointMessage { /** - *

                    Settings in JSON format for the source and target SAP ASE endpoint. For information - * about other available settings, see Extra connection attributes - * when using SAP ASE as a source for AWS DMS and Extra connection attributes - * when using SAP ASE as a target for AWS DMS in the AWS Database - * Migration Service User Guide. - *

                    - */ - SybaseSettings?: SybaseSettings; - - /** - *

                    Settings in JSON format for the source and target Microsoft SQL Server endpoint. For - * information about other available settings, see Extra connection - * attributes when using SQL Server as a source for AWS DMS and - * Extra connection attributes when using SQL Server as a target for AWS DMS in the - * AWS Database Migration Service User Guide. - *

                    - */ - MicrosoftSQLServerSettings?: MicrosoftSQLServerSettings; - - /** - *

                    Settings in JSON format for the source and target Oracle endpoint. For information about - * other available settings, see Extra connection - * attributes when using Oracle as a source for AWS DMS and - * Extra connection attributes when using Oracle as a target for AWS DMS in the + *

                    Settings in JSON format for the source and target PostgreSQL endpoint. For information + * about other available settings, see Extra connection + * attributes when using PostgreSQL as a source for AWS DMS and + * Extra connection attributes when using PostgreSQL as a target for AWS DMS in the * AWS Database Migration Service User Guide. *

                    */ - OracleSettings?: OracleSettings; - - /** - *

                    The database endpoint identifier. Identifiers must begin with a letter and must contain - * only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two - * consecutive hyphens.

                    - */ - EndpointIdentifier?: string; + PostgreSQLSettings?: PostgreSQLSettings; /** - *

                    The Amazon Resource Name (ARN) for the service access role you want to use to modify - * the endpoint.

                    + *

                    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                    */ - ServiceAccessRoleArn?: string; + EndpointArn: string | undefined; /** - *

                    The type of endpoint. Valid values are source and target.

                    + *

                    Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other + * available settings, see Using Object Mapping to Migrate + * Data to DynamoDB in the AWS Database Migration Service User + * Guide. + *

                    */ - EndpointType?: ReplicationEndpointTypeValue | string; + DynamoDbSettings?: DynamoDbSettings; /** - *

                    The port used by the endpoint database.

                    + *

                    The type of engine for the endpoint. Valid values, depending on the EndpointType, + * include + * "mysql", "oracle", "postgres", + * "mariadb", "aurora", "aurora-postgresql", + * "redshift", "s3", "db2", "azuredb", + * "sybase", "dynamodb", "mongodb", + * "kinesis", "kafka", "elasticsearch", + * "documentdb", "sqlserver", and "neptune".

                    */ - Port?: number; + EngineName?: string; /** - *

                    The SSL mode used to connect to the endpoint. The default value is none.

                    + *

                    Settings in JSON format for the source and target MySQL endpoint. For information about + * other available settings, see Extra connection + * attributes when using MySQL as a source for AWS DMS and Extra + * connection attributes when using a MySQL-compatible database as a target for AWS + * DMS in the AWS Database Migration Service User + * Guide. + *

                    */ - SslMode?: DmsSslModeValue | string; + MySQLSettings?: MySQLSettings; /** - *

                    Additional attributes associated with the connection. To reset this parameter, pass the - * empty string ("") as an argument.

                    + *

                    Settings in JSON format for the target Amazon S3 endpoint. For more information about + * the available settings, see Extra + * Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the + * AWS Database Migration Service User Guide. + *

                    */ - ExtraConnectionAttributes?: string; + S3Settings?: S3Settings; /** - *

                    The Amazon Resource Name (ARN) of the certificate used for SSL connection.

                    + *

                    The external table definition.

                    */ - CertificateArn?: string; + ExternalTableDefinition?: string; /** - *

                    The name of the endpoint database.

                    + *

                    The user name to be used to login to the endpoint database.

                    */ - DatabaseName?: string; + Username?: string; /** - *

                    The user name to be used to login to the endpoint database.

                    + *

                    Settings in JSON format for the target Apache Kafka endpoint. For more information about + * the available settings, see Using Apache Kafka as a Target for AWS + * Database Migration Service in the AWS Database Migration Service User + * Guide. + *

                    */ - Username?: string; + KafkaSettings?: KafkaSettings; /** - *

                    The external table definition.

                    + *

                    The database endpoint identifier. Identifiers must begin with a letter and must contain + * only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two + * consecutive hyphens.

                    */ - ExternalTableDefinition?: string; + EndpointIdentifier?: string; /** - *

                    Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other - * available settings, see Using Object Mapping to Migrate - * Data to DynamoDB in the AWS Database Migration Service User - * Guide. + *

                    Settings in JSON format for the source and target Microsoft SQL Server endpoint. For + * information about other available settings, see Extra connection + * attributes when using SQL Server as a source for AWS DMS and + * Extra connection attributes when using SQL Server as a target for AWS DMS in the + * AWS Database Migration Service User Guide. *

                    */ - DynamoDbSettings?: DynamoDbSettings; + MicrosoftSQLServerSettings?: MicrosoftSQLServerSettings; /** - *

                    The type of engine for the endpoint. Valid values, depending on the EndpointType, - * include - * "mysql", "oracle", "postgres", - * "mariadb", "aurora", "aurora-postgresql", - * "redshift", "s3", "db2", "azuredb", - * "sybase", "dynamodb", "mongodb", - * "kinesis", "kafka", "elasticsearch", - * "documentdb", "sqlserver", and "neptune".

                    + *

                    Settings in JSON format for the source and target Oracle endpoint. For information about + * other available settings, see Extra connection + * attributes when using Oracle as a source for AWS DMS and + * Extra connection attributes when using Oracle as a target for AWS DMS in the + * AWS Database Migration Service User Guide. + *

                    */ - EngineName?: string; + OracleSettings?: OracleSettings; /** - *

                    Settings in JSON format for the source and target PostgreSQL endpoint. For information - * about other available settings, see Extra connection - * attributes when using PostgreSQL as a source for AWS DMS and - * Extra connection attributes when using PostgreSQL as a target for AWS DMS in the - * AWS Database Migration Service User Guide. + *

                    Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other + * available settings, see Extra connection attributes + * when using Db2 LUW as a source for AWS DMS in the AWS Database + * Migration Service User Guide. *

                    */ - PostgreSQLSettings?: PostgreSQLSettings; + IBMDb2Settings?: IBMDb2Settings; /** *

                    The settings in JSON format for the DMS transfer type of source endpoint.

                    @@ -5947,108 +6501,112 @@ export interface ModifyEndpointMessage { ServerName?: string; /** - *

                    Settings in JSON format for the target Elasticsearch endpoint. For more information - * about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in - * the AWS Database Migration Service User Guide. + *

                    The port used by the endpoint database.

                    + */ + Port?: number; + + /** + *

                    The Amazon Resource Name (ARN) of the certificate used for SSL connection.

                    + */ + CertificateArn?: string; + + /** + *

                    Settings in JSON format for the source MongoDB endpoint. For more information about the + * available settings, see the configuration properties section in Using MongoDB as a Target for AWS + * Database Migration Service in the AWS Database Migration Service User + * Guide. *

                    */ - ElasticsearchSettings?: ElasticsearchSettings; + MongoDbSettings?: MongoDbSettings; /** - *

                    Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For - * more information about the available settings, see Using Amazon Kinesis Data Streams - * as a Target for AWS Database Migration Service in the AWS Database Migration Service User - * Guide. + *

                    Settings in JSON format for the target Amazon Neptune endpoint. For more information + * about the available settings, see Specifying Endpoint Settings for Amazon Neptune as a Target + * in the AWS Database Migration Service User Guide. *

                    */ - KinesisSettings?: KinesisSettings; + NeptuneSettings?: NeptuneSettings; /** - *

                    Provides information that defines an Amazon Redshift endpoint.

                    + *

                    The name of the endpoint database.

                    */ - RedshiftSettings?: RedshiftSettings; + DatabaseName?: string; /** - *

                    Settings in JSON format for the source and target MySQL endpoint. For information about - * other available settings, see Extra connection - * attributes when using MySQL as a source for AWS DMS and Extra - * connection attributes when using a MySQL-compatible database as a target for AWS - * DMS in the AWS Database Migration Service User - * Guide. - *

                    + *

                    Provides information that defines an Amazon Redshift endpoint.

                    */ - MySQLSettings?: MySQLSettings; + RedshiftSettings?: RedshiftSettings; /** - *

                    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                    + *

                    Additional attributes associated with the connection. To reset this parameter, pass the + * empty string ("") as an argument.

                    */ - EndpointArn: string | undefined; + ExtraConnectionAttributes?: string; /** - *

                    Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other - * available settings, see Extra connection attributes - * when using Db2 LUW as a source for AWS DMS in the AWS Database + *

                    Settings in JSON format for the source and target SAP ASE endpoint. For information + * about other available settings, see Extra connection attributes + * when using SAP ASE as a source for AWS DMS and Extra connection attributes + * when using SAP ASE as a target for AWS DMS in the AWS Database * Migration Service User Guide. *

                    */ - IBMDb2Settings?: IBMDb2Settings; + SybaseSettings?: SybaseSettings; /** - *

                    Settings in JSON format for the target Amazon S3 endpoint. For more information about - * the available settings, see Extra - * Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the - * AWS Database Migration Service User Guide. - *

                    + *

                    The password to be used to login to the endpoint database.

                    */ - S3Settings?: S3Settings; + Password?: string; /** - *

                    Settings in JSON format for the target Amazon Neptune endpoint. For more information - * about the available settings, see Specifying Endpoint Settings for Amazon Neptune as a Target - * in the AWS Database Migration Service User Guide. + *

                    The Amazon Resource Name (ARN) for the service access role you want to use to modify + * the endpoint.

                    + */ + ServiceAccessRoleArn?: string; + + /** + *

                    Settings in JSON format for the target Elasticsearch endpoint. For more information + * about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in + * the AWS Database Migration Service User Guide. *

                    */ - NeptuneSettings?: NeptuneSettings; + ElasticsearchSettings?: ElasticsearchSettings; /** - *

                    Settings in JSON format for the target Apache Kafka endpoint. For more information about - * the available settings, see Using Apache Kafka as a Target for AWS - * Database Migration Service in the AWS Database Migration Service User + *

                    Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For + * more information about the available settings, see Using Amazon Kinesis Data Streams + * as a Target for AWS Database Migration Service in the AWS Database Migration Service User * Guide. *

                    */ - KafkaSettings?: KafkaSettings; + KinesisSettings?: KinesisSettings; /** - *

                    Settings in JSON format for the source MongoDB endpoint. For more information about the - * available settings, see the configuration properties section in Using MongoDB as a Target for AWS - * Database Migration Service in the AWS Database Migration Service User - * Guide. - *

                    + *

                    The type of endpoint. Valid values are source and target.

                    */ - MongoDbSettings?: MongoDbSettings; + EndpointType?: ReplicationEndpointTypeValue | string; /** - *

                    The password to be used to login to the endpoint database.

                    + *

                    The SSL mode used to connect to the endpoint. The default value is none.

                    */ - Password?: string; + SslMode?: DmsSslModeValue | string; } export namespace ModifyEndpointMessage { export const filterSensitiveLog = (obj: ModifyEndpointMessage): any => ({ ...obj, - ...(obj.SybaseSettings && { SybaseSettings: SybaseSettings.filterSensitiveLog(obj.SybaseSettings) }), - ...(obj.MicrosoftSQLServerSettings && { - MicrosoftSQLServerSettings: MicrosoftSQLServerSettings.filterSensitiveLog(obj.MicrosoftSQLServerSettings), - }), - ...(obj.OracleSettings && { OracleSettings: OracleSettings.filterSensitiveLog(obj.OracleSettings) }), ...(obj.PostgreSQLSettings && { PostgreSQLSettings: PostgreSQLSettings.filterSensitiveLog(obj.PostgreSQLSettings), }), - ...(obj.RedshiftSettings && { RedshiftSettings: RedshiftSettings.filterSensitiveLog(obj.RedshiftSettings) }), ...(obj.MySQLSettings && { MySQLSettings: MySQLSettings.filterSensitiveLog(obj.MySQLSettings) }), + ...(obj.MicrosoftSQLServerSettings && { + MicrosoftSQLServerSettings: MicrosoftSQLServerSettings.filterSensitiveLog(obj.MicrosoftSQLServerSettings), + }), + ...(obj.OracleSettings && { OracleSettings: OracleSettings.filterSensitiveLog(obj.OracleSettings) }), ...(obj.IBMDb2Settings && { IBMDb2Settings: IBMDb2Settings.filterSensitiveLog(obj.IBMDb2Settings) }), ...(obj.MongoDbSettings && { MongoDbSettings: MongoDbSettings.filterSensitiveLog(obj.MongoDbSettings) }), + ...(obj.RedshiftSettings && { RedshiftSettings: RedshiftSettings.filterSensitiveLog(obj.RedshiftSettings) }), + ...(obj.SybaseSettings && { SybaseSettings: SybaseSettings.filterSensitiveLog(obj.SybaseSettings) }), ...(obj.Password && { Password: SENSITIVE_STRING }), }); } @@ -6075,10 +6633,10 @@ export namespace ModifyEndpointResponse { */ export interface ModifyEventSubscriptionMessage { /** - *

                    A list of event categories for a source type that you want to subscribe to. Use the - * DescribeEventCategories action to see a list of event categories.

                    + *

                    The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. + * The ARN is created by Amazon SNS when you create a topic and subscribe to it.

                    */ - EventCategories?: string[]; + SnsTopicArn?: string; /** *

                    A Boolean value; set to true to activate the @@ -6087,21 +6645,21 @@ export interface ModifyEventSubscriptionMessage { Enabled?: boolean; /** - *

                    The name of the AWS DMS event notification subscription to be modified.

                    + *

                    The type of AWS DMS resource that generates the events you want to subscribe to.

                    + *

                    Valid values: replication-instance | replication-task

                    */ - SubscriptionName: string | undefined; + SourceType?: string; /** - *

                    The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. - * The ARN is created by Amazon SNS when you create a topic and subscribe to it.

                    + *

                    The name of the AWS DMS event notification subscription to be modified.

                    */ - SnsTopicArn?: string; + SubscriptionName: string | undefined; /** - *

                    The type of AWS DMS resource that generates the events you want to subscribe to.

                    - *

                    Valid values: replication-instance | replication-task

                    + *

                    A list of event categories for a source type that you want to subscribe to. Use the + * DescribeEventCategories action to see a list of event categories.

                    */ - SourceType?: string; + EventCategories?: string[]; } export namespace ModifyEventSubscriptionMessage { @@ -6131,19 +6689,17 @@ export namespace ModifyEventSubscriptionResponse { */ export interface ModifyReplicationInstanceMessage { /** - *

                    The compute and memory capacity of the replication instance as defined for the specified - * replication instance class. For example to specify the instance class dms.c4.large, set this parameter to "dms.c4.large".

                    - *

                    For more information on the settings and capacities for the available replication instance classes, see - * - * Selecting the right AWS DMS replication instance for your migration. - *

                    - */ - ReplicationInstanceClass?: string; - - /** - *

                    The Amazon Resource Name (ARN) of the replication instance.

                    + *

                    The weekly time range (in UTC) during which system maintenance can occur, which might + * result in an outage. Changing this parameter does not result in an outage, except in the + * following situation, and the change is asynchronously applied as soon as possible. If + * moving this window to the current time, there must be at least 30 minutes between the + * current time and end of the window to ensure pending changes are applied.

                    + *

                    Default: Uses existing setting

                    + *

                    Format: ddd:hh24:mi-ddd:hh24:mi

                    + *

                    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                    + *

                    Constraints: Must be at least 30 minutes

                    */ - ReplicationInstanceArn: string | undefined; + PreferredMaintenanceWindow?: string; /** *

                    A value that indicates that minor version upgrades are applied automatically to the @@ -6165,6 +6721,16 @@ export interface ModifyReplicationInstanceMessage { */ AutoMinorVersionUpgrade?: boolean; + /** + *

                    The compute and memory capacity of the replication instance as defined for the specified + * replication instance class. For example to specify the instance class dms.c4.large, set this parameter to "dms.c4.large".

                    + *

                    For more information on the settings and capacities for the available replication instance classes, see + * + * Selecting the right AWS DMS replication instance for your migration. + *

                    + */ + ReplicationInstanceClass?: string; + /** *

                    Specifies the VPC security group to be used with the replication instance. The VPC * security group must work with the VPC containing the replication instance.

                    @@ -6181,41 +6747,35 @@ export interface ModifyReplicationInstanceMessage { AllowMajorVersionUpgrade?: boolean; /** - *

                    Specifies whether the replication instance is a Multi-AZ deployment. You can't set the - * AvailabilityZone parameter if the Multi-AZ parameter is set to - * true.

                    + *

                    The engine version number of the replication instance.

                    + *

                    When modifying a major engine version of an instance, also set + * AllowMajorVersionUpgrade to true.

                    */ - MultiAZ?: boolean; + EngineVersion?: string; /** - *

                    Indicates whether the changes should be applied immediately or during the next - * maintenance window.

                    + *

                    The replication instance identifier. This parameter is stored as a lowercase + * string.

                    */ - ApplyImmediately?: boolean; + ReplicationInstanceIdentifier?: string; /** - *

                    The engine version number of the replication instance.

                    + *

                    Indicates whether the changes should be applied immediately or during the next + * maintenance window.

                    */ - EngineVersion?: string; + ApplyImmediately?: boolean; /** - *

                    The replication instance identifier. This parameter is stored as a lowercase - * string.

                    + *

                    The Amazon Resource Name (ARN) of the replication instance.

                    */ - ReplicationInstanceIdentifier?: string; + ReplicationInstanceArn: string | undefined; /** - *

                    The weekly time range (in UTC) during which system maintenance can occur, which might - * result in an outage. Changing this parameter does not result in an outage, except in the - * following situation, and the change is asynchronously applied as soon as possible. If - * moving this window to the current time, there must be at least 30 minutes between the - * current time and end of the window to ensure pending changes are applied.

                    - *

                    Default: Uses existing setting

                    - *

                    Format: ddd:hh24:mi-ddd:hh24:mi

                    - *

                    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

                    - *

                    Constraints: Must be at least 30 minutes

                    + *

                    Specifies whether the replication instance is a Multi-AZ deployment. You can't set the + * AvailabilityZone parameter if the Multi-AZ parameter is set to + * true.

                    */ - PreferredMaintenanceWindow?: string; + MultiAZ?: boolean; /** *

                    The amount of storage (in gigabytes) to be allocated for the replication @@ -6329,13 +6889,10 @@ export namespace SubnetAlreadyInUse { */ export interface ModifyReplicationTaskMessage { /** - *

                    When using the AWS CLI or boto3, provide the path of the JSON file that contains the - * table mappings. Precede the path with file://. When working with the DMS API, - * provide the JSON as the parameter value, for example: --table-mappings - * file://mappingfile.json + *

                    The migration type. Valid values: full-load | cdc | full-load-and-cdc *

                    */ - TableMappings?: string; + MigrationType?: MigrationTypeValue | string; /** *

                    Indicates when you want a change data capture (CDC) operation to start. Use either @@ -6357,9 +6914,12 @@ export interface ModifyReplicationTaskMessage { CdcStartPosition?: string; /** - *

                    JSON file that contains settings for the task, such as task metadata settings.

                    + *

                    Indicates when you want a change data capture (CDC) operation to stop. The value can be + * either server time or commit time.

                    + *

                    Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

                    + *

                    Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12 “

                    */ - ReplicationTaskSettings?: string; + CdcStopPosition?: string; /** *

                    The replication task identifier.

                    @@ -6378,25 +6938,11 @@ export interface ModifyReplicationTaskMessage { */ ReplicationTaskIdentifier?: string; - /** - *

                    Indicates when you want a change data capture (CDC) operation to stop. The value can be - * either server time or commit time.

                    - *

                    Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

                    - *

                    Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

                    - */ - CdcStopPosition?: string; - /** *

                    The Amazon Resource Name (ARN) of the replication task.

                    */ ReplicationTaskArn: string | undefined; - /** - *

                    The migration type. Valid values: full-load | cdc | full-load-and-cdc - *

                    - */ - MigrationType?: MigrationTypeValue | string; - /** *

                    Supplemental information that the task requires to migrate the data for certain source and target endpoints. * For more information, see Specifying Supplemental Data for Task Settings in the @@ -6405,6 +6951,20 @@ export interface ModifyReplicationTaskMessage { */ TaskData?: string; + /** + *

                    JSON file that contains settings for the task, such as task metadata settings.

                    + */ + ReplicationTaskSettings?: string; + + /** + *

                    When using the AWS CLI or boto3, provide the path of the JSON file that contains the + * table mappings. Precede the path with file://. When working with the DMS API, + * provide the JSON as the parameter value, for example: --table-mappings + * file://mappingfile.json + *

                    + */ + TableMappings?: string; + /** *

                    Indicates the start time for a change data capture (CDC) operation. Use either * CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. @@ -6474,14 +7034,14 @@ export namespace RebootReplicationInstanceResponse { */ export interface RefreshSchemasMessage { /** - *

                    The Amazon Resource Name (ARN) of the replication instance.

                    + *

                    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                    */ - ReplicationInstanceArn: string | undefined; + EndpointArn: string | undefined; /** - *

                    The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

                    + *

                    The Amazon Resource Name (ARN) of the replication instance.

                    */ - EndpointArn: string | undefined; + ReplicationInstanceArn: string | undefined; } export namespace RefreshSchemasMessage { @@ -6516,14 +7076,14 @@ export enum ReloadOptionValue { */ export interface TableToReload { /** - *

                    The schema name of the table to be reloaded.

                    + *

                    The table name of the table to be reloaded.

                    */ - SchemaName: string | undefined; + TableName: string | undefined; /** - *

                    The table name of the table to be reloaded.

                    + *

                    The schema name of the table to be reloaded.

                    */ - TableName: string | undefined; + SchemaName: string | undefined; } export namespace TableToReload { @@ -6534,14 +7094,14 @@ export namespace TableToReload { export interface ReloadTablesMessage { /** - *

                    The Amazon Resource Name (ARN) of the replication task.

                    + *

                    The name and schema of the table to be reloaded.

                    */ - ReplicationTaskArn: string | undefined; + TablesToReload: TableToReload[] | undefined; /** - *

                    The name and schema of the table to be reloaded.

                    + *

                    The Amazon Resource Name (ARN) of the replication task.

                    */ - TablesToReload: TableToReload[] | undefined; + ReplicationTaskArn: string | undefined; /** *

                    Options for reload. Specify data-reload to reload the data and re-validate @@ -6614,6 +7174,24 @@ export enum StartReplicationTaskTypeValue { *

                    */ export interface StartReplicationTaskMessage { + /** + *

                    A type of replication task.

                    + */ + StartReplicationTaskType: StartReplicationTaskTypeValue | string | undefined; + + /** + *

                    The Amazon Resource Name (ARN) of the replication task to be started.

                    + */ + ReplicationTaskArn: string | undefined; + + /** + *

                    Indicates when you want a change data capture (CDC) operation to stop. The value can be + * either server time or commit time.

                    + *

                    Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

                    + *

                    Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12 “

                    + */ + CdcStopPosition?: string; + /** *

                    Indicates when you want a change data capture (CDC) operation to start. Use either * CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. @@ -6633,24 +7211,6 @@ export interface StartReplicationTaskMessage { */ CdcStartPosition?: string; - /** - *

                    Indicates when you want a change data capture (CDC) operation to stop. The value can be - * either server time or commit time.

                    - *

                    Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

                    - *

                    Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

                    - */ - CdcStopPosition?: string; - - /** - *

                    The Amazon Resource Name (ARN) of the replication task to be started.

                    - */ - ReplicationTaskArn: string | undefined; - - /** - *

                    The type of replication task.

                    - */ - StartReplicationTaskType: StartReplicationTaskTypeValue | string | undefined; - /** *

                    Indicates the start time for a change data capture (CDC) operation. Use either * CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. @@ -6764,16 +7324,6 @@ export namespace S3ResourceNotFoundFault { *

                    */ export interface StartReplicationTaskAssessmentRunMessage { - /** - *

                    ARN of a service role needed to start the assessment run.

                    - */ - ServiceAccessRoleArn: string | undefined; - - /** - *

                    Unique name to identify the assessment run.

                    - */ - AssessmentRunName: string | undefined; - /** *

                    Folder within an Amazon S3 bucket where you want AWS DMS to store the results of this assessment * run.

                    @@ -6800,22 +7350,6 @@ export interface StartReplicationTaskAssessmentRunMessage { */ ResultEncryptionMode?: string; - /** - *

                    Space-separated list of names for specific individual assessments that you want to - * include. These names come from the default list of individual assessments that AWS DMS - * supports for the associated migration task. This task is specified by - * ReplicationTaskArn.

                    - * - *

                    You can't set a value for IncludeOnly if you also set a value for - * Exclude in the API operation.

                    - *

                    To identify the names of the default individual assessments that AWS DMS - * supports for the associated migration task, run the - * DescribeApplicableIndividualAssessments operation using its own - * ReplicationTaskArn request parameter.

                    - *
                    - */ - IncludeOnly?: string[]; - /** *

                    Space-separated list of names for specific individual assessments that you want to * exclude. These names come from the default list of individual assessments that AWS DMS @@ -6832,6 +7366,17 @@ export interface StartReplicationTaskAssessmentRunMessage { */ Exclude?: string[]; + /** + *

                    Unique name to identify the assessment run.

                    + */ + AssessmentRunName: string | undefined; + + /** + *

                    ARN of a custom KMS encryption key that you specify when you set + * ResultEncryptionMode to "SSE_KMS".

                    + */ + ResultKmsKeyArn?: string; + /** *

                    Amazon S3 bucket where you want AWS DMS to store the results of this assessment * run.

                    @@ -6845,10 +7390,25 @@ export interface StartReplicationTaskAssessmentRunMessage { ReplicationTaskArn: string | undefined; /** - *

                    ARN of a custom KMS encryption key that you specify when you set - * ResultEncryptionMode to "SSE_KMS".

                    + *

                    Space-separated list of names for specific individual assessments that you want to + * include. These names come from the default list of individual assessments that AWS DMS + * supports for the associated migration task. This task is specified by + * ReplicationTaskArn.

                    + * + *

                    You can't set a value for IncludeOnly if you also set a value for + * Exclude in the API operation.

                    + *

                    To identify the names of the default individual assessments that AWS DMS + * supports for the associated migration task, run the + * DescribeApplicableIndividualAssessments operation using its own + * ReplicationTaskArn request parameter.

                    + *
                    */ - ResultKmsKeyArn?: string; + IncludeOnly?: string[]; + + /** + *

                    ARN of a service role needed to start the assessment run.

                    + */ + ServiceAccessRoleArn: string | undefined; } export namespace StartReplicationTaskAssessmentRunMessage { diff --git a/clients/client-database-migration-service/protocols/Aws_json1_1.ts b/clients/client-database-migration-service/protocols/Aws_json1_1.ts index 43a43c9d77f4..f0d3e2c40223 100644 --- a/clients/client-database-migration-service/protocols/Aws_json1_1.ts +++ b/clients/client-database-migration-service/protocols/Aws_json1_1.ts @@ -5169,6 +5169,7 @@ const serializeAws_json1_1CreateEndpointMessage = (input: CreateEndpointMessage, ...(input.RedshiftSettings !== undefined && { RedshiftSettings: serializeAws_json1_1RedshiftSettings(input.RedshiftSettings, context), }), + ...(input.ResourceIdentifier !== undefined && { ResourceIdentifier: input.ResourceIdentifier }), ...(input.S3Settings !== undefined && { S3Settings: serializeAws_json1_1S3Settings(input.S3Settings, context) }), ...(input.ServerName !== undefined && { ServerName: input.ServerName }), ...(input.ServiceAccessRoleArn !== undefined && { ServiceAccessRoleArn: input.ServiceAccessRoleArn }), @@ -5221,6 +5222,7 @@ const serializeAws_json1_1CreateReplicationInstanceMessage = ( ...(input.ReplicationSubnetGroupIdentifier !== undefined && { ReplicationSubnetGroupIdentifier: input.ReplicationSubnetGroupIdentifier, }), + ...(input.ResourceIdentifier !== undefined && { ResourceIdentifier: input.ResourceIdentifier }), ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), ...(input.VpcSecurityGroupIds !== undefined && { VpcSecurityGroupIds: serializeAws_json1_1VpcSecurityGroupIdList(input.VpcSecurityGroupIds, context), @@ -5260,6 +5262,7 @@ const serializeAws_json1_1CreateReplicationTaskMessage = ( ReplicationTaskIdentifier: input.ReplicationTaskIdentifier, }), ...(input.ReplicationTaskSettings !== undefined && { ReplicationTaskSettings: input.ReplicationTaskSettings }), + ...(input.ResourceIdentifier !== undefined && { ResourceIdentifier: input.ResourceIdentifier }), ...(input.SourceEndpointArn !== undefined && { SourceEndpointArn: input.SourceEndpointArn }), ...(input.TableMappings !== undefined && { TableMappings: input.TableMappings }), ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), @@ -5619,10 +5622,13 @@ const serializeAws_json1_1FilterValueList = (input: string[], context: __SerdeCo const serializeAws_json1_1IBMDb2Settings = (input: IBMDb2Settings, context: __SerdeContext): any => { return { + ...(input.CurrentLsn !== undefined && { CurrentLsn: input.CurrentLsn }), ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.MaxKBytesPerRead !== undefined && { MaxKBytesPerRead: input.MaxKBytesPerRead }), ...(input.Password !== undefined && { Password: input.Password }), ...(input.Port !== undefined && { Port: input.Port }), ...(input.ServerName !== undefined && { ServerName: input.ServerName }), + ...(input.SetDataCaptureChanges !== undefined && { SetDataCaptureChanges: input.SetDataCaptureChanges }), ...(input.Username !== undefined && { Username: input.Username }), }; }; @@ -5647,6 +5653,7 @@ const serializeAws_json1_1KafkaSettings = (input: KafkaSettings, context: __Serd return { ...(input.Broker !== undefined && { Broker: input.Broker }), ...(input.IncludeControlDetails !== undefined && { IncludeControlDetails: input.IncludeControlDetails }), + ...(input.IncludeNullAndEmpty !== undefined && { IncludeNullAndEmpty: input.IncludeNullAndEmpty }), ...(input.IncludePartitionValue !== undefined && { IncludePartitionValue: input.IncludePartitionValue }), ...(input.IncludeTableAlterOperations !== undefined && { IncludeTableAlterOperations: input.IncludeTableAlterOperations, @@ -5655,6 +5662,7 @@ const serializeAws_json1_1KafkaSettings = (input: KafkaSettings, context: __Serd IncludeTransactionDetails: input.IncludeTransactionDetails, }), ...(input.MessageFormat !== undefined && { MessageFormat: input.MessageFormat }), + ...(input.MessageMaxBytes !== undefined && { MessageMaxBytes: input.MessageMaxBytes }), ...(input.PartitionIncludeSchemaTable !== undefined && { PartitionIncludeSchemaTable: input.PartitionIncludeSchemaTable, }), @@ -5669,6 +5677,7 @@ const serializeAws_json1_1KeyList = (input: string[], context: __SerdeContext): const serializeAws_json1_1KinesisSettings = (input: KinesisSettings, context: __SerdeContext): any => { return { ...(input.IncludeControlDetails !== undefined && { IncludeControlDetails: input.IncludeControlDetails }), + ...(input.IncludeNullAndEmpty !== undefined && { IncludeNullAndEmpty: input.IncludeNullAndEmpty }), ...(input.IncludePartitionValue !== undefined && { IncludePartitionValue: input.IncludePartitionValue }), ...(input.IncludeTableAlterOperations !== undefined && { IncludeTableAlterOperations: input.IncludeTableAlterOperations, @@ -5699,10 +5708,15 @@ const serializeAws_json1_1MicrosoftSQLServerSettings = ( context: __SerdeContext ): any => { return { + ...(input.BcpPacketSize !== undefined && { BcpPacketSize: input.BcpPacketSize }), + ...(input.ControlTablesFileGroup !== undefined && { ControlTablesFileGroup: input.ControlTablesFileGroup }), ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), ...(input.Password !== undefined && { Password: input.Password }), ...(input.Port !== undefined && { Port: input.Port }), + ...(input.ReadBackupOnly !== undefined && { ReadBackupOnly: input.ReadBackupOnly }), + ...(input.SafeguardPolicy !== undefined && { SafeguardPolicy: input.SafeguardPolicy }), ...(input.ServerName !== undefined && { ServerName: input.ServerName }), + ...(input.UseBcpFullLoad !== undefined && { UseBcpFullLoad: input.UseBcpFullLoad }), ...(input.Username !== undefined && { Username: input.Username }), }; }; @@ -5869,10 +5883,16 @@ const serializeAws_json1_1MongoDbSettings = (input: MongoDbSettings, context: __ const serializeAws_json1_1MySQLSettings = (input: MySQLSettings, context: __SerdeContext): any => { return { + ...(input.AfterConnectScript !== undefined && { AfterConnectScript: input.AfterConnectScript }), ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.EventsPollInterval !== undefined && { EventsPollInterval: input.EventsPollInterval }), + ...(input.MaxFileSize !== undefined && { MaxFileSize: input.MaxFileSize }), + ...(input.ParallelLoadThreads !== undefined && { ParallelLoadThreads: input.ParallelLoadThreads }), ...(input.Password !== undefined && { Password: input.Password }), ...(input.Port !== undefined && { Port: input.Port }), ...(input.ServerName !== undefined && { ServerName: input.ServerName }), + ...(input.ServerTimezone !== undefined && { ServerTimezone: input.ServerTimezone }), + ...(input.TargetDbType !== undefined && { TargetDbType: input.TargetDbType }), ...(input.Username !== undefined && { Username: input.Username }), }; }; @@ -5891,25 +5911,58 @@ const serializeAws_json1_1NeptuneSettings = (input: NeptuneSettings, context: __ const serializeAws_json1_1OracleSettings = (input: OracleSettings, context: __SerdeContext): any => { return { + ...(input.AccessAlternateDirectly !== undefined && { AccessAlternateDirectly: input.AccessAlternateDirectly }), + ...(input.AddSupplementalLogging !== undefined && { AddSupplementalLogging: input.AddSupplementalLogging }), + ...(input.AdditionalArchivedLogDestId !== undefined && { + AdditionalArchivedLogDestId: input.AdditionalArchivedLogDestId, + }), + ...(input.AllowSelectNestedTables !== undefined && { AllowSelectNestedTables: input.AllowSelectNestedTables }), + ...(input.ArchivedLogDestId !== undefined && { ArchivedLogDestId: input.ArchivedLogDestId }), + ...(input.ArchivedLogsOnly !== undefined && { ArchivedLogsOnly: input.ArchivedLogsOnly }), ...(input.AsmPassword !== undefined && { AsmPassword: input.AsmPassword }), ...(input.AsmServer !== undefined && { AsmServer: input.AsmServer }), ...(input.AsmUser !== undefined && { AsmUser: input.AsmUser }), + ...(input.CharLengthSemantics !== undefined && { CharLengthSemantics: input.CharLengthSemantics }), ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.DirectPathNoLog !== undefined && { DirectPathNoLog: input.DirectPathNoLog }), + ...(input.DirectPathParallelLoad !== undefined && { DirectPathParallelLoad: input.DirectPathParallelLoad }), + ...(input.EnableHomogenousTablespace !== undefined && { + EnableHomogenousTablespace: input.EnableHomogenousTablespace, + }), + ...(input.FailTasksOnLobTruncation !== undefined && { FailTasksOnLobTruncation: input.FailTasksOnLobTruncation }), + ...(input.NumberDatatypeScale !== undefined && { NumberDatatypeScale: input.NumberDatatypeScale }), + ...(input.OraclePathPrefix !== undefined && { OraclePathPrefix: input.OraclePathPrefix }), + ...(input.ParallelAsmReadThreads !== undefined && { ParallelAsmReadThreads: input.ParallelAsmReadThreads }), ...(input.Password !== undefined && { Password: input.Password }), ...(input.Port !== undefined && { Port: input.Port }), + ...(input.ReadAheadBlocks !== undefined && { ReadAheadBlocks: input.ReadAheadBlocks }), + ...(input.ReadTableSpaceName !== undefined && { ReadTableSpaceName: input.ReadTableSpaceName }), + ...(input.ReplacePathPrefix !== undefined && { ReplacePathPrefix: input.ReplacePathPrefix }), + ...(input.RetryInterval !== undefined && { RetryInterval: input.RetryInterval }), ...(input.SecurityDbEncryption !== undefined && { SecurityDbEncryption: input.SecurityDbEncryption }), ...(input.SecurityDbEncryptionName !== undefined && { SecurityDbEncryptionName: input.SecurityDbEncryptionName }), ...(input.ServerName !== undefined && { ServerName: input.ServerName }), + ...(input.UseAlternateFolderForOnline !== undefined && { + UseAlternateFolderForOnline: input.UseAlternateFolderForOnline, + }), + ...(input.UsePathPrefix !== undefined && { UsePathPrefix: input.UsePathPrefix }), ...(input.Username !== undefined && { Username: input.Username }), }; }; const serializeAws_json1_1PostgreSQLSettings = (input: PostgreSQLSettings, context: __SerdeContext): any => { return { + ...(input.AfterConnectScript !== undefined && { AfterConnectScript: input.AfterConnectScript }), + ...(input.CaptureDdls !== undefined && { CaptureDdls: input.CaptureDdls }), ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.DdlArtifactsSchema !== undefined && { DdlArtifactsSchema: input.DdlArtifactsSchema }), + ...(input.ExecuteTimeout !== undefined && { ExecuteTimeout: input.ExecuteTimeout }), + ...(input.FailTasksOnLobTruncation !== undefined && { FailTasksOnLobTruncation: input.FailTasksOnLobTruncation }), + ...(input.MaxFileSize !== undefined && { MaxFileSize: input.MaxFileSize }), ...(input.Password !== undefined && { Password: input.Password }), ...(input.Port !== undefined && { Port: input.Port }), ...(input.ServerName !== undefined && { ServerName: input.ServerName }), + ...(input.SlotName !== undefined && { SlotName: input.SlotName }), ...(input.Username !== undefined && { Username: input.Username }), }; }; @@ -5930,11 +5983,14 @@ const serializeAws_json1_1RedshiftSettings = (input: RedshiftSettings, context: ...(input.AfterConnectScript !== undefined && { AfterConnectScript: input.AfterConnectScript }), ...(input.BucketFolder !== undefined && { BucketFolder: input.BucketFolder }), ...(input.BucketName !== undefined && { BucketName: input.BucketName }), + ...(input.CaseSensitiveNames !== undefined && { CaseSensitiveNames: input.CaseSensitiveNames }), + ...(input.CompUpdate !== undefined && { CompUpdate: input.CompUpdate }), ...(input.ConnectionTimeout !== undefined && { ConnectionTimeout: input.ConnectionTimeout }), ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), ...(input.DateFormat !== undefined && { DateFormat: input.DateFormat }), ...(input.EmptyAsNull !== undefined && { EmptyAsNull: input.EmptyAsNull }), ...(input.EncryptionMode !== undefined && { EncryptionMode: input.EncryptionMode }), + ...(input.ExplicitIds !== undefined && { ExplicitIds: input.ExplicitIds }), ...(input.FileTransferUploadStreams !== undefined && { FileTransferUploadStreams: input.FileTransferUploadStreams, }), @@ -5996,6 +6052,9 @@ const serializeAws_json1_1S3Settings = (input: S3Settings, context: __SerdeConte ...(input.CsvRowDelimiter !== undefined && { CsvRowDelimiter: input.CsvRowDelimiter }), ...(input.DataFormat !== undefined && { DataFormat: input.DataFormat }), ...(input.DataPageSize !== undefined && { DataPageSize: input.DataPageSize }), + ...(input.DatePartitionDelimiter !== undefined && { DatePartitionDelimiter: input.DatePartitionDelimiter }), + ...(input.DatePartitionEnabled !== undefined && { DatePartitionEnabled: input.DatePartitionEnabled }), + ...(input.DatePartitionSequence !== undefined && { DatePartitionSequence: input.DatePartitionSequence }), ...(input.DictPageSizeLimit !== undefined && { DictPageSizeLimit: input.DictPageSizeLimit }), ...(input.EnableStatistics !== undefined && { EnableStatistics: input.EnableStatistics }), ...(input.EncodingType !== undefined && { EncodingType: input.EncodingType }), @@ -6877,10 +6936,17 @@ const deserializeAws_json1_1EventSubscriptionsList = (output: any, context: __Se const deserializeAws_json1_1IBMDb2Settings = (output: any, context: __SerdeContext): IBMDb2Settings => { return { + CurrentLsn: output.CurrentLsn !== undefined && output.CurrentLsn !== null ? output.CurrentLsn : undefined, DatabaseName: output.DatabaseName !== undefined && output.DatabaseName !== null ? output.DatabaseName : undefined, + MaxKBytesPerRead: + output.MaxKBytesPerRead !== undefined && output.MaxKBytesPerRead !== null ? output.MaxKBytesPerRead : undefined, Password: output.Password !== undefined && output.Password !== null ? output.Password : undefined, Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, ServerName: output.ServerName !== undefined && output.ServerName !== null ? output.ServerName : undefined, + SetDataCaptureChanges: + output.SetDataCaptureChanges !== undefined && output.SetDataCaptureChanges !== null + ? output.SetDataCaptureChanges + : undefined, Username: output.Username !== undefined && output.Username !== null ? output.Username : undefined, } as any; }; @@ -6941,6 +7007,10 @@ const deserializeAws_json1_1KafkaSettings = (output: any, context: __SerdeContex output.IncludeControlDetails !== undefined && output.IncludeControlDetails !== null ? output.IncludeControlDetails : undefined, + IncludeNullAndEmpty: + output.IncludeNullAndEmpty !== undefined && output.IncludeNullAndEmpty !== null + ? output.IncludeNullAndEmpty + : undefined, IncludePartitionValue: output.IncludePartitionValue !== undefined && output.IncludePartitionValue !== null ? output.IncludePartitionValue @@ -6955,6 +7025,8 @@ const deserializeAws_json1_1KafkaSettings = (output: any, context: __SerdeContex : undefined, MessageFormat: output.MessageFormat !== undefined && output.MessageFormat !== null ? output.MessageFormat : undefined, + MessageMaxBytes: + output.MessageMaxBytes !== undefined && output.MessageMaxBytes !== null ? output.MessageMaxBytes : undefined, PartitionIncludeSchemaTable: output.PartitionIncludeSchemaTable !== undefined && output.PartitionIncludeSchemaTable !== null ? output.PartitionIncludeSchemaTable @@ -6969,6 +7041,10 @@ const deserializeAws_json1_1KinesisSettings = (output: any, context: __SerdeCont output.IncludeControlDetails !== undefined && output.IncludeControlDetails !== null ? output.IncludeControlDetails : undefined, + IncludeNullAndEmpty: + output.IncludeNullAndEmpty !== undefined && output.IncludeNullAndEmpty !== null + ? output.IncludeNullAndEmpty + : undefined, IncludePartitionValue: output.IncludePartitionValue !== undefined && output.IncludePartitionValue !== null ? output.IncludePartitionValue @@ -7057,10 +7133,22 @@ const deserializeAws_json1_1MicrosoftSQLServerSettings = ( context: __SerdeContext ): MicrosoftSQLServerSettings => { return { + BcpPacketSize: + output.BcpPacketSize !== undefined && output.BcpPacketSize !== null ? output.BcpPacketSize : undefined, + ControlTablesFileGroup: + output.ControlTablesFileGroup !== undefined && output.ControlTablesFileGroup !== null + ? output.ControlTablesFileGroup + : undefined, DatabaseName: output.DatabaseName !== undefined && output.DatabaseName !== null ? output.DatabaseName : undefined, Password: output.Password !== undefined && output.Password !== null ? output.Password : undefined, Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, + ReadBackupOnly: + output.ReadBackupOnly !== undefined && output.ReadBackupOnly !== null ? output.ReadBackupOnly : undefined, + SafeguardPolicy: + output.SafeguardPolicy !== undefined && output.SafeguardPolicy !== null ? output.SafeguardPolicy : undefined, ServerName: output.ServerName !== undefined && output.ServerName !== null ? output.ServerName : undefined, + UseBcpFullLoad: + output.UseBcpFullLoad !== undefined && output.UseBcpFullLoad !== null ? output.UseBcpFullLoad : undefined, Username: output.Username !== undefined && output.Username !== null ? output.Username : undefined, } as any; }; @@ -7145,10 +7233,26 @@ const deserializeAws_json1_1MongoDbSettings = (output: any, context: __SerdeCont const deserializeAws_json1_1MySQLSettings = (output: any, context: __SerdeContext): MySQLSettings => { return { + AfterConnectScript: + output.AfterConnectScript !== undefined && output.AfterConnectScript !== null + ? output.AfterConnectScript + : undefined, DatabaseName: output.DatabaseName !== undefined && output.DatabaseName !== null ? output.DatabaseName : undefined, + EventsPollInterval: + output.EventsPollInterval !== undefined && output.EventsPollInterval !== null + ? output.EventsPollInterval + : undefined, + MaxFileSize: output.MaxFileSize !== undefined && output.MaxFileSize !== null ? output.MaxFileSize : undefined, + ParallelLoadThreads: + output.ParallelLoadThreads !== undefined && output.ParallelLoadThreads !== null + ? output.ParallelLoadThreads + : undefined, Password: output.Password !== undefined && output.Password !== null ? output.Password : undefined, Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, ServerName: output.ServerName !== undefined && output.ServerName !== null ? output.ServerName : undefined, + ServerTimezone: + output.ServerTimezone !== undefined && output.ServerTimezone !== null ? output.ServerTimezone : undefined, + TargetDbType: output.TargetDbType !== undefined && output.TargetDbType !== null ? output.TargetDbType : undefined, Username: output.Username !== undefined && output.Username !== null ? output.Username : undefined, } as any; }; @@ -7176,12 +7280,74 @@ const deserializeAws_json1_1NeptuneSettings = (output: any, context: __SerdeCont const deserializeAws_json1_1OracleSettings = (output: any, context: __SerdeContext): OracleSettings => { return { + AccessAlternateDirectly: + output.AccessAlternateDirectly !== undefined && output.AccessAlternateDirectly !== null + ? output.AccessAlternateDirectly + : undefined, + AddSupplementalLogging: + output.AddSupplementalLogging !== undefined && output.AddSupplementalLogging !== null + ? output.AddSupplementalLogging + : undefined, + AdditionalArchivedLogDestId: + output.AdditionalArchivedLogDestId !== undefined && output.AdditionalArchivedLogDestId !== null + ? output.AdditionalArchivedLogDestId + : undefined, + AllowSelectNestedTables: + output.AllowSelectNestedTables !== undefined && output.AllowSelectNestedTables !== null + ? output.AllowSelectNestedTables + : undefined, + ArchivedLogDestId: + output.ArchivedLogDestId !== undefined && output.ArchivedLogDestId !== null + ? output.ArchivedLogDestId + : undefined, + ArchivedLogsOnly: + output.ArchivedLogsOnly !== undefined && output.ArchivedLogsOnly !== null ? output.ArchivedLogsOnly : undefined, AsmPassword: output.AsmPassword !== undefined && output.AsmPassword !== null ? output.AsmPassword : undefined, AsmServer: output.AsmServer !== undefined && output.AsmServer !== null ? output.AsmServer : undefined, AsmUser: output.AsmUser !== undefined && output.AsmUser !== null ? output.AsmUser : undefined, + CharLengthSemantics: + output.CharLengthSemantics !== undefined && output.CharLengthSemantics !== null + ? output.CharLengthSemantics + : undefined, DatabaseName: output.DatabaseName !== undefined && output.DatabaseName !== null ? output.DatabaseName : undefined, + DirectPathNoLog: + output.DirectPathNoLog !== undefined && output.DirectPathNoLog !== null ? output.DirectPathNoLog : undefined, + DirectPathParallelLoad: + output.DirectPathParallelLoad !== undefined && output.DirectPathParallelLoad !== null + ? output.DirectPathParallelLoad + : undefined, + EnableHomogenousTablespace: + output.EnableHomogenousTablespace !== undefined && output.EnableHomogenousTablespace !== null + ? output.EnableHomogenousTablespace + : undefined, + FailTasksOnLobTruncation: + output.FailTasksOnLobTruncation !== undefined && output.FailTasksOnLobTruncation !== null + ? output.FailTasksOnLobTruncation + : undefined, + NumberDatatypeScale: + output.NumberDatatypeScale !== undefined && output.NumberDatatypeScale !== null + ? output.NumberDatatypeScale + : undefined, + OraclePathPrefix: + output.OraclePathPrefix !== undefined && output.OraclePathPrefix !== null ? output.OraclePathPrefix : undefined, + ParallelAsmReadThreads: + output.ParallelAsmReadThreads !== undefined && output.ParallelAsmReadThreads !== null + ? output.ParallelAsmReadThreads + : undefined, Password: output.Password !== undefined && output.Password !== null ? output.Password : undefined, Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, + ReadAheadBlocks: + output.ReadAheadBlocks !== undefined && output.ReadAheadBlocks !== null ? output.ReadAheadBlocks : undefined, + ReadTableSpaceName: + output.ReadTableSpaceName !== undefined && output.ReadTableSpaceName !== null + ? output.ReadTableSpaceName + : undefined, + ReplacePathPrefix: + output.ReplacePathPrefix !== undefined && output.ReplacePathPrefix !== null + ? output.ReplacePathPrefix + : undefined, + RetryInterval: + output.RetryInterval !== undefined && output.RetryInterval !== null ? output.RetryInterval : undefined, SecurityDbEncryption: output.SecurityDbEncryption !== undefined && output.SecurityDbEncryption !== null ? output.SecurityDbEncryption @@ -7191,6 +7357,12 @@ const deserializeAws_json1_1OracleSettings = (output: any, context: __SerdeConte ? output.SecurityDbEncryptionName : undefined, ServerName: output.ServerName !== undefined && output.ServerName !== null ? output.ServerName : undefined, + UseAlternateFolderForOnline: + output.UseAlternateFolderForOnline !== undefined && output.UseAlternateFolderForOnline !== null + ? output.UseAlternateFolderForOnline + : undefined, + UsePathPrefix: + output.UsePathPrefix !== undefined && output.UsePathPrefix !== null ? output.UsePathPrefix : undefined, Username: output.Username !== undefined && output.Username !== null ? output.Username : undefined, } as any; }; @@ -7278,10 +7450,27 @@ const deserializeAws_json1_1PendingMaintenanceActions = ( const deserializeAws_json1_1PostgreSQLSettings = (output: any, context: __SerdeContext): PostgreSQLSettings => { return { + AfterConnectScript: + output.AfterConnectScript !== undefined && output.AfterConnectScript !== null + ? output.AfterConnectScript + : undefined, + CaptureDdls: output.CaptureDdls !== undefined && output.CaptureDdls !== null ? output.CaptureDdls : undefined, DatabaseName: output.DatabaseName !== undefined && output.DatabaseName !== null ? output.DatabaseName : undefined, + DdlArtifactsSchema: + output.DdlArtifactsSchema !== undefined && output.DdlArtifactsSchema !== null + ? output.DdlArtifactsSchema + : undefined, + ExecuteTimeout: + output.ExecuteTimeout !== undefined && output.ExecuteTimeout !== null ? output.ExecuteTimeout : undefined, + FailTasksOnLobTruncation: + output.FailTasksOnLobTruncation !== undefined && output.FailTasksOnLobTruncation !== null + ? output.FailTasksOnLobTruncation + : undefined, + MaxFileSize: output.MaxFileSize !== undefined && output.MaxFileSize !== null ? output.MaxFileSize : undefined, Password: output.Password !== undefined && output.Password !== null ? output.Password : undefined, Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, ServerName: output.ServerName !== undefined && output.ServerName !== null ? output.ServerName : undefined, + SlotName: output.SlotName !== undefined && output.SlotName !== null ? output.SlotName : undefined, Username: output.Username !== undefined && output.Username !== null ? output.Username : undefined, } as any; }; @@ -7308,6 +7497,11 @@ const deserializeAws_json1_1RedshiftSettings = (output: any, context: __SerdeCon : undefined, BucketFolder: output.BucketFolder !== undefined && output.BucketFolder !== null ? output.BucketFolder : undefined, BucketName: output.BucketName !== undefined && output.BucketName !== null ? output.BucketName : undefined, + CaseSensitiveNames: + output.CaseSensitiveNames !== undefined && output.CaseSensitiveNames !== null + ? output.CaseSensitiveNames + : undefined, + CompUpdate: output.CompUpdate !== undefined && output.CompUpdate !== null ? output.CompUpdate : undefined, ConnectionTimeout: output.ConnectionTimeout !== undefined && output.ConnectionTimeout !== null ? output.ConnectionTimeout @@ -7317,6 +7511,7 @@ const deserializeAws_json1_1RedshiftSettings = (output: any, context: __SerdeCon EmptyAsNull: output.EmptyAsNull !== undefined && output.EmptyAsNull !== null ? output.EmptyAsNull : undefined, EncryptionMode: output.EncryptionMode !== undefined && output.EncryptionMode !== null ? output.EncryptionMode : undefined, + ExplicitIds: output.ExplicitIds !== undefined && output.ExplicitIds !== null ? output.ExplicitIds : undefined, FileTransferUploadStreams: output.FileTransferUploadStreams !== undefined && output.FileTransferUploadStreams !== null ? output.FileTransferUploadStreams @@ -7907,6 +8102,18 @@ const deserializeAws_json1_1S3Settings = (output: any, context: __SerdeContext): output.CsvRowDelimiter !== undefined && output.CsvRowDelimiter !== null ? output.CsvRowDelimiter : undefined, DataFormat: output.DataFormat !== undefined && output.DataFormat !== null ? output.DataFormat : undefined, DataPageSize: output.DataPageSize !== undefined && output.DataPageSize !== null ? output.DataPageSize : undefined, + DatePartitionDelimiter: + output.DatePartitionDelimiter !== undefined && output.DatePartitionDelimiter !== null + ? output.DatePartitionDelimiter + : undefined, + DatePartitionEnabled: + output.DatePartitionEnabled !== undefined && output.DatePartitionEnabled !== null + ? output.DatePartitionEnabled + : undefined, + DatePartitionSequence: + output.DatePartitionSequence !== undefined && output.DatePartitionSequence !== null + ? output.DatePartitionSequence + : undefined, DictPageSizeLimit: output.DictPageSizeLimit !== undefined && output.DictPageSizeLimit !== null ? output.DictPageSizeLimit diff --git a/clients/client-dataexchange/index.ts b/clients/client-dataexchange/index.ts index dc18f041f2e0..f429b0794e0a 100644 --- a/clients/client-dataexchange/index.ts +++ b/clients/client-dataexchange/index.ts @@ -12,9 +12,13 @@ export * from "./commands/GetDataSetCommand"; export * from "./commands/GetJobCommand"; export * from "./commands/GetRevisionCommand"; export * from "./commands/ListDataSetRevisionsCommand"; +export * from "./pagination/ListDataSetRevisionsPaginator"; export * from "./commands/ListDataSetsCommand"; +export * from "./pagination/ListDataSetsPaginator"; export * from "./commands/ListJobsCommand"; +export * from "./pagination/ListJobsPaginator"; export * from "./commands/ListRevisionAssetsCommand"; +export * from "./pagination/ListRevisionAssetsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/StartJobCommand"; export * from "./commands/TagResourceCommand"; @@ -22,4 +26,5 @@ export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateAssetCommand"; export * from "./commands/UpdateDataSetCommand"; export * from "./commands/UpdateRevisionCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-dataexchange/models/models_0.ts b/clients/client-dataexchange/models/models_0.ts index ebd0012f3bb7..08562b749224 100644 --- a/clients/client-dataexchange/models/models_0.ts +++ b/clients/client-dataexchange/models/models_0.ts @@ -23,11 +23,6 @@ export namespace AccessDeniedException { *

                    The destination for the asset.

                    */ export interface AssetDestinationEntry { - /** - *

                    The S3 bucket that is the destination for the asset.

                    - */ - Bucket: string | undefined; - /** *

                    The unique identifier for the asset.

                    */ @@ -37,6 +32,11 @@ export interface AssetDestinationEntry { *

                    The name of the object in Amazon S3 for the asset.

                    */ Key?: string; + + /** + *

                    The S3 bucket that is the destination for the asset.

                    + */ + Bucket: string | undefined; } export namespace AssetDestinationEntry { @@ -83,19 +83,14 @@ export enum AssetType { */ export interface AssetEntry { /** - *

                    The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

                    - */ - SourceId?: string; - - /** - *

                    The name of the asset. When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

                    + *

                    The unique identifier for the revision associated with this asset.

                    */ - Name: string | undefined; + RevisionId: string | undefined; /** - *

                    Information about the asset, including its size.

                    + *

                    The unique identifier for the asset.

                    */ - AssetDetails: AssetDetails | undefined; + Id: string | undefined; /** *

                    The date and time that the asset was last updated, in ISO 8601 format.

                    @@ -108,29 +103,34 @@ export interface AssetEntry { AssetType: AssetType | string | undefined; /** - *

                    The unique identifier for the revision associated with this asset.

                    + *

                    The unique identifier for the data set associated with this asset.

                    */ - RevisionId: string | undefined; + DataSetId: string | undefined; /** - *

                    The date and time that the asset was created, in ISO 8601 format.

                    + *

                    Information about the asset, including its size.

                    */ - CreatedAt: Date | undefined; + AssetDetails: AssetDetails | undefined; /** - *

                    The unique identifier for the asset.

                    + *

                    The ARN for the asset.

                    */ - Id: string | undefined; + Arn: string | undefined; /** - *

                    The ARN for the asset.

                    + *

                    The name of the asset. When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

                    */ - Arn: string | undefined; + Name: string | undefined; /** - *

                    The unique identifier for the data set associated with this asset.

                    + *

                    The date and time that the asset was created, in ISO 8601 format.

                    */ - DataSetId: string | undefined; + CreatedAt: Date | undefined; + + /** + *

                    The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

                    + */ + SourceId?: string; } export namespace AssetEntry { @@ -144,14 +144,14 @@ export namespace AssetEntry { */ export interface AssetSourceEntry { /** - *

                    The S3 bucket that's part of the source of the asset.

                    + *

                    The name of the object in Amazon S3 for the asset.

                    */ - Bucket: string | undefined; + Key: string | undefined; /** - *

                    The name of the object in Amazon S3 for the asset.

                    + *

                    The S3 bucket that's part of the source of the asset.

                    */ - Key: string | undefined; + Bucket: string | undefined; } export namespace AssetSourceEntry { @@ -187,14 +187,14 @@ export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; $fault: "client"; /** - *

                    The unique identifier for the resource with the conflict.

                    + *

                    The type of the resource with the conflict.

                    */ - ResourceId?: string; + ResourceType?: ResourceType | string; /** - *

                    The type of the resource with the conflict.

                    + *

                    The unique identifier for the resource with the conflict.

                    */ - ResourceType?: ResourceType | string; + ResourceId?: string; /** *

                    The request couldn't be completed because it conflicted with the current state of the resource.

                    @@ -304,6 +304,11 @@ export enum Code { *

                    The request body for CreateDataSet.

                    */ export interface CreateDataSetRequest { + /** + *

                    A data set tag is an optional label that you can assign to a data set when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions.

                    + */ + Tags?: { [key: string]: string }; + /** *

                    A description for the data set. This value can be up to 16,348 characters long.

                    */ @@ -318,11 +323,6 @@ export interface CreateDataSetRequest { *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    */ AssetType: AssetType | string | undefined; - - /** - *

                    A data set tag is an optional label that you can assign to a data set when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions.

                    - */ - Tags?: { [key: string]: string }; } export namespace CreateDataSetRequest { @@ -347,15 +347,20 @@ export namespace OriginDetails { } export interface CreateDataSetResponse { + /** + *

                    The ARN for the data set.

                    + */ + Arn?: string; + /** *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    */ AssetType?: AssetType | string; /** - *

                    The date and time that the data set was created, in ISO 8601 format.

                    + *

                    The date and time that the data set was last updated, in ISO 8601 format.

                    */ - CreatedAt?: Date; + UpdatedAt?: Date; /** *

                    The tags for the data set.

                    @@ -363,24 +368,19 @@ export interface CreateDataSetResponse { Tags?: { [key: string]: string }; /** - *

                    The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

                    - */ - SourceId?: string; - - /** - *

                    If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

                    + *

                    The name of the data set.

                    */ - OriginDetails?: OriginDetails; + Name?: string; /** - *

                    The name of the data set.

                    + *

                    A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

                    */ - Name?: string; + Origin?: Origin | string; /** - *

                    The date and time that the data set was last updated, in ISO 8601 format.

                    + *

                    The date and time that the data set was created, in ISO 8601 format.

                    */ - UpdatedAt?: Date; + CreatedAt?: Date; /** *

                    The description for the data set.

                    @@ -388,19 +388,19 @@ export interface CreateDataSetResponse { Description?: string; /** - *

                    The ARN for the data set.

                    + *

                    The unique identifier for the data set.

                    */ - Arn?: string; + Id?: string; /** - *

                    The unique identifier for the data set.

                    + *

                    If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

                    */ - Id?: string; + OriginDetails?: OriginDetails; /** - *

                    A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

                    + *

                    The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

                    */ - Origin?: Origin | string; + SourceId?: string; } export namespace CreateDataSetResponse { @@ -431,9 +431,9 @@ export interface ServiceLimitExceededException extends __SmithyException, $Metad name: "ServiceLimitExceededException"; $fault: "client"; /** - *

                    The request has exceeded the quotas imposed by the service.

                    + *

                    The maximum value for the service-specific limit.

                    */ - Message: string | undefined; + LimitValue?: number; /** *

                    The name of the quota that was exceeded.

                    @@ -441,9 +441,9 @@ export interface ServiceLimitExceededException extends __SmithyException, $Metad LimitName?: LimitName | string; /** - *

                    The maximum value for the service-specific limit.

                    + *

                    The request has exceeded the quotas imposed by the service.

                    */ - LimitValue?: number; + Message: string | undefined; } export namespace ServiceLimitExceededException { @@ -462,14 +462,14 @@ export enum ServerSideEncryptionTypes { */ export interface ExportServerSideEncryption { /** - *

                    The Amazon Resource Name (ARN) of the the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type.

                    + *

                    The type of server side encryption used for encrypting the objects in Amazon S3.

                    */ - KmsKeyArn?: string; + Type: ServerSideEncryptionTypes | string | undefined; /** - *

                    The type of server side encryption used for encrypting the objects in Amazon S3.

                    + *

                    The Amazon Resource Name (ARN) of the the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type.

                    */ - Type: ServerSideEncryptionTypes | string | undefined; + KmsKeyArn?: string; } export namespace ExportServerSideEncryption { @@ -483,9 +483,9 @@ export namespace ExportServerSideEncryption { */ export interface ExportAssetsToS3RequestDetails { /** - *

                    The destination for the asset.

                    + *

                    The unique identifier for the revision associated with this export request.

                    */ - AssetDestinations: AssetDestinationEntry[] | undefined; + RevisionId: string | undefined; /** *

                    The unique identifier for the data set associated with this export job.

                    @@ -498,9 +498,9 @@ export interface ExportAssetsToS3RequestDetails { Encryption?: ExportServerSideEncryption; /** - *

                    The unique identifier for the revision associated with this export request.

                    + *

                    The destination for the asset.

                    */ - RevisionId: string | undefined; + AssetDestinations: AssetDestinationEntry[] | undefined; } export namespace ExportAssetsToS3RequestDetails { @@ -513,11 +513,6 @@ export namespace ExportAssetsToS3RequestDetails { *

                    Details of the operation to be performed by the job.

                    */ export interface ExportAssetToSignedUrlRequestDetails { - /** - *

                    The unique identifier for the revision associated with this export request.

                    - */ - RevisionId: string | undefined; - /** *

                    The unique identifier for the asset that is exported to a signed URL.

                    */ @@ -527,6 +522,11 @@ export interface ExportAssetToSignedUrlRequestDetails { *

                    The unique identifier for the data set associated with this export job.

                    */ DataSetId: string | undefined; + + /** + *

                    The unique identifier for the revision associated with this export request.

                    + */ + RevisionId: string | undefined; } export namespace ExportAssetToSignedUrlRequestDetails { @@ -540,14 +540,14 @@ export namespace ExportAssetToSignedUrlRequestDetails { */ export interface ImportAssetFromSignedUrlRequestDetails { /** - *

                    The unique identifier for the data set associated with this import job.

                    + *

                    The name of the asset. When importing from Amazon S3, the S3 object key is used as the asset name.

                    */ - DataSetId: string | undefined; + AssetName: string | undefined; /** - *

                    The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.

                    + *

                    The unique identifier for the data set associated with this import job.

                    */ - Md5Hash: string | undefined; + DataSetId: string | undefined; /** *

                    The unique identifier for the revision associated with this import request.

                    @@ -555,9 +555,9 @@ export interface ImportAssetFromSignedUrlRequestDetails { RevisionId: string | undefined; /** - *

                    The name of the asset. When importing from Amazon S3, the S3 object key is used as the asset name.

                    + *

                    The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.

                    */ - AssetName: string | undefined; + Md5Hash: string | undefined; } export namespace ImportAssetFromSignedUrlRequestDetails { @@ -571,9 +571,9 @@ export namespace ImportAssetFromSignedUrlRequestDetails { */ export interface ImportAssetsFromS3RequestDetails { /** - *

                    Is a list of S3 bucket and object key pairs.

                    + *

                    The unique identifier for the revision associated with this import request.

                    */ - AssetSources: AssetSourceEntry[] | undefined; + RevisionId: string | undefined; /** *

                    The unique identifier for the data set associated with this import job.

                    @@ -581,9 +581,9 @@ export interface ImportAssetsFromS3RequestDetails { DataSetId: string | undefined; /** - *

                    The unique identifier for the revision associated with this import request.

                    + *

                    Is a list of S3 bucket and object key pairs.

                    */ - RevisionId: string | undefined; + AssetSources: AssetSourceEntry[] | undefined; } export namespace ImportAssetsFromS3RequestDetails { @@ -597,14 +597,14 @@ export namespace ImportAssetsFromS3RequestDetails { */ export interface RequestDetails { /** - *

                    Details about the export to signed URL request.

                    + *

                    Details about the export to Amazon S3 request.

                    */ - ExportAssetToSignedUrl?: ExportAssetToSignedUrlRequestDetails; + ExportAssetsToS3?: ExportAssetsToS3RequestDetails; /** - *

                    Details about the import from Amazon S3 request.

                    + *

                    Details about the export to signed URL request.

                    */ - ImportAssetsFromS3?: ImportAssetsFromS3RequestDetails; + ExportAssetToSignedUrl?: ExportAssetToSignedUrlRequestDetails; /** *

                    Details about the import from signed URL request.

                    @@ -612,9 +612,9 @@ export interface RequestDetails { ImportAssetFromSignedUrl?: ImportAssetFromSignedUrlRequestDetails; /** - *

                    Details about the export to Amazon S3 request.

                    + *

                    Details about the import from Amazon S3 request.

                    */ - ExportAssetsToS3?: ExportAssetsToS3RequestDetails; + ImportAssetsFromS3?: ImportAssetsFromS3RequestDetails; } export namespace RequestDetails { @@ -656,24 +656,24 @@ export namespace CreateJobRequest { */ export interface ExportAssetsToS3ResponseDetails { /** - *

                    The destination in Amazon S3 where the asset is exported.

                    + *

                    The unique identifier for the data set associated with this export job.

                    */ - AssetDestinations: AssetDestinationEntry[] | undefined; + DataSetId: string | undefined; /** - *

                    The unique identifier for the revision associated with this export response.

                    + *

                    Encryption configuration of the export job.

                    */ - RevisionId: string | undefined; + Encryption?: ExportServerSideEncryption; /** - *

                    The unique identifier for the data set associated with this export job.

                    + *

                    The destination in Amazon S3 where the asset is exported.

                    */ - DataSetId: string | undefined; + AssetDestinations: AssetDestinationEntry[] | undefined; /** - *

                    Encryption configuration of the export job.

                    + *

                    The unique identifier for the revision associated with this export response.

                    */ - Encryption?: ExportServerSideEncryption; + RevisionId: string | undefined; } export namespace ExportAssetsToS3ResponseDetails { @@ -687,9 +687,9 @@ export namespace ExportAssetsToS3ResponseDetails { */ export interface ExportAssetToSignedUrlResponseDetails { /** - *

                    The unique identifier for the asset associated with this export job.

                    + *

                    The unique identifier for the revision associated with this export response.

                    */ - AssetId: string | undefined; + RevisionId: string | undefined; /** *

                    The unique identifier for the data set associated with this export job.

                    @@ -702,14 +702,14 @@ export interface ExportAssetToSignedUrlResponseDetails { SignedUrlExpiresAt?: Date; /** - *

                    The unique identifier for the revision associated with this export response.

                    + *

                    The signed URL for the export request.

                    */ - RevisionId: string | undefined; + SignedUrl?: string; /** - *

                    The signed URL for the export request.

                    + *

                    The unique identifier for the asset associated with this export job.

                    */ - SignedUrl?: string; + AssetId: string | undefined; } export namespace ExportAssetToSignedUrlResponseDetails { @@ -722,11 +722,6 @@ export namespace ExportAssetToSignedUrlResponseDetails { *

                    The details in the response for an import request, including the signed URL and other information.

                    */ export interface ImportAssetFromSignedUrlResponseDetails { - /** - *

                    The signed URL.

                    - */ - SignedUrl?: string; - /** *

                    The unique identifier for the data set associated with this import job.

                    */ @@ -738,19 +733,24 @@ export interface ImportAssetFromSignedUrlResponseDetails { SignedUrlExpiresAt?: Date; /** - *

                    The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.

                    + *

                    The name for the asset associated with this import response.

                    */ - Md5Hash?: string; + AssetName: string | undefined; /** - *

                    The name for the asset associated with this import response.

                    + *

                    The signed URL.

                    */ - AssetName: string | undefined; + SignedUrl?: string; /** *

                    The unique identifier for the revision associated with this import response.

                    */ RevisionId: string | undefined; + + /** + *

                    The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.

                    + */ + Md5Hash?: string; } export namespace ImportAssetFromSignedUrlResponseDetails { @@ -764,9 +764,9 @@ export namespace ImportAssetFromSignedUrlResponseDetails { */ export interface ImportAssetsFromS3ResponseDetails { /** - *

                    The unique identifier for the data set associated with this import job.

                    + *

                    The unique identifier for the revision associated with this import response.

                    */ - DataSetId: string | undefined; + RevisionId: string | undefined; /** *

                    Is a list of Amazon S3 bucket and object key pairs.

                    @@ -774,9 +774,9 @@ export interface ImportAssetsFromS3ResponseDetails { AssetSources: AssetSourceEntry[] | undefined; /** - *

                    The unique identifier for the revision associated with this import response.

                    + *

                    The unique identifier for the data set associated with this import job.

                    */ - RevisionId: string | undefined; + DataSetId: string | undefined; } export namespace ImportAssetsFromS3ResponseDetails { @@ -790,14 +790,14 @@ export namespace ImportAssetsFromS3ResponseDetails { */ export interface ResponseDetails { /** - *

                    Details for the export to Amazon S3 response.

                    + *

                    Details for the export to signed URL response.

                    */ - ExportAssetsToS3?: ExportAssetsToS3ResponseDetails; + ExportAssetToSignedUrl?: ExportAssetToSignedUrlResponseDetails; /** - *

                    Details for the import from signed URL response.

                    + *

                    Details for the export to Amazon S3 response.

                    */ - ImportAssetFromSignedUrl?: ImportAssetFromSignedUrlResponseDetails; + ExportAssetsToS3?: ExportAssetsToS3ResponseDetails; /** *

                    Details for the import from Amazon S3 response.

                    @@ -805,9 +805,9 @@ export interface ResponseDetails { ImportAssetsFromS3?: ImportAssetsFromS3ResponseDetails; /** - *

                    Details for the export to signed URL response.

                    + *

                    Details for the import from signed URL response.

                    */ - ExportAssetToSignedUrl?: ExportAssetToSignedUrlResponseDetails; + ImportAssetFromSignedUrl?: ImportAssetFromSignedUrlResponseDetails; } export namespace ResponseDetails { @@ -859,35 +859,36 @@ export enum JobErrorResourceTypes { */ export interface JobError { /** - * The type of resource related to the error. + * The code for the job error. */ - ResourceType?: JobErrorResourceTypes | string; + Code: Code | string | undefined; - Details?: Details; /** - * The value of the exceeded limit. + * The unique identifier for the resource related to the error. */ - LimitValue?: number; + ResourceId?: string; /** - * The code for the job error. - */ - Code: Code | string | undefined; - - /** - *

                    The name of the limit that was reached.

                    + *

                    The name of the limit that was reached.

                    */ LimitName?: JobErrorLimitName | string; /** - * The unique identifier for the resource related to the error. + * The value of the exceeded limit. */ - ResourceId?: string; + LimitValue?: number; /** * The message related to the job error. */ Message: string | undefined; + + /** + * The type of resource related to the error. + */ + ResourceType?: JobErrorResourceTypes | string; + + Details?: Details; } export namespace JobError { @@ -907,14 +908,14 @@ export enum State { export interface CreateJobResponse { /** - *

                    The job type.

                    + *

                    The date and time that the job was last updated, in ISO 8601 format.

                    */ - Type?: Type | string; + UpdatedAt?: Date; /** - *

                    Details about the job.

                    + *

                    The state of the job.

                    */ - Details?: ResponseDetails; + State?: State | string; /** *

                    The errors associated with jobs.

                    @@ -922,19 +923,19 @@ export interface CreateJobResponse { Errors?: JobError[]; /** - *

                    The date and time that the job was created, in ISO 8601 format.

                    + *

                    Details about the job.

                    */ - CreatedAt?: Date; + Details?: ResponseDetails; /** - *

                    The state of the job.

                    + *

                    The job type.

                    */ - State?: State | string; + Type?: Type | string; /** - *

                    The unique identifier for the job.

                    + *

                    The date and time that the job was created, in ISO 8601 format.

                    */ - Id?: string; + CreatedAt?: Date; /** *

                    The ARN for the job.

                    @@ -942,9 +943,9 @@ export interface CreateJobResponse { Arn?: string; /** - *

                    The date and time that the job was last updated, in ISO 8601 format.

                    + *

                    The unique identifier for the job.

                    */ - UpdatedAt?: Date; + Id?: string; } export namespace CreateJobResponse { @@ -958,9 +959,9 @@ export namespace CreateJobResponse { */ export interface CreateRevisionRequest { /** - *

                    An optional comment about the revision.

                    + *

                    A revision tag is an optional label that you can assign to a revision when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions.

                    */ - Comment?: string; + Tags?: { [key: string]: string }; /** *

                    The unique identifier for a data set.

                    @@ -968,9 +969,9 @@ export interface CreateRevisionRequest { DataSetId: string | undefined; /** - *

                    A revision tag is an optional label that you can assign to a revision when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions.

                    + *

                    An optional comment about the revision.

                    */ - Tags?: { [key: string]: string }; + Comment?: string; } export namespace CreateRevisionRequest { @@ -981,49 +982,49 @@ export namespace CreateRevisionRequest { export interface CreateRevisionResponse { /** - *

                    An optional comment about the revision.

                    + *

                    The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

                    */ - Comment?: string; + SourceId?: string; /** - *

                    The tags for the revision.

                    + *

                    The unique identifier for the revision.

                    */ - Tags?: { [key: string]: string }; + Id?: string; /** - *

                    The ARN for the revision

                    + *

                    The unique identifier for the data set associated with this revision.

                    */ - Arn?: string; + DataSetId?: string; /** - *

                    To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

                    Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

                    + *

                    The date and time that the revision was created, in ISO 8601 format.

                    */ - Finalized?: boolean; + CreatedAt?: Date; /** - *

                    The unique identifier for the data set associated with this revision.

                    + *

                    An optional comment about the revision.

                    */ - DataSetId?: string; + Comment?: string; /** - *

                    The date and time that the revision was last updated, in ISO 8601 format.

                    + *

                    The ARN for the revision

                    */ - UpdatedAt?: Date; + Arn?: string; /** - *

                    The unique identifier for the revision.

                    + *

                    To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

                    Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

                    */ - Id?: string; + Finalized?: boolean; /** - *

                    The date and time that the revision was created, in ISO 8601 format.

                    + *

                    The date and time that the revision was last updated, in ISO 8601 format.

                    */ - CreatedAt?: Date; + UpdatedAt?: Date; /** - *

                    The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

                    + *

                    The tags for the revision.

                    */ - SourceId?: string; + Tags?: { [key: string]: string }; } export namespace CreateRevisionResponse { @@ -1034,14 +1035,14 @@ export namespace CreateRevisionResponse { export interface DeleteAssetRequest { /** - *

                    The unique identifier for a data set.

                    + *

                    The unique identifier for a revision.

                    */ - DataSetId: string | undefined; + RevisionId: string | undefined; /** - *

                    The unique identifier for a revision.

                    + *

                    The unique identifier for a data set.

                    */ - RevisionId: string | undefined; + DataSetId: string | undefined; /** *

                    The unique identifier for an asset.

                    @@ -1070,14 +1071,14 @@ export namespace DeleteDataSetRequest { export interface DeleteRevisionRequest { /** - *

                    The unique identifier for a data set.

                    + *

                    The unique identifier for a revision.

                    */ - DataSetId: string | undefined; + RevisionId: string | undefined; /** - *

                    The unique identifier for a revision.

                    + *

                    The unique identifier for a data set.

                    */ - RevisionId: string | undefined; + DataSetId: string | undefined; } export namespace DeleteRevisionRequest { @@ -1088,9 +1089,9 @@ export namespace DeleteRevisionRequest { export interface GetAssetRequest { /** - *

                    The unique identifier for an asset.

                    + *

                    The unique identifier for a revision.

                    */ - AssetId: string | undefined; + RevisionId: string | undefined; /** *

                    The unique identifier for a data set.

                    @@ -1098,9 +1099,9 @@ export interface GetAssetRequest { DataSetId: string | undefined; /** - *

                    The unique identifier for a revision.

                    + *

                    The unique identifier for an asset.

                    */ - RevisionId: string | undefined; + AssetId: string | undefined; } export namespace GetAssetRequest { @@ -1111,14 +1112,14 @@ export namespace GetAssetRequest { export interface GetAssetResponse { /** - *

                    The unique identifier for the revision associated with this asset.

                    + *

                    Information about the asset, including its size.

                    */ - RevisionId?: string; + AssetDetails?: AssetDetails; /** - *

                    The ARN for the asset.

                    + *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    */ - Arn?: string; + AssetType?: AssetType | string; /** *

                    The date and time that the asset was created, in ISO 8601 format.

                    @@ -1126,39 +1127,39 @@ export interface GetAssetResponse { CreatedAt?: Date; /** - *

                    The unique identifier for the data set associated with this asset.

                    + *

                    The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

                    */ - DataSetId?: string; + SourceId?: string; /** - *

                    The unique identifier for the asset.

                    + *

                    The ARN for the asset.

                    */ - Id?: string; + Arn?: string; /** - *

                    The name of the asset When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

                    + *

                    The date and time that the asset was last updated, in ISO 8601 format.

                    */ - Name?: string; + UpdatedAt?: Date; /** - *

                    The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

                    + *

                    The unique identifier for the asset.

                    */ - SourceId?: string; + Id?: string; /** - *

                    The date and time that the asset was last updated, in ISO 8601 format.

                    + *

                    The unique identifier for the data set associated with this asset.

                    */ - UpdatedAt?: Date; + DataSetId?: string; /** - *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    + *

                    The name of the asset When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

                    */ - AssetType?: AssetType | string; + Name?: string; /** - *

                    Information about the asset, including its size.

                    + *

                    The unique identifier for the revision associated with this asset.

                    */ - AssetDetails?: AssetDetails; + RevisionId?: string; } export namespace GetAssetResponse { @@ -1182,59 +1183,59 @@ export namespace GetDataSetRequest { export interface GetDataSetResponse { /** - *

                    The unique identifier for the data set.

                    + *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    */ - Id?: string; + AssetType?: AssetType | string; /** - *

                    The description for the data set.

                    + *

                    The tags for the data set.

                    */ - Description?: string; + Tags?: { [key: string]: string }; /** - *

                    The date and time that the data set was last updated, in ISO 8601 format.

                    + *

                    A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

                    */ - UpdatedAt?: Date; + Origin?: Origin | string; /** - *

                    A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

                    + *

                    If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

                    */ - Origin?: Origin | string; + OriginDetails?: OriginDetails; /** - *

                    The name of the data set.

                    + *

                    The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

                    */ - Name?: string; + SourceId?: string; /** - *

                    The ARN for the data set.

                    + *

                    The date and time that the data set was created, in ISO 8601 format.

                    */ - Arn?: string; + CreatedAt?: Date; /** - *

                    If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

                    + *

                    The description for the data set.

                    */ - OriginDetails?: OriginDetails; + Description?: string; /** - *

                    The tags for the data set.

                    + *

                    The unique identifier for the data set.

                    */ - Tags?: { [key: string]: string }; + Id?: string; /** - *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    + *

                    The ARN for the data set.

                    */ - AssetType?: AssetType | string; + Arn?: string; /** - *

                    The date and time that the data set was created, in ISO 8601 format.

                    + *

                    The name of the data set.

                    */ - CreatedAt?: Date; + Name?: string; /** - *

                    The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

                    + *

                    The date and time that the data set was last updated, in ISO 8601 format.

                    */ - SourceId?: string; + UpdatedAt?: Date; } export namespace GetDataSetResponse { @@ -1257,15 +1258,20 @@ export namespace GetJobRequest { } export interface GetJobResponse { + /** + *

                    The ARN for the job.

                    + */ + Arn?: string; + /** *

                    The unique identifier for the job.

                    */ Id?: string; /** - *

                    The state of the job.

                    + *

                    The date and time that the job was last updated, in ISO 8601 format.

                    */ - State?: State | string; + UpdatedAt?: Date; /** *

                    The date and time that the job was created, in ISO 8601 format.

                    @@ -1273,9 +1279,9 @@ export interface GetJobResponse { CreatedAt?: Date; /** - *

                    The ARN for the job.

                    + *

                    The state of the job.

                    */ - Arn?: string; + State?: State | string; /** *

                    The errors associated with jobs.

                    @@ -1283,19 +1289,14 @@ export interface GetJobResponse { Errors?: JobError[]; /** - *

                    The job type.

                    - */ - Type?: Type | string; - - /** - *

                    The date and time that the job was last updated, in ISO 8601 format.

                    + *

                    Details about the job.

                    */ - UpdatedAt?: Date; + Details?: ResponseDetails; /** - *

                    Details about the job.

                    + *

                    The job type.

                    */ - Details?: ResponseDetails; + Type?: Type | string; } export namespace GetJobResponse { @@ -1306,14 +1307,14 @@ export namespace GetJobResponse { export interface GetRevisionRequest { /** - *

                    The unique identifier for a revision.

                    + *

                    The unique identifier for a data set.

                    */ - RevisionId: string | undefined; + DataSetId: string | undefined; /** - *

                    The unique identifier for a data set.

                    + *

                    The unique identifier for a revision.

                    */ - DataSetId: string | undefined; + RevisionId: string | undefined; } export namespace GetRevisionRequest { @@ -1324,44 +1325,44 @@ export namespace GetRevisionRequest { export interface GetRevisionResponse { /** - *

                    The unique identifier for the revision.

                    + *

                    The tags for the revision.

                    */ - Id?: string; + Tags?: { [key: string]: string }; /** - *

                    The date and time that the revision was last updated, in ISO 8601 format.

                    + *

                    An optional comment about the revision.

                    */ - UpdatedAt?: Date; + Comment?: string; /** - *

                    The ARN for the revision

                    + *

                    The date and time that the revision was created, in ISO 8601 format.

                    */ - Arn?: string; + CreatedAt?: Date; /** - *

                    The unique identifier for the data set associated with this revision.

                    + *

                    To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

                    Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

                    */ - DataSetId?: string; + Finalized?: boolean; /** - *

                    To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

                    Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

                    + *

                    The ARN for the revision

                    */ - Finalized?: boolean; + Arn?: string; /** - *

                    The tags for the revision.

                    + *

                    The unique identifier for the revision.

                    */ - Tags?: { [key: string]: string }; + Id?: string; /** - *

                    An optional comment about the revision.

                    + *

                    The unique identifier for the data set associated with this revision.

                    */ - Comment?: string; + DataSetId?: string; /** - *

                    The date and time that the revision was created, in ISO 8601 format.

                    + *

                    The date and time that the revision was last updated, in ISO 8601 format.

                    */ - CreatedAt?: Date; + UpdatedAt?: Date; /** *

                    The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

                    @@ -1377,9 +1378,9 @@ export namespace GetRevisionResponse { export interface ListDataSetRevisionsRequest { /** - *

                    The maximum number of results returned by a single call.

                    + *

                    The token value retrieved from a previous call to access the next page of results.

                    */ - MaxResults?: number; + NextToken?: string; /** *

                    The unique identifier for a data set.

                    @@ -1387,9 +1388,9 @@ export interface ListDataSetRevisionsRequest { DataSetId: string | undefined; /** - *

                    The token value retrieved from a previous call to access the next page of results.

                    + *

                    The maximum number of results returned by a single call.

                    */ - NextToken?: string; + MaxResults?: number; } export namespace ListDataSetRevisionsRequest { @@ -1403,29 +1404,29 @@ export namespace ListDataSetRevisionsRequest { */ export interface RevisionEntry { /** - *

                    The unique identifier for the data set associated with this revision.

                    + *

                    The date and time that the revision was created, in ISO 8601 format.

                    */ - DataSetId: string | undefined; + CreatedAt: Date | undefined; /** - *

                    The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

                    + *

                    To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

                    Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

                    */ - SourceId?: string; + Finalized?: boolean; /** - *

                    The unique identifier for the revision.

                    + *

                    The date and time that the revision was last updated, in ISO 8601 format.

                    */ - Id: string | undefined; + UpdatedAt: Date | undefined; /** - *

                    The date and time that the revision was created, in ISO 8601 format.

                    + *

                    The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

                    */ - CreatedAt: Date | undefined; + SourceId?: string; /** - *

                    An optional comment about the revision.

                    + *

                    The unique identifier for the revision.

                    */ - Comment?: string; + Id: string | undefined; /** *

                    The ARN for the revision.

                    @@ -1433,14 +1434,14 @@ export interface RevisionEntry { Arn: string | undefined; /** - *

                    To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

                    Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

                    + *

                    The unique identifier for the data set associated with this revision.

                    */ - Finalized?: boolean; + DataSetId: string | undefined; /** - *

                    The date and time that the revision was last updated, in ISO 8601 format.

                    + *

                    An optional comment about the revision.

                    */ - UpdatedAt: Date | undefined; + Comment?: string; } export namespace RevisionEntry { @@ -1449,16 +1450,16 @@ export namespace RevisionEntry { }); } -export interface ListDataSetRevisionsResponse { - /** - *

                    The asset objects listed by the request.

                    - */ - Revisions?: RevisionEntry[]; - +export interface ListDataSetRevisionsResponse { /** *

                    The token value retrieved from a previous call to access the next page of results.

                    */ NextToken?: string; + + /** + *

                    The asset objects listed by the request.

                    + */ + Revisions?: RevisionEntry[]; } export namespace ListDataSetRevisionsResponse { @@ -1469,14 +1470,14 @@ export namespace ListDataSetRevisionsResponse { export interface ListDataSetsRequest { /** - *

                    The maximum number of results returned by a single call.

                    + *

                    The token value retrieved from a previous call to access the next page of results.

                    */ - MaxResults?: number; + NextToken?: string; /** - *

                    The token value retrieved from a previous call to access the next page of results.

                    + *

                    The maximum number of results returned by a single call.

                    */ - NextToken?: string; + MaxResults?: number; /** *

                    A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

                    @@ -1495,39 +1496,39 @@ export namespace ListDataSetsRequest { */ export interface DataSetEntry { /** - *

                    A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

                    + *

                    The name of the data set.

                    */ - Origin: Origin | string | undefined; + Name: string | undefined; /** - *

                    The date and time that the data set was created, in ISO 8601 format.

                    + *

                    If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

                    */ - CreatedAt: Date | undefined; + OriginDetails?: OriginDetails; /** - *

                    The ARN for the data set.

                    + *

                    The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

                    */ - Arn: string | undefined; + SourceId?: string; /** - *

                    The description for the data set.

                    + *

                    The date and time that the data set was created, in ISO 8601 format.

                    */ - Description: string | undefined; + CreatedAt: Date | undefined; /** - *

                    The unique identifier for the data set.

                    + *

                    A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

                    */ - Id: string | undefined; + Origin: Origin | string | undefined; /** - *

                    The name of the data set.

                    + *

                    The unique identifier for the data set.

                    */ - Name: string | undefined; + Id: string | undefined; /** - *

                    The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

                    + *

                    The description for the data set.

                    */ - SourceId?: string; + Description: string | undefined; /** *

                    The date and time that the data set was last updated, in ISO 8601 format.

                    @@ -1535,14 +1536,14 @@ export interface DataSetEntry { UpdatedAt: Date | undefined; /** - *

                    If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

                    + *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    */ - OriginDetails?: OriginDetails; + AssetType: AssetType | string | undefined; /** - *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    + *

                    The ARN for the data set.

                    */ - AssetType: AssetType | string | undefined; + Arn: string | undefined; } export namespace DataSetEntry { @@ -1553,14 +1554,14 @@ export namespace DataSetEntry { export interface ListDataSetsResponse { /** - *

                    The data set objects listed by the request.

                    + *

                    The token value retrieved from a previous call to access the next page of results.

                    */ - DataSets?: DataSetEntry[]; + NextToken?: string; /** - *

                    The token value retrieved from a previous call to access the next page of results.

                    + *

                    The data set objects listed by the request.

                    */ - NextToken?: string; + DataSets?: DataSetEntry[]; } export namespace ListDataSetsResponse { @@ -1570,6 +1571,11 @@ export namespace ListDataSetsResponse { } export interface ListJobsRequest { + /** + *

                    The unique identifier for a revision.

                    + */ + RevisionId?: string; + /** *

                    The token value retrieved from a previous call to access the next page of results.

                    */ @@ -1584,11 +1590,6 @@ export interface ListJobsRequest { *

                    The unique identifier for a data set.

                    */ DataSetId?: string; - - /** - *

                    The unique identifier for a revision.

                    - */ - RevisionId?: string; } export namespace ListJobsRequest { @@ -1602,44 +1603,44 @@ export namespace ListJobsRequest { */ export interface JobEntry { /** - *

                    The ARN for the job.

                    + *

                    The job type.

                    */ - Arn: string | undefined; + Type: Type | string | undefined; /** - *

                    The unique identifier for the job.

                    + *

                    Errors for jobs.

                    */ - Id: string | undefined; + Errors?: JobError[]; /** - *

                    The state of the job.

                    + *

                    Details of the operation to be performed by the job, such as export destination details or import source details.

                    */ - State: State | string | undefined; + Details: ResponseDetails | undefined; /** - *

                    Errors for jobs.

                    + *

                    The unique identifier for the job.

                    */ - Errors?: JobError[]; + Id: string | undefined; /** - *

                    The date and time that the job was created, in ISO 8601 format.

                    + *

                    The ARN for the job.

                    */ - CreatedAt: Date | undefined; + Arn: string | undefined; /** - *

                    Details of the operation to be performed by the job, such as export destination details or import source details.

                    + *

                    The date and time that the job was last updated, in ISO 8601 format.

                    */ - Details: ResponseDetails | undefined; + UpdatedAt: Date | undefined; /** - *

                    The job type.

                    + *

                    The state of the job.

                    */ - Type: Type | string | undefined; + State: State | string | undefined; /** - *

                    The date and time that the job was last updated, in ISO 8601 format.

                    + *

                    The date and time that the job was created, in ISO 8601 format.

                    */ - UpdatedAt: Date | undefined; + CreatedAt: Date | undefined; } export namespace JobEntry { @@ -1650,14 +1651,14 @@ export namespace JobEntry { export interface ListJobsResponse { /** - *

                    The jobs listed by the request.

                    + *

                    The token value retrieved from a previous call to access the next page of results.

                    */ - Jobs?: JobEntry[]; + NextToken?: string; /** - *

                    The token value retrieved from a previous call to access the next page of results.

                    + *

                    The jobs listed by the request.

                    */ - NextToken?: string; + Jobs?: JobEntry[]; } export namespace ListJobsResponse { @@ -1668,9 +1669,9 @@ export namespace ListJobsResponse { export interface ListRevisionAssetsRequest { /** - *

                    The unique identifier for a revision.

                    + *

                    The token value retrieved from a previous call to access the next page of results.

                    */ - RevisionId: string | undefined; + NextToken?: string; /** *

                    The maximum number of results returned by a single call.

                    @@ -1683,9 +1684,9 @@ export interface ListRevisionAssetsRequest { DataSetId: string | undefined; /** - *

                    The token value retrieved from a previous call to access the next page of results.

                    + *

                    The unique identifier for a revision.

                    */ - NextToken?: string; + RevisionId: string | undefined; } export namespace ListRevisionAssetsRequest { @@ -1696,14 +1697,14 @@ export namespace ListRevisionAssetsRequest { export interface ListRevisionAssetsResponse { /** - *

                    The asset objects listed by the request.

                    + *

                    The token value retrieved from a previous call to access the next page of results.

                    */ - Assets?: AssetEntry[]; + NextToken?: string; /** - *

                    The token value retrieved from a previous call to access the next page of results.

                    + *

                    The asset objects listed by the request.

                    */ - NextToken?: string; + Assets?: AssetEntry[]; } export namespace ListRevisionAssetsResponse { @@ -1802,11 +1803,6 @@ export namespace UntagResourceRequest { *

                    The request body for UpdateAsset.

                    */ export interface UpdateAssetRequest { - /** - *

                    The unique identifier for an asset.

                    - */ - AssetId: string | undefined; - /** *

                    The name of the asset. When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

                    */ @@ -1817,6 +1813,11 @@ export interface UpdateAssetRequest { */ RevisionId: string | undefined; + /** + *

                    The unique identifier for an asset.

                    + */ + AssetId: string | undefined; + /** *

                    The unique identifier for a data set.

                    */ @@ -1831,54 +1832,54 @@ export namespace UpdateAssetRequest { export interface UpdateAssetResponse { /** - *

                    The date and time that the asset was created, in ISO 8601 format.

                    + *

                    The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

                    */ - CreatedAt?: Date; + SourceId?: string; /** - *

                    The unique identifier for the revision associated with this asset.

                    + *

                    Information about the asset, including its size.

                    */ - RevisionId?: string; + AssetDetails?: AssetDetails; /** - *

                    The date and time that the asset was last updated, in ISO 8601 format.

                    + *

                    The name of the asset When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

                    */ - UpdatedAt?: Date; + Name?: string; /** - *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    + *

                    The unique identifier for the data set associated with this asset.

                    */ - AssetType?: AssetType | string; + DataSetId?: string; /** - *

                    The ARN for the asset.

                    + *

                    The unique identifier for the asset.

                    */ - Arn?: string; + Id?: string; /** - *

                    Information about the asset, including its size.

                    + *

                    The unique identifier for the revision associated with this asset.

                    */ - AssetDetails?: AssetDetails; + RevisionId?: string; /** - *

                    The name of the asset When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

                    + *

                    The ARN for the asset.

                    */ - Name?: string; + Arn?: string; /** - *

                    The unique identifier for the data set associated with this asset.

                    + *

                    The date and time that the asset was created, in ISO 8601 format.

                    */ - DataSetId?: string; + CreatedAt?: Date; /** - *

                    The unique identifier for the asset.

                    + *

                    The date and time that the asset was last updated, in ISO 8601 format.

                    */ - Id?: string; + UpdatedAt?: Date; /** - *

                    The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

                    + *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    */ - SourceId?: string; + AssetType?: AssetType | string; } export namespace UpdateAssetResponse { @@ -1891,11 +1892,6 @@ export namespace UpdateAssetResponse { *

                    The request body for UpdateDataSet.

                    */ export interface UpdateDataSetRequest { - /** - *

                    The description for the data set.

                    - */ - Description?: string; - /** *

                    The name of the data set.

                    */ @@ -1905,6 +1901,11 @@ export interface UpdateDataSetRequest { *

                    The unique identifier for a data set.

                    */ DataSetId: string | undefined; + + /** + *

                    The description for the data set.

                    + */ + Description?: string; } export namespace UpdateDataSetRequest { @@ -1915,54 +1916,54 @@ export namespace UpdateDataSetRequest { export interface UpdateDataSetResponse { /** - *

                    If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

                    + *

                    The date and time that the data set was last updated, in ISO 8601 format.

                    */ - OriginDetails?: OriginDetails; + UpdatedAt?: Date; /** - *

                    The name of the data set.

                    + *

                    The description for the data set.

                    */ - Name?: string; + Description?: string; /** - *

                    The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

                    + *

                    The unique identifier for the data set.

                    */ - SourceId?: string; + Id?: string; /** - *

                    A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

                    + *

                    The date and time that the data set was created, in ISO 8601 format.

                    */ - Origin?: Origin | string; + CreatedAt?: Date; /** - *

                    The description for the data set.

                    + *

                    The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

                    */ - Description?: string; + SourceId?: string; /** - *

                    The unique identifier for the data set.

                    + *

                    If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

                    */ - Id?: string; + OriginDetails?: OriginDetails; /** - *

                    The ARN for the data set.

                    + *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    */ - Arn?: string; + AssetType?: AssetType | string; /** - *

                    The date and time that the data set was created, in ISO 8601 format.

                    + *

                    The name of the data set.

                    */ - CreatedAt?: Date; + Name?: string; /** - *

                    The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

                    + *

                    A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

                    */ - AssetType?: AssetType | string; + Origin?: Origin | string; /** - *

                    The date and time that the data set was last updated, in ISO 8601 format.

                    + *

                    The ARN for the data set.

                    */ - UpdatedAt?: Date; + Arn?: string; } export namespace UpdateDataSetResponse { @@ -1976,9 +1977,9 @@ export namespace UpdateDataSetResponse { */ export interface UpdateRevisionRequest { /** - *

                    The unique identifier for a data set.

                    + *

                    The unique identifier for a revision.

                    */ - DataSetId: string | undefined; + RevisionId: string | undefined; /** *

                    Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

                    @@ -1991,9 +1992,9 @@ export interface UpdateRevisionRequest { Comment?: string; /** - *

                    The unique identifier for a revision.

                    + *

                    The unique identifier for a data set.

                    */ - RevisionId: string | undefined; + DataSetId: string | undefined; } export namespace UpdateRevisionRequest { @@ -2004,14 +2005,14 @@ export namespace UpdateRevisionRequest { export interface UpdateRevisionResponse { /** - *

                    The ARN for the revision.

                    + *

                    The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

                    */ - Arn?: string; + SourceId?: string; /** - *

                    To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

                    Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

                    + *

                    The date and time that the revision was created, in ISO 8601 format.

                    */ - Finalized?: boolean; + CreatedAt?: Date; /** *

                    The unique identifier for the revision.

                    @@ -2019,19 +2020,19 @@ export interface UpdateRevisionResponse { Id?: string; /** - *

                    The unique identifier for the data set associated with this revision.

                    + *

                    The ARN for the revision.

                    */ - DataSetId?: string; + Arn?: string; /** - *

                    The date and time that the revision was created, in ISO 8601 format.

                    + *

                    The date and time that the revision was last updated, in ISO 8601 format.

                    */ - CreatedAt?: Date; + UpdatedAt?: Date; /** - *

                    The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

                    + *

                    To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

                    Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

                    */ - SourceId?: string; + Finalized?: boolean; /** *

                    An optional comment about the revision.

                    @@ -2039,9 +2040,9 @@ export interface UpdateRevisionResponse { Comment?: string; /** - *

                    The date and time that the revision was last updated, in ISO 8601 format.

                    + *

                    The unique identifier for the data set associated with this revision.

                    */ - UpdatedAt?: Date; + DataSetId?: string; } export namespace UpdateRevisionResponse { diff --git a/clients/client-dataexchange/pagination/Interfaces.ts b/clients/client-dataexchange/pagination/Interfaces.ts new file mode 100644 index 000000000000..35bd4f579ec9 --- /dev/null +++ b/clients/client-dataexchange/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { DataExchange } from "../DataExchange"; +import { DataExchangeClient } from "../DataExchangeClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface DataExchangePaginationConfiguration extends PaginationConfiguration { + client: DataExchange | DataExchangeClient; +} diff --git a/clients/client-dataexchange/pagination/ListDataSetRevisionsPaginator.ts b/clients/client-dataexchange/pagination/ListDataSetRevisionsPaginator.ts new file mode 100644 index 000000000000..3cbd7c9bbc19 --- /dev/null +++ b/clients/client-dataexchange/pagination/ListDataSetRevisionsPaginator.ts @@ -0,0 +1,51 @@ +import { DataExchange } from "../DataExchange"; +import { DataExchangeClient } from "../DataExchangeClient"; +import { + ListDataSetRevisionsCommand, + ListDataSetRevisionsCommandInput, + ListDataSetRevisionsCommandOutput, +} from "../commands/ListDataSetRevisionsCommand"; +import { DataExchangePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: DataExchangeClient, + input: ListDataSetRevisionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListDataSetRevisionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: DataExchange, + input: ListDataSetRevisionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listDataSetRevisions(input, ...args); +}; +export async function* listDataSetRevisionsPaginate( + config: DataExchangePaginationConfiguration, + input: ListDataSetRevisionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListDataSetRevisionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof DataExchange) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof DataExchangeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DataExchange | DataExchangeClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-dataexchange/pagination/ListDataSetsPaginator.ts b/clients/client-dataexchange/pagination/ListDataSetsPaginator.ts new file mode 100644 index 000000000000..ca6030e754e7 --- /dev/null +++ b/clients/client-dataexchange/pagination/ListDataSetsPaginator.ts @@ -0,0 +1,51 @@ +import { DataExchange } from "../DataExchange"; +import { DataExchangeClient } from "../DataExchangeClient"; +import { + ListDataSetsCommand, + ListDataSetsCommandInput, + ListDataSetsCommandOutput, +} from "../commands/ListDataSetsCommand"; +import { DataExchangePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: DataExchangeClient, + input: ListDataSetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListDataSetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: DataExchange, + input: ListDataSetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listDataSets(input, ...args); +}; +export async function* listDataSetsPaginate( + config: DataExchangePaginationConfiguration, + input: ListDataSetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListDataSetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof DataExchange) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof DataExchangeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DataExchange | DataExchangeClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-dataexchange/pagination/ListJobsPaginator.ts b/clients/client-dataexchange/pagination/ListJobsPaginator.ts new file mode 100644 index 000000000000..cc8ae278d8da --- /dev/null +++ b/clients/client-dataexchange/pagination/ListJobsPaginator.ts @@ -0,0 +1,47 @@ +import { DataExchange } from "../DataExchange"; +import { DataExchangeClient } from "../DataExchangeClient"; +import { ListJobsCommand, ListJobsCommandInput, ListJobsCommandOutput } from "../commands/ListJobsCommand"; +import { DataExchangePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: DataExchangeClient, + input: ListJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListJobsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: DataExchange, + input: ListJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listJobs(input, ...args); +}; +export async function* listJobsPaginate( + config: DataExchangePaginationConfiguration, + input: ListJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListJobsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof DataExchange) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof DataExchangeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DataExchange | DataExchangeClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-dataexchange/pagination/ListRevisionAssetsPaginator.ts b/clients/client-dataexchange/pagination/ListRevisionAssetsPaginator.ts new file mode 100644 index 000000000000..ade3c11e3416 --- /dev/null +++ b/clients/client-dataexchange/pagination/ListRevisionAssetsPaginator.ts @@ -0,0 +1,51 @@ +import { DataExchange } from "../DataExchange"; +import { DataExchangeClient } from "../DataExchangeClient"; +import { + ListRevisionAssetsCommand, + ListRevisionAssetsCommandInput, + ListRevisionAssetsCommandOutput, +} from "../commands/ListRevisionAssetsCommand"; +import { DataExchangePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: DataExchangeClient, + input: ListRevisionAssetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListRevisionAssetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: DataExchange, + input: ListRevisionAssetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listRevisionAssets(input, ...args); +}; +export async function* listRevisionAssetsPaginate( + config: DataExchangePaginationConfiguration, + input: ListRevisionAssetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListRevisionAssetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof DataExchange) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof DataExchangeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DataExchange | DataExchangeClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-dataexchange/protocols/Aws_restJson1.ts b/clients/client-dataexchange/protocols/Aws_restJson1.ts index 463b7235264a..ed1997c87a03 100644 --- a/clients/client-dataexchange/protocols/Aws_restJson1.ts +++ b/clients/client-dataexchange/protocols/Aws_restJson1.ts @@ -194,15 +194,6 @@ export const serializeAws_restJson1DeleteAssetCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}"; - if (input.DataSetId !== undefined) { - const labelValue: string = input.DataSetId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DataSetId."); - } - resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DataSetId."); - } if (input.RevisionId !== undefined) { const labelValue: string = input.RevisionId; if (labelValue.length <= 0) { @@ -212,6 +203,15 @@ export const serializeAws_restJson1DeleteAssetCommand = async ( } else { throw new Error("No value provided for input HTTP label: RevisionId."); } + if (input.DataSetId !== undefined) { + const labelValue: string = input.DataSetId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DataSetId."); + } + resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DataSetId."); + } if (input.AssetId !== undefined) { const labelValue: string = input.AssetId; if (labelValue.length <= 0) { @@ -272,15 +272,6 @@ export const serializeAws_restJson1DeleteRevisionCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/data-sets/{DataSetId}/revisions/{RevisionId}"; - if (input.DataSetId !== undefined) { - const labelValue: string = input.DataSetId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DataSetId."); - } - resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DataSetId."); - } if (input.RevisionId !== undefined) { const labelValue: string = input.RevisionId; if (labelValue.length <= 0) { @@ -290,6 +281,15 @@ export const serializeAws_restJson1DeleteRevisionCommand = async ( } else { throw new Error("No value provided for input HTTP label: RevisionId."); } + if (input.DataSetId !== undefined) { + const labelValue: string = input.DataSetId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DataSetId."); + } + resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DataSetId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -311,14 +311,14 @@ export const serializeAws_restJson1GetAssetCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}"; - if (input.AssetId !== undefined) { - const labelValue: string = input.AssetId; + if (input.RevisionId !== undefined) { + const labelValue: string = input.RevisionId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AssetId."); + throw new Error("Empty value provided for input HTTP label: RevisionId."); } - resolvedPath = resolvedPath.replace("{AssetId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{RevisionId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AssetId."); + throw new Error("No value provided for input HTTP label: RevisionId."); } if (input.DataSetId !== undefined) { const labelValue: string = input.DataSetId; @@ -329,14 +329,14 @@ export const serializeAws_restJson1GetAssetCommand = async ( } else { throw new Error("No value provided for input HTTP label: DataSetId."); } - if (input.RevisionId !== undefined) { - const labelValue: string = input.RevisionId; + if (input.AssetId !== undefined) { + const labelValue: string = input.AssetId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RevisionId."); + throw new Error("Empty value provided for input HTTP label: AssetId."); } - resolvedPath = resolvedPath.replace("{RevisionId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AssetId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: RevisionId."); + throw new Error("No value provided for input HTTP label: AssetId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -419,15 +419,6 @@ export const serializeAws_restJson1GetRevisionCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/data-sets/{DataSetId}/revisions/{RevisionId}"; - if (input.RevisionId !== undefined) { - const labelValue: string = input.RevisionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RevisionId."); - } - resolvedPath = resolvedPath.replace("{RevisionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RevisionId."); - } if (input.DataSetId !== undefined) { const labelValue: string = input.DataSetId; if (labelValue.length <= 0) { @@ -437,6 +428,15 @@ export const serializeAws_restJson1GetRevisionCommand = async ( } else { throw new Error("No value provided for input HTTP label: DataSetId."); } + if (input.RevisionId !== undefined) { + const labelValue: string = input.RevisionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RevisionId."); + } + resolvedPath = resolvedPath.replace("{RevisionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RevisionId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -468,8 +468,8 @@ export const serializeAws_restJson1ListDataSetRevisionsCommand = async ( throw new Error("No value provided for input HTTP label: DataSetId."); } 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(); @@ -494,8 +494,8 @@ export const serializeAws_restJson1ListDataSetsCommand = async ( }; let resolvedPath = "/v1/data-sets"; const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.Origin !== undefined && { origin: input.Origin }), }; let body: any; @@ -521,10 +521,10 @@ export const serializeAws_restJson1ListJobsCommand = async ( }; let resolvedPath = "/v1/jobs"; const query: any = { + ...(input.RevisionId !== undefined && { revisionId: input.RevisionId }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.DataSetId !== undefined && { dataSetId: input.DataSetId }), - ...(input.RevisionId !== undefined && { revisionId: input.RevisionId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -548,15 +548,6 @@ export const serializeAws_restJson1ListRevisionAssetsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets"; - if (input.RevisionId !== undefined) { - const labelValue: string = input.RevisionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RevisionId."); - } - resolvedPath = resolvedPath.replace("{RevisionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RevisionId."); - } if (input.DataSetId !== undefined) { const labelValue: string = input.DataSetId; if (labelValue.length <= 0) { @@ -566,9 +557,18 @@ export const serializeAws_restJson1ListRevisionAssetsCommand = async ( } else { throw new Error("No value provided for input HTTP label: DataSetId."); } + if (input.RevisionId !== undefined) { + const labelValue: string = input.RevisionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RevisionId."); + } + resolvedPath = resolvedPath.replace("{RevisionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RevisionId."); + } 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(); @@ -719,15 +719,6 @@ export const serializeAws_restJson1UpdateAssetCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}"; - if (input.AssetId !== undefined) { - const labelValue: string = input.AssetId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AssetId."); - } - resolvedPath = resolvedPath.replace("{AssetId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AssetId."); - } if (input.RevisionId !== undefined) { const labelValue: string = input.RevisionId; if (labelValue.length <= 0) { @@ -737,6 +728,15 @@ export const serializeAws_restJson1UpdateAssetCommand = async ( } else { throw new Error("No value provided for input HTTP label: RevisionId."); } + if (input.AssetId !== undefined) { + const labelValue: string = input.AssetId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AssetId."); + } + resolvedPath = resolvedPath.replace("{AssetId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AssetId."); + } if (input.DataSetId !== undefined) { const labelValue: string = input.DataSetId; if (labelValue.length <= 0) { @@ -804,15 +804,6 @@ export const serializeAws_restJson1UpdateRevisionCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v1/data-sets/{DataSetId}/revisions/{RevisionId}"; - if (input.DataSetId !== undefined) { - const labelValue: string = input.DataSetId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DataSetId."); - } - resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DataSetId."); - } if (input.RevisionId !== undefined) { const labelValue: string = input.RevisionId; if (labelValue.length <= 0) { @@ -822,6 +813,15 @@ export const serializeAws_restJson1UpdateRevisionCommand = async ( } else { throw new Error("No value provided for input HTTP label: RevisionId."); } + if (input.DataSetId !== undefined) { + const labelValue: string = input.DataSetId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DataSetId."); + } + resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DataSetId."); + } let body: any; body = JSON.stringify({ ...(input.Comment !== undefined && { Comment: input.Comment }), diff --git a/clients/client-datasync/DataSync.ts b/clients/client-datasync/DataSync.ts index 5547b4f0eb54..85059ccc0723 100644 --- a/clients/client-datasync/DataSync.ts +++ b/clients/client-datasync/DataSync.ts @@ -176,7 +176,7 @@ export class DataSync extends DataSyncClient { * agent in the AWS Region where your target locations (in Amazon S3 or Amazon EFS) reside. Your * tasks are created in this AWS Region.

                    *

                    You can activate the agent in a VPC (virtual private cloud) or provide the agent access to - * a VPC endpoint so you can run tasks without going over the public Internet.

                    + * a VPC endpoint so you can run tasks without going over the public internet.

                    *

                    You can use an agent for more than one location. If a task uses multiple agents, all of * them need to have status AVAILABLE for the task to run. If you use multiple agents for a * source location, the status of all the agents must be AVAILABLE for the task to run.

                    @@ -307,7 +307,8 @@ export class DataSync extends DataSyncClient { } /** - *

                    Creates an endpoint for a self-managed object storage bucket.

                    + *

                    Creates an endpoint for a self-managed object storage bucket. For more information + * about self-managed object storage locations, see create-object-location.

                    */ public createLocationObjectStorage( args: CreateLocationObjectStorageCommandInput, @@ -340,15 +341,11 @@ export class DataSync extends DataSyncClient { /** *

                    Creates an endpoint for an Amazon S3 bucket.

                    - *

                    For AWS DataSync to access a destination S3 bucket, it needs an AWS Identity and Access - * Management (IAM) role that has the required permissions. You can set up the required - * permissions by creating an IAM policy that grants the required permissions and attaching the - * policy to the role. An example of such a policy is shown in the examples section.

                    * * - *

                    For more information, see https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location in the - * AWS DataSync User Guide. - *

                    + *

                    For more information, see + * https://docs.aws.amazon.com/datasync/latest/userguide/create-locations-cli.html#create-location-s3-cli + * in the AWS DataSync User Guide.

                    */ public createLocationS3( args: CreateLocationS3CommandInput, @@ -424,7 +421,7 @@ export class DataSync extends DataSyncClient { * transitions to the UNAVAILABLE status. If the status of the task remains in the CREATING * status for more than a few minutes, it means that your agent might be having trouble mounting * the source NFS file system. Check the task's ErrorCode and ErrorDetail. Mount issues are often - * caused by either a misconfigured firewall or a mistyped NFS server host name.

                    + * caused by either a misconfigured firewall or a mistyped NFS server hostname.

                    */ public createTask(args: CreateTaskCommandInput, options?: __HttpHandlerOptions): Promise; public createTask(args: CreateTaskCommandInput, cb: (err: any, data?: CreateTaskCommandOutput) => void): void; @@ -667,7 +664,8 @@ export class DataSync extends DataSyncClient { } /** - *

                    Returns metadata about a self-managed object storage server location.

                    + *

                    Returns metadata about a self-managed object storage server location. For more information + * about self-managed object storage locations, see create-object-location.

                    */ public describeLocationObjectStorage( args: DescribeLocationObjectStorageCommandInput, diff --git a/clients/client-datasync/models/models_0.ts b/clients/client-datasync/models/models_0.ts index 9bcb97bcbf94..979d03787307 100644 --- a/clients/client-datasync/models/models_0.ts +++ b/clients/client-datasync/models/models_0.ts @@ -18,14 +18,14 @@ export interface AgentListEntry { Name?: string; /** - *

                    The Amazon Resource Name (ARN) of the agent.

                    + *

                    The status of the agent.

                    */ - AgentArn?: string; + Status?: AgentStatus | string; /** - *

                    The status of the agent.

                    + *

                    The Amazon Resource Name (ARN) of the agent.

                    */ - Status?: AgentStatus | string; + AgentArn?: string; } export namespace AgentListEntry { @@ -123,25 +123,25 @@ export namespace TagListEntry { */ export interface CreateAgentRequest { /** - *

                    The Amazon Resource Names (ARNs) of the subnets in which DataSync will create elastic - * network interfaces for each data transfer task. The agent that runs a task must be private. - * When you start a task that is associated with an agent created in a VPC, or one that has - * access to an IP address in a VPC, then the task is also private. In this case, DataSync - * creates four network interfaces for each task in your subnet. For a data transfer to work, the - * agent must be able to route to all these four network interfaces.

                    + *

                    Your agent activation key. You can get the activation key either by sending an HTTP GET + * request with redirects that enable you to get the agent IP address (port 80). Alternatively, + * you can get it from the AWS DataSync console.

                    + *

                    The redirect URL returned in the response provides you the activation key for your + * agent in the query string parameter activationKey. It might also include other + * activation-related parameters; however, these are merely defaults. The arguments you pass to + * this API call determine the actual configuration of your agent.

                    + * + * + *

                    For more information, see Activating an Agent in the AWS DataSync + * User Guide. + *

                    */ - SubnetArns?: string[]; + ActivationKey: string | undefined; /** - *

                    The key-value pair that represents the tag that you want to associate with the agent. - * The value can be an empty string. This value helps you manage, filter, and search for your - * agents.

                    - * - *

                    Valid characters for key and value are letters, spaces, and numbers representable in - * UTF-8 format, and the following special characters: + - = . _ : / @.

                    - *
                    + *

                    The ARNs of the security groups used to protect your data transfer task subnets. See CreateAgentRequest$SubnetArns.

                    */ - Tags?: TagListEntry[]; + SecurityGroupArns?: string[]; /** *

                    The ID of the VPC (virtual private cloud) endpoint that the agent has access to. This is @@ -152,31 +152,31 @@ export interface CreateAgentRequest { VpcEndpointId?: string; /** - *

                    The name you configured for your agent. This value is a text reference that is used to - * identify the agent in the console.

                    + *

                    The key-value pair that represents the tag that you want to associate with the agent. + * The value can be an empty string. This value helps you manage, filter, and search for your + * agents.

                    + * + *

                    Valid characters for key and value are letters, spaces, and numbers representable in + * UTF-8 format, and the following special characters: + - = . _ : / @.

                    + *
                    */ - AgentName?: string; + Tags?: TagListEntry[]; /** - *

                    Your agent activation key. You can get the activation key either by sending an HTTP GET - * request with redirects that enable you to get the agent IP address (port 80). Alternatively, - * you can get it from the AWS DataSync console.

                    - *

                    The redirect URL returned in the response provides you the activation key for your - * agent in the query string parameter activationKey. It might also include other - * activation-related parameters; however, these are merely defaults. The arguments you pass to - * this API call determine the actual configuration of your agent.

                    - * - * - *

                    For more information, see Activating an Agent in the AWS DataSync - * User Guide. - *

                    + *

                    The Amazon Resource Names (ARNs) of the subnets in which DataSync will create elastic + * network interfaces for each data transfer task. The agent that runs a task must be private. + * When you start a task that is associated with an agent created in a VPC, or one that has + * access to an IP address in a VPC, then the task is also private. In this case, DataSync + * creates four network interfaces for each task in your subnet. For a data transfer to work, the + * agent must be able to route to all these four network interfaces.

                    */ - ActivationKey: string | undefined; + SubnetArns?: string[]; /** - *

                    The ARNs of the security groups used to protect your data transfer task subnets. See CreateAgentRequest$SubnetArns.

                    + *

                    The name you configured for your agent. This value is a text reference that is used to + * identify the agent in the console.

                    */ - SecurityGroupArns?: string[]; + AgentName?: string; } export namespace CreateAgentRequest { @@ -232,6 +232,13 @@ export namespace Ec2Config { *

                    CreateLocationEfsRequest

                    */ export interface CreateLocationEfsRequest { + /** + *

                    The key-value pair that represents a tag that you want to add to the resource. The + * value can be an empty string. This value helps you manage, filter, and search for your + * resources. We recommend that you create a name tag for your location.

                    + */ + Tags?: TagListEntry[]; + /** *

                    A subdirectory in the location’s path. This subdirectory in the EFS file system is used * to read data from the EFS source location or write data to the EFS destination. By default, @@ -244,18 +251,6 @@ export interface CreateLocationEfsRequest { */ Subdirectory?: string; - /** - *

                    The key-value pair that represents a tag that you want to add to the resource. The - * value can be an empty string. This value helps you manage, filter, and search for your - * resources. We recommend that you create a name tag for your location.

                    - */ - Tags?: TagListEntry[]; - - /** - *

                    The Amazon Resource Name (ARN) for the Amazon EFS file system.

                    - */ - EfsFilesystemArn: string | undefined; - /** *

                    The subnet and security group that the Amazon EFS file system uses. The security group * that you provide needs to be able to communicate with the security group on the mount target @@ -283,6 +278,11 @@ export interface CreateLocationEfsRequest { *

                  */ Ec2Config: Ec2Config | undefined; + + /** + *

                  The Amazon Resource Name (ARN) for the Amazon EFS file system.

                  + */ + EfsFilesystemArn: string | undefined; } export namespace CreateLocationEfsRequest { @@ -315,11 +315,6 @@ export interface CreateLocationFsxWindowsRequest { */ SecurityGroupArns: string[] | undefined; - /** - *

                  The Amazon Resource Name (ARN) for the FSx for Windows file system.

                  - */ - FsxFilesystemArn: string | undefined; - /** *

                  The name of the Windows domain that the FSx for Windows server belongs to.

                  */ @@ -338,17 +333,22 @@ export interface CreateLocationFsxWindowsRequest { */ Tags?: TagListEntry[]; - /** - *

                  The user who has the permissions to access files and folders in the - * FSx for Windows file system.

                  - */ - User: string | undefined; - /** *

                  A subdirectory in the location’s path. This subdirectory in the Amazon FSx for Windows file system is used * to read data from the Amazon FSx for Windows source location or write data to the FSx for Windows destination.

                  */ Subdirectory?: string; + + /** + *

                  The Amazon Resource Name (ARN) for the FSx for Windows file system.

                  + */ + FsxFilesystemArn: string | undefined; + + /** + *

                  The user who has the permissions to access files and folders in the + * FSx for Windows file system.

                  + */ + User: string | undefined; } export namespace CreateLocationFsxWindowsRequest { @@ -431,7 +431,7 @@ export namespace NfsMountOptions { */ export interface OnPremConfig { /** - *

                  ARNs)of the agents to use for an NFS location.

                  + *

                  ARNs of the agents to use for an NFS location.

                  */ AgentArns: string[] | undefined; } @@ -446,36 +446,12 @@ export namespace OnPremConfig { *

                  CreateLocationNfsRequest

                  */ export interface CreateLocationNfsRequest { - /** - *

                  The NFS mount options that DataSync can use to mount your NFS share.

                  - */ - MountOptions?: NfsMountOptions; - - /** - *

                  Contains a list of Amazon Resource Names (ARNs) of agents that are used to connect to - * an NFS server.

                  - *

                  If you are copying data to or from your AWS Snowcone device, see NFS Server on AWS Snowcone for more information.

                  - */ - OnPremConfig: OnPremConfig | undefined; - /** *

                  The key-value pair that represents the tag that you want to add to the location. The * value can be an empty string. We recommend using tags to name your resources.

                  */ Tags?: TagListEntry[]; - /** - *

                  The name of the NFS server. This value is the IP address or Domain Name Service (DNS) - * name of the NFS server. An agent that is installed on-premises uses this host name to mount - * the NFS server in a network.

                  - *

                  If you are copying data to or from your AWS Snowcone device, see NFS Server on AWS Snowcone for more information.

                  - * - *

                  This name must either be DNS-compliant or must be an IP version 4 (IPv4) - * address.

                  - *
                  - */ - ServerHostname: string | undefined; - /** *

                  The subdirectory in the NFS file system that is used to read data from the NFS source * location or write data to the NFS destination. The NFS path should be a path that's @@ -497,6 +473,30 @@ export interface CreateLocationNfsRequest { * Configuration File in the Red Hat Enterprise Linux documentation.

                  */ Subdirectory: string | undefined; + + /** + *

                  The NFS mount options that DataSync can use to mount your NFS share.

                  + */ + MountOptions?: NfsMountOptions; + + /** + *

                  The name of the NFS server. This value is the IP address or Domain Name Service (DNS) + * name of the NFS server. An agent that is installed on-premises uses this host name to mount + * the NFS server in a network.

                  + *

                  If you are copying data to or from your AWS Snowcone device, see NFS Server on AWS Snowcone for more information.

                  + * + *

                  This name must either be DNS-compliant or must be an IP version 4 (IPv4) + * address.

                  + *
                  + */ + ServerHostname: string | undefined; + + /** + *

                  Contains a list of Amazon Resource Names (ARNs) of agents that are used to connect to + * an NFS server.

                  + *

                  If you are copying data to or from your AWS Snowcone device, see NFS Server on AWS Snowcone for more information.

                  + */ + OnPremConfig: OnPremConfig | undefined; } export namespace CreateLocationNfsRequest { @@ -538,22 +538,19 @@ export interface CreateLocationObjectStorageRequest { ServerProtocol?: ObjectStorageServerProtocol | string; /** - *

                  The key-value pair that represents the tag that you want to add to the location. The - * value can be an empty string. We recommend using tags to name your resources.

                  - */ - Tags?: TagListEntry[]; - - /** - *

                  The subdirectory in the self-managed object storage server that is used - * to read data from.

                  + *

                  Optional. The secret key is used if credentials are required to access the self-managed + * object storage server. If your object storage requires a user name and password to + * authenticate, use AccessKey and SecretKey to provide the user name + * and password, respectively.

                  */ - Subdirectory?: string; + SecretKey?: string; /** - *

                  The Amazon Resource Name (ARN) of the agents associated with the - * self-managed object storage server location.

                  + *

                  The name of the self-managed object storage server. This value is the + * IP address or Domain Name Service (DNS) name of the object storage server. + * An agent uses this host name to mount the object storage server in a network.

                  */ - AgentArns: string[] | undefined; + ServerHostname: string | undefined; /** *

                  The bucket on the self-managed object storage server that is used @@ -562,16 +559,18 @@ export interface CreateLocationObjectStorageRequest { BucketName: string | undefined; /** - *

                  Optional. The access key is used if credentials are required to access - * the self-managed object storage server.

                  + *

                  The subdirectory in the self-managed object storage server that is used + * to read data from.

                  */ - AccessKey?: string; + Subdirectory?: string; /** - *

                  Optional. The secret key is used if credentials are required to access - * the self-managed object storage server.

                  + *

                  Optional. The access key is used if credentials are required to access the self-managed + * object storage server. If your object storage requires a user name and password to + * authenticate, use AccessKey and SecretKey to provide the user name + * and password, respectively.

                  */ - SecretKey?: string; + AccessKey?: string; /** *

                  The port that your self-managed object storage server accepts inbound network traffic on. @@ -581,11 +580,16 @@ export interface CreateLocationObjectStorageRequest { ServerPort?: number; /** - *

                  The name of the self-managed object storage server. This value is the - * IP address or Domain Name Service (DNS) name of the object storage server. - * An agent uses this host name to mount the object storage server in a network.

                  + *

                  The Amazon Resource Name (ARN) of the agents associated with the + * self-managed object storage server location.

                  */ - ServerHostname: string | undefined; + AgentArns: string[] | undefined; + + /** + *

                  The key-value pair that represents the tag that you want to add to the location. The + * value can be an empty string. We recommend using tags to name your resources.

                  + */ + Tags?: TagListEntry[]; } export namespace CreateLocationObjectStorageRequest { @@ -637,6 +641,7 @@ export enum S3StorageClass { GLACIER = "GLACIER", INTELLIGENT_TIERING = "INTELLIGENT_TIERING", ONEZONE_IA = "ONEZONE_IA", + OUTPOSTS = "OUTPOSTS", STANDARD = "STANDARD", STANDARD_IA = "STANDARD_IA", } @@ -646,38 +651,49 @@ export enum S3StorageClass { */ export interface CreateLocationS3Request { /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role - * that is used to access an Amazon S3 bucket.

                  - * - *

                  For detailed information about using such a role, see Creating a Location for - * Amazon S3 in the AWS DataSync User Guide.

                  + *

                  The Amazon Resource Name (ARN) of the Amazon S3 bucket. If the bucket is on an + * AWS Outpost, this must be an access point ARN.

                  */ - S3Config: S3Config | undefined; + S3BucketArn: string | undefined; + + /** + *

                  If you are using DataSync on an AWS Outpost, specify the Amazon Resource Names (ARNs) of + * the DataSync agents deployed on your AWS Outpost. For more information about launching a + * DataSync agent on an Amazon Outpost, see outposts-agent.

                  + */ + AgentArns?: string[]; + + /** + *

                  The key-value pair that represents the tag that you want to add to the location. The + * value can be an empty string. We recommend using tags to name your resources.

                  + */ + Tags?: TagListEntry[]; /** *

                  The Amazon S3 storage class that you want to store your files in when this location is - * used as a task destination. For more information about S3 storage classes, see Amazon S3 Storage Classes in the + * used as a task destination. For buckets in AWS Regions, the storage class defaults to Standard. + * For buckets on AWS Outposts, the storage class defaults to AWS S3 Outposts.

                  + * + *

                  For more information about S3 storage classes, see Amazon S3 Storage Classes in the * Amazon Simple Storage Service Developer Guide. Some storage classes * have behaviors that can affect your S3 storage cost. For detailed information, see using-storage-classes.

                  */ S3StorageClass?: S3StorageClass | string; /** - *

                  A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is used to read - * data from the S3 source location or write data to the S3 destination.

                  - */ - Subdirectory?: string; - - /** - *

                  The key-value pair that represents the tag that you want to add to the location. The - * value can be an empty string. We recommend using tags to name your resources.

                  + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role + * that is used to access an Amazon S3 bucket.

                  + * + *

                  For detailed information about using such a role, see Creating a Location for + * Amazon S3 in the AWS DataSync User Guide.

                  */ - Tags?: TagListEntry[]; + S3Config: S3Config | undefined; /** - *

                  The Amazon Resource Name (ARN) of the Amazon S3 bucket.

                  + *

                  A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is used to read + * data from the S3 source location or write data to the S3 destination.

                  */ - S3BucketArn: string | undefined; + Subdirectory?: string; } export namespace CreateLocationS3Request { @@ -737,35 +753,11 @@ export interface CreateLocationSmbRequest { */ Domain?: string; - /** - *

                  The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block (SMB) - * location.

                  - */ - AgentArns: string[] | undefined; - /** *

                  The mount options used by DataSync to access the SMB server.

                  */ MountOptions?: SmbMountOptions; - /** - *

                  The password of the user who can mount the share, has the permissions to access files and - * folders in the SMB share.

                  - */ - Password: string | undefined; - - /** - *

                  The user who can mount the share, has the permissions to access files and folders in the - * SMB share.

                  - */ - User: string | undefined; - - /** - *

                  The key-value pair that represents the tag that you want to add to the location. The value - * can be an empty string. We recommend using tags to name your resources.

                  - */ - Tags?: TagListEntry[]; - /** *

                  The subdirectory in the SMB file system that is used to read data from the SMB source * location or write data to the SMB destination. The SMB path should be a path that's @@ -787,6 +779,18 @@ export interface CreateLocationSmbRequest { */ Subdirectory: string | undefined; + /** + *

                  The user who can mount the share, has the permissions to access files and folders in the + * SMB share.

                  + */ + User: string | undefined; + + /** + *

                  The password of the user who can mount the share, has the permissions to access files and + * folders in the SMB share.

                  + */ + Password: string | undefined; + /** *

                  The name of the SMB server. This value is the IP address or Domain Name Service (DNS) name * of the SMB server. An agent that is installed on-premises uses this hostname to mount the SMB @@ -796,6 +800,18 @@ export interface CreateLocationSmbRequest { * */ ServerHostname: string | undefined; + + /** + *

                  The key-value pair that represents the tag that you want to add to the location. The value + * can be an empty string. We recommend using tags to name your resources.

                  + */ + Tags?: TagListEntry[]; + + /** + *

                  The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block (SMB) + * location.

                  + */ + AgentArns: string[] | undefined; } export namespace CreateLocationSmbRequest { @@ -831,6 +847,12 @@ export enum FilterType { * from source to destination.

                  */ export interface FilterRule { + /** + *

                  The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule + * type.

                  + */ + FilterType?: FilterType | string; + /** *

                  A single filter string that consists of the patterns to include or exclude. The patterns * are delimited by "|" (that is, a pipe), for example: /folder1|/folder2 @@ -839,12 +861,6 @@ export interface FilterRule { *

                  */ Value?: string; - - /** - *

                  The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule - * type.

                  - */ - FilterType?: FilterType | string; } export namespace FilterRule { @@ -946,59 +962,19 @@ export interface Options { VerifyMode?: VerifyMode | string; /** - *

                  The group ID (GID) of the file's owners.

                  - *

                  Default value: INT_VALUE. This preserves the integer value of the ID.

                  - *

                  INT_VALUE: Preserve the integer value of user ID (UID) and GID (recommended).

                  - *

                  NONE: Ignore UID and GID.

                  - */ - Gid?: Gid | string; - - /** - *

                  A value that specifies whether files in the destination that don't exist in the source - * file system should be preserved. This option can affect your storage cost. - * If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed - * information, see using-storage-classes in the AWS DataSync User - * Guide.

                  - *

                  Default value: PRESERVE.

                  - *

                  PRESERVE: Ignore such destination files (recommended).

                  - *

                  REMOVE: Delete destination files that aren’t present in the source.

                  - */ - PreserveDeletedFiles?: PreserveDeletedFiles | string; - - /** - *

                  A value that determines whether tasks should be queued before executing the tasks. If set - * to ENABLED, the tasks will be queued. The default is ENABLED.

                  - *

                  If you use the same agent to run multiple tasks, you can enable the tasks to run in - * series. For more information, see queue-task-execution.

                  - */ - TaskQueueing?: TaskQueueing | string; - - /** - *

                  A value that determines which users or groups can access a file for a specific purpose - * such as reading, writing, or execution of the file.

                  - *

                  Default value: PRESERVE.

                  - *

                  PRESERVE: Preserve POSIX-style permissions (recommended).

                  - *

                  NONE: Ignore permissions.

                  + *

                  A value that determines whether AWS DataSync should preserve the metadata of block + * and character devices in the source file system, and recreate the files with that device name + * and metadata on the destination.

                  * - *

                  AWS DataSync can preserve extant permissions of a source location.

                  + *

                  AWS DataSync can't sync the actual contents of such devices, because they are + * nonterminal and don't return an end-of-file (EOF) marker.

                  *
                  + *

                  Default value: NONE.

                  + *

                  NONE: Ignore special devices (recommended).

                  + *

                  PRESERVE: Preserve character and block device metadata. This option isn't currently + * supported for Amazon EFS.

                  */ - PosixPermissions?: PosixPermissions | string; - - /** - *

                  TransferMode has two values: CHANGED and ALL. CHANGED performs an "incremental" - * or "delta sync", it compares file modification time between source and destination to - * determine which files need to be transferred. ALL skips destination inventory and - * transfers all files discovered on the source.

                  - */ - TransferMode?: TransferMode | string; - - /** - *

                  A value that limits the bandwidth used by AWS DataSync. For example, if you want - * AWS DataSync to use a maximum of 1 MB, set this value to 1048576 - * (=1024*1024).

                  - */ - BytesPerSecond?: number; + PreserveDevices?: PreserveDevices | string; /** *

                  A value that determines whether files at the destination should be overwritten or @@ -1027,6 +1003,38 @@ export interface Options { */ Atime?: Atime | string; + /** + *

                  A value that determines which users or groups can access a file for a specific purpose + * such as reading, writing, or execution of the file.

                  + *

                  Default value: PRESERVE.

                  + *

                  PRESERVE: Preserve POSIX-style permissions (recommended).

                  + *

                  NONE: Ignore permissions.

                  + * + *

                  AWS DataSync can preserve extant permissions of a source location.

                  + *
                  + */ + PosixPermissions?: PosixPermissions | string; + + /** + *

                  A value that specifies whether files in the destination that don't exist in the source + * file system should be preserved. This option can affect your storage cost. + * If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed + * information, see using-storage-classes in the AWS DataSync User + * Guide.

                  + *

                  Default value: PRESERVE.

                  + *

                  PRESERVE: Ignore such destination files (recommended).

                  + *

                  REMOVE: Delete destination files that aren’t present in the source.

                  + */ + PreserveDeletedFiles?: PreserveDeletedFiles | string; + + /** + *

                  The group ID (GID) of the file's owners.

                  + *

                  Default value: INT_VALUE. This preserves the integer value of the ID.

                  + *

                  INT_VALUE: Preserve the integer value of user ID (UID) and GID (recommended).

                  + *

                  NONE: Ignore UID and GID.

                  + */ + Gid?: Gid | string; + /** *

                  The user ID (UID) of the file's owner.

                  *

                  Default value: INT_VALUE. This preserves the integer value of the ID.

                  @@ -1046,6 +1054,13 @@ export interface Options { */ LogLevel?: LogLevel | string; + /** + *

                  A value that limits the bandwidth used by AWS DataSync. For example, if you want + * AWS DataSync to use a maximum of 1 MB, set this value to 1048576 + * (=1024*1024).

                  + */ + BytesPerSecond?: number; + /** *

                  A value that indicates the last time that a file was modified (that is, a file was * written to) before the PREPARING phase.

                  @@ -1062,19 +1077,23 @@ export interface Options { Mtime?: Mtime | string; /** - *

                  A value that determines whether AWS DataSync should preserve the metadata of block - * and character devices in the source file system, and recreate the files with that device name - * and metadata on the destination.

                  - * - *

                  AWS DataSync can't sync the actual contents of such devices, because they are - * nonterminal and don't return an end-of-file (EOF) marker.

                  - *
                  - *

                  Default value: NONE.

                  - *

                  NONE: Ignore special devices (recommended).

                  - *

                  PRESERVE: Preserve character and block device metadata. This option isn't currently - * supported for Amazon EFS.

                  + *

                  A value that determines whether DataSync transfers only the data and metadata that differ between the source + * and the destination location, or whether DataSync transfers all the content from the source, without comparing to + * the destination location.

                  + *

                  CHANGED: DataSync copies only data or metadata that is new or different content from the source location to the + * destination location.

                  + *

                  ALL: DataSync copies all source location content to the destination, without comparing to existing content on + * the destination.

                  */ - PreserveDevices?: PreserveDevices | string; + TransferMode?: TransferMode | string; + + /** + *

                  A value that determines whether tasks should be queued before executing the tasks. If set + * to ENABLED, the tasks will be queued. The default is ENABLED.

                  + *

                  If you use the same agent to run multiple tasks, you can enable the tasks to run in + * series. For more information, see queue-task-execution.

                  + */ + TaskQueueing?: TaskQueueing | string; } export namespace Options { @@ -1111,10 +1130,15 @@ export interface CreateTaskRequest { SourceLocationArn: string | undefined; /** - *

                  The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to - * monitor and log events in the task.

                  + *

                  The set of configuration options that control the behavior of a single execution of the + * task that occurs when you call StartTaskExecution. You can configure these + * options to preserve metadata such as user ID (UID) and group ID (GID), file permissions, data + * integrity verification, and so on.

                  + *

                  For each individual task execution, you can override these options by specifying the + * OverrideOptions before starting the task execution. For more information, see + * the operation.

                  */ - CloudWatchLogGroupArn?: string; + Options?: Options; /** *

                  The name of a task. This value is a text reference that is used to identify the task in @@ -1123,9 +1147,14 @@ export interface CreateTaskRequest { Name?: string; /** - *

                  The Amazon Resource Name (ARN) of an AWS storage resource's location.

                  + *

                  A list of filter rules that determines which files to exclude from a task. The list should + * contain a single filter string that consists of the patterns to exclude. The patterns are + * delimited by "|" (that is, a pipe), for example, "/folder1|/folder2" + *

                  + *

                  + *

                  */ - DestinationLocationArn: string | undefined; + Excludes?: FilterRule[]; /** *

                  The key-value pair that represents the tag that you want to add to the resource. The @@ -1134,31 +1163,21 @@ export interface CreateTaskRequest { Tags?: TagListEntry[]; /** - *

                  A list of filter rules that determines which files to exclude from a task. The list should - * contain a single filter string that consists of the patterns to exclude. The patterns are - * delimited by "|" (that is, a pipe), for example, "/folder1|/folder2" - *

                  - *

                  - *

                  + *

                  The Amazon Resource Name (ARN) of an AWS storage resource's location.

                  */ - Excludes?: FilterRule[]; + DestinationLocationArn: string | undefined; /** - *

                  Specifies a schedule used to periodically transfer files from a source to a destination - * location. The schedule should be specified in UTC time. For more information, see task-scheduling.

                  + *

                  The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to + * monitor and log events in the task.

                  */ - Schedule?: TaskSchedule; + CloudWatchLogGroupArn?: string; /** - *

                  The set of configuration options that control the behavior of a single execution of the - * task that occurs when you call StartTaskExecution. You can configure these - * options to preserve metadata such as user ID (UID) and group ID (GID), file permissions, data - * integrity verification, and so on.

                  - *

                  For each individual task execution, you can override these options by specifying the - * OverrideOptions before starting the task execution. For more information, see - * the operation.

                  + *

                  Specifies a schedule used to periodically transfer files from a source to a destination + * location. The schedule should be specified in UTC time. For more information, see task-scheduling.

                  */ - Options?: Options; + Schedule?: TaskSchedule; } export namespace CreateTaskRequest { @@ -1295,19 +1314,19 @@ export interface PrivateLinkConfig { */ SubnetArns?: string[]; - /** - *

                  The private endpoint that is configured for an agent that has access to IP addresses in a - * PrivateLink. An agent that is configured with this endpoint will not be accessible - * over the public internet.

                  - */ - PrivateLinkEndpoint?: string; - /** *

                  The Amazon Resource Names (ARNs) of the security groups that are configured for the EC2 * resource that hosts an agent activated in a VPC or an agent that has access to a VPC * endpoint.

                  */ SecurityGroupArns?: string[]; + + /** + *

                  The private endpoint that is configured for an agent that has access to IP addresses in a + * PrivateLink. An agent that is configured with this endpoint will not be accessible + * over the public internet.

                  + */ + PrivateLinkEndpoint?: string; } export namespace PrivateLinkConfig { @@ -1326,9 +1345,9 @@ export interface DescribeAgentResponse { CreationTime?: Date; /** - *

                  The name of the agent.

                  + *

                  The Amazon Resource Name (ARN) of the agent.

                  */ - Name?: string; + AgentArn?: string; /** *

                  The type of endpoint that your agent is connected to. If the endpoint is a VPC endpoint, @@ -1336,11 +1355,6 @@ export interface DescribeAgentResponse { */ EndpointType?: EndpointType | string; - /** - *

                  The time that the agent last connected to DataSyc.

                  - */ - LastConnectionTime?: Date; - /** *

                  The status of the agent. If the status is ONLINE, then the agent is configured properly * and is available to use. The Running status is the normal running status for an agent. If the @@ -1356,9 +1370,14 @@ export interface DescribeAgentResponse { PrivateLinkConfig?: PrivateLinkConfig; /** - *

                  The Amazon Resource Name (ARN) of the agent.

                  + *

                  The time that the agent last connected to DataSyc.

                  */ - AgentArn?: string; + LastConnectionTime?: Date; + + /** + *

                  The name of the agent.

                  + */ + Name?: string; } export namespace DescribeAgentResponse { @@ -1387,6 +1406,11 @@ export namespace DescribeLocationEfsRequest { *

                  DescribeLocationEfsResponse

                  */ export interface DescribeLocationEfsResponse { + /** + *

                  The time that the EFS location was created.

                  + */ + CreationTime?: Date; + /** *

                  The subnet and the security group that DataSync uses to access target EFS file system. * The subnet must have at least one mount target for that file system. The security group that @@ -1395,20 +1419,15 @@ export interface DescribeLocationEfsResponse { */ Ec2Config?: Ec2Config; - /** - *

                  The URL of the EFS location that was described.

                  - */ - LocationUri?: string; - /** *

                  The Amazon Resource Name (ARN) of the EFS location that was described.

                  */ LocationArn?: string; /** - *

                  The time that the EFS location was created.

                  + *

                  The URL of the EFS location that was described.

                  */ - CreationTime?: Date; + LocationUri?: string; } export namespace DescribeLocationEfsResponse { @@ -1437,15 +1456,20 @@ export interface DescribeLocationFsxWindowsResponse { LocationArn?: string; /** - *

                  The user who has the permissions to access files and folders in the - * FSx for Windows file system.

                  + *

                  The URL of the FSx for Windows location that was described.

                  + */ + LocationUri?: string; + + /** + *

                  The user who has the permissions to access files and folders in the + * FSx for Windows file system.

                  */ User?: string; /** - *

                  The name of the Windows domain that the FSx for Windows server belongs to.

                  + *

                  The time that the FSx for Windows location was created.

                  */ - Domain?: string; + CreationTime?: Date; /** *

                  The Amazon Resource Names (ARNs) of the security groups that are configured for the FSx @@ -1454,14 +1478,9 @@ export interface DescribeLocationFsxWindowsResponse { SecurityGroupArns?: string[]; /** - *

                  The time that the FSx for Windows location was created.

                  - */ - CreationTime?: Date; - - /** - *

                  The URL of the FSx for Windows location that was described.

                  + *

                  The name of the Windows domain that the FSx for Windows server belongs to.

                  */ - LocationUri?: string; + Domain?: string; } export namespace DescribeLocationFsxWindowsResponse { @@ -1491,14 +1510,14 @@ export namespace DescribeLocationNfsRequest { */ export interface DescribeLocationNfsResponse { /** - *

                  The URL of the source NFS location that was described.

                  + *

                  The NFS mount options that DataSync used to mount your NFS share.

                  */ - LocationUri?: string; + MountOptions?: NfsMountOptions; /** - *

                  The NFS mount options that DataSync used to mount your NFS share.

                  + *

                  The URL of the source NFS location that was described.

                  */ - MountOptions?: NfsMountOptions; + LocationUri?: string; /** *

                  The Amazon Resource Name (ARN) of the NFS location that was described.

                  @@ -1506,15 +1525,15 @@ export interface DescribeLocationNfsResponse { LocationArn?: string; /** - *

                  A list of Amazon Resource Names (ARNs) of agents to use for a Network File System (NFS) - * location.

                  + *

                  The time that the NFS location was created.

                  */ - OnPremConfig?: OnPremConfig; + CreationTime?: Date; /** - *

                  The time that the NFS location was created.

                  + *

                  A list of Amazon Resource Names (ARNs) of agents to use for a Network File System (NFS) + * location.

                  */ - CreationTime?: Date; + OnPremConfig?: OnPremConfig; } export namespace DescribeLocationNfsResponse { @@ -1550,9 +1569,15 @@ export interface DescribeLocationObjectStorageResponse { AgentArns?: string[]; /** - *

                  The Amazon Resource Name (ARN) of the self-managed object storage server location to describe.

                  + *

                  The time that the self-managed object storage server agent was created.

                  */ - LocationArn?: string; + CreationTime?: Date; + + /** + *

                  The protocol that the object storage server uses to communicate. + * Valid values are HTTP or HTTPS.

                  + */ + ServerProtocol?: ObjectStorageServerProtocol | string; /** *

                  The URL of the source self-managed object storage server location that was described.

                  @@ -1560,8 +1585,10 @@ export interface DescribeLocationObjectStorageResponse { LocationUri?: string; /** - *

                  Optional. The access key is used if credentials are required to access - * the self-managed object storage server.

                  + *

                  Optional. The access key is used if credentials are required to access the self-managed + * object storage server. If your object storage requires a user name and password to + * authenticate, use AccessKey and SecretKey to provide the user name + * and password, respectively.

                  */ AccessKey?: string; @@ -1572,15 +1599,9 @@ export interface DescribeLocationObjectStorageResponse { ServerPort?: number; /** - *

                  The time that the self-managed object storage server agent was created.

                  - */ - CreationTime?: Date; - - /** - *

                  The protocol that the object storage server uses to communicate. - * Valid values are HTTP or HTTPS.

                  + *

                  The Amazon Resource Name (ARN) of the self-managed object storage server location to describe.

                  */ - ServerProtocol?: ObjectStorageServerProtocol | string; + LocationArn?: string; } export namespace DescribeLocationObjectStorageResponse { @@ -1610,13 +1631,21 @@ export namespace DescribeLocationS3Request { */ export interface DescribeLocationS3Response { /** - *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role - * that is used to access an Amazon S3 bucket.

                  - * - *

                  For detailed information about using such a role, see Creating a Location for - * Amazon S3 in the AWS DataSync User Guide.

                  + *

                  The Amazon Resource Name (ARN) of the Amazon S3 bucket or access point.

                  */ - S3Config?: S3Config; + LocationArn?: string; + + /** + *

                  The URL of the Amazon S3 location that was described.

                  + */ + LocationUri?: string; + + /** + *

                  If you are using DataSync on an Amazon Outpost, the Amazon Resource Name (ARNs) + * of the EC2 agents deployed on your AWS Outpost. For more information about launching + * a DataSync agent on an Amazon Outpost, see outposts-agent.

                  + */ + AgentArns?: string[]; /** *

                  The time that the Amazon S3 bucket location was created.

                  @@ -1632,14 +1661,13 @@ export interface DescribeLocationS3Response { S3StorageClass?: S3StorageClass | string; /** - *

                  The Amazon Resource Name (ARN) of the Amazon S3 bucket location.

                  - */ - LocationArn?: string; - - /** - *

                  The URL of the Amazon S3 location that was described.

                  + *

                  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role + * that is used to access an Amazon S3 bucket.

                  + * + *

                  For detailed information about using such a role, see Creating a Location for + * Amazon S3 in the AWS DataSync User Guide.

                  */ - LocationUri?: string; + S3Config?: S3Config; } export namespace DescribeLocationS3Response { @@ -1668,42 +1696,42 @@ export namespace DescribeLocationSmbRequest { *

                  DescribeLocationSmbResponse

                  */ export interface DescribeLocationSmbResponse { - /** - *

                  The Amazon Resource Name (ARN) of the SMB location that was described.

                  - */ - LocationArn?: string; - /** *

                  The Amazon Resource Name (ARN) of the source SMB file system location that is * created.

                  */ AgentArns?: string[]; - /** - *

                  The time that the SMB location was created.

                  - */ - CreationTime?: Date; - /** *

                  The user who can mount the share, has the permissions to access files and folders in the * SMB share.

                  */ User?: string; + /** + *

                  The URL of the source SBM location that was described.

                  + */ + LocationUri?: string; + + /** + *

                  The time that the SMB location was created.

                  + */ + CreationTime?: Date; + /** *

                  The name of the Windows domain that the SMB server belongs to.

                  */ Domain?: string; /** - *

                  The mount options that are available for DataSync to use to access an SMB location.

                  + *

                  The Amazon Resource Name (ARN) of the SMB location that was described.

                  */ - MountOptions?: SmbMountOptions; + LocationArn?: string; /** - *

                  The URL of the source SBM location that was described.

                  + *

                  The mount options that are available for DataSync to use to access an SMB location.

                  */ - LocationUri?: string; + MountOptions?: SmbMountOptions; } export namespace DescribeLocationSmbResponse { @@ -1740,6 +1768,12 @@ export enum TaskStatus { *

                  DescribeTaskResponse

                  */ export interface DescribeTaskResponse { + /** + *

                  Detailed description of an error that was encountered during the task execution. You + * can use this information to help troubleshoot issues.

                  + */ + ErrorDetail?: string; + /** *

                  The Amazon Resource Name (ARN) of the destination ENIs (Elastic Network Interface) that * was created for your subnet.

                  @@ -1747,26 +1781,40 @@ export interface DescribeTaskResponse { DestinationNetworkInterfaceArns?: string[]; /** - *

                  Errors that AWS DataSync encountered during execution of the task. You can use this - * error code to help troubleshoot issues.

                  + *

                  The name of the task that was described.

                  */ - ErrorCode?: string; + Name?: string; /** - *

                  The Amazon Resource Name (ARN) of the source file system's location.

                  + *

                  The Amazon Resource Name (ARN) of the task execution that is syncing files.

                  */ - SourceLocationArn?: string; + CurrentTaskExecutionArn?: string; /** - *

                  The time that the task was created.

                  + *

                  A list of filter rules that determines which files to exclude from a task. The list should + * contain a single filter string that consists of the patterns to exclude. The patterns are + * delimited by "|" (that is, a pipe), for example: "/folder1|/folder2" + *

                  + *

                  + *

                  */ - CreationTime?: Date; + Excludes?: FilterRule[]; /** - *

                  Detailed description of an error that was encountered during the task execution. You - * can use this information to help troubleshoot issues.

                  + *

                  The Amazon Resource Name (ARN) of the AWS storage resource's location.

                  */ - ErrorDetail?: string; + DestinationLocationArn?: string; + + /** + *

                  The Amazon Resource Name (ARN) of the task that was described.

                  + */ + TaskArn?: string; + + /** + *

                  The Amazon Resource Name (ARN) of the source ENIs (Elastic Network Interface) that was + * created for your subnet.

                  + */ + SourceNetworkInterfaceArns?: string[]; /** *

                  The status of the task that was described.

                  @@ -1779,20 +1827,20 @@ export interface DescribeTaskResponse { Status?: TaskStatus | string; /** - *

                  The set of configuration options that control the behavior of a single execution of the - * task that occurs when you call StartTaskExecution. You can configure these - * options to preserve metadata such as user ID (UID) and group (GID), file permissions, data - * integrity verification, and so on.

                  - *

                  For each individual task execution, you can override these options by specifying the - * overriding OverrideOptions value to - * operation.

                  + *

                  The schedule used to periodically transfer files from a source to a destination location.

                  */ - Options?: Options; + Schedule?: TaskSchedule; /** - *

                  The Amazon Resource Name (ARN) of the AWS storage resource's location.

                  + *

                  Errors that AWS DataSync encountered during execution of the task. You can use this + * error code to help troubleshoot issues.

                  */ - DestinationLocationArn?: string; + ErrorCode?: string; + + /** + *

                  The time that the task was created.

                  + */ + CreationTime?: Date; /** *

                  The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was used to @@ -1805,40 +1853,20 @@ export interface DescribeTaskResponse { CloudWatchLogGroupArn?: string; /** - *

                  The Amazon Resource Name (ARN) of the source ENIs (Elastic Network Interface) that was - * created for your subnet.

                  - */ - SourceNetworkInterfaceArns?: string[]; - - /** - *

                  The schedule used to periodically transfer files from a source to a destination location.

                  - */ - Schedule?: TaskSchedule; - - /** - *

                  The name of the task that was described.

                  - */ - Name?: string; - - /** - *

                  The Amazon Resource Name (ARN) of the task execution that is syncing files.

                  - */ - CurrentTaskExecutionArn?: string; - - /** - *

                  A list of filter rules that determines which files to exclude from a task. The list should - * contain a single filter string that consists of the patterns to exclude. The patterns are - * delimited by "|" (that is, a pipe), for example: "/folder1|/folder2" - *

                  - *

                  - *

                  + *

                  The Amazon Resource Name (ARN) of the source file system's location.

                  */ - Excludes?: FilterRule[]; + SourceLocationArn?: string; /** - *

                  The Amazon Resource Name (ARN) of the task that was described.

                  + *

                  The set of configuration options that control the behavior of a single execution of the + * task that occurs when you call StartTaskExecution. You can configure these + * options to preserve metadata such as user ID (UID) and group (GID), file permissions, data + * integrity verification, and so on.

                  + *

                  For each individual task execution, you can override these options by specifying the + * overriding OverrideOptions value to + * operation.

                  */ - TaskArn?: string; + Options?: Options; } export namespace DescribeTaskResponse { @@ -1875,27 +1903,21 @@ export enum PhaseStatus { * the errors encountered.

                  */ export interface TaskExecutionResultDetail { - /** - *

                  The total time in milliseconds that AWS DataSync spent in the PREPARING phase. - *

                  - */ - PrepareDuration?: number; - /** *

                  The status of the PREPARING phase.

                  */ PrepareStatus?: PhaseStatus | string; /** - *

                  The total time in milliseconds that AWS DataSync took to transfer the file from the source to the destination location.

                  + *

                  The status of the VERIFYING Phase.

                  */ - TotalDuration?: number; + VerifyStatus?: PhaseStatus | string; /** - *

                  Errors that AWS DataSync encountered during execution of the task. You can use this - * error code to help troubleshoot issues.

                  + *

                  The total time in milliseconds that AWS DataSync spent in the PREPARING phase. + *

                  */ - ErrorCode?: string; + PrepareDuration?: number; /** *

                  The total time in milliseconds that AWS DataSync spent in the VERIFYING @@ -1903,6 +1925,12 @@ export interface TaskExecutionResultDetail { */ VerifyDuration?: number; + /** + *

                  Errors that AWS DataSync encountered during execution of the task. You can use this + * error code to help troubleshoot issues.

                  + */ + ErrorCode?: string; + /** *

                  Detailed description of an error that was encountered during the task execution. You * can use this information to help troubleshoot issues.

                  @@ -1910,20 +1938,20 @@ export interface TaskExecutionResultDetail { ErrorDetail?: string; /** - *

                  The total time in milliseconds that AWS DataSync spent in the TRANSFERRING - * phase.

                  + *

                  The status of the TRANSFERRING Phase.

                  */ - TransferDuration?: number; + TransferStatus?: PhaseStatus | string; /** - *

                  The status of the VERIFYING Phase.

                  + *

                  The total time in milliseconds that AWS DataSync took to transfer the file from the source to the destination location.

                  */ - VerifyStatus?: PhaseStatus | string; + TotalDuration?: number; /** - *

                  The status of the TRANSFERRING Phase.

                  + *

                  The total time in milliseconds that AWS DataSync spent in the TRANSFERRING + * phase.

                  */ - TransferStatus?: PhaseStatus | string; + TransferDuration?: number; } export namespace TaskExecutionResultDetail { @@ -1947,14 +1975,15 @@ export enum TaskExecutionStatus { */ export interface DescribeTaskExecutionResponse { /** - *

                  A list of filter rules that determines which files to include when running a task. The - * list should contain a single filter string that consists of the patterns to include. The - * patterns are delimited by "|" (that is, a pipe), for example: "/folder1|/folder2" - *

                  - *

                  - *

                  + *

                  Represents the options that are available to control the behavior of a StartTaskExecution operation. Behavior includes preserving metadata such as user + * ID (UID), group ID (GID), and file permissions, and also overwriting files in the destination, + * data integrity verification, and so on.

                  + *

                  A task has a set of default options associated with it. If you don't specify an option + * in StartTaskExecution, the default value is used. You can override the + * defaults options on each task execution by specifying an overriding Options value + * to StartTaskExecution.

                  */ - Includes?: FilterRule[]; + Options?: Options; /** *

                  The status of the task execution.

                  @@ -1966,6 +1995,11 @@ export interface DescribeTaskExecutionResponse { */ Status?: TaskExecutionStatus | string; + /** + *

                  The physical number of bytes transferred over the network.

                  + */ + BytesTransferred?: number; + /** *

                  The actual number of files that was transferred over the network. This value is * calculated and updated on an ongoing basis during the TRANSFERRING phase. It's updated @@ -1979,24 +2013,24 @@ export interface DescribeTaskExecutionResponse { FilesTransferred?: number; /** - *

                  Represents the options that are available to control the behavior of a StartTaskExecution operation. Behavior includes preserving metadata such as user - * ID (UID), group ID (GID), and file permissions, and also overwriting files in the destination, - * data integrity verification, and so on.

                  - *

                  A task has a set of default options associated with it. If you don't specify an option - * in StartTaskExecution, the default value is used. You can override the - * defaults options on each task execution by specifying an overriding Options value - * to StartTaskExecution.

                  + *

                  A list of filter rules that determines which files to exclude from a task. The list should + * contain a single filter string that consists of the patterns to exclude. The patterns are + * delimited by "|" (that is, a pipe), for example: "/folder1|/folder2" + *

                  + *

                  + *

                  */ - Options?: Options; + Excludes?: FilterRule[]; /** - *

                  The expected number of files that is to be transferred over the network. This value is - * calculated during the PREPARING phase, before the TRANSFERRING phase. This value is the - * expected number of files to be transferred. It's calculated based on comparing the - * content of the source and destination locations and finding the delta that needs to be - * transferred.

                  + *

                  A list of filter rules that determines which files to include when running a task. The + * list should contain a single filter string that consists of the patterns to include. The + * patterns are delimited by "|" (that is, a pipe), for example: "/folder1|/folder2" + *

                  + *

                  + *

                  */ - EstimatedFilesToTransfer?: number; + Includes?: FilterRule[]; /** *

                  The number of logical bytes written to the destination AWS storage resource.

                  @@ -2004,14 +2038,18 @@ export interface DescribeTaskExecutionResponse { BytesWritten?: number; /** - *

                  The physical number of bytes transferred over the network.

                  + *

                  The expected number of files that is to be transferred over the network. This value is + * calculated during the PREPARING phase, before the TRANSFERRING phase. This value is the + * expected number of files to be transferred. It's calculated based on comparing the + * content of the source and destination locations and finding the delta that needs to be + * transferred.

                  */ - BytesTransferred?: number; + EstimatedFilesToTransfer?: number; /** - *

                  The time that the task execution was started.

                  + *

                  The result of the task execution.

                  */ - StartTime?: Date; + Result?: TaskExecutionResultDetail; /** *

                  The Amazon Resource Name (ARN) of the task execution that was described. @@ -2031,19 +2069,9 @@ export interface DescribeTaskExecutionResponse { EstimatedBytesToTransfer?: number; /** - *

                  A list of filter rules that determines which files to exclude from a task. The list should - * contain a single filter string that consists of the patterns to exclude. The patterns are - * delimited by "|" (that is, a pipe), for example: "/folder1|/folder2" - *

                  - *

                  - *

                  - */ - Excludes?: FilterRule[]; - - /** - *

                  The result of the task execution.

                  + *

                  The time that the task execution was started.

                  */ - Result?: TaskExecutionResultDetail; + StartTime?: Date; } export namespace DescribeTaskExecutionResponse { @@ -2078,16 +2106,16 @@ export namespace ListAgentsRequest { *

                  ListAgentsResponse

                  */ export interface ListAgentsResponse { - /** - *

                  A list of agents in your account.

                  - */ - Agents?: AgentListEntry[]; - /** *

                  An opaque string that indicates the position at which to begin returning the next list * of agents.

                  */ NextToken?: string; + + /** + *

                  A list of agents in your account.

                  + */ + Agents?: AgentListEntry[]; } export namespace ListAgentsResponse { @@ -2096,10 +2124,67 @@ export namespace ListAgentsResponse { }); } +export enum LocationFilterName { + CreationTime = "CreationTime", + LocationType = "LocationType", + LocationUri = "LocationUri", +} + +export enum Operator { + BEGINS_WITH = "BeginsWith", + CONTAINS = "Contains", + EQ = "Equals", + GE = "GreaterThanOrEqual", + GT = "GreaterThan", + IN = "In", + LE = "LessThanOrEqual", + LT = "LessThan", + NE = "NotEquals", + NOT_CONTAINS = "NotContains", +} + +/** + *

                  You can use API filters to narrow down the list of resources returned by ListLocations. + * For example, to retrieve all your Amazon S3 locations, you can use ListLocations with + * filter name LocationType S3 and Operator Equals.

                  + */ +export interface LocationFilter { + /** + *

                  The operator that is used to compare filter values (for example, Equals or + * Contains). For more about API filtering operators, see query-resources.

                  + */ + Operator: Operator | string | undefined; + + /** + *

                  The values that you want to filter for. For example, you might want to display only Amazon S3 + * locations.

                  + */ + Values: string[] | undefined; + + /** + *

                  The name of the filter being used. Each API call supports a list of filters that are available + * for it (for example, LocationType for ListLocations).

                  + */ + Name: LocationFilterName | string | undefined; +} + +export namespace LocationFilter { + export const filterSensitiveLog = (obj: LocationFilter): any => ({ + ...obj, + }); +} + /** *

                  ListLocationsRequest

                  */ export interface ListLocationsRequest { + /** + *

                  You can use API filters to narrow down the list of resources returned by ListLocations. + * For example, to retrieve all tasks on a specific source location, you can use ListLocations + * with filter name LocationType S3 and Operator Equals.

                  + */ + Filters?: LocationFilter[]; + /** *

                  An opaque string that indicates the position at which to begin the next list of * locations.

                  @@ -2161,15 +2246,15 @@ export namespace LocationListEntry { */ export interface ListLocationsResponse { /** - *

                  An opaque string that indicates the position at which to begin returning the next list - * of locations.

                  + *

                  An array that contains a list of locations.

                  */ - NextToken?: string; + Locations?: LocationListEntry[]; /** - *

                  An array that contains a list of locations.

                  + *

                  An opaque string that indicates the position at which to begin returning the next list + * of locations.

                  */ - Locations?: LocationListEntry[]; + NextToken?: string; } export namespace ListLocationsResponse { @@ -2209,16 +2294,16 @@ export namespace ListTagsForResourceRequest { *

                  ListTagsForResourceResponse

                  */ export interface ListTagsForResourceResponse { - /** - *

                  Array of resource tags.

                  - */ - Tags?: TagListEntry[]; - /** *

                  An opaque string that indicates the position at which to begin returning the next list * of resource tags.

                  */ NextToken?: string; + + /** + *

                  Array of resource tags.

                  + */ + Tags?: TagListEntry[]; } export namespace ListTagsForResourceResponse { @@ -2231,6 +2316,11 @@ export namespace ListTagsForResourceResponse { *

                  ListTaskExecutions

                  */ export interface ListTaskExecutionsRequest { + /** + *

                  The Amazon Resource Name (ARN) of the task whose tasks you want to list.

                  + */ + TaskArn?: string; + /** *

                  The maximum number of executed tasks to list.

                  */ @@ -2241,11 +2331,6 @@ export interface ListTaskExecutionsRequest { * executed tasks.

                  */ NextToken?: string; - - /** - *

                  The Amazon Resource Name (ARN) of the task whose tasks you want to list.

                  - */ - TaskArn?: string; } export namespace ListTaskExecutionsRequest { @@ -2281,20 +2366,57 @@ export namespace TaskExecutionListEntry { *

                  ListTaskExecutionsResponse

                  */ export interface ListTaskExecutionsResponse { + /** + *

                  A list of executed tasks.

                  + */ + TaskExecutions?: TaskExecutionListEntry[]; + /** *

                  An opaque string that indicates the position at which to begin returning the next list * of executed tasks.

                  */ NextToken?: string; +} +export namespace ListTaskExecutionsResponse { + export const filterSensitiveLog = (obj: ListTaskExecutionsResponse): any => ({ + ...obj, + }); +} + +export enum TaskFilterName { + CreationTime = "CreationTime", + LocationId = "LocationId", +} + +/** + *

                  You can use API filters to narrow down the list of resources returned by ListTasks. + * For example, to retrieve all tasks on a source location, you can use ListTasks + * with filter name LocationId and Operator Equals with the ARN for the + * location.

                  + */ +export interface TaskFilter { /** - *

                  A list of executed tasks.

                  + *

                  The operator that is used to compare filter values (for example, Equals or + * Contains). For more about API filtering operators, see query-resources.

                  */ - TaskExecutions?: TaskExecutionListEntry[]; + Operator: Operator | string | undefined; + + /** + *

                  The values that you want to filter for. For example, you might want to display only tasks + * for a specific destination location.

                  + */ + Values: string[] | undefined; + + /** + *

                  The name of the filter being used. Each API call supports a list of filters that are available + * for it. For example, LocationId for ListTasks.

                  + */ + Name: TaskFilterName | string | undefined; } -export namespace ListTaskExecutionsResponse { - export const filterSensitiveLog = (obj: ListTaskExecutionsResponse): any => ({ +export namespace TaskFilter { + export const filterSensitiveLog = (obj: TaskFilter): any => ({ ...obj, }); } @@ -2304,15 +2426,23 @@ export namespace ListTaskExecutionsResponse { */ export interface ListTasksRequest { /** - *

                  The maximum number of tasks to return.

                  + *

                  You can use API filters to narrow down the list of resources returned by ListTasks. + * For example, to retrieve all tasks on a specific source location, you can use ListTasks + * with filter name LocationId and Operator Equals with the ARN for the + * location.

                  */ - MaxResults?: number; + Filters?: TaskFilter[]; /** *

                  An opaque string that indicates the position at which to begin the next list of * tasks.

                  */ NextToken?: string; + + /** + *

                  The maximum number of tasks to return.

                  + */ + MaxResults?: number; } export namespace ListTasksRequest { @@ -2329,9 +2459,9 @@ export namespace ListTasksRequest { */ export interface TaskListEntry { /** - *

                  The Amazon Resource Name (ARN) of the task.

                  + *

                  The status of the task.

                  */ - TaskArn?: string; + Status?: TaskStatus | string; /** *

                  The name of the task.

                  @@ -2339,9 +2469,9 @@ export interface TaskListEntry { Name?: string; /** - *

                  The status of the task.

                  + *

                  The Amazon Resource Name (ARN) of the task.

                  */ - Status?: TaskStatus | string; + TaskArn?: string; } export namespace TaskListEntry { @@ -2376,17 +2506,6 @@ export namespace ListTasksResponse { *

                  StartTaskExecutionRequest

                  */ export interface StartTaskExecutionRequest { - /** - *

                  Represents the options that are available to control the behavior of a StartTaskExecution operation. Behavior includes preserving metadata such as user - * ID (UID), group ID (GID), and file permissions, and also overwriting files in the destination, - * data integrity verification, and so on.

                  - *

                  A task has a set of default options associated with it. If you don't specify an option - * in StartTaskExecution, the default value is used. You can override the - * defaults options on each task execution by specifying an overriding Options value - * to StartTaskExecution.

                  - */ - OverrideOptions?: Options; - /** *

                  The Amazon Resource Name (ARN) of the task to start.

                  */ @@ -2401,6 +2520,17 @@ export interface StartTaskExecutionRequest { *

                  */ Includes?: FilterRule[]; + + /** + *

                  Represents the options that are available to control the behavior of a StartTaskExecution operation. Behavior includes preserving metadata such as user + * ID (UID), group ID (GID), and file permissions, and also overwriting files in the destination, + * data integrity verification, and so on.

                  + *

                  A task has a set of default options associated with it. If you don't specify an option + * in StartTaskExecution, the default value is used. You can override the + * defaults options on each task execution by specifying an overriding Options value + * to StartTaskExecution.

                  + */ + OverrideOptions?: Options; } export namespace StartTaskExecutionRequest { @@ -2523,23 +2653,14 @@ export interface UpdateTaskRequest { TaskArn: string | undefined; /** - *

                  Specifies a schedule used to periodically transfer files from a source to a destination - * location. You can configure your task to execute hourly, daily, weekly or on specific days of - * the week. You control when in the day or hour you want the task to execute. The time you - * specify is UTC time. For more information, see task-scheduling.

                  - */ - Schedule?: TaskSchedule; - - /** - *

                  The Amazon Resource Name (ARN) of the resource name of the CloudWatch - * LogGroup.

                  - */ - CloudWatchLogGroupArn?: string; - - /** - *

                  The name of the task to update.

                  + *

                  A list of filter rules that determines which files to exclude from a task. The list should + * contain a single filter string that consists of the patterns to exclude. The patterns are + * delimited by "|" (that is, a pipe), for example: "/folder1|/folder2" + *

                  + *

                  + *

                  */ - Name?: string; + Excludes?: FilterRule[]; /** *

                  Represents the options that are available to control the behavior of a StartTaskExecution operation. Behavior includes preserving metadata such as user @@ -2553,14 +2674,23 @@ export interface UpdateTaskRequest { Options?: Options; /** - *

                  A list of filter rules that determines which files to exclude from a task. The list should - * contain a single filter string that consists of the patterns to exclude. The patterns are - * delimited by "|" (that is, a pipe), for example: "/folder1|/folder2" - *

                  - *

                  - *

                  + *

                  The name of the task to update.

                  */ - Excludes?: FilterRule[]; + Name?: string; + + /** + *

                  The Amazon Resource Name (ARN) of the resource name of the CloudWatch + * LogGroup.

                  + */ + CloudWatchLogGroupArn?: string; + + /** + *

                  Specifies a schedule used to periodically transfer files from a source to a destination + * location. You can configure your task to execute hourly, daily, weekly or on specific days of + * the week. You control when in the day or hour you want the task to execute. The time you + * specify is UTC time. For more information, see task-scheduling.

                  + */ + Schedule?: TaskSchedule; } export namespace UpdateTaskRequest { diff --git a/clients/client-datasync/protocols/Aws_json1_1.ts b/clients/client-datasync/protocols/Aws_json1_1.ts index bbe4c90a0d4d..0f2b395836ac 100644 --- a/clients/client-datasync/protocols/Aws_json1_1.ts +++ b/clients/client-datasync/protocols/Aws_json1_1.ts @@ -117,6 +117,7 @@ import { ListTaskExecutionsResponse, ListTasksRequest, ListTasksResponse, + LocationFilter, LocationListEntry, NfsMountOptions, OnPremConfig, @@ -131,6 +132,7 @@ import { TagResourceResponse, TaskExecutionListEntry, TaskExecutionResultDetail, + TaskFilter, TaskListEntry, TaskSchedule, UntagResourceRequest, @@ -2629,6 +2631,7 @@ const serializeAws_json1_1CreateLocationObjectStorageRequest = ( const serializeAws_json1_1CreateLocationS3Request = (input: CreateLocationS3Request, context: __SerdeContext): any => { return { + ...(input.AgentArns !== undefined && { AgentArns: serializeAws_json1_1AgentArnList(input.AgentArns, context) }), ...(input.S3BucketArn !== undefined && { S3BucketArn: input.S3BucketArn }), ...(input.S3Config !== undefined && { S3Config: serializeAws_json1_1S3Config(input.S3Config, context) }), ...(input.S3StorageClass !== undefined && { S3StorageClass: input.S3StorageClass }), @@ -2785,6 +2788,10 @@ const serializeAws_json1_1FilterRule = (input: FilterRule, context: __SerdeConte }; }; +const serializeAws_json1_1FilterValues = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1InputTagList = (input: TagListEntry[], context: __SerdeContext): any => { return input.map((entry) => serializeAws_json1_1TagListEntry(entry, context)); }; @@ -2798,6 +2805,7 @@ const serializeAws_json1_1ListAgentsRequest = (input: ListAgentsRequest, context const serializeAws_json1_1ListLocationsRequest = (input: ListLocationsRequest, context: __SerdeContext): any => { return { + ...(input.Filters !== undefined && { Filters: serializeAws_json1_1LocationFilters(input.Filters, context) }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; @@ -2827,11 +2835,24 @@ const serializeAws_json1_1ListTaskExecutionsRequest = ( const serializeAws_json1_1ListTasksRequest = (input: ListTasksRequest, context: __SerdeContext): any => { return { + ...(input.Filters !== undefined && { Filters: serializeAws_json1_1TaskFilters(input.Filters, context) }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; }; +const serializeAws_json1_1LocationFilter = (input: LocationFilter, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Operator !== undefined && { Operator: input.Operator }), + ...(input.Values !== undefined && { Values: serializeAws_json1_1FilterValues(input.Values, context) }), + }; +}; + +const serializeAws_json1_1LocationFilters = (input: LocationFilter[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1LocationFilter(entry, context)); +}; + const serializeAws_json1_1NfsMountOptions = (input: NfsMountOptions, context: __SerdeContext): any => { return { ...(input.Version !== undefined && { Version: input.Version }), @@ -2913,6 +2934,18 @@ const serializeAws_json1_1TagResourceRequest = (input: TagResourceRequest, conte }; }; +const serializeAws_json1_1TaskFilter = (input: TaskFilter, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Operator !== undefined && { Operator: input.Operator }), + ...(input.Values !== undefined && { Values: serializeAws_json1_1FilterValues(input.Values, context) }), + }; +}; + +const serializeAws_json1_1TaskFilters = (input: TaskFilter[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1TaskFilter(entry, context)); +}; + const serializeAws_json1_1TaskSchedule = (input: TaskSchedule, context: __SerdeContext): any => { return { ...(input.ScheduleExpression !== undefined && { ScheduleExpression: input.ScheduleExpression }), @@ -3153,6 +3186,10 @@ const deserializeAws_json1_1DescribeLocationS3Response = ( context: __SerdeContext ): DescribeLocationS3Response => { return { + AgentArns: + output.AgentArns !== undefined && output.AgentArns !== null + ? deserializeAws_json1_1AgentArnList(output.AgentArns, context) + : undefined, CreationTime: output.CreationTime !== undefined && output.CreationTime !== null ? new Date(Math.round(output.CreationTime * 1000)) diff --git a/clients/client-dax/models/models_0.ts b/clients/client-dax/models/models_0.ts index 258efb719bbc..1916f73411a6 100644 --- a/clients/client-dax/models/models_0.ts +++ b/clients/client-dax/models/models_0.ts @@ -57,17 +57,17 @@ export namespace SSESpecification { *

                  You cannot backdate the application of a tag.

                  */ export interface Tag { + /** + *

                  The value of the tag. Tag values are case-sensitive and can be null.

                  + */ + Value?: string; + /** *

                  The key for the tag. Tag keys are case sensitive. Every DAX cluster can only have * one tag with the same key. If you try to add an existing tag (same key), the * existing tag value will be updated to the new value.

                  */ Key?: string; - - /** - *

                  The value of the tag. Tag values are case-sensitive and can be null.

                  - */ - Value?: string; } export namespace Tag { @@ -78,52 +78,14 @@ export namespace Tag { export interface CreateClusterRequest { /** - *

                  The number of nodes in the DAX cluster. A replication factor of 1 will - * create a single-node cluster, without any read replicas. For additional fault tolerance, - * you can create a multiple node cluster with one or more read replicas. To do this, set - * ReplicationFactor to a number between 3 (one primary and two read replicas) and 10 (one primary and nine read replicas). - * If the AvailabilityZones parameter is provided, its length must equal the ReplicationFactor.

                  - * - *

                  AWS recommends that you have at least two read replicas per cluster.

                  - *
                  - */ - ReplicationFactor: number | undefined; - - /** - *

                  The parameter group to be associated with the DAX cluster.

                  - */ - ParameterGroupName?: string; - - /** - *

                  A description of the cluster.

                  - */ - Description?: string; - - /** - *

                  The Availability Zones (AZs) in which the cluster nodes will reside after the cluster - * has been created or updated. If provided, the length of this list must equal the ReplicationFactor parameter. - * If you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability.

                  - */ - AvailabilityZones?: string[]; - - /** - *

                  The name of the subnet group to be used for the replication group.

                  - * - *

                  DAX clusters can only run in an Amazon VPC environment. All of the subnets - * that you specify in a subnet group must exist in the same VPC.

                  - *
                  - */ - SubnetGroupName?: string; - - /** - *

                  Represents the settings used to enable server-side encryption on the cluster.

                  + *

                  A set of tags to associate with the DAX cluster.

                  */ - SSESpecification?: SSESpecification; + Tags?: Tag[]; /** - *

                  A set of tags to associate with the DAX cluster.

                  + *

                  The compute and memory capacity of the nodes in the cluster.

                  */ - Tags?: Tag[]; + NodeType: string | undefined; /** *

                  The cluster identifier. This parameter is stored as a lowercase @@ -147,6 +109,23 @@ export interface CreateClusterRequest { */ ClusterName: string | undefined; + /** + *

                  Represents the settings used to enable server-side encryption on the cluster.

                  + */ + SSESpecification?: SSESpecification; + + /** + *

                  The number of nodes in the DAX cluster. A replication factor of 1 will + * create a single-node cluster, without any read replicas. For additional fault tolerance, + * you can create a multiple node cluster with one or more read replicas. To do this, set + * ReplicationFactor to a number between 3 (one primary and two read replicas) and 10 (one primary and nine read replicas). + * If the AvailabilityZones parameter is provided, its length must equal the ReplicationFactor.

                  + * + *

                  AWS recommends that you have at least two read replicas per cluster.

                  + *
                  + */ + ReplicationFactor: number | undefined; + /** *

                  A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX * will assume this role and use the role's permissions to access DynamoDB on your @@ -155,9 +134,18 @@ export interface CreateClusterRequest { IamRoleArn: string | undefined; /** - *

                  The compute and memory capacity of the nodes in the cluster.

                  + *

                  A description of the cluster.

                  */ - NodeType: string | undefined; + Description?: string; + + /** + *

                  The name of the subnet group to be used for the replication group.

                  + * + *

                  DAX clusters can only run in an Amazon VPC environment. All of the subnets + * that you specify in a subnet group must exist in the same VPC.

                  + *
                  + */ + SubnetGroupName?: string; /** *

                  The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will @@ -168,6 +156,18 @@ export interface CreateClusterRequest { */ NotificationTopicArn?: string; + /** + *

                  The Availability Zones (AZs) in which the cluster nodes will reside after the cluster + * has been created or updated. If provided, the length of this list must equal the ReplicationFactor parameter. + * If you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability.

                  + */ + AvailabilityZones?: string[]; + + /** + *

                  The parameter group to be associated with the DAX cluster.

                  + */ + ParameterGroupName?: string; + /** *

                  A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the * security group ID is system-generated.)

                  @@ -242,14 +242,14 @@ export namespace CreateClusterRequest { */ export interface Endpoint { /** - *

                  The port number that applications should use to connect to the endpoint.

                  + *

                  The DNS hostname of the endpoint.

                  */ - Port?: number; + Address?: string; /** - *

                  The DNS hostname of the endpoint.

                  + *

                  The port number that applications should use to connect to the endpoint.

                  */ - Address?: string; + Port?: number; } export namespace Endpoint { @@ -262,6 +262,14 @@ export namespace Endpoint { *

                  Represents an individual node within a DAX cluster.

                  */ export interface Node { + /** + *

                  The endpoint for the node, consisting of a DNS name and a port number. Client + * applications can connect directly to a node endpoint, if desired (as an alternative to + * allowing DAX client software to intelligently route requests and responses to nodes in + * the DAX cluster.

                  + */ + Endpoint?: Endpoint; + /** *

                  A system-generated identifier for the node.

                  */ @@ -272,29 +280,21 @@ export interface Node { */ AvailabilityZone?: string; - /** - *

                  The date and time (in UNIX epoch format) when the node was launched.

                  - */ - NodeCreateTime?: Date; - /** *

                  The current status of the node. For example: available.

                  */ NodeStatus?: string; - /** - *

                  The endpoint for the node, consisting of a DNS name and a port number. Client - * applications can connect directly to a node endpoint, if desired (as an alternative to - * allowing DAX client software to intelligently route requests and responses to nodes in - * the DAX cluster.

                  - */ - Endpoint?: Endpoint; - /** *

                  The status of the parameter group associated with this node. For example, * in-sync.

                  */ ParameterGroupStatus?: string; + + /** + *

                  The date and time (in UNIX epoch format) when the node was launched.

                  + */ + NodeCreateTime?: Date; } export namespace Node { @@ -331,14 +331,14 @@ export namespace NotificationConfiguration { */ export interface ParameterGroupStatus { /** - *

                  The name of the parameter group.

                  + *

                  The node IDs of one or more nodes to be rebooted.

                  */ - ParameterGroupName?: string; + NodeIdsToReboot?: string[]; /** - *

                  The node IDs of one or more nodes to be rebooted.

                  + *

                  The name of the parameter group.

                  */ - NodeIdsToReboot?: string[]; + ParameterGroupName?: string; /** *

                  The status of parameter updates.

                  @@ -357,14 +357,14 @@ export namespace ParameterGroupStatus { */ export interface SecurityGroupMembership { /** - *

                  The status of this security group.

                  + *

                  The unique ID for this security group.

                  */ - Status?: string; + SecurityGroupIdentifier?: string; /** - *

                  The unique ID for this security group.

                  + *

                  The status of this security group.

                  */ - SecurityGroupIdentifier?: string; + Status?: string; } export namespace SecurityGroupMembership { @@ -414,101 +414,101 @@ export namespace SSEDescription { */ export interface Cluster { /** - *

                  A range of time when maintenance of DAX cluster software will be performed. For - * example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than - * 30 minutes, and is performed automatically within the maintenance window.

                  + *

                  The subnet group where the DAX cluster is running.

                  */ - PreferredMaintenanceWindow?: string; + SubnetGroup?: string; /** - *

                  The parameter group being used by nodes in the cluster.

                  + *

                  The node type for the nodes in the cluster. (All nodes in a DAX cluster are of + * the same type.)

                  */ - ParameterGroup?: ParameterGroupStatus; + NodeType?: string; /** - *

                  The description of the server-side encryption status on the specified DAX cluster.

                  + *

                  A list of nodes that are currently in the cluster.

                  */ - SSEDescription?: SSEDescription; + Nodes?: Node[]; /** - *

                  The configuration endpoint for this DAX cluster, consisting of a DNS name and a - * port number. Client applications can specify this endpoint, rather than an individual - * node endpoint, and allow the DAX client software to intelligently route requests and - * responses to nodes in the DAX cluster.

                  + *

                  Describes a notification topic and its status. Notification topics are used for + * publishing DAX events to subscribers using Amazon Simple Notification Service + * (SNS).

                  */ - ClusterDiscoveryEndpoint?: Endpoint; + NotificationConfiguration?: NotificationConfiguration; /** - *

                  The description of the cluster.

                  + *

                  A range of time when maintenance of DAX cluster software will be performed. For + * example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than + * 30 minutes, and is performed automatically within the maintenance window.

                  */ - Description?: string; + PreferredMaintenanceWindow?: string; /** - *

                  The number of nodes in the cluster that are active (i.e., capable of serving - * requests).

                  + *

                  A list of security groups, and the status of each, for the nodes in the cluster.

                  */ - ActiveNodes?: number; + SecurityGroups?: SecurityGroupMembership[]; /** - *

                  A list of nodes that are currently in the cluster.

                  + *

                  The description of the cluster.

                  */ - Nodes?: Node[]; + Description?: string; /** - *

                  The subnet group where the DAX cluster is running.

                  + *

                  The Amazon Resource Name (ARN) that uniquely identifies the cluster. + *

                  */ - SubnetGroup?: string; + ClusterArn?: string; /** - *

                  Describes a notification topic and its status. Notification topics are used for - * publishing DAX events to subscribers using Amazon Simple Notification Service - * (SNS).

                  + *

                  A list of nodes to be removed from the cluster.

                  */ - NotificationConfiguration?: NotificationConfiguration; + NodeIdsToRemove?: string[]; /** - *

                  A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX - * will assume this role and use the role's permissions to access DynamoDB on your - * behalf.

                  + *

                  The number of nodes in the cluster that are active (i.e., capable of serving + * requests).

                  */ - IamRoleArn?: string; + ActiveNodes?: number; /** - *

                  A list of nodes to be removed from the cluster.

                  + *

                  The current status of the cluster.

                  */ - NodeIdsToRemove?: string[]; + Status?: string; /** - *

                  The current status of the cluster.

                  + *

                  The parameter group being used by nodes in the cluster.

                  */ - Status?: string; + ParameterGroup?: ParameterGroupStatus; /** - *

                  A list of security groups, and the status of each, for the nodes in the cluster.

                  + *

                  The name of the DAX cluster.

                  */ - SecurityGroups?: SecurityGroupMembership[]; + ClusterName?: string; /** - *

                  The Amazon Resource Name (ARN) that uniquely identifies the cluster. - *

                  + *

                  The total number of nodes in the cluster.

                  */ - ClusterArn?: string; + TotalNodes?: number; /** - *

                  The node type for the nodes in the cluster. (All nodes in a DAX cluster are of - * the same type.)

                  + *

                  A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX + * will assume this role and use the role's permissions to access DynamoDB on your + * behalf.

                  */ - NodeType?: string; + IamRoleArn?: string; /** - *

                  The total number of nodes in the cluster.

                  + *

                  The description of the server-side encryption status on the specified DAX cluster.

                  */ - TotalNodes?: number; + SSEDescription?: SSEDescription; /** - *

                  The name of the DAX cluster.

                  + *

                  The configuration endpoint for this DAX cluster, consisting of a DNS name and a + * port number. Client applications can specify this endpoint, rather than an individual + * node endpoint, and allow the DAX client software to intelligently route requests and + * responses to nodes in the DAX cluster.

                  */ - ClusterName?: string; + ClusterDiscoveryEndpoint?: Endpoint; } export namespace Cluster { @@ -717,15 +717,15 @@ export namespace TagQuotaPerResourceExceeded { export interface CreateParameterGroupRequest { /** - *

                  The name of the parameter group to apply to all of the clusters in this replication - * group.

                  + *

                  A description of the parameter group.

                  */ - ParameterGroupName: string | undefined; + Description?: string; /** - *

                  A description of the parameter group.

                  + *

                  The name of the parameter group to apply to all of the clusters in this replication + * group.

                  */ - Description?: string; + ParameterGroupName: string | undefined; } export namespace CreateParameterGroupRequest { @@ -801,11 +801,6 @@ export namespace ParameterGroupQuotaExceededFault { } export interface CreateSubnetGroupRequest { - /** - *

                  A list of VPC subnet IDs for the subnet group.

                  - */ - SubnetIds: string[] | undefined; - /** *

                  A description for the subnet group

                  */ @@ -815,7 +810,12 @@ export interface CreateSubnetGroupRequest { *

                  A name for the subnet group. This value is stored as a lowercase string.

                  */ SubnetGroupName: string | undefined; -} + + /** + *

                  A list of VPC subnet IDs for the subnet group.

                  + */ + SubnetIds: string[] | undefined; +} export namespace CreateSubnetGroupRequest { export const filterSensitiveLog = (obj: CreateSubnetGroupRequest): any => ({ @@ -830,14 +830,14 @@ export namespace CreateSubnetGroupRequest { */ export interface Subnet { /** - *

                  The system-assigned identifier for the subnet.

                  + *

                  The Availability Zone (AZ) for the subnet.

                  */ - SubnetIdentifier?: string; + SubnetAvailabilityZone?: string; /** - *

                  The Availability Zone (AZ) for the subnet.

                  + *

                  The system-assigned identifier for the subnet.

                  */ - SubnetAvailabilityZone?: string; + SubnetIdentifier?: string; } export namespace Subnet { @@ -867,11 +867,6 @@ export interface SubnetGroup { */ Subnets?: Subnet[]; - /** - *

                  The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.

                  - */ - VpcId?: string; - /** *

                  The description of the subnet group.

                  */ @@ -881,6 +876,11 @@ export interface SubnetGroup { *

                  The name of the subnet group.

                  */ SubnetGroupName?: string; + + /** + *

                  The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.

                  + */ + VpcId?: string; } export namespace SubnetGroup { @@ -981,25 +981,25 @@ export namespace ClusterNotFoundFault { } export interface DecreaseReplicationFactorRequest { - /** - *

                  The new number of nodes for the DAX cluster.

                  - */ - NewReplicationFactor: number | undefined; - /** *

                  The unique identifiers of the nodes to be removed from the cluster.

                  */ NodeIdsToRemove?: string[]; /** - *

                  The name of the DAX cluster from which you want to remove nodes.

                  + *

                  The new number of nodes for the DAX cluster.

                  */ - ClusterName: string | undefined; + NewReplicationFactor: number | undefined; /** *

                  The Availability Zone(s) from which to remove nodes.

                  */ AvailabilityZones?: string[]; + + /** + *

                  The name of the DAX cluster from which you want to remove nodes.

                  + */ + ClusterName: string | undefined; } export namespace DecreaseReplicationFactorRequest { @@ -1162,16 +1162,16 @@ export namespace DescribeClustersRequest { } export interface DescribeClustersResponse { - /** - *

                  Provides an identifier to allow retrieval of paginated results.

                  - */ - NextToken?: string; - /** *

                  The descriptions of your DAX clusters, in response to a * DescribeClusters request.

                  */ Clusters?: Cluster[]; + + /** + *

                  Provides an identifier to allow retrieval of paginated results.

                  + */ + NextToken?: string; } export namespace DescribeClustersResponse { @@ -1214,14 +1214,14 @@ export type IsModifiable = "CONDITIONAL" | "FALSE" | "TRUE"; */ export interface NodeTypeSpecificValue { /** - *

                  A node type to which the parameter value applies.

                  + *

                  The parameter value for this node type.

                  */ - NodeType?: string; + Value?: string; /** - *

                  The parameter value for this node type.

                  + *

                  A node type to which the parameter value applies.

                  */ - Value?: string; + NodeType?: string; } export namespace NodeTypeSpecificValue { @@ -1238,22 +1238,19 @@ export type ParameterType = "DEFAULT" | "NODE_TYPE_SPECIFIC"; */ export interface Parameter { /** - *

                  The data type of the parameter. For example, integer:

                  + *

                  Whether the customer is allowed to modify the parameter.

                  */ - DataType?: string; + IsModifiable?: IsModifiable | string; /** - *

                  How the parameter is defined. For example, system denotes a - * system-defined parameter.

                  + *

                  A list of node types, and specific parameter values for each node.

                  */ - Source?: string; + NodeTypeSpecificValues?: NodeTypeSpecificValue[]; /** - *

                  The conditions under which changes to this parameter can be applied. For example, - * requires-reboot indicates that a new value for this parameter will only - * take effect if a node is rebooted.

                  + *

                  A range of values within which the parameter can be set.

                  */ - ChangeType?: ChangeType | string; + AllowedValues?: string; /** *

                  A description of the parameter

                  @@ -1261,9 +1258,16 @@ export interface Parameter { Description?: string; /** - *

                  A list of node types, and specific parameter values for each node.

                  + *

                  The conditions under which changes to this parameter can be applied. For example, + * requires-reboot indicates that a new value for this parameter will only + * take effect if a node is rebooted.

                  */ - NodeTypeSpecificValues?: NodeTypeSpecificValue[]; + ChangeType?: ChangeType | string; + + /** + *

                  The value for the parameter.

                  + */ + ParameterValue?: string; /** *

                  Determines whether the parameter can be applied to any nodes, or only nodes of a @@ -1272,24 +1276,20 @@ export interface Parameter { ParameterType?: ParameterType | string; /** - *

                  Whether the customer is allowed to modify the parameter.

                  + *

                  The data type of the parameter. For example, integer:

                  */ - IsModifiable?: IsModifiable | string; + DataType?: string; /** - *

                  The value for the parameter.

                  + *

                  How the parameter is defined. For example, system denotes a + * system-defined parameter.

                  */ - ParameterValue?: string; + Source?: string; /** *

                  The name of the parameter.

                  */ ParameterName?: string; - - /** - *

                  A range of values within which the parameter can be set.

                  - */ - AllowedValues?: string; } export namespace Parameter { @@ -1319,6 +1319,26 @@ export namespace DescribeDefaultParametersResponse { export type SourceType = "CLUSTER" | "PARAMETER_GROUP" | "SUBNET_GROUP"; export interface DescribeEventsRequest { + /** + *

                  The beginning of the time interval to retrieve events for, specified in ISO 8601 + * format.

                  + */ + StartTime?: Date; + + /** + *

                  The identifier of the event source for which events will be returned. If not + * specified, then all sources are included in the response.

                  + */ + SourceName?: string; + + /** + *

                  The maximum number of results to include in the response. If more results exist + * than the specified MaxResults value, a token is included in the response so + * that the remaining results can be retrieved.

                  + *

                  The value for MaxResults must be between 20 and 100.

                  + */ + MaxResults?: number; + /** *

                  The event source to retrieve events for. If no value is specified, all events are * returned.

                  @@ -1333,11 +1353,6 @@ export interface DescribeEventsRequest { */ NextToken?: string; - /** - *

                  The number of minutes' worth of events to retrieve.

                  - */ - Duration?: number; - /** *

                  The end of the time interval for which to retrieve events, specified in ISO 8601 * format.

                  @@ -1345,24 +1360,9 @@ export interface DescribeEventsRequest { EndTime?: Date; /** - *

                  The maximum number of results to include in the response. If more results exist - * than the specified MaxResults value, a token is included in the response so - * that the remaining results can be retrieved.

                  - *

                  The value for MaxResults must be between 20 and 100.

                  - */ - MaxResults?: number; - - /** - *

                  The beginning of the time interval to retrieve events for, specified in ISO 8601 - * format.

                  - */ - StartTime?: Date; - - /** - *

                  The identifier of the event source for which events will be returned. If not - * specified, then all sources are included in the response.

                  + *

                  The number of minutes' worth of events to retrieve.

                  */ - SourceName?: string; + Duration?: number; } export namespace DescribeEventsRequest { @@ -1378,9 +1378,10 @@ export namespace DescribeEventsRequest { */ export interface Event { /** - *

                  A user-defined message associated with the event.

                  + *

                  The source of the event. For example, if the event occurred at the node level, the + * source would be the node ID.

                  */ - Message?: string; + SourceName?: string; /** *

                  Specifies the origin of this event - a cluster, a parameter group, a node ID, @@ -1389,15 +1390,14 @@ export interface Event { SourceType?: SourceType | string; /** - *

                  The date and time when the event occurred.

                  + *

                  A user-defined message associated with the event.

                  */ - Date?: Date; + Message?: string; /** - *

                  The source of the event. For example, if the event occurred at the node level, the - * source would be the node ID.

                  + *

                  The date and time when the event occurred.

                  */ - SourceName?: string; + Date?: Date; } export namespace Event { @@ -1425,14 +1425,6 @@ export namespace DescribeEventsResponse { } export interface DescribeParameterGroupsRequest { - /** - *

                  An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response includes only - * results beyond the token, up to the value specified by - * MaxResults.

                  - */ - NextToken?: string; - /** *

                  The names of the parameter groups.

                  */ @@ -1445,6 +1437,14 @@ export interface DescribeParameterGroupsRequest { *

                  The value for MaxResults must be between 20 and 100.

                  */ MaxResults?: number; + + /** + *

                  An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response includes only + * results beyond the token, up to the value specified by + * MaxResults.

                  + */ + NextToken?: string; } export namespace DescribeParameterGroupsRequest { @@ -1473,10 +1473,17 @@ export namespace DescribeParameterGroupsResponse { export interface DescribeParametersRequest { /** - *

                  How the parameter is defined. For example, system denotes a - * system-defined parameter.

                  + *

                  The name of the parameter group.

                  */ - Source?: string; + ParameterGroupName: string | undefined; + + /** + *

                  The maximum number of results to include in the response. If more results exist + * than the specified MaxResults value, a token is included in the response so + * that the remaining results can be retrieved.

                  + *

                  The value for MaxResults must be between 20 and 100.

                  + */ + MaxResults?: number; /** *

                  An optional token returned from a prior request. Use this token for pagination of @@ -1487,17 +1494,10 @@ export interface DescribeParametersRequest { NextToken?: string; /** - *

                  The name of the parameter group.

                  - */ - ParameterGroupName: string | undefined; - - /** - *

                  The maximum number of results to include in the response. If more results exist - * than the specified MaxResults value, a token is included in the response so - * that the remaining results can be retrieved.

                  - *

                  The value for MaxResults must be between 20 and 100.

                  + *

                  How the parameter is defined. For example, system denotes a + * system-defined parameter.

                  */ - MaxResults?: number; + Source?: string; } export namespace DescribeParametersRequest { @@ -1508,14 +1508,14 @@ export namespace DescribeParametersRequest { export interface DescribeParametersResponse { /** - *

                  Provides an identifier to allow retrieval of paginated results.

                  + *

                  A list of parameters within a parameter group. Each element in the list represents one parameter.

                  */ - NextToken?: string; + Parameters?: Parameter[]; /** - *

                  A list of parameters within a parameter group. Each element in the list represents one parameter.

                  + *

                  Provides an identifier to allow retrieval of paginated results.

                  */ - Parameters?: Parameter[]; + NextToken?: string; } export namespace DescribeParametersResponse { @@ -1525,14 +1525,6 @@ export namespace DescribeParametersResponse { } export interface DescribeSubnetGroupsRequest { - /** - *

                  An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response includes only - * results beyond the token, up to the value specified by - * MaxResults.

                  - */ - NextToken?: string; - /** *

                  The maximum number of results to include in the response. If more results exist * than the specified MaxResults value, a token is included in the response so @@ -1541,6 +1533,14 @@ export interface DescribeSubnetGroupsRequest { */ MaxResults?: number; + /** + *

                  An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response includes only + * results beyond the token, up to the value specified by + * MaxResults.

                  + */ + NextToken?: string; + /** *

                  The name of the subnet group.

                  */ @@ -1555,14 +1555,14 @@ export namespace DescribeSubnetGroupsRequest { export interface DescribeSubnetGroupsResponse { /** - *

                  An array of subnet groups. Each element in the array represents a single subnet group.

                  + *

                  Provides an identifier to allow retrieval of paginated results.

                  */ - SubnetGroups?: SubnetGroup[]; + NextToken?: string; /** - *

                  Provides an identifier to allow retrieval of paginated results.

                  + *

                  An array of subnet groups. Each element in the array represents a single subnet group.

                  */ - NextToken?: string; + SubnetGroups?: SubnetGroup[]; } export namespace DescribeSubnetGroupsResponse { @@ -1573,14 +1573,14 @@ export namespace DescribeSubnetGroupsResponse { export interface IncreaseReplicationFactorRequest { /** - *

                  The new number of nodes for the DAX cluster.

                  + *

                  The name of the DAX cluster that will receive additional nodes.

                  */ - NewReplicationFactor: number | undefined; + ClusterName: string | undefined; /** - *

                  The name of the DAX cluster that will receive additional nodes.

                  + *

                  The new number of nodes for the DAX cluster.

                  */ - ClusterName: string | undefined; + NewReplicationFactor: number | undefined; /** *

                  The Availability Zones (AZs) in which the cluster nodes will be created. All nodes @@ -1646,15 +1646,15 @@ export namespace ListTagsRequest { export interface ListTagsResponse { /** - *

                  If this value is present, there are additional results to be displayed. To retrieve them, call - * ListTags again, with NextToken set to this value.

                  + *

                  A list of tags currently associated with the DAX cluster.

                  */ - NextToken?: string; + Tags?: Tag[]; /** - *

                  A list of tags currently associated with the DAX cluster.

                  + *

                  If this value is present, there are additional results to be displayed. To retrieve them, call + * ListTags again, with NextToken set to this value.

                  */ - Tags?: Tag[]; + NextToken?: string; } export namespace ListTagsResponse { @@ -1665,14 +1665,14 @@ export namespace ListTagsResponse { export interface RebootNodeRequest { /** - *

                  The system-assigned ID of the node to be rebooted.

                  + *

                  The name of the DAX cluster containing the node to be rebooted.

                  */ - NodeId: string | undefined; + ClusterName: string | undefined; /** - *

                  The name of the DAX cluster containing the node to be rebooted.

                  + *

                  The system-assigned ID of the node to be rebooted.

                  */ - ClusterName: string | undefined; + NodeId: string | undefined; } export namespace RebootNodeRequest { @@ -1742,14 +1742,14 @@ export namespace TagNotFoundFault { export interface UntagResourceRequest { /** - *

                  The name of the DAX resource from which the tags should be removed.

                  + *

                  A list of tag keys. If the DAX cluster has any tags with these keys, then the tags are removed from the cluster.

                  */ - ResourceName: string | undefined; + TagKeys: string[] | undefined; /** - *

                  A list of tag keys. If the DAX cluster has any tags with these keys, then the tags are removed from the cluster.

                  + *

                  The name of the DAX resource from which the tags should be removed.

                  */ - TagKeys: string[] | undefined; + ResourceName: string | undefined; } export namespace UntagResourceRequest { @@ -1773,42 +1773,42 @@ export namespace UntagResourceResponse { export interface UpdateClusterRequest { /** - *

                  The name of a parameter group for this cluster.

                  + *

                  A range of time when maintenance of DAX cluster software will be performed. For + * example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than + * 30 minutes, and is performed automatically within the maintenance window.

                  */ - ParameterGroupName?: string; + PreferredMaintenanceWindow?: string; /** - *

                  A description of the changes being made to the cluster.

                  + *

                  The name of the DAX cluster to be modified.

                  */ - Description?: string; + ClusterName: string | undefined; /** - *

                  A list of user-specified security group IDs to be assigned to each node in the DAX cluster. If this parameter is not - * specified, DAX assigns the default VPC security group to each node.

                  + *

                  The name of a parameter group for this cluster.

                  */ - SecurityGroupIds?: string[]; + ParameterGroupName?: string; /** - *

                  The Amazon Resource Name (ARN) that identifies the topic.

                  + *

                  The current state of the topic.

                  */ - NotificationTopicArn?: string; + NotificationTopicStatus?: string; /** - *

                  A range of time when maintenance of DAX cluster software will be performed. For - * example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than - * 30 minutes, and is performed automatically within the maintenance window.

                  + *

                  A description of the changes being made to the cluster.

                  */ - PreferredMaintenanceWindow?: string; + Description?: string; /** - *

                  The current state of the topic.

                  + *

                  A list of user-specified security group IDs to be assigned to each node in the DAX cluster. If this parameter is not + * specified, DAX assigns the default VPC security group to each node.

                  */ - NotificationTopicStatus?: string; + SecurityGroupIds?: string[]; /** - *

                  The name of the DAX cluster to be modified.

                  + *

                  The Amazon Resource Name (ARN) that identifies the topic.

                  */ - ClusterName: string | undefined; + NotificationTopicArn?: string; } export namespace UpdateClusterRequest { @@ -1835,14 +1835,14 @@ export namespace UpdateClusterResponse { */ export interface ParameterNameValue { /** - *

                  The value of the parameter.

                  + *

                  The name of the parameter.

                  */ - ParameterValue?: string; + ParameterName?: string; /** - *

                  The name of the parameter.

                  + *

                  The value of the parameter.

                  */ - ParameterName?: string; + ParameterValue?: string; } export namespace ParameterNameValue { @@ -1899,11 +1899,6 @@ export namespace SubnetInUse { } export interface UpdateSubnetGroupRequest { - /** - *

                  A description of the subnet group.

                  - */ - Description?: string; - /** *

                  A list of subnet IDs in the subnet group.

                  */ @@ -1913,6 +1908,11 @@ export interface UpdateSubnetGroupRequest { *

                  The name of the subnet group.

                  */ SubnetGroupName: string | undefined; + + /** + *

                  A description of the subnet group.

                  + */ + Description?: string; } export namespace UpdateSubnetGroupRequest { diff --git a/clients/client-detective/models/models_0.ts b/clients/client-detective/models/models_0.ts index dd5b7ba5ddd3..0f903a2d1f1b 100644 --- a/clients/client-detective/models/models_0.ts +++ b/clients/client-detective/models/models_0.ts @@ -81,14 +81,14 @@ export namespace ValidationException { */ export interface Account { /** - *

                  The AWS account root user email address for the AWS account.

                  + *

                  The account identifier of the AWS account.

                  */ - EmailAddress: string | undefined; + AccountId: string | undefined; /** - *

                  The account identifier of the AWS account.

                  + *

                  The AWS account root user email address for the AWS account.

                  */ - AccountId: string | undefined; + EmailAddress: string | undefined; } export namespace Account { @@ -142,10 +142,11 @@ export namespace ServiceQuotaExceededException { export interface CreateMembersRequest { /** - *

                  Customized message text to include in the invitation email message to the invited member - * accounts.

                  + *

                  The list of AWS accounts to invite to become member accounts in the behavior graph. + * For each invited account, the account list contains the account identifier and the AWS + * account root user email address.

                  */ - Message?: string; + Accounts: Account[] | undefined; /** *

                  The ARN of the behavior graph to invite the member accounts to contribute their data @@ -154,11 +155,10 @@ export interface CreateMembersRequest { GraphArn: string | undefined; /** - *

                  The list of AWS accounts to invite to become member accounts in the behavior graph. - * For each invited account, the account list contains the account identifier and the AWS - * account root user email address.

                  + *

                  Customized message text to include in the invitation email message to the invited member + * accounts.

                  */ - Accounts: Account[] | undefined; + Message?: string; } export namespace CreateMembersRequest { @@ -186,21 +186,59 @@ export enum MemberStatus { */ export interface MemberDetail { /** - *

                  The date and time that the member account was last updated. The value is in milliseconds - * since the epoch.

                  + *

                  The current membership status of the member account. The status can have one of the + * following values:

                  + *
                    + *
                  • + *

                    + * INVITED - Indicates that the member was sent an invitation but has + * not yet responded.

                    + *
                  • + *
                  • + *

                    + * VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying that the + * account identifier and email address provided for the member account match. If they + * do match, then Detective sends the invitation. If the email address and account + * identifier don't match, then the member cannot be added to the behavior graph.

                    + *
                  • + *
                  • + *

                    + * VERIFICATION_FAILED - Indicates that the account and email address + * provided for the member account do not match, and Detective did not send an invitation to + * the account.

                    + *
                  • + *
                  • + *

                    + * ENABLED - Indicates that the member account accepted the invitation + * to contribute to the behavior graph.

                    + *
                  • + *
                  • + *

                    + * ACCEPTED_BUT_DISABLED - Indicates that the member account accepted + * the invitation but is prevented from contributing data to the behavior graph. + * DisabledReason provides the reason why the member account is not + * enabled.

                    + *
                  • + *
                  + *

                  Member accounts that declined an invitation or that were removed from the behavior graph + * are not included.

                  */ - UpdatedTime?: Date; + Status?: MemberStatus | string; /** - *

                  The ARN of the behavior graph that the member account was invited to.

                  + *

                  The AWS account identifier for the member account.

                  */ - GraphArn?: string; + AccountId?: string; /** - *

                  The date and time that Detective sent the invitation to the member account. The value is in - * milliseconds since the epoch.

                  + *

                  The date and time when the graph utilization percentage was last updated.

                  */ - InvitedTime?: Date; + PercentOfGraphUtilizationUpdatedTime?: Date; + + /** + *

                  The ARN of the behavior graph that the member account was invited to.

                  + */ + GraphArn?: string; /** *

                  For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason that @@ -223,14 +261,26 @@ export interface MemberDetail { DisabledReason?: MemberDisabledReason | string; /** - *

                  The AWS account root user email address for the member account.

                  + *

                  The AWS account identifier of the master account for the behavior graph.

                  */ - EmailAddress?: string; + MasterId?: string; /** - *

                  The AWS account identifier for the member account.

                  + *

                  The date and time that Detective sent the invitation to the member account. The value is in + * milliseconds since the epoch.

                  */ - AccountId?: string; + InvitedTime?: Date; + + /** + *

                  The date and time that the member account was last updated. The value is in milliseconds + * since the epoch.

                  + */ + UpdatedTime?: Date; + + /** + *

                  The AWS account root user email address for the member account.

                  + */ + EmailAddress?: string; /** *

                  The member account data volume as a percentage of the maximum allowed data volume. 0 @@ -242,56 +292,6 @@ export interface MemberDetail { * data volume.

                  */ PercentOfGraphUtilization?: number; - - /** - *

                  The AWS account identifier of the master account for the behavior graph.

                  - */ - MasterId?: string; - - /** - *

                  The date and time when the graph utilization percentage was last updated.

                  - */ - PercentOfGraphUtilizationUpdatedTime?: Date; - - /** - *

                  The current membership status of the member account. The status can have one of the - * following values:

                  - *
                    - *
                  • - *

                    - * INVITED - Indicates that the member was sent an invitation but has - * not yet responded.

                    - *
                  • - *
                  • - *

                    - * VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying that the - * account identifier and email address provided for the member account match. If they - * do match, then Detective sends the invitation. If the email address and account - * identifier don't match, then the member cannot be added to the behavior graph.

                    - *
                  • - *
                  • - *

                    - * VERIFICATION_FAILED - Indicates that the account and email address - * provided for the member account do not match, and Detective did not send an invitation to - * the account.

                    - *
                  • - *
                  • - *

                    - * ENABLED - Indicates that the member account accepted the invitation - * to contribute to the behavior graph.

                    - *
                  • - *
                  • - *

                    - * ACCEPTED_BUT_DISABLED - Indicates that the member account accepted - * the invitation but is prevented from contributing data to the behavior graph. - * DisabledReason provides the reason why the member account is not - * enabled.

                    - *
                  • - *
                  - *

                  Member accounts that declined an invitation or that were removed from the behavior graph - * are not included.

                  - */ - Status?: MemberStatus | string; } export namespace MemberDetail { @@ -306,14 +306,14 @@ export namespace MemberDetail { */ export interface UnprocessedAccount { /** - *

                  The AWS account identifier of the member account that was not processed.

                  + *

                  The reason that the member account request could not be processed.

                  */ - AccountId?: string; + Reason?: string; /** - *

                  The reason that the member account request could not be processed.

                  + *

                  The AWS account identifier of the member account that was not processed.

                  */ - Reason?: string; + AccountId?: string; } export namespace UnprocessedAccount { @@ -358,16 +358,16 @@ export namespace DeleteGraphRequest { } export interface DeleteMembersRequest { - /** - *

                  The ARN of the behavior graph to delete members from.

                  - */ - GraphArn: string | undefined; - /** *

                  The list of AWS account identifiers for the member accounts to delete from the * behavior graph.

                  */ AccountIds: string[] | undefined; + + /** + *

                  The ARN of the behavior graph to delete members from.

                  + */ + GraphArn: string | undefined; } export namespace DeleteMembersRequest { @@ -454,18 +454,18 @@ export namespace GetMembersResponse { } export interface ListGraphsRequest { - /** - *

                  The maximum number of graphs to return at a time. The total must be less than the - * overall limit on the number of results to return, which is currently 200.

                  - */ - MaxResults?: number; - /** *

                  For requests to get the next page of results, the pagination token that was returned * with the previous set of results. The initial request does not include a pagination * token.

                  */ NextToken?: string; + + /** + *

                  The maximum number of graphs to return at a time. The total must be less than the + * overall limit on the number of results to return, which is currently 200.

                  + */ + MaxResults?: number; } export namespace ListGraphsRequest { @@ -516,19 +516,19 @@ export namespace ListGraphsResponse { } export interface ListInvitationsRequest { - /** - *

                  For requests to retrieve the next page of results, the pagination token that was - * returned with the previous page of results. The initial request does not include a - * pagination token.

                  - */ - NextToken?: string; - /** *

                  The maximum number of behavior graph invitations to return in the response. The total * must be less than the overall limit on the number of results to return, which is currently * 200.

                  */ MaxResults?: number; + + /** + *

                  For requests to retrieve the next page of results, the pagination token that was + * returned with the previous page of results. The initial request does not include a + * pagination token.

                  + */ + NextToken?: string; } export namespace ListInvitationsRequest { @@ -538,17 +538,17 @@ export namespace ListInvitationsRequest { } export interface ListInvitationsResponse { - /** - *

                  The list of behavior graphs for which the member account has open or accepted - * invitations.

                  - */ - Invitations?: MemberDetail[]; - /** *

                  If there are more behavior graphs remaining in the results, then this is the pagination * token to use to request the next page of behavior graphs.

                  */ NextToken?: string; + + /** + *

                  The list of behavior graphs for which the member account has open or accepted + * invitations.

                  + */ + Invitations?: MemberDetail[]; } export namespace ListInvitationsResponse { @@ -559,11 +559,10 @@ export namespace ListInvitationsResponse { export interface ListMembersRequest { /** - *

                  For requests to retrieve the next page of member account results, the pagination token - * that was returned with the previous page of results. The initial request does not include a - * pagination token.

                  + *

                  The maximum number of member accounts to include in the response. The total must be less + * than the overall limit on the number of results to return, which is currently 200.

                  */ - NextToken?: string; + MaxResults?: number; /** *

                  The ARN of the behavior graph for which to retrieve the list of member accounts.

                  @@ -571,10 +570,11 @@ export interface ListMembersRequest { GraphArn: string | undefined; /** - *

                  The maximum number of member accounts to include in the response. The total must be less - * than the overall limit on the number of results to return, which is currently 200.

                  + *

                  For requests to retrieve the next page of member account results, the pagination token + * that was returned with the previous page of results. The initial request does not include a + * pagination token.

                  */ - MaxResults?: number; + NextToken?: string; } export namespace ListMembersRequest { @@ -621,17 +621,17 @@ export namespace RejectInvitationRequest { } export interface StartMonitoringMemberRequest { - /** - *

                  The ARN of the behavior graph.

                  - */ - GraphArn: string | undefined; - /** *

                  The account ID of the member account to try to enable.

                  *

                  The account must be an invited member account with a status of * ACCEPTED_BUT_DISABLED.

                  */ AccountId: string | undefined; + + /** + *

                  The ARN of the behavior graph.

                  + */ + GraphArn: string | undefined; } export namespace StartMonitoringMemberRequest { diff --git a/clients/client-device-farm/models/models_0.ts b/clients/client-device-farm/models/models_0.ts index 9151caadc279..edea8dc4a42d 100644 --- a/clients/client-device-farm/models/models_0.ts +++ b/clients/client-device-farm/models/models_0.ts @@ -7,14 +7,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface TrialMinutes { /** - *

                  The total number of free trial minutes that the account started with.

                  + *

                  The number of free trial minutes remaining in the account.

                  */ - total?: number; + remaining?: number; /** - *

                  The number of free trial minutes remaining in the account.

                  + *

                  The total number of free trial minutes that the account started with.

                  */ - remaining?: number; + total?: number; } export namespace TrialMinutes { @@ -33,9 +33,23 @@ export enum DevicePlatform { */ export interface AccountSettings { /** - *

                  Information about an AWS account's usage of free trial device minutes.

                  + *

                  The maximum number of minutes a test run executes before it times out.

                  */ - trialMinutes?: TrialMinutes; + maxJobTimeoutMinutes?: number; + + /** + *

                  The AWS account number specified in the AccountSettings + * container.

                  + */ + awsAccountNumber?: string; + + /** + *

                  The maximum number of device slots that the AWS account can purchase. Each maximum + * is expressed as an offering-id:number pair, where the + * offering-id represents one of the IDs returned by the + * ListOfferings command.

                  + */ + maxSlots?: { [key: string]: number }; /** *

                  Returns the unmetered remote access devices you have purchased or want to @@ -56,11 +70,6 @@ export interface AccountSettings { */ skipAppResign?: boolean; - /** - *

                  The maximum number of minutes a test run executes before it times out.

                  - */ - maxJobTimeoutMinutes?: number; - /** *

                  The default number of minutes (at the account level) a test run executes before it times out. The * default value is 150 minutes.

                  @@ -68,18 +77,9 @@ export interface AccountSettings { defaultJobTimeoutMinutes?: number; /** - *

                  The AWS account number specified in the AccountSettings - * container.

                  - */ - awsAccountNumber?: string; - - /** - *

                  The maximum number of device slots that the AWS account can purchase. Each maximum - * is expressed as an offering-id:number pair, where the - * offering-id represents one of the IDs returned by the - * ListOfferings command.

                  + *

                  Information about an AWS account's usage of free trial device minutes.

                  */ - maxSlots?: { [key: string]: number }; + trialMinutes?: TrialMinutes; } export namespace AccountSettings { @@ -143,9 +143,15 @@ export enum ArtifactType { */ export interface Artifact { /** - *

                  The artifact's name.

                  + *

                  The artifact's file extension.

                  */ - name?: string; + extension?: string; + + /** + *

                  The presigned Amazon S3 URL that can be used with a GET request to download the artifact's + * file.

                  + */ + url?: string; /** *

                  The artifact's type.

                  @@ -240,20 +246,14 @@ export interface Artifact { type?: ArtifactType | string; /** - *

                  The artifact's file extension.

                  - */ - extension?: string; - - /** - *

                  The presigned Amazon S3 URL that can be used with a GET request to download the artifact's - * file.

                  + *

                  The artifact's ARN.

                  */ - url?: string; + arn?: string; /** - *

                  The artifact's ARN.

                  + *

                  The artifact's name.

                  */ - arn?: string; + name?: string; } export namespace Artifact { @@ -293,24 +293,24 @@ export namespace CannotDeleteException { */ export interface Counters { /** - *

                  The number of failed entities.

                  + *

                  The number of passed entities.

                  */ - failed?: number; + passed?: number; /** - *

                  The number of warned entities.

                  + *

                  The number of skipped entities.

                  */ - warned?: number; + skipped?: number; /** - *

                  The number of passed entities.

                  + *

                  The number of warned entities.

                  */ - passed?: number; + warned?: number; /** - *

                  The number of stopped entities.

                  + *

                  The number of failed entities.

                  */ - stopped?: number; + failed?: number; /** *

                  The number of errored entities.

                  @@ -318,9 +318,9 @@ export interface Counters { errored?: number; /** - *

                  The number of skipped entities.

                  + *

                  The number of stopped entities.

                  */ - skipped?: number; + stopped?: number; /** *

                  The total number of entities.

                  @@ -339,6 +339,11 @@ export namespace Counters { * CPU usage.

                  */ export interface CPU { + /** + *

                  The CPU's frequency.

                  + */ + frequency?: string; + /** *

                  The CPU's architecture (for example, x86 or ARM).

                  */ @@ -349,11 +354,6 @@ export interface CPU { * GHz CPU is expressed as 1200000000.

                  */ clock?: number; - - /** - *

                  The CPU's frequency.

                  - */ - frequency?: string; } export namespace CPU { @@ -393,11 +393,6 @@ export enum RuleOperator { *

                  Represents a condition for a device pool.

                  */ export interface Rule { - /** - *

                  The rule's value.

                  - */ - value?: string; - /** *

                  Specifies how Device Farm compares the rule's attribute to the value. For the * operators that are supported by each attribute, see the attribute @@ -507,6 +502,11 @@ export interface Rule { *

            */ attribute?: DeviceAttribute | string; + + /** + *

            The rule's value.

            + */ + value?: string; } export namespace Rule { @@ -525,29 +525,29 @@ export interface CreateDevicePoolRequest { name: string | undefined; /** - *

            The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are - * available and meet the criteria that you assign for the rules parameter. Depending on how many - * devices meet these constraints, your device pool might contain fewer devices than the value for this - * parameter.

            - *

            By specifying the maximum number of devices, you can control the costs that you incur - * by running tests.

            + *

            The device pool's description.

            */ - maxDevices?: number; + description?: string; /** - *

            The ARN of the project for the device pool.

            + *

            The device pool's rules.

            */ - projectArn: string | undefined; + rules: Rule[] | undefined; /** - *

            The device pool's description.

            + *

            The ARN of the project for the device pool.

            */ - description?: string; + projectArn: string | undefined; /** - *

            The device pool's rules.

            + *

            The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are + * available and meet the criteria that you assign for the rules parameter. Depending on how many + * devices meet these constraints, your device pool might contain fewer devices than the value for this + * parameter.

            + *

            By specifying the maximum number of devices, you can control the costs that you incur + * by running tests.

            */ - rules: Rule[] | undefined; + maxDevices?: number; } export namespace CreateDevicePoolRequest { @@ -566,14 +566,19 @@ export enum DevicePoolType { */ export interface DevicePool { /** - *

            The device pool's description.

            + *

            The device pool's ARN.

            */ - description?: string; + arn?: string; /** - *

            The device pool's ARN.

            + *

            Information about the device pool's rules.

            */ - arn?: string; + rules?: Rule[]; + + /** + *

            The device pool's description.

            + */ + description?: string; /** *

            The device pool's type.

            @@ -591,16 +596,6 @@ export interface DevicePool { */ type?: DevicePoolType | string; - /** - *

            The device pool's name.

            - */ - name?: string; - - /** - *

            Information about the device pool's rules.

            - */ - rules?: Rule[]; - /** *

            The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are * available and meet the criteria that you assign for the rules parameter. Depending on how many @@ -610,6 +605,11 @@ export interface DevicePool { * by running tests.

            */ maxDevices?: number; + + /** + *

            The device pool's name.

            + */ + name?: string; } export namespace DevicePool { @@ -689,12 +689,6 @@ export namespace ServiceAccountException { } export interface CreateInstanceProfileRequest { - /** - *

            When set to true, Device Farm reboots the instance after a test run. The default value is - * true.

            - */ - rebootAfterUse?: boolean; - /** *

            The description of your instance profile.

            */ @@ -711,6 +705,12 @@ export interface CreateInstanceProfileRequest { */ name: string | undefined; + /** + *

            When set to true, Device Farm reboots the instance after a test run. The default value is + * true.

            + */ + rebootAfterUse?: boolean; + /** *

            An array of strings that specifies the list of app packages that should not be cleaned up from the device * after a test run.

            @@ -730,12 +730,6 @@ export namespace CreateInstanceProfileRequest { *

            Represents the instance profile.

            */ export interface InstanceProfile { - /** - *

            When set to true, Device Farm reboots the instance after a test run. The default value is - * true.

            - */ - rebootAfterUse?: boolean; - /** *

            An array of strings containing the list of app packages that should not be cleaned up from the device * after a test run completes.

            @@ -745,20 +739,26 @@ export interface InstanceProfile { excludeAppPackagesFromCleanup?: string[]; /** - *

            The name of the instance profile.

            + *

            The Amazon Resource Name (ARN) of the instance profile.

            */ - name?: string; + arn?: string; /** - *

            The Amazon Resource Name (ARN) of the instance profile.

            + *

            The name of the instance profile.

            */ - arn?: string; + name?: string; /** *

            The description of the instance profile.

            */ description?: string; + /** + *

            When set to true, Device Farm reboots the instance after a test run. The default value is + * true.

            + */ + rebootAfterUse?: boolean; + /** *

            When set to true, Device Farm removes app packages after a test run. The default value is * false for private devices.

            @@ -792,72 +792,72 @@ export enum NetworkProfileType { export interface CreateNetworkProfileRequest { /** - *

            Proportion of received packets that fail to arrive from 0 to 100 percent.

            + *

            Time variation in the delay of received packets in milliseconds as an integer from + * 0 to 2000.

            */ - downlinkLossPercent?: number; + uplinkJitterMs?: number; /** - *

            Delay time for all packets to destination in milliseconds as an integer from 0 to - * 2000.

            + *

            The description of the network profile.

            */ - uplinkDelayMs?: number; + description?: string; /** - *

            The name for the new network profile.

            + *

            The data throughput rate in bits per second, as an integer from 0 to + * 104857600.

            */ - name: string | undefined; + uplinkBandwidthBits?: number; /** *

            The data throughput rate in bits per second, as an integer from 0 to * 104857600.

            */ - uplinkBandwidthBits?: number; + downlinkBandwidthBits?: number; /** *

            Time variation in the delay of received packets in milliseconds as an integer from * 0 to 2000.

            */ - uplinkJitterMs?: number; + downlinkJitterMs?: number; /** - *

            Delay time for all packets to destination in milliseconds as an integer from 0 to - * 2000.

            + *

            Proportion of received packets that fail to arrive from 0 to 100 percent.

            */ - downlinkDelayMs?: number; + downlinkLossPercent?: number; /** - *

            The data throughput rate in bits per second, as an integer from 0 to - * 104857600.

            + *

            The type of network profile to create. Valid values are listed here.

            */ - downlinkBandwidthBits?: number; + type?: NetworkProfileType | string; /** - *

            The type of network profile to create. Valid values are listed here.

            + *

            The name for the new network profile.

            */ - type?: NetworkProfileType | string; + name: string | undefined; /** - *

            Proportion of transmitted packets that fail to arrive from 0 to 100 - * percent.

            + *

            Delay time for all packets to destination in milliseconds as an integer from 0 to + * 2000.

            */ - uplinkLossPercent?: number; + uplinkDelayMs?: number; /** - *

            The Amazon Resource Name (ARN) of the project for which you want to create a - * network profile.

            + *

            Delay time for all packets to destination in milliseconds as an integer from 0 to + * 2000.

            */ - projectArn: string | undefined; + downlinkDelayMs?: number; /** - *

            The description of the network profile.

            + *

            Proportion of transmitted packets that fail to arrive from 0 to 100 + * percent.

            */ - description?: string; + uplinkLossPercent?: number; /** - *

            Time variation in the delay of received packets in milliseconds as an integer from - * 0 to 2000.

            + *

            The Amazon Resource Name (ARN) of the project for which you want to create a + * network profile.

            */ - downlinkJitterMs?: number; + projectArn: string | undefined; } export namespace CreateNetworkProfileRequest { @@ -870,44 +870,27 @@ export namespace CreateNetworkProfileRequest { *

            An array of settings that describes characteristics of a network profile.

            */ export interface NetworkProfile { - /** - *

            Delay time for all packets to destination in milliseconds as an integer from 0 to - * 2000.

            - */ - uplinkDelayMs?: number; - /** *

            Time variation in the delay of received packets in milliseconds as an integer from * 0 to 2000.

            */ - downlinkJitterMs?: number; - - /** - *

            The description of the network profile.

            - */ - description?: string; + uplinkJitterMs?: number; /** - *

            Proportion of received packets that fail to arrive from 0 to 100 percent.

            + *

            The type of network profile. Valid values are listed here.

            */ - downlinkLossPercent?: number; + type?: NetworkProfileType | string; /** - *

            Time variation in the delay of received packets in milliseconds as an integer from - * 0 to 2000.

            + *

            The name of the network profile.

            */ - uplinkJitterMs?: number; + name?: string; /** *

            The data throughput rate in bits per second, as an integer from 0 to * 104857600.

            */ - downlinkBandwidthBits?: number; - - /** - *

            The type of network profile. Valid values are listed here.

            - */ - type?: NetworkProfileType | string; + uplinkBandwidthBits?: number; /** *

            Proportion of transmitted packets that fail to arrive from 0 to 100 @@ -927,15 +910,32 @@ export interface NetworkProfile { arn?: string; /** - *

            The name of the network profile.

            + *

            Time variation in the delay of received packets in milliseconds as an integer from + * 0 to 2000.

            */ - name?: string; + downlinkJitterMs?: number; + + /** + *

            Delay time for all packets to destination in milliseconds as an integer from 0 to + * 2000.

            + */ + uplinkDelayMs?: number; /** *

            The data throughput rate in bits per second, as an integer from 0 to * 104857600.

            */ - uplinkBandwidthBits?: number; + downlinkBandwidthBits?: number; + + /** + *

            Proportion of received packets that fail to arrive from 0 to 100 percent.

            + */ + downlinkLossPercent?: number; + + /** + *

            The description of the network profile.

            + */ + description?: string; } export namespace NetworkProfile { @@ -963,15 +963,15 @@ export namespace CreateNetworkProfileResult { */ export interface CreateProjectRequest { /** - *

            Sets the execution timeout value (in minutes) for a project. All test runs in this project use the - * specified execution timeout value unless overridden when scheduling a run.

            + *

            The project's name.

            */ - defaultJobTimeoutMinutes?: number; + name: string | undefined; /** - *

            The project's name.

            + *

            Sets the execution timeout value (in minutes) for a project. All test runs in this project use the + * specified execution timeout value unless overridden when scheduling a run.

            */ - name: string | undefined; + defaultJobTimeoutMinutes?: number; } export namespace CreateProjectRequest { @@ -986,14 +986,14 @@ export namespace CreateProjectRequest { */ export interface Project { /** - *

            The project's name.

            + *

            When the project was created.

            */ - name?: string; + created?: Date; /** - *

            When the project was created.

            + *

            The project's name.

            */ - created?: Date; + name?: string; /** *

            The default number of minutes (at the project level) a test run executes before it times out. The @@ -1035,8 +1035,8 @@ export namespace CreateProjectResult { export interface TagOperationException extends __SmithyException, $MetadataBearer { name: "TagOperationException"; $fault: "client"; - message?: string; resourceName?: string; + message?: string; } export namespace TagOperationException { @@ -1078,10 +1078,29 @@ export enum InteractionMode { */ export interface CreateRemoteAccessSessionRequest { /** - *

            The Amazon Resource Name (ARN) of the project for which you want to create a remote - * access session.

            + *

            Set to true if you want to access devices remotely for debugging in + * your remote access session.

            + *

            Remote debugging is no + * longer supported.

            */ - projectArn: string | undefined; + remoteDebugEnabled?: boolean; + + /** + *

            Ignored. The public key of the ssh key pair you want to use for connecting to remote + * devices in your remote debugging session. This key is required only if remoteDebugEnabled is + * set to true.

            + *

            Remote debugging is no + * longer supported.

            + */ + sshPublicKey?: string; + + /** + *

            When set to true, for private devices, Device Farm does not sign your app again. For public + * devices, Device Farm always signs your apps again.

            + *

            For more information on how Device Farm modifies your uploads during tests, see Do you modify my app? + *

            + */ + skipAppResign?: boolean; /** *

            The interaction mode of the remote access session. Valid values are:

            @@ -1105,19 +1124,9 @@ export interface CreateRemoteAccessSessionRequest { interactionMode?: InteractionMode | string; /** - *

            Set to true to enable remote recording for the remote access - * session.

            - */ - remoteRecordEnabled?: boolean; - - /** - *

            Ignored. The public key of the ssh key pair you want to use for connecting to remote - * devices in your remote debugging session. This key is required only if remoteDebugEnabled is - * set to true.

            - *

            Remote debugging is no - * longer supported.

            + *

            The name of the remote access session to create.

            */ - sshPublicKey?: string; + name?: string; /** *

            Unique identifier for the client. If you want access to multiple devices on the same client, you should @@ -1134,42 +1143,33 @@ export interface CreateRemoteAccessSessionRequest { configuration?: CreateRemoteAccessSessionConfiguration; /** - *

            The ARN of the device for which you want to create a remote access session.

            - */ - deviceArn: string | undefined; - - /** - *

            When set to true, for private devices, Device Farm does not sign your app again. For public - * devices, Device Farm always signs your apps again.

            - *

            For more information on how Device Farm modifies your uploads during tests, see Do you modify my app? - *

            + *

            The Amazon Resource Name (ARN) of the device instance for which you want to create a + * remote access session.

            */ - skipAppResign?: boolean; + instanceArn?: string; /** - *

            The name of the remote access session to create.

            + *

            The Amazon Resource Name (ARN) for the app to be recorded in the remote access + * session.

            */ - name?: string; + remoteRecordAppArn?: string; /** - *

            The Amazon Resource Name (ARN) of the device instance for which you want to create a - * remote access session.

            + *

            The Amazon Resource Name (ARN) of the project for which you want to create a remote + * access session.

            */ - instanceArn?: string; + projectArn: string | undefined; /** - *

            The Amazon Resource Name (ARN) for the app to be recorded in the remote access + *

            Set to true to enable remote recording for the remote access * session.

            */ - remoteRecordAppArn?: string; + remoteRecordEnabled?: boolean; /** - *

            Set to true if you want to access devices remotely for debugging in - * your remote access session.

            - *

            Remote debugging is no - * longer supported.

            + *

            The ARN of the device for which you want to create a remote access session.

            */ - remoteDebugEnabled?: boolean; + deviceArn: string | undefined; } export namespace CreateRemoteAccessSessionRequest { @@ -1202,19 +1202,19 @@ export enum InstanceStatus { */ export interface DeviceInstance { /** - *

            An array of strings that describe the device instance.

            + *

            The Amazon Resource Name (ARN) of the device instance.

            */ - labels?: string[]; + arn?: string; /** - *

            Unique device identifier for the device instance.

            + *

            The ARN of the device.

            */ - udid?: string; + deviceArn?: string; /** - *

            The Amazon Resource Name (ARN) of the device instance.

            + *

            A object that contains information about the instance profile.

            */ - arn?: string; + instanceProfile?: InstanceProfile; /** *

            The status of the device instance. Valid values are listed here.

            @@ -1222,14 +1222,14 @@ export interface DeviceInstance { status?: InstanceStatus | string; /** - *

            The ARN of the device.

            + *

            Unique device identifier for the device instance.

            */ - deviceArn?: string; + udid?: string; /** - *

            A object that contains information about the instance profile.

            + *

            An array of strings that describe the device instance.

            */ - instanceProfile?: InstanceProfile; + labels?: string[]; } export namespace DeviceInstance { @@ -1265,14 +1265,24 @@ export namespace Resolution { */ export interface Device { /** - *

            Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.

            + *

            Specifies whether remote access has been enabled for the specified + * device.

            */ - availability?: DeviceAvailability | string; + remoteAccessEnabled?: boolean; /** - *

            The device's display name.

            + *

            The device's platform.

            + *

            Allowed values include:

            + *
              + *
            • + *

              ANDROID

              + *
            • + *
            • + *

              IOS

              + *
            • + *
            */ - name?: string; + platform?: DevicePlatform | string; /** *

            The device's model name.

            @@ -1285,24 +1295,41 @@ export interface Device { arn?: string; /** - *

            The device's operating system type.

            + *

            The device's display name.

            */ - os?: string; + name?: string; /** - *

            The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.

            + *

            This flag is set to true if remote debugging is enabled for the + * device.

            + *

            Remote debugging is no + * longer supported.

            */ - fleetType?: string; + remoteDebugEnabled?: boolean; /** - *

            The device's carrier.

            + *

            The device's operating system type.

            */ - carrier?: string; + os?: string; /** - *

            The name of the fleet to which this device belongs.

            + *

            Information about the device's CPU.

            */ - fleetName?: string; + cpu?: CPU; + + /** + *

            The device's form factor.

            + *

            Allowed values include:

            + *
              + *
            • + *

              PHONE

              + *
            • + *
            • + *

              TABLET

              + *
            • + *
            + */ + formFactor?: DeviceFormFactor | string; /** *

            The device's total memory size, expressed in bytes.

            @@ -1315,33 +1342,24 @@ export interface Device { modelId?: string; /** - *

            The device's image name.

            + *

            The resolution of the device.

            */ - image?: string; + resolution?: Resolution; /** - *

            The instances that belong to this device.

            + *

            Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.

            */ - instances?: DeviceInstance[]; + availability?: DeviceAvailability | string; /** - *

            The device's form factor.

            - *

            Allowed values include:

            - *
              - *
            • - *

              PHONE

              - *
            • - *
            • - *

              TABLET

              - *
            • - *
            + *

            The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.

            */ - formFactor?: DeviceFormFactor | string; + fleetType?: string; /** - *

            Information about the device's CPU.

            + *

            The device's carrier.

            */ - cpu?: CPU; + carrier?: string; /** *

            The device's radio.

            @@ -1349,47 +1367,29 @@ export interface Device { radio?: string; /** - *

            The device's heap size, expressed in bytes.

            + *

            The device's manufacturer name.

            */ - heapSize?: number; + manufacturer?: string; /** - *

            This flag is set to true if remote debugging is enabled for the - * device.

            - *

            Remote debugging is no - * longer supported.

            + *

            The instances that belong to this device.

            */ - remoteDebugEnabled?: boolean; + instances?: DeviceInstance[]; /** - *

            The resolution of the device.

            + *

            The name of the fleet to which this device belongs.

            */ - resolution?: Resolution; + fleetName?: string; /** - *

            The device's manufacturer name.

            + *

            The device's heap size, expressed in bytes.

            */ - manufacturer?: string; + heapSize?: number; /** - *

            Specifies whether remote access has been enabled for the specified - * device.

            - */ - remoteAccessEnabled?: boolean; - - /** - *

            The device's platform.

            - *

            Allowed values include:

            - *
              - *
            • - *

              ANDROID

              - *
            • - *
            • - *

              IOS

              - *
            • - *
            + *

            The device's image name.

            */ - platform?: DevicePlatform | string; + image?: string; } export namespace Device { @@ -1404,10 +1404,10 @@ export namespace Device { */ export interface DeviceMinutes { /** - *

            When specified, represents the total minutes used by the resource to run - * tests.

            + *

            When specified, represents only the sum of metered minutes used by the resource to + * run tests.

            */ - total?: number; + metered?: number; /** *

            When specified, represents only the sum of unmetered minutes used by the resource @@ -1416,10 +1416,10 @@ export interface DeviceMinutes { unmetered?: number; /** - *

            When specified, represents only the sum of metered minutes used by the resource to - * run tests.

            + *

            When specified, represents the total minutes used by the resource to run + * tests.

            */ - metered?: number; + total?: number; } export namespace DeviceMinutes { @@ -1455,68 +1455,51 @@ export enum ExecutionStatus { */ export interface RemoteAccessSession { /** - *

            The ARN of the instance.

            + *

            A message about the remote access session.

            */ - instanceArn?: string; + message?: string; /** - *

            Unique device identifier for the remote device. Only returned if remote debugging - * is enabled for the remote access session.

            - *

            Remote debugging is no - * longer supported.

            + *

            The Amazon Resource Name (ARN) of the remote access session.

            */ - deviceUdid?: string; + arn?: string; /** - *

            The result of the remote access session. Can be any of the following:

            + *

            The number of minutes a device is used in a remote access session (including setup + * and teardown minutes).

            + */ + deviceMinutes?: DeviceMinutes; + + /** + *

            The interaction mode of the remote access session. Valid values are:

            *
              *
            • - *

              PENDING.

              - *
            • - *
            • - *

              PASSED.

              - *
            • - *
            • - *

              WARNED.

              - *
            • - *
            • - *

              FAILED.

              - *
            • - *
            • - *

              SKIPPED.

              + *

              INTERACTIVE: You can interact with the iOS device by viewing, touching, and + * rotating the screen. You cannot run XCUITest framework-based tests in this + * mode.

              *
            • *
            • - *

              ERRORED.

              + *

              NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This + * mode has the fastest test execution speed. You can run XCUITest framework-based tests in this + * mode.

              *
            • *
            • - *

              STOPPED.

              + *

              VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest + * framework-based tests and watch the screen in this mode.

              *
            • *
            */ - result?: ExecutionResult | string; - - /** - *

            When set to true, for private devices, Device Farm does not sign your app again. For public - * devices, Device Farm always signs your apps again.

            - *

            For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device - * Farm FAQs.

            - */ - skipAppResign?: boolean; - - /** - *

            The endpoint for the remote access sesssion.

            - */ - endpoint?: string; + interactionMode?: InteractionMode | string; /** - *

            The date and time the remote access session was started.

            + *

            The date and time the remote access session was stopped.

            */ - started?: Date; + stopped?: Date; /** - *

            The date and time the remote access session was created.

            + *

            The name of the remote access session.

            */ - created?: Date; + name?: string; /** *

            This flag is set to true if remote debugging is enabled for the remote @@ -1526,30 +1509,11 @@ export interface RemoteAccessSession { */ remoteDebugEnabled?: boolean; - /** - *

            The number of minutes a device is used in a remote access session (including setup - * and teardown minutes).

            - */ - deviceMinutes?: DeviceMinutes; - /** *

            The ARN for the app to be recorded in the remote access session.

            */ remoteRecordAppArn?: string; - /** - *

            A message about the remote access session.

            - */ - message?: string; - - /** - *

            Unique identifier of your client for the remote access session. Only returned if - * remote debugging is enabled for the remote access session.

            - *

            Remote debugging is no - * longer supported.

            - */ - clientId?: string; - /** *

            The status of the remote access session. Can be any of the following:

            *
              @@ -1584,6 +1548,11 @@ export interface RemoteAccessSession { */ status?: ExecutionStatus | string; + /** + *

              The ARN of the instance.

              + */ + instanceArn?: string; + /** *

              The billing method of the remote access session. Possible values include METERED or * UNMETERED. For more information about metered devices, see AWS Device Farm @@ -1592,45 +1561,33 @@ export interface RemoteAccessSession { billingMethod?: BillingMethod | string; /** - *

              The date and time the remote access session was stopped.

              + *

              The date and time the remote access session was created.

              */ - stopped?: Date; + created?: Date; /** - *

              The interaction mode of the remote access session. Valid values are:

              - *
                - *
              • - *

                INTERACTIVE: You can interact with the iOS device by viewing, touching, and - * rotating the screen. You cannot run XCUITest framework-based tests in this - * mode.

                - *
              • - *
              • - *

                NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This - * mode has the fastest test execution speed. You can run XCUITest framework-based tests in this - * mode.

                - *
              • - *
              • - *

                VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest - * framework-based tests and watch the screen in this mode.

                - *
              • - *
              + *

              This flag is set to true if remote recording is enabled for the remote + * access session.

              */ - interactionMode?: InteractionMode | string; + remoteRecordEnabled?: boolean; /** - *

              The device (phone or tablet) used in the remote access session.

              + *

              The endpoint for the remote access sesssion.

              */ - device?: Device; + endpoint?: string; /** - *

              The name of the remote access session.

              + *

              The device (phone or tablet) used in the remote access session.

              */ - name?: string; + device?: Device; /** - *

              The Amazon Resource Name (ARN) of the remote access session.

              + *

              Unique device identifier for the remote device. Only returned if remote debugging + * is enabled for the remote access session.

              + *

              Remote debugging is no + * longer supported.

              */ - arn?: string; + deviceUdid?: string; /** *

              IP address of the EC2 host where you need to connect to remotely debug devices. @@ -1641,10 +1598,53 @@ export interface RemoteAccessSession { hostAddress?: string; /** - *

              This flag is set to true if remote recording is enabled for the remote - * access session.

              + *

              When set to true, for private devices, Device Farm does not sign your app again. For public + * devices, Device Farm always signs your apps again.

              + *

              For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device + * Farm FAQs.

              */ - remoteRecordEnabled?: boolean; + skipAppResign?: boolean; + + /** + *

              The date and time the remote access session was started.

              + */ + started?: Date; + + /** + *

              Unique identifier of your client for the remote access session. Only returned if + * remote debugging is enabled for the remote access session.

              + *

              Remote debugging is no + * longer supported.

              + */ + clientId?: string; + + /** + *

              The result of the remote access session. Can be any of the following:

              + *
                + *
              • + *

                PENDING.

                + *
              • + *
              • + *

                PASSED.

                + *
              • + *
              • + *

                WARNED.

                + *
              • + *
              • + *

                FAILED.

                + *
              • + *
              • + *

                SKIPPED.

                + *
              • + *
              • + *

                ERRORED.

                + *
              • + *
              • + *

                STOPPED.

                + *
              • + *
              + */ + result?: ExecutionResult | string; } export namespace RemoteAccessSession { @@ -1673,14 +1673,14 @@ export namespace CreateRemoteAccessSessionResult { export interface CreateTestGridProjectRequest { /** - *

              Human-readable name of the Selenium testing project.

              + *

              Human-readable description of the project.

              */ - name: string | undefined; + description?: string; /** - *

              Human-readable description of the project.

              + *

              Human-readable name of the Selenium testing project.

              */ - description?: string; + name: string | undefined; } export namespace CreateTestGridProjectRequest { @@ -1694,24 +1694,24 @@ export namespace CreateTestGridProjectRequest { */ export interface TestGridProject { /** - *

              A human-readable description for the project.

              + *

              When the project was created.

              */ - description?: string; + created?: Date; /** - *

              A human-readable name for the project.

              + *

              A human-readable description for the project.

              */ - name?: string; + description?: string; /** - *

              When the project was created.

              + *

              The ARN for the project.

              */ - created?: Date; + arn?: string; /** - *

              The ARN for the project.

              + *

              A human-readable name for the project.

              */ - arn?: string; + name?: string; } export namespace TestGridProject { @@ -1769,16 +1769,16 @@ export namespace CreateTestGridUrlRequest { } export interface CreateTestGridUrlResult { - /** - *

              The number of seconds the URL from CreateTestGridUrlResult$url stays active.

              - */ - expires?: Date; - /** *

              A signed URL, expiring in CreateTestGridUrlRequest$expiresInSeconds seconds, to be passed * to a RemoteWebDriver.

              */ url?: string; + + /** + *

              The number of seconds the URL from CreateTestGridUrlResult$url stays active.

              + */ + expires?: Date; } export namespace CreateTestGridUrlResult { @@ -1826,6 +1826,14 @@ export enum UploadType { *

              Represents a request to the create upload operation.

              */ export interface CreateUploadRequest { + /** + *

              The upload's file name. The name should not contain any forward slashes (/). If you are + * uploading an iOS app, the file name must end with the .ipa extension. If you are uploading an + * Android app, the file name must end with the .apk extension. For all others, the file name must + * end with the .zip file extension.

              + */ + name: string | undefined; + /** *

              The ARN of the project for the upload.

              */ @@ -1941,15 +1949,7 @@ export interface CreateUploadRequest { *

              The upload's content type (for example, application/octet-stream).

              */ contentType?: string; - - /** - *

              The upload's file name. The name should not contain any forward slashes (/). If you are - * uploading an iOS app, the file name must end with the .ipa extension. If you are uploading an - * Android app, the file name must end with the .apk extension. For all others, the file name must - * end with the .zip file extension.

              - */ - name: string | undefined; -} +} export namespace CreateUploadRequest { export const filterSensitiveLog = (obj: CreateUploadRequest): any => ({ @@ -1975,27 +1975,9 @@ export enum UploadStatus { */ export interface Upload { /** - *

              A message about the upload's result.

              - */ - message?: string; - - /** - *

              The presigned Amazon S3 URL that was used to store a file using a PUT request.

              - */ - url?: string; - - /** - *

              The upload's category. Allowed values include:

              - *
                - *
              • - *

                CURATED: An upload managed by AWS Device Farm.

                - *
              • - *
              • - *

                PRIVATE: An upload managed by the AWS Device Farm customer.

                - *
              • - *
              + *

              The upload's file name.

              */ - category?: UploadCategory | string; + name?: string; /** *

              When the upload was created.

              @@ -2003,29 +1985,16 @@ export interface Upload { created?: Date; /** - *

              The upload's content type (for example, application/octet-stream).

              + *

              The upload's ARN.

              */ - contentType?: string; + arn?: string; /** - *

              The upload's status.

              - *

              Must be one of the following values:

              - *
                - *
              • - *

                FAILED

                - *
              • - *
              • - *

                INITIALIZED

                - *
              • - *
              • - *

                PROCESSING

                - *
              • - *
              • - *

                SUCCEEDED

                - *
              • - *
              + *

              The upload's metadata. For example, for Android, this contains information that is + * parsed from the manifest and is displayed in the AWS Device Farm console after the + * associated app is uploaded.

              */ - status?: UploadStatus | string; + metadata?: string; /** *

              The upload's type.

              @@ -2132,21 +2101,52 @@ export interface Upload { type?: UploadType | string; /** - *

              The upload's metadata. For example, for Android, this contains information that is - * parsed from the manifest and is displayed in the AWS Device Farm console after the - * associated app is uploaded.

              + *

              The upload's status.

              + *

              Must be one of the following values:

              + *
                + *
              • + *

                FAILED

                + *
              • + *
              • + *

                INITIALIZED

                + *
              • + *
              • + *

                PROCESSING

                + *
              • + *
              • + *

                SUCCEEDED

                + *
              • + *
              */ - metadata?: string; + status?: UploadStatus | string; /** - *

              The upload's ARN.

              + *

              A message about the upload's result.

              */ - arn?: string; + message?: string; /** - *

              The upload's file name.

              + *

              The upload's category. Allowed values include:

              + *
                + *
              • + *

                CURATED: An upload managed by AWS Device Farm.

                + *
              • + *
              • + *

                PRIVATE: An upload managed by the AWS Device Farm customer.

                + *
              • + *
              */ - name?: string; + category?: UploadCategory | string; + + /** + *

              The upload's content type (for example, application/octet-stream).

              + */ + contentType?: string; + + /** + *

              The presigned Amazon S3 URL that was used to store a file using a PUT request.

              + */ + url?: string; } export namespace Upload { @@ -2177,17 +2177,17 @@ export interface CreateVPCEConfigurationRequest { */ vpceConfigurationDescription?: string; - /** - *

              The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

              - */ - vpceServiceName: string | undefined; - /** *

              The DNS name of the service running in your VPC that you want Device Farm to * test.

              */ serviceDnsName: string | undefined; + /** + *

              The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

              + */ + vpceServiceName: string | undefined; + /** *

              The friendly name you give to your VPC endpoint configuration, to manage your * configurations more easily.

              @@ -2206,21 +2206,15 @@ export namespace CreateVPCEConfigurationRequest { */ export interface VPCEConfiguration { /** - *

              The DNS name that maps to the private IP address of the service you want to - * access.

              + *

              The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

              */ - serviceDnsName?: string; + vpceServiceName?: string; /** *

              The Amazon Resource Name (ARN) of the VPC endpoint configuration.

              */ arn?: string; - /** - *

              An optional description that provides details about your VPC endpoint configuration.

              - */ - vpceConfigurationDescription?: string; - /** *

              The friendly name you give to your VPC endpoint configuration to manage your configurations more * easily.

              @@ -2228,9 +2222,15 @@ export interface VPCEConfiguration { vpceConfigurationName?: string; /** - *

              The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

              + *

              The DNS name that maps to the private IP address of the service you want to + * access.

              */ - vpceServiceName?: string; + serviceDnsName?: string; + + /** + *

              An optional description that provides details about your VPC endpoint configuration.

              + */ + vpceConfigurationDescription?: string; } export namespace VPCEConfiguration { @@ -2265,18 +2265,18 @@ export enum CurrencyCode { * androidPaths.

              */ export interface CustomerArtifactPaths { - /** - *

              Comma-separated list of paths on the Android device where the artifacts generated by the customer's - * tests are pulled from.

              - */ - androidPaths?: string[]; - /** *

              Comma-separated list of paths in the test execution environment where the artifacts generated by the * customer's tests are pulled from.

              */ deviceHostPaths?: string[]; + /** + *

              Comma-separated list of paths on the Android device where the artifacts generated by the customer's + * tests are pulled from.

              + */ + androidPaths?: string[]; + /** *

              Comma-separated list of paths on the iOS device where the artifacts generated by the customer's tests * are pulled from.

              @@ -2655,14 +2655,14 @@ export namespace GetDevicePoolResult { */ export interface Location { /** - *

              The longitude.

              + *

              The latitude.

              */ - longitude: number | undefined; + latitude: number | undefined; /** - *

              The latitude.

              + *

              The longitude.

              */ - latitude: number | undefined; + longitude: number | undefined; } export namespace Location { @@ -2677,9 +2677,9 @@ export namespace Location { */ export interface Radios { /** - *

              True if GPS is enabled at the beginning of the test. Otherwise, false.

              + *

              True if Bluetooth is enabled at the beginning of the test. Otherwise, false.

              */ - gps?: boolean; + bluetooth?: boolean; /** *

              True if NFC is enabled at the beginning of the test. Otherwise, false.

              @@ -2692,9 +2692,9 @@ export interface Radios { wifi?: boolean; /** - *

              True if Bluetooth is enabled at the beginning of the test. Otherwise, false.

              + *

              True if GPS is enabled at the beginning of the test. Otherwise, false.

              */ - bluetooth?: boolean; + gps?: boolean; } export namespace Radios { @@ -2709,32 +2709,14 @@ export namespace Radios { */ export interface ScheduleRunConfiguration { /** - *

              Specifies the billing method for a test run: metered or - * unmetered. If the parameter is not specified, the default value is - * metered.

              - * - *

              If you have purchased unmetered device slots, you must set this parameter to unmetered to - * make use of them. Otherwise, your run counts against your metered time.

              - *
              - */ - billingMethod?: BillingMethod | string; - - /** - *

              Input CustomerArtifactPaths object for the scheduled run - * configuration.

              - */ - customerArtifactPaths?: CustomerArtifactPaths; - - /** - *

              Information about the locale that is used for the run.

              + *

              Information about the radio states for the run.

              */ - locale?: string; + radios?: Radios; /** - *

              The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm extracts to - * external data for Android or the app's sandbox for iOS.

              + *

              Reserved for internal use.

              */ - extraDataPackageArn?: string; + networkProfileArn?: string; /** *

              Information about the location that is used for the run.

              @@ -2752,14 +2734,32 @@ export interface ScheduleRunConfiguration { vpceConfigurationArns?: string[]; /** - *

              Information about the radio states for the run.

              + *

              Specifies the billing method for a test run: metered or + * unmetered. If the parameter is not specified, the default value is + * metered.

              + * + *

              If you have purchased unmetered device slots, you must set this parameter to unmetered to + * make use of them. Otherwise, your run counts against your metered time.

              + *
              */ - radios?: Radios; + billingMethod?: BillingMethod | string; /** - *

              Reserved for internal use.

              + *

              The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm extracts to + * external data for Android or the app's sandbox for iOS.

              */ - networkProfileArn?: string; + extraDataPackageArn?: string; + + /** + *

              Information about the locale that is used for the run.

              + */ + locale?: string; + + /** + *

              Input CustomerArtifactPaths object for the scheduled run + * configuration.

              + */ + customerArtifactPaths?: CustomerArtifactPaths; } export namespace ScheduleRunConfiguration { @@ -2797,6 +2797,21 @@ export enum TestType { * example of the JSON request syntax, see ScheduleRun.

              */ export interface ScheduleRunTest { + /** + *

              The ARN of the YAML-formatted test specification.

              + */ + testSpecArn?: string; + + /** + *

              The test's filter.

              + */ + filter?: string; + + /** + *

              The ARN of the uploaded test to be run.

              + */ + testPackageArn?: string; + /** *

              The test's parameters, such as test framework parameters and fixture settings. * Parameters are represented by name-value pairs of strings.

              @@ -2999,21 +3014,6 @@ export interface ScheduleRunTest { *
            */ type: TestType | string | undefined; - - /** - *

            The ARN of the uploaded test to be run.

            - */ - testPackageArn?: string; - - /** - *

            The ARN of the YAML-formatted test specification.

            - */ - testSpecArn?: string; - - /** - *

            The test's filter.

            - */ - filter?: string; } export namespace ScheduleRunTest { @@ -3026,21 +3026,6 @@ export namespace ScheduleRunTest { *

            Represents a request to the get device pool compatibility operation.

            */ export interface GetDevicePoolCompatibilityRequest { - /** - *

            Information about the uploaded test to be run against the device pool.

            - */ - test?: ScheduleRunTest; - - /** - *

            The device pool's ARN.

            - */ - devicePoolArn: string | undefined; - - /** - *

            An object that contains information about the settings for a run.

            - */ - configuration?: ScheduleRunConfiguration; - /** *

            The ARN of the app that is associated with the specified device pool.

            */ @@ -3108,10 +3093,25 @@ export interface GetDevicePoolCompatibilityRequest { * */ testType?: TestType | string; -} -export namespace GetDevicePoolCompatibilityRequest { - export const filterSensitiveLog = (obj: GetDevicePoolCompatibilityRequest): any => ({ + /** + *

            The device pool's ARN.

            + */ + devicePoolArn: string | undefined; + + /** + *

            An object that contains information about the settings for a run.

            + */ + configuration?: ScheduleRunConfiguration; + + /** + *

            Information about the uploaded test to be run against the device pool.

            + */ + test?: ScheduleRunTest; +} + +export namespace GetDevicePoolCompatibilityRequest { + export const filterSensitiveLog = (obj: GetDevicePoolCompatibilityRequest): any => ({ ...obj, }); } @@ -3162,11 +3162,6 @@ export namespace IncompatibilityMessage { *

            Represents a device pool compatibility result.

            */ export interface DevicePoolCompatibilityResult { - /** - *

            The device (phone or tablet) to return information about.

            - */ - device?: Device; - /** *

            Information about the compatibility.

            */ @@ -3176,6 +3171,11 @@ export interface DevicePoolCompatibilityResult { *

            Whether the result was compatible with the device pool.

            */ compatible?: boolean; + + /** + *

            The device (phone or tablet) to return information about.

            + */ + device?: Device; } export namespace DevicePoolCompatibilityResult { @@ -3189,14 +3189,14 @@ export namespace DevicePoolCompatibilityResult { */ export interface GetDevicePoolCompatibilityResult { /** - *

            Information about incompatible devices.

            + *

            Information about compatible devices.

            */ - incompatibleDevices?: DevicePoolCompatibilityResult[]; + compatibleDevices?: DevicePoolCompatibilityResult[]; /** - *

            Information about compatible devices.

            + *

            Information about incompatible devices.

            */ - compatibleDevices?: DevicePoolCompatibilityResult[]; + incompatibleDevices?: DevicePoolCompatibilityResult[]; } export namespace GetDevicePoolCompatibilityResult { @@ -3251,80 +3251,6 @@ export namespace GetJobRequest { *

            Represents a device.

            */ export interface Job { - /** - *

            The job's ARN.

            - */ - arn?: string; - - /** - *

            Represents the total (metered or unmetered) minutes used by the job.

            - */ - deviceMinutes?: DeviceMinutes; - - /** - *

            A message about the job's result.

            - */ - message?: string; - - /** - *

            The job's stop time.

            - */ - stopped?: Date; - - /** - *

            The job's name.

            - */ - name?: string; - - /** - *

            The job's result counters.

            - */ - counters?: Counters; - - /** - *

            The job's start time.

            - */ - started?: Date; - - /** - *

            The job's result.

            - *

            Allowed values include:

            - *
              - *
            • - *

              PENDING

              - *
            • - *
            • - *

              PASSED

              - *
            • - *
            • - *

              WARNED

              - *
            • - *
            • - *

              FAILED

              - *
            • - *
            • - *

              SKIPPED

              - *
            • - *
            • - *

              ERRORED

              - *
            • - *
            • - *

              STOPPED

              - *
            • - *
            - */ - result?: ExecutionResult | string; - - /** - *

            The device (phone or tablet).

            - */ - device?: Device; - - /** - *

            The endpoint for streaming device video.

            - */ - videoEndpoint?: string; - /** *

            The job's status.

            *

            Allowed values include:

            @@ -3424,19 +3350,93 @@ export interface Job { type?: TestType | string; /** - *

            The ARN of the instance.

            + *

            The device (phone or tablet).

            */ - instanceArn?: string; + device?: Device; /** *

            This value is set to true if video capture is enabled. Otherwise, it is set to false.

            */ videoCapture?: boolean; + /** + *

            The job's result.

            + *

            Allowed values include:

            + *
              + *
            • + *

              PENDING

              + *
            • + *
            • + *

              PASSED

              + *
            • + *
            • + *

              WARNED

              + *
            • + *
            • + *

              FAILED

              + *
            • + *
            • + *

              SKIPPED

              + *
            • + *
            • + *

              ERRORED

              + *
            • + *
            • + *

              STOPPED

              + *
            • + *
            + */ + result?: ExecutionResult | string; + + /** + *

            A message about the job's result.

            + */ + message?: string; + + /** + *

            The endpoint for streaming device video.

            + */ + videoEndpoint?: string; + + /** + *

            The job's result counters.

            + */ + counters?: Counters; + + /** + *

            The job's start time.

            + */ + started?: Date; + + /** + *

            The job's name.

            + */ + name?: string; + + /** + *

            Represents the total (metered or unmetered) minutes used by the job.

            + */ + deviceMinutes?: DeviceMinutes; + /** *

            When the job was created.

            */ created?: Date; + + /** + *

            The ARN of the instance.

            + */ + instanceArn?: string; + + /** + *

            The job's ARN.

            + */ + arn?: string; + + /** + *

            The job's stop time.

            + */ + stopped?: Date; } export namespace Job { @@ -3535,14 +3535,14 @@ export enum RecurringChargeFrequency { */ export interface RecurringCharge { /** - *

            The cost of the recurring charge.

            + *

            The frequency in which charges recur.

            */ - cost?: MonetaryAmount; + frequency?: RecurringChargeFrequency | string; /** - *

            The frequency in which charges recur.

            + *

            The cost of the recurring charge.

            */ - frequency?: RecurringChargeFrequency | string; + cost?: MonetaryAmount; } export namespace RecurringCharge { @@ -3570,14 +3570,14 @@ export interface Offering { id?: string; /** - *

            The platform of the device (for example, ANDROID or IOS).

            + *

            A string that describes the offering.

            */ - platform?: DevicePlatform | string; + description?: string; /** - *

            A string that describes the offering.

            + *

            The platform of the device (for example, ANDROID or IOS).

            */ - description?: string; + platform?: DevicePlatform | string; /** *

            The type of offering (for example, RECURRING) for a device.

            @@ -3782,41 +3782,6 @@ export enum DeviceFilterAttribute { * ListDevices. For an example of the JSON request syntax, see ListDevices.

            */ export interface DeviceFilter { - /** - *

            An array of one or more filter values used in a device filter.

            - *

            - * Operator Values - *

            - *
              - *
            • - *

              The IN and NOT_IN operators can take a values array that has more than one - * element.

              - *
            • - *
            • - *

              The other operators require an array with a single element.

              - *
            • - *
            - *

            - * Attribute Values - *

            - *
              - *
            • - *

              The PLATFORM attribute can be set to ANDROID or IOS.

              - *
            • - *
            • - *

              The AVAILABILITY attribute can be set to AVAILABLE, HIGHLY_AVAILABLE, BUSY, or - * TEMPORARY_NOT_AVAILABLE.

              - *
            • - *
            • - *

              The FORM_FACTOR attribute can be set to PHONE or TABLET.

              - *
            • - *
            • - *

              The FLEET_TYPE attribute can be set to PUBLIC or PRIVATE.

              - *
            • - *
            - */ - values?: string[]; - /** *

            Specifies how Device Farm compares the filter's attribute to the value. See the attribute * descriptions.

            @@ -3914,23 +3879,58 @@ export interface DeviceFilter { * */ attribute?: DeviceFilterAttribute | string; -} - -export namespace DeviceFilter { - export const filterSensitiveLog = (obj: DeviceFilter): any => ({ - ...obj, - }); -} - -/** - *

            Contains the run results requested by the device selection configuration and how many devices were - * returned. For an example of the JSON response syntax, see ScheduleRun.

            - */ -export interface DeviceSelectionResult { - /** - *

            The number of devices that matched the device filter selection criteria.

            - */ - matchedDevicesCount?: number; + + /** + *

            An array of one or more filter values used in a device filter.

            + *

            + * Operator Values + *

            + *
              + *
            • + *

              The IN and NOT_IN operators can take a values array that has more than one + * element.

              + *
            • + *
            • + *

              The other operators require an array with a single element.

              + *
            • + *
            + *

            + * Attribute Values + *

            + *
              + *
            • + *

              The PLATFORM attribute can be set to ANDROID or IOS.

              + *
            • + *
            • + *

              The AVAILABILITY attribute can be set to AVAILABLE, HIGHLY_AVAILABLE, BUSY, or + * TEMPORARY_NOT_AVAILABLE.

              + *
            • + *
            • + *

              The FORM_FACTOR attribute can be set to PHONE or TABLET.

              + *
            • + *
            • + *

              The FLEET_TYPE attribute can be set to PUBLIC or PRIVATE.

              + *
            • + *
            + */ + values?: string[]; +} + +export namespace DeviceFilter { + export const filterSensitiveLog = (obj: DeviceFilter): any => ({ + ...obj, + }); +} + +/** + *

            Contains the run results requested by the device selection configuration and how many devices were + * returned. For an example of the JSON response syntax, see ScheduleRun.

            + */ +export interface DeviceSelectionResult { + /** + *

            The filters in a device selection result.

            + */ + filters?: DeviceFilter[]; /** *

            The maximum number of devices to be selected by a device filter and included in a test @@ -3939,9 +3939,9 @@ export interface DeviceSelectionResult { maxDevices?: number; /** - *

            The filters in a device selection result.

            + *

            The number of devices that matched the device filter selection criteria.

            */ - filters?: DeviceFilter[]; + matchedDevicesCount?: number; } export namespace DeviceSelectionResult { @@ -3961,29 +3961,24 @@ export enum ExecutionResultCode { */ export interface Run { /** - *

            The run's platform.

            - *

            Allowed values include:

            - *
              - *
            • - *

              ANDROID

              - *
            • - *
            • - *

              IOS

              - *
            • - *
            + *

            A message about the run's result.

            */ - platform?: DevicePlatform | string; + message?: string; /** - *

            For fuzz tests, this is the number of events, between 1 and 10000, that the UI fuzz - * test should perform.

            + *

            When the run was created.

            */ - eventCount?: number; + created?: Date; /** - *

            An app to upload or that has been uploaded.

            + *

            The run's ARN.

            */ - appUpload?: string; + arn?: string; + + /** + *

            Represents the total (metered or unmetered) minutes used by the test run.

            + */ + deviceMinutes?: DeviceMinutes; /** *

            Specifies the billing method for a test run: metered or @@ -3996,6 +3991,95 @@ export interface Run { */ billingMethod?: BillingMethod | string; + /** + *

            The run's status.

            + *

            Allowed values include:

            + *
              + *
            • + *

              PENDING

              + *
            • + *
            • + *

              PENDING_CONCURRENCY

              + *
            • + *
            • + *

              PENDING_DEVICE

              + *
            • + *
            • + *

              PROCESSING

              + *
            • + *
            • + *

              SCHEDULING

              + *
            • + *
            • + *

              PREPARING

              + *
            • + *
            • + *

              RUNNING

              + *
            • + *
            • + *

              COMPLETED

              + *
            • + *
            • + *

              STOPPING

              + *
            • + *
            + */ + status?: ExecutionStatus | string; + + /** + *

            Output CustomerArtifactPaths object for the test run.

            + */ + customerArtifactPaths?: CustomerArtifactPaths; + + /** + *

            The run's name.

            + */ + name?: string; + + /** + *

            The network profile being used for a test run.

            + */ + networkProfile?: NetworkProfile; + + /** + *

            The run's stop time.

            + */ + stopped?: Date; + + /** + *

            Information about the radio states for the run.

            + */ + radios?: Radios; + + /** + *

            The number of minutes the job executes before it times out.

            + */ + jobTimeoutMinutes?: number; + + /** + *

            The ARN of the device pool for the run.

            + */ + devicePoolArn?: string; + + /** + *

            The run's platform.

            + *

            Allowed values include:

            + *
              + *
            • + *

              ANDROID

              + *
            • + *
            • + *

              IOS

              + *
            • + *
            + */ + platform?: DevicePlatform | string; + + /** + *

            Information about the locale that is used for the run.

            + */ + locale?: string; + /** *

            The run's type.

            *

            Must be one of the following values:

            @@ -4062,52 +4146,6 @@ export interface Run { */ type?: TestType | string; - /** - *

            The run's ARN.

            - */ - arn?: string; - - /** - *

            The ARN of the device pool for the run.

            - */ - devicePoolArn?: string; - - /** - *

            A message about the run's result.

            - */ - message?: string; - - /** - *

            Output CustomerArtifactPaths object for the test run.

            - */ - customerArtifactPaths?: CustomerArtifactPaths; - - /** - *

            Information about the locale that is used for the run.

            - */ - locale?: string; - - /** - *

            The run's start time.

            - */ - started?: Date; - - /** - *

            For fuzz tests, this is a seed to use for randomizing the UI fuzz test. Using the same - * seed value between tests ensures identical event sequences.

            - */ - seed?: number; - - /** - *

            The number of minutes the job executes before it times out.

            - */ - jobTimeoutMinutes?: number; - - /** - *

            Information about the radio states for the run.

            - */ - radios?: Radios; - /** *

            The run's result.

            *

            Allowed values include:

            @@ -4138,86 +4176,63 @@ export interface Run { result?: ExecutionResult | string; /** - *

            The ARN of the YAML-formatted test specification for the run.

            + *

            The run's start time.

            */ - testSpecArn?: string; + started?: Date; /** - *

            The results of a device filter used to select the devices for a test run.

            + *

            For fuzz tests, this is a seed to use for randomizing the UI fuzz test. Using the same + * seed value between tests ensures identical event sequences.

            */ - deviceSelectionResult?: DeviceSelectionResult; + seed?: number; /** - *

            The total number of completed jobs.

            + *

            For fuzz tests, this is the number of events, between 1 and 10000, that the UI fuzz + * test should perform.

            */ - completedJobs?: number; + eventCount?: number; /** - *

            The run's name.

            + *

            Read-only URL for an object in an S3 bucket where you can get the parsing results of the test package. + * If the test package doesn't parse, the reason why it doesn't parse appears in the file that this URL points + * to.

            */ - name?: string; + parsingResultUrl?: string; /** - *

            The network profile being used for a test run.

            + *

            The total number of completed jobs.

            */ - networkProfile?: NetworkProfile; + completedJobs?: number; /** - *

            Represents the total (metered or unmetered) minutes used by the test run.

            + *

            The Device Farm console URL for the recording of the run.

            */ - deviceMinutes?: DeviceMinutes; + webUrl?: string; /** - *

            When the run was created.

            + *

            An app to upload or that has been uploaded.

            */ - created?: Date; + appUpload?: string; /** - *

            The run's stop time.

            + *

            The ARN of the YAML-formatted test specification for the run.

            */ - stopped?: Date; + testSpecArn?: string; /** - *

            Read-only URL for an object in an S3 bucket where you can get the parsing results of the test package. - * If the test package doesn't parse, the reason why it doesn't parse appears in the file that this URL points - * to.

            + *

            The results of a device filter used to select the devices for a test run.

            */ - parsingResultUrl?: string; + deviceSelectionResult?: DeviceSelectionResult; /** - *

            The run's status.

            - *

            Allowed values include:

            - *
              - *
            • - *

              PENDING

              - *
            • - *
            • - *

              PENDING_CONCURRENCY

              - *
            • - *
            • - *

              PENDING_DEVICE

              - *
            • - *
            • - *

              PROCESSING

              - *
            • - *
            • - *

              SCHEDULING

              - *
            • - *
            • - *

              PREPARING

              - *
            • - *
            • - *

              RUNNING

              - *
            • - *
            • - *

              COMPLETED

              - *
            • - *
            • - *

              STOPPING

              - *
            • - *
            + *

            Information about the location that is used for the run.

            */ - status?: ExecutionStatus | string; + location?: Location; + + /** + *

            The run's result counters.

            + */ + counters?: Counters; /** *

            When set to true, for private devices, Device Farm does not sign your app again. For public @@ -4227,11 +4242,6 @@ export interface Run { */ skipAppResign?: boolean; - /** - *

            The total number of jobs for the run.

            - */ - totalJobs?: number; - /** *

            Supporting field for the result field. Set only if result is SKIPPED. * PARSING_FAILED if the result is skipped because of test package parsing failure.

            @@ -4239,19 +4249,9 @@ export interface Run { resultCode?: ExecutionResultCode | string; /** - *

            Information about the location that is used for the run.

            - */ - location?: Location; - - /** - *

            The run's result counters.

            - */ - counters?: Counters; - - /** - *

            The Device Farm console URL for the recording of the run.

            + *

            The total number of jobs for the run.

            */ - webUrl?: string; + totalJobs?: number; } export namespace Run { @@ -4295,61 +4295,16 @@ export namespace GetSuiteRequest { /** *

            Represents a collection of one or more tests.

            */ -export interface Suite { - /** - *

            A message about the suite's result.

            - */ - message?: string; - - /** - *

            The suite's ARN.

            - */ - arn?: string; - - /** - *

            Represents the total (metered or unmetered) minutes used by the test - * suite.

            - */ - deviceMinutes?: DeviceMinutes; - - /** - *

            When the suite was created.

            - */ - created?: Date; - +export interface Suite { /** - *

            The suite's stop time.

            + *

            The suite's start time.

            */ - stopped?: Date; + started?: Date; /** - *

            The suite's result.

            - *

            Allowed values include:

            - *
              - *
            • - *

              PENDING

              - *
            • - *
            • - *

              PASSED

              - *
            • - *
            • - *

              WARNED

              - *
            • - *
            • - *

              FAILED

              - *
            • - *
            • - *

              SKIPPED

              - *
            • - *
            • - *

              ERRORED

              - *
            • - *
            • - *

              STOPPED

              - *
            • - *
            + *

            The suite's result counters.

            */ - result?: ExecutionResult | string; + counters?: Counters; /** *

            The suite's type.

            @@ -4417,11 +4372,6 @@ export interface Suite { */ type?: TestType | string; - /** - *

            The suite's result counters.

            - */ - counters?: Counters; - /** *

            The suite's status.

            *

            Allowed values include:

            @@ -4458,14 +4408,64 @@ export interface Suite { status?: ExecutionStatus | string; /** - *

            The suite's start time.

            + *

            The suite's stop time.

            */ - started?: Date; + stopped?: Date; /** *

            The suite's name.

            */ name?: string; + + /** + *

            The suite's ARN.

            + */ + arn?: string; + + /** + *

            The suite's result.

            + *

            Allowed values include:

            + *
              + *
            • + *

              PENDING

              + *
            • + *
            • + *

              PASSED

              + *
            • + *
            • + *

              WARNED

              + *
            • + *
            • + *

              FAILED

              + *
            • + *
            • + *

              SKIPPED

              + *
            • + *
            • + *

              ERRORED

              + *
            • + *
            • + *

              STOPPED

              + *
            • + *
            + */ + result?: ExecutionResult | string; + + /** + *

            A message about the suite's result.

            + */ + message?: string; + + /** + *

            Represents the total (metered or unmetered) minutes used by the test + * suite.

            + */ + deviceMinutes?: DeviceMinutes; + + /** + *

            When the suite was created.

            + */ + created?: Date; } export namespace Suite { @@ -4510,61 +4510,6 @@ export namespace GetTestRequest { *

            Represents a condition that is evaluated.

            */ export interface Test { - /** - *

            The test's start time.

            - */ - started?: Date; - - /** - *

            The test's status.

            - *

            Allowed values include:

            - *
              - *
            • - *

              PENDING

              - *
            • - *
            • - *

              PENDING_CONCURRENCY

              - *
            • - *
            • - *

              PENDING_DEVICE

              - *
            • - *
            • - *

              PROCESSING

              - *
            • - *
            • - *

              SCHEDULING

              - *
            • - *
            • - *

              PREPARING

              - *
            • - *
            • - *

              RUNNING

              - *
            • - *
            • - *

              COMPLETED

              - *
            • - *
            • - *

              STOPPING

              - *
            • - *
            - */ - status?: ExecutionStatus | string; - - /** - *

            The test's name.

            - */ - name?: string; - - /** - *

            When the test was created.

            - */ - created?: Date; - - /** - *

            The test's result counters.

            - */ - counters?: Counters; - /** *

            The test's result.

            *

            Allowed values include:

            @@ -4595,19 +4540,24 @@ export interface Test { result?: ExecutionResult | string; /** - *

            The test's stop time.

            + *

            The test's result counters.

            */ - stopped?: Date; + counters?: Counters; /** - *

            Represents the total (metered or unmetered) minutes used by the test.

            + *

            The test's start time.

            */ - deviceMinutes?: DeviceMinutes; + started?: Date; /** - *

            The test's ARN.

            + *

            The test's stop time.

            */ - arn?: string; + stopped?: Date; + + /** + *

            A message about the test's result.

            + */ + message?: string; /** *

            The test's type.

            @@ -4676,9 +4626,59 @@ export interface Test { type?: TestType | string; /** - *

            A message about the test's result.

            + *

            The test's name.

            */ - message?: string; + name?: string; + + /** + *

            The test's ARN.

            + */ + arn?: string; + + /** + *

            The test's status.

            + *

            Allowed values include:

            + *
              + *
            • + *

              PENDING

              + *
            • + *
            • + *

              PENDING_CONCURRENCY

              + *
            • + *
            • + *

              PENDING_DEVICE

              + *
            • + *
            • + *

              PROCESSING

              + *
            • + *
            • + *

              SCHEDULING

              + *
            • + *
            • + *

              PREPARING

              + *
            • + *
            • + *

              RUNNING

              + *
            • + *
            • + *

              COMPLETED

              + *
            • + *
            • + *

              STOPPING

              + *
            • + *
            + */ + status?: ExecutionStatus | string; + + /** + *

            When the test was created.

            + */ + created?: Date; + + /** + *

            Represents the total (metered or unmetered) minutes used by the test.

            + */ + deviceMinutes?: DeviceMinutes; } export namespace Test { @@ -4731,14 +4731,14 @@ export namespace GetTestGridProjectResult { export interface GetTestGridSessionRequest { /** - *

            An ARN that uniquely identifies a TestGridSession.

            + *

            The ARN for the project that this session belongs to. See CreateTestGridProject and ListTestGridProjects.

            */ - sessionArn?: string; + projectArn?: string; /** - *

            The ARN for the project that this session belongs to. See CreateTestGridProject and ListTestGridProjects.

            + *

            An ARN that uniquely identifies a TestGridSession.

            */ - projectArn?: string; + sessionArn?: string; /** *

            An ID associated with this session.

            @@ -4764,34 +4764,34 @@ export enum TestGridSessionStatus { */ export interface TestGridSession { /** - *

            The time that the session was started.

            + *

            The state of the session.

            */ - created?: Date; + status?: TestGridSessionStatus | string; /** - *

            The time the session ended.

            + *

            The number of billed minutes that were used for this session.

            */ - ended?: Date; + billingMinutes?: number; /** - *

            The ARN of the session.

            + *

            The time that the session was started.

            */ - arn?: string; + created?: Date; /** - *

            The state of the session.

            + *

            A JSON object of options and parameters passed to the Selenium WebDriver.

            */ - status?: TestGridSessionStatus | string; + seleniumProperties?: string; /** - *

            A JSON object of options and parameters passed to the Selenium WebDriver.

            + *

            The ARN of the session.

            */ - seleniumProperties?: string; + arn?: string; /** - *

            The number of billed minutes that were used for this session.

            + *

            The time the session ended.

            */ - billingMinutes?: number; + ended?: Date; } export namespace TestGridSession { @@ -4877,17 +4877,17 @@ export namespace GetVPCEConfigurationResult { *

            Represents the request to install an Android application (in .apk format) or an iOS * application (in .ipa format) as part of a remote access session.

            */ -export interface InstallToRemoteAccessSessionRequest { - /** - *

            The ARN of the app about which you are requesting information.

            - */ - appArn: string | undefined; - +export interface InstallToRemoteAccessSessionRequest { /** *

            The Amazon Resource Name (ARN) of the remote access session about which you are * requesting information.

            */ remoteAccessSessionArn: string | undefined; + + /** + *

            The ARN of the app about which you are requesting information.

            + */ + appArn: string | undefined; } export namespace InstallToRemoteAccessSessionRequest { @@ -4917,17 +4917,17 @@ export namespace InstallToRemoteAccessSessionResult { *

            Represents a request to the list artifacts operation.

            */ export interface ListArtifactsRequest { - /** - *

            The run, job, suite, or test ARN.

            - */ - arn: string | undefined; - /** *

            An identifier that was returned from the previous call to this operation, which can * be used to return the next set of items in the list.

            */ nextToken?: string; + /** + *

            The run, job, suite, or test ARN.

            + */ + arn: string | undefined; + /** *

            The artifacts' type.

            *

            Allowed values include:

            @@ -4956,17 +4956,17 @@ export namespace ListArtifactsRequest { *

            Represents the result of a list artifacts operation.

            */ export interface ListArtifactsResult { - /** - *

            Information about the artifacts.

            - */ - artifacts?: Artifact[]; - /** *

            If the number of items that are returned is significantly large, this is an identifier that is also * returned. It can be used in a subsequent call to this operation to return the next set of items in the * list.

            */ nextToken?: string; + + /** + *

            Information about the artifacts.

            + */ + artifacts?: Artifact[]; } export namespace ListArtifactsResult { @@ -4977,15 +4977,15 @@ export namespace ListArtifactsResult { export interface ListDeviceInstancesRequest { /** - *

            An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

            + *

            An integer that specifies the maximum number of items you want to return in the API response.

            */ - nextToken?: string; + maxResults?: number; /** - *

            An integer that specifies the maximum number of items you want to return in the API response.

            + *

            An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

            */ - maxResults?: number; + nextToken?: string; } export namespace ListDeviceInstancesRequest { @@ -4995,16 +4995,16 @@ export namespace ListDeviceInstancesRequest { } export interface ListDeviceInstancesResult { - /** - *

            An object that contains information about your device instances.

            - */ - deviceInstances?: DeviceInstance[]; - /** *

            An identifier that can be used in the next call to this operation to return the next * set of items in the list.

            */ nextToken?: string; + + /** + *

            An object that contains information about your device instances.

            + */ + deviceInstances?: DeviceInstance[]; } export namespace ListDeviceInstancesResult { @@ -5017,6 +5017,11 @@ export namespace ListDeviceInstancesResult { *

            Represents the result of a list device pools request.

            */ export interface ListDevicePoolsRequest { + /** + *

            The project ARN.

            + */ + arn: string | undefined; + /** *

            The device pools' type.

            *

            Allowed values include:

            @@ -5033,11 +5038,6 @@ export interface ListDevicePoolsRequest { */ type?: DevicePoolType | string; - /** - *

            The project ARN.

            - */ - arn: string | undefined; - /** *

            An identifier that was returned from the previous call to this operation, which can * be used to return the next set of items in the list.

            @@ -5078,12 +5078,6 @@ export namespace ListDevicePoolsResult { *

            Represents the result of a list devices request.

            */ export interface ListDevicesRequest { - /** - *

            An identifier that was returned from the previous call to this operation, which can - * be used to return the next set of items in the list.

            - */ - nextToken?: string; - /** *

            The Amazon Resource Name (ARN) of the project.

            */ @@ -5183,6 +5177,12 @@ export interface ListDevicesRequest { * */ filters?: DeviceFilter[]; + + /** + *

            An identifier that was returned from the previous call to this operation, which can + * be used to return the next set of items in the list.

            + */ + nextToken?: string; } export namespace ListDevicesRequest { @@ -5195,17 +5195,17 @@ export namespace ListDevicesRequest { *

            Represents the result of a list devices operation.

            */ export interface ListDevicesResult { + /** + *

            Information about the devices.

            + */ + devices?: Device[]; + /** *

            If the number of items that are returned is significantly large, this is an identifier that is also * returned. It can be used in a subsequent call to this operation to return the next set of items in the * list.

            */ nextToken?: string; - - /** - *

            Information about the devices.

            - */ - devices?: Device[]; } export namespace ListDevicesResult { @@ -5215,16 +5215,16 @@ export namespace ListDevicesResult { } export interface ListInstanceProfilesRequest { - /** - *

            An integer that specifies the maximum number of items you want to return in the API response.

            - */ - maxResults?: number; - /** *

            An identifier that was returned from the previous call to this operation, which can be * used to return the next set of items in the list.

            */ nextToken?: string; + + /** + *

            An integer that specifies the maximum number of items you want to return in the API response.

            + */ + maxResults?: number; } export namespace ListInstanceProfilesRequest { @@ -5257,15 +5257,15 @@ export namespace ListInstanceProfilesResult { */ export interface ListJobsRequest { /** - *

            An identifier that was returned from the previous call to this operation, which can - * be used to return the next set of items in the list.

            + *

            The run's Amazon Resource Name (ARN).

            */ - nextToken?: string; + arn: string | undefined; /** - *

            The run's Amazon Resource Name (ARN).

            + *

            An identifier that was returned from the previous call to this operation, which can + * be used to return the next set of items in the list.

            */ - arn: string | undefined; + nextToken?: string; } export namespace ListJobsRequest { @@ -5299,9 +5299,10 @@ export namespace ListJobsResult { export interface ListNetworkProfilesRequest { /** - *

            The type of network profile to return information about. Valid values are listed here.

            + *

            The Amazon Resource Name (ARN) of the project for which you want to list network + * profiles.

            */ - type?: NetworkProfileType | string; + arn: string | undefined; /** *

            An identifier that was returned from the previous call to this operation, which can @@ -5310,10 +5311,9 @@ export interface ListNetworkProfilesRequest { nextToken?: string; /** - *

            The Amazon Resource Name (ARN) of the project for which you want to list network - * profiles.

            + *

            The type of network profile to return information about. Valid values are listed here.

            */ - arn: string | undefined; + type?: NetworkProfileType | string; } export namespace ListNetworkProfilesRequest { @@ -5323,16 +5323,16 @@ export namespace ListNetworkProfilesRequest { } export interface ListNetworkProfilesResult { - /** - *

            A list of the available network profiles.

            - */ - networkProfiles?: NetworkProfile[]; - /** *

            An identifier that was returned from the previous call to this operation, which can * be used to return the next set of items in the list.

            */ nextToken?: string; + + /** + *

            A list of the available network profiles.

            + */ + networkProfiles?: NetworkProfile[]; } export namespace ListNetworkProfilesResult { @@ -5360,14 +5360,14 @@ export namespace ListOfferingPromotionsRequest { */ export interface OfferingPromotion { /** - *

            A string that describes the offering promotion.

            + *

            The ID of the offering promotion.

            */ - description?: string; + id?: string; /** - *

            The ID of the offering promotion.

            + *

            A string that describes the offering promotion.

            */ - id?: string; + description?: string; } export namespace OfferingPromotion { @@ -5456,9 +5456,9 @@ export namespace ListOfferingTransactionsRequest { */ export interface OfferingTransaction { /** - *

            The status of an offering transaction.

            + *

            The transaction ID of the offering transaction.

            */ - offeringStatus?: OfferingStatus; + transactionId?: string; /** *

            The cost of an offering transaction.

            @@ -5471,14 +5471,14 @@ export interface OfferingTransaction { offeringPromotionId?: string; /** - *

            The transaction ID of the offering transaction.

            + *

            The date on which an offering transaction was created.

            */ - transactionId?: string; + createdOn?: Date; /** - *

            The date on which an offering transaction was created.

            + *

            The status of an offering transaction.

            */ - createdOn?: Date; + offeringStatus?: OfferingStatus; } export namespace OfferingTransaction { @@ -5514,18 +5514,18 @@ export namespace ListOfferingTransactionsResult { *

            Represents a request to the list projects operation.

            */ export interface ListProjectsRequest { - /** - *

            An identifier that was returned from the previous call to this operation, which can - * be used to return the next set of items in the list.

            - */ - nextToken?: string; - /** *

            Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device Farm * returns a list of all projects for the AWS account. You can also specify a project * ARN.

            */ arn?: string; + + /** + *

            An identifier that was returned from the previous call to this operation, which can + * be used to return the next set of items in the list.

            + */ + nextToken?: string; } export namespace ListProjectsRequest { @@ -5538,17 +5538,17 @@ export namespace ListProjectsRequest { *

            Represents the result of a list projects request.

            */ export interface ListProjectsResult { - /** - *

            Information about the projects.

            - */ - projects?: Project[]; - /** *

            If the number of items that are returned is significantly large, this is an identifier that is also * returned. It can be used in a subsequent call to this operation to return the next set of items in the * list.

            */ nextToken?: string; + + /** + *

            Information about the projects.

            + */ + projects?: Project[]; } export namespace ListProjectsResult { @@ -5562,17 +5562,17 @@ export namespace ListProjectsResult { * session.

            */ export interface ListRemoteAccessSessionsRequest { - /** - *

            An identifier that was returned from the previous call to this operation, which can - * be used to return the next set of items in the list.

            - */ - nextToken?: string; - /** *

            The Amazon Resource Name (ARN) of the project about which you are requesting * information.

            */ arn: string | undefined; + + /** + *

            An identifier that was returned from the previous call to this operation, which can + * be used to return the next set of items in the list.

            + */ + nextToken?: string; } export namespace ListRemoteAccessSessionsRequest { @@ -5586,17 +5586,17 @@ export namespace ListRemoteAccessSessionsRequest { * return information about the remote access session.

            */ export interface ListRemoteAccessSessionsResult { - /** - *

            A container that represents the metadata from the service about each remote access session you are - * requesting.

            - */ - remoteAccessSessions?: RemoteAccessSession[]; - /** *

            An identifier that was returned from the previous call to this operation, which can * be used to return the next set of items in the list.

            */ nextToken?: string; + + /** + *

            A container that represents the metadata from the service about each remote access session you are + * requesting.

            + */ + remoteAccessSessions?: RemoteAccessSession[]; } export namespace ListRemoteAccessSessionsResult { @@ -5609,17 +5609,17 @@ export namespace ListRemoteAccessSessionsResult { *

            Represents a request to the list runs operation.

            */ export interface ListRunsRequest { - /** - *

            The Amazon Resource Name (ARN) of the project for which you want to list - * runs.

            - */ - arn: string | undefined; - /** *

            An identifier that was returned from the previous call to this operation, which can * be used to return the next set of items in the list.

            */ nextToken?: string; + + /** + *

            The Amazon Resource Name (ARN) of the project for which you want to list + * runs.

            + */ + arn: string | undefined; } export namespace ListRunsRequest { @@ -5632,17 +5632,17 @@ export namespace ListRunsRequest { *

            Represents the result of a list runs request.

            */ export interface ListRunsResult { + /** + *

            Information about the runs.

            + */ + runs?: Run[]; + /** *

            If the number of items that are returned is significantly large, this is an identifier that is also * returned. It can be used in a subsequent call to this operation to return the next set of items in the * list.

            */ nextToken?: string; - - /** - *

            Information about the runs.

            - */ - runs?: Run[]; } export namespace ListRunsResult { @@ -5656,15 +5656,15 @@ export namespace ListRunsResult { */ export interface ListSamplesRequest { /** - *

            An identifier that was returned from the previous call to this operation, which can - * be used to return the next set of items in the list.

            + *

            The Amazon Resource Name (ARN) of the job used to list samples.

            */ - nextToken?: string; + arn: string | undefined; /** - *

            The Amazon Resource Name (ARN) of the job used to list samples.

            + *

            An identifier that was returned from the previous call to this operation, which can + * be used to return the next set of items in the list.

            */ - arn: string | undefined; + nextToken?: string; } export namespace ListSamplesRequest { @@ -5698,15 +5698,15 @@ export enum SampleType { */ export interface Sample { /** - *

            The presigned Amazon S3 URL that can be used with a GET request to download the sample's - * file.

            + *

            The sample's ARN.

            */ - url?: string; + arn?: string; /** - *

            The sample's ARN.

            + *

            The presigned Amazon S3 URL that can be used with a GET request to download the sample's + * file.

            */ - arn?: string; + url?: string; /** *

            The sample's type.

            @@ -5806,16 +5806,16 @@ export namespace ListSamplesResult { *

            Represents a request to the list suites operation.

            */ export interface ListSuitesRequest { - /** - *

            The job's Amazon Resource Name (ARN).

            - */ - arn: string | undefined; - /** *

            An identifier that was returned from the previous call to this operation, which can * be used to return the next set of items in the list.

            */ nextToken?: string; + + /** + *

            The job's Amazon Resource Name (ARN).

            + */ + arn: string | undefined; } export namespace ListSuitesRequest { @@ -5828,17 +5828,17 @@ export namespace ListSuitesRequest { *

            Represents the result of a list suites request.

            */ export interface ListSuitesResult { + /** + *

            Information about the suites.

            + */ + suites?: Suite[]; + /** *

            If the number of items that are returned is significantly large, this is an identifier that is also * returned. It can be used in a subsequent call to this operation to return the next set of items in the * list.

            */ nextToken?: string; - - /** - *

            Information about the suites.

            - */ - suites?: Suite[]; } export namespace ListSuitesResult { @@ -5922,16 +5922,16 @@ export namespace ListTestGridProjectsRequest { } export interface ListTestGridProjectsResult { - /** - *

            The list of TestGridProjects, based on a ListTestGridProjectsRequest.

            - */ - testGridProjects?: TestGridProject[]; - /** *

            Used for pagination. Pass into ListTestGridProjects to get more results in a paginated * request.

            */ nextToken?: string; + + /** + *

            The list of TestGridProjects, based on a ListTestGridProjectsRequest.

            + */ + testGridProjects?: TestGridProject[]; } export namespace ListTestGridProjectsResult { @@ -5942,9 +5942,9 @@ export namespace ListTestGridProjectsResult { export interface ListTestGridSessionActionsRequest { /** - *

            The maximum number of sessions to return per response.

            + *

            Pagination token.

            */ - maxResult?: number; + nextToken?: string; /** *

            The ARN of the session to retrieve.

            @@ -5952,9 +5952,9 @@ export interface ListTestGridSessionActionsRequest { sessionArn: string | undefined; /** - *

            Pagination token.

            + *

            The maximum number of sessions to return per response.

            */ - nextToken?: string; + maxResult?: number; } export namespace ListTestGridSessionActionsRequest { @@ -5968,9 +5968,9 @@ export namespace ListTestGridSessionActionsRequest { */ export interface TestGridSessionAction { /** - *

            HTTP status code returned to the browser when the action was taken.

            + *

            HTTP method that the browser used to make the request.

            */ - statusCode?: string; + requestMethod?: string; /** *

            The action taken by the session.

            @@ -5978,19 +5978,19 @@ export interface TestGridSessionAction { action?: string; /** - *

            The time that the session invoked the action.

            + *

            The time, in milliseconds, that the action took to complete in the browser.

            */ - started?: Date; + duration?: number; /** - *

            The time, in milliseconds, that the action took to complete in the browser.

            + *

            HTTP status code returned to the browser when the action was taken.

            */ - duration?: number; + statusCode?: string; /** - *

            HTTP method that the browser used to make the request.

            + *

            The time that the session invoked the action.

            */ - requestMethod?: string; + started?: Date; } export namespace TestGridSessionAction { @@ -6024,24 +6024,24 @@ export enum TestGridSessionArtifactCategory { export interface ListTestGridSessionArtifactsRequest { /** - *

            The ARN of a TestGridSession.

            + *

            Limit results to a specified type of artifact.

            */ - sessionArn: string | undefined; + type?: TestGridSessionArtifactCategory | string; /** - *

            Pagination token.

            + *

            The maximum number of results to be returned by a request.

            */ - nextToken?: string; + maxResult?: number; /** - *

            Limit results to a specified type of artifact.

            + *

            Pagination token.

            */ - type?: TestGridSessionArtifactCategory | string; + nextToken?: string; /** - *

            The maximum number of results to be returned by a request.

            + *

            The ARN of a TestGridSession.

            */ - maxResult?: number; + sessionArn: string | undefined; } export namespace ListTestGridSessionArtifactsRequest { @@ -6065,14 +6065,14 @@ export enum TestGridSessionArtifactType { */ export interface TestGridSessionArtifact { /** - *

            The kind of artifact.

            + *

            The file name of the artifact.

            */ - type?: TestGridSessionArtifactType | string; + filename?: string; /** - *

            The file name of the artifact.

            + *

            The kind of artifact.

            */ - filename?: string; + type?: TestGridSessionArtifactType | string; /** *

            A semi-stable URL to the content of the object.

            @@ -6088,14 +6088,14 @@ export namespace TestGridSessionArtifact { export interface ListTestGridSessionArtifactsResult { /** - *

            Pagination token.

            + *

            A list of test grid session artifacts for a TestGridSession.

            */ - nextToken?: string; + artifacts?: TestGridSessionArtifact[]; /** - *

            A list of test grid session artifacts for a TestGridSession.

            + *

            Pagination token.

            */ - artifacts?: TestGridSessionArtifact[]; + nextToken?: string; } export namespace ListTestGridSessionArtifactsResult { @@ -6106,44 +6106,44 @@ export namespace ListTestGridSessionArtifactsResult { export interface ListTestGridSessionsRequest { /** - *

            Return only sessions created before this time.

            - */ - creationTimeBefore?: Date; - - /** - *

            Return only sessions that ended after this time.

            + *

            ARN of a TestGridProject.

            */ - endTimeAfter?: Date; + projectArn: string | undefined; /** *

            Return only sessions in this state.

            */ status?: TestGridSessionStatus | string; - /** - *

            Pagination token.

            - */ - nextToken?: string; - /** *

            Return only sessions created after this time.

            */ creationTimeAfter?: Date; /** - *

            ARN of a TestGridProject.

            + *

            Return only sessions created before this time.

            */ - projectArn: string | undefined; + creationTimeBefore?: Date; /** *

            Return only sessions that ended before this time.

            */ endTimeBefore?: Date; + /** + *

            Return only sessions that ended after this time.

            + */ + endTimeAfter?: Date; + /** *

            Return only this many results at a time.

            */ maxResult?: number; + + /** + *

            Pagination token.

            + */ + nextToken?: string; } export namespace ListTestGridSessionsRequest { @@ -6175,15 +6175,15 @@ export namespace ListTestGridSessionsResult { */ export interface ListTestsRequest { /** - *

            An identifier that was returned from the previous call to this operation, which can - * be used to return the next set of items in the list.

            + *

            The test suite's Amazon Resource Name (ARN).

            */ - nextToken?: string; + arn: string | undefined; /** - *

            The test suite's Amazon Resource Name (ARN).

            + *

            An identifier that was returned from the previous call to this operation, which can + * be used to return the next set of items in the list.

            */ - arn: string | undefined; + nextToken?: string; } export namespace ListTestsRequest { @@ -6196,17 +6196,17 @@ export namespace ListTestsRequest { *

            Represents the result of a list tests request.

            */ export interface ListTestsResult { + /** + *

            Information about the tests.

            + */ + tests?: Test[]; + /** *

            If the number of items that are returned is significantly large, this is an identifier that is also * returned. It can be used in a subsequent call to this operation to return the next set of items in the * list.

            */ nextToken?: string; - - /** - *

            Information about the tests.

            - */ - tests?: Test[]; } export namespace ListTestsResult { @@ -6220,15 +6220,15 @@ export namespace ListTestsResult { */ export interface ListUniqueProblemsRequest { /** - *

            An identifier that was returned from the previous call to this operation, which can - * be used to return the next set of items in the list.

            + *

            The unique problems' ARNs.

            */ - nextToken?: string; + arn: string | undefined; /** - *

            The unique problems' ARNs.

            + *

            An identifier that was returned from the previous call to this operation, which can + * be used to return the next set of items in the list.

            */ - arn: string | undefined; + nextToken?: string; } export namespace ListUniqueProblemsRequest { @@ -6262,6 +6262,31 @@ export namespace ProblemDetail { *

            Represents a specific warning or failure.

            */ export interface Problem { + /** + *

            Information about the associated test.

            + */ + test?: ProblemDetail; + + /** + *

            A message about the problem's result.

            + */ + message?: string; + + /** + *

            Information about the associated device.

            + */ + device?: Device; + + /** + *

            Information about the associated job.

            + */ + job?: ProblemDetail; + + /** + *

            Information about the associated run.

            + */ + run?: ProblemDetail; + /** *

            The problem's result.

            *

            Allowed values include:

            @@ -6295,31 +6320,6 @@ export interface Problem { *

            Information about the associated suite.

            */ suite?: ProblemDetail; - - /** - *

            Information about the associated test.

            - */ - test?: ProblemDetail; - - /** - *

            Information about the associated run.

            - */ - run?: ProblemDetail; - - /** - *

            Information about the associated device.

            - */ - device?: Device; - - /** - *

            A message about the problem's result.

            - */ - message?: string; - - /** - *

            Information about the associated job.

            - */ - job?: ProblemDetail; } export namespace Problem { @@ -6333,14 +6333,14 @@ export namespace Problem { */ export interface UniqueProblem { /** - *

            A message about the unique problems' result.

            + *

            Information about the problems.

            */ - message?: string; + problems?: Problem[]; /** - *

            Information about the problems.

            + *

            A message about the unique problems' result.

            */ - problems?: Problem[]; + message?: string; } export namespace UniqueProblem { @@ -6353,6 +6353,13 @@ export namespace UniqueProblem { *

            Represents the result of a list unique problems request.

            */ export interface ListUniqueProblemsResult { + /** + *

            If the number of items that are returned is significantly large, this is an identifier that is also + * returned. It can be used in a subsequent call to this operation to return the next set of items in the + * list.

            + */ + nextToken?: string; + /** *

            Information about the unique problems.

            *

            Allowed values include:

            @@ -6381,13 +6388,6 @@ export interface ListUniqueProblemsResult { * */ uniqueProblems?: { [key: string]: UniqueProblem[] }; - - /** - *

            If the number of items that are returned is significantly large, this is an identifier that is also - * returned. It can be used in a subsequent call to this operation to return the next set of items in the - * list.

            - */ - nextToken?: string; } export namespace ListUniqueProblemsResult { @@ -6400,12 +6400,6 @@ export namespace ListUniqueProblemsResult { *

            Represents a request to the list uploads operation.

            */ export interface ListUploadsRequest { - /** - *

            An identifier that was returned from the previous call to this operation, which can - * be used to return the next set of items in the list.

            - */ - nextToken?: string; - /** *

            The type of upload.

            *

            Must be one of the following values:

            @@ -6515,6 +6509,12 @@ export interface ListUploadsRequest { * uploads.

            */ arn: string | undefined; + + /** + *

            An identifier that was returned from the previous call to this operation, which can + * be used to return the next set of items in the list.

            + */ + nextToken?: string; } export namespace ListUploadsRequest { @@ -6527,17 +6527,17 @@ export namespace ListUploadsRequest { *

            Represents the result of a list uploads request.

            */ export interface ListUploadsResult { - /** - *

            Information about the uploads.

            - */ - uploads?: Upload[]; - /** *

            If the number of items that are returned is significantly large, this is an identifier that is also * returned. It can be used in a subsequent call to this operation to return the next set of items in the * list.

            */ nextToken?: string; + + /** + *

            Information about the uploads.

            + */ + uploads?: Upload[]; } export namespace ListUploadsResult { @@ -6548,15 +6548,15 @@ export namespace ListUploadsResult { export interface ListVPCEConfigurationsRequest { /** - *

            An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.

            + *

            An integer that specifies the maximum number of items you want to return in the API response.

            */ - nextToken?: string; + maxResults?: number; /** - *

            An integer that specifies the maximum number of items you want to return in the API response.

            + *

            An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.

            */ - maxResults?: number; + nextToken?: string; } export namespace ListVPCEConfigurationsRequest { @@ -6589,11 +6589,6 @@ export namespace ListVPCEConfigurationsResult { *

            Represents a request for a purchase offering.

            */ export interface PurchaseOfferingRequest { - /** - *

            The number of device slots to purchase in an offering request.

            - */ - quantity?: number; - /** *

            The ID of the offering.

            */ @@ -6603,6 +6598,11 @@ export interface PurchaseOfferingRequest { *

            The ID of the offering promotion to be applied to the purchase.

            */ offeringPromotionId?: string; + + /** + *

            The number of device slots to purchase in an offering request.

            + */ + quantity?: number; } export namespace PurchaseOfferingRequest { @@ -6632,14 +6632,14 @@ export namespace PurchaseOfferingResult { */ export interface RenewOfferingRequest { /** - *

            The ID of a request to renew an offering.

            + *

            The quantity requested in an offering renewal.

            */ - offeringId?: string; + quantity?: number; /** - *

            The quantity requested in an offering renewal.

            + *

            The ID of a request to renew an offering.

            */ - quantity?: number; + offeringId?: string; } export namespace RenewOfferingRequest { @@ -6831,14 +6831,17 @@ export namespace DeviceSelectionConfiguration { */ export interface ExecutionConfiguration { /** - *

            Set to true to enable video capture. Otherwise, set to false. The default is true.

            + *

            When set to true, for private devices, Device Farm does not sign your app again. For public + * devices, Device Farm always signs your apps again.

            + *

            For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device + * Farm FAQs.

            */ - videoCapture?: boolean; + skipAppResign?: boolean; /** - *

            The number of minutes a test run executes before it times out.

            + *

            True if account cleanup is enabled at the beginning of the test. Otherwise, false.

            */ - jobTimeoutMinutes?: number; + accountsCleanup?: boolean; /** *

            True if app package cleanup is enabled at the beginning of the test. Otherwise, false.

            @@ -6846,17 +6849,14 @@ export interface ExecutionConfiguration { appPackagesCleanup?: boolean; /** - *

            When set to true, for private devices, Device Farm does not sign your app again. For public - * devices, Device Farm always signs your apps again.

            - *

            For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device - * Farm FAQs.

            + *

            Set to true to enable video capture. Otherwise, set to false. The default is true.

            */ - skipAppResign?: boolean; + videoCapture?: boolean; /** - *

            True if account cleanup is enabled at the beginning of the test. Otherwise, false.

            + *

            The number of minutes a test run executes before it times out.

            */ - accountsCleanup?: boolean; + jobTimeoutMinutes?: number; } export namespace ExecutionConfiguration { @@ -6870,14 +6870,27 @@ export namespace ExecutionConfiguration { */ export interface ScheduleRunRequest { /** - *

            The ARN of the project for the run to be scheduled.

            + *

            Information about the test for the run to be scheduled.

            */ - projectArn: string | undefined; + test: ScheduleRunTest | undefined; /** - *

            Information about the settings for the run to be scheduled.

            + *

            The filter criteria used to dynamically select a set of devices for a test run and the maximum number of + * devices to be included in the run.

            + *

            Either + * devicePoolArn + * or + * deviceSelectionConfiguration + * is required in a + * request.

            */ - configuration?: ScheduleRunConfiguration; + deviceSelectionConfiguration?: DeviceSelectionConfiguration; + + /** + *

            The ARN of an application package to run tests against, created with CreateUpload. + * See ListUploads.

            + */ + appArn?: string; /** *

            The ARN of the device pool for the run to be scheduled.

            @@ -6896,27 +6909,14 @@ export interface ScheduleRunRequest { executionConfiguration?: ExecutionConfiguration; /** - *

            The filter criteria used to dynamically select a set of devices for a test run and the maximum number of - * devices to be included in the run.

            - *

            Either - * devicePoolArn - * or - * deviceSelectionConfiguration - * is required in a - * request.

            - */ - deviceSelectionConfiguration?: DeviceSelectionConfiguration; - - /** - *

            The ARN of an application package to run tests against, created with CreateUpload. - * See ListUploads.

            + *

            The ARN of the project for the run to be scheduled.

            */ - appArn?: string; + projectArn: string | undefined; /** - *

            Information about the test for the run to be scheduled.

            + *

            Information about the settings for the run to be scheduled.

            */ - test: ScheduleRunTest | undefined; + configuration?: ScheduleRunConfiguration; } export namespace ScheduleRunRequest { @@ -7040,8 +7040,8 @@ export namespace StopRunResult { export interface TagPolicyException extends __SmithyException, $MetadataBearer { name: "TagPolicyException"; $fault: "client"; - message?: string; resourceName?: string; + message?: string; } export namespace TagPolicyException { @@ -7051,12 +7051,6 @@ export namespace TagPolicyException { } export interface TagResourceRequest { - /** - *

            The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum - * character length of 128 characters. Tag values can have a maximum length of 256 characters.

            - */ - Tags: Tag[] | undefined; - /** *

            The Amazon Resource Name (ARN) of the resource or resources to which to add tags. You can associate tags * with the following Device Farm resources: PROJECT, RUN, @@ -7065,6 +7059,12 @@ export interface TagResourceRequest { * VPCE_CONFIGURATION.

            */ ResourceARN: string | undefined; + + /** + *

            The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum + * character length of 128 characters. Tag values can have a maximum length of 256 characters.

            + */ + Tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -7088,8 +7088,8 @@ export namespace TagResourceResponse { export interface TooManyTagsException extends __SmithyException, $MetadataBearer { name: "TooManyTagsException"; $fault: "client"; - message?: string; resourceName?: string; + message?: string; } export namespace TooManyTagsException { @@ -7099,6 +7099,11 @@ export namespace TooManyTagsException { } export interface UntagResourceRequest { + /** + *

            The keys of the tags to be removed.

            + */ + TagKeys: string[] | undefined; + /** *

            The Amazon Resource Name (ARN) of the resource or resources from which to delete tags. You can associate * tags with the following Device Farm resources: PROJECT, RUN, @@ -7107,11 +7112,6 @@ export interface UntagResourceRequest { * VPCE_CONFIGURATION.

            */ ResourceARN: string | undefined; - - /** - *

            The keys of the tags to be removed.

            - */ - TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -7168,29 +7168,6 @@ export namespace UpdateDeviceInstanceResult { *

            Represents a request to the update device pool operation.

            */ export interface UpdateDevicePoolRequest { - /** - *

            The number of devices that Device Farm can add to your device pool. Device Farm adds - * devices that are available and that meet the criteria that you assign for the - * rules parameter. Depending on how many devices meet these constraints, - * your device pool might contain fewer devices than the value for this parameter.

            - *

            By specifying the maximum number of devices, you can control the costs that you incur - * by running tests.

            - *

            If you use this parameter in your request, you cannot use the - * clearMaxDevices parameter in the same request.

            - */ - maxDevices?: number; - - /** - *

            The Amazon Resource Name (ARN) of the Device Farm device pool to update.

            - */ - arn: string | undefined; - - /** - *

            Represents the rules to modify for the device pool. Updating rules is optional. If you update rules for - * your request, the update replaces the existing rules.

            - */ - rules?: Rule[]; - /** *

            Sets whether the maxDevices parameter applies to your device pool. If you set this parameter * to true, the maxDevices parameter does not apply, and Device Farm does not limit @@ -7201,6 +7178,11 @@ export interface UpdateDevicePoolRequest { */ clearMaxDevices?: boolean; + /** + *

            The Amazon Resource Name (ARN) of the Device Farm device pool to update.

            + */ + arn: string | undefined; + /** *

            A string that represents the name of the device pool to update.

            */ @@ -7210,6 +7192,24 @@ export interface UpdateDevicePoolRequest { *

            A description of the device pool to update.

            */ description?: string; + + /** + *

            The number of devices that Device Farm can add to your device pool. Device Farm adds + * devices that are available and that meet the criteria that you assign for the + * rules parameter. Depending on how many devices meet these constraints, + * your device pool might contain fewer devices than the value for this parameter.

            + *

            By specifying the maximum number of devices, you can control the costs that you incur + * by running tests.

            + *

            If you use this parameter in your request, you cannot use the + * clearMaxDevices parameter in the same request.

            + */ + maxDevices?: number; + + /** + *

            Represents the rules to modify for the device pool. Updating rules is optional. If you update rules for + * your request, the update replaces the existing rules.

            + */ + rules?: Rule[]; } export namespace UpdateDevicePoolRequest { @@ -7244,10 +7244,9 @@ export interface UpdateInstanceProfileRequest { excludeAppPackagesFromCleanup?: string[]; /** - *

            The updated choice for whether you want to reboot the device after use. The default - * value is true.

            + *

            The updated name for your instance profile.

            */ - rebootAfterUse?: boolean; + name?: string; /** *

            The Amazon Resource Name (ARN) of the instance profile.

            @@ -7255,20 +7254,21 @@ export interface UpdateInstanceProfileRequest { arn: string | undefined; /** - *

            The updated name for your instance profile.

            + *

            The updated description for your instance profile.

            */ - name?: string; + description?: string; /** - *

            The updated choice for whether you want to specify package cleanup. The default value - * is false for private devices.

            + *

            The updated choice for whether you want to reboot the device after use. The default + * value is true.

            */ - packageCleanup?: boolean; + rebootAfterUse?: boolean; /** - *

            The updated description for your instance profile.

            + *

            The updated choice for whether you want to specify package cleanup. The default value + * is false for private devices.

            */ - description?: string; + packageCleanup?: boolean; } export namespace UpdateInstanceProfileRequest { @@ -7292,74 +7292,74 @@ export namespace UpdateInstanceProfileResult { export interface UpdateNetworkProfileRequest { /** - *

            Proportion of received packets that fail to arrive from 0 to 100 percent.

            + *

            The data throughput rate in bits per second, as an integer from 0 to + * 104857600.

            */ - downlinkLossPercent?: number; + uplinkBandwidthBits?: number; /** - *

            The Amazon Resource Name (ARN) of the project for which you want to update network - * profile settings.

            + *

            The description of the network profile about which you are returning + * information.

            */ - arn: string | undefined; + description?: string; /** - *

            Delay time for all packets to destination in milliseconds as an integer from 0 to - * 2000.

            + *

            The name of the network profile about which you are returning + * information.

            */ - uplinkDelayMs?: number; + name?: string; /** - *

            The description of the network profile about which you are returning - * information.

            + *

            Proportion of transmitted packets that fail to arrive from 0 to 100 + * percent.

            */ - description?: string; + uplinkLossPercent?: number; /** *

            Time variation in the delay of received packets in milliseconds as an integer from * 0 to 2000.

            */ - downlinkJitterMs?: number; + uplinkJitterMs?: number; /** - *

            The data throughput rate in bits per second, as an integer from 0 to - * 104857600.

            + *

            Delay time for all packets to destination in milliseconds as an integer from 0 to + * 2000.

            */ - downlinkBandwidthBits?: number; + downlinkDelayMs?: number; /** - *

            Time variation in the delay of received packets in milliseconds as an integer from - * 0 to 2000.

            + *

            Proportion of received packets that fail to arrive from 0 to 100 percent.

            */ - uplinkJitterMs?: number; + downlinkLossPercent?: number; /** - *

            Proportion of transmitted packets that fail to arrive from 0 to 100 - * percent.

            + *

            The data throughput rate in bits per second, as an integer from 0 to + * 104857600.

            */ - uplinkLossPercent?: number; + downlinkBandwidthBits?: number; /** - *

            The type of network profile to return information about. Valid values are listed here.

            + *

            The Amazon Resource Name (ARN) of the project for which you want to update network + * profile settings.

            */ - type?: NetworkProfileType | string; + arn: string | undefined; /** - *

            Delay time for all packets to destination in milliseconds as an integer from 0 to - * 2000.

            + *

            Time variation in the delay of received packets in milliseconds as an integer from + * 0 to 2000.

            */ - downlinkDelayMs?: number; + downlinkJitterMs?: number; /** - *

            The name of the network profile about which you are returning - * information.

            + *

            Delay time for all packets to destination in milliseconds as an integer from 0 to + * 2000.

            */ - name?: string; + uplinkDelayMs?: number; /** - *

            The data throughput rate in bits per second, as an integer from 0 to - * 104857600.

            + *

            The type of network profile to return information about. Valid values are listed here.

            */ - uplinkBandwidthBits?: number; + type?: NetworkProfileType | string; } export namespace UpdateNetworkProfileRequest { @@ -7391,14 +7391,14 @@ export interface UpdateProjectRequest { defaultJobTimeoutMinutes?: number; /** - *

            A string that represents the new name of the project that you are updating.

            + *

            The Amazon Resource Name (ARN) of the project whose name to update.

            */ - name?: string; + arn: string | undefined; /** - *

            The Amazon Resource Name (ARN) of the project whose name to update.

            + *

            A string that represents the new name of the project that you are updating.

            */ - arn: string | undefined; + name?: string; } export namespace UpdateProjectRequest { @@ -7430,14 +7430,14 @@ export interface UpdateTestGridProjectRequest { projectArn: string | undefined; /** - *

            Human-readable description for the project.

            + *

            Human-readable name for the project.

            */ - description?: string; + name?: string; /** - *

            Human-readable name for the project.

            + *

            Human-readable description for the project.

            */ - name?: string; + description?: string; } export namespace UpdateTestGridProjectRequest { @@ -7461,15 +7461,14 @@ export namespace UpdateTestGridProjectResult { export interface UpdateUploadRequest { /** - *

            Set to true if the YAML file has changed and must be updated. Otherwise, set to false.

            + *

            The upload's content type (for example, application/x-yaml).

            */ - editContent?: boolean; + contentType?: string; /** - *

            The upload's test spec file name. The name must not contain any forward slashes (/). The test spec file - * name must end with the .yaml or .yml file extension.

            + *

            Set to true if the YAML file has changed and must be updated. Otherwise, set to false.

            */ - name?: string; + editContent?: boolean; /** *

            The Amazon Resource Name (ARN) of the uploaded test spec.

            @@ -7477,9 +7476,10 @@ export interface UpdateUploadRequest { arn: string | undefined; /** - *

            The upload's content type (for example, application/x-yaml).

            + *

            The upload's test spec file name. The name must not contain any forward slashes (/). The test spec file + * name must end with the .yaml or .yml file extension.

            */ - contentType?: string; + name?: string; } export namespace UpdateUploadRequest { @@ -7503,32 +7503,32 @@ export namespace UpdateUploadResult { export interface UpdateVPCEConfigurationRequest { /** - *

            The friendly name you give to your VPC endpoint configuration to manage your configurations more - * easily.

            + *

            The DNS (domain) name used to connect to your private service in your VPC. The DNS name must not already + * be in use on the internet.

            */ - vpceConfigurationName?: string; + serviceDnsName?: string; /** - *

            The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to - * update.

            + *

            The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

            */ - arn: string | undefined; + vpceServiceName?: string; /** - *

            The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

            + *

            An optional description that provides details about your VPC endpoint configuration.

            */ - vpceServiceName?: string; + vpceConfigurationDescription?: string; /** - *

            The DNS (domain) name used to connect to your private service in your VPC. The DNS name must not already - * be in use on the internet.

            + *

            The friendly name you give to your VPC endpoint configuration to manage your configurations more + * easily.

            */ - serviceDnsName?: string; + vpceConfigurationName?: string; /** - *

            An optional description that provides details about your VPC endpoint configuration.

            + *

            The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to + * update.

            */ - vpceConfigurationDescription?: string; + arn: string | undefined; } export namespace UpdateVPCEConfigurationRequest { diff --git a/clients/client-direct-connect/DirectConnect.ts b/clients/client-direct-connect/DirectConnect.ts index 9cdd887a13a9..5654a03cdfa2 100644 --- a/clients/client-direct-connect/DirectConnect.ts +++ b/clients/client-direct-connect/DirectConnect.ts @@ -978,20 +978,20 @@ export class DirectConnect extends DirectConnectClient { /** *

            Creates a link aggregation group (LAG) with the specified number of bundled - * physical connections between the customer network and a specific AWS Direct Connect location. + * physical dedicated connections between the customer network and a specific AWS Direct Connect location. * A LAG is a logical interface that uses the Link Aggregation Control Protocol * (LACP) to aggregate multiple interfaces, enabling you to treat them as a single * interface.

            - *

            All connections in a LAG must use the same bandwidth and must terminate at the same AWS Direct Connect endpoint.

            - *

            You can have up to 10 connections per LAG. Regardless of this limit, if you request more connections - * for the LAG than AWS Direct Connect can allocate on a single endpoint, no LAG is created.

            - *

            You can specify an existing physical connection or interconnect to include in the LAG - * (which counts towards the total number of connections). Doing so interrupts the current - * physical connection or hosted connections, and re-establishes them as a member of the - * LAG. The LAG will be created on the same AWS Direct Connect endpoint to which the - * connection terminates. Any virtual interfaces associated with the connection are - * automatically disassociated and re-associated with the LAG. The connection ID does not - * change.

            + *

            All connections in a LAG must use the same bandwidth (either 1Gbps or 10Gbps) and must terminate at the same AWS Direct Connect endpoint.

            + *

            You can have up to 10 dedicated connections per LAG. Regardless of this limit, if you + * request more connections for the LAG than AWS Direct Connect can allocate on a single endpoint, no LAG is + * created.

            + *

            You can specify an existing physical dedicated connection or interconnect to include in + * the LAG (which counts towards the total number of connections). Doing so interrupts the + * current physical dedicated connection, and re-establishes them as a member of the LAG. The LAG + * will be created on the same AWS Direct Connect endpoint to which the dedicated connection terminates. Any + * virtual interfaces associated with the dedicated connection are automatically disassociated + * and re-associated with the LAG. The connection ID does not change.

            *

            If the AWS account used to create a LAG is a registered AWS Direct Connect Partner, the LAG is * automatically enabled to host sub-connections. For a LAG owned by a partner, any associated virtual * interfaces cannot be directly configured.

            diff --git a/clients/client-direct-connect/models/models_0.ts b/clients/client-direct-connect/models/models_0.ts index 2673805d010d..f10ddf4c63c0 100644 --- a/clients/client-direct-connect/models/models_0.ts +++ b/clients/client-direct-connect/models/models_0.ts @@ -20,25 +20,25 @@ export namespace RouteFilterPrefix { export interface AcceptDirectConnectGatewayAssociationProposalRequest { /** - *

            The ID of the Direct Connect gateway.

            + *

            The ID of the AWS account that owns the virtual private gateway or transit gateway.

            */ - directConnectGatewayId: string | undefined; + associatedGatewayOwnerAccount: string | undefined; /** - *

            Overrides the Amazon VPC prefixes advertised to the Direct Connect gateway.

            - *

            For information about how to set the prefixes, see Allowed Prefixes in the AWS Direct Connect User Guide.

            + *

            The ID of the request proposal.

            */ - overrideAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[]; + proposalId: string | undefined; /** - *

            The ID of the AWS account that owns the virtual private gateway or transit gateway.

            + *

            The ID of the Direct Connect gateway.

            */ - associatedGatewayOwnerAccount: string | undefined; + directConnectGatewayId: string | undefined; /** - *

            The ID of the request proposal.

            + *

            Overrides the Amazon VPC prefixes advertised to the Direct Connect gateway.

            + *

            For information about how to set the prefixes, see Allowed Prefixes in the AWS Direct Connect User Guide.

            */ - proposalId: string | undefined; + overrideAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[]; } export namespace AcceptDirectConnectGatewayAssociationProposalRequest { @@ -57,14 +57,14 @@ export enum GatewayType { */ export interface AssociatedGateway { /** - *

            The type of associated gateway.

            + *

            The ID of the AWS account that owns the associated virtual private gateway or transit gateway.

            */ - type?: GatewayType | string; + ownerAccount?: string; /** - *

            The ID of the AWS account that owns the associated virtual private gateway or transit gateway.

            + *

            The type of associated gateway.

            */ - ownerAccount?: string; + type?: GatewayType | string; /** *

            The ID of the associated gateway.

            @@ -123,20 +123,25 @@ export interface DirectConnectGatewayAssociation { stateChangeError?: string; /** - *

            The ID of the AWS account that owns the virtual private gateway.

            + *

            The AWS Region where the virtual private gateway is located.

            */ - virtualGatewayOwnerAccount?: string; + virtualGatewayRegion?: string; /** - *

            The AWS Region where the virtual private gateway is located.

            + *

            The ID of the AWS account that owns the virtual private gateway.

            */ - virtualGatewayRegion?: string; + virtualGatewayOwnerAccount?: string; /** *

            The Amazon VPC prefixes to advertise to the Direct Connect gateway.

            */ allowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[]; + /** + *

            The ID of the AWS account that owns the associated gateway.

            + */ + directConnectGatewayOwnerAccount?: string; + /** *

            The ID of the virtual private gateway. Applies only to private virtual interfaces.

            */ @@ -148,19 +153,14 @@ export interface DirectConnectGatewayAssociation { associatedGateway?: AssociatedGateway; /** - *

            The ID of the AWS account that owns the associated gateway.

            + *

            The ID of the Direct Connect gateway association.

            */ - directConnectGatewayOwnerAccount?: string; + associationId?: string; /** *

            The ID of the Direct Connect gateway.

            */ directConnectGatewayId?: string; - - /** - *

            The ID of the Direct Connect gateway association.

            - */ - associationId?: string; } export namespace DirectConnectGatewayAssociation { @@ -219,9 +219,9 @@ export enum AddressFamily { export interface AllocateConnectionOnInterconnectRequest { /** - *

            The name of the provisioned connection.

            + *

            The ID of the AWS account of the customer for whom the connection will be provisioned.

            */ - connectionName: string | undefined; + ownerAccount: string | undefined; /** *

            The dedicated VLAN provisioned to the connection.

            @@ -229,12 +229,9 @@ export interface AllocateConnectionOnInterconnectRequest { vlan: number | undefined; /** - *

            The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, - * 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners - * who have met specific requirements - * are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.

            + *

            The name of the provisioned connection.

            */ - bandwidth: string | undefined; + connectionName: string | undefined; /** *

            The ID of the interconnect on which the connection will be provisioned.

            @@ -242,9 +239,12 @@ export interface AllocateConnectionOnInterconnectRequest { interconnectId: string | undefined; /** - *

            The ID of the AWS account of the customer for whom the connection will be provisioned.

            + *

            The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, + * 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners + * who have met specific requirements + * are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.

            */ - ownerAccount: string | undefined; + bandwidth: string | undefined; } export namespace AllocateConnectionOnInterconnectRequest { @@ -275,14 +275,14 @@ export enum HasLogicalRedundancy { */ export interface Tag { /** - *

            The key.

            + *

            The value.

            */ - key: string | undefined; + value?: string; /** - *

            The value.

            + *

            The key.

            */ - value?: string; + key: string | undefined; } export namespace Tag { @@ -301,14 +301,14 @@ export interface Connection { jumboFrameCapable?: boolean; /** - *

            The Direct Connect endpoint on which the physical connection terminates.

            + *

            The ID of the LAG.

            */ - awsDeviceV2?: string; + lagId?: string; /** - *

            The ID of the VLAN.

            + *

            The Direct Connect endpoint on which the physical connection terminates.

            */ - vlan?: number; + awsDeviceV2?: string; /** *

            The name of the connection.

            @@ -321,9 +321,9 @@ export interface Connection { region?: string; /** - *

            The ID of the LAG.

            + *

            The ID of the VLAN.

            */ - lagId?: string; + vlan?: number; /** *

            The ID of the connection.

            @@ -340,6 +340,31 @@ export interface Connection { */ ownerAccount?: string; + /** + *

            The time of the most recent call to DescribeLoa for this connection.

            + */ + loaIssueTime?: Date; + + /** + *

            Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).

            + */ + hasLogicalRedundancy?: HasLogicalRedundancy | string; + + /** + *

            The name of the service provider associated with the connection.

            + */ + providerName?: string; + + /** + *

            The name of the AWS Direct Connect service provider associated with the connection.

            + */ + partnerName?: string; + + /** + *

            The Direct Connect endpoint on which the physical connection terminates.

            + */ + awsDevice?: string; + /** *

            The state of the connection. The following are the possible values:

            *
              @@ -384,39 +409,14 @@ export interface Connection { connectionState?: ConnectionState | string; /** - *

              The Direct Connect endpoint on which the physical connection terminates.

              - */ - awsDevice?: string; - - /** - *

              The name of the AWS Direct Connect service provider associated with the connection.

              - */ - partnerName?: string; - - /** - *

              The time of the most recent call to DescribeLoa for this connection.

              - */ - loaIssueTime?: Date; - - /** - *

              Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).

              - */ - hasLogicalRedundancy?: HasLogicalRedundancy | string; - - /** - *

              The name of the service provider associated with the connection.

              + *

              The location of the connection.

              */ - providerName?: string; + location?: string; /** *

              The bandwidth of the connection.

              */ bandwidth?: string; - - /** - *

              The location of the connection.

              - */ - location?: string; } export namespace Connection { @@ -442,14 +442,14 @@ export interface AllocateHostedConnectionRequest { connectionName: string | undefined; /** - *

              The dedicated VLAN provisioned to the hosted connection.

              + *

              The ID of the interconnect or LAG.

              */ - vlan: number | undefined; + connectionId: string | undefined; /** - *

              The ID of the interconnect or LAG.

              + *

              The dedicated VLAN provisioned to the hosted connection.

              */ - connectionId: string | undefined; + vlan: number | undefined; /** *

              The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.

              @@ -503,9 +503,9 @@ export interface NewPrivateVirtualInterfaceAllocation { mtu?: number; /** - *

              The ID of the VLAN.

              + *

              The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

              */ - vlan: number | undefined; + authKey?: string; /** *

              The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

              @@ -514,9 +514,9 @@ export interface NewPrivateVirtualInterfaceAllocation { asn: number | undefined; /** - *

              The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

              + *

              The IP address assigned to the Amazon interface.

              */ - authKey?: string; + amazonAddress?: string; /** *

              The IP address assigned to the customer interface.

              @@ -529,19 +529,19 @@ export interface NewPrivateVirtualInterfaceAllocation { addressFamily?: AddressFamily | string; /** - *

              The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

              + *

              The ID of the VLAN.

              */ - virtualInterfaceName: string | undefined; + vlan: number | undefined; /** - *

              The IP address assigned to the Amazon interface.

              + *

              The tags associated with the private virtual interface.

              */ - amazonAddress?: string; + tags?: Tag[]; /** - *

              The tags associated with the private virtual interface.

              + *

              The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

              */ - tags?: Tag[]; + virtualInterfaceName: string | undefined; } export namespace NewPrivateVirtualInterfaceAllocation { @@ -591,52 +591,15 @@ export enum BGPStatus { *

              Information about a BGP peer.

              */ export interface BGPPeer { - /** - *

              The IP address assigned to the customer interface.

              - */ - customerAddress?: string; - - /** - *

              The ID of the BGP peer.

              - */ - bgpPeerId?: string; - - /** - *

              The state of the BGP peer. The following are the possible values:

              - *
                - *
              • - *

                - * verifying: The BGP peering addresses or ASN require validation before the BGP peer can be created. This state applies only to public virtual interfaces.

                - *
              • - *
              • - *

                - * pending: The BGP peer is created, and remains in this state until it is ready to be established.

                - *
              • - *
              • - *

                - * available: The BGP peer is ready to be established.

                - *
              • - *
              • - *

                - * deleting: The BGP peer is being deleted.

                - *
              • - *
              • - *

                - * deleted: The BGP peer is deleted and cannot be established.

                - *
              • - *
              - */ - bgpPeerState?: BGPPeerState | string; - /** *

              The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

              */ authKey?: string; /** - *

              The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

              + *

              The IP address assigned to the Amazon interface.

              */ - asn?: number; + amazonAddress?: string; /** *

              The address family for the BGP peer.

              @@ -644,15 +607,25 @@ export interface BGPPeer { addressFamily?: AddressFamily | string; /** - *

              The IP address assigned to the Amazon interface.

              + *

              The IP address assigned to the customer interface.

              */ - amazonAddress?: string; + customerAddress?: string; /** *

              The Direct Connect endpoint on which the BGP peer terminates.

              */ awsDeviceV2?: string; + /** + *

              The ID of the BGP peer.

              + */ + bgpPeerId?: string; + + /** + *

              The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

              + */ + asn?: number; + /** *

              The status of the BGP peer. The following are the possible values:

              *
                @@ -672,6 +645,33 @@ export interface BGPPeer { *
              */ bgpStatus?: BGPStatus | string; + + /** + *

              The state of the BGP peer. The following are the possible values:

              + *
                + *
              • + *

                + * verifying: The BGP peering addresses or ASN require validation before the BGP peer can be created. This state applies only to public virtual interfaces.

                + *
              • + *
              • + *

                + * pending: The BGP peer is created, and remains in this state until it is ready to be established.

                + *
              • + *
              • + *

                + * available: The BGP peer is ready to be established.

                + *
              • + *
              • + *

                + * deleting: The BGP peer is being deleted.

                + *
              • + *
              • + *

                + * deleted: The BGP peer is deleted and cannot be established.

                + *
              • + *
              + */ + bgpPeerState?: BGPPeerState | string; } export namespace BGPPeer { @@ -695,18 +695,43 @@ export type VirtualInterfaceState = *

              Information about a virtual interface.

              */ export interface VirtualInterface { - /** - *

              The ID of the connection.

              - */ - connectionId?: string; - /** *

              The BGP peers configured on this virtual interface.

              */ bgpPeers?: BGPPeer[]; /** - *

              The state of the virtual interface. The following are the possible values:

              + *

              The ID of the connection.

              + */ + connectionId?: string; + + /** + *

              The type of virtual interface. The possible values are private and public.

              + */ + virtualInterfaceType?: string; + + /** + *

              The routes to be advertised to the AWS network in this Region. Applies to public virtual interfaces.

              + */ + routeFilterPrefixes?: RouteFilterPrefix[]; + + /** + *

              Indicates whether jumbo frames (9001 MTU) are supported.

              + */ + jumboFrameCapable?: boolean; + + /** + *

              The tags associated with the virtual interface.

              + */ + tags?: Tag[]; + + /** + *

              The ID of the AWS account that owns the virtual interface.

              + */ + ownerAccount?: string; + + /** + *

              The state of the virtual interface. The following are the possible values:

              *
                *
              • *

                @@ -748,21 +773,6 @@ export interface VirtualInterface { */ virtualInterfaceState?: VirtualInterfaceState | string; - /** - *

                The type of virtual interface. The possible values are private and public.

                - */ - virtualInterfaceType?: string; - - /** - *

                The routes to be advertised to the AWS network in this Region. Applies to public virtual interfaces.

                - */ - routeFilterPrefixes?: RouteFilterPrefix[]; - - /** - *

                The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

                - */ - authKey?: string; - /** *

                The * Direct Connect endpoint on which the virtual interface terminates.

                @@ -770,30 +780,25 @@ export interface VirtualInterface { awsDeviceV2?: string; /** - *

                The tags associated with the virtual interface.

                + *

                The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

                */ - tags?: Tag[]; + authKey?: string; /** - *

                Indicates whether jumbo frames (9001 MTU) are supported.

                + *

                The IP address assigned to the customer interface.

                */ - jumboFrameCapable?: boolean; + customerAddress?: string; /** - *

                The ID of the AWS account that owns the virtual interface.

                + *

                The ID of the VLAN.

                */ - ownerAccount?: string; + vlan?: number; /** *

                The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

                */ mtu?: number; - /** - *

                The IP address assigned to the customer interface.

                - */ - customerAddress?: string; - /** *

                The ID of the Direct Connect gateway.

                */ @@ -810,19 +815,14 @@ export interface VirtualInterface { location?: string; /** - *

                The ID of the virtual interface.

                - */ - virtualInterfaceId?: string; - - /** - *

                The autonomous system number (ASN) for the Amazon side of the connection.

                + *

                The IP address assigned to the Amazon interface.

                */ - amazonSideAsn?: number; + amazonAddress?: string; /** - *

                The IP address assigned to the Amazon interface.

                + *

                The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                */ - amazonAddress?: string; + virtualInterfaceName?: string; /** *

                The ID of the virtual private gateway. Applies only to private virtual interfaces.

                @@ -830,20 +830,19 @@ export interface VirtualInterface { virtualGatewayId?: string; /** - *

                The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                + *

                The autonomous system number (ASN) for the Amazon side of the connection.

                */ - virtualInterfaceName?: string; + amazonSideAsn?: number; /** - *

                The ID of the VLAN.

                + *

                The ID of the virtual interface.

                */ - vlan?: number; + virtualInterfaceId?: string; /** - *

                The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                - *

                The valid values are 1-2147483647.

                + *

                The AWS Region where the virtual interface is located.

                */ - asn?: number; + region?: string; /** *

                The address family for the BGP peer.

                @@ -851,9 +850,10 @@ export interface VirtualInterface { addressFamily?: AddressFamily | string; /** - *

                The AWS Region where the virtual interface is located.

                + *

                The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                + *

                The valid values are 1-2147483647.

                */ - region?: string; + asn?: number; } export namespace VirtualInterface { @@ -871,20 +871,26 @@ export interface NewPublicVirtualInterfaceAllocation { */ routeFilterPrefixes?: RouteFilterPrefix[]; + /** + *

                The IP address assigned to the customer interface.

                + */ + customerAddress?: string; + /** *

                The ID of the VLAN.

                */ vlan: number | undefined; /** - *

                The IP address assigned to the Amazon interface.

                + *

                The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                + *

                The valid values are 1-2147483647.

                */ - amazonAddress?: string; + asn: number | undefined; /** - *

                The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                + *

                The address family for the BGP peer.

                */ - virtualInterfaceName: string | undefined; + addressFamily?: AddressFamily | string; /** *

                The tags associated with the public virtual interface.

                @@ -892,9 +898,9 @@ export interface NewPublicVirtualInterfaceAllocation { tags?: Tag[]; /** - *

                The IP address assigned to the customer interface.

                + *

                The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                */ - customerAddress?: string; + virtualInterfaceName: string | undefined; /** *

                The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

                @@ -902,15 +908,9 @@ export interface NewPublicVirtualInterfaceAllocation { authKey?: string; /** - *

                The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                - *

                The valid values are 1-2147483647.

                - */ - asn: number | undefined; - - /** - *

                The address family for the BGP peer.

                + *

                The IP address assigned to the Amazon interface.

                */ - addressFamily?: AddressFamily | string; + amazonAddress?: string; } export namespace NewPublicVirtualInterfaceAllocation { @@ -947,40 +947,40 @@ export namespace AllocatePublicVirtualInterfaceRequest { */ export interface NewTransitVirtualInterfaceAllocation { /** - *

                The address family for the BGP peer.

                + *

                The tags associated with the transitive virtual interface.

                */ - addressFamily?: AddressFamily | string; + tags?: Tag[]; /** - *

                The tags associated with the transitive virtual interface.

                + *

                The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                */ - tags?: Tag[]; + virtualInterfaceName?: string; /** - *

                The IP address assigned to the Amazon interface.

                + *

                The ID of the VLAN.

                */ - amazonAddress?: string; + vlan?: number; /** - *

                The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                + *

                The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

                */ - virtualInterfaceName?: string; + mtu?: number; /** - *

                The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                - *

                The valid values are 1-2147483647.

                + *

                The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

                */ - asn?: number; + authKey?: string; /** - *

                The ID of the VLAN.

                + *

                The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                + *

                The valid values are 1-2147483647.

                */ - vlan?: number; + asn?: number; /** - *

                The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

                + *

                The IP address assigned to the Amazon interface.

                */ - mtu?: number; + amazonAddress?: string; /** *

                The IP address assigned to the customer interface.

                @@ -988,9 +988,9 @@ export interface NewTransitVirtualInterfaceAllocation { customerAddress?: string; /** - *

                The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

                + *

                The address family for the BGP peer.

                */ - authKey?: string; + addressFamily?: AddressFamily | string; } export namespace NewTransitVirtualInterfaceAllocation { @@ -1160,14 +1160,14 @@ export interface ConfirmPrivateVirtualInterfaceRequest { virtualGatewayId?: string; /** - *

                The ID of the virtual interface.

                + *

                The ID of the Direct Connect gateway.

                */ - virtualInterfaceId: string | undefined; + directConnectGatewayId?: string; /** - *

                The ID of the Direct Connect gateway.

                + *

                The ID of the virtual interface.

                */ - directConnectGatewayId?: string; + virtualInterfaceId: string | undefined; } export namespace ConfirmPrivateVirtualInterfaceRequest { @@ -1388,14 +1388,14 @@ export interface NewBGPPeer { authKey?: string; /** - *

                The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                + *

                The IP address assigned to the Amazon interface.

                */ - asn?: number; + amazonAddress?: string; /** - *

                The IP address assigned to the Amazon interface.

                + *

                The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                */ - amazonAddress?: string; + asn?: number; /** *

                The address family for the BGP peer.

                @@ -1442,20 +1442,15 @@ export namespace CreateBGPPeerResponse { export interface CreateConnectionRequest { /** - *

                The name of the service provider associated with the requested connection.

                + *

                The location of the connection.

                */ - providerName?: string; + location: string | undefined; /** *

                The bandwidth of the connection.

                */ bandwidth: string | undefined; - /** - *

                The location of the connection.

                - */ - location: string | undefined; - /** *

                The tags to associate with the lag.

                */ @@ -1470,6 +1465,11 @@ export interface CreateConnectionRequest { *

                The ID of the LAG.

                */ lagId?: string; + + /** + *

                The name of the service provider associated with the requested connection.

                + */ + providerName?: string; } export namespace CreateConnectionRequest { @@ -1479,17 +1479,17 @@ export namespace CreateConnectionRequest { } export interface CreateDirectConnectGatewayRequest { + /** + *

                The name of the Direct Connect gateway.

                + */ + directConnectGatewayName: string | undefined; + /** *

                The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be configured * on the Amazon side of the connection. The ASN must be in the private range of 64,512 to * 65,534 or 4,200,000,000 to 4,294,967,294. The default is 64512.

                */ amazonSideAsn?: number; - - /** - *

                The name of the Direct Connect gateway.

                - */ - directConnectGatewayName: string | undefined; } export namespace CreateDirectConnectGatewayRequest { @@ -1509,6 +1509,16 @@ export interface DirectConnectGateway { */ stateChangeError?: string; + /** + *

                The ID of the Direct Connect gateway.

                + */ + directConnectGatewayId?: string; + + /** + *

                The autonomous system number (ASN) for the Amazon side of the connection.

                + */ + amazonSideAsn?: number; + /** *

                The name of the Direct Connect gateway.

                */ @@ -1537,20 +1547,10 @@ export interface DirectConnectGateway { */ directConnectGatewayState?: DirectConnectGatewayState | string; - /** - *

                The autonomous system number (ASN) for the Amazon side of the connection.

                - */ - amazonSideAsn?: number; - /** *

                The ID of the AWS account that owns the Direct Connect gateway.

                */ ownerAccount?: string; - - /** - *

                The ID of the Direct Connect gateway.

                - */ - directConnectGatewayId?: string; } export namespace DirectConnectGateway { @@ -1573,11 +1573,6 @@ export namespace CreateDirectConnectGatewayResult { } export interface CreateDirectConnectGatewayAssociationRequest { - /** - *

                The ID of the virtual private gateway.

                - */ - virtualGatewayId?: string; - /** *

                The ID of the virtual private gateway or transit gateway.

                */ @@ -1594,6 +1589,11 @@ export interface CreateDirectConnectGatewayAssociationRequest { *

                For information about how to set the prefixes, see Allowed Prefixes in the AWS Direct Connect User Guide.

                */ addAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[]; + + /** + *

                The ID of the virtual private gateway.

                + */ + virtualGatewayId?: string; } export namespace CreateDirectConnectGatewayAssociationRequest { @@ -1621,11 +1621,6 @@ export interface CreateDirectConnectGatewayAssociationProposalRequest { */ gatewayId: string | undefined; - /** - *

                The ID of the Direct Connect gateway.

                - */ - directConnectGatewayId: string | undefined; - /** *

                The Amazon VPC prefixes to advertise to the Direct Connect gateway.

                */ @@ -1636,6 +1631,11 @@ export interface CreateDirectConnectGatewayAssociationProposalRequest { */ removeAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[]; + /** + *

                The ID of the Direct Connect gateway.

                + */ + directConnectGatewayId: string | undefined; + /** *

                The ID of the AWS account that owns the Direct Connect gateway.

                */ @@ -1654,25 +1654,6 @@ export type DirectConnectGatewayAssociationProposalState = "accepted" | "deleted *

                Information about the proposal request to attach a virtual private gateway to a Direct Connect gateway.

                */ export interface DirectConnectGatewayAssociationProposal { - /** - *

                The state of the proposal. The following are possible values:

                - *
                  - *
                • - *

                  - * accepted: The proposal has been accepted. The Direct Connect gateway association is available to use in this state.

                  - *
                • - *
                • - *

                  - * deleted: The proposal has been deleted by the owner that made the proposal. The Direct Connect gateway association cannot be used in this state.

                  - *
                • - *
                • - *

                  - * requested: The proposal has been requested. The Direct Connect gateway association cannot be used in this state.

                  - *
                • - *
                - */ - proposalState?: DirectConnectGatewayAssociationProposalState | string; - /** *

                The Amazon VPC prefixes to advertise to the Direct Connect gateway.

                */ @@ -1684,9 +1665,9 @@ export interface DirectConnectGatewayAssociationProposal { existingAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[]; /** - *

                The ID of the association proposal.

                + *

                The ID of the AWS account that owns the Direct Connect gateway.

                */ - proposalId?: string; + directConnectGatewayOwnerAccount?: string; /** *

                The ID of the Direct Connect gateway.

                @@ -1694,14 +1675,33 @@ export interface DirectConnectGatewayAssociationProposal { directConnectGatewayId?: string; /** - *

                Information about the associated gateway.

                + *

                The ID of the association proposal.

                */ - associatedGateway?: AssociatedGateway; + proposalId?: string; /** - *

                The ID of the AWS account that owns the Direct Connect gateway.

                + *

                The state of the proposal. The following are possible values:

                + *
                  + *
                • + *

                  + * accepted: The proposal has been accepted. The Direct Connect gateway association is available to use in this state.

                  + *
                • + *
                • + *

                  + * deleted: The proposal has been deleted by the owner that made the proposal. The Direct Connect gateway association cannot be used in this state.

                  + *
                • + *
                • + *

                  + * requested: The proposal has been requested. The Direct Connect gateway association cannot be used in this state.

                  + *
                • + *
                */ - directConnectGatewayOwnerAccount?: string; + proposalState?: DirectConnectGatewayAssociationProposalState | string; + + /** + *

                Information about the associated gateway.

                + */ + associatedGateway?: AssociatedGateway; } export namespace DirectConnectGatewayAssociationProposal { @@ -1735,14 +1735,14 @@ export interface CreateInterconnectRequest { bandwidth: string | undefined; /** - *

                The name of the service provider associated with the interconnect.

                + *

                The name of the interconnect.

                */ - providerName?: string; + interconnectName: string | undefined; /** - *

                The name of the interconnect.

                + *

                The tags to associate with the interconnect.

                */ - interconnectName: string | undefined; + tags?: Tag[]; /** *

                The location of the interconnect.

                @@ -1750,9 +1750,9 @@ export interface CreateInterconnectRequest { location: string | undefined; /** - *

                The tags to associate with the interconnect.

                + *

                The name of the service provider associated with the interconnect.

                */ - tags?: Tag[]; + providerName?: string; } export namespace CreateInterconnectRequest { @@ -1768,14 +1768,19 @@ export type InterconnectState = "available" | "deleted" | "deleting" | "down" | */ export interface Interconnect { /** - *

                The ID of the interconnect.

                + *

                The bandwidth of the connection.

                */ - interconnectId?: string; + bandwidth?: string; /** - *

                The bandwidth of the connection.

                + *

                The Direct Connect endpoint on which the physical connection terminates.

                */ - bandwidth?: string; + awsDevice?: string; + + /** + *

                The ID of the interconnect.

                + */ + interconnectId?: string; /** *

                Indicates whether the interconnect supports a secondary BGP in the same address family (IPv4/IPv6).

                @@ -1787,6 +1792,21 @@ export interface Interconnect { */ providerName?: string; + /** + *

                The time of the most recent call to DescribeLoa for this connection.

                + */ + loaIssueTime?: Date; + + /** + *

                Indicates whether jumbo frames (9001 MTU) are supported.

                + */ + jumboFrameCapable?: boolean; + + /** + *

                The tags associated with the interconnect.

                + */ + tags?: Tag[]; + /** *

                The state of the interconnect. The following are the possible values:

                *
                  @@ -1823,31 +1843,11 @@ export interface Interconnect { */ interconnectState?: InterconnectState | string; - /** - *

                  The tags associated with the interconnect.

                  - */ - tags?: Tag[]; - - /** - *

                  Indicates whether jumbo frames (9001 MTU) are supported.

                  - */ - jumboFrameCapable?: boolean; - - /** - *

                  The time of the most recent call to DescribeLoa for this connection.

                  - */ - loaIssueTime?: Date; - /** *

                  The ID of the LAG.

                  */ lagId?: string; - /** - *

                  The Direct Connect endpoint on which the physical connection terminates.

                  - */ - awsDevice?: string; - /** *

                  The AWS Region where the connection is located.

                  */ @@ -1877,19 +1877,20 @@ export namespace Interconnect { export interface CreateLagRequest { /** - *

                  The ID of an existing connection to migrate to the LAG.

                  + *

                  The ID of an existing dedicated connection to migrate to the LAG.

                  */ connectionId?: string; /** - *

                  The name of the service provider associated with the LAG.

                  + *

                  The number of physical dedicated connections initially provisioned and bundled by the + * LAG.

                  */ - providerName?: string; + numberOfConnections: number | undefined; /** - *

                  The number of physical connections initially provisioned and bundled by the LAG.

                  + *

                  The name of the service provider associated with the LAG.

                  */ - numberOfConnections: number | undefined; + providerName?: string; /** *

                  The tags to associate with the LAG.

                  @@ -1902,12 +1903,8 @@ export interface CreateLagRequest { childConnectionTags?: Tag[]; /** - *

                  The location for the LAG.

                  - */ - location: string | undefined; - - /** - *

                  The bandwidth of the individual physical connections bundled by the LAG. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps.

                  + *

                  The bandwidth of the individual physical dedicated connections bundled by the LAG. The + * possible values are 1Gbps and 10Gbps.

                  */ connectionsBandwidth: string | undefined; @@ -1915,6 +1912,11 @@ export interface CreateLagRequest { *

                  The name of the LAG.

                  */ lagName: string | undefined; + + /** + *

                  The location for the LAG.

                  + */ + location: string | undefined; } export namespace CreateLagRequest { @@ -1929,31 +1931,6 @@ export type LagState = "available" | "deleted" | "deleting" | "down" | "pending" *

                  Information about a link aggregation group (LAG).

                  */ export interface Lag { - /** - *

                  The name of the service provider associated with the LAG.

                  - */ - providerName?: string; - - /** - *

                  Indicates whether the LAG supports a secondary BGP peer in the same address family (IPv4/IPv6).

                  - */ - hasLogicalRedundancy?: HasLogicalRedundancy | string; - - /** - *

                  The AWS Direct Connect endpoint that hosts the LAG.

                  - */ - awsDeviceV2?: string; - - /** - *

                  The AWS Direct Connect endpoint that hosts the LAG.

                  - */ - awsDevice?: string; - - /** - *

                  The ID of the LAG.

                  - */ - lagId?: string; - /** *

                  The state of the LAG. The following are the possible values:

                  *
                    @@ -1991,9 +1968,19 @@ export interface Lag { lagState?: LagState | string; /** - *

                    Indicates whether jumbo frames (9001 MTU) are supported.

                    + *

                    The name of the service provider associated with the LAG.

                    */ - jumboFrameCapable?: boolean; + providerName?: string; + + /** + *

                    Indicates whether the LAG supports a secondary BGP peer in the same address family (IPv4/IPv6).

                    + */ + hasLogicalRedundancy?: HasLogicalRedundancy | string; + + /** + *

                    The ID of the LAG.

                    + */ + lagId?: string; /** *

                    Indicates whether the LAG can host other connections.

                    @@ -2001,20 +1988,19 @@ export interface Lag { allowsHostedConnections?: boolean; /** - *

                    The individual bandwidth of the physical connections bundled by the LAG. The possible - * values are 1Gbps and 10Gbps.

                    + *

                    The AWS Direct Connect endpoint that hosts the LAG.

                    */ - connectionsBandwidth?: string; + awsDeviceV2?: string; /** - *

                    The tags associated with the LAG.

                    + *

                    Indicates whether jumbo frames (9001 MTU) are supported.

                    */ - tags?: Tag[]; + jumboFrameCapable?: boolean; /** - *

                    The location of the LAG.

                    + *

                    The AWS Direct Connect endpoint that hosts the LAG.

                    */ - location?: string; + awsDevice?: string; /** *

                    The name of the LAG.

                    @@ -2022,27 +2008,43 @@ export interface Lag { lagName?: string; /** - *

                    The number of physical connections bundled by the LAG, up to a maximum of 10.

                    + *

                    The individual bandwidth of the physical connections bundled by the LAG. The possible + * values are 1Gbps and 10Gbps.

                    */ - numberOfConnections?: number; + connectionsBandwidth?: string; /** - *

                    The ID of the AWS account that owns the LAG.

                    + *

                    The location of the LAG.

                    */ - ownerAccount?: string; + location?: string; /** *

                    The connections bundled by the LAG.

                    */ connections?: Connection[]; + /** + *

                    The tags associated with the LAG.

                    + */ + tags?: Tag[]; + + /** + *

                    The ID of the AWS account that owns the LAG.

                    + */ + ownerAccount?: string; + + /** + *

                    The number of physical dedicated connections bundled by the LAG, up to a maximum of 10.

                    + */ + numberOfConnections?: number; + /** *

                    The AWS Region where the connection is located.

                    */ region?: string; /** - *

                    The minimum number of physical connections that must be operational for the LAG itself to be operational.

                    + *

                    The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.

                    */ minimumLinks?: number; } @@ -2054,38 +2056,33 @@ export namespace Lag { } /** - *

                    Information about a private virtual interface.

                    - */ -export interface NewPrivateVirtualInterface { - /** - *

                    The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

                    - */ - authKey?: string; - + *

                    Information about a private virtual interface.

                    + */ +export interface NewPrivateVirtualInterface { /** *

                    The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                    */ virtualInterfaceName: string | undefined; /** - *

                    The ID of the virtual private gateway.

                    + *

                    The IP address assigned to the Amazon interface.

                    */ - virtualGatewayId?: string; + amazonAddress?: string; /** - *

                    The ID of the Direct Connect gateway.

                    + *

                    The address family for the BGP peer.

                    */ - directConnectGatewayId?: string; + addressFamily?: AddressFamily | string; /** - *

                    The ID of the VLAN.

                    + *

                    The ID of the virtual private gateway.

                    */ - vlan: number | undefined; + virtualGatewayId?: string; /** - *

                    The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

                    + *

                    The ID of the Direct Connect gateway.

                    */ - mtu?: number; + directConnectGatewayId?: string; /** *

                    The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                    @@ -2094,9 +2091,9 @@ export interface NewPrivateVirtualInterface { asn: number | undefined; /** - *

                    The address family for the BGP peer.

                    + *

                    The ID of the VLAN.

                    */ - addressFamily?: AddressFamily | string; + vlan: number | undefined; /** *

                    The IP address assigned to the customer interface.

                    @@ -2104,14 +2101,19 @@ export interface NewPrivateVirtualInterface { customerAddress?: string; /** - *

                    The tags associated with the private virtual interface.

                    + *

                    The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

                    */ - tags?: Tag[]; + mtu?: number; /** - *

                    The IP address assigned to the Amazon interface.

                    + *

                    The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

                    */ - amazonAddress?: string; + authKey?: string; + + /** + *

                    The tags associated with the private virtual interface.

                    + */ + tags?: Tag[]; } export namespace NewPrivateVirtualInterface { @@ -2154,19 +2156,14 @@ export interface NewPublicVirtualInterface { routeFilterPrefixes?: RouteFilterPrefix[]; /** - *

                    The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                    - */ - virtualInterfaceName: string | undefined; - - /** - *

                    The IP address assigned to the customer interface.

                    + *

                    The IP address assigned to the Amazon interface.

                    */ - customerAddress?: string; + amazonAddress?: string; /** - *

                    The tags associated with the public virtual interface.

                    + *

                    The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                    */ - tags?: Tag[]; + virtualInterfaceName: string | undefined; /** *

                    The address family for the BGP peer.

                    @@ -2179,9 +2176,14 @@ export interface NewPublicVirtualInterface { authKey?: string; /** - *

                    The IP address assigned to the Amazon interface.

                    + *

                    The tags associated with the public virtual interface.

                    */ - amazonAddress?: string; + tags?: Tag[]; + + /** + *

                    The IP address assigned to the customer interface.

                    + */ + customerAddress?: string; /** *

                    The ID of the VLAN.

                    @@ -2218,19 +2220,19 @@ export namespace CreatePublicVirtualInterfaceRequest { */ export interface NewTransitVirtualInterface { /** - *

                    The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

                    + *

                    The IP address assigned to the customer interface.

                    */ - authKey?: string; + customerAddress?: string; /** - *

                    The IP address assigned to the customer interface.

                    + *

                    The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

                    */ - customerAddress?: string; + authKey?: string; /** - *

                    The ID of the VLAN.

                    + *

                    The IP address assigned to the Amazon interface.

                    */ - vlan?: number; + amazonAddress?: string; /** *

                    The address family for the BGP peer.

                    @@ -2238,9 +2240,9 @@ export interface NewTransitVirtualInterface { addressFamily?: AddressFamily | string; /** - *

                    The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                    + *

                    The ID of the VLAN.

                    */ - virtualInterfaceName?: string; + vlan?: number; /** *

                    The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                    @@ -2249,24 +2251,24 @@ export interface NewTransitVirtualInterface { asn?: number; /** - *

                    The IP address assigned to the Amazon interface.

                    + *

                    The tags associated with the transitive virtual interface.

                    */ - amazonAddress?: string; + tags?: Tag[]; /** - *

                    The tags associated with the transitive virtual interface.

                    + *

                    The ID of the Direct Connect gateway.

                    */ - tags?: Tag[]; + directConnectGatewayId?: string; /** - *

                    The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

                    + *

                    The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).

                    */ - mtu?: number; + virtualInterfaceName?: string; /** - *

                    The ID of the Direct Connect gateway.

                    + *

                    The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

                    */ - directConnectGatewayId?: string; + mtu?: number; } export namespace NewTransitVirtualInterface { @@ -2308,24 +2310,24 @@ export namespace CreateTransitVirtualInterfaceResult { export interface DeleteBGPPeerRequest { /** - *

                    The IP address assigned to the customer interface.

                    + *

                    The ID of the virtual interface.

                    */ - customerAddress?: string; + virtualInterfaceId?: string; /** - *

                    The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                    + *

                    The ID of the BGP peer.

                    */ - asn?: number; + bgpPeerId?: string; /** - *

                    The ID of the virtual interface.

                    + *

                    The IP address assigned to the customer interface.

                    */ - virtualInterfaceId?: string; + customerAddress?: string; /** - *

                    The ID of the BGP peer.

                    + *

                    The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

                    */ - bgpPeerId?: string; + asn?: number; } export namespace DeleteBGPPeerRequest { @@ -2671,6 +2673,14 @@ export namespace DescribeConnectionsOnInterconnectRequest { } export interface DescribeDirectConnectGatewayAssociationProposalsRequest { + /** + *

                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                    + *

                    If MaxResults is given a value larger than 100, only 100 results are + * returned.

                    + */ + maxResults?: number; + /** *

                    The ID of the Direct Connect gateway.

                    */ @@ -2681,14 +2691,6 @@ export interface DescribeDirectConnectGatewayAssociationProposalsRequest { */ proposalId?: string; - /** - *

                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                    - *

                    If MaxResults is given a value larger than 100, only 100 results are - * returned.

                    - */ - maxResults?: number; - /** *

                    The token for the next page of results.

                    */ @@ -2708,14 +2710,14 @@ export namespace DescribeDirectConnectGatewayAssociationProposalsRequest { export interface DescribeDirectConnectGatewayAssociationProposalsResult { /** - *

                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                    + *

                    Describes the Direct Connect gateway association proposals.

                    */ - nextToken?: string; + directConnectGatewayAssociationProposals?: DirectConnectGatewayAssociationProposal[]; /** - *

                    Describes the Direct Connect gateway association proposals.

                    + *

                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                    */ - directConnectGatewayAssociationProposals?: DirectConnectGatewayAssociationProposal[]; + nextToken?: string; } export namespace DescribeDirectConnectGatewayAssociationProposalsResult { @@ -2725,25 +2727,15 @@ export namespace DescribeDirectConnectGatewayAssociationProposalsResult { } export interface DescribeDirectConnectGatewayAssociationsRequest { - /** - *

                    The ID of the Direct Connect gateway association.

                    - */ - associationId?: string; - - /** - *

                    The token provided in the previous call to retrieve the next page.

                    - */ - nextToken?: string; - /** *

                    The ID of the Direct Connect gateway.

                    */ directConnectGatewayId?: string; /** - *

                    The ID of the associated gateway.

                    + *

                    The ID of the Direct Connect gateway association.

                    */ - associatedGatewayId?: string; + associationId?: string; /** *

                    The maximum number of results to return with a single call. @@ -2753,6 +2745,16 @@ export interface DescribeDirectConnectGatewayAssociationsRequest { */ maxResults?: number; + /** + *

                    The token provided in the previous call to retrieve the next page.

                    + */ + nextToken?: string; + + /** + *

                    The ID of the associated gateway.

                    + */ + associatedGatewayId?: string; + /** *

                    The ID of the virtual private gateway.

                    */ @@ -2789,6 +2791,11 @@ export interface DescribeDirectConnectGatewayAttachmentsRequest { */ directConnectGatewayId?: string; + /** + *

                    The token provided in the previous call to retrieve the next page.

                    + */ + nextToken?: string; + /** *

                    The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                    @@ -2797,11 +2804,6 @@ export interface DescribeDirectConnectGatewayAttachmentsRequest { */ maxResults?: number; - /** - *

                    The token provided in the previous call to retrieve the next page.

                    - */ - nextToken?: string; - /** *

                    The ID of the virtual interface.

                    */ @@ -2823,9 +2825,9 @@ export type DirectConnectGatewayAttachmentType = "PrivateVirtualInterface" | "Tr */ export interface DirectConnectGatewayAttachment { /** - *

                    The error message if the state of an object failed to advance.

                    + *

                    The ID of the virtual interface.

                    */ - stateChangeError?: string; + virtualInterfaceId?: string; /** *

                    The ID of the AWS account that owns the virtual interface.

                    @@ -2838,9 +2840,9 @@ export interface DirectConnectGatewayAttachment { directConnectGatewayId?: string; /** - *

                    The ID of the virtual interface.

                    + *

                    The type of attachment.

                    */ - virtualInterfaceId?: string; + attachmentType?: DirectConnectGatewayAttachmentType | string; /** *

                    The state of the attachment. The following are the possible values:

                    @@ -2866,14 +2868,14 @@ export interface DirectConnectGatewayAttachment { attachmentState?: DirectConnectGatewayAttachmentState | string; /** - *

                    The AWS Region where the virtual interface is located.

                    + *

                    The error message if the state of an object failed to advance.

                    */ - virtualInterfaceRegion?: string; + stateChangeError?: string; /** - *

                    The type of attachment.

                    + *

                    The AWS Region where the virtual interface is located.

                    */ - attachmentType?: DirectConnectGatewayAttachmentType | string; + virtualInterfaceRegion?: string; } export namespace DirectConnectGatewayAttachment { @@ -3046,6 +3048,11 @@ export namespace Lags { } export interface DescribeLoaRequest { + /** + *

                    The standard media type for the LOA-CFA document. The only supported value is application/pdf.

                    + */ + loaContentType?: LoaContentType | string; + /** *

                    The ID of a connection, LAG, or interconnect.

                    */ @@ -3056,11 +3063,6 @@ export interface DescribeLoaRequest { * LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.

                    */ providerName?: string; - - /** - *

                    The standard media type for the LOA-CFA document. The only supported value is application/pdf.

                    - */ - loaContentType?: LoaContentType | string; } export namespace DescribeLoaRequest { @@ -3078,6 +3080,11 @@ export interface Location { */ availableProviders?: string[]; + /** + *

                    The AWS Region for the location.

                    + */ + region?: string; + /** *

                    The available port speeds for the location.

                    */ @@ -3088,11 +3095,6 @@ export interface Location { */ locationName?: string; - /** - *

                    The AWS Region for the location.

                    - */ - region?: string; - /** *

                    The code for the location.

                    */ @@ -3169,11 +3171,6 @@ export namespace DescribeTagsResponse { *

                    Information about a virtual private gateway for a private virtual interface.

                    */ export interface VirtualGateway { - /** - *

                    The ID of the virtual private gateway.

                    - */ - virtualGatewayId?: string; - /** *

                    The state of the virtual private gateway. The following are the possible values:

                    *
                      @@ -3196,6 +3193,11 @@ export interface VirtualGateway { *
                    */ virtualGatewayState?: string; + + /** + *

                    The ID of the virtual private gateway.

                    + */ + virtualGatewayId?: string; } export namespace VirtualGateway { @@ -3275,26 +3277,26 @@ export interface ListVirtualInterfaceTestHistoryRequest { */ maxResults?: number; - /** - *

                    The token for the next page of results.

                    - */ - nextToken?: string; - /** *

                    The ID of the virtual interface failover test.

                    */ testId?: string; /** - *

                    The status of the virtual interface failover test.

                    + *

                    The token for the next page of results.

                    */ - status?: string; + nextToken?: string; /** *

                    The BGP peers that were placed in the DOWN state during the virtual interface failover test.

                    */ bgpPeers?: string[]; + /** + *

                    The status of the virtual interface failover test.

                    + */ + status?: string; + /** *

                    The ID of the virtual interface that was tested.

                    */ @@ -3312,9 +3314,9 @@ export namespace ListVirtualInterfaceTestHistoryRequest { */ export interface VirtualInterfaceTestHistory { /** - *

                    The ID of the virtual interface failover test.

                    + *

                    The status of the virtual interface failover test.

                    */ - testId?: string; + status?: string; /** *

                    The owner ID of the tested virtual interface.

                    @@ -3322,14 +3324,14 @@ export interface VirtualInterfaceTestHistory { ownerAccount?: string; /** - *

                    The status of the virtual interface failover test.

                    + *

                    The time that the virtual interface moves out of the DOWN state.

                    */ - status?: string; + endTime?: Date; /** - *

                    The time that the virtual interface moves out of the DOWN state.

                    + *

                    The ID of the tested virtual interface.

                    */ - endTime?: Date; + virtualInterfaceId?: string; /** *

                    The BGP peers that were put in the DOWN state as part of the virtual interface failover test.

                    @@ -3337,19 +3339,19 @@ export interface VirtualInterfaceTestHistory { bgpPeers?: string[]; /** - *

                    The time that the virtual interface moves to the DOWN state.

                    + *

                    The time that the virtual interface failover test ran in minutes.

                    */ - startTime?: Date; + testDurationInMinutes?: number; /** - *

                    The ID of the tested virtual interface.

                    + *

                    The ID of the virtual interface failover test.

                    */ - virtualInterfaceId?: string; + testId?: string; /** - *

                    The time that the virtual interface failover test ran in minutes.

                    + *

                    The time that the virtual interface moves to the DOWN state.

                    */ - testDurationInMinutes?: number; + startTime?: Date; } export namespace VirtualInterfaceTestHistory { @@ -3499,14 +3501,14 @@ export interface UpdateDirectConnectGatewayAssociationRequest { removeAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[]; /** - *

                    The ID of the Direct Connect gateway association.

                    + *

                    The Amazon VPC prefixes to advertise to the Direct Connect gateway.

                    */ - associationId?: string; + addAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[]; /** - *

                    The Amazon VPC prefixes to advertise to the Direct Connect gateway.

                    + *

                    The ID of the Direct Connect gateway association.

                    */ - addAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[]; + associationId?: string; } export namespace UpdateDirectConnectGatewayAssociationRequest { diff --git a/clients/client-directory-service/models/models_0.ts b/clients/client-directory-service/models/models_0.ts index 392365587e6a..e131565e938c 100644 --- a/clients/client-directory-service/models/models_0.ts +++ b/clients/client-directory-service/models/models_0.ts @@ -36,16 +36,16 @@ export enum ShareStatus { */ export interface SharedDirectory { /** - *

                    Identifier of the shared directory in the directory consumer account. This identifier is different for each 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).

                    */ - SharedDirectoryId?: string; + ShareMethod?: ShareMethod | 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.

                    + *

                    Identifier of the directory consumer account that has access to the shared directory (OwnerDirectoryId) in the directory owner account.

                    */ - ShareNotes?: string; + SharedAccountId?: string; /** *

                    The date and time that the shared directory was created.

                    @@ -53,22 +53,21 @@ export interface SharedDirectory { CreatedDateTime?: Date; /** - *

                    The date and time that the shared directory was last updated.

                    + *

                    Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account.

                    */ - LastUpdatedDateTime?: Date; + SharedDirectoryId?: 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).

                    + *

                    Current directory status of the shared AWS Managed Microsoft AD directory.

                    */ - ShareMethod?: ShareMethod | string; + ShareStatus?: ShareStatus | string; /** - *

                    Identifier of the directory owner account, which contains the directory that has been - * shared to the consumer account.

                    + *

                    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.

                    */ - OwnerAccountId?: string; + ShareNotes?: string; /** *

                    Identifier of the directory in the directory owner account.

                    @@ -76,14 +75,15 @@ export interface SharedDirectory { OwnerDirectoryId?: string; /** - *

                    Current directory status of the shared AWS Managed Microsoft AD directory.

                    + *

                    The date and time that the shared directory was last updated.

                    */ - ShareStatus?: ShareStatus | string; + LastUpdatedDateTime?: Date; /** - *

                    Identifier of the directory consumer account that has access to the shared directory (OwnerDirectoryId) in the directory owner account.

                    + *

                    Identifier of the directory owner account, which contains the directory that has been + * shared to the consumer account.

                    */ - SharedAccountId?: string; + OwnerAccountId?: string; } export namespace SharedDirectory { @@ -137,14 +137,14 @@ export interface DirectoryAlreadySharedException extends __SmithyException, $Met name: "DirectoryAlreadySharedException"; $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 DirectoryAlreadySharedException { @@ -206,14 +206,14 @@ export interface ServiceException extends __SmithyException, $MetadataBearer { name: "ServiceException"; $fault: "server"; /** - *

                    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 ServiceException { @@ -267,16 +267,6 @@ 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: @@ -346,6 +336,16 @@ 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 { @@ -392,14 +392,14 @@ export interface EntityAlreadyExistsException extends __SmithyException, $Metada name: "EntityAlreadyExistsException"; $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 EntityAlreadyExistsException { @@ -415,14 +415,14 @@ export interface IpRouteLimitExceededException extends __SmithyException, $Metad name: "IpRouteLimitExceededException"; $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 IpRouteLimitExceededException { @@ -436,14 +436,14 @@ export namespace IpRouteLimitExceededException { */ 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}_.:/=+\\-]*)$").

                    + *

                    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}_.:/=+\\-]*)$").

                    */ - Value: string | undefined; + Key: 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}_.:/=+\\-]*)$").

                    + *

                    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}_.:/=+\\-]*)$").

                    */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -454,14 +454,14 @@ export namespace Tag { export interface AddTagsToResourceRequest { /** - *

                    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; /** - *

                    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; } export namespace AddTagsToResourceRequest { @@ -506,14 +506,14 @@ export namespace TagLimitExceededException { */ export interface Attribute { /** - *

                    The name of the attribute.

                    + *

                    The value of the attribute.

                    */ - Name?: string; + Value?: string; /** - *

                    The value of the attribute.

                    + *

                    The name of the attribute.

                    */ - Value?: string; + Name?: string; } export namespace Attribute { @@ -547,14 +547,14 @@ export namespace AuthenticationFailedException { export interface CancelSchemaExtensionRequest { /** - *

                    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; /** - *

                    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; } export namespace CancelSchemaExtensionRequest { @@ -585,9 +585,9 @@ export enum CertificateState { */ export interface Certificate { /** - *

                    The common name for the certificate.

                    + *

                    The date and time that the certificate was registered.

                    */ - CommonName?: string; + RegisteredDateTime?: Date; /** *

                    The identifier of the certificate.

                    @@ -595,14 +595,14 @@ export interface Certificate { CertificateId?: string; /** - *

                    The state of the certificate.

                    + *

                    The common name for the certificate.

                    */ - State?: CertificateState | string; + CommonName?: string; /** - *

                    The date and time when the certificate will expire.

                    + *

                    The state of the certificate.

                    */ - ExpiryDateTime?: Date; + State?: CertificateState | string; /** *

                    Describes a state change for the certificate.

                    @@ -610,9 +610,9 @@ export interface Certificate { StateReason?: string; /** - *

                    The date and time that the certificate was registered.

                    + *

                    The date and time when the certificate will expire.

                    */ - RegisteredDateTime?: Date; + ExpiryDateTime?: Date; } export namespace Certificate { @@ -628,14 +628,14 @@ export interface CertificateAlreadyExistsException extends __SmithyException, $M name: "CertificateAlreadyExistsException"; $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 CertificateAlreadyExistsException { @@ -671,11 +671,6 @@ export namespace CertificateDoesNotExistException { *

                    Contains general information about a certificate.

                    */ export interface CertificateInfo { - /** - *

                    The date and time when the certificate will expire.

                    - */ - ExpiryDateTime?: Date; - /** *

                    The identifier of the certificate.

                    */ @@ -690,6 +685,11 @@ export interface CertificateInfo { *

                    The state of the certificate.

                    */ State?: CertificateState | string; + + /** + *

                    The date and time when the certificate will expire.

                    + */ + ExpiryDateTime?: Date; } export namespace CertificateInfo { @@ -755,15 +755,15 @@ export interface Computer { ComputerId?: string; /** - *

                    An array of Attribute objects containing the LDAP attributes that belong to the - * computer account.

                    + *

                    The computer name.

                    */ - ComputerAttributes?: Attribute[]; + ComputerName?: string; /** - *

                    The computer name.

                    + *

                    An array of Attribute objects containing the LDAP attributes that belong to the + * computer account.

                    */ - ComputerName?: string; + ComputerAttributes?: Attribute[]; } export namespace Computer { @@ -780,6 +780,13 @@ export enum ReplicationScope { *

                    Points to a remote domain with which you are setting up a trust relationship. Conditional forwarders are required in order to set up a trust relationship with another domain.

                    */ 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.

                    + */ + ReplicationScope?: ReplicationScope | 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.

                    */ @@ -789,13 +796,6 @@ export interface ConditionalForwarder { *

                    The fully qualified domain name (FQDN) of the remote domains pointed to by the conditional forwarder.

                    */ RemoteDomainName?: string; - - /** - *

                    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.

                    - */ - ReplicationScope?: ReplicationScope | string; } export namespace ConditionalForwarder { @@ -809,11 +809,6 @@ export namespace ConditionalForwarder { * directory is being created.

                    */ export interface DirectoryConnectSettings { - /** - *

                    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.

                    */ @@ -836,6 +831,11 @@ 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.

                    */ @@ -858,26 +858,25 @@ export enum DirectorySize { */ export interface ConnectDirectoryRequest { /** - *

                    The password for the on-premises user account.

                    + *

                    The tags to be assigned to AD Connector.

                    */ - Password: string | undefined; + Tags?: Tag[]; /** - *

                    The size of the directory.

                    + *

                    A DirectoryConnectSettings object that contains additional information for the + * operation.

                    */ - Size: DirectorySize | string | undefined; + ConnectSettings: DirectoryConnectSettings | undefined; /** - *

                    The fully qualified name of the on-premises directory, such as - * corp.example.com.

                    + *

                    A description for the directory.

                    */ - Name: string | undefined; + Description?: string; /** - *

                    A DirectoryConnectSettings object that contains additional information for the - * operation.

                    + *

                    The size of the directory.

                    */ - ConnectSettings: DirectoryConnectSettings | undefined; + Size: DirectorySize | string | undefined; /** *

                    The NetBIOS name of the on-premises directory, such as CORP.

                    @@ -885,14 +884,15 @@ export interface ConnectDirectoryRequest { ShortName?: string; /** - *

                    The tags to be assigned to AD Connector.

                    + *

                    The password for the on-premises user account.

                    */ - Tags?: Tag[]; + Password: string | undefined; /** - *

                    A description for the directory.

                    + *

                    The fully qualified name of the on-premises directory, such as + * corp.example.com.

                    */ - Description?: string; + Name: string | undefined; } export namespace ConnectDirectoryRequest { @@ -927,14 +927,14 @@ export interface DirectoryLimitExceededException extends __SmithyException, $Met name: "DirectoryLimitExceededException"; $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 DirectoryLimitExceededException { @@ -947,17 +947,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 { @@ -971,14 +971,14 @@ export namespace CreateAliasRequest { */ export interface CreateAliasResult { /** - *

                    The alias for the directory.

                    + *

                    The identifier of the directory.

                    */ - Alias?: string; + DirectoryId?: string; /** - *

                    The identifier of the directory.

                    + *

                    The alias for the directory.

                    */ - DirectoryId?: string; + Alias?: string; } export namespace CreateAliasResult { @@ -992,30 +992,30 @@ export namespace CreateAliasResult { */ export interface CreateComputerRequest { /** - *

                    The fully-qualified distinguished name of the organizational unit to place the computer account in.

                    + *

                    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.

                    */ - OrganizationalUnitDistinguishedName?: string; + Password: string | undefined; /** - *

                    The identifier of the directory in which to create the computer account.

                    + *

                    An array of Attribute objects that contain any LDAP attributes to apply to the + * computer account.

                    */ - DirectoryId: string | undefined; + ComputerAttributes?: Attribute[]; /** - *

                    The name of the computer account.

                    + *

                    The fully-qualified distinguished name of the organizational unit to place the computer account in.

                    */ - ComputerName: string | undefined; + OrganizationalUnitDistinguishedName?: string; /** - *

                    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.

                    + *

                    The name of the computer account.

                    */ - Password: string | undefined; + ComputerName: string | undefined; /** - *

                    An array of Attribute objects that contain any LDAP attributes to apply to the - * computer account.

                    + *

                    The identifier of the directory in which to create the computer account.

                    */ - ComputerAttributes?: Attribute[]; + DirectoryId: string | undefined; } export namespace CreateComputerRequest { @@ -1048,14 +1048,14 @@ export interface UnsupportedOperationException extends __SmithyException, $Metad name: "UnsupportedOperationException"; $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 UnsupportedOperationException { @@ -1069,9 +1069,9 @@ export namespace UnsupportedOperationException { */ export interface CreateConditionalForwarderRequest { /** - *

                    The directory ID of the AWS directory for which you are creating the conditional forwarder.

                    + *

                    The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

                    */ - DirectoryId: string | undefined; + RemoteDomainName: string | undefined; /** *

                    The IP addresses of the remote DNS server associated with RemoteDomainName.

                    @@ -1079,9 +1079,9 @@ export interface CreateConditionalForwarderRequest { DnsIpAddrs: string[] | undefined; /** - *

                    The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

                    + *

                    The directory ID of the AWS directory for which you are creating the conditional forwarder.

                    */ - RemoteDomainName: string | undefined; + DirectoryId: string | undefined; } export namespace CreateConditionalForwarderRequest { @@ -1127,27 +1127,27 @@ export namespace DirectoryVpcSettings { */ export interface CreateDirectoryRequest { /** - *

                    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.

                    */ - Description?: string; + Password: string | undefined; /** - *

                    The size of the directory.

                    + *

                    The NetBIOS name of the directory, such as CORP.

                    */ - Size: DirectorySize | string | undefined; + ShortName?: string; /** - *

                    The fully qualified name for the directory, such as corp.example.com.

                    + *

                    The tags to be assigned to the Simple AD directory.

                    */ - Name: string | undefined; + Tags?: Tag[]; /** - *

                    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 fully qualified name for the directory, such as corp.example.com.

                    */ - Password: string | undefined; + Name: string | undefined; /** *

                    A DirectoryVpcSettings object that contains additional information for the @@ -1156,14 +1156,14 @@ export interface CreateDirectoryRequest { VpcSettings?: DirectoryVpcSettings; /** - *

                    The NetBIOS name of the directory, such as CORP.

                    + *

                    A description for the directory.

                    */ - ShortName?: string; + Description?: string; /** - *

                    The tags to be assigned to the Simple AD directory.

                    + *

                    The size of the directory.

                    */ - Tags?: Tag[]; + Size: DirectorySize | string | undefined; } export namespace CreateDirectoryRequest { @@ -1191,15 +1191,15 @@ export namespace CreateDirectoryResult { export interface CreateLogSubscriptionRequest { /** - *

                    Identifier of the directory to which you want to subscribe and receive real-time logs - * to your specified CloudWatch log group.

                    + *

                    The name of the CloudWatch log group where the real-time domain controller logs are forwarded.

                    */ - DirectoryId: string | undefined; + LogGroupName: string | undefined; /** - *

                    The name of the CloudWatch log group where the real-time domain controller logs are forwarded.

                    + *

                    Identifier of the directory to which you want to subscribe and receive real-time logs + * to your specified CloudWatch log group.

                    */ - LogGroupName: string | undefined; + DirectoryId: string | undefined; } export namespace CreateLogSubscriptionRequest { @@ -1249,42 +1249,42 @@ export enum DirectoryEdition { */ export interface CreateMicrosoftADRequest { /** - *

                    The tags to be assigned to the AWS Managed Microsoft AD directory.

                    + *

                    A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

                    */ - Tags?: Tag[]; + Description?: string; /** - *

                    A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

                    + *

                    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.

                    */ - Description?: string; + ShortName?: 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.

                    + *

                    Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

                    */ - Name: string | undefined; + VpcSettings: DirectoryVpcSettings | undefined; /** - *

                    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.

                    + *

                    The tags to be assigned to the AWS Managed Microsoft AD directory.

                    */ - Password: string | undefined; + Tags?: Tag[]; /** - *

                    AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

                    + *

                    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.

                    */ - Edition?: DirectoryEdition | string; + Password: string | 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.

                    + *

                    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.

                    */ - ShortName?: string; + Name: string | undefined; /** - *

                    Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

                    + *

                    AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

                    */ - VpcSettings: DirectoryVpcSettings | undefined; + Edition?: DirectoryEdition | string; } export namespace CreateMicrosoftADRequest { @@ -1394,14 +1394,9 @@ export enum TrustType { */ export interface CreateTrustRequest { /** - *

                    The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

                    - */ - DirectoryId: string | undefined; - - /** - *

                    The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.

                    + *

                    The trust relationship type. Forest is the default.

                    */ - RemoteDomainName: string | undefined; + TrustType?: TrustType | string; /** *

                    Optional parameter to enable selective authentication for the trust.

                    @@ -1409,14 +1404,9 @@ export interface CreateTrustRequest { SelectiveAuth?: SelectiveAuth | string; /** - *

                    The trust relationship type. Forest is the default.

                    - */ - TrustType?: TrustType | string; - - /** - *

                    The direction of the trust relationship.

                    + *

                    The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.

                    */ - TrustDirection: TrustDirection | string | undefined; + RemoteDomainName: string | undefined; /** *

                    The IP addresses of the remote DNS server associated with RemoteDomainName.

                    @@ -1427,6 +1417,16 @@ export interface CreateTrustRequest { *

                    The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

                    */ TrustPassword: string | undefined; + + /** + *

                    The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

                    + */ + DirectoryId: string | undefined; + + /** + *

                    The direction of the trust relationship.

                    + */ + TrustDirection: TrustDirection | string | undefined; } export namespace CreateTrustRequest { @@ -1457,14 +1457,14 @@ export namespace CreateTrustResult { */ export interface DeleteConditionalForwarderRequest { /** - *

                    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; /** - *

                    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; } export namespace DeleteConditionalForwarderRequest { @@ -1574,14 +1574,14 @@ export namespace DeleteSnapshotResult { */ export interface DeleteTrustRequest { /** - *

                    Delete a conditional forwarder as part of a DeleteTrustRequest.

                    + *

                    The Trust ID of the trust relationship to be deleted.

                    */ - DeleteAssociatedConditionalForwarder?: boolean; + TrustId: string | undefined; /** - *

                    The Trust ID of the trust relationship to be deleted.

                    + *

                    Delete a conditional forwarder as part of a DeleteTrustRequest.

                    */ - TrustId: string | undefined; + DeleteAssociatedConditionalForwarder?: boolean; } export namespace DeleteTrustRequest { @@ -1689,14 +1689,14 @@ export namespace DeregisterEventTopicResult { export interface DescribeCertificateRequest { /** - *

                    The identifier of the certificate.

                    + *

                    The identifier of the directory.

                    */ - CertificateId: string | undefined; + DirectoryId: string | undefined; /** - *

                    The identifier of the directory.

                    + *

                    The identifier of the certificate.

                    */ - DirectoryId: string | undefined; + CertificateId: string | undefined; } export namespace DescribeCertificateRequest { @@ -1724,14 +1724,14 @@ export namespace DescribeCertificateResult { */ export interface DescribeConditionalForwardersRequest { /** - *

                    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; /** - *

                    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[]; } export namespace DescribeConditionalForwardersRequest { @@ -1761,10 +1761,10 @@ export namespace DescribeConditionalForwardersResult { */ export interface DescribeDirectoriesRequest { /** - *

                    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[]; /** *

                    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.

                    @@ -1772,10 +1772,10 @@ export interface DescribeDirectoriesRequest { Limit?: number; /** - *

                    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; } export namespace DescribeDirectoriesRequest { @@ -1789,19 +1789,14 @@ export namespace DescribeDirectoriesRequest { */ export interface DirectoryConnectSettingsDescription { /** - *

                    The security group identifier for the AD Connector directory.

                    - */ - SecurityGroupId?: string; - - /** - *

                    The IP addresses of the AD Connector servers.

                    + *

                    A list of subnet identifiers in the VPC that the AD Connector is in.

                    */ - ConnectIps?: string[]; + SubnetIds?: string[]; /** - *

                    A list of subnet identifiers in the VPC that the AD Connector is in.

                    + *

                    The security group identifier for the AD Connector directory.

                    */ - SubnetIds?: string[]; + SecurityGroupId?: string; /** *

                    The identifier of the VPC that the AD Connector is in.

                    @@ -1809,14 +1804,19 @@ export interface DirectoryConnectSettingsDescription { VpcId?: string; /** - *

                    The user name of the service account in the on-premises directory.

                    + *

                    The IP addresses of the AD Connector servers.

                    */ - CustomerUserName?: string; + ConnectIps?: string[]; /** *

                    A list of the Availability Zones that the directory is in.

                    */ AvailabilityZones?: string[]; + + /** + *

                    The user name of the service account in the on-premises directory.

                    + */ + CustomerUserName?: string; } export namespace DirectoryConnectSettingsDescription { @@ -1837,44 +1837,44 @@ export enum RadiusAuthenticationProtocol { */ export interface RadiusSettings { /** - *

                    Not currently used.

                    + *

                    An array of strings that contains the IP addresses of the RADIUS server endpoints, or the IP addresses of your RADIUS server load balancer.

                    */ - UseSameUsername?: boolean; + RadiusServers?: string[]; /** - *

                    The amount of time, in seconds, to wait for the RADIUS server to respond.

                    + *

                    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.

                    */ - RadiusTimeout?: number; + RadiusPort?: number; /** - *

                    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.

                    + *

                    The protocol specified for your RADIUS endpoints.

                    */ - RadiusPort?: number; + AuthenticationProtocol?: RadiusAuthenticationProtocol | string; /** - *

                    Required for enabling RADIUS on the directory.

                    + *

                    The maximum number of times that communication with the RADIUS server is attempted.

                    */ - SharedSecret?: string; + RadiusRetries?: number; /** - *

                    An array of strings that contains the IP addresses of the RADIUS server endpoints, or the IP addresses of your RADIUS server load balancer.

                    + *

                    The amount of time, in seconds, to wait for the RADIUS server to respond.

                    */ - RadiusServers?: string[]; + RadiusTimeout?: number; /** - *

                    The maximum number of times that communication with the RADIUS server is attempted.

                    + *

                    Not currently used.

                    */ - RadiusRetries?: number; + DisplayLabel?: string; /** - *

                    The protocol specified for your RADIUS endpoints.

                    + *

                    Required for enabling RADIUS on the directory.

                    */ - AuthenticationProtocol?: RadiusAuthenticationProtocol | string; + SharedSecret?: string; /** *

                    Not currently used.

                    */ - DisplayLabel?: string; + UseSameUsername?: boolean; } export namespace RadiusSettings { @@ -1895,14 +1895,14 @@ export enum RadiusStatus { */ export interface DirectoryVpcSettingsDescription { /** - *

                    The identifiers of the subnets for the directory servers.

                    + *

                    The list of Availability Zones that the directory is in.

                    */ - SubnetIds?: string[]; + AvailabilityZones?: string[]; /** - *

                    The list of Availability Zones that the directory is in.

                    + *

                    The domain controller security group identifier for the directory.

                    */ - AvailabilityZones?: string[]; + SecurityGroupId?: string; /** *

                    The identifier of the VPC that the directory is in.

                    @@ -1910,9 +1910,9 @@ export interface DirectoryVpcSettingsDescription { VpcId?: string; /** - *

                    The domain controller security group identifier for the directory.

                    + *

                    The identifiers of the subnets for the directory servers.

                    */ - SecurityGroupId?: string; + SubnetIds?: string[]; } export namespace DirectoryVpcSettingsDescription { @@ -1931,14 +1931,9 @@ export interface OwnerDirectoryDescription { RadiusStatus?: RadiusStatus | string; /** - *

                    IP address of the directory’s domain controllers.

                    - */ - DnsIpAddrs?: string[]; - - /** - *

                    A RadiusSettings object that contains information about the RADIUS server.

                    + *

                    Identifier of the AWS Managed Microsoft AD directory in the directory owner account.

                    */ - RadiusSettings?: RadiusSettings; + DirectoryId?: string; /** *

                    Identifier of the directory owner account.

                    @@ -1946,14 +1941,19 @@ export interface OwnerDirectoryDescription { AccountId?: string; /** - *

                    Identifier of the AWS Managed Microsoft AD directory in the directory owner account.

                    + *

                    A RadiusSettings object that contains information about the RADIUS server.

                    */ - DirectoryId?: string; + RadiusSettings?: RadiusSettings; /** *

                    Information about the VPC settings for the directory.

                    */ VpcSettings?: DirectoryVpcSettingsDescription; + + /** + *

                    IP address of the directory’s domain controllers.

                    + */ + DnsIpAddrs?: string[]; } export namespace OwnerDirectoryDescription { @@ -1989,106 +1989,99 @@ export enum DirectoryType { */ export interface DirectoryDescription { /** - *

                    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.

                    - */ - ConnectSettings?: DirectoryConnectSettingsDescription; - - /** - *

                    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 description for the directory.

                    */ - ShareNotes?: string; + Description?: string; /** - *

                    The current stage of the directory.

                    + *

                    Specifies when the directory was created.

                    */ - Stage?: DirectoryStage | string; + LaunchTime?: Date; /** - *

                    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).

                    + *

                    Indicates if single sign-on is enabled for the directory. For more information, see + * EnableSso and DisableSso.

                    */ - ShareMethod?: ShareMethod | string; + SsoEnabled?: boolean; /** *

                    The directory size.

                    */ - Type?: DirectoryType | string; + Size?: DirectorySize | string; /** - *

                    The status of the RADIUS MFA server connection.

                    + *

                    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.

                    */ - RadiusStatus?: RadiusStatus | string; + DnsIpAddrs?: string[]; /** - *

                    The short name of the directory.

                    + *

                    Current directory status of the shared AWS Managed Microsoft AD directory.

                    */ - ShortName?: string; + ShareStatus?: ShareStatus | 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 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.

                    */ - Alias?: string; + ShareNotes?: string; /** - *

                    Additional information about the directory stage.

                    + *

                    The fully qualified name of the directory.

                    */ - StageReason?: string; + 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; /** - *

                    Describes the AWS Managed Microsoft AD directory in the directory owner account.

                    + *

                    The short name of the directory.

                    */ - OwnerDirectoryDescription?: OwnerDirectoryDescription; + ShortName?: string; /** - *

                    The description for 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).

                    */ - Description?: 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.

                    + *

                    Additional information about the directory stage.

                    */ - VpcSettings?: DirectoryVpcSettingsDescription; + StageReason?: string; /** - *

                    A RadiusSettings object that contains information about the RADIUS server configured - * for this directory.

                    + *

                    The edition associated with this directory.

                    */ - RadiusSettings?: RadiusSettings; + Edition?: DirectoryEdition | string; /** - *

                    The fully qualified name of the directory.

                    + *

                    The directory identifier.

                    */ - Name?: string; + DirectoryId?: string; /** - *

                    The directory identifier.

                    + *

                    The desired number of domain controllers in the directory if the directory is Microsoft AD.

                    */ - DirectoryId?: string; + DesiredNumberOfDomainControllers?: number; /** - *

                    The directory size.

                    + *

                    The status of the RADIUS MFA server connection.

                    */ - Size?: DirectorySize | string; + RadiusStatus?: RadiusStatus | string; /** - *

                    Specifies when the directory was created.

                    + *

                    The alias for the + * directory. If no + * alias has been created for the directory, the alias is the directory identifier, such as + * d-XXXXXXXXXX.

                    */ - LaunchTime?: Date; + Alias?: string; /** *

                    The access URL for the directory, such as @@ -2099,30 +2092,37 @@ export interface DirectoryDescription { AccessUrl?: string; /** - *

                    The edition associated with this directory.

                    + *

                    Describes the AWS Managed Microsoft AD directory in the directory owner account.

                    */ - Edition?: DirectoryEdition | string; + OwnerDirectoryDescription?: OwnerDirectoryDescription; /** - *

                    The desired number of domain controllers in the directory if the directory is Microsoft AD.

                    + *

                    The date and time that the stage was last updated.

                    */ - DesiredNumberOfDomainControllers?: number; + StageLastUpdatedDateTime?: 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.

                    + *

                    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.

                    */ - DnsIpAddrs?: string[]; + ConnectSettings?: DirectoryConnectSettingsDescription; /** - *

                    Current directory status of the shared AWS Managed Microsoft AD directory.

                    + *

                    The current stage of the directory.

                    */ - ShareStatus?: ShareStatus | string; + Stage?: DirectoryStage | string; /** - *

                    Indicates if single sign-on is enabled for the directory. For more information, see - * EnableSso and DisableSso.

                    + *

                    A RadiusSettings object that contains information about the RADIUS server configured + * for this directory.

                    */ - SsoEnabled?: boolean; + RadiusSettings?: RadiusSettings; + + /** + *

                    The directory size.

                    + */ + Type?: DirectoryType | string; } export namespace DirectoryDescription { @@ -2140,12 +2140,6 @@ export namespace DirectoryDescription { *

                    Contains the results of the DescribeDirectories operation.

                    */ export interface DescribeDirectoriesResult { - /** - *

                    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.

                    - */ - NextToken?: string; - /** *

                    The list of DirectoryDescription objects that were retrieved.

                    *

                    It is possible that this list contains less than the number of items specified in the @@ -2154,6 +2148,12 @@ export interface DescribeDirectoriesResult { * exceeded.

                    */ DirectoryDescriptions?: DirectoryDescription[]; + + /** + *

                    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.

                    + */ + NextToken?: string; } export namespace DescribeDirectoriesResult { @@ -2172,14 +2172,14 @@ export interface InvalidNextTokenException extends __SmithyException, $MetadataB name: "InvalidNextTokenException"; $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 InvalidNextTokenException { @@ -2189,11 +2189,6 @@ export namespace InvalidNextTokenException { } export interface DescribeDomainControllersRequest { - /** - *

                    The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

                    - */ - NextToken?: string; - /** *

                    Identifier of the directory for which to retrieve the domain controller information.

                    */ @@ -2208,6 +2203,11 @@ export interface DescribeDomainControllersRequest { *

                    The maximum number of items to return.

                    */ Limit?: number; + + /** + *

                    The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

                    + */ + NextToken?: string; } export namespace DescribeDomainControllersRequest { @@ -2231,29 +2231,29 @@ export enum DomainControllerStatus { */ export interface DomainController { /** - *

                    A description of the domain controller state.

                    + *

                    The date and time that the status was last updated.

                    */ - StatusReason?: string; + StatusLastUpdatedDateTime?: Date; /** - *

                    Identifier of the subnet in the VPC that contains the domain controller.

                    + *

                    Specifies when the domain controller was created.

                    */ - SubnetId?: string; + LaunchTime?: Date; /** - *

                    The date and time that the status was last updated.

                    + *

                    Identifier of the directory where the domain controller resides.

                    */ - StatusLastUpdatedDateTime?: Date; + DirectoryId?: string; /** - *

                    Specifies when the domain controller was created.

                    + *

                    A description of the domain controller state.

                    */ - LaunchTime?: Date; + StatusReason?: string; /** - *

                    The IP address of the domain controller.

                    + *

                    Identifies a specific domain controller in the directory.

                    */ - DnsIpAddr?: string; + DomainControllerId?: string; /** *

                    The status of the domain controller.

                    @@ -2261,9 +2261,9 @@ export interface DomainController { Status?: DomainControllerStatus | string; /** - *

                    Identifier of the directory where the domain controller resides.

                    + *

                    The identifier of the VPC that contains the domain controller.

                    */ - DirectoryId?: string; + VpcId?: string; /** *

                    The Availability Zone where the domain controller is located.

                    @@ -2271,14 +2271,14 @@ export interface DomainController { AvailabilityZone?: string; /** - *

                    The identifier of the VPC that contains the domain controller.

                    + *

                    The IP address of the domain controller.

                    */ - VpcId?: string; + DnsIpAddr?: string; /** - *

                    Identifies a specific domain controller in the directory.

                    + *

                    Identifier of the subnet in the VPC that contains the domain controller.

                    */ - DomainControllerId?: string; + SubnetId?: string; } export namespace DomainController { @@ -2289,14 +2289,14 @@ export namespace DomainController { export interface DescribeDomainControllersResult { /** - *

                    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; /** - *

                    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[]; } export namespace DescribeDomainControllersResult { @@ -2309,16 +2309,16 @@ export namespace DescribeDomainControllersResult { *

                    Describes event topics.

                    */ export interface DescribeEventTopicsRequest { - /** - *

                    The Directory ID for which to get the list of associated SNS topics. If this member is null, associations for all Directory IDs are returned.

                    - */ - DirectoryId?: string; - /** *

                    A list of SNS topic names for which to obtain the information. If this member is null, all associations for the specified Directory ID are returned.

                    *

                    An empty list results in an InvalidParameterException being thrown.

                    */ TopicNames?: string[]; + + /** + *

                    The Directory ID for which to get the list of associated SNS topics. If this member is null, associations for all Directory IDs are returned.

                    + */ + DirectoryId?: string; } export namespace DescribeEventTopicsRequest { @@ -2339,9 +2339,9 @@ export enum TopicStatus { */ export interface EventTopic { /** - *

                    The SNS topic ARN (Amazon Resource Name).

                    + *

                    The date and time of when you associated your directory with the SNS topic.

                    */ - TopicArn?: string; + CreatedDateTime?: Date; /** *

                    The name of an AWS SNS topic the receives status messages from the directory.

                    @@ -2349,19 +2349,19 @@ export interface EventTopic { TopicName?: string; /** - *

                    The date and time of when you associated your directory with the SNS topic.

                    + *

                    The SNS topic ARN (Amazon Resource Name).

                    */ - CreatedDateTime?: Date; + TopicArn?: string; /** - *

                    The topic registration status.

                    + *

                    The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

                    */ - Status?: TopicStatus | string; + DirectoryId?: string; /** - *

                    The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

                    + *

                    The topic registration status.

                    */ - DirectoryId?: string; + Status?: TopicStatus | string; } export namespace EventTopic { @@ -2392,24 +2392,24 @@ export enum LDAPSType { export interface DescribeLDAPSSettingsRequest { /** - *

                    The type of LDAP security to enable. Currently only the value Client is supported.

                    + *

                    Specifies the number of items that should be displayed on one page.

                    */ - Type?: LDAPSType | string; + Limit?: number; /** - *

                    Specifies the number of items that should be displayed on one page.

                    + *

                    The identifier of the directory.

                    */ - Limit?: number; + DirectoryId: string | undefined; /** - *

                    The type of next token used for pagination.

                    + *

                    The type of LDAP security to enable. Currently only the value Client is supported.

                    */ - NextToken?: string; + Type?: LDAPSType | string; /** - *

                    The identifier of the directory.

                    + *

                    The type of next token used for pagination.

                    */ - DirectoryId: string | undefined; + NextToken?: string; } export namespace DescribeLDAPSSettingsRequest { @@ -2435,14 +2435,14 @@ export interface LDAPSSettingInfo { LDAPSStatusReason?: string; /** - *

                    The date and time when the LDAPS settings were last updated.

                    + *

                    The state of the LDAPS settings.

                    */ - LastUpdatedDateTime?: Date; + LDAPSStatus?: LDAPSStatus | string; /** - *

                    The state of the LDAPS settings.

                    + *

                    The date and time when the LDAPS settings were last updated.

                    */ - LDAPSStatus?: LDAPSStatus | string; + LastUpdatedDateTime?: Date; } export namespace LDAPSSettingInfo { @@ -2471,11 +2471,6 @@ export namespace DescribeLDAPSSettingsResult { } export interface DescribeSharedDirectoriesRequest { - /** - *

                    A list of identifiers of all shared directories in your account.

                    - */ - SharedDirectoryIds?: string[]; - /** *

                    The DescribeSharedDirectoriesResult.NextToken value from a previous call to * DescribeSharedDirectories. Pass null if this is the first call. @@ -2483,15 +2478,20 @@ export interface DescribeSharedDirectoriesRequest { */ NextToken?: string; + /** + *

                    Returns the identifier of the directory in the directory owner account.

                    + */ + OwnerDirectoryId: string | undefined; + /** *

                    The number of shared directories to return in the response object.

                    */ 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[]; } export namespace DescribeSharedDirectoriesRequest { @@ -2527,9 +2527,11 @@ export namespace DescribeSharedDirectoriesResult { */ export interface DescribeSnapshotsRequest { /** - *

                    The identifier of the directory for which to retrieve snapshot information.

                    + *

                    A list of identifiers of the snapshots to obtain the information for. If this member is + * null or empty, all snapshots are returned using the Limit and NextToken + * members.

                    */ - DirectoryId?: string; + SnapshotIds?: string[]; /** *

                    The maximum number of objects to return.

                    @@ -2537,11 +2539,9 @@ export interface DescribeSnapshotsRequest { Limit?: number; /** - *

                    A list of identifiers of the snapshots to obtain the information for. If this member is - * null or empty, all snapshots are returned using the Limit and NextToken - * members.

                    + *

                    The identifier of the directory for which to retrieve snapshot information.

                    */ - SnapshotIds?: string[]; + DirectoryId?: string; /** *

                    The DescribeSnapshotsResult.NextToken value from a previous call to @@ -2572,24 +2572,24 @@ export enum SnapshotType { */ export interface Snapshot { /** - *

                    The snapshot status.

                    + *

                    The date and time that the snapshot was taken.

                    */ - Status?: SnapshotStatus | string; + StartTime?: Date; /** - *

                    The snapshot identifier.

                    + *

                    The descriptive name of the snapshot.

                    */ - SnapshotId?: string; + Name?: string; /** - *

                    The date and time that the snapshot was taken.

                    + *

                    The snapshot status.

                    */ - StartTime?: Date; + Status?: SnapshotStatus | string; /** - *

                    The descriptive name of the snapshot.

                    + *

                    The directory identifier.

                    */ - Name?: string; + DirectoryId?: string; /** *

                    The snapshot type.

                    @@ -2597,9 +2597,9 @@ export interface Snapshot { Type?: SnapshotType | string; /** - *

                    The directory identifier.

                    + *

                    The snapshot identifier.

                    */ - DirectoryId?: string; + SnapshotId?: string; } export namespace Snapshot { @@ -2612,12 +2612,6 @@ export namespace Snapshot { *

                    Contains the results of the DescribeSnapshots operation.

                    */ export interface DescribeSnapshotsResult { - /** - *

                    If not null, more results are available. Pass this value in the NextToken member of - * a subsequent call to DescribeSnapshots.

                    - */ - NextToken?: string; - /** *

                    The list of Snapshot objects that were retrieved.

                    *

                    It is possible that this list contains less than the number of items specified in the @@ -2626,6 +2620,12 @@ export interface DescribeSnapshotsResult { * exceeded.

                    */ Snapshots?: Snapshot[]; + + /** + *

                    If not null, more results are available. Pass this value in the NextToken member of + * a subsequent call to DescribeSnapshots.

                    + */ + NextToken?: string; } export namespace DescribeSnapshotsResult { @@ -2639,14 +2639,15 @@ export namespace DescribeSnapshotsResult { */ export interface DescribeTrustsRequest { /** - *

                    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; /** - *

                    The maximum number of objects to return.

                    + *

                    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.

                    */ - Limit?: number; + TrustIds?: string[]; /** *

                    The DescribeTrustsResult.NextToken value from a previous call to @@ -2655,10 +2656,9 @@ export interface DescribeTrustsRequest { 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; } export namespace DescribeTrustsRequest { @@ -2686,14 +2686,9 @@ export enum TrustState { */ export interface Trust { /** - *

                    The Directory ID of the AWS directory involved in the trust relationship.

                    - */ - DirectoryId?: string; - - /** - *

                    The reason for the TrustState.

                    + *

                    The trust relationship type. Forest is the default.

                    */ - TrustStateReason?: string; + TrustType?: TrustType | string; /** *

                    The date and time that the trust relationship was created.

                    @@ -2710,20 +2705,15 @@ export interface Trust { */ SelectiveAuth?: SelectiveAuth | string; - /** - *

                    The date and time that the TrustState was last updated.

                    - */ - StateLastUpdatedDateTime?: Date; - /** *

                    The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust relationship.

                    */ RemoteDomainName?: string; /** - *

                    The unique ID of the trust relationship.

                    + *

                    The trust relationship direction.

                    */ - TrustId?: string; + TrustDirection?: TrustDirection | string; /** *

                    The date and time that the trust relationship was last updated.

                    @@ -2731,14 +2721,24 @@ export interface Trust { LastUpdatedDateTime?: Date; /** - *

                    The trust relationship direction.

                    + *

                    The date and time that the TrustState was last updated.

                    */ - TrustDirection?: TrustDirection | string; + StateLastUpdatedDateTime?: Date; /** - *

                    The trust relationship type. Forest is the default.

                    + *

                    The unique ID of the trust relationship.

                    */ - TrustType?: TrustType | string; + TrustId?: string; + + /** + *

                    The reason for the TrustState.

                    + */ + TrustStateReason?: string; + + /** + *

                    The Directory ID of the AWS directory involved in the trust relationship.

                    + */ + DirectoryId?: string; } export namespace Trust { @@ -2751,6 +2751,12 @@ 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 @@ -2759,12 +2765,6 @@ 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,49 +2778,49 @@ export namespace DescribeTrustsResult { */ export interface DirectoryLimits { /** - *

                    Indicates if the cloud directory limit has been reached.

                    + *

                    The current number of cloud directories in the Region.

                    */ - CloudOnlyDirectoriesLimitReached?: boolean; + CloudOnlyDirectoriesCurrentCount?: number; /** - *

                    Indicates if the connected directory limit has been reached.

                    + *

                    The maximum number of cloud directories allowed in the Region.

                    */ - ConnectedDirectoriesLimitReached?: boolean; + CloudOnlyDirectoriesLimit?: number; /** - *

                    The maximum number of cloud directories allowed in the Region.

                    + *

                    The maximum number of AWS Managed Microsoft AD directories allowed in the region.

                    */ - CloudOnlyDirectoriesLimit?: number; + CloudOnlyMicrosoftADLimit?: 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.

                    + *

                    Indicates if the cloud directory limit has been reached.

                    */ - ConnectedDirectoriesLimit?: number; + CloudOnlyDirectoriesLimitReached?: boolean; /** - *

                    The current number of connected directories in the Region.

                    + *

                    The current number of AWS Managed Microsoft AD directories in the region.

                    */ - ConnectedDirectoriesCurrentCount?: number; + CloudOnlyMicrosoftADCurrentCount?: number; /** - *

                    The current number of cloud directories in the Region.

                    + *

                    Indicates if the AWS Managed Microsoft AD directory limit has been reached.

                    */ - CloudOnlyDirectoriesCurrentCount?: number; + CloudOnlyMicrosoftADLimitReached?: boolean; /** - *

                    The maximum number of AWS Managed Microsoft AD directories allowed in the region.

                    + *

                    The maximum number of connected directories allowed in the Region.

                    */ - CloudOnlyMicrosoftADLimit?: number; + ConnectedDirectoriesLimit?: number; /** - *

                    The current number of AWS Managed Microsoft AD directories in the region.

                    + *

                    The current number of connected directories in the Region.

                    */ - CloudOnlyMicrosoftADCurrentCount?: number; + ConnectedDirectoriesCurrentCount?: number; } export namespace DirectoryLimits { @@ -2836,14 +2836,14 @@ export interface DirectoryNotSharedException extends __SmithyException, $Metadat name: "DirectoryNotSharedException"; $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 DirectoryNotSharedException { @@ -2854,14 +2854,14 @@ export namespace DirectoryNotSharedException { export interface DisableLDAPSRequest { /** - *

                    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; /** - *

                    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; } export namespace DisableLDAPSRequest { @@ -2886,14 +2886,14 @@ export interface InvalidLDAPSStatusException extends __SmithyException, $Metadat name: "InvalidLDAPSStatusException"; $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 InvalidLDAPSStatusException { @@ -2933,6 +2933,11 @@ export namespace DisableRadiusResult { *

                    Contains the inputs for the DisableSso operation.

                    */ export interface DisableSsoRequest { + /** + *

                    The identifier of the directory for which to disable single-sign on.

                    + */ + DirectoryId: string | undefined; + /** *

                    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.

                    *

                    If the AD Connector service account does not have privileges to remove a service principal @@ -2947,11 +2952,6 @@ export interface DisableSsoRequest { * 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.

                    - */ - DirectoryId: string | undefined; } export namespace DisableSsoRequest { @@ -2974,14 +2974,14 @@ export namespace DisableSsoResult { export interface EnableLDAPSRequest { /** - *

                    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 EnableLDAPSRequest { @@ -3006,14 +3006,14 @@ export interface NoAvailableCertificateException extends __SmithyException, $Met name: "NoAvailableCertificateException"; $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 NoAvailableCertificateException { @@ -3027,14 +3027,14 @@ export namespace NoAvailableCertificateException { */ export interface EnableRadiusRequest { /** - *

                    A RadiusSettings object that contains information about the RADIUS server.

                    + *

                    The identifier of the directory for which to enable MFA.

                    */ - RadiusSettings: RadiusSettings | undefined; + DirectoryId: string | undefined; /** - *

                    The identifier of the directory for which to enable MFA.

                    + *

                    A RadiusSettings object that contains information about the RADIUS server.

                    */ - DirectoryId: string | undefined; + RadiusSettings: RadiusSettings | undefined; } export namespace EnableRadiusRequest { @@ -3065,11 +3065,6 @@ export interface EnableSsoRequest { */ Password?: string; - /** - *

                    The identifier of the directory for which to enable single-sign on.

                    - */ - 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.

                    *

                    If the AD Connector service account does not have privileges to add a service principal @@ -3078,6 +3073,11 @@ export interface EnableSsoRequest { * the service. The AD Connector service account is not changed.

                    */ UserName?: string; + + /** + *

                    The identifier of the directory for which to enable single-sign on.

                    + */ + DirectoryId: string | undefined; } export namespace EnableSsoRequest { @@ -3152,14 +3152,14 @@ export interface SnapshotLimits { ManualSnapshotsLimit?: number; /** - *

                    The current number of manual snapshots of the directory.

                    + *

                    Indicates if the manual snapshot limit has been reached.

                    */ - ManualSnapshotsCurrentCount?: number; + ManualSnapshotsLimitReached?: boolean; /** - *

                    Indicates if the manual snapshot limit has been reached.

                    + *

                    The current number of manual snapshots of the directory.

                    */ - ManualSnapshotsLimitReached?: boolean; + ManualSnapshotsCurrentCount?: number; } export namespace SnapshotLimits { @@ -3186,11 +3186,6 @@ export namespace GetSnapshotLimitsResult { } 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 @@ -3203,6 +3198,11 @@ 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,11 +3232,6 @@ export namespace ListCertificatesResult { } export interface ListIpRoutesRequest { - /** - *

                    Identifier (ID) of the directory for which you want to retrieve the IP addresses.

                    - */ - DirectoryId: string | undefined; - /** *

                    Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

                    */ @@ -3247,6 +3242,11 @@ export interface ListIpRoutesRequest { * ListIpRoutes. Pass null if this is the first call.

                    */ NextToken?: string; + + /** + *

                    Identifier (ID) of the directory for which you want to retrieve the IP addresses.

                    + */ + DirectoryId: string | undefined; } export namespace ListIpRoutesRequest { @@ -3269,9 +3269,9 @@ export enum IpRouteStatusMsg { */ export interface IpRouteInfo { /** - *

                    Description of the IpRouteInfo.

                    + *

                    The reason for the IpRouteStatusMsg.

                    */ - Description?: string; + IpRouteStatusReason?: string; /** *

                    Identifier (ID) of the directory associated with the IP addresses.

                    @@ -3279,24 +3279,24 @@ export interface IpRouteInfo { DirectoryId?: string; /** - *

                    IP address block in the IpRoute.

                    + *

                    Description of the IpRouteInfo.

                    */ - CidrIp?: string; + Description?: string; /** - *

                    The status of the IP address block.

                    + *

                    The date and time the address block was added to the directory.

                    */ - IpRouteStatusMsg?: IpRouteStatusMsg | string; + AddedDateTime?: Date; /** - *

                    The date and time the address block was added to the directory.

                    + *

                    IP address block in the IpRoute.

                    */ - AddedDateTime?: Date; + CidrIp?: string; /** - *

                    The reason for the IpRouteStatusMsg.

                    + *

                    The status of the IP address block.

                    */ - IpRouteStatusReason?: string; + IpRouteStatusMsg?: IpRouteStatusMsg | string; } export namespace IpRouteInfo { @@ -3325,6 +3325,11 @@ export namespace ListIpRoutesResult { } export interface ListLogSubscriptionsRequest { + /** + *

                    The maximum number of items returned.

                    + */ + Limit?: number; + /** *

                    The token for the next set of items to return.

                    */ @@ -3334,11 +3339,6 @@ export interface ListLogSubscriptionsRequest { *

                    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 { @@ -3352,14 +3352,14 @@ export namespace ListLogSubscriptionsRequest { */ export interface LogSubscription { /** - *

                    The date and time that the log subscription was created.

                    + *

                    Identifier (ID) of the directory that you want to associate with the log subscription.

                    */ - SubscriptionCreatedDateTime?: Date; + DirectoryId?: string; /** - *

                    Identifier (ID) of the directory that you want to associate with the log subscription.

                    + *

                    The date and time that the log subscription was created.

                    */ - DirectoryId?: string; + SubscriptionCreatedDateTime?: Date; /** *

                    The name of the log group.

                    @@ -3393,9 +3393,9 @@ export namespace ListLogSubscriptionsResult { export interface ListSchemaExtensionsRequest { /** - *

                    The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions. Pass null if this is the first call.

                    + *

                    The maximum number of items to return.

                    */ - NextToken?: string; + Limit?: number; /** *

                    The identifier of the directory from which to retrieve the schema extension information.

                    @@ -3403,9 +3403,9 @@ export interface ListSchemaExtensionsRequest { DirectoryId: string | undefined; /** - *

                    The maximum number of items to return.

                    + *

                    The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions. Pass null if this is the first call.

                    */ - Limit?: number; + NextToken?: string; } export namespace ListSchemaExtensionsRequest { @@ -3431,39 +3431,39 @@ export enum SchemaExtensionStatus { */ export interface SchemaExtensionInfo { /** - *

                    A description of the schema extension.

                    + *

                    The reason for the SchemaExtensionStatus.

                    */ - Description?: string; + SchemaExtensionStatusReason?: 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; /** - *

                    The reason for the SchemaExtensionStatus.

                    + *

                    A description of the schema extension.

                    */ - SchemaExtensionStatusReason?: string; + Description?: string; /** - *

                    The identifier of the schema extension.

                    + *

                    The current status of the schema extension.

                    */ - SchemaExtensionId?: string; + SchemaExtensionStatus?: SchemaExtensionStatus | string; /** - *

                    The current status of the schema extension.

                    + *

                    The date and time that the schema extension started being applied to the directory.

                    */ - SchemaExtensionStatus?: SchemaExtensionStatus | string; + StartDateTime?: Date; /** - *

                    The date and time that the schema extension was completed.

                    + *

                    The identifier of the schema extension.

                    */ - EndDateTime?: Date; + SchemaExtensionId?: string; /** - *

                    The date and time that the schema extension started being applied to the directory.

                    + *

                    The identifier of the directory to which the schema extension is applied.

                    */ - StartDateTime?: Date; + DirectoryId?: string; } export namespace SchemaExtensionInfo { @@ -3474,14 +3474,14 @@ export namespace SchemaExtensionInfo { export interface ListSchemaExtensionsResult { /** - *

                    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[]; /** - *

                    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; } export namespace ListSchemaExtensionsResult { @@ -3494,17 +3494,17 @@ export interface ListTagsForResourceRequest { /** *

                    Reserved for future use.

                    */ - NextToken?: string; + Limit?: number; /** - *

                    Identifier (ID) of the directory for which you want to retrieve tags.

                    + *

                    Reserved for future use.

                    */ - ResourceId: string | undefined; + NextToken?: string; /** - *

                    Reserved for future use.

                    + *

                    Identifier (ID) of the directory for which you want to retrieve tags.

                    */ - Limit?: number; + ResourceId: string | undefined; } export namespace ListTagsForResourceRequest { @@ -3515,14 +3515,14 @@ export namespace ListTagsForResourceRequest { export interface ListTagsForResourceResult { /** - *

                    Reserved for future use.

                    + *

                    List of tags returned by the ListTagsForResource operation.

                    */ - NextToken?: string; + Tags?: Tag[]; /** - *

                    List of tags returned by the ListTagsForResource operation.

                    + *

                    Reserved for future use.

                    */ - Tags?: Tag[]; + NextToken?: string; } export namespace ListTagsForResourceResult { @@ -3538,14 +3538,14 @@ export interface InvalidCertificateException extends __SmithyException, $Metadat name: "InvalidCertificateException"; $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 InvalidCertificateException { @@ -3556,14 +3556,14 @@ export namespace InvalidCertificateException { export interface RegisterCertificateRequest { /** - *

                    The identifier of the directory.

                    + *

                    The certificate PEM string that needs to be registered.

                    */ - DirectoryId: string | undefined; + CertificateData: string | undefined; /** - *

                    The certificate PEM string that needs to be registered.

                    + *

                    The identifier of the directory.

                    */ - CertificateData: string | undefined; + DirectoryId: string | undefined; } export namespace RegisterCertificateRequest { @@ -3645,14 +3645,14 @@ export namespace RejectSharedDirectoryResult { export interface RemoveIpRoutesRequest { /** - *

                    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; /** - *

                    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; } export namespace RemoveIpRoutesRequest { @@ -3671,14 +3671,14 @@ export namespace RemoveIpRoutesResult { export interface RemoveTagsFromResourceRequest { /** - *

                    Identifier (ID) of the directory from which to remove the tag.

                    + *

                    The tag key (name) of the tag to be removed.

                    */ - ResourceId: string | undefined; + TagKeys: string[] | undefined; /** - *

                    The tag key (name) of the tag to be removed.

                    + *

                    Identifier (ID) of the directory from which to remove the tag.

                    */ - TagKeys: string[] | undefined; + ResourceId: string | undefined; } export namespace RemoveTagsFromResourceRequest { @@ -3720,9 +3720,9 @@ export namespace InvalidPasswordException { export interface ResetUserPasswordRequest { /** - *

                    The new password that will be reset.

                    + *

                    The user name of the user whose password will be reset.

                    */ - NewPassword: string | undefined; + UserName: string | undefined; /** *

                    Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user resides.

                    @@ -3730,9 +3730,9 @@ export interface ResetUserPasswordRequest { DirectoryId: string | undefined; /** - *

                    The user name of the user whose password will be reset.

                    + *

                    The new password that will be reset.

                    */ - UserName: string | undefined; + NewPassword: string | undefined; } export namespace ResetUserPasswordRequest { @@ -3807,14 +3807,14 @@ export interface InvalidTargetException extends __SmithyException, $MetadataBear name: "InvalidTargetException"; $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 InvalidTargetException { @@ -3855,14 +3855,14 @@ export enum TargetType { */ export interface ShareTarget { /** - *

                    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 ShareTarget { @@ -3872,16 +3872,6 @@ export namespace ShareTarget { } export interface ShareDirectoryRequest { - /** - *

                    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.

                    - */ - ShareTarget: ShareTarget | undefined; - /** *

                    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 @@ -3895,6 +3885,16 @@ export interface ShareDirectoryRequest { * sending a directory sharing request (HANDSHAKE).

                    */ 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.

                    + */ + ShareTarget: ShareTarget | undefined; } export namespace ShareDirectoryRequest { @@ -3925,14 +3925,14 @@ export interface ShareLimitExceededException extends __SmithyException, $Metadat name: "ShareLimitExceededException"; $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 ShareLimitExceededException { @@ -3943,24 +3943,24 @@ export namespace ShareLimitExceededException { export interface StartSchemaExtensionRequest { /** - *

                    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.

                    + *

                    A description of the schema extension.

                    */ - LdifContent: string | undefined; + Description: 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; /** - *

                    A description of the schema extension.

                    + *

                    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.

                    */ - Description: string | undefined; + LdifContent: 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; } export namespace StartSchemaExtensionRequest { @@ -3987,14 +3987,14 @@ export namespace StartSchemaExtensionResult { */ export interface UnshareTarget { /** - *

                    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 UnshareTarget { @@ -4005,14 +4005,14 @@ export namespace UnshareTarget { export interface UnshareDirectoryRequest { /** - *

                    The identifier of the AWS Managed Microsoft AD directory that you want to stop sharing.

                    + *

                    Identifier for the directory consumer account with whom the directory has to be unshared.

                    */ - DirectoryId: string | undefined; + UnshareTarget: UnshareTarget | undefined; /** - *

                    Identifier for the directory consumer account with whom the directory has to be unshared.

                    + *

                    The identifier of the AWS Managed Microsoft AD directory that you want to stop sharing.

                    */ - UnshareTarget: UnshareTarget | undefined; + DirectoryId: string | undefined; } export namespace UnshareDirectoryRequest { @@ -4038,6 +4038,11 @@ export namespace UnshareDirectoryResult { *

                    Updates a conditional forwarder.

                    */ export interface UpdateConditionalForwarderRequest { + /** + *

                    The updated IP addresses of the remote DNS server associated with the conditional forwarder.

                    + */ + DnsIpAddrs: string[] | undefined; + /** *

                    The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

                    */ @@ -4047,11 +4052,6 @@ 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.

                    - */ - DnsIpAddrs: string[] | undefined; } export namespace UpdateConditionalForwarderRequest { @@ -4078,14 +4078,14 @@ export interface DomainControllerLimitExceededException extends __SmithyExceptio name: "DomainControllerLimitExceededException"; $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 DomainControllerLimitExceededException { @@ -4096,14 +4096,14 @@ export namespace DomainControllerLimitExceededException { export interface UpdateNumberOfDomainControllersRequest { /** - *

                    Identifier of the directory to which the domain controllers will be added or removed.

                    + *

                    The number of domain controllers desired in the directory.

                    */ - DirectoryId: string | undefined; + DesiredNumber: number | undefined; /** - *

                    The number of domain controllers desired in the directory.

                    + *

                    Identifier of the directory to which the domain controllers will be added or removed.

                    */ - DesiredNumber: number | undefined; + DirectoryId: string | undefined; } export namespace UpdateNumberOfDomainControllersRequest { @@ -4155,14 +4155,14 @@ export namespace UpdateRadiusResult { export interface UpdateTrustRequest { /** - *

                    Updates selective authentication for the trust.

                    + *

                    Identifier of the trust relationship.

                    */ - SelectiveAuth?: SelectiveAuth | string; + TrustId: string | undefined; /** - *

                    Identifier of the trust relationship.

                    + *

                    Updates selective authentication for the trust.

                    */ - TrustId: string | undefined; + SelectiveAuth?: SelectiveAuth | string; } export namespace UpdateTrustRequest { @@ -4173,14 +4173,14 @@ export namespace UpdateTrustRequest { export interface UpdateTrustResult { /** - *

                    The AWS request identifier.

                    + *

                    Identifier of the trust relationship.

                    */ - RequestId?: string; + TrustId?: string; /** - *

                    Identifier of the trust relationship.

                    + *

                    The AWS request identifier.

                    */ - TrustId?: string; + RequestId?: string; } export namespace UpdateTrustResult { diff --git a/clients/client-dlm/DLM.ts b/clients/client-dlm/DLM.ts index 280938440633..5067a4c06595 100644 --- a/clients/client-dlm/DLM.ts +++ b/clients/client-dlm/DLM.ts @@ -38,11 +38,18 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - * Amazon Data Lifecycle Manager

                    With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create lifecycle policies, which are used to automate operations on the specified resources.

                    Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM with Amazon EBS, see Automating the Amazon EBS Snapshot Lifecycle in the Amazon EC2 User Guide.

                    + * Amazon Data Lifecycle Manager + *

                    With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create + * lifecycle policies, which are used to automate operations on the specified + * resources.

                    + *

                    Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM + * with Amazon EBS, see Automating the Amazon EBS + * Snapshot Lifecycle in the Amazon EC2 User Guide.

                    */ export class DLM extends DLMClient { /** - *

                    Creates a policy to manage the lifecycle of the specified AWS resources. You can create up to 100 lifecycle policies.

                    + *

                    Creates a policy to manage the lifecycle of the specified AWS resources. You can + * create up to 100 lifecycle policies.

                    */ public createLifecyclePolicy( args: CreateLifecyclePolicyCommandInput, @@ -74,7 +81,8 @@ export class DLM extends DLMClient { } /** - *

                    Deletes the specified lifecycle policy and halts the automated operations that the policy specified.

                    + *

                    Deletes the specified lifecycle policy and halts the automated operations that the + * policy specified.

                    */ public deleteLifecyclePolicy( args: DeleteLifecyclePolicyCommandInput, @@ -106,7 +114,8 @@ export class DLM extends DLMClient { } /** - *

                    Gets summary information about all or the specified data lifecycle policies.

                    To get complete information about a policy, use GetLifecyclePolicy.

                    + *

                    Gets summary information about all or the specified data lifecycle policies.

                    + *

                    To get complete information about a policy, use GetLifecyclePolicy.

                    */ public getLifecyclePolicies( args: GetLifecyclePoliciesCommandInput, diff --git a/clients/client-dlm/DLMClient.ts b/clients/client-dlm/DLMClient.ts index 887f5d38508d..877afbf56036 100644 --- a/clients/client-dlm/DLMClient.ts +++ b/clients/client-dlm/DLMClient.ts @@ -203,7 +203,13 @@ export type DLMClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle HostHeaderResolvedConfig; /** - * Amazon Data Lifecycle Manager

                    With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create lifecycle policies, which are used to automate operations on the specified resources.

                    Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM with Amazon EBS, see Automating the Amazon EBS Snapshot Lifecycle in the Amazon EC2 User Guide.

                    + * Amazon Data Lifecycle Manager + *

                    With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create + * lifecycle policies, which are used to automate operations on the specified + * resources.

                    + *

                    Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM + * with Amazon EBS, see Automating the Amazon EBS + * Snapshot Lifecycle in the Amazon EC2 User Guide.

                    */ export class DLMClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-dlm/models/models_0.ts b/clients/client-dlm/models/models_0.ts index 93fba7bf06fb..73327d3df785 100644 --- a/clients/client-dlm/models/models_0.ts +++ b/clients/client-dlm/models/models_0.ts @@ -2,11 +2,14 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; /** - *

                    Specifies optional parameters to add to a policy. The set of valid parameters depends on the combination of policy type and resource type.

                    + *

                    Specifies optional parameters to add to a policy. The set of valid parameters depends + * on the combination of policy type and resource type.

                    */ export interface _Parameters { /** - *

                    [EBS Snapshot Management – Instance policies only] Indicates whether to exclude the root volume from snapshots created using CreateSnapshots. The default is false.

                    + *

                    [EBS Snapshot Management – Instance policies only] Indicates whether to exclude the + * root volume from snapshots created using CreateSnapshots. + * The default is false.

                    */ ExcludeBootVolume?: boolean; } @@ -31,16 +34,22 @@ export enum IntervalUnitValues { } /** - *

                    Specifies when to create snapshots of EBS volumes.

                    You must specify either a Cron expression or an interval, interval unit, and start time. You cannot specify both.

                    + *

                    Specifies when to create snapshots of EBS volumes.

                    + *

                    You must specify either a Cron expression or an interval, interval unit, and start + * time. You cannot specify both.

                    */ export interface CreateRule { /** - *

                    The time, in UTC, to start the operation. The supported format is hh:mm.

                    The operation occurs within a one-hour window following the specified time. If you do not specify a time, Amazon DLM selects a time within the next 24 hours.

                    + *

                    The time, in UTC, to start the operation. The supported format is hh:mm.

                    + *

                    The operation occurs within a one-hour window following the specified time. If you do + * not specify a time, Amazon DLM selects a time within the next 24 hours.

                    */ Times?: string[]; /** - *

                    The schedule, as a Cron expression. The schedule interval must be between 1 hour and 1 year. For more information, see Cron expressions in the Amazon CloudWatch User Guide.

                    + *

                    The schedule, as a Cron expression. The schedule interval must be between 1 hour and 1 + * year. For more information, see Cron + * expressions in the Amazon CloudWatch User Guide.

                    */ CronExpression?: string; @@ -50,7 +59,8 @@ export interface CreateRule { IntervalUnit?: IntervalUnitValues | string; /** - *

                    The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, 12, and 24.

                    + *

                    The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, 12, and + * 24.

                    */ Interval?: number; } @@ -78,7 +88,8 @@ export interface CrossRegionCopyRetainRule { IntervalUnit?: RetentionIntervalUnitValues | string; /** - *

                    The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

                    + *

                    The amount of time to retain each snapshot. The maximum is 100 years. This is + * equivalent to 1200 months, 5200 weeks, or 36500 days.

                    */ Interval?: number; } @@ -94,19 +105,21 @@ export namespace CrossRegionCopyRetainRule { */ export interface CrossRegionCopyRule { /** - *

                    To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Copies of encrypted snapshots are encrypted, even if this parameter is false or if encryption by default is not enabled.

                    + *

                    To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, + * enable encryption using this parameter. Copies of encrypted snapshots are encrypted, + * even if this parameter is false or if encryption by default is not enabled.

                    */ Encrypted: boolean | undefined; /** - *

                    The retention rule.

                    + *

                    The target Region.

                    */ - RetainRule?: CrossRegionCopyRetainRule; + TargetRegion: string | undefined; /** - *

                    The target Region.

                    + *

                    The retention rule.

                    */ - TargetRegion: string | undefined; + RetainRule?: CrossRegionCopyRetainRule; /** *

                    Copy all user-defined tags from the source snapshot to the copied snapshot.

                    @@ -114,7 +127,9 @@ export interface CrossRegionCopyRule { CopyTags?: boolean; /** - *

                    The Amazon Resource Name (ARN) of the AWS KMS customer master key (CMK) to use for EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used.

                    + *

                    The Amazon Resource Name (ARN) of the AWS KMS customer master key (CMK) to use for EBS + * encryption. If this parameter is not specified, your AWS managed CMK for EBS is + * used.

                    */ CmkArn?: string; } @@ -126,7 +141,8 @@ export namespace CrossRegionCopyRule { } /** - *

                    Specifies a rule for enabling fast snapshot restore. You can enable fast snapshot restore based on either a count or a time interval.

                    + *

                    Specifies a rule for enabling fast snapshot restore. You can enable fast snapshot + * restore based on either a count or a time interval.

                    */ export interface FastRestoreRule { /** @@ -140,7 +156,8 @@ export interface FastRestoreRule { IntervalUnit?: RetentionIntervalUnitValues | string; /** - *

                    The amount of time to enable fast snapshot restore. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

                    + *

                    The amount of time to enable fast snapshot restore. The maximum is 100 years. This is + * equivalent to 1200 months, 5200 weeks, or 36500 days.

                    */ Interval?: number; @@ -157,7 +174,8 @@ export namespace FastRestoreRule { } /** - *

                    Specifies the retention rule for a lifecycle policy. You can retain snapshots based on either a count or a time interval.

                    + *

                    Specifies the retention rule for a lifecycle policy. You can retain snapshots based on + * either a count or a time interval.

                    */ export interface RetainRule { /** @@ -166,14 +184,15 @@ export interface RetainRule { IntervalUnit?: RetentionIntervalUnitValues | string; /** - *

                    The number of snapshots to retain for each volume, up to a maximum of 1000.

                    + *

                    The amount of time to retain each snapshot. The maximum is 100 years. This is + * equivalent to 1200 months, 5200 weeks, or 36500 days.

                    */ - Count?: number; + Interval?: number; /** - *

                    The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

                    + *

                    The number of snapshots to retain for each volume, up to a maximum of 1000.

                    */ - Interval?: number; + Count?: number; } export namespace RetainRule { @@ -213,14 +232,15 @@ export interface Schedule { CrossRegionCopyRules?: CrossRegionCopyRule[]; /** - *

                    Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.

                    + *

                    Copy all user-defined tags on a source volume to snapshots of the volume created by + * this policy.

                    */ CopyTags?: boolean; /** - *

                    The name of the schedule.

                    + *

                    The retention rule.

                    */ - Name?: string; + RetainRule?: RetainRule; /** *

                    The rule for enabling fast snapshot restore.

                    @@ -228,17 +248,15 @@ export interface Schedule { FastRestoreRule?: FastRestoreRule; /** - *

                    The retention rule.

                    - */ - RetainRule?: RetainRule; - - /** - *

                    The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS-added lifecycle tags.

                    + *

                    The name of the schedule.

                    */ - TagsToAdd?: Tag[]; + Name?: string; /** - *

                    A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: $(instance-id) or $(timestamp). Variable tags are only valid for EBS Snapshot Management – Instance policies.

                    + *

                    A collection of key/value pairs with values determined dynamically when the policy is + * executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two + * following formats: $(instance-id) or $(timestamp). Variable + * tags are only valid for EBS Snapshot Management – Instance policies.

                    */ VariableTags?: Tag[]; @@ -246,6 +264,12 @@ export interface Schedule { *

                    The creation rule.

                    */ CreateRule?: CreateRule; + + /** + *

                    The tags to apply to policy-created resources. These user-defined tags are in addition + * to the AWS-added lifecycle tags.

                    + */ + TagsToAdd?: Tag[]; } export namespace Schedule { @@ -264,17 +288,20 @@ export interface PolicyDetails { Parameters?: _Parameters; /** - *

                    The resource type. Use VOLUME to create snapshots of individual volumes or use INSTANCE to create multi-volume snapshots from the volumes for an instance.

                    + *

                    The resource type. Use VOLUME to create snapshots of individual volumes or use + * INSTANCE to create multi-volume snapshots from the volumes for an instance.

                    */ ResourceTypes?: (ResourceTypeValues | string)[]; /** - *

                    The valid target resource types and actions a policy can manage. The default is EBS_SNAPSHOT_MANAGEMENT.

                    + *

                    The valid target resource types and actions a policy can manage. The default is + * EBS_SNAPSHOT_MANAGEMENT.

                    */ PolicyType?: PolicyTypeValues | string; /** - *

                    The schedule of policy-defined actions.

                    + *

                    The schedules of policy-defined actions. A policy can have up to four schedules - one + * mandatory schedule and up to three optional schedules.

                    */ Schedules?: Schedule[]; @@ -297,29 +324,31 @@ export enum SettablePolicyStateValues { export interface CreateLifecyclePolicyRequest { /** - *

                    The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

                    + *

                    The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by + * the lifecycle policy.

                    */ ExecutionRoleArn: string | undefined; /** - *

                    A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.

                    + *

                    The tags to apply to the lifecycle policy during creation.

                    */ - Description: string | undefined; + Tags?: { [key: string]: string }; /** - *

                    The desired activation state of the lifecycle policy after creation.

                    + *

                    The configuration details of the lifecycle policy.

                    */ - State: SettablePolicyStateValues | string | undefined; + PolicyDetails: PolicyDetails | undefined; /** - *

                    The configuration details of the lifecycle policy.

                    + *

                    A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are + * supported.

                    */ - PolicyDetails: PolicyDetails | undefined; + Description: string | undefined; /** - *

                    The tags to apply to the lifecycle policy during creation.

                    + *

                    The desired activation state of the lifecycle policy after creation.

                    */ - Tags?: { [key: string]: string }; + State: SettablePolicyStateValues | string | undefined; } export namespace CreateLifecyclePolicyRequest { @@ -358,7 +387,8 @@ export namespace InternalServerException { } /** - *

                    Bad request. The request is missing required parameters or has invalid parameters.

                    + *

                    Bad request. The request is missing required parameters or has invalid + * parameters.

                    */ export interface InvalidRequestException extends __SmithyException, $MetadataBearer { name: "InvalidRequestException"; @@ -368,13 +398,13 @@ export interface InvalidRequestException extends __SmithyException, $MetadataBea */ MutuallyExclusiveParameters?: string[]; - Code?: string; /** *

                    The request omitted one or more required parameters.

                    */ RequiredParameters?: string[]; Message?: string; + Code?: string; } export namespace InvalidRequestException { @@ -389,13 +419,12 @@ export namespace InvalidRequestException { export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; $fault: "client"; + Message?: string; Code?: string; /** *

                    Value is the type of resource for which a limit was exceeded.

                    */ ResourceType?: string; - - Message?: string; } export namespace LimitExceededException { @@ -431,17 +460,18 @@ export namespace DeleteLifecyclePolicyResponse { export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; - Code?: string; /** *

                    Value is a list of resource IDs that were not found.

                    */ ResourceIds?: string[]; - Message?: string; /** *

                    Value is the type of resource that was not found.

                    */ ResourceType?: string; + + Code?: string; + Message?: string; } export namespace ResourceNotFoundException { @@ -463,9 +493,11 @@ export interface GetLifecyclePoliciesRequest { ResourceTypes?: (ResourceTypeValues | string)[]; /** - *

                    The target tag for a policy.

                    Tags are strings in the format key=value.

                    + *

                    The tags to add to objects created by the policy.

                    + *

                    Tags are strings in the format key=value.

                    + *

                    These user-defined tags are added in addition to the AWS-added lifecycle tags.

                    */ - TargetTags?: string[]; + TagsToAdd?: string[]; /** *

                    The identifiers of the data lifecycle policies.

                    @@ -473,9 +505,10 @@ export interface GetLifecyclePoliciesRequest { PolicyIds?: string[]; /** - *

                    The tags to add to objects created by the policy.

                    Tags are strings in the format key=value.

                    These user-defined tags are added in addition to the AWS-added lifecycle tags.

                    + *

                    The target tag for a policy.

                    + *

                    Tags are strings in the format key=value.

                    */ - TagsToAdd?: string[]; + TargetTags?: string[]; /** *

                    The activation state.

                    @@ -493,11 +526,6 @@ export namespace GetLifecyclePoliciesRequest { *

                    Summary information about a lifecycle policy.

                    */ export interface LifecyclePolicySummary { - /** - *

                    The description of the lifecycle policy.

                    - */ - Description?: string; - /** *

                    The tags.

                    */ @@ -512,6 +540,11 @@ export interface LifecyclePolicySummary { *

                    The activation state of the lifecycle policy.

                    */ State?: GettablePolicyStateValues | string; + + /** + *

                    The description of the lifecycle policy.

                    + */ + Description?: string; } export namespace LifecyclePolicySummary { @@ -556,9 +589,14 @@ export interface LifecyclePolicy { PolicyArn?: string; /** - *

                    The identifier of the lifecycle policy.

                    + *

                    The description of the lifecycle policy.

                    */ - PolicyId?: string; + Description?: string; + + /** + *

                    The description of the status.

                    + */ + StatusMessage?: string; /** *

                    The local date and time when the lifecycle policy was last modified.

                    @@ -566,9 +604,9 @@ export interface LifecyclePolicy { DateModified?: Date; /** - *

                    The description of the status.

                    + *

                    The identifier of the lifecycle policy.

                    */ - StatusMessage?: string; + PolicyId?: string; /** *

                    The tags.

                    @@ -576,9 +614,9 @@ export interface LifecyclePolicy { Tags?: { [key: string]: string }; /** - *

                    The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

                    + *

                    The configuration of the lifecycle policy

                    */ - ExecutionRoleArn?: string; + PolicyDetails?: PolicyDetails; /** *

                    The activation state of the lifecycle policy.

                    @@ -586,19 +624,15 @@ export interface LifecyclePolicy { State?: GettablePolicyStateValues | string; /** - *

                    The local date and time when the lifecycle policy was created.

                    + *

                    The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by + * the lifecycle policy.

                    */ - DateCreated?: Date; - - /** - *

                    The configuration of the lifecycle policy

                    - */ - PolicyDetails?: PolicyDetails; + ExecutionRoleArn?: string; /** - *

                    The description of the lifecycle policy.

                    + *

                    The local date and time when the lifecycle policy was created.

                    */ - Description?: string; + DateCreated?: Date; } export namespace LifecyclePolicy { @@ -674,14 +708,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                    The tag keys.

                    + *

                    The Amazon Resource Name (ARN) of the resource.

                    */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; /** - *

                    The Amazon Resource Name (ARN) of the resource.

                    + *

                    The tag keys.

                    */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -699,6 +733,11 @@ export namespace UntagResourceResponse { } export interface UpdateLifecyclePolicyRequest { + /** + *

                    A description of the lifecycle policy.

                    + */ + Description?: string; + /** *

                    The identifier of the lifecycle policy.

                    */ @@ -710,17 +749,14 @@ export interface UpdateLifecyclePolicyRequest { State?: SettablePolicyStateValues | string; /** - *

                    The configuration of the lifecycle policy. You cannot update the policy type or the resource type.

                    + *

                    The configuration of the lifecycle policy. You cannot update the policy type or the + * resource type.

                    */ PolicyDetails?: PolicyDetails; /** - *

                    A description of the lifecycle policy.

                    - */ - Description?: string; - - /** - *

                    The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

                    + *

                    The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by + * the lifecycle policy.

                    */ ExecutionRoleArn?: string; } diff --git a/clients/client-dlm/protocols/Aws_restJson1.ts b/clients/client-dlm/protocols/Aws_restJson1.ts index e75f5dba21f9..f9f7feef1d4d 100644 --- a/clients/client-dlm/protocols/Aws_restJson1.ts +++ b/clients/client-dlm/protocols/Aws_restJson1.ts @@ -121,9 +121,9 @@ export const serializeAws_restJson1GetLifecyclePoliciesCommand = async ( let resolvedPath = "/policies"; const query: any = { ...(input.ResourceTypes !== undefined && { resourceTypes: (input.ResourceTypes || []).map((_entry) => _entry) }), - ...(input.TargetTags !== undefined && { targetTags: (input.TargetTags || []).map((_entry) => _entry) }), - ...(input.PolicyIds !== undefined && { policyIds: (input.PolicyIds || []).map((_entry) => _entry) }), ...(input.TagsToAdd !== undefined && { tagsToAdd: (input.TagsToAdd || []).map((_entry) => _entry) }), + ...(input.PolicyIds !== undefined && { policyIds: (input.PolicyIds || []).map((_entry) => _entry) }), + ...(input.TargetTags !== undefined && { targetTags: (input.TargetTags || []).map((_entry) => _entry) }), ...(input.State !== undefined && { state: input.State }), }; let body: any; @@ -1180,9 +1180,13 @@ const deserializeAws_restJson1FastRestoreRule = (output: any, context: __SerdeCo const deserializeAws_restJson1LifecyclePolicy = (output: any, context: __SerdeContext): LifecyclePolicy => { return { DateCreated: - output.DateCreated !== undefined && output.DateCreated !== null ? new Date(output.DateCreated) : undefined, + output.DateCreated !== undefined && output.DateCreated !== null + ? new Date(Math.round(output.DateCreated * 1000)) + : undefined, DateModified: - output.DateModified !== undefined && output.DateModified !== null ? new Date(output.DateModified) : undefined, + output.DateModified !== undefined && output.DateModified !== null + ? new Date(Math.round(output.DateModified * 1000)) + : undefined, Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, ExecutionRoleArn: output.ExecutionRoleArn !== undefined && output.ExecutionRoleArn !== null ? output.ExecutionRoleArn : undefined, diff --git a/clients/client-docdb/DocDB.ts b/clients/client-docdb/DocDB.ts index c1d9d640dfc9..102d3349956c 100644 --- a/clients/client-docdb/DocDB.ts +++ b/clients/client-docdb/DocDB.ts @@ -216,10 +216,10 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; */ export class DocDB extends DocDBClient { /** - *

                    Adds metadata tags to an Amazon DocumentDB resource. You can use these tags with cost allocation - * reporting to track costs that are associated with Amazon DocumentDB resources. or in a - * Condition statement in an AWS Identity and Access Management (IAM) - * policy for Amazon DocumentDB.

                    + *

                    Adds metadata tags to an Amazon DocumentDB resource. You can use these tags + * with cost allocation reporting to track costs that are associated + * with Amazon DocumentDB resources. or in a Condition statement in + * an AWS Identity and Access Management (IAM) policy for Amazon DocumentDB.

                    */ public addTagsToResource( args: AddTagsToResourceCommandInput, @@ -251,8 +251,8 @@ export class DocDB extends DocDBClient { } /** - *

                    Applies a pending maintenance action to a resource (for example, to a DB - * instance).

                    + *

                    Applies a pending maintenance action to a resource (for example, + * to an Amazon DocumentDB instance).

                    */ public applyPendingMaintenanceAction( args: ApplyPendingMaintenanceActionCommandInput, @@ -317,12 +317,17 @@ export class DocDB extends DocDBClient { /** *

                    Copies a snapshot of a cluster.

                    + * *

                    To copy a cluster snapshot from a shared manual cluster snapshot, - * SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name - * (ARN) of the shared cluster snapshot.

                    - *

                    To cancel the copy operation after it is in progress, delete the target cluster - * snapshot identified by TargetDBClusterSnapshotIdentifier while that DB - * cluster snapshot is in the copying status.

                    + * SourceDBClusterSnapshotIdentifier must be the Amazon + * Resource Name (ARN) of the shared cluster snapshot. You can only + * copy a shared DB cluster snapshot, whether encrypted or not, in the + * same AWS Region.

                    + * + *

                    To cancel the copy operation after it is in progress, delete the + * target cluster snapshot identified by + * TargetDBClusterSnapshotIdentifier while that cluster + * snapshot is in the copying status.

                    */ public copyDBClusterSnapshot( args: CopyDBClusterSnapshotCommandInput, @@ -387,23 +392,24 @@ export class DocDB extends DocDBClient { /** *

                    Creates a new cluster parameter group.

                    - *

                    Parameters in a cluster parameter group apply to all of the instances in a DB - * cluster.

                    - *

                    A cluster parameter group is initially created with the default parameters for the - * database engine used by instances in the cluster. To provide custom values for any of - * the parameters, you must modify the group after you create it. After you create a DB - * cluster parameter group, you must associate it with your cluster. For the new DB - * cluster parameter group and associated settings to take effect, you must then reboot the - * instances in the cluster without failover.

                    - * - *

                    After you create a cluster parameter group, you should wait at least 5 minutes - * before creating your first cluster that uses that cluster parameter group as - * the default parameter group. This allows Amazon DocumentDB to fully complete the create action - * before the cluster parameter group is used as the default for a new cluster. - * This step is especially important for parameters that are critical when creating the - * default database for a cluster, such as the character set for the default - * database defined by the character_set_database parameter.

                    - *
                    + *

                    Parameters in a cluster parameter group apply to all of the + * instances in a cluster.

                    + *

                    A cluster parameter group is initially created with the default + * parameters for the database engine used by instances in the cluster. + * In Amazon DocumentDB, you cannot make modifications directly to the + * default.docdb3.6 cluster parameter group. If your + * Amazon DocumentDB cluster is using the default cluster parameter group and you + * want to modify a value in it, you must first + * create a new parameter group + * or + * copy an existing parameter group, + * modify it, and then apply the modified parameter group to your + * cluster. For the new cluster parameter group and associated settings + * to take effect, you must then reboot the instances in the cluster + * without failover. For more information, + * see + * Modifying Amazon DocumentDB Cluster Parameter Groups. + *

                    */ public createDBClusterParameterGroup( args: CreateDBClusterParameterGroupCommandInput, diff --git a/clients/client-docdb/index.ts b/clients/client-docdb/index.ts index b7188c9902ff..69c07e6f5eb1 100644 --- a/clients/client-docdb/index.ts +++ b/clients/client-docdb/index.ts @@ -15,12 +15,16 @@ export * from "./commands/DeleteDBClusterSnapshotCommand"; export * from "./commands/DeleteDBInstanceCommand"; export * from "./commands/DeleteDBSubnetGroupCommand"; export * from "./commands/DescribeCertificatesCommand"; +export * from "./pagination/DescribeCertificatesPaginator"; export * from "./commands/DescribeDBClusterParameterGroupsCommand"; +export * from "./pagination/DescribeDBClusterParameterGroupsPaginator"; export * from "./commands/DescribeDBClusterParametersCommand"; +export * from "./pagination/DescribeDBClusterParametersPaginator"; export * from "./commands/DescribeDBClustersCommand"; export * from "./pagination/DescribeDBClustersPaginator"; export * from "./commands/DescribeDBClusterSnapshotAttributesCommand"; export * from "./commands/DescribeDBClusterSnapshotsCommand"; +export * from "./pagination/DescribeDBClusterSnapshotsPaginator"; export * from "./commands/DescribeDBEngineVersionsCommand"; export * from "./pagination/DescribeDBEngineVersionsPaginator"; export * from "./commands/DescribeDBInstancesCommand"; @@ -34,6 +38,7 @@ export * from "./pagination/DescribeEventsPaginator"; export * from "./commands/DescribeOrderableDBInstanceOptionsCommand"; export * from "./pagination/DescribeOrderableDBInstanceOptionsPaginator"; export * from "./commands/DescribePendingMaintenanceActionsCommand"; +export * from "./pagination/DescribePendingMaintenanceActionsPaginator"; export * from "./commands/FailoverDBClusterCommand"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/ModifyDBClusterCommand"; diff --git a/clients/client-docdb/models/models_0.ts b/clients/client-docdb/models/models_0.ts index 41036eb1241a..82b837e1a158 100644 --- a/clients/client-docdb/models/models_0.ts +++ b/clients/client-docdb/models/models_0.ts @@ -29,19 +29,20 @@ export namespace Tag { } /** - *

                    Represents the input to AddTagsToResource.

                    + *

                    Represents the input to AddTagsToResource. + *

                    */ export interface AddTagsToResourceMessage { /** - *

                    The tags to be assigned to the Amazon DocumentDB resource.

                    + *

                    The Amazon DocumentDB resource that the tags are added to. This value is an + * Amazon Resource Name .

                    */ - Tags: Tag[] | undefined; + ResourceName: string | undefined; /** - *

                    The Amazon DocumentDB resource that the tags are added to. This value is an Amazon Resource Name - * (ARN).

                    + *

                    The tags to be assigned to the Amazon DocumentDB resource.

                    */ - ResourceName: string | undefined; + Tags: Tag[] | undefined; } export namespace AddTagsToResourceMessage { @@ -99,42 +100,46 @@ export namespace DBSnapshotNotFoundFault { } /** - *

                    Represents the input to ApplyPendingMaintenanceAction.

                    + *

                    Represents the input to ApplyPendingMaintenanceAction. + *

                    */ export interface ApplyPendingMaintenanceActionMessage { /** - *

                    The pending maintenance action to apply to this resource.

                    - *

                    Valid values: system-update, db-upgrade - *

                    - */ - ApplyAction: string | undefined; - - /** - *

                    A value that specifies the type of opt-in request or undoes an opt-in request. An - * opt-in request of type immediate can't be undone.

                    + *

                    A value that specifies the type of opt-in request or undoes an + * opt-in request. An opt-in request of type immediate + * can't be undone.

                    *

                    Valid values:

                    *
                      *
                    • *

                      - * immediate - Apply the maintenance action immediately.

                      + * immediate - Apply the maintenance action + * immediately.

                      *
                    • *
                    • *

                      - * next-maintenance - Apply the maintenance action during the next - * maintenance window for the resource.

                      + * next-maintenance - Apply the maintenance + * action during the next maintenance window for the resource. + *

                      *
                    • *
                    • *

                      - * undo-opt-in - Cancel any existing next-maintenance - * opt-in requests.

                      + * undo-opt-in - Cancel any existing + * next-maintenance opt-in requests.

                      *
                    • *
                    */ OptInType: string | undefined; /** - *

                    The Amazon Resource Name (ARN) of the resource that the pending maintenance action - * applies to.

                    + *

                    The pending maintenance action to apply to this resource.

                    + *

                    Valid values: system-update, db-upgrade + *

                    + */ + ApplyAction: string | undefined; + + /** + *

                    The Amazon Resource Name (ARN) of the resource that the pending + * maintenance action applies to.

                    */ ResourceIdentifier: string | undefined; } @@ -149,6 +154,14 @@ export namespace ApplyPendingMaintenanceActionMessage { *

                    Provides information about a pending maintenance action for a resource.

                    */ export interface PendingMaintenanceAction { + /** + *

                    The date when the maintenance action is automatically applied. The maintenance action + * is applied to the resource on this date regardless of the maintenance window for the + * resource. If this date is specified, any immediate opt-in requests are + * ignored.

                    + */ + ForcedApplyDate?: Date; + /** *

                    Indicates the type of opt-in request that has been received for the resource.

                    */ @@ -160,11 +173,6 @@ export interface PendingMaintenanceAction { */ CurrentApplyDate?: Date; - /** - *

                    A description providing more detail about the maintenance action.

                    - */ - Description?: string; - /** *

                    The type of pending maintenance action that is available for the resource.

                    */ @@ -178,12 +186,9 @@ export interface PendingMaintenanceAction { AutoAppliedAfterDate?: Date; /** - *

                    The date when the maintenance action is automatically applied. The maintenance action - * is applied to the resource on this date regardless of the maintenance window for the - * resource. If this date is specified, any immediate opt-in requests are - * ignored.

                    + *

                    A description providing more detail about the maintenance action.

                    */ - ForcedApplyDate?: Date; + Description?: string; } export namespace PendingMaintenanceAction { @@ -193,20 +198,21 @@ export namespace PendingMaintenanceAction { } /** - *

                    Represents the output of ApplyPendingMaintenanceAction.

                    + *

                    Represents the output of ApplyPendingMaintenanceAction. + *

                    */ export interface ResourcePendingMaintenanceActions { /** - *

                    A list that provides details about the pending maintenance actions for the - * resource.

                    + *

                    The Amazon Resource Name (ARN) of the resource that has pending + * maintenance actions.

                    */ - PendingMaintenanceActionDetails?: PendingMaintenanceAction[]; + ResourceIdentifier?: string; /** - *

                    The Amazon Resource Name (ARN) of the resource that has pending maintenance - * actions.

                    + *

                    A list that provides details about the pending maintenance actions + * for the resource.

                    */ - ResourceIdentifier?: string; + PendingMaintenanceActionDetails?: PendingMaintenanceAction[]; } export namespace ResourcePendingMaintenanceActions { @@ -217,7 +223,8 @@ export namespace ResourcePendingMaintenanceActions { export interface ApplyPendingMaintenanceActionResult { /** - *

                    Represents the output of ApplyPendingMaintenanceAction.

                    + *

                    Represents the output of ApplyPendingMaintenanceAction. + *

                    */ ResourcePendingMaintenanceActions?: ResourcePendingMaintenanceActions; } @@ -275,31 +282,29 @@ export namespace ResourceNotFoundFault { } /** - *

                    Represents the input to CopyDBClusterParameterGroup.

                    + *

                    Represents the input to CopyDBClusterParameterGroup. + *

                    */ export interface CopyDBClusterParameterGroupMessage { /** - *

                    The tags that are to be assigned to the parameter group.

                    - */ - Tags?: Tag[]; - - /** - *

                    The identifier or Amazon Resource Name (ARN) for the source cluster parameter - * group.

                    + *

                    The identifier or Amazon Resource Name (ARN) for the source cluster + * parameter group.

                    *

                    Constraints:

                    *
                      *
                    • *

                      Must specify a valid cluster parameter group.

                      *
                    • *
                    • - *

                      If the source cluster parameter group is in the same AWS Region as the - * copy, specify a valid parameter group identifier; for example, - * my-db-cluster-param-group, or a valid ARN.

                      + *

                      If the source cluster parameter group is in the same AWS + * Region as the copy, specify a valid parameter group + * identifier; for example, + * my-db-cluster-param-group, or a valid ARN.

                      *
                    • *
                    • - *

                      If the source parameter group is in a different AWS Region than the copy, - * specify a valid cluster parameter group ARN; for example, - * arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

                      + *

                      If the source parameter group is in a different AWS Region + * than the copy, specify a valid cluster parameter group ARN; + * for example, + * arn:aws:rds:us-east-1:123456789012:sample-cluster:sample-parameter-group.

                      *
                    • *
                    */ @@ -313,13 +318,15 @@ export interface CopyDBClusterParameterGroupMessage { *

                    Cannot be null, empty, or blank.

                    * *
                  • - *

                    Must contain from 1 to 255 letters, numbers, or hyphens.

                    + *

                    Must contain from 1 to 255 letters, numbers, or hyphens. + *

                    *
                  • *
                  • *

                    The first character must be a letter.

                    *
                  • *
                  • - *

                    Cannot end with a hyphen or contain two consecutive hyphens.

                    + *

                    Cannot end with a hyphen or contain two consecutive hyphens. + *

                    *
                  • *
                  *

                  Example: my-cluster-param-group1 @@ -331,6 +338,11 @@ export interface CopyDBClusterParameterGroupMessage { *

                  A description for the copied cluster parameter group.

                  */ TargetDBClusterParameterGroupDescription: string | undefined; + + /** + *

                  The tags that are to be assigned to the parameter group.

                  + */ + Tags?: Tag[]; } export namespace CopyDBClusterParameterGroupMessage { @@ -344,26 +356,26 @@ export namespace CopyDBClusterParameterGroupMessage { */ export interface DBClusterParameterGroup { /** - *

                  Provides the name of the cluster parameter group.

                  + *

                  The Amazon Resource Name (ARN) for the cluster parameter group.

                  */ - DBClusterParameterGroupName?: string; + DBClusterParameterGroupArn?: string; /** - *

                  Provides the name of the parameter group family that this cluster parameter - * group is compatible with.

                  + *

                  Provides the customer-specified description for this cluster parameter + * group.

                  */ - DBParameterGroupFamily?: string; + Description?: string; /** - *

                  The Amazon Resource Name (ARN) for the cluster parameter group.

                  + *

                  Provides the name of the parameter group family that this cluster parameter + * group is compatible with.

                  */ - DBClusterParameterGroupArn?: string; + DBParameterGroupFamily?: string; /** - *

                  Provides the customer-specified description for this cluster parameter - * group.

                  + *

                  Provides the name of the cluster parameter group.

                  */ - Description?: string; + DBClusterParameterGroupName?: string; } export namespace DBClusterParameterGroup { @@ -434,58 +446,28 @@ export namespace DBParameterGroupQuotaExceededFault { } /** - *

                  Represents the input to CopyDBClusterSnapshot.

                  + *

                  Represents the input to CopyDBClusterSnapshot. + *

                  */ export interface CopyDBClusterSnapshotMessage { /** - *

                  The tags to be assigned to the cluster snapshot.

                  - */ - Tags?: Tag[]; - - /** - *

                  Set to true to copy all tags from the source cluster snapshot to the - * target cluster snapshot, and otherwise false. The default is - * false.

                  - */ - CopyTags?: boolean; - - /** - *

                  The AWS KMS key ID for an encrypted cluster snapshot. The AWS KMS key ID is the - * Amazon Resource Name (ARN), AWS KMS key identifier, or the AWS KMS key alias for the AWS - * KMS encryption key.

                  - *

                  If you copy an encrypted cluster snapshot from your AWS account, you can specify a - * value for KmsKeyId to encrypt the copy with a new AWS KMS encryption key. - * If you don't specify a value for KmsKeyId, then the copy of the cluster - * snapshot is encrypted with the same AWS KMS key as the source cluster snapshot.

                  - *

                  If you copy an encrypted cluster snapshot that is shared from another AWS account, - * then you must specify a value for KmsKeyId.

                  - *

                  To copy an encrypted cluster snapshot to another AWS Region, set - * KmsKeyId to the AWS KMS key ID that you want to use to encrypt the copy - * of the cluster snapshot in the destination Region. AWS KMS encryption keys are - * specific to the AWS Region that they are created in, and you can't use encryption keys - * from one Region in another Region.

                  - *

                  If you copy an unencrypted cluster snapshot and specify a value for the - * KmsKeyId parameter, an error is returned.

                  - */ - KmsKeyId?: string; - - /** - *

                  The identifier of the cluster snapshot to copy. This parameter is not case - * sensitive.

                  - *

                  You can't copy an encrypted, shared cluster snapshot from one AWS Region to - * another.

                  + *

                  The identifier of the cluster snapshot to copy. This parameter is + * not case sensitive.

                  + * *

                  Constraints:

                  *
                    *
                  • - *

                    Must specify a valid system snapshot in the "available" state.

                    + *

                    Must specify a valid system snapshot in the + * available state.

                    *
                  • *
                  • - *

                    If the source snapshot is in the same AWS Region as the copy, specify a valid - * snapshot identifier.

                    + *

                    If the source snapshot is in the same AWS Region as the + * copy, specify a valid snapshot identifier.

                    *
                  • *
                  • - *

                    If the source snapshot is in a different AWS Region than the copy, specify a - * valid cluster snapshot ARN.

                    + * + *

                    If the source snapshot is in a different AWS Region than + * the copy, specify a valid cluster snapshot ARN.

                    *
                  • *
                  *

                  Example: my-cluster-snapshot1 @@ -493,62 +475,115 @@ export interface CopyDBClusterSnapshotMessage { */ SourceDBClusterSnapshotIdentifier: string | undefined; + /** + *

                  The AWS KMS key ID for an encrypted cluster snapshot. The AWS KMS + * key ID is the Amazon Resource Name (ARN), AWS KMS key identifier, or + * the AWS KMS key alias for the AWS KMS encryption key.

                  + * + *

                  If you copy an encrypted cluster snapshot from your AWS account, + * you can specify a value for KmsKeyId to encrypt the + * copy with a new AWS KMS encryption key. If you don't specify a value + * for KmsKeyId, then the copy of the cluster snapshot is + * encrypted with the same AWS KMS key as the source cluster snapshot. + *

                  + * + *

                  If you copy an encrypted cluster snapshot that is shared from + * another AWS account, then you must specify a value for + * KmsKeyId.

                  + * + * + *

                  To copy an encrypted cluster snapshot to another AWS Region, set + * KmsKeyId to the AWS KMS key ID that you want to use to + * encrypt the copy of the cluster snapshot in the destination Region. + * AWS KMS encryption keys are specific to the AWS Region that they are + * created in, and you can't use encryption keys from one AWS Region in + * another AWS Region.

                  + * + *

                  If you copy an unencrypted cluster snapshot and specify a value + * for the KmsKeyId parameter, an error is returned.

                  + */ + KmsKeyId?: string; + /** *

                  The URL that contains a Signature Version 4 signed request for the - * CopyDBClusterSnapshot API action in the AWS Region that contains the - * source cluster snapshot to copy. You must use the PreSignedUrl parameter - * when copying an encrypted cluster snapshot from another AWS Region.

                  - *

                  The presigned URL must be a valid request for the CopyDBSClusterSnapshot - * API action that can be executed in the source AWS Region that contains the encrypted DB - * cluster snapshot to be copied. The presigned URL request must contain the following + * CopyDBClusterSnapshot API action in the AWS Region that + * contains the source cluster snapshot to copy. You must use the + * PreSignedUrl parameter when copying a cluster snapshot + * from another AWS Region.

                  + * + *

                  If you are using an AWS SDK tool or the AWS CLI, you can specify + * SourceRegion (or --source-region for the + * AWS CLI) instead of specifying PreSignedUrl manually. + * Specifying SourceRegion autogenerates a pre-signed URL + * that is a valid request for the operation that can be executed in + * the source AWS Region.

                  + * + *

                  The presigned URL must be a valid request for the + * CopyDBClusterSnapshot API action that can be executed + * in the source AWS Region that contains the cluster snapshot to be + * copied. The presigned URL request must contain the following * parameter values:

                  *
                    *
                  • *

                    - * KmsKeyId - The AWS KMS key identifier for the key to use to - * encrypt the copy of the cluster snapshot in the destination AWS Region. This - * is the same identifier for both the CopyDBClusterSnapshot action - * that is called in the destination AWS Region, and the action contained in the - * presigned URL.

                    + * SourceRegion - The ID of the region that + * contains the snapshot to be copied.

                    *
                  • *
                  • *

                    - * DestinationRegion - The name of the AWS Region that the DB - * cluster snapshot will be created in.

                    + * SourceDBClusterSnapshotIdentifier - The + * identifier for the the encrypted cluster snapshot to be + * copied. This identifier must be in the Amazon Resource Name + * (ARN) format for the source AWS Region. For example, if you + * are copying an encrypted cluster snapshot from the us-east-1 + * AWS Region, then your + * SourceDBClusterSnapshotIdentifier looks + * something like the following: + * arn:aws:rds:us-east-1:12345678012:sample-cluster:sample-cluster-snapshot.

                    *
                  • *
                  • *

                    - * SourceDBClusterSnapshotIdentifier - The cluster snapshot - * identifier for the encrypted cluster snapshot to be copied. This identifier - * must be in the Amazon Resource Name (ARN) format for the source AWS Region. For - * example, if you are copying an encrypted cluster snapshot from the us-west-2 - * AWS Region, then your SourceDBClusterSnapshotIdentifier looks like - * the following example: - * arn:aws:rds:us-west-2:123456789012:cluster-snapshot:my-cluster-snapshot-20161115.

                    + * TargetDBClusterSnapshotIdentifier - The + * identifier for the new cluster snapshot to be created. This + * parameter isn't case sensitive.

                    *
                  • *
                  */ PreSignedUrl?: string; /** - *

                  The identifier of the new cluster snapshot to create from the source cluster - * snapshot. This parameter is not case sensitive.

                  + *

                  The identifier of the new cluster snapshot to create from the + * source cluster snapshot. This parameter is not case sensitive.

                  *

                  Constraints:

                  *
                    *
                  • - *

                    Must contain from 1 to 63 letters, numbers, or hyphens.

                    + *

                    Must contain from 1 to 63 letters, numbers, or hyphens. + *

                    *
                  • *
                  • *

                    The first character must be a letter.

                    *
                  • *
                  • - *

                    Cannot end with a hyphen or contain two consecutive hyphens.

                    + *

                    Cannot end with a hyphen or contain two consecutive hyphens. + *

                    *
                  • *
                  *

                  Example: my-cluster-snapshot2 *

                  */ TargetDBClusterSnapshotIdentifier: string | undefined; + + /** + *

                  The tags to be assigned to the cluster snapshot.

                  + */ + Tags?: Tag[]; + + /** + *

                  Set to true to copy all tags from the source cluster + * snapshot to the target cluster snapshot, and otherwise + * false. The default is false.

                  + */ + CopyTags?: boolean; } export namespace CopyDBClusterSnapshotMessage { @@ -562,31 +597,15 @@ export namespace CopyDBClusterSnapshotMessage { */ export interface DBClusterSnapshot { /** - *

                  Specifies the time when the cluster was created, in Universal Coordinated Time - * (UTC).

                  - */ - ClusterCreateTime?: Date; - - /** - *

                  Specifies the name of the database engine.

                  - */ - Engine?: string; - - /** - *

                  Provides the list of Amazon EC2 Availability Zones that instances in the cluster - * snapshot can be restored in.

                  - */ - AvailabilityZones?: string[]; - - /** - *

                  Provides the version of the database engine for this cluster snapshot.

                  + *

                  Specifies the identifier for the cluster snapshot.

                  */ - EngineVersion?: string; + DBClusterSnapshotIdentifier?: string; /** - *

                  Provides the master user name for the cluster snapshot.

                  + *

                  Specifies the port that the cluster was listening on at the time of the + * snapshot.

                  */ - MasterUsername?: string; + Port?: number; /** *

                  If StorageEncrypted is true, the AWS KMS key identifier for @@ -595,20 +614,24 @@ export interface DBClusterSnapshot { KmsKeyId?: string; /** - *

                  Specifies the identifier for the cluster snapshot.

                  + *

                  The Amazon Resource Name (ARN) for the cluster snapshot.

                  */ - DBClusterSnapshotIdentifier?: string; + DBClusterSnapshotArn?: string; /** - *

                  Provides the virtual private cloud (VPC) ID that is associated with the cluster - * snapshot.

                  + *

                  Specifies whether the cluster snapshot is encrypted.

                  */ - VpcId?: string; + StorageEncrypted?: boolean; /** - *

                  Specifies whether the cluster snapshot is encrypted.

                  + *

                  Specifies the status of this cluster snapshot.

                  */ - StorageEncrypted?: boolean; + Status?: string; + + /** + *

                  Provides the type of the cluster snapshot.

                  + */ + SnapshotType?: string; /** *

                  Specifies the cluster identifier of the cluster that this cluster snapshot @@ -617,25 +640,26 @@ export interface DBClusterSnapshot { DBClusterIdentifier?: string; /** - *

                  Provides the time when the snapshot was taken, in UTC.

                  + *

                  Provides the virtual private cloud (VPC) ID that is associated with the cluster + * snapshot.

                  */ - SnapshotCreateTime?: Date; + VpcId?: string; /** - *

                  Specifies the percentage of the estimated data that has been transferred.

                  + *

                  Specifies the name of the database engine.

                  */ - PercentProgress?: number; + Engine?: string; /** - *

                  Specifies the port that the cluster was listening on at the time of the - * snapshot.

                  + *

                  Provides the list of Amazon EC2 Availability Zones that instances in the cluster + * snapshot can be restored in.

                  */ - Port?: number; + AvailabilityZones?: string[]; /** - *

                  The Amazon Resource Name (ARN) for the cluster snapshot.

                  + *

                  Provides the master user name for the cluster snapshot.

                  */ - DBClusterSnapshotArn?: string; + MasterUsername?: string; /** *

                  If the cluster snapshot was copied from a source cluster snapshot, the ARN for @@ -644,14 +668,25 @@ export interface DBClusterSnapshot { SourceDBClusterSnapshotArn?: string; /** - *

                  Specifies the status of this cluster snapshot.

                  + *

                  Specifies the time when the cluster was created, in Universal Coordinated Time + * (UTC).

                  */ - Status?: string; + ClusterCreateTime?: Date; /** - *

                  Provides the type of the cluster snapshot.

                  + *

                  Provides the time when the snapshot was taken, in UTC.

                  */ - SnapshotType?: string; + SnapshotCreateTime?: Date; + + /** + *

                  Provides the version of the database engine for this cluster snapshot.

                  + */ + EngineVersion?: string; + + /** + *

                  Specifies the percentage of the estimated data that has been transferred.

                  + */ + PercentProgress?: number; } export namespace DBClusterSnapshot { @@ -751,41 +786,31 @@ export namespace SnapshotQuotaExceededFault { } /** - *

                  Represents the input to CreateDBCluster.

                  + *

                  Represents the input to CreateDBCluster. + *

                  */ export interface CreateDBClusterMessage { /** - *

                  A subnet group to associate with this cluster.

                  - *

                  Constraints: Must match the name of an existing DBSubnetGroup. Must not - * be default.

                  - *

                  Example: mySubnetgroup - *

                  - */ - DBSubnetGroupName?: string; - - /** - *

                  A list of EC2 VPC security groups to associate with this cluster.

                  - */ - VpcSecurityGroupIds?: string[]; - - /** - *

                  The tags to be assigned to the cluster.

                  + *

                  A list of Amazon EC2 Availability Zones that instances in the + * cluster can be created in.

                  */ - Tags?: Tag[]; + AvailabilityZones?: string[]; /** - *

                  A list of Amazon EC2 Availability Zones that instances in the cluster can be - * created in.

                  + *

                  The version number of the database engine to use. The --engine-version will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version.

                  */ - AvailabilityZones?: string[]; + EngineVersion?: string; /** - *

                  The password for the master database user. This password can contain any printable - * ASCII character except forward slash (/), double quote ("), or the "at" symbol - * (@).

                  - *

                  Constraints: Must contain from 8 to 100 characters.

                  + *

                  A list of log types that need to be enabled for exporting to Amazon + * CloudWatch Logs. You can enable audit logs or profiler logs. For more + * information, see + * Auditing Amazon DocumentDB Events + * and + * Profiling Amazon DocumentDB Operations. + *

                  */ - MasterUserPassword: string | undefined; + EnableCloudwatchLogsExports?: string[]; /** *

                  The name of the database engine to be used for this cluster.

                  @@ -795,22 +820,28 @@ export interface CreateDBClusterMessage { Engine: string | undefined; /** - *

                  A list of log types that need to be enabled for exporting to Amazon CloudWatch - * Logs.

                  + *

                  The port number on which the instances in the cluster accept + * connections.

                  */ - EnableCloudwatchLogsExports?: string[]; + Port?: number; /** - *

                  Specifies whether this cluster can be deleted. If DeletionProtection is - * enabled, the cluster cannot be deleted unless it is modified and - * DeletionProtection is disabled. DeletionProtection - * protects clusters from being accidentally deleted.

                  + *

                  The name of the cluster parameter group to associate with this + * cluster.

                  */ - DeletionProtection?: boolean; + DBClusterParameterGroupName?: string; /** - *

                  The number of days for which automated backups are retained. You must specify a - * minimum value of 1.

                  + *

                  The password for the master database user. This password can + * contain any printable ASCII character except forward slash (/), + * double quote ("), or the "at" symbol (@).

                  + *

                  Constraints: Must contain from 8 to 100 characters.

                  + */ + MasterUserPassword: string | undefined; + + /** + *

                  The number of days for which automated backups are retained. You + * must specify a minimum value of 1.

                  *

                  Default: 1

                  *

                  Constraints:

                  *
                    @@ -822,23 +853,71 @@ export interface CreateDBClusterMessage { BackupRetentionPeriod?: number; /** - *

                    The cluster identifier. This parameter is stored as a lowercase string.

                    + *

                    Not currently supported. + *

                    + */ + PreSignedUrl?: string; + + /** + *

                    The tags to be assigned to the cluster.

                    + */ + Tags?: Tag[]; + + /** + *

                    The daily time range during which automated backups are created if + * automated backups are enabled using the + * BackupRetentionPeriod parameter.

                    + *

                    The default is a 30-minute window selected at random from an 8-hour + * block of time for each AWS Region.

                    *

                    Constraints:

                    *
                      *
                    • - *

                      Must contain from 1 to 63 letters, numbers, or hyphens.

                      + *

                      Must be in the format hh24:mi-hh24:mi.

                      *
                    • *
                    • - *

                      The first character must be a letter.

                      + *

                      Must be in Universal Coordinated Time (UTC).

                      *
                    • *
                    • - *

                      Cannot end with a hyphen or contain two consecutive hyphens.

                      + *

                      Must not conflict with the preferred maintenance window. + *

                      *
                    • - *
                    - *

                    Example: my-cluster + *

                  • + *

                    Must be at least 30 minutes.

                    + *
                  • + *
                  + */ + PreferredBackupWindow?: string; + + /** + *

                  The weekly time range during which system maintenance can occur, + * in Universal Coordinated Time (UTC).

                  + *

                  Format: ddd:hh24:mi-ddd:hh24:mi + *

                  + *

                  The default is a 30-minute window selected at random from an 8-hour + * block of time for each AWS Region, occurring on a random day of the + * week.

                  + *

                  Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

                  + *

                  Constraints: Minimum 30-minute window.

                  + */ + PreferredMaintenanceWindow?: string; + + /** + *

                  A subnet group to associate with this cluster.

                  + *

                  Constraints: Must match the name of an existing + * DBSubnetGroup. Must not be default.

                  + *

                  Example: mySubnetgroup *

                  */ - DBClusterIdentifier: string | undefined; + DBSubnetGroupName?: string; + + /** + *

                  Specifies whether this cluster can be deleted. If + * DeletionProtection is enabled, the cluster cannot be + * deleted unless it is modified and DeletionProtection is + * disabled. DeletionProtection protects clusters from + * being accidentally deleted.

                  + */ + DeletionProtection?: boolean; /** *

                  The name of the master user for the cluster.

                  @@ -851,53 +930,40 @@ export interface CreateDBClusterMessage { *

                  The first character must be a letter.

                  * *
                • - *

                  Cannot be a reserved word for the chosen database engine.

                  + *

                  Cannot be a reserved word for the chosen database engine. + *

                  *
                • *
                */ MasterUsername: string | undefined; /** - *

                The name of the cluster parameter group to associate with this cluster.

                - */ - DBClusterParameterGroupName?: string; - - /** - *

                The AWS KMS key identifier for an encrypted cluster.

                - *

                The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS - * encryption key. If you are creating a cluster using the same AWS account that owns - * the AWS KMS encryption key that is used to encrypt the new cluster, you can use the - * AWS KMS key alias instead of the ARN for the AWS KMS encryption key.

                - *

                If an encryption key is not specified in KmsKeyId:

                + *

                The cluster identifier. This parameter is stored as a lowercase + * string.

                + *

                Constraints:

                *
                  *
                • - *

                  If ReplicationSourceIdentifier identifies an encrypted source, - * then Amazon DocumentDB uses the encryption key that is used to encrypt the source. - * Otherwise, Amazon DocumentDB uses your default encryption key.

                  + *

                  Must contain from 1 to 63 letters, numbers, or hyphens. + *

                  *
                • *
                • - *

                  If the StorageEncrypted parameter is true and - * ReplicationSourceIdentifier is not specified, Amazon DocumentDB uses your - * default encryption key.

                  + *

                  The first character must be a letter.

                  + *
                • + *
                • + *

                  Cannot end with a hyphen or contain two consecutive hyphens. + *

                  *
                • *
                - *

                AWS KMS creates the default encryption key for your AWS account. Your AWS account has - * a different default encryption key for each AWS Region.

                - *

                If you create a replica of an encrypted cluster in another AWS Region, you must set - * KmsKeyId to a KMS key ID that is valid in the destination AWS Region. - * This key is used to encrypt the replica in that AWS Region.

                - */ - KmsKeyId?: string; - - /** - *

                The port number on which the instances in the cluster accept connections.

                + *

                Example: my-cluster + *

                */ - Port?: number; + DBClusterIdentifier: string | undefined; /** - *

                The version number of the database engine to use.

                + *

                A list of EC2 VPC security groups to associate with this cluster. + *

                */ - EngineVersion?: string; + VpcSecurityGroupIds?: string[]; /** *

                Specifies whether the cluster is encrypted.

                @@ -905,39 +971,37 @@ export interface CreateDBClusterMessage { StorageEncrypted?: boolean; /** - *

                The daily time range during which automated backups are created if automated backups - * are enabled using the BackupRetentionPeriod parameter.

                - *

                The default is a 30-minute window selected at random from an 8-hour block of time for - * each AWS Region.

                - *

                Constraints:

                + *

                The AWS KMS key identifier for an encrypted cluster.

                + *

                The AWS KMS key identifier is the Amazon Resource Name (ARN) for + * the AWS KMS encryption key. If you are creating a cluster using the + * same AWS account that owns the AWS KMS encryption key that is used + * to encrypt the new cluster, you can use the AWS KMS key alias + * instead of the ARN for the AWS KMS encryption key.

                + *

                If an encryption key is not specified in KmsKeyId: + *

                *
                  *
                • - *

                  Must be in the format hh24:mi-hh24:mi.

                  - *
                • - *
                • - *

                  Must be in Universal Coordinated Time (UTC).

                  - *
                • - *
                • - *

                  Must not conflict with the preferred maintenance window.

                  + *

                  If ReplicationSourceIdentifier identifies an + * encrypted source, then Amazon DocumentDB uses the encryption key that + * is used to encrypt the source. Otherwise, Amazon DocumentDB uses your + * default encryption key.

                  *
                • *
                • - *

                  Must be at least 30 minutes.

                  + *

                  If the StorageEncrypted parameter is + * true and ReplicationSourceIdentifier + * is not specified, Amazon DocumentDB uses your default encryption key. + *

                  *
                • *
                + *

                AWS KMS creates the default encryption key for your AWS account. + * Your AWS account has a different default encryption key for each AWS + * Region.

                + *

                If you create a replica of an encrypted cluster in another AWS + * Region, you must set KmsKeyId to a KMS key ID that is + * valid in the destination AWS Region. This key is used to encrypt the + * replica in that AWS Region.

                */ - PreferredBackupWindow?: string; - - /** - *

                The weekly time range during which system maintenance can occur, in Universal - * Coordinated Time (UTC).

                - *

                Format: ddd:hh24:mi-ddd:hh24:mi - *

                - *

                The default is a 30-minute window selected at random from an 8-hour block of time for - * each AWS Region, occurring on a random day of the week.

                - *

                Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

                - *

                Constraints: Minimum 30-minute window.

                - */ - PreferredMaintenanceWindow?: string; + KmsKeyId?: string; } export namespace CreateDBClusterMessage { @@ -951,12 +1015,6 @@ export namespace CreateDBClusterMessage { * cluster.

                */ export interface DBClusterRole { - /** - *

                The Amazon Resource Name (ARN) of the IAM role that is associated with the DB - * cluster.

                - */ - RoleArn?: string; - /** *

                Describes the state of association between the IAM role and the cluster. The * Status property returns one of the following values:

                @@ -980,6 +1038,12 @@ export interface DBClusterRole { *
              */ Status?: string; + + /** + *

              The Amazon Resource Name (ARN) of the IAM role that is associated with the DB + * cluster.

              + */ + RoleArn?: string; } export namespace DBClusterRole { @@ -992,12 +1056,6 @@ export namespace DBClusterRole { *

              Contains information about an instance that is part of a cluster.

              */ export interface DBClusterMember { - /** - *

              A value that is true if the cluster member is the primary instance for - * the cluster and false otherwise.

              - */ - IsClusterWriter?: boolean; - /** *

              Specifies the instance identifier for this member of the cluster.

              */ @@ -1014,6 +1072,12 @@ export interface DBClusterMember { * cluster.

              */ DBClusterParameterGroupStatus?: string; + + /** + *

              A value that is true if the cluster member is the primary instance for + * the cluster and false otherwise.

              + */ + IsClusterWriter?: boolean; } export namespace DBClusterMember { @@ -1028,14 +1092,14 @@ export namespace DBClusterMember { */ export interface VpcSecurityGroupMembership { /** - *

              The status of the VPC security group.

              + *

              The name of the VPC security group.

              */ - Status?: string; + VpcSecurityGroupId?: string; /** - *

              The name of the VPC security group.

              + *

              The status of the VPC security group.

              */ - VpcSecurityGroupId?: string; + Status?: string; } export namespace VpcSecurityGroupMembership { @@ -1049,65 +1113,52 @@ export namespace VpcSecurityGroupMembership { */ export interface DBCluster { /** - *

              Specifies the latest time to which a database can be restored with point-in-time - * restore.

              + *

              Specifies whether the cluster is encrypted.

              */ - LatestRestorableTime?: Date; + StorageEncrypted?: boolean; /** - *

              The reader endpoint for the cluster. The reader endpoint for a cluster load - * balances connections across the Amazon DocumentDB replicas that are available in a cluster. As - * clients request new connections to the reader endpoint, Amazon DocumentDB distributes the - * connection requests among the Amazon DocumentDB replicas in the cluster. This functionality can - * help balance your read workload across multiple Amazon DocumentDB replicas in your cluster.

              - *

              If a failover occurs, and the Amazon DocumentDB replica that you are connected to is promoted to - * be the primary instance, your connection is dropped. To continue sending your read - * workload to other Amazon DocumentDB replicas in the cluster, you can then reconnect to the reader - * endpoint.

              + *

              A list of log types that this cluster is configured to export to Amazon CloudWatch + * Logs.

              */ - ReaderEndpoint?: string; + EnabledCloudwatchLogsExports?: string[]; /** - *

              Provides the name of the database engine to be used for this cluster.

              + *

              Specifies the port that the database engine is listening on.

              */ - Engine?: string; + Port?: number; /** - *

              Specifies whether this cluster can be deleted. If DeletionProtection is - * enabled, the cluster cannot be deleted unless it is modified and - * DeletionProtection is disabled. DeletionProtection - * protects clusters from being accidentally deleted.

              + *

              Specifies the time when the cluster was created, in Universal Coordinated Time + * (UTC).

              */ - DeletionProtection?: boolean; + ClusterCreateTime?: Date; /** - *

              Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

              + *

              Specifies the number of days for which automatic snapshots are retained.

              */ - HostedZoneId?: string; + BackupRetentionPeriod?: number; /** - *

              Provides the list of Amazon EC2 Availability Zones that instances in the cluster - * can be created in.

              + *

              Contains the master user name for the cluster.

              */ - AvailabilityZones?: string[]; + MasterUsername?: string; /** - *

              If StorageEncrypted is true, the AWS KMS key identifier for - * the encrypted cluster.

              + *

              Provides the list of instances that make up the cluster.

              */ - KmsKeyId?: string; + DBClusterMembers?: DBClusterMember[]; /** - *

              Specifies the weekly time range during which system maintenance can occur, in - * Universal Coordinated Time (UTC).

              + *

              Specifies whether the cluster has instances in multiple Availability Zones.

              */ - PreferredMaintenanceWindow?: string; + MultiAZ?: boolean; /** - *

              Specifies the daily time range during which automated backups are created if automated - * backups are enabled, as determined by the BackupRetentionPeriod.

              + *

              Specifies the weekly time range during which system maintenance can occur, in + * Universal Coordinated Time (UTC).

              */ - PreferredBackupWindow?: string; + PreferredMaintenanceWindow?: string; /** *

              The Amazon Resource Name (ARN) for the cluster.

              @@ -1115,21 +1166,15 @@ export interface DBCluster { DBClusterArn?: string; /** - *

              Specifies the name of the cluster parameter group for the cluster.

              - */ - DBClusterParameterGroup?: string; - - /** - *

              Specifies information on the subnet group that is associated with the cluster, - * including the name, description, and subnets in the subnet group.

              + *

              Specifies the daily time range during which automated backups are created if automated + * backups are enabled, as determined by the BackupRetentionPeriod.

              */ - DBSubnetGroup?: string; + PreferredBackupWindow?: string; /** - *

              A list of log types that this cluster is configured to export to Amazon CloudWatch - * Logs.

              + *

              Specifies the name of the cluster parameter group for the cluster.

              */ - EnabledCloudwatchLogsExports?: string[]; + DBClusterParameterGroup?: string; /** *

              Provides a list of the AWS Identity and Access Management (IAM) roles that are @@ -1139,9 +1184,10 @@ export interface DBCluster { AssociatedRoles?: DBClusterRole[]; /** - *

              Specifies whether the cluster has instances in multiple Availability Zones.

              + *

              Specifies information on the subnet group that is associated with the cluster, + * including the name, description, and subnets in the subnet group.

              */ - MultiAZ?: boolean; + DBSubnetGroup?: string; /** *

              Provides a list of virtual private cloud (VPC) security groups that the cluster @@ -1150,74 +1196,92 @@ export interface DBCluster { VpcSecurityGroups?: VpcSecurityGroupMembership[]; /** - *

              Specifies whether the cluster is encrypted.

              + *

              Specifies the current state of this cluster.

              */ - StorageEncrypted?: boolean; + Status?: string; /** - *

              Specifies the connection endpoint for the primary instance of the cluster.

              + *

              The earliest time to which a database can be restored with point-in-time + * restore.

              */ - Endpoint?: string; + EarliestRestorableTime?: Date; /** - *

              Contains the master user name for the cluster.

              + *

              Indicates the database engine version.

              */ - MasterUsername?: string; + EngineVersion?: string; /** - *

              Specifies the number of days for which automatic snapshots are retained.

              + *

              Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

              */ - BackupRetentionPeriod?: number; + HostedZoneId?: string; /** - *

              Specifies the progress of the operation as a percentage.

              + *

              Specifies whether this cluster can be deleted. If DeletionProtection is + * enabled, the cluster cannot be deleted unless it is modified and + * DeletionProtection is disabled. DeletionProtection + * protects clusters from being accidentally deleted.

              */ - PercentProgress?: string; + DeletionProtection?: boolean; /** - *

              Contains a user-supplied cluster identifier. This identifier is the unique key that - * identifies a cluster.

              + *

              Specifies the latest time to which a database can be restored with point-in-time + * restore.

              */ - DBClusterIdentifier?: string; + LatestRestorableTime?: Date; /** - *

              The AWS Region-unique, immutable identifier for the cluster. This identifier is - * found in AWS CloudTrail log entries whenever the AWS KMS key for the cluster is - * accessed.

              + *

              Provides the list of Amazon EC2 Availability Zones that instances in the cluster + * can be created in.

              */ - DbClusterResourceId?: string; + AvailabilityZones?: string[]; /** - *

              Provides the list of instances that make up the cluster.

              + *

              If StorageEncrypted is true, the AWS KMS key identifier for + * the encrypted cluster.

              */ - DBClusterMembers?: DBClusterMember[]; + KmsKeyId?: string; /** - *

              Specifies the current state of this cluster.

              + *

              Provides the name of the database engine to be used for this cluster.

              */ - Status?: string; + Engine?: string; /** - *

              The earliest time to which a database can be restored with point-in-time - * restore.

              + *

              Specifies the connection endpoint for the primary instance of the cluster.

              */ - EarliestRestorableTime?: Date; + Endpoint?: string; /** - *

              Indicates the database engine version.

              + *

              The AWS Region-unique, immutable identifier for the cluster. This identifier is + * found in AWS CloudTrail log entries whenever the AWS KMS key for the cluster is + * accessed.

              */ - EngineVersion?: string; + DbClusterResourceId?: string; /** - *

              Specifies the time when the cluster was created, in Universal Coordinated Time - * (UTC).

              + *

              Contains a user-supplied cluster identifier. This identifier is the unique key that + * identifies a cluster.

              */ - ClusterCreateTime?: Date; + DBClusterIdentifier?: string; /** - *

              Specifies the port that the database engine is listening on.

              + *

              Specifies the progress of the operation as a percentage.

              */ - Port?: number; + PercentProgress?: string; + + /** + *

              The reader endpoint for the cluster. The reader endpoint for a cluster load + * balances connections across the Amazon DocumentDB replicas that are available in a cluster. As + * clients request new connections to the reader endpoint, Amazon DocumentDB distributes the + * connection requests among the Amazon DocumentDB replicas in the cluster. This functionality can + * help balance your read workload across multiple Amazon DocumentDB replicas in your cluster.

              + *

              If a failover occurs, and the Amazon DocumentDB replica that you are connected to is promoted to + * be the primary instance, your connection is dropped. To continue sending your read + * workload to other Amazon DocumentDB replicas in the cluster, you can then reconnect to the reader + * endpoint.

              + */ + ReaderEndpoint?: string; } export namespace DBCluster { @@ -1403,16 +1467,6 @@ export namespace StorageQuotaExceededFault { *

              Represents the input of CreateDBClusterParameterGroup.

              */ export interface CreateDBClusterParameterGroupMessage { - /** - *

              The description for the cluster parameter group.

              - */ - Description: string | undefined; - - /** - *

              The tags to be assigned to the cluster parameter group.

              - */ - Tags?: Tag[]; - /** *

              The name of the cluster parameter group.

              *

              Constraints:

              @@ -1432,6 +1486,16 @@ export interface CreateDBClusterParameterGroupMessage { *

              The cluster parameter group family name.

              */ DBParameterGroupFamily: string | undefined; + + /** + *

              The description for the cluster parameter group.

              + */ + Description: string | undefined; + + /** + *

              The tags to be assigned to the cluster parameter group.

              + */ + Tags?: Tag[]; } export namespace CreateDBClusterParameterGroupMessage { @@ -1458,43 +1522,45 @@ export namespace CreateDBClusterParameterGroupResult { */ export interface CreateDBClusterSnapshotMessage { /** - *

              The tags to be assigned to the cluster snapshot.

              - */ - Tags?: Tag[]; - - /** - *

              The identifier of the cluster to create a snapshot for. This parameter is not case - * sensitive.

              + *

              The identifier of the cluster snapshot. This parameter is stored + * as a lowercase string.

              *

              Constraints:

              *
                *
              • - *

                Must match the identifier of an existing DBCluster.

                + *

                Must contain from 1 to 63 letters, numbers, or hyphens.

                + *
              • + *
              • + *

                The first character must be a letter.

                + *
              • + *
              • + *

                Cannot end with a hyphen or contain two consecutive hyphens. + *

                *
              • *
              - *

              Example: my-cluster + *

              Example: my-cluster-snapshot1 *

              */ - DBClusterIdentifier: string | undefined; + DBClusterSnapshotIdentifier: string | undefined; /** - *

              The identifier of the cluster snapshot. This parameter is stored as a lowercase - * string.

              + *

              The identifier of the cluster to create a snapshot for. This + * parameter is not case sensitive.

              *

              Constraints:

              *
                *
              • - *

                Must contain from 1 to 63 letters, numbers, or hyphens.

                - *
              • - *
              • - *

                The first character must be a letter.

                - *
              • - *
              • - *

                Cannot end with a hyphen or contain two consecutive hyphens.

                + *

                Must match the identifier of an existing + * DBCluster.

                *
              • *
              - *

              Example: my-cluster-snapshot1 + *

              Example: my-cluster *

              */ - DBClusterSnapshotIdentifier: string | undefined; + DBClusterIdentifier: string | undefined; + + /** + *

              The tags to be assigned to the cluster snapshot.

              + */ + Tags?: Tag[]; } export namespace CreateDBClusterSnapshotMessage { @@ -1539,39 +1605,25 @@ export namespace AuthorizationNotFoundFault { */ export interface CreateDBInstanceMessage { /** - *

              A value that specifies the order in which an Amazon DocumentDB replica is promoted to the - * primary instance after a failure of the existing primary instance.

              - *

              Default: 1

              - *

              Valid values: 0-15

              - */ - PromotionTier?: number; - - /** - *

              The compute and memory capacity of the instance; for example, - * db.r5.large.

              - */ - DBInstanceClass: string | undefined; - - /** - *

              Indicates that minor engine upgrades are applied automatically to the instance - * during the maintenance window.

              - *

              Default: true - *

              + *

              The name of the database engine to be used for this instance.

              + *

              Valid value: docdb + *

              */ - AutoMinorVersionUpgrade?: boolean; + Engine: string | undefined; /** - *

              The tags to be assigned to the instance. You can assign up to - * 10 tags to an instance.

              + *

              A value that specifies the order in which an Amazon DocumentDB replica is promoted to the + * primary instance after a failure of the existing primary instance.

              + *

              Default: 1

              + *

              Valid values: 0-15

              */ - Tags?: Tag[]; + PromotionTier?: number; /** - *

              The name of the database engine to be used for this instance.

              - *

              Valid value: docdb - *

              + *

              The compute and memory capacity of the instance; for example, + * db.r5.large.

              */ - Engine: string | undefined; + DBInstanceClass: string | undefined; /** *

              The time range each week during which system maintenance can occur, in Universal @@ -1586,21 +1638,12 @@ export interface CreateDBInstanceMessage { PreferredMaintenanceWindow?: string; /** - *

              The identifier of the cluster that the instance will belong to.

              - */ - DBClusterIdentifier: string | undefined; - - /** - *

              The Amazon EC2 Availability Zone that the instance is created in.

              - *

              Default: A random, system-chosen Availability Zone in the endpoint's AWS - * Region.

              - *

              Example: us-east-1d + *

              Indicates that minor engine upgrades are applied automatically to the instance + * during the maintenance window.

              + *

              Default: true *

              - *

              Constraint: The AvailabilityZone parameter can't be specified if the - * MultiAZ parameter is set to true. The specified - * Availability Zone must be in the same AWS Region as the current endpoint.

              */ - AvailabilityZone?: string; + AutoMinorVersionUpgrade?: boolean; /** *

              The instance identifier. This parameter is stored as a lowercase string.

              @@ -1620,6 +1663,25 @@ export interface CreateDBInstanceMessage { *

              */ DBInstanceIdentifier: string | undefined; + + /** + *

              The tags to be assigned to the instance. You can assign up to + * 10 tags to an instance.

              + */ + Tags?: Tag[]; + + /** + *

              The identifier of the cluster that the instance will belong to.

              + */ + DBClusterIdentifier: string | undefined; + + /** + *

              The Amazon EC2 Availability Zone that the instance is created in.

              + *

              Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

              + *

              Example: us-east-1d + *

              + */ + AvailabilityZone?: string; } export namespace CreateDBInstanceMessage { @@ -1675,34 +1737,34 @@ export namespace Subnet { */ export interface DBSubnetGroup { /** - *

              Provides the virtual private cloud (VPC) ID of the subnet group.

              + *

              The name of the subnet group.

              */ - VpcId?: string; + DBSubnetGroupName?: string; /** - *

              The Amazon Resource Name (ARN) for the DB subnet group.

              + *

              Detailed information about one or more subnets within a subnet group.

              */ - DBSubnetGroupArn?: string; + Subnets?: Subnet[]; /** - *

              Provides the description of the subnet group.

              + *

              The Amazon Resource Name (ARN) for the DB subnet group.

              */ - DBSubnetGroupDescription?: string; + DBSubnetGroupArn?: string; /** - *

              Provides the status of the subnet group.

              + *

              Provides the virtual private cloud (VPC) ID of the subnet group.

              */ - SubnetGroupStatus?: string; + VpcId?: string; /** - *

              The name of the subnet group.

              + *

              Provides the description of the subnet group.

              */ - DBSubnetGroupName?: string; + DBSubnetGroupDescription?: string; /** - *

              Detailed information about one or more subnets within a subnet group.

              + *

              Provides the status of the subnet group.

              */ - Subnets?: Subnet[]; + SubnetGroupStatus?: string; } export namespace DBSubnetGroup { @@ -1716,11 +1778,6 @@ export namespace DBSubnetGroup { * specify a valid endpoint to access these Amazon DocumentDB resources.

              */ export interface Endpoint { - /** - *

              Specifies the port that the database engine is listening on.

              - */ - Port?: number; - /** *

              Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

              */ @@ -1730,6 +1787,11 @@ export interface Endpoint { *

              Specifies the DNS address of the instance.

              */ Address?: string; + + /** + *

              Specifies the port that the database engine is listening on.

              + */ + Port?: number; } export namespace Endpoint { @@ -1743,17 +1805,17 @@ export namespace Endpoint { * the process of being activated or deactivated.

              */ export interface PendingCloudwatchLogsExports { - /** - *

              Log types that are in the process of being enabled. After they are enabled, these log - * types are exported to Amazon CloudWatch Logs.

              - */ - LogTypesToDisable?: string[]; - /** *

              Log types that are in the process of being deactivated. After they are deactivated, * these log types aren't exported to CloudWatch Logs.

              */ LogTypesToEnable?: string[]; + + /** + *

              Log types that are in the process of being enabled. After they are enabled, these log + * types are exported to Amazon CloudWatch Logs.

              + */ + LogTypesToDisable?: string[]; } export namespace PendingCloudwatchLogsExports { @@ -1768,27 +1830,21 @@ export namespace PendingCloudwatchLogsExports { */ export interface PendingModifiedValues { /** - *

              Specifies the storage type to be associated with the instance.

              - */ - StorageType?: string; - - /** - *

              The license model for the instance.

              - *

              Valid values: license-included, bring-your-own-license, - * general-public-license - *

              + *

              Specifies the pending number of days for which automated backups are retained.

              */ - LicenseModel?: string; + BackupRetentionPeriod?: number; /** - *

              Specifies the pending port for the instance.

              + *

              Contains the new AllocatedStorage size for then instance that will be + * applied or is currently being applied.

              */ - Port?: number; + AllocatedStorage?: number; /** - *

              Indicates the database engine version.

              + *

              Specifies the identifier of the certificate authority (CA) certificate for the DB + * instance.

              */ - EngineVersion?: string; + CACertificateIdentifier?: string; /** *

              Specifies the new Provisioned IOPS value for the instance that will be applied or @@ -1797,10 +1853,21 @@ export interface PendingModifiedValues { Iops?: number; /** - *

              Contains the new AllocatedStorage size for then instance that will be + *

              Contains the new DBInstanceClass for the instance that will be * applied or is currently being applied.

              */ - AllocatedStorage?: number; + DBInstanceClass?: string; + + /** + *

              Contains the new DBInstanceIdentifier for the instance that will be + * applied or is currently being applied.

              + */ + DBInstanceIdentifier?: string; + + /** + *

              Indicates that the Single-AZ instance is to change to a Multi-AZ deployment.

              + */ + MultiAZ?: boolean; /** *

              The new subnet group for the instance.

              @@ -1814,38 +1881,33 @@ export interface PendingModifiedValues { MasterUserPassword?: string; /** - *

              Specifies the identifier of the certificate authority (CA) certificate for the DB - * instance.

              - */ - CACertificateIdentifier?: string; - - /** - *

              Contains the new DBInstanceIdentifier for the instance that will be - * applied or is currently being applied.

              + *

              The license model for the instance.

              + *

              Valid values: license-included, bring-your-own-license, + * general-public-license + *

              */ - DBInstanceIdentifier?: string; + LicenseModel?: string; /** - *

              A list of the log types whose configuration is still pending. These log types are in - * the process of being activated or deactivated.

              + *

              Specifies the storage type to be associated with the instance.

              */ - PendingCloudwatchLogsExports?: PendingCloudwatchLogsExports; + StorageType?: string; /** - *

              Contains the new DBInstanceClass for the instance that will be - * applied or is currently being applied.

              + *

              Specifies the pending port for the instance.

              */ - DBInstanceClass?: string; + Port?: number; /** - *

              Indicates that the Single-AZ instance is to change to a Multi-AZ deployment.

              + *

              A list of the log types whose configuration is still pending. These log types are in + * the process of being activated or deactivated.

              */ - MultiAZ?: boolean; + PendingCloudwatchLogsExports?: PendingCloudwatchLogsExports; /** - *

              Specifies the pending number of days for which automated backups are retained.

              + *

              Indicates the database engine version.

              */ - BackupRetentionPeriod?: number; + EngineVersion?: string; } export namespace PendingModifiedValues { @@ -1858,6 +1920,12 @@ export namespace PendingModifiedValues { *

              Provides a list of status information for an instance.

              */ export interface DBInstanceStatusInfo { + /** + *

              A Boolean value that is true if the instance is operating normally, or + * false if the instance is in an error state.

              + */ + Normal?: boolean; + /** *

              Status of the instance. For a StatusType of read replica, the values * can be replicating, error, stopped, or @@ -1875,12 +1943,6 @@ export interface DBInstanceStatusInfo { * an error state, this value is blank.

              */ Message?: string; - - /** - *

              A Boolean value that is true if the instance is operating normally, or - * false if the instance is in an error state.

              - */ - Normal?: boolean; } export namespace DBInstanceStatusInfo { @@ -1894,37 +1956,42 @@ export namespace DBInstanceStatusInfo { */ export interface DBInstance { /** - *

              Specifies the weekly time range during which system maintenance can occur, in - * Universal Coordinated Time (UTC).

              + *

              The Amazon Resource Name (ARN) for the instance.

              */ - PreferredMaintenanceWindow?: string; + DBInstanceArn?: string; /** - *

              Specifies the name of the Availability Zone that the instance is located in.

              + *

              Specifies the latest time to which a database can be restored with point-in-time + * restore.

              */ - AvailabilityZone?: string; + LatestRestorableTime?: Date; /** - *

              Not supported. Amazon DocumentDB does not currently support public endpoints. The value - * of PubliclyAccessible is always false.

              + *

              Specifies the number of days for which automatic snapshots are retained.

              */ - PubliclyAccessible?: boolean; + BackupRetentionPeriod?: number; /** - *

              Specifies information on the subnet group that is associated with the instance, - * including the name, description, and subnets in the subnet group.

              + *

              Provides the name of the database engine to be used for this instance.

              */ - DBSubnetGroup?: DBSubnetGroup; + Engine?: string; /** - *

              The identifier of the CA certificate for this DB instance.

              + *

              A list of log types that this instance is configured to export to Amazon CloudWatch + * Logs.

              */ - CACertificateIdentifier?: string; + EnabledCloudwatchLogsExports?: string[]; /** - *

              Specifies the connection endpoint.

              + *

              The status of a read replica. If the instance is not a read replica, this is + * blank.

              */ - Endpoint?: Endpoint; + StatusInfos?: DBInstanceStatusInfo[]; + + /** + *

              Specifies the current state of this database.

              + */ + DBInstanceStatus?: string; /** *

              If StorageEncrypted is true, the AWS KMS key identifier for @@ -1933,21 +2000,25 @@ export interface DBInstance { KmsKeyId?: string; /** - *

              Specifies that changes to the instance are pending. This element is included only - * when changes are pending. Specific changes are identified by subelements.

              + *

              Contains the name of the compute and memory capacity class of the instance.

              */ - PendingModifiedValues?: PendingModifiedValues; + DBInstanceClass?: string; /** - *

              Contains the name of the compute and memory capacity class of the instance.

              + *

              Provides the date and time that the instance was created.

              */ - DBInstanceClass?: string; + InstanceCreateTime?: Date; /** - *

              Specifies the latest time to which a database can be restored with point-in-time - * restore.

              + *

              Specifies the weekly time range during which system maintenance can occur, in + * Universal Coordinated Time (UTC).

              */ - LatestRestorableTime?: Date; + PreferredMaintenanceWindow?: string; + + /** + *

              Specifies the name of the Availability Zone that the instance is located in.

              + */ + AvailabilityZone?: string; /** *

              Indicates that minor version patches are applied automatically.

              @@ -1960,56 +2031,52 @@ export interface DBInstance { VpcSecurityGroups?: VpcSecurityGroupMembership[]; /** - *

              Provides the name of the database engine to be used for this instance.

              - */ - Engine?: string; - - /** - *

              A list of log types that this instance is configured to export to Amazon CloudWatch - * Logs.

              + *

              Specifies the daily time range during which automated backups are created if + * automated backups are enabled, as determined by the BackupRetentionPeriod. + *

              */ - EnabledCloudwatchLogsExports?: string[]; + PreferredBackupWindow?: string; /** - *

              The status of a read replica. If the instance is not a read replica, this is - * blank.

              + *

              The AWS Region-unique, immutable identifier for the instance. This identifier is + * found in AWS CloudTrail log entries whenever the AWS KMS key for the instance is + * accessed.

              */ - StatusInfos?: DBInstanceStatusInfo[]; + DbiResourceId?: string; /** - *

              The Amazon Resource Name (ARN) for the instance.

              + *

              Specifies information on the subnet group that is associated with the instance, + * including the name, description, and subnets in the subnet group.

              */ - DBInstanceArn?: string; + DBSubnetGroup?: DBSubnetGroup; /** - *

              Specifies the current state of this database.

              + *

              The identifier of the CA certificate for this DB instance.

              */ - DBInstanceStatus?: string; + CACertificateIdentifier?: string; /** - *

              Specifies the number of days for which automatic snapshots are retained.

              + *

              Specifies that changes to the instance are pending. This element is included only + * when changes are pending. Specific changes are identified by subelements.

              */ - BackupRetentionPeriod?: number; + PendingModifiedValues?: PendingModifiedValues; /** - *

              Contains the name of the cluster that the instance is a member of if the - * instance is a member of a cluster.

              + *

              Specifies the connection endpoint.

              */ - DBClusterIdentifier?: string; + Endpoint?: Endpoint; /** - *

              The AWS Region-unique, immutable identifier for the instance. This identifier is - * found in AWS CloudTrail log entries whenever the AWS KMS key for the instance is - * accessed.

              + *

              Not supported. Amazon DocumentDB does not currently support public endpoints. The value + * of PubliclyAccessible is always false.

              */ - DbiResourceId?: string; + PubliclyAccessible?: boolean; /** - *

              Specifies the daily time range during which automated backups are created if - * automated backups are enabled, as determined by the BackupRetentionPeriod. - *

              + *

              A value that specifies the order in which an Amazon DocumentDB replica is promoted to the + * primary instance after a failure of the existing primary instance.

              */ - PreferredBackupWindow?: string; + PromotionTier?: number; /** *

              Specifies whether or not the instance is encrypted.

              @@ -2017,26 +2084,21 @@ export interface DBInstance { StorageEncrypted?: boolean; /** - *

              Provides the date and time that the instance was created.

              + *

              Indicates the database engine version.

              */ - InstanceCreateTime?: Date; + EngineVersion?: string; /** - *

              A value that specifies the order in which an Amazon DocumentDB replica is promoted to the - * primary instance after a failure of the existing primary instance.

              + *

              Contains the name of the cluster that the instance is a member of if the + * instance is a member of a cluster.

              */ - PromotionTier?: number; + DBClusterIdentifier?: string; /** *

              Contains a user-provided database identifier. This identifier is the unique key that * identifies an instance.

              */ DBInstanceIdentifier?: string; - - /** - *

              Indicates the database engine version.

              - */ - EngineVersion?: string; } export namespace DBInstance { @@ -2145,11 +2207,6 @@ export interface CreateDBSubnetGroupMessage { */ DBSubnetGroupDescription: string | undefined; - /** - *

              The tags to be assigned to the subnet group.

              - */ - Tags?: Tag[]; - /** *

              The name for the subnet group. This value is stored as a lowercase string.

              *

              Constraints: Must contain no more than 255 letters, numbers, periods, underscores, @@ -2163,6 +2220,11 @@ export interface CreateDBSubnetGroupMessage { *

              The Amazon EC2 subnet IDs for the subnet group.

              */ SubnetIds: string[] | undefined; + + /** + *

              The tags to be assigned to the subnet group.

              + */ + Tags?: Tag[]; } export namespace CreateDBSubnetGroupMessage { @@ -2475,17 +2537,31 @@ export namespace InvalidDBSubnetStateFault { */ export interface Certificate { /** - *

              The unique key that identifies a certificate.

              - *

              Example: rds-ca-2019 + *

              The type of the certificate.

              + *

              Example: CA *

              */ - CertificateIdentifier?: string; + CertificateType?: string; + + /** + *

              The Amazon Resource Name (ARN) for the certificate.

              + *

              Example: arn:aws:rds:us-east-1::cert:rds-ca-2019 + *

              + */ + CertificateArn?: string; /** *

              The thumbprint of the certificate.

              */ Thumbprint?: string; + /** + *

              The unique key that identifies a certificate.

              + *

              Example: rds-ca-2019 + *

              + */ + CertificateIdentifier?: string; + /** *

              The date-time after which the certificate is no longer valid.

              *

              Example: 2024-07-31T17:57:09Z @@ -2499,20 +2575,6 @@ export interface Certificate { *

              */ ValidFrom?: Date; - - /** - *

              The type of the certificate.

              - *

              Example: CA - *

              - */ - CertificateType?: string; - - /** - *

              The Amazon Resource Name (ARN) for the certificate.

              - *

              Example: arn:aws:rds:us-east-1::cert:rds-ca-2019 - *

              - */ - CertificateArn?: string; } export namespace Certificate { @@ -2522,11 +2584,6 @@ export namespace Certificate { } export interface CertificateMessage { - /** - *

              A list of certificates for this AWS account.

              - */ - Certificates?: Certificate[]; - /** *

              An optional pagination token provided if the number of records retrieved is greater than * MaxRecords. If this parameter is specified, the marker specifies the next record @@ -2534,6 +2591,11 @@ export interface CertificateMessage { * DescribeCertificates results in the next page of certificates.

              */ Marker?: string; + + /** + *

              A list of certificates for this AWS account.

              + */ + Certificates?: Certificate[]; } export namespace CertificateMessage { @@ -2565,14 +2627,14 @@ export namespace CertificateNotFoundFault { */ export interface Filter { /** - *

              The name of the filter. Filter names are case sensitive.

              + *

              One or more filter values. Filter values are case sensitive.

              */ - Name: string | undefined; + Values: string[] | undefined; /** - *

              One or more filter values. Filter values are case sensitive.

              + *

              The name of the filter. Filter names are case sensitive.

              */ - Values: string[] | undefined; + Name: string | undefined; } export namespace Filter { @@ -2582,6 +2644,24 @@ export namespace Filter { } export interface DescribeCertificatesMessage { + /** + *

              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.

              + *

              Default: 100

              + *

              Constraints:

              + *
                + *
              • + *

                Minimum: 20

                + *
              • + *
              • + *

                Maximum: 100

                + *
              • + *
              + */ + MaxRecords?: number; + /** *

              An optional pagination token provided by a previous DescribeCertificates request. * If this parameter is specified, the response includes only records beyond the marker, up to the @@ -2607,24 +2687,6 @@ export interface DescribeCertificatesMessage { *

              This parameter is not currently supported.

              */ Filters?: Filter[]; - - /** - *

              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.

              - *

              Default: 100

              - *

              Constraints:

              - *
                - *
              • - *

                Minimum: 20

                - *
              • - *
              • - *

                Maximum: 100

                - *
              • - *
              - */ - MaxRecords?: number; } export namespace DescribeCertificatesMessage { @@ -2637,17 +2699,17 @@ export namespace DescribeCertificatesMessage { *

              Represents the output of DBClusterParameterGroups.

              */ export interface DBClusterParameterGroupsMessage { + /** + *

              A list of cluster parameter groups.

              + */ + DBClusterParameterGroups?: DBClusterParameterGroup[]; + /** *

              An optional pagination token provided by a previous request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by * MaxRecords.

              */ Marker?: string; - - /** - *

              A list of cluster parameter groups.

              - */ - DBClusterParameterGroups?: DBClusterParameterGroup[]; } export namespace DBClusterParameterGroupsMessage { @@ -2661,16 +2723,9 @@ export namespace DBClusterParameterGroupsMessage { */ export interface DescribeDBClusterParameterGroupsMessage { /** - *

              The name of a specific cluster parameter group to return details for.

              - *

              Constraints:

              - *
                - *
              • - *

                If provided, must match the name of an existing - * DBClusterParameterGroup.

                - *
              • - *
              + *

              This parameter is not currently supported.

              */ - DBClusterParameterGroupName?: string; + Filters?: Filter[]; /** *

              An optional pagination token provided by a previous request. If this parameter is specified, the response @@ -2680,9 +2735,16 @@ export interface DescribeDBClusterParameterGroupsMessage { Marker?: string; /** - *

              This parameter is not currently supported.

              + *

              The name of a specific cluster parameter group to return details for.

              + *

              Constraints:

              + *
                + *
              • + *

                If provided, must match the name of an existing + * DBClusterParameterGroup.

                + *
              • + *
              */ - Filters?: Filter[]; + DBClusterParameterGroupName?: string; /** *

              The maximum number of records to include in the response. If more records exist than @@ -2707,56 +2769,56 @@ export type ApplyMethod = "immediate" | "pending-reboot"; */ export interface Parameter { /** - *

              Provides a description of the parameter.

              + *

              Indicates the source of the parameter value.

              */ - Description?: string; + Source?: string; /** - *

              Specifies the engine-specific parameters type.

              + *

              The earliest engine version to which the parameter can apply.

              */ - ApplyType?: string; + MinimumEngineVersion?: string; /** - *

              Indicates whether (true) or not (false) the parameter can - * be modified. Some parameters have security or operational implications that prevent them - * from being changed.

              + *

              Specifies the name of the parameter.

              */ - IsModifiable?: boolean; + ParameterName?: string; /** - *

              Indicates when to apply parameter updates.

              + *

              Specifies the valid data type for the parameter.

              */ - ApplyMethod?: ApplyMethod | string; + DataType?: string; /** - *

              Specifies the name of the parameter.

              + *

              Specifies the valid range of values for the parameter.

              */ - ParameterName?: string; + AllowedValues?: string; /** - *

              Indicates the source of the parameter value.

              + *

              Specifies the value of the parameter.

              */ - Source?: string; + ParameterValue?: string; /** - *

              Specifies the valid data type for the parameter.

              + *

              Specifies the engine-specific parameters type.

              */ - DataType?: string; + ApplyType?: string; /** - *

              The earliest engine version to which the parameter can apply.

              + *

              Provides a description of the parameter.

              */ - MinimumEngineVersion?: string; + Description?: string; /** - *

              Specifies the valid range of values for the parameter.

              + *

              Indicates when to apply parameter updates.

              */ - AllowedValues?: string; + ApplyMethod?: ApplyMethod | string; /** - *

              Specifies the value of the parameter.

              + *

              Indicates whether (true) or not (false) the parameter can + * be modified. Some parameters have security or operational implications that prevent them + * from being changed.

              */ - ParameterValue?: string; + IsModifiable?: boolean; } export namespace Parameter { @@ -2769,17 +2831,17 @@ export namespace Parameter { *

              Represents the output of DBClusterParameterGroup.

              */ export interface DBClusterParameterGroupDetails { + /** + *

              Provides a list of parameters for the cluster parameter group.

              + */ + Parameters?: Parameter[]; + /** *

              An optional pagination token provided by a previous request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by * MaxRecords.

              */ Marker?: string; - - /** - *

              Provides a list of parameters for the cluster parameter group.

              - */ - Parameters?: Parameter[]; } export namespace DBClusterParameterGroupDetails { @@ -2792,29 +2854,6 @@ export namespace DBClusterParameterGroupDetails { *

              Represents the input to DescribeDBClusterParameters.

              */ export interface DescribeDBClusterParametersMessage { - /** - *

              An optional pagination token provided by a previous request. If this parameter is specified, the response - * includes only records beyond the marker, up to the value specified by - * MaxRecords.

              - */ - Marker?: string; - - /** - *

              A value that indicates to return only parameters for a specific source. Parameter - * sources can be engine, service, or customer. - *

              - */ - Source?: string; - - /** - *

              The maximum number of records to include in the response. If more records exist than - * the specified MaxRecords value, a pagination token (marker) is included - * in the response so that the remaining results can be retrieved.

              - *

              Default: 100

              - *

              Constraints: Minimum 20, maximum 100.

              - */ - MaxRecords?: number; - /** *

              This parameter is not currently supported.

              */ @@ -2831,7 +2870,30 @@ export interface DescribeDBClusterParametersMessage { * *
            */ - DBClusterParameterGroupName: string | undefined; + DBClusterParameterGroupName: string | undefined; + + /** + *

            An optional pagination token provided by a previous request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by + * MaxRecords.

            + */ + Marker?: string; + + /** + *

            A value that indicates to return only parameters for a specific source. Parameter + * sources can be engine, service, or customer. + *

            + */ + Source?: string; + + /** + *

            The maximum number of records to include in the response. If more records exist than + * the specified MaxRecords value, a pagination token (marker) is included + * in the response so that the remaining results can be retrieved.

            + *

            Default: 100

            + *

            Constraints: Minimum 20, maximum 100.

            + */ + MaxRecords?: number; } export namespace DescribeDBClusterParametersMessage { @@ -2867,6 +2929,26 @@ export namespace DBClusterMessage { *

            Represents the input to DescribeDBClusters.

            */ export interface DescribeDBClustersMessage { + /** + *

            The user-provided cluster identifier. If this parameter is specified, information + * from only the specific cluster is returned. This parameter isn't case + * sensitive.

            + *

            Constraints:

            + *
              + *
            • + *

              If provided, must match an existing DBClusterIdentifier.

              + *
            • + *
            + */ + DBClusterIdentifier?: string; + + /** + *

            An optional pagination token provided by a previous request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by + * MaxRecords.

            + */ + Marker?: string; + /** *

            The maximum number of records to include in the response. If more records exist than * the specified MaxRecords value, a pagination token (marker) is included @@ -2889,26 +2971,6 @@ export interface DescribeDBClustersMessage { * */ Filters?: Filter[]; - - /** - *

            The user-provided cluster identifier. If this parameter is specified, information - * from only the specific cluster is returned. This parameter isn't case - * sensitive.

            - *

            Constraints:

            - *
              - *
            • - *

              If provided, must match an existing DBClusterIdentifier.

              - *
            • - *
            - */ - DBClusterIdentifier?: string; - - /** - *

            An optional pagination token provided by a previous request. If this parameter is specified, the response - * includes only records beyond the marker, up to the value specified by - * MaxRecords.

            - */ - Marker?: string; } export namespace DescribeDBClustersMessage { @@ -2939,13 +3001,6 @@ export namespace DescribeDBClusterSnapshotAttributesMessage { * restore a manual cluster snapshot.

            */ export interface DBClusterSnapshotAttribute { - /** - *

            The name of the manual cluster snapshot attribute.

            - *

            The attribute named restore refers to the list of AWS accounts that have - * permission to copy or restore the manual cluster snapshot.

            - */ - AttributeName?: string; - /** *

            The values for the manual cluster snapshot attribute.

            *

            If the AttributeName field is set to restore, then this @@ -2955,6 +3010,13 @@ export interface DBClusterSnapshotAttribute { * restore.

            */ AttributeValues?: string[]; + + /** + *

            The name of the manual cluster snapshot attribute.

            + *

            The attribute named restore refers to the list of AWS accounts that have + * permission to copy or restore the manual cluster snapshot.

            + */ + AttributeName?: string; } export namespace DBClusterSnapshotAttribute { @@ -2969,14 +3031,14 @@ export namespace DBClusterSnapshotAttribute { */ export interface DBClusterSnapshotAttributesResult { /** - *

            The list of attributes and values for the cluster snapshot.

            + *

            The identifier of the cluster snapshot that the attributes apply to.

            */ - DBClusterSnapshotAttributes?: DBClusterSnapshotAttribute[]; + DBClusterSnapshotIdentifier?: string; /** - *

            The identifier of the cluster snapshot that the attributes apply to.

            + *

            The list of attributes and values for the cluster snapshot.

            */ - DBClusterSnapshotIdentifier?: string; + DBClusterSnapshotAttributes?: DBClusterSnapshotAttribute[]; } export namespace DBClusterSnapshotAttributesResult { @@ -3003,17 +3065,17 @@ export namespace DescribeDBClusterSnapshotAttributesResult { *

            Represents the output of DescribeDBClusterSnapshots.

            */ export interface DBClusterSnapshotMessage { + /** + *

            Provides a list of cluster snapshots.

            + */ + DBClusterSnapshots?: DBClusterSnapshot[]; + /** *

            An optional pagination token provided by a previous request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by * MaxRecords.

            */ Marker?: string; - - /** - *

            Provides a list of cluster snapshots.

            - */ - DBClusterSnapshots?: DBClusterSnapshot[]; } export namespace DBClusterSnapshotMessage { @@ -3026,6 +3088,29 @@ export namespace DBClusterSnapshotMessage { *

            Represents the input to DescribeDBClusterSnapshots.

            */ export interface DescribeDBClusterSnapshotsMessage { + /** + *

            The maximum number of records to include in the response. If more records exist than + * the specified MaxRecords value, a pagination token (marker) is included + * in the response so that the remaining results can be retrieved.

            + *

            Default: 100

            + *

            Constraints: Minimum 20, maximum 100.

            + */ + MaxRecords?: number; + + /** + *

            Set to true to include shared manual cluster snapshots from other AWS + * accounts that this AWS account has been given permission to copy or restore, and + * otherwise false. The default is false.

            + */ + IncludeShared?: boolean; + + /** + *

            An optional pagination token provided by a previous request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by + * MaxRecords.

            + */ + Marker?: string; + /** *

            The ID of the cluster to retrieve the list of cluster snapshots for. This * parameter can't be used with the DBClusterSnapshotIdentifier parameter. @@ -3059,11 +3144,16 @@ export interface DescribeDBClusterSnapshotsMessage { DBClusterSnapshotIdentifier?: string; /** - *

            Set to true to include shared manual cluster snapshots from other AWS - * accounts that this AWS account has been given permission to copy or restore, and - * otherwise false. The default is false.

            + *

            This parameter is not currently supported.

            */ - IncludeShared?: boolean; + Filters?: Filter[]; + + /** + *

            Set to true to include manual cluster snapshots that are public and + * can be copied or restored by any AWS account, and otherwise false. The + * default is false.

            + */ + IncludePublic?: boolean; /** *

            The type of cluster snapshots to be returned. You can specify one of the following @@ -3102,34 +3192,6 @@ export interface DescribeDBClusterSnapshotsMessage { * SnapshotType is set to public.

            */ SnapshotType?: string; - - /** - *

            Set to true to include manual cluster snapshots that are public and - * can be copied or restored by any AWS account, and otherwise false. The - * default is false.

            - */ - IncludePublic?: boolean; - - /** - *

            This parameter is not currently supported.

            - */ - Filters?: Filter[]; - - /** - *

            The maximum number of records to include in the response. If more records exist than - * the specified MaxRecords value, a pagination token (marker) is included - * in the response so that the remaining results can be retrieved.

            - *

            Default: 100

            - *

            Constraints: Minimum 20, maximum 100.

            - */ - MaxRecords?: number; - - /** - *

            An optional pagination token provided by a previous request. If this parameter is specified, the response - * includes only records beyond the marker, up to the value specified by - * MaxRecords.

            - */ - Marker?: string; } export namespace DescribeDBClusterSnapshotsMessage { @@ -3142,11 +3204,6 @@ export namespace DescribeDBClusterSnapshotsMessage { *

            The version of the database engine that an instance can be upgraded to.

            */ export interface UpgradeTarget { - /** - *

            The version of the database engine that an instance can be upgraded to.

            - */ - Description?: string; - /** *

            A value that indicates whether the target version is applied to any source DB * instances that have AutoMinorVersionUpgrade set to @@ -3169,6 +3226,11 @@ export interface UpgradeTarget { *

            The name of the upgrade target database engine.

            */ Engine?: string; + + /** + *

            The version of the database engine that an instance can be upgraded to.

            + */ + Description?: string; } export namespace UpgradeTarget { @@ -3182,46 +3244,46 @@ export namespace UpgradeTarget { */ export interface DBEngineVersion { /** - *

            A value that indicates whether the engine version supports exporting the log types - * specified by ExportableLogTypes to CloudWatch Logs.

            + *

            The types of logs that the database engine has available for export to Amazon + * CloudWatch Logs.

            */ - SupportsLogExportsToCloudwatchLogs?: boolean; + ExportableLogTypes?: string[]; /** - *

            The name of the database engine.

            + *

            The description of the database engine version.

            */ - Engine?: string; + DBEngineVersionDescription?: string; /** - *

            A list of engine versions that this database engine version can be upgraded to.

            + *

            The description of the database engine.

            */ - ValidUpgradeTarget?: UpgradeTarget[]; + DBEngineDescription?: string; /** - *

            The version number of the database engine.

            + *

            The name of the database engine.

            */ - EngineVersion?: string; + Engine?: string; /** - *

            The name of the parameter group family for the database engine.

            + *

            A value that indicates whether the engine version supports exporting the log types + * specified by ExportableLogTypes to CloudWatch Logs.

            */ - DBParameterGroupFamily?: string; + SupportsLogExportsToCloudwatchLogs?: boolean; /** - *

            The types of logs that the database engine has available for export to Amazon - * CloudWatch Logs.

            + *

            A list of engine versions that this database engine version can be upgraded to.

            */ - ExportableLogTypes?: string[]; + ValidUpgradeTarget?: UpgradeTarget[]; /** - *

            The description of the database engine version.

            + *

            The version number of the database engine.

            */ - DBEngineVersionDescription?: string; + EngineVersion?: string; /** - *

            The description of the database engine.

            + *

            The name of the parameter group family for the database engine.

            */ - DBEngineDescription?: string; + DBParameterGroupFamily?: string; } export namespace DBEngineVersion { @@ -3258,32 +3320,16 @@ export namespace DBEngineVersionMessage { */ export interface DescribeDBEngineVersionsMessage { /** - *

            If this parameter is specified and the requested engine supports the - * TimeZone parameter for CreateDBInstance, the response - * includes a list of supported time zones for each engine version.

            - */ - ListSupportedTimezones?: boolean; - - /** - *

            An optional pagination token provided by a previous request. If this parameter is specified, the response - * includes only records beyond the marker, up to the value specified by - * MaxRecords.

            - */ - Marker?: string; - - /** - *

            The database engine to return.

            + *

            This parameter is not currently supported.

            */ - Engine?: string; + Filters?: Filter[]; /** - *

            The maximum number of records to include in the response. If more records exist than - * the specified MaxRecords value, a pagination token (marker) is included - * in the response so that the remaining results can be retrieved.

            - *

            Default: 100

            - *

            Constraints: Minimum 20, maximum 100.

            + *

            The database engine version to return.

            + *

            Example: 3.6.0 + *

            */ - MaxRecords?: number; + EngineVersion?: string; /** *

            The name of a specific parameter group family to return details for.

            @@ -3297,30 +3343,46 @@ export interface DescribeDBEngineVersionsMessage { */ DBParameterGroupFamily?: string; - /** - *

            This parameter is not currently supported.

            - */ - Filters?: Filter[]; - - /** - *

            The database engine version to return.

            - *

            Example: 5.1.49 - *

            - */ - EngineVersion?: string; - /** *

            Indicates that only the default version of the specified engine or engine and major * version combination is returned.

            */ DefaultOnly?: boolean; + /** + *

            The maximum number of records to include in the response. If more records exist than + * the specified MaxRecords value, a pagination token (marker) is included + * in the response so that the remaining results can be retrieved.

            + *

            Default: 100

            + *

            Constraints: Minimum 20, maximum 100.

            + */ + MaxRecords?: number; + /** *

            If this parameter is specified and the requested engine supports the * CharacterSetName parameter for CreateDBInstance, the * response includes a list of supported character sets for each engine version.

            */ ListSupportedCharacterSets?: boolean; + + /** + *

            If this parameter is specified and the requested engine supports the + * TimeZone parameter for CreateDBInstance, the response + * includes a list of supported time zones for each engine version.

            + */ + ListSupportedTimezones?: boolean; + + /** + *

            An optional pagination token provided by a previous request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by + * MaxRecords.

            + */ + Marker?: string; + + /** + *

            The database engine to return.

            + */ + Engine?: string; } export namespace DescribeDBEngineVersionsMessage { @@ -3356,27 +3418,6 @@ export namespace DBInstanceMessage { *

            Represents the input to DescribeDBInstances.

            */ export interface DescribeDBInstancesMessage { - /** - *

            A filter that specifies one or more instances to describe.

            - *

            Supported filters:

            - *
              - *
            • - *

              - * db-cluster-id - Accepts cluster identifiers and cluster - * Amazon Resource Names (ARNs). The results list includes only the information - * about the instances that are associated with the clusters that are - * identified by these ARNs.

              - *
            • - *
            • - *

              - * db-instance-id - Accepts instance identifiers and instance - * ARNs. The results list includes only the information about the instances that - * are identified by these ARNs.

              - *
            • - *
            - */ - Filters?: Filter[]; - /** *

            The maximum number of records to include in the response. If more records exist than * the specified MaxRecords value, a pagination token (marker) is included @@ -3406,6 +3447,27 @@ export interface DescribeDBInstancesMessage { * MaxRecords.

            */ Marker?: string; + + /** + *

            A filter that specifies one or more instances to describe.

            + *

            Supported filters:

            + *
              + *
            • + *

              + * db-cluster-id - Accepts cluster identifiers and cluster + * Amazon Resource Names (ARNs). The results list includes only the information + * about the instances that are associated with the clusters that are + * identified by these ARNs.

              + *
            • + *
            • + *

              + * db-instance-id - Accepts instance identifiers and instance + * ARNs. The results list includes only the information about the instances that + * are identified by these ARNs.

              + *
            • + *
            + */ + Filters?: Filter[]; } export namespace DescribeDBInstancesMessage { @@ -3441,6 +3503,18 @@ export namespace DBSubnetGroupMessage { *

            Represents the input to DescribeDBSubnetGroups.

            */ export interface DescribeDBSubnetGroupsMessage { + /** + *

            An optional pagination token provided by a previous request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by + * MaxRecords.

            + */ + Marker?: string; + + /** + *

            The name of the subnet group to return details for.

            + */ + DBSubnetGroupName?: string; + /** *

            This parameter is not currently supported.

            */ @@ -3454,18 +3528,6 @@ export interface DescribeDBSubnetGroupsMessage { *

            Constraints: Minimum 20, maximum 100.

            */ MaxRecords?: number; - - /** - *

            The name of the subnet group to return details for.

            - */ - DBSubnetGroupName?: string; - - /** - *

            An optional pagination token provided by a previous request. If this parameter is specified, the response - * includes only records beyond the marker, up to the value specified by - * MaxRecords.

            - */ - Marker?: string; } export namespace DescribeDBSubnetGroupsMessage { @@ -3478,19 +3540,6 @@ export namespace DescribeDBSubnetGroupsMessage { *

            Represents the input to DescribeEngineDefaultClusterParameters.

            */ export interface DescribeEngineDefaultClusterParametersMessage { - /** - *

            The name of the cluster parameter group family to return the engine parameter - * information for.

            - */ - DBParameterGroupFamily: string | undefined; - - /** - *

            An optional pagination token provided by a previous request. If this parameter is specified, the response - * includes only records beyond the marker, up to the value specified by - * MaxRecords.

            - */ - Marker?: string; - /** *

            This parameter is not currently supported.

            */ @@ -3504,6 +3553,19 @@ export interface DescribeEngineDefaultClusterParametersMessage { *

            Constraints: Minimum 20, maximum 100.

            */ MaxRecords?: number; + + /** + *

            The name of the cluster parameter group family to return the engine parameter + * information for.

            + */ + DBParameterGroupFamily: string | undefined; + + /** + *

            An optional pagination token provided by a previous request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by + * MaxRecords.

            + */ + Marker?: string; } export namespace DescribeEngineDefaultClusterParametersMessage { @@ -3517,6 +3579,11 @@ export namespace DescribeEngineDefaultClusterParametersMessage { * DescribeEngineDefaultClusterParameters operation.

            */ export interface EngineDefaults { + /** + *

            The parameters of a particular cluster parameter group family.

            + */ + Parameters?: Parameter[]; + /** *

            An optional pagination token provided by a previous request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by @@ -3529,11 +3596,6 @@ export interface EngineDefaults { * information for.

            */ DBParameterGroupFamily?: string; - - /** - *

            The parameters of a particular cluster parameter group family.

            - */ - Parameters?: Parameter[]; } export namespace EngineDefaults { @@ -3585,14 +3647,14 @@ export namespace DescribeEventCategoriesMessage { */ export interface EventCategoriesMap { /** - *

            The event categories for the specified source type.

            + *

            The source type that the returned categories belong to.

            */ - EventCategories?: string[]; + SourceType?: string; /** - *

            The source type that the returned categories belong to.

            + *

            The event categories for the specified source type.

            */ - SourceType?: string; + EventCategories?: string[]; } export namespace EventCategoriesMap { @@ -3629,35 +3691,18 @@ export type SourceType = *

            Represents the input to DescribeEvents.

            */ export interface DescribeEventsMessage { - /** - *

            The end of the time interval for which to retrieve events, specified in ISO 8601 - * format.

            - *

            Example: 2009-07-08T18:00Z

            - */ - EndTime?: Date; - - /** - *

            The maximum number of records to include in the response. If more records exist than - * the specified MaxRecords value, a pagination token (marker) is included - * in the response so that the remaining results can be retrieved.

            - *

            Default: 100

            - *

            Constraints: Minimum 20, maximum 100.

            - */ - MaxRecords?: number; - - /** - *

            An optional pagination token provided by a previous request. If this parameter is specified, the response - * includes only records beyond the marker, up to the value specified by - * MaxRecords.

            - */ - Marker?: string; - /** *

            The event source to retrieve events for. If no value is specified, all events are * returned.

            */ SourceType?: SourceType | string; + /** + *

            A list of event categories that trigger notifications for an event notification + * subscription.

            + */ + EventCategories?: string[]; + /** *

            The beginning of the time interval to retrieve events for, specified in ISO 8601 * format.

            @@ -3697,12 +3742,6 @@ export interface DescribeEventsMessage { */ SourceIdentifier?: string; - /** - *

            A list of event categories that trigger notifications for an event notification - * subscription.

            - */ - EventCategories?: string[]; - /** *

            This parameter is not currently supported.

            */ @@ -3713,6 +3752,29 @@ export interface DescribeEventsMessage { *

            Default: 60

            */ Duration?: number; + + /** + *

            The maximum number of records to include in the response. If more records exist than + * the specified MaxRecords value, a pagination token (marker) is included + * in the response so that the remaining results can be retrieved.

            + *

            Default: 100

            + *

            Constraints: Minimum 20, maximum 100.

            + */ + MaxRecords?: number; + + /** + *

            The end of the time interval for which to retrieve events, specified in ISO 8601 + * format.

            + *

            Example: 2009-07-08T18:00Z

            + */ + EndTime?: Date; + + /** + *

            An optional pagination token provided by a previous request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by + * MaxRecords.

            + */ + Marker?: string; } export namespace DescribeEventsMessage { @@ -3725,16 +3787,6 @@ export namespace DescribeEventsMessage { *

            Detailed information about an event.

            */ export interface Event { - /** - *

            Specifies the date and time of the event.

            - */ - Date?: Date; - - /** - *

            Provides the identifier for the source of the event.

            - */ - SourceIdentifier?: string; - /** *

            Specifies the source type for this event.

            */ @@ -3754,6 +3806,16 @@ export interface Event { *

            The Amazon Resource Name (ARN) for the event.

            */ SourceArn?: string; + + /** + *

            Provides the identifier for the source of the event.

            + */ + SourceIdentifier?: string; + + /** + *

            Specifies the date and time of the event.

            + */ + Date?: Date; } export namespace Event { @@ -3766,17 +3828,17 @@ export namespace Event { *

            Represents the output of DescribeEvents.

            */ export interface EventsMessage { + /** + *

            Detailed information about one or more events.

            + */ + Events?: Event[]; + /** *

            An optional pagination token provided by a previous request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by * MaxRecords.

            */ Marker?: string; - - /** - *

            Detailed information about one or more events.

            - */ - Events?: Event[]; } export namespace EventsMessage { @@ -3789,6 +3851,23 @@ export namespace EventsMessage { *

            Represents the input to DescribeOrderableDBInstanceOptions.

            */ export interface DescribeOrderableDBInstanceOptionsMessage { + /** + *

            The engine version filter value. Specify this parameter to show only the available + * offerings that match the specified engine version.

            + */ + EngineVersion?: string; + + /** + *

            This parameter is not currently supported.

            + */ + Filters?: Filter[]; + + /** + *

            The virtual private cloud (VPC) filter value. Specify this parameter to show only the + * available VPC or non-VPC offerings.

            + */ + Vpc?: boolean; + /** *

            An optional pagination token provided by a previous request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by @@ -3797,10 +3876,10 @@ export interface DescribeOrderableDBInstanceOptionsMessage { Marker?: string; /** - *

            The virtual private cloud (VPC) filter value. Specify this parameter to show only the - * available VPC or non-VPC offerings.

            + *

            The instance class filter value. Specify this parameter to show only the available + * offerings that match the specified instance class.

            */ - Vpc?: boolean; + DBInstanceClass?: string; /** *

            The name of the engine to retrieve instance options for.

            @@ -3816,28 +3895,11 @@ export interface DescribeOrderableDBInstanceOptionsMessage { */ MaxRecords?: number; - /** - *

            The instance class filter value. Specify this parameter to show only the available - * offerings that match the specified instance class.

            - */ - DBInstanceClass?: string; - - /** - *

            This parameter is not currently supported.

            - */ - Filters?: Filter[]; - /** *

            The license model filter value. Specify this parameter to show only the available * offerings that match the specified license model.

            */ LicenseModel?: string; - - /** - *

            The engine version filter value. Specify this parameter to show only the available - * offerings that match the specified engine version.

            - */ - EngineVersion?: string; } export namespace DescribeOrderableDBInstanceOptionsMessage { @@ -3851,19 +3913,19 @@ export namespace DescribeOrderableDBInstanceOptionsMessage { */ export interface OrderableDBInstanceOption { /** - *

            A list of Availability Zones for an instance.

            + *

            The license model for an instance.

            */ - AvailabilityZones?: AvailabilityZone[]; + LicenseModel?: string; /** - *

            The instance class for an instance.

            + *

            The engine type of an instance.

            */ - DBInstanceClass?: string; + Engine?: string; /** - *

            The engine type of an instance.

            + *

            The instance class for an instance.

            */ - Engine?: string; + DBInstanceClass?: string; /** *

            Indicates whether an instance is in a virtual private cloud (VPC).

            @@ -3871,14 +3933,14 @@ export interface OrderableDBInstanceOption { Vpc?: boolean; /** - *

            The engine version of an instance.

            + *

            A list of Availability Zones for an instance.

            */ - EngineVersion?: string; + AvailabilityZones?: AvailabilityZone[]; /** - *

            The license model for an instance.

            + *

            The engine version of an instance.

            */ - LicenseModel?: string; + EngineVersion?: string; } export namespace OrderableDBInstanceOption { @@ -3914,27 +3976,6 @@ export namespace OrderableDBInstanceOptionsMessage { *

            Represents the input to DescribePendingMaintenanceActions.

            */ export interface DescribePendingMaintenanceActionsMessage { - /** - *

            The maximum number of records to include in the response. If more records exist than - * the specified MaxRecords value, a pagination token (marker) is included - * in the response so that the remaining results can be retrieved.

            - *

            Default: 100

            - *

            Constraints: Minimum 20, maximum 100.

            - */ - MaxRecords?: number; - - /** - *

            An optional pagination token provided by a previous request. If this parameter is specified, the response - * includes only records beyond the marker, up to the value specified by - * MaxRecords.

            - */ - Marker?: string; - - /** - *

            The ARN of a resource to return pending maintenance actions for.

            - */ - ResourceIdentifier?: string; - /** *

            A filter that specifies one or more resources to return pending maintenance actions * for.

            @@ -3955,6 +3996,27 @@ export interface DescribePendingMaintenanceActionsMessage { * */ Filters?: Filter[]; + + /** + *

            The ARN of a resource to return pending maintenance actions for.

            + */ + ResourceIdentifier?: string; + + /** + *

            The maximum number of records to include in the response. If more records exist than + * the specified MaxRecords value, a pagination token (marker) is included + * in the response so that the remaining results can be retrieved.

            + *

            Default: 100

            + *

            Constraints: Minimum 20, maximum 100.

            + */ + MaxRecords?: number; + + /** + *

            An optional pagination token provided by a previous request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by + * MaxRecords.

            + */ + Marker?: string; } export namespace DescribePendingMaintenanceActionsMessage { @@ -3990,6 +4052,13 @@ export namespace PendingMaintenanceActionsMessage { *

            Represents the input to FailoverDBCluster.

            */ export interface FailoverDBClusterMessage { + /** + *

            The name of the instance to promote to the primary instance.

            + *

            You must specify the instance identifier for an Amazon DocumentDB replica in the cluster. For + * example, mydbcluster-replica1.

            + */ + TargetDBInstanceIdentifier?: string; + /** *

            A cluster identifier to force a failover for. This parameter is not case * sensitive.

            @@ -4001,13 +4070,6 @@ export interface FailoverDBClusterMessage { * */ DBClusterIdentifier?: string; - - /** - *

            The name of the instance to promote to the primary instance.

            - *

            You must specify the instance identifier for an Amazon DocumentDB replica in the cluster. For - * example, mydbcluster-replica1.

            - */ - TargetDBInstanceIdentifier?: string; } export namespace FailoverDBClusterMessage { @@ -4033,16 +4095,16 @@ export namespace FailoverDBClusterResult { *

            Represents the input to ListTagsForResource.

            */ export interface ListTagsForResourceMessage { - /** - *

            This parameter is not currently supported.

            - */ - Filters?: Filter[]; - /** *

            The Amazon DocumentDB resource with tags to be listed. This value is an Amazon Resource Name * (ARN).

            */ ResourceName: string | undefined; + + /** + *

            This parameter is not currently supported.

            + */ + Filters?: Filter[]; } export namespace ListTagsForResourceMessage { @@ -4111,46 +4173,6 @@ export namespace CloudwatchLogsExportConfiguration { *

            Represents the input to ModifyDBCluster.

            */ export interface ModifyDBClusterMessage { - /** - *

            The new cluster identifier for the cluster when renaming a cluster. This - * value is stored as a lowercase string.

            - *

            Constraints:

            - *
              - *
            • - *

              Must contain from 1 to 63 letters, numbers, or hyphens.

              - *
            • - *
            • - *

              The first character must be a letter.

              - *
            • - *
            • - *

              Cannot end with a hyphen or contain two consecutive hyphens.

              - *
            • - *
            - *

            Example: my-cluster2 - *

            - */ - NewDBClusterIdentifier?: string; - - /** - *

            Specifies whether this cluster can be deleted. If DeletionProtection is - * enabled, the cluster cannot be deleted unless it is modified and - * DeletionProtection is disabled. DeletionProtection - * protects clusters from being accidentally deleted.

            - */ - DeletionProtection?: boolean; - - /** - *

            The cluster identifier for the cluster that is being modified. This parameter is - * not case sensitive.

            - *

            Constraints:

            - *
              - *
            • - *

              Must match the identifier of an existing DBCluster.

              - *
            • - *
            - */ - DBClusterIdentifier: string | undefined; - /** *

            The weekly time range during which system maintenance can occur, in Universal * Coordinated Time (UTC).

            @@ -4171,19 +4193,12 @@ export interface ModifyDBClusterMessage { Port?: number; /** - *

            The version number of the database engine to which you want to upgrade. Changing this - * parameter results in an outage. The change is applied during the next maintenance window - * unless the ApplyImmediately parameter is set to true.

            - */ - EngineVersion?: string; - - /** - *

            The password for the master database user. This password can contain any printable - * ASCII character except forward slash (/), double quote ("), or the "at" symbol - * (@).

            - *

            Constraints: Must contain from 8 to 100 characters.

            + *

            The configuration setting for the log types to be enabled for export to Amazon + * CloudWatch Logs for a specific instance or cluster. The + * EnableLogTypes and DisableLogTypes arrays determine which + * logs are exported (or not exported) to CloudWatch Logs.

            */ - MasterUserPassword?: string; + CloudwatchLogsExportConfiguration?: CloudwatchLogsExportConfiguration; /** *

            A list of virtual private cloud (VPC) security groups that the cluster will belong @@ -4215,22 +4230,24 @@ export interface ModifyDBClusterMessage { PreferredBackupWindow?: string; /** - *

            The name of the cluster parameter group to use for the cluster.

            + *

            Specifies whether this cluster can be deleted. If DeletionProtection is + * enabled, the cluster cannot be deleted unless it is modified and + * DeletionProtection is disabled. DeletionProtection + * protects clusters from being accidentally deleted.

            */ - DBClusterParameterGroupName?: string; + DeletionProtection?: boolean; /** - *

            The number of days for which automated backups are retained. You must specify a - * minimum value of 1.

            - *

            Default: 1

            + *

            The cluster identifier for the cluster that is being modified. This parameter is + * not case sensitive.

            *

            Constraints:

            *
              *
            • - *

              Must be a value from 1 to 35.

              + *

              Must match the identifier of an existing DBCluster.

              *
            • *
            */ - BackupRetentionPeriod?: number; + DBClusterIdentifier: string | undefined; /** *

            A value that specifies whether the changes in this request and any pending changes are @@ -4250,12 +4267,57 @@ export interface ModifyDBClusterMessage { ApplyImmediately?: boolean; /** - *

            The configuration setting for the log types to be enabled for export to Amazon - * CloudWatch Logs for a specific instance or cluster. The - * EnableLogTypes and DisableLogTypes arrays determine which - * logs are exported (or not exported) to CloudWatch Logs.

            + *

            The version number of the database engine to which you want to upgrade. Changing this + * parameter results in an outage. The change is applied during the next maintenance window + * unless the ApplyImmediately parameter is set to true.

            */ - CloudwatchLogsExportConfiguration?: CloudwatchLogsExportConfiguration; + EngineVersion?: string; + + /** + *

            The new cluster identifier for the cluster when renaming a cluster. This + * value is stored as a lowercase string.

            + *

            Constraints:

            + *
              + *
            • + *

              Must contain from 1 to 63 letters, numbers, or hyphens.

              + *
            • + *
            • + *

              The first character must be a letter.

              + *
            • + *
            • + *

              Cannot end with a hyphen or contain two consecutive hyphens.

              + *
            • + *
            + *

            Example: my-cluster2 + *

            + */ + NewDBClusterIdentifier?: string; + + /** + *

            The name of the cluster parameter group to use for the cluster.

            + */ + DBClusterParameterGroupName?: string; + + /** + *

            The password for the master database user. This password can contain any printable + * ASCII character except forward slash (/), double quote ("), or the "at" symbol + * (@).

            + *

            Constraints: Must contain from 8 to 100 characters.

            + */ + MasterUserPassword?: string; + + /** + *

            The number of days for which automated backups are retained. You must specify a + * minimum value of 1.

            + *

            Default: 1

            + *

            Constraints:

            + *
              + *
            • + *

              Must be a value from 1 to 35.

              + *
            • + *
            + */ + BackupRetentionPeriod?: number; } export namespace ModifyDBClusterMessage { @@ -4313,14 +4375,14 @@ export namespace DBClusterParameterGroupNameMessage { */ export interface ModifyDBClusterParameterGroupMessage { /** - *

            A list of parameters in the cluster parameter group to modify.

            + *

            The name of the cluster parameter group to modify.

            */ - Parameters: Parameter[] | undefined; + DBClusterParameterGroupName: string | undefined; /** - *

            The name of the cluster parameter group to modify.

            + *

            A list of parameters in the cluster parameter group to modify.

            */ - DBClusterParameterGroupName: string | undefined; + Parameters: Parameter[] | undefined; } export namespace ModifyDBClusterParameterGroupMessage { @@ -4333,18 +4395,6 @@ export namespace ModifyDBClusterParameterGroupMessage { *

            Represents the input to ModifyDBClusterSnapshotAttribute.

            */ export interface ModifyDBClusterSnapshotAttributeMessage { - /** - *

            The name of the cluster snapshot attribute to modify.

            - *

            To manage authorization for other AWS accounts to copy or restore a manual cluster - * snapshot, set this value to restore.

            - */ - AttributeName: string | undefined; - - /** - *

            The identifier for the cluster snapshot to modify the attributes for.

            - */ - DBClusterSnapshotIdentifier: string | undefined; - /** *

            A list of cluster snapshot attributes to remove from the attribute specified by * AttributeName.

            @@ -4367,6 +4417,18 @@ export interface ModifyDBClusterSnapshotAttributeMessage { * information that you don't want to be available to all AWS accounts.

            */ ValuesToAdd?: string[]; + + /** + *

            The identifier for the cluster snapshot to modify the attributes for.

            + */ + DBClusterSnapshotIdentifier: string | undefined; + + /** + *

            The name of the cluster snapshot attribute to modify.

            + *

            To manage authorization for other AWS accounts to copy or restore a manual cluster + * snapshot, set this value to restore.

            + */ + AttributeName: string | undefined; } export namespace ModifyDBClusterSnapshotAttributeMessage { @@ -4422,44 +4484,13 @@ export namespace DBUpgradeDependencyFailureFault { } /** - *

            Represents the input to ModifyDBInstance.

            - */ -export interface ModifyDBInstanceMessage { - /** - *

            The weekly time range (in UTC) during which system maintenance can occur, which might - * result in an outage. Changing this parameter doesn't result in an outage except in the - * following situation, and the change is asynchronously applied as soon as possible. If - * there are pending actions that cause a reboot, and the maintenance window is changed to - * include the current time, changing this parameter causes a reboot of the instance. If - * you are moving this window to the current time, there must be at least 30 minutes - * between the current time and end of the window to ensure that pending changes are - * applied.

            - *

            Default: Uses existing setting.

            - *

            Format: ddd:hh24:mi-ddd:hh24:mi - *

            - *

            Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

            - *

            Constraints: Must be at least 30 minutes.

            - */ - PreferredMaintenanceWindow?: string; - - /** - *

            A value that specifies the order in which an Amazon DocumentDB replica is promoted to the - * primary instance after a failure of the existing primary instance.

            - *

            Default: 1

            - *

            Valid values: 0-15

            - */ - PromotionTier?: number; - + *

            Represents the input to ModifyDBInstance.

            + */ +export interface ModifyDBInstanceMessage { /** - *

            The new compute and memory capacity of the instance; for example, - * db.r5.large. Not all instance classes are available in all AWS - * Regions.

            - *

            If you modify the instance class, an outage occurs during the change. The change is - * applied during the next maintenance window, unless ApplyImmediately is - * specified as true for this request.

            - *

            Default: Uses existing setting.

            + *

            Indicates the certificate that needs to be associated with the instance.

            */ - DBInstanceClass?: string; + CACertificateIdentifier?: string; /** *

            The new instance identifier for the instance when renaming an instance. When @@ -4485,15 +4516,21 @@ export interface ModifyDBInstanceMessage { NewDBInstanceIdentifier?: string; /** - *

            The instance identifier. This value is stored as a lowercase string.

            - *

            Constraints:

            - *
              - *
            • - *

              Must match the identifier of an existing DBInstance.

              - *
            • - *
            + *

            The weekly time range (in UTC) during which system maintenance can occur, which might + * result in an outage. Changing this parameter doesn't result in an outage except in the + * following situation, and the change is asynchronously applied as soon as possible. If + * there are pending actions that cause a reboot, and the maintenance window is changed to + * include the current time, changing this parameter causes a reboot of the instance. If + * you are moving this window to the current time, there must be at least 30 minutes + * between the current time and end of the window to ensure that pending changes are + * applied.

            + *

            Default: Uses existing setting.

            + *

            Format: ddd:hh24:mi-ddd:hh24:mi + *

            + *

            Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

            + *

            Constraints: Must be at least 30 minutes.

            */ - DBInstanceIdentifier: string | undefined; + PreferredMaintenanceWindow?: string; /** *

            Indicates that minor version upgrades are applied automatically to the instance @@ -4505,6 +4542,17 @@ export interface ModifyDBInstanceMessage { */ AutoMinorVersionUpgrade?: boolean; + /** + *

            The instance identifier. This value is stored as a lowercase string.

            + *

            Constraints:

            + *
              + *
            • + *

              Must match the identifier of an existing DBInstance.

              + *
            • + *
            + */ + DBInstanceIdentifier: string | undefined; + /** *

            Specifies whether the modifications in this request and any pending modifications are * asynchronously applied as soon as possible, regardless of the @@ -4518,9 +4566,23 @@ export interface ModifyDBInstanceMessage { ApplyImmediately?: boolean; /** - *

            Indicates the certificate that needs to be associated with the instance.

            + *

            A value that specifies the order in which an Amazon DocumentDB replica is promoted to the + * primary instance after a failure of the existing primary instance.

            + *

            Default: 1

            + *

            Valid values: 0-15

            */ - CACertificateIdentifier?: string; + PromotionTier?: number; + + /** + *

            The new compute and memory capacity of the instance; for example, + * db.r5.large. Not all instance classes are available in all AWS + * Regions.

            + *

            If you modify the instance class, an outage occurs during the change. The change is + * applied during the next maintenance window, unless ApplyImmediately is + * specified as true for this request.

            + *

            Default: Uses existing setting.

            + */ + DBInstanceClass?: string; } export namespace ModifyDBInstanceMessage { @@ -4547,14 +4609,9 @@ export namespace ModifyDBInstanceResult { */ export interface ModifyDBSubnetGroupMessage { /** - *

            The name for the subnet group. This value is stored as a lowercase string. You - * can't modify the default subnet group.

            - *

            Constraints: Must match the name of an existing DBSubnetGroup. Must not - * be default.

            - *

            Example: mySubnetgroup - *

            + *

            The Amazon EC2 subnet IDs for the subnet group.

            */ - DBSubnetGroupName: string | undefined; + SubnetIds: string[] | undefined; /** *

            The description for the subnet group.

            @@ -4562,9 +4619,14 @@ export interface ModifyDBSubnetGroupMessage { DBSubnetGroupDescription?: string; /** - *

            The Amazon EC2 subnet IDs for the subnet group.

            + *

            The name for the subnet group. This value is stored as a lowercase string. You + * can't modify the default subnet group.

            + *

            Constraints: Must match the name of an existing DBSubnetGroup. Must not + * be default.

            + *

            Example: mySubnetgroup + *

            */ - SubnetIds: string[] | undefined; + DBSubnetGroupName: string | undefined; } export namespace ModifyDBSubnetGroupMessage { @@ -4605,6 +4667,13 @@ export namespace SubnetAlreadyInUse { *

            Represents the input to RebootDBInstance.

            */ export interface RebootDBInstanceMessage { + /** + *

            When true, the reboot is conducted through a Multi-AZ failover.

            + *

            Constraint: You can't specify true if the instance is not configured for + * Multi-AZ.

            + */ + ForceFailover?: boolean; + /** *

            The instance identifier. This parameter is stored as a lowercase string.

            *

            Constraints:

            @@ -4615,13 +4684,6 @@ export interface RebootDBInstanceMessage { * */ DBInstanceIdentifier: string | undefined; - - /** - *

            When true, the reboot is conducted through a Multi-AZ failover.

            - *

            Constraint: You can't specify true if the instance is not configured for - * Multi-AZ.

            - */ - ForceFailover?: boolean; } export namespace RebootDBInstanceMessage { @@ -4669,14 +4731,6 @@ export namespace RemoveTagsFromResourceMessage { *

            Represents the input to ResetDBClusterParameterGroup.

            */ export interface ResetDBClusterParameterGroupMessage { - /** - *

            A value that is set to true to reset all parameters in the cluster - * parameter group to their default values, and false otherwise. You can't use - * this parameter if there is a list of parameter names specified for the - * Parameters parameter.

            - */ - ResetAllParameters?: boolean; - /** *

            The name of the cluster parameter group to reset.

            */ @@ -4688,6 +4742,14 @@ export interface ResetDBClusterParameterGroupMessage { * set to true.

            */ Parameters?: Parameter[]; + + /** + *

            A value that is set to true to reset all parameters in the cluster + * parameter group to their default values, and false otherwise. You can't use + * this parameter if there is a list of parameter names specified for the + * Parameters parameter.

            + */ + ResetAllParameters?: boolean; } export namespace ResetDBClusterParameterGroupMessage { @@ -4746,17 +4808,6 @@ export namespace InvalidRestoreFault { *

            Represents the input to RestoreDBClusterFromSnapshot.

            */ export interface RestoreDBClusterFromSnapshotMessage { - /** - *

            The tags to be assigned to the restored cluster.

            - */ - Tags?: Tag[]; - - /** - *

            A list of virtual private cloud (VPC) security groups that the new cluster will - * belong to.

            - */ - VpcSecurityGroupIds?: string[]; - /** *

            The name of the subnet group to use for the new cluster.

            *

            Constraints: If provided, must match the name of an existing @@ -4767,37 +4818,23 @@ export interface RestoreDBClusterFromSnapshotMessage { DBSubnetGroupName?: string; /** - *

            Specifies whether this cluster can be deleted. If DeletionProtection is - * enabled, the cluster cannot be deleted unless it is modified and - * DeletionProtection is disabled. DeletionProtection - * protects clusters from being accidentally deleted.

            + *

            The database engine to use for the new cluster.

            + *

            Default: The same as source.

            + *

            Constraint: Must be compatible with the engine of the source.

            */ - DeletionProtection?: boolean; + Engine: string | undefined; /** - *

            The name of the cluster to create from the snapshot or cluster snapshot. This - * parameter isn't case sensitive.

            - *

            Constraints:

            - *
              - *
            • - *

              Must contain from 1 to 63 letters, numbers, or hyphens.

              - *
            • - *
            • - *

              The first character must be a letter.

              - *
            • - *
            • - *

              Cannot end with a hyphen or contain two consecutive hyphens.

              - *
            • - *
            - *

            Example: my-snapshot-id - *

            + *

            A list of log types that must be enabled for exporting to Amazon CloudWatch + * Logs.

            */ - DBClusterIdentifier: string | undefined; + EnableCloudwatchLogsExports?: string[]; /** - *

            The version of the database engine to use for the new cluster.

            + *

            Provides the list of Amazon EC2 Availability Zones that instances in the restored DB + * cluster can be created in.

            */ - EngineVersion?: string; + AvailabilityZones?: string[]; /** *

            The identifier for the snapshot or cluster snapshot to restore from.

            @@ -4813,11 +4850,10 @@ export interface RestoreDBClusterFromSnapshotMessage { SnapshotIdentifier: string | undefined; /** - *

            The port number on which the new cluster accepts connections.

            - *

            Constraints: Must be a value from 1150 to 65535.

            - *

            Default: The same port as the original cluster.

            + *

            A list of virtual private cloud (VPC) security groups that the new cluster will + * belong to.

            */ - Port?: number; + VpcSecurityGroupIds?: string[]; /** *

            The AWS KMS key identifier to use when restoring an encrypted cluster from a DB @@ -4844,23 +4880,49 @@ export interface RestoreDBClusterFromSnapshotMessage { KmsKeyId?: string; /** - *

            Provides the list of Amazon EC2 Availability Zones that instances in the restored DB - * cluster can be created in.

            + *

            Specifies whether this cluster can be deleted. If DeletionProtection is + * enabled, the cluster cannot be deleted unless it is modified and + * DeletionProtection is disabled. DeletionProtection + * protects clusters from being accidentally deleted.

            */ - AvailabilityZones?: string[]; + DeletionProtection?: boolean; /** - *

            The database engine to use for the new cluster.

            - *

            Default: The same as source.

            - *

            Constraint: Must be compatible with the engine of the source.

            + *

            The name of the cluster to create from the snapshot or cluster snapshot. This + * parameter isn't case sensitive.

            + *

            Constraints:

            + *
              + *
            • + *

              Must contain from 1 to 63 letters, numbers, or hyphens.

              + *
            • + *
            • + *

              The first character must be a letter.

              + *
            • + *
            • + *

              Cannot end with a hyphen or contain two consecutive hyphens.

              + *
            • + *
            + *

            Example: my-snapshot-id + *

            */ - Engine: string | undefined; + DBClusterIdentifier: string | undefined; /** - *

            A list of log types that must be enabled for exporting to Amazon CloudWatch - * Logs.

            + *

            The tags to be assigned to the restored cluster.

            */ - EnableCloudwatchLogsExports?: string[]; + Tags?: Tag[]; + + /** + *

            The version of the database engine to use for the new cluster.

            + */ + EngineVersion?: string; + + /** + *

            The port number on which the new cluster accepts connections.

            + *

            Constraints: Must be a value from 1150 to 65535.

            + *

            Default: The same port as the original cluster.

            + */ + Port?: number; } export namespace RestoreDBClusterFromSnapshotMessage { @@ -4887,9 +4949,18 @@ export namespace RestoreDBClusterFromSnapshotResult { */ export interface RestoreDBClusterToPointInTimeMessage { /** - *

            The tags to be assigned to the restored cluster.

            + *

            The subnet group name to use for the new cluster.

            + *

            Constraints: If provided, must match the name of an existing + * DBSubnetGroup.

            + *

            Example: mySubnetgroup + *

            */ - Tags?: Tag[]; + DBSubnetGroupName?: string; + + /** + *

            A list of VPC security groups that the new cluster belongs to.

            + */ + VpcSecurityGroupIds?: string[]; /** *

            The identifier of the source cluster from which to restore.

            @@ -4902,13 +4973,6 @@ export interface RestoreDBClusterToPointInTimeMessage { */ SourceDBClusterIdentifier: string | undefined; - /** - *

            The port number on which the new cluster accepts connections.

            - *

            Constraints: Must be a value from 1150 to 65535.

            - *

            Default: The default port for the engine.

            - */ - Port?: number; - /** *

            The date and time to restore the cluster to.

            *

            Valid values: A time in Universal Coordinated Time (UTC) format.

            @@ -4935,12 +4999,6 @@ export interface RestoreDBClusterToPointInTimeMessage { */ RestoreToTime?: Date; - /** - *

            A list of log types that must be enabled for exporting to Amazon CloudWatch - * Logs.

            - */ - EnableCloudwatchLogsExports?: string[]; - /** *

            A value that is set to true to restore the cluster to the latest * restorable backup time, and false otherwise.

            @@ -4952,13 +5010,11 @@ export interface RestoreDBClusterToPointInTimeMessage { UseLatestRestorableTime?: boolean; /** - *

            The subnet group name to use for the new cluster.

            - *

            Constraints: If provided, must match the name of an existing - * DBSubnetGroup.

            - *

            Example: mySubnetgroup - *

            + *

            The port number on which the new cluster accepts connections.

            + *

            Constraints: Must be a value from 1150 to 65535.

            + *

            Default: The default port for the engine.

            */ - DBSubnetGroupName?: string; + Port?: number; /** *

            Specifies whether this cluster can be deleted. If DeletionProtection is @@ -5014,9 +5070,15 @@ export interface RestoreDBClusterToPointInTimeMessage { KmsKeyId?: string; /** - *

            A list of VPC security groups that the new cluster belongs to.

            + *

            The tags to be assigned to the restored cluster.

            */ - VpcSecurityGroupIds?: string[]; + Tags?: Tag[]; + + /** + *

            A list of log types that must be enabled for exporting to Amazon CloudWatch + * Logs.

            + */ + EnableCloudwatchLogsExports?: string[]; } export namespace RestoreDBClusterToPointInTimeMessage { diff --git a/clients/client-docdb/pagination/DescribeCertificatesPaginator.ts b/clients/client-docdb/pagination/DescribeCertificatesPaginator.ts new file mode 100644 index 000000000000..3546796d33e5 --- /dev/null +++ b/clients/client-docdb/pagination/DescribeCertificatesPaginator.ts @@ -0,0 +1,51 @@ +import { DocDB } from "../DocDB"; +import { DocDBClient } from "../DocDBClient"; +import { + DescribeCertificatesCommand, + DescribeCertificatesCommandInput, + DescribeCertificatesCommandOutput, +} from "../commands/DescribeCertificatesCommand"; +import { DocDBPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: DocDBClient, + input: DescribeCertificatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeCertificatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: DocDB, + input: DescribeCertificatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeCertificates(input, ...args); +}; +export async function* describeCertificatesPaginate( + config: DocDBPaginationConfiguration, + input: DescribeCertificatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeCertificatesCommandOutput; + while (hasNext) { + input["Marker"] = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof DocDB) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof DocDBClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DocDB | DocDBClient"); + } + yield page; + token = page["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-docdb/pagination/DescribeDBClusterParameterGroupsPaginator.ts b/clients/client-docdb/pagination/DescribeDBClusterParameterGroupsPaginator.ts new file mode 100644 index 000000000000..01a25b048e43 --- /dev/null +++ b/clients/client-docdb/pagination/DescribeDBClusterParameterGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { DocDB } from "../DocDB"; +import { DocDBClient } from "../DocDBClient"; +import { + DescribeDBClusterParameterGroupsCommand, + DescribeDBClusterParameterGroupsCommandInput, + DescribeDBClusterParameterGroupsCommandOutput, +} from "../commands/DescribeDBClusterParameterGroupsCommand"; +import { DocDBPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: DocDBClient, + input: DescribeDBClusterParameterGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeDBClusterParameterGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: DocDB, + input: DescribeDBClusterParameterGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeDBClusterParameterGroups(input, ...args); +}; +export async function* describeDBClusterParameterGroupsPaginate( + config: DocDBPaginationConfiguration, + input: DescribeDBClusterParameterGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeDBClusterParameterGroupsCommandOutput; + while (hasNext) { + input["Marker"] = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof DocDB) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof DocDBClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DocDB | DocDBClient"); + } + yield page; + token = page["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-docdb/pagination/DescribeDBClusterParametersPaginator.ts b/clients/client-docdb/pagination/DescribeDBClusterParametersPaginator.ts new file mode 100644 index 000000000000..0d36c34d1142 --- /dev/null +++ b/clients/client-docdb/pagination/DescribeDBClusterParametersPaginator.ts @@ -0,0 +1,51 @@ +import { DocDB } from "../DocDB"; +import { DocDBClient } from "../DocDBClient"; +import { + DescribeDBClusterParametersCommand, + DescribeDBClusterParametersCommandInput, + DescribeDBClusterParametersCommandOutput, +} from "../commands/DescribeDBClusterParametersCommand"; +import { DocDBPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: DocDBClient, + input: DescribeDBClusterParametersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeDBClusterParametersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: DocDB, + input: DescribeDBClusterParametersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeDBClusterParameters(input, ...args); +}; +export async function* describeDBClusterParametersPaginate( + config: DocDBPaginationConfiguration, + input: DescribeDBClusterParametersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeDBClusterParametersCommandOutput; + while (hasNext) { + input["Marker"] = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof DocDB) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof DocDBClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DocDB | DocDBClient"); + } + yield page; + token = page["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-docdb/pagination/DescribeDBClusterSnapshotsPaginator.ts b/clients/client-docdb/pagination/DescribeDBClusterSnapshotsPaginator.ts new file mode 100644 index 000000000000..4e3c85f8f5b8 --- /dev/null +++ b/clients/client-docdb/pagination/DescribeDBClusterSnapshotsPaginator.ts @@ -0,0 +1,51 @@ +import { DocDB } from "../DocDB"; +import { DocDBClient } from "../DocDBClient"; +import { + DescribeDBClusterSnapshotsCommand, + DescribeDBClusterSnapshotsCommandInput, + DescribeDBClusterSnapshotsCommandOutput, +} from "../commands/DescribeDBClusterSnapshotsCommand"; +import { DocDBPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: DocDBClient, + input: DescribeDBClusterSnapshotsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeDBClusterSnapshotsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: DocDB, + input: DescribeDBClusterSnapshotsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeDBClusterSnapshots(input, ...args); +}; +export async function* describeDBClusterSnapshotsPaginate( + config: DocDBPaginationConfiguration, + input: DescribeDBClusterSnapshotsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeDBClusterSnapshotsCommandOutput; + while (hasNext) { + input["Marker"] = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof DocDB) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof DocDBClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DocDB | DocDBClient"); + } + yield page; + token = page["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-docdb/pagination/DescribePendingMaintenanceActionsPaginator.ts b/clients/client-docdb/pagination/DescribePendingMaintenanceActionsPaginator.ts new file mode 100644 index 000000000000..cf2087f7beda --- /dev/null +++ b/clients/client-docdb/pagination/DescribePendingMaintenanceActionsPaginator.ts @@ -0,0 +1,51 @@ +import { DocDB } from "../DocDB"; +import { DocDBClient } from "../DocDBClient"; +import { + DescribePendingMaintenanceActionsCommand, + DescribePendingMaintenanceActionsCommandInput, + DescribePendingMaintenanceActionsCommandOutput, +} from "../commands/DescribePendingMaintenanceActionsCommand"; +import { DocDBPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: DocDBClient, + input: DescribePendingMaintenanceActionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribePendingMaintenanceActionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: DocDB, + input: DescribePendingMaintenanceActionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describePendingMaintenanceActions(input, ...args); +}; +export async function* describePendingMaintenanceActionsPaginate( + config: DocDBPaginationConfiguration, + input: DescribePendingMaintenanceActionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribePendingMaintenanceActionsCommandOutput; + while (hasNext) { + input["Marker"] = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof DocDB) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof DocDBClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected DocDB | DocDBClient"); + } + yield page; + token = page["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-docdb/protocols/Aws_query.ts b/clients/client-docdb/protocols/Aws_query.ts index 49533421ca4d..e09a3862236d 100644 --- a/clients/client-docdb/protocols/Aws_query.ts +++ b/clients/client-docdb/protocols/Aws_query.ts @@ -4886,6 +4886,9 @@ const deserializeAws_querySubnetAlreadyInUseResponse = async ( const serializeAws_queryAddTagsToResourceMessage = (input: AddTagsToResourceMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.ResourceName !== undefined) { + entries["ResourceName"] = input.ResourceName; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4893,9 +4896,6 @@ const serializeAws_queryAddTagsToResourceMessage = (input: AddTagsToResourceMess entries[loc] = value; }); } - if (input.ResourceName !== undefined) { - entries["ResourceName"] = input.ResourceName; - } return entries; }; @@ -4904,12 +4904,12 @@ const serializeAws_queryApplyPendingMaintenanceActionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ApplyAction !== undefined) { - entries["ApplyAction"] = input.ApplyAction; - } if (input.OptInType !== undefined) { entries["OptInType"] = input.OptInType; } + if (input.ApplyAction !== undefined) { + entries["ApplyAction"] = input.ApplyAction; + } if (input.ResourceIdentifier !== undefined) { entries["ResourceIdentifier"] = input.ResourceIdentifier; } @@ -4963,13 +4963,6 @@ const serializeAws_queryCopyDBClusterParameterGroupMessage = ( 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.SourceDBClusterParameterGroupIdentifier !== undefined) { entries["SourceDBClusterParameterGroupIdentifier"] = input.SourceDBClusterParameterGroupIdentifier; } @@ -4979,6 +4972,13 @@ const serializeAws_queryCopyDBClusterParameterGroupMessage = ( if (input.TargetDBClusterParameterGroupDescription !== undefined) { entries["TargetDBClusterParameterGroupDescription"] = input.TargetDBClusterParameterGroupDescription; } + 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; }; @@ -4987,43 +4987,18 @@ const serializeAws_queryCopyDBClusterSnapshotMessage = ( 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.CopyTags !== undefined) { - entries["CopyTags"] = input.CopyTags; + if (input.SourceDBClusterSnapshotIdentifier !== undefined) { + entries["SourceDBClusterSnapshotIdentifier"] = input.SourceDBClusterSnapshotIdentifier; } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.SourceDBClusterSnapshotIdentifier !== undefined) { - entries["SourceDBClusterSnapshotIdentifier"] = input.SourceDBClusterSnapshotIdentifier; - } if (input.PreSignedUrl !== undefined) { entries["PreSignedUrl"] = input.PreSignedUrl; } if (input.TargetDBClusterSnapshotIdentifier !== undefined) { entries["TargetDBClusterSnapshotIdentifier"] = input.TargetDBClusterSnapshotIdentifier; } - return entries; -}; - -const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, context: __SerdeContext): any => { - const entries: any = {}; - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; - } - 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.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5031,6 +5006,14 @@ const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, entries[loc] = value; }); } + if (input.CopyTags !== undefined) { + entries["CopyTags"] = input.CopyTags; + } + return entries; +}; + +const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, context: __SerdeContext): any => { + const entries: any = {}; if (input.AvailabilityZones !== undefined) { const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5038,11 +5021,8 @@ const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, entries[loc] = value; }); } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; - } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } if (input.EnableCloudwatchLogsExports !== undefined) { const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); @@ -5051,32 +5031,30 @@ const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, entries[loc] = value; }); } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; - } - if (input.BackupRetentionPeriod !== undefined) { - entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; - } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; } - if (input.MasterUsername !== undefined) { - entries["MasterUsername"] = input.MasterUsername; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } if (input.DBClusterParameterGroupName !== undefined) { entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.BackupRetentionPeriod !== undefined) { + entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.PreSignedUrl !== undefined) { + entries["PreSignedUrl"] = input.PreSignedUrl; } - if (input.StorageEncrypted !== undefined) { - entries["StorageEncrypted"] = input.StorageEncrypted; + 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.PreferredBackupWindow !== undefined) { entries["PreferredBackupWindow"] = input.PreferredBackupWindow; @@ -5084,6 +5062,31 @@ const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, if (input.PreferredMaintenanceWindow !== undefined) { entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; + } + if (input.MasterUsername !== undefined) { + entries["MasterUsername"] = input.MasterUsername; + } + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } + 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.StorageEncrypted !== undefined) { + entries["StorageEncrypted"] = input.StorageEncrypted; + } + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; + } return entries; }; @@ -5092,6 +5095,12 @@ const serializeAws_queryCreateDBClusterParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } + if (input.DBParameterGroupFamily !== undefined) { + entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; + } if (input.Description !== undefined) { entries["Description"] = input.Description; } @@ -5102,12 +5111,6 @@ const serializeAws_queryCreateDBClusterParameterGroupMessage = ( entries[loc] = value; }); } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } - if (input.DBParameterGroupFamily !== undefined) { - entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; - } return entries; }; @@ -5116,6 +5119,12 @@ const serializeAws_queryCreateDBClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBClusterSnapshotIdentifier !== undefined) { + entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; + } + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5123,26 +5132,29 @@ const serializeAws_queryCreateDBClusterSnapshotMessage = ( entries[loc] = value; }); } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } - if (input.DBClusterSnapshotIdentifier !== undefined) { - entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; - } return entries; }; const serializeAws_queryCreateDBInstanceMessage = (input: CreateDBInstanceMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; + } if (input.PromotionTier !== undefined) { entries["PromotionTier"] = input.PromotionTier; } if (input.DBInstanceClass !== undefined) { entries["DBInstanceClass"] = input.DBInstanceClass; } + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + } if (input.AutoMinorVersionUpgrade !== undefined) { entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5150,21 +5162,12 @@ const serializeAws_queryCreateDBInstanceMessage = (input: CreateDBInstanceMessag entries[loc] = value; }); } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; - } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; - } if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } if (input.AvailabilityZone !== undefined) { entries["AvailabilityZone"] = input.AvailabilityZone; } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; - } return entries; }; @@ -5176,13 +5179,6 @@ const serializeAws_queryCreateDBSubnetGroupMessage = ( if (input.DBSubnetGroupDescription !== undefined) { entries["DBSubnetGroupDescription"] = input.DBSubnetGroupDescription; } - 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.DBSubnetGroupName !== undefined) { entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } @@ -5193,6 +5189,13 @@ const serializeAws_queryCreateDBSubnetGroupMessage = ( entries[loc] = value; }); } + 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; }; @@ -5256,6 +5259,9 @@ const serializeAws_queryDescribeCertificatesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } @@ -5269,9 +5275,6 @@ const serializeAws_queryDescribeCertificatesMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; @@ -5280,12 +5283,6 @@ const serializeAws_queryDescribeDBClusterParameterGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5293,6 +5290,12 @@ const serializeAws_queryDescribeDBClusterParameterGroupsMessage = ( entries[loc] = value; }); } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } @@ -5304,15 +5307,6 @@ const serializeAws_queryDescribeDBClusterParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.Source !== undefined) { - entries["Source"] = input.Source; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5323,6 +5317,15 @@ const serializeAws_queryDescribeDBClusterParametersMessage = ( if (input.DBClusterParameterGroupName !== undefined) { entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.Source !== undefined) { + entries["Source"] = input.Source; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -5331,6 +5334,12 @@ const serializeAws_queryDescribeDBClustersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } @@ -5341,12 +5350,6 @@ const serializeAws_queryDescribeDBClustersMessage = ( entries[loc] = value; }); } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; @@ -5366,20 +5369,20 @@ const serializeAws_queryDescribeDBClusterSnapshotsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } - if (input.DBClusterSnapshotIdentifier !== undefined) { - entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.IncludeShared !== undefined) { entries["IncludeShared"] = input.IncludeShared; } - if (input.SnapshotType !== undefined) { - entries["SnapshotType"] = input.SnapshotType; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } - if (input.IncludePublic !== undefined) { - entries["IncludePublic"] = input.IncludePublic; + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } + if (input.DBClusterSnapshotIdentifier !== undefined) { + entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -5388,11 +5391,11 @@ const serializeAws_queryDescribeDBClusterSnapshotsMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.IncludePublic !== undefined) { + entries["IncludePublic"] = input.IncludePublic; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.SnapshotType !== undefined) { + entries["SnapshotType"] = input.SnapshotType; } return entries; }; @@ -5402,21 +5405,6 @@ const serializeAws_queryDescribeDBEngineVersionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ListSupportedTimezones !== undefined) { - entries["ListSupportedTimezones"] = input.ListSupportedTimezones; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.DBParameterGroupFamily !== undefined) { - entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5427,12 +5415,27 @@ const serializeAws_queryDescribeDBEngineVersionsMessage = ( if (input.EngineVersion !== undefined) { entries["EngineVersion"] = input.EngineVersion; } + if (input.DBParameterGroupFamily !== undefined) { + entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; + } if (input.DefaultOnly !== undefined) { entries["DefaultOnly"] = input.DefaultOnly; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.ListSupportedCharacterSets !== undefined) { entries["ListSupportedCharacterSets"] = input.ListSupportedCharacterSets; } + if (input.ListSupportedTimezones !== undefined) { + entries["ListSupportedTimezones"] = input.ListSupportedTimezones; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; + } return entries; }; @@ -5441,13 +5444,6 @@ const serializeAws_queryDescribeDBInstancesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_queryFilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filters.${key}`; - entries[loc] = value; - }); - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } @@ -5457,6 +5453,13 @@ const serializeAws_queryDescribeDBInstancesMessage = ( if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_queryFilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filters.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -5465,6 +5468,12 @@ const serializeAws_queryDescribeDBSubnetGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5475,12 +5484,6 @@ const serializeAws_queryDescribeDBSubnetGroupsMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; @@ -5489,12 +5492,6 @@ const serializeAws_queryDescribeEngineDefaultClusterParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBParameterGroupFamily !== undefined) { - entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5505,6 +5502,12 @@ const serializeAws_queryDescribeEngineDefaultClusterParametersMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.DBParameterGroupFamily !== undefined) { + entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -5528,24 +5531,9 @@ const serializeAws_queryDescribeEventCategoriesMessage = ( const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, context: __SerdeContext): any => { const entries: any = {}; - 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.SourceType !== undefined) { entries["SourceType"] = input.SourceType; } - if (input.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; - } - if (input.SourceIdentifier !== undefined) { - entries["SourceIdentifier"] = input.SourceIdentifier; - } if (input.EventCategories !== undefined) { const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5553,6 +5541,12 @@ const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, c entries[loc] = value; }); } + if (input.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + } + if (input.SourceIdentifier !== undefined) { + entries["SourceIdentifier"] = input.SourceIdentifier; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5563,6 +5557,15 @@ const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, c if (input.Duration !== undefined) { entries["Duration"] = input.Duration; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -5571,34 +5574,34 @@ const serializeAws_queryDescribeOrderableDBInstanceOptionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; + } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_queryFilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filters.${key}`; + entries[loc] = value; + }); } if (input.Vpc !== undefined) { entries["Vpc"] = input.Vpc; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; + } if (input.Engine !== undefined) { entries["Engine"] = input.Engine; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_queryFilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filters.${key}`; - entries[loc] = value; - }); - } if (input.LicenseModel !== undefined) { entries["LicenseModel"] = input.LicenseModel; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } return entries; }; @@ -5607,15 +5610,6 @@ const serializeAws_queryDescribePendingMaintenanceActionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.ResourceIdentifier !== undefined) { - entries["ResourceIdentifier"] = input.ResourceIdentifier; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5623,6 +5617,15 @@ const serializeAws_queryDescribePendingMaintenanceActionsMessage = ( entries[loc] = value; }); } + if (input.ResourceIdentifier !== undefined) { + entries["ResourceIdentifier"] = input.ResourceIdentifier; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -5638,20 +5641,17 @@ const serializeAws_queryEventCategoriesList = (input: string[], context: __Serde const serializeAws_queryFailoverDBClusterMessage = (input: FailoverDBClusterMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } if (input.TargetDBInstanceIdentifier !== undefined) { entries["TargetDBInstanceIdentifier"] = input.TargetDBInstanceIdentifier; } + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } return entries; }; const serializeAws_queryFilter = (input: Filter, context: __SerdeContext): any => { const entries: any = {}; - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } if (input.Values !== undefined) { const memberEntries = serializeAws_queryFilterValueList(input.Values, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5659,6 +5659,9 @@ const serializeAws_queryFilter = (input: Filter, context: __SerdeContext): any = entries[loc] = value; }); } + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } return entries; }; @@ -5700,6 +5703,9 @@ const serializeAws_queryListTagsForResourceMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ResourceName !== undefined) { + entries["ResourceName"] = input.ResourceName; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5707,9 +5713,6 @@ const serializeAws_queryListTagsForResourceMessage = ( entries[loc] = value; }); } - if (input.ResourceName !== undefined) { - entries["ResourceName"] = input.ResourceName; - } return entries; }; @@ -5725,26 +5728,21 @@ const serializeAws_queryLogTypeList = (input: string[], context: __SerdeContext) const serializeAws_queryModifyDBClusterMessage = (input: ModifyDBClusterMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.NewDBClusterIdentifier !== undefined) { - entries["NewDBClusterIdentifier"] = input.NewDBClusterIdentifier; - } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; - } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } if (input.PreferredMaintenanceWindow !== undefined) { entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } if (input.Port !== undefined) { entries["Port"] = input.Port; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; + if (input.CloudwatchLogsExportConfiguration !== undefined) { + const memberEntries = serializeAws_queryCloudwatchLogsExportConfiguration( + input.CloudwatchLogsExportConfiguration, + context + ); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CloudwatchLogsExportConfiguration.${key}`; + entries[loc] = value; + }); } if (input.VpcSecurityGroupIds !== undefined) { const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); @@ -5756,24 +5754,29 @@ const serializeAws_queryModifyDBClusterMessage = (input: ModifyDBClusterMessage, if (input.PreferredBackupWindow !== undefined) { entries["PreferredBackupWindow"] = input.PreferredBackupWindow; } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; } - if (input.BackupRetentionPeriod !== undefined) { - entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } if (input.ApplyImmediately !== undefined) { entries["ApplyImmediately"] = input.ApplyImmediately; } - if (input.CloudwatchLogsExportConfiguration !== undefined) { - const memberEntries = serializeAws_queryCloudwatchLogsExportConfiguration( - input.CloudwatchLogsExportConfiguration, - context - ); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CloudwatchLogsExportConfiguration.${key}`; - entries[loc] = value; - }); + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; + } + if (input.NewDBClusterIdentifier !== undefined) { + entries["NewDBClusterIdentifier"] = input.NewDBClusterIdentifier; + } + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; + } + if (input.BackupRetentionPeriod !== undefined) { + entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } return entries; }; @@ -5783,6 +5786,9 @@ const serializeAws_queryModifyDBClusterParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParametersList(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5790,9 +5796,6 @@ const serializeAws_queryModifyDBClusterParameterGroupMessage = ( entries[loc] = value; }); } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } return entries; }; @@ -5801,12 +5804,6 @@ const serializeAws_queryModifyDBClusterSnapshotAttributeMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AttributeName !== undefined) { - entries["AttributeName"] = input.AttributeName; - } - if (input.DBClusterSnapshotIdentifier !== undefined) { - entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; - } if (input.ValuesToRemove !== undefined) { const memberEntries = serializeAws_queryAttributeValueList(input.ValuesToRemove, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5821,34 +5818,40 @@ const serializeAws_queryModifyDBClusterSnapshotAttributeMessage = ( entries[loc] = value; }); } + if (input.DBClusterSnapshotIdentifier !== undefined) { + entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; + } + if (input.AttributeName !== undefined) { + entries["AttributeName"] = input.AttributeName; + } return entries; }; const serializeAws_queryModifyDBInstanceMessage = (input: ModifyDBInstanceMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; - } - if (input.PromotionTier !== undefined) { - entries["PromotionTier"] = input.PromotionTier; - } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; + if (input.CACertificateIdentifier !== undefined) { + entries["CACertificateIdentifier"] = input.CACertificateIdentifier; } if (input.NewDBInstanceIdentifier !== undefined) { entries["NewDBInstanceIdentifier"] = input.NewDBInstanceIdentifier; } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } if (input.AutoMinorVersionUpgrade !== undefined) { entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } if (input.ApplyImmediately !== undefined) { entries["ApplyImmediately"] = input.ApplyImmediately; } - if (input.CACertificateIdentifier !== undefined) { - entries["CACertificateIdentifier"] = input.CACertificateIdentifier; + if (input.PromotionTier !== undefined) { + entries["PromotionTier"] = input.PromotionTier; + } + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; } return entries; }; @@ -5858,12 +5861,6 @@ const serializeAws_queryModifyDBSubnetGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; - } - if (input.DBSubnetGroupDescription !== undefined) { - entries["DBSubnetGroupDescription"] = input.DBSubnetGroupDescription; - } if (input.SubnetIds !== undefined) { const memberEntries = serializeAws_querySubnetIdentifierList(input.SubnetIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5871,41 +5868,47 @@ const serializeAws_queryModifyDBSubnetGroupMessage = ( entries[loc] = value; }); } + if (input.DBSubnetGroupDescription !== undefined) { + entries["DBSubnetGroupDescription"] = input.DBSubnetGroupDescription; + } + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } return entries; }; const serializeAws_queryParameter = (input: Parameter, context: __SerdeContext): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } - if (input.ApplyType !== undefined) { - entries["ApplyType"] = input.ApplyType; - } - if (input.IsModifiable !== undefined) { - entries["IsModifiable"] = input.IsModifiable; + if (input.Source !== undefined) { + entries["Source"] = input.Source; } - if (input.ApplyMethod !== undefined) { - entries["ApplyMethod"] = input.ApplyMethod; + if (input.MinimumEngineVersion !== undefined) { + entries["MinimumEngineVersion"] = input.MinimumEngineVersion; } if (input.ParameterName !== undefined) { entries["ParameterName"] = input.ParameterName; } - if (input.Source !== undefined) { - entries["Source"] = input.Source; - } 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.ApplyType !== undefined) { + entries["ApplyType"] = input.ApplyType; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.ApplyMethod !== undefined) { + entries["ApplyMethod"] = input.ApplyMethod; + } + if (input.IsModifiable !== undefined) { + entries["IsModifiable"] = input.IsModifiable; + } return entries; }; @@ -5924,12 +5927,12 @@ const serializeAws_queryParametersList = (input: Parameter[], context: __SerdeCo const serializeAws_queryRebootDBInstanceMessage = (input: RebootDBInstanceMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; - } if (input.ForceFailover !== undefined) { entries["ForceFailover"] = input.ForceFailover; } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } return entries; }; @@ -5956,9 +5959,6 @@ const serializeAws_queryResetDBClusterParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ResetAllParameters !== undefined) { - entries["ResetAllParameters"] = input.ResetAllParameters; - } if (input.DBClusterParameterGroupName !== undefined) { entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } @@ -5969,6 +5969,9 @@ const serializeAws_queryResetDBClusterParameterGroupMessage = ( entries[loc] = value; }); } + if (input.ResetAllParameters !== undefined) { + entries["ResetAllParameters"] = input.ResetAllParameters; + } return entries; }; @@ -5977,13 +5980,29 @@ const serializeAws_queryRestoreDBClusterFromSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; + } + if (input.EnableCloudwatchLogsExports !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `EnableCloudwatchLogsExports.${key}`; entries[loc] = value; }); } + if (input.AvailabilityZones !== undefined) { + const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AvailabilityZones.${key}`; + entries[loc] = value; + }); + } + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; + } if (input.VpcSecurityGroupIds !== undefined) { const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5991,8 +6010,8 @@ const serializeAws_queryRestoreDBClusterFromSnapshotMessage = ( entries[loc] = value; }); } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } if (input.DeletionProtection !== undefined) { entries["DeletionProtection"] = input.DeletionProtection; @@ -6000,34 +6019,18 @@ const serializeAws_queryRestoreDBClusterFromSnapshotMessage = ( if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } - if (input.Port !== undefined) { - entries["Port"] = input.Port; - } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; - } - if (input.AvailabilityZones !== undefined) { - const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AvailabilityZones.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } - if (input.EnableCloudwatchLogsExports !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnableCloudwatchLogsExports.${key}`; - entries[loc] = value; - }); + if (input.Port !== undefined) { + entries["Port"] = input.Port; } return entries; }; @@ -6037,34 +6040,27 @@ const serializeAws_queryRestoreDBClusterToPointInTimeMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } + 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.SourceDBClusterIdentifier !== undefined) { entries["SourceDBClusterIdentifier"] = input.SourceDBClusterIdentifier; } - if (input.Port !== undefined) { - entries["Port"] = input.Port; - } if (input.RestoreToTime !== undefined) { entries["RestoreToTime"] = input.RestoreToTime.toISOString().split(".")[0] + "Z"; } - if (input.EnableCloudwatchLogsExports !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnableCloudwatchLogsExports.${key}`; - entries[loc] = value; - }); - } if (input.UseLatestRestorableTime !== undefined) { entries["UseLatestRestorableTime"] = input.UseLatestRestorableTime; } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } if (input.DeletionProtection !== undefined) { entries["DeletionProtection"] = input.DeletionProtection; @@ -6075,10 +6071,17 @@ const serializeAws_queryRestoreDBClusterToPointInTimeMessage = ( if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; + const loc = `Tags.${key}`; + entries[loc] = value; + }); + } + if (input.EnableCloudwatchLogsExports !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `EnableCloudwatchLogsExports.${key}`; entries[loc] = value; }); } @@ -6198,31 +6201,31 @@ const deserializeAws_queryAvailabilityZones = (output: any, context: __SerdeCont const deserializeAws_queryCertificate = (output: any, context: __SerdeContext): Certificate => { let contents: any = { - CertificateIdentifier: undefined, + CertificateType: undefined, + CertificateArn: undefined, Thumbprint: undefined, + CertificateIdentifier: undefined, ValidTill: undefined, ValidFrom: undefined, - CertificateType: undefined, - CertificateArn: undefined, }; - if (output["CertificateIdentifier"] !== undefined) { - contents.CertificateIdentifier = output["CertificateIdentifier"]; + if (output["CertificateType"] !== undefined) { + contents.CertificateType = output["CertificateType"]; + } + if (output["CertificateArn"] !== undefined) { + contents.CertificateArn = output["CertificateArn"]; } if (output["Thumbprint"] !== undefined) { contents.Thumbprint = output["Thumbprint"]; } + if (output["CertificateIdentifier"] !== undefined) { + contents.CertificateIdentifier = output["CertificateIdentifier"]; + } if (output["ValidTill"] !== undefined) { contents.ValidTill = new Date(output["ValidTill"]); } if (output["ValidFrom"] !== undefined) { contents.ValidFrom = new Date(output["ValidFrom"]); } - if (output["CertificateType"] !== undefined) { - contents.CertificateType = output["CertificateType"]; - } - if (output["CertificateArn"] !== undefined) { - contents.CertificateArn = output["CertificateArn"]; - } return contents; }; @@ -6232,9 +6235,12 @@ const deserializeAws_queryCertificateList = (output: any, context: __SerdeContex const deserializeAws_queryCertificateMessage = (output: any, context: __SerdeContext): CertificateMessage => { let contents: any = { - Certificates: undefined, Marker: undefined, + Certificates: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.Certificates === "") { contents.Certificates = []; } @@ -6244,9 +6250,6 @@ const deserializeAws_queryCertificateMessage = (output: any, context: __SerdeCon context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -6356,90 +6359,87 @@ const deserializeAws_queryCreateDBSubnetGroupResult = ( const deserializeAws_queryDBCluster = (output: any, context: __SerdeContext): DBCluster => { let contents: any = { - LatestRestorableTime: undefined, - ReaderEndpoint: undefined, - Engine: undefined, - DeletionProtection: undefined, - HostedZoneId: undefined, - AvailabilityZones: undefined, - KmsKeyId: undefined, + StorageEncrypted: undefined, + EnabledCloudwatchLogsExports: undefined, + Port: undefined, + ClusterCreateTime: undefined, + BackupRetentionPeriod: undefined, + MasterUsername: undefined, + DBClusterMembers: undefined, + MultiAZ: undefined, PreferredMaintenanceWindow: undefined, - PreferredBackupWindow: undefined, DBClusterArn: undefined, + PreferredBackupWindow: undefined, DBClusterParameterGroup: undefined, - DBSubnetGroup: undefined, - EnabledCloudwatchLogsExports: undefined, AssociatedRoles: undefined, - MultiAZ: undefined, + DBSubnetGroup: undefined, VpcSecurityGroups: undefined, - StorageEncrypted: undefined, - Endpoint: undefined, - MasterUsername: undefined, - BackupRetentionPeriod: undefined, - PercentProgress: undefined, - DBClusterIdentifier: undefined, - DbClusterResourceId: undefined, - DBClusterMembers: undefined, Status: undefined, EarliestRestorableTime: undefined, EngineVersion: undefined, - ClusterCreateTime: undefined, - Port: undefined, + HostedZoneId: undefined, + DeletionProtection: undefined, + LatestRestorableTime: undefined, + AvailabilityZones: undefined, + KmsKeyId: undefined, + Engine: undefined, + Endpoint: undefined, + DbClusterResourceId: undefined, + DBClusterIdentifier: undefined, + PercentProgress: undefined, + ReaderEndpoint: undefined, }; - if (output["LatestRestorableTime"] !== undefined) { - contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); + if (output["StorageEncrypted"] !== undefined) { + contents.StorageEncrypted = output["StorageEncrypted"] == "true"; } - if (output["ReaderEndpoint"] !== undefined) { - contents.ReaderEndpoint = output["ReaderEndpoint"]; + if (output.EnabledCloudwatchLogsExports === "") { + contents.EnabledCloudwatchLogsExports = []; } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if ( + output["EnabledCloudwatchLogsExports"] !== undefined && + output["EnabledCloudwatchLogsExports"]["member"] !== undefined + ) { + contents.EnabledCloudwatchLogsExports = deserializeAws_queryLogTypeList( + __getArrayIfSingleItem(output["EnabledCloudwatchLogsExports"]["member"]), + context + ); } - if (output["DeletionProtection"] !== undefined) { - contents.DeletionProtection = output["DeletionProtection"] == "true"; + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } - if (output["HostedZoneId"] !== undefined) { - contents.HostedZoneId = output["HostedZoneId"]; + if (output["ClusterCreateTime"] !== undefined) { + contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); } - if (output.AvailabilityZones === "") { - contents.AvailabilityZones = []; + if (output["BackupRetentionPeriod"] !== undefined) { + contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); } - if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["AvailabilityZone"] !== undefined) { - contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( - __getArrayIfSingleItem(output["AvailabilityZones"]["AvailabilityZone"]), + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; + } + if (output.DBClusterMembers === "") { + contents.DBClusterMembers = []; + } + if (output["DBClusterMembers"] !== undefined && output["DBClusterMembers"]["DBClusterMember"] !== undefined) { + contents.DBClusterMembers = deserializeAws_queryDBClusterMemberList( + __getArrayIfSingleItem(output["DBClusterMembers"]["DBClusterMember"]), context ); } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"] == "true"; } if (output["PreferredMaintenanceWindow"] !== undefined) { contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; } - if (output["PreferredBackupWindow"] !== undefined) { - contents.PreferredBackupWindow = output["PreferredBackupWindow"]; - } if (output["DBClusterArn"] !== undefined) { contents.DBClusterArn = output["DBClusterArn"]; } + if (output["PreferredBackupWindow"] !== undefined) { + contents.PreferredBackupWindow = output["PreferredBackupWindow"]; + } if (output["DBClusterParameterGroup"] !== undefined) { contents.DBClusterParameterGroup = output["DBClusterParameterGroup"]; } - if (output["DBSubnetGroup"] !== undefined) { - contents.DBSubnetGroup = output["DBSubnetGroup"]; - } - if (output.EnabledCloudwatchLogsExports === "") { - contents.EnabledCloudwatchLogsExports = []; - } - if ( - output["EnabledCloudwatchLogsExports"] !== undefined && - output["EnabledCloudwatchLogsExports"]["member"] !== undefined - ) { - contents.EnabledCloudwatchLogsExports = deserializeAws_queryLogTypeList( - __getArrayIfSingleItem(output["EnabledCloudwatchLogsExports"]["member"]), - context - ); - } if (output.AssociatedRoles === "") { contents.AssociatedRoles = []; } @@ -6449,8 +6449,8 @@ const deserializeAws_queryDBCluster = (output: any, context: __SerdeContext): DB context ); } - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"] == "true"; + if (output["DBSubnetGroup"] !== undefined) { + contents.DBSubnetGroup = output["DBSubnetGroup"]; } if (output.VpcSecurityGroups === "") { contents.VpcSecurityGroups = []; @@ -6464,50 +6464,53 @@ const deserializeAws_queryDBCluster = (output: any, context: __SerdeContext): DB context ); } - if (output["StorageEncrypted"] !== undefined) { - contents.StorageEncrypted = output["StorageEncrypted"] == "true"; - } - if (output["Endpoint"] !== undefined) { - contents.Endpoint = output["Endpoint"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; + if (output["EarliestRestorableTime"] !== undefined) { + contents.EarliestRestorableTime = new Date(output["EarliestRestorableTime"]); } - if (output["BackupRetentionPeriod"] !== undefined) { - contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; } - if (output["PercentProgress"] !== undefined) { - contents.PercentProgress = output["PercentProgress"]; + if (output["HostedZoneId"] !== undefined) { + contents.HostedZoneId = output["HostedZoneId"]; } - if (output["DBClusterIdentifier"] !== undefined) { - contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + if (output["DeletionProtection"] !== undefined) { + contents.DeletionProtection = output["DeletionProtection"] == "true"; } - if (output["DbClusterResourceId"] !== undefined) { - contents.DbClusterResourceId = output["DbClusterResourceId"]; + if (output["LatestRestorableTime"] !== undefined) { + contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); } - if (output.DBClusterMembers === "") { - contents.DBClusterMembers = []; + if (output.AvailabilityZones === "") { + contents.AvailabilityZones = []; } - if (output["DBClusterMembers"] !== undefined && output["DBClusterMembers"]["DBClusterMember"] !== undefined) { - contents.DBClusterMembers = deserializeAws_queryDBClusterMemberList( - __getArrayIfSingleItem(output["DBClusterMembers"]["DBClusterMember"]), + if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["AvailabilityZone"] !== undefined) { + contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( + __getArrayIfSingleItem(output["AvailabilityZones"]["AvailabilityZone"]), context ); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; } - if (output["EarliestRestorableTime"] !== undefined) { - contents.EarliestRestorableTime = new Date(output["EarliestRestorableTime"]); + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; + if (output["Endpoint"] !== undefined) { + contents.Endpoint = output["Endpoint"]; } - if (output["ClusterCreateTime"] !== undefined) { - contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); + if (output["DbClusterResourceId"] !== undefined) { + contents.DbClusterResourceId = output["DbClusterResourceId"]; } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["DBClusterIdentifier"] !== undefined) { + contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + } + if (output["PercentProgress"] !== undefined) { + contents.PercentProgress = output["PercentProgress"]; + } + if (output["ReaderEndpoint"] !== undefined) { + contents.ReaderEndpoint = output["ReaderEndpoint"]; } return contents; }; @@ -6531,14 +6534,11 @@ const deserializeAws_queryDBClusterList = (output: any, context: __SerdeContext) const deserializeAws_queryDBClusterMember = (output: any, context: __SerdeContext): DBClusterMember => { let contents: any = { - IsClusterWriter: undefined, DBInstanceIdentifier: undefined, PromotionTier: undefined, DBClusterParameterGroupStatus: undefined, + IsClusterWriter: undefined, }; - if (output["IsClusterWriter"] !== undefined) { - contents.IsClusterWriter = output["IsClusterWriter"] == "true"; - } if (output["DBInstanceIdentifier"] !== undefined) { contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; } @@ -6548,6 +6548,9 @@ const deserializeAws_queryDBClusterMember = (output: any, context: __SerdeContex if (output["DBClusterParameterGroupStatus"] !== undefined) { contents.DBClusterParameterGroupStatus = output["DBClusterParameterGroupStatus"]; } + if (output["IsClusterWriter"] !== undefined) { + contents.IsClusterWriter = output["IsClusterWriter"] == "true"; + } return contents; }; @@ -6587,23 +6590,23 @@ const deserializeAws_queryDBClusterNotFoundFault = (output: any, context: __Serd const deserializeAws_queryDBClusterParameterGroup = (output: any, context: __SerdeContext): DBClusterParameterGroup => { let contents: any = { - DBClusterParameterGroupName: undefined, - DBParameterGroupFamily: undefined, DBClusterParameterGroupArn: undefined, Description: undefined, + DBParameterGroupFamily: undefined, + DBClusterParameterGroupName: undefined, }; - if (output["DBClusterParameterGroupName"] !== undefined) { - contents.DBClusterParameterGroupName = output["DBClusterParameterGroupName"]; - } - if (output["DBParameterGroupFamily"] !== undefined) { - contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; - } if (output["DBClusterParameterGroupArn"] !== undefined) { contents.DBClusterParameterGroupArn = output["DBClusterParameterGroupArn"]; } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } + if (output["DBParameterGroupFamily"] !== undefined) { + contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; + } + if (output["DBClusterParameterGroupName"] !== undefined) { + contents.DBClusterParameterGroupName = output["DBClusterParameterGroupName"]; + } return contents; }; @@ -6612,12 +6615,9 @@ const deserializeAws_queryDBClusterParameterGroupDetails = ( context: __SerdeContext ): DBClusterParameterGroupDetails => { let contents: any = { - Marker: undefined, Parameters: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.Parameters === "") { contents.Parameters = []; } @@ -6627,6 +6627,9 @@ const deserializeAws_queryDBClusterParameterGroupDetails = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -6668,12 +6671,9 @@ const deserializeAws_queryDBClusterParameterGroupsMessage = ( context: __SerdeContext ): DBClusterParameterGroupsMessage => { let contents: any = { - Marker: undefined, DBClusterParameterGroups: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.DBClusterParameterGroups === "") { contents.DBClusterParameterGroups = []; } @@ -6686,6 +6686,9 @@ const deserializeAws_queryDBClusterParameterGroupsMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -6704,15 +6707,15 @@ const deserializeAws_queryDBClusterQuotaExceededFault = ( const deserializeAws_queryDBClusterRole = (output: any, context: __SerdeContext): DBClusterRole => { let contents: any = { - RoleArn: undefined, Status: undefined, + RoleArn: undefined, }; - if (output["RoleArn"] !== undefined) { - contents.RoleArn = output["RoleArn"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["RoleArn"] !== undefined) { + contents.RoleArn = output["RoleArn"]; + } return contents; }; @@ -6722,26 +6725,50 @@ const deserializeAws_queryDBClusterRoles = (output: any, context: __SerdeContext const deserializeAws_queryDBClusterSnapshot = (output: any, context: __SerdeContext): DBClusterSnapshot => { let contents: any = { - ClusterCreateTime: undefined, - Engine: undefined, - AvailabilityZones: undefined, - EngineVersion: undefined, - MasterUsername: undefined, - KmsKeyId: undefined, DBClusterSnapshotIdentifier: undefined, - VpcId: undefined, - StorageEncrypted: undefined, - DBClusterIdentifier: undefined, - SnapshotCreateTime: undefined, - PercentProgress: undefined, Port: undefined, + KmsKeyId: undefined, DBClusterSnapshotArn: undefined, - SourceDBClusterSnapshotArn: undefined, + StorageEncrypted: undefined, Status: undefined, SnapshotType: undefined, + DBClusterIdentifier: undefined, + VpcId: undefined, + Engine: undefined, + AvailabilityZones: undefined, + MasterUsername: undefined, + SourceDBClusterSnapshotArn: undefined, + ClusterCreateTime: undefined, + SnapshotCreateTime: undefined, + EngineVersion: undefined, + PercentProgress: undefined, }; - if (output["ClusterCreateTime"] !== undefined) { - contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); + if (output["DBClusterSnapshotIdentifier"] !== undefined) { + contents.DBClusterSnapshotIdentifier = output["DBClusterSnapshotIdentifier"]; + } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; + } + if (output["DBClusterSnapshotArn"] !== undefined) { + contents.DBClusterSnapshotArn = output["DBClusterSnapshotArn"]; + } + if (output["StorageEncrypted"] !== undefined) { + contents.StorageEncrypted = output["StorageEncrypted"] == "true"; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["SnapshotType"] !== undefined) { + contents.SnapshotType = output["SnapshotType"]; + } + if (output["DBClusterIdentifier"] !== undefined) { + contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + } + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; @@ -6755,47 +6782,23 @@ const deserializeAws_queryDBClusterSnapshot = (output: any, context: __SerdeCont context ); } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; - } if (output["MasterUsername"] !== undefined) { contents.MasterUsername = output["MasterUsername"]; } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; - } - if (output["DBClusterSnapshotIdentifier"] !== undefined) { - contents.DBClusterSnapshotIdentifier = output["DBClusterSnapshotIdentifier"]; - } - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; - } - if (output["StorageEncrypted"] !== undefined) { - contents.StorageEncrypted = output["StorageEncrypted"] == "true"; + if (output["SourceDBClusterSnapshotArn"] !== undefined) { + contents.SourceDBClusterSnapshotArn = output["SourceDBClusterSnapshotArn"]; } - if (output["DBClusterIdentifier"] !== undefined) { - contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + if (output["ClusterCreateTime"] !== undefined) { + contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); } if (output["SnapshotCreateTime"] !== undefined) { contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); } - if (output["PercentProgress"] !== undefined) { - contents.PercentProgress = parseInt(output["PercentProgress"]); - } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } - if (output["DBClusterSnapshotArn"] !== undefined) { - contents.DBClusterSnapshotArn = output["DBClusterSnapshotArn"]; - } - if (output["SourceDBClusterSnapshotArn"] !== undefined) { - contents.SourceDBClusterSnapshotArn = output["SourceDBClusterSnapshotArn"]; - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; } - if (output["SnapshotType"] !== undefined) { - contents.SnapshotType = output["SnapshotType"]; + if (output["PercentProgress"] !== undefined) { + contents.PercentProgress = parseInt(output["PercentProgress"]); } return contents; }; @@ -6818,12 +6821,9 @@ const deserializeAws_queryDBClusterSnapshotAttribute = ( context: __SerdeContext ): DBClusterSnapshotAttribute => { let contents: any = { - AttributeName: undefined, AttributeValues: undefined, + AttributeName: undefined, }; - if (output["AttributeName"] !== undefined) { - contents.AttributeName = output["AttributeName"]; - } if (output.AttributeValues === "") { contents.AttributeValues = []; } @@ -6833,6 +6833,9 @@ const deserializeAws_queryDBClusterSnapshotAttribute = ( context ); } + if (output["AttributeName"] !== undefined) { + contents.AttributeName = output["AttributeName"]; + } return contents; }; @@ -6848,9 +6851,12 @@ const deserializeAws_queryDBClusterSnapshotAttributesResult = ( context: __SerdeContext ): DBClusterSnapshotAttributesResult => { let contents: any = { - DBClusterSnapshotAttributes: undefined, DBClusterSnapshotIdentifier: undefined, + DBClusterSnapshotAttributes: undefined, }; + if (output["DBClusterSnapshotIdentifier"] !== undefined) { + contents.DBClusterSnapshotIdentifier = output["DBClusterSnapshotIdentifier"]; + } if (output.DBClusterSnapshotAttributes === "") { contents.DBClusterSnapshotAttributes = []; } @@ -6863,9 +6869,6 @@ const deserializeAws_queryDBClusterSnapshotAttributesResult = ( context ); } - if (output["DBClusterSnapshotIdentifier"] !== undefined) { - contents.DBClusterSnapshotIdentifier = output["DBClusterSnapshotIdentifier"]; - } return contents; }; @@ -6878,12 +6881,9 @@ const deserializeAws_queryDBClusterSnapshotMessage = ( context: __SerdeContext ): DBClusterSnapshotMessage => { let contents: any = { - Marker: undefined, DBClusterSnapshots: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.DBClusterSnapshots === "") { contents.DBClusterSnapshots = []; } @@ -6893,6 +6893,9 @@ const deserializeAws_queryDBClusterSnapshotMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -6911,21 +6914,36 @@ const deserializeAws_queryDBClusterSnapshotNotFoundFault = ( const deserializeAws_queryDBEngineVersion = (output: any, context: __SerdeContext): DBEngineVersion => { let contents: any = { - SupportsLogExportsToCloudwatchLogs: undefined, + ExportableLogTypes: undefined, + DBEngineVersionDescription: undefined, + DBEngineDescription: undefined, Engine: undefined, + SupportsLogExportsToCloudwatchLogs: undefined, ValidUpgradeTarget: undefined, EngineVersion: undefined, DBParameterGroupFamily: undefined, - ExportableLogTypes: undefined, - DBEngineVersionDescription: undefined, - DBEngineDescription: undefined, }; - if (output["SupportsLogExportsToCloudwatchLogs"] !== undefined) { - contents.SupportsLogExportsToCloudwatchLogs = output["SupportsLogExportsToCloudwatchLogs"] == "true"; + if (output.ExportableLogTypes === "") { + contents.ExportableLogTypes = []; + } + if (output["ExportableLogTypes"] !== undefined && output["ExportableLogTypes"]["member"] !== undefined) { + contents.ExportableLogTypes = deserializeAws_queryLogTypeList( + __getArrayIfSingleItem(output["ExportableLogTypes"]["member"]), + context + ); + } + if (output["DBEngineVersionDescription"] !== undefined) { + contents.DBEngineVersionDescription = output["DBEngineVersionDescription"]; + } + if (output["DBEngineDescription"] !== undefined) { + contents.DBEngineDescription = output["DBEngineDescription"]; } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; } + if (output["SupportsLogExportsToCloudwatchLogs"] !== undefined) { + contents.SupportsLogExportsToCloudwatchLogs = output["SupportsLogExportsToCloudwatchLogs"] == "true"; + } if (output.ValidUpgradeTarget === "") { contents.ValidUpgradeTarget = []; } @@ -6941,21 +6959,6 @@ const deserializeAws_queryDBEngineVersion = (output: any, context: __SerdeContex if (output["DBParameterGroupFamily"] !== undefined) { contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; } - if (output.ExportableLogTypes === "") { - contents.ExportableLogTypes = []; - } - if (output["ExportableLogTypes"] !== undefined && output["ExportableLogTypes"]["member"] !== undefined) { - contents.ExportableLogTypes = deserializeAws_queryLogTypeList( - __getArrayIfSingleItem(output["ExportableLogTypes"]["member"]), - context - ); - } - if (output["DBEngineVersionDescription"] !== undefined) { - contents.DBEngineVersionDescription = output["DBEngineVersionDescription"]; - } - if (output["DBEngineDescription"] !== undefined) { - contents.DBEngineDescription = output["DBEngineDescription"]; - } return contents; }; @@ -6985,80 +6988,41 @@ const deserializeAws_queryDBEngineVersionMessage = (output: any, context: __Serd const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): DBInstance => { let contents: any = { - PreferredMaintenanceWindow: undefined, - AvailabilityZone: undefined, - PubliclyAccessible: undefined, - DBSubnetGroup: undefined, - CACertificateIdentifier: undefined, - Endpoint: undefined, - KmsKeyId: undefined, - PendingModifiedValues: undefined, - DBInstanceClass: undefined, + DBInstanceArn: undefined, LatestRestorableTime: undefined, - AutoMinorVersionUpgrade: undefined, - VpcSecurityGroups: undefined, + BackupRetentionPeriod: undefined, Engine: undefined, EnabledCloudwatchLogsExports: undefined, StatusInfos: undefined, - DBInstanceArn: undefined, DBInstanceStatus: undefined, - BackupRetentionPeriod: undefined, - DBClusterIdentifier: undefined, - DbiResourceId: undefined, - PreferredBackupWindow: undefined, - StorageEncrypted: undefined, + KmsKeyId: undefined, + DBInstanceClass: undefined, InstanceCreateTime: undefined, + PreferredMaintenanceWindow: undefined, + AvailabilityZone: undefined, + AutoMinorVersionUpgrade: undefined, + VpcSecurityGroups: undefined, + PreferredBackupWindow: undefined, + DbiResourceId: undefined, + DBSubnetGroup: undefined, + CACertificateIdentifier: undefined, + PendingModifiedValues: undefined, + Endpoint: undefined, + PubliclyAccessible: undefined, PromotionTier: undefined, - DBInstanceIdentifier: undefined, + StorageEncrypted: undefined, EngineVersion: undefined, + DBClusterIdentifier: undefined, + DBInstanceIdentifier: undefined, }; - if (output["PreferredMaintenanceWindow"] !== undefined) { - contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; - } - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; - } - if (output["PubliclyAccessible"] !== undefined) { - contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; - } - if (output["DBSubnetGroup"] !== undefined) { - contents.DBSubnetGroup = deserializeAws_queryDBSubnetGroup(output["DBSubnetGroup"], context); - } - if (output["CACertificateIdentifier"] !== undefined) { - contents.CACertificateIdentifier = output["CACertificateIdentifier"]; - } - if (output["Endpoint"] !== undefined) { - contents.Endpoint = deserializeAws_queryEndpoint(output["Endpoint"], context); - } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; - } - if (output["PendingModifiedValues"] !== undefined) { - contents.PendingModifiedValues = deserializeAws_queryPendingModifiedValues( - output["PendingModifiedValues"], - context - ); - } - if (output["DBInstanceClass"] !== undefined) { - contents.DBInstanceClass = output["DBInstanceClass"]; + if (output["DBInstanceArn"] !== undefined) { + contents.DBInstanceArn = output["DBInstanceArn"]; } if (output["LatestRestorableTime"] !== undefined) { contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); } - if (output["AutoMinorVersionUpgrade"] !== undefined) { - contents.AutoMinorVersionUpgrade = output["AutoMinorVersionUpgrade"] == "true"; - } - if (output.VpcSecurityGroups === "") { - contents.VpcSecurityGroups = []; - } - if ( - output["VpcSecurityGroups"] !== undefined && - output["VpcSecurityGroups"]["VpcSecurityGroupMembership"] !== undefined - ) { - contents.VpcSecurityGroups = deserializeAws_queryVpcSecurityGroupMembershipList( - __getArrayIfSingleItem(output["VpcSecurityGroups"]["VpcSecurityGroupMembership"]), - context - ); + if (output["BackupRetentionPeriod"] !== undefined) { + contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; @@ -7084,39 +7048,78 @@ const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): D context ); } - if (output["DBInstanceArn"] !== undefined) { - contents.DBInstanceArn = output["DBInstanceArn"]; - } if (output["DBInstanceStatus"] !== undefined) { contents.DBInstanceStatus = output["DBInstanceStatus"]; } - if (output["BackupRetentionPeriod"] !== undefined) { - contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; } - if (output["DBClusterIdentifier"] !== undefined) { - contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + if (output["DBInstanceClass"] !== undefined) { + contents.DBInstanceClass = output["DBInstanceClass"]; } - if (output["DbiResourceId"] !== undefined) { - contents.DbiResourceId = output["DbiResourceId"]; + if (output["InstanceCreateTime"] !== undefined) { + contents.InstanceCreateTime = new Date(output["InstanceCreateTime"]); + } + if (output["PreferredMaintenanceWindow"] !== undefined) { + contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; + } + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; + } + if (output["AutoMinorVersionUpgrade"] !== undefined) { + contents.AutoMinorVersionUpgrade = output["AutoMinorVersionUpgrade"] == "true"; + } + if (output.VpcSecurityGroups === "") { + contents.VpcSecurityGroups = []; + } + if ( + output["VpcSecurityGroups"] !== undefined && + output["VpcSecurityGroups"]["VpcSecurityGroupMembership"] !== undefined + ) { + contents.VpcSecurityGroups = deserializeAws_queryVpcSecurityGroupMembershipList( + __getArrayIfSingleItem(output["VpcSecurityGroups"]["VpcSecurityGroupMembership"]), + context + ); } if (output["PreferredBackupWindow"] !== undefined) { contents.PreferredBackupWindow = output["PreferredBackupWindow"]; } - if (output["StorageEncrypted"] !== undefined) { - contents.StorageEncrypted = output["StorageEncrypted"] == "true"; + if (output["DbiResourceId"] !== undefined) { + contents.DbiResourceId = output["DbiResourceId"]; } - if (output["InstanceCreateTime"] !== undefined) { - contents.InstanceCreateTime = new Date(output["InstanceCreateTime"]); + if (output["DBSubnetGroup"] !== undefined) { + contents.DBSubnetGroup = deserializeAws_queryDBSubnetGroup(output["DBSubnetGroup"], context); + } + if (output["CACertificateIdentifier"] !== undefined) { + contents.CACertificateIdentifier = output["CACertificateIdentifier"]; + } + if (output["PendingModifiedValues"] !== undefined) { + contents.PendingModifiedValues = deserializeAws_queryPendingModifiedValues( + output["PendingModifiedValues"], + context + ); + } + if (output["Endpoint"] !== undefined) { + contents.Endpoint = deserializeAws_queryEndpoint(output["Endpoint"], context); + } + if (output["PubliclyAccessible"] !== undefined) { + contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; } if (output["PromotionTier"] !== undefined) { contents.PromotionTier = parseInt(output["PromotionTier"]); } - if (output["DBInstanceIdentifier"] !== undefined) { - contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; + if (output["StorageEncrypted"] !== undefined) { + contents.StorageEncrypted = output["StorageEncrypted"] == "true"; } if (output["EngineVersion"] !== undefined) { contents.EngineVersion = output["EngineVersion"]; } + if (output["DBClusterIdentifier"] !== undefined) { + contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + } + if (output["DBInstanceIdentifier"] !== undefined) { + contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; + } return contents; }; @@ -7169,11 +7172,14 @@ const deserializeAws_queryDBInstanceNotFoundFault = (output: any, context: __Ser const deserializeAws_queryDBInstanceStatusInfo = (output: any, context: __SerdeContext): DBInstanceStatusInfo => { let contents: any = { + Normal: undefined, Status: undefined, StatusType: undefined, Message: undefined, - Normal: undefined, }; + if (output["Normal"] !== undefined) { + contents.Normal = output["Normal"] == "true"; + } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } @@ -7183,9 +7189,6 @@ const deserializeAws_queryDBInstanceStatusInfo = (output: any, context: __SerdeC if (output["Message"] !== undefined) { contents.Message = output["Message"]; } - if (output["Normal"] !== undefined) { - contents.Normal = output["Normal"] == "true"; - } return contents; }; @@ -7270,33 +7273,33 @@ const deserializeAws_queryDBSnapshotNotFoundFault = (output: any, context: __Ser const deserializeAws_queryDBSubnetGroup = (output: any, context: __SerdeContext): DBSubnetGroup => { let contents: any = { - VpcId: undefined, + DBSubnetGroupName: undefined, + Subnets: undefined, DBSubnetGroupArn: undefined, + VpcId: undefined, DBSubnetGroupDescription: undefined, SubnetGroupStatus: undefined, - DBSubnetGroupName: undefined, - Subnets: undefined, }; - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; + if (output["DBSubnetGroupName"] !== undefined) { + contents.DBSubnetGroupName = output["DBSubnetGroupName"]; + } + if (output.Subnets === "") { + contents.Subnets = []; + } + if (output["Subnets"] !== undefined && output["Subnets"]["Subnet"] !== undefined) { + contents.Subnets = deserializeAws_querySubnetList(__getArrayIfSingleItem(output["Subnets"]["Subnet"]), context); } if (output["DBSubnetGroupArn"] !== undefined) { contents.DBSubnetGroupArn = output["DBSubnetGroupArn"]; } + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; + } if (output["DBSubnetGroupDescription"] !== undefined) { contents.DBSubnetGroupDescription = output["DBSubnetGroupDescription"]; } - if (output["SubnetGroupStatus"] !== undefined) { - contents.SubnetGroupStatus = output["SubnetGroupStatus"]; - } - if (output["DBSubnetGroupName"] !== undefined) { - contents.DBSubnetGroupName = output["DBSubnetGroupName"]; - } - if (output.Subnets === "") { - contents.Subnets = []; - } - 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"]; } return contents; }; @@ -7467,34 +7470,28 @@ const deserializeAws_queryDescribeEngineDefaultClusterParametersResult = ( const deserializeAws_queryEndpoint = (output: any, context: __SerdeContext): Endpoint => { let contents: any = { - Port: undefined, HostedZoneId: undefined, Address: undefined, + Port: undefined, }; - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } if (output["HostedZoneId"] !== undefined) { contents.HostedZoneId = output["HostedZoneId"]; } if (output["Address"] !== undefined) { contents.Address = output["Address"]; } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } return contents; }; const deserializeAws_queryEngineDefaults = (output: any, context: __SerdeContext): EngineDefaults => { let contents: any = { + Parameters: undefined, Marker: undefined, DBParameterGroupFamily: undefined, - Parameters: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } - if (output["DBParameterGroupFamily"] !== undefined) { - contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; - } if (output.Parameters === "") { contents.Parameters = []; } @@ -7504,24 +7501,24 @@ const deserializeAws_queryEngineDefaults = (output: any, context: __SerdeContext context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } + if (output["DBParameterGroupFamily"] !== undefined) { + contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; + } return contents; }; const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event => { let contents: any = { - Date: undefined, - SourceIdentifier: undefined, SourceType: undefined, Message: undefined, EventCategories: undefined, SourceArn: undefined, + SourceIdentifier: undefined, + Date: undefined, }; - if (output["Date"] !== undefined) { - contents.Date = new Date(output["Date"]); - } - if (output["SourceIdentifier"] !== undefined) { - contents.SourceIdentifier = output["SourceIdentifier"]; - } if (output["SourceType"] !== undefined) { contents.SourceType = output["SourceType"]; } @@ -7540,6 +7537,12 @@ const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event if (output["SourceArn"] !== undefined) { contents.SourceArn = output["SourceArn"]; } + if (output["SourceIdentifier"] !== undefined) { + contents.SourceIdentifier = output["SourceIdentifier"]; + } + if (output["Date"] !== undefined) { + contents.Date = new Date(output["Date"]); + } return contents; }; @@ -7549,9 +7552,12 @@ const deserializeAws_queryEventCategoriesList = (output: any, context: __SerdeCo const deserializeAws_queryEventCategoriesMap = (output: any, context: __SerdeContext): EventCategoriesMap => { let contents: any = { - EventCategories: undefined, SourceType: undefined, + EventCategories: undefined, }; + if (output["SourceType"] !== undefined) { + contents.SourceType = output["SourceType"]; + } if (output.EventCategories === "") { contents.EventCategories = []; } @@ -7561,9 +7567,6 @@ const deserializeAws_queryEventCategoriesMap = (output: any, context: __SerdeCon context ); } - if (output["SourceType"] !== undefined) { - contents.SourceType = output["SourceType"]; - } return contents; }; @@ -7596,18 +7599,18 @@ const deserializeAws_queryEventList = (output: any, context: __SerdeContext): Ev const deserializeAws_queryEventsMessage = (output: any, context: __SerdeContext): EventsMessage => { let contents: any = { - Marker: undefined, Events: undefined, + Marker: 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; }; @@ -7881,13 +7884,25 @@ const deserializeAws_queryOrderableDBInstanceOption = ( context: __SerdeContext ): OrderableDBInstanceOption => { let contents: any = { - AvailabilityZones: undefined, - DBInstanceClass: undefined, + LicenseModel: undefined, Engine: undefined, + DBInstanceClass: undefined, Vpc: undefined, + AvailabilityZones: undefined, EngineVersion: undefined, - LicenseModel: undefined, }; + if (output["LicenseModel"] !== undefined) { + contents.LicenseModel = output["LicenseModel"]; + } + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; + } + if (output["DBInstanceClass"] !== undefined) { + contents.DBInstanceClass = output["DBInstanceClass"]; + } + if (output["Vpc"] !== undefined) { + contents.Vpc = output["Vpc"] == "true"; + } if (output.AvailabilityZones === "") { contents.AvailabilityZones = []; } @@ -7897,21 +7912,9 @@ const deserializeAws_queryOrderableDBInstanceOption = ( context ); } - if (output["DBInstanceClass"] !== undefined) { - contents.DBInstanceClass = output["DBInstanceClass"]; - } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; - } - if (output["Vpc"] !== undefined) { - contents.Vpc = output["Vpc"] == "true"; - } if (output["EngineVersion"] !== undefined) { contents.EngineVersion = output["EngineVersion"]; } - if (output["LicenseModel"] !== undefined) { - contents.LicenseModel = output["LicenseModel"]; - } return contents; }; @@ -7950,47 +7953,47 @@ const deserializeAws_queryOrderableDBInstanceOptionsMessage = ( const deserializeAws_queryParameter = (output: any, context: __SerdeContext): Parameter => { let contents: any = { - Description: undefined, - ApplyType: undefined, - IsModifiable: undefined, - ApplyMethod: undefined, - ParameterName: undefined, Source: undefined, - DataType: undefined, MinimumEngineVersion: undefined, + ParameterName: undefined, + DataType: undefined, AllowedValues: undefined, ParameterValue: undefined, + ApplyType: undefined, + Description: undefined, + ApplyMethod: undefined, + IsModifiable: undefined, }; - 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["Source"] !== undefined) { + contents.Source = output["Source"]; } - if (output["ApplyMethod"] !== undefined) { - contents.ApplyMethod = output["ApplyMethod"]; + if (output["MinimumEngineVersion"] !== undefined) { + contents.MinimumEngineVersion = output["MinimumEngineVersion"]; } if (output["ParameterName"] !== undefined) { contents.ParameterName = output["ParameterName"]; } - if (output["Source"] !== undefined) { - contents.Source = output["Source"]; - } 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["ApplyType"] !== undefined) { + contents.ApplyType = output["ApplyType"]; + } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["ApplyMethod"] !== undefined) { + contents.ApplyMethod = output["ApplyMethod"]; + } + if (output["IsModifiable"] !== undefined) { + contents.IsModifiable = output["IsModifiable"] == "true"; + } return contents; }; @@ -8003,18 +8006,9 @@ const deserializeAws_queryPendingCloudwatchLogsExports = ( context: __SerdeContext ): PendingCloudwatchLogsExports => { let contents: any = { - LogTypesToDisable: undefined, LogTypesToEnable: undefined, + LogTypesToDisable: undefined, }; - if (output.LogTypesToDisable === "") { - contents.LogTypesToDisable = []; - } - if (output["LogTypesToDisable"] !== undefined && output["LogTypesToDisable"]["member"] !== undefined) { - contents.LogTypesToDisable = deserializeAws_queryLogTypeList( - __getArrayIfSingleItem(output["LogTypesToDisable"]["member"]), - context - ); - } if (output.LogTypesToEnable === "") { contents.LogTypesToEnable = []; } @@ -8024,6 +8018,15 @@ const deserializeAws_queryPendingCloudwatchLogsExports = ( context ); } + if (output.LogTypesToDisable === "") { + contents.LogTypesToDisable = []; + } + if (output["LogTypesToDisable"] !== undefined && output["LogTypesToDisable"]["member"] !== undefined) { + contents.LogTypesToDisable = deserializeAws_queryLogTypeList( + __getArrayIfSingleItem(output["LogTypesToDisable"]["member"]), + context + ); + } return contents; }; @@ -8032,30 +8035,30 @@ const deserializeAws_queryPendingMaintenanceAction = ( context: __SerdeContext ): PendingMaintenanceAction => { let contents: any = { + ForcedApplyDate: undefined, OptInStatus: undefined, CurrentApplyDate: undefined, - Description: undefined, Action: undefined, AutoAppliedAfterDate: undefined, - ForcedApplyDate: undefined, + Description: undefined, }; + if (output["ForcedApplyDate"] !== undefined) { + contents.ForcedApplyDate = new Date(output["ForcedApplyDate"]); + } if (output["OptInStatus"] !== undefined) { contents.OptInStatus = output["OptInStatus"]; } if (output["CurrentApplyDate"] !== undefined) { contents.CurrentApplyDate = new Date(output["CurrentApplyDate"]); } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["Action"] !== undefined) { contents.Action = output["Action"]; } if (output["AutoAppliedAfterDate"] !== undefined) { contents.AutoAppliedAfterDate = new Date(output["AutoAppliedAfterDate"]); } - if (output["ForcedApplyDate"] !== undefined) { - contents.ForcedApplyDate = new Date(output["ForcedApplyDate"]); + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } return contents; }; @@ -8102,38 +8105,41 @@ const deserializeAws_queryPendingMaintenanceActionsMessage = ( const deserializeAws_queryPendingModifiedValues = (output: any, context: __SerdeContext): PendingModifiedValues => { let contents: any = { - StorageType: undefined, - LicenseModel: undefined, - Port: undefined, - EngineVersion: undefined, - Iops: undefined, + BackupRetentionPeriod: undefined, AllocatedStorage: undefined, - DBSubnetGroupName: undefined, - MasterUserPassword: undefined, CACertificateIdentifier: undefined, - DBInstanceIdentifier: undefined, - PendingCloudwatchLogsExports: undefined, + Iops: undefined, DBInstanceClass: undefined, + DBInstanceIdentifier: undefined, MultiAZ: undefined, - BackupRetentionPeriod: undefined, + DBSubnetGroupName: undefined, + MasterUserPassword: undefined, + LicenseModel: undefined, + StorageType: undefined, + Port: undefined, + PendingCloudwatchLogsExports: undefined, + EngineVersion: undefined, }; - if (output["StorageType"] !== undefined) { - contents.StorageType = output["StorageType"]; - } - if (output["LicenseModel"] !== undefined) { - contents.LicenseModel = output["LicenseModel"]; + if (output["BackupRetentionPeriod"] !== undefined) { + contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["AllocatedStorage"] !== undefined) { + contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; + if (output["CACertificateIdentifier"] !== undefined) { + contents.CACertificateIdentifier = output["CACertificateIdentifier"]; } if (output["Iops"] !== undefined) { contents.Iops = parseInt(output["Iops"]); } - if (output["AllocatedStorage"] !== undefined) { - contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); + if (output["DBInstanceClass"] !== undefined) { + contents.DBInstanceClass = output["DBInstanceClass"]; + } + if (output["DBInstanceIdentifier"] !== undefined) { + contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; + } + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"] == "true"; } if (output["DBSubnetGroupName"] !== undefined) { contents.DBSubnetGroupName = output["DBSubnetGroupName"]; @@ -8141,11 +8147,14 @@ const deserializeAws_queryPendingModifiedValues = (output: any, context: __Serde if (output["MasterUserPassword"] !== undefined) { contents.MasterUserPassword = output["MasterUserPassword"]; } - if (output["CACertificateIdentifier"] !== undefined) { - contents.CACertificateIdentifier = output["CACertificateIdentifier"]; + if (output["LicenseModel"] !== undefined) { + contents.LicenseModel = output["LicenseModel"]; } - if (output["DBInstanceIdentifier"] !== undefined) { - contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; + if (output["StorageType"] !== undefined) { + contents.StorageType = output["StorageType"]; + } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } if (output["PendingCloudwatchLogsExports"] !== undefined) { contents.PendingCloudwatchLogsExports = deserializeAws_queryPendingCloudwatchLogsExports( @@ -8153,14 +8162,8 @@ const deserializeAws_queryPendingModifiedValues = (output: any, context: __Serde context ); } - if (output["DBInstanceClass"] !== undefined) { - contents.DBInstanceClass = output["DBInstanceClass"]; - } - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"] == "true"; - } - if (output["BackupRetentionPeriod"] !== undefined) { - contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; } return contents; }; @@ -8190,9 +8193,12 @@ const deserializeAws_queryResourcePendingMaintenanceActions = ( context: __SerdeContext ): ResourcePendingMaintenanceActions => { let contents: any = { - PendingMaintenanceActionDetails: undefined, ResourceIdentifier: undefined, + PendingMaintenanceActionDetails: undefined, }; + if (output["ResourceIdentifier"] !== undefined) { + contents.ResourceIdentifier = output["ResourceIdentifier"]; + } if (output.PendingMaintenanceActionDetails === "") { contents.PendingMaintenanceActionDetails = []; } @@ -8205,9 +8211,6 @@ const deserializeAws_queryResourcePendingMaintenanceActions = ( context ); } - if (output["ResourceIdentifier"] !== undefined) { - contents.ResourceIdentifier = output["ResourceIdentifier"]; - } return contents; }; @@ -8374,15 +8377,12 @@ const deserializeAws_queryTagListMessage = (output: any, context: __SerdeContext const deserializeAws_queryUpgradeTarget = (output: any, context: __SerdeContext): UpgradeTarget => { let contents: any = { - Description: undefined, AutoUpgrade: undefined, EngineVersion: undefined, IsMajorVersionUpgrade: undefined, Engine: undefined, + Description: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["AutoUpgrade"] !== undefined) { contents.AutoUpgrade = output["AutoUpgrade"] == "true"; } @@ -8395,6 +8395,9 @@ const deserializeAws_queryUpgradeTarget = (output: any, context: __SerdeContext) if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } return contents; }; @@ -8407,15 +8410,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-dynamodb-streams/models/models_0.ts b/clients/client-dynamodb-streams/models/models_0.ts index 84df5cb6d2dd..efa0b54db7b5 100644 --- a/clients/client-dynamodb-streams/models/models_0.ts +++ b/clients/client-dynamodb-streams/models/models_0.ts @@ -10,16 +10,16 @@ export interface DescribeStreamInput { */ StreamArn: string | undefined; - /** - *

            The maximum number of shard objects to return. The upper limit is 100.

            - */ - Limit?: number; - /** *

            The shard ID of the first item that this operation will evaluate. Use the value that was * returned for LastEvaluatedShardId in the previous operation.

            */ ExclusiveStartShardId?: string; + + /** + *

            The maximum number of shard objects to return. The upper limit is 100.

            + */ + Limit?: number; } export namespace DescribeStreamInput { @@ -31,23 +31,41 @@ export namespace DescribeStreamInput { export type KeyType = "HASH" | "RANGE"; /** - *

            Represents a single element of a key schema. A key schema specifies the attributes - * that make up the primary key of a table, or the key attributes of an index.

            - *

            A KeySchemaElement represents exactly one attribute of the primary key. For example, a - * simple primary key (partition key) would be represented by one KeySchemaElement. A composite primary key (partition key and sort key) would require one KeySchemaElement for the partition key, and another - * KeySchemaElement for the sort key.

            - * - *

            The partition key of an item is also known as its hash attribute. The - * term "hash attribute" derives from DynamoDB's usage of an internal hash function to - * evenly distribute data items across partitions, based on their partition key values.

            - *

            The sort key of an item is also known as its range attribute. - * The term "range attribute" derives from the way DynamoDB stores items with the same - * partition key physically close together, in sorted order by the sort key value.

            - *
            + *

            Represents a single element of a key schema. A key schema specifies + * the attributes that make up the primary key of a table, or the key attributes of an + * index.

            + *

            A KeySchemaElement represents exactly one attribute of the primary key. For + * example, a simple primary key would be represented by one KeySchemaElement + * (for the partition key). A composite primary key would require one + * KeySchemaElement for the partition key, and another + * KeySchemaElement for the sort key.

            + *

            A KeySchemaElement must be a scalar, top-level attribute (not a nested + * attribute). The data type must be one of String, Number, or Binary. The attribute cannot + * be nested within a List or a Map.

            */ export interface KeySchemaElement { /** - *

            The attribute data, consisting of the data type and the attribute value itself.

            + *

            The role that this key attribute will assume:

            + *
              + *
            • + *

              + * HASH - partition key

              + *
            • + *
            • + *

              + * RANGE - sort key

              + *
            • + *
            + * + *

            The partition key of an item is also known as its hash + * attribute. The term "hash attribute" derives from DynamoDB's usage of + * an internal hash function to evenly distribute data items across partitions, based + * on their partition key values.

            + *

            The sort key of an item is also known as its range + * attribute. The term "range attribute" derives from the way DynamoDB + * stores items with the same partition key physically close together, in sorted order + * by the sort key value.

            + *
            */ KeyType: KeyType | string | undefined; @@ -68,12 +86,12 @@ export namespace KeySchemaElement { */ export interface SequenceNumberRange { /** - *

            The last sequence number.

            + *

            The last sequence number for the stream records contained within a shard. String contains numeric characters only.

            */ EndingSequenceNumber?: string; /** - *

            The first sequence number.

            + *

            The first sequence number for the stream records contained within a shard. String contains numeric characters only.

            */ StartingSequenceNumber?: string; } @@ -89,14 +107,14 @@ export namespace SequenceNumberRange { */ export interface Shard { /** - *

            The shard ID of the current shard's parent.

            + *

            The system-generated identifier for this shard.

            */ - ParentShardId?: string; + ShardId?: string; /** - *

            The system-generated identifier for this shard.

            + *

            The shard ID of the current shard's parent.

            */ - ShardId?: string; + ParentShardId?: string; /** *

            The range of possible sequence numbers for the shard.

            @@ -119,19 +137,27 @@ export type StreamViewType = "KEYS_ONLY" | "NEW_AND_OLD_IMAGES" | "NEW_IMAGE" | */ export interface StreamDescription { /** - *

            The shard ID of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

            - *

            If LastEvaluatedShardId is empty, then the "last page" of results has been - * processed and there is currently no more data to be retrieved.

            - *

            If LastEvaluatedShardId is not empty, it does not necessarily mean that there is - * more data in the result set. The only way to know when you have reached the end of the result - * set is when LastEvaluatedShardId is empty.

            - */ - LastEvaluatedShardId?: string; - - /** - *

            The key attribute(s) of the stream's DynamoDB table.

            + *

            Indicates the current status of the stream:

            + *
              + *
            • + *

              + * ENABLING - Streams is currently being enabled on the DynamoDB table.

              + *
            • + *
            • + *

              + * ENABLED - the stream is enabled.

              + *
            • + *
            • + *

              + * DISABLING - Streams is currently being disabled on the DynamoDB table.

              + *
            • + *
            • + *

              + * DISABLED - the stream is disabled.

              + *
            • + *
            */ - KeySchema?: KeySchemaElement[]; + StreamStatus?: StreamStatus | string; /** *

            Indicates the format of the records within this stream:

            @@ -157,15 +183,25 @@ export interface StreamDescription { StreamViewType?: StreamViewType | string; /** - *

            The Amazon Resource Name (ARN) for the stream.

            + *

            The date and time when the request to create this stream was issued.

            */ - StreamArn?: string; + CreationRequestDateTime?: Date; /** *

            The shards that comprise the stream.

            */ Shards?: Shard[]; + /** + *

            The Amazon Resource Name (ARN) for the stream.

            + */ + StreamArn?: string; + + /** + *

            The key attribute(s) of the stream's DynamoDB table.

            + */ + KeySchema?: KeySchemaElement[]; + /** *

            A timestamp, in ISO 8601 format, for this stream.

            *

            Note that LatestStreamLabel is not a unique identifier for the stream, because it is @@ -187,37 +223,19 @@ export interface StreamDescription { StreamLabel?: string; /** - *

            The date and time when the request to create this stream was issued.

            - */ - CreationRequestDateTime?: Date; - - /** - *

            Indicates the current status of the stream:

            - *
              - *
            • - *

              - * ENABLING - Streams is currently being enabled on the DynamoDB table.

              - *
            • - *
            • - *

              - * ENABLED - the stream is enabled.

              - *
            • - *
            • - *

              - * DISABLING - Streams is currently being disabled on the DynamoDB table.

              - *
            • - *
            • - *

              - * DISABLED - the stream is disabled.

              - *
            • - *
            + *

            The DynamoDB table with which the stream is associated.

            */ - StreamStatus?: StreamStatus | string; + TableName?: string; /** - *

            The DynamoDB table with which the stream is associated.

            + *

            The shard ID of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

            + *

            If LastEvaluatedShardId is empty, then the "last page" of results has been + * processed and there is currently no more data to be retrieved.

            + *

            If LastEvaluatedShardId is not empty, it does not necessarily mean that there is + * more data in the result set. The only way to know when you have reached the end of the result + * set is when LastEvaluatedShardId is empty.

            */ - TableName?: string; + LastEvaluatedShardId?: string; } export namespace StreamDescription { @@ -261,7 +279,9 @@ export namespace InternalServerError { } /** - *

            The operation tried to access a nonexistent stream.

            + *

            The operation tried to access a nonexistent table or index. The resource + * might not be specified correctly, or its status might not be + * ACTIVE.

            */ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; @@ -325,16 +345,16 @@ export type OperationType = "INSERT" | "MODIFY" | "REMOVE"; *

            Contains details about the type of identity that made the request.

            */ export interface Identity { - /** - *

            The type of the identity. For Time To Live, the type is "Service".

            - */ - Type?: string; - /** *

            A unique identifier for the entity that made the call. For Time To Live, the * principalId is "dynamodb.amazonaws.com".

            */ PrincipalId?: string; + + /** + *

            The type of the identity. For Time To Live, the type is "Service".

            + */ + Type?: string; } export namespace Identity { @@ -344,11 +364,18 @@ export namespace Identity { } /** - *

            Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that - * receive this exception. Your request is eventually successful, unless your retry queue is too - * large to finish. Reduce the frequency of requests and use exponential backoff. For more - * information, go to Error Retries and Exponential - * Backoff in the Amazon DynamoDB Developer Guide.

            + *

            There is no limit to the number of daily on-demand backups that can be + * taken.

            + *

            Up to 50 simultaneous table operations are allowed per account. These operations + * include CreateTable, UpdateTable, + * DeleteTable,UpdateTimeToLive, + * RestoreTableFromBackup, and + * RestoreTableToPointInTime.

            + *

            The only exception is when you are creating a table with one or more secondary + * indexes. You can have up to 25 such requests running at a time; however, if the table or + * index specifications are complex, DynamoDB might temporarily reduce the number of + * concurrent operations.

            + *

            There is a soft account quota of 256 tables.

            */ export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; @@ -401,9 +428,9 @@ export type ShardIteratorType = "AFTER_SEQUENCE_NUMBER" | "AT_SEQUENCE_NUMBER" | */ export interface GetShardIteratorInput { /** - *

            The Amazon Resource Name (ARN) for the stream.

            + *

            The identifier of the shard. The iterator will be returned for this shard ID.

            */ - StreamArn: string | undefined; + ShardId: string | undefined; /** *

            The sequence number of a stream record in the shard from which to start reading.

            @@ -411,9 +438,9 @@ export interface GetShardIteratorInput { SequenceNumber?: string; /** - *

            The identifier of the shard. The iterator will be returned for this shard ID.

            + *

            The Amazon Resource Name (ARN) for the stream.

            */ - ShardId: string | undefined; + StreamArn: string | undefined; /** *

            Determines how the shard iterator is used to start reading stream records from the shard:

            @@ -520,14 +547,14 @@ export interface _Stream { StreamLabel?: string; /** - *

            The DynamoDB table with which the stream is associated.

            + *

            The Amazon Resource Name (ARN) for the stream.

            */ - TableName?: string; + StreamArn?: string; /** - *

            The Amazon Resource Name (ARN) for the stream.

            + *

            The DynamoDB table with which the stream is associated.

            */ - StreamArn?: string; + TableName?: string; } export namespace _Stream { @@ -563,59 +590,93 @@ export namespace ListStreamsOutput { } /** - *

            Represents the data for an attribute. You can set one, and only one, of the elements.

            - *

            Each attribute in an item is a name-value pair. An attribute can be single-valued or multi-valued set. For example, a book item can have title and authors attributes. Each book has one title but can have many authors. The multi-valued attribute is a set; duplicate values are not allowed.

            + *

            Represents the data for an attribute.

            + *

            Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

            + *

            For more information, see Data Types in the + * Amazon DynamoDB Developer Guide.

            */ export interface AttributeValue { /** - *

            A Boolean data type.

            + *

            An attribute of type String Set. For example:

            + *

            + * "SS": ["Giraffe", "Hippo" ,"Zebra"] + *

            */ - BOOL?: boolean; + SS?: string[]; /** - *

            A Map data type.

            + *

            An attribute of type Binary Set. For example:

            + *

            + * "BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="] + *

            */ - M?: { [key: string]: AttributeValue }; + BS?: Uint8Array[]; /** - *

            A List data type.

            + *

            An attribute of type Number. For example:

            + *

            + * "N": "123.45" + *

            + *

            Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

            */ - L?: AttributeValue[]; + N?: string; /** - *

            A String data type.

            + *

            An attribute of type List. For example:

            + *

            + * "L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N", "3.14159"}] + *

            */ - S?: string; + L?: AttributeValue[]; /** - *

            A Binary data type.

            + *

            An attribute of type Boolean. For example:

            + *

            + * "BOOL": true + *

            */ - B?: Uint8Array; + BOOL?: boolean; /** - *

            A Number Set data type.

            + *

            An attribute of type Map. For example:

            + *

            + * "M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}} + *

            */ - NS?: string[]; + M?: { [key: string]: AttributeValue }; /** - *

            A Null data type.

            + *

            An attribute of type Null. For example:

            + *

            + * "NULL": true + *

            */ NULL?: boolean; /** - *

            A Number data type.

            + *

            An attribute of type Number Set. For example:

            + *

            + * "NS": ["42.2", "-19", "7.5", "3.14"] + *

            + *

            Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

            */ - N?: string; + NS?: string[]; /** - *

            A Binary Set data type.

            + *

            An attribute of type Binary. For example:

            + *

            + * "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" + *

            */ - BS?: Uint8Array[]; + B?: Uint8Array; /** - *

            A String Set data type.

            + *

            An attribute of type String. For example:

            + *

            + * "S": "Hello" + *

            */ - SS?: string[]; + S?: string; } export namespace AttributeValue { @@ -633,6 +694,31 @@ export interface StreamRecord { */ SequenceNumber?: string; + /** + *

            The item in the DynamoDB table as it appeared before it was modified.

            + */ + OldImage?: { [key: string]: AttributeValue }; + + /** + *

            The approximate date and time when the stream record was created, in UNIX epoch time format.

            + */ + ApproximateCreationDateTime?: Date; + + /** + *

            The size of the stream record, in bytes.

            + */ + SizeBytes?: number; + + /** + *

            The primary key attribute(s) for the DynamoDB item that was modified.

            + */ + Keys?: { [key: string]: AttributeValue }; + + /** + *

            The item in the DynamoDB table as it appeared after it was modified.

            + */ + NewImage?: { [key: string]: AttributeValue }; + /** *

            The type of data from the modified DynamoDB item that was captured in this stream record:

            *
              @@ -655,31 +741,6 @@ export interface StreamRecord { *
            */ StreamViewType?: StreamViewType | string; - - /** - *

            The item in the DynamoDB table as it appeared before it was modified.

            - */ - OldImage?: { [key: string]: AttributeValue }; - - /** - *

            The approximate date and time when the stream record was created, in UNIX epoch time format.

            - */ - ApproximateCreationDateTime?: Date; - - /** - *

            The primary key attribute(s) for the DynamoDB item that was modified.

            - */ - Keys?: { [key: string]: AttributeValue }; - - /** - *

            The size of the stream record, in bytes.

            - */ - SizeBytes?: number; - - /** - *

            The item in the DynamoDB table as it appeared after it was modified.

            - */ - NewImage?: { [key: string]: AttributeValue }; } export namespace StreamRecord { @@ -693,14 +754,9 @@ export namespace StreamRecord { */ export interface _Record { /** - *

            The main body of the stream record, containing all of the DynamoDB-specific fields.

            - */ - dynamodb?: StreamRecord; - - /** - *

            The region in which the GetRecords request was received.

            + *

            A globally unique identifier for the event that was recorded in this stream record.

            */ - awsRegion?: string; + eventID?: string; /** *

            The type of data modification that was performed on the DynamoDB table:

            @@ -726,6 +782,24 @@ export interface _Record { */ eventSource?: string; + /** + *

            The version number of the stream record format. This number is updated whenever the structure of Record is modified.

            + *

            Client applications must not assume that eventVersion will remain at a particular + * value, as this number is subject to change at any time. In general, eventVersion will + * only increase as the low-level DynamoDB Streams API evolves.

            + */ + eventVersion?: string; + + /** + *

            The region in which the GetRecords request was received.

            + */ + awsRegion?: string; + + /** + *

            The main body of the stream record, containing all of the DynamoDB-specific fields.

            + */ + dynamodb?: StreamRecord; + /** *

            Items that are deleted by the Time to Live process after expiration have the following fields:

            *
              @@ -740,19 +814,6 @@ export interface _Record { *
            */ userIdentity?: Identity; - - /** - *

            The version number of the stream record format. This number is updated whenever the structure of Record is modified.

            - *

            Client applications must not assume that eventVersion will remain at a particular - * value, as this number is subject to change at any time. In general, eventVersion will - * only increase as the low-level DynamoDB Streams API evolves.

            - */ - eventVersion?: string; - - /** - *

            A globally unique identifier for the event that was recorded in this stream record.

            - */ - eventID?: string; } export namespace _Record { @@ -765,17 +826,17 @@ export namespace _Record { *

            Represents the output of a GetRecords operation.

            */ export interface GetRecordsOutput { + /** + *

            The stream records from the shard, which were retrieved using the shard iterator.

            + */ + Records?: _Record[]; + /** *

            The next position in the shard from which to start sequentially reading stream records. If * set to null, the shard has been closed and the requested iterator will not return * any more data.

            */ NextShardIterator?: string; - - /** - *

            The stream records from the shard, which were retrieved using the shard iterator.

            - */ - Records?: _Record[]; } export namespace GetRecordsOutput { diff --git a/clients/client-dynamodb/DynamoDB.ts b/clients/client-dynamodb/DynamoDB.ts index ec4fbf364f1c..8c915ed2957b 100644 --- a/clients/client-dynamodb/DynamoDB.ts +++ b/clients/client-dynamodb/DynamoDB.ts @@ -869,27 +869,26 @@ export class DynamoDB extends DynamoDBClient { } /** - *

            Returns the current provisioned-capacity limits for your AWS account in a Region, both + *

            Returns the current provisioned-capacity quotas for your AWS account in a Region, both * for the Region as a whole and for any one DynamoDB table that you create there.

            - *

            When you establish an AWS account, the account has initial limits on the maximum read + *

            When you establish an AWS account, the account has initial quotas on the maximum read * capacity units and write capacity units that you can provision across all of your - * DynamoDB tables in a given Region. Also, there are per-table limits that apply when you - * create a table there. For more information, see Limits page in the - * Amazon DynamoDB Developer Guide.

            + * DynamoDB tables in a given Region. Also, there are per-table quotas that apply when you + * create a table there. For more information, see Service, Account, and Table + * Quotas page in the Amazon DynamoDB Developer + * Guide.

            * - *

            Although you can increase these limits by filing a case at - * AWS Support Center, - * obtaining the increase is not instantaneous. The DescribeLimits - * action lets you write code to compare the capacity you are currently using to those limits - * imposed by your account so that you have enough time to apply for an increase before you hit - * a limit.

            + *

            Although you can increase these quotas by filing a case at AWS Support Center, obtaining the increase is not + * instantaneous. The DescribeLimits action lets you write code to compare the + * capacity you are currently using to those quotas imposed by your account so that you + * have enough time to apply for an increase before you hit a quota.

            * *

            For example, you could use one of the AWS SDKs to do the following:

            * *
              *
            1. *

              Call DescribeLimits for a particular Region to obtain your current - * account limits on provisioned capacity there.

              + * account quotas on provisioned capacity there.

              *
            2. *
            3. *

              Create a variable to hold the aggregate read capacity units provisioned for all @@ -915,17 +914,19 @@ export class DynamoDB extends DynamoDBClient { * *

            4. *
            5. - *

              Report the account limits for that Region returned by DescribeLimits, along with + *

              Report the account quotas for that Region returned by DescribeLimits, along with * the total current provisioned capacity levels you have calculated.

              *
            6. *
            * - *

            This will let you see whether you are getting close to your account-level limits.

            - *

            The per-table limits apply only when you are creating a new table. They restrict the sum of the provisioned capacity of the new table itself and all its global secondary indexes.

            + *

            This will let you see whether you are getting close to your account-level quotas.

            + *

            The per-table quotas apply only when you are creating a new table. They restrict the sum + * of the provisioned capacity of the new table itself and all its global secondary + * indexes.

            *

            For existing tables and their GSIs, DynamoDB doesn't let you increase provisioned - * capacity extremely rapidly. But the only upper limit that applies is that the aggregate + * capacity extremely rapidly, but the only quota that applies is that the aggregate * provisioned capacity over all your tables and GSIs cannot exceed either of the - * per-account limits.

            + * per-account quotas.

            * *

            * DescribeLimits should only be called periodically. You can expect throttling @@ -1102,10 +1103,10 @@ export class DynamoDB extends DynamoDBClient { /** *

            List backups associated with an AWS account. To list backups for a given table, specify * TableName. ListBackups returns a paginated list of results - * with at most 1 MB worth of items in a page. You can also specify a limit for the maximum - * number of entries to be returned in a page.

            + * with at most 1 MB worth of items in a page. You can also specify a maximum number of + * entries to be returned in a page.

            *

            In the request, start time is inclusive, but end time is exclusive. Note that these - * limits are for the time at which the original backup was requested.

            + * boundaries are for the time at which the original backup was requested.

            *

            You can call ListBackups a maximum of five times per second.

            */ public listBackups(args: ListBackupsCommandInput, options?: __HttpHandlerOptions): Promise; diff --git a/clients/client-dynamodb/models/models_0.ts b/clients/client-dynamodb/models/models_0.ts index a9125c002eaa..fe61a9924778 100644 --- a/clients/client-dynamodb/models/models_0.ts +++ b/clients/client-dynamodb/models/models_0.ts @@ -5,6 +5,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; *

            Contains details of a table archival operation.

            */ export interface ArchivalSummary { + /** + *

            The Amazon Resource Name (ARN) of the backup the table was archived + * to, when applicable in the archival reason. If you wish to restore this + * backup to the same table name, you will need to delete the original + * table.

            + */ + ArchivalBackupArn?: string; + /** *

            The reason DynamoDB archived the table. Currently, the only * possible value is:

            @@ -21,14 +29,6 @@ export interface ArchivalSummary { */ ArchivalReason?: string; - /** - *

            The Amazon Resource Name (ARN) of the backup the table was archived - * to, when applicable in the archival reason. If you wish to restore this - * backup to the same table name, you will need to delete the original - * table.

            - */ - ArchivalBackupArn?: string; - /** *

            The date and time when table archival was initiated by DynamoDB, * in UNIX epoch time format.

            @@ -149,15 +149,6 @@ export namespace AutoScalingPolicyDescription { *

            Represents the settings of a target tracking scaling policy that will be modified.

            */ export interface AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { - /** - *

            The amount of time, in seconds, after a scale out activity completes before another scale out - * activity can start. While the cooldown period is in effect, the capacity that has been added - * by the previous scale out event that initiated the cooldown is calculated as part of the - * desired capacity for the next scale out. You should continuously (but not excessively) - * scale out.

            - */ - ScaleOutCooldown?: number; - /** *

            The amount of time, in seconds, after a scale in activity completes before another scale * in activity can start. The cooldown period is used to block subsequent scale in requests @@ -168,6 +159,11 @@ export interface AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { */ ScaleInCooldown?: number; + /** + *

            The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

            + */ + TargetValue: number | undefined; + /** *

            Indicates whether scale in by the target tracking policy is disabled. If the value is true, * scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. @@ -177,9 +173,13 @@ export interface AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { DisableScaleIn?: boolean; /** - *

            The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

            + *

            The amount of time, in seconds, after a scale out activity completes before another scale out + * activity can start. While the cooldown period is in effect, the capacity that has been added + * by the previous scale out event that initiated the cooldown is calculated as part of the + * desired capacity for the next scale out. You should continuously (but not excessively) + * scale out.

            */ - TargetValue: number | undefined; + ScaleOutCooldown?: number; } export namespace AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { @@ -214,16 +214,6 @@ export namespace AutoScalingPolicyUpdate { * index.

            */ export interface AutoScalingSettingsDescription { - /** - *

            Information about the scaling policies.

            - */ - ScalingPolicies?: AutoScalingPolicyDescription[]; - - /** - *

            The maximum capacity units that a global table or global secondary index should be scaled up to.

            - */ - MaximumUnits?: number; - /** *

            The minimum capacity units that a global table or global secondary index should be scaled down to.

            */ @@ -238,6 +228,16 @@ export interface AutoScalingSettingsDescription { *

            Role ARN used for configuring the auto scaling policy.

            */ AutoScalingRoleArn?: string; + + /** + *

            Information about the scaling policies.

            + */ + ScalingPolicies?: AutoScalingPolicyDescription[]; + + /** + *

            The maximum capacity units that a global table or global secondary index should be scaled up to.

            + */ + MaximumUnits?: number; } export namespace AutoScalingSettingsDescription { @@ -251,11 +251,6 @@ export namespace AutoScalingSettingsDescription { * secondary index.

            */ export interface AutoScalingSettingsUpdate { - /** - *

            Disabled auto scaling for this global table or global secondary index.

            - */ - AutoScalingDisabled?: boolean; - /** *

            The minimum capacity units that a global table or global secondary index should be scaled down to.

            */ @@ -266,15 +261,20 @@ export interface AutoScalingSettingsUpdate { */ ScalingPolicyUpdate?: AutoScalingPolicyUpdate; + /** + *

            Role ARN used for configuring auto scaling policy.

            + */ + AutoScalingRoleArn?: string; + /** *

            The maximum capacity units that a global table or global secondary index should be scaled up to.

            */ MaximumUnits?: number; /** - *

            Role ARN used for configuring auto scaling policy.

            + *

            Disabled auto scaling for this global table or global secondary index.

            */ - AutoScalingRoleArn?: string; + AutoScalingDisabled?: boolean; } export namespace AutoScalingSettingsUpdate { @@ -295,16 +295,6 @@ export enum BackupType { *

            Contains the details of the backup created for the table.

            */ export interface BackupDetails { - /** - *

            Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

            - */ - BackupStatus: BackupStatus | string | undefined; - - /** - *

            Time at which the backup was created. This is the request time of the backup.

            - */ - BackupCreationDateTime: Date | undefined; - /** *

            Time at which the automatic on-demand backup created by DynamoDB will expire. This SYSTEM * on-demand backup expires automatically 35 days after its creation.

            @@ -333,11 +323,21 @@ export interface BackupDetails { */ BackupType: BackupType | string | undefined; + /** + *

            Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

            + */ + BackupStatus: BackupStatus | string | undefined; + /** *

            Name of the requested backup.

            */ BackupName: string | undefined; + /** + *

            Time at which the backup was created. This is the request time of the backup.

            + */ + BackupCreationDateTime: Date | undefined; + /** *

            ARN associated with the backup.

            */ @@ -407,7 +407,7 @@ export namespace KeySchemaElement { /** *

            Represents the provisioned throughput settings for a specified table or index. The settings * can be modified using the UpdateTable operation.

            - *

            For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

            + *

            For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

            */ export interface ProvisionedThroughput { /** @@ -438,9 +438,9 @@ export namespace ProvisionedThroughput { */ export interface SourceTableDetails { /** - *

            Read IOPs and Write IOPS on the table when the backup was created.

            + *

            The name of the table for which the backup was created.

            */ - ProvisionedThroughput: ProvisionedThroughput | undefined; + TableName: string | undefined; /** *

            Unique identifier for the table for which the backup was created.

            @@ -448,24 +448,19 @@ export interface SourceTableDetails { TableId: string | undefined; /** - *

            The name of the table for which the backup was created.

            - */ - TableName: string | undefined; - - /** - *

            Number of items in the table. Note that this is an approximate value.

            + *

            Time when the source table was created.

            */ - ItemCount?: number; + TableCreationDateTime: Date | undefined; /** - *

            Size of the table in bytes. Note that this is an approximate value.

            + *

            Schema of the table.

            */ - TableSizeBytes?: number; + KeySchema: KeySchemaElement[] | undefined; /** - *

            Time when the source table was created.

            + *

            Number of items in the table. Note that this is an approximate value.

            */ - TableCreationDateTime: Date | undefined; + ItemCount?: number; /** *

            ARN of the table for which backup was created.

            @@ -473,9 +468,9 @@ export interface SourceTableDetails { TableArn?: string; /** - *

            Schema of the table.

            + *

            Read IOPs and Write IOPS on the table when the backup was created.

            */ - KeySchema: KeySchemaElement[] | undefined; + ProvisionedThroughput: ProvisionedThroughput | undefined; /** *

            Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

            @@ -492,6 +487,11 @@ export interface SourceTableDetails { * */ BillingMode?: BillingMode | string; + + /** + *

            Size of the table in bytes. Note that this is an approximate value.

            + */ + TableSizeBytes?: number; } export namespace SourceTableDetails { @@ -516,8 +516,7 @@ export interface Projection { * *
          • *

            - * INCLUDE - Only the specified table attributes are projected into the - * index. The list of projected attributes is in NonKeyAttributes.

            + * INCLUDE - In addition to the attributes described in KEYS_ONLY, the secondary index will include other non-key attributes that you specify.

            *
          • *
          • *

            @@ -575,11 +574,6 @@ export interface GlobalSecondaryIndexInfo { */ KeySchema?: KeySchemaElement[]; - /** - *

            Represents the provisioned throughput settings for the specified global secondary index.

            - */ - ProvisionedThroughput?: ProvisionedThroughput; - /** *

            Represents attributes that are copied (projected) from the table into * the global secondary index. These are in addition to the primary @@ -587,6 +581,11 @@ export interface GlobalSecondaryIndexInfo { * projected.

            */ Projection?: Projection; + + /** + *

            Represents the provisioned throughput settings for the specified global secondary index.

            + */ + ProvisionedThroughput?: ProvisionedThroughput; } export namespace GlobalSecondaryIndexInfo { @@ -600,11 +599,6 @@ export namespace GlobalSecondaryIndexInfo { * when the backup was created.

            */ export interface LocalSecondaryIndexInfo { - /** - *

            Represents the name of the local secondary index.

            - */ - IndexName?: string; - /** *

            The complete key schema for a local secondary index, which consists of one or more pairs of attribute names and key types:

            *
              @@ -628,6 +622,11 @@ export interface LocalSecondaryIndexInfo { */ KeySchema?: KeySchemaElement[]; + /** + *

              Represents the name of the local secondary index.

              + */ + IndexName?: string; + /** *

              Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

              */ @@ -657,6 +656,11 @@ export interface SSEDescription { */ InaccessibleEncryptionDateTime?: Date; + /** + *

              The AWS KMS customer master key (CMK) ARN used for the AWS KMS encryption.

              + */ + KMSMasterKeyArn?: string; + /** *

              Represents the current state of server-side encryption. The only supported values are:

              *
                @@ -672,11 +676,6 @@ export interface SSEDescription { */ Status?: SSEStatus | string; - /** - *

                The AWS KMS customer master key (CMK) ARN used for the AWS KMS encryption.

                - */ - KMSMasterKeyArn?: string; - /** *

                Server-side encryption type. The only supported value is:

                *
                  @@ -703,6 +702,11 @@ export type StreamViewType = "KEYS_ONLY" | "NEW_AND_OLD_IMAGES" | "NEW_IMAGE" | *

                  Represents the DynamoDB Streams configuration for a table in DynamoDB.

                  */ export interface StreamSpecification { + /** + *

                  Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.

                  + */ + StreamEnabled: boolean | undefined; + /** *

                  * When an item in the table is modified, StreamViewType @@ -731,11 +735,6 @@ export interface StreamSpecification { *

                */ StreamViewType?: StreamViewType | string; - - /** - *

                Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.

                - */ - StreamEnabled: boolean | undefined; } export namespace StreamSpecification { @@ -772,14 +771,14 @@ export namespace TimeToLiveDescription { */ export interface SourceTableFeatureDetails { /** - *

                Represents the LSI properties for the table when the backup was created. It includes the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup.

                + *

                Time to Live settings on the table when the backup was created.

                */ - LocalSecondaryIndexes?: LocalSecondaryIndexInfo[]; + TimeToLiveDescription?: TimeToLiveDescription; /** - *

                Time to Live settings on the table when the backup was created.

                + *

                Represents the LSI properties for the table when the backup was created. It includes the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup.

                */ - TimeToLiveDescription?: TimeToLiveDescription; + LocalSecondaryIndexes?: LocalSecondaryIndexInfo[]; /** *

                The description of the server-side encryption status on the table when the backup was created.

                @@ -809,6 +808,11 @@ export namespace SourceTableFeatureDetails { *

                Contains the description of the backup created for the table.

                */ export interface BackupDescription { + /** + *

                Contains the details of the backup created for the table.

                + */ + BackupDetails?: BackupDetails; + /** *

                Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.

                */ @@ -818,11 +822,6 @@ export interface BackupDescription { *

                Contains the details of the table when the backup was created.

                */ SourceTableDetails?: SourceTableDetails; - - /** - *

                Contains the details of the backup created for the table.

                - */ - BackupDetails?: BackupDetails; } export namespace BackupDescription { @@ -865,6 +864,11 @@ export namespace BackupNotFoundException { *

                Contains details for the backup.

                */ export interface BackupSummary { + /** + *

                ARN associated with the backup.

                + */ + BackupArn?: string; + /** *

                Name of the specified backup.

                */ @@ -877,11 +881,6 @@ export interface BackupSummary { */ BackupExpiryDateTime?: Date; - /** - *

                ARN associated with the backup.

                - */ - BackupArn?: string; - /** *

                Name of the table.

                */ @@ -892,11 +891,6 @@ export interface BackupSummary { */ TableId?: string; - /** - *

                ARN associated with the table.

                - */ - TableArn?: string; - /** *

                BackupType:

                *
                  @@ -920,19 +914,24 @@ export interface BackupSummary { BackupType?: BackupType | string; /** - *

                  Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

                  + *

                  Time at which the backup was created.

                  */ - BackupStatus?: BackupStatus | string; + BackupCreationDateTime?: Date; /** - *

                  Time at which the backup was created.

                  + *

                  Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

                  */ - BackupCreationDateTime?: Date; + BackupStatus?: BackupStatus | string; /** *

                  Size of the backup in bytes.

                  */ BackupSizeBytes?: number; + + /** + *

                  ARN associated with the table.

                  + */ + TableArn?: string; } export namespace BackupSummary { @@ -954,6 +953,11 @@ export type ReturnConsumedCapacity = "INDEXES" | "NONE" | "TOTAL"; *

                  Represents the amount of provisioned throughput capacity consumed on a table or an index.

                  */ export interface Capacity { + /** + *

                  The total number of read capacity units consumed on a table or an index.

                  + */ + ReadCapacityUnits?: number; + /** *

                  The total number of capacity units consumed on a table or an index.

                  */ @@ -963,11 +967,6 @@ export interface Capacity { *

                  The total number of write capacity units consumed on a table or an index.

                  */ WriteCapacityUnits?: number; - - /** - *

                  The total number of read capacity units consumed on a table or an index.

                  - */ - ReadCapacityUnits?: number; } export namespace Capacity { @@ -984,25 +983,20 @@ export namespace Capacity { * Throughput in the Amazon DynamoDB Developer Guide.

                  */ export interface ConsumedCapacity { - /** - *

                  The amount of throughput consumed on the table affected by the operation.

                  - */ - Table?: Capacity; - /** *

                  The name of the table that was affected by the operation.

                  */ TableName?: string; /** - *

                  The amount of throughput consumed on each local index affected by the operation.

                  + *

                  The total number of capacity units consumed by the operation.

                  */ - LocalSecondaryIndexes?: { [key: string]: Capacity }; + CapacityUnits?: number; /** - *

                  The total number of capacity units consumed by the operation.

                  + *

                  The amount of throughput consumed on each local index affected by the operation.

                  */ - CapacityUnits?: number; + LocalSecondaryIndexes?: { [key: string]: Capacity }; /** *

                  The amount of throughput consumed on each global index affected by the operation.

                  @@ -1018,6 +1012,11 @@ export interface ConsumedCapacity { *

                  The total number of write capacity units consumed by the operation.

                  */ WriteCapacityUnits?: number; + + /** + *

                  The amount of throughput consumed on the table affected by the operation.

                  + */ + Table?: Capacity; } export namespace ConsumedCapacity { @@ -1079,7 +1078,7 @@ export namespace ProvisionedThroughputExceededException { } /** - *

                  Throughput exceeds the current throughput limit for your account. Please contact AWS Support at AWS Support to request a limit increase.

                  + *

                  Throughput exceeds the current throughput quota for your account. Please contact AWS Support at AWS Support to request a quota increase.

                  */ export interface RequestLimitExceeded extends __SmithyException, $MetadataBearer { name: "RequestLimitExceeded"; @@ -1136,11 +1135,6 @@ export namespace ItemCollectionSizeLimitExceededException { *

                  Contains the details for the read/write capacity mode.

                  */ export interface BillingModeSummary { - /** - *

                  Represents the time when PAY_PER_REQUEST was last set as the read/write capacity mode.

                  - */ - LastUpdateToPayPerRequestDateTime?: Date; - /** *

                  Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

                  *
                    @@ -1156,6 +1150,11 @@ export interface BillingModeSummary { *
                  */ BillingMode?: BillingMode | string; + + /** + *

                  Represents the time when PAY_PER_REQUEST was last set as the read/write capacity mode.

                  + */ + LastUpdateToPayPerRequestDateTime?: Date; } export namespace BillingModeSummary { @@ -1215,6 +1214,13 @@ export interface PointInTimeRecoveryDescription { */ EarliestRestorableDateTime?: Date; + /** + *

                  + * LatestRestorableDateTime is typically 5 minutes before the current time. + *

                  + */ + LatestRestorableDateTime?: Date; + /** *

                  The current state of point in time recovery:

                  *
                    @@ -1233,14 +1239,7 @@ export interface PointInTimeRecoveryDescription { *
                  */ PointInTimeRecoveryStatus?: PointInTimeRecoveryStatus | string; - - /** - *

                  - * LatestRestorableDateTime is typically 5 minutes before the current time. - *

                  - */ - LatestRestorableDateTime?: Date; -} +} export namespace PointInTimeRecoveryDescription { export const filterSensitiveLog = (obj: PointInTimeRecoveryDescription): any => ({ @@ -1252,17 +1251,17 @@ export namespace PointInTimeRecoveryDescription { *

                  Represents the continuous backups and point in time recovery settings on the table.

                  */ export interface ContinuousBackupsDescription { + /** + *

                  The description of the point in time recovery settings applied to the table.

                  + */ + PointInTimeRecoveryDescription?: PointInTimeRecoveryDescription; + /** *

                  * ContinuousBackupsStatus can be one of the following states: ENABLED, * DISABLED

                  */ ContinuousBackupsStatus: ContinuousBackupsStatus | string | undefined; - - /** - *

                  The description of the point in time recovery settings applied to the table.

                  - */ - PointInTimeRecoveryDescription?: PointInTimeRecoveryDescription; } export namespace ContinuousBackupsDescription { @@ -1294,6 +1293,11 @@ export type ContributorInsightsStatus = "DISABLED" | "DISABLING" | "ENABLED" | " *

                  Represents a Contributor Insights summary entry..

                  */ export interface ContributorInsightsSummary { + /** + *

                  Name of the table associated with the summary.

                  + */ + TableName?: string; + /** *

                  Name of the index associated with the summary, if any.

                  */ @@ -1303,11 +1307,6 @@ export interface ContributorInsightsSummary { *

                  Describes the current status for contributor insights for the given table and index, if applicable.

                  */ ContributorInsightsStatus?: ContributorInsightsStatus | string; - - /** - *

                  Name of the table associated with the summary.

                  - */ - TableName?: string; } export namespace ContributorInsightsSummary { @@ -1356,7 +1355,7 @@ export namespace CreateBackupOutput { *

                  The only exception is when you are creating a table with one or more secondary indexes. You can have up to * 25 such requests running at a time; however, if the table or index specifications are complex, DynamoDB might temporarily * reduce the number of concurrent operations.

                  - *

                  There is a soft account limit of 256 tables.

                  + *

                  There is a soft account quota of 256 tables.

                  */ export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; @@ -1407,6 +1406,12 @@ export namespace TableNotFoundException { *

                  Represents a new global secondary index to be added to an existing table.

                  */ export interface CreateGlobalSecondaryIndexAction { + /** + *

                  Represents the provisioned throughput settings for the specified global secondary index.

                  + *

                  For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

                  + */ + ProvisionedThroughput?: ProvisionedThroughput; + /** *

                  Represents attributes that are copied (projected) from the table into an index. These * are in addition to the primary key attributes and index key attributes, which are @@ -1414,21 +1419,15 @@ export interface CreateGlobalSecondaryIndexAction { */ Projection: Projection | undefined; - /** - *

                  The name of the global secondary index to be created.

                  - */ - IndexName: string | undefined; - /** *

                  The key schema for the global secondary index.

                  */ KeySchema: KeySchemaElement[] | undefined; /** - *

                  Represents the provisioned throughput settings for the specified global secondary index.

                  - *

                  For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

                  + *

                  The name of the global secondary index to be created.

                  */ - ProvisionedThroughput?: ProvisionedThroughput; + IndexName: string | undefined; } export namespace CreateGlobalSecondaryIndexAction { @@ -1496,14 +1495,14 @@ export namespace ProvisionedThroughputOverride { */ export interface ReplicaGlobalSecondaryIndexDescription { /** - *

                  If not described, uses the source table GSI's read capacity settings.

                  + *

                  The name of the global secondary index.

                  */ - ProvisionedThroughputOverride?: ProvisionedThroughputOverride; + IndexName?: string; /** - *

                  The name of the global secondary index.

                  + *

                  If not described, uses the source table GSI's read capacity settings.

                  */ - IndexName?: string; + ProvisionedThroughputOverride?: ProvisionedThroughputOverride; } export namespace ReplicaGlobalSecondaryIndexDescription { @@ -1512,17 +1511,12 @@ export namespace ReplicaGlobalSecondaryIndexDescription { }); } -export type ReplicaStatus = "ACTIVE" | "CREATING" | "CREATION_FAILED" | "DELETING" | "UPDATING"; +export type ReplicaStatus = "ACTIVE" | "CREATING" | "CREATION_FAILED" | "DELETING" | "REGION_DISABLED" | "UPDATING"; /** *

                  Contains the details of the replica.

                  */ export interface ReplicaDescription { - /** - *

                  The name of the Region.

                  - */ - RegionName?: string; - /** *

                  Replica-specific global secondary index settings.

                  */ @@ -1534,6 +1528,27 @@ export interface ReplicaDescription { */ ProvisionedThroughputOverride?: ProvisionedThroughputOverride; + /** + *

                  The AWS KMS customer master key (CMK) of the replica that will be used for AWS KMS + * encryption.

                  + */ + KMSMasterKeyId?: string; + + /** + *

                  The time at which the replica was first detected as inaccessible. To determine cause of inaccessibility check the ReplicaStatus property.

                  + */ + ReplicaInaccessibleDateTime?: Date; + + /** + *

                  The name of the Region.

                  + */ + RegionName?: string; + + /** + *

                  Detailed information about the replica status.

                  + */ + ReplicaStatusDescription?: string; + /** *

                  The current state of the replica:

                  *
                    @@ -1553,6 +1568,13 @@ export interface ReplicaDescription { *

                    * ACTIVE - The replica is ready for use.

                    * + *
                  • + *

                    + * REGION_DISABLED - The replica is inaccessible because the AWS Region has been disabled.

                    + * + *

                    If the AWS Region remains inaccessible for more than 20 hours, DynamoDB will remove this replica from the replication group. The replica will not be deleted and replication will stop from and to this region.

                    + *
                    + *
                  • *
                  */ ReplicaStatus?: ReplicaStatus | string; @@ -1562,17 +1584,6 @@ export interface ReplicaDescription { * as a percentage.

                  */ ReplicaStatusPercentProgress?: string; - - /** - *

                  The AWS KMS customer master key (CMK) of the replica that will be used for AWS KMS - * encryption.

                  - */ - KMSMasterKeyId?: string; - - /** - *

                  Detailed information about the replica status.

                  - */ - ReplicaStatusDescription?: string; } export namespace ReplicaDescription { @@ -1586,15 +1597,25 @@ export namespace ReplicaDescription { */ export interface GlobalTableDescription { /** - *

                  The creation time of the global table.

                  + *

                  The unique identifier of the global table.

                  */ - CreationDateTime?: Date; + GlobalTableArn?: string; /** *

                  The Regions where the global table has replicas.

                  */ ReplicationGroup?: ReplicaDescription[]; + /** + *

                  The global table name.

                  + */ + GlobalTableName?: string; + + /** + *

                  The creation time of the global table.

                  + */ + CreationDateTime?: Date; + /** *

                  The current state of the global table:

                  *
                    @@ -1617,16 +1638,6 @@ export interface GlobalTableDescription { *
                  */ GlobalTableStatus?: GlobalTableStatus | string; - - /** - *

                  The global table name.

                  - */ - GlobalTableName?: string; - - /** - *

                  The unique identifier of the global table.

                  - */ - GlobalTableArn?: string; } export namespace GlobalTableDescription { @@ -1710,11 +1721,6 @@ export interface CreateReplicationGroupMemberAction { */ RegionName: string | undefined; - /** - *

                  Replica-specific global secondary index settings.

                  - */ - GlobalSecondaryIndexes?: ReplicaGlobalSecondaryIndex[]; - /** *

                  The AWS KMS customer master key (CMK) that should be used for AWS KMS encryption * in the new replica. To specify a CMK, use its key ID, Amazon Resource Name (ARN), @@ -1723,6 +1729,11 @@ export interface CreateReplicationGroupMemberAction { */ KMSMasterKeyId?: string; + /** + *

                  Replica-specific global secondary index settings.

                  + */ + GlobalSecondaryIndexes?: ReplicaGlobalSecondaryIndex[]; + /** *

                  Replica-specific provisioned throughput. If not specified, uses the source table's * provisioned throughput settings.

                  @@ -1749,7 +1760,7 @@ export interface GlobalSecondaryIndex { /** *

                  Represents the provisioned throughput settings for the specified global secondary index.

                  - *

                  For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

                  + *

                  For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

                  */ ProvisionedThroughput?: ProvisionedThroughput; @@ -1793,11 +1804,9 @@ export namespace GlobalSecondaryIndex { */ export interface LocalSecondaryIndex { /** - *

                  Represents attributes that are copied (projected) from the table into the local - * secondary index. These are in addition to the primary key attributes and index key - * attributes, which are automatically projected.

                  + *

                  The name of the local secondary index. The name must be unique among all other indexes on this table.

                  */ - Projection: Projection | undefined; + IndexName: string | undefined; /** *

                  The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

                  @@ -1823,9 +1832,11 @@ export interface LocalSecondaryIndex { KeySchema: KeySchemaElement[] | undefined; /** - *

                  The name of the local secondary index. The name must be unique among all other indexes on this table.

                  + *

                  Represents attributes that are copied (projected) from the table into the local + * secondary index. These are in addition to the primary key attributes and index key + * attributes, which are automatically projected.

                  */ - IndexName: string | undefined; + Projection: Projection | undefined; } export namespace LocalSecondaryIndex { @@ -1908,50 +1919,20 @@ export namespace Tag { *

                  Represents the input of a CreateTable operation.

                  */ export interface CreateTableInput { + /** + *

                  The name of the table to create.

                  + */ + TableName: string | undefined; + /** *

                  Represents the settings used to enable server-side encryption.

                  */ SSESpecification?: SSESpecification; /** - *

                  The settings for DynamoDB Streams on the table. These settings consist of:

                  - *
                    - *
                  • - *

                    - * StreamEnabled - Indicates whether DynamoDB Streams is to be enabled - * (true) or disabled (false).

                    - *
                  • - *
                  • - *

                    - * StreamViewType - When an item in the table is modified, StreamViewType - * determines what information is written to the table's stream. Valid values for - * StreamViewType are:

                    - *
                      - *
                    • - *

                      - * KEYS_ONLY - Only the key attributes of the modified item are written to the - * stream.

                      - *
                    • - *
                    • - *

                      - * NEW_IMAGE - The entire item, as it appears after it was modified, is written - * to the stream.

                      - *
                    • - *
                    • - *

                      - * OLD_IMAGE - The entire item, as it appeared before it was modified, is - * written to the stream.

                      - *
                    • - *
                    • - *

                      - * NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are - * written to the stream.

                      - *
                    • - *
                    - *
                  • - *
                  + *

                  An array of attributes that describe the key schema for the table and indexes.

                  */ - StreamSpecification?: StreamSpecification; + AttributeDefinitions: AttributeDefinition[] | undefined; /** *

                  Specifies the attributes that make up the primary key for a table or an index. The attributes @@ -1999,11 +1980,6 @@ export interface CreateTableInput { */ KeySchema: KeySchemaElement[] | undefined; - /** - *

                  An array of attributes that describe the key schema for the table and indexes.

                  - */ - AttributeDefinitions: AttributeDefinition[] | undefined; - /** *

                  One or more global secondary indexes (the maximum is 20) to be created on the table. Each global secondary index in the array includes the following:

                  *
                    @@ -2063,6 +2039,58 @@ export interface CreateTableInput { */ GlobalSecondaryIndexes?: GlobalSecondaryIndex[]; + /** + *

                    The settings for DynamoDB Streams on the table. These settings consist of:

                    + *
                      + *
                    • + *

                      + * StreamEnabled - Indicates whether DynamoDB Streams is to be enabled + * (true) or disabled (false).

                      + *
                    • + *
                    • + *

                      + * StreamViewType - When an item in the table is modified, StreamViewType + * determines what information is written to the table's stream. Valid values for + * StreamViewType are:

                      + *
                        + *
                      • + *

                        + * KEYS_ONLY - Only the key attributes of the modified item are written to the + * stream.

                        + *
                      • + *
                      • + *

                        + * NEW_IMAGE - The entire item, as it appears after it was modified, is written + * to the stream.

                        + *
                      • + *
                      • + *

                        + * OLD_IMAGE - The entire item, as it appeared before it was modified, is + * written to the stream.

                        + *
                      • + *
                      • + *

                        + * NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are + * written to the stream.

                        + *
                      • + *
                      + *
                    • + *
                    + */ + StreamSpecification?: StreamSpecification; + + /** + *

                    Represents the provisioned throughput settings for a specified table or index. The + * settings can be modified using the UpdateTable operation.

                    + *

                    If you set BillingMode as PROVISIONED, you must specify this property. If you + * set BillingMode as PAY_PER_REQUEST, you cannot specify this + * property.

                    + *

                    For current minimum and maximum provisioned throughput values, see Service, + * Account, and Table Quotas in the Amazon DynamoDB Developer + * Guide.

                    + */ + ProvisionedThroughput?: ProvisionedThroughput; + /** *

                    Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

                    *
                      @@ -2139,27 +2167,10 @@ export interface CreateTableInput { */ LocalSecondaryIndexes?: LocalSecondaryIndex[]; - /** - *

                      Represents the provisioned throughput settings for a specified table or index. The settings - * can be modified using the UpdateTable operation.

                      - *

                      - * If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as - * PAY_PER_REQUEST, you cannot specify this property. - *

                      - *

                      For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer - * Guide.

                      - */ - ProvisionedThroughput?: ProvisionedThroughput; - /** *

                      A list of key-value pairs to label the table. For more information, see Tagging for DynamoDB.

                      */ Tags?: Tag[]; - - /** - *

                      The name of the table to create.

                      - */ - TableName: string | undefined; } export namespace CreateTableInput { @@ -2187,15 +2198,10 @@ export interface ProvisionedThroughputDescription { /** *

                      The number of provisioned throughput decreases for this table during this UTC calendar day. - * For current maximums on provisioned throughput decreases, see Limits in the Amazon DynamoDB Developer Guide.

                      + * For current maximums on provisioned throughput decreases, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

                      */ NumberOfDecreasesToday?: number; - /** - *

                      The date and time of the last provisioned throughput decrease for this table.

                      - */ - LastDecreaseDateTime?: Date; - /** *

                      The maximum number of strongly consistent reads consumed per second before DynamoDB returns a * ThrottlingException. Eventually consistent reads require less effort than strongly @@ -2203,6 +2209,11 @@ export interface ProvisionedThroughputDescription { * eventually consistent ReadCapacityUnits per second.

                      */ ReadCapacityUnits?: number; + + /** + *

                      The date and time of the last provisioned throughput decrease for this table.

                      + */ + LastDecreaseDateTime?: Date; } export namespace ProvisionedThroughputDescription { @@ -2216,21 +2227,22 @@ export namespace ProvisionedThroughputDescription { */ export interface GlobalSecondaryIndexDescription { /** - *

                      Represents attributes that are copied (projected) from the table into the global - * secondary index. These are in addition to the primary key attributes and index key - * attributes, which are automatically projected.

                      + *

                      The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

                      */ - Projection?: Projection; + IndexSizeBytes?: number; /** - *

                      The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

                      + *

                      Represents the provisioned throughput settings for the specified global secondary index.

                      + *

                      For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

                      */ - ItemCount?: number; + ProvisionedThroughput?: ProvisionedThroughputDescription; /** - *

                      The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

                      + *

                      Represents attributes that are copied (projected) from the table into the global + * secondary index. These are in addition to the primary key attributes and index key + * attributes, which are automatically projected.

                      */ - IndexSizeBytes?: number; + Projection?: Projection; /** *

                      The Amazon Resource Name (ARN) that uniquely identifies the index.

                      @@ -2260,11 +2272,6 @@ export interface GlobalSecondaryIndexDescription { */ KeySchema?: KeySchemaElement[]; - /** - *

                      The name of the global secondary index.

                      - */ - IndexName?: string; - /** *

                      The current state of the global secondary index:

                      *
                        @@ -2289,10 +2296,9 @@ export interface GlobalSecondaryIndexDescription { IndexStatus?: IndexStatus | string; /** - *

                        Represents the provisioned throughput settings for the specified global secondary index.

                        - *

                        For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

                        + *

                        The name of the global secondary index.

                        */ - ProvisionedThroughput?: ProvisionedThroughputDescription; + IndexName?: string; /** *

                        Indicates whether the index is currently backfilling. Backfilling is the process of reading items from @@ -2308,6 +2314,11 @@ export interface GlobalSecondaryIndexDescription { * */ Backfilling?: boolean; + + /** + *

                        The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

                        + */ + ItemCount?: number; } export namespace GlobalSecondaryIndexDescription { @@ -2320,22 +2331,15 @@ export namespace GlobalSecondaryIndexDescription { *

                        Represents the properties of a local secondary index.

                        */ export interface LocalSecondaryIndexDescription { - /** - *

                        The Amazon Resource Name (ARN) that uniquely identifies the index.

                        - */ - IndexArn?: string; - /** *

                        Represents the name of the local secondary index.

                        */ IndexName?: string; /** - *

                        Represents attributes that are copied (projected) from the table into the global - * secondary index. These are in addition to the primary key attributes and index key - * attributes, which are automatically projected.

                        + *

                        The Amazon Resource Name (ARN) that uniquely identifies the index.

                        */ - Projection?: Projection; + IndexArn?: string; /** *

                        The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

                        @@ -2343,9 +2347,11 @@ export interface LocalSecondaryIndexDescription { IndexSizeBytes?: number; /** - *

                        The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

                        + *

                        Represents attributes that are copied (projected) from the table into the global + * secondary index. These are in addition to the primary key attributes and index key + * attributes, which are automatically projected.

                        */ - ItemCount?: number; + Projection?: Projection; /** *

                        The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

                        @@ -2369,6 +2375,11 @@ export interface LocalSecondaryIndexDescription { * */ KeySchema?: KeySchemaElement[]; + + /** + *

                        The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

                        + */ + ItemCount?: number; } export namespace LocalSecondaryIndexDescription { @@ -2382,14 +2393,14 @@ export namespace LocalSecondaryIndexDescription { */ export interface RestoreSummary { /** - *

                        The Amazon Resource Name (ARN) of the backup from which the table was restored.

                        + *

                        The ARN of the source table of the backup that is being restored.

                        */ - SourceBackupArn?: string; + SourceTableArn?: string; /** - *

                        The ARN of the source table of the backup that is being restored.

                        + *

                        Indicates if a restore is in progress or not.

                        */ - SourceTableArn?: string; + RestoreInProgress: boolean | undefined; /** *

                        Point in time or source backup time.

                        @@ -2397,9 +2408,9 @@ export interface RestoreSummary { RestoreDateTime: Date | undefined; /** - *

                        Indicates if a restore is in progress or not.

                        + *

                        The Amazon Resource Name (ARN) of the backup from which the table was restored.

                        */ - RestoreInProgress: boolean | undefined; + SourceBackupArn?: string; } export namespace RestoreSummary { @@ -2422,24 +2433,24 @@ export type TableStatus = */ export interface TableDescription { /** - *

                        The description of the server-side encryption status on the specified table.

                        + *

                        Contains the details for the read/write capacity mode.

                        */ - SSEDescription?: SSEDescription; + BillingModeSummary?: BillingModeSummary; /** - *

                        Contains information about the table archive.

                        + *

                        The Amazon Resource Name (ARN) that uniquely identifies the table.

                        */ - ArchivalSummary?: ArchivalSummary; + TableArn?: string; /** - *

                        Contains the details for the read/write capacity mode.

                        + *

                        The description of the server-side encryption status on the specified table.

                        */ - BillingModeSummary?: BillingModeSummary; + SSEDescription?: SSEDescription; /** - *

                        The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.

                        + *

                        Contains information about the table archive.

                        */ - LatestStreamArn?: string; + ArchivalSummary?: ArchivalSummary; /** *

                        The global secondary indexes, if any, on the table. Each index is scoped to a given partition key value. Each element is composed of:

                        @@ -2522,9 +2533,7 @@ export interface TableDescription { * *
                      • *

                        - * INCLUDE - Only the specified table attributes are projected - * into the index. The list of projected attributes is in - * NonKeyAttributes.

                        + * INCLUDE - In addition to the attributes described in KEYS_ONLY, the secondary index will include other non-key attributes that you specify.

                        *
                      • *
                      • *

                        @@ -2553,31 +2562,14 @@ export interface TableDescription { GlobalSecondaryIndexes?: GlobalSecondaryIndexDescription[]; /** - *

                        An array of AttributeDefinition objects. Each of these objects describes one attribute - * in the table and index key schema.

                        - *

                        Each AttributeDefinition object in this array is composed of:

                        - *
                          - *
                        • - *

                          - * AttributeName - The name of the attribute.

                          - *
                        • - *
                        • - *

                          - * AttributeType - The data type for the attribute.

                          - *
                        • - *
                        - */ - AttributeDefinitions?: AttributeDefinition[]; - - /** - *

                        The Amazon Resource Name (ARN) that uniquely identifies the table.

                        + *

                        Represents the version of global tables in use, if the table is replicated across AWS Regions.

                        */ - TableArn?: string; + GlobalTableVersion?: string; /** - *

                        Represents the version of global tables in use, if the table is replicated across AWS Regions.

                        + *

                        Unique identifier for the table for which the backup was created.

                        */ - GlobalTableVersion?: string; + TableId?: string; /** *

                        The provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.

                        @@ -2585,14 +2577,45 @@ export interface TableDescription { ProvisionedThroughput?: ProvisionedThroughputDescription; /** - *

                        Represents replicas of the table.

                        + *

                        The primary key structure for the table. Each KeySchemaElement consists of:

                        + *
                          + *
                        • + *

                          + * AttributeName - The name of the attribute.

                          + *
                        • + *
                        • + *

                          + * KeyType - The role of the attribute:

                          + *
                            + *
                          • + *

                            + * HASH - partition key

                            + *
                          • + *
                          • + *

                            + * RANGE - sort key

                            + *
                          • + *
                          + * + *

                          The partition key of an item is also known as its hash attribute. The + * term "hash attribute" derives from DynamoDB's usage of an internal hash function to + * evenly distribute data items across partitions, based on their partition key values.

                          + *

                          The sort key of an item is also known as its range attribute. + * The term "range attribute" derives from the way DynamoDB stores items with the same + * partition key physically close together, in sorted order by the sort key value.

                          + *
                          + * + *
                        • + *
                        + *

                        For more information about primary keys, see Primary Key in the + * Amazon DynamoDB Developer Guide.

                        */ - Replicas?: ReplicaDescription[]; + KeySchema?: KeySchemaElement[]; /** - *

                        Unique identifier for the table for which the backup was created.

                        + *

                        Represents replicas of the table.

                        */ - TableId?: string; + Replicas?: ReplicaDescription[]; /** *

                        The total size of the specified table, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

                        @@ -2649,7 +2672,14 @@ export interface TableDescription { StreamSpecification?: StreamSpecification; /** - *

                        The primary key structure for the table. Each KeySchemaElement consists of:

                        + *

                        Contains details for the restore.

                        + */ + RestoreSummary?: RestoreSummary; + + /** + *

                        An array of AttributeDefinition objects. Each of these objects describes one attribute + * in the table and index key schema.

                        + *

                        Each AttributeDefinition object in this array is composed of:

                        *
                          *
                        • *

                          @@ -2657,37 +2687,36 @@ export interface TableDescription { *

                        • *
                        • *

                          - * KeyType - The role of the attribute:

                          - *
                            - *
                          • - *

                            - * HASH - partition key

                            - *
                          • - *
                          • - *

                            - * RANGE - sort key

                            - *
                          • - *
                          - * - *

                          The partition key of an item is also known as its hash attribute. The - * term "hash attribute" derives from DynamoDB's usage of an internal hash function to - * evenly distribute data items across partitions, based on their partition key values.

                          - *

                          The sort key of an item is also known as its range attribute. - * The term "range attribute" derives from the way DynamoDB stores items with the same - * partition key physically close together, in sorted order by the sort key value.

                          - *
                          + * AttributeType - The data type for the attribute.

                          + *
                        • + *
                        + */ + AttributeDefinitions?: AttributeDefinition[]; + + /** + *

                        A timestamp, in ISO 8601 format, for this stream.

                        * + *

                        Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

                        + *
                          + *
                        • + *

                          AWS customer ID

                          + *
                        • + *
                        • + *

                          Table name

                          + *
                        • + *
                        • + *

                          + * StreamLabel + *

                          *
                        • *
                        - *

                        For more information about primary keys, see Primary Key in the - * Amazon DynamoDB Developer Guide.

                        */ - KeySchema?: KeySchemaElement[]; + LatestStreamLabel?: string; /** - *

                        Contains details for the restore.

                        + *

                        The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.

                        */ - RestoreSummary?: RestoreSummary; + LatestStreamArn?: string; /** *

                        Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:

                        @@ -2757,26 +2786,6 @@ export interface TableDescription { */ LocalSecondaryIndexes?: LocalSecondaryIndexDescription[]; - /** - *

                        A timestamp, in ISO 8601 format, for this stream.

                        - * - *

                        Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

                        - *
                          - *
                        • - *

                          AWS customer ID

                          - *
                        • - *
                        • - *

                          Table name

                          - *
                        • - *
                        • - *

                          - * StreamLabel - *

                          - *
                        • - *
                        - */ - LatestStreamLabel?: string; - /** *

                        The date and time when the table was created, in UNIX epoch time format.

                        */ @@ -3050,6 +3059,16 @@ export namespace FailureException { } export interface DescribeContributorInsightsOutput { + /** + *

                        The name of the table being described.

                        + */ + TableName?: string; + + /** + *

                        The name of the global secondary index being described.

                        + */ + IndexName?: string; + /** *

                        Returns information about the last failure that encountered.

                        *

                        The most common exceptions for a FAILED status are:

                        @@ -3076,11 +3095,6 @@ export interface DescribeContributorInsightsOutput { */ ContributorInsightsRuleList?: string[]; - /** - *

                        The name of the table being described.

                        - */ - TableName?: string; - /** *

                        Current Status contributor insights.

                        */ @@ -3090,11 +3104,6 @@ export interface DescribeContributorInsightsOutput { *

                        Timestamp of the last time the status was changed.

                        */ LastUpdateDateTime?: Date; - - /** - *

                        The name of the global secondary index being described.

                        - */ - IndexName?: string; } export namespace DescribeContributorInsightsOutput { @@ -3203,12 +3212,27 @@ export namespace DescribeGlobalTableSettingsInput { *

                        Represents the properties of a global secondary index.

                        */ export interface ReplicaGlobalSecondaryIndexSettingsDescription { + /** + *

                        The name of the global secondary index. The name must be unique among all other indexes on this table.

                        + */ + IndexName: string | undefined; + + /** + *

                        The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

                        + */ + ProvisionedReadCapacityUnits?: number; + /** *

                        Auto scaling settings for a global secondary index replica's write capacity * units.

                        */ ProvisionedWriteCapacityAutoScalingSettings?: AutoScalingSettingsDescription; + /** + *

                        The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

                        + */ + ProvisionedWriteCapacityUnits?: number; + /** *

                        * The current status of the global secondary index:

                        @@ -3234,25 +3258,10 @@ export interface ReplicaGlobalSecondaryIndexSettingsDescription { IndexStatus?: IndexStatus | string; /** - *

                        The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

                        + *

                        Auto scaling settings for a global secondary index replica's read capacity units.

                        */ - ProvisionedWriteCapacityUnits?: number; - - /** - *

                        The name of the global secondary index. The name must be unique among all other indexes on this table.

                        - */ - IndexName: string | undefined; - - /** - *

                        Auto scaling settings for a global secondary index replica's read capacity units.

                        - */ - ProvisionedReadCapacityAutoScalingSettings?: AutoScalingSettingsDescription; - - /** - *

                        The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

                        - */ - ProvisionedReadCapacityUnits?: number; -} + ProvisionedReadCapacityAutoScalingSettings?: AutoScalingSettingsDescription; +} export namespace ReplicaGlobalSecondaryIndexSettingsDescription { export const filterSensitiveLog = (obj: ReplicaGlobalSecondaryIndexSettingsDescription): any => ({ @@ -3264,11 +3273,6 @@ export namespace ReplicaGlobalSecondaryIndexSettingsDescription { *

                        Represents the properties of a replica.

                        */ export interface ReplicaSettingsDescription { - /** - *

                        Auto scaling settings for a global table replica's write capacity units.

                        - */ - ReplicaProvisionedWriteCapacityAutoScalingSettings?: AutoScalingSettingsDescription; - /** *

                        The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. * For more information, see Specifying Read and Write @@ -3282,6 +3286,11 @@ export interface ReplicaSettingsDescription { */ ReplicaProvisionedReadCapacityAutoScalingSettings?: AutoScalingSettingsDescription; + /** + *

                        The Region name of the replica.

                        + */ + RegionName: string | undefined; + /** *

                        The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. * For more information, see Specifying Read and Write @@ -3289,11 +3298,6 @@ export interface ReplicaSettingsDescription { */ ReplicaProvisionedWriteCapacityUnits?: number; - /** - *

                        The Region name of the replica.

                        - */ - RegionName: string | undefined; - /** *

                        The current state of the Region:

                        *
                          @@ -3326,6 +3330,11 @@ export interface ReplicaSettingsDescription { *

                          Replica global secondary index settings for the global table.

                          */ ReplicaGlobalSecondaryIndexSettings?: ReplicaGlobalSecondaryIndexSettingsDescription[]; + + /** + *

                          Auto scaling settings for a global table replica's write capacity units.

                          + */ + ReplicaProvisionedWriteCapacityAutoScalingSettings?: AutoScalingSettingsDescription; } export namespace ReplicaSettingsDescription { @@ -3367,12 +3376,6 @@ export namespace DescribeLimitsInput { *

                          Represents the output of a DescribeLimits operation.

                          */ export interface DescribeLimitsOutput { - /** - *

                          The maximum total write capacity units that your account allows you to provision across - * all of your tables in this Region.

                          - */ - AccountMaxWriteCapacityUnits?: number; - /** *

                          The maximum write capacity units that your account allows you to provision for a new * table that you are creating in this Region, including the write capacity units @@ -3380,6 +3383,12 @@ export interface DescribeLimitsOutput { */ TableMaxWriteCapacityUnits?: number; + /** + *

                          The maximum total write capacity units that your account allows you to provision across + * all of your tables in this Region.

                          + */ + AccountMaxWriteCapacityUnits?: number; + /** *

                          The maximum read capacity units that your account allows you to provision for a new * table that you are creating in this Region, including the read capacity units @@ -3505,6 +3514,11 @@ export interface ReplicaAutoScalingDescription { */ RegionName?: string; + /** + *

                          Replica-specific global secondary index auto scaling settings.

                          + */ + GlobalSecondaryIndexes?: ReplicaGlobalSecondaryIndexAutoScalingDescription[]; + /** *

                          Represents the auto scaling settings for a global table or global secondary * index.

                          @@ -3539,11 +3553,6 @@ export interface ReplicaAutoScalingDescription { *
                        */ ReplicaStatus?: ReplicaStatus | string; - - /** - *

                        Replica-specific global secondary index auto scaling settings.

                        - */ - GlobalSecondaryIndexes?: ReplicaGlobalSecondaryIndexAutoScalingDescription[]; } export namespace ReplicaAutoScalingDescription { @@ -3580,14 +3589,14 @@ export interface TableAutoScalingDescription { TableStatus?: TableStatus | string; /** - *

                        The name of the table.

                        + *

                        Represents replicas of the global table.

                        */ - TableName?: string; + Replicas?: ReplicaAutoScalingDescription[]; /** - *

                        Represents replicas of the global table.

                        + *

                        The name of the table.

                        */ - Replicas?: ReplicaAutoScalingDescription[]; + TableName?: string; } export namespace TableAutoScalingDescription { @@ -3658,9 +3667,9 @@ export interface ListBackupsInput { BackupType?: BackupTypeFilter | string; /** - *

                        Only backups created before this time are listed. TimeRangeUpperBound is exclusive.

                        + *

                        Only backups created after this time are listed. TimeRangeLowerBound is inclusive.

                        */ - TimeRangeUpperBound?: Date; + TimeRangeLowerBound?: Date; /** *

                        @@ -3672,14 +3681,14 @@ export interface ListBackupsInput { ExclusiveStartBackupArn?: string; /** - *

                        Only backups created after this time are listed. TimeRangeLowerBound is inclusive.

                        + *

                        The backups from the table specified by TableName are listed.

                        */ - TimeRangeLowerBound?: Date; + TableName?: string; /** - *

                        The backups from the table specified by TableName are listed.

                        + *

                        Only backups created before this time are listed. TimeRangeUpperBound is exclusive.

                        */ - TableName?: string; + TimeRangeUpperBound?: Date; /** *

                        Maximum number of backups to return at once.

                        @@ -3694,11 +3703,6 @@ export namespace ListBackupsInput { } export interface ListBackupsOutput { - /** - *

                        List of BackupSummary objects.

                        - */ - BackupSummaries?: BackupSummary[]; - /** *

                        * The ARN of the backup last evaluated when the current page of results was returned, @@ -3714,6 +3718,11 @@ export interface ListBackupsOutput { * and only if no value for LastEvaluatedBackupArn is returned.

                        */ LastEvaluatedBackupArn?: string; + + /** + *

                        List of BackupSummary objects.

                        + */ + BackupSummaries?: BackupSummary[]; } export namespace ListBackupsOutput { @@ -3729,14 +3738,14 @@ export interface ListContributorInsightsInput { TableName?: string; /** - *

                        Maximum number of results to return per page.

                        + *

                        A token to for the desired page, if there is one.

                        */ - MaxResults?: number; + NextToken?: string; /** - *

                        A token to for the desired page, if there is one.

                        + *

                        Maximum number of results to return per page.

                        */ - NextToken?: string; + MaxResults?: number; } export namespace ListContributorInsightsInput { @@ -3765,9 +3774,9 @@ export namespace ListContributorInsightsOutput { export interface ListGlobalTablesInput { /** - *

                        The first global table name that this operation will evaluate.

                        + *

                        Lists the global tables in a specific Region.

                        */ - ExclusiveStartGlobalTableName?: string; + RegionName?: string; /** *

                        The maximum number of table names to return, if the parameter is not specified DynamoDB defaults to 100.

                        @@ -3777,9 +3786,9 @@ export interface ListGlobalTablesInput { Limit?: number; /** - *

                        Lists the global tables in a specific Region.

                        + *

                        The first global table name that this operation will evaluate.

                        */ - RegionName?: string; + ExclusiveStartGlobalTableName?: string; } export namespace ListGlobalTablesInput { @@ -3793,14 +3802,14 @@ export namespace ListGlobalTablesInput { */ export interface GlobalTable { /** - *

                        The Regions where the global table has replicas.

                        + *

                        The global table name.

                        */ - ReplicationGroup?: Replica[]; + GlobalTableName?: string; /** - *

                        The global table name.

                        + *

                        The Regions where the global table has replicas.

                        */ - GlobalTableName?: string; + ReplicationGroup?: Replica[]; } export namespace GlobalTable { @@ -3854,14 +3863,6 @@ export namespace ListTablesInput { *

                        Represents the output of a ListTables operation.

                        */ export interface ListTablesOutput { - /** - *

                        The names of the tables associated with the current account at the current endpoint. The maximum size of this array is 100.

                        - *

                        If LastEvaluatedTableName also appears in the output, you can use this value as the - * ExclusiveStartTableName parameter in a subsequent ListTables request and - * obtain the next page of results.

                        - */ - TableNames?: string[]; - /** *

                        The name of the last table in the current page of results. Use this value as the * ExclusiveStartTableName in a new request to obtain the next page of results, until @@ -3870,6 +3871,14 @@ export interface ListTablesOutput { * there are no more table names to be retrieved.

                        */ LastEvaluatedTableName?: string; + + /** + *

                        The names of the tables associated with the current account at the current endpoint. The maximum size of this array is 100.

                        + *

                        If LastEvaluatedTableName also appears in the output, you can use this value as the + * ExclusiveStartTableName parameter in a subsequent ListTables request and + * obtain the next page of results.

                        + */ + TableNames?: string[]; } export namespace ListTablesOutput { @@ -3880,15 +3889,15 @@ export namespace ListTablesOutput { export interface ListTagsOfResourceInput { /** - *

                        An optional string that, if supplied, must be copied from the output of a previous - * call to ListTagOfResource. When provided in this manner, this API fetches the next page of results.

                        + *

                        The Amazon DynamoDB resource with tags to be listed. This value is an Amazon Resource Name (ARN).

                        */ - NextToken?: string; + ResourceArn: string | undefined; /** - *

                        The Amazon DynamoDB resource with tags to be listed. This value is an Amazon Resource Name (ARN).

                        + *

                        An optional string that, if supplied, must be copied from the output of a previous + * call to ListTagOfResource. When provided in this manner, this API fetches the next page of results.

                        */ - ResourceArn: string | undefined; + NextToken?: string; } export namespace ListTagsOfResourceInput { @@ -3926,6 +3935,13 @@ export interface RestoreTableFromBackupInput { */ GlobalSecondaryIndexOverride?: GlobalSecondaryIndex[]; + /** + *

                        List of local secondary indexes for the restored table. The indexes + * provided should match existing secondary indexes. You can choose to exclude + * some or all of the indexes at the time of restore.

                        + */ + LocalSecondaryIndexOverride?: LocalSecondaryIndex[]; + /** *

                        The new server-side encryption settings for the restored table.

                        */ @@ -3941,13 +3957,6 @@ export interface RestoreTableFromBackupInput { */ BackupArn: string | undefined; - /** - *

                        List of local secondary indexes for the restored table. The indexes - * provided should match existing secondary indexes. You can choose to exclude - * some or all of the indexes at the time of restore.

                        - */ - LocalSecondaryIndexOverride?: LocalSecondaryIndex[]; - /** *

                        The billing mode of the restored table.

                        */ @@ -4032,53 +4041,53 @@ export interface RestoreTableToPointInTimeInput { LocalSecondaryIndexOverride?: LocalSecondaryIndex[]; /** - *

                        The DynamoDB table that will be restored. This value is an Amazon - * Resource Name (ARN).

                        + *

                        The new server-side encryption settings for the restored table.

                        */ - SourceTableArn?: string; + SSESpecificationOverride?: SSESpecification; /** - *

                        Provisioned throughput settings for the restored table.

                        + *

                        Restore the table to the latest possible time. LatestRestorableDateTime + * is typically 5 minutes before the current time.

                        */ - ProvisionedThroughputOverride?: ProvisionedThroughput; + UseLatestRestorableTime?: boolean; /** - *

                        The new server-side encryption settings for the restored table.

                        + *

                        Provisioned throughput settings for the restored table.

                        */ - SSESpecificationOverride?: SSESpecification; + ProvisionedThroughputOverride?: ProvisionedThroughput; /** - *

                        The name of the new table to which it must be restored to.

                        + *

                        List of global secondary indexes for the restored table. The indexes + * provided should match existing secondary indexes. You can choose to exclude + * some or all of the indexes at the time of restore.

                        */ - TargetTableName: string | undefined; + GlobalSecondaryIndexOverride?: GlobalSecondaryIndex[]; /** - *

                        The billing mode of the restored table.

                        + *

                        Time in the past to restore the table to.

                        */ - BillingModeOverride?: BillingMode | string; + RestoreDateTime?: Date; /** - *

                        Name of the source table that is being restored.

                        + *

                        The DynamoDB table that will be restored. This value is an Amazon + * Resource Name (ARN).

                        */ - SourceTableName?: string; + SourceTableArn?: string; /** - *

                        Time in the past to restore the table to.

                        + *

                        The billing mode of the restored table.

                        */ - RestoreDateTime?: Date; + BillingModeOverride?: BillingMode | string; /** - *

                        List of global secondary indexes for the restored table. The indexes - * provided should match existing secondary indexes. You can choose to exclude - * some or all of the indexes at the time of restore.

                        + *

                        The name of the new table to which it must be restored to.

                        */ - GlobalSecondaryIndexOverride?: GlobalSecondaryIndex[]; + TargetTableName: string | undefined; /** - *

                        Restore the table to the latest possible time. LatestRestorableDateTime - * is typically 5 minutes before the current time.

                        + *

                        Name of the source table that is being restored.

                        */ - UseLatestRestorableTime?: boolean; + SourceTableName?: string; } export namespace RestoreTableToPointInTimeInput { @@ -4223,14 +4232,14 @@ export interface UpdateContributorInsightsInput { ContributorInsightsAction: ContributorInsightsAction | string | undefined; /** - *

                        The name of the table.

                        + *

                        The global secondary index name, if applicable.

                        */ - TableName: string | undefined; + IndexName?: string; /** - *

                        The global secondary index name, if applicable.

                        + *

                        The name of the table.

                        */ - IndexName?: string; + TableName: string | undefined; } export namespace UpdateContributorInsightsInput { @@ -4241,14 +4250,14 @@ export namespace UpdateContributorInsightsInput { export interface UpdateContributorInsightsOutput { /** - *

                        The status of contributor insights

                        + *

                        The name of the table.

                        */ - ContributorInsightsStatus?: ContributorInsightsStatus | string; + TableName?: string; /** - *

                        The name of the table.

                        + *

                        The status of contributor insights

                        */ - TableName?: string; + ContributorInsightsStatus?: ContributorInsightsStatus | string; /** *

                        The name of the global secondary index, if applicable.

                        @@ -4429,20 +4438,15 @@ export namespace ReplicaGlobalSecondaryIndexSettingsUpdate { *

                        Represents the settings for a global table in a Region that will be modified.

                        */ export interface ReplicaSettingsUpdate { - /** - *

                        Auto scaling settings for managing a global table replica's read capacity units.

                        - */ - ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate?: AutoScalingSettingsUpdate; - /** *

                        Represents the settings of a global secondary index for a global table that will be modified.

                        */ ReplicaGlobalSecondaryIndexSettingsUpdate?: ReplicaGlobalSecondaryIndexSettingsUpdate[]; /** - *

                        The Region of the replica to be added.

                        + *

                        Auto scaling settings for managing a global table replica's read capacity units.

                        */ - RegionName: string | undefined; + ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate?: AutoScalingSettingsUpdate; /** *

                        The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. @@ -4451,6 +4455,11 @@ export interface ReplicaSettingsUpdate { *

                        */ ReplicaProvisionedReadCapacityUnits?: number; + + /** + *

                        The Region of the replica to be added.

                        + */ + RegionName: string | undefined; } export namespace ReplicaSettingsUpdate { @@ -4460,6 +4469,12 @@ export namespace ReplicaSettingsUpdate { } export interface UpdateGlobalTableSettingsInput { + /** + *

                        The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. + *

                        + */ + GlobalTableProvisionedWriteCapacityUnits?: number; + /** *

                        Represents the settings of a global secondary index for a global table that will be modified.

                        */ @@ -4470,12 +4485,6 @@ export interface UpdateGlobalTableSettingsInput { */ ReplicaSettingsUpdate?: ReplicaSettingsUpdate[]; - /** - *

                        Auto scaling settings for managing provisioned write capacity for the global - * table.

                        - */ - GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate?: AutoScalingSettingsUpdate; - /** *

                        The billing mode of the global table. If GlobalTableBillingMode is not specified, the global table defaults to PROVISIONED capacity billing mode.

                        *
                          @@ -4493,15 +4502,15 @@ export interface UpdateGlobalTableSettingsInput { GlobalTableBillingMode?: BillingMode | string; /** - *

                          The name of the global table

                          + *

                          Auto scaling settings for managing provisioned write capacity for the global + * table.

                          */ - GlobalTableName: string | undefined; + GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate?: AutoScalingSettingsUpdate; /** - *

                          The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. - *

                          + *

                          The name of the global table

                          */ - GlobalTableProvisionedWriteCapacityUnits?: number; + GlobalTableName: string | undefined; } export namespace UpdateGlobalTableSettingsInput { @@ -4534,7 +4543,7 @@ export namespace UpdateGlobalTableSettingsOutput { export interface UpdateGlobalSecondaryIndexAction { /** *

                          Represents the provisioned throughput settings for the specified global secondary index.

                          - *

                          For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

                          + *

                          For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

                          */ ProvisionedThroughput: ProvisionedThroughput | undefined; @@ -4570,6 +4579,11 @@ export interface GlobalSecondaryIndexUpdate { */ Update?: UpdateGlobalSecondaryIndexAction; + /** + *

                          The name of an existing global secondary index to be removed.

                          + */ + Delete?: DeleteGlobalSecondaryIndexAction; + /** *

                          The parameters required for creating a global secondary index on an existing table:

                          *
                            @@ -4601,12 +4615,7 @@ export interface GlobalSecondaryIndexUpdate { *
                          */ Create?: CreateGlobalSecondaryIndexAction; - - /** - *

                          The name of an existing global secondary index to be removed.

                          - */ - Delete?: DeleteGlobalSecondaryIndexAction; -} +} export namespace GlobalSecondaryIndexUpdate { export const filterSensitiveLog = (obj: GlobalSecondaryIndexUpdate): any => ({ @@ -4624,15 +4633,15 @@ export interface UpdateReplicationGroupMemberAction { RegionName: string | undefined; /** - *

                          Replica-specific provisioned throughput. If not specified, uses the source table's - * provisioned throughput settings.

                          + *

                          Replica-specific global secondary index settings.

                          */ - ProvisionedThroughputOverride?: ProvisionedThroughputOverride; + GlobalSecondaryIndexes?: ReplicaGlobalSecondaryIndex[]; /** - *

                          Replica-specific global secondary index settings.

                          + *

                          Replica-specific provisioned throughput. If not specified, uses the source table's + * provisioned throughput settings.

                          */ - GlobalSecondaryIndexes?: ReplicaGlobalSecondaryIndex[]; + ProvisionedThroughputOverride?: ProvisionedThroughputOverride; /** *

                          The AWS KMS customer master key (CMK) of the replica that should be used for AWS KMS encryption. @@ -4695,21 +4704,11 @@ export namespace ReplicationGroupUpdate { *

                          Represents the input of an UpdateTable operation.

                          */ export interface UpdateTableInput { - /** - *

                          The new server-side encryption settings for the specified table.

                          - */ - SSESpecification?: SSESpecification; - /** *

                          The name of the table to be updated.

                          */ TableName: string | undefined; - /** - *

                          An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, AttributeDefinitions must include the key element(s) of the new index.

                          - */ - AttributeDefinitions?: AttributeDefinition[]; - /** *

                          An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:

                          *
                            @@ -4732,6 +4731,16 @@ export interface UpdateTableInput { */ GlobalSecondaryIndexUpdates?: GlobalSecondaryIndexUpdate[]; + /** + *

                            An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, AttributeDefinitions must include the key element(s) of the new index.

                            + */ + AttributeDefinitions?: AttributeDefinition[]; + + /** + *

                            The new server-side encryption settings for the specified table.

                            + */ + SSESpecification?: SSESpecification; + /** *

                            Controls how you are charged for read and write throughput and how you manage capacity. * When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial @@ -4751,11 +4760,6 @@ export interface UpdateTableInput { */ BillingMode?: BillingMode | string; - /** - *

                            The new provisioned throughput settings for the specified table or index.

                            - */ - ProvisionedThroughput?: ProvisionedThroughput; - /** *

                            A list of replica update actions (create, delete, or update) for the table.

                            * @@ -4764,6 +4768,11 @@ export interface UpdateTableInput { */ ReplicaUpdates?: ReplicationGroupUpdate[]; + /** + *

                            The new provisioned throughput settings for the specified table or index.

                            + */ + ProvisionedThroughput?: ProvisionedThroughput; + /** *

                            Represents the DynamoDB Streams configuration for the table.

                            * @@ -4826,15 +4835,15 @@ export namespace GlobalSecondaryIndexAutoScalingUpdate { */ export interface ReplicaGlobalSecondaryIndexAutoScalingUpdate { /** - *

                            Represents the auto scaling settings to be modified for a global table or global - * secondary index.

                            + *

                            The name of the global secondary index.

                            */ - ProvisionedReadCapacityAutoScalingUpdate?: AutoScalingSettingsUpdate; + IndexName?: string; /** - *

                            The name of the global secondary index.

                            + *

                            Represents the auto scaling settings to be modified for a global table or global + * secondary index.

                            */ - IndexName?: string; + ProvisionedReadCapacityAutoScalingUpdate?: AutoScalingSettingsUpdate; } export namespace ReplicaGlobalSecondaryIndexAutoScalingUpdate { @@ -4873,10 +4882,9 @@ export namespace ReplicaAutoScalingUpdate { export interface UpdateTableReplicaAutoScalingInput { /** - *

                            Represents the auto scaling settings of replicas of the table that will be - * modified.

                            + *

                            The name of the global table to be updated.

                            */ - ReplicaUpdates?: ReplicaAutoScalingUpdate[]; + TableName: string | undefined; /** *

                            Represents the auto scaling settings to be modified for a global table or global @@ -4884,16 +4892,17 @@ export interface UpdateTableReplicaAutoScalingInput { */ ProvisionedWriteCapacityAutoScalingUpdate?: AutoScalingSettingsUpdate; - /** - *

                            The name of the global table to be updated.

                            - */ - TableName: string | undefined; - /** *

                            Represents the auto scaling settings of the global secondary indexes of the replica * to be updated.

                            */ GlobalSecondaryIndexUpdates?: GlobalSecondaryIndexAutoScalingUpdate[]; + + /** + *

                            Represents the auto scaling settings of replicas of the table that will be + * modified.

                            + */ + ReplicaUpdates?: ReplicaAutoScalingUpdate[]; } export namespace UpdateTableReplicaAutoScalingInput { @@ -4920,16 +4929,16 @@ export namespace UpdateTableReplicaAutoScalingOutput { * table.

                            */ export interface TimeToLiveSpecification { - /** - *

                            Indicates whether TTL is to be enabled (true) or disabled (false) on the table.

                            - */ - Enabled: boolean | undefined; - /** *

                            The name of the TTL attribute used to store the expiration time for items in the * table.

                            */ AttributeName: string | undefined; + + /** + *

                            Indicates whether TTL is to be enabled (true) or disabled (false) on the table.

                            + */ + Enabled: boolean | undefined; } export namespace TimeToLiveSpecification { @@ -4997,44 +5006,45 @@ export interface AttributeValue { NS?: string[]; /** - *

                            An attribute of type Binary Set. For example:

                            + *

                            An attribute of type String. For example:

                            *

                            - * "BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="] + * "S": "Hello" *

                            */ - BS?: Uint8Array[]; + S?: string; /** - *

                            An attribute of type Null. For example:

                            + *

                            An attribute of type Binary. For example:

                            *

                            - * "NULL": true + * "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" *

                            */ - NULL?: boolean; + B?: Uint8Array; /** - *

                            An attribute of type String Set. For example:

                            + *

                            An attribute of type Binary Set. For example:

                            *

                            - * "SS": ["Giraffe", "Hippo" ,"Zebra"] + * "BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="] *

                            */ - SS?: string[]; + BS?: Uint8Array[]; /** - *

                            An attribute of type String. For example:

                            + *

                            An attribute of type String Set. For example:

                            *

                            - * "S": "Hello" + * "SS": ["Giraffe", "Hippo" ,"Zebra"] *

                            */ - S?: string; + SS?: string[]; /** - *

                            An attribute of type Binary. For example:

                            + *

                            An attribute of type Number. For example:

                            *

                            - * "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" + * "N": "123.45" *

                            + *

                            Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

                            */ - B?: Uint8Array; + N?: string; /** *

                            An attribute of type Map. For example:

                            @@ -5045,21 +5055,20 @@ export interface AttributeValue { M?: { [key: string]: AttributeValue }; /** - *

                            An attribute of type List. For example:

                            + *

                            An attribute of type Null. For example:

                            *

                            - * "L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N", "3.14159"}] + * "NULL": true *

                            */ - L?: AttributeValue[]; + NULL?: boolean; /** - *

                            An attribute of type Number. For example:

                            + *

                            An attribute of type List. For example:

                            *

                            - * "N": "123.45" + * "L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N", "3.14159"}] *

                            - *

                            Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

                            */ - N?: string; + L?: AttributeValue[]; } export namespace AttributeValue { @@ -5238,17 +5247,6 @@ export namespace CancellationReason { *
                          */ export interface Condition { - /** - *

                          One or more values to evaluate against the supplied attribute. The number of values in the - * list depends on the ComparisonOperator being used.

                          - *

                          For type Number, value comparisons are numeric.

                          - *

                          String value comparisons for greater than, equals, or less than are based on ASCII character - * code values. For example, a is greater than A, and a - * is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

                          - *

                          For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

                          - */ - AttributeValueList?: AttributeValue[]; - /** *

                          A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

                          *

                          The following comparison operators are available:

                          @@ -5400,6 +5398,17 @@ export interface Condition { * in the Amazon DynamoDB Developer Guide.

                          */ ComparisonOperator: ComparisonOperator | string | undefined; + + /** + *

                          One or more values to evaluate against the supplied attribute. The number of values in the + * list depends on the ComparisonOperator being used.

                          + *

                          For type Number, value comparisons are numeric.

                          + *

                          String value comparisons for greater than, equals, or less than are based on ASCII character + * code values. For example, a is greater than A, and a + * is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

                          + *

                          For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

                          + */ + AttributeValueList?: AttributeValue[]; } export namespace Condition { @@ -5445,15 +5454,15 @@ export interface Get { ProjectionExpression?: string; /** - *

                          A map of attribute names to AttributeValue objects that - * specifies the primary key of the item to retrieve.

                          + *

                          The name of the table from which to retrieve the specified item.

                          */ - Key: { [key: string]: AttributeValue } | undefined; + TableName: string | undefined; /** - *

                          The name of the table from which to retrieve the specified item.

                          + *

                          A map of attribute names to AttributeValue objects that + * specifies the primary key of the item to retrieve.

                          */ - TableName: string | undefined; + Key: { [key: string]: AttributeValue } | undefined; } export namespace Get { @@ -5467,13 +5476,9 @@ export namespace Get { */ export interface GetItemInput { /** - *

                          A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

                          - *

                          If no attribute names are specified, then all attributes are returned. If any of the - * requested attributes are not found, they do not appear in the result.

                          - *

                          For more information, see Specifying Item Attributes in the Amazon DynamoDB Developer - * Guide.

                          + *

                          Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.

                          */ - ProjectionExpression?: string; + ConsistentRead?: boolean; /** *

                          The name of the table containing the requested item.

                          @@ -5481,10 +5486,24 @@ export interface GetItemInput { TableName: string | undefined; /** - *

                          This is a legacy parameter. Use ProjectionExpression instead. For more information, see - * AttributesToGet in the Amazon DynamoDB Developer Guide.

                          + *

                          Determines the level of detail about provisioned throughput consumption that is returned in the response:

                          + *
                            + *
                          • + *

                            + * INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

                            + *

                            Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

                            + *
                          • + *
                          • + *

                            + * TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

                            + *
                          • + *
                          • + *

                            + * NONE - No ConsumedCapacity details are included in the response.

                            + *
                          • + *
                          */ - AttributesToGet?: string[]; + ReturnConsumedCapacity?: ReturnConsumedCapacity | string; /** *

                          One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

                          @@ -5532,24 +5551,10 @@ export interface GetItemInput { ExpressionAttributeNames?: { [key: string]: string }; /** - *

                          Determines the level of detail about provisioned throughput consumption that is returned in the response:

                          - *
                            - *
                          • - *

                            - * INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

                            - *

                            Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

                            - *
                          • - *
                          • - *

                            - * TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

                            - *
                          • - *
                          • - *

                            - * NONE - No ConsumedCapacity details are included in the response.

                            - *
                          • - *
                          + *

                          This is a legacy parameter. Use ProjectionExpression instead. For more information, see + * AttributesToGet in the Amazon DynamoDB Developer Guide.

                          */ - ReturnConsumedCapacity?: ReturnConsumedCapacity | string; + AttributesToGet?: string[]; /** *

                          A map of attribute names to AttributeValue objects, representing the primary key of @@ -5559,9 +5564,13 @@ export interface GetItemInput { Key: { [key: string]: AttributeValue } | undefined; /** - *

                          Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.

                          + *

                          A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

                          + *

                          If no attribute names are specified, then all attributes are returned. If any of the + * requested attributes are not found, they do not appear in the result.

                          + *

                          For more information, see Specifying Item Attributes in the Amazon DynamoDB Developer + * Guide.

                          */ - ConsistentRead?: boolean; + ProjectionExpression?: string; } export namespace GetItemInput { @@ -5574,6 +5583,12 @@ export namespace GetItemInput { *

                          Represents the output of a GetItem operation.

                          */ export interface GetItemOutput { + /** + *

                          A map of attribute names to AttributeValue objects, as specified + * by ProjectionExpression.

                          + */ + Item?: { [key: string]: AttributeValue }; + /** *

                          The capacity units consumed by the GetItem operation. The data returned * includes the total provisioned throughput consumed, along with statistics for the table @@ -5583,12 +5598,6 @@ export interface GetItemOutput { * Guide.

                          */ ConsumedCapacity?: ConsumedCapacity; - - /** - *

                          A map of attribute names to AttributeValue objects, as specified - * by ProjectionExpression.

                          - */ - Item?: { [key: string]: AttributeValue }; } export namespace GetItemOutput { @@ -5664,26 +5673,11 @@ export namespace PutRequest { * primary key, you must provide both the partition key and the sort key.

                          */ export interface KeysAndAttributes { - /** - *

                          A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, - * sets, or elements of a JSON document. The attributes in the ProjectionExpression must be separated by - * commas.

                          - *

                          If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

                          - *

                          For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

                          - */ - ProjectionExpression?: string; - /** *

                          The primary key attribute values that define the items and the attributes associated with the items.

                          */ Keys: { [key: string]: AttributeValue }[] | undefined; - /** - *

                          The consistency of a read operation. If set to true, then a strongly consistent - * read is used; otherwise, an eventually consistent read is used.

                          - */ - ConsistentRead?: boolean; - /** *

                          One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

                          *
                            @@ -5733,6 +5727,21 @@ export interface KeysAndAttributes { * Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

                            */ AttributesToGet?: string[]; + + /** + *

                            The consistency of a read operation. If set to true, then a strongly consistent + * read is used; otherwise, an eventually consistent read is used.

                            + */ + ConsistentRead?: boolean; + + /** + *

                            A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, + * sets, or elements of a JSON document. The attributes in the ProjectionExpression must be separated by + * commas.

                            + *

                            If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

                            + *

                            For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

                            + */ + ProjectionExpression?: string; } export namespace KeysAndAttributes { @@ -5760,15 +5769,6 @@ export namespace TransactGetItem { } export interface TransactGetItemsOutput { - /** - *

                            If the ReturnConsumedCapacity value was TOTAL, - * this is an array of ConsumedCapacity objects, one for each table - * addressed by TransactGetItem objects in the TransactItems - * parameter. These ConsumedCapacity objects report the read-capacity - * units consumed by the TransactGetItems call in that table.

                            - */ - ConsumedCapacity?: ConsumedCapacity[]; - /** *

                            An ordered array of up to 25 ItemResponse objects, each of which corresponds * to the TransactGetItem object in the same position in the @@ -5780,6 +5780,15 @@ export interface TransactGetItemsOutput { * ItemResponse object is an empty Map.

                            */ Responses?: ItemResponse[]; + + /** + *

                            If the ReturnConsumedCapacity value was TOTAL, + * this is an array of ConsumedCapacity objects, one for each table + * addressed by TransactGetItem objects in the TransactItems + * parameter. These ConsumedCapacity objects report the read-capacity + * units consumed by the TransactGetItems call in that table.

                            + */ + ConsumedCapacity?: ConsumedCapacity[]; } export namespace TransactGetItemsOutput { @@ -6014,6 +6023,26 @@ export namespace TransactionCanceledException { *

                            Represents the input of a BatchGetItem operation.

                            */ export interface BatchGetItemInput { + /** + *

                            Determines the level of detail about provisioned throughput consumption that is returned in the response:

                            + *
                              + *
                            • + *

                              + * INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

                              + *

                              Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

                              + *
                            • + *
                            • + *

                              + * TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

                              + *
                            • + *
                            • + *

                              + * NONE - No ConsumedCapacity details are included in the response.

                              + *
                            • + *
                            + */ + ReturnConsumedCapacity?: ReturnConsumedCapacity | string; + /** *

                            A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request.

                            *

                            Each element in the map of items to retrieve consists of the following:

                            @@ -6097,26 +6126,6 @@ export interface BatchGetItemInput { *
                          */ RequestItems: { [key: string]: KeysAndAttributes } | undefined; - - /** - *

                          Determines the level of detail about provisioned throughput consumption that is returned in the response:

                          - *
                            - *
                          • - *

                            - * INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

                            - *

                            Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

                            - *
                          • - *
                          • - *

                            - * TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

                            - *
                          • - *
                          • - *

                            - * NONE - No ConsumedCapacity details are included in the response.

                            - *
                          • - *
                          - */ - ReturnConsumedCapacity?: ReturnConsumedCapacity | string; } export namespace BatchGetItemInput { @@ -6385,14 +6394,6 @@ export namespace TransactGetItemsInput { } export interface TransactWriteItemsOutput { - /** - *

                          The capacity units consumed by the entire TransactWriteItems - * operation. The values of the list are ordered according to - * the ordering of the TransactItems request parameter. - *

                          - */ - ConsumedCapacity?: ConsumedCapacity[]; - /** *

                          A list of tables that were processed by TransactWriteItems and, for each * table, information about any item collections that were affected by individual @@ -6400,6 +6401,14 @@ export interface TransactWriteItemsOutput { * operations.

                          */ ItemCollectionMetrics?: { [key: string]: ItemCollectionMetrics[] }; + + /** + *

                          The capacity units consumed by the entire TransactWriteItems + * operation. The values of the list are ordered according to + * the ordering of the TransactItems request parameter. + *

                          + */ + ConsumedCapacity?: ConsumedCapacity[]; } export namespace TransactWriteItemsOutput { @@ -6413,6 +6422,17 @@ export namespace TransactWriteItemsOutput { * specific attributes of the item.

                          */ export interface ConditionCheck { + /** + *

                          The primary key of the item to be checked. Each element consists of an + * attribute name and a value for that attribute.

                          + */ + Key: { [key: string]: AttributeValue } | undefined; + + /** + *

                          A condition that must be satisfied in order for a conditional update to succeed.

                          + */ + ConditionExpression: string | undefined; + /** *

                          One or more values that can be substituted in an expression.

                          */ @@ -6426,17 +6446,6 @@ export interface ConditionCheck { */ ReturnValuesOnConditionCheckFailure?: ReturnValuesOnConditionCheckFailure | string; - /** - *

                          A condition that must be satisfied in order for a conditional update to succeed.

                          - */ - ConditionExpression: string | undefined; - - /** - *

                          The primary key of the item to be checked. Each element consists of an - * attribute name and a value for that attribute.

                          - */ - Key: { [key: string]: AttributeValue } | undefined; - /** *

                          Name of the table for the check item request.

                          */ @@ -6464,9 +6473,9 @@ export interface Delete { TableName: string | undefined; /** - *

                          One or more values that can be substituted in an expression.

                          + *

                          A condition that must be satisfied in order for a conditional delete to succeed.

                          */ - ExpressionAttributeValues?: { [key: string]: AttributeValue }; + ConditionExpression?: string; /** *

                          The primary key of the item to be deleted. Each element consists of an @@ -6475,9 +6484,9 @@ export interface Delete { Key: { [key: string]: AttributeValue } | undefined; /** - *

                          A condition that must be satisfied in order for a conditional delete to succeed.

                          + *

                          One or more values that can be substituted in an expression.

                          */ - ConditionExpression?: string; + ExpressionAttributeValues?: { [key: string]: AttributeValue }; /** *

                          One or more substitution tokens for attribute names in an expression.

                          @@ -6509,14 +6518,14 @@ export interface Put { ExpressionAttributeValues?: { [key: string]: AttributeValue }; /** - *

                          A condition that must be satisfied in order for a conditional update to succeed.

                          + *

                          Name of the table in which to write the item.

                          */ - ConditionExpression?: string; + TableName: string | undefined; /** - *

                          Name of the table in which to write the item.

                          + *

                          A condition that must be satisfied in order for a conditional update to succeed.

                          */ - TableName: string | undefined; + ConditionExpression?: string; /** *

                          Use ReturnValuesOnConditionCheckFailure to @@ -6551,11 +6560,6 @@ export namespace Put { *

                          Represents a request to perform an UpdateItem operation.

                          */ export interface Update { - /** - *

                          One or more substitution tokens for attribute names in an expression.

                          - */ - ExpressionAttributeNames?: { [key: string]: string }; - /** *

                          An expression that defines one or more attributes to be updated, * the action to be performed on them, and new value(s) for them.

                          @@ -6563,15 +6567,17 @@ export interface Update { UpdateExpression: string | undefined; /** - *

                          Name of the table for the UpdateItem request.

                          + *

                          One or more substitution tokens for attribute names in an expression.

                          */ - TableName: string | undefined; + ExpressionAttributeNames?: { [key: string]: string }; /** - *

                          A condition that must be satisfied in order for a conditional update to - * succeed.

                          + *

                          Use ReturnValuesOnConditionCheckFailure to + * get the item attributes if the Update condition fails. + * For ReturnValuesOnConditionCheckFailure, the valid + * values are: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW.

                          */ - ConditionExpression?: string; + ReturnValuesOnConditionCheckFailure?: ReturnValuesOnConditionCheckFailure | string; /** *

                          The primary key of the item to be updated. Each element consists of @@ -6585,12 +6591,15 @@ export interface Update { ExpressionAttributeValues?: { [key: string]: AttributeValue }; /** - *

                          Use ReturnValuesOnConditionCheckFailure to - * get the item attributes if the Update condition fails. - * For ReturnValuesOnConditionCheckFailure, the valid - * values are: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW.

                          + *

                          Name of the table for the UpdateItem request.

                          */ - ReturnValuesOnConditionCheckFailure?: ReturnValuesOnConditionCheckFailure | string; + TableName: string | undefined; + + /** + *

                          A condition that must be satisfied in order for a conditional update to + * succeed.

                          + */ + ConditionExpression?: string; } export namespace Update { @@ -6603,6 +6612,16 @@ export namespace Update { *

                          Represents the output of a DeleteItem operation.

                          */ export interface DeleteItemOutput { + /** + *

                          The capacity units consumed by the DeleteItem operation. The data + * returned includes the total provisioned throughput consumed, along with statistics for + * the table and any indexes involved in the operation. ConsumedCapacity is + * only returned if the ReturnConsumedCapacity parameter was specified. For + * more information, see Provisioned Mode in the Amazon DynamoDB Developer + * Guide.

                          + */ + ConsumedCapacity?: ConsumedCapacity; + /** *

                          Information about item collections, if any, that were affected by the * DeleteItem operation. @@ -6639,16 +6658,6 @@ export interface DeleteItemOutput { * ReturnValues was specified as ALL_OLD in the request.

                          */ Attributes?: { [key: string]: AttributeValue }; - - /** - *

                          The capacity units consumed by the DeleteItem operation. The data - * returned includes the total provisioned throughput consumed, along with statistics for - * the table and any indexes involved in the operation. ConsumedCapacity is - * only returned if the ReturnConsumedCapacity parameter was specified. For - * more information, see Provisioned Mode in the Amazon DynamoDB Developer - * Guide.

                          - */ - ConsumedCapacity?: ConsumedCapacity; } export namespace DeleteItemOutput { @@ -6717,6 +6726,28 @@ export namespace PutItemOutput { *

                          Represents the output of a Query operation.

                          */ export interface QueryOutput { + /** + *

                          An array of item attributes that match the query criteria. Each element in this array consists of an attribute name and the value for that attribute.

                          + */ + Items?: { [key: string]: AttributeValue }[]; + + /** + *

                          The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

                          + *

                          If LastEvaluatedKey is empty, then the "last page" of results has been processed and there is no more data to be retrieved.

                          + *

                          If LastEvaluatedKey is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is empty.

                          + */ + LastEvaluatedKey?: { [key: string]: AttributeValue }; + + /** + *

                          The capacity units consumed by the Query operation. The data returned + * includes the total provisioned throughput consumed, along with statistics for the table + * and any indexes involved in the operation. ConsumedCapacity is only + * returned if the ReturnConsumedCapacity parameter was specified. For more + * information, see Provisioned Throughput in the Amazon DynamoDB Developer + * Guide.

                          + */ + ConsumedCapacity?: ConsumedCapacity; + /** *

                          The number of items evaluated, before any QueryFilter is applied. A high * ScannedCount value with few, or no, Count results indicates an inefficient @@ -6736,28 +6767,6 @@ export interface QueryOutput { * same.

                          */ Count?: number; - - /** - *

                          An array of item attributes that match the query criteria. Each element in this array consists of an attribute name and the value for that attribute.

                          - */ - Items?: { [key: string]: AttributeValue }[]; - - /** - *

                          The capacity units consumed by the Query operation. The data returned - * includes the total provisioned throughput consumed, along with statistics for the table - * and any indexes involved in the operation. ConsumedCapacity is only - * returned if the ReturnConsumedCapacity parameter was specified. For more - * information, see Provisioned Throughput in the Amazon DynamoDB Developer - * Guide.

                          - */ - ConsumedCapacity?: ConsumedCapacity; - - /** - *

                          The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

                          - *

                          If LastEvaluatedKey is empty, then the "last page" of results has been processed and there is no more data to be retrieved.

                          - *

                          If LastEvaluatedKey is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is empty.

                          - */ - LastEvaluatedKey?: { [key: string]: AttributeValue }; } export namespace QueryOutput { @@ -6770,11 +6779,6 @@ export namespace QueryOutput { *

                          Represents the output of a Scan operation.

                          */ export interface ScanOutput { - /** - *

                          An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.

                          - */ - Items?: { [key: string]: AttributeValue }[]; - /** *

                          The number of items in the response.

                          *

                          If you set ScanFilter in the request, then Count is the number of items @@ -6795,6 +6799,15 @@ export interface ScanOutput { */ ScannedCount?: number; + /** + *

                          The capacity units consumed by the Scan operation. The data returned includes the total + * provisioned throughput consumed, along with statistics for the table and any indexes involved + * in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. + * For more information, see Provisioned + * Throughput in the Amazon DynamoDB Developer Guide.

                          + */ + ConsumedCapacity?: ConsumedCapacity; + /** *

                          The primary key of the item where the operation stopped, inclusive of the previous * result set. Use this value to start a new operation, excluding this value in the new @@ -6809,13 +6822,9 @@ export interface ScanOutput { LastEvaluatedKey?: { [key: string]: AttributeValue }; /** - *

                          The capacity units consumed by the Scan operation. The data returned includes the total - * provisioned throughput consumed, along with statistics for the table and any indexes involved - * in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. - * For more information, see Provisioned - * Throughput in the Amazon DynamoDB Developer Guide.

                          + *

                          An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.

                          */ - ConsumedCapacity?: ConsumedCapacity; + Items?: { [key: string]: AttributeValue }[]; } export namespace ScanOutput { @@ -6974,37 +6983,42 @@ export namespace BatchGetItemOutput { */ export interface ScanInput { /** - *

                          One or more values that can be substituted in an expression.

                          - *

                          Use the : (colon) character in an expression to - * dereference an attribute value. For example, suppose that you wanted to check whether - * the value of the ProductStatus attribute was one of the following:

                          - *

                          - * Available | Backordered | Discontinued - *

                          - *

                          You would first need to specify ExpressionAttributeValues as follows:

                          - *

                          - * { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} } - *

                          - *

                          You could then use these values in an expression, such as this:

                          - *

                          - * ProductStatus IN (:avail, :back, :disc) - *

                          - *

                          For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer + *

                          A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

                          + *

                          If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

                          + *

                          For more information, see Specifying Item Attributes in the Amazon DynamoDB Developer * Guide.

                          */ - ExpressionAttributeValues?: { [key: string]: AttributeValue }; + ProjectionExpression?: string; /** - *

                          The attributes to be returned in the - * result. You can retrieve all item attributes, specific item attributes, the count of - * matching items, or in the case of an index, some or all of the attributes projected into - * the index.

                          + *

                          A Boolean value that determines the read consistency model during the scan:

                          *
                            *
                          • - *

                            - * ALL_ATTRIBUTES - Returns all of the item attributes from the - * specified table or index. If you query a local secondary index, then for each - * matching item in the index, DynamoDB fetches the entire item from the parent + *

                            If ConsistentRead is false, then the data returned from + * Scan might not contain the results from other recently + * completed write operations (PutItem, UpdateItem, or + * DeleteItem).

                            + *
                          • + *
                          • + *

                            If ConsistentRead is true, then all of the write operations that completed before the Scan began are guaranteed to be contained in the Scan response.

                            + *
                          • + *
                          + *

                          The default setting for ConsistentRead is false.

                          + *

                          The ConsistentRead parameter is not supported on global secondary indexes. If you scan a global secondary index with ConsistentRead set to true, you will receive a ValidationException.

                          + */ + ConsistentRead?: boolean; + + /** + *

                          The attributes to be returned in the + * result. You can retrieve all item attributes, specific item attributes, the count of + * matching items, or in the case of an index, some or all of the attributes projected into + * the index.

                          + *
                            + *
                          • + *

                            + * ALL_ATTRIBUTES - Returns all of the item attributes from the + * specified table or index. If you query a local secondary index, then for each + * matching item in the index, DynamoDB fetches the entire item from the parent * table. If the index is configured to project all item attributes, then all of * the data can be obtained from the local secondary index, and no fetching is * required.

                            @@ -7054,6 +7068,27 @@ export interface ScanInput { */ Select?: Select | string; + /** + *

                            One or more values that can be substituted in an expression.

                            + *

                            Use the : (colon) character in an expression to + * dereference an attribute value. For example, suppose that you wanted to check whether + * the value of the ProductStatus attribute was one of the following:

                            + *

                            + * Available | Backordered | Discontinued + *

                            + *

                            You would first need to specify ExpressionAttributeValues as follows:

                            + *

                            + * { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} } + *

                            + *

                            You could then use these values in an expression, such as this:

                            + *

                            + * ProductStatus IN (:avail, :back, :disc) + *

                            + *

                            For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer + * Guide.

                            + */ + ExpressionAttributeValues?: { [key: string]: AttributeValue }; + /** *

                            For a parallel Scan request, Segment identifies an individual segment to be * scanned by an application worker.

                            @@ -7082,32 +7117,6 @@ export interface ScanInput { */ TotalSegments?: number; - /** - *

                            A Boolean value that determines the read consistency model during the scan:

                            - *
                              - *
                            • - *

                              If ConsistentRead is false, then the data returned from - * Scan might not contain the results from other recently - * completed write operations (PutItem, UpdateItem, or - * DeleteItem).

                              - *
                            • - *
                            • - *

                              If ConsistentRead is true, then all of the write operations that completed before the Scan began are guaranteed to be contained in the Scan response.

                              - *
                            • - *
                            - *

                            The default setting for ConsistentRead is false.

                            - *

                            The ConsistentRead parameter is not supported on global secondary indexes. If you scan a global secondary index with ConsistentRead set to true, you will receive a ValidationException.

                            - */ - ConsistentRead?: boolean; - - /** - *

                            A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

                            - *

                            If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

                            - *

                            For more information, see Specifying Item Attributes in the Amazon DynamoDB Developer - * Guide.

                            - */ - ProjectionExpression?: string; - /** *

                            This is a legacy parameter. Use FilterExpression instead. For more information, see * ScanFilter in the Amazon DynamoDB Developer Guide.

                            @@ -7196,6 +7205,15 @@ export interface ScanInput { */ ExpressionAttributeNames?: { [key: string]: string }; + /** + *

                            The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

                            + *

                            The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

                            + *

                            In a parallel scan, a + * Scan request that includes ExclusiveStartKey must specify the same segment + * whose previous Scan returned the corresponding value of LastEvaluatedKey.

                            + */ + ExclusiveStartKey?: { [key: string]: AttributeValue }; + /** *

                            A string that contains conditions that DynamoDB applies after the Scan operation, but * before the data is returned to you. Items that do not satisfy the FilterExpression @@ -7209,21 +7227,6 @@ export interface ScanInput { */ FilterExpression?: string; - /** - *

                            The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

                            - *

                            The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

                            - *

                            In a parallel scan, a - * Scan request that includes ExclusiveStartKey must specify the same segment - * whose previous Scan returned the corresponding value of LastEvaluatedKey.

                            - */ - ExclusiveStartKey?: { [key: string]: AttributeValue }; - - /** - *

                            This is a legacy parameter. Use FilterExpression instead. For more information, see - * ConditionalOperator in the Amazon DynamoDB Developer Guide.

                            - */ - ConditionalOperator?: ConditionalOperator | string; - /** *

                            The maximum number of items to evaluate (not necessarily the number of matching items). * If DynamoDB processes the number of items up to the limit while processing the results, @@ -7236,6 +7239,12 @@ export interface ScanInput { * Guide.

                            */ Limit?: number; + + /** + *

                            This is a legacy parameter. Use FilterExpression instead. For more information, see + * ConditionalOperator in the Amazon DynamoDB Developer Guide.

                            + */ + ConditionalOperator?: ConditionalOperator | string; } export namespace ScanInput { @@ -7326,6 +7335,45 @@ export namespace BatchWriteItemInput { *

                            Represents the input of a DeleteItem operation.

                            */ export interface DeleteItemInput { + /** + *

                            This is a legacy parameter. Use ConditionExpression instead. For more information, see + * Expected in the Amazon DynamoDB Developer Guide.

                            + */ + Expected?: { [key: string]: ExpectedAttributeValue }; + + /** + *

                            Determines the level of detail about provisioned throughput consumption that is returned in the response:

                            + *
                              + *
                            • + *

                              + * INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

                              + *

                              Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

                              + *
                            • + *
                            • + *

                              + * TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

                              + *
                            • + *
                            • + *

                              + * NONE - No ConsumedCapacity details are included in the response.

                              + *
                            • + *
                            + */ + ReturnConsumedCapacity?: ReturnConsumedCapacity | string; + + /** + *

                            This is a legacy parameter. Use ConditionExpression instead. For more information, see + * ConditionalOperator in the Amazon DynamoDB Developer Guide.

                            + */ + ConditionalOperator?: ConditionalOperator | string; + + /** + *

                            A map of attribute names to AttributeValue objects, representing the primary key of + * the item to delete.

                            + *

                            For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

                            + */ + Key: { [key: string]: AttributeValue } | undefined; + /** *

                            One or more values that can be substituted in an expression.

                            *

                            Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

                            @@ -7372,66 +7420,9 @@ export interface DeleteItemInput { ConditionExpression?: string; /** - *

                            A map of attribute names to AttributeValue objects, representing the primary key of - * the item to delete.

                            - *

                            For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

                            - */ - Key: { [key: string]: AttributeValue } | undefined; - - /** - *

                            This is a legacy parameter. Use ConditionExpression instead. For more information, see - * Expected in the Amazon DynamoDB Developer Guide.

                            - */ - Expected?: { [key: string]: ExpectedAttributeValue }; - - /** - *

                            This is a legacy parameter. Use ConditionExpression instead. For more information, see - * ConditionalOperator in the Amazon DynamoDB Developer Guide.

                            - */ - ConditionalOperator?: ConditionalOperator | string; - - /** - *

                            Determines the level of detail about provisioned throughput consumption that is returned in the response:

                            - *
                              - *
                            • - *

                              - * INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

                              - *

                              Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

                              - *
                            • - *
                            • - *

                              - * TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

                              - *
                            • - *
                            • - *

                              - * NONE - No ConsumedCapacity details are included in the response.

                              - *
                            • - *
                            - */ - ReturnConsumedCapacity?: ReturnConsumedCapacity | string; - - /** - *

                            Use ReturnValues if you want to get the item attributes as they appeared before they - * were deleted. For DeleteItem, the valid values are:

                            - *
                              - *
                            • - *

                              - * NONE - If ReturnValues is not specified, or if its value is - * NONE, then nothing is returned. (This setting is the default for - * ReturnValues.)

                              - *
                            • - *
                            • - *

                              - * ALL_OLD - The content of the old item is returned.

                              - *
                            • - *
                            - * - *

                            The ReturnValues parameter is used by several DynamoDB operations; however, - * DeleteItem does not recognize any values other than NONE or - * ALL_OLD.

                            - *
                            + *

                            The name of the table from which to delete the item.

                            */ - ReturnValues?: ReturnValue | string; + TableName: string | undefined; /** *

                            One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

                            @@ -7485,9 +7476,27 @@ export interface DeleteItemInput { ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics | string; /** - *

                            The name of the table from which to delete the item.

                            + *

                            Use ReturnValues if you want to get the item attributes as they appeared before they + * were deleted. For DeleteItem, the valid values are:

                            + *
                              + *
                            • + *

                              + * NONE - If ReturnValues is not specified, or if its value is + * NONE, then nothing is returned. (This setting is the default for + * ReturnValues.)

                              + *
                            • + *
                            • + *

                              + * ALL_OLD - The content of the old item is returned.

                              + *
                            • + *
                            + * + *

                            The ReturnValues parameter is used by several DynamoDB operations; however, + * DeleteItem does not recognize any values other than NONE or + * ALL_OLD.

                            + *
                            */ - TableName: string | undefined; + ReturnValues?: ReturnValue | string; } export namespace DeleteItemInput { @@ -7501,70 +7510,19 @@ export namespace DeleteItemInput { */ export interface PutItemInput { /** - *

                            Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during - * the operation are returned in the response. If set to NONE (the default), no statistics are returned.

                            - */ - ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics | string; - - /** - *

                            One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

                            + *

                            Use ReturnValues if you want to get the item attributes as they appeared before they + * were updated with the PutItem request. For PutItem, the valid values are:

                            *
                              *
                            • - *

                              To access an attribute whose name conflicts with a DynamoDB reserved word.

                              - *
                            • - *
                            • - *

                              To create a placeholder for repeating occurrences of an attribute name in an expression.

                              - *
                            • - *
                            • - *

                              To prevent special characters in an attribute name from being misinterpreted in an expression.

                              + *

                              + * NONE - If ReturnValues is not specified, or if its value is + * NONE, then nothing is returned. (This setting is the default for + * ReturnValues.)

                              *
                            • - *
                            - *

                            Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

                            - *
                              *
                            • *

                              - * Percentile - *

                              - *
                            • - *
                            - *

                            The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

                            - *
                              - *
                            • - *

                              - * {"#P":"Percentile"} - *

                              - *
                            • - *
                            - *

                            You could then use this substitution in an expression, as in this example:

                            - *
                              - *
                            • - *

                              - * #P = :val - *

                              - *
                            • - *
                            - * - *

                            Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

                            - *
                            - *

                            For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer - * Guide.

                            - */ - ExpressionAttributeNames?: { [key: string]: string }; - - /** - *

                            Use ReturnValues if you want to get the item attributes as they appeared before they - * were updated with the PutItem request. For PutItem, the valid values are:

                            - *
                              - *
                            • - *

                              - * NONE - If ReturnValues is not specified, or if its value is - * NONE, then nothing is returned. (This setting is the default for - * ReturnValues.)

                              - *
                            • - *
                            • - *

                              - * ALL_OLD - If PutItem overwrote an attribute name-value pair, then the - * content of the old item is returned.

                              + * ALL_OLD - If PutItem overwrote an attribute name-value pair, then the + * content of the old item is returned.

                              *
                            • *
                            * @@ -7575,6 +7533,12 @@ export interface PutItemInput { */ ReturnValues?: ReturnValue | string; + /** + *

                            Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during + * the operation are returned in the response. If set to NONE (the default), no statistics are returned.

                            + */ + ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics | string; + /** *

                            The name of the table to contain the item.

                            */ @@ -7592,6 +7556,51 @@ export interface PutItemInput { */ Item: { [key: string]: AttributeValue } | undefined; + /** + *

                            One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

                            + *
                              + *
                            • + *

                              To access an attribute whose name conflicts with a DynamoDB reserved word.

                              + *
                            • + *
                            • + *

                              To create a placeholder for repeating occurrences of an attribute name in an expression.

                              + *
                            • + *
                            • + *

                              To prevent special characters in an attribute name from being misinterpreted in an expression.

                              + *
                            • + *
                            + *

                            Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

                            + *
                              + *
                            • + *

                              + * Percentile + *

                              + *
                            • + *
                            + *

                            The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

                            + *
                              + *
                            • + *

                              + * {"#P":"Percentile"} + *

                              + *
                            • + *
                            + *

                            You could then use this substitution in an expression, as in this example:

                            + *
                              + *
                            • + *

                              + * #P = :val + *

                              + *
                            • + *
                            + * + *

                            Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

                            + *
                            + *

                            For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer + * Guide.

                            + */ + ExpressionAttributeNames?: { [key: string]: string }; + /** *

                            Determines the level of detail about provisioned throughput consumption that is returned in the response:

                            *
                              @@ -7612,25 +7621,6 @@ export interface PutItemInput { */ ReturnConsumedCapacity?: ReturnConsumedCapacity | string; - /** - *

                              One or more values that can be substituted in an expression.

                              - *

                              Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

                              - *

                              - * Available | Backordered | Discontinued - *

                              - *

                              You would first need to specify ExpressionAttributeValues as follows:

                              - *

                              - * { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} } - *

                              - *

                              You could then use these values in an expression, such as this:

                              - *

                              - * ProductStatus IN (:avail, :back, :disc) - *

                              - *

                              For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer - * Guide.

                              - */ - ExpressionAttributeValues?: { [key: string]: AttributeValue }; - /** *

                              A condition that must be satisfied in order for a conditional PutItem operation to * succeed.

                              @@ -7657,6 +7647,12 @@ export interface PutItemInput { */ ConditionExpression?: string; + /** + *

                              This is a legacy parameter. Use ConditionExpression instead. For more information, see + * Expected in the Amazon DynamoDB Developer Guide.

                              + */ + Expected?: { [key: string]: ExpectedAttributeValue }; + /** *

                              This is a legacy parameter. Use ConditionExpression instead. For more information, see * ConditionalOperator in the Amazon DynamoDB Developer Guide.

                              @@ -7664,10 +7660,23 @@ export interface PutItemInput { ConditionalOperator?: ConditionalOperator | string; /** - *

                              This is a legacy parameter. Use ConditionExpression instead. For more information, see - * Expected in the Amazon DynamoDB Developer Guide.

                              + *

                              One or more values that can be substituted in an expression.

                              + *

                              Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

                              + *

                              + * Available | Backordered | Discontinued + *

                              + *

                              You would first need to specify ExpressionAttributeValues as follows:

                              + *

                              + * { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} } + *

                              + *

                              You could then use these values in an expression, such as this:

                              + *

                              + * ProductStatus IN (:avail, :back, :disc) + *

                              + *

                              For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer + * Guide.

                              */ - Expected?: { [key: string]: ExpectedAttributeValue }; + ExpressionAttributeValues?: { [key: string]: AttributeValue }; } export namespace PutItemInput { @@ -7680,25 +7689,6 @@ export namespace PutItemInput { *

                              Represents the input of a Query operation.

                              */ export interface QueryInput { - /** - *

                              This is a legacy parameter. Use KeyConditionExpression instead. For more information, see - * KeyConditions in the Amazon DynamoDB Developer Guide.

                              - */ - KeyConditions?: { [key: string]: Condition }; - - /** - *

                              Specifies the order for index traversal: If true (default), the traversal is performed in ascending order; if false, the traversal is performed in descending order.

                              - *

                              Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned.

                              - *

                              If ScanIndexForward is true, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If ScanIndexForward is false, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.

                              - */ - ScanIndexForward?: boolean; - - /** - *

                              This is a legacy parameter. Use FilterExpression instead. For more information, see - * QueryFilter in the Amazon DynamoDB Developer Guide.

                              - */ - QueryFilter?: { [key: string]: Condition }; - /** *

                              The name of the table containing the requested items.

                              */ @@ -7712,24 +7702,17 @@ export interface QueryInput { IndexName?: string; /** - *

                              Determines the level of detail about provisioned throughput consumption that is returned in the response:

                              - *
                                - *
                              • - *

                                - * INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

                                - *

                                Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

                                - *
                              • - *
                              • - *

                                - * TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

                                - *
                              • - *
                              • - *

                                - * NONE - No ConsumedCapacity details are included in the response.

                                - *
                              • - *
                              + *

                              This is a legacy parameter. Use KeyConditionExpression instead. For more information, see + * KeyConditions in the Amazon DynamoDB Developer Guide.

                              */ - ReturnConsumedCapacity?: ReturnConsumedCapacity | string; + KeyConditions?: { [key: string]: Condition }; + + /** + *

                              Specifies the order for index traversal: If true (default), the traversal is performed in ascending order; if false, the traversal is performed in descending order.

                              + *

                              Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned.

                              + *

                              If ScanIndexForward is true, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If ScanIndexForward is false, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.

                              + */ + ScanIndexForward?: boolean; /** *

                              One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

                              @@ -7783,6 +7766,32 @@ export interface QueryInput { */ AttributesToGet?: string[]; + /** + *

                              Determines the level of detail about provisioned throughput consumption that is returned in the response:

                              + *
                                + *
                              • + *

                                + * INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

                                + *

                                Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

                                + *
                              • + *
                              • + *

                                + * TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

                                + *
                              • + *
                              • + *

                                + * NONE - No ConsumedCapacity details are included in the response.

                                + *
                              • + *
                              + */ + ReturnConsumedCapacity?: ReturnConsumedCapacity | string; + + /** + *

                              This is a legacy parameter. Use FilterExpression instead. For more information, see + * QueryFilter in the Amazon DynamoDB Developer Guide.

                              + */ + QueryFilter?: { [key: string]: Condition }; + /** *

                              One or more values that can be substituted in an expression.

                              *

                              Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the @@ -7818,106 +7827,6 @@ export interface QueryInput { */ ConsistentRead?: boolean; - /** - *

                              This is a legacy parameter. Use FilterExpression instead. For more information, see - * ConditionalOperator in the Amazon DynamoDB Developer Guide.

                              - */ - ConditionalOperator?: ConditionalOperator | string; - - /** - *

                              The attributes to be returned in the - * result. You can retrieve all item attributes, specific item attributes, the count of - * matching items, or in the case of an index, some or all of the attributes projected into - * the index.

                              - *
                                - *
                              • - *

                                - * ALL_ATTRIBUTES - Returns all of the item attributes from the - * specified table or index. If you query a local secondary index, then for each - * matching item in the index, DynamoDB fetches the entire item from the parent - * table. If the index is configured to project all item attributes, then all of - * the data can be obtained from the local secondary index, and no fetching is - * required.

                                - *
                              • - *
                              • - *

                                - * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. - * Retrieves all attributes that have been projected into the index. If the - * index is configured to project all attributes, this return value is - * equivalent to specifying ALL_ATTRIBUTES.

                                - *
                              • - *
                              • - *

                                - * COUNT - Returns the number of matching items, rather than the - * matching items themselves.

                                - *
                              • - *
                              • - *

                                - * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in - * AttributesToGet. This return value is equivalent to - * specifying AttributesToGet without specifying any value - * for Select.

                                - *

                                If you query or scan a local secondary index and request only attributes that - * are projected into that index, the operation will read only the index and not - * the table. If any of the requested attributes are not projected into the local - * secondary index, DynamoDB fetches each of these attributes from the parent - * table. This extra fetching incurs additional throughput cost and latency.

                                - *

                                If you query or scan a global secondary index, you can only request - * attributes that are projected into the index. Global secondary index queries - * cannot fetch attributes from the parent table.

                                - *
                              • - *
                              - *

                              If neither Select nor AttributesToGet - * are specified, DynamoDB defaults to ALL_ATTRIBUTES when accessing a - * table, and ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot - * use both Select and AttributesToGet - * together in a single request, unless the value for Select is - * SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying - * AttributesToGet without any value for - * Select.)

                              - * - *

                              If you use the ProjectionExpression parameter, then - * the value for Select can only be - * SPECIFIC_ATTRIBUTES. Any other value for - * Select will return an error.

                              - *
                              - */ - Select?: Select | string; - - /** - *

                              The maximum number of items to evaluate (not necessarily the number of matching items). - * If DynamoDB processes the number of items up to the limit while processing the results, - * it stops the operation and returns the matching values up to that point, and a key in - * LastEvaluatedKey to apply in a subsequent operation, so that you can - * pick up where you left off. Also, if the processed dataset size exceeds 1 MB before - * DynamoDB reaches this limit, it stops the operation and returns the matching values up - * to the limit, and a key in LastEvaluatedKey to apply in a subsequent - * operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer - * Guide.

                              - */ - Limit?: number; - - /** - *

                              A string that contains conditions that DynamoDB applies after the Query operation, but - * before the data is returned to you. Items that do not satisfy the FilterExpression - * criteria are not returned.

                              - *

                              A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.

                              - * - *

                              A FilterExpression is applied after the items have already been read; the process of - * filtering does not consume any additional read capacity units.

                              - *
                              - *

                              For more information, see Filter - * Expressions in the Amazon DynamoDB Developer Guide.

                              - */ - FilterExpression?: string; - - /** - *

                              The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

                              - *

                              The data type for ExclusiveStartKey must be String, Number, or Binary. No - * set data types are allowed.

                              - */ - ExclusiveStartKey?: { [key: string]: AttributeValue }; - /** *

                              The condition that specifies the key values for items to be retrieved by the * Query action.

                              @@ -8034,6 +7943,106 @@ export interface QueryInput { * Names and Values in the Amazon DynamoDB Developer Guide.

                              */ KeyConditionExpression?: string; + + /** + *

                              The attributes to be returned in the + * result. You can retrieve all item attributes, specific item attributes, the count of + * matching items, or in the case of an index, some or all of the attributes projected into + * the index.

                              + *
                                + *
                              • + *

                                + * ALL_ATTRIBUTES - Returns all of the item attributes from the + * specified table or index. If you query a local secondary index, then for each + * matching item in the index, DynamoDB fetches the entire item from the parent + * table. If the index is configured to project all item attributes, then all of + * the data can be obtained from the local secondary index, and no fetching is + * required.

                                + *
                              • + *
                              • + *

                                + * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. + * Retrieves all attributes that have been projected into the index. If the + * index is configured to project all attributes, this return value is + * equivalent to specifying ALL_ATTRIBUTES.

                                + *
                              • + *
                              • + *

                                + * COUNT - Returns the number of matching items, rather than the + * matching items themselves.

                                + *
                              • + *
                              • + *

                                + * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in + * AttributesToGet. This return value is equivalent to + * specifying AttributesToGet without specifying any value + * for Select.

                                + *

                                If you query or scan a local secondary index and request only attributes that + * are projected into that index, the operation will read only the index and not + * the table. If any of the requested attributes are not projected into the local + * secondary index, DynamoDB fetches each of these attributes from the parent + * table. This extra fetching incurs additional throughput cost and latency.

                                + *

                                If you query or scan a global secondary index, you can only request + * attributes that are projected into the index. Global secondary index queries + * cannot fetch attributes from the parent table.

                                + *
                              • + *
                              + *

                              If neither Select nor AttributesToGet + * are specified, DynamoDB defaults to ALL_ATTRIBUTES when accessing a + * table, and ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot + * use both Select and AttributesToGet + * together in a single request, unless the value for Select is + * SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying + * AttributesToGet without any value for + * Select.)

                              + * + *

                              If you use the ProjectionExpression parameter, then + * the value for Select can only be + * SPECIFIC_ATTRIBUTES. Any other value for + * Select will return an error.

                              + *
                              + */ + Select?: Select | string; + + /** + *

                              This is a legacy parameter. Use FilterExpression instead. For more information, see + * ConditionalOperator in the Amazon DynamoDB Developer Guide.

                              + */ + ConditionalOperator?: ConditionalOperator | string; + + /** + *

                              The maximum number of items to evaluate (not necessarily the number of matching items). + * If DynamoDB processes the number of items up to the limit while processing the results, + * it stops the operation and returns the matching values up to that point, and a key in + * LastEvaluatedKey to apply in a subsequent operation, so that you can + * pick up where you left off. Also, if the processed dataset size exceeds 1 MB before + * DynamoDB reaches this limit, it stops the operation and returns the matching values up + * to the limit, and a key in LastEvaluatedKey to apply in a subsequent + * operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer + * Guide.

                              + */ + Limit?: number; + + /** + *

                              The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

                              + *

                              The data type for ExclusiveStartKey must be String, Number, or Binary. No + * set data types are allowed.

                              + */ + ExclusiveStartKey?: { [key: string]: AttributeValue }; + + /** + *

                              A string that contains conditions that DynamoDB applies after the Query operation, but + * before the data is returned to you. Items that do not satisfy the FilterExpression + * criteria are not returned.

                              + *

                              A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.

                              + * + *

                              A FilterExpression is applied after the items have already been read; the process of + * filtering does not consume any additional read capacity units.

                              + *
                              + *

                              For more information, see Filter + * Expressions in the Amazon DynamoDB Developer Guide.

                              + */ + FilterExpression?: string; } export namespace QueryInput { @@ -8047,46 +8056,28 @@ export namespace QueryInput { */ export interface BatchWriteItemOutput { /** - *

                              A map of tables and requests against those tables that were not processed. The - * UnprocessedItems value is in the same form as RequestItems, so you can provide - * this value directly to a subsequent BatchGetItem operation. For more information, see - * RequestItems in the Request Parameters section.

                              - *

                              Each UnprocessedItems entry consists of a table name and, for that table, a list of - * operations to perform (DeleteRequest or PutRequest).

                              + *

                              A list of tables that were processed by BatchWriteItem and, for each table, + * information about any item collections that were affected by individual DeleteItem or + * PutItem operations.

                              + *

                              Each entry consists of the following subelements:

                              *
                                *
                              • *

                                - * DeleteRequest - Perform a DeleteItem operation on the specified item. The - * item to be deleted is identified by a Key subelement:

                                - *
                                  - *
                                • - *

                                  - * Key - A map of primary key attribute values that uniquely identify the item. - * Each entry in this map consists of an attribute name and an attribute value.

                                  - *
                                • - *
                                + * ItemCollectionKey - The partition key value of the item collection. This is the same as + * the partition key value of the item.

                                *
                              • *
                              • *

                                - * PutRequest - Perform a PutItem operation on the specified item. The item to - * be put is identified by an Item subelement:

                                - *
                                  - *
                                • - *

                                  - * Item - A map of attributes and their values. Each entry in this map consists - * of an attribute name and an attribute value. Attribute values must not be null; string - * and binary type attributes must have lengths greater than zero; and set type - * attributes must not be empty. Requests that contain empty values will be rejected with - * a ValidationException exception.

                                  - *

                                  If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

                                  - *
                                • - *
                                + * SizeEstimateRangeGB - An estimate of item collection size, expressed in GB. This is + * a two-element array containing a lower bound and an upper bound for the estimate. The + * estimate includes the size of all the items in the table, plus the size of all attributes + * projected into all of the local secondary indexes on the table. Use this estimate to measure whether a + * local secondary index is approaching its size limit.

                                + *

                                The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

                                *
                              • *
                              - *

                              If there are no unprocessed items remaining, the response contains an empty - * UnprocessedItems map.

                              */ - UnprocessedItems?: { [key: string]: WriteRequest[] }; + ItemCollectionMetrics?: { [key: string]: ItemCollectionMetrics[] }; /** *

                              The capacity units consumed by the entire BatchWriteItem operation.

                              @@ -8105,28 +8096,46 @@ export interface BatchWriteItemOutput { ConsumedCapacity?: ConsumedCapacity[]; /** - *

                              A list of tables that were processed by BatchWriteItem and, for each table, - * information about any item collections that were affected by individual DeleteItem or - * PutItem operations.

                              - *

                              Each entry consists of the following subelements:

                              + *

                              A map of tables and requests against those tables that were not processed. The + * UnprocessedItems value is in the same form as RequestItems, so you can provide + * this value directly to a subsequent BatchGetItem operation. For more information, see + * RequestItems in the Request Parameters section.

                              + *

                              Each UnprocessedItems entry consists of a table name and, for that table, a list of + * operations to perform (DeleteRequest or PutRequest).

                              *
                                *
                              • *

                                - * ItemCollectionKey - The partition key value of the item collection. This is the same as - * the partition key value of the item.

                                + * DeleteRequest - Perform a DeleteItem operation on the specified item. The + * item to be deleted is identified by a Key subelement:

                                + *
                                  + *
                                • + *

                                  + * Key - A map of primary key attribute values that uniquely identify the item. + * Each entry in this map consists of an attribute name and an attribute value.

                                  + *
                                • + *
                                *
                              • *
                              • *

                                - * SizeEstimateRangeGB - An estimate of item collection size, expressed in GB. This is - * a two-element array containing a lower bound and an upper bound for the estimate. The - * estimate includes the size of all the items in the table, plus the size of all attributes - * projected into all of the local secondary indexes on the table. Use this estimate to measure whether a - * local secondary index is approaching its size limit.

                                - *

                                The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

                                + * PutRequest - Perform a PutItem operation on the specified item. The item to + * be put is identified by an Item subelement:

                                + *
                                  + *
                                • + *

                                  + * Item - A map of attributes and their values. Each entry in this map consists + * of an attribute name and an attribute value. Attribute values must not be null; string + * and binary type attributes must have lengths greater than zero; and set type + * attributes must not be empty. Requests that contain empty values will be rejected with + * a ValidationException exception.

                                  + *

                                  If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

                                  + *
                                • + *
                                *
                              • *
                              + *

                              If there are no unprocessed items remaining, the response contains an empty + * UnprocessedItems map.

                              */ - ItemCollectionMetrics?: { [key: string]: ItemCollectionMetrics[] }; + UnprocessedItems?: { [key: string]: WriteRequest[] }; } export namespace BatchWriteItemOutput { @@ -8139,12 +8148,6 @@ export namespace BatchWriteItemOutput { *

                              Represents the input of an UpdateItem operation.

                              */ export interface UpdateItemInput { - /** - *

                              Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during - * the operation are returned in the response. If set to NONE (the default), no statistics are returned.

                              - */ - ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics | string; - /** *

                              Use ReturnValues if you want to get the item attributes as they appear * before or after they are updated. For UpdateItem, the valid values @@ -8180,54 +8183,6 @@ export interface UpdateItemInput { */ ReturnValues?: ReturnValue | string; - /** - *

                              One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

                              - *
                                - *
                              • - *

                                To access an attribute whose name conflicts with a DynamoDB reserved word.

                                - *
                              • - *
                              • - *

                                To create a placeholder for repeating occurrences of an attribute name in an expression.

                                - *
                              • - *
                              • - *

                                To prevent special characters in an attribute name from being misinterpreted in an expression.

                                - *
                              • - *
                              - *

                              Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

                              - *
                                - *
                              • - *

                                - * Percentile - *

                                - *
                              • - *
                              - *

                              The name of this attribute conflicts with a reserved word, so it cannot be used directly - * in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer - * Guide.) To work around this, you could specify the following for - * ExpressionAttributeNames:

                              - *
                                - *
                              • - *

                                - * {"#P":"Percentile"} - *

                                - *
                              • - *
                              - *

                              You could then use this substitution in an expression, as in this example:

                              - *
                                - *
                              • - *

                                - * #P = :val - *

                                - *
                              • - *
                              - * - *

                              Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

                              - *
                              - *

                              For more information about expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer - * Guide.

                              - */ - ExpressionAttributeNames?: { [key: string]: string }; - /** *

                              An expression that defines one or more attributes to be updated, the action to be * performed on them, and new values for them.

                              @@ -8321,6 +8276,60 @@ export interface UpdateItemInput { */ UpdateExpression?: string; + /** + *

                              One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

                              + *
                                + *
                              • + *

                                To access an attribute whose name conflicts with a DynamoDB reserved word.

                                + *
                              • + *
                              • + *

                                To create a placeholder for repeating occurrences of an attribute name in an expression.

                                + *
                              • + *
                              • + *

                                To prevent special characters in an attribute name from being misinterpreted in an expression.

                                + *
                              • + *
                              + *

                              Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

                              + *
                                + *
                              • + *

                                + * Percentile + *

                                + *
                              • + *
                              + *

                              The name of this attribute conflicts with a reserved word, so it cannot be used directly + * in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer + * Guide.) To work around this, you could specify the following for + * ExpressionAttributeNames:

                              + *
                                + *
                              • + *

                                + * {"#P":"Percentile"} + *

                                + *
                              • + *
                              + *

                              You could then use this substitution in an expression, as in this example:

                              + *
                                + *
                              • + *

                                + * #P = :val + *

                                + *
                              • + *
                              + * + *

                              Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

                              + *
                              + *

                              For more information about expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer + * Guide.

                              + */ + ExpressionAttributeNames?: { [key: string]: string }; + + /** + *

                              This is a legacy parameter. Use ConditionExpression instead. For more information, see + * ConditionalOperator in the Amazon DynamoDB Developer Guide.

                              + */ + ConditionalOperator?: ConditionalOperator | string; + /** *

                              A condition that must be satisfied in order for a conditional update to succeed.

                              *

                              An expression can contain any of the following:

                              @@ -8347,31 +8356,16 @@ export interface UpdateItemInput { ConditionExpression?: string; /** - *

                              This is a legacy parameter. Use ConditionExpression instead. For more information, see - * ConditionalOperator in the Amazon DynamoDB Developer Guide.

                              + *

                              This is a legacy parameter. Use UpdateExpression instead. For more information, see + * AttributeUpdates in the Amazon DynamoDB Developer Guide.

                              */ - ConditionalOperator?: ConditionalOperator | string; + AttributeUpdates?: { [key: string]: AttributeValueUpdate }; /** - *

                              One or more values that can be substituted in an expression.

                              - *

                              Use the : (colon) character in an expression to - * dereference an attribute value. For example, suppose that you wanted to check whether - * the value of the ProductStatus attribute was one of the following:

                              - *

                              - * Available | Backordered | Discontinued - *

                              - *

                              You would first need to specify ExpressionAttributeValues as follows:

                              - *

                              - * { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} } - *

                              - *

                              You could then use these values in an expression, such as this:

                              - *

                              - * ProductStatus IN (:avail, :back, :disc) - *

                              - *

                              For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer - * Guide.

                              + *

                              This is a legacy parameter. Use ConditionExpression instead. For more information, see + * Expected in the Amazon DynamoDB Developer Guide.

                              */ - ExpressionAttributeValues?: { [key: string]: AttributeValue }; + Expected?: { [key: string]: ExpectedAttributeValue }; /** *

                              Determines the level of detail about provisioned throughput consumption that is returned in the response:

                              @@ -8394,10 +8388,9 @@ export interface UpdateItemInput { ReturnConsumedCapacity?: ReturnConsumedCapacity | string; /** - *

                              This is a legacy parameter. Use UpdateExpression instead. For more information, see - * AttributeUpdates in the Amazon DynamoDB Developer Guide.

                              + *

                              The name of the table containing the item to update.

                              */ - AttributeUpdates?: { [key: string]: AttributeValueUpdate }; + TableName: string | undefined; /** *

                              The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.

                              @@ -8406,15 +8399,31 @@ export interface UpdateItemInput { Key: { [key: string]: AttributeValue } | undefined; /** - *

                              This is a legacy parameter. Use ConditionExpression instead. For more information, see - * Expected in the Amazon DynamoDB Developer Guide.

                              + *

                              Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during + * the operation are returned in the response. If set to NONE (the default), no statistics are returned.

                              */ - Expected?: { [key: string]: ExpectedAttributeValue }; + ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics | string; /** - *

                              The name of the table containing the item to update.

                              + *

                              One or more values that can be substituted in an expression.

                              + *

                              Use the : (colon) character in an expression to + * dereference an attribute value. For example, suppose that you wanted to check whether + * the value of the ProductStatus attribute was one of the following:

                              + *

                              + * Available | Backordered | Discontinued + *

                              + *

                              You would first need to specify ExpressionAttributeValues as follows:

                              + *

                              + * { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} } + *

                              + *

                              You could then use these values in an expression, such as this:

                              + *

                              + * ProductStatus IN (:avail, :back, :disc) + *

                              + *

                              For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer + * Guide.

                              */ - TableName: string | undefined; + ExpressionAttributeValues?: { [key: string]: AttributeValue }; } export namespace UpdateItemInput { @@ -8432,6 +8441,11 @@ export interface TransactWriteItem { */ Put?: Put; + /** + *

                              A request to perform a DeleteItem operation.

                              + */ + Delete?: Delete; + /** *

                              A request to perform a check item operation.

                              */ @@ -8441,11 +8455,6 @@ export interface TransactWriteItem { *

                              A request to perform an UpdateItem operation.

                              */ Update?: Update; - - /** - *

                              A request to perform a DeleteItem operation.

                              - */ - Delete?: Delete; } export namespace TransactWriteItem { @@ -8456,33 +8465,13 @@ export namespace TransactWriteItem { export interface TransactWriteItemsInput { /** - *

                              An ordered array of up to 25 TransactWriteItem objects, each of which - * contains a ConditionCheck, Put, Update, or - * Delete object. These can operate on items in different tables, but the - * tables must reside in the same AWS account and Region, and no two of them can operate on - * the same item.

                              - */ - TransactItems: TransactWriteItem[] | undefined; - - /** - *

                              Providing a ClientRequestToken makes the call to TransactWriteItems - * idempotent, meaning that multiple identical calls have the same effect as one single call.

                              - *

                              Although multiple identical calls using the same client request token produce the same - * result on the server (no side effects), the responses to the calls might not be the - * same. If the ReturnConsumedCapacity> parameter is set, then the initial - * TransactWriteItems call returns the amount of write capacity units - * consumed in making the changes. Subsequent TransactWriteItems calls with - * the same client token return the number of read capacity units consumed in reading the - * item.

                              - *

                              A client request token is valid for 10 minutes after the first request that uses it is - * completed. After 10 minutes, any request with the same client token is treated as a new - * request. Do not resubmit the same request with the same client token for more than 10 - * minutes, or the result might not be idempotent.

                              - *

                              If you submit a request with the same client token but a change in other parameters - * within the 10-minute idempotency window, DynamoDB returns an - * IdempotentParameterMismatch exception.

                              + *

                              Determines whether item collection metrics are returned. If set to + * SIZE, the response includes statistics about item collections (if any), that + * were modified during the operation and are returned in the response. + * If set to NONE (the default), no statistics are returned. + *

                              */ - ClientRequestToken?: string; + ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics | string; /** *

                              Determines the level of detail about provisioned throughput consumption that is returned in the response:

                              @@ -8505,13 +8494,33 @@ export interface TransactWriteItemsInput { ReturnConsumedCapacity?: ReturnConsumedCapacity | string; /** - *

                              Determines whether item collection metrics are returned. If set to - * SIZE, the response includes statistics about item collections (if any), that - * were modified during the operation and are returned in the response. - * If set to NONE (the default), no statistics are returned. - *

                              + *

                              Providing a ClientRequestToken makes the call to TransactWriteItems + * idempotent, meaning that multiple identical calls have the same effect as one single call.

                              + *

                              Although multiple identical calls using the same client request token produce the same + * result on the server (no side effects), the responses to the calls might not be the + * same. If the ReturnConsumedCapacity> parameter is set, then the initial + * TransactWriteItems call returns the amount of write capacity units + * consumed in making the changes. Subsequent TransactWriteItems calls with + * the same client token return the number of read capacity units consumed in reading the + * item.

                              + *

                              A client request token is valid for 10 minutes after the first request that uses it is + * completed. After 10 minutes, any request with the same client token is treated as a new + * request. Do not resubmit the same request with the same client token for more than 10 + * minutes, or the result might not be idempotent.

                              + *

                              If you submit a request with the same client token but a change in other parameters + * within the 10-minute idempotency window, DynamoDB returns an + * IdempotentParameterMismatch exception.

                              */ - ReturnItemCollectionMetrics?: ReturnItemCollectionMetrics | string; + ClientRequestToken?: string; + + /** + *

                              An ordered array of up to 25 TransactWriteItem objects, each of which + * contains a ConditionCheck, Put, Update, or + * Delete object. These can operate on items in different tables, but the + * tables must reside in the same AWS account and Region, and no two of them can operate on + * the same item.

                              + */ + TransactItems: TransactWriteItem[] | undefined; } export namespace TransactWriteItemsInput { diff --git a/clients/client-dynamodb/protocols/Aws_json1_0.ts b/clients/client-dynamodb/protocols/Aws_json1_0.ts index b1d9c2dea8ba..b0e9fab4f08f 100644 --- a/clients/client-dynamodb/protocols/Aws_json1_0.ts +++ b/clients/client-dynamodb/protocols/Aws_json1_0.ts @@ -7390,6 +7390,10 @@ const deserializeAws_json1_0ReplicaDescription = (output: any, context: __SerdeC ? deserializeAws_json1_0ProvisionedThroughputOverride(output.ProvisionedThroughputOverride, context) : undefined, RegionName: output.RegionName !== undefined && output.RegionName !== null ? output.RegionName : undefined, + ReplicaInaccessibleDateTime: + output.ReplicaInaccessibleDateTime !== undefined && output.ReplicaInaccessibleDateTime !== null + ? new Date(Math.round(output.ReplicaInaccessibleDateTime * 1000)) + : undefined, ReplicaStatus: output.ReplicaStatus !== undefined && output.ReplicaStatus !== null ? output.ReplicaStatus : undefined, ReplicaStatusDescription: diff --git a/clients/client-ebs/EBS.ts b/clients/client-ebs/EBS.ts index 2063b78038f4..a3c5f78e1dd1 100644 --- a/clients/client-ebs/EBS.ts +++ b/clients/client-ebs/EBS.ts @@ -32,13 +32,18 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

                              You can use the Amazon Elastic Block Store (EBS) direct APIs to directly read the data on your EBS - * snapshots, and identify the difference between two snapshots. You can view the details - * of blocks in an EBS snapshot, compare the block difference between two snapshots, and - * directly access the data in a snapshot. If you're an independent software vendor (ISV) - * who offers backup services for EBS, the EBS direct APIs make it easier and more cost-effective - * to track incremental changes on your EBS volumes via EBS snapshots. This can be done - * without having to create new volumes from EBS snapshots.

                              + *

                              You can use the Amazon Elastic Block Store (Amazon EBS) direct APIs to create EBS snapshots, write data directly to + * your snapshots, read data on your snapshots, and identify the differences or changes between + * two snapshots. If you’re an independent software vendor (ISV) who offers backup services for + * Amazon EBS, the EBS direct APIs make it more efficient and cost-effective to track incremental changes on + * your EBS volumes through snapshots. This can be done without having to create new volumes + * from snapshots, and then use Amazon Elastic Compute Cloud (Amazon EC2) instances to compare the differences.

                              + * + *

                              You can create incremental snapshots directly from data on-premises into EBS volumes and the + * cloud to use for quick disaster recovery. With the ability to write and read snapshots, you can + * write your on-premises data to an EBS snapshot during a disaster. Then after recovery, you can + * restore it back to AWS or on-premises from the snapshot. You no longer need to build and + * maintain complex mechanisms to copy data to and from Amazon EBS.

                              * * *

                              This API reference provides detailed information about the actions, data types, @@ -116,7 +121,7 @@ export class EBS extends EBSClient { } /** - *

                              Returns the block indexes and block tokens for blocks that are different between two + *

                              Returns information about the blocks that are different between two * Amazon Elastic Block Store snapshots of the same volume/snapshot lineage.

                              */ public listChangedBlocks( @@ -149,7 +154,7 @@ export class EBS extends EBSClient { } /** - *

                              Returns the block indexes and block tokens for blocks in an Amazon Elastic Block Store snapshot.

                              + *

                              Returns information about the blocks in an Amazon Elastic Block Store snapshot.

                              */ public listSnapshotBlocks( args: ListSnapshotBlocksCommandInput, @@ -181,7 +186,7 @@ export class EBS extends EBSClient { } /** - *

                              Writes a block of data to a block in the snapshot. If the specified block contains + *

                              Writes a block of data to a snapshot. If the specified block contains * data, the existing data is overwritten. The target snapshot must be in the * pending state.

                              *

                              Data written to a snapshot must be aligned with 512-byte sectors.

                              diff --git a/clients/client-ebs/EBSClient.ts b/clients/client-ebs/EBSClient.ts index 3d0f24d7424e..f43152d62845 100644 --- a/clients/client-ebs/EBSClient.ts +++ b/clients/client-ebs/EBSClient.ts @@ -182,13 +182,18 @@ export type EBSClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle HostHeaderResolvedConfig; /** - *

                              You can use the Amazon Elastic Block Store (EBS) direct APIs to directly read the data on your EBS - * snapshots, and identify the difference between two snapshots. You can view the details - * of blocks in an EBS snapshot, compare the block difference between two snapshots, and - * directly access the data in a snapshot. If you're an independent software vendor (ISV) - * who offers backup services for EBS, the EBS direct APIs make it easier and more cost-effective - * to track incremental changes on your EBS volumes via EBS snapshots. This can be done - * without having to create new volumes from EBS snapshots.

                              + *

                              You can use the Amazon Elastic Block Store (Amazon EBS) direct APIs to create EBS snapshots, write data directly to + * your snapshots, read data on your snapshots, and identify the differences or changes between + * two snapshots. If you’re an independent software vendor (ISV) who offers backup services for + * Amazon EBS, the EBS direct APIs make it more efficient and cost-effective to track incremental changes on + * your EBS volumes through snapshots. This can be done without having to create new volumes + * from snapshots, and then use Amazon Elastic Compute Cloud (Amazon EC2) instances to compare the differences.

                              + * + *

                              You can create incremental snapshots directly from data on-premises into EBS volumes and the + * cloud to use for quick disaster recovery. With the ability to write and read snapshots, you can + * write your on-premises data to an EBS snapshot during a disaster. Then after recovery, you can + * restore it back to AWS or on-premises from the snapshot. You no longer need to build and + * maintain complex mechanisms to copy data to and from Amazon EBS.

                              * * *

                              This API reference provides detailed information about the actions, data types, diff --git a/clients/client-ebs/models/models_0.ts b/clients/client-ebs/models/models_0.ts index a31866ad8999..092ce6d1af35 100644 --- a/clients/client-ebs/models/models_0.ts +++ b/clients/client-ebs/models/models_0.ts @@ -31,14 +31,14 @@ export namespace AccessDeniedException { */ export interface Block { /** - *

                              The block index.

                              + *

                              The block token for the block index.

                              */ - BlockIndex?: number; + BlockToken?: string; /** - *

                              The block token for the block index.

                              + *

                              The block index.

                              */ - BlockToken?: string; + BlockIndex?: number; } export namespace Block { @@ -52,11 +52,6 @@ export namespace Block { * the same volume/snapshot lineage.

                              */ export interface ChangedBlock { - /** - *

                              The block index.

                              - */ - BlockIndex?: number; - /** *

                              The block token for the block index of the FirstSnapshotId specified in * the ListChangedBlocks operation. This value is absent if the first snapshot @@ -64,6 +59,11 @@ export interface ChangedBlock { */ FirstBlockToken?: string; + /** + *

                              The block index.

                              + */ + BlockIndex?: number; + /** *

                              The block token for the block index of the SecondSnapshotId specified in * the ListChangedBlocks operation.

                              @@ -87,19 +87,9 @@ export enum ChecksumAlgorithm { export interface CompleteSnapshotRequest { /** - *

                              An aggregated Base-64 SHA256 checksum based on the checksums of each written - * block.

                              - *

                              To generate the aggregated checksum using the linear aggregation method, arrange the - * checksums for each written block in ascending order of their block index, concatenate - * them to form a single string, and then generate the checksum on the entire string using - * the SHA256 algorithm.

                              - */ - Checksum?: string; - - /** - *

                              The ID of the snapshot.

                              + *

                              The number of blocks that were written to the snapshot.

                              */ - SnapshotId: string | undefined; + ChangedBlocksCount: number | undefined; /** *

                              The aggregation method used to generate the checksum. Currently, the only supported @@ -107,16 +97,26 @@ export interface CompleteSnapshotRequest { */ ChecksumAggregationMethod?: ChecksumAggregationMethod | string; - /** - *

                              The number of blocks that were written to the snapshot.

                              - */ - ChangedBlocksCount: number | undefined; - /** *

                              The algorithm used to generate the checksum. Currently, the only supported algorithm * is SHA256.

                              */ ChecksumAlgorithm?: ChecksumAlgorithm | string; + + /** + *

                              The ID of the snapshot.

                              + */ + SnapshotId: string | undefined; + + /** + *

                              An aggregated Base-64 SHA256 checksum based on the checksums of each written + * block.

                              + *

                              To generate the aggregated checksum using the linear aggregation method, arrange the + * checksums for each written block in ascending order of their block index, concatenate + * them to form a single string, and then generate the checksum on the entire string using + * the SHA256 algorithm.

                              + */ + Checksum?: string; } export namespace CompleteSnapshotRequest { @@ -171,12 +171,11 @@ export enum RequestThrottledExceptionReason { export interface RequestThrottledException extends __SmithyException, $MetadataBearer { name: "RequestThrottledException"; $fault: "client"; + Message?: string; /** *

                              The reason for the exception.

                              */ Reason?: RequestThrottledExceptionReason | string; - - Message?: string; } export namespace RequestThrottledException { @@ -300,6 +299,11 @@ export namespace ConflictException { } export interface GetSnapshotBlockRequest { + /** + *

                              The ID of the snapshot containing the block from which to get data.

                              + */ + SnapshotId: string | undefined; + /** *

                              The block token of the block from which to get data.

                              * @@ -317,11 +321,6 @@ export interface GetSnapshotBlockRequest { * ListSnapshotBlocks operations.

                              */ BlockIndex: number | undefined; - - /** - *

                              The ID of the snapshot containing the block from which to get data.

                              - */ - SnapshotId: string | undefined; } export namespace GetSnapshotBlockRequest { @@ -332,24 +331,24 @@ export namespace GetSnapshotBlockRequest { export interface GetSnapshotBlockResponse { /** - *

                              The data content of the block.

                              + *

                              The size of the data in the block.

                              */ - BlockData?: Readable | ReadableStream | Blob; + DataLength?: number; /** - *

                              The checksum generated for the block, which is Base64 encoded.

                              + *

                              The algorithm used to generate the checksum for the block, such as SHA256.

                              */ - Checksum?: string; + ChecksumAlgorithm?: ChecksumAlgorithm | string; /** - *

                              The size of the data in the block.

                              + *

                              The checksum generated for the block, which is Base64 encoded.

                              */ - DataLength?: number; + Checksum?: string; /** - *

                              The algorithm used to generate the checksum for the block, such as SHA256.

                              + *

                              The data content of the block.

                              */ - ChecksumAlgorithm?: ChecksumAlgorithm | string; + BlockData?: Readable | ReadableStream | Blob; } export namespace GetSnapshotBlockResponse { @@ -360,6 +359,15 @@ export namespace GetSnapshotBlockResponse { } export interface ListChangedBlocksRequest { + /** + *

                              The ID of the second snapshot to use for the comparison.

                              + * + *

                              The SecondSnapshotId parameter must be specified with a + * FirstSnapshotID parameter; otherwise, an error occurs.

                              + *
                              + */ + SecondSnapshotId: string | undefined; + /** *

                              The ID of the first snapshot to use for the comparison.

                              * @@ -379,19 +387,8 @@ export interface ListChangedBlocksRequest { */ MaxResults?: number; - /** - *

                              The ID of the second snapshot to use for the comparison.

                              - * - *

                              The SecondSnapshotId parameter must be specified with a - * FirstSnapshotID parameter; otherwise, an error occurs.

                              - *
                              - */ - SecondSnapshotId: string | undefined; - /** *

                              The block index from which the comparison should start.

                              - * - * *

                              The list in the response will start from this block index or the next valid block * index in the snapshots.

                              */ @@ -406,25 +403,25 @@ export namespace ListChangedBlocksRequest { export interface ListChangedBlocksResponse { /** - *

                              The token to use to retrieve the next page of results. This value is null when there - * are no more results to return.

                              + *

                              The size of the block.

                              */ - NextToken?: string; + BlockSize?: number; /** - *

                              The size of the volume in GB.

                              + *

                              The time when the BlockToken expires.

                              */ - VolumeSize?: number; + ExpiryTime?: Date; /** - *

                              The size of the block.

                              + *

                              The size of the volume in GB.

                              */ - BlockSize?: number; + VolumeSize?: number; /** - *

                              The time when the BlockToken expires.

                              + *

                              The token to use to retrieve the next page of results. This value is null when there + * are no more results to return.

                              */ - ExpiryTime?: Date; + NextToken?: string; /** *

                              An array of objects containing information about the changed blocks.

                              @@ -441,9 +438,9 @@ export namespace ListChangedBlocksResponse { export interface ListSnapshotBlocksRequest { /** - *

                              The ID of the snapshot from which to get block indexes and block tokens.

                              + *

                              The number of results to return.

                              */ - SnapshotId: string | undefined; + MaxResults?: number; /** *

                              The block index from which the list should start. The list in the response will start @@ -457,9 +454,9 @@ export interface ListSnapshotBlocksRequest { NextToken?: string; /** - *

                              The number of results to return.

                              + *

                              The ID of the snapshot from which to get block indexes and block tokens.

                              */ - MaxResults?: number; + SnapshotId: string | undefined; } export namespace ListSnapshotBlocksRequest { @@ -480,6 +477,11 @@ export interface ListSnapshotBlocksResponse { */ NextToken?: string; + /** + *

                              The time when the BlockToken expires.

                              + */ + ExpiryTime?: Date; + /** *

                              An array of objects containing information about the blocks.

                              */ @@ -489,11 +491,6 @@ export interface ListSnapshotBlocksResponse { *

                              The size of the block.

                              */ BlockSize?: number; - - /** - *

                              The time when the BlockToken expires.

                              - */ - ExpiryTime?: Date; } export namespace ListSnapshotBlocksResponse { @@ -505,23 +502,16 @@ export namespace ListSnapshotBlocksResponse { export interface PutSnapshotBlockRequest { /** - *

                              The size of the data to write to the block, in bytes. Currently, the only supported - * size is 524288.

                              - *

                              Valid values: 524288 - *

                              - */ - DataLength: number | undefined; - - /** - *

                              The progress of the write process, as a percentage.

                              + *

                              The ID of the snapshot.

                              */ - Progress?: number; + SnapshotId: string | undefined; /** - *

                              The block index of the block in which to write the data. A block index is the offset - * position of a block within a snapshot, and it is used to identify the block. To identify - * the logical offset of the data in the logical volume, multiply the block index with the - * block size (Block index * 512 bytes).

                              + *

                              The block index of the block in which to write the data. A block index is a logical + * index in units of 512 KiB blocks. To identify the block index, divide + * the logical offset of the data in the logical volume by the block size (logical offset of + * data/524288). The logical offset of the data must be 512 + * KiB aligned.

                              */ BlockIndex: number | undefined; @@ -532,15 +522,9 @@ export interface PutSnapshotBlockRequest { Checksum: string | undefined; /** - *

                              The ID of the snapshot.

                              - */ - SnapshotId: string | undefined; - - /** - *

                              The algorithm used to generate the checksum. Currently, the only supported algorithm - * is SHA256.

                              + *

                              The progress of the write process, as a percentage.

                              */ - ChecksumAlgorithm: ChecksumAlgorithm | string | undefined; + Progress?: number; /** *

                              The data to write to the block.

                              @@ -556,6 +540,20 @@ export interface PutSnapshotBlockRequest { * Guide
                              .

                              */ BlockData: Readable | ReadableStream | Blob | undefined; + + /** + *

                              The size of the data to write to the block, in bytes. Currently, the only supported + * size is 524288.

                              + *

                              Valid values: 524288 + *

                              + */ + DataLength: number | undefined; + + /** + *

                              The algorithm used to generate the checksum. Currently, the only supported algorithm + * is SHA256.

                              + */ + ChecksumAlgorithm: ChecksumAlgorithm | string | undefined; } export namespace PutSnapshotBlockRequest { @@ -567,14 +565,14 @@ export namespace PutSnapshotBlockRequest { export interface PutSnapshotBlockResponse { /** - *

                              The SHA256 checksum generated for the block data by Amazon EBS.

                              + *

                              The algorithm used by Amazon EBS to generate the checksum.

                              */ - Checksum?: string; + ChecksumAlgorithm?: ChecksumAlgorithm | string; /** - *

                              The algorithm used by Amazon EBS to generate the checksum.

                              + *

                              The SHA256 checksum generated for the block data by Amazon EBS.

                              */ - ChecksumAlgorithm?: ChecksumAlgorithm | string; + Checksum?: string; } export namespace PutSnapshotBlockResponse { @@ -588,14 +586,14 @@ export namespace PutSnapshotBlockResponse { */ export interface Tag { /** - *

                              The value of the tag.

                              + *

                              The key of the tag.

                              */ - Value?: string; + Key?: string; /** - *

                              The key of the tag.

                              + *

                              The value of the tag.

                              */ - Key?: string; + Value?: string; } export namespace Tag { @@ -605,6 +603,21 @@ export namespace Tag { } export interface StartSnapshotRequest { + /** + *

                              The amount of time (in minutes) after which the snapshot is automatically cancelled + * if:

                              + *
                                + *
                              • + *

                                No blocks are written to the snapshot.

                                + *
                              • + *
                              • + *

                                The snapshot is not completed after writing the last block of data.

                                + *
                              • + *
                              + *

                              If no value is specified, the timeout defaults to 60 minutes.

                              + */ + Timeout?: number; + /** *

                              A unique, case-sensitive identifier that you provide to ensure the idempotency of the * request. Idempotency ensures that an API request completes only once. With an idempotent @@ -617,16 +630,6 @@ export interface StartSnapshotRequest { */ ClientToken?: string; - /** - *

                              A description for the snapshot.

                              - */ - Description?: string; - - /** - *

                              The tags to apply to the snapshot.

                              - */ - Tags?: Tag[]; - /** *

                              The size of the volume, in GiB. The maximum size is 16384 GiB (16 * TiB).

                              @@ -634,16 +637,9 @@ export interface StartSnapshotRequest { VolumeSize: number | undefined; /** - *

                              The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) - * customer master key (CMK) to be used to encrypt the snapshot. If you do not specify a - * CMK, the default AWS managed CMK is used.

                              - *

                              If you specify a ParentSnapshotId, omit this - * parameter; the snapshot will be encrypted using the same CMK that was used to encrypt - * the parent snapshot.

                              - *

                              If Encrypted is set to true, - * you must specify a CMK ARN.

                              + *

                              The tags to apply to the snapshot.

                              */ - KmsKeyArn?: string; + Tags?: Tag[]; /** *

                              Indicates whether to encrypt the snapshot. To create an encrypted snapshot, specify @@ -664,6 +660,18 @@ export interface StartSnapshotRequest { */ Encrypted?: boolean; + /** + *

                              The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) + * customer master key (CMK) to be used to encrypt the snapshot. If you do not specify a + * CMK, the default AWS managed CMK is used.

                              + *

                              If you specify a ParentSnapshotId, omit this + * parameter; the snapshot will be encrypted using the same CMK that was used to encrypt + * the parent snapshot.

                              + *

                              If Encrypted is set to true, + * you must specify a CMK ARN.

                              + */ + KmsKeyArn?: string; + /** *

                              The ID of the parent snapshot. If there is no parent snapshot, or if you are creating * the first snapshot for an on-premises volume, omit this parameter.

                              @@ -674,19 +682,9 @@ export interface StartSnapshotRequest { ParentSnapshotId?: string; /** - *

                              The amount of time (in minutes) after which the snapshot is automatically cancelled - * if:

                              - *
                                - *
                              • - *

                                No blocks are written to the snapshot.

                                - *
                              • - *
                              • - *

                                The snapshot is not completed after writing the last block of data.

                                - *
                              • - *
                              - *

                              If no value is specified, the timeout defaults to 60 minutes.

                              + *

                              A description for the snapshot.

                              */ - Timeout?: number; + Description?: string; } export namespace StartSnapshotRequest { @@ -698,40 +696,42 @@ export namespace StartSnapshotRequest { export interface StartSnapshotResponse { /** - *

                              The timestamp when the snapshot was created.

                              + *

                              The tags applied to the snapshot. You can specify up to 50 tags per snapshot. For more + * information, see Tagging your Amazon EC2 + * resources in the Amazon Elastic Compute Cloud User Guide.

                              */ - StartTime?: Date; + Tags?: Tag[]; /** - *

                              The AWS account ID of the snapshot owner.

                              + *

                              The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer + * master key (CMK) used to encrypt the snapshot.

                              */ - OwnerId?: string; + KmsKeyArn?: string; /** - *

                              The ID of the snapshot.

                              + *

                              The AWS account ID of the snapshot owner.

                              */ - SnapshotId?: string; + OwnerId?: string; /** - *

                              The description of the snapshot.

                              + *

                              The size of the volume, in GiB.

                              */ - Description?: string; + VolumeSize?: number; /** - *

                              The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer - * master key (CMK) used to encrypt the snapshot.

                              + *

                              The ID of the parent snapshot.

                              */ - KmsKeyArn?: string; + ParentSnapshotId?: string; /** - *

                              The ID of the parent snapshot.

                              + *

                              The description of the snapshot.

                              */ - ParentSnapshotId?: string; + Description?: string; /** - *

                              The status of the snapshot.

                              + *

                              The ID of the snapshot.

                              */ - Status?: Status | string; + SnapshotId?: string; /** *

                              The size of the blocks in the snapshot, in bytes.

                              @@ -739,16 +739,14 @@ export interface StartSnapshotResponse { BlockSize?: number; /** - *

                              The tags applied to the snapshot. You can specify up to 50 tags per snapshot. For more - * information, see Tagging your Amazon EC2 - * resources in the Amazon Elastic Compute Cloud User Guide.

                              + *

                              The timestamp when the snapshot was created.

                              */ - Tags?: Tag[]; + StartTime?: Date; /** - *

                              The size of the volume, in GiB.

                              + *

                              The status of the snapshot.

                              */ - VolumeSize?: number; + Status?: Status | string; } export namespace StartSnapshotResponse { diff --git a/clients/client-ebs/protocols/Aws_restJson1.ts b/clients/client-ebs/protocols/Aws_restJson1.ts index 2f8407f50610..fe68e233d0c1 100644 --- a/clients/client-ebs/protocols/Aws_restJson1.ts +++ b/clients/client-ebs/protocols/Aws_restJson1.ts @@ -36,14 +36,14 @@ export const serializeAws_restJson1CompleteSnapshotCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", - ...(isSerializableHeaderValue(input.Checksum) && { "x-amz-Checksum": input.Checksum! }), - ...(isSerializableHeaderValue(input.ChecksumAggregationMethod) && { - "x-amz-Checksum-Aggregation-Method": input.ChecksumAggregationMethod!, - }), ...(isSerializableHeaderValue(input.ChangedBlocksCount) && { "x-amz-ChangedBlocksCount": input.ChangedBlocksCount!.toString(), }), + ...(isSerializableHeaderValue(input.ChecksumAggregationMethod) && { + "x-amz-Checksum-Aggregation-Method": input.ChecksumAggregationMethod!, + }), ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && { "x-amz-Checksum-Algorithm": input.ChecksumAlgorithm! }), + ...(isSerializableHeaderValue(input.Checksum) && { "x-amz-Checksum": input.Checksum! }), }; let resolvedPath = "/snapshots/completion/{SnapshotId}"; if (input.SnapshotId !== undefined) { @@ -76,15 +76,6 @@ export const serializeAws_restJson1GetSnapshotBlockCommand = async ( "Content-Type": "", }; let resolvedPath = "/snapshots/{SnapshotId}/blocks/{BlockIndex}"; - if (input.BlockIndex !== undefined) { - const labelValue: string = input.BlockIndex.toString(); - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: BlockIndex."); - } - resolvedPath = resolvedPath.replace("{BlockIndex}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: BlockIndex."); - } if (input.SnapshotId !== undefined) { const labelValue: string = input.SnapshotId; if (labelValue.length <= 0) { @@ -94,6 +85,15 @@ export const serializeAws_restJson1GetSnapshotBlockCommand = async ( } else { throw new Error("No value provided for input HTTP label: SnapshotId."); } + if (input.BlockIndex !== undefined) { + const labelValue: string = input.BlockIndex.toString(); + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BlockIndex."); + } + resolvedPath = resolvedPath.replace("{BlockIndex}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BlockIndex."); + } const query: any = { ...(input.BlockToken !== undefined && { blockToken: input.BlockToken }), }; @@ -166,9 +166,9 @@ export const serializeAws_restJson1ListSnapshotBlocksCommand = async ( throw new Error("No value provided for input HTTP label: SnapshotId."); } const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.StartingBlockIndex !== undefined && { startingBlockIndex: input.StartingBlockIndex.toString() }), ...(input.NextToken !== undefined && { pageToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -191,21 +191,12 @@ export const serializeAws_restJson1PutSnapshotBlockCommand = async ( const headers: any = { "Content-Type": "application/octet-stream", "x-amz-content-sha256": "UNSIGNED-PAYLOAD", - ...(isSerializableHeaderValue(input.DataLength) && { "x-amz-Data-Length": input.DataLength!.toString() }), - ...(isSerializableHeaderValue(input.Progress) && { "x-amz-Progress": input.Progress!.toString() }), ...(isSerializableHeaderValue(input.Checksum) && { "x-amz-Checksum": input.Checksum! }), + ...(isSerializableHeaderValue(input.Progress) && { "x-amz-Progress": input.Progress!.toString() }), + ...(isSerializableHeaderValue(input.DataLength) && { "x-amz-Data-Length": input.DataLength!.toString() }), ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && { "x-amz-Checksum-Algorithm": input.ChecksumAlgorithm! }), }; let resolvedPath = "/snapshots/{SnapshotId}/blocks/{BlockIndex}"; - if (input.BlockIndex !== undefined) { - const labelValue: string = input.BlockIndex.toString(); - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: BlockIndex."); - } - resolvedPath = resolvedPath.replace("{BlockIndex}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: BlockIndex."); - } if (input.SnapshotId !== undefined) { const labelValue: string = input.SnapshotId; if (labelValue.length <= 0) { @@ -215,6 +206,15 @@ export const serializeAws_restJson1PutSnapshotBlockCommand = async ( } else { throw new Error("No value provided for input HTTP label: SnapshotId."); } + if (input.BlockIndex !== undefined) { + const labelValue: string = input.BlockIndex.toString(); + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BlockIndex."); + } + resolvedPath = resolvedPath.replace("{BlockIndex}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BlockIndex."); + } let body: any; if (input.BlockData !== undefined) { body = input.BlockData; @@ -371,15 +371,15 @@ export const deserializeAws_restJson1GetSnapshotBlockCommand = async ( ChecksumAlgorithm: undefined, DataLength: undefined, }; - if (output.headers["x-amz-checksum"] !== undefined) { - contents.Checksum = output.headers["x-amz-checksum"]; - } if (output.headers["x-amz-data-length"] !== undefined) { contents.DataLength = parseInt(output.headers["x-amz-data-length"], 10); } if (output.headers["x-amz-checksum-algorithm"] !== undefined) { contents.ChecksumAlgorithm = output.headers["x-amz-checksum-algorithm"]; } + if (output.headers["x-amz-checksum"] !== undefined) { + contents.Checksum = output.headers["x-amz-checksum"]; + } const data: any = output.body; contents.BlockData = data; return Promise.resolve(contents); @@ -696,12 +696,12 @@ export const deserializeAws_restJson1PutSnapshotBlockCommand = async ( Checksum: undefined, ChecksumAlgorithm: undefined, }; - if (output.headers["x-amz-checksum"] !== undefined) { - contents.Checksum = output.headers["x-amz-checksum"]; - } if (output.headers["x-amz-checksum-algorithm"] !== undefined) { contents.ChecksumAlgorithm = output.headers["x-amz-checksum-algorithm"]; } + if (output.headers["x-amz-checksum"] !== undefined) { + contents.Checksum = output.headers["x-amz-checksum"]; + } await collectBody(output.body, context); return Promise.resolve(contents); }; diff --git a/clients/client-ec2-instance-connect/models/models_0.ts b/clients/client-ec2-instance-connect/models/models_0.ts index 0aa35987ec94..6a88d63fda23 100644 --- a/clients/client-ec2-instance-connect/models/models_0.ts +++ b/clients/client-ec2-instance-connect/models/models_0.ts @@ -48,9 +48,9 @@ export namespace InvalidArgsException { export interface SendSSHPublicKeyRequest { /** - *

                              The availability zone the EC2 instance was launched in.

                              + *

                              The public key to be published to the instance. To use it after publication you must have the matching private key.

                              */ - AvailabilityZone: string | undefined; + SSHPublicKey: string | undefined; /** *

                              The EC2 instance you wish to publish the SSH key to.

                              @@ -58,9 +58,9 @@ export interface SendSSHPublicKeyRequest { InstanceId: string | undefined; /** - *

                              The public key to be published to the instance. To use it after publication you must have the matching private key.

                              + *

                              The availability zone the EC2 instance was launched in.

                              */ - SSHPublicKey: string | undefined; + AvailabilityZone: string | undefined; /** *

                              The OS user on the EC2 instance whom the key may be used to authenticate as.

                              diff --git a/clients/client-ec2/EC2.ts b/clients/client-ec2/EC2.ts index 24b1847c03fd..cfa9e1fefcf5 100644 --- a/clients/client-ec2/EC2.ts +++ b/clients/client-ec2/EC2.ts @@ -205,6 +205,11 @@ import { CreateCapacityReservationCommandInput, CreateCapacityReservationCommandOutput, } from "./commands/CreateCapacityReservationCommand"; +import { + CreateCarrierGatewayCommand, + CreateCarrierGatewayCommandInput, + CreateCarrierGatewayCommandOutput, +} from "./commands/CreateCarrierGatewayCommand"; import { CreateClientVpnEndpointCommand, CreateClientVpnEndpointCommandInput, @@ -394,6 +399,11 @@ import { CreateTransitGatewayPeeringAttachmentCommandInput, CreateTransitGatewayPeeringAttachmentCommandOutput, } from "./commands/CreateTransitGatewayPeeringAttachmentCommand"; +import { + CreateTransitGatewayPrefixListReferenceCommand, + CreateTransitGatewayPrefixListReferenceCommandInput, + CreateTransitGatewayPrefixListReferenceCommandOutput, +} from "./commands/CreateTransitGatewayPrefixListReferenceCommand"; import { CreateTransitGatewayRouteCommand, CreateTransitGatewayRouteCommandInput, @@ -450,6 +460,11 @@ import { CreateVpnGatewayCommandInput, CreateVpnGatewayCommandOutput, } from "./commands/CreateVpnGatewayCommand"; +import { + DeleteCarrierGatewayCommand, + DeleteCarrierGatewayCommandInput, + DeleteCarrierGatewayCommandOutput, +} from "./commands/DeleteCarrierGatewayCommand"; import { DeleteClientVpnEndpointCommand, DeleteClientVpnEndpointCommandInput, @@ -622,6 +637,11 @@ import { DeleteTransitGatewayPeeringAttachmentCommandInput, DeleteTransitGatewayPeeringAttachmentCommandOutput, } from "./commands/DeleteTransitGatewayPeeringAttachmentCommand"; +import { + DeleteTransitGatewayPrefixListReferenceCommand, + DeleteTransitGatewayPrefixListReferenceCommandInput, + DeleteTransitGatewayPrefixListReferenceCommandOutput, +} from "./commands/DeleteTransitGatewayPrefixListReferenceCommand"; import { DeleteTransitGatewayRouteCommand, DeleteTransitGatewayRouteCommandInput, @@ -738,6 +758,11 @@ import { DescribeCapacityReservationsCommandInput, DescribeCapacityReservationsCommandOutput, } from "./commands/DescribeCapacityReservationsCommand"; +import { + DescribeCarrierGatewaysCommand, + DescribeCarrierGatewaysCommandInput, + DescribeCarrierGatewaysCommandOutput, +} from "./commands/DescribeCarrierGatewaysCommand"; import { DescribeClassicLinkInstancesCommand, DescribeClassicLinkInstancesCommandInput, @@ -1504,6 +1529,11 @@ import { GetTransitGatewayMulticastDomainAssociationsCommandInput, GetTransitGatewayMulticastDomainAssociationsCommandOutput, } from "./commands/GetTransitGatewayMulticastDomainAssociationsCommand"; +import { + GetTransitGatewayPrefixListReferencesCommand, + GetTransitGatewayPrefixListReferencesCommandInput, + GetTransitGatewayPrefixListReferencesCommandOutput, +} from "./commands/GetTransitGatewayPrefixListReferencesCommand"; import { GetTransitGatewayRouteTableAssociationsCommand, GetTransitGatewayRouteTableAssociationsCommandInput, @@ -1667,6 +1697,16 @@ import { ModifyTrafficMirrorSessionCommandInput, ModifyTrafficMirrorSessionCommandOutput, } from "./commands/ModifyTrafficMirrorSessionCommand"; +import { + ModifyTransitGatewayCommand, + ModifyTransitGatewayCommandInput, + ModifyTransitGatewayCommandOutput, +} from "./commands/ModifyTransitGatewayCommand"; +import { + ModifyTransitGatewayPrefixListReferenceCommand, + ModifyTransitGatewayPrefixListReferenceCommandInput, + ModifyTransitGatewayPrefixListReferenceCommandOutput, +} from "./commands/ModifyTransitGatewayPrefixListReferenceCommand"; import { ModifyTransitGatewayVpcAttachmentCommand, ModifyTransitGatewayVpcAttachmentCommandInput, @@ -1722,6 +1762,11 @@ import { ModifyVpnConnectionCommandInput, ModifyVpnConnectionCommandOutput, } from "./commands/ModifyVpnConnectionCommand"; +import { + ModifyVpnConnectionOptionsCommand, + ModifyVpnConnectionOptionsCommandInput, + ModifyVpnConnectionOptionsCommandOutput, +} from "./commands/ModifyVpnConnectionOptionsCommand"; import { ModifyVpnTunnelCertificateCommand, ModifyVpnTunnelCertificateCommandInput, @@ -2257,6 +2302,7 @@ export class EC2 extends EC2Client { *

                              An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate * 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.

                              *

                              For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

                              + *

                              You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

                              */ public allocateAddress( args: AllocateAddressCommandInput, @@ -2438,8 +2484,9 @@ export class EC2 extends EC2Client { } /** - *

                              Associates an Elastic IP address with an instance or a network interface. Before you can - * use an Elastic IP address, you must allocate it to your account.

                              + *

                              Associates an Elastic IP address, or carrier IP address (for instances that are in + * subnets in Wavelength Zones) with an instance or a network interface. Before you can use an + * Elastic IP address, you must allocate it to your account.

                              *

                              An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. * For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

                              *

                              [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already @@ -2452,6 +2499,8 @@ export class EC2 extends EC2Client { * associated with a different instance or a network interface, you get an error unless you allow * reassociation. You cannot associate an Elastic IP address with an instance or network * interface that has an existing Elastic IP address.

                              + *

                              [Subnets in Wavelength Zones] You can associate an IP address from the telecommunication + * carrier to the instance or network interface.

                              *

                              You cannot associate an Elastic IP address with an interface in a different network border group.

                              * *

                              This is an idempotent operation. If you perform the operation more than once, Amazon EC2 @@ -2879,7 +2928,7 @@ export class EC2 extends EC2Client { *

                              Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For * more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

                              *

                              After you attach an EBS volume, you must make it available. For more information, see - * Making an EBS Volume Available For Use.

                              + * Making an EBS volume available for use.

                              *

                              If a volume has an AWS Marketplace product code:

                              *
                                *
                              • @@ -2897,7 +2946,7 @@ export class EC2 extends EC2Client { * instance.

                                *
                              • *
                              - *

                              For more information, see Attaching Amazon EBS Volumes in the + *

                              For more information, see Attaching Amazon EBS volumes in the * Amazon Elastic Compute Cloud User Guide.

                              */ public attachVolume( @@ -3498,7 +3547,7 @@ export class EC2 extends EC2Client { * permissions for the CMK used to encrypt the snapshot.

                              *

                              Snapshots created by copying another snapshot have an arbitrary volume ID that should not * be used for any purpose.

                              - *

                              For more information, see Copying an Amazon EBS Snapshot in the + *

                              For more information, see Copying an Amazon EBS snapshot in the * Amazon Elastic Compute Cloud User Guide.

                              */ public copySnapshot( @@ -3575,6 +3624,39 @@ export class EC2 extends EC2Client { } } + /** + *

                              Creates a carrier gateway. For more information about carrier gateways, see Carrier gateways in the AWS Wavelength Developer + * Guide.

                              + */ + public createCarrierGateway( + args: CreateCarrierGatewayCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createCarrierGateway( + args: CreateCarrierGatewayCommandInput, + cb: (err: any, data?: CreateCarrierGatewayCommandOutput) => void + ): void; + public createCarrierGateway( + args: CreateCarrierGatewayCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateCarrierGatewayCommandOutput) => void + ): void; + public createCarrierGateway( + args: CreateCarrierGatewayCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateCarrierGatewayCommandOutput) => void), + cb?: (err: any, data?: CreateCarrierGatewayCommandOutput) => void + ): Promise | void { + const command = new CreateCarrierGatewayCommand(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 Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to * enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions @@ -3646,7 +3728,7 @@ export class EC2 extends EC2Client { *

                              Provides information to AWS about your VPN customer gateway device. The customer * gateway is the appliance at your end of the VPN connection. (The device on the AWS side * of the VPN connection is the virtual private gateway.) You must provide the - * Internet-routable IP address of the customer gateway's external interface. The IP + * internet-routable IP address of the customer gateway's external interface. The IP * address must be static and can be behind a device performing network address translation * (NAT).

                              *

                              For devices that use Border Gateway Protocol (BGP), you can also provide the device's @@ -3654,9 +3736,22 @@ export class EC2 extends EC2Client { * network. If you don't have an ASN already, you can use a private ASN (in the 64512 - * 65534 range).

                              * - *

                              Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the - * exception of 7224, which is reserved in the us-east-1 Region, and 9059, - * which is reserved in the eu-west-1 Region.

                              + *

                              Amazon EC2 supports all 4-byte ASN numbers in the range of 1 - 2147483647, with the + * exception of the following:

                              + *
                                + *
                              • + *

                                7224 - reserved in the us-east-1 Region

                                + *
                              • + *
                              • + *

                                9059 - reserved in the eu-west-1 Region

                                + *
                              • + *
                              • + *

                                17943 - reserved in the ap-southeast-1 Region

                                + *
                              • + *
                              • + *

                                10124 - reserved in the ap-northeast-1 Region

                                + *
                              • + *
                              *
                              *

                              For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN * User Guide.

                              @@ -4726,8 +4821,8 @@ export class EC2 extends EC2Client { *

                              Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that * are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes * and any associated snapshots always remain protected.

                              - *

                              You can tag your snapshots during creation. For more information, see Tagging Your Amazon EC2 - * Resources in the Amazon Elastic Compute Cloud User Guide.

                              + *

                              You can tag your snapshots during creation. For more information, see Tagging your Amazon EC2 + * resources in the Amazon Elastic Compute Cloud User Guide.

                              *

                              For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

                              */ public createSnapshot( @@ -5170,6 +5265,40 @@ export class EC2 extends EC2Client { } } + /** + *

                              Creates a reference (route) to a prefix list in a specified transit gateway route table.

                              + */ + public createTransitGatewayPrefixListReference( + args: CreateTransitGatewayPrefixListReferenceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createTransitGatewayPrefixListReference( + args: CreateTransitGatewayPrefixListReferenceCommandInput, + cb: (err: any, data?: CreateTransitGatewayPrefixListReferenceCommandOutput) => void + ): void; + public createTransitGatewayPrefixListReference( + args: CreateTransitGatewayPrefixListReferenceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateTransitGatewayPrefixListReferenceCommandOutput) => void + ): void; + public createTransitGatewayPrefixListReference( + args: CreateTransitGatewayPrefixListReferenceCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: CreateTransitGatewayPrefixListReferenceCommandOutput) => void), + cb?: (err: any, data?: CreateTransitGatewayPrefixListReferenceCommandOutput) => void + ): Promise | void { + const command = new CreateTransitGatewayPrefixListReferenceCommand(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 static route for the specified transit gateway route table.

                              */ @@ -5280,9 +5409,9 @@ export class EC2 extends EC2Client { * support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically * encrypted. For more information, see Amazon EBS Encryption * in the Amazon Elastic Compute Cloud User Guide.

                              - *

                              You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 - * Resources in the Amazon Elastic Compute Cloud User Guide.

                              - *

                              For more information, see Creating an Amazon EBS Volume in the + *

                              You can tag your volumes during creation. For more information, see Tagging your Amazon EC2 + * resources in the Amazon Elastic Compute Cloud User Guide.

                              + *

                              For more information, see Creating an Amazon EBS volume in the * Amazon Elastic Compute Cloud User Guide.

                              */ public createVolume( @@ -5514,14 +5643,14 @@ export class EC2 extends EC2Client { } /** - *

                              Creates a VPN connection between an existing virtual private gateway and a VPN + *

                              Creates a VPN connection between an existing virtual private gateway or transit gateway and a * customer gateway. The supported connection type is ipsec.1.

                              *

                              The response includes information that you need to give to your network administrator * to configure your customer gateway.

                              * *

                              We strongly recommend that you use HTTPS when calling this operation because the * response contains sensitive cryptographic information for configuring your customer - * gateway.

                              + * gateway device.

                              *
                              *

                              If you decide to shut down your VPN connection for any reason and later create a new * VPN connection, you must reconfigure your customer gateway with the new information @@ -5626,6 +5755,43 @@ export class EC2 extends EC2Client { } } + /** + *

                              Deletes a carrier gateway.

                              + * + *

                              If you do not delete the route that contains the carrier gateway as the + * Target, the route is a blackhole route. For information about how to delete a route, see + * DeleteRoute.

                              + *
                              + */ + public deleteCarrierGateway( + args: DeleteCarrierGatewayCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteCarrierGateway( + args: DeleteCarrierGatewayCommandInput, + cb: (err: any, data?: DeleteCarrierGatewayCommandOutput) => void + ): void; + public deleteCarrierGateway( + args: DeleteCarrierGatewayCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteCarrierGatewayCommandOutput) => void + ): void; + public deleteCarrierGateway( + args: DeleteCarrierGatewayCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteCarrierGatewayCommandOutput) => void), + cb?: (err: any, data?: DeleteCarrierGatewayCommandOutput) => void + ): Promise | void { + const command = new DeleteCarrierGatewayCommand(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 Client VPN endpoint. You must disassociate all target networks before you * can delete a Client VPN endpoint.

                              @@ -6451,7 +6617,7 @@ export class EC2 extends EC2Client { * to all the information needed to restore the volume.

                              *

                              You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. * You must first de-register the AMI before you can delete the snapshot.

                              - *

                              For more information, see Deleting an Amazon EBS Snapshot in the + *

                              For more information, see Deleting an Amazon EBS snapshot in the * Amazon Elastic Compute Cloud User Guide.

                              */ public deleteSnapshot( @@ -6801,6 +6967,40 @@ export class EC2 extends EC2Client { } } + /** + *

                              Deletes a reference (route) to a prefix list in a specified transit gateway route table.

                              + */ + public deleteTransitGatewayPrefixListReference( + args: DeleteTransitGatewayPrefixListReferenceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteTransitGatewayPrefixListReference( + args: DeleteTransitGatewayPrefixListReferenceCommandInput, + cb: (err: any, data?: DeleteTransitGatewayPrefixListReferenceCommandOutput) => void + ): void; + public deleteTransitGatewayPrefixListReference( + args: DeleteTransitGatewayPrefixListReferenceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteTransitGatewayPrefixListReferenceCommandOutput) => void + ): void; + public deleteTransitGatewayPrefixListReference( + args: DeleteTransitGatewayPrefixListReferenceCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DeleteTransitGatewayPrefixListReferenceCommandOutput) => void), + cb?: (err: any, data?: DeleteTransitGatewayPrefixListReferenceCommandOutput) => void + ): Promise | void { + const command = new DeleteTransitGatewayPrefixListReferenceCommand(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 route from the specified transit gateway route table.

                              */ @@ -6902,7 +7102,7 @@ export class EC2 extends EC2Client { *

                              Deletes the specified EBS volume. The volume must be in the available state * (not attached to an instance).

                              *

                              The volume can remain in the deleting state for several minutes.

                              - *

                              For more information, see Deleting an Amazon EBS Volume in the + *

                              For more information, see Deleting an Amazon EBS volume in the * Amazon Elastic Compute Cloud User Guide.

                              */ public deleteVolume( @@ -7523,10 +7723,12 @@ export class EC2 extends EC2Client { } /** - *

                              Describes the Availability Zones and Local Zones that are available to you. - * If there is an event impacting an Availability Zone or Local Zone, you can use this request to view the state and any provided messages for that Availability Zone or Local Zone.

                              - *

                              For more information about Availability Zones and Local Zones, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User - * Guide.

                              + *

                              Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to + * you. If there is an event impacting a zone, you can use this request to view the state and any + * provided messages for that zone.

                              + *

                              For more information about Availability Zones, Local Zones, and Wavelength Zones, see + * Regions, Zones and + * Outposts in the Amazon Elastic Compute Cloud User Guide.

                              */ public describeAvailabilityZones( args: DescribeAvailabilityZonesCommandInput, @@ -7659,6 +7861,38 @@ export class EC2 extends EC2Client { } } + /** + *

                              Describes one or more of your carrier gateways.

                              + */ + public describeCarrierGateways( + args: DescribeCarrierGatewaysCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeCarrierGateways( + args: DescribeCarrierGatewaysCommandInput, + cb: (err: any, data?: DescribeCarrierGatewaysCommandOutput) => void + ): void; + public describeCarrierGateways( + args: DescribeCarrierGatewaysCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeCarrierGatewaysCommandOutput) => void + ): void; + public describeCarrierGateways( + args: DescribeCarrierGatewaysCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeCarrierGatewaysCommandOutput) => void), + cb?: (err: any, data?: DescribeCarrierGatewaysCommandOutput) => void + ): Promise | void { + const command = new DescribeCarrierGatewaysCommand(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 one or more of your linked EC2-Classic instances. This request only returns * information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot @@ -10912,7 +11146,7 @@ export class EC2 extends EC2Client { * recent modification request.

                              *

                              You can also use CloudWatch Events to check the status of a modification to an EBS * volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see - * Monitoring Volume Modifications in the + * Monitoring volume modifications in the * Amazon Elastic Compute Cloud User Guide.

                              */ public describeVolumesModifications( @@ -10961,7 +11195,7 @@ export class EC2 extends EC2Client { * ok. If the check fails, the overall status is impaired. If the * status is insufficient-data, then the checks may still be taking place on your * volume at the time. We recommend that you retry the request. For more information about volume - * status, see Monitoring the Status of Your Volumes in the + * status, see Monitoring the status of your volumes in the * Amazon Elastic Compute Cloud User Guide.

                              *

                              * Events: Reflect the cause of a volume status and may require you to @@ -11545,7 +11779,7 @@ export class EC2 extends EC2Client { * first.

                              *

                              When a volume with an AWS Marketplace product code is detached from an instance, the * product code is no longer associated with the instance.

                              - *

                              For more information, see Detaching an Amazon EBS Volume in the + *

                              For more information, see Detaching an Amazon EBS volume in the * Amazon Elastic Compute Cloud User Guide.

                              */ public detachVolume( @@ -12114,7 +12348,7 @@ export class EC2 extends EC2Client { * existing volumes.

                              *

                              After you enable encryption by default, you can no longer launch instances * using instance types that do not support encryption. For more information, see Supported - * Instance Types.

                              + * instance types.

                              */ public enableEbsEncryptionByDefault( args: EnableEbsEncryptionByDefaultCommandInput, @@ -12150,8 +12384,8 @@ export class EC2 extends EC2Client { *

                              You get the full benefit of fast snapshot restores after they enter the enabled state. * To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. * To disable fast snapshot restores, use DisableFastSnapshotRestores.

                              - *

                              For more information, see Amazon EBS Fast Snapshot - * Restore in the Amazon Elastic Compute Cloud User Guide.

                              + *

                              For more information, see Amazon EBS fast snapshot + * restore in the Amazon Elastic Compute Cloud User Guide.

                              */ public enableFastSnapshotRestores( args: EnableFastSnapshotRestoresCommandInput, @@ -13085,6 +13319,40 @@ export class EC2 extends EC2Client { } } + /** + *

                              Gets information about the prefix list references in a specified transit gateway route table.

                              + */ + public getTransitGatewayPrefixListReferences( + args: GetTransitGatewayPrefixListReferencesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getTransitGatewayPrefixListReferences( + args: GetTransitGatewayPrefixListReferencesCommandInput, + cb: (err: any, data?: GetTransitGatewayPrefixListReferencesCommandOutput) => void + ): void; + public getTransitGatewayPrefixListReferences( + args: GetTransitGatewayPrefixListReferencesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetTransitGatewayPrefixListReferencesCommandOutput) => void + ): void; + public getTransitGatewayPrefixListReferences( + args: GetTransitGatewayPrefixListReferencesCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: GetTransitGatewayPrefixListReferencesCommandOutput) => void), + cb?: (err: any, data?: GetTransitGatewayPrefixListReferencesCommandOutput) => void + ): Promise | void { + const command = new GetTransitGatewayPrefixListReferencesCommand(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 information about the associations for the specified transit gateway route table.

                              */ @@ -13353,7 +13621,8 @@ export class EC2 extends EC2Client { } /** - *

                              Enables or disables an Availability Zone group for your account.

                              + *

                              Changes the opt-in status of the Local Zone and Wavelength Zone group for your + * account.

                              *

                              Use * DescribeAvailabilityZones to view the value for GroupName.

                              */ @@ -14186,7 +14455,7 @@ export class EC2 extends EC2Client { * you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

                              *

                              Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made * public. Snapshots encrypted with your default CMK cannot be shared with other accounts.

                              - *

                              For more information about modifying snapshot permissions, see Sharing Snapshots in the + *

                              For more information about modifying snapshot permissions, see Sharing snapshots in the * Amazon Elastic Compute Cloud User Guide.

                              */ public modifySnapshotAttribute( @@ -14411,6 +14680,72 @@ export class EC2 extends EC2Client { } } + /** + *

                              Modifies the specified transit gateway. When you modify a transit gateway, the modified options are applied to new transit gateway attachments only. Your existing transit gateway attachments are not modified.

                              + */ + public modifyTransitGateway( + args: ModifyTransitGatewayCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public modifyTransitGateway( + args: ModifyTransitGatewayCommandInput, + cb: (err: any, data?: ModifyTransitGatewayCommandOutput) => void + ): void; + public modifyTransitGateway( + args: ModifyTransitGatewayCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyTransitGatewayCommandOutput) => void + ): void; + public modifyTransitGateway( + args: ModifyTransitGatewayCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ModifyTransitGatewayCommandOutput) => void), + cb?: (err: any, data?: ModifyTransitGatewayCommandOutput) => void + ): Promise | void { + const command = new ModifyTransitGatewayCommand(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 a reference (route) to a prefix list in a specified transit gateway route table.

                              + */ + public modifyTransitGatewayPrefixListReference( + args: ModifyTransitGatewayPrefixListReferenceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public modifyTransitGatewayPrefixListReference( + args: ModifyTransitGatewayPrefixListReferenceCommandInput, + cb: (err: any, data?: ModifyTransitGatewayPrefixListReferenceCommandOutput) => void + ): void; + public modifyTransitGatewayPrefixListReference( + args: ModifyTransitGatewayPrefixListReferenceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyTransitGatewayPrefixListReferenceCommandOutput) => void + ): void; + public modifyTransitGatewayPrefixListReference( + args: ModifyTransitGatewayPrefixListReferenceCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: ModifyTransitGatewayPrefixListReferenceCommandOutput) => void), + cb?: (err: any, data?: ModifyTransitGatewayPrefixListReferenceCommandOutput) => void + ): Promise | void { + const command = new ModifyTransitGatewayPrefixListReferenceCommand(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 the specified VPC attachment.

                              */ @@ -14447,24 +14782,24 @@ export class EC2 extends EC2Client { *

                              You can modify several parameters of an existing EBS volume, including volume size, volume * type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance * type, you may be able to apply these changes without stopping the instance or detaching the - * volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or - * Type of an EBS Volume on Linux. For more information about modifying an EBS volume - * running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

                              + * volume from it. For more information about modifying an EBS volume running Linux, see Modifying the size, IOPS, or + * type of an EBS volume on Linux. For more information about modifying an EBS volume + * running Windows, see Modifying the size, IOPS, or type of an EBS volume on Windows.

                              *

                              When you complete a resize operation on your volume, you need to extend the volume's * file-system size to take advantage of the new storage capacity. For information about * extending a Linux file system, see Extending a Linux - * File System. For information about extending a Windows file system, see Extending a - * Windows File System.

                              + * file system. For information about extending a Windows file system, see Extending a + * Windows file system.

                              *

                              You can use CloudWatch Events to check the status of a modification to an EBS volume. For * information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a * modification using DescribeVolumesModifications. For information - * about tracking status changes using either method, see Monitoring Volume - * Modifications.

                              + * about tracking status changes using either method, see Monitoring volume + * modifications.

                              *

                              With previous-generation instance types, resizing an EBS volume may require detaching and * reattaching the volume or stopping and restarting the instance. For more information, see - * Modifying the Size, - * IOPS, or Type of an EBS Volume on Linux and Modifying the Size, IOPS, or Type of an EBS - * Volume on Windows.

                              + * Modifying the size, + * IOPS, or type of an EBS volume on Linux and Modifying the size, IOPS, or type of an EBS + * volume on Windows.

                              *

                              If you reach the maximum volume modification rate per volume limit, you will need to wait * at least six hours before applying further modifications to the affected EBS volume.

                              */ @@ -14867,6 +15202,39 @@ export class EC2 extends EC2Client { } } + /** + *

                              Modifies the connection options for your Site-to-Site VPN connection.

                              + *

                              When you modify the VPN connection options, the VPN endpoint IP addresses on the AWS side do not change, and the tunnel options do not change. Your VPN connection will be temporarily unavailable for a brief period while the VPN connection is updated.

                              + */ + public modifyVpnConnectionOptions( + args: ModifyVpnConnectionOptionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public modifyVpnConnectionOptions( + args: ModifyVpnConnectionOptionsCommandInput, + cb: (err: any, data?: ModifyVpnConnectionOptionsCommandOutput) => void + ): void; + public modifyVpnConnectionOptions( + args: ModifyVpnConnectionOptionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyVpnConnectionOptionsCommandOutput) => void + ): void; + public modifyVpnConnectionOptions( + args: ModifyVpnConnectionOptionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ModifyVpnConnectionOptionsCommandOutput) => void), + cb?: (err: any, data?: ModifyVpnConnectionOptionsCommandOutput) => void + ): Promise | void { + const command = new ModifyVpnConnectionOptionsCommand(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 the VPN tunnel endpoint certificate.

                              */ @@ -16106,7 +16474,7 @@ export class EC2 extends EC2Client { /** *

                              Resets permission settings for the specified snapshot.

                              - *

                              For more information about modifying snapshot permissions, see Sharing Snapshots in the + *

                              For more information about modifying snapshot permissions, see Sharing snapshots in the * Amazon Elastic Compute Cloud User Guide.

                              */ public resetSnapshotAttribute( @@ -16236,9 +16604,15 @@ export class EC2 extends EC2Client { /** *

                              [VPC only] Removes the specified egress rules from a security group for EC2-VPC. - * This action doesn't apply to security groups for use in EC2-Classic. To remove a rule, the + * This action does not apply to security groups for use in EC2-Classic. To remove a rule, the * values that you specify (for example, ports) must match the existing rule's values * exactly.

                              + * + *

                              [Default VPC] If the values you specify do not match the existing rule's values, no error is + * returned, and the output describes the security group rules that were not revoked.

                              + *

                              AWS recommends that you use DescribeSecurityGroups to verify + * that the rule has been removed.

                              + *
                              *

                              Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source security * group. For the TCP and UDP protocols, you must also specify the destination port or range of * ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule @@ -16277,11 +16651,15 @@ export class EC2 extends EC2Client { /** *

                              Removes the specified ingress rules from a security group. To remove a rule, the values * that you specify (for example, ports) must match the existing rule's values exactly.

                              + * * - *

                              [EC2-Classic only] If the values you specify do not match the existing - * rule's values, no error is returned. Use DescribeSecurityGroups to - * verify that the rule has been removed.

                              + *

                              [EC2-Classic , default VPC] If the values you specify do not match the existing rule's values, + * no error is returned, and the output describes the security group rules that were + * not revoked.

                              + *

                              AWS recommends that you use DescribeSecurityGroups to verify + * that the rule has been removed.

                              *
                              + * *

                              Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

                              *

                              Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

                              */ diff --git a/clients/client-ec2/EC2Client.ts b/clients/client-ec2/EC2Client.ts index f0f5101a6a0b..f042670d6914 100644 --- a/clients/client-ec2/EC2Client.ts +++ b/clients/client-ec2/EC2Client.ts @@ -127,6 +127,10 @@ import { CreateCapacityReservationCommandInput, CreateCapacityReservationCommandOutput, } from "./commands/CreateCapacityReservationCommand"; +import { + CreateCarrierGatewayCommandInput, + CreateCarrierGatewayCommandOutput, +} from "./commands/CreateCarrierGatewayCommand"; import { CreateClientVpnEndpointCommandInput, CreateClientVpnEndpointCommandOutput, @@ -246,6 +250,10 @@ import { CreateTransitGatewayPeeringAttachmentCommandInput, CreateTransitGatewayPeeringAttachmentCommandOutput, } from "./commands/CreateTransitGatewayPeeringAttachmentCommand"; +import { + CreateTransitGatewayPrefixListReferenceCommandInput, + CreateTransitGatewayPrefixListReferenceCommandOutput, +} from "./commands/CreateTransitGatewayPrefixListReferenceCommand"; import { CreateTransitGatewayRouteCommandInput, CreateTransitGatewayRouteCommandOutput, @@ -282,6 +290,10 @@ import { CreateVpnConnectionRouteCommandOutput, } from "./commands/CreateVpnConnectionRouteCommand"; import { CreateVpnGatewayCommandInput, CreateVpnGatewayCommandOutput } from "./commands/CreateVpnGatewayCommand"; +import { + DeleteCarrierGatewayCommandInput, + DeleteCarrierGatewayCommandOutput, +} from "./commands/DeleteCarrierGatewayCommand"; import { DeleteClientVpnEndpointCommandInput, DeleteClientVpnEndpointCommandOutput, @@ -390,6 +402,10 @@ import { DeleteTransitGatewayPeeringAttachmentCommandInput, DeleteTransitGatewayPeeringAttachmentCommandOutput, } from "./commands/DeleteTransitGatewayPeeringAttachmentCommand"; +import { + DeleteTransitGatewayPrefixListReferenceCommandInput, + DeleteTransitGatewayPrefixListReferenceCommandOutput, +} from "./commands/DeleteTransitGatewayPrefixListReferenceCommand"; import { DeleteTransitGatewayRouteCommandInput, DeleteTransitGatewayRouteCommandOutput, @@ -465,6 +481,10 @@ import { DescribeCapacityReservationsCommandInput, DescribeCapacityReservationsCommandOutput, } from "./commands/DescribeCapacityReservationsCommand"; +import { + DescribeCarrierGatewaysCommandInput, + DescribeCarrierGatewaysCommandOutput, +} from "./commands/DescribeCarrierGatewaysCommand"; import { DescribeClassicLinkInstancesCommandInput, DescribeClassicLinkInstancesCommandOutput, @@ -1012,6 +1032,10 @@ import { GetTransitGatewayMulticastDomainAssociationsCommandInput, GetTransitGatewayMulticastDomainAssociationsCommandOutput, } from "./commands/GetTransitGatewayMulticastDomainAssociationsCommand"; +import { + GetTransitGatewayPrefixListReferencesCommandInput, + GetTransitGatewayPrefixListReferencesCommandOutput, +} from "./commands/GetTransitGatewayPrefixListReferencesCommand"; import { GetTransitGatewayRouteTableAssociationsCommandInput, GetTransitGatewayRouteTableAssociationsCommandOutput, @@ -1128,6 +1152,14 @@ import { ModifyTrafficMirrorSessionCommandInput, ModifyTrafficMirrorSessionCommandOutput, } from "./commands/ModifyTrafficMirrorSessionCommand"; +import { + ModifyTransitGatewayCommandInput, + ModifyTransitGatewayCommandOutput, +} from "./commands/ModifyTransitGatewayCommand"; +import { + ModifyTransitGatewayPrefixListReferenceCommandInput, + ModifyTransitGatewayPrefixListReferenceCommandOutput, +} from "./commands/ModifyTransitGatewayPrefixListReferenceCommand"; import { ModifyTransitGatewayVpcAttachmentCommandInput, ModifyTransitGatewayVpcAttachmentCommandOutput, @@ -1160,6 +1192,10 @@ import { ModifyVpnConnectionCommandInput, ModifyVpnConnectionCommandOutput, } from "./commands/ModifyVpnConnectionCommand"; +import { + ModifyVpnConnectionOptionsCommandInput, + ModifyVpnConnectionOptionsCommandOutput, +} from "./commands/ModifyVpnConnectionOptionsCommand"; import { ModifyVpnTunnelCertificateCommandInput, ModifyVpnTunnelCertificateCommandOutput, @@ -1431,6 +1467,7 @@ export type ServiceInputTypes = | CopyImageCommandInput | CopySnapshotCommandInput | CreateCapacityReservationCommandInput + | CreateCarrierGatewayCommandInput | CreateClientVpnEndpointCommandInput | CreateClientVpnRouteCommandInput | CreateCustomerGatewayCommandInput @@ -1472,6 +1509,7 @@ export type ServiceInputTypes = | CreateTransitGatewayCommandInput | CreateTransitGatewayMulticastDomainCommandInput | CreateTransitGatewayPeeringAttachmentCommandInput + | CreateTransitGatewayPrefixListReferenceCommandInput | CreateTransitGatewayRouteCommandInput | CreateTransitGatewayRouteTableCommandInput | CreateTransitGatewayVpcAttachmentCommandInput @@ -1484,6 +1522,7 @@ export type ServiceInputTypes = | CreateVpnConnectionCommandInput | CreateVpnConnectionRouteCommandInput | CreateVpnGatewayCommandInput + | DeleteCarrierGatewayCommandInput | DeleteClientVpnEndpointCommandInput | DeleteClientVpnRouteCommandInput | DeleteCustomerGatewayCommandInput @@ -1520,6 +1559,7 @@ export type ServiceInputTypes = | DeleteTransitGatewayCommandInput | DeleteTransitGatewayMulticastDomainCommandInput | DeleteTransitGatewayPeeringAttachmentCommandInput + | DeleteTransitGatewayPrefixListReferenceCommandInput | DeleteTransitGatewayRouteCommandInput | DeleteTransitGatewayRouteTableCommandInput | DeleteTransitGatewayVpcAttachmentCommandInput @@ -1544,6 +1584,7 @@ export type ServiceInputTypes = | DescribeBundleTasksCommandInput | DescribeByoipCidrsCommandInput | DescribeCapacityReservationsCommandInput + | DescribeCarrierGatewaysCommandInput | DescribeClassicLinkInstancesCommandInput | DescribeClientVpnAuthorizationRulesCommandInput | DescribeClientVpnConnectionsCommandInput @@ -1698,6 +1739,7 @@ export type ServiceInputTypes = | GetReservedInstancesExchangeQuoteCommandInput | GetTransitGatewayAttachmentPropagationsCommandInput | GetTransitGatewayMulticastDomainAssociationsCommandInput + | GetTransitGatewayPrefixListReferencesCommandInput | GetTransitGatewayRouteTableAssociationsCommandInput | GetTransitGatewayRouteTablePropagationsCommandInput | ImportClientVpnClientCertificateRevocationListCommandInput @@ -1733,6 +1775,8 @@ export type ServiceInputTypes = | ModifyTrafficMirrorFilterNetworkServicesCommandInput | ModifyTrafficMirrorFilterRuleCommandInput | ModifyTrafficMirrorSessionCommandInput + | ModifyTransitGatewayCommandInput + | ModifyTransitGatewayPrefixListReferenceCommandInput | ModifyTransitGatewayVpcAttachmentCommandInput | ModifyVolumeAttributeCommandInput | ModifyVolumeCommandInput @@ -1744,6 +1788,7 @@ export type ServiceInputTypes = | ModifyVpcPeeringConnectionOptionsCommandInput | ModifyVpcTenancyCommandInput | ModifyVpnConnectionCommandInput + | ModifyVpnConnectionOptionsCommandInput | ModifyVpnTunnelCertificateCommandInput | ModifyVpnTunnelOptionsCommandInput | MonitorInstancesCommandInput @@ -1844,6 +1889,7 @@ export type ServiceOutputTypes = | CopyImageCommandOutput | CopySnapshotCommandOutput | CreateCapacityReservationCommandOutput + | CreateCarrierGatewayCommandOutput | CreateClientVpnEndpointCommandOutput | CreateClientVpnRouteCommandOutput | CreateCustomerGatewayCommandOutput @@ -1885,6 +1931,7 @@ export type ServiceOutputTypes = | CreateTransitGatewayCommandOutput | CreateTransitGatewayMulticastDomainCommandOutput | CreateTransitGatewayPeeringAttachmentCommandOutput + | CreateTransitGatewayPrefixListReferenceCommandOutput | CreateTransitGatewayRouteCommandOutput | CreateTransitGatewayRouteTableCommandOutput | CreateTransitGatewayVpcAttachmentCommandOutput @@ -1897,6 +1944,7 @@ export type ServiceOutputTypes = | CreateVpnConnectionCommandOutput | CreateVpnConnectionRouteCommandOutput | CreateVpnGatewayCommandOutput + | DeleteCarrierGatewayCommandOutput | DeleteClientVpnEndpointCommandOutput | DeleteClientVpnRouteCommandOutput | DeleteCustomerGatewayCommandOutput @@ -1933,6 +1981,7 @@ export type ServiceOutputTypes = | DeleteTransitGatewayCommandOutput | DeleteTransitGatewayMulticastDomainCommandOutput | DeleteTransitGatewayPeeringAttachmentCommandOutput + | DeleteTransitGatewayPrefixListReferenceCommandOutput | DeleteTransitGatewayRouteCommandOutput | DeleteTransitGatewayRouteTableCommandOutput | DeleteTransitGatewayVpcAttachmentCommandOutput @@ -1957,6 +2006,7 @@ export type ServiceOutputTypes = | DescribeBundleTasksCommandOutput | DescribeByoipCidrsCommandOutput | DescribeCapacityReservationsCommandOutput + | DescribeCarrierGatewaysCommandOutput | DescribeClassicLinkInstancesCommandOutput | DescribeClientVpnAuthorizationRulesCommandOutput | DescribeClientVpnConnectionsCommandOutput @@ -2111,6 +2161,7 @@ export type ServiceOutputTypes = | GetReservedInstancesExchangeQuoteCommandOutput | GetTransitGatewayAttachmentPropagationsCommandOutput | GetTransitGatewayMulticastDomainAssociationsCommandOutput + | GetTransitGatewayPrefixListReferencesCommandOutput | GetTransitGatewayRouteTableAssociationsCommandOutput | GetTransitGatewayRouteTablePropagationsCommandOutput | ImportClientVpnClientCertificateRevocationListCommandOutput @@ -2146,6 +2197,8 @@ export type ServiceOutputTypes = | ModifyTrafficMirrorFilterNetworkServicesCommandOutput | ModifyTrafficMirrorFilterRuleCommandOutput | ModifyTrafficMirrorSessionCommandOutput + | ModifyTransitGatewayCommandOutput + | ModifyTransitGatewayPrefixListReferenceCommandOutput | ModifyTransitGatewayVpcAttachmentCommandOutput | ModifyVolumeAttributeCommandOutput | ModifyVolumeCommandOutput @@ -2157,6 +2210,7 @@ export type ServiceOutputTypes = | ModifyVpcPeeringConnectionOptionsCommandOutput | ModifyVpcTenancyCommandOutput | ModifyVpnConnectionCommandOutput + | ModifyVpnConnectionOptionsCommandOutput | ModifyVpnTunnelCertificateCommandOutput | ModifyVpnTunnelOptionsCommandOutput | MonitorInstancesCommandOutput diff --git a/clients/client-ec2/commands/CreateCarrierGatewayCommand.ts b/clients/client-ec2/commands/CreateCarrierGatewayCommand.ts new file mode 100644 index 000000000000..752b95e00f29 --- /dev/null +++ b/clients/client-ec2/commands/CreateCarrierGatewayCommand.ts @@ -0,0 +1,70 @@ +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { CreateCarrierGatewayRequest, CreateCarrierGatewayResult } from "../models/models_0"; +import { + deserializeAws_ec2CreateCarrierGatewayCommand, + serializeAws_ec2CreateCarrierGatewayCommand, +} from "../protocols/Aws_ec2"; +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 CreateCarrierGatewayCommandInput = CreateCarrierGatewayRequest; +export type CreateCarrierGatewayCommandOutput = CreateCarrierGatewayResult & __MetadataBearer; + +export class CreateCarrierGatewayCommand extends $Command< + CreateCarrierGatewayCommandInput, + CreateCarrierGatewayCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateCarrierGatewayCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateCarrierGatewayRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateCarrierGatewayResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateCarrierGatewayCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2CreateCarrierGatewayCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2CreateCarrierGatewayCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/commands/CreateLaunchTemplateCommand.ts b/clients/client-ec2/commands/CreateLaunchTemplateCommand.ts index d18dfde35f38..f3a73ead08f0 100644 --- a/clients/client-ec2/commands/CreateLaunchTemplateCommand.ts +++ b/clients/client-ec2/commands/CreateLaunchTemplateCommand.ts @@ -1,5 +1,6 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateLaunchTemplateRequest, CreateLaunchTemplateResult } from "../models/models_0"; +import { CreateLaunchTemplateRequest } from "../models/models_0"; +import { CreateLaunchTemplateResult } from "../models/models_1"; import { deserializeAws_ec2CreateLaunchTemplateCommand, serializeAws_ec2CreateLaunchTemplateCommand, diff --git a/clients/client-ec2/commands/CreateLaunchTemplateVersionCommand.ts b/clients/client-ec2/commands/CreateLaunchTemplateVersionCommand.ts index ed758676209a..dab400222a2f 100644 --- a/clients/client-ec2/commands/CreateLaunchTemplateVersionCommand.ts +++ b/clients/client-ec2/commands/CreateLaunchTemplateVersionCommand.ts @@ -1,6 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateLaunchTemplateVersionRequest } from "../models/models_0"; -import { CreateLaunchTemplateVersionResult } from "../models/models_1"; +import { CreateLaunchTemplateVersionRequest, CreateLaunchTemplateVersionResult } from "../models/models_1"; import { deserializeAws_ec2CreateLaunchTemplateVersionCommand, serializeAws_ec2CreateLaunchTemplateVersionCommand, diff --git a/clients/client-ec2/commands/CreateTransitGatewayPrefixListReferenceCommand.ts b/clients/client-ec2/commands/CreateTransitGatewayPrefixListReferenceCommand.ts new file mode 100644 index 000000000000..62998e90c870 --- /dev/null +++ b/clients/client-ec2/commands/CreateTransitGatewayPrefixListReferenceCommand.ts @@ -0,0 +1,83 @@ +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + CreateTransitGatewayPrefixListReferenceRequest, + CreateTransitGatewayPrefixListReferenceResult, +} from "../models/models_1"; +import { + deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommand, + serializeAws_ec2CreateTransitGatewayPrefixListReferenceCommand, +} from "../protocols/Aws_ec2"; +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 CreateTransitGatewayPrefixListReferenceCommandInput = CreateTransitGatewayPrefixListReferenceRequest; +export type CreateTransitGatewayPrefixListReferenceCommandOutput = CreateTransitGatewayPrefixListReferenceResult & + __MetadataBearer; + +export class CreateTransitGatewayPrefixListReferenceCommand extends $Command< + CreateTransitGatewayPrefixListReferenceCommandInput, + CreateTransitGatewayPrefixListReferenceCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateTransitGatewayPrefixListReferenceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + CreateTransitGatewayPrefixListReferenceCommandInput, + CreateTransitGatewayPrefixListReferenceCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateTransitGatewayPrefixListReferenceRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateTransitGatewayPrefixListReferenceResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: CreateTransitGatewayPrefixListReferenceCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2CreateTransitGatewayPrefixListReferenceCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/commands/DeleteCarrierGatewayCommand.ts b/clients/client-ec2/commands/DeleteCarrierGatewayCommand.ts new file mode 100644 index 000000000000..0d2771790c02 --- /dev/null +++ b/clients/client-ec2/commands/DeleteCarrierGatewayCommand.ts @@ -0,0 +1,70 @@ +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DeleteCarrierGatewayRequest, DeleteCarrierGatewayResult } from "../models/models_1"; +import { + deserializeAws_ec2DeleteCarrierGatewayCommand, + serializeAws_ec2DeleteCarrierGatewayCommand, +} from "../protocols/Aws_ec2"; +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 DeleteCarrierGatewayCommandInput = DeleteCarrierGatewayRequest; +export type DeleteCarrierGatewayCommandOutput = DeleteCarrierGatewayResult & __MetadataBearer; + +export class DeleteCarrierGatewayCommand extends $Command< + DeleteCarrierGatewayCommandInput, + DeleteCarrierGatewayCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteCarrierGatewayCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteCarrierGatewayRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteCarrierGatewayResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteCarrierGatewayCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DeleteCarrierGatewayCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DeleteCarrierGatewayCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/commands/DeleteTransitGatewayPrefixListReferenceCommand.ts b/clients/client-ec2/commands/DeleteTransitGatewayPrefixListReferenceCommand.ts new file mode 100644 index 000000000000..3ef5a70fc1a5 --- /dev/null +++ b/clients/client-ec2/commands/DeleteTransitGatewayPrefixListReferenceCommand.ts @@ -0,0 +1,83 @@ +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + DeleteTransitGatewayPrefixListReferenceRequest, + DeleteTransitGatewayPrefixListReferenceResult, +} from "../models/models_1"; +import { + deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommand, + serializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommand, +} from "../protocols/Aws_ec2"; +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 DeleteTransitGatewayPrefixListReferenceCommandInput = DeleteTransitGatewayPrefixListReferenceRequest; +export type DeleteTransitGatewayPrefixListReferenceCommandOutput = DeleteTransitGatewayPrefixListReferenceResult & + __MetadataBearer; + +export class DeleteTransitGatewayPrefixListReferenceCommand extends $Command< + DeleteTransitGatewayPrefixListReferenceCommandInput, + DeleteTransitGatewayPrefixListReferenceCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteTransitGatewayPrefixListReferenceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DeleteTransitGatewayPrefixListReferenceCommandInput, + DeleteTransitGatewayPrefixListReferenceCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteTransitGatewayPrefixListReferenceRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteTransitGatewayPrefixListReferenceResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeleteTransitGatewayPrefixListReferenceCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/commands/DeleteVpcCommand.ts b/clients/client-ec2/commands/DeleteVpcCommand.ts index b1e59e20b269..554b1da74eec 100644 --- a/clients/client-ec2/commands/DeleteVpcCommand.ts +++ b/clients/client-ec2/commands/DeleteVpcCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteVpcRequest } from "../models/models_1"; +import { DeleteVpcRequest } from "../models/models_2"; import { deserializeAws_ec2DeleteVpcCommand, serializeAws_ec2DeleteVpcCommand } from "../protocols/Aws_ec2"; import { getSerdePlugin } from "@aws-sdk/middleware-serde"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; diff --git a/clients/client-ec2/commands/DeleteVpcEndpointConnectionNotificationsCommand.ts b/clients/client-ec2/commands/DeleteVpcEndpointConnectionNotificationsCommand.ts index eb8468ff6fe8..202d4e477805 100644 --- a/clients/client-ec2/commands/DeleteVpcEndpointConnectionNotificationsCommand.ts +++ b/clients/client-ec2/commands/DeleteVpcEndpointConnectionNotificationsCommand.ts @@ -2,7 +2,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DeleteVpcEndpointConnectionNotificationsRequest, DeleteVpcEndpointConnectionNotificationsResult, -} from "../models/models_1"; +} from "../models/models_2"; import { deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommand, serializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommand, diff --git a/clients/client-ec2/commands/DeleteVpcEndpointServiceConfigurationsCommand.ts b/clients/client-ec2/commands/DeleteVpcEndpointServiceConfigurationsCommand.ts index 9500f74a9906..ef90f837dd11 100644 --- a/clients/client-ec2/commands/DeleteVpcEndpointServiceConfigurationsCommand.ts +++ b/clients/client-ec2/commands/DeleteVpcEndpointServiceConfigurationsCommand.ts @@ -2,7 +2,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DeleteVpcEndpointServiceConfigurationsRequest, DeleteVpcEndpointServiceConfigurationsResult, -} from "../models/models_1"; +} from "../models/models_2"; import { deserializeAws_ec2DeleteVpcEndpointServiceConfigurationsCommand, serializeAws_ec2DeleteVpcEndpointServiceConfigurationsCommand, diff --git a/clients/client-ec2/commands/DeleteVpcEndpointsCommand.ts b/clients/client-ec2/commands/DeleteVpcEndpointsCommand.ts index ea9da40f170b..5807dc0a98d0 100644 --- a/clients/client-ec2/commands/DeleteVpcEndpointsCommand.ts +++ b/clients/client-ec2/commands/DeleteVpcEndpointsCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteVpcEndpointsRequest, DeleteVpcEndpointsResult } from "../models/models_1"; +import { DeleteVpcEndpointsRequest, DeleteVpcEndpointsResult } from "../models/models_2"; import { deserializeAws_ec2DeleteVpcEndpointsCommand, serializeAws_ec2DeleteVpcEndpointsCommand, diff --git a/clients/client-ec2/commands/DeleteVpcPeeringConnectionCommand.ts b/clients/client-ec2/commands/DeleteVpcPeeringConnectionCommand.ts index 14ed4dc49d9e..99f34cf6bf69 100644 --- a/clients/client-ec2/commands/DeleteVpcPeeringConnectionCommand.ts +++ b/clients/client-ec2/commands/DeleteVpcPeeringConnectionCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteVpcPeeringConnectionRequest, DeleteVpcPeeringConnectionResult } from "../models/models_1"; +import { DeleteVpcPeeringConnectionRequest, DeleteVpcPeeringConnectionResult } from "../models/models_2"; import { deserializeAws_ec2DeleteVpcPeeringConnectionCommand, serializeAws_ec2DeleteVpcPeeringConnectionCommand, diff --git a/clients/client-ec2/commands/DeleteVpnConnectionCommand.ts b/clients/client-ec2/commands/DeleteVpnConnectionCommand.ts index 1d40e9465912..2e987282fc81 100644 --- a/clients/client-ec2/commands/DeleteVpnConnectionCommand.ts +++ b/clients/client-ec2/commands/DeleteVpnConnectionCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteVpnConnectionRequest } from "../models/models_1"; +import { DeleteVpnConnectionRequest } from "../models/models_2"; import { deserializeAws_ec2DeleteVpnConnectionCommand, serializeAws_ec2DeleteVpnConnectionCommand, diff --git a/clients/client-ec2/commands/DeleteVpnConnectionRouteCommand.ts b/clients/client-ec2/commands/DeleteVpnConnectionRouteCommand.ts index 9cde9f8ef35c..24ea8abdc619 100644 --- a/clients/client-ec2/commands/DeleteVpnConnectionRouteCommand.ts +++ b/clients/client-ec2/commands/DeleteVpnConnectionRouteCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteVpnConnectionRouteRequest } from "../models/models_1"; +import { DeleteVpnConnectionRouteRequest } from "../models/models_2"; import { deserializeAws_ec2DeleteVpnConnectionRouteCommand, serializeAws_ec2DeleteVpnConnectionRouteCommand, diff --git a/clients/client-ec2/commands/DeleteVpnGatewayCommand.ts b/clients/client-ec2/commands/DeleteVpnGatewayCommand.ts index b534ade24e47..01fee91aac5c 100644 --- a/clients/client-ec2/commands/DeleteVpnGatewayCommand.ts +++ b/clients/client-ec2/commands/DeleteVpnGatewayCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteVpnGatewayRequest } from "../models/models_1"; +import { DeleteVpnGatewayRequest } from "../models/models_2"; import { deserializeAws_ec2DeleteVpnGatewayCommand, serializeAws_ec2DeleteVpnGatewayCommand, diff --git a/clients/client-ec2/commands/DeprovisionByoipCidrCommand.ts b/clients/client-ec2/commands/DeprovisionByoipCidrCommand.ts index 7859b34fab1d..6b41dd28cf51 100644 --- a/clients/client-ec2/commands/DeprovisionByoipCidrCommand.ts +++ b/clients/client-ec2/commands/DeprovisionByoipCidrCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeprovisionByoipCidrRequest, DeprovisionByoipCidrResult } from "../models/models_1"; +import { DeprovisionByoipCidrRequest, DeprovisionByoipCidrResult } from "../models/models_2"; import { deserializeAws_ec2DeprovisionByoipCidrCommand, serializeAws_ec2DeprovisionByoipCidrCommand, diff --git a/clients/client-ec2/commands/DescribeCarrierGatewaysCommand.ts b/clients/client-ec2/commands/DescribeCarrierGatewaysCommand.ts new file mode 100644 index 000000000000..47e17ea5e171 --- /dev/null +++ b/clients/client-ec2/commands/DescribeCarrierGatewaysCommand.ts @@ -0,0 +1,70 @@ +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DescribeCarrierGatewaysRequest, DescribeCarrierGatewaysResult } from "../models/models_2"; +import { + deserializeAws_ec2DescribeCarrierGatewaysCommand, + serializeAws_ec2DescribeCarrierGatewaysCommand, +} from "../protocols/Aws_ec2"; +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 DescribeCarrierGatewaysCommandInput = DescribeCarrierGatewaysRequest; +export type DescribeCarrierGatewaysCommandOutput = DescribeCarrierGatewaysResult & __MetadataBearer; + +export class DescribeCarrierGatewaysCommand extends $Command< + DescribeCarrierGatewaysCommandInput, + DescribeCarrierGatewaysCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeCarrierGatewaysCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeCarrierGatewaysRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeCarrierGatewaysResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeCarrierGatewaysCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DescribeCarrierGatewaysCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DescribeCarrierGatewaysCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/commands/DescribeMovingAddressesCommand.ts b/clients/client-ec2/commands/DescribeMovingAddressesCommand.ts index b3e375aa4241..cf4188afb9c9 100644 --- a/clients/client-ec2/commands/DescribeMovingAddressesCommand.ts +++ b/clients/client-ec2/commands/DescribeMovingAddressesCommand.ts @@ -1,5 +1,6 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeMovingAddressesRequest, DescribeMovingAddressesResult } from "../models/models_2"; +import { DescribeMovingAddressesRequest } from "../models/models_2"; +import { DescribeMovingAddressesResult } from "../models/models_3"; import { deserializeAws_ec2DescribeMovingAddressesCommand, serializeAws_ec2DescribeMovingAddressesCommand, diff --git a/clients/client-ec2/commands/DescribeNatGatewaysCommand.ts b/clients/client-ec2/commands/DescribeNatGatewaysCommand.ts index a280c7d266a7..28c2184f2e76 100644 --- a/clients/client-ec2/commands/DescribeNatGatewaysCommand.ts +++ b/clients/client-ec2/commands/DescribeNatGatewaysCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeNatGatewaysRequest, DescribeNatGatewaysResult } from "../models/models_2"; +import { DescribeNatGatewaysRequest, DescribeNatGatewaysResult } from "../models/models_3"; import { deserializeAws_ec2DescribeNatGatewaysCommand, serializeAws_ec2DescribeNatGatewaysCommand, diff --git a/clients/client-ec2/commands/DescribeNetworkAclsCommand.ts b/clients/client-ec2/commands/DescribeNetworkAclsCommand.ts index befdae1439c5..c747b4a81f89 100644 --- a/clients/client-ec2/commands/DescribeNetworkAclsCommand.ts +++ b/clients/client-ec2/commands/DescribeNetworkAclsCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeNetworkAclsRequest, DescribeNetworkAclsResult } from "../models/models_2"; +import { DescribeNetworkAclsRequest, DescribeNetworkAclsResult } from "../models/models_3"; import { deserializeAws_ec2DescribeNetworkAclsCommand, serializeAws_ec2DescribeNetworkAclsCommand, diff --git a/clients/client-ec2/commands/DescribeNetworkInterfaceAttributeCommand.ts b/clients/client-ec2/commands/DescribeNetworkInterfaceAttributeCommand.ts index 7a799c518e1c..6a8f9a2c4b30 100644 --- a/clients/client-ec2/commands/DescribeNetworkInterfaceAttributeCommand.ts +++ b/clients/client-ec2/commands/DescribeNetworkInterfaceAttributeCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeNetworkInterfaceAttributeRequest, DescribeNetworkInterfaceAttributeResult } from "../models/models_2"; +import { DescribeNetworkInterfaceAttributeRequest, DescribeNetworkInterfaceAttributeResult } from "../models/models_3"; import { deserializeAws_ec2DescribeNetworkInterfaceAttributeCommand, serializeAws_ec2DescribeNetworkInterfaceAttributeCommand, diff --git a/clients/client-ec2/commands/DescribeNetworkInterfacePermissionsCommand.ts b/clients/client-ec2/commands/DescribeNetworkInterfacePermissionsCommand.ts index 61d42a64793e..6058d2a0e97b 100644 --- a/clients/client-ec2/commands/DescribeNetworkInterfacePermissionsCommand.ts +++ b/clients/client-ec2/commands/DescribeNetworkInterfacePermissionsCommand.ts @@ -2,7 +2,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeNetworkInterfacePermissionsRequest, DescribeNetworkInterfacePermissionsResult, -} from "../models/models_2"; +} from "../models/models_3"; import { deserializeAws_ec2DescribeNetworkInterfacePermissionsCommand, serializeAws_ec2DescribeNetworkInterfacePermissionsCommand, diff --git a/clients/client-ec2/commands/DescribeNetworkInterfacesCommand.ts b/clients/client-ec2/commands/DescribeNetworkInterfacesCommand.ts index 3cc312535e30..8078644c539e 100644 --- a/clients/client-ec2/commands/DescribeNetworkInterfacesCommand.ts +++ b/clients/client-ec2/commands/DescribeNetworkInterfacesCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeNetworkInterfacesRequest, DescribeNetworkInterfacesResult } from "../models/models_2"; +import { DescribeNetworkInterfacesRequest, DescribeNetworkInterfacesResult } from "../models/models_3"; import { deserializeAws_ec2DescribeNetworkInterfacesCommand, serializeAws_ec2DescribeNetworkInterfacesCommand, diff --git a/clients/client-ec2/commands/DescribePlacementGroupsCommand.ts b/clients/client-ec2/commands/DescribePlacementGroupsCommand.ts index 21bd6e5ef000..8f336fb983f2 100644 --- a/clients/client-ec2/commands/DescribePlacementGroupsCommand.ts +++ b/clients/client-ec2/commands/DescribePlacementGroupsCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribePlacementGroupsRequest, DescribePlacementGroupsResult } from "../models/models_2"; +import { DescribePlacementGroupsRequest, DescribePlacementGroupsResult } from "../models/models_3"; import { deserializeAws_ec2DescribePlacementGroupsCommand, serializeAws_ec2DescribePlacementGroupsCommand, diff --git a/clients/client-ec2/commands/GetTransitGatewayMulticastDomainAssociationsCommand.ts b/clients/client-ec2/commands/GetTransitGatewayMulticastDomainAssociationsCommand.ts index 308cec492ec8..1c068f30615e 100644 --- a/clients/client-ec2/commands/GetTransitGatewayMulticastDomainAssociationsCommand.ts +++ b/clients/client-ec2/commands/GetTransitGatewayMulticastDomainAssociationsCommand.ts @@ -2,7 +2,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetTransitGatewayMulticastDomainAssociationsRequest, GetTransitGatewayMulticastDomainAssociationsResult, -} from "../models/models_3"; +} from "../models/models_4"; import { deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommand, serializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommand, diff --git a/clients/client-ec2/commands/GetTransitGatewayPrefixListReferencesCommand.ts b/clients/client-ec2/commands/GetTransitGatewayPrefixListReferencesCommand.ts new file mode 100644 index 000000000000..85bbc35619a2 --- /dev/null +++ b/clients/client-ec2/commands/GetTransitGatewayPrefixListReferencesCommand.ts @@ -0,0 +1,80 @@ +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + GetTransitGatewayPrefixListReferencesRequest, + GetTransitGatewayPrefixListReferencesResult, +} from "../models/models_4"; +import { + deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommand, + serializeAws_ec2GetTransitGatewayPrefixListReferencesCommand, +} from "../protocols/Aws_ec2"; +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 GetTransitGatewayPrefixListReferencesCommandInput = GetTransitGatewayPrefixListReferencesRequest; +export type GetTransitGatewayPrefixListReferencesCommandOutput = GetTransitGatewayPrefixListReferencesResult & + __MetadataBearer; + +export class GetTransitGatewayPrefixListReferencesCommand extends $Command< + GetTransitGatewayPrefixListReferencesCommandInput, + GetTransitGatewayPrefixListReferencesCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetTransitGatewayPrefixListReferencesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetTransitGatewayPrefixListReferencesRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetTransitGatewayPrefixListReferencesResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: GetTransitGatewayPrefixListReferencesCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2GetTransitGatewayPrefixListReferencesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/commands/GetTransitGatewayRouteTableAssociationsCommand.ts b/clients/client-ec2/commands/GetTransitGatewayRouteTableAssociationsCommand.ts index 26ac063e0e9f..3f85195e676f 100644 --- a/clients/client-ec2/commands/GetTransitGatewayRouteTableAssociationsCommand.ts +++ b/clients/client-ec2/commands/GetTransitGatewayRouteTableAssociationsCommand.ts @@ -2,7 +2,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetTransitGatewayRouteTableAssociationsRequest, GetTransitGatewayRouteTableAssociationsResult, -} from "../models/models_3"; +} from "../models/models_4"; import { deserializeAws_ec2GetTransitGatewayRouteTableAssociationsCommand, serializeAws_ec2GetTransitGatewayRouteTableAssociationsCommand, diff --git a/clients/client-ec2/commands/GetTransitGatewayRouteTablePropagationsCommand.ts b/clients/client-ec2/commands/GetTransitGatewayRouteTablePropagationsCommand.ts index e46e3cf23fcd..90d6d825428c 100644 --- a/clients/client-ec2/commands/GetTransitGatewayRouteTablePropagationsCommand.ts +++ b/clients/client-ec2/commands/GetTransitGatewayRouteTablePropagationsCommand.ts @@ -2,7 +2,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetTransitGatewayRouteTablePropagationsRequest, GetTransitGatewayRouteTablePropagationsResult, -} from "../models/models_3"; +} from "../models/models_4"; import { deserializeAws_ec2GetTransitGatewayRouteTablePropagationsCommand, serializeAws_ec2GetTransitGatewayRouteTablePropagationsCommand, diff --git a/clients/client-ec2/commands/ImportClientVpnClientCertificateRevocationListCommand.ts b/clients/client-ec2/commands/ImportClientVpnClientCertificateRevocationListCommand.ts index ff8ddbc1773a..89c38c2bcc70 100644 --- a/clients/client-ec2/commands/ImportClientVpnClientCertificateRevocationListCommand.ts +++ b/clients/client-ec2/commands/ImportClientVpnClientCertificateRevocationListCommand.ts @@ -2,7 +2,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { ImportClientVpnClientCertificateRevocationListRequest, ImportClientVpnClientCertificateRevocationListResult, -} from "../models/models_3"; +} from "../models/models_4"; import { deserializeAws_ec2ImportClientVpnClientCertificateRevocationListCommand, serializeAws_ec2ImportClientVpnClientCertificateRevocationListCommand, diff --git a/clients/client-ec2/commands/ImportImageCommand.ts b/clients/client-ec2/commands/ImportImageCommand.ts index c0997e62da21..ab1a255960db 100644 --- a/clients/client-ec2/commands/ImportImageCommand.ts +++ b/clients/client-ec2/commands/ImportImageCommand.ts @@ -1,6 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ImportImageRequest } from "../models/models_3"; -import { ImportImageResult } from "../models/models_4"; +import { ImportImageRequest, ImportImageResult } from "../models/models_4"; import { deserializeAws_ec2ImportImageCommand, serializeAws_ec2ImportImageCommand } from "../protocols/Aws_ec2"; import { getSerdePlugin } from "@aws-sdk/middleware-serde"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; diff --git a/clients/client-ec2/commands/ModifyTransitGatewayCommand.ts b/clients/client-ec2/commands/ModifyTransitGatewayCommand.ts new file mode 100644 index 000000000000..26d3bfc0e34c --- /dev/null +++ b/clients/client-ec2/commands/ModifyTransitGatewayCommand.ts @@ -0,0 +1,70 @@ +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { ModifyTransitGatewayRequest, ModifyTransitGatewayResult } from "../models/models_4"; +import { + deserializeAws_ec2ModifyTransitGatewayCommand, + serializeAws_ec2ModifyTransitGatewayCommand, +} from "../protocols/Aws_ec2"; +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 ModifyTransitGatewayCommandInput = ModifyTransitGatewayRequest; +export type ModifyTransitGatewayCommandOutput = ModifyTransitGatewayResult & __MetadataBearer; + +export class ModifyTransitGatewayCommand extends $Command< + ModifyTransitGatewayCommandInput, + ModifyTransitGatewayCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyTransitGatewayCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ModifyTransitGatewayRequest.filterSensitiveLog, + outputFilterSensitiveLog: ModifyTransitGatewayResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyTransitGatewayCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2ModifyTransitGatewayCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2ModifyTransitGatewayCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/commands/ModifyTransitGatewayPrefixListReferenceCommand.ts b/clients/client-ec2/commands/ModifyTransitGatewayPrefixListReferenceCommand.ts new file mode 100644 index 000000000000..359f5bc37211 --- /dev/null +++ b/clients/client-ec2/commands/ModifyTransitGatewayPrefixListReferenceCommand.ts @@ -0,0 +1,83 @@ +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + ModifyTransitGatewayPrefixListReferenceRequest, + ModifyTransitGatewayPrefixListReferenceResult, +} from "../models/models_4"; +import { + deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommand, + serializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommand, +} from "../protocols/Aws_ec2"; +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 ModifyTransitGatewayPrefixListReferenceCommandInput = ModifyTransitGatewayPrefixListReferenceRequest; +export type ModifyTransitGatewayPrefixListReferenceCommandOutput = ModifyTransitGatewayPrefixListReferenceResult & + __MetadataBearer; + +export class ModifyTransitGatewayPrefixListReferenceCommand extends $Command< + ModifyTransitGatewayPrefixListReferenceCommandInput, + ModifyTransitGatewayPrefixListReferenceCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyTransitGatewayPrefixListReferenceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + ModifyTransitGatewayPrefixListReferenceCommandInput, + ModifyTransitGatewayPrefixListReferenceCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ModifyTransitGatewayPrefixListReferenceRequest.filterSensitiveLog, + outputFilterSensitiveLog: ModifyTransitGatewayPrefixListReferenceResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ModifyTransitGatewayPrefixListReferenceCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/commands/ModifyVpnConnectionOptionsCommand.ts b/clients/client-ec2/commands/ModifyVpnConnectionOptionsCommand.ts new file mode 100644 index 000000000000..5abf1619ea18 --- /dev/null +++ b/clients/client-ec2/commands/ModifyVpnConnectionOptionsCommand.ts @@ -0,0 +1,73 @@ +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { ModifyVpnConnectionOptionsRequest, ModifyVpnConnectionOptionsResult } from "../models/models_4"; +import { + deserializeAws_ec2ModifyVpnConnectionOptionsCommand, + serializeAws_ec2ModifyVpnConnectionOptionsCommand, +} from "../protocols/Aws_ec2"; +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 ModifyVpnConnectionOptionsCommandInput = ModifyVpnConnectionOptionsRequest; +export type ModifyVpnConnectionOptionsCommandOutput = ModifyVpnConnectionOptionsResult & __MetadataBearer; + +export class ModifyVpnConnectionOptionsCommand extends $Command< + ModifyVpnConnectionOptionsCommandInput, + ModifyVpnConnectionOptionsCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyVpnConnectionOptionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ModifyVpnConnectionOptionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ModifyVpnConnectionOptionsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyVpnConnectionOptionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2ModifyVpnConnectionOptionsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2ModifyVpnConnectionOptionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/commands/RevokeSecurityGroupEgressCommand.ts b/clients/client-ec2/commands/RevokeSecurityGroupEgressCommand.ts index d67167a2948c..c0f0e265e342 100644 --- a/clients/client-ec2/commands/RevokeSecurityGroupEgressCommand.ts +++ b/clients/client-ec2/commands/RevokeSecurityGroupEgressCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RevokeSecurityGroupEgressRequest } from "../models/models_4"; +import { RevokeSecurityGroupEgressRequest, RevokeSecurityGroupEgressResult } from "../models/models_4"; import { deserializeAws_ec2RevokeSecurityGroupEgressCommand, serializeAws_ec2RevokeSecurityGroupEgressCommand, @@ -18,7 +18,7 @@ import { } from "@aws-sdk/types"; export type RevokeSecurityGroupEgressCommandInput = RevokeSecurityGroupEgressRequest; -export type RevokeSecurityGroupEgressCommandOutput = __MetadataBearer; +export type RevokeSecurityGroupEgressCommandOutput = RevokeSecurityGroupEgressResult & __MetadataBearer; export class RevokeSecurityGroupEgressCommand extends $Command< RevokeSecurityGroupEgressCommandInput, @@ -47,7 +47,7 @@ export class RevokeSecurityGroupEgressCommand extends $Command< const handlerExecutionContext: HandlerExecutionContext = { logger, inputFilterSensitiveLog: RevokeSecurityGroupEgressRequest.filterSensitiveLog, - outputFilterSensitiveLog: (output: any) => output, + outputFilterSensitiveLog: RevokeSecurityGroupEgressResult.filterSensitiveLog, }; const { requestHandler } = configuration; return stack.resolve( diff --git a/clients/client-ec2/commands/RevokeSecurityGroupIngressCommand.ts b/clients/client-ec2/commands/RevokeSecurityGroupIngressCommand.ts index 68d1221b8376..44c9a191afe1 100644 --- a/clients/client-ec2/commands/RevokeSecurityGroupIngressCommand.ts +++ b/clients/client-ec2/commands/RevokeSecurityGroupIngressCommand.ts @@ -1,5 +1,5 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RevokeSecurityGroupIngressRequest } from "../models/models_4"; +import { RevokeSecurityGroupIngressRequest, RevokeSecurityGroupIngressResult } from "../models/models_4"; import { deserializeAws_ec2RevokeSecurityGroupIngressCommand, serializeAws_ec2RevokeSecurityGroupIngressCommand, @@ -18,7 +18,7 @@ import { } from "@aws-sdk/types"; export type RevokeSecurityGroupIngressCommandInput = RevokeSecurityGroupIngressRequest; -export type RevokeSecurityGroupIngressCommandOutput = __MetadataBearer; +export type RevokeSecurityGroupIngressCommandOutput = RevokeSecurityGroupIngressResult & __MetadataBearer; export class RevokeSecurityGroupIngressCommand extends $Command< RevokeSecurityGroupIngressCommandInput, @@ -47,7 +47,7 @@ export class RevokeSecurityGroupIngressCommand extends $Command< const handlerExecutionContext: HandlerExecutionContext = { logger, inputFilterSensitiveLog: RevokeSecurityGroupIngressRequest.filterSensitiveLog, - outputFilterSensitiveLog: (output: any) => output, + outputFilterSensitiveLog: RevokeSecurityGroupIngressResult.filterSensitiveLog, }; const { requestHandler } = configuration; return stack.resolve( diff --git a/clients/client-ec2/index.ts b/clients/client-ec2/index.ts index 44cd08a2f2e9..40a9aa5d1e24 100644 --- a/clients/client-ec2/index.ts +++ b/clients/client-ec2/index.ts @@ -42,6 +42,7 @@ export * from "./commands/CopyFpgaImageCommand"; export * from "./commands/CopyImageCommand"; export * from "./commands/CopySnapshotCommand"; export * from "./commands/CreateCapacityReservationCommand"; +export * from "./commands/CreateCarrierGatewayCommand"; export * from "./commands/CreateClientVpnEndpointCommand"; export * from "./commands/CreateClientVpnRouteCommand"; export * from "./commands/CreateCustomerGatewayCommand"; @@ -83,6 +84,7 @@ export * from "./commands/CreateTrafficMirrorTargetCommand"; export * from "./commands/CreateTransitGatewayCommand"; export * from "./commands/CreateTransitGatewayMulticastDomainCommand"; export * from "./commands/CreateTransitGatewayPeeringAttachmentCommand"; +export * from "./commands/CreateTransitGatewayPrefixListReferenceCommand"; export * from "./commands/CreateTransitGatewayRouteCommand"; export * from "./commands/CreateTransitGatewayRouteTableCommand"; export * from "./commands/CreateTransitGatewayVpcAttachmentCommand"; @@ -95,6 +97,7 @@ export * from "./commands/CreateVpcPeeringConnectionCommand"; export * from "./commands/CreateVpnConnectionCommand"; export * from "./commands/CreateVpnConnectionRouteCommand"; export * from "./commands/CreateVpnGatewayCommand"; +export * from "./commands/DeleteCarrierGatewayCommand"; export * from "./commands/DeleteClientVpnEndpointCommand"; export * from "./commands/DeleteClientVpnRouteCommand"; export * from "./commands/DeleteCustomerGatewayCommand"; @@ -131,6 +134,7 @@ export * from "./commands/DeleteTrafficMirrorTargetCommand"; export * from "./commands/DeleteTransitGatewayCommand"; export * from "./commands/DeleteTransitGatewayMulticastDomainCommand"; export * from "./commands/DeleteTransitGatewayPeeringAttachmentCommand"; +export * from "./commands/DeleteTransitGatewayPrefixListReferenceCommand"; export * from "./commands/DeleteTransitGatewayRouteCommand"; export * from "./commands/DeleteTransitGatewayRouteTableCommand"; export * from "./commands/DeleteTransitGatewayVpcAttachmentCommand"; @@ -155,111 +159,191 @@ export * from "./commands/DescribeAvailabilityZonesCommand"; export * from "./commands/DescribeBundleTasksCommand"; export * from "./commands/DescribeByoipCidrsCommand"; export * from "./commands/DescribeCapacityReservationsCommand"; +export * from "./pagination/DescribeCapacityReservationsPaginator"; +export * from "./commands/DescribeCarrierGatewaysCommand"; +export * from "./pagination/DescribeCarrierGatewaysPaginator"; export * from "./commands/DescribeClassicLinkInstancesCommand"; +export * from "./pagination/DescribeClassicLinkInstancesPaginator"; export * from "./commands/DescribeClientVpnAuthorizationRulesCommand"; +export * from "./pagination/DescribeClientVpnAuthorizationRulesPaginator"; export * from "./commands/DescribeClientVpnConnectionsCommand"; +export * from "./pagination/DescribeClientVpnConnectionsPaginator"; export * from "./commands/DescribeClientVpnEndpointsCommand"; +export * from "./pagination/DescribeClientVpnEndpointsPaginator"; export * from "./commands/DescribeClientVpnRoutesCommand"; +export * from "./pagination/DescribeClientVpnRoutesPaginator"; export * from "./commands/DescribeClientVpnTargetNetworksCommand"; +export * from "./pagination/DescribeClientVpnTargetNetworksPaginator"; export * from "./commands/DescribeCoipPoolsCommand"; +export * from "./pagination/DescribeCoipPoolsPaginator"; export * from "./commands/DescribeConversionTasksCommand"; export * from "./commands/DescribeCustomerGatewaysCommand"; export * from "./commands/DescribeDhcpOptionsCommand"; +export * from "./pagination/DescribeDhcpOptionsPaginator"; export * from "./commands/DescribeEgressOnlyInternetGatewaysCommand"; +export * from "./pagination/DescribeEgressOnlyInternetGatewaysPaginator"; export * from "./commands/DescribeElasticGpusCommand"; export * from "./commands/DescribeExportImageTasksCommand"; +export * from "./pagination/DescribeExportImageTasksPaginator"; export * from "./commands/DescribeExportTasksCommand"; export * from "./commands/DescribeFastSnapshotRestoresCommand"; +export * from "./pagination/DescribeFastSnapshotRestoresPaginator"; export * from "./commands/DescribeFleetHistoryCommand"; export * from "./commands/DescribeFleetInstancesCommand"; export * from "./commands/DescribeFleetsCommand"; +export * from "./pagination/DescribeFleetsPaginator"; export * from "./commands/DescribeFlowLogsCommand"; +export * from "./pagination/DescribeFlowLogsPaginator"; export * from "./commands/DescribeFpgaImageAttributeCommand"; export * from "./commands/DescribeFpgaImagesCommand"; +export * from "./pagination/DescribeFpgaImagesPaginator"; export * from "./commands/DescribeHostReservationOfferingsCommand"; +export * from "./pagination/DescribeHostReservationOfferingsPaginator"; export * from "./commands/DescribeHostReservationsCommand"; +export * from "./pagination/DescribeHostReservationsPaginator"; export * from "./commands/DescribeHostsCommand"; +export * from "./pagination/DescribeHostsPaginator"; export * from "./commands/DescribeIamInstanceProfileAssociationsCommand"; +export * from "./pagination/DescribeIamInstanceProfileAssociationsPaginator"; export * from "./commands/DescribeIdentityIdFormatCommand"; export * from "./commands/DescribeIdFormatCommand"; export * from "./commands/DescribeImageAttributeCommand"; export * from "./commands/DescribeImagesCommand"; export * from "./commands/DescribeImportImageTasksCommand"; +export * from "./pagination/DescribeImportImageTasksPaginator"; export * from "./commands/DescribeImportSnapshotTasksCommand"; +export * from "./pagination/DescribeImportSnapshotTasksPaginator"; export * from "./commands/DescribeInstanceAttributeCommand"; export * from "./commands/DescribeInstanceCreditSpecificationsCommand"; +export * from "./pagination/DescribeInstanceCreditSpecificationsPaginator"; export * from "./commands/DescribeInstanceEventNotificationAttributesCommand"; export * from "./commands/DescribeInstancesCommand"; +export * from "./pagination/DescribeInstancesPaginator"; export * from "./commands/DescribeInstanceStatusCommand"; +export * from "./pagination/DescribeInstanceStatusPaginator"; export * from "./commands/DescribeInstanceTypeOfferingsCommand"; +export * from "./pagination/DescribeInstanceTypeOfferingsPaginator"; export * from "./commands/DescribeInstanceTypesCommand"; +export * from "./pagination/DescribeInstanceTypesPaginator"; export * from "./commands/DescribeInternetGatewaysCommand"; +export * from "./pagination/DescribeInternetGatewaysPaginator"; export * from "./commands/DescribeIpv6PoolsCommand"; +export * from "./pagination/DescribeIpv6PoolsPaginator"; export * from "./commands/DescribeKeyPairsCommand"; export * from "./commands/DescribeLaunchTemplatesCommand"; +export * from "./pagination/DescribeLaunchTemplatesPaginator"; export * from "./commands/DescribeLaunchTemplateVersionsCommand"; +export * from "./pagination/DescribeLaunchTemplateVersionsPaginator"; export * from "./commands/DescribeLocalGatewayRouteTablesCommand"; +export * from "./pagination/DescribeLocalGatewayRouteTablesPaginator"; export * from "./commands/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommand"; +export * from "./pagination/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator"; export * from "./commands/DescribeLocalGatewayRouteTableVpcAssociationsCommand"; +export * from "./pagination/DescribeLocalGatewayRouteTableVpcAssociationsPaginator"; export * from "./commands/DescribeLocalGatewaysCommand"; +export * from "./pagination/DescribeLocalGatewaysPaginator"; export * from "./commands/DescribeLocalGatewayVirtualInterfaceGroupsCommand"; +export * from "./pagination/DescribeLocalGatewayVirtualInterfaceGroupsPaginator"; export * from "./commands/DescribeLocalGatewayVirtualInterfacesCommand"; +export * from "./pagination/DescribeLocalGatewayVirtualInterfacesPaginator"; export * from "./commands/DescribeManagedPrefixListsCommand"; +export * from "./pagination/DescribeManagedPrefixListsPaginator"; export * from "./commands/DescribeMovingAddressesCommand"; +export * from "./pagination/DescribeMovingAddressesPaginator"; export * from "./commands/DescribeNatGatewaysCommand"; +export * from "./pagination/DescribeNatGatewaysPaginator"; export * from "./commands/DescribeNetworkAclsCommand"; +export * from "./pagination/DescribeNetworkAclsPaginator"; export * from "./commands/DescribeNetworkInterfaceAttributeCommand"; export * from "./commands/DescribeNetworkInterfacePermissionsCommand"; +export * from "./pagination/DescribeNetworkInterfacePermissionsPaginator"; export * from "./commands/DescribeNetworkInterfacesCommand"; +export * from "./pagination/DescribeNetworkInterfacesPaginator"; export * from "./commands/DescribePlacementGroupsCommand"; export * from "./commands/DescribePrefixListsCommand"; +export * from "./pagination/DescribePrefixListsPaginator"; export * from "./commands/DescribePrincipalIdFormatCommand"; +export * from "./pagination/DescribePrincipalIdFormatPaginator"; export * from "./commands/DescribePublicIpv4PoolsCommand"; +export * from "./pagination/DescribePublicIpv4PoolsPaginator"; export * from "./commands/DescribeRegionsCommand"; export * from "./commands/DescribeReservedInstancesCommand"; export * from "./commands/DescribeReservedInstancesListingsCommand"; export * from "./commands/DescribeReservedInstancesModificationsCommand"; +export * from "./pagination/DescribeReservedInstancesModificationsPaginator"; export * from "./commands/DescribeReservedInstancesOfferingsCommand"; +export * from "./pagination/DescribeReservedInstancesOfferingsPaginator"; export * from "./commands/DescribeRouteTablesCommand"; +export * from "./pagination/DescribeRouteTablesPaginator"; export * from "./commands/DescribeScheduledInstanceAvailabilityCommand"; +export * from "./pagination/DescribeScheduledInstanceAvailabilityPaginator"; export * from "./commands/DescribeScheduledInstancesCommand"; +export * from "./pagination/DescribeScheduledInstancesPaginator"; export * from "./commands/DescribeSecurityGroupReferencesCommand"; export * from "./commands/DescribeSecurityGroupsCommand"; +export * from "./pagination/DescribeSecurityGroupsPaginator"; export * from "./commands/DescribeSnapshotAttributeCommand"; export * from "./commands/DescribeSnapshotsCommand"; +export * from "./pagination/DescribeSnapshotsPaginator"; export * from "./commands/DescribeSpotDatafeedSubscriptionCommand"; export * from "./commands/DescribeSpotFleetInstancesCommand"; export * from "./commands/DescribeSpotFleetRequestHistoryCommand"; export * from "./commands/DescribeSpotFleetRequestsCommand"; +export * from "./pagination/DescribeSpotFleetRequestsPaginator"; export * from "./commands/DescribeSpotInstanceRequestsCommand"; +export * from "./pagination/DescribeSpotInstanceRequestsPaginator"; export * from "./commands/DescribeSpotPriceHistoryCommand"; +export * from "./pagination/DescribeSpotPriceHistoryPaginator"; export * from "./commands/DescribeStaleSecurityGroupsCommand"; +export * from "./pagination/DescribeStaleSecurityGroupsPaginator"; export * from "./commands/DescribeSubnetsCommand"; +export * from "./pagination/DescribeSubnetsPaginator"; export * from "./commands/DescribeTagsCommand"; +export * from "./pagination/DescribeTagsPaginator"; export * from "./commands/DescribeTrafficMirrorFiltersCommand"; +export * from "./pagination/DescribeTrafficMirrorFiltersPaginator"; export * from "./commands/DescribeTrafficMirrorSessionsCommand"; +export * from "./pagination/DescribeTrafficMirrorSessionsPaginator"; export * from "./commands/DescribeTrafficMirrorTargetsCommand"; +export * from "./pagination/DescribeTrafficMirrorTargetsPaginator"; export * from "./commands/DescribeTransitGatewayAttachmentsCommand"; +export * from "./pagination/DescribeTransitGatewayAttachmentsPaginator"; export * from "./commands/DescribeTransitGatewayMulticastDomainsCommand"; +export * from "./pagination/DescribeTransitGatewayMulticastDomainsPaginator"; export * from "./commands/DescribeTransitGatewayPeeringAttachmentsCommand"; +export * from "./pagination/DescribeTransitGatewayPeeringAttachmentsPaginator"; export * from "./commands/DescribeTransitGatewayRouteTablesCommand"; +export * from "./pagination/DescribeTransitGatewayRouteTablesPaginator"; export * from "./commands/DescribeTransitGatewaysCommand"; +export * from "./pagination/DescribeTransitGatewaysPaginator"; export * from "./commands/DescribeTransitGatewayVpcAttachmentsCommand"; +export * from "./pagination/DescribeTransitGatewayVpcAttachmentsPaginator"; export * from "./commands/DescribeVolumeAttributeCommand"; export * from "./commands/DescribeVolumesCommand"; +export * from "./pagination/DescribeVolumesPaginator"; export * from "./commands/DescribeVolumesModificationsCommand"; +export * from "./pagination/DescribeVolumesModificationsPaginator"; export * from "./commands/DescribeVolumeStatusCommand"; +export * from "./pagination/DescribeVolumeStatusPaginator"; export * from "./commands/DescribeVpcAttributeCommand"; export * from "./commands/DescribeVpcClassicLinkCommand"; export * from "./commands/DescribeVpcClassicLinkDnsSupportCommand"; +export * from "./pagination/DescribeVpcClassicLinkDnsSupportPaginator"; export * from "./commands/DescribeVpcEndpointConnectionNotificationsCommand"; +export * from "./pagination/DescribeVpcEndpointConnectionNotificationsPaginator"; export * from "./commands/DescribeVpcEndpointConnectionsCommand"; +export * from "./pagination/DescribeVpcEndpointConnectionsPaginator"; export * from "./commands/DescribeVpcEndpointsCommand"; +export * from "./pagination/DescribeVpcEndpointsPaginator"; export * from "./commands/DescribeVpcEndpointServiceConfigurationsCommand"; +export * from "./pagination/DescribeVpcEndpointServiceConfigurationsPaginator"; export * from "./commands/DescribeVpcEndpointServicePermissionsCommand"; +export * from "./pagination/DescribeVpcEndpointServicePermissionsPaginator"; export * from "./commands/DescribeVpcEndpointServicesCommand"; export * from "./commands/DescribeVpcPeeringConnectionsCommand"; +export * from "./pagination/DescribeVpcPeeringConnectionsPaginator"; export * from "./commands/DescribeVpcsCommand"; +export * from "./pagination/DescribeVpcsPaginator"; export * from "./commands/DescribeVpnConnectionsCommand"; export * from "./commands/DescribeVpnGatewaysCommand"; export * from "./commands/DetachClassicLinkVpcCommand"; @@ -293,6 +377,7 @@ export * from "./commands/ExportClientVpnClientConfigurationCommand"; export * from "./commands/ExportImageCommand"; export * from "./commands/ExportTransitGatewayRoutesCommand"; export * from "./commands/GetAssociatedIpv6PoolCidrsCommand"; +export * from "./pagination/GetAssociatedIpv6PoolCidrsPaginator"; export * from "./commands/GetCapacityReservationUsageCommand"; export * from "./commands/GetCoipPoolUsageCommand"; export * from "./commands/GetConsoleOutputCommand"; @@ -301,16 +386,25 @@ export * from "./commands/GetDefaultCreditSpecificationCommand"; export * from "./commands/GetEbsDefaultKmsKeyIdCommand"; export * from "./commands/GetEbsEncryptionByDefaultCommand"; export * from "./commands/GetGroupsForCapacityReservationCommand"; +export * from "./pagination/GetGroupsForCapacityReservationPaginator"; export * from "./commands/GetHostReservationPurchasePreviewCommand"; export * from "./commands/GetLaunchTemplateDataCommand"; export * from "./commands/GetManagedPrefixListAssociationsCommand"; +export * from "./pagination/GetManagedPrefixListAssociationsPaginator"; export * from "./commands/GetManagedPrefixListEntriesCommand"; +export * from "./pagination/GetManagedPrefixListEntriesPaginator"; export * from "./commands/GetPasswordDataCommand"; export * from "./commands/GetReservedInstancesExchangeQuoteCommand"; export * from "./commands/GetTransitGatewayAttachmentPropagationsCommand"; +export * from "./pagination/GetTransitGatewayAttachmentPropagationsPaginator"; export * from "./commands/GetTransitGatewayMulticastDomainAssociationsCommand"; +export * from "./pagination/GetTransitGatewayMulticastDomainAssociationsPaginator"; +export * from "./commands/GetTransitGatewayPrefixListReferencesCommand"; +export * from "./pagination/GetTransitGatewayPrefixListReferencesPaginator"; export * from "./commands/GetTransitGatewayRouteTableAssociationsCommand"; +export * from "./pagination/GetTransitGatewayRouteTableAssociationsPaginator"; export * from "./commands/GetTransitGatewayRouteTablePropagationsCommand"; +export * from "./pagination/GetTransitGatewayRouteTablePropagationsPaginator"; export * from "./commands/ImportClientVpnClientCertificateRevocationListCommand"; export * from "./commands/ImportImageCommand"; export * from "./commands/ImportInstanceCommand"; @@ -344,6 +438,8 @@ export * from "./commands/ModifySubnetAttributeCommand"; export * from "./commands/ModifyTrafficMirrorFilterNetworkServicesCommand"; export * from "./commands/ModifyTrafficMirrorFilterRuleCommand"; export * from "./commands/ModifyTrafficMirrorSessionCommand"; +export * from "./commands/ModifyTransitGatewayCommand"; +export * from "./commands/ModifyTransitGatewayPrefixListReferenceCommand"; export * from "./commands/ModifyTransitGatewayVpcAttachmentCommand"; export * from "./commands/ModifyVolumeCommand"; export * from "./commands/ModifyVolumeAttributeCommand"; @@ -355,6 +451,7 @@ export * from "./commands/ModifyVpcEndpointServicePermissionsCommand"; export * from "./commands/ModifyVpcPeeringConnectionOptionsCommand"; export * from "./commands/ModifyVpcTenancyCommand"; export * from "./commands/ModifyVpnConnectionCommand"; +export * from "./commands/ModifyVpnConnectionOptionsCommand"; export * from "./commands/ModifyVpnTunnelCertificateCommand"; export * from "./commands/ModifyVpnTunnelOptionsCommand"; export * from "./commands/MonitorInstancesCommand"; @@ -397,7 +494,9 @@ export * from "./commands/RevokeSecurityGroupIngressCommand"; export * from "./commands/RunInstancesCommand"; export * from "./commands/RunScheduledInstancesCommand"; export * from "./commands/SearchLocalGatewayRoutesCommand"; +export * from "./pagination/SearchLocalGatewayRoutesPaginator"; export * from "./commands/SearchTransitGatewayMulticastGroupsCommand"; +export * from "./pagination/SearchTransitGatewayMulticastGroupsPaginator"; export * from "./commands/SearchTransitGatewayRoutesCommand"; export * from "./commands/SendDiagnosticInterruptCommand"; export * from "./commands/StartInstancesCommand"; @@ -411,4 +510,5 @@ export * from "./commands/UnmonitorInstancesCommand"; export * from "./commands/UpdateSecurityGroupRuleDescriptionsEgressCommand"; export * from "./commands/UpdateSecurityGroupRuleDescriptionsIngressCommand"; export * from "./commands/WithdrawByoipCidrCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-ec2/models/models_0.ts b/clients/client-ec2/models/models_0.ts index 8334e012b671..71a6ee52f85a 100644 --- a/clients/client-ec2/models/models_0.ts +++ b/clients/client-ec2/models/models_0.ts @@ -4,16 +4,16 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; *

                              Details about the target configuration.

                              */ export interface TargetConfigurationRequest { - /** - *

                              The Convertible Reserved Instance offering ID.

                              - */ - OfferingId: string | undefined; - /** *

                              The number of instances the Covertible Reserved Instance offering can be applied to. This parameter is reserved and cannot * be specified in a request

                              */ InstanceCount?: number; + + /** + *

                              The Convertible Reserved Instance offering ID.

                              + */ + OfferingId: string | undefined; } export namespace TargetConfigurationRequest { @@ -26,18 +26,18 @@ export namespace TargetConfigurationRequest { *

                              Contains the parameters for accepting the quote.

                              */ export interface AcceptReservedInstancesExchangeQuoteRequest { - /** - *

                              The IDs of the Convertible Reserved Instances to exchange for another Convertible - * Reserved Instance of the same or higher value.

                              - */ - ReservedInstanceIds: string[] | undefined; - /** *

                              The configuration of the target Convertible Reserved Instance to exchange for your * current Convertible Reserved Instances.

                              */ TargetConfigurations?: TargetConfigurationRequest[]; + /** + *

                              The IDs of the Convertible Reserved Instances to exchange for another Convertible + * Reserved Instance of the same or higher value.

                              + */ + ReservedInstanceIds: string[] | undefined; + /** *

                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -69,17 +69,17 @@ export namespace AcceptReservedInstancesExchangeQuoteResult { } export interface AcceptTransitGatewayPeeringAttachmentRequest { - /** - *

                              The ID of the transit gateway attachment.

                              - */ - TransitGatewayAttachmentId: string | undefined; - /** *

                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                              */ DryRun?: boolean; + + /** + *

                              The ID of the transit gateway attachment.

                              + */ + TransitGatewayAttachmentId: string | undefined; } export namespace AcceptTransitGatewayPeeringAttachmentRequest { @@ -121,6 +121,7 @@ export type TransitGatewayAttachmentState = | "failed" | "failing" | "initiating" + | "initiatingRequest" | "modifying" | "pending" | "pendingAcceptance" @@ -133,14 +134,14 @@ export type TransitGatewayAttachmentState = */ export interface PeeringAttachmentStatus { /** - *

                              The status code.

                              + *

                              The status message, if applicable.

                              */ - Code?: string; + Message?: string; /** - *

                              The status message, if applicable.

                              + *

                              The status code.

                              */ - Message?: string; + Code?: string; } export namespace PeeringAttachmentStatus { @@ -153,18 +154,18 @@ export namespace PeeringAttachmentStatus { *

                              Describes a tag.

                              */ export interface Tag { - /** - *

                              The value of the tag.

                              - *

                              Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

                              - */ - Value?: string; - /** *

                              The key of the tag.

                              *

                              Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. * May not begin with aws:.

                              */ Key?: string; + + /** + *

                              The value of the tag.

                              + *

                              Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

                              + */ + Value?: string; } export namespace Tag { @@ -178,14 +179,19 @@ export namespace Tag { */ export interface TransitGatewayPeeringAttachment { /** - *

                              The time the transit gateway peering attachment was created.

                              + *

                              The status of the transit gateway peering attachment.

                              */ - CreationTime?: Date; + Status?: PeeringAttachmentStatus; /** - *

                              The status of the transit gateway peering attachment.

                              + *

                              The state of the transit gateway peering attachment. Note that the initiating state has been deprecated.

                              */ - Status?: PeeringAttachmentStatus; + State?: TransitGatewayAttachmentState | string; + + /** + *

                              The time the transit gateway peering attachment was created.

                              + */ + CreationTime?: Date; /** *

                              The tags for the transit gateway peering attachment.

                              @@ -193,9 +199,9 @@ export interface TransitGatewayPeeringAttachment { Tags?: Tag[]; /** - *

                              Information about the requester transit gateway.

                              + *

                              The ID of the transit gateway peering attachment.

                              */ - RequesterTgwInfo?: PeeringTgwInfo; + TransitGatewayAttachmentId?: string; /** *

                              Information about the accepter transit gateway.

                              @@ -203,14 +209,9 @@ export interface TransitGatewayPeeringAttachment { AccepterTgwInfo?: PeeringTgwInfo; /** - *

                              The state of the transit gateway peering attachment.

                              - */ - State?: TransitGatewayAttachmentState | string; - - /** - *

                              The ID of the transit gateway peering attachment.

                              + *

                              Information about the requester transit gateway.

                              */ - TransitGatewayAttachmentId?: string; + RequesterTgwInfo?: PeeringTgwInfo; } export namespace TransitGatewayPeeringAttachment { @@ -233,17 +234,17 @@ export namespace AcceptTransitGatewayPeeringAttachmentResult { } export interface AcceptTransitGatewayVpcAttachmentRequest { - /** - *

                              The ID of the attachment.

                              - */ - TransitGatewayAttachmentId: string | undefined; - /** *

                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                              */ DryRun?: boolean; + + /** + *

                              The ID of the attachment.

                              + */ + TransitGatewayAttachmentId: string | undefined; } export namespace AcceptTransitGatewayVpcAttachmentRequest { @@ -282,9 +283,9 @@ export namespace TransitGatewayVpcAttachmentOptions { */ export interface TransitGatewayVpcAttachment { /** - *

                              The VPC attachment options.

                              + *

                              The ID of the AWS account that owns the VPC.

                              */ - Options?: TransitGatewayVpcAttachmentOptions; + VpcOwnerId?: string; /** *

                              The IDs of the subnets.

                              @@ -292,19 +293,14 @@ export interface TransitGatewayVpcAttachment { SubnetIds?: string[]; /** - *

                              The ID of the attachment.

                              - */ - TransitGatewayAttachmentId?: string; - - /** - *

                              The ID of the AWS account that owns the VPC.

                              + *

                              The VPC attachment options.

                              */ - VpcOwnerId?: string; + Options?: TransitGatewayVpcAttachmentOptions; /** - *

                              The state of the VPC attachment.

                              + *

                              The tags for the VPC attachment.

                              */ - State?: TransitGatewayAttachmentState | string; + Tags?: Tag[]; /** *

                              The ID of the transit gateway.

                              @@ -312,9 +308,9 @@ export interface TransitGatewayVpcAttachment { TransitGatewayId?: string; /** - *

                              The tags for the VPC attachment.

                              + *

                              The creation time.

                              */ - Tags?: Tag[]; + CreationTime?: Date; /** *

                              The ID of the VPC.

                              @@ -322,9 +318,14 @@ export interface TransitGatewayVpcAttachment { VpcId?: string; /** - *

                              The creation time.

                              + *

                              The state of the VPC attachment. Note that the initiating state has been deprecated.

                              */ - CreationTime?: Date; + State?: TransitGatewayAttachmentState | string; + + /** + *

                              The ID of the attachment.

                              + */ + TransitGatewayAttachmentId?: string; } export namespace TransitGatewayVpcAttachment { @@ -347,11 +348,6 @@ export namespace AcceptTransitGatewayVpcAttachmentResult { } export interface AcceptVpcEndpointConnectionsRequest { - /** - *

                              The ID of the VPC endpoint service.

                              - */ - ServiceId: string | undefined; - /** *

                              The IDs of one or more interface VPC endpoints.

                              */ @@ -363,6 +359,11 @@ export interface AcceptVpcEndpointConnectionsRequest { * Otherwise, it is UnauthorizedOperation.

                              */ DryRun?: boolean; + + /** + *

                              The ID of the VPC endpoint service.

                              + */ + ServiceId: string | undefined; } export namespace AcceptVpcEndpointConnectionsRequest { @@ -376,14 +377,14 @@ export namespace AcceptVpcEndpointConnectionsRequest { */ export interface UnsuccessfulItemError { /** - *

                              The error code.

                              + *

                              The error message accompanying the error code.

                              */ - Code?: string; + Message?: string; /** - *

                              The error message accompanying the error code.

                              + *

                              The error code.

                              */ - Message?: string; + Code?: string; } export namespace UnsuccessfulItemError { @@ -484,6 +485,11 @@ export namespace Ipv6CidrBlock { *

                              Describes the VPC peering connection options.

                              */ export interface VpcPeeringConnectionOptionsDescription { + /** + *

                              Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

                              + */ + AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + /** *

                              Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

                              */ @@ -493,11 +499,6 @@ export interface VpcPeeringConnectionOptionsDescription { *

                              Indicates whether a local VPC can resolve public DNS hostnames to private IP addresses when queried from instances in a peer VPC.

                              */ AllowDnsResolutionFromRemoteVpc?: boolean; - - /** - *

                              Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

                              - */ - AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; } export namespace VpcPeeringConnectionOptionsDescription { @@ -511,24 +512,24 @@ export namespace VpcPeeringConnectionOptionsDescription { */ export interface VpcPeeringConnectionVpcInfo { /** - *

                              The Region in which the VPC is located.

                              + *

                              The ID of the VPC.

                              */ - Region?: string; + VpcId?: string; /** - *

                              The IPv6 CIDR block for the VPC.

                              + *

                              Information about the IPv4 CIDR blocks for the VPC.

                              */ - Ipv6CidrBlockSet?: Ipv6CidrBlock[]; + CidrBlockSet?: CidrBlock[]; /** - *

                              The IPv4 CIDR block for the VPC.

                              + *

                              The Region in which the VPC is located.

                              */ - CidrBlock?: string; + Region?: string; /** - *

                              The ID of the VPC.

                              + *

                              The AWS account ID of the VPC owner.

                              */ - VpcId?: string; + OwnerId?: string; /** *

                              Information about the VPC peering connection options for the accepter or requester VPC.

                              @@ -536,14 +537,14 @@ export interface VpcPeeringConnectionVpcInfo { PeeringOptions?: VpcPeeringConnectionOptionsDescription; /** - *

                              Information about the IPv4 CIDR blocks for the VPC.

                              + *

                              The IPv6 CIDR block for the VPC.

                              */ - CidrBlockSet?: CidrBlock[]; + Ipv6CidrBlockSet?: Ipv6CidrBlock[]; /** - *

                              The AWS account ID of the VPC owner.

                              + *

                              The IPv4 CIDR block for the VPC.

                              */ - OwnerId?: string; + CidrBlock?: string; } export namespace VpcPeeringConnectionVpcInfo { @@ -588,25 +589,20 @@ export namespace VpcPeeringConnectionStateReason { *

                              Describes a VPC peering connection.

                              */ export interface VpcPeeringConnection { - /** - *

                              Information about the accepter VPC. CIDR block information is only returned when describing an active VPC peering connection.

                              - */ - AccepterVpcInfo?: VpcPeeringConnectionVpcInfo; - /** *

                              Information about the requester VPC. CIDR block information is only returned when describing an active VPC peering connection.

                              */ RequesterVpcInfo?: VpcPeeringConnectionVpcInfo; /** - *

                              Any tags assigned to the resource.

                              + *

                              The time that an unaccepted VPC peering connection will expire.

                              */ - Tags?: Tag[]; + ExpirationTime?: Date; /** - *

                              The status of the VPC peering connection.

                              + *

                              Information about the accepter VPC. CIDR block information is only returned when describing an active VPC peering connection.

                              */ - Status?: VpcPeeringConnectionStateReason; + AccepterVpcInfo?: VpcPeeringConnectionVpcInfo; /** *

                              The ID of the VPC peering connection.

                              @@ -614,9 +610,14 @@ export interface VpcPeeringConnection { VpcPeeringConnectionId?: string; /** - *

                              The time that an unaccepted VPC peering connection will expire.

                              + *

                              Any tags assigned to the resource.

                              */ - ExpirationTime?: Date; + Tags?: Tag[]; + + /** + *

                              The status of the VPC peering connection.

                              + */ + Status?: VpcPeeringConnectionStateReason; } export namespace VpcPeeringConnection { @@ -687,26 +688,26 @@ export enum InstanceHealthStatus { */ export interface ActiveInstance { /** - *

                              The ID of the Spot Instance request.

                              + *

                              The instance type.

                              */ - SpotInstanceRequestId?: string; + InstanceType?: string; /** *

                              The ID of the instance.

                              */ InstanceId?: string; + /** + *

                              The ID of the Spot Instance request.

                              + */ + SpotInstanceRequestId?: string; + /** *

                              The health status of the instance. If the status of either the instance status check * or the system status check is impaired, the health status of the instance * is unhealthy. Otherwise, the health status is healthy.

                              */ InstanceHealth?: InstanceHealthStatus | string; - - /** - *

                              The instance type.

                              - */ - InstanceType?: string; } export namespace ActiveInstance { @@ -727,15 +728,15 @@ export enum ActivityStatus { */ export interface AddPrefixListEntry { /** - *

                              A description for the entry.

                              - *

                              Constraints: Up to 255 characters in length.

                              + *

                              The CIDR block.

                              */ - Description?: string; + Cidr: string | undefined; /** - *

                              The CIDR block.

                              + *

                              A description for the entry.

                              + *

                              Constraints: Up to 255 characters in length.

                              */ - Cidr: string | undefined; + Description?: string; } export namespace AddPrefixListEntry { @@ -747,24 +748,18 @@ export namespace AddPrefixListEntry { export type DomainType = "standard" | "vpc"; /** - *

                              Describes an Elastic IP address.

                              + *

                              Describes an Elastic IP address, or a carrier IP address.

                              */ export interface Address { /** - *

                              Indicates whether this Elastic IP address is for use with instances - * in EC2-Classic (standard) or instances in a VPC (vpc).

                              - */ - Domain?: DomainType | string; - - /** - *

                              The customer-owned IP address.

                              + *

                              The ID of the network interface.

                              */ - CustomerOwnedIp?: string; + NetworkInterfaceId?: string; /** - *

                              The private IP address associated with the Elastic IP address.

                              + *

                              The ID of the customer-owned address pool.

                              */ - PrivateIpAddress?: string; + CustomerOwnedIpv4Pool?: string; /** *

                              Any tags assigned to the Elastic IP address.

                              @@ -772,29 +767,30 @@ export interface Address { Tags?: Tag[]; /** - *

                              The ID representing the allocation of the address for use with EC2-VPC.

                              + *

                              The ID of an address pool.

                              */ - AllocationId?: string; + PublicIpv4Pool?: string; /** - *

                              The ID of the customer-owned address pool.

                              + *

                              The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from + * which AWS advertises IP addresses.

                              */ - CustomerOwnedIpv4Pool?: string; + NetworkBorderGroup?: string; /** - *

                              The ID of an address pool.

                              + *

                              The ID representing the association of the address with an instance in a VPC.

                              */ - PublicIpv4Pool?: string; + AssociationId?: string; /** - *

                              The name of the location from which the IP address is advertised.

                              + *

                              The Elastic IP address.

                              */ - NetworkBorderGroup?: string; + PublicIp?: string; /** - *

                              The ID of the network interface.

                              + *

                              The ID of the AWS account that owns the network interface.

                              */ - NetworkInterfaceId?: string; + NetworkInterfaceOwnerId?: string; /** *

                              The ID of the instance that the address is associated with (if any).

                              @@ -802,20 +798,32 @@ export interface Address { InstanceId?: string; /** - *

                              The Elastic IP address.

                              + *

                              Indicates whether this Elastic IP address is for use with instances + * in EC2-Classic (standard) or instances in a VPC (vpc).

                              */ - PublicIp?: string; + Domain?: DomainType | string; /** - *

                              The ID of the AWS account that owns the network interface.

                              + *

                              The carrier IP address associated. This option is only available for network interfaces + * which reside in a subnet in a Wavelength Zone (for example an EC2 instance).

                              */ - NetworkInterfaceOwnerId?: string; + CarrierIp?: string; /** - *

                              The ID representing the association of the address with an instance in a VPC.

                              + *

                              The ID representing the allocation of the address for use with EC2-VPC.

                              */ - AssociationId?: string; -} + AllocationId?: string; + + /** + *

                              The private IP address associated with the Elastic IP address.

                              + */ + PrivateIpAddress?: string; + + /** + *

                              The customer-owned IP address.

                              + */ + CustomerOwnedIp?: string; +} export namespace Address { export const filterSensitiveLog = (obj: Address): any => ({ @@ -824,18 +832,18 @@ export namespace Address { } export interface AdvertiseByoipCidrRequest { - /** - *

                              The address range, in CIDR notation. This must be the exact range that you provisioned. - * You can't advertise only a portion of the provisioned range.

                              - */ - Cidr: string | undefined; - /** *

                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                              */ DryRun?: boolean; + + /** + *

                              The address range, in CIDR notation. This must be the exact range that you provisioned. + * You can't advertise only a portion of the provisioned range.

                              + */ + Cidr: string | undefined; } export namespace AdvertiseByoipCidrRequest { @@ -865,9 +873,9 @@ export interface ByoipCidr { State?: ByoipCidrState | string; /** - *

                              The description of the address range.

                              + *

                              Upon success, contains the ID of the address pool. Otherwise, contains an error message.

                              */ - Description?: string; + StatusMessage?: string; /** *

                              The address range, in CIDR notation.

                              @@ -875,9 +883,9 @@ export interface ByoipCidr { Cidr?: string; /** - *

                              Upon success, contains the ID of the address pool. Otherwise, contains an error message.

                              + *

                              The description of the address range.

                              */ - StatusMessage?: string; + Description?: string; } export namespace ByoipCidr { @@ -903,10 +911,28 @@ export type Affinity = "default" | "host"; export interface AllocateAddressRequest { /** - *

                              The location from which the IP address is advertised. Use this parameter to limit the address to this location.

                              - *

                              A network border group is a unique set of Availability Zones or Local Zones from where AWS - * advertises IP addresses and limits the addresses to the group. IP addresses cannot move - * between network border groups.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              + */ + DryRun?: boolean; + + /** + *

                              [EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address pool.

                              + */ + Address?: string; + + /** + *

                              The ID of a customer-owned address pool. Use this parameter to let Amazon EC2 + * select an address from the address pool. Alternatively, specify a specific + * address from the address pool.

                              + */ + CustomerOwnedIpv4Pool?: string; + + /** + *

                              A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS + * advertises IP addresses. Use this parameter to limit the IP address to this location. IP + * addresses cannot move between network border groups.

                              *

                              Use DescribeAvailabilityZones to view the network border groups.

                              * * @@ -922,30 +948,11 @@ export interface AllocateAddressRequest { */ Domain?: DomainType | string; - /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                              - */ - DryRun?: boolean; - /** *

                              The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. * To specify a specific address from the address pool, use the Address parameter instead.

                              */ PublicIpv4Pool?: string; - - /** - *

                              The ID of a customer-owned address pool. Use this parameter to let Amazon EC2 - * select an address from the address pool. Alternatively, specify a specific - * address from the address pool.

                              - */ - CustomerOwnedIpv4Pool?: string; - - /** - *

                              [EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address pool.

                              - */ - Address?: string; } export namespace AllocateAddressRequest { @@ -955,6 +962,17 @@ export namespace AllocateAddressRequest { } export interface AllocateAddressResult { + /** + *

                              The ID of an address pool.

                              + */ + PublicIpv4Pool?: string; + + /** + *

                              The carrier IP address. This option is only available for network interfaces which reside + * in a subnet in a Wavelength Zone (for example an EC2 instance).

                              + */ + CarrierIp?: string; + /** *

                              The customer-owned IP address.

                              */ @@ -967,29 +985,25 @@ export interface AllocateAddressResult { Domain?: DomainType | string; /** - *

                              The ID of an address pool.

                              + *

                              The ID of the customer-owned address pool.

                              */ - PublicIpv4Pool?: string; + CustomerOwnedIpv4Pool?: string; /** - *

                              The Elastic IP address.

                              + *

                              [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

                              */ - PublicIp?: string; + AllocationId?: string; /** - *

                              The location from which the IP address is advertised.

                              + *

                              The set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises + * IP addresses.

                              */ NetworkBorderGroup?: string; /** - *

                              The ID of the customer-owned address pool.

                              - */ - CustomerOwnedIpv4Pool?: string; - - /** - *

                              [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

                              + *

                              The Elastic IP address.

                              */ - AllocationId?: string; + PublicIp?: string; } export namespace AllocateAddressResult { @@ -1007,6 +1021,7 @@ export type ResourceType = | "customer-gateway" | "dedicated-host" | "dhcp-options" + | "egress-only-internet-gateway" | "elastic-gpu" | "elastic-ip" | "export-image-task" @@ -1089,6 +1104,11 @@ export namespace TagSpecification { } export interface AllocateHostsRequest { + /** + *

                              The Availability Zone in which to allocate the Dedicated Host.

                              + */ + AvailabilityZone: string | undefined; + /** *

                              Indicates whether the host accepts any untargeted instance launches that * match its instance type configuration, or if it only accepts Host tenancy @@ -1102,11 +1122,6 @@ export interface AllocateHostsRequest { */ AutoPlacement?: AutoPlacement | string; - /** - *

                              The Availability Zone in which to allocate the Dedicated Host.

                              - */ - AvailabilityZone: string | undefined; - /** *

                              Specifies the instance family to be supported by the Dedicated Hosts. If you specify * an instance family, the Dedicated Hosts support multiple instance types within that @@ -1119,11 +1134,6 @@ export interface AllocateHostsRequest { */ InstanceFamily?: string; - /** - *

                              The number of Dedicated Hosts to allocate to your account with these parameters.

                              - */ - Quantity: number | undefined; - /** *

                              The tags to apply to the Dedicated Host during creation.

                              */ @@ -1155,6 +1165,11 @@ export interface AllocateHostsRequest { * InstanceFamily in the same request.

                              */ InstanceType?: string; + + /** + *

                              The number of Dedicated Hosts to allocate to your account with these parameters.

                              + */ + Quantity: number | undefined; } export namespace AllocateHostsRequest { @@ -1208,14 +1223,14 @@ export enum PrincipalType { */ export interface AllowedPrincipal { /** - *

                              The Amazon Resource Name (ARN) of the principal.

                              + *

                              The type of principal.

                              */ - Principal?: string; + PrincipalType?: PrincipalType | string; /** - *

                              The type of principal.

                              + *

                              The Amazon Resource Name (ARN) of the principal.

                              */ - PrincipalType?: PrincipalType | string; + Principal?: string; } export namespace AllowedPrincipal { @@ -1232,6 +1247,11 @@ export interface ApplySecurityGroupsToClientVpnTargetNetworkRequest { */ ClientVpnEndpointId: string | undefined; + /** + *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              + */ + DryRun?: boolean; + /** *

                              The ID of the VPC in which the associated target network is located.

                              */ @@ -1242,11 +1262,6 @@ export interface ApplySecurityGroupsToClientVpnTargetNetworkRequest { * be applied to an associated target network.

                              */ SecurityGroupIds: string[] | undefined; - - /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              - */ - DryRun?: boolean; } export namespace ApplySecurityGroupsToClientVpnTargetNetworkRequest { @@ -1270,9 +1285,11 @@ export namespace ApplySecurityGroupsToClientVpnTargetNetworkResult { export interface AssignIpv6AddressesRequest { /** - *

                              One or more specific IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses.

                              + *

                              The number of IPv6 addresses to assign to the network interface. Amazon EC2 + * automatically selects the IPv6 addresses from the subnet range. You can't use this + * option if specifying specific IPv6 addresses.

                              */ - Ipv6Addresses?: string[]; + Ipv6AddressCount?: number; /** *

                              The ID of the network interface.

                              @@ -1280,11 +1297,9 @@ export interface AssignIpv6AddressesRequest { NetworkInterfaceId: string | undefined; /** - *

                              The number of IPv6 addresses to assign to the network interface. Amazon EC2 - * automatically selects the IPv6 addresses from the subnet range. You can't use this - * option if specifying specific IPv6 addresses.

                              + *

                              One or more specific IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses.

                              */ - Ipv6AddressCount?: number; + Ipv6Addresses?: string[]; } export namespace AssignIpv6AddressesRequest { @@ -1316,15 +1331,14 @@ export namespace AssignIpv6AddressesResult { */ export interface AssignPrivateIpAddressesRequest { /** - *

                              Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.

                              + *

                              The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

                              */ - AllowReassignment?: boolean; + SecondaryPrivateIpAddressCount?: number; /** - *

                              One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

                              - *

                              If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

                              + *

                              Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.

                              */ - PrivateIpAddresses?: string[]; + AllowReassignment?: boolean; /** *

                              The ID of the network interface.

                              @@ -1332,9 +1346,10 @@ export interface AssignPrivateIpAddressesRequest { NetworkInterfaceId: string | undefined; /** - *

                              The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

                              + *

                              One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

                              + *

                              If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

                              */ - SecondaryPrivateIpAddressCount?: number; + PrivateIpAddresses?: string[]; } export namespace AssignPrivateIpAddressesRequest { @@ -1361,14 +1376,14 @@ export namespace AssignedPrivateIpAddress { export interface AssignPrivateIpAddressesResult { /** - *

                              The private IP addresses assigned to the network interface.

                              + *

                              The ID of the network interface.

                              */ - AssignedPrivateIpAddresses?: AssignedPrivateIpAddress[]; + NetworkInterfaceId?: string; /** - *

                              The ID of the network interface.

                              + *

                              The private IP addresses assigned to the network interface.

                              */ - NetworkInterfaceId?: string; + AssignedPrivateIpAddresses?: AssignedPrivateIpAddress[]; } export namespace AssignPrivateIpAddressesResult { @@ -1379,20 +1394,14 @@ export namespace AssignPrivateIpAddressesResult { export interface AssociateAddressRequest { /** - *

                              [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

                              - */ - AllowReassociation?: boolean; - - /** - *

                              [EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

                              + *

                              The Elastic IP address to associate with the instance. This is required for EC2-Classic.

                              */ - PrivateIpAddress?: string; + PublicIp?: string; /** - *

                              [EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

                              - *

                              For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both.

                              + *

                              The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

                              */ - NetworkInterfaceId?: string; + InstanceId?: string; /** *

                              Checks whether you have the required permissions for the action, without actually making the request, @@ -1402,19 +1411,25 @@ export interface AssociateAddressRequest { DryRun?: boolean; /** - *

                              The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

                              + *

                              [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

                              */ - InstanceId?: string; + AllowReassociation?: boolean; /** - *

                              The Elastic IP address to associate with the instance. This is required for EC2-Classic.

                              + *

                              [EC2-VPC] The allocation ID. This is required for EC2-VPC.

                              */ - PublicIp?: string; + AllocationId?: string; /** - *

                              [EC2-VPC] The allocation ID. This is required for EC2-VPC.

                              + *

                              [EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

                              + *

                              For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both.

                              */ - AllocationId?: string; + NetworkInterfaceId?: string; + + /** + *

                              [EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

                              + */ + PrivateIpAddress?: string; } export namespace AssociateAddressRequest { @@ -1438,24 +1453,24 @@ export namespace AssociateAddressResult { export interface AssociateClientVpnTargetNetworkRequest { /** - *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                              + *

                              The ID of the subnet to associate with the Client VPN endpoint.

                              */ - ClientToken?: string; + SubnetId: string | undefined; /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              + *

                              The ID of the Client VPN endpoint.

                              */ - DryRun?: boolean; + ClientVpnEndpointId: string | undefined; /** - *

                              The ID of the subnet to associate with the Client VPN endpoint.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              */ - SubnetId: string | undefined; + DryRun?: boolean; /** - *

                              The ID of the Client VPN endpoint.

                              + *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                              */ - ClientVpnEndpointId: string | undefined; + ClientToken?: string; } export namespace AssociateClientVpnTargetNetworkRequest { @@ -1476,14 +1491,14 @@ export type AssociationStatusCode = */ export interface AssociationStatus { /** - *

                              The state of the target network association.

                              + *

                              A message about the status of the target network association, if applicable.

                              */ - Code?: AssociationStatusCode | string; + Message?: string; /** - *

                              A message about the status of the target network association, if applicable.

                              + *

                              The state of the target network association.

                              */ - Message?: string; + Code?: AssociationStatusCode | string; } export namespace AssociationStatus { @@ -1494,14 +1509,14 @@ export namespace AssociationStatus { export interface AssociateClientVpnTargetNetworkResult { /** - *

                              The unique ID of the target network association.

                              + *

                              The current state of the target network association.

                              */ - AssociationId?: string; + Status?: AssociationStatus; /** - *

                              The current state of the target network association.

                              + *

                              The unique ID of the target network association.

                              */ - Status?: AssociationStatus; + AssociationId?: string; } export namespace AssociateClientVpnTargetNetworkResult { @@ -1511,17 +1526,17 @@ export namespace AssociateClientVpnTargetNetworkResult { } export interface AssociateDhcpOptionsRequest { - /** - *

                              The ID of the VPC.

                              - */ - VpcId: string | undefined; - /** *

                              The ID of the DHCP options set, or default to associate * no DHCP options with the VPC.

                              */ DhcpOptionsId: string | undefined; + /** + *

                              The ID of the VPC.

                              + */ + VpcId: string | undefined; + /** *

                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1541,14 +1556,14 @@ export namespace AssociateDhcpOptionsRequest { */ export interface IamInstanceProfileSpecification { /** - *

                              The name of the instance profile.

                              + *

                              The Amazon Resource Name (ARN) of the instance profile.

                              */ - Name?: string; + Arn?: string; /** - *

                              The Amazon Resource Name (ARN) of the instance profile.

                              + *

                              The name of the instance profile.

                              */ - Arn?: string; + Name?: string; } export namespace IamInstanceProfileSpecification { @@ -1559,14 +1574,14 @@ export namespace IamInstanceProfileSpecification { export interface AssociateIamInstanceProfileRequest { /** - *

                              The ID of the instance.

                              + *

                              The IAM instance profile.

                              */ - InstanceId: string | undefined; + IamInstanceProfile: IamInstanceProfileSpecification | undefined; /** - *

                              The IAM instance profile.

                              + *

                              The ID of the instance.

                              */ - IamInstanceProfile: IamInstanceProfileSpecification | undefined; + InstanceId: string | undefined; } export namespace AssociateIamInstanceProfileRequest { @@ -1580,14 +1595,14 @@ export namespace AssociateIamInstanceProfileRequest { */ export interface IamInstanceProfile { /** - *

                              The ID of the instance profile.

                              + *

                              The Amazon Resource Name (ARN) of the instance profile.

                              */ - Id?: string; + Arn?: string; /** - *

                              The Amazon Resource Name (ARN) of the instance profile.

                              + *

                              The ID of the instance profile.

                              */ - Arn?: string; + Id?: string; } export namespace IamInstanceProfile { @@ -1618,9 +1633,9 @@ export interface IamInstanceProfileAssociation { Timestamp?: Date; /** - *

                              The state of the association.

                              + *

                              The IAM instance profile.

                              */ - State?: IamInstanceProfileAssociationState | string; + IamInstanceProfile?: IamInstanceProfile; /** *

                              The ID of the association.

                              @@ -1628,9 +1643,9 @@ export interface IamInstanceProfileAssociation { AssociationId?: string; /** - *

                              The IAM instance profile.

                              + *

                              The state of the association.

                              */ - IamInstanceProfile?: IamInstanceProfile; + State?: IamInstanceProfileAssociationState | string; } export namespace IamInstanceProfileAssociation { @@ -1654,9 +1669,9 @@ export namespace AssociateIamInstanceProfileResult { export interface AssociateRouteTableRequest { /** - *

                              The ID of the subnet.

                              + *

                              The ID of the route table.

                              */ - SubnetId?: string; + RouteTableId: string | undefined; /** *

                              The ID of the internet gateway or virtual private gateway.

                              @@ -1671,9 +1686,9 @@ export interface AssociateRouteTableRequest { DryRun?: boolean; /** - *

                              The ID of the route table.

                              + *

                              The ID of the subnet.

                              */ - RouteTableId: string | undefined; + SubnetId?: string; } export namespace AssociateRouteTableRequest { @@ -1694,14 +1709,14 @@ export type RouteTableAssociationStateCode = */ export interface RouteTableAssociationState { /** - *

                              The status message, if applicable.

                              + *

                              The state of the association.

                              */ - StatusMessage?: string; + State?: RouteTableAssociationStateCode | string; /** - *

                              The state of the association.

                              + *

                              The status message, if applicable.

                              */ - State?: RouteTableAssociationStateCode | string; + StatusMessage?: string; } export namespace RouteTableAssociationState { @@ -1711,16 +1726,16 @@ export namespace RouteTableAssociationState { } export interface AssociateRouteTableResult { - /** - *

                              The state of the association.

                              - */ - AssociationState?: RouteTableAssociationState; - /** *

                              The route table association ID. This ID is required for disassociating the route * table.

                              */ AssociationId?: string; + + /** + *

                              The state of the association.

                              + */ + AssociationState?: RouteTableAssociationState; } export namespace AssociateRouteTableResult { @@ -1781,6 +1796,11 @@ export namespace SubnetCidrBlockState { *

                              Describes an IPv6 CIDR block associated with a subnet.

                              */ export interface SubnetIpv6CidrBlockAssociation { + /** + *

                              Information about the state of the CIDR block.

                              + */ + Ipv6CidrBlockState?: SubnetCidrBlockState; + /** *

                              The IPv6 CIDR block.

                              */ @@ -1790,11 +1810,6 @@ export interface SubnetIpv6CidrBlockAssociation { *

                              The association ID for the CIDR block.

                              */ AssociationId?: string; - - /** - *

                              Information about the state of the CIDR block.

                              - */ - Ipv6CidrBlockState?: SubnetCidrBlockState; } export namespace SubnetIpv6CidrBlockAssociation { @@ -1822,6 +1837,11 @@ export namespace AssociateSubnetCidrBlockResult { } export interface AssociateTransitGatewayMulticastDomainRequest { + /** + *

                              The ID of the transit gateway multicast domain.

                              + */ + TransitGatewayMulticastDomainId?: string; + /** *

                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1834,11 +1854,6 @@ export interface AssociateTransitGatewayMulticastDomainRequest { */ SubnetIds?: string[]; - /** - *

                              The ID of the transit gateway multicast domain.

                              - */ - TransitGatewayMulticastDomainId?: string; - /** *

                              The ID of the transit gateway attachment to associate with the transit gateway multicast domain.

                              */ @@ -1851,7 +1866,7 @@ export namespace AssociateTransitGatewayMulticastDomainRequest { }); } -export type TransitGatewayAttachmentResourceType = "direct-connect-gateway" | "tgw-peering" | "vpc" | "vpn"; +export type TransitGatewayAttachmentResourceType = "direct-connect-gateway" | "peering" | "tgw-peering" | "vpc" | "vpn"; export type TransitGatewayMulitcastDomainAssociationState = | "associated" @@ -1884,15 +1899,20 @@ export namespace SubnetAssociation { *

                              Describes the multicast domain associations.

                              */ export interface TransitGatewayMulticastDomainAssociations { + /** + *

                              The subnets associated with the multicast domain.

                              + */ + Subnets?: SubnetAssociation[]; + /** *

                              The ID of the transit gateway multicast domain.

                              */ TransitGatewayMulticastDomainId?: string; /** - *

                              The ID of the transit gateway attachment.

                              + *

                              The type of resource, for example a VPC attachment.

                              */ - TransitGatewayAttachmentId?: string; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** *

                              The ID of the resource.

                              @@ -1900,14 +1920,9 @@ export interface TransitGatewayMulticastDomainAssociations { ResourceId?: string; /** - *

                              The subnets associated with the multicast domain.

                              - */ - Subnets?: SubnetAssociation[]; - - /** - *

                              The type of resource, for example a VPC attachment.

                              + *

                              The ID of the transit gateway attachment.

                              */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + TransitGatewayAttachmentId?: string; } export namespace TransitGatewayMulticastDomainAssociations { @@ -1930,13 +1945,6 @@ export namespace AssociateTransitGatewayMulticastDomainResult { } export interface AssociateTransitGatewayRouteTableRequest { - /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                              - */ - DryRun?: boolean; - /** *

                              The ID of the transit gateway route table.

                              */ @@ -1946,6 +1954,13 @@ export interface AssociateTransitGatewayRouteTableRequest { *

                              The ID of the attachment.

                              */ TransitGatewayAttachmentId: string | undefined; + + /** + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              + */ + DryRun?: boolean; } export namespace AssociateTransitGatewayRouteTableRequest { @@ -1966,14 +1981,14 @@ export interface TransitGatewayAssociation { State?: TransitGatewayAssociationState | string; /** - *

                              The ID of the transit gateway route table.

                              + *

                              The ID of the attachment.

                              */ - TransitGatewayRouteTableId?: string; + TransitGatewayAttachmentId?: string; /** - *

                              The resource type.

                              + *

                              The ID of the transit gateway route table.

                              */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + TransitGatewayRouteTableId?: string; /** *

                              The ID of the resource.

                              @@ -1981,9 +1996,9 @@ export interface TransitGatewayAssociation { ResourceId?: string; /** - *

                              The ID of the attachment.

                              + *

                              The resource type. Note that the tgw-peering resource type has been deprecated.

                              */ - TransitGatewayAttachmentId?: string; + ResourceType?: TransitGatewayAttachmentResourceType | string; } export namespace TransitGatewayAssociation { @@ -2007,37 +2022,38 @@ export namespace AssociateTransitGatewayRouteTableResult { export interface AssociateVpcCidrBlockRequest { /** - *

                              The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

                              + *

                              An IPv4 CIDR block to associate with the VPC.

                              */ - Ipv6Pool?: string; + CidrBlock?: string; /** - *

                              An IPv4 CIDR block to associate with the VPC.

                              + *

                              The ID of the VPC.

                              */ - CidrBlock?: string; + VpcId: string | undefined; /** - *

                              The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CiDR block to this location.

                              + *

                              The name of the location from which we advertise the IPV6 CIDR block. Use this parameter + * to limit the CIDR block to this location.

                              *

                              You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

                              *

                              You can have one IPv6 CIDR block association per network border group.

                              */ Ipv6CidrBlockNetworkBorderGroup?: string; /** - *

                              An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

                              - *

                              To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

                              + *

                              Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.

                              */ - Ipv6CidrBlock?: string; + AmazonProvidedIpv6CidrBlock?: boolean; /** - *

                              Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.

                              + *

                              An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

                              + *

                              To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

                              */ - AmazonProvidedIpv6CidrBlock?: boolean; + Ipv6CidrBlock?: string; /** - *

                              The ID of the VPC.

                              + *

                              The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

                              */ - VpcId: string | undefined; + Ipv6Pool?: string; } export namespace AssociateVpcCidrBlockRequest { @@ -2079,11 +2095,6 @@ export namespace VpcCidrBlockState { *

                              Describes an IPv4 CIDR block associated with a VPC.

                              */ export interface VpcCidrBlockAssociation { - /** - *

                              Information about the state of the CIDR block.

                              - */ - CidrBlockState?: VpcCidrBlockState; - /** *

                              The association ID for the IPv4 CIDR block.

                              */ @@ -2093,6 +2104,11 @@ export interface VpcCidrBlockAssociation { *

                              The IPv4 CIDR block.

                              */ CidrBlock?: string; + + /** + *

                              Information about the state of the CIDR block.

                              + */ + CidrBlockState?: VpcCidrBlockState; } export namespace VpcCidrBlockAssociation { @@ -2106,14 +2122,15 @@ export namespace VpcCidrBlockAssociation { */ export interface VpcIpv6CidrBlockAssociation { /** - *

                              The name of the location from which we advertise the IPV6 CIDR block.

                              + *

                              The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from + * which AWS advertises IP addresses, for example, us-east-1-wl1-bos-wlz-1.

                              */ NetworkBorderGroup?: string; /** - *

                              The association ID for the IPv6 CIDR block.

                              + *

                              Information about the state of the CIDR block.

                              */ - AssociationId?: string; + Ipv6CidrBlockState?: VpcCidrBlockState; /** *

                              The IPv6 CIDR block.

                              @@ -2126,9 +2143,9 @@ export interface VpcIpv6CidrBlockAssociation { Ipv6Pool?: string; /** - *

                              Information about the state of the CIDR block.

                              + *

                              The association ID for the IPv6 CIDR block.

                              */ - Ipv6CidrBlockState?: VpcCidrBlockState; + AssociationId?: string; } export namespace VpcIpv6CidrBlockAssociation { @@ -2138,6 +2155,11 @@ export namespace VpcIpv6CidrBlockAssociation { } export interface AssociateVpcCidrBlockResult { + /** + *

                              The ID of the VPC.

                              + */ + VpcId?: string; + /** *

                              Information about the IPv6 CIDR block association.

                              */ @@ -2147,11 +2169,6 @@ export interface AssociateVpcCidrBlockResult { *

                              Information about the IPv4 CIDR block association.

                              */ CidrBlockAssociation?: VpcCidrBlockAssociation; - - /** - *

                              The ID of the VPC.

                              - */ - VpcId?: string; } export namespace AssociateVpcCidrBlockResult { @@ -2162,9 +2179,9 @@ export namespace AssociateVpcCidrBlockResult { export interface AttachClassicLinkVpcRequest { /** - *

                              The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

                              + *

                              The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

                              */ - Groups: string[] | undefined; + InstanceId: string | undefined; /** *

                              Checks whether you have the required permissions for the action, without actually making the request, @@ -2174,9 +2191,9 @@ export interface AttachClassicLinkVpcRequest { DryRun?: boolean; /** - *

                              The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

                              + *

                              The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

                              */ - InstanceId: string | undefined; + Groups: string[] | undefined; /** *

                              The ID of a ClassicLink-enabled VPC.

                              @@ -2212,14 +2229,14 @@ export interface AttachInternetGatewayRequest { DryRun?: boolean; /** - *

                              The ID of the internet gateway.

                              + *

                              The ID of the VPC.

                              */ - InternetGatewayId: string | undefined; + VpcId: string | undefined; /** - *

                              The ID of the VPC.

                              + *

                              The ID of the internet gateway.

                              */ - VpcId: string | undefined; + InternetGatewayId: string | undefined; } export namespace AttachInternetGatewayRequest { @@ -2233,26 +2250,26 @@ export namespace AttachInternetGatewayRequest { */ export interface AttachNetworkInterfaceRequest { /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                              + *

                              The ID of the network interface.

                              */ - DryRun?: boolean; + NetworkInterfaceId: string | undefined; /** - *

                              The ID of the instance.

                              + *

                              The index of the device for the network interface attachment.

                              */ - InstanceId: string | undefined; + DeviceIndex: number | undefined; /** - *

                              The index of the device for the network interface attachment.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - DeviceIndex: number | undefined; + DryRun?: boolean; /** - *

                              The ID of the network interface.

                              + *

                              The ID of the instance.

                              */ - NetworkInterfaceId: string | undefined; + InstanceId: string | undefined; } export namespace AttachNetworkInterfaceRequest { @@ -2279,27 +2296,27 @@ export namespace AttachNetworkInterfaceResult { export interface AttachVolumeRequest { /** - *

                              The ID of the EBS volume. The volume and instance must be within the same Availability - * Zone.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - VolumeId: string | undefined; + DryRun?: boolean; /** - *

                              The device name (for example, /dev/sdh or xvdh).

                              + *

                              The ID of the instance.

                              */ - Device: string | undefined; + InstanceId: string | undefined; /** - *

                              The ID of the instance.

                              + *

                              The device name (for example, /dev/sdh or xvdh).

                              */ - InstanceId: string | undefined; + Device: string | undefined; /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                              + *

                              The ID of the EBS volume. The volume and instance must be within the same Availability + * Zone.

                              */ - DryRun?: boolean; + VolumeId: string | undefined; } export namespace AttachVolumeRequest { @@ -2320,29 +2337,29 @@ export interface VolumeAttachment { VolumeId?: string; /** - *

                              The ID of the instance.

                              + *

                              The attachment state of the volume.

                              */ - InstanceId?: string; + State?: VolumeAttachmentState | string; /** - *

                              The time stamp when the attachment initiated.

                              + *

                              Indicates whether the EBS volume is deleted on instance termination.

                              */ - AttachTime?: Date; + DeleteOnTermination?: boolean; /** - *

                              The device name.

                              + *

                              The ID of the instance.

                              */ - Device?: string; + InstanceId?: string; /** - *

                              Indicates whether the EBS volume is deleted on instance termination.

                              + *

                              The device name.

                              */ - DeleteOnTermination?: boolean; + Device?: string; /** - *

                              The attachment state of the volume.

                              + *

                              The time stamp when the attachment initiated.

                              */ - State?: VolumeAttachmentState | string; + AttachTime?: Date; } export namespace VolumeAttachment { @@ -2360,17 +2377,17 @@ export interface AttachVpnGatewayRequest { */ VpcId: string | undefined; + /** + *

                              The ID of the virtual private gateway.

                              + */ + VpnGatewayId: string | undefined; + /** *

                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                              */ DryRun?: boolean; - - /** - *

                              The ID of the virtual private gateway.

                              - */ - VpnGatewayId: string | undefined; } export namespace AttachVpnGatewayRequest { @@ -2386,14 +2403,14 @@ export type AttachmentStatus = "attached" | "attaching" | "detached" | "detachin */ export interface VpcAttachment { /** - *

                              The current state of the attachment.

                              + *

                              The ID of the VPC.

                              */ - State?: AttachmentStatus | string; + VpcId?: string; /** - *

                              The ID of the VPC.

                              + *

                              The current state of the attachment.

                              */ - VpcId?: string; + State?: AttachmentStatus | string; } export namespace VpcAttachment { @@ -2424,37 +2441,37 @@ export interface AuthorizeClientVpnIngressRequest { */ Description?: string; - /** - *

                              The ID of the Client VPN endpoint.

                              - */ - ClientVpnEndpointId: string | undefined; - /** *

                              The IPv4 address range, in CIDR notation, of the network for which access is being authorized.

                              */ TargetNetworkCidr: string | undefined; /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              + *

                              Indicates whether to grant access to all clients. Specify true to grant all + * clients who successfully establish a VPN connection access to the network. Must be set + * to true if AccessGroupId is not specified.

                              */ - DryRun?: boolean; + AuthorizeAllGroups?: boolean; /** *

                              The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. Required if AuthorizeAllGroups is false or not specified.

                              */ AccessGroupId?: string; + /** + *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              + */ + DryRun?: boolean; + /** *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                              */ ClientToken?: string; /** - *

                              Indicates whether to grant access to all clients. Specify true to grant all - * clients who successfully establish a VPN connection access to the network. Must be set - * to true if AccessGroupId is not specified.

                              + *

                              The ID of the Client VPN endpoint.

                              */ - AuthorizeAllGroups?: boolean; + ClientVpnEndpointId: string | undefined; } export namespace AuthorizeClientVpnIngressRequest { @@ -2470,14 +2487,14 @@ export type ClientVpnAuthorizationRuleStatusCode = "active" | "authorizing" | "f */ export interface ClientVpnAuthorizationRuleStatus { /** - *

                              The state of the authorization rule.

                              + *

                              A message about the status of the authorization rule, if applicable.

                              */ - Code?: ClientVpnAuthorizationRuleStatusCode | string; + Message?: string; /** - *

                              A message about the status of the authorization rule, if applicable.

                              + *

                              The state of the authorization rule.

                              */ - Message?: string; + Code?: ClientVpnAuthorizationRuleStatusCode | string; } export namespace ClientVpnAuthorizationRuleStatus { @@ -2527,18 +2544,18 @@ export namespace IpRange { *

                              [EC2-VPC only] Describes an IPv6 range.

                              */ export interface Ipv6Range { - /** - *

                              The IPv6 CIDR range. You can either specify a CIDR range or a source security group, - * not both. To specify a single IPv6 address, use the /128 prefix length.

                              - */ - CidrIpv6?: string; - /** *

                              A description for the security group rule that references this IPv6 address range.

                              *

                              Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, * spaces, and ._-:/()#,@[]+=&;{}!$*

                              */ Description?: string; + + /** + *

                              The IPv6 CIDR range. You can either specify a CIDR range or a source security group, + * not both. To specify a single IPv6 address, use the /128 prefix length.

                              + */ + CidrIpv6?: string; } export namespace Ipv6Range { @@ -2575,9 +2592,12 @@ export namespace PrefixListId { */ export interface UserIdGroupPair { /** - *

                              The ID of the security group.

                              + *

                              A description for the security group rule that references this user ID group + * pair.

                              + *

                              Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, + * spaces, and ._-:/()#,@[]+=;{}!$*

                              */ - GroupId?: string; + Description?: string; /** *

                              The ID of the VPC for the referenced security group, if applicable.

                              @@ -2585,17 +2605,23 @@ export interface UserIdGroupPair { VpcId?: string; /** - *

                              The status of a VPC peering connection, if applicable.

                              + *

                              The ID of an AWS account.

                              + *

                              For a referenced security group in another VPC, the account ID of the referenced + * security group is returned in the response. If the referenced security group is deleted, + * this value is not returned.

                              + *

                              [EC2-Classic] Required when adding or removing rules that reference a security group + * in another AWS account.

                              */ - PeeringStatus?: string; + UserId?: string; /** - *

                              A description for the security group rule that references this user ID group - * pair.

                              - *

                              Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, - * spaces, and ._-:/()#,@[]+=;{}!$*

                              + *

                              The name of the security group. In a request, use this parameter for a security group + * in EC2-Classic or a default VPC only. For a security group in a nondefault VPC, use the + * security group ID.

                              + *

                              For a referenced security group in another VPC, this value is not returned if the + * referenced security group is deleted.

                              */ - Description?: string; + GroupName?: string; /** *

                              The ID of the VPC peering connection, if applicable.

                              @@ -2603,23 +2629,14 @@ export interface UserIdGroupPair { VpcPeeringConnectionId?: string; /** - *

                              The name of the security group. In a request, use this parameter for a security group - * in EC2-Classic or a default VPC only. For a security group in a nondefault VPC, use the - * security group ID.

                              - *

                              For a referenced security group in another VPC, this value is not returned if the - * referenced security group is deleted.

                              + *

                              The status of a VPC peering connection, if applicable.

                              */ - GroupName?: string; + PeeringStatus?: string; /** - *

                              The ID of an AWS account.

                              - *

                              For a referenced security group in another VPC, the account ID of the referenced - * security group is returned in the response. If the referenced security group is deleted, - * this value is not returned.

                              - *

                              [EC2-Classic] Required when adding or removing rules that reference a security group - * in another AWS account.

                              + *

                              The ID of the security group.

                              */ - UserId?: string; + GroupId?: string; } export namespace UserIdGroupPair { @@ -2632,22 +2649,15 @@ export namespace UserIdGroupPair { *

                              Describes a set of permissions for a security group rule.

                              */ export interface IpPermission { - /** - *

                              The IPv4 ranges.

                              - */ - IpRanges?: IpRange[]; - /** *

                              [VPC only] The IPv6 ranges.

                              */ Ipv6Ranges?: Ipv6Range[]; /** - *

                              The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value - * of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, - * you must specify all codes.

                              + *

                              The security group and AWS account ID pairs.

                              */ - ToPort?: number; + UserIdGroupPairs?: UserIdGroupPair[]; /** *

                              The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. @@ -2656,6 +2666,23 @@ export interface IpPermission { */ FromPort?: number; + /** + *

                              [VPC only] The prefix list IDs.

                              + */ + PrefixListIds?: PrefixListId[]; + + /** + *

                              The IPv4 ranges.

                              + */ + IpRanges?: IpRange[]; + + /** + *

                              The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value + * of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, + * you must specify all codes.

                              + */ + ToPort?: number; + /** *

                              The IP protocol name (tcp, udp, icmp, icmpv6) * or number (see Protocol Numbers).

                              @@ -2667,16 +2694,6 @@ export interface IpPermission { * the port range is optional; if you omit the port range, traffic for all types and codes is allowed.

                              */ IpProtocol?: string; - - /** - *

                              [VPC only] The prefix list IDs.

                              - */ - PrefixListIds?: PrefixListId[]; - - /** - *

                              The security group and AWS account ID pairs.

                              - */ - UserIdGroupPairs?: UserIdGroupPair[]; } export namespace IpPermission { @@ -2687,55 +2704,55 @@ export namespace IpPermission { export interface AuthorizeSecurityGroupEgressRequest { /** - *

                              Not supported. Use a set of IP permissions to specify the port.

                              + *

                              Not supported. Use a set of IP permissions to specify the protocol name or + * number.

                              */ - ToPort?: number; + IpProtocol?: string; /** - *

                              Not supported. Use a set of IP permissions to specify a - * destination security group.

                              + *

                              Not supported. Use a set of IP permissions to specify the port.

                              */ - SourceSecurityGroupName?: string; + ToPort?: number; /** - *

                              Not supported. Use a set of IP permissions to specify the port.

                              + *

                              The sets of IP permissions. You can't specify a destination security group and a CIDR IP + * address range in the same set of permissions.

                              */ - FromPort?: number; + IpPermissions?: IpPermission[]; /** - *

                              The ID of the security group.

                              + *

                              Not supported. Use a set of IP permissions to specify the CIDR.

                              */ - GroupId: string | undefined; + CidrIp?: string; /** - *

                              Not supported. Use a set of IP permissions to specify the protocol name or - * number.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - IpProtocol?: string; + DryRun?: boolean; /** - *

                              The sets of IP permissions. You can't specify a destination security group and a CIDR IP - * address range in the same set of permissions.

                              + *

                              Not supported. Use a set of IP permissions to specify a + * destination security group.

                              */ - IpPermissions?: IpPermission[]; + SourceSecurityGroupOwnerId?: string; /** *

                              Not supported. Use a set of IP permissions to specify a * destination security group.

                              */ - SourceSecurityGroupOwnerId?: string; + SourceSecurityGroupName?: string; /** - *

                              Not supported. Use a set of IP permissions to specify the CIDR.

                              + *

                              Not supported. Use a set of IP permissions to specify the port.

                              */ - CidrIp?: string; + FromPort?: number; /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                              + *

                              The ID of the security group.

                              */ - DryRun?: boolean; + GroupId: string | undefined; } export namespace AuthorizeSecurityGroupEgressRequest { @@ -2745,6 +2762,22 @@ export namespace AuthorizeSecurityGroupEgressRequest { } export interface AuthorizeSecurityGroupIngressRequest { + /** + *

                              The ID of the security group. You must specify either the security group ID or the + * security group name in the request. For security groups in a nondefault VPC, you must + * specify the security group ID.

                              + */ + GroupId?: string; + + /** + *

                              [EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter + * in combination with the following parameters: the CIDR IP address range, the start of the port range, + * the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. + * To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For + * EC2-VPC, the source security group must be in the same VPC.

                              + */ + SourceSecurityGroupName?: string; + /** *

                              The end of port range for the TCP and UDP protocols, or an ICMP code number. * For the ICMP code number, use -1 to specify all codes. If you @@ -2753,12 +2786,6 @@ export interface AuthorizeSecurityGroupIngressRequest { */ ToPort?: number; - /** - *

                              [EC2-Classic, default VPC] The name of the security group. You must specify either the - * security group ID or the security group name in the request.

                              - */ - GroupName?: string; - /** *

                              The start of port range for the TCP and UDP protocols, or an ICMP type number. * For the ICMP type number, use -1 to specify all types. If you @@ -2768,29 +2795,16 @@ export interface AuthorizeSecurityGroupIngressRequest { FromPort?: number; /** - *

                              [nondefault VPC] The AWS account ID for the source security group, if the source security group is - * in a different account. You can't specify this parameter in combination with the following parameters: - * the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. - * Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol - * and port range, use a set of IP permissions instead.

                              - */ - SourceSecurityGroupOwnerId?: string; - - /** - *

                              [EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter - * in combination with the following parameters: the CIDR IP address range, the start of the port range, - * the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. - * To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For - * EC2-VPC, the source security group must be in the same VPC.

                              + *

                              The sets of IP permissions.

                              */ - SourceSecurityGroupName?: string; + IpPermissions?: IpPermission[]; /** - *

                              The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source - * security group. To specify an IPv6 address range, use a set of IP permissions.

                              - *

                              Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - CidrIp?: string; + DryRun?: boolean; /** *

                              The IP protocol name (tcp, udp, icmp) or number @@ -2803,23 +2817,26 @@ export interface AuthorizeSecurityGroupIngressRequest { IpProtocol?: string; /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                              + *

                              [EC2-Classic, default VPC] The name of the security group. You must specify either the + * security group ID or the security group name in the request.

                              */ - DryRun?: boolean; + GroupName?: string; /** - *

                              The sets of IP permissions.

                              + *

                              [nondefault VPC] The AWS account ID for the source security group, if the source security group is + * in a different account. You can't specify this parameter in combination with the following parameters: + * the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. + * Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol + * and port range, use a set of IP permissions instead.

                              */ - IpPermissions?: IpPermission[]; + SourceSecurityGroupOwnerId?: string; /** - *

                              The ID of the security group. You must specify either the security group ID or the - * security group name in the request. For security groups in a nondefault VPC, you must - * specify the security group ID.

                              + *

                              The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source + * security group. To specify an IPv6 address range, use a set of IP permissions.

                              + *

                              Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

                              */ - GroupId?: string; + CidrIp?: string; } export namespace AuthorizeSecurityGroupIngressRequest { @@ -2838,25 +2855,25 @@ export interface S3Storage { Prefix?: string; /** - *

                              The signature of the JSON document.

                              + *

                              The access key ID of the owner of the bucket. Before you specify a value for your access key ID, review and follow the guidance + * in Best Practices for Managing AWS Access Keys.

                              */ - UploadPolicySignature?: string; + AWSAccessKeyId?: string; /** - *

                              An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

                              + *

                              The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

                              */ - UploadPolicy?: Uint8Array; + Bucket?: string; /** - *

                              The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

                              + *

                              An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

                              */ - Bucket?: string; + UploadPolicy?: Uint8Array; /** - *

                              The access key ID of the owner of the bucket. Before you specify a value for your access key ID, review and follow the guidance - * in Best Practices for Managing AWS Access Keys.

                              + *

                              The signature of the JSON document.

                              */ - AWSAccessKeyId?: string; + UploadPolicySignature?: string; } export namespace S3Storage { @@ -2886,24 +2903,24 @@ export namespace Storage { */ export interface BundleInstanceRequest { /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                              - */ - DryRun?: boolean; - + *

                              The ID of the instance to bundle.

                              + *

                              Type: String

                              + *

                              Default: None

                              + *

                              Required: Yes

                              + */ + InstanceId: string | undefined; + /** *

                              The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

                              */ Storage: Storage | undefined; /** - *

                              The ID of the instance to bundle.

                              - *

                              Type: String

                              - *

                              Default: None

                              - *

                              Required: Yes

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - InstanceId: string | undefined; + DryRun?: boolean; } export namespace BundleInstanceRequest { @@ -2917,14 +2934,14 @@ export namespace BundleInstanceRequest { */ export interface BundleTaskError { /** - *

                              The error code.

                              + *

                              The error message.

                              */ - Code?: string; + Message?: string; /** - *

                              The error message.

                              + *

                              The error code.

                              */ - Message?: string; + Code?: string; } export namespace BundleTaskError { @@ -2947,9 +2964,9 @@ export type BundleTaskState = */ export interface BundleTask { /** - *

                              The ID of the instance associated with this bundle task.

                              + *

                              The level of task completion, as a percent (for example, 20%).

                              */ - InstanceId?: string; + Progress?: string; /** *

                              The ID of the bundle task.

                              @@ -2957,34 +2974,34 @@ export interface BundleTask { BundleId?: string; /** - *

                              The time of the most recent update for the task.

                              + *

                              The Amazon S3 storage locations.

                              */ - UpdateTime?: Date; + Storage?: Storage; /** - *

                              The level of task completion, as a percent (for example, 20%).

                              + *

                              The ID of the instance associated with this bundle task.

                              */ - Progress?: string; + InstanceId?: string; /** - *

                              If the task fails, a description of the error.

                              + *

                              The state of the task.

                              */ - BundleTaskError?: BundleTaskError; + State?: BundleTaskState | string; /** - *

                              The Amazon S3 storage locations.

                              + *

                              The time this task started.

                              */ - Storage?: Storage; + StartTime?: Date; /** - *

                              The time this task started.

                              + *

                              The time of the most recent update for the task.

                              */ - StartTime?: Date; + UpdateTime?: Date; /** - *

                              The state of the task.

                              + *

                              If the task fails, a description of the error.

                              */ - State?: BundleTaskState | string; + BundleTaskError?: BundleTaskError; } export namespace BundleTask { @@ -3013,17 +3030,17 @@ export namespace BundleInstanceResult { *

                              Contains the parameters for CancelBundleTask.

                              */ export interface CancelBundleTaskRequest { + /** + *

                              The ID of the bundle task.

                              + */ + BundleId: string | undefined; + /** *

                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                              */ DryRun?: boolean; - - /** - *

                              The ID of the bundle task.

                              - */ - BundleId: string | undefined; } export namespace CancelBundleTaskRequest { @@ -3123,17 +3140,17 @@ export interface CancelImportTaskRequest { */ ImportTaskId?: string; - /** - *

                              The reason for canceling the task.

                              - */ - CancelReason?: string; - /** *

                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                              */ DryRun?: boolean; + + /** + *

                              The reason for canceling the task.

                              + */ + CancelReason?: string; } export namespace CancelImportTaskRequest { @@ -3149,14 +3166,14 @@ export interface CancelImportTaskResult { State?: string; /** - *

                              The current state of the task being canceled.

                              + *

                              The ID of the task being canceled.

                              */ - PreviousState?: string; + ImportTaskId?: string; /** - *

                              The ID of the task being canceled.

                              + *

                              The current state of the task being canceled.

                              */ - ImportTaskId?: string; + PreviousState?: string; } export namespace CancelImportTaskResult { @@ -3188,14 +3205,14 @@ export type ListingState = "available" | "cancelled" | "pending" | "sold"; */ export interface InstanceCount { /** - *

                              The states of the listed Reserved Instances.

                              + *

                              The number of listed Reserved Instances in the state specified by the state.

                              */ - State?: ListingState | string; + InstanceCount?: number; /** - *

                              The number of listed Reserved Instances in the state specified by the state.

                              + *

                              The states of the listed Reserved Instances.

                              */ - InstanceCount?: number; + State?: ListingState | string; } export namespace InstanceCount { @@ -3210,11 +3227,6 @@ export type CurrencyCodeValues = "USD"; *

                              Describes the price for a Reserved Instance.

                              */ export interface PriceSchedule { - /** - *

                              The fixed price for the term.

                              - */ - Price?: number; - /** *

                              The currency for transacting the Reserved Instance resale. * At this time, the only supported currency is USD.

                              @@ -3222,15 +3234,20 @@ export interface PriceSchedule { CurrencyCode?: CurrencyCodeValues | string; /** - *

                              The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

                              + *

                              The fixed price for the term.

                              */ - Term?: number; + Price?: number; /** *

                              The current price schedule, as determined by the term remaining for the Reserved Instance in the listing.

                              *

                              A specific price schedule is always in effect, but only one price schedule can be active at any time. Take, for example, a Reserved Instance listing that has five months remaining in its term. When you specify price schedules for five months and two months, this means that schedule 1, covering the first three months of the remaining term, will be active during months 5, 4, and 3. Then schedule 2, covering the last two months of the term, will be active for months 2 and 1.

                              */ Active?: boolean; + + /** + *

                              The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

                              + */ + Term?: number; } export namespace PriceSchedule { @@ -3246,9 +3263,9 @@ export type ListingStatus = "active" | "cancelled" | "closed" | "pending"; */ export interface ReservedInstancesListing { /** - *

                              The reason for the current status of the Reserved Instance listing. The response can be blank.

                              + *

                              The price of the Reserved Instance listing.

                              */ - StatusMessage?: string; + PriceSchedules?: PriceSchedule[]; /** *

                              The number of instances in this state.

                              @@ -3256,20 +3273,19 @@ export interface ReservedInstancesListing { InstanceCounts?: InstanceCount[]; /** - *

                              A unique, case-sensitive key supplied by the client to ensure that the request is - * idempotent. For more information, see Ensuring Idempotency.

                              + *

                              The last modified timestamp of the listing.

                              */ - ClientToken?: string; + UpdateDate?: Date; /** - *

                              The ID of the Reserved Instance.

                              + *

                              The ID of the Reserved Instance listing.

                              */ - ReservedInstancesId?: string; + ReservedInstancesListingId?: string; /** - *

                              The last modified timestamp of the listing.

                              + *

                              The time the listing was created.

                              */ - UpdateDate?: Date; + CreateDate?: Date; /** *

                              The status of the Reserved Instance listing.

                              @@ -3282,19 +3298,20 @@ export interface ReservedInstancesListing { Tags?: Tag[]; /** - *

                              The time the listing was created.

                              + *

                              A unique, case-sensitive key supplied by the client to ensure that the request is + * idempotent. For more information, see Ensuring Idempotency.

                              */ - CreateDate?: Date; + ClientToken?: string; /** - *

                              The price of the Reserved Instance listing.

                              + *

                              The reason for the current status of the Reserved Instance listing. The response can be blank.

                              */ - PriceSchedules?: PriceSchedule[]; + StatusMessage?: string; /** - *

                              The ID of the Reserved Instance listing.

                              + *

                              The ID of the Reserved Instance.

                              */ - ReservedInstancesListingId?: string; + ReservedInstancesId?: string; } export namespace ReservedInstancesListing { @@ -3323,6 +3340,11 @@ export namespace CancelReservedInstancesListingResult { *

                              Contains the parameters for CancelSpotFleetRequests.

                              */ export interface CancelSpotFleetRequestsRequest { + /** + *

                              Indicates whether to terminate instances for a Spot Fleet request if it is canceled successfully.

                              + */ + TerminateInstances: boolean | undefined; + /** *

                              The IDs of the Spot Fleet requests.

                              */ @@ -3334,11 +3356,6 @@ export interface CancelSpotFleetRequestsRequest { * Otherwise, it is UnauthorizedOperation.

                              */ DryRun?: boolean; - - /** - *

                              Indicates whether to terminate instances for a Spot Fleet request if it is canceled successfully.

                              - */ - TerminateInstances: boolean | undefined; } export namespace CancelSpotFleetRequestsRequest { @@ -3361,6 +3378,11 @@ export enum BatchState { *

                              Describes a Spot Fleet request that was successfully canceled.

                              */ export interface CancelSpotFleetRequestsSuccessItem { + /** + *

                              The current state of the Spot Fleet request.

                              + */ + CurrentSpotFleetRequestState?: BatchState | string; + /** *

                              The previous state of the Spot Fleet request.

                              */ @@ -3370,11 +3392,6 @@ export interface CancelSpotFleetRequestsSuccessItem { *

                              The ID of the Spot Fleet request.

                              */ SpotFleetRequestId?: string; - - /** - *

                              The current state of the Spot Fleet request.

                              - */ - CurrentSpotFleetRequestState?: BatchState | string; } export namespace CancelSpotFleetRequestsSuccessItem { @@ -3395,14 +3412,14 @@ export enum CancelBatchErrorCode { */ export interface CancelSpotFleetRequestsError { /** - *

                              The description for the error code.

                              + *

                              The error code.

                              */ - Message?: string; + Code?: CancelBatchErrorCode | string; /** - *

                              The error code.

                              + *

                              The description for the error code.

                              */ - Code?: CancelBatchErrorCode | string; + Message?: string; } export namespace CancelSpotFleetRequestsError { @@ -3416,14 +3433,14 @@ export namespace CancelSpotFleetRequestsError { */ export interface CancelSpotFleetRequestsErrorItem { /** - *

                              The ID of the Spot Fleet request.

                              + *

                              The error.

                              */ - SpotFleetRequestId?: string; + Error?: CancelSpotFleetRequestsError; /** - *

                              The error.

                              + *

                              The ID of the Spot Fleet request.

                              */ - Error?: CancelSpotFleetRequestsError; + SpotFleetRequestId?: string; } export namespace CancelSpotFleetRequestsErrorItem { @@ -3483,14 +3500,14 @@ export type CancelSpotInstanceRequestState = "active" | "cancelled" | "closed" | */ export interface CancelledSpotInstanceRequest { /** - *

                              The state of the Spot Instance request.

                              + *

                              The ID of the Spot Instance request.

                              */ - State?: CancelSpotInstanceRequestState | string; + SpotInstanceRequestId?: string; /** - *

                              The ID of the Spot Instance request.

                              + *

                              The state of the Spot Instance request.

                              */ - SpotInstanceRequestId?: string; + State?: CancelSpotInstanceRequestState | string; } export namespace CancelledSpotInstanceRequest { @@ -3566,6 +3583,13 @@ export interface CopyFpgaImageRequest { */ SourceFpgaImageId: string | undefined; + /** + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              + */ + DryRun?: boolean; + /** *

                              The name for the new AFI. The default is the name of the source AFI.

                              */ @@ -3576,13 +3600,6 @@ export interface CopyFpgaImageRequest { */ Description?: string; - /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                              - */ - DryRun?: boolean; - /** *

                              The Region that contains the source AFI.

                              */ @@ -3624,21 +3641,9 @@ export interface CopyImageRequest { SourceRegion: string | undefined; /** - *

                              The ID of the AMI to copy.

                              - */ - SourceImageId: string | undefined; - - /** - *

                              The name of the new AMI in the destination Region.

                              - */ - Name: string | undefined; - - /** - *

                              Unique, case-sensitive identifier you provide to ensure - * idempotency of the request. For more information, see How to Ensure Idempotency in the - * Amazon Elastic Compute Cloud User Guide.

                              + *

                              A description for the new AMI in the destination Region.

                              */ - ClientToken?: string; + Description?: string; /** *

                              Checks whether you have the required permissions for the action, without actually making the request, @@ -3647,11 +3652,6 @@ export interface CopyImageRequest { */ DryRun?: boolean; - /** - *

                              A description for the new AMI in the destination Region.

                              - */ - Description?: string; - /** *

                              An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating * the encrypted volume. This parameter is only required if you want to use a non-default CMK; if @@ -3692,6 +3692,23 @@ export interface CopyImageRequest { * AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

                              */ Encrypted?: boolean; + + /** + *

                              The ID of the AMI to copy.

                              + */ + SourceImageId: string | undefined; + + /** + *

                              Unique, case-sensitive identifier you provide to ensure + * idempotency of the request. For more information, see How to Ensure Idempotency in the + * Amazon Elastic Compute Cloud User Guide.

                              + */ + ClientToken?: string; + + /** + *

                              The name of the new AMI in the destination Region.

                              + */ + Name: string | undefined; } export namespace CopyImageRequest { @@ -3717,11 +3734,6 @@ export namespace CopyImageResult { } export interface CopySnapshotRequest { - /** - *

                              A description for the EBS snapshot.

                              - */ - Description?: string; - /** *

                              When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a * pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, @@ -3747,9 +3759,14 @@ export interface CopySnapshotRequest { DryRun?: boolean; /** - *

                              The ID of the Region that contains the snapshot to be copied.

                              + *

                              A description for the EBS snapshot.

                              */ - SourceRegion: string | undefined; + Description?: string; + + /** + *

                              The tags to apply to the new snapshot.

                              + */ + TagSpecifications?: TagSpecification[]; /** *

                              The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. @@ -3775,18 +3792,6 @@ export interface CopySnapshotRequest { */ KmsKeyId?: string; - /** - *

                              The destination Region to use in the PresignedUrl parameter of a snapshot - * copy operation. This parameter is only valid for specifying the destination Region in a - * PresignedUrl parameter, where it is required.

                              - * - *

                              The snapshot copy is sent to the regional endpoint that you sent the HTTP - * request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI, this is - * specified using the --region parameter or the default Region in your AWS - * configuration file.

                              - */ - DestinationRegion?: string; - /** *

                              To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, * enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots @@ -3802,9 +3807,21 @@ export interface CopySnapshotRequest { SourceSnapshotId: string | undefined; /** - *

                              The tags to apply to the new snapshot.

                              + *

                              The ID of the Region that contains the snapshot to be copied.

                              */ - TagSpecifications?: TagSpecification[]; + SourceRegion: string | undefined; + + /** + *

                              The destination Region to use in the PresignedUrl parameter of a snapshot + * copy operation. This parameter is only valid for specifying the destination Region in a + * PresignedUrl parameter, where it is required.

                              + * + *

                              The snapshot copy is sent to the regional endpoint that you sent the HTTP + * request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI, this is + * specified using the --region parameter or the default Region in your AWS + * configuration file.

                              + */ + DestinationRegion?: string; } export namespace CopySnapshotRequest { @@ -3815,14 +3832,14 @@ export namespace CopySnapshotRequest { export interface CopySnapshotResult { /** - *

                              The ID of the new snapshot.

                              + *

                              Any tags applied to the new snapshot.

                              */ - SnapshotId?: string; + Tags?: Tag[]; /** - *

                              Any tags applied to the new snapshot.

                              + *

                              The ID of the new snapshot.

                              */ - Tags?: Tag[]; + SnapshotId?: string; } export namespace CopySnapshotResult { @@ -3836,7 +3853,6 @@ export type EndDateType = "limited" | "unlimited"; export type InstanceMatchCriteria = "open" | "targeted"; export enum CapacityReservationInstancePlatform { - BYOL_WINDOWS = "Windows BYOL", LINUX_UNIX = "Linux/UNIX", LINUX_WITH_SQL_SERVER_ENTERPRISE = "Linux with SQL Server Enterprise", LINUX_WITH_SQL_SERVER_STANDARD = "Linux with SQL Server Standard", @@ -3854,15 +3870,35 @@ export type CapacityReservationTenancy = "dedicated" | "default"; export interface CreateCapacityReservationRequest { /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              + *

                              The number of instances for which to reserve capacity.

                              */ - DryRun?: boolean; + InstanceCount: number | undefined; /** - *

                              Indicates whether the Capacity Reservation supports instances with temporary, block-level - * storage.

                              + *

                              Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides + * dedicated throughput to Amazon EBS and an optimized configuration stack to provide + * optimal I/O performance. This optimization isn't available with all instance types. + * Additional usage charges apply when using an EBS- optimized instance.

                              */ - EphemeralStorage?: boolean; + EbsOptimized?: boolean; + + /** + *

                              The ID of the Availability Zone in which to create the Capacity Reservation.

                              + */ + AvailabilityZoneId?: string; + + /** + *

                              The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity + * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to + * expired when it reaches its end date and time.

                              + *

                              You must provide an EndDate value if EndDateType is + * limited. Omit EndDate if EndDateType is + * unlimited.

                              + * + *

                              If the EndDateType is limited, the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify + * 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

                              + */ + EndDate?: Date; /** *

                              The instance type for which to reserve capacity. For more information, see Instance @@ -3893,51 +3929,21 @@ export interface CreateCapacityReservationRequest { */ InstanceMatchCriteria?: InstanceMatchCriteria | string; - /** - *

                              The type of operating system for which to reserve capacity.

                              - */ - InstancePlatform: CapacityReservationInstancePlatform | string | undefined; - /** *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                              */ ClientToken?: string; - /** - *

                              The ID of the Availability Zone in which to create the Capacity Reservation.

                              - */ - AvailabilityZoneId?: string; - - /** - *

                              Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides - * dedicated throughput to Amazon EBS and an optimized configuration stack to provide - * optimal I/O performance. This optimization isn't available with all instance types. - * Additional usage charges apply when using an EBS- optimized instance.

                              - */ - EbsOptimized?: boolean; - /** *

                              The tags to apply to the Capacity Reservation during launch.

                              */ TagSpecifications?: TagSpecification[]; /** - *

                              The Availability Zone in which to create the Capacity Reservation.

                              - */ - AvailabilityZone?: string; - - /** - *

                              The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity - * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to - * expired when it reaches its end date and time.

                              - *

                              You must provide an EndDate value if EndDateType is - * limited. Omit EndDate if EndDateType is - * unlimited.

                              - * - *

                              If the EndDateType is limited, the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify - * 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

                              + *

                              Indicates whether the Capacity Reservation supports instances with temporary, block-level + * storage.

                              */ - EndDate?: Date; + EphemeralStorage?: boolean; /** *

                              Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

                              @@ -3954,6 +3960,16 @@ export interface CreateCapacityReservationRequest { */ Tenancy?: CapacityReservationTenancy | string; + /** + *

                              The Availability Zone in which to create the Capacity Reservation.

                              + */ + AvailabilityZone?: string; + + /** + *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              + */ + DryRun?: boolean; + /** *

                              Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end * types:

                              @@ -3975,9 +3991,9 @@ export interface CreateCapacityReservationRequest { EndDateType?: EndDateType | string; /** - *

                              The number of instances for which to reserve capacity.

                              + *

                              The type of operating system for which to reserve capacity.

                              */ - InstanceCount: number | undefined; + InstancePlatform: CapacityReservationInstancePlatform | string | undefined; } export namespace CreateCapacityReservationRequest { @@ -3993,95 +4009,121 @@ export type CapacityReservationState = "active" | "cancelled" | "expired" | "fai */ export interface CapacityReservation { /** - *

                              The type of instance for which the Capacity Reservation reserves capacity.

                              + *

                              Indicates whether the Capacity Reservation supports instances with temporary, block-level + * storage.

                              */ - InstanceType?: string; + EphemeralStorage?: boolean; /** - *

                              The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

                              + *

                              The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity + * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to + * expired when it reaches its end date and time.

                              */ - AvailableInstanceCount?: number; + EndDate?: Date; /** - *

                              Any tags assigned to the Capacity Reservation.

                              + *

                              Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides + * dedicated throughput to Amazon EBS and an optimized configuration stack to provide + * optimal I/O performance. This optimization isn't available with all instance types. + * Additional usage charges apply when using an EBS- optimized instance.

                              */ - Tags?: Tag[]; + EbsOptimized?: boolean; /** - *

                              The ID of the Capacity Reservation.

                              + *

                              The total number of instances for which the Capacity Reservation reserves capacity.

                              */ - CapacityReservationId?: string; + TotalInstanceCount?: number; /** - *

                              The total number of instances for which the Capacity Reservation reserves capacity.

                              + *

                              The Availability Zone in which the capacity is reserved.

                              */ - TotalInstanceCount?: number; + AvailabilityZone?: string; /** - *

                              The ID of the AWS account that owns the Capacity Reservation.

                              + *

                              Indicates the type of instance launches that the Capacity Reservation accepts. The options + * include:

                              + *
                                + *
                              • + *

                                + * open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, + * and Availability Zone). Instances that have matching attributes launch into the Capacity Reservation automatically without specifying + * any additional parameters.

                                + *
                              • + *
                              • + *

                                + * targeted - The Capacity Reservation only accepts instances that have matching attributes + * (instance type, platform, and Availability Zone), and explicitly target the + * Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.

                                + *
                              • + *
                              */ - OwnerId?: string; + InstanceMatchCriteria?: InstanceMatchCriteria | string; /** - *

                              The Availability Zone in which the capacity is reserved.

                              + *

                              Any tags assigned to the Capacity Reservation.

                              */ - AvailabilityZone?: string; + Tags?: Tag[]; /** - *

                              The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity - * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to - * expired when it reaches its end date and time.

                              + *

                              Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

                              + *
                                + *
                              • + *

                                + * default - The Capacity Reservation is created on hardware that is shared with other AWS accounts.

                                + *
                              • + *
                              • + *

                                + * dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account.

                                + *
                              • + *
                              */ - EndDate?: Date; + Tenancy?: CapacityReservationTenancy | string; /** - *

                              The Amazon Resource Name (ARN) of the Capacity Reservation.

                              + *

                              The Availability Zone ID of the Capacity Reservation.

                              */ - CapacityReservationArn?: string; + AvailabilityZoneId?: string; /** - *

                              Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides - * dedicated throughput to Amazon EBS and an optimized configuration stack to provide - * optimal I/O performance. This optimization isn't available with all instance types. - * Additional usage charges apply when using an EBS- optimized instance.

                              + *

                              The ID of the AWS account that owns the Capacity Reservation.

                              */ - EbsOptimized?: boolean; + OwnerId?: string; /** - *

                              Indicates whether the Capacity Reservation supports instances with temporary, block-level - * storage.

                              + *

                              The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

                              */ - EphemeralStorage?: boolean; + AvailableInstanceCount?: number; /** - *

                              The type of operating system for which the Capacity Reservation reserves capacity.

                              + *

                              The ID of the Capacity Reservation.

                              */ - InstancePlatform?: CapacityReservationInstancePlatform | string; + CapacityReservationId?: string; /** - *

                              The Availability Zone ID of the Capacity Reservation.

                              + *

                              The date and time at which the Capacity Reservation was created.

                              */ - AvailabilityZoneId?: string; + CreateDate?: Date; /** - *

                              Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

                              + *

                              Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end + * types:

                              *
                                *
                              • *

                                - * default - The Capacity Reservation is created on hardware that is shared with other AWS accounts.

                                + * unlimited - The Capacity Reservation remains active until you explicitly cancel it.

                                *
                              • *
                              • *

                                - * dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account.

                                + * limited - The Capacity Reservation expires automatically at a specified date and time.

                                *
                              • *
                              */ - Tenancy?: CapacityReservationTenancy | string; + EndDateType?: EndDateType | string; /** - *

                              The date and time at which the Capacity Reservation was created.

                              + *

                              The Amazon Resource Name (ARN) of the Capacity Reservation.

                              */ - CreateDate?: Date; + CapacityReservationArn?: string; /** *

                              The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

                              @@ -4116,40 +4158,14 @@ export interface CapacityReservation { State?: CapacityReservationState | string; /** - *

                              Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end - * types:

                              - *
                                - *
                              • - *

                                - * unlimited - The Capacity Reservation remains active until you explicitly cancel it.

                                - *
                              • - *
                              • - *

                                - * limited - The Capacity Reservation expires automatically at a specified date and time.

                                - *
                              • - *
                              + *

                              The type of operating system for which the Capacity Reservation reserves capacity.

                              */ - EndDateType?: EndDateType | string; + InstancePlatform?: CapacityReservationInstancePlatform | string; /** - *

                              Indicates the type of instance launches that the Capacity Reservation accepts. The options - * include:

                              - *
                                - *
                              • - *

                                - * open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, - * and Availability Zone). Instances that have matching attributes launch into the Capacity Reservation automatically without specifying - * any additional parameters.

                                - *
                              • - *
                              • - *

                                - * targeted - The Capacity Reservation only accepts instances that have matching attributes - * (instance type, platform, and Availability Zone), and explicitly target the - * Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.

                                - *
                              • - *
                              + *

                              The type of instance for which the Capacity Reservation reserves capacity.

                              */ - InstanceMatchCriteria?: InstanceMatchCriteria | string; + InstanceType?: string; } export namespace CapacityReservation { @@ -4171,26 +4187,109 @@ export namespace CreateCapacityReservationResult { }); } -/** - *

                              Describes the Active Directory to be used for client authentication.

                              - */ -export interface DirectoryServiceAuthenticationRequest { +export interface CreateCarrierGatewayRequest { /** - *

                              The ID of the Active Directory to be used for authentication.

                              + *

                              The tags to associate with the carrier gateway.

                              */ - DirectoryId?: string; -} - -export namespace DirectoryServiceAuthenticationRequest { - export const filterSensitiveLog = (obj: DirectoryServiceAuthenticationRequest): any => ({ - ...obj, - }); -} + TagSpecifications?: TagSpecification[]; -/** - *

                              The IAM SAML identity provider used for federated authentication.

                              - */ -export interface FederatedAuthenticationRequest { + /** + *

                              The ID of the VPC to associate with the carrier gateway.

                              + */ + VpcId: string | undefined; + + /** + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              + */ + DryRun?: boolean; + + /** + *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

                              + */ + ClientToken?: string; +} + +export namespace CreateCarrierGatewayRequest { + export const filterSensitiveLog = (obj: CreateCarrierGatewayRequest): any => ({ + ...obj, + }); +} + +export type CarrierGatewayState = "available" | "deleted" | "deleting" | "pending"; + +/** + *

                              Describes a carrier gateway.

                              + */ +export interface CarrierGateway { + /** + *

                              The ID of the carrier gateway.

                              + */ + CarrierGatewayId?: string; + + /** + *

                              The AWS account ID of the owner of the carrier gateway.

                              + */ + OwnerId?: string; + + /** + *

                              The tags assigned to the carrier gateway.

                              + */ + Tags?: Tag[]; + + /** + *

                              The state of the carrier gateway.

                              + */ + State?: CarrierGatewayState | string; + + /** + *

                              The ID of the VPC associated with the carrier gateway.

                              + */ + VpcId?: string; +} + +export namespace CarrierGateway { + export const filterSensitiveLog = (obj: CarrierGateway): any => ({ + ...obj, + }); +} + +export interface CreateCarrierGatewayResult { + /** + *

                              Information about the carrier gateway.

                              + */ + CarrierGateway?: CarrierGateway; +} + +export namespace CreateCarrierGatewayResult { + export const filterSensitiveLog = (obj: CreateCarrierGatewayResult): any => ({ + ...obj, + }); +} + +/** + *

                              Describes the Active Directory to be used for client authentication.

                              + */ +export interface DirectoryServiceAuthenticationRequest { + /** + *

                              The ID of the Active Directory to be used for authentication.

                              + */ + DirectoryId?: string; +} + +export namespace DirectoryServiceAuthenticationRequest { + export const filterSensitiveLog = (obj: DirectoryServiceAuthenticationRequest): any => ({ + ...obj, + }); +} + +/** + *

                              The IAM SAML identity provider used for federated authentication.

                              + */ +export interface FederatedAuthenticationRequest { /** *

                              The Amazon Resource Name (ARN) of the IAM SAML identity provider.

                              */ @@ -4262,14 +4361,14 @@ export namespace ClientVpnAuthenticationRequest { */ export interface ConnectionLogOptions { /** - *

                              The name of the CloudWatch Logs log stream to which the connection data is published.

                              + *

                              The name of the CloudWatch Logs log group. Required if connection logging is enabled.

                              */ - CloudwatchLogStream?: string; + CloudwatchLogGroup?: string; /** - *

                              The name of the CloudWatch Logs log group. Required if connection logging is enabled.

                              + *

                              The name of the CloudWatch Logs log stream to which the connection data is published.

                              */ - CloudwatchLogGroup?: string; + CloudwatchLogStream?: string; /** *

                              Indicates whether connection logging is enabled.

                              @@ -4287,46 +4386,25 @@ export type TransportProtocol = "tcp" | "udp"; export interface CreateClientVpnEndpointRequest { /** - *

                              The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

                              - *

                              Valid Values: 443 | 1194 - *

                              - *

                              Default Value: 443 - *

                              + *

                              A brief description of the Client VPN endpoint.

                              */ - VpnPort?: number; + Description?: string; /** - *

                              Information about the client connection logging options.

                              - *

                              If you enable client connection logging, data about client connections is sent to a - * Cloudwatch Logs log stream. The following information is logged:

                              - *
                                - *
                              • - *

                                Client connection requests

                                - *
                              • - *
                              • - *

                                Client connection results (successful and unsuccessful)

                                - *
                              • - *
                              • - *

                                Reasons for unsuccessful client connection requests

                                - *
                              • - *
                              • - *

                                Client connection termination time

                                - *
                              • - *
                              + *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                              */ - ConnectionLogOptions: ConnectionLogOptions | undefined; + ClientToken?: string; /** - *

                              The transport protocol to be used by the VPN session.

                              - *

                              Default value: udp - *

                              + *

                              The ARN of the server certificate. For more information, see + * the AWS Certificate Manager User Guide.

                              */ - TransportProtocol?: TransportProtocol | string; + ServerCertificateArn: string | undefined; /** - *

                              A brief description of the Client VPN endpoint.

                              + *

                              The tags to apply to the Client VPN endpoint during creation.

                              */ - Description?: string; + TagSpecifications?: TagSpecification[]; /** *

                              The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. The CIDR block should be /22 or greater.

                              @@ -4334,44 +4412,65 @@ export interface CreateClientVpnEndpointRequest { ClientCidrBlock: string | undefined; /** - *

                              Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can - * have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.

                              + *

                              The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.

                              */ - DnsServers?: string[]; + SecurityGroupIds?: string[]; /** - *

                              The ARN of the server certificate. For more information, see - * the AWS Certificate Manager User Guide.

                              + *

                              Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.

                              + *

                              By default, split-tunnel on a VPN endpoint is disabled.

                              + *

                              For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS + * Client VPN Administrator Guide.

                              */ - ServerCertificateArn: string | undefined; + SplitTunnel?: boolean; /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              + *

                              Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can + * have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.

                              */ - DryRun?: boolean; + DnsServers?: string[]; /** - *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                              + *

                              The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.

                              */ - ClientToken?: string; + VpcId?: string; /** - *

                              The tags to apply to the Client VPN endpoint during creation.

                              + *

                              Information about the client connection logging options.

                              + *

                              If you enable client connection logging, data about client connections is sent to a + * Cloudwatch Logs log stream. The following information is logged:

                              + *
                                + *
                              • + *

                                Client connection requests

                                + *
                              • + *
                              • + *

                                Client connection results (successful and unsuccessful)

                                + *
                              • + *
                              • + *

                                Reasons for unsuccessful client connection requests

                                + *
                              • + *
                              • + *

                                Client connection termination time

                                + *
                              • + *
                              */ - TagSpecifications?: TagSpecification[]; + ConnectionLogOptions: ConnectionLogOptions | undefined; /** - *

                              The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.

                              + *

                              The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

                              + *

                              Valid Values: 443 | 1194 + *

                              + *

                              Default Value: 443 + *

                              */ - VpcId?: string; + VpnPort?: number; /** - *

                              Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.

                              - *

                              By default, split-tunnel on a VPN endpoint is disabled.

                              - *

                              For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS - * Client VPN Administrator Guide.

                              + *

                              The transport protocol to be used by the VPN session.

                              + *

                              Default value: udp + *

                              */ - SplitTunnel?: boolean; + TransportProtocol?: TransportProtocol | string; /** *

                              Information about the authentication method to be used to authenticate clients.

                              @@ -4379,9 +4478,9 @@ export interface CreateClientVpnEndpointRequest { AuthenticationOptions: ClientVpnAuthenticationRequest[] | undefined; /** - *

                              The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              */ - SecurityGroupIds?: string[]; + DryRun?: boolean; } export namespace CreateClientVpnEndpointRequest { @@ -4396,6 +4495,11 @@ export type ClientVpnEndpointStatusCode = "available" | "deleted" | "deleting" | *

                              Describes the state of a Client VPN endpoint.

                              */ export interface ClientVpnEndpointStatus { + /** + *

                              A message about the status of the Client VPN endpoint.

                              + */ + Message?: string; + /** *

                              The state of the Client VPN endpoint. Possible states include:

                              *
                                @@ -4422,11 +4526,6 @@ export interface ClientVpnEndpointStatus { *
                              */ Code?: ClientVpnEndpointStatusCode | string; - - /** - *

                              A message about the status of the Client VPN endpoint.

                              - */ - Message?: string; } export namespace ClientVpnEndpointStatus { @@ -4442,14 +4541,14 @@ export interface CreateClientVpnEndpointResult { DnsName?: string; /** - *

                              The current state of the Client VPN endpoint.

                              + *

                              The ID of the Client VPN endpoint.

                              */ - Status?: ClientVpnEndpointStatus; + ClientVpnEndpointId?: string; /** - *

                              The ID of the Client VPN endpoint.

                              + *

                              The current state of the Client VPN endpoint.

                              */ - ClientVpnEndpointId?: string; + Status?: ClientVpnEndpointStatus; } export namespace CreateClientVpnEndpointResult { @@ -4460,9 +4559,19 @@ export namespace CreateClientVpnEndpointResult { export interface CreateClientVpnRouteRequest { /** - *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                              */ - ClientToken?: string; + DryRun?: boolean; + + /** + *

                              A brief description of the route.

                              + */ + Description?: string; + + /** + *

                              The ID of the Client VPN endpoint to which to add the route.

                              + */ + ClientVpnEndpointId: string | undefined; /** *

                              The IPv4 address range, in CIDR notation, of the route destination. For example:

                              @@ -4477,31 +4586,24 @@ export interface CreateClientVpnRouteRequest { *
                            • *

                              To add a route for an on-premises network, enter the AWS Site-to-Site VPN connection's IPv4 CIDR range

                              *
                            • + *
                            • + *

                              To add a route for the local network, enter the client CIDR range

                              + *
                            • *
                            - *

                            Route address ranges cannot overlap with the CIDR range specified for client allocation.

                            */ DestinationCidrBlock: string | undefined; /** *

                            The ID of the subnet through which you want to route traffic. The specified subnet must be * an existing target network of the Client VPN endpoint.

                            + *

                            Alternatively, if you're adding a route for the local network, specify local.

                            */ TargetVpcSubnetId: string | undefined; /** - *

                            A brief description of the route.

                            - */ - Description?: string; - - /** - *

                            The ID of the Client VPN endpoint to which to add the route.

                            - */ - ClientVpnEndpointId: string | undefined; - - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            */ - DryRun?: boolean; + ClientToken?: string; } export namespace CreateClientVpnRouteRequest { @@ -4517,14 +4619,14 @@ export type ClientVpnRouteStatusCode = "active" | "creating" | "deleting" | "fai */ export interface ClientVpnRouteStatus { /** - *

                            A message about the status of the Client VPN endpoint route, if applicable.

                            + *

                            The state of the Client VPN endpoint route.

                            */ - Message?: string; + Code?: ClientVpnRouteStatusCode | string; /** - *

                            The state of the Client VPN endpoint route.

                            + *

                            A message about the status of the Client VPN endpoint route, if applicable.

                            */ - Code?: ClientVpnRouteStatusCode | string; + Message?: string; } export namespace ClientVpnRouteStatus { @@ -4557,11 +4659,6 @@ export interface CreateCustomerGatewayRequest { */ PublicIp?: string; - /** - *

                            The tags to apply to the customer gateway.

                            - */ - TagSpecifications?: TagSpecification[]; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4570,9 +4667,9 @@ export interface CreateCustomerGatewayRequest { DryRun?: boolean; /** - *

                            The type of VPN connection that this customer gateway supports (ipsec.1).

                            + *

                            The Amazon Resource Name (ARN) for the customer gateway certificate.

                            */ - Type: GatewayType | string | undefined; + CertificateArn?: string; /** *

                            A name for the customer gateway device.

                            @@ -4581,15 +4678,20 @@ export interface CreateCustomerGatewayRequest { DeviceName?: string; /** - *

                            The Amazon Resource Name (ARN) for the customer gateway certificate.

                            + *

                            For devices that support BGP, the customer gateway's BGP ASN.

                            + *

                            Default: 65000

                            */ - CertificateArn?: string; + BgpAsn: number | undefined; /** - *

                            For devices that support BGP, the customer gateway's BGP ASN.

                            - *

                            Default: 65000

                            + *

                            The type of VPN connection that this customer gateway supports (ipsec.1).

                            */ - BgpAsn: number | undefined; + Type: GatewayType | string | undefined; + + /** + *

                            The tags to apply to the customer gateway.

                            + */ + TagSpecifications?: TagSpecification[]; } export namespace CreateCustomerGatewayRequest { @@ -4603,9 +4705,9 @@ export namespace CreateCustomerGatewayRequest { */ export interface CustomerGateway { /** - *

                            The Internet-routable IP address of the customer gateway's outside interface.

                            + *

                            The ID of the customer gateway.

                            */ - IpAddress?: string; + CustomerGatewayId?: string; /** *

                            The current state of the customer gateway (pending | available | deleting | @@ -4614,14 +4716,14 @@ export interface CustomerGateway { State?: string; /** - *

                            The ID of the customer gateway.

                            + *

                            The name of customer gateway device.

                            */ - CustomerGatewayId?: string; + DeviceName?: string; /** - *

                            The Amazon Resource Name (ARN) for the customer gateway certificate.

                            + *

                            The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

                            */ - CertificateArn?: string; + BgpAsn?: string; /** *

                            The type of VPN connection the customer gateway supports (ipsec.1).

                            @@ -4634,14 +4736,14 @@ export interface CustomerGateway { Tags?: Tag[]; /** - *

                            The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

                            + *

                            The Amazon Resource Name (ARN) for the customer gateway certificate.

                            */ - BgpAsn?: string; + CertificateArn?: string; /** - *

                            The name of customer gateway device.

                            + *

                            The Internet-routable IP address of the customer gateway's outside interface.

                            */ - DeviceName?: string; + IpAddress?: string; } export namespace CustomerGateway { @@ -4667,17 +4769,17 @@ export namespace CreateCustomerGatewayResult { } export interface CreateDefaultSubnetRequest { - /** - *

                            The Availability Zone in which to create the default subnet.

                            - */ - AvailabilityZone: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The Availability Zone in which to create the default subnet.

                            + */ + AvailabilityZone: string | undefined; } export namespace CreateDefaultSubnetRequest { @@ -4693,92 +4795,92 @@ export type SubnetState = "available" | "pending"; */ export interface Subnet { /** - *

                            The Availability Zone of the subnet.

                            + *

                            The current state of the subnet.

                            */ - AvailabilityZone?: string; + State?: SubnetState | string; /** - *

                            The ID of the VPC the subnet is in.

                            + *

                            The IPv4 CIDR block assigned to the subnet.

                            */ - VpcId?: string; + CidrBlock?: string; /** *

                            Indicates whether a network interface created in this subnet (including a network - * interface created by RunInstances) receives a customer-owned IPv4 address.

                            + * interface created by RunInstances) receives an IPv6 address.

                            */ - MapCustomerOwnedIpOnLaunch?: boolean; + AssignIpv6AddressOnCreation?: boolean; /** - *

                            Indicates whether this is the default subnet for the Availability Zone.

                            + *

                            Any tags assigned to the subnet.

                            */ - DefaultForAz?: boolean; + Tags?: Tag[]; /** - *

                            The AZ ID of the subnet.

                            + *

                            Information about the IPv6 CIDR blocks associated with the subnet.

                            */ - AvailabilityZoneId?: string; + Ipv6CidrBlockAssociationSet?: SubnetIpv6CidrBlockAssociation[]; /** - *

                            The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any - * stopped instances are considered unavailable.

                            + *

                            The ID of the AWS account that owns the subnet.

                            */ - AvailableIpAddressCount?: number; + OwnerId?: string; /** - *

                            Indicates whether a network interface created in this subnet (including a network - * interface created by RunInstances) receives an IPv6 address.

                            + *

                            The customer-owned IPv4 address pool associated with the subnet.

                            */ - AssignIpv6AddressOnCreation?: boolean; + CustomerOwnedIpv4Pool?: string; /** - *

                            Any tags assigned to the subnet.

                            + *

                            The ID of the subnet.

                            */ - Tags?: Tag[]; + SubnetId?: string; /** - *

                            The ID of the AWS account that owns the subnet.

                            + *

                            The AZ ID of the subnet.

                            */ - OwnerId?: string; + AvailabilityZoneId?: string; /** - *

                            The ID of the subnet.

                            + *

                            Indicates whether this is the default subnet for the Availability Zone.

                            */ - SubnetId?: string; + DefaultForAz?: boolean; /** - *

                            Information about the IPv6 CIDR blocks associated with the subnet.

                            + *

                            The Availability Zone of the subnet.

                            */ - Ipv6CidrBlockAssociationSet?: SubnetIpv6CidrBlockAssociation[]; + AvailabilityZone?: string; /** - *

                            The customer-owned IPv4 address pool associated with the subnet.

                            + *

                            The Amazon Resource Name (ARN) of the Outpost.

                            */ - CustomerOwnedIpv4Pool?: string; + OutpostArn?: string; /** - *

                            The IPv4 CIDR block assigned to the subnet.

                            + *

                            The Amazon Resource Name (ARN) of the subnet.

                            */ - CidrBlock?: string; + SubnetArn?: string; /** - *

                            Indicates whether instances launched in this subnet receive a public IPv4 address.

                            + *

                            Indicates whether a network interface created in this subnet (including a network + * interface created by RunInstances) receives a customer-owned IPv4 address.

                            */ - MapPublicIpOnLaunch?: boolean; + MapCustomerOwnedIpOnLaunch?: boolean; /** - *

                            The current state of the subnet.

                            + *

                            The ID of the VPC the subnet is in.

                            */ - State?: SubnetState | string; + VpcId?: string; /** - *

                            The Amazon Resource Name (ARN) of the subnet.

                            + *

                            The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any + * stopped instances are considered unavailable.

                            */ - SubnetArn?: string; + AvailableIpAddressCount?: number; /** - *

                            The Amazon Resource Name (ARN) of the Outpost.

                            + *

                            Indicates whether instances launched in this subnet receive a public IPv4 address.

                            */ - OutpostArn?: string; + MapPublicIpOnLaunch?: boolean; } export namespace Subnet { @@ -4824,35 +4926,34 @@ export type VpcState = "available" | "pending"; */ export interface Vpc { /** - *

                            The ID of the AWS account that owns the VPC.

                            + *

                            The allowed tenancy of instances launched into the VPC.

                            */ - OwnerId?: string; + InstanceTenancy?: Tenancy | string; /** - *

                            The ID of the set of DHCP options you've associated with the VPC (or default - * if the default options are associated with the VPC).

                            + *

                            Any tags assigned to the VPC.

                            */ - DhcpOptionsId?: string; + Tags?: Tag[]; /** - *

                            The primary IPv4 CIDR block for the VPC.

                            + *

                            The ID of the set of DHCP options you've associated with the VPC.

                            */ - CidrBlock?: string; + DhcpOptionsId?: string; /** - *

                            The current state of the VPC.

                            + *

                            The ID of the VPC.

                            */ - State?: VpcState | string; + VpcId?: string; /** - *

                            Indicates whether the VPC is the default VPC.

                            + *

                            The ID of the AWS account that owns the VPC.

                            */ - IsDefault?: boolean; + OwnerId?: string; /** - *

                            The ID of the VPC.

                            + *

                            Information about the IPv6 CIDR blocks associated with the VPC.

                            */ - VpcId?: string; + Ipv6CidrBlockAssociationSet?: VpcIpv6CidrBlockAssociation[]; /** *

                            Information about the IPv4 CIDR blocks associated with the VPC.

                            @@ -4860,19 +4961,19 @@ export interface Vpc { CidrBlockAssociationSet?: VpcCidrBlockAssociation[]; /** - *

                            Any tags assigned to the VPC.

                            + *

                            Indicates whether the VPC is the default VPC.

                            */ - Tags?: Tag[]; + IsDefault?: boolean; /** - *

                            Information about the IPv6 CIDR blocks associated with the VPC.

                            + *

                            The current state of the VPC.

                            */ - Ipv6CidrBlockAssociationSet?: VpcIpv6CidrBlockAssociation[]; + State?: VpcState | string; /** - *

                            The allowed tenancy of instances launched into the VPC.

                            + *

                            The primary IPv4 CIDR block for the VPC.

                            */ - InstanceTenancy?: Tenancy | string; + CidrBlock?: string; } export namespace Vpc { @@ -4899,14 +5000,14 @@ export namespace CreateDefaultVpcResult { */ export interface NewDhcpConfiguration { /** - *

                            One or more values for the DHCP option.

                            + *

                            The name of a DHCP option.

                            */ - Values?: string[]; + Key?: string; /** - *

                            The name of a DHCP option.

                            + *

                            One or more values for the DHCP option.

                            */ - Key?: string; + Values?: string[]; } export namespace NewDhcpConfiguration { @@ -4917,9 +5018,11 @@ export namespace NewDhcpConfiguration { export interface CreateDhcpOptionsRequest { /** - *

                            A DHCP configuration option.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - DhcpConfigurations: NewDhcpConfiguration[] | undefined; + DryRun?: boolean; /** *

                            The tags to assign to the DHCP option.

                            @@ -4927,11 +5030,9 @@ export interface CreateDhcpOptionsRequest { TagSpecifications?: TagSpecification[]; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            A DHCP configuration option.

                            */ - DryRun?: boolean; + DhcpConfigurations: NewDhcpConfiguration[] | undefined; } export namespace CreateDhcpOptionsRequest { @@ -4981,11 +5082,6 @@ export namespace DhcpConfiguration { *

                            Describes a set of DHCP options.

                            */ export interface DhcpOptions { - /** - *

                            One or more DHCP options in the set.

                            - */ - DhcpConfigurations?: DhcpConfiguration[]; - /** *

                            Any tags assigned to the DHCP options set.

                            */ @@ -5000,6 +5096,11 @@ export interface DhcpOptions { *

                            The ID of the AWS account that owns the DHCP options set.

                            */ OwnerId?: string; + + /** + *

                            One or more DHCP options in the set.

                            + */ + DhcpConfigurations?: DhcpConfiguration[]; } export namespace DhcpOptions { @@ -5023,16 +5124,9 @@ export namespace CreateDhcpOptionsResult { export interface CreateEgressOnlyInternetGatewayRequest { /** - *

                            The ID of the VPC for which to create the egress-only internet gateway.

                            - */ - VpcId: string | undefined; - - /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency.

                            + *

                            The tags to assign to the egress-only internet gateway.

                            */ - ClientToken?: string; + TagSpecifications?: TagSpecification[]; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -5042,9 +5136,16 @@ export interface CreateEgressOnlyInternetGatewayRequest { DryRun?: boolean; /** - *

                            The tags to assign to the egress-only internet gateway.

                            + *

                            The ID of the VPC for which to create the egress-only internet gateway.

                            */ - TagSpecifications?: TagSpecification[]; + VpcId: string | undefined; + + /** + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

                            + */ + ClientToken?: string; } export namespace CreateEgressOnlyInternetGatewayRequest { @@ -5058,17 +5159,17 @@ export namespace CreateEgressOnlyInternetGatewayRequest { * gateway.

                            */ export interface InternetGatewayAttachment { - /** - *

                            The ID of the VPC.

                            - */ - VpcId?: string; - /** *

                            The current state of the attachment. For an internet gateway, the state is * available when attached to a VPC; otherwise, this value is not * returned.

                            */ State?: AttachmentStatus | string; + + /** + *

                            The ID of the VPC.

                            + */ + VpcId?: string; } export namespace InternetGatewayAttachment { @@ -5081,6 +5182,11 @@ export namespace InternetGatewayAttachment { *

                            Describes an egress-only internet gateway.

                            */ export interface EgressOnlyInternetGateway { + /** + *

                            Information about the attachment of the egress-only internet gateway.

                            + */ + Attachments?: InternetGatewayAttachment[]; + /** *

                            The ID of the egress-only internet gateway.

                            */ @@ -5090,11 +5196,6 @@ export interface EgressOnlyInternetGateway { *

                            The tags assigned to the egress-only internet gateway.

                            */ Tags?: Tag[]; - - /** - *

                            Information about the attachment of the egress-only internet gateway.

                            - */ - Attachments?: InternetGatewayAttachment[]; } export namespace EgressOnlyInternetGateway { @@ -5105,15 +5206,15 @@ export namespace EgressOnlyInternetGateway { export interface CreateEgressOnlyInternetGatewayResult { /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                            + *

                            Information about the egress-only internet gateway.

                            */ - ClientToken?: string; + EgressOnlyInternetGateway?: EgressOnlyInternetGateway; /** - *

                            Information about the egress-only internet gateway.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                            */ - EgressOnlyInternetGateway?: EgressOnlyInternetGateway; + ClientToken?: string; } export namespace CreateEgressOnlyInternetGatewayResult { @@ -5134,6 +5235,11 @@ export enum FleetExcessCapacityTerminationPolicy { * Amazon Elastic Compute Cloud User Guide.

                            */ export interface FleetLaunchTemplateSpecificationRequest { + /** + *

                            The name of the launch template. If you specify the template name, you can't specify the template ID.

                            + */ + LaunchTemplateName?: string; + /** *

                            The launch template version number, $Latest, or $Default. You must specify a value, otherwise the request fails.

                            *

                            If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

                            @@ -5141,11 +5247,6 @@ export interface FleetLaunchTemplateSpecificationRequest { */ Version?: string; - /** - *

                            The name of the launch template. If you specify the template name, you can't specify the template ID.

                            - */ - LaunchTemplateName?: string; - /** *

                            The ID of the launch template. If you specify the template ID, you can't specify the template name.

                            */ @@ -5194,6 +5295,14 @@ export type _InstanceType = | "c5a.8xlarge" | "c5a.large" | "c5a.xlarge" + | "c5ad.12xlarge" + | "c5ad.16xlarge" + | "c5ad.24xlarge" + | "c5ad.2xlarge" + | "c5ad.4xlarge" + | "c5ad.8xlarge" + | "c5ad.large" + | "c5ad.xlarge" | "c5d.12xlarge" | "c5d.18xlarge" | "c5d.24xlarge" @@ -5473,6 +5582,13 @@ export type _InstanceType = | "t3a.nano" | "t3a.small" | "t3a.xlarge" + | "t4g.2xlarge" + | "t4g.large" + | "t4g.medium" + | "t4g.micro" + | "t4g.nano" + | "t4g.small" + | "t4g.xlarge" | "u-12tb1.metal" | "u-18tb1.metal" | "u-24tb1.metal" @@ -5499,10 +5615,9 @@ export type _InstanceType = */ export interface Placement { /** - *

                            Reserved for future use.

                            - *

                            This parameter is not supported by CreateFleet.

                            + *

                            The name of the placement group the instance is in.

                            */ - SpreadDomain?: string; + GroupName?: string; /** *

                            The number of the partition the instance is in. Valid only if the placement group @@ -5511,6 +5626,14 @@ export interface Placement { */ PartitionNumber?: number; + /** + *

                            The ARN of the host resource group in which to launch the instances. If you specify + * a host resource group ARN, omit the Tenancy + * parameter or set it to host.

                            + *

                            This parameter is not supported by CreateFleet.

                            + */ + HostResourceGroupArn?: string; + /** *

                            The affinity setting for the instance on the Dedicated Host. This parameter is not * supported for the ImportInstance command.

                            @@ -5519,10 +5642,13 @@ export interface Placement { Affinity?: string; /** - *

                            The name of the placement group the instance is in.

                            - */ - GroupName?: string; - + *

                            The tenancy of the instance (if the instance is running in a VPC). An instance with a + * tenancy of dedicated runs on single-tenant hardware. The host + * tenancy is not supported for the ImportInstance command.

                            + *

                            This parameter is not supported by CreateFleet.

                            + */ + Tenancy?: Tenancy | string; + /** *

                            The Availability Zone of the instance.

                            *

                            If not specified, an Availability Zone will be automatically chosen for you based on @@ -5539,20 +5665,10 @@ export interface Placement { HostId?: string; /** - *

                            The ARN of the host resource group in which to launch the instances. If you specify - * a host resource group ARN, omit the Tenancy - * parameter or set it to host.

                            - *

                            This parameter is not supported by CreateFleet.

                            - */ - HostResourceGroupArn?: string; - - /** - *

                            The tenancy of the instance (if the instance is running in a VPC). An instance with a - * tenancy of dedicated runs on single-tenant hardware. The host - * tenancy is not supported for the ImportInstance command.

                            + *

                            Reserved for future use.

                            *

                            This parameter is not supported by CreateFleet.

                            */ - Tenancy?: Tenancy | string; + SpreadDomain?: string; } export namespace Placement { @@ -5566,43 +5682,43 @@ export namespace Placement { */ export interface FleetLaunchTemplateOverridesRequest { /** - *

                            The instance type.

                            + *

                            The number of units provided by the specified instance type.

                            */ - InstanceType?: _InstanceType | string; + WeightedCapacity?: number; /** - *

                            The priority for the launch template override. If AllocationStrategy is set to prioritized, EC2 Fleet uses priority to - * determine which launch template override to use first in fulfilling On-Demand capacity. The - * highest priority is launched first. Valid values are whole numbers starting at - * 0. The lower the number, the higher the priority. If no number is set, the - * launch template override has the lowest priority.

                            + *

                            The maximum price per unit hour that you are willing to pay for a Spot Instance.

                            */ - Priority?: number; + MaxPrice?: string; /** - *

                            The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2). A request of type instant can have only one subnet ID.

                            + *

                            The Availability Zone in which to launch the instances.

                            */ - SubnetId?: string; + AvailabilityZone?: string; /** - *

                            The maximum price per unit hour that you are willing to pay for a Spot Instance.

                            + *

                            The location where the instance launched, if applicable.

                            */ - MaxPrice?: string; + Placement?: Placement; /** - *

                            The number of units provided by the specified instance type.

                            + *

                            The instance type.

                            */ - WeightedCapacity?: number; + InstanceType?: _InstanceType | string; /** - *

                            The Availability Zone in which to launch the instances.

                            + *

                            The priority for the launch template override. If AllocationStrategy is set to prioritized, EC2 Fleet uses priority to + * determine which launch template override to use first in fulfilling On-Demand capacity. The + * highest priority is launched first. Valid values are whole numbers starting at + * 0. The lower the number, the higher the priority. If no number is set, the + * launch template override has the lowest priority.

                            */ - AvailabilityZone?: string; + Priority?: number; /** - *

                            The location where the instance launched, if applicable.

                            + *

                            The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2). A request of type instant can have only one subnet ID.

                            */ - Placement?: Placement; + SubnetId?: string; } export namespace FleetLaunchTemplateOverridesRequest { @@ -5615,17 +5731,17 @@ export namespace FleetLaunchTemplateOverridesRequest { *

                            Describes a launch template and overrides.

                            */ export interface FleetLaunchTemplateConfigRequest { - /** - *

                            The launch template to use. You must specify either the launch template ID or launch - * template name in the request.

                            - */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecificationRequest; - /** *

                            Any parameters that you specify override the same parameters in the launch * template.

                            */ Overrides?: FleetLaunchTemplateOverridesRequest[]; + + /** + *

                            The launch template to use. You must specify either the launch template ID or launch + * template name in the request.

                            + */ + LaunchTemplateSpecification?: FleetLaunchTemplateSpecificationRequest; } export namespace FleetLaunchTemplateConfigRequest { @@ -5680,26 +5796,6 @@ export namespace CapacityReservationOptionsRequest { *

                            Describes the configuration of On-Demand Instances in an EC2 Fleet.

                            */ export interface OnDemandOptionsRequest { - /** - *

                            The order of the launch template overrides to use in fulfilling On-Demand capacity. If - * you specify lowest-price, EC2 Fleet uses price to determine the order, launching - * the lowest price first. If you specify prioritized, EC2 Fleet uses the priority - * that you assigned to each launch template override, launching the highest priority first. - * If you do not specify a value, EC2 Fleet defaults to lowest-price.

                            - */ - AllocationStrategy?: FleetOnDemandAllocationStrategy | string; - - /** - *

                            The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

                            - */ - MinTargetCapacity?: number; - - /** - *

                            The maximum amount per hour for On-Demand Instances that you're willing to pay.

                            - */ - MaxTotalPrice?: string; - /** *

                            Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. * Supported only for fleets of type instant.

                            @@ -5717,6 +5813,26 @@ export interface OnDemandOptionsRequest { * Supported only for fleets of type instant.

                            */ CapacityReservationOptions?: CapacityReservationOptionsRequest; + + /** + *

                            The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

                            + */ + MinTargetCapacity?: number; + + /** + *

                            The maximum amount per hour for On-Demand Instances that you're willing to pay.

                            + */ + MaxTotalPrice?: string; + + /** + *

                            The order of the launch template overrides to use in fulfilling On-Demand capacity. If + * you specify lowest-price, EC2 Fleet uses price to determine the order, launching + * the lowest price first. If you specify prioritized, EC2 Fleet uses the priority + * that you assigned to each launch template override, launching the highest priority first. + * If you do not specify a value, EC2 Fleet defaults to lowest-price.

                            + */ + AllocationStrategy?: FleetOnDemandAllocationStrategy | string; } export namespace OnDemandOptionsRequest { @@ -5738,15 +5854,21 @@ export type SpotInstanceInterruptionBehavior = "hibernate" | "stop" | "terminate */ export interface SpotOptionsRequest { /** - *

                            The maximum amount per hour for Spot Instances that you're willing to pay.

                            + *

                            Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. + * Supported only for fleets of type instant.

                            */ - MaxTotalPrice?: string; + SingleInstanceType?: boolean; /** - *

                            The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

                            + *

                            Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported + * only for fleets of type instant.

                            */ - MinTargetCapacity?: number; + SingleAvailabilityZone?: boolean; + + /** + *

                            The behavior when a Spot Instance is interrupted. The default is terminate.

                            + */ + InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; /** *

                            The number of Spot pools across which to allocate your target Spot capacity. Valid only @@ -5756,6 +5878,12 @@ export interface SpotOptionsRequest { */ InstancePoolsToUseCount?: number; + /** + *

                            The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

                            + */ + MinTargetCapacity?: number; + /** *

                            Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by * the EC2 Fleet.

                            @@ -5770,21 +5898,9 @@ export interface SpotOptionsRequest { AllocationStrategy?: SpotAllocationStrategy | string; /** - *

                            Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. - * Supported only for fleets of type instant.

                            - */ - SingleInstanceType?: boolean; - - /** - *

                            Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported - * only for fleets of type instant.

                            - */ - SingleAvailabilityZone?: boolean; - - /** - *

                            The behavior when a Spot Instance is interrupted. The default is terminate.

                            + *

                            The maximum amount per hour for Spot Instances that you're willing to pay.

                            */ - InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; + MaxTotalPrice?: string; } export namespace SpotOptionsRequest { @@ -5849,66 +5965,57 @@ export enum FleetType { export interface CreateFleetRequest { /** - *

                            The start date and time of the request, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * The default is to start fulfilling the request immediately.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

                            */ - ValidFrom?: Date; + ClientToken?: string; /** - *

                            Describes the configuration of Spot Instances in an EC2 Fleet.

                            + *

                            The key-value pair for tagging the EC2 Fleet request on creation. The value for + * ResourceType must be fleet, otherwise the fleet request fails. + * To tag instances at launch, specify the tags in the launch + * template. For information about tagging after launch, see Tagging Your + * Resources.

                            */ - SpotOptions?: SpotOptionsRequest; + TagSpecifications?: TagSpecification[]; /** - *

                            The type of the request. By default, the EC2 Fleet places an asynchronous request for your - * desired capacity, and maintains it by replenishing interrupted Spot Instances - * (maintain). A value of instant places a synchronous one-time - * request, and returns errors for any instances that could not be launched. A value of - * request places an asynchronous one-time request without maintaining - * capacity or submitting requests in alternative capacity pools if capacity is unavailable. - * For more information, see EC2 Fleet - * Request Types in the Amazon Elastic Compute Cloud User Guide.

                            + *

                            Indicates whether EC2 Fleet should replace unhealthy instances.

                            */ - Type?: FleetType | string; + ReplaceUnhealthyInstances?: boolean; /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

                            + *

                            Describes the configuration of On-Demand Instances in an EC2 Fleet.

                            */ - ClientToken?: string; + OnDemandOptions?: OnDemandOptionsRequest; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The number of units to request.

                            */ - DryRun?: boolean; + TargetCapacitySpecification: TargetCapacitySpecificationRequest | undefined; /** - *

                            Indicates whether EC2 Fleet should replace unhealthy instances.

                            + *

                            Indicates whether running instances should be terminated when the EC2 Fleet expires.

                            */ - ReplaceUnhealthyInstances?: boolean; + TerminateInstancesWithExpiration?: boolean; /** - *

                            The configuration for the EC2 Fleet.

                            + *

                            The end date and time of the request, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.

                            */ - LaunchTemplateConfigs: FleetLaunchTemplateConfigRequest[] | undefined; + ValidUntil?: Date; /** - *

                            The key-value pair for tagging the EC2 Fleet request on creation. The value for - * ResourceType must be fleet, otherwise the fleet request fails. - * To tag instances at launch, specify the tags in the launch - * template. For information about tagging after launch, see Tagging Your - * Resources.

                            + *

                            The configuration for the EC2 Fleet.

                            */ - TagSpecifications?: TagSpecification[]; + LaunchTemplateConfigs: FleetLaunchTemplateConfigRequest[] | undefined; /** - *

                            The number of units to request.

                            + *

                            Describes the configuration of Spot Instances in an EC2 Fleet.

                            */ - TargetCapacitySpecification: TargetCapacitySpecificationRequest | undefined; + SpotOptions?: SpotOptionsRequest; /** *

                            Indicates whether running instances should be terminated if the total target capacity of @@ -5917,21 +6024,30 @@ export interface CreateFleetRequest { ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; /** - *

                            Describes the configuration of On-Demand Instances in an EC2 Fleet.

                            + *

                            The type of the request. By default, the EC2 Fleet places an asynchronous request for your + * desired capacity, and maintains it by replenishing interrupted Spot Instances + * (maintain). A value of instant places a synchronous one-time + * request, and returns errors for any instances that could not be launched. A value of + * request places an asynchronous one-time request without maintaining + * capacity or submitting requests in alternative capacity pools if capacity is unavailable. + * For more information, see EC2 Fleet + * Request Types in the Amazon Elastic Compute Cloud User Guide.

                            */ - OnDemandOptions?: OnDemandOptionsRequest; + Type?: FleetType | string; /** - *

                            Indicates whether running instances should be terminated when the EC2 Fleet expires.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - TerminateInstancesWithExpiration?: boolean; + DryRun?: boolean; /** - *

                            The end date and time of the request, in UTC format (for example, + *

                            The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). - * At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.

                            + * The default is to start fulfilling the request immediately.

                            */ - ValidUntil?: Date; + ValidFrom?: Date; } export namespace CreateFleetRequest { @@ -5947,11 +6063,6 @@ export namespace CreateFleetRequest { * Amazon EC2 User Guide for Linux Instances.

                            */ export interface FleetLaunchTemplateSpecification { - /** - *

                            The name of the launch template. If you specify the template name, you can't specify the template ID.

                            - */ - LaunchTemplateName?: string; - /** *

                            The launch template version number, $Latest, or $Default. You must specify a value, otherwise the request fails.

                            *

                            If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

                            @@ -5959,6 +6070,11 @@ export interface FleetLaunchTemplateSpecification { */ Version?: string; + /** + *

                            The name of the launch template. If you specify the template name, you can't specify the template ID.

                            + */ + LaunchTemplateName?: string; + /** *

                            The ID of the launch template. If you specify the template ID, you can't specify the template name.

                            */ @@ -5992,23 +6108,19 @@ export namespace PlacementResponse { */ export interface FleetLaunchTemplateOverrides { /** - *

                            The number of units provided by the specified instance type.

                            + *

                            The location where the instance launched, if applicable.

                            */ - WeightedCapacity?: number; + Placement?: PlacementResponse; /** - *

                            The priority for the launch template override. If AllocationStrategy is set to prioritized, EC2 Fleet uses priority to - * determine which launch template override to use first in fulfilling On-Demand capacity. The - * highest priority is launched first. Valid values are whole numbers starting at - * 0. The lower the number, the higher the priority. If no number is set, the - * override has the lowest priority.

                            + *

                            The instance type.

                            */ - Priority?: number; + InstanceType?: _InstanceType | string; /** - *

                            The Availability Zone in which to launch the instances.

                            + *

                            The maximum price per unit hour that you are willing to pay for a Spot Instance.

                            */ - AvailabilityZone?: string; + MaxPrice?: string; /** *

                            The ID of the subnet in which to launch the instances.

                            @@ -6016,19 +6128,23 @@ export interface FleetLaunchTemplateOverrides { SubnetId?: string; /** - *

                            The location where the instance launched, if applicable.

                            + *

                            The Availability Zone in which to launch the instances.

                            */ - Placement?: PlacementResponse; + AvailabilityZone?: string; /** - *

                            The instance type.

                            + *

                            The number of units provided by the specified instance type.

                            */ - InstanceType?: _InstanceType | string; + WeightedCapacity?: number; /** - *

                            The maximum price per unit hour that you are willing to pay for a Spot Instance.

                            + *

                            The priority for the launch template override. If AllocationStrategy is set to prioritized, EC2 Fleet uses priority to + * determine which launch template override to use first in fulfilling On-Demand capacity. The + * highest priority is launched first. Valid values are whole numbers starting at + * 0. The lower the number, the higher the priority. If no number is set, the + * override has the lowest priority.

                            */ - MaxPrice?: string; + Priority?: number; } export namespace FleetLaunchTemplateOverrides { @@ -6041,16 +6157,16 @@ export namespace FleetLaunchTemplateOverrides { *

                            Describes a launch template and overrides.

                            */ export interface LaunchTemplateAndOverridesResponse { - /** - *

                            The launch template.

                            - */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; - /** *

                            Any parameters that you specify override the same parameters in the launch * template.

                            */ Overrides?: FleetLaunchTemplateOverrides; + + /** + *

                            The launch template.

                            + */ + LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; } export namespace LaunchTemplateAndOverridesResponse { @@ -6069,27 +6185,27 @@ export enum InstanceLifecycle { */ export interface CreateFleetError { /** - *

                            The error message that describes why the instance could not be launched. For more - * information about error messages, see Error Codes.

                            + *

                            Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

                            */ - ErrorMessage?: string; + Lifecycle?: InstanceLifecycle | string; /** - *

                            Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

                            + *

                            The launch templates and overrides that were used for launching the instances. The + * values that you specify in the Overrides replace the values in the launch template.

                            */ - Lifecycle?: InstanceLifecycle | string; + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

                            The error code that indicates why the instance could not be launched. For more - * information about error codes, see Error Codes.

                            + *

                            The error message that describes why the instance could not be launched. For more + * information about error messages, see Error Codes.

                            */ - ErrorCode?: string; + ErrorMessage?: string; /** - *

                            The launch templates and overrides that were used for launching the instances. The - * values that you specify in the Overrides replace the values in the launch template.

                            + *

                            The error code that indicates why the instance could not be launched. For more + * information about error codes, see Error Codes.

                            */ - LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; + ErrorCode?: string; } export namespace CreateFleetError { @@ -6105,14 +6221,15 @@ export type PlatformValues = "Windows"; */ export interface CreateFleetInstance { /** - *

                            Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

                            + *

                            The value is Windows for Windows instances. Otherwise, the value is + * blank.

                            */ - Lifecycle?: InstanceLifecycle | string; + Platform?: PlatformValues | string; /** - *

                            The instance type.

                            + *

                            Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

                            */ - InstanceType?: _InstanceType | string; + Lifecycle?: InstanceLifecycle | string; /** *

                            The IDs of the instances.

                            @@ -6126,10 +6243,9 @@ export interface CreateFleetInstance { LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

                            The value is Windows for Windows instances. Otherwise, the value is - * blank.

                            + *

                            The instance type.

                            */ - Platform?: PlatformValues | string; + InstanceType?: _InstanceType | string; } export namespace CreateFleetInstance { @@ -6139,6 +6255,12 @@ export namespace CreateFleetInstance { } export interface CreateFleetResult { + /** + *

                            Information about the instances that were launched by the fleet. Valid only when + * Type is set to instant.

                            + */ + Instances?: CreateFleetInstance[]; + /** *

                            Information about the instances that could not be launched by the fleet. Valid only when * Type is set to instant.

                            @@ -6149,12 +6271,6 @@ export interface CreateFleetResult { *

                            The ID of the EC2 Fleet.

                            */ FleetId?: string; - - /** - *

                            Information about the instances that were launched by the fleet. Valid only when - * Type is set to instant.

                            - */ - Instances?: CreateFleetInstance[]; } export namespace CreateFleetResult { @@ -6171,10 +6287,11 @@ export type TrafficType = "ACCEPT" | "ALL" | "REJECT"; export interface CreateFlowLogsRequest { /** - *

                            The type of resource for which to create the flow log. For example, if you specified a VPC ID for - * the ResourceId property, specify VPC for this property.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - ResourceType: FlowLogsResourceType | string | undefined; + DryRun?: boolean; /** *

                            The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

                            @@ -6184,13 +6301,10 @@ export interface CreateFlowLogsRequest { LogGroupName?: string; /** - *

                            The fields to include in the flow log record, in the order in which they should - * appear. For a list of available fields, see Flow Log Records. If you - * omit this parameter, the flow log is created using the default format. If you specify this parameter, you must specify at least one field.

                            - *

                            Specify the fields using the ${field-id} format, separated by spaces. For - * the AWS CLI, use single quotation marks (' ') to surround the parameter value.

                            + *

                            The type of resource for which to create the flow log. For example, if you specified a VPC ID for + * the ResourceId property, specify VPC for this property.

                            */ - LogFormat?: string; + ResourceType: FlowLogsResourceType | string | undefined; /** *

                            Specifies the destination to which the flow log data is to be published. Flow log data can be published @@ -6210,31 +6324,16 @@ export interface CreateFlowLogsRequest { LogDestination?: string; /** - *

                            The ID of the subnet, network interface, or VPC for which you want to create a flow log.

                            - *

                            Constraints: Maximum of 1000 resources

                            - */ - ResourceIds: string[] | undefined; - - /** - *

                            The tags to apply to the flow logs.

                            - */ - TagSpecifications?: TagSpecification[]; - - /** - *

                            The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).

                            - *

                            When a network interface is attached to a Nitro-based - * instance, the aggregation interval is always 60 seconds or less, regardless - * of the value that you specify.

                            - *

                            Default: 600

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

                            */ - MaxAggregationInterval?: number; + ClientToken?: string; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.

                            */ - DryRun?: boolean; + TrafficType: TrafficType | string | undefined; /** *

                            Specifies the type of destination to which the flow log data is to be published. Flow log data can be @@ -6247,6 +6346,15 @@ export interface CreateFlowLogsRequest { */ LogDestinationType?: LogDestinationType | string; + /** + *

                            The fields to include in the flow log record, in the order in which they should + * appear. For a list of available fields, see Flow Log Records. If you + * omit this parameter, the flow log is created using the default format. If you specify this parameter, you must specify at least one field.

                            + *

                            Specify the fields using the ${field-id} format, separated by spaces. For + * the AWS CLI, use single quotation marks (' ') to surround the parameter value.

                            + */ + LogFormat?: string; + /** *

                            The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group * in your account.

                            @@ -6256,16 +6364,24 @@ export interface CreateFlowLogsRequest { DeliverLogsPermissionArn?: string; /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency.

                            + *

                            The tags to apply to the flow logs.

                            */ - ClientToken?: string; + TagSpecifications?: TagSpecification[]; /** - *

                            The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.

                            + *

                            The ID of the subnet, network interface, or VPC for which you want to create a flow log.

                            + *

                            Constraints: Maximum of 1000 resources

                            */ - TrafficType: TrafficType | string | undefined; + ResourceIds: string[] | undefined; + + /** + *

                            The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).

                            + *

                            When a network interface is attached to a Nitro-based + * instance, the aggregation interval is always 60 seconds or less, regardless + * of the value that you specify.

                            + *

                            Default: 600

                            + */ + MaxAggregationInterval?: number; } export namespace CreateFlowLogsRequest { @@ -6276,9 +6392,10 @@ export namespace CreateFlowLogsRequest { export interface CreateFlowLogsResult { /** - *

                            Information about the flow logs that could not be created successfully.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                            */ - Unsuccessful?: UnsuccessfulItem[]; + ClientToken?: string; /** *

                            The IDs of the flow logs.

                            @@ -6286,10 +6403,9 @@ export interface CreateFlowLogsResult { FlowLogIds?: string[]; /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                            + *

                            Information about the flow logs that could not be created successfully.

                            */ - ClientToken?: string; + Unsuccessful?: UnsuccessfulItem[]; } export namespace CreateFlowLogsResult { @@ -6303,14 +6419,14 @@ export namespace CreateFlowLogsResult { */ export interface StorageLocation { /** - *

                            The name of the S3 bucket.

                            + *

                            The key.

                            */ - Bucket?: string; + Key?: string; /** - *

                            The key.

                            + *

                            The name of the S3 bucket.

                            */ - Key?: string; + Bucket?: string; } export namespace StorageLocation { @@ -6326,20 +6442,14 @@ export interface CreateFpgaImageRequest { InputStorageLocation: StorageLocation | undefined; /** - *

                            The location in Amazon S3 for the output logs.

                            - */ - LogsStorageLocation?: StorageLocation; - - /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - * For more information, see Ensuring Idempotency.

                            + *

                            A description for the AFI.

                            */ - ClientToken?: string; + Description?: string; /** - *

                            A name for the AFI.

                            + *

                            The tags to apply to the FPGA image during creation.

                            */ - Name?: string; + TagSpecifications?: TagSpecification[]; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -6349,14 +6459,20 @@ export interface CreateFpgaImageRequest { DryRun?: boolean; /** - *

                            The tags to apply to the FPGA image during creation.

                            + *

                            A name for the AFI.

                            */ - TagSpecifications?: TagSpecification[]; + Name?: string; /** - *

                            A description for the AFI.

                            + *

                            The location in Amazon S3 for the output logs.

                            */ - Description?: string; + LogsStorageLocation?: StorageLocation; + + /** + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + * For more information, see Ensuring Idempotency.

                            + */ + ClientToken?: string; } export namespace CreateFpgaImageRequest { @@ -6383,14 +6499,19 @@ export namespace CreateFpgaImageResult { }); } -export type VolumeType = "gp2" | "io1" | "sc1" | "st1" | "standard"; +export type VolumeType = "gp2" | "io1" | "io2" | "sc1" | "st1" | "standard"; /** *

                            Describes a block device for an EBS volume.

                            */ export interface EbsBlockDevice { /** - *

                            The volume type. If you set the type to io1, you must also specify + *

                            The ID of the snapshot.

                            + */ + SnapshotId?: string; + + /** + *

                            The volume type. If you set the type to io1 or io2, you must also specify * the Iops parameter. If you set the type to gp2, * st1, sc1, or standard, you must omit * the Iops parameter.

                            @@ -6400,87 +6521,94 @@ export interface EbsBlockDevice { VolumeType?: VolumeType | string; /** - *

                            The ID of the snapshot.

                            + *

                            Indicates whether the encryption state of an EBS volume is changed while being + * restored from a backing snapshot. + * The effect of setting the encryption state to true depends on + * the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. + * For more information, see Amazon EBS Encryption + * in the Amazon Elastic Compute Cloud User Guide.

                            + *

                            In no case can you remove encryption from an encrypted volume.

                            + *

                            Encrypted volumes can only be attached to instances that support Amazon EBS + * encryption. For more information, see Supported instance types.

                            + *

                            This parameter is not returned by .

                            */ - SnapshotId?: string; + Encrypted?: boolean; /** - *

                            The size of the volume, in GiB.

                            - *

                            Default: If you're creating the volume from a snapshot and don't specify a volume - * size, the default is the snapshot size.

                            - *

                            Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for - * Provisioned IOPS SSD (io1), 500-16384 for Throughput Optimized HDD - * (st1), 500-16384 for Cold HDD (sc1), and 1-1024 for - * Magnetic (standard) volumes. If you specify a snapshot, the volume size - * must be equal to or larger than the snapshot size.

                            + *

                            Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under + * which the EBS volume is encrypted.

                            + *

                            This parameter is only supported on BlockDeviceMapping objects called by + * RunInstances, RequestSpotFleet, + * and RequestSpotInstances.

                            */ - VolumeSize?: number; + KmsKeyId?: string; + + /** + *

                            Indicates whether the EBS volume is deleted on instance termination. For more + * information, see Preserving Amazon EBS volumes on instance termination in the + * Amazon Elastic Compute Cloud User Guide.

                            + */ + DeleteOnTermination?: boolean; /** *

                            The number of I/O operations per second (IOPS) that the volume supports. For - * io1 volumes, this represents the number of IOPS that are provisioned + * io1 and io2 volumes, this represents the number of IOPS that are provisioned * for the volume. For gp2 volumes, this represents the baseline performance * of the volume and the rate at which the volume accumulates I/O credits for bursting. For * more information, see Amazon EBS volume types in the * Amazon Elastic Compute Cloud User Guide.

                            *

                            Constraints: Range is 100-16,000 IOPS for gp2 volumes and - * 100 to 64,000IOPS for io1 volumes in - * most Regions. Maximum io1 IOPS of 64,000 is guaranteed + * 100 to 64,000 IOPS for io1 and io2 volumes in + * most Regions. Maximum io1 and io2 IOPS of 64,000 is guaranteed * only on Nitro-based * instances. Other instance families guarantee performance up to * 32,000 IOPS. For more information, see Amazon EBS Volume * Types in the Amazon Elastic Compute Cloud User Guide.

                            - *

                            Condition: This parameter is required for requests to create io1 volumes; + *

                            Condition: This parameter is required for requests to create io1 and io2 volumes; * it is not used in requests to create gp2, st1, * sc1, or standard volumes.

                            */ Iops?: number; /** - *

                            Indicates whether the EBS volume is deleted on instance termination. For more - * information, see Preserving Amazon EBS volumes on instance termination in the - * Amazon Elastic Compute Cloud User Guide.

                            + *

                            The size of the volume, in GiB.

                            + *

                            Default: If you're creating the volume from a snapshot and don't specify a volume + * size, the default is the snapshot size.

                            + *

                            Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for + * Provisioned IOPS SSD (io1 and io2), 500-16384 for Throughput Optimized HDD + * (st1), 500-16384 for Cold HDD (sc1), and 1-1024 for + * Magnetic (standard) volumes. If you specify a snapshot, the volume size + * must be equal to or larger than the snapshot size.

                            */ - DeleteOnTermination?: boolean; + VolumeSize?: number; +} + +export namespace EbsBlockDevice { + export const filterSensitiveLog = (obj: EbsBlockDevice): any => ({ + ...obj, + }); +} +/** + *

                            Describes a block device mapping.

                            + */ +export interface BlockDeviceMapping { /** - *

                            Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under - * which the EBS volume is encrypted.

                            - *

                            This parameter is only supported on BlockDeviceMapping objects called by - * RunInstances, RequestSpotFleet, - * and RequestSpotInstances.

                            + *

                            The device name (for example, /dev/sdh or xvdh).

                            */ - KmsKeyId?: string; + DeviceName?: string; /** - *

                            Indicates whether the encryption state of an EBS volume is changed while being - * restored from a backing snapshot. - * The effect of setting the encryption state to true depends on - * the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. - * For more information, see Amazon EBS Encryption - * in the Amazon Elastic Compute Cloud User Guide.

                            - *

                            In no case can you remove encryption from an encrypted volume.

                            - *

                            Encrypted volumes can only be attached to instances that support Amazon EBS - * encryption. For more information, see Supported instance types.

                            - *

                            This parameter is not returned by .

                            + *

                            Parameters used to automatically set up EBS volumes when the instance is + * launched.

                            */ - Encrypted?: boolean; -} - -export namespace EbsBlockDevice { - export const filterSensitiveLog = (obj: EbsBlockDevice): any => ({ - ...obj, - }); -} + Ebs?: EbsBlockDevice; -/** - *

                            Describes a block device mapping.

                            - */ -export interface BlockDeviceMapping { /** - *

                            The device name (for example, /dev/sdh or xvdh).

                            + *

                            Suppresses the specified device included in the block device mapping of the + * AMI.

                            */ - DeviceName?: string; + NoDevice?: string; /** *

                            The virtual device name (ephemeralN). Instance store volumes are numbered @@ -6495,18 +6623,6 @@ export interface BlockDeviceMapping { * store volumes specified in the block device mapping for the AMI.

                            */ VirtualName?: string; - - /** - *

                            Parameters used to automatically set up EBS volumes when the instance is - * launched.

                            - */ - Ebs?: EbsBlockDevice; - - /** - *

                            Suppresses the specified device included in the block device mapping of the - * AMI.

                            - */ - NoDevice?: string; } export namespace BlockDeviceMapping { @@ -6517,14 +6633,15 @@ export namespace BlockDeviceMapping { export interface CreateImageRequest { /** - *

                            By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't shut down the instance before creating the image. When this option is used, file system integrity on the created image can't be guaranteed.

                            + *

                            A description for the new image.

                            */ - NoReboot?: boolean; + Description?: string; /** - *

                            The block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.

                            + *

                            A name for the new image.

                            + *

                            Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

                            */ - BlockDeviceMappings?: BlockDeviceMapping[]; + Name: string | undefined; /** *

                            The ID of the instance.

                            @@ -6539,15 +6656,14 @@ export interface CreateImageRequest { DryRun?: boolean; /** - *

                            A description for the new image.

                            + *

                            The block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.

                            */ - Description?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                            A name for the new image.

                            - *

                            Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

                            + *

                            By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't shut down the instance before creating the image. When this option is used, file system integrity on the created image can't be guaranteed.

                            */ - Name: string | undefined; + NoReboot?: boolean; } export namespace CreateImageRequest { @@ -6578,17 +6694,15 @@ export type DiskImageFormat = "RAW" | "VHD" | "VMDK"; */ export interface ExportToS3TaskSpecification { /** - *

                            The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is - * exported.

                            + *

                            The format for the exported image.

                            */ - ContainerFormat?: ContainerFormat | string; + DiskImageFormat?: DiskImageFormat | string; /** - *

                            The Amazon S3 bucket for the destination image. The destination bucket must exist and grant - * WRITE and READ_ACP permissions to the AWS account - * vm-import-export@amazon.com.

                            + *

                            The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is + * exported.

                            */ - S3Bucket?: string; + ContainerFormat?: ContainerFormat | string; /** *

                            The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix + @@ -6597,9 +6711,11 @@ export interface ExportToS3TaskSpecification { S3Prefix?: string; /** - *

                            The format for the exported image.

                            + *

                            The Amazon S3 bucket for the destination image. The destination bucket must exist and grant + * WRITE and READ_ACP permissions to the AWS account + * vm-import-export@amazon.com.

                            */ - DiskImageFormat?: DiskImageFormat | string; + S3Bucket?: string; } export namespace ExportToS3TaskSpecification { @@ -6611,20 +6727,15 @@ export namespace ExportToS3TaskSpecification { export type ExportEnvironment = "citrix" | "microsoft" | "vmware"; export interface CreateInstanceExportTaskRequest { - /** - *

                            The target virtualization environment.

                            - */ - TargetEnvironment?: ExportEnvironment | string; - /** *

                            A description for the conversion task or the resource being exported. The maximum length is 255 characters.

                            */ Description?: string; /** - *

                            The ID of the instance.

                            + *

                            The format and location for an instance export task.

                            */ - InstanceId: string | undefined; + ExportToS3Task?: ExportToS3TaskSpecification; /** *

                            The tags to apply to the instance export task during creation.

                            @@ -6632,9 +6743,14 @@ export interface CreateInstanceExportTaskRequest { TagSpecifications?: TagSpecification[]; /** - *

                            The format and location for an instance export task.

                            + *

                            The ID of the instance.

                            */ - ExportToS3Task?: ExportToS3TaskSpecification; + InstanceId: string | undefined; + + /** + *

                            The target virtualization environment.

                            + */ + TargetEnvironment?: ExportEnvironment | string; } export namespace CreateInstanceExportTaskRequest { @@ -6647,16 +6763,6 @@ export namespace CreateInstanceExportTaskRequest { *

                            Describes the format and location for an instance export task.

                            */ export interface ExportToS3Task { - /** - *

                            The encryption key for your S3 bucket.

                            - */ - S3Key?: string; - - /** - *

                            The format for the exported image.

                            - */ - DiskImageFormat?: DiskImageFormat | string; - /** *

                            The Amazon S3 bucket for the destination image. The destination bucket must exist and grant * WRITE and READ_ACP permissions to the AWS account @@ -6669,6 +6775,16 @@ export interface ExportToS3Task { * exported.

                            */ ContainerFormat?: ContainerFormat | string; + + /** + *

                            The format for the exported image.

                            + */ + DiskImageFormat?: DiskImageFormat | string; + + /** + *

                            The encryption key for your S3 bucket.

                            + */ + S3Key?: string; } export namespace ExportToS3Task { @@ -6705,29 +6821,29 @@ export type ExportTaskState = "active" | "cancelled" | "cancelling" | "completed */ export interface ExportTask { /** - *

                            The status message related to the export task.

                            + *

                            Information about the instance to export.

                            */ - StatusMessage?: string; + InstanceExportDetails?: InstanceExportDetails; /** - *

                            A description of the resource being exported.

                            + *

                            The ID of the export task.

                            */ - Description?: string; + ExportTaskId?: string; /** - *

                            Information about the instance to export.

                            + *

                            The status message related to the export task.

                            */ - InstanceExportDetails?: InstanceExportDetails; + StatusMessage?: string; /** - *

                            The state of the export task.

                            + *

                            Information about the export task.

                            */ - State?: ExportTaskState | string; + ExportToS3Task?: ExportToS3Task; /** - *

                            Information about the export task.

                            + *

                            A description of the resource being exported.

                            */ - ExportToS3Task?: ExportToS3Task; + Description?: string; /** *

                            The tags for the export task.

                            @@ -6735,9 +6851,9 @@ export interface ExportTask { Tags?: Tag[]; /** - *

                            The ID of the export task.

                            + *

                            The state of the export task.

                            */ - ExportTaskId?: string; + State?: ExportTaskState | string; } export namespace ExportTask { @@ -6760,17 +6876,17 @@ export namespace CreateInstanceExportTaskResult { } export interface CreateInternetGatewayRequest { + /** + *

                            The tags to assign to the internet gateway.

                            + */ + TagSpecifications?: TagSpecification[]; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; - - /** - *

                            The tags to assign to the internet gateway.

                            - */ - TagSpecifications?: TagSpecification[]; } export namespace CreateInternetGatewayRequest { @@ -6789,9 +6905,9 @@ export interface InternetGateway { InternetGatewayId?: string; /** - *

                            Any tags assigned to the internet gateway.

                            + *

                            Any VPCs attached to the internet gateway.

                            */ - Tags?: Tag[]; + Attachments?: InternetGatewayAttachment[]; /** *

                            The ID of the AWS account that owns the internet gateway.

                            @@ -6799,9 +6915,9 @@ export interface InternetGateway { OwnerId?: string; /** - *

                            Any VPCs attached to the internet gateway.

                            + *

                            Any tags assigned to the internet gateway.

                            */ - Attachments?: InternetGatewayAttachment[]; + Tags?: Tag[]; } export namespace InternetGateway { @@ -6824,6 +6940,13 @@ export namespace CreateInternetGatewayResult { } export interface CreateKeyPairRequest { + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; + /** *

                            The tags to apply to the new key pair.

                            */ @@ -6834,13 +6957,6 @@ export interface CreateKeyPairRequest { *

                            Constraints: Up to 255 ASCII characters

                            */ KeyName: string | undefined; - - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            - */ - DryRun?: boolean; } export namespace CreateKeyPairRequest { @@ -6853,30 +6969,30 @@ export namespace CreateKeyPairRequest { *

                            Describes a key pair.

                            */ export interface KeyPair { - /** - *

                            The SHA-1 digest of the DER encoded private key.

                            - */ - KeyFingerprint?: string; - /** *

                            The name of the key pair.

                            */ KeyName?: string; /** - *

                            An unencrypted PEM encoded RSA private key.

                            + *

                            The ID of the key pair.

                            */ - KeyMaterial?: string; + KeyPairId?: string; /** - *

                            The ID of the key pair.

                            + *

                            The SHA-1 digest of the DER encoded private key.

                            */ - KeyPairId?: string; + KeyFingerprint?: string; /** *

                            Any tags applied to the key pair.

                            */ Tags?: Tag[]; + + /** + *

                            An unencrypted PEM encoded RSA private key.

                            + */ + KeyMaterial?: string; } export namespace KeyPair { @@ -6891,42 +7007,47 @@ export namespace KeyPair { */ export interface LaunchTemplateEbsBlockDeviceRequest { /** - *

                            The ARN of the symmetric AWS Key Management Service (AWS KMS) CMK used for - * encryption.

                            + *

                            The ID of the snapshot.

                            */ - KmsKeyId?: string; + SnapshotId?: string; /** - *

                            The size of the volume, in GiB.

                            - *

                            Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

                            + *

                            Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.

                            */ - VolumeSize?: number; + Encrypted?: boolean; /** - *

                            Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.

                            + *

                            The ARN of the symmetric AWS Key Management Service (AWS KMS) CMK used for + * encryption.

                            */ - Encrypted?: boolean; + KmsKeyId?: string; /** - *

                            Indicates whether the EBS volume is deleted on instance termination.

                            + *

                            The volume type.

                            */ - DeleteOnTermination?: boolean; + VolumeType?: VolumeType | string; /** - *

                            The ID of the snapshot.

                            + *

                            The number of I/O operations per second (IOPS) to provision for an io1 or io2 volume, with a maximum + * ratio of 50 IOPS/GiB for io1, and 500 IOPS/GiB for io2. Range is 100 to 64,000 IOPS for + * volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on + * Nitro-based instances. Other instance families guarantee performance up to + * 32,000 IOPS. For more information, see Amazon EBS Volume Types in the + * Amazon Elastic Compute Cloud User Guide.

                            + *

                            This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes.

                            */ - SnapshotId?: string; + Iops?: number; /** - *

                            The volume type.

                            + *

                            Indicates whether the EBS volume is deleted on instance termination.

                            */ - VolumeType?: VolumeType | string; + DeleteOnTermination?: boolean; /** - *

                            The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

                            - *

                            Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

                            + *

                            The size of the volume, in GiB.

                            + *

                            Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

                            */ - Iops?: number; + VolumeSize?: number; } export namespace LaunchTemplateEbsBlockDeviceRequest { @@ -6940,24 +7061,24 @@ export namespace LaunchTemplateEbsBlockDeviceRequest { */ export interface LaunchTemplateBlockDeviceMappingRequest { /** - *

                            The device name (for example, /dev/sdh or xvdh).

                            + *

                            Parameters used to automatically set up EBS volumes when the instance is launched.

                            */ - DeviceName?: string; + Ebs?: LaunchTemplateEbsBlockDeviceRequest; /** - *

                            Parameters used to automatically set up EBS volumes when the instance is launched.

                            + *

                            The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

                            */ - Ebs?: LaunchTemplateEbsBlockDeviceRequest; + VirtualName?: string; /** - *

                            Suppresses the specified device included in the block device mapping of the AMI.

                            + *

                            The device name (for example, /dev/sdh or xvdh).

                            */ - NoDevice?: string; + DeviceName?: string; /** - *

                            The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

                            + *

                            Suppresses the specified device included in the block device mapping of the AMI.

                            */ - VirtualName?: string; + NoDevice?: string; } export namespace LaunchTemplateBlockDeviceMappingRequest { @@ -7166,14 +7287,14 @@ export type SpotInstanceType = "one-time" | "persistent"; */ export interface LaunchTemplateSpotMarketOptionsRequest { /** - *

                            The Spot Instance request type.

                            + *

                            The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

                            */ - SpotInstanceType?: SpotInstanceType | string; + BlockDurationMinutes?: number; /** - *

                            The behavior when a Spot Instance is interrupted. The default is terminate.

                            + *

                            The maximum hourly price you're willing to pay for the Spot Instances.

                            */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + MaxPrice?: string; /** *

                            The end date of the request. @@ -7184,14 +7305,14 @@ export interface LaunchTemplateSpotMarketOptionsRequest { ValidUntil?: Date; /** - *

                            The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

                            + *

                            The behavior when a Spot Instance is interrupted. The default is terminate.

                            */ - BlockDurationMinutes?: number; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; /** - *

                            The maximum hourly price you're willing to pay for the Spot Instances.

                            + *

                            The Spot Instance request type.

                            */ - MaxPrice?: string; + SpotInstanceType?: SpotInstanceType | string; } export namespace LaunchTemplateSpotMarketOptionsRequest { @@ -7249,15 +7370,6 @@ export enum LaunchTemplateHttpTokensState { * Amazon Elastic Compute Cloud User Guide.

                            */ export interface LaunchTemplateInstanceMetadataOptionsRequest { - /** - *

                            This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

                            - * - *

                            If you specify a value of disabled, you will not be able to access your instance metadata. - *

                            - *
                            - */ - HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; - /** *

                            The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

                            *

                            Default: 1

                            @@ -7271,6 +7383,15 @@ export interface LaunchTemplateInstanceMetadataOptionsRequest { *

                            If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.

                            */ HttpTokens?: LaunchTemplateHttpTokensState | string; + + /** + *

                            This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

                            + * + *

                            If you specify a value of disabled, you will not be able to access your instance metadata. + *

                            + *
                            + */ + HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; } export namespace LaunchTemplateInstanceMetadataOptionsRequest { @@ -7316,15 +7437,15 @@ export namespace InstanceIpv6AddressRequest { */ export interface PrivateIpAddressSpecification { /** - *

                            Indicates whether the private IPv4 address is the primary private IPv4 address. Only - * one IPv4 address can be designated as primary.

                            + *

                            The private IPv4 addresses.

                            */ - Primary?: boolean; + PrivateIpAddress?: string; /** - *

                            The private IPv4 addresses.

                            + *

                            Indicates whether the private IPv4 address is the primary private IPv4 address. Only + * one IPv4 address can be designated as primary.

                            */ - PrivateIpAddress?: string; + Primary?: boolean; } export namespace PrivateIpAddressSpecification { @@ -7338,24 +7459,19 @@ export namespace PrivateIpAddressSpecification { */ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { /** - *

                            The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

                            - */ - Ipv6AddressCount?: number; - - /** - *

                            One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

                            + *

                            The number of secondary private IPv4 addresses to assign to a network interface.

                            */ - Ipv6Addresses?: InstanceIpv6AddressRequest[]; + SecondaryPrivateIpAddressCount?: number; /** - *

                            The ID of the subnet for the network interface.

                            + *

                            The device index for the network interface attachment.

                            */ - SubnetId?: string; + DeviceIndex?: number; /** - *

                            Indicates whether the network interface is deleted when the instance is terminated.

                            + *

                            Associates a public IPv4 address with eth0 for a new network interface.

                            */ - DeleteOnTermination?: boolean; + AssociatePublicIpAddress?: boolean; /** *

                            The ID of the network interface.

                            @@ -7363,34 +7479,43 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { NetworkInterfaceId?: string; /** - *

                            Associates a public IPv4 address with eth0 for a new network interface.

                            + *

                            One or more private IPv4 addresses.

                            */ - AssociatePublicIpAddress?: boolean; + PrivateIpAddresses?: PrivateIpAddressSpecification[]; /** - *

                            The number of secondary private IPv4 addresses to assign to a network interface.

                            + *

                            The primary private IPv4 address of the network interface.

                            */ - SecondaryPrivateIpAddressCount?: number; + PrivateIpAddress?: string; /** - *

                            One or more private IPv4 addresses.

                            + *

                            Indicates whether the network interface is deleted when the instance is terminated.

                            */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + DeleteOnTermination?: boolean; /** *

                            A description for the network interface.

                            */ Description?: string; + /** + *

                            The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

                            + */ + Ipv6AddressCount?: number; + /** *

                            The IDs of one or more security groups.

                            */ Groups?: string[]; /** - *

                            The device index for the network interface attachment.

                            + *

                            Associates a Carrier IP address with eth0 for a new network interface.

                            + *

                            Use this option when you launch an instance in a Wavelength Zone and want to associate + * a Carrier IP address with the network interface. For more information about Carrier IP + * addresses, see Carrier IP addresses in the AWS Wavelength Developer + * Guide.

                            */ - DeviceIndex?: number; + AssociateCarrierIpAddress?: boolean; /** *

                            The type of network interface. To create an Elastic Fabric Adapter (EFA), specify @@ -7403,9 +7528,14 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { InterfaceType?: string; /** - *

                            The primary private IPv4 address of the network interface.

                            + *

                            One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

                            */ - PrivateIpAddress?: string; + Ipv6Addresses?: InstanceIpv6AddressRequest[]; + + /** + *

                            The ID of the subnet for the network interface.

                            + */ + SubnetId?: string; } export namespace LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { @@ -7418,11 +7548,6 @@ export namespace LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { *

                            Describes the placement of an instance.

                            */ export interface LaunchTemplatePlacementRequest { - /** - *

                            The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

                            - */ - PartitionNumber?: number; - /** *

                            The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy * of dedicated runs on single-tenant hardware.

                            @@ -7430,21 +7555,19 @@ export interface LaunchTemplatePlacementRequest { Tenancy?: Tenancy | string; /** - *

                            Reserved for future use.

                            + *

                            The ID of the Dedicated Host for the instance.

                            */ - SpreadDomain?: string; + HostId?: string; /** - *

                            The ARN of the host resource group in which to launch the instances. If you specify a host - * resource group ARN, omit the Tenancy parameter - * or set it to host.

                            + *

                            The name of the placement group for the instance.

                            */ - HostResourceGroupArn?: string; + GroupName?: string; /** - *

                            The ID of the Dedicated Host for the instance.

                            + *

                            The Availability Zone for the instance.

                            */ - HostId?: string; + AvailabilityZone?: string; /** *

                            The affinity setting for an instance on a Dedicated Host.

                            @@ -7452,14 +7575,21 @@ export interface LaunchTemplatePlacementRequest { Affinity?: string; /** - *

                            The Availability Zone for the instance.

                            + *

                            The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

                            */ - AvailabilityZone?: string; + PartitionNumber?: number; /** - *

                            The name of the placement group for the instance.

                            + *

                            Reserved for future use.

                            */ - GroupName?: string; + SpreadDomain?: string; + + /** + *

                            The ARN of the host resource group in which to launch the instances. If you specify a host + * resource group ARN, omit the Tenancy parameter + * or set it to host.

                            + */ + HostResourceGroupArn?: string; } export namespace LaunchTemplatePlacementRequest { @@ -7495,6 +7625,43 @@ export namespace LaunchTemplateTagSpecificationRequest { *

                            The information to include in the launch template.

                            */ export interface RequestLaunchTemplateData { + /** + *

                            The tags to apply to the resources during launch. You can only tag instances and + * volumes on launch. The specified tags are applied to all instances or volumes that are + * created during launch. To tag a resource after it has been created, see CreateTags.

                            + */ + TagSpecifications?: LaunchTemplateTagSpecificationRequest[]; + + /** + *

                            The instance type. For more information, see Instance Types in the + * Amazon Elastic Compute Cloud User Guide.

                            + */ + InstanceType?: _InstanceType | string; + + /** + *

                            [EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, + * you must use security group IDs instead. You cannot specify both a security group ID and + * security name in the same request.

                            + */ + SecurityGroups?: string[]; + + /** + *

                            The Base64-encoded user data to make available to the instance. For more + * information, see Running Commands on Your Linux Instance + * at Launch (Linux) and Adding User Data (Windows).

                            + */ + UserData?: string; + + /** + *

                            The monitoring for the instance.

                            + */ + Monitoring?: LaunchTemplatesMonitoringRequest; + + /** + *

                            The ID of the AMI.

                            + */ + ImageId?: string; + /** *

                            One or more network interfaces. If you specify a network interface, you must specify * any security groups and subnets as part of the network interface.

                            @@ -7502,7 +7669,14 @@ export interface RequestLaunchTemplateData { NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecificationRequest[]; /** - *

                            The ID of the RAM disk.

                            + *

                            + * The elastic inference accelerator for the instance. + *

                            + */ + ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAccelerator[]; + + /** + *

                            The ID of the kernel.

                            * *

                            We recommend that you use PV-GRUB instead of kernels and RAM disks. For more * information, see User Provided @@ -7510,15 +7684,22 @@ export interface RequestLaunchTemplateData { * Guide.

                            *
                            */ - RamDiskId?: string; + KernelId?: string; /** - *

                            Indicates whether an instance stops or terminates when you initiate shutdown from - * the instance (using the operating system command for system shutdown).

                            - *

                            Default: stop - *

                            + *

                            The metadata options for the instance. For more information, see Instance Metadata and User Data in the + * Amazon Elastic Compute Cloud User Guide.

                            */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; + MetadataOptions?: LaunchTemplateInstanceMetadataOptionsRequest; + + /** + *

                            Indicates whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal Amazon EBS I/O performance. This optimization isn't available with all + * instance types. Additional usage charges apply when using an EBS-optimized + * instance.

                            + */ + EbsOptimized?: boolean; /** *

                            If you set this parameter to true, you can't terminate the instance using @@ -7540,50 +7721,15 @@ export interface RequestLaunchTemplateData { HibernationOptions?: LaunchTemplateHibernationOptionsRequest; /** - *

                            Indicates whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal Amazon EBS I/O performance. This optimization isn't available with all - * instance types. Additional usage charges apply when using an EBS-optimized - * instance.

                            - */ - EbsOptimized?: boolean; - - /** - *

                            The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User - * Guide.

                            - */ - CpuOptions?: LaunchTemplateCpuOptionsRequest; - - /** - *

                            One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and - * security name in the same request.

                            - */ - SecurityGroupIds?: string[]; - - /** - *

                            - * The elastic inference accelerator for the instance. - *

                            + *

                            The IAM instance profile.

                            */ - ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAccelerator[]; + IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecificationRequest; /** *

                            The license configurations.

                            */ LicenseSpecifications?: LaunchTemplateLicenseConfigurationRequest[]; - /** - *

                            The credit option for CPU usage of the instance. Valid for T2, T3, or T3a instances - * only.

                            - */ - CreditSpecification?: CreditSpecificationRequest; - - /** - *

                            The metadata options for the instance. For more information, see Instance Metadata and User Data in the - * Amazon Elastic Compute Cloud User Guide.

                            - */ - MetadataOptions?: LaunchTemplateInstanceMetadataOptionsRequest; - /** *

                            The Capacity Reservation targeting option. If you do not specify this parameter, the * instance's Capacity Reservation preference defaults to open, which enables it @@ -7593,21 +7739,21 @@ export interface RequestLaunchTemplateData { CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationRequest; /** - *

                            The IAM instance profile.

                            + *

                            The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User + * Guide.

                            */ - IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecificationRequest; + CpuOptions?: LaunchTemplateCpuOptionsRequest; /** - *

                            The block device mapping.

                            + *

                            The market (purchasing) option for the instances.

                            */ - BlockDeviceMappings?: LaunchTemplateBlockDeviceMappingRequest[]; + InstanceMarketOptions?: LaunchTemplateInstanceMarketOptionsRequest; /** - *

                            The Base64-encoded user data to make available to the instance. For more - * information, see Running Commands on Your Linux Instance - * at Launch (Linux) and Adding User Data (Windows).

                            + *

                            The credit option for CPU usage of the instance. Valid for T2, T3, or T3a instances + * only.

                            */ - UserData?: string; + CreditSpecification?: CreditSpecificationRequest; /** *

                            The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

                            @@ -7619,24 +7765,7 @@ export interface RequestLaunchTemplateData { KeyName?: string; /** - *

                            The ID of the AMI.

                            - */ - ImageId?: string; - - /** - *

                            [EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, - * you must use security group IDs instead. You cannot specify both a security group ID and - * security name in the same request.

                            - */ - SecurityGroups?: string[]; - - /** - *

                            The market (purchasing) option for the instances.

                            - */ - InstanceMarketOptions?: LaunchTemplateInstanceMarketOptionsRequest; - - /** - *

                            The ID of the kernel.

                            + *

                            The ID of the RAM disk.

                            * *

                            We recommend that you use PV-GRUB instead of kernels and RAM disks. For more * information, see User Provided @@ -7644,35 +7773,36 @@ export interface RequestLaunchTemplateData { * Guide.

                            *
                            */ - KernelId?: string; + RamDiskId?: string; /** - *

                            The tags to apply to the resources during launch. You can only tag instances and - * volumes on launch. The specified tags are applied to all instances or volumes that are - * created during launch. To tag a resource after it has been created, see CreateTags.

                            + *

                            The block device mapping.

                            */ - TagSpecifications?: LaunchTemplateTagSpecificationRequest[]; + BlockDeviceMappings?: LaunchTemplateBlockDeviceMappingRequest[]; /** - *

                            The placement for the instance.

                            + *

                            An elastic GPU to associate with the instance.

                            */ - Placement?: LaunchTemplatePlacementRequest; + ElasticGpuSpecifications?: ElasticGpuSpecification[]; /** - *

                            The instance type. For more information, see Instance Types in the - * Amazon Elastic Compute Cloud User Guide.

                            + *

                            The placement for the instance.

                            */ - InstanceType?: _InstanceType | string; + Placement?: LaunchTemplatePlacementRequest; /** - *

                            An elastic GPU to associate with the instance.

                            + *

                            One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and + * security name in the same request.

                            */ - ElasticGpuSpecifications?: ElasticGpuSpecification[]; + SecurityGroupIds?: string[]; /** - *

                            The monitoring for the instance.

                            + *

                            Indicates whether an instance stops or terminates when you initiate shutdown from + * the instance (using the operating system command for system shutdown).

                            + *

                            Default: stop + *

                            */ - Monitoring?: LaunchTemplatesMonitoringRequest; + InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; } export namespace RequestLaunchTemplateData { @@ -7682,11 +7812,6 @@ export namespace RequestLaunchTemplateData { } export interface CreateLaunchTemplateRequest { - /** - *

                            The tags to apply to the launch template during creation.

                            - */ - TagSpecifications?: TagSpecification[]; - /** *

                            Unique, case-sensitive identifier you provide to ensure the idempotency of the * request. For more information, see Ensuring @@ -7696,9 +7821,9 @@ export interface CreateLaunchTemplateRequest { ClientToken?: string; /** - *

                            A name for the launch template.

                            + *

                            A description for the first version of the launch template.

                            */ - LaunchTemplateName: string | undefined; + VersionDescription?: string; /** *

                            The information for the launch template.

                            @@ -7714,9 +7839,14 @@ export interface CreateLaunchTemplateRequest { DryRun?: boolean; /** - *

                            A description for the first version of the launch template.

                            + *

                            The tags to apply to the launch template during creation.

                            */ - VersionDescription?: string; + TagSpecifications?: TagSpecification[]; + + /** + *

                            A name for the launch template.

                            + */ + LaunchTemplateName: string | undefined; } export namespace CreateLaunchTemplateRequest { @@ -7729,155 +7859,44 @@ export namespace CreateLaunchTemplateRequest { *

                            Describes a launch template.

                            */ export interface LaunchTemplate { - /** - *

                            The version number of the default version of the launch template.

                            - */ - DefaultVersionNumber?: number; - - /** - *

                            The version number of the latest version of the launch template.

                            - */ - LatestVersionNumber?: number; - /** *

                            The time launch template was created.

                            */ CreateTime?: Date; /** - *

                            The ID of the launch template.

                            + *

                            The version number of the latest version of the launch template.

                            */ - LaunchTemplateId?: string; + LatestVersionNumber?: number; /** *

                            The name of the launch template.

                            */ LaunchTemplateName?: string; - /** - *

                            The tags for the launch template.

                            - */ - Tags?: Tag[]; - /** *

                            The principal that created the launch template.

                            */ CreatedBy?: string; -} -export namespace LaunchTemplate { - export const filterSensitiveLog = (obj: LaunchTemplate): any => ({ - ...obj, - }); -} - -/** - *

                            The error code and error message that is returned for a parameter or parameter combination that is not valid when a new launch template or new version of a launch template is created.

                            - */ -export interface ValidationError { - /** - *

                            The error code that indicates why the parameter or parameter combination is not valid. For more information about error codes, see Error Codes.

                            - */ - Code?: string; - - /** - *

                            The error message that describes why the parameter or parameter combination is not valid. For more - * information about error messages, see Error Codes.

                            - */ - Message?: string; -} - -export namespace ValidationError { - export const filterSensitiveLog = (obj: ValidationError): any => ({ - ...obj, - }); -} - -/** - *

                            The error codes and error messages that are returned for the parameters or parameter combinations that are not valid when a new launch template or new version of a launch template is created.

                            - */ -export interface ValidationWarning { /** - *

                            The error codes and error messages.

                            - */ - Errors?: ValidationError[]; -} - -export namespace ValidationWarning { - export const filterSensitiveLog = (obj: ValidationWarning): any => ({ - ...obj, - }); -} - -export interface CreateLaunchTemplateResult { - /** - *

                            Information about the launch template.

                            - */ - LaunchTemplate?: LaunchTemplate; - - /** - *

                            If the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

                            - */ - Warning?: ValidationWarning; -} - -export namespace CreateLaunchTemplateResult { - export const filterSensitiveLog = (obj: CreateLaunchTemplateResult): any => ({ - ...obj, - }); -} - -export interface CreateLaunchTemplateVersionRequest { - /** - *

                            Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                            - */ - DryRun?: boolean; - - /** - *

                            The version number of the launch template version on which to base the new version. - * The new version inherits the same launch parameters as the source version, except for - * parameters that you specify in LaunchTemplateData. Snapshots applied - * to the block device mapping are ignored when creating a new version unless they - * are explicitly included.

                            - */ - SourceVersion?: string; - - /** - *

                            Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

                            - *

                            Constraint: Maximum 128 ASCII characters.

                            - */ - ClientToken?: string; - - /** - *

                            The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

                            - */ - LaunchTemplateName?: string; - - /** - *

                            The information for the launch template.

                            + *

                            The tags for the launch template.

                            */ - LaunchTemplateData: RequestLaunchTemplateData | undefined; + Tags?: Tag[]; /** - *

                            A description for the version of the launch template.

                            + *

                            The version number of the default version of the launch template.

                            */ - VersionDescription?: string; + DefaultVersionNumber?: number; /** - *

                            The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

                            + *

                            The ID of the launch template.

                            */ LaunchTemplateId?: string; } -export namespace CreateLaunchTemplateVersionRequest { - export const filterSensitiveLog = (obj: CreateLaunchTemplateVersionRequest): any => ({ +export namespace LaunchTemplate { + export const filterSensitiveLog = (obj: LaunchTemplate): any => ({ ...obj, }); } diff --git a/clients/client-ec2/models/models_1.ts b/clients/client-ec2/models/models_1.ts index caf869cbc66d..719af095f5e8 100644 --- a/clients/client-ec2/models/models_1.ts +++ b/clients/client-ec2/models/models_1.ts @@ -1,8 +1,8 @@ import { AddPrefixListEntry, AttachmentStatus, - ByoipCidr, CapacityReservationPreference, + CarrierGateway, ClientVpnEndpointStatus, ClientVpnRouteStatus, CurrencyCodeValues, @@ -15,6 +15,7 @@ import { LaunchTemplateInstanceMetadataEndpointState, MarketType, PrivateIpAddressSpecification, + RequestLaunchTemplateData, ReservedInstancesListing, ResourceType, RouteTableAssociationState, @@ -28,7 +29,6 @@ import { TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, UnsuccessfulItem, - ValidationWarning, VolumeAttachment, VolumeType, Vpc, @@ -39,43 +39,154 @@ import { import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; /** - *

                            Describes a block device for an EBS volume.

                            + *

                            The error code and error message that is returned for a parameter or parameter combination that is not valid when a new launch template or new version of a launch template is created.

                            */ -export interface LaunchTemplateEbsBlockDevice { +export interface ValidationError { /** - *

                            The volume type.

                            + *

                            The error message that describes why the parameter or parameter combination is not valid. For more + * information about error messages, see Error Codes.

                            */ - VolumeType?: VolumeType | string; + Message?: string; /** - *

                            Indicates whether the EBS volume is encrypted.

                            + *

                            The error code that indicates why the parameter or parameter combination is not valid. For more information about error codes, see Error Codes.

                            */ - Encrypted?: boolean; + Code?: string; +} + +export namespace ValidationError { + export const filterSensitiveLog = (obj: ValidationError): any => ({ + ...obj, + }); +} +/** + *

                            The error codes and error messages that are returned for the parameters or parameter combinations that are not valid when a new launch template or new version of a launch template is created.

                            + */ +export interface ValidationWarning { /** - *

                            The number of I/O operations per second (IOPS) that the volume supports.

                            + *

                            The error codes and error messages.

                            */ - Iops?: number; + Errors?: ValidationError[]; +} + +export namespace ValidationWarning { + export const filterSensitiveLog = (obj: ValidationWarning): any => ({ + ...obj, + }); +} +export interface CreateLaunchTemplateResult { /** - *

                            Indicates whether the EBS volume is deleted on instance termination.

                            + *

                            Information about the launch template.

                            */ - DeleteOnTermination?: boolean; + LaunchTemplate?: LaunchTemplate; /** - *

                            The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.

                            + *

                            If the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

                            */ - KmsKeyId?: string; + Warning?: ValidationWarning; +} + +export namespace CreateLaunchTemplateResult { + export const filterSensitiveLog = (obj: CreateLaunchTemplateResult): any => ({ + ...obj, + }); +} +export interface CreateLaunchTemplateVersionRequest { /** - *

                            The size of the volume, in GiB.

                            + *

                            A description for the version of the launch template.

                            */ - VolumeSize?: number; + VersionDescription?: string; + + /** + *

                            The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

                            + */ + LaunchTemplateId?: string; + + /** + *

                            Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                            + */ + DryRun?: boolean; + + /** + *

                            The version number of the launch template version on which to base the new version. + * The new version inherits the same launch parameters as the source version, except for + * parameters that you specify in LaunchTemplateData. Snapshots applied + * to the block device mapping are ignored when creating a new version unless they + * are explicitly included.

                            + */ + SourceVersion?: string; + + /** + *

                            The information for the launch template.

                            + */ + LaunchTemplateData: RequestLaunchTemplateData | undefined; + + /** + *

                            The name of the launch template. You must specify either the launch template ID or + * launch template name in the request.

                            + */ + LaunchTemplateName?: string; + + /** + *

                            Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

                            + *

                            Constraint: Maximum 128 ASCII characters.

                            + */ + ClientToken?: string; +} + +export namespace CreateLaunchTemplateVersionRequest { + export const filterSensitiveLog = (obj: CreateLaunchTemplateVersionRequest): any => ({ + ...obj, + }); +} +/** + *

                            Describes a block device for an EBS volume.

                            + */ +export interface LaunchTemplateEbsBlockDevice { /** *

                            The ID of the snapshot.

                            */ SnapshotId?: string; + + /** + *

                            The size of the volume, in GiB.

                            + */ + VolumeSize?: number; + + /** + *

                            The volume type.

                            + */ + VolumeType?: VolumeType | string; + + /** + *

                            The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.

                            + */ + KmsKeyId?: string; + + /** + *

                            The number of I/O operations per second (IOPS) that the volume supports.

                            + */ + Iops?: number; + + /** + *

                            Indicates whether the EBS volume is deleted on instance termination.

                            + */ + DeleteOnTermination?: boolean; + + /** + *

                            Indicates whether the EBS volume is encrypted.

                            + */ + Encrypted?: boolean; } export namespace LaunchTemplateEbsBlockDevice { @@ -88,25 +199,25 @@ export namespace LaunchTemplateEbsBlockDevice { *

                            Describes a block device mapping.

                            */ export interface LaunchTemplateBlockDeviceMapping { - /** - *

                            Information about the block device for an EBS volume.

                            - */ - Ebs?: LaunchTemplateEbsBlockDevice; - /** *

                            The virtual device name (ephemeralN).

                            */ VirtualName?: string; /** - *

                            The device name.

                            + *

                            Information about the block device for an EBS volume.

                            */ - DeviceName?: string; + Ebs?: LaunchTemplateEbsBlockDevice; /** *

                            Suppresses the specified device included in the block device mapping of the AMI.

                            */ NoDevice?: string; + + /** + *

                            The device name.

                            + */ + DeviceName?: string; } export namespace LaunchTemplateBlockDeviceMapping { @@ -120,14 +231,14 @@ export namespace LaunchTemplateBlockDeviceMapping { */ export interface CapacityReservationTargetResponse { /** - *

                            The ID of the targeted Capacity Reservation.

                            + *

                            The ARN of the targeted Capacity Reservation group.

                            */ - CapacityReservationId?: string; + CapacityReservationResourceGroupArn?: string; /** - *

                            The ARN of the targeted Capacity Reservation group.

                            + *

                            The ID of the targeted Capacity Reservation.

                            */ - CapacityReservationResourceGroupArn?: string; + CapacityReservationId?: string; } export namespace CapacityReservationTargetResponse { @@ -140,11 +251,6 @@ export namespace CapacityReservationTargetResponse { *

                            Information about the Capacity Reservation targeting option.

                            */ export interface LaunchTemplateCapacityReservationSpecificationResponse { - /** - *

                            Information about the target Capacity Reservation or Capacity Reservation group.

                            - */ - CapacityReservationTarget?: CapacityReservationTargetResponse; - /** *

                            Indicates the instance's Capacity Reservation preferences. Possible preferences include:

                            *
                              @@ -161,6 +267,11 @@ export interface LaunchTemplateCapacityReservationSpecificationResponse { *
                            */ CapacityReservationPreference?: CapacityReservationPreference | string; + + /** + *

                            Information about the target Capacity Reservation or Capacity Reservation group.

                            + */ + CapacityReservationTarget?: CapacityReservationTargetResponse; } export namespace LaunchTemplateCapacityReservationSpecificationResponse { @@ -174,14 +285,14 @@ export namespace LaunchTemplateCapacityReservationSpecificationResponse { */ export interface LaunchTemplateCpuOptions { /** - *

                            The number of CPU cores for the instance.

                            + *

                            The number of threads per CPU core.

                            */ - CoreCount?: number; + ThreadsPerCore?: number; /** - *

                            The number of threads per CPU core.

                            + *

                            The number of CPU cores for the instance.

                            */ - ThreadsPerCore?: number; + CoreCount?: number; } export namespace LaunchTemplateCpuOptions { @@ -231,18 +342,18 @@ export namespace ElasticGpuSpecificationResponse { export interface LaunchTemplateElasticInferenceAcceleratorResponse { /** *

                            - * The number of elastic inference accelerators to attach to the instance. - *

                            - *

                            Default: 1

                            + * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge. + *

                            */ - Count?: number; + Type?: string; /** *

                            - * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge. - *

                            + * The number of elastic inference accelerators to attach to the instance. + *

                            + *

                            Default: 1

                            */ - Type?: string; + Count?: number; } export namespace LaunchTemplateElasticInferenceAcceleratorResponse { @@ -293,14 +404,14 @@ export namespace LaunchTemplateIamInstanceProfileSpecification { */ export interface LaunchTemplateSpotMarketOptions { /** - *

                            The maximum hourly price you're willing to pay for the Spot Instances.

                            + *

                            The behavior when a Spot Instance is interrupted.

                            */ - MaxPrice?: string; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; /** - *

                            The behavior when a Spot Instance is interrupted.

                            + *

                            The maximum hourly price you're willing to pay for the Spot Instances.

                            */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + MaxPrice?: string; /** *

                            The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

                            @@ -308,14 +419,14 @@ export interface LaunchTemplateSpotMarketOptions { BlockDurationMinutes?: number; /** - *

                            The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

                            + *

                            The Spot Instance request type.

                            */ - ValidUntil?: Date; + SpotInstanceType?: SpotInstanceType | string; /** - *

                            The Spot Instance request type.

                            + *

                            The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

                            */ - SpotInstanceType?: SpotInstanceType | string; + ValidUntil?: Date; } export namespace LaunchTemplateSpotMarketOptions { @@ -376,13 +487,13 @@ export interface LaunchTemplateInstanceMetadataOptions { HttpTokens?: LaunchTemplateHttpTokensState | string; /** - *

                            The state of the metadata option changes.

                            - *

                            - * pending - The metadata options are being updated and the instance is not ready to process metadata traffic with the new selection.

                            - *

                            - * applied - The metadata options have been successfully applied on the instance.

                            + *

                            This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

                            + * + *

                            If you specify a value of disabled, you will not be able to access your instance metadata. + *

                            + *
                            */ - State?: LaunchTemplateInstanceMetadataOptionsState | string; + HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; /** *

                            The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

                            @@ -392,13 +503,13 @@ export interface LaunchTemplateInstanceMetadataOptions { HttpPutResponseHopLimit?: number; /** - *

                            This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

                            - * - *

                            If you specify a value of disabled, you will not be able to access your instance metadata. - *

                            - *
                            + *

                            The state of the metadata option changes.

                            + *

                            + * pending - The metadata options are being updated and the instance is not ready to process metadata traffic with the new selection.

                            + *

                            + * applied - The metadata options have been successfully applied on the instance.

                            */ - HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; + State?: LaunchTemplateInstanceMetadataOptionsState | string; } export namespace LaunchTemplateInstanceMetadataOptions { @@ -444,30 +555,44 @@ export namespace InstanceIpv6Address { *

                            Describes a network interface.

                            */ export interface LaunchTemplateInstanceNetworkInterfaceSpecification { + /** + *

                            The ID of the network interface.

                            + */ + NetworkInterfaceId?: string; + /** *

                            Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

                            */ AssociatePublicIpAddress?: boolean; /** - *

                            A description for the network interface.

                            + *

                            The device index for the network interface attachment.

                            */ - Description?: string; + DeviceIndex?: number; /** - *

                            The number of IPv6 addresses for the network interface.

                            + *

                            Indicates whether the network interface is deleted when the instance is terminated.

                            */ - Ipv6AddressCount?: number; + DeleteOnTermination?: boolean; /** - *

                            The ID of the subnet for the network interface.

                            + *

                            Indicates whether to associate a Carrier IP address with eth0 for a new network interface.

                            + *

                            Use this option when you launch an instance in a Wavelength Zone and want to associate + * a Carrier IP address with the network interface. For more information about Carrier IP + * addresses, see Carrier IP addresses in the AWS Wavelength Developer + * Guide.

                            */ - SubnetId?: string; + AssociateCarrierIpAddress?: boolean; /** - *

                            One or more private IPv4 addresses.

                            + *

                            The IPv6 addresses for the network interface.

                            */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + Ipv6Addresses?: InstanceIpv6Address[]; + + /** + *

                            The number of secondary private IPv4 addresses for the network interface.

                            + */ + SecondaryPrivateIpAddressCount?: number; /** *

                            The primary private IPv4 address of the network interface.

                            @@ -475,24 +600,24 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification { PrivateIpAddress?: string; /** - *

                            The device index for the network interface attachment.

                            + *

                            The type of network interface.

                            */ - DeviceIndex?: number; + InterfaceType?: string; /** - *

                            The ID of the network interface.

                            + *

                            One or more private IPv4 addresses.

                            */ - NetworkInterfaceId?: string; + PrivateIpAddresses?: PrivateIpAddressSpecification[]; /** - *

                            Indicates whether the network interface is deleted when the instance is terminated.

                            + *

                            The ID of the subnet for the network interface.

                            */ - DeleteOnTermination?: boolean; + SubnetId?: string; /** - *

                            The IPv6 addresses for the network interface.

                            + *

                            A description for the network interface.

                            */ - Ipv6Addresses?: InstanceIpv6Address[]; + Description?: string; /** *

                            The IDs of one or more security groups.

                            @@ -500,14 +625,9 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification { Groups?: string[]; /** - *

                            The type of network interface.

                            - */ - InterfaceType?: string; - - /** - *

                            The number of secondary private IPv4 addresses for the network interface.

                            + *

                            The number of IPv6 addresses for the network interface.

                            */ - SecondaryPrivateIpAddressCount?: number; + Ipv6AddressCount?: number; } export namespace LaunchTemplateInstanceNetworkInterfaceSpecification { @@ -521,9 +641,9 @@ export namespace LaunchTemplateInstanceNetworkInterfaceSpecification { */ export interface LaunchTemplatePlacement { /** - *

                            The ID of the Dedicated Host for the instance.

                            + *

                            The Availability Zone of the instance.

                            */ - HostId?: string; + AvailabilityZone?: string; /** *

                            Reserved for future use.

                            @@ -531,19 +651,14 @@ export interface LaunchTemplatePlacement { SpreadDomain?: string; /** - *

                            The Availability Zone of the instance.

                            - */ - AvailabilityZone?: string; - - /** - *

                            The name of the placement group for the instance.

                            + *

                            The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

                            */ - GroupName?: string; + Tenancy?: Tenancy | string; /** - *

                            The affinity setting for the instance on the Dedicated Host.

                            + *

                            The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

                            */ - Affinity?: string; + PartitionNumber?: number; /** *

                            The ARN of the host resource group in which to launch the instances. @@ -552,14 +667,19 @@ export interface LaunchTemplatePlacement { HostResourceGroupArn?: string; /** - *

                            The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

                            + *

                            The name of the placement group for the instance.

                            */ - PartitionNumber?: number; + GroupName?: string; /** - *

                            The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

                            + *

                            The ID of the Dedicated Host for the instance.

                            */ - Tenancy?: Tenancy | string; + HostId?: string; + + /** + *

                            The affinity setting for the instance on the Dedicated Host.

                            + */ + Affinity?: string; } export namespace LaunchTemplatePlacement { @@ -573,14 +693,14 @@ export namespace LaunchTemplatePlacement { */ export interface LaunchTemplateTagSpecification { /** - *

                            The type of resource.

                            + *

                            The tags for the resource.

                            */ - ResourceType?: ResourceType | string; + Tags?: Tag[]; /** - *

                            The tags for the resource.

                            + *

                            The type of resource.

                            */ - Tags?: Tag[]; + ResourceType?: ResourceType | string; } export namespace LaunchTemplateTagSpecification { @@ -594,84 +714,81 @@ export namespace LaunchTemplateTagSpecification { */ export interface ResponseLaunchTemplateData { /** - *

                            The user data for the instance.

                            + *

                            Indicates whether an instance stops or terminates when you initiate shutdown from + * the instance (using the operating system command for system shutdown).

                            */ - UserData?: string; + InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; /** - *

                            Information about the Capacity Reservation targeting option.

                            + *

                            The license configurations.

                            */ - CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationResponse; + LicenseSpecifications?: LaunchTemplateLicenseConfiguration[]; /** - *

                            The security group IDs.

                            + *

                            Indicates whether the instance is optimized for Amazon EBS I/O.

                            */ - SecurityGroupIds?: string[]; + EbsOptimized?: boolean; /** - *

                            Indicates whether an instance stops or terminates when you initiate shutdown from - * the instance (using the operating system command for system shutdown).

                            + *

                            The network interfaces.

                            */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; + NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecification[]; /** - *

                            Indicates whether an instance is configured for hibernation. For more information, see - * Hibernate - * Your Instance in the Amazon Elastic Compute Cloud User Guide.

                            + *

                            The security group IDs.

                            */ - HibernationOptions?: LaunchTemplateHibernationOptions; + SecurityGroupIds?: string[]; /** - *

                            The ID of the kernel, if applicable.

                            + *

                            The metadata options for the instance. For more information, see Instance Metadata and User Data in the + * Amazon Elastic Compute Cloud User Guide.

                            */ - KernelId?: string; + MetadataOptions?: LaunchTemplateInstanceMetadataOptions; /** - *

                            The ID of the RAM disk, if applicable.

                            + *

                            The market (purchasing) option for the instances.

                            */ - RamDiskId?: string; + InstanceMarketOptions?: LaunchTemplateInstanceMarketOptions; /** - *

                            If set to true, indicates that the instance cannot be terminated using - * the Amazon EC2 console, command line tool, or API.

                            + *

                            The monitoring for the instance.

                            */ - DisableApiTermination?: boolean; + Monitoring?: LaunchTemplatesMonitoring; /** - *

                            The market (purchasing) option for the instances.

                            + *

                            The placement of the instance.

                            */ - InstanceMarketOptions?: LaunchTemplateInstanceMarketOptions; + Placement?: LaunchTemplatePlacement; /** - *

                            The metadata options for the instance. For more information, see Instance Metadata and User Data in the - * Amazon Elastic Compute Cloud User Guide.

                            + *

                            The security group names.

                            */ - MetadataOptions?: LaunchTemplateInstanceMetadataOptions; + SecurityGroups?: string[]; /** - *

                            The placement of the instance.

                            + *

                            The name of the key pair.

                            */ - Placement?: LaunchTemplatePlacement; + KeyName?: string; /** - *

                            The network interfaces.

                            + *

                            The ID of the kernel, if applicable.

                            */ - NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecification[]; + KernelId?: string; /** - *

                            The security group names.

                            + *

                            The elastic GPU specification.

                            */ - SecurityGroups?: string[]; + ElasticGpuSpecifications?: ElasticGpuSpecificationResponse[]; /** - *

                            The monitoring for the instance.

                            + *

                            The ID of the RAM disk, if applicable.

                            */ - Monitoring?: LaunchTemplatesMonitoring; + RamDiskId?: string; /** - *

                            The ID of the AMI that was used to launch the instance.

                            + *

                            The block device mappings.

                            */ - ImageId?: string; + BlockDeviceMappings?: LaunchTemplateBlockDeviceMapping[]; /** *

                            The tags.

                            @@ -679,51 +796,54 @@ export interface ResponseLaunchTemplateData { TagSpecifications?: LaunchTemplateTagSpecification[]; /** - *

                            The license configurations.

                            + *

                            The instance type.

                            */ - LicenseSpecifications?: LaunchTemplateLicenseConfiguration[]; + InstanceType?: _InstanceType | string; /** - *

                            Indicates whether the instance is optimized for Amazon EBS I/O.

                            + *

                            If set to true, indicates that the instance cannot be terminated using + * the Amazon EC2 console, command line tool, or API.

                            */ - EbsOptimized?: boolean; + DisableApiTermination?: boolean; /** - *

                            The instance type.

                            + *

                            Information about the Capacity Reservation targeting option.

                            */ - InstanceType?: _InstanceType | string; + CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationResponse; /** - *

                            The credit option for CPU usage of the instance.

                            + *

                            + * The elastic inference accelerator for the instance. + *

                            */ - CreditSpecification?: CreditSpecification; + ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAcceleratorResponse[]; /** - *

                            The name of the key pair.

                            + *

                            The user data for the instance.

                            */ - KeyName?: string; + UserData?: string; /** - *

                            The block device mappings.

                            + *

                            The credit option for CPU usage of the instance.

                            */ - BlockDeviceMappings?: LaunchTemplateBlockDeviceMapping[]; + CreditSpecification?: CreditSpecification; /** - *

                            - * The elastic inference accelerator for the instance. - *

                            + *

                            Indicates whether an instance is configured for hibernation. For more information, see + * Hibernate + * Your Instance in the Amazon Elastic Compute Cloud User Guide.

                            */ - ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAcceleratorResponse[]; + HibernationOptions?: LaunchTemplateHibernationOptions; /** - *

                            The IAM instance profile.

                            + *

                            The ID of the AMI that was used to launch the instance.

                            */ - IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecification; + ImageId?: string; /** - *

                            The elastic GPU specification.

                            + *

                            The IAM instance profile.

                            */ - ElasticGpuSpecifications?: ElasticGpuSpecificationResponse[]; + IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecification; /** *

                            The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User @@ -742,30 +862,25 @@ export namespace ResponseLaunchTemplateData { *

                            Describes a launch template version.

                            */ export interface LaunchTemplateVersion { - /** - *

                            The description for the version.

                            - */ - VersionDescription?: string; - /** *

                            The version number.

                            */ VersionNumber?: number; /** - *

                            Indicates whether the version is the default version.

                            + *

                            The name of the launch template.

                            */ - DefaultVersion?: boolean; + LaunchTemplateName?: string; /** - *

                            The ID of the launch template.

                            + *

                            The description for the version.

                            */ - LaunchTemplateId?: string; + VersionDescription?: string; /** - *

                            The time the version was created.

                            + *

                            Information about the launch template.

                            */ - CreateTime?: Date; + LaunchTemplateData?: ResponseLaunchTemplateData; /** *

                            The principal that created the version.

                            @@ -773,14 +888,19 @@ export interface LaunchTemplateVersion { CreatedBy?: string; /** - *

                            Information about the launch template.

                            + *

                            The ID of the launch template.

                            */ - LaunchTemplateData?: ResponseLaunchTemplateData; + LaunchTemplateId?: string; /** - *

                            The name of the launch template.

                            + *

                            Indicates whether the version is the default version.

                            */ - LaunchTemplateName?: string; + DefaultVersion?: boolean; + + /** + *

                            The time the version was created.

                            + */ + CreateTime?: Date; } export namespace LaunchTemplateVersion { @@ -791,14 +911,14 @@ export namespace LaunchTemplateVersion { export interface CreateLaunchTemplateVersionResult { /** - *

                            If the new version of the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

                            + *

                            Information about the launch template version.

                            */ - Warning?: ValidationWarning; + LaunchTemplateVersion?: LaunchTemplateVersion; /** - *

                            Information about the launch template version.

                            + *

                            If the new version of the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

                            */ - LaunchTemplateVersion?: LaunchTemplateVersion; + Warning?: ValidationWarning; } export namespace CreateLaunchTemplateVersionResult { @@ -809,9 +929,10 @@ export namespace CreateLaunchTemplateVersionResult { export interface CreateLocalGatewayRouteRequest { /** - *

                            The ID of the virtual interface group.

                            + *

                            The CIDR range used for destination matches. Routing decisions are based on + * the most specific match.

                            */ - LocalGatewayVirtualInterfaceGroupId: string | undefined; + DestinationCidrBlock: string | undefined; /** *

                            The ID of the local gateway route table.

                            @@ -826,10 +947,9 @@ export interface CreateLocalGatewayRouteRequest { DryRun?: boolean; /** - *

                            The CIDR range used for destination matches. Routing decisions are based on - * the most specific match.

                            + *

                            The ID of the virtual interface group.

                            */ - DestinationCidrBlock: string | undefined; + LocalGatewayVirtualInterfaceGroupId: string | undefined; } export namespace CreateLocalGatewayRouteRequest { @@ -847,9 +967,19 @@ export type LocalGatewayRouteType = "propagated" | "static"; */ export interface LocalGatewayRoute { /** - *

                            The state of the route.

                            + *

                            The ID of the virtual interface group.

                            */ - State?: LocalGatewayRouteState | string; + LocalGatewayVirtualInterfaceGroupId?: string; + + /** + *

                            The CIDR block used for destination matches.

                            + */ + DestinationCidrBlock?: string; + + /** + *

                            The AWS account ID that owns the local gateway route.

                            + */ + OwnerId?: string; /** *

                            The ID of the local gateway route table.

                            @@ -857,19 +987,19 @@ export interface LocalGatewayRoute { LocalGatewayRouteTableId?: string; /** - *

                            The route type.

                            + *

                            The state of the route.

                            */ - Type?: LocalGatewayRouteType | string; + State?: LocalGatewayRouteState | string; /** - *

                            The CIDR block used for destination matches.

                            + *

                            The route type.

                            */ - DestinationCidrBlock?: string; + Type?: LocalGatewayRouteType | string; /** - *

                            The ID of the virtual interface group.

                            + *

                            The Amazon Resource Name (ARN) of the local gateway route table.

                            */ - LocalGatewayVirtualInterfaceGroupId?: string; + LocalGatewayRouteTableArn?: string; } export namespace LocalGatewayRoute { @@ -892,11 +1022,6 @@ export namespace CreateLocalGatewayRouteResult { } export interface CreateLocalGatewayRouteTableVpcAssociationRequest { - /** - *

                            The ID of the VPC.

                            - */ - VpcId: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -905,14 +1030,19 @@ export interface CreateLocalGatewayRouteTableVpcAssociationRequest { DryRun?: boolean; /** - *

                            The ID of the local gateway route table.

                            + *

                            The ID of the VPC.

                            */ - LocalGatewayRouteTableId: string | undefined; + VpcId: string | undefined; /** *

                            The tags to assign to the local gateway route table VPC association.

                            */ TagSpecifications?: TagSpecification[]; + + /** + *

                            The ID of the local gateway route table.

                            + */ + LocalGatewayRouteTableId: string | undefined; } export namespace CreateLocalGatewayRouteTableVpcAssociationRequest { @@ -925,11 +1055,6 @@ export namespace CreateLocalGatewayRouteTableVpcAssociationRequest { *

                            Describes an association between a local gateway route table and a VPC.

                            */ export interface LocalGatewayRouteTableVpcAssociation { - /** - *

                            The ID of the association.

                            - */ - LocalGatewayRouteTableVpcAssociationId?: string; - /** *

                            The ID of the local gateway route table.

                            */ @@ -941,9 +1066,14 @@ export interface LocalGatewayRouteTableVpcAssociation { State?: string; /** - *

                            The ID of the VPC.

                            + *

                            The AWS account ID that owns the local gateway route table for the association.

                            */ - VpcId?: string; + OwnerId?: string; + + /** + *

                            The ID of the association.

                            + */ + LocalGatewayRouteTableVpcAssociationId?: string; /** *

                            The ID of the local gateway.

                            @@ -954,6 +1084,16 @@ export interface LocalGatewayRouteTableVpcAssociation { *

                            The tags assigned to the association.

                            */ Tags?: Tag[]; + + /** + *

                            The Amazon Resource Name (ARN) of the local gateway route table for the association.

                            + */ + LocalGatewayRouteTableArn?: string; + + /** + *

                            The ID of the VPC.

                            + */ + VpcId?: string; } export namespace LocalGatewayRouteTableVpcAssociation { @@ -984,28 +1124,22 @@ export interface CreateManagedPrefixListRequest { AddressFamily: string | undefined; /** - *

                            Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

                            - *

                            Constraints: Up to 255 UTF-8 characters in length.

                            + *

                            One or more entries for the prefix list.

                            */ - ClientToken?: string; + Entries?: AddPrefixListEntry[]; /** - *

                            One or more entries for the prefix list.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - Entries?: AddPrefixListEntry[]; + DryRun?: boolean; /** *

                            The maximum number of entries for the prefix list.

                            */ MaxEntries: number | undefined; - /** - *

                            The tags to apply to the prefix list during creation.

                            - */ - TagSpecifications?: TagSpecification[]; - /** *

                            A name for the prefix list.

                            *

                            Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

                            @@ -1013,11 +1147,17 @@ export interface CreateManagedPrefixListRequest { PrefixListName: string | undefined; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The tags to apply to the prefix list during creation.

                            */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; + + /** + *

                            Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

                            + *

                            Constraints: Up to 255 UTF-8 characters in length.

                            + */ + ClientToken?: string; } export namespace CreateManagedPrefixListRequest { @@ -1044,11 +1184,6 @@ export type PrefixListState = *

                            Describes a managed prefix list.

                            */ export interface ManagedPrefixList { - /** - *

                            The state message.

                            - */ - StateMessage?: string; - /** *

                            The ID of the prefix list.

                            */ @@ -1060,19 +1195,9 @@ export interface ManagedPrefixList { OwnerId?: string; /** - *

                            The name of the prefix list.

                            - */ - PrefixListName?: string; - - /** - *

                            The Amazon Resource Name (ARN) for the prefix list.

                            - */ - PrefixListArn?: string; - - /** - *

                            The maximum number of entries for the prefix list.

                            + *

                            The state of the prefix list.

                            */ - MaxEntries?: number; + State?: PrefixListState | string; /** *

                            The tags for the prefix list.

                            @@ -1090,9 +1215,24 @@ export interface ManagedPrefixList { Version?: number; /** - *

                            The state of the prefix list.

                            + *

                            The Amazon Resource Name (ARN) for the prefix list.

                            */ - State?: PrefixListState | string; + PrefixListArn?: string; + + /** + *

                            The maximum number of entries for the prefix list.

                            + */ + MaxEntries?: number; + + /** + *

                            The state message.

                            + */ + StateMessage?: string; + + /** + *

                            The name of the prefix list.

                            + */ + PrefixListName?: string; } export namespace ManagedPrefixList { @@ -1116,34 +1256,34 @@ export namespace CreateManagedPrefixListResult { export interface CreateNatGatewayRequest { /** - *

                            The allocation ID of an Elastic IP address to associate with the NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

                            + *

                            Constraint: Maximum 64 ASCII characters.

                            */ - AllocationId: string | undefined; + ClientToken?: string; /** - *

                            The tags to assign to the NAT gateway.

                            + *

                            The allocation ID of an Elastic IP address to associate with the NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

                            */ - TagSpecifications?: TagSpecification[]; + AllocationId: string | undefined; /** *

                            The subnet in which to create the NAT gateway.

                            */ SubnetId: string | undefined; + /** + *

                            The tags to assign to the NAT gateway.

                            + */ + TagSpecifications?: TagSpecification[]; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; - - /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency.

                            - *

                            Constraint: Maximum 64 ASCII characters.

                            - */ - ClientToken?: string; } export namespace CreateNatGatewayRequest { @@ -1162,9 +1302,9 @@ export interface NatGatewayAddress { NetworkInterfaceId?: string; /** - *

                            The private IP address associated with the Elastic IP address.

                            + *

                            The allocation ID of the Elastic IP address that's associated with the NAT gateway.

                            */ - PrivateIp?: string; + AllocationId?: string; /** *

                            The Elastic IP address associated with the NAT gateway.

                            @@ -1172,9 +1312,9 @@ export interface NatGatewayAddress { PublicIp?: string; /** - *

                            The allocation ID of the Elastic IP address that's associated with the NAT gateway.

                            + *

                            The private IP address associated with the Elastic IP address.

                            */ - AllocationId?: string; + PrivateIp?: string; } export namespace NatGatewayAddress { @@ -1190,17 +1330,17 @@ export interface ProvisionedBandwidth { /** *

                            Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

                            */ - Requested?: string; + Status?: string; /** *

                            Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

                            */ - RequestTime?: Date; + Provisioned?: string; /** *

                            Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

                            */ - Status?: string; + RequestTime?: Date; /** *

                            Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

                            @@ -1210,7 +1350,7 @@ export interface ProvisionedBandwidth { /** *

                            Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

                            */ - Provisioned?: string; + Requested?: string; } export namespace ProvisionedBandwidth { @@ -1232,9 +1372,9 @@ export enum NatGatewayState { */ export interface NatGateway { /** - *

                            The ID of the VPC in which the NAT gateway is located.

                            + *

                            The tags for the NAT gateway.

                            */ - VpcId?: string; + Tags?: Tag[]; /** *

                            If the NAT gateway could not be created, specifies the error code for the failure. @@ -1245,34 +1385,56 @@ export interface NatGateway { FailureCode?: string; /** - *

                            The tags for the NAT gateway.

                            - */ - Tags?: Tag[]; - - /** - *

                            The ID of the subnet in which the NAT gateway is located.

                            + *

                            The ID of the NAT gateway.

                            */ - SubnetId?: string; + NatGatewayId?: string; /** - *

                            Information about the IP addresses and network interface associated with the NAT gateway.

                            + *

                            The state of the NAT gateway.

                            + *
                              + *
                            • + *

                              + * pending: The NAT gateway is being created and is not ready to process + * traffic.

                              + *
                            • + *
                            • + *

                              + * failed: The NAT gateway could not be created. Check the + * failureCode and failureMessage fields for the reason.

                              + *
                            • + *
                            • + *

                              + * available: The NAT gateway is able to process traffic. This status remains + * until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

                              + *
                            • + *
                            • + *

                              + * deleting: The NAT gateway is in the process of being terminated and may + * still be processing traffic.

                              + *
                            • + *
                            • + *

                              + * deleted: The NAT gateway has been terminated and is no longer processing + * traffic.

                              + *
                            • + *
                            */ - NatGatewayAddresses?: NatGatewayAddress[]; + State?: NatGatewayState | string; /** - *

                            The date and time the NAT gateway was created.

                            + *

                            The ID of the VPC in which the NAT gateway is located.

                            */ - CreateTime?: Date; + VpcId?: string; /** - *

                            The date and time the NAT gateway was deleted, if applicable.

                            + *

                            Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

                            */ - DeleteTime?: Date; + ProvisionedBandwidth?: ProvisionedBandwidth; /** - *

                            The ID of the NAT gateway.

                            + *

                            The date and time the NAT gateway was created.

                            */ - NatGatewayId?: string; + CreateTime?: Date; /** *

                            If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

                            @@ -1300,41 +1462,19 @@ export interface NatGateway { FailureMessage?: string; /** - *

                            The state of the NAT gateway.

                            - *
                              - *
                            • - *

                              - * pending: The NAT gateway is being created and is not ready to process - * traffic.

                              - *
                            • - *
                            • - *

                              - * failed: The NAT gateway could not be created. Check the - * failureCode and failureMessage fields for the reason.

                              - *
                            • - *
                            • - *

                              - * available: The NAT gateway is able to process traffic. This status remains - * until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

                              - *
                            • - *
                            • - *

                              - * deleting: The NAT gateway is in the process of being terminated and may - * still be processing traffic.

                              - *
                            • - *
                            • - *

                              - * deleted: The NAT gateway has been terminated and is no longer processing - * traffic.

                              - *
                            • - *
                            + *

                            Information about the IP addresses and network interface associated with the NAT gateway.

                            */ - State?: NatGatewayState | string; + NatGatewayAddresses?: NatGatewayAddress[]; /** - *

                            Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

                            + *

                            The date and time the NAT gateway was deleted, if applicable.

                            */ - ProvisionedBandwidth?: ProvisionedBandwidth; + DeleteTime?: Date; + + /** + *

                            The ID of the subnet in which the NAT gateway is located.

                            + */ + SubnetId?: string; } export namespace NatGateway { @@ -1362,6 +1502,11 @@ export namespace CreateNatGatewayResult { } export interface CreateNetworkAclRequest { + /** + *

                            The tags to assign to the network ACL.

                            + */ + TagSpecifications?: TagSpecification[]; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1373,11 +1518,6 @@ export interface CreateNetworkAclRequest { *

                            The ID of the VPC.

                            */ VpcId: string | undefined; - - /** - *

                            The tags to assign to the network ACL.

                            - */ - TagSpecifications?: TagSpecification[]; } export namespace CreateNetworkAclRequest { @@ -1391,9 +1531,9 @@ export namespace CreateNetworkAclRequest { */ export interface NetworkAclAssociation { /** - *

                            The ID of the association between a network ACL and a subnet.

                            + *

                            The ID of the network ACL.

                            */ - NetworkAclAssociationId?: string; + NetworkAclId?: string; /** *

                            The ID of the subnet.

                            @@ -1401,9 +1541,9 @@ export interface NetworkAclAssociation { SubnetId?: string; /** - *

                            The ID of the network ACL.

                            + *

                            The ID of the association between a network ACL and a subnet.

                            */ - NetworkAclId?: string; + NetworkAclAssociationId?: string; } export namespace NetworkAclAssociation { @@ -1417,14 +1557,14 @@ export namespace NetworkAclAssociation { */ export interface IcmpTypeCode { /** - *

                            The ICMP type. A value of -1 means all types.

                            + *

                            The ICMP code. A value of -1 means all codes for the specified ICMP type.

                            */ - Type?: number; + Code?: number; /** - *

                            The ICMP code. A value of -1 means all codes for the specified ICMP type.

                            + *

                            The ICMP type. A value of -1 means all types.

                            */ - Code?: number; + Type?: number; } export namespace IcmpTypeCode { @@ -1460,6 +1600,16 @@ export type RuleAction = "allow" | "deny"; *

                            Describes an entry in a network ACL.

                            */ export interface NetworkAclEntry { + /** + *

                            TCP or UDP protocols: The range of ports the rule applies to.

                            + */ + PortRange?: PortRange; + + /** + *

                            Indicates whether to allow or deny the traffic that matches the rule.

                            + */ + RuleAction?: RuleAction | string; + /** *

                            ICMP protocol: The ICMP type and code.

                            */ @@ -1471,34 +1621,24 @@ export interface NetworkAclEntry { Protocol?: string; /** - *

                            Indicates whether to allow or deny the traffic that matches the rule.

                            + *

                            The IPv4 network range to allow or deny, in CIDR notation.

                            */ - RuleAction?: RuleAction | string; + CidrBlock?: string; /** *

                            The rule number for the entry. ACL entries are processed in ascending order by rule number.

                            */ RuleNumber?: number; - /** - *

                            Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

                            - */ - Egress?: boolean; - /** *

                            The IPv6 network range to allow or deny, in CIDR notation.

                            */ Ipv6CidrBlock?: string; /** - *

                            The IPv4 network range to allow or deny, in CIDR notation.

                            - */ - CidrBlock?: string; - - /** - *

                            TCP or UDP protocols: The range of ports the rule applies to.

                            + *

                            Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

                            */ - PortRange?: PortRange; + Egress?: boolean; } export namespace NetworkAclEntry { @@ -1512,29 +1652,29 @@ export namespace NetworkAclEntry { */ export interface NetworkAcl { /** - *

                            Any tags assigned to the network ACL.

                            + *

                            The ID of the AWS account that owns the network ACL.

                            */ - Tags?: Tag[]; + OwnerId?: string; /** - *

                            Indicates whether this is the default network ACL for the VPC.

                            + *

                            One or more entries (rules) in the network ACL.

                            */ - IsDefault?: boolean; + Entries?: NetworkAclEntry[]; /** - *

                            One or more entries (rules) in the network ACL.

                            + *

                            The ID of the VPC for the network ACL.

                            */ - Entries?: NetworkAclEntry[]; + VpcId?: string; /** - *

                            The ID of the AWS account that owns the network ACL.

                            + *

                            Any associations between the network ACL and one or more subnets

                            */ - OwnerId?: string; + Associations?: NetworkAclAssociation[]; /** - *

                            The ID of the VPC for the network ACL.

                            + *

                            Indicates whether this is the default network ACL for the VPC.

                            */ - VpcId?: string; + IsDefault?: boolean; /** *

                            The ID of the network ACL.

                            @@ -1542,9 +1682,9 @@ export interface NetworkAcl { NetworkAclId?: string; /** - *

                            Any associations between the network ACL and one or more subnets

                            + *

                            Any tags assigned to the network ACL.

                            */ - Associations?: NetworkAclAssociation[]; + Tags?: Tag[]; } export namespace NetworkAcl { @@ -1568,66 +1708,66 @@ export namespace CreateNetworkAclResult { export interface CreateNetworkAclEntryRequest { /** - *

                            The IPv4 network range to allow or deny, in CIDR notation (for example - * 172.16.0.0/24). We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

                            + *

                            The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

                            + *

                            Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

                            */ - CidrBlock?: string; + RuleNumber: number | undefined; /** - *

                            TCP or UDP protocols: The range of ports the rule applies to. - * Required if specifying protocol 6 (TCP) or 17 (UDP).

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - PortRange?: PortRange; + DryRun?: boolean; /** - *

                            Indicates whether to allow or deny the traffic that matches the rule.

                            + *

                            The protocol number. A value of "-1" means all protocols. If you specify "-1" or a + * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is + * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify + * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and + * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) + * and specify an IPv6 CIDR block, you must specify an ICMP type and code.

                            */ - RuleAction: RuleAction | string | undefined; + Protocol: string | undefined; /** - *

                            ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol - * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

                            + *

                            Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

                            */ - IcmpTypeCode?: IcmpTypeCode; + Egress: boolean | undefined; /** - *

                            The ID of the network ACL.

                            + *

                            The IPv6 network range to allow or deny, in CIDR notation (for example + * 2001:db8:1234:1a00::/64).

                            */ - NetworkAclId: string | undefined; + Ipv6CidrBlock?: string; /** - *

                            The protocol number. A value of "-1" means all protocols. If you specify "-1" or a - * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is - * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify - * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and - * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) - * and specify an IPv6 CIDR block, you must specify an ICMP type and code.

                            + *

                            The ID of the network ACL.

                            */ - Protocol: string | undefined; + NetworkAclId: string | undefined; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol + * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

                            */ - DryRun?: boolean; + IcmpTypeCode?: IcmpTypeCode; /** - *

                            Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

                            + *

                            Indicates whether to allow or deny the traffic that matches the rule.

                            */ - Egress: boolean | undefined; + RuleAction: RuleAction | string | undefined; /** - *

                            The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

                            - *

                            Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

                            + *

                            TCP or UDP protocols: The range of ports the rule applies to. + * Required if specifying protocol 6 (TCP) or 17 (UDP).

                            */ - RuleNumber: number | undefined; + PortRange?: PortRange; /** - *

                            The IPv6 network range to allow or deny, in CIDR notation (for example - * 2001:db8:1234:1a00::/64).

                            + *

                            The IPv4 network range to allow or deny, in CIDR notation (for example + * 172.16.0.0/24). We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

                            */ - Ipv6CidrBlock?: string; + CidrBlock?: string; } export namespace CreateNetworkAclEntryRequest { @@ -1643,15 +1783,36 @@ export type NetworkInterfaceCreationType = "efa"; */ export interface CreateNetworkInterfaceRequest { /** - *

                            One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. - * You can't use this option if you're specifying a number of IPv6 addresses.

                            + *

                            The IDs of one or more security groups.

                            */ - Ipv6Addresses?: InstanceIpv6Address[]; + Groups?: string[]; /** - *

                            The IDs of one or more security groups.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - Groups?: string[]; + DryRun?: boolean; + + /** + *

                            The primary private IPv4 address of the network interface. If you don't specify an + * IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you + * specify an IP address, you cannot indicate any IP addresses specified in + * privateIpAddresses as primary (only one IP address can be designated as + * primary).

                            + */ + PrivateIpAddress?: string; + + /** + *

                            The number of secondary private IPv4 addresses to assign to a network interface. When + * you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses + * within the subnet's IPv4 CIDR range. You can't specify this option and specify more than + * one private IP address using privateIpAddresses.

                            + *

                            The number of IP addresses you can assign to a network interface varies by instance + * type. For more information, see IP Addresses Per ENI Per + * Instance Type in the Amazon Virtual Private Cloud User Guide.

                            + */ + SecondaryPrivateIpAddressCount?: number; /** *

                            A description for the network interface.

                            @@ -1659,9 +1820,10 @@ export interface CreateNetworkInterfaceRequest { Description?: string; /** - *

                            The ID of the subnet to associate with the network interface.

                            + *

                            One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. + * You can't use this option if you're specifying a number of IPv6 addresses.

                            */ - SubnetId: string | undefined; + Ipv6Addresses?: InstanceIpv6Address[]; /** *

                            One or more private IPv4 addresses.

                            @@ -1669,13 +1831,14 @@ export interface CreateNetworkInterfaceRequest { PrivateIpAddresses?: PrivateIpAddressSpecification[]; /** - *

                            The primary private IPv4 address of the network interface. If you don't specify an - * IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you - * specify an IP address, you cannot indicate any IP addresses specified in - * privateIpAddresses as primary (only one IP address can be designated as - * primary).

                            + *

                            The tags to apply to the new network interface.

                            */ - PrivateIpAddress?: string; + TagSpecifications?: TagSpecification[]; + + /** + *

                            The ID of the subnet to associate with the network interface.

                            + */ + SubnetId: string | undefined; /** *

                            Indicates the type of network interface. To create an Elastic Fabric Adapter (EFA), specify @@ -1691,29 +1854,6 @@ export interface CreateNetworkInterfaceRequest { * to true, you can specify 0 to override this setting.

                            */ Ipv6AddressCount?: number; - - /** - *

                            The tags to apply to the new network interface.

                            - */ - TagSpecifications?: TagSpecification[]; - - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            - */ - DryRun?: boolean; - - /** - *

                            The number of secondary private IPv4 addresses to assign to a network interface. When - * you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses - * within the subnet's IPv4 CIDR range. You can't specify this option and specify more than - * one private IP address using privateIpAddresses.

                            - *

                            The number of IP addresses you can assign to a network interface varies by instance - * type. For more information, see IP Addresses Per ENI Per - * Instance Type in the Amazon Virtual Private Cloud User Guide.

                            - */ - SecondaryPrivateIpAddressCount?: number; } export namespace CreateNetworkInterfaceRequest { @@ -1723,21 +1863,19 @@ export namespace CreateNetworkInterfaceRequest { } /** - *

                            Describes association information for an Elastic IP address (IPv4 only).

                            + *

                            Describes association information for an Elastic IP address (IPv4 only), or a Carrier + * IP address (for a network interface which resides in a subnet in a Wavelength + * Zone).

                            */ export interface NetworkInterfaceAssociation { - /** - *

                            The public DNS name.

                            - */ - PublicDnsName?: string; - /** *

                            The ID of the Elastic IP address owner.

                            */ IpOwnerId?: string; /** - *

                            The address of the Elastic IP address bound to the network interface.

                            + *

                            The address of the Elastic IP address or Carrier IP address bound to the network + * interface.

                            */ PublicIp?: string; @@ -1746,10 +1884,26 @@ export interface NetworkInterfaceAssociation { */ AllocationId?: string; + /** + *

                            The public DNS name.

                            + */ + PublicDnsName?: string; + /** *

                            The association ID.

                            */ AssociationId?: string; + + /** + *

                            The customer-owned IP address associated with the network interface.

                            + */ + CustomerOwnedIp?: string; + + /** + *

                            The carrier IP address associated with the network interface.

                            + *

                            This option is only available when the network interface is in a subnet which is associated with a Wavelength Zone.

                            + */ + CarrierIp?: string; } export namespace NetworkInterfaceAssociation { @@ -1768,9 +1922,14 @@ export interface NetworkInterfaceAttachment { InstanceId?: string; /** - *

                            The ID of the network interface attachment.

                            + *

                            The device index of the network interface attachment on the instance.

                            */ - AttachmentId?: string; + DeviceIndex?: number; + + /** + *

                            Indicates whether the network interface is deleted when the instance is terminated.

                            + */ + DeleteOnTermination?: boolean; /** *

                            The attachment state.

                            @@ -1788,14 +1947,9 @@ export interface NetworkInterfaceAttachment { AttachTime?: Date; /** - *

                            The device index of the network interface attachment on the instance.

                            - */ - DeviceIndex?: number; - - /** - *

                            Indicates whether the network interface is deleted when the instance is terminated.

                            + *

                            The ID of the network interface attachment.

                            */ - DeleteOnTermination?: boolean; + AttachmentId?: string; } export namespace NetworkInterfaceAttachment { @@ -1881,34 +2035,29 @@ export type NetworkInterfaceStatus = "associated" | "attaching" | "available" | */ export interface NetworkInterface { /** - *

                            Any security groups for the network interface.

                            - */ - Groups?: GroupIdentifier[]; - - /** - *

                            Indicates whether the network interface is being managed by AWS.

                            + *

                            The AWS account ID of the owner of the network interface.

                            */ - RequesterManaged?: boolean; + OwnerId?: string; /** - *

                            The association information for an Elastic IP address (IPv4) associated with the network interface.

                            + *

                            A description.

                            */ - Association?: NetworkInterfaceAssociation; + Description?: string; /** - *

                            The ID of the VPC.

                            + *

                            Any tags assigned to the network interface.

                            */ - VpcId?: string; + TagSet?: Tag[]; /** - *

                            The Availability Zone.

                            + *

                            Indicates whether traffic to or from the instance is validated.

                            */ - AvailabilityZone?: string; + SourceDestCheck?: boolean; /** - *

                            The AWS account ID of the owner of the network interface.

                            + *

                            The private IPv4 addresses associated with the network interface.

                            */ - OwnerId?: string; + PrivateIpAddresses?: NetworkInterfacePrivateIpAddress[]; /** *

                            The ID of the subnet.

                            @@ -1916,74 +2065,79 @@ export interface NetworkInterface { SubnetId?: string; /** - *

                            The private IPv4 addresses associated with the network interface.

                            + *

                            The IPv4 address of the network interface within the subnet.

                            */ - PrivateIpAddresses?: NetworkInterfacePrivateIpAddress[]; + PrivateIpAddress?: string; /** - *

                            Indicates whether traffic to or from the instance is validated.

                            + *

                            The ID of the network interface.

                            */ - SourceDestCheck?: boolean; + NetworkInterfaceId?: string; /** - *

                            The type of network interface.

                            + *

                            The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

                            */ - InterfaceType?: NetworkInterfaceType | string; + RequesterId?: string; /** - *

                            A description.

                            + *

                            The IPv6 addresses associated with the network interface.

                            */ - Description?: string; + Ipv6Addresses?: NetworkInterfaceIpv6Address[]; /** - *

                            The IPv4 address of the network interface within the subnet.

                            + *

                            The Amazon Resource Name (ARN) of the Outpost.

                            */ - PrivateIpAddress?: string; + OutpostArn?: string; /** - *

                            The status of the network interface.

                            + *

                            The association information for an Elastic IP address (IPv4) associated with the network interface.

                            */ - Status?: NetworkInterfaceStatus | string; + Association?: NetworkInterfaceAssociation; /** - *

                            The IPv6 addresses associated with the network interface.

                            + *

                            Any security groups for the network interface.

                            */ - Ipv6Addresses?: NetworkInterfaceIpv6Address[]; + Groups?: GroupIdentifier[]; /** - *

                            The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

                            + *

                            The Availability Zone.

                            */ - RequesterId?: string; + AvailabilityZone?: string; /** - *

                            The network interface attachment.

                            + *

                            Indicates whether the network interface is being managed by AWS.

                            */ - Attachment?: NetworkInterfaceAttachment; + RequesterManaged?: boolean; /** - *

                            The private DNS name.

                            + *

                            The type of network interface.

                            */ - PrivateDnsName?: string; + InterfaceType?: NetworkInterfaceType | string; /** - *

                            The ID of the network interface.

                            + *

                            The ID of the VPC.

                            */ - NetworkInterfaceId?: string; + VpcId?: string; /** - *

                            The MAC address.

                            + *

                            The status of the network interface.

                            */ - MacAddress?: string; + Status?: NetworkInterfaceStatus | string; /** - *

                            Any tags assigned to the network interface.

                            + *

                            The private DNS name.

                            */ - TagSet?: Tag[]; + PrivateDnsName?: string; /** - *

                            The Amazon Resource Name (ARN) of the Outpost.

                            + *

                            The MAC address.

                            */ - OutpostArn?: string; + MacAddress?: string; + + /** + *

                            The network interface attachment.

                            + */ + Attachment?: NetworkInterfaceAttachment; } export namespace NetworkInterface { @@ -2014,32 +2168,32 @@ export type InterfacePermissionType = "EIP-ASSOCIATE" | "INSTANCE-ATTACH"; *

                            Contains the parameters for CreateNetworkInterfacePermission.

                            */ export interface CreateNetworkInterfacePermissionRequest { - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            - */ - DryRun?: boolean; - /** *

                            The ID of the network interface.

                            */ NetworkInterfaceId: string | undefined; /** - *

                            The AWS account ID.

                            + *

                            The AWS service. Currently not supported.

                            */ - AwsAccountId?: string; + AwsService?: string; /** - *

                            The AWS service. Currently not supported.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - AwsService?: string; + DryRun?: boolean; /** *

                            The type of permission to grant.

                            */ Permission: InterfacePermissionType | string | undefined; + + /** + *

                            The AWS account ID.

                            + */ + AwsAccountId?: string; } export namespace CreateNetworkInterfacePermissionRequest { @@ -2055,14 +2209,14 @@ export type NetworkInterfacePermissionStateCode = "granted" | "pending" | "revok */ export interface NetworkInterfacePermissionState { /** - *

                            A status message, if applicable.

                            + *

                            The state of the permission.

                            */ - StatusMessage?: string; + State?: NetworkInterfacePermissionStateCode | string; /** - *

                            The state of the permission.

                            + *

                            A status message, if applicable.

                            */ - State?: NetworkInterfacePermissionStateCode | string; + StatusMessage?: string; } export namespace NetworkInterfacePermissionState { @@ -2076,19 +2230,19 @@ export namespace NetworkInterfacePermissionState { */ export interface NetworkInterfacePermission { /** - *

                            The AWS account ID.

                            + *

                            The ID of the network interface permission.

                            */ - AwsAccountId?: string; + NetworkInterfacePermissionId?: string; /** - *

                            The ID of the network interface permission.

                            + *

                            The ID of the network interface.

                            */ - NetworkInterfacePermissionId?: string; + NetworkInterfaceId?: string; /** - *

                            The AWS service.

                            + *

                            The type of permission.

                            */ - AwsService?: string; + Permission?: InterfacePermissionType | string; /** *

                            Information about the state of the permission.

                            @@ -2096,14 +2250,14 @@ export interface NetworkInterfacePermission { PermissionState?: NetworkInterfacePermissionState; /** - *

                            The type of permission.

                            + *

                            The AWS service.

                            */ - Permission?: InterfacePermissionType | string; + AwsService?: string; /** - *

                            The ID of the network interface.

                            + *

                            The AWS account ID.

                            */ - NetworkInterfaceId?: string; + AwsAccountId?: string; } export namespace NetworkInterfacePermission { @@ -2139,27 +2293,27 @@ export interface CreatePlacementGroupRequest { GroupName?: string; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The placement strategy.

                            */ - DryRun?: boolean; + Strategy?: PlacementStrategy | string; /** - *

                            The tags to apply to the new placement group.

                            + *

                            The number of partitions. Valid only when Strategy is + * set to partition.

                            */ - TagSpecifications?: TagSpecification[]; + PartitionCount?: number; /** - *

                            The placement strategy.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - Strategy?: PlacementStrategy | string; + DryRun?: boolean; /** - *

                            The number of partitions. Valid only when Strategy is - * set to partition.

                            + *

                            The tags to apply to the new placement group.

                            */ - PartitionCount?: number; + TagSpecifications?: TagSpecification[]; } export namespace CreatePlacementGroupRequest { @@ -2175,9 +2329,9 @@ export type PlacementGroupState = "available" | "deleted" | "deleting" | "pendin */ export interface PlacementGroup { /** - *

                            The state of the placement group.

                            + *

                            The ID of the placement group.

                            */ - State?: PlacementGroupState | string; + GroupId?: string; /** *

                            The name of the placement group.

                            @@ -2185,10 +2339,9 @@ export interface PlacementGroup { GroupName?: string; /** - *

                            The number of partitions. Valid only if strategy is - * set to partition.

                            + *

                            The placement strategy.

                            */ - PartitionCount?: number; + Strategy?: PlacementStrategy | string; /** *

                            Any tags applied to the placement group.

                            @@ -2196,14 +2349,15 @@ export interface PlacementGroup { Tags?: Tag[]; /** - *

                            The ID of the placement group.

                            + *

                            The number of partitions. Valid only if strategy is + * set to partition.

                            */ - GroupId?: string; + PartitionCount?: number; /** - *

                            The placement strategy.

                            + *

                            The state of the placement group.

                            */ - Strategy?: PlacementStrategy | string; + State?: PlacementGroupState | string; } export namespace PlacementGroup { @@ -2235,15 +2389,15 @@ export interface PriceScheduleSpecification { Term?: number; /** - *

                            The currency for transacting the Reserved Instance resale. - * At this time, the only supported currency is USD.

                            + *

                            The fixed price for the term.

                            */ - CurrencyCode?: CurrencyCodeValues | string; + Price?: number; /** - *

                            The fixed price for the term.

                            + *

                            The currency for transacting the Reserved Instance resale. + * At this time, the only supported currency is USD.

                            */ - Price?: number; + CurrencyCode?: CurrencyCodeValues | string; } export namespace PriceScheduleSpecification { @@ -2256,11 +2410,6 @@ export namespace PriceScheduleSpecification { *

                            Contains the parameters for CreateReservedInstancesListing.

                            */ export interface CreateReservedInstancesListingRequest { - /** - *

                            The ID of the active Standard Reserved Instance.

                            - */ - ReservedInstancesId: string | undefined; - /** *

                            Unique, case-sensitive identifier you provide to ensure idempotency of your * listings. This helps avoid duplicate listings. For more information, see @@ -2269,14 +2418,19 @@ export interface CreateReservedInstancesListingRequest { ClientToken: string | undefined; /** - *

                            A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

                            + *

                            The ID of the active Standard Reserved Instance.

                            */ - PriceSchedules: PriceScheduleSpecification[] | undefined; + ReservedInstancesId: string | undefined; /** *

                            The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

                            */ InstanceCount: number | undefined; + + /** + *

                            A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

                            + */ + PriceSchedules: PriceScheduleSpecification[] | undefined; } export namespace CreateReservedInstancesListingRequest { @@ -2303,19 +2457,14 @@ export namespace CreateReservedInstancesListingResult { export interface CreateRouteRequest { /** - *

                            The ID of a VPC peering connection.

                            - */ - VpcPeeringConnectionId?: string; - - /** - *

                            The ID of a network interface.

                            + *

                            The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

                            */ - NetworkInterfaceId?: string; + DestinationIpv6CidrBlock?: string; /** - *

                            The ID of the local gateway.

                            + *

                            The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.

                            */ - LocalGatewayId?: string; + InstanceId?: string; /** *

                            The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

                            @@ -2328,9 +2477,14 @@ export interface CreateRouteRequest { DestinationPrefixListId?: string; /** - *

                            [IPv6 traffic only] The ID of an egress-only internet gateway.

                            + *

                            [IPv4 traffic only] The ID of a NAT gateway.

                            */ - EgressOnlyInternetGatewayId?: string; + NatGatewayId?: string; + + /** + *

                            The ID of the route table for the route.

                            + */ + RouteTableId: string | undefined; /** *

                            The ID of an internet gateway or virtual private gateway attached to your @@ -2346,29 +2500,35 @@ export interface CreateRouteRequest { DryRun?: boolean; /** - *

                            The ID of the route table for the route.

                            + *

                            The ID of a network interface.

                            */ - RouteTableId: string | undefined; + NetworkInterfaceId?: string; /** - *

                            The ID of a transit gateway.

                            + *

                            The ID of the carrier gateway.

                            + *

                            You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.

                            */ - TransitGatewayId?: string; + CarrierGatewayId?: string; /** - *

                            The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

                            + *

                            [IPv6 traffic only] The ID of an egress-only internet gateway.

                            */ - DestinationIpv6CidrBlock?: string; + EgressOnlyInternetGatewayId?: string; /** - *

                            [IPv4 traffic only] The ID of a NAT gateway.

                            + *

                            The ID of the local gateway.

                            */ - NatGatewayId?: string; + LocalGatewayId?: string; /** - *

                            The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.

                            + *

                            The ID of a VPC peering connection.

                            */ - InstanceId?: string; + VpcPeeringConnectionId?: string; + + /** + *

                            The ID of a transit gateway.

                            + */ + TransitGatewayId?: string; } export namespace CreateRouteRequest { @@ -2391,6 +2551,13 @@ export namespace CreateRouteResult { } export interface CreateRouteTableRequest { + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; + /** *

                            The ID of the VPC.

                            */ @@ -2400,13 +2567,6 @@ export interface CreateRouteTableRequest { *

                            The tags to assign to the route table.

                            */ TagSpecifications?: TagSpecification[]; - - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            - */ - DryRun?: boolean; } export namespace CreateRouteTableRequest { @@ -2420,34 +2580,34 @@ export namespace CreateRouteTableRequest { */ export interface RouteTableAssociation { /** - *

                            The state of the association.

                            + *

                            Indicates whether this is the main route table.

                            */ - AssociationState?: RouteTableAssociationState; + Main?: boolean; /** - *

                            The ID of the subnet. A subnet ID is not returned for an implicit association.

                            + *

                            The ID of the route table.

                            */ - SubnetId?: string; + RouteTableId?: string; /** - *

                            Indicates whether this is the main route table.

                            + *

                            The state of the association.

                            */ - Main?: boolean; + AssociationState?: RouteTableAssociationState; /** - *

                            The ID of the internet gateway or virtual private gateway.

                            + *

                            The ID of the association.

                            */ - GatewayId?: string; + RouteTableAssociationId?: string; /** - *

                            The ID of the route table.

                            + *

                            The ID of the subnet. A subnet ID is not returned for an implicit association.

                            */ - RouteTableId?: string; + SubnetId?: string; /** - *

                            The ID of the association.

                            + *

                            The ID of the internet gateway or virtual private gateway.

                            */ - RouteTableAssociationId?: string; + GatewayId?: string; } export namespace RouteTableAssociation { @@ -2481,26 +2641,19 @@ export type RouteState = "active" | "blackhole"; */ export interface Route { /** - *

                            The ID of the local gateway.

                            - */ - LocalGatewayId?: string; - - /** - *

                            The IPv6 CIDR block used for the destination match.

                            + *

                            The ID of the carrier gateway.

                            */ - DestinationIpv6CidrBlock?: string; + CarrierGatewayId?: string; /** - *

                            The state of the route. The blackhole state indicates that the - * route's target isn't available (for example, the specified gateway isn't attached to the - * VPC, or the specified NAT instance has been terminated).

                            + *

                            The ID of a gateway attached to your VPC.

                            */ - State?: RouteState | string; + GatewayId?: string; /** - *

                            The ID of a transit gateway.

                            + *

                            The prefix of the AWS service.

                            */ - TransitGatewayId?: string; + DestinationPrefixListId?: string; /** *

                            The ID of the egress-only internet gateway.

                            @@ -2508,63 +2661,75 @@ export interface Route { EgressOnlyInternetGatewayId?: string; /** - *

                            Describes how the route was created.

                            - *
                              - *
                            • - *

                              - * CreateRouteTable - The route was automatically created when the route table was created.

                              - *
                            • - *
                            • - *

                              - * CreateRoute - The route was manually added to the route table.

                              - *
                            • - *
                            • - *

                              - * EnableVgwRoutePropagation - The route was propagated by route propagation.

                              - *
                            • - *
                            + *

                            The AWS account ID of the owner of the instance.

                            */ - Origin?: RouteOrigin | string; + InstanceOwnerId?: string; /** - *

                            The IPv4 CIDR block used for the destination match.

                            + *

                            The ID of a NAT gateway.

                            */ - DestinationCidrBlock?: string; + NatGatewayId?: string; /** - *

                            The ID of a gateway attached to your VPC.

                            + *

                            The ID of the local gateway.

                            */ - GatewayId?: string; + LocalGatewayId?: string; /** - *

                            The ID of a VPC peering connection.

                            + *

                            The state of the route. The blackhole state indicates that the + * route's target isn't available (for example, the specified gateway isn't attached to the + * VPC, or the specified NAT instance has been terminated).

                            */ - VpcPeeringConnectionId?: string; + State?: RouteState | string; /** - *

                            The AWS account ID of the owner of the instance.

                            + *

                            The ID of a NAT instance in your VPC.

                            */ - InstanceOwnerId?: string; + InstanceId?: string; /** - *

                            The ID of the network interface.

                            + *

                            The IPv6 CIDR block used for the destination match.

                            */ - NetworkInterfaceId?: string; + DestinationIpv6CidrBlock?: string; /** - *

                            The prefix of the AWS service.

                            + *

                            The IPv4 CIDR block used for the destination match.

                            */ - DestinationPrefixListId?: string; + DestinationCidrBlock?: string; /** - *

                            The ID of a NAT gateway.

                            + *

                            The ID of a transit gateway.

                            */ - NatGatewayId?: string; + TransitGatewayId?: string; /** - *

                            The ID of a NAT instance in your VPC.

                            + *

                            Describes how the route was created.

                            + *
                              + *
                            • + *

                              + * CreateRouteTable - The route was automatically created when the route table was created.

                              + *
                            • + *
                            • + *

                              + * CreateRoute - The route was manually added to the route table.

                              + *
                            • + *
                            • + *

                              + * EnableVgwRoutePropagation - The route was propagated by route propagation.

                              + *
                            • + *
                            */ - InstanceId?: string; + Origin?: RouteOrigin | string; + + /** + *

                            The ID of a VPC peering connection.

                            + */ + VpcPeeringConnectionId?: string; + + /** + *

                            The ID of the network interface.

                            + */ + NetworkInterfaceId?: string; } export namespace Route { @@ -2578,19 +2743,19 @@ export namespace Route { */ export interface RouteTable { /** - *

                            The ID of the VPC.

                            + *

                            The ID of the AWS account that owns the route table.

                            */ - VpcId?: string; + OwnerId?: string; /** - *

                            The ID of the route table.

                            + *

                            Any tags assigned to the route table.

                            */ - RouteTableId?: string; + Tags?: Tag[]; /** - *

                            The associations between the route table and one or more subnets or a gateway.

                            + *

                            Any virtual private gateway (VGW) propagating routes.

                            */ - Associations?: RouteTableAssociation[]; + PropagatingVgws?: PropagatingVgw[]; /** *

                            The routes in the route table.

                            @@ -2598,19 +2763,19 @@ export interface RouteTable { Routes?: Route[]; /** - *

                            Any tags assigned to the route table.

                            + *

                            The associations between the route table and one or more subnets or a gateway.

                            */ - Tags?: Tag[]; + Associations?: RouteTableAssociation[]; /** - *

                            Any virtual private gateway (VGW) propagating routes.

                            + *

                            The ID of the route table.

                            */ - PropagatingVgws?: PropagatingVgw[]; + RouteTableId?: string; /** - *

                            The ID of the AWS account that owns the route table.

                            + *

                            The ID of the VPC.

                            */ - OwnerId?: string; + VpcId?: string; } export namespace RouteTable { @@ -2634,17 +2799,11 @@ export namespace CreateRouteTableResult { export interface CreateSecurityGroupRequest { /** - *

                            The tags to assign to the security group.

                            - */ - TagSpecifications?: TagSpecification[]; - - /** - *

                            A description for the security group. This is informational only.

                            - *

                            Constraints: Up to 255 characters in length

                            - *

                            Constraints for EC2-Classic: ASCII characters

                            - *

                            Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - Description: string | undefined; + DryRun?: boolean; /** *

                            The name of the security group.

                            @@ -2661,11 +2820,17 @@ export interface CreateSecurityGroupRequest { VpcId?: string; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            A description for the security group. This is informational only.

                            + *

                            Constraints: Up to 255 characters in length

                            + *

                            Constraints for EC2-Classic: ASCII characters

                            + *

                            Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

                            */ - DryRun?: boolean; + Description: string | undefined; + + /** + *

                            The tags to assign to the security group.

                            + */ + TagSpecifications?: TagSpecification[]; } export namespace CreateSecurityGroupRequest { @@ -2676,14 +2841,14 @@ export namespace CreateSecurityGroupRequest { export interface CreateSecurityGroupResult { /** - *

                            The ID of the security group.

                            + *

                            The tags assigned to the security group.

                            */ - GroupId?: string; + Tags?: Tag[]; /** - *

                            The tags assigned to the security group.

                            + *

                            The ID of the security group.

                            */ - Tags?: Tag[]; + GroupId?: string; } export namespace CreateSecurityGroupResult { @@ -2693,11 +2858,6 @@ export namespace CreateSecurityGroupResult { } export interface CreateSnapshotRequest { - /** - *

                            A description for the snapshot.

                            - */ - Description?: string; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -2714,6 +2874,11 @@ export interface CreateSnapshotRequest { *

                            The ID of the EBS volume.

                            */ VolumeId: string | undefined; + + /** + *

                            A description for the snapshot.

                            + */ + Description?: string; } export namespace CreateSnapshotRequest { @@ -2729,33 +2894,28 @@ export type SnapshotState = "completed" | "error" | "pending"; */ export interface Snapshot { /** - *

                            The AWS account ID of the EBS snapshot owner.

                            - */ - OwnerId?: string; - - /** - *

                            The size of the volume, in GiB.

                            + *

                            The time stamp when the snapshot was initiated.

                            */ - VolumeSize?: number; + StartTime?: Date; /** - *

                            The AWS owner alias, as maintained by Amazon. The possible values are: amazon | self | - * all | aws-marketplace | microsoft. This AWS owner alias is not to be - * confused with the user-configured AWS account alias, which is set from the IAM console.

                            + *

                            The snapshot state.

                            */ - OwnerAlias?: string; + State?: SnapshotState | string; /** - *

                            The ID of the snapshot. Each snapshot receives a unique identifier when it is - * created.

                            + *

                            Indicates whether the snapshot is encrypted.

                            */ - SnapshotId?: string; + Encrypted?: boolean; /** - *

                            The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any - * purpose.

                            + *

                            The data encryption key identifier for the snapshot. This value is a unique identifier + * that corresponds to the data encryption key that was used to encrypt the original volume or + * snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, + * and vice versa, if snapshots share the same data encryption key identifier, then they belong + * to the same volume/snapshot lineage. This parameter is only returned by DescribeSnapshots.

                            */ - VolumeId?: string; + DataEncryptionKeyId?: string; /** *

                            Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails @@ -2766,28 +2926,30 @@ export interface Snapshot { StateMessage?: string; /** - *

                            Indicates whether the snapshot is encrypted.

                            + *

                            The description for the snapshot.

                            */ - Encrypted?: boolean; + Description?: string; /** - *

                            Any tags assigned to the snapshot.

                            + *

                            The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any + * purpose.

                            */ - Tags?: Tag[]; + VolumeId?: string; /** - *

                            The data encryption key identifier for the snapshot. This value is a unique identifier - * that corresponds to the data encryption key that was used to encrypt the original volume or - * snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, - * and vice versa, if snapshots share the same data encryption key identifier, then they belong - * to the same volume/snapshot lineage. This parameter is only returned by DescribeSnapshots.

                            + *

                            The progress of the snapshot, as a percentage.

                            */ - DataEncryptionKeyId?: string; + Progress?: string; /** - *

                            The progress of the snapshot, as a percentage.

                            + *

                            The AWS account ID of the EBS snapshot owner.

                            */ - Progress?: string; + OwnerId?: string; + + /** + *

                            The size of the volume, in GiB.

                            + */ + VolumeSize?: number; /** *

                            The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the @@ -2796,19 +2958,22 @@ export interface Snapshot { KmsKeyId?: string; /** - *

                            The description for the snapshot.

                            + *

                            The AWS owner alias, as maintained by Amazon. The possible values are: amazon | self | + * all | aws-marketplace | microsoft. This AWS owner alias is not to be + * confused with the user-configured AWS account alias, which is set from the IAM console.

                            */ - Description?: string; + OwnerAlias?: string; /** - *

                            The snapshot state.

                            + *

                            Any tags assigned to the snapshot.

                            */ - State?: SnapshotState | string; + Tags?: Tag[]; /** - *

                            The time stamp when the snapshot was initiated.

                            + *

                            The ID of the snapshot. Each snapshot receives a unique identifier when it is + * created.

                            */ - StartTime?: Date; + SnapshotId?: string; } export namespace Snapshot { @@ -2824,14 +2989,14 @@ export type CopyTagsFromSource = "volume"; */ export interface InstanceSpecification { /** - *

                            The instance to specify which volumes should be snapshotted.

                            + *

                            Excludes the root volume from being snapshotted.

                            */ - InstanceId?: string; + ExcludeBootVolume?: boolean; /** - *

                            Excludes the root volume from being snapshotted.

                            + *

                            The instance to specify which volumes should be snapshotted.

                            */ - ExcludeBootVolume?: boolean; + InstanceId?: string; } export namespace InstanceSpecification { @@ -2841,6 +3006,11 @@ export namespace InstanceSpecification { } export interface CreateSnapshotsRequest { + /** + *

                            A description propagated to every snapshot specified by the instance.

                            + */ + Description?: string; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -2848,11 +3018,6 @@ export interface CreateSnapshotsRequest { */ DryRun?: boolean; - /** - *

                            Copies the tags from the specified volume to corresponding snapshot.

                            - */ - CopyTagsFromSource?: CopyTagsFromSource | string; - /** *

                            Tags to apply to every snapshot specified by the instance.

                            */ @@ -2864,9 +3029,9 @@ export interface CreateSnapshotsRequest { InstanceSpecification: InstanceSpecification | undefined; /** - *

                            A description propagated to every snapshot specified by the instance.

                            + *

                            Copies the tags from the specified volume to corresponding snapshot.

                            */ - Description?: string; + CopyTagsFromSource?: CopyTagsFromSource | string; } export namespace CreateSnapshotsRequest { @@ -2880,35 +3045,41 @@ export namespace CreateSnapshotsRequest { */ export interface SnapshotInfo { /** - *

                            Description specified by the CreateSnapshotRequest that has been applied to all - * snapshots.

                            + *

                            Progress this snapshot has made towards completing.

                            */ - Description?: string; + Progress?: string; /** - *

                            Indicates whether the snapshot is encrypted.

                            + *

                            Time this snapshot was started. This is the same for all snapshots initiated by the + * same request.

                            */ - Encrypted?: boolean; + StartTime?: Date; /** - *

                            Source volume from which this snapshot was created.

                            + *

                            Current state of the snapshot.

                            */ - VolumeId?: string; + State?: SnapshotState | string; /** - *

                            Snapshot id that can be used to describe this snapshot.

                            + *

                            Description specified by the CreateSnapshotRequest that has been applied to all + * snapshots.

                            */ - SnapshotId?: string; + Description?: string; /** - *

                            Current state of the snapshot.

                            + *

                            Source volume from which this snapshot was created.

                            */ - State?: SnapshotState | string; + VolumeId?: string; /** - *

                            Progress this snapshot has made towards completing.

                            + *

                            Indicates whether the snapshot is encrypted.

                            */ - Progress?: string; + Encrypted?: boolean; + + /** + *

                            Snapshot id that can be used to describe this snapshot.

                            + */ + SnapshotId?: string; /** *

                            Account id used when creating this snapshot.

                            @@ -2924,12 +3095,6 @@ export interface SnapshotInfo { *

                            Tags associated with this snapshot.

                            */ Tags?: Tag[]; - - /** - *

                            Time this snapshot was started. This is the same for all snapshots initiated by the - * same request.

                            - */ - StartTime?: Date; } export namespace SnapshotInfo { @@ -2956,9 +3121,11 @@ export namespace CreateSnapshotsResult { */ export interface CreateSpotDatafeedSubscriptionRequest { /** - *

                            A prefix for the data feed file names.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - Prefix?: string; + DryRun?: boolean; /** *

                            The Amazon S3 bucket in which to store the Spot Instance data feed.

                            @@ -2966,11 +3133,9 @@ export interface CreateSpotDatafeedSubscriptionRequest { Bucket: string | undefined; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            A prefix for the data feed file names.

                            */ - DryRun?: boolean; + Prefix?: string; } export namespace CreateSpotDatafeedSubscriptionRequest { @@ -2984,14 +3149,14 @@ export namespace CreateSpotDatafeedSubscriptionRequest { */ export interface SpotInstanceStateFault { /** - *

                            The message for the Spot Instance state change.

                            + *

                            The reason code for the Spot Instance state change.

                            */ - Message?: string; + Code?: string; /** - *

                            The reason code for the Spot Instance state change.

                            + *

                            The message for the Spot Instance state change.

                            */ - Code?: string; + Message?: string; } export namespace SpotInstanceStateFault { @@ -3011,6 +3176,11 @@ export interface SpotDatafeedSubscription { */ Prefix?: string; + /** + *

                            The Amazon S3 bucket where the Spot Instance data feed is located.

                            + */ + Bucket?: string; + /** *

                            The AWS account ID of the account.

                            */ @@ -3025,11 +3195,6 @@ export interface SpotDatafeedSubscription { *

                            The state of the Spot Instance data feed subscription.

                            */ State?: DatafeedSubscriptionState | string; - - /** - *

                            The Amazon S3 bucket where the Spot Instance data feed is located.

                            - */ - Bucket?: string; } export namespace SpotDatafeedSubscription { @@ -3056,20 +3221,26 @@ export namespace CreateSpotDatafeedSubscriptionResult { export interface CreateSubnetRequest { /** - *

                            The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a - * /64 prefix length.

                            + *

                            The AZ ID or the Local Zone ID of the subnet.

                            */ - Ipv6CidrBlock?: string; + AvailabilityZoneId?: string; /** - *

                            The ID of the VPC.

                            + *

                            The Availability Zone or Local Zone for the subnet.

                            + *

                            Default: AWS selects one for you. If you create more than one subnet in your VPC, we + * do not necessarily select a different zone for each subnet.

                            + *

                            To create a subnet in a Local Zone, set this value to the Local Zone ID, for example + * us-west-2-lax-1a. For information about the Regions that support Local Zones, + * see Available Regions in the Amazon Elastic Compute Cloud User Guide.

                            + *

                            To create a subnet in an Outpost, set this value to the Availability Zone for the + * Outpost and specify the Outpost ARN.

                            */ - VpcId: string | undefined; + AvailabilityZone?: string; /** - *

                            The AZ ID or the Local Zone ID of the subnet.

                            + *

                            The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

                            */ - AvailabilityZoneId?: string; + CidrBlock: string | undefined; /** *

                            The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also @@ -3078,26 +3249,15 @@ export interface CreateSubnetRequest { OutpostArn?: string; /** - *

                            The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

                            - */ - CidrBlock: string | undefined; - - /** - *

                            The Availability Zone or Local Zone for the subnet.

                            - *

                            Default: AWS selects one for you. If you create more than one subnet in your VPC, we - * do not necessarily select a different zone for each subnet.

                            - *

                            To create a subnet in a Local Zone, set this value to the Local Zone ID, for example - * us-west-2-lax-1a. For information about the Regions that support Local Zones, - * see Available Regions in the Amazon Elastic Compute Cloud User Guide.

                            - *

                            To create a subnet in an Outpost, set this value to the Availability Zone for the - * Outpost and specify the Outpost ARN.

                            + *

                            The ID of the VPC.

                            */ - AvailabilityZone?: string; + VpcId: string | undefined; /** - *

                            The tags to assign to the subnet.

                            + *

                            The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a + * /64 prefix length.

                            */ - TagSpecifications?: TagSpecification[]; + Ipv6CidrBlock?: string; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -3105,6 +3265,11 @@ export interface CreateSubnetRequest { * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The tags to assign to the subnet.

                            + */ + TagSpecifications?: TagSpecification[]; } export namespace CreateSubnetRequest { @@ -3133,18 +3298,18 @@ export interface CreateTagsRequest { */ Resources: string[] | undefined; - /** - *

                            The tags. The value parameter is required, but if you don't want the tag to have a value, - * specify the parameter with no value, and we set the value to an empty string.

                            - */ - Tags: Tag[] | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The tags. The value parameter is required, but if you don't want the tag to have a value, + * specify the parameter with no value, and we set the value to an empty string.

                            + */ + Tags: Tag[] | undefined; } export namespace CreateTagsRequest { @@ -3155,11 +3320,9 @@ export namespace CreateTagsRequest { export interface CreateTrafficMirrorFilterRequest { /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The tags to assign to a Traffic Mirror filter.

                            */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; /** *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            @@ -3172,9 +3335,11 @@ export interface CreateTrafficMirrorFilterRequest { Description?: string; /** - *

                            The tags to assign to a Traffic Mirror filter.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - TagSpecifications?: TagSpecification[]; + DryRun?: boolean; } export namespace CreateTrafficMirrorFilterRequest { @@ -3213,9 +3378,9 @@ export type TrafficDirection = "egress" | "ingress"; */ export interface TrafficMirrorFilterRule { /** - *

                            The source port range assigned to the Traffic Mirror rule.

                            + *

                            The ID of the Traffic Mirror rule.

                            */ - SourcePortRange?: TrafficMirrorPortRange; + TrafficMirrorFilterRuleId?: string; /** *

                            The destination port range assigned to the Traffic Mirror rule.

                            @@ -3223,49 +3388,49 @@ export interface TrafficMirrorFilterRule { DestinationPortRange?: TrafficMirrorPortRange; /** - *

                            The action assigned to the Traffic Mirror rule.

                            + *

                            The rule number of the Traffic Mirror rule.

                            */ - RuleAction?: TrafficMirrorRuleAction | string; + RuleNumber?: number; /** - *

                            The destination CIDR block assigned to the Traffic Mirror rule.

                            + *

                            The description of the Traffic Mirror rule.

                            */ - DestinationCidrBlock?: string; + Description?: string; /** - *

                            The ID of the Traffic Mirror filter that the rule is associated with.

                            + *

                            The traffic direction assigned to the Traffic Mirror rule.

                            */ - TrafficMirrorFilterId?: string; + TrafficDirection?: TrafficDirection | string; /** - *

                            The protocol assigned to the Traffic Mirror rule.

                            + *

                            The action assigned to the Traffic Mirror rule.

                            */ - Protocol?: number; + RuleAction?: TrafficMirrorRuleAction | string; /** - *

                            The source CIDR block assigned to the Traffic Mirror rule.

                            + *

                            The protocol assigned to the Traffic Mirror rule.

                            */ - SourceCidrBlock?: string; + Protocol?: number; /** - *

                            The rule number of the Traffic Mirror rule.

                            + *

                            The source port range assigned to the Traffic Mirror rule.

                            */ - RuleNumber?: number; + SourcePortRange?: TrafficMirrorPortRange; /** - *

                            The description of the Traffic Mirror rule.

                            + *

                            The ID of the Traffic Mirror filter that the rule is associated with.

                            */ - Description?: string; + TrafficMirrorFilterId?: string; /** - *

                            The ID of the Traffic Mirror rule.

                            + *

                            The source CIDR block assigned to the Traffic Mirror rule.

                            */ - TrafficMirrorFilterRuleId?: string; + SourceCidrBlock?: string; /** - *

                            The traffic direction assigned to the Traffic Mirror rule.

                            + *

                            The destination CIDR block assigned to the Traffic Mirror rule.

                            */ - TrafficDirection?: TrafficDirection | string; + DestinationCidrBlock?: string; } export namespace TrafficMirrorFilterRule { @@ -3281,34 +3446,34 @@ export type TrafficMirrorNetworkService = "amazon-dns"; */ export interface TrafficMirrorFilter { /** - *

                            The network service traffic that is associated with the Traffic Mirror filter.

                            + *

                            The ID of the Traffic Mirror filter.

                            */ - NetworkServices?: (TrafficMirrorNetworkService | string)[]; + TrafficMirrorFilterId?: string; /** - *

                            Information about the egress rules that are associated with the Traffic Mirror filter.

                            + *

                            The network service traffic that is associated with the Traffic Mirror filter.

                            */ - EgressFilterRules?: TrafficMirrorFilterRule[]; + NetworkServices?: (TrafficMirrorNetworkService | string)[]; /** - *

                            Information about the ingress rules that are associated with the Traffic Mirror filter.

                            + *

                            The tags assigned to the Traffic Mirror filter.

                            */ - IngressFilterRules?: TrafficMirrorFilterRule[]; + Tags?: Tag[]; /** - *

                            The ID of the Traffic Mirror filter.

                            + *

                            The description of the Traffic Mirror filter.

                            */ - TrafficMirrorFilterId?: string; + Description?: string; /** - *

                            The description of the Traffic Mirror filter.

                            + *

                            Information about the ingress rules that are associated with the Traffic Mirror filter.

                            */ - Description?: string; + IngressFilterRules?: TrafficMirrorFilterRule[]; /** - *

                            The tags assigned to the Traffic Mirror filter.

                            + *

                            Information about the egress rules that are associated with the Traffic Mirror filter.

                            */ - Tags?: Tag[]; + EgressFilterRules?: TrafficMirrorFilterRule[]; } export namespace TrafficMirrorFilter { @@ -3319,14 +3484,14 @@ export namespace TrafficMirrorFilter { export interface CreateTrafficMirrorFilterResult { /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            + *

                            Information about the Traffic Mirror filter.

                            */ - ClientToken?: string; + TrafficMirrorFilter?: TrafficMirrorFilter; /** - *

                            Information about the Traffic Mirror filter.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            */ - TrafficMirrorFilter?: TrafficMirrorFilter; + ClientToken?: string; } export namespace CreateTrafficMirrorFilterResult { @@ -3358,16 +3523,19 @@ export namespace TrafficMirrorPortRangeRequest { export interface CreateTrafficMirrorFilterRuleRequest { /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The destination CIDR block to assign to the Traffic Mirror rule.

                            */ - DryRun?: boolean; + DestinationCidrBlock: string | undefined; /** - *

                            The source CIDR block to assign to the Traffic Mirror rule.

                            + *

                            The ID of the filter that this rule is associated with.

                            */ - SourceCidrBlock: string | undefined; + TrafficMirrorFilterId: string | undefined; + + /** + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            + */ + ClientToken?: string; /** *

                            The action to take (accept | reject) on the filtered traffic.

                            @@ -3375,25 +3543,26 @@ export interface CreateTrafficMirrorFilterRuleRequest { RuleAction: TrafficMirrorRuleAction | string | undefined; /** - *

                            The protocol, for example UDP, to assign to the Traffic Mirror rule.

                            - *

                            For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

                            + *

                            The source port range.

                            */ - Protocol?: number; + SourcePortRange?: TrafficMirrorPortRangeRequest; /** - *

                            The destination CIDR block to assign to the Traffic Mirror rule.

                            + *

                            The source CIDR block to assign to the Traffic Mirror rule.

                            */ - DestinationCidrBlock: string | undefined; + SourceCidrBlock: string | undefined; /** - *

                            The description of the Traffic Mirror rule.

                            + *

                            The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given + * direction. The rules are processed in ascending order by rule number.

                            */ - Description?: string; + RuleNumber: number | undefined; /** - *

                            The destination port range.

                            + *

                            The protocol, for example UDP, to assign to the Traffic Mirror rule.

                            + *

                            For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

                            */ - DestinationPortRange?: TrafficMirrorPortRangeRequest; + Protocol?: number; /** *

                            The type of traffic (ingress | egress).

                            @@ -3401,25 +3570,21 @@ export interface CreateTrafficMirrorFilterRuleRequest { TrafficDirection: TrafficDirection | string | undefined; /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            - */ - ClientToken?: string; - - /** - *

                            The source port range.

                            + *

                            The destination port range.

                            */ - SourcePortRange?: TrafficMirrorPortRangeRequest; + DestinationPortRange?: TrafficMirrorPortRangeRequest; /** - *

                            The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given - * direction. The rules are processed in ascending order by rule number.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - RuleNumber: number | undefined; + DryRun?: boolean; /** - *

                            The ID of the filter that this rule is associated with.

                            + *

                            The description of the Traffic Mirror rule.

                            */ - TrafficMirrorFilterId: string | undefined; + Description?: string; } export namespace CreateTrafficMirrorFilterRuleRequest { @@ -3448,9 +3613,9 @@ export namespace CreateTrafficMirrorFilterRuleResult { export interface CreateTrafficMirrorSessionRequest { /** - *

                            The description of the Traffic Mirror session.

                            + *

                            The ID of the Traffic Mirror target.

                            */ - Description?: string; + TrafficMirrorTargetId: string | undefined; /** *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            @@ -3458,14 +3623,14 @@ export interface CreateTrafficMirrorSessionRequest { ClientToken?: string; /** - *

                            The ID of the source network interface.

                            + *

                            The ID of the Traffic Mirror filter.

                            */ - NetworkInterfaceId: string | undefined; + TrafficMirrorFilterId: string | undefined; /** - *

                            The tags to assign to a Traffic Mirror session.

                            + *

                            The ID of the source network interface.

                            */ - TagSpecifications?: TagSpecification[]; + NetworkInterfaceId: string | undefined; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -3475,12 +3640,9 @@ export interface CreateTrafficMirrorSessionRequest { DryRun?: boolean; /** - *

                            The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN - * protocol, see RFC 7348. If you do - * not specify a VirtualNetworkId, an account-wide unique id is chosen at - * random.

                            + *

                            The tags to assign to a Traffic Mirror session.

                            */ - VirtualNetworkId?: number; + TagSpecifications?: TagSpecification[]; /** *

                            The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do @@ -3493,20 +3655,23 @@ export interface CreateTrafficMirrorSessionRequest { PacketLength?: number; /** - *

                            The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

                            - *

                            Valid values are 1-32766.

                            + *

                            The description of the Traffic Mirror session.

                            */ - SessionNumber: number | undefined; + Description?: string; /** - *

                            The ID of the Traffic Mirror target.

                            + *

                            The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN + * protocol, see RFC 7348. If you do + * not specify a VirtualNetworkId, an account-wide unique id is chosen at + * random.

                            */ - TrafficMirrorTargetId: string | undefined; + VirtualNetworkId?: number; /** - *

                            The ID of the Traffic Mirror filter.

                            + *

                            The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

                            + *

                            Valid values are 1-32766.

                            */ - TrafficMirrorFilterId: string | undefined; + SessionNumber: number | undefined; } export namespace CreateTrafficMirrorSessionRequest { @@ -3520,9 +3685,9 @@ export namespace CreateTrafficMirrorSessionRequest { */ export interface TrafficMirrorSession { /** - *

                            The ID of the Traffic Mirror target.

                            + *

                            The virtual network ID associated with the Traffic Mirror session.

                            */ - TrafficMirrorTargetId?: string; + VirtualNetworkId?: number; /** *

                            The tags assigned to the Traffic Mirror session.

                            @@ -3530,45 +3695,45 @@ export interface TrafficMirrorSession { Tags?: Tag[]; /** - *

                            The ID of the Traffic Mirror filter.

                            + *

                            The number of bytes in each packet to mirror. These are the bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet

                            */ - TrafficMirrorFilterId?: string; + PacketLength?: number; /** - *

                            The virtual network ID associated with the Traffic Mirror session.

                            + *

                            The ID of the Traffic Mirror session's network interface.

                            */ - VirtualNetworkId?: number; + NetworkInterfaceId?: string; /** - *

                            The description of the Traffic Mirror session.

                            + *

                            The ID for the Traffic Mirror session.

                            */ - Description?: string; + TrafficMirrorSessionId?: string; /** - *

                            The ID of the account that owns the Traffic Mirror session.

                            + *

                            The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

                            + *

                            Valid values are 1-32766.

                            */ - OwnerId?: string; + SessionNumber?: number; /** - *

                            The ID of the Traffic Mirror session's network interface.

                            + *

                            The ID of the Traffic Mirror filter.

                            */ - NetworkInterfaceId?: string; + TrafficMirrorFilterId?: string; /** - *

                            The ID for the Traffic Mirror session.

                            + *

                            The ID of the account that owns the Traffic Mirror session.

                            */ - TrafficMirrorSessionId?: string; + OwnerId?: string; /** - *

                            The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

                            - *

                            Valid values are 1-32766.

                            + *

                            The ID of the Traffic Mirror target.

                            */ - SessionNumber?: number; + TrafficMirrorTargetId?: string; /** - *

                            The number of bytes in each packet to mirror. These are the bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet

                            + *

                            The description of the Traffic Mirror session.

                            */ - PacketLength?: number; + Description?: string; } export namespace TrafficMirrorSession { @@ -3579,14 +3744,14 @@ export namespace TrafficMirrorSession { export interface CreateTrafficMirrorSessionResult { /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            + *

                            Information about the Traffic Mirror session.

                            */ - ClientToken?: string; + TrafficMirrorSession?: TrafficMirrorSession; /** - *

                            Information about the Traffic Mirror session.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            */ - TrafficMirrorSession?: TrafficMirrorSession; + ClientToken?: string; } export namespace CreateTrafficMirrorSessionResult { @@ -3602,11 +3767,9 @@ export interface CreateTrafficMirrorTargetRequest { NetworkLoadBalancerArn?: string; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The network interface ID that is associated with the target.

                            */ - DryRun?: boolean; + NetworkInterfaceId?: string; /** *

                            The description of the Traffic Mirror target.

                            @@ -3614,19 +3777,21 @@ export interface CreateTrafficMirrorTargetRequest { Description?: string; /** - *

                            The tags to assign to the Traffic Mirror target.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            */ - TagSpecifications?: TagSpecification[]; + ClientToken?: string; /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - ClientToken?: string; + DryRun?: boolean; /** - *

                            The network interface ID that is associated with the target.

                            + *

                            The tags to assign to the Traffic Mirror target.

                            */ - NetworkInterfaceId?: string; + TagSpecifications?: TagSpecification[]; } export namespace CreateTrafficMirrorTargetRequest { @@ -3642,29 +3807,29 @@ export type TrafficMirrorTargetType = "network-interface" | "network-load-balanc */ export interface TrafficMirrorTarget { /** - *

                            The network interface ID that is attached to the target.

                            + *

                            The tags assigned to the Traffic Mirror target.

                            */ - NetworkInterfaceId?: string; + Tags?: Tag[]; /** - *

                            The ID of the account that owns the Traffic Mirror target.

                            + *

                            The type of Traffic Mirror target.

                            */ - OwnerId?: string; + Type?: TrafficMirrorTargetType | string; /** - *

                            The type of Traffic Mirror target.

                            + *

                            Information about the Traffic Mirror target.

                            */ - Type?: TrafficMirrorTargetType | string; + Description?: string; /** - *

                            The tags assigned to the Traffic Mirror target.

                            + *

                            The ID of the account that owns the Traffic Mirror target.

                            */ - Tags?: Tag[]; + OwnerId?: string; /** - *

                            The ID of the Traffic Mirror target.

                            + *

                            The network interface ID that is attached to the target.

                            */ - TrafficMirrorTargetId?: string; + NetworkInterfaceId?: string; /** *

                            The Amazon Resource Name (ARN) of the Network Load Balancer.

                            @@ -3672,9 +3837,9 @@ export interface TrafficMirrorTarget { NetworkLoadBalancerArn?: string; /** - *

                            Information about the Traffic Mirror target.

                            + *

                            The ID of the Traffic Mirror target.

                            */ - Description?: string; + TrafficMirrorTargetId?: string; } export namespace TrafficMirrorTarget { @@ -3685,14 +3850,14 @@ export namespace TrafficMirrorTarget { export interface CreateTrafficMirrorTargetResult { /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            + *

                            Information about the Traffic Mirror target.

                            */ - ClientToken?: string; + TrafficMirrorTarget?: TrafficMirrorTarget; /** - *

                            Information about the Traffic Mirror target.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                            */ - TrafficMirrorTarget?: TrafficMirrorTarget; + ClientToken?: string; } export namespace CreateTrafficMirrorTargetResult { @@ -3715,11 +3880,6 @@ export type VpnEcmpSupportValue = "disable" | "enable"; *

                            Describes the options for a transit gateway.

                            */ export interface TransitGatewayRequestOptions { - /** - *

                            Enable or disable automatic association with the default association route table. Enabled by default.

                            - */ - DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; - /** *

                            Indicates whether multicast is enabled on the transit gateway

                            */ @@ -3730,26 +3890,31 @@ export interface TransitGatewayRequestOptions { */ DnsSupport?: DnsSupportValue | string; + /** + *

                            Enable or disable Equal Cost Multipath Protocol support. Enabled by default.

                            + */ + VpnEcmpSupport?: VpnEcmpSupportValue | string; + /** *

                            Enable or disable automatic acceptance of attachment requests. Disabled by default.

                            */ AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; /** - *

                            Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.

                            + *

                            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. + * The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The default is 64512.

                            */ - DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; + AmazonSideAsn?: number; /** - *

                            Enable or disable Equal Cost Multipath Protocol support. Enabled by default.

                            + *

                            Enable or disable automatic association with the default association route table. Enabled by default.

                            */ - VpnEcmpSupport?: VpnEcmpSupportValue | string; + DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; /** - *

                            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. - * The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The default is 64512.

                            + *

                            Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.

                            */ - AmazonSideAsn?: number; + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; } export namespace TransitGatewayRequestOptions { @@ -3760,16 +3925,14 @@ export namespace TransitGatewayRequestOptions { export interface CreateTransitGatewayRequest { /** - *

                            The tags to apply to the transit gateway.

                            + *

                            A description of the transit gateway.

                            */ - TagSpecifications?: TagSpecification[]; + Description?: string; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The tags to apply to the transit gateway.

                            */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; /** *

                            The transit gateway options.

                            @@ -3777,9 +3940,11 @@ export interface CreateTransitGatewayRequest { Options?: TransitGatewayRequestOptions; /** - *

                            A description of the transit gateway.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - Description?: string; + DryRun?: boolean; } export namespace CreateTransitGatewayRequest { @@ -3793,14 +3958,9 @@ export namespace CreateTransitGatewayRequest { */ export interface TransitGatewayOptions { /** - *

                            The ID of the default propagation route table.

                            - */ - PropagationDefaultRouteTableId?: string; - - /** - *

                            Indicates whether multicast is enabled on the transit gateway

                            + *

                            The ID of the default association route table.

                            */ - MulticastSupport?: MulticastSupportValue | string; + AssociationDefaultRouteTableId?: string; /** *

                            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. @@ -3808,20 +3968,30 @@ export interface TransitGatewayOptions { */ AmazonSideAsn?: number; + /** + *

                            Indicates whether attachment requests are automatically accepted.

                            + */ + AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; + + /** + *

                            The ID of the default propagation route table.

                            + */ + PropagationDefaultRouteTableId?: string; + /** *

                            Indicates whether DNS support is enabled.

                            */ DnsSupport?: DnsSupportValue | string; /** - *

                            The ID of the default association route table.

                            + *

                            Indicates whether Equal Cost Multipath Protocol support is enabled.

                            */ - AssociationDefaultRouteTableId?: string; + VpnEcmpSupport?: VpnEcmpSupportValue | string; /** - *

                            Indicates whether resource attachments automatically propagate routes to the default propagation route table.

                            + *

                            Indicates whether multicast is enabled on the transit gateway

                            */ - DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; + MulticastSupport?: MulticastSupportValue | string; /** *

                            Indicates whether resource attachments are automatically associated with the default association route table.

                            @@ -3829,14 +3999,9 @@ export interface TransitGatewayOptions { DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; /** - *

                            Indicates whether Equal Cost Multipath Protocol support is enabled.

                            - */ - VpnEcmpSupport?: VpnEcmpSupportValue | string; - - /** - *

                            Indicates whether attachment requests are automatically accepted.

                            + *

                            Indicates whether resource attachments automatically propagate routes to the default propagation route table.

                            */ - AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; } export namespace TransitGatewayOptions { @@ -3852,24 +4017,19 @@ export type TransitGatewayState = "available" | "deleted" | "deleting" | "modify */ export interface TransitGateway { /** - *

                            The ID of the AWS account ID that owns the transit gateway.

                            - */ - OwnerId?: string; - - /** - *

                            The Amazon Resource Name (ARN) of the transit gateway.

                            + *

                            The ID of the transit gateway.

                            */ - TransitGatewayArn?: string; + TransitGatewayId?: string; /** - *

                            The state of the transit gateway.

                            + *

                            The creation time.

                            */ - State?: TransitGatewayState | string; + CreationTime?: Date; /** - *

                            The creation time.

                            + *

                            The ID of the AWS account ID that owns the transit gateway.

                            */ - CreationTime?: Date; + OwnerId?: string; /** *

                            The tags for the transit gateway.

                            @@ -3877,9 +4037,9 @@ export interface TransitGateway { Tags?: Tag[]; /** - *

                            The ID of the transit gateway.

                            + *

                            The description of the transit gateway.

                            */ - TransitGatewayId?: string; + Description?: string; /** *

                            The transit gateway options.

                            @@ -3887,9 +4047,14 @@ export interface TransitGateway { Options?: TransitGatewayOptions; /** - *

                            The description of the transit gateway.

                            + *

                            The state of the transit gateway.

                            */ - Description?: string; + State?: TransitGatewayState | string; + + /** + *

                            The Amazon Resource Name (ARN) of the transit gateway.

                            + */ + TransitGatewayArn?: string; } export namespace TransitGateway { @@ -3912,6 +4077,11 @@ export namespace CreateTransitGatewayResult { } export interface CreateTransitGatewayMulticastDomainRequest { + /** + *

                            The ID of the transit gateway.

                            + */ + TransitGatewayId: string | undefined; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -3923,11 +4093,6 @@ export interface CreateTransitGatewayMulticastDomainRequest { *

                            The tags for the transit gateway multicast domain.

                            */ TagSpecifications?: TagSpecification[]; - - /** - *

                            The ID of the transit gateway.

                            - */ - TransitGatewayId: string | undefined; } export namespace CreateTransitGatewayMulticastDomainRequest { @@ -3943,29 +4108,29 @@ export type TransitGatewayMulticastDomainState = "available" | "deleted" | "dele */ export interface TransitGatewayMulticastDomain { /** - *

                            The time the transit gateway multicast domain was created.

                            + *

                            The ID of the transit gateway multicast domain.

                            */ - CreationTime?: Date; + TransitGatewayMulticastDomainId?: string; /** - *

                            The ID of the transit gateway.

                            + *

                            The tags for the transit gateway multicast domain.

                            */ - TransitGatewayId?: string; + Tags?: Tag[]; /** - *

                            The ID of the transit gateway multicast domain.

                            + *

                            The state of the transit gateway multicast domain.

                            */ - TransitGatewayMulticastDomainId?: string; + State?: TransitGatewayMulticastDomainState | string; /** - *

                            The state of the transit gateway multicast domain.

                            + *

                            The ID of the transit gateway.

                            */ - State?: TransitGatewayMulticastDomainState | string; + TransitGatewayId?: string; /** - *

                            The tags for the transit gateway multicast domain.

                            + *

                            The time the transit gateway multicast domain was created.

                            */ - Tags?: Tag[]; + CreationTime?: Date; } export namespace TransitGatewayMulticastDomain { @@ -3989,9 +4154,9 @@ export namespace CreateTransitGatewayMulticastDomainResult { export interface CreateTransitGatewayPeeringAttachmentRequest { /** - *

                            The ID of the transit gateway.

                            + *

                            The AWS account ID of the owner of the peer transit gateway.

                            */ - TransitGatewayId: string | undefined; + PeerAccountId: string | undefined; /** *

                            The ID of the peer transit gateway with which to create the peering attachment.

                            @@ -4004,9 +4169,14 @@ export interface CreateTransitGatewayPeeringAttachmentRequest { TagSpecifications?: TagSpecification[]; /** - *

                            The AWS account ID of the owner of the peer transit gateway.

                            + *

                            The Region where the peer transit gateway is located.

                            */ - PeerAccountId: string | undefined; + PeerRegion: string | undefined; + + /** + *

                            The ID of the transit gateway.

                            + */ + TransitGatewayId: string | undefined; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -4014,12 +4184,7 @@ export interface CreateTransitGatewayPeeringAttachmentRequest { * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; - - /** - *

                            The Region where the peer transit gateway is located.

                            - */ - PeerRegion: string | undefined; -} +} export namespace CreateTransitGatewayPeeringAttachmentRequest { export const filterSensitiveLog = (obj: CreateTransitGatewayPeeringAttachmentRequest): any => ({ @@ -4040,22 +4205,135 @@ export namespace CreateTransitGatewayPeeringAttachmentResult { }); } -export interface CreateTransitGatewayRouteRequest { +export interface CreateTransitGatewayPrefixListReferenceRequest { + /** + *

                            Indicates whether to drop traffic that matches this route.

                            + */ + Blackhole?: boolean; + + /** + *

                            The ID of the attachment to which traffic is routed.

                            + */ + TransitGatewayAttachmentId?: string; + + /** + *

                            The ID of the prefix list that is used for destination matches.

                            + */ + PrefixListId: string | undefined; + + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; + /** *

                            The ID of the transit gateway route table.

                            */ TransitGatewayRouteTableId: string | undefined; +} + +export namespace CreateTransitGatewayPrefixListReferenceRequest { + export const filterSensitiveLog = (obj: CreateTransitGatewayPrefixListReferenceRequest): any => ({ + ...obj, + }); +} + +export type TransitGatewayPrefixListReferenceState = "available" | "deleting" | "modifying" | "pending"; + +/** + *

                            Describes a transit gateway prefix list attachment.

                            + */ +export interface TransitGatewayPrefixListAttachment { + /** + *

                            The ID of the resource.

                            + */ + ResourceId?: string; + + /** + *

                            The resource type. Note that the tgw-peering resource type has been deprecated.

                            + */ + ResourceType?: TransitGatewayAttachmentResourceType | string; /** *

                            The ID of the attachment.

                            */ TransitGatewayAttachmentId?: string; +} + +export namespace TransitGatewayPrefixListAttachment { + export const filterSensitiveLog = (obj: TransitGatewayPrefixListAttachment): any => ({ + ...obj, + }); +} + +/** + *

                            Describes a prefix list reference.

                            + */ +export interface TransitGatewayPrefixListReference { + /** + *

                            Information about the transit gateway attachment.

                            + */ + TransitGatewayAttachment?: TransitGatewayPrefixListAttachment; /** - *

                            Indicates whether to drop traffic that matches this route.

                            + *

                            The ID of the prefix list owner.

                            + */ + PrefixListOwnerId?: string; + + /** + *

                            The ID of the transit gateway route table.

                            + */ + TransitGatewayRouteTableId?: string; + + /** + *

                            Indicates whether traffic that matches this route is dropped.

                            */ Blackhole?: boolean; + /** + *

                            The ID of the prefix list.

                            + */ + PrefixListId?: string; + + /** + *

                            The state of the prefix list reference.

                            + */ + State?: TransitGatewayPrefixListReferenceState | string; +} + +export namespace TransitGatewayPrefixListReference { + export const filterSensitiveLog = (obj: TransitGatewayPrefixListReference): any => ({ + ...obj, + }); +} + +export interface CreateTransitGatewayPrefixListReferenceResult { + /** + *

                            Information about the prefix list reference.

                            + */ + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; +} + +export namespace CreateTransitGatewayPrefixListReferenceResult { + export const filterSensitiveLog = (obj: CreateTransitGatewayPrefixListReferenceResult): any => ({ + ...obj, + }); +} + +export interface CreateTransitGatewayRouteRequest { + /** + *

                            The ID of the attachment.

                            + */ + TransitGatewayAttachmentId?: string; + + /** + *

                            The CIDR range used for destination matches. Routing decisions are based on the + * most specific match.

                            + */ + DestinationCidrBlock: string | undefined; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4064,10 +4342,14 @@ export interface CreateTransitGatewayRouteRequest { DryRun?: boolean; /** - *

                            The CIDR range used for destination matches. Routing decisions are based on the - * most specific match.

                            + *

                            Indicates whether to drop traffic that matches this route.

                            */ - DestinationCidrBlock: string | undefined; + Blackhole?: boolean; + + /** + *

                            The ID of the transit gateway route table.

                            + */ + TransitGatewayRouteTableId: string | undefined; } export namespace CreateTransitGatewayRouteRequest { @@ -4088,14 +4370,14 @@ export interface TransitGatewayRouteAttachment { TransitGatewayAttachmentId?: string; /** - *

                            The resource type.

                            + *

                            The ID of the resource.

                            */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + ResourceId?: string; /** - *

                            The ID of the resource.

                            + *

                            The resource type. Note that the tgw-peering resource type has been deprecated.

                            */ - ResourceId?: string; + ResourceType?: TransitGatewayAttachmentResourceType | string; } export namespace TransitGatewayRouteAttachment { @@ -4111,24 +4393,29 @@ export type TransitGatewayRouteType = "propagated" | "static"; */ export interface TransitGatewayRoute { /** - *

                            The CIDR block used for destination matches.

                            + *

                            The route type.

                            */ - DestinationCidrBlock?: string; + Type?: TransitGatewayRouteType | string; /** *

                            The state of the route.

                            */ State?: TransitGatewayRouteState | string; + /** + *

                            The ID of the prefix list used for destination matches.

                            + */ + PrefixListId?: string; + /** *

                            The attachments.

                            */ TransitGatewayAttachments?: TransitGatewayRouteAttachment[]; /** - *

                            The route type.

                            + *

                            The CIDR block used for destination matches.

                            */ - Type?: TransitGatewayRouteType | string; + DestinationCidrBlock?: string; } export namespace TransitGatewayRoute { @@ -4151,11 +4438,6 @@ export namespace CreateTransitGatewayRouteResult { } export interface CreateTransitGatewayRouteTableRequest { - /** - *

                            The ID of the transit gateway.

                            - */ - TransitGatewayId: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4167,6 +4449,11 @@ export interface CreateTransitGatewayRouteTableRequest { *

                            The tags to apply to the transit gateway route table.

                            */ TagSpecifications?: TagSpecification[]; + + /** + *

                            The ID of the transit gateway.

                            + */ + TransitGatewayId: string | undefined; } export namespace CreateTransitGatewayRouteTableRequest { @@ -4187,19 +4474,19 @@ export interface TransitGatewayRouteTable { DefaultPropagationRouteTable?: boolean; /** - *

                            The ID of the transit gateway route table.

                            + *

                            The creation time.

                            */ - TransitGatewayRouteTableId?: string; + CreationTime?: Date; /** - *

                            Any tags assigned to the route table.

                            + *

                            The ID of the transit gateway.

                            */ - Tags?: Tag[]; + TransitGatewayId?: string; /** - *

                            The creation time.

                            + *

                            The state of the transit gateway route table.

                            */ - CreationTime?: Date; + State?: TransitGatewayRouteTableState | string; /** *

                            Indicates whether this is the default association route table for the transit gateway.

                            @@ -4207,14 +4494,14 @@ export interface TransitGatewayRouteTable { DefaultAssociationRouteTable?: boolean; /** - *

                            The state of the transit gateway route table.

                            + *

                            Any tags assigned to the route table.

                            */ - State?: TransitGatewayRouteTableState | string; + Tags?: Tag[]; /** - *

                            The ID of the transit gateway.

                            + *

                            The ID of the transit gateway route table.

                            */ - TransitGatewayId?: string; + TransitGatewayRouteTableId?: string; } export namespace TransitGatewayRouteTable { @@ -4241,14 +4528,14 @@ export namespace CreateTransitGatewayRouteTableResult { */ export interface CreateTransitGatewayVpcAttachmentRequestOptions { /** - *

                            Enable or disable IPv6 support. The default is enable.

                            + *

                            Enable or disable DNS support. The default is enable.

                            */ - Ipv6Support?: Ipv6SupportValue | string; + DnsSupport?: DnsSupportValue | string; /** - *

                            Enable or disable DNS support. The default is enable.

                            + *

                            Enable or disable IPv6 support. The default is enable.

                            */ - DnsSupport?: DnsSupportValue | string; + Ipv6Support?: Ipv6SupportValue | string; } export namespace CreateTransitGatewayVpcAttachmentRequestOptions { @@ -4258,6 +4545,11 @@ export namespace CreateTransitGatewayVpcAttachmentRequestOptions { } export interface CreateTransitGatewayVpcAttachmentRequest { + /** + *

                            The ID of the transit gateway.

                            + */ + TransitGatewayId: string | undefined; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4266,16 +4558,14 @@ export interface CreateTransitGatewayVpcAttachmentRequest { DryRun?: boolean; /** - *

                            The ID of the VPC.

                            + *

                            The tags to apply to the VPC attachment.

                            */ - VpcId: string | undefined; + TagSpecifications?: TagSpecification[]; /** - *

                            The IDs of one or more subnets. You can specify only one subnet per Availability Zone. - * You must specify at least one subnet, but we recommend that you specify two subnets for better availability. - * The transit gateway uses one IP address from each specified subnet.

                            + *

                            The ID of the VPC.

                            */ - SubnetIds: string[] | undefined; + VpcId: string | undefined; /** *

                            The VPC attachment options.

                            @@ -4283,14 +4573,11 @@ export interface CreateTransitGatewayVpcAttachmentRequest { Options?: CreateTransitGatewayVpcAttachmentRequestOptions; /** - *

                            The tags to apply to the VPC attachment.

                            - */ - TagSpecifications?: TagSpecification[]; - - /** - *

                            The ID of the transit gateway.

                            + *

                            The IDs of one or more subnets. You can specify only one subnet per Availability Zone. + * You must specify at least one subnet, but we recommend that you specify two subnets for better availability. + * The transit gateway uses one IP address from each specified subnet.

                            */ - TransitGatewayId: string | undefined; + SubnetIds: string[] | undefined; } export namespace CreateTransitGatewayVpcAttachmentRequest { @@ -4314,12 +4601,23 @@ export namespace CreateTransitGatewayVpcAttachmentResult { export interface CreateVolumeRequest { /** - *

                            The Availability Zone in which to create the volume.

                            + *

                            The Amazon Resource Name (ARN) of the Outpost.

                            */ - AvailabilityZone: string | undefined; + OutpostArn?: string; + + /** + *

                            The number of I/O operations per second (IOPS) to provision for an io1 or io2 volume, with a maximum + * ratio of 50 IOPS/GiB for io1, and 500 IOPS/GiB for io2. Range is 100 to 64,000 IOPS for + * volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on + * Nitro-based instances. Other instance families guarantee performance up to + * 32,000 IOPS. For more information, see Amazon EBS volume types in the + * Amazon Elastic Compute Cloud User Guide.

                            + *

                            This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes.

                            + */ + Iops?: number; /** - *

                            The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, + *

                            The volume type. This can be gp2 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, * st1 for Throughput Optimized HDD, sc1 for Cold HDD, or * standard for Magnetic volumes.

                            *

                            Default: gp2 @@ -4328,9 +4626,14 @@ export interface CreateVolumeRequest { VolumeType?: VolumeType | string; /** - *

                            The tags to apply to the volume during creation.

                            + *

                            The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

                            */ - TagSpecifications?: TagSpecification[]; + SnapshotId?: string; + + /** + *

                            The Availability Zone in which to create the volume.

                            + */ + AvailabilityZone: string | undefined; /** *

                            The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. @@ -4357,30 +4660,39 @@ export interface CreateVolumeRequest { KmsKeyId?: string; /** - *

                            The number of I/O operations per second (IOPS) to provision for the volume, with a maximum - * ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for - * volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on - * Nitro-based instances. Other instance families guarantee performance up to - * 32,000 IOPS. For more information, see Amazon EBS Volume Types in the - * Amazon Elastic Compute Cloud User Guide.

                            - *

                            This parameter is valid only for Provisioned IOPS SSD (io1) volumes.

                            + *

                            The tags to apply to the volume during creation.

                            */ - Iops?: number; + TagSpecifications?: TagSpecification[]; /** - *

                            The Amazon Resource Name (ARN) of the Outpost.

                            + *

                            The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.

                            + *

                            Constraints: 1-16,384 for gp2, + * 4-16,384 for io1 and io2, 500-16,384 for + * st1, 500-16,384 for sc1, and + * 1-1,024 for standard. If you specify a + * snapshot, the volume size must be equal to or larger than the snapshot size.

                            + *

                            Default: If you're creating the volume from a snapshot and don't specify a volume size, + * the default is the snapshot size.

                            */ - OutpostArn?: string; + Size?: number; + + /** + *

                            Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the + * volume to up to 16 Nitro-based instances in the same Availability Zone. For more information, + * see + * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

                            + */ + MultiAttachEnabled?: boolean; /** *

                            Specifies whether the volume should be encrypted. * The effect of setting the encryption state to true depends on * the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. - * For more information, see Encryption by Default + * For more information, see Encryption by default * in the Amazon Elastic Compute Cloud User Guide.

                            *

                            Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. * For more information, see Supported - * Instance Types.

                            + * instance types.

                            */ Encrypted?: boolean; @@ -4390,31 +4702,6 @@ export interface CreateVolumeRequest { * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; - - /** - *

                            Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the - * volume to up to 16 Nitro-based instances in the same Availability Zone. For more information, - * see - * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

                            - */ - MultiAttachEnabled?: boolean; - - /** - *

                            The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

                            - */ - SnapshotId?: string; - - /** - *

                            The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.

                            - *

                            Constraints: 1-16,384 for gp2, - * 4-16,384 for io1, 500-16,384 for - * st1, 500-16,384 for sc1, and - * 1-1,024 for standard. If you specify a - * snapshot, the volume size must be equal to or larger than the snapshot size.

                            - *

                            Default: If you're creating the volume from a snapshot and don't specify a volume size, - * the default is the snapshot size.

                            - */ - Size?: number; } export namespace CreateVolumeRequest { @@ -4430,24 +4717,24 @@ export type VolumeState = "available" | "creating" | "deleted" | "deleting" | "e */ export interface Volume { /** - *

                            Indicates whether the volume is encrypted.

                            + *

                            Information about the volume attachments.

                            */ - Encrypted?: boolean; + Attachments?: VolumeAttachment[]; /** - *

                            Any tags assigned to the volume.

                            + *

                            The Availability Zone for the volume.

                            */ - Tags?: Tag[]; + AvailabilityZone?: string; /** - *

                            Indicates whether Amazon EBS Multi-Attach is enabled.

                            + *

                            The snapshot from which the volume was created, if applicable.

                            */ - MultiAttachEnabled?: boolean; + SnapshotId?: string; /** - *

                            The Amazon Resource Name (ARN) of the Outpost.

                            + *

                            Indicates whether the volume was created using fast snapshot restore.

                            */ - OutpostArn?: string; + FastRestored?: boolean; /** *

                            The size of the volume, in GiBs.

                            @@ -4455,69 +4742,69 @@ export interface Volume { Size?: number; /** - *

                            The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, - * st1 for Throughput Optimized HDD, sc1 for Cold HDD, or - * standard for Magnetic volumes.

                            + *

                            The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD + * volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD + * volumes, this represents the baseline performance of the volume and the rate at which the + * volume accumulates I/O credits for bursting. For more information, see Amazon EBS volume types in + * the Amazon Elastic Compute Cloud User Guide.

                            + *

                            Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 + * to 64,000 IOPS for io1 and io2 volumes, in most Regions. The maximum + * IOPS for io1 and io2 of 64,000 is guaranteed only on Nitro-based + * instances. Other instance families guarantee performance up to + * 32,000 IOPS.

                            + *

                            Condition: This parameter is required for requests to create io1 and io2 volumes; + * it is not used in requests to create gp2, st1, + * sc1, or standard volumes.

                            */ - VolumeType?: VolumeType | string; + Iops?: number; /** - *

                            Indicates whether the volume was created using fast snapshot restore.

                            + *

                            The ID of the volume.

                            */ - FastRestored?: boolean; + VolumeId?: string; /** - *

                            Information about the volume attachments.

                            + *

                            The Amazon Resource Name (ARN) of the Outpost.

                            */ - Attachments?: VolumeAttachment[]; + OutpostArn?: string; /** - *

                            The snapshot from which the volume was created, if applicable.

                            + *

                            Indicates whether Amazon EBS Multi-Attach is enabled.

                            */ - SnapshotId?: string; + MultiAttachEnabled?: boolean; /** - *

                            The volume state.

                            + *

                            Any tags assigned to the volume.

                            */ - State?: VolumeState | string; + Tags?: Tag[]; /** - *

                            The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the - * volume encryption key for the volume.

                            + *

                            Indicates whether the volume is encrypted.

                            */ - KmsKeyId?: string; + Encrypted?: boolean; /** - *

                            The Availability Zone for the volume.

                            + *

                            The volume state.

                            */ - AvailabilityZone?: string; + State?: VolumeState | string; /** - *

                            The time stamp when volume creation was initiated.

                            + *

                            The volume type. This can be gp2 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, + * st1 for Throughput Optimized HDD, sc1 for Cold HDD, or + * standard for Magnetic volumes.

                            */ - CreateTime?: Date; + VolumeType?: VolumeType | string; /** - *

                            The ID of the volume.

                            + *

                            The time stamp when volume creation was initiated.

                            */ - VolumeId?: string; + CreateTime?: Date; /** - *

                            The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD - * volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD - * volumes, this represents the baseline performance of the volume and the rate at which the - * volume accumulates I/O credits for bursting. For more information, see Amazon EBS Volume Types in - * the Amazon Elastic Compute Cloud User Guide.

                            - *

                            Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 - * to 64,000IOPS for io1 volumes, in most Regions. The maximum - * IOPS for io1 of 64,000 is guaranteed only on Nitro-based - * instances. Other instance families guarantee performance up to - * 32,000 IOPS.

                            - *

                            Condition: This parameter is required for requests to create io1 volumes; - * it is not used in requests to create gp2, st1, - * sc1, or standard volumes.

                            + *

                            The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the + * volume encryption key for the volume.

                            */ - Iops?: number; + KmsKeyId?: string; } export namespace Volume { @@ -4528,9 +4815,17 @@ export namespace Volume { export interface CreateVpcRequest { /** - *

                            The tags to assign to the VPC.

                            + *

                            The tenancy options for instances launched into the VPC. For default, instances + * are launched with shared tenancy by default. You can launch instances with any tenancy into a + * shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy + * instances by default. You can only launch instances with a tenancy of dedicated + * or host into a dedicated tenancy VPC.

                            + *

                            + * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

                            + *

                            Default: default + *

                            */ - TagSpecifications?: TagSpecification[]; + InstanceTenancy?: Tenancy | string; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -4540,23 +4835,16 @@ export interface CreateVpcRequest { DryRun?: boolean; /** - *

                            The IPv4 network range for the VPC, in CIDR notation. For example, - * 10.0.0.0/16. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

                            + *

                            Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. + * You cannot specify the range of IP addresses, or the size of the CIDR block.

                            */ - CidrBlock: string | undefined; + AmazonProvidedIpv6CidrBlock?: boolean; /** - *

                            The tenancy options for instances launched into the VPC. For default, instances - * are launched with shared tenancy by default. You can launch instances with any tenancy into a - * shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy - * instances by default. You can only launch instances with a tenancy of dedicated - * or host into a dedicated tenancy VPC.

                            - *

                            - * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

                            - *

                            Default: default - *

                            + *

                            The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

                            + *

                            To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

                            */ - InstanceTenancy?: Tenancy | string; + Ipv6CidrBlock?: string; /** *

                            The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.

                            @@ -4565,21 +4853,20 @@ export interface CreateVpcRequest { Ipv6CidrBlockNetworkBorderGroup?: string; /** - *

                            The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

                            - *

                            To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

                            + *

                            The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

                            */ - Ipv6CidrBlock?: string; + Ipv6Pool?: string; /** - *

                            Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. - * You cannot specify the range of IP addresses, or the size of the CIDR block.

                            + *

                            The IPv4 network range for the VPC, in CIDR notation. For example, + * 10.0.0.0/16. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

                            */ - AmazonProvidedIpv6CidrBlock?: boolean; + CidrBlock: string | undefined; /** - *

                            The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

                            + *

                            The tags to assign to the VPC.

                            */ - Ipv6Pool?: string; + TagSpecifications?: TagSpecification[]; } export namespace CreateVpcRequest { @@ -4623,17 +4910,10 @@ export interface CreateVpcEndpointRequest { SecurityGroupIds?: string[]; /** - *

                            The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service - * provider.

                            - */ - ServiceName: string | undefined; - - /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency.

                            + *

                            The type of endpoint.

                            + *

                            Default: Gateway

                            */ - ClientToken?: string; + VpcEndpointType?: VpcEndpointType | string; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -4642,22 +4922,6 @@ export interface CreateVpcEndpointRequest { */ DryRun?: boolean; - /** - *

                            The tags to associate with the endpoint.

                            - */ - TagSpecifications?: TagSpecification[]; - - /** - *

                            The type of endpoint.

                            - *

                            Default: Gateway

                            - */ - VpcEndpointType?: VpcEndpointType | string; - - /** - *

                            (Gateway endpoint) One or more route table IDs.

                            - */ - RouteTableIds?: string[]; - /** *

                            A policy to attach to the endpoint that controls access to the * service. The policy must be in valid JSON format. If this parameter is not specified, we @@ -4666,9 +4930,10 @@ export interface CreateVpcEndpointRequest { PolicyDocument?: string; /** - *

                            The ID of the VPC in which the endpoint will be used.

                            + *

                            The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service + * provider.

                            */ - VpcId: string | undefined; + ServiceName: string | undefined; /** *

                            (Interface endpoint) Indicates whether to associate a private hosted zone with the @@ -4686,6 +4951,28 @@ export interface CreateVpcEndpointRequest { *

                            */ PrivateDnsEnabled?: boolean; + + /** + *

                            The ID of the VPC in which the endpoint will be used.

                            + */ + VpcId: string | undefined; + + /** + *

                            (Gateway endpoint) One or more route table IDs.

                            + */ + RouteTableIds?: string[]; + + /** + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

                            + */ + ClientToken?: string; + + /** + *

                            The tags to associate with the endpoint.

                            + */ + TagSpecifications?: TagSpecification[]; } export namespace CreateVpcEndpointRequest { @@ -4720,14 +5007,14 @@ export namespace DnsEntry { */ export interface SecurityGroupIdentifier { /** - *

                            The name of the security group.

                            + *

                            The ID of the security group.

                            */ - GroupName?: string; + GroupId?: string; /** - *

                            The ID of the security group.

                            + *

                            The name of the security group.

                            */ - GroupId?: string; + GroupName?: string; } export namespace SecurityGroupIdentifier { @@ -4773,90 +5060,90 @@ export enum State { */ export interface VpcEndpoint { /** - *

                            The last error that occurred for VPC endpoint.

                            + *

                            The ID of the VPC to which the endpoint is associated.

                            */ - LastError?: LastError; + VpcId?: string; /** - *

                            The policy document associated with the endpoint, if applicable.

                            + *

                            Indicates whether the VPC endpoint is being managed by its service.

                            */ - PolicyDocument?: string; + RequesterManaged?: boolean; /** - *

                            The ID of the VPC endpoint.

                            + *

                            (Interface endpoint) One or more network interfaces for the endpoint.

                            */ - VpcEndpointId?: string; + NetworkInterfaceIds?: string[]; /** - *

                            Any tags assigned to the VPC endpoint.

                            + *

                            (Gateway endpoint) One or more route tables associated with the endpoint.

                            */ - Tags?: Tag[]; + RouteTableIds?: string[]; /** - *

                            (Interface endpoint) One or more network interfaces for the endpoint.

                            + *

                            (Interface endpoint) The DNS entries for the endpoint.

                            */ - NetworkInterfaceIds?: string[]; + DnsEntries?: DnsEntry[]; /** - *

                            (Interface endpoint) One or more subnets in which the endpoint is located.

                            + *

                            The state of the VPC endpoint.

                            */ - SubnetIds?: string[]; + State?: State | string; /** - *

                            The type of endpoint.

                            + *

                            (Interface endpoint) One or more subnets in which the endpoint is located.

                            */ - VpcEndpointType?: VpcEndpointType | string; + SubnetIds?: string[]; /** - *

                            The date and time that the VPC endpoint was created.

                            + *

                            The last error that occurred for VPC endpoint.

                            */ - CreationTimestamp?: Date; + LastError?: LastError; /** - *

                            (Interface endpoint) The DNS entries for the endpoint.

                            + *

                            Any tags assigned to the VPC endpoint.

                            */ - DnsEntries?: DnsEntry[]; + Tags?: Tag[]; /** - *

                            (Gateway endpoint) One or more route tables associated with the endpoint.

                            + *

                            The ID of the VPC endpoint.

                            */ - RouteTableIds?: string[]; + VpcEndpointId?: string; /** - *

                            The name of the service to which the endpoint is associated.

                            + *

                            (Interface endpoint) Indicates whether the VPC is associated with a private hosted zone.

                            */ - ServiceName?: string; + PrivateDnsEnabled?: boolean; /** - *

                            The ID of the AWS account that owns the VPC endpoint.

                            + *

                            The policy document associated with the endpoint, if applicable.

                            */ - OwnerId?: string; + PolicyDocument?: string; /** - *

                            (Interface endpoint) Information about the security groups that are associated with - * the network interface.

                            + *

                            The date and time that the VPC endpoint was created.

                            */ - Groups?: SecurityGroupIdentifier[]; + CreationTimestamp?: Date; /** - *

                            The state of the VPC endpoint.

                            + *

                            The type of endpoint.

                            */ - State?: State | string; + VpcEndpointType?: VpcEndpointType | string; /** - *

                            Indicates whether the VPC endpoint is being managed by its service.

                            + *

                            (Interface endpoint) Information about the security groups that are associated with + * the network interface.

                            */ - RequesterManaged?: boolean; + Groups?: SecurityGroupIdentifier[]; /** - *

                            (Interface endpoint) Indicates whether the VPC is associated with a private hosted zone.

                            + *

                            The ID of the AWS account that owns the VPC endpoint.

                            */ - PrivateDnsEnabled?: boolean; + OwnerId?: string; /** - *

                            The ID of the VPC to which the endpoint is associated.

                            + *

                            The name of the service to which the endpoint is associated.

                            */ - VpcId?: string; + ServiceName?: string; } export namespace VpcEndpoint { @@ -4870,15 +5157,15 @@ export namespace VpcEndpoint { */ export interface CreateVpcEndpointResult { /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                            + *

                            Information about the endpoint.

                            */ - ClientToken?: string; + VpcEndpoint?: VpcEndpoint; /** - *

                            Information about the endpoint.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                            */ - VpcEndpoint?: VpcEndpoint; + ClientToken?: string; } export namespace CreateVpcEndpointResult { @@ -4888,27 +5175,22 @@ export namespace CreateVpcEndpointResult { } export interface CreateVpcEndpointConnectionNotificationRequest { - /** - *

                            The ID of the endpoint.

                            - */ - VpcEndpointId?: string; - /** *

                            The ARN of the SNS topic for the notifications.

                            */ ConnectionNotificationArn: string | undefined; /** - *

                            The ID of the endpoint service.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - ServiceId?: string; + DryRun?: boolean; /** - *

                            One or more endpoint events for which to receive notifications. Valid values are - * Accept, Connect, Delete, and - * Reject.

                            + *

                            The ID of the endpoint service.

                            */ - ConnectionEvents: string[] | undefined; + ServiceId?: string; /** *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the @@ -4918,11 +5200,16 @@ export interface CreateVpcEndpointConnectionNotificationRequest { ClientToken?: string; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The ID of the endpoint.

                            */ - DryRun?: boolean; + VpcEndpointId?: string; + + /** + *

                            One or more endpoint events for which to receive notifications. Valid values are + * Accept, Connect, Delete, and + * Reject.

                            + */ + ConnectionEvents: string[] | undefined; } export namespace CreateVpcEndpointConnectionNotificationRequest { @@ -4946,14 +5233,9 @@ export enum ConnectionNotificationType { */ export interface ConnectionNotification { /** - *

                            The state of the notification.

                            - */ - ConnectionNotificationState?: ConnectionNotificationState | string; - - /** - *

                            The ID of the endpoint service.

                            + *

                            The ID of the notification.

                            */ - ServiceId?: string; + ConnectionNotificationId?: string; /** *

                            The type of notification.

                            @@ -4961,14 +5243,15 @@ export interface ConnectionNotification { ConnectionNotificationType?: ConnectionNotificationType | string; /** - *

                            The ID of the VPC endpoint.

                            + *

                            The events for the notification. Valid values are Accept, + * Connect, Delete, and Reject.

                            */ - VpcEndpointId?: string; + ConnectionEvents?: string[]; /** - *

                            The ID of the notification.

                            + *

                            The state of the notification.

                            */ - ConnectionNotificationId?: string; + ConnectionNotificationState?: ConnectionNotificationState | string; /** *

                            The ARN of the SNS topic for the notification.

                            @@ -4976,10 +5259,14 @@ export interface ConnectionNotification { ConnectionNotificationArn?: string; /** - *

                            The events for the notification. Valid values are Accept, - * Connect, Delete, and Reject.

                            + *

                            The ID of the endpoint service.

                            */ - ConnectionEvents?: string[]; + ServiceId?: string; + + /** + *

                            The ID of the VPC endpoint.

                            + */ + VpcEndpointId?: string; } export namespace ConnectionNotification { @@ -5009,40 +5296,40 @@ export namespace CreateVpcEndpointConnectionNotificationResult { export interface CreateVpcEndpointServiceConfigurationRequest { /** - *

                            The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your - * service.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - NetworkLoadBalancerArns: string[] | undefined; + DryRun?: boolean; /** - *

                            The private DNS name to assign to the VPC endpoint service.

                            + *

                            Indicates whether requests from service consumers to create an endpoint to your service must + * be accepted. To accept a request, use AcceptVpcEndpointConnections.

                            */ - PrivateDnsName?: string; + AcceptanceRequired?: boolean; /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - * For more information, see How to Ensure - * Idempotency.

                            + *

                            The tags to associate with the service.

                            */ - ClientToken?: string; + TagSpecifications?: TagSpecification[]; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The private DNS name to assign to the VPC endpoint service.

                            */ - DryRun?: boolean; + PrivateDnsName?: string; /** - *

                            The tags to associate with the service.

                            + *

                            The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your + * service.

                            */ - TagSpecifications?: TagSpecification[]; + NetworkLoadBalancerArns: string[] | undefined; /** - *

                            Indicates whether requests from service consumers to create an endpoint to your service must - * be accepted. To accept a request, use AcceptVpcEndpointConnections.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + * For more information, see How to Ensure + * Idempotency.

                            */ - AcceptanceRequired?: boolean; + ClientToken?: string; } export namespace CreateVpcEndpointServiceConfigurationRequest { @@ -5065,9 +5352,9 @@ export enum DnsNameState { */ export interface PrivateDnsNameConfiguration { /** - *

                            The endpoint service verification type, for example TXT.

                            + *

                            The name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

                            */ - Type?: string; + Name?: string; /** *

                            The verification state of the VPC endpoint service.

                            @@ -5078,14 +5365,14 @@ export interface PrivateDnsNameConfiguration { State?: DnsNameState | string; /** - *

                            The name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

                            + *

                            The value the service provider adds to the private DNS name domain record before verification.

                            */ - Name?: string; + Value?: string; /** - *

                            The value the service provider adds to the private DNS name domain record before verification.

                            + *

                            The endpoint service verification type, for example TXT.

                            */ - Value?: string; + Type?: string; } export namespace PrivateDnsNameConfiguration { @@ -5128,30 +5415,29 @@ export namespace ServiceTypeDetail { */ export interface ServiceConfiguration { /** - *

                            Indicates whether the service manages its VPC endpoints. Management of the service VPC - * endpoints using the VPC endpoint API is restricted.

                            + *

                            The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

                            */ - ManagesVpcEndpoints?: boolean; + NetworkLoadBalancerArns?: string[]; /** - *

                            The private DNS name for the service.

                            + *

                            The service state.

                            */ - PrivateDnsName?: string; + ServiceState?: ServiceState | string; /** - *

                            The DNS names for the service.

                            + *

                            Indicates whether requests from other AWS accounts to create an endpoint to the service must first be accepted.

                            */ - BaseEndpointDnsNames?: string[]; + AcceptanceRequired?: boolean; /** - *

                            The ID of the service.

                            + *

                            The name of the service.

                            */ - ServiceId?: string; + ServiceName?: string; /** - *

                            The type of service.

                            + *

                            The Availability Zones in which the service is available.

                            */ - ServiceType?: ServiceTypeDetail[]; + AvailabilityZones?: string[]; /** *

                            Any tags assigned to the service.

                            @@ -5159,34 +5445,35 @@ export interface ServiceConfiguration { Tags?: Tag[]; /** - *

                            The name of the service.

                            + *

                            Information about the endpoint service private DNS name configuration.

                            */ - ServiceName?: string; + PrivateDnsNameConfiguration?: PrivateDnsNameConfiguration; /** - *

                            Information about the endpoint service private DNS name configuration.

                            + *

                            The type of service.

                            */ - PrivateDnsNameConfiguration?: PrivateDnsNameConfiguration; + ServiceType?: ServiceTypeDetail[]; /** - *

                            The service state.

                            + *

                            The DNS names for the service.

                            */ - ServiceState?: ServiceState | string; + BaseEndpointDnsNames?: string[]; /** - *

                            The Availability Zones in which the service is available.

                            + *

                            Indicates whether the service manages its VPC endpoints. Management of the service VPC + * endpoints using the VPC endpoint API is restricted.

                            */ - AvailabilityZones?: string[]; + ManagesVpcEndpoints?: boolean; /** - *

                            The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

                            + *

                            The private DNS name for the service.

                            */ - NetworkLoadBalancerArns?: string[]; + PrivateDnsName?: string; /** - *

                            Indicates whether requests from other AWS accounts to create an endpoint to the service must first be accepted.

                            + *

                            The ID of the service.

                            */ - AcceptanceRequired?: boolean; + ServiceId?: string; } export namespace ServiceConfiguration { @@ -5197,15 +5484,15 @@ export namespace ServiceConfiguration { export interface CreateVpcEndpointServiceConfigurationResult { /** - *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                            + *

                            Information about the service configuration.

                            */ - ClientToken?: string; + ServiceConfiguration?: ServiceConfiguration; /** - *

                            Information about the service configuration.

                            + *

                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                            */ - ServiceConfiguration?: ServiceConfiguration; + ClientToken?: string; } export namespace CreateVpcEndpointServiceConfigurationResult { @@ -5229,15 +5516,17 @@ export interface CreateVpcPeeringConnectionRequest { PeerRegion?: string; /** - *

                            The AWS account ID of the owner of the accepter VPC.

                            - *

                            Default: Your AWS account ID

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - PeerOwnerId?: string; + DryRun?: boolean; /** - *

                            The tags to assign to the peering connection.

                            + *

                            The AWS account ID of the owner of the accepter VPC.

                            + *

                            Default: Your AWS account ID

                            */ - TagSpecifications?: TagSpecification[]; + PeerOwnerId?: string; /** *

                            The ID of the VPC with which you are creating the VPC peering connection. You must @@ -5246,11 +5535,9 @@ export interface CreateVpcPeeringConnectionRequest { PeerVpcId?: string; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The tags to assign to the peering connection.

                            */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; } export namespace CreateVpcPeeringConnectionRequest { @@ -5272,6 +5559,8 @@ export namespace CreateVpcPeeringConnectionResult { }); } +export type TunnelInsideIpVersion = "ipv4" | "ipv6"; + /** *

                            The IKE version that is permitted for the VPN tunnel.

                            */ @@ -5389,53 +5678,74 @@ export namespace Phase2IntegrityAlgorithmsRequestListValue { */ export interface VpnTunnelOptionsSpecification { /** - *

                            The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.

                            - *

                            Constraints: A value between 60 and half of Phase2LifetimeSeconds.

                            - *

                            Default: 540 + *

                            The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation.

                            + *

                            Valid Values: add | start + *

                            + *

                            Default: add *

                            */ - RekeyMarginTimeSeconds?: number; + StartupAction?: string; /** - *

                            The lifetime for phase 2 of the IKE negotiation, in seconds.

                            - *

                            Constraints: A value between 900 and 3,600. The value must be less than the value for Phase1LifetimeSeconds.

                            - *

                            Default: 3600 + *

                            The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.

                            + *

                            Constraints: A size /126 CIDR block from the local fd00::/8 range.

                            + */ + TunnelInsideIpv6Cidr?: string; + + /** + *

                            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                            + *

                            Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 *

                            */ - Phase2LifetimeSeconds?: number; + Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; /** - *

                            One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                            - *

                            Valid values: SHA1 | SHA2-256 + *

                            One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                            + *

                            Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 *

                            */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; /** - *

                            The pre-shared key (PSK) to establish initial authentication between the virtual private - * gateway and customer gateway.

                            - *

                            Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores - * (_). Must be between 8 and 64 characters in length and cannot start with zero - * (0).

                            + *

                            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                            + *

                            Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 + *

                            */ - PreSharedKey?: string; + Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; /** - *

                            One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                            - *

                            Valid values: SHA1 | SHA2-256 + *

                            The number of packets in an IKE replay window.

                            + *

                            Constraints: A value between 64 and 2048.

                            + *

                            Default: 1024 *

                            */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; + ReplayWindowSize?: number; /** - *

                            The IKE versions that are permitted for the VPN tunnel.

                            - *

                            Valid values: ikev1 | ikev2 + *

                            The number of seconds after which a DPD timeout occurs.

                            + *

                            Constraints: A value between 0 and 30.

                            + *

                            Default: 30 *

                            */ - IKEVersions?: IKEVersionsRequestListValue[]; + DPDTimeoutSeconds?: number; + + /** + *

                            One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                            + *

                            Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 + *

                            + */ + Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; + + /** + *

                            The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.

                            + *

                            Constraints: A value between 60 and half of Phase2LifetimeSeconds.

                            + *

                            Default: 540 + *

                            + */ + RekeyMarginTimeSeconds?: number; /** - *

                            The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique + *

                            The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique * across all VPN connections that use the same virtual private gateway.

                            *

                            Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The * following CIDR blocks are reserved and cannot be used:

                            @@ -5480,41 +5790,52 @@ export interface VpnTunnelOptionsSpecification { TunnelInsideCidr?: string; /** - *

                            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                            - *

                            Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24 + *

                            One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                            + *

                            Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 *

                            */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; /** - *

                            The number of packets in an IKE replay window.

                            - *

                            Constraints: A value between 64 and 2048.

                            - *

                            Default: 1024 + *

                            One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                            + *

                            Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 *

                            */ - ReplayWindowSize?: number; + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; /** - *

                            One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                            - *

                            Valid values: AES128 | AES256 - *

                            - */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; + *

                            The percentage of the rekey window (determined by RekeyMarginTimeSeconds) during which the rekey time is randomly selected.

                            + *

                            Constraints: A value between 0 and 100.

                            + *

                            Default: 100 + *

                            + */ + RekeyFuzzPercentage?: number; /** - *

                            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                            - *

                            Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24 + *

                            The pre-shared key (PSK) to establish initial authentication between the virtual private + * gateway and customer gateway.

                            + *

                            Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores + * (_). Must be between 8 and 64 characters in length and cannot start with zero + * (0).

                            + */ + PreSharedKey?: string; + + /** + *

                            The lifetime for phase 2 of the IKE negotiation, in seconds.

                            + *

                            Constraints: A value between 900 and 3,600. The value must be less than the value for Phase1LifetimeSeconds.

                            + *

                            Default: 3600 *

                            */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; + Phase2LifetimeSeconds?: number; /** - *

                            The percentage of the rekey window (determined by RekeyMarginTimeSeconds) during which the rekey time is randomly selected.

                            - *

                            Constraints: A value between 0 and 100.

                            - *

                            Default: 100 + *

                            The action to take after DPD timeout occurs. Specify restart to restart the IKE initiation. Specify clear to end the IKE session.

                            + *

                            Valid Values: clear | none | restart + *

                            + *

                            Default: clear *

                            */ - RekeyFuzzPercentage?: number; + DPDTimeoutAction?: string; /** *

                            The lifetime for phase 1 of the IKE negotiation, in seconds.

                            @@ -5525,19 +5846,11 @@ export interface VpnTunnelOptionsSpecification { Phase1LifetimeSeconds?: number; /** - *

                            One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                            - *

                            Valid values: AES128 | AES256 - *

                            - */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; - - /** - *

                            The number of seconds after which a DPD timeout occurs.

                            - *

                            Constraints: A value between 0 and 30.

                            - *

                            Default: 30 + *

                            The IKE versions that are permitted for the VPN tunnel.

                            + *

                            Valid values: ikev1 | ikev2 *

                            */ - DPDTimeoutSeconds?: number; + IKEVersions?: IKEVersionsRequestListValue[]; } export namespace VpnTunnelOptionsSpecification { @@ -5551,9 +5864,11 @@ export namespace VpnTunnelOptionsSpecification { */ export interface VpnConnectionOptionsSpecification { /** - *

                            The tunnel options for the VPN connection.

                            + *

                            The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

                            + *

                            Default: 0.0.0.0/0 + *

                            */ - TunnelOptions?: VpnTunnelOptionsSpecification[]; + LocalIpv4NetworkCidr?: string; /** *

                            Indicate whether the VPN connection uses static routes only. If you are creating a @@ -5564,12 +5879,45 @@ export interface VpnConnectionOptionsSpecification { */ StaticRoutesOnly?: boolean; + /** + *

                            The IPv6 CIDR on the AWS side of the VPN connection.

                            + *

                            Default: ::/0 + *

                            + */ + RemoteIpv6NetworkCidr?: string; + + /** + *

                            The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

                            + *

                            Default: ::/0 + *

                            + */ + LocalIpv6NetworkCidr?: string; + + /** + *

                            The IPv4 CIDR on the AWS side of the VPN connection.

                            + *

                            Default: 0.0.0.0/0 + *

                            + */ + RemoteIpv4NetworkCidr?: string; + /** *

                            Indicate whether to enable acceleration for the VPN connection.

                            *

                            Default: false *

                            */ EnableAcceleration?: boolean; + + /** + *

                            The tunnel options for the VPN connection.

                            + */ + TunnelOptions?: VpnTunnelOptionsSpecification[]; + + /** + *

                            Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.

                            + *

                            Default: ipv4 + *

                            + */ + TunnelInsideIpVersion?: TunnelInsideIpVersion | string; } export namespace VpnConnectionOptionsSpecification { @@ -5582,11 +5930,6 @@ export namespace VpnConnectionOptionsSpecification { *

                            Contains the parameters for CreateVpnConnection.

                            */ export interface CreateVpnConnectionRequest { - /** - *

                            The type of VPN connection (ipsec.1).

                            - */ - Type: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -5595,9 +5938,14 @@ export interface CreateVpnConnectionRequest { DryRun?: boolean; /** - *

                            The options for the VPN connection.

                            + *

                            The ID of the virtual private gateway. If you specify a virtual private gateway, you cannot specify a transit gateway.

                            */ - Options?: VpnConnectionOptionsSpecification; + VpnGatewayId?: string; + + /** + *

                            The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private gateway.

                            + */ + TransitGatewayId?: string; /** *

                            The ID of the customer gateway.

                            @@ -5610,14 +5958,14 @@ export interface CreateVpnConnectionRequest { TagSpecifications?: TagSpecification[]; /** - *

                            The ID of the virtual private gateway. If you specify a virtual private gateway, you cannot specify a transit gateway.

                            + *

                            The type of VPN connection (ipsec.1).

                            */ - VpnGatewayId?: string; + Type: string | undefined; /** - *

                            The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private gateway.

                            + *

                            The options for the VPN connection.

                            */ - TransitGatewayId?: string; + Options?: VpnConnectionOptionsSpecification; } export namespace CreateVpnConnectionRequest { @@ -5743,19 +6091,24 @@ export namespace Phase2IntegrityAlgorithmsListValue { */ export interface TunnelOption { /** - *

                            The number of packets in an IKE replay window.

                            + *

                            The percentage of the rekey window determined by RekeyMarginTimeSeconds during which the rekey time is randomly selected.

                            */ - ReplayWindowSize?: number; + RekeyFuzzPercentage?: number; /** - *

                            The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations.

                            + *

                            The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.

                            */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersListValue[]; + Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsListValue[]; /** - *

                            The number of seconds after which a DPD timeout occurs.

                            + *

                            The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey.

                            */ - DpdTimeoutSeconds?: number; + RekeyMarginTimeSeconds?: number; + + /** + *

                            The range of inside IPv6 addresses for the tunnel.

                            + */ + TunnelInsideIpv6Cidr?: string; /** *

                            The lifetime for phase 1 of the IKE negotiation, in seconds.

                            @@ -5763,65 +6116,75 @@ export interface TunnelOption { Phase1LifetimeSeconds?: number; /** - *

                            The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations.

                            + *

                            The range of inside IPv4 addresses for the tunnel.

                            */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersListValue[]; + TunnelInsideCidr?: string; /** - *

                            The range of inside IP addresses for the tunnel.

                            + *

                            The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations.

                            */ - TunnelInsideCidr?: string; + Phase2DHGroupNumbers?: Phase2DHGroupNumbersListValue[]; /** - *

                            The IKE versions that are permitted for the VPN tunnel.

                            + *

                            The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.

                            */ - IkeVersions?: IKEVersionsListValue[]; + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsListValue[]; /** - *

                            The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey.

                            + *

                            The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.

                            */ - RekeyMarginTimeSeconds?: number; + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsListValue[]; /** - *

                            The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.

                            + *

                            The pre-shared key (PSK) to establish initial authentication between the virtual + * private gateway and the customer gateway.

                            */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsListValue[]; + PreSharedKey?: string; /** - *

                            The lifetime for phase 2 of the IKE negotiation, in seconds.

                            + *

                            The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations.

                            */ - Phase2LifetimeSeconds?: number; + Phase1DHGroupNumbers?: Phase1DHGroupNumbersListValue[]; /** - *

                            The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.

                            + *

                            The external IP address of the VPN tunnel.

                            */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsListValue[]; + OutsideIpAddress?: string; /** - *

                            The pre-shared key (PSK) to establish initial authentication between the virtual - * private gateway and the customer gateway.

                            + *

                            The action to take when the establishing the VPN tunnels for a VPN connection.

                            */ - PreSharedKey?: string; + StartupAction?: string; /** - *

                            The external IP address of the VPN tunnel.

                            + *

                            The action to take after a DPD timeout occurs.

                            */ - OutsideIpAddress?: string; + DpdTimeoutAction?: string; /** - *

                            The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.

                            + *

                            The lifetime for phase 2 of the IKE negotiation, in seconds.

                            */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsListValue[]; + Phase2LifetimeSeconds?: number; /** - *

                            The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.

                            + *

                            The IKE versions that are permitted for the VPN tunnel.

                            */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsListValue[]; + IkeVersions?: IKEVersionsListValue[]; /** - *

                            The percentage of the rekey window determined by RekeyMarginTimeSeconds during which the rekey time is randomly selected.

                            + *

                            The number of seconds after which a DPD timeout occurs.

                            */ - RekeyFuzzPercentage?: number; + DpdTimeoutSeconds?: number; + + /** + *

                            The number of packets in an IKE replay window.

                            + */ + ReplayWindowSize?: number; + + /** + *

                            The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.

                            + */ + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsListValue[]; } export namespace TunnelOption { @@ -5835,9 +6198,9 @@ export namespace TunnelOption { */ export interface VpnConnectionOptions { /** - *

                            Indicates whether acceleration is enabled for the VPN connection.

                            + *

                            Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.

                            */ - EnableAcceleration?: boolean; + TunnelInsideIpVersion?: TunnelInsideIpVersion | string; /** *

                            Indicates the VPN tunnel options.

                            @@ -5848,6 +6211,31 @@ export interface VpnConnectionOptions { *

                            Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

                            */ StaticRoutesOnly?: boolean; + + /** + *

                            Indicates whether acceleration is enabled for the VPN connection.

                            + */ + EnableAcceleration?: boolean; + + /** + *

                            The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

                            + */ + LocalIpv6NetworkCidr?: string; + + /** + *

                            The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

                            + */ + LocalIpv4NetworkCidr?: string; + + /** + *

                            The IPv4 CIDR on the AWS side of the VPN connection.

                            + */ + RemoteIpv4NetworkCidr?: string; + + /** + *

                            The IPv6 CIDR on the AWS side of the VPN connection.

                            + */ + RemoteIpv6NetworkCidr?: string; } export namespace VpnConnectionOptions { @@ -5865,9 +6253,9 @@ export type VpnState = "available" | "deleted" | "deleting" | "pending"; */ export interface VpnStaticRoute { /** - *

                            Indicates how the routes were provided.

                            + *

                            The CIDR block associated with the local subnet of the customer data center.

                            */ - Source?: VpnStaticRouteSource | string; + DestinationCidrBlock?: string; /** *

                            The current state of the static route.

                            @@ -5875,9 +6263,9 @@ export interface VpnStaticRoute { State?: VpnState | string; /** - *

                            The CIDR block associated with the local subnet of the customer data center.

                            + *

                            Indicates how the routes were provided.

                            */ - DestinationCidrBlock?: string; + Source?: VpnStaticRouteSource | string; } export namespace VpnStaticRoute { @@ -5893,34 +6281,34 @@ export type TelemetryStatus = "DOWN" | "UP"; */ export interface VgwTelemetry { /** - *

                            The number of accepted routes.

                            + *

                            The Internet-routable IP address of the virtual private gateway's outside interface.

                            */ - AcceptedRouteCount?: number; + OutsideIpAddress?: string; /** - *

                            The date and time of the last change in status.

                            + *

                            If an error occurs, a description of the error.

                            */ - LastStatusChange?: Date; + StatusMessage?: string; /** - *

                            The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.

                            + *

                            The number of accepted routes.

                            */ - CertificateArn?: string; + AcceptedRouteCount?: number; /** - *

                            The Internet-routable IP address of the virtual private gateway's outside interface.

                            + *

                            The status of the VPN tunnel.

                            */ - OutsideIpAddress?: string; + Status?: TelemetryStatus | string; /** - *

                            If an error occurs, a description of the error.

                            + *

                            The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.

                            */ - StatusMessage?: string; + CertificateArn?: string; /** - *

                            The status of the VPN tunnel.

                            + *

                            The date and time of the last change in status.

                            */ - Status?: TelemetryStatus | string; + LastStatusChange?: Date; } export namespace VgwTelemetry { @@ -5934,14 +6322,14 @@ export namespace VgwTelemetry { */ export interface VpnConnection { /** - *

                            The type of VPN connection.

                            + *

                            The ID of the transit gateway associated with the VPN connection.

                            */ - Type?: GatewayType | string; + TransitGatewayId?: string; /** - *

                            The ID of the virtual private gateway at the AWS side of the VPN connection.

                            + *

                            Any tags assigned to the VPN connection.

                            */ - VpnGatewayId?: string; + Tags?: Tag[]; /** *

                            Information about the VPN tunnel.

                            @@ -5949,29 +6337,19 @@ export interface VpnConnection { VgwTelemetry?: VgwTelemetry[]; /** - *

                            The ID of the customer gateway at your end of the VPN connection.

                            - */ - CustomerGatewayId?: string; - - /** - *

                            The ID of the transit gateway associated with the VPN connection.

                            - */ - TransitGatewayId?: string; - - /** - *

                            The static routes associated with the VPN connection.

                            + *

                            The type of VPN connection.

                            */ - Routes?: VpnStaticRoute[]; + Type?: GatewayType | string; /** - *

                            The VPN connection options.

                            + *

                            The ID of the customer gateway at your end of the VPN connection.

                            */ - Options?: VpnConnectionOptions; + CustomerGatewayId?: string; /** - *

                            The ID of the VPN connection.

                            + *

                            The ID of the virtual private gateway at the AWS side of the VPN connection.

                            */ - VpnConnectionId?: string; + VpnGatewayId?: string; /** *

                            The configuration information for the VPN connection's customer gateway (in the native XML @@ -5981,21 +6359,31 @@ export interface VpnConnection { */ CustomerGatewayConfiguration?: string; + /** + *

                            The category of the VPN connection. A value of VPN indicates an AWS VPN + * connection. A value of VPN-Classic indicates an AWS Classic VPN connection.

                            + */ + Category?: string; + /** *

                            The current state of the VPN connection.

                            */ State?: VpnState | string; /** - *

                            The category of the VPN connection. A value of VPN indicates an AWS VPN - * connection. A value of VPN-Classic indicates an AWS Classic VPN connection.

                            + *

                            The static routes associated with the VPN connection.

                            */ - Category?: string; + Routes?: VpnStaticRoute[]; /** - *

                            Any tags assigned to the VPN connection.

                            + *

                            The ID of the VPN connection.

                            */ - Tags?: Tag[]; + VpnConnectionId?: string; + + /** + *

                            The VPN connection options.

                            + */ + Options?: VpnConnectionOptions; } export namespace VpnConnection { @@ -6025,14 +6413,14 @@ export namespace CreateVpnConnectionResult { */ export interface CreateVpnConnectionRouteRequest { /** - *

                            The ID of the VPN connection.

                            + *

                            The CIDR block associated with the local subnet of the customer network.

                            */ - VpnConnectionId: string | undefined; + DestinationCidrBlock: string | undefined; /** - *

                            The CIDR block associated with the local subnet of the customer network.

                            + *

                            The ID of the VPN connection.

                            */ - DestinationCidrBlock: string | undefined; + VpnConnectionId: string | undefined; } export namespace CreateVpnConnectionRouteRequest { @@ -6046,14 +6434,16 @@ export namespace CreateVpnConnectionRouteRequest { */ export interface CreateVpnGatewayRequest { /** - *

                            The Availability Zone for the virtual private gateway.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - AvailabilityZone?: string; + DryRun?: boolean; /** - *

                            The tags to apply to the virtual private gateway.

                            + *

                            The type of VPN connection this virtual private gateway supports.

                            */ - TagSpecifications?: TagSpecification[]; + Type: GatewayType | string | undefined; /** *

                            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.

                            @@ -6062,16 +6452,14 @@ export interface CreateVpnGatewayRequest { AmazonSideAsn?: number; /** - *

                            The type of VPN connection this virtual private gateway supports.

                            + *

                            The Availability Zone for the virtual private gateway.

                            */ - Type: GatewayType | string | undefined; + AvailabilityZone?: string; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The tags to apply to the virtual private gateway.

                            */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; } export namespace CreateVpnGatewayRequest { @@ -6085,39 +6473,39 @@ export namespace CreateVpnGatewayRequest { */ export interface VpnGateway { /** - *

                            The ID of the virtual private gateway.

                            + *

                            The private Autonomous System Number (ASN) for the Amazon side of a BGP session.

                            */ - VpnGatewayId?: string; + AmazonSideAsn?: number; /** - *

                            The current state of the virtual private gateway.

                            + *

                            The ID of the virtual private gateway.

                            */ - State?: VpnState | string; + VpnGatewayId?: string; /** - *

                            Any tags assigned to the virtual private gateway.

                            + *

                            The type of VPN connection the virtual private gateway supports.

                            */ - Tags?: Tag[]; + Type?: GatewayType | string; /** - *

                            Any VPCs attached to the virtual private gateway.

                            + *

                            The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

                            */ - VpcAttachments?: VpcAttachment[]; + AvailabilityZone?: string; /** - *

                            The private Autonomous System Number (ASN) for the Amazon side of a BGP session.

                            + *

                            The current state of the virtual private gateway.

                            */ - AmazonSideAsn?: number; + State?: VpnState | string; /** - *

                            The type of VPN connection the virtual private gateway supports.

                            + *

                            Any VPCs attached to the virtual private gateway.

                            */ - Type?: GatewayType | string; + VpcAttachments?: VpcAttachment[]; /** - *

                            The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

                            + *

                            Any tags assigned to the virtual private gateway.

                            */ - AvailabilityZone?: string; + Tags?: Tag[]; } export namespace VpnGateway { @@ -6142,16 +6530,49 @@ export namespace CreateVpnGatewayResult { }); } -export interface DeleteClientVpnEndpointRequest { +export interface DeleteCarrierGatewayRequest { /** - *

                            The ID of the Client VPN to be deleted.

                            + *

                            The ID of the carrier gateway.

                            */ - ClientVpnEndpointId: string | undefined; + CarrierGatewayId: string | undefined; + + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; +} + +export namespace DeleteCarrierGatewayRequest { + export const filterSensitiveLog = (obj: DeleteCarrierGatewayRequest): any => ({ + ...obj, + }); +} + +export interface DeleteCarrierGatewayResult { + /** + *

                            Information about the carrier gateway.

                            + */ + CarrierGateway?: CarrierGateway; +} + +export namespace DeleteCarrierGatewayResult { + export const filterSensitiveLog = (obj: DeleteCarrierGatewayResult): any => ({ + ...obj, + }); +} +export interface DeleteClientVpnEndpointRequest { /** *

                            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The ID of the Client VPN to be deleted.

                            + */ + ClientVpnEndpointId: string | undefined; } export namespace DeleteClientVpnEndpointRequest { @@ -6180,9 +6601,9 @@ export interface DeleteClientVpnRouteRequest { DryRun?: boolean; /** - *

                            The IPv4 address range, in CIDR notation, of the route to be deleted.

                            + *

                            The ID of the Client VPN endpoint from which the route is to be deleted.

                            */ - DestinationCidrBlock: string | undefined; + ClientVpnEndpointId: string | undefined; /** *

                            The ID of the target subnet used by the route.

                            @@ -6190,9 +6611,9 @@ export interface DeleteClientVpnRouteRequest { TargetVpcSubnetId?: string; /** - *

                            The ID of the Client VPN endpoint from which the route is to be deleted.

                            + *

                            The IPv4 address range, in CIDR notation, of the route to be deleted.

                            */ - ClientVpnEndpointId: string | undefined; + DestinationCidrBlock: string | undefined; } export namespace DeleteClientVpnRouteRequest { @@ -6258,17 +6679,17 @@ export namespace DeleteDhcpOptionsRequest { } export interface DeleteEgressOnlyInternetGatewayRequest { - /** - *

                            The ID of the egress-only internet gateway.

                            - */ - EgressOnlyInternetGatewayId: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The ID of the egress-only internet gateway.

                            + */ + EgressOnlyInternetGatewayId: string | undefined; } export namespace DeleteEgressOnlyInternetGatewayRequest { @@ -6291,17 +6712,17 @@ export namespace DeleteEgressOnlyInternetGatewayResult { } export interface DeleteFleetsRequest { - /** - *

                            The IDs of the EC2 Fleets.

                            - */ - FleetIds: string[] | undefined; - /** *

                            Indicates whether to terminate instances for an EC2 Fleet if it is deleted * successfully.

                            */ TerminateInstances: boolean | undefined; + /** + *

                            The IDs of the EC2 Fleets.

                            + */ + FleetIds: string[] | undefined; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -6330,6 +6751,11 @@ export enum FleetStateCode { *

                            Describes an EC2 Fleet that was successfully deleted.

                            */ export interface DeleteFleetSuccessItem { + /** + *

                            The previous state of the EC2 Fleet.

                            + */ + PreviousFleetState?: FleetStateCode | string; + /** *

                            The ID of the EC2 Fleet.

                            */ @@ -6339,11 +6765,6 @@ export interface DeleteFleetSuccessItem { *

                            The current state of the EC2 Fleet.

                            */ CurrentFleetState?: FleetStateCode | string; - - /** - *

                            The previous state of the EC2 Fleet.

                            - */ - PreviousFleetState?: FleetStateCode | string; } export namespace DeleteFleetSuccessItem { @@ -6364,14 +6785,14 @@ export enum DeleteFleetErrorCode { */ export interface DeleteFleetError { /** - *

                            The error code.

                            + *

                            The description for the error code.

                            */ - Code?: DeleteFleetErrorCode | string; + Message?: string; /** - *

                            The description for the error code.

                            + *

                            The error code.

                            */ - Message?: string; + Code?: DeleteFleetErrorCode | string; } export namespace DeleteFleetError { @@ -6454,17 +6875,17 @@ export namespace DeleteFlowLogsResult { } export interface DeleteFpgaImageRequest { - /** - *

                            The ID of the AFI.

                            - */ - FpgaImageId: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The ID of the AFI.

                            + */ + FpgaImageId: string | undefined; } export namespace DeleteFpgaImageRequest { @@ -6538,12 +6959,6 @@ export interface DeleteLaunchTemplateRequest { */ LaunchTemplateName?: string; - /** - *

                            The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

                            - */ - LaunchTemplateId?: string; - /** *

                            Checks whether you have the required permissions for the action, without actually * making the request, and provides an error response. If you have the required @@ -6551,6 +6966,12 @@ export interface DeleteLaunchTemplateRequest { * UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

                            + */ + LaunchTemplateId?: string; } export namespace DeleteLaunchTemplateRequest { @@ -6573,12 +6994,6 @@ export namespace DeleteLaunchTemplateResult { } export interface DeleteLaunchTemplateVersionsRequest { - /** - *

                            The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

                            - */ - LaunchTemplateId?: string; - /** *

                            Checks whether you have the required permissions for the action, without actually * making the request, and provides an error response. If you have the required @@ -6587,6 +7002,12 @@ export interface DeleteLaunchTemplateVersionsRequest { */ DryRun?: boolean; + /** + *

                            The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

                            + */ + LaunchTemplateId?: string; + /** *

                            The name of the launch template. You must specify either the launch template ID or * launch template name in the request.

                            @@ -6609,6 +7030,11 @@ export namespace DeleteLaunchTemplateVersionsRequest { *

                            Describes a launch template version that was successfully deleted.

                            */ export interface DeleteLaunchTemplateVersionsResponseSuccessItem { + /** + *

                            The ID of the launch template.

                            + */ + LaunchTemplateId?: string; + /** *

                            The name of the launch template.

                            */ @@ -6618,11 +7044,6 @@ export interface DeleteLaunchTemplateVersionsResponseSuccessItem { *

                            The version number of the launch template.

                            */ VersionNumber?: number; - - /** - *

                            The ID of the launch template.

                            - */ - LaunchTemplateId?: string; } export namespace DeleteLaunchTemplateVersionsResponseSuccessItem { @@ -6646,14 +7067,14 @@ export enum LaunchTemplateErrorCode { */ export interface ResponseError { /** - *

                            The error code.

                            + *

                            The error message, if applicable.

                            */ - Code?: LaunchTemplateErrorCode | string; + Message?: string; /** - *

                            The error message, if applicable.

                            + *

                            The error code.

                            */ - Message?: string; + Code?: LaunchTemplateErrorCode | string; } export namespace ResponseError { @@ -6666,25 +7087,25 @@ export namespace ResponseError { *

                            Describes a launch template version that could not be deleted.

                            */ export interface DeleteLaunchTemplateVersionsResponseErrorItem { - /** - *

                            The name of the launch template.

                            - */ - LaunchTemplateName?: string; - /** *

                            The version number of the launch template.

                            */ VersionNumber?: number; /** - *

                            Information about the error.

                            + *

                            The name of the launch template.

                            */ - ResponseError?: ResponseError; + LaunchTemplateName?: string; /** *

                            The ID of the launch template.

                            */ LaunchTemplateId?: string; + + /** + *

                            Information about the error.

                            + */ + ResponseError?: ResponseError; } export namespace DeleteLaunchTemplateVersionsResponseErrorItem { @@ -6694,16 +7115,16 @@ export namespace DeleteLaunchTemplateVersionsResponseErrorItem { } export interface DeleteLaunchTemplateVersionsResult { - /** - *

                            Information about the launch template versions that could not be deleted.

                            - */ - UnsuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseErrorItem[]; - /** *

                            Information about the launch template versions that were successfully * deleted.

                            */ SuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseSuccessItem[]; + + /** + *

                            Information about the launch template versions that could not be deleted.

                            + */ + UnsuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseErrorItem[]; } export namespace DeleteLaunchTemplateVersionsResult { @@ -6784,17 +7205,17 @@ export namespace DeleteLocalGatewayRouteTableVpcAssociationResult { } export interface DeleteManagedPrefixListRequest { - /** - *

                            The ID of the prefix list.

                            - */ - PrefixListId: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The ID of the prefix list.

                            + */ + PrefixListId: string | undefined; } export namespace DeleteManagedPrefixListRequest { @@ -6817,17 +7238,17 @@ export namespace DeleteManagedPrefixListResult { } export interface DeleteNatGatewayRequest { + /** + *

                            The ID of the NAT gateway.

                            + */ + NatGatewayId: string | undefined; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; - - /** - *

                            The ID of the NAT gateway.

                            - */ - NatGatewayId: string | undefined; } export namespace DeleteNatGatewayRequest { @@ -6871,14 +7292,14 @@ export namespace DeleteNetworkAclRequest { export interface DeleteNetworkAclEntryRequest { /** - *

                            The ID of the network ACL.

                            + *

                            Indicates whether the rule is an egress rule.

                            */ - NetworkAclId: string | undefined; + Egress: boolean | undefined; /** - *

                            Indicates whether the rule is an egress rule.

                            + *

                            The ID of the network ACL.

                            */ - Egress: boolean | undefined; + NetworkAclId: string | undefined; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -6903,17 +7324,17 @@ export namespace DeleteNetworkAclEntryRequest { *

                            Contains the parameters for DeleteNetworkInterface.

                            */ export interface DeleteNetworkInterfaceRequest { + /** + *

                            The ID of the network interface.

                            + */ + NetworkInterfaceId: string | undefined; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; - - /** - *

                            The ID of the network interface.

                            - */ - NetworkInterfaceId: string | undefined; } export namespace DeleteNetworkInterfaceRequest { @@ -6927,9 +7348,11 @@ export namespace DeleteNetworkInterfaceRequest { */ export interface DeleteNetworkInterfacePermissionRequest { /** - *

                            The ID of the network interface permission.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - NetworkInterfacePermissionId: string | undefined; + DryRun?: boolean; /** *

                            Specify true to remove the permission even if the network interface is @@ -6938,11 +7361,9 @@ export interface DeleteNetworkInterfacePermissionRequest { Force?: boolean; /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The ID of the network interface permission.

                            */ - DryRun?: boolean; + NetworkInterfacePermissionId: string | undefined; } export namespace DeleteNetworkInterfacePermissionRequest { @@ -6968,17 +7389,17 @@ export namespace DeleteNetworkInterfacePermissionResult { } export interface DeletePlacementGroupRequest { - /** - *

                            The name of the placement group.

                            - */ - GroupName: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The name of the placement group.

                            + */ + GroupName: string | undefined; } export namespace DeletePlacementGroupRequest { @@ -7039,14 +7460,14 @@ export namespace DeleteQueuedReservedInstancesError { */ export interface FailedQueuedPurchaseDeletion { /** - *

                            The ID of the Reserved Instance.

                            + *

                            The error.

                            */ - ReservedInstancesId?: string; + Error?: DeleteQueuedReservedInstancesError; /** - *

                            The error.

                            + *

                            The ID of the Reserved Instance.

                            */ - Error?: DeleteQueuedReservedInstancesError; + ReservedInstancesId?: string; } export namespace FailedQueuedPurchaseDeletion { @@ -7073,14 +7494,14 @@ export namespace SuccessfulQueuedPurchaseDeletion { export interface DeleteQueuedReservedInstancesResult { /** - *

                            Information about the queued purchases that were successfully deleted.

                            + *

                            Information about the queued purchases that could not be deleted.

                            */ - SuccessfulQueuedPurchaseDeletions?: SuccessfulQueuedPurchaseDeletion[]; + FailedQueuedPurchaseDeletions?: FailedQueuedPurchaseDeletion[]; /** - *

                            Information about the queued purchases that could not be deleted.

                            + *

                            Information about the queued purchases that were successfully deleted.

                            */ - FailedQueuedPurchaseDeletions?: FailedQueuedPurchaseDeletion[]; + SuccessfulQueuedPurchaseDeletions?: SuccessfulQueuedPurchaseDeletion[]; } export namespace DeleteQueuedReservedInstancesResult { @@ -7091,9 +7512,14 @@ export namespace DeleteQueuedReservedInstancesResult { export interface DeleteRouteRequest { /** - *

                            The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

                            + *

                            The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

                            */ - DestinationIpv6CidrBlock?: string; + DestinationCidrBlock?: string; + + /** + *

                            The ID of the prefix list for the route.

                            + */ + DestinationPrefixListId?: string; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -7102,20 +7528,15 @@ export interface DeleteRouteRequest { */ DryRun?: boolean; - /** - *

                            The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

                            - */ - DestinationCidrBlock?: string; - /** *

                            The ID of the route table.

                            */ RouteTableId: string | undefined; /** - *

                            The ID of the prefix list for the route.

                            + *

                            The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

                            */ - DestinationPrefixListId?: string; + DestinationIpv6CidrBlock?: string; } export namespace DeleteRouteRequest { @@ -7125,17 +7546,17 @@ export namespace DeleteRouteRequest { } export interface DeleteRouteTableRequest { - /** - *

                            The ID of the route table.

                            - */ - RouteTableId: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The ID of the route table.

                            + */ + RouteTableId: string | undefined; } export namespace DeleteRouteTableRequest { @@ -7145,11 +7566,6 @@ export namespace DeleteRouteTableRequest { } export interface DeleteSecurityGroupRequest { - /** - *

                            [EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

                            - */ - GroupName?: string; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -7157,6 +7573,11 @@ export interface DeleteSecurityGroupRequest { */ DryRun?: boolean; + /** + *

                            [EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

                            + */ + GroupName?: string; + /** *

                            The ID of the security group. Required for a nondefault VPC.

                            */ @@ -7170,17 +7591,17 @@ export namespace DeleteSecurityGroupRequest { } export interface DeleteSnapshotRequest { + /** + *

                            The ID of the EBS snapshot.

                            + */ + SnapshotId: string | undefined; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; - - /** - *

                            The ID of the EBS snapshot.

                            - */ - SnapshotId: string | undefined; } export namespace DeleteSnapshotRequest { @@ -7293,17 +7714,17 @@ export namespace DeleteTrafficMirrorFilterResult { } export interface DeleteTrafficMirrorFilterRuleRequest { - /** - *

                            The ID of the Traffic Mirror rule.

                            - */ - TrafficMirrorFilterRuleId: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The ID of the Traffic Mirror rule.

                            + */ + TrafficMirrorFilterRuleId: string | undefined; } export namespace DeleteTrafficMirrorFilterRuleRequest { @@ -7326,17 +7747,17 @@ export namespace DeleteTrafficMirrorFilterRuleResult { } export interface DeleteTrafficMirrorSessionRequest { + /** + *

                            The ID of the Traffic Mirror session.

                            + */ + TrafficMirrorSessionId: string | undefined; + /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; - - /** - *

                            The ID of the Traffic Mirror session.

                            - */ - TrafficMirrorSessionId: string | undefined; } export namespace DeleteTrafficMirrorSessionRequest { @@ -7359,17 +7780,17 @@ export namespace DeleteTrafficMirrorSessionResult { } export interface DeleteTrafficMirrorTargetRequest { - /** - *

                            The ID of the Traffic Mirror target.

                            - */ - TrafficMirrorTargetId: string | undefined; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The ID of the Traffic Mirror target.

                            + */ + TrafficMirrorTargetId: string | undefined; } export namespace DeleteTrafficMirrorTargetRequest { @@ -7490,192 +7911,54 @@ export namespace DeleteTransitGatewayPeeringAttachmentResult { }); } -export interface DeleteTransitGatewayRouteRequest { - /** - *

                            The CIDR range for the route. This must match the CIDR for the route exactly.

                            - */ - DestinationCidrBlock: string | undefined; - - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            - */ - DryRun?: boolean; - - /** - *

                            The ID of the transit gateway route table.

                            - */ - TransitGatewayRouteTableId: string | undefined; -} - -export namespace DeleteTransitGatewayRouteRequest { - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteRequest): any => ({ - ...obj, - }); -} - -export interface DeleteTransitGatewayRouteResult { +export interface DeleteTransitGatewayPrefixListReferenceRequest { /** - *

                            Information about the route.

                            - */ - Route?: TransitGatewayRoute; -} - -export namespace DeleteTransitGatewayRouteResult { - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteResult): any => ({ - ...obj, - }); -} - -export interface DeleteTransitGatewayRouteTableRequest { - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The ID of the prefix list.

                            */ - DryRun?: boolean; + PrefixListId: string | undefined; /** - *

                            The ID of the transit gateway route table.

                            + *

                            The ID of the route table.

                            */ TransitGatewayRouteTableId: string | undefined; -} - -export namespace DeleteTransitGatewayRouteTableRequest { - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableRequest): any => ({ - ...obj, - }); -} - -export interface DeleteTransitGatewayRouteTableResult { - /** - *

                            Information about the deleted transit gateway route table.

                            - */ - TransitGatewayRouteTable?: TransitGatewayRouteTable; -} - -export namespace DeleteTransitGatewayRouteTableResult { - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableResult): any => ({ - ...obj, - }); -} - -export interface DeleteTransitGatewayVpcAttachmentRequest { - /** - *

                            The ID of the attachment.

                            - */ - TransitGatewayAttachmentId: string | undefined; - - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            - */ - DryRun?: boolean; -} - -export namespace DeleteTransitGatewayVpcAttachmentRequest { - export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentRequest): any => ({ - ...obj, - }); -} - -export interface DeleteTransitGatewayVpcAttachmentResult { - /** - *

                            Information about the deleted VPC attachment.

                            - */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; -} - -export namespace DeleteTransitGatewayVpcAttachmentResult { - export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentResult): any => ({ - ...obj, - }); -} - -export interface DeleteVolumeRequest { - /** - *

                            The ID of the volume.

                            - */ - VolumeId: string | undefined; - - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            - */ - DryRun?: boolean; -} -export namespace DeleteVolumeRequest { - export const filterSensitiveLog = (obj: DeleteVolumeRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVpcRequest { /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; - - /** - *

                            The ID of the VPC.

                            - */ - VpcId: string | undefined; } -export namespace DeleteVpcRequest { - export const filterSensitiveLog = (obj: DeleteVpcRequest): any => ({ +export namespace DeleteTransitGatewayPrefixListReferenceRequest { + export const filterSensitiveLog = (obj: DeleteTransitGatewayPrefixListReferenceRequest): any => ({ ...obj, }); } -export interface DeleteVpcEndpointConnectionNotificationsRequest { +export interface DeleteTransitGatewayPrefixListReferenceResult { /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            Information about the deleted prefix list reference.

                            */ - DryRun?: boolean; - - /** - *

                            One or more notification IDs.

                            - */ - ConnectionNotificationIds: string[] | undefined; + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; } -export namespace DeleteVpcEndpointConnectionNotificationsRequest { - export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsRequest): any => ({ +export namespace DeleteTransitGatewayPrefixListReferenceResult { + export const filterSensitiveLog = (obj: DeleteTransitGatewayPrefixListReferenceResult): any => ({ ...obj, }); } -export interface DeleteVpcEndpointConnectionNotificationsResult { +export interface DeleteTransitGatewayRouteRequest { /** - *

                            Information about the notifications that could not be deleted - * successfully.

                            + *

                            The ID of the transit gateway route table.

                            */ - Unsuccessful?: UnsuccessfulItem[]; -} - -export namespace DeleteVpcEndpointConnectionNotificationsResult { - export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsResult): any => ({ - ...obj, - }); -} + TransitGatewayRouteTableId: string | undefined; -/** - *

                            Contains the parameters for DeleteVpcEndpoints.

                            - */ -export interface DeleteVpcEndpointsRequest { /** - *

                            One or more VPC endpoint IDs.

                            + *

                            The CIDR range for the route. This must match the CIDR for the route exactly.

                            */ - VpcEndpointIds: string[] | undefined; + DestinationCidrBlock: string | undefined; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -7685,33 +7968,30 @@ export interface DeleteVpcEndpointsRequest { DryRun?: boolean; } -export namespace DeleteVpcEndpointsRequest { - export const filterSensitiveLog = (obj: DeleteVpcEndpointsRequest): any => ({ +export namespace DeleteTransitGatewayRouteRequest { + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteRequest): any => ({ ...obj, }); } -/** - *

                            Contains the output of DeleteVpcEndpoints.

                            - */ -export interface DeleteVpcEndpointsResult { +export interface DeleteTransitGatewayRouteResult { /** - *

                            Information about the VPC endpoints that were not successfully deleted.

                            + *

                            Information about the route.

                            */ - Unsuccessful?: UnsuccessfulItem[]; + Route?: TransitGatewayRoute; } -export namespace DeleteVpcEndpointsResult { - export const filterSensitiveLog = (obj: DeleteVpcEndpointsResult): any => ({ +export namespace DeleteTransitGatewayRouteResult { + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteResult): any => ({ ...obj, }); } -export interface DeleteVpcEndpointServiceConfigurationsRequest { +export interface DeleteTransitGatewayRouteTableRequest { /** - *

                            The IDs of one or more services.

                            + *

                            The ID of the transit gateway route table.

                            */ - ServiceIds: string[] | undefined; + TransitGatewayRouteTableId: string | undefined; /** *

                            Checks whether you have the required permissions for the action, without actually making the request, @@ -7721,27 +8001,26 @@ export interface DeleteVpcEndpointServiceConfigurationsRequest { DryRun?: boolean; } -export namespace DeleteVpcEndpointServiceConfigurationsRequest { - export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsRequest): any => ({ +export namespace DeleteTransitGatewayRouteTableRequest { + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableRequest): any => ({ ...obj, }); } -export interface DeleteVpcEndpointServiceConfigurationsResult { +export interface DeleteTransitGatewayRouteTableResult { /** - *

                            Information about the service configurations that were not deleted, if - * applicable.

                            + *

                            Information about the deleted transit gateway route table.

                            */ - Unsuccessful?: UnsuccessfulItem[]; + TransitGatewayRouteTable?: TransitGatewayRouteTable; } -export namespace DeleteVpcEndpointServiceConfigurationsResult { - export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsResult): any => ({ +export namespace DeleteTransitGatewayRouteTableResult { + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableResult): any => ({ ...obj, }); } -export interface DeleteVpcPeeringConnectionRequest { +export interface DeleteTransitGatewayVpcAttachmentRequest { /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -7750,127 +8029,46 @@ export interface DeleteVpcPeeringConnectionRequest { DryRun?: boolean; /** - *

                            The ID of the VPC peering connection.

                            - */ - VpcPeeringConnectionId: string | undefined; -} - -export namespace DeleteVpcPeeringConnectionRequest { - export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVpcPeeringConnectionResult { - /** - *

                            Returns true if the request succeeds; otherwise, it returns an error.

                            - */ - Return?: boolean; -} - -export namespace DeleteVpcPeeringConnectionResult { - export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionResult): any => ({ - ...obj, - }); -} - -/** - *

                            Contains the parameters for DeleteVpnConnection.

                            - */ -export interface DeleteVpnConnectionRequest { - /** - *

                            The ID of the VPN connection.

                            - */ - VpnConnectionId: string | undefined; - - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            - */ - DryRun?: boolean; -} - -export namespace DeleteVpnConnectionRequest { - export const filterSensitiveLog = (obj: DeleteVpnConnectionRequest): any => ({ - ...obj, - }); -} - -/** - *

                            Contains the parameters for DeleteVpnConnectionRoute.

                            - */ -export interface DeleteVpnConnectionRouteRequest { - /** - *

                            The ID of the VPN connection.

                            - */ - VpnConnectionId: string | undefined; - - /** - *

                            The CIDR block associated with the local subnet of the customer network.

                            + *

                            The ID of the attachment.

                            */ - DestinationCidrBlock: string | undefined; + TransitGatewayAttachmentId: string | undefined; } -export namespace DeleteVpnConnectionRouteRequest { - export const filterSensitiveLog = (obj: DeleteVpnConnectionRouteRequest): any => ({ +export namespace DeleteTransitGatewayVpcAttachmentRequest { + export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentRequest): any => ({ ...obj, }); } -/** - *

                            Contains the parameters for DeleteVpnGateway.

                            - */ -export interface DeleteVpnGatewayRequest { - /** - *

                            The ID of the virtual private gateway.

                            - */ - VpnGatewayId: string | undefined; - +export interface DeleteTransitGatewayVpcAttachmentResult { /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            Information about the deleted VPC attachment.

                            */ - DryRun?: boolean; + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; } -export namespace DeleteVpnGatewayRequest { - export const filterSensitiveLog = (obj: DeleteVpnGatewayRequest): any => ({ +export namespace DeleteTransitGatewayVpcAttachmentResult { + export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentResult): any => ({ ...obj, }); } -export interface DeprovisionByoipCidrRequest { - /** - *

                            The address range, in CIDR notation. The prefix must be the same prefix - * that you specified when you provisioned the address range.

                            - */ - Cidr: string | undefined; - +export interface DeleteVolumeRequest { /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; -} - -export namespace DeprovisionByoipCidrRequest { - export const filterSensitiveLog = (obj: DeprovisionByoipCidrRequest): any => ({ - ...obj, - }); -} -export interface DeprovisionByoipCidrResult { /** - *

                            Information about the address range.

                            + *

                            The ID of the volume.

                            */ - ByoipCidr?: ByoipCidr; + VolumeId: string | undefined; } -export namespace DeprovisionByoipCidrResult { - export const filterSensitiveLog = (obj: DeprovisionByoipCidrResult): any => ({ +export namespace DeleteVolumeRequest { + export const filterSensitiveLog = (obj: DeleteVolumeRequest): any => ({ ...obj, }); } diff --git a/clients/client-ec2/models/models_2.ts b/clients/client-ec2/models/models_2.ts index 081d825c3b33..9eaaf7cf7059 100644 --- a/clients/client-ec2/models/models_2.ts +++ b/clients/client-ec2/models/models_2.ts @@ -14,6 +14,7 @@ import { ByoipCidr, CapacityReservation, CapacityReservationPreference, + CarrierGateway, ClientVpnAuthenticationType, ClientVpnAuthorizationRuleStatus, ClientVpnEndpointStatus, @@ -46,6 +47,7 @@ import { Tag, TrafficType, TransportProtocol, + UnsuccessfulItem, _InstanceType, } from "./models_0"; import { @@ -56,31 +58,286 @@ import { LaunchTemplateVersion, LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, - NatGateway, - NetworkAcl, - NetworkInterface, - NetworkInterfaceAttachment, - NetworkInterfacePermission, NetworkInterfaceStatus, - PlacementGroup, } from "./models_1"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +export interface DeleteVpcRequest { + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; + + /** + *

                            The ID of the VPC.

                            + */ + VpcId: string | undefined; +} + +export namespace DeleteVpcRequest { + export const filterSensitiveLog = (obj: DeleteVpcRequest): any => ({ + ...obj, + }); +} + +export interface DeleteVpcEndpointConnectionNotificationsRequest { + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; + + /** + *

                            One or more notification IDs.

                            + */ + ConnectionNotificationIds: string[] | undefined; +} + +export namespace DeleteVpcEndpointConnectionNotificationsRequest { + export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsRequest): any => ({ + ...obj, + }); +} + +export interface DeleteVpcEndpointConnectionNotificationsResult { + /** + *

                            Information about the notifications that could not be deleted + * successfully.

                            + */ + Unsuccessful?: UnsuccessfulItem[]; +} + +export namespace DeleteVpcEndpointConnectionNotificationsResult { + export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsResult): any => ({ + ...obj, + }); +} + /** - *

                            Contains the parameters for DeregisterImage.

                            + *

                            Contains the parameters for DeleteVpcEndpoints.

                            */ -export interface DeregisterImageRequest { +export interface DeleteVpcEndpointsRequest { /** - *

                            The ID of the AMI.

                            + *

                            One or more VPC endpoint IDs.

                            */ - ImageId: string | undefined; + VpcEndpointIds: string[] | undefined; + + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; +} + +export namespace DeleteVpcEndpointsRequest { + export const filterSensitiveLog = (obj: DeleteVpcEndpointsRequest): any => ({ + ...obj, + }); +} + +/** + *

                            Contains the output of DeleteVpcEndpoints.

                            + */ +export interface DeleteVpcEndpointsResult { + /** + *

                            Information about the VPC endpoints that were not successfully deleted.

                            + */ + Unsuccessful?: UnsuccessfulItem[]; +} + +export namespace DeleteVpcEndpointsResult { + export const filterSensitiveLog = (obj: DeleteVpcEndpointsResult): any => ({ + ...obj, + }); +} + +export interface DeleteVpcEndpointServiceConfigurationsRequest { + /** + *

                            The IDs of one or more services.

                            + */ + ServiceIds: string[] | undefined; + + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; +} + +export namespace DeleteVpcEndpointServiceConfigurationsRequest { + export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsRequest): any => ({ + ...obj, + }); +} + +export interface DeleteVpcEndpointServiceConfigurationsResult { + /** + *

                            Information about the service configurations that were not deleted, if + * applicable.

                            + */ + Unsuccessful?: UnsuccessfulItem[]; +} + +export namespace DeleteVpcEndpointServiceConfigurationsResult { + export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsResult): any => ({ + ...obj, + }); +} + +export interface DeleteVpcPeeringConnectionRequest { + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; + + /** + *

                            The ID of the VPC peering connection.

                            + */ + VpcPeeringConnectionId: string | undefined; +} + +export namespace DeleteVpcPeeringConnectionRequest { + export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionRequest): any => ({ + ...obj, + }); +} + +export interface DeleteVpcPeeringConnectionResult { + /** + *

                            Returns true if the request succeeds; otherwise, it returns an error.

                            + */ + Return?: boolean; +} + +export namespace DeleteVpcPeeringConnectionResult { + export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionResult): any => ({ + ...obj, + }); +} + +/** + *

                            Contains the parameters for DeleteVpnConnection.

                            + */ +export interface DeleteVpnConnectionRequest { + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; + + /** + *

                            The ID of the VPN connection.

                            + */ + VpnConnectionId: string | undefined; +} + +export namespace DeleteVpnConnectionRequest { + export const filterSensitiveLog = (obj: DeleteVpnConnectionRequest): any => ({ + ...obj, + }); +} + +/** + *

                            Contains the parameters for DeleteVpnConnectionRoute.

                            + */ +export interface DeleteVpnConnectionRouteRequest { + /** + *

                            The CIDR block associated with the local subnet of the customer network.

                            + */ + DestinationCidrBlock: string | undefined; + + /** + *

                            The ID of the VPN connection.

                            + */ + VpnConnectionId: string | undefined; +} + +export namespace DeleteVpnConnectionRouteRequest { + export const filterSensitiveLog = (obj: DeleteVpnConnectionRouteRequest): any => ({ + ...obj, + }); +} + +/** + *

                            Contains the parameters for DeleteVpnGateway.

                            + */ +export interface DeleteVpnGatewayRequest { + /** + *

                            The ID of the virtual private gateway.

                            + */ + VpnGatewayId: string | undefined; + + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; +} + +export namespace DeleteVpnGatewayRequest { + export const filterSensitiveLog = (obj: DeleteVpnGatewayRequest): any => ({ + ...obj, + }); +} + +export interface DeprovisionByoipCidrRequest { + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; + + /** + *

                            The address range, in CIDR notation. The prefix must be the same prefix + * that you specified when you provisioned the address range.

                            + */ + Cidr: string | undefined; +} + +export namespace DeprovisionByoipCidrRequest { + export const filterSensitiveLog = (obj: DeprovisionByoipCidrRequest): any => ({ + ...obj, + }); +} + +export interface DeprovisionByoipCidrResult { + /** + *

                            Information about the address range.

                            + */ + ByoipCidr?: ByoipCidr; +} + +export namespace DeprovisionByoipCidrResult { + export const filterSensitiveLog = (obj: DeprovisionByoipCidrResult): any => ({ + ...obj, + }); +} +/** + *

                            Contains the parameters for DeregisterImage.

                            + */ +export interface DeregisterImageRequest { /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            The ID of the AMI.

                            + */ + ImageId: string | undefined; } export namespace DeregisterImageRequest { @@ -114,17 +371,17 @@ export namespace DeregisterInstanceTagAttributeRequest { } export interface DeregisterInstanceEventNotificationAttributesRequest { - /** - *

                            Information about the tag keys to deregister.

                            - */ - InstanceTagAttribute?: DeregisterInstanceTagAttributeRequest; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; + + /** + *

                            Information about the tag keys to deregister.

                            + */ + InstanceTagAttribute?: DeregisterInstanceTagAttributeRequest; } export namespace DeregisterInstanceEventNotificationAttributesRequest { @@ -170,16 +427,14 @@ export namespace DeregisterInstanceEventNotificationAttributesResult { export interface DeregisterTransitGatewayMulticastGroupMembersRequest { /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The IP address assigned to the transit gateway multicast group.

                            */ - DryRun?: boolean; + GroupIpAddress?: string; /** - *

                            The IP address assigned to the transit gateway multicast group.

                            + *

                            The ID of the transit gateway multicast domain.

                            */ - GroupIpAddress?: string; + TransitGatewayMulticastDomainId?: string; /** *

                            The IDs of the group members' network interfaces.

                            @@ -187,9 +442,11 @@ export interface DeregisterTransitGatewayMulticastGroupMembersRequest { NetworkInterfaceIds?: string[]; /** - *

                            The ID of the transit gateway multicast domain.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - TransitGatewayMulticastDomainId?: string; + DryRun?: boolean; } export namespace DeregisterTransitGatewayMulticastGroupMembersRequest { @@ -203,9 +460,9 @@ export namespace DeregisterTransitGatewayMulticastGroupMembersRequest { */ export interface TransitGatewayMulticastDeregisteredGroupMembers { /** - *

                            The IP address assigned to the transit gateway multicast group.

                            + *

                            The network interface IDs of the deregistered members.

                            */ - GroupIpAddress?: string; + DeregisteredNetworkInterfaceIds?: string[]; /** *

                            The ID of the transit gateway multicast domain.

                            @@ -213,9 +470,9 @@ export interface TransitGatewayMulticastDeregisteredGroupMembers { TransitGatewayMulticastDomainId?: string; /** - *

                            The network interface IDs of the deregistered members.

                            + *

                            The IP address assigned to the transit gateway multicast group.

                            */ - DeregisteredNetworkInterfaceIds?: string[]; + GroupIpAddress?: string; } export namespace TransitGatewayMulticastDeregisteredGroupMembers { @@ -243,6 +500,13 @@ export interface DeregisterTransitGatewayMulticastGroupSourcesRequest { */ NetworkInterfaceIds?: string[]; + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; + /** *

                            The IP address assigned to the transit gateway multicast group.

                            */ @@ -252,13 +516,6 @@ export interface DeregisterTransitGatewayMulticastGroupSourcesRequest { *

                            The ID of the transit gateway multicast domain.

                            */ TransitGatewayMulticastDomainId?: string; - - /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            - */ - DryRun?: boolean; } export namespace DeregisterTransitGatewayMulticastGroupSourcesRequest { @@ -271,6 +528,11 @@ export namespace DeregisterTransitGatewayMulticastGroupSourcesRequest { *

                            Describes the deregistered transit gateway multicast group sources.

                            */ export interface TransitGatewayMulticastDeregisteredGroupSources { + /** + *

                            The IP address assigned to the transit gateway multicast group.

                            + */ + GroupIpAddress?: string; + /** *

                            The ID of the transit gateway multicast domain.

                            */ @@ -280,11 +542,6 @@ export interface TransitGatewayMulticastDeregisteredGroupSources { *

                            The network interface IDs of the non-registered members.

                            */ DeregisteredNetworkInterfaceIds?: string[]; - - /** - *

                            The IP address assigned to the transit gateway multicast group.

                            - */ - GroupIpAddress?: string; } export namespace TransitGatewayMulticastDeregisteredGroupSources { @@ -307,20 +564,20 @@ export namespace DeregisterTransitGatewayMulticastGroupSourcesResult { } export interface DescribeAccountAttributesRequest { - /** - *

                            The account attribute names.

                            - */ - AttributeNames?: (AccountAttributeName | string)[]; - /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                            */ DryRun?: boolean; -} -export namespace DescribeAccountAttributesRequest { + /** + *

                            The account attribute names.

                            + */ + AttributeNames?: (AccountAttributeName | string)[]; +} + +export namespace DescribeAccountAttributesRequest { export const filterSensitiveLog = (obj: DescribeAccountAttributesRequest): any => ({ ...obj, }); @@ -398,14 +655,14 @@ export namespace DescribeAccountAttributesResult { */ export interface Filter { /** - *

                            The filter values. Filter values are case-sensitive.

                            + *

                            The name of the filter. Filter names are case-sensitive.

                            */ - Values?: string[]; + Name?: string; /** - *

                            The name of the filter. Filter names are case-sensitive.

                            + *

                            The filter values. Filter values are case-sensitive.

                            */ - Name?: string; + Values?: string[]; } export namespace Filter { @@ -415,6 +672,13 @@ export namespace Filter { } export interface DescribeAddressesRequest { + /** + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            + */ + DryRun?: boolean; + /** *

                            One or more filters. Filter names and values are case-sensitive.

                            *
                              @@ -437,7 +701,8 @@ export interface DescribeAddressesRequest { * *
                            • *

                              - * network-border-group - The location from where the IP address is advertised.

                              + * network-border-group - A unique set of Availability Zones, Local Zones, + * or Wavelength Zones from where AWS advertises IP addresses.

                              *
                            • *
                            • *

                              @@ -453,7 +718,7 @@ export interface DescribeAddressesRequest { *

                            • *
                            • *

                              - * public-ip - The Elastic IP address.

                              + * public-ip - The Elastic IP address, or the carrier IP address.

                              *
                            • *
                            • *

                              @@ -468,13 +733,6 @@ export interface DescribeAddressesRequest { */ Filters?: Filter[]; - /** - *

                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                              - */ - DryRun?: boolean; - /** *

                              One or more Elastic IP addresses.

                              *

                              Default: Describes all your Elastic IP addresses.

                              @@ -526,9 +784,9 @@ export namespace DescribeAggregateIdFormatRequest { */ export interface IdFormat { /** - *

                              The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

                              + *

                              The type of resource.

                              */ - Deadline?: Date; + Resource?: string; /** *

                              Indicates whether longer IDs (17-character IDs) are enabled for the resource.

                              @@ -536,9 +794,9 @@ export interface IdFormat { UseLongIds?: boolean; /** - *

                              The type of resource.

                              + *

                              The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

                              */ - Resource?: string; + Deadline?: Date; } export namespace IdFormat { @@ -569,13 +827,19 @@ export namespace DescribeAggregateIdFormatResult { export interface DescribeAvailabilityZonesRequest { /** - *

                              Include all Availability Zones and Local Zones regardless of your opt in status.

                              - *

                              If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

                              + *

                              The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

                              */ - AllAvailabilityZones?: boolean; + ZoneIds?: string[]; /** - *

                              The names of the Zones.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              + */ + DryRun?: boolean; + + /** + *

                              The names of the Availability Zones, Local Zones, and Wavelength Zones.

                              */ ZoneNames?: string[]; @@ -584,9 +848,10 @@ export interface DescribeAvailabilityZonesRequest { *
                                *
                              • *

                                - * group-name - For Availability Zones, use the Region name. For Local Zones, - * use the name of the group associated with the Local Zone (for example, - * us-west-2-lax-1).

                                + * group-name - For Availability Zones, use the Region name. For Local + * Zones, use the name of the group associated with the Local Zone (for example, + * us-west-2-lax-1) For Wavelength Zones, use the name of the group associated + * with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

                                *
                              • *
                              • *

                                @@ -594,26 +859,35 @@ export interface DescribeAvailabilityZonesRequest { *

                              • *
                              • *

                                - * opt-in-status - The opt in status (opted-in, and - * not-opted-in | opt-in-not-required).

                                + * opt-in-status - The opt-in status (opted-in, and + * not-opted-in | opt-in-not-required).

                                + *
                              • + *
                              • + *

                                + * parent-zoneID - The ID of the zone that handles some of the Local Zone + * and Wavelength Zone control plane operations, such as API calls.

                                *
                              • *
                              • - *

                                The ID of the zone that handles some of the Local Zone control plane operations, such as API calls.

                                + *

                                + * parent-zoneName - The ID of the zone that handles some of the Local Zone + * and Wavelength Zone control plane operations, such as API calls.

                                *
                              • *
                              • *

                                - * region-name - The name of the Region for the Zone (for example, us-east-1).

                                + * region-name - The name of the Region for the Zone (for example, + * us-east-1).

                                *
                              • *
                              • *

                                - * state - The state of the Availability Zone or Local Zone (available | - * information | impaired | unavailable).

                                + * state - The state of the Availability Zone, the Local Zone, or the + * Wavelength Zone (available | information | impaired + * | unavailable).

                                *
                              • *
                              • *

                                * zone-id - The ID of the Availability Zone (for example, - * use1-az1) or the Local Zone (for example, use - * usw2-lax1-az1).

                                + * use1-az1), the Local Zone (for example, usw2-lax1-az1), or the + * Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

                                *
                              • *
                              • *

                                @@ -622,8 +896,8 @@ export interface DescribeAvailabilityZonesRequest { *

                              • *

                                * zone-name - The name of the Availability Zone (for example, - * us-east-1a) or the Local Zone (for example, use - * us-west-2-lax-1a).

                                + * us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or + * the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

                                *
                              • *
                              • *

                                @@ -634,16 +908,11 @@ export interface DescribeAvailabilityZonesRequest { Filters?: Filter[]; /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                - */ - DryRun?: boolean; - - /** - *

                                The IDs of the Zones.

                                + *

                                Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your + * opt-in status.

                                + *

                                If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

                                */ - ZoneIds?: string[]; + AllAvailabilityZones?: boolean; } export namespace DescribeAvailabilityZonesRequest { @@ -653,11 +922,11 @@ export namespace DescribeAvailabilityZonesRequest { } /** - *

                                Describes a message about a Zone.

                                + *

                                Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.

                                */ export interface AvailabilityZoneMessage { /** - *

                                The message about the Zone.

                                + *

                                The message about the Availability Zone, Local Zone, or Wavelength Zone.

                                */ Message?: string; } @@ -673,68 +942,73 @@ export type AvailabilityZoneOptInStatus = "not-opted-in" | "opt-in-not-required" export type AvailabilityZoneState = "available" | "impaired" | "information" | "unavailable"; /** - *

                                Describes a Zone.

                                + *

                                Describes Availability Zones, Local Zones, and Wavelength Zones.

                                */ export interface AvailabilityZone { /** - *

                                The ID of the zone that handles some of the Local Zone control plane operations, such as - * API calls.

                                + *

                                For Availability Zones, this parameter always has the value of + * opt-in-not-required.

                                + *

                                For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible + * values are opted-in, and not-opted-in.

                                */ - ParentZoneId?: string; + OptInStatus?: AvailabilityZoneOptInStatus | string; /** - *

                                For Availability Zones, this parameter has the same value as the Region name.

                                - *

                                For Local Zones, the name of the associated group, for example us-west-2-lax-1.

                                + *

                                The name of the Region.

                                */ - GroupName?: string; + RegionName?: string; /** - *

                                The name of the zone that handles some of the Local Zone control plane operations, such as API calls.

                                + *

                                The type of zone. The valid values are availability-zone, + * local-zone, and wavelength-zone.

                                */ - ParentZoneName?: string; + ZoneType?: string; /** - *

                                The type of zone. The valid values are availability-zone and local-zone.

                                + *

                                Any messages about the Availability Zone, Local Zone, or Wavelength Zone.

                                */ - ZoneType?: string; + Messages?: AvailabilityZoneMessage[]; /** - *

                                The ID of the Zone.

                                + *

                                The name of the zone that handles some of the Local Zone or Wavelength Zone control plane + * operations, such as API calls.

                                */ - ZoneId?: string; + ParentZoneName?: string; /** - *

                                The state of the Zone.

                                + *

                                The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane + * operations, such as API calls.

                                */ - State?: AvailabilityZoneState | string; + ParentZoneId?: string; /** - *

                                The name of the Region.

                                + *

                                The name of the network border group.

                                */ - RegionName?: string; + NetworkBorderGroup?: string; /** - *

                                The name of the location from which the address is advertised.

                                + *

                                For Availability Zones, this parameter has the same value as the Region name.

                                + *

                                For Local Zones, the name of the associated group, for example + * us-west-2-lax-1.

                                + *

                                For Wavelength Zones, the name of the associated group, for example + * us-east-1-wl1-bos-wlz-1.

                                */ - NetworkBorderGroup?: string; + GroupName?: string; /** - *

                                The name of the Zone.

                                + *

                                The name of the Availability Zone, Local Zone, or Wavelength Zone.

                                */ ZoneName?: string; /** - *

                                Any messages about the Zone.

                                + *

                                The state of the Availability Zone, Local Zone, or Wavelength Zone.

                                */ - Messages?: AvailabilityZoneMessage[]; + State?: AvailabilityZoneState | string; /** - *

                                For Availability Zones, this parameter always has the value of - * opt-in-not-required.

                                - *

                                For Local Zones, this parameter is the opt in status. The possible values are opted-in, and - * not-opted-in.

                                + *

                                The ID of the Availability Zone, Local Zone, or Wavelength Zone.

                                */ - OptInStatus?: AvailabilityZoneOptInStatus | string; + ZoneId?: string; } export namespace AvailabilityZone { @@ -745,7 +1019,7 @@ export namespace AvailabilityZone { export interface DescribeAvailabilityZonesResult { /** - *

                                Information about the Zones.

                                + *

                                Information about the Availability Zones, Local Zones, and Wavelength Zones.

                                */ AvailabilityZones?: AvailabilityZone[]; } @@ -757,19 +1031,6 @@ export namespace DescribeAvailabilityZonesResult { } export interface DescribeBundleTasksRequest { - /** - *

                                The bundle task IDs.

                                - *

                                Default: Describes all your bundle tasks.

                                - */ - BundleIds?: string[]; - - /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                - */ - DryRun?: boolean; - /** *

                                The filters.

                                *
                                  @@ -817,6 +1078,19 @@ export interface DescribeBundleTasksRequest { *
                                */ Filters?: Filter[]; + + /** + *

                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                + */ + DryRun?: boolean; + + /** + *

                                The bundle task IDs.

                                + *

                                Default: Describes all your bundle tasks.

                                + */ + BundleIds?: string[]; } export namespace DescribeBundleTasksRequest { @@ -866,14 +1140,14 @@ export namespace DescribeByoipCidrsRequest { export interface DescribeByoipCidrsResult { /** - *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                + *

                                Information about your address ranges.

                                */ - NextToken?: string; + ByoipCidrs?: ByoipCidr[]; /** - *

                                Information about your address ranges.

                                + *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                */ - ByoipCidrs?: ByoipCidr[]; + NextToken?: string; } export namespace DescribeByoipCidrsResult { @@ -884,19 +1158,19 @@ export namespace DescribeByoipCidrsResult { export interface DescribeCapacityReservationsRequest { /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                + *

                                The ID of the Capacity Reservation.

                                */ - DryRun?: boolean; + CapacityReservationIds?: string[]; /** - *

                                The token to use to retrieve the next page of results.

                                + *

                                The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                */ - NextToken?: string; + MaxResults?: number; /** - *

                                The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                + *

                                The token to use to retrieve the next page of results.

                                */ - MaxResults?: number; + NextToken?: string; /** *

                                One or more filters.

                                @@ -1008,9 +1282,9 @@ export interface DescribeCapacityReservationsRequest { Filters?: Filter[]; /** - *

                                The ID of the Capacity Reservation.

                                + *

                                Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                */ - CapacityReservationIds?: string[]; + DryRun?: boolean; } export namespace DescribeCapacityReservationsRequest { @@ -1037,11 +1311,44 @@ export namespace DescribeCapacityReservationsResult { }); } -export interface DescribeClassicLinkInstancesRequest { +export interface DescribeCarrierGatewaysRequest { /** - *

                                One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

                                + *

                                One or more filters.

                                + *
                                  + *
                                • + *

                                  + * carrier-gateway-id - The ID of the carrier gateway.

                                  + *
                                • + *
                                • + *

                                  + * state - The state of the carrier gateway (pending | + * failed | available | deleting | deleted).

                                  + *
                                • + *
                                • + *

                                  + * owner-id - The AWS account ID of the owner of the carrier gateway.

                                  + *
                                • + *
                                • + *

                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                  + *
                                • + *
                                • + *

                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                  + *
                                • + *
                                • + *

                                  + * vpc-id - The ID of the VPC associated with the carrier gateway.

                                  + *
                                • + *
                                */ - InstanceIds?: string[]; + Filters?: Filter[]; + + /** + *

                                The token for the next page of results.

                                + */ + NextToken?: string; /** *

                                Checks whether you have the required permissions for the action, without actually making the request, @@ -1053,15 +1360,40 @@ export interface DescribeClassicLinkInstancesRequest { /** *

                                The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                                - *

                                Constraint: If the value is greater than 1000, we return only 1000 items.

                                */ MaxResults?: number; /** - *

                                The token for the next page of results.

                                + *

                                One or more carrier gateway IDs.

                                + */ + CarrierGatewayIds?: string[]; +} + +export namespace DescribeCarrierGatewaysRequest { + export const filterSensitiveLog = (obj: DescribeCarrierGatewaysRequest): any => ({ + ...obj, + }); +} + +export interface DescribeCarrierGatewaysResult { + /** + *

                                Information about the carrier gateway.

                                + */ + CarrierGateways?: CarrierGateway[]; + + /** + *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                */ NextToken?: string; +} + +export namespace DescribeCarrierGatewaysResult { + export const filterSensitiveLog = (obj: DescribeCarrierGatewaysResult): any => ({ + ...obj, + }); +} +export interface DescribeClassicLinkInstancesRequest { /** *

                                One or more filters.

                                *
                                  @@ -1095,6 +1427,30 @@ export interface DescribeClassicLinkInstancesRequest { *
                                */ Filters?: Filter[]; + + /** + *

                                One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

                                + */ + InstanceIds?: string[]; + + /** + *

                                The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                + *

                                Constraint: If the value is greater than 1000, we return only 1000 items.

                                + */ + MaxResults?: number; + + /** + *

                                The token for the next page of results.

                                + */ + NextToken?: string; + + /** + *

                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                + */ + DryRun?: boolean; } export namespace DescribeClassicLinkInstancesRequest { @@ -1108,24 +1464,24 @@ export namespace DescribeClassicLinkInstancesRequest { */ export interface ClassicLinkInstance { /** - *

                                The ID of the instance.

                                + *

                                A list of security groups.

                                */ - InstanceId?: string; + Groups?: GroupIdentifier[]; /** - *

                                The ID of the VPC.

                                + *

                                Any tags assigned to the instance.

                                */ - VpcId?: string; + Tags?: Tag[]; /** - *

                                A list of security groups.

                                + *

                                The ID of the instance.

                                */ - Groups?: GroupIdentifier[]; + InstanceId?: string; /** - *

                                Any tags assigned to the instance.

                                + *

                                The ID of the VPC.

                                */ - Tags?: Tag[]; + VpcId?: string; } export namespace ClassicLinkInstance { @@ -1136,14 +1492,14 @@ export namespace ClassicLinkInstance { export interface DescribeClassicLinkInstancesResult { /** - *

                                Information about one or more linked EC2-Classic instances.

                                + *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                */ - Instances?: ClassicLinkInstance[]; + NextToken?: string; /** - *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                + *

                                Information about one or more linked EC2-Classic instances.

                                */ - NextToken?: string; + Instances?: ClassicLinkInstance[]; } export namespace DescribeClassicLinkInstancesResult { @@ -1153,6 +1509,11 @@ export namespace DescribeClassicLinkInstancesResult { } export interface DescribeClientVpnAuthorizationRulesRequest { + /** + *

                                The token to retrieve the next page of results.

                                + */ + NextToken?: string; + /** *

                                One or more filters. Filter names and values are case-sensitive.

                                *
                                  @@ -1173,11 +1534,6 @@ export interface DescribeClientVpnAuthorizationRulesRequest { */ Filters?: Filter[]; - /** - *

                                  The ID of the Client VPN endpoint.

                                  - */ - ClientVpnEndpointId: string | undefined; - /** *

                                  Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                  */ @@ -1189,9 +1545,9 @@ export interface DescribeClientVpnAuthorizationRulesRequest { MaxResults?: number; /** - *

                                  The token to retrieve the next page of results.

                                  + *

                                  The ID of the Client VPN endpoint.

                                  */ - NextToken?: string; + ClientVpnEndpointId: string | undefined; } export namespace DescribeClientVpnAuthorizationRulesRequest { @@ -1205,19 +1561,19 @@ export namespace DescribeClientVpnAuthorizationRulesRequest { */ export interface AuthorizationRule { /** - *

                                  The ID of the Active Directory group to which the authorization rule grants access.

                                  + *

                                  Indicates whether the authorization rule grants access to all clients.

                                  */ - GroupId?: string; + AccessAll?: boolean; /** - *

                                  The ID of the Client VPN endpoint with which the authorization rule is associated.

                                  + *

                                  The ID of the Active Directory group to which the authorization rule grants access.

                                  */ - ClientVpnEndpointId?: string; + GroupId?: string; /** - *

                                  A brief description of the authorization rule.

                                  + *

                                  The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

                                  */ - Description?: string; + DestinationCidr?: string; /** *

                                  The current state of the authorization rule.

                                  @@ -1225,14 +1581,14 @@ export interface AuthorizationRule { Status?: ClientVpnAuthorizationRuleStatus; /** - *

                                  The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

                                  + *

                                  The ID of the Client VPN endpoint with which the authorization rule is associated.

                                  */ - DestinationCidr?: string; + ClientVpnEndpointId?: string; /** - *

                                  Indicates whether the authorization rule grants access to all clients.

                                  + *

                                  A brief description of the authorization rule.

                                  */ - AccessAll?: boolean; + Description?: string; } export namespace AuthorizationRule { @@ -1243,14 +1599,14 @@ export namespace AuthorizationRule { export interface DescribeClientVpnAuthorizationRulesResult { /** - *

                                  Information about the authorization rules.

                                  + *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  */ - AuthorizationRules?: AuthorizationRule[]; + NextToken?: string; /** - *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  + *

                                  Information about the authorization rules.

                                  */ - NextToken?: string; + AuthorizationRules?: AuthorizationRule[]; } export namespace DescribeClientVpnAuthorizationRulesResult { @@ -1265,21 +1621,6 @@ export interface DescribeClientVpnConnectionsRequest { */ MaxResults?: number; - /** - *

                                  The token to retrieve the next page of results.

                                  - */ - NextToken?: string; - - /** - *

                                  Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                  - */ - DryRun?: boolean; - - /** - *

                                  The ID of the Client VPN endpoint.

                                  - */ - ClientVpnEndpointId: string | undefined; - /** *

                                  One or more filters. Filter names and values are case-sensitive.

                                  *
                                    @@ -1295,6 +1636,21 @@ export interface DescribeClientVpnConnectionsRequest { *
                                  */ Filters?: Filter[]; + + /** + *

                                  The ID of the Client VPN endpoint.

                                  + */ + ClientVpnEndpointId: string | undefined; + + /** + *

                                  The token to retrieve the next page of results.

                                  + */ + NextToken?: string; + + /** + *

                                  Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                  + */ + DryRun?: boolean; } export namespace DescribeClientVpnConnectionsRequest { @@ -1310,14 +1666,14 @@ export type ClientVpnConnectionStatusCode = "active" | "failed-to-terminate" | " */ export interface ClientVpnConnectionStatus { /** - *

                                  A message about the status of the client connection, if applicable.

                                  + *

                                  The state of the client connection.

                                  */ - Message?: string; + Code?: ClientVpnConnectionStatusCode | string; /** - *

                                  The state of the client connection.

                                  + *

                                  A message about the status of the client connection, if applicable.

                                  */ - Code?: ClientVpnConnectionStatusCode | string; + Message?: string; } export namespace ClientVpnConnectionStatus { @@ -1331,55 +1687,55 @@ export namespace ClientVpnConnectionStatus { */ export interface ClientVpnConnection { /** - *

                                  The number of packets received by the client.

                                  + *

                                  The IP address of the client.

                                  */ - EgressPackets?: string; + ClientIp?: string; /** - *

                                  The ID of the client connection.

                                  + *

                                  The username of the client who established the client connection. This information is only provided + * if Active Directory client authentication is used.

                                  */ - ConnectionId?: string; + Username?: string; /** - *

                                  The number of bytes received by the client.

                                  + *

                                  The current date and time.

                                  */ - EgressBytes?: string; + Timestamp?: string; /** - *

                                  The date and time the client connection was established.

                                  + *

                                  The date and time the client connection was terminated.

                                  */ - ConnectionEstablishedTime?: string; + ConnectionEndTime?: string; /** - *

                                  The username of the client who established the client connection. This information is only provided - * if Active Directory client authentication is used.

                                  + *

                                  The number of bytes sent by the client.

                                  */ - Username?: string; + IngressBytes?: string; /** - *

                                  The current date and time.

                                  + *

                                  The ID of the Client VPN endpoint to which the client is connected.

                                  */ - Timestamp?: string; + ClientVpnEndpointId?: string; /** - *

                                  The IP address of the client.

                                  + *

                                  The number of packets received by the client.

                                  */ - ClientIp?: string; + EgressPackets?: string; /** - *

                                  The number of bytes sent by the client.

                                  + *

                                  The date and time the client connection was established.

                                  */ - IngressBytes?: string; + ConnectionEstablishedTime?: string; /** - *

                                  The current state of the client connection.

                                  + *

                                  The number of bytes received by the client.

                                  */ - Status?: ClientVpnConnectionStatus; + EgressBytes?: string; /** - *

                                  The number of packets sent by the client.

                                  + *

                                  The ID of the client connection.

                                  */ - IngressPackets?: string; + ConnectionId?: string; /** *

                                  The common name associated with the client. This is either the name of the client certificate, @@ -1388,14 +1744,14 @@ export interface ClientVpnConnection { CommonName?: string; /** - *

                                  The ID of the Client VPN endpoint to which the client is connected.

                                  + *

                                  The number of packets sent by the client.

                                  */ - ClientVpnEndpointId?: string; + IngressPackets?: string; /** - *

                                  The date and time the client connection was terminated.

                                  + *

                                  The current state of the client connection.

                                  */ - ConnectionEndTime?: string; + Status?: ClientVpnConnectionStatus; } export namespace ClientVpnConnection { @@ -1406,14 +1762,14 @@ export namespace ClientVpnConnection { export interface DescribeClientVpnConnectionsResult { /** - *

                                  Information about the active and terminated client connections.

                                  + *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  */ - Connections?: ClientVpnConnection[]; + NextToken?: string; /** - *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  + *

                                  Information about the active and terminated client connections.

                                  */ - NextToken?: string; + Connections?: ClientVpnConnection[]; } export namespace DescribeClientVpnConnectionsResult { @@ -1423,15 +1779,20 @@ export namespace DescribeClientVpnConnectionsResult { } export interface DescribeClientVpnEndpointsRequest { + /** + *

                                  The ID of the Client VPN endpoint.

                                  + */ + ClientVpnEndpointIds?: string[]; + /** *

                                  Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                  */ DryRun?: boolean; /** - *

                                  The token to retrieve the next page of results.

                                  + *

                                  The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                                  */ - NextToken?: string; + MaxResults?: number; /** *

                                  One or more filters. Filter names and values are case-sensitive.

                                  @@ -1450,14 +1811,9 @@ export interface DescribeClientVpnEndpointsRequest { Filters?: Filter[]; /** - *

                                  The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                                  - */ - MaxResults?: number; - - /** - *

                                  The ID of the Client VPN endpoint.

                                  + *

                                  The token to retrieve the next page of results.

                                  */ - ClientVpnEndpointIds?: string[]; + NextToken?: string; } export namespace DescribeClientVpnEndpointsRequest { @@ -1543,24 +1899,24 @@ export namespace CertificateAuthentication { */ export interface ClientVpnAuthentication { /** - *

                                  Information about the Active Directory, if applicable.

                                  + *

                                  Information about the authentication certificates, if applicable.

                                  */ - ActiveDirectory?: DirectoryServiceAuthentication; + MutualAuthentication?: CertificateAuthentication; /** - *

                                  Information about the IAM SAML identity provider, if applicable.

                                  + *

                                  The authentication type used.

                                  */ - FederatedAuthentication?: FederatedAuthentication; + Type?: ClientVpnAuthenticationType | string; /** - *

                                  The authentication type used.

                                  + *

                                  Information about the Active Directory, if applicable.

                                  */ - Type?: ClientVpnAuthenticationType | string; + ActiveDirectory?: DirectoryServiceAuthentication; /** - *

                                  Information about the authentication certificates, if applicable.

                                  + *

                                  Information about the IAM SAML identity provider, if applicable.

                                  */ - MutualAuthentication?: CertificateAuthentication; + FederatedAuthentication?: FederatedAuthentication; } export namespace ClientVpnAuthentication { @@ -1573,11 +1929,6 @@ export namespace ClientVpnAuthentication { *

                                  Information about the client connection logging options for a Client VPN endpoint.

                                  */ export interface ConnectionLogResponseOptions { - /** - *

                                  The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

                                  - */ - CloudwatchLogGroup?: string; - /** *

                                  Indicates whether client connection logging is enabled for the Client VPN endpoint.

                                  */ @@ -1587,6 +1938,11 @@ export interface ConnectionLogResponseOptions { *

                                  The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

                                  */ CloudwatchLogStream?: string; + + /** + *

                                  The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

                                  + */ + CloudwatchLogGroup?: string; } export namespace ConnectionLogResponseOptions { @@ -1602,44 +1958,54 @@ export type VpnProtocol = "openvpn"; */ export interface ClientVpnEndpoint { /** - *

                                  The ARN of the server certificate.

                                  + *

                                  The ID of the VPC.

                                  */ - ServerCertificateArn?: string; + VpcId?: string; /** - *

                                  The ID of the Client VPN endpoint.

                                  + *

                                  The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

                                  */ - ClientVpnEndpointId?: string; + ClientCidrBlock?: string; /** - *

                                  The current state of the Client VPN endpoint.

                                  + *

                                  The protocol used by the VPN session.

                                  */ - Status?: ClientVpnEndpointStatus; + VpnProtocol?: VpnProtocol | string; /** - *

                                  Any tags assigned to the Client VPN endpoint.

                                  + *

                                  Information about the associated target networks. A target network is a subnet in a VPC.

                                  */ - Tags?: Tag[]; + AssociatedTargetNetworks?: AssociatedTargetNetwork[]; /** - *

                                  The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

                                  + *

                                  The transport protocol used by the Client VPN endpoint.

                                  */ - ClientCidrBlock?: string; + TransportProtocol?: TransportProtocol | string; /** - *

                                  The IDs of the security groups for the target network.

                                  + *

                                  Information about the DNS servers to be used for DNS resolution.

                                  */ - SecurityGroupIds?: string[]; + DnsServers?: string[]; /** - *

                                  The protocol used by the VPN session.

                                  + *

                                  Information about the client connection logging options for the Client VPN endpoint.

                                  */ - VpnProtocol?: VpnProtocol | string; + ConnectionLogOptions?: ConnectionLogResponseOptions; /** - *

                                  Information about the associated target networks. A target network is a subnet in a VPC.

                                  + *

                                  The current state of the Client VPN endpoint.

                                  */ - AssociatedTargetNetworks?: AssociatedTargetNetwork[]; + Status?: ClientVpnEndpointStatus; + + /** + *

                                  The ID of the Client VPN endpoint.

                                  + */ + ClientVpnEndpointId?: string; + + /** + *

                                  The ARN of the server certificate.

                                  + */ + ServerCertificateArn?: string; /** *

                                  Information about the authentication method used by the Client VPN endpoint.

                                  @@ -1653,50 +2019,40 @@ export interface ClientVpnEndpoint { */ SplitTunnel?: boolean; + /** + *

                                  The date and time the Client VPN endpoint was created.

                                  + */ + CreationTime?: string; + /** *

                                  The port number for the Client VPN endpoint.

                                  */ VpnPort?: number; /** - *

                                  Information about the DNS servers to be used for DNS resolution.

                                  + *

                                  The IDs of the security groups for the target network.

                                  */ - DnsServers?: string[]; + SecurityGroupIds?: string[]; /** *

                                  The date and time the Client VPN endpoint was deleted, if applicable.

                                  */ DeletionTime?: string; - /** - *

                                  The DNS name to be used by clients when connecting to the Client VPN endpoint.

                                  - */ - DnsName?: string; - /** *

                                  A brief description of the endpoint.

                                  */ Description?: string; /** - *

                                  Information about the client connection logging options for the Client VPN endpoint.

                                  - */ - ConnectionLogOptions?: ConnectionLogResponseOptions; - - /** - *

                                  The transport protocol used by the Client VPN endpoint.

                                  - */ - TransportProtocol?: TransportProtocol | string; - - /** - *

                                  The date and time the Client VPN endpoint was created.

                                  + *

                                  The DNS name to be used by clients when connecting to the Client VPN endpoint.

                                  */ - CreationTime?: string; + DnsName?: string; /** - *

                                  The ID of the VPC.

                                  + *

                                  Any tags assigned to the Client VPN endpoint.

                                  */ - VpcId?: string; + Tags?: Tag[]; } export namespace ClientVpnEndpoint { @@ -1707,14 +2063,14 @@ export namespace ClientVpnEndpoint { export interface DescribeClientVpnEndpointsResult { /** - *

                                  Information about the Client VPN endpoints.

                                  + *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  */ - ClientVpnEndpoints?: ClientVpnEndpoint[]; + NextToken?: string; /** - *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  + *

                                  Information about the Client VPN endpoints.

                                  */ - NextToken?: string; + ClientVpnEndpoints?: ClientVpnEndpoint[]; } export namespace DescribeClientVpnEndpointsResult { @@ -1730,14 +2086,9 @@ export interface DescribeClientVpnRoutesRequest { DryRun?: boolean; /** - *

                                  The token to retrieve the next page of results.

                                  - */ - NextToken?: string; - - /** - *

                                  The ID of the Client VPN endpoint.

                                  + *

                                  The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                                  */ - ClientVpnEndpointId: string | undefined; + MaxResults?: number; /** *

                                  One or more filters. Filter names and values are case-sensitive.

                                  @@ -1759,9 +2110,14 @@ export interface DescribeClientVpnRoutesRequest { Filters?: Filter[]; /** - *

                                  The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                                  + *

                                  The token to retrieve the next page of results.

                                  */ - MaxResults?: number; + NextToken?: string; + + /** + *

                                  The ID of the Client VPN endpoint.

                                  + */ + ClientVpnEndpointId: string | undefined; } export namespace DescribeClientVpnRoutesRequest { @@ -1780,17 +2136,14 @@ export interface ClientVpnRoute { TargetSubnet?: string; /** - *

                                  Indicates how the route was associated with the Client VPN endpoint. - * associate indicates that the route was automatically added when the target network - * was associated with the Client VPN endpoint. add-route indicates that the route - * was manually added using the CreateClientVpnRoute action.

                                  + *

                                  A brief description of the route.

                                  */ - Origin?: string; + Description?: string; /** - *

                                  The IPv4 address range, in CIDR notation, of the route destination.

                                  + *

                                  The current state of the route.

                                  */ - DestinationCidr?: string; + Status?: ClientVpnRouteStatus; /** *

                                  The route type.

                                  @@ -1798,19 +2151,22 @@ export interface ClientVpnRoute { Type?: string; /** - *

                                  The current state of the route.

                                  + *

                                  The ID of the Client VPN endpoint with which the route is associated.

                                  */ - Status?: ClientVpnRouteStatus; + ClientVpnEndpointId?: string; /** - *

                                  The ID of the Client VPN endpoint with which the route is associated.

                                  + *

                                  The IPv4 address range, in CIDR notation, of the route destination.

                                  */ - ClientVpnEndpointId?: string; + DestinationCidr?: string; /** - *

                                  A brief description of the route.

                                  + *

                                  Indicates how the route was associated with the Client VPN endpoint. + * associate indicates that the route was automatically added when the target network + * was associated with the Client VPN endpoint. add-route indicates that the route + * was manually added using the CreateClientVpnRoute action.

                                  */ - Description?: string; + Origin?: string; } export namespace ClientVpnRoute { @@ -1821,14 +2177,14 @@ export namespace ClientVpnRoute { export interface DescribeClientVpnRoutesResult { /** - *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  + *

                                  Information about the Client VPN endpoint routes.

                                  */ - NextToken?: string; + Routes?: ClientVpnRoute[]; /** - *

                                  Information about the Client VPN endpoint routes.

                                  + *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  */ - Routes?: ClientVpnRoute[]; + NextToken?: string; } export namespace DescribeClientVpnRoutesResult { @@ -1858,14 +2214,14 @@ export interface DescribeClientVpnTargetNetworksRequest { Filters?: Filter[]; /** - *

                                  The IDs of the target network associations.

                                  + *

                                  The token to retrieve the next page of results.

                                  */ - AssociationIds?: string[]; + NextToken?: string; /** - *

                                  The ID of the Client VPN endpoint.

                                  + *

                                  Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                  */ - ClientVpnEndpointId: string | undefined; + DryRun?: boolean; /** *

                                  The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                                  @@ -1873,14 +2229,14 @@ export interface DescribeClientVpnTargetNetworksRequest { MaxResults?: number; /** - *

                                  Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                  + *

                                  The ID of the Client VPN endpoint.

                                  */ - DryRun?: boolean; + ClientVpnEndpointId: string | undefined; /** - *

                                  The token to retrieve the next page of results.

                                  + *

                                  The IDs of the target network associations.

                                  */ - NextToken?: string; + AssociationIds?: string[]; } export namespace DescribeClientVpnTargetNetworksRequest { @@ -1894,34 +2250,34 @@ export namespace DescribeClientVpnTargetNetworksRequest { */ export interface TargetNetwork { /** - *

                                  The IDs of the security groups applied to the target network association.

                                  + *

                                  The ID of the subnet specified as the target network.

                                  */ - SecurityGroups?: string[]; + TargetNetworkId?: string; /** - *

                                  The current state of the target network association.

                                  + *

                                  The ID of the association.

                                  */ - Status?: AssociationStatus; + AssociationId?: string; /** - *

                                  The ID of the VPC in which the target network (subnet) is located.

                                  + *

                                  The current state of the target network association.

                                  */ - VpcId?: string; + Status?: AssociationStatus; /** - *

                                  The ID of the subnet specified as the target network.

                                  + *

                                  The IDs of the security groups applied to the target network association.

                                  */ - TargetNetworkId?: string; + SecurityGroups?: string[]; /** - *

                                  The ID of the association.

                                  + *

                                  The ID of the Client VPN endpoint with which the target network is associated.

                                  */ - AssociationId?: string; + ClientVpnEndpointId?: string; /** - *

                                  The ID of the Client VPN endpoint with which the target network is associated.

                                  + *

                                  The ID of the VPC in which the target network (subnet) is located.

                                  */ - ClientVpnEndpointId?: string; + VpcId?: string; } export namespace TargetNetwork { @@ -1932,14 +2288,14 @@ export namespace TargetNetwork { export interface DescribeClientVpnTargetNetworksResult { /** - *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  + *

                                  Information about the associated target networks.

                                  */ - NextToken?: string; + ClientVpnTargetNetworks?: TargetNetwork[]; /** - *

                                  Information about the associated target networks.

                                  + *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  */ - ClientVpnTargetNetworks?: TargetNetwork[]; + NextToken?: string; } export namespace DescribeClientVpnTargetNetworksResult { @@ -1949,6 +2305,16 @@ export namespace DescribeClientVpnTargetNetworksResult { } export interface DescribeCoipPoolsRequest { + /** + *

                                  The token for the next page of results.

                                  + */ + NextToken?: string; + + /** + *

                                  The IDs of the address pools.

                                  + */ + PoolIds?: string[]; + /** *

                                  The filters. The following are the possible values:

                                  *
                                    @@ -1969,14 +2335,10 @@ export interface DescribeCoipPoolsRequest { Filters?: Filter[]; /** - *

                                    The IDs of the address pools.

                                    - */ - PoolIds?: string[]; - - /** - *

                                    The token for the next page of results.

                                    + *

                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                    */ - NextToken?: string; + MaxResults?: number; /** *

                                    Checks whether you have the required permissions for the action, without actually making the request, @@ -1984,12 +2346,6 @@ export interface DescribeCoipPoolsRequest { * Otherwise, it is UnauthorizedOperation.

                                    */ DryRun?: boolean; - - /** - *

                                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                    - */ - MaxResults?: number; } export namespace DescribeCoipPoolsRequest { @@ -2008,9 +2364,9 @@ export interface CoipPool { PoolId?: string; /** - *

                                    The ARN of the address pool.

                                    + *

                                    The address ranges of the address pool.

                                    */ - PoolArn?: string; + PoolCidrs?: string[]; /** *

                                    The tags.

                                    @@ -2018,14 +2374,14 @@ export interface CoipPool { Tags?: Tag[]; /** - *

                                    The address ranges of the address pool.

                                    + *

                                    The ID of the local gateway route table.

                                    */ - PoolCidrs?: string[]; + LocalGatewayRouteTableId?: string; /** - *

                                    The ID of the local gateway route table.

                                    + *

                                    The ARN of the address pool.

                                    */ - LocalGatewayRouteTableId?: string; + PoolArn?: string; } export namespace CoipPool { @@ -2053,17 +2409,17 @@ export namespace DescribeCoipPoolsResult { } export interface DescribeConversionTasksRequest { + /** + *

                                    The conversion task IDs.

                                    + */ + ConversionTaskIds?: string[]; + /** *

                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                    */ DryRun?: boolean; - - /** - *

                                    The conversion task IDs.

                                    - */ - ConversionTaskIds?: string[]; } export namespace DescribeConversionTasksRequest { @@ -2076,6 +2432,11 @@ export namespace DescribeConversionTasksRequest { *

                                    Describes a disk image.

                                    */ export interface DiskImageDescription { + /** + *

                                    The size of the disk image, in GiB.

                                    + */ + Size?: number; + /** *

                                    The checksum computed for the disk image.

                                    */ @@ -2086,11 +2447,6 @@ export interface DiskImageDescription { */ Format?: DiskImageFormat | string; - /** - *

                                    The size of the disk image, in GiB.

                                    - */ - Size?: number; - /** *

                                    A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for * an Amazon S3 object, read the "Query String Request Authentication Alternative" section of the Authenticating REST Requests topic in @@ -2111,14 +2467,14 @@ export namespace DiskImageDescription { */ export interface DiskImageVolumeDescription { /** - *

                                    The volume identifier.

                                    + *

                                    The size of the volume, in GiB.

                                    */ - Id?: string; + Size?: number; /** - *

                                    The size of the volume, in GiB.

                                    + *

                                    The volume identifier.

                                    */ - Size?: number; + Id?: string; } export namespace DiskImageVolumeDescription { @@ -2131,25 +2487,20 @@ export namespace DiskImageVolumeDescription { *

                                    Describes an import volume task.

                                    */ export interface ImportInstanceVolumeDetailItem { - /** - *

                                    The status information or errors related to the disk image.

                                    - */ - StatusMessage?: string; - /** *

                                    The Availability Zone where the resulting instance will reside.

                                    */ AvailabilityZone?: string; /** - *

                                    A description of the task.

                                    + *

                                    The volume.

                                    */ - Description?: string; + Volume?: DiskImageVolumeDescription; /** - *

                                    The number of bytes converted so far.

                                    + *

                                    The image.

                                    */ - BytesConverted?: number; + Image?: DiskImageDescription; /** *

                                    The status of the import of this particular disk image.

                                    @@ -2157,14 +2508,19 @@ export interface ImportInstanceVolumeDetailItem { Status?: string; /** - *

                                    The volume.

                                    + *

                                    A description of the task.

                                    */ - Volume?: DiskImageVolumeDescription; + Description?: string; /** - *

                                    The image.

                                    + *

                                    The status information or errors related to the disk image.

                                    */ - Image?: DiskImageDescription; + StatusMessage?: string; + + /** + *

                                    The number of bytes converted so far.

                                    + */ + BytesConverted?: number; } export namespace ImportInstanceVolumeDetailItem { @@ -2177,6 +2533,11 @@ export namespace ImportInstanceVolumeDetailItem { *

                                    Describes an import instance task.

                                    */ export interface ImportInstanceTaskDetails { + /** + *

                                    The volumes.

                                    + */ + Volumes?: ImportInstanceVolumeDetailItem[]; + /** *

                                    The instance operating system.

                                    */ @@ -2187,11 +2548,6 @@ export interface ImportInstanceTaskDetails { */ Description?: string; - /** - *

                                    The volumes.

                                    - */ - Volumes?: ImportInstanceVolumeDetailItem[]; - /** *

                                    The ID of the instance.

                                    */ @@ -2209,19 +2565,19 @@ export namespace ImportInstanceTaskDetails { */ export interface ImportVolumeTaskDetails { /** - *

                                    The image.

                                    + *

                                    The description you provided when starting the import volume task.

                                    */ - Image?: DiskImageDescription; + Description?: string; /** - *

                                    The number of bytes converted so far.

                                    + *

                                    The volume.

                                    */ - BytesConverted?: number; + Volume?: DiskImageVolumeDescription; /** - *

                                    The description you provided when starting the import volume task.

                                    + *

                                    The image.

                                    */ - Description?: string; + Image?: DiskImageDescription; /** *

                                    The Availability Zone where the resulting volume will reside.

                                    @@ -2229,9 +2585,9 @@ export interface ImportVolumeTaskDetails { AvailabilityZone?: string; /** - *

                                    The volume.

                                    + *

                                    The number of bytes converted so far.

                                    */ - Volume?: DiskImageVolumeDescription; + BytesConverted?: number; } export namespace ImportVolumeTaskDetails { @@ -2247,19 +2603,19 @@ export type ConversionTaskState = "active" | "cancelled" | "cancelling" | "compl */ export interface ConversionTask { /** - *

                                    If the task is for importing a volume, this contains information about the import volume task.

                                    + *

                                    If the task is for importing an instance, this contains information about the import instance task.

                                    */ - ImportVolume?: ImportVolumeTaskDetails; + ImportInstance?: ImportInstanceTaskDetails; /** - *

                                    If the task is for importing an instance, this contains information about the import instance task.

                                    + *

                                    If the task is for importing a volume, this contains information about the import volume task.

                                    */ - ImportInstance?: ImportInstanceTaskDetails; + ImportVolume?: ImportVolumeTaskDetails; /** - *

                                    The ID of the conversion task.

                                    + *

                                    The status message related to the conversion task.

                                    */ - ConversionTaskId?: string; + StatusMessage?: string; /** *

                                    Any tags assigned to the task.

                                    @@ -2267,20 +2623,20 @@ export interface ConversionTask { Tags?: Tag[]; /** - *

                                    The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel - * the task.

                                    + *

                                    The state of the conversion task.

                                    */ - ExpirationTime?: string; + State?: ConversionTaskState | string; /** - *

                                    The state of the conversion task.

                                    + *

                                    The ID of the conversion task.

                                    */ - State?: ConversionTaskState | string; + ConversionTaskId?: string; /** - *

                                    The status message related to the conversion task.

                                    + *

                                    The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel + * the task.

                                    */ - StatusMessage?: string; + ExpirationTime?: string; } export namespace ConversionTask { @@ -2313,12 +2669,6 @@ export interface DescribeCustomerGatewaysRequest { */ DryRun?: boolean; - /** - *

                                    One or more customer gateway IDs.

                                    - *

                                    Default: Describes all your customer gateways.

                                    - */ - CustomerGatewayIds?: string[]; - /** *

                                    One or more filters.

                                    *
                                      @@ -2354,6 +2704,12 @@ export interface DescribeCustomerGatewaysRequest { *
                                    */ Filters?: Filter[]; + + /** + *

                                    One or more customer gateway IDs.

                                    + *

                                    Default: Describes all your customer gateways.

                                    + */ + CustomerGatewayIds?: string[]; } export namespace DescribeCustomerGatewaysRequest { @@ -2379,11 +2735,6 @@ export namespace DescribeCustomerGatewaysResult { } export interface DescribeDhcpOptionsRequest { - /** - *

                                    The token for the next page of results.

                                    - */ - NextToken?: string; - /** *

                                    The IDs of one or more DHCP options sets.

                                    *

                                    Default: Describes all your DHCP options sets.

                                    @@ -2391,11 +2742,23 @@ export interface DescribeDhcpOptionsRequest { DhcpOptionsIds?: string[]; /** - *

                                    One or more filters.

                                    - *
                                      - *
                                    • - *

                                      - * dhcp-options-id - The ID of a DHCP options set.

                                      + *

                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                      + */ + DryRun?: boolean; + + /** + *

                                      The token for the next page of results.

                                      + */ + NextToken?: string; + + /** + *

                                      One or more filters.

                                      + *
                                        + *
                                      • + *

                                        + * dhcp-options-id - The ID of a DHCP options set.

                                        *
                                      • *
                                      • *

                                        @@ -2422,13 +2785,6 @@ export interface DescribeDhcpOptionsRequest { */ Filters?: Filter[]; - /** - *

                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                        - */ - DryRun?: boolean; - /** *

                                        The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                                        @@ -2444,14 +2800,14 @@ export namespace DescribeDhcpOptionsRequest { export interface DescribeDhcpOptionsResult { /** - *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        + *

                                        Information about one or more DHCP options sets.

                                        */ - NextToken?: string; + DhcpOptions?: DhcpOptions[]; /** - *

                                        Information about one or more DHCP options sets.

                                        + *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        */ - DhcpOptions?: DhcpOptions[]; + NextToken?: string; } export namespace DescribeDhcpOptionsResult { @@ -2461,12 +2817,29 @@ export namespace DescribeDhcpOptionsResult { } export interface DescribeEgressOnlyInternetGatewaysRequest { + /** + *

                                        One or more egress-only internet gateway IDs.

                                        + */ + EgressOnlyInternetGatewayIds?: string[]; + + /** + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        + */ + DryRun?: boolean; + /** *

                                        The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                                        */ MaxResults?: number; + /** + *

                                        The token for the next page of results.

                                        + */ + NextToken?: string; + /** *

                                        One or more filters.

                                        *
                                          @@ -2482,23 +2855,6 @@ export interface DescribeEgressOnlyInternetGatewaysRequest { *
                                        */ Filters?: Filter[]; - - /** - *

                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                        - */ - DryRun?: boolean; - - /** - *

                                        The token for the next page of results.

                                        - */ - NextToken?: string; - - /** - *

                                        One or more egress-only internet gateway IDs.

                                        - */ - EgressOnlyInternetGatewayIds?: string[]; } export namespace DescribeEgressOnlyInternetGatewaysRequest { @@ -2526,17 +2882,29 @@ export namespace DescribeEgressOnlyInternetGatewaysResult { } export interface DescribeElasticGpusRequest { + /** + *

                                        The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 5 and 1000.

                                        + */ + MaxResults?: number; + /** *

                                        The Elastic Graphics accelerator IDs.

                                        */ ElasticGpuIds?: string[]; /** - *

                                        The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 5 and 1000.

                                        + *

                                        The token to request the next page of results.

                                        */ - MaxResults?: number; + NextToken?: string; + + /** + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        + */ + DryRun?: boolean; /** *

                                        The filters.

                                        @@ -2569,18 +2937,6 @@ export interface DescribeElasticGpusRequest { *
                                      */ Filters?: Filter[]; - - /** - *

                                      The token to request the next page of results.

                                      - */ - NextToken?: string; - - /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      - */ - DryRun?: boolean; } export namespace DescribeElasticGpusRequest { @@ -2619,29 +2975,24 @@ export enum ElasticGpuState { */ export interface ElasticGpus { /** - *

                                      The ID of the Elastic Graphics accelerator.

                                      - */ - ElasticGpuId?: string; - - /** - *

                                      The ID of the instance to which the Elastic Graphics accelerator is attached.

                                      + *

                                      The type of Elastic Graphics accelerator.

                                      */ - InstanceId?: string; + ElasticGpuType?: string; /** - *

                                      The Availability Zone in the which the Elastic Graphics accelerator resides.

                                      + *

                                      The status of the Elastic Graphics accelerator.

                                      */ - AvailabilityZone?: string; + ElasticGpuHealth?: ElasticGpuHealth; /** - *

                                      The status of the Elastic Graphics accelerator.

                                      + *

                                      The ID of the Elastic Graphics accelerator.

                                      */ - ElasticGpuHealth?: ElasticGpuHealth; + ElasticGpuId?: string; /** - *

                                      The type of Elastic Graphics accelerator.

                                      + *

                                      The Availability Zone in the which the Elastic Graphics accelerator resides.

                                      */ - ElasticGpuType?: string; + AvailabilityZone?: string; /** *

                                      The tags assigned to the Elastic Graphics accelerator.

                                      @@ -2652,6 +3003,11 @@ export interface ElasticGpus { *

                                      The state of the Elastic Graphics accelerator.

                                      */ ElasticGpuState?: ElasticGpuState | string; + + /** + *

                                      The ID of the instance to which the Elastic Graphics accelerator is attached.

                                      + */ + InstanceId?: string; } export namespace ElasticGpus { @@ -2662,11 +3018,9 @@ export namespace ElasticGpus { export interface DescribeElasticGpusResult { /** - *

                                      The total number of items to return. If the total number of items available is more - * than the value specified in max-items then a Next-Token will be provided in the output - * that you can use to resume pagination.

                                      + *

                                      Information about the Elastic Graphics accelerators.

                                      */ - MaxResults?: number; + ElasticGpuSet?: ElasticGpus[]; /** *

                                      The token to use to retrieve the next page of results. This value is @@ -2675,9 +3029,11 @@ export interface DescribeElasticGpusResult { NextToken?: string; /** - *

                                      Information about the Elastic Graphics accelerators.

                                      + *

                                      The total number of items to return. If the total number of items available is more + * than the value specified in max-items then a Next-Token will be provided in the output + * that you can use to resume pagination.

                                      */ - ElasticGpuSet?: ElasticGpus[]; + MaxResults?: number; } export namespace DescribeElasticGpusResult { @@ -2688,32 +3044,32 @@ export namespace DescribeElasticGpusResult { export interface DescribeExportImageTasksRequest { /** - *

                                      A token that indicates the next page of results.

                                      + *

                                      The IDs of the export image tasks.

                                      */ - NextToken?: string; + ExportImageTaskIds?: string[]; /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      + *

                                      Filter tasks using the task-state filter and one of the following values: active, + * completed, deleting, or deleted.

                                      */ - DryRun?: boolean; + Filters?: Filter[]; /** - *

                                      The IDs of the export image tasks.

                                      + *

                                      The maximum number of results to return in a single call.

                                      */ - ExportImageTaskIds?: string[]; + MaxResults?: number; /** - *

                                      The maximum number of results to return in a single call.

                                      + *

                                      A token that indicates the next page of results.

                                      */ - MaxResults?: number; + NextToken?: string; /** - *

                                      Filter tasks using the task-state filter and one of the following values: active, - * completed, deleting, or deleted.

                                      + *

                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                      */ - Filters?: Filter[]; + DryRun?: boolean; } export namespace DescribeExportImageTasksRequest { @@ -2727,14 +3083,14 @@ export namespace DescribeExportImageTasksRequest { */ export interface ExportTaskS3Location { /** - *

                                      The prefix (logical hierarchy) in the bucket.

                                      + *

                                      The destination Amazon S3 bucket.

                                      */ - S3Prefix?: string; + S3Bucket?: string; /** - *

                                      The destination Amazon S3 bucket.

                                      + *

                                      The prefix (logical hierarchy) in the bucket.

                                      */ - S3Bucket?: string; + S3Prefix?: string; } export namespace ExportTaskS3Location { @@ -2748,14 +3104,14 @@ export namespace ExportTaskS3Location { */ export interface ExportImageTask { /** - *

                                      The status message for the export image task.

                                      + *

                                      The ID of the image.

                                      */ - StatusMessage?: string; + ImageId?: string; /** - *

                                      The percent complete of the export image task.

                                      + *

                                      Any tags assigned to the image being exported.

                                      */ - Progress?: string; + Tags?: Tag[]; /** *

                                      The ID of the export image task.

                                      @@ -2763,30 +3119,30 @@ export interface ExportImageTask { ExportImageTaskId?: string; /** - *

                                      A description of the image being exported.

                                      + *

                                      Information about the destination Amazon S3 bucket.

                                      */ - Description?: string; + S3ExportLocation?: ExportTaskS3Location; /** - *

                                      The status of the export image task. The possible values are active, completed, - * deleting, and deleted.

                                      + *

                                      The percent complete of the export image task.

                                      */ - Status?: string; + Progress?: string; /** - *

                                      Any tags assigned to the image being exported.

                                      + *

                                      The status message for the export image task.

                                      */ - Tags?: Tag[]; + StatusMessage?: string; /** - *

                                      Information about the destination Amazon S3 bucket.

                                      + *

                                      The status of the export image task. The possible values are active, completed, + * deleting, and deleted.

                                      */ - S3ExportLocation?: ExportTaskS3Location; + Status?: string; /** - *

                                      The ID of the image.

                                      + *

                                      A description of the image being exported.

                                      */ - ImageId?: string; + Description?: string; } export namespace ExportImageTask { @@ -2846,6 +3202,24 @@ export namespace DescribeExportTasksResult { } export interface DescribeFastSnapshotRestoresRequest { + /** + *

                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                      + */ + DryRun?: boolean; + + /** + *

                                      The token for the next page of results.

                                      + */ + NextToken?: string; + + /** + *

                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                      + */ + MaxResults?: number; + /** *

                                      The filters. The possible values are:

                                      *
                                        @@ -2873,24 +3247,6 @@ export interface DescribeFastSnapshotRestoresRequest { *
                                      */ Filters?: Filter[]; - - /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      - */ - DryRun?: boolean; - - /** - *

                                      The token for the next page of results.

                                      - */ - NextToken?: string; - - /** - *

                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                      - */ - MaxResults?: number; } export namespace DescribeFastSnapshotRestoresRequest { @@ -2906,49 +3262,34 @@ export type FastSnapshotRestoreStateCode = "disabled" | "disabling" | "enabled" */ export interface DescribeFastSnapshotRestoreSuccessItem { /** - *

                                      The ID of the snapshot.

                                      + *

                                      The time at which fast snapshot restores entered the disabled state.

                                      */ - SnapshotId?: string; + DisabledTime?: Date; /** - *

                                      The time at which fast snapshot restores entered the enabled state.

                                      + *

                                      The state of fast snapshot restores.

                                      */ - EnabledTime?: Date; + State?: FastSnapshotRestoreStateCode | string; /** - *

                                      The time at which fast snapshot restores entered the disabling state.

                                      + *

                                      The ID of the snapshot.

                                      */ - DisablingTime?: Date; + SnapshotId?: string; /** - *

                                      The time at which fast snapshot restores entered the optimizing state.

                                      + *

                                      The time at which fast snapshot restores entered the enabling state.

                                      */ - OptimizingTime?: Date; + EnablingTime?: Date; /** - *

                                      The time at which fast snapshot restores entered the disabled state.

                                      + *

                                      The time at which fast snapshot restores entered the optimizing state.

                                      */ - DisabledTime?: Date; + OptimizingTime?: Date; /** - *

                                      The ID of the AWS account that enabled fast snapshot restores on the snapshot.

                                      - */ - OwnerId?: string; - - /** - *

                                      The time at which fast snapshot restores entered the enabling state.

                                      - */ - EnablingTime?: Date; - - /** - *

                                      The Availability Zone.

                                      - */ - AvailabilityZone?: string; - - /** - *

                                      The state of fast snapshot restores.

                                      + *

                                      The time at which fast snapshot restores entered the enabled state.

                                      */ - State?: FastSnapshotRestoreStateCode | string; + EnabledTime?: Date; /** *

                                      The AWS owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                      @@ -2971,6 +3312,21 @@ export interface DescribeFastSnapshotRestoreSuccessItem { *
                                    */ StateTransitionReason?: string; + + /** + *

                                    The ID of the AWS account that enabled fast snapshot restores on the snapshot.

                                    + */ + OwnerId?: string; + + /** + *

                                    The Availability Zone.

                                    + */ + AvailabilityZone?: string; + + /** + *

                                    The time at which fast snapshot restores entered the disabling state.

                                    + */ + DisablingTime?: Date; } export namespace DescribeFastSnapshotRestoreSuccessItem { @@ -3004,11 +3360,6 @@ export enum FleetEventType { } export interface DescribeFleetHistoryRequest { - /** - *

                                    The ID of the EC2 Fleet.

                                    - */ - FleetId: string | undefined; - /** *

                                    The maximum number of results to return in a single call. Specify a value between 1 and * 1000. The default value is 1000. To retrieve the remaining results, make another call with @@ -3016,6 +3367,11 @@ export interface DescribeFleetHistoryRequest { */ MaxResults?: number; + /** + *

                                    The ID of the EC2 Fleet.

                                    + */ + FleetId: string | undefined; + /** *

                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -3023,6 +3379,11 @@ export interface DescribeFleetHistoryRequest { */ DryRun?: boolean; + /** + *

                                    The token for the next set of results.

                                    + */ + NextToken?: string; + /** *

                                    The start date and time for the events, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ).

                                    @@ -3033,11 +3394,6 @@ export interface DescribeFleetHistoryRequest { *

                                    The type of events to describe. By default, all events are described.

                                    */ EventType?: FleetEventType | string; - - /** - *

                                    The token for the next set of results.

                                    - */ - NextToken?: string; } export namespace DescribeFleetHistoryRequest { @@ -3051,9 +3407,9 @@ export namespace DescribeFleetHistoryRequest { */ export interface EventInformation { /** - *

                                    The ID of the instance. This information is available only for instanceChange events.

                                    + *

                                    The description of the event.

                                    */ - InstanceId?: string; + EventDescription?: string; /** *

                                    The event.

                                    @@ -3163,9 +3519,9 @@ export interface EventInformation { EventSubType?: string; /** - *

                                    The description of the event.

                                    + *

                                    The ID of the instance. This information is available only for instanceChange events.

                                    */ - EventDescription?: string; + InstanceId?: string; } export namespace EventInformation { @@ -3183,16 +3539,16 @@ export interface HistoryRecordEntry { */ EventInformation?: EventInformation; - /** - *

                                    The event type.

                                    - */ - EventType?: FleetEventType | string; - /** *

                                    The date and time of the event, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ).

                                    */ Timestamp?: Date; + + /** + *

                                    The event type.

                                    + */ + EventType?: FleetEventType | string; } export namespace HistoryRecordEntry { @@ -3203,15 +3559,14 @@ export namespace HistoryRecordEntry { export interface DescribeFleetHistoryResult { /** - *

                                    Information about the events in the history of the EC2 Fleet.

                                    + *

                                    The ID of the EC Fleet.

                                    */ - HistoryRecords?: HistoryRecordEntry[]; + FleetId?: string; /** - *

                                    The start date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                    + *

                                    The token for the next set of results.

                                    */ - StartTime?: Date; + NextToken?: string; /** *

                                    The last date and time for the events, in UTC format (for example, @@ -3223,14 +3578,15 @@ export interface DescribeFleetHistoryResult { LastEvaluatedTime?: Date; /** - *

                                    The token for the next set of results.

                                    + *

                                    Information about the events in the history of the EC2 Fleet.

                                    */ - NextToken?: string; + HistoryRecords?: HistoryRecordEntry[]; /** - *

                                    The ID of the EC Fleet.

                                    + *

                                    The start date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                    */ - FleetId?: string; + StartTime?: Date; } export namespace DescribeFleetHistoryResult { @@ -3240,6 +3596,18 @@ export namespace DescribeFleetHistoryResult { } export interface DescribeFleetInstancesRequest { + /** + *

                                    The token for the next set of results.

                                    + */ + NextToken?: string; + + /** + *

                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                    + */ + DryRun?: boolean; + /** *

                                    The filters.

                                    *
                                      @@ -3256,24 +3624,12 @@ export interface DescribeFleetInstancesRequest { */ FleetId: string | undefined; - /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      - */ - DryRun?: boolean; - /** *

                                      The maximum number of results to return in a single call. Specify a value between 1 and * 1000. The default value is 1000. To retrieve the remaining results, make another call with * the returned NextToken value.

                                      */ MaxResults?: number; - - /** - *

                                      The token for the next set of results.

                                      - */ - NextToken?: string; } export namespace DescribeFleetInstancesRequest { @@ -3290,14 +3646,14 @@ export interface DescribeFleetInstancesResult { ActiveInstances?: ActiveInstance[]; /** - *

                                      The token for the next set of results.

                                      + *

                                      The ID of the EC2 Fleet.

                                      */ - NextToken?: string; + FleetId?: string; /** - *

                                      The ID of the EC2 Fleet.

                                      + *

                                      The token for the next set of results.

                                      */ - FleetId?: string; + NextToken?: string; } export namespace DescribeFleetInstancesResult { @@ -3307,6 +3663,11 @@ export namespace DescribeFleetInstancesResult { } export interface DescribeFleetsRequest { + /** + *

                                      The token for the next set of results.

                                      + */ + NextToken?: string; + /** *

                                      The filters.

                                      *
                                        @@ -3351,21 +3712,16 @@ export interface DescribeFleetsRequest { MaxResults?: number; /** - *

                                        The token for the next set of results.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - NextToken?: string; + DryRun?: boolean; /** *

                                        The ID of the EC2 Fleets.

                                        */ FleetIds?: string[]; - - /** - *

                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                        - */ - DryRun?: boolean; } export namespace DescribeFleetsRequest { @@ -3385,6 +3741,12 @@ export enum FleetActivityStatus { *

                                        Describes the instances that could not be launched by the fleet.

                                        */ export interface DescribeFleetError { + /** + *

                                        The launch templates and overrides that were used for launching the instances. The + * values that you specify in the Overrides replace the values in the launch template.

                                        + */ + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; + /** *

                                        The error code that indicates why the instance could not be launched. For more * information about error codes, see Error Codes.

                                        @@ -3401,12 +3763,6 @@ export interface DescribeFleetError { *

                                        Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

                                        */ Lifecycle?: InstanceLifecycle | string; - - /** - *

                                        The launch templates and overrides that were used for launching the instances. The - * values that you specify in the Overrides replace the values in the launch template.

                                        - */ - LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; } export namespace DescribeFleetError { @@ -3420,20 +3776,20 @@ export namespace DescribeFleetError { */ export interface DescribeFleetsInstances { /** - *

                                        The IDs of the instances.

                                        + *

                                        Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

                                        */ - InstanceIds?: string[]; + Lifecycle?: InstanceLifecycle | string; /** - *

                                        Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

                                        + *

                                        The launch templates and overrides that were used for launching the instances. The + * values that you specify in the Overrides replace the values in the launch template.

                                        */ - Lifecycle?: InstanceLifecycle | string; + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

                                        The value is Windows for Windows instances. Otherwise, the value is - * blank.

                                        + *

                                        The IDs of the instances.

                                        */ - Platform?: PlatformValues | string; + InstanceIds?: string[]; /** *

                                        The instance type.

                                        @@ -3441,10 +3797,10 @@ export interface DescribeFleetsInstances { InstanceType?: _InstanceType | string; /** - *

                                        The launch templates and overrides that were used for launching the instances. The - * values that you specify in the Overrides replace the values in the launch template.

                                        + *

                                        The value is Windows for Windows instances. Otherwise, the value is + * blank.

                                        */ - LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; + Platform?: PlatformValues | string; } export namespace DescribeFleetsInstances { @@ -3519,11 +3875,6 @@ export interface OnDemandOptions { */ CapacityReservationOptions?: CapacityReservationOptions; - /** - *

                                        The maximum amount per hour for On-Demand Instances that you're willing to pay.

                                        - */ - MaxTotalPrice?: string; - /** *

                                        Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported * only for fleets of type instant.

                                        @@ -3531,16 +3882,9 @@ export interface OnDemandOptions { SingleAvailabilityZone?: boolean; /** - *

                                        The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

                                        - */ - MinTargetCapacity?: number; - - /** - *

                                        Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. - * Supported only for fleets of type instant.

                                        + *

                                        The maximum amount per hour for On-Demand Instances that you're willing to pay.

                                        */ - SingleInstanceType?: boolean; + MaxTotalPrice?: string; /** *

                                        The order of the launch template overrides to use in fulfilling On-Demand capacity. If @@ -3550,6 +3894,18 @@ export interface OnDemandOptions { * If you do not specify a value, EC2 Fleet defaults to lowest-price.

                                        */ AllocationStrategy?: FleetOnDemandAllocationStrategy | string; + + /** + *

                                        Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. + * Supported only for fleets of type instant.

                                        + */ + SingleInstanceType?: boolean; + + /** + *

                                        The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

                                        + */ + MinTargetCapacity?: number; } export namespace OnDemandOptions { @@ -3563,21 +3919,29 @@ export namespace OnDemandOptions { */ export interface SpotOptions { /** - *

                                        Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported - * only for fleets of type instant.

                                        + *

                                        The number of Spot pools across which to allocate your target Spot capacity. Valid only + * when AllocationStrategy is set to + * lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates + * your target Spot capacity across the number of Spot pools that you specify.

                                        */ - SingleAvailabilityZone?: boolean; + InstancePoolsToUseCount?: number; /** - *

                                        The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

                                        + *

                                        The maximum amount per hour for Spot Instances that you're willing to pay.

                                        */ - MinTargetCapacity?: number; + MaxTotalPrice?: string; /** - *

                                        The behavior when a Spot Instance is interrupted. The default is terminate.

                                        + *

                                        Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported + * only for fleets of type instant.

                                        */ - InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; + SingleAvailabilityZone?: boolean; + + /** + *

                                        Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. + * Supported only for fleets of type instant.

                                        + */ + SingleInstanceType?: boolean; /** *

                                        Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by @@ -3593,23 +3957,15 @@ export interface SpotOptions { AllocationStrategy?: SpotAllocationStrategy | string; /** - *

                                        The number of Spot pools across which to allocate your target Spot capacity. Valid only - * when AllocationStrategy is set to - * lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates - * your target Spot capacity across the number of Spot pools that you specify.

                                        - */ - InstancePoolsToUseCount?: number; - - /** - *

                                        Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. - * Supported only for fleets of type instant.

                                        + *

                                        The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

                                        */ - SingleInstanceType?: boolean; + MinTargetCapacity?: number; /** - *

                                        The maximum amount per hour for Spot Instances that you're willing to pay.

                                        + *

                                        The behavior when a Spot Instance is interrupted. The default is terminate.

                                        */ - MaxTotalPrice?: string; + InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; } export namespace SpotOptions { @@ -3633,27 +3989,27 @@ export namespace SpotOptions { *

                                        */ export interface TargetCapacitySpecification { - /** - *

                                        The number of On-Demand units to request. If you specify a target capacity for Spot units, you cannot specify a target capacity for On-Demand units.

                                        - */ - OnDemandTargetCapacity?: number; - /** *

                                        The default TotalTargetCapacity, which is either Spot or * On-Demand.

                                        */ DefaultTargetCapacityType?: DefaultTargetCapacityType | string; + /** + *

                                        The number of units to request, filled using + * DefaultTargetCapacityType.

                                        + */ + TotalTargetCapacity?: number; + /** *

                                        The maximum number of Spot units to launch. If you specify a target capacity for On-Demand units, you cannot specify a target capacity for Spot units.

                                        */ SpotTargetCapacity?: number; /** - *

                                        The number of units to request, filled using - * DefaultTargetCapacityType.

                                        + *

                                        The number of On-Demand units to request. If you specify a target capacity for Spot units, you cannot specify a target capacity for On-Demand units.

                                        */ - TotalTargetCapacity?: number; + OnDemandTargetCapacity?: number; } export namespace TargetCapacitySpecification { @@ -3667,65 +4023,74 @@ export namespace TargetCapacitySpecification { */ export interface FleetData { /** - *

                                        Indicates whether EC2 Fleet should replace unhealthy instances.

                                        + *

                                        The ID of the EC2 Fleet.

                                        */ - ReplaceUnhealthyInstances?: boolean; + FleetId?: string; /** - *

                                        The creation date and time of the EC2 Fleet.

                                        + *

                                        The type of request. Indicates whether the EC2 Fleet only requests the target + * capacity, or also attempts to maintain it. If you request a certain target + * capacity, EC2 Fleet only places the required requests; it does not attempt to replenish + * instances if capacity is diminished, and it does not submit requests in alternative + * capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet + * places the required requests to meet this target capacity. It also automatically + * replenishes any interrupted Spot Instances. Default: maintain.

                                        */ - CreateTime?: Date; + Type?: FleetType | string; /** - *

                                        Indicates whether running instances should be terminated when the EC2 Fleet expires.

                                        + *

                                        Information about the instances that were launched by the fleet. Valid only when + * Type is set to instant.

                                        */ - TerminateInstancesWithExpiration?: boolean; + Instances?: DescribeFleetsInstances[]; /** - *

                                        The allocation strategy of On-Demand Instances in an EC2 Fleet.

                                        + *

                                        The end date and time of the request, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * At this point, no new instance requests are placed or able to fulfill the request. The + * default end date is 7 days from the current date.

                                        */ - OnDemandOptions?: OnDemandOptions; + ValidUntil?: Date; /** - *

                                        The progress of the EC2 Fleet. If there is an error, the status is error. After - * all requests are placed, the status is pending_fulfillment. If the size of the - * EC2 Fleet is equal to or greater than its target capacity, the status is fulfilled. - * If the size of the EC2 Fleet is decreased, the status is pending_termination while - * instances are terminating.

                                        + *

                                        The number of units fulfilled by this request compared to the set target + * capacity.

                                        */ - ActivityStatus?: FleetActivityStatus | string; + FulfilledCapacity?: number; /** - *

                                        The end date and time of the request, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * At this point, no new instance requests are placed or able to fulfill the request. The - * default end date is 7 days from the current date.

                                        + *

                                        The tags for an EC2 Fleet resource.

                                        */ - ValidUntil?: Date; + Tags?: Tag[]; /** - *

                                        Indicates whether running instances should be terminated if the target capacity of the - * EC2 Fleet is decreased below the current size of the EC2 Fleet.

                                        + *

                                        The number of units to request. You can choose to set the target capacity in terms of + * instances or a performance characteristic that is important to your application workload, + * such as vCPUs, memory, or I/O. If the request type is maintain, you can + * specify a target capacity of 0 and add capacity later.

                                        */ - ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; + TargetCapacitySpecification?: TargetCapacitySpecification; /** - *

                                        Information about the instances that could not be launched by the fleet. Valid only when - * Type is set to instant.

                                        + *

                                        The start date and time of the request, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * The default is to start fulfilling the request immediately.

                                        */ - Errors?: DescribeFleetError[]; + ValidFrom?: Date; /** - *

                                        The number of units fulfilled by this request compared to the set target On-Demand - * capacity.

                                        + *

                                        The progress of the EC2 Fleet. If there is an error, the status is error. After + * all requests are placed, the status is pending_fulfillment. If the size of the + * EC2 Fleet is equal to or greater than its target capacity, the status is fulfilled. + * If the size of the EC2 Fleet is decreased, the status is pending_termination while + * instances are terminating.

                                        */ - FulfilledOnDemandCapacity?: number; + ActivityStatus?: FleetActivityStatus | string; /** - *

                                        Information about the instances that were launched by the fleet. Valid only when - * Type is set to instant.

                                        + *

                                        The allocation strategy of On-Demand Instances in an EC2 Fleet.

                                        */ - Instances?: DescribeFleetsInstances[]; + OnDemandOptions?: OnDemandOptions; /** *

                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the @@ -3736,61 +4101,52 @@ export interface FleetData { ClientToken?: string; /** - *

                                        The start date and time of the request, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * The default is to start fulfilling the request immediately.

                                        + *

                                        Indicates whether running instances should be terminated when the EC2 Fleet expires.

                                        */ - ValidFrom?: Date; + TerminateInstancesWithExpiration?: boolean; /** - *

                                        The configuration of Spot Instances in an EC2 Fleet.

                                        + *

                                        Indicates whether EC2 Fleet should replace unhealthy instances.

                                        */ - SpotOptions?: SpotOptions; + ReplaceUnhealthyInstances?: boolean; /** - *

                                        The state of the EC2 Fleet.

                                        + *

                                        The launch template and overrides.

                                        */ - FleetState?: FleetStateCode | string; + LaunchTemplateConfigs?: FleetLaunchTemplateConfig[]; /** - *

                                        The number of units to request. You can choose to set the target capacity in terms of - * instances or a performance characteristic that is important to your application workload, - * such as vCPUs, memory, or I/O. If the request type is maintain, you can - * specify a target capacity of 0 and add capacity later.

                                        + *

                                        Information about the instances that could not be launched by the fleet. Valid only when + * Type is set to instant.

                                        */ - TargetCapacitySpecification?: TargetCapacitySpecification; + Errors?: DescribeFleetError[]; /** - *

                                        The launch template and overrides.

                                        + *

                                        The state of the EC2 Fleet.

                                        */ - LaunchTemplateConfigs?: FleetLaunchTemplateConfig[]; + FleetState?: FleetStateCode | string; /** - *

                                        The tags for an EC2 Fleet resource.

                                        + *

                                        The configuration of Spot Instances in an EC2 Fleet.

                                        */ - Tags?: Tag[]; + SpotOptions?: SpotOptions; /** - *

                                        The ID of the EC2 Fleet.

                                        + *

                                        The creation date and time of the EC2 Fleet.

                                        */ - FleetId?: string; + CreateTime?: Date; /** - *

                                        The number of units fulfilled by this request compared to the set target - * capacity.

                                        + *

                                        Indicates whether running instances should be terminated if the target capacity of the + * EC2 Fleet is decreased below the current size of the EC2 Fleet.

                                        */ - FulfilledCapacity?: number; + ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; /** - *

                                        The type of request. Indicates whether the EC2 Fleet only requests the target - * capacity, or also attempts to maintain it. If you request a certain target - * capacity, EC2 Fleet only places the required requests; it does not attempt to replenish - * instances if capacity is diminished, and it does not submit requests in alternative - * capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet - * places the required requests to meet this target capacity. It also automatically - * replenishes any interrupted Spot Instances. Default: maintain.

                                        + *

                                        The number of units fulfilled by this request compared to the set target On-Demand + * capacity.

                                        */ - Type?: FleetType | string; + FulfilledOnDemandCapacity?: number; } export namespace FleetData { @@ -3801,14 +4157,14 @@ export namespace FleetData { export interface DescribeFleetsResult { /** - *

                                        Information about the EC2 Fleets.

                                        + *

                                        The token for the next set of results.

                                        */ - Fleets?: FleetData[]; + NextToken?: string; /** - *

                                        The token for the next set of results.

                                        + *

                                        Information about the EC2 Fleets.

                                        */ - NextToken?: string; + Fleets?: FleetData[]; } export namespace DescribeFleetsResult { @@ -3818,30 +4174,11 @@ export namespace DescribeFleetsResult { } export interface DescribeFlowLogsRequest { - /** - *

                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                        - */ - MaxResults?: number; - - /** - *

                                        One or more flow log IDs.

                                        - *

                                        Constraint: Maximum of 1000 flow log IDs.

                                        - */ - FlowLogIds?: string[]; - /** *

                                        The token for the next page of results.

                                        */ NextToken?: string; - /** - *

                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                        - */ - DryRun?: boolean; - /** *

                                        One or more filters.

                                        *
                                          @@ -3885,6 +4222,25 @@ export interface DescribeFlowLogsRequest { *
                                        */ Filter?: Filter[]; + + /** + *

                                        One or more flow log IDs.

                                        + *

                                        Constraint: Maximum of 1000 flow log IDs.

                                        + */ + FlowLogIds?: string[]; + + /** + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        + */ + DryRun?: boolean; + + /** + *

                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                        + */ + MaxResults?: number; } export namespace DescribeFlowLogsRequest { @@ -3898,15 +4254,39 @@ export namespace DescribeFlowLogsRequest { */ export interface FlowLog { /** - *

                                        Specifies the type of destination to which the flow log data is published. Flow log data can be - * published to CloudWatch Logs or Amazon S3.

                                        + *

                                        The status of the logs delivery (SUCCESS | FAILED).

                                        */ - LogDestinationType?: LogDestinationType | string; + DeliverLogsStatus?: string; /** - *

                                        The ID of the resource on which the flow log was created.

                                        + *

                                        The status of the flow log (ACTIVE).

                                        */ - ResourceId?: string; + FlowLogStatus?: string; + + /** + *

                                        The name of the flow log group.

                                        + */ + LogGroupName?: string; + + /** + *

                                        The type of traffic captured for the flow log.

                                        + */ + TrafficType?: TrafficType | string; + + /** + *

                                        The tags for the flow log.

                                        + */ + Tags?: Tag[]; + + /** + *

                                        Information about the error that occurred. Rate limited indicates that + * CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've + * reached the limit on the number of log groups that you can create. Access + * error indicates that the IAM role associated with the flow log does not have + * sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an + * internal error.

                                        + */ + DeliverLogsErrorMessage?: string; /** *

                                        Specifies the destination to which the flow log data is published. Flow log data can be @@ -3923,14 +4303,15 @@ export interface FlowLog { DeliverLogsPermissionArn?: string; /** - *

                                        The tags for the flow log.

                                        + *

                                        The ID of the resource on which the flow log was created.

                                        */ - Tags?: Tag[]; + ResourceId?: string; /** - *

                                        The flow log ID.

                                        + *

                                        Specifies the type of destination to which the flow log data is published. Flow log data can be + * published to CloudWatch Logs or Amazon S3.

                                        */ - FlowLogId?: string; + LogDestinationType?: LogDestinationType | string; /** *

                                        The date and time the flow log was created.

                                        @@ -3938,24 +4319,14 @@ export interface FlowLog { CreationTime?: Date; /** - *

                                        The type of traffic captured for the flow log.

                                        - */ - TrafficType?: TrafficType | string; - - /** - *

                                        The status of the logs delivery (SUCCESS | FAILED).

                                        - */ - DeliverLogsStatus?: string; - - /** - *

                                        The name of the flow log group.

                                        + *

                                        The flow log ID.

                                        */ - LogGroupName?: string; + FlowLogId?: string; /** - *

                                        The status of the flow log (ACTIVE).

                                        + *

                                        The format of the flow log record.

                                        */ - FlowLogStatus?: string; + LogFormat?: string; /** *

                                        The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

                                        @@ -3966,21 +4337,6 @@ export interface FlowLog { *

                                        */ MaxAggregationInterval?: number; - - /** - *

                                        The format of the flow log record.

                                        - */ - LogFormat?: string; - - /** - *

                                        Information about the error that occurred. Rate limited indicates that - * CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've - * reached the limit on the number of log groups that you can create. Access - * error indicates that the IAM role associated with the flow log does not have - * sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an - * internal error.

                                        - */ - DeliverLogsErrorMessage?: string; } export namespace FlowLog { @@ -3991,14 +4347,14 @@ export namespace FlowLog { export interface DescribeFlowLogsResult { /** - *

                                        Information about the flow logs.

                                        + *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        */ - FlowLogs?: FlowLog[]; + NextToken?: string; /** - *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        + *

                                        Information about the flow logs.

                                        */ - NextToken?: string; + FlowLogs?: FlowLog[]; } export namespace DescribeFlowLogsResult { @@ -4041,14 +4397,14 @@ export type PermissionGroup = "all"; */ export interface LoadPermission { /** - *

                                        The AWS account ID.

                                        + *

                                        The name of the group.

                                        */ - UserId?: string; + Group?: PermissionGroup | string; /** - *

                                        The name of the group.

                                        + *

                                        The AWS account ID.

                                        */ - Group?: PermissionGroup | string; + UserId?: string; } export namespace LoadPermission { @@ -4064,14 +4420,14 @@ export type ProductCodeValues = "devpay" | "marketplace"; */ export interface ProductCode { /** - *

                                        The product code.

                                        + *

                                        The type of product code.

                                        */ - ProductCodeId?: string; + ProductCodeType?: ProductCodeValues | string; /** - *

                                        The type of product code.

                                        + *

                                        The product code.

                                        */ - ProductCodeType?: ProductCodeValues | string; + ProductCodeId?: string; } export namespace ProductCode { @@ -4085,29 +4441,29 @@ export namespace ProductCode { */ export interface FpgaImageAttribute { /** - *

                                        The load permissions.

                                        + *

                                        The ID of the AFI.

                                        */ - LoadPermissions?: LoadPermission[]; + FpgaImageId?: string; /** - *

                                        The product codes.

                                        + *

                                        The name of the AFI.

                                        */ - ProductCodes?: ProductCode[]; + Name?: string; /** - *

                                        The description of the AFI.

                                        + *

                                        The product codes.

                                        */ - Description?: string; + ProductCodes?: ProductCode[]; /** - *

                                        The name of the AFI.

                                        + *

                                        The load permissions.

                                        */ - Name?: string; + LoadPermissions?: LoadPermission[]; /** - *

                                        The ID of the AFI.

                                        + *

                                        The description of the AFI.

                                        */ - FpgaImageId?: string; + Description?: string; } export namespace FpgaImageAttribute { @@ -4130,11 +4486,6 @@ export namespace DescribeFpgaImageAttributeResult { } export interface DescribeFpgaImagesRequest { - /** - *

                                        Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).

                                        - */ - Owners?: string[]; - /** *

                                        The filters.

                                        *
                                          @@ -4187,6 +4538,16 @@ export interface DescribeFpgaImagesRequest { */ Filters?: Filter[]; + /** + *

                                          Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).

                                          + */ + Owners?: string[]; + + /** + *

                                          The AFI IDs.

                                          + */ + FpgaImageIds?: string[]; + /** *

                                          The token to retrieve the next page of results.

                                          */ @@ -4197,11 +4558,6 @@ export interface DescribeFpgaImagesRequest { */ MaxResults?: number; - /** - *

                                          The AFI IDs.

                                          - */ - FpgaImageIds?: string[]; - /** *

                                          Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4221,9 +4577,9 @@ export namespace DescribeFpgaImagesRequest { */ export interface PciId { /** - *

                                          The ID of the vendor.

                                          + *

                                          The ID of the vendor for the subsystem.

                                          */ - VendorId?: string; + SubsystemVendorId?: string; /** *

                                          The ID of the device.

                                          @@ -4231,14 +4587,14 @@ export interface PciId { DeviceId?: string; /** - *

                                          The ID of the vendor for the subsystem.

                                          + *

                                          The ID of the subsystem.

                                          */ - SubsystemVendorId?: string; + SubsystemId?: string; /** - *

                                          The ID of the subsystem.

                                          + *

                                          The ID of the vendor.

                                          */ - SubsystemId?: string; + VendorId?: string; } export namespace PciId { @@ -4253,6 +4609,11 @@ export type FpgaImageStateCode = "available" | "failed" | "pending" | "unavailab *

                                          Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

                                          */ export interface FpgaImageState { + /** + *

                                          If the state is failed, this is the error message.

                                          + */ + Message?: string; + /** *

                                          The state. The following are the possible values:

                                          *
                                            @@ -4275,11 +4636,6 @@ export interface FpgaImageState { *
                                          */ Code?: FpgaImageStateCode | string; - - /** - *

                                          If the state is failed, this is the error message.

                                          - */ - Message?: string; } export namespace FpgaImageState { @@ -4293,79 +4649,79 @@ export namespace FpgaImageState { */ export interface FpgaImage { /** - *

                                          The time of the most recent update to the AFI.

                                          + *

                                          The version of the AWS Shell that was used to create the bitstream.

                                          */ - UpdateTime?: Date; + ShellVersion?: string; /** - *

                                          The global FPGA image identifier (AGFI ID).

                                          + *

                                          The product codes for the AFI.

                                          */ - FpgaImageGlobalId?: string; + ProductCodes?: ProductCode[]; /** - *

                                          The name of the AFI.

                                          + *

                                          The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

                                          */ - Name?: string; + OwnerAlias?: string; /** - *

                                          Any tags assigned to the AFI.

                                          + *

                                          The date and time the AFI was created.

                                          */ - Tags?: Tag[]; + CreateTime?: Date; /** - *

                                          Information about the state of the AFI.

                                          + *

                                          Indicates whether the AFI is public.

                                          */ - State?: FpgaImageState; + Public?: boolean; /** - *

                                          The AWS account ID of the AFI owner.

                                          + *

                                          The description of the AFI.

                                          */ - OwnerId?: string; + Description?: string; /** - *

                                          Indicates whether the AFI is public.

                                          + *

                                          Information about the PCI bus.

                                          */ - Public?: boolean; + PciId?: PciId; /** - *

                                          The date and time the AFI was created.

                                          + *

                                          The time of the most recent update to the AFI.

                                          */ - CreateTime?: Date; + UpdateTime?: Date; /** - *

                                          The version of the AWS Shell that was used to create the bitstream.

                                          + *

                                          Any tags assigned to the AFI.

                                          */ - ShellVersion?: string; + Tags?: Tag[]; /** - *

                                          The FPGA image identifier (AFI ID).

                                          + *

                                          The AWS account ID of the AFI owner.

                                          */ - FpgaImageId?: string; + OwnerId?: string; /** - *

                                          The product codes for the AFI.

                                          + *

                                          The global FPGA image identifier (AGFI ID).

                                          */ - ProductCodes?: ProductCode[]; + FpgaImageGlobalId?: string; /** - *

                                          The description of the AFI.

                                          + *

                                          Information about the state of the AFI.

                                          */ - Description?: string; + State?: FpgaImageState; /** - *

                                          Indicates whether data retention support is enabled for the AFI.

                                          + *

                                          The FPGA image identifier (AFI ID).

                                          */ - DataRetentionSupport?: boolean; + FpgaImageId?: string; /** - *

                                          The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

                                          + *

                                          Indicates whether data retention support is enabled for the AFI.

                                          */ - OwnerAlias?: string; + DataRetentionSupport?: boolean; /** - *

                                          Information about the PCI bus.

                                          + *

                                          The name of the AFI.

                                          */ - PciId?: PciId; + Name?: string; } export namespace FpgaImage { @@ -4401,16 +4757,6 @@ export interface DescribeHostReservationOfferingsRequest { */ MaxDuration?: number; - /** - *

                                          The token to use to retrieve the next page of results.

                                          - */ - NextToken?: string; - - /** - *

                                          The ID of the reservation offering.

                                          - */ - OfferingId?: string; - /** *

                                          The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                          */ @@ -4440,6 +4786,16 @@ export interface DescribeHostReservationOfferingsRequest { * the supported durations (1 or 3). For example, specify 31536000 for one year.

                                          */ MinDuration?: number; + + /** + *

                                          The ID of the reservation offering.

                                          + */ + OfferingId?: string; + + /** + *

                                          The token to use to retrieve the next page of results.

                                          + */ + NextToken?: string; } export namespace DescribeHostReservationOfferingsRequest { @@ -4458,17 +4814,6 @@ export enum PaymentOption { *

                                          Details about the Dedicated Host Reservation offering.

                                          */ export interface HostOffering { - /** - *

                                          The upfront price of the offering. Does not apply to No Upfront - * offerings.

                                          - */ - UpfrontPrice?: string; - - /** - *

                                          The duration of the offering (in seconds).

                                          - */ - Duration?: number; - /** *

                                          The currency of the offering.

                                          */ @@ -4484,15 +4829,26 @@ export interface HostOffering { */ PaymentOption?: PaymentOption | string; + /** + *

                                          The ID of the offering.

                                          + */ + OfferingId?: string; + /** *

                                          The instance family of the offering.

                                          */ InstanceFamily?: string; /** - *

                                          The ID of the offering.

                                          + *

                                          The upfront price of the offering. Does not apply to No Upfront + * offerings.

                                          */ - OfferingId?: string; + UpfrontPrice?: string; + + /** + *

                                          The duration of the offering (in seconds).

                                          + */ + Duration?: number; } export namespace HostOffering { @@ -4520,6 +4876,21 @@ export namespace DescribeHostReservationOfferingsResult { } export interface DescribeHostReservationsRequest { + /** + *

                                          The host reservation IDs.

                                          + */ + HostReservationIdSet?: string[]; + + /** + *

                                          The token to use to retrieve the next page of results.

                                          + */ + NextToken?: string; + + /** + *

                                          The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                          + */ + MaxResults?: number; + /** *

                                          The filters.

                                          *
                                            @@ -4551,21 +4922,6 @@ export interface DescribeHostReservationsRequest { *
                                          */ Filter?: Filter[]; - - /** - *

                                          The host reservation IDs.

                                          - */ - HostReservationIdSet?: string[]; - - /** - *

                                          The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                          - */ - MaxResults?: number; - - /** - *

                                          The token to use to retrieve the next page of results.

                                          - */ - NextToken?: string; } export namespace DescribeHostReservationsRequest { @@ -4587,42 +4943,41 @@ export enum ReservationState { */ export interface HostReservation { /** - *

                                          The state of the reservation.

                                          + *

                                          The date and time that the reservation ends.

                                          */ - State?: ReservationState | string; + End?: Date; /** - *

                                          Any tags assigned to the Dedicated Host Reservation.

                                          + *

                                          The payment option selected for this reservation.

                                          */ - Tags?: Tag[]; + PaymentOption?: PaymentOption | string; /** - *

                                          The number of Dedicated Hosts the reservation is associated with.

                                          + *

                                          The date and time that the reservation started.

                                          */ - Count?: number; + Start?: Date; /** - *

                                          The instance family of the Dedicated Host Reservation. The instance family on the - * Dedicated Host must be the same in order for it to benefit from the - * reservation.

                                          + *

                                          The IDs of the Dedicated Hosts associated with the reservation.

                                          */ - InstanceFamily?: string; + HostIdSet?: string[]; /** - *

                                          The length of the reservation's term, specified in seconds. Can be 31536000 - * (1 year) | 94608000 (3 years).

                                          + *

                                          The ID of the reservation that specifies the associated Dedicated Hosts.

                                          */ - Duration?: number; + HostReservationId?: string; /** - *

                                          The upfront price of the reservation.

                                          + *

                                          The currency in which the upfrontPrice and hourlyPrice + * amounts are specified. At this time, the only supported currency is + * USD.

                                          */ - UpfrontPrice?: string; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                          The date and time that the reservation started.

                                          + *

                                          Any tags assigned to the Dedicated Host Reservation.

                                          */ - Start?: Date; + Tags?: Tag[]; /** *

                                          The ID of the reservation. This remains the same regardless of which Dedicated @@ -4631,36 +4986,37 @@ export interface HostReservation { OfferingId?: string; /** - *

                                          The payment option selected for this reservation.

                                          + *

                                          The instance family of the Dedicated Host Reservation. The instance family on the + * Dedicated Host must be the same in order for it to benefit from the + * reservation.

                                          */ - PaymentOption?: PaymentOption | string; + InstanceFamily?: string; /** - *

                                          The hourly price of the reservation.

                                          + *

                                          The number of Dedicated Hosts the reservation is associated with.

                                          */ - HourlyPrice?: string; + Count?: number; /** - *

                                          The date and time that the reservation ends.

                                          + *

                                          The upfront price of the reservation.

                                          */ - End?: Date; + UpfrontPrice?: string; /** - *

                                          The IDs of the Dedicated Hosts associated with the reservation.

                                          + *

                                          The length of the reservation's term, specified in seconds. Can be 31536000 + * (1 year) | 94608000 (3 years).

                                          */ - HostIdSet?: string[]; + Duration?: number; /** - *

                                          The currency in which the upfrontPrice and hourlyPrice - * amounts are specified. At this time, the only supported currency is - * USD.

                                          + *

                                          The hourly price of the reservation.

                                          */ - CurrencyCode?: CurrencyCodeValues | string; + HourlyPrice?: string; /** - *

                                          The ID of the reservation that specifies the associated Dedicated Hosts.

                                          + *

                                          The state of the reservation.

                                          */ - HostReservationId?: string; + State?: ReservationState | string; } export namespace HostReservation { @@ -4671,14 +5027,14 @@ export namespace HostReservation { export interface DescribeHostReservationsResult { /** - *

                                          Details about the reservation's configuration.

                                          + *

                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                          */ - HostReservationSet?: HostReservation[]; + NextToken?: string; /** - *

                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                          + *

                                          Details about the reservation's configuration.

                                          */ - NextToken?: string; + HostReservationSet?: HostReservation[]; } export namespace DescribeHostReservationsResult { @@ -4688,6 +5044,18 @@ export namespace DescribeHostReservationsResult { } export interface DescribeHostsRequest { + /** + *

                                          The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                          + *

                                          You cannot specify this parameter and the host IDs parameter in the same request.

                                          + */ + MaxResults?: number; + + /** + *

                                          The IDs of the Dedicated Hosts. The IDs are used for targeted instance + * launches.

                                          + */ + HostIds?: string[]; + /** *

                                          The token to use to retrieve the next page of results.

                                          */ @@ -4735,18 +5103,6 @@ export interface DescribeHostsRequest { *
                                        */ Filter?: Filter[]; - - /** - *

                                        The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                        - *

                                        You cannot specify this parameter and the host IDs parameter in the same request.

                                        - */ - MaxResults?: number; - - /** - *

                                        The IDs of the Dedicated Hosts. The IDs are used for targeted instance - * launches.

                                        - */ - HostIds?: string[]; } export namespace DescribeHostsRequest { @@ -4767,15 +5123,15 @@ export interface InstanceCapacity { AvailableCapacity?: number; /** - *

                                        The total number of instances that can be launched onto the Dedicated Host if there - * are no instances running on it.

                                        + *

                                        The instance type supported by the Dedicated Host.

                                        */ - TotalCapacity?: number; + InstanceType?: string; /** - *

                                        The instance type supported by the Dedicated Host.

                                        + *

                                        The total number of instances that can be launched onto the Dedicated Host if there + * are no instances running on it.

                                        */ - InstanceType?: string; + TotalCapacity?: number; } export namespace InstanceCapacity { @@ -4788,11 +5144,6 @@ export namespace InstanceCapacity { *

                                        The capacity information for instances that can be launched onto the Dedicated Host.

                                        */ export interface AvailableCapacity { - /** - *

                                        The number of vCPUs available for launching instances onto the Dedicated Host.

                                        - */ - AvailableVCpus?: number; - /** *

                                        The number of instances that can be launched onto the Dedicated Host depending on * the host's available capacity. For Dedicated Hosts that support multiple instance types, @@ -4800,6 +5151,11 @@ export interface AvailableCapacity { * supported on the host.

                                        */ AvailableInstanceCapacity?: InstanceCapacity[]; + + /** + *

                                        The number of vCPUs available for launching instances onto the Dedicated Host.

                                        + */ + AvailableVCpus?: number; } export namespace AvailableCapacity { @@ -4824,6 +5180,11 @@ export interface HostProperties { */ Sockets?: number; + /** + *

                                        The number of cores on the Dedicated Host.

                                        + */ + Cores?: number; + /** *

                                        The instance family supported by the Dedicated Host. For example, m5.

                                        */ @@ -4833,11 +5194,6 @@ export interface HostProperties { *

                                        The total number of vCPUs on the Dedicated Host.

                                        */ TotalVCpus?: number; - - /** - *

                                        The number of cores on the Dedicated Host.

                                        - */ - Cores?: number; } export namespace HostProperties { @@ -4856,14 +5212,14 @@ export interface HostInstance { InstanceType?: string; /** - *

                                        The ID of instance that is running on the Dedicated Host.

                                        + *

                                        The ID of the AWS account that owns the instance.

                                        */ - InstanceId?: string; + OwnerId?: string; /** - *

                                        The ID of the AWS account that owns the instance.

                                        + *

                                        The ID of instance that is running on the Dedicated Host.

                                        */ - OwnerId?: string; + InstanceId?: string; } export namespace HostInstance { @@ -4877,33 +5233,20 @@ export namespace HostInstance { */ export interface Host { /** - *

                                        Indicates whether host recovery is enabled or disabled for the Dedicated Host.

                                        - */ - HostRecovery?: HostRecovery | string; - - /** - *

                                        The Dedicated Host's state.

                                        - */ - State?: AllocationState | string; - - /** - *

                                        The time that the Dedicated Host was allocated.

                                        + *

                                        Any tags assigned to the Dedicated Host.

                                        */ - AllocationTime?: Date; + Tags?: Tag[]; /** - *

                                        The reservation ID of the Dedicated Host. This returns a null response - * if the Dedicated Host doesn't have an associated reservation.

                                        + *

                                        The hardware specifications of the Dedicated Host.

                                        */ - HostReservationId?: string; + HostProperties?: HostProperties; /** - *

                                        Indicates whether the Dedicated Host supports multiple instance types of the same instance family, - * or a specific instance type only. one indicates that the Dedicated Host supports - * multiple instance types in the instance family. off indicates that the Dedicated - * Host supports a single instance type only.

                                        + *

                                        The IDs and instance type that are currently running on the Dedicated + * Host.

                                        */ - AllowsMultipleInstanceTypes?: AllowsMultipleInstanceTypes | string; + Instances?: HostInstance[]; /** *

                                        Information about the instances running on the Dedicated Host.

                                        @@ -4911,20 +5254,19 @@ export interface Host { AvailableCapacity?: AvailableCapacity; /** - *

                                        The time that the Dedicated Host was released.

                                        + *

                                        The Dedicated Host's state.

                                        */ - ReleaseTime?: Date; + State?: AllocationState | string; /** - *

                                        The IDs and instance type that are currently running on the Dedicated - * Host.

                                        + *

                                        The Availability Zone of the Dedicated Host.

                                        */ - Instances?: HostInstance[]; + AvailabilityZone?: string; /** - *

                                        The ID of the Availability Zone in which the Dedicated Host is allocated.

                                        + *

                                        Whether auto-placement is on or off.

                                        */ - AvailabilityZoneId?: string; + AutoPlacement?: AutoPlacement | string; /** *

                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                                        @@ -4932,19 +5274,24 @@ export interface Host { ClientToken?: string; /** - *

                                        Whether auto-placement is on or off.

                                        + *

                                        Indicates whether the Dedicated Host supports multiple instance types of the same instance family, + * or a specific instance type only. one indicates that the Dedicated Host supports + * multiple instance types in the instance family. off indicates that the Dedicated + * Host supports a single instance type only.

                                        */ - AutoPlacement?: AutoPlacement | string; + AllowsMultipleInstanceTypes?: AllowsMultipleInstanceTypes | string; /** - *

                                        The ID of the Dedicated Host.

                                        + *

                                        Indicates whether the Dedicated Host is in a host resource group. If + * memberOfServiceLinkedResourceGroup is + * true, the host is in a host resource group; otherwise, it is not.

                                        */ - HostId?: string; + MemberOfServiceLinkedResourceGroup?: boolean; /** - *

                                        The hardware specifications of the Dedicated Host.

                                        + *

                                        The time that the Dedicated Host was allocated.

                                        */ - HostProperties?: HostProperties; + AllocationTime?: Date; /** *

                                        The ID of the AWS account that owns the Dedicated Host.

                                        @@ -4952,21 +5299,30 @@ export interface Host { OwnerId?: string; /** - *

                                        Any tags assigned to the Dedicated Host.

                                        + *

                                        The ID of the Availability Zone in which the Dedicated Host is allocated.

                                        */ - Tags?: Tag[]; + AvailabilityZoneId?: string; /** - *

                                        Indicates whether the Dedicated Host is in a host resource group. If - * memberOfServiceLinkedResourceGroup is - * true, the host is in a host resource group; otherwise, it is not.

                                        + *

                                        The reservation ID of the Dedicated Host. This returns a null response + * if the Dedicated Host doesn't have an associated reservation.

                                        */ - MemberOfServiceLinkedResourceGroup?: boolean; + HostReservationId?: string; /** - *

                                        The Availability Zone of the Dedicated Host.

                                        + *

                                        The time that the Dedicated Host was released.

                                        */ - AvailabilityZone?: string; + ReleaseTime?: Date; + + /** + *

                                        The ID of the Dedicated Host.

                                        + */ + HostId?: string; + + /** + *

                                        Indicates whether host recovery is enabled or disabled for the Dedicated Host.

                                        + */ + HostRecovery?: HostRecovery | string; } export namespace Host { @@ -4999,17 +5355,6 @@ export interface DescribeIamInstanceProfileAssociationsRequest { */ AssociationIds?: string[]; - /** - *

                                        The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value.

                                        - */ - MaxResults?: number; - - /** - *

                                        The token to request the next page of results.

                                        - */ - NextToken?: string; - /** *

                                        The filters.

                                        *
                                          @@ -5025,6 +5370,17 @@ export interface DescribeIamInstanceProfileAssociationsRequest { *
                                        */ Filters?: Filter[]; + + /** + *

                                        The token to request the next page of results.

                                        + */ + NextToken?: string; + + /** + *

                                        The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value.

                                        + */ + MaxResults?: number; } export namespace DescribeIamInstanceProfileAssociationsRequest { @@ -5052,6 +5408,11 @@ export namespace DescribeIamInstanceProfileAssociationsResult { } export interface DescribeIdentityIdFormatRequest { + /** + *

                                        The ARN of the principal, which can be an IAM role, IAM user, or the root user.

                                        + */ + PrincipalArn: string | undefined; + /** *

                                        The type of resource: bundle | * conversion-task | customer-gateway | dhcp-options | @@ -5069,11 +5430,6 @@ export interface DescribeIdentityIdFormatRequest { *

                                        */ Resource?: string; - - /** - *

                                        The ARN of the principal, which can be an IAM role, IAM user, or the root user.

                                        - */ - PrincipalArn: string | undefined; } export namespace DescribeIdentityIdFormatRequest { @@ -5147,6 +5503,11 @@ export type ImageAttributeName = *

                                        Contains the parameters for DescribeImageAttribute.

                                        */ export interface DescribeImageAttributeRequest { + /** + *

                                        The ID of the AMI.

                                        + */ + ImageId: string | undefined; + /** *

                                        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -5154,11 +5515,6 @@ export interface DescribeImageAttributeRequest { */ DryRun?: boolean; - /** - *

                                        The ID of the AMI.

                                        - */ - ImageId: string | undefined; - /** *

                                        The AMI attribute.

                                        *

                                        @@ -5180,14 +5536,14 @@ export namespace DescribeImageAttributeRequest { */ export interface LaunchPermission { /** - *

                                        The AWS account ID.

                                        + *

                                        The name of the group.

                                        */ - UserId?: string; + Group?: PermissionGroup | string; /** - *

                                        The name of the group.

                                        + *

                                        The AWS account ID.

                                        */ - Group?: PermissionGroup | string; + UserId?: string; } export namespace LaunchPermission { @@ -5201,44 +5557,44 @@ export namespace LaunchPermission { */ export interface ImageAttribute { /** - *

                                        The RAM disk ID.

                                        + *

                                        A description for the AMI.

                                        */ - RamdiskId?: AttributeValue; + Description?: AttributeValue; /** - *

                                        The kernel ID.

                                        + *

                                        The block device mapping entries.

                                        */ - KernelId?: AttributeValue; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                        The ID of the AMI.

                                        + *

                                        The product codes.

                                        */ - ImageId?: string; + ProductCodes?: ProductCode[]; /** - *

                                        The block device mapping entries.

                                        + *

                                        The RAM disk ID.

                                        */ - BlockDeviceMappings?: BlockDeviceMapping[]; + RamdiskId?: AttributeValue; /** - *

                                        Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                                        + *

                                        The launch permissions.

                                        */ - SriovNetSupport?: AttributeValue; + LaunchPermissions?: LaunchPermission[]; /** - *

                                        A description for the AMI.

                                        + *

                                        Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                                        */ - Description?: AttributeValue; + SriovNetSupport?: AttributeValue; /** - *

                                        The launch permissions.

                                        + *

                                        The kernel ID.

                                        */ - LaunchPermissions?: LaunchPermission[]; + KernelId?: AttributeValue; /** - *

                                        The product codes.

                                        + *

                                        The ID of the AMI.

                                        */ - ProductCodes?: ProductCode[]; + ImageId?: string; } export namespace ImageAttribute { @@ -5249,12 +5605,11 @@ export namespace ImageAttribute { export interface DescribeImagesRequest { /** - *

                                        Scopes the results to images with the specified owners. You can specify a combination of - * AWS account IDs, self, amazon, and aws-marketplace. - * If you omit this parameter, the results include all images for which you have launch permissions, - * regardless of ownership.

                                        + *

                                        Scopes the images by users with explicit launch permissions. + * Specify an AWS account ID, self (the sender of the request), + * or all (public AMIs).

                                        */ - Owners?: string[]; + ExecutableUsers?: string[]; /** *

                                        The image IDs.

                                        @@ -5299,7 +5654,7 @@ export interface DescribeImagesRequest { *
                                      • *

                                        * block-device-mapping.volume-type - The volume type of the EBS volume - * (gp2 | io1 | st1 | sc1 | + * (gp2 | io1 | io2 | st1 | sc1 | * standard).

                                        *
                                      • *
                                      • @@ -5422,11 +5777,12 @@ export interface DescribeImagesRequest { Filters?: Filter[]; /** - *

                                        Scopes the images by users with explicit launch permissions. - * Specify an AWS account ID, self (the sender of the request), - * or all (public AMIs).

                                        + *

                                        Scopes the results to images with the specified owners. You can specify a combination of + * AWS account IDs, self, amazon, and aws-marketplace. + * If you omit this parameter, the results include all images for which you have launch permissions, + * regardless of ownership.

                                        */ - ExecutableUsers?: string[]; + Owners?: string[]; } export namespace DescribeImagesRequest { @@ -5449,11 +5805,6 @@ export type ImageState = "available" | "deregistered" | "error" | "failed" | "in *

                                        Describes a state change.

                                        */ export interface StateReason { - /** - *

                                        The reason code for the state change.

                                        - */ - Code?: string; - /** *

                                        The message for the state change.

                                        *
                                          @@ -5525,6 +5876,11 @@ export interface StateReason { *
                                        */ Message?: string; + + /** + *

                                        The reason code for the state change.

                                        + */ + Code?: string; } export namespace StateReason { @@ -5540,58 +5896,59 @@ export type VirtualizationType = "hvm" | "paravirtual"; */ export interface Image { /** - *

                                        Specifies whether enhanced networking with ENA is enabled.

                                        + *

                                        The description of the AMI that was provided during image creation.

                                        */ - EnaSupport?: boolean; + Description?: string; /** - *

                                        The type of image.

                                        + *

                                        The ID of the AMI.

                                        */ - ImageType?: ImageTypeValues | string; + ImageId?: string; /** - *

                                        This value is set to windows for Windows AMIs; otherwise, it is blank.

                                        + *

                                        The type of virtualization of the AMI.

                                        */ - Platform?: PlatformValues | string; + VirtualizationType?: VirtualizationType | string; /** - *

                                        The reason for the state change.

                                        + *

                                        The type of root device used by the AMI. The AMI can use an EBS volume or an instance store volume.

                                        */ - StateReason?: StateReason; + RootDeviceType?: DeviceType | string; /** - *

                                        The operation of the Amazon EC2 instance and the billing code that is associated with the AMI. - * usageOperation corresponds to the lineitem/Operation column on your AWS Cost and Usage Report and in the AWS Price - * List API. For the list of UsageOperation codes, see Platform Details and Usage Operation Billing Codes in the - * Amazon Elastic Compute Cloud User Guide.

                                        + *

                                        The kernel associated with the image, if any. Only applicable for machine images.

                                        */ - UsageOperation?: string; + KernelId?: string; /** - *

                                        The AWS account ID of the image owner.

                                        + *

                                        This value is set to windows for Windows AMIs; otherwise, it is blank.

                                        */ - OwnerId?: string; + Platform?: PlatformValues | string; /** - *

                                        The location of the AMI.

                                        + *

                                        The platform details associated with the billing code of the AMI. For more information, + * see Obtaining + * Billing Information in the Amazon Elastic Compute Cloud User Guide.

                                        */ - ImageLocation?: string; + PlatformDetails?: string; /** - *

                                        The AWS account alias (for example, amazon, self) or - * the AWS account ID of the AMI owner.

                                        + *

                                        The hypervisor type of the image.

                                        */ - ImageOwnerAlias?: string; + Hypervisor?: HypervisorType | string; /** - *

                                        The date and time the image was created.

                                        + *

                                        The operation of the Amazon EC2 instance and the billing code that is associated with the AMI. + * usageOperation corresponds to the lineitem/Operation column on your AWS Cost and Usage Report and in the AWS Price + * List API. For the list of UsageOperation codes, see Platform Details and Usage Operation Billing Codes in the + * Amazon Elastic Compute Cloud User Guide.

                                        */ - CreationDate?: string; + UsageOperation?: string; /** - *

                                        The description of the AMI that was provided during image creation.

                                        + *

                                        The date and time the image was created.

                                        */ - Description?: string; + CreationDate?: string; /** *

                                        The device name of the root device volume (for example, /dev/sda1).

                                        @@ -5599,58 +5956,51 @@ export interface Image { RootDeviceName?: string; /** - *

                                        The kernel associated with the image, if any. Only applicable for machine images.

                                        - */ - KernelId?: string; - - /** - *

                                        Indicates whether the image has public launch permissions. The value is true if - * this image has public launch permissions or false - * if it has only implicit and explicit launch permissions.

                                        + *

                                        The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

                                        */ - Public?: boolean; + State?: ImageState | string; /** - *

                                        The type of virtualization of the AMI.

                                        + *

                                        The location of the AMI.

                                        */ - VirtualizationType?: VirtualizationType | string; + ImageLocation?: string; /** - *

                                        The platform details associated with the billing code of the AMI. For more information, - * see Obtaining - * Billing Information in the Amazon Elastic Compute Cloud User Guide.

                                        + *

                                        The AWS account ID of the image owner.

                                        */ - PlatformDetails?: string; + OwnerId?: string; /** - *

                                        The ID of the AMI.

                                        + *

                                        Any product codes associated with the AMI.

                                        */ - ImageId?: string; + ProductCodes?: ProductCode[]; /** - *

                                        The name of the AMI that was provided during image creation.

                                        + *

                                        Any tags assigned to the image.

                                        */ - Name?: string; + Tags?: Tag[]; /** - *

                                        The hypervisor type of the image.

                                        + *

                                        Indicates whether the image has public launch permissions. The value is true if + * this image has public launch permissions or false + * if it has only implicit and explicit launch permissions.

                                        */ - Hypervisor?: HypervisorType | string; + Public?: boolean; /** - *

                                        The type of root device used by the AMI. The AMI can use an EBS volume or an instance store volume.

                                        + *

                                        The architecture of the image.

                                        */ - RootDeviceType?: DeviceType | string; + Architecture?: ArchitectureValues | string; /** - *

                                        The architecture of the image.

                                        + *

                                        The type of image.

                                        */ - Architecture?: ArchitectureValues | string; + ImageType?: ImageTypeValues | string; /** - *

                                        Any product codes associated with the AMI.

                                        + *

                                        Specifies whether enhanced networking with ENA is enabled.

                                        */ - ProductCodes?: ProductCode[]; + EnaSupport?: boolean; /** *

                                        Any block device mapping entries.

                                        @@ -5658,24 +6008,30 @@ export interface Image { BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                        The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

                                        + *

                                        The reason for the state change.

                                        */ - State?: ImageState | string; + StateReason?: StateReason; /** - *

                                        Any tags assigned to the image.

                                        + *

                                        The name of the AMI that was provided during image creation.

                                        */ - Tags?: Tag[]; + Name?: string; /** - *

                                        Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                                        + *

                                        The AWS account alias (for example, amazon, self) or + * the AWS account ID of the AMI owner.

                                        */ - SriovNetSupport?: string; + ImageOwnerAlias?: string; /** *

                                        The RAM disk associated with the image, if any. Only applicable for machine images.

                                        */ RamdiskId?: string; + + /** + *

                                        Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                                        + */ + SriovNetSupport?: string; } export namespace Image { @@ -5703,16 +6059,6 @@ export interface DescribeImportImageTasksRequest { */ NextToken?: string; - /** - *

                                        The IDs of the import image tasks.

                                        - */ - ImportTaskIds?: string[]; - - /** - *

                                        The maximum number of results to return in a single call.

                                        - */ - MaxResults?: number; - /** *

                                        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -5725,6 +6071,16 @@ export interface DescribeImportImageTasksRequest { * completed, deleting, or deleted.

                                        */ Filters?: Filter[]; + + /** + *

                                        The IDs of the import image tasks.

                                        + */ + ImportTaskIds?: string[]; + + /** + *

                                        The maximum number of results to return in a single call.

                                        + */ + MaxResults?: number; } export namespace DescribeImportImageTasksRequest { @@ -5774,55 +6130,55 @@ export namespace UserBucketDetails { *

                                        Describes the snapshot created from the imported disk.

                                        */ export interface SnapshotDetail { + /** + *

                                        A brief status of the snapshot creation.

                                        + */ + Status?: string; + /** *

                                        The snapshot ID of the disk being imported.

                                        */ SnapshotId?: string; /** - *

                                        The block device mapping for the snapshot.

                                        + *

                                        A description for the snapshot.

                                        */ - DeviceName?: string; + Description?: string; /** - *

                                        A brief status of the snapshot creation.

                                        + *

                                        The format of the disk image from which the snapshot is created.

                                        */ - Status?: string; + Format?: string; /** - *

                                        The URL used to access the disk image.

                                        + *

                                        The size of the disk in the snapshot, in GiB.

                                        */ - Url?: string; + DiskImageSize?: number; /** *

                                        The Amazon S3 bucket for the disk image.

                                        */ UserBucket?: UserBucketDetails; - /** - *

                                        The percentage of progress for the task.

                                        - */ - Progress?: string; - /** *

                                        A detailed status message for the snapshot creation.

                                        */ StatusMessage?: string; /** - *

                                        A description for the snapshot.

                                        + *

                                        The URL used to access the disk image.

                                        */ - Description?: string; + Url?: string; /** - *

                                        The size of the disk in the snapshot, in GiB.

                                        + *

                                        The percentage of progress for the task.

                                        */ - DiskImageSize?: number; + Progress?: string; /** - *

                                        The format of the disk image from which the snapshot is created.

                                        + *

                                        The block device mapping for the snapshot.

                                        */ - Format?: string; + DeviceName?: string; } export namespace SnapshotDetail { @@ -5836,41 +6192,42 @@ export namespace SnapshotDetail { */ export interface ImportImageTask { /** - *

                                        A brief status for the import image task.

                                        + *

                                        The target hypervisor for the import task.

                                        + *

                                        Valid values: xen + *

                                        */ - Status?: string; + Hypervisor?: string; /** - *

                                        A description of the import task.

                                        + *

                                        The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create + * the encrypted image.

                                        */ - Description?: string; + KmsKeyId?: string; /** - *

                                        The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

                                        + *

                                        The description string for the import image task.

                                        */ - ImageId?: string; + Platform?: string; /** - *

                                        The architecture of the virtual machine.

                                        - *

                                        Valid values: i386 | x86_64 | arm64 - *

                                        + *

                                        A descriptive status message for the import image task.

                                        */ - Architecture?: string; + StatusMessage?: string; /** - *

                                        The tags for the import image task.

                                        + *

                                        The percentage of progress of the import image task.

                                        */ - Tags?: Tag[]; + Progress?: string; /** - *

                                        The ARNs of the license configurations that are associated with the import image task.

                                        + *

                                        Indicates whether the image is encrypted.

                                        */ - LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; + Encrypted?: boolean; /** - *

                                        The ID of the import image task.

                                        + *

                                        The ARNs of the license configurations that are associated with the import image task.

                                        */ - ImportTaskId?: string; + LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; /** *

                                        The license type of the virtual machine.

                                        @@ -5878,42 +6235,41 @@ export interface ImportImageTask { LicenseType?: string; /** - *

                                        The description string for the import image task.

                                        + *

                                        A brief status for the import image task.

                                        */ - Platform?: string; + Status?: string; /** - *

                                        Indicates whether the image is encrypted.

                                        + *

                                        The architecture of the virtual machine.

                                        + *

                                        Valid values: i386 | x86_64 | arm64 + *

                                        */ - Encrypted?: boolean; + Architecture?: string; /** - *

                                        The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create - * the encrypted image.

                                        + *

                                        A description of the import task.

                                        */ - KmsKeyId?: string; + Description?: string; /** - *

                                        The percentage of progress of the import image task.

                                        + *

                                        Information about the snapshots.

                                        */ - Progress?: string; + SnapshotDetails?: SnapshotDetail[]; /** - *

                                        A descriptive status message for the import image task.

                                        + *

                                        The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

                                        */ - StatusMessage?: string; + ImageId?: string; /** - *

                                        Information about the snapshots.

                                        + *

                                        The tags for the import image task.

                                        */ - SnapshotDetails?: SnapshotDetail[]; + Tags?: Tag[]; /** - *

                                        The target hypervisor for the import task.

                                        - *

                                        Valid values: xen - *

                                        + *

                                        The ID of the import image task.

                                        */ - Hypervisor?: string; + ImportTaskId?: string; } export namespace ImportImageTask { @@ -5923,17 +6279,17 @@ export namespace ImportImageTask { } export interface DescribeImportImageTasksResult { - /** - *

                                        A list of zero or more import image tasks that are currently active or were completed or canceled in the - * previous 7 days.

                                        - */ - ImportImageTasks?: ImportImageTask[]; - /** *

                                        The token to use to get the next page of results. This value is null when there are no more results * to return.

                                        */ NextToken?: string; + + /** + *

                                        A list of zero or more import image tasks that are currently active or were completed or canceled in the + * previous 7 days.

                                        + */ + ImportImageTasks?: ImportImageTask[]; } export namespace DescribeImportImageTasksResult { @@ -5943,20 +6299,17 @@ export namespace DescribeImportImageTasksResult { } export interface DescribeImportSnapshotTasksRequest { - /** - *

                                        A list of import snapshot task IDs.

                                        - */ - ImportTaskIds?: string[]; - /** *

                                        The filters.

                                        */ Filters?: Filter[]; /** - *

                                        A token that indicates the next page of results.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - NextToken?: string; + DryRun?: boolean; /** *

                                        The maximum number of results to return in a single call. To retrieve the remaining results, make another call @@ -5965,11 +6318,14 @@ export interface DescribeImportSnapshotTasksRequest { MaxResults?: number; /** - *

                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                        + *

                                        A token that indicates the next page of results.

                                        */ - DryRun?: boolean; + NextToken?: string; + + /** + *

                                        A list of import snapshot task IDs.

                                        + */ + ImportTaskIds?: string[]; } export namespace DescribeImportSnapshotTasksRequest { @@ -5983,14 +6339,15 @@ export namespace DescribeImportSnapshotTasksRequest { */ export interface SnapshotTaskDetail { /** - *

                                        The snapshot ID of the disk being imported.

                                        + *

                                        The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create + * the encrypted snapshot.

                                        */ - SnapshotId?: string; + KmsKeyId?: string; /** - *

                                        A brief status for the import snapshot task.

                                        + *

                                        The format of the disk image from which the snapshot is created.

                                        */ - Status?: string; + Format?: string; /** *

                                        Indicates whether the snapshot is encrypted.

                                        @@ -5998,19 +6355,19 @@ export interface SnapshotTaskDetail { Encrypted?: boolean; /** - *

                                        The description of the snapshot.

                                        + *

                                        The snapshot ID of the disk being imported.

                                        */ - Description?: string; + SnapshotId?: string; /** - *

                                        The URL of the disk image from which the snapshot is created.

                                        + *

                                        A detailed status message for the import snapshot task.

                                        */ - Url?: string; + StatusMessage?: string; /** - *

                                        The percentage of completion for the import snapshot task.

                                        + *

                                        The Amazon S3 bucket for the disk image.

                                        */ - Progress?: string; + UserBucket?: UserBucketDetails; /** *

                                        The size of the disk in the snapshot, in GiB.

                                        @@ -6018,25 +6375,24 @@ export interface SnapshotTaskDetail { DiskImageSize?: number; /** - *

                                        A detailed status message for the import snapshot task.

                                        + *

                                        A brief status for the import snapshot task.

                                        */ - StatusMessage?: string; + Status?: string; /** - *

                                        The Amazon S3 bucket for the disk image.

                                        + *

                                        The description of the snapshot.

                                        */ - UserBucket?: UserBucketDetails; + Description?: string; /** - *

                                        The format of the disk image from which the snapshot is created.

                                        + *

                                        The URL of the disk image from which the snapshot is created.

                                        */ - Format?: string; + Url?: string; /** - *

                                        The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create - * the encrypted snapshot.

                                        + *

                                        The percentage of completion for the import snapshot task.

                                        */ - KmsKeyId?: string; + Progress?: string; } export namespace SnapshotTaskDetail { @@ -6055,9 +6411,9 @@ export interface ImportSnapshotTask { ImportTaskId?: string; /** - *

                                        The tags for the import snapshot task.

                                        + *

                                        A description of the import snapshot task.

                                        */ - Tags?: Tag[]; + Description?: string; /** *

                                        Describes an import snapshot task.

                                        @@ -6065,9 +6421,9 @@ export interface ImportSnapshotTask { SnapshotTaskDetail?: SnapshotTaskDetail; /** - *

                                        A description of the import snapshot task.

                                        + *

                                        The tags for the import snapshot task.

                                        */ - Description?: string; + Tags?: Tag[]; } export namespace ImportSnapshotTask { @@ -6077,17 +6433,17 @@ export namespace ImportSnapshotTask { } export interface DescribeImportSnapshotTasksResult { - /** - *

                                        The token to use to get the next page of results. This value is null when there are no more results - * to return.

                                        - */ - NextToken?: string; - /** *

                                        A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the * previous 7 days.

                                        */ ImportSnapshotTasks?: ImportSnapshotTask[]; + + /** + *

                                        The token to use to get the next page of results. This value is null when there are no more results + * to return.

                                        + */ + NextToken?: string; } export namespace DescribeImportSnapshotTasksResult { @@ -6153,14 +6509,14 @@ export interface EbsInstanceBlockDevice { VolumeId?: string; /** - *

                                        The attachment state.

                                        + *

                                        The time stamp when the attachment initiated.

                                        */ - Status?: AttachmentStatus | string; + AttachTime?: Date; /** - *

                                        The time stamp when the attachment initiated.

                                        + *

                                        The attachment state.

                                        */ - AttachTime?: Date; + Status?: AttachmentStatus | string; } export namespace EbsInstanceBlockDevice { @@ -6173,16 +6529,16 @@ export namespace EbsInstanceBlockDevice { *

                                        Describes a block device mapping.

                                        */ export interface InstanceBlockDeviceMapping { - /** - *

                                        The device name (for example, /dev/sdh or xvdh).

                                        - */ - DeviceName?: string; - /** *

                                        Parameters used to automatically set up EBS volumes when the instance is * launched.

                                        */ Ebs?: EbsInstanceBlockDevice; + + /** + *

                                        The device name (for example, /dev/sdh or xvdh).

                                        + */ + DeviceName?: string; } export namespace InstanceBlockDeviceMapping { @@ -6212,21 +6568,16 @@ export namespace AttributeBooleanValue { */ export interface InstanceAttribute { /** - *

                                        The security groups associated with the instance.

                                        - */ - Groups?: GroupIdentifier[]; - - /** - *

                                        If the value is true, you can't terminate the instance through the Amazon - * EC2 console, CLI, or API; otherwise, you can.

                                        + *

                                        Indicates whether source/destination checking is enabled. A value of true + * means that checking is enabled, and false means that checking is disabled. + * This value must be false for a NAT instance to perform NAT.

                                        */ - DisableApiTermination?: AttributeBooleanValue; + SourceDestCheck?: AttributeBooleanValue; /** - *

                                        Indicates whether an instance stops or terminates when you initiate shutdown from the - * instance (using the operating system command for system shutdown).

                                        + *

                                        The kernel ID.

                                        */ - InstanceInitiatedShutdownBehavior?: AttributeValue; + KernelId?: AttributeValue; /** *

                                        Indicates whether enhanced networking with the Intel 82599 Virtual Function interface @@ -6235,9 +6586,9 @@ export interface InstanceAttribute { SriovNetSupport?: AttributeValue; /** - *

                                        A list of product codes.

                                        + *

                                        The ID of the instance.

                                        */ - ProductCodes?: ProductCode[]; + InstanceId?: string; /** *

                                        The device name of the root device volume (for example, @@ -6246,14 +6597,19 @@ export interface InstanceAttribute { RootDeviceName?: AttributeValue; /** - *

                                        Indicates whether the instance is optimized for Amazon EBS I/O.

                                        + *

                                        The block device mapping of the instance.

                                        */ - EbsOptimized?: AttributeBooleanValue; + BlockDeviceMappings?: InstanceBlockDeviceMapping[]; /** - *

                                        The RAM disk ID.

                                        + *

                                        Indicates whether enhanced networking with ENA is enabled.

                                        */ - RamdiskId?: AttributeValue; + EnaSupport?: AttributeBooleanValue; + + /** + *

                                        The security groups associated with the instance.

                                        + */ + Groups?: GroupIdentifier[]; /** *

                                        The instance type.

                                        @@ -6261,36 +6617,36 @@ export interface InstanceAttribute { InstanceType?: AttributeValue; /** - *

                                        The user data.

                                        + *

                                        If the value is true, you can't terminate the instance through the Amazon + * EC2 console, CLI, or API; otherwise, you can.

                                        */ - UserData?: AttributeValue; + DisableApiTermination?: AttributeBooleanValue; /** - *

                                        The block device mapping of the instance.

                                        + *

                                        A list of product codes.

                                        */ - BlockDeviceMappings?: InstanceBlockDeviceMapping[]; + ProductCodes?: ProductCode[]; /** - *

                                        Indicates whether enhanced networking with ENA is enabled.

                                        + *

                                        The user data.

                                        */ - EnaSupport?: AttributeBooleanValue; + UserData?: AttributeValue; /** - *

                                        The ID of the instance.

                                        + *

                                        Indicates whether an instance stops or terminates when you initiate shutdown from the + * instance (using the operating system command for system shutdown).

                                        */ - InstanceId?: string; + InstanceInitiatedShutdownBehavior?: AttributeValue; /** - *

                                        Indicates whether source/destination checking is enabled. A value of true - * means that checking is enabled, and false means that checking is disabled. - * This value must be false for a NAT instance to perform NAT.

                                        + *

                                        Indicates whether the instance is optimized for Amazon EBS I/O.

                                        */ - SourceDestCheck?: AttributeBooleanValue; + EbsOptimized?: AttributeBooleanValue; /** - *

                                        The kernel ID.

                                        + *

                                        The RAM disk ID.

                                        */ - KernelId?: AttributeValue; + RamdiskId?: AttributeValue; } export namespace InstanceAttribute { @@ -6300,6 +6656,11 @@ export namespace InstanceAttribute { } export interface DescribeInstanceCreditSpecificationsRequest { + /** + *

                                        The token to retrieve the next page of results.

                                        + */ + NextToken?: string; + /** *

                                        The filters.

                                        *
                                          @@ -6312,16 +6673,11 @@ export interface DescribeInstanceCreditSpecificationsRequest { Filters?: Filter[]; /** - *

                                          The token to retrieve the next page of results.

                                          - */ - NextToken?: string; - - /** - *

                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                          + *

                                          The instance IDs.

                                          + *

                                          Default: Describes all your instances.

                                          + *

                                          Constraints: Maximum 1000 explicitly specified instance IDs.

                                          */ - DryRun?: boolean; + InstanceIds?: string[]; /** *

                                          The maximum number of results to return in a single call. To retrieve the remaining @@ -6332,11 +6688,11 @@ export interface DescribeInstanceCreditSpecificationsRequest { MaxResults?: number; /** - *

                                          The instance IDs.

                                          - *

                                          Default: Describes all your instances.

                                          - *

                                          Constraints: Maximum 1000 explicitly specified instance IDs.

                                          + *

                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                          */ - InstanceIds?: string[]; + DryRun?: boolean; } export namespace DescribeInstanceCreditSpecificationsRequest { @@ -6368,16 +6724,16 @@ export namespace InstanceCreditSpecification { } export interface DescribeInstanceCreditSpecificationsResult { - /** - *

                                          Information about the credit option for CPU usage of an instance.

                                          - */ - InstanceCreditSpecifications?: InstanceCreditSpecification[]; - /** *

                                          The token to use to retrieve the next page of results. This value is null * when there are no more results to return.

                                          */ NextToken?: string; + + /** + *

                                          Information about the credit option for CPU usage of an instance.

                                          + */ + InstanceCreditSpecifications?: InstanceCreditSpecification[]; } export namespace DescribeInstanceCreditSpecificationsResult { @@ -6415,12 +6771,32 @@ export namespace DescribeInstanceEventNotificationAttributesResult { } export interface DescribeInstancesRequest { + /** + *

                                          The token to request the next page of results.

                                          + */ + NextToken?: string; + /** *

                                          The instance IDs.

                                          *

                                          Default: Describes all your instances.

                                          */ InstanceIds?: string[]; + /** + *

                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                          + */ + DryRun?: boolean; + + /** + *

                                          The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 5 and 1000. You cannot specify this parameter and the instance IDs + * parameter in the same call.

                                          + */ + MaxResults?: number; + /** *

                                          The filters.

                                          *
                                            @@ -6876,26 +7252,6 @@ export interface DescribeInstancesRequest { *
                                          */ Filters?: Filter[]; - - /** - *

                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                          - */ - DryRun?: boolean; - - /** - *

                                          The token to request the next page of results.

                                          - */ - NextToken?: string; - - /** - *

                                          The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 5 and 1000. You cannot specify this parameter and the instance IDs - * parameter in the same call.

                                          - */ - MaxResults?: number; } export namespace DescribeInstancesRequest { @@ -6913,11 +7269,6 @@ export namespace DescribeInstancesRequest { * response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

                                          */ export interface CapacityReservationSpecificationResponse { - /** - *

                                          Information about the targeted Capacity Reservation or Capacity Reservation group.

                                          - */ - CapacityReservationTarget?: CapacityReservationTargetResponse; - /** *

                                          Describes the instance's Capacity Reservation preferences. Possible preferences include:

                                          *
                                            @@ -6934,7 +7285,12 @@ export interface CapacityReservationSpecificationResponse { *
                                          */ CapacityReservationPreference?: CapacityReservationPreference | string; -} + + /** + *

                                          Information about the targeted Capacity Reservation or Capacity Reservation group.

                                          + */ + CapacityReservationTarget?: CapacityReservationTargetResponse; +} export namespace CapacityReservationSpecificationResponse { export const filterSensitiveLog = (obj: CapacityReservationSpecificationResponse): any => ({ @@ -6977,16 +7333,16 @@ export interface ElasticGpuAssociation { */ ElasticGpuAssociationTime?: string; - /** - *

                                          The ID of the association.

                                          - */ - ElasticGpuAssociationId?: string; - /** *

                                          The state of the association between the instance and the * Elastic Graphics accelerator.

                                          */ ElasticGpuAssociationState?: string; + + /** + *

                                          The ID of the association.

                                          + */ + ElasticGpuAssociationId?: string; } export namespace ElasticGpuAssociation { @@ -7010,24 +7366,24 @@ export interface ElasticInferenceAcceleratorAssociation { /** *

                                          - * The time at which the elastic inference accelerator is associated with an instance. + * The state of the elastic inference accelerator. *

                                          */ - ElasticInferenceAcceleratorAssociationTime?: Date; + ElasticInferenceAcceleratorAssociationState?: string; /** *

                                          - * The Amazon Resource Name (ARN) of the elastic inference accelerator. + * The time at which the elastic inference accelerator is associated with an instance. *

                                          */ - ElasticInferenceAcceleratorArn?: string; + ElasticInferenceAcceleratorAssociationTime?: Date; /** *

                                          - * The state of the elastic inference accelerator. + * The Amazon Resource Name (ARN) of the elastic inference accelerator. *

                                          */ - ElasticInferenceAcceleratorAssociationState?: string; + ElasticInferenceAcceleratorArn?: string; } export namespace ElasticInferenceAcceleratorAssociation { @@ -7097,15 +7453,14 @@ export interface InstanceMetadataOptionsResponse { HttpPutResponseHopLimit?: number; /** - *

                                          The state of the metadata option changes.

                                          - *

                                          - * pending - The metadata options are being updated and the instance is not - * ready to process metadata traffic with the new selection.

                                          - *

                                          - * applied - The metadata options have been successfully applied on the - * instance.

                                          + *

                                          This parameter enables or disables the HTTP metadata endpoint on your instances. If + * the parameter is not specified, the default state is enabled.

                                          + * + *

                                          If you specify a value of disabled, you will not be able to access your + * instance metadata.

                                          + *
                                          */ - State?: InstanceMetadataOptionsState | string; + HttpEndpoint?: InstanceMetadataEndpointState | string; /** *

                                          The state of token usage for your instance metadata requests. If the parameter is not @@ -7123,14 +7478,15 @@ export interface InstanceMetadataOptionsResponse { HttpTokens?: HttpTokensState | string; /** - *

                                          This parameter enables or disables the HTTP metadata endpoint on your instances. If - * the parameter is not specified, the default state is enabled.

                                          - * - *

                                          If you specify a value of disabled, you will not be able to access your - * instance metadata.

                                          - *
                                          + *

                                          The state of the metadata option changes.

                                          + *

                                          + * pending - The metadata options are being updated and the instance is not + * ready to process metadata traffic with the new selection.

                                          + *

                                          + * applied - The metadata options have been successfully applied on the + * instance.

                                          */ - HttpEndpoint?: InstanceMetadataEndpointState | string; + State?: InstanceMetadataOptionsState | string; } export namespace InstanceMetadataOptionsResponse { @@ -7163,19 +7519,24 @@ export namespace Monitoring { */ export interface InstanceNetworkInterfaceAssociation { /** - *

                                          The public IP address or Elastic IP address bound to the network interface.

                                          + *

                                          The public DNS name.

                                          */ - PublicIp?: string; + PublicDnsName?: string; /** - *

                                          The public DNS name.

                                          + *

                                          The public IP address or Elastic IP address bound to the network interface.

                                          */ - PublicDnsName?: string; + PublicIp?: string; /** *

                                          The ID of the owner of the Elastic IP address.

                                          */ IpOwnerId?: string; + + /** + *

                                          The carrier IP address associated with the network interface.

                                          + */ + CarrierIp?: string; } export namespace InstanceNetworkInterfaceAssociation { @@ -7188,20 +7549,15 @@ export namespace InstanceNetworkInterfaceAssociation { *

                                          Describes a network interface attachment.

                                          */ export interface InstanceNetworkInterfaceAttachment { - /** - *

                                          The ID of the network interface attachment.

                                          - */ - AttachmentId?: string; - /** *

                                          The attachment state.

                                          */ Status?: AttachmentStatus | string; /** - *

                                          Indicates whether the network interface is deleted when the instance is terminated.

                                          + *

                                          The time stamp when the attachment initiated.

                                          */ - DeleteOnTermination?: boolean; + AttachTime?: Date; /** *

                                          The index of the device on the instance for the network interface attachment.

                                          @@ -7209,9 +7565,14 @@ export interface InstanceNetworkInterfaceAttachment { DeviceIndex?: number; /** - *

                                          The time stamp when the attachment initiated.

                                          + *

                                          The ID of the network interface attachment.

                                          */ - AttachTime?: Date; + AttachmentId?: string; + + /** + *

                                          Indicates whether the network interface is deleted when the instance is terminated.

                                          + */ + DeleteOnTermination?: boolean; } export namespace InstanceNetworkInterfaceAttachment { @@ -7225,9 +7586,9 @@ export namespace InstanceNetworkInterfaceAttachment { */ export interface InstancePrivateIpAddress { /** - *

                                          The private IPv4 address of the network interface.

                                          + *

                                          The association information for an Elastic IP address for the network interface.

                                          */ - PrivateIpAddress?: string; + Association?: InstanceNetworkInterfaceAssociation; /** *

                                          Indicates whether this IPv4 address is the primary private IP address of the network interface.

                                          @@ -7235,14 +7596,14 @@ export interface InstancePrivateIpAddress { Primary?: boolean; /** - *

                                          The private IPv4 DNS name.

                                          + *

                                          The private IPv4 address of the network interface.

                                          */ - PrivateDnsName?: string; + PrivateIpAddress?: string; /** - *

                                          The association information for an Elastic IP address for the network interface.

                                          + *

                                          The private IPv4 DNS name.

                                          */ - Association?: InstanceNetworkInterfaceAssociation; + PrivateDnsName?: string; } export namespace InstancePrivateIpAddress { @@ -7256,25 +7617,21 @@ export namespace InstancePrivateIpAddress { */ export interface InstanceNetworkInterface { /** - *

                                          The association information for an Elastic IPv4 associated with the network - * interface.

                                          - */ - Association?: InstanceNetworkInterfaceAssociation; - - /** - *

                                          One or more private IPv4 addresses associated with the network interface.

                                          + *

                                          The ID of the VPC.

                                          */ - PrivateIpAddresses?: InstancePrivateIpAddress[]; + VpcId?: string; /** - *

                                          The ID of the network interface.

                                          + *

                                          The ID of the AWS account that created the network interface.

                                          */ - NetworkInterfaceId?: string; + OwnerId?: string; /** - *

                                          The ID of the subnet.

                                          + *

                                          Describes the type of network interface.

                                          + *

                                          Valid values: interface | efa + *

                                          */ - SubnetId?: string; + InterfaceType?: string; /** *

                                          The status of the network interface.

                                          @@ -7287,29 +7644,24 @@ export interface InstanceNetworkInterface { Attachment?: InstanceNetworkInterfaceAttachment; /** - *

                                          The ID of the AWS account that created the network interface.

                                          - */ - OwnerId?: string; - - /** - *

                                          One or more IPv6 addresses associated with the network interface.

                                          + *

                                          The private DNS name.

                                          */ - Ipv6Addresses?: InstanceIpv6Address[]; + PrivateDnsName?: string; /** - *

                                          The IPv4 address of the network interface within the subnet.

                                          + *

                                          The MAC address.

                                          */ - PrivateIpAddress?: string; + MacAddress?: string; /** - *

                                          The private DNS name.

                                          + *

                                          One or more private IPv4 addresses associated with the network interface.

                                          */ - PrivateDnsName?: string; + PrivateIpAddresses?: InstancePrivateIpAddress[]; /** - *

                                          The MAC address.

                                          + *

                                          The ID of the subnet.

                                          */ - MacAddress?: string; + SubnetId?: string; /** *

                                          Indicates whether to validate network traffic to or from this network interface.

                                          @@ -7327,16 +7679,25 @@ export interface InstanceNetworkInterface { Description?: string; /** - *

                                          The ID of the VPC.

                                          + *

                                          The IPv4 address of the network interface within the subnet.

                                          */ - VpcId?: string; + PrivateIpAddress?: string; /** - *

                                          Describes the type of network interface.

                                          - *

                                          Valid values: interface | efa - *

                                          + *

                                          The association information for an Elastic IPv4 associated with the network + * interface.

                                          */ - InterfaceType?: string; + Association?: InstanceNetworkInterfaceAssociation; + + /** + *

                                          One or more IPv6 addresses associated with the network interface.

                                          + */ + Ipv6Addresses?: InstanceIpv6Address[]; + + /** + *

                                          The ID of the network interface.

                                          + */ + NetworkInterfaceId?: string; } export namespace InstanceNetworkInterface { @@ -7414,262 +7775,265 @@ export namespace InstanceState { */ export interface Instance { /** - *

                                          The ID of the Capacity Reservation.

                                          + *

                                          Information about the Capacity Reservation targeting option.

                                          */ - CapacityReservationId?: string; + CapacityReservationSpecification?: CapacityReservationSpecificationResponse; /** - *

                                          The IAM instance profile associated with the instance, if applicable.

                                          + *

                                          The reason for the most recent state transition.

                                          */ - IamInstanceProfile?: IamInstanceProfile; + StateReason?: StateReason; /** - *

                                          The current state of the instance.

                                          + *

                                          The value is Windows for Windows instances; otherwise blank.

                                          */ - State?: InstanceState; + Platform?: PlatformValues | string; /** - *

                                          The security groups for the instance.

                                          + *

                                          [EC2-VPC] The ID of the subnet in which the instance is running.

                                          */ - SecurityGroups?: GroupIdentifier[]; + SubnetId?: string; /** - *

                                          The idempotency token you provided when you launched the instance, if - * applicable.

                                          + *

                                          The kernel associated with this instance, if applicable.

                                          */ - ClientToken?: string; + KernelId?: string; /** - *

                                          If the request is a Spot Instance request, the ID of the request.

                                          + *

                                          The architecture of the image.

                                          */ - SpotInstanceRequestId?: string; + Architecture?: ArchitectureValues | string; /** - *

                                          The license configurations.

                                          + *

                                          The Amazon Resource Name (ARN) of the Outpost.

                                          */ - Licenses?: LicenseConfiguration[]; + OutpostArn?: string; /** - *

                                          Any tags assigned to the instance.

                                          + *

                                          The virtualization type of the instance.

                                          */ - Tags?: Tag[]; + VirtualizationType?: VirtualizationType | string; /** - *

                                          (IPv4 only) The public DNS name assigned to the instance. This name is not available - * until the instance enters the running state. For EC2-VPC, this name is only - * available if you've enabled DNS hostnames for your VPC.

                                          + *

                                          The ID of the AMI used to launch the instance.

                                          */ - PublicDnsName?: string; + ImageId?: string; /** - *

                                          The product codes attached to this instance, if applicable.

                                          + *

                                          The instance type.

                                          */ - ProductCodes?: ProductCode[]; + InstanceType?: _InstanceType | string; /** - *

                                          The ID of the instance.

                                          + *

                                          (IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname + * can only be used inside the Amazon EC2 network. This name is not available until the + * instance enters the running state.

                                          + *

                                          [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS + * hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not + * using the Amazon-provided DNS server in your VPC, your custom domain name servers must + * resolve the hostname as appropriate.

                                          */ - InstanceId?: string; + PrivateDnsName?: string; /** - *

                                          The reason for the most recent state transition.

                                          + *

                                          [EC2-VPC] The network interfaces for the instance.

                                          */ - StateReason?: StateReason; + NetworkInterfaces?: InstanceNetworkInterface[]; /** - *

                                          The reason for the most recent state transition. This might be an empty string.

                                          + *

                                          Specifies whether enhanced networking with the Intel 82599 Virtual Function interface + * is enabled.

                                          */ - StateTransitionReason?: string; + SriovNetSupport?: string; /** - *

                                          The metadata options for the instance.

                                          + *

                                          The ID of the Capacity Reservation.

                                          */ - MetadataOptions?: InstanceMetadataOptionsResponse; + CapacityReservationId?: string; /** - *

                                          Specifies whether enhanced networking with ENA is enabled.

                                          + *

                                          The current state of the instance.

                                          */ - EnaSupport?: boolean; + State?: InstanceState; /** - *

                                          [EC2-VPC] The ID of the VPC in which the instance is running.

                                          + *

                                          The RAM disk associated with this instance, if applicable.

                                          */ - VpcId?: string; + RamdiskId?: string; /** - *

                                          Any block device mapping entries for the instance.

                                          + *

                                          The elastic inference accelerator associated with the instance.

                                          */ - BlockDeviceMappings?: InstanceBlockDeviceMapping[]; + ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; /** - *

                                          Indicates whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal I/O performance. This optimization isn't available with all instance - * types. Additional usage charges apply when using an EBS Optimized instance.

                                          + *

                                          The idempotency token you provided when you launched the instance, if + * applicable.

                                          */ - EbsOptimized?: boolean; + ClientToken?: string; /** - *

                                          The Elastic GPU associated with the instance.

                                          + *

                                          (IPv4 only) The public DNS name assigned to the instance. This name is not available + * until the instance enters the running state. For EC2-VPC, this name is only + * available if you've enabled DNS hostnames for your VPC.

                                          */ - ElasticGpuAssociations?: ElasticGpuAssociation[]; + PublicDnsName?: string; /** - *

                                          The RAM disk associated with this instance, if applicable.

                                          + *

                                          The AMI launch index, which can be used to find this instance in the launch + * group.

                                          */ - RamdiskId?: string; + AmiLaunchIndex?: number; /** - *

                                          Specifies whether enhanced networking with the Intel 82599 Virtual Function interface - * is enabled.

                                          + *

                                          The license configurations.

                                          */ - SriovNetSupport?: string; + Licenses?: LicenseConfiguration[]; /** - *

                                          [EC2-VPC] The network interfaces for the instance.

                                          + *

                                          Specifies whether enhanced networking with ENA is enabled.

                                          */ - NetworkInterfaces?: InstanceNetworkInterface[]; + EnaSupport?: boolean; /** - *

                                          The name of the key pair, if this instance was launched with an associated key - * pair.

                                          + *

                                          [EC2-VPC] The ID of the VPC in which the instance is running.

                                          */ - KeyName?: string; + VpcId?: string; /** - *

                                          The ID of the AMI used to launch the instance.

                                          + *

                                          Any block device mapping entries for the instance.

                                          */ - ImageId?: string; + BlockDeviceMappings?: InstanceBlockDeviceMapping[]; /** - *

                                          Specifies whether to enable an instance launched in a VPC to perform NAT. This - * controls whether source/destination checking is enabled on the instance. A value of - * true means that checking is enabled, and false means that - * checking is disabled. The value must be false for the instance to perform - * NAT. For more information, see NAT Instances in the - * Amazon Virtual Private Cloud User Guide.

                                          + *

                                          If the request is a Spot Instance request, the ID of the request.

                                          */ - SourceDestCheck?: boolean; + SpotInstanceRequestId?: string; /** - *

                                          The private IPv4 address assigned to the instance.

                                          + *

                                          Indicates whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal I/O performance. This optimization isn't available with all instance + * types. Additional usage charges apply when using an EBS Optimized instance.

                                          */ - PrivateIpAddress?: string; + EbsOptimized?: boolean; /** - *

                                          The AMI launch index, which can be used to find this instance in the launch - * group.

                                          + *

                                          The product codes attached to this instance, if applicable.

                                          */ - AmiLaunchIndex?: number; + ProductCodes?: ProductCode[]; /** - *

                                          The root device type used by the AMI. The AMI can use an EBS volume or an instance - * store volume.

                                          + *

                                          The reason for the most recent state transition. This might be an empty string.

                                          */ - RootDeviceType?: DeviceType | string; + StateTransitionReason?: string; /** - *

                                          The elastic inference accelerator associated with the instance.

                                          + *

                                          The security groups for the instance.

                                          */ - ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; + SecurityGroups?: GroupIdentifier[]; /** - *

                                          [EC2-VPC] The ID of the subnet in which the instance is running.

                                          + *

                                          The metadata options for the instance.

                                          */ - SubnetId?: string; + MetadataOptions?: InstanceMetadataOptionsResponse; /** - *

                                          Indicates whether the instance is enabled for hibernation.

                                          + *

                                          The ID of the instance.

                                          */ - HibernationOptions?: HibernationOptions; + InstanceId?: string; /** - *

                                          The kernel associated with this instance, if applicable.

                                          + *

                                          The Elastic GPU associated with the instance.

                                          */ - KernelId?: string; + ElasticGpuAssociations?: ElasticGpuAssociation[]; /** - *

                                          The value is Windows for Windows instances; otherwise blank.

                                          + *

                                          The name of the key pair, if this instance was launched with an associated key + * pair.

                                          */ - Platform?: PlatformValues | string; + KeyName?: string; /** - *

                                          The instance type.

                                          + *

                                          The time the instance was launched.

                                          */ - InstanceType?: _InstanceType | string; + LaunchTime?: Date; /** - *

                                          Indicates whether this is a Spot Instance or a Scheduled Instance.

                                          + *

                                          The IAM instance profile associated with the instance, if applicable.

                                          */ - InstanceLifecycle?: InstanceLifecycleType | string; + IamInstanceProfile?: IamInstanceProfile; /** - *

                                          The hypervisor type of the instance. The value xen is used for both Xen and - * Nitro hypervisors.

                                          + *

                                          The public IPv4 address, or the Carrier IP address assigned to the instance, if + * applicable.

                                          + *

                                          A Carrier IP address only applies to an instance launched in a subnet associated with + * a Wavelength Zone.

                                          */ - Hypervisor?: HypervisorType | string; + PublicIpAddress?: string; /** - *

                                          (IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname - * can only be used inside the Amazon EC2 network. This name is not available until the - * instance enters the running state.

                                          - *

                                          [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS - * hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not - * using the Amazon-provided DNS server in your VPC, your custom domain name servers must - * resolve the hostname as appropriate.

                                          + *

                                          The device name of the root device volume (for example, + * /dev/sda1).

                                          */ - PrivateDnsName?: string; + RootDeviceName?: string; /** - *

                                          The CPU options for the instance.

                                          + *

                                          The monitoring for the instance.

                                          */ - CpuOptions?: CpuOptions; + Monitoring?: Monitoring; /** - *

                                          The time the instance was launched.

                                          + *

                                          The location where the instance launched, if applicable.

                                          */ - LaunchTime?: Date; + Placement?: Placement; /** - *

                                          Information about the Capacity Reservation targeting option.

                                          + *

                                          The root device type used by the AMI. The AMI can use an EBS volume or an instance + * store volume.

                                          */ - CapacityReservationSpecification?: CapacityReservationSpecificationResponse; + RootDeviceType?: DeviceType | string; /** - *

                                          The location where the instance launched, if applicable.

                                          + *

                                          The CPU options for the instance.

                                          */ - Placement?: Placement; + CpuOptions?: CpuOptions; /** - *

                                          The virtualization type of the instance.

                                          + *

                                          Indicates whether the instance is enabled for hibernation.

                                          */ - VirtualizationType?: VirtualizationType | string; + HibernationOptions?: HibernationOptions; /** - *

                                          The Amazon Resource Name (ARN) of the Outpost.

                                          + *

                                          The hypervisor type of the instance. The value xen is used for both Xen and + * Nitro hypervisors.

                                          */ - OutpostArn?: string; + Hypervisor?: HypervisorType | string; /** - *

                                          The monitoring for the instance.

                                          + *

                                          Any tags assigned to the instance.

                                          */ - Monitoring?: Monitoring; + Tags?: Tag[]; /** - *

                                          The public IPv4 address assigned to the instance, if applicable.

                                          + *

                                          Indicates whether this is a Spot Instance or a Scheduled Instance.

                                          */ - PublicIpAddress?: string; + InstanceLifecycle?: InstanceLifecycleType | string; /** - *

                                          The architecture of the image.

                                          + *

                                          The private IPv4 address assigned to the instance.

                                          */ - Architecture?: ArchitectureValues | string; + PrivateIpAddress?: string; /** - *

                                          The device name of the root device volume (for example, - * /dev/sda1).

                                          + *

                                          Specifies whether to enable an instance launched in a VPC to perform NAT. This + * controls whether source/destination checking is enabled on the instance. A value of + * true means that checking is enabled, and false means that + * checking is disabled. The value must be false for the instance to perform + * NAT. For more information, see NAT Instances in the + * Amazon Virtual Private Cloud User Guide.

                                          */ - RootDeviceName?: string; + SourceDestCheck?: boolean; } export namespace Instance { @@ -7683,14 +8047,14 @@ export namespace Instance { */ export interface Reservation { /** - *

                                          [EC2-Classic only] The security groups.

                                          + *

                                          The ID of the AWS account that owns the reservation.

                                          */ - Groups?: GroupIdentifier[]; + OwnerId?: string; /** - *

                                          The instances.

                                          + *

                                          The ID of the reservation.

                                          */ - Instances?: Instance[]; + ReservationId?: string; /** *

                                          The ID of the requester that launched the instances on your behalf (for example, AWS @@ -7699,14 +8063,14 @@ export interface Reservation { RequesterId?: string; /** - *

                                          The ID of the reservation.

                                          + *

                                          [EC2-Classic only] The security groups.

                                          */ - ReservationId?: string; + Groups?: GroupIdentifier[]; /** - *

                                          The ID of the AWS account that owns the reservation.

                                          + *

                                          The instances.

                                          */ - OwnerId?: string; + Instances?: Instance[]; } export namespace Reservation { @@ -7717,15 +8081,15 @@ export namespace Reservation { export interface DescribeInstancesResult { /** - *

                                          The token to use to retrieve the next page of results. This value is null - * when there are no more results to return.

                                          + *

                                          Information about the reservations.

                                          */ - NextToken?: string; + Reservations?: Reservation[]; /** - *

                                          Information about the reservations.

                                          + *

                                          The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                          */ - Reservations?: Reservation[]; + NextToken?: string; } export namespace DescribeInstancesResult { @@ -7817,9 +8181,18 @@ export interface DescribeInstanceStatusRequest { Filters?: Filter[]; /** - *

                                          The token to retrieve the next page of results.

                                          + *

                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                          */ - NextToken?: string; + DryRun?: boolean; + + /** + *

                                          The instance IDs.

                                          + *

                                          Default: Describes all your instances.

                                          + *

                                          Constraints: Maximum 100 explicitly specified instance IDs.

                                          + */ + InstanceIds?: string[]; /** *

                                          When true, includes the health status for all instances. When @@ -7829,13 +8202,6 @@ export interface DescribeInstanceStatusRequest { */ IncludeAllInstances?: boolean; - /** - *

                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                          - */ - DryRun?: boolean; - /** *

                                          The maximum number of results to return in a single call. To retrieve the remaining * results, make another call with the returned NextToken value. This value @@ -7845,11 +8211,9 @@ export interface DescribeInstanceStatusRequest { MaxResults?: number; /** - *

                                          The instance IDs.

                                          - *

                                          Default: Describes all your instances.

                                          - *

                                          Constraints: Maximum 100 explicitly specified instance IDs.

                                          + *

                                          The token to retrieve the next page of results.

                                          */ - InstanceIds?: string[]; + NextToken?: string; } export namespace DescribeInstanceStatusRequest { @@ -7869,11 +8233,21 @@ export type EventCode = *

                                          Describes a scheduled event for an instance.

                                          */ export interface InstanceStatusEvent { + /** + *

                                          The earliest scheduled start time for the event.

                                          + */ + NotBefore?: Date; + /** *

                                          The event code.

                                          */ Code?: EventCode | string; + /** + *

                                          The ID of the event.

                                          + */ + InstanceEventId?: string; + /** *

                                          The deadline for starting the event.

                                          */ @@ -7891,16 +8265,6 @@ export interface InstanceStatusEvent { * [Completed].

                                          */ Description?: string; - - /** - *

                                          The earliest scheduled start time for the event.

                                          - */ - NotBefore?: Date; - - /** - *

                                          The ID of the event.

                                          - */ - InstanceEventId?: string; } export namespace InstanceStatusEvent { @@ -7918,10 +8282,9 @@ export type StatusType = "failed" | "initializing" | "insufficient-data" | "pass */ export interface InstanceStatusDetails { /** - *

                                          The time when a status check failed. For an instance that was launched and impaired, - * this is the time when the instance was launched.

                                          + *

                                          The status.

                                          */ - ImpairedSince?: Date; + Status?: StatusType | string; /** *

                                          The type of instance status.

                                          @@ -7929,9 +8292,10 @@ export interface InstanceStatusDetails { Name?: StatusName | string; /** - *

                                          The status.

                                          + *

                                          The time when a status check failed. For an instance that was launched and impaired, + * this is the time when the instance was launched.

                                          */ - Status?: StatusType | string; + ImpairedSince?: Date; } export namespace InstanceStatusDetails { @@ -7968,10 +8332,9 @@ export namespace InstanceStatusSummary { */ export interface InstanceStatus { /** - *

                                          Reports impaired functionality that stems from issues related to the systems that - * support an instance, such as hardware failures and network connectivity problems.

                                          + *

                                          Any scheduled events associated with the instance.

                                          */ - SystemStatus?: InstanceStatusSummary; + Events?: InstanceStatusEvent[]; /** *

                                          The Availability Zone of the instance.

                                          @@ -7979,10 +8342,10 @@ export interface InstanceStatus { AvailabilityZone?: string; /** - *

                                          Reports impaired functionality that stems from issues internal to the instance, such - * as impaired reachability.

                                          + *

                                          The intended state of the instance. DescribeInstanceStatus requires + * that an instance be in the running state.

                                          */ - InstanceStatus?: InstanceStatusSummary; + InstanceState?: InstanceState; /** *

                                          The ID of the instance.

                                          @@ -7990,10 +8353,10 @@ export interface InstanceStatus { InstanceId?: string; /** - *

                                          The intended state of the instance. DescribeInstanceStatus requires - * that an instance be in the running state.

                                          + *

                                          Reports impaired functionality that stems from issues internal to the instance, such + * as impaired reachability.

                                          */ - InstanceState?: InstanceState; + InstanceStatus?: InstanceStatusSummary; /** *

                                          The Amazon Resource Name (ARN) of the Outpost.

                                          @@ -8001,9 +8364,10 @@ export interface InstanceStatus { OutpostArn?: string; /** - *

                                          Any scheduled events associated with the instance.

                                          + *

                                          Reports impaired functionality that stems from issues related to the systems that + * support an instance, such as hardware failures and network connectivity problems.

                                          */ - Events?: InstanceStatusEvent[]; + SystemStatus?: InstanceStatusSummary; } export namespace InstanceStatus { @@ -8014,15 +8378,15 @@ export namespace InstanceStatus { export interface DescribeInstanceStatusResult { /** - *

                                          The token to use to retrieve the next page of results. This value is null - * when there are no more results to return.

                                          + *

                                          Information about the status of the instances.

                                          */ - NextToken?: string; + InstanceStatuses?: InstanceStatus[]; /** - *

                                          Information about the status of the instances.

                                          + *

                                          The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                          */ - InstanceStatuses?: InstanceStatus[]; + NextToken?: string; } export namespace DescribeInstanceStatusResult { @@ -8034,12 +8398,6 @@ export namespace DescribeInstanceStatusResult { export type LocationType = "availability-zone" | "availability-zone-id" | "region"; export interface DescribeInstanceTypeOfferingsRequest { - /** - *

                                          The maximum number of results to return for the request in a single page. The remaining results - * can be seen by sending another request with the next token value.

                                          - */ - MaxResults?: number; - /** *

                                          One or more filters. Filter names and values are case-sensitive.

                                          *
                                            @@ -8057,9 +8415,10 @@ export interface DescribeInstanceTypeOfferingsRequest { Filters?: Filter[]; /** - *

                                            The location type.

                                            + *

                                            The maximum number of results to return for the request in a single page. The remaining results + * can be seen by sending another request with the next token value.

                                            */ - LocationType?: LocationType | string; + MaxResults?: number; /** *

                                            Checks whether you have the required permissions for the action, without actually making the request, @@ -8072,6 +8431,11 @@ export interface DescribeInstanceTypeOfferingsRequest { *

                                            The token to retrieve the next page of results.

                                            */ NextToken?: string; + + /** + *

                                            The location type.

                                            + */ + LocationType?: LocationType | string; } export namespace DescribeInstanceTypeOfferingsRequest { @@ -8084,6 +8448,12 @@ export namespace DescribeInstanceTypeOfferingsRequest { *

                                            The instance types offered.

                                            */ export interface InstanceTypeOffering { + /** + *

                                            The identifier for the location. This depends on the location type. For example, if the location type is + * region, the location is the Region code (for example, us-east-2.)

                                            + */ + Location?: string; + /** *

                                            The instance type. For more information, see Instance Types in the Amazon Elastic Compute * Cloud User Guide.

                                            @@ -8094,12 +8464,6 @@ export interface InstanceTypeOffering { *

                                            The location type.

                                            */ LocationType?: LocationType | string; - - /** - *

                                            The identifier for the location. This depends on the location type. For example, if the location type is - * region, the location is the Region code (for example, us-east-2.)

                                            - */ - Location?: string; } export namespace InstanceTypeOffering { @@ -8128,23 +8492,6 @@ export namespace DescribeInstanceTypeOfferingsResult { } export interface DescribeInstanceTypesRequest { - /** - *

                                            The maximum number of results to return for the request in a single page. The remaining results - * can be seen by sending another request with the next token value.

                                            - */ - MaxResults?: number; - - /** - *

                                            The token to retrieve the next page of results.

                                            - */ - NextToken?: string; - - /** - *

                                            The instance types. For more information, see Instance Types in the Amazon Elastic Compute - * Cloud User Guide.

                                            - */ - InstanceTypes?: (_InstanceType | string)[]; - /** *

                                            One or more filters. Filter names and values are case-sensitive.

                                            *
                                              @@ -8306,12 +8653,29 @@ export interface DescribeInstanceTypesRequest { */ Filters?: Filter[]; + /** + *

                                              The maximum number of results to return for the request in a single page. The remaining results + * can be seen by sending another request with the next token value.

                                              + */ + MaxResults?: number; + + /** + *

                                              The token to retrieve the next page of results.

                                              + */ + NextToken?: string; + /** *

                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is * DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                              */ DryRun?: boolean; + + /** + *

                                              The instance types. For more information, see Instance Types in the Amazon Elastic Compute + * Cloud User Guide.

                                              + */ + InstanceTypes?: (_InstanceType | string)[]; } export namespace DescribeInstanceTypesRequest { @@ -8325,34 +8689,34 @@ export namespace DescribeInstanceTypesRequest { */ export interface EbsOptimizedInfo { /** - *

                                              The baseline throughput performance for an EBS-optimized instance type, in MBps.

                                              + *

                                              The baseline input/output storage operations per seconds for an EBS-optimized instance type.

                                              */ - BaselineThroughputInMBps?: number; + BaselineIops?: number; /** - *

                                              The maximum throughput performance for an EBS-optimized instance type, in MBps.

                                              + *

                                              The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

                                              */ - MaximumThroughputInMBps?: number; + MaximumBandwidthInMbps?: number; /** - *

                                              The maximum input/output storage operations per second for an EBS-optimized instance type.

                                              + *

                                              The baseline throughput performance for an EBS-optimized instance type, in MBps.

                                              */ - MaximumIops?: number; + BaselineThroughputInMBps?: number; /** - *

                                              The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

                                              + *

                                              The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

                                              */ - MaximumBandwidthInMbps?: number; + BaselineBandwidthInMbps?: number; /** - *

                                              The baseline input/output storage operations per seconds for an EBS-optimized instance type.

                                              + *

                                              The maximum input/output storage operations per second for an EBS-optimized instance type.

                                              */ - BaselineIops?: number; + MaximumIops?: number; /** - *

                                              The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

                                              + *

                                              The maximum throughput performance for an EBS-optimized instance type, in MBps.

                                              */ - BaselineBandwidthInMbps?: number; + MaximumThroughputInMBps?: number; } export namespace EbsOptimizedInfo { @@ -8376,10 +8740,9 @@ export enum EbsNvmeSupport { */ export interface EbsInfo { /** - *

                                              Indicates that the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-Optimized Instances in Amazon EC2 User Guide for - * Linux Instances.

                                              + *

                                              Describes the optimized EBS performance for the instance type.

                                              */ - EbsOptimizedSupport?: EbsOptimizedSupport | string; + EbsOptimizedInfo?: EbsOptimizedInfo; /** *

                                              Indicates whether non-volatile memory express (NVMe) is supported.

                                              @@ -8392,9 +8755,10 @@ export interface EbsInfo { EncryptionSupport?: EbsEncryptionSupport | string; /** - *

                                              Describes the optimized EBS performance for the instance type.

                                              + *

                                              Indicates that the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-Optimized Instances in Amazon EC2 User Guide for + * Linux Instances.

                                              */ - EbsOptimizedInfo?: EbsOptimizedInfo; + EbsOptimizedSupport?: EbsOptimizedSupport | string; } export namespace EbsInfo { @@ -8429,9 +8793,9 @@ export interface FpgaDeviceInfo { Name?: string; /** - *

                                              Describes the memory for the FPGA accelerator for the instance type.

                                              + *

                                              The count of FPGA accelerators for the instance type.

                                              */ - MemoryInfo?: FpgaDeviceMemoryInfo; + Count?: number; /** *

                                              The manufacturer of the FPGA accelerator.

                                              @@ -8439,9 +8803,9 @@ export interface FpgaDeviceInfo { Manufacturer?: string; /** - *

                                              The count of FPGA accelerators for the instance type.

                                              + *

                                              Describes the memory for the FPGA accelerator for the instance type.

                                              */ - Count?: number; + MemoryInfo?: FpgaDeviceMemoryInfo; } export namespace FpgaDeviceInfo { @@ -8455,14 +8819,14 @@ export namespace FpgaDeviceInfo { */ export interface FpgaInfo { /** - *

                                              The total memory of all FPGA accelerators for the instance type.

                                              + *

                                              Describes the FPGAs for the instance type.

                                              */ - TotalFpgaMemoryInMiB?: number; + Fpgas?: FpgaDeviceInfo[]; /** - *

                                              Describes the FPGAs for the instance type.

                                              + *

                                              The total memory of all FPGA accelerators for the instance type.

                                              */ - Fpgas?: FpgaDeviceInfo[]; + TotalFpgaMemoryInMiB?: number; } export namespace FpgaInfo { @@ -8492,24 +8856,24 @@ export namespace GpuDeviceMemoryInfo { */ export interface GpuDeviceInfo { /** - *

                                              The name of the GPU accelerator.

                                              + *

                                              The number of GPUs for the instance type.

                                              */ - Name?: string; + Count?: number; /** - *

                                              The manufacturer of the GPU accelerator.

                                              + *

                                              Describes the memory available to the GPU accelerator.

                                              */ - Manufacturer?: string; + MemoryInfo?: GpuDeviceMemoryInfo; /** - *

                                              Describes the memory available to the GPU accelerator.

                                              + *

                                              The manufacturer of the GPU accelerator.

                                              */ - MemoryInfo?: GpuDeviceMemoryInfo; + Manufacturer?: string; /** - *

                                              The number of GPUs for the instance type.

                                              + *

                                              The name of the GPU accelerator.

                                              */ - Count?: number; + Name?: string; } export namespace GpuDeviceInfo { @@ -8523,14 +8887,14 @@ export namespace GpuDeviceInfo { */ export interface GpuInfo { /** - *

                                              The total size of the memory for the GPU accelerators for the instance type.

                                              + *

                                              Describes the GPU accelerators for the instance type.

                                              */ - TotalGpuMemoryInMiB?: number; + Gpus?: GpuDeviceInfo[]; /** - *

                                              Describes the GPU accelerators for the instance type.

                                              + *

                                              The total size of the memory for the GPU accelerators for the instance type.

                                              */ - Gpus?: GpuDeviceInfo[]; + TotalGpuMemoryInMiB?: number; } export namespace GpuInfo { @@ -8548,11 +8912,6 @@ export enum InstanceTypeHypervisor { *

                                              Describes the Inference accelerators for the instance type.

                                              */ export interface InferenceDeviceInfo { - /** - *

                                              The manufacturer of the Inference accelerator.

                                              - */ - Manufacturer?: string; - /** *

                                              The number of Inference accelerators for the instance type.

                                              */ @@ -8562,6 +8921,11 @@ export interface InferenceDeviceInfo { *

                                              The name of the Inference accelerator.

                                              */ Name?: string; + + /** + *

                                              The manufacturer of the Inference accelerator.

                                              + */ + Manufacturer?: string; } export namespace InferenceDeviceInfo { @@ -8593,9 +8957,9 @@ export type DiskType = "hdd" | "ssd"; */ export interface DiskInfo { /** - *

                                              The size of the disk in GB.

                                              + *

                                              The type of disk.

                                              */ - SizeInGB?: number; + Type?: DiskType | string; /** *

                                              The number of disks with this configuration.

                                              @@ -8603,9 +8967,9 @@ export interface DiskInfo { Count?: number; /** - *

                                              The type of disk.

                                              + *

                                              The size of the disk in GB.

                                              */ - Type?: DiskType | string; + SizeInGB?: number; } export namespace DiskInfo { @@ -8619,14 +8983,14 @@ export namespace DiskInfo { */ export interface InstanceStorageInfo { /** - *

                                              Array describing the disks that are available for the instance type.

                                              + *

                                              The total size of the disks, in GB.

                                              */ - Disks?: DiskInfo[]; + TotalSizeInGB?: number; /** - *

                                              The total size of the disks, in GB.

                                              + *

                                              Array describing the disks that are available for the instance type.

                                              */ - TotalSizeInGB?: number; + Disks?: DiskInfo[]; } export namespace InstanceStorageInfo { @@ -8658,14 +9022,14 @@ export type EnaSupport = "required" | "supported" | "unsupported"; */ export interface NetworkInfo { /** - *

                                              Indicates whether Elastic Network Adapter (ENA) is supported.

                                              + *

                                              The maximum number of IPv6 addresses per network interface.

                                              */ - EnaSupport?: EnaSupport | string; + Ipv6AddressesPerInterface?: number; /** - *

                                              The maximum number of IPv4 addresses per network interface.

                                              + *

                                              The maximum number of network interfaces for the instance type.

                                              */ - Ipv4AddressesPerInterface?: number; + MaximumNetworkInterfaces?: number; /** *

                                              Indicates whether IPv6 is supported.

                                              @@ -8673,24 +9037,24 @@ export interface NetworkInfo { Ipv6Supported?: boolean; /** - *

                                              The maximum number of IPv6 addresses per network interface.

                                              + *

                                              Indicates whether Elastic Fabric Adapter (EFA) is supported.

                                              */ - Ipv6AddressesPerInterface?: number; + EfaSupported?: boolean; /** - *

                                              Indicates whether Elastic Fabric Adapter (EFA) is supported.

                                              + *

                                              Describes the network performance.

                                              */ - EfaSupported?: boolean; + NetworkPerformance?: string; /** - *

                                              The maximum number of network interfaces for the instance type.

                                              + *

                                              Indicates whether Elastic Network Adapter (ENA) is supported.

                                              */ - MaximumNetworkInterfaces?: number; + EnaSupport?: EnaSupport | string; /** - *

                                              Describes the network performance.

                                              + *

                                              The maximum number of IPv4 addresses per network interface.

                                              */ - NetworkPerformance?: string; + Ipv4AddressesPerInterface?: number; } export namespace NetworkInfo { @@ -8724,14 +9088,14 @@ export type ArchitectureType = "arm64" | "i386" | "x86_64"; */ export interface ProcessorInfo { /** - *

                                              A list of architectures supported by the instance type.

                                              + *

                                              The speed of the processor, in GHz.

                                              */ - SupportedArchitectures?: (ArchitectureType | string)[]; + SustainedClockSpeedInGhz?: number; /** - *

                                              The speed of the processor, in GHz.

                                              + *

                                              A list of architectures supported by the instance type.

                                              */ - SustainedClockSpeedInGhz?: number; + SupportedArchitectures?: (ArchitectureType | string)[]; } export namespace ProcessorInfo { @@ -8749,9 +9113,9 @@ export type UsageClassType = "on-demand" | "spot"; */ export interface VCpuInfo { /** - *

                                              The default number of vCPUs for the instance type.

                                              + *

                                              List of the valid number of cores that can be configured for the instance type.

                                              */ - DefaultVCpus?: number; + ValidCores?: number[]; /** *

                                              The default number of threads per core for the instance type.

                                              @@ -8759,9 +9123,9 @@ export interface VCpuInfo { DefaultThreadsPerCore?: number; /** - *

                                              List of the valid number of cores that can be configured for the instance type.

                                              + *

                                              The default number of vCPUs for the instance type.

                                              */ - ValidCores?: number[]; + DefaultVCpus?: number; /** *

                                              The default number of cores for the instance type.

                                              @@ -8785,120 +9149,120 @@ export namespace VCpuInfo { */ export interface InstanceTypeInfo { /** - *

                                              Indicates the hypervisor used for the instance type.

                                              + *

                                              The instance type. For more information, see Instance Types in the Amazon Elastic Compute + * Cloud User Guide.

                                              */ - Hypervisor?: InstanceTypeHypervisor | string; + InstanceType?: _InstanceType | string; /** - *

                                              Describes the Inference accelerator settings for the instance type.

                                              + *

                                              Indicates the supported root device types.

                                              */ - InferenceAcceleratorInfo?: InferenceAcceleratorInfo; + SupportedRootDeviceTypes?: (RootDeviceType | string)[]; /** - *

                                              Describes the placement group settings for the instance type.

                                              + *

                                              The supported virtualization types.

                                              */ - PlacementGroupInfo?: PlacementGroupInfo; + SupportedVirtualizationTypes?: (VirtualizationType | string)[]; /** - *

                                              Describes the network settings for the instance type.

                                              + *

                                              Indicates whether the instance type is a burstable performance instance type.

                                              */ - NetworkInfo?: NetworkInfo; + BurstablePerformanceSupported?: boolean; /** - *

                                              Describes the Amazon EBS settings for the instance type.

                                              + *

                                              Describes the GPU accelerator settings for the instance type.

                                              */ - EbsInfo?: EbsInfo; + GpuInfo?: GpuInfo; /** - *

                                              Indicates whether On-Demand hibernation is supported.

                                              + *

                                              Indicates whether the instance is bare metal.

                                              */ - HibernationSupported?: boolean; + BareMetal?: boolean; /** - *

                                              Indicates whether the instance type is a current generation.

                                              + *

                                              Describes the FPGA accelerator settings for the instance type.

                                              */ - CurrentGeneration?: boolean; + FpgaInfo?: FpgaInfo; /** - *

                                              Describes the disks for the instance type.

                                              + *

                                              Indicates whether auto recovery is supported.

                                              */ - InstanceStorageInfo?: InstanceStorageInfo; + AutoRecoverySupported?: boolean; /** - *

                                              Indicates whether the instance type is eligible for the free tier.

                                              + *

                                              Describes the Inference accelerator settings for the instance type.

                                              */ - FreeTierEligible?: boolean; + InferenceAcceleratorInfo?: InferenceAcceleratorInfo; /** - *

                                              Indicates whether auto recovery is supported.

                                              + *

                                              Describes the Amazon EBS settings for the instance type.

                                              */ - AutoRecoverySupported?: boolean; + EbsInfo?: EbsInfo; /** - *

                                              Indicates whether the instance is bare metal.

                                              + *

                                              Describes the network settings for the instance type.

                                              */ - BareMetal?: boolean; + NetworkInfo?: NetworkInfo; /** - *

                                              Describes the FPGA accelerator settings for the instance type.

                                              + *

                                              Describes the placement group settings for the instance type.

                                              */ - FpgaInfo?: FpgaInfo; + PlacementGroupInfo?: PlacementGroupInfo; /** - *

                                              Describes the GPU accelerator settings for the instance type.

                                              + *

                                              Indicates the hypervisor used for the instance type.

                                              */ - GpuInfo?: GpuInfo; + Hypervisor?: InstanceTypeHypervisor | string; /** - *

                                              Describes the vCPU configurations for the instance type.

                                              + *

                                              Describes the disks for the instance type.

                                              */ - VCpuInfo?: VCpuInfo; + InstanceStorageInfo?: InstanceStorageInfo; /** - *

                                              Indicates the supported root device types.

                                              + *

                                              Describes the processor.

                                              */ - SupportedRootDeviceTypes?: (RootDeviceType | string)[]; + ProcessorInfo?: ProcessorInfo; /** - *

                                              The instance type. For more information, see Instance Types in the Amazon Elastic Compute - * Cloud User Guide.

                                              + *

                                              Indicates whether the instance type is eligible for the free tier.

                                              */ - InstanceType?: _InstanceType | string; + FreeTierEligible?: boolean; /** - *

                                              The supported virtualization types.

                                              + *

                                              Indicates whether instance storage is supported.

                                              */ - SupportedVirtualizationTypes?: (VirtualizationType | string)[]; + InstanceStorageSupported?: boolean; /** - *

                                              Describes the memory for the instance type.

                                              + *

                                              Indicates whether On-Demand hibernation is supported.

                                              */ - MemoryInfo?: MemoryInfo; + HibernationSupported?: boolean; /** - *

                                              Indicates whether the instance type is offered for spot or On-Demand.

                                              + *

                                              Describes the vCPU configurations for the instance type.

                                              */ - SupportedUsageClasses?: (UsageClassType | string)[]; + VCpuInfo?: VCpuInfo; /** - *

                                              Indicates whether Dedicated Hosts are supported on the instance type.

                                              + *

                                              Indicates whether the instance type is a current generation.

                                              */ - DedicatedHostsSupported?: boolean; + CurrentGeneration?: boolean; /** - *

                                              Describes the processor.

                                              + *

                                              Describes the memory for the instance type.

                                              */ - ProcessorInfo?: ProcessorInfo; + MemoryInfo?: MemoryInfo; /** - *

                                              Indicates whether the instance type is a burstable performance instance type.

                                              + *

                                              Indicates whether Dedicated Hosts are supported on the instance type.

                                              */ - BurstablePerformanceSupported?: boolean; + DedicatedHostsSupported?: boolean; /** - *

                                              Indicates whether instance storage is supported.

                                              + *

                                              Indicates whether the instance type is offered for spot or On-Demand.

                                              */ - InstanceStorageSupported?: boolean; + SupportedUsageClasses?: (UsageClassType | string)[]; } export namespace InstanceTypeInfo { @@ -8908,17 +9272,17 @@ export namespace InstanceTypeInfo { } export interface DescribeInstanceTypesResult { - /** - *

                                              The instance type. For more information, see Instance Types in the Amazon Elastic Compute - * Cloud User Guide.

                                              - */ - InstanceTypes?: InstanceTypeInfo[]; - /** *

                                              The token to use to retrieve the next page of results. This value is null when there * are no more results to return.

                                              */ NextToken?: string; + + /** + *

                                              The instance type. For more information, see Instance Types in the Amazon Elastic Compute + * Cloud User Guide.

                                              + */ + InstanceTypes?: InstanceTypeInfo[]; } export namespace DescribeInstanceTypesResult { @@ -8928,13 +9292,6 @@ export namespace DescribeInstanceTypesResult { } export interface DescribeInternetGatewaysRequest { - /** - *

                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                              - */ - DryRun?: boolean; - /** *

                                              The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                                              @@ -8984,6 +9341,13 @@ export interface DescribeInternetGatewaysRequest { *

                                              The token for the next page of results.

                                              */ NextToken?: string; + + /** + *

                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              + */ + DryRun?: boolean; } export namespace DescribeInternetGatewaysRequest { @@ -9011,6 +9375,11 @@ export namespace DescribeInternetGatewaysResult { } export interface DescribeIpv6PoolsRequest { + /** + *

                                              The IDs of the IPv6 address pools.

                                              + */ + PoolIds?: string[]; + /** *

                                              One or more filters.

                                              *
                                                @@ -9027,12 +9396,6 @@ export interface DescribeIpv6PoolsRequest { */ Filters?: Filter[]; - /** - *

                                                The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                - */ - MaxResults?: number; - /** *

                                                Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -9041,14 +9404,15 @@ export interface DescribeIpv6PoolsRequest { DryRun?: boolean; /** - *

                                                The token for the next page of results.

                                                + *

                                                The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                */ - NextToken?: string; + MaxResults?: number; /** - *

                                                The IDs of the IPv6 address pools.

                                                + *

                                                The token for the next page of results.

                                                */ - PoolIds?: string[]; + NextToken?: string; } export namespace DescribeIpv6PoolsRequest { @@ -9082,6 +9446,11 @@ export interface Ipv6Pool { */ Tags?: Tag[]; + /** + *

                                                The CIDR blocks for the address pool.

                                                + */ + PoolCidrBlocks?: PoolCidrBlock[]; + /** *

                                                The ID of the address pool.

                                                */ @@ -9091,11 +9460,6 @@ export interface Ipv6Pool { *

                                                The description for the address pool.

                                                */ Description?: string; - - /** - *

                                                The CIDR blocks for the address pool.

                                                - */ - PoolCidrBlocks?: PoolCidrBlock[]; } export namespace Ipv6Pool { @@ -9124,11 +9488,9 @@ export namespace DescribeIpv6PoolsResult { export interface DescribeKeyPairsRequest { /** - *

                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                + *

                                                The IDs of the key pairs.

                                                */ - DryRun?: boolean; + KeyPairIds?: string[]; /** *

                                                The filters.

                                                @@ -9158,16 +9520,18 @@ export interface DescribeKeyPairsRequest { */ Filters?: Filter[]; - /** - *

                                                The IDs of the key pairs.

                                                - */ - KeyPairIds?: string[]; - /** *

                                                The key pair names.

                                                *

                                                Default: Describes all your key pairs.

                                                */ KeyNames?: string[]; + + /** + *

                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                + */ + DryRun?: boolean; } export namespace DescribeKeyPairsRequest { @@ -9181,25 +9545,25 @@ export namespace DescribeKeyPairsRequest { */ export interface KeyPairInfo { /** - *

                                                Any tags applied to the key pair.

                                                + *

                                                The name of the key pair.

                                                */ - Tags?: Tag[]; + KeyName?: string; /** - *

                                                If you used CreateKeyPair to create the key pair, this is the SHA-1 digest of the DER encoded private key. - * If you used ImportKeyPair to provide AWS the public key, this is the MD5 public key fingerprint as specified in section 4 of RFC4716.

                                                + *

                                                The ID of the key pair.

                                                */ - KeyFingerprint?: string; + KeyPairId?: string; /** - *

                                                The ID of the key pair.

                                                + *

                                                If you used CreateKeyPair to create the key pair, this is the SHA-1 digest of the DER encoded private key. + * If you used ImportKeyPair to provide AWS the public key, this is the MD5 public key fingerprint as specified in section 4 of RFC4716.

                                                */ - KeyPairId?: string; + KeyFingerprint?: string; /** - *

                                                The name of the key pair.

                                                + *

                                                Any tags applied to the key pair.

                                                */ - KeyName?: string; + Tags?: Tag[]; } export namespace KeyPairInfo { @@ -9222,18 +9586,6 @@ export namespace DescribeKeyPairsResult { } export interface DescribeLaunchTemplatesRequest { - /** - *

                                                The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 1 and 200.

                                                - */ - MaxResults?: number; - - /** - *

                                                One or more launch template names.

                                                - */ - LaunchTemplateNames?: string[]; - /** *

                                                One or more filters.

                                                *
                                                  @@ -9258,6 +9610,18 @@ export interface DescribeLaunchTemplatesRequest { */ Filters?: Filter[]; + /** + *

                                                  One or more launch template names.

                                                  + */ + LaunchTemplateNames?: string[]; + + /** + *

                                                  The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 1 and 200.

                                                  + */ + MaxResults?: number; + /** *

                                                  Checks whether you have the required permissions for the action, without actually * making the request, and provides an error response. If you have the required @@ -9267,14 +9631,14 @@ export interface DescribeLaunchTemplatesRequest { DryRun?: boolean; /** - *

                                                  One or more launch template IDs.

                                                  + *

                                                  The token to request the next page of results.

                                                  */ - LaunchTemplateIds?: string[]; + NextToken?: string; /** - *

                                                  The token to request the next page of results.

                                                  + *

                                                  One or more launch template IDs.

                                                  */ - NextToken?: string; + LaunchTemplateIds?: string[]; } export namespace DescribeLaunchTemplatesRequest { @@ -9285,15 +9649,15 @@ export namespace DescribeLaunchTemplatesRequest { export interface DescribeLaunchTemplatesResult { /** - *

                                                  The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

                                                  + *

                                                  Information about the launch templates.

                                                  */ - NextToken?: string; + LaunchTemplates?: LaunchTemplate[]; /** - *

                                                  Information about the launch templates.

                                                  + *

                                                  The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

                                                  */ - LaunchTemplates?: LaunchTemplate[]; + NextToken?: string; } export namespace DescribeLaunchTemplatesResult { @@ -9303,26 +9667,6 @@ export namespace DescribeLaunchTemplatesResult { } export interface DescribeLaunchTemplateVersionsRequest { - /** - *

                                                  The name of the launch template. To describe one or more versions of a specified - * launch template, you must specify either the launch template ID or the launch template - * name in the request. To describe all the latest or default launch template versions in - * your account, you must omit this parameter.

                                                  - */ - LaunchTemplateName?: string; - - /** - *

                                                  The version number after which to describe launch template versions.

                                                  - */ - MinVersion?: string; - - /** - *

                                                  The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 1 and 200.

                                                  - */ - MaxResults?: number; - /** *

                                                  One or more filters.

                                                  *
                                                    @@ -9366,20 +9710,21 @@ export interface DescribeLaunchTemplateVersionsRequest { Filters?: Filter[]; /** - *

                                                    The version number up to which to describe launch template versions.

                                                    + *

                                                    The version number after which to describe launch template versions.

                                                    */ - MaxVersion?: string; + MinVersion?: string; /** - *

                                                    One or more versions of the launch template. Valid values depend on whether you are describing a specified launch template (by ID or name) or all launch templates in your account.

                                                    - *

                                                    To describe one or more versions of a specified launch template, valid values are $Latest, $Default, and numbers.

                                                    - *

                                                    To describe all launch templates in your account that are defined as the latest - * version, the valid value is $Latest. To describe all launch templates in - * your account that are defined as the default version, the valid value is - * $Default. You can specify $Latest and - * $Default in the same call. You cannot specify numbers.

                                                    + *

                                                    The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 1 and 200.

                                                    */ - Versions?: string[]; + MaxResults?: number; + + /** + *

                                                    The token to request the next page of results.

                                                    + */ + NextToken?: string; /** *

                                                    The ID of the launch template. To describe one or more versions of a specified launch @@ -9389,11 +9734,6 @@ export interface DescribeLaunchTemplateVersionsRequest { */ LaunchTemplateId?: string; - /** - *

                                                    The token to request the next page of results.

                                                    - */ - NextToken?: string; - /** *

                                                    Checks whether you have the required permissions for the action, without actually * making the request, and provides an error response. If you have the required @@ -9401,6 +9741,30 @@ export interface DescribeLaunchTemplateVersionsRequest { * UnauthorizedOperation.

                                                    */ DryRun?: boolean; + + /** + *

                                                    The version number up to which to describe launch template versions.

                                                    + */ + MaxVersion?: string; + + /** + *

                                                    One or more versions of the launch template. Valid values depend on whether you are describing a specified launch template (by ID or name) or all launch templates in your account.

                                                    + *

                                                    To describe one or more versions of a specified launch template, valid values are $Latest, $Default, and numbers.

                                                    + *

                                                    To describe all launch templates in your account that are defined as the latest + * version, the valid value is $Latest. To describe all launch templates in + * your account that are defined as the default version, the valid value is + * $Default. You can specify $Latest and + * $Default in the same call. You cannot specify numbers.

                                                    + */ + Versions?: string[]; + + /** + *

                                                    The name of the launch template. To describe one or more versions of a specified + * launch template, you must specify either the launch template ID or the launch template + * name in the request. To describe all the latest or default launch template versions in + * your account, you must omit this parameter.

                                                    + */ + LaunchTemplateName?: string; } export namespace DescribeLaunchTemplateVersionsRequest { @@ -9410,16 +9774,16 @@ export namespace DescribeLaunchTemplateVersionsRequest { } export interface DescribeLaunchTemplateVersionsResult { - /** - *

                                                    Information about the launch template versions.

                                                    - */ - LaunchTemplateVersions?: LaunchTemplateVersion[]; - /** *

                                                    The token to use to retrieve the next page of results. This value is * null when there are no more results to return.

                                                    */ NextToken?: string; + + /** + *

                                                    Information about the launch template versions.

                                                    + */ + LaunchTemplateVersions?: LaunchTemplateVersion[]; } export namespace DescribeLaunchTemplateVersionsResult { @@ -9435,6 +9799,11 @@ export interface DescribeLocalGatewayRouteTablesRequest { */ MaxResults?: number; + /** + *

                                                    The IDs of the local gateway route tables.

                                                    + */ + LocalGatewayRouteTableIds?: string[]; + /** *

                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -9443,7 +9812,12 @@ export interface DescribeLocalGatewayRouteTablesRequest { DryRun?: boolean; /** - *

                                                    One or more filters.

                                                    + *

                                                    The token for the next page of results.

                                                    + */ + NextToken?: string; + + /** + *

                                                    One or more filters.

                                                    *
                                                      *
                                                    • *

                                                      @@ -9464,16 +9838,6 @@ export interface DescribeLocalGatewayRouteTablesRequest { *

                                                    */ Filters?: Filter[]; - - /** - *

                                                    The token for the next page of results.

                                                    - */ - NextToken?: string; - - /** - *

                                                    The IDs of the local gateway route tables.

                                                    - */ - LocalGatewayRouteTableIds?: string[]; } export namespace DescribeLocalGatewayRouteTablesRequest { @@ -9487,15 +9851,20 @@ export namespace DescribeLocalGatewayRouteTablesRequest { */ export interface LocalGatewayRouteTable { /** - *

                                                    The tags assigned to the local gateway route table.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the local gateway route table.

                                                    */ - Tags?: Tag[]; + LocalGatewayRouteTableArn?: string; /** *

                                                    The ID of the local gateway.

                                                    */ LocalGatewayId?: string; + /** + *

                                                    The Amazon Resource Name (ARN) of the Outpost.

                                                    + */ + OutpostArn?: string; + /** *

                                                    The state of the local gateway route table.

                                                    */ @@ -9507,9 +9876,14 @@ export interface LocalGatewayRouteTable { LocalGatewayRouteTableId?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the Outpost.

                                                    + *

                                                    The AWS account ID that owns the local gateway route table.

                                                    */ - OutpostArn?: string; + OwnerId?: string; + + /** + *

                                                    The tags assigned to the local gateway route table.

                                                    + */ + Tags?: Tag[]; } export namespace LocalGatewayRouteTable { @@ -9537,22 +9911,11 @@ export namespace DescribeLocalGatewayRouteTablesResult { } export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { - /** - *

                                                    The IDs of the associations.

                                                    - */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: string[]; - /** *

                                                    The token for the next page of results.

                                                    */ NextToken?: string; - /** - *

                                                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                    - */ - MaxResults?: number; - /** *

                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -9560,6 +9923,11 @@ export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations */ DryRun?: boolean; + /** + *

                                                    The IDs of the associations.

                                                    + */ + LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: string[]; + /** *

                                                    One or more filters.

                                                    *
                                                      @@ -9586,6 +9954,12 @@ export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations *
                                                    */ Filters?: Filter[]; + + /** + *

                                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                    + */ + MaxResults?: number; } export namespace DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { @@ -9600,20 +9974,25 @@ export namespace DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations *

                                                    Describes an association between a local gateway route table and a virtual interface group.

                                                    */ export interface LocalGatewayRouteTableVirtualInterfaceGroupAssociation { + /** + *

                                                    The ID of the virtual interface group.

                                                    + */ + LocalGatewayVirtualInterfaceGroupId?: string; + /** *

                                                    The ID of the association.

                                                    */ LocalGatewayRouteTableVirtualInterfaceGroupAssociationId?: string; /** - *

                                                    The ID of the local gateway.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the local gateway route table for the virtual interface group.

                                                    */ - LocalGatewayId?: string; + LocalGatewayRouteTableArn?: string; /** - *

                                                    The tags assigned to the association.

                                                    + *

                                                    The ID of the local gateway route table.

                                                    */ - Tags?: Tag[]; + LocalGatewayRouteTableId?: string; /** *

                                                    The state of the association.

                                                    @@ -9621,14 +10000,19 @@ export interface LocalGatewayRouteTableVirtualInterfaceGroupAssociation { State?: string; /** - *

                                                    The ID of the local gateway route table.

                                                    + *

                                                    The tags assigned to the association.

                                                    */ - LocalGatewayRouteTableId?: string; + Tags?: Tag[]; /** - *

                                                    The ID of the virtual interface group.

                                                    + *

                                                    The ID of the local gateway.

                                                    */ - LocalGatewayVirtualInterfaceGroupId?: string; + LocalGatewayId?: string; + + /** + *

                                                    The AWS account ID that owns the local gateway virtual interface group association.

                                                    + */ + OwnerId?: string; } export namespace LocalGatewayRouteTableVirtualInterfaceGroupAssociation { @@ -9639,14 +10023,14 @@ export namespace LocalGatewayRouteTableVirtualInterfaceGroupAssociation { export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { /** - *

                                                    Information about the associations.

                                                    + *

                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                    */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: LocalGatewayRouteTableVirtualInterfaceGroupAssociation[]; + NextToken?: string; /** - *

                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                    + *

                                                    Information about the associations.

                                                    */ - NextToken?: string; + LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: LocalGatewayRouteTableVirtualInterfaceGroupAssociation[]; } export namespace DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { @@ -9663,24 +10047,6 @@ export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { */ LocalGatewayRouteTableVpcAssociationIds?: string[]; - /** - *

                                                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                    - */ - MaxResults?: number; - - /** - *

                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                    - */ - DryRun?: boolean; - - /** - *

                                                    The token for the next page of results.

                                                    - */ - NextToken?: string; - /** *

                                                    One or more filters.

                                                    *
                                                      @@ -9707,6 +10073,24 @@ export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { *
                                                    */ Filters?: Filter[]; + + /** + *

                                                    The token for the next page of results.

                                                    + */ + NextToken?: string; + + /** + *

                                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                    + */ + MaxResults?: number; + + /** + *

                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                    + */ + DryRun?: boolean; } export namespace DescribeLocalGatewayRouteTableVpcAssociationsRequest { @@ -9734,11 +10118,6 @@ export namespace DescribeLocalGatewayRouteTableVpcAssociationsResult { } export interface DescribeLocalGatewaysRequest { - /** - *

                                                    One or more filters.

                                                    - */ - Filters?: Filter[]; - /** *

                                                    One or more filters.

                                                    *
                                                      @@ -9771,15 +10150,15 @@ export interface DescribeLocalGatewaysRequest { LocalGatewayIds?: string[]; /** - *

                                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      + *

                                                      One or more filters.

                                                      */ - MaxResults?: number; + Filters?: Filter[]; /** - *

                                                      The token for the next page of results.

                                                      + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - NextToken?: string; + MaxResults?: number; /** *

                                                      Checks whether you have the required permissions for the action, without actually making the request, @@ -9787,6 +10166,11 @@ export interface DescribeLocalGatewaysRequest { * Otherwise, it is UnauthorizedOperation.

                                                      */ DryRun?: boolean; + + /** + *

                                                      The token for the next page of results.

                                                      + */ + NextToken?: string; } export namespace DescribeLocalGatewaysRequest { @@ -9799,6 +10183,11 @@ export namespace DescribeLocalGatewaysRequest { *

                                                      Describes a local gateway.

                                                      */ export interface LocalGateway { + /** + *

                                                      The ID of the local gateway.

                                                      + */ + LocalGatewayId?: string; + /** *

                                                      The state of the local gateway.

                                                      */ @@ -9815,14 +10204,9 @@ export interface LocalGateway { Tags?: Tag[]; /** - *

                                                      The ID of the AWS account ID that owns the local gateway.

                                                      + *

                                                      The AWS account ID that owns the local gateway.

                                                      */ OwnerId?: string; - - /** - *

                                                      The ID of the local gateway.

                                                      - */ - LocalGatewayId?: string; } export namespace LocalGateway { @@ -9851,28 +10235,16 @@ export namespace DescribeLocalGatewaysResult { export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { /** - *

                                                      One or more filters.

                                                      - *
                                                        - *
                                                      • - *

                                                        - * local-gateway-id - The ID of a local gateway.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * local-gateway-virtual-interface-id - The ID of the virtual interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

                                                        - *
                                                      • - *
                                                      + *

                                                      The token for the next page of results.

                                                      */ - Filters?: Filter[]; + NextToken?: string; /** - *

                                                      The token for the next page of results.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - NextToken?: string; + DryRun?: boolean; /** *

                                                      The IDs of the virtual interface groups.

                                                      @@ -9886,11 +10258,23 @@ export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { MaxResults?: number; /** - *

                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                      + *

                                                      One or more filters.

                                                      + *
                                                        + *
                                                      • + *

                                                        + * local-gateway-id - The ID of a local gateway.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * local-gateway-virtual-interface-id - The ID of the virtual interface.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

                                                        + *
                                                      • + *
                                                      */ - DryRun?: boolean; + Filters?: Filter[]; } export namespace DescribeLocalGatewayVirtualInterfaceGroupsRequest { @@ -9908,6 +10292,16 @@ export interface LocalGatewayVirtualInterfaceGroup { */ LocalGatewayVirtualInterfaceGroupId?: string; + /** + *

                                                      The tags assigned to the virtual interface group.

                                                      + */ + Tags?: Tag[]; + + /** + *

                                                      The AWS account ID that owns the local gateway virtual interface group.

                                                      + */ + OwnerId?: string; + /** *

                                                      The ID of the local gateway.

                                                      */ @@ -9917,11 +10311,6 @@ export interface LocalGatewayVirtualInterfaceGroup { *

                                                      The IDs of the virtual interfaces.

                                                      */ LocalGatewayVirtualInterfaceIds?: string[]; - - /** - *

                                                      The tags assigned to the virtual interface group.

                                                      - */ - Tags?: Tag[]; } export namespace LocalGatewayVirtualInterfaceGroup { @@ -9932,14 +10321,14 @@ export namespace LocalGatewayVirtualInterfaceGroup { export interface DescribeLocalGatewayVirtualInterfaceGroupsResult { /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      + *

                                                      The virtual interface groups.

                                                      */ - NextToken?: string; + LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[]; /** - *

                                                      The virtual interface groups.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[]; + NextToken?: string; } export namespace DescribeLocalGatewayVirtualInterfaceGroupsResult { @@ -9963,9 +10352,9 @@ export interface DescribeLocalGatewayVirtualInterfacesRequest { MaxResults?: number; /** - *

                                                      One or more filters.

                                                      + *

                                                      The token for the next page of results.

                                                      */ - Filters?: Filter[]; + NextToken?: string; /** *

                                                      The IDs of the virtual interfaces.

                                                      @@ -9973,9 +10362,9 @@ export interface DescribeLocalGatewayVirtualInterfacesRequest { LocalGatewayVirtualInterfaceIds?: string[]; /** - *

                                                      The token for the next page of results.

                                                      + *

                                                      One or more filters.

                                                      */ - NextToken?: string; + Filters?: Filter[]; } export namespace DescribeLocalGatewayVirtualInterfacesRequest { @@ -9989,9 +10378,14 @@ export namespace DescribeLocalGatewayVirtualInterfacesRequest { */ export interface LocalGatewayVirtualInterface { /** - *

                                                      The ID of the VLAN.

                                                      + *

                                                      The ID of the virtual interface.

                                                      */ - Vlan?: number; + LocalGatewayVirtualInterfaceId?: string; + + /** + *

                                                      The tags assigned to the virtual interface.

                                                      + */ + Tags?: Tag[]; /** *

                                                      The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

                                                      @@ -10004,14 +10398,14 @@ export interface LocalGatewayVirtualInterface { LocalGatewayId?: string; /** - *

                                                      The tags assigned to the virtual interface.

                                                      + *

                                                      The peer BGP ASN.

                                                      */ - Tags?: Tag[]; + PeerBgpAsn?: number; /** - *

                                                      The peer BGP ASN.

                                                      + *

                                                      The local address.

                                                      */ - PeerBgpAsn?: number; + LocalAddress?: string; /** *

                                                      The peer address.

                                                      @@ -10019,14 +10413,14 @@ export interface LocalGatewayVirtualInterface { PeerAddress?: string; /** - *

                                                      The local address.

                                                      + *

                                                      The AWS account ID that owns the local gateway virtual interface.

                                                      */ - LocalAddress?: string; + OwnerId?: string; /** - *

                                                      The ID of the virtual interface.

                                                      + *

                                                      The ID of the VLAN.

                                                      */ - LocalGatewayVirtualInterfaceId?: string; + Vlan?: number; } export namespace LocalGatewayVirtualInterface { @@ -10037,14 +10431,14 @@ export namespace LocalGatewayVirtualInterface { export interface DescribeLocalGatewayVirtualInterfacesResult { /** - *

                                                      Information about the virtual interfaces.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[]; + NextToken?: string; /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      + *

                                                      Information about the virtual interfaces.

                                                      */ - NextToken?: string; + LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[]; } export namespace DescribeLocalGatewayVirtualInterfacesResult { @@ -10066,6 +10460,17 @@ export interface DescribeManagedPrefixListsRequest { */ NextToken?: string; + /** + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      + */ + MaxResults?: number; + + /** + *

                                                      One or more prefix list IDs.

                                                      + */ + PrefixListIds?: string[]; + /** *

                                                      One or more filters.

                                                      *
                                                        @@ -10084,17 +10489,6 @@ export interface DescribeManagedPrefixListsRequest { *
                                                      */ Filters?: Filter[]; - - /** - *

                                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      - */ - MaxResults?: number; - - /** - *

                                                      One or more prefix list IDs.

                                                      - */ - PrefixListIds?: string[]; } export namespace DescribeManagedPrefixListsRequest { @@ -10105,14 +10499,14 @@ export namespace DescribeManagedPrefixListsRequest { export interface DescribeManagedPrefixListsResult { /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      + *

                                                      Information about the prefix lists.

                                                      */ - NextToken?: string; + PrefixLists?: ManagedPrefixList[]; /** - *

                                                      Information about the prefix lists.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - PrefixLists?: ManagedPrefixList[]; + NextToken?: string; } export namespace DescribeManagedPrefixListsResult { @@ -10129,6 +10523,11 @@ export interface DescribeMovingAddressesRequest { */ DryRun?: boolean; + /** + *

                                                      The token for the next page of results.

                                                      + */ + NextToken?: string; + /** *

                                                      The maximum number of results to return for the request in a single page. The remaining * results of the initial request can be seen by sending another request with the returned @@ -10154,11 +10553,6 @@ export interface DescribeMovingAddressesRequest { *

                                                      One or more Elastic IP addresses.

                                                      */ PublicIps?: string[]; - - /** - *

                                                      The token for the next page of results.

                                                      - */ - NextToken?: string; } export namespace DescribeMovingAddressesRequest { @@ -10166,691 +10560,3 @@ export namespace DescribeMovingAddressesRequest { ...obj, }); } - -export type MoveStatus = "movingToVpc" | "restoringToClassic"; - -/** - *

                                                      Describes the status of a moving Elastic IP address.

                                                      - */ -export interface MovingAddressStatus { - /** - *

                                                      The Elastic IP address.

                                                      - */ - PublicIp?: string; - - /** - *

                                                      The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

                                                      - */ - MoveStatus?: MoveStatus | string; -} - -export namespace MovingAddressStatus { - export const filterSensitiveLog = (obj: MovingAddressStatus): any => ({ - ...obj, - }); -} - -export interface DescribeMovingAddressesResult { - /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      - */ - NextToken?: string; - - /** - *

                                                      The status for each Elastic IP address.

                                                      - */ - MovingAddressStatuses?: MovingAddressStatus[]; -} - -export namespace DescribeMovingAddressesResult { - export const filterSensitiveLog = (obj: DescribeMovingAddressesResult): any => ({ - ...obj, - }); -} - -export interface DescribeNatGatewaysRequest { - /** - *

                                                      The token for the next page of results.

                                                      - */ - NextToken?: string; - - /** - *

                                                      One or more filters.

                                                      - *
                                                        - *
                                                      • - *

                                                        - * nat-gateway-id - The ID of the NAT gateway.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * state - The state of the NAT gateway (pending | - * failed | available | deleting | deleted).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * subnet-id - The ID of the subnet in which the NAT gateway resides.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * vpc-id - The ID of the VPC in which the NAT gateway resides.

                                                        - *
                                                      • - *
                                                      - */ - Filter?: Filter[]; - - /** - *

                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                      - */ - DryRun?: boolean; - - /** - *

                                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      - */ - MaxResults?: number; - - /** - *

                                                      One or more NAT gateway IDs.

                                                      - */ - NatGatewayIds?: string[]; -} - -export namespace DescribeNatGatewaysRequest { - export const filterSensitiveLog = (obj: DescribeNatGatewaysRequest): any => ({ - ...obj, - }); -} - -export interface DescribeNatGatewaysResult { - /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      - */ - NextToken?: string; - - /** - *

                                                      Information about the NAT gateways.

                                                      - */ - NatGateways?: NatGateway[]; -} - -export namespace DescribeNatGatewaysResult { - export const filterSensitiveLog = (obj: DescribeNatGatewaysResult): any => ({ - ...obj, - }); -} - -export interface DescribeNetworkAclsRequest { - /** - *

                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                      - */ - DryRun?: boolean; - - /** - *

                                                      One or more network ACL IDs.

                                                      - *

                                                      Default: Describes all your network ACLs.

                                                      - */ - NetworkAclIds?: string[]; - - /** - *

                                                      One or more filters.

                                                      - *
                                                        - *
                                                      • - *

                                                        - * association.association-id - The ID of an association ID for the ACL.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * association.network-acl-id - The ID of the network ACL involved in the association.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * association.subnet-id - The ID of the subnet involved in the association.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * default - Indicates whether the ACL is the default network ACL for the VPC.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * entry.cidr - The IPv4 CIDR range specified in the entry.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * entry.icmp.code - The ICMP code specified in the entry, if any.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * entry.icmp.type - The ICMP type specified in the entry, if any.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * entry.port-range.from - The start of the port range specified in the entry.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * entry.port-range.to - The end of the port range specified in the entry.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * entry.rule-action - Allows or denies the matching traffic (allow | deny).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * entry.rule-number - The number of an entry (in other words, rule) in - * the set of ACL entries.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * network-acl-id - The ID of the network ACL.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * owner-id - The ID of the AWS account that owns the network ACL.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * vpc-id - The ID of the VPC for the network ACL.

                                                        - *
                                                      • - *
                                                      - */ - Filters?: Filter[]; - - /** - *

                                                      The token for the next page of results.

                                                      - */ - NextToken?: string; - - /** - *

                                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      - */ - MaxResults?: number; -} - -export namespace DescribeNetworkAclsRequest { - export const filterSensitiveLog = (obj: DescribeNetworkAclsRequest): any => ({ - ...obj, - }); -} - -export interface DescribeNetworkAclsResult { - /** - *

                                                      Information about one or more network ACLs.

                                                      - */ - NetworkAcls?: NetworkAcl[]; - - /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      - */ - NextToken?: string; -} - -export namespace DescribeNetworkAclsResult { - export const filterSensitiveLog = (obj: DescribeNetworkAclsResult): any => ({ - ...obj, - }); -} - -export type NetworkInterfaceAttribute = "attachment" | "description" | "groupSet" | "sourceDestCheck"; - -/** - *

                                                      Contains the parameters for DescribeNetworkInterfaceAttribute.

                                                      - */ -export interface DescribeNetworkInterfaceAttributeRequest { - /** - *

                                                      The ID of the network interface.

                                                      - */ - NetworkInterfaceId: string | undefined; - - /** - *

                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                      - */ - DryRun?: boolean; - - /** - *

                                                      The attribute of the network interface. This parameter is required.

                                                      - */ - Attribute?: NetworkInterfaceAttribute | string; -} - -export namespace DescribeNetworkInterfaceAttributeRequest { - export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                      Contains the output of DescribeNetworkInterfaceAttribute.

                                                      - */ -export interface DescribeNetworkInterfaceAttributeResult { - /** - *

                                                      The security groups associated with the network interface.

                                                      - */ - Groups?: GroupIdentifier[]; - - /** - *

                                                      The description of the network interface.

                                                      - */ - Description?: AttributeValue; - - /** - *

                                                      The attachment (if any) of the network interface.

                                                      - */ - Attachment?: NetworkInterfaceAttachment; - - /** - *

                                                      The ID of the network interface.

                                                      - */ - NetworkInterfaceId?: string; - - /** - *

                                                      Indicates whether source/destination checking is enabled.

                                                      - */ - SourceDestCheck?: AttributeBooleanValue; -} - -export namespace DescribeNetworkInterfaceAttributeResult { - export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeResult): any => ({ - ...obj, - }); -} - -/** - *

                                                      Contains the parameters for DescribeNetworkInterfacePermissions.

                                                      - */ -export interface DescribeNetworkInterfacePermissionsRequest { - /** - *

                                                      The maximum number of results to return in a single call. To retrieve the remaining results, - * make another call with the returned NextToken value. If this parameter is not specified, up to 50 results are returned by default.

                                                      - */ - MaxResults?: number; - - /** - *

                                                      The token to request the next page of results.

                                                      - */ - NextToken?: string; - - /** - *

                                                      One or more filters.

                                                      - *
                                                        - *
                                                      • - *

                                                        - * network-interface-permission.network-interface-permission-id - The ID of the - * permission.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * network-interface-permission.network-interface-id - The ID of - * the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * network-interface-permission.aws-account-id - The AWS account - * ID.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * network-interface-permission.aws-service - The AWS - * service.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * network-interface-permission.permission - The type of - * permission (INSTANCE-ATTACH | - * EIP-ASSOCIATE).

                                                        - *
                                                      • - *
                                                      - */ - Filters?: Filter[]; - - /** - *

                                                      One or more network interface permission IDs.

                                                      - */ - NetworkInterfacePermissionIds?: string[]; -} - -export namespace DescribeNetworkInterfacePermissionsRequest { - export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                      Contains the output for DescribeNetworkInterfacePermissions.

                                                      - */ -export interface DescribeNetworkInterfacePermissionsResult { - /** - *

                                                      The token to use to retrieve the next page of results.

                                                      - */ - NextToken?: string; - - /** - *

                                                      The network interface permissions.

                                                      - */ - NetworkInterfacePermissions?: NetworkInterfacePermission[]; -} - -export namespace DescribeNetworkInterfacePermissionsResult { - export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsResult): any => ({ - ...obj, - }); -} - -/** - *

                                                      Contains the parameters for DescribeNetworkInterfaces.

                                                      - */ -export interface DescribeNetworkInterfacesRequest { - /** - *

                                                      The token to retrieve the next page of results.

                                                      - */ - NextToken?: string; - - /** - *

                                                      One or more network interface IDs.

                                                      - *

                                                      Default: Describes all your network interfaces.

                                                      - */ - NetworkInterfaceIds?: string[]; - - /** - *

                                                      The maximum number of items to return for this request. The request returns a token that you - * can specify in a subsequent call to get the next set of results. You cannot specify this - * parameter and the network interface IDs parameter in the same request.

                                                      - */ - MaxResults?: number; - - /** - *

                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                      - */ - DryRun?: boolean; - - /** - *

                                                      One or more filters.

                                                      - *
                                                        - *
                                                      • - *

                                                        - * addresses.private-ip-address - The private IPv4 addresses - * associated with the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * addresses.primary - Whether the private IPv4 address is the primary - * IP address associated with the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * addresses.association.public-ip - The association ID returned when - * the network interface was associated with the Elastic IP address - * (IPv4).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * association.association-id - The association ID returned when the - * network interface was associated with an IPv4 address.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * association.allocation-id - The allocation ID returned when you - * allocated the Elastic IP address (IPv4) for your network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * association.ip-owner-id - The owner of the Elastic IP address - * (IPv4) associated with the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * association.public-ip - The address of the Elastic IP address - * (IPv4) bound to the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * association.public-dns-name - The public DNS name for the network - * interface (IPv4).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * attachment.attachment-id - The ID of the interface attachment.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * attachment.attach-time - The time that the network interface was attached to an instance.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * attachment.device-index - The device index to which the network interface is attached.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * attachment.instance-id - The ID of the instance to which the network interface is attached.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * attachment.status - The status of the attachment (attaching | attached | detaching | detached).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * availability-zone - The Availability Zone of the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * description - The description of the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * group-id - The ID of a security group associated with the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * group-name - The name of a security group associated with the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * ipv6-addresses.ipv6-address - An IPv6 address associated with - * the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * mac-address - The MAC address of the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * network-interface-id - The ID of the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * owner-id - The AWS account ID of the network interface owner.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * private-ip-address - The private IPv4 address or addresses of the - * network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * private-dns-name - The private DNS name of the network interface (IPv4).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * requester-managed - Indicates whether the network interface is being managed by an AWS service (for example, AWS Management Console, Auto Scaling, and so on).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * source-dest-check - Indicates whether the network interface performs source/destination checking. - * A value of true means checking is enabled, and false means checking is disabled. - * The value must be false for the network interface to perform network address translation (NAT) in your VPC.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * status - The status of the network interface. If the network interface is not attached to an instance, the status is available; - * if a network interface is attached to an instance the status is in-use.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * subnet-id - The ID of the subnet for the network interface.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * vpc-id - The ID of the VPC for the network interface.

                                                        - *
                                                      • - *
                                                      - */ - Filters?: Filter[]; -} - -export namespace DescribeNetworkInterfacesRequest { - export const filterSensitiveLog = (obj: DescribeNetworkInterfacesRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                      Contains the output of DescribeNetworkInterfaces.

                                                      - */ -export interface DescribeNetworkInterfacesResult { - /** - *

                                                      Information about one or more network interfaces.

                                                      - */ - NetworkInterfaces?: NetworkInterface[]; - - /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      - */ - NextToken?: string; -} - -export namespace DescribeNetworkInterfacesResult { - export const filterSensitiveLog = (obj: DescribeNetworkInterfacesResult): any => ({ - ...obj, - }); -} - -export interface DescribePlacementGroupsRequest { - /** - *

                                                      The IDs of the placement groups.

                                                      - */ - GroupIds?: string[]; - - /** - *

                                                      The names of the placement groups.

                                                      - *

                                                      Default: Describes all your placement groups, or only those otherwise - * specified.

                                                      - */ - GroupNames?: string[]; - - /** - *

                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                      - */ - DryRun?: boolean; - - /** - *

                                                      The filters.

                                                      - *
                                                        - *
                                                      • - *

                                                        - * group-name - The name of the placement group.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * state - The state of the placement group (pending | - * available | deleting | - * deleted).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * strategy - The strategy of the placement group - * (cluster | spread | - * partition).

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

                                                        - *
                                                      • - *
                                                      - */ - Filters?: Filter[]; -} - -export namespace DescribePlacementGroupsRequest { - export const filterSensitiveLog = (obj: DescribePlacementGroupsRequest): any => ({ - ...obj, - }); -} - -export interface DescribePlacementGroupsResult { - /** - *

                                                      Information about the placement groups.

                                                      - */ - PlacementGroups?: PlacementGroup[]; -} - -export namespace DescribePlacementGroupsResult { - export const filterSensitiveLog = (obj: DescribePlacementGroupsResult): any => ({ - ...obj, - }); -} diff --git a/clients/client-ec2/models/models_3.ts b/clients/client-ec2/models/models_3.ts index 82b267ff5e1f..c9a506dcb9d1 100644 --- a/clients/client-ec2/models/models_3.ts +++ b/clients/client-ec2/models/models_3.ts @@ -4,6 +4,7 @@ import { AllocationStrategy, AllowedPrincipal, AssociationStatus, + AttributeValue, BatchState, BlockDeviceMapping, CapacityReservationState, @@ -20,7 +21,6 @@ import { ResourceType, SpotInstanceType, Subnet, - SubnetAssociation, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, @@ -47,6 +47,12 @@ import { DnsNameState, GroupIdentifier, InstanceIpv6Address, + NatGateway, + NetworkAcl, + NetworkInterface, + NetworkInterfaceAttachment, + NetworkInterfacePermission, + PlacementGroup, ResponseLaunchTemplateData, RouteTable, ServiceConfiguration, @@ -79,83 +85,34 @@ import { } from "./models_2"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; -export interface DescribePrefixListsRequest { - /** - *

                                                      The token for the next page of results.

                                                      - */ - NextToken?: string; - - /** - *

                                                      One or more filters.

                                                      - *
                                                        - *
                                                      • - *

                                                        - * prefix-list-id: The ID of a prefix list.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * prefix-list-name: The name of a prefix list.

                                                        - *
                                                      • - *
                                                      - */ - Filters?: Filter[]; - - /** - *

                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                      - */ - DryRun?: boolean; - - /** - *

                                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      - */ - MaxResults?: number; - - /** - *

                                                      One or more prefix list IDs.

                                                      - */ - PrefixListIds?: string[]; -} - -export namespace DescribePrefixListsRequest { - export const filterSensitiveLog = (obj: DescribePrefixListsRequest): any => ({ - ...obj, - }); -} +export type MoveStatus = "movingToVpc" | "restoringToClassic"; /** - *

                                                      Describes prefixes for AWS services.

                                                      + *

                                                      Describes the status of a moving Elastic IP address.

                                                      */ -export interface PrefixList { - /** - *

                                                      The IP address range of the AWS service.

                                                      - */ - Cidrs?: string[]; - +export interface MovingAddressStatus { /** - *

                                                      The ID of the prefix.

                                                      + *

                                                      The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

                                                      */ - PrefixListId?: string; + MoveStatus?: MoveStatus | string; /** - *

                                                      The name of the prefix.

                                                      + *

                                                      The Elastic IP address.

                                                      */ - PrefixListName?: string; + PublicIp?: string; } -export namespace PrefixList { - export const filterSensitiveLog = (obj: PrefixList): any => ({ +export namespace MovingAddressStatus { + export const filterSensitiveLog = (obj: MovingAddressStatus): any => ({ ...obj, }); } -export interface DescribePrefixListsResult { +export interface DescribeMovingAddressesResult { /** - *

                                                      All available prefix lists.

                                                      + *

                                                      The status for each Elastic IP address.

                                                      */ - PrefixLists?: PrefixList[]; + MovingAddressStatuses?: MovingAddressStatus[]; /** *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      @@ -163,404 +120,618 @@ export interface DescribePrefixListsResult { NextToken?: string; } -export namespace DescribePrefixListsResult { - export const filterSensitiveLog = (obj: DescribePrefixListsResult): any => ({ +export namespace DescribeMovingAddressesResult { + export const filterSensitiveLog = (obj: DescribeMovingAddressesResult): any => ({ ...obj, }); } -export interface DescribePrincipalIdFormatRequest { +export interface DescribeNatGatewaysRequest { /** - *

                                                      The token to request the next page of results.

                                                      + *

                                                      The token for the next page of results.

                                                      */ NextToken?: string; /** - *

                                                      The type of resource: bundle | - * conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | instance | internet-gateway | - * network-acl | network-acl-association | - * network-interface | network-interface-attachment | - * prefix-list | reservation | route-table | - * route-table-association | security-group | - * snapshot | subnet | - * subnet-cidr-block-association | volume | vpc - * | vpc-cidr-block-association | vpc-endpoint | - * vpc-peering-connection | vpn-connection | vpn-gateway - *

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - Resources?: string[]; + DryRun?: boolean; /** - *

                                                      The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value.

                                                      + *

                                                      One or more NAT gateway IDs.

                                                      + */ + NatGatewayIds?: string[]; + + /** + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ MaxResults?: number; /** - *

                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                      + *

                                                      One or more filters.

                                                      + *
                                                        + *
                                                      • + *

                                                        + * nat-gateway-id - The ID of the NAT gateway.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * state - The state of the NAT gateway (pending | + * failed | available | deleting | deleted).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * subnet-id - The ID of the subnet in which the NAT gateway resides.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * vpc-id - The ID of the VPC in which the NAT gateway resides.

                                                        + *
                                                      • + *
                                                      */ - DryRun?: boolean; + Filter?: Filter[]; } -export namespace DescribePrincipalIdFormatRequest { - export const filterSensitiveLog = (obj: DescribePrincipalIdFormatRequest): any => ({ +export namespace DescribeNatGatewaysRequest { + export const filterSensitiveLog = (obj: DescribeNatGatewaysRequest): any => ({ ...obj, }); } -/** - *

                                                      PrincipalIdFormat description

                                                      - */ -export interface PrincipalIdFormat { +export interface DescribeNatGatewaysResult { /** - *

                                                      PrincipalIdFormatARN description

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - Arn?: string; + NextToken?: string; /** - *

                                                      PrincipalIdFormatStatuses description

                                                      + *

                                                      Information about the NAT gateways.

                                                      */ - Statuses?: IdFormat[]; + NatGateways?: NatGateway[]; } -export namespace PrincipalIdFormat { - export const filterSensitiveLog = (obj: PrincipalIdFormat): any => ({ +export namespace DescribeNatGatewaysResult { + export const filterSensitiveLog = (obj: DescribeNatGatewaysResult): any => ({ ...obj, }); } -export interface DescribePrincipalIdFormatResult { +export interface DescribeNetworkAclsRequest { /** - *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      + *

                                                      The token for the next page of results.

                                                      */ NextToken?: string; /** - *

                                                      Information about the ID format settings for the ARN.

                                                      + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - Principals?: PrincipalIdFormat[]; -} - -export namespace DescribePrincipalIdFormatResult { - export const filterSensitiveLog = (obj: DescribePrincipalIdFormatResult): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface DescribePublicIpv4PoolsRequest { /** - *

                                                      The IDs of the address pools.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - PoolIds?: string[]; + DryRun?: boolean; /** *

                                                      One or more filters.

                                                      - *
                                                        + *
                                                          *
                                                        • - *

                                                          + *

                                                          + * association.association-id - The ID of an association ID for the ACL.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * association.network-acl-id - The ID of the network ACL involved in the association.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * association.subnet-id - The ID of the subnet involved in the association.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * default - Indicates whether the ACL is the default network ACL for the VPC.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * entry.cidr - The IPv4 CIDR range specified in the entry.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * entry.icmp.code - The ICMP code specified in the entry, if any.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * entry.icmp.type - The ICMP type specified in the entry, if any.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * entry.port-range.from - The start of the port range specified in the entry.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * entry.port-range.to - The end of the port range specified in the entry.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * entry.rule-action - Allows or denies the matching traffic (allow | deny).

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * entry.rule-number - The number of an entry (in other words, rule) in + * the set of ACL entries.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * network-acl-id - The ID of the network ACL.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * owner-id - The ID of the AWS account that owns the network ACL.

                                                          + *
                                                        • + *
                                                        • + *

                                                          * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                          - *
                                                        • + * *
                                                        • - *

                                                          + *

                                                          * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                          - *
                                                        • + * + *
                                                        • + *

                                                          + * vpc-id - The ID of the VPC for the network ACL.

                                                          + *
                                                        • *
                                                        */ Filters?: Filter[]; /** - *

                                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        + *

                                                        One or more network ACL IDs.

                                                        + *

                                                        Default: Describes all your network ACLs.

                                                        */ - MaxResults?: number; + NetworkAclIds?: string[]; +} + +export namespace DescribeNetworkAclsRequest { + export const filterSensitiveLog = (obj: DescribeNetworkAclsRequest): any => ({ + ...obj, + }); +} +export interface DescribeNetworkAclsResult { /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        Information about one or more network ACLs.

                                                        + */ + NetworkAcls?: NetworkAcl[]; + + /** + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        */ NextToken?: string; } -export namespace DescribePublicIpv4PoolsRequest { - export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsRequest): any => ({ +export namespace DescribeNetworkAclsResult { + export const filterSensitiveLog = (obj: DescribeNetworkAclsResult): any => ({ ...obj, }); } +export type NetworkInterfaceAttribute = "attachment" | "description" | "groupSet" | "sourceDestCheck"; + /** - *

                                                        Describes an address range of an IPv4 address pool.

                                                        + *

                                                        Contains the parameters for DescribeNetworkInterfaceAttribute.

                                                        */ -export interface PublicIpv4PoolRange { - /** - *

                                                        The last IP address in the range.

                                                        - */ - LastAddress?: string; - +export interface DescribeNetworkInterfaceAttributeRequest { /** - *

                                                        The number of available addresses in the range.

                                                        + *

                                                        The ID of the network interface.

                                                        */ - AvailableAddressCount?: number; + NetworkInterfaceId: string | undefined; /** - *

                                                        The first IP address in the range.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        */ - FirstAddress?: string; + DryRun?: boolean; /** - *

                                                        The number of addresses in the range.

                                                        + *

                                                        The attribute of the network interface. This parameter is required.

                                                        */ - AddressCount?: number; + Attribute?: NetworkInterfaceAttribute | string; } -export namespace PublicIpv4PoolRange { - export const filterSensitiveLog = (obj: PublicIpv4PoolRange): any => ({ +export namespace DescribeNetworkInterfaceAttributeRequest { + export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeRequest): any => ({ ...obj, }); } /** - *

                                                        Describes an IPv4 address pool.

                                                        + *

                                                        Contains the output of DescribeNetworkInterfaceAttribute.

                                                        */ -export interface PublicIpv4Pool { +export interface DescribeNetworkInterfaceAttributeResult { /** - *

                                                        The name of the location from which the address pool is advertised. A network border group is a unique set of Availability Zones or Local Zones from where AWS advertises public IP addresses.

                                                        + *

                                                        The security groups associated with the network interface.

                                                        */ - NetworkBorderGroup?: string; + Groups?: GroupIdentifier[]; /** - *

                                                        The total number of addresses.

                                                        + *

                                                        The description of the network interface.

                                                        */ - TotalAddressCount?: number; - - /** - *

                                                        The ID of the address pool.

                                                        - */ - PoolId?: string; - - /** - *

                                                        The total number of available addresses.

                                                        - */ - TotalAvailableAddressCount?: number; + Description?: AttributeValue; /** - *

                                                        A description of the address pool.

                                                        + *

                                                        Indicates whether source/destination checking is enabled.

                                                        */ - Description?: string; + SourceDestCheck?: AttributeBooleanValue; /** - *

                                                        The address ranges.

                                                        + *

                                                        The ID of the network interface.

                                                        */ - PoolAddressRanges?: PublicIpv4PoolRange[]; + NetworkInterfaceId?: string; /** - *

                                                        Any tags for the address pool.

                                                        + *

                                                        The attachment (if any) of the network interface.

                                                        */ - Tags?: Tag[]; + Attachment?: NetworkInterfaceAttachment; } -export namespace PublicIpv4Pool { - export const filterSensitiveLog = (obj: PublicIpv4Pool): any => ({ +export namespace DescribeNetworkInterfaceAttributeResult { + export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeResult): any => ({ ...obj, }); } -export interface DescribePublicIpv4PoolsResult { +/** + *

                                                        Contains the parameters for DescribeNetworkInterfacePermissions.

                                                        + */ +export interface DescribeNetworkInterfacePermissionsRequest { /** - *

                                                        Information about the address pools.

                                                        + *

                                                        One or more filters.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * network-interface-permission.network-interface-permission-id - The ID of the + * permission.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * network-interface-permission.network-interface-id - The ID of + * the network interface.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * network-interface-permission.aws-account-id - The AWS account + * ID.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * network-interface-permission.aws-service - The AWS + * service.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * network-interface-permission.permission - The type of + * permission (INSTANCE-ATTACH | + * EIP-ASSOCIATE).

                                                          + *
                                                        • + *
                                                        */ - PublicIpv4Pools?: PublicIpv4Pool[]; + Filters?: Filter[]; /** - *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        + *

                                                        One or more network interface permission IDs.

                                                        + */ + NetworkInterfacePermissionIds?: string[]; + + /** + *

                                                        The token to request the next page of results.

                                                        */ NextToken?: string; + + /** + *

                                                        The maximum number of results to return in a single call. To retrieve the remaining results, + * make another call with the returned NextToken value. If this parameter is not specified, up to 50 results are returned by default.

                                                        + */ + MaxResults?: number; } -export namespace DescribePublicIpv4PoolsResult { - export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsResult): any => ({ +export namespace DescribeNetworkInterfacePermissionsRequest { + export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsRequest): any => ({ ...obj, }); } -export interface DescribeRegionsRequest { +/** + *

                                                        Contains the output for DescribeNetworkInterfacePermissions.

                                                        + */ +export interface DescribeNetworkInterfacePermissionsResult { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + *

                                                        The token to use to retrieve the next page of results.

                                                        */ - DryRun?: boolean; + NextToken?: string; /** - *

                                                        The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

                                                        + *

                                                        The network interface permissions.

                                                        */ - RegionNames?: string[]; + NetworkInterfacePermissions?: NetworkInterfacePermission[]; +} - /** - *

                                                        Indicates whether to display all Regions, including Regions that are disabled for your account.

                                                        - */ - AllRegions?: boolean; +export namespace DescribeNetworkInterfacePermissionsResult { + export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsResult): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains the parameters for DescribeNetworkInterfaces.

                                                        + */ +export interface DescribeNetworkInterfacesRequest { /** - *

                                                        The filters.

                                                        - *
                                                          + *

                                                          One or more filters.

                                                          + *
                                                            *
                                                          • - *

                                                            - * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

                                                            - *
                                                          • + *

                                                            + * addresses.private-ip-address - The private IPv4 addresses + * associated with the network interface.

                                                            + * *
                                                          • - *

                                                            - * opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | - * not-opted-in).

                                                            - *
                                                          • + *

                                                            + * addresses.primary - Whether the private IPv4 address is the primary + * IP address associated with the network interface.

                                                            + * *
                                                          • - *

                                                            - * region-name - The name of the Region (for example, us-east-1).

                                                            - *
                                                          • + *

                                                            + * addresses.association.public-ip - The association ID returned when + * the network interface was associated with the Elastic IP address + * (IPv4).

                                                            + * + *
                                                          • + *

                                                            + * addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * association.association-id - The association ID returned when the + * network interface was associated with an IPv4 address.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * association.allocation-id - The allocation ID returned when you + * allocated the Elastic IP address (IPv4) for your network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * association.ip-owner-id - The owner of the Elastic IP address + * (IPv4) associated with the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * association.public-ip - The address of the Elastic IP address + * (IPv4) bound to the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * association.public-dns-name - The public DNS name for the network + * interface (IPv4).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * attachment.attachment-id - The ID of the interface attachment.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * attachment.attach-time - The time that the network interface was attached to an instance.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * attachment.device-index - The device index to which the network interface is attached.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * attachment.instance-id - The ID of the instance to which the network interface is attached.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * attachment.status - The status of the attachment (attaching | attached | detaching | detached).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * availability-zone - The Availability Zone of the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * description - The description of the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * group-id - The ID of a security group associated with the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * group-name - The name of a security group associated with the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ipv6-addresses.ipv6-address - An IPv6 address associated with + * the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * mac-address - The MAC address of the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-interface-id - The ID of the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * owner-id - The AWS account ID of the network interface owner.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * private-ip-address - The private IPv4 address or addresses of the + * network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * private-dns-name - The private DNS name of the network interface (IPv4).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * requester-managed - Indicates whether the network interface is being managed by an AWS service (for example, AWS Management Console, Auto Scaling, and so on).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * source-dest-check - Indicates whether the network interface performs source/destination checking. + * A value of true means checking is enabled, and false means checking is disabled. + * The value must be false for the network interface to perform network address translation (NAT) in your VPC.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * status - The status of the network interface. If the network interface is not attached to an instance, the status is available; + * if a network interface is attached to an instance the status is in-use.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * subnet-id - The ID of the subnet for the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * vpc-id - The ID of the VPC for the network interface.

                                                            + *
                                                          • *
                                                          */ Filters?: Filter[]; -} -export namespace DescribeRegionsRequest { - export const filterSensitiveLog = (obj: DescribeRegionsRequest): any => ({ - ...obj, - }); -} + /** + *

                                                          The maximum number of items to return for this request. The request returns a token that you + * can specify in a subsequent call to get the next set of results. You cannot specify this + * parameter and the network interface IDs parameter in the same request.

                                                          + */ + MaxResults?: number; -/** - *

                                                          Describes a Region.

                                                          - */ -export interface Region { /** - *

                                                          The Region opt-in status. The possible values are opt-in-not-required, opted-in, and - * not-opted-in.

                                                          + *

                                                          The token to retrieve the next page of results.

                                                          */ - OptInStatus?: string; + NextToken?: string; /** - *

                                                          The name of the Region.

                                                          + *

                                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                          */ - RegionName?: string; + DryRun?: boolean; /** - *

                                                          The Region service endpoint.

                                                          + *

                                                          One or more network interface IDs.

                                                          + *

                                                          Default: Describes all your network interfaces.

                                                          */ - Endpoint?: string; + NetworkInterfaceIds?: string[]; } -export namespace Region { - export const filterSensitiveLog = (obj: Region): any => ({ +export namespace DescribeNetworkInterfacesRequest { + export const filterSensitiveLog = (obj: DescribeNetworkInterfacesRequest): any => ({ ...obj, }); } -export interface DescribeRegionsResult { +/** + *

                                                          Contains the output of DescribeNetworkInterfaces.

                                                          + */ +export interface DescribeNetworkInterfacesResult { /** - *

                                                          Information about the Regions.

                                                          + *

                                                          Information about one or more network interfaces.

                                                          */ - Regions?: Region[]; + NetworkInterfaces?: NetworkInterface[]; + + /** + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + */ + NextToken?: string; } -export namespace DescribeRegionsResult { - export const filterSensitiveLog = (obj: DescribeRegionsResult): any => ({ +export namespace DescribeNetworkInterfacesResult { + export const filterSensitiveLog = (obj: DescribeNetworkInterfacesResult): any => ({ ...obj, }); } -export enum OfferingClassType { - CONVERTIBLE = "convertible", - STANDARD = "standard", -} - -export type OfferingTypeValues = - | "All Upfront" - | "Heavy Utilization" - | "Light Utilization" - | "Medium Utilization" - | "No Upfront" - | "Partial Upfront"; - -/** - *

                                                          Contains the parameters for DescribeReservedInstances.

                                                          - */ -export interface DescribeReservedInstancesRequest { +export interface DescribePlacementGroupsRequest { /** - *

                                                          One or more Reserved Instance IDs.

                                                          - *

                                                          Default: Describes all your Reserved Instances, or only those otherwise specified.

                                                          + *

                                                          The IDs of the placement groups.

                                                          */ - ReservedInstancesIds?: string[]; - - /** - *

                                                          The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API - * version, you only have access to the Medium Utilization Reserved Instance - * offering type.

                                                          - */ - OfferingType?: OfferingTypeValues | string; + GroupIds?: string[]; /** *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                          */ DryRun?: boolean; /** - *

                                                          One or more filters.

                                                          - *
                                                            - *
                                                          • - *

                                                            - * availability-zone - The Availability Zone where the Reserved Instance can be used.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * instance-type - The instance type that is covered by the reservation.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * scope - The scope of the Reserved Instance (Region or Availability Zone).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * product-description - The Reserved Instance product platform description. - * Instances that include (Amazon VPC) in the product platform description will - * only be displayed to EC2-Classic account holders and are for use with Amazon VPC - * (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE - * Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise - * Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows - * | Windows (Amazon VPC) | Windows with SQL Server Standard | - * Windows with SQL Server Standard (Amazon VPC) | Windows with SQL - * Server Web | Windows with SQL Server Web (Amazon VPC) | - * Windows with SQL Server Enterprise | Windows with SQL Server - * Enterprise (Amazon VPC)).

                                                            - *
                                                          • + *

                                                            The filters.

                                                            + *
                                                              *
                                                            • - *

                                                              - * reserved-instances-id - The ID of the Reserved Instance.

                                                              + *

                                                              + * group-name - The name of the placement group.

                                                              *
                                                            • *
                                                            • - *

                                                              - * start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

                                                              + *

                                                              + * state - The state of the placement group (pending | + * available | deleting | + * deleted).

                                                              *
                                                            • *
                                                            • - *

                                                              - * state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

                                                              + *

                                                              + * strategy - The strategy of the placement group + * (cluster | spread | + * partition).

                                                              *
                                                            • *
                                                            • *

                                                              @@ -569,694 +740,618 @@ export interface DescribeReservedInstancesRequest { *

                                                            • *
                                                            • *

                                                              - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

                                                              + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

                                                              *
                                                            • *
                                                            */ Filters?: Filter[]; /** - *

                                                            Describes whether the Reserved Instance is Standard or Convertible.

                                                            + *

                                                            The names of the placement groups.

                                                            + *

                                                            Default: Describes all your placement groups, or only those otherwise + * specified.

                                                            */ - OfferingClass?: OfferingClassType | string; + GroupNames?: string[]; } -export namespace DescribeReservedInstancesRequest { - export const filterSensitiveLog = (obj: DescribeReservedInstancesRequest): any => ({ +export namespace DescribePlacementGroupsRequest { + export const filterSensitiveLog = (obj: DescribePlacementGroupsRequest): any => ({ ...obj, }); } -export type RIProductDescription = "Linux/UNIX" | "Linux/UNIX (Amazon VPC)" | "Windows" | "Windows (Amazon VPC)"; - -export type RecurringChargeFrequency = "Hourly"; - -/** - *

                                                            Describes a recurring charge.

                                                            - */ -export interface RecurringCharge { - /** - *

                                                            The frequency of the recurring charge.

                                                            - */ - Frequency?: RecurringChargeFrequency | string; - +export interface DescribePlacementGroupsResult { /** - *

                                                            The amount of the recurring charge.

                                                            + *

                                                            Information about the placement groups.

                                                            */ - Amount?: number; + PlacementGroups?: PlacementGroup[]; } -export namespace RecurringCharge { - export const filterSensitiveLog = (obj: RecurringCharge): any => ({ +export namespace DescribePlacementGroupsResult { + export const filterSensitiveLog = (obj: DescribePlacementGroupsResult): any => ({ ...obj, }); } -export enum Scope { - AVAILABILITY_ZONE = "Availability Zone", - REGIONAL = "Region", -} - -export type ReservedInstanceState = - | "active" - | "payment-failed" - | "payment-pending" - | "queued" - | "queued-deleted" - | "retired"; - -/** - *

                                                            Describes a Reserved Instance.

                                                            - */ -export interface ReservedInstances { - /** - *

                                                            The tenancy of the instance.

                                                            - */ - InstanceTenancy?: Tenancy | string; - +export interface DescribePrefixListsRequest { /** - *

                                                            Any tags assigned to the resource.

                                                            + *

                                                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                            */ - Tags?: Tag[]; + DryRun?: boolean; /** - *

                                                            The Availability Zone in which the Reserved Instance can be used.

                                                            + *

                                                            One or more prefix list IDs.

                                                            */ - AvailabilityZone?: string; + PrefixListIds?: string[]; /** - *

                                                            The state of the Reserved Instance purchase.

                                                            + *

                                                            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                            */ - State?: ReservedInstanceState | string; + MaxResults?: number; /** - *

                                                            The usage price of the Reserved Instance, per hour.

                                                            + *

                                                            One or more filters.

                                                            + *
                                                              + *
                                                            • + *

                                                              + * prefix-list-id: The ID of a prefix list.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * prefix-list-name: The name of a prefix list.

                                                              + *
                                                            • + *
                                                            */ - UsagePrice?: number; + Filters?: Filter[]; /** - *

                                                            The ID of the Reserved Instance.

                                                            + *

                                                            The token for the next page of results.

                                                            */ - ReservedInstancesId?: string; + NextToken?: string; +} - /** - *

                                                            The duration of the Reserved Instance, in seconds.

                                                            - */ - Duration?: number; +export namespace DescribePrefixListsRequest { + export const filterSensitiveLog = (obj: DescribePrefixListsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                            Describes prefixes for AWS services.

                                                            + */ +export interface PrefixList { /** - *

                                                            The scope of the Reserved Instance.

                                                            + *

                                                            The IP address range of the AWS service.

                                                            */ - Scope?: Scope | string; + Cidrs?: string[]; /** - *

                                                            The time when the Reserved Instance expires.

                                                            + *

                                                            The name of the prefix.

                                                            */ - End?: Date; + PrefixListName?: string; /** - *

                                                            The offering class of the Reserved Instance.

                                                            + *

                                                            The ID of the prefix.

                                                            */ - OfferingClass?: OfferingClassType | string; + PrefixListId?: string; +} - /** - *

                                                            The date and time the Reserved Instance started.

                                                            - */ - Start?: Date; +export namespace PrefixList { + export const filterSensitiveLog = (obj: PrefixList): any => ({ + ...obj, + }); +} +export interface DescribePrefixListsResult { /** - *

                                                            The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. - * At this time, the only supported currency is USD.

                                                            + *

                                                            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                            */ - CurrencyCode?: CurrencyCodeValues | string; + NextToken?: string; /** - *

                                                            The Reserved Instance offering type.

                                                            + *

                                                            All available prefix lists.

                                                            */ - OfferingType?: OfferingTypeValues | string; + PrefixLists?: PrefixList[]; +} - /** - *

                                                            The recurring charge tag assigned to the resource.

                                                            - */ - RecurringCharges?: RecurringCharge[]; +export namespace DescribePrefixListsResult { + export const filterSensitiveLog = (obj: DescribePrefixListsResult): any => ({ + ...obj, + }); +} +export interface DescribePrincipalIdFormatRequest { /** - *

                                                            The purchase price of the Reserved Instance.

                                                            + *

                                                            The type of resource: bundle | + * conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | instance | internet-gateway | + * network-acl | network-acl-association | + * network-interface | network-interface-attachment | + * prefix-list | reservation | route-table | + * route-table-association | security-group | + * snapshot | subnet | + * subnet-cidr-block-association | volume | vpc + * | vpc-cidr-block-association | vpc-endpoint | + * vpc-peering-connection | vpn-connection | vpn-gateway + *

                                                            */ - FixedPrice?: number; + Resources?: string[]; /** - *

                                                            The Reserved Instance product platform description.

                                                            + *

                                                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                            */ - ProductDescription?: RIProductDescription | string; + DryRun?: boolean; /** - *

                                                            The number of reservations purchased.

                                                            + *

                                                            The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value.

                                                            */ - InstanceCount?: number; + MaxResults?: number; /** - *

                                                            The instance type on which the Reserved Instance can be used.

                                                            + *

                                                            The token to request the next page of results.

                                                            */ - InstanceType?: _InstanceType | string; + NextToken?: string; } -export namespace ReservedInstances { - export const filterSensitiveLog = (obj: ReservedInstances): any => ({ +export namespace DescribePrincipalIdFormatRequest { + export const filterSensitiveLog = (obj: DescribePrincipalIdFormatRequest): any => ({ ...obj, }); } /** - *

                                                            Contains the output for DescribeReservedInstances.

                                                            + *

                                                            PrincipalIdFormat description

                                                            */ -export interface DescribeReservedInstancesResult { +export interface PrincipalIdFormat { /** - *

                                                            A list of Reserved Instances.

                                                            + *

                                                            PrincipalIdFormatARN description

                                                            */ - ReservedInstances?: ReservedInstances[]; + Arn?: string; + + /** + *

                                                            PrincipalIdFormatStatuses description

                                                            + */ + Statuses?: IdFormat[]; } -export namespace DescribeReservedInstancesResult { - export const filterSensitiveLog = (obj: DescribeReservedInstancesResult): any => ({ +export namespace PrincipalIdFormat { + export const filterSensitiveLog = (obj: PrincipalIdFormat): any => ({ ...obj, }); } -/** - *

                                                            Contains the parameters for DescribeReservedInstancesListings.

                                                            - */ -export interface DescribeReservedInstancesListingsRequest { +export interface DescribePrincipalIdFormatResult { /** - *

                                                            One or more Reserved Instance listing IDs.

                                                            - */ - ReservedInstancesListingId?: string; - - /** - *

                                                            One or more filters.

                                                            - *
                                                              - *
                                                            • - *

                                                              - * reserved-instances-id - The ID of the Reserved Instances.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * reserved-instances-listing-id - The ID of the Reserved Instances listing.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * status - The status of the Reserved Instance listing (pending | active | - * cancelled | closed).

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * status-message - The reason for the status.

                                                              - *
                                                            • - *
                                                            + *

                                                            Information about the ID format settings for the ARN.

                                                            */ - Filters?: Filter[]; + Principals?: PrincipalIdFormat[]; /** - *

                                                            One or more Reserved Instance IDs.

                                                            + *

                                                            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                            */ - ReservedInstancesId?: string; + NextToken?: string; } -export namespace DescribeReservedInstancesListingsRequest { - export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsRequest): any => ({ +export namespace DescribePrincipalIdFormatResult { + export const filterSensitiveLog = (obj: DescribePrincipalIdFormatResult): any => ({ ...obj, }); } -/** - *

                                                            Contains the output of DescribeReservedInstancesListings.

                                                            - */ -export interface DescribeReservedInstancesListingsResult { +export interface DescribePublicIpv4PoolsRequest { /** - *

                                                            Information about the Reserved Instance listing.

                                                            + *

                                                            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                            */ - ReservedInstancesListings?: ReservedInstancesListing[]; -} + MaxResults?: number; -export namespace DescribeReservedInstancesListingsResult { - export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsResult): any => ({ - ...obj, - }); -} + /** + *

                                                            The IDs of the address pools.

                                                            + */ + PoolIds?: string[]; -/** - *

                                                            Contains the parameters for DescribeReservedInstancesModifications.

                                                            - */ -export interface DescribeReservedInstancesModificationsRequest { /** *

                                                            One or more filters.

                                                            - *
                                                              - *
                                                            • - *

                                                              - * client-token - The idempotency token for the modification request.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * create-date - The time when the modification request was created.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * effective-date - The time when the modification becomes effective.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * modification-result.target-configuration.instance-count - The number of new Reserved Instances.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * reserved-instances-id - The ID of the Reserved Instances modified.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * reserved-instances-modification-id - The ID of the modification request.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * status - The status of the Reserved Instances modification request - * (processing | fulfilled | failed).

                                                              - *
                                                            • + *
                                                                *
                                                              • - *

                                                                - * status-message - The reason for the status.

                                                                + *

                                                                + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                *
                                                              • *
                                                              • - *

                                                                - * update-date - The time when the modification request was last updated.

                                                                + *

                                                                + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                *
                                                              • *
                                                              */ Filters?: Filter[]; /** - *

                                                              IDs for the submitted modification request.

                                                              - */ - ReservedInstancesModificationIds?: string[]; - - /** - *

                                                              The token to retrieve the next page of results.

                                                              + *

                                                              The token for the next page of results.

                                                              */ NextToken?: string; } -export namespace DescribeReservedInstancesModificationsRequest { - export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsRequest): any => ({ +export namespace DescribePublicIpv4PoolsRequest { + export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsRequest): any => ({ ...obj, }); } /** - *

                                                              Describes the configuration settings for the modified Reserved Instances.

                                                              + *

                                                              Describes an address range of an IPv4 address pool.

                                                              */ -export interface ReservedInstancesConfiguration { - /** - *

                                                              The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

                                                              - */ - Platform?: string; - - /** - *

                                                              The instance type for the modified Reserved Instances.

                                                              - */ - InstanceType?: _InstanceType | string; - - /** - *

                                                              Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

                                                              - */ - Scope?: Scope | string; - - /** - *

                                                              The number of modified Reserved Instances.

                                                              - * - *

                                                              This is a required field for a request.

                                                              - *
                                                              - */ - InstanceCount?: number; - +export interface PublicIpv4PoolRange { /** - *

                                                              The Availability Zone for the modified Reserved Instances.

                                                              + *

                                                              The last IP address in the range.

                                                              */ - AvailabilityZone?: string; -} - -export namespace ReservedInstancesConfiguration { - export const filterSensitiveLog = (obj: ReservedInstancesConfiguration): any => ({ - ...obj, - }); -} + LastAddress?: string; -/** - *

                                                              Describes the modification request/s.

                                                              - */ -export interface ReservedInstancesModificationResult { /** - *

                                                              The target Reserved Instances configurations supplied as part of the modification request.

                                                              + *

                                                              The number of addresses in the range.

                                                              */ - TargetConfiguration?: ReservedInstancesConfiguration; + AddressCount?: number; /** - *

                                                              The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

                                                              + *

                                                              The first IP address in the range.

                                                              */ - ReservedInstancesId?: string; -} - -export namespace ReservedInstancesModificationResult { - export const filterSensitiveLog = (obj: ReservedInstancesModificationResult): any => ({ - ...obj, - }); -} + FirstAddress?: string; -/** - *

                                                              Describes the ID of a Reserved Instance.

                                                              - */ -export interface ReservedInstancesId { /** - *

                                                              The ID of the Reserved Instance.

                                                              + *

                                                              The number of available addresses in the range.

                                                              */ - ReservedInstancesId?: string; + AvailableAddressCount?: number; } -export namespace ReservedInstancesId { - export const filterSensitiveLog = (obj: ReservedInstancesId): any => ({ +export namespace PublicIpv4PoolRange { + export const filterSensitiveLog = (obj: PublicIpv4PoolRange): any => ({ ...obj, }); } /** - *

                                                              Describes a Reserved Instance modification.

                                                              + *

                                                              Describes an IPv4 address pool.

                                                              */ -export interface ReservedInstancesModification { - /** - *

                                                              The IDs of one or more Reserved Instances.

                                                              - */ - ReservedInstancesIds?: ReservedInstancesId[]; - - /** - *

                                                              The status of the Reserved Instances modification request.

                                                              - */ - Status?: string; - +export interface PublicIpv4Pool { /** - *

                                                              A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. - * For more information, see Ensuring - * Idempotency.

                                                              + *

                                                              The name of the location from which the address pool is advertised. A network border group is a unique set of Availability Zones or Local Zones from where AWS advertises public IP addresses.

                                                              */ - ClientToken?: string; + NetworkBorderGroup?: string; /** - *

                                                              Contains target configurations along with their corresponding new Reserved Instance IDs.

                                                              + *

                                                              Any tags for the address pool.

                                                              */ - ModificationResults?: ReservedInstancesModificationResult[]; + Tags?: Tag[]; /** - *

                                                              The time for the modification to become effective.

                                                              + *

                                                              The address ranges.

                                                              */ - EffectiveDate?: Date; + PoolAddressRanges?: PublicIpv4PoolRange[]; /** - *

                                                              The reason for the status.

                                                              + *

                                                              The total number of available addresses.

                                                              */ - StatusMessage?: string; + TotalAvailableAddressCount?: number; /** - *

                                                              The time when the modification request was created.

                                                              + *

                                                              A description of the address pool.

                                                              */ - CreateDate?: Date; + Description?: string; /** - *

                                                              A unique ID for the Reserved Instance modification.

                                                              + *

                                                              The total number of addresses.

                                                              */ - ReservedInstancesModificationId?: string; + TotalAddressCount?: number; /** - *

                                                              The time when the modification request was last updated.

                                                              + *

                                                              The ID of the address pool.

                                                              */ - UpdateDate?: Date; + PoolId?: string; } -export namespace ReservedInstancesModification { - export const filterSensitiveLog = (obj: ReservedInstancesModification): any => ({ +export namespace PublicIpv4Pool { + export const filterSensitiveLog = (obj: PublicIpv4Pool): any => ({ ...obj, }); } -/** - *

                                                              Contains the output of DescribeReservedInstancesModifications.

                                                              - */ -export interface DescribeReservedInstancesModificationsResult { +export interface DescribePublicIpv4PoolsResult { /** - *

                                                              The Reserved Instance modification information.

                                                              + *

                                                              Information about the address pools.

                                                              */ - ReservedInstancesModifications?: ReservedInstancesModification[]; + PublicIpv4Pools?: PublicIpv4Pool[]; /** - *

                                                              The token to use to retrieve the next page of results. This value is null when - * there are no more results to return.

                                                              + *

                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                              */ NextToken?: string; } -export namespace DescribeReservedInstancesModificationsResult { - export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsResult): any => ({ +export namespace DescribePublicIpv4PoolsResult { + export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsResult): any => ({ ...obj, }); } -/** - *

                                                              Contains the parameters for DescribeReservedInstancesOfferings.

                                                              - */ -export interface DescribeReservedInstancesOfferingsRequest { +export interface DescribeRegionsRequest { /** - *

                                                              The offering class of the Reserved Instance. Can be standard or convertible.

                                                              + *

                                                              The filters.

                                                              + *
                                                                + *
                                                              • + *

                                                                + * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | + * not-opted-in).

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * region-name - The name of the Region (for example, us-east-1).

                                                                + *
                                                              • + *
                                                              */ - OfferingClass?: OfferingClassType | string; + Filters?: Filter[]; /** - *

                                                              The instance type that the reservation will cover (for example, m1.small). For more information, see Instance Types in the - * Amazon Elastic Compute Cloud User Guide.

                                                              + *

                                                              Indicates whether to display all Regions, including Regions that are disabled for your account.

                                                              */ - InstanceType?: _InstanceType | string; + AllRegions?: boolean; /** - *

                                                              The token to retrieve the next page of results.

                                                              + *

                                                              The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

                                                              */ - NextToken?: string; + RegionNames?: string[]; /** - *

                                                              The Reserved Instance product platform description. Instances that include (Amazon - * VPC) in the description are for use with Amazon VPC.

                                                              + *

                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                              */ - ProductDescription?: RIProductDescription | string; + DryRun?: boolean; +} + +export namespace DescribeRegionsRequest { + export const filterSensitiveLog = (obj: DescribeRegionsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                              Describes a Region.

                                                              + */ +export interface Region { /** - *

                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                              + *

                                                              The Region opt-in status. The possible values are opt-in-not-required, opted-in, and + * not-opted-in.

                                                              */ - DryRun?: boolean; + OptInStatus?: string; /** - *

                                                              The Availability Zone in which the Reserved Instance can be used.

                                                              + *

                                                              The name of the Region.

                                                              */ - AvailabilityZone?: string; + RegionName?: string; /** - *

                                                              The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy - * of dedicated is applied to instances that run in a VPC on single-tenant hardware - * (i.e., Dedicated Instances).

                                                              - *

                                                              - * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

                                                              - *

                                                              Default: default - *

                                                              + *

                                                              The Region service endpoint.

                                                              */ - InstanceTenancy?: Tenancy | string; + Endpoint?: string; +} + +export namespace Region { + export const filterSensitiveLog = (obj: Region): any => ({ + ...obj, + }); +} +export interface DescribeRegionsResult { /** - *

                                                              The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API - * version, you only have access to the Medium Utilization Reserved Instance - * offering type.

                                                              + *

                                                              Information about the Regions.

                                                              */ - OfferingType?: OfferingTypeValues | string; + Regions?: Region[]; +} + +export namespace DescribeRegionsResult { + export const filterSensitiveLog = (obj: DescribeRegionsResult): any => ({ + ...obj, + }); +} + +export enum OfferingClassType { + CONVERTIBLE = "convertible", + STANDARD = "standard", +} + +export type OfferingTypeValues = + | "All Upfront" + | "Heavy Utilization" + | "Light Utilization" + | "Medium Utilization" + | "No Upfront" + | "Partial Upfront"; +/** + *

                                                              Contains the parameters for DescribeReservedInstances.

                                                              + */ +export interface DescribeReservedInstancesRequest { /** - *

                                                              The minimum duration (in seconds) to filter when searching for offerings.

                                                              - *

                                                              Default: 2592000 (1 month)

                                                              + *

                                                              One or more Reserved Instance IDs.

                                                              + *

                                                              Default: Describes all your Reserved Instances, or only those otherwise specified.

                                                              */ - MinDuration?: number; + ReservedInstancesIds?: string[]; /** - *

                                                              Include Reserved Instance Marketplace offerings in the response.

                                                              + *

                                                              Describes whether the Reserved Instance is Standard or Convertible.

                                                              */ - IncludeMarketplace?: boolean; + OfferingClass?: OfferingClassType | string; /** *

                                                              One or more filters.

                                                              *
                                                                *
                                                              • *

                                                                - * availability-zone - The Availability Zone where the Reserved Instance can be - * used.

                                                                + * availability-zone - The Availability Zone where the Reserved Instance can be used.

                                                                *
                                                              • *
                                                              • *

                                                                - * duration - The duration of the Reserved Instance (for example, one year or - * three years), in seconds (31536000 | 94608000).

                                                                + * duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

                                                                *
                                                              • *
                                                              • *

                                                                - * fixed-price - The purchase price of the Reserved Instance (for example, - * 9800.0).

                                                                + * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

                                                                *
                                                              • *
                                                              • *

                                                                - * instance-type - The instance type that is covered by the - * reservation.

                                                                + * fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

                                                                *
                                                              • *
                                                              • *

                                                                - * marketplace - Set to true to show only Reserved Instance - * Marketplace offerings. When this filter is not used, which is the default behavior, all - * offerings from both AWS and the Reserved Instance Marketplace are listed.

                                                                + * instance-type - The instance type that is covered by the reservation.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * scope - The scope of the Reserved Instance (Region or Availability Zone).

                                                                *
                                                              • *
                                                              • *

                                                                * product-description - The Reserved Instance product platform description. - * Instances that include (Amazon VPC) in the product platform description will - * only be displayed to EC2-Classic account holders and are for use with Amazon VPC. - * (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE - * Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise - * Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows - * | Windows (Amazon VPC) | Windows with SQL Server Standard | - * Windows with SQL Server Standard (Amazon VPC) | Windows with SQL - * Server Web | Windows with SQL Server Web (Amazon VPC) | - * Windows with SQL Server Enterprise | Windows with SQL Server - * Enterprise (Amazon VPC))

                                                                + * Instances that include (Amazon VPC) in the product platform description will + * only be displayed to EC2-Classic account holders and are for use with Amazon VPC + * (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE + * Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise + * Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows + * | Windows (Amazon VPC) | Windows with SQL Server Standard | + * Windows with SQL Server Standard (Amazon VPC) | Windows with SQL + * Server Web | Windows with SQL Server Web (Amazon VPC) | + * Windows with SQL Server Enterprise | Windows with SQL Server + * Enterprise (Amazon VPC)).

                                                                *
                                                              • *
                                                              • *

                                                                - * reserved-instances-offering-id - The Reserved Instances offering - * ID.

                                                                + * reserved-instances-id - The ID of the Reserved Instance.

                                                                *
                                                              • *
                                                              • *

                                                                - * scope - The scope of the Reserved Instance (Availability Zone or - * Region).

                                                                + * start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

                                                                *
                                                              • *
                                                              • *

                                                                - * usage-price - The usage price of the Reserved Instance, per hour (for - * example, 0.84).

                                                                + * state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

                                                                *
                                                              • *
                                                              */ Filters?: Filter[]; /** - *

                                                              The maximum duration (in seconds) to filter when searching for offerings.

                                                              - *

                                                              Default: 94608000 (3 years)

                                                              - */ - MaxDuration?: number; - - /** - *

                                                              The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. The maximum is 100.

                                                              - *

                                                              Default: 100

                                                              - */ - MaxResults?: number; - - /** - *

                                                              The maximum number of instances to filter when searching for offerings.

                                                              - *

                                                              Default: 20

                                                              + *

                                                              The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API + * version, you only have access to the Medium Utilization Reserved Instance + * offering type.

                                                              */ - MaxInstanceCount?: number; + OfferingType?: OfferingTypeValues | string; /** - *

                                                              One or more Reserved Instances offering IDs.

                                                              + *

                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                              */ - ReservedInstancesOfferingIds?: string[]; + DryRun?: boolean; } -export namespace DescribeReservedInstancesOfferingsRequest { - export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsRequest): any => ({ +export namespace DescribeReservedInstancesRequest { + export const filterSensitiveLog = (obj: DescribeReservedInstancesRequest): any => ({ ...obj, }); } +export type RIProductDescription = "Linux/UNIX" | "Linux/UNIX (Amazon VPC)" | "Windows" | "Windows (Amazon VPC)"; + +export type RecurringChargeFrequency = "Hourly"; + /** - *

                                                              Describes a Reserved Instance offering.

                                                              + *

                                                              Describes a recurring charge.

                                                              */ -export interface PricingDetail { +export interface RecurringCharge { /** - *

                                                              The number of reservations available for the price.

                                                              + *

                                                              The frequency of the recurring charge.

                                                              */ - Count?: number; + Frequency?: RecurringChargeFrequency | string; /** - *

                                                              The price per instance.

                                                              + *

                                                              The amount of the recurring charge.

                                                              */ - Price?: number; + Amount?: number; } -export namespace PricingDetail { - export const filterSensitiveLog = (obj: PricingDetail): any => ({ +export namespace RecurringCharge { + export const filterSensitiveLog = (obj: RecurringCharge): any => ({ ...obj, }); } +export enum Scope { + AVAILABILITY_ZONE = "Availability Zone", + REGIONAL = "Region", +} + +export type ReservedInstanceState = + | "active" + | "payment-failed" + | "payment-pending" + | "queued" + | "queued-deleted" + | "retired"; + /** - *

                                                              Describes a Reserved Instance offering.

                                                              + *

                                                              Describes a Reserved Instance.

                                                              */ -export interface ReservedInstancesOffering { +export interface ReservedInstances { /** - *

                                                              The Availability Zone in which the Reserved Instance can be used.

                                                              + *

                                                              The Reserved Instance product platform description.

                                                              */ - AvailabilityZone?: string; + ProductDescription?: RIProductDescription | string; /** - *

                                                              If convertible it can be exchanged for Reserved Instances of - * the same or higher monetary value, with different configurations. If standard, it is not - * possible to perform an exchange.

                                                              + *

                                                              The Availability Zone in which the Reserved Instance can be used.

                                                              */ - OfferingClass?: OfferingClassType | string; + AvailabilityZone?: string; /** - *

                                                              The Reserved Instance offering type.

                                                              + *

                                                              The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. + * At this time, the only supported currency is USD.

                                                              */ - OfferingType?: OfferingTypeValues | string; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                              The Reserved Instance product platform description.

                                                              + *

                                                              The instance type on which the Reserved Instance can be used.

                                                              */ - ProductDescription?: RIProductDescription | string; + InstanceType?: _InstanceType | string; /** - *

                                                              The pricing details of the Reserved Instance offering.

                                                              + *

                                                              The duration of the Reserved Instance, in seconds.

                                                              */ - PricingDetails?: PricingDetail[]; + Duration?: number; /** *

                                                              The recurring charge tag assigned to the resource.

                                                              @@ -1264,15 +1359,29 @@ export interface ReservedInstancesOffering { RecurringCharges?: RecurringCharge[]; /** - *

                                                              Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or AWS. - * If it's a Reserved Instance Marketplace offering, this is true.

                                                              + *

                                                              The number of reservations purchased.

                                                              */ - Marketplace?: boolean; + InstanceCount?: number; /** - *

                                                              Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

                                                              + *

                                                              The Reserved Instance offering type.

                                                              */ - Scope?: Scope | string; + OfferingType?: OfferingTypeValues | string; + + /** + *

                                                              The date and time the Reserved Instance started.

                                                              + */ + Start?: Date; + + /** + *

                                                              The offering class of the Reserved Instance.

                                                              + */ + OfferingClass?: OfferingClassType | string; + + /** + *

                                                              Any tags assigned to the resource.

                                                              + */ + Tags?: Tag[]; /** *

                                                              The tenancy of the instance.

                                                              @@ -1285,1441 +1394,1112 @@ export interface ReservedInstancesOffering { UsagePrice?: number; /** - *

                                                              The duration of the Reserved Instance, in seconds.

                                                              + *

                                                              The ID of the Reserved Instance.

                                                              */ - Duration?: number; + ReservedInstancesId?: string; /** - *

                                                              The instance type on which the Reserved Instance can be used.

                                                              + *

                                                              The purchase price of the Reserved Instance.

                                                              */ - InstanceType?: _InstanceType | string; + FixedPrice?: number; /** - *

                                                              The purchase price of the Reserved Instance.

                                                              + *

                                                              The scope of the Reserved Instance.

                                                              */ - FixedPrice?: number; + Scope?: Scope | string; /** - *

                                                              The currency of the Reserved Instance offering you are purchasing. It's - * specified using ISO 4217 standard currency codes. At this time, - * the only supported currency is USD.

                                                              + *

                                                              The time when the Reserved Instance expires.

                                                              */ - CurrencyCode?: CurrencyCodeValues | string; + End?: Date; /** - *

                                                              The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote - * to confirm that an exchange can be made.

                                                              + *

                                                              The state of the Reserved Instance purchase.

                                                              */ - ReservedInstancesOfferingId?: string; + State?: ReservedInstanceState | string; } -export namespace ReservedInstancesOffering { - export const filterSensitiveLog = (obj: ReservedInstancesOffering): any => ({ +export namespace ReservedInstances { + export const filterSensitiveLog = (obj: ReservedInstances): any => ({ ...obj, }); } /** - *

                                                              Contains the output of DescribeReservedInstancesOfferings.

                                                              + *

                                                              Contains the output for DescribeReservedInstances.

                                                              */ -export interface DescribeReservedInstancesOfferingsResult { - /** - *

                                                              A list of Reserved Instances offerings.

                                                              - */ - ReservedInstancesOfferings?: ReservedInstancesOffering[]; - +export interface DescribeReservedInstancesResult { /** - *

                                                              The token to use to retrieve the next page of results. This value is null when - * there are no more results to return.

                                                              + *

                                                              A list of Reserved Instances.

                                                              */ - NextToken?: string; + ReservedInstances?: ReservedInstances[]; } -export namespace DescribeReservedInstancesOfferingsResult { - export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsResult): any => ({ +export namespace DescribeReservedInstancesResult { + export const filterSensitiveLog = (obj: DescribeReservedInstancesResult): any => ({ ...obj, }); } -export interface DescribeRouteTablesRequest { - /** - *

                                                              One or more route table IDs.

                                                              - *

                                                              Default: Describes all your route tables.

                                                              - */ - RouteTableIds?: string[]; - +/** + *

                                                              Contains the parameters for DescribeReservedInstancesListings.

                                                              + */ +export interface DescribeReservedInstancesListingsRequest { /** - *

                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                              + *

                                                              One or more Reserved Instance listing IDs.

                                                              */ - DryRun?: boolean; + ReservedInstancesListingId?: string; /** *

                                                              One or more filters.

                                                              - *
                                                                - *
                                                              • - *

                                                                - * association.route-table-association-id - The ID of an association - * ID for the route table.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * association.route-table-id - The ID of the route table involved in - * the association.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * association.subnet-id - The ID of the subnet involved in the - * association.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * association.main - Indicates whether the route table is the main - * route table for the VPC (true | false). Route tables - * that do not have an association ID are not returned in the response.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * owner-id - The ID of the AWS account that owns the route table.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route-table-id - The ID of the route table.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route.destination-cidr-block - The IPv4 CIDR range specified in a - * route in the table.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route.destination-prefix-list-id - The ID (prefix) of the AWS - * service specified in a route in the table.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route.egress-only-internet-gateway-id - The ID of an - * egress-only Internet gateway specified in a route in the route table.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route.gateway-id - The ID of a gateway specified in a route in the table.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route.instance-id - The ID of an instance specified in a route in the table.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route.nat-gateway-id - The ID of a NAT gateway.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route.transit-gateway-id - The ID of a transit gateway.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route.origin - Describes how the route was created. - * CreateRouteTable indicates that the route was automatically - * created when the route table was created; CreateRoute indicates - * that the route was manually added to the route table; - * EnableVgwRoutePropagation indicates that the route was - * propagated by route propagation.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * route.state - The state of a route in the route table - * (active | blackhole). The blackhole state - * indicates that the route's target isn't available (for example, the specified - * gateway isn't attached to the VPC, the specified NAT instance has been - * terminated, and so on).

                                                                - *
                                                              • + *
                                                                  *
                                                                • - *

                                                                  - * route.vpc-peering-connection-id - The ID of a VPC peering - * connection specified in a route in the table.

                                                                  - *
                                                                • + *

                                                                  + * reserved-instances-id - The ID of the Reserved Instances.

                                                                  + * *
                                                                • - *

                                                                  - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  - *
                                                                • + *

                                                                  + * reserved-instances-listing-id - The ID of the Reserved Instances listing.

                                                                  + * *
                                                                • - *

                                                                  - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  - *
                                                                • + *

                                                                  + * status - The status of the Reserved Instance listing (pending | active | + * cancelled | closed).

                                                                  + * *
                                                                • - *

                                                                  - * vpc-id - The ID of the VPC for the route table.

                                                                  - *
                                                                • + *

                                                                  + * status-message - The reason for the status.

                                                                  + * *
                                                                */ Filters?: Filter[]; /** - *

                                                                The token for the next page of results.

                                                                - */ - NextToken?: string; - - /** - *

                                                                The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                + *

                                                                One or more Reserved Instance IDs.

                                                                */ - MaxResults?: number; + ReservedInstancesId?: string; } -export namespace DescribeRouteTablesRequest { - export const filterSensitiveLog = (obj: DescribeRouteTablesRequest): any => ({ +export namespace DescribeReservedInstancesListingsRequest { + export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsRequest): any => ({ ...obj, }); } /** - *

                                                                Contains the output of DescribeRouteTables.

                                                                + *

                                                                Contains the output of DescribeReservedInstancesListings.

                                                                */ -export interface DescribeRouteTablesResult { - /** - *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                - */ - NextToken?: string; - +export interface DescribeReservedInstancesListingsResult { /** - *

                                                                Information about one or more route tables.

                                                                + *

                                                                Information about the Reserved Instance listing.

                                                                */ - RouteTables?: RouteTable[]; + ReservedInstancesListings?: ReservedInstancesListing[]; } -export namespace DescribeRouteTablesResult { - export const filterSensitiveLog = (obj: DescribeRouteTablesResult): any => ({ +export namespace DescribeReservedInstancesListingsResult { + export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsResult): any => ({ ...obj, }); } /** - *

                                                                Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

                                                                + *

                                                                Contains the parameters for DescribeReservedInstancesModifications.

                                                                */ -export interface SlotDateTimeRangeRequest { +export interface DescribeReservedInstancesModificationsRequest { /** - *

                                                                The earliest date and time, in UTC, for the Scheduled Instance to start.

                                                                - */ - EarliestTime: Date | undefined; - - /** - *

                                                                The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

                                                                - */ - LatestTime: Date | undefined; -} - -export namespace SlotDateTimeRangeRequest { - export const filterSensitiveLog = (obj: SlotDateTimeRangeRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                                Describes the recurring schedule for a Scheduled Instance.

                                                                - */ -export interface ScheduledInstanceRecurrenceRequest { - /** - *

                                                                The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 - * weeks or every 2 months.

                                                                - */ - Interval?: number; - - /** - *

                                                                The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

                                                                - */ - OccurrenceDays?: number[]; - - /** - *

                                                                The frequency (Daily, Weekly, or Monthly).

                                                                - */ - Frequency?: string; - - /** - *

                                                                The unit for OccurrenceDays (DayOfWeek or DayOfMonth). - * This value is required for a monthly schedule. - * You can't specify DayOfWeek with a weekly schedule. - * You can't specify this value with a daily schedule.

                                                                - */ - OccurrenceUnit?: string; - - /** - *

                                                                Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

                                                                - */ - OccurrenceRelativeToEnd?: boolean; -} - -export namespace ScheduledInstanceRecurrenceRequest { - export const filterSensitiveLog = (obj: ScheduledInstanceRecurrenceRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                                Contains the parameters for DescribeScheduledInstanceAvailability.

                                                                - */ -export interface DescribeScheduledInstanceAvailabilityRequest { - /** - *

                                                                The time period for the first schedule to start.

                                                                - */ - FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; - - /** - *

                                                                The token for the next set of results.

                                                                - */ - NextToken?: string; - - /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                - */ - DryRun?: boolean; - - /** - *

                                                                The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours - * and less than 1,720.

                                                                - */ - MaxSlotDurationInHours?: number; - - /** - *

                                                                The maximum number of results to return in a single call. - * This value can be between 5 and 300. The default value is 300. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                                - */ - MaxResults?: number; - - /** - *

                                                                The filters.

                                                                + *

                                                                One or more filters.

                                                                *
                                                                  *
                                                                • *

                                                                  - * availability-zone - The Availability Zone (for example, us-west-2a).

                                                                  + * client-token - The idempotency token for the modification request.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * instance-type - The instance type (for example, c4.large).

                                                                  + * create-date - The time when the modification request was created.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                                                  + * effective-date - The time when the modification becomes effective.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * platform - The platform (Linux/UNIX or Windows).

                                                                  + * modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * modification-result.target-configuration.instance-count - The number of new Reserved Instances.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * reserved-instances-id - The ID of the Reserved Instances modified.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * reserved-instances-modification-id - The ID of the modification request.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * status - The status of the Reserved Instances modification request + * (processing | fulfilled | failed).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * status-message - The reason for the status.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * update-date - The time when the modification request was last updated.

                                                                  *
                                                                • *
                                                                */ Filters?: Filter[]; /** - *

                                                                The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

                                                                + *

                                                                The token to retrieve the next page of results.

                                                                */ - MinSlotDurationInHours?: number; + NextToken?: string; /** - *

                                                                The schedule recurrence.

                                                                + *

                                                                IDs for the submitted modification request.

                                                                */ - Recurrence: ScheduledInstanceRecurrenceRequest | undefined; + ReservedInstancesModificationIds?: string[]; } -export namespace DescribeScheduledInstanceAvailabilityRequest { - export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityRequest): any => ({ +export namespace DescribeReservedInstancesModificationsRequest { + export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsRequest): any => ({ ...obj, }); } /** - *

                                                                Describes the recurring schedule for a Scheduled Instance.

                                                                + *

                                                                Describes the configuration settings for the modified Reserved Instances.

                                                                */ -export interface ScheduledInstanceRecurrence { +export interface ReservedInstancesConfiguration { /** - *

                                                                The frequency (Daily, Weekly, or Monthly).

                                                                + *

                                                                The instance type for the modified Reserved Instances.

                                                                */ - Frequency?: string; + InstanceType?: _InstanceType | string; /** - *

                                                                The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

                                                                + *

                                                                The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

                                                                */ - OccurrenceUnit?: string; + Platform?: string; /** - *

                                                                Indicates whether the occurrence is relative to the end of the specified week or month.

                                                                + *

                                                                The number of modified Reserved Instances.

                                                                + * + *

                                                                This is a required field for a request.

                                                                + *
                                                                */ - OccurrenceRelativeToEnd?: boolean; + InstanceCount?: number; /** - *

                                                                The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

                                                                + *

                                                                The Availability Zone for the modified Reserved Instances.

                                                                */ - OccurrenceDaySet?: number[]; + AvailabilityZone?: string; /** - *

                                                                The interval quantity. The interval unit depends on the value of frequency. For example, every 2 - * weeks or every 2 months.

                                                                + *

                                                                Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

                                                                */ - Interval?: number; + Scope?: Scope | string; } -export namespace ScheduledInstanceRecurrence { - export const filterSensitiveLog = (obj: ScheduledInstanceRecurrence): any => ({ +export namespace ReservedInstancesConfiguration { + export const filterSensitiveLog = (obj: ReservedInstancesConfiguration): any => ({ ...obj, }); } /** - *

                                                                Describes a schedule that is available for your Scheduled Instances.

                                                                + *

                                                                Describes the modification request/s.

                                                                */ -export interface ScheduledInstanceAvailability { +export interface ReservedInstancesModificationResult { /** - *

                                                                The Availability Zone.

                                                                + *

                                                                The target Reserved Instances configurations supplied as part of the modification request.

                                                                */ - AvailabilityZone?: string; + TargetConfiguration?: ReservedInstancesConfiguration; /** - *

                                                                The minimum term. The only possible value is 365 days.

                                                                + *

                                                                The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

                                                                */ - MinTermDurationInDays?: number; + ReservedInstancesId?: string; +} - /** - *

                                                                The number of hours in the schedule.

                                                                - */ - SlotDurationInHours?: number; +export namespace ReservedInstancesModificationResult { + export const filterSensitiveLog = (obj: ReservedInstancesModificationResult): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes the ID of a Reserved Instance.

                                                                + */ +export interface ReservedInstancesId { /** - *

                                                                The purchase token. This token expires in two hours.

                                                                + *

                                                                The ID of the Reserved Instance.

                                                                */ - PurchaseToken?: string; + ReservedInstancesId?: string; +} + +export namespace ReservedInstancesId { + export const filterSensitiveLog = (obj: ReservedInstancesId): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes a Reserved Instance modification.

                                                                + */ +export interface ReservedInstancesModification { /** - *

                                                                The maximum term. The only possible value is 365 days.

                                                                + *

                                                                The IDs of one or more Reserved Instances.

                                                                */ - MaxTermDurationInDays?: number; + ReservedInstancesIds?: ReservedInstancesId[]; /** - *

                                                                The platform (Linux/UNIX or Windows).

                                                                + *

                                                                A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. + * For more information, see Ensuring + * Idempotency.

                                                                */ - Platform?: string; + ClientToken?: string; /** - *

                                                                The number of available instances.

                                                                + *

                                                                The status of the Reserved Instances modification request.

                                                                */ - AvailableInstanceCount?: number; + Status?: string; /** - *

                                                                The network platform (EC2-Classic or EC2-VPC).

                                                                + *

                                                                The time when the modification request was created.

                                                                */ - NetworkPlatform?: string; + CreateDate?: Date; /** - *

                                                                The total number of hours for a single instance for the entire term.

                                                                + *

                                                                The time when the modification request was last updated.

                                                                */ - TotalScheduledInstanceHours?: number; + UpdateDate?: Date; /** - *

                                                                The time period for the first schedule to start.

                                                                + *

                                                                A unique ID for the Reserved Instance modification.

                                                                */ - FirstSlotStartTime?: Date; + ReservedInstancesModificationId?: string; /** - *

                                                                The schedule recurrence.

                                                                + *

                                                                The time for the modification to become effective.

                                                                */ - Recurrence?: ScheduledInstanceRecurrence; + EffectiveDate?: Date; /** - *

                                                                The hourly price for a single instance.

                                                                + *

                                                                Contains target configurations along with their corresponding new Reserved Instance IDs.

                                                                */ - HourlyPrice?: string; + ModificationResults?: ReservedInstancesModificationResult[]; /** - *

                                                                The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

                                                                + *

                                                                The reason for the status.

                                                                */ - InstanceType?: string; + StatusMessage?: string; } -export namespace ScheduledInstanceAvailability { - export const filterSensitiveLog = (obj: ScheduledInstanceAvailability): any => ({ +export namespace ReservedInstancesModification { + export const filterSensitiveLog = (obj: ReservedInstancesModification): any => ({ ...obj, }); } /** - *

                                                                Contains the output of DescribeScheduledInstanceAvailability.

                                                                + *

                                                                Contains the output of DescribeReservedInstancesModifications.

                                                                */ -export interface DescribeScheduledInstanceAvailabilityResult { +export interface DescribeReservedInstancesModificationsResult { /** - *

                                                                Information about the available Scheduled Instances.

                                                                + *

                                                                The Reserved Instance modification information.

                                                                */ - ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[]; + ReservedInstancesModifications?: ReservedInstancesModification[]; /** - *

                                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                                + *

                                                                The token to use to retrieve the next page of results. This value is null when + * there are no more results to return.

                                                                */ NextToken?: string; } -export namespace DescribeScheduledInstanceAvailabilityResult { - export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityResult): any => ({ - ...obj, - }); -} - -/** - *

                                                                Describes the time period for a Scheduled Instance to start its first schedule.

                                                                - */ -export interface SlotStartTimeRangeRequest { - /** - *

                                                                The earliest date and time, in UTC, for the Scheduled Instance to start.

                                                                - */ - EarliestTime?: Date; - - /** - *

                                                                The latest date and time, in UTC, for the Scheduled Instance to start.

                                                                - */ - LatestTime?: Date; -} - -export namespace SlotStartTimeRangeRequest { - export const filterSensitiveLog = (obj: SlotStartTimeRangeRequest): any => ({ +export namespace DescribeReservedInstancesModificationsResult { + export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsResult): any => ({ ...obj, }); } /** - *

                                                                Contains the parameters for DescribeScheduledInstances.

                                                                + *

                                                                Contains the parameters for DescribeReservedInstancesOfferings.

                                                                */ -export interface DescribeScheduledInstancesRequest { - /** - *

                                                                The token for the next set of results.

                                                                - */ - NextToken?: string; - +export interface DescribeReservedInstancesOfferingsRequest { /** - *

                                                                The maximum number of results to return in a single call. - * This value can be between 5 and 300. The default value is 100. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                                + *

                                                                The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. The maximum is 100.

                                                                + *

                                                                Default: 100

                                                                */ MaxResults?: number; /** - *

                                                                The Scheduled Instance IDs.

                                                                + *

                                                                The maximum number of instances to filter when searching for offerings.

                                                                + *

                                                                Default: 20

                                                                */ - ScheduledInstanceIds?: string[]; + MaxInstanceCount?: number; /** - *

                                                                The filters.

                                                                + *

                                                                One or more filters.

                                                                *
                                                                  *
                                                                • *

                                                                  - * availability-zone - The Availability Zone (for example, us-west-2a).

                                                                  + * availability-zone - The Availability Zone where the Reserved Instance can be + * used.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * instance-type - The instance type (for example, c4.large).

                                                                  + * duration - The duration of the Reserved Instance (for example, one year or + * three years), in seconds (31536000 | 94608000).

                                                                  *
                                                                • *
                                                                • *

                                                                  - * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                                                  + * fixed-price - The purchase price of the Reserved Instance (for example, + * 9800.0).

                                                                  *
                                                                • *
                                                                • *

                                                                  - * platform - The platform (Linux/UNIX or Windows).

                                                                  + * instance-type - The instance type that is covered by the + * reservation.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * marketplace - Set to true to show only Reserved Instance + * Marketplace offerings. When this filter is not used, which is the default behavior, all + * offerings from both AWS and the Reserved Instance Marketplace are listed.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * product-description - The Reserved Instance product platform description. + * Instances that include (Amazon VPC) in the product platform description will + * only be displayed to EC2-Classic account holders and are for use with Amazon VPC. + * (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE + * Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise + * Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows + * | Windows (Amazon VPC) | Windows with SQL Server Standard | + * Windows with SQL Server Standard (Amazon VPC) | Windows with SQL + * Server Web | Windows with SQL Server Web (Amazon VPC) | + * Windows with SQL Server Enterprise | Windows with SQL Server + * Enterprise (Amazon VPC))

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * reserved-instances-offering-id - The Reserved Instances offering + * ID.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * scope - The scope of the Reserved Instance (Availability Zone or + * Region).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * usage-price - The usage price of the Reserved Instance, per hour (for + * example, 0.84).

                                                                  *
                                                                • *
                                                                */ Filters?: Filter[]; /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                - */ - DryRun?: boolean; - - /** - *

                                                                The time period for the first schedule to start.

                                                                - */ - SlotStartTimeRange?: SlotStartTimeRangeRequest; -} - -export namespace DescribeScheduledInstancesRequest { - export const filterSensitiveLog = (obj: DescribeScheduledInstancesRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                                Describes a Scheduled Instance.

                                                                - */ -export interface ScheduledInstance { - /** - *

                                                                The number of instances.

                                                                + *

                                                                The maximum duration (in seconds) to filter when searching for offerings.

                                                                + *

                                                                Default: 94608000 (3 years)

                                                                */ - InstanceCount?: number; + MaxDuration?: number; /** - *

                                                                The total number of hours for a single instance for the entire term.

                                                                + *

                                                                The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API + * version, you only have access to the Medium Utilization Reserved Instance + * offering type.

                                                                */ - TotalScheduledInstanceHours?: number; + OfferingType?: OfferingTypeValues | string; /** - *

                                                                The start date for the Scheduled Instance.

                                                                + *

                                                                The Reserved Instance product platform description. Instances that include (Amazon + * VPC) in the description are for use with Amazon VPC.

                                                                */ - TermStartDate?: Date; + ProductDescription?: RIProductDescription | string; /** - *

                                                                The instance type.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - InstanceType?: string; + DryRun?: boolean; /** - *

                                                                The end date for the Scheduled Instance.

                                                                + *

                                                                One or more Reserved Instances offering IDs.

                                                                */ - TermEndDate?: Date; + ReservedInstancesOfferingIds?: string[]; /** - *

                                                                The network platform (EC2-Classic or EC2-VPC).

                                                                + *

                                                                The instance type that the reservation will cover (for example, m1.small). For more information, see Instance Types in the + * Amazon Elastic Compute Cloud User Guide.

                                                                */ - NetworkPlatform?: string; + InstanceType?: _InstanceType | string; /** - *

                                                                The number of hours in the schedule.

                                                                + *

                                                                Include Reserved Instance Marketplace offerings in the response.

                                                                */ - SlotDurationInHours?: number; + IncludeMarketplace?: boolean; /** - *

                                                                The time that the previous schedule ended or will end.

                                                                + *

                                                                The offering class of the Reserved Instance. Can be standard or convertible.

                                                                */ - PreviousSlotEndTime?: Date; + OfferingClass?: OfferingClassType | string; /** - *

                                                                The platform (Linux/UNIX or Windows).

                                                                + *

                                                                The token to retrieve the next page of results.

                                                                */ - Platform?: string; + NextToken?: string; /** - *

                                                                The schedule recurrence.

                                                                + *

                                                                The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy + * of dedicated is applied to instances that run in a VPC on single-tenant hardware + * (i.e., Dedicated Instances).

                                                                + *

                                                                + * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

                                                                + *

                                                                Default: default + *

                                                                */ - Recurrence?: ScheduledInstanceRecurrence; + InstanceTenancy?: Tenancy | string; /** - *

                                                                The Availability Zone.

                                                                + *

                                                                The Availability Zone in which the Reserved Instance can be used.

                                                                */ AvailabilityZone?: string; /** - *

                                                                The Scheduled Instance ID.

                                                                + *

                                                                The minimum duration (in seconds) to filter when searching for offerings.

                                                                + *

                                                                Default: 2592000 (1 month)

                                                                */ - ScheduledInstanceId?: string; + MinDuration?: number; +} - /** - *

                                                                The date when the Scheduled Instance was purchased.

                                                                - */ - CreateDate?: Date; +export namespace DescribeReservedInstancesOfferingsRequest { + export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes a Reserved Instance offering.

                                                                + */ +export interface PricingDetail { /** - *

                                                                The time for the next schedule to start.

                                                                + *

                                                                The price per instance.

                                                                */ - NextSlotStartTime?: Date; + Price?: number; /** - *

                                                                The hourly price for a single instance.

                                                                + *

                                                                The number of reservations available for the price.

                                                                */ - HourlyPrice?: string; + Count?: number; } -export namespace ScheduledInstance { - export const filterSensitiveLog = (obj: ScheduledInstance): any => ({ +export namespace PricingDetail { + export const filterSensitiveLog = (obj: PricingDetail): any => ({ ...obj, }); } /** - *

                                                                Contains the output of DescribeScheduledInstances.

                                                                + *

                                                                Describes a Reserved Instance offering.

                                                                */ -export interface DescribeScheduledInstancesResult { +export interface ReservedInstancesOffering { /** - *

                                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                                + *

                                                                The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote + * to confirm that an exchange can be made.

                                                                */ - NextToken?: string; + ReservedInstancesOfferingId?: string; /** - *

                                                                Information about the Scheduled Instances.

                                                                + *

                                                                The purchase price of the Reserved Instance.

                                                                */ - ScheduledInstanceSet?: ScheduledInstance[]; -} - -export namespace DescribeScheduledInstancesResult { - export const filterSensitiveLog = (obj: DescribeScheduledInstancesResult): any => ({ - ...obj, - }); -} + FixedPrice?: number; -export interface DescribeSecurityGroupReferencesRequest { /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The Reserved Instance product platform description.

                                                                */ - DryRun?: boolean; + ProductDescription?: RIProductDescription | string; /** - *

                                                                The IDs of the security groups in your account.

                                                                + *

                                                                The recurring charge tag assigned to the resource.

                                                                */ - GroupId: string[] | undefined; -} + RecurringCharges?: RecurringCharge[]; -export namespace DescribeSecurityGroupReferencesRequest { - export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                                Describes a VPC with a security group that references your security group.

                                                                - */ -export interface SecurityGroupReference { /** - *

                                                                The ID of your security group.

                                                                + *

                                                                The pricing details of the Reserved Instance offering.

                                                                */ - GroupId?: string; + PricingDetails?: PricingDetail[]; /** - *

                                                                The ID of the VPC with the referencing security group.

                                                                + *

                                                                The instance type on which the Reserved Instance can be used.

                                                                */ - ReferencingVpcId?: string; + InstanceType?: _InstanceType | string; /** - *

                                                                The ID of the VPC peering connection.

                                                                + *

                                                                Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or AWS. + * If it's a Reserved Instance Marketplace offering, this is true.

                                                                */ - VpcPeeringConnectionId?: string; -} - -export namespace SecurityGroupReference { - export const filterSensitiveLog = (obj: SecurityGroupReference): any => ({ - ...obj, - }); -} + Marketplace?: boolean; -export interface DescribeSecurityGroupReferencesResult { /** - *

                                                                Information about the VPCs with the referencing security groups.

                                                                + *

                                                                The Reserved Instance offering type.

                                                                */ - SecurityGroupReferenceSet?: SecurityGroupReference[]; -} + OfferingType?: OfferingTypeValues | string; -export namespace DescribeSecurityGroupReferencesResult { - export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesResult): any => ({ - ...obj, - }); -} + /** + *

                                                                The currency of the Reserved Instance offering you are purchasing. It's + * specified using ISO 4217 standard currency codes. At this time, + * the only supported currency is USD.

                                                                + */ + CurrencyCode?: CurrencyCodeValues | string; -export interface DescribeSecurityGroupsRequest { /** - *

                                                                The IDs of the security groups. Required for security groups in a nondefault VPC.

                                                                - *

                                                                Default: Describes all your security groups.

                                                                + *

                                                                The usage price of the Reserved Instance, per hour.

                                                                */ - GroupIds?: string[]; + UsagePrice?: number; /** - *

                                                                [EC2-Classic and default VPC only] The names of the security groups. You can specify either - * the security group name or the security group ID. For security groups in a nondefault VPC, use - * the group-name filter to describe security groups by name.

                                                                - *

                                                                Default: Describes all your security groups.

                                                                + *

                                                                If convertible it can be exchanged for Reserved Instances of + * the same or higher monetary value, with different configurations. If standard, it is not + * possible to perform an exchange.

                                                                */ - GroupNames?: string[]; + OfferingClass?: OfferingClassType | string; /** - *

                                                                The maximum number of results to return in a single call. To retrieve the remaining - * results, make another request with the returned NextToken value. This value - * can be between 5 and 1000. If this parameter is not specified, then all results are - * returned.

                                                                + *

                                                                The duration of the Reserved Instance, in seconds.

                                                                */ - MaxResults?: number; + Duration?: number; /** - *

                                                                The token to request the next page of results.

                                                                + *

                                                                The tenancy of the instance.

                                                                */ - NextToken?: string; + InstanceTenancy?: Tenancy | string; /** - *

                                                                The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * description - The description of the security group.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound - * security group rule.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * egress.ip-permission.from-port - For an outbound rule, the - * start of port range for the TCP and UDP protocols, or an ICMP type - * number.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * egress.ip-permission.group-id - The ID of a security group - * that has been referenced in an outbound security group rule.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * egress.ip-permission.group-name - The name of a security group - * that has been referenced in an outbound security group rule.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an - * outbound security group rule.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * egress.ip-permission.protocol - The IP protocol for an - * outbound security group rule (tcp | udp | - * icmp or a protocol number).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * egress.ip-permission.to-port - For an outbound rule, the end - * of port range for the TCP and UDP protocols, or an ICMP code.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * egress.ip-permission.user-id - The ID of an AWS account that - * has been referenced in an outbound security group rule.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * group-id - The ID of the security group.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * group-name - The name of the security group.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ip-permission.cidr - An IPv4 CIDR block for an inbound security - * group rule.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ip-permission.from-port - For an inbound rule, the start of port - * range for the TCP and UDP protocols, or an ICMP type number.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ip-permission.group-id - The ID of a security group that has been - * referenced in an inbound security group rule.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ip-permission.group-name - The name of a security group that has - * been referenced in an inbound security group rule.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security - * group rule.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ip-permission.protocol - The IP protocol for an inbound security - * group rule (tcp | udp | icmp or a - * protocol number).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ip-permission.to-port - For an inbound rule, the end of port range - * for the TCP and UDP protocols, or an ICMP code.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ip-permission.user-id - The ID of an AWS account that has been - * referenced in an inbound security group rule.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * owner-id - The AWS account ID of the owner of the security group.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * vpc-id - The ID of the VPC specified when the security group was created.

                                                                  - *
                                                                • - *
                                                                + *

                                                                The Availability Zone in which the Reserved Instance can be used.

                                                                */ - Filters?: Filter[]; + AvailabilityZone?: string; /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

                                                                */ - DryRun?: boolean; + Scope?: Scope | string; } -export namespace DescribeSecurityGroupsRequest { - export const filterSensitiveLog = (obj: DescribeSecurityGroupsRequest): any => ({ +export namespace ReservedInstancesOffering { + export const filterSensitiveLog = (obj: ReservedInstancesOffering): any => ({ ...obj, }); } /** - *

                                                                Describes a security group

                                                                + *

                                                                Contains the output of DescribeReservedInstancesOfferings.

                                                                */ -export interface SecurityGroup { - /** - *

                                                                [VPC only] The outbound rules associated with the security group.

                                                                - */ - IpPermissionsEgress?: IpPermission[]; - - /** - *

                                                                The name of the security group.

                                                                - */ - GroupName?: string; - +export interface DescribeReservedInstancesOfferingsResult { /** - *

                                                                [VPC only] The ID of the VPC for the security group.

                                                                + *

                                                                The token to use to retrieve the next page of results. This value is null when + * there are no more results to return.

                                                                */ - VpcId?: string; + NextToken?: string; /** - *

                                                                Any tags assigned to the security group.

                                                                + *

                                                                A list of Reserved Instances offerings.

                                                                */ - Tags?: Tag[]; + ReservedInstancesOfferings?: ReservedInstancesOffering[]; +} - /** - *

                                                                The ID of the security group.

                                                                - */ - GroupId?: string; +export namespace DescribeReservedInstancesOfferingsResult { + export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsResult): any => ({ + ...obj, + }); +} +export interface DescribeRouteTablesRequest { /** - *

                                                                The inbound rules associated with the security group.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - IpPermissions?: IpPermission[]; + DryRun?: boolean; /** - *

                                                                The AWS account ID of the owner of the security group.

                                                                + *

                                                                The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                */ - OwnerId?: string; + MaxResults?: number; /** - *

                                                                A description of the security group.

                                                                - */ - Description?: string; -} - -export namespace SecurityGroup { - export const filterSensitiveLog = (obj: SecurityGroup): any => ({ - ...obj, - }); -} + *

                                                                One or more filters.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * association.route-table-association-id - The ID of an association + * ID for the route table.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * association.route-table-id - The ID of the route table involved in + * the association.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * association.subnet-id - The ID of the subnet involved in the + * association.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * association.main - Indicates whether the route table is the main + * route table for the VPC (true | false). Route tables + * that do not have an association ID are not returned in the response.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * owner-id - The ID of the AWS account that owns the route table.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route-table-id - The ID of the route table.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.destination-cidr-block - The IPv4 CIDR range specified in a + * route in the table.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.destination-prefix-list-id - The ID (prefix) of the AWS + * service specified in a route in the table.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.egress-only-internet-gateway-id - The ID of an + * egress-only Internet gateway specified in a route in the route table.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.gateway-id - The ID of a gateway specified in a route in the table.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.instance-id - The ID of an instance specified in a route in the table.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.nat-gateway-id - The ID of a NAT gateway.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.transit-gateway-id - The ID of a transit gateway.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.origin - Describes how the route was created. + * CreateRouteTable indicates that the route was automatically + * created when the route table was created; CreateRoute indicates + * that the route was manually added to the route table; + * EnableVgwRoutePropagation indicates that the route was + * propagated by route propagation.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.state - The state of a route in the route table + * (active | blackhole). The blackhole state + * indicates that the route's target isn't available (for example, the specified + * gateway isn't attached to the VPC, the specified NAT instance has been + * terminated, and so on).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * route.vpc-peering-connection-id - The ID of a VPC peering + * connection specified in a route in the table.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * vpc-id - The ID of the VPC for the route table.

                                                                  + *
                                                                • + *
                                                                + */ + Filters?: Filter[]; -export interface DescribeSecurityGroupsResult { /** - *

                                                                Information about the security groups.

                                                                + *

                                                                One or more route table IDs.

                                                                + *

                                                                Default: Describes all your route tables.

                                                                */ - SecurityGroups?: SecurityGroup[]; + RouteTableIds?: string[]; /** - *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                + *

                                                                The token for the next page of results.

                                                                */ NextToken?: string; } -export namespace DescribeSecurityGroupsResult { - export const filterSensitiveLog = (obj: DescribeSecurityGroupsResult): any => ({ +export namespace DescribeRouteTablesRequest { + export const filterSensitiveLog = (obj: DescribeRouteTablesRequest): any => ({ ...obj, }); } -export type SnapshotAttributeName = "createVolumePermission" | "productCodes"; - -export interface DescribeSnapshotAttributeRequest { - /** - *

                                                                The ID of the EBS snapshot.

                                                                - */ - SnapshotId: string | undefined; - +/** + *

                                                                Contains the output of DescribeRouteTables.

                                                                + */ +export interface DescribeRouteTablesResult { /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                */ - DryRun?: boolean; + NextToken?: string; /** - *

                                                                The snapshot attribute you would like to view.

                                                                + *

                                                                Information about one or more route tables.

                                                                */ - Attribute: SnapshotAttributeName | string | undefined; + RouteTables?: RouteTable[]; } -export namespace DescribeSnapshotAttributeRequest { - export const filterSensitiveLog = (obj: DescribeSnapshotAttributeRequest): any => ({ +export namespace DescribeRouteTablesResult { + export const filterSensitiveLog = (obj: DescribeRouteTablesResult): any => ({ ...obj, }); } /** - *

                                                                Describes the user or group to be added or removed from the list of create volume - * permissions for a volume.

                                                                + *

                                                                Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

                                                                */ -export interface CreateVolumePermission { +export interface SlotDateTimeRangeRequest { /** - *

                                                                The AWS account ID to be added or removed.

                                                                + *

                                                                The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

                                                                */ - UserId?: string; + LatestTime: Date | undefined; /** - *

                                                                The group to be added or removed. The possible value is all.

                                                                + *

                                                                The earliest date and time, in UTC, for the Scheduled Instance to start.

                                                                */ - Group?: PermissionGroup | string; + EarliestTime: Date | undefined; } -export namespace CreateVolumePermission { - export const filterSensitiveLog = (obj: CreateVolumePermission): any => ({ +export namespace SlotDateTimeRangeRequest { + export const filterSensitiveLog = (obj: SlotDateTimeRangeRequest): any => ({ ...obj, }); } -export interface DescribeSnapshotAttributeResult { +/** + *

                                                                Describes the recurring schedule for a Scheduled Instance.

                                                                + */ +export interface ScheduledInstanceRecurrenceRequest { /** - *

                                                                The ID of the EBS snapshot.

                                                                + *

                                                                The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

                                                                */ - SnapshotId?: string; + OccurrenceDays?: number[]; /** - *

                                                                The product codes.

                                                                + *

                                                                The unit for OccurrenceDays (DayOfWeek or DayOfMonth). + * This value is required for a monthly schedule. + * You can't specify DayOfWeek with a weekly schedule. + * You can't specify this value with a daily schedule.

                                                                */ - ProductCodes?: ProductCode[]; + OccurrenceUnit?: string; /** - *

                                                                The users and groups that have the permissions for creating volumes from the - * snapshot.

                                                                + *

                                                                The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 + * weeks or every 2 months.

                                                                */ - CreateVolumePermissions?: CreateVolumePermission[]; + Interval?: number; + + /** + *

                                                                The frequency (Daily, Weekly, or Monthly).

                                                                + */ + Frequency?: string; + + /** + *

                                                                Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

                                                                + */ + OccurrenceRelativeToEnd?: boolean; } -export namespace DescribeSnapshotAttributeResult { - export const filterSensitiveLog = (obj: DescribeSnapshotAttributeResult): any => ({ +export namespace ScheduledInstanceRecurrenceRequest { + export const filterSensitiveLog = (obj: ScheduledInstanceRecurrenceRequest): any => ({ ...obj, }); } -export interface DescribeSnapshotsRequest { +/** + *

                                                                Contains the parameters for DescribeScheduledInstanceAvailability.

                                                                + */ +export interface DescribeScheduledInstanceAvailabilityRequest { /** - *

                                                                The IDs of the AWS accounts that can create volumes from the snapshot.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - RestorableByUserIds?: string[]; + DryRun?: boolean; /** - *

                                                                The snapshot IDs.

                                                                - *

                                                                Default: Describes the snapshots for which you have create volume permissions.

                                                                + *

                                                                The time period for the first schedule to start.

                                                                */ - SnapshotIds?: string[]; + FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; /** - *

                                                                Scopes the results to snapshots with the specified owners. You can specify a combination of - * AWS account IDs, self, and amazon.

                                                                + *

                                                                The schedule recurrence.

                                                                */ - OwnerIds?: string[]; + Recurrence: ScheduledInstanceRecurrenceRequest | undefined; + + /** + *

                                                                The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

                                                                + */ + MinSlotDurationInHours?: number; /** *

                                                                The filters.

                                                                *
                                                                  *
                                                                • *

                                                                  - * description - A description of the snapshot.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * encrypted - Indicates whether the snapshot is encrypted - * (true | false)

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * owner-alias - The owner alias, from an Amazon-maintained list - * (amazon). - * This is not the user-configured AWS account alias set using the IAM console. - * We recommend that you use the related parameter instead of this filter.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * owner-id - The AWS account ID of the owner. We recommend that - * you use the related parameter instead of this filter.

                                                                  + * availability-zone - The Availability Zone (for example, us-west-2a).

                                                                  *
                                                                • *
                                                                • *

                                                                  - * progress - The progress of the snapshot, as a percentage (for example, - * 80%).

                                                                  + * instance-type - The instance type (for example, c4.large).

                                                                  *
                                                                • *
                                                                • *

                                                                  - * snapshot-id - The snapshot ID.

                                                                  + * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                                                  *
                                                                • *
                                                                • *

                                                                  - * start-time - The time stamp when the snapshot was initiated.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * status - The status of the snapshot (pending | - * completed | error).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * volume-id - The ID of the volume the snapshot is for.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * volume-size - The size of the volume, in GiB.

                                                                  + * platform - The platform (Linux/UNIX or Windows).

                                                                  *
                                                                • *
                                                                */ Filters?: Filter[]; /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The maximum number of results to return in a single call. + * This value can be between 5 and 300. The default value is 300. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                                */ - DryRun?: boolean; + MaxResults?: number; /** - *

                                                                The maximum number of snapshot results returned by DescribeSnapshots in - * paginated output. When this parameter is used, DescribeSnapshots only returns - * MaxResults results in a single page along with a NextToken - * response element. The remaining results of the initial request can be seen by sending another - * DescribeSnapshots request with the returned NextToken value. This - * value can be between 5 and 1000; if MaxResults is given a value larger than 1000, - * only 1000 results are returned. If this parameter is not used, then - * DescribeSnapshots returns all results. You cannot specify this parameter and - * the snapshot IDs parameter in the same request.

                                                                + *

                                                                The token for the next set of results.

                                                                */ - MaxResults?: number; + NextToken?: string; /** - *

                                                                The NextToken value returned from a previous paginated - * DescribeSnapshots 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. This value is - * null when there are no more results to return.

                                                                + *

                                                                The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours + * and less than 1,720.

                                                                */ - NextToken?: string; + MaxSlotDurationInHours?: number; } -export namespace DescribeSnapshotsRequest { - export const filterSensitiveLog = (obj: DescribeSnapshotsRequest): any => ({ +export namespace DescribeScheduledInstanceAvailabilityRequest { + export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityRequest): any => ({ ...obj, }); } -export interface DescribeSnapshotsResult { +/** + *

                                                                Describes the recurring schedule for a Scheduled Instance.

                                                                + */ +export interface ScheduledInstanceRecurrence { /** - *

                                                                Information about the snapshots.

                                                                + *

                                                                The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

                                                                */ - Snapshots?: Snapshot[]; + OccurrenceUnit?: string; /** - *

                                                                The NextToken value to include in a future DescribeSnapshots - * request. When the results of a DescribeSnapshots request exceed - * MaxResults, this value can be used to retrieve the next page of results. This - * value is null when there are no more results to return.

                                                                + *

                                                                The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

                                                                */ - NextToken?: string; -} - -export namespace DescribeSnapshotsResult { - export const filterSensitiveLog = (obj: DescribeSnapshotsResult): any => ({ - ...obj, - }); -} + OccurrenceDaySet?: number[]; -/** - *

                                                                Contains the parameters for DescribeSpotDatafeedSubscription.

                                                                - */ -export interface DescribeSpotDatafeedSubscriptionRequest { /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The frequency (Daily, Weekly, or Monthly).

                                                                */ - DryRun?: boolean; -} + Frequency?: string; -export namespace DescribeSpotDatafeedSubscriptionRequest { - export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionRequest): any => ({ - ...obj, - }); -} + /** + *

                                                                Indicates whether the occurrence is relative to the end of the specified week or month.

                                                                + */ + OccurrenceRelativeToEnd?: boolean; -/** - *

                                                                Contains the output of DescribeSpotDatafeedSubscription.

                                                                - */ -export interface DescribeSpotDatafeedSubscriptionResult { /** - *

                                                                The Spot Instance data feed subscription.

                                                                + *

                                                                The interval quantity. The interval unit depends on the value of frequency. For example, every 2 + * weeks or every 2 months.

                                                                */ - SpotDatafeedSubscription?: SpotDatafeedSubscription; + Interval?: number; } -export namespace DescribeSpotDatafeedSubscriptionResult { - export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionResult): any => ({ +export namespace ScheduledInstanceRecurrence { + export const filterSensitiveLog = (obj: ScheduledInstanceRecurrence): any => ({ ...obj, }); } /** - *

                                                                Contains the parameters for DescribeSpotFleetInstances.

                                                                + *

                                                                Describes a schedule that is available for your Scheduled Instances.

                                                                */ -export interface DescribeSpotFleetInstancesRequest { +export interface ScheduledInstanceAvailability { /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The schedule recurrence.

                                                                */ - DryRun?: boolean; + Recurrence?: ScheduledInstanceRecurrence; /** - *

                                                                The maximum number of results to return in a single call. - * Specify a value between 1 and 1000. The default value is 1000. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                                + *

                                                                The total number of hours for a single instance for the entire term.

                                                                */ - MaxResults?: number; + TotalScheduledInstanceHours?: number; /** - *

                                                                The token for the next set of results.

                                                                + *

                                                                The hourly price for a single instance.

                                                                */ - NextToken?: string; + HourlyPrice?: string; /** - *

                                                                The ID of the Spot Fleet request.

                                                                + *

                                                                The time period for the first schedule to start.

                                                                */ - SpotFleetRequestId: string | undefined; -} - -export namespace DescribeSpotFleetInstancesRequest { - export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesRequest): any => ({ - ...obj, - }); -} + FirstSlotStartTime?: Date; -/** - *

                                                                Contains the output of DescribeSpotFleetInstances.

                                                                - */ -export interface DescribeSpotFleetInstancesResponse { /** - *

                                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                                + *

                                                                The maximum term. The only possible value is 365 days.

                                                                */ - NextToken?: string; + MaxTermDurationInDays?: number; /** - *

                                                                The ID of the Spot Fleet request.

                                                                + *

                                                                The minimum term. The only possible value is 365 days.

                                                                */ - SpotFleetRequestId?: string; + MinTermDurationInDays?: number; /** - *

                                                                The running instances. This list is refreshed periodically and might be out of - * date.

                                                                + *

                                                                The number of hours in the schedule.

                                                                */ - ActiveInstances?: ActiveInstance[]; -} - -export namespace DescribeSpotFleetInstancesResponse { - export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesResponse): any => ({ - ...obj, - }); -} - -export enum EventType { - BATCH_CHANGE = "fleetRequestChange", - ERROR = "error", - INFORMATION = "information", - INSTANCE_CHANGE = "instanceChange", -} + SlotDurationInHours?: number; -/** - *

                                                                Contains the parameters for DescribeSpotFleetRequestHistory.

                                                                - */ -export interface DescribeSpotFleetRequestHistoryRequest { /** - *

                                                                The type of events to describe. By default, all events are described.

                                                                + *

                                                                The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

                                                                */ - EventType?: EventType | string; + InstanceType?: string; /** - *

                                                                The ID of the Spot Fleet request.

                                                                + *

                                                                The network platform (EC2-Classic or EC2-VPC).

                                                                */ - SpotFleetRequestId: string | undefined; + NetworkPlatform?: string; /** - *

                                                                The token for the next set of results.

                                                                + *

                                                                The platform (Linux/UNIX or Windows).

                                                                */ - NextToken?: string; + Platform?: string; /** - *

                                                                The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                + *

                                                                The number of available instances.

                                                                */ - StartTime: Date | undefined; + AvailableInstanceCount?: number; /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The purchase token. This token expires in two hours.

                                                                */ - DryRun?: boolean; + PurchaseToken?: string; /** - *

                                                                The maximum number of results to return in a single call. - * Specify a value between 1 and 1000. The default value is 1000. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                                + *

                                                                The Availability Zone.

                                                                */ - MaxResults?: number; + AvailabilityZone?: string; } -export namespace DescribeSpotFleetRequestHistoryRequest { - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryRequest): any => ({ +export namespace ScheduledInstanceAvailability { + export const filterSensitiveLog = (obj: ScheduledInstanceAvailability): any => ({ ...obj, }); } /** - *

                                                                Describes an event in the history of the Spot Fleet request.

                                                                + *

                                                                Contains the output of DescribeScheduledInstanceAvailability.

                                                                */ -export interface HistoryRecord { - /** - *

                                                                The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                - */ - Timestamp?: Date; - +export interface DescribeScheduledInstanceAvailabilityResult { /** - *

                                                                Information about the event.

                                                                + *

                                                                Information about the available Scheduled Instances.

                                                                */ - EventInformation?: EventInformation; + ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[]; /** - *

                                                                The event type.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * error - An error with the Spot Fleet request.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * fleetRequestChange - A change in the status or configuration of the Spot Fleet request.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * instanceChange - An instance was launched or terminated.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Information - An informational event.

                                                                  - *
                                                                • - *
                                                                + *

                                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                                */ - EventType?: EventType | string; + NextToken?: string; } -export namespace HistoryRecord { - export const filterSensitiveLog = (obj: HistoryRecord): any => ({ +export namespace DescribeScheduledInstanceAvailabilityResult { + export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityResult): any => ({ ...obj, }); } /** - *

                                                                Contains the output of DescribeSpotFleetRequestHistory.

                                                                + *

                                                                Describes the time period for a Scheduled Instance to start its first schedule.

                                                                */ -export interface DescribeSpotFleetRequestHistoryResponse { +export interface SlotStartTimeRangeRequest { /** - *

                                                                Information about the events in the history of the Spot Fleet request.

                                                                + *

                                                                The earliest date and time, in UTC, for the Scheduled Instance to start.

                                                                */ - HistoryRecords?: HistoryRecord[]; + EarliestTime?: Date; /** - *

                                                                The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                - */ - StartTime?: Date; - - /** - *

                                                                The ID of the Spot Fleet request.

                                                                - */ - SpotFleetRequestId?: string; - - /** - *

                                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                                - */ - NextToken?: string; - - /** - *

                                                                The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). - * All records up to this time were retrieved.

                                                                - *

                                                                If nextToken indicates that there are more results, this value is not present.

                                                                + *

                                                                The latest date and time, in UTC, for the Scheduled Instance to start.

                                                                */ - LastEvaluatedTime?: Date; + LatestTime?: Date; } -export namespace DescribeSpotFleetRequestHistoryResponse { - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryResponse): any => ({ +export namespace SlotStartTimeRangeRequest { + export const filterSensitiveLog = (obj: SlotStartTimeRangeRequest): any => ({ ...obj, }); } /** - *

                                                                Contains the parameters for DescribeSpotFleetRequests.

                                                                + *

                                                                Contains the parameters for DescribeScheduledInstances.

                                                                */ -export interface DescribeSpotFleetRequestsRequest { +export interface DescribeScheduledInstancesRequest { /** *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ DryRun?: boolean; /** - *

                                                                The maximum number of results to return in a single call. - * Specify a value between 1 and 1000. The default value is 1000. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                                + *

                                                                The Scheduled Instance IDs.

                                                                */ - MaxResults?: number; + ScheduledInstanceIds?: string[]; /** *

                                                                The token for the next set of results.

                                                                @@ -2727,2136 +2507,2415 @@ export interface DescribeSpotFleetRequestsRequest { NextToken?: string; /** - *

                                                                The IDs of the Spot Fleet requests.

                                                                + *

                                                                The time period for the first schedule to start.

                                                                */ - SpotFleetRequestIds?: string[]; -} - -export namespace DescribeSpotFleetRequestsRequest { - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsRequest): any => ({ - ...obj, - }); -} + SlotStartTimeRange?: SlotStartTimeRangeRequest; -export enum ExcessCapacityTerminationPolicy { - DEFAULT = "default", - NO_TERMINATION = "noTermination", -} + /** + *

                                                                The maximum number of results to return in a single call. + * This value can be between 5 and 300. The default value is 100. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                                + */ + MaxResults?: number; -/** - *

                                                                Describes whether monitoring is enabled.

                                                                - */ -export interface SpotFleetMonitoring { /** - *

                                                                Enables monitoring for the instance.

                                                                - *

                                                                Default: false - *

                                                                + *

                                                                The filters.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * availability-zone - The Availability Zone (for example, us-west-2a).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * instance-type - The instance type (for example, c4.large).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * platform - The platform (Linux/UNIX or Windows).

                                                                  + *
                                                                • + *
                                                                */ - Enabled?: boolean; + Filters?: Filter[]; } -export namespace SpotFleetMonitoring { - export const filterSensitiveLog = (obj: SpotFleetMonitoring): any => ({ +export namespace DescribeScheduledInstancesRequest { + export const filterSensitiveLog = (obj: DescribeScheduledInstancesRequest): any => ({ ...obj, }); } /** - *

                                                                Describes a network interface.

                                                                + *

                                                                Describes a Scheduled Instance.

                                                                */ -export interface InstanceNetworkInterfaceSpecification { +export interface ScheduledInstance { /** - *

                                                                If set to true, the interface is deleted when the instance is terminated. You can - * specify true only if creating a new network interface when launching an - * instance.

                                                                + *

                                                                The Scheduled Instance ID.

                                                                */ - DeleteOnTermination?: boolean; + ScheduledInstanceId?: string; /** - *

                                                                The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching - * more than one instance in a RunInstances request.

                                                                + *

                                                                The Availability Zone.

                                                                */ - PrivateIpAddress?: string; + AvailabilityZone?: string; /** - *

                                                                The position of the network interface in the attachment order. - * A primary network interface has a device index of 0.

                                                                - *

                                                                If you specify a network interface when launching an instance, - * you must specify the device index.

                                                                + *

                                                                The number of hours in the schedule.

                                                                */ - DeviceIndex?: number; + SlotDurationInHours?: number; /** - *

                                                                One or more IPv6 addresses to assign to the network interface. You cannot specify - * this option and the option to assign a number of IPv6 addresses in the same request. You - * cannot specify this option if you've specified a minimum number of instances to - * launch.

                                                                + *

                                                                The network platform (EC2-Classic or EC2-VPC).

                                                                */ - Ipv6Addresses?: InstanceIpv6Address[]; + NetworkPlatform?: string; /** - *

                                                                The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're - * launching more than one instance in a RunInstances request.

                                                                + *

                                                                The number of instances.

                                                                */ - SecondaryPrivateIpAddressCount?: number; + InstanceCount?: number; /** - *

                                                                The ID of the network interface.

                                                                - *

                                                                If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

                                                                + *

                                                                The time for the next schedule to start.

                                                                */ - NetworkInterfaceId?: string; + NextSlotStartTime?: Date; /** - *

                                                                The type of network interface. To create an Elastic Fabric Adapter (EFA), specify - * efa. For more information, see Elastic Fabric Adapter in the - * Amazon Elastic Compute Cloud User Guide.

                                                                - *

                                                                If you are not creating an EFA, specify interface or omit this parameter.

                                                                - *

                                                                Valid values: interface | efa - *

                                                                + *

                                                                The schedule recurrence.

                                                                */ - InterfaceType?: string; + Recurrence?: ScheduledInstanceRecurrence; /** - *

                                                                One or more private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're - * launching more than one instance in a RunInstances request.

                                                                + *

                                                                The hourly price for a single instance.

                                                                */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + HourlyPrice?: string; /** - *

                                                                The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

                                                                + *

                                                                The platform (Linux/UNIX or Windows).

                                                                */ - SubnetId?: string; + Platform?: string; /** - *

                                                                The description of the network interface. Applies only if creating a network interface when launching an instance.

                                                                + *

                                                                The time that the previous schedule ended or will end.

                                                                */ - Description?: string; + PreviousSlotEndTime?: Date; /** - *

                                                                The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

                                                                + *

                                                                The date when the Scheduled Instance was purchased.

                                                                */ - Groups?: string[]; + CreateDate?: Date; /** - *

                                                                A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses - * the IPv6 addresses from the range of the subnet. You cannot specify this option and the - * option to assign specific IPv6 addresses in the same request. You can specify this - * option if you've specified a minimum number of instances to launch.

                                                                + *

                                                                The total number of hours for a single instance for the entire term.

                                                                */ - Ipv6AddressCount?: number; + TotalScheduledInstanceHours?: number; /** - *

                                                                Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The - * public IP address can only be assigned to a network interface for eth0, and can only be - * assigned to a new network interface, not an existing one. You cannot specify more than one - * network interface in the request. If launching into a default subnet, the default value is - * true.

                                                                + *

                                                                The end date for the Scheduled Instance.

                                                                */ - AssociatePublicIpAddress?: boolean; + TermEndDate?: Date; + + /** + *

                                                                The start date for the Scheduled Instance.

                                                                + */ + TermStartDate?: Date; + + /** + *

                                                                The instance type.

                                                                + */ + InstanceType?: string; } -export namespace InstanceNetworkInterfaceSpecification { - export const filterSensitiveLog = (obj: InstanceNetworkInterfaceSpecification): any => ({ +export namespace ScheduledInstance { + export const filterSensitiveLog = (obj: ScheduledInstance): any => ({ ...obj, }); } /** - *

                                                                Describes Spot Instance placement.

                                                                + *

                                                                Contains the output of DescribeScheduledInstances.

                                                                */ -export interface SpotPlacement { - /** - *

                                                                The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy - * of dedicated runs on single-tenant hardware. The host tenancy is not - * supported for Spot Instances.

                                                                - */ - Tenancy?: Tenancy | string; - +export interface DescribeScheduledInstancesResult { /** - *

                                                                The Availability Zone.

                                                                - *

                                                                [Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, "us-west-2a, us-west-2b".

                                                                + *

                                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                                */ - AvailabilityZone?: string; + NextToken?: string; /** - *

                                                                The name of the placement group.

                                                                + *

                                                                Information about the Scheduled Instances.

                                                                */ - GroupName?: string; + ScheduledInstanceSet?: ScheduledInstance[]; } -export namespace SpotPlacement { - export const filterSensitiveLog = (obj: SpotPlacement): any => ({ +export namespace DescribeScheduledInstancesResult { + export const filterSensitiveLog = (obj: DescribeScheduledInstancesResult): any => ({ ...obj, }); } -/** - *

                                                                The tags for a Spot Fleet resource.

                                                                - */ -export interface SpotFleetTagSpecification { +export interface DescribeSecurityGroupReferencesRequest { /** - *

                                                                The tags.

                                                                + *

                                                                The IDs of the security groups in your account.

                                                                */ - Tags?: Tag[]; + GroupId: string[] | undefined; /** - *

                                                                The type of resource. Currently, the only resource type that is supported is - * instance. To tag the Spot Fleet request on creation, use the - * TagSpecifications parameter in - * SpotFleetRequestConfigData - * .

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - ResourceType?: ResourceType | string; + DryRun?: boolean; } -export namespace SpotFleetTagSpecification { - export const filterSensitiveLog = (obj: SpotFleetTagSpecification): any => ({ +export namespace DescribeSecurityGroupReferencesRequest { + export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesRequest): any => ({ ...obj, }); } /** - *

                                                                Describes the launch specification for one or more Spot Instances. If you include - * On-Demand capacity in your fleet request, you can't use - * SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

                                                                + *

                                                                Describes a VPC with a security group that references your security group.

                                                                */ -export interface SpotFleetLaunchSpecification { +export interface SecurityGroupReference { /** - *

                                                                One or more block devices that are mapped to the Spot Instances. You can't specify both - * a snapshot ID and an encryption value. This is because only blank volumes can be - * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its - * encryption status is used for the volume encryption status.

                                                                + *

                                                                The ID of the VPC with the referencing security group.

                                                                */ - BlockDeviceMappings?: BlockDeviceMapping[]; + ReferencingVpcId?: string; /** - *

                                                                One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

                                                                + *

                                                                The ID of your security group.

                                                                */ - SecurityGroups?: GroupIdentifier[]; + GroupId?: string; /** - *

                                                                Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

                                                                - *

                                                                Default: false - *

                                                                + *

                                                                The ID of the VPC peering connection.

                                                                */ - EbsOptimized?: boolean; + VpcPeeringConnectionId?: string; +} + +export namespace SecurityGroupReference { + export const filterSensitiveLog = (obj: SecurityGroupReference): any => ({ + ...obj, + }); +} +export interface DescribeSecurityGroupReferencesResult { /** - *

                                                                One or more network interfaces. If you specify a network interface, you must specify - * subnet IDs and security group IDs using the network interface.

                                                                + *

                                                                Information about the VPCs with the referencing security groups.

                                                                */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + SecurityGroupReferenceSet?: SecurityGroupReference[]; +} +export namespace DescribeSecurityGroupReferencesResult { + export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesResult): any => ({ + ...obj, + }); +} + +export interface DescribeSecurityGroupsRequest { /** - *

                                                                The name of the key pair.

                                                                + *

                                                                The token to request the next page of results.

                                                                */ - KeyName?: string; + NextToken?: string; /** - *

                                                                The placement information.

                                                                + *

                                                                The IDs of the security groups. Required for security groups in a nondefault VPC.

                                                                + *

                                                                Default: Describes all your security groups.

                                                                */ - Placement?: SpotPlacement; + GroupIds?: string[]; /** - *

                                                                The instance type.

                                                                + *

                                                                The maximum number of results to return in a single call. To retrieve the remaining + * results, make another request with the returned NextToken value. This value + * can be between 5 and 1000. If this parameter is not specified, then all results are + * returned.

                                                                */ - InstanceType?: _InstanceType | string; + MaxResults?: number; /** - *

                                                                Enable or disable monitoring for the instances.

                                                                + *

                                                                [EC2-Classic and default VPC only] The names of the security groups. You can specify either + * the security group name or the security group ID. For security groups in a nondefault VPC, use + * the group-name filter to describe security groups by name.

                                                                + *

                                                                Default: Describes all your security groups.

                                                                */ - Monitoring?: SpotFleetMonitoring; + GroupNames?: string[]; /** - *

                                                                The maximum price per unit hour that you are willing to pay for a Spot Instance. - * If this value is not specified, the default is the Spot price specified for the fleet. - * To determine the Spot price per unit hour, divide the Spot price by the - * value of WeightedCapacity.

                                                                + *

                                                                The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * description - The description of the security group.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound + * security group rule.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * egress.ip-permission.from-port - For an outbound rule, the + * start of port range for the TCP and UDP protocols, or an ICMP type + * number.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * egress.ip-permission.group-id - The ID of a security group + * that has been referenced in an outbound security group rule.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * egress.ip-permission.group-name - The name of a security group + * that has been referenced in an outbound security group rule.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an + * outbound security group rule.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * egress.ip-permission.protocol - The IP protocol for an + * outbound security group rule (tcp | udp | + * icmp or a protocol number).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * egress.ip-permission.to-port - For an outbound rule, the end + * of port range for the TCP and UDP protocols, or an ICMP code.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * egress.ip-permission.user-id - The ID of an AWS account that + * has been referenced in an outbound security group rule.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * group-id - The ID of the security group.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * group-name - The name of the security group.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ip-permission.cidr - An IPv4 CIDR block for an inbound security + * group rule.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ip-permission.from-port - For an inbound rule, the start of port + * range for the TCP and UDP protocols, or an ICMP type number.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ip-permission.group-id - The ID of a security group that has been + * referenced in an inbound security group rule.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ip-permission.group-name - The name of a security group that has + * been referenced in an inbound security group rule.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security + * group rule.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ip-permission.protocol - The IP protocol for an inbound security + * group rule (tcp | udp | icmp or a + * protocol number).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ip-permission.to-port - For an inbound rule, the end of port range + * for the TCP and UDP protocols, or an ICMP code.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ip-permission.user-id - The ID of an AWS account that has been + * referenced in an inbound security group rule.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * owner-id - The AWS account ID of the owner of the security group.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * vpc-id - The ID of the VPC specified when the security group was created.

                                                                  + *
                                                                • + *
                                                                */ - SpotPrice?: string; + Filters?: Filter[]; /** - *

                                                                The tags to apply during creation.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - TagSpecifications?: SpotFleetTagSpecification[]; + DryRun?: boolean; +} + +export namespace DescribeSecurityGroupsRequest { + export const filterSensitiveLog = (obj: DescribeSecurityGroupsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes a security group

                                                                + */ +export interface SecurityGroup { /** - *

                                                                The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID.

                                                                + *

                                                                The ID of the security group.

                                                                */ - RamdiskId?: string; + GroupId?: string; /** - *

                                                                The Base64-encoded user data that instances use when starting up.

                                                                + *

                                                                The inbound rules associated with the security group.

                                                                */ - UserData?: string; + IpPermissions?: IpPermission[]; /** - *

                                                                The ID of the AMI.

                                                                + *

                                                                [VPC only] The outbound rules associated with the security group.

                                                                */ - ImageId?: string; + IpPermissionsEgress?: IpPermission[]; /** - *

                                                                The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

                                                                - *

                                                                If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

                                                                + *

                                                                A description of the security group.

                                                                */ - WeightedCapacity?: number; + Description?: string; /** - *

                                                                The IAM instance profile.

                                                                + *

                                                                Any tags assigned to the security group.

                                                                */ - IamInstanceProfile?: IamInstanceProfileSpecification; + Tags?: Tag[]; /** - *

                                                                The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate - * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

                                                                + *

                                                                The AWS account ID of the owner of the security group.

                                                                */ - SubnetId?: string; + OwnerId?: string; /** - *

                                                                Deprecated.

                                                                + *

                                                                [VPC only] The ID of the VPC for the security group.

                                                                */ - AddressingType?: string; + VpcId?: string; /** - *

                                                                The ID of the kernel.

                                                                + *

                                                                The name of the security group.

                                                                */ - KernelId?: string; + GroupName?: string; } -export namespace SpotFleetLaunchSpecification { - export const filterSensitiveLog = (obj: SpotFleetLaunchSpecification): any => ({ +export namespace SecurityGroup { + export const filterSensitiveLog = (obj: SecurityGroup): any => ({ ...obj, }); } -/** - *

                                                                Describes overrides for a launch template.

                                                                - */ -export interface LaunchTemplateOverrides { - /** - *

                                                                The priority for the launch template override. If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses - * priority to determine which launch template override to use first in fulfilling - * On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower - * the number, the higher the priority. If no number is set, the launch template override - * has the lowest priority.

                                                                - */ - Priority?: number; - +export interface DescribeSecurityGroupsResult { /** - *

                                                                The instance type.

                                                                + *

                                                                Information about the security groups.

                                                                */ - InstanceType?: _InstanceType | string; + SecurityGroups?: SecurityGroup[]; /** - *

                                                                The maximum price per unit hour that you are willing to pay for a Spot Instance.

                                                                + *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                */ - SpotPrice?: string; + NextToken?: string; +} - /** - *

                                                                The number of units provided by the specified instance type.

                                                                - */ - WeightedCapacity?: number; +export namespace DescribeSecurityGroupsResult { + export const filterSensitiveLog = (obj: DescribeSecurityGroupsResult): any => ({ + ...obj, + }); +} + +export type SnapshotAttributeName = "createVolumePermission" | "productCodes"; +export interface DescribeSnapshotAttributeRequest { /** - *

                                                                The ID of the subnet in which to launch the instances.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - SubnetId?: string; + DryRun?: boolean; /** - *

                                                                The Availability Zone in which to launch the instances.

                                                                + *

                                                                The snapshot attribute you would like to view.

                                                                */ - AvailabilityZone?: string; + Attribute: SnapshotAttributeName | string | undefined; + + /** + *

                                                                The ID of the EBS snapshot.

                                                                + */ + SnapshotId: string | undefined; } -export namespace LaunchTemplateOverrides { - export const filterSensitiveLog = (obj: LaunchTemplateOverrides): any => ({ +export namespace DescribeSnapshotAttributeRequest { + export const filterSensitiveLog = (obj: DescribeSnapshotAttributeRequest): any => ({ ...obj, }); } /** - *

                                                                Describes a launch template and overrides.

                                                                + *

                                                                Describes the user or group to be added or removed from the list of create volume + * permissions for a volume.

                                                                */ -export interface LaunchTemplateConfig { +export interface CreateVolumePermission { /** - *

                                                                The launch template.

                                                                + *

                                                                The group to be added or removed. The possible value is all.

                                                                */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + Group?: PermissionGroup | string; /** - *

                                                                Any parameters that you specify override the same parameters in the launch template.

                                                                + *

                                                                The AWS account ID to be added or removed.

                                                                */ - Overrides?: LaunchTemplateOverrides[]; + UserId?: string; } -export namespace LaunchTemplateConfig { - export const filterSensitiveLog = (obj: LaunchTemplateConfig): any => ({ +export namespace CreateVolumePermission { + export const filterSensitiveLog = (obj: CreateVolumePermission): any => ({ ...obj, }); } -/** - *

                                                                Describes a Classic Load Balancer.

                                                                - */ -export interface ClassicLoadBalancer { +export interface DescribeSnapshotAttributeResult { /** - *

                                                                The name of the load balancer.

                                                                + *

                                                                The ID of the EBS snapshot.

                                                                */ - Name?: string; + SnapshotId?: string; + + /** + *

                                                                The users and groups that have the permissions for creating volumes from the + * snapshot.

                                                                + */ + CreateVolumePermissions?: CreateVolumePermission[]; + + /** + *

                                                                The product codes.

                                                                + */ + ProductCodes?: ProductCode[]; } -export namespace ClassicLoadBalancer { - export const filterSensitiveLog = (obj: ClassicLoadBalancer): any => ({ +export namespace DescribeSnapshotAttributeResult { + export const filterSensitiveLog = (obj: DescribeSnapshotAttributeResult): any => ({ ...obj, }); } -/** - *

                                                                Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances - * with these Classic Load Balancers.

                                                                - */ -export interface ClassicLoadBalancersConfig { +export interface DescribeSnapshotsRequest { /** - *

                                                                One or more Classic Load Balancers.

                                                                + *

                                                                The IDs of the AWS accounts that can create volumes from the snapshot.

                                                                */ - ClassicLoadBalancers?: ClassicLoadBalancer[]; + RestorableByUserIds?: string[]; + + /** + *

                                                                The NextToken value returned from a previous paginated + * DescribeSnapshots 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. This value is + * null when there are no more results to return.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The maximum number of snapshot results returned by DescribeSnapshots in + * paginated output. When this parameter is used, DescribeSnapshots only returns + * MaxResults results in a single page along with a NextToken + * response element. The remaining results of the initial request can be seen by sending another + * DescribeSnapshots request with the returned NextToken value. This + * value can be between 5 and 1000; if MaxResults is given a value larger than 1000, + * only 1000 results are returned. If this parameter is not used, then + * DescribeSnapshots returns all results. You cannot specify this parameter and + * the snapshot IDs parameter in the same request.

                                                                + */ + MaxResults?: number; + + /** + *

                                                                The filters.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * description - A description of the snapshot.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * encrypted - Indicates whether the snapshot is encrypted + * (true | false)

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * owner-alias - The owner alias, from an Amazon-maintained list + * (amazon). + * This is not the user-configured AWS account alias set using the IAM console. + * We recommend that you use the related parameter instead of this filter.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * owner-id - The AWS account ID of the owner. We recommend that + * you use the related parameter instead of this filter.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * progress - The progress of the snapshot, as a percentage (for example, + * 80%).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * snapshot-id - The snapshot ID.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * start-time - The time stamp when the snapshot was initiated.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * status - The status of the snapshot (pending | + * completed | error).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * volume-id - The ID of the volume the snapshot is for.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * volume-size - The size of the volume, in GiB.

                                                                  + *
                                                                • + *
                                                                + */ + Filters?: Filter[]; + + /** + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                + */ + DryRun?: boolean; + + /** + *

                                                                Scopes the results to snapshots with the specified owners. You can specify a combination of + * AWS account IDs, self, and amazon.

                                                                + */ + OwnerIds?: string[]; + + /** + *

                                                                The snapshot IDs.

                                                                + *

                                                                Default: Describes the snapshots for which you have create volume permissions.

                                                                + */ + SnapshotIds?: string[]; } -export namespace ClassicLoadBalancersConfig { - export const filterSensitiveLog = (obj: ClassicLoadBalancersConfig): any => ({ +export namespace DescribeSnapshotsRequest { + export const filterSensitiveLog = (obj: DescribeSnapshotsRequest): any => ({ ...obj, }); } -/** - *

                                                                Describes a load balancer target group.

                                                                - */ -export interface TargetGroup { +export interface DescribeSnapshotsResult { /** - *

                                                                The Amazon Resource Name (ARN) of the target group.

                                                                + *

                                                                Information about the snapshots.

                                                                */ - Arn?: string; + Snapshots?: Snapshot[]; + + /** + *

                                                                The NextToken value to include in a future DescribeSnapshots + * request. When the results of a DescribeSnapshots request exceed + * MaxResults, this value can be used to retrieve the next page of results. This + * value is null when there are no more results to return.

                                                                + */ + NextToken?: string; } -export namespace TargetGroup { - export const filterSensitiveLog = (obj: TargetGroup): any => ({ +export namespace DescribeSnapshotsResult { + export const filterSensitiveLog = (obj: DescribeSnapshotsResult): any => ({ ...obj, }); } /** - *

                                                                Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances - * with these target groups.

                                                                + *

                                                                Contains the parameters for DescribeSpotDatafeedSubscription.

                                                                */ -export interface TargetGroupsConfig { +export interface DescribeSpotDatafeedSubscriptionRequest { /** - *

                                                                One or more target groups.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - TargetGroups?: TargetGroup[]; + DryRun?: boolean; } -export namespace TargetGroupsConfig { - export const filterSensitiveLog = (obj: TargetGroupsConfig): any => ({ +export namespace DescribeSpotDatafeedSubscriptionRequest { + export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionRequest): any => ({ ...obj, }); } /** - *

                                                                Describes the Classic Load Balancers and target groups to attach to a Spot Fleet request.

                                                                + *

                                                                Contains the output of DescribeSpotDatafeedSubscription.

                                                                */ -export interface LoadBalancersConfig { - /** - *

                                                                The target groups.

                                                                - */ - TargetGroupsConfig?: TargetGroupsConfig; - +export interface DescribeSpotDatafeedSubscriptionResult { /** - *

                                                                The Classic Load Balancers.

                                                                + *

                                                                The Spot Instance data feed subscription.

                                                                */ - ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig; + SpotDatafeedSubscription?: SpotDatafeedSubscription; } -export namespace LoadBalancersConfig { - export const filterSensitiveLog = (obj: LoadBalancersConfig): any => ({ +export namespace DescribeSpotDatafeedSubscriptionResult { + export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionResult): any => ({ ...obj, }); } -export enum OnDemandAllocationStrategy { - LOWEST_PRICE = "lowestPrice", - PRIORITIZED = "prioritized", -} - /** - *

                                                                Describes the configuration of a Spot Fleet request.

                                                                + *

                                                                Contains the parameters for DescribeSpotFleetInstances.

                                                                */ -export interface SpotFleetRequestConfigData { +export interface DescribeSpotFleetInstancesRequest { /** - *

                                                                The key-value pair for tagging the Spot Fleet request on creation. The value for - * ResourceType must be spot-fleet-request, otherwise the - * Spot Fleet request fails. To tag instances at launch, specify the tags in the launch - * template (valid only if you use LaunchTemplateConfigs) or in - * the - * SpotFleetTagSpecification - * (valid only if you use - * LaunchSpecifications). For information about tagging after launch, see - * Tagging Your Resources.

                                                                + *

                                                                The maximum number of results to return in a single call. + * Specify a value between 1 and 1000. The default value is 1000. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                                */ - TagSpecifications?: TagSpecification[]; + MaxResults?: number; /** - *

                                                                The number of units to request for the Spot Fleet. You can choose to set the target - * capacity in terms of instances or a performance characteristic that is important to your - * application workload, such as vCPUs, memory, or I/O. If the request type is - * maintain, you can specify a target capacity of 0 and add capacity - * later.

                                                                + *

                                                                The ID of the Spot Fleet request.

                                                                */ - TargetCapacity: number | undefined; + SpotFleetRequestId: string | undefined; /** - *

                                                                The start date and time of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ). - * By default, Amazon EC2 starts fulfilling the request immediately.

                                                                + *

                                                                The token for the next set of results.

                                                                */ - ValidFrom?: Date; + NextToken?: string; /** - *

                                                                The behavior when a Spot Instance is interrupted. The default is terminate.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + DryRun?: boolean; +} - /** - *

                                                                The launch template and overrides. If you specify LaunchTemplateConfigs, - * you can't specify LaunchSpecifications. If you include On-Demand capacity - * in your request, you must use LaunchTemplateConfigs.

                                                                - */ - LaunchTemplateConfigs?: LaunchTemplateConfig[]; +export namespace DescribeSpotFleetInstancesRequest { + export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                Contains the output of DescribeSpotFleetInstances.

                                                                + */ +export interface DescribeSpotFleetInstancesResponse { /** - *

                                                                Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by - * the Spot Fleet request.

                                                                - *

                                                                If the allocation strategy is lowestPrice, Spot Fleet launches instances from - * the Spot Instance pools with the lowest price. This is the default allocation strategy.

                                                                - *

                                                                If the allocation strategy is diversified, Spot Fleet launches instances from - * all the Spot Instance pools that you specify.

                                                                - *

                                                                If the allocation strategy is capacityOptimized, Spot Fleet launches instances - * from Spot Instance pools with optimal capacity for the number of instances that are - * launching.

                                                                + *

                                                                The running instances. This list is refreshed periodically and might be out of + * date.

                                                                */ - AllocationStrategy?: AllocationStrategy | string; + ActiveInstances?: ActiveInstance[]; /** - *

                                                                The number of units fulfilled by this request compared to the set target capacity. You cannot set this value.

                                                                + *

                                                                The ID of the Spot Fleet request.

                                                                */ - FulfilledCapacity?: number; + SpotFleetRequestId?: string; /** - *

                                                                The maximum price per unit hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.

                                                                + *

                                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                                */ - SpotPrice?: string; + NextToken?: string; +} - /** - *

                                                                Indicates whether Spot Fleet should replace unhealthy instances.

                                                                - */ - ReplaceUnhealthyInstances?: boolean; +export namespace DescribeSpotFleetInstancesResponse { + export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesResponse): any => ({ + ...obj, + }); +} + +export enum EventType { + BATCH_CHANGE = "fleetRequestChange", + ERROR = "error", + INFORMATION = "information", + INSTANCE_CHANGE = "instanceChange", +} +/** + *

                                                                Contains the parameters for DescribeSpotFleetRequestHistory.

                                                                + */ +export interface DescribeSpotFleetRequestHistoryRequest { /** - *

                                                                The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that - * grants the Spot Fleet the permission to request, launch, terminate, and tag instances on - * your behalf. For more information, see Spot - * Fleet prerequisites in the Amazon EC2 User Guide for Linux Instances. Spot Fleet - * can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using - * CancelSpotFleetRequests or when the Spot Fleet request expires, if - * you set TerminateInstancesWithExpiration.

                                                                + *

                                                                The token for the next set of results.

                                                                */ - IamFleetRole: string | undefined; + NextToken?: string; /** - *

                                                                The maximum amount per hour for Spot Instances that you're willing to pay. - * You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice - * parameter, or both parameters to ensure that your fleet cost does not exceed - * your budget. If you set a maximum price per hour for the On-Demand Instances and - * Spot Instances in your request, Spot Fleet will launch instances until it reaches - * the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, - * the fleet stops launching instances even if it hasn’t met the target capacity.

                                                                + *

                                                                The ID of the Spot Fleet request.

                                                                */ - SpotMaxTotalPrice?: string; + SpotFleetRequestId: string | undefined; /** - *

                                                                The number of Spot pools across which to allocate your target Spot capacity. Valid - * only when Spot AllocationStrategy is set to - * lowest-price. Spot Fleet selects the cheapest Spot pools and evenly - * allocates your target Spot capacity across the number of Spot pools that you - * specify.

                                                                + *

                                                                The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                */ - InstancePoolsToUseCount?: number; + StartTime: Date | undefined; /** - *

                                                                One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. - * Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups.

                                                                - *

                                                                With Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: - * C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.

                                                                + *

                                                                The maximum number of results to return in a single call. + * Specify a value between 1 and 1000. The default value is 1000. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                                */ - LoadBalancersConfig?: LoadBalancersConfig; + MaxResults?: number; /** - *

                                                                Indicates whether running Spot Instances should be terminated if you decrease the target - * capacity of the Spot Fleet request below the current size of the Spot Fleet.

                                                                + *

                                                                The type of events to describe. By default, all events are described.

                                                                */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; + EventType?: EventType | string; /** - *

                                                                The maximum amount per hour for On-Demand Instances that you're willing to pay. - * You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice - * parameter, or both parameters to ensure that your fleet cost does not exceed - * your budget. If you set a maximum price per hour for the On-Demand Instances and - * Spot Instances in your request, Spot Fleet will launch instances until it reaches - * the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, - * the fleet stops launching instances even if it hasn’t met the target capacity.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - OnDemandMaxTotalPrice?: string; + DryRun?: boolean; +} + +export namespace DescribeSpotFleetRequestHistoryRequest { + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes an event in the history of the Spot Fleet request.

                                                                + */ +export interface HistoryRecord { /** - *

                                                                The end date and time of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ). - * After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. - * If no value is specified, the Spot Fleet request remains until you cancel it.

                                                                + *

                                                                The event type.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * error - An error with the Spot Fleet request.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * fleetRequestChange - A change in the status or configuration of the Spot Fleet request.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * instanceChange - An instance was launched or terminated.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Information - An informational event.

                                                                  + *
                                                                • + *
                                                                */ - ValidUntil?: Date; + EventType?: EventType | string; /** - *

                                                                The type of request. Indicates whether the Spot Fleet only requests the target capacity - * or also attempts to maintain it. When this value is request, the Spot Fleet - * only places the required requests. It does not attempt to replenish Spot Instances if - * capacity is diminished, nor does it submit requests in alternative Spot pools if - * capacity is not available. When this value is maintain, the Spot Fleet - * maintains the target capacity. The Spot Fleet places the required requests to meet - * capacity and automatically replenishes any interrupted instances. Default: - * maintain. instant is listed but is not used by Spot - * Fleet.

                                                                + *

                                                                The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                */ - Type?: FleetType | string; + Timestamp?: Date; /** - *

                                                                The launch specifications for the Spot Fleet request. If you specify - * LaunchSpecifications, you can't specify - * LaunchTemplateConfigs. If you include On-Demand capacity in your - * request, you must use LaunchTemplateConfigs.

                                                                + *

                                                                Information about the event.

                                                                */ - LaunchSpecifications?: SpotFleetLaunchSpecification[]; + EventInformation?: EventInformation; +} + +export namespace HistoryRecord { + export const filterSensitiveLog = (obj: HistoryRecord): any => ({ + ...obj, + }); +} +/** + *

                                                                Contains the output of DescribeSpotFleetRequestHistory.

                                                                + */ +export interface DescribeSpotFleetRequestHistoryResponse { /** - *

                                                                The order of the launch template overrides to use in fulfilling On-Demand capacity. - * If you specify lowestPrice, Spot Fleet uses price to determine the order, - * launching the lowest price first. If you specify prioritized, Spot Fleet uses the - * priority that you assign to each Spot Fleet launch template override, launching the highest - * priority first. If you do not specify a value, Spot Fleet defaults to - * lowestPrice.

                                                                + *

                                                                The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                */ - OnDemandAllocationStrategy?: OnDemandAllocationStrategy | string; + StartTime?: Date; /** - *

                                                                The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.

                                                                + *

                                                                The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). + * All records up to this time were retrieved.

                                                                + *

                                                                If nextToken indicates that there are more results, this value is not present.

                                                                */ - OnDemandFulfilledCapacity?: number; + LastEvaluatedTime?: Date; /** - *

                                                                The number of On-Demand units to request. You can choose to set the target capacity - * in terms of instances or a performance characteristic that is important to your - * application workload, such as vCPUs, memory, or I/O. If the request type is - * maintain, you can specify a target capacity of 0 and add capacity - * later.

                                                                + *

                                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                                */ - OnDemandTargetCapacity?: number; + NextToken?: string; /** - *

                                                                A unique, case-sensitive identifier that you provide to ensure the idempotency of - * your listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

                                                                + *

                                                                The ID of the Spot Fleet request.

                                                                */ - ClientToken?: string; + SpotFleetRequestId?: string; /** - *

                                                                Indicates whether running Spot Instances are terminated when the Spot Fleet request - * expires.

                                                                + *

                                                                Information about the events in the history of the Spot Fleet request.

                                                                */ - TerminateInstancesWithExpiration?: boolean; + HistoryRecords?: HistoryRecord[]; } -export namespace SpotFleetRequestConfigData { - export const filterSensitiveLog = (obj: SpotFleetRequestConfigData): any => ({ +export namespace DescribeSpotFleetRequestHistoryResponse { + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryResponse): any => ({ ...obj, }); } /** - *

                                                                Describes a Spot Fleet request.

                                                                + *

                                                                Contains the parameters for DescribeSpotFleetRequests.

                                                                */ -export interface SpotFleetRequestConfig { +export interface DescribeSpotFleetRequestsRequest { /** - *

                                                                The ID of the Spot Fleet request.

                                                                + *

                                                                The maximum number of results to return in a single call. + * Specify a value between 1 and 1000. The default value is 1000. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                                */ - SpotFleetRequestId?: string; + MaxResults?: number; /** - *

                                                                The state of the Spot Fleet request.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - SpotFleetRequestState?: BatchState | string; + DryRun?: boolean; /** - *

                                                                The progress of the Spot Fleet request. - * If there is an error, the status is error. - * After all requests are placed, the status is pending_fulfillment. - * If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. - * If the size of the fleet is decreased, the status is pending_termination - * while Spot Instances are terminating.

                                                                + *

                                                                The IDs of the Spot Fleet requests.

                                                                */ - ActivityStatus?: ActivityStatus | string; + SpotFleetRequestIds?: string[]; /** - *

                                                                The creation date and time of the request.

                                                                + *

                                                                The token for the next set of results.

                                                                */ - CreateTime?: Date; + NextToken?: string; +} + +export namespace DescribeSpotFleetRequestsRequest { + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsRequest): any => ({ + ...obj, + }); +} + +export enum ExcessCapacityTerminationPolicy { + DEFAULT = "default", + NO_TERMINATION = "noTermination", +} + +/** + *

                                                                Describes whether monitoring is enabled.

                                                                + */ +export interface SpotFleetMonitoring { + /** + *

                                                                Enables monitoring for the instance.

                                                                + *

                                                                Default: false + *

                                                                + */ + Enabled?: boolean; +} + +export namespace SpotFleetMonitoring { + export const filterSensitiveLog = (obj: SpotFleetMonitoring): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes a network interface.

                                                                + */ +export interface InstanceNetworkInterfaceSpecification { /** - *

                                                                The configuration of the Spot Fleet request.

                                                                + *

                                                                One or more private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're + * launching more than one instance in a RunInstances request.

                                                                */ - SpotFleetRequestConfig?: SpotFleetRequestConfigData; + PrivateIpAddresses?: PrivateIpAddressSpecification[]; /** - *

                                                                The tags for a Spot Fleet resource.

                                                                + *

                                                                The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

                                                                */ - Tags?: Tag[]; + SubnetId?: string; + + /** + *

                                                                The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

                                                                + */ + Groups?: string[]; + + /** + *

                                                                The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching + * more than one instance in a RunInstances request.

                                                                + */ + PrivateIpAddress?: string; + + /** + *

                                                                The ID of the network interface.

                                                                + *

                                                                If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

                                                                + */ + NetworkInterfaceId?: string; + + /** + *

                                                                If set to true, the interface is deleted when the instance is terminated. You can + * specify true only if creating a new network interface when launching an + * instance.

                                                                + */ + DeleteOnTermination?: boolean; + + /** + *

                                                                The position of the network interface in the attachment order. + * A primary network interface has a device index of 0.

                                                                + *

                                                                If you specify a network interface when launching an instance, + * you must specify the device index.

                                                                + */ + DeviceIndex?: number; + + /** + *

                                                                One or more IPv6 addresses to assign to the network interface. You cannot specify + * this option and the option to assign a number of IPv6 addresses in the same request. You + * cannot specify this option if you've specified a minimum number of instances to + * launch.

                                                                + */ + Ipv6Addresses?: InstanceIpv6Address[]; + + /** + *

                                                                A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses + * the IPv6 addresses from the range of the subnet. You cannot specify this option and the + * option to assign specific IPv6 addresses in the same request. You can specify this + * option if you've specified a minimum number of instances to launch.

                                                                + */ + Ipv6AddressCount?: number; + + /** + *

                                                                Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The + * public IP address can only be assigned to a network interface for eth0, and can only be + * assigned to a new network interface, not an existing one. You cannot specify more than one + * network interface in the request. If launching into a default subnet, the default value is + * true.

                                                                + */ + AssociatePublicIpAddress?: boolean; + + /** + *

                                                                The description of the network interface. Applies only if creating a network interface when launching an instance.

                                                                + */ + Description?: string; + + /** + *

                                                                The type of network interface. To create an Elastic Fabric Adapter (EFA), specify + * efa. For more information, see Elastic Fabric Adapter in the + * Amazon Elastic Compute Cloud User Guide.

                                                                + *

                                                                If you are not creating an EFA, specify interface or omit this parameter.

                                                                + *

                                                                Valid values: interface | efa + *

                                                                + */ + InterfaceType?: string; + + /** + *

                                                                Indicates whether to assign a carrier IP address to the network interface.

                                                                + *

                                                                You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP addresses in the AWS Wavelength Developer Guide.

                                                                + */ + AssociateCarrierIpAddress?: boolean; + + /** + *

                                                                The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're + * launching more than one instance in a RunInstances request.

                                                                + */ + SecondaryPrivateIpAddressCount?: number; } -export namespace SpotFleetRequestConfig { - export const filterSensitiveLog = (obj: SpotFleetRequestConfig): any => ({ +export namespace InstanceNetworkInterfaceSpecification { + export const filterSensitiveLog = (obj: InstanceNetworkInterfaceSpecification): any => ({ ...obj, }); } /** - *

                                                                Contains the output of DescribeSpotFleetRequests.

                                                                + *

                                                                Describes Spot Instance placement.

                                                                */ -export interface DescribeSpotFleetRequestsResponse { +export interface SpotPlacement { /** - *

                                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                                + *

                                                                The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy + * of dedicated runs on single-tenant hardware. The host tenancy is not + * supported for Spot Instances.

                                                                */ - NextToken?: string; + Tenancy?: Tenancy | string; /** - *

                                                                Information about the configuration of your Spot Fleet.

                                                                + *

                                                                The Availability Zone.

                                                                + *

                                                                [Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, "us-west-2a, us-west-2b".

                                                                */ - SpotFleetRequestConfigs?: SpotFleetRequestConfig[]; + AvailabilityZone?: string; + + /** + *

                                                                The name of the placement group.

                                                                + */ + GroupName?: string; } -export namespace DescribeSpotFleetRequestsResponse { - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsResponse): any => ({ +export namespace SpotPlacement { + export const filterSensitiveLog = (obj: SpotPlacement): any => ({ ...obj, }); } /** - *

                                                                Contains the parameters for DescribeSpotInstanceRequests.

                                                                + *

                                                                The tags for a Spot Fleet resource.

                                                                */ -export interface DescribeSpotInstanceRequestsRequest { +export interface SpotFleetTagSpecification { /** - *

                                                                The token to request the next set of results. This value is null when - * there are no more results to return.

                                                                + *

                                                                The type of resource. Currently, the only resource type that is supported is + * instance. To tag the Spot Fleet request on creation, use the + * TagSpecifications parameter in + * SpotFleetRequestConfigData + * .

                                                                */ - NextToken?: string; + ResourceType?: ResourceType | string; /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The tags.

                                                                */ - DryRun?: boolean; + Tags?: Tag[]; +} + +export namespace SpotFleetTagSpecification { + export const filterSensitiveLog = (obj: SpotFleetTagSpecification): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes the launch specification for one or more Spot Instances. If you include + * On-Demand capacity in your fleet request, you can't use + * SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

                                                                + */ +export interface SpotFleetLaunchSpecification { /** - *

                                                                One or more Spot Instance request IDs.

                                                                + *

                                                                One or more network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

                                                                */ - SpotInstanceRequestIds?: string[]; + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; /** - *

                                                                The maximum number of results to return in a single call. Specify a value between 5 - * and 1000. To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                                + *

                                                                The name of the key pair.

                                                                */ - MaxResults?: number; + KeyName?: string; /** - *

                                                                One or more filters.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * availability-zone-group - The Availability Zone group.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * create-time - The time stamp when the Spot Instance request was created.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * fault-code - The fault code related to the request.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * fault-message - The fault message related to the request.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * instance-id - The ID of the instance that fulfilled the request.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch-group - The Spot Instance launch group.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.block-device-mapping.volume-type - The type of EBS volume: - * gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for - * Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.group-id - The ID of the security group for the instance.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.group-name - The name of the security group for the instance.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.image-id - The ID of the AMI.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.instance-type - The type of instance (for example, m3.medium).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.kernel-id - The kernel ID.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.key-name - The name of the key pair the instance launched with.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launch.ramdisk-id - The RAM disk ID.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * launched-availability-zone - The Availability Zone in which the request is launched.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-interface.addresses.primary - Indicates whether the IP address is - * the primary private IP address.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-interface.delete-on-termination - Indicates whether the network - * interface is deleted when the instance is terminated.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-interface.description - A description of the network interface.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-interface.device-index - The index of the device for the network - * interface attachment on the instance.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-interface.group-id - The ID of the security group associated with the network interface.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-interface.network-interface-id - The ID of the network interface.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-interface.private-ip-address - The primary private IP address of - * the network interface.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-interface.subnet-id - The ID of the subnet for the instance.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * product-description - The product description associated with the instance (Linux/UNIX | Windows).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * spot-instance-request-id - The Spot Instance request ID.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * state - The state of the Spot Instance request (open - * | active | closed | cancelled | - * failed). Spot request status information can help you track - * your Amazon EC2 Spot Instance requests. For more information, see Spot - * request status in the - * Amazon EC2 User Guide for Linux Instances.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * status-code - The short code describing the most recent evaluation of your Spot Instance request.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * status-message - The message explaining the status of the Spot Instance request.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * type - The type of Spot Instance request (one-time | persistent).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * valid-from - The start date of the request.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * valid-until - The end date of the request.

                                                                  - *
                                                                • - *
                                                                - */ - Filters?: Filter[]; -} - -export namespace DescribeSpotInstanceRequestsRequest { - export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                                Describes the monitoring of an instance.

                                                                - */ -export interface RunInstancesMonitoringEnabled { - /** - *

                                                                Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is - * enabled.

                                                                + *

                                                                The placement information.

                                                                */ - Enabled: boolean | undefined; -} - -export namespace RunInstancesMonitoringEnabled { - export const filterSensitiveLog = (obj: RunInstancesMonitoringEnabled): any => ({ - ...obj, - }); -} + Placement?: SpotPlacement; -/** - *

                                                                Describes the launch specification for an instance.

                                                                - */ -export interface LaunchSpecification { /** - *

                                                                One or more block device mapping entries.

                                                                + *

                                                                The IAM instance profile.

                                                                */ - BlockDeviceMappings?: BlockDeviceMapping[]; + IamInstanceProfile?: IamInstanceProfileSpecification; /** - *

                                                                The ID of the subnet in which to launch the instance.

                                                                + *

                                                                The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

                                                                + *

                                                                If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

                                                                */ - SubnetId?: string; + WeightedCapacity?: number; /** - *

                                                                The ID of the kernel.

                                                                + *

                                                                The tags to apply during creation.

                                                                */ - KernelId?: string; + TagSpecifications?: SpotFleetTagSpecification[]; /** - *

                                                                The Base64-encoded user data for the instance.

                                                                + *

                                                                The instance type.

                                                                */ - UserData?: string; + InstanceType?: _InstanceType | string; /** - *

                                                                Deprecated.

                                                                + *

                                                                One or more block devices that are mapped to the Spot Instances. You can't specify both + * a snapshot ID and an encryption value. This is because only blank volumes can be + * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its + * encryption status is used for the volume encryption status.

                                                                */ - AddressingType?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                                One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

                                                                + *

                                                                Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

                                                                + *

                                                                Default: false + *

                                                                */ - SecurityGroups?: GroupIdentifier[]; + EbsOptimized?: boolean; /** - *

                                                                The ID of the AMI.

                                                                + *

                                                                The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate + * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

                                                                */ - ImageId?: string; + SubnetId?: string; /** - *

                                                                Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

                                                                - *

                                                                Default: false - *

                                                                + *

                                                                The ID of the kernel.

                                                                */ - EbsOptimized?: boolean; + KernelId?: string; /** - *

                                                                The ID of the RAM disk.

                                                                + *

                                                                Deprecated.

                                                                */ - RamdiskId?: string; + AddressingType?: string; /** - *

                                                                The instance type.

                                                                + *

                                                                The maximum price per unit hour that you are willing to pay for a Spot Instance. + * If this value is not specified, the default is the Spot price specified for the fleet. + * To determine the Spot price per unit hour, divide the Spot price by the + * value of WeightedCapacity.

                                                                */ - InstanceType?: _InstanceType | string; + SpotPrice?: string; /** - *

                                                                The placement information for the instance.

                                                                + *

                                                                The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID.

                                                                */ - Placement?: SpotPlacement; + RamdiskId?: string; /** - *

                                                                The name of the key pair.

                                                                + *

                                                                The ID of the AMI.

                                                                */ - KeyName?: string; + ImageId?: string; /** - *

                                                                One or more network interfaces. If you specify a network interface, you must specify - * subnet IDs and security group IDs using the network interface.

                                                                + *

                                                                Enable or disable monitoring for the instances.

                                                                */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + Monitoring?: SpotFleetMonitoring; /** - *

                                                                The IAM instance profile.

                                                                + *

                                                                The Base64-encoded user data that instances use when starting up.

                                                                */ - IamInstanceProfile?: IamInstanceProfileSpecification; + UserData?: string; /** - *

                                                                Describes the monitoring of an instance.

                                                                + *

                                                                One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

                                                                */ - Monitoring?: RunInstancesMonitoringEnabled; + SecurityGroups?: GroupIdentifier[]; } -export namespace LaunchSpecification { - export const filterSensitiveLog = (obj: LaunchSpecification): any => ({ +export namespace SpotFleetLaunchSpecification { + export const filterSensitiveLog = (obj: SpotFleetLaunchSpecification): any => ({ ...obj, }); } -export type SpotInstanceState = "active" | "cancelled" | "closed" | "failed" | "open"; - /** - *

                                                                Describes the status of a Spot Instance request.

                                                                + *

                                                                Describes overrides for a launch template.

                                                                */ -export interface SpotInstanceStatus { +export interface LaunchTemplateOverrides { /** - *

                                                                The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                + *

                                                                The priority for the launch template override. If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses + * priority to determine which launch template override to use first in fulfilling + * On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower + * the number, the higher the priority. If no number is set, the launch template override + * has the lowest priority.

                                                                */ - UpdateTime?: Date; + Priority?: number; /** - *

                                                                The description for the status code.

                                                                + *

                                                                The number of units provided by the specified instance type.

                                                                */ - Message?: string; + WeightedCapacity?: number; /** - *

                                                                The status code. For a list of status codes, see Spot status codes - * in the Amazon EC2 User Guide for Linux Instances.

                                                                + *

                                                                The ID of the subnet in which to launch the instances.

                                                                */ - Code?: string; -} - -export namespace SpotInstanceStatus { - export const filterSensitiveLog = (obj: SpotInstanceStatus): any => ({ - ...obj, - }); -} - -/** - *

                                                                Describes a Spot Instance request.

                                                                - */ -export interface SpotInstanceRequest { - /** - *

                                                                The fault codes for the Spot Instance request, if any.

                                                                - */ - Fault?: SpotInstanceStateFault; - - /** - *

                                                                The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). - * The request becomes active at this date and time.

                                                                - */ - ValidFrom?: Date; + SubnetId?: string; /** - *

                                                                Additional information for launching instances.

                                                                + *

                                                                The Availability Zone in which to launch the instances.

                                                                */ - LaunchSpecification?: LaunchSpecification; + AvailabilityZone?: string; /** - *

                                                                The ID of the Spot Instance request.

                                                                + *

                                                                The instance type.

                                                                */ - SpotInstanceRequestId?: string; + InstanceType?: _InstanceType | string; /** - *

                                                                The product description associated with the Spot Instance.

                                                                + *

                                                                The maximum price per unit hour that you are willing to pay for a Spot Instance.

                                                                */ - ProductDescription?: RIProductDescription | string; + SpotPrice?: string; +} - /** - *

                                                                If you specified a duration and your Spot Instance request was fulfilled, this is the fixed hourly price in effect for the Spot Instance while it runs.

                                                                - */ - ActualBlockHourlyPrice?: string; +export namespace LaunchTemplateOverrides { + export const filterSensitiveLog = (obj: LaunchTemplateOverrides): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes a launch template and overrides.

                                                                + */ +export interface LaunchTemplateConfig { /** - *

                                                                The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

                                                                + *

                                                                Any parameters that you specify override the same parameters in the launch template.

                                                                */ - LaunchGroup?: string; + Overrides?: LaunchTemplateOverrides[]; /** - *

                                                                The behavior when a Spot Instance is interrupted.

                                                                + *

                                                                The launch template.

                                                                */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; +} - /** - *

                                                                The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

                                                                - */ - AvailabilityZoneGroup?: string; +export namespace LaunchTemplateConfig { + export const filterSensitiveLog = (obj: LaunchTemplateConfig): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes a Classic Load Balancer.

                                                                + */ +export interface ClassicLoadBalancer { /** - *

                                                                The state of the Spot Instance request. Spot status information helps track your Spot - * Instance requests. For more information, see Spot status in the - * Amazon EC2 User Guide for Linux Instances.

                                                                + *

                                                                The name of the load balancer.

                                                                */ - State?: SpotInstanceState | string; + Name?: string; +} - /** - *

                                                                The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). - * If this is a one-time request, it remains active until all instances launch, the request is canceled, or this date is reached. - * If the request is persistent, it remains active until it is canceled or this date is reached. - * The default end date is 7 days from the current date.

                                                                - */ - ValidUntil?: Date; +export namespace ClassicLoadBalancer { + export const filterSensitiveLog = (obj: ClassicLoadBalancer): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances + * with these Classic Load Balancers.

                                                                + */ +export interface ClassicLoadBalancersConfig { /** - *

                                                                Any tags assigned to the resource.

                                                                + *

                                                                One or more Classic Load Balancers.

                                                                */ - Tags?: Tag[]; + ClassicLoadBalancers?: ClassicLoadBalancer[]; +} - /** - *

                                                                The Spot Instance request type.

                                                                - */ - Type?: SpotInstanceType | string; +export namespace ClassicLoadBalancersConfig { + export const filterSensitiveLog = (obj: ClassicLoadBalancersConfig): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes a load balancer target group.

                                                                + */ +export interface TargetGroup { /** - *

                                                                The instance ID, if an instance has been launched to fulfill the Spot Instance request.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the target group.

                                                                */ - InstanceId?: string; + Arn?: string; +} - /** - *

                                                                The status code and status message describing the Spot Instance request.

                                                                - */ - Status?: SpotInstanceStatus; +export namespace TargetGroup { + export const filterSensitiveLog = (obj: TargetGroup): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances + * with these target groups.

                                                                + */ +export interface TargetGroupsConfig { /** - *

                                                                The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                + *

                                                                One or more target groups.

                                                                */ - CreateTime?: Date; + TargetGroups?: TargetGroup[]; +} - /** - *

                                                                The maximum price per hour that you are willing to pay for a Spot Instance.

                                                                - */ - SpotPrice?: string; +export namespace TargetGroupsConfig { + export const filterSensitiveLog = (obj: TargetGroupsConfig): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes the Classic Load Balancers and target groups to attach to a Spot Fleet request.

                                                                + */ +export interface LoadBalancersConfig { /** - *

                                                                The Availability Zone in which the request is launched.

                                                                + *

                                                                The target groups.

                                                                */ - LaunchedAvailabilityZone?: string; + TargetGroupsConfig?: TargetGroupsConfig; /** - *

                                                                The duration for the Spot Instance, in minutes.

                                                                + *

                                                                The Classic Load Balancers.

                                                                */ - BlockDurationMinutes?: number; + ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig; } -export namespace SpotInstanceRequest { - export const filterSensitiveLog = (obj: SpotInstanceRequest): any => ({ +export namespace LoadBalancersConfig { + export const filterSensitiveLog = (obj: LoadBalancersConfig): any => ({ ...obj, }); } +export enum OnDemandAllocationStrategy { + LOWEST_PRICE = "lowestPrice", + PRIORITIZED = "prioritized", +} + /** - *

                                                                Contains the output of DescribeSpotInstanceRequests.

                                                                + *

                                                                Describes the configuration of a Spot Fleet request.

                                                                */ -export interface DescribeSpotInstanceRequestsResult { +export interface SpotFleetRequestConfigData { /** - *

                                                                One or more Spot Instance requests.

                                                                + *

                                                                Indicates whether Spot Fleet should replace unhealthy instances.

                                                                */ - SpotInstanceRequests?: SpotInstanceRequest[]; + ReplaceUnhealthyInstances?: boolean; /** - *

                                                                The token to use to retrieve the next set of results. This value is null - * when there are no more results to return.

                                                                + *

                                                                Indicates whether running Spot Instances should be terminated if you decrease the target + * capacity of the Spot Fleet request below the current size of the Spot Fleet.

                                                                */ - NextToken?: string; -} + ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; -export namespace DescribeSpotInstanceRequestsResult { - export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsResult): any => ({ - ...obj, - }); -} + /** + *

                                                                Indicates whether running Spot Instances are terminated when the Spot Fleet request + * expires.

                                                                + */ + TerminateInstancesWithExpiration?: boolean; -/** - *

                                                                Contains the parameters for DescribeSpotPriceHistory.

                                                                - */ -export interface DescribeSpotPriceHistoryRequest { /** - *

                                                                The date and time, up to the current date, from which to stop retrieving the price history data, - * in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                + *

                                                                One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. + * Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups.

                                                                + *

                                                                With Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: + * C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.

                                                                */ - EndTime?: Date; + LoadBalancersConfig?: LoadBalancersConfig; /** - *

                                                                Filters the results by the specified instance types.

                                                                + *

                                                                The behavior when a Spot Instance is interrupted. The default is terminate.

                                                                */ - InstanceTypes?: (_InstanceType | string)[]; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; /** - *

                                                                The date and time, up to the past 90 days, from which to start retrieving the price history data, - * in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                + *

                                                                The end date and time of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ). + * After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. + * If no value is specified, the Spot Fleet request remains until you cancel it.

                                                                */ - StartTime?: Date; + ValidUntil?: Date; /** - *

                                                                The token for the next set of results.

                                                                + *

                                                                The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.

                                                                */ - NextToken?: string; + OnDemandFulfilledCapacity?: number; /** - *

                                                                The maximum number of results to return in a single call. - * Specify a value between 1 and 1000. The default value is 1000. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                                + *

                                                                The number of units to request for the Spot Fleet. You can choose to set the target + * capacity in terms of instances or a performance characteristic that is important to your + * application workload, such as vCPUs, memory, or I/O. If the request type is + * maintain, you can specify a target capacity of 0 and add capacity + * later.

                                                                */ - MaxResults?: number; + TargetCapacity: number | undefined; /** - *

                                                                Filters the results by the specified Availability Zone.

                                                                + *

                                                                The number of Spot pools across which to allocate your target Spot capacity. Valid + * only when Spot AllocationStrategy is set to + * lowest-price. Spot Fleet selects the cheapest Spot pools and evenly + * allocates your target Spot capacity across the number of Spot pools that you + * specify.

                                                                */ - AvailabilityZone?: string; + InstancePoolsToUseCount?: number; /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The key-value pair for tagging the Spot Fleet request on creation. The value for + * ResourceType must be spot-fleet-request, otherwise the + * Spot Fleet request fails. To tag instances at launch, specify the tags in the launch + * template (valid only if you use LaunchTemplateConfigs) or in + * the + * SpotFleetTagSpecification + * (valid only if you use + * LaunchSpecifications). For information about tagging after launch, see + * Tagging Your Resources.

                                                                */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; /** - *

                                                                One or more filters.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * availability-zone - The Availability Zone for which prices should be returned.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * instance-type - The type of instance (for example, m3.medium).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * product-description - The product description for the Spot price - * (Linux/UNIX | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * timestamp - The time stamp of the Spot price history, in UTC format - * (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * You can use wildcards (* and ?). Greater than or less than comparison is not - * supported.

                                                                  - *
                                                                • - *
                                                                + *

                                                                The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that + * grants the Spot Fleet the permission to request, launch, terminate, and tag instances on + * your behalf. For more information, see Spot + * Fleet prerequisites in the Amazon EC2 User Guide for Linux Instances. Spot Fleet + * can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using + * CancelSpotFleetRequests or when the Spot Fleet request expires, if + * you set TerminateInstancesWithExpiration.

                                                                */ - Filters?: Filter[]; + IamFleetRole: string | undefined; /** - *

                                                                Filters the results by the specified basic product descriptions.

                                                                + *

                                                                A unique, case-sensitive identifier that you provide to ensure the idempotency of + * your listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

                                                                */ - ProductDescriptions?: string[]; -} + ClientToken?: string; -export namespace DescribeSpotPriceHistoryRequest { - export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryRequest): any => ({ - ...obj, - }); -} + /** + *

                                                                The launch template and overrides. If you specify LaunchTemplateConfigs, + * you can't specify LaunchSpecifications. If you include On-Demand capacity + * in your request, you must use LaunchTemplateConfigs.

                                                                + */ + LaunchTemplateConfigs?: LaunchTemplateConfig[]; -/** - *

                                                                Describes the maximum price per hour that you are willing to pay for a Spot Instance.

                                                                - */ -export interface SpotPrice { /** - *

                                                                The maximum price per hour that you are willing to pay for a Spot Instance.

                                                                + *

                                                                The order of the launch template overrides to use in fulfilling On-Demand capacity. + * If you specify lowestPrice, Spot Fleet uses price to determine the order, + * launching the lowest price first. If you specify prioritized, Spot Fleet uses the + * priority that you assign to each Spot Fleet launch template override, launching the highest + * priority first. If you do not specify a value, Spot Fleet defaults to + * lowestPrice.

                                                                */ - SpotPrice?: string; + OnDemandAllocationStrategy?: OnDemandAllocationStrategy | string; /** - *

                                                                The instance type.

                                                                + *

                                                                The maximum amount per hour for Spot Instances that you're willing to pay. + * You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice + * parameter, or both parameters to ensure that your fleet cost does not exceed + * your budget. If you set a maximum price per hour for the On-Demand Instances and + * Spot Instances in your request, Spot Fleet will launch instances until it reaches + * the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, + * the fleet stops launching instances even if it hasn’t met the target capacity.

                                                                */ - InstanceType?: _InstanceType | string; + SpotMaxTotalPrice?: string; /** - *

                                                                A general description of the AMI.

                                                                + *

                                                                The number of On-Demand units to request. You can choose to set the target capacity + * in terms of instances or a performance characteristic that is important to your + * application workload, such as vCPUs, memory, or I/O. If the request type is + * maintain, you can specify a target capacity of 0 and add capacity + * later.

                                                                */ - ProductDescription?: RIProductDescription | string; + OnDemandTargetCapacity?: number; /** - *

                                                                The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                + *

                                                                Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by + * the Spot Fleet request.

                                                                + *

                                                                If the allocation strategy is lowestPrice, Spot Fleet launches instances from + * the Spot Instance pools with the lowest price. This is the default allocation strategy.

                                                                + *

                                                                If the allocation strategy is diversified, Spot Fleet launches instances from + * all the Spot Instance pools that you specify.

                                                                + *

                                                                If the allocation strategy is capacityOptimized, Spot Fleet launches instances + * from Spot Instance pools with optimal capacity for the number of instances that are + * launching.

                                                                */ - Timestamp?: Date; + AllocationStrategy?: AllocationStrategy | string; /** - *

                                                                The Availability Zone.

                                                                + *

                                                                The start date and time of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ). + * By default, Amazon EC2 starts fulfilling the request immediately.

                                                                */ - AvailabilityZone?: string; + ValidFrom?: Date; + + /** + *

                                                                The launch specifications for the Spot Fleet request. If you specify + * LaunchSpecifications, you can't specify + * LaunchTemplateConfigs. If you include On-Demand capacity in your + * request, you must use LaunchTemplateConfigs.

                                                                + */ + LaunchSpecifications?: SpotFleetLaunchSpecification[]; + + /** + *

                                                                The maximum price per unit hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.

                                                                + */ + SpotPrice?: string; + + /** + *

                                                                The type of request. Indicates whether the Spot Fleet only requests the target capacity + * or also attempts to maintain it. When this value is request, the Spot Fleet + * only places the required requests. It does not attempt to replenish Spot Instances if + * capacity is diminished, nor does it submit requests in alternative Spot pools if + * capacity is not available. When this value is maintain, the Spot Fleet + * maintains the target capacity. The Spot Fleet places the required requests to meet + * capacity and automatically replenishes any interrupted instances. Default: + * maintain. instant is listed but is not used by Spot + * Fleet.

                                                                + */ + Type?: FleetType | string; + + /** + *

                                                                The number of units fulfilled by this request compared to the set target capacity. You cannot set this value.

                                                                + */ + FulfilledCapacity?: number; + + /** + *

                                                                The maximum amount per hour for On-Demand Instances that you're willing to pay. + * You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice + * parameter, or both parameters to ensure that your fleet cost does not exceed + * your budget. If you set a maximum price per hour for the On-Demand Instances and + * Spot Instances in your request, Spot Fleet will launch instances until it reaches + * the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, + * the fleet stops launching instances even if it hasn’t met the target capacity.

                                                                + */ + OnDemandMaxTotalPrice?: string; } -export namespace SpotPrice { - export const filterSensitiveLog = (obj: SpotPrice): any => ({ +export namespace SpotFleetRequestConfigData { + export const filterSensitiveLog = (obj: SpotFleetRequestConfigData): any => ({ ...obj, }); } /** - *

                                                                Contains the output of DescribeSpotPriceHistory.

                                                                + *

                                                                Describes a Spot Fleet request.

                                                                */ -export interface DescribeSpotPriceHistoryResult { +export interface SpotFleetRequestConfig { /** - *

                                                                The token required to retrieve the next set of results. This value is null or an empty - * string when there are no more results to return.

                                                                + *

                                                                The progress of the Spot Fleet request. + * If there is an error, the status is error. + * After all requests are placed, the status is pending_fulfillment. + * If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. + * If the size of the fleet is decreased, the status is pending_termination + * while Spot Instances are terminating.

                                                                */ - NextToken?: string; + ActivityStatus?: ActivityStatus | string; /** - *

                                                                The historical Spot prices.

                                                                + *

                                                                The ID of the Spot Fleet request.

                                                                */ - SpotPriceHistory?: SpotPrice[]; -} + SpotFleetRequestId?: string; -export namespace DescribeSpotPriceHistoryResult { - export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryResult): any => ({ - ...obj, - }); -} + /** + *

                                                                The configuration of the Spot Fleet request.

                                                                + */ + SpotFleetRequestConfig?: SpotFleetRequestConfigData; -export interface DescribeStaleSecurityGroupsRequest { /** - *

                                                                The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                                + *

                                                                The tags for a Spot Fleet resource.

                                                                */ - MaxResults?: number; + Tags?: Tag[]; /** - *

                                                                The token for the next set of items to return. (You received this token from a prior call.)

                                                                + *

                                                                The state of the Spot Fleet request.

                                                                */ - NextToken?: string; + SpotFleetRequestState?: BatchState | string; /** - *

                                                                The ID of the VPC.

                                                                + *

                                                                The creation date and time of the request.

                                                                */ - VpcId: string | undefined; + CreateTime?: Date; +} + +export namespace SpotFleetRequestConfig { + export const filterSensitiveLog = (obj: SpotFleetRequestConfig): any => ({ + ...obj, + }); +} +/** + *

                                                                Contains the output of DescribeSpotFleetRequests.

                                                                + */ +export interface DescribeSpotFleetRequestsResponse { /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                                */ - DryRun?: boolean; + NextToken?: string; + + /** + *

                                                                Information about the configuration of your Spot Fleet.

                                                                + */ + SpotFleetRequestConfigs?: SpotFleetRequestConfig[]; } -export namespace DescribeStaleSecurityGroupsRequest { - export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsRequest): any => ({ +export namespace DescribeSpotFleetRequestsResponse { + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsResponse): any => ({ ...obj, }); } /** - *

                                                                Describes a stale rule in a security group.

                                                                + *

                                                                Contains the parameters for DescribeSpotInstanceRequests.

                                                                */ -export interface StaleIpPermission { +export interface DescribeSpotInstanceRequestsRequest { /** - *

                                                                The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of - * -1 indicates all ICMP types.

                                                                + *

                                                                The token to request the next set of results. This value is null when + * there are no more results to return.

                                                                + */ + NextToken?: string; + + /** + *

                                                                One or more filters.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * availability-zone-group - The Availability Zone group.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * create-time - The time stamp when the Spot Instance request was created.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * fault-code - The fault code related to the request.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * fault-message - The fault message related to the request.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * instance-id - The ID of the instance that fulfilled the request.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch-group - The Spot Instance launch group.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.block-device-mapping.volume-type - The type of EBS volume: + * gp2 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 for + * Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.group-id - The ID of the security group for the instance.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.group-name - The name of the security group for the instance.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.image-id - The ID of the AMI.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.instance-type - The type of instance (for example, m3.medium).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.kernel-id - The kernel ID.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.key-name - The name of the key pair the instance launched with.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launch.ramdisk-id - The RAM disk ID.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * launched-availability-zone - The Availability Zone in which the request is launched.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * network-interface.addresses.primary - Indicates whether the IP address is + * the primary private IP address.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * network-interface.delete-on-termination - Indicates whether the network + * interface is deleted when the instance is terminated.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * network-interface.description - A description of the network interface.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * network-interface.device-index - The index of the device for the network + * interface attachment on the instance.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * network-interface.group-id - The ID of the security group associated with the network interface.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * network-interface.network-interface-id - The ID of the network interface.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * network-interface.private-ip-address - The primary private IP address of + * the network interface.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * network-interface.subnet-id - The ID of the subnet for the instance.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * product-description - The product description associated with the instance (Linux/UNIX | Windows).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * spot-instance-request-id - The Spot Instance request ID.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * state - The state of the Spot Instance request (open + * | active | closed | cancelled | + * failed). Spot request status information can help you track + * your Amazon EC2 Spot Instance requests. For more information, see Spot + * request status in the + * Amazon EC2 User Guide for Linux Instances.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * status-code - The short code describing the most recent evaluation of your Spot Instance request.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * status-message - The message explaining the status of the Spot Instance request.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * type - The type of Spot Instance request (one-time | persistent).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * valid-from - The start date of the request.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * valid-until - The end date of the request.

                                                                  + *
                                                                • + *
                                                                */ - ToPort?: number; + Filters?: Filter[]; /** - *

                                                                The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

                                                                + *

                                                                The maximum number of results to return in a single call. Specify a value between 5 + * and 1000. To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                                */ - UserIdGroupPairs?: UserIdGroupPair[]; + MaxResults?: number; /** - *

                                                                The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

                                                                + *

                                                                One or more Spot Instance request IDs.

                                                                */ - IpProtocol?: string; + SpotInstanceRequestIds?: string[]; /** - *

                                                                The prefix list IDs. Not applicable for stale security group rules.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - PrefixListIds?: string[]; + DryRun?: boolean; +} - /** - *

                                                                The IP ranges. Not applicable for stale security group rules.

                                                                - */ - IpRanges?: string[]; +export namespace DescribeSpotInstanceRequestsRequest { + export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes the monitoring of an instance.

                                                                + */ +export interface RunInstancesMonitoringEnabled { /** - *

                                                                The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of - * -1 indicates all ICMP types.

                                                                + *

                                                                Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is + * enabled.

                                                                */ - FromPort?: number; + Enabled: boolean | undefined; } -export namespace StaleIpPermission { - export const filterSensitiveLog = (obj: StaleIpPermission): any => ({ +export namespace RunInstancesMonitoringEnabled { + export const filterSensitiveLog = (obj: RunInstancesMonitoringEnabled): any => ({ ...obj, }); } /** - *

                                                                Describes a stale security group (a security group that contains stale rules).

                                                                + *

                                                                Describes the launch specification for an instance.

                                                                */ -export interface StaleSecurityGroup { +export interface LaunchSpecification { /** - *

                                                                The name of the security group.

                                                                + *

                                                                The name of the key pair.

                                                                */ - GroupName?: string; + KeyName?: string; /** - *

                                                                Information about the stale outbound rules in the security group.

                                                                + *

                                                                The instance type.

                                                                */ - StaleIpPermissionsEgress?: StaleIpPermission[]; + InstanceType?: _InstanceType | string; /** - *

                                                                The ID of the VPC for the security group.

                                                                + *

                                                                Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

                                                                + *

                                                                Default: false + *

                                                                */ - VpcId?: string; + EbsOptimized?: boolean; /** - *

                                                                Information about the stale inbound rules in the security group.

                                                                + *

                                                                The placement information for the instance.

                                                                */ - StaleIpPermissions?: StaleIpPermission[]; + Placement?: SpotPlacement; /** - *

                                                                The ID of the security group.

                                                                + *

                                                                One or more network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

                                                                */ - GroupId?: string; + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; /** - *

                                                                The description of the security group.

                                                                + *

                                                                One or more block device mapping entries.

                                                                */ - Description?: string; -} - -export namespace StaleSecurityGroup { - export const filterSensitiveLog = (obj: StaleSecurityGroup): any => ({ - ...obj, - }); -} + BlockDeviceMappings?: BlockDeviceMapping[]; -export interface DescribeStaleSecurityGroupsResult { /** - *

                                                                Information about the stale security groups.

                                                                + *

                                                                The Base64-encoded user data for the instance.

                                                                */ - StaleSecurityGroupSet?: StaleSecurityGroup[]; + UserData?: string; /** - *

                                                                The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                                + *

                                                                One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

                                                                */ - NextToken?: string; -} - -export namespace DescribeStaleSecurityGroupsResult { - export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsResult): any => ({ - ...obj, - }); -} + SecurityGroups?: GroupIdentifier[]; -export interface DescribeSubnetsRequest { /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The ID of the RAM disk.

                                                                */ - DryRun?: boolean; + RamdiskId?: string; /** - *

                                                                The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                + *

                                                                The ID of the AMI.

                                                                */ - MaxResults?: number; + ImageId?: string; /** - *

                                                                The token for the next page of results.

                                                                + *

                                                                The ID of the subnet in which to launch the instance.

                                                                */ - NextToken?: string; + SubnetId?: string; /** - *

                                                                One or more filters.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * availability-zone - The Availability Zone for the subnet. You can also use - * availabilityZone as the filter name.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * availability-zone-id - The ID of the Availability Zone for the subnet. - * You can also use availabilityZoneId as the filter name.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * available-ip-address-count - The number of IPv4 addresses in the - * subnet that are available.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you - * specify must exactly match the subnet's CIDR block for information to be - * returned for the subnet. You can also use cidr or - * cidrBlock as the filter names.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * default-for-az - Indicates whether this is the default subnet for the - * Availability Zone. You can also use defaultForAz as the filter name.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR - * block associated with the subnet.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ipv6-cidr-block-association.association-id - An association ID - * for an IPv6 CIDR block associated with the subnet.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * ipv6-cidr-block-association.state - The state of an IPv6 CIDR - * block associated with the subnet.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * owner-id - The ID of the AWS account that owns the subnet.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * state - The state of the subnet (pending | available).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * subnet-arn - The Amazon Resource Name (ARN) of the subnet.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * subnet-id - The ID of the subnet.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * vpc-id - The ID of the VPC for the subnet.

                                                                  - *
                                                                • - *
                                                                + *

                                                                Deprecated.

                                                                */ - Filters?: Filter[]; + AddressingType?: string; /** - *

                                                                One or more subnet IDs.

                                                                - *

                                                                Default: Describes all your subnets.

                                                                + *

                                                                The ID of the kernel.

                                                                */ - SubnetIds?: string[]; -} - -export namespace DescribeSubnetsRequest { - export const filterSensitiveLog = (obj: DescribeSubnetsRequest): any => ({ - ...obj, - }); -} + KernelId?: string; -export interface DescribeSubnetsResult { /** - *

                                                                Information about one or more subnets.

                                                                + *

                                                                The IAM instance profile.

                                                                */ - Subnets?: Subnet[]; + IamInstanceProfile?: IamInstanceProfileSpecification; /** - *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                + *

                                                                Describes the monitoring of an instance.

                                                                */ - NextToken?: string; + Monitoring?: RunInstancesMonitoringEnabled; } -export namespace DescribeSubnetsResult { - export const filterSensitiveLog = (obj: DescribeSubnetsResult): any => ({ +export namespace LaunchSpecification { + export const filterSensitiveLog = (obj: LaunchSpecification): any => ({ ...obj, }); } -export interface DescribeTagsRequest { - /** - *

                                                                The filters.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * key - The tag key.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * resource-id - The ID of the resource.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag: - The key/value combination of the tag. For example, - * specify "tag:Owner" for the filter name and "TeamA" for the filter value to find - * resources with the tag "Owner=TeamA".

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * value - The tag value.

                                                                  - *
                                                                • - *
                                                                - */ - Filters?: Filter[]; +export type SpotInstanceState = "active" | "cancelled" | "closed" | "failed" | "open"; - /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                +/** + *

                                                                Describes the status of a Spot Instance request.

                                                                + */ +export interface SpotInstanceStatus { + /** + *

                                                                The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                */ - DryRun?: boolean; + UpdateTime?: Date; /** - *

                                                                The token to retrieve the next page of results.

                                                                + *

                                                                The status code. For a list of status codes, see Spot status codes + * in the Amazon EC2 User Guide for Linux Instances.

                                                                */ - NextToken?: string; + Code?: string; /** - *

                                                                The maximum number of results to return in a single call. - * This value can be between 5 and 1000. - * To retrieve the remaining results, make another call with the returned NextToken value.

                                                                + *

                                                                The description for the status code.

                                                                */ - MaxResults?: number; + Message?: string; } -export namespace DescribeTagsRequest { - export const filterSensitiveLog = (obj: DescribeTagsRequest): any => ({ +export namespace SpotInstanceStatus { + export const filterSensitiveLog = (obj: SpotInstanceStatus): any => ({ ...obj, }); } /** - *

                                                                Describes a tag.

                                                                + *

                                                                Describes a Spot Instance request.

                                                                */ -export interface TagDescription { +export interface SpotInstanceRequest { /** - *

                                                                The tag value.

                                                                + *

                                                                The instance ID, if an instance has been launched to fulfill the Spot Instance request.

                                                                */ - Value?: string; + InstanceId?: string; /** - *

                                                                The resource type.

                                                                + *

                                                                The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                */ - ResourceType?: ResourceType | string; + CreateTime?: Date; /** - *

                                                                The ID of the resource.

                                                                + *

                                                                The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). + * If this is a one-time request, it remains active until all instances launch, the request is canceled, or this date is reached. + * If the request is persistent, it remains active until it is canceled or this date is reached. + * The default end date is 7 days from the current date.

                                                                */ - ResourceId?: string; + ValidUntil?: Date; /** - *

                                                                The tag key.

                                                                + *

                                                                The state of the Spot Instance request. Spot status information helps track your Spot + * Instance requests. For more information, see Spot status in the + * Amazon EC2 User Guide for Linux Instances.

                                                                */ - Key?: string; -} + State?: SpotInstanceState | string; -export namespace TagDescription { - export const filterSensitiveLog = (obj: TagDescription): any => ({ - ...obj, - }); -} + /** + *

                                                                The Availability Zone in which the request is launched.

                                                                + */ + LaunchedAvailabilityZone?: string; -export interface DescribeTagsResult { /** - *

                                                                The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

                                                                + *

                                                                The duration for the Spot Instance, in minutes.

                                                                */ - NextToken?: string; + BlockDurationMinutes?: number; /** - *

                                                                The tags.

                                                                + *

                                                                The ID of the Spot Instance request.

                                                                */ - Tags?: TagDescription[]; -} + SpotInstanceRequestId?: string; -export namespace DescribeTagsResult { - export const filterSensitiveLog = (obj: DescribeTagsResult): any => ({ - ...obj, - }); -} + /** + *

                                                                The maximum price per hour that you are willing to pay for a Spot Instance.

                                                                + */ + SpotPrice?: string; -export interface DescribeTrafficMirrorFiltersRequest { /** - *

                                                                One or more filters. The possible values are:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * description: The Traffic Mirror filter description.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                                  - *
                                                                • - *
                                                                + *

                                                                Any tags assigned to the resource.

                                                                */ - Filters?: Filter[]; + Tags?: Tag[]; /** - *

                                                                The ID of the Traffic Mirror filter.

                                                                + *

                                                                The Spot Instance request type.

                                                                */ - TrafficMirrorFilterIds?: string[]; + Type?: SpotInstanceType | string; /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The product description associated with the Spot Instance.

                                                                */ - DryRun?: boolean; + ProductDescription?: RIProductDescription | string; /** - *

                                                                The token for the next page of results.

                                                                + *

                                                                The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). + * The request becomes active at this date and time.

                                                                */ - NextToken?: string; + ValidFrom?: Date; /** - *

                                                                The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                + *

                                                                Additional information for launching instances.

                                                                */ - MaxResults?: number; + LaunchSpecification?: LaunchSpecification; + + /** + *

                                                                The fault codes for the Spot Instance request, if any.

                                                                + */ + Fault?: SpotInstanceStateFault; + + /** + *

                                                                The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

                                                                + */ + LaunchGroup?: string; + + /** + *

                                                                The behavior when a Spot Instance is interrupted.

                                                                + */ + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + + /** + *

                                                                The status code and status message describing the Spot Instance request.

                                                                + */ + Status?: SpotInstanceStatus; + + /** + *

                                                                If you specified a duration and your Spot Instance request was fulfilled, this is the fixed hourly price in effect for the Spot Instance while it runs.

                                                                + */ + ActualBlockHourlyPrice?: string; + + /** + *

                                                                The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

                                                                + */ + AvailabilityZoneGroup?: string; } -export namespace DescribeTrafficMirrorFiltersRequest { - export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersRequest): any => ({ +export namespace SpotInstanceRequest { + export const filterSensitiveLog = (obj: SpotInstanceRequest): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorFiltersResult { +/** + *

                                                                Contains the output of DescribeSpotInstanceRequests.

                                                                + */ +export interface DescribeSpotInstanceRequestsResult { /** - *

                                                                Information about one or more Traffic Mirror filters.

                                                                + *

                                                                The token to use to retrieve the next set of results. This value is null + * when there are no more results to return.

                                                                */ - TrafficMirrorFilters?: TrafficMirrorFilter[]; + NextToken?: string; /** - *

                                                                The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                                + *

                                                                One or more Spot Instance requests.

                                                                */ - NextToken?: string; + SpotInstanceRequests?: SpotInstanceRequest[]; } -export namespace DescribeTrafficMirrorFiltersResult { - export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersResult): any => ({ +export namespace DescribeSpotInstanceRequestsResult { + export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsResult): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorSessionsRequest { - /** - *

                                                                The ID of the Traffic Mirror session.

                                                                - */ - TrafficMirrorSessionIds?: string[]; - +/** + *

                                                                Contains the parameters for DescribeSpotPriceHistory.

                                                                + */ +export interface DescribeSpotPriceHistoryRequest { /** - *

                                                                One or more filters. The possible values are:

                                                                + *

                                                                One or more filters.

                                                                *
                                                                  *
                                                                • *

                                                                  - * description: The Traffic Mirror session description.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-interface-id: The ID of the Traffic Mirror session network interface.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * owner-id: The ID of the account that owns the Traffic Mirror session.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * packet-length: The assigned number of packets to mirror.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * session-number: The assigned session number.

                                                                  + * availability-zone - The Availability Zone for which prices should be returned.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                                  + * instance-type - The type of instance (for example, m3.medium).

                                                                  *
                                                                • *
                                                                • *

                                                                  - * traffic-mirror-session-id: The ID of the Traffic Mirror session.

                                                                  + * product-description - The product description for the Spot price + * (Linux/UNIX | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

                                                                  *
                                                                • *
                                                                • *

                                                                  - * traffic-mirror-target-id: The ID of the Traffic Mirror target.

                                                                  + * spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

                                                                  *
                                                                • *
                                                                • *

                                                                  - * virtual-network-id: The virtual network ID of the Traffic Mirror session.

                                                                  + * timestamp - The time stamp of the Spot price history, in UTC format + * (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * You can use wildcards (* and ?). Greater than or less than comparison is not + * supported.

                                                                  *
                                                                • *
                                                                */ Filters?: Filter[]; /** - *

                                                                The token for the next page of results.

                                                                + *

                                                                The date and time, up to the current date, from which to stop retrieving the price history data, + * in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                */ - NextToken?: string; + EndTime?: Date; /** - *

                                                                The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                + *

                                                                Filters the results by the specified basic product descriptions.

                                                                */ - MaxResults?: number; + ProductDescriptions?: string[]; + + /** + *

                                                                Filters the results by the specified Availability Zone.

                                                                + */ + AvailabilityZone?: string; + + /** + *

                                                                Filters the results by the specified instance types.

                                                                + */ + InstanceTypes?: (_InstanceType | string)[]; /** *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ DryRun?: boolean; -} - -export namespace DescribeTrafficMirrorSessionsRequest { - export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsRequest): any => ({ - ...obj, - }); -} -export interface DescribeTrafficMirrorSessionsResult { /** - *

                                                                The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                                + *

                                                                The token for the next set of results.

                                                                */ NextToken?: string; /** - *

                                                                Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

                                                                + *

                                                                The maximum number of results to return in a single call. + * Specify a value between 1 and 1000. The default value is 1000. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                                */ - TrafficMirrorSessions?: TrafficMirrorSession[]; + MaxResults?: number; + + /** + *

                                                                The date and time, up to the past 90 days, from which to start retrieving the price history data, + * in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                + */ + StartTime?: Date; } -export namespace DescribeTrafficMirrorSessionsResult { - export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsResult): any => ({ +export namespace DescribeSpotPriceHistoryRequest { + export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryRequest): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorTargetsRequest { +/** + *

                                                                Describes the maximum price per hour that you are willing to pay for a Spot Instance.

                                                                + */ +export interface SpotPrice { /** - *

                                                                The ID of the Traffic Mirror targets.

                                                                + *

                                                                The maximum price per hour that you are willing to pay for a Spot Instance.

                                                                */ - TrafficMirrorTargetIds?: string[]; + SpotPrice?: string; /** - *

                                                                One or more filters. The possible values are:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * description: The Traffic Mirror target description.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-interface-id: The ID of the Traffic Mirror session network interface.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * owner-id: The ID of the account that owns the Traffic Mirror session.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * traffic-mirror-target-id: The ID of the Traffic Mirror target.

                                                                  - *
                                                                • - *
                                                                + *

                                                                A general description of the AMI.

                                                                */ - Filters?: Filter[]; + ProductDescription?: RIProductDescription | string; /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                */ - DryRun?: boolean; + Timestamp?: Date; /** - *

                                                                The token for the next page of results.

                                                                + *

                                                                The Availability Zone.

                                                                */ - NextToken?: string; + AvailabilityZone?: string; /** - *

                                                                The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                + *

                                                                The instance type.

                                                                */ - MaxResults?: number; + InstanceType?: _InstanceType | string; } -export namespace DescribeTrafficMirrorTargetsRequest { - export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsRequest): any => ({ +export namespace SpotPrice { + export const filterSensitiveLog = (obj: SpotPrice): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorTargetsResult { +/** + *

                                                                Contains the output of DescribeSpotPriceHistory.

                                                                + */ +export interface DescribeSpotPriceHistoryResult { /** - *

                                                                Information about one or more Traffic Mirror targets.

                                                                + *

                                                                The historical Spot prices.

                                                                */ - TrafficMirrorTargets?: TrafficMirrorTarget[]; + SpotPriceHistory?: SpotPrice[]; /** - *

                                                                The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                                + *

                                                                The token required to retrieve the next set of results. This value is null or an empty + * string when there are no more results to return.

                                                                */ NextToken?: string; } -export namespace DescribeTrafficMirrorTargetsResult { - export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsResult): any => ({ +export namespace DescribeSpotPriceHistoryResult { + export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewayAttachmentsRequest { - /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                - */ - DryRun?: boolean; - +export interface DescribeStaleSecurityGroupsRequest { /** - *

                                                                The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                + *

                                                                The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                                */ MaxResults?: number; /** - *

                                                                The token for the next page of results.

                                                                + *

                                                                The token for the next set of items to return. (You received this token from a prior call.)

                                                                */ NextToken?: string; /** - *

                                                                One or more filters. The possible values are:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * association.state - The state of the association (associating | associated | - * disassociating).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * resource-id - The ID of the resource.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * resource-owner-id - The ID of the AWS account that owns the resource.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * resource-type - The resource type (vpc | vpn).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * transit-gateway-attachment-id - The ID of the attachment.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * transit-gateway-id - The ID of the transit gateway.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * transit-gateway-owner-id - The ID of the AWS account that owns the transit gateway.

                                                                  - *
                                                                • - *
                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - Filters?: Filter[]; + DryRun?: boolean; /** - *

                                                                The IDs of the attachments.

                                                                + *

                                                                The ID of the VPC.

                                                                */ - TransitGatewayAttachmentIds?: string[]; + VpcId: string | undefined; } -export namespace DescribeTransitGatewayAttachmentsRequest { - export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsRequest): any => ({ +export namespace DescribeStaleSecurityGroupsRequest { + export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsRequest): any => ({ ...obj, }); } /** - *

                                                                Describes an association.

                                                                + *

                                                                Describes a stale rule in a security group.

                                                                */ -export interface TransitGatewayAttachmentAssociation { +export interface StaleIpPermission { /** - *

                                                                The state of the association.

                                                                + *

                                                                The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

                                                                */ - State?: TransitGatewayAssociationState | string; + UserIdGroupPairs?: UserIdGroupPair[]; /** - *

                                                                The ID of the route table for the transit gateway.

                                                                + *

                                                                The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of + * -1 indicates all ICMP types.

                                                                */ - TransitGatewayRouteTableId?: string; -} - -export namespace TransitGatewayAttachmentAssociation { - export const filterSensitiveLog = (obj: TransitGatewayAttachmentAssociation): any => ({ - ...obj, - }); -} + ToPort?: number; -/** - *

                                                                Describes an attachment between a resource and a transit gateway.

                                                                - */ -export interface TransitGatewayAttachment { /** - *

                                                                The ID of the resource.

                                                                + *

                                                                The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of + * -1 indicates all ICMP types.

                                                                */ - ResourceId?: string; + FromPort?: number; /** - *

                                                                The resource type.

                                                                + *

                                                                The IP ranges. Not applicable for stale security group rules.

                                                                */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + IpRanges?: string[]; /** - *

                                                                The ID of the transit gateway.

                                                                + *

                                                                The prefix list IDs. Not applicable for stale security group rules.

                                                                */ - TransitGatewayId?: string; + PrefixListIds?: string[]; /** - *

                                                                The tags for the attachment.

                                                                + *

                                                                The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

                                                                */ - Tags?: Tag[]; + IpProtocol?: string; +} + +export namespace StaleIpPermission { + export const filterSensitiveLog = (obj: StaleIpPermission): any => ({ + ...obj, + }); +} +/** + *

                                                                Describes a stale security group (a security group that contains stale rules).

                                                                + */ +export interface StaleSecurityGroup { /** - *

                                                                The creation time.

                                                                + *

                                                                Information about the stale outbound rules in the security group.

                                                                */ - CreationTime?: Date; + StaleIpPermissionsEgress?: StaleIpPermission[]; /** - *

                                                                The attachment state.

                                                                + *

                                                                The description of the security group.

                                                                */ - State?: TransitGatewayAttachmentState | string; + Description?: string; /** - *

                                                                The ID of the AWS account that owns the transit gateway.

                                                                + *

                                                                The name of the security group.

                                                                */ - TransitGatewayOwnerId?: string; + GroupName?: string; /** - *

                                                                The ID of the AWS account that owns the resource.

                                                                + *

                                                                The ID of the security group.

                                                                */ - ResourceOwnerId?: string; + GroupId?: string; /** - *

                                                                The ID of the attachment.

                                                                + *

                                                                Information about the stale inbound rules in the security group.

                                                                */ - TransitGatewayAttachmentId?: string; + StaleIpPermissions?: StaleIpPermission[]; /** - *

                                                                The association.

                                                                + *

                                                                The ID of the VPC for the security group.

                                                                */ - Association?: TransitGatewayAttachmentAssociation; + VpcId?: string; } -export namespace TransitGatewayAttachment { - export const filterSensitiveLog = (obj: TransitGatewayAttachment): any => ({ +export namespace StaleSecurityGroup { + export const filterSensitiveLog = (obj: StaleSecurityGroup): any => ({ ...obj, }); } -export interface DescribeTransitGatewayAttachmentsResult { +export interface DescribeStaleSecurityGroupsResult { /** - *

                                                                Information about the attachments.

                                                                + *

                                                                Information about the stale security groups.

                                                                */ - TransitGatewayAttachments?: TransitGatewayAttachment[]; + StaleSecurityGroupSet?: StaleSecurityGroup[]; /** - *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                + *

                                                                The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                                */ NextToken?: string; } -export namespace DescribeTransitGatewayAttachmentsResult { - export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsResult): any => ({ +export namespace DescribeStaleSecurityGroupsResult { + export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewayMulticastDomainsRequest { +export interface DescribeSubnetsRequest { /** *

                                                                The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                @@ -4864,110 +4923,168 @@ export interface DescribeTransitGatewayMulticastDomainsRequest { MaxResults?: number; /** - *

                                                                One or more filters. The possible values are:

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                + */ + DryRun?: boolean; + + /** + *

                                                                One or more subnet IDs.

                                                                + *

                                                                Default: Describes all your subnets.

                                                                + */ + SubnetIds?: string[]; + + /** + *

                                                                The token for the next page of results.

                                                                + */ + NextToken?: string; + + /** + *

                                                                One or more filters.

                                                                *
                                                                  *
                                                                • *

                                                                  - * state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

                                                                  + * availability-zone - The Availability Zone for the subnet. You can also use + * availabilityZone as the filter name.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * availability-zone-id - The ID of the Availability Zone for the subnet. + * You can also use availabilityZoneId as the filter name.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * available-ip-address-count - The number of IPv4 addresses in the + * subnet that are available.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * transit-gateway-id - The ID of the transit gateway.

                                                                  + * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you + * specify must exactly match the subnet's CIDR block for information to be + * returned for the subnet. You can also use cidr or + * cidrBlock as the filter names.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

                                                                  + * default-for-az - Indicates whether this is the default subnet for the + * Availability Zone. You can also use defaultForAz as the filter name.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR + * block associated with the subnet.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ipv6-cidr-block-association.association-id - An association ID + * for an IPv6 CIDR block associated with the subnet.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ipv6-cidr-block-association.state - The state of an IPv6 CIDR + * block associated with the subnet.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * owner-id - The ID of the AWS account that owns the subnet.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * state - The state of the subnet (pending | available).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * subnet-arn - The Amazon Resource Name (ARN) of the subnet.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * subnet-id - The ID of the subnet.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * vpc-id - The ID of the VPC for the subnet.

                                                                  *
                                                                • *
                                                                */ Filters?: Filter[]; - - /** - *

                                                                The ID of the transit gateway multicast domain.

                                                                - */ - TransitGatewayMulticastDomainIds?: string[]; - - /** - *

                                                                The token for the next page of results.

                                                                - */ - NextToken?: string; - - /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                - */ - DryRun?: boolean; } -export namespace DescribeTransitGatewayMulticastDomainsRequest { - export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsRequest): any => ({ +export namespace DescribeSubnetsRequest { + export const filterSensitiveLog = (obj: DescribeSubnetsRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayMulticastDomainsResult { +export interface DescribeSubnetsResult { /** - *

                                                                Information about the transit gateway multicast domains.

                                                                + *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                */ - TransitGatewayMulticastDomains?: TransitGatewayMulticastDomain[]; + NextToken?: string; /** - *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                + *

                                                                Information about one or more subnets.

                                                                */ - NextToken?: string; + Subnets?: Subnet[]; } -export namespace DescribeTransitGatewayMulticastDomainsResult { - export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsResult): any => ({ +export namespace DescribeSubnetsResult { + export const filterSensitiveLog = (obj: DescribeSubnetsResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewayPeeringAttachmentsRequest { +export interface DescribeTagsRequest { /** - *

                                                                The token for the next page of results.

                                                                + *

                                                                The token to retrieve the next page of results.

                                                                */ NextToken?: string; /** - *

                                                                One or more IDs of the transit gateway peering attachments.

                                                                + *

                                                                The maximum number of results to return in a single call. + * This value can be between 5 and 1000. + * To retrieve the remaining results, make another call with the returned NextToken value.

                                                                */ - TransitGatewayAttachmentIds?: string[]; + MaxResults?: number; /** - *

                                                                One or more filters. The possible values are:

                                                                - *
                                                                  + *

                                                                  The filters.

                                                                  + *
                                                                    *
                                                                  • - *

                                                                    - * transit-gateway-attachment-id - The ID of the transit gateway attachment.

                                                                    + *

                                                                    + * key - The tag key.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * local-owner-id - The ID of your AWS account.

                                                                    + *

                                                                    + * resource-id - The ID of the resource.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * remote-owner-id - The ID of the AWS account in the remote Region that owns the transit gateway.

                                                                    + *

                                                                    + * resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * state - The state of the peering attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

                                                                    + *

                                                                    + * tag: - The key/value combination of the tag. For example, + * specify "tag:Owner" for the filter name and "TeamA" for the filter value to find + * resources with the tag "Owner=TeamA".

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * transit-gateway-id - The ID of the transit gateway.

                                                                    + *

                                                                    + * value - The tag value.

                                                                    *
                                                                  • *
                                                                  */ Filters?: Filter[]; - /** - *

                                                                  The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                  - */ - MaxResults?: number; - /** *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4976,109 +5093,138 @@ export interface DescribeTransitGatewayPeeringAttachmentsRequest { DryRun?: boolean; } -export namespace DescribeTransitGatewayPeeringAttachmentsRequest { - export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsRequest): any => ({ +export namespace DescribeTagsRequest { + export const filterSensitiveLog = (obj: DescribeTagsRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayPeeringAttachmentsResult { +/** + *

                                                                  Describes a tag.

                                                                  + */ +export interface TagDescription { /** - *

                                                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                  + *

                                                                  The ID of the resource.

                                                                  */ - NextToken?: string; + ResourceId?: string; /** - *

                                                                  The transit gateway peering attachments.

                                                                  + *

                                                                  The resource type.

                                                                  */ - TransitGatewayPeeringAttachments?: TransitGatewayPeeringAttachment[]; + ResourceType?: ResourceType | string; + + /** + *

                                                                  The tag key.

                                                                  + */ + Key?: string; + + /** + *

                                                                  The tag value.

                                                                  + */ + Value?: string; } -export namespace DescribeTransitGatewayPeeringAttachmentsResult { - export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsResult): any => ({ +export namespace TagDescription { + export const filterSensitiveLog = (obj: TagDescription): any => ({ ...obj, }); } -export interface DescribeTransitGatewayRouteTablesRequest { +export interface DescribeTagsResult { /** - *

                                                                  The IDs of the transit gateway route tables.

                                                                  + *

                                                                  The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

                                                                  */ - TransitGatewayRouteTableIds?: string[]; + NextToken?: string; /** - *

                                                                  The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                  + *

                                                                  The tags.

                                                                  */ - MaxResults?: number; + Tags?: TagDescription[]; +} + +export namespace DescribeTagsResult { + export const filterSensitiveLog = (obj: DescribeTagsResult): any => ({ + ...obj, + }); +} + +export interface DescribeTrafficMirrorFiltersRequest { + /** + *

                                                                  The token for the next page of results.

                                                                  + */ + NextToken?: string; /** *

                                                                  One or more filters. The possible values are:

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * default-association-route-table - Indicates whether this is the default - * association route table for the transit gateway (true | false).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * default-propagation-route-table - Indicates whether this is the default - * propagation route table for the transit gateway (true | false).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * transit-gateway-id - The ID of the transit gateway.

                                                                    + * description: The Traffic Mirror filter description.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * transit-gateway-route-table-id - The ID of the transit gateway route table.

                                                                    + * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                                    *
                                                                  • *
                                                                  */ Filters?: Filter[]; - /** - *

                                                                  The token for the next page of results.

                                                                  - */ - NextToken?: string; - /** *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                  */ DryRun?: boolean; + + /** + *

                                                                  The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                  + */ + MaxResults?: number; + + /** + *

                                                                  The ID of the Traffic Mirror filter.

                                                                  + */ + TrafficMirrorFilterIds?: string[]; } -export namespace DescribeTransitGatewayRouteTablesRequest { - export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesRequest): any => ({ +export namespace DescribeTrafficMirrorFiltersRequest { + export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayRouteTablesResult { +export interface DescribeTrafficMirrorFiltersResult { /** - *

                                                                  Information about the transit gateway route tables.

                                                                  + *

                                                                  The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                                  */ - TransitGatewayRouteTables?: TransitGatewayRouteTable[]; + NextToken?: string; /** - *

                                                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                  + *

                                                                  Information about one or more Traffic Mirror filters.

                                                                  */ - NextToken?: string; + TrafficMirrorFilters?: TrafficMirrorFilter[]; } -export namespace DescribeTransitGatewayRouteTablesResult { - export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesResult): any => ({ +export namespace DescribeTrafficMirrorFiltersResult { + export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewaysRequest { +export interface DescribeTrafficMirrorSessionsRequest { + /** + *

                                                                  The ID of the Traffic Mirror session.

                                                                  + */ + TrafficMirrorSessionIds?: string[]; + + /** + *

                                                                  The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                  + */ + MaxResults?: number; + /** *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -5087,178 +5233,116 @@ export interface DescribeTransitGatewaysRequest { DryRun?: boolean; /** - *

                                                                  The IDs of the transit gateways.

                                                                  + *

                                                                  The token for the next page of results.

                                                                  */ - TransitGatewayIds?: string[]; + NextToken?: string; /** *

                                                                  One or more filters. The possible values are:

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * options.propagation-default-route-table-id - The ID of the default propagation route table.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * options.association-default-route-table-id - The ID of the default association route table.

                                                                    + * description: The Traffic Mirror session description.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

                                                                    + * network-interface-id: The ID of the Traffic Mirror session network interface.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * options.default-route-table-association - Indicates whether resource attachments are automatically - * associated with the default association route table (enable | disable).

                                                                    + * owner-id: The ID of the account that owns the Traffic Mirror session.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * options.default-route-table-propagation - Indicates whether resource attachments automatically propagate - * routes to the default propagation route table (enable | disable).

                                                                    + * packet-length: The assigned number of packets to mirror.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * options.dns-support - Indicates whether DNS support is enabled (enable | disable).

                                                                    + * session-number: The assigned session number.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

                                                                    + * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * owner-id - The ID of the AWS account that owns the transit gateway.

                                                                    + * traffic-mirror-session-id: The ID of the Traffic Mirror session.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

                                                                    + * traffic-mirror-target-id: The ID of the Traffic Mirror target.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * transit-gateway-id - The ID of the transit gateway.

                                                                    + * virtual-network-id: The virtual network ID of the Traffic Mirror session.

                                                                    *
                                                                  • *
                                                                  */ Filters?: Filter[]; - - /** - *

                                                                  The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                  - */ - MaxResults?: number; - - /** - *

                                                                  The token for the next page of results.

                                                                  - */ - NextToken?: string; } -export namespace DescribeTransitGatewaysRequest { - export const filterSensitiveLog = (obj: DescribeTransitGatewaysRequest): any => ({ +export namespace DescribeTrafficMirrorSessionsRequest { + export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewaysResult { +export interface DescribeTrafficMirrorSessionsResult { /** - *

                                                                  Information about the transit gateways.

                                                                  + *

                                                                  Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

                                                                  */ - TransitGateways?: TransitGateway[]; + TrafficMirrorSessions?: TrafficMirrorSession[]; /** - *

                                                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                  + *

                                                                  The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                                  */ NextToken?: string; } -export namespace DescribeTransitGatewaysResult { - export const filterSensitiveLog = (obj: DescribeTransitGatewaysResult): any => ({ +export namespace DescribeTrafficMirrorSessionsResult { + export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewayVpcAttachmentsRequest { - /** - *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                  - */ - DryRun?: boolean; - - /** - *

                                                                  The token for the next page of results.

                                                                  - */ - NextToken?: string; - - /** - *

                                                                  The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                  - */ - MaxResults?: number; - +export interface DescribeTrafficMirrorTargetsRequest { /** *

                                                                  One or more filters. The possible values are:

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

                                                                    + * description: The Traffic Mirror target description.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * transit-gateway-attachment-id - The ID of the attachment.

                                                                    + * network-interface-id: The ID of the Traffic Mirror session network interface.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * transit-gateway-id - The ID of the transit gateway.

                                                                    + * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * vpc-id - The ID of the VPC.

                                                                    + * owner-id: The ID of the account that owns the Traffic Mirror session.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * traffic-mirror-target-id: The ID of the Traffic Mirror target.

                                                                    *
                                                                  • *
                                                                  */ Filters?: Filter[]; /** - *

                                                                  The IDs of the attachments.

                                                                  - */ - TransitGatewayAttachmentIds?: string[]; -} - -export namespace DescribeTransitGatewayVpcAttachmentsRequest { - export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsRequest): any => ({ - ...obj, - }); -} - -export interface DescribeTransitGatewayVpcAttachmentsResult { - /** - *

                                                                  Information about the VPC attachments.

                                                                  + *

                                                                  The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                  */ - TransitGatewayVpcAttachments?: TransitGatewayVpcAttachment[]; + MaxResults?: number; /** - *

                                                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                  + *

                                                                  The token for the next page of results.

                                                                  */ NextToken?: string; -} - -export namespace DescribeTransitGatewayVpcAttachmentsResult { - export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsResult): any => ({ - ...obj, - }); -} - -export type VolumeAttributeName = "autoEnableIO" | "productCodes"; - -export interface DescribeVolumeAttributeRequest { - /** - *

                                                                  The attribute of the volume. This parameter is required.

                                                                  - */ - Attribute: VolumeAttributeName | string | undefined; /** *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, @@ -5268,689 +5352,748 @@ export interface DescribeVolumeAttributeRequest { DryRun?: boolean; /** - *

                                                                  The ID of the volume.

                                                                  + *

                                                                  The ID of the Traffic Mirror targets.

                                                                  */ - VolumeId: string | undefined; + TrafficMirrorTargetIds?: string[]; } -export namespace DescribeVolumeAttributeRequest { - export const filterSensitiveLog = (obj: DescribeVolumeAttributeRequest): any => ({ +export namespace DescribeTrafficMirrorTargetsRequest { + export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsRequest): any => ({ ...obj, }); } -export interface DescribeVolumeAttributeResult { - /** - *

                                                                  The ID of the volume.

                                                                  - */ - VolumeId?: string; - +export interface DescribeTrafficMirrorTargetsResult { /** - *

                                                                  The state of autoEnableIO attribute.

                                                                  + *

                                                                  Information about one or more Traffic Mirror targets.

                                                                  */ - AutoEnableIO?: AttributeBooleanValue; + TrafficMirrorTargets?: TrafficMirrorTarget[]; /** - *

                                                                  A list of product codes.

                                                                  + *

                                                                  The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                                  */ - ProductCodes?: ProductCode[]; + NextToken?: string; } -export namespace DescribeVolumeAttributeResult { - export const filterSensitiveLog = (obj: DescribeVolumeAttributeResult): any => ({ +export namespace DescribeTrafficMirrorTargetsResult { + export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsResult): any => ({ ...obj, }); } -export interface DescribeVolumesRequest { +export interface DescribeTransitGatewayAttachmentsRequest { /** - *

                                                                  The volume IDs.

                                                                  + *

                                                                  The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                  */ - VolumeIds?: string[]; + MaxResults?: number; /** - *

                                                                  The filters.

                                                                  + *

                                                                  The IDs of the attachments.

                                                                  + */ + TransitGatewayAttachmentIds?: string[]; + + /** + *

                                                                  One or more filters. The possible values are:

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * attachment.attach-time - The time stamp when the attachment - * initiated.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * attachment.delete-on-termination - Whether the volume is deleted on - * instance termination.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * attachment.device - The device name specified in the block device mapping - * (for example, /dev/sda1).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * attachment.instance-id - The ID of the instance the volume is attached - * to.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * attachment.status - The attachment state (attaching | - * attached | detaching).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * availability-zone - The Availability Zone in which the volume was - * created.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * create-time - The time stamp when the volume was created.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * encrypted - Indicates whether the volume is encrypted (true - * | false)

                                                                    + * association.state - The state of the association (associating | associated | + * disassociating).

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true - * | false)

                                                                    - *
                                                                  • - *
                                                                  • *

                                                                    - * fast-restored - Indicates whether the volume was created from a - * snapshot that is enabled for fast snapshot restore (true | - * false).

                                                                    + * association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * size - The size of the volume, in GiB.

                                                                    + * resource-id - The ID of the resource.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * snapshot-id - The snapshot from which the volume was created.

                                                                    + * resource-owner-id - The ID of the AWS account that owns the resource.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * status - The status of the volume (creating | - * available | in-use | deleting | - * deleted | error).

                                                                    + * resource-type - The resource type. Valid values are vpc | + * vpn | direct-connect-gateway | + * peering.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                    + * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                    + * transit-gateway-attachment-id - The ID of the attachment.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * volume-id - The volume ID.

                                                                    + * transit-gateway-id - The ID of the transit gateway.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * volume-type - The Amazon EBS volume type. This can be gp2 - * for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, - * sc1 for Cold HDD, or standard for Magnetic volumes.

                                                                    + * transit-gateway-owner-id - The ID of the AWS account that owns the transit gateway.

                                                                    *
                                                                  • *
                                                                  */ - Filters?: Filter[]; + Filters?: Filter[]; + + /** + *

                                                                  The token for the next page of results.

                                                                  + */ + NextToken?: string; + + /** + *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                  + */ + DryRun?: boolean; +} + +export namespace DescribeTransitGatewayAttachmentsRequest { + export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                  Describes an association.

                                                                  + */ +export interface TransitGatewayAttachmentAssociation { + /** + *

                                                                  The state of the association.

                                                                  + */ + State?: TransitGatewayAssociationState | string; + + /** + *

                                                                  The ID of the route table for the transit gateway.

                                                                  + */ + TransitGatewayRouteTableId?: string; +} + +export namespace TransitGatewayAttachmentAssociation { + export const filterSensitiveLog = (obj: TransitGatewayAttachmentAssociation): any => ({ + ...obj, + }); +} +/** + *

                                                                  Describes an attachment between a resource and a transit gateway.

                                                                  + */ +export interface TransitGatewayAttachment { /** - *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                  + *

                                                                  The ID of the transit gateway.

                                                                  */ - DryRun?: boolean; + TransitGatewayId?: string; /** - *

                                                                  The NextToken value returned from a previous paginated - * DescribeVolumes 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. This value is null when - * there are no more results to return.

                                                                  + *

                                                                  The ID of the AWS account that owns the transit gateway.

                                                                  */ - NextToken?: string; + TransitGatewayOwnerId?: string; /** - *

                                                                  The maximum number of volume results returned by DescribeVolumes in paginated - * output. When this parameter is used, DescribeVolumes only returns - * MaxResults results in a single page along with a NextToken - * response element. The remaining results of the initial request can be seen by sending another - * DescribeVolumes request with the returned NextToken value. This - * value can be between 5 and 500; if MaxResults is given a value larger than 500, - * only 500 results are returned. If this parameter is not used, then - * DescribeVolumes returns all results. You cannot specify this parameter and the - * volume IDs parameter in the same request.

                                                                  + *

                                                                  The resource type. Note that the tgw-peering resource type has been deprecated.

                                                                  */ - MaxResults?: number; + ResourceType?: TransitGatewayAttachmentResourceType | string; + + /** + *

                                                                  The tags for the attachment.

                                                                  + */ + Tags?: Tag[]; + + /** + *

                                                                  The creation time.

                                                                  + */ + CreationTime?: Date; + + /** + *

                                                                  The attachment state. Note that the initiating state has been deprecated.

                                                                  + */ + State?: TransitGatewayAttachmentState | string; + + /** + *

                                                                  The ID of the AWS account that owns the resource.

                                                                  + */ + ResourceOwnerId?: string; + + /** + *

                                                                  The ID of the attachment.

                                                                  + */ + TransitGatewayAttachmentId?: string; + + /** + *

                                                                  The association.

                                                                  + */ + Association?: TransitGatewayAttachmentAssociation; + + /** + *

                                                                  The ID of the resource.

                                                                  + */ + ResourceId?: string; } -export namespace DescribeVolumesRequest { - export const filterSensitiveLog = (obj: DescribeVolumesRequest): any => ({ +export namespace TransitGatewayAttachment { + export const filterSensitiveLog = (obj: TransitGatewayAttachment): any => ({ ...obj, }); } -export interface DescribeVolumesResult { +export interface DescribeTransitGatewayAttachmentsResult { /** - *

                                                                  Information about the volumes.

                                                                  + *

                                                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                  */ - Volumes?: Volume[]; + NextToken?: string; /** - *

                                                                  The NextToken value to include in a future DescribeVolumes - * request. When the results of a DescribeVolumes request exceed - * MaxResults, this value can be used to retrieve the next page of results. This - * value is null when there are no more results to return.

                                                                  + *

                                                                  Information about the attachments.

                                                                  */ - NextToken?: string; + TransitGatewayAttachments?: TransitGatewayAttachment[]; } -export namespace DescribeVolumesResult { - export const filterSensitiveLog = (obj: DescribeVolumesResult): any => ({ +export namespace DescribeTransitGatewayAttachmentsResult { + export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsResult): any => ({ ...obj, }); } -export interface DescribeVolumesModificationsRequest { +export interface DescribeTransitGatewayMulticastDomainsRequest { /** - *

                                                                  The filters.

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * modification-state - The current modification state (modifying | - * optimizing | completed | failed).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * original-iops - The original IOPS rate of the volume.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * original-size - The original size of the volume, in GiB.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * original-volume-type - The original volume type of the volume (standard | - * io1 | gp2 | sc1 | st1).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * start-time - The modification start time.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * target-iops - The target IOPS rate of the volume.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * target-size - The target size of the volume, in GiB.

                                                                    - *
                                                                  • + *

                                                                    One or more filters. The possible values are:

                                                                    + *
                                                                      *
                                                                    • - *

                                                                      - * target-volume-type - The target volume type of the volume (standard | - * io1 | gp2 | sc1 | st1).

                                                                      + *

                                                                      + * state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      - * targetMultiAttachEnabled - Indicates whether Multi-Attach support is to be enabled (true | false).

                                                                      + *

                                                                      + * transit-gateway-id - The ID of the transit gateway.

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      - * volume-id - The ID of the volume.

                                                                      + *

                                                                      + * transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

                                                                      *
                                                                    • *
                                                                    */ Filters?: Filter[]; /** - *

                                                                    The nextToken value returned by a previous paginated request.

                                                                    + *

                                                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    + */ + MaxResults?: number; + + /** + *

                                                                    The token for the next page of results.

                                                                    */ NextToken?: string; + /** + *

                                                                    The ID of the transit gateway multicast domain.

                                                                    + */ + TransitGatewayMulticastDomainIds?: string[]; + /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; +} + +export namespace DescribeTransitGatewayMulticastDomainsRequest { + export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsRequest): any => ({ + ...obj, + }); +} +export interface DescribeTransitGatewayMulticastDomainsResult { /** - *

                                                                    The maximum number of results (up to a limit of 500) to be returned in a paginated - * request.

                                                                    + *

                                                                    Information about the transit gateway multicast domains.

                                                                    */ - MaxResults?: number; + TransitGatewayMulticastDomains?: TransitGatewayMulticastDomain[]; /** - *

                                                                    The IDs of the volumes.

                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ - VolumeIds?: string[]; + NextToken?: string; } -export namespace DescribeVolumesModificationsRequest { - export const filterSensitiveLog = (obj: DescribeVolumesModificationsRequest): any => ({ +export namespace DescribeTransitGatewayMulticastDomainsResult { + export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsResult): any => ({ ...obj, }); } -export type VolumeModificationState = "completed" | "failed" | "modifying" | "optimizing"; +export interface DescribeTransitGatewayPeeringAttachmentsRequest { + /** + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; -/** - *

                                                                    Describes the modification status of an EBS volume.

                                                                    - *

                                                                    If the volume has never been modified, some element values will be null.

                                                                    - */ -export interface VolumeModification { /** - *

                                                                    The original IOPS rate of the volume.

                                                                    + *

                                                                    One or more IDs of the transit gateway peering attachments.

                                                                    */ - OriginalIops?: number; + TransitGatewayAttachmentIds?: string[]; /** - *

                                                                    The current modification state. The modification state is null for unmodified - * volumes.

                                                                    + *

                                                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    */ - ModificationState?: VolumeModificationState | string; + MaxResults?: number; /** - *

                                                                    The target EBS volume type of the volume.

                                                                    + *

                                                                    One or more filters. The possible values are:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * transit-gateway-attachment-id - The ID of the transit gateway attachment.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * local-owner-id - The ID of your AWS account.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * remote-owner-id - The ID of the AWS account in the remote Region that owns the transit gateway.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * state - The state of the peering attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * transit-gateway-id - The ID of the transit gateway.

                                                                      + *
                                                                    • + *
                                                                    */ - TargetVolumeType?: VolumeType | string; + Filters?: Filter[]; /** - *

                                                                    The target size of the volume, in GiB.

                                                                    + *

                                                                    The token for the next page of results.

                                                                    */ - TargetSize?: number; + NextToken?: string; +} + +export namespace DescribeTransitGatewayPeeringAttachmentsRequest { + export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeTransitGatewayPeeringAttachmentsResult { + /** + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    + */ + NextToken?: string; + + /** + *

                                                                    The transit gateway peering attachments.

                                                                    + */ + TransitGatewayPeeringAttachments?: TransitGatewayPeeringAttachment[]; +} + +export namespace DescribeTransitGatewayPeeringAttachmentsResult { + export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsResult): any => ({ + ...obj, + }); +} +export interface DescribeTransitGatewayRouteTablesRequest { /** - *

                                                                    The original size of the volume, in GiB.

                                                                    + *

                                                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    */ - OriginalSize?: number; + MaxResults?: number; /** - *

                                                                    The original EBS volume type of the volume.

                                                                    + *

                                                                    The IDs of the transit gateway route tables.

                                                                    */ - OriginalVolumeType?: VolumeType | string; + TransitGatewayRouteTableIds?: string[]; /** - *

                                                                    The modification completion or failure time.

                                                                    + *

                                                                    The token for the next page of results.

                                                                    */ - EndTime?: Date; + NextToken?: string; /** - *

                                                                    The ID of the volume.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - VolumeId?: string; + DryRun?: boolean; /** - *

                                                                    The modification progress, from 0 to 100 percent complete.

                                                                    + *

                                                                    One or more filters. The possible values are:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * default-association-route-table - Indicates whether this is the default + * association route table for the transit gateway (true | false).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * default-propagation-route-table - Indicates whether this is the default + * propagation route table for the transit gateway (true | false).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * state - The state of the route table (available | deleting | deleted | pending).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * transit-gateway-id - The ID of the transit gateway.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * transit-gateway-route-table-id - The ID of the transit gateway route table.

                                                                      + *
                                                                    • + *
                                                                    */ - Progress?: number; + Filters?: Filter[]; +} - /** - *

                                                                    A status message about the modification progress or failure.

                                                                    - */ - StatusMessage?: string; +export namespace DescribeTransitGatewayRouteTablesRequest { + export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesRequest): any => ({ + ...obj, + }); +} +export interface DescribeTransitGatewayRouteTablesResult { /** - *

                                                                    The target IOPS rate of the volume.

                                                                    + *

                                                                    Information about the transit gateway route tables.

                                                                    */ - TargetIops?: number; + TransitGatewayRouteTables?: TransitGatewayRouteTable[]; /** - *

                                                                    The modification start time.

                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ - StartTime?: Date; + NextToken?: string; } -export namespace VolumeModification { - export const filterSensitiveLog = (obj: VolumeModification): any => ({ +export namespace DescribeTransitGatewayRouteTablesResult { + export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesResult): any => ({ ...obj, }); } -export interface DescribeVolumesModificationsResult { +export interface DescribeTransitGatewaysRequest { /** - *

                                                                    Information about the volume modifications.

                                                                    + *

                                                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    */ - VolumesModifications?: VolumeModification[]; + MaxResults?: number; /** - *

                                                                    Token for pagination, null if there are no more results

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; + + /** + *

                                                                    The token for the next page of results.

                                                                    */ NextToken?: string; -} -export namespace DescribeVolumesModificationsResult { - export const filterSensitiveLog = (obj: DescribeVolumesModificationsResult): any => ({ - ...obj, - }); -} + /** + *

                                                                    The IDs of the transit gateways.

                                                                    + */ + TransitGatewayIds?: string[]; -export interface DescribeVolumeStatusRequest { /** - *

                                                                    The filters.

                                                                    + *

                                                                    One or more filters. The possible values are:

                                                                    *
                                                                      *
                                                                    • *

                                                                      - * action.code - The action code for the event (for example, - * enable-volume-io).

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * action.description - A description of the action.

                                                                      + * options.propagation-default-route-table-id - The ID of the default propagation route table.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * action.event-id - The event ID associated with the action.

                                                                      + * options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * availability-zone - The Availability Zone of the instance.

                                                                      + * options.association-default-route-table-id - The ID of the default association route table.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * event.description - A description of the event.

                                                                      + * options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * event.event-id - The event ID.

                                                                      + * options.default-route-table-association - Indicates whether resource attachments are automatically + * associated with the default association route table (enable | disable).

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * event.event-type - The event type (for io-enabled: - * passed | failed; for io-performance: - * io-performance:degraded | io-performance:severely-degraded | - * io-performance:stalled).

                                                                      + * options.default-route-table-propagation - Indicates whether resource attachments automatically propagate + * routes to the default propagation route table (enable | disable).

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * event.not-after - The latest end time for the event.

                                                                      + * options.dns-support - Indicates whether DNS support is enabled (enable | disable).

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * event.not-before - The earliest start time for the event.

                                                                      + * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * volume-status.details-name - The cause for - * volume-status.status (io-enabled | - * io-performance).

                                                                      + * owner-id - The ID of the AWS account that owns the transit gateway.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * volume-status.details-status - The status of - * volume-status.details-name (for io-enabled: - * passed | failed; for io-performance: - * normal | degraded | severely-degraded | - * stalled).

                                                                      + * state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * volume-status.status - The status of the volume (ok | - * impaired | warning | insufficient-data).

                                                                      + * transit-gateway-id - The ID of the transit gateway.

                                                                      *
                                                                    • *
                                                                    */ Filters?: Filter[]; - - /** - *

                                                                    The IDs of the volumes.

                                                                    - *

                                                                    Default: Describes all your volumes.

                                                                    - */ - VolumeIds?: string[]; - - /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    - */ - DryRun?: boolean; - - /** - *

                                                                    The maximum number of volume results returned by DescribeVolumeStatus in - * paginated output. When this parameter is used, the request only returns - * MaxResults results in a single page along with a NextToken - * response element. The remaining results of the initial request can be seen by sending another - * request with the returned NextToken value. This value can be between 5 and 1000; - * if MaxResults is given a value larger than 1000, only 1000 results are returned. - * If this parameter is not used, then DescribeVolumeStatus returns all results. You - * cannot specify this parameter and the volume IDs parameter in the same request.

                                                                    - */ - MaxResults?: number; - - /** - *

                                                                    The NextToken value to include in a future DescribeVolumeStatus - * request. When the results of the request exceed MaxResults, this value can be - * used to retrieve the next page of results. This value is null when there are no - * more results to return.

                                                                    - */ - NextToken?: string; -} - -export namespace DescribeVolumeStatusRequest { - export const filterSensitiveLog = (obj: DescribeVolumeStatusRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                                    Describes a volume status operation code.

                                                                    - */ -export interface VolumeStatusAction { - /** - *

                                                                    The event type associated with this operation.

                                                                    - */ - EventType?: string; - - /** - *

                                                                    A description of the operation.

                                                                    - */ - Description?: string; - - /** - *

                                                                    The code identifying the operation, for example, enable-volume-io.

                                                                    - */ - Code?: string; - - /** - *

                                                                    The ID of the event associated with this operation.

                                                                    - */ - EventId?: string; -} - -export namespace VolumeStatusAction { - export const filterSensitiveLog = (obj: VolumeStatusAction): any => ({ - ...obj, - }); -} - -/** - *

                                                                    Information about the instances to which the volume is attached.

                                                                    - */ -export interface VolumeStatusAttachmentStatus { - /** - *

                                                                    The ID of the attached instance.

                                                                    - */ - InstanceId?: string; - - /** - *

                                                                    The maximum IOPS supported by the attached instance.

                                                                    - */ - IoPerformance?: string; } -export namespace VolumeStatusAttachmentStatus { - export const filterSensitiveLog = (obj: VolumeStatusAttachmentStatus): any => ({ +export namespace DescribeTransitGatewaysRequest { + export const filterSensitiveLog = (obj: DescribeTransitGatewaysRequest): any => ({ ...obj, }); } -/** - *

                                                                    Describes a volume status event.

                                                                    - */ -export interface VolumeStatusEvent { - /** - *

                                                                    The ID of this event.

                                                                    - */ - EventId?: string; - - /** - *

                                                                    The earliest start time of the event.

                                                                    - */ - NotBefore?: Date; - - /** - *

                                                                    A description of the event.

                                                                    - */ - Description?: string; - - /** - *

                                                                    The ID of the instance associated with the event.

                                                                    - */ - InstanceId?: string; - +export interface DescribeTransitGatewaysResult { /** - *

                                                                    The type of this event.

                                                                    + *

                                                                    Information about the transit gateways.

                                                                    */ - EventType?: string; + TransitGateways?: TransitGateway[]; /** - *

                                                                    The latest end time of the event.

                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ - NotAfter?: Date; + NextToken?: string; } -export namespace VolumeStatusEvent { - export const filterSensitiveLog = (obj: VolumeStatusEvent): any => ({ +export namespace DescribeTransitGatewaysResult { + export const filterSensitiveLog = (obj: DescribeTransitGatewaysResult): any => ({ ...obj, }); } -export type VolumeStatusName = "io-enabled" | "io-performance"; - -/** - *

                                                                    Describes a volume status.

                                                                    - */ -export interface VolumeStatusDetails { +export interface DescribeTransitGatewayVpcAttachmentsRequest { /** - *

                                                                    The intended status of the volume status.

                                                                    + *

                                                                    The IDs of the attachments.

                                                                    */ - Status?: string; + TransitGatewayAttachmentIds?: string[]; /** - *

                                                                    The name of the volume status.

                                                                    + *

                                                                    One or more filters. The possible values are:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * transit-gateway-attachment-id - The ID of the attachment.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * transit-gateway-id - The ID of the transit gateway.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * vpc-id - The ID of the VPC.

                                                                      + *
                                                                    • + *
                                                                    */ - Name?: VolumeStatusName | string; -} - -export namespace VolumeStatusDetails { - export const filterSensitiveLog = (obj: VolumeStatusDetails): any => ({ - ...obj, - }); -} + Filters?: Filter[]; -export type VolumeStatusInfoStatus = "impaired" | "insufficient-data" | "ok"; + /** + *

                                                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    + */ + MaxResults?: number; -/** - *

                                                                    Describes the status of a volume.

                                                                    - */ -export interface VolumeStatusInfo { /** - *

                                                                    The details of the volume status.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - Details?: VolumeStatusDetails[]; + DryRun?: boolean; /** - *

                                                                    The status of the volume.

                                                                    + *

                                                                    The token for the next page of results.

                                                                    */ - Status?: VolumeStatusInfoStatus | string; + NextToken?: string; } -export namespace VolumeStatusInfo { - export const filterSensitiveLog = (obj: VolumeStatusInfo): any => ({ +export namespace DescribeTransitGatewayVpcAttachmentsRequest { + export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsRequest): any => ({ ...obj, }); } -/** - *

                                                                    Describes the volume status.

                                                                    - */ -export interface VolumeStatusItem { +export interface DescribeTransitGatewayVpcAttachmentsResult { /** - *

                                                                    The Availability Zone of the volume.

                                                                    + *

                                                                    Information about the VPC attachments.

                                                                    */ - AvailabilityZone?: string; + TransitGatewayVpcAttachments?: TransitGatewayVpcAttachment[]; /** - *

                                                                    Information about the instances to which the volume is attached.

                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ - AttachmentStatuses?: VolumeStatusAttachmentStatus[]; + NextToken?: string; +} - /** - *

                                                                    The volume status.

                                                                    - */ - VolumeStatus?: VolumeStatusInfo; +export namespace DescribeTransitGatewayVpcAttachmentsResult { + export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsResult): any => ({ + ...obj, + }); +} - /** - *

                                                                    The Amazon Resource Name (ARN) of the Outpost.

                                                                    - */ - OutpostArn?: string; +export type VolumeAttributeName = "autoEnableIO" | "productCodes"; +export interface DescribeVolumeAttributeRequest { /** - *

                                                                    The volume ID.

                                                                    + *

                                                                    The ID of the volume.

                                                                    */ - VolumeId?: string; + VolumeId: string | undefined; /** - *

                                                                    A list of events associated with the volume.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - Events?: VolumeStatusEvent[]; + DryRun?: boolean; /** - *

                                                                    The details of the operation.

                                                                    + *

                                                                    The attribute of the volume. This parameter is required.

                                                                    */ - Actions?: VolumeStatusAction[]; + Attribute: VolumeAttributeName | string | undefined; } -export namespace VolumeStatusItem { - export const filterSensitiveLog = (obj: VolumeStatusItem): any => ({ +export namespace DescribeVolumeAttributeRequest { + export const filterSensitiveLog = (obj: DescribeVolumeAttributeRequest): any => ({ ...obj, }); } -export interface DescribeVolumeStatusResult { +export interface DescribeVolumeAttributeResult { /** - *

                                                                    Information about the status of the volumes.

                                                                    + *

                                                                    A list of product codes.

                                                                    */ - VolumeStatuses?: VolumeStatusItem[]; + ProductCodes?: ProductCode[]; /** - *

                                                                    The token to use to retrieve the next page of results. This value is null - * when there are no more results to return.

                                                                    + *

                                                                    The ID of the volume.

                                                                    */ - NextToken?: string; + VolumeId?: string; + + /** + *

                                                                    The state of autoEnableIO attribute.

                                                                    + */ + AutoEnableIO?: AttributeBooleanValue; } -export namespace DescribeVolumeStatusResult { - export const filterSensitiveLog = (obj: DescribeVolumeStatusResult): any => ({ +export namespace DescribeVolumeAttributeResult { + export const filterSensitiveLog = (obj: DescribeVolumeAttributeResult): any => ({ ...obj, }); } -export type VpcAttributeName = "enableDnsHostnames" | "enableDnsSupport"; - -export interface DescribeVpcAttributeRequest { +export interface DescribeVolumesRequest { /** - *

                                                                    The ID of the VPC.

                                                                    + *

                                                                    The filters.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * attachment.attach-time - The time stamp when the attachment + * initiated.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * attachment.delete-on-termination - Whether the volume is deleted on + * instance termination.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * attachment.device - The device name specified in the block device mapping + * (for example, /dev/sda1).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * attachment.instance-id - The ID of the instance the volume is attached + * to.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * attachment.status - The attachment state (attaching | + * attached | detaching).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * availability-zone - The Availability Zone in which the volume was + * created.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * create-time - The time stamp when the volume was created.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * encrypted - Indicates whether the volume is encrypted (true + * | false)

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true + * | false)

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * fast-restored - Indicates whether the volume was created from a + * snapshot that is enabled for fast snapshot restore (true | + * false).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * size - The size of the volume, in GiB.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * snapshot-id - The snapshot from which the volume was created.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * status - The state of the volume (creating | + * available | in-use | deleting | + * deleted | error).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * volume-id - The volume ID.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * volume-type - The Amazon EBS volume type. This can be gp2 + * for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, + * sc1 for Cold HDD, or standard for Magnetic volumes.

                                                                      + *
                                                                    • + *
                                                                    */ - VpcId: string | undefined; + Filters?: Filter[]; /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, @@ -5960,585 +6103,561 @@ export interface DescribeVpcAttributeRequest { DryRun?: boolean; /** - *

                                                                    The VPC attribute.

                                                                    + *

                                                                    The volume IDs.

                                                                    */ - Attribute: VpcAttributeName | string | undefined; + VolumeIds?: string[]; + + /** + *

                                                                    The maximum number of volume results returned by DescribeVolumes in paginated + * output. When this parameter is used, DescribeVolumes only returns + * MaxResults results in a single page along with a NextToken + * response element. The remaining results of the initial request can be seen by sending another + * DescribeVolumes request with the returned NextToken value. This + * value can be between 5 and 500; if MaxResults is given a value larger than 500, + * only 500 results are returned. If this parameter is not used, then + * DescribeVolumes returns all results. You cannot specify this parameter and the + * volume IDs parameter in the same request.

                                                                    + */ + MaxResults?: number; + + /** + *

                                                                    The NextToken value returned from a previous paginated + * DescribeVolumes 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. This value is null when + * there are no more results to return.

                                                                    + */ + NextToken?: string; } -export namespace DescribeVpcAttributeRequest { - export const filterSensitiveLog = (obj: DescribeVpcAttributeRequest): any => ({ +export namespace DescribeVolumesRequest { + export const filterSensitiveLog = (obj: DescribeVolumesRequest): any => ({ ...obj, }); } -export interface DescribeVpcAttributeResult { - /** - *

                                                                    The ID of the VPC.

                                                                    - */ - VpcId?: string; - +export interface DescribeVolumesResult { /** - *

                                                                    Indicates whether DNS resolution is enabled for - * the VPC. If this attribute is true, the Amazon DNS server - * resolves DNS hostnames for your instances to their corresponding - * IP addresses; otherwise, it does not.

                                                                    + *

                                                                    The NextToken value to include in a future DescribeVolumes + * request. When the results of a DescribeVolumes request exceed + * MaxResults, this value can be used to retrieve the next page of results. This + * value is null when there are no more results to return.

                                                                    */ - EnableDnsSupport?: AttributeBooleanValue; + NextToken?: string; /** - *

                                                                    Indicates whether the instances launched in the VPC get DNS hostnames. - * If this attribute is true, instances in the VPC get DNS hostnames; - * otherwise, they do not.

                                                                    + *

                                                                    Information about the volumes.

                                                                    */ - EnableDnsHostnames?: AttributeBooleanValue; + Volumes?: Volume[]; } -export namespace DescribeVpcAttributeResult { - export const filterSensitiveLog = (obj: DescribeVpcAttributeResult): any => ({ +export namespace DescribeVolumesResult { + export const filterSensitiveLog = (obj: DescribeVolumesResult): any => ({ ...obj, }); } -export interface DescribeVpcClassicLinkRequest { +export interface DescribeVolumesModificationsRequest { /** - *

                                                                    One or more filters.

                                                                    - *
                                                                      + *

                                                                      The IDs of the volumes.

                                                                      + */ + VolumeIds?: string[]; + + /** + *

                                                                      The filters.

                                                                      + *
                                                                        *
                                                                      • - *

                                                                        - * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink - * (true | false).

                                                                        - *
                                                                      • + *

                                                                        + * modification-state - The current modification state (modifying | + * optimizing | completed | failed).

                                                                        + * *
                                                                      • - *

                                                                        - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                        - *
                                                                      • + *

                                                                        + * original-iops - The original IOPS rate of the volume.

                                                                        + * *
                                                                      • - *

                                                                        - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                        - *
                                                                      • + *

                                                                        + * original-size - The original size of the volume, in GiB.

                                                                        + * + *
                                                                      • + *

                                                                        + * original-volume-type - The original volume type of the volume (standard | + * io1 | io2 | gp2 | sc1 | st1).

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * start-time - The modification start time.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * target-iops - The target IOPS rate of the volume.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * target-size - The target size of the volume, in GiB.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * target-volume-type - The target volume type of the volume (standard | + * io1 | io2 | gp2 | sc1 | st1).

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * targetMultiAttachEnabled - Indicates whether Multi-Attach support is to be enabled (true | false).

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * volume-id - The ID of the volume.

                                                                        + *
                                                                      • *
                                                                      */ Filters?: Filter[]; + /** + *

                                                                      The maximum number of results (up to a limit of 500) to be returned in a paginated + * request.

                                                                      + */ + MaxResults?: number; + + /** + *

                                                                      The nextToken value returned by a previous paginated request.

                                                                      + */ + NextToken?: string; + /** *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                      */ DryRun?: boolean; - - /** - *

                                                                      One or more VPCs for which you want to describe the ClassicLink status.

                                                                      - */ - VpcIds?: string[]; } -export namespace DescribeVpcClassicLinkRequest { - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkRequest): any => ({ +export namespace DescribeVolumesModificationsRequest { + export const filterSensitiveLog = (obj: DescribeVolumesModificationsRequest): any => ({ ...obj, }); } +export type VolumeModificationState = "completed" | "failed" | "modifying" | "optimizing"; + /** - *

                                                                      Describes whether a VPC is enabled for ClassicLink.

                                                                      + *

                                                                      Describes the modification status of an EBS volume.

                                                                      + *

                                                                      If the volume has never been modified, some element values will be null.

                                                                      */ -export interface VpcClassicLink { +export interface VolumeModification { /** - *

                                                                      The ID of the VPC.

                                                                      + *

                                                                      The target size of the volume, in GiB.

                                                                      */ - VpcId?: string; + TargetSize?: number; /** - *

                                                                      Indicates whether the VPC is enabled for ClassicLink.

                                                                      + *

                                                                      The current modification state. The modification state is null for unmodified + * volumes.

                                                                      */ - ClassicLinkEnabled?: boolean; + ModificationState?: VolumeModificationState | string; /** - *

                                                                      Any tags assigned to the VPC.

                                                                      + *

                                                                      The original size of the volume, in GiB.

                                                                      */ - Tags?: Tag[]; -} + OriginalSize?: number; -export namespace VpcClassicLink { - export const filterSensitiveLog = (obj: VpcClassicLink): any => ({ - ...obj, - }); -} + /** + *

                                                                      The target IOPS rate of the volume.

                                                                      + */ + TargetIops?: number; -export interface DescribeVpcClassicLinkResult { /** - *

                                                                      The ClassicLink status of one or more VPCs.

                                                                      + *

                                                                      The modification progress, from 0 to 100 percent complete.

                                                                      */ - Vpcs?: VpcClassicLink[]; -} + Progress?: number; -export namespace DescribeVpcClassicLinkResult { - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkResult): any => ({ - ...obj, - }); -} + /** + *

                                                                      The ID of the volume.

                                                                      + */ + VolumeId?: string; -export interface DescribeVpcClassicLinkDnsSupportRequest { /** - *

                                                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                      + *

                                                                      The original IOPS rate of the volume.

                                                                      */ - MaxResults?: number; + OriginalIops?: number; /** - *

                                                                      One or more VPC IDs.

                                                                      + *

                                                                      The modification start time.

                                                                      */ - VpcIds?: string[]; + StartTime?: Date; /** - *

                                                                      The token for the next page of results.

                                                                      + *

                                                                      The original EBS volume type of the volume.

                                                                      */ - NextToken?: string; -} + OriginalVolumeType?: VolumeType | string; -export namespace DescribeVpcClassicLinkDnsSupportRequest { - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportRequest): any => ({ - ...obj, - }); -} + /** + *

                                                                      A status message about the modification progress or failure.

                                                                      + */ + StatusMessage?: string; -/** - *

                                                                      Describes the ClassicLink DNS support status of a VPC.

                                                                      - */ -export interface ClassicLinkDnsSupport { /** - *

                                                                      Indicates whether ClassicLink DNS support is enabled for the VPC.

                                                                      + *

                                                                      The target EBS volume type of the volume.

                                                                      */ - ClassicLinkDnsSupported?: boolean; + TargetVolumeType?: VolumeType | string; /** - *

                                                                      The ID of the VPC.

                                                                      + *

                                                                      The modification completion or failure time.

                                                                      */ - VpcId?: string; + EndTime?: Date; } -export namespace ClassicLinkDnsSupport { - export const filterSensitiveLog = (obj: ClassicLinkDnsSupport): any => ({ +export namespace VolumeModification { + export const filterSensitiveLog = (obj: VolumeModification): any => ({ ...obj, }); } -export interface DescribeVpcClassicLinkDnsSupportResult { +export interface DescribeVolumesModificationsResult { /** - *

                                                                      Information about the ClassicLink DNS support status of the VPCs.

                                                                      + *

                                                                      Token for pagination, null if there are no more results

                                                                      */ - Vpcs?: ClassicLinkDnsSupport[]; + NextToken?: string; /** - *

                                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                      + *

                                                                      Information about the volume modifications.

                                                                      */ - NextToken?: string; + VolumesModifications?: VolumeModification[]; } -export namespace DescribeVpcClassicLinkDnsSupportResult { - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportResult): any => ({ +export namespace DescribeVolumesModificationsResult { + export const filterSensitiveLog = (obj: DescribeVolumesModificationsResult): any => ({ ...obj, }); } -export interface DescribeVpcEndpointConnectionNotificationsRequest { +export interface DescribeVolumeStatusRequest { /** - *

                                                                      One or more filters.

                                                                      - *
                                                                        + *

                                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                        + */ + DryRun?: boolean; + + /** + *

                                                                        The filters.

                                                                        + *
                                                                          *
                                                                        • - *

                                                                          - * connection-notification-arn - The ARN of the SNS topic for the - * notification.

                                                                          + *

                                                                          + * action.code - The action code for the event (for example, + * enable-volume-io).

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * action.description - A description of the action.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * action.event-id - The event ID associated with the action.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * availability-zone - The Availability Zone of the instance.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * event.description - A description of the event.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * event.event-id - The event ID.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * event.event-type - The event type (for io-enabled: + * passed | failed; for io-performance: + * io-performance:degraded | io-performance:severely-degraded | + * io-performance:stalled).

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          - * connection-notification-id - The ID of the - * notification.

                                                                          + *

                                                                          + * event.not-after - The latest end time for the event.

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          - * connection-notification-state - The state of the notification - * (Enabled | Disabled).

                                                                          + *

                                                                          + * event.not-before - The earliest start time for the event.

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          - * connection-notification-type - The type of notification - * (Topic).

                                                                          + *

                                                                          + * volume-status.details-name - The cause for + * volume-status.status (io-enabled | + * io-performance).

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          - * service-id - The ID of the endpoint service.

                                                                          + *

                                                                          + * volume-status.details-status - The status of + * volume-status.details-name (for io-enabled: + * passed | failed; for io-performance: + * normal | degraded | severely-degraded | + * stalled).

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          - * vpc-endpoint-id - The ID of the VPC endpoint.

                                                                          + *

                                                                          + * volume-status.status - The status of the volume (ok | + * impaired | warning | insufficient-data).

                                                                          *
                                                                        • *
                                                                        */ Filters?: Filter[]; /** - *

                                                                        The maximum number of results to return in a single call. To retrieve the remaining - * results, make another request with the returned NextToken value.

                                                                        - */ - MaxResults?: number; - - /** - *

                                                                        The token to request the next page of results.

                                                                        + *

                                                                        The IDs of the volumes.

                                                                        + *

                                                                        Default: Describes all your volumes.

                                                                        */ - NextToken?: string; + VolumeIds?: string[]; /** - *

                                                                        The ID of the notification.

                                                                        + *

                                                                        The maximum number of volume results returned by DescribeVolumeStatus in + * paginated output. When this parameter is used, the request only returns + * MaxResults results in a single page along with a NextToken + * response element. The remaining results of the initial request can be seen by sending another + * request with the returned NextToken value. This value can be between 5 and 1000; + * if MaxResults is given a value larger than 1000, only 1000 results are returned. + * If this parameter is not used, then DescribeVolumeStatus returns all results. You + * cannot specify this parameter and the volume IDs parameter in the same request.

                                                                        */ - ConnectionNotificationId?: string; + MaxResults?: number; /** - *

                                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                        + *

                                                                        The NextToken value to include in a future DescribeVolumeStatus + * request. When the results of the request exceed MaxResults, this value can be + * used to retrieve the next page of results. This value is null when there are no + * more results to return.

                                                                        */ - DryRun?: boolean; + NextToken?: string; } -export namespace DescribeVpcEndpointConnectionNotificationsRequest { - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsRequest): any => ({ +export namespace DescribeVolumeStatusRequest { + export const filterSensitiveLog = (obj: DescribeVolumeStatusRequest): any => ({ ...obj, }); } -export interface DescribeVpcEndpointConnectionNotificationsResult { +/** + *

                                                                        Describes a volume status operation code.

                                                                        + */ +export interface VolumeStatusAction { /** - *

                                                                        One or more notifications.

                                                                        + *

                                                                        A description of the operation.

                                                                        */ - ConnectionNotificationSet?: ConnectionNotification[]; + Description?: string; /** - *

                                                                        The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

                                                                        + *

                                                                        The event type associated with this operation.

                                                                        */ - NextToken?: string; -} - -export namespace DescribeVpcEndpointConnectionNotificationsResult { - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsResult): any => ({ - ...obj, - }); -} + EventType?: string; -export interface DescribeVpcEndpointConnectionsRequest { /** - *

                                                                        One or more filters.

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          - * service-id - The ID of the service.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * vpc-endpoint-owner - The AWS account number of the owner of the - * endpoint.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * vpc-endpoint-state - The state of the endpoint - * (pendingAcceptance | pending | - * available | deleting | deleted | - * rejected | failed).

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * vpc-endpoint-id - The ID of the endpoint.

                                                                          - *
                                                                        • - *
                                                                        + *

                                                                        The ID of the event associated with this operation.

                                                                        */ - Filters?: Filter[]; + EventId?: string; /** - *

                                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                        + *

                                                                        The code identifying the operation, for example, enable-volume-io.

                                                                        */ - DryRun?: boolean; + Code?: string; +} + +export namespace VolumeStatusAction { + export const filterSensitiveLog = (obj: VolumeStatusAction): any => ({ + ...obj, + }); +} +/** + *

                                                                        Information about the instances to which the volume is attached.

                                                                        + */ +export interface VolumeStatusAttachmentStatus { /** - *

                                                                        The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1,000; if - * MaxResults is given a value larger than 1,000, only 1,000 results are - * returned.

                                                                        + *

                                                                        The ID of the attached instance.

                                                                        */ - MaxResults?: number; + InstanceId?: string; /** - *

                                                                        The token to retrieve the next page of results.

                                                                        + *

                                                                        The maximum IOPS supported by the attached instance.

                                                                        */ - NextToken?: string; + IoPerformance?: string; } -export namespace DescribeVpcEndpointConnectionsRequest { - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsRequest): any => ({ +export namespace VolumeStatusAttachmentStatus { + export const filterSensitiveLog = (obj: VolumeStatusAttachmentStatus): any => ({ ...obj, }); } /** - *

                                                                        Describes a VPC endpoint connection to a service.

                                                                        + *

                                                                        Describes a volume status event.

                                                                        */ -export interface VpcEndpointConnection { - /** - *

                                                                        The ID of the VPC endpoint.

                                                                        - */ - VpcEndpointId?: string; - +export interface VolumeStatusEvent { /** - *

                                                                        The state of the VPC endpoint.

                                                                        + *

                                                                        The earliest start time of the event.

                                                                        */ - VpcEndpointState?: State | string; + NotBefore?: Date; /** - *

                                                                        The AWS account ID of the owner of the VPC endpoint.

                                                                        + *

                                                                        A description of the event.

                                                                        */ - VpcEndpointOwner?: string; + Description?: string; /** - *

                                                                        The ID of the service to which the endpoint is connected.

                                                                        + *

                                                                        The latest end time of the event.

                                                                        */ - ServiceId?: string; + NotAfter?: Date; /** - *

                                                                        The Amazon Resource Names (ARNs) of the network load balancers for the service.

                                                                        + *

                                                                        The type of this event.

                                                                        */ - NetworkLoadBalancerArns?: string[]; + EventType?: string; /** - *

                                                                        The DNS entries for the VPC endpoint.

                                                                        + *

                                                                        The ID of the instance associated with the event.

                                                                        */ - DnsEntries?: DnsEntry[]; + InstanceId?: string; /** - *

                                                                        The date and time that the VPC endpoint was created.

                                                                        + *

                                                                        The ID of this event.

                                                                        */ - CreationTimestamp?: Date; + EventId?: string; } -export namespace VpcEndpointConnection { - export const filterSensitiveLog = (obj: VpcEndpointConnection): any => ({ +export namespace VolumeStatusEvent { + export const filterSensitiveLog = (obj: VolumeStatusEvent): any => ({ ...obj, }); } -export interface DescribeVpcEndpointConnectionsResult { +export type VolumeStatusName = "io-enabled" | "io-performance"; + +/** + *

                                                                        Describes a volume status.

                                                                        + */ +export interface VolumeStatusDetails { /** - *

                                                                        Information about one or more VPC endpoint connections.

                                                                        + *

                                                                        The name of the volume status.

                                                                        */ - VpcEndpointConnections?: VpcEndpointConnection[]; + Name?: VolumeStatusName | string; /** - *

                                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                        + *

                                                                        The intended status of the volume status.

                                                                        */ - NextToken?: string; + Status?: string; } -export namespace DescribeVpcEndpointConnectionsResult { - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsResult): any => ({ +export namespace VolumeStatusDetails { + export const filterSensitiveLog = (obj: VolumeStatusDetails): any => ({ ...obj, }); } -/** - *

                                                                        Contains the parameters for DescribeVpcEndpoints.

                                                                        - */ -export interface DescribeVpcEndpointsRequest { - /** - *

                                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                        - */ - DryRun?: boolean; - - /** - *

                                                                        One or more filters.

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          - * service-name - The name of the service.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * vpc-id - The ID of the VPC in which the endpoint resides.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * vpc-endpoint-id - The ID of the endpoint.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * vpc-endpoint-state - The state of the endpoint - * (pendingAcceptance | pending | - * available | deleting | deleted | - * rejected | failed).

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                          - *
                                                                        • - *
                                                                        - */ - Filters?: Filter[]; - - /** - *

                                                                        One or more endpoint IDs.

                                                                        - */ - VpcEndpointIds?: string[]; +export type VolumeStatusInfoStatus = "impaired" | "insufficient-data" | "ok"; +/** + *

                                                                        Describes the status of a volume.

                                                                        + */ +export interface VolumeStatusInfo { /** - *

                                                                        The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                                        - *

                                                                        Constraint: If the value is greater than 1,000, we return only 1,000 items.

                                                                        + *

                                                                        The status of the volume.

                                                                        */ - MaxResults?: number; + Status?: VolumeStatusInfoStatus | string; /** - *

                                                                        The token for the next set of items to return. (You received this token from a prior call.)

                                                                        + *

                                                                        The details of the volume status.

                                                                        */ - NextToken?: string; + Details?: VolumeStatusDetails[]; } -export namespace DescribeVpcEndpointsRequest { - export const filterSensitiveLog = (obj: DescribeVpcEndpointsRequest): any => ({ +export namespace VolumeStatusInfo { + export const filterSensitiveLog = (obj: VolumeStatusInfo): any => ({ ...obj, }); } /** - *

                                                                        Contains the output of DescribeVpcEndpoints.

                                                                        + *

                                                                        Describes the volume status.

                                                                        */ -export interface DescribeVpcEndpointsResult { +export interface VolumeStatusItem { /** - *

                                                                        The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                                        + *

                                                                        The Amazon Resource Name (ARN) of the Outpost.

                                                                        */ - NextToken?: string; + OutpostArn?: string; /** - *

                                                                        Information about the endpoints.

                                                                        + *

                                                                        The details of the operation.

                                                                        */ - VpcEndpoints?: VpcEndpoint[]; -} - -export namespace DescribeVpcEndpointsResult { - export const filterSensitiveLog = (obj: DescribeVpcEndpointsResult): any => ({ - ...obj, - }); -} + Actions?: VolumeStatusAction[]; -export interface DescribeVpcEndpointServiceConfigurationsRequest { /** - *

                                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                        + *

                                                                        The volume ID.

                                                                        */ - DryRun?: boolean; + VolumeId?: string; /** - *

                                                                        One or more filters.

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          - * service-name - The name of the service.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * service-id - The ID of the service.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * service-state - The state of the service (Pending | - * Available | Deleting | Deleted | - * Failed).

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                          - *
                                                                        • - *
                                                                        + *

                                                                        The Availability Zone of the volume.

                                                                        */ - Filters?: Filter[]; + AvailabilityZone?: string; /** - *

                                                                        The IDs of one or more services.

                                                                        + *

                                                                        A list of events associated with the volume.

                                                                        */ - ServiceIds?: string[]; + Events?: VolumeStatusEvent[]; /** - *

                                                                        The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1,000; if - * MaxResults is given a value larger than 1,000, only 1,000 results are - * returned.

                                                                        + *

                                                                        Information about the instances to which the volume is attached.

                                                                        */ - MaxResults?: number; + AttachmentStatuses?: VolumeStatusAttachmentStatus[]; /** - *

                                                                        The token to retrieve the next page of results.

                                                                        + *

                                                                        The volume status.

                                                                        */ - NextToken?: string; + VolumeStatus?: VolumeStatusInfo; } -export namespace DescribeVpcEndpointServiceConfigurationsRequest { - export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsRequest): any => ({ +export namespace VolumeStatusItem { + export const filterSensitiveLog = (obj: VolumeStatusItem): any => ({ ...obj, }); } -export interface DescribeVpcEndpointServiceConfigurationsResult { +export interface DescribeVolumeStatusResult { /** - *

                                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                        + *

                                                                        The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                                                        */ NextToken?: string; /** - *

                                                                        Information about one or more services.

                                                                        + *

                                                                        Information about the status of the volumes.

                                                                        */ - ServiceConfigurations?: ServiceConfiguration[]; + VolumeStatuses?: VolumeStatusItem[]; } -export namespace DescribeVpcEndpointServiceConfigurationsResult { - export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsResult): any => ({ +export namespace DescribeVolumeStatusResult { + export const filterSensitiveLog = (obj: DescribeVolumeStatusResult): any => ({ ...obj, }); } -export interface DescribeVpcEndpointServicePermissionsRequest { +export type VpcAttributeName = "enableDnsHostnames" | "enableDnsSupport"; + +export interface DescribeVpcAttributeRequest { /** - *

                                                                        One or more filters.

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          - * principal - The ARN of the principal.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * principal-type - The principal type (All | - * Service | OrganizationUnit | Account - * | User | Role).

                                                                          - *
                                                                        • - *
                                                                        + *

                                                                        The VPC attribute.

                                                                        */ - Filters?: Filter[]; + Attribute: VpcAttributeName | string | undefined; /** - *

                                                                        The ID of the service.

                                                                        + *

                                                                        The ID of the VPC.

                                                                        */ - ServiceId: string | undefined; + VpcId: string | undefined; /** *

                                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -6546,73 +6665,47 @@ export interface DescribeVpcEndpointServicePermissionsRequest { * Otherwise, it is UnauthorizedOperation.

                                                                        */ DryRun?: boolean; - - /** - *

                                                                        The token to retrieve the next page of results.

                                                                        - */ - NextToken?: string; - - /** - *

                                                                        The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1,000; if - * MaxResults is given a value larger than 1,000, only 1,000 results are - * returned.

                                                                        - */ - MaxResults?: number; } -export namespace DescribeVpcEndpointServicePermissionsRequest { - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsRequest): any => ({ +export namespace DescribeVpcAttributeRequest { + export const filterSensitiveLog = (obj: DescribeVpcAttributeRequest): any => ({ ...obj, }); } -export interface DescribeVpcEndpointServicePermissionsResult { +export interface DescribeVpcAttributeResult { /** - *

                                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                        + *

                                                                        The ID of the VPC.

                                                                        */ - NextToken?: string; + VpcId?: string; /** - *

                                                                        Information about one or more allowed principals.

                                                                        + *

                                                                        Indicates whether the instances launched in the VPC get DNS hostnames. + * If this attribute is true, instances in the VPC get DNS hostnames; + * otherwise, they do not.

                                                                        */ - AllowedPrincipals?: AllowedPrincipal[]; + EnableDnsHostnames?: AttributeBooleanValue; + + /** + *

                                                                        Indicates whether DNS resolution is enabled for + * the VPC. If this attribute is true, the Amazon DNS server + * resolves DNS hostnames for your instances to their corresponding + * IP addresses; otherwise, it does not.

                                                                        + */ + EnableDnsSupport?: AttributeBooleanValue; } -export namespace DescribeVpcEndpointServicePermissionsResult { - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsResult): any => ({ +export namespace DescribeVpcAttributeResult { + export const filterSensitiveLog = (obj: DescribeVpcAttributeResult): any => ({ ...obj, }); } -/** - *

                                                                        Contains the parameters for DescribeVpcEndpointServices.

                                                                        - */ -export interface DescribeVpcEndpointServicesRequest { - /** - *

                                                                        The token for the next set of items to return. (You received this token from a prior call.)

                                                                        - */ - NextToken?: string; - +export interface DescribeVpcClassicLinkRequest { /** - *

                                                                        One or more filters.

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          - * service-name - The name of the service.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                          - *
                                                                        • - *
                                                                        + *

                                                                        One or more VPCs for which you want to describe the ClassicLink status.

                                                                        */ - Filters?: Filter[]; + VpcIds?: string[]; /** *

                                                                        Checks whether you have the required permissions for the action, without actually making the request, @@ -6622,239 +6715,226 @@ export interface DescribeVpcEndpointServicesRequest { DryRun?: boolean; /** - *

                                                                        The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                                        - *

                                                                        Constraint: If the value is greater than 1,000, we return only 1,000 items.

                                                                        - */ - MaxResults?: number; - - /** - *

                                                                        One or more service names.

                                                                        + *

                                                                        One or more filters.

                                                                        + *
                                                                          + *
                                                                        • + *

                                                                          + * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink + * (true | false).

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                          + *
                                                                        • + *
                                                                        */ - ServiceNames?: string[]; + Filters?: Filter[]; } -export namespace DescribeVpcEndpointServicesRequest { - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesRequest): any => ({ +export namespace DescribeVpcClassicLinkRequest { + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkRequest): any => ({ ...obj, }); } /** - *

                                                                        Describes a VPC endpoint service.

                                                                        + *

                                                                        Describes whether a VPC is enabled for ClassicLink.

                                                                        */ -export interface ServiceDetail { - /** - *

                                                                        Indicates whether the service supports endpoint policies.

                                                                        - */ - VpcEndpointPolicySupported?: boolean; - - /** - *

                                                                        The DNS names for the service.

                                                                        - */ - BaseEndpointDnsNames?: string[]; - - /** - *

                                                                        Indicates whether the service manages its VPC endpoints. Management of the service VPC - * endpoints using the VPC endpoint API is restricted.

                                                                        - */ - ManagesVpcEndpoints?: boolean; - - /** - *

                                                                        The type of service.

                                                                        - */ - ServiceType?: ServiceTypeDetail[]; - - /** - *

                                                                        The verification state of the VPC endpoint service.

                                                                        - *

                                                                        Consumers of the endpoint service cannot use the private name when the state is not verified.

                                                                        - */ - PrivateDnsNameVerificationState?: DnsNameState | string; - +export interface VpcClassicLink { /** - *

                                                                        The Amazon Resource Name (ARN) of the service.

                                                                        + *

                                                                        The ID of the VPC.

                                                                        */ - ServiceName?: string; + VpcId?: string; /** - *

                                                                        Any tags assigned to the service.

                                                                        + *

                                                                        Any tags assigned to the VPC.

                                                                        */ Tags?: Tag[]; /** - *

                                                                        The Availability Zones in which the service is available.

                                                                        + *

                                                                        Indicates whether the VPC is enabled for ClassicLink.

                                                                        */ - AvailabilityZones?: string[]; + ClassicLinkEnabled?: boolean; +} + +export namespace VpcClassicLink { + export const filterSensitiveLog = (obj: VpcClassicLink): any => ({ + ...obj, + }); +} +export interface DescribeVpcClassicLinkResult { /** - *

                                                                        The ID of the endpoint service.

                                                                        + *

                                                                        The ClassicLink status of one or more VPCs.

                                                                        */ - ServiceId?: string; + Vpcs?: VpcClassicLink[]; +} +export namespace DescribeVpcClassicLinkResult { + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkResult): any => ({ + ...obj, + }); +} + +export interface DescribeVpcClassicLinkDnsSupportRequest { /** - *

                                                                        Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

                                                                        + *

                                                                        The token for the next page of results.

                                                                        */ - AcceptanceRequired?: boolean; + NextToken?: string; /** - *

                                                                        The private DNS name for the service.

                                                                        + *

                                                                        One or more VPC IDs.

                                                                        */ - PrivateDnsName?: string; + VpcIds?: string[]; /** - *

                                                                        The AWS account ID of the service owner.

                                                                        + *

                                                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                        */ - Owner?: string; + MaxResults?: number; } -export namespace ServiceDetail { - export const filterSensitiveLog = (obj: ServiceDetail): any => ({ +export namespace DescribeVpcClassicLinkDnsSupportRequest { + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportRequest): any => ({ ...obj, }); } /** - *

                                                                        Contains the output of DescribeVpcEndpointServices.

                                                                        + *

                                                                        Describes the ClassicLink DNS support status of a VPC.

                                                                        */ -export interface DescribeVpcEndpointServicesResult { - /** - *

                                                                        A list of supported services.

                                                                        - */ - ServiceNames?: string[]; - +export interface ClassicLinkDnsSupport { /** - *

                                                                        The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                                        + *

                                                                        Indicates whether ClassicLink DNS support is enabled for the VPC.

                                                                        */ - NextToken?: string; + ClassicLinkDnsSupported?: boolean; /** - *

                                                                        Information about the service.

                                                                        + *

                                                                        The ID of the VPC.

                                                                        */ - ServiceDetails?: ServiceDetail[]; + VpcId?: string; } -export namespace DescribeVpcEndpointServicesResult { - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesResult): any => ({ +export namespace ClassicLinkDnsSupport { + export const filterSensitiveLog = (obj: ClassicLinkDnsSupport): any => ({ ...obj, }); } -export interface DescribeVpcPeeringConnectionsRequest { +export interface DescribeVpcClassicLinkDnsSupportResult { /** - *

                                                                        One or more VPC peering connection IDs.

                                                                        - *

                                                                        Default: Describes all your VPC peering connections.

                                                                        + *

                                                                        Information about the ClassicLink DNS support status of the VPCs.

                                                                        */ - VpcPeeringConnectionIds?: string[]; + Vpcs?: ClassicLinkDnsSupport[]; /** - *

                                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                        + *

                                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                        */ - DryRun?: boolean; + NextToken?: string; +} + +export namespace DescribeVpcClassicLinkDnsSupportResult { + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportResult): any => ({ + ...obj, + }); +} +export interface DescribeVpcEndpointConnectionNotificationsRequest { /** *

                                                                        One or more filters.

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          - * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter - * VPC.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * accepter-vpc-info.owner-id - The AWS account ID of the owner of the - * accepter VPC.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * accepter-vpc-info.vpc-id - The ID of the accepter VPC.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * expiration-time - The expiration date and time for the VPC peering - * connection.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * requester-vpc-info.cidr-block - The IPv4 CIDR block of the - * requester's VPC.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * requester-vpc-info.owner-id - The AWS account ID of the owner of the - * requester VPC.

                                                                          - *
                                                                        • + *
                                                                            *
                                                                          • - *

                                                                            - * requester-vpc-info.vpc-id - The ID of the requester VPC.

                                                                            + *

                                                                            + * connection-notification-arn - The ARN of the SNS topic for the + * notification.

                                                                            *
                                                                          • *
                                                                          • - *

                                                                            - * status-code - The status of the VPC peering connection - * (pending-acceptance | failed | - * expired | provisioning | active | - * deleting | deleted | - * rejected).

                                                                            + *

                                                                            + * connection-notification-id - The ID of the + * notification.

                                                                            *
                                                                          • *
                                                                          • - *

                                                                            - * status-message - A message that provides more information about the status - * of the VPC peering connection, if applicable.

                                                                            + *

                                                                            + * connection-notification-state - The state of the notification + * (Enabled | Disabled).

                                                                            *
                                                                          • *
                                                                          • - *

                                                                            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                            + *

                                                                            + * connection-notification-type - The type of notification + * (Topic).

                                                                            *
                                                                          • *
                                                                          • - *

                                                                            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                            + *

                                                                            + * service-id - The ID of the endpoint service.

                                                                            *
                                                                          • *
                                                                          • - *

                                                                            - * vpc-peering-connection-id - The ID of the VPC peering connection.

                                                                            + *

                                                                            + * vpc-endpoint-id - The ID of the VPC endpoint.

                                                                            *
                                                                          • *
                                                                          */ Filters?: Filter[]; /** - *

                                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                          + *

                                                                          The ID of the notification.

                                                                          + */ + ConnectionNotificationId?: string; + + /** + *

                                                                          The maximum number of results to return in a single call. To retrieve the remaining + * results, make another request with the returned NextToken value.

                                                                          */ MaxResults?: number; /** - *

                                                                          The token for the next page of results.

                                                                          + *

                                                                          The token to request the next page of results.

                                                                          */ NextToken?: string; + + /** + *

                                                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                          + */ + DryRun?: boolean; } -export namespace DescribeVpcPeeringConnectionsRequest { - export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsRequest): any => ({ +export namespace DescribeVpcEndpointConnectionNotificationsRequest { + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsRequest): any => ({ ...obj, }); } -export interface DescribeVpcPeeringConnectionsResult { +export interface DescribeVpcEndpointConnectionNotificationsResult { /** - *

                                                                          Information about the VPC peering connections.

                                                                          + *

                                                                          One or more notifications.

                                                                          */ - VpcPeeringConnections?: VpcPeeringConnection[]; + ConnectionNotificationSet?: ConnectionNotification[]; /** - *

                                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                          + *

                                                                          The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

                                                                          */ NextToken?: string; } -export namespace DescribeVpcPeeringConnectionsResult { - export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsResult): any => ({ +export namespace DescribeVpcEndpointConnectionNotificationsResult { + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsResult): any => ({ ...obj, }); } -export interface DescribeVpcsRequest { +export interface DescribeVpcEndpointConnectionsRequest { + /** + *

                                                                          The token to retrieve the next page of results.

                                                                          + */ + NextToken?: string; + /** *

                                                                          Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -6864,308 +6944,303 @@ export interface DescribeVpcsRequest { /** *

                                                                          One or more filters.

                                                                          - *
                                                                            - *
                                                                          • - *

                                                                            - * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you - * specify must exactly match the VPC's CIDR block for information to be returned - * for the VPC. Must contain the slash followed by one or two digits (for example, - * /28).

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * cidr-block-association.cidr-block - An IPv4 CIDR block associated with the - * VPC.

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * cidr-block-association.association-id - The association ID for - * an IPv4 CIDR block associated with the VPC.

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * cidr-block-association.state - The state of an IPv4 CIDR block - * associated with the VPC.

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * dhcp-options-id - The ID of a set of DHCP options.

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR - * block associated with the VPC.

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * ipv6-cidr-block-association.association-id - The association - * ID for an IPv6 CIDR block associated with the VPC.

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * ipv6-cidr-block-association.state - The state of an IPv6 CIDR - * block associated with the VPC.

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * isDefault - Indicates whether the VPC is the default VPC.

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * owner-id - The ID of the AWS account that owns the VPC.

                                                                            - *
                                                                          • - *
                                                                          • - *

                                                                            - * state - The state of the VPC (pending | available).

                                                                            - *
                                                                          • + *
                                                                              *
                                                                            • *

                                                                              - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                              + * service-id - The ID of the service.

                                                                              *
                                                                            • *
                                                                            • - *

                                                                              - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                              + *

                                                                              + * vpc-endpoint-owner - The AWS account number of the owner of the + * endpoint.

                                                                              *
                                                                            • *
                                                                            • - *

                                                                              - * vpc-id - The ID of the VPC.

                                                                              - *
                                                                            • + *

                                                                              + * vpc-endpoint-state - The state of the endpoint + * (pendingAcceptance | pending | + * available | deleting | deleted | + * rejected | failed).

                                                                              + * + *
                                                                            • + *

                                                                              + * vpc-endpoint-id - The ID of the endpoint.

                                                                              + *
                                                                            • *
                                                                            */ Filters?: Filter[]; /** - *

                                                                            The token for the next page of results.

                                                                            + *

                                                                            The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1,000; if + * MaxResults is given a value larger than 1,000, only 1,000 results are + * returned.

                                                                            */ - NextToken?: string; + MaxResults?: number; +} + +export namespace DescribeVpcEndpointConnectionsRequest { + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                            Describes a VPC endpoint connection to a service.

                                                                            + */ +export interface VpcEndpointConnection { /** - *

                                                                            The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                            + *

                                                                            The date and time that the VPC endpoint was created.

                                                                            */ - MaxResults?: number; + CreationTimestamp?: Date; /** - *

                                                                            One or more VPC IDs.

                                                                            - *

                                                                            Default: Describes all your VPCs.

                                                                            + *

                                                                            The state of the VPC endpoint.

                                                                            */ - VpcIds?: string[]; + VpcEndpointState?: State | string; + + /** + *

                                                                            The DNS entries for the VPC endpoint.

                                                                            + */ + DnsEntries?: DnsEntry[]; + + /** + *

                                                                            The Amazon Resource Names (ARNs) of the network load balancers for the service.

                                                                            + */ + NetworkLoadBalancerArns?: string[]; + + /** + *

                                                                            The AWS account ID of the owner of the VPC endpoint.

                                                                            + */ + VpcEndpointOwner?: string; + + /** + *

                                                                            The ID of the VPC endpoint.

                                                                            + */ + VpcEndpointId?: string; + + /** + *

                                                                            The ID of the service to which the endpoint is connected.

                                                                            + */ + ServiceId?: string; } -export namespace DescribeVpcsRequest { - export const filterSensitiveLog = (obj: DescribeVpcsRequest): any => ({ +export namespace VpcEndpointConnection { + export const filterSensitiveLog = (obj: VpcEndpointConnection): any => ({ ...obj, }); } -export interface DescribeVpcsResult { +export interface DescribeVpcEndpointConnectionsResult { /** - *

                                                                            Information about one or more VPCs.

                                                                            + *

                                                                            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                            */ - Vpcs?: Vpc[]; + NextToken?: string; /** - *

                                                                            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                            + *

                                                                            Information about one or more VPC endpoint connections.

                                                                            */ - NextToken?: string; + VpcEndpointConnections?: VpcEndpointConnection[]; } -export namespace DescribeVpcsResult { - export const filterSensitiveLog = (obj: DescribeVpcsResult): any => ({ +export namespace DescribeVpcEndpointConnectionsResult { + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsResult): any => ({ ...obj, }); } /** - *

                                                                            Contains the parameters for DescribeVpnConnections.

                                                                            + *

                                                                            Contains the parameters for DescribeVpcEndpoints.

                                                                            */ -export interface DescribeVpnConnectionsRequest { +export interface DescribeVpcEndpointsRequest { + /** + *

                                                                            One or more endpoint IDs.

                                                                            + */ + VpcEndpointIds?: string[]; + + /** + *

                                                                            The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                                            + *

                                                                            Constraint: If the value is greater than 1,000, we return only 1,000 items.

                                                                            + */ + MaxResults?: number; + /** *

                                                                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                            + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                            */ DryRun?: boolean; + /** + *

                                                                            The token for the next set of items to return. (You received this token from a prior call.)

                                                                            + */ + NextToken?: string; + /** *

                                                                            One or more filters.

                                                                            *
                                                                              *
                                                                            • *

                                                                              - * customer-gateway-configuration - The configuration information for the customer gateway.

                                                                              - *
                                                                            • - *
                                                                            • - *

                                                                              - * customer-gateway-id - The ID of a customer gateway associated with the VPN connection.

                                                                              - *
                                                                            • - *
                                                                            • - *

                                                                              - * state - The state of the VPN connection (pending | available | deleting | deleted).

                                                                              + * service-name - The name of the service.

                                                                              *
                                                                            • *
                                                                            • *

                                                                              - * option.static-routes-only - Indicates whether the connection has static routes only. Used for devices that do not support Border Gateway Protocol (BGP).

                                                                              + * vpc-id - The ID of the VPC in which the endpoint resides.

                                                                              *
                                                                            • *
                                                                            • *

                                                                              - * route.destination-cidr-block - The destination CIDR block. This corresponds to the subnet used in a customer data center.

                                                                              + * vpc-endpoint-id - The ID of the endpoint.

                                                                              *
                                                                            • *
                                                                            • *

                                                                              - * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP device.

                                                                              + * vpc-endpoint-state - The state of the endpoint + * (pendingAcceptance | pending | + * available | deleting | deleted | + * rejected | failed).

                                                                              *
                                                                            • *
                                                                            • - *

                                                                              - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                              - *
                                                                            • + *

                                                                              + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                              + * *
                                                                            • - *

                                                                              + *

                                                                              * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                              - *
                                                                            • - *
                                                                            • - *

                                                                              - * type - The type of VPN connection. Currently the only supported type is ipsec.1.

                                                                              - *
                                                                            • - *
                                                                            • - *

                                                                              - * vpn-connection-id - The ID of the VPN connection.

                                                                              - *
                                                                            • - *
                                                                            • - *

                                                                              - * vpn-gateway-id - The ID of a virtual private gateway associated with the VPN connection.

                                                                              - *
                                                                            • - *
                                                                            • - *

                                                                              - * transit-gateway-id - The ID of a transit gateway associated with the VPN connection.

                                                                              - *
                                                                            • + * *
                                                                            */ Filters?: Filter[]; - - /** - *

                                                                            One or more VPN connection IDs.

                                                                            - *

                                                                            Default: Describes your VPN connections.

                                                                            - */ - VpnConnectionIds?: string[]; } -export namespace DescribeVpnConnectionsRequest { - export const filterSensitiveLog = (obj: DescribeVpnConnectionsRequest): any => ({ +export namespace DescribeVpcEndpointsRequest { + export const filterSensitiveLog = (obj: DescribeVpcEndpointsRequest): any => ({ ...obj, }); } /** - *

                                                                            Contains the output of DescribeVpnConnections.

                                                                            + *

                                                                            Contains the output of DescribeVpcEndpoints.

                                                                            */ -export interface DescribeVpnConnectionsResult { +export interface DescribeVpcEndpointsResult { /** - *

                                                                            Information about one or more VPN connections.

                                                                            + *

                                                                            Information about the endpoints.

                                                                            */ - VpnConnections?: VpnConnection[]; + VpcEndpoints?: VpcEndpoint[]; + + /** + *

                                                                            The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                                            + */ + NextToken?: string; } -export namespace DescribeVpnConnectionsResult { - export const filterSensitiveLog = (obj: DescribeVpnConnectionsResult): any => ({ +export namespace DescribeVpcEndpointsResult { + export const filterSensitiveLog = (obj: DescribeVpcEndpointsResult): any => ({ ...obj, }); } -/** - *

                                                                            Contains the parameters for DescribeVpnGateways.

                                                                            - */ -export interface DescribeVpnGatewaysRequest { +export interface DescribeVpcEndpointServiceConfigurationsRequest { + /** + *

                                                                            The IDs of one or more services.

                                                                            + */ + ServiceIds?: string[]; + + /** + *

                                                                            The token to retrieve the next page of results.

                                                                            + */ + NextToken?: string; + /** *

                                                                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                            + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                            */ DryRun?: boolean; /** - *

                                                                            One or more virtual private gateway IDs.

                                                                            - *

                                                                            Default: Describes all your virtual private gateways.

                                                                            + *

                                                                            The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1,000; if + * MaxResults is given a value larger than 1,000, only 1,000 results are + * returned.

                                                                            */ - VpnGatewayIds?: string[]; + MaxResults?: number; /** *

                                                                            One or more filters.

                                                                            - *
                                                                              + *
                                                                                *
                                                                              • *

                                                                                - * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon side of the gateway.

                                                                                + * service-name - The name of the service.

                                                                                *
                                                                              • *
                                                                              • - *

                                                                                - * attachment.state - The current state of the attachment between the gateway and the VPC (attaching | attached | detaching | detached).

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * attachment.vpc-id - The ID of an attached VPC.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * availability-zone - The Availability Zone for the virtual private gateway (if applicable).

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * state - The state of the virtual private gateway (pending | available | deleting | deleted).

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                                - *
                                                                              • + *

                                                                                + * service-id - The ID of the service.

                                                                                + * *
                                                                              • - *

                                                                                - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                                - *
                                                                              • + *

                                                                                + * service-state - The state of the service (Pending | + * Available | Deleting | Deleted | + * Failed).

                                                                                + * *
                                                                              • - *

                                                                                - * type - The type of virtual private gateway. Currently the only supported type is ipsec.1.

                                                                                - *
                                                                              • + *

                                                                                + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                                + * *
                                                                              • - *

                                                                                - * vpn-gateway-id - The ID of the virtual private gateway.

                                                                                - *
                                                                              • + *

                                                                                + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                                + * *
                                                                              */ Filters?: Filter[]; } -export namespace DescribeVpnGatewaysRequest { - export const filterSensitiveLog = (obj: DescribeVpnGatewaysRequest): any => ({ +export namespace DescribeVpcEndpointServiceConfigurationsRequest { + export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsRequest): any => ({ ...obj, }); } -/** - *

                                                                              Contains the output of DescribeVpnGateways.

                                                                              - */ -export interface DescribeVpnGatewaysResult { +export interface DescribeVpcEndpointServiceConfigurationsResult { /** - *

                                                                              Information about one or more virtual private gateways.

                                                                              + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              */ - VpnGateways?: VpnGateway[]; + NextToken?: string; + + /** + *

                                                                              Information about one or more services.

                                                                              + */ + ServiceConfigurations?: ServiceConfiguration[]; } -export namespace DescribeVpnGatewaysResult { - export const filterSensitiveLog = (obj: DescribeVpnGatewaysResult): any => ({ +export namespace DescribeVpcEndpointServiceConfigurationsResult { + export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsResult): any => ({ ...obj, }); } -export interface DetachClassicLinkVpcRequest { +export interface DescribeVpcEndpointServicePermissionsRequest { /** - *

                                                                              The ID of the VPC to which the instance is linked.

                                                                              + *

                                                                              The token to retrieve the next page of results.

                                                                              */ - VpcId: string | undefined; + NextToken?: string; + + /** + *

                                                                              One or more filters.

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * principal - The ARN of the principal.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * principal-type - The principal type (All | + * Service | OrganizationUnit | Account + * | User | Role).

                                                                                + *
                                                                              • + *
                                                                              + */ + Filters?: Filter[]; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -7175,105 +7250,82 @@ export interface DetachClassicLinkVpcRequest { DryRun?: boolean; /** - *

                                                                              The ID of the instance to unlink from the VPC.

                                                                              + *

                                                                              The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1,000; if + * MaxResults is given a value larger than 1,000, only 1,000 results are + * returned.

                                                                              */ - InstanceId: string | undefined; -} - -export namespace DetachClassicLinkVpcRequest { - export const filterSensitiveLog = (obj: DetachClassicLinkVpcRequest): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface DetachClassicLinkVpcResult { /** - *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              + *

                                                                              The ID of the service.

                                                                              */ - Return?: boolean; + ServiceId: string | undefined; } -export namespace DetachClassicLinkVpcResult { - export const filterSensitiveLog = (obj: DetachClassicLinkVpcResult): any => ({ +export namespace DescribeVpcEndpointServicePermissionsRequest { + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsRequest): any => ({ ...obj, }); } -export interface DetachInternetGatewayRequest { - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - +export interface DescribeVpcEndpointServicePermissionsResult { /** - *

                                                                              The ID of the internet gateway.

                                                                              + *

                                                                              Information about one or more allowed principals.

                                                                              */ - InternetGatewayId: string | undefined; + AllowedPrincipals?: AllowedPrincipal[]; /** - *

                                                                              The ID of the VPC.

                                                                              + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              */ - VpcId: string | undefined; + NextToken?: string; } -export namespace DetachInternetGatewayRequest { - export const filterSensitiveLog = (obj: DetachInternetGatewayRequest): any => ({ +export namespace DescribeVpcEndpointServicePermissionsResult { + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsResult): any => ({ ...obj, }); } /** - *

                                                                              Contains the parameters for DetachNetworkInterface.

                                                                              + *

                                                                              Contains the parameters for DescribeVpcEndpointServices.

                                                                              */ -export interface DetachNetworkInterfaceRequest { +export interface DescribeVpcEndpointServicesRequest { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              One or more service names.

                                                                              */ - DryRun?: boolean; + ServiceNames?: string[]; /** - *

                                                                              Specifies whether to force a detachment.

                                                                              - * - *
                                                                                - *
                                                                              • - *

                                                                                Use the Force parameter only as a last resort to detach a network interface from a failed instance.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                If you force the detachment of a network interface, the instance metadata - * might not get updated. This means that the attributes associated - * with the detached network interface might still be visible. The - * instance metadata will get updated when you stop and start the - * instance.

                                                                                - *
                                                                              • - *
                                                                              - *
                                                                              + *

                                                                              One or more filters.

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * service-name - The name of the service.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                                + *
                                                                              • + *
                                                                              */ - Force?: boolean; + Filters?: Filter[]; /** - *

                                                                              The ID of the attachment.

                                                                              + *

                                                                              The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                                              + *

                                                                              Constraint: If the value is greater than 1,000, we return only 1,000 items.

                                                                              */ - AttachmentId: string | undefined; -} - -export namespace DetachNetworkInterfaceRequest { - export const filterSensitiveLog = (obj: DetachNetworkInterfaceRequest): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface DetachVolumeRequest { /** - *

                                                                              The ID of the volume.

                                                                              + *

                                                                              The token for the next set of items to return. (You received this token from a prior call.)

                                                                              */ - VolumeId: string | undefined; + NextToken?: string; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -7281,442 +7333,584 @@ export interface DetachVolumeRequest { * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; - - /** - *

                                                                              Forces detachment if the previous detachment attempt did not occur cleanly (for example, - * logging into an instance, unmounting the volume, and detaching normally). This option can lead - * to data loss or a corrupted file system. Use this option only as a last resort to detach a - * volume from a failed instance. The instance won't have an opportunity to flush file system - * caches or file system metadata. If you use this option, you must perform file system check and - * repair procedures.

                                                                              - */ - Force?: boolean; - - /** - *

                                                                              The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

                                                                              - */ - InstanceId?: string; - - /** - *

                                                                              The device name.

                                                                              - */ - Device?: string; } -export namespace DetachVolumeRequest { - export const filterSensitiveLog = (obj: DetachVolumeRequest): any => ({ +export namespace DescribeVpcEndpointServicesRequest { + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesRequest): any => ({ ...obj, }); } /** - *

                                                                              Contains the parameters for DetachVpnGateway.

                                                                              + *

                                                                              Describes a VPC endpoint service.

                                                                              */ -export interface DetachVpnGatewayRequest { +export interface ServiceDetail { /** - *

                                                                              The ID of the virtual private gateway.

                                                                              + *

                                                                              The AWS account ID of the service owner.

                                                                              */ - VpnGatewayId: string | undefined; + Owner?: string; /** - *

                                                                              The ID of the VPC.

                                                                              + *

                                                                              The type of service.

                                                                              */ - VpcId: string | undefined; + ServiceType?: ServiceTypeDetail[]; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The DNS names for the service.

                                                                              */ - DryRun?: boolean; -} + BaseEndpointDnsNames?: string[]; -export namespace DetachVpnGatewayRequest { - export const filterSensitiveLog = (obj: DetachVpnGatewayRequest): any => ({ - ...obj, - }); -} + /** + *

                                                                              Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

                                                                              + */ + AcceptanceRequired?: boolean; -export interface DisableEbsEncryptionByDefaultRequest { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The Availability Zones in which the service is available.

                                                                              */ - DryRun?: boolean; -} + AvailabilityZones?: string[]; -export namespace DisableEbsEncryptionByDefaultRequest { - export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultRequest): any => ({ - ...obj, - }); -} + /** + *

                                                                              The private DNS name for the service.

                                                                              + */ + PrivateDnsName?: string; -export interface DisableEbsEncryptionByDefaultResult { /** - *

                                                                              The updated status of encryption by default.

                                                                              + *

                                                                              Indicates whether the service manages its VPC endpoints. Management of the service VPC + * endpoints using the VPC endpoint API is restricted.

                                                                              */ - EbsEncryptionByDefault?: boolean; -} + ManagesVpcEndpoints?: boolean; -export namespace DisableEbsEncryptionByDefaultResult { - export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultResult): any => ({ - ...obj, - }); -} + /** + *

                                                                              The Amazon Resource Name (ARN) of the service.

                                                                              + */ + ServiceName?: string; -export interface DisableFastSnapshotRestoresRequest { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the endpoint service.

                                                                              + */ + ServiceId?: string; + + /** + *

                                                                              Any tags assigned to the service.

                                                                              */ - DryRun?: boolean; + Tags?: Tag[]; /** - *

                                                                              One or more Availability Zones. For example, us-east-2a.

                                                                              + *

                                                                              The verification state of the VPC endpoint service.

                                                                              + *

                                                                              Consumers of the endpoint service cannot use the private name when the state is not verified.

                                                                              */ - AvailabilityZones: string[] | undefined; + PrivateDnsNameVerificationState?: DnsNameState | string; /** - *

                                                                              The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

                                                                              + *

                                                                              Indicates whether the service supports endpoint policies.

                                                                              */ - SourceSnapshotIds: string[] | undefined; + VpcEndpointPolicySupported?: boolean; } -export namespace DisableFastSnapshotRestoresRequest { - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresRequest): any => ({ +export namespace ServiceDetail { + export const filterSensitiveLog = (obj: ServiceDetail): any => ({ ...obj, }); } /** - *

                                                                              Describes fast snapshot restores that were successfully disabled.

                                                                              + *

                                                                              Contains the output of DescribeVpcEndpointServices.

                                                                              */ -export interface DisableFastSnapshotRestoreSuccessItem { - /** - *

                                                                              The state of fast snapshot restores for the snapshot.

                                                                              - */ - State?: FastSnapshotRestoreStateCode | string; - - /** - *

                                                                              The time at which fast snapshot restores entered the enabling state.

                                                                              - */ - EnablingTime?: Date; - +export interface DescribeVpcEndpointServicesResult { /** - *

                                                                              The time at which fast snapshot restores entered the disabled state.

                                                                              + *

                                                                              The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                                              */ - DisabledTime?: Date; + NextToken?: string; /** - *

                                                                              The Availability Zone.

                                                                              + *

                                                                              Information about the service.

                                                                              */ - AvailabilityZone?: string; + ServiceDetails?: ServiceDetail[]; /** - *

                                                                              The ID of the AWS account that enabled fast snapshot restores on the snapshot.

                                                                              + *

                                                                              A list of supported services.

                                                                              */ - OwnerId?: string; + ServiceNames?: string[]; +} - /** - *

                                                                              The time at which fast snapshot restores entered the optimizing state.

                                                                              - */ - OptimizingTime?: Date; +export namespace DescribeVpcEndpointServicesResult { + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesResult): any => ({ + ...obj, + }); +} +export interface DescribeVpcPeeringConnectionsRequest { /** - *

                                                                              The time at which fast snapshot restores entered the enabled state.

                                                                              + *

                                                                              One or more VPC peering connection IDs.

                                                                              + *

                                                                              Default: Describes all your VPC peering connections.

                                                                              */ - EnabledTime?: Date; + VpcPeeringConnectionIds?: string[]; /** - *

                                                                              The AWS owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                                              + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              */ - OwnerAlias?: string; + MaxResults?: number; /** - *

                                                                              The ID of the snapshot.

                                                                              + *

                                                                              The token for the next page of results.

                                                                              */ - SnapshotId?: string; + NextToken?: string; /** - *

                                                                              The time at which fast snapshot restores entered the disabling state.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - DisablingTime?: Date; + DryRun?: boolean; /** - *

                                                                              The reason for the state transition. The possible values are as follows:

                                                                              + *

                                                                              One or more filters.

                                                                              *
                                                                                *
                                                                              • *

                                                                                - * Client.UserInitiated - The state successfully transitioned to enabling or - * disabling.

                                                                                + * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter + * VPC.

                                                                                *
                                                                              • *
                                                                              • *

                                                                                - * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned - * to optimizing, enabled, or disabled.

                                                                                + * accepter-vpc-info.owner-id - The AWS account ID of the owner of the + * accepter VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * accepter-vpc-info.vpc-id - The ID of the accepter VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * expiration-time - The expiration date and time for the VPC peering + * connection.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * requester-vpc-info.cidr-block - The IPv4 CIDR block of the + * requester's VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * requester-vpc-info.owner-id - The AWS account ID of the owner of the + * requester VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * requester-vpc-info.vpc-id - The ID of the requester VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * status-code - The status of the VPC peering connection + * (pending-acceptance | failed | + * expired | provisioning | active | + * deleting | deleted | + * rejected).

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * status-message - A message that provides more information about the status + * of the VPC peering connection, if applicable.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * vpc-peering-connection-id - The ID of the VPC peering connection.

                                                                                *
                                                                              • *
                                                                              */ - StateTransitionReason?: string; -} - -export namespace DisableFastSnapshotRestoreSuccessItem { - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreSuccessItem): any => ({ - ...obj, - }); -} - -/** - *

                                                                              Describes an error that occurred when disabling fast snapshot restores.

                                                                              - */ -export interface DisableFastSnapshotRestoreStateError { - /** - *

                                                                              The error code.

                                                                              - */ - Code?: string; - - /** - *

                                                                              The error message.

                                                                              - */ - Message?: string; + Filters?: Filter[]; } -export namespace DisableFastSnapshotRestoreStateError { - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateError): any => ({ +export namespace DescribeVpcPeeringConnectionsRequest { + export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsRequest): any => ({ ...obj, }); } -/** - *

                                                                              Contains information about an error that occurred when disabling fast snapshot restores.

                                                                              - */ -export interface DisableFastSnapshotRestoreStateErrorItem { +export interface DescribeVpcPeeringConnectionsResult { /** - *

                                                                              The Availability Zone.

                                                                              + *

                                                                              Information about the VPC peering connections.

                                                                              */ - AvailabilityZone?: string; + VpcPeeringConnections?: VpcPeeringConnection[]; /** - *

                                                                              The error.

                                                                              + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              */ - Error?: DisableFastSnapshotRestoreStateError; + NextToken?: string; } -export namespace DisableFastSnapshotRestoreStateErrorItem { - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateErrorItem): any => ({ +export namespace DescribeVpcPeeringConnectionsResult { + export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsResult): any => ({ ...obj, }); } -/** - *

                                                                              Contains information about the errors that occurred when disabling fast snapshot restores.

                                                                              - */ -export interface DisableFastSnapshotRestoreErrorItem { +export interface DescribeVpcsRequest { /** - *

                                                                              The ID of the snapshot.

                                                                              + *

                                                                              One or more filters.

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you + * specify must exactly match the VPC's CIDR block for information to be returned + * for the VPC. Must contain the slash followed by one or two digits (for example, + * /28).

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * cidr-block-association.cidr-block - An IPv4 CIDR block associated with the + * VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * cidr-block-association.association-id - The association ID for + * an IPv4 CIDR block associated with the VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * cidr-block-association.state - The state of an IPv4 CIDR block + * associated with the VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * dhcp-options-id - The ID of a set of DHCP options.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR + * block associated with the VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * ipv6-cidr-block-association.association-id - The association + * ID for an IPv6 CIDR block associated with the VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * ipv6-cidr-block-association.state - The state of an IPv6 CIDR + * block associated with the VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * isDefault - Indicates whether the VPC is the default VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * owner-id - The ID of the AWS account that owns the VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * state - The state of the VPC (pending | available).

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * vpc-id - The ID of the VPC.

                                                                                + *
                                                                              • + *
                                                                              */ - SnapshotId?: string; + Filters?: Filter[]; /** - *

                                                                              The errors.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[]; -} + DryRun?: boolean; -export namespace DisableFastSnapshotRestoreErrorItem { - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreErrorItem): any => ({ - ...obj, - }); -} + /** + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + */ + MaxResults?: number; -export interface DisableFastSnapshotRestoresResult { /** - *

                                                                              Information about the snapshots for which fast snapshot restores could not be disabled.

                                                                              + *

                                                                              The token for the next page of results.

                                                                              */ - Unsuccessful?: DisableFastSnapshotRestoreErrorItem[]; + NextToken?: string; /** - *

                                                                              Information about the snapshots for which fast snapshot restores were successfully disabled.

                                                                              + *

                                                                              One or more VPC IDs.

                                                                              + *

                                                                              Default: Describes all your VPCs.

                                                                              */ - Successful?: DisableFastSnapshotRestoreSuccessItem[]; + VpcIds?: string[]; } -export namespace DisableFastSnapshotRestoresResult { - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresResult): any => ({ +export namespace DescribeVpcsRequest { + export const filterSensitiveLog = (obj: DescribeVpcsRequest): any => ({ ...obj, }); } -export interface DisableTransitGatewayRouteTablePropagationRequest { - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - +export interface DescribeVpcsResult { /** - *

                                                                              The ID of the attachment.

                                                                              + *

                                                                              Information about one or more VPCs.

                                                                              */ - TransitGatewayAttachmentId: string | undefined; + Vpcs?: Vpc[]; /** - *

                                                                              The ID of the propagation route table.

                                                                              + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              */ - TransitGatewayRouteTableId: string | undefined; + NextToken?: string; } -export namespace DisableTransitGatewayRouteTablePropagationRequest { - export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationRequest): any => ({ +export namespace DescribeVpcsResult { + export const filterSensitiveLog = (obj: DescribeVpcsResult): any => ({ ...obj, }); } -export type TransitGatewayPropagationState = "disabled" | "disabling" | "enabled" | "enabling"; - /** - *

                                                                              Describes route propagation.

                                                                              + *

                                                                              Contains the parameters for DescribeVpnConnections.

                                                                              */ -export interface TransitGatewayPropagation { - /** - *

                                                                              The ID of the attachment.

                                                                              - */ - TransitGatewayAttachmentId?: string; - - /** - *

                                                                              The state.

                                                                              - */ - State?: TransitGatewayPropagationState | string; - +export interface DescribeVpnConnectionsRequest { /** - *

                                                                              The ID of the transit gateway route table.

                                                                              + *

                                                                              One or more VPN connection IDs.

                                                                              + *

                                                                              Default: Describes your VPN connections.

                                                                              */ - TransitGatewayRouteTableId?: string; + VpnConnectionIds?: string[]; /** - *

                                                                              The resource type.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + DryRun?: boolean; /** - *

                                                                              The ID of the resource.

                                                                              + *

                                                                              One or more filters.

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * customer-gateway-configuration - The configuration information for the customer gateway.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * customer-gateway-id - The ID of a customer gateway associated with the VPN connection.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * state - The state of the VPN connection (pending | available | deleting | deleted).

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * option.static-routes-only - Indicates whether the connection has static routes only. Used for devices that do not support Border Gateway Protocol (BGP).

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * route.destination-cidr-block - The destination CIDR block. This corresponds to the subnet used in a customer data center.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP device.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * type - The type of VPN connection. Currently the only supported type is ipsec.1.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * vpn-connection-id - The ID of the VPN connection.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * vpn-gateway-id - The ID of a virtual private gateway associated with the VPN connection.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * transit-gateway-id - The ID of a transit gateway associated with the VPN connection.

                                                                                + *
                                                                              • + *
                                                                              */ - ResourceId?: string; + Filters?: Filter[]; } -export namespace TransitGatewayPropagation { - export const filterSensitiveLog = (obj: TransitGatewayPropagation): any => ({ +export namespace DescribeVpnConnectionsRequest { + export const filterSensitiveLog = (obj: DescribeVpnConnectionsRequest): any => ({ ...obj, }); } -export interface DisableTransitGatewayRouteTablePropagationResult { +/** + *

                                                                              Contains the output of DescribeVpnConnections.

                                                                              + */ +export interface DescribeVpnConnectionsResult { /** - *

                                                                              Information about route propagation.

                                                                              + *

                                                                              Information about one or more VPN connections.

                                                                              */ - Propagation?: TransitGatewayPropagation; + VpnConnections?: VpnConnection[]; } -export namespace DisableTransitGatewayRouteTablePropagationResult { - export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationResult): any => ({ +export namespace DescribeVpnConnectionsResult { + export const filterSensitiveLog = (obj: DescribeVpnConnectionsResult): any => ({ ...obj, }); } /** - *

                                                                              Contains the parameters for DisableVgwRoutePropagation.

                                                                              + *

                                                                              Contains the parameters for DescribeVpnGateways.

                                                                              */ -export interface DisableVgwRoutePropagationRequest { +export interface DescribeVpnGatewaysRequest { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              One or more virtual private gateway IDs.

                                                                              + *

                                                                              Default: Describes all your virtual private gateways.

                                                                              */ - DryRun?: boolean; + VpnGatewayIds?: string[]; /** - *

                                                                              The ID of the virtual private gateway.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - GatewayId: string | undefined; + DryRun?: boolean; /** - *

                                                                              The ID of the route table.

                                                                              + *

                                                                              One or more filters.

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon side of the gateway.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * attachment.state - The current state of the attachment between the gateway and the VPC (attaching | attached | detaching | detached).

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * attachment.vpc-id - The ID of an attached VPC.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * availability-zone - The Availability Zone for the virtual private gateway (if applicable).

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * state - The state of the virtual private gateway (pending | available | deleting | deleted).

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * type - The type of virtual private gateway. Currently the only supported type is ipsec.1.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * vpn-gateway-id - The ID of the virtual private gateway.

                                                                                + *
                                                                              • + *
                                                                              */ - RouteTableId: string | undefined; + Filters?: Filter[]; } -export namespace DisableVgwRoutePropagationRequest { - export const filterSensitiveLog = (obj: DisableVgwRoutePropagationRequest): any => ({ +export namespace DescribeVpnGatewaysRequest { + export const filterSensitiveLog = (obj: DescribeVpnGatewaysRequest): any => ({ ...obj, }); } -export interface DisableVpcClassicLinkRequest { - /** - *

                                                                              The ID of the VPC.

                                                                              - */ - VpcId: string | undefined; - +/** + *

                                                                              Contains the output of DescribeVpnGateways.

                                                                              + */ +export interface DescribeVpnGatewaysResult { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              Information about one or more virtual private gateways.

                                                                              */ - DryRun?: boolean; + VpnGateways?: VpnGateway[]; } -export namespace DisableVpcClassicLinkRequest { - export const filterSensitiveLog = (obj: DisableVpcClassicLinkRequest): any => ({ +export namespace DescribeVpnGatewaysResult { + export const filterSensitiveLog = (obj: DescribeVpnGatewaysResult): any => ({ ...obj, }); } -export interface DisableVpcClassicLinkResult { +export interface DetachClassicLinkVpcRequest { /** - *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              + *

                                                                              The ID of the instance to unlink from the VPC.

                                                                              */ - Return?: boolean; -} + InstanceId: string | undefined; -export namespace DisableVpcClassicLinkResult { - export const filterSensitiveLog = (obj: DisableVpcClassicLinkResult): any => ({ - ...obj, - }); -} + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; -export interface DisableVpcClassicLinkDnsSupportRequest { /** - *

                                                                              The ID of the VPC.

                                                                              + *

                                                                              The ID of the VPC to which the instance is linked.

                                                                              */ - VpcId?: string; + VpcId: string | undefined; } -export namespace DisableVpcClassicLinkDnsSupportRequest { - export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportRequest): any => ({ +export namespace DetachClassicLinkVpcRequest { + export const filterSensitiveLog = (obj: DetachClassicLinkVpcRequest): any => ({ ...obj, }); } -export interface DisableVpcClassicLinkDnsSupportResult { +export interface DetachClassicLinkVpcResult { /** *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              */ Return?: boolean; } -export namespace DisableVpcClassicLinkDnsSupportResult { - export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportResult): any => ({ +export namespace DetachClassicLinkVpcResult { + export const filterSensitiveLog = (obj: DetachClassicLinkVpcResult): any => ({ ...obj, }); } -export interface DisassociateAddressRequest { +export interface DetachInternetGatewayRequest { /** - *

                                                                              [EC2-VPC] The association ID. Required for EC2-VPC.

                                                                              + *

                                                                              The ID of the VPC.

                                                                              */ - AssociationId?: string; + VpcId: string | undefined; + + /** + *

                                                                              The ID of the internet gateway.

                                                                              + */ + InternetGatewayId: string | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -7724,92 +7918,128 @@ export interface DisassociateAddressRequest { * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; - - /** - *

                                                                              [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

                                                                              - */ - PublicIp?: string; } -export namespace DisassociateAddressRequest { - export const filterSensitiveLog = (obj: DisassociateAddressRequest): any => ({ +export namespace DetachInternetGatewayRequest { + export const filterSensitiveLog = (obj: DetachInternetGatewayRequest): any => ({ ...obj, }); } -export interface DisassociateClientVpnTargetNetworkRequest { +/** + *

                                                                              Contains the parameters for DetachNetworkInterface.

                                                                              + */ +export interface DetachNetworkInterfaceRequest { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; /** - *

                                                                              The ID of the target network association.

                                                                              + *

                                                                              The ID of the attachment.

                                                                              */ - AssociationId: string | undefined; + AttachmentId: string | undefined; /** - *

                                                                              The ID of the Client VPN endpoint from which to disassociate the target network.

                                                                              + *

                                                                              Specifies whether to force a detachment.

                                                                              + * + *
                                                                                + *
                                                                              • + *

                                                                                Use the Force parameter only as a last resort to detach a network interface from a failed instance.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                If you force the detachment of a network interface, the instance metadata + * might not get updated. This means that the attributes associated + * with the detached network interface might still be visible. The + * instance metadata will get updated when you stop and start the + * instance.

                                                                                + *
                                                                              • + *
                                                                              + *
                                                                              */ - ClientVpnEndpointId: string | undefined; + Force?: boolean; } -export namespace DisassociateClientVpnTargetNetworkRequest { - export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkRequest): any => ({ +export namespace DetachNetworkInterfaceRequest { + export const filterSensitiveLog = (obj: DetachNetworkInterfaceRequest): any => ({ ...obj, }); } -export interface DisassociateClientVpnTargetNetworkResult { +export interface DetachVolumeRequest { /** - *

                                                                              The ID of the target network association.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - AssociationId?: string; + DryRun?: boolean; /** - *

                                                                              The current state of the target network association.

                                                                              + *

                                                                              The ID of the volume.

                                                                              */ - Status?: AssociationStatus; -} + VolumeId: string | undefined; -export namespace DisassociateClientVpnTargetNetworkResult { - export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkResult): any => ({ - ...obj, - }); -} + /** + *

                                                                              The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

                                                                              + */ + InstanceId?: string; -export interface DisassociateIamInstanceProfileRequest { /** - *

                                                                              The ID of the IAM instance profile association.

                                                                              + *

                                                                              Forces detachment if the previous detachment attempt did not occur cleanly (for example, + * logging into an instance, unmounting the volume, and detaching normally). This option can lead + * to data loss or a corrupted file system. Use this option only as a last resort to detach a + * volume from a failed instance. The instance won't have an opportunity to flush file system + * caches or file system metadata. If you use this option, you must perform file system check and + * repair procedures.

                                                                              */ - AssociationId: string | undefined; + Force?: boolean; + + /** + *

                                                                              The device name.

                                                                              + */ + Device?: string; } -export namespace DisassociateIamInstanceProfileRequest { - export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileRequest): any => ({ +export namespace DetachVolumeRequest { + export const filterSensitiveLog = (obj: DetachVolumeRequest): any => ({ ...obj, }); } -export interface DisassociateIamInstanceProfileResult { +/** + *

                                                                              Contains the parameters for DetachVpnGateway.

                                                                              + */ +export interface DetachVpnGatewayRequest { /** - *

                                                                              Information about the IAM instance profile association.

                                                                              + *

                                                                              The ID of the virtual private gateway.

                                                                              */ - IamInstanceProfileAssociation?: IamInstanceProfileAssociation; + VpnGatewayId: string | undefined; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              The ID of the VPC.

                                                                              + */ + VpcId: string | undefined; } -export namespace DisassociateIamInstanceProfileResult { - export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileResult): any => ({ +export namespace DetachVpnGatewayRequest { + export const filterSensitiveLog = (obj: DetachVpnGatewayRequest): any => ({ ...obj, }); } -export interface DisassociateRouteTableRequest { - /** - *

                                                                              The association ID representing the current association between the route table and subnet or gateway.

                                                                              - */ - AssociationId: string | undefined; - +export interface DisableEbsEncryptionByDefaultRequest { /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -7818,193 +8048,214 @@ export interface DisassociateRouteTableRequest { DryRun?: boolean; } -export namespace DisassociateRouteTableRequest { - export const filterSensitiveLog = (obj: DisassociateRouteTableRequest): any => ({ +export namespace DisableEbsEncryptionByDefaultRequest { + export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultRequest): any => ({ ...obj, }); } -export interface DisassociateSubnetCidrBlockRequest { +export interface DisableEbsEncryptionByDefaultResult { /** - *

                                                                              The association ID for the CIDR block.

                                                                              + *

                                                                              The updated status of encryption by default.

                                                                              */ - AssociationId: string | undefined; + EbsEncryptionByDefault?: boolean; } -export namespace DisassociateSubnetCidrBlockRequest { - export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockRequest): any => ({ +export namespace DisableEbsEncryptionByDefaultResult { + export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultResult): any => ({ ...obj, }); } -export interface DisassociateSubnetCidrBlockResult { +export interface DisableFastSnapshotRestoresRequest { /** - *

                                                                              Information about the IPv6 CIDR block association.

                                                                              + *

                                                                              The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

                                                                              */ - Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation; + SourceSnapshotIds: string[] | undefined; /** - *

                                                                              The ID of the subnet.

                                                                              + *

                                                                              One or more Availability Zones. For example, us-east-2a.

                                                                              */ - SubnetId?: string; + AvailabilityZones: string[] | undefined; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; } -export namespace DisassociateSubnetCidrBlockResult { - export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockResult): any => ({ +export namespace DisableFastSnapshotRestoresRequest { + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresRequest): any => ({ ...obj, }); } -export interface DisassociateTransitGatewayMulticastDomainRequest { +/** + *

                                                                              Describes fast snapshot restores that were successfully disabled.

                                                                              + */ +export interface DisableFastSnapshotRestoreSuccessItem { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the AWS account that enabled fast snapshot restores on the snapshot.

                                                                              */ - DryRun?: boolean; + OwnerId?: string; /** - *

                                                                              The ID of the transit gateway multicast domain.

                                                                              + *

                                                                              The reason for the state transition. The possible values are as follows:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * Client.UserInitiated - The state successfully transitioned to enabling or + * disabling.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned + * to optimizing, enabled, or disabled.

                                                                                + *
                                                                              • + *
                                                                              */ - TransitGatewayMulticastDomainId?: string; + StateTransitionReason?: string; /** - *

                                                                              The ID of the attachment.

                                                                              + *

                                                                              The Availability Zone.

                                                                              */ - TransitGatewayAttachmentId?: string; + AvailabilityZone?: string; /** - *

                                                                              The IDs of the subnets;

                                                                              + *

                                                                              The AWS owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                                              */ - SubnetIds?: string[]; -} + OwnerAlias?: string; -export namespace DisassociateTransitGatewayMulticastDomainRequest { - export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainRequest): any => ({ - ...obj, - }); -} + /** + *

                                                                              The time at which fast snapshot restores entered the disabling state.

                                                                              + */ + DisablingTime?: Date; -export interface DisassociateTransitGatewayMulticastDomainResult { /** - *

                                                                              Information about the association.

                                                                              + *

                                                                              The time at which fast snapshot restores entered the disabled state.

                                                                              */ - Associations?: TransitGatewayMulticastDomainAssociations; -} + DisabledTime?: Date; -export namespace DisassociateTransitGatewayMulticastDomainResult { - export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainResult): any => ({ - ...obj, - }); -} + /** + *

                                                                              The time at which fast snapshot restores entered the enabling state.

                                                                              + */ + EnablingTime?: Date; -export interface DisassociateTransitGatewayRouteTableRequest { /** - *

                                                                              The ID of the attachment.

                                                                              + *

                                                                              The time at which fast snapshot restores entered the enabled state.

                                                                              */ - TransitGatewayAttachmentId: string | undefined; + EnabledTime?: Date; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The state of fast snapshot restores for the snapshot.

                                                                              */ - DryRun?: boolean; + State?: FastSnapshotRestoreStateCode | string; /** - *

                                                                              The ID of the transit gateway route table.

                                                                              + *

                                                                              The ID of the snapshot.

                                                                              + */ + SnapshotId?: string; + + /** + *

                                                                              The time at which fast snapshot restores entered the optimizing state.

                                                                              */ - TransitGatewayRouteTableId: string | undefined; + OptimizingTime?: Date; } -export namespace DisassociateTransitGatewayRouteTableRequest { - export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableRequest): any => ({ +export namespace DisableFastSnapshotRestoreSuccessItem { + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreSuccessItem): any => ({ ...obj, }); } -export interface DisassociateTransitGatewayRouteTableResult { +/** + *

                                                                              Describes an error that occurred when disabling fast snapshot restores.

                                                                              + */ +export interface DisableFastSnapshotRestoreStateError { /** - *

                                                                              Information about the association.

                                                                              + *

                                                                              The error message.

                                                                              */ - Association?: TransitGatewayAssociation; -} - -export namespace DisassociateTransitGatewayRouteTableResult { - export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableResult): any => ({ - ...obj, - }); -} + Message?: string; -export interface DisassociateVpcCidrBlockRequest { /** - *

                                                                              The association ID for the CIDR block.

                                                                              + *

                                                                              The error code.

                                                                              */ - AssociationId: string | undefined; + Code?: string; } -export namespace DisassociateVpcCidrBlockRequest { - export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockRequest): any => ({ +export namespace DisableFastSnapshotRestoreStateError { + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateError): any => ({ ...obj, }); } -export interface DisassociateVpcCidrBlockResult { - /** - *

                                                                              The ID of the VPC.

                                                                              - */ - VpcId?: string; - +/** + *

                                                                              Contains information about an error that occurred when disabling fast snapshot restores.

                                                                              + */ +export interface DisableFastSnapshotRestoreStateErrorItem { /** - *

                                                                              Information about the IPv4 CIDR block association.

                                                                              + *

                                                                              The error.

                                                                              */ - CidrBlockAssociation?: VpcCidrBlockAssociation; + Error?: DisableFastSnapshotRestoreStateError; /** - *

                                                                              Information about the IPv6 CIDR block association.

                                                                              + *

                                                                              The Availability Zone.

                                                                              */ - Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation; + AvailabilityZone?: string; } -export namespace DisassociateVpcCidrBlockResult { - export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockResult): any => ({ +export namespace DisableFastSnapshotRestoreStateErrorItem { + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateErrorItem): any => ({ ...obj, }); } -export interface EnableEbsEncryptionByDefaultRequest { +/** + *

                                                                              Contains information about the errors that occurred when disabling fast snapshot restores.

                                                                              + */ +export interface DisableFastSnapshotRestoreErrorItem { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The errors.

                                                                              */ - DryRun?: boolean; + FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[]; + + /** + *

                                                                              The ID of the snapshot.

                                                                              + */ + SnapshotId?: string; } -export namespace EnableEbsEncryptionByDefaultRequest { - export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultRequest): any => ({ +export namespace DisableFastSnapshotRestoreErrorItem { + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreErrorItem): any => ({ ...obj, }); } -export interface EnableEbsEncryptionByDefaultResult { +export interface DisableFastSnapshotRestoresResult { /** - *

                                                                              The updated status of encryption by default.

                                                                              + *

                                                                              Information about the snapshots for which fast snapshot restores were successfully disabled.

                                                                              */ - EbsEncryptionByDefault?: boolean; + Successful?: DisableFastSnapshotRestoreSuccessItem[]; + + /** + *

                                                                              Information about the snapshots for which fast snapshot restores could not be disabled.

                                                                              + */ + Unsuccessful?: DisableFastSnapshotRestoreErrorItem[]; } -export namespace EnableEbsEncryptionByDefaultResult { - export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultResult): any => ({ +export namespace DisableFastSnapshotRestoresResult { + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresResult): any => ({ ...obj, }); } -export interface EnableFastSnapshotRestoresRequest { +export interface DisableTransitGatewayRouteTablePropagationRequest { /** - *

                                                                              One or more Availability Zones. For example, us-east-2a.

                                                                              + *

                                                                              The ID of the attachment.

                                                                              */ - AvailabilityZones: string[] | undefined; + TransitGatewayAttachmentId: string | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -8014,439 +8265,454 @@ export interface EnableFastSnapshotRestoresRequest { DryRun?: boolean; /** - *

                                                                              The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify - * a snapshot that was shared with you from another AWS account.

                                                                              + *

                                                                              The ID of the propagation route table.

                                                                              */ - SourceSnapshotIds: string[] | undefined; + TransitGatewayRouteTableId: string | undefined; } -export namespace EnableFastSnapshotRestoresRequest { - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresRequest): any => ({ +export namespace DisableTransitGatewayRouteTablePropagationRequest { + export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationRequest): any => ({ ...obj, }); } +export type TransitGatewayPropagationState = "disabled" | "disabling" | "enabled" | "enabling"; + /** - *

                                                                              Describes fast snapshot restores that were successfully enabled.

                                                                              + *

                                                                              Describes route propagation.

                                                                              */ -export interface EnableFastSnapshotRestoreSuccessItem { +export interface TransitGatewayPropagation { /** - *

                                                                              The ID of the AWS account that enabled fast snapshot restores on the snapshot.

                                                                              + *

                                                                              The ID of the resource.

                                                                              */ - OwnerId?: string; + ResourceId?: string; /** - *

                                                                              The Availability Zone.

                                                                              + *

                                                                              The ID of the transit gateway route table.

                                                                              */ - AvailabilityZone?: string; + TransitGatewayRouteTableId?: string; /** - *

                                                                              The reason for the state transition. The possible values are as follows:

                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * Client.UserInitiated - The state successfully transitioned to enabling or - * disabling.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned - * to optimizing, enabled, or disabled.

                                                                                - *
                                                                              • - *
                                                                              + *

                                                                              The resource type. Note that the tgw-peering resource type has been deprecated.

                                                                              */ - StateTransitionReason?: string; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

                                                                              The AWS owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                                              + *

                                                                              The state.

                                                                              */ - OwnerAlias?: string; + State?: TransitGatewayPropagationState | string; /** - *

                                                                              The time at which fast snapshot restores entered the disabling state.

                                                                              + *

                                                                              The ID of the attachment.

                                                                              */ - DisablingTime?: Date; + TransitGatewayAttachmentId?: string; +} + +export namespace TransitGatewayPropagation { + export const filterSensitiveLog = (obj: TransitGatewayPropagation): any => ({ + ...obj, + }); +} +export interface DisableTransitGatewayRouteTablePropagationResult { /** - *

                                                                              The time at which fast snapshot restores entered the disabled state.

                                                                              + *

                                                                              Information about route propagation.

                                                                              */ - DisabledTime?: Date; + Propagation?: TransitGatewayPropagation; +} + +export namespace DisableTransitGatewayRouteTablePropagationResult { + export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationResult): any => ({ + ...obj, + }); +} +/** + *

                                                                              Contains the parameters for DisableVgwRoutePropagation.

                                                                              + */ +export interface DisableVgwRoutePropagationRequest { /** - *

                                                                              The ID of the snapshot.

                                                                              + *

                                                                              The ID of the virtual private gateway.

                                                                              */ - SnapshotId?: string; + GatewayId: string | undefined; /** - *

                                                                              The state of fast snapshot restores.

                                                                              + *

                                                                              The ID of the route table.

                                                                              */ - State?: FastSnapshotRestoreStateCode | string; + RouteTableId: string | undefined; /** - *

                                                                              The time at which fast snapshot restores entered the enabling state.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - EnablingTime?: Date; + DryRun?: boolean; +} + +export namespace DisableVgwRoutePropagationRequest { + export const filterSensitiveLog = (obj: DisableVgwRoutePropagationRequest): any => ({ + ...obj, + }); +} +export interface DisableVpcClassicLinkRequest { /** - *

                                                                              The time at which fast snapshot restores entered the enabled state.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - EnabledTime?: Date; + DryRun?: boolean; /** - *

                                                                              The time at which fast snapshot restores entered the optimizing state.

                                                                              + *

                                                                              The ID of the VPC.

                                                                              */ - OptimizingTime?: Date; + VpcId: string | undefined; } -export namespace EnableFastSnapshotRestoreSuccessItem { - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreSuccessItem): any => ({ +export namespace DisableVpcClassicLinkRequest { + export const filterSensitiveLog = (obj: DisableVpcClassicLinkRequest): any => ({ ...obj, }); } -/** - *

                                                                              Describes an error that occurred when enabling fast snapshot restores.

                                                                              - */ -export interface EnableFastSnapshotRestoreStateError { - /** - *

                                                                              The error message.

                                                                              - */ - Message?: string; - +export interface DisableVpcClassicLinkResult { /** - *

                                                                              The error code.

                                                                              + *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              */ - Code?: string; + Return?: boolean; } -export namespace EnableFastSnapshotRestoreStateError { - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateError): any => ({ +export namespace DisableVpcClassicLinkResult { + export const filterSensitiveLog = (obj: DisableVpcClassicLinkResult): any => ({ ...obj, }); } -/** - *

                                                                              Contains information about an error that occurred when enabling fast snapshot restores.

                                                                              - */ -export interface EnableFastSnapshotRestoreStateErrorItem { +export interface DisableVpcClassicLinkDnsSupportRequest { /** - *

                                                                              The error.

                                                                              + *

                                                                              The ID of the VPC.

                                                                              */ - Error?: EnableFastSnapshotRestoreStateError; + VpcId?: string; +} + +export namespace DisableVpcClassicLinkDnsSupportRequest { + export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportRequest): any => ({ + ...obj, + }); +} +export interface DisableVpcClassicLinkDnsSupportResult { /** - *

                                                                              The Availability Zone.

                                                                              + *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              */ - AvailabilityZone?: string; + Return?: boolean; } -export namespace EnableFastSnapshotRestoreStateErrorItem { - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateErrorItem): any => ({ +export namespace DisableVpcClassicLinkDnsSupportResult { + export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportResult): any => ({ ...obj, }); } -/** - *

                                                                              Contains information about the errors that occurred when enabling fast snapshot restores.

                                                                              - */ -export interface EnableFastSnapshotRestoreErrorItem { +export interface DisassociateAddressRequest { /** - *

                                                                              The errors.

                                                                              + *

                                                                              [EC2-VPC] The association ID. Required for EC2-VPC.

                                                                              + */ + AssociationId?: string; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[]; + DryRun?: boolean; /** - *

                                                                              The ID of the snapshot.

                                                                              + *

                                                                              [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

                                                                              */ - SnapshotId?: string; + PublicIp?: string; } -export namespace EnableFastSnapshotRestoreErrorItem { - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreErrorItem): any => ({ +export namespace DisassociateAddressRequest { + export const filterSensitiveLog = (obj: DisassociateAddressRequest): any => ({ ...obj, }); } -export interface EnableFastSnapshotRestoresResult { +export interface DisassociateClientVpnTargetNetworkRequest { /** - *

                                                                              Information about the snapshots for which fast snapshot restores were successfully enabled.

                                                                              + *

                                                                              The ID of the target network association.

                                                                              */ - Successful?: EnableFastSnapshotRestoreSuccessItem[]; + AssociationId: string | undefined; /** - *

                                                                              Information about the snapshots for which fast snapshot restores could not be enabled.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              */ - Unsuccessful?: EnableFastSnapshotRestoreErrorItem[]; + DryRun?: boolean; + + /** + *

                                                                              The ID of the Client VPN endpoint from which to disassociate the target network.

                                                                              + */ + ClientVpnEndpointId: string | undefined; } -export namespace EnableFastSnapshotRestoresResult { - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresResult): any => ({ +export namespace DisassociateClientVpnTargetNetworkRequest { + export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkRequest): any => ({ ...obj, }); } -export interface EnableTransitGatewayRouteTablePropagationRequest { - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - +export interface DisassociateClientVpnTargetNetworkResult { /** - *

                                                                              The ID of the propagation route table.

                                                                              + *

                                                                              The current state of the target network association.

                                                                              */ - TransitGatewayRouteTableId: string | undefined; + Status?: AssociationStatus; /** - *

                                                                              The ID of the attachment.

                                                                              + *

                                                                              The ID of the target network association.

                                                                              */ - TransitGatewayAttachmentId: string | undefined; + AssociationId?: string; } -export namespace EnableTransitGatewayRouteTablePropagationRequest { - export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationRequest): any => ({ +export namespace DisassociateClientVpnTargetNetworkResult { + export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkResult): any => ({ ...obj, }); } -export interface EnableTransitGatewayRouteTablePropagationResult { +export interface DisassociateIamInstanceProfileRequest { /** - *

                                                                              Information about route propagation.

                                                                              + *

                                                                              The ID of the IAM instance profile association.

                                                                              */ - Propagation?: TransitGatewayPropagation; + AssociationId: string | undefined; } -export namespace EnableTransitGatewayRouteTablePropagationResult { - export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationResult): any => ({ +export namespace DisassociateIamInstanceProfileRequest { + export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileRequest): any => ({ ...obj, }); } -/** - *

                                                                              Contains the parameters for EnableVgwRoutePropagation.

                                                                              - */ -export interface EnableVgwRoutePropagationRequest { - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - - /** - *

                                                                              The ID of the virtual private gateway that is attached to a VPC. The virtual private gateway must be attached to the same VPC that the routing tables are associated with.

                                                                              - */ - GatewayId: string | undefined; - +export interface DisassociateIamInstanceProfileResult { /** - *

                                                                              The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to.

                                                                              + *

                                                                              Information about the IAM instance profile association.

                                                                              */ - RouteTableId: string | undefined; + IamInstanceProfileAssociation?: IamInstanceProfileAssociation; } -export namespace EnableVgwRoutePropagationRequest { - export const filterSensitiveLog = (obj: EnableVgwRoutePropagationRequest): any => ({ +export namespace DisassociateIamInstanceProfileResult { + export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileResult): any => ({ ...obj, }); } -export interface EnableVolumeIORequest { +export interface DisassociateRouteTableRequest { + /** + *

                                                                              The association ID representing the current association between the route table and subnet or gateway.

                                                                              + */ + AssociationId: string | undefined; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; +} + +export namespace DisassociateRouteTableRequest { + export const filterSensitiveLog = (obj: DisassociateRouteTableRequest): any => ({ + ...obj, + }); +} +export interface DisassociateSubnetCidrBlockRequest { /** - *

                                                                              The ID of the volume.

                                                                              + *

                                                                              The association ID for the CIDR block.

                                                                              */ - VolumeId: string | undefined; + AssociationId: string | undefined; } -export namespace EnableVolumeIORequest { - export const filterSensitiveLog = (obj: EnableVolumeIORequest): any => ({ +export namespace DisassociateSubnetCidrBlockRequest { + export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockRequest): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkRequest { +export interface DisassociateSubnetCidrBlockResult { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the subnet.

                                                                              */ - DryRun?: boolean; + SubnetId?: string; /** - *

                                                                              The ID of the VPC.

                                                                              + *

                                                                              Information about the IPv6 CIDR block association.

                                                                              */ - VpcId: string | undefined; + Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation; } -export namespace EnableVpcClassicLinkRequest { - export const filterSensitiveLog = (obj: EnableVpcClassicLinkRequest): any => ({ +export namespace DisassociateSubnetCidrBlockResult { + export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockResult): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkResult { +export interface DisassociateTransitGatewayMulticastDomainRequest { /** - *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              + *

                                                                              The ID of the transit gateway multicast domain.

                                                                              */ - Return?: boolean; -} + TransitGatewayMulticastDomainId?: string; -export namespace EnableVpcClassicLinkResult { - export const filterSensitiveLog = (obj: EnableVpcClassicLinkResult): any => ({ - ...obj, - }); -} + /** + *

                                                                              The IDs of the subnets;

                                                                              + */ + SubnetIds?: string[]; -export interface EnableVpcClassicLinkDnsSupportRequest { /** - *

                                                                              The ID of the VPC.

                                                                              + *

                                                                              The ID of the attachment.

                                                                              */ - VpcId?: string; + TransitGatewayAttachmentId?: string; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; } -export namespace EnableVpcClassicLinkDnsSupportRequest { - export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportRequest): any => ({ +export namespace DisassociateTransitGatewayMulticastDomainRequest { + export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainRequest): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkDnsSupportResult { +export interface DisassociateTransitGatewayMulticastDomainResult { /** - *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              + *

                                                                              Information about the association.

                                                                              */ - Return?: boolean; + Associations?: TransitGatewayMulticastDomainAssociations; } -export namespace EnableVpcClassicLinkDnsSupportResult { - export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportResult): any => ({ +export namespace DisassociateTransitGatewayMulticastDomainResult { + export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainResult): any => ({ ...obj, }); } -export interface ExportClientVpnClientCertificateRevocationListRequest { +export interface DisassociateTransitGatewayRouteTableRequest { /** - *

                                                                              The ID of the Client VPN endpoint.

                                                                              + *

                                                                              The ID of the attachment.

                                                                              */ - ClientVpnEndpointId: string | undefined; + TransitGatewayAttachmentId: string | undefined; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the transit gateway route table.

                                                                              + */ + TransitGatewayRouteTableId: string | undefined; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; } -export namespace ExportClientVpnClientCertificateRevocationListRequest { - export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListRequest): any => ({ +export namespace DisassociateTransitGatewayRouteTableRequest { + export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableRequest): any => ({ ...obj, }); } -export type ClientCertificateRevocationListStatusCode = "active" | "pending"; - -/** - *

                                                                              Describes the state of a client certificate revocation list.

                                                                              - */ -export interface ClientCertificateRevocationListStatus { - /** - *

                                                                              The state of the client certificate revocation list.

                                                                              - */ - Code?: ClientCertificateRevocationListStatusCode | string; - +export interface DisassociateTransitGatewayRouteTableResult { /** - *

                                                                              A message about the status of the client certificate revocation list, if applicable.

                                                                              + *

                                                                              Information about the association.

                                                                              */ - Message?: string; + Association?: TransitGatewayAssociation; } -export namespace ClientCertificateRevocationListStatus { - export const filterSensitiveLog = (obj: ClientCertificateRevocationListStatus): any => ({ +export namespace DisassociateTransitGatewayRouteTableResult { + export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableResult): any => ({ ...obj, }); } -export interface ExportClientVpnClientCertificateRevocationListResult { - /** - *

                                                                              The current state of the client certificate revocation list.

                                                                              - */ - Status?: ClientCertificateRevocationListStatus; - +export interface DisassociateVpcCidrBlockRequest { /** - *

                                                                              Information about the client certificate revocation list.

                                                                              + *

                                                                              The association ID for the CIDR block.

                                                                              */ - CertificateRevocationList?: string; + AssociationId: string | undefined; } -export namespace ExportClientVpnClientCertificateRevocationListResult { - export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListResult): any => ({ +export namespace DisassociateVpcCidrBlockRequest { + export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockRequest): any => ({ ...obj, }); } -export interface ExportClientVpnClientConfigurationRequest { +export interface DisassociateVpcCidrBlockResult { /** - *

                                                                              The ID of the Client VPN endpoint.

                                                                              + *

                                                                              The ID of the VPC.

                                                                              */ - ClientVpnEndpointId: string | undefined; + VpcId?: string; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              Information about the IPv4 CIDR block association.

                                                                              */ - DryRun?: boolean; -} - -export namespace ExportClientVpnClientConfigurationRequest { - export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationRequest): any => ({ - ...obj, - }); -} + CidrBlockAssociation?: VpcCidrBlockAssociation; -export interface ExportClientVpnClientConfigurationResult { /** - *

                                                                              The contents of the Client VPN endpoint configuration file.

                                                                              + *

                                                                              Information about the IPv6 CIDR block association.

                                                                              */ - ClientConfiguration?: string; + Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation; } -export namespace ExportClientVpnClientConfigurationResult { - export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationResult): any => ({ +export namespace DisassociateVpcCidrBlockResult { + export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockResult): any => ({ ...obj, }); } -/** - *

                                                                              Describes the destination for an export image task.

                                                                              - */ -export interface ExportTaskS3LocationRequest { +export interface EnableEbsEncryptionByDefaultRequest { /** - *

                                                                              The prefix (logical hierarchy) in the bucket.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - S3Prefix?: string; + DryRun?: boolean; +} + +export namespace EnableEbsEncryptionByDefaultRequest { + export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultRequest): any => ({ + ...obj, + }); +} +export interface EnableEbsEncryptionByDefaultResult { /** - *

                                                                              The destination Amazon S3 bucket.

                                                                              + *

                                                                              The updated status of encryption by default.

                                                                              */ - S3Bucket: string | undefined; + EbsEncryptionByDefault?: boolean; } -export namespace ExportTaskS3LocationRequest { - export const filterSensitiveLog = (obj: ExportTaskS3LocationRequest): any => ({ +export namespace EnableEbsEncryptionByDefaultResult { + export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultResult): any => ({ ...obj, }); } -export interface ExportImageRequest { +export interface EnableFastSnapshotRestoresRequest { /** - *

                                                                              The name of the role that grants VM Import/Export permission to export images to your Amazon - * S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

                                                                              + *

                                                                              One or more Availability Zones. For example, us-east-2a.

                                                                              */ - RoleName?: string; + AvailabilityZones: string[] | undefined; + + /** + *

                                                                              The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify + * a snapshot that was shared with you from another AWS account.

                                                                              + */ + SourceSnapshotIds: string[] | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -8454,507 +8720,461 @@ export interface ExportImageRequest { * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; +} - /** - *

                                                                              The tags to apply to the image being exported.

                                                                              - */ - TagSpecifications?: TagSpecification[]; - - /** - *

                                                                              The ID of the image.

                                                                              - */ - ImageId: string | undefined; +export namespace EnableFastSnapshotRestoresRequest { + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                              Describes fast snapshot restores that were successfully enabled.

                                                                              + */ +export interface EnableFastSnapshotRestoreSuccessItem { /** - *

                                                                              A description of the image being exported. The maximum length is 255 characters.

                                                                              + *

                                                                              The time at which fast snapshot restores entered the enabled state.

                                                                              */ - Description?: string; + EnabledTime?: Date; /** - *

                                                                              The disk image format.

                                                                              + *

                                                                              The Availability Zone.

                                                                              */ - DiskImageFormat: DiskImageFormat | string | undefined; + AvailabilityZone?: string; /** - *

                                                                              Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE - * and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

                                                                              + *

                                                                              The AWS owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                                              */ - S3ExportLocation: ExportTaskS3LocationRequest | undefined; + OwnerAlias?: string; /** - *

                                                                              Token to enable idempotency for export image requests.

                                                                              + *

                                                                              The ID of the snapshot.

                                                                              */ - ClientToken?: string; -} - -export namespace ExportImageRequest { - export const filterSensitiveLog = (obj: ExportImageRequest): any => ({ - ...obj, - }); -} + SnapshotId?: string; -export interface ExportImageResult { /** - *

                                                                              The disk image format for the exported image.

                                                                              + *

                                                                              The ID of the AWS account that enabled fast snapshot restores on the snapshot.

                                                                              */ - DiskImageFormat?: DiskImageFormat | string; + OwnerId?: string; /** - *

                                                                              The status message for the export image task.

                                                                              + *

                                                                              The time at which fast snapshot restores entered the optimizing state.

                                                                              */ - StatusMessage?: string; + OptimizingTime?: Date; /** - *

                                                                              The percent complete of the export image task.

                                                                              + *

                                                                              The time at which fast snapshot restores entered the disabled state.

                                                                              */ - Progress?: string; + DisabledTime?: Date; /** - *

                                                                              A description of the image being exported.

                                                                              + *

                                                                              The state of fast snapshot restores.

                                                                              */ - Description?: string; + State?: FastSnapshotRestoreStateCode | string; /** - *

                                                                              The ID of the export image task.

                                                                              + *

                                                                              The time at which fast snapshot restores entered the enabling state.

                                                                              */ - ExportImageTaskId?: string; + EnablingTime?: Date; /** - *

                                                                              The status of the export image task. The possible values are active, completed, - * deleting, and deleted.

                                                                              + *

                                                                              The reason for the state transition. The possible values are as follows:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * Client.UserInitiated - The state successfully transitioned to enabling or + * disabling.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned + * to optimizing, enabled, or disabled.

                                                                                + *
                                                                              • + *
                                                                              */ - Status?: string; + StateTransitionReason?: string; /** - *

                                                                              Any tags assigned to the image being exported.

                                                                              + *

                                                                              The time at which fast snapshot restores entered the disabling state.

                                                                              */ - Tags?: Tag[]; + DisablingTime?: Date; +} - /** - *

                                                                              The ID of the image.

                                                                              - */ - ImageId?: string; +export namespace EnableFastSnapshotRestoreSuccessItem { + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreSuccessItem): any => ({ + ...obj, + }); +} +/** + *

                                                                              Describes an error that occurred when enabling fast snapshot restores.

                                                                              + */ +export interface EnableFastSnapshotRestoreStateError { /** - *

                                                                              The name of the role that grants VM Import/Export permission to export images to your Amazon - * S3 bucket.

                                                                              + *

                                                                              The error code.

                                                                              */ - RoleName?: string; + Code?: string; /** - *

                                                                              Information about the destination Amazon S3 bucket.

                                                                              + *

                                                                              The error message.

                                                                              */ - S3ExportLocation?: ExportTaskS3Location; + Message?: string; } -export namespace ExportImageResult { - export const filterSensitiveLog = (obj: ExportImageResult): any => ({ +export namespace EnableFastSnapshotRestoreStateError { + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateError): any => ({ ...obj, }); } -export interface ExportTransitGatewayRoutesRequest { +/** + *

                                                                              Contains information about an error that occurred when enabling fast snapshot restores.

                                                                              + */ +export interface EnableFastSnapshotRestoreStateErrorItem { /** - *

                                                                              The name of the S3 bucket.

                                                                              + *

                                                                              The error.

                                                                              */ - S3Bucket: string | undefined; + Error?: EnableFastSnapshotRestoreStateError; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The Availability Zone.

                                                                              */ - DryRun?: boolean; + AvailabilityZone?: string; +} + +export namespace EnableFastSnapshotRestoreStateErrorItem { + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateErrorItem): any => ({ + ...obj, + }); +} +/** + *

                                                                              Contains information about the errors that occurred when enabling fast snapshot restores.

                                                                              + */ +export interface EnableFastSnapshotRestoreErrorItem { /** - *

                                                                              One or more filters. The possible values are:

                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * attachment.resource-id - The resource id of the transit gateway attachment.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * route-search.exact-match - The exact match of the specified filter.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * route-search.longest-prefix-match - The longest prefix that matches the route.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * transit-gateway-route-destination-cidr-block - The CIDR range.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * type - The type of route (active | - * blackhole).

                                                                                - *
                                                                              • - *
                                                                              + *

                                                                              The ID of the snapshot.

                                                                              */ - Filters?: Filter[]; + SnapshotId?: string; /** - *

                                                                              The ID of the route table.

                                                                              + *

                                                                              The errors.

                                                                              */ - TransitGatewayRouteTableId: string | undefined; + FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[]; } -export namespace ExportTransitGatewayRoutesRequest { - export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesRequest): any => ({ +export namespace EnableFastSnapshotRestoreErrorItem { + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreErrorItem): any => ({ ...obj, }); } -export interface ExportTransitGatewayRoutesResult { +export interface EnableFastSnapshotRestoresResult { /** - *

                                                                              The URL of the exported file in Amazon S3. For example, - * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

                                                                              + *

                                                                              Information about the snapshots for which fast snapshot restores were successfully enabled.

                                                                              */ - S3Location?: string; + Successful?: EnableFastSnapshotRestoreSuccessItem[]; + + /** + *

                                                                              Information about the snapshots for which fast snapshot restores could not be enabled.

                                                                              + */ + Unsuccessful?: EnableFastSnapshotRestoreErrorItem[]; } -export namespace ExportTransitGatewayRoutesResult { - export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesResult): any => ({ +export namespace EnableFastSnapshotRestoresResult { + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresResult): any => ({ ...obj, }); } -export interface GetAssociatedIpv6PoolCidrsRequest { +export interface EnableTransitGatewayRouteTablePropagationRequest { /** - *

                                                                              The ID of the IPv6 address pool.

                                                                              + *

                                                                              The ID of the propagation route table.

                                                                              */ - PoolId: string | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + *

                                                                              The ID of the attachment.

                                                                              */ - MaxResults?: number; + TransitGatewayAttachmentId: string | undefined; /** - *

                                                                              The token for the next page of results.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - NextToken?: string; + DryRun?: boolean; +} + +export namespace EnableTransitGatewayRouteTablePropagationRequest { + export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationRequest): any => ({ + ...obj, + }); +} +export interface EnableTransitGatewayRouteTablePropagationResult { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              Information about route propagation.

                                                                              */ - DryRun?: boolean; + Propagation?: TransitGatewayPropagation; } -export namespace GetAssociatedIpv6PoolCidrsRequest { - export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsRequest): any => ({ +export namespace EnableTransitGatewayRouteTablePropagationResult { + export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationResult): any => ({ ...obj, }); } /** - *

                                                                              Describes an IPv6 CIDR block association.

                                                                              + *

                                                                              Contains the parameters for EnableVgwRoutePropagation.

                                                                              */ -export interface Ipv6CidrAssociation { +export interface EnableVgwRoutePropagationRequest { /** - *

                                                                              The resource that's associated with the IPv6 CIDR block.

                                                                              + *

                                                                              The ID of the virtual private gateway that is attached to a VPC. The virtual private gateway must be attached to the same VPC that the routing tables are associated with.

                                                                              */ - AssociatedResource?: string; + GatewayId: string | undefined; /** - *

                                                                              The IPv6 CIDR block.

                                                                              + *

                                                                              The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to.

                                                                              */ - Ipv6Cidr?: string; + RouteTableId: string | undefined; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; } -export namespace Ipv6CidrAssociation { - export const filterSensitiveLog = (obj: Ipv6CidrAssociation): any => ({ +export namespace EnableVgwRoutePropagationRequest { + export const filterSensitiveLog = (obj: EnableVgwRoutePropagationRequest): any => ({ ...obj, }); } -export interface GetAssociatedIpv6PoolCidrsResult { +export interface EnableVolumeIORequest { /** - *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + *

                                                                              The ID of the volume.

                                                                              */ - NextToken?: string; + VolumeId: string | undefined; /** - *

                                                                              Information about the IPv6 CIDR block associations.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - Ipv6CidrAssociations?: Ipv6CidrAssociation[]; + DryRun?: boolean; } -export namespace GetAssociatedIpv6PoolCidrsResult { - export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsResult): any => ({ +export namespace EnableVolumeIORequest { + export const filterSensitiveLog = (obj: EnableVolumeIORequest): any => ({ ...obj, }); } -export interface GetCapacityReservationUsageRequest { +export interface EnableVpcClassicLinkRequest { /** - *

                                                                              The ID of the Capacity Reservation.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - CapacityReservationId: string | undefined; + DryRun?: boolean; /** - *

                                                                              The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                                                              - *

                                                                              Valid range: Minimum value of 1. Maximum value of 1000.

                                                                              + *

                                                                              The ID of the VPC.

                                                                              */ - MaxResults?: number; + VpcId: string | undefined; +} - /** - *

                                                                              The token to use to retrieve the next page of results.

                                                                              - */ - NextToken?: string; +export namespace EnableVpcClassicLinkRequest { + export const filterSensitiveLog = (obj: EnableVpcClassicLinkRequest): any => ({ + ...obj, + }); +} +export interface EnableVpcClassicLinkResult { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              */ - DryRun?: boolean; + Return?: boolean; } -export namespace GetCapacityReservationUsageRequest { - export const filterSensitiveLog = (obj: GetCapacityReservationUsageRequest): any => ({ +export namespace EnableVpcClassicLinkResult { + export const filterSensitiveLog = (obj: EnableVpcClassicLinkResult): any => ({ ...obj, }); } -/** - *

                                                                              Information about the Capacity Reservation usage.

                                                                              - */ -export interface InstanceUsage { - /** - *

                                                                              The number of instances the AWS account currently has in the Capacity Reservation.

                                                                              - */ - UsedInstanceCount?: number; - +export interface EnableVpcClassicLinkDnsSupportRequest { /** - *

                                                                              The ID of the AWS account that is making use of the Capacity Reservation.

                                                                              + *

                                                                              The ID of the VPC.

                                                                              */ - AccountId?: string; + VpcId?: string; } -export namespace InstanceUsage { - export const filterSensitiveLog = (obj: InstanceUsage): any => ({ +export namespace EnableVpcClassicLinkDnsSupportRequest { + export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportRequest): any => ({ ...obj, }); } -export interface GetCapacityReservationUsageResult { +export interface EnableVpcClassicLinkDnsSupportResult { /** - *

                                                                              The number of instances for which the Capacity Reservation reserves capacity.

                                                                              + *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              */ - TotalInstanceCount?: number; + Return?: boolean; +} - /** - *

                                                                              The ID of the Capacity Reservation.

                                                                              - */ - CapacityReservationId?: string; +export namespace EnableVpcClassicLinkDnsSupportResult { + export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportResult): any => ({ + ...obj, + }); +} +export interface ExportClientVpnClientCertificateRevocationListRequest { /** - *

                                                                              The type of instance for which the Capacity Reservation reserves capacity.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              */ - InstanceType?: string; + DryRun?: boolean; /** - *

                                                                              The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * active - The Capacity Reservation is active and the capacity is available for your use.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * expired - The Capacity Reservation expired automatically at the date and time specified - * in your request. The reserved capacity is no longer available for your use.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * cancelled - The Capacity Reservation was manually cancelled. The reserved capacity is no - * longer available for your use.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * pending - The Capacity Reservation request was successful but the capacity - * provisioning is still pending.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * failed - The Capacity Reservation request has failed. A request might fail - * due to invalid request parameters, capacity constraints, or instance limit constraints. - * Failed requests are retained for 60 minutes.

                                                                                - *
                                                                              • - *
                                                                              + *

                                                                              The ID of the Client VPN endpoint.

                                                                              */ - State?: CapacityReservationState | string; + ClientVpnEndpointId: string | undefined; +} - /** - *

                                                                              The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

                                                                              - */ - AvailableInstanceCount?: number; +export namespace ExportClientVpnClientCertificateRevocationListRequest { + export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListRequest): any => ({ + ...obj, + }); +} + +export type ClientCertificateRevocationListStatusCode = "active" | "pending"; +/** + *

                                                                              Describes the state of a client certificate revocation list.

                                                                              + */ +export interface ClientCertificateRevocationListStatus { /** - *

                                                                              Information about the Capacity Reservation usage.

                                                                              + *

                                                                              The state of the client certificate revocation list.

                                                                              */ - InstanceUsages?: InstanceUsage[]; + Code?: ClientCertificateRevocationListStatusCode | string; /** - *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + *

                                                                              A message about the status of the client certificate revocation list, if applicable.

                                                                              */ - NextToken?: string; + Message?: string; } -export namespace GetCapacityReservationUsageResult { - export const filterSensitiveLog = (obj: GetCapacityReservationUsageResult): any => ({ +export namespace ClientCertificateRevocationListStatus { + export const filterSensitiveLog = (obj: ClientCertificateRevocationListStatus): any => ({ ...obj, }); } -export interface GetCoipPoolUsageRequest { +export interface ExportClientVpnClientCertificateRevocationListResult { /** - *

                                                                              The ID of the address pool.

                                                                              + *

                                                                              Information about the client certificate revocation list.

                                                                              */ - PoolId: string | undefined; + CertificateRevocationList?: string; /** - *

                                                                              The filters. The following are the possible values:

                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * coip-address-usage.allocation-id - *

                                                                                - *
                                                                              • - *
                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * coip-address-usage.aws-account-id - *

                                                                                - *
                                                                              • - *
                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * coip-address-usage.aws-service - *

                                                                                - *
                                                                              • - *
                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * coip-address-usage.co-ip - *

                                                                                - *
                                                                              • - *
                                                                              + *

                                                                              The current state of the client certificate revocation list.

                                                                              */ - Filters?: Filter[]; + Status?: ClientCertificateRevocationListStatus; +} - /** - *

                                                                              The token for the next page of results.

                                                                              - */ - NextToken?: string; +export namespace ExportClientVpnClientCertificateRevocationListResult { + export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListResult): any => ({ + ...obj, + }); +} +export interface ExportClientVpnClientConfigurationRequest { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; /** - *

                                                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + *

                                                                              The ID of the Client VPN endpoint.

                                                                              */ - MaxResults?: number; + ClientVpnEndpointId: string | undefined; } -export namespace GetCoipPoolUsageRequest { - export const filterSensitiveLog = (obj: GetCoipPoolUsageRequest): any => ({ +export namespace ExportClientVpnClientConfigurationRequest { + export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationRequest): any => ({ ...obj, }); } -/** - *

                                                                              Describes address usage for a customer-owned address pool.

                                                                              - */ -export interface CoipAddressUsage { - /** - *

                                                                              The AWS service.

                                                                              - */ - AwsService?: string; - +export interface ExportClientVpnClientConfigurationResult { /** - *

                                                                              The allocation ID of the address.

                                                                              + *

                                                                              The contents of the Client VPN endpoint configuration file.

                                                                              */ - AllocationId?: string; + ClientConfiguration?: string; +} + +export namespace ExportClientVpnClientConfigurationResult { + export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationResult): any => ({ + ...obj, + }); +} +/** + *

                                                                              Describes the destination for an export image task.

                                                                              + */ +export interface ExportTaskS3LocationRequest { /** - *

                                                                              The customer-owned IP address.

                                                                              + *

                                                                              The destination Amazon S3 bucket.

                                                                              */ - CoIp?: string; + S3Bucket: string | undefined; /** - *

                                                                              The AWS account ID.

                                                                              + *

                                                                              The prefix (logical hierarchy) in the bucket.

                                                                              */ - AwsAccountId?: string; + S3Prefix?: string; } -export namespace CoipAddressUsage { - export const filterSensitiveLog = (obj: CoipAddressUsage): any => ({ +export namespace ExportTaskS3LocationRequest { + export const filterSensitiveLog = (obj: ExportTaskS3LocationRequest): any => ({ ...obj, }); } -export interface GetCoipPoolUsageResult { +export interface ExportImageRequest { /** - *

                                                                              Information about the address usage.

                                                                              + *

                                                                              The disk image format.

                                                                              */ - CoipAddressUsages?: CoipAddressUsage[]; + DiskImageFormat: DiskImageFormat | string | undefined; /** - *

                                                                              The ID of the local gateway route table.

                                                                              + *

                                                                              Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE + * and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

                                                                              */ - LocalGatewayRouteTableId?: string; + S3ExportLocation: ExportTaskS3LocationRequest | undefined; /** - *

                                                                              The ID of the customer-owned address pool.

                                                                              + *

                                                                              Token to enable idempotency for export image requests.

                                                                              */ - CoipPoolId?: string; -} + ClientToken?: string; -export namespace GetCoipPoolUsageResult { - export const filterSensitiveLog = (obj: GetCoipPoolUsageResult): any => ({ - ...obj, - }); -} + /** + *

                                                                              The tags to apply to the image being exported.

                                                                              + */ + TagSpecifications?: TagSpecification[]; -export interface GetConsoleOutputRequest { /** - *

                                                                              When enabled, retrieves the latest console output for the instance.

                                                                              - *

                                                                              Default: disabled (false)

                                                                              + *

                                                                              The name of the role that grants VM Import/Export permission to export images to your Amazon + * S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

                                                                              */ - Latest?: boolean; + RoleName?: string; /** - *

                                                                              The ID of the instance.

                                                                              + *

                                                                              A description of the image being exported. The maximum length is 255 characters.

                                                                              */ - InstanceId: string | undefined; + Description?: string; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -8962,89 +9182,128 @@ export interface GetConsoleOutputRequest { * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; + + /** + *

                                                                              The ID of the image.

                                                                              + */ + ImageId: string | undefined; } -export namespace GetConsoleOutputRequest { - export const filterSensitiveLog = (obj: GetConsoleOutputRequest): any => ({ +export namespace ExportImageRequest { + export const filterSensitiveLog = (obj: ExportImageRequest): any => ({ ...obj, }); } -export interface GetConsoleOutputResult { +export interface ExportImageResult { /** - *

                                                                              The console output, base64-encoded. If you are using a command line tool, the tool - * decodes the output for you.

                                                                              + *

                                                                              The ID of the image.

                                                                              */ - Output?: string; + ImageId?: string; /** - *

                                                                              The ID of the instance.

                                                                              + *

                                                                              Any tags assigned to the image being exported.

                                                                              */ - InstanceId?: string; + Tags?: Tag[]; /** - *

                                                                              The time at which the output was last updated.

                                                                              + *

                                                                              The ID of the export image task.

                                                                              */ - Timestamp?: Date; -} + ExportImageTaskId?: string; -export namespace GetConsoleOutputResult { - export const filterSensitiveLog = (obj: GetConsoleOutputResult): any => ({ - ...obj, - }); -} + /** + *

                                                                              The disk image format for the exported image.

                                                                              + */ + DiskImageFormat?: DiskImageFormat | string; -export interface GetConsoleScreenshotRequest { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              Information about the destination Amazon S3 bucket.

                                                                              */ - DryRun?: boolean; + S3ExportLocation?: ExportTaskS3Location; /** - *

                                                                              The ID of the instance.

                                                                              + *

                                                                              The name of the role that grants VM Import/Export permission to export images to your Amazon + * S3 bucket.

                                                                              */ - InstanceId: string | undefined; + RoleName?: string; /** - *

                                                                              When set to true, acts as keystroke input and wakes up an instance that's - * in standby or "sleep" mode.

                                                                              + *

                                                                              The status message for the export image task.

                                                                              */ - WakeUp?: boolean; -} + StatusMessage?: string; -export namespace GetConsoleScreenshotRequest { - export const filterSensitiveLog = (obj: GetConsoleScreenshotRequest): any => ({ - ...obj, - }); -} + /** + *

                                                                              The status of the export image task. The possible values are active, completed, + * deleting, and deleted.

                                                                              + */ + Status?: string; -export interface GetConsoleScreenshotResult { /** - *

                                                                              The ID of the instance.

                                                                              + *

                                                                              A description of the image being exported.

                                                                              */ - InstanceId?: string; + Description?: string; /** - *

                                                                              The data that comprises the image.

                                                                              + *

                                                                              The percent complete of the export image task.

                                                                              */ - ImageData?: string; + Progress?: string; } -export namespace GetConsoleScreenshotResult { - export const filterSensitiveLog = (obj: GetConsoleScreenshotResult): any => ({ +export namespace ExportImageResult { + export const filterSensitiveLog = (obj: ExportImageResult): any => ({ ...obj, }); } -export type UnlimitedSupportedInstanceFamily = "t2" | "t3" | "t3a"; +export interface ExportTransitGatewayRoutesRequest { + /** + *

                                                                              The ID of the route table.

                                                                              + */ + TransitGatewayRouteTableId: string | undefined; -export interface GetDefaultCreditSpecificationRequest { /** - *

                                                                              The instance family.

                                                                              + *

                                                                              One or more filters. The possible values are:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * attachment.resource-id - The resource id of the transit gateway attachment.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * route-search.exact-match - The exact match of the specified filter.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * route-search.longest-prefix-match - The longest prefix that matches the route.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * state - The state of the route (active | blackhole).

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * transit-gateway-route-destination-cidr-block - The CIDR range.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * type - The type of route (propagated | + * static).

                                                                                + *
                                                                              • + *
                                                                              */ - InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; + Filters?: Filter[]; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -9052,309 +9311,348 @@ export interface GetDefaultCreditSpecificationRequest { * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; + + /** + *

                                                                              The name of the S3 bucket.

                                                                              + */ + S3Bucket: string | undefined; } -export namespace GetDefaultCreditSpecificationRequest { - export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationRequest): any => ({ +export namespace ExportTransitGatewayRoutesRequest { + export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesRequest): any => ({ ...obj, }); } -/** - *

                                                                              Describes the default credit option for CPU usage of a burstable performance instance family.

                                                                              - */ -export interface InstanceFamilyCreditSpecification { - /** - *

                                                                              The instance family.

                                                                              - */ - InstanceFamily?: UnlimitedSupportedInstanceFamily | string; - +export interface ExportTransitGatewayRoutesResult { /** - *

                                                                              The default credit option for CPU usage of the instance family. Valid values are standard and unlimited.

                                                                              + *

                                                                              The URL of the exported file in Amazon S3. For example, + * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

                                                                              */ - CpuCredits?: string; + S3Location?: string; } -export namespace InstanceFamilyCreditSpecification { - export const filterSensitiveLog = (obj: InstanceFamilyCreditSpecification): any => ({ +export namespace ExportTransitGatewayRoutesResult { + export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesResult): any => ({ ...obj, }); } -export interface GetDefaultCreditSpecificationResult { +export interface GetAssociatedIpv6PoolCidrsRequest { /** - *

                                                                              The default credit option for CPU usage of the instance family.

                                                                              + *

                                                                              The ID of the IPv6 address pool.

                                                                              */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; -} + PoolId: string | undefined; -export namespace GetDefaultCreditSpecificationResult { - export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationResult): any => ({ - ...obj, - }); -} + /** + *

                                                                              The token for the next page of results.

                                                                              + */ + NextToken?: string; -export interface GetEbsDefaultKmsKeyIdRequest { /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; -} - -export namespace GetEbsDefaultKmsKeyIdRequest { - export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdRequest): any => ({ - ...obj, - }); -} -export interface GetEbsDefaultKmsKeyIdResult { /** - *

                                                                              The Amazon Resource Name (ARN) of the default CMK for encryption by default.

                                                                              + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              */ - KmsKeyId?: string; + MaxResults?: number; } -export namespace GetEbsDefaultKmsKeyIdResult { - export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdResult): any => ({ +export namespace GetAssociatedIpv6PoolCidrsRequest { + export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsRequest): any => ({ ...obj, }); } -export interface GetEbsEncryptionByDefaultRequest { +/** + *

                                                                              Describes an IPv6 CIDR block association.

                                                                              + */ +export interface Ipv6CidrAssociation { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The resource that's associated with the IPv6 CIDR block.

                                                                              + */ + AssociatedResource?: string; + + /** + *

                                                                              The IPv6 CIDR block.

                                                                              */ - DryRun?: boolean; + Ipv6Cidr?: string; } -export namespace GetEbsEncryptionByDefaultRequest { - export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultRequest): any => ({ +export namespace Ipv6CidrAssociation { + export const filterSensitiveLog = (obj: Ipv6CidrAssociation): any => ({ ...obj, }); } -export interface GetEbsEncryptionByDefaultResult { +export interface GetAssociatedIpv6PoolCidrsResult { /** - *

                                                                              Indicates whether encryption by default is enabled.

                                                                              + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              */ - EbsEncryptionByDefault?: boolean; + NextToken?: string; + + /** + *

                                                                              Information about the IPv6 CIDR block associations.

                                                                              + */ + Ipv6CidrAssociations?: Ipv6CidrAssociation[]; } -export namespace GetEbsEncryptionByDefaultResult { - export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultResult): any => ({ +export namespace GetAssociatedIpv6PoolCidrsResult { + export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsResult): any => ({ ...obj, }); } -export interface GetGroupsForCapacityReservationRequest { +export interface GetCapacityReservationUsageRequest { /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; /** - *

                                                                              The token to use to retrieve the next page of results.

                                                                              + *

                                                                              The ID of the Capacity Reservation.

                                                                              */ - NextToken?: string; + CapacityReservationId: string | undefined; /** *

                                                                              The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                                                              + *

                                                                              Valid range: Minimum value of 1. Maximum value of 1000.

                                                                              */ MaxResults?: number; /** - *

                                                                              The ID of the Capacity Reservation.

                                                                              + *

                                                                              The token to use to retrieve the next page of results.

                                                                              */ - CapacityReservationId: string | undefined; + NextToken?: string; } -export namespace GetGroupsForCapacityReservationRequest { - export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationRequest): any => ({ +export namespace GetCapacityReservationUsageRequest { + export const filterSensitiveLog = (obj: GetCapacityReservationUsageRequest): any => ({ ...obj, }); } /** - *

                                                                              Describes a resource group to which a Capacity Reservation has been added.

                                                                              + *

                                                                              Information about the Capacity Reservation usage.

                                                                              */ -export interface CapacityReservationGroup { +export interface InstanceUsage { /** - *

                                                                              The ARN of the resource group.

                                                                              + *

                                                                              The ID of the AWS account that is making use of the Capacity Reservation.

                                                                              */ - GroupArn?: string; + AccountId?: string; /** - *

                                                                              The ID of the AWS account that owns the resource group.

                                                                              + *

                                                                              The number of instances the AWS account currently has in the Capacity Reservation.

                                                                              */ - OwnerId?: string; + UsedInstanceCount?: number; } -export namespace CapacityReservationGroup { - export const filterSensitiveLog = (obj: CapacityReservationGroup): any => ({ +export namespace InstanceUsage { + export const filterSensitiveLog = (obj: InstanceUsage): any => ({ ...obj, }); } -export interface GetGroupsForCapacityReservationResult { +export interface GetCapacityReservationUsageResult { /** - *

                                                                              Information about the resource groups to which the Capacity Reservation has been added.

                                                                              + *

                                                                              Information about the Capacity Reservation usage.

                                                                              */ - CapacityReservationGroups?: CapacityReservationGroup[]; + InstanceUsages?: InstanceUsage[]; /** - *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + *

                                                                              The ID of the Capacity Reservation.

                                                                              */ - NextToken?: string; -} - -export namespace GetGroupsForCapacityReservationResult { - export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationResult): any => ({ - ...obj, - }); -} + CapacityReservationId?: string; -export interface GetHostReservationPurchasePreviewRequest { /** - *

                                                                              The IDs of the Dedicated Hosts with which the reservation is associated.

                                                                              + *

                                                                              The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

                                                                              */ - HostIdSet: string[] | undefined; + AvailableInstanceCount?: number; /** - *

                                                                              The offering ID of the reservation.

                                                                              + *

                                                                              The number of instances for which the Capacity Reservation reserves capacity.

                                                                              */ - OfferingId: string | undefined; -} - -export namespace GetHostReservationPurchasePreviewRequest { - export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewRequest): any => ({ - ...obj, - }); -} + TotalInstanceCount?: number; -/** - *

                                                                              Describes the result of the purchase.

                                                                              - */ -export interface Purchase { /** - *

                                                                              The payment option for the reservation.

                                                                              + *

                                                                              The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * active - The Capacity Reservation is active and the capacity is available for your use.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * expired - The Capacity Reservation expired automatically at the date and time specified + * in your request. The reserved capacity is no longer available for your use.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * cancelled - The Capacity Reservation was manually cancelled. The reserved capacity is no + * longer available for your use.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * pending - The Capacity Reservation request was successful but the capacity + * provisioning is still pending.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * failed - The Capacity Reservation request has failed. A request might fail + * due to invalid request parameters, capacity constraints, or instance limit constraints. + * Failed requests are retained for 60 minutes.

                                                                                + *
                                                                              • + *
                                                                              */ - PaymentOption?: PaymentOption | string; + State?: CapacityReservationState | string; /** - *

                                                                              The ID of the reservation.

                                                                              + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              */ - HostReservationId?: string; + NextToken?: string; /** - *

                                                                              The instance family on the Dedicated Host that the reservation can be associated - * with.

                                                                              + *

                                                                              The type of instance for which the Capacity Reservation reserves capacity.

                                                                              */ - InstanceFamily?: string; + InstanceType?: string; +} + +export namespace GetCapacityReservationUsageResult { + export const filterSensitiveLog = (obj: GetCapacityReservationUsageResult): any => ({ + ...obj, + }); +} +export interface GetCoipPoolUsageRequest { /** - *

                                                                              The IDs of the Dedicated Hosts associated with the reservation.

                                                                              + *

                                                                              The ID of the address pool.

                                                                              */ - HostIdSet?: string[]; + PoolId: string | undefined; /** - *

                                                                              The currency in which the UpfrontPrice and HourlyPrice - * amounts are specified. At this time, the only supported currency is - * USD.

                                                                              + *

                                                                              The filters. The following are the possible values:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * coip-address-usage.allocation-id + *

                                                                                + *
                                                                              • + *
                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * coip-address-usage.aws-account-id + *

                                                                                + *
                                                                              • + *
                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * coip-address-usage.aws-service + *

                                                                                + *
                                                                              • + *
                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * coip-address-usage.co-ip + *

                                                                                + *
                                                                              • + *
                                                                              */ - CurrencyCode?: CurrencyCodeValues | string; + Filters?: Filter[]; /** - *

                                                                              The hourly price of the reservation per hour.

                                                                              + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              */ - HourlyPrice?: string; + MaxResults?: number; /** - *

                                                                              The duration of the reservation's term in seconds.

                                                                              + *

                                                                              The token for the next page of results.

                                                                              */ - Duration?: number; + NextToken?: string; /** - *

                                                                              The upfront price of the reservation.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - UpfrontPrice?: string; + DryRun?: boolean; } -export namespace Purchase { - export const filterSensitiveLog = (obj: Purchase): any => ({ +export namespace GetCoipPoolUsageRequest { + export const filterSensitiveLog = (obj: GetCoipPoolUsageRequest): any => ({ ...obj, }); } -export interface GetHostReservationPurchasePreviewResult { +/** + *

                                                                              Describes address usage for a customer-owned address pool.

                                                                              + */ +export interface CoipAddressUsage { /** - *

                                                                              The currency in which the totalUpfrontPrice and - * totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

                                                                              + *

                                                                              The AWS service.

                                                                              */ - CurrencyCode?: CurrencyCodeValues | string; + AwsService?: string; /** - *

                                                                              The potential total hourly price of the reservation per hour.

                                                                              + *

                                                                              The customer-owned IP address.

                                                                              */ - TotalHourlyPrice?: string; + CoIp?: string; /** - *

                                                                              The purchase information of the Dedicated Host reservation and the Dedicated Hosts - * associated with it.

                                                                              + *

                                                                              The AWS account ID.

                                                                              */ - Purchase?: Purchase[]; + AwsAccountId?: string; /** - *

                                                                              The potential total upfront price. This is billed immediately.

                                                                              + *

                                                                              The allocation ID of the address.

                                                                              */ - TotalUpfrontPrice?: string; + AllocationId?: string; } -export namespace GetHostReservationPurchasePreviewResult { - export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewResult): any => ({ +export namespace CoipAddressUsage { + export const filterSensitiveLog = (obj: CoipAddressUsage): any => ({ ...obj, }); } -export interface GetLaunchTemplateDataRequest { +export interface GetCoipPoolUsageResult { /** - *

                                                                              The ID of the instance.

                                                                              + *

                                                                              The ID of the customer-owned address pool.

                                                                              */ - InstanceId: string | undefined; + CoipPoolId?: string; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the local gateway route table.

                                                                              */ - DryRun?: boolean; -} - -export namespace GetLaunchTemplateDataRequest { - export const filterSensitiveLog = (obj: GetLaunchTemplateDataRequest): any => ({ - ...obj, - }); -} + LocalGatewayRouteTableId?: string; -export interface GetLaunchTemplateDataResult { /** - *

                                                                              The instance data.

                                                                              + *

                                                                              Information about the address usage.

                                                                              */ - LaunchTemplateData?: ResponseLaunchTemplateData; + CoipAddressUsages?: CoipAddressUsage[]; } -export namespace GetLaunchTemplateDataResult { - export const filterSensitiveLog = (obj: GetLaunchTemplateDataResult): any => ({ +export namespace GetCoipPoolUsageResult { + export const filterSensitiveLog = (obj: GetCoipPoolUsageResult): any => ({ ...obj, }); } -export interface GetManagedPrefixListAssociationsRequest { +export interface GetConsoleOutputRequest { + /** + *

                                                                              When enabled, retrieves the latest console output for the instance.

                                                                              + *

                                                                              Default: disabled (false)

                                                                              + */ + Latest?: boolean; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -9363,88 +9661,92 @@ export interface GetManagedPrefixListAssociationsRequest { DryRun?: boolean; /** - *

                                                                              The token for the next page of results.

                                                                              - */ - NextToken?: string; - - /** - *

                                                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              - */ - MaxResults?: number; - - /** - *

                                                                              The ID of the prefix list.

                                                                              + *

                                                                              The ID of the instance.

                                                                              */ - PrefixListId: string | undefined; + InstanceId: string | undefined; } -export namespace GetManagedPrefixListAssociationsRequest { - export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsRequest): any => ({ +export namespace GetConsoleOutputRequest { + export const filterSensitiveLog = (obj: GetConsoleOutputRequest): any => ({ ...obj, }); } -/** - *

                                                                              Describes the resource with which a prefix list is associated.

                                                                              - */ -export interface PrefixListAssociation { +export interface GetConsoleOutputResult { /** - *

                                                                              The owner of the resource.

                                                                              + *

                                                                              The time at which the output was last updated.

                                                                              */ - ResourceOwner?: string; + Timestamp?: Date; /** - *

                                                                              The ID of the resource.

                                                                              + *

                                                                              The ID of the instance.

                                                                              */ - ResourceId?: string; + InstanceId?: string; + + /** + *

                                                                              The console output, base64-encoded. If you are using a command line tool, the tool + * decodes the output for you.

                                                                              + */ + Output?: string; } -export namespace PrefixListAssociation { - export const filterSensitiveLog = (obj: PrefixListAssociation): any => ({ +export namespace GetConsoleOutputResult { + export const filterSensitiveLog = (obj: GetConsoleOutputResult): any => ({ ...obj, }); } -export interface GetManagedPrefixListAssociationsResult { +export interface GetConsoleScreenshotRequest { /** - *

                                                                              Information about the associations.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - PrefixListAssociations?: PrefixListAssociation[]; + DryRun?: boolean; /** - *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + *

                                                                              When set to true, acts as keystroke input and wakes up an instance that's + * in standby or "sleep" mode.

                                                                              */ - NextToken?: string; + WakeUp?: boolean; + + /** + *

                                                                              The ID of the instance.

                                                                              + */ + InstanceId: string | undefined; } -export namespace GetManagedPrefixListAssociationsResult { - export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsResult): any => ({ +export namespace GetConsoleScreenshotRequest { + export const filterSensitiveLog = (obj: GetConsoleScreenshotRequest): any => ({ ...obj, }); } -export interface GetManagedPrefixListEntriesRequest { +export interface GetConsoleScreenshotResult { /** - *

                                                                              The version of the prefix list for which to return the entries. The default is the current version.

                                                                              + *

                                                                              The data that comprises the image.

                                                                              */ - TargetVersion?: number; + ImageData?: string; /** - *

                                                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + *

                                                                              The ID of the instance.

                                                                              */ - MaxResults?: number; + InstanceId?: string; +} - /** - *

                                                                              The token for the next page of results.

                                                                              - */ - NextToken?: string; +export namespace GetConsoleScreenshotResult { + export const filterSensitiveLog = (obj: GetConsoleScreenshotResult): any => ({ + ...obj, + }); +} +export type UnlimitedSupportedInstanceFamily = "t2" | "t3" | "t3a" | "t4g"; + +export interface GetDefaultCreditSpecificationRequest { /** - *

                                                                              The ID of the prefix list.

                                                                              + *

                                                                              The instance family.

                                                                              */ - PrefixListId: string | undefined; + InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -9454,57 +9756,47 @@ export interface GetManagedPrefixListEntriesRequest { DryRun?: boolean; } -export namespace GetManagedPrefixListEntriesRequest { - export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesRequest): any => ({ +export namespace GetDefaultCreditSpecificationRequest { + export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationRequest): any => ({ ...obj, }); } /** - *

                                                                              Describes a prefix list entry.

                                                                              + *

                                                                              Describes the default credit option for CPU usage of a burstable performance instance family.

                                                                              */ -export interface PrefixListEntry { +export interface InstanceFamilyCreditSpecification { /** - *

                                                                              The CIDR block.

                                                                              + *

                                                                              The instance family.

                                                                              */ - Cidr?: string; + InstanceFamily?: UnlimitedSupportedInstanceFamily | string; /** - *

                                                                              The description.

                                                                              + *

                                                                              The default credit option for CPU usage of the instance family. Valid values are standard and unlimited.

                                                                              */ - Description?: string; + CpuCredits?: string; } -export namespace PrefixListEntry { - export const filterSensitiveLog = (obj: PrefixListEntry): any => ({ +export namespace InstanceFamilyCreditSpecification { + export const filterSensitiveLog = (obj: InstanceFamilyCreditSpecification): any => ({ ...obj, }); } -export interface GetManagedPrefixListEntriesResult { - /** - *

                                                                              Information about the prefix list entries.

                                                                              - */ - Entries?: PrefixListEntry[]; - +export interface GetDefaultCreditSpecificationResult { /** - *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + *

                                                                              The default credit option for CPU usage of the instance family.

                                                                              */ - NextToken?: string; + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; } -export namespace GetManagedPrefixListEntriesResult { - export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesResult): any => ({ +export namespace GetDefaultCreditSpecificationResult { + export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationResult): any => ({ ...obj, }); } -export interface GetPasswordDataRequest { - /** - *

                                                                              The ID of the Windows instance.

                                                                              - */ - InstanceId: string | undefined; - +export interface GetEbsDefaultKmsKeyIdRequest { /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -9513,309 +9805,262 @@ export interface GetPasswordDataRequest { DryRun?: boolean; } -export namespace GetPasswordDataRequest { - export const filterSensitiveLog = (obj: GetPasswordDataRequest): any => ({ +export namespace GetEbsDefaultKmsKeyIdRequest { + export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdRequest): any => ({ ...obj, }); } -export interface GetPasswordDataResult { - /** - *

                                                                              The ID of the Windows instance.

                                                                              - */ - InstanceId?: string; - - /** - *

                                                                              The time the data was last updated.

                                                                              - */ - Timestamp?: Date; - +export interface GetEbsDefaultKmsKeyIdResult { /** - *

                                                                              The password of the instance. Returns an empty string if the password is not - * available.

                                                                              + *

                                                                              The Amazon Resource Name (ARN) of the default CMK for encryption by default.

                                                                              */ - PasswordData?: string; + KmsKeyId?: string; } -export namespace GetPasswordDataResult { - export const filterSensitiveLog = (obj: GetPasswordDataResult): any => ({ +export namespace GetEbsDefaultKmsKeyIdResult { + export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdResult): any => ({ ...obj, }); } -/** - *

                                                                              Contains the parameters for GetReservedInstanceExchangeQuote.

                                                                              - */ -export interface GetReservedInstancesExchangeQuoteRequest { +export interface GetEbsEncryptionByDefaultRequest { /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; +} - /** - *

                                                                              The configuration of the target Convertible Reserved Instance to exchange for your - * current Convertible Reserved Instances.

                                                                              - */ - TargetConfigurations?: TargetConfigurationRequest[]; +export namespace GetEbsEncryptionByDefaultRequest { + export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultRequest): any => ({ + ...obj, + }); +} +export interface GetEbsEncryptionByDefaultResult { /** - *

                                                                              The IDs of the Convertible Reserved Instances to exchange.

                                                                              + *

                                                                              Indicates whether encryption by default is enabled.

                                                                              */ - ReservedInstanceIds: string[] | undefined; + EbsEncryptionByDefault?: boolean; } -export namespace GetReservedInstancesExchangeQuoteRequest { - export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteRequest): any => ({ +export namespace GetEbsEncryptionByDefaultResult { + export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultResult): any => ({ ...obj, }); } -/** - *

                                                                              The cost associated with the Reserved Instance.

                                                                              - */ -export interface ReservationValue { +export interface GetGroupsForCapacityReservationRequest { /** - *

                                                                              The hourly rate of the reservation.

                                                                              + *

                                                                              The ID of the Capacity Reservation.

                                                                              */ - HourlyPrice?: string; + CapacityReservationId: string | undefined; /** - *

                                                                              The remaining upfront cost of the reservation.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              */ - RemainingUpfrontValue?: string; + DryRun?: boolean; /** - *

                                                                              The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

                                                                              + *

                                                                              The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                                                              */ - RemainingTotalValue?: string; + MaxResults?: number; + + /** + *

                                                                              The token to use to retrieve the next page of results.

                                                                              + */ + NextToken?: string; } -export namespace ReservationValue { - export const filterSensitiveLog = (obj: ReservationValue): any => ({ +export namespace GetGroupsForCapacityReservationRequest { + export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationRequest): any => ({ ...obj, }); } /** - *

                                                                              The total value of the Convertible Reserved Instance.

                                                                              + *

                                                                              Describes a resource group to which a Capacity Reservation has been added.

                                                                              */ -export interface ReservedInstanceReservationValue { +export interface CapacityReservationGroup { /** - *

                                                                              The ID of the Convertible Reserved Instance that you are exchanging.

                                                                              + *

                                                                              The ID of the AWS account that owns the resource group.

                                                                              */ - ReservedInstanceId?: string; + OwnerId?: string; /** - *

                                                                              The total value of the Convertible Reserved Instance that you are exchanging.

                                                                              + *

                                                                              The ARN of the resource group.

                                                                              */ - ReservationValue?: ReservationValue; + GroupArn?: string; } -export namespace ReservedInstanceReservationValue { - export const filterSensitiveLog = (obj: ReservedInstanceReservationValue): any => ({ +export namespace CapacityReservationGroup { + export const filterSensitiveLog = (obj: CapacityReservationGroup): any => ({ ...obj, }); } -/** - *

                                                                              Information about the Convertible Reserved Instance offering.

                                                                              - */ -export interface TargetConfiguration { +export interface GetGroupsForCapacityReservationResult { /** - *

                                                                              The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is - * reserved and cannot be specified in a request

                                                                              + *

                                                                              Information about the resource groups to which the Capacity Reservation has been added.

                                                                              */ - InstanceCount?: number; + CapacityReservationGroups?: CapacityReservationGroup[]; /** - *

                                                                              The ID of the Convertible Reserved Instance offering.

                                                                              + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              */ - OfferingId?: string; + NextToken?: string; } -export namespace TargetConfiguration { - export const filterSensitiveLog = (obj: TargetConfiguration): any => ({ +export namespace GetGroupsForCapacityReservationResult { + export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationResult): any => ({ ...obj, }); -} - -/** - *

                                                                              The total value of the new Convertible Reserved Instances.

                                                                              - */ -export interface TargetReservationValue { +} + +export interface GetHostReservationPurchasePreviewRequest { /** - *

                                                                              The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of - * the list value, remaining upfront price, and additional upfront cost of the exchange.

                                                                              + *

                                                                              The IDs of the Dedicated Hosts with which the reservation is associated.

                                                                              */ - ReservationValue?: ReservationValue; + HostIdSet: string[] | undefined; /** - *

                                                                              The configuration of the Convertible Reserved Instances that make up the exchange.

                                                                              + *

                                                                              The offering ID of the reservation.

                                                                              */ - TargetConfiguration?: TargetConfiguration; + OfferingId: string | undefined; } -export namespace TargetReservationValue { - export const filterSensitiveLog = (obj: TargetReservationValue): any => ({ +export namespace GetHostReservationPurchasePreviewRequest { + export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewRequest): any => ({ ...obj, }); } /** - *

                                                                              Contains the output of GetReservedInstancesExchangeQuote.

                                                                              + *

                                                                              Describes the result of the purchase.

                                                                              */ -export interface GetReservedInstancesExchangeQuoteResult { - /** - *

                                                                              If true, the exchange is valid. If false, the exchange cannot be completed.

                                                                              - */ - IsValidExchange?: boolean; - +export interface Purchase { /** - *

                                                                              The configuration of your Convertible Reserved Instances.

                                                                              + *

                                                                              The currency in which the UpfrontPrice and HourlyPrice + * amounts are specified. At this time, the only supported currency is + * USD.

                                                                              */ - ReservedInstanceValueSet?: ReservedInstanceReservationValue[]; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                                              The values of the target Convertible Reserved Instances.

                                                                              + *

                                                                              The ID of the reservation.

                                                                              */ - TargetConfigurationValueSet?: TargetReservationValue[]; + HostReservationId?: string; /** - *

                                                                              The new end date of the reservation term.

                                                                              + *

                                                                              The duration of the reservation's term in seconds.

                                                                              */ - OutputReservedInstancesWillExpireAt?: Date; + Duration?: number; /** - *

                                                                              The cost associated with the Reserved Instance.

                                                                              + *

                                                                              The upfront price of the reservation.

                                                                              */ - TargetConfigurationValueRollup?: ReservationValue; + UpfrontPrice?: string; /** - *

                                                                              Describes the reason why the exchange cannot be completed.

                                                                              + *

                                                                              The hourly price of the reservation per hour.

                                                                              */ - ValidationFailureReason?: string; + HourlyPrice?: string; /** - *

                                                                              The cost associated with the Reserved Instance.

                                                                              + *

                                                                              The IDs of the Dedicated Hosts associated with the reservation.

                                                                              */ - ReservedInstanceValueRollup?: ReservationValue; + HostIdSet?: string[]; /** - *

                                                                              The currency of the transaction.

                                                                              + *

                                                                              The payment option for the reservation.

                                                                              */ - CurrencyCode?: string; + PaymentOption?: PaymentOption | string; /** - *

                                                                              The total true upfront charge for the exchange.

                                                                              + *

                                                                              The instance family on the Dedicated Host that the reservation can be associated + * with.

                                                                              */ - PaymentDue?: string; + InstanceFamily?: string; } -export namespace GetReservedInstancesExchangeQuoteResult { - export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteResult): any => ({ +export namespace Purchase { + export const filterSensitiveLog = (obj: Purchase): any => ({ ...obj, }); } -export interface GetTransitGatewayAttachmentPropagationsRequest { - /** - *

                                                                              The ID of the attachment.

                                                                              - */ - TransitGatewayAttachmentId: string | undefined; - +export interface GetHostReservationPurchasePreviewResult { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The potential total hourly price of the reservation per hour.

                                                                              */ - DryRun?: boolean; + TotalHourlyPrice?: string; /** - *

                                                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + *

                                                                              The potential total upfront price. This is billed immediately.

                                                                              */ - MaxResults?: number; + TotalUpfrontPrice?: string; /** - *

                                                                              The token for the next page of results.

                                                                              + *

                                                                              The purchase information of the Dedicated Host reservation and the Dedicated Hosts + * associated with it.

                                                                              */ - NextToken?: string; + Purchase?: Purchase[]; /** - *

                                                                              One or more filters. The possible values are:

                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * transit-gateway-route-table-id - The ID of the transit gateway route table.

                                                                                - *
                                                                              • - *
                                                                              + *

                                                                              The currency in which the totalUpfrontPrice and + * totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

                                                                              */ - Filters?: Filter[]; + CurrencyCode?: CurrencyCodeValues | string; } -export namespace GetTransitGatewayAttachmentPropagationsRequest { - export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsRequest): any => ({ +export namespace GetHostReservationPurchasePreviewResult { + export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewResult): any => ({ ...obj, }); } -/** - *

                                                                              Describes a propagation route table.

                                                                              - */ -export interface TransitGatewayAttachmentPropagation { +export interface GetLaunchTemplateDataRequest { /** - *

                                                                              The ID of the propagation route table.

                                                                              + *

                                                                              The ID of the instance.

                                                                              */ - TransitGatewayRouteTableId?: string; + InstanceId: string | undefined; /** - *

                                                                              The state of the propagation route table.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                                              */ - State?: TransitGatewayPropagationState | string; + DryRun?: boolean; } -export namespace TransitGatewayAttachmentPropagation { - export const filterSensitiveLog = (obj: TransitGatewayAttachmentPropagation): any => ({ +export namespace GetLaunchTemplateDataRequest { + export const filterSensitiveLog = (obj: GetLaunchTemplateDataRequest): any => ({ ...obj, }); } -export interface GetTransitGatewayAttachmentPropagationsResult { - /** - *

                                                                              Information about the propagation route tables.

                                                                              - */ - TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[]; - +export interface GetLaunchTemplateDataResult { /** - *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + *

                                                                              The instance data.

                                                                              */ - NextToken?: string; + LaunchTemplateData?: ResponseLaunchTemplateData; } -export namespace GetTransitGatewayAttachmentPropagationsResult { - export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsResult): any => ({ +export namespace GetLaunchTemplateDataResult { + export const filterSensitiveLog = (obj: GetLaunchTemplateDataResult): any => ({ ...obj, }); } -export interface GetTransitGatewayMulticastDomainAssociationsRequest { - /** - *

                                                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              - */ - MaxResults?: number; - - /** - *

                                                                              The ID of the transit gateway multicast domain.

                                                                              - */ - TransitGatewayMulticastDomainId?: string; - +export interface GetManagedPrefixListAssociationsRequest { /** - *

                                                                              The token for the next page of results.

                                                                              + *

                                                                              The ID of the prefix list.

                                                                              */ - NextToken?: string; + PrefixListId: string | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -9825,79 +10070,49 @@ export interface GetTransitGatewayMulticastDomainAssociationsRequest { DryRun?: boolean; /** - *

                                                                              One or more filters. The possible values are:

                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * resource-id - The ID of the resource.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * resource-type - The type of resource. The valid value is: vpc.

                                                                                - *
                                                                              • - *
                                                                              • - * - *

                                                                                - * state - The state of the subnet association. Valid values are - * associated | - * associating - * | disassociated | disassociating.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * subnet-id - The ID of the subnet.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                                                - *
                                                                              • - *
                                                                              + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              */ - Filters?: Filter[]; + MaxResults?: number; + + /** + *

                                                                              The token for the next page of results.

                                                                              + */ + NextToken?: string; } -export namespace GetTransitGatewayMulticastDomainAssociationsRequest { - export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsRequest): any => ({ +export namespace GetManagedPrefixListAssociationsRequest { + export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsRequest): any => ({ ...obj, }); } /** - *

                                                                              Describes the resources associated with the transit gateway multicast domain.

                                                                              + *

                                                                              Describes the resource with which a prefix list is associated.

                                                                              */ -export interface TransitGatewayMulticastDomainAssociation { - /** - *

                                                                              The ID of the resource.

                                                                              - */ - ResourceId?: string; - - /** - *

                                                                              The subnet associated with the transit gateway multicast domain.

                                                                              - */ - Subnet?: SubnetAssociation; - +export interface PrefixListAssociation { /** - *

                                                                              The type of resource, for example a VPC attachment.

                                                                              + *

                                                                              The owner of the resource.

                                                                              */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + ResourceOwner?: string; /** - *

                                                                              The ID of the transit gateway attachment.

                                                                              + *

                                                                              The ID of the resource.

                                                                              */ - TransitGatewayAttachmentId?: string; + ResourceId?: string; } -export namespace TransitGatewayMulticastDomainAssociation { - export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainAssociation): any => ({ +export namespace PrefixListAssociation { + export const filterSensitiveLog = (obj: PrefixListAssociation): any => ({ ...obj, }); } -export interface GetTransitGatewayMulticastDomainAssociationsResult { +export interface GetManagedPrefixListAssociationsResult { /** - *

                                                                              Information about the multicast domain associations.

                                                                              + *

                                                                              Information about the associations.

                                                                              */ - MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[]; + PrefixListAssociations?: PrefixListAssociation[]; /** *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              @@ -9905,42 +10120,22 @@ export interface GetTransitGatewayMulticastDomainAssociationsResult { NextToken?: string; } -export namespace GetTransitGatewayMulticastDomainAssociationsResult { - export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsResult): any => ({ +export namespace GetManagedPrefixListAssociationsResult { + export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsResult): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTableAssociationsRequest { - /** - *

                                                                              One or more filters. The possible values are:

                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * resource-id - The ID of the resource.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * resource-type - The resource type (vpc | vpn).

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * transit-gateway-attachment-id - The ID of the attachment.

                                                                                - *
                                                                              • - *
                                                                              - */ - Filters?: Filter[]; - +export interface GetManagedPrefixListEntriesRequest { /** - *

                                                                              The ID of the transit gateway route table.

                                                                              + *

                                                                              The version of the prefix list for which to return the entries. The default is the current version.

                                                                              */ - TransitGatewayRouteTableId: string | undefined; + TargetVersion?: number; /** - *

                                                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + *

                                                                              The ID of the prefix list.

                                                                              */ - MaxResults?: number; + PrefixListId: string | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -9953,74 +10148,64 @@ export interface GetTransitGatewayRouteTableAssociationsRequest { *

                                                                              The token for the next page of results.

                                                                              */ NextToken?: string; + + /** + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + */ + MaxResults?: number; } -export namespace GetTransitGatewayRouteTableAssociationsRequest { - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsRequest): any => ({ +export namespace GetManagedPrefixListEntriesRequest { + export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesRequest): any => ({ ...obj, }); } -/** - *

                                                                              Describes an association between a route table and a resource attachment.

                                                                              - */ -export interface TransitGatewayRouteTableAssociation { - /** - *

                                                                              The ID of the resource.

                                                                              - */ - ResourceId?: string; - - /** - *

                                                                              The ID of the attachment.

                                                                              - */ - TransitGatewayAttachmentId?: string; - +/** + *

                                                                              Describes a prefix list entry.

                                                                              + */ +export interface PrefixListEntry { /** - *

                                                                              The state of the association.

                                                                              + *

                                                                              The description.

                                                                              */ - State?: TransitGatewayAssociationState | string; + Description?: string; /** - *

                                                                              The resource type.

                                                                              + *

                                                                              The CIDR block.

                                                                              */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + Cidr?: string; } -export namespace TransitGatewayRouteTableAssociation { - export const filterSensitiveLog = (obj: TransitGatewayRouteTableAssociation): any => ({ +export namespace PrefixListEntry { + export const filterSensitiveLog = (obj: PrefixListEntry): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTableAssociationsResult { +export interface GetManagedPrefixListEntriesResult { /** *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              */ NextToken?: string; /** - *

                                                                              Information about the associations.

                                                                              + *

                                                                              Information about the prefix list entries.

                                                                              */ - Associations?: TransitGatewayRouteTableAssociation[]; + Entries?: PrefixListEntry[]; } -export namespace GetTransitGatewayRouteTableAssociationsResult { - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsResult): any => ({ +export namespace GetManagedPrefixListEntriesResult { + export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesResult): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTablePropagationsRequest { - /** - *

                                                                              The ID of the transit gateway route table.

                                                                              - */ - TransitGatewayRouteTableId: string | undefined; - +export interface GetPasswordDataRequest { /** - *

                                                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + *

                                                                              The ID of the Windows instance.

                                                                              */ - MaxResults?: number; + InstanceId: string | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -10028,292 +10213,230 @@ export interface GetTransitGatewayRouteTablePropagationsRequest { * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; - - /** - *

                                                                              The token for the next page of results.

                                                                              - */ - NextToken?: string; - - /** - *

                                                                              One or more filters. The possible values are:

                                                                              - *
                                                                                - *
                                                                              • - *

                                                                                - * resource-id - The ID of the resource.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * resource-type - The resource type (vpc | vpn).

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                - * transit-gateway-attachment-id - The ID of the attachment.

                                                                                - *
                                                                              • - *
                                                                              - */ - Filters?: Filter[]; } -export namespace GetTransitGatewayRouteTablePropagationsRequest { - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsRequest): any => ({ +export namespace GetPasswordDataRequest { + export const filterSensitiveLog = (obj: GetPasswordDataRequest): any => ({ ...obj, }); } -/** - *

                                                                              Describes a route table propagation.

                                                                              - */ -export interface TransitGatewayRouteTablePropagation { - /** - *

                                                                              The type of resource.

                                                                              - */ - ResourceType?: TransitGatewayAttachmentResourceType | string; - +export interface GetPasswordDataResult { /** - *

                                                                              The ID of the resource.

                                                                              + *

                                                                              The time the data was last updated.

                                                                              */ - ResourceId?: string; + Timestamp?: Date; /** - *

                                                                              The ID of the attachment.

                                                                              + *

                                                                              The ID of the Windows instance.

                                                                              */ - TransitGatewayAttachmentId?: string; + InstanceId?: string; /** - *

                                                                              The state of the resource.

                                                                              + *

                                                                              The password of the instance. Returns an empty string if the password is not + * available.

                                                                              */ - State?: TransitGatewayPropagationState | string; + PasswordData?: string; } -export namespace TransitGatewayRouteTablePropagation { - export const filterSensitiveLog = (obj: TransitGatewayRouteTablePropagation): any => ({ +export namespace GetPasswordDataResult { + export const filterSensitiveLog = (obj: GetPasswordDataResult): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTablePropagationsResult { +/** + *

                                                                              Contains the parameters for GetReservedInstanceExchangeQuote.

                                                                              + */ +export interface GetReservedInstancesExchangeQuoteRequest { + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + /** - *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + *

                                                                              The configuration of the target Convertible Reserved Instance to exchange for your + * current Convertible Reserved Instances.

                                                                              */ - NextToken?: string; + TargetConfigurations?: TargetConfigurationRequest[]; /** - *

                                                                              Information about the route table propagations.

                                                                              + *

                                                                              The IDs of the Convertible Reserved Instances to exchange.

                                                                              */ - TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[]; + ReservedInstanceIds: string[] | undefined; } -export namespace GetTransitGatewayRouteTablePropagationsResult { - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsResult): any => ({ +export namespace GetReservedInstancesExchangeQuoteRequest { + export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteRequest): any => ({ ...obj, }); } -export interface ImportClientVpnClientCertificateRevocationListRequest { +/** + *

                                                                              The cost associated with the Reserved Instance.

                                                                              + */ +export interface ReservationValue { /** - *

                                                                              The ID of the Client VPN endpoint to which the client certificate revocation list applies.

                                                                              + *

                                                                              The remaining upfront cost of the reservation.

                                                                              */ - ClientVpnEndpointId: string | undefined; + RemainingUpfrontValue?: string; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The hourly rate of the reservation.

                                                                              */ - DryRun?: boolean; + HourlyPrice?: string; /** - *

                                                                              The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the - * AWS Client VPN Administrator Guide.

                                                                              + *

                                                                              The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

                                                                              */ - CertificateRevocationList: string | undefined; + RemainingTotalValue?: string; } -export namespace ImportClientVpnClientCertificateRevocationListRequest { - export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListRequest): any => ({ +export namespace ReservationValue { + export const filterSensitiveLog = (obj: ReservationValue): any => ({ ...obj, }); } -export interface ImportClientVpnClientCertificateRevocationListResult { +/** + *

                                                                              The total value of the Convertible Reserved Instance.

                                                                              + */ +export interface ReservedInstanceReservationValue { /** - *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              + *

                                                                              The ID of the Convertible Reserved Instance that you are exchanging.

                                                                              */ - Return?: boolean; + ReservedInstanceId?: string; + + /** + *

                                                                              The total value of the Convertible Reserved Instance that you are exchanging.

                                                                              + */ + ReservationValue?: ReservationValue; } -export namespace ImportClientVpnClientCertificateRevocationListResult { - export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListResult): any => ({ +export namespace ReservedInstanceReservationValue { + export const filterSensitiveLog = (obj: ReservedInstanceReservationValue): any => ({ ...obj, }); } /** - *

                                                                              Describes the client-specific data.

                                                                              + *

                                                                              Information about the Convertible Reserved Instance offering.

                                                                              */ -export interface ClientData { - /** - *

                                                                              A user-defined comment about the disk upload.

                                                                              - */ - Comment?: string; - - /** - *

                                                                              The time that the disk upload starts.

                                                                              - */ - UploadStart?: Date; - +export interface TargetConfiguration { /** - *

                                                                              The time that the disk upload ends.

                                                                              + *

                                                                              The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is + * reserved and cannot be specified in a request

                                                                              */ - UploadEnd?: Date; + InstanceCount?: number; /** - *

                                                                              The size of the uploaded disk image, in GiB.

                                                                              + *

                                                                              The ID of the Convertible Reserved Instance offering.

                                                                              */ - UploadSize?: number; + OfferingId?: string; } -export namespace ClientData { - export const filterSensitiveLog = (obj: ClientData): any => ({ +export namespace TargetConfiguration { + export const filterSensitiveLog = (obj: TargetConfiguration): any => ({ ...obj, }); } /** - *

                                                                              Describes the Amazon S3 bucket for the disk image.

                                                                              + *

                                                                              The total value of the new Convertible Reserved Instances.

                                                                              */ -export interface UserBucket { +export interface TargetReservationValue { /** - *

                                                                              The file name of the disk image.

                                                                              + *

                                                                              The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of + * the list value, remaining upfront price, and additional upfront cost of the exchange.

                                                                              */ - S3Key?: string; + ReservationValue?: ReservationValue; /** - *

                                                                              The name of the Amazon S3 bucket where the disk image is located.

                                                                              + *

                                                                              The configuration of the Convertible Reserved Instances that make up the exchange.

                                                                              */ - S3Bucket?: string; + TargetConfiguration?: TargetConfiguration; } -export namespace UserBucket { - export const filterSensitiveLog = (obj: UserBucket): any => ({ +export namespace TargetReservationValue { + export const filterSensitiveLog = (obj: TargetReservationValue): any => ({ ...obj, }); } /** - *

                                                                              Describes the disk container object for an import image task.

                                                                              + *

                                                                              Contains the output of GetReservedInstancesExchangeQuote.

                                                                              */ -export interface ImageDiskContainer { +export interface GetReservedInstancesExchangeQuoteResult { /** - *

                                                                              The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an - * Amazon S3 URL (s3://..)

                                                                              + *

                                                                              Describes the reason why the exchange cannot be completed.

                                                                              */ - Url?: string; + ValidationFailureReason?: string; /** - *

                                                                              The ID of the EBS snapshot to be used for importing the snapshot.

                                                                              + *

                                                                              The currency of the transaction.

                                                                              */ - SnapshotId?: string; + CurrencyCode?: string; /** - *

                                                                              The format of the disk image being imported.

                                                                              - *

                                                                              Valid values: OVA | VHD | VHDX |VMDK - *

                                                                              + *

                                                                              If true, the exchange is valid. If false, the exchange cannot be completed.

                                                                              */ - Format?: string; + IsValidExchange?: boolean; /** - *

                                                                              The description of the disk image.

                                                                              + *

                                                                              The cost associated with the Reserved Instance.

                                                                              */ - Description?: string; + TargetConfigurationValueRollup?: ReservationValue; /** - *

                                                                              The block device mapping for the disk.

                                                                              + *

                                                                              The total true upfront charge for the exchange.

                                                                              */ - DeviceName?: string; + PaymentDue?: string; /** - *

                                                                              The S3 bucket for the disk image.

                                                                              + *

                                                                              The cost associated with the Reserved Instance.

                                                                              */ - UserBucket?: UserBucket; -} + ReservedInstanceValueRollup?: ReservationValue; -export namespace ImageDiskContainer { - export const filterSensitiveLog = (obj: ImageDiskContainer): any => ({ - ...obj, - }); -} + /** + *

                                                                              The values of the target Convertible Reserved Instances.

                                                                              + */ + TargetConfigurationValueSet?: TargetReservationValue[]; + + /** + *

                                                                              The configuration of your Convertible Reserved Instances.

                                                                              + */ + ReservedInstanceValueSet?: ReservedInstanceReservationValue[]; -/** - *

                                                                              The request information of license configurations.

                                                                              - */ -export interface ImportImageLicenseConfigurationRequest { /** - *

                                                                              The ARN of a license configuration.

                                                                              + *

                                                                              The new end date of the reservation term.

                                                                              */ - LicenseConfigurationArn?: string; + OutputReservedInstancesWillExpireAt?: Date; } -export namespace ImportImageLicenseConfigurationRequest { - export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationRequest): any => ({ +export namespace GetReservedInstancesExchangeQuoteResult { + export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteResult): any => ({ ...obj, }); } -export interface ImportImageRequest { - /** - *

                                                                              The ARNs of the license configurations.

                                                                              - */ - LicenseSpecifications?: ImportImageLicenseConfigurationRequest[]; - +export interface GetTransitGatewayAttachmentPropagationsRequest { /** - *

                                                                              An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the - * encrypted AMI. This parameter is only required if you want to use a non-default CMK; if this - * parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is - * specified, the Encrypted flag must also be set.

                                                                              - *

                                                                              The CMK identifier may be provided in any of the following formats:

                                                                              + *

                                                                              One or more filters. The possible values are:

                                                                              *
                                                                                *
                                                                              • - *

                                                                                Key ID

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                                                                                - *
                                                                              • - *
                                                                              • - *

                                                                                ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                                + *

                                                                                + * transit-gateway-route-table-id - The ID of the transit gateway route table.

                                                                                *
                                                                              • *
                                                                              - *

                                                                              AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even - * though you provided an invalid identifier. This action will eventually report failure.

                                                                              - *

                                                                              The specified CMK must exist in the Region that the AMI is being copied to.

                                                                              - *

                                                                              Amazon EBS does not support asymmetric CMKs.

                                                                              - */ - KmsKeyId?: string; - - /** - *

                                                                              The operating system of the virtual machine.

                                                                              - *

                                                                              Valid values: Windows | Linux - *

                                                                              - */ - Platform?: string; - - /** - *

                                                                              The tags to apply to the image being imported.

                                                                              - */ - TagSpecifications?: TagSpecification[]; - - /** - *

                                                                              The architecture of the virtual machine.

                                                                              - *

                                                                              Valid values: i386 | x86_64 | arm64 - *

                                                                              */ - Architecture?: string; + Filters?: Filter[]; /** - *

                                                                              The token to enable idempotency for VM import requests.

                                                                              + *

                                                                              The token for the next page of results.

                                                                              */ - ClientToken?: string; + NextToken?: string; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -10323,53 +10446,58 @@ export interface ImportImageRequest { DryRun?: boolean; /** - *

                                                                              A description string for the import image task.

                                                                              + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              */ - Description?: string; + MaxResults?: number; /** - *

                                                                              The client-specific data.

                                                                              + *

                                                                              The ID of the attachment.

                                                                              */ - ClientData?: ClientData; + TransitGatewayAttachmentId: string | undefined; +} - /** - *

                                                                              The name of the role to use when not using the default role, 'vmimport'.

                                                                              - */ - RoleName?: string; +export namespace GetTransitGatewayAttachmentPropagationsRequest { + export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                              Describes a propagation route table.

                                                                              + */ +export interface TransitGatewayAttachmentPropagation { /** - *

                                                                              Information about the disk containers.

                                                                              + *

                                                                              The state of the propagation route table.

                                                                              */ - DiskContainers?: ImageDiskContainer[]; + State?: TransitGatewayPropagationState | string; /** - *

                                                                              The license type to be used for the Amazon Machine Image (AMI) after importing.

                                                                              - *

                                                                              By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify - * AWS to replace the source-system license with an AWS license, if appropriate. Specify BYOL - * to retain the source-system license, if appropriate.

                                                                              - *

                                                                              To use BYOL, you must have existing licenses with rights to use these licenses in a third party - * cloud, such as AWS. For more information, see Prerequisites in the - * VM Import/Export User Guide.

                                                                              + *

                                                                              The ID of the propagation route table.

                                                                              */ - LicenseType?: string; + TransitGatewayRouteTableId?: string; +} + +export namespace TransitGatewayAttachmentPropagation { + export const filterSensitiveLog = (obj: TransitGatewayAttachmentPropagation): any => ({ + ...obj, + }); +} +export interface GetTransitGatewayAttachmentPropagationsResult { /** - *

                                                                              Specifies whether the destination AMI of the imported image should be encrypted. The default CMK for EBS is used - * unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the - * Amazon Elastic Compute Cloud User Guide.

                                                                              + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              */ - Encrypted?: boolean; + NextToken?: string; /** - *

                                                                              The target hypervisor platform.

                                                                              - *

                                                                              Valid values: xen - *

                                                                              + *

                                                                              Information about the propagation route tables.

                                                                              */ - Hypervisor?: string; + TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[]; } -export namespace ImportImageRequest { - export const filterSensitiveLog = (obj: ImportImageRequest): any => ({ +export namespace GetTransitGatewayAttachmentPropagationsResult { + export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsResult): any => ({ ...obj, }); } diff --git a/clients/client-ec2/models/models_4.ts b/clients/client-ec2/models/models_4.ts index 4eee25aacb46..32592985751e 100644 --- a/clients/client-ec2/models/models_4.ts +++ b/clients/client-ec2/models/models_4.ts @@ -16,6 +16,7 @@ import { ElasticGpuSpecification, EndDateType, FleetExcessCapacityTerminationPolicy, + FleetLaunchTemplateConfigRequest, HostRecovery, IamInstanceProfileAssociation, IamInstanceProfileSpecification, @@ -29,9 +30,11 @@ import { RouteTableAssociationState, ShutdownBehavior, SpotInstanceType, + SubnetAssociation, Tag, TagSpecification, TargetCapacitySpecificationRequest, + TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, @@ -40,6 +43,9 @@ import { _InstanceType, } from "./models_0"; import { + AutoAcceptSharedAttachmentsValue, + DefaultRouteTableAssociationValue, + DefaultRouteTablePropagationValue, IKEVersionsRequestListValue, IcmpTypeCode, InstanceIpv6Address, @@ -60,8 +66,11 @@ import { TrafficMirrorPortRangeRequest, TrafficMirrorRuleAction, TrafficMirrorSession, + TransitGateway, + TransitGatewayPrefixListReference, TransitGatewayRoute, VpnConnection, + VpnEcmpSupportValue, } from "./models_1"; import { ArchitectureValues, @@ -86,11 +95,11 @@ import { SnapshotTaskDetail, } from "./models_2"; import { - ClientData, CreateVolumePermission, ExcessCapacityTerminationPolicy, InstanceFamilyCreditSpecification, InstanceNetworkInterfaceSpecification, + LaunchTemplateConfig, Purchase, ReservedInstancesConfiguration, RunInstancesMonitoringEnabled, @@ -99,47 +108,681 @@ import { SpotFleetRequestConfigData, SpotInstanceRequest, SpotPlacement, + TransitGatewayPropagationState, UnlimitedSupportedInstanceFamily, - UserBucket, VolumeModification, } from "./models_3"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; -export interface ImportImageResult { +export interface GetTransitGatewayMulticastDomainAssociationsRequest { + /** + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + */ + MaxResults?: number; + + /** + *

                                                                              One or more filters. The possible values are:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * resource-id - The ID of the resource.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * resource-type - The type of resource. The valid value is: vpc.

                                                                                + *
                                                                              • + *
                                                                              • + * + *

                                                                                + * state - The state of the subnet association. Valid values are + * associated | + * associating + * | disassociated | disassociating.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * subnet-id - The ID of the subnet.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                                                + *
                                                                              • + *
                                                                              + */ + Filters?: Filter[]; + + /** + *

                                                                              The ID of the transit gateway multicast domain.

                                                                              + */ + TransitGatewayMulticastDomainId?: string; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              The token for the next page of results.

                                                                              + */ + NextToken?: string; +} + +export namespace GetTransitGatewayMulticastDomainAssociationsRequest { + export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                              Describes the resources associated with the transit gateway multicast domain.

                                                                              + */ +export interface TransitGatewayMulticastDomainAssociation { + /** + *

                                                                              The subnet associated with the transit gateway multicast domain.

                                                                              + */ + Subnet?: SubnetAssociation; + + /** + *

                                                                              The ID of the transit gateway attachment.

                                                                              + */ + TransitGatewayAttachmentId?: string; + + /** + *

                                                                              The type of resource, for example a VPC attachment.

                                                                              + */ + ResourceType?: TransitGatewayAttachmentResourceType | string; + + /** + *

                                                                              The ID of the resource.

                                                                              + */ + ResourceId?: string; +} + +export namespace TransitGatewayMulticastDomainAssociation { + export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainAssociation): any => ({ + ...obj, + }); +} + +export interface GetTransitGatewayMulticastDomainAssociationsResult { + /** + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + */ + NextToken?: string; + + /** + *

                                                                              Information about the multicast domain associations.

                                                                              + */ + MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[]; +} + +export namespace GetTransitGatewayMulticastDomainAssociationsResult { + export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsResult): any => ({ + ...obj, + }); +} + +export interface GetTransitGatewayPrefixListReferencesRequest { + /** + *

                                                                              The token for the next page of results.

                                                                              + */ + NextToken?: string; + + /** + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + */ + MaxResults?: number; + + /** + *

                                                                              The ID of the transit gateway route table.

                                                                              + */ + TransitGatewayRouteTableId: string | undefined; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              One or more filters. The possible values are:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * attachment.resource-id - The ID of the resource for the attachment.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * attachment.resource-type - The type of resource for the + * attachment. Valid values are vpc | vpn | + * direct-connect-gateway | peering.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * attachment.transit-gateway-attachment-id - The ID of the attachment.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * is-blackhole - Whether traffic matching the route is blocked (true | false).

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * prefix-list-id - The ID of the prefix list.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * prefix-list-owner-id - The ID of the owner of the prefix list.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * state - The state of the prefix list reference (pending | available | modifying | deleting).

                                                                                + *
                                                                              • + *
                                                                              + */ + Filters?: Filter[]; +} + +export namespace GetTransitGatewayPrefixListReferencesRequest { + export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesRequest): any => ({ + ...obj, + }); +} + +export interface GetTransitGatewayPrefixListReferencesResult { + /** + *

                                                                              Information about the prefix list references.

                                                                              + */ + TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; + + /** + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + */ + NextToken?: string; +} + +export namespace GetTransitGatewayPrefixListReferencesResult { + export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesResult): any => ({ + ...obj, + }); +} + +export interface GetTransitGatewayRouteTableAssociationsRequest { + /** + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + */ + MaxResults?: number; + + /** + *

                                                                              The token for the next page of results.

                                                                              + */ + NextToken?: string; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              One or more filters. The possible values are:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * resource-id - The ID of the resource.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * resource-type - The resource type. Valid values are vpc | + * vpn | direct-connect-gateway | + * peering.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * transit-gateway-attachment-id - The ID of the attachment.

                                                                                + *
                                                                              • + *
                                                                              + */ + Filters?: Filter[]; + + /** + *

                                                                              The ID of the transit gateway route table.

                                                                              + */ + TransitGatewayRouteTableId: string | undefined; +} + +export namespace GetTransitGatewayRouteTableAssociationsRequest { + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                              Describes an association between a route table and a resource attachment.

                                                                              + */ +export interface TransitGatewayRouteTableAssociation { + /** + *

                                                                              The ID of the resource.

                                                                              + */ + ResourceId?: string; + + /** + *

                                                                              The resource type. Note that the tgw-peering resource type has been deprecated.

                                                                              + */ + ResourceType?: TransitGatewayAttachmentResourceType | string; + + /** + *

                                                                              The state of the association.

                                                                              + */ + State?: TransitGatewayAssociationState | string; + + /** + *

                                                                              The ID of the attachment.

                                                                              + */ + TransitGatewayAttachmentId?: string; +} + +export namespace TransitGatewayRouteTableAssociation { + export const filterSensitiveLog = (obj: TransitGatewayRouteTableAssociation): any => ({ + ...obj, + }); +} + +export interface GetTransitGatewayRouteTableAssociationsResult { + /** + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + */ + NextToken?: string; + + /** + *

                                                                              Information about the associations.

                                                                              + */ + Associations?: TransitGatewayRouteTableAssociation[]; +} + +export namespace GetTransitGatewayRouteTableAssociationsResult { + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsResult): any => ({ + ...obj, + }); +} + +export interface GetTransitGatewayRouteTablePropagationsRequest { + /** + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + */ + MaxResults?: number; + + /** + *

                                                                              The ID of the transit gateway route table.

                                                                              + */ + TransitGatewayRouteTableId: string | undefined; + + /** + *

                                                                              The token for the next page of results.

                                                                              + */ + NextToken?: string; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              One or more filters. The possible values are:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                + * resource-id - The ID of the resource.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * resource-type - The resource type. Valid values are vpc | + * vpn | direct-connect-gateway | + * peering.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                + * transit-gateway-attachment-id - The ID of the attachment.

                                                                                + *
                                                                              • + *
                                                                              + */ + Filters?: Filter[]; +} + +export namespace GetTransitGatewayRouteTablePropagationsRequest { + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                              Describes a route table propagation.

                                                                              + */ +export interface TransitGatewayRouteTablePropagation { + /** + *

                                                                              The ID of the resource.

                                                                              + */ + ResourceId?: string; + + /** + *

                                                                              The ID of the attachment.

                                                                              + */ + TransitGatewayAttachmentId?: string; + + /** + *

                                                                              The state of the resource.

                                                                              + */ + State?: TransitGatewayPropagationState | string; + + /** + *

                                                                              The type of resource. Note that the tgw-peering resource type has been deprecated.

                                                                              + */ + ResourceType?: TransitGatewayAttachmentResourceType | string; +} + +export namespace TransitGatewayRouteTablePropagation { + export const filterSensitiveLog = (obj: TransitGatewayRouteTablePropagation): any => ({ + ...obj, + }); +} + +export interface GetTransitGatewayRouteTablePropagationsResult { + /** + *

                                                                              Information about the route table propagations.

                                                                              + */ + TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[]; + + /** + *

                                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                              + */ + NextToken?: string; +} + +export namespace GetTransitGatewayRouteTablePropagationsResult { + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsResult): any => ({ + ...obj, + }); +} + +export interface ImportClientVpnClientCertificateRevocationListRequest { + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              The ID of the Client VPN endpoint to which the client certificate revocation list applies.

                                                                              + */ + ClientVpnEndpointId: string | undefined; + + /** + *

                                                                              The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the + * AWS Client VPN Administrator Guide.

                                                                              + */ + CertificateRevocationList: string | undefined; +} + +export namespace ImportClientVpnClientCertificateRevocationListRequest { + export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListRequest): any => ({ + ...obj, + }); +} + +export interface ImportClientVpnClientCertificateRevocationListResult { + /** + *

                                                                              Returns true if the request succeeds; otherwise, it returns an error.

                                                                              + */ + Return?: boolean; +} + +export namespace ImportClientVpnClientCertificateRevocationListResult { + export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListResult): any => ({ + ...obj, + }); +} + +/** + *

                                                                              Describes the client-specific data.

                                                                              + */ +export interface ClientData { + /** + *

                                                                              The time that the disk upload ends.

                                                                              + */ + UploadEnd?: Date; + + /** + *

                                                                              The size of the uploaded disk image, in GiB.

                                                                              + */ + UploadSize?: number; + + /** + *

                                                                              The time that the disk upload starts.

                                                                              + */ + UploadStart?: Date; + + /** + *

                                                                              A user-defined comment about the disk upload.

                                                                              + */ + Comment?: string; +} + +export namespace ClientData { + export const filterSensitiveLog = (obj: ClientData): any => ({ + ...obj, + }); +} + +/** + *

                                                                              Describes the Amazon S3 bucket for the disk image.

                                                                              + */ +export interface UserBucket { + /** + *

                                                                              The file name of the disk image.

                                                                              + */ + S3Key?: string; + + /** + *

                                                                              The name of the Amazon S3 bucket where the disk image is located.

                                                                              + */ + S3Bucket?: string; +} + +export namespace UserBucket { + export const filterSensitiveLog = (obj: UserBucket): any => ({ + ...obj, + }); +} + +/** + *

                                                                              Describes the disk container object for an import image task.

                                                                              + */ +export interface ImageDiskContainer { + /** + *

                                                                              The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an + * Amazon S3 URL (s3://..)

                                                                              + */ + Url?: string; + + /** + *

                                                                              The ID of the EBS snapshot to be used for importing the snapshot.

                                                                              + */ + SnapshotId?: string; + + /** + *

                                                                              The block device mapping for the disk.

                                                                              + */ + DeviceName?: string; + + /** + *

                                                                              The S3 bucket for the disk image.

                                                                              + */ + UserBucket?: UserBucket; + + /** + *

                                                                              The format of the disk image being imported.

                                                                              + *

                                                                              Valid values: OVA | VHD | VHDX |VMDK + *

                                                                              + */ + Format?: string; + + /** + *

                                                                              The description of the disk image.

                                                                              + */ + Description?: string; +} + +export namespace ImageDiskContainer { + export const filterSensitiveLog = (obj: ImageDiskContainer): any => ({ + ...obj, + }); +} + +/** + *

                                                                              The request information of license configurations.

                                                                              + */ +export interface ImportImageLicenseConfigurationRequest { /** - *

                                                                              The ID of the Amazon Machine Image (AMI) created by the import task.

                                                                              + *

                                                                              The ARN of a license configuration.

                                                                              */ - ImageId?: string; + LicenseConfigurationArn?: string; +} + +export namespace ImportImageLicenseConfigurationRequest { + export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationRequest): any => ({ + ...obj, + }); +} +export interface ImportImageRequest { /** - *

                                                                              Any tags assigned to the image being imported.

                                                                              + *

                                                                              The name of the role to use when not using the default role, 'vmimport'.

                                                                              */ - Tags?: Tag[]; + RoleName?: string; /** - *

                                                                              The ARNs of the license configurations.

                                                                              + *

                                                                              Information about the disk containers.

                                                                              */ - LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; + DiskContainers?: ImageDiskContainer[]; + + /** + *

                                                                              The target hypervisor platform.

                                                                              + *

                                                                              Valid values: xen + *

                                                                              + */ + Hypervisor?: string; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              The license type to be used for the Amazon Machine Image (AMI) after importing.

                                                                              + *

                                                                              By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify + * AWS to replace the source-system license with an AWS license, if appropriate. Specify BYOL + * to retain the source-system license, if appropriate.

                                                                              + *

                                                                              To use BYOL, you must have existing licenses with rights to use these licenses in a third party + * cloud, such as AWS. For more information, see Prerequisites in the + * VM Import/Export User Guide.

                                                                              + */ + LicenseType?: string; + + /** + *

                                                                              The operating system of the virtual machine.

                                                                              + *

                                                                              Valid values: Windows | Linux + *

                                                                              + */ + Platform?: string; /** *

                                                                              The architecture of the virtual machine.

                                                                              + *

                                                                              Valid values: i386 | x86_64 | arm64 + *

                                                                              */ Architecture?: string; /** - *

                                                                              A brief status of the task.

                                                                              + *

                                                                              The token to enable idempotency for VM import requests.

                                                                              */ - Status?: string; + ClientToken?: string; /** - *

                                                                              A description of the import task.

                                                                              + *

                                                                              An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the + * encrypted AMI. This parameter is only required if you want to use a non-default CMK; if this + * parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is + * specified, the Encrypted flag must also be set.

                                                                              + *

                                                                              The CMK identifier may be provided in any of the following formats:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                Key ID

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                                + *
                                                                              • + *
                                                                              + *

                                                                              AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even + * though you provided an invalid identifier. This action will eventually report failure.

                                                                              + *

                                                                              The specified CMK must exist in the Region that the AMI is being copied to.

                                                                              + *

                                                                              Amazon EBS does not support asymmetric CMKs.

                                                                              + */ + KmsKeyId?: string; + + /** + *

                                                                              The ARNs of the license configurations.

                                                                              + */ + LicenseSpecifications?: ImportImageLicenseConfigurationRequest[]; + + /** + *

                                                                              Specifies whether the destination AMI of the imported image should be encrypted. The default CMK for EBS is used + * unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the + * Amazon Elastic Compute Cloud User Guide.

                                                                              + */ + Encrypted?: boolean; + + /** + *

                                                                              The client-specific data.

                                                                              + */ + ClientData?: ClientData; + + /** + *

                                                                              The tags to apply to the image being imported.

                                                                              + */ + TagSpecifications?: TagSpecification[]; + + /** + *

                                                                              A description string for the import image task.

                                                                              */ Description?: string; +} + +export namespace ImportImageRequest { + export const filterSensitiveLog = (obj: ImportImageRequest): any => ({ + ...obj, + }); +} +export interface ImportImageResult { /** - *

                                                                              The target hypervisor of the import task.

                                                                              + *

                                                                              Indicates whether the AMI is encrypted.

                                                                              */ - Hypervisor?: string; + Encrypted?: boolean; /** *

                                                                              The identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key @@ -153,14 +796,14 @@ export interface ImportImageResult { LicenseType?: string; /** - *

                                                                              The operating system of the virtual machine.

                                                                              + *

                                                                              The target hypervisor of the import task.

                                                                              */ - Platform?: string; + Hypervisor?: string; /** - *

                                                                              Indicates whether the AMI is encrypted.

                                                                              + *

                                                                              The task ID of the import image task.

                                                                              */ - Encrypted?: boolean; + ImportTaskId?: string; /** *

                                                                              Information about the snapshots.

                                                                              @@ -168,19 +811,49 @@ export interface ImportImageResult { SnapshotDetails?: SnapshotDetail[]; /** - *

                                                                              The progress of the task.

                                                                              + *

                                                                              A detailed status message of the import task.

                                                                              */ - Progress?: string; + StatusMessage?: string; /** - *

                                                                              A detailed status message of the import task.

                                                                              + *

                                                                              A description of the import task.

                                                                              */ - StatusMessage?: string; + Description?: string; /** - *

                                                                              The task ID of the import image task.

                                                                              + *

                                                                              The operating system of the virtual machine.

                                                                              */ - ImportTaskId?: string; + Platform?: string; + + /** + *

                                                                              A brief status of the task.

                                                                              + */ + Status?: string; + + /** + *

                                                                              Any tags assigned to the image being imported.

                                                                              + */ + Tags?: Tag[]; + + /** + *

                                                                              The ID of the Amazon Machine Image (AMI) created by the import task.

                                                                              + */ + ImageId?: string; + + /** + *

                                                                              The ARNs of the license configurations.

                                                                              + */ + LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; + + /** + *

                                                                              The progress of the task.

                                                                              + */ + Progress?: string; + + /** + *

                                                                              The architecture of the virtual machine.

                                                                              + */ + Architecture?: string; } export namespace ImportImageResult { @@ -240,9 +913,9 @@ export namespace VolumeDetail { */ export interface DiskImage { /** - *

                                                                              A description of the disk image.

                                                                              + *

                                                                              Information about the disk image.

                                                                              */ - Description?: string; + Image?: DiskImageDetail; /** *

                                                                              Information about the volume.

                                                                              @@ -250,9 +923,9 @@ export interface DiskImage { Volume?: VolumeDetail; /** - *

                                                                              Information about the disk image.

                                                                              + *

                                                                              A description of the disk image.

                                                                              */ - Image?: DiskImageDetail; + Description?: string; } export namespace DiskImage { @@ -283,61 +956,61 @@ export namespace UserData { */ export interface ImportInstanceLaunchSpecification { /** - *

                                                                              Indicates whether monitoring is enabled.

                                                                              + *

                                                                              [EC2-VPC] An available IP address from the IP address range of the subnet.

                                                                              */ - Monitoring?: boolean; + PrivateIpAddress?: string; /** - *

                                                                              [EC2-VPC] An available IP address from the IP address range of the subnet.

                                                                              + *

                                                                              The placement information for the instance.

                                                                              */ - PrivateIpAddress?: string; + Placement?: Placement; /** - *

                                                                              The instance type. For more information about the instance types that you can import, see Instance Types in the - * VM Import/Export User Guide.

                                                                              + *

                                                                              The architecture of the instance.

                                                                              */ - InstanceType?: _InstanceType | string; + Architecture?: ArchitectureValues | string; /** - *

                                                                              The Base64-encoded user data to make available to the instance.

                                                                              + *

                                                                              The instance type. For more information about the instance types that you can import, see Instance Types in the + * VM Import/Export User Guide.

                                                                              */ - UserData?: UserData; + InstanceType?: _InstanceType | string; /** - *

                                                                              The security group IDs.

                                                                              + *

                                                                              Indicates whether monitoring is enabled.

                                                                              */ - GroupIds?: string[]; + Monitoring?: boolean; /** - *

                                                                              Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the - * operating system command for system shutdown).

                                                                              + *

                                                                              [EC2-VPC] The ID of the subnet in which to launch the instance.

                                                                              */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; + SubnetId?: string; /** - *

                                                                              The architecture of the instance.

                                                                              + *

                                                                              The security group names.

                                                                              */ - Architecture?: ArchitectureValues | string; + GroupNames?: string[]; /** - *

                                                                              The placement information for the instance.

                                                                              + *

                                                                              Reserved.

                                                                              */ - Placement?: Placement; + AdditionalInfo?: string; /** - *

                                                                              [EC2-VPC] The ID of the subnet in which to launch the instance.

                                                                              + *

                                                                              The Base64-encoded user data to make available to the instance.

                                                                              */ - SubnetId?: string; + UserData?: UserData; /** - *

                                                                              Reserved.

                                                                              + *

                                                                              Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the + * operating system command for system shutdown).

                                                                              */ - AdditionalInfo?: string; + InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; /** - *

                                                                              The security group names.

                                                                              + *

                                                                              The security group IDs.

                                                                              */ - GroupNames?: string[]; + GroupIds?: string[]; } export namespace ImportInstanceLaunchSpecification { @@ -348,11 +1021,6 @@ export namespace ImportInstanceLaunchSpecification { } export interface ImportInstanceRequest { - /** - *

                                                                              A description for the instance being imported.

                                                                              - */ - Description?: string; - /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -361,9 +1029,14 @@ export interface ImportInstanceRequest { DryRun?: boolean; /** - *

                                                                              The launch specification.

                                                                              + *

                                                                              The instance operating system.

                                                                              */ - LaunchSpecification?: ImportInstanceLaunchSpecification; + Platform: PlatformValues | string | undefined; + + /** + *

                                                                              A description for the instance being imported.

                                                                              + */ + Description?: string; /** *

                                                                              The disk image.

                                                                              @@ -371,9 +1044,9 @@ export interface ImportInstanceRequest { DiskImages?: DiskImage[]; /** - *

                                                                              The instance operating system.

                                                                              + *

                                                                              The launch specification.

                                                                              */ - Platform: PlatformValues | string | undefined; + LaunchSpecification?: ImportInstanceLaunchSpecification; } export namespace ImportInstanceRequest { @@ -400,9 +1073,9 @@ export namespace ImportInstanceResult { export interface ImportKeyPairRequest { /** - *

                                                                              A unique name for the key pair.

                                                                              + *

                                                                              The tags to apply to the imported key pair.

                                                                              */ - KeyName: string | undefined; + TagSpecifications?: TagSpecification[]; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -412,14 +1085,14 @@ export interface ImportKeyPairRequest { DryRun?: boolean; /** - *

                                                                              The tags to apply to the imported key pair.

                                                                              + *

                                                                              The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

                                                                              */ - TagSpecifications?: TagSpecification[]; + PublicKeyMaterial: Uint8Array | undefined; /** - *

                                                                              The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

                                                                              + *

                                                                              A unique name for the key pair.

                                                                              */ - PublicKeyMaterial: Uint8Array | undefined; + KeyName: string | undefined; } export namespace ImportKeyPairRequest { @@ -430,14 +1103,14 @@ export namespace ImportKeyPairRequest { export interface ImportKeyPairResult { /** - *

                                                                              The key pair name you provided.

                                                                              + *

                                                                              The tags applied to the imported key pair.

                                                                              */ - KeyName?: string; + Tags?: Tag[]; /** - *

                                                                              The tags applied to the imported key pair.

                                                                              + *

                                                                              The MD5 public key fingerprint as specified in section 4 of RFC 4716.

                                                                              */ - Tags?: Tag[]; + KeyFingerprint?: string; /** *

                                                                              The ID of the resulting key pair.

                                                                              @@ -445,9 +1118,9 @@ export interface ImportKeyPairResult { KeyPairId?: string; /** - *

                                                                              The MD5 public key fingerprint as specified in section 4 of RFC 4716.

                                                                              + *

                                                                              The key pair name you provided.

                                                                              */ - KeyFingerprint?: string; + KeyName?: string; } export namespace ImportKeyPairResult { @@ -460,6 +1133,12 @@ export namespace ImportKeyPairResult { *

                                                                              The disk container object for the import snapshot request.

                                                                              */ export interface SnapshotDiskContainer { + /** + *

                                                                              The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon + * S3 URL (s3://..).

                                                                              + */ + Url?: string; + /** *

                                                                              The description of the disk image being imported.

                                                                              */ @@ -470,12 +1149,6 @@ export interface SnapshotDiskContainer { */ UserBucket?: UserBucket; - /** - *

                                                                              The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon - * S3 URL (s3://..).

                                                                              - */ - Url?: string; - /** *

                                                                              The format of the disk image being imported.

                                                                              *

                                                                              Valid values: VHD | VMDK @@ -491,43 +1164,6 @@ export namespace SnapshotDiskContainer { } export interface ImportSnapshotRequest { - /** - *

                                                                              The name of the role to use when not using the default role, 'vmimport'.

                                                                              - */ - RoleName?: string; - - /** - *

                                                                              The description string for the import snapshot task.

                                                                              - */ - Description?: string; - - /** - *

                                                                              Token to enable idempotency for VM import requests.

                                                                              - */ - ClientToken?: string; - - /** - *

                                                                              Information about the disk container.

                                                                              - */ - DiskContainer?: SnapshotDiskContainer; - - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - - /** - *

                                                                              The tags to apply to the snapshot being imported.

                                                                              - */ - TagSpecifications?: TagSpecification[]; - - /** - *

                                                                              The client-specific data.

                                                                              - */ - ClientData?: ClientData; - /** *

                                                                              Specifies whether the destination snapshot of the imported image should be encrypted. The default CMK for EBS is * used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the @@ -535,6 +1171,11 @@ export interface ImportSnapshotRequest { */ Encrypted?: boolean; + /** + *

                                                                              The name of the role to use when not using the default role, 'vmimport'.

                                                                              + */ + RoleName?: string; + /** *

                                                                              An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the * encrypted snapshot. This parameter is only required if you want to use a non-default CMK; if this @@ -561,6 +1202,38 @@ export interface ImportSnapshotRequest { *

                                                                              Amazon EBS does not support asymmetric CMKs.

                                                                              */ KmsKeyId?: string; + + /** + *

                                                                              The client-specific data.

                                                                              + */ + ClientData?: ClientData; + + /** + *

                                                                              Information about the disk container.

                                                                              + */ + DiskContainer?: SnapshotDiskContainer; + + /** + *

                                                                              Token to enable idempotency for VM import requests.

                                                                              + */ + ClientToken?: string; + + /** + *

                                                                              The tags to apply to the snapshot being imported.

                                                                              + */ + TagSpecifications?: TagSpecification[]; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              The description string for the import snapshot task.

                                                                              + */ + Description?: string; } export namespace ImportSnapshotRequest { @@ -571,24 +1244,24 @@ export namespace ImportSnapshotRequest { export interface ImportSnapshotResult { /** - *

                                                                              A description of the import snapshot task.

                                                                              + *

                                                                              The ID of the import snapshot task.

                                                                              */ - Description?: string; + ImportTaskId?: string; /** - *

                                                                              Any tags assigned to the snapshot being imported.

                                                                              + *

                                                                              Information about the import snapshot task.

                                                                              */ - Tags?: Tag[]; + SnapshotTaskDetail?: SnapshotTaskDetail; /** - *

                                                                              Information about the import snapshot task.

                                                                              + *

                                                                              Any tags assigned to the snapshot being imported.

                                                                              */ - SnapshotTaskDetail?: SnapshotTaskDetail; + Tags?: Tag[]; /** - *

                                                                              The ID of the import snapshot task.

                                                                              + *

                                                                              A description of the import snapshot task.

                                                                              */ - ImportTaskId?: string; + Description?: string; } export namespace ImportSnapshotResult { @@ -598,11 +1271,6 @@ export namespace ImportSnapshotResult { } export interface ImportVolumeRequest { - /** - *

                                                                              The Availability Zone for the resulting EBS volume.

                                                                              - */ - AvailabilityZone: string | undefined; - /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -611,9 +1279,9 @@ export interface ImportVolumeRequest { DryRun?: boolean; /** - *

                                                                              A description of the volume.

                                                                              + *

                                                                              The Availability Zone for the resulting EBS volume.

                                                                              */ - Description?: string; + AvailabilityZone: string | undefined; /** *

                                                                              The volume size.

                                                                              @@ -624,6 +1292,11 @@ export interface ImportVolumeRequest { *

                                                                              The disk image.

                                                                              */ Image: DiskImageDetail | undefined; + + /** + *

                                                                              A description of the volume.

                                                                              + */ + Description?: string; } export namespace ImportVolumeRequest { @@ -649,8 +1322,14 @@ export type ModifyAvailabilityZoneOptInStatus = "not-opted-in" | "opted-in"; export interface ModifyAvailabilityZoneGroupRequest { /** - *

                                                                              Indicates whether to enable or disable membership. The valid values are - * opted-in. You must contact AWS Support to disable an Availability Zone group.

                                                                              + *

                                                                              The name of the Availability Zone group, Local Zone group, or Wavelength Zone + * group.

                                                                              + */ + GroupName: string | undefined; + + /** + *

                                                                              Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The + * only valid value is opted-in. You must contact AWS Support to opt out of a Local Zone group, or Wavelength Zone group.

                                                                              */ OptInStatus: ModifyAvailabilityZoneOptInStatus | string | undefined; @@ -660,11 +1339,6 @@ export interface ModifyAvailabilityZoneGroupRequest { * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; - - /** - *

                                                                              The name of the Availability Zone Group.

                                                                              - */ - GroupName: string | undefined; } export namespace ModifyAvailabilityZoneGroupRequest { @@ -687,6 +1361,16 @@ export namespace ModifyAvailabilityZoneGroupResult { } export interface ModifyCapacityReservationRequest { + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              The ID of the Capacity Reservation.

                                                                              + */ + CapacityReservationId: string | undefined; + /** *

                                                                              The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to @@ -699,16 +1383,6 @@ export interface ModifyCapacityReservationRequest { */ EndDate?: Date; - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - - /** - *

                                                                              The number of instances for which to reserve capacity.

                                                                              - */ - InstanceCount?: number; - /** *

                                                                              Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end * types:

                                                                              @@ -730,9 +1404,9 @@ export interface ModifyCapacityReservationRequest { EndDateType?: EndDateType | string; /** - *

                                                                              The ID of the Capacity Reservation.

                                                                              + *

                                                                              The number of instances for which to reserve capacity.

                                                                              */ - CapacityReservationId: string | undefined; + InstanceCount?: number; } export namespace ModifyCapacityReservationRequest { @@ -758,18 +1432,18 @@ export namespace ModifyCapacityReservationResult { *

                                                                              Information about the DNS server to be used.

                                                                              */ export interface DnsServersOptionsModifyStructure { + /** + *

                                                                              Indicates whether DNS servers should be used. Specify False to delete the existing DNS + * servers.

                                                                              + */ + Enabled?: boolean; + /** *

                                                                              The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to * two DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values * overwrite the existing values.

                                                                              */ CustomDnsServers?: string[]; - - /** - *

                                                                              Indicates whether DNS servers should be used. Specify False to delete the existing DNS - * servers.

                                                                              - */ - Enabled?: boolean; } export namespace DnsServersOptionsModifyStructure { @@ -779,11 +1453,6 @@ export namespace DnsServersOptionsModifyStructure { } export interface ModifyClientVpnEndpointRequest { - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - /** *

                                                                              The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

                                                                              *

                                                                              Valid Values: 443 | 1194 @@ -794,14 +1463,37 @@ export interface ModifyClientVpnEndpointRequest { VpnPort?: number; /** - *

                                                                              The IDs of one or more security groups to apply to the target network.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              */ - SecurityGroupIds?: string[]; + DryRun?: boolean; /** - *

                                                                              A brief description of the Client VPN endpoint.

                                                                              + *

                                                                              The ARN of the server certificate to be used. The server certificate must be provisioned in AWS Certificate Manager (ACM).

                                                                              */ - Description?: string; + ServerCertificateArn?: string; + + /** + *

                                                                              The ID of the Client VPN endpoint to modify.

                                                                              + */ + ClientVpnEndpointId: string | undefined; + + /** + *

                                                                              The ID of the VPC to associate with the Client VPN endpoint.

                                                                              + */ + VpcId?: string; + + /** + *

                                                                              Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have + * up to two DNS servers.

                                                                              + */ + DnsServers?: DnsServersOptionsModifyStructure; + + /** + *

                                                                              Indicates whether the VPN is split-tunnel.

                                                                              + *

                                                                              For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS + * Client VPN Administrator Guide.

                                                                              + */ + SplitTunnel?: boolean; /** *

                                                                              Information about the client connection logging options.

                                                                              @@ -825,32 +1517,14 @@ export interface ModifyClientVpnEndpointRequest { ConnectionLogOptions?: ConnectionLogOptions; /** - *

                                                                              The ARN of the server certificate to be used. The server certificate must be provisioned in AWS Certificate Manager (ACM).

                                                                              - */ - ServerCertificateArn?: string; - - /** - *

                                                                              Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have - * up to two DNS servers.

                                                                              - */ - DnsServers?: DnsServersOptionsModifyStructure; - - /** - *

                                                                              Indicates whether the VPN is split-tunnel.

                                                                              - *

                                                                              For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS - * Client VPN Administrator Guide.

                                                                              - */ - SplitTunnel?: boolean; - - /** - *

                                                                              The ID of the VPC to associate with the Client VPN endpoint.

                                                                              + *

                                                                              A brief description of the Client VPN endpoint.

                                                                              */ - VpcId?: string; + Description?: string; /** - *

                                                                              The ID of the Client VPN endpoint to modify.

                                                                              + *

                                                                              The IDs of one or more security groups to apply to the target network.

                                                                              */ - ClientVpnEndpointId: string | undefined; + SecurityGroupIds?: string[]; } export namespace ModifyClientVpnEndpointRequest { @@ -966,6 +1640,21 @@ export namespace ModifyEbsDefaultKmsKeyIdResult { } export interface ModifyFleetRequest { + /** + *

                                                                              The ID of the EC2 Fleet.

                                                                              + */ + FleetId: string | undefined; + + /** + *

                                                                              The size of the EC2 Fleet.

                                                                              + */ + TargetCapacitySpecification: TargetCapacitySpecificationRequest | undefined; + + /** + *

                                                                              The launch template and overrides.

                                                                              + */ + LaunchTemplateConfigs?: FleetLaunchTemplateConfigRequest[]; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -973,21 +1662,11 @@ export interface ModifyFleetRequest { */ DryRun?: boolean; - /** - *

                                                                              The ID of the EC2 Fleet.

                                                                              - */ - FleetId: string | undefined; - /** *

                                                                              Indicates whether running instances should be terminated if the total target capacity of * the EC2 Fleet is decreased below the current size of the EC2 Fleet.

                                                                              */ ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; - - /** - *

                                                                              The size of the EC2 Fleet.

                                                                              - */ - TargetCapacitySpecification: TargetCapacitySpecificationRequest | undefined; } export namespace ModifyFleetRequest { @@ -1035,34 +1714,29 @@ export namespace LoadPermissionRequest { */ export interface LoadPermissionModifications { /** - *

                                                                              The load permissions to remove.

                                                                              + *

                                                                              The load permissions to add.

                                                                              */ - Remove?: LoadPermissionRequest[]; + Add?: LoadPermissionRequest[]; /** - *

                                                                              The load permissions to add.

                                                                              + *

                                                                              The load permissions to remove.

                                                                              */ - Add?: LoadPermissionRequest[]; + Remove?: LoadPermissionRequest[]; } export namespace LoadPermissionModifications { export const filterSensitiveLog = (obj: LoadPermissionModifications): any => ({ ...obj, }); -} - -export type OperationType = "add" | "remove"; - -export interface ModifyFpgaImageAttributeRequest { - /** - *

                                                                              The user groups. This parameter is valid only when modifying the loadPermission attribute.

                                                                              - */ - UserGroups?: string[]; +} + +export type OperationType = "add" | "remove"; +export interface ModifyFpgaImageAttributeRequest { /** - *

                                                                              The ID of the AFI.

                                                                              + *

                                                                              The name of the attribute.

                                                                              */ - FpgaImageId: string | undefined; + Attribute?: FpgaImageAttributeName | string; /** *

                                                                              The product codes. After you add a product code to an AFI, it can't be removed. @@ -1071,41 +1745,46 @@ export interface ModifyFpgaImageAttributeRequest { ProductCodes?: string[]; /** - *

                                                                              The name of the attribute.

                                                                              + *

                                                                              The ID of the AFI.

                                                                              */ - Attribute?: FpgaImageAttributeName | string; + FpgaImageId: string | undefined; /** - *

                                                                              A description for the AFI.

                                                                              + *

                                                                              A name for the AFI.

                                                                              */ - Description?: string; + Name?: string; /** - *

                                                                              The load permission for the AFI.

                                                                              + *

                                                                              The user groups. This parameter is valid only when modifying the loadPermission attribute.

                                                                              */ - LoadPermission?: LoadPermissionModifications; + UserGroups?: string[]; /** - *

                                                                              A name for the AFI.

                                                                              + *

                                                                              The AWS account IDs. This parameter is valid only when modifying the loadPermission attribute.

                                                                              */ - Name?: string; + UserIds?: string[]; /** *

                                                                              The operation type.

                                                                              */ OperationType?: OperationType | string; + /** + *

                                                                              A description for the AFI.

                                                                              + */ + Description?: string; + + /** + *

                                                                              The load permission for the AFI.

                                                                              + */ + LoadPermission?: LoadPermissionModifications; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; - - /** - *

                                                                              The AWS account IDs. This parameter is valid only when modifying the loadPermission attribute.

                                                                              - */ - UserIds?: string[]; } export namespace ModifyFpgaImageAttributeRequest { @@ -1128,11 +1807,6 @@ export namespace ModifyFpgaImageAttributeResult { } export interface ModifyHostsRequest { - /** - *

                                                                              Specify whether to enable or disable auto-placement.

                                                                              - */ - AutoPlacement?: AutoPlacement | string; - /** *

                                                                              Specifies the instance family to be supported by the Dedicated Host. Specify this parameter * to modify a Dedicated Host to support multiple instance types within its current @@ -1146,15 +1820,14 @@ export interface ModifyHostsRequest { InstanceFamily?: string; /** - *

                                                                              Specifies the instance type to be supported by the Dedicated Host. Specify this parameter to - * modify a Dedicated Host to support only a specific instance type.

                                                                              - * - *

                                                                              If you want to modify a Dedicated Host to support multiple instance types in its current instance - * family, omit this parameter and specify InstanceFamily - * instead. You cannot specify InstanceType and - * InstanceFamily in the same request.

                                                                              + *

                                                                              The IDs of the Dedicated Hosts to modify.

                                                                              */ - InstanceType?: string; + HostIds: string[] | undefined; + + /** + *

                                                                              Specify whether to enable or disable auto-placement.

                                                                              + */ + AutoPlacement?: AutoPlacement | string; /** *

                                                                              Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, @@ -1164,9 +1837,15 @@ export interface ModifyHostsRequest { HostRecovery?: HostRecovery | string; /** - *

                                                                              The IDs of the Dedicated Hosts to modify.

                                                                              + *

                                                                              Specifies the instance type to be supported by the Dedicated Host. Specify this parameter to + * modify a Dedicated Host to support only a specific instance type.

                                                                              + * + *

                                                                              If you want to modify a Dedicated Host to support multiple instance types in its current instance + * family, omit this parameter and specify InstanceFamily + * instead. You cannot specify InstanceType and + * InstanceFamily in the same request.

                                                                              */ - HostIds: string[] | undefined; + InstanceType?: string; } export namespace ModifyHostsRequest { @@ -1195,11 +1874,6 @@ export namespace ModifyHostsResult { } export interface ModifyIdentityIdFormatRequest { - /** - *

                                                                              Indicates whether the resource should use longer IDs (17-character IDs)

                                                                              - */ - UseLongIds: boolean | undefined; - /** *

                                                                              The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | * elastic-ip-allocation | elastic-ip-association | @@ -1222,6 +1896,11 @@ export interface ModifyIdentityIdFormatRequest { * the account.

                                                                              */ PrincipalArn: string | undefined; + + /** + *

                                                                              Indicates whether the resource should use longer IDs (17-character IDs)

                                                                              + */ + UseLongIds: boolean | undefined; } export namespace ModifyIdentityIdFormatRequest { @@ -1264,14 +1943,14 @@ export namespace ModifyIdFormatRequest { */ export interface LaunchPermissionModifications { /** - *

                                                                              The AWS account ID to remove from the list of launch permissions for the AMI.

                                                                              + *

                                                                              The AWS account ID to add to the list of launch permissions for the AMI.

                                                                              */ - Remove?: LaunchPermission[]; + Add?: LaunchPermission[]; /** - *

                                                                              The AWS account ID to add to the list of launch permissions for the AMI.

                                                                              + *

                                                                              The AWS account ID to remove from the list of launch permissions for the AMI.

                                                                              */ - Add?: LaunchPermission[]; + Remove?: LaunchPermission[]; } export namespace LaunchPermissionModifications { @@ -1285,61 +1964,61 @@ export namespace LaunchPermissionModifications { */ export interface ModifyImageAttributeRequest { /** - *

                                                                              The value of the attribute being modified. - * This parameter can be used only when the Attribute parameter is description or productCodes.

                                                                              + *

                                                                              A new description for the AMI.

                                                                              */ - Value?: string; + Description?: AttributeValue; /** - *

                                                                              The operation type. - * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - OperationType?: OperationType | string; + DryRun?: boolean; /** - *

                                                                              The ID of the AMI.

                                                                              + *

                                                                              The DevPay product codes. After you add a product code to an AMI, it can't be removed.

                                                                              */ - ImageId: string | undefined; + ProductCodes?: string[]; /** - *

                                                                              A new description for the AMI.

                                                                              + *

                                                                              The AWS account IDs. + * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                              */ - Description?: AttributeValue; + UserIds?: string[]; /** - *

                                                                              The DevPay product codes. After you add a product code to an AMI, it can't be removed.

                                                                              + *

                                                                              The user groups. + * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                              */ - ProductCodes?: string[]; + UserGroups?: string[]; /** - *

                                                                              The name of the attribute to modify. - * The valid values are description, launchPermission, and productCodes.

                                                                              + *

                                                                              A new launch permission for the AMI.

                                                                              */ - Attribute?: string; + LaunchPermission?: LaunchPermissionModifications; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The name of the attribute to modify. + * The valid values are description, launchPermission, and productCodes.

                                                                              */ - DryRun?: boolean; + Attribute?: string; /** - *

                                                                              The user groups. + *

                                                                              The operation type. * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                              */ - UserGroups?: string[]; + OperationType?: OperationType | string; /** - *

                                                                              A new launch permission for the AMI.

                                                                              + *

                                                                              The ID of the AMI.

                                                                              */ - LaunchPermission?: LaunchPermissionModifications; + ImageId: string | undefined; /** - *

                                                                              The AWS account IDs. - * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                              + *

                                                                              The value of the attribute being modified. + * This parameter can be used only when the Attribute parameter is description or productCodes.

                                                                              */ - UserIds?: string[]; + Value?: string; } export namespace ModifyImageAttributeRequest { @@ -1354,14 +2033,14 @@ export namespace ModifyImageAttributeRequest { */ export interface EbsInstanceBlockDeviceSpecification { /** - *

                                                                              The ID of the EBS volume.

                                                                              + *

                                                                              Indicates whether the volume is deleted on instance termination.

                                                                              */ - VolumeId?: string; + DeleteOnTermination?: boolean; /** - *

                                                                              Indicates whether the volume is deleted on instance termination.

                                                                              + *

                                                                              The ID of the EBS volume.

                                                                              */ - DeleteOnTermination?: boolean; + VolumeId?: string; } export namespace EbsInstanceBlockDeviceSpecification { @@ -1375,25 +2054,25 @@ export namespace EbsInstanceBlockDeviceSpecification { */ export interface InstanceBlockDeviceMappingSpecification { /** - *

                                                                              The virtual device name.

                                                                              + *

                                                                              The device name (for example, /dev/sdh or xvdh).

                                                                              */ - VirtualName?: string; + DeviceName?: string; /** - *

                                                                              Parameters used to automatically set up EBS volumes when the instance is - * launched.

                                                                              + *

                                                                              suppress the specified device included in the block device mapping.

                                                                              */ - Ebs?: EbsInstanceBlockDeviceSpecification; + NoDevice?: string; /** - *

                                                                              suppress the specified device included in the block device mapping.

                                                                              + *

                                                                              The virtual device name.

                                                                              */ - NoDevice?: string; + VirtualName?: string; /** - *

                                                                              The device name (for example, /dev/sdh or xvdh).

                                                                              + *

                                                                              Parameters used to automatically set up EBS volumes when the instance is + * launched.

                                                                              */ - DeviceName?: string; + Ebs?: EbsInstanceBlockDeviceSpecification; } export namespace InstanceBlockDeviceMappingSpecification { @@ -1414,118 +2093,118 @@ export namespace BlobAttributeValue { export interface ModifyInstanceAttributeRequest { /** - *

                                                                              Changes the instance type to the specified value. For more information, see Instance - * types. If the instance type is not valid, the error returned is - * InvalidInstanceAttributeValue.

                                                                              + *

                                                                              Modifies the DeleteOnTermination attribute for volumes that are currently + * attached. The volume must be owned by the caller. If no value is specified for + * DeleteOnTermination, the default is true and the volume is + * deleted when the instance is terminated.

                                                                              + *

                                                                              To add instance store volumes to an Amazon EBS-backed instance, you must add them when + * you launch the instance. For more information, see Updating the block device mapping when launching an instance in the + * Amazon Elastic Compute Cloud User Guide.

                                                                              */ - InstanceType?: AttributeValue; + BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[]; /** - *

                                                                              Set to simple to enable enhanced networking with the Intel 82599 Virtual - * Function interface for the instance.

                                                                              - *

                                                                              There is no way to disable enhanced networking with the Intel 82599 Virtual Function - * interface at this time.

                                                                              - *

                                                                              This option is supported only for HVM instances. Specifying this option with a PV - * instance can make it unreachable.

                                                                              + *

                                                                              Changes the instance's RAM disk to the specified value. We recommend that you use + * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

                                                                              */ - SriovNetSupport?: AttributeValue; + Ramdisk?: AttributeValue; /** - *

                                                                              A new value for the attribute. Use only with the kernel, - * ramdisk, userData, disableApiTermination, or - * instanceInitiatedShutdownBehavior attribute.

                                                                              + *

                                                                              [EC2-VPC] Changes the security groups of the instance. You must specify at least one + * security group, even if it's just the default security group for the VPC. You must + * specify the security group ID, not the security group name.

                                                                              */ - Value?: string; + Groups?: string[]; /** - *

                                                                              Specifies whether an instance stops or terminates when you initiate shutdown from the - * instance (using the operating system command for system shutdown).

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - InstanceInitiatedShutdownBehavior?: AttributeValue; + DryRun?: boolean; /** - *

                                                                              Changes the instance's RAM disk to the specified value. We recommend that you use - * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

                                                                              + *

                                                                              Set to true to enable enhanced networking with ENA for the + * instance.

                                                                              + *

                                                                              This option is supported only for HVM instances. Specifying this option with a PV + * instance can make it unreachable.

                                                                              */ - Ramdisk?: AttributeValue; + EnaSupport?: AttributeBooleanValue; /** - *

                                                                              If the value is true, you can't terminate the instance using the Amazon - * EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot - * Instances.

                                                                              + *

                                                                              Specifies whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal EBS I/O performance. This optimization isn't available with all instance + * types. Additional usage charges apply when using an EBS Optimized instance.

                                                                              */ - DisableApiTermination?: AttributeBooleanValue; + EbsOptimized?: AttributeBooleanValue; /** - *

                                                                              Changes the instance's kernel to the specified value. We recommend that you use - * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

                                                                              + *

                                                                              The name of the attribute.

                                                                              */ - Kernel?: AttributeValue; + Attribute?: InstanceAttributeName | string; /** - *

                                                                              The ID of the instance.

                                                                              + *

                                                                              Changes the instance's user data to the specified value. If you are using an AWS SDK + * or command line tool, base64-encoding is performed for you, and you can load the text + * from a file. Otherwise, you must provide base64-encoded text.

                                                                              */ - InstanceId: string | undefined; + UserData?: BlobAttributeValue; /** - *

                                                                              Modifies the DeleteOnTermination attribute for volumes that are currently - * attached. The volume must be owned by the caller. If no value is specified for - * DeleteOnTermination, the default is true and the volume is - * deleted when the instance is terminated.

                                                                              - *

                                                                              To add instance store volumes to an Amazon EBS-backed instance, you must add them when - * you launch the instance. For more information, see Updating the block device mapping when launching an instance in the - * Amazon Elastic Compute Cloud User Guide.

                                                                              + *

                                                                              Specifies whether an instance stops or terminates when you initiate shutdown from the + * instance (using the operating system command for system shutdown).

                                                                              */ - BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[]; + InstanceInitiatedShutdownBehavior?: AttributeValue; /** - *

                                                                              Set to true to enable enhanced networking with ENA for the - * instance.

                                                                              + *

                                                                              Set to simple to enable enhanced networking with the Intel 82599 Virtual + * Function interface for the instance.

                                                                              + *

                                                                              There is no way to disable enhanced networking with the Intel 82599 Virtual Function + * interface at this time.

                                                                              *

                                                                              This option is supported only for HVM instances. Specifying this option with a PV * instance can make it unreachable.

                                                                              */ - EnaSupport?: AttributeBooleanValue; + SriovNetSupport?: AttributeValue; /** - *

                                                                              [EC2-VPC] Changes the security groups of the instance. You must specify at least one - * security group, even if it's just the default security group for the VPC. You must - * specify the security group ID, not the security group name.

                                                                              + *

                                                                              Changes the instance type to the specified value. For more information, see Instance + * types. If the instance type is not valid, the error returned is + * InvalidInstanceAttributeValue.

                                                                              */ - Groups?: string[]; + InstanceType?: AttributeValue; /** - *

                                                                              Changes the instance's user data to the specified value. If you are using an AWS SDK - * or command line tool, base64-encoding is performed for you, and you can load the text - * from a file. Otherwise, you must provide base64-encoded text.

                                                                              + *

                                                                              Specifies whether source/destination checking is enabled. A value of true + * means that checking is enabled, and false means that checking is disabled. + * This value must be false for a NAT instance to perform NAT.

                                                                              */ - UserData?: BlobAttributeValue; + SourceDestCheck?: AttributeBooleanValue; /** - *

                                                                              The name of the attribute.

                                                                              + *

                                                                              If the value is true, you can't terminate the instance using the Amazon + * EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot + * Instances.

                                                                              */ - Attribute?: InstanceAttributeName | string; + DisableApiTermination?: AttributeBooleanValue; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the instance.

                                                                              */ - DryRun?: boolean; + InstanceId: string | undefined; /** - *

                                                                              Specifies whether source/destination checking is enabled. A value of true - * means that checking is enabled, and false means that checking is disabled. - * This value must be false for a NAT instance to perform NAT.

                                                                              + *

                                                                              A new value for the attribute. Use only with the kernel, + * ramdisk, userData, disableApiTermination, or + * instanceInitiatedShutdownBehavior attribute.

                                                                              */ - SourceDestCheck?: AttributeBooleanValue; + Value?: string; /** - *

                                                                              Specifies whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal EBS I/O performance. This optimization isn't available with all instance - * types. Additional usage charges apply when using an EBS Optimized instance.

                                                                              + *

                                                                              Changes the instance's kernel to the specified value. We recommend that you use + * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

                                                                              */ - EbsOptimized?: AttributeBooleanValue; + Kernel?: AttributeValue; } export namespace ModifyInstanceAttributeRequest { @@ -1545,11 +2224,6 @@ export namespace ModifyInstanceAttributeRequest { * Capacity Reservation or a Capacity Reservation group.

                                                                              */ export interface CapacityReservationSpecification { - /** - *

                                                                              Information about the target Capacity Reservation or Capacity Reservation group.

                                                                              - */ - CapacityReservationTarget?: CapacityReservationTarget; - /** *

                                                                              Indicates the instance's Capacity Reservation preferences. Possible preferences include:

                                                                              *
                                                                                @@ -1566,6 +2240,11 @@ export interface CapacityReservationSpecification { *
                                                                              */ CapacityReservationPreference?: CapacityReservationPreference | string; + + /** + *

                                                                              Information about the target Capacity Reservation or Capacity Reservation group.

                                                                              + */ + CapacityReservationTarget?: CapacityReservationTarget; } export namespace CapacityReservationSpecification { @@ -1576,9 +2255,9 @@ export namespace CapacityReservationSpecification { export interface ModifyInstanceCapacityReservationAttributesRequest { /** - *

                                                                              The ID of the instance to be modified.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              */ - InstanceId: string | undefined; + DryRun?: boolean; /** *

                                                                              Information about the Capacity Reservation targeting option.

                                                                              @@ -1586,9 +2265,9 @@ export interface ModifyInstanceCapacityReservationAttributesRequest { CapacityReservationSpecification: CapacityReservationSpecification | undefined; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the instance to be modified.

                                                                              */ - DryRun?: boolean; + InstanceId: string | undefined; } export namespace ModifyInstanceCapacityReservationAttributesRequest { @@ -1614,16 +2293,16 @@ export namespace ModifyInstanceCapacityReservationAttributesResult { *

                                                                              Describes the credit option for CPU usage of a burstable performance instance.

                                                                              */ export interface InstanceCreditSpecificationRequest { - /** - *

                                                                              The ID of the instance.

                                                                              - */ - InstanceId?: string; - /** *

                                                                              The credit option for CPU usage of the instance. Valid values are * standard and unlimited.

                                                                              */ CpuCredits?: string; + + /** + *

                                                                              The ID of the instance.

                                                                              + */ + InstanceId?: string; } export namespace InstanceCreditSpecificationRequest { @@ -1634,11 +2313,11 @@ export namespace InstanceCreditSpecificationRequest { export interface ModifyInstanceCreditSpecificationRequest { /** - *

                                                                              A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring - * Idempotency.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - ClientToken?: string; + DryRun?: boolean; /** *

                                                                              Information about the credit option for CPU usage.

                                                                              @@ -1646,11 +2325,11 @@ export interface ModifyInstanceCreditSpecificationRequest { InstanceCreditSpecifications: InstanceCreditSpecificationRequest[] | undefined; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring + * Idempotency.

                                                                              */ - DryRun?: boolean; + ClientToken?: string; } export namespace ModifyInstanceCreditSpecificationRequest { @@ -1689,14 +2368,14 @@ export enum UnsuccessfulInstanceCreditSpecificationErrorCode { */ export interface UnsuccessfulInstanceCreditSpecificationItemError { /** - *

                                                                              The error code.

                                                                              + *

                                                                              The applicable error message.

                                                                              */ - Code?: UnsuccessfulInstanceCreditSpecificationErrorCode | string; + Message?: string; /** - *

                                                                              The applicable error message.

                                                                              + *

                                                                              The error code.

                                                                              */ - Message?: string; + Code?: UnsuccessfulInstanceCreditSpecificationErrorCode | string; } export namespace UnsuccessfulInstanceCreditSpecificationItemError { @@ -1711,15 +2390,15 @@ export namespace UnsuccessfulInstanceCreditSpecificationItemError { */ export interface UnsuccessfulInstanceCreditSpecificationItem { /** - *

                                                                              The applicable error for the burstable performance instance whose credit option for - * CPU usage was not modified.

                                                                              + *

                                                                              The ID of the instance.

                                                                              */ - Error?: UnsuccessfulInstanceCreditSpecificationItemError; + InstanceId?: string; /** - *

                                                                              The ID of the instance.

                                                                              + *

                                                                              The applicable error for the burstable performance instance whose credit option for + * CPU usage was not modified.

                                                                              */ - InstanceId?: string; + Error?: UnsuccessfulInstanceCreditSpecificationItemError; } export namespace UnsuccessfulInstanceCreditSpecificationItem { @@ -1749,6 +2428,11 @@ export namespace ModifyInstanceCreditSpecificationResult { } export interface ModifyInstanceEventStartTimeRequest { + /** + *

                                                                              The new date and time when the event will take place.

                                                                              + */ + NotBefore: Date | undefined; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1757,19 +2441,14 @@ export interface ModifyInstanceEventStartTimeRequest { DryRun?: boolean; /** - *

                                                                              The ID of the instance with the scheduled event.

                                                                              - */ - InstanceId: string | undefined; - - /** - *

                                                                              The new date and time when the event will take place.

                                                                              + *

                                                                              The ID of the event whose date and time you are modifying.

                                                                              */ - NotBefore: Date | undefined; + InstanceEventId: string | undefined; /** - *

                                                                              The ID of the event whose date and time you are modifying.

                                                                              + *

                                                                              The ID of the instance with the scheduled event.

                                                                              */ - InstanceEventId: string | undefined; + InstanceId: string | undefined; } export namespace ModifyInstanceEventStartTimeRequest { @@ -1792,21 +2471,6 @@ export namespace ModifyInstanceEventStartTimeResult { } export interface ModifyInstanceMetadataOptionsRequest { - /** - *

                                                                              This parameter enables or disables the HTTP metadata endpoint on your instances. If - * the parameter is not specified, the existing state is maintained.

                                                                              - * - *

                                                                              If you specify a value of disabled, you will not be able to access your - * instance metadata.

                                                                              - *
                                                                              - */ - HttpEndpoint?: InstanceMetadataEndpointState | string; - - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - /** *

                                                                              The state of token usage for your instance metadata requests. If the parameter is not * specified in the request, the default state is optional.

                                                                              @@ -1833,6 +2497,21 @@ export interface ModifyInstanceMetadataOptionsRequest { *

                                                                              The ID of the instance.

                                                                              */ InstanceId: string | undefined; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              This parameter enables or disables the HTTP metadata endpoint on your instances. If + * the parameter is not specified, the existing state is maintained.

                                                                              + * + *

                                                                              If you specify a value of disabled, you will not be able to access your + * instance metadata.

                                                                              + *
                                                                              + */ + HttpEndpoint?: InstanceMetadataEndpointState | string; } export namespace ModifyInstanceMetadataOptionsRequest { @@ -1843,14 +2522,14 @@ export namespace ModifyInstanceMetadataOptionsRequest { export interface ModifyInstanceMetadataOptionsResult { /** - *

                                                                              The metadata options for the instance.

                                                                              + *

                                                                              The ID of the instance.

                                                                              */ - InstanceMetadataOptions?: InstanceMetadataOptionsResponse; + InstanceId?: string; /** - *

                                                                              The ID of the instance.

                                                                              + *

                                                                              The metadata options for the instance.

                                                                              */ - InstanceId?: string; + InstanceMetadataOptions?: InstanceMetadataOptionsResponse; } export namespace ModifyInstanceMetadataOptionsResult { @@ -1862,30 +2541,30 @@ export namespace ModifyInstanceMetadataOptionsResult { export type HostTenancy = "dedicated" | "host"; export interface ModifyInstancePlacementRequest { + /** + *

                                                                              The tenancy for the instance.

                                                                              + */ + Tenancy?: HostTenancy | string; + /** *

                                                                              The affinity setting for the instance.

                                                                              */ Affinity?: Affinity | string; /** - *

                                                                              The ID of the instance that you are modifying.

                                                                              + *

                                                                              The ID of the Dedicated Host with which to associate the instance.

                                                                              */ - InstanceId: string | undefined; + HostId?: string; /** - *

                                                                              The name of the placement group in which to place the instance. For spread placement - * groups, the instance must have a tenancy of default. For cluster and - * partition placement groups, the instance must have a tenancy of default or - * dedicated.

                                                                              - *

                                                                              To remove an instance from a placement group, specify an empty string - * ("").

                                                                              + *

                                                                              The ARN of the host resource group in which to place the instance.

                                                                              */ - GroupName?: string; + HostResourceGroupArn?: string; /** - *

                                                                              The tenancy for the instance.

                                                                              + *

                                                                              The ID of the instance that you are modifying.

                                                                              */ - Tenancy?: HostTenancy | string; + InstanceId: string | undefined; /** *

                                                                              Reserved for future use.

                                                                              @@ -1893,14 +2572,14 @@ export interface ModifyInstancePlacementRequest { PartitionNumber?: number; /** - *

                                                                              The ARN of the host resource group in which to place the instance.

                                                                              - */ - HostResourceGroupArn?: string; - - /** - *

                                                                              The ID of the Dedicated Host with which to associate the instance.

                                                                              + *

                                                                              The name of the placement group in which to place the instance. For spread placement + * groups, the instance must have a tenancy of default. For cluster and + * partition placement groups, the instance must have a tenancy of default or + * dedicated.

                                                                              + *

                                                                              To remove an instance from a placement group, specify an empty string + * ("").

                                                                              */ - HostId?: string; + GroupName?: string; } export namespace ModifyInstancePlacementRequest { @@ -1924,18 +2603,18 @@ export namespace ModifyInstancePlacementResult { export interface ModifyLaunchTemplateRequest { /** - *

                                                                              The ID of the launch template. You must specify either the launch template ID or + *

                                                                              The name of the launch template. You must specify either the launch template ID or * launch template name in the request.

                                                                              */ - LaunchTemplateId?: string; + LaunchTemplateName?: string; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                                              + *

                                                                              Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

                                                                              + *

                                                                              Constraint: Maximum 128 ASCII characters.

                                                                              */ - DryRun?: boolean; + ClientToken?: string; /** *

                                                                              The version number of the launch template to set as the default version.

                                                                              @@ -1943,18 +2622,18 @@ export interface ModifyLaunchTemplateRequest { DefaultVersion?: string; /** - *

                                                                              Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

                                                                              - *

                                                                              Constraint: Maximum 128 ASCII characters.

                                                                              + *

                                                                              The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

                                                                              */ - ClientToken?: string; + LaunchTemplateId?: string; /** - *

                                                                              The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                                              */ - LaunchTemplateName?: string; + DryRun?: boolean; } export namespace ModifyLaunchTemplateRequest { @@ -1999,14 +2678,9 @@ export interface ModifyManagedPrefixListRequest { AddEntries?: AddPrefixListEntry[]; /** - *

                                                                              The ID of the prefix list.

                                                                              - */ - PrefixListId: string | undefined; - - /** - *

                                                                              The current version of the prefix list.

                                                                              + *

                                                                              One or more entries to remove from the prefix list.

                                                                              */ - CurrentVersion?: number; + RemoveEntries?: RemovePrefixListEntry[]; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -2015,15 +2689,20 @@ export interface ModifyManagedPrefixListRequest { */ DryRun?: boolean; + /** + *

                                                                              The ID of the prefix list.

                                                                              + */ + PrefixListId: string | undefined; + /** *

                                                                              A name for the prefix list.

                                                                              */ PrefixListName?: string; /** - *

                                                                              One or more entries to remove from the prefix list.

                                                                              + *

                                                                              The current version of the prefix list.

                                                                              */ - RemoveEntries?: RemovePrefixListEntry[]; + CurrentVersion?: number; } export namespace ModifyManagedPrefixListRequest { @@ -2062,24 +2741,14 @@ export interface NetworkInterfaceAttachmentChanges { export namespace NetworkInterfaceAttachmentChanges { export const filterSensitiveLog = (obj: NetworkInterfaceAttachmentChanges): any => ({ - ...obj, - }); -} - -/** - *

                                                                              Contains the parameters for ModifyNetworkInterfaceAttribute.

                                                                              - */ -export interface ModifyNetworkInterfaceAttributeRequest { - /** - *

                                                                              Indicates whether source/destination checking is enabled. - * A value of true means checking - * is enabled, and false means checking is disabled. This value - * must be false for a NAT instance to perform NAT. For more - * information, see NAT - * Instances in the Amazon Virtual Private Cloud User Guide.

                                                                              - */ - SourceDestCheck?: AttributeBooleanValue; + ...obj, + }); +} +/** + *

                                                                              Contains the parameters for ModifyNetworkInterfaceAttribute.

                                                                              + */ +export interface ModifyNetworkInterfaceAttributeRequest { /** *

                                                                              Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

                                                                              */ @@ -2095,17 +2764,27 @@ export interface ModifyNetworkInterfaceAttributeRequest { */ Attachment?: NetworkInterfaceAttachmentChanges; + /** + *

                                                                              The ID of the network interface.

                                                                              + */ + NetworkInterfaceId: string | undefined; + + /** + *

                                                                              Indicates whether source/destination checking is enabled. + * A value of true means checking + * is enabled, and false means checking is disabled. This value + * must be false for a NAT instance to perform NAT. For more + * information, see NAT + * Instances in the Amazon Virtual Private Cloud User Guide.

                                                                              + */ + SourceDestCheck?: AttributeBooleanValue; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; - - /** - *

                                                                              The ID of the network interface.

                                                                              - */ - NetworkInterfaceId: string | undefined; } export namespace ModifyNetworkInterfaceAttributeRequest { @@ -2118,11 +2797,6 @@ export namespace ModifyNetworkInterfaceAttributeRequest { *

                                                                              Contains the parameters for ModifyReservedInstances.

                                                                              */ export interface ModifyReservedInstancesRequest { - /** - *

                                                                              The configuration settings for the Reserved Instances to modify.

                                                                              - */ - TargetConfigurations: ReservedInstancesConfiguration[] | undefined; - /** *

                                                                              The IDs of the Reserved Instances to modify.

                                                                              */ @@ -2133,6 +2807,11 @@ export interface ModifyReservedInstancesRequest { * Ensuring Idempotency.

                                                                              */ ClientToken?: string; + + /** + *

                                                                              The configuration settings for the Reserved Instances to modify.

                                                                              + */ + TargetConfigurations: ReservedInstancesConfiguration[] | undefined; } export namespace ModifyReservedInstancesRequest { @@ -2162,14 +2841,14 @@ export namespace ModifyReservedInstancesResult { */ export interface CreateVolumePermissionModifications { /** - *

                                                                              Removes the specified AWS account ID or group from the list.

                                                                              + *

                                                                              Adds the specified AWS account ID or group to the list.

                                                                              */ - Remove?: CreateVolumePermission[]; + Add?: CreateVolumePermission[]; /** - *

                                                                              Adds the specified AWS account ID or group to the list.

                                                                              + *

                                                                              Removes the specified AWS account ID or group from the list.

                                                                              */ - Add?: CreateVolumePermission[]; + Remove?: CreateVolumePermission[]; } export namespace CreateVolumePermissionModifications { @@ -2180,34 +2859,24 @@ export namespace CreateVolumePermissionModifications { export interface ModifySnapshotAttributeRequest { /** - *

                                                                              The account ID to modify for the snapshot.

                                                                              + *

                                                                              The group to modify for the snapshot.

                                                                              */ - UserIds?: string[]; + GroupNames?: string[]; /** *

                                                                              The ID of the snapshot.

                                                                              */ SnapshotId: string | undefined; - /** - *

                                                                              The type of operation to perform to the attribute.

                                                                              - */ - OperationType?: OperationType | string; - /** *

                                                                              The snapshot attribute to modify. Only volume creation permissions can be modified.

                                                                              */ Attribute?: SnapshotAttributeName | string; /** - *

                                                                              A JSON representation of the snapshot attribute modification.

                                                                              - */ - CreateVolumePermission?: CreateVolumePermissionModifications; - - /** - *

                                                                              The group to modify for the snapshot.

                                                                              + *

                                                                              The account ID to modify for the snapshot.

                                                                              */ - GroupNames?: string[]; + UserIds?: string[]; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -2215,6 +2884,16 @@ export interface ModifySnapshotAttributeRequest { * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; + + /** + *

                                                                              The type of operation to perform to the attribute.

                                                                              + */ + OperationType?: OperationType | string; + + /** + *

                                                                              A JSON representation of the snapshot attribute modification.

                                                                              + */ + CreateVolumePermission?: CreateVolumePermissionModifications; } export namespace ModifySnapshotAttributeRequest { @@ -2232,20 +2911,25 @@ export interface ModifySpotFleetRequestRequest { */ SpotFleetRequestId: string | undefined; + /** + *

                                                                              Indicates whether running Spot Instances should be terminated if the target capacity of the Spot Fleet request is decreased below the current size of the Spot Fleet.

                                                                              + */ + ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; + /** *

                                                                              The size of the fleet.

                                                                              */ TargetCapacity?: number; /** - *

                                                                              The number of On-Demand Instances in the fleet.

                                                                              + *

                                                                              The launch template and overrides. You can only use this parameter if you specified a launch template (LaunchTemplateConfigs) in your Spot Fleet request. If you specified LaunchSpecifications in your Spot Fleet request, then omit this parameter.

                                                                              */ - OnDemandTargetCapacity?: number; + LaunchTemplateConfigs?: LaunchTemplateConfig[]; /** - *

                                                                              Indicates whether running Spot Instances should be terminated if the target capacity of the Spot Fleet request is decreased below the current size of the Spot Fleet.

                                                                              + *

                                                                              The number of On-Demand Instances in the fleet.

                                                                              */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; + OnDemandTargetCapacity?: number; } export namespace ModifySpotFleetRequestRequest { @@ -2270,218 +2954,355 @@ export namespace ModifySpotFleetRequestResponse { }); } -export interface ModifySubnetAttributeRequest { +export interface ModifySubnetAttributeRequest { + /** + *

                                                                              The customer-owned IPv4 address pool associated with the subnet.

                                                                              + *

                                                                              You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

                                                                              + */ + CustomerOwnedIpv4Pool?: string; + + /** + *

                                                                              Specify true to indicate that network interfaces attached to instances created in the + * specified subnet should be assigned a public IPv4 address.

                                                                              + */ + MapPublicIpOnLaunch?: AttributeBooleanValue; + + /** + *

                                                                              Specify true to indicate that network interfaces created in the + * specified subnet should be assigned an IPv6 address. This includes a network interface + * that's created when launching an instance into the subnet (the instance therefore + * receives an IPv6 address).

                                                                              + *

                                                                              If you enable the IPv6 addressing feature for your subnet, your network interface + * or instance only receives an IPv6 address if it's created using version + * 2016-11-15 or later of the Amazon EC2 API.

                                                                              + */ + AssignIpv6AddressOnCreation?: AttributeBooleanValue; + + /** + *

                                                                              The ID of the subnet.

                                                                              + */ + SubnetId: string | undefined; + + /** + *

                                                                              Specify true to indicate that network interfaces attached to instances created in the + * specified subnet should be assigned a customer-owned IPv4 address.

                                                                              + *

                                                                              When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

                                                                              + */ + MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue; +} + +export namespace ModifySubnetAttributeRequest { + export const filterSensitiveLog = (obj: ModifySubnetAttributeRequest): any => ({ + ...obj, + }); +} + +export interface ModifyTrafficMirrorFilterNetworkServicesRequest { + /** + *

                                                                              The network service, for example Amazon DNS, that you no longer want to mirror.

                                                                              + */ + RemoveNetworkServices?: (TrafficMirrorNetworkService | string)[]; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              The ID of the Traffic Mirror filter.

                                                                              + */ + TrafficMirrorFilterId: string | undefined; + + /** + *

                                                                              The network service, for example Amazon DNS, that you want to mirror.

                                                                              + */ + AddNetworkServices?: (TrafficMirrorNetworkService | string)[]; +} + +export namespace ModifyTrafficMirrorFilterNetworkServicesRequest { + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesRequest): any => ({ + ...obj, + }); +} + +export interface ModifyTrafficMirrorFilterNetworkServicesResult { + /** + *

                                                                              The Traffic Mirror filter that the network service is associated with.

                                                                              + */ + TrafficMirrorFilter?: TrafficMirrorFilter; +} + +export namespace ModifyTrafficMirrorFilterNetworkServicesResult { + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesResult): any => ({ + ...obj, + }); +} + +export type TrafficMirrorFilterRuleField = "description" | "destination-port-range" | "protocol" | "source-port-range"; + +export interface ModifyTrafficMirrorFilterRuleRequest { + /** + *

                                                                              The destination CIDR block to assign to the Traffic Mirror rule.

                                                                              + */ + DestinationCidrBlock?: string; + + /** + *

                                                                              The source CIDR block to assign to the Traffic Mirror rule.

                                                                              + */ + SourceCidrBlock?: string; + + /** + *

                                                                              The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given + * direction. The rules are processed in ascending order by rule number.

                                                                              + */ + RuleNumber?: number; + + /** + *

                                                                              The description to assign to the Traffic Mirror rule.

                                                                              + */ + Description?: string; + + /** + *

                                                                              The action to assign to the rule.

                                                                              + */ + RuleAction?: TrafficMirrorRuleAction | string; + + /** + *

                                                                              The port range to assign to the Traffic Mirror rule.

                                                                              + */ + SourcePortRange?: TrafficMirrorPortRangeRequest; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              The ID of the Traffic Mirror rule.

                                                                              + */ + TrafficMirrorFilterRuleId: string | undefined; + + /** + *

                                                                              The properties that you want to remove from the Traffic Mirror filter rule.

                                                                              + *

                                                                              When you remove a property from a Traffic Mirror filter rule, the property is set to the default.

                                                                              + */ + RemoveFields?: (TrafficMirrorFilterRuleField | string)[]; + + /** + *

                                                                              The destination ports that are associated with the Traffic Mirror rule.

                                                                              + */ + DestinationPortRange?: TrafficMirrorPortRangeRequest; + + /** + *

                                                                              The protocol, for example TCP, to assign to the Traffic Mirror rule.

                                                                              + */ + Protocol?: number; + + /** + *

                                                                              The type of traffic (ingress | egress) to assign to the rule.

                                                                              + */ + TrafficDirection?: TrafficDirection | string; +} + +export namespace ModifyTrafficMirrorFilterRuleRequest { + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleRequest): any => ({ + ...obj, + }); +} + +export interface ModifyTrafficMirrorFilterRuleResult { + /** + *

                                                                              Modifies a Traffic Mirror rule.

                                                                              + */ + TrafficMirrorFilterRule?: TrafficMirrorFilterRule; +} + +export namespace ModifyTrafficMirrorFilterRuleResult { + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleResult): any => ({ + ...obj, + }); +} + +export type TrafficMirrorSessionField = "description" | "packet-length" | "virtual-network-id"; + +export interface ModifyTrafficMirrorSessionRequest { /** - *

                                                                              The ID of the subnet.

                                                                              + *

                                                                              The properties that you want to remove from the Traffic Mirror session.

                                                                              + *

                                                                              When you remove a property from a Traffic Mirror session, the property is set to the default.

                                                                              */ - SubnetId: string | undefined; + RemoveFields?: (TrafficMirrorSessionField | string)[]; /** - *

                                                                              The customer-owned IPv4 address pool associated with the subnet.

                                                                              - *

                                                                              You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

                                                                              + *

                                                                              The virtual network ID of the Traffic Mirror session.

                                                                              */ - CustomerOwnedIpv4Pool?: string; + VirtualNetworkId?: number; /** - *

                                                                              Specify true to indicate that network interfaces created in the - * specified subnet should be assigned an IPv6 address. This includes a network interface - * that's created when launching an instance into the subnet (the instance therefore - * receives an IPv6 address).

                                                                              - *

                                                                              If you enable the IPv6 addressing feature for your subnet, your network interface - * or instance only receives an IPv6 address if it's created using version - * 2016-11-15 or later of the Amazon EC2 API.

                                                                              + *

                                                                              The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

                                                                              */ - AssignIpv6AddressOnCreation?: AttributeBooleanValue; + TrafficMirrorTargetId?: string; /** - *

                                                                              Specify true to indicate that network interfaces attached to instances created in the - * specified subnet should be assigned a customer-owned IPv4 address.

                                                                              - *

                                                                              When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

                                                                              + *

                                                                              The description to assign to the Traffic Mirror session.

                                                                              */ - MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue; + Description?: string; /** - *

                                                                              Specify true to indicate that network interfaces attached to instances created in the - * specified subnet should be assigned a public IPv4 address.

                                                                              + *

                                                                              The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

                                                                              + *

                                                                              Valid values are 1-32766.

                                                                              */ - MapPublicIpOnLaunch?: AttributeBooleanValue; -} - -export namespace ModifySubnetAttributeRequest { - export const filterSensitiveLog = (obj: ModifySubnetAttributeRequest): any => ({ - ...obj, - }); -} + SessionNumber?: number; -export interface ModifyTrafficMirrorFilterNetworkServicesRequest { /** - *

                                                                              The ID of the Traffic Mirror filter.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - TrafficMirrorFilterId: string | undefined; + DryRun?: boolean; /** - *

                                                                              The network service, for example Amazon DNS, that you want to mirror.

                                                                              + *

                                                                              The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

                                                                              */ - AddNetworkServices?: (TrafficMirrorNetworkService | string)[]; + PacketLength?: number; /** - *

                                                                              The network service, for example Amazon DNS, that you no longer want to mirror.

                                                                              + *

                                                                              The ID of the Traffic Mirror session.

                                                                              */ - RemoveNetworkServices?: (TrafficMirrorNetworkService | string)[]; + TrafficMirrorSessionId: string | undefined; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the Traffic Mirror filter.

                                                                              */ - DryRun?: boolean; + TrafficMirrorFilterId?: string; } -export namespace ModifyTrafficMirrorFilterNetworkServicesRequest { - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesRequest): any => ({ +export namespace ModifyTrafficMirrorSessionRequest { + export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionRequest): any => ({ ...obj, }); } -export interface ModifyTrafficMirrorFilterNetworkServicesResult { +export interface ModifyTrafficMirrorSessionResult { /** - *

                                                                              The Traffic Mirror filter that the network service is associated with.

                                                                              + *

                                                                              Information about the Traffic Mirror session.

                                                                              */ - TrafficMirrorFilter?: TrafficMirrorFilter; + TrafficMirrorSession?: TrafficMirrorSession; } -export namespace ModifyTrafficMirrorFilterNetworkServicesResult { - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesResult): any => ({ +export namespace ModifyTrafficMirrorSessionResult { + export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionResult): any => ({ ...obj, }); } -export type TrafficMirrorFilterRuleField = "description" | "destination-port-range" | "protocol" | "source-port-range"; - -export interface ModifyTrafficMirrorFilterRuleRequest { +/** + *

                                                                              The transit gateway options.

                                                                              + */ +export interface ModifyTransitGatewayOptions { /** - *

                                                                              The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given - * direction. The rules are processed in ascending order by rule number.

                                                                              + *

                                                                              The ID of the default propagation route table.

                                                                              */ - RuleNumber?: number; + PropagationDefaultRouteTableId?: string; /** - *

                                                                              The protocol, for example TCP, to assign to the Traffic Mirror rule.

                                                                              + *

                                                                              The ID of the default association route table.

                                                                              */ - Protocol?: number; + AssociationDefaultRouteTableId?: string; /** - *

                                                                              The source CIDR block to assign to the Traffic Mirror rule.

                                                                              + *

                                                                              Enable or disable automatic association with the default association route table.

                                                                              */ - SourceCidrBlock?: string; + DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; /** - *

                                                                              The type of traffic (ingress | egress) to assign to the rule.

                                                                              + *

                                                                              Enable or disable automatic propagation of routes to the default propagation route table.

                                                                              */ - TrafficDirection?: TrafficDirection | string; + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; /** - *

                                                                              The description to assign to the Traffic Mirror rule.

                                                                              + *

                                                                              Enable or disable DNS support.

                                                                              */ - Description?: string; + DnsSupport?: DnsSupportValue | string; /** - *

                                                                              The action to assign to the rule.

                                                                              + *

                                                                              Enable or disable automatic acceptance of attachment requests.

                                                                              */ - RuleAction?: TrafficMirrorRuleAction | string; + AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; /** - *

                                                                              The destination ports that are associated with the Traffic Mirror rule.

                                                                              + *

                                                                              Enable or disable Equal Cost Multipath Protocol support.

                                                                              */ - DestinationPortRange?: TrafficMirrorPortRangeRequest; + VpnEcmpSupport?: VpnEcmpSupportValue | string; +} - /** - *

                                                                              The ID of the Traffic Mirror rule.

                                                                              - */ - TrafficMirrorFilterRuleId: string | undefined; +export namespace ModifyTransitGatewayOptions { + export const filterSensitiveLog = (obj: ModifyTransitGatewayOptions): any => ({ + ...obj, + }); +} +export interface ModifyTransitGatewayRequest { /** - *

                                                                              The port range to assign to the Traffic Mirror rule.

                                                                              + *

                                                                              The ID of the transit gateway.

                                                                              */ - SourcePortRange?: TrafficMirrorPortRangeRequest; + TransitGatewayId: string | undefined; /** - *

                                                                              The destination CIDR block to assign to the Traffic Mirror rule.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - DestinationCidrBlock?: string; + DryRun?: boolean; /** - *

                                                                              The properties that you want to remove from the Traffic Mirror filter rule.

                                                                              - *

                                                                              When you remove a property from a Traffic Mirror filter rule, the property is set to the default.

                                                                              + *

                                                                              The description for the transit gateway.

                                                                              */ - RemoveFields?: (TrafficMirrorFilterRuleField | string)[]; + Description?: string; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The options to modify.

                                                                              */ - DryRun?: boolean; + Options?: ModifyTransitGatewayOptions; } -export namespace ModifyTrafficMirrorFilterRuleRequest { - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleRequest): any => ({ +export namespace ModifyTransitGatewayRequest { + export const filterSensitiveLog = (obj: ModifyTransitGatewayRequest): any => ({ ...obj, }); } -export interface ModifyTrafficMirrorFilterRuleResult { +export interface ModifyTransitGatewayResult { /** - *

                                                                              Modifies a Traffic Mirror rule.

                                                                              + *

                                                                              Describes a transit gateway.

                                                                              */ - TrafficMirrorFilterRule?: TrafficMirrorFilterRule; + TransitGateway?: TransitGateway; } -export namespace ModifyTrafficMirrorFilterRuleResult { - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleResult): any => ({ +export namespace ModifyTransitGatewayResult { + export const filterSensitiveLog = (obj: ModifyTransitGatewayResult): any => ({ ...obj, }); } -export type TrafficMirrorSessionField = "description" | "packet-length" | "virtual-network-id"; - -export interface ModifyTrafficMirrorSessionRequest { - /** - *

                                                                              The description to assign to the Traffic Mirror session.

                                                                              - */ - Description?: string; - - /** - *

                                                                              The properties that you want to remove from the Traffic Mirror session.

                                                                              - *

                                                                              When you remove a property from a Traffic Mirror session, the property is set to the default.

                                                                              - */ - RemoveFields?: (TrafficMirrorSessionField | string)[]; - - /** - *

                                                                              The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

                                                                              - */ - TrafficMirrorTargetId?: string; - - /** - *

                                                                              The ID of the Traffic Mirror filter.

                                                                              - */ - TrafficMirrorFilterId?: string; - +export interface ModifyTransitGatewayPrefixListReferenceRequest { /** - *

                                                                              The ID of the Traffic Mirror session.

                                                                              + *

                                                                              The ID of the prefix list.

                                                                              */ - TrafficMirrorSessionId: string | undefined; + PrefixListId: string | undefined; /** - *

                                                                              The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

                                                                              + *

                                                                              Indicates whether to drop traffic that matches this route.

                                                                              */ - PacketLength?: number; + Blackhole?: boolean; /** - *

                                                                              The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

                                                                              - *

                                                                              Valid values are 1-32766.

                                                                              + *

                                                                              The ID of the transit gateway route table.

                                                                              */ - SessionNumber?: number; + TransitGatewayRouteTableId: string | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -2491,26 +3312,26 @@ export interface ModifyTrafficMirrorSessionRequest { DryRun?: boolean; /** - *

                                                                              The virtual network ID of the Traffic Mirror session.

                                                                              + *

                                                                              The ID of the attachment to which traffic is routed.

                                                                              */ - VirtualNetworkId?: number; + TransitGatewayAttachmentId?: string; } -export namespace ModifyTrafficMirrorSessionRequest { - export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionRequest): any => ({ +export namespace ModifyTransitGatewayPrefixListReferenceRequest { + export const filterSensitiveLog = (obj: ModifyTransitGatewayPrefixListReferenceRequest): any => ({ ...obj, }); } -export interface ModifyTrafficMirrorSessionResult { +export interface ModifyTransitGatewayPrefixListReferenceResult { /** - *

                                                                              Information about the Traffic Mirror session.

                                                                              + *

                                                                              Information about the prefix list reference.

                                                                              */ - TrafficMirrorSession?: TrafficMirrorSession; + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; } -export namespace ModifyTrafficMirrorSessionResult { - export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionResult): any => ({ +export namespace ModifyTransitGatewayPrefixListReferenceResult { + export const filterSensitiveLog = (obj: ModifyTransitGatewayPrefixListReferenceResult): any => ({ ...obj, }); } @@ -2537,19 +3358,6 @@ export namespace ModifyTransitGatewayVpcAttachmentRequestOptions { } export interface ModifyTransitGatewayVpcAttachmentRequest { - /** - *

                                                                              The ID of the attachment.

                                                                              - */ - TransitGatewayAttachmentId: string | undefined; - - /** - *

                                                                              The new VPC attachment options.

                                                                              - * - *

                                                                              You cannot modify the IPv6 options.

                                                                              - *
                                                                              - */ - Options?: ModifyTransitGatewayVpcAttachmentRequestOptions; - /** *

                                                                              The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

                                                                              */ @@ -2566,6 +3374,19 @@ export interface ModifyTransitGatewayVpcAttachmentRequest { * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; + + /** + *

                                                                              The ID of the attachment.

                                                                              + */ + TransitGatewayAttachmentId: string | undefined; + + /** + *

                                                                              The new VPC attachment options.

                                                                              + * + *

                                                                              You cannot modify the IPv6 options.

                                                                              + *
                                                                              + */ + Options?: ModifyTransitGatewayVpcAttachmentRequestOptions; } export namespace ModifyTransitGatewayVpcAttachmentRequest { @@ -2588,6 +3409,15 @@ export namespace ModifyTransitGatewayVpcAttachmentResult { } export interface ModifyVolumeRequest { + /** + *

                                                                              The target IOPS rate of the volume.

                                                                              + *

                                                                              This is only valid for Provisioned IOPS SSD (io1 and io2) volumes. For moreinformation, see + * + * Provisioned IOPS SSD (io1 and io2) volumes.

                                                                              + *

                                                                              Default: If no IOPS value is specified, the existing value is retained.

                                                                              + */ + Iops?: number; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -2604,25 +3434,16 @@ export interface ModifyVolumeRequest { */ Size?: number; - /** - *

                                                                              The ID of the volume.

                                                                              - */ - VolumeId: string | undefined; - - /** - *

                                                                              The target IOPS rate of the volume.

                                                                              - *

                                                                              This is only valid for Provisioned IOPS SSD (io1) volumes. For more - * information, see Provisioned IOPS SSD (io1) - * Volumes.

                                                                              - *

                                                                              Default: If no IOPS value is specified, the existing value is retained.

                                                                              - */ - Iops?: number; - /** *

                                                                              The target EBS volume type of the volume.

                                                                              *

                                                                              Default: If no type is specified, the existing type is retained.

                                                                              */ VolumeType?: VolumeType | string; + + /** + *

                                                                              The ID of the volume.

                                                                              + */ + VolumeId: string | undefined; } export namespace ModifyVolumeRequest { @@ -2680,16 +3501,16 @@ export interface ModifyVpcAttributeRequest { */ EnableDnsSupport?: AttributeBooleanValue; - /** - *

                                                                              The ID of the VPC.

                                                                              - */ - VpcId: string | undefined; - /** *

                                                                              Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

                                                                              *

                                                                              You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

                                                                              */ EnableDnsHostnames?: AttributeBooleanValue; + + /** + *

                                                                              The ID of the VPC.

                                                                              + */ + VpcId: string | undefined; } export namespace ModifyVpcAttributeRequest { @@ -2702,38 +3523,26 @@ export namespace ModifyVpcAttributeRequest { *

                                                                              Contains the parameters for ModifyVpcEndpoint.

                                                                              */ export interface ModifyVpcEndpointRequest { - /** - *

                                                                              (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.

                                                                              - */ - RemoveRouteTableIds?: string[]; - - /** - *

                                                                              (Interface endpoint) Indicates whether a private hosted zone is associated with the - * VPC.

                                                                              - */ - PrivateDnsEnabled?: boolean; - /** *

                                                                              The ID of the endpoint.

                                                                              */ VpcEndpointId: string | undefined; /** - *

                                                                              (Gateway endpoint) Specify true to reset the policy document to the - * default policy. The default policy allows full access to the service.

                                                                              + *

                                                                              (Interface endpoint) One or more subnets IDs in which to remove the endpoint.

                                                                              */ - ResetPolicy?: boolean; + RemoveSubnetIds?: string[]; /** - *

                                                                              (Interface endpoint) One or more subnet IDs in which to serve the endpoint.

                                                                              + *

                                                                              (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.

                                                                              */ - AddSubnetIds?: string[]; + RemoveRouteTableIds?: string[]; /** - *

                                                                              A policy to attach to the endpoint that controls access to the service. The policy must - * be in valid JSON format.

                                                                              + *

                                                                              (Interface endpoint) Indicates whether a private hosted zone is associated with the + * VPC.

                                                                              */ - PolicyDocument?: string; + PrivateDnsEnabled?: boolean; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -2742,25 +3551,37 @@ export interface ModifyVpcEndpointRequest { */ DryRun?: boolean; + /** + *

                                                                              (Interface endpoint) One or more security group IDs to disassociate from the network interface.

                                                                              + */ + RemoveSecurityGroupIds?: string[]; + + /** + *

                                                                              (Gateway endpoint) One or more route tables IDs to associate with the endpoint.

                                                                              + */ + AddRouteTableIds?: string[]; + /** *

                                                                              (Interface endpoint) One or more security group IDs to associate with the network interface.

                                                                              */ AddSecurityGroupIds?: string[]; /** - *

                                                                              (Interface endpoint) One or more security group IDs to disassociate from the network interface.

                                                                              + *

                                                                              (Gateway endpoint) Specify true to reset the policy document to the + * default policy. The default policy allows full access to the service.

                                                                              */ - RemoveSecurityGroupIds?: string[]; + ResetPolicy?: boolean; /** - *

                                                                              (Gateway endpoint) One or more route tables IDs to associate with the endpoint.

                                                                              + *

                                                                              (Interface endpoint) One or more subnet IDs in which to serve the endpoint.

                                                                              */ - AddRouteTableIds?: string[]; + AddSubnetIds?: string[]; /** - *

                                                                              (Interface endpoint) One or more subnets IDs in which to remove the endpoint.

                                                                              + *

                                                                              A policy to attach to the endpoint that controls access to the service. The policy must + * be in valid JSON format.

                                                                              */ - RemoveSubnetIds?: string[]; + PolicyDocument?: string; } export namespace ModifyVpcEndpointRequest { @@ -2784,9 +3605,11 @@ export namespace ModifyVpcEndpointResult { export interface ModifyVpcEndpointConnectionNotificationRequest { /** - *

                                                                              The ARN for the SNS topic for the notification.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - ConnectionNotificationArn?: string; + DryRun?: boolean; /** *

                                                                              One or more events for the endpoint. Valid values are Accept, @@ -2800,11 +3623,9 @@ export interface ModifyVpcEndpointConnectionNotificationRequest { ConnectionNotificationId: string | undefined; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ARN for the SNS topic for the notification.

                                                                              */ - DryRun?: boolean; + ConnectionNotificationArn?: string; } export namespace ModifyVpcEndpointConnectionNotificationRequest { @@ -2827,12 +3648,6 @@ export namespace ModifyVpcEndpointConnectionNotificationResult { } export interface ModifyVpcEndpointServiceConfigurationRequest { - /** - *

                                                                              The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service - * configuration.

                                                                              - */ - AddNetworkLoadBalancerArns?: string[]; - /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -2841,20 +3656,25 @@ export interface ModifyVpcEndpointServiceConfigurationRequest { DryRun?: boolean; /** - *

                                                                              The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service + *

                                                                              The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service * configuration.

                                                                              */ - RemoveNetworkLoadBalancerArns?: string[]; + AddNetworkLoadBalancerArns?: string[]; /** - *

                                                                              The ID of the service.

                                                                              + *

                                                                              The private DNS name to assign to the endpoint service.

                                                                              */ - ServiceId: string | undefined; + PrivateDnsName?: string; /** - *

                                                                              The private DNS name to assign to the endpoint service.

                                                                              + *

                                                                              Removes the private DNS name of the endpoint service.

                                                                              */ - PrivateDnsName?: string; + RemovePrivateDnsName?: boolean; + + /** + *

                                                                              The ID of the service.

                                                                              + */ + ServiceId: string | undefined; /** *

                                                                              Indicates whether requests to create an endpoint to your service must be accepted.

                                                                              @@ -2862,9 +3682,10 @@ export interface ModifyVpcEndpointServiceConfigurationRequest { AcceptanceRequired?: boolean; /** - *

                                                                              Removes the private DNS name of the endpoint service.

                                                                              + *

                                                                              The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service + * configuration.

                                                                              */ - RemovePrivateDnsName?: boolean; + RemoveNetworkLoadBalancerArns?: string[]; } export namespace ModifyVpcEndpointServiceConfigurationRequest { @@ -2888,29 +3709,29 @@ export namespace ModifyVpcEndpointServiceConfigurationResult { export interface ModifyVpcEndpointServicePermissionsRequest { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the service.

                                                                              */ - DryRun?: boolean; + ServiceId: string | undefined; /** *

                                                                              The Amazon Resource Names (ARN) of one or more principals. - * Permissions are granted to the principals in this list. - * To grant permissions to all principals, specify an asterisk (*).

                                                                              + * Permissions are revoked for principals in this list.

                                                                              */ - AddAllowedPrincipals?: string[]; + RemoveAllowedPrincipals?: string[]; /** - *

                                                                              The ID of the service.

                                                                              + *

                                                                              The Amazon Resource Names (ARN) of one or more principals. + * Permissions are granted to the principals in this list. + * To grant permissions to all principals, specify an asterisk (*).

                                                                              */ - ServiceId: string | undefined; + AddAllowedPrincipals?: string[]; /** - *

                                                                              The Amazon Resource Names (ARN) of one or more principals. - * Permissions are revoked for principals in this list.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - RemoveAllowedPrincipals?: string[]; + DryRun?: boolean; } export namespace ModifyVpcEndpointServicePermissionsRequest { @@ -2937,9 +3758,10 @@ export namespace ModifyVpcEndpointServicePermissionsResult { */ export interface PeeringConnectionOptionsRequest { /** - *

                                                                              If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

                                                                              + *

                                                                              If true, enables outbound communication from instances in a local VPC to an + * EC2-Classic instance that's linked to a peer VPC using ClassicLink.

                                                                              */ - AllowDnsResolutionFromRemoteVpc?: boolean; + AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; /** *

                                                                              If true, enables outbound communication from an EC2-Classic instance that's linked to @@ -2948,10 +3770,9 @@ export interface PeeringConnectionOptionsRequest { AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; /** - *

                                                                              If true, enables outbound communication from instances in a local VPC to an - * EC2-Classic instance that's linked to a peer VPC using ClassicLink.

                                                                              + *

                                                                              If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

                                                                              */ - AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; + AllowDnsResolutionFromRemoteVpc?: boolean; } export namespace PeeringConnectionOptionsRequest { @@ -2967,9 +3788,11 @@ export interface ModifyVpcPeeringConnectionOptionsRequest { VpcPeeringConnectionId: string | undefined; /** - *

                                                                              The VPC peering connection options for the requester VPC.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - RequesterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; + DryRun?: boolean; /** *

                                                                              The VPC peering connection options for the accepter VPC.

                                                                              @@ -2977,11 +3800,9 @@ export interface ModifyVpcPeeringConnectionOptionsRequest { AccepterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The VPC peering connection options for the requester VPC.

                                                                              */ - DryRun?: boolean; + RequesterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; } export namespace ModifyVpcPeeringConnectionOptionsRequest { @@ -2994,18 +3815,18 @@ export namespace ModifyVpcPeeringConnectionOptionsRequest { *

                                                                              Describes the VPC peering connection options.

                                                                              */ export interface PeeringConnectionOptions { - /** - *

                                                                              If true, enables outbound communication from an EC2-Classic instance that's linked to - * a local VPC using ClassicLink to instances in a peer VPC.

                                                                              - */ - AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; - /** *

                                                                              If true, enables outbound communication from instances in a local VPC to an * EC2-Classic instance that's linked to a peer VPC using ClassicLink.

                                                                              */ AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; + /** + *

                                                                              If true, enables outbound communication from an EC2-Classic instance that's linked to + * a local VPC using ClassicLink to instances in a peer VPC.

                                                                              + */ + AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + /** *

                                                                              If true, the public DNS hostnames of instances in the specified VPC resolve to private * IP addresses when queried from instances in the peer VPC.

                                                                              @@ -3021,14 +3842,14 @@ export namespace PeeringConnectionOptions { export interface ModifyVpcPeeringConnectionOptionsResult { /** - *

                                                                              Information about the VPC peering connection options for the accepter VPC.

                                                                              + *

                                                                              Information about the VPC peering connection options for the requester VPC.

                                                                              */ - AccepterPeeringConnectionOptions?: PeeringConnectionOptions; + RequesterPeeringConnectionOptions?: PeeringConnectionOptions; /** - *

                                                                              Information about the VPC peering connection options for the requester VPC.

                                                                              + *

                                                                              Information about the VPC peering connection options for the accepter VPC.

                                                                              */ - RequesterPeeringConnectionOptions?: PeeringConnectionOptions; + AccepterPeeringConnectionOptions?: PeeringConnectionOptions; } export namespace ModifyVpcPeeringConnectionOptionsResult { @@ -3079,32 +3900,32 @@ export namespace ModifyVpcTenancyResult { } export interface ModifyVpnConnectionRequest { - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - /** *

                                                                              The ID of the customer gateway at your end of the VPN connection.

                                                                              */ CustomerGatewayId?: string; /** - *

                                                                              The ID of the VPN connection.

                                                                              + *

                                                                              The ID of the transit gateway.

                                                                              */ - VpnConnectionId: string | undefined; + TransitGatewayId?: string; /** - *

                                                                              The ID of the transit gateway.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - TransitGatewayId?: string; + DryRun?: boolean; /** *

                                                                              The ID of the virtual private gateway at the AWS side of the VPN connection.

                                                                              */ VpnGatewayId?: string; + + /** + *

                                                                              The ID of the VPN connection.

                                                                              + */ + VpnConnectionId: string | undefined; } export namespace ModifyVpnConnectionRequest { @@ -3126,124 +3947,108 @@ export namespace ModifyVpnConnectionResult { }); } -export interface ModifyVpnTunnelCertificateRequest { +export interface ModifyVpnConnectionOptionsRequest { /** - *

                                                                              The ID of the AWS Site-to-Site VPN connection.

                                                                              + *

                                                                              The ID of the Site-to-Site VPN connection. + *

                                                                              */ VpnConnectionId: string | undefined; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; /** - *

                                                                              The external IP address of the VPN tunnel.

                                                                              - */ - VpnTunnelOutsideIpAddress: string | undefined; -} - -export namespace ModifyVpnTunnelCertificateRequest { - export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateRequest): any => ({ - ...obj, - }); -} - -export interface ModifyVpnTunnelCertificateResult { - /** - *

                                                                              Describes a VPN connection.

                                                                              + *

                                                                              The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

                                                                              + *

                                                                              Default: 0.0.0.0/0 + *

                                                                              */ - VpnConnection?: VpnConnection; -} - -export namespace ModifyVpnTunnelCertificateResult { - export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateResult): any => ({ - ...obj, - }); -} + LocalIpv4NetworkCidr?: string; -/** - *

                                                                              The AWS Site-to-Site VPN tunnel options to modify.

                                                                              - */ -export interface ModifyVpnTunnelOptionsSpecification { /** - *

                                                                              The lifetime for phase 2 of the IKE negotiation, in seconds.

                                                                              - *

                                                                              Constraints: A value between 900 and 3,600. The value must be less than the value for Phase1LifetimeSeconds.

                                                                              - *

                                                                              Default: 3600 + *

                                                                              The IPv4 CIDR on the AWS side of the VPN connection.

                                                                              + *

                                                                              Default: 0.0.0.0/0 *

                                                                              */ - Phase2LifetimeSeconds?: number; + RemoteIpv4NetworkCidr?: string; /** - *

                                                                              One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                                                                              - *

                                                                              Valid values: SHA1 | SHA2-256 + *

                                                                              The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

                                                                              + *

                                                                              Default: ::/0 *

                                                                              */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; + LocalIpv6NetworkCidr?: string; /** - *

                                                                              One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                                                                              - *

                                                                              Valid values: SHA1 | SHA2-256 + *

                                                                              The IPv6 CIDR on the AWS side of the VPN connection.

                                                                              + *

                                                                              Default: ::/0 *

                                                                              */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; + RemoteIpv6NetworkCidr?: string; +} - /** - *

                                                                              The pre-shared key (PSK) to establish initial authentication between the virtual - * private gateway and the customer gateway.

                                                                              - *

                                                                              Constraints: Allowed characters are alphanumeric characters, periods (.), and - * underscores (_). Must be between 8 and 64 characters in length and cannot start with - * zero (0).

                                                                              - */ - PreSharedKey?: string; +export namespace ModifyVpnConnectionOptionsRequest { + export const filterSensitiveLog = (obj: ModifyVpnConnectionOptionsRequest): any => ({ + ...obj, + }); +} +export interface ModifyVpnConnectionOptionsResult { /** - *

                                                                              One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                                                                              - *

                                                                              Valid values: AES128 | AES256 - *

                                                                              + *

                                                                              Describes a VPN connection.

                                                                              */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; + VpnConnection?: VpnConnection; +} - /** - *

                                                                              One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                                                                              - *

                                                                              Valid values: AES128 | AES256 - *

                                                                              - */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; +export namespace ModifyVpnConnectionOptionsResult { + export const filterSensitiveLog = (obj: ModifyVpnConnectionOptionsResult): any => ({ + ...obj, + }); +} +export interface ModifyVpnTunnelCertificateRequest { /** - *

                                                                              The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.

                                                                              - *

                                                                              Constraints: A value between 60 and half of Phase2LifetimeSeconds.

                                                                              - *

                                                                              Default: 540 - *

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - RekeyMarginTimeSeconds?: number; + DryRun?: boolean; /** - *

                                                                              The number of seconds after which a DPD timeout occurs.

                                                                              - *

                                                                              Constraints: A value between 0 and 30.

                                                                              - *

                                                                              Default: 30 - *

                                                                              + *

                                                                              The ID of the AWS Site-to-Site VPN connection.

                                                                              */ - DPDTimeoutSeconds?: number; + VpnConnectionId: string | undefined; /** - *

                                                                              The number of packets in an IKE replay window.

                                                                              - *

                                                                              Constraints: A value between 64 and 2048.

                                                                              - *

                                                                              Default: 1024 - *

                                                                              + *

                                                                              The external IP address of the VPN tunnel.

                                                                              */ - ReplayWindowSize?: number; + VpnTunnelOutsideIpAddress: string | undefined; +} + +export namespace ModifyVpnTunnelCertificateRequest { + export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateRequest): any => ({ + ...obj, + }); +} +export interface ModifyVpnTunnelCertificateResult { /** - *

                                                                              One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                                                                              - *

                                                                              Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24 - *

                                                                              + *

                                                                              Describes a VPN connection.

                                                                              */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; + VpnConnection?: VpnConnection; +} +export namespace ModifyVpnTunnelCertificateResult { + export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateResult): any => ({ + ...obj, + }); +} + +/** + *

                                                                              The AWS Site-to-Site VPN tunnel options to modify.

                                                                              + */ +export interface ModifyVpnTunnelOptionsSpecification { /** *

                                                                              The percentage of the rekey window (determined by RekeyMarginTimeSeconds) during which the rekey time is randomly selected.

                                                                              *

                                                                              Constraints: A value between 0 and 100.

                                                                              @@ -3261,7 +4066,7 @@ export interface ModifyVpnTunnelOptionsSpecification { Phase1LifetimeSeconds?: number; /** - *

                                                                              The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique + *

                                                                              The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique * across all VPN connections that use the same virtual private gateway.

                                                                              *

                                                                              Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The * following CIDR blocks are reserved and cannot be used:

                                                                              @@ -3306,11 +4111,13 @@ export interface ModifyVpnTunnelOptionsSpecification { TunnelInsideCidr?: string; /** - *

                                                                              One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                                                                              - *

                                                                              Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24 + *

                                                                              The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation.

                                                                              + *

                                                                              Valid Values: add | start + *

                                                                              + *

                                                                              Default: add *

                                                                              */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; + StartupAction?: string; /** *

                                                                              The IKE versions that are permitted for the VPN tunnel.

                                                                              @@ -3318,6 +4125,104 @@ export interface ModifyVpnTunnelOptionsSpecification { *

                                                                              */ IKEVersions?: IKEVersionsRequestListValue[]; + + /** + *

                                                                              The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.

                                                                              + *

                                                                              Constraints: A size /126 CIDR block from the local fd00::/8 range.

                                                                              + */ + TunnelInsideIpv6Cidr?: string; + + /** + *

                                                                              The number of packets in an IKE replay window.

                                                                              + *

                                                                              Constraints: A value between 64 and 2048.

                                                                              + *

                                                                              Default: 1024 + *

                                                                              + */ + ReplayWindowSize?: number; + + /** + *

                                                                              The number of seconds after which a DPD timeout occurs.

                                                                              + *

                                                                              Constraints: A value between 0 and 30.

                                                                              + *

                                                                              Default: 30 + *

                                                                              + */ + DPDTimeoutSeconds?: number; + + /** + *

                                                                              One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                                                                              + *

                                                                              Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 + *

                                                                              + */ + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; + + /** + *

                                                                              The pre-shared key (PSK) to establish initial authentication between the virtual + * private gateway and the customer gateway.

                                                                              + *

                                                                              Constraints: Allowed characters are alphanumeric characters, periods (.), and + * underscores (_). Must be between 8 and 64 characters in length and cannot start with + * zero (0).

                                                                              + */ + PreSharedKey?: string; + + /** + *

                                                                              The action to take after DPD timeout occurs. Specify restart to restart the IKE initiation. Specify clear to end the IKE session.

                                                                              + *

                                                                              Valid Values: clear | none | restart + *

                                                                              + *

                                                                              Default: clear + *

                                                                              + */ + DPDTimeoutAction?: string; + + /** + *

                                                                              The lifetime for phase 2 of the IKE negotiation, in seconds.

                                                                              + *

                                                                              Constraints: A value between 900 and 3,600. The value must be less than the value for Phase1LifetimeSeconds.

                                                                              + *

                                                                              Default: 3600 + *

                                                                              + */ + Phase2LifetimeSeconds?: number; + + /** + *

                                                                              One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                                                                              + *

                                                                              Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 + *

                                                                              + */ + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; + + /** + *

                                                                              The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.

                                                                              + *

                                                                              Constraints: A value between 60 and half of Phase2LifetimeSeconds.

                                                                              + *

                                                                              Default: 540 + *

                                                                              + */ + RekeyMarginTimeSeconds?: number; + + /** + *

                                                                              One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                                                                              + *

                                                                              Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 + *

                                                                              + */ + Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; + + /** + *

                                                                              One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                                                                              + *

                                                                              Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 + *

                                                                              + */ + Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; + + /** + *

                                                                              One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

                                                                              + *

                                                                              Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 + *

                                                                              + */ + Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; + + /** + *

                                                                              One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

                                                                              + *

                                                                              Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 + *

                                                                              + */ + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; } export namespace ModifyVpnTunnelOptionsSpecification { @@ -3328,9 +4233,11 @@ export namespace ModifyVpnTunnelOptionsSpecification { export interface ModifyVpnTunnelOptionsRequest { /** - *

                                                                              The ID of the AWS Site-to-Site VPN connection.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - VpnConnectionId: string | undefined; + DryRun?: boolean; /** *

                                                                              The tunnel options to modify.

                                                                              @@ -3338,11 +4245,9 @@ export interface ModifyVpnTunnelOptionsRequest { TunnelOptions: ModifyVpnTunnelOptionsSpecification | undefined; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the AWS Site-to-Site VPN connection.

                                                                              */ - DryRun?: boolean; + VpnConnectionId: string | undefined; /** *

                                                                              The external IP address of the VPN tunnel.

                                                                              @@ -3394,14 +4299,14 @@ export namespace MonitorInstancesRequest { */ export interface InstanceMonitoring { /** - *

                                                                              The monitoring for the instance.

                                                                              + *

                                                                              The ID of the instance.

                                                                              */ - Monitoring?: Monitoring; + InstanceId?: string; /** - *

                                                                              The ID of the instance.

                                                                              + *

                                                                              The monitoring for the instance.

                                                                              */ - InstanceId?: string; + Monitoring?: Monitoring; } export namespace InstanceMonitoring { @@ -3424,17 +4329,17 @@ export namespace MonitorInstancesResult { } export interface MoveAddressToVpcRequest { - /** - *

                                                                              The Elastic IP address.

                                                                              - */ - PublicIp: string | undefined; - /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; + + /** + *

                                                                              The Elastic IP address.

                                                                              + */ + PublicIp: string | undefined; } export namespace MoveAddressToVpcRequest { @@ -3490,11 +4395,6 @@ export namespace CidrAuthorizationContext { } export interface ProvisionByoipCidrRequest { - /** - *

                                                                              The tags to apply to the address pool.

                                                                              - */ - PoolTagSpecifications?: TagSpecification[]; - /** *

                                                                              (IPv6 only) Indicate whether the address range will be publicly advertised to the * internet.

                                                                              @@ -3502,30 +4402,35 @@ export interface ProvisionByoipCidrRequest { */ PubliclyAdvertisable?: boolean; - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - - /** - *

                                                                              A description for the address range and the address pool.

                                                                              - */ - Description?: string; - /** *

                                                                              A signed document that proves that you are authorized to bring the specified IP address * range to Amazon using BYOIP.

                                                                              */ CidrAuthorizationContext?: CidrAuthorizationContext; + /** + *

                                                                              The tags to apply to the address pool.

                                                                              + */ + PoolTagSpecifications?: TagSpecification[]; + /** *

                                                                              The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can * specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've * brought to this or another Region.

                                                                              */ Cidr: string | undefined; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              A description for the address range and the address pool.

                                                                              + */ + Description?: string; } export namespace ProvisionByoipCidrRequest { @@ -3549,9 +4454,19 @@ export namespace ProvisionByoipCidrResult { export interface PurchaseHostReservationRequest { /** - *

                                                                              The tags to apply to the Dedicated Host Reservation during purchase.

                                                                              + *

                                                                              The IDs of the Dedicated Hosts with which the reservation will be associated.

                                                                              */ - TagSpecifications?: TagSpecification[]; + HostIdSet: string[] | undefined; + + /** + *

                                                                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                                                                              + */ + ClientToken?: string; + + /** + *

                                                                              The ID of the offering.

                                                                              + */ + OfferingId: string | undefined; /** *

                                                                              The specified limit is checked against the total upfront cost of the reservation @@ -3571,19 +4486,9 @@ export interface PurchaseHostReservationRequest { CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                                              The IDs of the Dedicated Hosts with which the reservation will be associated.

                                                                              - */ - HostIdSet: string[] | undefined; - - /** - *

                                                                              The ID of the offering.

                                                                              - */ - OfferingId: string | undefined; - - /** - *

                                                                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                                                                              + *

                                                                              The tags to apply to the Dedicated Host Reservation during purchase.

                                                                              */ - ClientToken?: string; + TagSpecifications?: TagSpecification[]; } export namespace PurchaseHostReservationRequest { @@ -3593,6 +4498,11 @@ export namespace PurchaseHostReservationRequest { } export interface PurchaseHostReservationResult { + /** + *

                                                                              The total hourly price of the reservation calculated per hour.

                                                                              + */ + TotalHourlyPrice?: string; + /** *

                                                                              The currency in which the totalUpfrontPrice and * totalHourlyPrice amounts are specified. At this time, the only @@ -3600,6 +4510,11 @@ export interface PurchaseHostReservationResult { */ CurrencyCode?: CurrencyCodeValues | string; + /** + *

                                                                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                                                                              + */ + ClientToken?: string; + /** *

                                                                              Describes the details of the purchase.

                                                                              */ @@ -3609,16 +4524,6 @@ export interface PurchaseHostReservationResult { *

                                                                              The total amount charged to your account when you purchase the reservation.

                                                                              */ TotalUpfrontPrice?: string; - - /** - *

                                                                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

                                                                              - */ - ClientToken?: string; - - /** - *

                                                                              The total hourly price of the reservation calculated per hour.

                                                                              - */ - TotalHourlyPrice?: string; } export namespace PurchaseHostReservationResult { @@ -3632,15 +4537,15 @@ export namespace PurchaseHostReservationResult { */ export interface ReservedInstanceLimitPrice { /** - *

                                                                              The currency in which the limitPrice amount is specified. - * At this time, the only supported currency is USD.

                                                                              + *

                                                                              Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

                                                                              */ - CurrencyCode?: CurrencyCodeValues | string; + Amount?: number; /** - *

                                                                              Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

                                                                              + *

                                                                              The currency in which the limitPrice amount is specified. + * At this time, the only supported currency is USD.

                                                                              */ - Amount?: number; + CurrencyCode?: CurrencyCodeValues | string; } export namespace ReservedInstanceLimitPrice { @@ -3654,11 +4559,9 @@ export namespace ReservedInstanceLimitPrice { */ export interface PurchaseReservedInstancesOfferingRequest { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                              */ - DryRun?: boolean; + PurchaseTime?: Date; /** *

                                                                              The ID of the Reserved Instance offering to purchase.

                                                                              @@ -3676,9 +4579,11 @@ export interface PurchaseReservedInstancesOfferingRequest { LimitPrice?: ReservedInstanceLimitPrice; /** - *

                                                                              The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - PurchaseTime?: Date; + DryRun?: boolean; } export namespace PurchaseReservedInstancesOfferingRequest { @@ -3708,14 +4613,14 @@ export namespace PurchaseReservedInstancesOfferingResult { */ export interface PurchaseRequest { /** - *

                                                                              The purchase token.

                                                                              + *

                                                                              The number of instances.

                                                                              */ - PurchaseToken: string | undefined; + InstanceCount: number | undefined; /** - *

                                                                              The number of instances.

                                                                              + *

                                                                              The purchase token.

                                                                              */ - InstanceCount: number | undefined; + PurchaseToken: string | undefined; } export namespace PurchaseRequest { @@ -3726,14 +4631,8 @@ export namespace PurchaseRequest { /** *

                                                                              Contains the parameters for PurchaseScheduledInstances.

                                                                              - */ -export interface PurchaseScheduledInstancesRequest { - /** - *

                                                                              Unique, case-sensitive identifier that ensures the idempotency of the request. - * For more information, see Ensuring Idempotency.

                                                                              - */ - ClientToken?: string; - + */ +export interface PurchaseScheduledInstancesRequest { /** *

                                                                              The purchase requests.

                                                                              */ @@ -3745,6 +4644,12 @@ export interface PurchaseScheduledInstancesRequest { * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; + + /** + *

                                                                              Unique, case-sensitive identifier that ensures the idempotency of the request. + * For more information, see Ensuring Idempotency.

                                                                              + */ + ClientToken?: string; } export namespace PurchaseScheduledInstancesRequest { @@ -3770,17 +4675,17 @@ export namespace PurchaseScheduledInstancesResult { } export interface RebootInstancesRequest { + /** + *

                                                                              The instance IDs.

                                                                              + */ + InstanceIds: string[] | undefined; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; - - /** - *

                                                                              The instance IDs.

                                                                              - */ - InstanceIds: string[] | undefined; } export namespace RebootInstancesRequest { @@ -3794,83 +4699,83 @@ export namespace RebootInstancesRequest { */ export interface RegisterImageRequest { /** - *

                                                                              Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

                                                                              - *

                                                                              There is no way to disable sriovNetSupport at this time.

                                                                              - *

                                                                              This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

                                                                              + *

                                                                              The ID of the RAM disk.

                                                                              */ - SriovNetSupport?: string; + RamdiskId?: string; /** - *

                                                                              The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the - * aws-exec-read canned access control list (ACL) to ensure that it can be accessed - * by Amazon EC2. For more information, see Canned ACLs in the - * Amazon S3 Service Developer Guide.

                                                                              + *

                                                                              The ID of the kernel.

                                                                              */ - ImageLocation?: string; + KernelId?: string; /** - *

                                                                              The device name of the root device volume (for example, /dev/sda1).

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - RootDeviceName?: string; + DryRun?: boolean; /** - *

                                                                              The billing product codes. Your account must be authorized to specify billing product codes. Otherwise, - * you can use the AWS Marketplace to bill for the use of an AMI.

                                                                              + *

                                                                              The type of virtualization (hvm | paravirtual).

                                                                              + *

                                                                              Default: paravirtual + *

                                                                              */ - BillingProducts?: string[]; + VirtualizationType?: string; /** - *

                                                                              The architecture of the AMI.

                                                                              - *

                                                                              Default: For Amazon EBS-backed AMIs, i386. - * For instance store-backed AMIs, the architecture specified in the manifest file.

                                                                              + *

                                                                              The block device mapping entries.

                                                                              */ - Architecture?: ArchitectureValues | string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                                              The type of virtualization (hvm | paravirtual).

                                                                              - *

                                                                              Default: paravirtual - *

                                                                              + *

                                                                              Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

                                                                              + *

                                                                              This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

                                                                              */ - VirtualizationType?: string; + EnaSupport?: boolean; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              A name for your AMI.

                                                                              + *

                                                                              Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

                                                                              */ - DryRun?: boolean; + Name: string | undefined; /** - *

                                                                              The ID of the kernel.

                                                                              + *

                                                                              The architecture of the AMI.

                                                                              + *

                                                                              Default: For Amazon EBS-backed AMIs, i386. + * For instance store-backed AMIs, the architecture specified in the manifest file.

                                                                              */ - KernelId?: string; + Architecture?: ArchitectureValues | string; /** - *

                                                                              The ID of the RAM disk.

                                                                              + *

                                                                              Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

                                                                              + *

                                                                              There is no way to disable sriovNetSupport at this time.

                                                                              + *

                                                                              This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

                                                                              */ - RamdiskId?: string; + SriovNetSupport?: string; /** - *

                                                                              A name for your AMI.

                                                                              - *

                                                                              Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

                                                                              + *

                                                                              The device name of the root device volume (for example, /dev/sda1).

                                                                              */ - Name: string | undefined; + RootDeviceName?: string; /** - *

                                                                              A description for your AMI.

                                                                              + *

                                                                              The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the + * aws-exec-read canned access control list (ACL) to ensure that it can be accessed + * by Amazon EC2. For more information, see Canned ACLs in the + * Amazon S3 Service Developer Guide.

                                                                              */ - Description?: string; + ImageLocation?: string; /** - *

                                                                              The block device mapping entries.

                                                                              + *

                                                                              A description for your AMI.

                                                                              */ - BlockDeviceMappings?: BlockDeviceMapping[]; + Description?: string; /** - *

                                                                              Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

                                                                              - *

                                                                              This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

                                                                              + *

                                                                              The billing product codes. Your account must be authorized to specify billing product codes. Otherwise, + * you can use the AWS Marketplace to bill for the use of an AMI.

                                                                              */ - EnaSupport?: boolean; + BillingProducts?: string[]; } export namespace RegisterImageRequest { @@ -3920,17 +4825,17 @@ export namespace RegisterInstanceTagAttributeRequest { } export interface RegisterInstanceEventNotificationAttributesRequest { + /** + *

                                                                              Information about the tag keys to register.

                                                                              + */ + InstanceTagAttribute?: RegisterInstanceTagAttributeRequest; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; - - /** - *

                                                                              Information about the tag keys to register.

                                                                              - */ - InstanceTagAttribute?: RegisterInstanceTagAttributeRequest; } export namespace RegisterInstanceEventNotificationAttributesRequest { @@ -3953,16 +4858,6 @@ export namespace RegisterInstanceEventNotificationAttributesResult { } export interface RegisterTransitGatewayMulticastGroupMembersRequest { - /** - *

                                                                              The group members' network interface IDs to register with the transit gateway multicast group.

                                                                              - */ - NetworkInterfaceIds?: string[]; - - /** - *

                                                                              The ID of the transit gateway multicast domain.

                                                                              - */ - TransitGatewayMulticastDomainId?: string; - /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -3974,6 +4869,16 @@ export interface RegisterTransitGatewayMulticastGroupMembersRequest { *

                                                                              The IP address assigned to the transit gateway multicast group.

                                                                              */ GroupIpAddress?: string; + + /** + *

                                                                              The ID of the transit gateway multicast domain.

                                                                              + */ + TransitGatewayMulticastDomainId?: string; + + /** + *

                                                                              The group members' network interface IDs to register with the transit gateway multicast group.

                                                                              + */ + NetworkInterfaceIds?: string[]; } export namespace RegisterTransitGatewayMulticastGroupMembersRequest { @@ -3986,11 +4891,6 @@ export namespace RegisterTransitGatewayMulticastGroupMembersRequest { *

                                                                              Describes the registered transit gateway multicast group members.

                                                                              */ export interface TransitGatewayMulticastRegisteredGroupMembers { - /** - *

                                                                              The ID of the transit gateway multicast domain.

                                                                              - */ - TransitGatewayMulticastDomainId?: string; - /** *

                                                                              The ID of the registered network interfaces.

                                                                              */ @@ -4000,6 +4900,11 @@ export interface TransitGatewayMulticastRegisteredGroupMembers { *

                                                                              The IP address assigned to the transit gateway multicast group.

                                                                              */ GroupIpAddress?: string; + + /** + *

                                                                              The ID of the transit gateway multicast domain.

                                                                              + */ + TransitGatewayMulticastDomainId?: string; } export namespace TransitGatewayMulticastRegisteredGroupMembers { @@ -4028,11 +4933,9 @@ export interface RegisterTransitGatewayMulticastGroupSourcesRequest { GroupIpAddress?: string; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the transit gateway multicast domain.

                                                                              */ - DryRun?: boolean; + TransitGatewayMulticastDomainId?: string; /** *

                                                                              The group sources' network interface IDs to register with the transit gateway multicast group.

                                                                              @@ -4040,9 +4943,11 @@ export interface RegisterTransitGatewayMulticastGroupSourcesRequest { NetworkInterfaceIds?: string[]; /** - *

                                                                              The ID of the transit gateway multicast domain.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - TransitGatewayMulticastDomainId?: string; + DryRun?: boolean; } export namespace RegisterTransitGatewayMulticastGroupSourcesRequest { @@ -4061,14 +4966,14 @@ export interface TransitGatewayMulticastRegisteredGroupSources { TransitGatewayMulticastDomainId?: string; /** - *

                                                                              The IP address assigned to the transit gateway multicast group.

                                                                              + *

                                                                              The IDs of the network interfaces members registered with the transit gateway multicast group.

                                                                              */ - GroupIpAddress?: string; + RegisteredNetworkInterfaceIds?: string[]; /** - *

                                                                              The IDs of the network interfaces members registered with the transit gateway multicast group.

                                                                              + *

                                                                              The IP address assigned to the transit gateway multicast group.

                                                                              */ - RegisteredNetworkInterfaceIds?: string[]; + GroupIpAddress?: string; } export namespace TransitGatewayMulticastRegisteredGroupSources { @@ -4124,17 +5029,17 @@ export namespace RejectTransitGatewayPeeringAttachmentResult { } export interface RejectTransitGatewayVpcAttachmentRequest { + /** + *

                                                                              The ID of the attachment.

                                                                              + */ + TransitGatewayAttachmentId: string | undefined; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; - - /** - *

                                                                              The ID of the attachment.

                                                                              - */ - TransitGatewayAttachmentId: string | undefined; } export namespace RejectTransitGatewayVpcAttachmentRequest { @@ -4158,9 +5063,9 @@ export namespace RejectTransitGatewayVpcAttachmentResult { export interface RejectVpcEndpointConnectionsRequest { /** - *

                                                                              The IDs of one or more VPC endpoints.

                                                                              + *

                                                                              The ID of the service.

                                                                              */ - VpcEndpointIds: string[] | undefined; + ServiceId: string | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -4170,9 +5075,9 @@ export interface RejectVpcEndpointConnectionsRequest { DryRun?: boolean; /** - *

                                                                              The ID of the service.

                                                                              + *

                                                                              The IDs of one or more VPC endpoints.

                                                                              */ - ServiceId: string | undefined; + VpcEndpointIds: string[] | undefined; } export namespace RejectVpcEndpointConnectionsRequest { @@ -4195,17 +5100,17 @@ export namespace RejectVpcEndpointConnectionsResult { } export interface RejectVpcPeeringConnectionRequest { + /** + *

                                                                              The ID of the VPC peering connection.

                                                                              + */ + VpcPeeringConnectionId: string | undefined; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; - - /** - *

                                                                              The ID of the VPC peering connection.

                                                                              - */ - VpcPeeringConnectionId: string | undefined; } export namespace RejectVpcPeeringConnectionRequest { @@ -4236,13 +5141,9 @@ export interface ReleaseAddressRequest { DryRun?: boolean; /** - *

                                                                              The location that the IP address is released from.

                                                                              - *

                                                                              If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound error. For more information, see Error Codes.

                                                                              - * - *

                                                                              You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination error. For more information, see Error Codes.

                                                                              - *
                                                                              + *

                                                                              [EC2-VPC] The allocation ID. Required for EC2-VPC.

                                                                              */ - NetworkBorderGroup?: string; + AllocationId?: string; /** *

                                                                              [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

                                                                              @@ -4250,9 +5151,14 @@ export interface ReleaseAddressRequest { PublicIp?: string; /** - *

                                                                              [EC2-VPC] The allocation ID. Required for EC2-VPC.

                                                                              + *

                                                                              The set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises + * IP addresses.

                                                                              + *

                                                                              If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound error. For more information, see Error Codes.

                                                                              + * + *

                                                                              You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination error. For more information, see Error Codes.

                                                                              + *
                                                                              */ - AllocationId?: string; + NetworkBorderGroup?: string; } export namespace ReleaseAddressRequest { @@ -4325,6 +5231,11 @@ export namespace ReplaceIamInstanceProfileAssociationResult { } export interface ReplaceNetworkAclAssociationRequest { + /** + *

                                                                              The ID of the new network ACL to associate with the subnet.

                                                                              + */ + NetworkAclId: string | undefined; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4336,11 +5247,6 @@ export interface ReplaceNetworkAclAssociationRequest { *

                                                                              The ID of the current association between the original network ACL and the subnet.

                                                                              */ AssociationId: string | undefined; - - /** - *

                                                                              The ID of the new network ACL to associate with the subnet.

                                                                              - */ - NetworkAclId: string | undefined; } export namespace ReplaceNetworkAclAssociationRequest { @@ -4364,21 +5270,27 @@ export namespace ReplaceNetworkAclAssociationResult { export interface ReplaceNetworkAclEntryRequest { /** - *

                                                                              The IPv4 network range to allow or deny, in CIDR notation (for example - * 172.16.0.0/24).

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - CidrBlock?: string; + DryRun?: boolean; /** - *

                                                                              Indicates whether to replace the egress rule.

                                                                              - *

                                                                              Default: If no value is specified, we replace the ingress rule.

                                                                              + *

                                                                              The protocol number. A value of "-1" means all protocols. If you specify "-1" or a + * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is + * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify + * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and + * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) + * and specify an IPv6 CIDR block, you must specify an ICMP type and code.

                                                                              */ - Egress: boolean | undefined; + Protocol: string | undefined; /** - *

                                                                              The rule number of the entry to replace.

                                                                              + *

                                                                              ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol + * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

                                                                              */ - RuleNumber: number | undefined; + IcmpTypeCode?: IcmpTypeCode; /** *

                                                                              Indicates whether to allow or deny the traffic that matches the rule.

                                                                              @@ -4386,27 +5298,27 @@ export interface ReplaceNetworkAclEntryRequest { RuleAction: RuleAction | string | undefined; /** - *

                                                                              The protocol number. A value of "-1" means all protocols. If you specify "-1" or a - * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is - * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify - * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and - * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) - * and specify an IPv6 CIDR block, you must specify an ICMP type and code.

                                                                              + *

                                                                              The ID of the ACL.

                                                                              */ - Protocol: string | undefined; + NetworkAclId: string | undefined; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              TCP or UDP protocols: The range of ports the rule applies to. + * Required if specifying protocol 6 (TCP) or 17 (UDP).

                                                                              */ - DryRun?: boolean; + PortRange?: PortRange; /** - *

                                                                              TCP or UDP protocols: The range of ports the rule applies to. - * Required if specifying protocol 6 (TCP) or 17 (UDP).

                                                                              + *

                                                                              Indicates whether to replace the egress rule.

                                                                              + *

                                                                              Default: If no value is specified, we replace the ingress rule.

                                                                              + */ + Egress: boolean | undefined; + + /** + *

                                                                              The IPv4 network range to allow or deny, in CIDR notation (for example + * 172.16.0.0/24).

                                                                              */ - PortRange?: PortRange; + CidrBlock?: string; /** *

                                                                              The IPv6 network range to allow or deny, in CIDR notation (for example @@ -4415,15 +5327,9 @@ export interface ReplaceNetworkAclEntryRequest { Ipv6CidrBlock?: string; /** - *

                                                                              The ID of the ACL.

                                                                              - */ - NetworkAclId: string | undefined; - - /** - *

                                                                              ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol - * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

                                                                              + *

                                                                              The rule number of the entry to replace.

                                                                              */ - IcmpTypeCode?: IcmpTypeCode; + RuleNumber: number | undefined; } export namespace ReplaceNetworkAclEntryRequest { @@ -4434,63 +5340,68 @@ export namespace ReplaceNetworkAclEntryRequest { export interface ReplaceRouteRequest { /** - *

                                                                              The ID of the route table.

                                                                              + *

                                                                              The ID of an internet gateway or virtual private gateway.

                                                                              */ - RouteTableId: string | undefined; + GatewayId?: string; /** - *

                                                                              The ID of a transit gateway.

                                                                              + *

                                                                              [IPv6 traffic only] The ID of an egress-only internet gateway.

                                                                              */ - TransitGatewayId?: string; + EgressOnlyInternetGatewayId?: string; /** - *

                                                                              The IPv6 CIDR address block used for the destination match. The value that you - * provide must match the CIDR of an existing route in the table.

                                                                              + *

                                                                              [IPv4 traffic only] The ID of a carrier gateway.

                                                                              */ - DestinationIpv6CidrBlock?: string; + CarrierGatewayId?: string; /** - *

                                                                              The ID of the local gateway.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - LocalGatewayId?: string; + DryRun?: boolean; /** - *

                                                                              Specifies whether to reset the local route to its default target (local).

                                                                              + *

                                                                              [IPv4 traffic only] The ID of a NAT gateway.

                                                                              */ - LocalTarget?: boolean; + NatGatewayId?: string; /** - *

                                                                              The IPv4 CIDR address block used for the destination match. The value that you - * provide must match the CIDR of an existing route in the table.

                                                                              + *

                                                                              The ID of the prefix list for the route.

                                                                              */ - DestinationCidrBlock?: string; + DestinationPrefixListId?: string; /** - *

                                                                              The ID of the prefix list for the route.

                                                                              + *

                                                                              The ID of the route table.

                                                                              */ - DestinationPrefixListId?: string; + RouteTableId: string | undefined; /** - *

                                                                              The ID of an internet gateway or virtual private gateway.

                                                                              + *

                                                                              The IPv6 CIDR address block used for the destination match. The value that you + * provide must match the CIDR of an existing route in the table.

                                                                              */ - GatewayId?: string; + DestinationIpv6CidrBlock?: string; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of a NAT instance in your VPC.

                                                                              */ - DryRun?: boolean; + InstanceId?: string; /** - *

                                                                              [IPv6 traffic only] The ID of an egress-only internet gateway.

                                                                              + *

                                                                              The IPv4 CIDR address block used for the destination match. The value that you + * provide must match the CIDR of an existing route in the table.

                                                                              */ - EgressOnlyInternetGatewayId?: string; + DestinationCidrBlock?: string; /** - *

                                                                              The ID of a VPC peering connection.

                                                                              + *

                                                                              The ID of the local gateway.

                                                                              */ - VpcPeeringConnectionId?: string; + LocalGatewayId?: string; + + /** + *

                                                                              Specifies whether to reset the local route to its default target (local).

                                                                              + */ + LocalTarget?: boolean; /** *

                                                                              The ID of a network interface.

                                                                              @@ -4498,14 +5409,14 @@ export interface ReplaceRouteRequest { NetworkInterfaceId?: string; /** - *

                                                                              [IPv4 traffic only] The ID of a NAT gateway.

                                                                              + *

                                                                              The ID of a VPC peering connection.

                                                                              */ - NatGatewayId?: string; + VpcPeeringConnectionId?: string; /** - *

                                                                              The ID of a NAT instance in your VPC.

                                                                              + *

                                                                              The ID of a transit gateway.

                                                                              */ - InstanceId?: string; + TransitGatewayId?: string; } export namespace ReplaceRouteRequest { @@ -4523,14 +5434,14 @@ export interface ReplaceRouteTableAssociationRequest { DryRun?: boolean; /** - *

                                                                              The association ID.

                                                                              + *

                                                                              The ID of the new route table to associate with the subnet.

                                                                              */ - AssociationId: string | undefined; + RouteTableId: string | undefined; /** - *

                                                                              The ID of the new route table to associate with the subnet.

                                                                              + *

                                                                              The association ID.

                                                                              */ - RouteTableId: string | undefined; + AssociationId: string | undefined; } export namespace ReplaceRouteTableAssociationRequest { @@ -4541,14 +5452,14 @@ export namespace ReplaceRouteTableAssociationRequest { export interface ReplaceRouteTableAssociationResult { /** - *

                                                                              The ID of the new association.

                                                                              + *

                                                                              The state of the association.

                                                                              */ - NewAssociationId?: string; + AssociationState?: RouteTableAssociationState; /** - *

                                                                              The state of the association.

                                                                              + *

                                                                              The ID of the new association.

                                                                              */ - AssociationState?: RouteTableAssociationState; + NewAssociationId?: string; } export namespace ReplaceRouteTableAssociationResult { @@ -4559,31 +5470,31 @@ export namespace ReplaceRouteTableAssociationResult { export interface ReplaceTransitGatewayRouteRequest { /** - *

                                                                              The ID of the attachment.

                                                                              + *

                                                                              Indicates whether traffic matching this route is to be dropped.

                                                                              */ - TransitGatewayAttachmentId?: string; + Blackhole?: boolean; /** - *

                                                                              The ID of the route table.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - TransitGatewayRouteTableId: string | undefined; + DryRun?: boolean; /** - *

                                                                              The CIDR range used for the destination match. Routing decisions are based on the most specific match.

                                                                              + *

                                                                              The ID of the route table.

                                                                              */ - DestinationCidrBlock: string | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                                              Indicates whether traffic matching this route is to be dropped.

                                                                              + *

                                                                              The ID of the attachment.

                                                                              */ - Blackhole?: boolean; + TransitGatewayAttachmentId?: string; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The CIDR range used for the destination match. Routing decisions are based on the most specific match.

                                                                              */ - DryRun?: boolean; + DestinationCidrBlock: string | undefined; } export namespace ReplaceTransitGatewayRouteRequest { @@ -4619,21 +5530,38 @@ export type ReportInstanceReasonCodes = export type ReportStatusType = "impaired" | "ok"; export interface ReportInstanceStatusRequest { + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + /** *

                                                                              The time at which the reported instance health state began.

                                                                              */ StartTime?: Date; /** - *

                                                                              The time at which the reported instance health state ended.

                                                                              + *

                                                                              Descriptive text about the health state of your instance.

                                                                              */ - EndTime?: Date; + Description?: string; + + /** + *

                                                                              The status of all instances listed.

                                                                              + */ + Status: ReportStatusType | string | undefined; /** *

                                                                              The instances.

                                                                              */ Instances: string[] | undefined; + /** + *

                                                                              The time at which the reported instance health state ended.

                                                                              + */ + EndTime?: Date; + /** *

                                                                              The reason codes that describe the health state of your instance.

                                                                              *
                                                                                @@ -4682,23 +5610,6 @@ export interface ReportInstanceStatusRequest { *
                                                                              */ ReasonCodes: (ReportInstanceReasonCodes | string)[] | undefined; - - /** - *

                                                                              The status of all instances listed.

                                                                              - */ - Status: ReportStatusType | string | undefined; - - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - - /** - *

                                                                              Descriptive text about the health state of your instance.

                                                                              - */ - Description?: string; } export namespace ReportInstanceStatusRequest { @@ -4711,17 +5622,17 @@ export namespace ReportInstanceStatusRequest { *

                                                                              Contains the parameters for RequestSpotFleet.

                                                                              */ export interface RequestSpotFleetRequest { - /** - *

                                                                              The configuration for the Spot Fleet request.

                                                                              - */ - SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined; - /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; + + /** + *

                                                                              The configuration for the Spot Fleet request.

                                                                              + */ + SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined; } export namespace RequestSpotFleetRequest { @@ -4751,132 +5662,126 @@ export namespace RequestSpotFleetResponse { */ export interface RequestSpotLaunchSpecification { /** - *

                                                                              The ID of the RAM disk.

                                                                              + *

                                                                              The IAM instance profile.

                                                                              */ - RamdiskId?: string; + IamInstanceProfile?: IamInstanceProfileSpecification; /** - *

                                                                              The ID of the AMI.

                                                                              + *

                                                                              One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. + * This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, + * it is not blank and its encryption status is used for the volume encryption status.

                                                                              */ - ImageId?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                                              Indicates whether basic or detailed monitoring is enabled for the instance.

                                                                              - *

                                                                              Default: Disabled

                                                                              + *

                                                                              The instance type.

                                                                              */ - Monitoring?: RunInstancesMonitoringEnabled; + InstanceType?: _InstanceType | string; /** - *

                                                                              The Base64-encoded user data for the instance. User data is limited to 16 KB.

                                                                              + *

                                                                              One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

                                                                              */ - UserData?: string; + SecurityGroups?: string[]; /** - *

                                                                              One or more security group IDs.

                                                                              + *

                                                                              Indicates whether basic or detailed monitoring is enabled for the instance.

                                                                              + *

                                                                              Default: Disabled

                                                                              */ - SecurityGroupIds?: string[]; + Monitoring?: RunInstancesMonitoringEnabled; /** - *

                                                                              Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

                                                                              - *

                                                                              Default: false - *

                                                                              + *

                                                                              The placement information for the instance.

                                                                              */ - EbsOptimized?: boolean; + Placement?: SpotPlacement; /** - *

                                                                              One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

                                                                              + *

                                                                              Deprecated.

                                                                              */ - SecurityGroups?: string[]; + AddressingType?: string; /** - *

                                                                              One or more network interfaces. If you specify a network interface, you must specify - * subnet IDs and security group IDs using the network interface.

                                                                              + *

                                                                              The ID of the kernel.

                                                                              */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + KernelId?: string; /** - *

                                                                              The placement information for the instance.

                                                                              + *

                                                                              The IDs of the subnets in which to launch the instance. To specify multiple subnets, separate + * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

                                                                              */ - Placement?: SpotPlacement; + SubnetId?: string; /** - *

                                                                              The name of the key pair.

                                                                              + *

                                                                              One or more network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

                                                                              */ - KeyName?: string; + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; /** - *

                                                                              The instance type.

                                                                              + *

                                                                              Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

                                                                              + *

                                                                              Default: false + *

                                                                              */ - InstanceType?: _InstanceType | string; + EbsOptimized?: boolean; /** - *

                                                                              One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. - * This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, - * it is not blank and its encryption status is used for the volume encryption status.

                                                                              + *

                                                                              The ID of the AMI.

                                                                              */ - BlockDeviceMappings?: BlockDeviceMapping[]; + ImageId?: string; /** - *

                                                                              The IAM instance profile.

                                                                              + *

                                                                              The name of the key pair.

                                                                              */ - IamInstanceProfile?: IamInstanceProfileSpecification; + KeyName?: string; /** - *

                                                                              The ID of the kernel.

                                                                              + *

                                                                              The ID of the RAM disk.

                                                                              */ - KernelId?: string; + RamdiskId?: string; /** - *

                                                                              The IDs of the subnets in which to launch the instance. To specify multiple subnets, separate - * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

                                                                              + *

                                                                              The Base64-encoded user data for the instance. User data is limited to 16 KB.

                                                                              */ - SubnetId?: string; + UserData?: string; /** - *

                                                                              Deprecated.

                                                                              + *

                                                                              One or more security group IDs.

                                                                              */ - AddressingType?: string; + SecurityGroupIds?: string[]; } export namespace RequestSpotLaunchSpecification { export const filterSensitiveLog = (obj: RequestSpotLaunchSpecification): any => ({ ...obj, - }); -} - -/** - *

                                                                              Contains the parameters for RequestSpotInstances.

                                                                              - */ -export interface RequestSpotInstancesRequest { - /** - *

                                                                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - * For more information, see How to Ensure Idempotency - * in the Amazon EC2 User Guide for Linux Instances.

                                                                              - */ - ClientToken?: string; + }); +} +/** + *

                                                                              Contains the parameters for RequestSpotInstances.

                                                                              + */ +export interface RequestSpotInstancesRequest { /** - *

                                                                              The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. - * If the request is persistent, it remains active until it is canceled or this date is reached. The default end date is 7 days from the current date.

                                                                              + *

                                                                              The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

                                                                              + *

                                                                              The specified start date and time cannot be equal to the current date and time. You must specify a start date and time that occurs after the current date and time.

                                                                              */ - ValidUntil?: Date; + ValidFrom?: Date; /** - *

                                                                              The launch specification.

                                                                              + *

                                                                              The behavior when a Spot Instance is interrupted. The default is terminate.

                                                                              */ - LaunchSpecification?: RequestSpotLaunchSpecification; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; /** - *

                                                                              The maximum price per hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.

                                                                              + *

                                                                              The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

                                                                              + *

                                                                              Default: Instances are launched and terminated individually

                                                                              */ - SpotPrice?: string; + LaunchGroup?: string; /** - *

                                                                              The Spot Instance request type.

                                                                              - *

                                                                              Default: one-time - *

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - Type?: SpotInstanceType | string; + DryRun?: boolean; /** *

                                                                              The key-value pair for tagging the Spot Instance request on creation. The value for ResourceType must be spot-instances-request, otherwise the Spot Instance request fails. To tag the Spot Instance request after it has been created, see CreateTags. @@ -4885,21 +5790,39 @@ export interface RequestSpotInstancesRequest { TagSpecifications?: TagSpecification[]; /** - *

                                                                              The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

                                                                              - *

                                                                              Default: Instances are launched and terminated individually

                                                                              + *

                                                                              The maximum price per hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.

                                                                              */ - LaunchGroup?: string; + SpotPrice?: string; /** - *

                                                                              The behavior when a Spot Instance is interrupted. The default is terminate.

                                                                              + *

                                                                              The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

                                                                              + *

                                                                              The duration period starts as soon as your Spot Instance receives its instance ID. At + * the end of the duration period, Amazon EC2 marks the Spot Instance for termination and + * provides a Spot Instance termination notice, which gives the instance a two-minute + * warning before it terminates.

                                                                              + *

                                                                              You can't specify an Availability Zone group or a launch group if you specify a + * duration.

                                                                              */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + BlockDurationMinutes?: number; /** - *

                                                                              The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

                                                                              - *

                                                                              The specified start date and time cannot be equal to the current date and time. You must specify a start date and time that occurs after the current date and time.

                                                                              + *

                                                                              The Spot Instance request type.

                                                                              + *

                                                                              Default: one-time + *

                                                                              */ - ValidFrom?: Date; + Type?: SpotInstanceType | string; + + /** + *

                                                                              The launch specification.

                                                                              + */ + LaunchSpecification?: RequestSpotLaunchSpecification; + + /** + *

                                                                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + * For more information, see How to Ensure Idempotency + * in the Amazon EC2 User Guide for Linux Instances.

                                                                              + */ + ClientToken?: string; /** *

                                                                              The maximum number of Spot Instances to launch.

                                                                              @@ -4916,22 +5839,10 @@ export interface RequestSpotInstancesRequest { AvailabilityZoneGroup?: string; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - - /** - *

                                                                              The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

                                                                              - *

                                                                              The duration period starts as soon as your Spot Instance receives its instance ID. At - * the end of the duration period, Amazon EC2 marks the Spot Instance for termination and - * provides a Spot Instance termination notice, which gives the instance a two-minute - * warning before it terminates.

                                                                              - *

                                                                              You can't specify an Availability Zone group or a launch group if you specify a - * duration.

                                                                              + *

                                                                              The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. + * If the request is persistent, it remains active until it is canceled or this date is reached. The default end date is 7 days from the current date.

                                                                              */ - BlockDurationMinutes?: number; + ValidUntil?: Date; } export namespace RequestSpotInstancesRequest { @@ -4987,13 +5898,6 @@ export namespace ResetEbsDefaultKmsKeyIdResult { export type ResetFpgaImageAttributeName = "loadPermission"; export interface ResetFpgaImageAttributeRequest { - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - /** *

                                                                              The ID of the AFI.

                                                                              */ @@ -5003,6 +5907,13 @@ export interface ResetFpgaImageAttributeRequest { *

                                                                              The attribute.

                                                                              */ Attribute?: ResetFpgaImageAttributeName | string; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; } export namespace ResetFpgaImageAttributeRequest { @@ -5055,13 +5966,6 @@ export namespace ResetImageAttributeRequest { } export interface ResetInstanceAttributeRequest { - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - /** *

                                                                              The ID of the instance.

                                                                              */ @@ -5076,6 +5980,13 @@ export interface ResetInstanceAttributeRequest { * */ Attribute: InstanceAttributeName | string | undefined; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; } export namespace ResetInstanceAttributeRequest { @@ -5096,14 +6007,14 @@ export interface ResetNetworkInterfaceAttributeRequest { DryRun?: boolean; /** - *

                                                                              The ID of the network interface.

                                                                              + *

                                                                              The source/destination checking attribute. Resets the value to true.

                                                                              */ - NetworkInterfaceId: string | undefined; + SourceDestCheck?: string; /** - *

                                                                              The source/destination checking attribute. Resets the value to true.

                                                                              + *

                                                                              The ID of the network interface.

                                                                              */ - SourceDestCheck?: string; + NetworkInterfaceId: string | undefined; } export namespace ResetNetworkInterfaceAttributeRequest { @@ -5114,9 +6025,10 @@ export namespace ResetNetworkInterfaceAttributeRequest { export interface ResetSnapshotAttributeRequest { /** - *

                                                                              The ID of the snapshot.

                                                                              + *

                                                                              The attribute to reset. Currently, only the attribute for permission to create volumes can + * be reset.

                                                                              */ - SnapshotId: string | undefined; + Attribute: SnapshotAttributeName | string | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -5126,10 +6038,9 @@ export interface ResetSnapshotAttributeRequest { DryRun?: boolean; /** - *

                                                                              The attribute to reset. Currently, only the attribute for permission to create volumes can - * be reset.

                                                                              + *

                                                                              The ID of the snapshot.

                                                                              */ - Attribute: SnapshotAttributeName | string | undefined; + SnapshotId: string | undefined; } export namespace ResetSnapshotAttributeRequest { @@ -5160,14 +6071,14 @@ export namespace RestoreAddressToClassicRequest { export interface RestoreAddressToClassicResult { /** - *

                                                                              The move status for the IP address.

                                                                              + *

                                                                              The Elastic IP address.

                                                                              */ - Status?: Status | string; + PublicIp?: string; /** - *

                                                                              The Elastic IP address.

                                                                              + *

                                                                              The move status for the IP address.

                                                                              */ - PublicIp?: string; + Status?: Status | string; } export namespace RestoreAddressToClassicResult { @@ -5178,26 +6089,26 @@ export namespace RestoreAddressToClassicResult { export interface RestoreManagedPrefixListVersionRequest { /** - *

                                                                              The ID of the prefix list.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - PrefixListId: string | undefined; + DryRun?: boolean; /** - *

                                                                              The version to restore.

                                                                              + *

                                                                              The current version number for the prefix list.

                                                                              */ - PreviousVersion: number | undefined; + CurrentVersion: number | undefined; /** - *

                                                                              The current version number for the prefix list.

                                                                              + *

                                                                              The ID of the prefix list.

                                                                              */ - CurrentVersion: number | undefined; + PrefixListId: string | undefined; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The version to restore.

                                                                              */ - DryRun?: boolean; + PreviousVersion: number | undefined; } export namespace RestoreManagedPrefixListVersionRequest { @@ -5226,9 +6137,9 @@ export interface RevokeClientVpnIngressRequest { ClientVpnEndpointId: string | undefined; /** - *

                                                                              The IPv4 address range, in CIDR notation, of the network for which access is being removed.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              */ - TargetNetworkCidr: string | undefined; + DryRun?: boolean; /** *

                                                                              Indicates whether access should be revoked for all clients.

                                                                              @@ -5236,14 +6147,14 @@ export interface RevokeClientVpnIngressRequest { RevokeAllGroups?: boolean; /** - *

                                                                              The ID of the Active Directory group for which to revoke access.

                                                                              + *

                                                                              The IPv4 address range, in CIDR notation, of the network for which access is being removed.

                                                                              */ - AccessGroupId?: string; + TargetNetworkCidr: string | undefined; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the Active Directory group for which to revoke access.

                                                                              */ - DryRun?: boolean; + AccessGroupId?: string; } export namespace RevokeClientVpnIngressRequest { @@ -5267,14 +6178,22 @@ export namespace RevokeClientVpnIngressResult { export interface RevokeSecurityGroupEgressRequest { /** - *

                                                                              Not supported. Use a set of IP permissions to specify the port.

                                                                              + *

                                                                              Not supported. Use a set of IP permissions to specify a + * destination security group.

                                                                              */ - FromPort?: number; + SourceSecurityGroupName?: string; /** - *

                                                                              The ID of the security group.

                                                                              + *

                                                                              Not supported. Use a set of IP permissions to specify a destination security + * group.

                                                                              */ - GroupId: string | undefined; + SourceSecurityGroupOwnerId?: string; + + /** + *

                                                                              Not supported. Use a set of IP permissions to specify the protocol name or + * number.

                                                                              + */ + IpProtocol?: string; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -5288,33 +6207,25 @@ export interface RevokeSecurityGroupEgressRequest { */ IpPermissions?: IpPermission[]; - /** - *

                                                                              Not supported. Use a set of IP permissions to specify a - * destination security group.

                                                                              - */ - SourceSecurityGroupName?: string; - /** *

                                                                              Not supported. Use a set of IP permissions to specify the CIDR.

                                                                              */ CidrIp?: string; /** - *

                                                                              Not supported. Use a set of IP permissions to specify a destination security - * group.

                                                                              + *

                                                                              Not supported. Use a set of IP permissions to specify the port.

                                                                              */ - SourceSecurityGroupOwnerId?: string; + ToPort?: number; /** - *

                                                                              Not supported. Use a set of IP permissions to specify the port.

                                                                              + *

                                                                              The ID of the security group.

                                                                              */ - ToPort?: number; + GroupId: string | undefined; /** - *

                                                                              Not supported. Use a set of IP permissions to specify the protocol name or - * number.

                                                                              + *

                                                                              Not supported. Use a set of IP permissions to specify the port.

                                                                              */ - IpProtocol?: string; + FromPort?: number; } export namespace RevokeSecurityGroupEgressRequest { @@ -5323,23 +6234,33 @@ export namespace RevokeSecurityGroupEgressRequest { }); } -export interface RevokeSecurityGroupIngressRequest { +export interface RevokeSecurityGroupEgressResult { /** - *

                                                                              The ID of the security group. You must specify either the security group ID or the - * security group name in the request. For security groups in a nondefault VPC, you must - * specify the security group ID.

                                                                              + *

                                                                              The outbound rules that were unknown to the service. In some cases, + * unknownIpPermissionSet might be in a different format from the request + * parameter.

                                                                              */ - GroupId?: string; + UnknownIpPermissions?: IpPermission[]; /** - *

                                                                              [EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

                                                                              + *

                                                                              Returns true if the request succeeds; otherwise, returns an error.

                                                                              */ - SourceSecurityGroupName?: string; + Return?: boolean; +} + +export namespace RevokeSecurityGroupEgressResult { + export const filterSensitiveLog = (obj: RevokeSecurityGroupEgressResult): any => ({ + ...obj, + }); +} +export interface RevokeSecurityGroupIngressRequest { /** - *

                                                                              The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.

                                                                              + *

                                                                              The IP protocol name (tcp, udp, icmp) or number + * (see Protocol Numbers). + * Use -1 to specify all.

                                                                              */ - IpPermissions?: IpPermission[]; + IpProtocol?: string; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -5354,6 +6275,11 @@ export interface RevokeSecurityGroupIngressRequest { */ FromPort?: number; + /** + *

                                                                              [EC2-Classic] The AWS account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

                                                                              + */ + SourceSecurityGroupOwnerId?: string; + /** *

                                                                              [EC2-Classic, default VPC] The name of the security group. You must specify either the * security group ID or the security group name in the request.

                                                                              @@ -5372,20 +6298,45 @@ export interface RevokeSecurityGroupIngressRequest { CidrIp?: string; /** - *

                                                                              [EC2-Classic] The AWS account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

                                                                              + *

                                                                              [EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

                                                                              */ - SourceSecurityGroupOwnerId?: string; + SourceSecurityGroupName?: string; + + /** + *

                                                                              The ID of the security group. You must specify either the security group ID or the + * security group name in the request. For security groups in a nondefault VPC, you must + * specify the security group ID.

                                                                              + */ + GroupId?: string; + + /** + *

                                                                              The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.

                                                                              + */ + IpPermissions?: IpPermission[]; +} + +export namespace RevokeSecurityGroupIngressRequest { + export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressRequest): any => ({ + ...obj, + }); +} + +export interface RevokeSecurityGroupIngressResult { + /** + *

                                                                              Returns true if the request succeeds; otherwise, returns an error.

                                                                              + */ + Return?: boolean; /** - *

                                                                              The IP protocol name (tcp, udp, icmp) or number - * (see Protocol Numbers). - * Use -1 to specify all.

                                                                              + *

                                                                              The inbound rules that were unknown to the service. In some cases, + * unknownIpPermissionSet might be in a different format from the request + * parameter.

                                                                              */ - IpProtocol?: string; + UnknownIpPermissions?: IpPermission[]; } -export namespace RevokeSecurityGroupIngressRequest { - export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressRequest): any => ({ +export namespace RevokeSecurityGroupIngressResult { + export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressResult): any => ({ ...obj, }); } @@ -5395,17 +6346,17 @@ export namespace RevokeSecurityGroupIngressRequest { * specified in the request.

                                                                              */ export interface CpuOptionsRequest { + /** + *

                                                                              The number of CPU cores for the instance.

                                                                              + */ + CoreCount?: number; + /** *

                                                                              The number of threads per CPU core. To disable multithreading for * the instance, specify a value of 1. Otherwise, specify the default value of * 2.

                                                                              */ ThreadsPerCore?: number; - - /** - *

                                                                              The number of CPU cores for the instance.

                                                                              - */ - CoreCount?: number; } export namespace CpuOptionsRequest { @@ -5470,11 +6421,12 @@ export namespace HibernationOptionsRequest { */ export interface SpotMarketOptions { /** - *

                                                                              The Spot Instance request type. For RunInstances, persistent Spot - * Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or - * stop.

                                                                              + *

                                                                              The end date of the request. For a one-time request, the request remains active until + * all instances launch, the request is canceled, or this date is reached. If the request + * is persistent, it remains active until it is canceled or this date and time is reached. + * The default end date is 7 days from the current date.

                                                                              */ - SpotInstanceType?: SpotInstanceType | string; + ValidUntil?: Date; /** *

                                                                              The behavior when a Spot Instance is interrupted. The default is @@ -5483,12 +6435,10 @@ export interface SpotMarketOptions { InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; /** - *

                                                                              The end date of the request. For a one-time request, the request remains active until - * all instances launch, the request is canceled, or this date is reached. If the request - * is persistent, it remains active until it is canceled or this date and time is reached. - * The default end date is 7 days from the current date.

                                                                              + *

                                                                              The maximum hourly price you're willing to pay for the Spot Instances. The default is + * the On-Demand price.

                                                                              */ - ValidUntil?: Date; + MaxPrice?: string; /** *

                                                                              The required duration for the Spot Instances (also known as Spot blocks), in minutes. @@ -5497,10 +6447,11 @@ export interface SpotMarketOptions { BlockDurationMinutes?: number; /** - *

                                                                              The maximum hourly price you're willing to pay for the Spot Instances. The default is - * the On-Demand price.

                                                                              + *

                                                                              The Spot Instance request type. For RunInstances, persistent Spot + * Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or + * stop.

                                                                              */ - MaxPrice?: string; + SpotInstanceType?: SpotInstanceType | string; } export namespace SpotMarketOptions { @@ -5536,15 +6487,15 @@ export namespace InstanceMarketOptionsRequest { */ export interface LaunchTemplateSpecification { /** - *

                                                                              The version number of the launch template.

                                                                              - *

                                                                              Default: The default version for the launch template.

                                                                              + *

                                                                              The name of the launch template.

                                                                              */ - Version?: string; + LaunchTemplateName?: string; /** - *

                                                                              The name of the launch template.

                                                                              + *

                                                                              The version number of the launch template.

                                                                              + *

                                                                              Default: The default version for the launch template.

                                                                              */ - LaunchTemplateName?: string; + Version?: string; /** *

                                                                              The ID of the launch template.

                                                                              @@ -5579,14 +6530,12 @@ export namespace LicenseConfigurationRequest { */ export interface InstanceMetadataOptionsRequest { /** - *

                                                                              This parameter enables or disables the HTTP metadata endpoint on your instances. If - * the parameter is not specified, the default state is enabled.

                                                                              - * - *

                                                                              If you specify a value of disabled, you will not be able to access your - * instance metadata.

                                                                              - *
                                                                              + *

                                                                              The desired HTTP PUT response hop limit for instance metadata requests. The larger the + * number, the further instance metadata requests can travel.

                                                                              + *

                                                                              Default: 1

                                                                              + *

                                                                              Possible values: Integers from 1 to 64

                                                                              */ - HttpEndpoint?: InstanceMetadataEndpointState | string; + HttpPutResponseHopLimit?: number; /** *

                                                                              The state of token usage for your instance metadata requests. If the parameter is not @@ -5604,12 +6553,14 @@ export interface InstanceMetadataOptionsRequest { HttpTokens?: HttpTokensState | string; /** - *

                                                                              The desired HTTP PUT response hop limit for instance metadata requests. The larger the - * number, the further instance metadata requests can travel.

                                                                              - *

                                                                              Default: 1

                                                                              - *

                                                                              Possible values: Integers from 1 to 64

                                                                              + *

                                                                              This parameter enables or disables the HTTP metadata endpoint on your instances. If + * the parameter is not specified, the default state is enabled.

                                                                              + * + *

                                                                              If you specify a value of disabled, you will not be able to access your + * instance metadata.

                                                                              + *
                                                                              */ - HttpPutResponseHopLimit?: number; + HttpEndpoint?: InstanceMetadataEndpointState | string; } export namespace InstanceMetadataOptionsRequest { @@ -5620,51 +6571,36 @@ export namespace InstanceMetadataOptionsRequest { export interface RunInstancesRequest { /** - *

                                                                              [EC2-VPC] The number of IPv6 addresses to associate with the primary network - * interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You - * cannot specify this option and the option to assign specific IPv6 addresses in the same - * request. You can specify this option if you've specified a minimum number of instances - * to launch.

                                                                              - *

                                                                              You cannot specify this option and the network interfaces option in the same - * request.

                                                                              - */ - Ipv6AddressCount?: number; - - /** - *

                                                                              The IAM instance profile.

                                                                              + *

                                                                              The tags to apply to the resources during launch. You can only tag instances and + * volumes on launch. The specified tags are applied to all instances or volumes that are + * created during launch. To tag a resource after it has been created, see CreateTags.

                                                                              */ - IamInstanceProfile?: IamInstanceProfileSpecification; + TagSpecifications?: TagSpecification[]; /** - *

                                                                              An elastic inference accelerator to associate with the instance. Elastic inference - * accelerators are a resource you can attach to your Amazon EC2 instances to accelerate - * your Deep Learning (DL) inference workloads.

                                                                              - *

                                                                              You cannot specify accelerators from different generations in the same request.

                                                                              + *

                                                                              The ID of the kernel.

                                                                              + * + *

                                                                              We recommend that you use PV-GRUB instead of kernels and RAM disks. For more + * information, see PV-GRUB in the + * Amazon Elastic Compute Cloud User Guide.

                                                                              + *
                                                                              */ - ElasticInferenceAccelerators?: ElasticInferenceAccelerator[]; + KernelId?: string; /** - *

                                                                              If you set this parameter to true, you can't terminate the instance using - * the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, - * use ModifyInstanceAttribute. - * Alternatively, if you set InstanceInitiatedShutdownBehavior to - * terminate, you can terminate the instance by running the shutdown - * command from the instance.

                                                                              - *

                                                                              Default: false - *

                                                                              + *

                                                                              [EC2-Classic, default VPC] The names of the security groups. For a nondefault VPC, you + * must use security group IDs instead.

                                                                              + *

                                                                              If you specify a network interface, you must specify any security groups as part of + * the network interface.

                                                                              + *

                                                                              Default: Amazon EC2 uses the default security group.

                                                                              */ - DisableApiTermination?: boolean; + SecurityGroups?: string[]; /** - *

                                                                              Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. If you do not specify a client token, a randomly generated token is used for the - * request to ensure idempotency.

                                                                              - * - *

                                                                              For more information, see Ensuring - * Idempotency.

                                                                              - *

                                                                              Constraints: Maximum 64 ASCII characters

                                                                              + *

                                                                              [EC2-VPC] The ID of the subnet to launch the instance into.

                                                                              + *

                                                                              If you specify a network interface, you must specify any subnets as part of the network interface.

                                                                              */ - ClientToken?: string; + SubnetId?: string; /** *

                                                                              The placement for the instance.

                                                                              @@ -5672,22 +6608,34 @@ export interface RunInstancesRequest { Placement?: Placement; /** - *

                                                                              Information about the Capacity Reservation targeting option. If you do not specify this parameter, the - * instance's Capacity Reservation preference defaults to open, which enables - * it to run in any open Capacity Reservation that has matching attributes (instance type, - * platform, Availability Zone).

                                                                              + *

                                                                              An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that + * you can attach to your Windows instance to accelerate the graphics performance of your + * applications. For more information, see Amazon EC2 Elastic + * GPUs in the Amazon Elastic Compute Cloud User Guide.

                                                                              */ - CapacityReservationSpecification?: CapacityReservationSpecification; + ElasticGpuSpecification?: ElasticGpuSpecification[]; /** - *

                                                                              The metadata options for the instance. For more information, see Instance metadata and user data.

                                                                              + *

                                                                              If you set this parameter to true, you can't terminate the instance using + * the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, + * use ModifyInstanceAttribute. + * Alternatively, if you set InstanceInitiatedShutdownBehavior to + * terminate, you can terminate the instance by running the shutdown + * command from the instance.

                                                                              + *

                                                                              Default: false + *

                                                                              */ - MetadataOptions?: InstanceMetadataOptionsRequest; + DisableApiTermination?: boolean; /** - *

                                                                              Specifies whether detailed monitoring is enabled for the instance.

                                                                              + *

                                                                              The name of the key pair. You can create a key pair using CreateKeyPair or + * ImportKeyPair.

                                                                              + * + *

                                                                              If you do not specify a key pair, you can't connect to the instance unless you + * choose an AMI that is configured to allow users another way to log in.

                                                                              + *
                                                                              */ - Monitoring?: RunInstancesMonitoringEnabled; + KeyName?: string; /** *

                                                                              The ID of the RAM disk to select. Some kernels require additional drivers at launch. @@ -5702,72 +6650,6 @@ export interface RunInstancesRequest { */ RamdiskId?: string; - /** - *

                                                                              Indicates whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal Amazon EBS I/O performance. This optimization isn't available with all - * instance types. Additional usage charges apply when using an EBS-optimized - * instance.

                                                                              - *

                                                                              Default: false - *

                                                                              - */ - EbsOptimized?: boolean; - - /** - *

                                                                              The tags to apply to the resources during launch. You can only tag instances and - * volumes on launch. The specified tags are applied to all instances or volumes that are - * created during launch. To tag a resource after it has been created, see CreateTags.

                                                                              - */ - TagSpecifications?: TagSpecification[]; - - /** - *

                                                                              The license configurations.

                                                                              - */ - LicenseSpecifications?: LicenseConfigurationRequest[]; - - /** - *

                                                                              The minimum number of instances to launch. If you specify a minimum that is more - * instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 - * launches no instances.

                                                                              - *

                                                                              Constraints: Between 1 and the maximum number you're allowed for the specified - * instance type. For more information about the default limits, and how to request an - * increase, see How many instances can I - * run in Amazon EC2 in the Amazon EC2 General FAQ.

                                                                              - */ - MinCount: number | undefined; - - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - - /** - *

                                                                              The IDs of the security groups. You can create a security group using - * CreateSecurityGroup.

                                                                              - *

                                                                              If you specify a network interface, you must specify any security groups as part of the network interface.

                                                                              - */ - SecurityGroupIds?: string[]; - - /** - *

                                                                              An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that - * you can attach to your Windows instance to accelerate the graphics performance of your - * applications. For more information, see Amazon EC2 Elastic - * GPUs in the Amazon Elastic Compute Cloud User Guide.

                                                                              - */ - ElasticGpuSpecification?: ElasticGpuSpecification[]; - - /** - *

                                                                              The block device mapping entries.

                                                                              - */ - BlockDeviceMappings?: BlockDeviceMapping[]; - - /** - *

                                                                              The CPU options for the instance. For more information, see Optimizing CPU options in the Amazon Elastic Compute Cloud User Guide.

                                                                              - */ - CpuOptions?: CpuOptionsRequest; - /** *

                                                                              The market (purchasing) option for the instances.

                                                                              *

                                                                              For RunInstances, persistent Spot Instance requests are @@ -5788,39 +6670,25 @@ export interface RunInstancesRequest { MaxCount: number | undefined; /** - *

                                                                              The network interfaces to associate with the instance. If you specify a network interface, - * you must specify any security groups and subnets as part of the network interface.

                                                                              - */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; - - /** - *

                                                                              Indicates whether an instance stops or terminates when you initiate shutdown from the - * instance (using the operating system command for system shutdown).

                                                                              - *

                                                                              Default: stop - *

                                                                              - */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; - - /** - *

                                                                              Reserved.

                                                                              + *

                                                                              The block device mapping entries.

                                                                              */ - AdditionalInfo?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                                              The ID of the AMI. An AMI ID is required to launch an instance and must be - * specified here or in a launch template.

                                                                              + *

                                                                              The license configurations.

                                                                              */ - ImageId?: string; - - /** - *

                                                                              The name of the key pair. You can create a key pair using CreateKeyPair or - * ImportKeyPair.

                                                                              - * - *

                                                                              If you do not specify a key pair, you can't connect to the instance unless you - * choose an AMI that is configured to allow users another way to log in.

                                                                              - *
                                                                              + LicenseSpecifications?: LicenseConfigurationRequest[]; + + /** + *

                                                                              The minimum number of instances to launch. If you specify a minimum that is more + * instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 + * launches no instances.

                                                                              + *

                                                                              Constraints: Between 1 and the maximum number you're allowed for the specified + * instance type. For more information about the default limits, and how to request an + * increase, see How many instances can I + * run in Amazon EC2 in the Amazon EC2 General FAQ.

                                                                              */ - KeyName?: string; + MinCount: number | undefined; /** *

                                                                              The credit option for CPU usage of the burstable performance instance. Valid values @@ -5834,13 +6702,28 @@ export interface RunInstancesRequest { CreditSpecification?: CreditSpecificationRequest; /** - *

                                                                              [EC2-Classic, default VPC] The names of the security groups. For a nondefault VPC, you - * must use security group IDs instead.

                                                                              - *

                                                                              If you specify a network interface, you must specify any security groups as part of - * the network interface.

                                                                              - *

                                                                              Default: Amazon EC2 uses the default security group.

                                                                              + *

                                                                              Indicates whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal Amazon EBS I/O performance. This optimization isn't available with all + * instance types. Additional usage charges apply when using an EBS-optimized + * instance.

                                                                              + *

                                                                              Default: false + *

                                                                              */ - SecurityGroups?: string[]; + EbsOptimized?: boolean; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + + /** + *

                                                                              The network interfaces to associate with the instance. If you specify a network interface, + * you must specify any security groups and subnets as part of the network interface.

                                                                              + */ + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; /** *

                                                                              Indicates whether an instance is enabled for hibernation. For more information, see @@ -5850,12 +6733,40 @@ export interface RunInstancesRequest { HibernationOptions?: HibernationOptionsRequest; /** - *

                                                                              The instance type. For more information, see Instance types in the - * Amazon Elastic Compute Cloud User Guide.

                                                                              - *

                                                                              Default: m1.small - *

                                                                              + *

                                                                              The metadata options for the instance. For more information, see Instance metadata and user data.

                                                                              */ - InstanceType?: _InstanceType | string; + MetadataOptions?: InstanceMetadataOptionsRequest; + + /** + *

                                                                              The CPU options for the instance. For more information, see Optimizing CPU options in the Amazon Elastic Compute Cloud User Guide.

                                                                              + */ + CpuOptions?: CpuOptionsRequest; + + /** + *

                                                                              Information about the Capacity Reservation targeting option. If you do not specify this parameter, the + * instance's Capacity Reservation preference defaults to open, which enables + * it to run in any open Capacity Reservation that has matching attributes (instance type, + * platform, Availability Zone).

                                                                              + */ + CapacityReservationSpecification?: CapacityReservationSpecification; + + /** + *

                                                                              The IDs of the security groups. You can create a security group using + * CreateSecurityGroup.

                                                                              + *

                                                                              If you specify a network interface, you must specify any security groups as part of the network interface.

                                                                              + */ + SecurityGroupIds?: string[]; + + /** + *

                                                                              Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. If you do not specify a client token, a randomly generated token is used for the + * request to ensure idempotency.

                                                                              + * + *

                                                                              For more information, see Ensuring + * Idempotency.

                                                                              + *

                                                                              Constraints: Maximum 64 ASCII characters

                                                                              + */ + ClientToken?: string; /** *

                                                                              [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address @@ -5870,18 +6781,9 @@ export interface RunInstancesRequest { PrivateIpAddress?: string; /** - *

                                                                              [EC2-VPC] The ID of the subnet to launch the instance into.

                                                                              - *

                                                                              If you specify a network interface, you must specify any subnets as part of the network interface.

                                                                              - */ - SubnetId?: string; - - /** - *

                                                                              The user data to make available to the instance. For more information, see Running commands - * on your Linux instance at launch (Linux) and Adding User Data (Windows). If you are using a command line tool, - * base64-encoding is performed for you, and you can load the text from a file. Otherwise, - * you must provide base64-encoded text. User data is limited to 16 KB.

                                                                              + *

                                                                              The IAM instance profile.

                                                                              */ - UserData?: string; + IamInstanceProfile?: IamInstanceProfileSpecification; /** *

                                                                              The launch template to use to launch the instances. Any parameters that you specify in @@ -5890,6 +6792,38 @@ export interface RunInstancesRequest { */ LaunchTemplate?: LaunchTemplateSpecification; + /** + *

                                                                              Indicates whether an instance stops or terminates when you initiate shutdown from the + * instance (using the operating system command for system shutdown).

                                                                              + *

                                                                              Default: stop + *

                                                                              + */ + InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; + + /** + *

                                                                              [EC2-VPC] The number of IPv6 addresses to associate with the primary network + * interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You + * cannot specify this option and the option to assign specific IPv6 addresses in the same + * request. You can specify this option if you've specified a minimum number of instances + * to launch.

                                                                              + *

                                                                              You cannot specify this option and the network interfaces option in the same + * request.

                                                                              + */ + Ipv6AddressCount?: number; + + /** + *

                                                                              Specifies whether detailed monitoring is enabled for the instance.

                                                                              + */ + Monitoring?: RunInstancesMonitoringEnabled; + + /** + *

                                                                              An elastic inference accelerator to associate with the instance. Elastic inference + * accelerators are a resource you can attach to your Amazon EC2 instances to accelerate + * your Deep Learning (DL) inference workloads.

                                                                              + *

                                                                              You cannot specify accelerators from different generations in the same request.

                                                                              + */ + ElasticInferenceAccelerators?: ElasticInferenceAccelerator[]; + /** *

                                                                              [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the * primary network interface. You cannot specify this option and the option to assign a @@ -5901,14 +6835,31 @@ export interface RunInstancesRequest { Ipv6Addresses?: InstanceIpv6Address[]; /** - *

                                                                              The ID of the kernel.

                                                                              - * - *

                                                                              We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - * information, see PV-GRUB in the - * Amazon Elastic Compute Cloud User Guide.

                                                                              - *
                                                                              + *

                                                                              The ID of the AMI. An AMI ID is required to launch an instance and must be + * specified here or in a launch template.

                                                                              */ - KernelId?: string; + ImageId?: string; + + /** + *

                                                                              The user data to make available to the instance. For more information, see Running commands + * on your Linux instance at launch (Linux) and Adding User Data (Windows). If you are using a command line tool, + * base64-encoding is performed for you, and you can load the text from a file. Otherwise, + * you must provide base64-encoded text. User data is limited to 16 KB.

                                                                              + */ + UserData?: string; + + /** + *

                                                                              The instance type. For more information, see Instance types in the + * Amazon Elastic Compute Cloud User Guide.

                                                                              + *

                                                                              Default: m1.small + *

                                                                              + */ + InstanceType?: _InstanceType | string; + + /** + *

                                                                              Reserved.

                                                                              + */ + AdditionalInfo?: string; } export namespace RunInstancesRequest { @@ -5922,49 +6873,45 @@ export namespace RunInstancesRequest { */ export interface ScheduledInstancesEbs { /** - *

                                                                              Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

                                                                              + *

                                                                              The volume type. gp2 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, Throughput Optimized HDD + * for st1, Cold HDD for sc1, or standard for + * Magnetic.

                                                                              + *

                                                                              Default: gp2 + *

                                                                              */ - Encrypted?: boolean; + VolumeType?: string; /** - *

                                                                              The size of the volume, in GiB.

                                                                              - *

                                                                              Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

                                                                              + *

                                                                              The ID of the snapshot.

                                                                              */ - VolumeSize?: number; + SnapshotId?: string; /** - *

                                                                              Indicates whether the volume is deleted on instance termination.

                                                                              + *

                                                                              The number of I/O operations per second (IOPS) to provision for an io1 or io2 volume, with a maximum + * ratio of 50 IOPS/GiB for io1, and 500 IOPS/GiB for io2. Range is 100 to 64,000 IOPS for + * volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on + * Nitro-based instances. Other instance families guarantee performance up to + * 32,000 IOPS. For more information, see Amazon EBS Volume Types in the + * Amazon Elastic Compute Cloud User Guide.

                                                                              + *

                                                                              This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes.

                                                                              */ - DeleteOnTermination?: boolean; + Iops?: number; /** - *

                                                                              The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, - * this represents the number of IOPS that are provisioned for the volume. For - * gp2 volumes, this represents the baseline performance of the volume and - * the rate at which the volume accumulates I/O credits for bursting. For more information - * about gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the - * Amazon Elastic Compute Cloud User Guide.

                                                                              - *

                                                                              Constraint: Range is 100-20000 IOPS for io1 volumes and - * 100-10000 IOPS for gp2 volumes.

                                                                              - *

                                                                              Condition: This parameter is required for requests to create io1volumes; it - * is not used in requests to create gp2, st1, - * sc1, or standard volumes.

                                                                              + *

                                                                              Indicates whether the volume is deleted on instance termination.

                                                                              */ - Iops?: number; + DeleteOnTermination?: boolean; /** - *

                                                                              The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, Throughput Optimized HDD - * for st1, Cold HDD for sc1, or standard for - * Magnetic.

                                                                              - *

                                                                              Default: gp2 - *

                                                                              + *

                                                                              The size of the volume, in GiB.

                                                                              + *

                                                                              Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

                                                                              */ - VolumeType?: string; + VolumeSize?: number; /** - *

                                                                              The ID of the snapshot.

                                                                              + *

                                                                              Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

                                                                              */ - SnapshotId?: string; + Encrypted?: boolean; } export namespace ScheduledInstancesEbs { @@ -5978,14 +6925,14 @@ export namespace ScheduledInstancesEbs { */ export interface ScheduledInstancesBlockDeviceMapping { /** - *

                                                                              Parameters used to set up EBS volumes automatically when the instance is launched.

                                                                              + *

                                                                              Suppresses the specified device included in the block device mapping of the AMI.

                                                                              */ - Ebs?: ScheduledInstancesEbs; + NoDevice?: string; /** - *

                                                                              The device name (for example, /dev/sdh or xvdh).

                                                                              + *

                                                                              Parameters used to set up EBS volumes automatically when the instance is launched.

                                                                              */ - DeviceName?: string; + Ebs?: ScheduledInstancesEbs; /** *

                                                                              The virtual device name (ephemeralN). Instance store volumes are numbered @@ -5998,9 +6945,9 @@ export interface ScheduledInstancesBlockDeviceMapping { VirtualName?: string; /** - *

                                                                              Suppresses the specified device included in the block device mapping of the AMI.

                                                                              + *

                                                                              The device name (for example, /dev/sdh or xvdh).

                                                                              */ - NoDevice?: string; + DeviceName?: string; } export namespace ScheduledInstancesBlockDeviceMapping { @@ -6088,29 +7035,34 @@ export namespace ScheduledInstancesPrivateIpAddressConfig { */ export interface ScheduledInstancesNetworkInterface { /** - *

                                                                              The IDs of the security groups.

                                                                              + *

                                                                              The ID of the subnet.

                                                                              */ - Groups?: string[]; + SubnetId?: string; /** *

                                                                              The IPv4 address of the network interface within the subnet.

                                                                              */ PrivateIpAddress?: string; + /** + *

                                                                              The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

                                                                              + */ + Ipv6AddressCount?: number; + /** *

                                                                              The index of the device for the network interface attachment.

                                                                              */ DeviceIndex?: number; /** - *

                                                                              The private IPv4 addresses.

                                                                              + *

                                                                              The IDs of the security groups.

                                                                              */ - PrivateIpAddressConfigs?: ScheduledInstancesPrivateIpAddressConfig[]; + Groups?: string[]; /** - *

                                                                              Indicates whether to delete the interface when the instance is terminated.

                                                                              + *

                                                                              The number of secondary private IPv4 addresses.

                                                                              */ - DeleteOnTermination?: boolean; + SecondaryPrivateIpAddressCount?: number; /** *

                                                                              Indicates whether to assign a public IPv4 address to instances launched in a VPC. The @@ -6127,14 +7079,9 @@ export interface ScheduledInstancesNetworkInterface { NetworkInterfaceId?: string; /** - *

                                                                              The specific IPv6 addresses from the subnet range.

                                                                              - */ - Ipv6Addresses?: ScheduledInstancesIpv6Address[]; - - /** - *

                                                                              The ID of the subnet.

                                                                              + *

                                                                              The private IPv4 addresses.

                                                                              */ - SubnetId?: string; + PrivateIpAddressConfigs?: ScheduledInstancesPrivateIpAddressConfig[]; /** *

                                                                              The description.

                                                                              @@ -6142,14 +7089,14 @@ export interface ScheduledInstancesNetworkInterface { Description?: string; /** - *

                                                                              The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

                                                                              + *

                                                                              The specific IPv6 addresses from the subnet range.

                                                                              */ - Ipv6AddressCount?: number; + Ipv6Addresses?: ScheduledInstancesIpv6Address[]; /** - *

                                                                              The number of secondary private IPv4 addresses.

                                                                              + *

                                                                              Indicates whether to delete the interface when the instance is terminated.

                                                                              */ - SecondaryPrivateIpAddressCount?: number; + DeleteOnTermination?: boolean; } export namespace ScheduledInstancesNetworkInterface { @@ -6186,36 +7133,29 @@ export namespace ScheduledInstancesPlacement { */ export interface ScheduledInstancesLaunchSpecification { /** - *

                                                                              Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

                                                                              - *

                                                                              Default: false - *

                                                                              - */ - EbsOptimized?: boolean; - - /** - *

                                                                              Enable or disable monitoring for the instances.

                                                                              + *

                                                                              The base64-encoded MIME user data.

                                                                              */ - Monitoring?: ScheduledInstancesMonitoring; + UserData?: string; /** - *

                                                                              The ID of the RAM disk.

                                                                              + *

                                                                              The instance type.

                                                                              */ - RamdiskId?: string; + InstanceType?: string; /** - *

                                                                              The placement information.

                                                                              + *

                                                                              The ID of the Amazon Machine Image (AMI).

                                                                              */ - Placement?: ScheduledInstancesPlacement; + ImageId: string | undefined; /** - *

                                                                              The IAM instance profile.

                                                                              + *

                                                                              The network interfaces.

                                                                              */ - IamInstanceProfile?: ScheduledInstancesIamInstanceProfile; + NetworkInterfaces?: ScheduledInstancesNetworkInterface[]; /** - *

                                                                              The instance type.

                                                                              + *

                                                                              The block device mapping entries.

                                                                              */ - InstanceType?: string; + BlockDeviceMappings?: ScheduledInstancesBlockDeviceMapping[]; /** *

                                                                              The IDs of the security groups.

                                                                              @@ -6233,14 +7173,21 @@ export interface ScheduledInstancesLaunchSpecification { SubnetId?: string; /** - *

                                                                              The block device mapping entries.

                                                                              + *

                                                                              Enable or disable monitoring for the instances.

                                                                              */ - BlockDeviceMappings?: ScheduledInstancesBlockDeviceMapping[]; + Monitoring?: ScheduledInstancesMonitoring; /** - *

                                                                              The network interfaces.

                                                                              + *

                                                                              Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

                                                                              + *

                                                                              Default: false + *

                                                                              */ - NetworkInterfaces?: ScheduledInstancesNetworkInterface[]; + EbsOptimized?: boolean; + + /** + *

                                                                              The placement information.

                                                                              + */ + Placement?: ScheduledInstancesPlacement; /** *

                                                                              The name of the key pair.

                                                                              @@ -6248,14 +7195,14 @@ export interface ScheduledInstancesLaunchSpecification { KeyName?: string; /** - *

                                                                              The ID of the Amazon Machine Image (AMI).

                                                                              + *

                                                                              The IAM instance profile.

                                                                              */ - ImageId: string | undefined; + IamInstanceProfile?: ScheduledInstancesIamInstanceProfile; /** - *

                                                                              The base64-encoded MIME user data.

                                                                              + *

                                                                              The ID of the RAM disk.

                                                                              */ - UserData?: string; + RamdiskId?: string; } export namespace ScheduledInstancesLaunchSpecification { @@ -6268,6 +7215,11 @@ export namespace ScheduledInstancesLaunchSpecification { *

                                                                              Contains the parameters for RunScheduledInstances.

                                                                              */ export interface RunScheduledInstancesRequest { + /** + *

                                                                              The Scheduled Instance ID.

                                                                              + */ + ScheduledInstanceId: string | undefined; + /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -6282,21 +7234,16 @@ export interface RunScheduledInstancesRequest { LaunchSpecification: ScheduledInstancesLaunchSpecification | undefined; /** - *

                                                                              The Scheduled Instance ID.

                                                                              + *

                                                                              Unique, case-sensitive identifier that ensures the idempotency of the request. + * For more information, see Ensuring Idempotency.

                                                                              */ - ScheduledInstanceId: string | undefined; + ClientToken?: string; /** *

                                                                              The number of instances.

                                                                              *

                                                                              Default: 1

                                                                              */ InstanceCount?: number; - - /** - *

                                                                              Unique, case-sensitive identifier that ensures the idempotency of the request. - * For more information, see Ensuring Idempotency.

                                                                              - */ - ClientToken?: string; } export namespace RunScheduledInstancesRequest { @@ -6323,14 +7270,14 @@ export namespace RunScheduledInstancesResult { export interface SearchLocalGatewayRoutesRequest { /** - *

                                                                              One or more filters.

                                                                              + *

                                                                              The token for the next page of results.

                                                                              */ - Filters: Filter[] | undefined; + NextToken?: string; /** - *

                                                                              The ID of the local gateway route table.

                                                                              + *

                                                                              One or more filters.

                                                                              */ - LocalGatewayRouteTableId: string | undefined; + Filters: Filter[] | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -6340,15 +7287,15 @@ export interface SearchLocalGatewayRoutesRequest { DryRun?: boolean; /** - *

                                                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + *

                                                                              The ID of the local gateway route table.

                                                                              */ - MaxResults?: number; + LocalGatewayRouteTableId: string | undefined; /** - *

                                                                              The token for the next page of results.

                                                                              + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              */ - NextToken?: string; + MaxResults?: number; } export namespace SearchLocalGatewayRoutesRequest { @@ -6377,27 +7324,27 @@ export namespace SearchLocalGatewayRoutesResult { export interface SearchTransitGatewayMulticastGroupsRequest { /** - *

                                                                              The ID of the transit gateway multicast domain.

                                                                              + *

                                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              */ - TransitGatewayMulticastDomainId?: string; + MaxResults?: number; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The token for the next page of results.

                                                                              */ - DryRun?: boolean; + NextToken?: string; /** - *

                                                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                              + *

                                                                              The ID of the transit gateway multicast domain.

                                                                              */ - MaxResults?: number; + TransitGatewayMulticastDomainId?: string; /** - *

                                                                              The token for the next page of results.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - NextToken?: string; + DryRun?: boolean; /** *

                                                                              One or more filters. The possible values are:

                                                                              @@ -6459,11 +7406,6 @@ export type MembershipType = "igmp" | "static"; *

                                                                              Describes the transit gateway multicast group resources.

                                                                              */ export interface TransitGatewayMulticastGroup { - /** - *

                                                                              The IP address assigned to the transit gateway multicast group.

                                                                              - */ - GroupIpAddress?: string; - /** *

                                                                              The member type (for example, static).

                                                                              */ @@ -6475,24 +7417,29 @@ export interface TransitGatewayMulticastGroup { TransitGatewayAttachmentId?: string; /** - *

                                                                              The ID of the resource.

                                                                              + *

                                                                              The IP address assigned to the transit gateway multicast group.

                                                                              */ - ResourceId?: string; + GroupIpAddress?: string; /** - *

                                                                              Indicates that the resource is a transit gateway multicast group member.

                                                                              + *

                                                                              The type of resource, for example a VPC attachment.

                                                                              */ - GroupSource?: boolean; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

                                                                              The source type.

                                                                              + *

                                                                              The ID of the transit gateway attachment.

                                                                              */ - SourceType?: MembershipType | string; + NetworkInterfaceId?: string; + + /** + *

                                                                              The ID of the resource.

                                                                              + */ + ResourceId?: string; /** *

                                                                              Indicates that the resource is a transit gateway multicast group member.

                                                                              */ - GroupMember?: boolean; + GroupSource?: boolean; /** *

                                                                              The ID of the subnet.

                                                                              @@ -6500,14 +7447,14 @@ export interface TransitGatewayMulticastGroup { SubnetId?: string; /** - *

                                                                              The ID of the transit gateway attachment.

                                                                              + *

                                                                              Indicates that the resource is a transit gateway multicast group member.

                                                                              */ - NetworkInterfaceId?: string; + GroupMember?: boolean; /** - *

                                                                              The type of resource, for example a VPC attachment.

                                                                              + *

                                                                              The source type.

                                                                              */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + SourceType?: MembershipType | string; } export namespace TransitGatewayMulticastGroup { @@ -6548,7 +7495,12 @@ export interface SearchTransitGatewayRoutesRequest { * *
                                                                            • *

                                                                              - * attachment.resource-type - The attachment resource type (vpc | vpn).

                                                                              + * attachment.resource-type - The attachment resource type. Valid values are vpc | vpn | direct-connect-gateway | + * peering.

                                                                              + *
                                                                            • + *
                                                                            • + *

                                                                              + * prefix-list-id - The ID of the prefix list.

                                                                              *
                                                                            • *
                                                                            • *

                                                                              @@ -6580,9 +7532,11 @@ export interface SearchTransitGatewayRoutesRequest { Filters: Filter[] | undefined; /** - *

                                                                              The ID of the transit gateway route table.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - TransitGatewayRouteTableId: string | undefined; + DryRun?: boolean; /** *

                                                                              The maximum number of routes to return.

                                                                              @@ -6590,11 +7544,9 @@ export interface SearchTransitGatewayRoutesRequest { MaxResults?: number; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the transit gateway route table.

                                                                              */ - DryRun?: boolean; + TransitGatewayRouteTableId: string | undefined; } export namespace SearchTransitGatewayRoutesRequest { @@ -6643,14 +7595,14 @@ export namespace SendDiagnosticInterruptRequest { export interface StartInstancesRequest { /** - *

                                                                              The IDs of the instances.

                                                                              + *

                                                                              Reserved.

                                                                              */ - InstanceIds: string[] | undefined; + AdditionalInfo?: string; /** - *

                                                                              Reserved.

                                                                              + *

                                                                              The IDs of the instances.

                                                                              */ - AdditionalInfo?: string; + InstanceIds: string[] | undefined; /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, @@ -6671,14 +7623,14 @@ export namespace StartInstancesRequest { */ export interface InstanceStateChange { /** - *

                                                                              The previous state of the instance.

                                                                              + *

                                                                              The current state of the instance.

                                                                              */ - PreviousState?: InstanceState; + CurrentState?: InstanceState; /** - *

                                                                              The current state of the instance.

                                                                              + *

                                                                              The previous state of the instance.

                                                                              */ - CurrentState?: InstanceState; + PreviousState?: InstanceState; /** *

                                                                              The ID of the instance.

                                                                              @@ -6706,17 +7658,17 @@ export namespace StartInstancesResult { } export interface StartVpcEndpointServicePrivateDnsVerificationRequest { - /** - *

                                                                              The ID of the endpoint service.

                                                                              - */ - ServiceId: string | undefined; - /** *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                              */ DryRun?: boolean; + + /** + *

                                                                              The ID of the endpoint service.

                                                                              + */ + ServiceId: string | undefined; } export namespace StartVpcEndpointServicePrivateDnsVerificationRequest { @@ -6754,6 +7706,13 @@ export interface StopInstancesRequest { */ InstanceIds: string[] | undefined; + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; + /** *

                                                                              Hibernates the instance if the instance was enabled for hibernation at launch. If the * instance cannot hibernate successfully, a normal shutdown occurs. For more information, @@ -6763,13 +7722,6 @@ export interface StopInstancesRequest { *

                                                                              */ Hibernate?: boolean; - - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; } export namespace StopInstancesRequest { @@ -6793,25 +7745,25 @@ export namespace StopInstancesResult { export interface TerminateClientVpnConnectionsRequest { /** - *

                                                                              The ID of the client connection to be terminated.

                                                                              + *

                                                                              The name of the user who initiated the connection. Use this option to terminate all active connections for + * the specified user. This option can only be used if the user has established up to five connections.

                                                                              */ - ConnectionId?: string; + Username?: string; /** - *

                                                                              The ID of the Client VPN endpoint to which the client is connected.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              */ - ClientVpnEndpointId: string | undefined; + DryRun?: boolean; /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The ID of the client connection to be terminated.

                                                                              */ - DryRun?: boolean; + ConnectionId?: string; /** - *

                                                                              The name of the user who initiated the connection. Use this option to terminate all active connections for - * the specified user. This option can only be used if the user has established up to five connections.

                                                                              + *

                                                                              The ID of the Client VPN endpoint to which the client is connected.

                                                                              */ - Username?: string; + ClientVpnEndpointId: string | undefined; } export namespace TerminateClientVpnConnectionsRequest { @@ -6825,9 +7777,9 @@ export namespace TerminateClientVpnConnectionsRequest { */ export interface TerminateConnectionStatus { /** - *

                                                                              The state of the client connection.

                                                                              + *

                                                                              The ID of the client connection.

                                                                              */ - PreviousStatus?: ClientVpnConnectionStatus; + ConnectionId?: string; /** *

                                                                              A message about the status of the client connection, if applicable.

                                                                              @@ -6835,9 +7787,9 @@ export interface TerminateConnectionStatus { CurrentStatus?: ClientVpnConnectionStatus; /** - *

                                                                              The ID of the client connection.

                                                                              + *

                                                                              The state of the client connection.

                                                                              */ - ConnectionId?: string; + PreviousStatus?: ClientVpnConnectionStatus; } export namespace TerminateConnectionStatus { @@ -6924,14 +7876,14 @@ export namespace UnassignIpv6AddressesRequest { export interface UnassignIpv6AddressesResult { /** - *

                                                                              The ID of the network interface.

                                                                              + *

                                                                              The IPv6 addresses that have been unassigned from the network interface.

                                                                              */ - NetworkInterfaceId?: string; + UnassignedIpv6Addresses?: string[]; /** - *

                                                                              The IPv6 addresses that have been unassigned from the network interface.

                                                                              + *

                                                                              The ID of the network interface.

                                                                              */ - UnassignedIpv6Addresses?: string[]; + NetworkInterfaceId?: string; } export namespace UnassignIpv6AddressesResult { @@ -6945,14 +7897,14 @@ export namespace UnassignIpv6AddressesResult { */ export interface UnassignPrivateIpAddressesRequest { /** - *

                                                                              The ID of the network interface.

                                                                              + *

                                                                              The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

                                                                              */ - NetworkInterfaceId: string | undefined; + PrivateIpAddresses: string[] | undefined; /** - *

                                                                              The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

                                                                              + *

                                                                              The ID of the network interface.

                                                                              */ - PrivateIpAddresses: string[] | undefined; + NetworkInterfaceId: string | undefined; } export namespace UnassignPrivateIpAddressesRequest { @@ -6996,11 +7948,15 @@ export namespace UnmonitorInstancesResult { export interface UpdateSecurityGroupRuleDescriptionsEgressRequest { /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              + *

                                                                              The IP permissions for the security group rule.

                                                                              */ - DryRun?: boolean; + IpPermissions: IpPermission[] | undefined; + + /** + *

                                                                              [Default VPC] The name of the security group. You must specify either the security group + * ID or the security group name in the request.

                                                                              + */ + GroupName?: string; /** *

                                                                              The ID of the security group. You must specify either the security group ID or the @@ -7010,15 +7966,11 @@ export interface UpdateSecurityGroupRuleDescriptionsEgressRequest { GroupId?: string; /** - *

                                                                              The IP permissions for the security group rule.

                                                                              - */ - IpPermissions: IpPermission[] | undefined; - - /** - *

                                                                              [Default VPC] The name of the security group. You must specify either the security group - * ID or the security group name in the request.

                                                                              + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              */ - GroupName?: string; + DryRun?: boolean; } export namespace UpdateSecurityGroupRuleDescriptionsEgressRequest { @@ -7041,18 +7993,6 @@ export namespace UpdateSecurityGroupRuleDescriptionsEgressResult { } export interface UpdateSecurityGroupRuleDescriptionsIngressRequest { - /** - *

                                                                              The IP permissions for the security group rule.

                                                                              - */ - IpPermissions: IpPermission[] | undefined; - - /** - *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                              - */ - DryRun?: boolean; - /** *

                                                                              [EC2-Classic, default VPC] The name of the security group. You must specify either the * security group ID or the security group name in the request.

                                                                              @@ -7065,6 +8005,18 @@ export interface UpdateSecurityGroupRuleDescriptionsIngressRequest { * specify the security group ID.

                                                                              */ GroupId?: string; + + /** + *

                                                                              The IP permissions for the security group rule.

                                                                              + */ + IpPermissions: IpPermission[] | undefined; + + /** + *

                                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                              + */ + DryRun?: boolean; } export namespace UpdateSecurityGroupRuleDescriptionsIngressRequest { diff --git a/clients/client-ec2/pagination/DescribeCapacityReservationsPaginator.ts b/clients/client-ec2/pagination/DescribeCapacityReservationsPaginator.ts new file mode 100644 index 000000000000..bcf3fa25d83e --- /dev/null +++ b/clients/client-ec2/pagination/DescribeCapacityReservationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeCapacityReservationsCommand, + DescribeCapacityReservationsCommandInput, + DescribeCapacityReservationsCommandOutput, +} from "../commands/DescribeCapacityReservationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeCapacityReservationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeCapacityReservationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeCapacityReservationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeCapacityReservations(input, ...args); +}; +export async function* describeCapacityReservationsPaginate( + config: EC2PaginationConfiguration, + input: DescribeCapacityReservationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeCapacityReservationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeCarrierGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeCarrierGatewaysPaginator.ts new file mode 100644 index 000000000000..51aab6bc7df3 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeCarrierGatewaysPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeCarrierGatewaysCommand, + DescribeCarrierGatewaysCommandInput, + DescribeCarrierGatewaysCommandOutput, +} from "../commands/DescribeCarrierGatewaysCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeCarrierGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeCarrierGatewaysCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeCarrierGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeCarrierGateways(input, ...args); +}; +export async function* describeCarrierGatewaysPaginate( + config: EC2PaginationConfiguration, + input: DescribeCarrierGatewaysCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeCarrierGatewaysCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeClassicLinkInstancesPaginator.ts b/clients/client-ec2/pagination/DescribeClassicLinkInstancesPaginator.ts new file mode 100644 index 000000000000..b1b7daa3703b --- /dev/null +++ b/clients/client-ec2/pagination/DescribeClassicLinkInstancesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeClassicLinkInstancesCommand, + DescribeClassicLinkInstancesCommandInput, + DescribeClassicLinkInstancesCommandOutput, +} from "../commands/DescribeClassicLinkInstancesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeClassicLinkInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeClassicLinkInstancesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeClassicLinkInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeClassicLinkInstances(input, ...args); +}; +export async function* describeClassicLinkInstancesPaginate( + config: EC2PaginationConfiguration, + input: DescribeClassicLinkInstancesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeClassicLinkInstancesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeClientVpnAuthorizationRulesPaginator.ts b/clients/client-ec2/pagination/DescribeClientVpnAuthorizationRulesPaginator.ts new file mode 100644 index 000000000000..27a202c1d498 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeClientVpnAuthorizationRulesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeClientVpnAuthorizationRulesCommand, + DescribeClientVpnAuthorizationRulesCommandInput, + DescribeClientVpnAuthorizationRulesCommandOutput, +} from "../commands/DescribeClientVpnAuthorizationRulesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeClientVpnAuthorizationRulesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeClientVpnAuthorizationRulesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeClientVpnAuthorizationRulesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeClientVpnAuthorizationRules(input, ...args); +}; +export async function* describeClientVpnAuthorizationRulesPaginate( + config: EC2PaginationConfiguration, + input: DescribeClientVpnAuthorizationRulesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeClientVpnAuthorizationRulesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeClientVpnConnectionsPaginator.ts b/clients/client-ec2/pagination/DescribeClientVpnConnectionsPaginator.ts new file mode 100644 index 000000000000..07786906099a --- /dev/null +++ b/clients/client-ec2/pagination/DescribeClientVpnConnectionsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeClientVpnConnectionsCommand, + DescribeClientVpnConnectionsCommandInput, + DescribeClientVpnConnectionsCommandOutput, +} from "../commands/DescribeClientVpnConnectionsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeClientVpnConnectionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeClientVpnConnectionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeClientVpnConnectionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeClientVpnConnections(input, ...args); +}; +export async function* describeClientVpnConnectionsPaginate( + config: EC2PaginationConfiguration, + input: DescribeClientVpnConnectionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeClientVpnConnectionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeClientVpnEndpointsPaginator.ts b/clients/client-ec2/pagination/DescribeClientVpnEndpointsPaginator.ts new file mode 100644 index 000000000000..e1d6c386ac12 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeClientVpnEndpointsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeClientVpnEndpointsCommand, + DescribeClientVpnEndpointsCommandInput, + DescribeClientVpnEndpointsCommandOutput, +} from "../commands/DescribeClientVpnEndpointsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeClientVpnEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeClientVpnEndpointsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeClientVpnEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeClientVpnEndpoints(input, ...args); +}; +export async function* describeClientVpnEndpointsPaginate( + config: EC2PaginationConfiguration, + input: DescribeClientVpnEndpointsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeClientVpnEndpointsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeClientVpnRoutesPaginator.ts b/clients/client-ec2/pagination/DescribeClientVpnRoutesPaginator.ts new file mode 100644 index 000000000000..f092f62ee4dd --- /dev/null +++ b/clients/client-ec2/pagination/DescribeClientVpnRoutesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeClientVpnRoutesCommand, + DescribeClientVpnRoutesCommandInput, + DescribeClientVpnRoutesCommandOutput, +} from "../commands/DescribeClientVpnRoutesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeClientVpnRoutesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeClientVpnRoutesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeClientVpnRoutesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeClientVpnRoutes(input, ...args); +}; +export async function* describeClientVpnRoutesPaginate( + config: EC2PaginationConfiguration, + input: DescribeClientVpnRoutesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeClientVpnRoutesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeClientVpnTargetNetworksPaginator.ts b/clients/client-ec2/pagination/DescribeClientVpnTargetNetworksPaginator.ts new file mode 100644 index 000000000000..6eaf7b7aba0f --- /dev/null +++ b/clients/client-ec2/pagination/DescribeClientVpnTargetNetworksPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeClientVpnTargetNetworksCommand, + DescribeClientVpnTargetNetworksCommandInput, + DescribeClientVpnTargetNetworksCommandOutput, +} from "../commands/DescribeClientVpnTargetNetworksCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeClientVpnTargetNetworksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeClientVpnTargetNetworksCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeClientVpnTargetNetworksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeClientVpnTargetNetworks(input, ...args); +}; +export async function* describeClientVpnTargetNetworksPaginate( + config: EC2PaginationConfiguration, + input: DescribeClientVpnTargetNetworksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeClientVpnTargetNetworksCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeCoipPoolsPaginator.ts b/clients/client-ec2/pagination/DescribeCoipPoolsPaginator.ts new file mode 100644 index 000000000000..c1781079b568 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeCoipPoolsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeCoipPoolsCommand, + DescribeCoipPoolsCommandInput, + DescribeCoipPoolsCommandOutput, +} from "../commands/DescribeCoipPoolsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeCoipPoolsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeCoipPoolsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeCoipPoolsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeCoipPools(input, ...args); +}; +export async function* describeCoipPoolsPaginate( + config: EC2PaginationConfiguration, + input: DescribeCoipPoolsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeCoipPoolsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeDhcpOptionsPaginator.ts b/clients/client-ec2/pagination/DescribeDhcpOptionsPaginator.ts new file mode 100644 index 000000000000..ab6f59eb5f56 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeDhcpOptionsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeDhcpOptionsCommand, + DescribeDhcpOptionsCommandInput, + DescribeDhcpOptionsCommandOutput, +} from "../commands/DescribeDhcpOptionsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeDhcpOptionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeDhcpOptionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeDhcpOptionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeDhcpOptions(input, ...args); +}; +export async function* describeDhcpOptionsPaginate( + config: EC2PaginationConfiguration, + input: DescribeDhcpOptionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeDhcpOptionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeEgressOnlyInternetGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeEgressOnlyInternetGatewaysPaginator.ts new file mode 100644 index 000000000000..f34521cd9acc --- /dev/null +++ b/clients/client-ec2/pagination/DescribeEgressOnlyInternetGatewaysPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeEgressOnlyInternetGatewaysCommand, + DescribeEgressOnlyInternetGatewaysCommandInput, + DescribeEgressOnlyInternetGatewaysCommandOutput, +} from "../commands/DescribeEgressOnlyInternetGatewaysCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeEgressOnlyInternetGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEgressOnlyInternetGatewaysCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeEgressOnlyInternetGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEgressOnlyInternetGateways(input, ...args); +}; +export async function* describeEgressOnlyInternetGatewaysPaginate( + config: EC2PaginationConfiguration, + input: DescribeEgressOnlyInternetGatewaysCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEgressOnlyInternetGatewaysCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeExportImageTasksPaginator.ts b/clients/client-ec2/pagination/DescribeExportImageTasksPaginator.ts new file mode 100644 index 000000000000..e33a658dbec5 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeExportImageTasksPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeExportImageTasksCommand, + DescribeExportImageTasksCommandInput, + DescribeExportImageTasksCommandOutput, +} from "../commands/DescribeExportImageTasksCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeExportImageTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeExportImageTasksCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeExportImageTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeExportImageTasks(input, ...args); +}; +export async function* describeExportImageTasksPaginate( + config: EC2PaginationConfiguration, + input: DescribeExportImageTasksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeExportImageTasksCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeFastSnapshotRestoresPaginator.ts b/clients/client-ec2/pagination/DescribeFastSnapshotRestoresPaginator.ts new file mode 100644 index 000000000000..9aeab0458d01 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeFastSnapshotRestoresPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeFastSnapshotRestoresCommand, + DescribeFastSnapshotRestoresCommandInput, + DescribeFastSnapshotRestoresCommandOutput, +} from "../commands/DescribeFastSnapshotRestoresCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeFastSnapshotRestoresCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeFastSnapshotRestoresCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeFastSnapshotRestoresCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeFastSnapshotRestores(input, ...args); +}; +export async function* describeFastSnapshotRestoresPaginate( + config: EC2PaginationConfiguration, + input: DescribeFastSnapshotRestoresCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeFastSnapshotRestoresCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeFleetsPaginator.ts b/clients/client-ec2/pagination/DescribeFleetsPaginator.ts new file mode 100644 index 000000000000..965a27417a5f --- /dev/null +++ b/clients/client-ec2/pagination/DescribeFleetsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeFleetsCommand, + DescribeFleetsCommandInput, + DescribeFleetsCommandOutput, +} from "../commands/DescribeFleetsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeFleetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeFleetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeFleetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeFleets(input, ...args); +}; +export async function* describeFleetsPaginate( + config: EC2PaginationConfiguration, + input: DescribeFleetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeFleetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeFlowLogsPaginator.ts b/clients/client-ec2/pagination/DescribeFlowLogsPaginator.ts new file mode 100644 index 000000000000..162886325da3 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeFlowLogsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeFlowLogsCommand, + DescribeFlowLogsCommandInput, + DescribeFlowLogsCommandOutput, +} from "../commands/DescribeFlowLogsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeFlowLogsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeFlowLogsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeFlowLogsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeFlowLogs(input, ...args); +}; +export async function* describeFlowLogsPaginate( + config: EC2PaginationConfiguration, + input: DescribeFlowLogsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeFlowLogsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeFpgaImagesPaginator.ts b/clients/client-ec2/pagination/DescribeFpgaImagesPaginator.ts new file mode 100644 index 000000000000..3e439668ed53 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeFpgaImagesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeFpgaImagesCommand, + DescribeFpgaImagesCommandInput, + DescribeFpgaImagesCommandOutput, +} from "../commands/DescribeFpgaImagesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeFpgaImagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeFpgaImagesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeFpgaImagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeFpgaImages(input, ...args); +}; +export async function* describeFpgaImagesPaginate( + config: EC2PaginationConfiguration, + input: DescribeFpgaImagesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeFpgaImagesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeHostReservationOfferingsPaginator.ts b/clients/client-ec2/pagination/DescribeHostReservationOfferingsPaginator.ts new file mode 100644 index 000000000000..39f93fe974db --- /dev/null +++ b/clients/client-ec2/pagination/DescribeHostReservationOfferingsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeHostReservationOfferingsCommand, + DescribeHostReservationOfferingsCommandInput, + DescribeHostReservationOfferingsCommandOutput, +} from "../commands/DescribeHostReservationOfferingsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeHostReservationOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeHostReservationOfferingsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeHostReservationOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeHostReservationOfferings(input, ...args); +}; +export async function* describeHostReservationOfferingsPaginate( + config: EC2PaginationConfiguration, + input: DescribeHostReservationOfferingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeHostReservationOfferingsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeHostReservationsPaginator.ts b/clients/client-ec2/pagination/DescribeHostReservationsPaginator.ts new file mode 100644 index 000000000000..ddf9ea2693e5 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeHostReservationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeHostReservationsCommand, + DescribeHostReservationsCommandInput, + DescribeHostReservationsCommandOutput, +} from "../commands/DescribeHostReservationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeHostReservationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeHostReservationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeHostReservationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeHostReservations(input, ...args); +}; +export async function* describeHostReservationsPaginate( + config: EC2PaginationConfiguration, + input: DescribeHostReservationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeHostReservationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeHostsPaginator.ts b/clients/client-ec2/pagination/DescribeHostsPaginator.ts new file mode 100644 index 000000000000..6c7b258cc72c --- /dev/null +++ b/clients/client-ec2/pagination/DescribeHostsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeHostsCommand, + DescribeHostsCommandInput, + DescribeHostsCommandOutput, +} from "../commands/DescribeHostsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeHostsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeHostsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeHostsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeHosts(input, ...args); +}; +export async function* describeHostsPaginate( + config: EC2PaginationConfiguration, + input: DescribeHostsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeHostsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeIamInstanceProfileAssociationsPaginator.ts b/clients/client-ec2/pagination/DescribeIamInstanceProfileAssociationsPaginator.ts new file mode 100644 index 000000000000..add2f9b2fbd8 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeIamInstanceProfileAssociationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeIamInstanceProfileAssociationsCommand, + DescribeIamInstanceProfileAssociationsCommandInput, + DescribeIamInstanceProfileAssociationsCommandOutput, +} from "../commands/DescribeIamInstanceProfileAssociationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeIamInstanceProfileAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeIamInstanceProfileAssociationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeIamInstanceProfileAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeIamInstanceProfileAssociations(input, ...args); +}; +export async function* describeIamInstanceProfileAssociationsPaginate( + config: EC2PaginationConfiguration, + input: DescribeIamInstanceProfileAssociationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeIamInstanceProfileAssociationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeImportImageTasksPaginator.ts b/clients/client-ec2/pagination/DescribeImportImageTasksPaginator.ts new file mode 100644 index 000000000000..7c62bf5d2072 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeImportImageTasksPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeImportImageTasksCommand, + DescribeImportImageTasksCommandInput, + DescribeImportImageTasksCommandOutput, +} from "../commands/DescribeImportImageTasksCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeImportImageTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeImportImageTasksCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeImportImageTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeImportImageTasks(input, ...args); +}; +export async function* describeImportImageTasksPaginate( + config: EC2PaginationConfiguration, + input: DescribeImportImageTasksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeImportImageTasksCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeImportSnapshotTasksPaginator.ts b/clients/client-ec2/pagination/DescribeImportSnapshotTasksPaginator.ts new file mode 100644 index 000000000000..eb4402b2216b --- /dev/null +++ b/clients/client-ec2/pagination/DescribeImportSnapshotTasksPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeImportSnapshotTasksCommand, + DescribeImportSnapshotTasksCommandInput, + DescribeImportSnapshotTasksCommandOutput, +} from "../commands/DescribeImportSnapshotTasksCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeImportSnapshotTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeImportSnapshotTasksCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeImportSnapshotTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeImportSnapshotTasks(input, ...args); +}; +export async function* describeImportSnapshotTasksPaginate( + config: EC2PaginationConfiguration, + input: DescribeImportSnapshotTasksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeImportSnapshotTasksCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeInstanceCreditSpecificationsPaginator.ts b/clients/client-ec2/pagination/DescribeInstanceCreditSpecificationsPaginator.ts new file mode 100644 index 000000000000..54ea695daef7 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeInstanceCreditSpecificationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeInstanceCreditSpecificationsCommand, + DescribeInstanceCreditSpecificationsCommandInput, + DescribeInstanceCreditSpecificationsCommandOutput, +} from "../commands/DescribeInstanceCreditSpecificationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeInstanceCreditSpecificationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInstanceCreditSpecificationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeInstanceCreditSpecificationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInstanceCreditSpecifications(input, ...args); +}; +export async function* describeInstanceCreditSpecificationsPaginate( + config: EC2PaginationConfiguration, + input: DescribeInstanceCreditSpecificationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInstanceCreditSpecificationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeInstanceStatusPaginator.ts b/clients/client-ec2/pagination/DescribeInstanceStatusPaginator.ts new file mode 100644 index 000000000000..333231b07325 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeInstanceStatusPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeInstanceStatusCommand, + DescribeInstanceStatusCommandInput, + DescribeInstanceStatusCommandOutput, +} from "../commands/DescribeInstanceStatusCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeInstanceStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInstanceStatusCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeInstanceStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInstanceStatus(input, ...args); +}; +export async function* describeInstanceStatusPaginate( + config: EC2PaginationConfiguration, + input: DescribeInstanceStatusCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInstanceStatusCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeInstanceTypeOfferingsPaginator.ts b/clients/client-ec2/pagination/DescribeInstanceTypeOfferingsPaginator.ts new file mode 100644 index 000000000000..d41674dd90ac --- /dev/null +++ b/clients/client-ec2/pagination/DescribeInstanceTypeOfferingsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeInstanceTypeOfferingsCommand, + DescribeInstanceTypeOfferingsCommandInput, + DescribeInstanceTypeOfferingsCommandOutput, +} from "../commands/DescribeInstanceTypeOfferingsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeInstanceTypeOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInstanceTypeOfferingsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeInstanceTypeOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInstanceTypeOfferings(input, ...args); +}; +export async function* describeInstanceTypeOfferingsPaginate( + config: EC2PaginationConfiguration, + input: DescribeInstanceTypeOfferingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInstanceTypeOfferingsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeInstanceTypesPaginator.ts b/clients/client-ec2/pagination/DescribeInstanceTypesPaginator.ts new file mode 100644 index 000000000000..4166c353ed78 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeInstanceTypesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeInstanceTypesCommand, + DescribeInstanceTypesCommandInput, + DescribeInstanceTypesCommandOutput, +} from "../commands/DescribeInstanceTypesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeInstanceTypesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInstanceTypesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeInstanceTypesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInstanceTypes(input, ...args); +}; +export async function* describeInstanceTypesPaginate( + config: EC2PaginationConfiguration, + input: DescribeInstanceTypesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInstanceTypesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeInstancesPaginator.ts b/clients/client-ec2/pagination/DescribeInstancesPaginator.ts new file mode 100644 index 000000000000..8b6ca885eb3a --- /dev/null +++ b/clients/client-ec2/pagination/DescribeInstancesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeInstancesCommand, + DescribeInstancesCommandInput, + DescribeInstancesCommandOutput, +} from "../commands/DescribeInstancesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInstancesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInstances(input, ...args); +}; +export async function* describeInstancesPaginate( + config: EC2PaginationConfiguration, + input: DescribeInstancesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInstancesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeInternetGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeInternetGatewaysPaginator.ts new file mode 100644 index 000000000000..eabc5ebca435 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeInternetGatewaysPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeInternetGatewaysCommand, + DescribeInternetGatewaysCommandInput, + DescribeInternetGatewaysCommandOutput, +} from "../commands/DescribeInternetGatewaysCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeInternetGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInternetGatewaysCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeInternetGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInternetGateways(input, ...args); +}; +export async function* describeInternetGatewaysPaginate( + config: EC2PaginationConfiguration, + input: DescribeInternetGatewaysCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInternetGatewaysCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeIpv6PoolsPaginator.ts b/clients/client-ec2/pagination/DescribeIpv6PoolsPaginator.ts new file mode 100644 index 000000000000..09e4160b3bb1 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeIpv6PoolsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeIpv6PoolsCommand, + DescribeIpv6PoolsCommandInput, + DescribeIpv6PoolsCommandOutput, +} from "../commands/DescribeIpv6PoolsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeIpv6PoolsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeIpv6PoolsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeIpv6PoolsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeIpv6Pools(input, ...args); +}; +export async function* describeIpv6PoolsPaginate( + config: EC2PaginationConfiguration, + input: DescribeIpv6PoolsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeIpv6PoolsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeLaunchTemplateVersionsPaginator.ts b/clients/client-ec2/pagination/DescribeLaunchTemplateVersionsPaginator.ts new file mode 100644 index 000000000000..bc4258c14ab6 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeLaunchTemplateVersionsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeLaunchTemplateVersionsCommand, + DescribeLaunchTemplateVersionsCommandInput, + DescribeLaunchTemplateVersionsCommandOutput, +} from "../commands/DescribeLaunchTemplateVersionsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeLaunchTemplateVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeLaunchTemplateVersionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeLaunchTemplateVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeLaunchTemplateVersions(input, ...args); +}; +export async function* describeLaunchTemplateVersionsPaginate( + config: EC2PaginationConfiguration, + input: DescribeLaunchTemplateVersionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeLaunchTemplateVersionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeLaunchTemplatesPaginator.ts b/clients/client-ec2/pagination/DescribeLaunchTemplatesPaginator.ts new file mode 100644 index 000000000000..aa30b97d5196 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeLaunchTemplatesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeLaunchTemplatesCommand, + DescribeLaunchTemplatesCommandInput, + DescribeLaunchTemplatesCommandOutput, +} from "../commands/DescribeLaunchTemplatesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeLaunchTemplatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeLaunchTemplatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeLaunchTemplatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeLaunchTemplates(input, ...args); +}; +export async function* describeLaunchTemplatesPaginate( + config: EC2PaginationConfiguration, + input: DescribeLaunchTemplatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeLaunchTemplatesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator.ts new file mode 100644 index 000000000000..a4de8832b619 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommand, + DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandInput, + DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandOutput, +} from "../commands/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(input, ...args); +}; +export async function* describeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginate( + config: EC2PaginationConfiguration, + input: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVpcAssociationsPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVpcAssociationsPaginator.ts new file mode 100644 index 000000000000..85efb54a89a5 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVpcAssociationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeLocalGatewayRouteTableVpcAssociationsCommand, + DescribeLocalGatewayRouteTableVpcAssociationsCommandInput, + DescribeLocalGatewayRouteTableVpcAssociationsCommandOutput, +} from "../commands/DescribeLocalGatewayRouteTableVpcAssociationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeLocalGatewayRouteTableVpcAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeLocalGatewayRouteTableVpcAssociationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeLocalGatewayRouteTableVpcAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeLocalGatewayRouteTableVpcAssociations(input, ...args); +}; +export async function* describeLocalGatewayRouteTableVpcAssociationsPaginate( + config: EC2PaginationConfiguration, + input: DescribeLocalGatewayRouteTableVpcAssociationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeLocalGatewayRouteTableVpcAssociationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeLocalGatewayRouteTablesPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTablesPaginator.ts new file mode 100644 index 000000000000..0737fca1b2e2 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTablesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeLocalGatewayRouteTablesCommand, + DescribeLocalGatewayRouteTablesCommandInput, + DescribeLocalGatewayRouteTablesCommandOutput, +} from "../commands/DescribeLocalGatewayRouteTablesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeLocalGatewayRouteTablesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeLocalGatewayRouteTablesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeLocalGatewayRouteTablesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeLocalGatewayRouteTables(input, ...args); +}; +export async function* describeLocalGatewayRouteTablesPaginate( + config: EC2PaginationConfiguration, + input: DescribeLocalGatewayRouteTablesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeLocalGatewayRouteTablesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfaceGroupsPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfaceGroupsPaginator.ts new file mode 100644 index 000000000000..fddb34415980 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfaceGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeLocalGatewayVirtualInterfaceGroupsCommand, + DescribeLocalGatewayVirtualInterfaceGroupsCommandInput, + DescribeLocalGatewayVirtualInterfaceGroupsCommandOutput, +} from "../commands/DescribeLocalGatewayVirtualInterfaceGroupsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeLocalGatewayVirtualInterfaceGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeLocalGatewayVirtualInterfaceGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeLocalGatewayVirtualInterfaceGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeLocalGatewayVirtualInterfaceGroups(input, ...args); +}; +export async function* describeLocalGatewayVirtualInterfaceGroupsPaginate( + config: EC2PaginationConfiguration, + input: DescribeLocalGatewayVirtualInterfaceGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeLocalGatewayVirtualInterfaceGroupsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfacesPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfacesPaginator.ts new file mode 100644 index 000000000000..1d0009c1d7bd --- /dev/null +++ b/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfacesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeLocalGatewayVirtualInterfacesCommand, + DescribeLocalGatewayVirtualInterfacesCommandInput, + DescribeLocalGatewayVirtualInterfacesCommandOutput, +} from "../commands/DescribeLocalGatewayVirtualInterfacesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeLocalGatewayVirtualInterfacesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeLocalGatewayVirtualInterfacesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeLocalGatewayVirtualInterfacesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeLocalGatewayVirtualInterfaces(input, ...args); +}; +export async function* describeLocalGatewayVirtualInterfacesPaginate( + config: EC2PaginationConfiguration, + input: DescribeLocalGatewayVirtualInterfacesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeLocalGatewayVirtualInterfacesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeLocalGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewaysPaginator.ts new file mode 100644 index 000000000000..0c996be13e4a --- /dev/null +++ b/clients/client-ec2/pagination/DescribeLocalGatewaysPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeLocalGatewaysCommand, + DescribeLocalGatewaysCommandInput, + DescribeLocalGatewaysCommandOutput, +} from "../commands/DescribeLocalGatewaysCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeLocalGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeLocalGatewaysCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeLocalGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeLocalGateways(input, ...args); +}; +export async function* describeLocalGatewaysPaginate( + config: EC2PaginationConfiguration, + input: DescribeLocalGatewaysCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeLocalGatewaysCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeManagedPrefixListsPaginator.ts b/clients/client-ec2/pagination/DescribeManagedPrefixListsPaginator.ts new file mode 100644 index 000000000000..e3ca6d5f73c5 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeManagedPrefixListsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeManagedPrefixListsCommand, + DescribeManagedPrefixListsCommandInput, + DescribeManagedPrefixListsCommandOutput, +} from "../commands/DescribeManagedPrefixListsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeManagedPrefixListsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeManagedPrefixListsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeManagedPrefixListsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeManagedPrefixLists(input, ...args); +}; +export async function* describeManagedPrefixListsPaginate( + config: EC2PaginationConfiguration, + input: DescribeManagedPrefixListsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeManagedPrefixListsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeMovingAddressesPaginator.ts b/clients/client-ec2/pagination/DescribeMovingAddressesPaginator.ts new file mode 100644 index 000000000000..4082a70eb953 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeMovingAddressesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeMovingAddressesCommand, + DescribeMovingAddressesCommandInput, + DescribeMovingAddressesCommandOutput, +} from "../commands/DescribeMovingAddressesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeMovingAddressesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMovingAddressesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeMovingAddressesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMovingAddresses(input, ...args); +}; +export async function* describeMovingAddressesPaginate( + config: EC2PaginationConfiguration, + input: DescribeMovingAddressesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMovingAddressesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeNatGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeNatGatewaysPaginator.ts new file mode 100644 index 000000000000..ec29a4621366 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeNatGatewaysPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeNatGatewaysCommand, + DescribeNatGatewaysCommandInput, + DescribeNatGatewaysCommandOutput, +} from "../commands/DescribeNatGatewaysCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeNatGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeNatGatewaysCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeNatGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeNatGateways(input, ...args); +}; +export async function* describeNatGatewaysPaginate( + config: EC2PaginationConfiguration, + input: DescribeNatGatewaysCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeNatGatewaysCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeNetworkAclsPaginator.ts b/clients/client-ec2/pagination/DescribeNetworkAclsPaginator.ts new file mode 100644 index 000000000000..48a891f9c95d --- /dev/null +++ b/clients/client-ec2/pagination/DescribeNetworkAclsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeNetworkAclsCommand, + DescribeNetworkAclsCommandInput, + DescribeNetworkAclsCommandOutput, +} from "../commands/DescribeNetworkAclsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeNetworkAclsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeNetworkAclsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeNetworkAclsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeNetworkAcls(input, ...args); +}; +export async function* describeNetworkAclsPaginate( + config: EC2PaginationConfiguration, + input: DescribeNetworkAclsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeNetworkAclsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeNetworkInterfacePermissionsPaginator.ts b/clients/client-ec2/pagination/DescribeNetworkInterfacePermissionsPaginator.ts new file mode 100644 index 000000000000..21e2884a7d21 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeNetworkInterfacePermissionsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeNetworkInterfacePermissionsCommand, + DescribeNetworkInterfacePermissionsCommandInput, + DescribeNetworkInterfacePermissionsCommandOutput, +} from "../commands/DescribeNetworkInterfacePermissionsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeNetworkInterfacePermissionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeNetworkInterfacePermissionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeNetworkInterfacePermissionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeNetworkInterfacePermissions(input, ...args); +}; +export async function* describeNetworkInterfacePermissionsPaginate( + config: EC2PaginationConfiguration, + input: DescribeNetworkInterfacePermissionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeNetworkInterfacePermissionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeNetworkInterfacesPaginator.ts b/clients/client-ec2/pagination/DescribeNetworkInterfacesPaginator.ts new file mode 100644 index 000000000000..1c35ff62734b --- /dev/null +++ b/clients/client-ec2/pagination/DescribeNetworkInterfacesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeNetworkInterfacesCommand, + DescribeNetworkInterfacesCommandInput, + DescribeNetworkInterfacesCommandOutput, +} from "../commands/DescribeNetworkInterfacesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeNetworkInterfacesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeNetworkInterfacesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeNetworkInterfacesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeNetworkInterfaces(input, ...args); +}; +export async function* describeNetworkInterfacesPaginate( + config: EC2PaginationConfiguration, + input: DescribeNetworkInterfacesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeNetworkInterfacesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribePrefixListsPaginator.ts b/clients/client-ec2/pagination/DescribePrefixListsPaginator.ts new file mode 100644 index 000000000000..a409c82d618f --- /dev/null +++ b/clients/client-ec2/pagination/DescribePrefixListsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribePrefixListsCommand, + DescribePrefixListsCommandInput, + DescribePrefixListsCommandOutput, +} from "../commands/DescribePrefixListsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribePrefixListsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribePrefixListsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribePrefixListsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describePrefixLists(input, ...args); +}; +export async function* describePrefixListsPaginate( + config: EC2PaginationConfiguration, + input: DescribePrefixListsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribePrefixListsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribePrincipalIdFormatPaginator.ts b/clients/client-ec2/pagination/DescribePrincipalIdFormatPaginator.ts new file mode 100644 index 000000000000..a24c42c4a988 --- /dev/null +++ b/clients/client-ec2/pagination/DescribePrincipalIdFormatPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribePrincipalIdFormatCommand, + DescribePrincipalIdFormatCommandInput, + DescribePrincipalIdFormatCommandOutput, +} from "../commands/DescribePrincipalIdFormatCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribePrincipalIdFormatCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribePrincipalIdFormatCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribePrincipalIdFormatCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describePrincipalIdFormat(input, ...args); +}; +export async function* describePrincipalIdFormatPaginate( + config: EC2PaginationConfiguration, + input: DescribePrincipalIdFormatCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribePrincipalIdFormatCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribePublicIpv4PoolsPaginator.ts b/clients/client-ec2/pagination/DescribePublicIpv4PoolsPaginator.ts new file mode 100644 index 000000000000..701df25ce9d3 --- /dev/null +++ b/clients/client-ec2/pagination/DescribePublicIpv4PoolsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribePublicIpv4PoolsCommand, + DescribePublicIpv4PoolsCommandInput, + DescribePublicIpv4PoolsCommandOutput, +} from "../commands/DescribePublicIpv4PoolsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribePublicIpv4PoolsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribePublicIpv4PoolsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribePublicIpv4PoolsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describePublicIpv4Pools(input, ...args); +}; +export async function* describePublicIpv4PoolsPaginate( + config: EC2PaginationConfiguration, + input: DescribePublicIpv4PoolsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribePublicIpv4PoolsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeReservedInstancesModificationsPaginator.ts b/clients/client-ec2/pagination/DescribeReservedInstancesModificationsPaginator.ts new file mode 100644 index 000000000000..49dbdb011848 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeReservedInstancesModificationsPaginator.ts @@ -0,0 +1,50 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeReservedInstancesModificationsCommand, + DescribeReservedInstancesModificationsCommandInput, + DescribeReservedInstancesModificationsCommandOutput, +} from "../commands/DescribeReservedInstancesModificationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeReservedInstancesModificationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeReservedInstancesModificationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeReservedInstancesModificationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeReservedInstancesModifications(input, ...args); +}; +export async function* describeReservedInstancesModificationsPaginate( + config: EC2PaginationConfiguration, + input: DescribeReservedInstancesModificationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeReservedInstancesModificationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeReservedInstancesOfferingsPaginator.ts b/clients/client-ec2/pagination/DescribeReservedInstancesOfferingsPaginator.ts new file mode 100644 index 000000000000..75a6e2e6a728 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeReservedInstancesOfferingsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeReservedInstancesOfferingsCommand, + DescribeReservedInstancesOfferingsCommandInput, + DescribeReservedInstancesOfferingsCommandOutput, +} from "../commands/DescribeReservedInstancesOfferingsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeReservedInstancesOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeReservedInstancesOfferingsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeReservedInstancesOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeReservedInstancesOfferings(input, ...args); +}; +export async function* describeReservedInstancesOfferingsPaginate( + config: EC2PaginationConfiguration, + input: DescribeReservedInstancesOfferingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeReservedInstancesOfferingsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeRouteTablesPaginator.ts b/clients/client-ec2/pagination/DescribeRouteTablesPaginator.ts new file mode 100644 index 000000000000..810ce8dc159a --- /dev/null +++ b/clients/client-ec2/pagination/DescribeRouteTablesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeRouteTablesCommand, + DescribeRouteTablesCommandInput, + DescribeRouteTablesCommandOutput, +} from "../commands/DescribeRouteTablesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeRouteTablesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeRouteTablesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeRouteTablesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeRouteTables(input, ...args); +}; +export async function* describeRouteTablesPaginate( + config: EC2PaginationConfiguration, + input: DescribeRouteTablesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeRouteTablesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeScheduledInstanceAvailabilityPaginator.ts b/clients/client-ec2/pagination/DescribeScheduledInstanceAvailabilityPaginator.ts new file mode 100644 index 000000000000..6e049e96e235 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeScheduledInstanceAvailabilityPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeScheduledInstanceAvailabilityCommand, + DescribeScheduledInstanceAvailabilityCommandInput, + DescribeScheduledInstanceAvailabilityCommandOutput, +} from "../commands/DescribeScheduledInstanceAvailabilityCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeScheduledInstanceAvailabilityCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeScheduledInstanceAvailabilityCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeScheduledInstanceAvailabilityCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeScheduledInstanceAvailability(input, ...args); +}; +export async function* describeScheduledInstanceAvailabilityPaginate( + config: EC2PaginationConfiguration, + input: DescribeScheduledInstanceAvailabilityCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeScheduledInstanceAvailabilityCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeScheduledInstancesPaginator.ts b/clients/client-ec2/pagination/DescribeScheduledInstancesPaginator.ts new file mode 100644 index 000000000000..757d0612b912 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeScheduledInstancesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeScheduledInstancesCommand, + DescribeScheduledInstancesCommandInput, + DescribeScheduledInstancesCommandOutput, +} from "../commands/DescribeScheduledInstancesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeScheduledInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeScheduledInstancesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeScheduledInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeScheduledInstances(input, ...args); +}; +export async function* describeScheduledInstancesPaginate( + config: EC2PaginationConfiguration, + input: DescribeScheduledInstancesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeScheduledInstancesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeSecurityGroupsPaginator.ts b/clients/client-ec2/pagination/DescribeSecurityGroupsPaginator.ts new file mode 100644 index 000000000000..96acbdaf1e27 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeSecurityGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeSecurityGroupsCommand, + DescribeSecurityGroupsCommandInput, + DescribeSecurityGroupsCommandOutput, +} from "../commands/DescribeSecurityGroupsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeSecurityGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeSecurityGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeSecurityGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSecurityGroups(input, ...args); +}; +export async function* describeSecurityGroupsPaginate( + config: EC2PaginationConfiguration, + input: DescribeSecurityGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeSecurityGroupsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeSnapshotsPaginator.ts b/clients/client-ec2/pagination/DescribeSnapshotsPaginator.ts new file mode 100644 index 000000000000..0fe5c764f794 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeSnapshotsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeSnapshotsCommand, + DescribeSnapshotsCommandInput, + DescribeSnapshotsCommandOutput, +} from "../commands/DescribeSnapshotsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeSnapshotsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeSnapshotsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeSnapshotsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSnapshots(input, ...args); +}; +export async function* describeSnapshotsPaginate( + config: EC2PaginationConfiguration, + input: DescribeSnapshotsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeSnapshotsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeSpotFleetRequestsPaginator.ts b/clients/client-ec2/pagination/DescribeSpotFleetRequestsPaginator.ts new file mode 100644 index 000000000000..458f4de5382f --- /dev/null +++ b/clients/client-ec2/pagination/DescribeSpotFleetRequestsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeSpotFleetRequestsCommand, + DescribeSpotFleetRequestsCommandInput, + DescribeSpotFleetRequestsCommandOutput, +} from "../commands/DescribeSpotFleetRequestsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeSpotFleetRequestsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeSpotFleetRequestsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeSpotFleetRequestsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSpotFleetRequests(input, ...args); +}; +export async function* describeSpotFleetRequestsPaginate( + config: EC2PaginationConfiguration, + input: DescribeSpotFleetRequestsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeSpotFleetRequestsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeSpotInstanceRequestsPaginator.ts b/clients/client-ec2/pagination/DescribeSpotInstanceRequestsPaginator.ts new file mode 100644 index 000000000000..b072c1bb8660 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeSpotInstanceRequestsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeSpotInstanceRequestsCommand, + DescribeSpotInstanceRequestsCommandInput, + DescribeSpotInstanceRequestsCommandOutput, +} from "../commands/DescribeSpotInstanceRequestsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeSpotInstanceRequestsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeSpotInstanceRequestsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeSpotInstanceRequestsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSpotInstanceRequests(input, ...args); +}; +export async function* describeSpotInstanceRequestsPaginate( + config: EC2PaginationConfiguration, + input: DescribeSpotInstanceRequestsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeSpotInstanceRequestsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeSpotPriceHistoryPaginator.ts b/clients/client-ec2/pagination/DescribeSpotPriceHistoryPaginator.ts new file mode 100644 index 000000000000..8656c413f99f --- /dev/null +++ b/clients/client-ec2/pagination/DescribeSpotPriceHistoryPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeSpotPriceHistoryCommand, + DescribeSpotPriceHistoryCommandInput, + DescribeSpotPriceHistoryCommandOutput, +} from "../commands/DescribeSpotPriceHistoryCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeSpotPriceHistoryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeSpotPriceHistoryCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeSpotPriceHistoryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSpotPriceHistory(input, ...args); +}; +export async function* describeSpotPriceHistoryPaginate( + config: EC2PaginationConfiguration, + input: DescribeSpotPriceHistoryCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeSpotPriceHistoryCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeStaleSecurityGroupsPaginator.ts b/clients/client-ec2/pagination/DescribeStaleSecurityGroupsPaginator.ts new file mode 100644 index 000000000000..7f481d7041bc --- /dev/null +++ b/clients/client-ec2/pagination/DescribeStaleSecurityGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeStaleSecurityGroupsCommand, + DescribeStaleSecurityGroupsCommandInput, + DescribeStaleSecurityGroupsCommandOutput, +} from "../commands/DescribeStaleSecurityGroupsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeStaleSecurityGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeStaleSecurityGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeStaleSecurityGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeStaleSecurityGroups(input, ...args); +}; +export async function* describeStaleSecurityGroupsPaginate( + config: EC2PaginationConfiguration, + input: DescribeStaleSecurityGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeStaleSecurityGroupsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeSubnetsPaginator.ts b/clients/client-ec2/pagination/DescribeSubnetsPaginator.ts new file mode 100644 index 000000000000..ec3d6b33ab0a --- /dev/null +++ b/clients/client-ec2/pagination/DescribeSubnetsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeSubnetsCommand, + DescribeSubnetsCommandInput, + DescribeSubnetsCommandOutput, +} from "../commands/DescribeSubnetsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeSubnetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeSubnetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeSubnetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSubnets(input, ...args); +}; +export async function* describeSubnetsPaginate( + config: EC2PaginationConfiguration, + input: DescribeSubnetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeSubnetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeTagsPaginator.ts b/clients/client-ec2/pagination/DescribeTagsPaginator.ts new file mode 100644 index 000000000000..847206dd41d0 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeTagsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeTagsCommand, + DescribeTagsCommandInput, + DescribeTagsCommandOutput, +} from "../commands/DescribeTagsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeTagsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTagsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeTagsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTags(input, ...args); +}; +export async function* describeTagsPaginate( + config: EC2PaginationConfiguration, + input: DescribeTagsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTagsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeTrafficMirrorFiltersPaginator.ts b/clients/client-ec2/pagination/DescribeTrafficMirrorFiltersPaginator.ts new file mode 100644 index 000000000000..40c4676b9631 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeTrafficMirrorFiltersPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeTrafficMirrorFiltersCommand, + DescribeTrafficMirrorFiltersCommandInput, + DescribeTrafficMirrorFiltersCommandOutput, +} from "../commands/DescribeTrafficMirrorFiltersCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeTrafficMirrorFiltersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTrafficMirrorFiltersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeTrafficMirrorFiltersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTrafficMirrorFilters(input, ...args); +}; +export async function* describeTrafficMirrorFiltersPaginate( + config: EC2PaginationConfiguration, + input: DescribeTrafficMirrorFiltersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTrafficMirrorFiltersCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeTrafficMirrorSessionsPaginator.ts b/clients/client-ec2/pagination/DescribeTrafficMirrorSessionsPaginator.ts new file mode 100644 index 000000000000..492fc1221c4c --- /dev/null +++ b/clients/client-ec2/pagination/DescribeTrafficMirrorSessionsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeTrafficMirrorSessionsCommand, + DescribeTrafficMirrorSessionsCommandInput, + DescribeTrafficMirrorSessionsCommandOutput, +} from "../commands/DescribeTrafficMirrorSessionsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeTrafficMirrorSessionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTrafficMirrorSessionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeTrafficMirrorSessionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTrafficMirrorSessions(input, ...args); +}; +export async function* describeTrafficMirrorSessionsPaginate( + config: EC2PaginationConfiguration, + input: DescribeTrafficMirrorSessionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTrafficMirrorSessionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeTrafficMirrorTargetsPaginator.ts b/clients/client-ec2/pagination/DescribeTrafficMirrorTargetsPaginator.ts new file mode 100644 index 000000000000..56c1ad4e68c5 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeTrafficMirrorTargetsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeTrafficMirrorTargetsCommand, + DescribeTrafficMirrorTargetsCommandInput, + DescribeTrafficMirrorTargetsCommandOutput, +} from "../commands/DescribeTrafficMirrorTargetsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeTrafficMirrorTargetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTrafficMirrorTargetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeTrafficMirrorTargetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTrafficMirrorTargets(input, ...args); +}; +export async function* describeTrafficMirrorTargetsPaginate( + config: EC2PaginationConfiguration, + input: DescribeTrafficMirrorTargetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTrafficMirrorTargetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeTransitGatewayAttachmentsPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewayAttachmentsPaginator.ts new file mode 100644 index 000000000000..10ad15d9d2ea --- /dev/null +++ b/clients/client-ec2/pagination/DescribeTransitGatewayAttachmentsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeTransitGatewayAttachmentsCommand, + DescribeTransitGatewayAttachmentsCommandInput, + DescribeTransitGatewayAttachmentsCommandOutput, +} from "../commands/DescribeTransitGatewayAttachmentsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeTransitGatewayAttachmentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTransitGatewayAttachmentsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeTransitGatewayAttachmentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTransitGatewayAttachments(input, ...args); +}; +export async function* describeTransitGatewayAttachmentsPaginate( + config: EC2PaginationConfiguration, + input: DescribeTransitGatewayAttachmentsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTransitGatewayAttachmentsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeTransitGatewayMulticastDomainsPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewayMulticastDomainsPaginator.ts new file mode 100644 index 000000000000..176a538dc5ea --- /dev/null +++ b/clients/client-ec2/pagination/DescribeTransitGatewayMulticastDomainsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeTransitGatewayMulticastDomainsCommand, + DescribeTransitGatewayMulticastDomainsCommandInput, + DescribeTransitGatewayMulticastDomainsCommandOutput, +} from "../commands/DescribeTransitGatewayMulticastDomainsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeTransitGatewayMulticastDomainsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTransitGatewayMulticastDomainsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeTransitGatewayMulticastDomainsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTransitGatewayMulticastDomains(input, ...args); +}; +export async function* describeTransitGatewayMulticastDomainsPaginate( + config: EC2PaginationConfiguration, + input: DescribeTransitGatewayMulticastDomainsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTransitGatewayMulticastDomainsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeTransitGatewayPeeringAttachmentsPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewayPeeringAttachmentsPaginator.ts new file mode 100644 index 000000000000..53b9b3595d7e --- /dev/null +++ b/clients/client-ec2/pagination/DescribeTransitGatewayPeeringAttachmentsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeTransitGatewayPeeringAttachmentsCommand, + DescribeTransitGatewayPeeringAttachmentsCommandInput, + DescribeTransitGatewayPeeringAttachmentsCommandOutput, +} from "../commands/DescribeTransitGatewayPeeringAttachmentsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeTransitGatewayPeeringAttachmentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTransitGatewayPeeringAttachmentsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeTransitGatewayPeeringAttachmentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTransitGatewayPeeringAttachments(input, ...args); +}; +export async function* describeTransitGatewayPeeringAttachmentsPaginate( + config: EC2PaginationConfiguration, + input: DescribeTransitGatewayPeeringAttachmentsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTransitGatewayPeeringAttachmentsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeTransitGatewayRouteTablesPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewayRouteTablesPaginator.ts new file mode 100644 index 000000000000..67748150e2c1 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeTransitGatewayRouteTablesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeTransitGatewayRouteTablesCommand, + DescribeTransitGatewayRouteTablesCommandInput, + DescribeTransitGatewayRouteTablesCommandOutput, +} from "../commands/DescribeTransitGatewayRouteTablesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeTransitGatewayRouteTablesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTransitGatewayRouteTablesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeTransitGatewayRouteTablesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTransitGatewayRouteTables(input, ...args); +}; +export async function* describeTransitGatewayRouteTablesPaginate( + config: EC2PaginationConfiguration, + input: DescribeTransitGatewayRouteTablesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTransitGatewayRouteTablesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeTransitGatewayVpcAttachmentsPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewayVpcAttachmentsPaginator.ts new file mode 100644 index 000000000000..2af1a2c69c20 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeTransitGatewayVpcAttachmentsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeTransitGatewayVpcAttachmentsCommand, + DescribeTransitGatewayVpcAttachmentsCommandInput, + DescribeTransitGatewayVpcAttachmentsCommandOutput, +} from "../commands/DescribeTransitGatewayVpcAttachmentsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeTransitGatewayVpcAttachmentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTransitGatewayVpcAttachmentsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeTransitGatewayVpcAttachmentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTransitGatewayVpcAttachments(input, ...args); +}; +export async function* describeTransitGatewayVpcAttachmentsPaginate( + config: EC2PaginationConfiguration, + input: DescribeTransitGatewayVpcAttachmentsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTransitGatewayVpcAttachmentsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeTransitGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewaysPaginator.ts new file mode 100644 index 000000000000..2ee6ba0f0b36 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeTransitGatewaysPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeTransitGatewaysCommand, + DescribeTransitGatewaysCommandInput, + DescribeTransitGatewaysCommandOutput, +} from "../commands/DescribeTransitGatewaysCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeTransitGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTransitGatewaysCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeTransitGatewaysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTransitGateways(input, ...args); +}; +export async function* describeTransitGatewaysPaginate( + config: EC2PaginationConfiguration, + input: DescribeTransitGatewaysCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTransitGatewaysCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVolumeStatusPaginator.ts b/clients/client-ec2/pagination/DescribeVolumeStatusPaginator.ts new file mode 100644 index 000000000000..deecd14f5e18 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVolumeStatusPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVolumeStatusCommand, + DescribeVolumeStatusCommandInput, + DescribeVolumeStatusCommandOutput, +} from "../commands/DescribeVolumeStatusCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVolumeStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVolumeStatusCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVolumeStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVolumeStatus(input, ...args); +}; +export async function* describeVolumeStatusPaginate( + config: EC2PaginationConfiguration, + input: DescribeVolumeStatusCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVolumeStatusCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVolumesModificationsPaginator.ts b/clients/client-ec2/pagination/DescribeVolumesModificationsPaginator.ts new file mode 100644 index 000000000000..2fcf17d77565 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVolumesModificationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVolumesModificationsCommand, + DescribeVolumesModificationsCommandInput, + DescribeVolumesModificationsCommandOutput, +} from "../commands/DescribeVolumesModificationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVolumesModificationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVolumesModificationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVolumesModificationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVolumesModifications(input, ...args); +}; +export async function* describeVolumesModificationsPaginate( + config: EC2PaginationConfiguration, + input: DescribeVolumesModificationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVolumesModificationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVolumesPaginator.ts b/clients/client-ec2/pagination/DescribeVolumesPaginator.ts new file mode 100644 index 000000000000..bd29634864c5 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVolumesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVolumesCommand, + DescribeVolumesCommandInput, + DescribeVolumesCommandOutput, +} from "../commands/DescribeVolumesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVolumesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVolumesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVolumesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVolumes(input, ...args); +}; +export async function* describeVolumesPaginate( + config: EC2PaginationConfiguration, + input: DescribeVolumesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVolumesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVpcClassicLinkDnsSupportPaginator.ts b/clients/client-ec2/pagination/DescribeVpcClassicLinkDnsSupportPaginator.ts new file mode 100644 index 000000000000..31a637ddee7b --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVpcClassicLinkDnsSupportPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVpcClassicLinkDnsSupportCommand, + DescribeVpcClassicLinkDnsSupportCommandInput, + DescribeVpcClassicLinkDnsSupportCommandOutput, +} from "../commands/DescribeVpcClassicLinkDnsSupportCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVpcClassicLinkDnsSupportCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVpcClassicLinkDnsSupportCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVpcClassicLinkDnsSupportCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVpcClassicLinkDnsSupport(input, ...args); +}; +export async function* describeVpcClassicLinkDnsSupportPaginate( + config: EC2PaginationConfiguration, + input: DescribeVpcClassicLinkDnsSupportCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVpcClassicLinkDnsSupportCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVpcEndpointConnectionNotificationsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcEndpointConnectionNotificationsPaginator.ts new file mode 100644 index 000000000000..2c7753f281aa --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVpcEndpointConnectionNotificationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVpcEndpointConnectionNotificationsCommand, + DescribeVpcEndpointConnectionNotificationsCommandInput, + DescribeVpcEndpointConnectionNotificationsCommandOutput, +} from "../commands/DescribeVpcEndpointConnectionNotificationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVpcEndpointConnectionNotificationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVpcEndpointConnectionNotificationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVpcEndpointConnectionNotificationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVpcEndpointConnectionNotifications(input, ...args); +}; +export async function* describeVpcEndpointConnectionNotificationsPaginate( + config: EC2PaginationConfiguration, + input: DescribeVpcEndpointConnectionNotificationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVpcEndpointConnectionNotificationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVpcEndpointConnectionsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcEndpointConnectionsPaginator.ts new file mode 100644 index 000000000000..1e82fa6123a0 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVpcEndpointConnectionsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVpcEndpointConnectionsCommand, + DescribeVpcEndpointConnectionsCommandInput, + DescribeVpcEndpointConnectionsCommandOutput, +} from "../commands/DescribeVpcEndpointConnectionsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVpcEndpointConnectionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVpcEndpointConnectionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVpcEndpointConnectionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVpcEndpointConnections(input, ...args); +}; +export async function* describeVpcEndpointConnectionsPaginate( + config: EC2PaginationConfiguration, + input: DescribeVpcEndpointConnectionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVpcEndpointConnectionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVpcEndpointServiceConfigurationsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcEndpointServiceConfigurationsPaginator.ts new file mode 100644 index 000000000000..853d5c877b8e --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVpcEndpointServiceConfigurationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVpcEndpointServiceConfigurationsCommand, + DescribeVpcEndpointServiceConfigurationsCommandInput, + DescribeVpcEndpointServiceConfigurationsCommandOutput, +} from "../commands/DescribeVpcEndpointServiceConfigurationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVpcEndpointServiceConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVpcEndpointServiceConfigurationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVpcEndpointServiceConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVpcEndpointServiceConfigurations(input, ...args); +}; +export async function* describeVpcEndpointServiceConfigurationsPaginate( + config: EC2PaginationConfiguration, + input: DescribeVpcEndpointServiceConfigurationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVpcEndpointServiceConfigurationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVpcEndpointServicePermissionsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcEndpointServicePermissionsPaginator.ts new file mode 100644 index 000000000000..c622a565365a --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVpcEndpointServicePermissionsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVpcEndpointServicePermissionsCommand, + DescribeVpcEndpointServicePermissionsCommandInput, + DescribeVpcEndpointServicePermissionsCommandOutput, +} from "../commands/DescribeVpcEndpointServicePermissionsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVpcEndpointServicePermissionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVpcEndpointServicePermissionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVpcEndpointServicePermissionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVpcEndpointServicePermissions(input, ...args); +}; +export async function* describeVpcEndpointServicePermissionsPaginate( + config: EC2PaginationConfiguration, + input: DescribeVpcEndpointServicePermissionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVpcEndpointServicePermissionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVpcEndpointsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcEndpointsPaginator.ts new file mode 100644 index 000000000000..0c280f5c34fb --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVpcEndpointsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVpcEndpointsCommand, + DescribeVpcEndpointsCommandInput, + DescribeVpcEndpointsCommandOutput, +} from "../commands/DescribeVpcEndpointsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVpcEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVpcEndpointsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVpcEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVpcEndpoints(input, ...args); +}; +export async function* describeVpcEndpointsPaginate( + config: EC2PaginationConfiguration, + input: DescribeVpcEndpointsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVpcEndpointsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVpcPeeringConnectionsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcPeeringConnectionsPaginator.ts new file mode 100644 index 000000000000..3ff7ea0f4bd8 --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVpcPeeringConnectionsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVpcPeeringConnectionsCommand, + DescribeVpcPeeringConnectionsCommandInput, + DescribeVpcPeeringConnectionsCommandOutput, +} from "../commands/DescribeVpcPeeringConnectionsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVpcPeeringConnectionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVpcPeeringConnectionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVpcPeeringConnectionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVpcPeeringConnections(input, ...args); +}; +export async function* describeVpcPeeringConnectionsPaginate( + config: EC2PaginationConfiguration, + input: DescribeVpcPeeringConnectionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVpcPeeringConnectionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/DescribeVpcsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcsPaginator.ts new file mode 100644 index 000000000000..cad3751bbf2c --- /dev/null +++ b/clients/client-ec2/pagination/DescribeVpcsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + DescribeVpcsCommand, + DescribeVpcsCommandInput, + DescribeVpcsCommandOutput, +} from "../commands/DescribeVpcsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeVpcsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeVpcsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: DescribeVpcsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeVpcs(input, ...args); +}; +export async function* describeVpcsPaginate( + config: EC2PaginationConfiguration, + input: DescribeVpcsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeVpcsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/GetAssociatedIpv6PoolCidrsPaginator.ts b/clients/client-ec2/pagination/GetAssociatedIpv6PoolCidrsPaginator.ts new file mode 100644 index 000000000000..f174a1b8839e --- /dev/null +++ b/clients/client-ec2/pagination/GetAssociatedIpv6PoolCidrsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + GetAssociatedIpv6PoolCidrsCommand, + GetAssociatedIpv6PoolCidrsCommandInput, + GetAssociatedIpv6PoolCidrsCommandOutput, +} from "../commands/GetAssociatedIpv6PoolCidrsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: GetAssociatedIpv6PoolCidrsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetAssociatedIpv6PoolCidrsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: GetAssociatedIpv6PoolCidrsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getAssociatedIpv6PoolCidrs(input, ...args); +}; +export async function* getAssociatedIpv6PoolCidrsPaginate( + config: EC2PaginationConfiguration, + input: GetAssociatedIpv6PoolCidrsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetAssociatedIpv6PoolCidrsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/GetGroupsForCapacityReservationPaginator.ts b/clients/client-ec2/pagination/GetGroupsForCapacityReservationPaginator.ts new file mode 100644 index 000000000000..0ceb0fc1ec75 --- /dev/null +++ b/clients/client-ec2/pagination/GetGroupsForCapacityReservationPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + GetGroupsForCapacityReservationCommand, + GetGroupsForCapacityReservationCommandInput, + GetGroupsForCapacityReservationCommandOutput, +} from "../commands/GetGroupsForCapacityReservationCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: GetGroupsForCapacityReservationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetGroupsForCapacityReservationCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: GetGroupsForCapacityReservationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getGroupsForCapacityReservation(input, ...args); +}; +export async function* getGroupsForCapacityReservationPaginate( + config: EC2PaginationConfiguration, + input: GetGroupsForCapacityReservationCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetGroupsForCapacityReservationCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/GetManagedPrefixListAssociationsPaginator.ts b/clients/client-ec2/pagination/GetManagedPrefixListAssociationsPaginator.ts new file mode 100644 index 000000000000..4348e454d1b3 --- /dev/null +++ b/clients/client-ec2/pagination/GetManagedPrefixListAssociationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + GetManagedPrefixListAssociationsCommand, + GetManagedPrefixListAssociationsCommandInput, + GetManagedPrefixListAssociationsCommandOutput, +} from "../commands/GetManagedPrefixListAssociationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: GetManagedPrefixListAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetManagedPrefixListAssociationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: GetManagedPrefixListAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getManagedPrefixListAssociations(input, ...args); +}; +export async function* getManagedPrefixListAssociationsPaginate( + config: EC2PaginationConfiguration, + input: GetManagedPrefixListAssociationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetManagedPrefixListAssociationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/GetManagedPrefixListEntriesPaginator.ts b/clients/client-ec2/pagination/GetManagedPrefixListEntriesPaginator.ts new file mode 100644 index 000000000000..0a4eb7a79fb2 --- /dev/null +++ b/clients/client-ec2/pagination/GetManagedPrefixListEntriesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + GetManagedPrefixListEntriesCommand, + GetManagedPrefixListEntriesCommandInput, + GetManagedPrefixListEntriesCommandOutput, +} from "../commands/GetManagedPrefixListEntriesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: GetManagedPrefixListEntriesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetManagedPrefixListEntriesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: GetManagedPrefixListEntriesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getManagedPrefixListEntries(input, ...args); +}; +export async function* getManagedPrefixListEntriesPaginate( + config: EC2PaginationConfiguration, + input: GetManagedPrefixListEntriesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetManagedPrefixListEntriesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/GetTransitGatewayAttachmentPropagationsPaginator.ts b/clients/client-ec2/pagination/GetTransitGatewayAttachmentPropagationsPaginator.ts new file mode 100644 index 000000000000..9420950712c4 --- /dev/null +++ b/clients/client-ec2/pagination/GetTransitGatewayAttachmentPropagationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + GetTransitGatewayAttachmentPropagationsCommand, + GetTransitGatewayAttachmentPropagationsCommandInput, + GetTransitGatewayAttachmentPropagationsCommandOutput, +} from "../commands/GetTransitGatewayAttachmentPropagationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: GetTransitGatewayAttachmentPropagationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetTransitGatewayAttachmentPropagationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: GetTransitGatewayAttachmentPropagationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getTransitGatewayAttachmentPropagations(input, ...args); +}; +export async function* getTransitGatewayAttachmentPropagationsPaginate( + config: EC2PaginationConfiguration, + input: GetTransitGatewayAttachmentPropagationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetTransitGatewayAttachmentPropagationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/GetTransitGatewayMulticastDomainAssociationsPaginator.ts b/clients/client-ec2/pagination/GetTransitGatewayMulticastDomainAssociationsPaginator.ts new file mode 100644 index 000000000000..7c55412306f8 --- /dev/null +++ b/clients/client-ec2/pagination/GetTransitGatewayMulticastDomainAssociationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + GetTransitGatewayMulticastDomainAssociationsCommand, + GetTransitGatewayMulticastDomainAssociationsCommandInput, + GetTransitGatewayMulticastDomainAssociationsCommandOutput, +} from "../commands/GetTransitGatewayMulticastDomainAssociationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: GetTransitGatewayMulticastDomainAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetTransitGatewayMulticastDomainAssociationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: GetTransitGatewayMulticastDomainAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getTransitGatewayMulticastDomainAssociations(input, ...args); +}; +export async function* getTransitGatewayMulticastDomainAssociationsPaginate( + config: EC2PaginationConfiguration, + input: GetTransitGatewayMulticastDomainAssociationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetTransitGatewayMulticastDomainAssociationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/GetTransitGatewayPrefixListReferencesPaginator.ts b/clients/client-ec2/pagination/GetTransitGatewayPrefixListReferencesPaginator.ts new file mode 100644 index 000000000000..485bc5cf65d8 --- /dev/null +++ b/clients/client-ec2/pagination/GetTransitGatewayPrefixListReferencesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + GetTransitGatewayPrefixListReferencesCommand, + GetTransitGatewayPrefixListReferencesCommandInput, + GetTransitGatewayPrefixListReferencesCommandOutput, +} from "../commands/GetTransitGatewayPrefixListReferencesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: GetTransitGatewayPrefixListReferencesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetTransitGatewayPrefixListReferencesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: GetTransitGatewayPrefixListReferencesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getTransitGatewayPrefixListReferences(input, ...args); +}; +export async function* getTransitGatewayPrefixListReferencesPaginate( + config: EC2PaginationConfiguration, + input: GetTransitGatewayPrefixListReferencesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetTransitGatewayPrefixListReferencesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/GetTransitGatewayRouteTableAssociationsPaginator.ts b/clients/client-ec2/pagination/GetTransitGatewayRouteTableAssociationsPaginator.ts new file mode 100644 index 000000000000..4877c7c0ec02 --- /dev/null +++ b/clients/client-ec2/pagination/GetTransitGatewayRouteTableAssociationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + GetTransitGatewayRouteTableAssociationsCommand, + GetTransitGatewayRouteTableAssociationsCommandInput, + GetTransitGatewayRouteTableAssociationsCommandOutput, +} from "../commands/GetTransitGatewayRouteTableAssociationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: GetTransitGatewayRouteTableAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetTransitGatewayRouteTableAssociationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: GetTransitGatewayRouteTableAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getTransitGatewayRouteTableAssociations(input, ...args); +}; +export async function* getTransitGatewayRouteTableAssociationsPaginate( + config: EC2PaginationConfiguration, + input: GetTransitGatewayRouteTableAssociationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetTransitGatewayRouteTableAssociationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/GetTransitGatewayRouteTablePropagationsPaginator.ts b/clients/client-ec2/pagination/GetTransitGatewayRouteTablePropagationsPaginator.ts new file mode 100644 index 000000000000..fbec6cf439a3 --- /dev/null +++ b/clients/client-ec2/pagination/GetTransitGatewayRouteTablePropagationsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + GetTransitGatewayRouteTablePropagationsCommand, + GetTransitGatewayRouteTablePropagationsCommandInput, + GetTransitGatewayRouteTablePropagationsCommandOutput, +} from "../commands/GetTransitGatewayRouteTablePropagationsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: GetTransitGatewayRouteTablePropagationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetTransitGatewayRouteTablePropagationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: GetTransitGatewayRouteTablePropagationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getTransitGatewayRouteTablePropagations(input, ...args); +}; +export async function* getTransitGatewayRouteTablePropagationsPaginate( + config: EC2PaginationConfiguration, + input: GetTransitGatewayRouteTablePropagationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetTransitGatewayRouteTablePropagationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/Interfaces.ts b/clients/client-ec2/pagination/Interfaces.ts new file mode 100644 index 000000000000..b8df7fdd376c --- /dev/null +++ b/clients/client-ec2/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface EC2PaginationConfiguration extends PaginationConfiguration { + client: EC2 | EC2Client; +} diff --git a/clients/client-ec2/pagination/SearchLocalGatewayRoutesPaginator.ts b/clients/client-ec2/pagination/SearchLocalGatewayRoutesPaginator.ts new file mode 100644 index 000000000000..675691265966 --- /dev/null +++ b/clients/client-ec2/pagination/SearchLocalGatewayRoutesPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + SearchLocalGatewayRoutesCommand, + SearchLocalGatewayRoutesCommandInput, + SearchLocalGatewayRoutesCommandOutput, +} from "../commands/SearchLocalGatewayRoutesCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: SearchLocalGatewayRoutesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new SearchLocalGatewayRoutesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: SearchLocalGatewayRoutesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.searchLocalGatewayRoutes(input, ...args); +}; +export async function* searchLocalGatewayRoutesPaginate( + config: EC2PaginationConfiguration, + input: SearchLocalGatewayRoutesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: SearchLocalGatewayRoutesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/pagination/SearchTransitGatewayMulticastGroupsPaginator.ts b/clients/client-ec2/pagination/SearchTransitGatewayMulticastGroupsPaginator.ts new file mode 100644 index 000000000000..9a1da10e0ab5 --- /dev/null +++ b/clients/client-ec2/pagination/SearchTransitGatewayMulticastGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { + SearchTransitGatewayMulticastGroupsCommand, + SearchTransitGatewayMulticastGroupsCommandInput, + SearchTransitGatewayMulticastGroupsCommandOutput, +} from "../commands/SearchTransitGatewayMulticastGroupsCommand"; +import { EC2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EC2Client, + input: SearchTransitGatewayMulticastGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new SearchTransitGatewayMulticastGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EC2, + input: SearchTransitGatewayMulticastGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.searchTransitGatewayMulticastGroups(input, ...args); +}; +export async function* searchTransitGatewayMulticastGroupsPaginate( + config: EC2PaginationConfiguration, + input: SearchTransitGatewayMulticastGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: SearchTransitGatewayMulticastGroupsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/protocols/Aws_ec2.ts b/clients/client-ec2/protocols/Aws_ec2.ts index 23a58161e387..7f10cb647d86 100644 --- a/clients/client-ec2/protocols/Aws_ec2.ts +++ b/clients/client-ec2/protocols/Aws_ec2.ts @@ -127,6 +127,10 @@ import { CreateCapacityReservationCommandInput, CreateCapacityReservationCommandOutput, } from "../commands/CreateCapacityReservationCommand"; +import { + CreateCarrierGatewayCommandInput, + CreateCarrierGatewayCommandOutput, +} from "../commands/CreateCarrierGatewayCommand"; import { CreateClientVpnEndpointCommandInput, CreateClientVpnEndpointCommandOutput, @@ -246,6 +250,10 @@ import { CreateTransitGatewayPeeringAttachmentCommandInput, CreateTransitGatewayPeeringAttachmentCommandOutput, } from "../commands/CreateTransitGatewayPeeringAttachmentCommand"; +import { + CreateTransitGatewayPrefixListReferenceCommandInput, + CreateTransitGatewayPrefixListReferenceCommandOutput, +} from "../commands/CreateTransitGatewayPrefixListReferenceCommand"; import { CreateTransitGatewayRouteCommandInput, CreateTransitGatewayRouteCommandOutput, @@ -282,6 +290,10 @@ import { CreateVpnConnectionRouteCommandOutput, } from "../commands/CreateVpnConnectionRouteCommand"; import { CreateVpnGatewayCommandInput, CreateVpnGatewayCommandOutput } from "../commands/CreateVpnGatewayCommand"; +import { + DeleteCarrierGatewayCommandInput, + DeleteCarrierGatewayCommandOutput, +} from "../commands/DeleteCarrierGatewayCommand"; import { DeleteClientVpnEndpointCommandInput, DeleteClientVpnEndpointCommandOutput, @@ -390,6 +402,10 @@ import { DeleteTransitGatewayPeeringAttachmentCommandInput, DeleteTransitGatewayPeeringAttachmentCommandOutput, } from "../commands/DeleteTransitGatewayPeeringAttachmentCommand"; +import { + DeleteTransitGatewayPrefixListReferenceCommandInput, + DeleteTransitGatewayPrefixListReferenceCommandOutput, +} from "../commands/DeleteTransitGatewayPrefixListReferenceCommand"; import { DeleteTransitGatewayRouteCommandInput, DeleteTransitGatewayRouteCommandOutput, @@ -465,6 +481,10 @@ import { DescribeCapacityReservationsCommandInput, DescribeCapacityReservationsCommandOutput, } from "../commands/DescribeCapacityReservationsCommand"; +import { + DescribeCarrierGatewaysCommandInput, + DescribeCarrierGatewaysCommandOutput, +} from "../commands/DescribeCarrierGatewaysCommand"; import { DescribeClassicLinkInstancesCommandInput, DescribeClassicLinkInstancesCommandOutput, @@ -1012,6 +1032,10 @@ import { GetTransitGatewayMulticastDomainAssociationsCommandInput, GetTransitGatewayMulticastDomainAssociationsCommandOutput, } from "../commands/GetTransitGatewayMulticastDomainAssociationsCommand"; +import { + GetTransitGatewayPrefixListReferencesCommandInput, + GetTransitGatewayPrefixListReferencesCommandOutput, +} from "../commands/GetTransitGatewayPrefixListReferencesCommand"; import { GetTransitGatewayRouteTableAssociationsCommandInput, GetTransitGatewayRouteTableAssociationsCommandOutput, @@ -1128,6 +1152,14 @@ import { ModifyTrafficMirrorSessionCommandInput, ModifyTrafficMirrorSessionCommandOutput, } from "../commands/ModifyTrafficMirrorSessionCommand"; +import { + ModifyTransitGatewayCommandInput, + ModifyTransitGatewayCommandOutput, +} from "../commands/ModifyTransitGatewayCommand"; +import { + ModifyTransitGatewayPrefixListReferenceCommandInput, + ModifyTransitGatewayPrefixListReferenceCommandOutput, +} from "../commands/ModifyTransitGatewayPrefixListReferenceCommand"; import { ModifyTransitGatewayVpcAttachmentCommandInput, ModifyTransitGatewayVpcAttachmentCommandOutput, @@ -1160,6 +1192,10 @@ import { ModifyVpnConnectionCommandInput, ModifyVpnConnectionCommandOutput, } from "../commands/ModifyVpnConnectionCommand"; +import { + ModifyVpnConnectionOptionsCommandInput, + ModifyVpnConnectionOptionsCommandOutput, +} from "../commands/ModifyVpnConnectionOptionsCommand"; import { ModifyVpnTunnelCertificateCommandInput, ModifyVpnTunnelCertificateCommandOutput, @@ -1428,6 +1464,7 @@ import { CapacityReservation, CapacityReservationOptionsRequest, CapacityReservationTarget, + CarrierGateway, CertificateAuthenticationRequest, CidrBlock, ClientVpnAuthenticationRequest, @@ -1445,6 +1482,8 @@ import { CopySnapshotResult, CreateCapacityReservationRequest, CreateCapacityReservationResult, + CreateCarrierGatewayRequest, + CreateCarrierGatewayResult, CreateClientVpnEndpointRequest, CreateClientVpnEndpointResult, CreateClientVpnRouteRequest, @@ -1475,8 +1514,6 @@ import { CreateInternetGatewayResult, CreateKeyPairRequest, CreateLaunchTemplateRequest, - CreateLaunchTemplateResult, - CreateLaunchTemplateVersionRequest, CreditSpecificationRequest, CustomerGateway, DhcpConfiguration, @@ -1556,8 +1593,6 @@ import { UnsuccessfulItem, UnsuccessfulItemError, UserIdGroupPair, - ValidationError, - ValidationWarning, VolumeAttachment, Vpc, VpcAttachment, @@ -1573,6 +1608,8 @@ import { import { CapacityReservationTargetResponse, ConnectionNotification, + CreateLaunchTemplateResult, + CreateLaunchTemplateVersionRequest, CreateLaunchTemplateVersionResult, CreateLocalGatewayRouteRequest, CreateLocalGatewayRouteResult, @@ -1619,6 +1656,8 @@ import { CreateTransitGatewayMulticastDomainResult, CreateTransitGatewayPeeringAttachmentRequest, CreateTransitGatewayPeeringAttachmentResult, + CreateTransitGatewayPrefixListReferenceRequest, + CreateTransitGatewayPrefixListReferenceResult, CreateTransitGatewayRequest, CreateTransitGatewayResult, CreateTransitGatewayRouteRequest, @@ -1645,6 +1684,8 @@ import { CreateVpnGatewayRequest, CreateVpnGatewayResult, CreditSpecification, + DeleteCarrierGatewayRequest, + DeleteCarrierGatewayResult, DeleteClientVpnEndpointRequest, DeleteClientVpnEndpointResult, DeleteClientVpnRouteRequest, @@ -1706,6 +1747,8 @@ import { DeleteTransitGatewayMulticastDomainResult, DeleteTransitGatewayPeeringAttachmentRequest, DeleteTransitGatewayPeeringAttachmentResult, + DeleteTransitGatewayPrefixListReferenceRequest, + DeleteTransitGatewayPrefixListReferenceResult, DeleteTransitGatewayRequest, DeleteTransitGatewayResult, DeleteTransitGatewayRouteRequest, @@ -1715,20 +1758,6 @@ import { DeleteTransitGatewayVpcAttachmentRequest, DeleteTransitGatewayVpcAttachmentResult, DeleteVolumeRequest, - DeleteVpcEndpointConnectionNotificationsRequest, - DeleteVpcEndpointConnectionNotificationsResult, - DeleteVpcEndpointServiceConfigurationsRequest, - DeleteVpcEndpointServiceConfigurationsResult, - DeleteVpcEndpointsRequest, - DeleteVpcEndpointsResult, - DeleteVpcPeeringConnectionRequest, - DeleteVpcPeeringConnectionResult, - DeleteVpcRequest, - DeleteVpnConnectionRequest, - DeleteVpnConnectionRouteRequest, - DeleteVpnGatewayRequest, - DeprovisionByoipCidrRequest, - DeprovisionByoipCidrResult, DnsEntry, ElasticGpuSpecificationResponse, FailedQueuedPurchaseDeletion, @@ -1811,11 +1840,15 @@ import { TransitGateway, TransitGatewayMulticastDomain, TransitGatewayOptions, + TransitGatewayPrefixListAttachment, + TransitGatewayPrefixListReference, TransitGatewayRequestOptions, TransitGatewayRoute, TransitGatewayRouteAttachment, TransitGatewayRouteTable, TunnelOption, + ValidationError, + ValidationWarning, VgwTelemetry, Volume, VpcEndpoint, @@ -1847,6 +1880,20 @@ import { ConnectionLogResponseOptions, ConversionTask, CpuOptions, + DeleteVpcEndpointConnectionNotificationsRequest, + DeleteVpcEndpointConnectionNotificationsResult, + DeleteVpcEndpointServiceConfigurationsRequest, + DeleteVpcEndpointServiceConfigurationsResult, + DeleteVpcEndpointsRequest, + DeleteVpcEndpointsResult, + DeleteVpcPeeringConnectionRequest, + DeleteVpcPeeringConnectionResult, + DeleteVpcRequest, + DeleteVpnConnectionRequest, + DeleteVpnConnectionRouteRequest, + DeleteVpnGatewayRequest, + DeprovisionByoipCidrRequest, + DeprovisionByoipCidrResult, DeregisterImageRequest, DeregisterInstanceEventNotificationAttributesRequest, DeregisterInstanceEventNotificationAttributesResult, @@ -1869,6 +1916,8 @@ import { DescribeByoipCidrsResult, DescribeCapacityReservationsRequest, DescribeCapacityReservationsResult, + DescribeCarrierGatewaysRequest, + DescribeCarrierGatewaysResult, DescribeClassicLinkInstancesRequest, DescribeClassicLinkInstancesResult, DescribeClientVpnAuthorizationRulesRequest, @@ -1971,19 +2020,6 @@ import { DescribeManagedPrefixListsRequest, DescribeManagedPrefixListsResult, DescribeMovingAddressesRequest, - DescribeMovingAddressesResult, - DescribeNatGatewaysRequest, - DescribeNatGatewaysResult, - DescribeNetworkAclsRequest, - DescribeNetworkAclsResult, - DescribeNetworkInterfaceAttributeRequest, - DescribeNetworkInterfaceAttributeResult, - DescribeNetworkInterfacePermissionsRequest, - DescribeNetworkInterfacePermissionsResult, - DescribeNetworkInterfacesRequest, - DescribeNetworkInterfacesResult, - DescribePlacementGroupsRequest, - DescribePlacementGroupsResult, DirectoryServiceAuthentication, DiskImageDescription, DiskImageVolumeDescription, @@ -2061,7 +2097,6 @@ import { LocalGatewayVirtualInterfaceGroup, MemoryInfo, Monitoring, - MovingAddressStatus, NetworkInfo, OnDemandOptions, PciId, @@ -2091,9 +2126,21 @@ import { ClassicLoadBalancer, ClassicLoadBalancersConfig, ClientCertificateRevocationListStatus, - ClientData, CoipAddressUsage, CreateVolumePermission, + DescribeMovingAddressesResult, + DescribeNatGatewaysRequest, + DescribeNatGatewaysResult, + DescribeNetworkAclsRequest, + DescribeNetworkAclsResult, + DescribeNetworkInterfaceAttributeRequest, + DescribeNetworkInterfaceAttributeResult, + DescribeNetworkInterfacePermissionsRequest, + DescribeNetworkInterfacePermissionsResult, + DescribeNetworkInterfacesRequest, + DescribeNetworkInterfacesResult, + DescribePlacementGroupsRequest, + DescribePlacementGroupsResult, DescribePrefixListsRequest, DescribePrefixListsResult, DescribePrincipalIdFormatRequest, @@ -2286,18 +2333,7 @@ import { GetReservedInstancesExchangeQuoteResult, GetTransitGatewayAttachmentPropagationsRequest, GetTransitGatewayAttachmentPropagationsResult, - GetTransitGatewayMulticastDomainAssociationsRequest, - GetTransitGatewayMulticastDomainAssociationsResult, - GetTransitGatewayRouteTableAssociationsRequest, - GetTransitGatewayRouteTableAssociationsResult, - GetTransitGatewayRouteTablePropagationsRequest, - GetTransitGatewayRouteTablePropagationsResult, HistoryRecord, - ImageDiskContainer, - ImportClientVpnClientCertificateRevocationListRequest, - ImportClientVpnClientCertificateRevocationListResult, - ImportImageLicenseConfigurationRequest, - ImportImageRequest, InstanceFamilyCreditSpecification, InstanceNetworkInterfaceSpecification, InstanceUsage, @@ -2306,6 +2342,7 @@ import { LaunchTemplateConfig, LaunchTemplateOverrides, LoadBalancersConfig, + MovingAddressStatus, PrefixList, PrefixListAssociation, PrefixListEntry, @@ -2353,11 +2390,7 @@ import { TransitGatewayAttachment, TransitGatewayAttachmentAssociation, TransitGatewayAttachmentPropagation, - TransitGatewayMulticastDomainAssociation, TransitGatewayPropagation, - TransitGatewayRouteTableAssociation, - TransitGatewayRouteTablePropagation, - UserBucket, VolumeModification, VolumeStatusAction, VolumeStatusAttachmentStatus, @@ -2372,6 +2405,7 @@ import { BlobAttributeValue, CapacityReservationSpecification, CidrAuthorizationContext, + ClientData, CpuOptionsRequest, CreateVolumePermissionModifications, DiskImage, @@ -2379,7 +2413,20 @@ import { DnsServersOptionsModifyStructure, EbsInstanceBlockDeviceSpecification, ElasticInferenceAccelerator, + GetTransitGatewayMulticastDomainAssociationsRequest, + GetTransitGatewayMulticastDomainAssociationsResult, + GetTransitGatewayPrefixListReferencesRequest, + GetTransitGatewayPrefixListReferencesResult, + GetTransitGatewayRouteTableAssociationsRequest, + GetTransitGatewayRouteTableAssociationsResult, + GetTransitGatewayRouteTablePropagationsRequest, + GetTransitGatewayRouteTablePropagationsResult, HibernationOptionsRequest, + ImageDiskContainer, + ImportClientVpnClientCertificateRevocationListRequest, + ImportClientVpnClientCertificateRevocationListResult, + ImportImageLicenseConfigurationRequest, + ImportImageRequest, ImportImageResult, ImportInstanceLaunchSpecification, ImportInstanceRequest, @@ -2448,6 +2495,11 @@ import { ModifyTrafficMirrorFilterRuleResult, ModifyTrafficMirrorSessionRequest, ModifyTrafficMirrorSessionResult, + ModifyTransitGatewayOptions, + ModifyTransitGatewayPrefixListReferenceRequest, + ModifyTransitGatewayPrefixListReferenceResult, + ModifyTransitGatewayRequest, + ModifyTransitGatewayResult, ModifyTransitGatewayVpcAttachmentRequest, ModifyTransitGatewayVpcAttachmentRequestOptions, ModifyTransitGatewayVpcAttachmentResult, @@ -2467,6 +2519,8 @@ import { ModifyVpcPeeringConnectionOptionsResult, ModifyVpcTenancyRequest, ModifyVpcTenancyResult, + ModifyVpnConnectionOptionsRequest, + ModifyVpnConnectionOptionsResult, ModifyVpnConnectionRequest, ModifyVpnConnectionResult, ModifyVpnTunnelCertificateRequest, @@ -2545,7 +2599,9 @@ import { RevokeClientVpnIngressRequest, RevokeClientVpnIngressResult, RevokeSecurityGroupEgressRequest, + RevokeSecurityGroupEgressResult, RevokeSecurityGroupIngressRequest, + RevokeSecurityGroupIngressResult, RunInstancesRequest, RunScheduledInstancesRequest, RunScheduledInstancesResult, @@ -2581,9 +2637,12 @@ import { TerminateInstancesResult, TrafficMirrorFilterRuleField, TrafficMirrorSessionField, + TransitGatewayMulticastDomainAssociation, TransitGatewayMulticastGroup, TransitGatewayMulticastRegisteredGroupMembers, TransitGatewayMulticastRegisteredGroupSources, + TransitGatewayRouteTableAssociation, + TransitGatewayRouteTablePropagation, UnassignIpv6AddressesRequest, UnassignIpv6AddressesResult, UnassignPrivateIpAddressesRequest, @@ -2595,6 +2654,7 @@ import { UpdateSecurityGroupRuleDescriptionsEgressResult, UpdateSecurityGroupRuleDescriptionsIngressRequest, UpdateSecurityGroupRuleDescriptionsIngressResult, + UserBucket, UserData, VolumeDetail, WithdrawByoipCidrRequest, @@ -3289,6 +3349,22 @@ export const serializeAws_ec2CreateCapacityReservationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2CreateCarrierGatewayCommand = async ( + input: CreateCarrierGatewayCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2CreateCarrierGatewayRequest(input, context), + Action: "CreateCarrierGateway", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2CreateClientVpnEndpointCommand = async ( input: CreateClientVpnEndpointCommandInput, context: __SerdeContext @@ -3945,6 +4021,22 @@ export const serializeAws_ec2CreateTransitGatewayPeeringAttachmentCommand = asyn return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2CreateTransitGatewayPrefixListReferenceCommand = async ( + input: CreateTransitGatewayPrefixListReferenceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2CreateTransitGatewayPrefixListReferenceRequest(input, context), + Action: "CreateTransitGatewayPrefixListReference", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2CreateTransitGatewayRouteCommand = async ( input: CreateTransitGatewayRouteCommandInput, context: __SerdeContext @@ -4137,6 +4229,22 @@ export const serializeAws_ec2CreateVpnGatewayCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DeleteCarrierGatewayCommand = async ( + input: DeleteCarrierGatewayCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DeleteCarrierGatewayRequest(input, context), + Action: "DeleteCarrierGateway", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DeleteClientVpnEndpointCommand = async ( input: DeleteClientVpnEndpointCommandInput, context: __SerdeContext @@ -4713,6 +4821,22 @@ export const serializeAws_ec2DeleteTransitGatewayPeeringAttachmentCommand = asyn return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommand = async ( + input: DeleteTransitGatewayPrefixListReferenceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DeleteTransitGatewayPrefixListReferenceRequest(input, context), + Action: "DeleteTransitGatewayPrefixListReference", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DeleteTransitGatewayRouteCommand = async ( input: DeleteTransitGatewayRouteCommandInput, context: __SerdeContext @@ -5097,6 +5221,22 @@ export const serializeAws_ec2DescribeCapacityReservationsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DescribeCarrierGatewaysCommand = async ( + input: DescribeCarrierGatewaysCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DescribeCarrierGatewaysRequest(input, context), + Action: "DescribeCarrierGateways", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DescribeClassicLinkInstancesCommand = async ( input: DescribeClassicLinkInstancesCommandInput, context: __SerdeContext @@ -7561,6 +7701,22 @@ export const serializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommand return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2GetTransitGatewayPrefixListReferencesCommand = async ( + input: GetTransitGatewayPrefixListReferencesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2GetTransitGatewayPrefixListReferencesRequest(input, context), + Action: "GetTransitGatewayPrefixListReferences", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2GetTransitGatewayRouteTableAssociationsCommand = async ( input: GetTransitGatewayRouteTableAssociationsCommandInput, context: __SerdeContext @@ -8121,6 +8277,38 @@ export const serializeAws_ec2ModifyTrafficMirrorSessionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2ModifyTransitGatewayCommand = async ( + input: ModifyTransitGatewayCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2ModifyTransitGatewayRequest(input, context), + Action: "ModifyTransitGateway", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommand = async ( + input: ModifyTransitGatewayPrefixListReferenceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2ModifyTransitGatewayPrefixListReferenceRequest(input, context), + Action: "ModifyTransitGatewayPrefixListReference", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2ModifyTransitGatewayVpcAttachmentCommand = async ( input: ModifyTransitGatewayVpcAttachmentCommandInput, context: __SerdeContext @@ -8297,6 +8485,22 @@ export const serializeAws_ec2ModifyVpnConnectionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2ModifyVpnConnectionOptionsCommand = async ( + input: ModifyVpnConnectionOptionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2ModifyVpnConnectionOptionsRequest(input, context), + Action: "ModifyVpnConnectionOptions", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2ModifyVpnTunnelCertificateCommand = async ( input: ModifyVpnTunnelCertificateCommandInput, context: __SerdeContext @@ -11107,6 +11311,52 @@ const deserializeAws_ec2CreateCapacityReservationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2CreateCarrierGatewayCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2CreateCarrierGatewayCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2CreateCarrierGatewayResult(data, context); + const response: CreateCarrierGatewayCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2CreateCarrierGatewayCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2CreateClientVpnEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -12987,27 +13237,73 @@ const deserializeAws_ec2CreateTransitGatewayPeeringAttachmentCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2CreateTransitGatewayRouteCommand = async ( +export const deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2CreateTransitGatewayRouteCommandError(output, context); + return deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2CreateTransitGatewayRouteResult(data, context); - const response: CreateTransitGatewayRouteCommandOutput = { + contents = deserializeAws_ec2CreateTransitGatewayPrefixListReferenceResult(data, context); + const response: CreateTransitGatewayPrefixListReferenceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2CreateTransitGatewayRouteCommandError = async ( +const deserializeAws_ec2CreateTransitGatewayPrefixListReferenceCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2CreateTransitGatewayRouteCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2CreateTransitGatewayRouteCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2CreateTransitGatewayRouteResult(data, context); + const response: CreateTransitGatewayRouteCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2CreateTransitGatewayRouteCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13536,6 +13832,52 @@ const deserializeAws_ec2CreateVpnGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2DeleteCarrierGatewayCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2DeleteCarrierGatewayCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteCarrierGatewayResult(data, context); + const response: DeleteCarrierGatewayCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2DeleteCarrierGatewayCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2DeleteClientVpnEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -15147,6 +15489,52 @@ const deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceResult(data, context); + const response: DeleteTransitGatewayPrefixListReferenceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2DeleteTransitGatewayRouteCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -16233,6 +16621,52 @@ const deserializeAws_ec2DescribeCapacityReservationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2DescribeCarrierGatewaysCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2DescribeCarrierGatewaysCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DescribeCarrierGatewaysResult(data, context); + const response: DescribeCarrierGatewaysCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2DescribeCarrierGatewaysCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2DescribeClassicLinkInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -23296,6 +23730,52 @@ const deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommandError return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2GetTransitGatewayPrefixListReferencesResult(data, context); + const response: GetTransitGatewayPrefixListReferencesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2GetTransitGatewayRouteTableAssociationsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -24885,27 +25365,27 @@ const deserializeAws_ec2ModifyTrafficMirrorSessionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommand = async ( +export const deserializeAws_ec2ModifyTransitGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommandError(output, context); + return deserializeAws_ec2ModifyTransitGatewayCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyTransitGatewayVpcAttachmentResult(data, context); - const response: ModifyTransitGatewayVpcAttachmentCommandOutput = { + contents = deserializeAws_ec2ModifyTransitGatewayResult(data, context); + const response: ModifyTransitGatewayCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommandError = async ( +const deserializeAws_ec2ModifyTransitGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24931,27 +25411,27 @@ const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVolumeCommand = async ( +export const deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVolumeCommandError(output, context); + return deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVolumeResult(data, context); - const response: ModifyVolumeCommandOutput = { + contents = deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceResult(data, context); + const response: ModifyTransitGatewayPrefixListReferenceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVolumeCommandError = async ( +const deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -24977,24 +25457,27 @@ const deserializeAws_ec2ModifyVolumeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVolumeAttributeCommand = async ( +export const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVolumeAttributeCommandError(output, context); + return deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommandError(output, context); } - await collectBody(output.body, context); - const response: ModifyVolumeAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyTransitGatewayVpcAttachmentResult(data, context); + const response: ModifyTransitGatewayVpcAttachmentCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVolumeAttributeCommandError = async ( +const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25020,24 +25503,27 @@ const deserializeAws_ec2ModifyVolumeAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcAttributeCommand = async ( +export const deserializeAws_ec2ModifyVolumeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcAttributeCommandError(output, context); + return deserializeAws_ec2ModifyVolumeCommandError(output, context); } - await collectBody(output.body, context); - const response: ModifyVpcAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyVolumeResult(data, context); + const response: ModifyVolumeCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcAttributeCommandError = async ( +const deserializeAws_ec2ModifyVolumeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25063,27 +25549,24 @@ const deserializeAws_ec2ModifyVpcAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcEndpointCommand = async ( +export const deserializeAws_ec2ModifyVolumeAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcEndpointCommandError(output, context); + return deserializeAws_ec2ModifyVolumeAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcEndpointResult(data, context); - const response: ModifyVpcEndpointCommandOutput = { + await collectBody(output.body, context); + const response: ModifyVolumeAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcEndpointCommandError = async ( +const deserializeAws_ec2ModifyVolumeAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25109,27 +25592,24 @@ const deserializeAws_ec2ModifyVpcEndpointCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommand = async ( +export const deserializeAws_ec2ModifyVpcAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommandError(output, context); + return deserializeAws_ec2ModifyVpcAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcEndpointConnectionNotificationResult(data, context); - const response: ModifyVpcEndpointConnectionNotificationCommandOutput = { + await collectBody(output.body, context); + const response: ModifyVpcAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommandError = async ( +const deserializeAws_ec2ModifyVpcAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25155,27 +25635,27 @@ const deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommand = async ( +export const deserializeAws_ec2ModifyVpcEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommandError(output, context); + return deserializeAws_ec2ModifyVpcEndpointCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcEndpointServiceConfigurationResult(data, context); - const response: ModifyVpcEndpointServiceConfigurationCommandOutput = { + contents = deserializeAws_ec2ModifyVpcEndpointResult(data, context); + const response: ModifyVpcEndpointCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommandError = async ( +const deserializeAws_ec2ModifyVpcEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25201,27 +25681,27 @@ const deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommand = async ( +export const deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommandError(output, context); + return deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcEndpointServicePermissionsResult(data, context); - const response: ModifyVpcEndpointServicePermissionsCommandOutput = { + contents = deserializeAws_ec2ModifyVpcEndpointConnectionNotificationResult(data, context); + const response: ModifyVpcEndpointConnectionNotificationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommandError = async ( +const deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25247,27 +25727,27 @@ const deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommand = async ( +export const deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommandError(output, context); + return deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcPeeringConnectionOptionsResult(data, context); - const response: ModifyVpcPeeringConnectionOptionsCommandOutput = { + contents = deserializeAws_ec2ModifyVpcEndpointServiceConfigurationResult(data, context); + const response: ModifyVpcEndpointServiceConfigurationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommandError = async ( +const deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25293,27 +25773,27 @@ const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcTenancyCommand = async ( +export const deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcTenancyCommandError(output, context); + return deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcTenancyResult(data, context); - const response: ModifyVpcTenancyCommandOutput = { + contents = deserializeAws_ec2ModifyVpcEndpointServicePermissionsResult(data, context); + const response: ModifyVpcEndpointServicePermissionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcTenancyCommandError = async ( +const deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25339,27 +25819,27 @@ const deserializeAws_ec2ModifyVpcTenancyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpnConnectionCommand = async ( +export const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpnConnectionCommandError(output, context); + return deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpnConnectionResult(data, context); - const response: ModifyVpnConnectionCommandOutput = { + contents = deserializeAws_ec2ModifyVpcPeeringConnectionOptionsResult(data, context); + const response: ModifyVpcPeeringConnectionOptionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpnConnectionCommandError = async ( +const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25385,27 +25865,27 @@ const deserializeAws_ec2ModifyVpnConnectionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpnTunnelCertificateCommand = async ( +export const deserializeAws_ec2ModifyVpcTenancyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpnTunnelCertificateCommandError(output, context); + return deserializeAws_ec2ModifyVpcTenancyCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpnTunnelCertificateResult(data, context); - const response: ModifyVpnTunnelCertificateCommandOutput = { + contents = deserializeAws_ec2ModifyVpcTenancyResult(data, context); + const response: ModifyVpcTenancyCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpnTunnelCertificateCommandError = async ( +const deserializeAws_ec2ModifyVpcTenancyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25431,27 +25911,27 @@ const deserializeAws_ec2ModifyVpnTunnelCertificateCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpnTunnelOptionsCommand = async ( +export const deserializeAws_ec2ModifyVpnConnectionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpnTunnelOptionsCommandError(output, context); + return deserializeAws_ec2ModifyVpnConnectionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpnTunnelOptionsResult(data, context); - const response: ModifyVpnTunnelOptionsCommandOutput = { + contents = deserializeAws_ec2ModifyVpnConnectionResult(data, context); + const response: ModifyVpnConnectionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpnTunnelOptionsCommandError = async ( +const deserializeAws_ec2ModifyVpnConnectionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25477,27 +25957,27 @@ const deserializeAws_ec2ModifyVpnTunnelOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2MonitorInstancesCommand = async ( +export const deserializeAws_ec2ModifyVpnConnectionOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2MonitorInstancesCommandError(output, context); + return deserializeAws_ec2ModifyVpnConnectionOptionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2MonitorInstancesResult(data, context); - const response: MonitorInstancesCommandOutput = { + contents = deserializeAws_ec2ModifyVpnConnectionOptionsResult(data, context); + const response: ModifyVpnConnectionOptionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2MonitorInstancesCommandError = async ( +const deserializeAws_ec2ModifyVpnConnectionOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25523,27 +26003,27 @@ const deserializeAws_ec2MonitorInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2MoveAddressToVpcCommand = async ( +export const deserializeAws_ec2ModifyVpnTunnelCertificateCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2MoveAddressToVpcCommandError(output, context); + return deserializeAws_ec2ModifyVpnTunnelCertificateCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2MoveAddressToVpcResult(data, context); - const response: MoveAddressToVpcCommandOutput = { + contents = deserializeAws_ec2ModifyVpnTunnelCertificateResult(data, context); + const response: ModifyVpnTunnelCertificateCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2MoveAddressToVpcCommandError = async ( +const deserializeAws_ec2ModifyVpnTunnelCertificateCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25569,27 +26049,27 @@ const deserializeAws_ec2MoveAddressToVpcCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ProvisionByoipCidrCommand = async ( +export const deserializeAws_ec2ModifyVpnTunnelOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ProvisionByoipCidrCommandError(output, context); + return deserializeAws_ec2ModifyVpnTunnelOptionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ProvisionByoipCidrResult(data, context); - const response: ProvisionByoipCidrCommandOutput = { + contents = deserializeAws_ec2ModifyVpnTunnelOptionsResult(data, context); + const response: ModifyVpnTunnelOptionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ProvisionByoipCidrCommandError = async ( +const deserializeAws_ec2ModifyVpnTunnelOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25615,27 +26095,27 @@ const deserializeAws_ec2ProvisionByoipCidrCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2PurchaseHostReservationCommand = async ( +export const deserializeAws_ec2MonitorInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2PurchaseHostReservationCommandError(output, context); + return deserializeAws_ec2MonitorInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2PurchaseHostReservationResult(data, context); - const response: PurchaseHostReservationCommandOutput = { + contents = deserializeAws_ec2MonitorInstancesResult(data, context); + const response: MonitorInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2PurchaseHostReservationCommandError = async ( +const deserializeAws_ec2MonitorInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25661,27 +26141,27 @@ const deserializeAws_ec2PurchaseHostReservationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2PurchaseReservedInstancesOfferingCommand = async ( +export const deserializeAws_ec2MoveAddressToVpcCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2PurchaseReservedInstancesOfferingCommandError(output, context); + return deserializeAws_ec2MoveAddressToVpcCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2PurchaseReservedInstancesOfferingResult(data, context); - const response: PurchaseReservedInstancesOfferingCommandOutput = { + contents = deserializeAws_ec2MoveAddressToVpcResult(data, context); + const response: MoveAddressToVpcCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2PurchaseReservedInstancesOfferingCommandError = async ( +const deserializeAws_ec2MoveAddressToVpcCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25707,70 +26187,27 @@ const deserializeAws_ec2PurchaseReservedInstancesOfferingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2PurchaseScheduledInstancesCommand = async ( +export const deserializeAws_ec2ProvisionByoipCidrCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2PurchaseScheduledInstancesCommandError(output, context); + return deserializeAws_ec2ProvisionByoipCidrCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2PurchaseScheduledInstancesResult(data, context); - const response: PurchaseScheduledInstancesCommandOutput = { + contents = deserializeAws_ec2ProvisionByoipCidrResult(data, context); + const response: ProvisionByoipCidrCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2PurchaseScheduledInstancesCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); - switch (errorCode) { - default: - const parsedBody = parsedOutput.body; - errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; - response = { - ...parsedBody.Errors.Error, - name: `${errorCode}`, - message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2RebootInstancesCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2RebootInstancesCommandError(output, context); - } - await collectBody(output.body, context); - const response: RebootInstancesCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2RebootInstancesCommandError = async ( +const deserializeAws_ec2ProvisionByoipCidrCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25796,27 +26233,27 @@ const deserializeAws_ec2RebootInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RegisterImageCommand = async ( +export const deserializeAws_ec2PurchaseHostReservationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RegisterImageCommandError(output, context); + return deserializeAws_ec2PurchaseHostReservationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RegisterImageResult(data, context); - const response: RegisterImageCommandOutput = { + contents = deserializeAws_ec2PurchaseHostReservationResult(data, context); + const response: PurchaseHostReservationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RegisterImageCommandError = async ( +const deserializeAws_ec2PurchaseHostReservationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25842,27 +26279,27 @@ const deserializeAws_ec2RegisterImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommand = async ( +export const deserializeAws_ec2PurchaseReservedInstancesOfferingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommandError(output, context); + return deserializeAws_ec2PurchaseReservedInstancesOfferingCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RegisterInstanceEventNotificationAttributesResult(data, context); - const response: RegisterInstanceEventNotificationAttributesCommandOutput = { + contents = deserializeAws_ec2PurchaseReservedInstancesOfferingResult(data, context); + const response: PurchaseReservedInstancesOfferingCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommandError = async ( +const deserializeAws_ec2PurchaseReservedInstancesOfferingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25888,27 +26325,27 @@ const deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommand = async ( +export const deserializeAws_ec2PurchaseScheduledInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommandError(output, context); + return deserializeAws_ec2PurchaseScheduledInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersResult(data, context); - const response: RegisterTransitGatewayMulticastGroupMembersCommandOutput = { + contents = deserializeAws_ec2PurchaseScheduledInstancesResult(data, context); + const response: PurchaseScheduledInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommandError = async ( +const deserializeAws_ec2PurchaseScheduledInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25934,27 +26371,24 @@ const deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommand = async ( +export const deserializeAws_ec2RebootInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommandError(output, context); + return deserializeAws_ec2RebootInstancesCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesResult(data, context); - const response: RegisterTransitGatewayMulticastGroupSourcesCommandOutput = { + await collectBody(output.body, context); + const response: RebootInstancesCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommandError = async ( +const deserializeAws_ec2RebootInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -25980,27 +26414,27 @@ const deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommand = async ( +export const deserializeAws_ec2RegisterImageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommandError(output, context); + return deserializeAws_ec2RegisterImageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RejectTransitGatewayPeeringAttachmentResult(data, context); - const response: RejectTransitGatewayPeeringAttachmentCommandOutput = { + contents = deserializeAws_ec2RegisterImageResult(data, context); + const response: RegisterImageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommandError = async ( +const deserializeAws_ec2RegisterImageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26026,27 +26460,27 @@ const deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommand = async ( +export const deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommandError(output, context); + return deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RejectTransitGatewayVpcAttachmentResult(data, context); - const response: RejectTransitGatewayVpcAttachmentCommandOutput = { + contents = deserializeAws_ec2RegisterInstanceEventNotificationAttributesResult(data, context); + const response: RegisterInstanceEventNotificationAttributesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommandError = async ( +const deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26072,27 +26506,27 @@ const deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RejectVpcEndpointConnectionsCommand = async ( +export const deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RejectVpcEndpointConnectionsCommandError(output, context); + return deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RejectVpcEndpointConnectionsResult(data, context); - const response: RejectVpcEndpointConnectionsCommandOutput = { + contents = deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersResult(data, context); + const response: RegisterTransitGatewayMulticastGroupMembersCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RejectVpcEndpointConnectionsCommandError = async ( +const deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26118,27 +26552,27 @@ const deserializeAws_ec2RejectVpcEndpointConnectionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RejectVpcPeeringConnectionCommand = async ( +export const deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RejectVpcPeeringConnectionCommandError(output, context); + return deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RejectVpcPeeringConnectionResult(data, context); - const response: RejectVpcPeeringConnectionCommandOutput = { + contents = deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesResult(data, context); + const response: RegisterTransitGatewayMulticastGroupSourcesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RejectVpcPeeringConnectionCommandError = async ( +const deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26164,24 +26598,27 @@ const deserializeAws_ec2RejectVpcPeeringConnectionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReleaseAddressCommand = async ( +export const deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReleaseAddressCommandError(output, context); + return deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommandError(output, context); } - await collectBody(output.body, context); - const response: ReleaseAddressCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2RejectTransitGatewayPeeringAttachmentResult(data, context); + const response: RejectTransitGatewayPeeringAttachmentCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReleaseAddressCommandError = async ( +const deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26207,27 +26644,27 @@ const deserializeAws_ec2ReleaseAddressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReleaseHostsCommand = async ( +export const deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReleaseHostsCommandError(output, context); + return deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ReleaseHostsResult(data, context); - const response: ReleaseHostsCommandOutput = { + contents = deserializeAws_ec2RejectTransitGatewayVpcAttachmentResult(data, context); + const response: RejectTransitGatewayVpcAttachmentCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReleaseHostsCommandError = async ( +const deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26253,27 +26690,27 @@ const deserializeAws_ec2ReleaseHostsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommand = async ( +export const deserializeAws_ec2RejectVpcEndpointConnectionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommandError(output, context); + return deserializeAws_ec2RejectVpcEndpointConnectionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ReplaceIamInstanceProfileAssociationResult(data, context); - const response: ReplaceIamInstanceProfileAssociationCommandOutput = { + contents = deserializeAws_ec2RejectVpcEndpointConnectionsResult(data, context); + const response: RejectVpcEndpointConnectionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommandError = async ( +const deserializeAws_ec2RejectVpcEndpointConnectionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26299,27 +26736,27 @@ const deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceNetworkAclAssociationCommand = async ( +export const deserializeAws_ec2RejectVpcPeeringConnectionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceNetworkAclAssociationCommandError(output, context); + return deserializeAws_ec2RejectVpcPeeringConnectionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ReplaceNetworkAclAssociationResult(data, context); - const response: ReplaceNetworkAclAssociationCommandOutput = { + contents = deserializeAws_ec2RejectVpcPeeringConnectionResult(data, context); + const response: RejectVpcPeeringConnectionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceNetworkAclAssociationCommandError = async ( +const deserializeAws_ec2RejectVpcPeeringConnectionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26345,24 +26782,24 @@ const deserializeAws_ec2ReplaceNetworkAclAssociationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceNetworkAclEntryCommand = async ( +export const deserializeAws_ec2ReleaseAddressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceNetworkAclEntryCommandError(output, context); + return deserializeAws_ec2ReleaseAddressCommandError(output, context); } await collectBody(output.body, context); - const response: ReplaceNetworkAclEntryCommandOutput = { + const response: ReleaseAddressCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceNetworkAclEntryCommandError = async ( +const deserializeAws_ec2ReleaseAddressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26388,24 +26825,27 @@ const deserializeAws_ec2ReplaceNetworkAclEntryCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceRouteCommand = async ( +export const deserializeAws_ec2ReleaseHostsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceRouteCommandError(output, context); + return deserializeAws_ec2ReleaseHostsCommandError(output, context); } - await collectBody(output.body, context); - const response: ReplaceRouteCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ReleaseHostsResult(data, context); + const response: ReleaseHostsCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceRouteCommandError = async ( +const deserializeAws_ec2ReleaseHostsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26431,27 +26871,27 @@ const deserializeAws_ec2ReplaceRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceRouteTableAssociationCommand = async ( +export const deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceRouteTableAssociationCommandError(output, context); + return deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ReplaceRouteTableAssociationResult(data, context); - const response: ReplaceRouteTableAssociationCommandOutput = { + contents = deserializeAws_ec2ReplaceIamInstanceProfileAssociationResult(data, context); + const response: ReplaceIamInstanceProfileAssociationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceRouteTableAssociationCommandError = async ( +const deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26477,27 +26917,27 @@ const deserializeAws_ec2ReplaceRouteTableAssociationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceTransitGatewayRouteCommand = async ( +export const deserializeAws_ec2ReplaceNetworkAclAssociationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceTransitGatewayRouteCommandError(output, context); + return deserializeAws_ec2ReplaceNetworkAclAssociationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ReplaceTransitGatewayRouteResult(data, context); - const response: ReplaceTransitGatewayRouteCommandOutput = { + contents = deserializeAws_ec2ReplaceNetworkAclAssociationResult(data, context); + const response: ReplaceNetworkAclAssociationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceTransitGatewayRouteCommandError = async ( +const deserializeAws_ec2ReplaceNetworkAclAssociationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26523,24 +26963,24 @@ const deserializeAws_ec2ReplaceTransitGatewayRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReportInstanceStatusCommand = async ( +export const deserializeAws_ec2ReplaceNetworkAclEntryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReportInstanceStatusCommandError(output, context); + return deserializeAws_ec2ReplaceNetworkAclEntryCommandError(output, context); } await collectBody(output.body, context); - const response: ReportInstanceStatusCommandOutput = { + const response: ReplaceNetworkAclEntryCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2ReportInstanceStatusCommandError = async ( +const deserializeAws_ec2ReplaceNetworkAclEntryCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26566,27 +27006,24 @@ const deserializeAws_ec2ReportInstanceStatusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RequestSpotFleetCommand = async ( +export const deserializeAws_ec2ReplaceRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RequestSpotFleetCommandError(output, context); + return deserializeAws_ec2ReplaceRouteCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RequestSpotFleetResponse(data, context); - const response: RequestSpotFleetCommandOutput = { + await collectBody(output.body, context); + const response: ReplaceRouteCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RequestSpotFleetCommandError = async ( +const deserializeAws_ec2ReplaceRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26612,27 +27049,27 @@ const deserializeAws_ec2RequestSpotFleetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RequestSpotInstancesCommand = async ( +export const deserializeAws_ec2ReplaceRouteTableAssociationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RequestSpotInstancesCommandError(output, context); + return deserializeAws_ec2ReplaceRouteTableAssociationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RequestSpotInstancesResult(data, context); - const response: RequestSpotInstancesCommandOutput = { + contents = deserializeAws_ec2ReplaceRouteTableAssociationResult(data, context); + const response: ReplaceRouteTableAssociationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RequestSpotInstancesCommandError = async ( +const deserializeAws_ec2ReplaceRouteTableAssociationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26658,27 +27095,27 @@ const deserializeAws_ec2RequestSpotInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommand = async ( +export const deserializeAws_ec2ReplaceTransitGatewayRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommandError(output, context); + return deserializeAws_ec2ReplaceTransitGatewayRouteCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ResetEbsDefaultKmsKeyIdResult(data, context); - const response: ResetEbsDefaultKmsKeyIdCommandOutput = { + contents = deserializeAws_ec2ReplaceTransitGatewayRouteResult(data, context); + const response: ReplaceTransitGatewayRouteCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommandError = async ( +const deserializeAws_ec2ReplaceTransitGatewayRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26704,27 +27141,70 @@ const deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetFpgaImageAttributeCommand = async ( +export const deserializeAws_ec2ReportInstanceStatusCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetFpgaImageAttributeCommandError(output, context); + return deserializeAws_ec2ReportInstanceStatusCommandError(output, context); + } + await collectBody(output.body, context); + const response: ReportInstanceStatusCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2ReportInstanceStatusCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2RequestSpotFleetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2RequestSpotFleetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ResetFpgaImageAttributeResult(data, context); - const response: ResetFpgaImageAttributeCommandOutput = { + contents = deserializeAws_ec2RequestSpotFleetResponse(data, context); + const response: RequestSpotFleetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetFpgaImageAttributeCommandError = async ( +const deserializeAws_ec2RequestSpotFleetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26750,24 +27230,27 @@ const deserializeAws_ec2ResetFpgaImageAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetImageAttributeCommand = async ( +export const deserializeAws_ec2RequestSpotInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetImageAttributeCommandError(output, context); + return deserializeAws_ec2RequestSpotInstancesCommandError(output, context); } - await collectBody(output.body, context); - const response: ResetImageAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2RequestSpotInstancesResult(data, context); + const response: RequestSpotInstancesCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetImageAttributeCommandError = async ( +const deserializeAws_ec2RequestSpotInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26793,24 +27276,27 @@ const deserializeAws_ec2ResetImageAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetInstanceAttributeCommand = async ( +export const deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetInstanceAttributeCommandError(output, context); + return deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommandError(output, context); } - await collectBody(output.body, context); - const response: ResetInstanceAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ResetEbsDefaultKmsKeyIdResult(data, context); + const response: ResetEbsDefaultKmsKeyIdCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetInstanceAttributeCommandError = async ( +const deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26836,24 +27322,27 @@ const deserializeAws_ec2ResetInstanceAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetNetworkInterfaceAttributeCommand = async ( +export const deserializeAws_ec2ResetFpgaImageAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetNetworkInterfaceAttributeCommandError(output, context); + return deserializeAws_ec2ResetFpgaImageAttributeCommandError(output, context); } - await collectBody(output.body, context); - const response: ResetNetworkInterfaceAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ResetFpgaImageAttributeResult(data, context); + const response: ResetFpgaImageAttributeCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetNetworkInterfaceAttributeCommandError = async ( +const deserializeAws_ec2ResetFpgaImageAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26879,24 +27368,24 @@ const deserializeAws_ec2ResetNetworkInterfaceAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetSnapshotAttributeCommand = async ( +export const deserializeAws_ec2ResetImageAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetSnapshotAttributeCommandError(output, context); + return deserializeAws_ec2ResetImageAttributeCommandError(output, context); } await collectBody(output.body, context); - const response: ResetSnapshotAttributeCommandOutput = { + const response: ResetImageAttributeCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetSnapshotAttributeCommandError = async ( +const deserializeAws_ec2ResetImageAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26922,27 +27411,24 @@ const deserializeAws_ec2ResetSnapshotAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RestoreAddressToClassicCommand = async ( +export const deserializeAws_ec2ResetInstanceAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RestoreAddressToClassicCommandError(output, context); + return deserializeAws_ec2ResetInstanceAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RestoreAddressToClassicResult(data, context); - const response: RestoreAddressToClassicCommandOutput = { + await collectBody(output.body, context); + const response: ResetInstanceAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RestoreAddressToClassicCommandError = async ( +const deserializeAws_ec2ResetInstanceAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26968,27 +27454,24 @@ const deserializeAws_ec2RestoreAddressToClassicCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RestoreManagedPrefixListVersionCommand = async ( +export const deserializeAws_ec2ResetNetworkInterfaceAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RestoreManagedPrefixListVersionCommandError(output, context); + return deserializeAws_ec2ResetNetworkInterfaceAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RestoreManagedPrefixListVersionResult(data, context); - const response: RestoreManagedPrefixListVersionCommandOutput = { + await collectBody(output.body, context); + const response: ResetNetworkInterfaceAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RestoreManagedPrefixListVersionCommandError = async ( +const deserializeAws_ec2ResetNetworkInterfaceAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27014,27 +27497,24 @@ const deserializeAws_ec2RestoreManagedPrefixListVersionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RevokeClientVpnIngressCommand = async ( +export const deserializeAws_ec2ResetSnapshotAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RevokeClientVpnIngressCommandError(output, context); + return deserializeAws_ec2ResetSnapshotAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RevokeClientVpnIngressResult(data, context); - const response: RevokeClientVpnIngressCommandOutput = { + await collectBody(output.body, context); + const response: ResetSnapshotAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RevokeClientVpnIngressCommandError = async ( +const deserializeAws_ec2ResetSnapshotAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27060,24 +27540,27 @@ const deserializeAws_ec2RevokeClientVpnIngressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RevokeSecurityGroupEgressCommand = async ( +export const deserializeAws_ec2RestoreAddressToClassicCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RevokeSecurityGroupEgressCommandError(output, context); + return deserializeAws_ec2RestoreAddressToClassicCommandError(output, context); } - await collectBody(output.body, context); - const response: RevokeSecurityGroupEgressCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2RestoreAddressToClassicResult(data, context); + const response: RestoreAddressToClassicCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RevokeSecurityGroupEgressCommandError = async ( +const deserializeAws_ec2RestoreAddressToClassicCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27103,24 +27586,27 @@ const deserializeAws_ec2RevokeSecurityGroupEgressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RevokeSecurityGroupIngressCommand = async ( +export const deserializeAws_ec2RestoreManagedPrefixListVersionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RevokeSecurityGroupIngressCommandError(output, context); + return deserializeAws_ec2RestoreManagedPrefixListVersionCommandError(output, context); } - await collectBody(output.body, context); - const response: RevokeSecurityGroupIngressCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2RestoreManagedPrefixListVersionResult(data, context); + const response: RestoreManagedPrefixListVersionCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RevokeSecurityGroupIngressCommandError = async ( +const deserializeAws_ec2RestoreManagedPrefixListVersionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27146,27 +27632,27 @@ const deserializeAws_ec2RevokeSecurityGroupIngressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RunInstancesCommand = async ( +export const deserializeAws_ec2RevokeClientVpnIngressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RunInstancesCommandError(output, context); + return deserializeAws_ec2RevokeClientVpnIngressCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2Reservation(data, context); - const response: RunInstancesCommandOutput = { + contents = deserializeAws_ec2RevokeClientVpnIngressResult(data, context); + const response: RevokeClientVpnIngressCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RunInstancesCommandError = async ( +const deserializeAws_ec2RevokeClientVpnIngressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27192,27 +27678,27 @@ const deserializeAws_ec2RunInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RunScheduledInstancesCommand = async ( +export const deserializeAws_ec2RevokeSecurityGroupEgressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RunScheduledInstancesCommandError(output, context); + return deserializeAws_ec2RevokeSecurityGroupEgressCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RunScheduledInstancesResult(data, context); - const response: RunScheduledInstancesCommandOutput = { + contents = deserializeAws_ec2RevokeSecurityGroupEgressResult(data, context); + const response: RevokeSecurityGroupEgressCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RunScheduledInstancesCommandError = async ( +const deserializeAws_ec2RevokeSecurityGroupEgressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27238,27 +27724,27 @@ const deserializeAws_ec2RunScheduledInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2SearchLocalGatewayRoutesCommand = async ( +export const deserializeAws_ec2RevokeSecurityGroupIngressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2SearchLocalGatewayRoutesCommandError(output, context); + return deserializeAws_ec2RevokeSecurityGroupIngressCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2SearchLocalGatewayRoutesResult(data, context); - const response: SearchLocalGatewayRoutesCommandOutput = { + contents = deserializeAws_ec2RevokeSecurityGroupIngressResult(data, context); + const response: RevokeSecurityGroupIngressCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2SearchLocalGatewayRoutesCommandError = async ( +const deserializeAws_ec2RevokeSecurityGroupIngressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27284,27 +27770,165 @@ const deserializeAws_ec2SearchLocalGatewayRoutesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommand = async ( +export const deserializeAws_ec2RunInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError(output, context); + return deserializeAws_ec2RunInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2SearchTransitGatewayMulticastGroupsResult(data, context); - const response: SearchTransitGatewayMulticastGroupsCommandOutput = { + contents = deserializeAws_ec2Reservation(data, context); + const response: RunInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError = async ( +const deserializeAws_ec2RunInstancesCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2RunScheduledInstancesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2RunScheduledInstancesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2RunScheduledInstancesResult(data, context); + const response: RunScheduledInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2RunScheduledInstancesCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2SearchLocalGatewayRoutesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2SearchLocalGatewayRoutesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2SearchLocalGatewayRoutesResult(data, context); + const response: SearchLocalGatewayRoutesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2SearchLocalGatewayRoutesCommandError = 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 = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2SearchTransitGatewayMulticastGroupsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2SearchTransitGatewayMulticastGroupsResult(data, context); + const response: SearchTransitGatewayMulticastGroupsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27927,17 +28551,17 @@ const serializeAws_ec2AcceptReservedInstancesExchangeQuoteRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ReservedInstanceIds !== undefined) { - const memberEntries = serializeAws_ec2ReservedInstanceIdSet(input.ReservedInstanceIds, context); + if (input.TargetConfigurations !== undefined) { + const memberEntries = serializeAws_ec2TargetConfigurationRequestSet(input.TargetConfigurations, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ReservedInstanceId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `TargetConfiguration.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.TargetConfigurations !== undefined) { - const memberEntries = serializeAws_ec2TargetConfigurationRequestSet(input.TargetConfigurations, context); + if (input.ReservedInstanceIds !== undefined) { + const memberEntries = serializeAws_ec2ReservedInstanceIdSet(input.ReservedInstanceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TargetConfiguration.${key.substring(key.indexOf(".") + 1)}`; + const loc = `ReservedInstanceId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -27952,12 +28576,12 @@ const serializeAws_ec2AcceptTransitGatewayPeeringAttachmentRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayAttachmentId !== undefined) { - entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.TransitGatewayAttachmentId !== undefined) { + entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + } return entries; }; @@ -27966,12 +28590,12 @@ const serializeAws_ec2AcceptTransitGatewayVpcAttachmentRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayAttachmentId !== undefined) { - entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.TransitGatewayAttachmentId !== undefined) { + entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + } return entries; }; @@ -27980,9 +28604,6 @@ const serializeAws_ec2AcceptVpcEndpointConnectionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ServiceId !== undefined) { - entries["ServiceId"] = input.ServiceId; - } if (input.VpcEndpointIds !== undefined) { const memberEntries = serializeAws_ec2VpcEndpointIdList(input.VpcEndpointIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -27993,6 +28614,9 @@ const serializeAws_ec2AcceptVpcEndpointConnectionsRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.ServiceId !== undefined) { + entries["ServiceId"] = input.ServiceId; + } return entries; }; @@ -28038,63 +28662,60 @@ const serializeAws_ec2AddPrefixListEntries = (input: AddPrefixListEntry[], conte const serializeAws_ec2AddPrefixListEntry = (input: AddPrefixListEntry, context: __SerdeContext): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.Cidr !== undefined) { entries["Cidr"] = input.Cidr; } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } return entries; }; const serializeAws_ec2AdvertiseByoipCidrRequest = (input: AdvertiseByoipCidrRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Cidr !== undefined) { - entries["Cidr"] = input.Cidr; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.Cidr !== undefined) { + entries["Cidr"] = input.Cidr; + } return entries; }; const serializeAws_ec2AllocateAddressRequest = (input: AllocateAddressRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.Address !== undefined) { + entries["Address"] = input.Address; + } + if (input.CustomerOwnedIpv4Pool !== undefined) { + entries["CustomerOwnedIpv4Pool"] = input.CustomerOwnedIpv4Pool; + } if (input.NetworkBorderGroup !== undefined) { entries["NetworkBorderGroup"] = input.NetworkBorderGroup; } if (input.Domain !== undefined) { entries["Domain"] = input.Domain; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.PublicIpv4Pool !== undefined) { entries["PublicIpv4Pool"] = input.PublicIpv4Pool; } - if (input.CustomerOwnedIpv4Pool !== undefined) { - entries["CustomerOwnedIpv4Pool"] = input.CustomerOwnedIpv4Pool; - } - if (input.Address !== undefined) { - entries["Address"] = input.Address; - } return entries; }; const serializeAws_ec2AllocateHostsRequest = (input: AllocateHostsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.AutoPlacement !== undefined) { - entries["AutoPlacement"] = input.AutoPlacement; - } if (input.AvailabilityZone !== undefined) { entries["AvailabilityZone"] = input.AvailabilityZone; } + if (input.AutoPlacement !== undefined) { + entries["AutoPlacement"] = input.AutoPlacement; + } if (input.InstanceFamily !== undefined) { entries["InstanceFamily"] = input.InstanceFamily; } - if (input.Quantity !== undefined) { - entries["Quantity"] = input.Quantity; - } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -28111,6 +28732,9 @@ const serializeAws_ec2AllocateHostsRequest = (input: AllocateHostsRequest, conte if (input.InstanceType !== undefined) { entries["InstanceType"] = input.InstanceType; } + if (input.Quantity !== undefined) { + entries["Quantity"] = input.Quantity; + } return entries; }; @@ -28132,6 +28756,9 @@ const serializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkRequest = ( if (input.ClientVpnEndpointId !== undefined) { entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.VpcId !== undefined) { entries["VpcId"] = input.VpcId; } @@ -28142,9 +28769,6 @@ const serializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -28153,6 +28777,12 @@ const serializeAws_ec2AssignIpv6AddressesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Ipv6AddressCount !== undefined) { + entries["Ipv6AddressCount"] = input.Ipv6AddressCount; + } + if (input.NetworkInterfaceId !== undefined) { + entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + } if (input.Ipv6Addresses !== undefined) { const memberEntries = serializeAws_ec2Ipv6AddressList(input.Ipv6Addresses, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -28160,12 +28790,6 @@ const serializeAws_ec2AssignIpv6AddressesRequest = ( entries[loc] = value; }); } - if (input.NetworkInterfaceId !== undefined) { - entries["NetworkInterfaceId"] = input.NetworkInterfaceId; - } - if (input.Ipv6AddressCount !== undefined) { - entries["Ipv6AddressCount"] = input.Ipv6AddressCount; - } return entries; }; @@ -28174,9 +28798,15 @@ const serializeAws_ec2AssignPrivateIpAddressesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SecondaryPrivateIpAddressCount !== undefined) { + entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount; + } if (input.AllowReassignment !== undefined) { entries["AllowReassignment"] = input.AllowReassignment; } + if (input.NetworkInterfaceId !== undefined) { + entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + } if (input.PrivateIpAddresses !== undefined) { const memberEntries = serializeAws_ec2PrivateIpAddressStringList(input.PrivateIpAddresses, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -28184,38 +28814,32 @@ const serializeAws_ec2AssignPrivateIpAddressesRequest = ( entries[loc] = value; }); } - if (input.NetworkInterfaceId !== undefined) { - entries["NetworkInterfaceId"] = input.NetworkInterfaceId; - } - if (input.SecondaryPrivateIpAddressCount !== undefined) { - entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount; - } return entries; }; const serializeAws_ec2AssociateAddressRequest = (input: AssociateAddressRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.AllowReassociation !== undefined) { - entries["AllowReassociation"] = input.AllowReassociation; - } - if (input.PrivateIpAddress !== undefined) { - entries["PrivateIpAddress"] = input.PrivateIpAddress; + if (input.PublicIp !== undefined) { + entries["PublicIp"] = input.PublicIp; } - if (input.NetworkInterfaceId !== undefined) { - entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; - } - if (input.PublicIp !== undefined) { - entries["PublicIp"] = input.PublicIp; + if (input.AllowReassociation !== undefined) { + entries["AllowReassociation"] = input.AllowReassociation; } if (input.AllocationId !== undefined) { entries["AllocationId"] = input.AllocationId; } + if (input.NetworkInterfaceId !== undefined) { + entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + } + if (input.PrivateIpAddress !== undefined) { + entries["PrivateIpAddress"] = input.PrivateIpAddress; + } return entries; }; @@ -28224,20 +28848,20 @@ const serializeAws_ec2AssociateClientVpnTargetNetworkRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientToken === undefined) { - input.ClientToken = generateIdempotencyToken(); + if (input.SubnetId !== undefined) { + entries["SubnetId"] = input.SubnetId; } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.SubnetId !== undefined) { - entries["SubnetId"] = input.SubnetId; + if (input.ClientToken === undefined) { + input.ClientToken = generateIdempotencyToken(); } - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } return entries; }; @@ -28247,12 +28871,12 @@ const serializeAws_ec2AssociateDhcpOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; - } if (input.DhcpOptionsId !== undefined) { entries["DhcpOptionsId"] = input.DhcpOptionsId; } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -28264,9 +28888,6 @@ const serializeAws_ec2AssociateIamInstanceProfileRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; - } if (input.IamInstanceProfile !== undefined) { const memberEntries = serializeAws_ec2IamInstanceProfileSpecification(input.IamInstanceProfile, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -28274,6 +28895,9 @@ const serializeAws_ec2AssociateIamInstanceProfileRequest = ( entries[loc] = value; }); } + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; + } return entries; }; @@ -28282,8 +28906,8 @@ const serializeAws_ec2AssociateRouteTableRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SubnetId !== undefined) { - entries["SubnetId"] = input.SubnetId; + if (input.RouteTableId !== undefined) { + entries["RouteTableId"] = input.RouteTableId; } if (input.GatewayId !== undefined) { entries["GatewayId"] = input.GatewayId; @@ -28291,8 +28915,8 @@ const serializeAws_ec2AssociateRouteTableRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.RouteTableId !== undefined) { - entries["RouteTableId"] = input.RouteTableId; + if (input.SubnetId !== undefined) { + entries["SubnetId"] = input.SubnetId; } return entries; }; @@ -28316,6 +28940,9 @@ const serializeAws_ec2AssociateTransitGatewayMulticastDomainRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.TransitGatewayMulticastDomainId !== undefined) { + entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -28326,9 +28953,6 @@ const serializeAws_ec2AssociateTransitGatewayMulticastDomainRequest = ( entries[loc] = value; }); } - if (input.TransitGatewayMulticastDomainId !== undefined) { - entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; - } if (input.TransitGatewayAttachmentId !== undefined) { entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; } @@ -28340,15 +28964,15 @@ const serializeAws_ec2AssociateTransitGatewayRouteTableRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.TransitGatewayRouteTableId !== undefined) { entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } if (input.TransitGatewayAttachmentId !== undefined) { entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -28357,23 +28981,23 @@ const serializeAws_ec2AssociateVpcCidrBlockRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Ipv6Pool !== undefined) { - entries["Ipv6Pool"] = input.Ipv6Pool; - } if (input.CidrBlock !== undefined) { entries["CidrBlock"] = input.CidrBlock; } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } if (input.Ipv6CidrBlockNetworkBorderGroup !== undefined) { entries["Ipv6CidrBlockNetworkBorderGroup"] = input.Ipv6CidrBlockNetworkBorderGroup; } - if (input.Ipv6CidrBlock !== undefined) { - entries["Ipv6CidrBlock"] = input.Ipv6CidrBlock; - } if (input.AmazonProvidedIpv6CidrBlock !== undefined) { entries["AmazonProvidedIpv6CidrBlock"] = input.AmazonProvidedIpv6CidrBlock; } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; + if (input.Ipv6CidrBlock !== undefined) { + entries["Ipv6CidrBlock"] = input.Ipv6CidrBlock; + } + if (input.Ipv6Pool !== undefined) { + entries["Ipv6Pool"] = input.Ipv6Pool; } return entries; }; @@ -28393,6 +29017,12 @@ const serializeAws_ec2AttachClassicLinkVpcRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Groups !== undefined) { const memberEntries = serializeAws_ec2GroupIdStringList(input.Groups, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -28400,12 +29030,6 @@ const serializeAws_ec2AttachClassicLinkVpcRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; - } if (input.VpcId !== undefined) { entries["VpcId"] = input.VpcId; } @@ -28420,12 +29044,12 @@ const serializeAws_ec2AttachInternetGatewayRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.InternetGatewayId !== undefined) { - entries["InternetGatewayId"] = input.InternetGatewayId; - } if (input.VpcId !== undefined) { entries["VpcId"] = input.VpcId; } + if (input.InternetGatewayId !== undefined) { + entries["InternetGatewayId"] = input.InternetGatewayId; + } return entries; }; @@ -28434,34 +29058,34 @@ const serializeAws_ec2AttachNetworkInterfaceRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NetworkInterfaceId !== undefined) { + entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + } + if (input.DeviceIndex !== undefined) { + entries["DeviceIndex"] = input.DeviceIndex; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } if (input.InstanceId !== undefined) { entries["InstanceId"] = input.InstanceId; } - if (input.DeviceIndex !== undefined) { - entries["DeviceIndex"] = input.DeviceIndex; - } - if (input.NetworkInterfaceId !== undefined) { - entries["NetworkInterfaceId"] = input.NetworkInterfaceId; - } return entries; }; const serializeAws_ec2AttachVolumeRequest = (input: AttachVolumeRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.VolumeId !== undefined) { - entries["VolumeId"] = input.VolumeId; - } - if (input.Device !== undefined) { - entries["Device"] = input.Device; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.InstanceId !== undefined) { entries["InstanceId"] = input.InstanceId; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.Device !== undefined) { + entries["Device"] = input.Device; + } + if (input.VolumeId !== undefined) { + entries["VolumeId"] = input.VolumeId; } return entries; }; @@ -28471,12 +29095,12 @@ const serializeAws_ec2AttachVpnGatewayRequest = (input: AttachVpnGatewayRequest, if (input.VpcId !== undefined) { entries["VpcId"] = input.VpcId; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.VpnGatewayId !== undefined) { entries["VpnGatewayId"] = input.VpnGatewayId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -28504,26 +29128,26 @@ const serializeAws_ec2AuthorizeClientVpnIngressRequest = ( if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; - } if (input.TargetNetworkCidr !== undefined) { entries["TargetNetworkCidr"] = input.TargetNetworkCidr; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.AuthorizeAllGroups !== undefined) { + entries["AuthorizeAllGroups"] = input.AuthorizeAllGroups; } if (input.AccessGroupId !== undefined) { entries["AccessGroupId"] = input.AccessGroupId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.ClientToken === undefined) { input.ClientToken = generateIdempotencyToken(); } if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } - if (input.AuthorizeAllGroups !== undefined) { - entries["AuthorizeAllGroups"] = input.AuthorizeAllGroups; + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } return entries; }; @@ -28533,21 +29157,12 @@ const serializeAws_ec2AuthorizeSecurityGroupEgressRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ToPort !== undefined) { - entries["ToPort"] = input.ToPort; - } - if (input.SourceSecurityGroupName !== undefined) { - entries["SourceSecurityGroupName"] = input.SourceSecurityGroupName; - } - if (input.FromPort !== undefined) { - entries["FromPort"] = input.FromPort; - } - if (input.GroupId !== undefined) { - entries["GroupId"] = input.GroupId; - } if (input.IpProtocol !== undefined) { entries["IpProtocol"] = input.IpProtocol; } + if (input.ToPort !== undefined) { + entries["ToPort"] = input.ToPort; + } if (input.IpPermissions !== undefined) { const memberEntries = serializeAws_ec2IpPermissionList(input.IpPermissions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -28555,15 +29170,24 @@ const serializeAws_ec2AuthorizeSecurityGroupEgressRequest = ( entries[loc] = value; }); } - if (input.SourceSecurityGroupOwnerId !== undefined) { - entries["SourceSecurityGroupOwnerId"] = input.SourceSecurityGroupOwnerId; - } if (input.CidrIp !== undefined) { entries["CidrIp"] = input.CidrIp; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.SourceSecurityGroupOwnerId !== undefined) { + entries["SourceSecurityGroupOwnerId"] = input.SourceSecurityGroupOwnerId; + } + if (input.SourceSecurityGroupName !== undefined) { + entries["SourceSecurityGroupName"] = input.SourceSecurityGroupName; + } + if (input.FromPort !== undefined) { + entries["FromPort"] = input.FromPort; + } + if (input.GroupId !== undefined) { + entries["GroupId"] = input.GroupId; + } return entries; }; @@ -28572,29 +29196,17 @@ const serializeAws_ec2AuthorizeSecurityGroupIngressRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ToPort !== undefined) { - entries["ToPort"] = input.ToPort; - } - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; - } - if (input.FromPort !== undefined) { - entries["FromPort"] = input.FromPort; - } - if (input.SourceSecurityGroupOwnerId !== undefined) { - entries["SourceSecurityGroupOwnerId"] = input.SourceSecurityGroupOwnerId; + if (input.GroupId !== undefined) { + entries["GroupId"] = input.GroupId; } if (input.SourceSecurityGroupName !== undefined) { entries["SourceSecurityGroupName"] = input.SourceSecurityGroupName; } - if (input.CidrIp !== undefined) { - entries["CidrIp"] = input.CidrIp; - } - if (input.IpProtocol !== undefined) { - entries["IpProtocol"] = input.IpProtocol; + if (input.ToPort !== undefined) { + entries["ToPort"] = input.ToPort; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.FromPort !== undefined) { + entries["FromPort"] = input.FromPort; } if (input.IpPermissions !== undefined) { const memberEntries = serializeAws_ec2IpPermissionList(input.IpPermissions, context); @@ -28603,8 +29215,20 @@ const serializeAws_ec2AuthorizeSecurityGroupIngressRequest = ( entries[loc] = value; }); } - if (input.GroupId !== undefined) { - entries["GroupId"] = input.GroupId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.IpProtocol !== undefined) { + entries["IpProtocol"] = input.IpProtocol; + } + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; + } + if (input.SourceSecurityGroupOwnerId !== undefined) { + entries["SourceSecurityGroupOwnerId"] = input.SourceSecurityGroupOwnerId; + } + if (input.CidrIp !== undefined) { + entries["CidrIp"] = input.CidrIp; } return entries; }; @@ -28642,9 +29266,6 @@ const serializeAws_ec2BlockDeviceMapping = (input: BlockDeviceMapping, context: if (input.DeviceName !== undefined) { entries["DeviceName"] = input.DeviceName; } - if (input.VirtualName !== undefined) { - entries["VirtualName"] = input.VirtualName; - } if (input.Ebs !== undefined) { const memberEntries = serializeAws_ec2EbsBlockDevice(input.Ebs, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -28655,6 +29276,9 @@ const serializeAws_ec2BlockDeviceMapping = (input: BlockDeviceMapping, context: if (input.NoDevice !== undefined) { entries["NoDevice"] = input.NoDevice; } + if (input.VirtualName !== undefined) { + entries["VirtualName"] = input.VirtualName; + } return entries; }; @@ -28696,8 +29320,8 @@ const serializeAws_ec2BundleIdStringList = (input: string[], context: __SerdeCon const serializeAws_ec2BundleInstanceRequest = (input: BundleInstanceRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; } if (input.Storage !== undefined) { const memberEntries = serializeAws_ec2Storage(input.Storage, context); @@ -28706,20 +29330,20 @@ const serializeAws_ec2BundleInstanceRequest = (input: BundleInstanceRequest, con entries[loc] = value; }); } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; const serializeAws_ec2CancelBundleTaskRequest = (input: CancelBundleTaskRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.BundleId !== undefined) { entries["BundleId"] = input.BundleId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -28764,12 +29388,12 @@ const serializeAws_ec2CancelImportTaskRequest = (input: CancelImportTaskRequest, if (input.ImportTaskId !== undefined) { entries["ImportTaskId"] = input.ImportTaskId; } - if (input.CancelReason !== undefined) { - entries["CancelReason"] = input.CancelReason; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.CancelReason !== undefined) { + entries["CancelReason"] = input.CancelReason; + } return entries; }; @@ -28789,6 +29413,9 @@ const serializeAws_ec2CancelSpotFleetRequestsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.TerminateInstances !== undefined) { + entries["TerminateInstances"] = input.TerminateInstances; + } if (input.SpotFleetRequestIds !== undefined) { const memberEntries = serializeAws_ec2SpotFleetRequestIdList(input.SpotFleetRequestIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -28799,9 +29426,6 @@ const serializeAws_ec2CancelSpotFleetRequestsRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.TerminateInstances !== undefined) { - entries["TerminateInstances"] = input.TerminateInstances; - } return entries; }; @@ -28849,6 +29473,9 @@ const serializeAws_ec2CapacityReservationSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.CapacityReservationPreference !== undefined) { + entries["CapacityReservationPreference"] = input.CapacityReservationPreference; + } if (input.CapacityReservationTarget !== undefined) { const memberEntries = serializeAws_ec2CapacityReservationTarget(input.CapacityReservationTarget, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -28856,9 +29483,6 @@ const serializeAws_ec2CapacityReservationSpecification = ( entries[loc] = value; }); } - if (input.CapacityReservationPreference !== undefined) { - entries["CapacityReservationPreference"] = input.CapacityReservationPreference; - } return entries; }; @@ -28873,6 +29497,16 @@ const serializeAws_ec2CapacityReservationTarget = (input: CapacityReservationTar return entries; }; +const serializeAws_ec2CarrierGatewayIdSet = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (let entry of input) { + entries[`Member.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2CertificateAuthenticationRequest = ( input: CertificateAuthenticationRequest, context: __SerdeContext @@ -28933,18 +29567,18 @@ const serializeAws_ec2ClassicLoadBalancersConfig = ( const serializeAws_ec2ClientData = (input: ClientData, context: __SerdeContext): any => { const entries: any = {}; - if (input.Comment !== undefined) { - entries["Comment"] = input.Comment; - } - if (input.UploadStart !== undefined) { - entries["UploadStart"] = input.UploadStart.toISOString().split(".")[0] + "Z"; - } if (input.UploadEnd !== undefined) { entries["UploadEnd"] = input.UploadEnd.toISOString().split(".")[0] + "Z"; } if (input.UploadSize !== undefined) { entries["UploadSize"] = input.UploadSize; } + if (input.UploadStart !== undefined) { + entries["UploadStart"] = input.UploadStart.toISOString().split(".")[0] + "Z"; + } + if (input.Comment !== undefined) { + entries["Comment"] = input.Comment; + } return entries; }; @@ -29045,12 +29679,12 @@ const serializeAws_ec2ConfirmProductInstanceRequest = ( const serializeAws_ec2ConnectionLogOptions = (input: ConnectionLogOptions, context: __SerdeContext): any => { const entries: any = {}; - if (input.CloudwatchLogStream !== undefined) { - entries["CloudwatchLogStream"] = input.CloudwatchLogStream; - } if (input.CloudwatchLogGroup !== undefined) { entries["CloudwatchLogGroup"] = input.CloudwatchLogGroup; } + if (input.CloudwatchLogStream !== undefined) { + entries["CloudwatchLogStream"] = input.CloudwatchLogStream; + } if (input.Enabled !== undefined) { entries["Enabled"] = input.Enabled; } @@ -29082,15 +29716,15 @@ const serializeAws_ec2CopyFpgaImageRequest = (input: CopyFpgaImageRequest, conte if (input.SourceFpgaImageId !== undefined) { entries["SourceFpgaImageId"] = input.SourceFpgaImageId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Name !== undefined) { entries["Name"] = input.Name; } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.SourceRegion !== undefined) { entries["SourceRegion"] = input.SourceRegion; } @@ -29105,74 +29739,74 @@ const serializeAws_ec2CopyImageRequest = (input: CopyImageRequest, context: __Se if (input.SourceRegion !== undefined) { entries["SourceRegion"] = input.SourceRegion; } - if (input.SourceImageId !== undefined) { - entries["SourceImageId"] = input.SourceImageId; - } - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } if (input.Encrypted !== undefined) { entries["Encrypted"] = input.Encrypted; } + if (input.SourceImageId !== undefined) { + entries["SourceImageId"] = input.SourceImageId; + } + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; + } + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } return entries; }; const serializeAws_ec2CopySnapshotRequest = (input: CopySnapshotRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.PresignedUrl !== undefined) { entries["PresignedUrl"] = input.PresignedUrl; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.SourceRegion !== undefined) { - entries["SourceRegion"] = input.SourceRegion; + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.DestinationRegion !== undefined) { - entries["DestinationRegion"] = input.DestinationRegion; - } if (input.Encrypted !== undefined) { entries["Encrypted"] = input.Encrypted; } if (input.SourceSnapshotId !== undefined) { entries["SourceSnapshotId"] = input.SourceSnapshotId; } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.SourceRegion !== undefined) { + entries["SourceRegion"] = input.SourceRegion; + } + if (input.DestinationRegion !== undefined) { + entries["DestinationRegion"] = input.DestinationRegion; } return entries; }; const serializeAws_ec2CpuOptionsRequest = (input: CpuOptionsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.ThreadsPerCore !== undefined) { - entries["ThreadsPerCore"] = input.ThreadsPerCore; - } if (input.CoreCount !== undefined) { entries["CoreCount"] = input.CoreCount; } + if (input.ThreadsPerCore !== undefined) { + entries["ThreadsPerCore"] = input.ThreadsPerCore; + } return entries; }; @@ -29181,11 +29815,17 @@ const serializeAws_ec2CreateCapacityReservationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.InstanceCount !== undefined) { + entries["InstanceCount"] = input.InstanceCount; } - if (input.EphemeralStorage !== undefined) { - entries["EphemeralStorage"] = input.EphemeralStorage; + if (input.EbsOptimized !== undefined) { + entries["EbsOptimized"] = input.EbsOptimized; + } + if (input.AvailabilityZoneId !== undefined) { + entries["AvailabilityZoneId"] = input.AvailabilityZoneId; + } + if (input.EndDate !== undefined) { + entries["EndDate"] = input.EndDate.toISOString().split(".")[0] + "Z"; } if (input.InstanceType !== undefined) { entries["InstanceType"] = input.InstanceType; @@ -29193,18 +29833,9 @@ const serializeAws_ec2CreateCapacityReservationRequest = ( if (input.InstanceMatchCriteria !== undefined) { entries["InstanceMatchCriteria"] = input.InstanceMatchCriteria; } - if (input.InstancePlatform !== undefined) { - entries["InstancePlatform"] = input.InstancePlatform; - } if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } - if (input.AvailabilityZoneId !== undefined) { - entries["AvailabilityZoneId"] = input.AvailabilityZoneId; - } - if (input.EbsOptimized !== undefined) { - entries["EbsOptimized"] = input.EbsOptimized; - } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29212,60 +29843,61 @@ const serializeAws_ec2CreateCapacityReservationRequest = ( entries[loc] = value; }); } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; - } - if (input.EndDate !== undefined) { - entries["EndDate"] = input.EndDate.toISOString().split(".")[0] + "Z"; + if (input.EphemeralStorage !== undefined) { + entries["EphemeralStorage"] = input.EphemeralStorage; } if (input.Tenancy !== undefined) { entries["Tenancy"] = input.Tenancy; } + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.EndDateType !== undefined) { entries["EndDateType"] = input.EndDateType; } - if (input.InstanceCount !== undefined) { - entries["InstanceCount"] = input.InstanceCount; + if (input.InstancePlatform !== undefined) { + entries["InstancePlatform"] = input.InstancePlatform; } return entries; }; -const serializeAws_ec2CreateClientVpnEndpointRequest = ( - input: CreateClientVpnEndpointRequest, +const serializeAws_ec2CreateCarrierGatewayRequest = ( + input: CreateCarrierGatewayRequest, context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpnPort !== undefined) { - entries["VpnPort"] = input.VpnPort; - } - if (input.ConnectionLogOptions !== undefined) { - const memberEntries = serializeAws_ec2ConnectionLogOptions(input.ConnectionLogOptions, context); + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ConnectionLogOptions.${key}`; + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.TransportProtocol !== undefined) { - entries["TransportProtocol"] = input.TransportProtocol; - } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; } - if (input.ClientCidrBlock !== undefined) { - entries["ClientCidrBlock"] = input.ClientCidrBlock; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } - if (input.DnsServers !== undefined) { - const memberEntries = serializeAws_ec2ValueStringList(input.DnsServers, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DnsServers.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.ClientToken === undefined) { + input.ClientToken = generateIdempotencyToken(); } - if (input.ServerCertificateArn !== undefined) { - entries["ServerCertificateArn"] = input.ServerCertificateArn; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + return entries; +}; + +const serializeAws_ec2CreateClientVpnEndpointRequest = ( + input: CreateClientVpnEndpointRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.ClientToken === undefined) { input.ClientToken = generateIdempotencyToken(); @@ -29273,6 +29905,9 @@ const serializeAws_ec2CreateClientVpnEndpointRequest = ( if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } + if (input.ServerCertificateArn !== undefined) { + entries["ServerCertificateArn"] = input.ServerCertificateArn; + } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29280,26 +29915,52 @@ const serializeAws_ec2CreateClientVpnEndpointRequest = ( entries[loc] = value; }); } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; + if (input.ClientCidrBlock !== undefined) { + entries["ClientCidrBlock"] = input.ClientCidrBlock; + } + if (input.SecurityGroupIds !== undefined) { + const memberEntries = serializeAws_ec2ClientVpnSecurityGroupIdSet(input.SecurityGroupIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.SplitTunnel !== undefined) { entries["SplitTunnel"] = input.SplitTunnel; } - if (input.AuthenticationOptions !== undefined) { - const memberEntries = serializeAws_ec2ClientVpnAuthenticationRequestList(input.AuthenticationOptions, context); + if (input.DnsServers !== undefined) { + const memberEntries = serializeAws_ec2ValueStringList(input.DnsServers, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Authentication.${key.substring(key.indexOf(".") + 1)}`; + const loc = `DnsServers.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.SecurityGroupIds !== undefined) { - const memberEntries = serializeAws_ec2ClientVpnSecurityGroupIdSet(input.SecurityGroupIds, context); + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } + if (input.ConnectionLogOptions !== undefined) { + const memberEntries = serializeAws_ec2ConnectionLogOptions(input.ConnectionLogOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `ConnectionLogOptions.${key}`; + entries[loc] = value; + }); + } + if (input.VpnPort !== undefined) { + entries["VpnPort"] = input.VpnPort; + } + if (input.TransportProtocol !== undefined) { + entries["TransportProtocol"] = input.TransportProtocol; + } + if (input.AuthenticationOptions !== undefined) { + const memberEntries = serializeAws_ec2ClientVpnAuthenticationRequestList(input.AuthenticationOptions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Authentication.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -29308,11 +29969,14 @@ const serializeAws_ec2CreateClientVpnRouteRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientToken === undefined) { - input.ClientToken = generateIdempotencyToken(); + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } if (input.DestinationCidrBlock !== undefined) { entries["DestinationCidrBlock"] = input.DestinationCidrBlock; @@ -29320,14 +29984,11 @@ const serializeAws_ec2CreateClientVpnRouteRequest = ( if (input.TargetVpcSubnetId !== undefined) { entries["TargetVpcSubnetId"] = input.TargetVpcSubnetId; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + if (input.ClientToken === undefined) { + input.ClientToken = generateIdempotencyToken(); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } return entries; }; @@ -29340,28 +30001,28 @@ const serializeAws_ec2CreateCustomerGatewayRequest = ( if (input.PublicIp !== undefined) { entries["IpAddress"] = input.PublicIp; } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Type !== undefined) { - entries["Type"] = input.Type; + if (input.CertificateArn !== undefined) { + entries["CertificateArn"] = input.CertificateArn; } if (input.DeviceName !== undefined) { entries["DeviceName"] = input.DeviceName; } - if (input.CertificateArn !== undefined) { - entries["CertificateArn"] = input.CertificateArn; - } if (input.BgpAsn !== undefined) { entries["BgpAsn"] = input.BgpAsn; } + if (input.Type !== undefined) { + entries["Type"] = input.Type; + } + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } return entries; }; @@ -29370,12 +30031,12 @@ const serializeAws_ec2CreateDefaultSubnetRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; + } return entries; }; @@ -29389,12 +30050,8 @@ const serializeAws_ec2CreateDefaultVpcRequest = (input: CreateDefaultVpcRequest, const serializeAws_ec2CreateDhcpOptionsRequest = (input: CreateDhcpOptionsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DhcpConfigurations !== undefined) { - const memberEntries = serializeAws_ec2NewDhcpConfigurationList(input.DhcpConfigurations, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DhcpConfiguration.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); @@ -29403,8 +30060,12 @@ const serializeAws_ec2CreateDhcpOptionsRequest = (input: CreateDhcpOptionsReques entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.DhcpConfigurations !== undefined) { + const memberEntries = serializeAws_ec2NewDhcpConfigurationList(input.DhcpConfigurations, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DhcpConfiguration.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -29414,14 +30075,29 @@ const serializeAws_ec2CreateEgressOnlyInternetGatewayRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.VpcId !== undefined) { entries["VpcId"] = input.VpcId; } if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + return entries; +}; + +const serializeAws_ec2CreateFleetRequest = (input: CreateFleetRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); @@ -29430,32 +30106,31 @@ const serializeAws_ec2CreateEgressOnlyInternetGatewayRequest = ( entries[loc] = value; }); } - return entries; -}; - -const serializeAws_ec2CreateFleetRequest = (input: CreateFleetRequest, context: __SerdeContext): any => { - const entries: any = {}; - if (input.ValidFrom !== undefined) { - entries["ValidFrom"] = input.ValidFrom.toISOString().split(".")[0] + "Z"; + if (input.ReplaceUnhealthyInstances !== undefined) { + entries["ReplaceUnhealthyInstances"] = input.ReplaceUnhealthyInstances; } - if (input.SpotOptions !== undefined) { - const memberEntries = serializeAws_ec2SpotOptionsRequest(input.SpotOptions, context); + if (input.OnDemandOptions !== undefined) { + const memberEntries = serializeAws_ec2OnDemandOptionsRequest(input.OnDemandOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SpotOptions.${key}`; + const loc = `OnDemandOptions.${key}`; entries[loc] = value; }); } - if (input.Type !== undefined) { - entries["Type"] = input.Type; - } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.TargetCapacitySpecification !== undefined) { + const memberEntries = serializeAws_ec2TargetCapacitySpecificationRequest( + input.TargetCapacitySpecification, + context + ); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TargetCapacitySpecification.${key}`; + entries[loc] = value; + }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.TerminateInstancesWithExpiration !== undefined) { + entries["TerminateInstancesWithExpiration"] = input.TerminateInstancesWithExpiration; } - if (input.ReplaceUnhealthyInstances !== undefined) { - entries["ReplaceUnhealthyInstances"] = input.ReplaceUnhealthyInstances; + if (input.ValidUntil !== undefined) { + entries["ValidUntil"] = input.ValidUntil.toISOString().split(".")[0] + "Z"; } if (input.LaunchTemplateConfigs !== undefined) { const memberEntries = serializeAws_ec2FleetLaunchTemplateConfigListRequest(input.LaunchTemplateConfigs, context); @@ -29464,62 +30139,56 @@ const serializeAws_ec2CreateFleetRequest = (input: CreateFleetRequest, context: entries[loc] = value; }); } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.TargetCapacitySpecification !== undefined) { - const memberEntries = serializeAws_ec2TargetCapacitySpecificationRequest( - input.TargetCapacitySpecification, - context - ); + if (input.SpotOptions !== undefined) { + const memberEntries = serializeAws_ec2SpotOptionsRequest(input.SpotOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TargetCapacitySpecification.${key}`; + const loc = `SpotOptions.${key}`; entries[loc] = value; }); } if (input.ExcessCapacityTerminationPolicy !== undefined) { entries["ExcessCapacityTerminationPolicy"] = input.ExcessCapacityTerminationPolicy; } - if (input.OnDemandOptions !== undefined) { - const memberEntries = serializeAws_ec2OnDemandOptionsRequest(input.OnDemandOptions, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `OnDemandOptions.${key}`; - entries[loc] = value; - }); + if (input.Type !== undefined) { + entries["Type"] = input.Type; } - if (input.TerminateInstancesWithExpiration !== undefined) { - entries["TerminateInstancesWithExpiration"] = input.TerminateInstancesWithExpiration; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } - if (input.ValidUntil !== undefined) { - entries["ValidUntil"] = input.ValidUntil.toISOString().split(".")[0] + "Z"; + if (input.ValidFrom !== undefined) { + entries["ValidFrom"] = input.ValidFrom.toISOString().split(".")[0] + "Z"; } return entries; }; const serializeAws_ec2CreateFlowLogsRequest = (input: CreateFlowLogsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.ResourceType !== undefined) { - entries["ResourceType"] = input.ResourceType; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.LogGroupName !== undefined) { entries["LogGroupName"] = input.LogGroupName; } - if (input.LogFormat !== undefined) { - entries["LogFormat"] = input.LogFormat; + if (input.ResourceType !== undefined) { + entries["ResourceType"] = input.ResourceType; } if (input.LogDestination !== undefined) { entries["LogDestination"] = input.LogDestination; } - if (input.ResourceIds !== undefined) { - const memberEntries = serializeAws_ec2FlowLogResourceIds(input.ResourceIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResourceId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; + } + if (input.TrafficType !== undefined) { + entries["TrafficType"] = input.TrafficType; + } + if (input.LogDestinationType !== undefined) { + entries["LogDestinationType"] = input.LogDestinationType; + } + if (input.LogFormat !== undefined) { + entries["LogFormat"] = input.LogFormat; + } + if (input.DeliverLogsPermissionArn !== undefined) { + entries["DeliverLogsPermissionArn"] = input.DeliverLogsPermissionArn; } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); @@ -29528,24 +30197,16 @@ const serializeAws_ec2CreateFlowLogsRequest = (input: CreateFlowLogsRequest, con entries[loc] = value; }); } + if (input.ResourceIds !== undefined) { + const memberEntries = serializeAws_ec2FlowLogResourceIds(input.ResourceIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ResourceId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.MaxAggregationInterval !== undefined) { entries["MaxAggregationInterval"] = input.MaxAggregationInterval; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.LogDestinationType !== undefined) { - entries["LogDestinationType"] = input.LogDestinationType; - } - if (input.DeliverLogsPermissionArn !== undefined) { - entries["DeliverLogsPermissionArn"] = input.DeliverLogsPermissionArn; - } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; - } - if (input.TrafficType !== undefined) { - entries["TrafficType"] = input.TrafficType; - } return entries; }; @@ -29558,46 +30219,42 @@ const serializeAws_ec2CreateFpgaImageRequest = (input: CreateFpgaImageRequest, c entries[loc] = value; }); } - if (input.LogsStorageLocation !== undefined) { - const memberEntries = serializeAws_ec2StorageLocation(input.LogsStorageLocation, context); + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LogsStorageLocation.${key}`; + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.Name !== undefined) { entries["Name"] = input.Name; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + if (input.LogsStorageLocation !== undefined) { + const memberEntries = serializeAws_ec2StorageLocation(input.LogsStorageLocation, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + const loc = `LogsStorageLocation.${key}`; entries[loc] = value; }); } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } return entries; }; const serializeAws_ec2CreateImageRequest = (input: CreateImageRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.NoReboot !== undefined) { - entries["NoReboot"] = input.NoReboot; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } - if (input.BlockDeviceMappings !== undefined) { - const memberEntries = serializeAws_ec2BlockDeviceMappingRequestList(input.BlockDeviceMappings, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.Name !== undefined) { + entries["Name"] = input.Name; } if (input.InstanceId !== undefined) { entries["InstanceId"] = input.InstanceId; @@ -29605,11 +30262,15 @@ const serializeAws_ec2CreateImageRequest = (input: CreateImageRequest, context: if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.BlockDeviceMappings !== undefined) { + const memberEntries = serializeAws_ec2BlockDeviceMappingRequestList(input.BlockDeviceMappings, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } - if (input.Name !== undefined) { - entries["Name"] = input.Name; + if (input.NoReboot !== undefined) { + entries["NoReboot"] = input.NoReboot; } return entries; }; @@ -29619,14 +30280,15 @@ const serializeAws_ec2CreateInstanceExportTaskRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TargetEnvironment !== undefined) { - entries["TargetEnvironment"] = input.TargetEnvironment; - } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.ExportToS3Task !== undefined) { + const memberEntries = serializeAws_ec2ExportToS3TaskSpecification(input.ExportToS3Task, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ExportToS3.${key}`; + entries[loc] = value; + }); } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); @@ -29635,12 +30297,11 @@ const serializeAws_ec2CreateInstanceExportTaskRequest = ( entries[loc] = value; }); } - if (input.ExportToS3Task !== undefined) { - const memberEntries = serializeAws_ec2ExportToS3TaskSpecification(input.ExportToS3Task, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ExportToS3.${key}`; - entries[loc] = value; - }); + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; + } + if (input.TargetEnvironment !== undefined) { + entries["TargetEnvironment"] = input.TargetEnvironment; } return entries; }; @@ -29650,9 +30311,6 @@ const serializeAws_ec2CreateInternetGatewayRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29660,11 +30318,17 @@ const serializeAws_ec2CreateInternetGatewayRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; const serializeAws_ec2CreateKeyPairRequest = (input: CreateKeyPairRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29675,9 +30339,6 @@ const serializeAws_ec2CreateKeyPairRequest = (input: CreateKeyPairRequest, conte if (input.KeyName !== undefined) { entries["KeyName"] = input.KeyName; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -29686,18 +30347,11 @@ const serializeAws_ec2CreateLaunchTemplateRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } - if (input.LaunchTemplateName !== undefined) { - entries["LaunchTemplateName"] = input.LaunchTemplateName; + if (input.VersionDescription !== undefined) { + entries["VersionDescription"] = input.VersionDescription; } if (input.LaunchTemplateData !== undefined) { const memberEntries = serializeAws_ec2RequestLaunchTemplateData(input.LaunchTemplateData, context); @@ -29709,8 +30363,15 @@ const serializeAws_ec2CreateLaunchTemplateRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.VersionDescription !== undefined) { - entries["VersionDescription"] = input.VersionDescription; + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.LaunchTemplateName !== undefined) { + entries["LaunchTemplateName"] = input.LaunchTemplateName; } return entries; }; @@ -29720,18 +30381,18 @@ const serializeAws_ec2CreateLaunchTemplateVersionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.VersionDescription !== undefined) { + entries["VersionDescription"] = input.VersionDescription; + } + if (input.LaunchTemplateId !== undefined) { + entries["LaunchTemplateId"] = input.LaunchTemplateId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } if (input.SourceVersion !== undefined) { entries["SourceVersion"] = input.SourceVersion; } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; - } - if (input.LaunchTemplateName !== undefined) { - entries["LaunchTemplateName"] = input.LaunchTemplateName; - } if (input.LaunchTemplateData !== undefined) { const memberEntries = serializeAws_ec2RequestLaunchTemplateData(input.LaunchTemplateData, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29739,11 +30400,11 @@ const serializeAws_ec2CreateLaunchTemplateVersionRequest = ( entries[loc] = value; }); } - if (input.VersionDescription !== undefined) { - entries["VersionDescription"] = input.VersionDescription; + if (input.LaunchTemplateName !== undefined) { + entries["LaunchTemplateName"] = input.LaunchTemplateName; } - if (input.LaunchTemplateId !== undefined) { - entries["LaunchTemplateId"] = input.LaunchTemplateId; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } return entries; }; @@ -29753,8 +30414,8 @@ const serializeAws_ec2CreateLocalGatewayRouteRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LocalGatewayVirtualInterfaceGroupId !== undefined) { - entries["LocalGatewayVirtualInterfaceGroupId"] = input.LocalGatewayVirtualInterfaceGroupId; + if (input.DestinationCidrBlock !== undefined) { + entries["DestinationCidrBlock"] = input.DestinationCidrBlock; } if (input.LocalGatewayRouteTableId !== undefined) { entries["LocalGatewayRouteTableId"] = input.LocalGatewayRouteTableId; @@ -29762,8 +30423,8 @@ const serializeAws_ec2CreateLocalGatewayRouteRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.DestinationCidrBlock !== undefined) { - entries["DestinationCidrBlock"] = input.DestinationCidrBlock; + if (input.LocalGatewayVirtualInterfaceGroupId !== undefined) { + entries["LocalGatewayVirtualInterfaceGroupId"] = input.LocalGatewayVirtualInterfaceGroupId; } return entries; }; @@ -29773,14 +30434,11 @@ const serializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.LocalGatewayRouteTableId !== undefined) { - entries["LocalGatewayRouteTableId"] = input.LocalGatewayRouteTableId; + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); @@ -29789,6 +30447,9 @@ const serializeAws_ec2CreateLocalGatewayRouteTableVpcAssociationRequest = ( entries[loc] = value; }); } + if (input.LocalGatewayRouteTableId !== undefined) { + entries["LocalGatewayRouteTableId"] = input.LocalGatewayRouteTableId; + } return entries; }; @@ -29800,12 +30461,6 @@ const serializeAws_ec2CreateManagedPrefixListRequest = ( if (input.AddressFamily !== undefined) { entries["AddressFamily"] = input.AddressFamily; } - if (input.ClientToken === undefined) { - input.ClientToken = generateIdempotencyToken(); - } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; - } if (input.Entries !== undefined) { const memberEntries = serializeAws_ec2AddPrefixListEntries(input.Entries, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29813,9 +30468,15 @@ const serializeAws_ec2CreateManagedPrefixListRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.MaxEntries !== undefined) { entries["MaxEntries"] = input.MaxEntries; } + if (input.PrefixListName !== undefined) { + entries["PrefixListName"] = input.PrefixListName; + } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29823,20 +30484,29 @@ const serializeAws_ec2CreateManagedPrefixListRequest = ( entries[loc] = value; }); } - if (input.PrefixListName !== undefined) { - entries["PrefixListName"] = input.PrefixListName; + if (input.ClientToken === undefined) { + input.ClientToken = generateIdempotencyToken(); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } return entries; }; const serializeAws_ec2CreateNatGatewayRequest = (input: CreateNatGatewayRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.ClientToken === undefined) { + input.ClientToken = generateIdempotencyToken(); + } + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; + } if (input.AllocationId !== undefined) { entries["AllocationId"] = input.AllocationId; } + if (input.SubnetId !== undefined) { + entries["SubnetId"] = input.SubnetId; + } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29844,18 +30514,9 @@ const serializeAws_ec2CreateNatGatewayRequest = (input: CreateNatGatewayRequest, entries[loc] = value; }); } - if (input.SubnetId !== undefined) { - entries["SubnetId"] = input.SubnetId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.ClientToken === undefined) { - input.ClientToken = generateIdempotencyToken(); - } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; - } return entries; }; @@ -29864,18 +30525,23 @@ const serializeAws_ec2CreateNetworkAclEntryRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.CidrBlock !== undefined) { - entries["CidrBlock"] = input.CidrBlock; + if (input.RuleNumber !== undefined) { + entries["RuleNumber"] = input.RuleNumber; } - if (input.PortRange !== undefined) { - const memberEntries = serializeAws_ec2PortRange(input.PortRange, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PortRange.${key}`; - entries[loc] = value; - }); + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } - if (input.RuleAction !== undefined) { - entries["RuleAction"] = input.RuleAction; + if (input.Protocol !== undefined) { + entries["Protocol"] = input.Protocol; + } + if (input.Egress !== undefined) { + entries["Egress"] = input.Egress; + } + if (input.Ipv6CidrBlock !== undefined) { + entries["Ipv6CidrBlock"] = input.Ipv6CidrBlock; + } + if (input.NetworkAclId !== undefined) { + entries["NetworkAclId"] = input.NetworkAclId; } if (input.IcmpTypeCode !== undefined) { const memberEntries = serializeAws_ec2IcmpTypeCode(input.IcmpTypeCode, context); @@ -29884,35 +30550,24 @@ const serializeAws_ec2CreateNetworkAclEntryRequest = ( entries[loc] = value; }); } - if (input.NetworkAclId !== undefined) { - entries["NetworkAclId"] = input.NetworkAclId; - } - if (input.Protocol !== undefined) { - entries["Protocol"] = input.Protocol; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.Egress !== undefined) { - entries["Egress"] = input.Egress; + if (input.RuleAction !== undefined) { + entries["RuleAction"] = input.RuleAction; } - if (input.RuleNumber !== undefined) { - entries["RuleNumber"] = input.RuleNumber; + if (input.PortRange !== undefined) { + const memberEntries = serializeAws_ec2PortRange(input.PortRange, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PortRange.${key}`; + entries[loc] = value; + }); } - if (input.Ipv6CidrBlock !== undefined) { - entries["Ipv6CidrBlock"] = input.Ipv6CidrBlock; + if (input.CidrBlock !== undefined) { + entries["CidrBlock"] = input.CidrBlock; } return entries; }; const serializeAws_ec2CreateNetworkAclRequest = (input: CreateNetworkAclRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; - } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29920,6 +30575,12 @@ const serializeAws_ec2CreateNetworkAclRequest = (input: CreateNetworkAclRequest, entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } return entries; }; @@ -29928,21 +30589,21 @@ const serializeAws_ec2CreateNetworkInterfacePermissionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.NetworkInterfaceId !== undefined) { entries["NetworkInterfaceId"] = input.NetworkInterfaceId; } - if (input.AwsAccountId !== undefined) { - entries["AwsAccountId"] = input.AwsAccountId; - } if (input.AwsService !== undefined) { entries["AwsService"] = input.AwsService; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Permission !== undefined) { entries["Permission"] = input.Permission; } + if (input.AwsAccountId !== undefined) { + entries["AwsAccountId"] = input.AwsAccountId; + } return entries; }; @@ -29951,13 +30612,6 @@ const serializeAws_ec2CreateNetworkInterfaceRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Ipv6Addresses !== undefined) { - const memberEntries = serializeAws_ec2InstanceIpv6AddressList(input.Ipv6Addresses, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Ipv6Addresses.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.Groups !== undefined) { const memberEntries = serializeAws_ec2SecurityGroupIdStringList(input.Groups, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29965,11 +30619,24 @@ const serializeAws_ec2CreateNetworkInterfaceRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.PrivateIpAddress !== undefined) { + entries["PrivateIpAddress"] = input.PrivateIpAddress; + } + if (input.SecondaryPrivateIpAddressCount !== undefined) { + entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount; + } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.SubnetId !== undefined) { - entries["SubnetId"] = input.SubnetId; + if (input.Ipv6Addresses !== undefined) { + const memberEntries = serializeAws_ec2InstanceIpv6AddressList(input.Ipv6Addresses, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Ipv6Addresses.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.PrivateIpAddresses !== undefined) { const memberEntries = serializeAws_ec2PrivateIpAddressSpecificationList(input.PrivateIpAddresses, context); @@ -29978,15 +30645,6 @@ const serializeAws_ec2CreateNetworkInterfaceRequest = ( entries[loc] = value; }); } - if (input.PrivateIpAddress !== undefined) { - entries["PrivateIpAddress"] = input.PrivateIpAddress; - } - if (input.InterfaceType !== undefined) { - entries["InterfaceType"] = input.InterfaceType; - } - if (input.Ipv6AddressCount !== undefined) { - entries["Ipv6AddressCount"] = input.Ipv6AddressCount; - } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -29994,11 +30652,14 @@ const serializeAws_ec2CreateNetworkInterfaceRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.SubnetId !== undefined) { + entries["SubnetId"] = input.SubnetId; } - if (input.SecondaryPrivateIpAddressCount !== undefined) { - entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount; + if (input.InterfaceType !== undefined) { + entries["InterfaceType"] = input.InterfaceType; + } + if (input.Ipv6AddressCount !== undefined) { + entries["Ipv6AddressCount"] = input.Ipv6AddressCount; } return entries; }; @@ -30011,6 +30672,12 @@ const serializeAws_ec2CreatePlacementGroupRequest = ( if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } + if (input.Strategy !== undefined) { + entries["Strategy"] = input.Strategy; + } + if (input.PartitionCount !== undefined) { + entries["PartitionCount"] = input.PartitionCount; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -30021,12 +30688,6 @@ const serializeAws_ec2CreatePlacementGroupRequest = ( entries[loc] = value; }); } - if (input.Strategy !== undefined) { - entries["Strategy"] = input.Strategy; - } - if (input.PartitionCount !== undefined) { - entries["PartitionCount"] = input.PartitionCount; - } return entries; }; @@ -30035,11 +30696,14 @@ const serializeAws_ec2CreateReservedInstancesListingRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; + } if (input.ReservedInstancesId !== undefined) { entries["ReservedInstancesId"] = input.ReservedInstancesId; } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.InstanceCount !== undefined) { + entries["InstanceCount"] = input.InstanceCount; } if (input.PriceSchedules !== undefined) { const memberEntries = serializeAws_ec2PriceScheduleSpecificationList(input.PriceSchedules, context); @@ -30048,22 +30712,16 @@ const serializeAws_ec2CreateReservedInstancesListingRequest = ( entries[loc] = value; }); } - if (input.InstanceCount !== undefined) { - entries["InstanceCount"] = input.InstanceCount; - } return entries; }; const serializeAws_ec2CreateRouteRequest = (input: CreateRouteRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.VpcPeeringConnectionId !== undefined) { - entries["VpcPeeringConnectionId"] = input.VpcPeeringConnectionId; - } - if (input.NetworkInterfaceId !== undefined) { - entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + if (input.DestinationIpv6CidrBlock !== undefined) { + entries["DestinationIpv6CidrBlock"] = input.DestinationIpv6CidrBlock; } - if (input.LocalGatewayId !== undefined) { - entries["LocalGatewayId"] = input.LocalGatewayId; + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; } if (input.DestinationCidrBlock !== undefined) { entries["DestinationCidrBlock"] = input.DestinationCidrBlock; @@ -30071,8 +30729,11 @@ const serializeAws_ec2CreateRouteRequest = (input: CreateRouteRequest, context: if (input.DestinationPrefixListId !== undefined) { entries["DestinationPrefixListId"] = input.DestinationPrefixListId; } - if (input.EgressOnlyInternetGatewayId !== undefined) { - entries["EgressOnlyInternetGatewayId"] = input.EgressOnlyInternetGatewayId; + if (input.NatGatewayId !== undefined) { + entries["NatGatewayId"] = input.NatGatewayId; + } + if (input.RouteTableId !== undefined) { + entries["RouteTableId"] = input.RouteTableId; } if (input.GatewayId !== undefined) { entries["GatewayId"] = input.GatewayId; @@ -30080,26 +30741,32 @@ const serializeAws_ec2CreateRouteRequest = (input: CreateRouteRequest, context: if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.RouteTableId !== undefined) { - entries["RouteTableId"] = input.RouteTableId; + if (input.NetworkInterfaceId !== undefined) { + entries["NetworkInterfaceId"] = input.NetworkInterfaceId; } - if (input.TransitGatewayId !== undefined) { - entries["TransitGatewayId"] = input.TransitGatewayId; + if (input.CarrierGatewayId !== undefined) { + entries["CarrierGatewayId"] = input.CarrierGatewayId; } - if (input.DestinationIpv6CidrBlock !== undefined) { - entries["DestinationIpv6CidrBlock"] = input.DestinationIpv6CidrBlock; + if (input.EgressOnlyInternetGatewayId !== undefined) { + entries["EgressOnlyInternetGatewayId"] = input.EgressOnlyInternetGatewayId; } - if (input.NatGatewayId !== undefined) { - entries["NatGatewayId"] = input.NatGatewayId; + if (input.LocalGatewayId !== undefined) { + entries["LocalGatewayId"] = input.LocalGatewayId; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.VpcPeeringConnectionId !== undefined) { + entries["VpcPeeringConnectionId"] = input.VpcPeeringConnectionId; + } + if (input.TransitGatewayId !== undefined) { + entries["TransitGatewayId"] = input.TransitGatewayId; } return entries; }; const serializeAws_ec2CreateRouteTableRequest = (input: CreateRouteTableRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.VpcId !== undefined) { entries["VpcId"] = input.VpcId; } @@ -30110,9 +30777,6 @@ const serializeAws_ec2CreateRouteTableRequest = (input: CreateRouteTableRequest, entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -30121,15 +30785,8 @@ const serializeAws_ec2CreateSecurityGroupRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.Description !== undefined) { - entries["GroupDescription"] = input.Description; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; @@ -30137,17 +30794,21 @@ const serializeAws_ec2CreateSecurityGroupRequest = ( if (input.VpcId !== undefined) { entries["VpcId"] = input.VpcId; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.Description !== undefined) { + entries["GroupDescription"] = input.Description; + } + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; const serializeAws_ec2CreateSnapshotRequest = (input: CreateSnapshotRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -30161,17 +30822,20 @@ const serializeAws_ec2CreateSnapshotRequest = (input: CreateSnapshotRequest, con if (input.VolumeId !== undefined) { entries["VolumeId"] = input.VolumeId; } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } return entries; }; const serializeAws_ec2CreateSnapshotsRequest = (input: CreateSnapshotsRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.CopyTagsFromSource !== undefined) { - entries["CopyTagsFromSource"] = input.CopyTagsFromSource; - } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -30186,8 +30850,8 @@ const serializeAws_ec2CreateSnapshotsRequest = (input: CreateSnapshotsRequest, c entries[loc] = value; }); } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.CopyTagsFromSource !== undefined) { + entries["CopyTagsFromSource"] = input.CopyTagsFromSource; } return entries; }; @@ -30197,37 +30861,40 @@ const serializeAws_ec2CreateSpotDatafeedSubscriptionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Prefix !== undefined) { - entries["Prefix"] = input.Prefix; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.Bucket !== undefined) { entries["Bucket"] = input.Bucket; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.Prefix !== undefined) { + entries["Prefix"] = input.Prefix; } return entries; }; const serializeAws_ec2CreateSubnetRequest = (input: CreateSubnetRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Ipv6CidrBlock !== undefined) { - entries["Ipv6CidrBlock"] = input.Ipv6CidrBlock; - } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; - } if (input.AvailabilityZoneId !== undefined) { entries["AvailabilityZoneId"] = input.AvailabilityZoneId; } - if (input.OutpostArn !== undefined) { - entries["OutpostArn"] = input.OutpostArn; + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; } if (input.CidrBlock !== undefined) { entries["CidrBlock"] = input.CidrBlock; } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; + if (input.OutpostArn !== undefined) { + entries["OutpostArn"] = input.OutpostArn; + } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } + if (input.Ipv6CidrBlock !== undefined) { + entries["Ipv6CidrBlock"] = input.Ipv6CidrBlock; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); @@ -30236,9 +30903,6 @@ const serializeAws_ec2CreateSubnetRequest = (input: CreateSubnetRequest, context entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -30251,6 +30915,9 @@ const serializeAws_ec2CreateTagsRequest = (input: CreateTagsRequest, context: __ entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_ec2TagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -30258,9 +30925,6 @@ const serializeAws_ec2CreateTagsRequest = (input: CreateTagsRequest, context: __ entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -30269,8 +30933,12 @@ const serializeAws_ec2CreateTrafficMirrorFilterRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.ClientToken === undefined) { input.ClientToken = generateIdempotencyToken(); @@ -30281,12 +30949,8 @@ const serializeAws_ec2CreateTrafficMirrorFilterRequest = ( if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -30296,33 +30960,11 @@ const serializeAws_ec2CreateTrafficMirrorFilterRuleRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.SourceCidrBlock !== undefined) { - entries["SourceCidrBlock"] = input.SourceCidrBlock; - } - if (input.RuleAction !== undefined) { - entries["RuleAction"] = input.RuleAction; - } - if (input.Protocol !== undefined) { - entries["Protocol"] = input.Protocol; - } if (input.DestinationCidrBlock !== undefined) { entries["DestinationCidrBlock"] = input.DestinationCidrBlock; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } - if (input.DestinationPortRange !== undefined) { - const memberEntries = serializeAws_ec2TrafficMirrorPortRangeRequest(input.DestinationPortRange, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DestinationPortRange.${key}`; - entries[loc] = value; - }); - } - if (input.TrafficDirection !== undefined) { - entries["TrafficDirection"] = input.TrafficDirection; + if (input.TrafficMirrorFilterId !== undefined) { + entries["TrafficMirrorFilterId"] = input.TrafficMirrorFilterId; } if (input.ClientToken === undefined) { input.ClientToken = generateIdempotencyToken(); @@ -30330,6 +30972,9 @@ const serializeAws_ec2CreateTrafficMirrorFilterRuleRequest = ( if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } + if (input.RuleAction !== undefined) { + entries["RuleAction"] = input.RuleAction; + } if (input.SourcePortRange !== undefined) { const memberEntries = serializeAws_ec2TrafficMirrorPortRangeRequest(input.SourcePortRange, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -30337,11 +30982,30 @@ const serializeAws_ec2CreateTrafficMirrorFilterRuleRequest = ( entries[loc] = value; }); } + if (input.SourceCidrBlock !== undefined) { + entries["SourceCidrBlock"] = input.SourceCidrBlock; + } if (input.RuleNumber !== undefined) { entries["RuleNumber"] = input.RuleNumber; } - if (input.TrafficMirrorFilterId !== undefined) { - entries["TrafficMirrorFilterId"] = input.TrafficMirrorFilterId; + if (input.Protocol !== undefined) { + entries["Protocol"] = input.Protocol; + } + if (input.TrafficDirection !== undefined) { + entries["TrafficDirection"] = input.TrafficDirection; + } + if (input.DestinationPortRange !== undefined) { + const memberEntries = serializeAws_ec2TrafficMirrorPortRangeRequest(input.DestinationPortRange, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DestinationPortRange.${key}`; + entries[loc] = value; + }); + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; } return entries; }; @@ -30351,8 +31015,8 @@ const serializeAws_ec2CreateTrafficMirrorSessionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.TrafficMirrorTargetId !== undefined) { + entries["TrafficMirrorTargetId"] = input.TrafficMirrorTargetId; } if (input.ClientToken === undefined) { input.ClientToken = generateIdempotencyToken(); @@ -30360,9 +31024,15 @@ const serializeAws_ec2CreateTrafficMirrorSessionRequest = ( if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } + if (input.TrafficMirrorFilterId !== undefined) { + entries["TrafficMirrorFilterId"] = input.TrafficMirrorFilterId; + } if (input.NetworkInterfaceId !== undefined) { entries["NetworkInterfaceId"] = input.NetworkInterfaceId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -30370,24 +31040,18 @@ const serializeAws_ec2CreateTrafficMirrorSessionRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.PacketLength !== undefined) { + entries["PacketLength"] = input.PacketLength; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.VirtualNetworkId !== undefined) { entries["VirtualNetworkId"] = input.VirtualNetworkId; } - if (input.PacketLength !== undefined) { - entries["PacketLength"] = input.PacketLength; - } if (input.SessionNumber !== undefined) { entries["SessionNumber"] = input.SessionNumber; } - if (input.TrafficMirrorTargetId !== undefined) { - entries["TrafficMirrorTargetId"] = input.TrafficMirrorTargetId; - } - if (input.TrafficMirrorFilterId !== undefined) { - entries["TrafficMirrorFilterId"] = input.TrafficMirrorFilterId; - } return entries; }; @@ -30399,27 +31063,27 @@ const serializeAws_ec2CreateTrafficMirrorTargetRequest = ( if (input.NetworkLoadBalancerArn !== undefined) { entries["NetworkLoadBalancerArn"] = input.NetworkLoadBalancerArn; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.NetworkInterfaceId !== undefined) { + entries["NetworkInterfaceId"] = input.NetworkInterfaceId; } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.ClientToken === undefined) { input.ClientToken = generateIdempotencyToken(); } if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } - if (input.NetworkInterfaceId !== undefined) { - entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -30429,6 +31093,9 @@ const serializeAws_ec2CreateTransitGatewayMulticastDomainRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.TransitGatewayId !== undefined) { + entries["TransitGatewayId"] = input.TransitGatewayId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -30439,9 +31106,6 @@ const serializeAws_ec2CreateTransitGatewayMulticastDomainRequest = ( entries[loc] = value; }); } - if (input.TransitGatewayId !== undefined) { - entries["TransitGatewayId"] = input.TransitGatewayId; - } return entries; }; @@ -30450,8 +31114,8 @@ const serializeAws_ec2CreateTransitGatewayPeeringAttachmentRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayId !== undefined) { - entries["TransitGatewayId"] = input.TransitGatewayId; + if (input.PeerAccountId !== undefined) { + entries["PeerAccountId"] = input.PeerAccountId; } if (input.PeerTransitGatewayId !== undefined) { entries["PeerTransitGatewayId"] = input.PeerTransitGatewayId; @@ -30463,14 +31127,37 @@ const serializeAws_ec2CreateTransitGatewayPeeringAttachmentRequest = ( entries[loc] = value; }); } - if (input.PeerAccountId !== undefined) { - entries["PeerAccountId"] = input.PeerAccountId; + if (input.PeerRegion !== undefined) { + entries["PeerRegion"] = input.PeerRegion; + } + if (input.TransitGatewayId !== undefined) { + entries["TransitGatewayId"] = input.TransitGatewayId; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.PeerRegion !== undefined) { - entries["PeerRegion"] = input.PeerRegion; + return entries; +}; + +const serializeAws_ec2CreateTransitGatewayPrefixListReferenceRequest = ( + input: CreateTransitGatewayPrefixListReferenceRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Blackhole !== undefined) { + entries["Blackhole"] = input.Blackhole; + } + if (input.TransitGatewayAttachmentId !== undefined) { + entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + } + if (input.PrefixListId !== undefined) { + entries["PrefixListId"] = input.PrefixListId; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.TransitGatewayRouteTableId !== undefined) { + entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } return entries; }; @@ -30480,6 +31167,9 @@ const serializeAws_ec2CreateTransitGatewayRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -30487,9 +31177,6 @@ const serializeAws_ec2CreateTransitGatewayRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.Options !== undefined) { const memberEntries = serializeAws_ec2TransitGatewayRequestOptions(input.Options, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -30497,8 +31184,8 @@ const serializeAws_ec2CreateTransitGatewayRequest = ( entries[loc] = value; }); } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -30508,20 +31195,20 @@ const serializeAws_ec2CreateTransitGatewayRouteRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayRouteTableId !== undefined) { - entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; - } if (input.TransitGatewayAttachmentId !== undefined) { entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; } - if (input.Blackhole !== undefined) { - entries["Blackhole"] = input.Blackhole; + if (input.DestinationCidrBlock !== undefined) { + entries["DestinationCidrBlock"] = input.DestinationCidrBlock; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.DestinationCidrBlock !== undefined) { - entries["DestinationCidrBlock"] = input.DestinationCidrBlock; + if (input.Blackhole !== undefined) { + entries["Blackhole"] = input.Blackhole; + } + if (input.TransitGatewayRouteTableId !== undefined) { + entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } return entries; }; @@ -30531,9 +31218,6 @@ const serializeAws_ec2CreateTransitGatewayRouteTableRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayId !== undefined) { - entries["TransitGatewayId"] = input.TransitGatewayId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -30544,6 +31228,9 @@ const serializeAws_ec2CreateTransitGatewayRouteTableRequest = ( entries[loc] = value; }); } + if (input.TransitGatewayId !== undefined) { + entries["TransitGatewayId"] = input.TransitGatewayId; + } return entries; }; @@ -30552,19 +31239,22 @@ const serializeAws_ec2CreateTransitGatewayVpcAttachmentRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.TransitGatewayId !== undefined) { + entries["TransitGatewayId"] = input.TransitGatewayId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; - } - if (input.SubnetIds !== undefined) { - const memberEntries = serializeAws_ec2TransitGatewaySubnetIdList(input.SubnetIds, context); + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SubnetIds.${key.substring(key.indexOf(".") + 1)}`; + const loc = `TagSpecifications.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } if (input.Options !== undefined) { const memberEntries = serializeAws_ec2CreateTransitGatewayVpcAttachmentRequestOptions(input.Options, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -30572,16 +31262,13 @@ const serializeAws_ec2CreateTransitGatewayVpcAttachmentRequest = ( entries[loc] = value; }); } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + if (input.SubnetIds !== undefined) { + const memberEntries = serializeAws_ec2TransitGatewaySubnetIdList(input.SubnetIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecifications.${key.substring(key.indexOf(".") + 1)}`; + const loc = `SubnetIds.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.TransitGatewayId !== undefined) { - entries["TransitGatewayId"] = input.TransitGatewayId; - } return entries; }; @@ -30590,23 +31277,23 @@ const serializeAws_ec2CreateTransitGatewayVpcAttachmentRequestOptions = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Ipv6Support !== undefined) { - entries["Ipv6Support"] = input.Ipv6Support; - } if (input.DnsSupport !== undefined) { entries["DnsSupport"] = input.DnsSupport; } + if (input.Ipv6Support !== undefined) { + entries["Ipv6Support"] = input.Ipv6Support; + } return entries; }; const serializeAws_ec2CreateVolumePermission = (input: CreateVolumePermission, context: __SerdeContext): any => { const entries: any = {}; - if (input.UserId !== undefined) { - entries["UserId"] = input.UserId; - } if (input.Group !== undefined) { entries["Group"] = input.Group; } + if (input.UserId !== undefined) { + entries["UserId"] = input.UserId; + } return entries; }; @@ -30628,17 +31315,17 @@ const serializeAws_ec2CreateVolumePermissionModifications = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Remove !== undefined) { - const memberEntries = serializeAws_ec2CreateVolumePermissionList(input.Remove, context); + if (input.Add !== undefined) { + const memberEntries = serializeAws_ec2CreateVolumePermissionList(input.Add, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Remove.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Add.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.Add !== undefined) { - const memberEntries = serializeAws_ec2CreateVolumePermissionList(input.Add, context); + if (input.Remove !== undefined) { + const memberEntries = serializeAws_ec2CreateVolumePermissionList(input.Remove, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Add.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Remove.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -30647,12 +31334,24 @@ const serializeAws_ec2CreateVolumePermissionModifications = ( const serializeAws_ec2CreateVolumeRequest = (input: CreateVolumeRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; + if (input.OutpostArn !== undefined) { + entries["OutpostArn"] = input.OutpostArn; + } + if (input.Iops !== undefined) { + entries["Iops"] = input.Iops; } if (input.VolumeType !== undefined) { entries["VolumeType"] = input.VolumeType; } + if (input.SnapshotId !== undefined) { + entries["SnapshotId"] = input.SnapshotId; + } + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; + } + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; + } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -30660,14 +31359,11 @@ const serializeAws_ec2CreateVolumeRequest = (input: CreateVolumeRequest, context entries[loc] = value; }); } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; - } - if (input.Iops !== undefined) { - entries["Iops"] = input.Iops; + if (input.Size !== undefined) { + entries["Size"] = input.Size; } - if (input.OutpostArn !== undefined) { - entries["OutpostArn"] = input.OutpostArn; + if (input.MultiAttachEnabled !== undefined) { + entries["MultiAttachEnabled"] = input.MultiAttachEnabled; } if (input.Encrypted !== undefined) { entries["Encrypted"] = input.Encrypted; @@ -30675,15 +31371,6 @@ const serializeAws_ec2CreateVolumeRequest = (input: CreateVolumeRequest, context if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.MultiAttachEnabled !== undefined) { - entries["MultiAttachEnabled"] = input.MultiAttachEnabled; - } - if (input.SnapshotId !== undefined) { - entries["SnapshotId"] = input.SnapshotId; - } - if (input.Size !== undefined) { - entries["Size"] = input.Size; - } return entries; }; @@ -30692,15 +31379,21 @@ const serializeAws_ec2CreateVpcEndpointConnectionNotificationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpcEndpointId !== undefined) { - entries["VpcEndpointId"] = input.VpcEndpointId; - } if (input.ConnectionNotificationArn !== undefined) { entries["ConnectionNotificationArn"] = input.ConnectionNotificationArn; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.ServiceId !== undefined) { entries["ServiceId"] = input.ServiceId; } + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; + } + if (input.VpcEndpointId !== undefined) { + entries["VpcEndpointId"] = input.VpcEndpointId; + } if (input.ConnectionEvents !== undefined) { const memberEntries = serializeAws_ec2ValueStringList(input.ConnectionEvents, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -30708,12 +31401,6 @@ const serializeAws_ec2CreateVpcEndpointConnectionNotificationRequest = ( entries[loc] = value; }); } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -30733,24 +31420,23 @@ const serializeAws_ec2CreateVpcEndpointRequest = (input: CreateVpcEndpointReques entries[loc] = value; }); } - if (input.ServiceName !== undefined) { - entries["ServiceName"] = input.ServiceName; - } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.VpcEndpointType !== undefined) { + entries["VpcEndpointType"] = input.VpcEndpointType; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.PolicyDocument !== undefined) { + entries["PolicyDocument"] = input.PolicyDocument; } - if (input.VpcEndpointType !== undefined) { - entries["VpcEndpointType"] = input.VpcEndpointType; + if (input.ServiceName !== undefined) { + entries["ServiceName"] = input.ServiceName; + } + if (input.PrivateDnsEnabled !== undefined) { + entries["PrivateDnsEnabled"] = input.PrivateDnsEnabled; + } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; } if (input.RouteTableIds !== undefined) { const memberEntries = serializeAws_ec2VpcEndpointRouteTableIdList(input.RouteTableIds, context); @@ -30759,14 +31445,15 @@ const serializeAws_ec2CreateVpcEndpointRequest = (input: CreateVpcEndpointReques entries[loc] = value; }); } - if (input.PolicyDocument !== undefined) { - entries["PolicyDocument"] = input.PolicyDocument; - } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } - if (input.PrivateDnsEnabled !== undefined) { - entries["PrivateDnsEnabled"] = input.PrivateDnsEnabled; + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -30776,31 +31463,31 @@ const serializeAws_ec2CreateVpcEndpointServiceConfigurationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NetworkLoadBalancerArns !== undefined) { - const memberEntries = serializeAws_ec2ValueStringList(input.NetworkLoadBalancerArns, context); + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.AcceptanceRequired !== undefined) { + entries["AcceptanceRequired"] = input.AcceptanceRequired; + } + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NetworkLoadBalancerArn.${key.substring(key.indexOf(".") + 1)}`; + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.PrivateDnsName !== undefined) { entries["PrivateDnsName"] = input.PrivateDnsName; } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + if (input.NetworkLoadBalancerArns !== undefined) { + const memberEntries = serializeAws_ec2ValueStringList(input.NetworkLoadBalancerArns, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + const loc = `NetworkLoadBalancerArn.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.AcceptanceRequired !== undefined) { - entries["AcceptanceRequired"] = input.AcceptanceRequired; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } return entries; }; @@ -30816,9 +31503,15 @@ const serializeAws_ec2CreateVpcPeeringConnectionRequest = ( if (input.PeerRegion !== undefined) { entries["PeerRegion"] = input.PeerRegion; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.PeerOwnerId !== undefined) { entries["PeerOwnerId"] = input.PeerOwnerId; } + if (input.PeerVpcId !== undefined) { + entries["PeerVpcId"] = input.PeerVpcId; + } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -30826,45 +31519,39 @@ const serializeAws_ec2CreateVpcPeeringConnectionRequest = ( entries[loc] = value; }); } - if (input.PeerVpcId !== undefined) { - entries["PeerVpcId"] = input.PeerVpcId; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; const serializeAws_ec2CreateVpcRequest = (input: CreateVpcRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.InstanceTenancy !== undefined) { + entries["InstanceTenancy"] = input.InstanceTenancy; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.CidrBlock !== undefined) { - entries["CidrBlock"] = input.CidrBlock; - } - if (input.InstanceTenancy !== undefined) { - entries["InstanceTenancy"] = input.InstanceTenancy; - } - if (input.Ipv6CidrBlockNetworkBorderGroup !== undefined) { - entries["Ipv6CidrBlockNetworkBorderGroup"] = input.Ipv6CidrBlockNetworkBorderGroup; + if (input.AmazonProvidedIpv6CidrBlock !== undefined) { + entries["AmazonProvidedIpv6CidrBlock"] = input.AmazonProvidedIpv6CidrBlock; } if (input.Ipv6CidrBlock !== undefined) { entries["Ipv6CidrBlock"] = input.Ipv6CidrBlock; } - if (input.AmazonProvidedIpv6CidrBlock !== undefined) { - entries["AmazonProvidedIpv6CidrBlock"] = input.AmazonProvidedIpv6CidrBlock; + if (input.Ipv6CidrBlockNetworkBorderGroup !== undefined) { + entries["Ipv6CidrBlockNetworkBorderGroup"] = input.Ipv6CidrBlockNetworkBorderGroup; } if (input.Ipv6Pool !== undefined) { entries["Ipv6Pool"] = input.Ipv6Pool; } + if (input.CidrBlock !== undefined) { + entries["CidrBlock"] = input.CidrBlock; + } + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } return entries; }; @@ -30873,18 +31560,14 @@ const serializeAws_ec2CreateVpnConnectionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Type !== undefined) { - entries["Type"] = input.Type; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Options !== undefined) { - const memberEntries = serializeAws_ec2VpnConnectionOptionsSpecification(input.Options, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Options.${key}`; - entries[loc] = value; - }); + if (input.VpnGatewayId !== undefined) { + entries["VpnGatewayId"] = input.VpnGatewayId; + } + if (input.TransitGatewayId !== undefined) { + entries["TransitGatewayId"] = input.TransitGatewayId; } if (input.CustomerGatewayId !== undefined) { entries["CustomerGatewayId"] = input.CustomerGatewayId; @@ -30896,11 +31579,15 @@ const serializeAws_ec2CreateVpnConnectionRequest = ( entries[loc] = value; }); } - if (input.VpnGatewayId !== undefined) { - entries["VpnGatewayId"] = input.VpnGatewayId; + if (input.Type !== undefined) { + entries["Type"] = input.Type; } - if (input.TransitGatewayId !== undefined) { - entries["TransitGatewayId"] = input.TransitGatewayId; + if (input.Options !== undefined) { + const memberEntries = serializeAws_ec2VpnConnectionOptionsSpecification(input.Options, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Options.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -30910,17 +31597,26 @@ const serializeAws_ec2CreateVpnConnectionRouteRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpnConnectionId !== undefined) { - entries["VpnConnectionId"] = input.VpnConnectionId; - } if (input.DestinationCidrBlock !== undefined) { entries["DestinationCidrBlock"] = input.DestinationCidrBlock; } + if (input.VpnConnectionId !== undefined) { + entries["VpnConnectionId"] = input.VpnConnectionId; + } return entries; }; const serializeAws_ec2CreateVpnGatewayRequest = (input: CreateVpnGatewayRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.Type !== undefined) { + entries["Type"] = input.Type; + } + if (input.AmazonSideAsn !== undefined) { + entries["AmazonSideAsn"] = input.AmazonSideAsn; + } if (input.AvailabilityZone !== undefined) { entries["AvailabilityZone"] = input.AvailabilityZone; } @@ -30931,15 +31627,6 @@ const serializeAws_ec2CreateVpnGatewayRequest = (input: CreateVpnGatewayRequest, entries[loc] = value; }); } - if (input.AmazonSideAsn !== undefined) { - entries["AmazonSideAsn"] = input.AmazonSideAsn; - } - if (input.Type !== undefined) { - entries["Type"] = input.Type; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -30964,13 +31651,13 @@ const serializeAws_ec2CustomerGatewayIdStringList = (input: string[], context: _ return entries; }; -const serializeAws_ec2DeleteClientVpnEndpointRequest = ( - input: DeleteClientVpnEndpointRequest, +const serializeAws_ec2DeleteCarrierGatewayRequest = ( + input: DeleteCarrierGatewayRequest, context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + if (input.CarrierGatewayId !== undefined) { + entries["CarrierGatewayId"] = input.CarrierGatewayId; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; @@ -30978,28 +31665,42 @@ const serializeAws_ec2DeleteClientVpnEndpointRequest = ( return entries; }; -const serializeAws_ec2DeleteClientVpnRouteRequest = ( - input: DeleteClientVpnRouteRequest, +const serializeAws_ec2DeleteClientVpnEndpointRequest = ( + input: DeleteClientVpnEndpointRequest, context: __SerdeContext ): any => { const entries: any = {}; if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.DestinationCidrBlock !== undefined) { - entries["DestinationCidrBlock"] = input.DestinationCidrBlock; - } - if (input.TargetVpcSubnetId !== undefined) { - entries["TargetVpcSubnetId"] = input.TargetVpcSubnetId; - } if (input.ClientVpnEndpointId !== undefined) { entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } return entries; }; -const serializeAws_ec2DeleteCustomerGatewayRequest = ( - input: DeleteCustomerGatewayRequest, +const serializeAws_ec2DeleteClientVpnRouteRequest = ( + input: DeleteClientVpnRouteRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + } + if (input.TargetVpcSubnetId !== undefined) { + entries["TargetVpcSubnetId"] = input.TargetVpcSubnetId; + } + if (input.DestinationCidrBlock !== undefined) { + entries["DestinationCidrBlock"] = input.DestinationCidrBlock; + } + return entries; +}; + +const serializeAws_ec2DeleteCustomerGatewayRequest = ( + input: DeleteCustomerGatewayRequest, context: __SerdeContext ): any => { const entries: any = {}; @@ -31028,17 +31729,20 @@ const serializeAws_ec2DeleteEgressOnlyInternetGatewayRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EgressOnlyInternetGatewayId !== undefined) { - entries["EgressOnlyInternetGatewayId"] = input.EgressOnlyInternetGatewayId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.EgressOnlyInternetGatewayId !== undefined) { + entries["EgressOnlyInternetGatewayId"] = input.EgressOnlyInternetGatewayId; + } return entries; }; const serializeAws_ec2DeleteFleetsRequest = (input: DeleteFleetsRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.TerminateInstances !== undefined) { + entries["TerminateInstances"] = input.TerminateInstances; + } if (input.FleetIds !== undefined) { const memberEntries = serializeAws_ec2FleetIdSet(input.FleetIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -31046,9 +31750,6 @@ const serializeAws_ec2DeleteFleetsRequest = (input: DeleteFleetsRequest, context entries[loc] = value; }); } - if (input.TerminateInstances !== undefined) { - entries["TerminateInstances"] = input.TerminateInstances; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -31072,12 +31773,12 @@ const serializeAws_ec2DeleteFlowLogsRequest = (input: DeleteFlowLogsRequest, con const serializeAws_ec2DeleteFpgaImageRequest = (input: DeleteFpgaImageRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.FpgaImageId !== undefined) { - entries["FpgaImageId"] = input.FpgaImageId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.FpgaImageId !== undefined) { + entries["FpgaImageId"] = input.FpgaImageId; + } return entries; }; @@ -31117,12 +31818,12 @@ const serializeAws_ec2DeleteLaunchTemplateRequest = ( if (input.LaunchTemplateName !== undefined) { entries["LaunchTemplateName"] = input.LaunchTemplateName; } - if (input.LaunchTemplateId !== undefined) { - entries["LaunchTemplateId"] = input.LaunchTemplateId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.LaunchTemplateId !== undefined) { + entries["LaunchTemplateId"] = input.LaunchTemplateId; + } return entries; }; @@ -31131,12 +31832,12 @@ const serializeAws_ec2DeleteLaunchTemplateVersionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LaunchTemplateId !== undefined) { - entries["LaunchTemplateId"] = input.LaunchTemplateId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.LaunchTemplateId !== undefined) { + entries["LaunchTemplateId"] = input.LaunchTemplateId; + } if (input.LaunchTemplateName !== undefined) { entries["LaunchTemplateName"] = input.LaunchTemplateName; } @@ -31186,23 +31887,23 @@ const serializeAws_ec2DeleteManagedPrefixListRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PrefixListId !== undefined) { - entries["PrefixListId"] = input.PrefixListId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.PrefixListId !== undefined) { + entries["PrefixListId"] = input.PrefixListId; + } return entries; }; const serializeAws_ec2DeleteNatGatewayRequest = (input: DeleteNatGatewayRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.NatGatewayId !== undefined) { entries["NatGatewayId"] = input.NatGatewayId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -31211,12 +31912,12 @@ const serializeAws_ec2DeleteNetworkAclEntryRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NetworkAclId !== undefined) { - entries["NetworkAclId"] = input.NetworkAclId; - } if (input.Egress !== undefined) { entries["Egress"] = input.Egress; } + if (input.NetworkAclId !== undefined) { + entries["NetworkAclId"] = input.NetworkAclId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -31242,14 +31943,14 @@ const serializeAws_ec2DeleteNetworkInterfacePermissionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NetworkInterfacePermissionId !== undefined) { - entries["NetworkInterfacePermissionId"] = input.NetworkInterfacePermissionId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.Force !== undefined) { entries["Force"] = input.Force; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.NetworkInterfacePermissionId !== undefined) { + entries["NetworkInterfacePermissionId"] = input.NetworkInterfacePermissionId; } return entries; }; @@ -31259,12 +31960,12 @@ const serializeAws_ec2DeleteNetworkInterfaceRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.NetworkInterfaceId !== undefined) { entries["NetworkInterfaceId"] = input.NetworkInterfaceId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -31273,12 +31974,12 @@ const serializeAws_ec2DeletePlacementGroupRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; + } return entries; }; @@ -31312,32 +32013,32 @@ const serializeAws_ec2DeleteQueuedReservedInstancesRequest = ( const serializeAws_ec2DeleteRouteRequest = (input: DeleteRouteRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DestinationIpv6CidrBlock !== undefined) { - entries["DestinationIpv6CidrBlock"] = input.DestinationIpv6CidrBlock; + if (input.DestinationCidrBlock !== undefined) { + entries["DestinationCidrBlock"] = input.DestinationCidrBlock; + } + if (input.DestinationPrefixListId !== undefined) { + entries["DestinationPrefixListId"] = input.DestinationPrefixListId; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.DestinationCidrBlock !== undefined) { - entries["DestinationCidrBlock"] = input.DestinationCidrBlock; - } if (input.RouteTableId !== undefined) { entries["RouteTableId"] = input.RouteTableId; } - if (input.DestinationPrefixListId !== undefined) { - entries["DestinationPrefixListId"] = input.DestinationPrefixListId; + if (input.DestinationIpv6CidrBlock !== undefined) { + entries["DestinationIpv6CidrBlock"] = input.DestinationIpv6CidrBlock; } return entries; }; const serializeAws_ec2DeleteRouteTableRequest = (input: DeleteRouteTableRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.RouteTableId !== undefined) { - entries["RouteTableId"] = input.RouteTableId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.RouteTableId !== undefined) { + entries["RouteTableId"] = input.RouteTableId; + } return entries; }; @@ -31346,12 +32047,12 @@ const serializeAws_ec2DeleteSecurityGroupRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; + } if (input.GroupId !== undefined) { entries["GroupId"] = input.GroupId; } @@ -31360,12 +32061,12 @@ const serializeAws_ec2DeleteSecurityGroupRequest = ( const serializeAws_ec2DeleteSnapshotRequest = (input: DeleteSnapshotRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.SnapshotId !== undefined) { entries["SnapshotId"] = input.SnapshotId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -31432,12 +32133,12 @@ const serializeAws_ec2DeleteTrafficMirrorFilterRuleRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TrafficMirrorFilterRuleId !== undefined) { - entries["TrafficMirrorFilterRuleId"] = input.TrafficMirrorFilterRuleId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.TrafficMirrorFilterRuleId !== undefined) { + entries["TrafficMirrorFilterRuleId"] = input.TrafficMirrorFilterRuleId; + } return entries; }; @@ -31446,12 +32147,12 @@ const serializeAws_ec2DeleteTrafficMirrorSessionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.TrafficMirrorSessionId !== undefined) { entries["TrafficMirrorSessionId"] = input.TrafficMirrorSessionId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -31460,12 +32161,12 @@ const serializeAws_ec2DeleteTrafficMirrorTargetRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TrafficMirrorTargetId !== undefined) { - entries["TrafficMirrorTargetId"] = input.TrafficMirrorTargetId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.TrafficMirrorTargetId !== undefined) { + entries["TrafficMirrorTargetId"] = input.TrafficMirrorTargetId; + } return entries; }; @@ -31497,6 +32198,23 @@ const serializeAws_ec2DeleteTransitGatewayPeeringAttachmentRequest = ( return entries; }; +const serializeAws_ec2DeleteTransitGatewayPrefixListReferenceRequest = ( + input: DeleteTransitGatewayPrefixListReferenceRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.PrefixListId !== undefined) { + entries["PrefixListId"] = input.PrefixListId; + } + if (input.TransitGatewayRouteTableId !== undefined) { + entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + return entries; +}; + const serializeAws_ec2DeleteTransitGatewayRequest = ( input: DeleteTransitGatewayRequest, context: __SerdeContext @@ -31516,15 +32234,15 @@ const serializeAws_ec2DeleteTransitGatewayRouteRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.TransitGatewayRouteTableId !== undefined) { + entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; + } if (input.DestinationCidrBlock !== undefined) { entries["DestinationCidrBlock"] = input.DestinationCidrBlock; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.TransitGatewayRouteTableId !== undefined) { - entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; - } return entries; }; @@ -31533,12 +32251,12 @@ const serializeAws_ec2DeleteTransitGatewayRouteTableRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.TransitGatewayRouteTableId !== undefined) { entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -31547,23 +32265,23 @@ const serializeAws_ec2DeleteTransitGatewayVpcAttachmentRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayAttachmentId !== undefined) { - entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.TransitGatewayAttachmentId !== undefined) { + entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + } return entries; }; const serializeAws_ec2DeleteVolumeRequest = (input: DeleteVolumeRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.VolumeId !== undefined) { - entries["VolumeId"] = input.VolumeId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.VolumeId !== undefined) { + entries["VolumeId"] = input.VolumeId; + } return entries; }; @@ -31648,12 +32366,12 @@ const serializeAws_ec2DeleteVpnConnectionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpnConnectionId !== undefined) { - entries["VpnConnectionId"] = input.VpnConnectionId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.VpnConnectionId !== undefined) { + entries["VpnConnectionId"] = input.VpnConnectionId; + } return entries; }; @@ -31662,12 +32380,12 @@ const serializeAws_ec2DeleteVpnConnectionRouteRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpnConnectionId !== undefined) { - entries["VpnConnectionId"] = input.VpnConnectionId; - } if (input.DestinationCidrBlock !== undefined) { entries["DestinationCidrBlock"] = input.DestinationCidrBlock; } + if (input.VpnConnectionId !== undefined) { + entries["VpnConnectionId"] = input.VpnConnectionId; + } return entries; }; @@ -31687,23 +32405,23 @@ const serializeAws_ec2DeprovisionByoipCidrRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Cidr !== undefined) { - entries["Cidr"] = input.Cidr; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.Cidr !== undefined) { + entries["Cidr"] = input.Cidr; + } return entries; }; const serializeAws_ec2DeregisterImageRequest = (input: DeregisterImageRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.ImageId !== undefined) { - entries["ImageId"] = input.ImageId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.ImageId !== undefined) { + entries["ImageId"] = input.ImageId; + } return entries; }; @@ -31712,6 +32430,9 @@ const serializeAws_ec2DeregisterInstanceEventNotificationAttributesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.InstanceTagAttribute !== undefined) { const memberEntries = serializeAws_ec2DeregisterInstanceTagAttributeRequest(input.InstanceTagAttribute, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -31719,9 +32440,6 @@ const serializeAws_ec2DeregisterInstanceEventNotificationAttributesRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -31748,12 +32466,12 @@ const serializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.GroupIpAddress !== undefined) { entries["GroupIpAddress"] = input.GroupIpAddress; } + if (input.TransitGatewayMulticastDomainId !== undefined) { + entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; + } if (input.NetworkInterfaceIds !== undefined) { const memberEntries = serializeAws_ec2TransitGatewayNetworkInterfaceIdList(input.NetworkInterfaceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -31761,8 +32479,8 @@ const serializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersRequest = ( entries[loc] = value; }); } - if (input.TransitGatewayMulticastDomainId !== undefined) { - entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -31779,15 +32497,15 @@ const serializeAws_ec2DeregisterTransitGatewayMulticastGroupSourcesRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.GroupIpAddress !== undefined) { entries["GroupIpAddress"] = input.GroupIpAddress; } if (input.TransitGatewayMulticastDomainId !== undefined) { entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -31796,6 +32514,9 @@ const serializeAws_ec2DescribeAccountAttributesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.AttributeNames !== undefined) { const memberEntries = serializeAws_ec2AccountAttributeNameStringList(input.AttributeNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -31803,14 +32524,14 @@ const serializeAws_ec2DescribeAccountAttributesRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; const serializeAws_ec2DescribeAddressesRequest = (input: DescribeAddressesRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -31818,9 +32539,6 @@ const serializeAws_ec2DescribeAddressesRequest = (input: DescribeAddressesReques entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.PublicIps !== undefined) { const memberEntries = serializeAws_ec2PublicIpStringList(input.PublicIps, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -31854,8 +32572,15 @@ const serializeAws_ec2DescribeAvailabilityZonesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AllAvailabilityZones !== undefined) { - entries["AllAvailabilityZones"] = input.AllAvailabilityZones; + if (input.ZoneIds !== undefined) { + const memberEntries = serializeAws_ec2ZoneIdStringList(input.ZoneIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ZoneId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.ZoneNames !== undefined) { const memberEntries = serializeAws_ec2ZoneNameStringList(input.ZoneNames, context); @@ -31871,15 +32596,8 @@ const serializeAws_ec2DescribeAvailabilityZonesRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.ZoneIds !== undefined) { - const memberEntries = serializeAws_ec2ZoneIdStringList(input.ZoneIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ZoneId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.AllAvailabilityZones !== undefined) { + entries["AllAvailabilityZones"] = input.AllAvailabilityZones; } return entries; }; @@ -31889,20 +32607,20 @@ const serializeAws_ec2DescribeBundleTasksRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.BundleIds !== undefined) { - const memberEntries = serializeAws_ec2BundleIdStringList(input.BundleIds, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BundleId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.BundleIds !== undefined) { + const memberEntries = serializeAws_ec2BundleIdStringList(input.BundleIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `BundleId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -31928,15 +32646,37 @@ const serializeAws_ec2DescribeCapacityReservationsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.CapacityReservationIds !== undefined) { + const memberEntries = serializeAws_ec2CapacityReservationIdSet(input.CapacityReservationIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CapacityReservationId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } + return entries; +}; + +const serializeAws_ec2DescribeCarrierGatewaysRequest = ( + input: DescribeCarrierGatewaysRequest, + context: __SerdeContext +): any => { + const entries: any = {}; if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -31944,10 +32684,19 @@ const serializeAws_ec2DescribeCapacityReservationsRequest = ( entries[loc] = value; }); } - if (input.CapacityReservationIds !== undefined) { - const memberEntries = serializeAws_ec2CapacityReservationIdSet(input.CapacityReservationIds, context); + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.CarrierGatewayIds !== undefined) { + const memberEntries = serializeAws_ec2CarrierGatewayIdSet(input.CarrierGatewayIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CapacityReservationId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `CarrierGatewayId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -31959,6 +32708,13 @@ const serializeAws_ec2DescribeClassicLinkInstancesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.InstanceIds !== undefined) { const memberEntries = serializeAws_ec2InstanceIdStringList(input.InstanceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -31966,21 +32722,14 @@ const serializeAws_ec2DescribeClassicLinkInstancesRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -31990,6 +32739,9 @@ const serializeAws_ec2DescribeClientVpnAuthorizationRulesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -31997,17 +32749,14 @@ const serializeAws_ec2DescribeClientVpnAuthorizationRulesRequest = ( entries[loc] = value; }); } - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } return entries; }; @@ -32020,15 +32769,6 @@ const serializeAws_ec2DescribeClientVpnConnectionsRequest = ( if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32036,6 +32776,15 @@ const serializeAws_ec2DescribeClientVpnConnectionsRequest = ( entries[loc] = value; }); } + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -32044,11 +32793,18 @@ const serializeAws_ec2DescribeClientVpnEndpointsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ClientVpnEndpointIds !== undefined) { + const memberEntries = serializeAws_ec2ClientVpnEndpointIdList(input.ClientVpnEndpointIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ClientVpnEndpointId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); @@ -32057,15 +32813,8 @@ const serializeAws_ec2DescribeClientVpnEndpointsRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.ClientVpnEndpointIds !== undefined) { - const memberEntries = serializeAws_ec2ClientVpnEndpointIdList(input.ClientVpnEndpointIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ClientVpnEndpointId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } return entries; }; @@ -32078,11 +32827,8 @@ const serializeAws_ec2DescribeClientVpnRoutesRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); @@ -32091,8 +32837,11 @@ const serializeAws_ec2DescribeClientVpnRoutesRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } return entries; }; @@ -32109,36 +32858,32 @@ const serializeAws_ec2DescribeClientVpnTargetNetworksRequest = ( entries[loc] = value; }); } - if (input.AssociationIds !== undefined) { - const memberEntries = serializeAws_ec2ValueStringList(input.AssociationIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AssociationIds.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.AssociationIds !== undefined) { + const memberEntries = serializeAws_ec2ValueStringList(input.AssociationIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AssociationIds.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; const serializeAws_ec2DescribeCoipPoolsRequest = (input: DescribeCoipPoolsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } if (input.PoolIds !== undefined) { const memberEntries = serializeAws_ec2CoipPoolIdSet(input.PoolIds, context); @@ -32147,15 +32892,19 @@ const serializeAws_ec2DescribeCoipPoolsRequest = (input: DescribeCoipPoolsReques entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -32164,9 +32913,6 @@ const serializeAws_ec2DescribeConversionTasksRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.ConversionTaskIds !== undefined) { const memberEntries = serializeAws_ec2ConversionIdStringList(input.ConversionTaskIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32174,6 +32920,9 @@ const serializeAws_ec2DescribeConversionTasksRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -32185,17 +32934,17 @@ const serializeAws_ec2DescribeCustomerGatewaysRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.CustomerGatewayIds !== undefined) { - const memberEntries = serializeAws_ec2CustomerGatewayIdStringList(input.CustomerGatewayIds, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CustomerGatewayId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.CustomerGatewayIds !== undefined) { + const memberEntries = serializeAws_ec2CustomerGatewayIdStringList(input.CustomerGatewayIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `CustomerGatewayId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -32207,9 +32956,6 @@ const serializeAws_ec2DescribeDhcpOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.DhcpOptionsIds !== undefined) { const memberEntries = serializeAws_ec2DhcpOptionsIdStringList(input.DhcpOptionsIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32217,6 +32963,12 @@ const serializeAws_ec2DescribeDhcpOptionsRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32224,9 +32976,6 @@ const serializeAws_ec2DescribeDhcpOptionsRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } @@ -32238,26 +32987,26 @@ const serializeAws_ec2DescribeEgressOnlyInternetGatewaysRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.EgressOnlyInternetGatewayIds !== undefined) { + const memberEntries = serializeAws_ec2EgressOnlyInternetGatewayIdList(input.EgressOnlyInternetGatewayIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `EgressOnlyInternetGatewayId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.EgressOnlyInternetGatewayIds !== undefined) { - const memberEntries = serializeAws_ec2EgressOnlyInternetGatewayIdList(input.EgressOnlyInternetGatewayIds, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EgressOnlyInternetGatewayId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -32269,6 +33018,9 @@ const serializeAws_ec2DescribeElasticGpusRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.ElasticGpuIds !== undefined) { const memberEntries = serializeAws_ec2ElasticGpuIdSet(input.ElasticGpuIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32276,8 +33028,11 @@ const serializeAws_ec2DescribeElasticGpusRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); @@ -32286,12 +33041,6 @@ const serializeAws_ec2DescribeElasticGpusRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -32300,12 +33049,6 @@ const serializeAws_ec2DescribeExportImageTasksRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.ExportImageTaskIds !== undefined) { const memberEntries = serializeAws_ec2ExportImageTaskIdList(input.ExportImageTaskIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32313,9 +33056,6 @@ const serializeAws_ec2DescribeExportImageTasksRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32323,6 +33063,15 @@ const serializeAws_ec2DescribeExportImageTasksRequest = ( entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -32353,13 +33102,6 @@ const serializeAws_ec2DescribeFastSnapshotRestoresRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -32369,6 +33111,13 @@ const serializeAws_ec2DescribeFastSnapshotRestoresRequest = ( if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } return entries; }; @@ -32377,24 +33126,24 @@ const serializeAws_ec2DescribeFleetHistoryRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.FleetId !== undefined) { - entries["FleetId"] = input.FleetId; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.FleetId !== undefined) { + entries["FleetId"] = input.FleetId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.StartTime !== undefined) { entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } if (input.EventType !== undefined) { entries["EventType"] = input.EventType; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -32403,6 +33152,12 @@ const serializeAws_ec2DescribeFleetInstancesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32413,20 +33168,17 @@ const serializeAws_ec2DescribeFleetInstancesRequest = ( if (input.FleetId !== undefined) { entries["FleetId"] = input.FleetId; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; const serializeAws_ec2DescribeFleetsRequest = (input: DescribeFleetsRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32437,8 +33189,8 @@ const serializeAws_ec2DescribeFleetsRequest = (input: DescribeFleetsRequest, con if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.FleetIds !== undefined) { const memberEntries = serializeAws_ec2FleetIdSet(input.FleetIds, context); @@ -32447,16 +33199,20 @@ const serializeAws_ec2DescribeFleetsRequest = (input: DescribeFleetsRequest, con entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; const serializeAws_ec2DescribeFlowLogsRequest = (input: DescribeFlowLogsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.Filter !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filter, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.FlowLogIds !== undefined) { const memberEntries = serializeAws_ec2FlowLogIdList(input.FlowLogIds, context); @@ -32465,18 +33221,11 @@ const serializeAws_ec2DescribeFlowLogsRequest = (input: DescribeFlowLogsRequest, entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Filter !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filter, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } return entries; }; @@ -32500,6 +33249,13 @@ const serializeAws_ec2DescribeFpgaImageAttributeRequest = ( const serializeAws_ec2DescribeFpgaImagesRequest = (input: DescribeFpgaImagesRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.Owners !== undefined) { const memberEntries = serializeAws_ec2OwnerStringList(input.Owners, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32507,10 +33263,10 @@ const serializeAws_ec2DescribeFpgaImagesRequest = (input: DescribeFpgaImagesRequ entries[loc] = value; }); } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.FpgaImageIds !== undefined) { + const memberEntries = serializeAws_ec2FpgaImageIdList(input.FpgaImageIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `FpgaImageId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -32520,13 +33276,6 @@ const serializeAws_ec2DescribeFpgaImagesRequest = (input: DescribeFpgaImagesRequ if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.FpgaImageIds !== undefined) { - const memberEntries = serializeAws_ec2FpgaImageIdList(input.FpgaImageIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `FpgaImageId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -32541,12 +33290,6 @@ const serializeAws_ec2DescribeHostReservationOfferingsRequest = ( if (input.MaxDuration !== undefined) { entries["MaxDuration"] = input.MaxDuration; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.OfferingId !== undefined) { - entries["OfferingId"] = input.OfferingId; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } @@ -32560,6 +33303,12 @@ const serializeAws_ec2DescribeHostReservationOfferingsRequest = ( if (input.MinDuration !== undefined) { entries["MinDuration"] = input.MinDuration; } + if (input.OfferingId !== undefined) { + entries["OfferingId"] = input.OfferingId; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -32568,13 +33317,6 @@ const serializeAws_ec2DescribeHostReservationsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Filter !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filter, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.HostReservationIdSet !== undefined) { const memberEntries = serializeAws_ec2HostReservationIdSet(input.HostReservationIdSet, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32582,19 +33324,11 @@ const serializeAws_ec2DescribeHostReservationsRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - return entries; -}; - -const serializeAws_ec2DescribeHostsRequest = (input: DescribeHostsRequest, context: __SerdeContext): any => { - const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } if (input.Filter !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filter, context); @@ -32603,6 +33337,11 @@ const serializeAws_ec2DescribeHostsRequest = (input: DescribeHostsRequest, conte entries[loc] = value; }); } + return entries; +}; + +const serializeAws_ec2DescribeHostsRequest = (input: DescribeHostsRequest, context: __SerdeContext): any => { + const entries: any = {}; if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } @@ -32613,6 +33352,16 @@ const serializeAws_ec2DescribeHostsRequest = (input: DescribeHostsRequest, conte entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.Filter !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filter, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } return entries; }; @@ -32628,12 +33377,6 @@ const serializeAws_ec2DescribeIamInstanceProfileAssociationsRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32641,6 +33384,12 @@ const serializeAws_ec2DescribeIamInstanceProfileAssociationsRequest = ( entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } return entries; }; @@ -32649,12 +33398,12 @@ const serializeAws_ec2DescribeIdentityIdFormatRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Resource !== undefined) { - entries["Resource"] = input.Resource; - } if (input.PrincipalArn !== undefined) { entries["PrincipalArn"] = input.PrincipalArn; } + if (input.Resource !== undefined) { + entries["Resource"] = input.Resource; + } return entries; }; @@ -32671,12 +33420,12 @@ const serializeAws_ec2DescribeImageAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.ImageId !== undefined) { entries["ImageId"] = input.ImageId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Attribute !== undefined) { entries["Attribute"] = input.Attribute; } @@ -32685,10 +33434,10 @@ const serializeAws_ec2DescribeImageAttributeRequest = ( const serializeAws_ec2DescribeImagesRequest = (input: DescribeImagesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Owners !== undefined) { - const memberEntries = serializeAws_ec2OwnerStringList(input.Owners, context); + if (input.ExecutableUsers !== undefined) { + const memberEntries = serializeAws_ec2ExecutableByStringList(input.ExecutableUsers, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Owner.${key.substring(key.indexOf(".") + 1)}`; + const loc = `ExecutableBy.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -32709,10 +33458,10 @@ const serializeAws_ec2DescribeImagesRequest = (input: DescribeImagesRequest, con entries[loc] = value; }); } - if (input.ExecutableUsers !== undefined) { - const memberEntries = serializeAws_ec2ExecutableByStringList(input.ExecutableUsers, context); + if (input.Owners !== undefined) { + const memberEntries = serializeAws_ec2OwnerStringList(input.Owners, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ExecutableBy.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Owner.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -32727,16 +33476,6 @@ const serializeAws_ec2DescribeImportImageTasksRequest = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.ImportTaskIds !== undefined) { - const memberEntries = serializeAws_ec2ImportTaskIdList(input.ImportTaskIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ImportTaskId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -32747,6 +33486,16 @@ const serializeAws_ec2DescribeImportImageTasksRequest = ( entries[loc] = value; }); } + if (input.ImportTaskIds !== undefined) { + const memberEntries = serializeAws_ec2ImportTaskIdList(input.ImportTaskIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ImportTaskId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } return entries; }; @@ -32755,13 +33504,6 @@ const serializeAws_ec2DescribeImportSnapshotTasksRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ImportTaskIds !== undefined) { - const memberEntries = serializeAws_ec2ImportSnapshotTaskIdList(input.ImportTaskIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ImportTaskId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32769,14 +33511,21 @@ const serializeAws_ec2DescribeImportSnapshotTasksRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.ImportTaskIds !== undefined) { + const memberEntries = serializeAws_ec2ImportSnapshotTaskIdList(input.ImportTaskIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ImportTaskId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -32803,6 +33552,9 @@ const serializeAws_ec2DescribeInstanceCreditSpecificationsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32810,15 +33562,6 @@ const serializeAws_ec2DescribeInstanceCreditSpecificationsRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.InstanceIds !== undefined) { const memberEntries = serializeAws_ec2InstanceIdStringList(input.InstanceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32826,6 +33569,12 @@ const serializeAws_ec2DescribeInstanceCreditSpecificationsRequest = ( entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -32842,6 +33591,9 @@ const serializeAws_ec2DescribeInstanceEventNotificationAttributesRequest = ( const serializeAws_ec2DescribeInstancesRequest = (input: DescribeInstancesRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.InstanceIds !== undefined) { const memberEntries = serializeAws_ec2InstanceIdStringList(input.InstanceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32849,6 +33601,12 @@ const serializeAws_ec2DescribeInstancesRequest = (input: DescribeInstancesReques entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32856,15 +33614,6 @@ const serializeAws_ec2DescribeInstancesRequest = (input: DescribeInstancesReques entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } return entries; }; @@ -32880,18 +33629,9 @@ const serializeAws_ec2DescribeInstanceStatusRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.IncludeAllInstances !== undefined) { - entries["IncludeAllInstances"] = input.IncludeAllInstances; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.InstanceIds !== undefined) { const memberEntries = serializeAws_ec2InstanceIdStringList(input.InstanceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32899,17 +33639,23 @@ const serializeAws_ec2DescribeInstanceStatusRequest = ( entries[loc] = value; }); } - return entries; -}; - + if (input.IncludeAllInstances !== undefined) { + entries["IncludeAllInstances"] = input.IncludeAllInstances; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + return entries; +}; + const serializeAws_ec2DescribeInstanceTypeOfferingsRequest = ( input: DescribeInstanceTypeOfferingsRequest, context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32917,8 +33663,8 @@ const serializeAws_ec2DescribeInstanceTypeOfferingsRequest = ( entries[loc] = value; }); } - if (input.LocationType !== undefined) { - entries["LocationType"] = input.LocationType; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; @@ -32926,6 +33672,9 @@ const serializeAws_ec2DescribeInstanceTypeOfferingsRequest = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.LocationType !== undefined) { + entries["LocationType"] = input.LocationType; + } return entries; }; @@ -32934,12 +33683,22 @@ const serializeAws_ec2DescribeInstanceTypesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.InstanceTypes !== undefined) { const memberEntries = serializeAws_ec2RequestInstanceTypeList(input.InstanceTypes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -32947,16 +33706,6 @@ const serializeAws_ec2DescribeInstanceTypesRequest = ( entries[loc] = value; }); } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -32965,9 +33714,6 @@ const serializeAws_ec2DescribeInternetGatewaysRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } @@ -32988,11 +33734,21 @@ const serializeAws_ec2DescribeInternetGatewaysRequest = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; const serializeAws_ec2DescribeIpv6PoolsRequest = (input: DescribeIpv6PoolsRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.PoolIds !== undefined) { + const memberEntries = serializeAws_ec2Ipv6PoolIdList(input.PoolIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PoolId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33000,41 +33756,31 @@ const serializeAws_ec2DescribeIpv6PoolsRequest = (input: DescribeIpv6PoolsReques entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.PoolIds !== undefined) { - const memberEntries = serializeAws_ec2Ipv6PoolIdList(input.PoolIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PoolId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } return entries; }; const serializeAws_ec2DescribeKeyPairsRequest = (input: DescribeKeyPairsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.KeyPairIds !== undefined) { + const memberEntries = serializeAws_ec2KeyPairIdStringList(input.KeyPairIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `KeyPairId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.KeyPairIds !== undefined) { - const memberEntries = serializeAws_ec2KeyPairIdStringList(input.KeyPairIds, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `KeyPairId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -33045,6 +33791,9 @@ const serializeAws_ec2DescribeKeyPairsRequest = (input: DescribeKeyPairsRequest, entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -33053,8 +33802,12 @@ const serializeAws_ec2DescribeLaunchTemplatesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.LaunchTemplateNames !== undefined) { const memberEntries = serializeAws_ec2LaunchTemplateNameStringList(input.LaunchTemplateNames, context); @@ -33063,16 +33816,15 @@ const serializeAws_ec2DescribeLaunchTemplatesRequest = ( entries[loc] = value; }); } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.LaunchTemplateIds !== undefined) { const memberEntries = serializeAws_ec2LaunchTemplateIdStringList(input.LaunchTemplateIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33080,9 +33832,6 @@ const serializeAws_ec2DescribeLaunchTemplatesRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -33091,8 +33840,12 @@ const serializeAws_ec2DescribeLaunchTemplateVersionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LaunchTemplateName !== undefined) { - entries["LaunchTemplateName"] = input.LaunchTemplateName; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.MinVersion !== undefined) { entries["MinVersion"] = input.MinVersion; @@ -33100,12 +33853,14 @@ const serializeAws_ec2DescribeLaunchTemplateVersionsRequest = ( if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.LaunchTemplateId !== undefined) { + entries["LaunchTemplateId"] = input.LaunchTemplateId; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.MaxVersion !== undefined) { entries["MaxVersion"] = input.MaxVersion; @@ -33117,14 +33872,8 @@ const serializeAws_ec2DescribeLaunchTemplateVersionsRequest = ( entries[loc] = value; }); } - if (input.LaunchTemplateId !== undefined) { - entries["LaunchTemplateId"] = input.LaunchTemplateId; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.LaunchTemplateName !== undefined) { + entries["LaunchTemplateName"] = input.LaunchTemplateName; } return entries; }; @@ -33137,23 +33886,23 @@ const serializeAws_ec2DescribeLocalGatewayRouteTablesRequest = ( if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.LocalGatewayRouteTableIds !== undefined) { + const memberEntries = serializeAws_ec2LocalGatewayRouteTableIdSet(input.LocalGatewayRouteTableIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `LocalGatewayRouteTableId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.LocalGatewayRouteTableIds !== undefined) { - const memberEntries = serializeAws_ec2LocalGatewayRouteTableIdSet(input.LocalGatewayRouteTableIds, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LocalGatewayRouteTableId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -33165,6 +33914,12 @@ const serializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssocia context: __SerdeContext ): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds !== undefined) { const memberEntries = serializeAws_ec2LocalGatewayRouteTableVirtualInterfaceGroupAssociationIdSet( input.LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds, @@ -33175,15 +33930,6 @@ const serializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssocia entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33191,6 +33937,9 @@ const serializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssocia entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } return entries; }; @@ -33209,15 +33958,6 @@ const serializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33225,6 +33965,15 @@ const serializeAws_ec2DescribeLocalGatewayRouteTableVpcAssociationsRequest = ( entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -33233,29 +33982,29 @@ const serializeAws_ec2DescribeLocalGatewaysRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.LocalGatewayIds !== undefined) { + const memberEntries = serializeAws_ec2LocalGatewayIdSet(input.LocalGatewayIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `LocalGatewayId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.LocalGatewayIds !== undefined) { - const memberEntries = serializeAws_ec2LocalGatewayIdSet(input.LocalGatewayIds, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LocalGatewayId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -33264,16 +34013,12 @@ const serializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.LocalGatewayVirtualInterfaceGroupIds !== undefined) { const memberEntries = serializeAws_ec2LocalGatewayVirtualInterfaceGroupIdSet( input.LocalGatewayVirtualInterfaceGroupIds, @@ -33287,8 +34032,12 @@ const serializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsRequest = ( if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -33304,12 +34053,8 @@ const serializeAws_ec2DescribeLocalGatewayVirtualInterfacesRequest = ( if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } if (input.LocalGatewayVirtualInterfaceIds !== undefined) { const memberEntries = serializeAws_ec2LocalGatewayVirtualInterfaceIdSet( @@ -33321,8 +34066,12 @@ const serializeAws_ec2DescribeLocalGatewayVirtualInterfacesRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -33338,13 +34087,6 @@ const serializeAws_ec2DescribeManagedPrefixListsRequest = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } @@ -33355,6 +34097,13 @@ const serializeAws_ec2DescribeManagedPrefixListsRequest = ( entries[loc] = value; }); } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } return entries; }; @@ -33366,6 +34115,9 @@ const serializeAws_ec2DescribeMovingAddressesRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } @@ -33383,9 +34135,6 @@ const serializeAws_ec2DescribeMovingAddressesRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -33397,23 +34146,23 @@ const serializeAws_ec2DescribeNatGatewaysRequest = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.Filter !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filter, context); + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.NatGatewayIds !== undefined) { + const memberEntries = serializeAws_ec2NatGatewayIdStringList(input.NatGatewayIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `NatGatewayId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NatGatewayIds !== undefined) { - const memberEntries = serializeAws_ec2NatGatewayIdStringList(input.NatGatewayIds, context); + if (input.Filter !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filter, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NatGatewayId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -33425,16 +34174,15 @@ const serializeAws_ec2DescribeNetworkAclsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.NetworkAclIds !== undefined) { - const memberEntries = serializeAws_ec2NetworkAclIdStringList(input.NetworkAclIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NetworkAclId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33442,11 +34190,12 @@ const serializeAws_ec2DescribeNetworkAclsRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.NetworkAclIds !== undefined) { + const memberEntries = serializeAws_ec2NetworkAclIdStringList(input.NetworkAclIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `NetworkAclId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -33473,12 +34222,6 @@ const serializeAws_ec2DescribeNetworkInterfacePermissionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33496,6 +34239,12 @@ const serializeAws_ec2DescribeNetworkInterfacePermissionsRequest = ( entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } return entries; }; @@ -33504,26 +34253,26 @@ const serializeAws_ec2DescribeNetworkInterfacesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.NetworkInterfaceIds !== undefined) { - const memberEntries = serializeAws_ec2NetworkInterfaceIdList(input.NetworkInterfaceIds, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NetworkInterfaceId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.NetworkInterfaceIds !== undefined) { + const memberEntries = serializeAws_ec2NetworkInterfaceIdList(input.NetworkInterfaceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `NetworkInterfaceId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -33542,13 +34291,6 @@ const serializeAws_ec2DescribePlacementGroupsRequest = ( entries[loc] = value; }); } - if (input.GroupNames !== undefined) { - const memberEntries = serializeAws_ec2PlacementGroupStringList(input.GroupNames, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `GroupName.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -33559,6 +34301,13 @@ const serializeAws_ec2DescribePlacementGroupsRequest = ( entries[loc] = value; }); } + if (input.GroupNames !== undefined) { + const memberEntries = serializeAws_ec2PlacementGroupStringList(input.GroupNames, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `GroupName.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } return entries; }; @@ -33567,29 +34316,29 @@ const serializeAws_ec2DescribePrefixListsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.PrefixListIds !== undefined) { + const memberEntries = serializeAws_ec2PrefixListResourceIdStringList(input.PrefixListIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `PrefixListId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.PrefixListIds !== undefined) { - const memberEntries = serializeAws_ec2PrefixListResourceIdStringList(input.PrefixListIds, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PrefixListId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -33598,9 +34347,6 @@ const serializeAws_ec2DescribePrincipalIdFormatRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.Resources !== undefined) { const memberEntries = serializeAws_ec2ResourceList(input.Resources, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33608,11 +34354,14 @@ const serializeAws_ec2DescribePrincipalIdFormatRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } return entries; }; @@ -33622,6 +34371,9 @@ const serializeAws_ec2DescribePublicIpv4PoolsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.PoolIds !== undefined) { const memberEntries = serializeAws_ec2PublicIpv4PoolIdStringList(input.PoolIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33636,9 +34388,6 @@ const serializeAws_ec2DescribePublicIpv4PoolsRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } @@ -33647,26 +34396,26 @@ const serializeAws_ec2DescribePublicIpv4PoolsRequest = ( const serializeAws_ec2DescribeRegionsRequest = (input: DescribeRegionsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.RegionNames !== undefined) { - const memberEntries = serializeAws_ec2RegionNameStringList(input.RegionNames, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `RegionName.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.AllRegions !== undefined) { entries["AllRegions"] = input.AllRegions; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.RegionNames !== undefined) { + const memberEntries = serializeAws_ec2RegionNameStringList(input.RegionNames, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `RegionName.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -33703,6 +34452,9 @@ const serializeAws_ec2DescribeReservedInstancesModificationsRequest = ( entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.ReservedInstancesModificationIds !== undefined) { const memberEntries = serializeAws_ec2ReservedInstancesModificationIdStringList( input.ReservedInstancesModificationIds, @@ -33713,9 +34465,6 @@ const serializeAws_ec2DescribeReservedInstancesModificationsRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -33724,35 +34473,11 @@ const serializeAws_ec2DescribeReservedInstancesOfferingsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.OfferingClass !== undefined) { - entries["OfferingClass"] = input.OfferingClass; - } - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.ProductDescription !== undefined) { - entries["ProductDescription"] = input.ProductDescription; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; - } - if (input.InstanceTenancy !== undefined) { - entries["InstanceTenancy"] = input.InstanceTenancy; - } - if (input.OfferingType !== undefined) { - entries["OfferingType"] = input.OfferingType; - } - if (input.MinDuration !== undefined) { - entries["MinDuration"] = input.MinDuration; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } - if (input.IncludeMarketplace !== undefined) { - entries["IncludeMarketplace"] = input.IncludeMarketplace; + if (input.MaxInstanceCount !== undefined) { + entries["MaxInstanceCount"] = input.MaxInstanceCount; } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); @@ -33764,11 +34489,14 @@ const serializeAws_ec2DescribeReservedInstancesOfferingsRequest = ( if (input.MaxDuration !== undefined) { entries["MaxDuration"] = input.MaxDuration; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.OfferingType !== undefined) { + entries["OfferingType"] = input.OfferingType; } - if (input.MaxInstanceCount !== undefined) { - entries["MaxInstanceCount"] = input.MaxInstanceCount; + if (input.ProductDescription !== undefined) { + entries["ProductDescription"] = input.ProductDescription; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.ReservedInstancesOfferingIds !== undefined) { const memberEntries = serializeAws_ec2ReservedInstancesOfferingIdStringList( @@ -33780,6 +34508,27 @@ const serializeAws_ec2DescribeReservedInstancesOfferingsRequest = ( entries[loc] = value; }); } + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; + } + if (input.IncludeMarketplace !== undefined) { + entries["IncludeMarketplace"] = input.IncludeMarketplace; + } + if (input.OfferingClass !== undefined) { + entries["OfferingClass"] = input.OfferingClass; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.InstanceTenancy !== undefined) { + entries["InstanceTenancy"] = input.InstanceTenancy; + } + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; + } + if (input.MinDuration !== undefined) { + entries["MinDuration"] = input.MinDuration; + } return entries; }; @@ -33795,11 +34544,8 @@ const serializeAws_ec2DescribeReservedInstancesRequest = ( entries[loc] = value; }); } - if (input.OfferingType !== undefined) { - entries["OfferingType"] = input.OfferingType; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.OfferingClass !== undefined) { + entries["OfferingClass"] = input.OfferingClass; } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); @@ -33808,8 +34554,11 @@ const serializeAws_ec2DescribeReservedInstancesRequest = ( entries[loc] = value; }); } - if (input.OfferingClass !== undefined) { - entries["OfferingClass"] = input.OfferingClass; + if (input.OfferingType !== undefined) { + entries["OfferingType"] = input.OfferingType; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -33819,16 +34568,12 @@ const serializeAws_ec2DescribeRouteTablesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RouteTableIds !== undefined) { - const memberEntries = serializeAws_ec2RouteTableIdStringList(input.RouteTableIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `RouteTableId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33836,12 +34581,16 @@ const serializeAws_ec2DescribeRouteTablesRequest = ( entries[loc] = value; }); } + if (input.RouteTableIds !== undefined) { + const memberEntries = serializeAws_ec2RouteTableIdStringList(input.RouteTableIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `RouteTableId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } return entries; }; @@ -33850,6 +34599,9 @@ const serializeAws_ec2DescribeScheduledInstanceAvailabilityRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.FirstSlotStartTimeRange !== undefined) { const memberEntries = serializeAws_ec2SlotDateTimeRangeRequest(input.FirstSlotStartTimeRange, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33857,35 +34609,32 @@ const serializeAws_ec2DescribeScheduledInstanceAvailabilityRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.MaxSlotDurationInHours !== undefined) { - entries["MaxSlotDurationInHours"] = input.MaxSlotDurationInHours; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.Recurrence !== undefined) { + const memberEntries = serializeAws_ec2ScheduledInstanceRecurrenceRequest(input.Recurrence, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Recurrence.${key}`; entries[loc] = value; }); } if (input.MinSlotDurationInHours !== undefined) { entries["MinSlotDurationInHours"] = input.MinSlotDurationInHours; } - if (input.Recurrence !== undefined) { - const memberEntries = serializeAws_ec2ScheduledInstanceRecurrenceRequest(input.Recurrence, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Recurrence.${key}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.MaxSlotDurationInHours !== undefined) { + entries["MaxSlotDurationInHours"] = input.MaxSlotDurationInHours; + } return entries; }; @@ -33894,11 +34643,8 @@ const serializeAws_ec2DescribeScheduledInstancesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.ScheduledInstanceIds !== undefined) { const memberEntries = serializeAws_ec2ScheduledInstanceIdRequestSet(input.ScheduledInstanceIds, context); @@ -33907,20 +34653,23 @@ const serializeAws_ec2DescribeScheduledInstancesRequest = ( entries[loc] = value; }); } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.SlotStartTimeRange !== undefined) { + const memberEntries = serializeAws_ec2SlotStartTimeRangeRequest(input.SlotStartTimeRange, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `SlotStartTimeRange.${key}`; entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } - if (input.SlotStartTimeRange !== undefined) { - const memberEntries = serializeAws_ec2SlotStartTimeRangeRequest(input.SlotStartTimeRange, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SlotStartTimeRange.${key}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -33932,9 +34681,6 @@ const serializeAws_ec2DescribeSecurityGroupReferencesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.GroupId !== undefined) { const memberEntries = serializeAws_ec2GroupIds(input.GroupId, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33942,6 +34688,9 @@ const serializeAws_ec2DescribeSecurityGroupReferencesRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -33950,6 +34699,9 @@ const serializeAws_ec2DescribeSecurityGroupsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.GroupIds !== undefined) { const memberEntries = serializeAws_ec2GroupIdStringList(input.GroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33957,6 +34709,9 @@ const serializeAws_ec2DescribeSecurityGroupsRequest = ( entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.GroupNames !== undefined) { const memberEntries = serializeAws_ec2GroupNameStringList(input.GroupNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33964,12 +34719,6 @@ const serializeAws_ec2DescribeSecurityGroupsRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -33988,15 +34737,15 @@ const serializeAws_ec2DescribeSnapshotAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SnapshotId !== undefined) { - entries["SnapshotId"] = input.SnapshotId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } if (input.Attribute !== undefined) { entries["Attribute"] = input.Attribute; } + if (input.SnapshotId !== undefined) { + entries["SnapshotId"] = input.SnapshotId; + } return entries; }; @@ -34009,13 +34758,22 @@ const serializeAws_ec2DescribeSnapshotsRequest = (input: DescribeSnapshotsReques entries[loc] = value; }); } - if (input.SnapshotIds !== undefined) { - const memberEntries = serializeAws_ec2SnapshotIdStringList(input.SnapshotIds, context); + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SnapshotId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.OwnerIds !== undefined) { const memberEntries = serializeAws_ec2OwnerStringList(input.OwnerIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34023,22 +34781,13 @@ const serializeAws_ec2DescribeSnapshotsRequest = (input: DescribeSnapshotsReques entries[loc] = value; }); } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.SnapshotIds !== undefined) { + const memberEntries = serializeAws_ec2SnapshotIdStringList(input.SnapshotIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `SnapshotId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -34058,17 +34807,17 @@ const serializeAws_ec2DescribeSpotFleetInstancesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.SpotFleetRequestId !== undefined) { + entries["SpotFleetRequestId"] = input.SpotFleetRequestId; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.SpotFleetRequestId !== undefined) { - entries["SpotFleetRequestId"] = input.SpotFleetRequestId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -34078,24 +34827,24 @@ const serializeAws_ec2DescribeSpotFleetRequestHistoryRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EventType !== undefined) { - entries["EventType"] = input.EventType; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } if (input.SpotFleetRequestId !== undefined) { entries["SpotFleetRequestId"] = input.SpotFleetRequestId; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.StartTime !== undefined) { entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.EventType !== undefined) { + entries["EventType"] = input.EventType; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -34104,14 +34853,11 @@ const serializeAws_ec2DescribeSpotFleetRequestsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.SpotFleetRequestIds !== undefined) { const memberEntries = serializeAws_ec2SpotFleetRequestIdList(input.SpotFleetRequestIds, context); @@ -34120,6 +34866,9 @@ const serializeAws_ec2DescribeSpotFleetRequestsRequest = ( entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -34131,26 +34880,26 @@ const serializeAws_ec2DescribeSpotInstanceRequestsRequest = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.SpotInstanceRequestIds !== undefined) { - const memberEntries = serializeAws_ec2SpotInstanceRequestIdList(input.SpotInstanceRequestIds, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SpotInstanceRequestId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.SpotInstanceRequestIds !== undefined) { + const memberEntries = serializeAws_ec2SpotInstanceRequestIdList(input.SpotInstanceRequestIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `SpotInstanceRequestId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -34159,9 +34908,26 @@ const serializeAws_ec2DescribeSpotPriceHistoryRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.EndTime !== undefined) { entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; } + if (input.ProductDescriptions !== undefined) { + const memberEntries = serializeAws_ec2ProductDescriptionList(input.ProductDescriptions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ProductDescription.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; + } if (input.InstanceTypes !== undefined) { const memberEntries = serializeAws_ec2InstanceTypeList(input.InstanceTypes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34169,8 +34935,8 @@ const serializeAws_ec2DescribeSpotPriceHistoryRequest = ( entries[loc] = value; }); } - if (input.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; @@ -34178,25 +34944,8 @@ const serializeAws_ec2DescribeSpotPriceHistoryRequest = ( if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.ProductDescriptions !== undefined) { - const memberEntries = serializeAws_ec2ProductDescriptionList(input.ProductDescriptions, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ProductDescription.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } return entries; }; @@ -34212,22 +34961,29 @@ const serializeAws_ec2DescribeStaleSecurityGroupsRequest = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } return entries; }; const serializeAws_ec2DescribeSubnetsRequest = (input: DescribeSubnetsRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.SubnetIds !== undefined) { + const memberEntries = serializeAws_ec2SubnetIdStringList(input.SubnetIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SubnetId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; @@ -34239,18 +34995,17 @@ const serializeAws_ec2DescribeSubnetsRequest = (input: DescribeSubnetsRequest, c entries[loc] = value; }); } - if (input.SubnetIds !== undefined) { - const memberEntries = serializeAws_ec2SubnetIdStringList(input.SubnetIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SubnetId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } return entries; }; const serializeAws_ec2DescribeTagsRequest = (input: DescribeTagsRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34261,12 +35016,6 @@ const serializeAws_ec2DescribeTagsRequest = (input: DescribeTagsRequest, context if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } return entries; }; @@ -34275,6 +35024,9 @@ const serializeAws_ec2DescribeTrafficMirrorFiltersRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34282,6 +35034,12 @@ const serializeAws_ec2DescribeTrafficMirrorFiltersRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.TrafficMirrorFilterIds !== undefined) { const memberEntries = serializeAws_ec2TrafficMirrorFilterIdList(input.TrafficMirrorFilterIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34289,15 +35047,6 @@ const serializeAws_ec2DescribeTrafficMirrorFiltersRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } return entries; }; @@ -34313,6 +35062,15 @@ const serializeAws_ec2DescribeTrafficMirrorSessionsRequest = ( entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34320,15 +35078,6 @@ const serializeAws_ec2DescribeTrafficMirrorSessionsRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -34337,13 +35086,6 @@ const serializeAws_ec2DescribeTrafficMirrorTargetsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TrafficMirrorTargetIds !== undefined) { - const memberEntries = serializeAws_ec2TrafficMirrorTargetIdList(input.TrafficMirrorTargetIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TrafficMirrorTargetId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34351,14 +35093,21 @@ const serializeAws_ec2DescribeTrafficMirrorTargetsRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.TrafficMirrorTargetIds !== undefined) { + const memberEntries = serializeAws_ec2TrafficMirrorTargetIdList(input.TrafficMirrorTargetIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TrafficMirrorTargetId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -34368,22 +35117,9 @@ const serializeAws_ec2DescribeTransitGatewayAttachmentsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.TransitGatewayAttachmentIds !== undefined) { const memberEntries = serializeAws_ec2TransitGatewayAttachmentIdStringList( input.TransitGatewayAttachmentIds, @@ -34394,6 +35130,19 @@ const serializeAws_ec2DescribeTransitGatewayAttachmentsRequest = ( entries[loc] = value; }); } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -34402,9 +35151,6 @@ const serializeAws_ec2DescribeTransitGatewayMulticastDomainsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34412,6 +35158,12 @@ const serializeAws_ec2DescribeTransitGatewayMulticastDomainsRequest = ( entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.TransitGatewayMulticastDomainIds !== undefined) { const memberEntries = serializeAws_ec2TransitGatewayMulticastDomainIdStringList( input.TransitGatewayMulticastDomainIds, @@ -34422,9 +35174,6 @@ const serializeAws_ec2DescribeTransitGatewayMulticastDomainsRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -34436,8 +35185,8 @@ const serializeAws_ec2DescribeTransitGatewayPeeringAttachmentsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.TransitGatewayAttachmentIds !== undefined) { const memberEntries = serializeAws_ec2TransitGatewayAttachmentIdStringList( @@ -34449,6 +35198,9 @@ const serializeAws_ec2DescribeTransitGatewayPeeringAttachmentsRequest = ( entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34456,11 +35208,8 @@ const serializeAws_ec2DescribeTransitGatewayPeeringAttachmentsRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } return entries; }; @@ -34470,6 +35219,9 @@ const serializeAws_ec2DescribeTransitGatewayRouteTablesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.TransitGatewayRouteTableIds !== undefined) { const memberEntries = serializeAws_ec2TransitGatewayRouteTableIdStringList( input.TransitGatewayRouteTableIds, @@ -34480,8 +35232,11 @@ const serializeAws_ec2DescribeTransitGatewayRouteTablesRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); @@ -34490,12 +35245,6 @@ const serializeAws_ec2DescribeTransitGatewayRouteTablesRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -34504,9 +35253,15 @@ const serializeAws_ec2DescribeTransitGatewaysRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.TransitGatewayIds !== undefined) { const memberEntries = serializeAws_ec2TransitGatewayIdStringList(input.TransitGatewayIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34521,12 +35276,6 @@ const serializeAws_ec2DescribeTransitGatewaysRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -34535,22 +35284,6 @@ const serializeAws_ec2DescribeTransitGatewayVpcAttachmentsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.TransitGatewayAttachmentIds !== undefined) { const memberEntries = serializeAws_ec2TransitGatewayAttachmentIdStringList( input.TransitGatewayAttachmentIds, @@ -34561,6 +35294,22 @@ const serializeAws_ec2DescribeTransitGatewayVpcAttachmentsRequest = ( entries[loc] = value; }); } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -34569,14 +35318,14 @@ const serializeAws_ec2DescribeVolumeAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Attribute !== undefined) { - entries["Attribute"] = input.Attribute; + if (input.VolumeId !== undefined) { + entries["VolumeId"] = input.VolumeId; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.VolumeId !== undefined) { - entries["VolumeId"] = input.VolumeId; + if (input.Attribute !== undefined) { + entries["Attribute"] = input.Attribute; } return entries; }; @@ -34586,6 +35335,13 @@ const serializeAws_ec2DescribeVolumesModificationsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.VolumeIds !== undefined) { + const memberEntries = serializeAws_ec2VolumeIdStringList(input.VolumeIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `VolumeId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34593,34 +35349,20 @@ const serializeAws_ec2DescribeVolumesModificationsRequest = ( entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.VolumeIds !== undefined) { - const memberEntries = serializeAws_ec2VolumeIdStringList(input.VolumeIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VolumeId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } return entries; }; const serializeAws_ec2DescribeVolumesRequest = (input: DescribeVolumesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.VolumeIds !== undefined) { - const memberEntries = serializeAws_ec2VolumeIdStringList(input.VolumeIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VolumeId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34631,12 +35373,19 @@ const serializeAws_ec2DescribeVolumesRequest = (input: DescribeVolumesRequest, c if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.VolumeIds !== undefined) { + const memberEntries = serializeAws_ec2VolumeIdStringList(input.VolumeIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `VolumeId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -34645,6 +35394,9 @@ const serializeAws_ec2DescribeVolumeStatusRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34659,9 +35411,6 @@ const serializeAws_ec2DescribeVolumeStatusRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } @@ -34676,15 +35425,15 @@ const serializeAws_ec2DescribeVpcAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Attribute !== undefined) { + entries["Attribute"] = input.Attribute; + } if (input.VpcId !== undefined) { entries["VpcId"] = input.VpcId; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Attribute !== undefined) { - entries["Attribute"] = input.Attribute; - } return entries; }; @@ -34693,8 +35442,8 @@ const serializeAws_ec2DescribeVpcClassicLinkDnsSupportRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } if (input.VpcIds !== undefined) { const memberEntries = serializeAws_ec2VpcClassicLinkIdList(input.VpcIds, context); @@ -34703,8 +35452,8 @@ const serializeAws_ec2DescribeVpcClassicLinkDnsSupportRequest = ( entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; } return entries; }; @@ -34714,20 +35463,20 @@ const serializeAws_ec2DescribeVpcClassicLinkRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + if (input.VpcIds !== undefined) { + const memberEntries = serializeAws_ec2VpcClassicLinkIdList(input.VpcIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + const loc = `VpcId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.VpcIds !== undefined) { - const memberEntries = serializeAws_ec2VpcClassicLinkIdList(input.VpcIds, context); + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -34746,15 +35495,15 @@ const serializeAws_ec2DescribeVpcEndpointConnectionNotificationsRequest = ( entries[loc] = value; }); } + if (input.ConnectionNotificationId !== undefined) { + entries["ConnectionNotificationId"] = input.ConnectionNotificationId; + } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.ConnectionNotificationId !== undefined) { - entries["ConnectionNotificationId"] = input.ConnectionNotificationId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -34766,6 +35515,12 @@ const serializeAws_ec2DescribeVpcEndpointConnectionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34773,15 +35528,9 @@ const serializeAws_ec2DescribeVpcEndpointConnectionsRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -34790,16 +35539,6 @@ const serializeAws_ec2DescribeVpcEndpointServiceConfigurationsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.ServiceIds !== undefined) { const memberEntries = serializeAws_ec2VpcEndpointServiceIdList(input.ServiceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34807,11 +35546,21 @@ const serializeAws_ec2DescribeVpcEndpointServiceConfigurationsRequest = ( entries[loc] = value; }); } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -34821,6 +35570,9 @@ const serializeAws_ec2DescribeVpcEndpointServicePermissionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34828,18 +35580,15 @@ const serializeAws_ec2DescribeVpcEndpointServicePermissionsRequest = ( entries[loc] = value; }); } - if (input.ServiceId !== undefined) { - entries["ServiceId"] = input.ServiceId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.ServiceId !== undefined) { + entries["ServiceId"] = input.ServiceId; + } return entries; }; @@ -34848,8 +35597,12 @@ const serializeAws_ec2DescribeVpcEndpointServicesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.ServiceNames !== undefined) { + const memberEntries = serializeAws_ec2ValueStringList(input.ServiceNames, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ServiceName.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); @@ -34858,18 +35611,14 @@ const serializeAws_ec2DescribeVpcEndpointServicesRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.ServiceNames !== undefined) { - const memberEntries = serializeAws_ec2ValueStringList(input.ServiceNames, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ServiceName.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -34879,16 +35628,6 @@ const serializeAws_ec2DescribeVpcEndpointsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.VpcEndpointIds !== undefined) { const memberEntries = serializeAws_ec2VpcEndpointIdList(input.VpcEndpointIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34899,9 +35638,19 @@ const serializeAws_ec2DescribeVpcEndpointsRequest = ( if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } return entries; }; @@ -34917,6 +35666,12 @@ const serializeAws_ec2DescribeVpcPeeringConnectionsRequest = ( entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -34927,20 +35682,11 @@ const serializeAws_ec2DescribeVpcPeeringConnectionsRequest = ( entries[loc] = value; }); } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; const serializeAws_ec2DescribeVpcsRequest = (input: DescribeVpcsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34948,12 +35694,15 @@ const serializeAws_ec2DescribeVpcsRequest = (input: DescribeVpcsRequest, context entries[loc] = value; }); } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.VpcIds !== undefined) { const memberEntries = serializeAws_ec2VpcIdStringList(input.VpcIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -34969,6 +35718,13 @@ const serializeAws_ec2DescribeVpnConnectionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.VpnConnectionIds !== undefined) { + const memberEntries = serializeAws_ec2VpnConnectionIdStringList(input.VpnConnectionIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `VpnConnectionId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -34979,13 +35735,6 @@ const serializeAws_ec2DescribeVpnConnectionsRequest = ( entries[loc] = value; }); } - if (input.VpnConnectionIds !== undefined) { - const memberEntries = serializeAws_ec2VpnConnectionIdStringList(input.VpnConnectionIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpnConnectionId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } return entries; }; @@ -34994,9 +35743,6 @@ const serializeAws_ec2DescribeVpnGatewaysRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.VpnGatewayIds !== undefined) { const memberEntries = serializeAws_ec2VpnGatewayIdStringList(input.VpnGatewayIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -35004,6 +35750,9 @@ const serializeAws_ec2DescribeVpnGatewaysRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -35019,14 +35768,14 @@ const serializeAws_ec2DetachClassicLinkVpcRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; } return entries; }; @@ -35036,14 +35785,14 @@ const serializeAws_ec2DetachInternetGatewayRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; } if (input.InternetGatewayId !== undefined) { entries["InternetGatewayId"] = input.InternetGatewayId; } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -35056,29 +35805,29 @@ const serializeAws_ec2DetachNetworkInterfaceRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Force !== undefined) { - entries["Force"] = input.Force; - } if (input.AttachmentId !== undefined) { entries["AttachmentId"] = input.AttachmentId; } + if (input.Force !== undefined) { + entries["Force"] = input.Force; + } return entries; }; const serializeAws_ec2DetachVolumeRequest = (input: DetachVolumeRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.VolumeId !== undefined) { - entries["VolumeId"] = input.VolumeId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Force !== undefined) { - entries["Force"] = input.Force; + if (input.VolumeId !== undefined) { + entries["VolumeId"] = input.VolumeId; } if (input.InstanceId !== undefined) { entries["InstanceId"] = input.InstanceId; } + if (input.Force !== undefined) { + entries["Force"] = input.Force; + } if (input.Device !== undefined) { entries["Device"] = input.Device; } @@ -35090,12 +35839,12 @@ const serializeAws_ec2DetachVpnGatewayRequest = (input: DetachVpnGatewayRequest, if (input.VpnGatewayId !== undefined) { entries["VpnGatewayId"] = input.VpnGatewayId; } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } return entries; }; @@ -35136,8 +35885,12 @@ const serializeAws_ec2DisableFastSnapshotRestoresRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.SourceSnapshotIds !== undefined) { + const memberEntries = serializeAws_ec2SnapshotIdStringList(input.SourceSnapshotIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SourceSnapshotId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.AvailabilityZones !== undefined) { const memberEntries = serializeAws_ec2AvailabilityZoneStringList(input.AvailabilityZones, context); @@ -35146,12 +35899,8 @@ const serializeAws_ec2DisableFastSnapshotRestoresRequest = ( entries[loc] = value; }); } - if (input.SourceSnapshotIds !== undefined) { - const memberEntries = serializeAws_ec2SnapshotIdStringList(input.SourceSnapshotIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SourceSnapshotId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -35161,12 +35910,12 @@ const serializeAws_ec2DisableTransitGatewayRouteTablePropagationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.TransitGatewayAttachmentId !== undefined) { entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.TransitGatewayRouteTableId !== undefined) { entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } @@ -35178,15 +35927,15 @@ const serializeAws_ec2DisableVgwRoutePropagationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.GatewayId !== undefined) { entries["GatewayId"] = input.GatewayId; } if (input.RouteTableId !== undefined) { entries["RouteTableId"] = input.RouteTableId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -35206,12 +35955,12 @@ const serializeAws_ec2DisableVpcClassicLinkRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } return entries; }; @@ -35237,12 +35986,12 @@ const serializeAws_ec2DisassociateClientVpnTargetNetworkRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.AssociationId !== undefined) { entries["AssociationId"] = input.AssociationId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.ClientVpnEndpointId !== undefined) { entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } @@ -35290,15 +36039,9 @@ const serializeAws_ec2DisassociateTransitGatewayMulticastDomainRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.TransitGatewayMulticastDomainId !== undefined) { entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; } - if (input.TransitGatewayAttachmentId !== undefined) { - entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; - } if (input.SubnetIds !== undefined) { const memberEntries = serializeAws_ec2ValueStringList(input.SubnetIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -35306,6 +36049,12 @@ const serializeAws_ec2DisassociateTransitGatewayMulticastDomainRequest = ( entries[loc] = value; }); } + if (input.TransitGatewayAttachmentId !== undefined) { + entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -35317,12 +36066,12 @@ const serializeAws_ec2DisassociateTransitGatewayRouteTableRequest = ( if (input.TransitGatewayAttachmentId !== undefined) { entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.TransitGatewayRouteTableId !== undefined) { entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -35339,8 +36088,12 @@ const serializeAws_ec2DisassociateVpcCidrBlockRequest = ( const serializeAws_ec2DiskImage = (input: DiskImage, context: __SerdeContext): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.Image !== undefined) { + const memberEntries = serializeAws_ec2DiskImageDetail(input.Image, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Image.${key}`; + entries[loc] = value; + }); } if (input.Volume !== undefined) { const memberEntries = serializeAws_ec2VolumeDetail(input.Volume, context); @@ -35349,12 +36102,8 @@ const serializeAws_ec2DiskImage = (input: DiskImage, context: __SerdeContext): a entries[loc] = value; }); } - if (input.Image !== undefined) { - const memberEntries = serializeAws_ec2DiskImageDetail(input.Image, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Image.${key}`; - entries[loc] = value; - }); + if (input.Description !== undefined) { + entries["Description"] = input.Description; } return entries; }; @@ -35391,6 +36140,9 @@ const serializeAws_ec2DnsServersOptionsModifyStructure = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Enabled !== undefined) { + entries["Enabled"] = input.Enabled; + } if (input.CustomDnsServers !== undefined) { const memberEntries = serializeAws_ec2ValueStringList(input.CustomDnsServers, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -35398,34 +36150,31 @@ const serializeAws_ec2DnsServersOptionsModifyStructure = ( entries[loc] = value; }); } - if (input.Enabled !== undefined) { - entries["Enabled"] = input.Enabled; - } return entries; }; const serializeAws_ec2EbsBlockDevice = (input: EbsBlockDevice, context: __SerdeContext): any => { const entries: any = {}; - if (input.VolumeType !== undefined) { - entries["VolumeType"] = input.VolumeType; - } if (input.SnapshotId !== undefined) { entries["SnapshotId"] = input.SnapshotId; } - if (input.VolumeSize !== undefined) { - entries["VolumeSize"] = input.VolumeSize; + if (input.VolumeType !== undefined) { + entries["VolumeType"] = input.VolumeType; } - if (input.Iops !== undefined) { - entries["Iops"] = input.Iops; + if (input.Encrypted !== undefined) { + entries["Encrypted"] = input.Encrypted; + } + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } if (input.DeleteOnTermination !== undefined) { entries["DeleteOnTermination"] = input.DeleteOnTermination; } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.Iops !== undefined) { + entries["Iops"] = input.Iops; } - if (input.Encrypted !== undefined) { - entries["Encrypted"] = input.Encrypted; + if (input.VolumeSize !== undefined) { + entries["VolumeSize"] = input.VolumeSize; } return entries; }; @@ -35435,12 +36184,12 @@ const serializeAws_ec2EbsInstanceBlockDeviceSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VolumeId !== undefined) { - entries["VolumeId"] = input.VolumeId; - } if (input.DeleteOnTermination !== undefined) { entries["DeleteOnTermination"] = input.DeleteOnTermination; } + if (input.VolumeId !== undefined) { + entries["VolumeId"] = input.VolumeId; + } return entries; }; @@ -35554,9 +36303,6 @@ const serializeAws_ec2EnableFastSnapshotRestoresRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.SourceSnapshotIds !== undefined) { const memberEntries = serializeAws_ec2SnapshotIdStringList(input.SourceSnapshotIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -35564,6 +36310,9 @@ const serializeAws_ec2EnableFastSnapshotRestoresRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -35572,15 +36321,15 @@ const serializeAws_ec2EnableTransitGatewayRouteTablePropagationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.TransitGatewayRouteTableId !== undefined) { entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } if (input.TransitGatewayAttachmentId !== undefined) { entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -35589,26 +36338,26 @@ const serializeAws_ec2EnableVgwRoutePropagationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.GatewayId !== undefined) { entries["GatewayId"] = input.GatewayId; } if (input.RouteTableId !== undefined) { entries["RouteTableId"] = input.RouteTableId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; const serializeAws_ec2EnableVolumeIORequest = (input: EnableVolumeIORequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.VolumeId !== undefined) { entries["VolumeId"] = input.VolumeId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -35652,12 +36401,12 @@ const serializeAws_ec2ExportClientVpnClientCertificateRevocationListRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + } return entries; }; @@ -35666,36 +36415,17 @@ const serializeAws_ec2ExportClientVpnClientConfigurationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + } return entries; }; const serializeAws_ec2ExportImageRequest = (input: ExportImageRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.RoleName !== undefined) { - entries["RoleName"] = input.RoleName; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.ImageId !== undefined) { - entries["ImageId"] = input.ImageId; - } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.DiskImageFormat !== undefined) { entries["DiskImageFormat"] = input.DiskImageFormat; } @@ -35712,6 +36442,25 @@ const serializeAws_ec2ExportImageRequest = (input: ExportImageRequest, context: if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.RoleName !== undefined) { + entries["RoleName"] = input.RoleName; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.ImageId !== undefined) { + entries["ImageId"] = input.ImageId; + } return entries; }; @@ -35740,12 +36489,12 @@ const serializeAws_ec2ExportTaskS3LocationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.S3Prefix !== undefined) { - entries["S3Prefix"] = input.S3Prefix; - } if (input.S3Bucket !== undefined) { entries["S3Bucket"] = input.S3Bucket; } + if (input.S3Prefix !== undefined) { + entries["S3Prefix"] = input.S3Prefix; + } return entries; }; @@ -35754,17 +36503,17 @@ const serializeAws_ec2ExportToS3TaskSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DiskImageFormat !== undefined) { + entries["DiskImageFormat"] = input.DiskImageFormat; + } if (input.ContainerFormat !== undefined) { entries["ContainerFormat"] = input.ContainerFormat; } - if (input.S3Bucket !== undefined) { - entries["S3Bucket"] = input.S3Bucket; - } if (input.S3Prefix !== undefined) { entries["S3Prefix"] = input.S3Prefix; } - if (input.DiskImageFormat !== undefined) { - entries["DiskImageFormat"] = input.DiskImageFormat; + if (input.S3Bucket !== undefined) { + entries["S3Bucket"] = input.S3Bucket; } return entries; }; @@ -35774,11 +36523,8 @@ const serializeAws_ec2ExportTransitGatewayRoutesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.S3Bucket !== undefined) { - entries["S3Bucket"] = input.S3Bucket; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.TransitGatewayRouteTableId !== undefined) { + entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); @@ -35787,8 +36533,11 @@ const serializeAws_ec2ExportTransitGatewayRoutesRequest = ( entries[loc] = value; }); } - if (input.TransitGatewayRouteTableId !== undefined) { - entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.S3Bucket !== undefined) { + entries["S3Bucket"] = input.S3Bucket; } return entries; }; @@ -35806,6 +36555,9 @@ const serializeAws_ec2FederatedAuthenticationRequest = ( const serializeAws_ec2Filter = (input: Filter, context: __SerdeContext): any => { const entries: any = {}; + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } if (input.Values !== undefined) { const memberEntries = serializeAws_ec2ValueStringList(input.Values, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -35813,9 +36565,6 @@ const serializeAws_ec2Filter = (input: Filter, context: __SerdeContext): any => entries[loc] = value; }); } - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } return entries; }; @@ -35863,6 +36612,13 @@ const serializeAws_ec2FleetLaunchTemplateConfigRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Overrides !== undefined) { + const memberEntries = serializeAws_ec2FleetLaunchTemplateOverridesListRequest(input.Overrides, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Overrides.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.LaunchTemplateSpecification !== undefined) { const memberEntries = serializeAws_ec2FleetLaunchTemplateSpecificationRequest( input.LaunchTemplateSpecification, @@ -35873,13 +36629,6 @@ const serializeAws_ec2FleetLaunchTemplateConfigRequest = ( entries[loc] = value; }); } - if (input.Overrides !== undefined) { - const memberEntries = serializeAws_ec2FleetLaunchTemplateOverridesListRequest(input.Overrides, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Overrides.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } return entries; }; @@ -35904,21 +36653,12 @@ const serializeAws_ec2FleetLaunchTemplateOverridesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; - } - if (input.Priority !== undefined) { - entries["Priority"] = input.Priority; - } - if (input.SubnetId !== undefined) { - entries["SubnetId"] = input.SubnetId; + if (input.WeightedCapacity !== undefined) { + entries["WeightedCapacity"] = input.WeightedCapacity; } if (input.MaxPrice !== undefined) { entries["MaxPrice"] = input.MaxPrice; } - if (input.WeightedCapacity !== undefined) { - entries["WeightedCapacity"] = input.WeightedCapacity; - } if (input.AvailabilityZone !== undefined) { entries["AvailabilityZone"] = input.AvailabilityZone; } @@ -35929,6 +36669,15 @@ const serializeAws_ec2FleetLaunchTemplateOverridesRequest = ( entries[loc] = value; }); } + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; + } + if (input.Priority !== undefined) { + entries["Priority"] = input.Priority; + } + if (input.SubnetId !== undefined) { + entries["SubnetId"] = input.SubnetId; + } return entries; }; @@ -35937,12 +36686,12 @@ const serializeAws_ec2FleetLaunchTemplateSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LaunchTemplateName !== undefined) { - entries["LaunchTemplateName"] = input.LaunchTemplateName; - } if (input.Version !== undefined) { entries["Version"] = input.Version; } + if (input.LaunchTemplateName !== undefined) { + entries["LaunchTemplateName"] = input.LaunchTemplateName; + } if (input.LaunchTemplateId !== undefined) { entries["LaunchTemplateId"] = input.LaunchTemplateId; } @@ -35954,12 +36703,12 @@ const serializeAws_ec2FleetLaunchTemplateSpecificationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Version !== undefined) { - entries["Version"] = input.Version; - } if (input.LaunchTemplateName !== undefined) { entries["LaunchTemplateName"] = input.LaunchTemplateName; } + if (input.Version !== undefined) { + entries["Version"] = input.Version; + } if (input.LaunchTemplateId !== undefined) { entries["LaunchTemplateId"] = input.LaunchTemplateId; } @@ -36004,15 +36753,15 @@ const serializeAws_ec2GetAssociatedIpv6PoolCidrsRequest = ( if (input.PoolId !== undefined) { entries["PoolId"] = input.PoolId; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } return entries; }; @@ -36021,6 +36770,9 @@ const serializeAws_ec2GetCapacityReservationUsageRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.CapacityReservationId !== undefined) { entries["CapacityReservationId"] = input.CapacityReservationId; } @@ -36030,9 +36782,6 @@ const serializeAws_ec2GetCapacityReservationUsageRequest = ( if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -36048,15 +36797,15 @@ const serializeAws_ec2GetCoipPoolUsageRequest = (input: GetCoipPoolUsageRequest, entries[loc] = value; }); } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } return entries; }; @@ -36065,12 +36814,12 @@ const serializeAws_ec2GetConsoleOutputRequest = (input: GetConsoleOutputRequest, if (input.Latest !== undefined) { entries["Latest"] = input.Latest; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; + } return entries; }; @@ -36082,12 +36831,12 @@ const serializeAws_ec2GetConsoleScreenshotRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; - } if (input.WakeUp !== undefined) { entries["WakeUp"] = input.WakeUp; } + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; + } return entries; }; @@ -36132,17 +36881,17 @@ const serializeAws_ec2GetGroupsForCapacityReservationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.CapacityReservationId !== undefined) { + entries["CapacityReservationId"] = input.CapacityReservationId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.CapacityReservationId !== undefined) { - entries["CapacityReservationId"] = input.CapacityReservationId; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } return entries; }; @@ -36184,17 +36933,17 @@ const serializeAws_ec2GetManagedPrefixListAssociationsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.PrefixListId !== undefined) { + entries["PrefixListId"] = input.PrefixListId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.PrefixListId !== undefined) { - entries["PrefixListId"] = input.PrefixListId; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } return entries; }; @@ -36207,18 +36956,18 @@ const serializeAws_ec2GetManagedPrefixListEntriesRequest = ( if (input.TargetVersion !== undefined) { entries["TargetVersion"] = input.TargetVersion; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.PrefixListId !== undefined) { entries["PrefixListId"] = input.PrefixListId; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } return entries; }; @@ -36263,8 +37012,15 @@ const serializeAws_ec2GetTransitGatewayAttachmentPropagationsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayAttachmentId !== undefined) { - entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; @@ -36272,15 +37028,8 @@ const serializeAws_ec2GetTransitGatewayAttachmentPropagationsRequest = ( if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_ec2FilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.TransitGatewayAttachmentId !== undefined) { + entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; } return entries; }; @@ -36293,12 +37042,39 @@ const serializeAws_ec2GetTransitGatewayMulticastDomainAssociationsRequest = ( if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.TransitGatewayMulticastDomainId !== undefined) { entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + return entries; +}; + +const serializeAws_ec2GetTransitGatewayPrefixListReferencesRequest = ( + input: GetTransitGatewayPrefixListReferencesRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.TransitGatewayRouteTableId !== undefined) { + entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -36317,6 +37093,15 @@ const serializeAws_ec2GetTransitGatewayRouteTableAssociationsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -36327,15 +37112,6 @@ const serializeAws_ec2GetTransitGatewayRouteTableAssociationsRequest = ( if (input.TransitGatewayRouteTableId !== undefined) { entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -36344,18 +37120,18 @@ const serializeAws_ec2GetTransitGatewayRouteTablePropagationsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayRouteTableId !== undefined) { - entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.TransitGatewayRouteTableId !== undefined) { + entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -36443,23 +37219,23 @@ const serializeAws_ec2IamInstanceProfileSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } if (input.Arn !== undefined) { entries["Arn"] = input.Arn; } + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } return entries; }; const serializeAws_ec2IcmpTypeCode = (input: IcmpTypeCode, context: __SerdeContext): any => { const entries: any = {}; - if (input.Type !== undefined) { - entries["Type"] = input.Type; - } if (input.Code !== undefined) { entries["Code"] = input.Code; } + if (input.Type !== undefined) { + entries["Type"] = input.Type; + } return entries; }; @@ -36495,12 +37271,6 @@ const serializeAws_ec2ImageDiskContainer = (input: ImageDiskContainer, context: if (input.SnapshotId !== undefined) { entries["SnapshotId"] = input.SnapshotId; } - if (input.Format !== undefined) { - entries["Format"] = input.Format; - } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.DeviceName !== undefined) { entries["DeviceName"] = input.DeviceName; } @@ -36511,6 +37281,12 @@ const serializeAws_ec2ImageDiskContainer = (input: ImageDiskContainer, context: entries[loc] = value; }); } + if (input.Format !== undefined) { + entries["Format"] = input.Format; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } return entries; }; @@ -36542,12 +37318,12 @@ const serializeAws_ec2ImportClientVpnClientCertificateRevocationListRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + } if (input.CertificateRevocationList !== undefined) { entries["CertificateRevocationList"] = input.CertificateRevocationList; } @@ -36583,40 +37359,49 @@ const serializeAws_ec2ImportImageLicenseSpecificationListRequest = ( const serializeAws_ec2ImportImageRequest = (input: ImportImageRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.LicenseSpecifications !== undefined) { - const memberEntries = serializeAws_ec2ImportImageLicenseSpecificationListRequest( - input.LicenseSpecifications, - context - ); + if (input.RoleName !== undefined) { + entries["RoleName"] = input.RoleName; + } + if (input.DiskContainers !== undefined) { + const memberEntries = serializeAws_ec2ImageDiskContainerList(input.DiskContainers, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LicenseSpecifications.${key.substring(key.indexOf(".") + 1)}`; + const loc = `DiskContainer.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.Hypervisor !== undefined) { + entries["Hypervisor"] = input.Hypervisor; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.LicenseType !== undefined) { + entries["LicenseType"] = input.LicenseType; } if (input.Platform !== undefined) { entries["Platform"] = input.Platform; } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.Architecture !== undefined) { entries["Architecture"] = input.Architecture; } if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.LicenseSpecifications !== undefined) { + const memberEntries = serializeAws_ec2ImportImageLicenseSpecificationListRequest( + input.LicenseSpecifications, + context + ); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `LicenseSpecifications.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.Encrypted !== undefined) { + entries["Encrypted"] = input.Encrypted; } if (input.ClientData !== undefined) { const memberEntries = serializeAws_ec2ClientData(input.ClientData, context); @@ -36625,24 +37410,15 @@ const serializeAws_ec2ImportImageRequest = (input: ImportImageRequest, context: entries[loc] = value; }); } - if (input.RoleName !== undefined) { - entries["RoleName"] = input.RoleName; - } - if (input.DiskContainers !== undefined) { - const memberEntries = serializeAws_ec2ImageDiskContainerList(input.DiskContainers, context); + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DiskContainer.${key.substring(key.indexOf(".") + 1)}`; + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.LicenseType !== undefined) { - entries["LicenseType"] = input.LicenseType; - } - if (input.Encrypted !== undefined) { - entries["Encrypted"] = input.Encrypted; - } - if (input.Hypervisor !== undefined) { - entries["Hypervisor"] = input.Hypervisor; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } return entries; }; @@ -36652,48 +37428,28 @@ const serializeAws_ec2ImportInstanceLaunchSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Monitoring !== undefined) { - entries["Monitoring"] = input.Monitoring; - } if (input.PrivateIpAddress !== undefined) { entries["PrivateIpAddress"] = input.PrivateIpAddress; } - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; - } - if (input.UserData !== undefined) { - const memberEntries = serializeAws_ec2UserData(input.UserData, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `UserData.${key}`; - entries[loc] = value; - }); - } - if (input.GroupIds !== undefined) { - const memberEntries = serializeAws_ec2SecurityGroupIdStringList(input.GroupIds, context); + if (input.Placement !== undefined) { + const memberEntries = serializeAws_ec2Placement(input.Placement, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `GroupId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Placement.${key}`; entries[loc] = value; }); } - if (input.InstanceInitiatedShutdownBehavior !== undefined) { - entries["InstanceInitiatedShutdownBehavior"] = input.InstanceInitiatedShutdownBehavior; - } if (input.Architecture !== undefined) { entries["Architecture"] = input.Architecture; } - if (input.Placement !== undefined) { - const memberEntries = serializeAws_ec2Placement(input.Placement, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Placement.${key}`; - entries[loc] = value; - }); + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; + } + if (input.Monitoring !== undefined) { + entries["Monitoring"] = input.Monitoring; } if (input.SubnetId !== undefined) { entries["SubnetId"] = input.SubnetId; } - if (input.AdditionalInfo !== undefined) { - entries["AdditionalInfo"] = input.AdditionalInfo; - } if (input.GroupNames !== undefined) { const memberEntries = serializeAws_ec2SecurityGroupStringList(input.GroupNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -36701,23 +37457,39 @@ const serializeAws_ec2ImportInstanceLaunchSpecification = ( entries[loc] = value; }); } + if (input.AdditionalInfo !== undefined) { + entries["AdditionalInfo"] = input.AdditionalInfo; + } + if (input.UserData !== undefined) { + const memberEntries = serializeAws_ec2UserData(input.UserData, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `UserData.${key}`; + entries[loc] = value; + }); + } + if (input.InstanceInitiatedShutdownBehavior !== undefined) { + entries["InstanceInitiatedShutdownBehavior"] = input.InstanceInitiatedShutdownBehavior; + } + if (input.GroupIds !== undefined) { + const memberEntries = serializeAws_ec2SecurityGroupIdStringList(input.GroupIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `GroupId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } return entries; }; const serializeAws_ec2ImportInstanceRequest = (input: ImportInstanceRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.LaunchSpecification !== undefined) { - const memberEntries = serializeAws_ec2ImportInstanceLaunchSpecification(input.LaunchSpecification, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LaunchSpecification.${key}`; - entries[loc] = value; - }); + if (input.Platform !== undefined) { + entries["Platform"] = input.Platform; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.DiskImages !== undefined) { const memberEntries = serializeAws_ec2DiskImageList(input.DiskImages, context); @@ -36726,20 +37498,18 @@ const serializeAws_ec2ImportInstanceRequest = (input: ImportInstanceRequest, con entries[loc] = value; }); } - if (input.Platform !== undefined) { - entries["Platform"] = input.Platform; + if (input.LaunchSpecification !== undefined) { + const memberEntries = serializeAws_ec2ImportInstanceLaunchSpecification(input.LaunchSpecification, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `LaunchSpecification.${key}`; + entries[loc] = value; + }); } return entries; }; const serializeAws_ec2ImportKeyPairRequest = (input: ImportKeyPairRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.KeyName !== undefined) { - entries["KeyName"] = input.KeyName; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -36747,22 +37517,35 @@ const serializeAws_ec2ImportKeyPairRequest = (input: ImportKeyPairRequest, conte entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.PublicKeyMaterial !== undefined) { entries["PublicKeyMaterial"] = context.base64Encoder(input.PublicKeyMaterial); } + if (input.KeyName !== undefined) { + entries["KeyName"] = input.KeyName; + } return entries; }; const serializeAws_ec2ImportSnapshotRequest = (input: ImportSnapshotRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.Encrypted !== undefined) { + entries["Encrypted"] = input.Encrypted; + } if (input.RoleName !== undefined) { entries["RoleName"] = input.RoleName; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.ClientData !== undefined) { + const memberEntries = serializeAws_ec2ClientData(input.ClientData, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ClientData.${key}`; + entries[loc] = value; + }); } if (input.DiskContainer !== undefined) { const memberEntries = serializeAws_ec2SnapshotDiskContainer(input.DiskContainer, context); @@ -36771,8 +37554,8 @@ const serializeAws_ec2ImportSnapshotRequest = (input: ImportSnapshotRequest, con entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); @@ -36781,18 +37564,11 @@ const serializeAws_ec2ImportSnapshotRequest = (input: ImportSnapshotRequest, con entries[loc] = value; }); } - if (input.ClientData !== undefined) { - const memberEntries = serializeAws_ec2ClientData(input.ClientData, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ClientData.${key}`; - entries[loc] = value; - }); - } - if (input.Encrypted !== undefined) { - entries["Encrypted"] = input.Encrypted; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } return entries; }; @@ -36819,14 +37595,11 @@ const serializeAws_ec2ImportTaskIdList = (input: string[], context: __SerdeConte const serializeAws_ec2ImportVolumeRequest = (input: ImportVolumeRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; } if (input.Volume !== undefined) { const memberEntries = serializeAws_ec2VolumeDetail(input.Volume, context); @@ -36842,6 +37615,9 @@ const serializeAws_ec2ImportVolumeRequest = (input: ImportVolumeRequest, context entries[loc] = value; }); } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } return entries; }; @@ -36850,6 +37626,12 @@ const serializeAws_ec2InstanceBlockDeviceMappingSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DeviceName !== undefined) { + entries["DeviceName"] = input.DeviceName; + } + if (input.NoDevice !== undefined) { + entries["NoDevice"] = input.NoDevice; + } if (input.VirtualName !== undefined) { entries["VirtualName"] = input.VirtualName; } @@ -36860,12 +37642,6 @@ const serializeAws_ec2InstanceBlockDeviceMappingSpecification = ( entries[loc] = value; }); } - if (input.NoDevice !== undefined) { - entries["NoDevice"] = input.NoDevice; - } - if (input.DeviceName !== undefined) { - entries["DeviceName"] = input.DeviceName; - } return entries; }; @@ -36906,12 +37682,12 @@ const serializeAws_ec2InstanceCreditSpecificationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; - } if (input.CpuCredits !== undefined) { entries["CpuCredits"] = input.CpuCredits; } + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; + } return entries; }; @@ -36996,14 +37772,14 @@ const serializeAws_ec2InstanceMetadataOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.HttpEndpoint !== undefined) { - entries["HttpEndpoint"] = input.HttpEndpoint; + if (input.HttpPutResponseHopLimit !== undefined) { + entries["HttpPutResponseHopLimit"] = input.HttpPutResponseHopLimit; } if (input.HttpTokens !== undefined) { entries["HttpTokens"] = input.HttpTokens; } - if (input.HttpPutResponseHopLimit !== undefined) { - entries["HttpPutResponseHopLimit"] = input.HttpPutResponseHopLimit; + if (input.HttpEndpoint !== undefined) { + entries["HttpEndpoint"] = input.HttpEndpoint; } return entries; }; @@ -37013,31 +37789,6 @@ const serializeAws_ec2InstanceNetworkInterfaceSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DeleteOnTermination !== undefined) { - entries["DeleteOnTermination"] = input.DeleteOnTermination; - } - if (input.PrivateIpAddress !== undefined) { - entries["PrivateIpAddress"] = input.PrivateIpAddress; - } - if (input.DeviceIndex !== undefined) { - entries["DeviceIndex"] = input.DeviceIndex; - } - if (input.Ipv6Addresses !== undefined) { - const memberEntries = serializeAws_ec2InstanceIpv6AddressList(input.Ipv6Addresses, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Ipv6Addresses.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.SecondaryPrivateIpAddressCount !== undefined) { - entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount; - } - if (input.NetworkInterfaceId !== undefined) { - entries["NetworkInterfaceId"] = input.NetworkInterfaceId; - } - if (input.InterfaceType !== undefined) { - entries["InterfaceType"] = input.InterfaceType; - } if (input.PrivateIpAddresses !== undefined) { const memberEntries = serializeAws_ec2PrivateIpAddressSpecificationList(input.PrivateIpAddresses, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -37048,9 +37799,6 @@ const serializeAws_ec2InstanceNetworkInterfaceSpecification = ( if (input.SubnetId !== undefined) { entries["SubnetId"] = input.SubnetId; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.Groups !== undefined) { const memberEntries = serializeAws_ec2SecurityGroupIdStringList(input.Groups, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -37058,12 +37806,43 @@ const serializeAws_ec2InstanceNetworkInterfaceSpecification = ( entries[loc] = value; }); } + if (input.PrivateIpAddress !== undefined) { + entries["PrivateIpAddress"] = input.PrivateIpAddress; + } + if (input.NetworkInterfaceId !== undefined) { + entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + } + if (input.DeleteOnTermination !== undefined) { + entries["DeleteOnTermination"] = input.DeleteOnTermination; + } + if (input.DeviceIndex !== undefined) { + entries["DeviceIndex"] = input.DeviceIndex; + } + if (input.Ipv6Addresses !== undefined) { + const memberEntries = serializeAws_ec2InstanceIpv6AddressList(input.Ipv6Addresses, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Ipv6Addresses.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.Ipv6AddressCount !== undefined) { entries["Ipv6AddressCount"] = input.Ipv6AddressCount; } if (input.AssociatePublicIpAddress !== undefined) { entries["AssociatePublicIpAddress"] = input.AssociatePublicIpAddress; } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.InterfaceType !== undefined) { + entries["InterfaceType"] = input.InterfaceType; + } + if (input.AssociateCarrierIpAddress !== undefined) { + entries["AssociateCarrierIpAddress"] = input.AssociateCarrierIpAddress; + } + if (input.SecondaryPrivateIpAddressCount !== undefined) { + entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount; + } return entries; }; @@ -37085,12 +37864,12 @@ const serializeAws_ec2InstanceNetworkInterfaceSpecificationList = ( const serializeAws_ec2InstanceSpecification = (input: InstanceSpecification, context: __SerdeContext): any => { const entries: any = {}; - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; - } if (input.ExcludeBootVolume !== undefined) { entries["ExcludeBootVolume"] = input.ExcludeBootVolume; } + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; + } return entries; }; @@ -37126,13 +37905,6 @@ const serializeAws_ec2InternetGatewayIdList = (input: string[], context: __Serde const serializeAws_ec2IpPermission = (input: IpPermission, context: __SerdeContext): any => { const entries: any = {}; - if (input.IpRanges !== undefined) { - const memberEntries = serializeAws_ec2IpRangeList(input.IpRanges, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IpRanges.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.Ipv6Ranges !== undefined) { const memberEntries = serializeAws_ec2Ipv6RangeList(input.Ipv6Ranges, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -37140,15 +37912,16 @@ const serializeAws_ec2IpPermission = (input: IpPermission, context: __SerdeConte entries[loc] = value; }); } - if (input.ToPort !== undefined) { - entries["ToPort"] = input.ToPort; + if (input.UserIdGroupPairs !== undefined) { + const memberEntries = serializeAws_ec2UserIdGroupPairList(input.UserIdGroupPairs, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Groups.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.FromPort !== undefined) { entries["FromPort"] = input.FromPort; } - if (input.IpProtocol !== undefined) { - entries["IpProtocol"] = input.IpProtocol; - } if (input.PrefixListIds !== undefined) { const memberEntries = serializeAws_ec2PrefixListIdList(input.PrefixListIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -37156,13 +37929,19 @@ const serializeAws_ec2IpPermission = (input: IpPermission, context: __SerdeConte entries[loc] = value; }); } - if (input.UserIdGroupPairs !== undefined) { - const memberEntries = serializeAws_ec2UserIdGroupPairList(input.UserIdGroupPairs, context); + if (input.IpRanges !== undefined) { + const memberEntries = serializeAws_ec2IpRangeList(input.IpRanges, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Groups.${key.substring(key.indexOf(".") + 1)}`; + const loc = `IpRanges.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.ToPort !== undefined) { + entries["ToPort"] = input.ToPort; + } + if (input.IpProtocol !== undefined) { + entries["IpProtocol"] = input.IpProtocol; + } return entries; }; @@ -37225,12 +38004,12 @@ const serializeAws_ec2Ipv6PoolIdList = (input: string[], context: __SerdeContext const serializeAws_ec2Ipv6Range = (input: Ipv6Range, context: __SerdeContext): any => { const entries: any = {}; - if (input.CidrIpv6 !== undefined) { - entries["CidrIpv6"] = input.CidrIpv6; - } if (input.Description !== undefined) { entries["Description"] = input.Description; } + if (input.CidrIpv6 !== undefined) { + entries["CidrIpv6"] = input.CidrIpv6; + } return entries; }; @@ -37269,12 +38048,12 @@ const serializeAws_ec2KeyPairIdStringList = (input: string[], context: __SerdeCo const serializeAws_ec2LaunchPermission = (input: LaunchPermission, context: __SerdeContext): any => { const entries: any = {}; - if (input.UserId !== undefined) { - entries["UserId"] = input.UserId; - } if (input.Group !== undefined) { entries["Group"] = input.Group; } + if (input.UserId !== undefined) { + entries["UserId"] = input.UserId; + } return entries; }; @@ -37296,17 +38075,17 @@ const serializeAws_ec2LaunchPermissionModifications = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Remove !== undefined) { - const memberEntries = serializeAws_ec2LaunchPermissionList(input.Remove, context); + if (input.Add !== undefined) { + const memberEntries = serializeAws_ec2LaunchPermissionList(input.Add, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Remove.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Add.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.Add !== undefined) { - const memberEntries = serializeAws_ec2LaunchPermissionList(input.Add, context); + if (input.Remove !== undefined) { + const memberEntries = serializeAws_ec2LaunchPermissionList(input.Remove, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Add.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Remove.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -37331,9 +38110,6 @@ const serializeAws_ec2LaunchTemplateBlockDeviceMappingRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DeviceName !== undefined) { - entries["DeviceName"] = input.DeviceName; - } if (input.Ebs !== undefined) { const memberEntries = serializeAws_ec2LaunchTemplateEbsBlockDeviceRequest(input.Ebs, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -37341,12 +38117,15 @@ const serializeAws_ec2LaunchTemplateBlockDeviceMappingRequest = ( entries[loc] = value; }); } - if (input.NoDevice !== undefined) { - entries["NoDevice"] = input.NoDevice; - } if (input.VirtualName !== undefined) { entries["VirtualName"] = input.VirtualName; } + if (input.DeviceName !== undefined) { + entries["DeviceName"] = input.DeviceName; + } + if (input.NoDevice !== undefined) { + entries["NoDevice"] = input.NoDevice; + } return entries; }; @@ -37386,17 +38165,17 @@ const serializeAws_ec2LaunchTemplateCapacityReservationSpecificationRequest = ( const serializeAws_ec2LaunchTemplateConfig = (input: LaunchTemplateConfig, context: __SerdeContext): any => { const entries: any = {}; - if (input.LaunchTemplateSpecification !== undefined) { - const memberEntries = serializeAws_ec2FleetLaunchTemplateSpecification(input.LaunchTemplateSpecification, context); + if (input.Overrides !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateOverridesList(input.Overrides, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LaunchTemplateSpecification.${key}`; + const loc = `Overrides.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.Overrides !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplateOverridesList(input.Overrides, context); + if (input.LaunchTemplateSpecification !== undefined) { + const memberEntries = serializeAws_ec2FleetLaunchTemplateSpecification(input.LaunchTemplateSpecification, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Overrides.${key.substring(key.indexOf(".") + 1)}`; + const loc = `LaunchTemplateSpecification.${key}`; entries[loc] = value; }); } @@ -37435,20 +38214,14 @@ const serializeAws_ec2LaunchTemplateEbsBlockDeviceRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; - } - if (input.VolumeSize !== undefined) { - entries["VolumeSize"] = input.VolumeSize; + if (input.SnapshotId !== undefined) { + entries["SnapshotId"] = input.SnapshotId; } if (input.Encrypted !== undefined) { entries["Encrypted"] = input.Encrypted; } - if (input.DeleteOnTermination !== undefined) { - entries["DeleteOnTermination"] = input.DeleteOnTermination; - } - if (input.SnapshotId !== undefined) { - entries["SnapshotId"] = input.SnapshotId; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } if (input.VolumeType !== undefined) { entries["VolumeType"] = input.VolumeType; @@ -37456,6 +38229,12 @@ const serializeAws_ec2LaunchTemplateEbsBlockDeviceRequest = ( if (input.Iops !== undefined) { entries["Iops"] = input.Iops; } + if (input.DeleteOnTermination !== undefined) { + entries["DeleteOnTermination"] = input.DeleteOnTermination; + } + if (input.VolumeSize !== undefined) { + entries["VolumeSize"] = input.VolumeSize; + } return entries; }; @@ -37547,15 +38326,15 @@ const serializeAws_ec2LaunchTemplateInstanceMetadataOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.HttpEndpoint !== undefined) { - entries["HttpEndpoint"] = input.HttpEndpoint; - } if (input.HttpPutResponseHopLimit !== undefined) { entries["HttpPutResponseHopLimit"] = input.HttpPutResponseHopLimit; } if (input.HttpTokens !== undefined) { entries["HttpTokens"] = input.HttpTokens; } + if (input.HttpEndpoint !== undefined) { + entries["HttpEndpoint"] = input.HttpEndpoint; + } return entries; }; @@ -37564,30 +38343,17 @@ const serializeAws_ec2LaunchTemplateInstanceNetworkInterfaceSpecificationRequest context: __SerdeContext ): any => { const entries: any = {}; - if (input.Ipv6AddressCount !== undefined) { - entries["Ipv6AddressCount"] = input.Ipv6AddressCount; - } - if (input.Ipv6Addresses !== undefined) { - const memberEntries = serializeAws_ec2InstanceIpv6AddressListRequest(input.Ipv6Addresses, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Ipv6Addresses.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.SubnetId !== undefined) { - entries["SubnetId"] = input.SubnetId; - } - if (input.DeleteOnTermination !== undefined) { - entries["DeleteOnTermination"] = input.DeleteOnTermination; + if (input.SecondaryPrivateIpAddressCount !== undefined) { + entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount; } - if (input.NetworkInterfaceId !== undefined) { - entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + if (input.DeviceIndex !== undefined) { + entries["DeviceIndex"] = input.DeviceIndex; } if (input.AssociatePublicIpAddress !== undefined) { entries["AssociatePublicIpAddress"] = input.AssociatePublicIpAddress; } - if (input.SecondaryPrivateIpAddressCount !== undefined) { - entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount; + if (input.NetworkInterfaceId !== undefined) { + entries["NetworkInterfaceId"] = input.NetworkInterfaceId; } if (input.PrivateIpAddresses !== undefined) { const memberEntries = serializeAws_ec2PrivateIpAddressSpecificationList(input.PrivateIpAddresses, context); @@ -37596,9 +38362,18 @@ const serializeAws_ec2LaunchTemplateInstanceNetworkInterfaceSpecificationRequest entries[loc] = value; }); } + if (input.PrivateIpAddress !== undefined) { + entries["PrivateIpAddress"] = input.PrivateIpAddress; + } + if (input.DeleteOnTermination !== undefined) { + entries["DeleteOnTermination"] = input.DeleteOnTermination; + } if (input.Description !== undefined) { entries["Description"] = input.Description; } + if (input.Ipv6AddressCount !== undefined) { + entries["Ipv6AddressCount"] = input.Ipv6AddressCount; + } if (input.Groups !== undefined) { const memberEntries = serializeAws_ec2SecurityGroupIdStringList(input.Groups, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -37606,14 +38381,21 @@ const serializeAws_ec2LaunchTemplateInstanceNetworkInterfaceSpecificationRequest entries[loc] = value; }); } - if (input.DeviceIndex !== undefined) { - entries["DeviceIndex"] = input.DeviceIndex; + if (input.AssociateCarrierIpAddress !== undefined) { + entries["AssociateCarrierIpAddress"] = input.AssociateCarrierIpAddress; } if (input.InterfaceType !== undefined) { entries["InterfaceType"] = input.InterfaceType; } - if (input.PrivateIpAddress !== undefined) { - entries["PrivateIpAddress"] = input.PrivateIpAddress; + if (input.Ipv6Addresses !== undefined) { + const memberEntries = serializeAws_ec2InstanceIpv6AddressListRequest(input.Ipv6Addresses, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Ipv6Addresses.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.SubnetId !== undefined) { + entries["SubnetId"] = input.SubnetId; } return entries; }; @@ -37676,12 +38458,6 @@ const serializeAws_ec2LaunchTemplateOverrides = (input: LaunchTemplateOverrides, if (input.Priority !== undefined) { entries["Priority"] = input.Priority; } - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; - } - if (input.SpotPrice !== undefined) { - entries["SpotPrice"] = input.SpotPrice; - } if (input.WeightedCapacity !== undefined) { entries["WeightedCapacity"] = input.WeightedCapacity; } @@ -37691,6 +38467,12 @@ const serializeAws_ec2LaunchTemplateOverrides = (input: LaunchTemplateOverrides, if (input.AvailabilityZone !== undefined) { entries["AvailabilityZone"] = input.AvailabilityZone; } + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; + } + if (input.SpotPrice !== undefined) { + entries["SpotPrice"] = input.SpotPrice; + } return entries; }; @@ -37715,29 +38497,29 @@ const serializeAws_ec2LaunchTemplatePlacementRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PartitionNumber !== undefined) { - entries["PartitionNumber"] = input.PartitionNumber; - } if (input.Tenancy !== undefined) { entries["Tenancy"] = input.Tenancy; } - if (input.SpreadDomain !== undefined) { - entries["SpreadDomain"] = input.SpreadDomain; - } - if (input.HostResourceGroupArn !== undefined) { - entries["HostResourceGroupArn"] = input.HostResourceGroupArn; - } if (input.HostId !== undefined) { entries["HostId"] = input.HostId; } - if (input.Affinity !== undefined) { - entries["Affinity"] = input.Affinity; + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; } if (input.AvailabilityZone !== undefined) { entries["AvailabilityZone"] = input.AvailabilityZone; } - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; + if (input.Affinity !== undefined) { + entries["Affinity"] = input.Affinity; + } + if (input.PartitionNumber !== undefined) { + entries["PartitionNumber"] = input.PartitionNumber; + } + if (input.SpreadDomain !== undefined) { + entries["SpreadDomain"] = input.SpreadDomain; + } + if (input.HostResourceGroupArn !== undefined) { + entries["HostResourceGroupArn"] = input.HostResourceGroupArn; } return entries; }; @@ -37758,12 +38540,12 @@ const serializeAws_ec2LaunchTemplateSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Version !== undefined) { - entries["Version"] = input.Version; - } if (input.LaunchTemplateName !== undefined) { entries["LaunchTemplateName"] = input.LaunchTemplateName; } + if (input.Version !== undefined) { + entries["Version"] = input.Version; + } if (input.LaunchTemplateId !== undefined) { entries["LaunchTemplateId"] = input.LaunchTemplateId; } @@ -37775,20 +38557,20 @@ const serializeAws_ec2LaunchTemplateSpotMarketOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SpotInstanceType !== undefined) { - entries["SpotInstanceType"] = input.SpotInstanceType; + if (input.BlockDurationMinutes !== undefined) { + entries["BlockDurationMinutes"] = input.BlockDurationMinutes; } - if (input.InstanceInterruptionBehavior !== undefined) { - entries["InstanceInterruptionBehavior"] = input.InstanceInterruptionBehavior; + if (input.MaxPrice !== undefined) { + entries["MaxPrice"] = input.MaxPrice; } if (input.ValidUntil !== undefined) { entries["ValidUntil"] = input.ValidUntil.toISOString().split(".")[0] + "Z"; } - if (input.BlockDurationMinutes !== undefined) { - entries["BlockDurationMinutes"] = input.BlockDurationMinutes; + if (input.InstanceInterruptionBehavior !== undefined) { + entries["InstanceInterruptionBehavior"] = input.InstanceInterruptionBehavior; } - if (input.MaxPrice !== undefined) { - entries["MaxPrice"] = input.MaxPrice; + if (input.SpotInstanceType !== undefined) { + entries["SpotInstanceType"] = input.SpotInstanceType; } return entries; }; @@ -37891,17 +38673,17 @@ const serializeAws_ec2LoadPermissionModifications = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Remove !== undefined) { - const memberEntries = serializeAws_ec2LoadPermissionListRequest(input.Remove, context); + if (input.Add !== undefined) { + const memberEntries = serializeAws_ec2LoadPermissionListRequest(input.Add, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Remove.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Add.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.Add !== undefined) { - const memberEntries = serializeAws_ec2LoadPermissionListRequest(input.Add, context); + if (input.Remove !== undefined) { + const memberEntries = serializeAws_ec2LoadPermissionListRequest(input.Remove, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Add.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Remove.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -37987,15 +38769,15 @@ const serializeAws_ec2ModifyAvailabilityZoneGroupRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; + } if (input.OptInStatus !== undefined) { entries["OptInStatus"] = input.OptInStatus; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; - } return entries; }; @@ -38004,20 +38786,20 @@ const serializeAws_ec2ModifyCapacityReservationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EndDate !== undefined) { - entries["EndDate"] = input.EndDate.toISOString().split(".")[0] + "Z"; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.InstanceCount !== undefined) { - entries["InstanceCount"] = input.InstanceCount; + if (input.CapacityReservationId !== undefined) { + entries["CapacityReservationId"] = input.CapacityReservationId; + } + if (input.EndDate !== undefined) { + entries["EndDate"] = input.EndDate.toISOString().split(".")[0] + "Z"; } if (input.EndDateType !== undefined) { entries["EndDateType"] = input.EndDateType; } - if (input.CapacityReservationId !== undefined) { - entries["CapacityReservationId"] = input.CapacityReservationId; + if (input.InstanceCount !== undefined) { + entries["InstanceCount"] = input.InstanceCount; } return entries; }; @@ -38027,21 +38809,30 @@ const serializeAws_ec2ModifyClientVpnEndpointRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.VpnPort !== undefined) { + entries["VpnPort"] = input.VpnPort; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.VpnPort !== undefined) { - entries["VpnPort"] = input.VpnPort; + if (input.ServerCertificateArn !== undefined) { + entries["ServerCertificateArn"] = input.ServerCertificateArn; } - if (input.SecurityGroupIds !== undefined) { - const memberEntries = serializeAws_ec2ClientVpnSecurityGroupIdSet(input.SecurityGroupIds, context); + if (input.ClientVpnEndpointId !== undefined) { + entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; + } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } + if (input.DnsServers !== undefined) { + const memberEntries = serializeAws_ec2DnsServersOptionsModifyStructure(input.DnsServers, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `DnsServers.${key}`; entries[loc] = value; }); } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.SplitTunnel !== undefined) { + entries["SplitTunnel"] = input.SplitTunnel; } if (input.ConnectionLogOptions !== undefined) { const memberEntries = serializeAws_ec2ConnectionLogOptions(input.ConnectionLogOptions, context); @@ -38050,25 +38841,16 @@ const serializeAws_ec2ModifyClientVpnEndpointRequest = ( entries[loc] = value; }); } - if (input.ServerCertificateArn !== undefined) { - entries["ServerCertificateArn"] = input.ServerCertificateArn; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } - if (input.DnsServers !== undefined) { - const memberEntries = serializeAws_ec2DnsServersOptionsModifyStructure(input.DnsServers, context); + if (input.SecurityGroupIds !== undefined) { + const memberEntries = serializeAws_ec2ClientVpnSecurityGroupIdSet(input.SecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DnsServers.${key}`; + const loc = `SecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.SplitTunnel !== undefined) { - entries["SplitTunnel"] = input.SplitTunnel; - } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; - } - if (input.ClientVpnEndpointId !== undefined) { - entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; - } return entries; }; @@ -38105,15 +38887,9 @@ const serializeAws_ec2ModifyEbsDefaultKmsKeyIdRequest = ( const serializeAws_ec2ModifyFleetRequest = (input: ModifyFleetRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.FleetId !== undefined) { entries["FleetId"] = input.FleetId; } - if (input.ExcessCapacityTerminationPolicy !== undefined) { - entries["ExcessCapacityTerminationPolicy"] = input.ExcessCapacityTerminationPolicy; - } if (input.TargetCapacitySpecification !== undefined) { const memberEntries = serializeAws_ec2TargetCapacitySpecificationRequest( input.TargetCapacitySpecification, @@ -38124,6 +38900,19 @@ const serializeAws_ec2ModifyFleetRequest = (input: ModifyFleetRequest, context: entries[loc] = value; }); } + if (input.LaunchTemplateConfigs !== undefined) { + const memberEntries = serializeAws_ec2FleetLaunchTemplateConfigListRequest(input.LaunchTemplateConfigs, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `LaunchTemplateConfig.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.ExcessCapacityTerminationPolicy !== undefined) { + entries["ExcessCapacityTerminationPolicy"] = input.ExcessCapacityTerminationPolicy; + } return entries; }; @@ -38132,25 +38921,38 @@ const serializeAws_ec2ModifyFpgaImageAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.UserGroups !== undefined) { - const memberEntries = serializeAws_ec2UserGroupStringList(input.UserGroups, context); + if (input.Attribute !== undefined) { + entries["Attribute"] = input.Attribute; + } + if (input.ProductCodes !== undefined) { + const memberEntries = serializeAws_ec2ProductCodeStringList(input.ProductCodes, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `UserGroup.${key.substring(key.indexOf(".") + 1)}`; + const loc = `ProductCode.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.FpgaImageId !== undefined) { entries["FpgaImageId"] = input.FpgaImageId; } - if (input.ProductCodes !== undefined) { - const memberEntries = serializeAws_ec2ProductCodeStringList(input.ProductCodes, context); + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } + if (input.UserGroups !== undefined) { + const memberEntries = serializeAws_ec2UserGroupStringList(input.UserGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ProductCode.${key.substring(key.indexOf(".") + 1)}`; + const loc = `UserGroup.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.Attribute !== undefined) { - entries["Attribute"] = input.Attribute; + if (input.UserIds !== undefined) { + const memberEntries = serializeAws_ec2UserIdStringList(input.UserIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `UserId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.OperationType !== undefined) { + entries["OperationType"] = input.OperationType; } if (input.Description !== undefined) { entries["Description"] = input.Description; @@ -38162,39 +38964,17 @@ const serializeAws_ec2ModifyFpgaImageAttributeRequest = ( entries[loc] = value; }); } - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } - if (input.OperationType !== undefined) { - entries["OperationType"] = input.OperationType; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.UserIds !== undefined) { - const memberEntries = serializeAws_ec2UserIdStringList(input.UserIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `UserId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } return entries; }; const serializeAws_ec2ModifyHostsRequest = (input: ModifyHostsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.AutoPlacement !== undefined) { - entries["AutoPlacement"] = input.AutoPlacement; - } if (input.InstanceFamily !== undefined) { entries["InstanceFamily"] = input.InstanceFamily; } - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; - } - if (input.HostRecovery !== undefined) { - entries["HostRecovery"] = input.HostRecovery; - } if (input.HostIds !== undefined) { const memberEntries = serializeAws_ec2RequestHostIdList(input.HostIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38202,6 +38982,15 @@ const serializeAws_ec2ModifyHostsRequest = (input: ModifyHostsRequest, context: entries[loc] = value; }); } + if (input.AutoPlacement !== undefined) { + entries["AutoPlacement"] = input.AutoPlacement; + } + if (input.HostRecovery !== undefined) { + entries["HostRecovery"] = input.HostRecovery; + } + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; + } return entries; }; @@ -38210,15 +38999,15 @@ const serializeAws_ec2ModifyIdentityIdFormatRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.UseLongIds !== undefined) { - entries["UseLongIds"] = input.UseLongIds; - } if (input.Resource !== undefined) { entries["Resource"] = input.Resource; } if (input.PrincipalArn !== undefined) { entries["PrincipalArn"] = input.PrincipalArn; } + if (input.UseLongIds !== undefined) { + entries["UseLongIds"] = input.UseLongIds; + } return entries; }; @@ -38238,15 +39027,6 @@ const serializeAws_ec2ModifyImageAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } - if (input.OperationType !== undefined) { - entries["OperationType"] = input.OperationType; - } - if (input.ImageId !== undefined) { - entries["ImageId"] = input.ImageId; - } if (input.Description !== undefined) { const memberEntries = serializeAws_ec2AttributeValue(input.Description, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38254,6 +39034,9 @@ const serializeAws_ec2ModifyImageAttributeRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.ProductCodes !== undefined) { const memberEntries = serializeAws_ec2ProductCodeStringList(input.ProductCodes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38261,11 +39044,12 @@ const serializeAws_ec2ModifyImageAttributeRequest = ( entries[loc] = value; }); } - if (input.Attribute !== undefined) { - entries["Attribute"] = input.Attribute; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.UserIds !== undefined) { + const memberEntries = serializeAws_ec2UserIdStringList(input.UserIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `UserId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.UserGroups !== undefined) { const memberEntries = serializeAws_ec2UserGroupStringList(input.UserGroups, context); @@ -38281,12 +39065,17 @@ const serializeAws_ec2ModifyImageAttributeRequest = ( entries[loc] = value; }); } - if (input.UserIds !== undefined) { - const memberEntries = serializeAws_ec2UserIdStringList(input.UserIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `UserId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.Attribute !== undefined) { + entries["Attribute"] = input.Attribute; + } + if (input.OperationType !== undefined) { + entries["OperationType"] = input.OperationType; + } + if (input.ImageId !== undefined) { + entries["ImageId"] = input.ImageId; + } + if (input.Value !== undefined) { + entries["Value"] = input.Value; } return entries; }; @@ -38296,91 +39085,78 @@ const serializeAws_ec2ModifyInstanceAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.InstanceType !== undefined) { - const memberEntries = serializeAws_ec2AttributeValue(input.InstanceType, context); + if (input.BlockDeviceMappings !== undefined) { + const memberEntries = serializeAws_ec2InstanceBlockDeviceMappingSpecificationList( + input.BlockDeviceMappings, + context + ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `InstanceType.${key}`; + const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.SriovNetSupport !== undefined) { - const memberEntries = serializeAws_ec2AttributeValue(input.SriovNetSupport, context); + if (input.Ramdisk !== undefined) { + const memberEntries = serializeAws_ec2AttributeValue(input.Ramdisk, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SriovNetSupport.${key}`; + const loc = `Ramdisk.${key}`; entries[loc] = value; }); } - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } - if (input.InstanceInitiatedShutdownBehavior !== undefined) { - const memberEntries = serializeAws_ec2AttributeValue(input.InstanceInitiatedShutdownBehavior, context); + if (input.Groups !== undefined) { + const memberEntries = serializeAws_ec2GroupIdStringList(input.Groups, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `InstanceInitiatedShutdownBehavior.${key}`; + const loc = `GroupId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.Ramdisk !== undefined) { - const memberEntries = serializeAws_ec2AttributeValue(input.Ramdisk, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Ramdisk.${key}`; - entries[loc] = value; - }); + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } - if (input.DisableApiTermination !== undefined) { - const memberEntries = serializeAws_ec2AttributeBooleanValue(input.DisableApiTermination, context); + if (input.EnaSupport !== undefined) { + const memberEntries = serializeAws_ec2AttributeBooleanValue(input.EnaSupport, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DisableApiTermination.${key}`; + const loc = `EnaSupport.${key}`; entries[loc] = value; }); } - if (input.Kernel !== undefined) { - const memberEntries = serializeAws_ec2AttributeValue(input.Kernel, context); + if (input.EbsOptimized !== undefined) { + const memberEntries = serializeAws_ec2AttributeBooleanValue(input.EbsOptimized, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Kernel.${key}`; + const loc = `EbsOptimized.${key}`; entries[loc] = value; }); } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.Attribute !== undefined) { + entries["Attribute"] = input.Attribute; } - if (input.BlockDeviceMappings !== undefined) { - const memberEntries = serializeAws_ec2InstanceBlockDeviceMappingSpecificationList( - input.BlockDeviceMappings, - context - ); + if (input.UserData !== undefined) { + const memberEntries = serializeAws_ec2BlobAttributeValue(input.UserData, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; + const loc = `UserData.${key}`; entries[loc] = value; }); } - if (input.EnaSupport !== undefined) { - const memberEntries = serializeAws_ec2AttributeBooleanValue(input.EnaSupport, context); + if (input.InstanceInitiatedShutdownBehavior !== undefined) { + const memberEntries = serializeAws_ec2AttributeValue(input.InstanceInitiatedShutdownBehavior, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnaSupport.${key}`; + const loc = `InstanceInitiatedShutdownBehavior.${key}`; entries[loc] = value; }); } - if (input.Groups !== undefined) { - const memberEntries = serializeAws_ec2GroupIdStringList(input.Groups, context); + if (input.SriovNetSupport !== undefined) { + const memberEntries = serializeAws_ec2AttributeValue(input.SriovNetSupport, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `GroupId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `SriovNetSupport.${key}`; entries[loc] = value; }); } - if (input.UserData !== undefined) { - const memberEntries = serializeAws_ec2BlobAttributeValue(input.UserData, context); + if (input.InstanceType !== undefined) { + const memberEntries = serializeAws_ec2AttributeValue(input.InstanceType, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `UserData.${key}`; + const loc = `InstanceType.${key}`; entries[loc] = value; }); } - if (input.Attribute !== undefined) { - entries["Attribute"] = input.Attribute; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.SourceDestCheck !== undefined) { const memberEntries = serializeAws_ec2AttributeBooleanValue(input.SourceDestCheck, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38388,10 +39164,23 @@ const serializeAws_ec2ModifyInstanceAttributeRequest = ( entries[loc] = value; }); } - if (input.EbsOptimized !== undefined) { - const memberEntries = serializeAws_ec2AttributeBooleanValue(input.EbsOptimized, context); + if (input.DisableApiTermination !== undefined) { + const memberEntries = serializeAws_ec2AttributeBooleanValue(input.DisableApiTermination, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EbsOptimized.${key}`; + const loc = `DisableApiTermination.${key}`; + entries[loc] = value; + }); + } + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; + } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } + if (input.Kernel !== undefined) { + const memberEntries = serializeAws_ec2AttributeValue(input.Kernel, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Kernel.${key}`; entries[loc] = value; }); } @@ -38403,8 +39192,8 @@ const serializeAws_ec2ModifyInstanceCapacityReservationAttributesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.CapacityReservationSpecification !== undefined) { const memberEntries = serializeAws_ec2CapacityReservationSpecification( @@ -38416,8 +39205,8 @@ const serializeAws_ec2ModifyInstanceCapacityReservationAttributesRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; } return entries; }; @@ -38427,8 +39216,8 @@ const serializeAws_ec2ModifyInstanceCreditSpecificationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.InstanceCreditSpecifications !== undefined) { const memberEntries = serializeAws_ec2InstanceCreditSpecificationListRequest( @@ -38440,8 +39229,8 @@ const serializeAws_ec2ModifyInstanceCreditSpecificationRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } return entries; }; @@ -38451,18 +39240,18 @@ const serializeAws_ec2ModifyInstanceEventStartTimeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; - } if (input.NotBefore !== undefined) { entries["NotBefore"] = input.NotBefore.toISOString().split(".")[0] + "Z"; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.InstanceEventId !== undefined) { entries["InstanceEventId"] = input.InstanceEventId; } + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; + } return entries; }; @@ -38471,12 +39260,6 @@ const serializeAws_ec2ModifyInstanceMetadataOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.HttpEndpoint !== undefined) { - entries["HttpEndpoint"] = input.HttpEndpoint; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.HttpTokens !== undefined) { entries["HttpTokens"] = input.HttpTokens; } @@ -38486,6 +39269,12 @@ const serializeAws_ec2ModifyInstanceMetadataOptionsRequest = ( if (input.InstanceId !== undefined) { entries["InstanceId"] = input.InstanceId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.HttpEndpoint !== undefined) { + entries["HttpEndpoint"] = input.HttpEndpoint; + } return entries; }; @@ -38494,26 +39283,26 @@ const serializeAws_ec2ModifyInstancePlacementRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Tenancy !== undefined) { + entries["Tenancy"] = input.Tenancy; + } if (input.Affinity !== undefined) { entries["Affinity"] = input.Affinity; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.HostId !== undefined) { + entries["HostId"] = input.HostId; } - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; + if (input.HostResourceGroupArn !== undefined) { + entries["HostResourceGroupArn"] = input.HostResourceGroupArn; } - if (input.Tenancy !== undefined) { - entries["Tenancy"] = input.Tenancy; + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; } if (input.PartitionNumber !== undefined) { entries["PartitionNumber"] = input.PartitionNumber; } - if (input.HostResourceGroupArn !== undefined) { - entries["HostResourceGroupArn"] = input.HostResourceGroupArn; - } - if (input.HostId !== undefined) { - entries["HostId"] = input.HostId; + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; } return entries; }; @@ -38523,20 +39312,20 @@ const serializeAws_ec2ModifyLaunchTemplateRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LaunchTemplateId !== undefined) { - entries["LaunchTemplateId"] = input.LaunchTemplateId; + if (input.LaunchTemplateName !== undefined) { + entries["LaunchTemplateName"] = input.LaunchTemplateName; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } if (input.DefaultVersion !== undefined) { entries["SetDefaultVersion"] = input.DefaultVersion; } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.LaunchTemplateId !== undefined) { + entries["LaunchTemplateId"] = input.LaunchTemplateId; } - if (input.LaunchTemplateName !== undefined) { - entries["LaunchTemplateName"] = input.LaunchTemplateName; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -38553,24 +39342,24 @@ const serializeAws_ec2ModifyManagedPrefixListRequest = ( entries[loc] = value; }); } - if (input.PrefixListId !== undefined) { - entries["PrefixListId"] = input.PrefixListId; - } - if (input.CurrentVersion !== undefined) { - entries["CurrentVersion"] = input.CurrentVersion; + if (input.RemoveEntries !== undefined) { + const memberEntries = serializeAws_ec2RemovePrefixListEntries(input.RemoveEntries, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `RemoveEntry.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.PrefixListId !== undefined) { + entries["PrefixListId"] = input.PrefixListId; + } if (input.PrefixListName !== undefined) { entries["PrefixListName"] = input.PrefixListName; } - if (input.RemoveEntries !== undefined) { - const memberEntries = serializeAws_ec2RemovePrefixListEntries(input.RemoveEntries, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `RemoveEntry.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.CurrentVersion !== undefined) { + entries["CurrentVersion"] = input.CurrentVersion; } return entries; }; @@ -38580,13 +39369,6 @@ const serializeAws_ec2ModifyNetworkInterfaceAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SourceDestCheck !== undefined) { - const memberEntries = serializeAws_ec2AttributeBooleanValue(input.SourceDestCheck, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SourceDestCheck.${key}`; - entries[loc] = value; - }); - } if (input.Groups !== undefined) { const memberEntries = serializeAws_ec2SecurityGroupIdStringList(input.Groups, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38608,12 +39390,19 @@ const serializeAws_ec2ModifyNetworkInterfaceAttributeRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.NetworkInterfaceId !== undefined) { entries["NetworkInterfaceId"] = input.NetworkInterfaceId; } + if (input.SourceDestCheck !== undefined) { + const memberEntries = serializeAws_ec2AttributeBooleanValue(input.SourceDestCheck, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SourceDestCheck.${key}`; + entries[loc] = value; + }); + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -38622,13 +39411,6 @@ const serializeAws_ec2ModifyReservedInstancesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TargetConfigurations !== undefined) { - const memberEntries = serializeAws_ec2ReservedInstancesConfigurationList(input.TargetConfigurations, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ReservedInstancesConfigurationSetItemType.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.ReservedInstancesIds !== undefined) { const memberEntries = serializeAws_ec2ReservedInstancesIdStringList(input.ReservedInstancesIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38639,6 +39421,13 @@ const serializeAws_ec2ModifyReservedInstancesRequest = ( if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } + if (input.TargetConfigurations !== undefined) { + const memberEntries = serializeAws_ec2ReservedInstancesConfigurationList(input.TargetConfigurations, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ReservedInstancesConfigurationSetItemType.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } return entries; }; @@ -38647,39 +39436,39 @@ const serializeAws_ec2ModifySnapshotAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.UserIds !== undefined) { - const memberEntries = serializeAws_ec2UserIdStringList(input.UserIds, context); + if (input.GroupNames !== undefined) { + const memberEntries = serializeAws_ec2GroupNameStringList(input.GroupNames, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `UserId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `UserGroup.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.SnapshotId !== undefined) { entries["SnapshotId"] = input.SnapshotId; } - if (input.OperationType !== undefined) { - entries["OperationType"] = input.OperationType; - } if (input.Attribute !== undefined) { entries["Attribute"] = input.Attribute; } - if (input.CreateVolumePermission !== undefined) { - const memberEntries = serializeAws_ec2CreateVolumePermissionModifications(input.CreateVolumePermission, context); + if (input.UserIds !== undefined) { + const memberEntries = serializeAws_ec2UserIdStringList(input.UserIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CreateVolumePermission.${key}`; + const loc = `UserId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.GroupNames !== undefined) { - const memberEntries = serializeAws_ec2GroupNameStringList(input.GroupNames, context); + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.OperationType !== undefined) { + entries["OperationType"] = input.OperationType; + } + if (input.CreateVolumePermission !== undefined) { + const memberEntries = serializeAws_ec2CreateVolumePermissionModifications(input.CreateVolumePermission, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `UserGroup.${key.substring(key.indexOf(".") + 1)}`; + const loc = `CreateVolumePermission.${key}`; entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -38691,15 +39480,22 @@ const serializeAws_ec2ModifySpotFleetRequestRequest = ( if (input.SpotFleetRequestId !== undefined) { entries["SpotFleetRequestId"] = input.SpotFleetRequestId; } + if (input.ExcessCapacityTerminationPolicy !== undefined) { + entries["ExcessCapacityTerminationPolicy"] = input.ExcessCapacityTerminationPolicy; + } if (input.TargetCapacity !== undefined) { entries["TargetCapacity"] = input.TargetCapacity; } + if (input.LaunchTemplateConfigs !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateConfigList(input.LaunchTemplateConfigs, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `LaunchTemplateConfig.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.OnDemandTargetCapacity !== undefined) { entries["OnDemandTargetCapacity"] = input.OnDemandTargetCapacity; } - if (input.ExcessCapacityTerminationPolicy !== undefined) { - entries["ExcessCapacityTerminationPolicy"] = input.ExcessCapacityTerminationPolicy; - } return entries; }; @@ -38708,12 +39504,16 @@ const serializeAws_ec2ModifySubnetAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SubnetId !== undefined) { - entries["SubnetId"] = input.SubnetId; - } if (input.CustomerOwnedIpv4Pool !== undefined) { entries["CustomerOwnedIpv4Pool"] = input.CustomerOwnedIpv4Pool; } + if (input.MapPublicIpOnLaunch !== undefined) { + const memberEntries = serializeAws_ec2AttributeBooleanValue(input.MapPublicIpOnLaunch, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MapPublicIpOnLaunch.${key}`; + entries[loc] = value; + }); + } if (input.AssignIpv6AddressOnCreation !== undefined) { const memberEntries = serializeAws_ec2AttributeBooleanValue(input.AssignIpv6AddressOnCreation, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38721,6 +39521,9 @@ const serializeAws_ec2ModifySubnetAttributeRequest = ( entries[loc] = value; }); } + if (input.SubnetId !== undefined) { + entries["SubnetId"] = input.SubnetId; + } if (input.MapCustomerOwnedIpOnLaunch !== undefined) { const memberEntries = serializeAws_ec2AttributeBooleanValue(input.MapCustomerOwnedIpOnLaunch, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38728,13 +39531,6 @@ const serializeAws_ec2ModifySubnetAttributeRequest = ( entries[loc] = value; }); } - if (input.MapPublicIpOnLaunch !== undefined) { - const memberEntries = serializeAws_ec2AttributeBooleanValue(input.MapPublicIpOnLaunch, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `MapPublicIpOnLaunch.${key}`; - entries[loc] = value; - }); - } return entries; }; @@ -38743,16 +39539,6 @@ const serializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TrafficMirrorFilterId !== undefined) { - entries["TrafficMirrorFilterId"] = input.TrafficMirrorFilterId; - } - if (input.AddNetworkServices !== undefined) { - const memberEntries = serializeAws_ec2TrafficMirrorNetworkServiceList(input.AddNetworkServices, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AddNetworkService.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.RemoveNetworkServices !== undefined) { const memberEntries = serializeAws_ec2TrafficMirrorNetworkServiceList(input.RemoveNetworkServices, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38763,6 +39549,16 @@ const serializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.TrafficMirrorFilterId !== undefined) { + entries["TrafficMirrorFilterId"] = input.TrafficMirrorFilterId; + } + if (input.AddNetworkServices !== undefined) { + const memberEntries = serializeAws_ec2TrafficMirrorNetworkServiceList(input.AddNetworkServices, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AddNetworkService.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } return entries; }; @@ -38771,17 +39567,14 @@ const serializeAws_ec2ModifyTrafficMirrorFilterRuleRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RuleNumber !== undefined) { - entries["RuleNumber"] = input.RuleNumber; - } - if (input.Protocol !== undefined) { - entries["Protocol"] = input.Protocol; + if (input.DestinationCidrBlock !== undefined) { + entries["DestinationCidrBlock"] = input.DestinationCidrBlock; } if (input.SourceCidrBlock !== undefined) { entries["SourceCidrBlock"] = input.SourceCidrBlock; } - if (input.TrafficDirection !== undefined) { - entries["TrafficDirection"] = input.TrafficDirection; + if (input.RuleNumber !== undefined) { + entries["RuleNumber"] = input.RuleNumber; } if (input.Description !== undefined) { entries["Description"] = input.Description; @@ -38789,16 +39582,6 @@ const serializeAws_ec2ModifyTrafficMirrorFilterRuleRequest = ( if (input.RuleAction !== undefined) { entries["RuleAction"] = input.RuleAction; } - if (input.DestinationPortRange !== undefined) { - const memberEntries = serializeAws_ec2TrafficMirrorPortRangeRequest(input.DestinationPortRange, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DestinationPortRange.${key}`; - entries[loc] = value; - }); - } - if (input.TrafficMirrorFilterRuleId !== undefined) { - entries["TrafficMirrorFilterRuleId"] = input.TrafficMirrorFilterRuleId; - } if (input.SourcePortRange !== undefined) { const memberEntries = serializeAws_ec2TrafficMirrorPortRangeRequest(input.SourcePortRange, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38806,8 +39589,11 @@ const serializeAws_ec2ModifyTrafficMirrorFilterRuleRequest = ( entries[loc] = value; }); } - if (input.DestinationCidrBlock !== undefined) { - entries["DestinationCidrBlock"] = input.DestinationCidrBlock; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.TrafficMirrorFilterRuleId !== undefined) { + entries["TrafficMirrorFilterRuleId"] = input.TrafficMirrorFilterRuleId; } if (input.RemoveFields !== undefined) { const memberEntries = serializeAws_ec2TrafficMirrorFilterRuleFieldList(input.RemoveFields, context); @@ -38816,8 +39602,18 @@ const serializeAws_ec2ModifyTrafficMirrorFilterRuleRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.DestinationPortRange !== undefined) { + const memberEntries = serializeAws_ec2TrafficMirrorPortRangeRequest(input.DestinationPortRange, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DestinationPortRange.${key}`; + entries[loc] = value; + }); + } + if (input.Protocol !== undefined) { + entries["Protocol"] = input.Protocol; + } + if (input.TrafficDirection !== undefined) { + entries["TrafficDirection"] = input.TrafficDirection; } return entries; }; @@ -38827,9 +39623,6 @@ const serializeAws_ec2ModifyTrafficMirrorSessionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.RemoveFields !== undefined) { const memberEntries = serializeAws_ec2TrafficMirrorSessionFieldList(input.RemoveFields, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38837,17 +39630,14 @@ const serializeAws_ec2ModifyTrafficMirrorSessionRequest = ( entries[loc] = value; }); } + if (input.VirtualNetworkId !== undefined) { + entries["VirtualNetworkId"] = input.VirtualNetworkId; + } if (input.TrafficMirrorTargetId !== undefined) { entries["TrafficMirrorTargetId"] = input.TrafficMirrorTargetId; } - if (input.TrafficMirrorFilterId !== undefined) { - entries["TrafficMirrorFilterId"] = input.TrafficMirrorFilterId; - } - if (input.TrafficMirrorSessionId !== undefined) { - entries["TrafficMirrorSessionId"] = input.TrafficMirrorSessionId; - } - if (input.PacketLength !== undefined) { - entries["PacketLength"] = input.PacketLength; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.SessionNumber !== undefined) { entries["SessionNumber"] = input.SessionNumber; @@ -38855,27 +39645,99 @@ const serializeAws_ec2ModifyTrafficMirrorSessionRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.VirtualNetworkId !== undefined) { - entries["VirtualNetworkId"] = input.VirtualNetworkId; + if (input.PacketLength !== undefined) { + entries["PacketLength"] = input.PacketLength; + } + if (input.TrafficMirrorSessionId !== undefined) { + entries["TrafficMirrorSessionId"] = input.TrafficMirrorSessionId; + } + if (input.TrafficMirrorFilterId !== undefined) { + entries["TrafficMirrorFilterId"] = input.TrafficMirrorFilterId; } return entries; }; -const serializeAws_ec2ModifyTransitGatewayVpcAttachmentRequest = ( - input: ModifyTransitGatewayVpcAttachmentRequest, +const serializeAws_ec2ModifyTransitGatewayOptions = ( + input: ModifyTransitGatewayOptions, context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayAttachmentId !== undefined) { - entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + if (input.PropagationDefaultRouteTableId !== undefined) { + entries["PropagationDefaultRouteTableId"] = input.PropagationDefaultRouteTableId; + } + if (input.AssociationDefaultRouteTableId !== undefined) { + entries["AssociationDefaultRouteTableId"] = input.AssociationDefaultRouteTableId; + } + if (input.DefaultRouteTableAssociation !== undefined) { + entries["DefaultRouteTableAssociation"] = input.DefaultRouteTableAssociation; + } + if (input.DefaultRouteTablePropagation !== undefined) { + entries["DefaultRouteTablePropagation"] = input.DefaultRouteTablePropagation; + } + if (input.DnsSupport !== undefined) { + entries["DnsSupport"] = input.DnsSupport; + } + if (input.AutoAcceptSharedAttachments !== undefined) { + entries["AutoAcceptSharedAttachments"] = input.AutoAcceptSharedAttachments; + } + if (input.VpnEcmpSupport !== undefined) { + entries["VpnEcmpSupport"] = input.VpnEcmpSupport; + } + return entries; +}; + +const serializeAws_ec2ModifyTransitGatewayPrefixListReferenceRequest = ( + input: ModifyTransitGatewayPrefixListReferenceRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.PrefixListId !== undefined) { + entries["PrefixListId"] = input.PrefixListId; + } + if (input.Blackhole !== undefined) { + entries["Blackhole"] = input.Blackhole; + } + if (input.TransitGatewayRouteTableId !== undefined) { + entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.TransitGatewayAttachmentId !== undefined) { + entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + } + return entries; +}; + +const serializeAws_ec2ModifyTransitGatewayRequest = ( + input: ModifyTransitGatewayRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.TransitGatewayId !== undefined) { + entries["TransitGatewayId"] = input.TransitGatewayId; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.Options !== undefined) { - const memberEntries = serializeAws_ec2ModifyTransitGatewayVpcAttachmentRequestOptions(input.Options, context); + const memberEntries = serializeAws_ec2ModifyTransitGatewayOptions(input.Options, context); Object.entries(memberEntries).forEach(([key, value]) => { const loc = `Options.${key}`; entries[loc] = value; }); } + return entries; +}; + +const serializeAws_ec2ModifyTransitGatewayVpcAttachmentRequest = ( + input: ModifyTransitGatewayVpcAttachmentRequest, + context: __SerdeContext +): any => { + const entries: any = {}; if (input.AddSubnetIds !== undefined) { const memberEntries = serializeAws_ec2TransitGatewaySubnetIdList(input.AddSubnetIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38893,6 +39755,16 @@ const serializeAws_ec2ModifyTransitGatewayVpcAttachmentRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.TransitGatewayAttachmentId !== undefined) { + entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + } + if (input.Options !== undefined) { + const memberEntries = serializeAws_ec2ModifyTransitGatewayVpcAttachmentRequestOptions(input.Options, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Options.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -38933,21 +39805,21 @@ const serializeAws_ec2ModifyVolumeAttributeRequest = ( const serializeAws_ec2ModifyVolumeRequest = (input: ModifyVolumeRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.Iops !== undefined) { + entries["Iops"] = input.Iops; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } if (input.Size !== undefined) { entries["Size"] = input.Size; } - if (input.VolumeId !== undefined) { - entries["VolumeId"] = input.VolumeId; - } - if (input.Iops !== undefined) { - entries["Iops"] = input.Iops; - } if (input.VolumeType !== undefined) { entries["VolumeType"] = input.VolumeType; } + if (input.VolumeId !== undefined) { + entries["VolumeId"] = input.VolumeId; + } return entries; }; @@ -38960,9 +39832,6 @@ const serializeAws_ec2ModifyVpcAttributeRequest = (input: ModifyVpcAttributeRequ entries[loc] = value; }); } - if (input.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; - } if (input.EnableDnsHostnames !== undefined) { const memberEntries = serializeAws_ec2AttributeBooleanValue(input.EnableDnsHostnames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -38970,6 +39839,9 @@ const serializeAws_ec2ModifyVpcAttributeRequest = (input: ModifyVpcAttributeRequ entries[loc] = value; }); } + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; + } return entries; }; @@ -38978,8 +39850,8 @@ const serializeAws_ec2ModifyVpcEndpointConnectionNotificationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ConnectionNotificationArn !== undefined) { - entries["ConnectionNotificationArn"] = input.ConnectionNotificationArn; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.ConnectionEvents !== undefined) { const memberEntries = serializeAws_ec2ValueStringList(input.ConnectionEvents, context); @@ -38991,14 +39863,24 @@ const serializeAws_ec2ModifyVpcEndpointConnectionNotificationRequest = ( if (input.ConnectionNotificationId !== undefined) { entries["ConnectionNotificationId"] = input.ConnectionNotificationId; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.ConnectionNotificationArn !== undefined) { + entries["ConnectionNotificationArn"] = input.ConnectionNotificationArn; } return entries; }; const serializeAws_ec2ModifyVpcEndpointRequest = (input: ModifyVpcEndpointRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.VpcEndpointId !== undefined) { + entries["VpcEndpointId"] = input.VpcEndpointId; + } + if (input.RemoveSubnetIds !== undefined) { + const memberEntries = serializeAws_ec2VpcEndpointSubnetIdList(input.RemoveSubnetIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `RemoveSubnetId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.RemoveRouteTableIds !== undefined) { const memberEntries = serializeAws_ec2VpcEndpointRouteTableIdList(input.RemoveRouteTableIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -39009,32 +39891,9 @@ const serializeAws_ec2ModifyVpcEndpointRequest = (input: ModifyVpcEndpointReques if (input.PrivateDnsEnabled !== undefined) { entries["PrivateDnsEnabled"] = input.PrivateDnsEnabled; } - if (input.VpcEndpointId !== undefined) { - entries["VpcEndpointId"] = input.VpcEndpointId; - } - if (input.ResetPolicy !== undefined) { - entries["ResetPolicy"] = input.ResetPolicy; - } - if (input.AddSubnetIds !== undefined) { - const memberEntries = serializeAws_ec2VpcEndpointSubnetIdList(input.AddSubnetIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AddSubnetId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.PolicyDocument !== undefined) { - entries["PolicyDocument"] = input.PolicyDocument; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.AddSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_ec2VpcEndpointSecurityGroupIdList(input.AddSecurityGroupIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AddSecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.RemoveSecurityGroupIds !== undefined) { const memberEntries = serializeAws_ec2VpcEndpointSecurityGroupIdList(input.RemoveSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -39049,13 +39908,26 @@ const serializeAws_ec2ModifyVpcEndpointRequest = (input: ModifyVpcEndpointReques entries[loc] = value; }); } - if (input.RemoveSubnetIds !== undefined) { - const memberEntries = serializeAws_ec2VpcEndpointSubnetIdList(input.RemoveSubnetIds, context); + if (input.AddSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_ec2VpcEndpointSecurityGroupIdList(input.AddSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `RemoveSubnetId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `AddSecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.ResetPolicy !== undefined) { + entries["ResetPolicy"] = input.ResetPolicy; + } + if (input.AddSubnetIds !== undefined) { + const memberEntries = serializeAws_ec2VpcEndpointSubnetIdList(input.AddSubnetIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AddSubnetId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.PolicyDocument !== undefined) { + entries["PolicyDocument"] = input.PolicyDocument; + } return entries; }; @@ -39064,6 +39936,9 @@ const serializeAws_ec2ModifyVpcEndpointServiceConfigurationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.AddNetworkLoadBalancerArns !== undefined) { const memberEntries = serializeAws_ec2ValueStringList(input.AddNetworkLoadBalancerArns, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -39071,27 +39946,24 @@ const serializeAws_ec2ModifyVpcEndpointServiceConfigurationRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.PrivateDnsName !== undefined) { + entries["PrivateDnsName"] = input.PrivateDnsName; } - if (input.RemoveNetworkLoadBalancerArns !== undefined) { - const memberEntries = serializeAws_ec2ValueStringList(input.RemoveNetworkLoadBalancerArns, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `RemoveNetworkLoadBalancerArn.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.RemovePrivateDnsName !== undefined) { + entries["RemovePrivateDnsName"] = input.RemovePrivateDnsName; } if (input.ServiceId !== undefined) { entries["ServiceId"] = input.ServiceId; } - if (input.PrivateDnsName !== undefined) { - entries["PrivateDnsName"] = input.PrivateDnsName; - } if (input.AcceptanceRequired !== undefined) { entries["AcceptanceRequired"] = input.AcceptanceRequired; } - if (input.RemovePrivateDnsName !== undefined) { - entries["RemovePrivateDnsName"] = input.RemovePrivateDnsName; + if (input.RemoveNetworkLoadBalancerArns !== undefined) { + const memberEntries = serializeAws_ec2ValueStringList(input.RemoveNetworkLoadBalancerArns, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `RemoveNetworkLoadBalancerArn.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -39101,16 +39973,6 @@ const serializeAws_ec2ModifyVpcEndpointServicePermissionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.AddAllowedPrincipals !== undefined) { - const memberEntries = serializeAws_ec2ValueStringList(input.AddAllowedPrincipals, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AddAllowedPrincipals.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } if (input.ServiceId !== undefined) { entries["ServiceId"] = input.ServiceId; } @@ -39121,6 +39983,16 @@ const serializeAws_ec2ModifyVpcEndpointServicePermissionsRequest = ( entries[loc] = value; }); } + if (input.AddAllowedPrincipals !== undefined) { + const memberEntries = serializeAws_ec2ValueStringList(input.AddAllowedPrincipals, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AddAllowedPrincipals.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -39132,29 +40004,29 @@ const serializeAws_ec2ModifyVpcPeeringConnectionOptionsRequest = ( if (input.VpcPeeringConnectionId !== undefined) { entries["VpcPeeringConnectionId"] = input.VpcPeeringConnectionId; } - if (input.RequesterPeeringConnectionOptions !== undefined) { + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.AccepterPeeringConnectionOptions !== undefined) { const memberEntries = serializeAws_ec2PeeringConnectionOptionsRequest( - input.RequesterPeeringConnectionOptions, + input.AccepterPeeringConnectionOptions, context ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `RequesterPeeringConnectionOptions.${key}`; + const loc = `AccepterPeeringConnectionOptions.${key}`; entries[loc] = value; }); } - if (input.AccepterPeeringConnectionOptions !== undefined) { + if (input.RequesterPeeringConnectionOptions !== undefined) { const memberEntries = serializeAws_ec2PeeringConnectionOptionsRequest( - input.AccepterPeeringConnectionOptions, + input.RequesterPeeringConnectionOptions, context ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AccepterPeeringConnectionOptions.${key}`; + const loc = `RequesterPeeringConnectionOptions.${key}`; entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -39172,26 +40044,52 @@ const serializeAws_ec2ModifyVpcTenancyRequest = (input: ModifyVpcTenancyRequest, return entries; }; -const serializeAws_ec2ModifyVpnConnectionRequest = ( - input: ModifyVpnConnectionRequest, +const serializeAws_ec2ModifyVpnConnectionOptionsRequest = ( + input: ModifyVpnConnectionOptionsRequest, context: __SerdeContext ): any => { const entries: any = {}; + if (input.VpnConnectionId !== undefined) { + entries["VpnConnectionId"] = input.VpnConnectionId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.LocalIpv4NetworkCidr !== undefined) { + entries["LocalIpv4NetworkCidr"] = input.LocalIpv4NetworkCidr; + } + if (input.RemoteIpv4NetworkCidr !== undefined) { + entries["RemoteIpv4NetworkCidr"] = input.RemoteIpv4NetworkCidr; + } + if (input.LocalIpv6NetworkCidr !== undefined) { + entries["LocalIpv6NetworkCidr"] = input.LocalIpv6NetworkCidr; + } + if (input.RemoteIpv6NetworkCidr !== undefined) { + entries["RemoteIpv6NetworkCidr"] = input.RemoteIpv6NetworkCidr; + } + return entries; +}; + +const serializeAws_ec2ModifyVpnConnectionRequest = ( + input: ModifyVpnConnectionRequest, + context: __SerdeContext +): any => { + const entries: any = {}; if (input.CustomerGatewayId !== undefined) { entries["CustomerGatewayId"] = input.CustomerGatewayId; } - if (input.VpnConnectionId !== undefined) { - entries["VpnConnectionId"] = input.VpnConnectionId; - } if (input.TransitGatewayId !== undefined) { entries["TransitGatewayId"] = input.TransitGatewayId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.VpnGatewayId !== undefined) { entries["VpnGatewayId"] = input.VpnGatewayId; } + if (input.VpnConnectionId !== undefined) { + entries["VpnConnectionId"] = input.VpnConnectionId; + } return entries; }; @@ -39200,12 +40098,12 @@ const serializeAws_ec2ModifyVpnTunnelCertificateRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpnConnectionId !== undefined) { - entries["VpnConnectionId"] = input.VpnConnectionId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.VpnConnectionId !== undefined) { + entries["VpnConnectionId"] = input.VpnConnectionId; + } if (input.VpnTunnelOutsideIpAddress !== undefined) { entries["VpnTunnelOutsideIpAddress"] = input.VpnTunnelOutsideIpAddress; } @@ -39217,8 +40115,8 @@ const serializeAws_ec2ModifyVpnTunnelOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.VpnConnectionId !== undefined) { - entries["VpnConnectionId"] = input.VpnConnectionId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.TunnelOptions !== undefined) { const memberEntries = serializeAws_ec2ModifyVpnTunnelOptionsSpecification(input.TunnelOptions, context); @@ -39227,8 +40125,8 @@ const serializeAws_ec2ModifyVpnTunnelOptionsRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.VpnConnectionId !== undefined) { + entries["VpnConnectionId"] = input.VpnConnectionId; } if (input.VpnTunnelOutsideIpAddress !== undefined) { entries["VpnTunnelOutsideIpAddress"] = input.VpnTunnelOutsideIpAddress; @@ -39241,31 +40139,33 @@ const serializeAws_ec2ModifyVpnTunnelOptionsSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Phase2LifetimeSeconds !== undefined) { - entries["Phase2LifetimeSeconds"] = input.Phase2LifetimeSeconds; + if (input.RekeyFuzzPercentage !== undefined) { + entries["RekeyFuzzPercentage"] = input.RekeyFuzzPercentage; } - if (input.Phase1IntegrityAlgorithms !== undefined) { - const memberEntries = serializeAws_ec2Phase1IntegrityAlgorithmsRequestList( - input.Phase1IntegrityAlgorithms, - context - ); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Phase1IntegrityAlgorithm.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.Phase1LifetimeSeconds !== undefined) { + entries["Phase1LifetimeSeconds"] = input.Phase1LifetimeSeconds; } - if (input.Phase2IntegrityAlgorithms !== undefined) { - const memberEntries = serializeAws_ec2Phase2IntegrityAlgorithmsRequestList( - input.Phase2IntegrityAlgorithms, - context - ); + if (input.TunnelInsideCidr !== undefined) { + entries["TunnelInsideCidr"] = input.TunnelInsideCidr; + } + if (input.StartupAction !== undefined) { + entries["StartupAction"] = input.StartupAction; + } + if (input.IKEVersions !== undefined) { + const memberEntries = serializeAws_ec2IKEVersionsRequestList(input.IKEVersions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Phase2IntegrityAlgorithm.${key.substring(key.indexOf(".") + 1)}`; + const loc = `IKEVersion.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.PreSharedKey !== undefined) { - entries["PreSharedKey"] = input.PreSharedKey; + if (input.TunnelInsideIpv6Cidr !== undefined) { + entries["TunnelInsideIpv6Cidr"] = input.TunnelInsideIpv6Cidr; + } + if (input.ReplayWindowSize !== undefined) { + entries["ReplayWindowSize"] = input.ReplayWindowSize; + } + if (input.DPDTimeoutSeconds !== undefined) { + entries["DPDTimeoutSeconds"] = input.DPDTimeoutSeconds; } if (input.Phase2EncryptionAlgorithms !== undefined) { const memberEntries = serializeAws_ec2Phase2EncryptionAlgorithmsRequestList( @@ -39277,6 +40177,15 @@ const serializeAws_ec2ModifyVpnTunnelOptionsSpecification = ( entries[loc] = value; }); } + if (input.PreSharedKey !== undefined) { + entries["PreSharedKey"] = input.PreSharedKey; + } + if (input.DPDTimeoutAction !== undefined) { + entries["DPDTimeoutAction"] = input.DPDTimeoutAction; + } + if (input.Phase2LifetimeSeconds !== undefined) { + entries["Phase2LifetimeSeconds"] = input.Phase2LifetimeSeconds; + } if (input.Phase1EncryptionAlgorithms !== undefined) { const memberEntries = serializeAws_ec2Phase1EncryptionAlgorithmsRequestList( input.Phase1EncryptionAlgorithms, @@ -39290,11 +40199,12 @@ const serializeAws_ec2ModifyVpnTunnelOptionsSpecification = ( if (input.RekeyMarginTimeSeconds !== undefined) { entries["RekeyMarginTimeSeconds"] = input.RekeyMarginTimeSeconds; } - if (input.DPDTimeoutSeconds !== undefined) { - entries["DPDTimeoutSeconds"] = input.DPDTimeoutSeconds; - } - if (input.ReplayWindowSize !== undefined) { - entries["ReplayWindowSize"] = input.ReplayWindowSize; + if (input.Phase1DHGroupNumbers !== undefined) { + const memberEntries = serializeAws_ec2Phase1DHGroupNumbersRequestList(input.Phase1DHGroupNumbers, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Phase1DHGroupNumber.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.Phase2DHGroupNumbers !== undefined) { const memberEntries = serializeAws_ec2Phase2DHGroupNumbersRequestList(input.Phase2DHGroupNumbers, context); @@ -39303,26 +40213,23 @@ const serializeAws_ec2ModifyVpnTunnelOptionsSpecification = ( entries[loc] = value; }); } - if (input.RekeyFuzzPercentage !== undefined) { - entries["RekeyFuzzPercentage"] = input.RekeyFuzzPercentage; - } - if (input.Phase1LifetimeSeconds !== undefined) { - entries["Phase1LifetimeSeconds"] = input.Phase1LifetimeSeconds; - } - if (input.TunnelInsideCidr !== undefined) { - entries["TunnelInsideCidr"] = input.TunnelInsideCidr; - } - if (input.Phase1DHGroupNumbers !== undefined) { - const memberEntries = serializeAws_ec2Phase1DHGroupNumbersRequestList(input.Phase1DHGroupNumbers, context); + if (input.Phase2IntegrityAlgorithms !== undefined) { + const memberEntries = serializeAws_ec2Phase2IntegrityAlgorithmsRequestList( + input.Phase2IntegrityAlgorithms, + context + ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Phase1DHGroupNumber.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Phase2IntegrityAlgorithm.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.IKEVersions !== undefined) { - const memberEntries = serializeAws_ec2IKEVersionsRequestList(input.IKEVersions, context); + if (input.Phase1IntegrityAlgorithms !== undefined) { + const memberEntries = serializeAws_ec2Phase1IntegrityAlgorithmsRequestList( + input.Phase1IntegrityAlgorithms, + context + ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IKEVersion.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Phase1IntegrityAlgorithm.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -39346,12 +40253,12 @@ const serializeAws_ec2MonitorInstancesRequest = (input: MonitorInstancesRequest, const serializeAws_ec2MoveAddressToVpcRequest = (input: MoveAddressToVpcRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.PublicIp !== undefined) { - entries["PublicIp"] = input.PublicIp; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.PublicIp !== undefined) { + entries["PublicIp"] = input.PublicIp; + } return entries; }; @@ -39411,6 +40318,9 @@ const serializeAws_ec2NetworkInterfacePermissionIdList = (input: string[], conte const serializeAws_ec2NewDhcpConfiguration = (input: NewDhcpConfiguration, context: __SerdeContext): any => { const entries: any = {}; + if (input.Key !== undefined) { + entries["Key"] = input.Key; + } if (input.Values !== undefined) { const memberEntries = serializeAws_ec2ValueStringList(input.Values, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -39418,9 +40328,6 @@ const serializeAws_ec2NewDhcpConfiguration = (input: NewDhcpConfiguration, conte entries[loc] = value; }); } - if (input.Key !== undefined) { - entries["Key"] = input.Key; - } return entries; }; @@ -39449,15 +40356,6 @@ const serializeAws_ec2OccurrenceDayRequestSet = (input: number[], context: __Ser const serializeAws_ec2OnDemandOptionsRequest = (input: OnDemandOptionsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.AllocationStrategy !== undefined) { - entries["AllocationStrategy"] = input.AllocationStrategy; - } - if (input.MinTargetCapacity !== undefined) { - entries["MinTargetCapacity"] = input.MinTargetCapacity; - } - if (input.MaxTotalPrice !== undefined) { - entries["MaxTotalPrice"] = input.MaxTotalPrice; - } if (input.SingleInstanceType !== undefined) { entries["SingleInstanceType"] = input.SingleInstanceType; } @@ -39471,6 +40369,15 @@ const serializeAws_ec2OnDemandOptionsRequest = (input: OnDemandOptionsRequest, c entries[loc] = value; }); } + if (input.MinTargetCapacity !== undefined) { + entries["MinTargetCapacity"] = input.MinTargetCapacity; + } + if (input.MaxTotalPrice !== undefined) { + entries["MaxTotalPrice"] = input.MaxTotalPrice; + } + if (input.AllocationStrategy !== undefined) { + entries["AllocationStrategy"] = input.AllocationStrategy; + } return entries; }; @@ -39489,14 +40396,14 @@ const serializeAws_ec2PeeringConnectionOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AllowDnsResolutionFromRemoteVpc !== undefined) { - entries["AllowDnsResolutionFromRemoteVpc"] = input.AllowDnsResolutionFromRemoteVpc; + if (input.AllowEgressFromLocalVpcToRemoteClassicLink !== undefined) { + entries["AllowEgressFromLocalVpcToRemoteClassicLink"] = input.AllowEgressFromLocalVpcToRemoteClassicLink; } if (input.AllowEgressFromLocalClassicLinkToRemoteVpc !== undefined) { entries["AllowEgressFromLocalClassicLinkToRemoteVpc"] = input.AllowEgressFromLocalClassicLinkToRemoteVpc; } - if (input.AllowEgressFromLocalVpcToRemoteClassicLink !== undefined) { - entries["AllowEgressFromLocalVpcToRemoteClassicLink"] = input.AllowEgressFromLocalVpcToRemoteClassicLink; + if (input.AllowDnsResolutionFromRemoteVpc !== undefined) { + entries["AllowDnsResolutionFromRemoteVpc"] = input.AllowDnsResolutionFromRemoteVpc; } return entries; }; @@ -39665,17 +40572,20 @@ const serializeAws_ec2Phase2IntegrityAlgorithmsRequestListValue = ( const serializeAws_ec2Placement = (input: Placement, context: __SerdeContext): any => { const entries: any = {}; - if (input.SpreadDomain !== undefined) { - entries["SpreadDomain"] = input.SpreadDomain; + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; } if (input.PartitionNumber !== undefined) { entries["PartitionNumber"] = input.PartitionNumber; } + if (input.HostResourceGroupArn !== undefined) { + entries["HostResourceGroupArn"] = input.HostResourceGroupArn; + } if (input.Affinity !== undefined) { entries["Affinity"] = input.Affinity; } - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; + if (input.Tenancy !== undefined) { + entries["Tenancy"] = input.Tenancy; } if (input.AvailabilityZone !== undefined) { entries["AvailabilityZone"] = input.AvailabilityZone; @@ -39683,11 +40593,8 @@ const serializeAws_ec2Placement = (input: Placement, context: __SerdeContext): a if (input.HostId !== undefined) { entries["HostId"] = input.HostId; } - if (input.HostResourceGroupArn !== undefined) { - entries["HostResourceGroupArn"] = input.HostResourceGroupArn; - } - if (input.Tenancy !== undefined) { - entries["Tenancy"] = input.Tenancy; + if (input.SpreadDomain !== undefined) { + entries["SpreadDomain"] = input.SpreadDomain; } return entries; }; @@ -39765,12 +40672,12 @@ const serializeAws_ec2PriceScheduleSpecification = ( if (input.Term !== undefined) { entries["Term"] = input.Term; } - if (input.CurrencyCode !== undefined) { - entries["CurrencyCode"] = input.CurrencyCode; - } if (input.Price !== undefined) { entries["Price"] = input.Price; } + if (input.CurrencyCode !== undefined) { + entries["CurrencyCode"] = input.CurrencyCode; + } return entries; }; @@ -39811,12 +40718,12 @@ const serializeAws_ec2PrivateIpAddressSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Primary !== undefined) { - entries["Primary"] = input.Primary; - } if (input.PrivateIpAddress !== undefined) { entries["PrivateIpAddress"] = input.PrivateIpAddress; } + if (input.Primary !== undefined) { + entries["Primary"] = input.Primary; + } return entries; }; @@ -39868,6 +40775,16 @@ const serializeAws_ec2ProductDescriptionList = (input: string[], context: __Serd const serializeAws_ec2ProvisionByoipCidrRequest = (input: ProvisionByoipCidrRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.PubliclyAdvertisable !== undefined) { + entries["PubliclyAdvertisable"] = input.PubliclyAdvertisable; + } + if (input.CidrAuthorizationContext !== undefined) { + const memberEntries = serializeAws_ec2CidrAuthorizationContext(input.CidrAuthorizationContext, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CidrAuthorizationContext.${key}`; + entries[loc] = value; + }); + } if (input.PoolTagSpecifications !== undefined) { const memberEntries = serializeAws_ec2TagSpecificationList(input.PoolTagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -39875,8 +40792,8 @@ const serializeAws_ec2ProvisionByoipCidrRequest = (input: ProvisionByoipCidrRequ entries[loc] = value; }); } - if (input.PubliclyAdvertisable !== undefined) { - entries["PubliclyAdvertisable"] = input.PubliclyAdvertisable; + if (input.Cidr !== undefined) { + entries["Cidr"] = input.Cidr; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; @@ -39884,16 +40801,6 @@ const serializeAws_ec2ProvisionByoipCidrRequest = (input: ProvisionByoipCidrRequ if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.CidrAuthorizationContext !== undefined) { - const memberEntries = serializeAws_ec2CidrAuthorizationContext(input.CidrAuthorizationContext, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CidrAuthorizationContext.${key}`; - entries[loc] = value; - }); - } - if (input.Cidr !== undefined) { - entries["Cidr"] = input.Cidr; - } return entries; }; @@ -39922,43 +40829,43 @@ const serializeAws_ec2PurchaseHostReservationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + if (input.HostIdSet !== undefined) { + const memberEntries = serializeAws_ec2RequestHostIdSet(input.HostIdSet, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + const loc = `HostIdSet.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; + } + if (input.OfferingId !== undefined) { + entries["OfferingId"] = input.OfferingId; + } if (input.LimitPrice !== undefined) { entries["LimitPrice"] = input.LimitPrice; } if (input.CurrencyCode !== undefined) { entries["CurrencyCode"] = input.CurrencyCode; } - if (input.HostIdSet !== undefined) { - const memberEntries = serializeAws_ec2RequestHostIdSet(input.HostIdSet, context); + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `HostIdSet.${key.substring(key.indexOf(".") + 1)}`; + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.OfferingId !== undefined) { - entries["OfferingId"] = input.OfferingId; - } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; - } return entries; }; const serializeAws_ec2PurchaseRequest = (input: PurchaseRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.PurchaseToken !== undefined) { - entries["PurchaseToken"] = input.PurchaseToken; - } if (input.InstanceCount !== undefined) { entries["InstanceCount"] = input.InstanceCount; } + if (input.PurchaseToken !== undefined) { + entries["PurchaseToken"] = input.PurchaseToken; + } return entries; }; @@ -39980,8 +40887,8 @@ const serializeAws_ec2PurchaseReservedInstancesOfferingRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.PurchaseTime !== undefined) { + entries["PurchaseTime"] = input.PurchaseTime.toISOString().split(".")[0] + "Z"; } if (input.ReservedInstancesOfferingId !== undefined) { entries["ReservedInstancesOfferingId"] = input.ReservedInstancesOfferingId; @@ -39996,8 +40903,8 @@ const serializeAws_ec2PurchaseReservedInstancesOfferingRequest = ( entries[loc] = value; }); } - if (input.PurchaseTime !== undefined) { - entries["PurchaseTime"] = input.PurchaseTime.toISOString().split(".")[0] + "Z"; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -40007,12 +40914,6 @@ const serializeAws_ec2PurchaseScheduledInstancesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientToken === undefined) { - input.ClientToken = generateIdempotencyToken(); - } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; - } if (input.PurchaseRequests !== undefined) { const memberEntries = serializeAws_ec2PurchaseRequestSet(input.PurchaseRequests, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -40023,6 +40924,12 @@ const serializeAws_ec2PurchaseScheduledInstancesRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.ClientToken === undefined) { + input.ClientToken = generateIdempotencyToken(); + } + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; + } return entries; }; @@ -40041,9 +40948,6 @@ const serializeAws_ec2ReasonCodesList = ( const serializeAws_ec2RebootInstancesRequest = (input: RebootInstancesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.InstanceIds !== undefined) { const memberEntries = serializeAws_ec2InstanceIdStringList(input.InstanceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -40051,6 +40955,9 @@ const serializeAws_ec2RebootInstancesRequest = (input: RebootInstancesRequest, c entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -40066,53 +40973,53 @@ const serializeAws_ec2RegionNameStringList = (input: string[], context: __SerdeC const serializeAws_ec2RegisterImageRequest = (input: RegisterImageRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.SriovNetSupport !== undefined) { - entries["SriovNetSupport"] = input.SriovNetSupport; + if (input.RamdiskId !== undefined) { + entries["RamdiskId"] = input.RamdiskId; } - if (input.ImageLocation !== undefined) { - entries["ImageLocation"] = input.ImageLocation; + if (input.KernelId !== undefined) { + entries["KernelId"] = input.KernelId; } - if (input.RootDeviceName !== undefined) { - entries["RootDeviceName"] = input.RootDeviceName; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } - if (input.BillingProducts !== undefined) { - const memberEntries = serializeAws_ec2BillingProductList(input.BillingProducts, context); + if (input.VirtualizationType !== undefined) { + entries["VirtualizationType"] = input.VirtualizationType; + } + if (input.BlockDeviceMappings !== undefined) { + const memberEntries = serializeAws_ec2BlockDeviceMappingRequestList(input.BlockDeviceMappings, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BillingProduct.${key.substring(key.indexOf(".") + 1)}`; + const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.Architecture !== undefined) { - entries["Architecture"] = input.Architecture; + if (input.EnaSupport !== undefined) { + entries["EnaSupport"] = input.EnaSupport; } - if (input.VirtualizationType !== undefined) { - entries["VirtualizationType"] = input.VirtualizationType; + if (input.Name !== undefined) { + entries["Name"] = input.Name; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.Architecture !== undefined) { + entries["Architecture"] = input.Architecture; } - if (input.KernelId !== undefined) { - entries["KernelId"] = input.KernelId; + if (input.SriovNetSupport !== undefined) { + entries["SriovNetSupport"] = input.SriovNetSupport; } - if (input.RamdiskId !== undefined) { - entries["RamdiskId"] = input.RamdiskId; + if (input.RootDeviceName !== undefined) { + entries["RootDeviceName"] = input.RootDeviceName; } - if (input.Name !== undefined) { - entries["Name"] = input.Name; + if (input.ImageLocation !== undefined) { + entries["ImageLocation"] = input.ImageLocation; } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.BlockDeviceMappings !== undefined) { - const memberEntries = serializeAws_ec2BlockDeviceMappingRequestList(input.BlockDeviceMappings, context); + if (input.BillingProducts !== undefined) { + const memberEntries = serializeAws_ec2BillingProductList(input.BillingProducts, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; + const loc = `BillingProduct.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.EnaSupport !== undefined) { - entries["EnaSupport"] = input.EnaSupport; - } return entries; }; @@ -40121,9 +41028,6 @@ const serializeAws_ec2RegisterInstanceEventNotificationAttributesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.InstanceTagAttribute !== undefined) { const memberEntries = serializeAws_ec2RegisterInstanceTagAttributeRequest(input.InstanceTagAttribute, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -40131,6 +41035,9 @@ const serializeAws_ec2RegisterInstanceEventNotificationAttributesRequest = ( entries[loc] = value; }); } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -40157,6 +41064,15 @@ const serializeAws_ec2RegisterTransitGatewayMulticastGroupMembersRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.GroupIpAddress !== undefined) { + entries["GroupIpAddress"] = input.GroupIpAddress; + } + if (input.TransitGatewayMulticastDomainId !== undefined) { + entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; + } if (input.NetworkInterfaceIds !== undefined) { const memberEntries = serializeAws_ec2TransitGatewayNetworkInterfaceIdList(input.NetworkInterfaceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -40164,15 +41080,6 @@ const serializeAws_ec2RegisterTransitGatewayMulticastGroupMembersRequest = ( entries[loc] = value; }); } - if (input.TransitGatewayMulticastDomainId !== undefined) { - entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.GroupIpAddress !== undefined) { - entries["GroupIpAddress"] = input.GroupIpAddress; - } return entries; }; @@ -40184,8 +41091,8 @@ const serializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesRequest = ( if (input.GroupIpAddress !== undefined) { entries["GroupIpAddress"] = input.GroupIpAddress; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.TransitGatewayMulticastDomainId !== undefined) { + entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; } if (input.NetworkInterfaceIds !== undefined) { const memberEntries = serializeAws_ec2TransitGatewayNetworkInterfaceIdList(input.NetworkInterfaceIds, context); @@ -40194,8 +41101,8 @@ const serializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesRequest = ( entries[loc] = value; }); } - if (input.TransitGatewayMulticastDomainId !== undefined) { - entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } return entries; }; @@ -40219,12 +41126,12 @@ const serializeAws_ec2RejectTransitGatewayVpcAttachmentRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.TransitGatewayAttachmentId !== undefined) { entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -40233,6 +41140,12 @@ const serializeAws_ec2RejectVpcEndpointConnectionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ServiceId !== undefined) { + entries["ServiceId"] = input.ServiceId; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.VpcEndpointIds !== undefined) { const memberEntries = serializeAws_ec2VpcEndpointIdList(input.VpcEndpointIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -40240,12 +41153,6 @@ const serializeAws_ec2RejectVpcEndpointConnectionsRequest = ( entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.ServiceId !== undefined) { - entries["ServiceId"] = input.ServiceId; - } return entries; }; @@ -40254,12 +41161,12 @@ const serializeAws_ec2RejectVpcPeeringConnectionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.VpcPeeringConnectionId !== undefined) { entries["VpcPeeringConnectionId"] = input.VpcPeeringConnectionId; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -40268,14 +41175,14 @@ const serializeAws_ec2ReleaseAddressRequest = (input: ReleaseAddressRequest, con if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.NetworkBorderGroup !== undefined) { - entries["NetworkBorderGroup"] = input.NetworkBorderGroup; + if (input.AllocationId !== undefined) { + entries["AllocationId"] = input.AllocationId; } if (input.PublicIp !== undefined) { entries["PublicIp"] = input.PublicIp; } - if (input.AllocationId !== undefined) { - entries["AllocationId"] = input.AllocationId; + if (input.NetworkBorderGroup !== undefined) { + entries["NetworkBorderGroup"] = input.NetworkBorderGroup; } return entries; }; @@ -40336,15 +41243,15 @@ const serializeAws_ec2ReplaceNetworkAclAssociationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NetworkAclId !== undefined) { + entries["NetworkAclId"] = input.NetworkAclId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } if (input.AssociationId !== undefined) { entries["AssociationId"] = input.AssociationId; } - if (input.NetworkAclId !== undefined) { - entries["NetworkAclId"] = input.NetworkAclId; - } return entries; }; @@ -40353,23 +41260,24 @@ const serializeAws_ec2ReplaceNetworkAclEntryRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.CidrBlock !== undefined) { - entries["CidrBlock"] = input.CidrBlock; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } - if (input.Egress !== undefined) { - entries["Egress"] = input.Egress; + if (input.Protocol !== undefined) { + entries["Protocol"] = input.Protocol; } - if (input.RuleNumber !== undefined) { - entries["RuleNumber"] = input.RuleNumber; + if (input.IcmpTypeCode !== undefined) { + const memberEntries = serializeAws_ec2IcmpTypeCode(input.IcmpTypeCode, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Icmp.${key}`; + entries[loc] = value; + }); } if (input.RuleAction !== undefined) { entries["RuleAction"] = input.RuleAction; } - if (input.Protocol !== undefined) { - entries["Protocol"] = input.Protocol; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.NetworkAclId !== undefined) { + entries["NetworkAclId"] = input.NetworkAclId; } if (input.PortRange !== undefined) { const memberEntries = serializeAws_ec2PortRange(input.PortRange, context); @@ -40378,65 +41286,67 @@ const serializeAws_ec2ReplaceNetworkAclEntryRequest = ( entries[loc] = value; }); } + if (input.Egress !== undefined) { + entries["Egress"] = input.Egress; + } + if (input.CidrBlock !== undefined) { + entries["CidrBlock"] = input.CidrBlock; + } if (input.Ipv6CidrBlock !== undefined) { entries["Ipv6CidrBlock"] = input.Ipv6CidrBlock; } - if (input.NetworkAclId !== undefined) { - entries["NetworkAclId"] = input.NetworkAclId; - } - if (input.IcmpTypeCode !== undefined) { - const memberEntries = serializeAws_ec2IcmpTypeCode(input.IcmpTypeCode, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Icmp.${key}`; - entries[loc] = value; - }); + if (input.RuleNumber !== undefined) { + entries["RuleNumber"] = input.RuleNumber; } return entries; }; const serializeAws_ec2ReplaceRouteRequest = (input: ReplaceRouteRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.RouteTableId !== undefined) { - entries["RouteTableId"] = input.RouteTableId; - } - if (input.TransitGatewayId !== undefined) { - entries["TransitGatewayId"] = input.TransitGatewayId; + if (input.GatewayId !== undefined) { + entries["GatewayId"] = input.GatewayId; } - if (input.DestinationIpv6CidrBlock !== undefined) { - entries["DestinationIpv6CidrBlock"] = input.DestinationIpv6CidrBlock; + if (input.EgressOnlyInternetGatewayId !== undefined) { + entries["EgressOnlyInternetGatewayId"] = input.EgressOnlyInternetGatewayId; } - if (input.LocalGatewayId !== undefined) { - entries["LocalGatewayId"] = input.LocalGatewayId; + if (input.CarrierGatewayId !== undefined) { + entries["CarrierGatewayId"] = input.CarrierGatewayId; } - if (input.LocalTarget !== undefined) { - entries["LocalTarget"] = input.LocalTarget; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } - if (input.DestinationCidrBlock !== undefined) { - entries["DestinationCidrBlock"] = input.DestinationCidrBlock; + if (input.NatGatewayId !== undefined) { + entries["NatGatewayId"] = input.NatGatewayId; } if (input.DestinationPrefixListId !== undefined) { entries["DestinationPrefixListId"] = input.DestinationPrefixListId; } - if (input.GatewayId !== undefined) { - entries["GatewayId"] = input.GatewayId; + if (input.RouteTableId !== undefined) { + entries["RouteTableId"] = input.RouteTableId; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.DestinationIpv6CidrBlock !== undefined) { + entries["DestinationIpv6CidrBlock"] = input.DestinationIpv6CidrBlock; } - if (input.EgressOnlyInternetGatewayId !== undefined) { - entries["EgressOnlyInternetGatewayId"] = input.EgressOnlyInternetGatewayId; + if (input.InstanceId !== undefined) { + entries["InstanceId"] = input.InstanceId; } - if (input.VpcPeeringConnectionId !== undefined) { - entries["VpcPeeringConnectionId"] = input.VpcPeeringConnectionId; + if (input.DestinationCidrBlock !== undefined) { + entries["DestinationCidrBlock"] = input.DestinationCidrBlock; + } + if (input.LocalGatewayId !== undefined) { + entries["LocalGatewayId"] = input.LocalGatewayId; + } + if (input.LocalTarget !== undefined) { + entries["LocalTarget"] = input.LocalTarget; } if (input.NetworkInterfaceId !== undefined) { entries["NetworkInterfaceId"] = input.NetworkInterfaceId; } - if (input.NatGatewayId !== undefined) { - entries["NatGatewayId"] = input.NatGatewayId; + if (input.VpcPeeringConnectionId !== undefined) { + entries["VpcPeeringConnectionId"] = input.VpcPeeringConnectionId; } - if (input.InstanceId !== undefined) { - entries["InstanceId"] = input.InstanceId; + if (input.TransitGatewayId !== undefined) { + entries["TransitGatewayId"] = input.TransitGatewayId; } return entries; }; @@ -40449,12 +41359,12 @@ const serializeAws_ec2ReplaceRouteTableAssociationRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.AssociationId !== undefined) { - entries["AssociationId"] = input.AssociationId; - } if (input.RouteTableId !== undefined) { entries["RouteTableId"] = input.RouteTableId; } + if (input.AssociationId !== undefined) { + entries["AssociationId"] = input.AssociationId; + } return entries; }; @@ -40463,21 +41373,21 @@ const serializeAws_ec2ReplaceTransitGatewayRouteRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayAttachmentId !== undefined) { - entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + if (input.Blackhole !== undefined) { + entries["Blackhole"] = input.Blackhole; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.TransitGatewayRouteTableId !== undefined) { entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } + if (input.TransitGatewayAttachmentId !== undefined) { + entries["TransitGatewayAttachmentId"] = input.TransitGatewayAttachmentId; + } if (input.DestinationCidrBlock !== undefined) { entries["DestinationCidrBlock"] = input.DestinationCidrBlock; } - if (input.Blackhole !== undefined) { - entries["Blackhole"] = input.Blackhole; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -40486,11 +41396,17 @@ const serializeAws_ec2ReportInstanceStatusRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } 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.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.Status !== undefined) { + entries["Status"] = input.Status; } if (input.Instances !== undefined) { const memberEntries = serializeAws_ec2InstanceIdStringList(input.Instances, context); @@ -40499,6 +41415,9 @@ const serializeAws_ec2ReportInstanceStatusRequest = ( entries[loc] = value; }); } + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + } if (input.ReasonCodes !== undefined) { const memberEntries = serializeAws_ec2ReasonCodesList(input.ReasonCodes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -40506,15 +41425,6 @@ const serializeAws_ec2ReportInstanceStatusRequest = ( entries[loc] = value; }); } - if (input.Status !== undefined) { - entries["Status"] = input.Status; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } return entries; }; @@ -40550,46 +41460,43 @@ const serializeAws_ec2RequestInstanceTypeList = (input: (_InstanceType | string) const serializeAws_ec2RequestLaunchTemplateData = (input: RequestLaunchTemplateData, context: __SerdeContext): any => { const entries: any = {}; - if (input.NetworkInterfaces !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList( - input.NetworkInterfaces, - context - ); + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateTagSpecificationRequestList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NetworkInterface.${key.substring(key.indexOf(".") + 1)}`; + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.RamDiskId !== undefined) { - entries["RamDiskId"] = input.RamDiskId; - } - if (input.InstanceInitiatedShutdownBehavior !== undefined) { - entries["InstanceInitiatedShutdownBehavior"] = input.InstanceInitiatedShutdownBehavior; - } - if (input.DisableApiTermination !== undefined) { - entries["DisableApiTermination"] = input.DisableApiTermination; + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; } - if (input.HibernationOptions !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplateHibernationOptionsRequest(input.HibernationOptions, context); + if (input.SecurityGroups !== undefined) { + const memberEntries = serializeAws_ec2SecurityGroupStringList(input.SecurityGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `HibernationOptions.${key}`; + const loc = `SecurityGroup.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.EbsOptimized !== undefined) { - entries["EbsOptimized"] = input.EbsOptimized; + if (input.UserData !== undefined) { + entries["UserData"] = input.UserData; } - if (input.CpuOptions !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplateCpuOptionsRequest(input.CpuOptions, context); + if (input.Monitoring !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplatesMonitoringRequest(input.Monitoring, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CpuOptions.${key}`; + const loc = `Monitoring.${key}`; entries[loc] = value; }); } - if (input.SecurityGroupIds !== undefined) { - const memberEntries = serializeAws_ec2SecurityGroupIdStringList(input.SecurityGroupIds, context); + if (input.ImageId !== undefined) { + entries["ImageId"] = input.ImageId; + } + if (input.NetworkInterfaces !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList( + input.NetworkInterfaces, + context + ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `NetworkInterface.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -40603,22 +41510,8 @@ const serializeAws_ec2RequestLaunchTemplateData = (input: RequestLaunchTemplateD entries[loc] = value; }); } - if (input.LicenseSpecifications !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplateLicenseSpecificationListRequest( - input.LicenseSpecifications, - context - ); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LicenseSpecification.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.CreditSpecification !== undefined) { - const memberEntries = serializeAws_ec2CreditSpecificationRequest(input.CreditSpecification, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CreditSpecification.${key}`; - entries[loc] = value; - }); + if (input.KernelId !== undefined) { + entries["KernelId"] = input.KernelId; } if (input.MetadataOptions !== undefined) { const memberEntries = serializeAws_ec2LaunchTemplateInstanceMetadataOptionsRequest(input.MetadataOptions, context); @@ -40627,13 +41520,16 @@ const serializeAws_ec2RequestLaunchTemplateData = (input: RequestLaunchTemplateD entries[loc] = value; }); } - if (input.CapacityReservationSpecification !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplateCapacityReservationSpecificationRequest( - input.CapacityReservationSpecification, - context - ); + if (input.EbsOptimized !== undefined) { + entries["EbsOptimized"] = input.EbsOptimized; + } + if (input.DisableApiTermination !== undefined) { + entries["DisableApiTermination"] = input.DisableApiTermination; + } + if (input.HibernationOptions !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateHibernationOptionsRequest(input.HibernationOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CapacityReservationSpecification.${key}`; + const loc = `HibernationOptions.${key}`; entries[loc] = value; }); } @@ -40647,29 +41543,30 @@ const serializeAws_ec2RequestLaunchTemplateData = (input: RequestLaunchTemplateD entries[loc] = value; }); } - if (input.BlockDeviceMappings !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplateBlockDeviceMappingRequestList( - input.BlockDeviceMappings, + if (input.LicenseSpecifications !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateLicenseSpecificationListRequest( + input.LicenseSpecifications, context ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; + const loc = `LicenseSpecification.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.UserData !== undefined) { - entries["UserData"] = input.UserData; - } - if (input.KeyName !== undefined) { - entries["KeyName"] = input.KeyName; - } - if (input.ImageId !== undefined) { - entries["ImageId"] = input.ImageId; + if (input.CapacityReservationSpecification !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateCapacityReservationSpecificationRequest( + input.CapacityReservationSpecification, + context + ); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CapacityReservationSpecification.${key}`; + entries[loc] = value; + }); } - if (input.SecurityGroups !== undefined) { - const memberEntries = serializeAws_ec2SecurityGroupStringList(input.SecurityGroups, context); + if (input.CpuOptions !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateCpuOptionsRequest(input.CpuOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SecurityGroup.${key.substring(key.indexOf(".") + 1)}`; + const loc = `CpuOptions.${key}`; entries[loc] = value; }); } @@ -40683,26 +41580,29 @@ const serializeAws_ec2RequestLaunchTemplateData = (input: RequestLaunchTemplateD entries[loc] = value; }); } - if (input.KernelId !== undefined) { - entries["KernelId"] = input.KernelId; - } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplateTagSpecificationRequestList(input.TagSpecifications, context); + if (input.CreditSpecification !== undefined) { + const memberEntries = serializeAws_ec2CreditSpecificationRequest(input.CreditSpecification, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + const loc = `CreditSpecification.${key}`; entries[loc] = value; }); } - if (input.Placement !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplatePlacementRequest(input.Placement, context); + if (input.KeyName !== undefined) { + entries["KeyName"] = input.KeyName; + } + if (input.RamDiskId !== undefined) { + entries["RamDiskId"] = input.RamDiskId; + } + if (input.BlockDeviceMappings !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateBlockDeviceMappingRequestList( + input.BlockDeviceMappings, + context + ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Placement.${key}`; + const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; - } if (input.ElasticGpuSpecifications !== undefined) { const memberEntries = serializeAws_ec2ElasticGpuSpecificationList(input.ElasticGpuSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -40710,18 +41610,31 @@ const serializeAws_ec2RequestLaunchTemplateData = (input: RequestLaunchTemplateD entries[loc] = value; }); } - if (input.Monitoring !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplatesMonitoringRequest(input.Monitoring, context); + if (input.Placement !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplatePlacementRequest(input.Placement, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Monitoring.${key}`; + const loc = `Placement.${key}`; entries[loc] = value; }); } + if (input.SecurityGroupIds !== undefined) { + const memberEntries = serializeAws_ec2SecurityGroupIdStringList(input.SecurityGroupIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.InstanceInitiatedShutdownBehavior !== undefined) { + entries["InstanceInitiatedShutdownBehavior"] = input.InstanceInitiatedShutdownBehavior; + } return entries; }; const serializeAws_ec2RequestSpotFleetRequest = (input: RequestSpotFleetRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.SpotFleetRequestConfig !== undefined) { const memberEntries = serializeAws_ec2SpotFleetRequestConfigData(input.SpotFleetRequestConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -40729,9 +41642,6 @@ const serializeAws_ec2RequestSpotFleetRequest = (input: RequestSpotFleetRequest, entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -40740,40 +41650,43 @@ const serializeAws_ec2RequestSpotInstancesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.ValidFrom !== undefined) { + entries["ValidFrom"] = input.ValidFrom.toISOString().split(".")[0] + "Z"; } - if (input.ValidUntil !== undefined) { - entries["ValidUntil"] = input.ValidUntil.toISOString().split(".")[0] + "Z"; + if (input.InstanceInterruptionBehavior !== undefined) { + entries["InstanceInterruptionBehavior"] = input.InstanceInterruptionBehavior; } - if (input.LaunchSpecification !== undefined) { - const memberEntries = serializeAws_ec2RequestSpotLaunchSpecification(input.LaunchSpecification, context); + if (input.LaunchGroup !== undefined) { + entries["LaunchGroup"] = input.LaunchGroup; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LaunchSpecification.${key}`; + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.SpotPrice !== undefined) { entries["SpotPrice"] = input.SpotPrice; } + if (input.BlockDurationMinutes !== undefined) { + entries["BlockDurationMinutes"] = input.BlockDurationMinutes; + } if (input.Type !== undefined) { entries["Type"] = input.Type; } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + if (input.LaunchSpecification !== undefined) { + const memberEntries = serializeAws_ec2RequestSpotLaunchSpecification(input.LaunchSpecification, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + const loc = `LaunchSpecification.${key}`; entries[loc] = value; }); } - if (input.LaunchGroup !== undefined) { - entries["LaunchGroup"] = input.LaunchGroup; - } - if (input.InstanceInterruptionBehavior !== undefined) { - entries["InstanceInterruptionBehavior"] = input.InstanceInterruptionBehavior; - } - if (input.ValidFrom !== undefined) { - entries["ValidFrom"] = input.ValidFrom.toISOString().split(".")[0] + "Z"; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } if (input.InstanceCount !== undefined) { entries["InstanceCount"] = input.InstanceCount; @@ -40781,11 +41694,8 @@ const serializeAws_ec2RequestSpotInstancesRequest = ( if (input.AvailabilityZoneGroup !== undefined) { entries["AvailabilityZoneGroup"] = input.AvailabilityZoneGroup; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.BlockDurationMinutes !== undefined) { - entries["BlockDurationMinutes"] = input.BlockDurationMinutes; + if (input.ValidUntil !== undefined) { + entries["ValidUntil"] = input.ValidUntil.toISOString().split(".")[0] + "Z"; } return entries; }; @@ -40795,34 +41705,22 @@ const serializeAws_ec2RequestSpotLaunchSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RamdiskId !== undefined) { - entries["RamdiskId"] = input.RamdiskId; - } - if (input.ImageId !== undefined) { - entries["ImageId"] = input.ImageId; - } - if (input.Monitoring !== undefined) { - const memberEntries = serializeAws_ec2RunInstancesMonitoringEnabled(input.Monitoring, context); + if (input.IamInstanceProfile !== undefined) { + const memberEntries = serializeAws_ec2IamInstanceProfileSpecification(input.IamInstanceProfile, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Monitoring.${key}`; + const loc = `IamInstanceProfile.${key}`; entries[loc] = value; }); } - if (input.UserData !== undefined) { - entries["UserData"] = input.UserData; - } - if (input.SecurityGroupIds !== undefined) { - const memberEntries = serializeAws_ec2RequestSpotLaunchSpecificationSecurityGroupIdList( - input.SecurityGroupIds, - context - ); + if (input.BlockDeviceMappings !== undefined) { + const memberEntries = serializeAws_ec2BlockDeviceMappingList(input.BlockDeviceMappings, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.EbsOptimized !== undefined) { - entries["EbsOptimized"] = input.EbsOptimized; + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; } if (input.SecurityGroups !== undefined) { const memberEntries = serializeAws_ec2RequestSpotLaunchSpecificationSecurityGroupList( @@ -40834,10 +41732,10 @@ const serializeAws_ec2RequestSpotLaunchSpecification = ( entries[loc] = value; }); } - if (input.NetworkInterfaces !== undefined) { - const memberEntries = serializeAws_ec2InstanceNetworkInterfaceSpecificationList(input.NetworkInterfaces, context); + if (input.Monitoring !== undefined) { + const memberEntries = serializeAws_ec2RunInstancesMonitoringEnabled(input.Monitoring, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NetworkInterface.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Monitoring.${key}`; entries[loc] = value; }); } @@ -40848,34 +41746,46 @@ const serializeAws_ec2RequestSpotLaunchSpecification = ( entries[loc] = value; }); } - if (input.KeyName !== undefined) { - entries["KeyName"] = input.KeyName; + if (input.AddressingType !== undefined) { + entries["AddressingType"] = input.AddressingType; } - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; + if (input.KernelId !== undefined) { + entries["KernelId"] = input.KernelId; } - if (input.BlockDeviceMappings !== undefined) { - const memberEntries = serializeAws_ec2BlockDeviceMappingList(input.BlockDeviceMappings, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.SubnetId !== undefined) { + entries["SubnetId"] = input.SubnetId; } - if (input.IamInstanceProfile !== undefined) { - const memberEntries = serializeAws_ec2IamInstanceProfileSpecification(input.IamInstanceProfile, context); + if (input.NetworkInterfaces !== undefined) { + const memberEntries = serializeAws_ec2InstanceNetworkInterfaceSpecificationList(input.NetworkInterfaces, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IamInstanceProfile.${key}`; + const loc = `NetworkInterface.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.KernelId !== undefined) { - entries["KernelId"] = input.KernelId; + if (input.EbsOptimized !== undefined) { + entries["EbsOptimized"] = input.EbsOptimized; } - if (input.SubnetId !== undefined) { - entries["SubnetId"] = input.SubnetId; + if (input.ImageId !== undefined) { + entries["ImageId"] = input.ImageId; } - if (input.AddressingType !== undefined) { - entries["AddressingType"] = input.AddressingType; + if (input.KeyName !== undefined) { + entries["KeyName"] = input.KeyName; + } + if (input.RamdiskId !== undefined) { + entries["RamdiskId"] = input.RamdiskId; + } + if (input.UserData !== undefined) { + entries["UserData"] = input.UserData; + } + if (input.SecurityGroupIds !== undefined) { + const memberEntries = serializeAws_ec2RequestSpotLaunchSpecificationSecurityGroupIdList( + input.SecurityGroupIds, + context + ); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -40921,12 +41831,12 @@ const serializeAws_ec2ReservedInstanceLimitPrice = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.CurrencyCode !== undefined) { - entries["CurrencyCode"] = input.CurrencyCode; - } if (input.Amount !== undefined) { entries["Amount"] = input.Amount; } + if (input.CurrencyCode !== undefined) { + entries["CurrencyCode"] = input.CurrencyCode; + } return entries; }; @@ -40935,14 +41845,11 @@ const serializeAws_ec2ReservedInstancesConfiguration = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Platform !== undefined) { - entries["Platform"] = input.Platform; - } if (input.InstanceType !== undefined) { entries["InstanceType"] = input.InstanceType; } - if (input.Scope !== undefined) { - entries["Scope"] = input.Scope; + if (input.Platform !== undefined) { + entries["Platform"] = input.Platform; } if (input.InstanceCount !== undefined) { entries["InstanceCount"] = input.InstanceCount; @@ -40950,6 +41857,9 @@ const serializeAws_ec2ReservedInstancesConfiguration = ( if (input.AvailabilityZone !== undefined) { entries["AvailabilityZone"] = input.AvailabilityZone; } + if (input.Scope !== undefined) { + entries["Scope"] = input.Scope; + } return entries; }; @@ -41015,15 +41925,15 @@ const serializeAws_ec2ResetFpgaImageAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.FpgaImageId !== undefined) { entries["FpgaImageId"] = input.FpgaImageId; } if (input.Attribute !== undefined) { entries["Attribute"] = input.Attribute; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -41049,15 +41959,15 @@ const serializeAws_ec2ResetInstanceAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.InstanceId !== undefined) { entries["InstanceId"] = input.InstanceId; } if (input.Attribute !== undefined) { entries["Attribute"] = input.Attribute; } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -41069,12 +41979,12 @@ const serializeAws_ec2ResetNetworkInterfaceAttributeRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.NetworkInterfaceId !== undefined) { - entries["NetworkInterfaceId"] = input.NetworkInterfaceId; - } if (input.SourceDestCheck !== undefined) { entries["SourceDestCheck"] = input.SourceDestCheck; } + if (input.NetworkInterfaceId !== undefined) { + entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + } return entries; }; @@ -41083,14 +41993,14 @@ const serializeAws_ec2ResetSnapshotAttributeRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SnapshotId !== undefined) { - entries["SnapshotId"] = input.SnapshotId; + if (input.Attribute !== undefined) { + entries["Attribute"] = input.Attribute; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.Attribute !== undefined) { - entries["Attribute"] = input.Attribute; + if (input.SnapshotId !== undefined) { + entries["SnapshotId"] = input.SnapshotId; } return entries; }; @@ -41144,18 +42054,18 @@ const serializeAws_ec2RestoreManagedPrefixListVersionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } + if (input.CurrentVersion !== undefined) { + entries["CurrentVersion"] = input.CurrentVersion; + } if (input.PrefixListId !== undefined) { entries["PrefixListId"] = input.PrefixListId; } if (input.PreviousVersion !== undefined) { entries["PreviousVersion"] = input.PreviousVersion; } - if (input.CurrentVersion !== undefined) { - entries["CurrentVersion"] = input.CurrentVersion; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -41167,18 +42077,18 @@ const serializeAws_ec2RevokeClientVpnIngressRequest = ( if (input.ClientVpnEndpointId !== undefined) { entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } - if (input.TargetNetworkCidr !== undefined) { - entries["TargetNetworkCidr"] = input.TargetNetworkCidr; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.RevokeAllGroups !== undefined) { entries["RevokeAllGroups"] = input.RevokeAllGroups; } + if (input.TargetNetworkCidr !== undefined) { + entries["TargetNetworkCidr"] = input.TargetNetworkCidr; + } if (input.AccessGroupId !== undefined) { entries["AccessGroupId"] = input.AccessGroupId; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } return entries; }; @@ -41187,11 +42097,14 @@ const serializeAws_ec2RevokeSecurityGroupEgressRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.FromPort !== undefined) { - entries["FromPort"] = input.FromPort; + if (input.SourceSecurityGroupName !== undefined) { + entries["SourceSecurityGroupName"] = input.SourceSecurityGroupName; } - if (input.GroupId !== undefined) { - entries["GroupId"] = input.GroupId; + if (input.SourceSecurityGroupOwnerId !== undefined) { + entries["SourceSecurityGroupOwnerId"] = input.SourceSecurityGroupOwnerId; + } + if (input.IpProtocol !== undefined) { + entries["IpProtocol"] = input.IpProtocol; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; @@ -41203,20 +42116,17 @@ const serializeAws_ec2RevokeSecurityGroupEgressRequest = ( entries[loc] = value; }); } - if (input.SourceSecurityGroupName !== undefined) { - entries["SourceSecurityGroupName"] = input.SourceSecurityGroupName; - } if (input.CidrIp !== undefined) { entries["CidrIp"] = input.CidrIp; } - if (input.SourceSecurityGroupOwnerId !== undefined) { - entries["SourceSecurityGroupOwnerId"] = input.SourceSecurityGroupOwnerId; - } if (input.ToPort !== undefined) { entries["ToPort"] = input.ToPort; } - if (input.IpProtocol !== undefined) { - entries["IpProtocol"] = input.IpProtocol; + if (input.GroupId !== undefined) { + entries["GroupId"] = input.GroupId; + } + if (input.FromPort !== undefined) { + entries["FromPort"] = input.FromPort; } return entries; }; @@ -41226,18 +42136,8 @@ const serializeAws_ec2RevokeSecurityGroupIngressRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.GroupId !== undefined) { - entries["GroupId"] = input.GroupId; - } - if (input.SourceSecurityGroupName !== undefined) { - entries["SourceSecurityGroupName"] = input.SourceSecurityGroupName; - } - if (input.IpPermissions !== undefined) { - const memberEntries = serializeAws_ec2IpPermissionList(input.IpPermissions, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IpPermissions.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.IpProtocol !== undefined) { + entries["IpProtocol"] = input.IpProtocol; } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; @@ -41245,6 +42145,9 @@ const serializeAws_ec2RevokeSecurityGroupIngressRequest = ( if (input.FromPort !== undefined) { entries["FromPort"] = input.FromPort; } + if (input.SourceSecurityGroupOwnerId !== undefined) { + entries["SourceSecurityGroupOwnerId"] = input.SourceSecurityGroupOwnerId; + } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } @@ -41254,11 +42157,18 @@ const serializeAws_ec2RevokeSecurityGroupIngressRequest = ( if (input.CidrIp !== undefined) { entries["CidrIp"] = input.CidrIp; } - if (input.SourceSecurityGroupOwnerId !== undefined) { - entries["SourceSecurityGroupOwnerId"] = input.SourceSecurityGroupOwnerId; + if (input.SourceSecurityGroupName !== undefined) { + entries["SourceSecurityGroupName"] = input.SourceSecurityGroupName; } - if (input.IpProtocol !== undefined) { - entries["IpProtocol"] = input.IpProtocol; + if (input.GroupId !== undefined) { + entries["GroupId"] = input.GroupId; + } + if (input.IpPermissions !== undefined) { + const memberEntries = serializeAws_ec2IpPermissionList(input.IpPermissions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `IpPermissions.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -41286,31 +42196,25 @@ const serializeAws_ec2RunInstancesMonitoringEnabled = ( const serializeAws_ec2RunInstancesRequest = (input: RunInstancesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Ipv6AddressCount !== undefined) { - entries["Ipv6AddressCount"] = input.Ipv6AddressCount; - } - if (input.IamInstanceProfile !== undefined) { - const memberEntries = serializeAws_ec2IamInstanceProfileSpecification(input.IamInstanceProfile, context); + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IamInstanceProfile.${key}`; + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.ElasticInferenceAccelerators !== undefined) { - const memberEntries = serializeAws_ec2ElasticInferenceAccelerators(input.ElasticInferenceAccelerators, context); + if (input.KernelId !== undefined) { + entries["KernelId"] = input.KernelId; + } + if (input.SecurityGroups !== undefined) { + const memberEntries = serializeAws_ec2SecurityGroupStringList(input.SecurityGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ElasticInferenceAccelerator.${key.substring(key.indexOf(".") + 1)}`; + const loc = `SecurityGroup.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.DisableApiTermination !== undefined) { - entries["DisableApiTermination"] = input.DisableApiTermination; - } - if (input.ClientToken === undefined) { - input.ClientToken = generateIdempotencyToken(); - } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.SubnetId !== undefined) { + entries["SubnetId"] = input.SubnetId; } if (input.Placement !== undefined) { const memberEntries = serializeAws_ec2Placement(input.Placement, context); @@ -41319,40 +42223,36 @@ const serializeAws_ec2RunInstancesRequest = (input: RunInstancesRequest, context entries[loc] = value; }); } - if (input.CapacityReservationSpecification !== undefined) { - const memberEntries = serializeAws_ec2CapacityReservationSpecification( - input.CapacityReservationSpecification, - context - ); + if (input.ElasticGpuSpecification !== undefined) { + const memberEntries = serializeAws_ec2ElasticGpuSpecifications(input.ElasticGpuSpecification, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CapacityReservationSpecification.${key}`; + const loc = `ElasticGpuSpecification.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.MetadataOptions !== undefined) { - const memberEntries = serializeAws_ec2InstanceMetadataOptionsRequest(input.MetadataOptions, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `MetadataOptions.${key}`; - entries[loc] = value; - }); + if (input.DisableApiTermination !== undefined) { + entries["DisableApiTermination"] = input.DisableApiTermination; } - if (input.Monitoring !== undefined) { - const memberEntries = serializeAws_ec2RunInstancesMonitoringEnabled(input.Monitoring, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Monitoring.${key}`; - entries[loc] = value; - }); + if (input.KeyName !== undefined) { + entries["KeyName"] = input.KeyName; } if (input.RamdiskId !== undefined) { entries["RamdiskId"] = input.RamdiskId; } - if (input.EbsOptimized !== undefined) { - entries["EbsOptimized"] = input.EbsOptimized; + if (input.InstanceMarketOptions !== undefined) { + const memberEntries = serializeAws_ec2InstanceMarketOptionsRequest(input.InstanceMarketOptions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceMarketOptions.${key}`; + entries[loc] = value; + }); } - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + if (input.MaxCount !== undefined) { + entries["MaxCount"] = input.MaxCount; + } + if (input.BlockDeviceMappings !== undefined) { + const memberEntries = serializeAws_ec2BlockDeviceMappingRequestList(input.BlockDeviceMappings, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -41366,27 +42266,37 @@ const serializeAws_ec2RunInstancesRequest = (input: RunInstancesRequest, context if (input.MinCount !== undefined) { entries["MinCount"] = input.MinCount; } + if (input.CreditSpecification !== undefined) { + const memberEntries = serializeAws_ec2CreditSpecificationRequest(input.CreditSpecification, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CreditSpecification.${key}`; + entries[loc] = value; + }); + } + if (input.EbsOptimized !== undefined) { + entries["EbsOptimized"] = input.EbsOptimized; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.SecurityGroupIds !== undefined) { - const memberEntries = serializeAws_ec2SecurityGroupIdStringList(input.SecurityGroupIds, context); + if (input.NetworkInterfaces !== undefined) { + const memberEntries = serializeAws_ec2InstanceNetworkInterfaceSpecificationList(input.NetworkInterfaces, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `NetworkInterface.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.ElasticGpuSpecification !== undefined) { - const memberEntries = serializeAws_ec2ElasticGpuSpecifications(input.ElasticGpuSpecification, context); + if (input.HibernationOptions !== undefined) { + const memberEntries = serializeAws_ec2HibernationOptionsRequest(input.HibernationOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ElasticGpuSpecification.${key.substring(key.indexOf(".") + 1)}`; + const loc = `HibernationOptions.${key}`; entries[loc] = value; }); } - if (input.BlockDeviceMappings !== undefined) { - const memberEntries = serializeAws_ec2BlockDeviceMappingRequestList(input.BlockDeviceMappings, context); + if (input.MetadataOptions !== undefined) { + const memberEntries = serializeAws_ec2InstanceMetadataOptionsRequest(input.MetadataOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; + const loc = `MetadataOptions.${key}`; entries[loc] = value; }); } @@ -41397,72 +42307,63 @@ const serializeAws_ec2RunInstancesRequest = (input: RunInstancesRequest, context entries[loc] = value; }); } - if (input.InstanceMarketOptions !== undefined) { - const memberEntries = serializeAws_ec2InstanceMarketOptionsRequest(input.InstanceMarketOptions, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `InstanceMarketOptions.${key}`; + if (input.CapacityReservationSpecification !== undefined) { + const memberEntries = serializeAws_ec2CapacityReservationSpecification( + input.CapacityReservationSpecification, + context + ); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CapacityReservationSpecification.${key}`; entries[loc] = value; }); } - if (input.MaxCount !== undefined) { - entries["MaxCount"] = input.MaxCount; - } - if (input.NetworkInterfaces !== undefined) { - const memberEntries = serializeAws_ec2InstanceNetworkInterfaceSpecificationList(input.NetworkInterfaces, context); + if (input.SecurityGroupIds !== undefined) { + const memberEntries = serializeAws_ec2SecurityGroupIdStringList(input.SecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NetworkInterface.${key.substring(key.indexOf(".") + 1)}`; + const loc = `SecurityGroupId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.InstanceInitiatedShutdownBehavior !== undefined) { - entries["InstanceInitiatedShutdownBehavior"] = input.InstanceInitiatedShutdownBehavior; - } - if (input.AdditionalInfo !== undefined) { - entries["AdditionalInfo"] = input.AdditionalInfo; + if (input.ClientToken === undefined) { + input.ClientToken = generateIdempotencyToken(); } - if (input.ImageId !== undefined) { - entries["ImageId"] = input.ImageId; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } - if (input.KeyName !== undefined) { - entries["KeyName"] = input.KeyName; + if (input.PrivateIpAddress !== undefined) { + entries["PrivateIpAddress"] = input.PrivateIpAddress; } - if (input.CreditSpecification !== undefined) { - const memberEntries = serializeAws_ec2CreditSpecificationRequest(input.CreditSpecification, context); + if (input.IamInstanceProfile !== undefined) { + const memberEntries = serializeAws_ec2IamInstanceProfileSpecification(input.IamInstanceProfile, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CreditSpecification.${key}`; + const loc = `IamInstanceProfile.${key}`; entries[loc] = value; }); } - if (input.SecurityGroups !== undefined) { - const memberEntries = serializeAws_ec2SecurityGroupStringList(input.SecurityGroups, context); + if (input.LaunchTemplate !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateSpecification(input.LaunchTemplate, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SecurityGroup.${key.substring(key.indexOf(".") + 1)}`; + const loc = `LaunchTemplate.${key}`; entries[loc] = value; }); } - if (input.HibernationOptions !== undefined) { - const memberEntries = serializeAws_ec2HibernationOptionsRequest(input.HibernationOptions, context); + if (input.InstanceInitiatedShutdownBehavior !== undefined) { + entries["InstanceInitiatedShutdownBehavior"] = input.InstanceInitiatedShutdownBehavior; + } + if (input.Ipv6AddressCount !== undefined) { + entries["Ipv6AddressCount"] = input.Ipv6AddressCount; + } + if (input.Monitoring !== undefined) { + const memberEntries = serializeAws_ec2RunInstancesMonitoringEnabled(input.Monitoring, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `HibernationOptions.${key}`; + const loc = `Monitoring.${key}`; entries[loc] = value; }); } - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; - } - if (input.PrivateIpAddress !== undefined) { - entries["PrivateIpAddress"] = input.PrivateIpAddress; - } - if (input.SubnetId !== undefined) { - entries["SubnetId"] = input.SubnetId; - } - if (input.UserData !== undefined) { - entries["UserData"] = input.UserData; - } - if (input.LaunchTemplate !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplateSpecification(input.LaunchTemplate, context); + if (input.ElasticInferenceAccelerators !== undefined) { + const memberEntries = serializeAws_ec2ElasticInferenceAccelerators(input.ElasticInferenceAccelerators, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LaunchTemplate.${key}`; + const loc = `ElasticInferenceAccelerator.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -41473,8 +42374,17 @@ const serializeAws_ec2RunInstancesRequest = (input: RunInstancesRequest, context entries[loc] = value; }); } - if (input.KernelId !== undefined) { - entries["KernelId"] = input.KernelId; + if (input.ImageId !== undefined) { + entries["ImageId"] = input.ImageId; + } + if (input.UserData !== undefined) { + entries["UserData"] = input.UserData; + } + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; + } + if (input.AdditionalInfo !== undefined) { + entries["AdditionalInfo"] = input.AdditionalInfo; } return entries; }; @@ -41484,6 +42394,9 @@ const serializeAws_ec2RunScheduledInstancesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ScheduledInstanceId !== undefined) { + entries["ScheduledInstanceId"] = input.ScheduledInstanceId; + } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -41494,18 +42407,15 @@ const serializeAws_ec2RunScheduledInstancesRequest = ( entries[loc] = value; }); } - if (input.ScheduledInstanceId !== undefined) { - entries["ScheduledInstanceId"] = input.ScheduledInstanceId; - } - if (input.InstanceCount !== undefined) { - entries["InstanceCount"] = input.InstanceCount; - } if (input.ClientToken === undefined) { input.ClientToken = generateIdempotencyToken(); } if (input.ClientToken !== undefined) { entries["ClientToken"] = input.ClientToken; } + if (input.InstanceCount !== undefined) { + entries["InstanceCount"] = input.InstanceCount; + } return entries; }; @@ -41514,17 +42424,17 @@ const serializeAws_ec2S3Storage = (input: S3Storage, context: __SerdeContext): a if (input.Prefix !== undefined) { entries["Prefix"] = input.Prefix; } - if (input.UploadPolicySignature !== undefined) { - entries["UploadPolicySignature"] = input.UploadPolicySignature; - } - if (input.UploadPolicy !== undefined) { - entries["UploadPolicy"] = context.base64Encoder(input.UploadPolicy); + if (input.AWSAccessKeyId !== undefined) { + entries["AWSAccessKeyId"] = input.AWSAccessKeyId; } if (input.Bucket !== undefined) { entries["Bucket"] = input.Bucket; } - if (input.AWSAccessKeyId !== undefined) { - entries["AWSAccessKeyId"] = input.AWSAccessKeyId; + if (input.UploadPolicy !== undefined) { + entries["UploadPolicy"] = context.base64Encoder(input.UploadPolicy); + } + if (input.UploadPolicySignature !== undefined) { + entries["UploadPolicySignature"] = input.UploadPolicySignature; } return entries; }; @@ -41544,9 +42454,6 @@ const serializeAws_ec2ScheduledInstanceRecurrenceRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Interval !== undefined) { - entries["Interval"] = input.Interval; - } if (input.OccurrenceDays !== undefined) { const memberEntries = serializeAws_ec2OccurrenceDayRequestSet(input.OccurrenceDays, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -41554,12 +42461,15 @@ const serializeAws_ec2ScheduledInstanceRecurrenceRequest = ( entries[loc] = value; }); } - if (input.Frequency !== undefined) { - entries["Frequency"] = input.Frequency; - } if (input.OccurrenceUnit !== undefined) { entries["OccurrenceUnit"] = input.OccurrenceUnit; } + if (input.Interval !== undefined) { + entries["Interval"] = input.Interval; + } + if (input.Frequency !== undefined) { + entries["Frequency"] = input.Frequency; + } if (input.OccurrenceRelativeToEnd !== undefined) { entries["OccurrenceRelativeToEnd"] = input.OccurrenceRelativeToEnd; } @@ -41571,6 +42481,9 @@ const serializeAws_ec2ScheduledInstancesBlockDeviceMapping = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NoDevice !== undefined) { + entries["NoDevice"] = input.NoDevice; + } if (input.Ebs !== undefined) { const memberEntries = serializeAws_ec2ScheduledInstancesEbs(input.Ebs, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -41578,14 +42491,11 @@ const serializeAws_ec2ScheduledInstancesBlockDeviceMapping = ( entries[loc] = value; }); } - if (input.DeviceName !== undefined) { - entries["DeviceName"] = input.DeviceName; - } if (input.VirtualName !== undefined) { entries["VirtualName"] = input.VirtualName; } - if (input.NoDevice !== undefined) { - entries["NoDevice"] = input.NoDevice; + if (input.DeviceName !== undefined) { + entries["DeviceName"] = input.DeviceName; } return entries; }; @@ -41608,23 +42518,23 @@ const serializeAws_ec2ScheduledInstancesBlockDeviceMappingSet = ( const serializeAws_ec2ScheduledInstancesEbs = (input: ScheduledInstancesEbs, context: __SerdeContext): any => { const entries: any = {}; - if (input.Encrypted !== undefined) { - entries["Encrypted"] = input.Encrypted; - } - if (input.VolumeSize !== undefined) { - entries["VolumeSize"] = input.VolumeSize; + if (input.VolumeType !== undefined) { + entries["VolumeType"] = input.VolumeType; } - if (input.DeleteOnTermination !== undefined) { - entries["DeleteOnTermination"] = input.DeleteOnTermination; + if (input.SnapshotId !== undefined) { + entries["SnapshotId"] = input.SnapshotId; } if (input.Iops !== undefined) { entries["Iops"] = input.Iops; } - if (input.VolumeType !== undefined) { - entries["VolumeType"] = input.VolumeType; + if (input.DeleteOnTermination !== undefined) { + entries["DeleteOnTermination"] = input.DeleteOnTermination; } - if (input.SnapshotId !== undefined) { - entries["SnapshotId"] = input.SnapshotId; + if (input.VolumeSize !== undefined) { + entries["VolumeSize"] = input.VolumeSize; + } + if (input.Encrypted !== undefined) { + entries["Encrypted"] = input.Encrypted; } return entries; }; @@ -41675,36 +42585,29 @@ const serializeAws_ec2ScheduledInstancesLaunchSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EbsOptimized !== undefined) { - entries["EbsOptimized"] = input.EbsOptimized; + if (input.UserData !== undefined) { + entries["UserData"] = input.UserData; } - if (input.Monitoring !== undefined) { - const memberEntries = serializeAws_ec2ScheduledInstancesMonitoring(input.Monitoring, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Monitoring.${key}`; - entries[loc] = value; - }); + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; } - if (input.RamdiskId !== undefined) { - entries["RamdiskId"] = input.RamdiskId; + if (input.ImageId !== undefined) { + entries["ImageId"] = input.ImageId; } - if (input.Placement !== undefined) { - const memberEntries = serializeAws_ec2ScheduledInstancesPlacement(input.Placement, context); + if (input.NetworkInterfaces !== undefined) { + const memberEntries = serializeAws_ec2ScheduledInstancesNetworkInterfaceSet(input.NetworkInterfaces, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Placement.${key}`; + const loc = `NetworkInterface.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.IamInstanceProfile !== undefined) { - const memberEntries = serializeAws_ec2ScheduledInstancesIamInstanceProfile(input.IamInstanceProfile, context); + if (input.BlockDeviceMappings !== undefined) { + const memberEntries = serializeAws_ec2ScheduledInstancesBlockDeviceMappingSet(input.BlockDeviceMappings, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IamInstanceProfile.${key}`; + const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; - } if (input.SecurityGroupIds !== undefined) { const memberEntries = serializeAws_ec2ScheduledInstancesSecurityGroupIdSet(input.SecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -41718,28 +42621,35 @@ const serializeAws_ec2ScheduledInstancesLaunchSpecification = ( if (input.SubnetId !== undefined) { entries["SubnetId"] = input.SubnetId; } - if (input.BlockDeviceMappings !== undefined) { - const memberEntries = serializeAws_ec2ScheduledInstancesBlockDeviceMappingSet(input.BlockDeviceMappings, context); + if (input.Monitoring !== undefined) { + const memberEntries = serializeAws_ec2ScheduledInstancesMonitoring(input.Monitoring, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Monitoring.${key}`; entries[loc] = value; }); } - if (input.NetworkInterfaces !== undefined) { - const memberEntries = serializeAws_ec2ScheduledInstancesNetworkInterfaceSet(input.NetworkInterfaces, context); + if (input.EbsOptimized !== undefined) { + entries["EbsOptimized"] = input.EbsOptimized; + } + if (input.Placement !== undefined) { + const memberEntries = serializeAws_ec2ScheduledInstancesPlacement(input.Placement, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NetworkInterface.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Placement.${key}`; entries[loc] = value; }); } if (input.KeyName !== undefined) { entries["KeyName"] = input.KeyName; } - if (input.ImageId !== undefined) { - entries["ImageId"] = input.ImageId; + if (input.IamInstanceProfile !== undefined) { + const memberEntries = serializeAws_ec2ScheduledInstancesIamInstanceProfile(input.IamInstanceProfile, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `IamInstanceProfile.${key}`; + entries[loc] = value; + }); } - if (input.UserData !== undefined) { - entries["UserData"] = input.UserData; + if (input.RamdiskId !== undefined) { + entries["RamdiskId"] = input.RamdiskId; } return entries; }; @@ -41760,28 +42670,27 @@ const serializeAws_ec2ScheduledInstancesNetworkInterface = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Groups !== undefined) { - const memberEntries = serializeAws_ec2ScheduledInstancesSecurityGroupIdSet(input.Groups, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Group.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.SubnetId !== undefined) { + entries["SubnetId"] = input.SubnetId; } if (input.PrivateIpAddress !== undefined) { entries["PrivateIpAddress"] = input.PrivateIpAddress; } + if (input.Ipv6AddressCount !== undefined) { + entries["Ipv6AddressCount"] = input.Ipv6AddressCount; + } if (input.DeviceIndex !== undefined) { entries["DeviceIndex"] = input.DeviceIndex; } - if (input.PrivateIpAddressConfigs !== undefined) { - const memberEntries = serializeAws_ec2PrivateIpAddressConfigSet(input.PrivateIpAddressConfigs, context); + if (input.Groups !== undefined) { + const memberEntries = serializeAws_ec2ScheduledInstancesSecurityGroupIdSet(input.Groups, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PrivateIpAddressConfig.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Group.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.DeleteOnTermination !== undefined) { - entries["DeleteOnTermination"] = input.DeleteOnTermination; + if (input.SecondaryPrivateIpAddressCount !== undefined) { + entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount; } if (input.AssociatePublicIpAddress !== undefined) { entries["AssociatePublicIpAddress"] = input.AssociatePublicIpAddress; @@ -41789,24 +42698,25 @@ const serializeAws_ec2ScheduledInstancesNetworkInterface = ( if (input.NetworkInterfaceId !== undefined) { entries["NetworkInterfaceId"] = input.NetworkInterfaceId; } - if (input.Ipv6Addresses !== undefined) { - const memberEntries = serializeAws_ec2ScheduledInstancesIpv6AddressList(input.Ipv6Addresses, context); + if (input.PrivateIpAddressConfigs !== undefined) { + const memberEntries = serializeAws_ec2PrivateIpAddressConfigSet(input.PrivateIpAddressConfigs, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Ipv6Address.${key.substring(key.indexOf(".") + 1)}`; + const loc = `PrivateIpAddressConfig.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.SubnetId !== undefined) { - entries["SubnetId"] = input.SubnetId; - } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.Ipv6AddressCount !== undefined) { - entries["Ipv6AddressCount"] = input.Ipv6AddressCount; + if (input.Ipv6Addresses !== undefined) { + const memberEntries = serializeAws_ec2ScheduledInstancesIpv6AddressList(input.Ipv6Addresses, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Ipv6Address.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } - if (input.SecondaryPrivateIpAddressCount !== undefined) { - entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount; + if (input.DeleteOnTermination !== undefined) { + entries["DeleteOnTermination"] = input.DeleteOnTermination; } return entries; }; @@ -41870,6 +42780,9 @@ const serializeAws_ec2SearchLocalGatewayRoutesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -41877,18 +42790,15 @@ const serializeAws_ec2SearchLocalGatewayRoutesRequest = ( entries[loc] = value; }); } - if (input.LocalGatewayRouteTableId !== undefined) { - entries["LocalGatewayRouteTableId"] = input.LocalGatewayRouteTableId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.LocalGatewayRouteTableId !== undefined) { + entries["LocalGatewayRouteTableId"] = input.LocalGatewayRouteTableId; + } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } return entries; }; @@ -41897,18 +42807,18 @@ const serializeAws_ec2SearchTransitGatewayMulticastGroupsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitGatewayMulticastDomainId !== undefined) { - entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; - } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.TransitGatewayMulticastDomainId !== undefined) { + entries["TransitGatewayMulticastDomainId"] = input.TransitGatewayMulticastDomainId; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_ec2FilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -41931,14 +42841,14 @@ const serializeAws_ec2SearchTransitGatewayRoutesRequest = ( entries[loc] = value; }); } - if (input.TransitGatewayRouteTableId !== undefined) { - entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; + if (input.TransitGatewayRouteTableId !== undefined) { + entries["TransitGatewayRouteTableId"] = input.TransitGatewayRouteTableId; } return entries; }; @@ -41979,12 +42889,12 @@ const serializeAws_ec2SendDiagnosticInterruptRequest = ( const serializeAws_ec2SlotDateTimeRangeRequest = (input: SlotDateTimeRangeRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.EarliestTime !== undefined) { - entries["EarliestTime"] = input.EarliestTime.toISOString().split(".")[0] + "Z"; - } if (input.LatestTime !== undefined) { entries["LatestTime"] = input.LatestTime.toISOString().split(".")[0] + "Z"; } + if (input.EarliestTime !== undefined) { + entries["EarliestTime"] = input.EarliestTime.toISOString().split(".")[0] + "Z"; + } return entries; }; @@ -42001,6 +42911,9 @@ const serializeAws_ec2SlotStartTimeRangeRequest = (input: SlotStartTimeRangeRequ const serializeAws_ec2SnapshotDiskContainer = (input: SnapshotDiskContainer, context: __SerdeContext): any => { const entries: any = {}; + if (input.Url !== undefined) { + entries["Url"] = input.Url; + } if (input.Description !== undefined) { entries["Description"] = input.Description; } @@ -42011,9 +42924,6 @@ const serializeAws_ec2SnapshotDiskContainer = (input: SnapshotDiskContainer, con entries[loc] = value; }); } - if (input.Url !== undefined) { - entries["Url"] = input.Url; - } if (input.Format !== undefined) { entries["Format"] = input.Format; } @@ -42035,23 +42945,6 @@ const serializeAws_ec2SpotFleetLaunchSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.BlockDeviceMappings !== undefined) { - const memberEntries = serializeAws_ec2BlockDeviceMappingList(input.BlockDeviceMappings, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.SecurityGroups !== undefined) { - const memberEntries = serializeAws_ec2GroupIdentifierList(input.SecurityGroups, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `GroupSet.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.EbsOptimized !== undefined) { - entries["EbsOptimized"] = input.EbsOptimized; - } if (input.NetworkInterfaces !== undefined) { const memberEntries = serializeAws_ec2InstanceNetworkInterfaceSpecificationList(input.NetworkInterfaces, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -42069,18 +42962,15 @@ const serializeAws_ec2SpotFleetLaunchSpecification = ( entries[loc] = value; }); } - if (input.InstanceType !== undefined) { - entries["InstanceType"] = input.InstanceType; - } - if (input.Monitoring !== undefined) { - const memberEntries = serializeAws_ec2SpotFleetMonitoring(input.Monitoring, context); + if (input.IamInstanceProfile !== undefined) { + const memberEntries = serializeAws_ec2IamInstanceProfileSpecification(input.IamInstanceProfile, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Monitoring.${key}`; + const loc = `IamInstanceProfile.${key}`; entries[loc] = value; }); } - if (input.SpotPrice !== undefined) { - entries["SpotPrice"] = input.SpotPrice; + if (input.WeightedCapacity !== undefined) { + entries["WeightedCapacity"] = input.WeightedCapacity; } if (input.TagSpecifications !== undefined) { const memberEntries = serializeAws_ec2SpotFleetTagSpecificationList(input.TagSpecifications, context); @@ -42089,33 +42979,53 @@ const serializeAws_ec2SpotFleetLaunchSpecification = ( entries[loc] = value; }); } - if (input.RamdiskId !== undefined) { - entries["RamdiskId"] = input.RamdiskId; - } - if (input.UserData !== undefined) { - entries["UserData"] = input.UserData; - } - if (input.ImageId !== undefined) { - entries["ImageId"] = input.ImageId; - } - if (input.WeightedCapacity !== undefined) { - entries["WeightedCapacity"] = input.WeightedCapacity; + if (input.InstanceType !== undefined) { + entries["InstanceType"] = input.InstanceType; } - if (input.IamInstanceProfile !== undefined) { - const memberEntries = serializeAws_ec2IamInstanceProfileSpecification(input.IamInstanceProfile, context); + if (input.BlockDeviceMappings !== undefined) { + const memberEntries = serializeAws_ec2BlockDeviceMappingList(input.BlockDeviceMappings, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IamInstanceProfile.${key}`; + const loc = `BlockDeviceMapping.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.EbsOptimized !== undefined) { + entries["EbsOptimized"] = input.EbsOptimized; + } if (input.SubnetId !== undefined) { entries["SubnetId"] = input.SubnetId; } + if (input.KernelId !== undefined) { + entries["KernelId"] = input.KernelId; + } if (input.AddressingType !== undefined) { entries["AddressingType"] = input.AddressingType; } - if (input.KernelId !== undefined) { - entries["KernelId"] = input.KernelId; + if (input.SpotPrice !== undefined) { + entries["SpotPrice"] = input.SpotPrice; + } + if (input.RamdiskId !== undefined) { + entries["RamdiskId"] = input.RamdiskId; + } + if (input.ImageId !== undefined) { + entries["ImageId"] = input.ImageId; + } + if (input.Monitoring !== undefined) { + const memberEntries = serializeAws_ec2SpotFleetMonitoring(input.Monitoring, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Monitoring.${key}`; + entries[loc] = value; + }); + } + if (input.UserData !== undefined) { + entries["UserData"] = input.UserData; + } + if (input.SecurityGroups !== undefined) { + const memberEntries = serializeAws_ec2GroupIdentifierList(input.SecurityGroups, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `GroupSet.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -42133,68 +43043,71 @@ const serializeAws_ec2SpotFleetRequestConfigData = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TagSpecifications !== undefined) { - const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + if (input.ReplaceUnhealthyInstances !== undefined) { + entries["ReplaceUnhealthyInstances"] = input.ReplaceUnhealthyInstances; + } + if (input.ExcessCapacityTerminationPolicy !== undefined) { + entries["ExcessCapacityTerminationPolicy"] = input.ExcessCapacityTerminationPolicy; + } + if (input.TerminateInstancesWithExpiration !== undefined) { + entries["TerminateInstancesWithExpiration"] = input.TerminateInstancesWithExpiration; + } + if (input.LoadBalancersConfig !== undefined) { + const memberEntries = serializeAws_ec2LoadBalancersConfig(input.LoadBalancersConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + const loc = `LoadBalancersConfig.${key}`; entries[loc] = value; }); } - if (input.TargetCapacity !== undefined) { - entries["TargetCapacity"] = input.TargetCapacity; - } - if (input.ValidFrom !== undefined) { - entries["ValidFrom"] = input.ValidFrom.toISOString().split(".")[0] + "Z"; - } if (input.InstanceInterruptionBehavior !== undefined) { entries["InstanceInterruptionBehavior"] = input.InstanceInterruptionBehavior; } - if (input.LaunchTemplateConfigs !== undefined) { - const memberEntries = serializeAws_ec2LaunchTemplateConfigList(input.LaunchTemplateConfigs, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LaunchTemplateConfigs.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.ValidUntil !== undefined) { + entries["ValidUntil"] = input.ValidUntil.toISOString().split(".")[0] + "Z"; } - if (input.AllocationStrategy !== undefined) { - entries["AllocationStrategy"] = input.AllocationStrategy; + if (input.OnDemandFulfilledCapacity !== undefined) { + entries["OnDemandFulfilledCapacity"] = input.OnDemandFulfilledCapacity; } - if (input.FulfilledCapacity !== undefined) { - entries["FulfilledCapacity"] = input.FulfilledCapacity; + if (input.TargetCapacity !== undefined) { + entries["TargetCapacity"] = input.TargetCapacity; } - if (input.SpotPrice !== undefined) { - entries["SpotPrice"] = input.SpotPrice; + if (input.InstancePoolsToUseCount !== undefined) { + entries["InstancePoolsToUseCount"] = input.InstancePoolsToUseCount; } - if (input.ReplaceUnhealthyInstances !== undefined) { - entries["ReplaceUnhealthyInstances"] = input.ReplaceUnhealthyInstances; + if (input.TagSpecifications !== undefined) { + const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } if (input.IamFleetRole !== undefined) { entries["IamFleetRole"] = input.IamFleetRole; } - if (input.SpotMaxTotalPrice !== undefined) { - entries["SpotMaxTotalPrice"] = input.SpotMaxTotalPrice; - } - if (input.InstancePoolsToUseCount !== undefined) { - entries["InstancePoolsToUseCount"] = input.InstancePoolsToUseCount; + if (input.ClientToken !== undefined) { + entries["ClientToken"] = input.ClientToken; } - if (input.LoadBalancersConfig !== undefined) { - const memberEntries = serializeAws_ec2LoadBalancersConfig(input.LoadBalancersConfig, context); + if (input.LaunchTemplateConfigs !== undefined) { + const memberEntries = serializeAws_ec2LaunchTemplateConfigList(input.LaunchTemplateConfigs, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LoadBalancersConfig.${key}`; + const loc = `LaunchTemplateConfigs.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.ExcessCapacityTerminationPolicy !== undefined) { - entries["ExcessCapacityTerminationPolicy"] = input.ExcessCapacityTerminationPolicy; + if (input.OnDemandAllocationStrategy !== undefined) { + entries["OnDemandAllocationStrategy"] = input.OnDemandAllocationStrategy; } - if (input.OnDemandMaxTotalPrice !== undefined) { - entries["OnDemandMaxTotalPrice"] = input.OnDemandMaxTotalPrice; + if (input.SpotMaxTotalPrice !== undefined) { + entries["SpotMaxTotalPrice"] = input.SpotMaxTotalPrice; } - if (input.ValidUntil !== undefined) { - entries["ValidUntil"] = input.ValidUntil.toISOString().split(".")[0] + "Z"; + if (input.OnDemandTargetCapacity !== undefined) { + entries["OnDemandTargetCapacity"] = input.OnDemandTargetCapacity; } - if (input.Type !== undefined) { - entries["Type"] = input.Type; + if (input.AllocationStrategy !== undefined) { + entries["AllocationStrategy"] = input.AllocationStrategy; + } + if (input.ValidFrom !== undefined) { + entries["ValidFrom"] = input.ValidFrom.toISOString().split(".")[0] + "Z"; } if (input.LaunchSpecifications !== undefined) { const memberEntries = serializeAws_ec2LaunchSpecsList(input.LaunchSpecifications, context); @@ -42203,20 +43116,17 @@ const serializeAws_ec2SpotFleetRequestConfigData = ( entries[loc] = value; }); } - if (input.OnDemandAllocationStrategy !== undefined) { - entries["OnDemandAllocationStrategy"] = input.OnDemandAllocationStrategy; - } - if (input.OnDemandFulfilledCapacity !== undefined) { - entries["OnDemandFulfilledCapacity"] = input.OnDemandFulfilledCapacity; + if (input.SpotPrice !== undefined) { + entries["SpotPrice"] = input.SpotPrice; } - if (input.OnDemandTargetCapacity !== undefined) { - entries["OnDemandTargetCapacity"] = input.OnDemandTargetCapacity; + if (input.Type !== undefined) { + entries["Type"] = input.Type; } - if (input.ClientToken !== undefined) { - entries["ClientToken"] = input.ClientToken; + if (input.FulfilledCapacity !== undefined) { + entries["FulfilledCapacity"] = input.FulfilledCapacity; } - if (input.TerminateInstancesWithExpiration !== undefined) { - entries["TerminateInstancesWithExpiration"] = input.TerminateInstancesWithExpiration; + if (input.OnDemandMaxTotalPrice !== undefined) { + entries["OnDemandMaxTotalPrice"] = input.OnDemandMaxTotalPrice; } return entries; }; @@ -42233,6 +43143,9 @@ const serializeAws_ec2SpotFleetRequestIdList = (input: string[], context: __Serd const serializeAws_ec2SpotFleetTagSpecification = (input: SpotFleetTagSpecification, context: __SerdeContext): any => { const entries: any = {}; + if (input.ResourceType !== undefined) { + entries["ResourceType"] = input.ResourceType; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_ec2TagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -42240,9 +43153,6 @@ const serializeAws_ec2SpotFleetTagSpecification = (input: SpotFleetTagSpecificat entries[loc] = value; }); } - if (input.ResourceType !== undefined) { - entries["ResourceType"] = input.ResourceType; - } return entries; }; @@ -42274,38 +43184,26 @@ const serializeAws_ec2SpotInstanceRequestIdList = (input: string[], context: __S const serializeAws_ec2SpotMarketOptions = (input: SpotMarketOptions, context: __SerdeContext): any => { const entries: any = {}; - if (input.SpotInstanceType !== undefined) { - entries["SpotInstanceType"] = input.SpotInstanceType; + if (input.ValidUntil !== undefined) { + entries["ValidUntil"] = input.ValidUntil.toISOString().split(".")[0] + "Z"; } if (input.InstanceInterruptionBehavior !== undefined) { entries["InstanceInterruptionBehavior"] = input.InstanceInterruptionBehavior; } - if (input.ValidUntil !== undefined) { - entries["ValidUntil"] = input.ValidUntil.toISOString().split(".")[0] + "Z"; + if (input.MaxPrice !== undefined) { + entries["MaxPrice"] = input.MaxPrice; } if (input.BlockDurationMinutes !== undefined) { entries["BlockDurationMinutes"] = input.BlockDurationMinutes; } - if (input.MaxPrice !== undefined) { - entries["MaxPrice"] = input.MaxPrice; + if (input.SpotInstanceType !== undefined) { + entries["SpotInstanceType"] = input.SpotInstanceType; } return entries; }; const serializeAws_ec2SpotOptionsRequest = (input: SpotOptionsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxTotalPrice !== undefined) { - entries["MaxTotalPrice"] = input.MaxTotalPrice; - } - if (input.MinTargetCapacity !== undefined) { - entries["MinTargetCapacity"] = input.MinTargetCapacity; - } - if (input.InstancePoolsToUseCount !== undefined) { - entries["InstancePoolsToUseCount"] = input.InstancePoolsToUseCount; - } - if (input.AllocationStrategy !== undefined) { - entries["AllocationStrategy"] = input.AllocationStrategy; - } if (input.SingleInstanceType !== undefined) { entries["SingleInstanceType"] = input.SingleInstanceType; } @@ -42315,6 +43213,18 @@ const serializeAws_ec2SpotOptionsRequest = (input: SpotOptionsRequest, context: if (input.InstanceInterruptionBehavior !== undefined) { entries["InstanceInterruptionBehavior"] = input.InstanceInterruptionBehavior; } + if (input.InstancePoolsToUseCount !== undefined) { + entries["InstancePoolsToUseCount"] = input.InstancePoolsToUseCount; + } + if (input.MinTargetCapacity !== undefined) { + entries["MinTargetCapacity"] = input.MinTargetCapacity; + } + if (input.AllocationStrategy !== undefined) { + entries["AllocationStrategy"] = input.AllocationStrategy; + } + if (input.MaxTotalPrice !== undefined) { + entries["MaxTotalPrice"] = input.MaxTotalPrice; + } return entries; }; @@ -42334,6 +43244,9 @@ const serializeAws_ec2SpotPlacement = (input: SpotPlacement, context: __SerdeCon const serializeAws_ec2StartInstancesRequest = (input: StartInstancesRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.AdditionalInfo !== undefined) { + entries["AdditionalInfo"] = input.AdditionalInfo; + } if (input.InstanceIds !== undefined) { const memberEntries = serializeAws_ec2InstanceIdStringList(input.InstanceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -42341,9 +43254,6 @@ const serializeAws_ec2StartInstancesRequest = (input: StartInstancesRequest, con entries[loc] = value; }); } - if (input.AdditionalInfo !== undefined) { - entries["AdditionalInfo"] = input.AdditionalInfo; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } @@ -42355,12 +43265,12 @@ const serializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ServiceId !== undefined) { - entries["ServiceId"] = input.ServiceId; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.ServiceId !== undefined) { + entries["ServiceId"] = input.ServiceId; + } return entries; }; @@ -42376,12 +43286,12 @@ const serializeAws_ec2StopInstancesRequest = (input: StopInstancesRequest, conte entries[loc] = value; }); } - if (input.Hibernate !== undefined) { - entries["Hibernate"] = input.Hibernate; - } if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } + if (input.Hibernate !== undefined) { + entries["Hibernate"] = input.Hibernate; + } return entries; }; @@ -42399,12 +43309,12 @@ const serializeAws_ec2Storage = (input: Storage, context: __SerdeContext): any = const serializeAws_ec2StorageLocation = (input: StorageLocation, context: __SerdeContext): any => { const entries: any = {}; - if (input.Bucket !== undefined) { - entries["Bucket"] = input.Bucket; - } if (input.Key !== undefined) { entries["Key"] = input.Key; } + if (input.Bucket !== undefined) { + entries["Bucket"] = input.Bucket; + } return entries; }; @@ -42420,12 +43330,12 @@ const serializeAws_ec2SubnetIdStringList = (input: string[], context: __SerdeCon const serializeAws_ec2Tag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Key !== undefined) { entries["Key"] = input.Key; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -42495,12 +43405,12 @@ const serializeAws_ec2TargetConfigurationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.OfferingId !== undefined) { - entries["OfferingId"] = input.OfferingId; - } if (input.InstanceCount !== undefined) { entries["InstanceCount"] = input.InstanceCount; } + if (input.OfferingId !== undefined) { + entries["OfferingId"] = input.OfferingId; + } return entries; }; @@ -42558,18 +43468,18 @@ const serializeAws_ec2TerminateClientVpnConnectionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Username !== undefined) { + entries["Username"] = input.Username; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } if (input.ConnectionId !== undefined) { entries["ConnectionId"] = input.ConnectionId; } if (input.ClientVpnEndpointId !== undefined) { entries["ClientVpnEndpointId"] = input.ClientVpnEndpointId; } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.Username !== undefined) { - entries["Username"] = input.Username; - } return entries; }; @@ -42716,27 +43626,27 @@ const serializeAws_ec2TransitGatewayRequestOptions = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DefaultRouteTableAssociation !== undefined) { - entries["DefaultRouteTableAssociation"] = input.DefaultRouteTableAssociation; - } if (input.MulticastSupport !== undefined) { entries["MulticastSupport"] = input.MulticastSupport; } if (input.DnsSupport !== undefined) { entries["DnsSupport"] = input.DnsSupport; } - if (input.AutoAcceptSharedAttachments !== undefined) { - entries["AutoAcceptSharedAttachments"] = input.AutoAcceptSharedAttachments; - } - if (input.DefaultRouteTablePropagation !== undefined) { - entries["DefaultRouteTablePropagation"] = input.DefaultRouteTablePropagation; - } if (input.VpnEcmpSupport !== undefined) { entries["VpnEcmpSupport"] = input.VpnEcmpSupport; } + if (input.AutoAcceptSharedAttachments !== undefined) { + entries["AutoAcceptSharedAttachments"] = input.AutoAcceptSharedAttachments; + } if (input.AmazonSideAsn !== undefined) { entries["AmazonSideAsn"] = input.AmazonSideAsn; } + if (input.DefaultRouteTableAssociation !== undefined) { + entries["DefaultRouteTableAssociation"] = input.DefaultRouteTableAssociation; + } + if (input.DefaultRouteTablePropagation !== undefined) { + entries["DefaultRouteTablePropagation"] = input.DefaultRouteTablePropagation; + } return entries; }; @@ -42783,9 +43693,6 @@ const serializeAws_ec2UnassignPrivateIpAddressesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NetworkInterfaceId !== undefined) { - entries["NetworkInterfaceId"] = input.NetworkInterfaceId; - } if (input.PrivateIpAddresses !== undefined) { const memberEntries = serializeAws_ec2PrivateIpAddressStringList(input.PrivateIpAddresses, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -42793,6 +43700,9 @@ const serializeAws_ec2UnassignPrivateIpAddressesRequest = ( entries[loc] = value; }); } + if (input.NetworkInterfaceId !== undefined) { + entries["NetworkInterfaceId"] = input.NetworkInterfaceId; + } return entries; }; @@ -42816,12 +43726,6 @@ const serializeAws_ec2UpdateSecurityGroupRuleDescriptionsEgressRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } - if (input.GroupId !== undefined) { - entries["GroupId"] = input.GroupId; - } if (input.IpPermissions !== undefined) { const memberEntries = serializeAws_ec2IpPermissionList(input.IpPermissions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -42832,6 +43736,12 @@ const serializeAws_ec2UpdateSecurityGroupRuleDescriptionsEgressRequest = ( if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } + if (input.GroupId !== undefined) { + entries["GroupId"] = input.GroupId; + } + if (input.DryRun !== undefined) { + entries["DryRun"] = input.DryRun; + } return entries; }; @@ -42840,6 +43750,12 @@ const serializeAws_ec2UpdateSecurityGroupRuleDescriptionsIngressRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; + } + if (input.GroupId !== undefined) { + entries["GroupId"] = input.GroupId; + } if (input.IpPermissions !== undefined) { const memberEntries = serializeAws_ec2IpPermissionList(input.IpPermissions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -42850,12 +43766,6 @@ const serializeAws_ec2UpdateSecurityGroupRuleDescriptionsIngressRequest = ( if (input.DryRun !== undefined) { entries["DryRun"] = input.DryRun; } - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; - } - if (input.GroupId !== undefined) { - entries["GroupId"] = input.GroupId; - } return entries; }; @@ -42890,26 +43800,26 @@ const serializeAws_ec2UserGroupStringList = (input: string[], context: __SerdeCo const serializeAws_ec2UserIdGroupPair = (input: UserIdGroupPair, context: __SerdeContext): any => { const entries: any = {}; - if (input.GroupId !== undefined) { - entries["GroupId"] = input.GroupId; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.VpcId !== undefined) { entries["VpcId"] = input.VpcId; } - if (input.PeeringStatus !== undefined) { - entries["PeeringStatus"] = input.PeeringStatus; + if (input.UserId !== undefined) { + entries["UserId"] = input.UserId; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; } if (input.VpcPeeringConnectionId !== undefined) { entries["VpcPeeringConnectionId"] = input.VpcPeeringConnectionId; } - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; + if (input.PeeringStatus !== undefined) { + entries["PeeringStatus"] = input.PeeringStatus; } - if (input.UserId !== undefined) { - entries["UserId"] = input.UserId; + if (input.GroupId !== undefined) { + entries["GroupId"] = input.GroupId; } return entries; }; @@ -43070,6 +43980,24 @@ const serializeAws_ec2VpnConnectionOptionsSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.LocalIpv4NetworkCidr !== undefined) { + entries["LocalIpv4NetworkCidr"] = input.LocalIpv4NetworkCidr; + } + if (input.StaticRoutesOnly !== undefined) { + entries["StaticRoutesOnly"] = input.StaticRoutesOnly; + } + if (input.RemoteIpv6NetworkCidr !== undefined) { + entries["RemoteIpv6NetworkCidr"] = input.RemoteIpv6NetworkCidr; + } + if (input.LocalIpv6NetworkCidr !== undefined) { + entries["LocalIpv6NetworkCidr"] = input.LocalIpv6NetworkCidr; + } + if (input.RemoteIpv4NetworkCidr !== undefined) { + entries["RemoteIpv4NetworkCidr"] = input.RemoteIpv4NetworkCidr; + } + if (input.EnableAcceleration !== undefined) { + entries["EnableAcceleration"] = input.EnableAcceleration; + } if (input.TunnelOptions !== undefined) { const memberEntries = serializeAws_ec2VpnTunnelOptionsSpecificationsList(input.TunnelOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -43077,11 +44005,8 @@ const serializeAws_ec2VpnConnectionOptionsSpecification = ( entries[loc] = value; }); } - if (input.StaticRoutesOnly !== undefined) { - entries["StaticRoutesOnly"] = input.StaticRoutesOnly; - } - if (input.EnableAcceleration !== undefined) { - entries["EnableAcceleration"] = input.EnableAcceleration; + if (input.TunnelInsideIpVersion !== undefined) { + entries["TunnelInsideIpVersion"] = input.TunnelInsideIpVersion; } return entries; }; @@ -43101,45 +44026,29 @@ const serializeAws_ec2VpnTunnelOptionsSpecification = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RekeyMarginTimeSeconds !== undefined) { - entries["RekeyMarginTimeSeconds"] = input.RekeyMarginTimeSeconds; + if (input.StartupAction !== undefined) { + entries["StartupAction"] = input.StartupAction; } - if (input.Phase2LifetimeSeconds !== undefined) { - entries["Phase2LifetimeSeconds"] = input.Phase2LifetimeSeconds; + if (input.TunnelInsideIpv6Cidr !== undefined) { + entries["TunnelInsideIpv6Cidr"] = input.TunnelInsideIpv6Cidr; } - if (input.Phase2IntegrityAlgorithms !== undefined) { - const memberEntries = serializeAws_ec2Phase2IntegrityAlgorithmsRequestList( - input.Phase2IntegrityAlgorithms, - context - ); + if (input.Phase2DHGroupNumbers !== undefined) { + const memberEntries = serializeAws_ec2Phase2DHGroupNumbersRequestList(input.Phase2DHGroupNumbers, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Phase2IntegrityAlgorithm.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Phase2DHGroupNumber.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.PreSharedKey !== undefined) { - entries["PreSharedKey"] = input.PreSharedKey; - } - if (input.Phase1IntegrityAlgorithms !== undefined) { - const memberEntries = serializeAws_ec2Phase1IntegrityAlgorithmsRequestList( - input.Phase1IntegrityAlgorithms, + if (input.Phase2EncryptionAlgorithms !== undefined) { + const memberEntries = serializeAws_ec2Phase2EncryptionAlgorithmsRequestList( + input.Phase2EncryptionAlgorithms, context ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Phase1IntegrityAlgorithm.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.IKEVersions !== undefined) { - const memberEntries = serializeAws_ec2IKEVersionsRequestList(input.IKEVersions, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `IKEVersion.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Phase2EncryptionAlgorithm.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.TunnelInsideCidr !== undefined) { - entries["TunnelInsideCidr"] = input.TunnelInsideCidr; - } if (input.Phase1DHGroupNumbers !== undefined) { const memberEntries = serializeAws_ec2Phase1DHGroupNumbersRequestList(input.Phase1DHGroupNumbers, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -43150,42 +44059,67 @@ const serializeAws_ec2VpnTunnelOptionsSpecification = ( if (input.ReplayWindowSize !== undefined) { entries["ReplayWindowSize"] = input.ReplayWindowSize; } - if (input.Phase2EncryptionAlgorithms !== undefined) { - const memberEntries = serializeAws_ec2Phase2EncryptionAlgorithmsRequestList( - input.Phase2EncryptionAlgorithms, + if (input.DPDTimeoutSeconds !== undefined) { + entries["DPDTimeoutSeconds"] = input.DPDTimeoutSeconds; + } + if (input.Phase2IntegrityAlgorithms !== undefined) { + const memberEntries = serializeAws_ec2Phase2IntegrityAlgorithmsRequestList( + input.Phase2IntegrityAlgorithms, context ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Phase2EncryptionAlgorithm.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Phase2IntegrityAlgorithm.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.Phase2DHGroupNumbers !== undefined) { - const memberEntries = serializeAws_ec2Phase2DHGroupNumbersRequestList(input.Phase2DHGroupNumbers, context); + if (input.RekeyMarginTimeSeconds !== undefined) { + entries["RekeyMarginTimeSeconds"] = input.RekeyMarginTimeSeconds; + } + if (input.TunnelInsideCidr !== undefined) { + entries["TunnelInsideCidr"] = input.TunnelInsideCidr; + } + if (input.Phase1EncryptionAlgorithms !== undefined) { + const memberEntries = serializeAws_ec2Phase1EncryptionAlgorithmsRequestList( + input.Phase1EncryptionAlgorithms, + context + ); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Phase2DHGroupNumber.${key.substring(key.indexOf(".") + 1)}`; + const loc = `Phase1EncryptionAlgorithm.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.Phase1IntegrityAlgorithms !== undefined) { + const memberEntries = serializeAws_ec2Phase1IntegrityAlgorithmsRequestList( + input.Phase1IntegrityAlgorithms, + context + ); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Phase1IntegrityAlgorithm.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } if (input.RekeyFuzzPercentage !== undefined) { entries["RekeyFuzzPercentage"] = input.RekeyFuzzPercentage; } + if (input.PreSharedKey !== undefined) { + entries["PreSharedKey"] = input.PreSharedKey; + } + if (input.Phase2LifetimeSeconds !== undefined) { + entries["Phase2LifetimeSeconds"] = input.Phase2LifetimeSeconds; + } + if (input.DPDTimeoutAction !== undefined) { + entries["DPDTimeoutAction"] = input.DPDTimeoutAction; + } if (input.Phase1LifetimeSeconds !== undefined) { entries["Phase1LifetimeSeconds"] = input.Phase1LifetimeSeconds; } - if (input.Phase1EncryptionAlgorithms !== undefined) { - const memberEntries = serializeAws_ec2Phase1EncryptionAlgorithmsRequestList( - input.Phase1EncryptionAlgorithms, - context - ); + if (input.IKEVersions !== undefined) { + const memberEntries = serializeAws_ec2IKEVersionsRequestList(input.IKEVersions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Phase1EncryptionAlgorithm.${key.substring(key.indexOf(".") + 1)}`; + const loc = `IKEVersion.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.DPDTimeoutSeconds !== undefined) { - entries["DPDTimeoutSeconds"] = input.DPDTimeoutSeconds; - } return entries; }; @@ -43353,23 +44287,23 @@ const deserializeAws_ec2AccountAttributeValueList = (output: any, context: __Ser const deserializeAws_ec2ActiveInstance = (output: any, context: __SerdeContext): ActiveInstance => { let contents: any = { - SpotInstanceRequestId: undefined, + InstanceType: undefined, InstanceId: undefined, + SpotInstanceRequestId: undefined, InstanceHealth: undefined, - InstanceType: undefined, }; - if (output["spotInstanceRequestId"] !== undefined) { - contents.SpotInstanceRequestId = output["spotInstanceRequestId"]; + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; } if (output["instanceId"] !== undefined) { contents.InstanceId = output["instanceId"]; } + if (output["spotInstanceRequestId"] !== undefined) { + contents.SpotInstanceRequestId = output["spotInstanceRequestId"]; + } if (output["instanceHealth"] !== undefined) { contents.InstanceHealth = output["instanceHealth"]; } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; - } return contents; }; @@ -43379,28 +44313,26 @@ const deserializeAws_ec2ActiveInstanceSet = (output: any, context: __SerdeContex const deserializeAws_ec2Address = (output: any, context: __SerdeContext): Address => { let contents: any = { - Domain: undefined, - CustomerOwnedIp: undefined, - PrivateIpAddress: undefined, - Tags: undefined, - AllocationId: undefined, + NetworkInterfaceId: undefined, CustomerOwnedIpv4Pool: undefined, + Tags: undefined, PublicIpv4Pool: undefined, NetworkBorderGroup: undefined, - NetworkInterfaceId: undefined, - InstanceId: undefined, + AssociationId: undefined, PublicIp: undefined, NetworkInterfaceOwnerId: undefined, - AssociationId: undefined, + InstanceId: undefined, + Domain: undefined, + CarrierIp: undefined, + AllocationId: undefined, + PrivateIpAddress: undefined, + CustomerOwnedIp: undefined, }; - if (output["domain"] !== undefined) { - contents.Domain = output["domain"]; - } - if (output["customerOwnedIp"] !== undefined) { - contents.CustomerOwnedIp = output["customerOwnedIp"]; + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = output["networkInterfaceId"]; } - if (output["privateIpAddress"] !== undefined) { - contents.PrivateIpAddress = output["privateIpAddress"]; + if (output["customerOwnedIpv4Pool"] !== undefined) { + contents.CustomerOwnedIpv4Pool = output["customerOwnedIpv4Pool"]; } if (output.tagSet === "") { contents.Tags = []; @@ -43408,23 +44340,14 @@ const deserializeAws_ec2Address = (output: any, context: __SerdeContext): Addres if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["allocationId"] !== undefined) { - contents.AllocationId = output["allocationId"]; - } - if (output["customerOwnedIpv4Pool"] !== undefined) { - contents.CustomerOwnedIpv4Pool = output["customerOwnedIpv4Pool"]; - } if (output["publicIpv4Pool"] !== undefined) { contents.PublicIpv4Pool = output["publicIpv4Pool"]; } if (output["networkBorderGroup"] !== undefined) { contents.NetworkBorderGroup = output["networkBorderGroup"]; } - if (output["networkInterfaceId"] !== undefined) { - contents.NetworkInterfaceId = output["networkInterfaceId"]; - } - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; + if (output["associationId"] !== undefined) { + contents.AssociationId = output["associationId"]; } if (output["publicIp"] !== undefined) { contents.PublicIp = output["publicIp"]; @@ -43432,8 +44355,23 @@ const deserializeAws_ec2Address = (output: any, context: __SerdeContext): Addres if (output["networkInterfaceOwnerId"] !== undefined) { contents.NetworkInterfaceOwnerId = output["networkInterfaceOwnerId"]; } - if (output["associationId"] !== undefined) { - contents.AssociationId = output["associationId"]; + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; + } + if (output["domain"] !== undefined) { + contents.Domain = output["domain"]; + } + if (output["carrierIp"] !== undefined) { + contents.CarrierIp = output["carrierIp"]; + } + if (output["allocationId"] !== undefined) { + contents.AllocationId = output["allocationId"]; + } + if (output["privateIpAddress"] !== undefined) { + contents.PrivateIpAddress = output["privateIpAddress"]; + } + if (output["customerOwnedIp"] !== undefined) { + contents.CustomerOwnedIp = output["customerOwnedIp"]; } return contents; }; @@ -43454,35 +44392,39 @@ const deserializeAws_ec2AdvertiseByoipCidrResult = (output: any, context: __Serd const deserializeAws_ec2AllocateAddressResult = (output: any, context: __SerdeContext): AllocateAddressResult => { let contents: any = { + PublicIpv4Pool: undefined, + CarrierIp: undefined, CustomerOwnedIp: undefined, Domain: undefined, - PublicIpv4Pool: undefined, - PublicIp: undefined, - NetworkBorderGroup: undefined, CustomerOwnedIpv4Pool: undefined, AllocationId: undefined, + NetworkBorderGroup: undefined, + PublicIp: undefined, }; + if (output["publicIpv4Pool"] !== undefined) { + contents.PublicIpv4Pool = output["publicIpv4Pool"]; + } + if (output["carrierIp"] !== undefined) { + contents.CarrierIp = output["carrierIp"]; + } if (output["customerOwnedIp"] !== undefined) { contents.CustomerOwnedIp = output["customerOwnedIp"]; } if (output["domain"] !== undefined) { contents.Domain = output["domain"]; } - if (output["publicIpv4Pool"] !== undefined) { - contents.PublicIpv4Pool = output["publicIpv4Pool"]; - } - if (output["publicIp"] !== undefined) { - contents.PublicIp = output["publicIp"]; - } - if (output["networkBorderGroup"] !== undefined) { - contents.NetworkBorderGroup = output["networkBorderGroup"]; - } if (output["customerOwnedIpv4Pool"] !== undefined) { contents.CustomerOwnedIpv4Pool = output["customerOwnedIpv4Pool"]; } if (output["allocationId"] !== undefined) { contents.AllocationId = output["allocationId"]; } + if (output["networkBorderGroup"] !== undefined) { + contents.NetworkBorderGroup = output["networkBorderGroup"]; + } + if (output["publicIp"] !== undefined) { + contents.PublicIp = output["publicIp"]; + } return contents; }; @@ -43504,15 +44446,15 @@ const deserializeAws_ec2AllocateHostsResult = (output: any, context: __SerdeCont const deserializeAws_ec2AllowedPrincipal = (output: any, context: __SerdeContext): AllowedPrincipal => { let contents: any = { - Principal: undefined, PrincipalType: undefined, + Principal: undefined, }; - if (output["principal"] !== undefined) { - contents.Principal = output["principal"]; - } if (output["principalType"] !== undefined) { contents.PrincipalType = output["principalType"]; } + if (output["principal"] !== undefined) { + contents.Principal = output["principal"]; + } return contents; }; @@ -43591,9 +44533,12 @@ const deserializeAws_ec2AssignPrivateIpAddressesResult = ( context: __SerdeContext ): AssignPrivateIpAddressesResult => { let contents: any = { - AssignedPrivateIpAddresses: undefined, NetworkInterfaceId: undefined, + AssignedPrivateIpAddresses: undefined, }; + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = output["networkInterfaceId"]; + } if (output.assignedPrivateIpAddressesSet === "") { contents.AssignedPrivateIpAddresses = []; } @@ -43606,9 +44551,6 @@ const deserializeAws_ec2AssignPrivateIpAddressesResult = ( context ); } - if (output["networkInterfaceId"] !== undefined) { - contents.NetworkInterfaceId = output["networkInterfaceId"]; - } return contents; }; @@ -43627,15 +44569,15 @@ const deserializeAws_ec2AssociateClientVpnTargetNetworkResult = ( context: __SerdeContext ): AssociateClientVpnTargetNetworkResult => { let contents: any = { - AssociationId: undefined, Status: undefined, + AssociationId: undefined, }; - if (output["associationId"] !== undefined) { - contents.AssociationId = output["associationId"]; - } if (output["status"] !== undefined) { contents.Status = deserializeAws_ec2AssociationStatus(output["status"], context); } + if (output["associationId"] !== undefined) { + contents.AssociationId = output["associationId"]; + } return contents; }; @@ -43681,15 +44623,15 @@ const deserializeAws_ec2AssociateRouteTableResult = ( context: __SerdeContext ): AssociateRouteTableResult => { let contents: any = { - AssociationState: undefined, AssociationId: undefined, + AssociationState: undefined, }; - if (output["associationState"] !== undefined) { - contents.AssociationState = deserializeAws_ec2RouteTableAssociationState(output["associationState"], context); - } if (output["associationId"] !== undefined) { contents.AssociationId = output["associationId"]; } + if (output["associationState"] !== undefined) { + contents.AssociationState = deserializeAws_ec2RouteTableAssociationState(output["associationState"], context); + } return contents; }; @@ -43747,10 +44689,13 @@ const deserializeAws_ec2AssociateVpcCidrBlockResult = ( context: __SerdeContext ): AssociateVpcCidrBlockResult => { let contents: any = { + VpcId: undefined, Ipv6CidrBlockAssociation: undefined, CidrBlockAssociation: undefined, - VpcId: undefined, }; + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; + } if (output["ipv6CidrBlockAssociation"] !== undefined) { contents.Ipv6CidrBlockAssociation = deserializeAws_ec2VpcIpv6CidrBlockAssociation( output["ipv6CidrBlockAssociation"], @@ -43760,23 +44705,20 @@ const deserializeAws_ec2AssociateVpcCidrBlockResult = ( if (output["cidrBlockAssociation"] !== undefined) { contents.CidrBlockAssociation = deserializeAws_ec2VpcCidrBlockAssociation(output["cidrBlockAssociation"], context); } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; - } return contents; }; const deserializeAws_ec2AssociationStatus = (output: any, context: __SerdeContext): AssociationStatus => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; @@ -43838,30 +44780,30 @@ const deserializeAws_ec2AttributeValue = (output: any, context: __SerdeContext): const deserializeAws_ec2AuthorizationRule = (output: any, context: __SerdeContext): AuthorizationRule => { let contents: any = { + AccessAll: undefined, GroupId: undefined, + DestinationCidr: undefined, + Status: undefined, ClientVpnEndpointId: undefined, Description: undefined, - Status: undefined, - DestinationCidr: undefined, - AccessAll: undefined, }; + if (output["accessAll"] !== undefined) { + contents.AccessAll = output["accessAll"] == "true"; + } if (output["groupId"] !== undefined) { contents.GroupId = output["groupId"]; } - if (output["clientVpnEndpointId"] !== undefined) { - contents.ClientVpnEndpointId = output["clientVpnEndpointId"]; - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["destinationCidr"] !== undefined) { + contents.DestinationCidr = output["destinationCidr"]; } if (output["status"] !== undefined) { contents.Status = deserializeAws_ec2ClientVpnAuthorizationRuleStatus(output["status"], context); } - if (output["destinationCidr"] !== undefined) { - contents.DestinationCidr = output["destinationCidr"]; + if (output["clientVpnEndpointId"] !== undefined) { + contents.ClientVpnEndpointId = output["clientVpnEndpointId"]; } - if (output["accessAll"] !== undefined) { - contents.AccessAll = output["accessAll"] == "true"; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } return contents; }; @@ -43885,56 +44827,56 @@ const deserializeAws_ec2AuthorizeClientVpnIngressResult = ( const deserializeAws_ec2AvailabilityZone = (output: any, context: __SerdeContext): AvailabilityZone => { let contents: any = { - ParentZoneId: undefined, - GroupName: undefined, - ParentZoneName: undefined, - ZoneType: undefined, - ZoneId: undefined, - State: undefined, + OptInStatus: undefined, RegionName: undefined, + ZoneType: undefined, + Messages: undefined, + ParentZoneName: undefined, + ParentZoneId: undefined, NetworkBorderGroup: undefined, + GroupName: undefined, ZoneName: undefined, - Messages: undefined, - OptInStatus: undefined, + State: undefined, + ZoneId: undefined, }; - if (output["parentZoneId"] !== undefined) { - contents.ParentZoneId = output["parentZoneId"]; - } - if (output["groupName"] !== undefined) { - contents.GroupName = output["groupName"]; + if (output["optInStatus"] !== undefined) { + contents.OptInStatus = output["optInStatus"]; } - if (output["parentZoneName"] !== undefined) { - contents.ParentZoneName = output["parentZoneName"]; + if (output["regionName"] !== undefined) { + contents.RegionName = output["regionName"]; } if (output["zoneType"] !== undefined) { contents.ZoneType = output["zoneType"]; } - if (output["zoneId"] !== undefined) { - contents.ZoneId = output["zoneId"]; + if (output.messageSet === "") { + contents.Messages = []; } - if (output["zoneState"] !== undefined) { - contents.State = output["zoneState"]; + if (output["messageSet"] !== undefined && output["messageSet"]["item"] !== undefined) { + contents.Messages = deserializeAws_ec2AvailabilityZoneMessageList( + __getArrayIfSingleItem(output["messageSet"]["item"]), + context + ); } - if (output["regionName"] !== undefined) { - contents.RegionName = output["regionName"]; + if (output["parentZoneName"] !== undefined) { + contents.ParentZoneName = output["parentZoneName"]; + } + if (output["parentZoneId"] !== undefined) { + contents.ParentZoneId = output["parentZoneId"]; } if (output["networkBorderGroup"] !== undefined) { contents.NetworkBorderGroup = output["networkBorderGroup"]; } + if (output["groupName"] !== undefined) { + contents.GroupName = output["groupName"]; + } if (output["zoneName"] !== undefined) { contents.ZoneName = output["zoneName"]; } - if (output.messageSet === "") { - contents.Messages = []; - } - if (output["messageSet"] !== undefined && output["messageSet"]["item"] !== undefined) { - contents.Messages = deserializeAws_ec2AvailabilityZoneMessageList( - __getArrayIfSingleItem(output["messageSet"]["item"]), - context - ); + if (output["zoneState"] !== undefined) { + contents.State = output["zoneState"]; } - if (output["optInStatus"] !== undefined) { - contents.OptInStatus = output["optInStatus"]; + if (output["zoneId"] !== undefined) { + contents.ZoneId = output["zoneId"]; } return contents; }; @@ -43962,12 +44904,9 @@ const deserializeAws_ec2AvailabilityZoneMessageList = ( const deserializeAws_ec2AvailableCapacity = (output: any, context: __SerdeContext): AvailableCapacity => { let contents: any = { - AvailableVCpus: undefined, AvailableInstanceCapacity: undefined, + AvailableVCpus: undefined, }; - if (output["availableVCpus"] !== undefined) { - contents.AvailableVCpus = parseInt(output["availableVCpus"]); - } if (output.availableInstanceCapacity === "") { contents.AvailableInstanceCapacity = []; } @@ -43977,6 +44916,9 @@ const deserializeAws_ec2AvailableCapacity = (output: any, context: __SerdeContex context ); } + if (output["availableVCpus"] !== undefined) { + contents.AvailableVCpus = parseInt(output["availableVCpus"]); + } return contents; }; @@ -43987,22 +44929,22 @@ const deserializeAws_ec2AvailableInstanceCapacityList = (output: any, context: _ const deserializeAws_ec2BlockDeviceMapping = (output: any, context: __SerdeContext): BlockDeviceMapping => { let contents: any = { DeviceName: undefined, - VirtualName: undefined, Ebs: undefined, NoDevice: undefined, + VirtualName: undefined, }; if (output["deviceName"] !== undefined) { contents.DeviceName = output["deviceName"]; } - if (output["virtualName"] !== undefined) { - contents.VirtualName = output["virtualName"]; - } if (output["ebs"] !== undefined) { contents.Ebs = deserializeAws_ec2EbsBlockDevice(output["ebs"], context); } if (output["noDevice"] !== undefined) { contents.NoDevice = output["noDevice"]; } + if (output["virtualName"] !== undefined) { + contents.VirtualName = output["virtualName"]; + } return contents; }; @@ -44022,53 +44964,53 @@ const deserializeAws_ec2BundleInstanceResult = (output: any, context: __SerdeCon const deserializeAws_ec2BundleTask = (output: any, context: __SerdeContext): BundleTask => { let contents: any = { - InstanceId: undefined, - BundleId: undefined, - UpdateTime: undefined, Progress: undefined, - BundleTaskError: undefined, + BundleId: undefined, Storage: undefined, - StartTime: undefined, + InstanceId: undefined, State: undefined, + StartTime: undefined, + UpdateTime: undefined, + BundleTaskError: undefined, }; - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; - } - if (output["bundleId"] !== undefined) { - contents.BundleId = output["bundleId"]; - } - if (output["updateTime"] !== undefined) { - contents.UpdateTime = new Date(output["updateTime"]); - } if (output["progress"] !== undefined) { contents.Progress = output["progress"]; } - if (output["error"] !== undefined) { - contents.BundleTaskError = deserializeAws_ec2BundleTaskError(output["error"], context); + if (output["bundleId"] !== undefined) { + contents.BundleId = output["bundleId"]; } if (output["storage"] !== undefined) { contents.Storage = deserializeAws_ec2Storage(output["storage"], context); } - if (output["startTime"] !== undefined) { - contents.StartTime = new Date(output["startTime"]); + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; } if (output["state"] !== undefined) { contents.State = output["state"]; } + if (output["startTime"] !== undefined) { + contents.StartTime = new Date(output["startTime"]); + } + if (output["updateTime"] !== undefined) { + contents.UpdateTime = new Date(output["updateTime"]); + } + if (output["error"] !== undefined) { + contents.BundleTaskError = deserializeAws_ec2BundleTaskError(output["error"], context); + } return contents; }; const deserializeAws_ec2BundleTaskError = (output: any, context: __SerdeContext): BundleTaskError => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; @@ -44079,21 +45021,21 @@ const deserializeAws_ec2BundleTaskList = (output: any, context: __SerdeContext): const deserializeAws_ec2ByoipCidr = (output: any, context: __SerdeContext): ByoipCidr => { let contents: any = { State: undefined, - Description: undefined, - Cidr: undefined, StatusMessage: undefined, + Cidr: undefined, + Description: undefined, }; if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; } if (output["cidr"] !== undefined) { contents.Cidr = output["cidr"]; } - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } return contents; }; @@ -44128,18 +45070,18 @@ const deserializeAws_ec2CancelCapacityReservationResult = ( const deserializeAws_ec2CancelImportTaskResult = (output: any, context: __SerdeContext): CancelImportTaskResult => { let contents: any = { State: undefined, - PreviousState: undefined, ImportTaskId: undefined, + PreviousState: undefined, }; if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["previousState"] !== undefined) { - contents.PreviousState = output["previousState"]; - } if (output["importTaskId"] !== undefined) { contents.ImportTaskId = output["importTaskId"]; } + if (output["previousState"] !== undefined) { + contents.PreviousState = output["previousState"]; + } return contents; }; @@ -44148,15 +45090,15 @@ const deserializeAws_ec2CancelledSpotInstanceRequest = ( context: __SerdeContext ): CancelledSpotInstanceRequest => { let contents: any = { - State: undefined, SpotInstanceRequestId: undefined, + State: undefined, }; - if (output["state"] !== undefined) { - contents.State = output["state"]; - } if (output["spotInstanceRequestId"] !== undefined) { contents.SpotInstanceRequestId = output["spotInstanceRequestId"]; } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } return contents; }; @@ -44194,15 +45136,15 @@ const deserializeAws_ec2CancelSpotFleetRequestsError = ( context: __SerdeContext ): CancelSpotFleetRequestsError => { let contents: any = { - Message: undefined, Code: undefined, + Message: undefined, }; - if (output["message"] !== undefined) { - contents.Message = output["message"]; - } if (output["code"] !== undefined) { contents.Code = output["code"]; } + if (output["message"] !== undefined) { + contents.Message = output["message"]; + } return contents; }; @@ -44211,15 +45153,15 @@ const deserializeAws_ec2CancelSpotFleetRequestsErrorItem = ( context: __SerdeContext ): CancelSpotFleetRequestsErrorItem => { let contents: any = { - SpotFleetRequestId: undefined, Error: undefined, + SpotFleetRequestId: undefined, }; - if (output["spotFleetRequestId"] !== undefined) { - contents.SpotFleetRequestId = output["spotFleetRequestId"]; - } if (output["error"] !== undefined) { contents.Error = deserializeAws_ec2CancelSpotFleetRequestsError(output["error"], context); } + if (output["spotFleetRequestId"] !== undefined) { + contents.SpotFleetRequestId = output["spotFleetRequestId"]; + } return contents; }; @@ -44267,19 +45209,19 @@ const deserializeAws_ec2CancelSpotFleetRequestsSuccessItem = ( context: __SerdeContext ): CancelSpotFleetRequestsSuccessItem => { let contents: any = { + CurrentSpotFleetRequestState: undefined, PreviousSpotFleetRequestState: undefined, SpotFleetRequestId: undefined, - CurrentSpotFleetRequestState: undefined, }; + if (output["currentSpotFleetRequestState"] !== undefined) { + contents.CurrentSpotFleetRequestState = output["currentSpotFleetRequestState"]; + } if (output["previousSpotFleetRequestState"] !== undefined) { contents.PreviousSpotFleetRequestState = output["previousSpotFleetRequestState"]; } if (output["spotFleetRequestId"] !== undefined) { contents.SpotFleetRequestId = output["spotFleetRequestId"]; } - if (output["currentSpotFleetRequestState"] !== undefined) { - contents.CurrentSpotFleetRequestState = output["currentSpotFleetRequestState"]; - } return contents; }; @@ -44311,96 +45253,96 @@ const deserializeAws_ec2CancelSpotInstanceRequestsResult = ( const deserializeAws_ec2CapacityReservation = (output: any, context: __SerdeContext): CapacityReservation => { let contents: any = { - InstanceType: undefined, - AvailableInstanceCount: undefined, - Tags: undefined, - CapacityReservationId: undefined, - TotalInstanceCount: undefined, - OwnerId: undefined, - AvailabilityZone: undefined, + EphemeralStorage: undefined, EndDate: undefined, - CapacityReservationArn: undefined, EbsOptimized: undefined, - EphemeralStorage: undefined, - InstancePlatform: undefined, - AvailabilityZoneId: undefined, + TotalInstanceCount: undefined, + AvailabilityZone: undefined, + InstanceMatchCriteria: undefined, + Tags: undefined, Tenancy: undefined, + AvailabilityZoneId: undefined, + OwnerId: undefined, + AvailableInstanceCount: undefined, + CapacityReservationId: undefined, CreateDate: undefined, - State: undefined, EndDateType: undefined, - InstanceMatchCriteria: undefined, + CapacityReservationArn: undefined, + State: undefined, + InstancePlatform: undefined, + InstanceType: undefined, }; - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; - } - if (output["availableInstanceCount"] !== undefined) { - contents.AvailableInstanceCount = parseInt(output["availableInstanceCount"]); - } - if (output.tagSet === "") { - contents.Tags = []; + if (output["ephemeralStorage"] !== undefined) { + contents.EphemeralStorage = output["ephemeralStorage"] == "true"; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["endDate"] !== undefined) { + contents.EndDate = new Date(output["endDate"]); } - if (output["capacityReservationId"] !== undefined) { - contents.CapacityReservationId = output["capacityReservationId"]; + if (output["ebsOptimized"] !== undefined) { + contents.EbsOptimized = output["ebsOptimized"] == "true"; } if (output["totalInstanceCount"] !== undefined) { contents.TotalInstanceCount = parseInt(output["totalInstanceCount"]); } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; - } if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } - if (output["endDate"] !== undefined) { - contents.EndDate = new Date(output["endDate"]); - } - if (output["capacityReservationArn"] !== undefined) { - contents.CapacityReservationArn = output["capacityReservationArn"]; + if (output["instanceMatchCriteria"] !== undefined) { + contents.InstanceMatchCriteria = output["instanceMatchCriteria"]; } - if (output["ebsOptimized"] !== undefined) { - contents.EbsOptimized = output["ebsOptimized"] == "true"; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["ephemeralStorage"] !== undefined) { - contents.EphemeralStorage = output["ephemeralStorage"] == "true"; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["instancePlatform"] !== undefined) { - contents.InstancePlatform = output["instancePlatform"]; + if (output["tenancy"] !== undefined) { + contents.Tenancy = output["tenancy"]; } if (output["availabilityZoneId"] !== undefined) { contents.AvailabilityZoneId = output["availabilityZoneId"]; } - if (output["tenancy"] !== undefined) { - contents.Tenancy = output["tenancy"]; + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } + if (output["availableInstanceCount"] !== undefined) { + contents.AvailableInstanceCount = parseInt(output["availableInstanceCount"]); + } + if (output["capacityReservationId"] !== undefined) { + contents.CapacityReservationId = output["capacityReservationId"]; } if (output["createDate"] !== undefined) { contents.CreateDate = new Date(output["createDate"]); } + if (output["endDateType"] !== undefined) { + contents.EndDateType = output["endDateType"]; + } + if (output["capacityReservationArn"] !== undefined) { + contents.CapacityReservationArn = output["capacityReservationArn"]; + } if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["endDateType"] !== undefined) { - contents.EndDateType = output["endDateType"]; + if (output["instancePlatform"] !== undefined) { + contents.InstancePlatform = output["instancePlatform"]; } - if (output["instanceMatchCriteria"] !== undefined) { - contents.InstanceMatchCriteria = output["instanceMatchCriteria"]; + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; } return contents; }; const deserializeAws_ec2CapacityReservationGroup = (output: any, context: __SerdeContext): CapacityReservationGroup => { let contents: any = { - GroupArn: undefined, OwnerId: undefined, + GroupArn: undefined, }; - if (output["groupArn"] !== undefined) { - contents.GroupArn = output["groupArn"]; - } if (output["ownerId"] !== undefined) { contents.OwnerId = output["ownerId"]; } + if (output["groupArn"] !== undefined) { + contents.GroupArn = output["groupArn"]; + } return contents; }; @@ -44433,18 +45375,18 @@ const deserializeAws_ec2CapacityReservationSpecificationResponse = ( context: __SerdeContext ): CapacityReservationSpecificationResponse => { let contents: any = { - CapacityReservationTarget: undefined, CapacityReservationPreference: undefined, + CapacityReservationTarget: undefined, }; + if (output["capacityReservationPreference"] !== undefined) { + contents.CapacityReservationPreference = output["capacityReservationPreference"]; + } if (output["capacityReservationTarget"] !== undefined) { contents.CapacityReservationTarget = deserializeAws_ec2CapacityReservationTargetResponse( output["capacityReservationTarget"], context ); } - if (output["capacityReservationPreference"] !== undefined) { - contents.CapacityReservationPreference = output["capacityReservationPreference"]; - } return contents; }; @@ -44453,18 +45395,51 @@ const deserializeAws_ec2CapacityReservationTargetResponse = ( context: __SerdeContext ): CapacityReservationTargetResponse => { let contents: any = { - CapacityReservationId: undefined, CapacityReservationResourceGroupArn: undefined, + CapacityReservationId: undefined, }; + if (output["capacityReservationResourceGroupArn"] !== undefined) { + contents.CapacityReservationResourceGroupArn = output["capacityReservationResourceGroupArn"]; + } if (output["capacityReservationId"] !== undefined) { contents.CapacityReservationId = output["capacityReservationId"]; } - if (output["capacityReservationResourceGroupArn"] !== undefined) { - contents.CapacityReservationResourceGroupArn = output["capacityReservationResourceGroupArn"]; + return contents; +}; + +const deserializeAws_ec2CarrierGateway = (output: any, context: __SerdeContext): CarrierGateway => { + let contents: any = { + CarrierGatewayId: undefined, + OwnerId: undefined, + Tags: undefined, + State: undefined, + VpcId: undefined, + }; + if (output["carrierGatewayId"] !== undefined) { + contents.CarrierGatewayId = output["carrierGatewayId"]; + } + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; } return contents; }; +const deserializeAws_ec2CarrierGatewaySet = (output: any, context: __SerdeContext): CarrierGateway[] => { + return (output || []).map((entry: any) => deserializeAws_ec2CarrierGateway(entry, context)); +}; + const deserializeAws_ec2CertificateAuthentication = ( output: any, context: __SerdeContext @@ -44512,17 +45487,11 @@ const deserializeAws_ec2ClassicLinkDnsSupportList = (output: any, context: __Ser const deserializeAws_ec2ClassicLinkInstance = (output: any, context: __SerdeContext): ClassicLinkInstance => { let contents: any = { - InstanceId: undefined, - VpcId: undefined, Groups: undefined, Tags: undefined, + InstanceId: undefined, + VpcId: undefined, }; - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; - } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; - } if (output.groupSet === "") { contents.Groups = []; } @@ -44538,6 +45507,12 @@ const deserializeAws_ec2ClassicLinkInstance = (output: any, context: __SerdeCont if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; + } + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; + } return contents; }; @@ -44597,26 +45572,26 @@ const deserializeAws_ec2ClientCertificateRevocationListStatus = ( const deserializeAws_ec2ClientVpnAuthentication = (output: any, context: __SerdeContext): ClientVpnAuthentication => { let contents: any = { + MutualAuthentication: undefined, + Type: undefined, ActiveDirectory: undefined, FederatedAuthentication: undefined, - Type: undefined, - MutualAuthentication: undefined, }; - if (output["activeDirectory"] !== undefined) { - contents.ActiveDirectory = deserializeAws_ec2DirectoryServiceAuthentication(output["activeDirectory"], context); - } - if (output["federatedAuthentication"] !== undefined) { - contents.FederatedAuthentication = deserializeAws_ec2FederatedAuthentication( - output["federatedAuthentication"], + if (output["mutualAuthentication"] !== undefined) { + contents.MutualAuthentication = deserializeAws_ec2CertificateAuthentication( + output["mutualAuthentication"], context ); } if (output["type"] !== undefined) { contents.Type = output["type"]; } - if (output["mutualAuthentication"] !== undefined) { - contents.MutualAuthentication = deserializeAws_ec2CertificateAuthentication( - output["mutualAuthentication"], + if (output["activeDirectory"] !== undefined) { + contents.ActiveDirectory = deserializeAws_ec2DirectoryServiceAuthentication(output["activeDirectory"], context); + } + if (output["federatedAuthentication"] !== undefined) { + contents.FederatedAuthentication = deserializeAws_ec2FederatedAuthentication( + output["federatedAuthentication"], context ); } @@ -44635,45 +45610,36 @@ const deserializeAws_ec2ClientVpnAuthorizationRuleStatus = ( context: __SerdeContext ): ClientVpnAuthorizationRuleStatus => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; const deserializeAws_ec2ClientVpnConnection = (output: any, context: __SerdeContext): ClientVpnConnection => { let contents: any = { - EgressPackets: undefined, - ConnectionId: undefined, - EgressBytes: undefined, - ConnectionEstablishedTime: undefined, + ClientIp: undefined, Username: undefined, Timestamp: undefined, - ClientIp: undefined, + ConnectionEndTime: undefined, IngressBytes: undefined, - Status: undefined, - IngressPackets: undefined, - CommonName: undefined, ClientVpnEndpointId: undefined, - ConnectionEndTime: undefined, + EgressPackets: undefined, + ConnectionEstablishedTime: undefined, + EgressBytes: undefined, + ConnectionId: undefined, + CommonName: undefined, + IngressPackets: undefined, + Status: undefined, }; - if (output["egressPackets"] !== undefined) { - contents.EgressPackets = output["egressPackets"]; - } - if (output["connectionId"] !== undefined) { - contents.ConnectionId = output["connectionId"]; - } - if (output["egressBytes"] !== undefined) { - contents.EgressBytes = output["egressBytes"]; - } - if (output["connectionEstablishedTime"] !== undefined) { - contents.ConnectionEstablishedTime = output["connectionEstablishedTime"]; + if (output["clientIp"] !== undefined) { + contents.ClientIp = output["clientIp"]; } if (output["username"] !== undefined) { contents.Username = output["username"]; @@ -44681,26 +45647,35 @@ const deserializeAws_ec2ClientVpnConnection = (output: any, context: __SerdeCont if (output["timestamp"] !== undefined) { contents.Timestamp = output["timestamp"]; } - if (output["clientIp"] !== undefined) { - contents.ClientIp = output["clientIp"]; + if (output["connectionEndTime"] !== undefined) { + contents.ConnectionEndTime = output["connectionEndTime"]; } if (output["ingressBytes"] !== undefined) { contents.IngressBytes = output["ingressBytes"]; } - if (output["status"] !== undefined) { - contents.Status = deserializeAws_ec2ClientVpnConnectionStatus(output["status"], context); + if (output["clientVpnEndpointId"] !== undefined) { + contents.ClientVpnEndpointId = output["clientVpnEndpointId"]; } - if (output["ingressPackets"] !== undefined) { - contents.IngressPackets = output["ingressPackets"]; + if (output["egressPackets"] !== undefined) { + contents.EgressPackets = output["egressPackets"]; + } + if (output["connectionEstablishedTime"] !== undefined) { + contents.ConnectionEstablishedTime = output["connectionEstablishedTime"]; + } + if (output["egressBytes"] !== undefined) { + contents.EgressBytes = output["egressBytes"]; + } + if (output["connectionId"] !== undefined) { + contents.ConnectionId = output["connectionId"]; } if (output["commonName"] !== undefined) { contents.CommonName = output["commonName"]; } - if (output["clientVpnEndpointId"] !== undefined) { - contents.ClientVpnEndpointId = output["clientVpnEndpointId"]; + if (output["ingressPackets"] !== undefined) { + contents.IngressPackets = output["ingressPackets"]; } - if (output["connectionEndTime"] !== undefined) { - contents.ConnectionEndTime = output["connectionEndTime"]; + if (output["status"] !== undefined) { + contents.Status = deserializeAws_ec2ClientVpnConnectionStatus(output["status"], context); } return contents; }; @@ -44714,67 +45689,46 @@ const deserializeAws_ec2ClientVpnConnectionStatus = ( context: __SerdeContext ): ClientVpnConnectionStatus => { let contents: any = { - Message: undefined, Code: undefined, + Message: undefined, }; - if (output["message"] !== undefined) { - contents.Message = output["message"]; - } if (output["code"] !== undefined) { contents.Code = output["code"]; } + if (output["message"] !== undefined) { + contents.Message = output["message"]; + } return contents; }; const deserializeAws_ec2ClientVpnEndpoint = (output: any, context: __SerdeContext): ClientVpnEndpoint => { let contents: any = { - ServerCertificateArn: undefined, - ClientVpnEndpointId: undefined, - Status: undefined, - Tags: undefined, + VpcId: undefined, ClientCidrBlock: undefined, - SecurityGroupIds: undefined, VpnProtocol: undefined, AssociatedTargetNetworks: undefined, + TransportProtocol: undefined, + DnsServers: undefined, + ConnectionLogOptions: undefined, + Status: undefined, + ClientVpnEndpointId: undefined, + ServerCertificateArn: undefined, AuthenticationOptions: undefined, SplitTunnel: undefined, + CreationTime: undefined, VpnPort: undefined, - DnsServers: undefined, + SecurityGroupIds: undefined, DeletionTime: undefined, - DnsName: undefined, Description: undefined, - ConnectionLogOptions: undefined, - TransportProtocol: undefined, - CreationTime: undefined, - VpcId: undefined, + DnsName: undefined, + Tags: undefined, }; - if (output["serverCertificateArn"] !== undefined) { - contents.ServerCertificateArn = output["serverCertificateArn"]; - } - if (output["clientVpnEndpointId"] !== undefined) { - contents.ClientVpnEndpointId = output["clientVpnEndpointId"]; - } - if (output["status"] !== undefined) { - contents.Status = deserializeAws_ec2ClientVpnEndpointStatus(output["status"], context); - } - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; } if (output["clientCidrBlock"] !== undefined) { contents.ClientCidrBlock = output["clientCidrBlock"]; } - if (output.securityGroupIdSet === "") { - contents.SecurityGroupIds = []; - } - if (output["securityGroupIdSet"] !== undefined && output["securityGroupIdSet"]["item"] !== undefined) { - contents.SecurityGroupIds = deserializeAws_ec2ClientVpnSecurityGroupIdSet( - __getArrayIfSingleItem(output["securityGroupIdSet"]["item"]), - context - ); - } if (output["vpnProtocol"] !== undefined) { contents.VpnProtocol = output["vpnProtocol"]; } @@ -44787,6 +45741,33 @@ const deserializeAws_ec2ClientVpnEndpoint = (output: any, context: __SerdeContex context ); } + if (output["transportProtocol"] !== undefined) { + contents.TransportProtocol = output["transportProtocol"]; + } + if (output.dnsServer === "") { + contents.DnsServers = []; + } + if (output["dnsServer"] !== undefined && output["dnsServer"]["item"] !== undefined) { + contents.DnsServers = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["dnsServer"]["item"]), + context + ); + } + if (output["connectionLogOptions"] !== undefined) { + contents.ConnectionLogOptions = deserializeAws_ec2ConnectionLogResponseOptions( + output["connectionLogOptions"], + context + ); + } + if (output["status"] !== undefined) { + contents.Status = deserializeAws_ec2ClientVpnEndpointStatus(output["status"], context); + } + if (output["clientVpnEndpointId"] !== undefined) { + contents.ClientVpnEndpointId = output["clientVpnEndpointId"]; + } + if (output["serverCertificateArn"] !== undefined) { + contents.ServerCertificateArn = output["serverCertificateArn"]; + } if (output.authenticationOptions === "") { contents.AuthenticationOptions = []; } @@ -44799,89 +45780,83 @@ const deserializeAws_ec2ClientVpnEndpoint = (output: any, context: __SerdeContex if (output["splitTunnel"] !== undefined) { contents.SplitTunnel = output["splitTunnel"] == "true"; } + if (output["creationTime"] !== undefined) { + contents.CreationTime = output["creationTime"]; + } if (output["vpnPort"] !== undefined) { contents.VpnPort = parseInt(output["vpnPort"]); } - if (output.dnsServer === "") { - contents.DnsServers = []; + if (output.securityGroupIdSet === "") { + contents.SecurityGroupIds = []; } - if (output["dnsServer"] !== undefined && output["dnsServer"]["item"] !== undefined) { - contents.DnsServers = deserializeAws_ec2ValueStringList( - __getArrayIfSingleItem(output["dnsServer"]["item"]), + if (output["securityGroupIdSet"] !== undefined && output["securityGroupIdSet"]["item"] !== undefined) { + contents.SecurityGroupIds = deserializeAws_ec2ClientVpnSecurityGroupIdSet( + __getArrayIfSingleItem(output["securityGroupIdSet"]["item"]), context ); } if (output["deletionTime"] !== undefined) { contents.DeletionTime = output["deletionTime"]; } - if (output["dnsName"] !== undefined) { - contents.DnsName = output["dnsName"]; - } if (output["description"] !== undefined) { contents.Description = output["description"]; } - if (output["connectionLogOptions"] !== undefined) { - contents.ConnectionLogOptions = deserializeAws_ec2ConnectionLogResponseOptions( - output["connectionLogOptions"], - context - ); - } - if (output["transportProtocol"] !== undefined) { - contents.TransportProtocol = output["transportProtocol"]; + if (output["dnsName"] !== undefined) { + contents.DnsName = output["dnsName"]; } - if (output["creationTime"] !== undefined) { - contents.CreationTime = output["creationTime"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } return contents; }; const deserializeAws_ec2ClientVpnEndpointStatus = (output: any, context: __SerdeContext): ClientVpnEndpointStatus => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; const deserializeAws_ec2ClientVpnRoute = (output: any, context: __SerdeContext): ClientVpnRoute => { let contents: any = { TargetSubnet: undefined, - Origin: undefined, - DestinationCidr: undefined, - Type: undefined, + Description: undefined, Status: undefined, + Type: undefined, ClientVpnEndpointId: undefined, - Description: undefined, + DestinationCidr: undefined, + Origin: undefined, }; if (output["targetSubnet"] !== undefined) { contents.TargetSubnet = output["targetSubnet"]; } - if (output["origin"] !== undefined) { - contents.Origin = output["origin"]; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } - if (output["destinationCidr"] !== undefined) { - contents.DestinationCidr = output["destinationCidr"]; + if (output["status"] !== undefined) { + contents.Status = deserializeAws_ec2ClientVpnRouteStatus(output["status"], context); } if (output["type"] !== undefined) { contents.Type = output["type"]; } - if (output["status"] !== undefined) { - contents.Status = deserializeAws_ec2ClientVpnRouteStatus(output["status"], context); - } if (output["clientVpnEndpointId"] !== undefined) { contents.ClientVpnEndpointId = output["clientVpnEndpointId"]; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["destinationCidr"] !== undefined) { + contents.DestinationCidr = output["destinationCidr"]; + } + if (output["origin"] !== undefined) { + contents.Origin = output["origin"]; } return contents; }; @@ -44892,15 +45867,15 @@ const deserializeAws_ec2ClientVpnRouteSet = (output: any, context: __SerdeContex const deserializeAws_ec2ClientVpnRouteStatus = (output: any, context: __SerdeContext): ClientVpnRouteStatus => { let contents: any = { - Message: undefined, Code: undefined, + Message: undefined, }; - if (output["message"] !== undefined) { - contents.Message = output["message"]; - } if (output["code"] !== undefined) { contents.Code = output["code"]; } + if (output["message"] !== undefined) { + contents.Message = output["message"]; + } return contents; }; @@ -44911,22 +45886,22 @@ const deserializeAws_ec2ClientVpnSecurityGroupIdSet = (output: any, context: __S const deserializeAws_ec2CoipAddressUsage = (output: any, context: __SerdeContext): CoipAddressUsage => { let contents: any = { AwsService: undefined, - AllocationId: undefined, CoIp: undefined, AwsAccountId: undefined, + AllocationId: undefined, }; if (output["awsService"] !== undefined) { contents.AwsService = output["awsService"]; } - if (output["allocationId"] !== undefined) { - contents.AllocationId = output["allocationId"]; - } if (output["coIp"] !== undefined) { contents.CoIp = output["coIp"]; } if (output["awsAccountId"] !== undefined) { contents.AwsAccountId = output["awsAccountId"]; } + if (output["allocationId"] !== undefined) { + contents.AllocationId = output["allocationId"]; + } return contents; }; @@ -44937,23 +45912,14 @@ const deserializeAws_ec2CoipAddressUsageSet = (output: any, context: __SerdeCont const deserializeAws_ec2CoipPool = (output: any, context: __SerdeContext): CoipPool => { let contents: any = { PoolId: undefined, - PoolArn: undefined, - Tags: undefined, PoolCidrs: undefined, + Tags: undefined, LocalGatewayRouteTableId: undefined, + PoolArn: undefined, }; if (output["poolId"] !== undefined) { contents.PoolId = output["poolId"]; } - if (output["poolArn"] !== undefined) { - contents.PoolArn = output["poolArn"]; - } - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); - } if (output.poolCidrSet === "") { contents.PoolCidrs = []; } @@ -44963,9 +45929,18 @@ const deserializeAws_ec2CoipPool = (output: any, context: __SerdeContext): CoipP context ); } + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + } if (output["localGatewayRouteTableId"] !== undefined) { contents.LocalGatewayRouteTableId = output["localGatewayRouteTableId"]; } + if (output["poolArn"] !== undefined) { + contents.PoolArn = output["poolArn"]; + } return contents; }; @@ -44995,49 +45970,37 @@ const deserializeAws_ec2ConnectionLogResponseOptions = ( context: __SerdeContext ): ConnectionLogResponseOptions => { let contents: any = { - CloudwatchLogGroup: undefined, Enabled: undefined, CloudwatchLogStream: undefined, + CloudwatchLogGroup: undefined, }; - if (output["CloudwatchLogGroup"] !== undefined) { - contents.CloudwatchLogGroup = output["CloudwatchLogGroup"]; - } if (output["Enabled"] !== undefined) { contents.Enabled = output["Enabled"] == "true"; } if (output["CloudwatchLogStream"] !== undefined) { contents.CloudwatchLogStream = output["CloudwatchLogStream"]; } + if (output["CloudwatchLogGroup"] !== undefined) { + contents.CloudwatchLogGroup = output["CloudwatchLogGroup"]; + } return contents; }; const deserializeAws_ec2ConnectionNotification = (output: any, context: __SerdeContext): ConnectionNotification => { let contents: any = { + ConnectionNotificationId: undefined, + ConnectionNotificationType: undefined, + ConnectionEvents: undefined, ConnectionNotificationState: undefined, + ConnectionNotificationArn: undefined, ServiceId: undefined, - ConnectionNotificationType: undefined, VpcEndpointId: undefined, - ConnectionNotificationId: undefined, - ConnectionNotificationArn: undefined, - ConnectionEvents: undefined, }; - if (output["connectionNotificationState"] !== undefined) { - contents.ConnectionNotificationState = output["connectionNotificationState"]; - } - if (output["serviceId"] !== undefined) { - contents.ServiceId = output["serviceId"]; - } - if (output["connectionNotificationType"] !== undefined) { - contents.ConnectionNotificationType = output["connectionNotificationType"]; - } - if (output["vpcEndpointId"] !== undefined) { - contents.VpcEndpointId = output["vpcEndpointId"]; - } if (output["connectionNotificationId"] !== undefined) { contents.ConnectionNotificationId = output["connectionNotificationId"]; } - if (output["connectionNotificationArn"] !== undefined) { - contents.ConnectionNotificationArn = output["connectionNotificationArn"]; + if (output["connectionNotificationType"] !== undefined) { + contents.ConnectionNotificationType = output["connectionNotificationType"]; } if (output.connectionEvents === "") { contents.ConnectionEvents = []; @@ -45048,6 +46011,18 @@ const deserializeAws_ec2ConnectionNotification = (output: any, context: __SerdeC context ); } + if (output["connectionNotificationState"] !== undefined) { + contents.ConnectionNotificationState = output["connectionNotificationState"]; + } + if (output["connectionNotificationArn"] !== undefined) { + contents.ConnectionNotificationArn = output["connectionNotificationArn"]; + } + if (output["serviceId"] !== undefined) { + contents.ServiceId = output["serviceId"]; + } + if (output["vpcEndpointId"] !== undefined) { + contents.VpcEndpointId = output["vpcEndpointId"]; + } return contents; }; @@ -45060,22 +46035,22 @@ const deserializeAws_ec2ConnectionNotificationSet = ( const deserializeAws_ec2ConversionTask = (output: any, context: __SerdeContext): ConversionTask => { let contents: any = { - ImportVolume: undefined, ImportInstance: undefined, - ConversionTaskId: undefined, + ImportVolume: undefined, + StatusMessage: undefined, Tags: undefined, - ExpirationTime: undefined, State: undefined, - StatusMessage: undefined, + ConversionTaskId: undefined, + ExpirationTime: undefined, }; - if (output["importVolume"] !== undefined) { - contents.ImportVolume = deserializeAws_ec2ImportVolumeTaskDetails(output["importVolume"], context); - } if (output["importInstance"] !== undefined) { contents.ImportInstance = deserializeAws_ec2ImportInstanceTaskDetails(output["importInstance"], context); } - if (output["conversionTaskId"] !== undefined) { - contents.ConversionTaskId = output["conversionTaskId"]; + if (output["importVolume"] !== undefined) { + contents.ImportVolume = deserializeAws_ec2ImportVolumeTaskDetails(output["importVolume"], context); + } + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; } if (output.tagSet === "") { contents.Tags = []; @@ -45083,14 +46058,14 @@ const deserializeAws_ec2ConversionTask = (output: any, context: __SerdeContext): if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["expirationTime"] !== undefined) { - contents.ExpirationTime = output["expirationTime"]; - } if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; + if (output["conversionTaskId"] !== undefined) { + contents.ConversionTaskId = output["conversionTaskId"]; + } + if (output["expirationTime"] !== undefined) { + contents.ExpirationTime = output["expirationTime"]; } return contents; }; @@ -45117,18 +46092,18 @@ const deserializeAws_ec2CopyImageResult = (output: any, context: __SerdeContext) const deserializeAws_ec2CopySnapshotResult = (output: any, context: __SerdeContext): CopySnapshotResult => { let contents: any = { - SnapshotId: undefined, Tags: undefined, + SnapshotId: undefined, }; - if (output["snapshotId"] !== undefined) { - contents.SnapshotId = output["snapshotId"]; - } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["snapshotId"] !== undefined) { + contents.SnapshotId = output["snapshotId"]; + } return contents; }; @@ -45163,24 +46138,37 @@ const deserializeAws_ec2CreateCapacityReservationResult = ( return contents; }; +const deserializeAws_ec2CreateCarrierGatewayResult = ( + output: any, + context: __SerdeContext +): CreateCarrierGatewayResult => { + let contents: any = { + CarrierGateway: undefined, + }; + if (output["carrierGateway"] !== undefined) { + contents.CarrierGateway = deserializeAws_ec2CarrierGateway(output["carrierGateway"], context); + } + return contents; +}; + const deserializeAws_ec2CreateClientVpnEndpointResult = ( output: any, context: __SerdeContext ): CreateClientVpnEndpointResult => { let contents: any = { DnsName: undefined, - Status: undefined, ClientVpnEndpointId: undefined, + Status: undefined, }; if (output["dnsName"] !== undefined) { contents.DnsName = output["dnsName"]; } - if (output["status"] !== undefined) { - contents.Status = deserializeAws_ec2ClientVpnEndpointStatus(output["status"], context); - } if (output["clientVpnEndpointId"] !== undefined) { contents.ClientVpnEndpointId = output["clientVpnEndpointId"]; } + if (output["status"] !== undefined) { + contents.Status = deserializeAws_ec2ClientVpnEndpointStatus(output["status"], context); + } return contents; }; @@ -45248,43 +46236,43 @@ const deserializeAws_ec2CreateEgressOnlyInternetGatewayResult = ( context: __SerdeContext ): CreateEgressOnlyInternetGatewayResult => { let contents: any = { - ClientToken: undefined, EgressOnlyInternetGateway: undefined, + ClientToken: undefined, }; - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; - } if (output["egressOnlyInternetGateway"] !== undefined) { contents.EgressOnlyInternetGateway = deserializeAws_ec2EgressOnlyInternetGateway( output["egressOnlyInternetGateway"], context ); } + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; + } return contents; }; const deserializeAws_ec2CreateFleetError = (output: any, context: __SerdeContext): CreateFleetError => { let contents: any = { - ErrorMessage: undefined, Lifecycle: undefined, - ErrorCode: undefined, LaunchTemplateAndOverrides: undefined, + ErrorMessage: undefined, + ErrorCode: undefined, }; - if (output["errorMessage"] !== undefined) { - contents.ErrorMessage = output["errorMessage"]; - } if (output["lifecycle"] !== undefined) { contents.Lifecycle = output["lifecycle"]; } - if (output["errorCode"] !== undefined) { - contents.ErrorCode = output["errorCode"]; - } if (output["launchTemplateAndOverrides"] !== undefined) { contents.LaunchTemplateAndOverrides = deserializeAws_ec2LaunchTemplateAndOverridesResponse( output["launchTemplateAndOverrides"], context ); } + if (output["errorMessage"] !== undefined) { + contents.ErrorMessage = output["errorMessage"]; + } + if (output["errorCode"] !== undefined) { + contents.ErrorCode = output["errorCode"]; + } return contents; }; @@ -45294,18 +46282,18 @@ const deserializeAws_ec2CreateFleetErrorsSet = (output: any, context: __SerdeCon const deserializeAws_ec2CreateFleetInstance = (output: any, context: __SerdeContext): CreateFleetInstance => { let contents: any = { + Platform: undefined, Lifecycle: undefined, - InstanceType: undefined, InstanceIds: undefined, LaunchTemplateAndOverrides: undefined, - Platform: undefined, + InstanceType: undefined, }; + if (output["platform"] !== undefined) { + contents.Platform = output["platform"]; + } if (output["lifecycle"] !== undefined) { contents.Lifecycle = output["lifecycle"]; } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; - } if (output.instanceIds === "") { contents.InstanceIds = []; } @@ -45321,8 +46309,8 @@ const deserializeAws_ec2CreateFleetInstance = (output: any, context: __SerdeCont context ); } - if (output["platform"] !== undefined) { - contents.Platform = output["platform"]; + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; } return contents; }; @@ -45333,10 +46321,19 @@ const deserializeAws_ec2CreateFleetInstancesSet = (output: any, context: __Serde const deserializeAws_ec2CreateFleetResult = (output: any, context: __SerdeContext): CreateFleetResult => { let contents: any = { + Instances: undefined, Errors: undefined, FleetId: undefined, - Instances: undefined, }; + if (output.fleetInstanceSet === "") { + contents.Instances = []; + } + if (output["fleetInstanceSet"] !== undefined && output["fleetInstanceSet"]["item"] !== undefined) { + contents.Instances = deserializeAws_ec2CreateFleetInstancesSet( + __getArrayIfSingleItem(output["fleetInstanceSet"]["item"]), + context + ); + } if (output.errorSet === "") { contents.Errors = []; } @@ -45349,32 +46346,17 @@ const deserializeAws_ec2CreateFleetResult = (output: any, context: __SerdeContex if (output["fleetId"] !== undefined) { contents.FleetId = output["fleetId"]; } - if (output.fleetInstanceSet === "") { - contents.Instances = []; - } - if (output["fleetInstanceSet"] !== undefined && output["fleetInstanceSet"]["item"] !== undefined) { - contents.Instances = deserializeAws_ec2CreateFleetInstancesSet( - __getArrayIfSingleItem(output["fleetInstanceSet"]["item"]), - context - ); - } return contents; }; const deserializeAws_ec2CreateFlowLogsResult = (output: any, context: __SerdeContext): CreateFlowLogsResult => { let contents: any = { - Unsuccessful: undefined, - FlowLogIds: undefined, ClientToken: undefined, + FlowLogIds: undefined, + Unsuccessful: undefined, }; - if (output.unsuccessful === "") { - contents.Unsuccessful = []; - } - if (output["unsuccessful"] !== undefined && output["unsuccessful"]["item"] !== undefined) { - contents.Unsuccessful = deserializeAws_ec2UnsuccessfulItemSet( - __getArrayIfSingleItem(output["unsuccessful"]["item"]), - context - ); + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; } if (output.flowLogIdSet === "") { contents.FlowLogIds = []; @@ -45385,14 +46367,20 @@ const deserializeAws_ec2CreateFlowLogsResult = (output: any, context: __SerdeCon context ); } - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; + if (output.unsuccessful === "") { + contents.Unsuccessful = []; } - return contents; -}; - -const deserializeAws_ec2CreateFpgaImageResult = (output: any, context: __SerdeContext): CreateFpgaImageResult => { - let contents: any = { + if (output["unsuccessful"] !== undefined && output["unsuccessful"]["item"] !== undefined) { + contents.Unsuccessful = deserializeAws_ec2UnsuccessfulItemSet( + __getArrayIfSingleItem(output["unsuccessful"]["item"]), + context + ); + } + return contents; +}; + +const deserializeAws_ec2CreateFpgaImageResult = (output: any, context: __SerdeContext): CreateFpgaImageResult => { + let contents: any = { FpgaImageId: undefined, FpgaImageGlobalId: undefined, }; @@ -45463,15 +46451,15 @@ const deserializeAws_ec2CreateLaunchTemplateVersionResult = ( context: __SerdeContext ): CreateLaunchTemplateVersionResult => { let contents: any = { - Warning: undefined, LaunchTemplateVersion: undefined, + Warning: undefined, }; - if (output["warning"] !== undefined) { - contents.Warning = deserializeAws_ec2ValidationWarning(output["warning"], context); - } if (output["launchTemplateVersion"] !== undefined) { contents.LaunchTemplateVersion = deserializeAws_ec2LaunchTemplateVersion(output["launchTemplateVersion"], context); } + if (output["warning"] !== undefined) { + contents.Warning = deserializeAws_ec2ValidationWarning(output["warning"], context); + } return contents; }; @@ -45627,18 +46615,18 @@ const deserializeAws_ec2CreateSecurityGroupResult = ( context: __SerdeContext ): CreateSecurityGroupResult => { let contents: any = { - GroupId: undefined, Tags: undefined, + GroupId: undefined, }; - if (output["groupId"] !== undefined) { - contents.GroupId = output["groupId"]; - } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["groupId"] !== undefined) { + contents.GroupId = output["groupId"]; + } return contents; }; @@ -45686,15 +46674,15 @@ const deserializeAws_ec2CreateTrafficMirrorFilterResult = ( context: __SerdeContext ): CreateTrafficMirrorFilterResult => { let contents: any = { - ClientToken: undefined, TrafficMirrorFilter: undefined, + ClientToken: undefined, }; - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; - } if (output["trafficMirrorFilter"] !== undefined) { contents.TrafficMirrorFilter = deserializeAws_ec2TrafficMirrorFilter(output["trafficMirrorFilter"], context); } + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; + } return contents; }; @@ -45723,15 +46711,15 @@ const deserializeAws_ec2CreateTrafficMirrorSessionResult = ( context: __SerdeContext ): CreateTrafficMirrorSessionResult => { let contents: any = { - ClientToken: undefined, TrafficMirrorSession: undefined, + ClientToken: undefined, }; - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; - } if (output["trafficMirrorSession"] !== undefined) { contents.TrafficMirrorSession = deserializeAws_ec2TrafficMirrorSession(output["trafficMirrorSession"], context); } + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; + } return contents; }; @@ -45740,15 +46728,15 @@ const deserializeAws_ec2CreateTrafficMirrorTargetResult = ( context: __SerdeContext ): CreateTrafficMirrorTargetResult => { let contents: any = { - ClientToken: undefined, TrafficMirrorTarget: undefined, + ClientToken: undefined, }; - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; - } if (output["trafficMirrorTarget"] !== undefined) { contents.TrafficMirrorTarget = deserializeAws_ec2TrafficMirrorTarget(output["trafficMirrorTarget"], context); } + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; + } return contents; }; @@ -45784,6 +46772,22 @@ const deserializeAws_ec2CreateTransitGatewayPeeringAttachmentResult = ( return contents; }; +const deserializeAws_ec2CreateTransitGatewayPrefixListReferenceResult = ( + output: any, + context: __SerdeContext +): CreateTransitGatewayPrefixListReferenceResult => { + let contents: any = { + TransitGatewayPrefixListReference: undefined, + }; + if (output["transitGatewayPrefixListReference"] !== undefined) { + contents.TransitGatewayPrefixListReference = deserializeAws_ec2TransitGatewayPrefixListReference( + output["transitGatewayPrefixListReference"], + context + ); + } + return contents; +}; + const deserializeAws_ec2CreateTransitGatewayResult = ( output: any, context: __SerdeContext @@ -45844,15 +46848,15 @@ const deserializeAws_ec2CreateTransitGatewayVpcAttachmentResult = ( const deserializeAws_ec2CreateVolumePermission = (output: any, context: __SerdeContext): CreateVolumePermission => { let contents: any = { - UserId: undefined, Group: undefined, + UserId: undefined, }; - if (output["userId"] !== undefined) { - contents.UserId = output["userId"]; - } if (output["group"] !== undefined) { contents.Group = output["group"]; } + if (output["userId"] !== undefined) { + contents.UserId = output["userId"]; + } return contents; }; @@ -45885,15 +46889,15 @@ const deserializeAws_ec2CreateVpcEndpointConnectionNotificationResult = ( const deserializeAws_ec2CreateVpcEndpointResult = (output: any, context: __SerdeContext): CreateVpcEndpointResult => { let contents: any = { - ClientToken: undefined, VpcEndpoint: undefined, + ClientToken: undefined, }; - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; - } if (output["vpcEndpoint"] !== undefined) { contents.VpcEndpoint = deserializeAws_ec2VpcEndpoint(output["vpcEndpoint"], context); } + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; + } return contents; }; @@ -45902,15 +46906,15 @@ const deserializeAws_ec2CreateVpcEndpointServiceConfigurationResult = ( context: __SerdeContext ): CreateVpcEndpointServiceConfigurationResult => { let contents: any = { - ClientToken: undefined, ServiceConfiguration: undefined, + ClientToken: undefined, }; - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; - } if (output["serviceConfiguration"] !== undefined) { contents.ServiceConfiguration = deserializeAws_ec2ServiceConfiguration(output["serviceConfiguration"], context); } + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; + } return contents; }; @@ -45972,26 +46976,26 @@ const deserializeAws_ec2CreditSpecification = (output: any, context: __SerdeCont const deserializeAws_ec2CustomerGateway = (output: any, context: __SerdeContext): CustomerGateway => { let contents: any = { - IpAddress: undefined, - State: undefined, CustomerGatewayId: undefined, - CertificateArn: undefined, + State: undefined, + DeviceName: undefined, + BgpAsn: undefined, Type: undefined, Tags: undefined, - BgpAsn: undefined, - DeviceName: undefined, + CertificateArn: undefined, + IpAddress: undefined, }; - if (output["ipAddress"] !== undefined) { - contents.IpAddress = output["ipAddress"]; + if (output["customerGatewayId"] !== undefined) { + contents.CustomerGatewayId = output["customerGatewayId"]; } if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["customerGatewayId"] !== undefined) { - contents.CustomerGatewayId = output["customerGatewayId"]; + if (output["deviceName"] !== undefined) { + contents.DeviceName = output["deviceName"]; } - if (output["certificateArn"] !== undefined) { - contents.CertificateArn = output["certificateArn"]; + if (output["bgpAsn"] !== undefined) { + contents.BgpAsn = output["bgpAsn"]; } if (output["type"] !== undefined) { contents.Type = output["type"]; @@ -46002,11 +47006,11 @@ const deserializeAws_ec2CustomerGateway = (output: any, context: __SerdeContext) if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["bgpAsn"] !== undefined) { - contents.BgpAsn = output["bgpAsn"]; + if (output["certificateArn"] !== undefined) { + contents.CertificateArn = output["certificateArn"]; } - if (output["deviceName"] !== undefined) { - contents.DeviceName = output["deviceName"]; + if (output["ipAddress"] !== undefined) { + contents.IpAddress = output["ipAddress"]; } return contents; }; @@ -46015,6 +47019,19 @@ const deserializeAws_ec2CustomerGatewayList = (output: any, context: __SerdeCont return (output || []).map((entry: any) => deserializeAws_ec2CustomerGateway(entry, context)); }; +const deserializeAws_ec2DeleteCarrierGatewayResult = ( + output: any, + context: __SerdeContext +): DeleteCarrierGatewayResult => { + let contents: any = { + CarrierGateway: undefined, + }; + if (output["carrierGateway"] !== undefined) { + contents.CarrierGateway = deserializeAws_ec2CarrierGateway(output["carrierGateway"], context); + } + return contents; +}; + const deserializeAws_ec2DeleteClientVpnEndpointResult = ( output: any, context: __SerdeContext @@ -46056,15 +47073,15 @@ const deserializeAws_ec2DeleteEgressOnlyInternetGatewayResult = ( const deserializeAws_ec2DeleteFleetError = (output: any, context: __SerdeContext): DeleteFleetError => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; @@ -46120,19 +47137,19 @@ const deserializeAws_ec2DeleteFleetsResult = (output: any, context: __SerdeConte const deserializeAws_ec2DeleteFleetSuccessItem = (output: any, context: __SerdeContext): DeleteFleetSuccessItem => { let contents: any = { + PreviousFleetState: undefined, FleetId: undefined, CurrentFleetState: undefined, - PreviousFleetState: undefined, }; + if (output["previousFleetState"] !== undefined) { + contents.PreviousFleetState = output["previousFleetState"]; + } if (output["fleetId"] !== undefined) { contents.FleetId = output["fleetId"]; } if (output["currentFleetState"] !== undefined) { contents.CurrentFleetState = output["currentFleetState"]; } - if (output["previousFleetState"] !== undefined) { - contents.PreviousFleetState = output["previousFleetState"]; - } return contents; }; @@ -46184,23 +47201,23 @@ const deserializeAws_ec2DeleteLaunchTemplateVersionsResponseErrorItem = ( context: __SerdeContext ): DeleteLaunchTemplateVersionsResponseErrorItem => { let contents: any = { - LaunchTemplateName: undefined, VersionNumber: undefined, - ResponseError: undefined, + LaunchTemplateName: undefined, LaunchTemplateId: undefined, + ResponseError: undefined, }; - if (output["launchTemplateName"] !== undefined) { - contents.LaunchTemplateName = output["launchTemplateName"]; - } if (output["versionNumber"] !== undefined) { contents.VersionNumber = parseInt(output["versionNumber"]); } - if (output["responseError"] !== undefined) { - contents.ResponseError = deserializeAws_ec2ResponseError(output["responseError"], context); + if (output["launchTemplateName"] !== undefined) { + contents.LaunchTemplateName = output["launchTemplateName"]; } if (output["launchTemplateId"] !== undefined) { contents.LaunchTemplateId = output["launchTemplateId"]; } + if (output["responseError"] !== undefined) { + contents.ResponseError = deserializeAws_ec2ResponseError(output["responseError"], context); + } return contents; }; @@ -46218,19 +47235,19 @@ const deserializeAws_ec2DeleteLaunchTemplateVersionsResponseSuccessItem = ( context: __SerdeContext ): DeleteLaunchTemplateVersionsResponseSuccessItem => { let contents: any = { + LaunchTemplateId: undefined, LaunchTemplateName: undefined, VersionNumber: undefined, - LaunchTemplateId: undefined, }; + if (output["launchTemplateId"] !== undefined) { + contents.LaunchTemplateId = output["launchTemplateId"]; + } if (output["launchTemplateName"] !== undefined) { contents.LaunchTemplateName = output["launchTemplateName"]; } if (output["versionNumber"] !== undefined) { contents.VersionNumber = parseInt(output["versionNumber"]); } - if (output["launchTemplateId"] !== undefined) { - contents.LaunchTemplateId = output["launchTemplateId"]; - } return contents; }; @@ -46248,21 +47265,9 @@ const deserializeAws_ec2DeleteLaunchTemplateVersionsResult = ( context: __SerdeContext ): DeleteLaunchTemplateVersionsResult => { let contents: any = { - UnsuccessfullyDeletedLaunchTemplateVersions: undefined, SuccessfullyDeletedLaunchTemplateVersions: undefined, + UnsuccessfullyDeletedLaunchTemplateVersions: undefined, }; - if (output.unsuccessfullyDeletedLaunchTemplateVersionSet === "") { - contents.UnsuccessfullyDeletedLaunchTemplateVersions = []; - } - if ( - output["unsuccessfullyDeletedLaunchTemplateVersionSet"] !== undefined && - output["unsuccessfullyDeletedLaunchTemplateVersionSet"]["item"] !== undefined - ) { - contents.UnsuccessfullyDeletedLaunchTemplateVersions = deserializeAws_ec2DeleteLaunchTemplateVersionsResponseErrorSet( - __getArrayIfSingleItem(output["unsuccessfullyDeletedLaunchTemplateVersionSet"]["item"]), - context - ); - } if (output.successfullyDeletedLaunchTemplateVersionSet === "") { contents.SuccessfullyDeletedLaunchTemplateVersions = []; } @@ -46275,6 +47280,18 @@ const deserializeAws_ec2DeleteLaunchTemplateVersionsResult = ( context ); } + if (output.unsuccessfullyDeletedLaunchTemplateVersionSet === "") { + contents.UnsuccessfullyDeletedLaunchTemplateVersions = []; + } + if ( + output["unsuccessfullyDeletedLaunchTemplateVersionSet"] !== undefined && + output["unsuccessfullyDeletedLaunchTemplateVersionSet"]["item"] !== undefined + ) { + contents.UnsuccessfullyDeletedLaunchTemplateVersions = deserializeAws_ec2DeleteLaunchTemplateVersionsResponseErrorSet( + __getArrayIfSingleItem(output["unsuccessfullyDeletedLaunchTemplateVersionSet"]["item"]), + context + ); + } return contents; }; @@ -46365,21 +47382,9 @@ const deserializeAws_ec2DeleteQueuedReservedInstancesResult = ( context: __SerdeContext ): DeleteQueuedReservedInstancesResult => { let contents: any = { - SuccessfulQueuedPurchaseDeletions: undefined, FailedQueuedPurchaseDeletions: undefined, + SuccessfulQueuedPurchaseDeletions: undefined, }; - if (output.successfulQueuedPurchaseDeletionSet === "") { - contents.SuccessfulQueuedPurchaseDeletions = []; - } - if ( - output["successfulQueuedPurchaseDeletionSet"] !== undefined && - output["successfulQueuedPurchaseDeletionSet"]["item"] !== undefined - ) { - contents.SuccessfulQueuedPurchaseDeletions = deserializeAws_ec2SuccessfulQueuedPurchaseDeletionSet( - __getArrayIfSingleItem(output["successfulQueuedPurchaseDeletionSet"]["item"]), - context - ); - } if (output.failedQueuedPurchaseDeletionSet === "") { contents.FailedQueuedPurchaseDeletions = []; } @@ -46392,6 +47397,18 @@ const deserializeAws_ec2DeleteQueuedReservedInstancesResult = ( context ); } + if (output.successfulQueuedPurchaseDeletionSet === "") { + contents.SuccessfulQueuedPurchaseDeletions = []; + } + if ( + output["successfulQueuedPurchaseDeletionSet"] !== undefined && + output["successfulQueuedPurchaseDeletionSet"]["item"] !== undefined + ) { + contents.SuccessfulQueuedPurchaseDeletions = deserializeAws_ec2SuccessfulQueuedPurchaseDeletionSet( + __getArrayIfSingleItem(output["successfulQueuedPurchaseDeletionSet"]["item"]), + context + ); + } return contents; }; @@ -46479,6 +47496,22 @@ const deserializeAws_ec2DeleteTransitGatewayPeeringAttachmentResult = ( return contents; }; +const deserializeAws_ec2DeleteTransitGatewayPrefixListReferenceResult = ( + output: any, + context: __SerdeContext +): DeleteTransitGatewayPrefixListReferenceResult => { + let contents: any = { + TransitGatewayPrefixListReference: undefined, + }; + if (output["transitGatewayPrefixListReference"] !== undefined) { + contents.TransitGatewayPrefixListReference = deserializeAws_ec2TransitGatewayPrefixListReference( + output["transitGatewayPrefixListReference"], + context + ); + } + return contents; +}; + const deserializeAws_ec2DeleteTransitGatewayResult = ( output: any, context: __SerdeContext @@ -46757,12 +47790,9 @@ const deserializeAws_ec2DescribeBundleTasksResult = ( const deserializeAws_ec2DescribeByoipCidrsResult = (output: any, context: __SerdeContext): DescribeByoipCidrsResult => { let contents: any = { - NextToken: undefined, ByoipCidrs: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.byoipCidrSet === "") { contents.ByoipCidrs = []; } @@ -46772,6 +47802,9 @@ const deserializeAws_ec2DescribeByoipCidrsResult = (output: any, context: __Serd context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -46798,14 +47831,40 @@ const deserializeAws_ec2DescribeCapacityReservationsResult = ( return contents; }; +const deserializeAws_ec2DescribeCarrierGatewaysResult = ( + output: any, + context: __SerdeContext +): DescribeCarrierGatewaysResult => { + let contents: any = { + CarrierGateways: undefined, + NextToken: undefined, + }; + if (output.carrierGatewaySet === "") { + contents.CarrierGateways = []; + } + if (output["carrierGatewaySet"] !== undefined && output["carrierGatewaySet"]["item"] !== undefined) { + contents.CarrierGateways = deserializeAws_ec2CarrierGatewaySet( + __getArrayIfSingleItem(output["carrierGatewaySet"]["item"]), + context + ); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } + return contents; +}; + const deserializeAws_ec2DescribeClassicLinkInstancesResult = ( output: any, context: __SerdeContext ): DescribeClassicLinkInstancesResult => { let contents: any = { - Instances: undefined, NextToken: undefined, + Instances: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.instancesSet === "") { contents.Instances = []; } @@ -46815,9 +47874,6 @@ const deserializeAws_ec2DescribeClassicLinkInstancesResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -46826,9 +47882,12 @@ const deserializeAws_ec2DescribeClientVpnAuthorizationRulesResult = ( context: __SerdeContext ): DescribeClientVpnAuthorizationRulesResult => { let contents: any = { - AuthorizationRules: undefined, NextToken: undefined, + AuthorizationRules: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.authorizationRule === "") { contents.AuthorizationRules = []; } @@ -46838,9 +47897,6 @@ const deserializeAws_ec2DescribeClientVpnAuthorizationRulesResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -46849,9 +47905,12 @@ const deserializeAws_ec2DescribeClientVpnConnectionsResult = ( context: __SerdeContext ): DescribeClientVpnConnectionsResult => { let contents: any = { - Connections: undefined, NextToken: undefined, + Connections: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.connections === "") { contents.Connections = []; } @@ -46861,9 +47920,6 @@ const deserializeAws_ec2DescribeClientVpnConnectionsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -46872,9 +47928,12 @@ const deserializeAws_ec2DescribeClientVpnEndpointsResult = ( context: __SerdeContext ): DescribeClientVpnEndpointsResult => { let contents: any = { - ClientVpnEndpoints: undefined, NextToken: undefined, + ClientVpnEndpoints: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.clientVpnEndpoint === "") { contents.ClientVpnEndpoints = []; } @@ -46884,9 +47943,6 @@ const deserializeAws_ec2DescribeClientVpnEndpointsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -46895,18 +47951,18 @@ const deserializeAws_ec2DescribeClientVpnRoutesResult = ( context: __SerdeContext ): DescribeClientVpnRoutesResult => { let contents: any = { - NextToken: undefined, Routes: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.routes === "") { contents.Routes = []; } if (output["routes"] !== undefined && output["routes"]["item"] !== undefined) { contents.Routes = deserializeAws_ec2ClientVpnRouteSet(__getArrayIfSingleItem(output["routes"]["item"]), context); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -46915,12 +47971,9 @@ const deserializeAws_ec2DescribeClientVpnTargetNetworksResult = ( context: __SerdeContext ): DescribeClientVpnTargetNetworksResult => { let contents: any = { - NextToken: undefined, ClientVpnTargetNetworks: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.clientVpnTargetNetworks === "") { contents.ClientVpnTargetNetworks = []; } @@ -46930,6 +47983,9 @@ const deserializeAws_ec2DescribeClientVpnTargetNetworksResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -46997,12 +48053,9 @@ const deserializeAws_ec2DescribeDhcpOptionsResult = ( context: __SerdeContext ): DescribeDhcpOptionsResult => { let contents: any = { - NextToken: undefined, DhcpOptions: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.dhcpOptionsSet === "") { contents.DhcpOptions = []; } @@ -47012,6 +48065,9 @@ const deserializeAws_ec2DescribeDhcpOptionsResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -47046,16 +48102,10 @@ const deserializeAws_ec2DescribeElasticGpusResult = ( context: __SerdeContext ): DescribeElasticGpusResult => { let contents: any = { - MaxResults: undefined, - NextToken: undefined, ElasticGpuSet: undefined, + NextToken: undefined, + MaxResults: undefined, }; - if (output["maxResults"] !== undefined) { - contents.MaxResults = parseInt(output["maxResults"]); - } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.elasticGpuSet === "") { contents.ElasticGpuSet = []; } @@ -47065,6 +48115,12 @@ const deserializeAws_ec2DescribeElasticGpusResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } + if (output["maxResults"] !== undefined) { + contents.MaxResults = parseInt(output["maxResults"]); + } return contents; }; @@ -47138,44 +48194,35 @@ const deserializeAws_ec2DescribeFastSnapshotRestoreSuccessItem = ( context: __SerdeContext ): DescribeFastSnapshotRestoreSuccessItem => { let contents: any = { - SnapshotId: undefined, - EnabledTime: undefined, - DisablingTime: undefined, - OptimizingTime: undefined, DisabledTime: undefined, - OwnerId: undefined, - EnablingTime: undefined, - AvailabilityZone: undefined, State: undefined, + SnapshotId: undefined, + EnablingTime: undefined, + OptimizingTime: undefined, + EnabledTime: undefined, OwnerAlias: undefined, StateTransitionReason: undefined, + OwnerId: undefined, + AvailabilityZone: undefined, + DisablingTime: undefined, }; - if (output["snapshotId"] !== undefined) { - contents.SnapshotId = output["snapshotId"]; - } - if (output["enabledTime"] !== undefined) { - contents.EnabledTime = new Date(output["enabledTime"]); - } - if (output["disablingTime"] !== undefined) { - contents.DisablingTime = new Date(output["disablingTime"]); - } - if (output["optimizingTime"] !== undefined) { - contents.OptimizingTime = new Date(output["optimizingTime"]); - } if (output["disabledTime"] !== undefined) { contents.DisabledTime = new Date(output["disabledTime"]); } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["snapshotId"] !== undefined) { + contents.SnapshotId = output["snapshotId"]; } if (output["enablingTime"] !== undefined) { contents.EnablingTime = new Date(output["enablingTime"]); } - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; + if (output["optimizingTime"] !== undefined) { + contents.OptimizingTime = new Date(output["optimizingTime"]); } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["enabledTime"] !== undefined) { + contents.EnabledTime = new Date(output["enabledTime"]); } if (output["ownerAlias"] !== undefined) { contents.OwnerAlias = output["ownerAlias"]; @@ -47183,6 +48230,15 @@ const deserializeAws_ec2DescribeFastSnapshotRestoreSuccessItem = ( if (output["stateTransitionReason"] !== undefined) { contents.StateTransitionReason = output["stateTransitionReason"]; } + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; + } + if (output["disablingTime"] !== undefined) { + contents.DisablingTime = new Date(output["disablingTime"]); + } return contents; }; @@ -47195,11 +48251,17 @@ const deserializeAws_ec2DescribeFastSnapshotRestoreSuccessSet = ( const deserializeAws_ec2DescribeFleetError = (output: any, context: __SerdeContext): DescribeFleetError => { let contents: any = { + LaunchTemplateAndOverrides: undefined, ErrorCode: undefined, ErrorMessage: undefined, Lifecycle: undefined, - LaunchTemplateAndOverrides: undefined, }; + if (output["launchTemplateAndOverrides"] !== undefined) { + contents.LaunchTemplateAndOverrides = deserializeAws_ec2LaunchTemplateAndOverridesResponse( + output["launchTemplateAndOverrides"], + context + ); + } if (output["errorCode"] !== undefined) { contents.ErrorCode = output["errorCode"]; } @@ -47209,12 +48271,6 @@ const deserializeAws_ec2DescribeFleetError = (output: any, context: __SerdeConte if (output["lifecycle"] !== undefined) { contents.Lifecycle = output["lifecycle"]; } - if (output["launchTemplateAndOverrides"] !== undefined) { - contents.LaunchTemplateAndOverrides = deserializeAws_ec2LaunchTemplateAndOverridesResponse( - output["launchTemplateAndOverrides"], - context - ); - } return contents; }; @@ -47223,12 +48279,21 @@ const deserializeAws_ec2DescribeFleetHistoryResult = ( context: __SerdeContext ): DescribeFleetHistoryResult => { let contents: any = { + FleetId: undefined, + NextToken: undefined, + LastEvaluatedTime: undefined, HistoryRecords: undefined, StartTime: undefined, - LastEvaluatedTime: undefined, - NextToken: undefined, - FleetId: undefined, }; + if (output["fleetId"] !== undefined) { + contents.FleetId = output["fleetId"]; + } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } + if (output["lastEvaluatedTime"] !== undefined) { + contents.LastEvaluatedTime = new Date(output["lastEvaluatedTime"]); + } if (output.historyRecordSet === "") { contents.HistoryRecords = []; } @@ -47241,15 +48306,6 @@ const deserializeAws_ec2DescribeFleetHistoryResult = ( if (output["startTime"] !== undefined) { contents.StartTime = new Date(output["startTime"]); } - if (output["lastEvaluatedTime"] !== undefined) { - contents.LastEvaluatedTime = new Date(output["lastEvaluatedTime"]); - } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } - if (output["fleetId"] !== undefined) { - contents.FleetId = output["fleetId"]; - } return contents; }; @@ -47259,8 +48315,8 @@ const deserializeAws_ec2DescribeFleetInstancesResult = ( ): DescribeFleetInstancesResult => { let contents: any = { ActiveInstances: undefined, - NextToken: undefined, FleetId: undefined, + NextToken: undefined, }; if (output.activeInstanceSet === "") { contents.ActiveInstances = []; @@ -47271,12 +48327,12 @@ const deserializeAws_ec2DescribeFleetInstancesResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output["fleetId"] !== undefined) { contents.FleetId = output["fleetId"]; } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -47286,12 +48342,21 @@ const deserializeAws_ec2DescribeFleetsErrorSet = (output: any, context: __SerdeC const deserializeAws_ec2DescribeFleetsInstances = (output: any, context: __SerdeContext): DescribeFleetsInstances => { let contents: any = { - InstanceIds: undefined, Lifecycle: undefined, - Platform: undefined, - InstanceType: undefined, LaunchTemplateAndOverrides: undefined, + InstanceIds: undefined, + InstanceType: undefined, + Platform: undefined, }; + if (output["lifecycle"] !== undefined) { + contents.Lifecycle = output["lifecycle"]; + } + if (output["launchTemplateAndOverrides"] !== undefined) { + contents.LaunchTemplateAndOverrides = deserializeAws_ec2LaunchTemplateAndOverridesResponse( + output["launchTemplateAndOverrides"], + context + ); + } if (output.instanceIds === "") { contents.InstanceIds = []; } @@ -47301,20 +48366,11 @@ const deserializeAws_ec2DescribeFleetsInstances = (output: any, context: __Serde context ); } - if (output["lifecycle"] !== undefined) { - contents.Lifecycle = output["lifecycle"]; - } - if (output["platform"] !== undefined) { - contents.Platform = output["platform"]; - } if (output["instanceType"] !== undefined) { contents.InstanceType = output["instanceType"]; } - if (output["launchTemplateAndOverrides"] !== undefined) { - contents.LaunchTemplateAndOverrides = deserializeAws_ec2LaunchTemplateAndOverridesResponse( - output["launchTemplateAndOverrides"], - context - ); + if (output["platform"] !== undefined) { + contents.Platform = output["platform"]; } return contents; }; @@ -47328,35 +48384,35 @@ const deserializeAws_ec2DescribeFleetsInstancesSet = ( const deserializeAws_ec2DescribeFleetsResult = (output: any, context: __SerdeContext): DescribeFleetsResult => { let contents: any = { - Fleets: undefined, NextToken: undefined, + Fleets: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.fleetSet === "") { contents.Fleets = []; } if (output["fleetSet"] !== undefined && output["fleetSet"]["item"] !== undefined) { contents.Fleets = deserializeAws_ec2FleetSet(__getArrayIfSingleItem(output["fleetSet"]["item"]), context); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; const deserializeAws_ec2DescribeFlowLogsResult = (output: any, context: __SerdeContext): DescribeFlowLogsResult => { let contents: any = { - FlowLogs: undefined, NextToken: undefined, + FlowLogs: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.flowLogSet === "") { contents.FlowLogs = []; } if (output["flowLogSet"] !== undefined && output["flowLogSet"]["item"] !== undefined) { contents.FlowLogs = deserializeAws_ec2FlowLogSet(__getArrayIfSingleItem(output["flowLogSet"]["item"]), context); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -47421,9 +48477,12 @@ const deserializeAws_ec2DescribeHostReservationsResult = ( context: __SerdeContext ): DescribeHostReservationsResult => { let contents: any = { - HostReservationSet: undefined, NextToken: undefined, + HostReservationSet: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.hostReservationSet === "") { contents.HostReservationSet = []; } @@ -47433,9 +48492,6 @@ const deserializeAws_ec2DescribeHostReservationsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -47529,9 +48585,12 @@ const deserializeAws_ec2DescribeImportImageTasksResult = ( context: __SerdeContext ): DescribeImportImageTasksResult => { let contents: any = { - ImportImageTasks: undefined, NextToken: undefined, + ImportImageTasks: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.importImageTaskSet === "") { contents.ImportImageTasks = []; } @@ -47541,9 +48600,6 @@ const deserializeAws_ec2DescribeImportImageTasksResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -47552,12 +48608,9 @@ const deserializeAws_ec2DescribeImportSnapshotTasksResult = ( context: __SerdeContext ): DescribeImportSnapshotTasksResult => { let contents: any = { - NextToken: undefined, ImportSnapshotTasks: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.importSnapshotTaskSet === "") { contents.ImportSnapshotTasks = []; } @@ -47567,6 +48620,9 @@ const deserializeAws_ec2DescribeImportSnapshotTasksResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -47575,9 +48631,12 @@ const deserializeAws_ec2DescribeInstanceCreditSpecificationsResult = ( context: __SerdeContext ): DescribeInstanceCreditSpecificationsResult => { let contents: any = { - InstanceCreditSpecifications: undefined, NextToken: undefined, + InstanceCreditSpecifications: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.instanceCreditSpecificationSet === "") { contents.InstanceCreditSpecifications = []; } @@ -47590,9 +48649,6 @@ const deserializeAws_ec2DescribeInstanceCreditSpecificationsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -47614,12 +48670,9 @@ const deserializeAws_ec2DescribeInstanceEventNotificationAttributesResult = ( const deserializeAws_ec2DescribeInstancesResult = (output: any, context: __SerdeContext): DescribeInstancesResult => { let contents: any = { - NextToken: undefined, Reservations: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.reservationSet === "") { contents.Reservations = []; } @@ -47629,6 +48682,9 @@ const deserializeAws_ec2DescribeInstancesResult = (output: any, context: __Serde context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -47637,12 +48693,9 @@ const deserializeAws_ec2DescribeInstanceStatusResult = ( context: __SerdeContext ): DescribeInstanceStatusResult => { let contents: any = { - NextToken: undefined, InstanceStatuses: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.instanceStatusSet === "") { contents.InstanceStatuses = []; } @@ -47652,6 +48705,9 @@ const deserializeAws_ec2DescribeInstanceStatusResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -47683,9 +48739,12 @@ const deserializeAws_ec2DescribeInstanceTypesResult = ( context: __SerdeContext ): DescribeInstanceTypesResult => { let contents: any = { - InstanceTypes: undefined, NextToken: undefined, + InstanceTypes: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.instanceTypeSet === "") { contents.InstanceTypes = []; } @@ -47695,9 +48754,6 @@ const deserializeAws_ec2DescribeInstanceTypesResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -47759,12 +48815,9 @@ const deserializeAws_ec2DescribeLaunchTemplatesResult = ( context: __SerdeContext ): DescribeLaunchTemplatesResult => { let contents: any = { - NextToken: undefined, LaunchTemplates: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.launchTemplates === "") { contents.LaunchTemplates = []; } @@ -47774,6 +48827,9 @@ const deserializeAws_ec2DescribeLaunchTemplatesResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -47782,9 +48838,12 @@ const deserializeAws_ec2DescribeLaunchTemplateVersionsResult = ( context: __SerdeContext ): DescribeLaunchTemplateVersionsResult => { let contents: any = { - LaunchTemplateVersions: undefined, NextToken: undefined, + LaunchTemplateVersions: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.launchTemplateVersionSet === "") { contents.LaunchTemplateVersions = []; } @@ -47794,9 +48853,6 @@ const deserializeAws_ec2DescribeLaunchTemplateVersionsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -47828,9 +48884,12 @@ const deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssoc context: __SerdeContext ): DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult => { let contents: any = { - LocalGatewayRouteTableVirtualInterfaceGroupAssociations: undefined, NextToken: undefined, + LocalGatewayRouteTableVirtualInterfaceGroupAssociations: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.localGatewayRouteTableVirtualInterfaceGroupAssociationSet === "") { contents.LocalGatewayRouteTableVirtualInterfaceGroupAssociations = []; } @@ -47843,9 +48902,6 @@ const deserializeAws_ec2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssoc context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -47903,12 +48959,9 @@ const deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsResult = ( context: __SerdeContext ): DescribeLocalGatewayVirtualInterfaceGroupsResult => { let contents: any = { - NextToken: undefined, LocalGatewayVirtualInterfaceGroups: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.localGatewayVirtualInterfaceGroupSet === "") { contents.LocalGatewayVirtualInterfaceGroups = []; } @@ -47921,6 +48974,9 @@ const deserializeAws_ec2DescribeLocalGatewayVirtualInterfaceGroupsResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -47929,9 +48985,12 @@ const deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesResult = ( context: __SerdeContext ): DescribeLocalGatewayVirtualInterfacesResult => { let contents: any = { - LocalGatewayVirtualInterfaces: undefined, NextToken: undefined, + LocalGatewayVirtualInterfaces: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.localGatewayVirtualInterfaceSet === "") { contents.LocalGatewayVirtualInterfaces = []; } @@ -47944,9 +49003,6 @@ const deserializeAws_ec2DescribeLocalGatewayVirtualInterfacesResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -47955,12 +49011,9 @@ const deserializeAws_ec2DescribeManagedPrefixListsResult = ( context: __SerdeContext ): DescribeManagedPrefixListsResult => { let contents: any = { - NextToken: undefined, PrefixLists: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.prefixListSet === "") { contents.PrefixLists = []; } @@ -47970,6 +49023,9 @@ const deserializeAws_ec2DescribeManagedPrefixListsResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -47978,12 +49034,9 @@ const deserializeAws_ec2DescribeMovingAddressesResult = ( context: __SerdeContext ): DescribeMovingAddressesResult => { let contents: any = { - NextToken: undefined, MovingAddressStatuses: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.movingAddressStatusSet === "") { contents.MovingAddressStatuses = []; } @@ -47993,6 +49046,9 @@ const deserializeAws_ec2DescribeMovingAddressesResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -48049,9 +49105,9 @@ const deserializeAws_ec2DescribeNetworkInterfaceAttributeResult = ( let contents: any = { Groups: undefined, Description: undefined, - Attachment: undefined, - NetworkInterfaceId: undefined, SourceDestCheck: undefined, + NetworkInterfaceId: undefined, + Attachment: undefined, }; if (output.groupSet === "") { contents.Groups = []; @@ -48065,14 +49121,14 @@ const deserializeAws_ec2DescribeNetworkInterfaceAttributeResult = ( if (output["description"] !== undefined) { contents.Description = deserializeAws_ec2AttributeValue(output["description"], context); } - if (output["attachment"] !== undefined) { - contents.Attachment = deserializeAws_ec2NetworkInterfaceAttachment(output["attachment"], context); + if (output["sourceDestCheck"] !== undefined) { + contents.SourceDestCheck = deserializeAws_ec2AttributeBooleanValue(output["sourceDestCheck"], context); } if (output["networkInterfaceId"] !== undefined) { contents.NetworkInterfaceId = output["networkInterfaceId"]; } - if (output["sourceDestCheck"] !== undefined) { - contents.SourceDestCheck = deserializeAws_ec2AttributeBooleanValue(output["sourceDestCheck"], context); + if (output["attachment"] !== undefined) { + contents.Attachment = deserializeAws_ec2NetworkInterfaceAttachment(output["attachment"], context); } return contents; }; @@ -48150,9 +49206,12 @@ const deserializeAws_ec2DescribePrefixListsResult = ( context: __SerdeContext ): DescribePrefixListsResult => { let contents: any = { - PrefixLists: undefined, NextToken: undefined, + PrefixLists: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.prefixListSet === "") { contents.PrefixLists = []; } @@ -48162,9 +49221,6 @@ const deserializeAws_ec2DescribePrefixListsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -48173,12 +49229,9 @@ const deserializeAws_ec2DescribePrincipalIdFormatResult = ( context: __SerdeContext ): DescribePrincipalIdFormatResult => { let contents: any = { - NextToken: undefined, Principals: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.principalSet === "") { contents.Principals = []; } @@ -48188,6 +49241,9 @@ const deserializeAws_ec2DescribePrincipalIdFormatResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -48280,9 +49336,12 @@ const deserializeAws_ec2DescribeReservedInstancesOfferingsResult = ( context: __SerdeContext ): DescribeReservedInstancesOfferingsResult => { let contents: any = { - ReservedInstancesOfferings: undefined, NextToken: undefined, + ReservedInstancesOfferings: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.reservedInstancesOfferingsSet === "") { contents.ReservedInstancesOfferings = []; } @@ -48295,9 +49354,6 @@ const deserializeAws_ec2DescribeReservedInstancesOfferingsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -48440,21 +49496,12 @@ const deserializeAws_ec2DescribeSnapshotAttributeResult = ( ): DescribeSnapshotAttributeResult => { let contents: any = { SnapshotId: undefined, - ProductCodes: undefined, CreateVolumePermissions: undefined, + ProductCodes: undefined, }; if (output["snapshotId"] !== undefined) { contents.SnapshotId = output["snapshotId"]; } - if (output.productCodes === "") { - contents.ProductCodes = []; - } - if (output["productCodes"] !== undefined && output["productCodes"]["item"] !== undefined) { - contents.ProductCodes = deserializeAws_ec2ProductCodeList( - __getArrayIfSingleItem(output["productCodes"]["item"]), - context - ); - } if (output.createVolumePermission === "") { contents.CreateVolumePermissions = []; } @@ -48464,6 +49511,15 @@ const deserializeAws_ec2DescribeSnapshotAttributeResult = ( context ); } + if (output.productCodes === "") { + contents.ProductCodes = []; + } + if (output["productCodes"] !== undefined && output["productCodes"]["item"] !== undefined) { + contents.ProductCodes = deserializeAws_ec2ProductCodeList( + __getArrayIfSingleItem(output["productCodes"]["item"]), + context + ); + } return contents; }; @@ -48505,16 +49561,10 @@ const deserializeAws_ec2DescribeSpotFleetInstancesResponse = ( context: __SerdeContext ): DescribeSpotFleetInstancesResponse => { let contents: any = { - NextToken: undefined, - SpotFleetRequestId: undefined, ActiveInstances: undefined, + SpotFleetRequestId: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } - if (output["spotFleetRequestId"] !== undefined) { - contents.SpotFleetRequestId = output["spotFleetRequestId"]; - } if (output.activeInstanceSet === "") { contents.ActiveInstances = []; } @@ -48524,6 +49574,12 @@ const deserializeAws_ec2DescribeSpotFleetInstancesResponse = ( context ); } + if (output["spotFleetRequestId"] !== undefined) { + contents.SpotFleetRequestId = output["spotFleetRequestId"]; + } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -48532,12 +49588,24 @@ const deserializeAws_ec2DescribeSpotFleetRequestHistoryResponse = ( context: __SerdeContext ): DescribeSpotFleetRequestHistoryResponse => { let contents: any = { - HistoryRecords: undefined, StartTime: undefined, - SpotFleetRequestId: undefined, - NextToken: undefined, LastEvaluatedTime: undefined, + NextToken: undefined, + SpotFleetRequestId: undefined, + HistoryRecords: undefined, }; + if (output["startTime"] !== undefined) { + contents.StartTime = new Date(output["startTime"]); + } + if (output["lastEvaluatedTime"] !== undefined) { + contents.LastEvaluatedTime = new Date(output["lastEvaluatedTime"]); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } + if (output["spotFleetRequestId"] !== undefined) { + contents.SpotFleetRequestId = output["spotFleetRequestId"]; + } if (output.historyRecordSet === "") { contents.HistoryRecords = []; } @@ -48547,18 +49615,6 @@ const deserializeAws_ec2DescribeSpotFleetRequestHistoryResponse = ( context ); } - if (output["startTime"] !== undefined) { - contents.StartTime = new Date(output["startTime"]); - } - if (output["spotFleetRequestId"] !== undefined) { - contents.SpotFleetRequestId = output["spotFleetRequestId"]; - } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } - if (output["lastEvaluatedTime"] !== undefined) { - contents.LastEvaluatedTime = new Date(output["lastEvaluatedTime"]); - } return contents; }; @@ -48590,9 +49646,12 @@ const deserializeAws_ec2DescribeSpotInstanceRequestsResult = ( context: __SerdeContext ): DescribeSpotInstanceRequestsResult => { let contents: any = { - SpotInstanceRequests: undefined, NextToken: undefined, + SpotInstanceRequests: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.spotInstanceRequestSet === "") { contents.SpotInstanceRequests = []; } @@ -48602,9 +49661,6 @@ const deserializeAws_ec2DescribeSpotInstanceRequestsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -48613,12 +49669,9 @@ const deserializeAws_ec2DescribeSpotPriceHistoryResult = ( context: __SerdeContext ): DescribeSpotPriceHistoryResult => { let contents: any = { - NextToken: undefined, SpotPriceHistory: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.spotPriceHistorySet === "") { contents.SpotPriceHistory = []; } @@ -48628,6 +49681,9 @@ const deserializeAws_ec2DescribeSpotPriceHistoryResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -48656,18 +49712,18 @@ const deserializeAws_ec2DescribeStaleSecurityGroupsResult = ( const deserializeAws_ec2DescribeSubnetsResult = (output: any, context: __SerdeContext): DescribeSubnetsResult => { let contents: any = { - Subnets: undefined, NextToken: undefined, + Subnets: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.subnetSet === "") { contents.Subnets = []; } if (output["subnetSet"] !== undefined && output["subnetSet"]["item"] !== undefined) { contents.Subnets = deserializeAws_ec2SubnetList(__getArrayIfSingleItem(output["subnetSet"]["item"]), context); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -48693,9 +49749,12 @@ const deserializeAws_ec2DescribeTrafficMirrorFiltersResult = ( context: __SerdeContext ): DescribeTrafficMirrorFiltersResult => { let contents: any = { - TrafficMirrorFilters: undefined, NextToken: undefined, + TrafficMirrorFilters: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.trafficMirrorFilterSet === "") { contents.TrafficMirrorFilters = []; } @@ -48705,9 +49764,6 @@ const deserializeAws_ec2DescribeTrafficMirrorFiltersResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -48716,12 +49772,9 @@ const deserializeAws_ec2DescribeTrafficMirrorSessionsResult = ( context: __SerdeContext ): DescribeTrafficMirrorSessionsResult => { let contents: any = { - NextToken: undefined, TrafficMirrorSessions: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.trafficMirrorSessionSet === "") { contents.TrafficMirrorSessions = []; } @@ -48731,6 +49784,9 @@ const deserializeAws_ec2DescribeTrafficMirrorSessionsResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -48762,9 +49818,12 @@ const deserializeAws_ec2DescribeTransitGatewayAttachmentsResult = ( context: __SerdeContext ): DescribeTransitGatewayAttachmentsResult => { let contents: any = { - TransitGatewayAttachments: undefined, NextToken: undefined, + TransitGatewayAttachments: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.transitGatewayAttachments === "") { contents.TransitGatewayAttachments = []; } @@ -48774,9 +49833,6 @@ const deserializeAws_ec2DescribeTransitGatewayAttachmentsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -48909,16 +49965,10 @@ const deserializeAws_ec2DescribeVolumeAttributeResult = ( context: __SerdeContext ): DescribeVolumeAttributeResult => { let contents: any = { + ProductCodes: undefined, VolumeId: undefined, AutoEnableIO: undefined, - ProductCodes: undefined, }; - if (output["volumeId"] !== undefined) { - contents.VolumeId = output["volumeId"]; - } - if (output["autoEnableIO"] !== undefined) { - contents.AutoEnableIO = deserializeAws_ec2AttributeBooleanValue(output["autoEnableIO"], context); - } if (output.productCodes === "") { contents.ProductCodes = []; } @@ -48928,6 +49978,12 @@ const deserializeAws_ec2DescribeVolumeAttributeResult = ( context ); } + if (output["volumeId"] !== undefined) { + contents.VolumeId = output["volumeId"]; + } + if (output["autoEnableIO"] !== undefined) { + contents.AutoEnableIO = deserializeAws_ec2AttributeBooleanValue(output["autoEnableIO"], context); + } return contents; }; @@ -48936,9 +49992,12 @@ const deserializeAws_ec2DescribeVolumesModificationsResult = ( context: __SerdeContext ): DescribeVolumesModificationsResult => { let contents: any = { - VolumesModifications: undefined, NextToken: undefined, + VolumesModifications: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.volumeModificationSet === "") { contents.VolumesModifications = []; } @@ -48948,26 +50007,23 @@ const deserializeAws_ec2DescribeVolumesModificationsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; const deserializeAws_ec2DescribeVolumesResult = (output: any, context: __SerdeContext): DescribeVolumesResult => { let contents: any = { - Volumes: undefined, NextToken: undefined, + Volumes: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.volumeSet === "") { contents.Volumes = []; } if (output["volumeSet"] !== undefined && output["volumeSet"]["item"] !== undefined) { contents.Volumes = deserializeAws_ec2VolumeList(__getArrayIfSingleItem(output["volumeSet"]["item"]), context); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -48976,9 +50032,12 @@ const deserializeAws_ec2DescribeVolumeStatusResult = ( context: __SerdeContext ): DescribeVolumeStatusResult => { let contents: any = { - VolumeStatuses: undefined, NextToken: undefined, + VolumeStatuses: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.volumeStatusSet === "") { contents.VolumeStatuses = []; } @@ -48988,9 +50047,6 @@ const deserializeAws_ec2DescribeVolumeStatusResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -49000,18 +50056,18 @@ const deserializeAws_ec2DescribeVpcAttributeResult = ( ): DescribeVpcAttributeResult => { let contents: any = { VpcId: undefined, - EnableDnsSupport: undefined, EnableDnsHostnames: undefined, + EnableDnsSupport: undefined, }; if (output["vpcId"] !== undefined) { contents.VpcId = output["vpcId"]; } - if (output["enableDnsSupport"] !== undefined) { - contents.EnableDnsSupport = deserializeAws_ec2AttributeBooleanValue(output["enableDnsSupport"], context); - } if (output["enableDnsHostnames"] !== undefined) { contents.EnableDnsHostnames = deserializeAws_ec2AttributeBooleanValue(output["enableDnsHostnames"], context); } + if (output["enableDnsSupport"] !== undefined) { + contents.EnableDnsSupport = deserializeAws_ec2AttributeBooleanValue(output["enableDnsSupport"], context); + } return contents; }; @@ -49082,9 +50138,12 @@ const deserializeAws_ec2DescribeVpcEndpointConnectionsResult = ( context: __SerdeContext ): DescribeVpcEndpointConnectionsResult => { let contents: any = { - VpcEndpointConnections: undefined, NextToken: undefined, + VpcEndpointConnections: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.vpcEndpointConnectionSet === "") { contents.VpcEndpointConnections = []; } @@ -49094,9 +50153,6 @@ const deserializeAws_ec2DescribeVpcEndpointConnectionsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -49128,12 +50184,9 @@ const deserializeAws_ec2DescribeVpcEndpointServicePermissionsResult = ( context: __SerdeContext ): DescribeVpcEndpointServicePermissionsResult => { let contents: any = { - NextToken: undefined, AllowedPrincipals: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.allowedPrincipals === "") { contents.AllowedPrincipals = []; } @@ -49143,6 +50196,9 @@ const deserializeAws_ec2DescribeVpcEndpointServicePermissionsResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -49151,19 +50207,10 @@ const deserializeAws_ec2DescribeVpcEndpointServicesResult = ( context: __SerdeContext ): DescribeVpcEndpointServicesResult => { let contents: any = { - ServiceNames: undefined, NextToken: undefined, ServiceDetails: undefined, + ServiceNames: undefined, }; - if (output.serviceNameSet === "") { - contents.ServiceNames = []; - } - if (output["serviceNameSet"] !== undefined && output["serviceNameSet"]["item"] !== undefined) { - contents.ServiceNames = deserializeAws_ec2ValueStringList( - __getArrayIfSingleItem(output["serviceNameSet"]["item"]), - context - ); - } if (output["nextToken"] !== undefined) { contents.NextToken = output["nextToken"]; } @@ -49176,6 +50223,15 @@ const deserializeAws_ec2DescribeVpcEndpointServicesResult = ( context ); } + if (output.serviceNameSet === "") { + contents.ServiceNames = []; + } + if (output["serviceNameSet"] !== undefined && output["serviceNameSet"]["item"] !== undefined) { + contents.ServiceNames = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["serviceNameSet"]["item"]), + context + ); + } return contents; }; @@ -49184,12 +50240,9 @@ const deserializeAws_ec2DescribeVpcEndpointsResult = ( context: __SerdeContext ): DescribeVpcEndpointsResult => { let contents: any = { - NextToken: undefined, VpcEndpoints: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.vpcEndpointSet === "") { contents.VpcEndpoints = []; } @@ -49199,6 +50252,9 @@ const deserializeAws_ec2DescribeVpcEndpointsResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; @@ -49323,20 +50379,11 @@ const deserializeAws_ec2DhcpConfigurationValueList = (output: any, context: __Se const deserializeAws_ec2DhcpOptions = (output: any, context: __SerdeContext): DhcpOptions => { let contents: any = { - DhcpConfigurations: undefined, Tags: undefined, DhcpOptionsId: undefined, OwnerId: undefined, + DhcpConfigurations: undefined, }; - if (output.dhcpConfigurationSet === "") { - contents.DhcpConfigurations = []; - } - if (output["dhcpConfigurationSet"] !== undefined && output["dhcpConfigurationSet"]["item"] !== undefined) { - contents.DhcpConfigurations = deserializeAws_ec2DhcpConfigurationList( - __getArrayIfSingleItem(output["dhcpConfigurationSet"]["item"]), - context - ); - } if (output.tagSet === "") { contents.Tags = []; } @@ -49349,6 +50396,15 @@ const deserializeAws_ec2DhcpOptions = (output: any, context: __SerdeContext): Dh if (output["ownerId"] !== undefined) { contents.OwnerId = output["ownerId"]; } + if (output.dhcpConfigurationSet === "") { + contents.DhcpConfigurations = []; + } + if (output["dhcpConfigurationSet"] !== undefined && output["dhcpConfigurationSet"]["item"] !== undefined) { + contents.DhcpConfigurations = deserializeAws_ec2DhcpConfigurationList( + __getArrayIfSingleItem(output["dhcpConfigurationSet"]["item"]), + context + ); + } return contents; }; @@ -49387,12 +50443,9 @@ const deserializeAws_ec2DisableFastSnapshotRestoreErrorItem = ( context: __SerdeContext ): DisableFastSnapshotRestoreErrorItem => { let contents: any = { - SnapshotId: undefined, FastSnapshotRestoreStateErrors: undefined, + SnapshotId: undefined, }; - if (output["snapshotId"] !== undefined) { - contents.SnapshotId = output["snapshotId"]; - } if (output.fastSnapshotRestoreStateErrorSet === "") { contents.FastSnapshotRestoreStateErrors = []; } @@ -49405,6 +50458,9 @@ const deserializeAws_ec2DisableFastSnapshotRestoreErrorItem = ( context ); } + if (output["snapshotId"] !== undefined) { + contents.SnapshotId = output["snapshotId"]; + } return contents; }; @@ -49420,18 +50476,9 @@ const deserializeAws_ec2DisableFastSnapshotRestoresResult = ( context: __SerdeContext ): DisableFastSnapshotRestoresResult => { let contents: any = { - Unsuccessful: undefined, Successful: undefined, + Unsuccessful: undefined, }; - if (output.unsuccessful === "") { - contents.Unsuccessful = []; - } - if (output["unsuccessful"] !== undefined && output["unsuccessful"]["item"] !== undefined) { - contents.Unsuccessful = deserializeAws_ec2DisableFastSnapshotRestoreErrorSet( - __getArrayIfSingleItem(output["unsuccessful"]["item"]), - context - ); - } if (output.successful === "") { contents.Successful = []; } @@ -49441,6 +50488,15 @@ const deserializeAws_ec2DisableFastSnapshotRestoresResult = ( context ); } + if (output.unsuccessful === "") { + contents.Unsuccessful = []; + } + if (output["unsuccessful"] !== undefined && output["unsuccessful"]["item"] !== undefined) { + contents.Unsuccessful = deserializeAws_ec2DisableFastSnapshotRestoreErrorSet( + __getArrayIfSingleItem(output["unsuccessful"]["item"]), + context + ); + } return contents; }; @@ -49449,15 +50505,15 @@ const deserializeAws_ec2DisableFastSnapshotRestoreStateError = ( context: __SerdeContext ): DisableFastSnapshotRestoreStateError => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; @@ -49466,15 +50522,15 @@ const deserializeAws_ec2DisableFastSnapshotRestoreStateErrorItem = ( context: __SerdeContext ): DisableFastSnapshotRestoreStateErrorItem => { let contents: any = { - AvailabilityZone: undefined, Error: undefined, + AvailabilityZone: undefined, }; - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; - } if (output["error"] !== undefined) { contents.Error = deserializeAws_ec2DisableFastSnapshotRestoreStateError(output["error"], context); } + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; + } return contents; }; @@ -49490,50 +50546,50 @@ const deserializeAws_ec2DisableFastSnapshotRestoreSuccessItem = ( context: __SerdeContext ): DisableFastSnapshotRestoreSuccessItem => { let contents: any = { - State: undefined, - EnablingTime: undefined, - DisabledTime: undefined, - AvailabilityZone: undefined, OwnerId: undefined, - OptimizingTime: undefined, - EnabledTime: undefined, + StateTransitionReason: undefined, + AvailabilityZone: undefined, OwnerAlias: undefined, - SnapshotId: undefined, DisablingTime: undefined, - StateTransitionReason: undefined, + DisabledTime: undefined, + EnablingTime: undefined, + EnabledTime: undefined, + State: undefined, + SnapshotId: undefined, + OptimizingTime: undefined, }; - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["enablingTime"] !== undefined) { - contents.EnablingTime = new Date(output["enablingTime"]); + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } - if (output["disabledTime"] !== undefined) { - contents.DisabledTime = new Date(output["disabledTime"]); + if (output["stateTransitionReason"] !== undefined) { + contents.StateTransitionReason = output["stateTransitionReason"]; } if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; + if (output["ownerAlias"] !== undefined) { + contents.OwnerAlias = output["ownerAlias"]; } - if (output["optimizingTime"] !== undefined) { - contents.OptimizingTime = new Date(output["optimizingTime"]); + if (output["disablingTime"] !== undefined) { + contents.DisablingTime = new Date(output["disablingTime"]); + } + if (output["disabledTime"] !== undefined) { + contents.DisabledTime = new Date(output["disabledTime"]); + } + if (output["enablingTime"] !== undefined) { + contents.EnablingTime = new Date(output["enablingTime"]); } if (output["enabledTime"] !== undefined) { contents.EnabledTime = new Date(output["enabledTime"]); } - if (output["ownerAlias"] !== undefined) { - contents.OwnerAlias = output["ownerAlias"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; } if (output["snapshotId"] !== undefined) { contents.SnapshotId = output["snapshotId"]; } - if (output["disablingTime"] !== undefined) { - contents.DisablingTime = new Date(output["disablingTime"]); - } - if (output["stateTransitionReason"] !== undefined) { - contents.StateTransitionReason = output["stateTransitionReason"]; + if (output["optimizingTime"] !== undefined) { + contents.OptimizingTime = new Date(output["optimizingTime"]); } return contents; }; @@ -49589,15 +50645,15 @@ const deserializeAws_ec2DisassociateClientVpnTargetNetworkResult = ( context: __SerdeContext ): DisassociateClientVpnTargetNetworkResult => { let contents: any = { - AssociationId: undefined, Status: undefined, + AssociationId: undefined, }; - if (output["associationId"] !== undefined) { - contents.AssociationId = output["associationId"]; - } if (output["status"] !== undefined) { contents.Status = deserializeAws_ec2AssociationStatus(output["status"], context); } + if (output["associationId"] !== undefined) { + contents.AssociationId = output["associationId"]; + } return contents; }; @@ -49622,18 +50678,18 @@ const deserializeAws_ec2DisassociateSubnetCidrBlockResult = ( context: __SerdeContext ): DisassociateSubnetCidrBlockResult => { let contents: any = { - Ipv6CidrBlockAssociation: undefined, SubnetId: undefined, + Ipv6CidrBlockAssociation: undefined, }; + if (output["subnetId"] !== undefined) { + contents.SubnetId = output["subnetId"]; + } if (output["ipv6CidrBlockAssociation"] !== undefined) { contents.Ipv6CidrBlockAssociation = deserializeAws_ec2SubnetIpv6CidrBlockAssociation( output["ipv6CidrBlockAssociation"], context ); } - if (output["subnetId"] !== undefined) { - contents.SubnetId = output["subnetId"]; - } return contents; }; @@ -49692,20 +50748,20 @@ const deserializeAws_ec2DisassociateVpcCidrBlockResult = ( const deserializeAws_ec2DiskImageDescription = (output: any, context: __SerdeContext): DiskImageDescription => { let contents: any = { + Size: undefined, Checksum: undefined, Format: undefined, - Size: undefined, ImportManifestUrl: undefined, }; + if (output["size"] !== undefined) { + contents.Size = parseInt(output["size"]); + } if (output["checksum"] !== undefined) { contents.Checksum = output["checksum"]; } if (output["format"] !== undefined) { contents.Format = output["format"]; } - if (output["size"] !== undefined) { - contents.Size = parseInt(output["size"]); - } if (output["importManifestUrl"] !== undefined) { contents.ImportManifestUrl = output["importManifestUrl"]; } @@ -49717,32 +50773,32 @@ const deserializeAws_ec2DiskImageVolumeDescription = ( context: __SerdeContext ): DiskImageVolumeDescription => { let contents: any = { - Id: undefined, Size: undefined, + Id: undefined, }; - if (output["id"] !== undefined) { - contents.Id = output["id"]; - } if (output["size"] !== undefined) { contents.Size = parseInt(output["size"]); } + if (output["id"] !== undefined) { + contents.Id = output["id"]; + } return contents; }; const deserializeAws_ec2DiskInfo = (output: any, context: __SerdeContext): DiskInfo => { let contents: any = { - SizeInGB: undefined, - Count: undefined, Type: undefined, + Count: undefined, + SizeInGB: undefined, }; - if (output["sizeInGB"] !== undefined) { - contents.SizeInGB = parseInt(output["sizeInGB"]); + if (output["type"] !== undefined) { + contents.Type = output["type"]; } if (output["count"] !== undefined) { contents.Count = parseInt(output["count"]); } - if (output["type"] !== undefined) { - contents.Type = output["type"]; + if (output["sizeInGB"] !== undefined) { + contents.SizeInGB = parseInt(output["sizeInGB"]); } return contents; }; @@ -49771,47 +50827,47 @@ const deserializeAws_ec2DnsEntrySet = (output: any, context: __SerdeContext): Dn const deserializeAws_ec2EbsBlockDevice = (output: any, context: __SerdeContext): EbsBlockDevice => { let contents: any = { - VolumeType: undefined, SnapshotId: undefined, - VolumeSize: undefined, - Iops: undefined, - DeleteOnTermination: undefined, - KmsKeyId: undefined, + VolumeType: undefined, Encrypted: undefined, + KmsKeyId: undefined, + DeleteOnTermination: undefined, + Iops: undefined, + VolumeSize: undefined, }; - if (output["volumeType"] !== undefined) { - contents.VolumeType = output["volumeType"]; - } if (output["snapshotId"] !== undefined) { contents.SnapshotId = output["snapshotId"]; } - if (output["volumeSize"] !== undefined) { - contents.VolumeSize = parseInt(output["volumeSize"]); + if (output["volumeType"] !== undefined) { + contents.VolumeType = output["volumeType"]; } - if (output["iops"] !== undefined) { - contents.Iops = parseInt(output["iops"]); + if (output["encrypted"] !== undefined) { + contents.Encrypted = output["encrypted"] == "true"; + } + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; } if (output["deleteOnTermination"] !== undefined) { contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["iops"] !== undefined) { + contents.Iops = parseInt(output["iops"]); } - if (output["encrypted"] !== undefined) { - contents.Encrypted = output["encrypted"] == "true"; + if (output["volumeSize"] !== undefined) { + contents.VolumeSize = parseInt(output["volumeSize"]); } return contents; }; const deserializeAws_ec2EbsInfo = (output: any, context: __SerdeContext): EbsInfo => { let contents: any = { - EbsOptimizedSupport: undefined, + EbsOptimizedInfo: undefined, NvmeSupport: undefined, EncryptionSupport: undefined, - EbsOptimizedInfo: undefined, + EbsOptimizedSupport: undefined, }; - if (output["ebsOptimizedSupport"] !== undefined) { - contents.EbsOptimizedSupport = output["ebsOptimizedSupport"]; + if (output["ebsOptimizedInfo"] !== undefined) { + contents.EbsOptimizedInfo = deserializeAws_ec2EbsOptimizedInfo(output["ebsOptimizedInfo"], context); } if (output["nvmeSupport"] !== undefined) { contents.NvmeSupport = output["nvmeSupport"]; @@ -49819,8 +50875,8 @@ const deserializeAws_ec2EbsInfo = (output: any, context: __SerdeContext): EbsInf if (output["encryptionSupport"] !== undefined) { contents.EncryptionSupport = output["encryptionSupport"]; } - if (output["ebsOptimizedInfo"] !== undefined) { - contents.EbsOptimizedInfo = deserializeAws_ec2EbsOptimizedInfo(output["ebsOptimizedInfo"], context); + if (output["ebsOptimizedSupport"] !== undefined) { + contents.EbsOptimizedSupport = output["ebsOptimizedSupport"]; } return contents; }; @@ -49829,8 +50885,8 @@ const deserializeAws_ec2EbsInstanceBlockDevice = (output: any, context: __SerdeC let contents: any = { DeleteOnTermination: undefined, VolumeId: undefined, - Status: undefined, AttachTime: undefined, + Status: undefined, }; if (output["deleteOnTermination"] !== undefined) { contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; @@ -49838,42 +50894,42 @@ const deserializeAws_ec2EbsInstanceBlockDevice = (output: any, context: __SerdeC if (output["volumeId"] !== undefined) { contents.VolumeId = output["volumeId"]; } - if (output["status"] !== undefined) { - contents.Status = output["status"]; - } if (output["attachTime"] !== undefined) { contents.AttachTime = new Date(output["attachTime"]); } + if (output["status"] !== undefined) { + contents.Status = output["status"]; + } return contents; }; const deserializeAws_ec2EbsOptimizedInfo = (output: any, context: __SerdeContext): EbsOptimizedInfo => { let contents: any = { - BaselineThroughputInMBps: undefined, - MaximumThroughputInMBps: undefined, - MaximumIops: undefined, - MaximumBandwidthInMbps: undefined, BaselineIops: undefined, + MaximumBandwidthInMbps: undefined, + BaselineThroughputInMBps: undefined, BaselineBandwidthInMbps: undefined, + MaximumIops: undefined, + MaximumThroughputInMBps: undefined, }; - if (output["baselineThroughputInMBps"] !== undefined) { - contents.BaselineThroughputInMBps = parseFloat(output["baselineThroughputInMBps"]); - } - if (output["maximumThroughputInMBps"] !== undefined) { - contents.MaximumThroughputInMBps = parseFloat(output["maximumThroughputInMBps"]); - } - if (output["maximumIops"] !== undefined) { - contents.MaximumIops = parseInt(output["maximumIops"]); + if (output["baselineIops"] !== undefined) { + contents.BaselineIops = parseInt(output["baselineIops"]); } if (output["maximumBandwidthInMbps"] !== undefined) { contents.MaximumBandwidthInMbps = parseInt(output["maximumBandwidthInMbps"]); } - if (output["baselineIops"] !== undefined) { - contents.BaselineIops = parseInt(output["baselineIops"]); + if (output["baselineThroughputInMBps"] !== undefined) { + contents.BaselineThroughputInMBps = parseFloat(output["baselineThroughputInMBps"]); } if (output["baselineBandwidthInMbps"] !== undefined) { contents.BaselineBandwidthInMbps = parseInt(output["baselineBandwidthInMbps"]); } + if (output["maximumIops"] !== undefined) { + contents.MaximumIops = parseInt(output["maximumIops"]); + } + if (output["maximumThroughputInMBps"] !== undefined) { + contents.MaximumThroughputInMBps = parseFloat(output["maximumThroughputInMBps"]); + } return contents; }; @@ -49882,19 +50938,10 @@ const deserializeAws_ec2EgressOnlyInternetGateway = ( context: __SerdeContext ): EgressOnlyInternetGateway => { let contents: any = { + Attachments: undefined, EgressOnlyInternetGatewayId: undefined, Tags: undefined, - Attachments: undefined, }; - if (output["egressOnlyInternetGatewayId"] !== undefined) { - contents.EgressOnlyInternetGatewayId = output["egressOnlyInternetGatewayId"]; - } - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); - } if (output.attachmentSet === "") { contents.Attachments = []; } @@ -49904,6 +50951,15 @@ const deserializeAws_ec2EgressOnlyInternetGateway = ( context ); } + if (output["egressOnlyInternetGatewayId"] !== undefined) { + contents.EgressOnlyInternetGatewayId = output["egressOnlyInternetGatewayId"]; + } + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + } return contents; }; @@ -49918,8 +50974,8 @@ const deserializeAws_ec2ElasticGpuAssociation = (output: any, context: __SerdeCo let contents: any = { ElasticGpuId: undefined, ElasticGpuAssociationTime: undefined, - ElasticGpuAssociationId: undefined, ElasticGpuAssociationState: undefined, + ElasticGpuAssociationId: undefined, }; if (output["elasticGpuId"] !== undefined) { contents.ElasticGpuId = output["elasticGpuId"]; @@ -49927,12 +50983,12 @@ const deserializeAws_ec2ElasticGpuAssociation = (output: any, context: __SerdeCo if (output["elasticGpuAssociationTime"] !== undefined) { contents.ElasticGpuAssociationTime = output["elasticGpuAssociationTime"]; } - if (output["elasticGpuAssociationId"] !== undefined) { - contents.ElasticGpuAssociationId = output["elasticGpuAssociationId"]; - } if (output["elasticGpuAssociationState"] !== undefined) { contents.ElasticGpuAssociationState = output["elasticGpuAssociationState"]; } + if (output["elasticGpuAssociationId"] !== undefined) { + contents.ElasticGpuAssociationId = output["elasticGpuAssociationId"]; + } return contents; }; @@ -49952,29 +51008,26 @@ const deserializeAws_ec2ElasticGpuHealth = (output: any, context: __SerdeContext const deserializeAws_ec2ElasticGpus = (output: any, context: __SerdeContext): ElasticGpus => { let contents: any = { + ElasticGpuType: undefined, + ElasticGpuHealth: undefined, ElasticGpuId: undefined, - InstanceId: undefined, AvailabilityZone: undefined, - ElasticGpuHealth: undefined, - ElasticGpuType: undefined, Tags: undefined, ElasticGpuState: undefined, + InstanceId: undefined, }; + if (output["elasticGpuType"] !== undefined) { + contents.ElasticGpuType = output["elasticGpuType"]; + } + if (output["elasticGpuHealth"] !== undefined) { + contents.ElasticGpuHealth = deserializeAws_ec2ElasticGpuHealth(output["elasticGpuHealth"], context); + } if (output["elasticGpuId"] !== undefined) { contents.ElasticGpuId = output["elasticGpuId"]; } - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; - } if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } - if (output["elasticGpuHealth"] !== undefined) { - contents.ElasticGpuHealth = deserializeAws_ec2ElasticGpuHealth(output["elasticGpuHealth"], context); - } - if (output["elasticGpuType"] !== undefined) { - contents.ElasticGpuType = output["elasticGpuType"]; - } if (output.tagSet === "") { contents.Tags = []; } @@ -49984,6 +51037,9 @@ const deserializeAws_ec2ElasticGpus = (output: any, context: __SerdeContext): El if (output["elasticGpuState"] !== undefined) { contents.ElasticGpuState = output["elasticGpuState"]; } + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; + } return contents; }; @@ -50017,13 +51073,16 @@ const deserializeAws_ec2ElasticInferenceAcceleratorAssociation = ( ): ElasticInferenceAcceleratorAssociation => { let contents: any = { ElasticInferenceAcceleratorAssociationId: undefined, + ElasticInferenceAcceleratorAssociationState: undefined, ElasticInferenceAcceleratorAssociationTime: undefined, ElasticInferenceAcceleratorArn: undefined, - ElasticInferenceAcceleratorAssociationState: undefined, }; if (output["elasticInferenceAcceleratorAssociationId"] !== undefined) { contents.ElasticInferenceAcceleratorAssociationId = output["elasticInferenceAcceleratorAssociationId"]; } + if (output["elasticInferenceAcceleratorAssociationState"] !== undefined) { + contents.ElasticInferenceAcceleratorAssociationState = output["elasticInferenceAcceleratorAssociationState"]; + } if (output["elasticInferenceAcceleratorAssociationTime"] !== undefined) { contents.ElasticInferenceAcceleratorAssociationTime = new Date( output["elasticInferenceAcceleratorAssociationTime"] @@ -50032,9 +51091,6 @@ const deserializeAws_ec2ElasticInferenceAcceleratorAssociation = ( if (output["elasticInferenceAcceleratorArn"] !== undefined) { contents.ElasticInferenceAcceleratorArn = output["elasticInferenceAcceleratorArn"]; } - if (output["elasticInferenceAcceleratorAssociationState"] !== undefined) { - contents.ElasticInferenceAcceleratorAssociationState = output["elasticInferenceAcceleratorAssociationState"]; - } return contents; }; @@ -50063,9 +51119,12 @@ const deserializeAws_ec2EnableFastSnapshotRestoreErrorItem = ( context: __SerdeContext ): EnableFastSnapshotRestoreErrorItem => { let contents: any = { - FastSnapshotRestoreStateErrors: undefined, SnapshotId: undefined, + FastSnapshotRestoreStateErrors: undefined, }; + if (output["snapshotId"] !== undefined) { + contents.SnapshotId = output["snapshotId"]; + } if (output.fastSnapshotRestoreStateErrorSet === "") { contents.FastSnapshotRestoreStateErrors = []; } @@ -50078,9 +51137,6 @@ const deserializeAws_ec2EnableFastSnapshotRestoreErrorItem = ( context ); } - if (output["snapshotId"] !== undefined) { - contents.SnapshotId = output["snapshotId"]; - } return contents; }; @@ -50125,15 +51181,15 @@ const deserializeAws_ec2EnableFastSnapshotRestoreStateError = ( context: __SerdeContext ): EnableFastSnapshotRestoreStateError => { let contents: any = { - Message: undefined, Code: undefined, + Message: undefined, }; - if (output["message"] !== undefined) { - contents.Message = output["message"]; - } if (output["code"] !== undefined) { contents.Code = output["code"]; } + if (output["message"] !== undefined) { + contents.Message = output["message"]; + } return contents; }; @@ -50166,50 +51222,50 @@ const deserializeAws_ec2EnableFastSnapshotRestoreSuccessItem = ( context: __SerdeContext ): EnableFastSnapshotRestoreSuccessItem => { let contents: any = { - OwnerId: undefined, + EnabledTime: undefined, AvailabilityZone: undefined, - StateTransitionReason: undefined, OwnerAlias: undefined, - DisablingTime: undefined, - DisabledTime: undefined, SnapshotId: undefined, + OwnerId: undefined, + OptimizingTime: undefined, + DisabledTime: undefined, State: undefined, EnablingTime: undefined, - EnabledTime: undefined, - OptimizingTime: undefined, + StateTransitionReason: undefined, + DisablingTime: undefined, }; - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; + if (output["enabledTime"] !== undefined) { + contents.EnabledTime = new Date(output["enabledTime"]); } if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } - if (output["stateTransitionReason"] !== undefined) { - contents.StateTransitionReason = output["stateTransitionReason"]; - } if (output["ownerAlias"] !== undefined) { contents.OwnerAlias = output["ownerAlias"]; } - if (output["disablingTime"] !== undefined) { - contents.DisablingTime = new Date(output["disablingTime"]); + if (output["snapshotId"] !== undefined) { + contents.SnapshotId = output["snapshotId"]; + } + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } + if (output["optimizingTime"] !== undefined) { + contents.OptimizingTime = new Date(output["optimizingTime"]); } if (output["disabledTime"] !== undefined) { contents.DisabledTime = new Date(output["disabledTime"]); } - if (output["snapshotId"] !== undefined) { - contents.SnapshotId = output["snapshotId"]; - } if (output["state"] !== undefined) { contents.State = output["state"]; } if (output["enablingTime"] !== undefined) { contents.EnablingTime = new Date(output["enablingTime"]); } - if (output["enabledTime"] !== undefined) { - contents.EnabledTime = new Date(output["enabledTime"]); + if (output["stateTransitionReason"] !== undefined) { + contents.StateTransitionReason = output["stateTransitionReason"]; } - if (output["optimizingTime"] !== undefined) { - contents.OptimizingTime = new Date(output["optimizingTime"]); + if (output["disablingTime"] !== undefined) { + contents.DisablingTime = new Date(output["disablingTime"]); } return contents; }; @@ -50270,18 +51326,18 @@ const deserializeAws_ec2ErrorSet = (output: any, context: __SerdeContext): Valid const deserializeAws_ec2EventInformation = (output: any, context: __SerdeContext): EventInformation => { let contents: any = { - InstanceId: undefined, - EventSubType: undefined, EventDescription: undefined, + EventSubType: undefined, + InstanceId: undefined, }; - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; + if (output["eventDescription"] !== undefined) { + contents.EventDescription = output["eventDescription"]; } if (output["eventSubType"] !== undefined) { contents.EventSubType = output["eventSubType"]; } - if (output["eventDescription"] !== undefined) { - contents.EventDescription = output["eventDescription"]; + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; } return contents; }; @@ -50291,15 +51347,15 @@ const deserializeAws_ec2ExportClientVpnClientCertificateRevocationListResult = ( context: __SerdeContext ): ExportClientVpnClientCertificateRevocationListResult => { let contents: any = { - Status: undefined, CertificateRevocationList: undefined, + Status: undefined, }; - if (output["status"] !== undefined) { - contents.Status = deserializeAws_ec2ClientCertificateRevocationListStatus(output["status"], context); - } if (output["certificateRevocationList"] !== undefined) { contents.CertificateRevocationList = output["certificateRevocationList"]; } + if (output["status"] !== undefined) { + contents.Status = deserializeAws_ec2ClientCertificateRevocationListStatus(output["status"], context); + } return contents; }; @@ -50318,34 +51374,19 @@ const deserializeAws_ec2ExportClientVpnClientConfigurationResult = ( const deserializeAws_ec2ExportImageResult = (output: any, context: __SerdeContext): ExportImageResult => { let contents: any = { + ImageId: undefined, + Tags: undefined, + ExportImageTaskId: undefined, DiskImageFormat: undefined, + S3ExportLocation: undefined, + RoleName: undefined, StatusMessage: undefined, - Progress: undefined, - Description: undefined, - ExportImageTaskId: undefined, Status: undefined, - Tags: undefined, - ImageId: undefined, - RoleName: undefined, - S3ExportLocation: undefined, + Description: undefined, + Progress: undefined, }; - if (output["diskImageFormat"] !== undefined) { - contents.DiskImageFormat = output["diskImageFormat"]; - } - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; - } - if (output["progress"] !== undefined) { - contents.Progress = output["progress"]; - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } - if (output["exportImageTaskId"] !== undefined) { - contents.ExportImageTaskId = output["exportImageTaskId"]; - } - if (output["status"] !== undefined) { - contents.Status = output["status"]; + if (output["imageId"] !== undefined) { + contents.ImageId = output["imageId"]; } if (output.tagSet === "") { contents.Tags = []; @@ -50353,43 +51394,46 @@ const deserializeAws_ec2ExportImageResult = (output: any, context: __SerdeContex if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["imageId"] !== undefined) { - contents.ImageId = output["imageId"]; + if (output["exportImageTaskId"] !== undefined) { + contents.ExportImageTaskId = output["exportImageTaskId"]; } - if (output["roleName"] !== undefined) { - contents.RoleName = output["roleName"]; + if (output["diskImageFormat"] !== undefined) { + contents.DiskImageFormat = output["diskImageFormat"]; } if (output["s3ExportLocation"] !== undefined) { contents.S3ExportLocation = deserializeAws_ec2ExportTaskS3Location(output["s3ExportLocation"], context); } + if (output["roleName"] !== undefined) { + contents.RoleName = output["roleName"]; + } + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; + } + if (output["status"] !== undefined) { + contents.Status = output["status"]; + } + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } + if (output["progress"] !== undefined) { + contents.Progress = output["progress"]; + } return contents; }; const deserializeAws_ec2ExportImageTask = (output: any, context: __SerdeContext): ExportImageTask => { let contents: any = { - StatusMessage: undefined, - Progress: undefined, - ExportImageTaskId: undefined, - Description: undefined, - Status: undefined, + ImageId: undefined, Tags: undefined, + ExportImageTaskId: undefined, S3ExportLocation: undefined, - ImageId: undefined, + Progress: undefined, + StatusMessage: undefined, + Status: undefined, + Description: undefined, }; - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; - } - if (output["progress"] !== undefined) { - contents.Progress = output["progress"]; - } - if (output["exportImageTaskId"] !== undefined) { - contents.ExportImageTaskId = output["exportImageTaskId"]; - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } - if (output["status"] !== undefined) { - contents.Status = output["status"]; + if (output["imageId"] !== undefined) { + contents.ImageId = output["imageId"]; } if (output.tagSet === "") { contents.Tags = []; @@ -50397,11 +51441,23 @@ const deserializeAws_ec2ExportImageTask = (output: any, context: __SerdeContext) if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["exportImageTaskId"] !== undefined) { + contents.ExportImageTaskId = output["exportImageTaskId"]; + } if (output["s3ExportLocation"] !== undefined) { contents.S3ExportLocation = deserializeAws_ec2ExportTaskS3Location(output["s3ExportLocation"], context); } - if (output["imageId"] !== undefined) { - contents.ImageId = output["imageId"]; + if (output["progress"] !== undefined) { + contents.Progress = output["progress"]; + } + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; + } + if (output["status"] !== undefined) { + contents.Status = output["status"]; + } + if (output["description"] !== undefined) { + contents.Description = output["description"]; } return contents; }; @@ -50412,37 +51468,37 @@ const deserializeAws_ec2ExportImageTaskList = (output: any, context: __SerdeCont const deserializeAws_ec2ExportTask = (output: any, context: __SerdeContext): ExportTask => { let contents: any = { - StatusMessage: undefined, - Description: undefined, InstanceExportDetails: undefined, - State: undefined, + ExportTaskId: undefined, + StatusMessage: undefined, ExportToS3Task: undefined, + Description: undefined, Tags: undefined, - ExportTaskId: undefined, + State: undefined, }; - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } if (output["instanceExport"] !== undefined) { contents.InstanceExportDetails = deserializeAws_ec2InstanceExportDetails(output["instanceExport"], context); } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["exportTaskId"] !== undefined) { + contents.ExportTaskId = output["exportTaskId"]; + } + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; } if (output["exportToS3"] !== undefined) { contents.ExportToS3Task = deserializeAws_ec2ExportToS3Task(output["exportToS3"], context); } + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["exportTaskId"] !== undefined) { - contents.ExportTaskId = output["exportTaskId"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; } return contents; }; @@ -50453,37 +51509,37 @@ const deserializeAws_ec2ExportTaskList = (output: any, context: __SerdeContext): const deserializeAws_ec2ExportTaskS3Location = (output: any, context: __SerdeContext): ExportTaskS3Location => { let contents: any = { - S3Prefix: undefined, S3Bucket: undefined, + S3Prefix: undefined, }; - if (output["s3Prefix"] !== undefined) { - contents.S3Prefix = output["s3Prefix"]; - } if (output["s3Bucket"] !== undefined) { contents.S3Bucket = output["s3Bucket"]; } + if (output["s3Prefix"] !== undefined) { + contents.S3Prefix = output["s3Prefix"]; + } return contents; }; const deserializeAws_ec2ExportToS3Task = (output: any, context: __SerdeContext): ExportToS3Task => { let contents: any = { - S3Key: undefined, - DiskImageFormat: undefined, S3Bucket: undefined, ContainerFormat: undefined, + DiskImageFormat: undefined, + S3Key: undefined, }; - if (output["s3Key"] !== undefined) { - contents.S3Key = output["s3Key"]; - } - if (output["diskImageFormat"] !== undefined) { - contents.DiskImageFormat = output["diskImageFormat"]; - } if (output["s3Bucket"] !== undefined) { contents.S3Bucket = output["s3Bucket"]; } if (output["containerFormat"] !== undefined) { contents.ContainerFormat = output["containerFormat"]; } + if (output["diskImageFormat"] !== undefined) { + contents.DiskImageFormat = output["diskImageFormat"]; + } + if (output["s3Key"] !== undefined) { + contents.S3Key = output["s3Key"]; + } return contents; }; @@ -50505,15 +51561,15 @@ const deserializeAws_ec2FailedQueuedPurchaseDeletion = ( context: __SerdeContext ): FailedQueuedPurchaseDeletion => { let contents: any = { - ReservedInstancesId: undefined, Error: undefined, + ReservedInstancesId: undefined, }; - if (output["reservedInstancesId"] !== undefined) { - contents.ReservedInstancesId = output["reservedInstancesId"]; - } if (output["error"] !== undefined) { contents.Error = deserializeAws_ec2DeleteQueuedReservedInstancesError(output["error"], context); } + if (output["reservedInstancesId"] !== undefined) { + contents.ReservedInstancesId = output["reservedInstancesId"]; + } return contents; }; @@ -50536,59 +51592,32 @@ const deserializeAws_ec2FederatedAuthentication = (output: any, context: __Serde const deserializeAws_ec2FleetData = (output: any, context: __SerdeContext): FleetData => { let contents: any = { + FleetId: undefined, + Type: undefined, + Instances: undefined, + ValidUntil: undefined, + FulfilledCapacity: undefined, + Tags: undefined, + TargetCapacitySpecification: undefined, + ValidFrom: undefined, + ActivityStatus: undefined, + OnDemandOptions: undefined, + ClientToken: undefined, + TerminateInstancesWithExpiration: undefined, ReplaceUnhealthyInstances: undefined, + LaunchTemplateConfigs: undefined, + Errors: undefined, + FleetState: undefined, + SpotOptions: undefined, CreateTime: undefined, - TerminateInstancesWithExpiration: undefined, - OnDemandOptions: undefined, - ActivityStatus: undefined, - ValidUntil: undefined, ExcessCapacityTerminationPolicy: undefined, - Errors: undefined, FulfilledOnDemandCapacity: undefined, - Instances: undefined, - ClientToken: undefined, - ValidFrom: undefined, - SpotOptions: undefined, - FleetState: undefined, - TargetCapacitySpecification: undefined, - LaunchTemplateConfigs: undefined, - Tags: undefined, - FleetId: undefined, - FulfilledCapacity: undefined, - Type: undefined, }; - if (output["replaceUnhealthyInstances"] !== undefined) { - contents.ReplaceUnhealthyInstances = output["replaceUnhealthyInstances"] == "true"; - } - if (output["createTime"] !== undefined) { - contents.CreateTime = new Date(output["createTime"]); - } - if (output["terminateInstancesWithExpiration"] !== undefined) { - contents.TerminateInstancesWithExpiration = output["terminateInstancesWithExpiration"] == "true"; - } - if (output["onDemandOptions"] !== undefined) { - contents.OnDemandOptions = deserializeAws_ec2OnDemandOptions(output["onDemandOptions"], context); - } - if (output["activityStatus"] !== undefined) { - contents.ActivityStatus = output["activityStatus"]; - } - if (output["validUntil"] !== undefined) { - contents.ValidUntil = new Date(output["validUntil"]); - } - if (output["excessCapacityTerminationPolicy"] !== undefined) { - contents.ExcessCapacityTerminationPolicy = output["excessCapacityTerminationPolicy"]; - } - if (output.errorSet === "") { - contents.Errors = []; - } - if (output["errorSet"] !== undefined && output["errorSet"]["item"] !== undefined) { - contents.Errors = deserializeAws_ec2DescribeFleetsErrorSet( - __getArrayIfSingleItem(output["errorSet"]["item"]), - context - ); + if (output["fleetId"] !== undefined) { + contents.FleetId = output["fleetId"]; } - if (output["fulfilledOnDemandCapacity"] !== undefined) { - contents.FulfilledOnDemandCapacity = parseFloat(output["fulfilledOnDemandCapacity"]); + if (output["type"] !== undefined) { + contents.Type = output["type"]; } if (output.fleetInstanceSet === "") { contents.Instances = []; @@ -50599,17 +51628,17 @@ const deserializeAws_ec2FleetData = (output: any, context: __SerdeContext): Flee context ); } - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; + if (output["validUntil"] !== undefined) { + contents.ValidUntil = new Date(output["validUntil"]); } - if (output["validFrom"] !== undefined) { - contents.ValidFrom = new Date(output["validFrom"]); + if (output["fulfilledCapacity"] !== undefined) { + contents.FulfilledCapacity = parseFloat(output["fulfilledCapacity"]); } - if (output["spotOptions"] !== undefined) { - contents.SpotOptions = deserializeAws_ec2SpotOptions(output["spotOptions"], context); + if (output.tagSet === "") { + contents.Tags = []; } - if (output["fleetState"] !== undefined) { - contents.FleetState = output["fleetState"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } if (output["targetCapacitySpecification"] !== undefined) { contents.TargetCapacitySpecification = deserializeAws_ec2TargetCapacitySpecification( @@ -50617,6 +51646,24 @@ const deserializeAws_ec2FleetData = (output: any, context: __SerdeContext): Flee context ); } + if (output["validFrom"] !== undefined) { + contents.ValidFrom = new Date(output["validFrom"]); + } + if (output["activityStatus"] !== undefined) { + contents.ActivityStatus = output["activityStatus"]; + } + if (output["onDemandOptions"] !== undefined) { + contents.OnDemandOptions = deserializeAws_ec2OnDemandOptions(output["onDemandOptions"], context); + } + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; + } + if (output["terminateInstancesWithExpiration"] !== undefined) { + contents.TerminateInstancesWithExpiration = output["terminateInstancesWithExpiration"] == "true"; + } + if (output["replaceUnhealthyInstances"] !== undefined) { + contents.ReplaceUnhealthyInstances = output["replaceUnhealthyInstances"] == "true"; + } if (output.launchTemplateConfigs === "") { contents.LaunchTemplateConfigs = []; } @@ -50626,20 +51673,29 @@ const deserializeAws_ec2FleetData = (output: any, context: __SerdeContext): Flee context ); } - if (output.tagSet === "") { - contents.Tags = []; + if (output.errorSet === "") { + contents.Errors = []; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["errorSet"] !== undefined && output["errorSet"]["item"] !== undefined) { + contents.Errors = deserializeAws_ec2DescribeFleetsErrorSet( + __getArrayIfSingleItem(output["errorSet"]["item"]), + context + ); } - if (output["fleetId"] !== undefined) { - contents.FleetId = output["fleetId"]; + if (output["fleetState"] !== undefined) { + contents.FleetState = output["fleetState"]; } - if (output["fulfilledCapacity"] !== undefined) { - contents.FulfilledCapacity = parseFloat(output["fulfilledCapacity"]); + if (output["spotOptions"] !== undefined) { + contents.SpotOptions = deserializeAws_ec2SpotOptions(output["spotOptions"], context); } - if (output["type"] !== undefined) { - contents.Type = output["type"]; + if (output["createTime"] !== undefined) { + contents.CreateTime = new Date(output["createTime"]); + } + if (output["excessCapacityTerminationPolicy"] !== undefined) { + contents.ExcessCapacityTerminationPolicy = output["excessCapacityTerminationPolicy"]; + } + if (output["fulfilledOnDemandCapacity"] !== undefined) { + contents.FulfilledOnDemandCapacity = parseFloat(output["fulfilledOnDemandCapacity"]); } return contents; }; @@ -50682,26 +51738,14 @@ const deserializeAws_ec2FleetLaunchTemplateOverrides = ( context: __SerdeContext ): FleetLaunchTemplateOverrides => { let contents: any = { - WeightedCapacity: undefined, - Priority: undefined, - AvailabilityZone: undefined, - SubnetId: undefined, Placement: undefined, InstanceType: undefined, MaxPrice: undefined, + SubnetId: undefined, + AvailabilityZone: undefined, + WeightedCapacity: undefined, + Priority: undefined, }; - if (output["weightedCapacity"] !== undefined) { - contents.WeightedCapacity = parseFloat(output["weightedCapacity"]); - } - if (output["priority"] !== undefined) { - contents.Priority = parseFloat(output["priority"]); - } - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; - } - if (output["subnetId"] !== undefined) { - contents.SubnetId = output["subnetId"]; - } if (output["placement"] !== undefined) { contents.Placement = deserializeAws_ec2PlacementResponse(output["placement"], context); } @@ -50711,6 +51755,18 @@ const deserializeAws_ec2FleetLaunchTemplateOverrides = ( if (output["maxPrice"] !== undefined) { contents.MaxPrice = output["maxPrice"]; } + if (output["subnetId"] !== undefined) { + contents.SubnetId = output["subnetId"]; + } + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; + } + if (output["weightedCapacity"] !== undefined) { + contents.WeightedCapacity = parseFloat(output["weightedCapacity"]); + } + if (output["priority"] !== undefined) { + contents.Priority = parseFloat(output["priority"]); + } return contents; }; @@ -50726,16 +51782,16 @@ const deserializeAws_ec2FleetLaunchTemplateSpecification = ( context: __SerdeContext ): FleetLaunchTemplateSpecification => { let contents: any = { - LaunchTemplateName: undefined, Version: undefined, + LaunchTemplateName: undefined, LaunchTemplateId: undefined, }; - if (output["launchTemplateName"] !== undefined) { - contents.LaunchTemplateName = output["launchTemplateName"]; - } if (output["version"] !== undefined) { contents.Version = output["version"]; } + if (output["launchTemplateName"] !== undefined) { + contents.LaunchTemplateName = output["launchTemplateName"]; + } if (output["launchTemplateId"] !== undefined) { contents.LaunchTemplateId = output["launchTemplateId"]; } @@ -50748,32 +51804,32 @@ const deserializeAws_ec2FleetSet = (output: any, context: __SerdeContext): Fleet const deserializeAws_ec2FlowLog = (output: any, context: __SerdeContext): FlowLog => { let contents: any = { - LogDestinationType: undefined, - ResourceId: undefined, + DeliverLogsStatus: undefined, + FlowLogStatus: undefined, + LogGroupName: undefined, + TrafficType: undefined, + Tags: undefined, + DeliverLogsErrorMessage: undefined, LogDestination: undefined, DeliverLogsPermissionArn: undefined, - Tags: undefined, - FlowLogId: undefined, + ResourceId: undefined, + LogDestinationType: undefined, CreationTime: undefined, - TrafficType: undefined, - DeliverLogsStatus: undefined, - LogGroupName: undefined, - FlowLogStatus: undefined, - MaxAggregationInterval: undefined, + FlowLogId: undefined, LogFormat: undefined, - DeliverLogsErrorMessage: undefined, + MaxAggregationInterval: undefined, }; - if (output["logDestinationType"] !== undefined) { - contents.LogDestinationType = output["logDestinationType"]; + if (output["deliverLogsStatus"] !== undefined) { + contents.DeliverLogsStatus = output["deliverLogsStatus"]; } - if (output["resourceId"] !== undefined) { - contents.ResourceId = output["resourceId"]; + if (output["flowLogStatus"] !== undefined) { + contents.FlowLogStatus = output["flowLogStatus"]; } - if (output["logDestination"] !== undefined) { - contents.LogDestination = output["logDestination"]; + if (output["logGroupName"] !== undefined) { + contents.LogGroupName = output["logGroupName"]; } - if (output["deliverLogsPermissionArn"] !== undefined) { - contents.DeliverLogsPermissionArn = output["deliverLogsPermissionArn"]; + if (output["trafficType"] !== undefined) { + contents.TrafficType = output["trafficType"]; } if (output.tagSet === "") { contents.Tags = []; @@ -50781,32 +51837,32 @@ const deserializeAws_ec2FlowLog = (output: any, context: __SerdeContext): FlowLo if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["flowLogId"] !== undefined) { - contents.FlowLogId = output["flowLogId"]; + if (output["deliverLogsErrorMessage"] !== undefined) { + contents.DeliverLogsErrorMessage = output["deliverLogsErrorMessage"]; } - if (output["creationTime"] !== undefined) { - contents.CreationTime = new Date(output["creationTime"]); + if (output["logDestination"] !== undefined) { + contents.LogDestination = output["logDestination"]; } - if (output["trafficType"] !== undefined) { - contents.TrafficType = output["trafficType"]; + if (output["deliverLogsPermissionArn"] !== undefined) { + contents.DeliverLogsPermissionArn = output["deliverLogsPermissionArn"]; } - if (output["deliverLogsStatus"] !== undefined) { - contents.DeliverLogsStatus = output["deliverLogsStatus"]; + if (output["resourceId"] !== undefined) { + contents.ResourceId = output["resourceId"]; } - if (output["logGroupName"] !== undefined) { - contents.LogGroupName = output["logGroupName"]; + if (output["logDestinationType"] !== undefined) { + contents.LogDestinationType = output["logDestinationType"]; } - if (output["flowLogStatus"] !== undefined) { - contents.FlowLogStatus = output["flowLogStatus"]; + if (output["creationTime"] !== undefined) { + contents.CreationTime = new Date(output["creationTime"]); } - if (output["maxAggregationInterval"] !== undefined) { - contents.MaxAggregationInterval = parseInt(output["maxAggregationInterval"]); + if (output["flowLogId"] !== undefined) { + contents.FlowLogId = output["flowLogId"]; } if (output["logFormat"] !== undefined) { contents.LogFormat = output["logFormat"]; } - if (output["deliverLogsErrorMessage"] !== undefined) { - contents.DeliverLogsErrorMessage = output["deliverLogsErrorMessage"]; + if (output["maxAggregationInterval"] !== undefined) { + contents.MaxAggregationInterval = parseInt(output["maxAggregationInterval"]); } return contents; }; @@ -50818,21 +51874,21 @@ const deserializeAws_ec2FlowLogSet = (output: any, context: __SerdeContext): Flo const deserializeAws_ec2FpgaDeviceInfo = (output: any, context: __SerdeContext): FpgaDeviceInfo => { let contents: any = { Name: undefined, - MemoryInfo: undefined, - Manufacturer: undefined, Count: undefined, + Manufacturer: undefined, + MemoryInfo: undefined, }; if (output["name"] !== undefined) { contents.Name = output["name"]; } - if (output["memoryInfo"] !== undefined) { - contents.MemoryInfo = deserializeAws_ec2FpgaDeviceMemoryInfo(output["memoryInfo"], context); + if (output["count"] !== undefined) { + contents.Count = parseInt(output["count"]); } if (output["manufacturer"] !== undefined) { contents.Manufacturer = output["manufacturer"]; } - if (output["count"] !== undefined) { - contents.Count = parseInt(output["count"]); + if (output["memoryInfo"] !== undefined) { + contents.MemoryInfo = deserializeAws_ec2FpgaDeviceMemoryInfo(output["memoryInfo"], context); } return contents; }; @@ -50853,30 +51909,51 @@ const deserializeAws_ec2FpgaDeviceMemoryInfo = (output: any, context: __SerdeCon const deserializeAws_ec2FpgaImage = (output: any, context: __SerdeContext): FpgaImage => { let contents: any = { + ShellVersion: undefined, + ProductCodes: undefined, + OwnerAlias: undefined, + CreateTime: undefined, + Public: undefined, + Description: undefined, + PciId: undefined, UpdateTime: undefined, - FpgaImageGlobalId: undefined, - Name: undefined, Tags: undefined, - State: undefined, OwnerId: undefined, - Public: undefined, - CreateTime: undefined, - ShellVersion: undefined, + FpgaImageGlobalId: undefined, + State: undefined, FpgaImageId: undefined, - ProductCodes: undefined, - Description: undefined, DataRetentionSupport: undefined, - OwnerAlias: undefined, - PciId: undefined, + Name: undefined, }; - if (output["updateTime"] !== undefined) { - contents.UpdateTime = new Date(output["updateTime"]); + if (output["shellVersion"] !== undefined) { + contents.ShellVersion = output["shellVersion"]; } - if (output["fpgaImageGlobalId"] !== undefined) { - contents.FpgaImageGlobalId = output["fpgaImageGlobalId"]; + if (output.productCodes === "") { + contents.ProductCodes = []; } - if (output["name"] !== undefined) { - contents.Name = output["name"]; + if (output["productCodes"] !== undefined && output["productCodes"]["item"] !== undefined) { + contents.ProductCodes = deserializeAws_ec2ProductCodeList( + __getArrayIfSingleItem(output["productCodes"]["item"]), + context + ); + } + if (output["ownerAlias"] !== undefined) { + contents.OwnerAlias = output["ownerAlias"]; + } + if (output["createTime"] !== undefined) { + contents.CreateTime = new Date(output["createTime"]); + } + if (output["public"] !== undefined) { + contents.Public = output["public"] == "true"; + } + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } + if (output["pciId"] !== undefined) { + contents.PciId = deserializeAws_ec2PciId(output["pciId"], context); + } + if (output["updateTime"] !== undefined) { + contents.UpdateTime = new Date(output["updateTime"]); } if (output.tags === "") { contents.Tags = []; @@ -50884,64 +51961,40 @@ const deserializeAws_ec2FpgaImage = (output: any, context: __SerdeContext): Fpga if (output["tags"] !== undefined && output["tags"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tags"]["item"]), context); } - if (output["state"] !== undefined) { - contents.State = deserializeAws_ec2FpgaImageState(output["state"], context); - } if (output["ownerId"] !== undefined) { contents.OwnerId = output["ownerId"]; } - if (output["public"] !== undefined) { - contents.Public = output["public"] == "true"; - } - if (output["createTime"] !== undefined) { - contents.CreateTime = new Date(output["createTime"]); + if (output["fpgaImageGlobalId"] !== undefined) { + contents.FpgaImageGlobalId = output["fpgaImageGlobalId"]; } - if (output["shellVersion"] !== undefined) { - contents.ShellVersion = output["shellVersion"]; + if (output["state"] !== undefined) { + contents.State = deserializeAws_ec2FpgaImageState(output["state"], context); } if (output["fpgaImageId"] !== undefined) { contents.FpgaImageId = output["fpgaImageId"]; } - if (output.productCodes === "") { - contents.ProductCodes = []; - } - if (output["productCodes"] !== undefined && output["productCodes"]["item"] !== undefined) { - contents.ProductCodes = deserializeAws_ec2ProductCodeList( - __getArrayIfSingleItem(output["productCodes"]["item"]), - context - ); - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } if (output["dataRetentionSupport"] !== undefined) { contents.DataRetentionSupport = output["dataRetentionSupport"] == "true"; } - if (output["ownerAlias"] !== undefined) { - contents.OwnerAlias = output["ownerAlias"]; - } - if (output["pciId"] !== undefined) { - contents.PciId = deserializeAws_ec2PciId(output["pciId"], context); + if (output["name"] !== undefined) { + contents.Name = output["name"]; } return contents; }; const deserializeAws_ec2FpgaImageAttribute = (output: any, context: __SerdeContext): FpgaImageAttribute => { let contents: any = { - LoadPermissions: undefined, + FpgaImageId: undefined, + Name: undefined, ProductCodes: undefined, + LoadPermissions: undefined, Description: undefined, - Name: undefined, - FpgaImageId: undefined, }; - if (output.loadPermissions === "") { - contents.LoadPermissions = []; + if (output["fpgaImageId"] !== undefined) { + contents.FpgaImageId = output["fpgaImageId"]; } - if (output["loadPermissions"] !== undefined && output["loadPermissions"]["item"] !== undefined) { - contents.LoadPermissions = deserializeAws_ec2LoadPermissionList( - __getArrayIfSingleItem(output["loadPermissions"]["item"]), - context - ); + if (output["name"] !== undefined) { + contents.Name = output["name"]; } if (output.productCodes === "") { contents.ProductCodes = []; @@ -50952,14 +52005,17 @@ const deserializeAws_ec2FpgaImageAttribute = (output: any, context: __SerdeConte context ); } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output.loadPermissions === "") { + contents.LoadPermissions = []; } - if (output["name"] !== undefined) { - contents.Name = output["name"]; + if (output["loadPermissions"] !== undefined && output["loadPermissions"]["item"] !== undefined) { + contents.LoadPermissions = deserializeAws_ec2LoadPermissionList( + __getArrayIfSingleItem(output["loadPermissions"]["item"]), + context + ); } - if (output["fpgaImageId"] !== undefined) { - contents.FpgaImageId = output["fpgaImageId"]; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } return contents; }; @@ -50970,32 +52026,32 @@ const deserializeAws_ec2FpgaImageList = (output: any, context: __SerdeContext): const deserializeAws_ec2FpgaImageState = (output: any, context: __SerdeContext): FpgaImageState => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; const deserializeAws_ec2FpgaInfo = (output: any, context: __SerdeContext): FpgaInfo => { let contents: any = { - TotalFpgaMemoryInMiB: undefined, Fpgas: undefined, + TotalFpgaMemoryInMiB: undefined, }; - if (output["totalFpgaMemoryInMiB"] !== undefined) { - contents.TotalFpgaMemoryInMiB = parseInt(output["totalFpgaMemoryInMiB"]); - } if (output.fpgas === "") { contents.Fpgas = []; } if (output["fpgas"] !== undefined && output["fpgas"]["item"] !== undefined) { contents.Fpgas = deserializeAws_ec2FpgaDeviceInfoList(__getArrayIfSingleItem(output["fpgas"]["item"]), context); } + if (output["totalFpgaMemoryInMiB"] !== undefined) { + contents.TotalFpgaMemoryInMiB = parseInt(output["totalFpgaMemoryInMiB"]); + } return contents; }; @@ -51027,29 +52083,14 @@ const deserializeAws_ec2GetCapacityReservationUsageResult = ( context: __SerdeContext ): GetCapacityReservationUsageResult => { let contents: any = { - TotalInstanceCount: undefined, + InstanceUsages: undefined, CapacityReservationId: undefined, - InstanceType: undefined, - State: undefined, AvailableInstanceCount: undefined, - InstanceUsages: undefined, + TotalInstanceCount: undefined, + State: undefined, NextToken: undefined, + InstanceType: undefined, }; - if (output["totalInstanceCount"] !== undefined) { - contents.TotalInstanceCount = parseInt(output["totalInstanceCount"]); - } - if (output["capacityReservationId"] !== undefined) { - contents.CapacityReservationId = output["capacityReservationId"]; - } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; - } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["availableInstanceCount"] !== undefined) { - contents.AvailableInstanceCount = parseInt(output["availableInstanceCount"]); - } if (output.instanceUsageSet === "") { contents.InstanceUsages = []; } @@ -51059,18 +52100,39 @@ const deserializeAws_ec2GetCapacityReservationUsageResult = ( context ); } + if (output["capacityReservationId"] !== undefined) { + contents.CapacityReservationId = output["capacityReservationId"]; + } + if (output["availableInstanceCount"] !== undefined) { + contents.AvailableInstanceCount = parseInt(output["availableInstanceCount"]); + } + if (output["totalInstanceCount"] !== undefined) { + contents.TotalInstanceCount = parseInt(output["totalInstanceCount"]); + } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } if (output["nextToken"] !== undefined) { contents.NextToken = output["nextToken"]; } + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; + } return contents; }; const deserializeAws_ec2GetCoipPoolUsageResult = (output: any, context: __SerdeContext): GetCoipPoolUsageResult => { let contents: any = { - CoipAddressUsages: undefined, - LocalGatewayRouteTableId: undefined, CoipPoolId: undefined, + LocalGatewayRouteTableId: undefined, + CoipAddressUsages: undefined, }; + if (output["coipPoolId"] !== undefined) { + contents.CoipPoolId = output["coipPoolId"]; + } + if (output["localGatewayRouteTableId"] !== undefined) { + contents.LocalGatewayRouteTableId = output["localGatewayRouteTableId"]; + } if (output.coipAddressUsageSet === "") { contents.CoipAddressUsages = []; } @@ -51080,29 +52142,23 @@ const deserializeAws_ec2GetCoipPoolUsageResult = (output: any, context: __SerdeC context ); } - if (output["localGatewayRouteTableId"] !== undefined) { - contents.LocalGatewayRouteTableId = output["localGatewayRouteTableId"]; - } - if (output["coipPoolId"] !== undefined) { - contents.CoipPoolId = output["coipPoolId"]; - } return contents; }; const deserializeAws_ec2GetConsoleOutputResult = (output: any, context: __SerdeContext): GetConsoleOutputResult => { let contents: any = { - Output: undefined, - InstanceId: undefined, Timestamp: undefined, + InstanceId: undefined, + Output: undefined, }; - if (output["output"] !== undefined) { - contents.Output = output["output"]; + if (output["timestamp"] !== undefined) { + contents.Timestamp = new Date(output["timestamp"]); } if (output["instanceId"] !== undefined) { contents.InstanceId = output["instanceId"]; } - if (output["timestamp"] !== undefined) { - contents.Timestamp = new Date(output["timestamp"]); + if (output["output"] !== undefined) { + contents.Output = output["output"]; } return contents; }; @@ -51112,15 +52168,15 @@ const deserializeAws_ec2GetConsoleScreenshotResult = ( context: __SerdeContext ): GetConsoleScreenshotResult => { let contents: any = { - InstanceId: undefined, ImageData: undefined, + InstanceId: undefined, }; - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; - } if (output["imageData"] !== undefined) { contents.ImageData = output["imageData"]; } + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; + } return contents; }; @@ -51197,25 +52253,25 @@ const deserializeAws_ec2GetHostReservationPurchasePreviewResult = ( context: __SerdeContext ): GetHostReservationPurchasePreviewResult => { let contents: any = { - CurrencyCode: undefined, TotalHourlyPrice: undefined, - Purchase: undefined, TotalUpfrontPrice: undefined, + Purchase: undefined, + CurrencyCode: undefined, }; - if (output["currencyCode"] !== undefined) { - contents.CurrencyCode = output["currencyCode"]; - } if (output["totalHourlyPrice"] !== undefined) { contents.TotalHourlyPrice = output["totalHourlyPrice"]; } + if (output["totalUpfrontPrice"] !== undefined) { + contents.TotalUpfrontPrice = output["totalUpfrontPrice"]; + } if (output.purchase === "") { contents.Purchase = []; } if (output["purchase"] !== undefined && output["purchase"]["item"] !== undefined) { contents.Purchase = deserializeAws_ec2PurchaseSet(__getArrayIfSingleItem(output["purchase"]["item"]), context); } - if (output["totalUpfrontPrice"] !== undefined) { - contents.TotalUpfrontPrice = output["totalUpfrontPrice"]; + if (output["currencyCode"] !== undefined) { + contents.CurrencyCode = output["currencyCode"]; } return contents; }; @@ -51261,9 +52317,12 @@ const deserializeAws_ec2GetManagedPrefixListEntriesResult = ( context: __SerdeContext ): GetManagedPrefixListEntriesResult => { let contents: any = { - Entries: undefined, NextToken: undefined, + Entries: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.entrySet === "") { contents.Entries = []; } @@ -51273,24 +52332,21 @@ const deserializeAws_ec2GetManagedPrefixListEntriesResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; const deserializeAws_ec2GetPasswordDataResult = (output: any, context: __SerdeContext): GetPasswordDataResult => { let contents: any = { - InstanceId: undefined, Timestamp: undefined, + InstanceId: undefined, PasswordData: undefined, }; - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; - } if (output["timestamp"] !== undefined) { contents.Timestamp = new Date(output["timestamp"]); } + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; + } if (output["passwordData"] !== undefined) { contents.PasswordData = output["passwordData"]; } @@ -51302,25 +52358,37 @@ const deserializeAws_ec2GetReservedInstancesExchangeQuoteResult = ( context: __SerdeContext ): GetReservedInstancesExchangeQuoteResult => { let contents: any = { - IsValidExchange: undefined, - ReservedInstanceValueSet: undefined, - TargetConfigurationValueSet: undefined, - OutputReservedInstancesWillExpireAt: undefined, - TargetConfigurationValueRollup: undefined, ValidationFailureReason: undefined, - ReservedInstanceValueRollup: undefined, CurrencyCode: undefined, + IsValidExchange: undefined, + TargetConfigurationValueRollup: undefined, PaymentDue: undefined, + ReservedInstanceValueRollup: undefined, + TargetConfigurationValueSet: undefined, + ReservedInstanceValueSet: undefined, + OutputReservedInstancesWillExpireAt: undefined, }; + if (output["validationFailureReason"] !== undefined) { + contents.ValidationFailureReason = output["validationFailureReason"]; + } + if (output["currencyCode"] !== undefined) { + contents.CurrencyCode = output["currencyCode"]; + } if (output["isValidExchange"] !== undefined) { contents.IsValidExchange = output["isValidExchange"] == "true"; } - if (output.reservedInstanceValueSet === "") { - contents.ReservedInstanceValueSet = []; + if (output["targetConfigurationValueRollup"] !== undefined) { + contents.TargetConfigurationValueRollup = deserializeAws_ec2ReservationValue( + output["targetConfigurationValueRollup"], + context + ); } - if (output["reservedInstanceValueSet"] !== undefined && output["reservedInstanceValueSet"]["item"] !== undefined) { - contents.ReservedInstanceValueSet = deserializeAws_ec2ReservedInstanceReservationValueSet( - __getArrayIfSingleItem(output["reservedInstanceValueSet"]["item"]), + if (output["paymentDue"] !== undefined) { + contents.PaymentDue = output["paymentDue"]; + } + if (output["reservedInstanceValueRollup"] !== undefined) { + contents.ReservedInstanceValueRollup = deserializeAws_ec2ReservationValue( + output["reservedInstanceValueRollup"], context ); } @@ -51336,29 +52404,17 @@ const deserializeAws_ec2GetReservedInstancesExchangeQuoteResult = ( context ); } - if (output["outputReservedInstancesWillExpireAt"] !== undefined) { - contents.OutputReservedInstancesWillExpireAt = new Date(output["outputReservedInstancesWillExpireAt"]); - } - if (output["targetConfigurationValueRollup"] !== undefined) { - contents.TargetConfigurationValueRollup = deserializeAws_ec2ReservationValue( - output["targetConfigurationValueRollup"], - context - ); - } - if (output["validationFailureReason"] !== undefined) { - contents.ValidationFailureReason = output["validationFailureReason"]; + if (output.reservedInstanceValueSet === "") { + contents.ReservedInstanceValueSet = []; } - if (output["reservedInstanceValueRollup"] !== undefined) { - contents.ReservedInstanceValueRollup = deserializeAws_ec2ReservationValue( - output["reservedInstanceValueRollup"], + if (output["reservedInstanceValueSet"] !== undefined && output["reservedInstanceValueSet"]["item"] !== undefined) { + contents.ReservedInstanceValueSet = deserializeAws_ec2ReservedInstanceReservationValueSet( + __getArrayIfSingleItem(output["reservedInstanceValueSet"]["item"]), context ); } - if (output["currencyCode"] !== undefined) { - contents.CurrencyCode = output["currencyCode"]; - } - if (output["paymentDue"] !== undefined) { - contents.PaymentDue = output["paymentDue"]; + if (output["outputReservedInstancesWillExpireAt"] !== undefined) { + contents.OutputReservedInstancesWillExpireAt = new Date(output["outputReservedInstancesWillExpireAt"]); } return contents; }; @@ -51368,9 +52424,12 @@ const deserializeAws_ec2GetTransitGatewayAttachmentPropagationsResult = ( context: __SerdeContext ): GetTransitGatewayAttachmentPropagationsResult => { let contents: any = { - TransitGatewayAttachmentPropagations: undefined, NextToken: undefined, + TransitGatewayAttachmentPropagations: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.transitGatewayAttachmentPropagations === "") { contents.TransitGatewayAttachmentPropagations = []; } @@ -51383,9 +52442,6 @@ const deserializeAws_ec2GetTransitGatewayAttachmentPropagationsResult = ( context ); } - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } return contents; }; @@ -51394,9 +52450,12 @@ const deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsResult = ( context: __SerdeContext ): GetTransitGatewayMulticastDomainAssociationsResult => { let contents: any = { - MulticastDomainAssociations: undefined, NextToken: undefined, + MulticastDomainAssociations: undefined, }; + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } if (output.multicastDomainAssociations === "") { contents.MulticastDomainAssociations = []; } @@ -51409,6 +52468,29 @@ const deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsResult = ( context ); } + return contents; +}; + +const deserializeAws_ec2GetTransitGatewayPrefixListReferencesResult = ( + output: any, + context: __SerdeContext +): GetTransitGatewayPrefixListReferencesResult => { + let contents: any = { + TransitGatewayPrefixListReferences: undefined, + NextToken: undefined, + }; + if (output.transitGatewayPrefixListReferenceSet === "") { + contents.TransitGatewayPrefixListReferences = []; + } + if ( + output["transitGatewayPrefixListReferenceSet"] !== undefined && + output["transitGatewayPrefixListReferenceSet"]["item"] !== undefined + ) { + contents.TransitGatewayPrefixListReferences = deserializeAws_ec2TransitGatewayPrefixListReferenceSet( + __getArrayIfSingleItem(output["transitGatewayPrefixListReferenceSet"]["item"]), + context + ); + } if (output["nextToken"] !== undefined) { contents.NextToken = output["nextToken"]; } @@ -51443,12 +52525,9 @@ const deserializeAws_ec2GetTransitGatewayRouteTablePropagationsResult = ( context: __SerdeContext ): GetTransitGatewayRouteTablePropagationsResult => { let contents: any = { - NextToken: undefined, TransitGatewayRouteTablePropagations: undefined, + NextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.NextToken = output["nextToken"]; - } if (output.transitGatewayRouteTablePropagations === "") { contents.TransitGatewayRouteTablePropagations = []; } @@ -51461,27 +52540,30 @@ const deserializeAws_ec2GetTransitGatewayRouteTablePropagationsResult = ( context ); } + if (output["nextToken"] !== undefined) { + contents.NextToken = output["nextToken"]; + } return contents; }; const deserializeAws_ec2GpuDeviceInfo = (output: any, context: __SerdeContext): GpuDeviceInfo => { let contents: any = { - Name: undefined, - Manufacturer: undefined, - MemoryInfo: undefined, Count: undefined, + MemoryInfo: undefined, + Manufacturer: undefined, + Name: undefined, }; - if (output["name"] !== undefined) { - contents.Name = output["name"]; - } - if (output["manufacturer"] !== undefined) { - contents.Manufacturer = output["manufacturer"]; + if (output["count"] !== undefined) { + contents.Count = parseInt(output["count"]); } if (output["memoryInfo"] !== undefined) { contents.MemoryInfo = deserializeAws_ec2GpuDeviceMemoryInfo(output["memoryInfo"], context); } - if (output["count"] !== undefined) { - contents.Count = parseInt(output["count"]); + if (output["manufacturer"] !== undefined) { + contents.Manufacturer = output["manufacturer"]; + } + if (output["name"] !== undefined) { + contents.Name = output["name"]; } return contents; }; @@ -51502,18 +52584,18 @@ const deserializeAws_ec2GpuDeviceMemoryInfo = (output: any, context: __SerdeCont const deserializeAws_ec2GpuInfo = (output: any, context: __SerdeContext): GpuInfo => { let contents: any = { - TotalGpuMemoryInMiB: undefined, Gpus: undefined, + TotalGpuMemoryInMiB: undefined, }; - if (output["totalGpuMemoryInMiB"] !== undefined) { - contents.TotalGpuMemoryInMiB = parseInt(output["totalGpuMemoryInMiB"]); - } if (output.gpus === "") { contents.Gpus = []; } if (output["gpus"] !== undefined && output["gpus"]["item"] !== undefined) { contents.Gpus = deserializeAws_ec2GpuDeviceInfoList(__getArrayIfSingleItem(output["gpus"]["item"]), context); } + if (output["totalGpuMemoryInMiB"] !== undefined) { + contents.TotalGpuMemoryInMiB = parseInt(output["totalGpuMemoryInMiB"]); + } return contents; }; @@ -51555,37 +52637,37 @@ const deserializeAws_ec2HibernationOptions = (output: any, context: __SerdeConte const deserializeAws_ec2HistoryRecord = (output: any, context: __SerdeContext): HistoryRecord => { let contents: any = { + EventType: undefined, Timestamp: undefined, EventInformation: undefined, - EventType: undefined, }; + if (output["eventType"] !== undefined) { + contents.EventType = output["eventType"]; + } if (output["timestamp"] !== undefined) { contents.Timestamp = new Date(output["timestamp"]); } if (output["eventInformation"] !== undefined) { contents.EventInformation = deserializeAws_ec2EventInformation(output["eventInformation"], context); } - if (output["eventType"] !== undefined) { - contents.EventType = output["eventType"]; - } return contents; }; const deserializeAws_ec2HistoryRecordEntry = (output: any, context: __SerdeContext): HistoryRecordEntry => { let contents: any = { EventInformation: undefined, - EventType: undefined, Timestamp: undefined, + EventType: undefined, }; if (output["eventInformation"] !== undefined) { contents.EventInformation = deserializeAws_ec2EventInformation(output["eventInformation"], context); } - if (output["eventType"] !== undefined) { - contents.EventType = output["eventType"]; - } if (output["timestamp"] !== undefined) { contents.Timestamp = new Date(output["timestamp"]); } + if (output["eventType"] !== undefined) { + contents.EventType = output["eventType"]; + } return contents; }; @@ -51599,44 +52681,32 @@ const deserializeAws_ec2HistoryRecordSet = (output: any, context: __SerdeContext const deserializeAws_ec2Host = (output: any, context: __SerdeContext): Host => { let contents: any = { - HostRecovery: undefined, + Tags: undefined, + HostProperties: undefined, + Instances: undefined, + AvailableCapacity: undefined, State: undefined, + AvailabilityZone: undefined, + AutoPlacement: undefined, + ClientToken: undefined, + AllowsMultipleInstanceTypes: undefined, + MemberOfServiceLinkedResourceGroup: undefined, AllocationTime: undefined, + OwnerId: undefined, + AvailabilityZoneId: undefined, HostReservationId: undefined, - AllowsMultipleInstanceTypes: undefined, - AvailableCapacity: undefined, ReleaseTime: undefined, - Instances: undefined, - AvailabilityZoneId: undefined, - ClientToken: undefined, - AutoPlacement: undefined, HostId: undefined, - HostProperties: undefined, - OwnerId: undefined, - Tags: undefined, - MemberOfServiceLinkedResourceGroup: undefined, - AvailabilityZone: undefined, + HostRecovery: undefined, }; - if (output["hostRecovery"] !== undefined) { - contents.HostRecovery = output["hostRecovery"]; - } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["allocationTime"] !== undefined) { - contents.AllocationTime = new Date(output["allocationTime"]); - } - if (output["hostReservationId"] !== undefined) { - contents.HostReservationId = output["hostReservationId"]; - } - if (output["allowsMultipleInstanceTypes"] !== undefined) { - contents.AllowsMultipleInstanceTypes = output["allowsMultipleInstanceTypes"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["availableCapacity"] !== undefined) { - contents.AvailableCapacity = deserializeAws_ec2AvailableCapacity(output["availableCapacity"], context); + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["releaseTime"] !== undefined) { - contents.ReleaseTime = new Date(output["releaseTime"]); + if (output["hostProperties"] !== undefined) { + contents.HostProperties = deserializeAws_ec2HostProperties(output["hostProperties"], context); } if (output.instances === "") { contents.Instances = []; @@ -51647,35 +52717,47 @@ const deserializeAws_ec2Host = (output: any, context: __SerdeContext): Host => { context ); } - if (output["availabilityZoneId"] !== undefined) { - contents.AvailabilityZoneId = output["availabilityZoneId"]; + if (output["availableCapacity"] !== undefined) { + contents.AvailableCapacity = deserializeAws_ec2AvailableCapacity(output["availableCapacity"], context); } - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; } if (output["autoPlacement"] !== undefined) { contents.AutoPlacement = output["autoPlacement"]; } - if (output["hostId"] !== undefined) { - contents.HostId = output["hostId"]; + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; } - if (output["hostProperties"] !== undefined) { - contents.HostProperties = deserializeAws_ec2HostProperties(output["hostProperties"], context); + if (output["allowsMultipleInstanceTypes"] !== undefined) { + contents.AllowsMultipleInstanceTypes = output["allowsMultipleInstanceTypes"]; + } + if (output["memberOfServiceLinkedResourceGroup"] !== undefined) { + contents.MemberOfServiceLinkedResourceGroup = output["memberOfServiceLinkedResourceGroup"] == "true"; + } + if (output["allocationTime"] !== undefined) { + contents.AllocationTime = new Date(output["allocationTime"]); } if (output["ownerId"] !== undefined) { contents.OwnerId = output["ownerId"]; } - if (output.tagSet === "") { - contents.Tags = []; + if (output["availabilityZoneId"] !== undefined) { + contents.AvailabilityZoneId = output["availabilityZoneId"]; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["hostReservationId"] !== undefined) { + contents.HostReservationId = output["hostReservationId"]; } - if (output["memberOfServiceLinkedResourceGroup"] !== undefined) { - contents.MemberOfServiceLinkedResourceGroup = output["memberOfServiceLinkedResourceGroup"] == "true"; + if (output["releaseTime"] !== undefined) { + contents.ReleaseTime = new Date(output["releaseTime"]); } - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; + if (output["hostId"] !== undefined) { + contents.HostId = output["hostId"]; + } + if (output["hostRecovery"] !== undefined) { + contents.HostRecovery = output["hostRecovery"]; } return contents; }; @@ -51683,18 +52765,18 @@ const deserializeAws_ec2Host = (output: any, context: __SerdeContext): Host => { const deserializeAws_ec2HostInstance = (output: any, context: __SerdeContext): HostInstance => { let contents: any = { InstanceType: undefined, - InstanceId: undefined, OwnerId: undefined, + InstanceId: undefined, }; if (output["instanceType"] !== undefined) { contents.InstanceType = output["instanceType"]; } - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; - } if (output["ownerId"] !== undefined) { contents.OwnerId = output["ownerId"]; } + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; + } return contents; }; @@ -51708,20 +52790,14 @@ const deserializeAws_ec2HostList = (output: any, context: __SerdeContext): Host[ const deserializeAws_ec2HostOffering = (output: any, context: __SerdeContext): HostOffering => { let contents: any = { - UpfrontPrice: undefined, - Duration: undefined, CurrencyCode: undefined, HourlyPrice: undefined, PaymentOption: undefined, - InstanceFamily: undefined, OfferingId: undefined, + InstanceFamily: undefined, + UpfrontPrice: undefined, + Duration: undefined, }; - if (output["upfrontPrice"] !== undefined) { - contents.UpfrontPrice = output["upfrontPrice"]; - } - if (output["duration"] !== undefined) { - contents.Duration = parseInt(output["duration"]); - } if (output["currencyCode"] !== undefined) { contents.CurrencyCode = output["currencyCode"]; } @@ -51731,11 +52807,17 @@ const deserializeAws_ec2HostOffering = (output: any, context: __SerdeContext): H if (output["paymentOption"] !== undefined) { contents.PaymentOption = output["paymentOption"]; } + if (output["offeringId"] !== undefined) { + contents.OfferingId = output["offeringId"]; + } if (output["instanceFamily"] !== undefined) { contents.InstanceFamily = output["instanceFamily"]; } - if (output["offeringId"] !== undefined) { - contents.OfferingId = output["offeringId"]; + if (output["upfrontPrice"] !== undefined) { + contents.UpfrontPrice = output["upfrontPrice"]; + } + if (output["duration"] !== undefined) { + contents.Duration = parseInt(output["duration"]); } return contents; }; @@ -51748,9 +52830,9 @@ const deserializeAws_ec2HostProperties = (output: any, context: __SerdeContext): let contents: any = { InstanceType: undefined, Sockets: undefined, + Cores: undefined, InstanceFamily: undefined, TotalVCpus: undefined, - Cores: undefined, }; if (output["instanceType"] !== undefined) { contents.InstanceType = output["instanceType"]; @@ -51758,37 +52840,58 @@ const deserializeAws_ec2HostProperties = (output: any, context: __SerdeContext): if (output["sockets"] !== undefined) { contents.Sockets = parseInt(output["sockets"]); } + if (output["cores"] !== undefined) { + contents.Cores = parseInt(output["cores"]); + } if (output["instanceFamily"] !== undefined) { contents.InstanceFamily = output["instanceFamily"]; } if (output["totalVCpus"] !== undefined) { contents.TotalVCpus = parseInt(output["totalVCpus"]); } - if (output["cores"] !== undefined) { - contents.Cores = parseInt(output["cores"]); - } return contents; }; const deserializeAws_ec2HostReservation = (output: any, context: __SerdeContext): HostReservation => { let contents: any = { - State: undefined, + End: undefined, + PaymentOption: undefined, + Start: undefined, + HostIdSet: undefined, + HostReservationId: undefined, + CurrencyCode: undefined, Tags: undefined, - Count: undefined, + OfferingId: undefined, InstanceFamily: undefined, - Duration: undefined, + Count: undefined, UpfrontPrice: undefined, - Start: undefined, - OfferingId: undefined, - PaymentOption: undefined, + Duration: undefined, HourlyPrice: undefined, - End: undefined, - HostIdSet: undefined, - CurrencyCode: undefined, - HostReservationId: undefined, + State: undefined, }; - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["end"] !== undefined) { + contents.End = new Date(output["end"]); + } + if (output["paymentOption"] !== undefined) { + contents.PaymentOption = output["paymentOption"]; + } + if (output["start"] !== undefined) { + contents.Start = new Date(output["start"]); + } + if (output.hostIdSet === "") { + contents.HostIdSet = []; + } + if (output["hostIdSet"] !== undefined && output["hostIdSet"]["item"] !== undefined) { + contents.HostIdSet = deserializeAws_ec2ResponseHostIdSet( + __getArrayIfSingleItem(output["hostIdSet"]["item"]), + context + ); + } + if (output["hostReservationId"] !== undefined) { + contents.HostReservationId = output["hostReservationId"]; + } + if (output["currencyCode"] !== undefined) { + contents.CurrencyCode = output["currencyCode"]; } if (output.tagSet === "") { contents.Tags = []; @@ -51796,47 +52899,26 @@ const deserializeAws_ec2HostReservation = (output: any, context: __SerdeContext) if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["count"] !== undefined) { - contents.Count = parseInt(output["count"]); + if (output["offeringId"] !== undefined) { + contents.OfferingId = output["offeringId"]; } if (output["instanceFamily"] !== undefined) { contents.InstanceFamily = output["instanceFamily"]; } - if (output["duration"] !== undefined) { - contents.Duration = parseInt(output["duration"]); + if (output["count"] !== undefined) { + contents.Count = parseInt(output["count"]); } if (output["upfrontPrice"] !== undefined) { contents.UpfrontPrice = output["upfrontPrice"]; } - if (output["start"] !== undefined) { - contents.Start = new Date(output["start"]); - } - if (output["offeringId"] !== undefined) { - contents.OfferingId = output["offeringId"]; - } - if (output["paymentOption"] !== undefined) { - contents.PaymentOption = output["paymentOption"]; + if (output["duration"] !== undefined) { + contents.Duration = parseInt(output["duration"]); } if (output["hourlyPrice"] !== undefined) { contents.HourlyPrice = output["hourlyPrice"]; } - if (output["end"] !== undefined) { - contents.End = new Date(output["end"]); - } - if (output.hostIdSet === "") { - contents.HostIdSet = []; - } - if (output["hostIdSet"] !== undefined && output["hostIdSet"]["item"] !== undefined) { - contents.HostIdSet = deserializeAws_ec2ResponseHostIdSet( - __getArrayIfSingleItem(output["hostIdSet"]["item"]), - context - ); - } - if (output["currencyCode"] !== undefined) { - contents.CurrencyCode = output["currencyCode"]; - } - if (output["hostReservationId"] !== undefined) { - contents.HostReservationId = output["hostReservationId"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; } return contents; }; @@ -51847,15 +52929,15 @@ const deserializeAws_ec2HostReservationSet = (output: any, context: __SerdeConte const deserializeAws_ec2IamInstanceProfile = (output: any, context: __SerdeContext): IamInstanceProfile => { let contents: any = { - Id: undefined, Arn: undefined, + Id: undefined, }; - if (output["id"] !== undefined) { - contents.Id = output["id"]; - } if (output["arn"] !== undefined) { contents.Arn = output["arn"]; } + if (output["id"] !== undefined) { + contents.Id = output["id"]; + } return contents; }; @@ -51866,9 +52948,9 @@ const deserializeAws_ec2IamInstanceProfileAssociation = ( let contents: any = { InstanceId: undefined, Timestamp: undefined, - State: undefined, - AssociationId: undefined, IamInstanceProfile: undefined, + AssociationId: undefined, + State: undefined, }; if (output["instanceId"] !== undefined) { contents.InstanceId = output["instanceId"]; @@ -51876,14 +52958,14 @@ const deserializeAws_ec2IamInstanceProfileAssociation = ( if (output["timestamp"] !== undefined) { contents.Timestamp = new Date(output["timestamp"]); } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["iamInstanceProfile"] !== undefined) { + contents.IamInstanceProfile = deserializeAws_ec2IamInstanceProfile(output["iamInstanceProfile"], context); } if (output["associationId"] !== undefined) { contents.AssociationId = output["associationId"]; } - if (output["iamInstanceProfile"] !== undefined) { - contents.IamInstanceProfile = deserializeAws_ec2IamInstanceProfile(output["iamInstanceProfile"], context); + if (output["state"] !== undefined) { + contents.State = output["state"]; } return contents; }; @@ -51900,46 +52982,46 @@ const deserializeAws_ec2IamInstanceProfileSpecification = ( context: __SerdeContext ): IamInstanceProfileSpecification => { let contents: any = { - Name: undefined, Arn: undefined, + Name: undefined, }; - if (output["name"] !== undefined) { - contents.Name = output["name"]; - } if (output["arn"] !== undefined) { contents.Arn = output["arn"]; } + if (output["name"] !== undefined) { + contents.Name = output["name"]; + } return contents; }; const deserializeAws_ec2IcmpTypeCode = (output: any, context: __SerdeContext): IcmpTypeCode => { let contents: any = { - Type: undefined, Code: undefined, + Type: undefined, }; - if (output["type"] !== undefined) { - contents.Type = parseInt(output["type"]); - } if (output["code"] !== undefined) { contents.Code = parseInt(output["code"]); } + if (output["type"] !== undefined) { + contents.Type = parseInt(output["type"]); + } return contents; }; const deserializeAws_ec2IdFormat = (output: any, context: __SerdeContext): IdFormat => { let contents: any = { - Deadline: undefined, - UseLongIds: undefined, Resource: undefined, + UseLongIds: undefined, + Deadline: undefined, }; - if (output["deadline"] !== undefined) { - contents.Deadline = new Date(output["deadline"]); + if (output["resource"] !== undefined) { + contents.Resource = output["resource"]; } if (output["useLongIds"] !== undefined) { contents.UseLongIds = output["useLongIds"] == "true"; } - if (output["resource"] !== undefined) { - contents.Resource = output["resource"]; + if (output["deadline"] !== undefined) { + contents.Deadline = new Date(output["deadline"]); } return contents; }; @@ -51964,101 +53046,101 @@ const deserializeAws_ec2IKEVersionsListValue = (output: any, context: __SerdeCon const deserializeAws_ec2Image = (output: any, context: __SerdeContext): Image => { let contents: any = { - EnaSupport: undefined, - ImageType: undefined, + Description: undefined, + ImageId: undefined, + VirtualizationType: undefined, + RootDeviceType: undefined, + KernelId: undefined, Platform: undefined, - StateReason: undefined, + PlatformDetails: undefined, + Hypervisor: undefined, UsageOperation: undefined, - OwnerId: undefined, - ImageLocation: undefined, - ImageOwnerAlias: undefined, CreationDate: undefined, - Description: undefined, RootDeviceName: undefined, - KernelId: undefined, + State: undefined, + ImageLocation: undefined, + OwnerId: undefined, + ProductCodes: undefined, + Tags: undefined, Public: undefined, - VirtualizationType: undefined, - PlatformDetails: undefined, - ImageId: undefined, - Name: undefined, - Hypervisor: undefined, - RootDeviceType: undefined, Architecture: undefined, - ProductCodes: undefined, + ImageType: undefined, + EnaSupport: undefined, BlockDeviceMappings: undefined, - State: undefined, - Tags: undefined, - SriovNetSupport: undefined, + StateReason: undefined, + Name: undefined, + ImageOwnerAlias: undefined, RamdiskId: undefined, + SriovNetSupport: undefined, }; - if (output["enaSupport"] !== undefined) { - contents.EnaSupport = output["enaSupport"] == "true"; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } - if (output["imageType"] !== undefined) { - contents.ImageType = output["imageType"]; + if (output["imageId"] !== undefined) { + contents.ImageId = output["imageId"]; + } + if (output["virtualizationType"] !== undefined) { + contents.VirtualizationType = output["virtualizationType"]; + } + if (output["rootDeviceType"] !== undefined) { + contents.RootDeviceType = output["rootDeviceType"]; + } + if (output["kernelId"] !== undefined) { + contents.KernelId = output["kernelId"]; } if (output["platform"] !== undefined) { contents.Platform = output["platform"]; } - if (output["stateReason"] !== undefined) { - contents.StateReason = deserializeAws_ec2StateReason(output["stateReason"], context); + if (output["platformDetails"] !== undefined) { + contents.PlatformDetails = output["platformDetails"]; + } + if (output["hypervisor"] !== undefined) { + contents.Hypervisor = output["hypervisor"]; } if (output["usageOperation"] !== undefined) { contents.UsageOperation = output["usageOperation"]; } - if (output["imageOwnerId"] !== undefined) { - contents.OwnerId = output["imageOwnerId"]; - } - if (output["imageLocation"] !== undefined) { - contents.ImageLocation = output["imageLocation"]; - } - if (output["imageOwnerAlias"] !== undefined) { - contents.ImageOwnerAlias = output["imageOwnerAlias"]; - } if (output["creationDate"] !== undefined) { contents.CreationDate = output["creationDate"]; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } if (output["rootDeviceName"] !== undefined) { contents.RootDeviceName = output["rootDeviceName"]; } - if (output["kernelId"] !== undefined) { - contents.KernelId = output["kernelId"]; + if (output["imageState"] !== undefined) { + contents.State = output["imageState"]; } - if (output["isPublic"] !== undefined) { - contents.Public = output["isPublic"] == "true"; + if (output["imageLocation"] !== undefined) { + contents.ImageLocation = output["imageLocation"]; } - if (output["virtualizationType"] !== undefined) { - contents.VirtualizationType = output["virtualizationType"]; + if (output["imageOwnerId"] !== undefined) { + contents.OwnerId = output["imageOwnerId"]; } - if (output["platformDetails"] !== undefined) { - contents.PlatformDetails = output["platformDetails"]; + if (output.productCodes === "") { + contents.ProductCodes = []; } - if (output["imageId"] !== undefined) { - contents.ImageId = output["imageId"]; + if (output["productCodes"] !== undefined && output["productCodes"]["item"] !== undefined) { + contents.ProductCodes = deserializeAws_ec2ProductCodeList( + __getArrayIfSingleItem(output["productCodes"]["item"]), + context + ); } - if (output["name"] !== undefined) { - contents.Name = output["name"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["hypervisor"] !== undefined) { - contents.Hypervisor = output["hypervisor"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["rootDeviceType"] !== undefined) { - contents.RootDeviceType = output["rootDeviceType"]; + if (output["isPublic"] !== undefined) { + contents.Public = output["isPublic"] == "true"; } if (output["architecture"] !== undefined) { contents.Architecture = output["architecture"]; } - if (output.productCodes === "") { - contents.ProductCodes = []; + if (output["imageType"] !== undefined) { + contents.ImageType = output["imageType"]; } - if (output["productCodes"] !== undefined && output["productCodes"]["item"] !== undefined) { - contents.ProductCodes = deserializeAws_ec2ProductCodeList( - __getArrayIfSingleItem(output["productCodes"]["item"]), - context - ); + if (output["enaSupport"] !== undefined) { + contents.EnaSupport = output["enaSupport"] == "true"; } if (output.blockDeviceMapping === "") { contents.BlockDeviceMappings = []; @@ -52069,43 +53151,37 @@ const deserializeAws_ec2Image = (output: any, context: __SerdeContext): Image => context ); } - if (output["imageState"] !== undefined) { - contents.State = output["imageState"]; - } - if (output.tagSet === "") { - contents.Tags = []; + if (output["stateReason"] !== undefined) { + contents.StateReason = deserializeAws_ec2StateReason(output["stateReason"], context); } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["name"] !== undefined) { + contents.Name = output["name"]; } - if (output["sriovNetSupport"] !== undefined) { - contents.SriovNetSupport = output["sriovNetSupport"]; + if (output["imageOwnerAlias"] !== undefined) { + contents.ImageOwnerAlias = output["imageOwnerAlias"]; } if (output["ramdiskId"] !== undefined) { contents.RamdiskId = output["ramdiskId"]; } + if (output["sriovNetSupport"] !== undefined) { + contents.SriovNetSupport = output["sriovNetSupport"]; + } return contents; }; const deserializeAws_ec2ImageAttribute = (output: any, context: __SerdeContext): ImageAttribute => { let contents: any = { + Description: undefined, + BlockDeviceMappings: undefined, + ProductCodes: undefined, RamdiskId: undefined, + LaunchPermissions: undefined, + SriovNetSupport: undefined, KernelId: undefined, ImageId: undefined, - BlockDeviceMappings: undefined, - SriovNetSupport: undefined, - Description: undefined, - LaunchPermissions: undefined, - ProductCodes: undefined, }; - if (output["ramdisk"] !== undefined) { - contents.RamdiskId = deserializeAws_ec2AttributeValue(output["ramdisk"], context); - } - if (output["kernel"] !== undefined) { - contents.KernelId = deserializeAws_ec2AttributeValue(output["kernel"], context); - } - if (output["imageId"] !== undefined) { - contents.ImageId = output["imageId"]; + if (output["description"] !== undefined) { + contents.Description = deserializeAws_ec2AttributeValue(output["description"], context); } if (output.blockDeviceMapping === "") { contents.BlockDeviceMappings = []; @@ -52116,11 +53192,17 @@ const deserializeAws_ec2ImageAttribute = (output: any, context: __SerdeContext): context ); } - if (output["sriovNetSupport"] !== undefined) { - contents.SriovNetSupport = deserializeAws_ec2AttributeValue(output["sriovNetSupport"], context); + if (output.productCodes === "") { + contents.ProductCodes = []; } - if (output["description"] !== undefined) { - contents.Description = deserializeAws_ec2AttributeValue(output["description"], context); + if (output["productCodes"] !== undefined && output["productCodes"]["item"] !== undefined) { + contents.ProductCodes = deserializeAws_ec2ProductCodeList( + __getArrayIfSingleItem(output["productCodes"]["item"]), + context + ); + } + if (output["ramdisk"] !== undefined) { + contents.RamdiskId = deserializeAws_ec2AttributeValue(output["ramdisk"], context); } if (output.launchPermission === "") { contents.LaunchPermissions = []; @@ -52131,14 +53213,14 @@ const deserializeAws_ec2ImageAttribute = (output: any, context: __SerdeContext): context ); } - if (output.productCodes === "") { - contents.ProductCodes = []; + if (output["sriovNetSupport"] !== undefined) { + contents.SriovNetSupport = deserializeAws_ec2AttributeValue(output["sriovNetSupport"], context); } - if (output["productCodes"] !== undefined && output["productCodes"]["item"] !== undefined) { - contents.ProductCodes = deserializeAws_ec2ProductCodeList( - __getArrayIfSingleItem(output["productCodes"]["item"]), - context - ); + if (output["kernel"] !== undefined) { + contents.KernelId = deserializeAws_ec2AttributeValue(output["kernel"], context); + } + if (output["imageId"] !== undefined) { + contents.ImageId = output["imageId"]; } return contents; }; @@ -52182,120 +53264,120 @@ const deserializeAws_ec2ImportImageLicenseSpecificationListResponse = ( const deserializeAws_ec2ImportImageResult = (output: any, context: __SerdeContext): ImportImageResult => { let contents: any = { - ImageId: undefined, - Tags: undefined, - LicenseSpecifications: undefined, - Architecture: undefined, - Status: undefined, - Description: undefined, - Hypervisor: undefined, + Encrypted: undefined, KmsKeyId: undefined, LicenseType: undefined, - Platform: undefined, - Encrypted: undefined, + Hypervisor: undefined, + ImportTaskId: undefined, SnapshotDetails: undefined, - Progress: undefined, StatusMessage: undefined, - ImportTaskId: undefined, + Description: undefined, + Platform: undefined, + Status: undefined, + Tags: undefined, + ImageId: undefined, + LicenseSpecifications: undefined, + Progress: undefined, + Architecture: undefined, }; - if (output["imageId"] !== undefined) { - contents.ImageId = output["imageId"]; + if (output["encrypted"] !== undefined) { + contents.Encrypted = output["encrypted"] == "true"; } - if (output.tagSet === "") { - contents.Tags = []; + if (output["kmsKeyId"] !== undefined) { + contents.KmsKeyId = output["kmsKeyId"]; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["licenseType"] !== undefined) { + contents.LicenseType = output["licenseType"]; } - if (output.licenseSpecifications === "") { - contents.LicenseSpecifications = []; + if (output["hypervisor"] !== undefined) { + contents.Hypervisor = output["hypervisor"]; } - if (output["licenseSpecifications"] !== undefined && output["licenseSpecifications"]["item"] !== undefined) { - contents.LicenseSpecifications = deserializeAws_ec2ImportImageLicenseSpecificationListResponse( - __getArrayIfSingleItem(output["licenseSpecifications"]["item"]), + if (output["importTaskId"] !== undefined) { + contents.ImportTaskId = output["importTaskId"]; + } + if (output.snapshotDetailSet === "") { + contents.SnapshotDetails = []; + } + if (output["snapshotDetailSet"] !== undefined && output["snapshotDetailSet"]["item"] !== undefined) { + contents.SnapshotDetails = deserializeAws_ec2SnapshotDetailList( + __getArrayIfSingleItem(output["snapshotDetailSet"]["item"]), context ); } - if (output["architecture"] !== undefined) { - contents.Architecture = output["architecture"]; - } - if (output["status"] !== undefined) { - contents.Status = output["status"]; + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; } if (output["description"] !== undefined) { contents.Description = output["description"]; } - if (output["hypervisor"] !== undefined) { - contents.Hypervisor = output["hypervisor"]; + if (output["platform"] !== undefined) { + contents.Platform = output["platform"]; } - if (output["kmsKeyId"] !== undefined) { - contents.KmsKeyId = output["kmsKeyId"]; + if (output["status"] !== undefined) { + contents.Status = output["status"]; } - if (output["licenseType"] !== undefined) { - contents.LicenseType = output["licenseType"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["platform"] !== undefined) { - contents.Platform = output["platform"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["encrypted"] !== undefined) { - contents.Encrypted = output["encrypted"] == "true"; + if (output["imageId"] !== undefined) { + contents.ImageId = output["imageId"]; } - if (output.snapshotDetailSet === "") { - contents.SnapshotDetails = []; + if (output.licenseSpecifications === "") { + contents.LicenseSpecifications = []; } - if (output["snapshotDetailSet"] !== undefined && output["snapshotDetailSet"]["item"] !== undefined) { - contents.SnapshotDetails = deserializeAws_ec2SnapshotDetailList( - __getArrayIfSingleItem(output["snapshotDetailSet"]["item"]), + if (output["licenseSpecifications"] !== undefined && output["licenseSpecifications"]["item"] !== undefined) { + contents.LicenseSpecifications = deserializeAws_ec2ImportImageLicenseSpecificationListResponse( + __getArrayIfSingleItem(output["licenseSpecifications"]["item"]), context ); } if (output["progress"] !== undefined) { contents.Progress = output["progress"]; } - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; - } - if (output["importTaskId"] !== undefined) { - contents.ImportTaskId = output["importTaskId"]; + if (output["architecture"] !== undefined) { + contents.Architecture = output["architecture"]; } return contents; }; const deserializeAws_ec2ImportImageTask = (output: any, context: __SerdeContext): ImportImageTask => { let contents: any = { + Hypervisor: undefined, + KmsKeyId: undefined, + Platform: undefined, + StatusMessage: undefined, + Progress: undefined, + Encrypted: undefined, + LicenseSpecifications: undefined, + LicenseType: undefined, Status: undefined, + Architecture: undefined, Description: undefined, + SnapshotDetails: undefined, ImageId: undefined, - Architecture: undefined, Tags: undefined, - LicenseSpecifications: undefined, ImportTaskId: undefined, - LicenseType: undefined, - Platform: undefined, - Encrypted: undefined, - KmsKeyId: undefined, - Progress: undefined, - StatusMessage: undefined, - SnapshotDetails: undefined, - Hypervisor: undefined, }; - if (output["status"] !== undefined) { - contents.Status = output["status"]; + if (output["hypervisor"] !== undefined) { + contents.Hypervisor = output["hypervisor"]; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["kmsKeyId"] !== undefined) { + contents.KmsKeyId = output["kmsKeyId"]; } - if (output["imageId"] !== undefined) { - contents.ImageId = output["imageId"]; + if (output["platform"] !== undefined) { + contents.Platform = output["platform"]; } - if (output["architecture"] !== undefined) { - contents.Architecture = output["architecture"]; + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; } - if (output.tagSet === "") { - contents.Tags = []; + if (output["progress"] !== undefined) { + contents.Progress = output["progress"]; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["encrypted"] !== undefined) { + contents.Encrypted = output["encrypted"] == "true"; } if (output.licenseSpecifications === "") { contents.LicenseSpecifications = []; @@ -52306,26 +53388,17 @@ const deserializeAws_ec2ImportImageTask = (output: any, context: __SerdeContext) context ); } - if (output["importTaskId"] !== undefined) { - contents.ImportTaskId = output["importTaskId"]; - } if (output["licenseType"] !== undefined) { contents.LicenseType = output["licenseType"]; } - if (output["platform"] !== undefined) { - contents.Platform = output["platform"]; - } - if (output["encrypted"] !== undefined) { - contents.Encrypted = output["encrypted"] == "true"; - } - if (output["kmsKeyId"] !== undefined) { - contents.KmsKeyId = output["kmsKeyId"]; + if (output["status"] !== undefined) { + contents.Status = output["status"]; } - if (output["progress"] !== undefined) { - contents.Progress = output["progress"]; + if (output["architecture"] !== undefined) { + contents.Architecture = output["architecture"]; } - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } if (output.snapshotDetailSet === "") { contents.SnapshotDetails = []; @@ -52336,8 +53409,17 @@ const deserializeAws_ec2ImportImageTask = (output: any, context: __SerdeContext) context ); } - if (output["hypervisor"] !== undefined) { - contents.Hypervisor = output["hypervisor"]; + if (output["imageId"] !== undefined) { + contents.ImageId = output["imageId"]; + } + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + } + if (output["importTaskId"] !== undefined) { + contents.ImportTaskId = output["importTaskId"]; } return contents; }; @@ -52361,17 +53443,11 @@ const deserializeAws_ec2ImportInstanceTaskDetails = ( context: __SerdeContext ): ImportInstanceTaskDetails => { let contents: any = { + Volumes: undefined, Platform: undefined, Description: undefined, - Volumes: undefined, InstanceId: undefined, }; - if (output["platform"] !== undefined) { - contents.Platform = output["platform"]; - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } if (output.volumes === "") { contents.Volumes = []; } @@ -52381,6 +53457,12 @@ const deserializeAws_ec2ImportInstanceTaskDetails = ( context ); } + if (output["platform"] !== undefined) { + contents.Platform = output["platform"]; + } + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } if (output["instanceId"] !== undefined) { contents.InstanceId = output["instanceId"]; } @@ -52392,34 +53474,34 @@ const deserializeAws_ec2ImportInstanceVolumeDetailItem = ( context: __SerdeContext ): ImportInstanceVolumeDetailItem => { let contents: any = { - StatusMessage: undefined, AvailabilityZone: undefined, - Description: undefined, - BytesConverted: undefined, - Status: undefined, Volume: undefined, Image: undefined, + Status: undefined, + Description: undefined, + StatusMessage: undefined, + BytesConverted: undefined, }; - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; - } if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["volume"] !== undefined) { + contents.Volume = deserializeAws_ec2DiskImageVolumeDescription(output["volume"], context); } - if (output["bytesConverted"] !== undefined) { - contents.BytesConverted = parseInt(output["bytesConverted"]); + if (output["image"] !== undefined) { + contents.Image = deserializeAws_ec2DiskImageDescription(output["image"], context); } if (output["status"] !== undefined) { contents.Status = output["status"]; } - if (output["volume"] !== undefined) { - contents.Volume = deserializeAws_ec2DiskImageVolumeDescription(output["volume"], context); + if (output["description"] !== undefined) { + contents.Description = output["description"]; } - if (output["image"] !== undefined) { - contents.Image = deserializeAws_ec2DiskImageDescription(output["image"], context); + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; + } + if (output["bytesConverted"] !== undefined) { + contents.BytesConverted = parseInt(output["bytesConverted"]); } return contents; }; @@ -52433,38 +53515,41 @@ const deserializeAws_ec2ImportInstanceVolumeDetailSet = ( const deserializeAws_ec2ImportKeyPairResult = (output: any, context: __SerdeContext): ImportKeyPairResult => { let contents: any = { - KeyName: undefined, Tags: undefined, - KeyPairId: undefined, KeyFingerprint: undefined, + KeyPairId: undefined, + KeyName: undefined, }; - if (output["keyName"] !== undefined) { - contents.KeyName = output["keyName"]; - } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["keyFingerprint"] !== undefined) { + contents.KeyFingerprint = output["keyFingerprint"]; + } if (output["keyPairId"] !== undefined) { contents.KeyPairId = output["keyPairId"]; } - if (output["keyFingerprint"] !== undefined) { - contents.KeyFingerprint = output["keyFingerprint"]; + if (output["keyName"] !== undefined) { + contents.KeyName = output["keyName"]; } return contents; }; const deserializeAws_ec2ImportSnapshotResult = (output: any, context: __SerdeContext): ImportSnapshotResult => { let contents: any = { - Description: undefined, - Tags: undefined, - SnapshotTaskDetail: undefined, ImportTaskId: undefined, + SnapshotTaskDetail: undefined, + Tags: undefined, + Description: undefined, }; - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["importTaskId"] !== undefined) { + contents.ImportTaskId = output["importTaskId"]; + } + if (output["snapshotTaskDetail"] !== undefined) { + contents.SnapshotTaskDetail = deserializeAws_ec2SnapshotTaskDetail(output["snapshotTaskDetail"], context); } if (output.tagSet === "") { contents.Tags = []; @@ -52472,11 +53557,8 @@ const deserializeAws_ec2ImportSnapshotResult = (output: any, context: __SerdeCon if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["snapshotTaskDetail"] !== undefined) { - contents.SnapshotTaskDetail = deserializeAws_ec2SnapshotTaskDetail(output["snapshotTaskDetail"], context); - } - if (output["importTaskId"] !== undefined) { - contents.ImportTaskId = output["importTaskId"]; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } return contents; }; @@ -52484,25 +53566,25 @@ const deserializeAws_ec2ImportSnapshotResult = (output: any, context: __SerdeCon const deserializeAws_ec2ImportSnapshotTask = (output: any, context: __SerdeContext): ImportSnapshotTask => { let contents: any = { ImportTaskId: undefined, - Tags: undefined, - SnapshotTaskDetail: undefined, Description: undefined, + SnapshotTaskDetail: undefined, + Tags: undefined, }; if (output["importTaskId"] !== undefined) { contents.ImportTaskId = output["importTaskId"]; } + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } + if (output["snapshotTaskDetail"] !== undefined) { + contents.SnapshotTaskDetail = deserializeAws_ec2SnapshotTaskDetail(output["snapshotTaskDetail"], context); + } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["snapshotTaskDetail"] !== undefined) { - contents.SnapshotTaskDetail = deserializeAws_ec2SnapshotTaskDetail(output["snapshotTaskDetail"], context); - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } return contents; }; @@ -52522,26 +53604,26 @@ const deserializeAws_ec2ImportVolumeResult = (output: any, context: __SerdeConte const deserializeAws_ec2ImportVolumeTaskDetails = (output: any, context: __SerdeContext): ImportVolumeTaskDetails => { let contents: any = { - Image: undefined, - BytesConverted: undefined, Description: undefined, - AvailabilityZone: undefined, Volume: undefined, + Image: undefined, + AvailabilityZone: undefined, + BytesConverted: undefined, }; - if (output["image"] !== undefined) { - contents.Image = deserializeAws_ec2DiskImageDescription(output["image"], context); - } - if (output["bytesConverted"] !== undefined) { - contents.BytesConverted = parseInt(output["bytesConverted"]); - } if (output["description"] !== undefined) { contents.Description = output["description"]; } + if (output["volume"] !== undefined) { + contents.Volume = deserializeAws_ec2DiskImageVolumeDescription(output["volume"], context); + } + if (output["image"] !== undefined) { + contents.Image = deserializeAws_ec2DiskImageDescription(output["image"], context); + } if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } - if (output["volume"] !== undefined) { - contents.Volume = deserializeAws_ec2DiskImageVolumeDescription(output["volume"], context); + if (output["bytesConverted"] !== undefined) { + contents.BytesConverted = parseInt(output["bytesConverted"]); } return contents; }; @@ -52564,19 +53646,19 @@ const deserializeAws_ec2InferenceAcceleratorInfo = (output: any, context: __Serd const deserializeAws_ec2InferenceDeviceInfo = (output: any, context: __SerdeContext): InferenceDeviceInfo => { let contents: any = { - Manufacturer: undefined, Count: undefined, Name: undefined, + Manufacturer: undefined, }; - if (output["manufacturer"] !== undefined) { - contents.Manufacturer = output["manufacturer"]; - } if (output["count"] !== undefined) { contents.Count = parseInt(output["count"]); } if (output["name"] !== undefined) { contents.Name = output["name"]; } + if (output["manufacturer"] !== undefined) { + contents.Manufacturer = output["manufacturer"]; + } return contents; }; @@ -52586,113 +53668,137 @@ const deserializeAws_ec2InferenceDeviceInfoList = (output: any, context: __Serde const deserializeAws_ec2Instance = (output: any, context: __SerdeContext): Instance => { let contents: any = { + CapacityReservationSpecification: undefined, + StateReason: undefined, + Platform: undefined, + SubnetId: undefined, + KernelId: undefined, + Architecture: undefined, + OutpostArn: undefined, + VirtualizationType: undefined, + ImageId: undefined, + InstanceType: undefined, + PrivateDnsName: undefined, + NetworkInterfaces: undefined, + SriovNetSupport: undefined, CapacityReservationId: undefined, - IamInstanceProfile: undefined, State: undefined, - SecurityGroups: undefined, + RamdiskId: undefined, + ElasticInferenceAcceleratorAssociations: undefined, ClientToken: undefined, - SpotInstanceRequestId: undefined, - Licenses: undefined, - Tags: undefined, PublicDnsName: undefined, - ProductCodes: undefined, - InstanceId: undefined, - StateReason: undefined, - StateTransitionReason: undefined, - MetadataOptions: undefined, + AmiLaunchIndex: undefined, + Licenses: undefined, EnaSupport: undefined, VpcId: undefined, BlockDeviceMappings: undefined, + SpotInstanceRequestId: undefined, EbsOptimized: undefined, + ProductCodes: undefined, + StateTransitionReason: undefined, + SecurityGroups: undefined, + MetadataOptions: undefined, + InstanceId: undefined, ElasticGpuAssociations: undefined, - RamdiskId: undefined, - SriovNetSupport: undefined, - NetworkInterfaces: undefined, KeyName: undefined, - ImageId: undefined, - SourceDestCheck: undefined, - PrivateIpAddress: undefined, - AmiLaunchIndex: undefined, - RootDeviceType: undefined, - ElasticInferenceAcceleratorAssociations: undefined, - SubnetId: undefined, - HibernationOptions: undefined, - KernelId: undefined, - Platform: undefined, - InstanceType: undefined, - InstanceLifecycle: undefined, - Hypervisor: undefined, - PrivateDnsName: undefined, - CpuOptions: undefined, LaunchTime: undefined, - CapacityReservationSpecification: undefined, - Placement: undefined, - VirtualizationType: undefined, - OutpostArn: undefined, - Monitoring: undefined, + IamInstanceProfile: undefined, PublicIpAddress: undefined, - Architecture: undefined, RootDeviceName: undefined, + Monitoring: undefined, + Placement: undefined, + RootDeviceType: undefined, + CpuOptions: undefined, + HibernationOptions: undefined, + Hypervisor: undefined, + Tags: undefined, + InstanceLifecycle: undefined, + PrivateIpAddress: undefined, + SourceDestCheck: undefined, }; - if (output["capacityReservationId"] !== undefined) { - contents.CapacityReservationId = output["capacityReservationId"]; + if (output["capacityReservationSpecification"] !== undefined) { + contents.CapacityReservationSpecification = deserializeAws_ec2CapacityReservationSpecificationResponse( + output["capacityReservationSpecification"], + context + ); } - if (output["iamInstanceProfile"] !== undefined) { - contents.IamInstanceProfile = deserializeAws_ec2IamInstanceProfile(output["iamInstanceProfile"], context); + if (output["stateReason"] !== undefined) { + contents.StateReason = deserializeAws_ec2StateReason(output["stateReason"], context); } - if (output["instanceState"] !== undefined) { - contents.State = deserializeAws_ec2InstanceState(output["instanceState"], context); + if (output["platform"] !== undefined) { + contents.Platform = output["platform"]; } - if (output.groupSet === "") { - contents.SecurityGroups = []; + if (output["subnetId"] !== undefined) { + contents.SubnetId = output["subnetId"]; } - if (output["groupSet"] !== undefined && output["groupSet"]["item"] !== undefined) { - contents.SecurityGroups = deserializeAws_ec2GroupIdentifierList( - __getArrayIfSingleItem(output["groupSet"]["item"]), - context - ); + if (output["kernelId"] !== undefined) { + contents.KernelId = output["kernelId"]; } - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; + if (output["architecture"] !== undefined) { + contents.Architecture = output["architecture"]; } - if (output["spotInstanceRequestId"] !== undefined) { - contents.SpotInstanceRequestId = output["spotInstanceRequestId"]; + if (output["outpostArn"] !== undefined) { + contents.OutpostArn = output["outpostArn"]; } - if (output.licenseSet === "") { - contents.Licenses = []; + if (output["virtualizationType"] !== undefined) { + contents.VirtualizationType = output["virtualizationType"]; } - if (output["licenseSet"] !== undefined && output["licenseSet"]["item"] !== undefined) { - contents.Licenses = deserializeAws_ec2LicenseList(__getArrayIfSingleItem(output["licenseSet"]["item"]), context); + if (output["imageId"] !== undefined) { + contents.ImageId = output["imageId"]; } - if (output.tagSet === "") { - contents.Tags = []; + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["privateDnsName"] !== undefined) { + contents.PrivateDnsName = output["privateDnsName"]; } - if (output["dnsName"] !== undefined) { - contents.PublicDnsName = output["dnsName"]; + if (output.networkInterfaceSet === "") { + contents.NetworkInterfaces = []; } - if (output.productCodes === "") { - contents.ProductCodes = []; + if (output["networkInterfaceSet"] !== undefined && output["networkInterfaceSet"]["item"] !== undefined) { + contents.NetworkInterfaces = deserializeAws_ec2InstanceNetworkInterfaceList( + __getArrayIfSingleItem(output["networkInterfaceSet"]["item"]), + context + ); } - if (output["productCodes"] !== undefined && output["productCodes"]["item"] !== undefined) { - contents.ProductCodes = deserializeAws_ec2ProductCodeList( - __getArrayIfSingleItem(output["productCodes"]["item"]), + if (output["sriovNetSupport"] !== undefined) { + contents.SriovNetSupport = output["sriovNetSupport"]; + } + if (output["capacityReservationId"] !== undefined) { + contents.CapacityReservationId = output["capacityReservationId"]; + } + if (output["instanceState"] !== undefined) { + contents.State = deserializeAws_ec2InstanceState(output["instanceState"], context); + } + if (output["ramdiskId"] !== undefined) { + contents.RamdiskId = output["ramdiskId"]; + } + if (output.elasticInferenceAcceleratorAssociationSet === "") { + contents.ElasticInferenceAcceleratorAssociations = []; + } + if ( + output["elasticInferenceAcceleratorAssociationSet"] !== undefined && + output["elasticInferenceAcceleratorAssociationSet"]["item"] !== undefined + ) { + contents.ElasticInferenceAcceleratorAssociations = deserializeAws_ec2ElasticInferenceAcceleratorAssociationList( + __getArrayIfSingleItem(output["elasticInferenceAcceleratorAssociationSet"]["item"]), context ); } - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; } - if (output["stateReason"] !== undefined) { - contents.StateReason = deserializeAws_ec2StateReason(output["stateReason"], context); + if (output["dnsName"] !== undefined) { + contents.PublicDnsName = output["dnsName"]; } - if (output["reason"] !== undefined) { - contents.StateTransitionReason = output["reason"]; + if (output["amiLaunchIndex"] !== undefined) { + contents.AmiLaunchIndex = parseInt(output["amiLaunchIndex"]); } - if (output["metadataOptions"] !== undefined) { - contents.MetadataOptions = deserializeAws_ec2InstanceMetadataOptionsResponse(output["metadataOptions"], context); + if (output.licenseSet === "") { + contents.Licenses = []; + } + if (output["licenseSet"] !== undefined && output["licenseSet"]["item"] !== undefined) { + contents.Licenses = deserializeAws_ec2LicenseList(__getArrayIfSingleItem(output["licenseSet"]["item"]), context); } if (output["enaSupport"] !== undefined) { contents.EnaSupport = output["enaSupport"] == "true"; @@ -52709,141 +53815,144 @@ const deserializeAws_ec2Instance = (output: any, context: __SerdeContext): Insta context ); } + if (output["spotInstanceRequestId"] !== undefined) { + contents.SpotInstanceRequestId = output["spotInstanceRequestId"]; + } if (output["ebsOptimized"] !== undefined) { contents.EbsOptimized = output["ebsOptimized"] == "true"; } - if (output.elasticGpuAssociationSet === "") { - contents.ElasticGpuAssociations = []; + if (output.productCodes === "") { + contents.ProductCodes = []; } - if (output["elasticGpuAssociationSet"] !== undefined && output["elasticGpuAssociationSet"]["item"] !== undefined) { - contents.ElasticGpuAssociations = deserializeAws_ec2ElasticGpuAssociationList( - __getArrayIfSingleItem(output["elasticGpuAssociationSet"]["item"]), + if (output["productCodes"] !== undefined && output["productCodes"]["item"] !== undefined) { + contents.ProductCodes = deserializeAws_ec2ProductCodeList( + __getArrayIfSingleItem(output["productCodes"]["item"]), context ); } - if (output["ramdiskId"] !== undefined) { - contents.RamdiskId = output["ramdiskId"]; - } - if (output["sriovNetSupport"] !== undefined) { - contents.SriovNetSupport = output["sriovNetSupport"]; + if (output["reason"] !== undefined) { + contents.StateTransitionReason = output["reason"]; } - if (output.networkInterfaceSet === "") { - contents.NetworkInterfaces = []; + if (output.groupSet === "") { + contents.SecurityGroups = []; } - if (output["networkInterfaceSet"] !== undefined && output["networkInterfaceSet"]["item"] !== undefined) { - contents.NetworkInterfaces = deserializeAws_ec2InstanceNetworkInterfaceList( - __getArrayIfSingleItem(output["networkInterfaceSet"]["item"]), + if (output["groupSet"] !== undefined && output["groupSet"]["item"] !== undefined) { + contents.SecurityGroups = deserializeAws_ec2GroupIdentifierList( + __getArrayIfSingleItem(output["groupSet"]["item"]), context ); } - if (output["keyName"] !== undefined) { - contents.KeyName = output["keyName"]; - } - if (output["imageId"] !== undefined) { - contents.ImageId = output["imageId"]; - } - if (output["sourceDestCheck"] !== undefined) { - contents.SourceDestCheck = output["sourceDestCheck"] == "true"; - } - if (output["privateIpAddress"] !== undefined) { - contents.PrivateIpAddress = output["privateIpAddress"]; - } - if (output["amiLaunchIndex"] !== undefined) { - contents.AmiLaunchIndex = parseInt(output["amiLaunchIndex"]); + if (output["metadataOptions"] !== undefined) { + contents.MetadataOptions = deserializeAws_ec2InstanceMetadataOptionsResponse(output["metadataOptions"], context); } - if (output["rootDeviceType"] !== undefined) { - contents.RootDeviceType = output["rootDeviceType"]; + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; } - if (output.elasticInferenceAcceleratorAssociationSet === "") { - contents.ElasticInferenceAcceleratorAssociations = []; + if (output.elasticGpuAssociationSet === "") { + contents.ElasticGpuAssociations = []; } - if ( - output["elasticInferenceAcceleratorAssociationSet"] !== undefined && - output["elasticInferenceAcceleratorAssociationSet"]["item"] !== undefined - ) { - contents.ElasticInferenceAcceleratorAssociations = deserializeAws_ec2ElasticInferenceAcceleratorAssociationList( - __getArrayIfSingleItem(output["elasticInferenceAcceleratorAssociationSet"]["item"]), + if (output["elasticGpuAssociationSet"] !== undefined && output["elasticGpuAssociationSet"]["item"] !== undefined) { + contents.ElasticGpuAssociations = deserializeAws_ec2ElasticGpuAssociationList( + __getArrayIfSingleItem(output["elasticGpuAssociationSet"]["item"]), context ); } - if (output["subnetId"] !== undefined) { - contents.SubnetId = output["subnetId"]; + if (output["keyName"] !== undefined) { + contents.KeyName = output["keyName"]; } - if (output["hibernationOptions"] !== undefined) { - contents.HibernationOptions = deserializeAws_ec2HibernationOptions(output["hibernationOptions"], context); + if (output["launchTime"] !== undefined) { + contents.LaunchTime = new Date(output["launchTime"]); } - if (output["kernelId"] !== undefined) { - contents.KernelId = output["kernelId"]; + if (output["iamInstanceProfile"] !== undefined) { + contents.IamInstanceProfile = deserializeAws_ec2IamInstanceProfile(output["iamInstanceProfile"], context); } - if (output["platform"] !== undefined) { - contents.Platform = output["platform"]; + if (output["ipAddress"] !== undefined) { + contents.PublicIpAddress = output["ipAddress"]; } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; + if (output["rootDeviceName"] !== undefined) { + contents.RootDeviceName = output["rootDeviceName"]; } - if (output["instanceLifecycle"] !== undefined) { - contents.InstanceLifecycle = output["instanceLifecycle"]; + if (output["monitoring"] !== undefined) { + contents.Monitoring = deserializeAws_ec2Monitoring(output["monitoring"], context); } - if (output["hypervisor"] !== undefined) { - contents.Hypervisor = output["hypervisor"]; + if (output["placement"] !== undefined) { + contents.Placement = deserializeAws_ec2Placement(output["placement"], context); } - if (output["privateDnsName"] !== undefined) { - contents.PrivateDnsName = output["privateDnsName"]; + if (output["rootDeviceType"] !== undefined) { + contents.RootDeviceType = output["rootDeviceType"]; } if (output["cpuOptions"] !== undefined) { contents.CpuOptions = deserializeAws_ec2CpuOptions(output["cpuOptions"], context); } - if (output["launchTime"] !== undefined) { - contents.LaunchTime = new Date(output["launchTime"]); - } - if (output["capacityReservationSpecification"] !== undefined) { - contents.CapacityReservationSpecification = deserializeAws_ec2CapacityReservationSpecificationResponse( - output["capacityReservationSpecification"], - context - ); - } - if (output["placement"] !== undefined) { - contents.Placement = deserializeAws_ec2Placement(output["placement"], context); + if (output["hibernationOptions"] !== undefined) { + contents.HibernationOptions = deserializeAws_ec2HibernationOptions(output["hibernationOptions"], context); } - if (output["virtualizationType"] !== undefined) { - contents.VirtualizationType = output["virtualizationType"]; + if (output["hypervisor"] !== undefined) { + contents.Hypervisor = output["hypervisor"]; } - if (output["outpostArn"] !== undefined) { - contents.OutpostArn = output["outpostArn"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["monitoring"] !== undefined) { - contents.Monitoring = deserializeAws_ec2Monitoring(output["monitoring"], context); + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["ipAddress"] !== undefined) { - contents.PublicIpAddress = output["ipAddress"]; + if (output["instanceLifecycle"] !== undefined) { + contents.InstanceLifecycle = output["instanceLifecycle"]; } - if (output["architecture"] !== undefined) { - contents.Architecture = output["architecture"]; + if (output["privateIpAddress"] !== undefined) { + contents.PrivateIpAddress = output["privateIpAddress"]; } - if (output["rootDeviceName"] !== undefined) { - contents.RootDeviceName = output["rootDeviceName"]; + if (output["sourceDestCheck"] !== undefined) { + contents.SourceDestCheck = output["sourceDestCheck"] == "true"; } return contents; }; const deserializeAws_ec2InstanceAttribute = (output: any, context: __SerdeContext): InstanceAttribute => { let contents: any = { + SourceDestCheck: undefined, + KernelId: undefined, + SriovNetSupport: undefined, + InstanceId: undefined, + RootDeviceName: undefined, + BlockDeviceMappings: undefined, + EnaSupport: undefined, Groups: undefined, + InstanceType: undefined, DisableApiTermination: undefined, - InstanceInitiatedShutdownBehavior: undefined, - SriovNetSupport: undefined, ProductCodes: undefined, - RootDeviceName: undefined, + UserData: undefined, + InstanceInitiatedShutdownBehavior: undefined, EbsOptimized: undefined, RamdiskId: undefined, - InstanceType: undefined, - UserData: undefined, - BlockDeviceMappings: undefined, - EnaSupport: undefined, - InstanceId: undefined, - SourceDestCheck: undefined, - KernelId: undefined, }; + if (output["sourceDestCheck"] !== undefined) { + contents.SourceDestCheck = deserializeAws_ec2AttributeBooleanValue(output["sourceDestCheck"], context); + } + if (output["kernel"] !== undefined) { + contents.KernelId = deserializeAws_ec2AttributeValue(output["kernel"], context); + } + if (output["sriovNetSupport"] !== undefined) { + contents.SriovNetSupport = deserializeAws_ec2AttributeValue(output["sriovNetSupport"], context); + } + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; + } + if (output["rootDeviceName"] !== undefined) { + contents.RootDeviceName = deserializeAws_ec2AttributeValue(output["rootDeviceName"], context); + } + if (output.blockDeviceMapping === "") { + contents.BlockDeviceMappings = []; + } + if (output["blockDeviceMapping"] !== undefined && output["blockDeviceMapping"]["item"] !== undefined) { + contents.BlockDeviceMappings = deserializeAws_ec2InstanceBlockDeviceMappingList( + __getArrayIfSingleItem(output["blockDeviceMapping"]["item"]), + context + ); + } + if (output["enaSupport"] !== undefined) { + contents.EnaSupport = deserializeAws_ec2AttributeBooleanValue(output["enaSupport"], context); + } if (output.groupSet === "") { contents.Groups = []; } @@ -52853,18 +53962,12 @@ const deserializeAws_ec2InstanceAttribute = (output: any, context: __SerdeContex context ); } + if (output["instanceType"] !== undefined) { + contents.InstanceType = deserializeAws_ec2AttributeValue(output["instanceType"], context); + } if (output["disableApiTermination"] !== undefined) { contents.DisableApiTermination = deserializeAws_ec2AttributeBooleanValue(output["disableApiTermination"], context); } - if (output["instanceInitiatedShutdownBehavior"] !== undefined) { - contents.InstanceInitiatedShutdownBehavior = deserializeAws_ec2AttributeValue( - output["instanceInitiatedShutdownBehavior"], - context - ); - } - if (output["sriovNetSupport"] !== undefined) { - contents.SriovNetSupport = deserializeAws_ec2AttributeValue(output["sriovNetSupport"], context); - } if (output.productCodes === "") { contents.ProductCodes = []; } @@ -52874,41 +53977,20 @@ const deserializeAws_ec2InstanceAttribute = (output: any, context: __SerdeContex context ); } - if (output["rootDeviceName"] !== undefined) { - contents.RootDeviceName = deserializeAws_ec2AttributeValue(output["rootDeviceName"], context); - } - if (output["ebsOptimized"] !== undefined) { - contents.EbsOptimized = deserializeAws_ec2AttributeBooleanValue(output["ebsOptimized"], context); - } - if (output["ramdisk"] !== undefined) { - contents.RamdiskId = deserializeAws_ec2AttributeValue(output["ramdisk"], context); - } - if (output["instanceType"] !== undefined) { - contents.InstanceType = deserializeAws_ec2AttributeValue(output["instanceType"], context); - } if (output["userData"] !== undefined) { contents.UserData = deserializeAws_ec2AttributeValue(output["userData"], context); } - if (output.blockDeviceMapping === "") { - contents.BlockDeviceMappings = []; - } - if (output["blockDeviceMapping"] !== undefined && output["blockDeviceMapping"]["item"] !== undefined) { - contents.BlockDeviceMappings = deserializeAws_ec2InstanceBlockDeviceMappingList( - __getArrayIfSingleItem(output["blockDeviceMapping"]["item"]), + if (output["instanceInitiatedShutdownBehavior"] !== undefined) { + contents.InstanceInitiatedShutdownBehavior = deserializeAws_ec2AttributeValue( + output["instanceInitiatedShutdownBehavior"], context ); } - if (output["enaSupport"] !== undefined) { - contents.EnaSupport = deserializeAws_ec2AttributeBooleanValue(output["enaSupport"], context); - } - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; - } - if (output["sourceDestCheck"] !== undefined) { - contents.SourceDestCheck = deserializeAws_ec2AttributeBooleanValue(output["sourceDestCheck"], context); + if (output["ebsOptimized"] !== undefined) { + contents.EbsOptimized = deserializeAws_ec2AttributeBooleanValue(output["ebsOptimized"], context); } - if (output["kernel"] !== undefined) { - contents.KernelId = deserializeAws_ec2AttributeValue(output["kernel"], context); + if (output["ramdisk"] !== undefined) { + contents.RamdiskId = deserializeAws_ec2AttributeValue(output["ramdisk"], context); } return contents; }; @@ -52918,15 +54000,15 @@ const deserializeAws_ec2InstanceBlockDeviceMapping = ( context: __SerdeContext ): InstanceBlockDeviceMapping => { let contents: any = { - DeviceName: undefined, Ebs: undefined, + DeviceName: undefined, }; - if (output["deviceName"] !== undefined) { - contents.DeviceName = output["deviceName"]; - } if (output["ebs"] !== undefined) { contents.Ebs = deserializeAws_ec2EbsInstanceBlockDevice(output["ebs"], context); } + if (output["deviceName"] !== undefined) { + contents.DeviceName = output["deviceName"]; + } return contents; }; @@ -52940,32 +54022,32 @@ const deserializeAws_ec2InstanceBlockDeviceMappingList = ( const deserializeAws_ec2InstanceCapacity = (output: any, context: __SerdeContext): InstanceCapacity => { let contents: any = { AvailableCapacity: undefined, - TotalCapacity: undefined, InstanceType: undefined, + TotalCapacity: undefined, }; if (output["availableCapacity"] !== undefined) { contents.AvailableCapacity = parseInt(output["availableCapacity"]); } - if (output["totalCapacity"] !== undefined) { - contents.TotalCapacity = parseInt(output["totalCapacity"]); - } if (output["instanceType"] !== undefined) { contents.InstanceType = output["instanceType"]; } + if (output["totalCapacity"] !== undefined) { + contents.TotalCapacity = parseInt(output["totalCapacity"]); + } return contents; }; const deserializeAws_ec2InstanceCount = (output: any, context: __SerdeContext): InstanceCount => { let contents: any = { - State: undefined, InstanceCount: undefined, + State: undefined, }; - if (output["state"] !== undefined) { - contents.State = output["state"]; - } if (output["instanceCount"] !== undefined) { contents.InstanceCount = parseInt(output["instanceCount"]); } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } return contents; }; @@ -53060,36 +54142,36 @@ const deserializeAws_ec2InstanceMetadataOptionsResponse = ( ): InstanceMetadataOptionsResponse => { let contents: any = { HttpPutResponseHopLimit: undefined, - State: undefined, - HttpTokens: undefined, HttpEndpoint: undefined, + HttpTokens: undefined, + State: undefined, }; if (output["httpPutResponseHopLimit"] !== undefined) { contents.HttpPutResponseHopLimit = parseInt(output["httpPutResponseHopLimit"]); } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["httpEndpoint"] !== undefined) { + contents.HttpEndpoint = output["httpEndpoint"]; } if (output["httpTokens"] !== undefined) { contents.HttpTokens = output["httpTokens"]; } - if (output["httpEndpoint"] !== undefined) { - contents.HttpEndpoint = output["httpEndpoint"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; } return contents; }; const deserializeAws_ec2InstanceMonitoring = (output: any, context: __SerdeContext): InstanceMonitoring => { let contents: any = { - Monitoring: undefined, InstanceId: undefined, + Monitoring: undefined, }; - if (output["monitoring"] !== undefined) { - contents.Monitoring = deserializeAws_ec2Monitoring(output["monitoring"], context); - } if (output["instanceId"] !== undefined) { contents.InstanceId = output["instanceId"]; } + if (output["monitoring"] !== undefined) { + contents.Monitoring = deserializeAws_ec2Monitoring(output["monitoring"], context); + } return contents; }; @@ -53099,40 +54181,31 @@ const deserializeAws_ec2InstanceMonitoringList = (output: any, context: __SerdeC const deserializeAws_ec2InstanceNetworkInterface = (output: any, context: __SerdeContext): InstanceNetworkInterface => { let contents: any = { - Association: undefined, - PrivateIpAddresses: undefined, - NetworkInterfaceId: undefined, - SubnetId: undefined, + VpcId: undefined, + OwnerId: undefined, + InterfaceType: undefined, Status: undefined, Attachment: undefined, - OwnerId: undefined, - Ipv6Addresses: undefined, - PrivateIpAddress: undefined, PrivateDnsName: undefined, MacAddress: undefined, + PrivateIpAddresses: undefined, + SubnetId: undefined, SourceDestCheck: undefined, Groups: undefined, Description: undefined, - VpcId: undefined, - InterfaceType: undefined, + PrivateIpAddress: undefined, + Association: undefined, + Ipv6Addresses: undefined, + NetworkInterfaceId: undefined, }; - if (output["association"] !== undefined) { - contents.Association = deserializeAws_ec2InstanceNetworkInterfaceAssociation(output["association"], context); - } - if (output.privateIpAddressesSet === "") { - contents.PrivateIpAddresses = []; - } - if (output["privateIpAddressesSet"] !== undefined && output["privateIpAddressesSet"]["item"] !== undefined) { - contents.PrivateIpAddresses = deserializeAws_ec2InstancePrivateIpAddressList( - __getArrayIfSingleItem(output["privateIpAddressesSet"]["item"]), - context - ); + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; } - if (output["networkInterfaceId"] !== undefined) { - contents.NetworkInterfaceId = output["networkInterfaceId"]; + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } - if (output["subnetId"] !== undefined) { - contents.SubnetId = output["subnetId"]; + if (output["interfaceType"] !== undefined) { + contents.InterfaceType = output["interfaceType"]; } if (output["status"] !== undefined) { contents.Status = output["status"]; @@ -53140,27 +54213,24 @@ const deserializeAws_ec2InstanceNetworkInterface = (output: any, context: __Serd if (output["attachment"] !== undefined) { contents.Attachment = deserializeAws_ec2InstanceNetworkInterfaceAttachment(output["attachment"], context); } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; - } - if (output.ipv6AddressesSet === "") { - contents.Ipv6Addresses = []; - } - if (output["ipv6AddressesSet"] !== undefined && output["ipv6AddressesSet"]["item"] !== undefined) { - contents.Ipv6Addresses = deserializeAws_ec2InstanceIpv6AddressList( - __getArrayIfSingleItem(output["ipv6AddressesSet"]["item"]), - context - ); - } - if (output["privateIpAddress"] !== undefined) { - contents.PrivateIpAddress = output["privateIpAddress"]; - } if (output["privateDnsName"] !== undefined) { contents.PrivateDnsName = output["privateDnsName"]; } if (output["macAddress"] !== undefined) { contents.MacAddress = output["macAddress"]; } + if (output.privateIpAddressesSet === "") { + contents.PrivateIpAddresses = []; + } + if (output["privateIpAddressesSet"] !== undefined && output["privateIpAddressesSet"]["item"] !== undefined) { + contents.PrivateIpAddresses = deserializeAws_ec2InstancePrivateIpAddressList( + __getArrayIfSingleItem(output["privateIpAddressesSet"]["item"]), + context + ); + } + if (output["subnetId"] !== undefined) { + contents.SubnetId = output["subnetId"]; + } if (output["sourceDestCheck"] !== undefined) { contents.SourceDestCheck = output["sourceDestCheck"] == "true"; } @@ -53176,11 +54246,23 @@ const deserializeAws_ec2InstanceNetworkInterface = (output: any, context: __Serd if (output["description"] !== undefined) { contents.Description = output["description"]; } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; + if (output["privateIpAddress"] !== undefined) { + contents.PrivateIpAddress = output["privateIpAddress"]; } - if (output["interfaceType"] !== undefined) { - contents.InterfaceType = output["interfaceType"]; + if (output["association"] !== undefined) { + contents.Association = deserializeAws_ec2InstanceNetworkInterfaceAssociation(output["association"], context); + } + if (output.ipv6AddressesSet === "") { + contents.Ipv6Addresses = []; + } + if (output["ipv6AddressesSet"] !== undefined && output["ipv6AddressesSet"]["item"] !== undefined) { + contents.Ipv6Addresses = deserializeAws_ec2InstanceIpv6AddressList( + __getArrayIfSingleItem(output["ipv6AddressesSet"]["item"]), + context + ); + } + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = output["networkInterfaceId"]; } return contents; }; @@ -53190,19 +54272,23 @@ const deserializeAws_ec2InstanceNetworkInterfaceAssociation = ( context: __SerdeContext ): InstanceNetworkInterfaceAssociation => { let contents: any = { - PublicIp: undefined, PublicDnsName: undefined, + PublicIp: undefined, IpOwnerId: undefined, + CarrierIp: undefined, }; - if (output["publicIp"] !== undefined) { - contents.PublicIp = output["publicIp"]; - } if (output["publicDnsName"] !== undefined) { contents.PublicDnsName = output["publicDnsName"]; } + if (output["publicIp"] !== undefined) { + contents.PublicIp = output["publicIp"]; + } if (output["ipOwnerId"] !== undefined) { contents.IpOwnerId = output["ipOwnerId"]; } + if (output["carrierIp"] !== undefined) { + contents.CarrierIp = output["carrierIp"]; + } return contents; }; @@ -53211,26 +54297,26 @@ const deserializeAws_ec2InstanceNetworkInterfaceAttachment = ( context: __SerdeContext ): InstanceNetworkInterfaceAttachment => { let contents: any = { - AttachmentId: undefined, Status: undefined, - DeleteOnTermination: undefined, - DeviceIndex: undefined, AttachTime: undefined, + DeviceIndex: undefined, + AttachmentId: undefined, + DeleteOnTermination: undefined, }; - if (output["attachmentId"] !== undefined) { - contents.AttachmentId = output["attachmentId"]; - } if (output["status"] !== undefined) { contents.Status = output["status"]; } - if (output["deleteOnTermination"] !== undefined) { - contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; + if (output["attachTime"] !== undefined) { + contents.AttachTime = new Date(output["attachTime"]); } if (output["deviceIndex"] !== undefined) { contents.DeviceIndex = parseInt(output["deviceIndex"]); } - if (output["attachTime"] !== undefined) { - contents.AttachTime = new Date(output["attachTime"]); + if (output["attachmentId"] !== undefined) { + contents.AttachmentId = output["attachmentId"]; + } + if (output["deleteOnTermination"] !== undefined) { + contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; } return contents; }; @@ -53247,47 +54333,21 @@ const deserializeAws_ec2InstanceNetworkInterfaceSpecification = ( context: __SerdeContext ): InstanceNetworkInterfaceSpecification => { let contents: any = { - DeleteOnTermination: undefined, - PrivateIpAddress: undefined, - DeviceIndex: undefined, - Ipv6Addresses: undefined, - SecondaryPrivateIpAddressCount: undefined, - NetworkInterfaceId: undefined, - InterfaceType: undefined, PrivateIpAddresses: undefined, SubnetId: undefined, - Description: undefined, Groups: undefined, + PrivateIpAddress: undefined, + NetworkInterfaceId: undefined, + DeleteOnTermination: undefined, + DeviceIndex: undefined, + Ipv6Addresses: undefined, Ipv6AddressCount: undefined, AssociatePublicIpAddress: undefined, + Description: undefined, + InterfaceType: undefined, + AssociateCarrierIpAddress: undefined, + SecondaryPrivateIpAddressCount: undefined, }; - if (output["deleteOnTermination"] !== undefined) { - contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; - } - if (output["privateIpAddress"] !== undefined) { - contents.PrivateIpAddress = output["privateIpAddress"]; - } - if (output["deviceIndex"] !== undefined) { - contents.DeviceIndex = parseInt(output["deviceIndex"]); - } - if (output.ipv6AddressesSet === "") { - contents.Ipv6Addresses = []; - } - if (output["ipv6AddressesSet"] !== undefined && output["ipv6AddressesSet"]["item"] !== undefined) { - contents.Ipv6Addresses = deserializeAws_ec2InstanceIpv6AddressList( - __getArrayIfSingleItem(output["ipv6AddressesSet"]["item"]), - context - ); - } - if (output["secondaryPrivateIpAddressCount"] !== undefined) { - contents.SecondaryPrivateIpAddressCount = parseInt(output["secondaryPrivateIpAddressCount"]); - } - if (output["networkInterfaceId"] !== undefined) { - contents.NetworkInterfaceId = output["networkInterfaceId"]; - } - if (output["InterfaceType"] !== undefined) { - contents.InterfaceType = output["InterfaceType"]; - } if (output.privateIpAddressesSet === "") { contents.PrivateIpAddresses = []; } @@ -53300,9 +54360,6 @@ const deserializeAws_ec2InstanceNetworkInterfaceSpecification = ( if (output["subnetId"] !== undefined) { contents.SubnetId = output["subnetId"]; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } if (output.SecurityGroupId === "") { contents.Groups = []; } @@ -53312,12 +54369,45 @@ const deserializeAws_ec2InstanceNetworkInterfaceSpecification = ( context ); } + if (output["privateIpAddress"] !== undefined) { + contents.PrivateIpAddress = output["privateIpAddress"]; + } + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = output["networkInterfaceId"]; + } + if (output["deleteOnTermination"] !== undefined) { + contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; + } + if (output["deviceIndex"] !== undefined) { + contents.DeviceIndex = parseInt(output["deviceIndex"]); + } + if (output.ipv6AddressesSet === "") { + contents.Ipv6Addresses = []; + } + if (output["ipv6AddressesSet"] !== undefined && output["ipv6AddressesSet"]["item"] !== undefined) { + contents.Ipv6Addresses = deserializeAws_ec2InstanceIpv6AddressList( + __getArrayIfSingleItem(output["ipv6AddressesSet"]["item"]), + context + ); + } if (output["ipv6AddressCount"] !== undefined) { contents.Ipv6AddressCount = parseInt(output["ipv6AddressCount"]); } if (output["associatePublicIpAddress"] !== undefined) { contents.AssociatePublicIpAddress = output["associatePublicIpAddress"] == "true"; } + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } + if (output["InterfaceType"] !== undefined) { + contents.InterfaceType = output["InterfaceType"]; + } + if (output["AssociateCarrierIpAddress"] !== undefined) { + contents.AssociateCarrierIpAddress = output["AssociateCarrierIpAddress"] == "true"; + } + if (output["secondaryPrivateIpAddressCount"] !== undefined) { + contents.SecondaryPrivateIpAddressCount = parseInt(output["secondaryPrivateIpAddressCount"]); + } return contents; }; @@ -53330,23 +54420,23 @@ const deserializeAws_ec2InstanceNetworkInterfaceSpecificationList = ( const deserializeAws_ec2InstancePrivateIpAddress = (output: any, context: __SerdeContext): InstancePrivateIpAddress => { let contents: any = { - PrivateIpAddress: undefined, + Association: undefined, Primary: undefined, + PrivateIpAddress: undefined, PrivateDnsName: undefined, - Association: undefined, }; - if (output["privateIpAddress"] !== undefined) { - contents.PrivateIpAddress = output["privateIpAddress"]; + if (output["association"] !== undefined) { + contents.Association = deserializeAws_ec2InstanceNetworkInterfaceAssociation(output["association"], context); } if (output["primary"] !== undefined) { contents.Primary = output["primary"] == "true"; } + if (output["privateIpAddress"] !== undefined) { + contents.PrivateIpAddress = output["privateIpAddress"]; + } if (output["privateDnsName"] !== undefined) { contents.PrivateDnsName = output["privateDnsName"]; } - if (output["association"] !== undefined) { - contents.Association = deserializeAws_ec2InstanceNetworkInterfaceAssociation(output["association"], context); - } return contents; }; @@ -53373,16 +54463,16 @@ const deserializeAws_ec2InstanceState = (output: any, context: __SerdeContext): const deserializeAws_ec2InstanceStateChange = (output: any, context: __SerdeContext): InstanceStateChange => { let contents: any = { - PreviousState: undefined, CurrentState: undefined, + PreviousState: undefined, InstanceId: undefined, }; - if (output["previousState"] !== undefined) { - contents.PreviousState = deserializeAws_ec2InstanceState(output["previousState"], context); - } if (output["currentState"] !== undefined) { contents.CurrentState = deserializeAws_ec2InstanceState(output["currentState"], context); } + if (output["previousState"] !== undefined) { + contents.PreviousState = deserializeAws_ec2InstanceState(output["previousState"], context); + } if (output["instanceId"] !== undefined) { contents.InstanceId = output["instanceId"]; } @@ -53395,58 +54485,58 @@ const deserializeAws_ec2InstanceStateChangeList = (output: any, context: __Serde const deserializeAws_ec2InstanceStatus = (output: any, context: __SerdeContext): InstanceStatus => { let contents: any = { - SystemStatus: undefined, + Events: undefined, AvailabilityZone: undefined, - InstanceStatus: undefined, - InstanceId: undefined, InstanceState: undefined, + InstanceId: undefined, + InstanceStatus: undefined, OutpostArn: undefined, - Events: undefined, + SystemStatus: undefined, }; - if (output["systemStatus"] !== undefined) { - contents.SystemStatus = deserializeAws_ec2InstanceStatusSummary(output["systemStatus"], context); + if (output.eventsSet === "") { + contents.Events = []; + } + if (output["eventsSet"] !== undefined && output["eventsSet"]["item"] !== undefined) { + contents.Events = deserializeAws_ec2InstanceStatusEventList( + __getArrayIfSingleItem(output["eventsSet"]["item"]), + context + ); } if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } - if (output["instanceStatus"] !== undefined) { - contents.InstanceStatus = deserializeAws_ec2InstanceStatusSummary(output["instanceStatus"], context); + if (output["instanceState"] !== undefined) { + contents.InstanceState = deserializeAws_ec2InstanceState(output["instanceState"], context); } if (output["instanceId"] !== undefined) { contents.InstanceId = output["instanceId"]; } - if (output["instanceState"] !== undefined) { - contents.InstanceState = deserializeAws_ec2InstanceState(output["instanceState"], context); + if (output["instanceStatus"] !== undefined) { + contents.InstanceStatus = deserializeAws_ec2InstanceStatusSummary(output["instanceStatus"], context); } if (output["outpostArn"] !== undefined) { contents.OutpostArn = output["outpostArn"]; } - if (output.eventsSet === "") { - contents.Events = []; - } - if (output["eventsSet"] !== undefined && output["eventsSet"]["item"] !== undefined) { - contents.Events = deserializeAws_ec2InstanceStatusEventList( - __getArrayIfSingleItem(output["eventsSet"]["item"]), - context - ); + if (output["systemStatus"] !== undefined) { + contents.SystemStatus = deserializeAws_ec2InstanceStatusSummary(output["systemStatus"], context); } return contents; }; const deserializeAws_ec2InstanceStatusDetails = (output: any, context: __SerdeContext): InstanceStatusDetails => { let contents: any = { - ImpairedSince: undefined, - Name: undefined, Status: undefined, + Name: undefined, + ImpairedSince: undefined, }; - if (output["impairedSince"] !== undefined) { - contents.ImpairedSince = new Date(output["impairedSince"]); + if (output["status"] !== undefined) { + contents.Status = output["status"]; } if (output["name"] !== undefined) { contents.Name = output["name"]; } - if (output["status"] !== undefined) { - contents.Status = output["status"]; + if (output["impairedSince"] !== undefined) { + contents.ImpairedSince = new Date(output["impairedSince"]); } return contents; }; @@ -53457,16 +54547,22 @@ const deserializeAws_ec2InstanceStatusDetailsList = (output: any, context: __Ser const deserializeAws_ec2InstanceStatusEvent = (output: any, context: __SerdeContext): InstanceStatusEvent => { let contents: any = { + NotBefore: undefined, Code: undefined, + InstanceEventId: undefined, NotBeforeDeadline: undefined, NotAfter: undefined, Description: undefined, - NotBefore: undefined, - InstanceEventId: undefined, }; + if (output["notBefore"] !== undefined) { + contents.NotBefore = new Date(output["notBefore"]); + } if (output["code"] !== undefined) { contents.Code = output["code"]; } + if (output["instanceEventId"] !== undefined) { + contents.InstanceEventId = output["instanceEventId"]; + } if (output["notBeforeDeadline"] !== undefined) { contents.NotBeforeDeadline = new Date(output["notBeforeDeadline"]); } @@ -53476,12 +54572,6 @@ const deserializeAws_ec2InstanceStatusEvent = (output: any, context: __SerdeCont if (output["description"] !== undefined) { contents.Description = output["description"]; } - if (output["notBefore"] !== undefined) { - contents.NotBefore = new Date(output["notBefore"]); - } - if (output["instanceEventId"] !== undefined) { - contents.InstanceEventId = output["instanceEventId"]; - } return contents; }; @@ -53515,18 +54605,18 @@ const deserializeAws_ec2InstanceStatusSummary = (output: any, context: __SerdeCo const deserializeAws_ec2InstanceStorageInfo = (output: any, context: __SerdeContext): InstanceStorageInfo => { let contents: any = { - Disks: undefined, TotalSizeInGB: undefined, + Disks: undefined, }; + if (output["totalSizeInGB"] !== undefined) { + contents.TotalSizeInGB = parseInt(output["totalSizeInGB"]); + } if (output.disks === "") { contents.Disks = []; } if (output["disks"] !== undefined && output["disks"]["item"] !== undefined) { contents.Disks = deserializeAws_ec2DiskInfoList(__getArrayIfSingleItem(output["disks"]["item"]), context); } - if (output["totalSizeInGB"] !== undefined) { - contents.TotalSizeInGB = parseInt(output["totalSizeInGB"]); - } return contents; }; @@ -53559,32 +54649,68 @@ const deserializeAws_ec2InstanceTagNotificationAttribute = ( const deserializeAws_ec2InstanceTypeInfo = (output: any, context: __SerdeContext): InstanceTypeInfo => { let contents: any = { - Hypervisor: undefined, + InstanceType: undefined, + SupportedRootDeviceTypes: undefined, + SupportedVirtualizationTypes: undefined, + BurstablePerformanceSupported: undefined, + GpuInfo: undefined, + BareMetal: undefined, + FpgaInfo: undefined, + AutoRecoverySupported: undefined, InferenceAcceleratorInfo: undefined, - PlacementGroupInfo: undefined, - NetworkInfo: undefined, EbsInfo: undefined, - HibernationSupported: undefined, - CurrentGeneration: undefined, + NetworkInfo: undefined, + PlacementGroupInfo: undefined, + Hypervisor: undefined, InstanceStorageInfo: undefined, + ProcessorInfo: undefined, FreeTierEligible: undefined, - AutoRecoverySupported: undefined, - BareMetal: undefined, - FpgaInfo: undefined, - GpuInfo: undefined, + InstanceStorageSupported: undefined, + HibernationSupported: undefined, VCpuInfo: undefined, - SupportedRootDeviceTypes: undefined, - InstanceType: undefined, - SupportedVirtualizationTypes: undefined, + CurrentGeneration: undefined, MemoryInfo: undefined, - SupportedUsageClasses: undefined, DedicatedHostsSupported: undefined, - ProcessorInfo: undefined, - BurstablePerformanceSupported: undefined, - InstanceStorageSupported: undefined, + SupportedUsageClasses: undefined, }; - if (output["hypervisor"] !== undefined) { - contents.Hypervisor = output["hypervisor"]; + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; + } + if (output.supportedRootDeviceTypes === "") { + contents.SupportedRootDeviceTypes = []; + } + if (output["supportedRootDeviceTypes"] !== undefined && output["supportedRootDeviceTypes"]["item"] !== undefined) { + contents.SupportedRootDeviceTypes = deserializeAws_ec2RootDeviceTypeList( + __getArrayIfSingleItem(output["supportedRootDeviceTypes"]["item"]), + context + ); + } + if (output.supportedVirtualizationTypes === "") { + contents.SupportedVirtualizationTypes = []; + } + if ( + output["supportedVirtualizationTypes"] !== undefined && + output["supportedVirtualizationTypes"]["item"] !== undefined + ) { + contents.SupportedVirtualizationTypes = deserializeAws_ec2VirtualizationTypeList( + __getArrayIfSingleItem(output["supportedVirtualizationTypes"]["item"]), + context + ); + } + if (output["burstablePerformanceSupported"] !== undefined) { + contents.BurstablePerformanceSupported = output["burstablePerformanceSupported"] == "true"; + } + if (output["gpuInfo"] !== undefined) { + contents.GpuInfo = deserializeAws_ec2GpuInfo(output["gpuInfo"], context); + } + if (output["bareMetal"] !== undefined) { + contents.BareMetal = output["bareMetal"] == "true"; + } + if (output["fpgaInfo"] !== undefined) { + contents.FpgaInfo = deserializeAws_ec2FpgaInfo(output["fpgaInfo"], context); + } + if (output["autoRecoverySupported"] !== undefined) { + contents.AutoRecoverySupported = output["autoRecoverySupported"] == "true"; } if (output["inferenceAcceleratorInfo"] !== undefined) { contents.InferenceAcceleratorInfo = deserializeAws_ec2InferenceAcceleratorInfo( @@ -53592,69 +54718,45 @@ const deserializeAws_ec2InstanceTypeInfo = (output: any, context: __SerdeContext context ); } - if (output["placementGroupInfo"] !== undefined) { - contents.PlacementGroupInfo = deserializeAws_ec2PlacementGroupInfo(output["placementGroupInfo"], context); + if (output["ebsInfo"] !== undefined) { + contents.EbsInfo = deserializeAws_ec2EbsInfo(output["ebsInfo"], context); } if (output["networkInfo"] !== undefined) { contents.NetworkInfo = deserializeAws_ec2NetworkInfo(output["networkInfo"], context); } - if (output["ebsInfo"] !== undefined) { - contents.EbsInfo = deserializeAws_ec2EbsInfo(output["ebsInfo"], context); - } - if (output["hibernationSupported"] !== undefined) { - contents.HibernationSupported = output["hibernationSupported"] == "true"; + if (output["placementGroupInfo"] !== undefined) { + contents.PlacementGroupInfo = deserializeAws_ec2PlacementGroupInfo(output["placementGroupInfo"], context); } - if (output["currentGeneration"] !== undefined) { - contents.CurrentGeneration = output["currentGeneration"] == "true"; + if (output["hypervisor"] !== undefined) { + contents.Hypervisor = output["hypervisor"]; } if (output["instanceStorageInfo"] !== undefined) { contents.InstanceStorageInfo = deserializeAws_ec2InstanceStorageInfo(output["instanceStorageInfo"], context); } + if (output["processorInfo"] !== undefined) { + contents.ProcessorInfo = deserializeAws_ec2ProcessorInfo(output["processorInfo"], context); + } if (output["freeTierEligible"] !== undefined) { contents.FreeTierEligible = output["freeTierEligible"] == "true"; } - if (output["autoRecoverySupported"] !== undefined) { - contents.AutoRecoverySupported = output["autoRecoverySupported"] == "true"; - } - if (output["bareMetal"] !== undefined) { - contents.BareMetal = output["bareMetal"] == "true"; - } - if (output["fpgaInfo"] !== undefined) { - contents.FpgaInfo = deserializeAws_ec2FpgaInfo(output["fpgaInfo"], context); + if (output["instanceStorageSupported"] !== undefined) { + contents.InstanceStorageSupported = output["instanceStorageSupported"] == "true"; } - if (output["gpuInfo"] !== undefined) { - contents.GpuInfo = deserializeAws_ec2GpuInfo(output["gpuInfo"], context); + if (output["hibernationSupported"] !== undefined) { + contents.HibernationSupported = output["hibernationSupported"] == "true"; } if (output["vCpuInfo"] !== undefined) { contents.VCpuInfo = deserializeAws_ec2VCpuInfo(output["vCpuInfo"], context); } - if (output.supportedRootDeviceTypes === "") { - contents.SupportedRootDeviceTypes = []; - } - if (output["supportedRootDeviceTypes"] !== undefined && output["supportedRootDeviceTypes"]["item"] !== undefined) { - contents.SupportedRootDeviceTypes = deserializeAws_ec2RootDeviceTypeList( - __getArrayIfSingleItem(output["supportedRootDeviceTypes"]["item"]), - context - ); - } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; - } - if (output.supportedVirtualizationTypes === "") { - contents.SupportedVirtualizationTypes = []; - } - if ( - output["supportedVirtualizationTypes"] !== undefined && - output["supportedVirtualizationTypes"]["item"] !== undefined - ) { - contents.SupportedVirtualizationTypes = deserializeAws_ec2VirtualizationTypeList( - __getArrayIfSingleItem(output["supportedVirtualizationTypes"]["item"]), - context - ); + if (output["currentGeneration"] !== undefined) { + contents.CurrentGeneration = output["currentGeneration"] == "true"; } if (output["memoryInfo"] !== undefined) { contents.MemoryInfo = deserializeAws_ec2MemoryInfo(output["memoryInfo"], context); } + if (output["dedicatedHostsSupported"] !== undefined) { + contents.DedicatedHostsSupported = output["dedicatedHostsSupported"] == "true"; + } if (output.supportedUsageClasses === "") { contents.SupportedUsageClasses = []; } @@ -53664,18 +54766,6 @@ const deserializeAws_ec2InstanceTypeInfo = (output: any, context: __SerdeContext context ); } - if (output["dedicatedHostsSupported"] !== undefined) { - contents.DedicatedHostsSupported = output["dedicatedHostsSupported"] == "true"; - } - if (output["processorInfo"] !== undefined) { - contents.ProcessorInfo = deserializeAws_ec2ProcessorInfo(output["processorInfo"], context); - } - if (output["burstablePerformanceSupported"] !== undefined) { - contents.BurstablePerformanceSupported = output["burstablePerformanceSupported"] == "true"; - } - if (output["instanceStorageSupported"] !== undefined) { - contents.InstanceStorageSupported = output["instanceStorageSupported"] == "true"; - } return contents; }; @@ -53685,19 +54775,19 @@ const deserializeAws_ec2InstanceTypeInfoList = (output: any, context: __SerdeCon const deserializeAws_ec2InstanceTypeOffering = (output: any, context: __SerdeContext): InstanceTypeOffering => { let contents: any = { + Location: undefined, InstanceType: undefined, LocationType: undefined, - Location: undefined, }; + if (output["location"] !== undefined) { + contents.Location = output["location"]; + } if (output["instanceType"] !== undefined) { contents.InstanceType = output["instanceType"]; } if (output["locationType"] !== undefined) { contents.LocationType = output["locationType"]; } - if (output["location"] !== undefined) { - contents.Location = output["location"]; - } return contents; }; @@ -53707,15 +54797,15 @@ const deserializeAws_ec2InstanceTypeOfferingsList = (output: any, context: __Ser const deserializeAws_ec2InstanceUsage = (output: any, context: __SerdeContext): InstanceUsage => { let contents: any = { - UsedInstanceCount: undefined, AccountId: undefined, + UsedInstanceCount: undefined, }; - if (output["usedInstanceCount"] !== undefined) { - contents.UsedInstanceCount = parseInt(output["usedInstanceCount"]); - } if (output["accountId"] !== undefined) { contents.AccountId = output["accountId"]; } + if (output["usedInstanceCount"] !== undefined) { + contents.UsedInstanceCount = parseInt(output["usedInstanceCount"]); + } return contents; }; @@ -53726,22 +54816,13 @@ const deserializeAws_ec2InstanceUsageSet = (output: any, context: __SerdeContext const deserializeAws_ec2InternetGateway = (output: any, context: __SerdeContext): InternetGateway => { let contents: any = { InternetGatewayId: undefined, - Tags: undefined, - OwnerId: undefined, Attachments: undefined, + OwnerId: undefined, + Tags: undefined, }; if (output["internetGatewayId"] !== undefined) { contents.InternetGatewayId = output["internetGatewayId"]; } - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); - } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; - } if (output.attachmentSet === "") { contents.Attachments = []; } @@ -53751,6 +54832,15 @@ const deserializeAws_ec2InternetGateway = (output: any, context: __SerdeContext) context ); } + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + } return contents; }; @@ -53759,15 +54849,15 @@ const deserializeAws_ec2InternetGatewayAttachment = ( context: __SerdeContext ): InternetGatewayAttachment => { let contents: any = { - VpcId: undefined, State: undefined, + VpcId: undefined, }; - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; - } if (output["state"] !== undefined) { contents.State = output["state"]; } + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; + } return contents; }; @@ -53784,20 +54874,14 @@ const deserializeAws_ec2InternetGatewayList = (output: any, context: __SerdeCont const deserializeAws_ec2IpPermission = (output: any, context: __SerdeContext): IpPermission => { let contents: any = { - IpRanges: undefined, Ipv6Ranges: undefined, - ToPort: undefined, + UserIdGroupPairs: undefined, FromPort: undefined, - IpProtocol: undefined, PrefixListIds: undefined, - UserIdGroupPairs: undefined, + IpRanges: undefined, + ToPort: undefined, + IpProtocol: undefined, }; - if (output.ipRanges === "") { - contents.IpRanges = []; - } - if (output["ipRanges"] !== undefined && output["ipRanges"]["item"] !== undefined) { - contents.IpRanges = deserializeAws_ec2IpRangeList(__getArrayIfSingleItem(output["ipRanges"]["item"]), context); - } if (output.ipv6Ranges === "") { contents.Ipv6Ranges = []; } @@ -53807,15 +54891,18 @@ const deserializeAws_ec2IpPermission = (output: any, context: __SerdeContext): I context ); } - if (output["toPort"] !== undefined) { - contents.ToPort = parseInt(output["toPort"]); + if (output.groups === "") { + contents.UserIdGroupPairs = []; + } + if (output["groups"] !== undefined && output["groups"]["item"] !== undefined) { + contents.UserIdGroupPairs = deserializeAws_ec2UserIdGroupPairList( + __getArrayIfSingleItem(output["groups"]["item"]), + context + ); } if (output["fromPort"] !== undefined) { contents.FromPort = parseInt(output["fromPort"]); } - if (output["ipProtocol"] !== undefined) { - contents.IpProtocol = output["ipProtocol"]; - } if (output.prefixListIds === "") { contents.PrefixListIds = []; } @@ -53825,14 +54912,17 @@ const deserializeAws_ec2IpPermission = (output: any, context: __SerdeContext): I context ); } - if (output.groups === "") { - contents.UserIdGroupPairs = []; + if (output.ipRanges === "") { + contents.IpRanges = []; } - if (output["groups"] !== undefined && output["groups"]["item"] !== undefined) { - contents.UserIdGroupPairs = deserializeAws_ec2UserIdGroupPairList( - __getArrayIfSingleItem(output["groups"]["item"]), - context - ); + if (output["ipRanges"] !== undefined && output["ipRanges"]["item"] !== undefined) { + contents.IpRanges = deserializeAws_ec2IpRangeList(__getArrayIfSingleItem(output["ipRanges"]["item"]), context); + } + if (output["toPort"] !== undefined) { + contents.ToPort = parseInt(output["toPort"]); + } + if (output["ipProtocol"] !== undefined) { + contents.IpProtocol = output["ipProtocol"]; } return contents; }; @@ -53902,9 +54992,9 @@ const deserializeAws_ec2Ipv6CidrBlockSet = (output: any, context: __SerdeContext const deserializeAws_ec2Ipv6Pool = (output: any, context: __SerdeContext): Ipv6Pool => { let contents: any = { Tags: undefined, + PoolCidrBlocks: undefined, PoolId: undefined, Description: undefined, - PoolCidrBlocks: undefined, }; if (output.tagSet === "") { contents.Tags = []; @@ -53912,12 +55002,6 @@ const deserializeAws_ec2Ipv6Pool = (output: any, context: __SerdeContext): Ipv6P if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["poolId"] !== undefined) { - contents.PoolId = output["poolId"]; - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } if (output.poolCidrBlockSet === "") { contents.PoolCidrBlocks = []; } @@ -53927,6 +55011,12 @@ const deserializeAws_ec2Ipv6Pool = (output: any, context: __SerdeContext): Ipv6P context ); } + if (output["poolId"] !== undefined) { + contents.PoolId = output["poolId"]; + } + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } return contents; }; @@ -53936,15 +55026,15 @@ const deserializeAws_ec2Ipv6PoolSet = (output: any, context: __SerdeContext): Ip const deserializeAws_ec2Ipv6Range = (output: any, context: __SerdeContext): Ipv6Range => { let contents: any = { - CidrIpv6: undefined, Description: undefined, + CidrIpv6: undefined, }; - if (output["cidrIpv6"] !== undefined) { - contents.CidrIpv6 = output["cidrIpv6"]; - } if (output["description"] !== undefined) { contents.Description = output["description"]; } + if (output["cidrIpv6"] !== undefined) { + contents.CidrIpv6 = output["cidrIpv6"]; + } return contents; }; @@ -53954,54 +55044,54 @@ const deserializeAws_ec2Ipv6RangeList = (output: any, context: __SerdeContext): const deserializeAws_ec2KeyPair = (output: any, context: __SerdeContext): KeyPair => { let contents: any = { - KeyFingerprint: undefined, KeyName: undefined, - KeyMaterial: undefined, KeyPairId: undefined, + KeyFingerprint: undefined, Tags: undefined, + KeyMaterial: undefined, }; - if (output["keyFingerprint"] !== undefined) { - contents.KeyFingerprint = output["keyFingerprint"]; - } if (output["keyName"] !== undefined) { contents.KeyName = output["keyName"]; } - if (output["keyMaterial"] !== undefined) { - contents.KeyMaterial = output["keyMaterial"]; - } if (output["keyPairId"] !== undefined) { contents.KeyPairId = output["keyPairId"]; } + if (output["keyFingerprint"] !== undefined) { + contents.KeyFingerprint = output["keyFingerprint"]; + } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["keyMaterial"] !== undefined) { + contents.KeyMaterial = output["keyMaterial"]; + } return contents; }; const deserializeAws_ec2KeyPairInfo = (output: any, context: __SerdeContext): KeyPairInfo => { let contents: any = { - Tags: undefined, - KeyFingerprint: undefined, - KeyPairId: undefined, KeyName: undefined, + KeyPairId: undefined, + KeyFingerprint: undefined, + Tags: undefined, }; - if (output.tagSet === "") { - contents.Tags = []; + if (output["keyName"] !== undefined) { + contents.KeyName = output["keyName"]; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["keyPairId"] !== undefined) { + contents.KeyPairId = output["keyPairId"]; } if (output["keyFingerprint"] !== undefined) { contents.KeyFingerprint = output["keyFingerprint"]; } - if (output["keyPairId"] !== undefined) { - contents.KeyPairId = output["keyPairId"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["keyName"] !== undefined) { - contents.KeyName = output["keyName"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } return contents; }; @@ -54026,15 +55116,15 @@ const deserializeAws_ec2LastError = (output: any, context: __SerdeContext): Last const deserializeAws_ec2LaunchPermission = (output: any, context: __SerdeContext): LaunchPermission => { let contents: any = { - UserId: undefined, Group: undefined, + UserId: undefined, }; - if (output["userId"] !== undefined) { - contents.UserId = output["userId"]; - } if (output["group"] !== undefined) { contents.Group = output["group"]; } + if (output["userId"] !== undefined) { + contents.UserId = output["userId"]; + } return contents; }; @@ -54044,22 +55134,43 @@ const deserializeAws_ec2LaunchPermissionList = (output: any, context: __SerdeCon const deserializeAws_ec2LaunchSpecification = (output: any, context: __SerdeContext): LaunchSpecification => { let contents: any = { + KeyName: undefined, + InstanceType: undefined, + EbsOptimized: undefined, + Placement: undefined, + NetworkInterfaces: undefined, BlockDeviceMappings: undefined, - SubnetId: undefined, - KernelId: undefined, UserData: undefined, - AddressingType: undefined, SecurityGroups: undefined, - ImageId: undefined, - EbsOptimized: undefined, RamdiskId: undefined, - InstanceType: undefined, - Placement: undefined, - KeyName: undefined, - NetworkInterfaces: undefined, + ImageId: undefined, + SubnetId: undefined, + AddressingType: undefined, + KernelId: undefined, IamInstanceProfile: undefined, Monitoring: undefined, }; + if (output["keyName"] !== undefined) { + contents.KeyName = output["keyName"]; + } + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; + } + if (output["ebsOptimized"] !== undefined) { + contents.EbsOptimized = output["ebsOptimized"] == "true"; + } + if (output["placement"] !== undefined) { + contents.Placement = deserializeAws_ec2SpotPlacement(output["placement"], context); + } + if (output.networkInterfaceSet === "") { + contents.NetworkInterfaces = []; + } + if (output["networkInterfaceSet"] !== undefined && output["networkInterfaceSet"]["item"] !== undefined) { + contents.NetworkInterfaces = deserializeAws_ec2InstanceNetworkInterfaceSpecificationList( + __getArrayIfSingleItem(output["networkInterfaceSet"]["item"]), + context + ); + } if (output.blockDeviceMapping === "") { contents.BlockDeviceMappings = []; } @@ -54069,18 +55180,9 @@ const deserializeAws_ec2LaunchSpecification = (output: any, context: __SerdeCont context ); } - if (output["subnetId"] !== undefined) { - contents.SubnetId = output["subnetId"]; - } - if (output["kernelId"] !== undefined) { - contents.KernelId = output["kernelId"]; - } if (output["userData"] !== undefined) { contents.UserData = output["userData"]; } - if (output["addressingType"] !== undefined) { - contents.AddressingType = output["addressingType"]; - } if (output.groupSet === "") { contents.SecurityGroups = []; } @@ -54090,32 +55192,20 @@ const deserializeAws_ec2LaunchSpecification = (output: any, context: __SerdeCont context ); } - if (output["imageId"] !== undefined) { - contents.ImageId = output["imageId"]; - } - if (output["ebsOptimized"] !== undefined) { - contents.EbsOptimized = output["ebsOptimized"] == "true"; - } if (output["ramdiskId"] !== undefined) { contents.RamdiskId = output["ramdiskId"]; } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; - } - if (output["placement"] !== undefined) { - contents.Placement = deserializeAws_ec2SpotPlacement(output["placement"], context); + if (output["imageId"] !== undefined) { + contents.ImageId = output["imageId"]; } - if (output["keyName"] !== undefined) { - contents.KeyName = output["keyName"]; + if (output["subnetId"] !== undefined) { + contents.SubnetId = output["subnetId"]; } - if (output.networkInterfaceSet === "") { - contents.NetworkInterfaces = []; + if (output["addressingType"] !== undefined) { + contents.AddressingType = output["addressingType"]; } - if (output["networkInterfaceSet"] !== undefined && output["networkInterfaceSet"]["item"] !== undefined) { - contents.NetworkInterfaces = deserializeAws_ec2InstanceNetworkInterfaceSpecificationList( - __getArrayIfSingleItem(output["networkInterfaceSet"]["item"]), - context - ); + if (output["kernelId"] !== undefined) { + contents.KernelId = output["kernelId"]; } if (output["iamInstanceProfile"] !== undefined) { contents.IamInstanceProfile = deserializeAws_ec2IamInstanceProfileSpecification( @@ -54135,37 +55225,37 @@ const deserializeAws_ec2LaunchSpecsList = (output: any, context: __SerdeContext) const deserializeAws_ec2LaunchTemplate = (output: any, context: __SerdeContext): LaunchTemplate => { let contents: any = { - DefaultVersionNumber: undefined, - LatestVersionNumber: undefined, CreateTime: undefined, - LaunchTemplateId: undefined, + LatestVersionNumber: undefined, LaunchTemplateName: undefined, - Tags: undefined, CreatedBy: undefined, + Tags: undefined, + DefaultVersionNumber: undefined, + LaunchTemplateId: undefined, }; - if (output["defaultVersionNumber"] !== undefined) { - contents.DefaultVersionNumber = parseInt(output["defaultVersionNumber"]); - } - if (output["latestVersionNumber"] !== undefined) { - contents.LatestVersionNumber = parseInt(output["latestVersionNumber"]); - } if (output["createTime"] !== undefined) { contents.CreateTime = new Date(output["createTime"]); } - if (output["launchTemplateId"] !== undefined) { - contents.LaunchTemplateId = output["launchTemplateId"]; + if (output["latestVersionNumber"] !== undefined) { + contents.LatestVersionNumber = parseInt(output["latestVersionNumber"]); } if (output["launchTemplateName"] !== undefined) { contents.LaunchTemplateName = output["launchTemplateName"]; } + if (output["createdBy"] !== undefined) { + contents.CreatedBy = output["createdBy"]; + } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["createdBy"] !== undefined) { - contents.CreatedBy = output["createdBy"]; + if (output["defaultVersionNumber"] !== undefined) { + contents.DefaultVersionNumber = parseInt(output["defaultVersionNumber"]); + } + if (output["launchTemplateId"] !== undefined) { + contents.LaunchTemplateId = output["launchTemplateId"]; } return contents; }; @@ -54175,18 +55265,18 @@ const deserializeAws_ec2LaunchTemplateAndOverridesResponse = ( context: __SerdeContext ): LaunchTemplateAndOverridesResponse => { let contents: any = { - LaunchTemplateSpecification: undefined, Overrides: undefined, + LaunchTemplateSpecification: undefined, }; + if (output["overrides"] !== undefined) { + contents.Overrides = deserializeAws_ec2FleetLaunchTemplateOverrides(output["overrides"], context); + } if (output["launchTemplateSpecification"] !== undefined) { contents.LaunchTemplateSpecification = deserializeAws_ec2FleetLaunchTemplateSpecification( output["launchTemplateSpecification"], context ); } - if (output["overrides"] !== undefined) { - contents.Overrides = deserializeAws_ec2FleetLaunchTemplateOverrides(output["overrides"], context); - } return contents; }; @@ -54195,23 +55285,23 @@ const deserializeAws_ec2LaunchTemplateBlockDeviceMapping = ( context: __SerdeContext ): LaunchTemplateBlockDeviceMapping => { let contents: any = { - Ebs: undefined, VirtualName: undefined, - DeviceName: undefined, + Ebs: undefined, NoDevice: undefined, + DeviceName: undefined, }; - if (output["ebs"] !== undefined) { - contents.Ebs = deserializeAws_ec2LaunchTemplateEbsBlockDevice(output["ebs"], context); - } if (output["virtualName"] !== undefined) { contents.VirtualName = output["virtualName"]; } - if (output["deviceName"] !== undefined) { - contents.DeviceName = output["deviceName"]; + if (output["ebs"] !== undefined) { + contents.Ebs = deserializeAws_ec2LaunchTemplateEbsBlockDevice(output["ebs"], context); } if (output["noDevice"] !== undefined) { contents.NoDevice = output["noDevice"]; } + if (output["deviceName"] !== undefined) { + contents.DeviceName = output["deviceName"]; + } return contents; }; @@ -54227,32 +55317,26 @@ const deserializeAws_ec2LaunchTemplateCapacityReservationSpecificationResponse = context: __SerdeContext ): LaunchTemplateCapacityReservationSpecificationResponse => { let contents: any = { - CapacityReservationTarget: undefined, CapacityReservationPreference: undefined, + CapacityReservationTarget: undefined, }; + if (output["capacityReservationPreference"] !== undefined) { + contents.CapacityReservationPreference = output["capacityReservationPreference"]; + } if (output["capacityReservationTarget"] !== undefined) { contents.CapacityReservationTarget = deserializeAws_ec2CapacityReservationTargetResponse( output["capacityReservationTarget"], context ); } - if (output["capacityReservationPreference"] !== undefined) { - contents.CapacityReservationPreference = output["capacityReservationPreference"]; - } return contents; }; const deserializeAws_ec2LaunchTemplateConfig = (output: any, context: __SerdeContext): LaunchTemplateConfig => { let contents: any = { - LaunchTemplateSpecification: undefined, Overrides: undefined, + LaunchTemplateSpecification: undefined, }; - if (output["launchTemplateSpecification"] !== undefined) { - contents.LaunchTemplateSpecification = deserializeAws_ec2FleetLaunchTemplateSpecification( - output["launchTemplateSpecification"], - context - ); - } if (output.overrides === "") { contents.Overrides = []; } @@ -54262,6 +55346,12 @@ const deserializeAws_ec2LaunchTemplateConfig = (output: any, context: __SerdeCon context ); } + if (output["launchTemplateSpecification"] !== undefined) { + contents.LaunchTemplateSpecification = deserializeAws_ec2FleetLaunchTemplateSpecification( + output["launchTemplateSpecification"], + context + ); + } return contents; }; @@ -54271,15 +55361,15 @@ const deserializeAws_ec2LaunchTemplateConfigList = (output: any, context: __Serd const deserializeAws_ec2LaunchTemplateCpuOptions = (output: any, context: __SerdeContext): LaunchTemplateCpuOptions => { let contents: any = { - CoreCount: undefined, ThreadsPerCore: undefined, + CoreCount: undefined, }; - if (output["coreCount"] !== undefined) { - contents.CoreCount = parseInt(output["coreCount"]); - } if (output["threadsPerCore"] !== undefined) { contents.ThreadsPerCore = parseInt(output["threadsPerCore"]); } + if (output["coreCount"] !== undefined) { + contents.CoreCount = parseInt(output["coreCount"]); + } return contents; }; @@ -54288,19 +55378,25 @@ const deserializeAws_ec2LaunchTemplateEbsBlockDevice = ( context: __SerdeContext ): LaunchTemplateEbsBlockDevice => { let contents: any = { + SnapshotId: undefined, + VolumeSize: undefined, VolumeType: undefined, - Encrypted: undefined, + KmsKeyId: undefined, Iops: undefined, DeleteOnTermination: undefined, - KmsKeyId: undefined, - VolumeSize: undefined, - SnapshotId: undefined, + Encrypted: undefined, }; + if (output["snapshotId"] !== undefined) { + contents.SnapshotId = output["snapshotId"]; + } + if (output["volumeSize"] !== undefined) { + contents.VolumeSize = parseInt(output["volumeSize"]); + } if (output["volumeType"] !== undefined) { contents.VolumeType = output["volumeType"]; } - if (output["encrypted"] !== undefined) { - contents.Encrypted = output["encrypted"] == "true"; + if (output["kmsKeyId"] !== undefined) { + contents.KmsKeyId = output["kmsKeyId"]; } if (output["iops"] !== undefined) { contents.Iops = parseInt(output["iops"]); @@ -54308,14 +55404,8 @@ const deserializeAws_ec2LaunchTemplateEbsBlockDevice = ( if (output["deleteOnTermination"] !== undefined) { contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; } - if (output["kmsKeyId"] !== undefined) { - contents.KmsKeyId = output["kmsKeyId"]; - } - if (output["volumeSize"] !== undefined) { - contents.VolumeSize = parseInt(output["volumeSize"]); - } - if (output["snapshotId"] !== undefined) { - contents.SnapshotId = output["snapshotId"]; + if (output["encrypted"] !== undefined) { + contents.Encrypted = output["encrypted"] == "true"; } return contents; }; @@ -54325,15 +55415,15 @@ const deserializeAws_ec2LaunchTemplateElasticInferenceAcceleratorResponse = ( context: __SerdeContext ): LaunchTemplateElasticInferenceAcceleratorResponse => { let contents: any = { - Count: undefined, Type: undefined, + Count: undefined, }; - if (output["count"] !== undefined) { - contents.Count = parseInt(output["count"]); - } if (output["type"] !== undefined) { contents.Type = output["type"]; } + if (output["count"] !== undefined) { + contents.Count = parseInt(output["count"]); + } return contents; }; @@ -54399,21 +55489,21 @@ const deserializeAws_ec2LaunchTemplateInstanceMetadataOptions = ( ): LaunchTemplateInstanceMetadataOptions => { let contents: any = { HttpTokens: undefined, - State: undefined, - HttpPutResponseHopLimit: undefined, HttpEndpoint: undefined, + HttpPutResponseHopLimit: undefined, + State: undefined, }; if (output["httpTokens"] !== undefined) { contents.HttpTokens = output["httpTokens"]; } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["httpEndpoint"] !== undefined) { + contents.HttpEndpoint = output["httpEndpoint"]; } if (output["httpPutResponseHopLimit"] !== undefined) { contents.HttpPutResponseHopLimit = parseInt(output["httpPutResponseHopLimit"]); } - if (output["httpEndpoint"] !== undefined) { - contents.HttpEndpoint = output["httpEndpoint"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; } return contents; }; @@ -54423,53 +55513,36 @@ const deserializeAws_ec2LaunchTemplateInstanceNetworkInterfaceSpecification = ( context: __SerdeContext ): LaunchTemplateInstanceNetworkInterfaceSpecification => { let contents: any = { + NetworkInterfaceId: undefined, AssociatePublicIpAddress: undefined, - Description: undefined, - Ipv6AddressCount: undefined, - SubnetId: undefined, - PrivateIpAddresses: undefined, - PrivateIpAddress: undefined, DeviceIndex: undefined, - NetworkInterfaceId: undefined, DeleteOnTermination: undefined, + AssociateCarrierIpAddress: undefined, Ipv6Addresses: undefined, - Groups: undefined, - InterfaceType: undefined, SecondaryPrivateIpAddressCount: undefined, + PrivateIpAddress: undefined, + InterfaceType: undefined, + PrivateIpAddresses: undefined, + SubnetId: undefined, + Description: undefined, + Groups: undefined, + Ipv6AddressCount: undefined, }; + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = output["networkInterfaceId"]; + } if (output["associatePublicIpAddress"] !== undefined) { contents.AssociatePublicIpAddress = output["associatePublicIpAddress"] == "true"; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } - if (output["ipv6AddressCount"] !== undefined) { - contents.Ipv6AddressCount = parseInt(output["ipv6AddressCount"]); - } - if (output["subnetId"] !== undefined) { - contents.SubnetId = output["subnetId"]; - } - if (output.privateIpAddressesSet === "") { - contents.PrivateIpAddresses = []; - } - if (output["privateIpAddressesSet"] !== undefined && output["privateIpAddressesSet"]["item"] !== undefined) { - contents.PrivateIpAddresses = deserializeAws_ec2PrivateIpAddressSpecificationList( - __getArrayIfSingleItem(output["privateIpAddressesSet"]["item"]), - context - ); - } - if (output["privateIpAddress"] !== undefined) { - contents.PrivateIpAddress = output["privateIpAddress"]; - } if (output["deviceIndex"] !== undefined) { contents.DeviceIndex = parseInt(output["deviceIndex"]); } - if (output["networkInterfaceId"] !== undefined) { - contents.NetworkInterfaceId = output["networkInterfaceId"]; - } if (output["deleteOnTermination"] !== undefined) { contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; } + if (output["associateCarrierIpAddress"] !== undefined) { + contents.AssociateCarrierIpAddress = output["associateCarrierIpAddress"] == "true"; + } if (output.ipv6AddressesSet === "") { contents.Ipv6Addresses = []; } @@ -54479,6 +55552,30 @@ const deserializeAws_ec2LaunchTemplateInstanceNetworkInterfaceSpecification = ( context ); } + if (output["secondaryPrivateIpAddressCount"] !== undefined) { + contents.SecondaryPrivateIpAddressCount = parseInt(output["secondaryPrivateIpAddressCount"]); + } + if (output["privateIpAddress"] !== undefined) { + contents.PrivateIpAddress = output["privateIpAddress"]; + } + if (output["interfaceType"] !== undefined) { + contents.InterfaceType = output["interfaceType"]; + } + if (output.privateIpAddressesSet === "") { + contents.PrivateIpAddresses = []; + } + if (output["privateIpAddressesSet"] !== undefined && output["privateIpAddressesSet"]["item"] !== undefined) { + contents.PrivateIpAddresses = deserializeAws_ec2PrivateIpAddressSpecificationList( + __getArrayIfSingleItem(output["privateIpAddressesSet"]["item"]), + context + ); + } + if (output["subnetId"] !== undefined) { + contents.SubnetId = output["subnetId"]; + } + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } if (output.groupSet === "") { contents.Groups = []; } @@ -54488,11 +55585,8 @@ const deserializeAws_ec2LaunchTemplateInstanceNetworkInterfaceSpecification = ( context ); } - if (output["interfaceType"] !== undefined) { - contents.InterfaceType = output["interfaceType"]; - } - if (output["secondaryPrivateIpAddressCount"] !== undefined) { - contents.SecondaryPrivateIpAddressCount = parseInt(output["secondaryPrivateIpAddressCount"]); + if (output["ipv6AddressCount"] !== undefined) { + contents.Ipv6AddressCount = parseInt(output["ipv6AddressCount"]); } return contents; }; @@ -54529,21 +55623,15 @@ const deserializeAws_ec2LaunchTemplateLicenseList = ( const deserializeAws_ec2LaunchTemplateOverrides = (output: any, context: __SerdeContext): LaunchTemplateOverrides => { let contents: any = { Priority: undefined, - InstanceType: undefined, - SpotPrice: undefined, WeightedCapacity: undefined, SubnetId: undefined, AvailabilityZone: undefined, + InstanceType: undefined, + SpotPrice: undefined, }; if (output["priority"] !== undefined) { contents.Priority = parseFloat(output["priority"]); } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; - } - if (output["spotPrice"] !== undefined) { - contents.SpotPrice = output["spotPrice"]; - } if (output["weightedCapacity"] !== undefined) { contents.WeightedCapacity = parseFloat(output["weightedCapacity"]); } @@ -54553,6 +55641,12 @@ const deserializeAws_ec2LaunchTemplateOverrides = (output: any, context: __Serde if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; + } + if (output["spotPrice"] !== undefined) { + contents.SpotPrice = output["spotPrice"]; + } return contents; }; @@ -54565,38 +55659,38 @@ const deserializeAws_ec2LaunchTemplateOverridesList = ( const deserializeAws_ec2LaunchTemplatePlacement = (output: any, context: __SerdeContext): LaunchTemplatePlacement => { let contents: any = { - HostId: undefined, - SpreadDomain: undefined, AvailabilityZone: undefined, + SpreadDomain: undefined, + Tenancy: undefined, + PartitionNumber: undefined, + HostResourceGroupArn: undefined, GroupName: undefined, + HostId: undefined, Affinity: undefined, - HostResourceGroupArn: undefined, - PartitionNumber: undefined, - Tenancy: undefined, }; - if (output["hostId"] !== undefined) { - contents.HostId = output["hostId"]; + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; } if (output["spreadDomain"] !== undefined) { contents.SpreadDomain = output["spreadDomain"]; } - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; - } - if (output["groupName"] !== undefined) { - contents.GroupName = output["groupName"]; + if (output["tenancy"] !== undefined) { + contents.Tenancy = output["tenancy"]; } - if (output["affinity"] !== undefined) { - contents.Affinity = output["affinity"]; + if (output["partitionNumber"] !== undefined) { + contents.PartitionNumber = parseInt(output["partitionNumber"]); } if (output["hostResourceGroupArn"] !== undefined) { contents.HostResourceGroupArn = output["hostResourceGroupArn"]; } - if (output["partitionNumber"] !== undefined) { - contents.PartitionNumber = parseInt(output["partitionNumber"]); + if (output["groupName"] !== undefined) { + contents.GroupName = output["groupName"]; } - if (output["tenancy"] !== undefined) { - contents.Tenancy = output["tenancy"]; + if (output["hostId"] !== undefined) { + contents.HostId = output["hostId"]; + } + if (output["affinity"] !== undefined) { + contents.Affinity = output["affinity"]; } return contents; }; @@ -54623,27 +55717,27 @@ const deserializeAws_ec2LaunchTemplateSpotMarketOptions = ( context: __SerdeContext ): LaunchTemplateSpotMarketOptions => { let contents: any = { - MaxPrice: undefined, InstanceInterruptionBehavior: undefined, + MaxPrice: undefined, BlockDurationMinutes: undefined, - ValidUntil: undefined, SpotInstanceType: undefined, + ValidUntil: undefined, }; - if (output["maxPrice"] !== undefined) { - contents.MaxPrice = output["maxPrice"]; - } if (output["instanceInterruptionBehavior"] !== undefined) { contents.InstanceInterruptionBehavior = output["instanceInterruptionBehavior"]; } + if (output["maxPrice"] !== undefined) { + contents.MaxPrice = output["maxPrice"]; + } if (output["blockDurationMinutes"] !== undefined) { contents.BlockDurationMinutes = parseInt(output["blockDurationMinutes"]); } - if (output["validUntil"] !== undefined) { - contents.ValidUntil = new Date(output["validUntil"]); - } if (output["spotInstanceType"] !== undefined) { contents.SpotInstanceType = output["spotInstanceType"]; } + if (output["validUntil"] !== undefined) { + contents.ValidUntil = new Date(output["validUntil"]); + } return contents; }; @@ -54652,18 +55746,18 @@ const deserializeAws_ec2LaunchTemplateTagSpecification = ( context: __SerdeContext ): LaunchTemplateTagSpecification => { let contents: any = { - ResourceType: undefined, Tags: undefined, + ResourceType: undefined, }; - if (output["resourceType"] !== undefined) { - contents.ResourceType = output["resourceType"]; - } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["resourceType"] !== undefined) { + contents.ResourceType = output["resourceType"]; + } return contents; }; @@ -54676,38 +55770,38 @@ const deserializeAws_ec2LaunchTemplateTagSpecificationList = ( const deserializeAws_ec2LaunchTemplateVersion = (output: any, context: __SerdeContext): LaunchTemplateVersion => { let contents: any = { - VersionDescription: undefined, VersionNumber: undefined, - DefaultVersion: undefined, + LaunchTemplateName: undefined, + VersionDescription: undefined, + LaunchTemplateData: undefined, + CreatedBy: undefined, LaunchTemplateId: undefined, + DefaultVersion: undefined, CreateTime: undefined, - CreatedBy: undefined, - LaunchTemplateData: undefined, - LaunchTemplateName: undefined, }; - if (output["versionDescription"] !== undefined) { - contents.VersionDescription = output["versionDescription"]; - } if (output["versionNumber"] !== undefined) { contents.VersionNumber = parseInt(output["versionNumber"]); } - if (output["defaultVersion"] !== undefined) { - contents.DefaultVersion = output["defaultVersion"] == "true"; + if (output["launchTemplateName"] !== undefined) { + contents.LaunchTemplateName = output["launchTemplateName"]; } - if (output["launchTemplateId"] !== undefined) { - contents.LaunchTemplateId = output["launchTemplateId"]; + if (output["versionDescription"] !== undefined) { + contents.VersionDescription = output["versionDescription"]; } - if (output["createTime"] !== undefined) { - contents.CreateTime = new Date(output["createTime"]); + if (output["launchTemplateData"] !== undefined) { + contents.LaunchTemplateData = deserializeAws_ec2ResponseLaunchTemplateData(output["launchTemplateData"], context); } if (output["createdBy"] !== undefined) { contents.CreatedBy = output["createdBy"]; } - if (output["launchTemplateData"] !== undefined) { - contents.LaunchTemplateData = deserializeAws_ec2ResponseLaunchTemplateData(output["launchTemplateData"], context); + if (output["launchTemplateId"] !== undefined) { + contents.LaunchTemplateId = output["launchTemplateId"]; } - if (output["launchTemplateName"] !== undefined) { - contents.LaunchTemplateName = output["launchTemplateName"]; + if (output["defaultVersion"] !== undefined) { + contents.DefaultVersion = output["defaultVersion"] == "true"; + } + if (output["createTime"] !== undefined) { + contents.CreateTime = new Date(output["createTime"]); } return contents; }; @@ -54749,15 +55843,15 @@ const deserializeAws_ec2LoadBalancersConfig = (output: any, context: __SerdeCont const deserializeAws_ec2LoadPermission = (output: any, context: __SerdeContext): LoadPermission => { let contents: any = { - UserId: undefined, Group: undefined, + UserId: undefined, }; - if (output["userId"] !== undefined) { - contents.UserId = output["userId"]; - } if (output["group"] !== undefined) { contents.Group = output["group"]; } + if (output["userId"] !== undefined) { + contents.UserId = output["userId"]; + } return contents; }; @@ -54767,12 +55861,15 @@ const deserializeAws_ec2LoadPermissionList = (output: any, context: __SerdeConte const deserializeAws_ec2LocalGateway = (output: any, context: __SerdeContext): LocalGateway => { let contents: any = { + LocalGatewayId: undefined, State: undefined, OutpostArn: undefined, Tags: undefined, OwnerId: undefined, - LocalGatewayId: undefined, }; + if (output["localGatewayId"] !== undefined) { + contents.LocalGatewayId = output["localGatewayId"]; + } if (output["state"] !== undefined) { contents.State = output["state"]; } @@ -54788,34 +55885,39 @@ const deserializeAws_ec2LocalGateway = (output: any, context: __SerdeContext): L if (output["ownerId"] !== undefined) { contents.OwnerId = output["ownerId"]; } - if (output["localGatewayId"] !== undefined) { - contents.LocalGatewayId = output["localGatewayId"]; - } return contents; }; const deserializeAws_ec2LocalGatewayRoute = (output: any, context: __SerdeContext): LocalGatewayRoute => { let contents: any = { - State: undefined, + LocalGatewayVirtualInterfaceGroupId: undefined, + DestinationCidrBlock: undefined, + OwnerId: undefined, LocalGatewayRouteTableId: undefined, + State: undefined, Type: undefined, - DestinationCidrBlock: undefined, - LocalGatewayVirtualInterfaceGroupId: undefined, + LocalGatewayRouteTableArn: undefined, }; - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["localGatewayVirtualInterfaceGroupId"] !== undefined) { + contents.LocalGatewayVirtualInterfaceGroupId = output["localGatewayVirtualInterfaceGroupId"]; + } + if (output["destinationCidrBlock"] !== undefined) { + contents.DestinationCidrBlock = output["destinationCidrBlock"]; + } + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } if (output["localGatewayRouteTableId"] !== undefined) { contents.LocalGatewayRouteTableId = output["localGatewayRouteTableId"]; } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } if (output["type"] !== undefined) { contents.Type = output["type"]; } - if (output["destinationCidrBlock"] !== undefined) { - contents.DestinationCidrBlock = output["destinationCidrBlock"]; - } - if (output["localGatewayVirtualInterfaceGroupId"] !== undefined) { - contents.LocalGatewayVirtualInterfaceGroupId = output["localGatewayVirtualInterfaceGroupId"]; + if (output["localGatewayRouteTableArn"] !== undefined) { + contents.LocalGatewayRouteTableArn = output["localGatewayRouteTableArn"]; } return contents; }; @@ -54826,29 +55928,37 @@ const deserializeAws_ec2LocalGatewayRouteList = (output: any, context: __SerdeCo const deserializeAws_ec2LocalGatewayRouteTable = (output: any, context: __SerdeContext): LocalGatewayRouteTable => { let contents: any = { - Tags: undefined, + LocalGatewayRouteTableArn: undefined, LocalGatewayId: undefined, + OutpostArn: undefined, State: undefined, LocalGatewayRouteTableId: undefined, - OutpostArn: undefined, + OwnerId: undefined, + Tags: undefined, }; - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["localGatewayRouteTableArn"] !== undefined) { + contents.LocalGatewayRouteTableArn = output["localGatewayRouteTableArn"]; } if (output["localGatewayId"] !== undefined) { contents.LocalGatewayId = output["localGatewayId"]; } + if (output["outpostArn"] !== undefined) { + contents.OutpostArn = output["outpostArn"]; + } if (output["state"] !== undefined) { contents.State = output["state"]; } if (output["localGatewayRouteTableId"] !== undefined) { contents.LocalGatewayRouteTableId = output["localGatewayRouteTableId"]; } - if (output["outpostArn"] !== undefined) { - contents.OutpostArn = output["outpostArn"]; + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } return contents; }; @@ -54865,19 +55975,30 @@ const deserializeAws_ec2LocalGatewayRouteTableVirtualInterfaceGroupAssociation = context: __SerdeContext ): LocalGatewayRouteTableVirtualInterfaceGroupAssociation => { let contents: any = { + LocalGatewayVirtualInterfaceGroupId: undefined, LocalGatewayRouteTableVirtualInterfaceGroupAssociationId: undefined, - LocalGatewayId: undefined, - Tags: undefined, - State: undefined, + LocalGatewayRouteTableArn: undefined, LocalGatewayRouteTableId: undefined, - LocalGatewayVirtualInterfaceGroupId: undefined, + State: undefined, + Tags: undefined, + LocalGatewayId: undefined, + OwnerId: undefined, }; + if (output["localGatewayVirtualInterfaceGroupId"] !== undefined) { + contents.LocalGatewayVirtualInterfaceGroupId = output["localGatewayVirtualInterfaceGroupId"]; + } if (output["localGatewayRouteTableVirtualInterfaceGroupAssociationId"] !== undefined) { contents.LocalGatewayRouteTableVirtualInterfaceGroupAssociationId = output["localGatewayRouteTableVirtualInterfaceGroupAssociationId"]; } - if (output["localGatewayId"] !== undefined) { - contents.LocalGatewayId = output["localGatewayId"]; + if (output["localGatewayRouteTableArn"] !== undefined) { + contents.LocalGatewayRouteTableArn = output["localGatewayRouteTableArn"]; + } + if (output["localGatewayRouteTableId"] !== undefined) { + contents.LocalGatewayRouteTableId = output["localGatewayRouteTableId"]; + } + if (output["state"] !== undefined) { + contents.State = output["state"]; } if (output.tagSet === "") { contents.Tags = []; @@ -54885,14 +56006,11 @@ const deserializeAws_ec2LocalGatewayRouteTableVirtualInterfaceGroupAssociation = if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["localGatewayRouteTableId"] !== undefined) { - contents.LocalGatewayRouteTableId = output["localGatewayRouteTableId"]; + if (output["localGatewayId"] !== undefined) { + contents.LocalGatewayId = output["localGatewayId"]; } - if (output["localGatewayVirtualInterfaceGroupId"] !== undefined) { - contents.LocalGatewayVirtualInterfaceGroupId = output["localGatewayVirtualInterfaceGroupId"]; + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } return contents; }; @@ -54911,24 +56029,26 @@ const deserializeAws_ec2LocalGatewayRouteTableVpcAssociation = ( context: __SerdeContext ): LocalGatewayRouteTableVpcAssociation => { let contents: any = { - LocalGatewayRouteTableVpcAssociationId: undefined, LocalGatewayRouteTableId: undefined, State: undefined, - VpcId: undefined, + OwnerId: undefined, + LocalGatewayRouteTableVpcAssociationId: undefined, LocalGatewayId: undefined, Tags: undefined, + LocalGatewayRouteTableArn: undefined, + VpcId: undefined, }; - if (output["localGatewayRouteTableVpcAssociationId"] !== undefined) { - contents.LocalGatewayRouteTableVpcAssociationId = output["localGatewayRouteTableVpcAssociationId"]; - } if (output["localGatewayRouteTableId"] !== undefined) { contents.LocalGatewayRouteTableId = output["localGatewayRouteTableId"]; } if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } + if (output["localGatewayRouteTableVpcAssociationId"] !== undefined) { + contents.LocalGatewayRouteTableVpcAssociationId = output["localGatewayRouteTableVpcAssociationId"]; } if (output["localGatewayId"] !== undefined) { contents.LocalGatewayId = output["localGatewayId"]; @@ -54939,6 +56059,12 @@ const deserializeAws_ec2LocalGatewayRouteTableVpcAssociation = ( if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["localGatewayRouteTableArn"] !== undefined) { + contents.LocalGatewayRouteTableArn = output["localGatewayRouteTableArn"]; + } + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; + } return contents; }; @@ -54958,23 +56084,18 @@ const deserializeAws_ec2LocalGatewayVirtualInterface = ( context: __SerdeContext ): LocalGatewayVirtualInterface => { let contents: any = { - Vlan: undefined, + LocalGatewayVirtualInterfaceId: undefined, + Tags: undefined, LocalBgpAsn: undefined, LocalGatewayId: undefined, - Tags: undefined, PeerBgpAsn: undefined, - PeerAddress: undefined, LocalAddress: undefined, - LocalGatewayVirtualInterfaceId: undefined, + PeerAddress: undefined, + OwnerId: undefined, + Vlan: undefined, }; - if (output["vlan"] !== undefined) { - contents.Vlan = parseInt(output["vlan"]); - } - if (output["localBgpAsn"] !== undefined) { - contents.LocalBgpAsn = parseInt(output["localBgpAsn"]); - } - if (output["localGatewayId"] !== undefined) { - contents.LocalGatewayId = output["localGatewayId"]; + if (output["localGatewayVirtualInterfaceId"] !== undefined) { + contents.LocalGatewayVirtualInterfaceId = output["localGatewayVirtualInterfaceId"]; } if (output.tagSet === "") { contents.Tags = []; @@ -54982,17 +56103,26 @@ const deserializeAws_ec2LocalGatewayVirtualInterface = ( if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["localBgpAsn"] !== undefined) { + contents.LocalBgpAsn = parseInt(output["localBgpAsn"]); + } + if (output["localGatewayId"] !== undefined) { + contents.LocalGatewayId = output["localGatewayId"]; + } if (output["peerBgpAsn"] !== undefined) { contents.PeerBgpAsn = parseInt(output["peerBgpAsn"]); } + if (output["localAddress"] !== undefined) { + contents.LocalAddress = output["localAddress"]; + } if (output["peerAddress"] !== undefined) { contents.PeerAddress = output["peerAddress"]; } - if (output["localAddress"] !== undefined) { - contents.LocalAddress = output["localAddress"]; + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } - if (output["localGatewayVirtualInterfaceId"] !== undefined) { - contents.LocalGatewayVirtualInterfaceId = output["localGatewayVirtualInterfaceId"]; + if (output["vlan"] !== undefined) { + contents.Vlan = parseInt(output["vlan"]); } return contents; }; @@ -55003,13 +56133,23 @@ const deserializeAws_ec2LocalGatewayVirtualInterfaceGroup = ( ): LocalGatewayVirtualInterfaceGroup => { let contents: any = { LocalGatewayVirtualInterfaceGroupId: undefined, + Tags: undefined, + OwnerId: undefined, LocalGatewayId: undefined, LocalGatewayVirtualInterfaceIds: undefined, - Tags: undefined, }; if (output["localGatewayVirtualInterfaceGroupId"] !== undefined) { contents.LocalGatewayVirtualInterfaceGroupId = output["localGatewayVirtualInterfaceGroupId"]; } + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + } + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } if (output["localGatewayId"] !== undefined) { contents.LocalGatewayId = output["localGatewayId"]; } @@ -55025,12 +56165,6 @@ const deserializeAws_ec2LocalGatewayVirtualInterfaceGroup = ( context ); } - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); - } return contents; }; @@ -55054,34 +56188,25 @@ const deserializeAws_ec2LocalGatewayVirtualInterfaceSet = ( const deserializeAws_ec2ManagedPrefixList = (output: any, context: __SerdeContext): ManagedPrefixList => { let contents: any = { - StateMessage: undefined, PrefixListId: undefined, OwnerId: undefined, - PrefixListName: undefined, - PrefixListArn: undefined, - MaxEntries: undefined, + State: undefined, Tags: undefined, AddressFamily: undefined, Version: undefined, - State: undefined, + PrefixListArn: undefined, + MaxEntries: undefined, + StateMessage: undefined, + PrefixListName: undefined, }; - if (output["stateMessage"] !== undefined) { - contents.StateMessage = output["stateMessage"]; - } if (output["prefixListId"] !== undefined) { contents.PrefixListId = output["prefixListId"]; } if (output["ownerId"] !== undefined) { contents.OwnerId = output["ownerId"]; } - if (output["prefixListName"] !== undefined) { - contents.PrefixListName = output["prefixListName"]; - } - if (output["prefixListArn"] !== undefined) { - contents.PrefixListArn = output["prefixListArn"]; - } - if (output["maxEntries"] !== undefined) { - contents.MaxEntries = parseInt(output["maxEntries"]); + if (output["state"] !== undefined) { + contents.State = output["state"]; } if (output.tagSet === "") { contents.Tags = []; @@ -55095,8 +56220,17 @@ const deserializeAws_ec2ManagedPrefixList = (output: any, context: __SerdeContex if (output["version"] !== undefined) { contents.Version = parseInt(output["version"]); } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["prefixListArn"] !== undefined) { + contents.PrefixListArn = output["prefixListArn"]; + } + if (output["maxEntries"] !== undefined) { + contents.MaxEntries = parseInt(output["maxEntries"]); + } + if (output["stateMessage"] !== undefined) { + contents.StateMessage = output["stateMessage"]; + } + if (output["prefixListName"] !== undefined) { + contents.PrefixListName = output["prefixListName"]; } return contents; }; @@ -55298,18 +56432,18 @@ const deserializeAws_ec2ModifyInstanceMetadataOptionsResult = ( context: __SerdeContext ): ModifyInstanceMetadataOptionsResult => { let contents: any = { - InstanceMetadataOptions: undefined, InstanceId: undefined, + InstanceMetadataOptions: undefined, }; + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; + } if (output["instanceMetadataOptions"] !== undefined) { contents.InstanceMetadataOptions = deserializeAws_ec2InstanceMetadataOptionsResponse( output["instanceMetadataOptions"], context ); } - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; - } return contents; }; @@ -55420,6 +56554,35 @@ const deserializeAws_ec2ModifyTrafficMirrorSessionResult = ( return contents; }; +const deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceResult = ( + output: any, + context: __SerdeContext +): ModifyTransitGatewayPrefixListReferenceResult => { + let contents: any = { + TransitGatewayPrefixListReference: undefined, + }; + if (output["transitGatewayPrefixListReference"] !== undefined) { + contents.TransitGatewayPrefixListReference = deserializeAws_ec2TransitGatewayPrefixListReference( + output["transitGatewayPrefixListReference"], + context + ); + } + return contents; +}; + +const deserializeAws_ec2ModifyTransitGatewayResult = ( + output: any, + context: __SerdeContext +): ModifyTransitGatewayResult => { + let contents: any = { + TransitGateway: undefined, + }; + if (output["transitGateway"] !== undefined) { + contents.TransitGateway = deserializeAws_ec2TransitGateway(output["transitGateway"], context); + } + return contents; +}; + const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentResult = ( output: any, context: __SerdeContext @@ -55500,21 +56663,21 @@ const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsResult = ( context: __SerdeContext ): ModifyVpcPeeringConnectionOptionsResult => { let contents: any = { - AccepterPeeringConnectionOptions: undefined, RequesterPeeringConnectionOptions: undefined, + AccepterPeeringConnectionOptions: undefined, }; - if (output["accepterPeeringConnectionOptions"] !== undefined) { - contents.AccepterPeeringConnectionOptions = deserializeAws_ec2PeeringConnectionOptions( - output["accepterPeeringConnectionOptions"], - context - ); - } if (output["requesterPeeringConnectionOptions"] !== undefined) { contents.RequesterPeeringConnectionOptions = deserializeAws_ec2PeeringConnectionOptions( output["requesterPeeringConnectionOptions"], context ); } + if (output["accepterPeeringConnectionOptions"] !== undefined) { + contents.AccepterPeeringConnectionOptions = deserializeAws_ec2PeeringConnectionOptions( + output["accepterPeeringConnectionOptions"], + context + ); + } return contents; }; @@ -55528,6 +56691,19 @@ const deserializeAws_ec2ModifyVpcTenancyResult = (output: any, context: __SerdeC return contents; }; +const deserializeAws_ec2ModifyVpnConnectionOptionsResult = ( + output: any, + context: __SerdeContext +): ModifyVpnConnectionOptionsResult => { + let contents: any = { + VpnConnection: undefined, + }; + if (output["vpnConnection"] !== undefined) { + contents.VpnConnection = deserializeAws_ec2VpnConnection(output["vpnConnection"], context); + } + return contents; +}; + const deserializeAws_ec2ModifyVpnConnectionResult = ( output: any, context: __SerdeContext @@ -55609,15 +56785,15 @@ const deserializeAws_ec2MoveAddressToVpcResult = (output: any, context: __SerdeC const deserializeAws_ec2MovingAddressStatus = (output: any, context: __SerdeContext): MovingAddressStatus => { let contents: any = { - PublicIp: undefined, MoveStatus: undefined, + PublicIp: undefined, }; - if (output["publicIp"] !== undefined) { - contents.PublicIp = output["publicIp"]; - } if (output["moveStatus"] !== undefined) { contents.MoveStatus = output["moveStatus"]; } + if (output["publicIp"] !== undefined) { + contents.PublicIp = output["publicIp"]; + } return contents; }; @@ -55627,32 +56803,44 @@ const deserializeAws_ec2MovingAddressStatusSet = (output: any, context: __SerdeC const deserializeAws_ec2NatGateway = (output: any, context: __SerdeContext): NatGateway => { let contents: any = { - VpcId: undefined, - FailureCode: undefined, Tags: undefined, - SubnetId: undefined, - NatGatewayAddresses: undefined, - CreateTime: undefined, - DeleteTime: undefined, + FailureCode: undefined, NatGatewayId: undefined, - FailureMessage: undefined, State: undefined, + VpcId: undefined, ProvisionedBandwidth: undefined, + CreateTime: undefined, + FailureMessage: undefined, + NatGatewayAddresses: undefined, + DeleteTime: undefined, + SubnetId: undefined, }; - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } if (output["failureCode"] !== undefined) { contents.FailureCode = output["failureCode"]; } - if (output.tagSet === "") { - contents.Tags = []; + if (output["natGatewayId"] !== undefined) { + contents.NatGatewayId = output["natGatewayId"]; + } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["provisionedBandwidth"] !== undefined) { + contents.ProvisionedBandwidth = deserializeAws_ec2ProvisionedBandwidth(output["provisionedBandwidth"], context); } - if (output["subnetId"] !== undefined) { - contents.SubnetId = output["subnetId"]; + if (output["createTime"] !== undefined) { + contents.CreateTime = new Date(output["createTime"]); + } + if (output["failureMessage"] !== undefined) { + contents.FailureMessage = output["failureMessage"]; } if (output.natGatewayAddressSet === "") { contents.NatGatewayAddresses = []; @@ -55663,23 +56851,11 @@ const deserializeAws_ec2NatGateway = (output: any, context: __SerdeContext): Nat context ); } - if (output["createTime"] !== undefined) { - contents.CreateTime = new Date(output["createTime"]); - } if (output["deleteTime"] !== undefined) { contents.DeleteTime = new Date(output["deleteTime"]); } - if (output["natGatewayId"] !== undefined) { - contents.NatGatewayId = output["natGatewayId"]; - } - if (output["failureMessage"] !== undefined) { - contents.FailureMessage = output["failureMessage"]; - } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["provisionedBandwidth"] !== undefined) { - contents.ProvisionedBandwidth = deserializeAws_ec2ProvisionedBandwidth(output["provisionedBandwidth"], context); + if (output["subnetId"] !== undefined) { + contents.SubnetId = output["subnetId"]; } return contents; }; @@ -55687,21 +56863,21 @@ const deserializeAws_ec2NatGateway = (output: any, context: __SerdeContext): Nat const deserializeAws_ec2NatGatewayAddress = (output: any, context: __SerdeContext): NatGatewayAddress => { let contents: any = { NetworkInterfaceId: undefined, - PrivateIp: undefined, - PublicIp: undefined, AllocationId: undefined, + PublicIp: undefined, + PrivateIp: undefined, }; if (output["networkInterfaceId"] !== undefined) { contents.NetworkInterfaceId = output["networkInterfaceId"]; } - if (output["privateIp"] !== undefined) { - contents.PrivateIp = output["privateIp"]; + if (output["allocationId"] !== undefined) { + contents.AllocationId = output["allocationId"]; } if (output["publicIp"] !== undefined) { contents.PublicIp = output["publicIp"]; } - if (output["allocationId"] !== undefined) { - contents.AllocationId = output["allocationId"]; + if (output["privateIp"] !== undefined) { + contents.PrivateIp = output["privateIp"]; } return contents; }; @@ -55716,22 +56892,16 @@ const deserializeAws_ec2NatGatewayList = (output: any, context: __SerdeContext): const deserializeAws_ec2NetworkAcl = (output: any, context: __SerdeContext): NetworkAcl => { let contents: any = { - Tags: undefined, - IsDefault: undefined, - Entries: undefined, OwnerId: undefined, + Entries: undefined, VpcId: undefined, - NetworkAclId: undefined, Associations: undefined, + IsDefault: undefined, + NetworkAclId: undefined, + Tags: undefined, }; - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); - } - if (output["default"] !== undefined) { - contents.IsDefault = output["default"] == "true"; + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } if (output.entrySet === "") { contents.Entries = []; @@ -55742,15 +56912,9 @@ const deserializeAws_ec2NetworkAcl = (output: any, context: __SerdeContext): Net context ); } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; - } if (output["vpcId"] !== undefined) { contents.VpcId = output["vpcId"]; } - if (output["networkAclId"] !== undefined) { - contents.NetworkAclId = output["networkAclId"]; - } if (output.associationSet === "") { contents.Associations = []; } @@ -55760,23 +56924,35 @@ const deserializeAws_ec2NetworkAcl = (output: any, context: __SerdeContext): Net context ); } + if (output["default"] !== undefined) { + contents.IsDefault = output["default"] == "true"; + } + if (output["networkAclId"] !== undefined) { + contents.NetworkAclId = output["networkAclId"]; + } + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + } return contents; }; const deserializeAws_ec2NetworkAclAssociation = (output: any, context: __SerdeContext): NetworkAclAssociation => { let contents: any = { - NetworkAclAssociationId: undefined, - SubnetId: undefined, NetworkAclId: undefined, + SubnetId: undefined, + NetworkAclAssociationId: undefined, }; - if (output["networkAclAssociationId"] !== undefined) { - contents.NetworkAclAssociationId = output["networkAclAssociationId"]; + if (output["networkAclId"] !== undefined) { + contents.NetworkAclId = output["networkAclId"]; } if (output["subnetId"] !== undefined) { contents.SubnetId = output["subnetId"]; } - if (output["networkAclId"] !== undefined) { - contents.NetworkAclId = output["networkAclId"]; + if (output["networkAclAssociationId"] !== undefined) { + contents.NetworkAclAssociationId = output["networkAclAssociationId"]; } return contents; }; @@ -55787,38 +56963,38 @@ const deserializeAws_ec2NetworkAclAssociationList = (output: any, context: __Ser const deserializeAws_ec2NetworkAclEntry = (output: any, context: __SerdeContext): NetworkAclEntry => { let contents: any = { + PortRange: undefined, + RuleAction: undefined, IcmpTypeCode: undefined, Protocol: undefined, - RuleAction: undefined, + CidrBlock: undefined, RuleNumber: undefined, - Egress: undefined, Ipv6CidrBlock: undefined, - CidrBlock: undefined, - PortRange: undefined, + Egress: undefined, }; + if (output["portRange"] !== undefined) { + contents.PortRange = deserializeAws_ec2PortRange(output["portRange"], context); + } + if (output["ruleAction"] !== undefined) { + contents.RuleAction = output["ruleAction"]; + } if (output["icmpTypeCode"] !== undefined) { contents.IcmpTypeCode = deserializeAws_ec2IcmpTypeCode(output["icmpTypeCode"], context); } if (output["protocol"] !== undefined) { contents.Protocol = output["protocol"]; } - if (output["ruleAction"] !== undefined) { - contents.RuleAction = output["ruleAction"]; + if (output["cidrBlock"] !== undefined) { + contents.CidrBlock = output["cidrBlock"]; } if (output["ruleNumber"] !== undefined) { contents.RuleNumber = parseInt(output["ruleNumber"]); } - if (output["egress"] !== undefined) { - contents.Egress = output["egress"] == "true"; - } if (output["ipv6CidrBlock"] !== undefined) { contents.Ipv6CidrBlock = output["ipv6CidrBlock"]; } - if (output["cidrBlock"] !== undefined) { - contents.CidrBlock = output["cidrBlock"]; - } - if (output["portRange"] !== undefined) { - contents.PortRange = deserializeAws_ec2PortRange(output["portRange"], context); + if (output["egress"] !== undefined) { + contents.Egress = output["egress"] == "true"; } return contents; }; @@ -55833,88 +57009,76 @@ const deserializeAws_ec2NetworkAclList = (output: any, context: __SerdeContext): const deserializeAws_ec2NetworkInfo = (output: any, context: __SerdeContext): NetworkInfo => { let contents: any = { - EnaSupport: undefined, - Ipv4AddressesPerInterface: undefined, - Ipv6Supported: undefined, Ipv6AddressesPerInterface: undefined, - EfaSupported: undefined, MaximumNetworkInterfaces: undefined, + Ipv6Supported: undefined, + EfaSupported: undefined, NetworkPerformance: undefined, + EnaSupport: undefined, + Ipv4AddressesPerInterface: undefined, }; - if (output["enaSupport"] !== undefined) { - contents.EnaSupport = output["enaSupport"]; + if (output["ipv6AddressesPerInterface"] !== undefined) { + contents.Ipv6AddressesPerInterface = parseInt(output["ipv6AddressesPerInterface"]); } - if (output["ipv4AddressesPerInterface"] !== undefined) { - contents.Ipv4AddressesPerInterface = parseInt(output["ipv4AddressesPerInterface"]); + if (output["maximumNetworkInterfaces"] !== undefined) { + contents.MaximumNetworkInterfaces = parseInt(output["maximumNetworkInterfaces"]); } if (output["ipv6Supported"] !== undefined) { contents.Ipv6Supported = output["ipv6Supported"] == "true"; } - if (output["ipv6AddressesPerInterface"] !== undefined) { - contents.Ipv6AddressesPerInterface = parseInt(output["ipv6AddressesPerInterface"]); - } if (output["efaSupported"] !== undefined) { contents.EfaSupported = output["efaSupported"] == "true"; } - if (output["maximumNetworkInterfaces"] !== undefined) { - contents.MaximumNetworkInterfaces = parseInt(output["maximumNetworkInterfaces"]); - } if (output["networkPerformance"] !== undefined) { contents.NetworkPerformance = output["networkPerformance"]; } + if (output["enaSupport"] !== undefined) { + contents.EnaSupport = output["enaSupport"]; + } + if (output["ipv4AddressesPerInterface"] !== undefined) { + contents.Ipv4AddressesPerInterface = parseInt(output["ipv4AddressesPerInterface"]); + } return contents; }; const deserializeAws_ec2NetworkInterface = (output: any, context: __SerdeContext): NetworkInterface => { let contents: any = { - Groups: undefined, - RequesterManaged: undefined, - Association: undefined, - VpcId: undefined, - AvailabilityZone: undefined, OwnerId: undefined, - SubnetId: undefined, - PrivateIpAddresses: undefined, - SourceDestCheck: undefined, - InterfaceType: undefined, Description: undefined, + TagSet: undefined, + SourceDestCheck: undefined, + PrivateIpAddresses: undefined, + SubnetId: undefined, PrivateIpAddress: undefined, - Status: undefined, - Ipv6Addresses: undefined, + NetworkInterfaceId: undefined, RequesterId: undefined, - Attachment: undefined, + Ipv6Addresses: undefined, + OutpostArn: undefined, + Association: undefined, + Groups: undefined, + AvailabilityZone: undefined, + RequesterManaged: undefined, + InterfaceType: undefined, + VpcId: undefined, + Status: undefined, PrivateDnsName: undefined, - NetworkInterfaceId: undefined, MacAddress: undefined, - TagSet: undefined, - OutpostArn: undefined, + Attachment: undefined, }; - if (output.groupSet === "") { - contents.Groups = []; - } - if (output["groupSet"] !== undefined && output["groupSet"]["item"] !== undefined) { - contents.Groups = deserializeAws_ec2GroupIdentifierList( - __getArrayIfSingleItem(output["groupSet"]["item"]), - context - ); - } - if (output["requesterManaged"] !== undefined) { - contents.RequesterManaged = output["requesterManaged"] == "true"; - } - if (output["association"] !== undefined) { - contents.Association = deserializeAws_ec2NetworkInterfaceAssociation(output["association"], context); + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; + if (output.tagSet === "") { + contents.TagSet = []; } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.TagSet = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["subnetId"] !== undefined) { - contents.SubnetId = output["subnetId"]; + if (output["sourceDestCheck"] !== undefined) { + contents.SourceDestCheck = output["sourceDestCheck"] == "true"; } if (output.privateIpAddressesSet === "") { contents.PrivateIpAddresses = []; @@ -55925,20 +57089,17 @@ const deserializeAws_ec2NetworkInterface = (output: any, context: __SerdeContext context ); } - if (output["sourceDestCheck"] !== undefined) { - contents.SourceDestCheck = output["sourceDestCheck"] == "true"; - } - if (output["interfaceType"] !== undefined) { - contents.InterfaceType = output["interfaceType"]; - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["subnetId"] !== undefined) { + contents.SubnetId = output["subnetId"]; } if (output["privateIpAddress"] !== undefined) { contents.PrivateIpAddress = output["privateIpAddress"]; } - if (output["status"] !== undefined) { - contents.Status = output["status"]; + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = output["networkInterfaceId"]; + } + if (output["requesterId"] !== undefined) { + contents.RequesterId = output["requesterId"]; } if (output.ipv6AddressesSet === "") { contents.Ipv6Addresses = []; @@ -55949,29 +57110,44 @@ const deserializeAws_ec2NetworkInterface = (output: any, context: __SerdeContext context ); } - if (output["requesterId"] !== undefined) { - contents.RequesterId = output["requesterId"]; + if (output["outpostArn"] !== undefined) { + contents.OutpostArn = output["outpostArn"]; } - if (output["attachment"] !== undefined) { - contents.Attachment = deserializeAws_ec2NetworkInterfaceAttachment(output["attachment"], context); + if (output["association"] !== undefined) { + contents.Association = deserializeAws_ec2NetworkInterfaceAssociation(output["association"], context); + } + if (output.groupSet === "") { + contents.Groups = []; + } + if (output["groupSet"] !== undefined && output["groupSet"]["item"] !== undefined) { + contents.Groups = deserializeAws_ec2GroupIdentifierList( + __getArrayIfSingleItem(output["groupSet"]["item"]), + context + ); + } + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; + } + if (output["requesterManaged"] !== undefined) { + contents.RequesterManaged = output["requesterManaged"] == "true"; + } + if (output["interfaceType"] !== undefined) { + contents.InterfaceType = output["interfaceType"]; + } + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; + } + if (output["status"] !== undefined) { + contents.Status = output["status"]; } if (output["privateDnsName"] !== undefined) { contents.PrivateDnsName = output["privateDnsName"]; } - if (output["networkInterfaceId"] !== undefined) { - contents.NetworkInterfaceId = output["networkInterfaceId"]; - } if (output["macAddress"] !== undefined) { contents.MacAddress = output["macAddress"]; } - if (output.tagSet === "") { - contents.TagSet = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.TagSet = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); - } - if (output["outpostArn"] !== undefined) { - contents.OutpostArn = output["outpostArn"]; + if (output["attachment"] !== undefined) { + contents.Attachment = deserializeAws_ec2NetworkInterfaceAttachment(output["attachment"], context); } return contents; }; @@ -55981,15 +57157,14 @@ const deserializeAws_ec2NetworkInterfaceAssociation = ( context: __SerdeContext ): NetworkInterfaceAssociation => { let contents: any = { - PublicDnsName: undefined, IpOwnerId: undefined, PublicIp: undefined, AllocationId: undefined, + PublicDnsName: undefined, AssociationId: undefined, + CustomerOwnedIp: undefined, + CarrierIp: undefined, }; - if (output["publicDnsName"] !== undefined) { - contents.PublicDnsName = output["publicDnsName"]; - } if (output["ipOwnerId"] !== undefined) { contents.IpOwnerId = output["ipOwnerId"]; } @@ -55999,9 +57174,18 @@ const deserializeAws_ec2NetworkInterfaceAssociation = ( if (output["allocationId"] !== undefined) { contents.AllocationId = output["allocationId"]; } + if (output["publicDnsName"] !== undefined) { + contents.PublicDnsName = output["publicDnsName"]; + } if (output["associationId"] !== undefined) { contents.AssociationId = output["associationId"]; } + if (output["customerOwnedIp"] !== undefined) { + contents.CustomerOwnedIp = output["customerOwnedIp"]; + } + if (output["carrierIp"] !== undefined) { + contents.CarrierIp = output["carrierIp"]; + } return contents; }; @@ -56011,18 +57195,21 @@ const deserializeAws_ec2NetworkInterfaceAttachment = ( ): NetworkInterfaceAttachment => { let contents: any = { InstanceId: undefined, - AttachmentId: undefined, + DeviceIndex: undefined, + DeleteOnTermination: undefined, Status: undefined, InstanceOwnerId: undefined, AttachTime: undefined, - DeviceIndex: undefined, - DeleteOnTermination: undefined, + AttachmentId: undefined, }; if (output["instanceId"] !== undefined) { contents.InstanceId = output["instanceId"]; } - if (output["attachmentId"] !== undefined) { - contents.AttachmentId = output["attachmentId"]; + if (output["deviceIndex"] !== undefined) { + contents.DeviceIndex = parseInt(output["deviceIndex"]); + } + if (output["deleteOnTermination"] !== undefined) { + contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; } if (output["status"] !== undefined) { contents.Status = output["status"]; @@ -56033,11 +57220,8 @@ const deserializeAws_ec2NetworkInterfaceAttachment = ( if (output["attachTime"] !== undefined) { contents.AttachTime = new Date(output["attachTime"]); } - if (output["deviceIndex"] !== undefined) { - contents.DeviceIndex = parseInt(output["deviceIndex"]); - } - if (output["deleteOnTermination"] !== undefined) { - contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; + if (output["attachmentId"] !== undefined) { + contents.AttachmentId = output["attachmentId"]; } return contents; }; @@ -56071,30 +57255,30 @@ const deserializeAws_ec2NetworkInterfacePermission = ( context: __SerdeContext ): NetworkInterfacePermission => { let contents: any = { - AwsAccountId: undefined, NetworkInterfacePermissionId: undefined, - AwsService: undefined, - PermissionState: undefined, - Permission: undefined, NetworkInterfaceId: undefined, + Permission: undefined, + PermissionState: undefined, + AwsService: undefined, + AwsAccountId: undefined, }; - if (output["awsAccountId"] !== undefined) { - contents.AwsAccountId = output["awsAccountId"]; - } if (output["networkInterfacePermissionId"] !== undefined) { contents.NetworkInterfacePermissionId = output["networkInterfacePermissionId"]; } - if (output["awsService"] !== undefined) { - contents.AwsService = output["awsService"]; + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = output["networkInterfaceId"]; + } + if (output["permission"] !== undefined) { + contents.Permission = output["permission"]; } if (output["permissionState"] !== undefined) { contents.PermissionState = deserializeAws_ec2NetworkInterfacePermissionState(output["permissionState"], context); } - if (output["permission"] !== undefined) { - contents.Permission = output["permission"]; + if (output["awsService"] !== undefined) { + contents.AwsService = output["awsService"]; } - if (output["networkInterfaceId"] !== undefined) { - contents.NetworkInterfaceId = output["networkInterfaceId"]; + if (output["awsAccountId"] !== undefined) { + contents.AwsAccountId = output["awsAccountId"]; } return contents; }; @@ -56111,15 +57295,15 @@ const deserializeAws_ec2NetworkInterfacePermissionState = ( context: __SerdeContext ): NetworkInterfacePermissionState => { let contents: any = { - StatusMessage: undefined, State: undefined, + StatusMessage: undefined, }; - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; - } if (output["state"] !== undefined) { contents.State = output["state"]; } + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; + } return contents; }; @@ -56162,11 +57346,11 @@ const deserializeAws_ec2OccurrenceDaySet = (output: any, context: __SerdeContext const deserializeAws_ec2OnDemandOptions = (output: any, context: __SerdeContext): OnDemandOptions => { let contents: any = { CapacityReservationOptions: undefined, - MaxTotalPrice: undefined, SingleAvailabilityZone: undefined, - MinTargetCapacity: undefined, - SingleInstanceType: undefined, + MaxTotalPrice: undefined, AllocationStrategy: undefined, + SingleInstanceType: undefined, + MinTargetCapacity: undefined, }; if (output["capacityReservationOptions"] !== undefined) { contents.CapacityReservationOptions = deserializeAws_ec2CapacityReservationOptions( @@ -56174,74 +57358,74 @@ const deserializeAws_ec2OnDemandOptions = (output: any, context: __SerdeContext) context ); } - if (output["maxTotalPrice"] !== undefined) { - contents.MaxTotalPrice = output["maxTotalPrice"]; - } if (output["singleAvailabilityZone"] !== undefined) { contents.SingleAvailabilityZone = output["singleAvailabilityZone"] == "true"; } - if (output["minTargetCapacity"] !== undefined) { - contents.MinTargetCapacity = parseInt(output["minTargetCapacity"]); + if (output["maxTotalPrice"] !== undefined) { + contents.MaxTotalPrice = output["maxTotalPrice"]; + } + if (output["allocationStrategy"] !== undefined) { + contents.AllocationStrategy = output["allocationStrategy"]; } if (output["singleInstanceType"] !== undefined) { contents.SingleInstanceType = output["singleInstanceType"] == "true"; } - if (output["allocationStrategy"] !== undefined) { - contents.AllocationStrategy = output["allocationStrategy"]; + if (output["minTargetCapacity"] !== undefined) { + contents.MinTargetCapacity = parseInt(output["minTargetCapacity"]); } return contents; }; const deserializeAws_ec2PciId = (output: any, context: __SerdeContext): PciId => { let contents: any = { - VendorId: undefined, - DeviceId: undefined, SubsystemVendorId: undefined, + DeviceId: undefined, SubsystemId: undefined, + VendorId: undefined, }; - if (output["VendorId"] !== undefined) { - contents.VendorId = output["VendorId"]; + if (output["SubsystemVendorId"] !== undefined) { + contents.SubsystemVendorId = output["SubsystemVendorId"]; } if (output["DeviceId"] !== undefined) { contents.DeviceId = output["DeviceId"]; } - if (output["SubsystemVendorId"] !== undefined) { - contents.SubsystemVendorId = output["SubsystemVendorId"]; - } if (output["SubsystemId"] !== undefined) { contents.SubsystemId = output["SubsystemId"]; } + if (output["VendorId"] !== undefined) { + contents.VendorId = output["VendorId"]; + } return contents; }; const deserializeAws_ec2PeeringAttachmentStatus = (output: any, context: __SerdeContext): PeeringAttachmentStatus => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; const deserializeAws_ec2PeeringConnectionOptions = (output: any, context: __SerdeContext): PeeringConnectionOptions => { let contents: any = { - AllowEgressFromLocalClassicLinkToRemoteVpc: undefined, AllowEgressFromLocalVpcToRemoteClassicLink: undefined, + AllowEgressFromLocalClassicLinkToRemoteVpc: undefined, AllowDnsResolutionFromRemoteVpc: undefined, }; - if (output["allowEgressFromLocalClassicLinkToRemoteVpc"] !== undefined) { - contents.AllowEgressFromLocalClassicLinkToRemoteVpc = - output["allowEgressFromLocalClassicLinkToRemoteVpc"] == "true"; - } if (output["allowEgressFromLocalVpcToRemoteClassicLink"] !== undefined) { contents.AllowEgressFromLocalVpcToRemoteClassicLink = output["allowEgressFromLocalVpcToRemoteClassicLink"] == "true"; } + if (output["allowEgressFromLocalClassicLinkToRemoteVpc"] !== undefined) { + contents.AllowEgressFromLocalClassicLinkToRemoteVpc = + output["allowEgressFromLocalClassicLinkToRemoteVpc"] == "true"; + } if (output["allowDnsResolutionFromRemoteVpc"] !== undefined) { contents.AllowDnsResolutionFromRemoteVpc = output["allowDnsResolutionFromRemoteVpc"] == "true"; } @@ -56388,26 +57572,29 @@ const deserializeAws_ec2Phase2IntegrityAlgorithmsListValue = ( const deserializeAws_ec2Placement = (output: any, context: __SerdeContext): Placement => { let contents: any = { - SpreadDomain: undefined, + GroupName: undefined, PartitionNumber: undefined, + HostResourceGroupArn: undefined, Affinity: undefined, - GroupName: undefined, + Tenancy: undefined, AvailabilityZone: undefined, HostId: undefined, - HostResourceGroupArn: undefined, - Tenancy: undefined, + SpreadDomain: undefined, }; - if (output["spreadDomain"] !== undefined) { - contents.SpreadDomain = output["spreadDomain"]; + if (output["groupName"] !== undefined) { + contents.GroupName = output["groupName"]; } if (output["partitionNumber"] !== undefined) { contents.PartitionNumber = parseInt(output["partitionNumber"]); } + if (output["hostResourceGroupArn"] !== undefined) { + contents.HostResourceGroupArn = output["hostResourceGroupArn"]; + } if (output["affinity"] !== undefined) { contents.Affinity = output["affinity"]; } - if (output["groupName"] !== undefined) { - contents.GroupName = output["groupName"]; + if (output["tenancy"] !== undefined) { + contents.Tenancy = output["tenancy"]; } if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; @@ -56415,32 +57602,29 @@ const deserializeAws_ec2Placement = (output: any, context: __SerdeContext): Plac if (output["hostId"] !== undefined) { contents.HostId = output["hostId"]; } - if (output["hostResourceGroupArn"] !== undefined) { - contents.HostResourceGroupArn = output["hostResourceGroupArn"]; - } - if (output["tenancy"] !== undefined) { - contents.Tenancy = output["tenancy"]; + if (output["spreadDomain"] !== undefined) { + contents.SpreadDomain = output["spreadDomain"]; } return contents; }; const deserializeAws_ec2PlacementGroup = (output: any, context: __SerdeContext): PlacementGroup => { let contents: any = { - State: undefined, - GroupName: undefined, - PartitionCount: undefined, - Tags: undefined, GroupId: undefined, + GroupName: undefined, Strategy: undefined, + Tags: undefined, + PartitionCount: undefined, + State: undefined, }; - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["groupId"] !== undefined) { + contents.GroupId = output["groupId"]; } if (output["groupName"] !== undefined) { contents.GroupName = output["groupName"]; } - if (output["partitionCount"] !== undefined) { - contents.PartitionCount = parseInt(output["partitionCount"]); + if (output["strategy"] !== undefined) { + contents.Strategy = output["strategy"]; } if (output.tagSet === "") { contents.Tags = []; @@ -56448,11 +57632,11 @@ const deserializeAws_ec2PlacementGroup = (output: any, context: __SerdeContext): if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["groupId"] !== undefined) { - contents.GroupId = output["groupId"]; + if (output["partitionCount"] !== undefined) { + contents.PartitionCount = parseInt(output["partitionCount"]); } - if (output["strategy"] !== undefined) { - contents.Strategy = output["strategy"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; } return contents; }; @@ -56525,8 +57709,8 @@ const deserializeAws_ec2PortRange = (output: any, context: __SerdeContext): Port const deserializeAws_ec2PrefixList = (output: any, context: __SerdeContext): PrefixList => { let contents: any = { Cidrs: undefined, - PrefixListId: undefined, PrefixListName: undefined, + PrefixListId: undefined, }; if (output.cidrSet === "") { contents.Cidrs = []; @@ -56534,12 +57718,12 @@ const deserializeAws_ec2PrefixList = (output: any, context: __SerdeContext): Pre if (output["cidrSet"] !== undefined && output["cidrSet"]["item"] !== undefined) { contents.Cidrs = deserializeAws_ec2ValueStringList(__getArrayIfSingleItem(output["cidrSet"]["item"]), context); } - if (output["prefixListId"] !== undefined) { - contents.PrefixListId = output["prefixListId"]; - } if (output["prefixListName"] !== undefined) { contents.PrefixListName = output["prefixListName"]; } + if (output["prefixListId"] !== undefined) { + contents.PrefixListId = output["prefixListId"]; + } return contents; }; @@ -56563,15 +57747,15 @@ const deserializeAws_ec2PrefixListAssociationSet = (output: any, context: __Serd const deserializeAws_ec2PrefixListEntry = (output: any, context: __SerdeContext): PrefixListEntry => { let contents: any = { - Cidr: undefined, Description: undefined, + Cidr: undefined, }; - if (output["cidr"] !== undefined) { - contents.Cidr = output["cidr"]; - } if (output["description"] !== undefined) { contents.Description = output["description"]; } + if (output["cidr"] !== undefined) { + contents.Cidr = output["cidr"]; + } return contents; }; @@ -56607,23 +57791,23 @@ const deserializeAws_ec2PrefixListSet = (output: any, context: __SerdeContext): const deserializeAws_ec2PriceSchedule = (output: any, context: __SerdeContext): PriceSchedule => { let contents: any = { - Price: undefined, CurrencyCode: undefined, - Term: undefined, + Price: undefined, Active: undefined, + Term: undefined, }; - if (output["price"] !== undefined) { - contents.Price = parseFloat(output["price"]); - } if (output["currencyCode"] !== undefined) { contents.CurrencyCode = output["currencyCode"]; } - if (output["term"] !== undefined) { - contents.Term = parseInt(output["term"]); + if (output["price"] !== undefined) { + contents.Price = parseFloat(output["price"]); } if (output["active"] !== undefined) { contents.Active = output["active"] == "true"; } + if (output["term"] !== undefined) { + contents.Term = parseInt(output["term"]); + } return contents; }; @@ -56633,15 +57817,15 @@ const deserializeAws_ec2PriceScheduleList = (output: any, context: __SerdeContex const deserializeAws_ec2PricingDetail = (output: any, context: __SerdeContext): PricingDetail => { let contents: any = { - Count: undefined, Price: undefined, + Count: undefined, }; - if (output["count"] !== undefined) { - contents.Count = parseInt(output["count"]); - } if (output["price"] !== undefined) { contents.Price = parseFloat(output["price"]); } + if (output["count"] !== undefined) { + contents.Count = parseInt(output["count"]); + } return contents; }; @@ -56675,23 +57859,23 @@ const deserializeAws_ec2PrivateDnsNameConfiguration = ( context: __SerdeContext ): PrivateDnsNameConfiguration => { let contents: any = { - Type: undefined, - State: undefined, Name: undefined, + State: undefined, Value: undefined, + Type: undefined, }; - if (output["type"] !== undefined) { - contents.Type = output["type"]; + if (output["name"] !== undefined) { + contents.Name = output["name"]; } if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["name"] !== undefined) { - contents.Name = output["name"]; - } if (output["value"] !== undefined) { contents.Value = output["value"]; } + if (output["type"] !== undefined) { + contents.Type = output["type"]; + } return contents; }; @@ -56700,15 +57884,15 @@ const deserializeAws_ec2PrivateIpAddressSpecification = ( context: __SerdeContext ): PrivateIpAddressSpecification => { let contents: any = { - Primary: undefined, PrivateIpAddress: undefined, + Primary: undefined, }; - if (output["primary"] !== undefined) { - contents.Primary = output["primary"] == "true"; - } if (output["privateIpAddress"] !== undefined) { contents.PrivateIpAddress = output["privateIpAddress"]; } + if (output["primary"] !== undefined) { + contents.Primary = output["primary"] == "true"; + } return contents; }; @@ -56721,9 +57905,12 @@ const deserializeAws_ec2PrivateIpAddressSpecificationList = ( const deserializeAws_ec2ProcessorInfo = (output: any, context: __SerdeContext): ProcessorInfo => { let contents: any = { - SupportedArchitectures: undefined, SustainedClockSpeedInGhz: undefined, + SupportedArchitectures: undefined, }; + if (output["sustainedClockSpeedInGhz"] !== undefined) { + contents.SustainedClockSpeedInGhz = parseFloat(output["sustainedClockSpeedInGhz"]); + } if (output.supportedArchitectures === "") { contents.SupportedArchitectures = []; } @@ -56733,23 +57920,20 @@ const deserializeAws_ec2ProcessorInfo = (output: any, context: __SerdeContext): context ); } - if (output["sustainedClockSpeedInGhz"] !== undefined) { - contents.SustainedClockSpeedInGhz = parseFloat(output["sustainedClockSpeedInGhz"]); - } return contents; }; const deserializeAws_ec2ProductCode = (output: any, context: __SerdeContext): ProductCode => { let contents: any = { - ProductCodeId: undefined, ProductCodeType: undefined, + ProductCodeId: undefined, }; - if (output["productCode"] !== undefined) { - contents.ProductCodeId = output["productCode"]; - } if (output["type"] !== undefined) { contents.ProductCodeType = output["type"]; } + if (output["productCode"] !== undefined) { + contents.ProductCodeId = output["productCode"]; + } return contents; }; @@ -56783,26 +57967,26 @@ const deserializeAws_ec2ProvisionByoipCidrResult = (output: any, context: __Serd const deserializeAws_ec2ProvisionedBandwidth = (output: any, context: __SerdeContext): ProvisionedBandwidth => { let contents: any = { - Requested: undefined, - RequestTime: undefined, Status: undefined, - ProvisionTime: undefined, Provisioned: undefined, + RequestTime: undefined, + ProvisionTime: undefined, + Requested: undefined, }; - if (output["requested"] !== undefined) { - contents.Requested = output["requested"]; + if (output["status"] !== undefined) { + contents.Status = output["status"]; + } + if (output["provisioned"] !== undefined) { + contents.Provisioned = output["provisioned"]; } if (output["requestTime"] !== undefined) { contents.RequestTime = new Date(output["requestTime"]); } - if (output["status"] !== undefined) { - contents.Status = output["status"]; - } if (output["provisionTime"] !== undefined) { contents.ProvisionTime = new Date(output["provisionTime"]); } - if (output["provisioned"] !== undefined) { - contents.Provisioned = output["provisioned"]; + if (output["requested"] !== undefined) { + contents.Requested = output["requested"]; } return contents; }; @@ -56810,27 +57994,21 @@ const deserializeAws_ec2ProvisionedBandwidth = (output: any, context: __SerdeCon const deserializeAws_ec2PublicIpv4Pool = (output: any, context: __SerdeContext): PublicIpv4Pool => { let contents: any = { NetworkBorderGroup: undefined, - TotalAddressCount: undefined, - PoolId: undefined, + Tags: undefined, + PoolAddressRanges: undefined, TotalAvailableAddressCount: undefined, Description: undefined, - PoolAddressRanges: undefined, - Tags: undefined, + TotalAddressCount: undefined, + PoolId: undefined, }; if (output["networkBorderGroup"] !== undefined) { contents.NetworkBorderGroup = output["networkBorderGroup"]; } - if (output["totalAddressCount"] !== undefined) { - contents.TotalAddressCount = parseInt(output["totalAddressCount"]); - } - if (output["poolId"] !== undefined) { - contents.PoolId = output["poolId"]; - } - if (output["totalAvailableAddressCount"] !== undefined) { - contents.TotalAvailableAddressCount = parseInt(output["totalAvailableAddressCount"]); + if (output.tagSet === "") { + contents.Tags = []; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } if (output.poolAddressRangeSet === "") { contents.PoolAddressRanges = []; @@ -56841,11 +58019,17 @@ const deserializeAws_ec2PublicIpv4Pool = (output: any, context: __SerdeContext): context ); } - if (output.tagSet === "") { - contents.Tags = []; + if (output["totalAvailableAddressCount"] !== undefined) { + contents.TotalAvailableAddressCount = parseInt(output["totalAvailableAddressCount"]); } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } + if (output["totalAddressCount"] !== undefined) { + contents.TotalAddressCount = parseInt(output["totalAddressCount"]); + } + if (output["poolId"] !== undefined) { + contents.PoolId = output["poolId"]; } return contents; }; @@ -56853,21 +58037,21 @@ const deserializeAws_ec2PublicIpv4Pool = (output: any, context: __SerdeContext): const deserializeAws_ec2PublicIpv4PoolRange = (output: any, context: __SerdeContext): PublicIpv4PoolRange => { let contents: any = { LastAddress: undefined, - AvailableAddressCount: undefined, - FirstAddress: undefined, AddressCount: undefined, + FirstAddress: undefined, + AvailableAddressCount: undefined, }; if (output["lastAddress"] !== undefined) { contents.LastAddress = output["lastAddress"]; } - if (output["availableAddressCount"] !== undefined) { - contents.AvailableAddressCount = parseInt(output["availableAddressCount"]); + if (output["addressCount"] !== undefined) { + contents.AddressCount = parseInt(output["addressCount"]); } if (output["firstAddress"] !== undefined) { contents.FirstAddress = output["firstAddress"]; } - if (output["addressCount"] !== undefined) { - contents.AddressCount = parseInt(output["addressCount"]); + if (output["availableAddressCount"] !== undefined) { + contents.AvailableAddressCount = parseInt(output["availableAddressCount"]); } return contents; }; @@ -56882,23 +58066,29 @@ const deserializeAws_ec2PublicIpv4PoolSet = (output: any, context: __SerdeContex const deserializeAws_ec2Purchase = (output: any, context: __SerdeContext): Purchase => { let contents: any = { - PaymentOption: undefined, - HostReservationId: undefined, - InstanceFamily: undefined, - HostIdSet: undefined, CurrencyCode: undefined, - HourlyPrice: undefined, + HostReservationId: undefined, Duration: undefined, UpfrontPrice: undefined, + HourlyPrice: undefined, + HostIdSet: undefined, + PaymentOption: undefined, + InstanceFamily: undefined, }; - if (output["paymentOption"] !== undefined) { - contents.PaymentOption = output["paymentOption"]; + if (output["currencyCode"] !== undefined) { + contents.CurrencyCode = output["currencyCode"]; } if (output["hostReservationId"] !== undefined) { contents.HostReservationId = output["hostReservationId"]; } - if (output["instanceFamily"] !== undefined) { - contents.InstanceFamily = output["instanceFamily"]; + if (output["duration"] !== undefined) { + contents.Duration = parseInt(output["duration"]); + } + if (output["upfrontPrice"] !== undefined) { + contents.UpfrontPrice = output["upfrontPrice"]; + } + if (output["hourlyPrice"] !== undefined) { + contents.HourlyPrice = output["hourlyPrice"]; } if (output.hostIdSet === "") { contents.HostIdSet = []; @@ -56909,17 +58099,11 @@ const deserializeAws_ec2Purchase = (output: any, context: __SerdeContext): Purch context ); } - if (output["currencyCode"] !== undefined) { - contents.CurrencyCode = output["currencyCode"]; - } - if (output["hourlyPrice"] !== undefined) { - contents.HourlyPrice = output["hourlyPrice"]; - } - if (output["duration"] !== undefined) { - contents.Duration = parseInt(output["duration"]); + if (output["paymentOption"] !== undefined) { + contents.PaymentOption = output["paymentOption"]; } - if (output["upfrontPrice"] !== undefined) { - contents.UpfrontPrice = output["upfrontPrice"]; + if (output["instanceFamily"] !== undefined) { + contents.InstanceFamily = output["instanceFamily"]; } return contents; }; @@ -56933,15 +58117,21 @@ const deserializeAws_ec2PurchaseHostReservationResult = ( context: __SerdeContext ): PurchaseHostReservationResult => { let contents: any = { + TotalHourlyPrice: undefined, CurrencyCode: undefined, + ClientToken: undefined, Purchase: undefined, TotalUpfrontPrice: undefined, - ClientToken: undefined, - TotalHourlyPrice: undefined, }; + if (output["totalHourlyPrice"] !== undefined) { + contents.TotalHourlyPrice = output["totalHourlyPrice"]; + } if (output["currencyCode"] !== undefined) { contents.CurrencyCode = output["currencyCode"]; } + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; + } if (output.purchase === "") { contents.Purchase = []; } @@ -56951,12 +58141,6 @@ const deserializeAws_ec2PurchaseHostReservationResult = ( if (output["totalUpfrontPrice"] !== undefined) { contents.TotalUpfrontPrice = output["totalUpfrontPrice"]; } - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; - } - if (output["totalHourlyPrice"] !== undefined) { - contents.TotalHourlyPrice = output["totalHourlyPrice"]; - } return contents; }; @@ -57218,15 +58402,15 @@ const deserializeAws_ec2ReplaceRouteTableAssociationResult = ( context: __SerdeContext ): ReplaceRouteTableAssociationResult => { let contents: any = { - NewAssociationId: undefined, AssociationState: undefined, + NewAssociationId: undefined, }; - if (output["newAssociationId"] !== undefined) { - contents.NewAssociationId = output["newAssociationId"]; - } if (output["associationState"] !== undefined) { contents.AssociationState = deserializeAws_ec2RouteTableAssociationState(output["associationState"], context); } + if (output["newAssociationId"] !== undefined) { + contents.NewAssociationId = output["newAssociationId"]; + } return contents; }; @@ -57274,12 +58458,21 @@ const deserializeAws_ec2RequestSpotInstancesResult = ( const deserializeAws_ec2Reservation = (output: any, context: __SerdeContext): Reservation => { let contents: any = { + OwnerId: undefined, + ReservationId: undefined, + RequesterId: undefined, Groups: undefined, Instances: undefined, - RequesterId: undefined, - ReservationId: undefined, - OwnerId: undefined, }; + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } + if (output["reservationId"] !== undefined) { + contents.ReservationId = output["reservationId"]; + } + if (output["requesterId"] !== undefined) { + contents.RequesterId = output["requesterId"]; + } if (output.groupSet === "") { contents.Groups = []; } @@ -57298,15 +58491,6 @@ const deserializeAws_ec2Reservation = (output: any, context: __SerdeContext): Re context ); } - if (output["requesterId"] !== undefined) { - contents.RequesterId = output["requesterId"]; - } - if (output["reservationId"] !== undefined) { - contents.ReservationId = output["reservationId"]; - } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; - } return contents; }; @@ -57316,16 +58500,16 @@ const deserializeAws_ec2ReservationList = (output: any, context: __SerdeContext) const deserializeAws_ec2ReservationValue = (output: any, context: __SerdeContext): ReservationValue => { let contents: any = { - HourlyPrice: undefined, RemainingUpfrontValue: undefined, + HourlyPrice: undefined, RemainingTotalValue: undefined, }; - if (output["hourlyPrice"] !== undefined) { - contents.HourlyPrice = output["hourlyPrice"]; - } if (output["remainingUpfrontValue"] !== undefined) { contents.RemainingUpfrontValue = output["remainingUpfrontValue"]; } + if (output["hourlyPrice"] !== undefined) { + contents.HourlyPrice = output["hourlyPrice"]; + } if (output["remainingTotalValue"] !== undefined) { contents.RemainingTotalValue = output["remainingTotalValue"]; } @@ -57358,87 +58542,87 @@ const deserializeAws_ec2ReservedInstanceReservationValueSet = ( const deserializeAws_ec2ReservedInstances = (output: any, context: __SerdeContext): ReservedInstances => { let contents: any = { - InstanceTenancy: undefined, - Tags: undefined, + ProductDescription: undefined, AvailabilityZone: undefined, - State: undefined, + CurrencyCode: undefined, + InstanceType: undefined, + Duration: undefined, + RecurringCharges: undefined, + InstanceCount: undefined, + OfferingType: undefined, + Start: undefined, + OfferingClass: undefined, + Tags: undefined, + InstanceTenancy: undefined, UsagePrice: undefined, ReservedInstancesId: undefined, - Duration: undefined, + FixedPrice: undefined, Scope: undefined, End: undefined, - OfferingClass: undefined, - Start: undefined, - CurrencyCode: undefined, - OfferingType: undefined, - RecurringCharges: undefined, - FixedPrice: undefined, - ProductDescription: undefined, - InstanceCount: undefined, - InstanceType: undefined, + State: undefined, }; - if (output["instanceTenancy"] !== undefined) { - contents.InstanceTenancy = output["instanceTenancy"]; - } - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["productDescription"] !== undefined) { + contents.ProductDescription = output["productDescription"]; } if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } - 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["reservedInstancesId"] !== undefined) { - contents.ReservedInstancesId = output["reservedInstancesId"]; + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; } if (output["duration"] !== undefined) { contents.Duration = parseInt(output["duration"]); } - if (output["scope"] !== undefined) { - contents.Scope = output["scope"]; + if (output.recurringCharges === "") { + contents.RecurringCharges = []; } - if (output["end"] !== undefined) { - contents.End = new Date(output["end"]); + if (output["recurringCharges"] !== undefined && output["recurringCharges"]["item"] !== undefined) { + contents.RecurringCharges = deserializeAws_ec2RecurringChargesList( + __getArrayIfSingleItem(output["recurringCharges"]["item"]), + context + ); } - if (output["offeringClass"] !== undefined) { - contents.OfferingClass = output["offeringClass"]; + if (output["instanceCount"] !== undefined) { + contents.InstanceCount = parseInt(output["instanceCount"]); + } + if (output["offeringType"] !== undefined) { + contents.OfferingType = output["offeringType"]; } if (output["start"] !== undefined) { contents.Start = new Date(output["start"]); } - if (output["currencyCode"] !== undefined) { - contents.CurrencyCode = output["currencyCode"]; + if (output["offeringClass"] !== undefined) { + contents.OfferingClass = output["offeringClass"]; } - if (output["offeringType"] !== undefined) { - contents.OfferingType = output["offeringType"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output.recurringCharges === "") { - contents.RecurringCharges = []; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["recurringCharges"] !== undefined && output["recurringCharges"]["item"] !== undefined) { - contents.RecurringCharges = deserializeAws_ec2RecurringChargesList( - __getArrayIfSingleItem(output["recurringCharges"]["item"]), - context - ); + if (output["instanceTenancy"] !== undefined) { + contents.InstanceTenancy = output["instanceTenancy"]; + } + if (output["usagePrice"] !== undefined) { + contents.UsagePrice = parseFloat(output["usagePrice"]); + } + if (output["reservedInstancesId"] !== undefined) { + contents.ReservedInstancesId = output["reservedInstancesId"]; } if (output["fixedPrice"] !== undefined) { contents.FixedPrice = parseFloat(output["fixedPrice"]); } - if (output["productDescription"] !== undefined) { - contents.ProductDescription = output["productDescription"]; + if (output["scope"] !== undefined) { + contents.Scope = output["scope"]; } - if (output["instanceCount"] !== undefined) { - contents.InstanceCount = parseInt(output["instanceCount"]); + if (output["end"] !== undefined) { + contents.End = new Date(output["end"]); } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; } return contents; }; @@ -57448,20 +58632,17 @@ const deserializeAws_ec2ReservedInstancesConfiguration = ( context: __SerdeContext ): ReservedInstancesConfiguration => { let contents: any = { - Platform: undefined, InstanceType: undefined, - Scope: undefined, + Platform: undefined, InstanceCount: undefined, AvailabilityZone: undefined, + Scope: undefined, }; - if (output["platform"] !== undefined) { - contents.Platform = output["platform"]; - } if (output["instanceType"] !== undefined) { contents.InstanceType = output["instanceType"]; } - if (output["scope"] !== undefined) { - contents.Scope = output["scope"]; + if (output["platform"] !== undefined) { + contents.Platform = output["platform"]; } if (output["instanceCount"] !== undefined) { contents.InstanceCount = parseInt(output["instanceCount"]); @@ -57469,6 +58650,9 @@ const deserializeAws_ec2ReservedInstancesConfiguration = ( if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } + if (output["scope"] !== undefined) { + contents.Scope = output["scope"]; + } return contents; }; @@ -57488,19 +58672,25 @@ const deserializeAws_ec2ReservedInstancesList = (output: any, context: __SerdeCo const deserializeAws_ec2ReservedInstancesListing = (output: any, context: __SerdeContext): ReservedInstancesListing => { let contents: any = { - StatusMessage: undefined, + PriceSchedules: undefined, InstanceCounts: undefined, - ClientToken: undefined, - ReservedInstancesId: undefined, UpdateDate: undefined, + ReservedInstancesListingId: undefined, + CreateDate: undefined, Status: undefined, Tags: undefined, - CreateDate: undefined, - PriceSchedules: undefined, - ReservedInstancesListingId: undefined, + ClientToken: undefined, + StatusMessage: undefined, + ReservedInstancesId: undefined, }; - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; + if (output.priceSchedules === "") { + contents.PriceSchedules = []; + } + if (output["priceSchedules"] !== undefined && output["priceSchedules"]["item"] !== undefined) { + contents.PriceSchedules = deserializeAws_ec2PriceScheduleList( + __getArrayIfSingleItem(output["priceSchedules"]["item"]), + context + ); } if (output.instanceCounts === "") { contents.InstanceCounts = []; @@ -57511,15 +58701,15 @@ const deserializeAws_ec2ReservedInstancesListing = (output: any, context: __Serd context ); } - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; - } - if (output["reservedInstancesId"] !== undefined) { - contents.ReservedInstancesId = output["reservedInstancesId"]; - } if (output["updateDate"] !== undefined) { contents.UpdateDate = new Date(output["updateDate"]); } + if (output["reservedInstancesListingId"] !== undefined) { + contents.ReservedInstancesListingId = output["reservedInstancesListingId"]; + } + if (output["createDate"] !== undefined) { + contents.CreateDate = new Date(output["createDate"]); + } if (output["status"] !== undefined) { contents.Status = output["status"]; } @@ -57529,20 +58719,14 @@ const deserializeAws_ec2ReservedInstancesListing = (output: any, context: __Serd if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["createDate"] !== undefined) { - contents.CreateDate = new Date(output["createDate"]); - } - if (output.priceSchedules === "") { - contents.PriceSchedules = []; + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; } - if (output["priceSchedules"] !== undefined && output["priceSchedules"]["item"] !== undefined) { - contents.PriceSchedules = deserializeAws_ec2PriceScheduleList( - __getArrayIfSingleItem(output["priceSchedules"]["item"]), - context - ); + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; } - if (output["reservedInstancesListingId"] !== undefined) { - contents.ReservedInstancesListingId = output["reservedInstancesListingId"]; + if (output["reservedInstancesId"] !== undefined) { + contents.ReservedInstancesId = output["reservedInstancesId"]; } return contents; }; @@ -57560,14 +58744,14 @@ const deserializeAws_ec2ReservedInstancesModification = ( ): ReservedInstancesModification => { let contents: any = { ReservedInstancesIds: undefined, - Status: undefined, ClientToken: undefined, - ModificationResults: undefined, - EffectiveDate: undefined, - StatusMessage: undefined, + Status: undefined, CreateDate: undefined, - ReservedInstancesModificationId: undefined, UpdateDate: undefined, + ReservedInstancesModificationId: undefined, + EffectiveDate: undefined, + ModificationResults: undefined, + StatusMessage: undefined, }; if (output.reservedInstancesSet === "") { contents.ReservedInstancesIds = []; @@ -57578,11 +58762,23 @@ const deserializeAws_ec2ReservedInstancesModification = ( context ); } + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; + } if (output["status"] !== undefined) { contents.Status = output["status"]; } - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; + if (output["createDate"] !== undefined) { + contents.CreateDate = new Date(output["createDate"]); + } + if (output["updateDate"] !== undefined) { + contents.UpdateDate = new Date(output["updateDate"]); + } + if (output["reservedInstancesModificationId"] !== undefined) { + contents.ReservedInstancesModificationId = output["reservedInstancesModificationId"]; + } + if (output["effectiveDate"] !== undefined) { + contents.EffectiveDate = new Date(output["effectiveDate"]); } if (output.modificationResultSet === "") { contents.ModificationResults = []; @@ -57593,21 +58789,9 @@ const deserializeAws_ec2ReservedInstancesModification = ( context ); } - if (output["effectiveDate"] !== undefined) { - contents.EffectiveDate = new Date(output["effectiveDate"]); - } if (output["statusMessage"] !== undefined) { contents.StatusMessage = output["statusMessage"]; } - if (output["createDate"] !== undefined) { - contents.CreateDate = new Date(output["createDate"]); - } - if (output["reservedInstancesModificationId"] !== undefined) { - contents.ReservedInstancesModificationId = output["reservedInstancesModificationId"]; - } - if (output["updateDate"] !== undefined) { - contents.UpdateDate = new Date(output["updateDate"]); - } return contents; }; @@ -57650,34 +58834,40 @@ const deserializeAws_ec2ReservedInstancesOffering = ( context: __SerdeContext ): ReservedInstancesOffering => { let contents: any = { - AvailabilityZone: undefined, - OfferingClass: undefined, - OfferingType: undefined, + ReservedInstancesOfferingId: undefined, + FixedPrice: undefined, ProductDescription: undefined, - PricingDetails: undefined, RecurringCharges: undefined, + PricingDetails: undefined, + InstanceType: undefined, Marketplace: undefined, - Scope: undefined, - InstanceTenancy: undefined, + OfferingType: undefined, + CurrencyCode: undefined, UsagePrice: undefined, + OfferingClass: undefined, Duration: undefined, - InstanceType: undefined, - FixedPrice: undefined, - CurrencyCode: undefined, - ReservedInstancesOfferingId: undefined, + InstanceTenancy: undefined, + AvailabilityZone: undefined, + Scope: undefined, }; - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; - } - if (output["offeringClass"] !== undefined) { - contents.OfferingClass = output["offeringClass"]; + if (output["reservedInstancesOfferingId"] !== undefined) { + contents.ReservedInstancesOfferingId = output["reservedInstancesOfferingId"]; } - if (output["offeringType"] !== undefined) { - contents.OfferingType = output["offeringType"]; + if (output["fixedPrice"] !== undefined) { + contents.FixedPrice = parseFloat(output["fixedPrice"]); } if (output["productDescription"] !== undefined) { contents.ProductDescription = output["productDescription"]; } + if (output.recurringCharges === "") { + contents.RecurringCharges = []; + } + if (output["recurringCharges"] !== undefined && output["recurringCharges"]["item"] !== undefined) { + contents.RecurringCharges = deserializeAws_ec2RecurringChargesList( + __getArrayIfSingleItem(output["recurringCharges"]["item"]), + context + ); + } if (output.pricingDetailsSet === "") { contents.PricingDetails = []; } @@ -57687,41 +58877,35 @@ const deserializeAws_ec2ReservedInstancesOffering = ( context ); } - if (output.recurringCharges === "") { - contents.RecurringCharges = []; - } - if (output["recurringCharges"] !== undefined && output["recurringCharges"]["item"] !== undefined) { - contents.RecurringCharges = deserializeAws_ec2RecurringChargesList( - __getArrayIfSingleItem(output["recurringCharges"]["item"]), - context - ); + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; } if (output["marketplace"] !== undefined) { contents.Marketplace = output["marketplace"] == "true"; } - if (output["scope"] !== undefined) { - contents.Scope = output["scope"]; + if (output["offeringType"] !== undefined) { + contents.OfferingType = output["offeringType"]; } - if (output["instanceTenancy"] !== undefined) { - contents.InstanceTenancy = output["instanceTenancy"]; + if (output["currencyCode"] !== undefined) { + contents.CurrencyCode = output["currencyCode"]; } if (output["usagePrice"] !== undefined) { contents.UsagePrice = parseFloat(output["usagePrice"]); } + if (output["offeringClass"] !== undefined) { + contents.OfferingClass = output["offeringClass"]; + } if (output["duration"] !== undefined) { contents.Duration = parseInt(output["duration"]); } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; - } - if (output["fixedPrice"] !== undefined) { - contents.FixedPrice = parseFloat(output["fixedPrice"]); + if (output["instanceTenancy"] !== undefined) { + contents.InstanceTenancy = output["instanceTenancy"]; } - if (output["currencyCode"] !== undefined) { - contents.CurrencyCode = output["currencyCode"]; + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; } - if (output["reservedInstancesOfferingId"] !== undefined) { - contents.ReservedInstancesOfferingId = output["reservedInstancesOfferingId"]; + if (output["scope"] !== undefined) { + contents.Scope = output["scope"]; } return contents; }; @@ -57765,15 +58949,15 @@ const deserializeAws_ec2ResetFpgaImageAttributeResult = ( const deserializeAws_ec2ResponseError = (output: any, context: __SerdeContext): ResponseError => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; @@ -57790,39 +58974,54 @@ const deserializeAws_ec2ResponseLaunchTemplateData = ( context: __SerdeContext ): ResponseLaunchTemplateData => { let contents: any = { - UserData: undefined, - CapacityReservationSpecification: undefined, - SecurityGroupIds: undefined, InstanceInitiatedShutdownBehavior: undefined, - HibernationOptions: undefined, - KernelId: undefined, - RamDiskId: undefined, - DisableApiTermination: undefined, - InstanceMarketOptions: undefined, + LicenseSpecifications: undefined, + EbsOptimized: undefined, + NetworkInterfaces: undefined, + SecurityGroupIds: undefined, MetadataOptions: undefined, + InstanceMarketOptions: undefined, + Monitoring: undefined, Placement: undefined, - NetworkInterfaces: undefined, SecurityGroups: undefined, - Monitoring: undefined, - ImageId: undefined, - TagSpecifications: undefined, - LicenseSpecifications: undefined, - EbsOptimized: undefined, - InstanceType: undefined, - CreditSpecification: undefined, KeyName: undefined, + KernelId: undefined, + ElasticGpuSpecifications: undefined, + RamDiskId: undefined, BlockDeviceMappings: undefined, + TagSpecifications: undefined, + InstanceType: undefined, + DisableApiTermination: undefined, + CapacityReservationSpecification: undefined, ElasticInferenceAccelerators: undefined, + UserData: undefined, + CreditSpecification: undefined, + HibernationOptions: undefined, + ImageId: undefined, IamInstanceProfile: undefined, - ElasticGpuSpecifications: undefined, CpuOptions: undefined, }; - if (output["userData"] !== undefined) { - contents.UserData = output["userData"]; + if (output["instanceInitiatedShutdownBehavior"] !== undefined) { + contents.InstanceInitiatedShutdownBehavior = output["instanceInitiatedShutdownBehavior"]; } - if (output["capacityReservationSpecification"] !== undefined) { - contents.CapacityReservationSpecification = deserializeAws_ec2LaunchTemplateCapacityReservationSpecificationResponse( - output["capacityReservationSpecification"], + if (output.licenseSet === "") { + contents.LicenseSpecifications = []; + } + if (output["licenseSet"] !== undefined && output["licenseSet"]["item"] !== undefined) { + contents.LicenseSpecifications = deserializeAws_ec2LaunchTemplateLicenseList( + __getArrayIfSingleItem(output["licenseSet"]["item"]), + context + ); + } + if (output["ebsOptimized"] !== undefined) { + contents.EbsOptimized = output["ebsOptimized"] == "true"; + } + if (output.networkInterfaceSet === "") { + contents.NetworkInterfaces = []; + } + if (output["networkInterfaceSet"] !== undefined && output["networkInterfaceSet"]["item"] !== undefined) { + contents.NetworkInterfaces = deserializeAws_ec2LaunchTemplateInstanceNetworkInterfaceSpecificationList( + __getArrayIfSingleItem(output["networkInterfaceSet"]["item"]), context ); } @@ -57835,48 +59034,24 @@ const deserializeAws_ec2ResponseLaunchTemplateData = ( context ); } - if (output["instanceInitiatedShutdownBehavior"] !== undefined) { - contents.InstanceInitiatedShutdownBehavior = output["instanceInitiatedShutdownBehavior"]; - } - if (output["hibernationOptions"] !== undefined) { - contents.HibernationOptions = deserializeAws_ec2LaunchTemplateHibernationOptions( - output["hibernationOptions"], + if (output["metadataOptions"] !== undefined) { + contents.MetadataOptions = deserializeAws_ec2LaunchTemplateInstanceMetadataOptions( + output["metadataOptions"], context ); } - if (output["kernelId"] !== undefined) { - contents.KernelId = output["kernelId"]; - } - if (output["ramDiskId"] !== undefined) { - contents.RamDiskId = output["ramDiskId"]; - } - if (output["disableApiTermination"] !== undefined) { - contents.DisableApiTermination = output["disableApiTermination"] == "true"; - } if (output["instanceMarketOptions"] !== undefined) { contents.InstanceMarketOptions = deserializeAws_ec2LaunchTemplateInstanceMarketOptions( output["instanceMarketOptions"], context ); } - if (output["metadataOptions"] !== undefined) { - contents.MetadataOptions = deserializeAws_ec2LaunchTemplateInstanceMetadataOptions( - output["metadataOptions"], - context - ); + if (output["monitoring"] !== undefined) { + contents.Monitoring = deserializeAws_ec2LaunchTemplatesMonitoring(output["monitoring"], context); } if (output["placement"] !== undefined) { contents.Placement = deserializeAws_ec2LaunchTemplatePlacement(output["placement"], context); } - if (output.networkInterfaceSet === "") { - contents.NetworkInterfaces = []; - } - if (output["networkInterfaceSet"] !== undefined && output["networkInterfaceSet"]["item"] !== undefined) { - contents.NetworkInterfaces = deserializeAws_ec2LaunchTemplateInstanceNetworkInterfaceSpecificationList( - __getArrayIfSingleItem(output["networkInterfaceSet"]["item"]), - context - ); - } if (output.securityGroupSet === "") { contents.SecurityGroups = []; } @@ -57886,48 +59061,54 @@ const deserializeAws_ec2ResponseLaunchTemplateData = ( context ); } - if (output["monitoring"] !== undefined) { - contents.Monitoring = deserializeAws_ec2LaunchTemplatesMonitoring(output["monitoring"], context); + if (output["keyName"] !== undefined) { + contents.KeyName = output["keyName"]; } - if (output["imageId"] !== undefined) { - contents.ImageId = output["imageId"]; + if (output["kernelId"] !== undefined) { + contents.KernelId = output["kernelId"]; } - if (output.tagSpecificationSet === "") { - contents.TagSpecifications = []; + if (output.elasticGpuSpecificationSet === "") { + contents.ElasticGpuSpecifications = []; } - if (output["tagSpecificationSet"] !== undefined && output["tagSpecificationSet"]["item"] !== undefined) { - contents.TagSpecifications = deserializeAws_ec2LaunchTemplateTagSpecificationList( - __getArrayIfSingleItem(output["tagSpecificationSet"]["item"]), + if ( + output["elasticGpuSpecificationSet"] !== undefined && + output["elasticGpuSpecificationSet"]["item"] !== undefined + ) { + contents.ElasticGpuSpecifications = deserializeAws_ec2ElasticGpuSpecificationResponseList( + __getArrayIfSingleItem(output["elasticGpuSpecificationSet"]["item"]), context ); } - if (output.licenseSet === "") { - contents.LicenseSpecifications = []; + if (output["ramDiskId"] !== undefined) { + contents.RamDiskId = output["ramDiskId"]; } - if (output["licenseSet"] !== undefined && output["licenseSet"]["item"] !== undefined) { - contents.LicenseSpecifications = deserializeAws_ec2LaunchTemplateLicenseList( - __getArrayIfSingleItem(output["licenseSet"]["item"]), + if (output.blockDeviceMappingSet === "") { + contents.BlockDeviceMappings = []; + } + if (output["blockDeviceMappingSet"] !== undefined && output["blockDeviceMappingSet"]["item"] !== undefined) { + contents.BlockDeviceMappings = deserializeAws_ec2LaunchTemplateBlockDeviceMappingList( + __getArrayIfSingleItem(output["blockDeviceMappingSet"]["item"]), context ); } - if (output["ebsOptimized"] !== undefined) { - contents.EbsOptimized = output["ebsOptimized"] == "true"; + if (output.tagSpecificationSet === "") { + contents.TagSpecifications = []; + } + if (output["tagSpecificationSet"] !== undefined && output["tagSpecificationSet"]["item"] !== undefined) { + contents.TagSpecifications = deserializeAws_ec2LaunchTemplateTagSpecificationList( + __getArrayIfSingleItem(output["tagSpecificationSet"]["item"]), + context + ); } if (output["instanceType"] !== undefined) { contents.InstanceType = output["instanceType"]; } - if (output["creditSpecification"] !== undefined) { - contents.CreditSpecification = deserializeAws_ec2CreditSpecification(output["creditSpecification"], context); - } - if (output["keyName"] !== undefined) { - contents.KeyName = output["keyName"]; - } - if (output.blockDeviceMappingSet === "") { - contents.BlockDeviceMappings = []; + if (output["disableApiTermination"] !== undefined) { + contents.DisableApiTermination = output["disableApiTermination"] == "true"; } - if (output["blockDeviceMappingSet"] !== undefined && output["blockDeviceMappingSet"]["item"] !== undefined) { - contents.BlockDeviceMappings = deserializeAws_ec2LaunchTemplateBlockDeviceMappingList( - __getArrayIfSingleItem(output["blockDeviceMappingSet"]["item"]), + if (output["capacityReservationSpecification"] !== undefined) { + contents.CapacityReservationSpecification = deserializeAws_ec2LaunchTemplateCapacityReservationSpecificationResponse( + output["capacityReservationSpecification"], context ); } @@ -57943,21 +59124,24 @@ const deserializeAws_ec2ResponseLaunchTemplateData = ( context ); } - if (output["iamInstanceProfile"] !== undefined) { - contents.IamInstanceProfile = deserializeAws_ec2LaunchTemplateIamInstanceProfileSpecification( - output["iamInstanceProfile"], + if (output["userData"] !== undefined) { + contents.UserData = output["userData"]; + } + if (output["creditSpecification"] !== undefined) { + contents.CreditSpecification = deserializeAws_ec2CreditSpecification(output["creditSpecification"], context); + } + if (output["hibernationOptions"] !== undefined) { + contents.HibernationOptions = deserializeAws_ec2LaunchTemplateHibernationOptions( + output["hibernationOptions"], context ); } - if (output.elasticGpuSpecificationSet === "") { - contents.ElasticGpuSpecifications = []; + if (output["imageId"] !== undefined) { + contents.ImageId = output["imageId"]; } - if ( - output["elasticGpuSpecificationSet"] !== undefined && - output["elasticGpuSpecificationSet"]["item"] !== undefined - ) { - contents.ElasticGpuSpecifications = deserializeAws_ec2ElasticGpuSpecificationResponseList( - __getArrayIfSingleItem(output["elasticGpuSpecificationSet"]["item"]), + if (output["iamInstanceProfile"] !== undefined) { + contents.IamInstanceProfile = deserializeAws_ec2LaunchTemplateIamInstanceProfileSpecification( + output["iamInstanceProfile"], context ); } @@ -57972,15 +59156,15 @@ const deserializeAws_ec2RestoreAddressToClassicResult = ( context: __SerdeContext ): RestoreAddressToClassicResult => { let contents: any = { - Status: undefined, PublicIp: undefined, + Status: undefined, }; - if (output["status"] !== undefined) { - contents.Status = output["status"]; - } if (output["publicIp"] !== undefined) { contents.PublicIp = output["publicIp"]; } + if (output["status"] !== undefined) { + contents.Status = output["status"]; + } return contents; }; @@ -58010,69 +59194,119 @@ const deserializeAws_ec2RevokeClientVpnIngressResult = ( return contents; }; +const deserializeAws_ec2RevokeSecurityGroupEgressResult = ( + output: any, + context: __SerdeContext +): RevokeSecurityGroupEgressResult => { + let contents: any = { + UnknownIpPermissions: undefined, + Return: undefined, + }; + if (output.unknownIpPermissionSet === "") { + contents.UnknownIpPermissions = []; + } + if (output["unknownIpPermissionSet"] !== undefined && output["unknownIpPermissionSet"]["item"] !== undefined) { + contents.UnknownIpPermissions = deserializeAws_ec2IpPermissionList( + __getArrayIfSingleItem(output["unknownIpPermissionSet"]["item"]), + context + ); + } + if (output["return"] !== undefined) { + contents.Return = output["return"] == "true"; + } + return contents; +}; + +const deserializeAws_ec2RevokeSecurityGroupIngressResult = ( + output: any, + context: __SerdeContext +): RevokeSecurityGroupIngressResult => { + let contents: any = { + Return: undefined, + UnknownIpPermissions: undefined, + }; + if (output["return"] !== undefined) { + contents.Return = output["return"] == "true"; + } + if (output.unknownIpPermissionSet === "") { + contents.UnknownIpPermissions = []; + } + if (output["unknownIpPermissionSet"] !== undefined && output["unknownIpPermissionSet"]["item"] !== undefined) { + contents.UnknownIpPermissions = deserializeAws_ec2IpPermissionList( + __getArrayIfSingleItem(output["unknownIpPermissionSet"]["item"]), + context + ); + } + return contents; +}; + const deserializeAws_ec2RootDeviceTypeList = (output: any, context: __SerdeContext): (RootDeviceType | string)[] => { return (output || []).map((entry: any) => entry); }; const deserializeAws_ec2Route = (output: any, context: __SerdeContext): Route => { let contents: any = { + CarrierGatewayId: undefined, + GatewayId: undefined, + DestinationPrefixListId: undefined, + EgressOnlyInternetGatewayId: undefined, + InstanceOwnerId: undefined, + NatGatewayId: undefined, LocalGatewayId: undefined, - DestinationIpv6CidrBlock: undefined, State: undefined, + InstanceId: undefined, + DestinationIpv6CidrBlock: undefined, + DestinationCidrBlock: undefined, TransitGatewayId: undefined, - EgressOnlyInternetGatewayId: undefined, Origin: undefined, - DestinationCidrBlock: undefined, - GatewayId: undefined, VpcPeeringConnectionId: undefined, - InstanceOwnerId: undefined, NetworkInterfaceId: undefined, - DestinationPrefixListId: undefined, - NatGatewayId: undefined, - InstanceId: undefined, }; + if (output["carrierGatewayId"] !== undefined) { + contents.CarrierGatewayId = output["carrierGatewayId"]; + } + if (output["gatewayId"] !== undefined) { + contents.GatewayId = output["gatewayId"]; + } + if (output["destinationPrefixListId"] !== undefined) { + contents.DestinationPrefixListId = output["destinationPrefixListId"]; + } + if (output["egressOnlyInternetGatewayId"] !== undefined) { + contents.EgressOnlyInternetGatewayId = output["egressOnlyInternetGatewayId"]; + } + if (output["instanceOwnerId"] !== undefined) { + contents.InstanceOwnerId = output["instanceOwnerId"]; + } + if (output["natGatewayId"] !== undefined) { + contents.NatGatewayId = output["natGatewayId"]; + } if (output["localGatewayId"] !== undefined) { contents.LocalGatewayId = output["localGatewayId"]; } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; + } if (output["destinationIpv6CidrBlock"] !== undefined) { contents.DestinationIpv6CidrBlock = output["destinationIpv6CidrBlock"]; } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["destinationCidrBlock"] !== undefined) { + contents.DestinationCidrBlock = output["destinationCidrBlock"]; } if (output["transitGatewayId"] !== undefined) { contents.TransitGatewayId = output["transitGatewayId"]; } - if (output["egressOnlyInternetGatewayId"] !== undefined) { - contents.EgressOnlyInternetGatewayId = output["egressOnlyInternetGatewayId"]; - } if (output["origin"] !== undefined) { contents.Origin = output["origin"]; } - if (output["destinationCidrBlock"] !== undefined) { - contents.DestinationCidrBlock = output["destinationCidrBlock"]; - } - if (output["gatewayId"] !== undefined) { - contents.GatewayId = output["gatewayId"]; - } if (output["vpcPeeringConnectionId"] !== undefined) { contents.VpcPeeringConnectionId = output["vpcPeeringConnectionId"]; } - if (output["instanceOwnerId"] !== undefined) { - contents.InstanceOwnerId = output["instanceOwnerId"]; - } if (output["networkInterfaceId"] !== undefined) { contents.NetworkInterfaceId = output["networkInterfaceId"]; } - if (output["destinationPrefixListId"] !== undefined) { - contents.DestinationPrefixListId = output["destinationPrefixListId"]; - } - if (output["natGatewayId"] !== undefined) { - contents.NatGatewayId = output["natGatewayId"]; - } - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; - } return contents; }; @@ -58082,34 +59316,16 @@ const deserializeAws_ec2RouteList = (output: any, context: __SerdeContext): Rout const deserializeAws_ec2RouteTable = (output: any, context: __SerdeContext): RouteTable => { let contents: any = { - VpcId: undefined, - RouteTableId: undefined, - Associations: undefined, - Routes: undefined, + OwnerId: undefined, Tags: undefined, PropagatingVgws: undefined, - OwnerId: undefined, + Routes: undefined, + Associations: undefined, + RouteTableId: undefined, + VpcId: undefined, }; - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; - } - if (output["routeTableId"] !== undefined) { - contents.RouteTableId = output["routeTableId"]; - } - if (output.associationSet === "") { - contents.Associations = []; - } - if (output["associationSet"] !== undefined && output["associationSet"]["item"] !== undefined) { - contents.Associations = deserializeAws_ec2RouteTableAssociationList( - __getArrayIfSingleItem(output["associationSet"]["item"]), - context - ); - } - if (output.routeSet === "") { - contents.Routes = []; - } - if (output["routeSet"] !== undefined && output["routeSet"]["item"] !== undefined) { - contents.Routes = deserializeAws_ec2RouteList(__getArrayIfSingleItem(output["routeSet"]["item"]), context); + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } if (output.tagSet === "") { contents.Tags = []; @@ -58126,39 +59342,57 @@ const deserializeAws_ec2RouteTable = (output: any, context: __SerdeContext): Rou context ); } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; + if (output.routeSet === "") { + contents.Routes = []; + } + if (output["routeSet"] !== undefined && output["routeSet"]["item"] !== undefined) { + contents.Routes = deserializeAws_ec2RouteList(__getArrayIfSingleItem(output["routeSet"]["item"]), context); + } + if (output.associationSet === "") { + contents.Associations = []; + } + if (output["associationSet"] !== undefined && output["associationSet"]["item"] !== undefined) { + contents.Associations = deserializeAws_ec2RouteTableAssociationList( + __getArrayIfSingleItem(output["associationSet"]["item"]), + context + ); + } + if (output["routeTableId"] !== undefined) { + contents.RouteTableId = output["routeTableId"]; + } + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; } return contents; }; const deserializeAws_ec2RouteTableAssociation = (output: any, context: __SerdeContext): RouteTableAssociation => { let contents: any = { - AssociationState: undefined, - SubnetId: undefined, Main: undefined, - GatewayId: undefined, RouteTableId: undefined, + AssociationState: undefined, RouteTableAssociationId: undefined, + SubnetId: undefined, + GatewayId: undefined, }; - if (output["associationState"] !== undefined) { - contents.AssociationState = deserializeAws_ec2RouteTableAssociationState(output["associationState"], context); - } - if (output["subnetId"] !== undefined) { - contents.SubnetId = output["subnetId"]; - } if (output["main"] !== undefined) { contents.Main = output["main"] == "true"; } - if (output["gatewayId"] !== undefined) { - contents.GatewayId = output["gatewayId"]; - } if (output["routeTableId"] !== undefined) { contents.RouteTableId = output["routeTableId"]; } + if (output["associationState"] !== undefined) { + contents.AssociationState = deserializeAws_ec2RouteTableAssociationState(output["associationState"], context); + } if (output["routeTableAssociationId"] !== undefined) { contents.RouteTableAssociationId = output["routeTableAssociationId"]; } + if (output["subnetId"] !== undefined) { + contents.SubnetId = output["subnetId"]; + } + if (output["gatewayId"] !== undefined) { + contents.GatewayId = output["gatewayId"]; + } return contents; }; @@ -58171,15 +59405,15 @@ const deserializeAws_ec2RouteTableAssociationState = ( context: __SerdeContext ): RouteTableAssociationState => { let contents: any = { - StatusMessage: undefined, State: undefined, + StatusMessage: undefined, }; - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; - } if (output["state"] !== undefined) { contents.State = output["state"]; } + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; + } return contents; }; @@ -58221,92 +59455,92 @@ const deserializeAws_ec2RunScheduledInstancesResult = ( const deserializeAws_ec2S3Storage = (output: any, context: __SerdeContext): S3Storage => { let contents: any = { - Prefix: undefined, - UploadPolicySignature: undefined, - UploadPolicy: undefined, - Bucket: undefined, + Prefix: undefined, AWSAccessKeyId: undefined, + Bucket: undefined, + UploadPolicy: undefined, + UploadPolicySignature: undefined, }; if (output["prefix"] !== undefined) { contents.Prefix = output["prefix"]; } - if (output["uploadPolicySignature"] !== undefined) { - contents.UploadPolicySignature = output["uploadPolicySignature"]; - } - if (output["uploadPolicy"] !== undefined) { - contents.UploadPolicy = context.base64Decoder(output["uploadPolicy"]); + if (output["AWSAccessKeyId"] !== undefined) { + contents.AWSAccessKeyId = output["AWSAccessKeyId"]; } if (output["bucket"] !== undefined) { contents.Bucket = output["bucket"]; } - if (output["AWSAccessKeyId"] !== undefined) { - contents.AWSAccessKeyId = output["AWSAccessKeyId"]; + if (output["uploadPolicy"] !== undefined) { + contents.UploadPolicy = context.base64Decoder(output["uploadPolicy"]); + } + if (output["uploadPolicySignature"] !== undefined) { + contents.UploadPolicySignature = output["uploadPolicySignature"]; } return contents; }; const deserializeAws_ec2ScheduledInstance = (output: any, context: __SerdeContext): ScheduledInstance => { let contents: any = { + ScheduledInstanceId: undefined, + AvailabilityZone: undefined, + SlotDurationInHours: undefined, + NetworkPlatform: undefined, InstanceCount: undefined, + NextSlotStartTime: undefined, + Recurrence: undefined, + HourlyPrice: undefined, + Platform: undefined, + PreviousSlotEndTime: undefined, + CreateDate: undefined, TotalScheduledInstanceHours: undefined, + TermEndDate: undefined, TermStartDate: undefined, InstanceType: undefined, - TermEndDate: undefined, - NetworkPlatform: undefined, - SlotDurationInHours: undefined, - PreviousSlotEndTime: undefined, - Platform: undefined, - Recurrence: undefined, - AvailabilityZone: undefined, - ScheduledInstanceId: undefined, - CreateDate: undefined, - NextSlotStartTime: undefined, - HourlyPrice: undefined, }; - if (output["instanceCount"] !== undefined) { - contents.InstanceCount = parseInt(output["instanceCount"]); - } - if (output["totalScheduledInstanceHours"] !== undefined) { - contents.TotalScheduledInstanceHours = parseInt(output["totalScheduledInstanceHours"]); - } - if (output["termStartDate"] !== undefined) { - contents.TermStartDate = new Date(output["termStartDate"]); + if (output["scheduledInstanceId"] !== undefined) { + contents.ScheduledInstanceId = output["scheduledInstanceId"]; } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; } - if (output["termEndDate"] !== undefined) { - contents.TermEndDate = new Date(output["termEndDate"]); + if (output["slotDurationInHours"] !== undefined) { + contents.SlotDurationInHours = parseInt(output["slotDurationInHours"]); } if (output["networkPlatform"] !== undefined) { contents.NetworkPlatform = output["networkPlatform"]; } - if (output["slotDurationInHours"] !== undefined) { - contents.SlotDurationInHours = parseInt(output["slotDurationInHours"]); - } - if (output["previousSlotEndTime"] !== undefined) { - contents.PreviousSlotEndTime = new Date(output["previousSlotEndTime"]); + if (output["instanceCount"] !== undefined) { + contents.InstanceCount = parseInt(output["instanceCount"]); } - if (output["platform"] !== undefined) { - contents.Platform = output["platform"]; + if (output["nextSlotStartTime"] !== undefined) { + contents.NextSlotStartTime = new Date(output["nextSlotStartTime"]); } if (output["recurrence"] !== undefined) { contents.Recurrence = deserializeAws_ec2ScheduledInstanceRecurrence(output["recurrence"], context); } - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; + if (output["hourlyPrice"] !== undefined) { + contents.HourlyPrice = output["hourlyPrice"]; } - if (output["scheduledInstanceId"] !== undefined) { - contents.ScheduledInstanceId = output["scheduledInstanceId"]; + if (output["platform"] !== undefined) { + contents.Platform = output["platform"]; + } + if (output["previousSlotEndTime"] !== undefined) { + contents.PreviousSlotEndTime = new Date(output["previousSlotEndTime"]); } if (output["createDate"] !== undefined) { contents.CreateDate = new Date(output["createDate"]); } - if (output["nextSlotStartTime"] !== undefined) { - contents.NextSlotStartTime = new Date(output["nextSlotStartTime"]); + if (output["totalScheduledInstanceHours"] !== undefined) { + contents.TotalScheduledInstanceHours = parseInt(output["totalScheduledInstanceHours"]); } - if (output["hourlyPrice"] !== undefined) { - contents.HourlyPrice = output["hourlyPrice"]; + if (output["termEndDate"] !== undefined) { + contents.TermEndDate = new Date(output["termEndDate"]); + } + if (output["termStartDate"] !== undefined) { + contents.TermStartDate = new Date(output["termStartDate"]); + } + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; } return contents; }; @@ -58316,22 +59550,34 @@ const deserializeAws_ec2ScheduledInstanceAvailability = ( context: __SerdeContext ): ScheduledInstanceAvailability => { let contents: any = { - AvailabilityZone: undefined, + Recurrence: undefined, + TotalScheduledInstanceHours: undefined, + HourlyPrice: undefined, + FirstSlotStartTime: undefined, + MaxTermDurationInDays: undefined, MinTermDurationInDays: undefined, SlotDurationInHours: undefined, - PurchaseToken: undefined, - MaxTermDurationInDays: undefined, + InstanceType: undefined, + NetworkPlatform: undefined, Platform: undefined, AvailableInstanceCount: undefined, - NetworkPlatform: undefined, - TotalScheduledInstanceHours: undefined, - FirstSlotStartTime: undefined, - Recurrence: undefined, - HourlyPrice: undefined, - InstanceType: undefined, + PurchaseToken: undefined, + AvailabilityZone: undefined, }; - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; + if (output["recurrence"] !== undefined) { + contents.Recurrence = deserializeAws_ec2ScheduledInstanceRecurrence(output["recurrence"], context); + } + if (output["totalScheduledInstanceHours"] !== undefined) { + contents.TotalScheduledInstanceHours = parseInt(output["totalScheduledInstanceHours"]); + } + if (output["hourlyPrice"] !== undefined) { + contents.HourlyPrice = output["hourlyPrice"]; + } + if (output["firstSlotStartTime"] !== undefined) { + contents.FirstSlotStartTime = new Date(output["firstSlotStartTime"]); + } + if (output["maxTermDurationInDays"] !== undefined) { + contents.MaxTermDurationInDays = parseInt(output["maxTermDurationInDays"]); } if (output["minTermDurationInDays"] !== undefined) { contents.MinTermDurationInDays = parseInt(output["minTermDurationInDays"]); @@ -58339,11 +59585,11 @@ const deserializeAws_ec2ScheduledInstanceAvailability = ( if (output["slotDurationInHours"] !== undefined) { contents.SlotDurationInHours = parseInt(output["slotDurationInHours"]); } - if (output["purchaseToken"] !== undefined) { - contents.PurchaseToken = output["purchaseToken"]; + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; } - if (output["maxTermDurationInDays"] !== undefined) { - contents.MaxTermDurationInDays = parseInt(output["maxTermDurationInDays"]); + if (output["networkPlatform"] !== undefined) { + contents.NetworkPlatform = output["networkPlatform"]; } if (output["platform"] !== undefined) { contents.Platform = output["platform"]; @@ -58351,23 +59597,11 @@ const deserializeAws_ec2ScheduledInstanceAvailability = ( if (output["availableInstanceCount"] !== undefined) { contents.AvailableInstanceCount = parseInt(output["availableInstanceCount"]); } - if (output["networkPlatform"] !== undefined) { - contents.NetworkPlatform = output["networkPlatform"]; - } - if (output["totalScheduledInstanceHours"] !== undefined) { - contents.TotalScheduledInstanceHours = parseInt(output["totalScheduledInstanceHours"]); - } - if (output["firstSlotStartTime"] !== undefined) { - contents.FirstSlotStartTime = new Date(output["firstSlotStartTime"]); - } - if (output["recurrence"] !== undefined) { - contents.Recurrence = deserializeAws_ec2ScheduledInstanceRecurrence(output["recurrence"], context); - } - if (output["hourlyPrice"] !== undefined) { - contents.HourlyPrice = output["hourlyPrice"]; + if (output["purchaseToken"] !== undefined) { + contents.PurchaseToken = output["purchaseToken"]; } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; } return contents; }; @@ -58384,21 +59618,15 @@ const deserializeAws_ec2ScheduledInstanceRecurrence = ( context: __SerdeContext ): ScheduledInstanceRecurrence => { let contents: any = { - Frequency: undefined, OccurrenceUnit: undefined, - OccurrenceRelativeToEnd: undefined, OccurrenceDaySet: undefined, + Frequency: undefined, + OccurrenceRelativeToEnd: undefined, Interval: undefined, }; - if (output["frequency"] !== undefined) { - contents.Frequency = output["frequency"]; - } if (output["occurrenceUnit"] !== undefined) { contents.OccurrenceUnit = output["occurrenceUnit"]; } - if (output["occurrenceRelativeToEnd"] !== undefined) { - contents.OccurrenceRelativeToEnd = output["occurrenceRelativeToEnd"] == "true"; - } if (output.occurrenceDaySet === "") { contents.OccurrenceDaySet = []; } @@ -58408,6 +59636,12 @@ const deserializeAws_ec2ScheduledInstanceRecurrence = ( context ); } + if (output["frequency"] !== undefined) { + contents.Frequency = output["frequency"]; + } + if (output["occurrenceRelativeToEnd"] !== undefined) { + contents.OccurrenceRelativeToEnd = output["occurrenceRelativeToEnd"] == "true"; + } if (output["interval"] !== undefined) { contents.Interval = parseInt(output["interval"]); } @@ -58489,15 +59723,27 @@ const deserializeAws_ec2SearchTransitGatewayRoutesResult = ( const deserializeAws_ec2SecurityGroup = (output: any, context: __SerdeContext): SecurityGroup => { let contents: any = { - IpPermissionsEgress: undefined, - GroupName: undefined, - VpcId: undefined, - Tags: undefined, GroupId: undefined, IpPermissions: undefined, - OwnerId: undefined, + IpPermissionsEgress: undefined, Description: undefined, + Tags: undefined, + OwnerId: undefined, + VpcId: undefined, + GroupName: undefined, }; + if (output["groupId"] !== undefined) { + contents.GroupId = output["groupId"]; + } + if (output.ipPermissions === "") { + contents.IpPermissions = []; + } + if (output["ipPermissions"] !== undefined && output["ipPermissions"]["item"] !== undefined) { + contents.IpPermissions = deserializeAws_ec2IpPermissionList( + __getArrayIfSingleItem(output["ipPermissions"]["item"]), + context + ); + } if (output.ipPermissionsEgress === "") { contents.IpPermissionsEgress = []; } @@ -58507,11 +59753,8 @@ const deserializeAws_ec2SecurityGroup = (output: any, context: __SerdeContext): context ); } - if (output["groupName"] !== undefined) { - contents.GroupName = output["groupName"]; - } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; + if (output["groupDescription"] !== undefined) { + contents.Description = output["groupDescription"]; } if (output.tagSet === "") { contents.Tags = []; @@ -58519,38 +59762,29 @@ const deserializeAws_ec2SecurityGroup = (output: any, context: __SerdeContext): if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["groupId"] !== undefined) { - contents.GroupId = output["groupId"]; - } - if (output.ipPermissions === "") { - contents.IpPermissions = []; - } - if (output["ipPermissions"] !== undefined && output["ipPermissions"]["item"] !== undefined) { - contents.IpPermissions = deserializeAws_ec2IpPermissionList( - __getArrayIfSingleItem(output["ipPermissions"]["item"]), - context - ); - } if (output["ownerId"] !== undefined) { contents.OwnerId = output["ownerId"]; } - if (output["groupDescription"] !== undefined) { - contents.Description = output["groupDescription"]; + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; + } + if (output["groupName"] !== undefined) { + contents.GroupName = output["groupName"]; } return contents; }; const deserializeAws_ec2SecurityGroupIdentifier = (output: any, context: __SerdeContext): SecurityGroupIdentifier => { let contents: any = { - GroupName: undefined, GroupId: undefined, + GroupName: undefined, }; - if (output["groupName"] !== undefined) { - contents.GroupName = output["groupName"]; - } if (output["groupId"] !== undefined) { contents.GroupId = output["groupId"]; } + if (output["groupName"] !== undefined) { + contents.GroupName = output["groupName"]; + } return contents; }; @@ -58564,16 +59798,16 @@ const deserializeAws_ec2SecurityGroupList = (output: any, context: __SerdeContex const deserializeAws_ec2SecurityGroupReference = (output: any, context: __SerdeContext): SecurityGroupReference => { let contents: any = { - GroupId: undefined, ReferencingVpcId: undefined, + GroupId: undefined, VpcPeeringConnectionId: undefined, }; - if (output["groupId"] !== undefined) { - contents.GroupId = output["groupId"]; - } if (output["referencingVpcId"] !== undefined) { contents.ReferencingVpcId = output["referencingVpcId"]; } + if (output["groupId"] !== undefined) { + contents.GroupId = output["groupId"]; + } if (output["vpcPeeringConnectionId"] !== undefined) { contents.VpcPeeringConnectionId = output["vpcPeeringConnectionId"]; } @@ -58586,43 +59820,43 @@ const deserializeAws_ec2SecurityGroupReferences = (output: any, context: __Serde const deserializeAws_ec2ServiceConfiguration = (output: any, context: __SerdeContext): ServiceConfiguration => { let contents: any = { + NetworkLoadBalancerArns: undefined, + ServiceState: undefined, + AcceptanceRequired: undefined, + ServiceName: undefined, + AvailabilityZones: undefined, + Tags: undefined, + PrivateDnsNameConfiguration: undefined, + ServiceType: undefined, + BaseEndpointDnsNames: undefined, ManagesVpcEndpoints: undefined, PrivateDnsName: undefined, - BaseEndpointDnsNames: undefined, ServiceId: undefined, - ServiceType: undefined, - Tags: undefined, - ServiceName: undefined, - PrivateDnsNameConfiguration: undefined, - ServiceState: undefined, - AvailabilityZones: undefined, - NetworkLoadBalancerArns: undefined, - AcceptanceRequired: undefined, }; - if (output["managesVpcEndpoints"] !== undefined) { - contents.ManagesVpcEndpoints = output["managesVpcEndpoints"] == "true"; - } - if (output["privateDnsName"] !== undefined) { - contents.PrivateDnsName = output["privateDnsName"]; - } - if (output.baseEndpointDnsNameSet === "") { - contents.BaseEndpointDnsNames = []; + if (output.networkLoadBalancerArnSet === "") { + contents.NetworkLoadBalancerArns = []; } - if (output["baseEndpointDnsNameSet"] !== undefined && output["baseEndpointDnsNameSet"]["item"] !== undefined) { - contents.BaseEndpointDnsNames = deserializeAws_ec2ValueStringList( - __getArrayIfSingleItem(output["baseEndpointDnsNameSet"]["item"]), + if (output["networkLoadBalancerArnSet"] !== undefined && output["networkLoadBalancerArnSet"]["item"] !== undefined) { + contents.NetworkLoadBalancerArns = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["networkLoadBalancerArnSet"]["item"]), context ); } - if (output["serviceId"] !== undefined) { - contents.ServiceId = output["serviceId"]; + if (output["serviceState"] !== undefined) { + contents.ServiceState = output["serviceState"]; } - if (output.serviceType === "") { - contents.ServiceType = []; + if (output["acceptanceRequired"] !== undefined) { + contents.AcceptanceRequired = output["acceptanceRequired"] == "true"; } - if (output["serviceType"] !== undefined && output["serviceType"]["item"] !== undefined) { - contents.ServiceType = deserializeAws_ec2ServiceTypeDetailSet( - __getArrayIfSingleItem(output["serviceType"]["item"]), + if (output["serviceName"] !== undefined) { + contents.ServiceName = output["serviceName"]; + } + if (output.availabilityZoneSet === "") { + contents.AvailabilityZones = []; + } + if (output["availabilityZoneSet"] !== undefined && output["availabilityZoneSet"]["item"] !== undefined) { + contents.AvailabilityZones = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["availabilityZoneSet"]["item"]), context ); } @@ -58632,38 +59866,38 @@ const deserializeAws_ec2ServiceConfiguration = (output: any, context: __SerdeCon if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["serviceName"] !== undefined) { - contents.ServiceName = output["serviceName"]; - } if (output["privateDnsNameConfiguration"] !== undefined) { contents.PrivateDnsNameConfiguration = deserializeAws_ec2PrivateDnsNameConfiguration( output["privateDnsNameConfiguration"], context ); } - if (output["serviceState"] !== undefined) { - contents.ServiceState = output["serviceState"]; - } - if (output.availabilityZoneSet === "") { - contents.AvailabilityZones = []; + if (output.serviceType === "") { + contents.ServiceType = []; } - if (output["availabilityZoneSet"] !== undefined && output["availabilityZoneSet"]["item"] !== undefined) { - contents.AvailabilityZones = deserializeAws_ec2ValueStringList( - __getArrayIfSingleItem(output["availabilityZoneSet"]["item"]), + if (output["serviceType"] !== undefined && output["serviceType"]["item"] !== undefined) { + contents.ServiceType = deserializeAws_ec2ServiceTypeDetailSet( + __getArrayIfSingleItem(output["serviceType"]["item"]), context ); } - if (output.networkLoadBalancerArnSet === "") { - contents.NetworkLoadBalancerArns = []; + if (output.baseEndpointDnsNameSet === "") { + contents.BaseEndpointDnsNames = []; } - if (output["networkLoadBalancerArnSet"] !== undefined && output["networkLoadBalancerArnSet"]["item"] !== undefined) { - contents.NetworkLoadBalancerArns = deserializeAws_ec2ValueStringList( - __getArrayIfSingleItem(output["networkLoadBalancerArnSet"]["item"]), + if (output["baseEndpointDnsNameSet"] !== undefined && output["baseEndpointDnsNameSet"]["item"] !== undefined) { + contents.BaseEndpointDnsNames = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["baseEndpointDnsNameSet"]["item"]), context ); } - if (output["acceptanceRequired"] !== undefined) { - contents.AcceptanceRequired = output["acceptanceRequired"] == "true"; + if (output["managesVpcEndpoints"] !== undefined) { + contents.ManagesVpcEndpoints = output["managesVpcEndpoints"] == "true"; + } + if (output["privateDnsName"] !== undefined) { + contents.PrivateDnsName = output["privateDnsName"]; + } + if (output["serviceId"] !== undefined) { + contents.ServiceId = output["serviceId"]; } return contents; }; @@ -58674,33 +59908,21 @@ const deserializeAws_ec2ServiceConfigurationSet = (output: any, context: __Serde const deserializeAws_ec2ServiceDetail = (output: any, context: __SerdeContext): ServiceDetail => { let contents: any = { - VpcEndpointPolicySupported: undefined, + Owner: undefined, + ServiceType: undefined, BaseEndpointDnsNames: undefined, + AcceptanceRequired: undefined, + AvailabilityZones: undefined, + PrivateDnsName: undefined, ManagesVpcEndpoints: undefined, - ServiceType: undefined, - PrivateDnsNameVerificationState: undefined, ServiceName: undefined, - Tags: undefined, - AvailabilityZones: undefined, ServiceId: undefined, - AcceptanceRequired: undefined, - PrivateDnsName: undefined, - Owner: undefined, + Tags: undefined, + PrivateDnsNameVerificationState: undefined, + VpcEndpointPolicySupported: undefined, }; - if (output["vpcEndpointPolicySupported"] !== undefined) { - contents.VpcEndpointPolicySupported = output["vpcEndpointPolicySupported"] == "true"; - } - if (output.baseEndpointDnsNameSet === "") { - contents.BaseEndpointDnsNames = []; - } - if (output["baseEndpointDnsNameSet"] !== undefined && output["baseEndpointDnsNameSet"]["item"] !== undefined) { - contents.BaseEndpointDnsNames = deserializeAws_ec2ValueStringList( - __getArrayIfSingleItem(output["baseEndpointDnsNameSet"]["item"]), - context - ); - } - if (output["managesVpcEndpoints"] !== undefined) { - contents.ManagesVpcEndpoints = output["managesVpcEndpoints"] == "true"; + if (output["owner"] !== undefined) { + contents.Owner = output["owner"]; } if (output.serviceType === "") { contents.ServiceType = []; @@ -58711,17 +59933,17 @@ const deserializeAws_ec2ServiceDetail = (output: any, context: __SerdeContext): context ); } - if (output["privateDnsNameVerificationState"] !== undefined) { - contents.PrivateDnsNameVerificationState = output["privateDnsNameVerificationState"]; - } - if (output["serviceName"] !== undefined) { - contents.ServiceName = output["serviceName"]; + if (output.baseEndpointDnsNameSet === "") { + contents.BaseEndpointDnsNames = []; } - if (output.tagSet === "") { - contents.Tags = []; + if (output["baseEndpointDnsNameSet"] !== undefined && output["baseEndpointDnsNameSet"]["item"] !== undefined) { + contents.BaseEndpointDnsNames = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["baseEndpointDnsNameSet"]["item"]), + context + ); } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["acceptanceRequired"] !== undefined) { + contents.AcceptanceRequired = output["acceptanceRequired"] == "true"; } if (output.availabilityZoneSet === "") { contents.AvailabilityZones = []; @@ -58732,17 +59954,29 @@ const deserializeAws_ec2ServiceDetail = (output: any, context: __SerdeContext): context ); } + if (output["privateDnsName"] !== undefined) { + contents.PrivateDnsName = output["privateDnsName"]; + } + if (output["managesVpcEndpoints"] !== undefined) { + contents.ManagesVpcEndpoints = output["managesVpcEndpoints"] == "true"; + } + if (output["serviceName"] !== undefined) { + contents.ServiceName = output["serviceName"]; + } if (output["serviceId"] !== undefined) { contents.ServiceId = output["serviceId"]; } - if (output["acceptanceRequired"] !== undefined) { - contents.AcceptanceRequired = output["acceptanceRequired"] == "true"; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["privateDnsName"] !== undefined) { - contents.PrivateDnsName = output["privateDnsName"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["owner"] !== undefined) { - contents.Owner = output["owner"]; + if (output["privateDnsNameVerificationState"] !== undefined) { + contents.PrivateDnsNameVerificationState = output["privateDnsNameVerificationState"]; + } + if (output["vpcEndpointPolicySupported"] !== undefined) { + contents.VpcEndpointPolicySupported = output["vpcEndpointPolicySupported"] == "true"; } return contents; }; @@ -58767,111 +60001,111 @@ const deserializeAws_ec2ServiceTypeDetailSet = (output: any, context: __SerdeCon const deserializeAws_ec2Snapshot = (output: any, context: __SerdeContext): Snapshot => { let contents: any = { - OwnerId: undefined, - VolumeSize: undefined, - OwnerAlias: undefined, - SnapshotId: undefined, - VolumeId: undefined, - StateMessage: undefined, + StartTime: undefined, + State: undefined, Encrypted: undefined, - Tags: undefined, DataEncryptionKeyId: undefined, + StateMessage: undefined, + Description: undefined, + VolumeId: undefined, Progress: undefined, + OwnerId: undefined, + VolumeSize: undefined, KmsKeyId: undefined, - Description: undefined, - State: undefined, - StartTime: undefined, + OwnerAlias: undefined, + Tags: undefined, + SnapshotId: undefined, }; - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; - } - if (output["volumeSize"] !== undefined) { - contents.VolumeSize = parseInt(output["volumeSize"]); + if (output["startTime"] !== undefined) { + contents.StartTime = new Date(output["startTime"]); } - if (output["ownerAlias"] !== undefined) { - contents.OwnerAlias = output["ownerAlias"]; + if (output["status"] !== undefined) { + contents.State = output["status"]; } - if (output["snapshotId"] !== undefined) { - contents.SnapshotId = output["snapshotId"]; + if (output["encrypted"] !== undefined) { + contents.Encrypted = output["encrypted"] == "true"; } - if (output["volumeId"] !== undefined) { - contents.VolumeId = output["volumeId"]; + if (output["dataEncryptionKeyId"] !== undefined) { + contents.DataEncryptionKeyId = output["dataEncryptionKeyId"]; } if (output["statusMessage"] !== undefined) { contents.StateMessage = output["statusMessage"]; } - if (output["encrypted"] !== undefined) { - contents.Encrypted = output["encrypted"] == "true"; - } - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["description"] !== undefined) { + contents.Description = output["description"]; } - if (output["dataEncryptionKeyId"] !== undefined) { - contents.DataEncryptionKeyId = output["dataEncryptionKeyId"]; + if (output["volumeId"] !== undefined) { + contents.VolumeId = output["volumeId"]; } if (output["progress"] !== undefined) { contents.Progress = output["progress"]; } + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } + if (output["volumeSize"] !== undefined) { + contents.VolumeSize = parseInt(output["volumeSize"]); + } if (output["kmsKeyId"] !== undefined) { contents.KmsKeyId = output["kmsKeyId"]; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["ownerAlias"] !== undefined) { + contents.OwnerAlias = output["ownerAlias"]; } - if (output["status"] !== undefined) { - contents.State = output["status"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["startTime"] !== undefined) { - contents.StartTime = new Date(output["startTime"]); + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + } + if (output["snapshotId"] !== undefined) { + contents.SnapshotId = output["snapshotId"]; } return contents; }; const deserializeAws_ec2SnapshotDetail = (output: any, context: __SerdeContext): SnapshotDetail => { let contents: any = { - SnapshotId: undefined, - DeviceName: undefined, Status: undefined, - Url: undefined, - UserBucket: undefined, - Progress: undefined, - StatusMessage: undefined, + SnapshotId: undefined, Description: undefined, - DiskImageSize: undefined, Format: undefined, + DiskImageSize: undefined, + UserBucket: undefined, + StatusMessage: undefined, + Url: undefined, + Progress: undefined, + DeviceName: undefined, }; + if (output["status"] !== undefined) { + contents.Status = output["status"]; + } if (output["snapshotId"] !== undefined) { contents.SnapshotId = output["snapshotId"]; } - if (output["deviceName"] !== undefined) { - contents.DeviceName = output["deviceName"]; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } - if (output["status"] !== undefined) { - contents.Status = output["status"]; + if (output["format"] !== undefined) { + contents.Format = output["format"]; } - if (output["url"] !== undefined) { - contents.Url = output["url"]; + if (output["diskImageSize"] !== undefined) { + contents.DiskImageSize = parseFloat(output["diskImageSize"]); } if (output["userBucket"] !== undefined) { contents.UserBucket = deserializeAws_ec2UserBucketDetails(output["userBucket"], context); } - if (output["progress"] !== undefined) { - contents.Progress = output["progress"]; - } if (output["statusMessage"] !== undefined) { contents.StatusMessage = output["statusMessage"]; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["url"] !== undefined) { + contents.Url = output["url"]; } - if (output["diskImageSize"] !== undefined) { - contents.DiskImageSize = parseFloat(output["diskImageSize"]); + if (output["progress"] !== undefined) { + contents.Progress = output["progress"]; } - if (output["format"] !== undefined) { - contents.Format = output["format"]; + if (output["deviceName"] !== undefined) { + contents.DeviceName = output["deviceName"]; } return contents; }; @@ -58882,35 +60116,38 @@ const deserializeAws_ec2SnapshotDetailList = (output: any, context: __SerdeConte const deserializeAws_ec2SnapshotInfo = (output: any, context: __SerdeContext): SnapshotInfo => { let contents: any = { + Progress: undefined, + StartTime: undefined, + State: undefined, Description: undefined, - Encrypted: undefined, VolumeId: undefined, + Encrypted: undefined, SnapshotId: undefined, - State: undefined, - Progress: undefined, OwnerId: undefined, VolumeSize: undefined, Tags: undefined, - StartTime: undefined, }; + if (output["progress"] !== undefined) { + contents.Progress = output["progress"]; + } + if (output["startTime"] !== undefined) { + contents.StartTime = new Date(output["startTime"]); + } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } if (output["description"] !== undefined) { contents.Description = output["description"]; } - if (output["encrypted"] !== undefined) { - contents.Encrypted = output["encrypted"] == "true"; - } if (output["volumeId"] !== undefined) { contents.VolumeId = output["volumeId"]; } + if (output["encrypted"] !== undefined) { + contents.Encrypted = output["encrypted"] == "true"; + } if (output["snapshotId"] !== undefined) { contents.SnapshotId = output["snapshotId"]; } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["progress"] !== undefined) { - contents.Progress = output["progress"]; - } if (output["ownerId"] !== undefined) { contents.OwnerId = output["ownerId"]; } @@ -58923,9 +60160,6 @@ const deserializeAws_ec2SnapshotInfo = (output: any, context: __SerdeContext): S if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["startTime"] !== undefined) { - contents.StartTime = new Date(output["startTime"]); - } return contents; }; @@ -58939,50 +60173,50 @@ const deserializeAws_ec2SnapshotSet = (output: any, context: __SerdeContext): Sn const deserializeAws_ec2SnapshotTaskDetail = (output: any, context: __SerdeContext): SnapshotTaskDetail => { let contents: any = { + KmsKeyId: undefined, + Format: undefined, + Encrypted: undefined, SnapshotId: undefined, + StatusMessage: undefined, + UserBucket: undefined, + DiskImageSize: undefined, Status: undefined, - Encrypted: undefined, Description: undefined, Url: undefined, Progress: undefined, - DiskImageSize: undefined, - StatusMessage: undefined, - UserBucket: undefined, - Format: undefined, - KmsKeyId: undefined, }; - if (output["snapshotId"] !== undefined) { - contents.SnapshotId = output["snapshotId"]; + if (output["kmsKeyId"] !== undefined) { + contents.KmsKeyId = output["kmsKeyId"]; } - if (output["status"] !== undefined) { - contents.Status = output["status"]; + if (output["format"] !== undefined) { + contents.Format = output["format"]; } if (output["encrypted"] !== undefined) { contents.Encrypted = output["encrypted"] == "true"; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["snapshotId"] !== undefined) { + contents.SnapshotId = output["snapshotId"]; } - if (output["url"] !== undefined) { - contents.Url = output["url"]; + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = output["statusMessage"]; } - if (output["progress"] !== undefined) { - contents.Progress = output["progress"]; + if (output["userBucket"] !== undefined) { + contents.UserBucket = deserializeAws_ec2UserBucketDetails(output["userBucket"], context); } if (output["diskImageSize"] !== undefined) { contents.DiskImageSize = parseFloat(output["diskImageSize"]); } - if (output["statusMessage"] !== undefined) { - contents.StatusMessage = output["statusMessage"]; + if (output["status"] !== undefined) { + contents.Status = output["status"]; } - if (output["userBucket"] !== undefined) { - contents.UserBucket = deserializeAws_ec2UserBucketDetails(output["userBucket"], context); + if (output["description"] !== undefined) { + contents.Description = output["description"]; } - if (output["format"] !== undefined) { - contents.Format = output["format"]; + if (output["url"] !== undefined) { + contents.Url = output["url"]; } - if (output["kmsKeyId"] !== undefined) { - contents.KmsKeyId = output["kmsKeyId"]; + if (output["progress"] !== undefined) { + contents.Progress = output["progress"]; } return contents; }; @@ -58990,14 +60224,17 @@ const deserializeAws_ec2SnapshotTaskDetail = (output: any, context: __SerdeConte const deserializeAws_ec2SpotDatafeedSubscription = (output: any, context: __SerdeContext): SpotDatafeedSubscription => { let contents: any = { Prefix: undefined, + Bucket: undefined, OwnerId: undefined, Fault: undefined, State: undefined, - Bucket: undefined, }; if (output["prefix"] !== undefined) { contents.Prefix = output["prefix"]; } + if (output["bucket"] !== undefined) { + contents.Bucket = output["bucket"]; + } if (output["ownerId"] !== undefined) { contents.OwnerId = output["ownerId"]; } @@ -59007,9 +60244,6 @@ const deserializeAws_ec2SpotDatafeedSubscription = (output: any, context: __Serd if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["bucket"] !== undefined) { - contents.Bucket = output["bucket"]; - } return contents; }; @@ -59018,46 +60252,25 @@ const deserializeAws_ec2SpotFleetLaunchSpecification = ( context: __SerdeContext ): SpotFleetLaunchSpecification => { let contents: any = { - BlockDeviceMappings: undefined, - SecurityGroups: undefined, - EbsOptimized: undefined, NetworkInterfaces: undefined, KeyName: undefined, Placement: undefined, + IamInstanceProfile: undefined, + WeightedCapacity: undefined, + TagSpecifications: undefined, InstanceType: undefined, - Monitoring: undefined, + BlockDeviceMappings: undefined, + EbsOptimized: undefined, + SubnetId: undefined, + KernelId: undefined, + AddressingType: undefined, SpotPrice: undefined, - TagSpecifications: undefined, RamdiskId: undefined, - UserData: undefined, ImageId: undefined, - WeightedCapacity: undefined, - IamInstanceProfile: undefined, - SubnetId: undefined, - AddressingType: undefined, - KernelId: undefined, + Monitoring: undefined, + UserData: undefined, + SecurityGroups: undefined, }; - if (output.blockDeviceMapping === "") { - contents.BlockDeviceMappings = []; - } - if (output["blockDeviceMapping"] !== undefined && output["blockDeviceMapping"]["item"] !== undefined) { - contents.BlockDeviceMappings = deserializeAws_ec2BlockDeviceMappingList( - __getArrayIfSingleItem(output["blockDeviceMapping"]["item"]), - context - ); - } - if (output.groupSet === "") { - contents.SecurityGroups = []; - } - if (output["groupSet"] !== undefined && output["groupSet"]["item"] !== undefined) { - contents.SecurityGroups = deserializeAws_ec2GroupIdentifierList( - __getArrayIfSingleItem(output["groupSet"]["item"]), - context - ); - } - if (output["ebsOptimized"] !== undefined) { - contents.EbsOptimized = output["ebsOptimized"] == "true"; - } if (output.networkInterfaceSet === "") { contents.NetworkInterfaces = []; } @@ -59073,14 +60286,14 @@ const deserializeAws_ec2SpotFleetLaunchSpecification = ( if (output["placement"] !== undefined) { contents.Placement = deserializeAws_ec2SpotPlacement(output["placement"], context); } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; - } - if (output["monitoring"] !== undefined) { - contents.Monitoring = deserializeAws_ec2SpotFleetMonitoring(output["monitoring"], context); + if (output["iamInstanceProfile"] !== undefined) { + contents.IamInstanceProfile = deserializeAws_ec2IamInstanceProfileSpecification( + output["iamInstanceProfile"], + context + ); } - if (output["spotPrice"] !== undefined) { - contents.SpotPrice = output["spotPrice"]; + if (output["weightedCapacity"] !== undefined) { + contents.WeightedCapacity = parseFloat(output["weightedCapacity"]); } if (output.tagSpecificationSet === "") { contents.TagSpecifications = []; @@ -59091,32 +60304,53 @@ const deserializeAws_ec2SpotFleetLaunchSpecification = ( context ); } - if (output["ramdiskId"] !== undefined) { - contents.RamdiskId = output["ramdiskId"]; - } - if (output["userData"] !== undefined) { - contents.UserData = output["userData"]; - } - if (output["imageId"] !== undefined) { - contents.ImageId = output["imageId"]; + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; } - if (output["weightedCapacity"] !== undefined) { - contents.WeightedCapacity = parseFloat(output["weightedCapacity"]); + if (output.blockDeviceMapping === "") { + contents.BlockDeviceMappings = []; } - if (output["iamInstanceProfile"] !== undefined) { - contents.IamInstanceProfile = deserializeAws_ec2IamInstanceProfileSpecification( - output["iamInstanceProfile"], + if (output["blockDeviceMapping"] !== undefined && output["blockDeviceMapping"]["item"] !== undefined) { + contents.BlockDeviceMappings = deserializeAws_ec2BlockDeviceMappingList( + __getArrayIfSingleItem(output["blockDeviceMapping"]["item"]), context ); } + if (output["ebsOptimized"] !== undefined) { + contents.EbsOptimized = output["ebsOptimized"] == "true"; + } if (output["subnetId"] !== undefined) { contents.SubnetId = output["subnetId"]; } + if (output["kernelId"] !== undefined) { + contents.KernelId = output["kernelId"]; + } if (output["addressingType"] !== undefined) { contents.AddressingType = output["addressingType"]; } - if (output["kernelId"] !== undefined) { - contents.KernelId = output["kernelId"]; + if (output["spotPrice"] !== undefined) { + contents.SpotPrice = output["spotPrice"]; + } + if (output["ramdiskId"] !== undefined) { + contents.RamdiskId = output["ramdiskId"]; + } + if (output["imageId"] !== undefined) { + contents.ImageId = output["imageId"]; + } + if (output["monitoring"] !== undefined) { + contents.Monitoring = deserializeAws_ec2SpotFleetMonitoring(output["monitoring"], context); + } + if (output["userData"] !== undefined) { + contents.UserData = output["userData"]; + } + if (output.groupSet === "") { + contents.SecurityGroups = []; + } + if (output["groupSet"] !== undefined && output["groupSet"]["item"] !== undefined) { + contents.SecurityGroups = deserializeAws_ec2GroupIdentifierList( + __getArrayIfSingleItem(output["groupSet"]["item"]), + context + ); } return contents; }; @@ -59133,24 +60367,18 @@ const deserializeAws_ec2SpotFleetMonitoring = (output: any, context: __SerdeCont const deserializeAws_ec2SpotFleetRequestConfig = (output: any, context: __SerdeContext): SpotFleetRequestConfig => { let contents: any = { - SpotFleetRequestId: undefined, - SpotFleetRequestState: undefined, ActivityStatus: undefined, - CreateTime: undefined, + SpotFleetRequestId: undefined, SpotFleetRequestConfig: undefined, Tags: undefined, + SpotFleetRequestState: undefined, + CreateTime: undefined, }; - if (output["spotFleetRequestId"] !== undefined) { - contents.SpotFleetRequestId = output["spotFleetRequestId"]; - } - if (output["spotFleetRequestState"] !== undefined) { - contents.SpotFleetRequestState = output["spotFleetRequestState"]; - } if (output["activityStatus"] !== undefined) { contents.ActivityStatus = output["activityStatus"]; } - if (output["createTime"] !== undefined) { - contents.CreateTime = new Date(output["createTime"]); + if (output["spotFleetRequestId"] !== undefined) { + contents.SpotFleetRequestId = output["spotFleetRequestId"]; } if (output["spotFleetRequestConfig"] !== undefined) { contents.SpotFleetRequestConfig = deserializeAws_ec2SpotFleetRequestConfigData( @@ -59164,6 +60392,12 @@ const deserializeAws_ec2SpotFleetRequestConfig = (output: any, context: __SerdeC if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["spotFleetRequestState"] !== undefined) { + contents.SpotFleetRequestState = output["spotFleetRequestState"]; + } + if (output["createTime"] !== undefined) { + contents.CreateTime = new Date(output["createTime"]); + } return contents; }; @@ -59172,30 +60406,57 @@ const deserializeAws_ec2SpotFleetRequestConfigData = ( context: __SerdeContext ): SpotFleetRequestConfigData => { let contents: any = { - TagSpecifications: undefined, - TargetCapacity: undefined, - ValidFrom: undefined, - InstanceInterruptionBehavior: undefined, - LaunchTemplateConfigs: undefined, - AllocationStrategy: undefined, - FulfilledCapacity: undefined, - SpotPrice: undefined, ReplaceUnhealthyInstances: undefined, - IamFleetRole: undefined, - SpotMaxTotalPrice: undefined, - InstancePoolsToUseCount: undefined, - LoadBalancersConfig: undefined, ExcessCapacityTerminationPolicy: undefined, - OnDemandMaxTotalPrice: undefined, + TerminateInstancesWithExpiration: undefined, + LoadBalancersConfig: undefined, + InstanceInterruptionBehavior: undefined, ValidUntil: undefined, - Type: undefined, - LaunchSpecifications: undefined, - OnDemandAllocationStrategy: undefined, OnDemandFulfilledCapacity: undefined, - OnDemandTargetCapacity: undefined, + TargetCapacity: undefined, + InstancePoolsToUseCount: undefined, + TagSpecifications: undefined, + IamFleetRole: undefined, ClientToken: undefined, - TerminateInstancesWithExpiration: undefined, + LaunchTemplateConfigs: undefined, + OnDemandAllocationStrategy: undefined, + SpotMaxTotalPrice: undefined, + OnDemandTargetCapacity: undefined, + AllocationStrategy: undefined, + ValidFrom: undefined, + LaunchSpecifications: undefined, + SpotPrice: undefined, + Type: undefined, + FulfilledCapacity: undefined, + OnDemandMaxTotalPrice: undefined, }; + if (output["replaceUnhealthyInstances"] !== undefined) { + contents.ReplaceUnhealthyInstances = output["replaceUnhealthyInstances"] == "true"; + } + if (output["excessCapacityTerminationPolicy"] !== undefined) { + contents.ExcessCapacityTerminationPolicy = output["excessCapacityTerminationPolicy"]; + } + if (output["terminateInstancesWithExpiration"] !== undefined) { + contents.TerminateInstancesWithExpiration = output["terminateInstancesWithExpiration"] == "true"; + } + if (output["loadBalancersConfig"] !== undefined) { + contents.LoadBalancersConfig = deserializeAws_ec2LoadBalancersConfig(output["loadBalancersConfig"], context); + } + if (output["instanceInterruptionBehavior"] !== undefined) { + contents.InstanceInterruptionBehavior = output["instanceInterruptionBehavior"]; + } + if (output["validUntil"] !== undefined) { + contents.ValidUntil = new Date(output["validUntil"]); + } + if (output["onDemandFulfilledCapacity"] !== undefined) { + contents.OnDemandFulfilledCapacity = parseFloat(output["onDemandFulfilledCapacity"]); + } + if (output["targetCapacity"] !== undefined) { + contents.TargetCapacity = parseInt(output["targetCapacity"]); + } + if (output["instancePoolsToUseCount"] !== undefined) { + contents.InstancePoolsToUseCount = parseInt(output["instancePoolsToUseCount"]); + } if (output.TagSpecification === "") { contents.TagSpecifications = []; } @@ -59205,14 +60466,11 @@ const deserializeAws_ec2SpotFleetRequestConfigData = ( context ); } - if (output["targetCapacity"] !== undefined) { - contents.TargetCapacity = parseInt(output["targetCapacity"]); - } - if (output["validFrom"] !== undefined) { - contents.ValidFrom = new Date(output["validFrom"]); + if (output["iamFleetRole"] !== undefined) { + contents.IamFleetRole = output["iamFleetRole"]; } - if (output["instanceInterruptionBehavior"] !== undefined) { - contents.InstanceInterruptionBehavior = output["instanceInterruptionBehavior"]; + if (output["clientToken"] !== undefined) { + contents.ClientToken = output["clientToken"]; } if (output.launchTemplateConfigs === "") { contents.LaunchTemplateConfigs = []; @@ -59223,41 +60481,20 @@ const deserializeAws_ec2SpotFleetRequestConfigData = ( context ); } - if (output["allocationStrategy"] !== undefined) { - contents.AllocationStrategy = output["allocationStrategy"]; - } - if (output["fulfilledCapacity"] !== undefined) { - contents.FulfilledCapacity = parseFloat(output["fulfilledCapacity"]); - } - if (output["spotPrice"] !== undefined) { - contents.SpotPrice = output["spotPrice"]; - } - if (output["replaceUnhealthyInstances"] !== undefined) { - contents.ReplaceUnhealthyInstances = output["replaceUnhealthyInstances"] == "true"; - } - if (output["iamFleetRole"] !== undefined) { - contents.IamFleetRole = output["iamFleetRole"]; + if (output["onDemandAllocationStrategy"] !== undefined) { + contents.OnDemandAllocationStrategy = output["onDemandAllocationStrategy"]; } if (output["spotMaxTotalPrice"] !== undefined) { contents.SpotMaxTotalPrice = output["spotMaxTotalPrice"]; } - if (output["instancePoolsToUseCount"] !== undefined) { - contents.InstancePoolsToUseCount = parseInt(output["instancePoolsToUseCount"]); - } - if (output["loadBalancersConfig"] !== undefined) { - contents.LoadBalancersConfig = deserializeAws_ec2LoadBalancersConfig(output["loadBalancersConfig"], context); - } - if (output["excessCapacityTerminationPolicy"] !== undefined) { - contents.ExcessCapacityTerminationPolicy = output["excessCapacityTerminationPolicy"]; - } - if (output["onDemandMaxTotalPrice"] !== undefined) { - contents.OnDemandMaxTotalPrice = output["onDemandMaxTotalPrice"]; + if (output["onDemandTargetCapacity"] !== undefined) { + contents.OnDemandTargetCapacity = parseInt(output["onDemandTargetCapacity"]); } - if (output["validUntil"] !== undefined) { - contents.ValidUntil = new Date(output["validUntil"]); + if (output["allocationStrategy"] !== undefined) { + contents.AllocationStrategy = output["allocationStrategy"]; } - if (output["type"] !== undefined) { - contents.Type = output["type"]; + if (output["validFrom"] !== undefined) { + contents.ValidFrom = new Date(output["validFrom"]); } if (output.launchSpecifications === "") { contents.LaunchSpecifications = []; @@ -59268,20 +60505,17 @@ const deserializeAws_ec2SpotFleetRequestConfigData = ( context ); } - if (output["onDemandAllocationStrategy"] !== undefined) { - contents.OnDemandAllocationStrategy = output["onDemandAllocationStrategy"]; - } - if (output["onDemandFulfilledCapacity"] !== undefined) { - contents.OnDemandFulfilledCapacity = parseFloat(output["onDemandFulfilledCapacity"]); + if (output["spotPrice"] !== undefined) { + contents.SpotPrice = output["spotPrice"]; } - if (output["onDemandTargetCapacity"] !== undefined) { - contents.OnDemandTargetCapacity = parseInt(output["onDemandTargetCapacity"]); + if (output["type"] !== undefined) { + contents.Type = output["type"]; } - if (output["clientToken"] !== undefined) { - contents.ClientToken = output["clientToken"]; + if (output["fulfilledCapacity"] !== undefined) { + contents.FulfilledCapacity = parseFloat(output["fulfilledCapacity"]); } - if (output["terminateInstancesWithExpiration"] !== undefined) { - contents.TerminateInstancesWithExpiration = output["terminateInstancesWithExpiration"] == "true"; + if (output["onDemandMaxTotalPrice"] !== undefined) { + contents.OnDemandMaxTotalPrice = output["onDemandMaxTotalPrice"]; } return contents; }; @@ -59298,18 +60532,18 @@ const deserializeAws_ec2SpotFleetTagSpecification = ( context: __SerdeContext ): SpotFleetTagSpecification => { let contents: any = { - Tags: undefined, ResourceType: undefined, + Tags: undefined, }; + if (output["resourceType"] !== undefined) { + contents.ResourceType = output["resourceType"]; + } if (output.tag === "") { contents.Tags = []; } if (output["tag"] !== undefined && output["tag"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tag"]["item"]), context); } - if (output["resourceType"] !== undefined) { - contents.ResourceType = output["resourceType"]; - } return contents; }; @@ -59322,58 +60556,49 @@ const deserializeAws_ec2SpotFleetTagSpecificationList = ( const deserializeAws_ec2SpotInstanceRequest = (output: any, context: __SerdeContext): SpotInstanceRequest => { let contents: any = { - Fault: undefined, - ValidFrom: undefined, - LaunchSpecification: undefined, + InstanceId: undefined, + CreateTime: undefined, + ValidUntil: undefined, + State: undefined, + LaunchedAvailabilityZone: undefined, + BlockDurationMinutes: undefined, SpotInstanceRequestId: undefined, + SpotPrice: undefined, + Tags: undefined, + Type: undefined, ProductDescription: undefined, - ActualBlockHourlyPrice: undefined, + ValidFrom: undefined, + LaunchSpecification: undefined, + Fault: undefined, LaunchGroup: undefined, InstanceInterruptionBehavior: undefined, - AvailabilityZoneGroup: undefined, - State: undefined, - ValidUntil: undefined, - Tags: undefined, - Type: undefined, - InstanceId: undefined, Status: undefined, - CreateTime: undefined, - SpotPrice: undefined, - LaunchedAvailabilityZone: undefined, - BlockDurationMinutes: undefined, + ActualBlockHourlyPrice: undefined, + AvailabilityZoneGroup: undefined, }; - if (output["fault"] !== undefined) { - contents.Fault = deserializeAws_ec2SpotInstanceStateFault(output["fault"], context); - } - if (output["validFrom"] !== undefined) { - contents.ValidFrom = new Date(output["validFrom"]); - } - if (output["launchSpecification"] !== undefined) { - contents.LaunchSpecification = deserializeAws_ec2LaunchSpecification(output["launchSpecification"], context); - } - if (output["spotInstanceRequestId"] !== undefined) { - contents.SpotInstanceRequestId = output["spotInstanceRequestId"]; + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; } - if (output["productDescription"] !== undefined) { - contents.ProductDescription = output["productDescription"]; + if (output["createTime"] !== undefined) { + contents.CreateTime = new Date(output["createTime"]); } - if (output["actualBlockHourlyPrice"] !== undefined) { - contents.ActualBlockHourlyPrice = output["actualBlockHourlyPrice"]; + if (output["validUntil"] !== undefined) { + contents.ValidUntil = new Date(output["validUntil"]); } - if (output["launchGroup"] !== undefined) { - contents.LaunchGroup = output["launchGroup"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; } - if (output["instanceInterruptionBehavior"] !== undefined) { - contents.InstanceInterruptionBehavior = output["instanceInterruptionBehavior"]; + if (output["launchedAvailabilityZone"] !== undefined) { + contents.LaunchedAvailabilityZone = output["launchedAvailabilityZone"]; } - if (output["availabilityZoneGroup"] !== undefined) { - contents.AvailabilityZoneGroup = output["availabilityZoneGroup"]; + if (output["blockDurationMinutes"] !== undefined) { + contents.BlockDurationMinutes = parseInt(output["blockDurationMinutes"]); } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["spotInstanceRequestId"] !== undefined) { + contents.SpotInstanceRequestId = output["spotInstanceRequestId"]; } - if (output["validUntil"] !== undefined) { - contents.ValidUntil = new Date(output["validUntil"]); + if (output["spotPrice"] !== undefined) { + contents.SpotPrice = output["spotPrice"]; } if (output.tagSet === "") { contents.Tags = []; @@ -59384,23 +60609,32 @@ const deserializeAws_ec2SpotInstanceRequest = (output: any, context: __SerdeCont if (output["type"] !== undefined) { contents.Type = output["type"]; } - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; + if (output["productDescription"] !== undefined) { + contents.ProductDescription = output["productDescription"]; } - if (output["status"] !== undefined) { - contents.Status = deserializeAws_ec2SpotInstanceStatus(output["status"], context); + if (output["validFrom"] !== undefined) { + contents.ValidFrom = new Date(output["validFrom"]); } - if (output["createTime"] !== undefined) { - contents.CreateTime = new Date(output["createTime"]); + if (output["launchSpecification"] !== undefined) { + contents.LaunchSpecification = deserializeAws_ec2LaunchSpecification(output["launchSpecification"], context); } - if (output["spotPrice"] !== undefined) { - contents.SpotPrice = output["spotPrice"]; + if (output["fault"] !== undefined) { + contents.Fault = deserializeAws_ec2SpotInstanceStateFault(output["fault"], context); } - if (output["launchedAvailabilityZone"] !== undefined) { - contents.LaunchedAvailabilityZone = output["launchedAvailabilityZone"]; + if (output["launchGroup"] !== undefined) { + contents.LaunchGroup = output["launchGroup"]; } - if (output["blockDurationMinutes"] !== undefined) { - contents.BlockDurationMinutes = parseInt(output["blockDurationMinutes"]); + if (output["instanceInterruptionBehavior"] !== undefined) { + contents.InstanceInterruptionBehavior = output["instanceInterruptionBehavior"]; + } + if (output["status"] !== undefined) { + contents.Status = deserializeAws_ec2SpotInstanceStatus(output["status"], context); + } + if (output["actualBlockHourlyPrice"] !== undefined) { + contents.ActualBlockHourlyPrice = output["actualBlockHourlyPrice"]; + } + if (output["availabilityZoneGroup"] !== undefined) { + contents.AvailabilityZoneGroup = output["availabilityZoneGroup"]; } return contents; }; @@ -59411,66 +60645,66 @@ const deserializeAws_ec2SpotInstanceRequestList = (output: any, context: __Serde const deserializeAws_ec2SpotInstanceStateFault = (output: any, context: __SerdeContext): SpotInstanceStateFault => { let contents: any = { - Message: undefined, Code: undefined, + Message: undefined, }; - if (output["message"] !== undefined) { - contents.Message = output["message"]; - } if (output["code"] !== undefined) { contents.Code = output["code"]; } + if (output["message"] !== undefined) { + contents.Message = output["message"]; + } return contents; }; const deserializeAws_ec2SpotInstanceStatus = (output: any, context: __SerdeContext): SpotInstanceStatus => { let contents: any = { UpdateTime: undefined, - Message: undefined, Code: undefined, + Message: undefined, }; if (output["updateTime"] !== undefined) { contents.UpdateTime = new Date(output["updateTime"]); } - if (output["message"] !== undefined) { - contents.Message = output["message"]; - } if (output["code"] !== undefined) { contents.Code = output["code"]; } + if (output["message"] !== undefined) { + contents.Message = output["message"]; + } return contents; }; const deserializeAws_ec2SpotOptions = (output: any, context: __SerdeContext): SpotOptions => { let contents: any = { + InstancePoolsToUseCount: undefined, + MaxTotalPrice: undefined, SingleAvailabilityZone: undefined, + SingleInstanceType: undefined, + AllocationStrategy: undefined, MinTargetCapacity: undefined, InstanceInterruptionBehavior: undefined, - AllocationStrategy: undefined, - InstancePoolsToUseCount: undefined, - SingleInstanceType: undefined, - MaxTotalPrice: undefined, }; + if (output["instancePoolsToUseCount"] !== undefined) { + contents.InstancePoolsToUseCount = parseInt(output["instancePoolsToUseCount"]); + } + if (output["maxTotalPrice"] !== undefined) { + contents.MaxTotalPrice = output["maxTotalPrice"]; + } if (output["singleAvailabilityZone"] !== undefined) { contents.SingleAvailabilityZone = output["singleAvailabilityZone"] == "true"; } - if (output["minTargetCapacity"] !== undefined) { - contents.MinTargetCapacity = parseInt(output["minTargetCapacity"]); - } - if (output["instanceInterruptionBehavior"] !== undefined) { - contents.InstanceInterruptionBehavior = output["instanceInterruptionBehavior"]; + if (output["singleInstanceType"] !== undefined) { + contents.SingleInstanceType = output["singleInstanceType"] == "true"; } if (output["allocationStrategy"] !== undefined) { contents.AllocationStrategy = output["allocationStrategy"]; } - if (output["instancePoolsToUseCount"] !== undefined) { - contents.InstancePoolsToUseCount = parseInt(output["instancePoolsToUseCount"]); - } - if (output["singleInstanceType"] !== undefined) { - contents.SingleInstanceType = output["singleInstanceType"] == "true"; + if (output["minTargetCapacity"] !== undefined) { + contents.MinTargetCapacity = parseInt(output["minTargetCapacity"]); } - if (output["maxTotalPrice"] !== undefined) { - contents.MaxTotalPrice = output["maxTotalPrice"]; + if (output["instanceInterruptionBehavior"] !== undefined) { + contents.InstanceInterruptionBehavior = output["instanceInterruptionBehavior"]; } return contents; }; @@ -59496,17 +60730,14 @@ const deserializeAws_ec2SpotPlacement = (output: any, context: __SerdeContext): const deserializeAws_ec2SpotPrice = (output: any, context: __SerdeContext): SpotPrice => { let contents: any = { SpotPrice: undefined, - InstanceType: undefined, ProductDescription: undefined, Timestamp: undefined, AvailabilityZone: undefined, + InstanceType: undefined, }; if (output["spotPrice"] !== undefined) { contents.SpotPrice = output["spotPrice"]; } - if (output["instanceType"] !== undefined) { - contents.InstanceType = output["instanceType"]; - } if (output["productDescription"] !== undefined) { contents.ProductDescription = output["productDescription"]; } @@ -59516,6 +60747,9 @@ const deserializeAws_ec2SpotPrice = (output: any, context: __SerdeContext): Spot if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = output["availabilityZone"]; } + if (output["instanceType"] !== undefined) { + contents.InstanceType = output["instanceType"]; + } return contents; }; @@ -59525,16 +60759,13 @@ const deserializeAws_ec2SpotPriceHistoryList = (output: any, context: __SerdeCon const deserializeAws_ec2StaleIpPermission = (output: any, context: __SerdeContext): StaleIpPermission => { let contents: any = { - ToPort: undefined, UserIdGroupPairs: undefined, - IpProtocol: undefined, - PrefixListIds: undefined, - IpRanges: undefined, + ToPort: undefined, FromPort: undefined, + IpRanges: undefined, + PrefixListIds: undefined, + IpProtocol: undefined, }; - if (output["toPort"] !== undefined) { - contents.ToPort = parseInt(output["toPort"]); - } if (output.groups === "") { contents.UserIdGroupPairs = []; } @@ -59544,8 +60775,17 @@ const deserializeAws_ec2StaleIpPermission = (output: any, context: __SerdeContex context ); } - if (output["ipProtocol"] !== undefined) { - contents.IpProtocol = output["ipProtocol"]; + if (output["toPort"] !== undefined) { + contents.ToPort = parseInt(output["toPort"]); + } + if (output["fromPort"] !== undefined) { + contents.FromPort = parseInt(output["fromPort"]); + } + if (output.ipRanges === "") { + contents.IpRanges = []; + } + if (output["ipRanges"] !== undefined && output["ipRanges"]["item"] !== undefined) { + contents.IpRanges = deserializeAws_ec2IpRanges(__getArrayIfSingleItem(output["ipRanges"]["item"]), context); } if (output.prefixListIds === "") { contents.PrefixListIds = []; @@ -59556,14 +60796,8 @@ const deserializeAws_ec2StaleIpPermission = (output: any, context: __SerdeContex context ); } - if (output.ipRanges === "") { - contents.IpRanges = []; - } - if (output["ipRanges"] !== undefined && output["ipRanges"]["item"] !== undefined) { - contents.IpRanges = deserializeAws_ec2IpRanges(__getArrayIfSingleItem(output["ipRanges"]["item"]), context); - } - if (output["fromPort"] !== undefined) { - contents.FromPort = parseInt(output["fromPort"]); + if (output["ipProtocol"] !== undefined) { + contents.IpProtocol = output["ipProtocol"]; } return contents; }; @@ -59574,16 +60808,13 @@ const deserializeAws_ec2StaleIpPermissionSet = (output: any, context: __SerdeCon const deserializeAws_ec2StaleSecurityGroup = (output: any, context: __SerdeContext): StaleSecurityGroup => { let contents: any = { - GroupName: undefined, StaleIpPermissionsEgress: undefined, - VpcId: undefined, - StaleIpPermissions: undefined, - GroupId: undefined, Description: undefined, + GroupName: undefined, + GroupId: undefined, + StaleIpPermissions: undefined, + VpcId: undefined, }; - if (output["groupName"] !== undefined) { - contents.GroupName = output["groupName"]; - } if (output.staleIpPermissionsEgress === "") { contents.StaleIpPermissionsEgress = []; } @@ -59593,8 +60824,14 @@ const deserializeAws_ec2StaleSecurityGroup = (output: any, context: __SerdeConte context ); } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } + if (output["groupName"] !== undefined) { + contents.GroupName = output["groupName"]; + } + if (output["groupId"] !== undefined) { + contents.GroupId = output["groupId"]; } if (output.staleIpPermissions === "") { contents.StaleIpPermissions = []; @@ -59605,11 +60842,8 @@ const deserializeAws_ec2StaleSecurityGroup = (output: any, context: __SerdeConte context ); } - if (output["groupId"] !== undefined) { - contents.GroupId = output["groupId"]; - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; } return contents; }; @@ -59649,15 +60883,15 @@ const deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationResult = ( const deserializeAws_ec2StateReason = (output: any, context: __SerdeContext): StateReason => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; @@ -59689,41 +60923,29 @@ const deserializeAws_ec2Storage = (output: any, context: __SerdeContext): Storag const deserializeAws_ec2Subnet = (output: any, context: __SerdeContext): Subnet => { let contents: any = { - AvailabilityZone: undefined, - VpcId: undefined, - MapCustomerOwnedIpOnLaunch: undefined, - DefaultForAz: undefined, - AvailabilityZoneId: undefined, - AvailableIpAddressCount: undefined, + State: undefined, + CidrBlock: undefined, AssignIpv6AddressOnCreation: undefined, Tags: undefined, - OwnerId: undefined, - SubnetId: undefined, Ipv6CidrBlockAssociationSet: undefined, + OwnerId: undefined, CustomerOwnedIpv4Pool: undefined, - CidrBlock: undefined, - MapPublicIpOnLaunch: undefined, - State: undefined, - SubnetArn: undefined, + SubnetId: undefined, + AvailabilityZoneId: undefined, + DefaultForAz: undefined, + AvailabilityZone: undefined, OutpostArn: undefined, + SubnetArn: undefined, + MapCustomerOwnedIpOnLaunch: undefined, + VpcId: undefined, + AvailableIpAddressCount: undefined, + MapPublicIpOnLaunch: undefined, }; - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; - } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; - } - if (output["mapCustomerOwnedIpOnLaunch"] !== undefined) { - contents.MapCustomerOwnedIpOnLaunch = output["mapCustomerOwnedIpOnLaunch"] == "true"; - } - if (output["defaultForAz"] !== undefined) { - contents.DefaultForAz = output["defaultForAz"] == "true"; - } - if (output["availabilityZoneId"] !== undefined) { - contents.AvailabilityZoneId = output["availabilityZoneId"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; } - if (output["availableIpAddressCount"] !== undefined) { - contents.AvailableIpAddressCount = parseInt(output["availableIpAddressCount"]); + if (output["cidrBlock"] !== undefined) { + contents.CidrBlock = output["cidrBlock"]; } if (output["assignIpv6AddressOnCreation"] !== undefined) { contents.AssignIpv6AddressOnCreation = output["assignIpv6AddressOnCreation"] == "true"; @@ -59734,12 +60956,6 @@ const deserializeAws_ec2Subnet = (output: any, context: __SerdeContext): Subnet if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; - } - if (output["subnetId"] !== undefined) { - contents.SubnetId = output["subnetId"]; - } if (output.ipv6CidrBlockAssociationSet === "") { contents.Ipv6CidrBlockAssociationSet = []; } @@ -59752,24 +60968,42 @@ const deserializeAws_ec2Subnet = (output: any, context: __SerdeContext): Subnet context ); } + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } if (output["customerOwnedIpv4Pool"] !== undefined) { contents.CustomerOwnedIpv4Pool = output["customerOwnedIpv4Pool"]; } - if (output["cidrBlock"] !== undefined) { - contents.CidrBlock = output["cidrBlock"]; + if (output["subnetId"] !== undefined) { + contents.SubnetId = output["subnetId"]; } - if (output["mapPublicIpOnLaunch"] !== undefined) { - contents.MapPublicIpOnLaunch = output["mapPublicIpOnLaunch"] == "true"; + if (output["availabilityZoneId"] !== undefined) { + contents.AvailabilityZoneId = output["availabilityZoneId"]; } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["defaultForAz"] !== undefined) { + contents.DefaultForAz = output["defaultForAz"] == "true"; } - if (output["subnetArn"] !== undefined) { - contents.SubnetArn = output["subnetArn"]; + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; } if (output["outpostArn"] !== undefined) { contents.OutpostArn = output["outpostArn"]; } + if (output["subnetArn"] !== undefined) { + contents.SubnetArn = output["subnetArn"]; + } + if (output["mapCustomerOwnedIpOnLaunch"] !== undefined) { + contents.MapCustomerOwnedIpOnLaunch = output["mapCustomerOwnedIpOnLaunch"] == "true"; + } + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; + } + if (output["availableIpAddressCount"] !== undefined) { + contents.AvailableIpAddressCount = parseInt(output["availableIpAddressCount"]); + } + if (output["mapPublicIpOnLaunch"] !== undefined) { + contents.MapPublicIpOnLaunch = output["mapPublicIpOnLaunch"] == "true"; + } return contents; }; @@ -59810,19 +61044,19 @@ const deserializeAws_ec2SubnetIpv6CidrBlockAssociation = ( context: __SerdeContext ): SubnetIpv6CidrBlockAssociation => { let contents: any = { + Ipv6CidrBlockState: undefined, Ipv6CidrBlock: undefined, AssociationId: undefined, - Ipv6CidrBlockState: undefined, }; + if (output["ipv6CidrBlockState"] !== undefined) { + contents.Ipv6CidrBlockState = deserializeAws_ec2SubnetCidrBlockState(output["ipv6CidrBlockState"], context); + } if (output["ipv6CidrBlock"] !== undefined) { contents.Ipv6CidrBlock = output["ipv6CidrBlock"]; } if (output["associationId"] !== undefined) { contents.AssociationId = output["associationId"]; } - if (output["ipv6CidrBlockState"] !== undefined) { - contents.Ipv6CidrBlockState = deserializeAws_ec2SubnetCidrBlockState(output["ipv6CidrBlockState"], context); - } return contents; }; @@ -59881,37 +61115,37 @@ const deserializeAws_ec2SuccessfulQueuedPurchaseDeletionSet = ( const deserializeAws_ec2Tag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Value: undefined, Key: undefined, + Value: undefined, }; - if (output["value"] !== undefined) { - contents.Value = output["value"]; - } if (output["key"] !== undefined) { contents.Key = output["key"]; } + if (output["value"] !== undefined) { + contents.Value = output["value"]; + } return contents; }; const deserializeAws_ec2TagDescription = (output: any, context: __SerdeContext): TagDescription => { let contents: any = { - Value: undefined, - ResourceType: undefined, ResourceId: undefined, + ResourceType: undefined, Key: undefined, + Value: undefined, }; - if (output["value"] !== undefined) { - contents.Value = output["value"]; + if (output["resourceId"] !== undefined) { + contents.ResourceId = output["resourceId"]; } if (output["resourceType"] !== undefined) { contents.ResourceType = output["resourceType"]; } - if (output["resourceId"] !== undefined) { - contents.ResourceId = output["resourceId"]; - } if (output["key"] !== undefined) { contents.Key = output["key"]; } + if (output["value"] !== undefined) { + contents.Value = output["value"]; + } return contents; }; @@ -59949,22 +61183,22 @@ const deserializeAws_ec2TargetCapacitySpecification = ( context: __SerdeContext ): TargetCapacitySpecification => { let contents: any = { - OnDemandTargetCapacity: undefined, DefaultTargetCapacityType: undefined, - SpotTargetCapacity: undefined, TotalTargetCapacity: undefined, + SpotTargetCapacity: undefined, + OnDemandTargetCapacity: undefined, }; - if (output["onDemandTargetCapacity"] !== undefined) { - contents.OnDemandTargetCapacity = parseInt(output["onDemandTargetCapacity"]); - } if (output["defaultTargetCapacityType"] !== undefined) { contents.DefaultTargetCapacityType = output["defaultTargetCapacityType"]; } + if (output["totalTargetCapacity"] !== undefined) { + contents.TotalTargetCapacity = parseInt(output["totalTargetCapacity"]); + } if (output["spotTargetCapacity"] !== undefined) { contents.SpotTargetCapacity = parseInt(output["spotTargetCapacity"]); } - if (output["totalTargetCapacity"] !== undefined) { - contents.TotalTargetCapacity = parseInt(output["totalTargetCapacity"]); + if (output["onDemandTargetCapacity"] !== undefined) { + contents.OnDemandTargetCapacity = parseInt(output["onDemandTargetCapacity"]); } return contents; }; @@ -60015,13 +61249,22 @@ const deserializeAws_ec2TargetGroupsConfig = (output: any, context: __SerdeConte const deserializeAws_ec2TargetNetwork = (output: any, context: __SerdeContext): TargetNetwork => { let contents: any = { - SecurityGroups: undefined, - Status: undefined, - VpcId: undefined, TargetNetworkId: undefined, AssociationId: undefined, + Status: undefined, + SecurityGroups: undefined, ClientVpnEndpointId: undefined, + VpcId: undefined, }; + if (output["targetNetworkId"] !== undefined) { + contents.TargetNetworkId = output["targetNetworkId"]; + } + if (output["associationId"] !== undefined) { + contents.AssociationId = output["associationId"]; + } + if (output["status"] !== undefined) { + contents.Status = deserializeAws_ec2AssociationStatus(output["status"], context); + } if (output.securityGroups === "") { contents.SecurityGroups = []; } @@ -60031,21 +61274,12 @@ const deserializeAws_ec2TargetNetwork = (output: any, context: __SerdeContext): context ); } - if (output["status"] !== undefined) { - contents.Status = deserializeAws_ec2AssociationStatus(output["status"], context); + if (output["clientVpnEndpointId"] !== undefined) { + contents.ClientVpnEndpointId = output["clientVpnEndpointId"]; } if (output["vpcId"] !== undefined) { contents.VpcId = output["vpcId"]; } - if (output["targetNetworkId"] !== undefined) { - contents.TargetNetworkId = output["targetNetworkId"]; - } - if (output["associationId"] !== undefined) { - contents.AssociationId = output["associationId"]; - } - if (output["clientVpnEndpointId"] !== undefined) { - contents.ClientVpnEndpointId = output["clientVpnEndpointId"]; - } return contents; }; @@ -60106,18 +61340,18 @@ const deserializeAws_ec2TerminateConnectionStatus = ( context: __SerdeContext ): TerminateConnectionStatus => { let contents: any = { - PreviousStatus: undefined, - CurrentStatus: undefined, ConnectionId: undefined, + CurrentStatus: undefined, + PreviousStatus: undefined, }; - if (output["previousStatus"] !== undefined) { - contents.PreviousStatus = deserializeAws_ec2ClientVpnConnectionStatus(output["previousStatus"], context); + if (output["connectionId"] !== undefined) { + contents.ConnectionId = output["connectionId"]; } if (output["currentStatus"] !== undefined) { contents.CurrentStatus = deserializeAws_ec2ClientVpnConnectionStatus(output["currentStatus"], context); } - if (output["connectionId"] !== undefined) { - contents.ConnectionId = output["connectionId"]; + if (output["previousStatus"] !== undefined) { + contents.PreviousStatus = deserializeAws_ec2ClientVpnConnectionStatus(output["previousStatus"], context); } return contents; }; @@ -60151,13 +61385,16 @@ const deserializeAws_ec2ThreadsPerCoreList = (output: any, context: __SerdeConte const deserializeAws_ec2TrafficMirrorFilter = (output: any, context: __SerdeContext): TrafficMirrorFilter => { let contents: any = { - NetworkServices: undefined, - EgressFilterRules: undefined, - IngressFilterRules: undefined, TrafficMirrorFilterId: undefined, - Description: undefined, + NetworkServices: undefined, Tags: undefined, + Description: undefined, + IngressFilterRules: undefined, + EgressFilterRules: undefined, }; + if (output["trafficMirrorFilterId"] !== undefined) { + contents.TrafficMirrorFilterId = output["trafficMirrorFilterId"]; + } if (output.networkServiceSet === "") { contents.NetworkServices = []; } @@ -60167,14 +61404,14 @@ const deserializeAws_ec2TrafficMirrorFilter = (output: any, context: __SerdeCont context ); } - if (output.egressFilterRuleSet === "") { - contents.EgressFilterRules = []; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["egressFilterRuleSet"] !== undefined && output["egressFilterRuleSet"]["item"] !== undefined) { - contents.EgressFilterRules = deserializeAws_ec2TrafficMirrorFilterRuleList( - __getArrayIfSingleItem(output["egressFilterRuleSet"]["item"]), - context - ); + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + } + if (output["description"] !== undefined) { + contents.Description = output["description"]; } if (output.ingressFilterRuleSet === "") { contents.IngressFilterRules = []; @@ -60185,67 +61422,64 @@ const deserializeAws_ec2TrafficMirrorFilter = (output: any, context: __SerdeCont context ); } - if (output["trafficMirrorFilterId"] !== undefined) { - contents.TrafficMirrorFilterId = output["trafficMirrorFilterId"]; - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } - if (output.tagSet === "") { - contents.Tags = []; + if (output.egressFilterRuleSet === "") { + contents.EgressFilterRules = []; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["egressFilterRuleSet"] !== undefined && output["egressFilterRuleSet"]["item"] !== undefined) { + contents.EgressFilterRules = deserializeAws_ec2TrafficMirrorFilterRuleList( + __getArrayIfSingleItem(output["egressFilterRuleSet"]["item"]), + context + ); } return contents; }; const deserializeAws_ec2TrafficMirrorFilterRule = (output: any, context: __SerdeContext): TrafficMirrorFilterRule => { let contents: any = { - SourcePortRange: undefined, - DestinationPortRange: undefined, - RuleAction: undefined, - DestinationCidrBlock: undefined, - TrafficMirrorFilterId: undefined, - Protocol: undefined, - SourceCidrBlock: undefined, + TrafficMirrorFilterRuleId: undefined, + DestinationPortRange: undefined, RuleNumber: undefined, Description: undefined, - TrafficMirrorFilterRuleId: undefined, TrafficDirection: undefined, + RuleAction: undefined, + Protocol: undefined, + SourcePortRange: undefined, + TrafficMirrorFilterId: undefined, + SourceCidrBlock: undefined, + DestinationCidrBlock: undefined, }; - if (output["sourcePortRange"] !== undefined) { - contents.SourcePortRange = deserializeAws_ec2TrafficMirrorPortRange(output["sourcePortRange"], context); + if (output["trafficMirrorFilterRuleId"] !== undefined) { + contents.TrafficMirrorFilterRuleId = output["trafficMirrorFilterRuleId"]; } if (output["destinationPortRange"] !== undefined) { contents.DestinationPortRange = deserializeAws_ec2TrafficMirrorPortRange(output["destinationPortRange"], context); } + if (output["ruleNumber"] !== undefined) { + contents.RuleNumber = parseInt(output["ruleNumber"]); + } + if (output["description"] !== undefined) { + contents.Description = output["description"]; + } + if (output["trafficDirection"] !== undefined) { + contents.TrafficDirection = output["trafficDirection"]; + } if (output["ruleAction"] !== undefined) { contents.RuleAction = output["ruleAction"]; } - if (output["destinationCidrBlock"] !== undefined) { - contents.DestinationCidrBlock = output["destinationCidrBlock"]; + if (output["protocol"] !== undefined) { + contents.Protocol = parseInt(output["protocol"]); + } + if (output["sourcePortRange"] !== undefined) { + contents.SourcePortRange = deserializeAws_ec2TrafficMirrorPortRange(output["sourcePortRange"], context); } if (output["trafficMirrorFilterId"] !== undefined) { contents.TrafficMirrorFilterId = output["trafficMirrorFilterId"]; } - if (output["protocol"] !== undefined) { - contents.Protocol = parseInt(output["protocol"]); - } if (output["sourceCidrBlock"] !== undefined) { contents.SourceCidrBlock = output["sourceCidrBlock"]; } - if (output["ruleNumber"] !== undefined) { - contents.RuleNumber = parseInt(output["ruleNumber"]); - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } - if (output["trafficMirrorFilterRuleId"] !== undefined) { - contents.TrafficMirrorFilterRuleId = output["trafficMirrorFilterRuleId"]; - } - if (output["trafficDirection"] !== undefined) { - contents.TrafficDirection = output["trafficDirection"]; + if (output["destinationCidrBlock"] !== undefined) { + contents.DestinationCidrBlock = output["destinationCidrBlock"]; } return contents; }; @@ -60284,19 +61518,19 @@ const deserializeAws_ec2TrafficMirrorPortRange = (output: any, context: __SerdeC const deserializeAws_ec2TrafficMirrorSession = (output: any, context: __SerdeContext): TrafficMirrorSession => { let contents: any = { - TrafficMirrorTargetId: undefined, - Tags: undefined, - TrafficMirrorFilterId: undefined, VirtualNetworkId: undefined, - Description: undefined, - OwnerId: undefined, + Tags: undefined, + PacketLength: undefined, NetworkInterfaceId: undefined, TrafficMirrorSessionId: undefined, SessionNumber: undefined, - PacketLength: undefined, + TrafficMirrorFilterId: undefined, + OwnerId: undefined, + TrafficMirrorTargetId: undefined, + Description: undefined, }; - if (output["trafficMirrorTargetId"] !== undefined) { - contents.TrafficMirrorTargetId = output["trafficMirrorTargetId"]; + if (output["virtualNetworkId"] !== undefined) { + contents.VirtualNetworkId = parseInt(output["virtualNetworkId"]); } if (output.tagSet === "") { contents.Tags = []; @@ -60304,17 +61538,8 @@ const deserializeAws_ec2TrafficMirrorSession = (output: any, context: __SerdeCon if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["trafficMirrorFilterId"] !== undefined) { - contents.TrafficMirrorFilterId = output["trafficMirrorFilterId"]; - } - if (output["virtualNetworkId"] !== undefined) { - contents.VirtualNetworkId = parseInt(output["virtualNetworkId"]); - } - if (output["description"] !== undefined) { - contents.Description = output["description"]; - } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; + if (output["packetLength"] !== undefined) { + contents.PacketLength = parseInt(output["packetLength"]); } if (output["networkInterfaceId"] !== undefined) { contents.NetworkInterfaceId = output["networkInterfaceId"]; @@ -60325,8 +61550,17 @@ const deserializeAws_ec2TrafficMirrorSession = (output: any, context: __SerdeCon if (output["sessionNumber"] !== undefined) { contents.SessionNumber = parseInt(output["sessionNumber"]); } - if (output["packetLength"] !== undefined) { - contents.PacketLength = parseInt(output["packetLength"]); + if (output["trafficMirrorFilterId"] !== undefined) { + contents.TrafficMirrorFilterId = output["trafficMirrorFilterId"]; + } + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } + if (output["trafficMirrorTargetId"] !== undefined) { + contents.TrafficMirrorTargetId = output["trafficMirrorTargetId"]; + } + if (output["description"] !== undefined) { + contents.Description = output["description"]; } return contents; }; @@ -60337,37 +61571,37 @@ const deserializeAws_ec2TrafficMirrorSessionSet = (output: any, context: __Serde const deserializeAws_ec2TrafficMirrorTarget = (output: any, context: __SerdeContext): TrafficMirrorTarget => { let contents: any = { - NetworkInterfaceId: undefined, - OwnerId: undefined, - Type: undefined, Tags: undefined, - TrafficMirrorTargetId: undefined, - NetworkLoadBalancerArn: undefined, + Type: undefined, Description: undefined, + OwnerId: undefined, + NetworkInterfaceId: undefined, + NetworkLoadBalancerArn: undefined, + TrafficMirrorTargetId: undefined, }; - if (output["networkInterfaceId"] !== undefined) { - contents.NetworkInterfaceId = output["networkInterfaceId"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } if (output["type"] !== undefined) { contents.Type = output["type"]; } - if (output.tagSet === "") { - contents.Tags = []; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } - if (output["trafficMirrorTargetId"] !== undefined) { - contents.TrafficMirrorTargetId = output["trafficMirrorTargetId"]; + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = output["networkInterfaceId"]; } if (output["networkLoadBalancerArn"] !== undefined) { contents.NetworkLoadBalancerArn = output["networkLoadBalancerArn"]; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["trafficMirrorTargetId"] !== undefined) { + contents.TrafficMirrorTargetId = output["trafficMirrorTargetId"]; } return contents; }; @@ -60378,41 +61612,41 @@ const deserializeAws_ec2TrafficMirrorTargetSet = (output: any, context: __SerdeC const deserializeAws_ec2TransitGateway = (output: any, context: __SerdeContext): TransitGateway => { let contents: any = { - OwnerId: undefined, - TransitGatewayArn: undefined, - State: undefined, + TransitGatewayId: undefined, CreationTime: undefined, + OwnerId: undefined, Tags: undefined, - TransitGatewayId: undefined, - Options: undefined, Description: undefined, + Options: undefined, + State: undefined, + TransitGatewayArn: undefined, }; - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; - } - if (output["transitGatewayArn"] !== undefined) { - contents.TransitGatewayArn = output["transitGatewayArn"]; - } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["transitGatewayId"] !== undefined) { + contents.TransitGatewayId = output["transitGatewayId"]; } if (output["creationTime"] !== undefined) { contents.CreationTime = new Date(output["creationTime"]); } + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; + } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["transitGatewayId"] !== undefined) { - contents.TransitGatewayId = output["transitGatewayId"]; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } if (output["options"] !== undefined) { contents.Options = deserializeAws_ec2TransitGatewayOptions(output["options"], context); } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["transitGatewayArn"] !== undefined) { + contents.TransitGatewayArn = output["transitGatewayArn"]; } return contents; }; @@ -60423,51 +61657,51 @@ const deserializeAws_ec2TransitGatewayAssociation = ( ): TransitGatewayAssociation => { let contents: any = { State: undefined, + TransitGatewayAttachmentId: undefined, TransitGatewayRouteTableId: undefined, - ResourceType: undefined, ResourceId: undefined, - TransitGatewayAttachmentId: undefined, + ResourceType: undefined, }; if (output["state"] !== undefined) { contents.State = output["state"]; } + if (output["transitGatewayAttachmentId"] !== undefined) { + contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; + } if (output["transitGatewayRouteTableId"] !== undefined) { contents.TransitGatewayRouteTableId = output["transitGatewayRouteTableId"]; } - if (output["resourceType"] !== undefined) { - contents.ResourceType = output["resourceType"]; - } if (output["resourceId"] !== undefined) { contents.ResourceId = output["resourceId"]; } - if (output["transitGatewayAttachmentId"] !== undefined) { - contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; + if (output["resourceType"] !== undefined) { + contents.ResourceType = output["resourceType"]; } return contents; }; const deserializeAws_ec2TransitGatewayAttachment = (output: any, context: __SerdeContext): TransitGatewayAttachment => { let contents: any = { - ResourceId: undefined, - ResourceType: undefined, TransitGatewayId: undefined, + TransitGatewayOwnerId: undefined, + ResourceType: undefined, Tags: undefined, CreationTime: undefined, State: undefined, - TransitGatewayOwnerId: undefined, ResourceOwnerId: undefined, TransitGatewayAttachmentId: undefined, Association: undefined, + ResourceId: undefined, }; - if (output["resourceId"] !== undefined) { - contents.ResourceId = output["resourceId"]; + if (output["transitGatewayId"] !== undefined) { + contents.TransitGatewayId = output["transitGatewayId"]; + } + if (output["transitGatewayOwnerId"] !== undefined) { + contents.TransitGatewayOwnerId = output["transitGatewayOwnerId"]; } if (output["resourceType"] !== undefined) { contents.ResourceType = output["resourceType"]; } - if (output["transitGatewayId"] !== undefined) { - contents.TransitGatewayId = output["transitGatewayId"]; - } if (output.tagSet === "") { contents.Tags = []; } @@ -60480,9 +61714,6 @@ const deserializeAws_ec2TransitGatewayAttachment = (output: any, context: __Serd if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["transitGatewayOwnerId"] !== undefined) { - contents.TransitGatewayOwnerId = output["transitGatewayOwnerId"]; - } if (output["resourceOwnerId"] !== undefined) { contents.ResourceOwnerId = output["resourceOwnerId"]; } @@ -60492,6 +61723,9 @@ const deserializeAws_ec2TransitGatewayAttachment = (output: any, context: __Serd if (output["association"] !== undefined) { contents.Association = deserializeAws_ec2TransitGatewayAttachmentAssociation(output["association"], context); } + if (output["resourceId"] !== undefined) { + contents.ResourceId = output["resourceId"]; + } return contents; }; @@ -60524,15 +61758,15 @@ const deserializeAws_ec2TransitGatewayAttachmentPropagation = ( context: __SerdeContext ): TransitGatewayAttachmentPropagation => { let contents: any = { - TransitGatewayRouteTableId: undefined, State: undefined, + TransitGatewayRouteTableId: undefined, }; - if (output["transitGatewayRouteTableId"] !== undefined) { - contents.TransitGatewayRouteTableId = output["transitGatewayRouteTableId"]; - } if (output["state"] !== undefined) { contents.State = output["state"]; } + if (output["transitGatewayRouteTableId"] !== undefined) { + contents.TransitGatewayRouteTableId = output["transitGatewayRouteTableId"]; + } return contents; }; @@ -60552,16 +61786,10 @@ const deserializeAws_ec2TransitGatewayMulticastDeregisteredGroupMembers = ( context: __SerdeContext ): TransitGatewayMulticastDeregisteredGroupMembers => { let contents: any = { - GroupIpAddress: undefined, - TransitGatewayMulticastDomainId: undefined, DeregisteredNetworkInterfaceIds: undefined, + TransitGatewayMulticastDomainId: undefined, + GroupIpAddress: undefined, }; - if (output["groupIpAddress"] !== undefined) { - contents.GroupIpAddress = output["groupIpAddress"]; - } - if (output["transitGatewayMulticastDomainId"] !== undefined) { - contents.TransitGatewayMulticastDomainId = output["transitGatewayMulticastDomainId"]; - } if (output.deregisteredNetworkInterfaceIds === "") { contents.DeregisteredNetworkInterfaceIds = []; } @@ -60574,6 +61802,12 @@ const deserializeAws_ec2TransitGatewayMulticastDeregisteredGroupMembers = ( context ); } + if (output["transitGatewayMulticastDomainId"] !== undefined) { + contents.TransitGatewayMulticastDomainId = output["transitGatewayMulticastDomainId"]; + } + if (output["groupIpAddress"] !== undefined) { + contents.GroupIpAddress = output["groupIpAddress"]; + } return contents; }; @@ -60582,10 +61816,13 @@ const deserializeAws_ec2TransitGatewayMulticastDeregisteredGroupSources = ( context: __SerdeContext ): TransitGatewayMulticastDeregisteredGroupSources => { let contents: any = { + GroupIpAddress: undefined, TransitGatewayMulticastDomainId: undefined, DeregisteredNetworkInterfaceIds: undefined, - GroupIpAddress: undefined, }; + if (output["groupIpAddress"] !== undefined) { + contents.GroupIpAddress = output["groupIpAddress"]; + } if (output["transitGatewayMulticastDomainId"] !== undefined) { contents.TransitGatewayMulticastDomainId = output["transitGatewayMulticastDomainId"]; } @@ -60601,9 +61838,6 @@ const deserializeAws_ec2TransitGatewayMulticastDeregisteredGroupSources = ( context ); } - if (output["groupIpAddress"] !== undefined) { - contents.GroupIpAddress = output["groupIpAddress"]; - } return contents; }; @@ -60612,30 +61846,30 @@ const deserializeAws_ec2TransitGatewayMulticastDomain = ( context: __SerdeContext ): TransitGatewayMulticastDomain => { let contents: any = { - CreationTime: undefined, - TransitGatewayId: undefined, TransitGatewayMulticastDomainId: undefined, - State: undefined, Tags: undefined, + State: undefined, + TransitGatewayId: undefined, + CreationTime: undefined, }; - if (output["creationTime"] !== undefined) { - contents.CreationTime = new Date(output["creationTime"]); - } - if (output["transitGatewayId"] !== undefined) { - contents.TransitGatewayId = output["transitGatewayId"]; - } if (output["transitGatewayMulticastDomainId"] !== undefined) { contents.TransitGatewayMulticastDomainId = output["transitGatewayMulticastDomainId"]; } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["transitGatewayId"] !== undefined) { + contents.TransitGatewayId = output["transitGatewayId"]; + } + if (output["creationTime"] !== undefined) { + contents.CreationTime = new Date(output["creationTime"]); + } return contents; }; @@ -60644,22 +61878,22 @@ const deserializeAws_ec2TransitGatewayMulticastDomainAssociation = ( context: __SerdeContext ): TransitGatewayMulticastDomainAssociation => { let contents: any = { - ResourceId: undefined, Subnet: undefined, - ResourceType: undefined, TransitGatewayAttachmentId: undefined, + ResourceType: undefined, + ResourceId: undefined, }; - if (output["resourceId"] !== undefined) { - contents.ResourceId = output["resourceId"]; - } if (output["subnet"] !== undefined) { contents.Subnet = deserializeAws_ec2SubnetAssociation(output["subnet"], context); } + if (output["transitGatewayAttachmentId"] !== undefined) { + contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; + } if (output["resourceType"] !== undefined) { contents.ResourceType = output["resourceType"]; } - if (output["transitGatewayAttachmentId"] !== undefined) { - contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; + if (output["resourceId"] !== undefined) { + contents.ResourceId = output["resourceId"]; } return contents; }; @@ -60676,21 +61910,12 @@ const deserializeAws_ec2TransitGatewayMulticastDomainAssociations = ( context: __SerdeContext ): TransitGatewayMulticastDomainAssociations => { let contents: any = { - TransitGatewayMulticastDomainId: undefined, - TransitGatewayAttachmentId: undefined, - ResourceId: undefined, Subnets: undefined, + TransitGatewayMulticastDomainId: undefined, ResourceType: undefined, + ResourceId: undefined, + TransitGatewayAttachmentId: undefined, }; - if (output["transitGatewayMulticastDomainId"] !== undefined) { - contents.TransitGatewayMulticastDomainId = output["transitGatewayMulticastDomainId"]; - } - if (output["transitGatewayAttachmentId"] !== undefined) { - contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; - } - if (output["resourceId"] !== undefined) { - contents.ResourceId = output["resourceId"]; - } if (output.subnets === "") { contents.Subnets = []; } @@ -60700,9 +61925,18 @@ const deserializeAws_ec2TransitGatewayMulticastDomainAssociations = ( context ); } + if (output["transitGatewayMulticastDomainId"] !== undefined) { + contents.TransitGatewayMulticastDomainId = output["transitGatewayMulticastDomainId"]; + } if (output["resourceType"] !== undefined) { contents.ResourceType = output["resourceType"]; } + if (output["resourceId"] !== undefined) { + contents.ResourceId = output["resourceId"]; + } + if (output["transitGatewayAttachmentId"] !== undefined) { + contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; + } return contents; }; @@ -60718,46 +61952,46 @@ const deserializeAws_ec2TransitGatewayMulticastGroup = ( context: __SerdeContext ): TransitGatewayMulticastGroup => { let contents: any = { - GroupIpAddress: undefined, MemberType: undefined, TransitGatewayAttachmentId: undefined, + GroupIpAddress: undefined, + ResourceType: undefined, + NetworkInterfaceId: undefined, ResourceId: undefined, GroupSource: undefined, - SourceType: undefined, - GroupMember: undefined, SubnetId: undefined, - NetworkInterfaceId: undefined, - ResourceType: undefined, + GroupMember: undefined, + SourceType: undefined, }; - if (output["groupIpAddress"] !== undefined) { - contents.GroupIpAddress = output["groupIpAddress"]; - } if (output["memberType"] !== undefined) { contents.MemberType = output["memberType"]; } if (output["transitGatewayAttachmentId"] !== undefined) { contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; } + if (output["groupIpAddress"] !== undefined) { + contents.GroupIpAddress = output["groupIpAddress"]; + } + if (output["resourceType"] !== undefined) { + contents.ResourceType = output["resourceType"]; + } + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = output["networkInterfaceId"]; + } if (output["resourceId"] !== undefined) { contents.ResourceId = output["resourceId"]; } if (output["groupSource"] !== undefined) { contents.GroupSource = output["groupSource"] == "true"; } - if (output["sourceType"] !== undefined) { - contents.SourceType = output["sourceType"]; - } - if (output["groupMember"] !== undefined) { - contents.GroupMember = output["groupMember"] == "true"; - } if (output["subnetId"] !== undefined) { contents.SubnetId = output["subnetId"]; } - if (output["networkInterfaceId"] !== undefined) { - contents.NetworkInterfaceId = output["networkInterfaceId"]; + if (output["groupMember"] !== undefined) { + contents.GroupMember = output["groupMember"] == "true"; } - if (output["resourceType"] !== undefined) { - contents.ResourceType = output["resourceType"]; + if (output["sourceType"] !== undefined) { + contents.SourceType = output["sourceType"]; } return contents; }; @@ -60774,13 +62008,10 @@ const deserializeAws_ec2TransitGatewayMulticastRegisteredGroupMembers = ( context: __SerdeContext ): TransitGatewayMulticastRegisteredGroupMembers => { let contents: any = { - TransitGatewayMulticastDomainId: undefined, RegisteredNetworkInterfaceIds: undefined, GroupIpAddress: undefined, + TransitGatewayMulticastDomainId: undefined, }; - if (output["transitGatewayMulticastDomainId"] !== undefined) { - contents.TransitGatewayMulticastDomainId = output["transitGatewayMulticastDomainId"]; - } if (output.registeredNetworkInterfaceIds === "") { contents.RegisteredNetworkInterfaceIds = []; } @@ -60796,6 +62027,9 @@ const deserializeAws_ec2TransitGatewayMulticastRegisteredGroupMembers = ( if (output["groupIpAddress"] !== undefined) { contents.GroupIpAddress = output["groupIpAddress"]; } + if (output["transitGatewayMulticastDomainId"] !== undefined) { + contents.TransitGatewayMulticastDomainId = output["transitGatewayMulticastDomainId"]; + } return contents; }; @@ -60805,15 +62039,12 @@ const deserializeAws_ec2TransitGatewayMulticastRegisteredGroupSources = ( ): TransitGatewayMulticastRegisteredGroupSources => { let contents: any = { TransitGatewayMulticastDomainId: undefined, - GroupIpAddress: undefined, RegisteredNetworkInterfaceIds: undefined, + GroupIpAddress: undefined, }; if (output["transitGatewayMulticastDomainId"] !== undefined) { contents.TransitGatewayMulticastDomainId = output["transitGatewayMulticastDomainId"]; } - if (output["groupIpAddress"] !== undefined) { - contents.GroupIpAddress = output["groupIpAddress"]; - } if (output.registeredNetworkInterfaceIds === "") { contents.RegisteredNetworkInterfaceIds = []; } @@ -60826,47 +62057,50 @@ const deserializeAws_ec2TransitGatewayMulticastRegisteredGroupSources = ( context ); } + if (output["groupIpAddress"] !== undefined) { + contents.GroupIpAddress = output["groupIpAddress"]; + } return contents; }; const deserializeAws_ec2TransitGatewayOptions = (output: any, context: __SerdeContext): TransitGatewayOptions => { let contents: any = { - PropagationDefaultRouteTableId: undefined, - MulticastSupport: undefined, + AssociationDefaultRouteTableId: undefined, AmazonSideAsn: undefined, + AutoAcceptSharedAttachments: undefined, + PropagationDefaultRouteTableId: undefined, DnsSupport: undefined, - AssociationDefaultRouteTableId: undefined, - DefaultRouteTablePropagation: undefined, - DefaultRouteTableAssociation: undefined, VpnEcmpSupport: undefined, - AutoAcceptSharedAttachments: undefined, + MulticastSupport: undefined, + DefaultRouteTableAssociation: undefined, + DefaultRouteTablePropagation: undefined, }; - if (output["propagationDefaultRouteTableId"] !== undefined) { - contents.PropagationDefaultRouteTableId = output["propagationDefaultRouteTableId"]; - } - if (output["multicastSupport"] !== undefined) { - contents.MulticastSupport = output["multicastSupport"]; + if (output["associationDefaultRouteTableId"] !== undefined) { + contents.AssociationDefaultRouteTableId = output["associationDefaultRouteTableId"]; } if (output["amazonSideAsn"] !== undefined) { contents.AmazonSideAsn = parseInt(output["amazonSideAsn"]); } + if (output["autoAcceptSharedAttachments"] !== undefined) { + contents.AutoAcceptSharedAttachments = output["autoAcceptSharedAttachments"]; + } + if (output["propagationDefaultRouteTableId"] !== undefined) { + contents.PropagationDefaultRouteTableId = output["propagationDefaultRouteTableId"]; + } if (output["dnsSupport"] !== undefined) { contents.DnsSupport = output["dnsSupport"]; } - if (output["associationDefaultRouteTableId"] !== undefined) { - contents.AssociationDefaultRouteTableId = output["associationDefaultRouteTableId"]; + if (output["vpnEcmpSupport"] !== undefined) { + contents.VpnEcmpSupport = output["vpnEcmpSupport"]; } - if (output["defaultRouteTablePropagation"] !== undefined) { - contents.DefaultRouteTablePropagation = output["defaultRouteTablePropagation"]; + if (output["multicastSupport"] !== undefined) { + contents.MulticastSupport = output["multicastSupport"]; } if (output["defaultRouteTableAssociation"] !== undefined) { contents.DefaultRouteTableAssociation = output["defaultRouteTableAssociation"]; } - if (output["vpnEcmpSupport"] !== undefined) { - contents.VpnEcmpSupport = output["vpnEcmpSupport"]; - } - if (output["autoAcceptSharedAttachments"] !== undefined) { - contents.AutoAcceptSharedAttachments = output["autoAcceptSharedAttachments"]; + if (output["defaultRouteTablePropagation"] !== undefined) { + contents.DefaultRouteTablePropagation = output["defaultRouteTablePropagation"]; } return contents; }; @@ -60876,37 +62110,37 @@ const deserializeAws_ec2TransitGatewayPeeringAttachment = ( context: __SerdeContext ): TransitGatewayPeeringAttachment => { let contents: any = { - CreationTime: undefined, Status: undefined, - Tags: undefined, - RequesterTgwInfo: undefined, - AccepterTgwInfo: undefined, State: undefined, + CreationTime: undefined, + Tags: undefined, TransitGatewayAttachmentId: undefined, + AccepterTgwInfo: undefined, + RequesterTgwInfo: undefined, }; - if (output["creationTime"] !== undefined) { - contents.CreationTime = new Date(output["creationTime"]); - } if (output["status"] !== undefined) { contents.Status = deserializeAws_ec2PeeringAttachmentStatus(output["status"], context); } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["creationTime"] !== undefined) { + contents.CreationTime = new Date(output["creationTime"]); + } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["requesterTgwInfo"] !== undefined) { - contents.RequesterTgwInfo = deserializeAws_ec2PeeringTgwInfo(output["requesterTgwInfo"], context); + if (output["transitGatewayAttachmentId"] !== undefined) { + contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; } if (output["accepterTgwInfo"] !== undefined) { contents.AccepterTgwInfo = deserializeAws_ec2PeeringTgwInfo(output["accepterTgwInfo"], context); } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["transitGatewayAttachmentId"] !== undefined) { - contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; + if (output["requesterTgwInfo"] !== undefined) { + contents.RequesterTgwInfo = deserializeAws_ec2PeeringTgwInfo(output["requesterTgwInfo"], context); } return contents; }; @@ -60918,48 +62152,116 @@ const deserializeAws_ec2TransitGatewayPeeringAttachmentList = ( return (output || []).map((entry: any) => deserializeAws_ec2TransitGatewayPeeringAttachment(entry, context)); }; -const deserializeAws_ec2TransitGatewayPropagation = ( +const deserializeAws_ec2TransitGatewayPrefixListAttachment = ( output: any, context: __SerdeContext -): TransitGatewayPropagation => { +): TransitGatewayPrefixListAttachment => { let contents: any = { - TransitGatewayAttachmentId: undefined, - State: undefined, - TransitGatewayRouteTableId: undefined, - ResourceType: undefined, ResourceId: undefined, + ResourceType: undefined, + TransitGatewayAttachmentId: undefined, }; + if (output["resourceId"] !== undefined) { + contents.ResourceId = output["resourceId"]; + } + if (output["resourceType"] !== undefined) { + contents.ResourceType = output["resourceType"]; + } if (output["transitGatewayAttachmentId"] !== undefined) { contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; } + return contents; +}; + +const deserializeAws_ec2TransitGatewayPrefixListReference = ( + output: any, + context: __SerdeContext +): TransitGatewayPrefixListReference => { + let contents: any = { + TransitGatewayAttachment: undefined, + PrefixListOwnerId: undefined, + TransitGatewayRouteTableId: undefined, + Blackhole: undefined, + PrefixListId: undefined, + State: undefined, + }; + if (output["transitGatewayAttachment"] !== undefined) { + contents.TransitGatewayAttachment = deserializeAws_ec2TransitGatewayPrefixListAttachment( + output["transitGatewayAttachment"], + context + ); + } + if (output["prefixListOwnerId"] !== undefined) { + contents.PrefixListOwnerId = output["prefixListOwnerId"]; + } + if (output["transitGatewayRouteTableId"] !== undefined) { + contents.TransitGatewayRouteTableId = output["transitGatewayRouteTableId"]; + } + if (output["blackhole"] !== undefined) { + contents.Blackhole = output["blackhole"] == "true"; + } + if (output["prefixListId"] !== undefined) { + contents.PrefixListId = output["prefixListId"]; + } if (output["state"] !== undefined) { contents.State = output["state"]; } + return contents; +}; + +const deserializeAws_ec2TransitGatewayPrefixListReferenceSet = ( + output: any, + context: __SerdeContext +): TransitGatewayPrefixListReference[] => { + return (output || []).map((entry: any) => deserializeAws_ec2TransitGatewayPrefixListReference(entry, context)); +}; + +const deserializeAws_ec2TransitGatewayPropagation = ( + output: any, + context: __SerdeContext +): TransitGatewayPropagation => { + let contents: any = { + ResourceId: undefined, + TransitGatewayRouteTableId: undefined, + ResourceType: undefined, + State: undefined, + TransitGatewayAttachmentId: undefined, + }; + if (output["resourceId"] !== undefined) { + contents.ResourceId = output["resourceId"]; + } if (output["transitGatewayRouteTableId"] !== undefined) { contents.TransitGatewayRouteTableId = output["transitGatewayRouteTableId"]; } if (output["resourceType"] !== undefined) { contents.ResourceType = output["resourceType"]; } - if (output["resourceId"] !== undefined) { - contents.ResourceId = output["resourceId"]; + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["transitGatewayAttachmentId"] !== undefined) { + contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; } return contents; }; const deserializeAws_ec2TransitGatewayRoute = (output: any, context: __SerdeContext): TransitGatewayRoute => { let contents: any = { - DestinationCidrBlock: undefined, + Type: undefined, State: undefined, + PrefixListId: undefined, TransitGatewayAttachments: undefined, - Type: undefined, + DestinationCidrBlock: undefined, }; - if (output["destinationCidrBlock"] !== undefined) { - contents.DestinationCidrBlock = output["destinationCidrBlock"]; + if (output["type"] !== undefined) { + contents.Type = output["type"]; } if (output["state"] !== undefined) { contents.State = output["state"]; } + if (output["prefixListId"] !== undefined) { + contents.PrefixListId = output["prefixListId"]; + } if (output.transitGatewayAttachments === "") { contents.TransitGatewayAttachments = []; } @@ -60969,8 +62271,8 @@ const deserializeAws_ec2TransitGatewayRoute = (output: any, context: __SerdeCont context ); } - if (output["type"] !== undefined) { - contents.Type = output["type"]; + if (output["destinationCidrBlock"] !== undefined) { + contents.DestinationCidrBlock = output["destinationCidrBlock"]; } return contents; }; @@ -60981,18 +62283,18 @@ const deserializeAws_ec2TransitGatewayRouteAttachment = ( ): TransitGatewayRouteAttachment => { let contents: any = { TransitGatewayAttachmentId: undefined, - ResourceType: undefined, ResourceId: undefined, + ResourceType: undefined, }; if (output["transitGatewayAttachmentId"] !== undefined) { contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; } - if (output["resourceType"] !== undefined) { - contents.ResourceType = output["resourceType"]; - } if (output["resourceId"] !== undefined) { contents.ResourceId = output["resourceId"]; } + if (output["resourceType"] !== undefined) { + contents.ResourceType = output["resourceType"]; + } return contents; }; @@ -61010,18 +62312,27 @@ const deserializeAws_ec2TransitGatewayRouteList = (output: any, context: __Serde const deserializeAws_ec2TransitGatewayRouteTable = (output: any, context: __SerdeContext): TransitGatewayRouteTable => { let contents: any = { DefaultPropagationRouteTable: undefined, - TransitGatewayRouteTableId: undefined, - Tags: undefined, CreationTime: undefined, - DefaultAssociationRouteTable: undefined, - State: undefined, TransitGatewayId: undefined, + State: undefined, + DefaultAssociationRouteTable: undefined, + Tags: undefined, + TransitGatewayRouteTableId: undefined, }; if (output["defaultPropagationRouteTable"] !== undefined) { contents.DefaultPropagationRouteTable = output["defaultPropagationRouteTable"] == "true"; } - if (output["transitGatewayRouteTableId"] !== undefined) { - contents.TransitGatewayRouteTableId = output["transitGatewayRouteTableId"]; + if (output["creationTime"] !== undefined) { + contents.CreationTime = new Date(output["creationTime"]); + } + if (output["transitGatewayId"] !== undefined) { + contents.TransitGatewayId = output["transitGatewayId"]; + } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["defaultAssociationRouteTable"] !== undefined) { + contents.DefaultAssociationRouteTable = output["defaultAssociationRouteTable"] == "true"; } if (output.tagSet === "") { contents.Tags = []; @@ -61029,17 +62340,8 @@ const deserializeAws_ec2TransitGatewayRouteTable = (output: any, context: __Serd if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["creationTime"] !== undefined) { - contents.CreationTime = new Date(output["creationTime"]); - } - if (output["defaultAssociationRouteTable"] !== undefined) { - contents.DefaultAssociationRouteTable = output["defaultAssociationRouteTable"] == "true"; - } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["transitGatewayId"] !== undefined) { - contents.TransitGatewayId = output["transitGatewayId"]; + if (output["transitGatewayRouteTableId"] !== undefined) { + contents.TransitGatewayRouteTableId = output["transitGatewayRouteTableId"]; } return contents; }; @@ -61050,21 +62352,21 @@ const deserializeAws_ec2TransitGatewayRouteTableAssociation = ( ): TransitGatewayRouteTableAssociation => { let contents: any = { ResourceId: undefined, - TransitGatewayAttachmentId: undefined, - State: undefined, ResourceType: undefined, + State: undefined, + TransitGatewayAttachmentId: undefined, }; if (output["resourceId"] !== undefined) { contents.ResourceId = output["resourceId"]; } - if (output["transitGatewayAttachmentId"] !== undefined) { - contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; + if (output["resourceType"] !== undefined) { + contents.ResourceType = output["resourceType"]; } if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["resourceType"] !== undefined) { - contents.ResourceType = output["resourceType"]; + if (output["transitGatewayAttachmentId"] !== undefined) { + contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; } return contents; }; @@ -61088,14 +62390,11 @@ const deserializeAws_ec2TransitGatewayRouteTablePropagation = ( context: __SerdeContext ): TransitGatewayRouteTablePropagation => { let contents: any = { - ResourceType: undefined, ResourceId: undefined, TransitGatewayAttachmentId: undefined, State: undefined, + ResourceType: undefined, }; - if (output["resourceType"] !== undefined) { - contents.ResourceType = output["resourceType"]; - } if (output["resourceId"] !== undefined) { contents.ResourceId = output["resourceId"]; } @@ -61105,6 +62404,9 @@ const deserializeAws_ec2TransitGatewayRouteTablePropagation = ( if (output["state"] !== undefined) { contents.State = output["state"]; } + if (output["resourceType"] !== undefined) { + contents.ResourceType = output["resourceType"]; + } return contents; }; @@ -61120,18 +62422,18 @@ const deserializeAws_ec2TransitGatewayVpcAttachment = ( context: __SerdeContext ): TransitGatewayVpcAttachment => { let contents: any = { - Options: undefined, - SubnetIds: undefined, - TransitGatewayAttachmentId: undefined, VpcOwnerId: undefined, - State: undefined, - TransitGatewayId: undefined, + SubnetIds: undefined, + Options: undefined, Tags: undefined, - VpcId: undefined, + TransitGatewayId: undefined, CreationTime: undefined, + VpcId: undefined, + State: undefined, + TransitGatewayAttachmentId: undefined, }; - if (output["options"] !== undefined) { - contents.Options = deserializeAws_ec2TransitGatewayVpcAttachmentOptions(output["options"], context); + if (output["vpcOwnerId"] !== undefined) { + contents.VpcOwnerId = output["vpcOwnerId"]; } if (output.subnetIds === "") { contents.SubnetIds = []; @@ -61142,17 +62444,8 @@ const deserializeAws_ec2TransitGatewayVpcAttachment = ( context ); } - if (output["transitGatewayAttachmentId"] !== undefined) { - contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; - } - if (output["vpcOwnerId"] !== undefined) { - contents.VpcOwnerId = output["vpcOwnerId"]; - } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["transitGatewayId"] !== undefined) { - contents.TransitGatewayId = output["transitGatewayId"]; + if (output["options"] !== undefined) { + contents.Options = deserializeAws_ec2TransitGatewayVpcAttachmentOptions(output["options"], context); } if (output.tagSet === "") { contents.Tags = []; @@ -61160,12 +62453,21 @@ const deserializeAws_ec2TransitGatewayVpcAttachment = ( if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; + if (output["transitGatewayId"] !== undefined) { + contents.TransitGatewayId = output["transitGatewayId"]; } if (output["creationTime"] !== undefined) { contents.CreationTime = new Date(output["creationTime"]); } + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; + } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["transitGatewayAttachmentId"] !== undefined) { + contents.TransitGatewayAttachmentId = output["transitGatewayAttachmentId"]; + } return contents; }; @@ -61195,80 +62497,62 @@ const deserializeAws_ec2TransitGatewayVpcAttachmentOptions = ( const deserializeAws_ec2TunnelOption = (output: any, context: __SerdeContext): TunnelOption => { let contents: any = { - ReplayWindowSize: undefined, - Phase2DHGroupNumbers: undefined, - DpdTimeoutSeconds: undefined, + RekeyFuzzPercentage: undefined, + Phase2IntegrityAlgorithms: undefined, + RekeyMarginTimeSeconds: undefined, + TunnelInsideIpv6Cidr: undefined, Phase1LifetimeSeconds: undefined, - Phase1DHGroupNumbers: undefined, TunnelInsideCidr: undefined, - IkeVersions: undefined, - RekeyMarginTimeSeconds: undefined, - Phase2EncryptionAlgorithms: undefined, - Phase2LifetimeSeconds: undefined, + Phase2DHGroupNumbers: undefined, Phase1EncryptionAlgorithms: undefined, + Phase1IntegrityAlgorithms: undefined, PreSharedKey: undefined, + Phase1DHGroupNumbers: undefined, OutsideIpAddress: undefined, - Phase2IntegrityAlgorithms: undefined, - Phase1IntegrityAlgorithms: undefined, - RekeyFuzzPercentage: undefined, + StartupAction: undefined, + DpdTimeoutAction: undefined, + Phase2LifetimeSeconds: undefined, + IkeVersions: undefined, + DpdTimeoutSeconds: undefined, + ReplayWindowSize: undefined, + Phase2EncryptionAlgorithms: undefined, }; - if (output["replayWindowSize"] !== undefined) { - contents.ReplayWindowSize = parseInt(output["replayWindowSize"]); + if (output["rekeyFuzzPercentage"] !== undefined) { + contents.RekeyFuzzPercentage = parseInt(output["rekeyFuzzPercentage"]); } - if (output.phase2DHGroupNumberSet === "") { - contents.Phase2DHGroupNumbers = []; + if (output.phase2IntegrityAlgorithmSet === "") { + contents.Phase2IntegrityAlgorithms = []; } - if (output["phase2DHGroupNumberSet"] !== undefined && output["phase2DHGroupNumberSet"]["item"] !== undefined) { - contents.Phase2DHGroupNumbers = deserializeAws_ec2Phase2DHGroupNumbersList( - __getArrayIfSingleItem(output["phase2DHGroupNumberSet"]["item"]), + if ( + output["phase2IntegrityAlgorithmSet"] !== undefined && + output["phase2IntegrityAlgorithmSet"]["item"] !== undefined + ) { + contents.Phase2IntegrityAlgorithms = deserializeAws_ec2Phase2IntegrityAlgorithmsList( + __getArrayIfSingleItem(output["phase2IntegrityAlgorithmSet"]["item"]), context ); } - if (output["dpdTimeoutSeconds"] !== undefined) { - contents.DpdTimeoutSeconds = parseInt(output["dpdTimeoutSeconds"]); + if (output["rekeyMarginTimeSeconds"] !== undefined) { + contents.RekeyMarginTimeSeconds = parseInt(output["rekeyMarginTimeSeconds"]); + } + if (output["tunnelInsideIpv6Cidr"] !== undefined) { + contents.TunnelInsideIpv6Cidr = output["tunnelInsideIpv6Cidr"]; } if (output["phase1LifetimeSeconds"] !== undefined) { contents.Phase1LifetimeSeconds = parseInt(output["phase1LifetimeSeconds"]); } - if (output.phase1DHGroupNumberSet === "") { - contents.Phase1DHGroupNumbers = []; - } - if (output["phase1DHGroupNumberSet"] !== undefined && output["phase1DHGroupNumberSet"]["item"] !== undefined) { - contents.Phase1DHGroupNumbers = deserializeAws_ec2Phase1DHGroupNumbersList( - __getArrayIfSingleItem(output["phase1DHGroupNumberSet"]["item"]), - context - ); - } if (output["tunnelInsideCidr"] !== undefined) { contents.TunnelInsideCidr = output["tunnelInsideCidr"]; } - if (output.ikeVersionSet === "") { - contents.IkeVersions = []; - } - if (output["ikeVersionSet"] !== undefined && output["ikeVersionSet"]["item"] !== undefined) { - contents.IkeVersions = deserializeAws_ec2IKEVersionsList( - __getArrayIfSingleItem(output["ikeVersionSet"]["item"]), - context - ); - } - if (output["rekeyMarginTimeSeconds"] !== undefined) { - contents.RekeyMarginTimeSeconds = parseInt(output["rekeyMarginTimeSeconds"]); - } - if (output.phase2EncryptionAlgorithmSet === "") { - contents.Phase2EncryptionAlgorithms = []; + if (output.phase2DHGroupNumberSet === "") { + contents.Phase2DHGroupNumbers = []; } - if ( - output["phase2EncryptionAlgorithmSet"] !== undefined && - output["phase2EncryptionAlgorithmSet"]["item"] !== undefined - ) { - contents.Phase2EncryptionAlgorithms = deserializeAws_ec2Phase2EncryptionAlgorithmsList( - __getArrayIfSingleItem(output["phase2EncryptionAlgorithmSet"]["item"]), + if (output["phase2DHGroupNumberSet"] !== undefined && output["phase2DHGroupNumberSet"]["item"] !== undefined) { + contents.Phase2DHGroupNumbers = deserializeAws_ec2Phase2DHGroupNumbersList( + __getArrayIfSingleItem(output["phase2DHGroupNumberSet"]["item"]), context ); } - if (output["phase2LifetimeSeconds"] !== undefined) { - contents.Phase2LifetimeSeconds = parseInt(output["phase2LifetimeSeconds"]); - } if (output.phase1EncryptionAlgorithmSet === "") { contents.Phase1EncryptionAlgorithms = []; } @@ -61281,39 +62565,69 @@ const deserializeAws_ec2TunnelOption = (output: any, context: __SerdeContext): T context ); } + if (output.phase1IntegrityAlgorithmSet === "") { + contents.Phase1IntegrityAlgorithms = []; + } + if ( + output["phase1IntegrityAlgorithmSet"] !== undefined && + output["phase1IntegrityAlgorithmSet"]["item"] !== undefined + ) { + contents.Phase1IntegrityAlgorithms = deserializeAws_ec2Phase1IntegrityAlgorithmsList( + __getArrayIfSingleItem(output["phase1IntegrityAlgorithmSet"]["item"]), + context + ); + } if (output["preSharedKey"] !== undefined) { contents.PreSharedKey = output["preSharedKey"]; } + if (output.phase1DHGroupNumberSet === "") { + contents.Phase1DHGroupNumbers = []; + } + if (output["phase1DHGroupNumberSet"] !== undefined && output["phase1DHGroupNumberSet"]["item"] !== undefined) { + contents.Phase1DHGroupNumbers = deserializeAws_ec2Phase1DHGroupNumbersList( + __getArrayIfSingleItem(output["phase1DHGroupNumberSet"]["item"]), + context + ); + } if (output["outsideIpAddress"] !== undefined) { contents.OutsideIpAddress = output["outsideIpAddress"]; } - if (output.phase2IntegrityAlgorithmSet === "") { - contents.Phase2IntegrityAlgorithms = []; + if (output["startupAction"] !== undefined) { + contents.StartupAction = output["startupAction"]; } - if ( - output["phase2IntegrityAlgorithmSet"] !== undefined && - output["phase2IntegrityAlgorithmSet"]["item"] !== undefined - ) { - contents.Phase2IntegrityAlgorithms = deserializeAws_ec2Phase2IntegrityAlgorithmsList( - __getArrayIfSingleItem(output["phase2IntegrityAlgorithmSet"]["item"]), + if (output["dpdTimeoutAction"] !== undefined) { + contents.DpdTimeoutAction = output["dpdTimeoutAction"]; + } + if (output["phase2LifetimeSeconds"] !== undefined) { + contents.Phase2LifetimeSeconds = parseInt(output["phase2LifetimeSeconds"]); + } + if (output.ikeVersionSet === "") { + contents.IkeVersions = []; + } + if (output["ikeVersionSet"] !== undefined && output["ikeVersionSet"]["item"] !== undefined) { + contents.IkeVersions = deserializeAws_ec2IKEVersionsList( + __getArrayIfSingleItem(output["ikeVersionSet"]["item"]), context ); } - if (output.phase1IntegrityAlgorithmSet === "") { - contents.Phase1IntegrityAlgorithms = []; + if (output["dpdTimeoutSeconds"] !== undefined) { + contents.DpdTimeoutSeconds = parseInt(output["dpdTimeoutSeconds"]); + } + if (output["replayWindowSize"] !== undefined) { + contents.ReplayWindowSize = parseInt(output["replayWindowSize"]); + } + if (output.phase2EncryptionAlgorithmSet === "") { + contents.Phase2EncryptionAlgorithms = []; } if ( - output["phase1IntegrityAlgorithmSet"] !== undefined && - output["phase1IntegrityAlgorithmSet"]["item"] !== undefined + output["phase2EncryptionAlgorithmSet"] !== undefined && + output["phase2EncryptionAlgorithmSet"]["item"] !== undefined ) { - contents.Phase1IntegrityAlgorithms = deserializeAws_ec2Phase1IntegrityAlgorithmsList( - __getArrayIfSingleItem(output["phase1IntegrityAlgorithmSet"]["item"]), + contents.Phase2EncryptionAlgorithms = deserializeAws_ec2Phase2EncryptionAlgorithmsList( + __getArrayIfSingleItem(output["phase2EncryptionAlgorithmSet"]["item"]), context ); } - if (output["rekeyFuzzPercentage"] !== undefined) { - contents.RekeyFuzzPercentage = parseInt(output["rekeyFuzzPercentage"]); - } return contents; }; @@ -61326,12 +62640,9 @@ const deserializeAws_ec2UnassignIpv6AddressesResult = ( context: __SerdeContext ): UnassignIpv6AddressesResult => { let contents: any = { - NetworkInterfaceId: undefined, UnassignedIpv6Addresses: undefined, + NetworkInterfaceId: undefined, }; - if (output["networkInterfaceId"] !== undefined) { - contents.NetworkInterfaceId = output["networkInterfaceId"]; - } if (output.unassignedIpv6Addresses === "") { contents.UnassignedIpv6Addresses = []; } @@ -61341,6 +62652,9 @@ const deserializeAws_ec2UnassignIpv6AddressesResult = ( context ); } + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = output["networkInterfaceId"]; + } return contents; }; @@ -61365,15 +62679,15 @@ const deserializeAws_ec2UnsuccessfulInstanceCreditSpecificationItem = ( context: __SerdeContext ): UnsuccessfulInstanceCreditSpecificationItem => { let contents: any = { - Error: undefined, InstanceId: undefined, + Error: undefined, }; - if (output["error"] !== undefined) { - contents.Error = deserializeAws_ec2UnsuccessfulInstanceCreditSpecificationItemError(output["error"], context); - } if (output["instanceId"] !== undefined) { contents.InstanceId = output["instanceId"]; } + if (output["error"] !== undefined) { + contents.Error = deserializeAws_ec2UnsuccessfulInstanceCreditSpecificationItemError(output["error"], context); + } return contents; }; @@ -61382,15 +62696,15 @@ const deserializeAws_ec2UnsuccessfulInstanceCreditSpecificationItemError = ( context: __SerdeContext ): UnsuccessfulInstanceCreditSpecificationItemError => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; @@ -61419,15 +62733,15 @@ const deserializeAws_ec2UnsuccessfulItem = (output: any, context: __SerdeContext const deserializeAws_ec2UnsuccessfulItemError = (output: any, context: __SerdeContext): UnsuccessfulItemError => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; @@ -61485,34 +62799,34 @@ const deserializeAws_ec2UserBucketDetails = (output: any, context: __SerdeContex const deserializeAws_ec2UserIdGroupPair = (output: any, context: __SerdeContext): UserIdGroupPair => { let contents: any = { - GroupId: undefined, - VpcId: undefined, - PeeringStatus: undefined, Description: undefined, - VpcPeeringConnectionId: undefined, - GroupName: undefined, + VpcId: undefined, UserId: undefined, + GroupName: undefined, + VpcPeeringConnectionId: undefined, + PeeringStatus: undefined, + GroupId: undefined, }; - if (output["groupId"] !== undefined) { - contents.GroupId = output["groupId"]; + if (output["description"] !== undefined) { + contents.Description = output["description"]; } if (output["vpcId"] !== undefined) { contents.VpcId = output["vpcId"]; } - if (output["peeringStatus"] !== undefined) { - contents.PeeringStatus = output["peeringStatus"]; + if (output["userId"] !== undefined) { + contents.UserId = output["userId"]; } - if (output["description"] !== undefined) { - contents.Description = output["description"]; + if (output["groupName"] !== undefined) { + contents.GroupName = output["groupName"]; } if (output["vpcPeeringConnectionId"] !== undefined) { contents.VpcPeeringConnectionId = output["vpcPeeringConnectionId"]; } - if (output["groupName"] !== undefined) { - contents.GroupName = output["groupName"]; + if (output["peeringStatus"] !== undefined) { + contents.PeeringStatus = output["peeringStatus"]; } - if (output["userId"] !== undefined) { - contents.UserId = output["userId"]; + if (output["groupId"] !== undefined) { + contents.GroupId = output["groupId"]; } return contents; }; @@ -61527,15 +62841,15 @@ const deserializeAws_ec2UserIdGroupPairSet = (output: any, context: __SerdeConte const deserializeAws_ec2ValidationError = (output: any, context: __SerdeContext): ValidationError => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["code"] !== undefined) { - contents.Code = output["code"]; - } if (output["message"] !== undefined) { contents.Message = output["message"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; @@ -61558,18 +62872,12 @@ const deserializeAws_ec2ValueStringList = (output: any, context: __SerdeContext) const deserializeAws_ec2VCpuInfo = (output: any, context: __SerdeContext): VCpuInfo => { let contents: any = { - DefaultVCpus: undefined, - DefaultThreadsPerCore: undefined, ValidCores: undefined, + DefaultThreadsPerCore: undefined, + DefaultVCpus: undefined, DefaultCores: undefined, ValidThreadsPerCore: undefined, }; - if (output["defaultVCpus"] !== undefined) { - contents.DefaultVCpus = parseInt(output["defaultVCpus"]); - } - if (output["defaultThreadsPerCore"] !== undefined) { - contents.DefaultThreadsPerCore = parseInt(output["defaultThreadsPerCore"]); - } if (output.validCores === "") { contents.ValidCores = []; } @@ -61579,6 +62887,12 @@ const deserializeAws_ec2VCpuInfo = (output: any, context: __SerdeContext): VCpuI context ); } + if (output["defaultThreadsPerCore"] !== undefined) { + contents.DefaultThreadsPerCore = parseInt(output["defaultThreadsPerCore"]); + } + if (output["defaultVCpus"] !== undefined) { + contents.DefaultVCpus = parseInt(output["defaultVCpus"]); + } if (output["defaultCores"] !== undefined) { contents.DefaultCores = parseInt(output["defaultCores"]); } @@ -61596,31 +62910,31 @@ const deserializeAws_ec2VCpuInfo = (output: any, context: __SerdeContext): VCpuI const deserializeAws_ec2VgwTelemetry = (output: any, context: __SerdeContext): VgwTelemetry => { let contents: any = { - AcceptedRouteCount: undefined, - LastStatusChange: undefined, - CertificateArn: undefined, OutsideIpAddress: undefined, StatusMessage: undefined, + AcceptedRouteCount: undefined, Status: undefined, + CertificateArn: undefined, + LastStatusChange: undefined, }; - if (output["acceptedRouteCount"] !== undefined) { - contents.AcceptedRouteCount = parseInt(output["acceptedRouteCount"]); - } - if (output["lastStatusChange"] !== undefined) { - contents.LastStatusChange = new Date(output["lastStatusChange"]); - } - if (output["certificateArn"] !== undefined) { - contents.CertificateArn = output["certificateArn"]; - } if (output["outsideIpAddress"] !== undefined) { contents.OutsideIpAddress = output["outsideIpAddress"]; } if (output["statusMessage"] !== undefined) { contents.StatusMessage = output["statusMessage"]; } + if (output["acceptedRouteCount"] !== undefined) { + contents.AcceptedRouteCount = parseInt(output["acceptedRouteCount"]); + } if (output["status"] !== undefined) { contents.Status = output["status"]; } + if (output["certificateArn"] !== undefined) { + contents.CertificateArn = output["certificateArn"]; + } + if (output["lastStatusChange"] !== undefined) { + contents.LastStatusChange = new Date(output["lastStatusChange"]); + } return contents; }; @@ -61637,75 +62951,75 @@ const deserializeAws_ec2VirtualizationTypeList = ( const deserializeAws_ec2Volume = (output: any, context: __SerdeContext): Volume => { let contents: any = { - Encrypted: undefined, - Tags: undefined, - MultiAttachEnabled: undefined, - OutpostArn: undefined, - Size: undefined, - VolumeType: undefined, - FastRestored: undefined, Attachments: undefined, + AvailabilityZone: undefined, SnapshotId: undefined, + FastRestored: undefined, + Size: undefined, + Iops: undefined, + VolumeId: undefined, + OutpostArn: undefined, + MultiAttachEnabled: undefined, + Tags: undefined, + Encrypted: undefined, State: undefined, - KmsKeyId: undefined, - AvailabilityZone: undefined, + VolumeType: undefined, CreateTime: undefined, - VolumeId: undefined, - Iops: undefined, + KmsKeyId: undefined, }; - if (output["encrypted"] !== undefined) { - contents.Encrypted = output["encrypted"] == "true"; + if (output.attachmentSet === "") { + contents.Attachments = []; } - if (output.tagSet === "") { - contents.Tags = []; + if (output["attachmentSet"] !== undefined && output["attachmentSet"]["item"] !== undefined) { + contents.Attachments = deserializeAws_ec2VolumeAttachmentList( + __getArrayIfSingleItem(output["attachmentSet"]["item"]), + context + ); } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; } - if (output["multiAttachEnabled"] !== undefined) { - contents.MultiAttachEnabled = output["multiAttachEnabled"] == "true"; + if (output["snapshotId"] !== undefined) { + contents.SnapshotId = output["snapshotId"]; } - if (output["outpostArn"] !== undefined) { - contents.OutpostArn = output["outpostArn"]; + if (output["fastRestored"] !== undefined) { + contents.FastRestored = output["fastRestored"] == "true"; } if (output["size"] !== undefined) { contents.Size = parseInt(output["size"]); } - if (output["volumeType"] !== undefined) { - contents.VolumeType = output["volumeType"]; + if (output["iops"] !== undefined) { + contents.Iops = parseInt(output["iops"]); } - if (output["fastRestored"] !== undefined) { - contents.FastRestored = output["fastRestored"] == "true"; + if (output["volumeId"] !== undefined) { + contents.VolumeId = output["volumeId"]; } - if (output.attachmentSet === "") { - contents.Attachments = []; + if (output["outpostArn"] !== undefined) { + contents.OutpostArn = output["outpostArn"]; } - if (output["attachmentSet"] !== undefined && output["attachmentSet"]["item"] !== undefined) { - contents.Attachments = deserializeAws_ec2VolumeAttachmentList( - __getArrayIfSingleItem(output["attachmentSet"]["item"]), - context - ); + if (output["multiAttachEnabled"] !== undefined) { + contents.MultiAttachEnabled = output["multiAttachEnabled"] == "true"; } - if (output["snapshotId"] !== undefined) { - contents.SnapshotId = output["snapshotId"]; + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + } + if (output["encrypted"] !== undefined) { + contents.Encrypted = output["encrypted"] == "true"; } if (output["status"] !== undefined) { contents.State = output["status"]; } - if (output["kmsKeyId"] !== undefined) { - contents.KmsKeyId = output["kmsKeyId"]; - } - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; + if (output["volumeType"] !== undefined) { + contents.VolumeType = output["volumeType"]; } if (output["createTime"] !== undefined) { contents.CreateTime = new Date(output["createTime"]); } - if (output["volumeId"] !== undefined) { - contents.VolumeId = output["volumeId"]; - } - if (output["iops"] !== undefined) { - contents.Iops = parseInt(output["iops"]); + if (output["kmsKeyId"] !== undefined) { + contents.KmsKeyId = output["kmsKeyId"]; } return contents; }; @@ -61713,29 +63027,29 @@ const deserializeAws_ec2Volume = (output: any, context: __SerdeContext): Volume const deserializeAws_ec2VolumeAttachment = (output: any, context: __SerdeContext): VolumeAttachment => { let contents: any = { VolumeId: undefined, + State: undefined, + DeleteOnTermination: undefined, InstanceId: undefined, - AttachTime: undefined, Device: undefined, - DeleteOnTermination: undefined, - State: undefined, + AttachTime: undefined, }; if (output["volumeId"] !== undefined) { contents.VolumeId = output["volumeId"]; } + if (output["status"] !== undefined) { + contents.State = output["status"]; + } + if (output["deleteOnTermination"] !== undefined) { + contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; + } if (output["instanceId"] !== undefined) { contents.InstanceId = output["instanceId"]; } - if (output["attachTime"] !== undefined) { - contents.AttachTime = new Date(output["attachTime"]); - } if (output["device"] !== undefined) { contents.Device = output["device"]; } - if (output["deleteOnTermination"] !== undefined) { - contents.DeleteOnTermination = output["deleteOnTermination"] == "true"; - } - if (output["status"] !== undefined) { - contents.State = output["status"]; + if (output["attachTime"] !== undefined) { + contents.AttachTime = new Date(output["attachTime"]); } return contents; }; @@ -61750,54 +63064,54 @@ const deserializeAws_ec2VolumeList = (output: any, context: __SerdeContext): Vol const deserializeAws_ec2VolumeModification = (output: any, context: __SerdeContext): VolumeModification => { let contents: any = { - OriginalIops: undefined, - ModificationState: undefined, - TargetVolumeType: undefined, TargetSize: undefined, + ModificationState: undefined, OriginalSize: undefined, - OriginalVolumeType: undefined, - EndTime: undefined, - VolumeId: undefined, - Progress: undefined, - StatusMessage: undefined, TargetIops: undefined, + Progress: undefined, + VolumeId: undefined, + OriginalIops: undefined, StartTime: undefined, + OriginalVolumeType: undefined, + StatusMessage: undefined, + TargetVolumeType: undefined, + EndTime: undefined, }; - if (output["originalIops"] !== undefined) { - contents.OriginalIops = parseInt(output["originalIops"]); + if (output["targetSize"] !== undefined) { + contents.TargetSize = parseInt(output["targetSize"]); } if (output["modificationState"] !== undefined) { contents.ModificationState = output["modificationState"]; } - if (output["targetVolumeType"] !== undefined) { - contents.TargetVolumeType = output["targetVolumeType"]; - } - if (output["targetSize"] !== undefined) { - contents.TargetSize = parseInt(output["targetSize"]); - } if (output["originalSize"] !== undefined) { contents.OriginalSize = parseInt(output["originalSize"]); } - if (output["originalVolumeType"] !== undefined) { - contents.OriginalVolumeType = output["originalVolumeType"]; + if (output["targetIops"] !== undefined) { + contents.TargetIops = parseInt(output["targetIops"]); } - if (output["endTime"] !== undefined) { - contents.EndTime = new Date(output["endTime"]); + if (output["progress"] !== undefined) { + contents.Progress = parseInt(output["progress"]); } if (output["volumeId"] !== undefined) { contents.VolumeId = output["volumeId"]; } - if (output["progress"] !== undefined) { - contents.Progress = parseInt(output["progress"]); + if (output["originalIops"] !== undefined) { + contents.OriginalIops = parseInt(output["originalIops"]); + } + if (output["startTime"] !== undefined) { + contents.StartTime = new Date(output["startTime"]); + } + if (output["originalVolumeType"] !== undefined) { + contents.OriginalVolumeType = output["originalVolumeType"]; } if (output["statusMessage"] !== undefined) { contents.StatusMessage = output["statusMessage"]; } - if (output["targetIops"] !== undefined) { - contents.TargetIops = parseInt(output["targetIops"]); + if (output["targetVolumeType"] !== undefined) { + contents.TargetVolumeType = output["targetVolumeType"]; } - if (output["startTime"] !== undefined) { - contents.StartTime = new Date(output["startTime"]); + if (output["endTime"] !== undefined) { + contents.EndTime = new Date(output["endTime"]); } return contents; }; @@ -61808,23 +63122,23 @@ const deserializeAws_ec2VolumeModificationList = (output: any, context: __SerdeC const deserializeAws_ec2VolumeStatusAction = (output: any, context: __SerdeContext): VolumeStatusAction => { let contents: any = { - EventType: undefined, Description: undefined, - Code: undefined, + EventType: undefined, EventId: undefined, + Code: undefined, }; - if (output["eventType"] !== undefined) { - contents.EventType = output["eventType"]; - } if (output["description"] !== undefined) { contents.Description = output["description"]; } - if (output["code"] !== undefined) { - contents.Code = output["code"]; + if (output["eventType"] !== undefined) { + contents.EventType = output["eventType"]; } if (output["eventId"] !== undefined) { contents.EventId = output["eventId"]; } + if (output["code"] !== undefined) { + contents.Code = output["code"]; + } return contents; }; @@ -61858,15 +63172,15 @@ const deserializeAws_ec2VolumeStatusAttachmentStatusList = ( const deserializeAws_ec2VolumeStatusDetails = (output: any, context: __SerdeContext): VolumeStatusDetails => { let contents: any = { - Status: undefined, Name: undefined, + Status: undefined, }; - if (output["status"] !== undefined) { - contents.Status = output["status"]; - } if (output["name"] !== undefined) { contents.Name = output["name"]; } + if (output["status"] !== undefined) { + contents.Status = output["status"]; + } return contents; }; @@ -61876,30 +63190,30 @@ const deserializeAws_ec2VolumeStatusDetailsList = (output: any, context: __Serde const deserializeAws_ec2VolumeStatusEvent = (output: any, context: __SerdeContext): VolumeStatusEvent => { let contents: any = { - EventId: undefined, NotBefore: undefined, Description: undefined, - InstanceId: undefined, - EventType: undefined, NotAfter: undefined, + EventType: undefined, + InstanceId: undefined, + EventId: undefined, }; - if (output["eventId"] !== undefined) { - contents.EventId = output["eventId"]; - } if (output["notBefore"] !== undefined) { contents.NotBefore = new Date(output["notBefore"]); } if (output["description"] !== undefined) { contents.Description = output["description"]; } - if (output["instanceId"] !== undefined) { - contents.InstanceId = output["instanceId"]; + if (output["notAfter"] !== undefined) { + contents.NotAfter = new Date(output["notAfter"]); } if (output["eventType"] !== undefined) { contents.EventType = output["eventType"]; } - if (output["notAfter"] !== undefined) { - contents.NotAfter = new Date(output["notAfter"]); + if (output["instanceId"] !== undefined) { + contents.InstanceId = output["instanceId"]; + } + if (output["eventId"] !== undefined) { + contents.EventId = output["eventId"]; } return contents; }; @@ -61910,9 +63224,12 @@ const deserializeAws_ec2VolumeStatusEventsList = (output: any, context: __SerdeC const deserializeAws_ec2VolumeStatusInfo = (output: any, context: __SerdeContext): VolumeStatusInfo => { let contents: any = { - Details: undefined, Status: undefined, + Details: undefined, }; + if (output["status"] !== undefined) { + contents.Status = output["status"]; + } if (output.details === "") { contents.Details = []; } @@ -61922,43 +63239,37 @@ const deserializeAws_ec2VolumeStatusInfo = (output: any, context: __SerdeContext context ); } - if (output["status"] !== undefined) { - contents.Status = output["status"]; - } return contents; }; const deserializeAws_ec2VolumeStatusItem = (output: any, context: __SerdeContext): VolumeStatusItem => { let contents: any = { - AvailabilityZone: undefined, - AttachmentStatuses: undefined, - VolumeStatus: undefined, OutpostArn: undefined, + Actions: undefined, VolumeId: undefined, + AvailabilityZone: undefined, Events: undefined, - Actions: undefined, + AttachmentStatuses: undefined, + VolumeStatus: undefined, }; - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; + if (output["outpostArn"] !== undefined) { + contents.OutpostArn = output["outpostArn"]; } - if (output.attachmentStatuses === "") { - contents.AttachmentStatuses = []; + if (output.actionsSet === "") { + contents.Actions = []; } - if (output["attachmentStatuses"] !== undefined && output["attachmentStatuses"]["item"] !== undefined) { - contents.AttachmentStatuses = deserializeAws_ec2VolumeStatusAttachmentStatusList( - __getArrayIfSingleItem(output["attachmentStatuses"]["item"]), + if (output["actionsSet"] !== undefined && output["actionsSet"]["item"] !== undefined) { + contents.Actions = deserializeAws_ec2VolumeStatusActionsList( + __getArrayIfSingleItem(output["actionsSet"]["item"]), context ); } - if (output["volumeStatus"] !== undefined) { - contents.VolumeStatus = deserializeAws_ec2VolumeStatusInfo(output["volumeStatus"], context); - } - if (output["outpostArn"] !== undefined) { - contents.OutpostArn = output["outpostArn"]; - } if (output["volumeId"] !== undefined) { contents.VolumeId = output["volumeId"]; } + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; + } if (output.eventsSet === "") { contents.Events = []; } @@ -61968,15 +63279,18 @@ const deserializeAws_ec2VolumeStatusItem = (output: any, context: __SerdeContext context ); } - if (output.actionsSet === "") { - contents.Actions = []; + if (output.attachmentStatuses === "") { + contents.AttachmentStatuses = []; } - if (output["actionsSet"] !== undefined && output["actionsSet"]["item"] !== undefined) { - contents.Actions = deserializeAws_ec2VolumeStatusActionsList( - __getArrayIfSingleItem(output["actionsSet"]["item"]), + if (output["attachmentStatuses"] !== undefined && output["attachmentStatuses"]["item"] !== undefined) { + contents.AttachmentStatuses = deserializeAws_ec2VolumeStatusAttachmentStatusList( + __getArrayIfSingleItem(output["attachmentStatuses"]["item"]), context ); } + if (output["volumeStatus"] !== undefined) { + contents.VolumeStatus = deserializeAws_ec2VolumeStatusInfo(output["volumeStatus"], context); + } return contents; }; @@ -61986,49 +63300,34 @@ const deserializeAws_ec2VolumeStatusList = (output: any, context: __SerdeContext const deserializeAws_ec2Vpc = (output: any, context: __SerdeContext): Vpc => { let contents: any = { - OwnerId: undefined, + InstanceTenancy: undefined, + Tags: undefined, DhcpOptionsId: undefined, - CidrBlock: undefined, - State: undefined, - IsDefault: undefined, VpcId: undefined, - CidrBlockAssociationSet: undefined, - Tags: undefined, + OwnerId: undefined, Ipv6CidrBlockAssociationSet: undefined, - InstanceTenancy: undefined, + CidrBlockAssociationSet: undefined, + IsDefault: undefined, + State: undefined, + CidrBlock: undefined, }; - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; - } - if (output["dhcpOptionsId"] !== undefined) { - contents.DhcpOptionsId = output["dhcpOptionsId"]; + if (output["instanceTenancy"] !== undefined) { + contents.InstanceTenancy = output["instanceTenancy"]; } - if (output["cidrBlock"] !== undefined) { - contents.CidrBlock = output["cidrBlock"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["isDefault"] !== undefined) { - contents.IsDefault = output["isDefault"] == "true"; + if (output["dhcpOptionsId"] !== undefined) { + contents.DhcpOptionsId = output["dhcpOptionsId"]; } if (output["vpcId"] !== undefined) { contents.VpcId = output["vpcId"]; } - if (output.cidrBlockAssociationSet === "") { - contents.CidrBlockAssociationSet = []; - } - if (output["cidrBlockAssociationSet"] !== undefined && output["cidrBlockAssociationSet"]["item"] !== undefined) { - contents.CidrBlockAssociationSet = deserializeAws_ec2VpcCidrBlockAssociationSet( - __getArrayIfSingleItem(output["cidrBlockAssociationSet"]["item"]), - context - ); - } - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } if (output.ipv6CidrBlockAssociationSet === "") { contents.Ipv6CidrBlockAssociationSet = []; @@ -62042,23 +63341,38 @@ const deserializeAws_ec2Vpc = (output: any, context: __SerdeContext): Vpc => { context ); } - if (output["instanceTenancy"] !== undefined) { - contents.InstanceTenancy = output["instanceTenancy"]; + if (output.cidrBlockAssociationSet === "") { + contents.CidrBlockAssociationSet = []; + } + if (output["cidrBlockAssociationSet"] !== undefined && output["cidrBlockAssociationSet"]["item"] !== undefined) { + contents.CidrBlockAssociationSet = deserializeAws_ec2VpcCidrBlockAssociationSet( + __getArrayIfSingleItem(output["cidrBlockAssociationSet"]["item"]), + context + ); + } + if (output["isDefault"] !== undefined) { + contents.IsDefault = output["isDefault"] == "true"; + } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } + if (output["cidrBlock"] !== undefined) { + contents.CidrBlock = output["cidrBlock"]; } return contents; }; const deserializeAws_ec2VpcAttachment = (output: any, context: __SerdeContext): VpcAttachment => { let contents: any = { - State: undefined, VpcId: undefined, + State: undefined, }; - if (output["state"] !== undefined) { - contents.State = output["state"]; - } if (output["vpcId"] !== undefined) { contents.VpcId = output["vpcId"]; } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } return contents; }; @@ -62068,19 +63382,19 @@ const deserializeAws_ec2VpcAttachmentList = (output: any, context: __SerdeContex const deserializeAws_ec2VpcCidrBlockAssociation = (output: any, context: __SerdeContext): VpcCidrBlockAssociation => { let contents: any = { - CidrBlockState: undefined, AssociationId: undefined, CidrBlock: undefined, + CidrBlockState: undefined, }; - if (output["cidrBlockState"] !== undefined) { - contents.CidrBlockState = deserializeAws_ec2VpcCidrBlockState(output["cidrBlockState"], context); - } if (output["associationId"] !== undefined) { contents.AssociationId = output["associationId"]; } if (output["cidrBlock"] !== undefined) { contents.CidrBlock = output["cidrBlock"]; } + if (output["cidrBlockState"] !== undefined) { + contents.CidrBlockState = deserializeAws_ec2VpcCidrBlockState(output["cidrBlockState"], context); + } return contents; }; @@ -62108,21 +63422,21 @@ const deserializeAws_ec2VpcCidrBlockState = (output: any, context: __SerdeContex const deserializeAws_ec2VpcClassicLink = (output: any, context: __SerdeContext): VpcClassicLink => { let contents: any = { VpcId: undefined, - ClassicLinkEnabled: undefined, Tags: undefined, + ClassicLinkEnabled: undefined, }; if (output["vpcId"] !== undefined) { contents.VpcId = output["vpcId"]; } - if (output["classicLinkEnabled"] !== undefined) { - contents.ClassicLinkEnabled = output["classicLinkEnabled"] == "true"; - } if (output.tagSet === "") { contents.Tags = []; } if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } + if (output["classicLinkEnabled"] !== undefined) { + contents.ClassicLinkEnabled = output["classicLinkEnabled"] == "true"; + } return contents; }; @@ -62132,38 +63446,29 @@ const deserializeAws_ec2VpcClassicLinkList = (output: any, context: __SerdeConte const deserializeAws_ec2VpcEndpoint = (output: any, context: __SerdeContext): VpcEndpoint => { let contents: any = { - LastError: undefined, - PolicyDocument: undefined, - VpcEndpointId: undefined, - Tags: undefined, + VpcId: undefined, + RequesterManaged: undefined, NetworkInterfaceIds: undefined, - SubnetIds: undefined, - VpcEndpointType: undefined, - CreationTimestamp: undefined, - DnsEntries: undefined, RouteTableIds: undefined, - ServiceName: undefined, - OwnerId: undefined, - Groups: undefined, + DnsEntries: undefined, State: undefined, - RequesterManaged: undefined, + SubnetIds: undefined, + LastError: undefined, + Tags: undefined, + VpcEndpointId: undefined, PrivateDnsEnabled: undefined, - VpcId: undefined, + PolicyDocument: undefined, + CreationTimestamp: undefined, + VpcEndpointType: undefined, + Groups: undefined, + OwnerId: undefined, + ServiceName: undefined, }; - if (output["lastError"] !== undefined) { - contents.LastError = deserializeAws_ec2LastError(output["lastError"], context); - } - if (output["policyDocument"] !== undefined) { - contents.PolicyDocument = output["policyDocument"]; - } - if (output["vpcEndpointId"] !== undefined) { - contents.VpcEndpointId = output["vpcEndpointId"]; - } - if (output.tagSet === "") { - contents.Tags = []; + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["requesterManaged"] !== undefined) { + contents.RequesterManaged = output["requesterManaged"] == "true"; } if (output.networkInterfaceIdSet === "") { contents.NetworkInterfaceIds = []; @@ -62174,6 +63479,24 @@ const deserializeAws_ec2VpcEndpoint = (output: any, context: __SerdeContext): Vp context ); } + if (output.routeTableIdSet === "") { + contents.RouteTableIds = []; + } + if (output["routeTableIdSet"] !== undefined && output["routeTableIdSet"]["item"] !== undefined) { + contents.RouteTableIds = deserializeAws_ec2ValueStringList( + __getArrayIfSingleItem(output["routeTableIdSet"]["item"]), + context + ); + } + if (output.dnsEntrySet === "") { + contents.DnsEntries = []; + } + if (output["dnsEntrySet"] !== undefined && output["dnsEntrySet"]["item"] !== undefined) { + contents.DnsEntries = deserializeAws_ec2DnsEntrySet(__getArrayIfSingleItem(output["dnsEntrySet"]["item"]), context); + } + if (output["state"] !== undefined) { + contents.State = output["state"]; + } if (output.subnetIdSet === "") { contents.SubnetIds = []; } @@ -62183,32 +63506,29 @@ const deserializeAws_ec2VpcEndpoint = (output: any, context: __SerdeContext): Vp context ); } - if (output["vpcEndpointType"] !== undefined) { - contents.VpcEndpointType = output["vpcEndpointType"]; + if (output["lastError"] !== undefined) { + contents.LastError = deserializeAws_ec2LastError(output["lastError"], context); } - if (output["creationTimestamp"] !== undefined) { - contents.CreationTimestamp = new Date(output["creationTimestamp"]); + if (output.tagSet === "") { + contents.Tags = []; } - if (output.dnsEntrySet === "") { - contents.DnsEntries = []; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } - if (output["dnsEntrySet"] !== undefined && output["dnsEntrySet"]["item"] !== undefined) { - contents.DnsEntries = deserializeAws_ec2DnsEntrySet(__getArrayIfSingleItem(output["dnsEntrySet"]["item"]), context); + if (output["vpcEndpointId"] !== undefined) { + contents.VpcEndpointId = output["vpcEndpointId"]; } - if (output.routeTableIdSet === "") { - contents.RouteTableIds = []; + if (output["privateDnsEnabled"] !== undefined) { + contents.PrivateDnsEnabled = output["privateDnsEnabled"] == "true"; } - if (output["routeTableIdSet"] !== undefined && output["routeTableIdSet"]["item"] !== undefined) { - contents.RouteTableIds = deserializeAws_ec2ValueStringList( - __getArrayIfSingleItem(output["routeTableIdSet"]["item"]), - context - ); + if (output["policyDocument"] !== undefined) { + contents.PolicyDocument = output["policyDocument"]; } - if (output["serviceName"] !== undefined) { - contents.ServiceName = output["serviceName"]; + if (output["creationTimestamp"] !== undefined) { + contents.CreationTimestamp = new Date(output["creationTimestamp"]); } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; + if (output["vpcEndpointType"] !== undefined) { + contents.VpcEndpointType = output["vpcEndpointType"]; } if (output.groupSet === "") { contents.Groups = []; @@ -62216,42 +63536,36 @@ const deserializeAws_ec2VpcEndpoint = (output: any, context: __SerdeContext): Vp if (output["groupSet"] !== undefined && output["groupSet"]["item"] !== undefined) { contents.Groups = deserializeAws_ec2GroupIdentifierSet(__getArrayIfSingleItem(output["groupSet"]["item"]), context); } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["requesterManaged"] !== undefined) { - contents.RequesterManaged = output["requesterManaged"] == "true"; - } - if (output["privateDnsEnabled"] !== undefined) { - contents.PrivateDnsEnabled = output["privateDnsEnabled"] == "true"; + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; + if (output["serviceName"] !== undefined) { + contents.ServiceName = output["serviceName"]; } return contents; }; const deserializeAws_ec2VpcEndpointConnection = (output: any, context: __SerdeContext): VpcEndpointConnection => { let contents: any = { - VpcEndpointId: undefined, + CreationTimestamp: undefined, VpcEndpointState: undefined, + DnsEntries: undefined, + NetworkLoadBalancerArns: undefined, VpcEndpointOwner: undefined, + VpcEndpointId: undefined, ServiceId: undefined, - NetworkLoadBalancerArns: undefined, - DnsEntries: undefined, - CreationTimestamp: undefined, }; - if (output["vpcEndpointId"] !== undefined) { - contents.VpcEndpointId = output["vpcEndpointId"]; + if (output["creationTimestamp"] !== undefined) { + contents.CreationTimestamp = new Date(output["creationTimestamp"]); } if (output["vpcEndpointState"] !== undefined) { contents.VpcEndpointState = output["vpcEndpointState"]; } - if (output["vpcEndpointOwner"] !== undefined) { - contents.VpcEndpointOwner = output["vpcEndpointOwner"]; + if (output.dnsEntrySet === "") { + contents.DnsEntries = []; } - if (output["serviceId"] !== undefined) { - contents.ServiceId = output["serviceId"]; + if (output["dnsEntrySet"] !== undefined && output["dnsEntrySet"]["item"] !== undefined) { + contents.DnsEntries = deserializeAws_ec2DnsEntrySet(__getArrayIfSingleItem(output["dnsEntrySet"]["item"]), context); } if (output.networkLoadBalancerArnSet === "") { contents.NetworkLoadBalancerArns = []; @@ -62262,14 +63576,14 @@ const deserializeAws_ec2VpcEndpointConnection = (output: any, context: __SerdeCo context ); } - if (output.dnsEntrySet === "") { - contents.DnsEntries = []; + if (output["vpcEndpointOwner"] !== undefined) { + contents.VpcEndpointOwner = output["vpcEndpointOwner"]; } - if (output["dnsEntrySet"] !== undefined && output["dnsEntrySet"]["item"] !== undefined) { - contents.DnsEntries = deserializeAws_ec2DnsEntrySet(__getArrayIfSingleItem(output["dnsEntrySet"]["item"]), context); + if (output["vpcEndpointId"] !== undefined) { + contents.VpcEndpointId = output["vpcEndpointId"]; } - if (output["creationTimestamp"] !== undefined) { - contents.CreationTimestamp = new Date(output["creationTimestamp"]); + if (output["serviceId"] !== undefined) { + contents.ServiceId = output["serviceId"]; } return contents; }; @@ -62288,16 +63602,16 @@ const deserializeAws_ec2VpcIpv6CidrBlockAssociation = ( ): VpcIpv6CidrBlockAssociation => { let contents: any = { NetworkBorderGroup: undefined, - AssociationId: undefined, + Ipv6CidrBlockState: undefined, Ipv6CidrBlock: undefined, Ipv6Pool: undefined, - Ipv6CidrBlockState: undefined, + AssociationId: undefined, }; if (output["networkBorderGroup"] !== undefined) { contents.NetworkBorderGroup = output["networkBorderGroup"]; } - if (output["associationId"] !== undefined) { - contents.AssociationId = output["associationId"]; + if (output["ipv6CidrBlockState"] !== undefined) { + contents.Ipv6CidrBlockState = deserializeAws_ec2VpcCidrBlockState(output["ipv6CidrBlockState"], context); } if (output["ipv6CidrBlock"] !== undefined) { contents.Ipv6CidrBlock = output["ipv6CidrBlock"]; @@ -62305,8 +63619,8 @@ const deserializeAws_ec2VpcIpv6CidrBlockAssociation = ( if (output["ipv6Pool"] !== undefined) { contents.Ipv6Pool = output["ipv6Pool"]; } - if (output["ipv6CidrBlockState"] !== undefined) { - contents.Ipv6CidrBlockState = deserializeAws_ec2VpcCidrBlockState(output["ipv6CidrBlockState"], context); + if (output["associationId"] !== undefined) { + contents.AssociationId = output["associationId"]; } return contents; }; @@ -62324,18 +63638,24 @@ const deserializeAws_ec2VpcList = (output: any, context: __SerdeContext): Vpc[] const deserializeAws_ec2VpcPeeringConnection = (output: any, context: __SerdeContext): VpcPeeringConnection => { let contents: any = { - AccepterVpcInfo: undefined, RequesterVpcInfo: undefined, + ExpirationTime: undefined, + AccepterVpcInfo: undefined, + VpcPeeringConnectionId: undefined, Tags: undefined, Status: undefined, - VpcPeeringConnectionId: undefined, - ExpirationTime: undefined, }; + if (output["requesterVpcInfo"] !== undefined) { + contents.RequesterVpcInfo = deserializeAws_ec2VpcPeeringConnectionVpcInfo(output["requesterVpcInfo"], context); + } + if (output["expirationTime"] !== undefined) { + contents.ExpirationTime = new Date(output["expirationTime"]); + } if (output["accepterVpcInfo"] !== undefined) { contents.AccepterVpcInfo = deserializeAws_ec2VpcPeeringConnectionVpcInfo(output["accepterVpcInfo"], context); } - if (output["requesterVpcInfo"] !== undefined) { - contents.RequesterVpcInfo = deserializeAws_ec2VpcPeeringConnectionVpcInfo(output["requesterVpcInfo"], context); + if (output["vpcPeeringConnectionId"] !== undefined) { + contents.VpcPeeringConnectionId = output["vpcPeeringConnectionId"]; } if (output.tagSet === "") { contents.Tags = []; @@ -62346,12 +63666,6 @@ const deserializeAws_ec2VpcPeeringConnection = (output: any, context: __SerdeCon if (output["status"] !== undefined) { contents.Status = deserializeAws_ec2VpcPeeringConnectionStateReason(output["status"], context); } - if (output["vpcPeeringConnectionId"] !== undefined) { - contents.VpcPeeringConnectionId = output["vpcPeeringConnectionId"]; - } - if (output["expirationTime"] !== undefined) { - contents.ExpirationTime = new Date(output["expirationTime"]); - } return contents; }; @@ -62364,10 +63678,14 @@ const deserializeAws_ec2VpcPeeringConnectionOptionsDescription = ( context: __SerdeContext ): VpcPeeringConnectionOptionsDescription => { let contents: any = { + AllowEgressFromLocalClassicLinkToRemoteVpc: undefined, AllowEgressFromLocalVpcToRemoteClassicLink: undefined, AllowDnsResolutionFromRemoteVpc: undefined, - AllowEgressFromLocalClassicLinkToRemoteVpc: undefined, }; + if (output["allowEgressFromLocalClassicLinkToRemoteVpc"] !== undefined) { + contents.AllowEgressFromLocalClassicLinkToRemoteVpc = + output["allowEgressFromLocalClassicLinkToRemoteVpc"] == "true"; + } if (output["allowEgressFromLocalVpcToRemoteClassicLink"] !== undefined) { contents.AllowEgressFromLocalVpcToRemoteClassicLink = output["allowEgressFromLocalVpcToRemoteClassicLink"] == "true"; @@ -62375,10 +63693,6 @@ const deserializeAws_ec2VpcPeeringConnectionOptionsDescription = ( if (output["allowDnsResolutionFromRemoteVpc"] !== undefined) { contents.AllowDnsResolutionFromRemoteVpc = output["allowDnsResolutionFromRemoteVpc"] == "true"; } - if (output["allowEgressFromLocalClassicLinkToRemoteVpc"] !== undefined) { - contents.AllowEgressFromLocalClassicLinkToRemoteVpc = - output["allowEgressFromLocalClassicLinkToRemoteVpc"] == "true"; - } return contents; }; @@ -62404,31 +63718,31 @@ const deserializeAws_ec2VpcPeeringConnectionVpcInfo = ( context: __SerdeContext ): VpcPeeringConnectionVpcInfo => { let contents: any = { - Region: undefined, - Ipv6CidrBlockSet: undefined, - CidrBlock: undefined, VpcId: undefined, - PeeringOptions: undefined, CidrBlockSet: undefined, + Region: undefined, OwnerId: undefined, + PeeringOptions: undefined, + Ipv6CidrBlockSet: undefined, + CidrBlock: undefined, }; - if (output["region"] !== undefined) { - contents.Region = output["region"]; + if (output["vpcId"] !== undefined) { + contents.VpcId = output["vpcId"]; } - if (output.ipv6CidrBlockSet === "") { - contents.Ipv6CidrBlockSet = []; + if (output.cidrBlockSet === "") { + contents.CidrBlockSet = []; } - if (output["ipv6CidrBlockSet"] !== undefined && output["ipv6CidrBlockSet"]["item"] !== undefined) { - contents.Ipv6CidrBlockSet = deserializeAws_ec2Ipv6CidrBlockSet( - __getArrayIfSingleItem(output["ipv6CidrBlockSet"]["item"]), + if (output["cidrBlockSet"] !== undefined && output["cidrBlockSet"]["item"] !== undefined) { + contents.CidrBlockSet = deserializeAws_ec2CidrBlockSet( + __getArrayIfSingleItem(output["cidrBlockSet"]["item"]), context ); } - if (output["cidrBlock"] !== undefined) { - contents.CidrBlock = output["cidrBlock"]; + if (output["region"] !== undefined) { + contents.Region = output["region"]; } - if (output["vpcId"] !== undefined) { - contents.VpcId = output["vpcId"]; + if (output["ownerId"] !== undefined) { + contents.OwnerId = output["ownerId"]; } if (output["peeringOptions"] !== undefined) { contents.PeeringOptions = deserializeAws_ec2VpcPeeringConnectionOptionsDescription( @@ -62436,41 +63750,44 @@ const deserializeAws_ec2VpcPeeringConnectionVpcInfo = ( context ); } - if (output.cidrBlockSet === "") { - contents.CidrBlockSet = []; + if (output.ipv6CidrBlockSet === "") { + contents.Ipv6CidrBlockSet = []; } - if (output["cidrBlockSet"] !== undefined && output["cidrBlockSet"]["item"] !== undefined) { - contents.CidrBlockSet = deserializeAws_ec2CidrBlockSet( - __getArrayIfSingleItem(output["cidrBlockSet"]["item"]), + if (output["ipv6CidrBlockSet"] !== undefined && output["ipv6CidrBlockSet"]["item"] !== undefined) { + contents.Ipv6CidrBlockSet = deserializeAws_ec2Ipv6CidrBlockSet( + __getArrayIfSingleItem(output["ipv6CidrBlockSet"]["item"]), context ); } - if (output["ownerId"] !== undefined) { - contents.OwnerId = output["ownerId"]; + if (output["cidrBlock"] !== undefined) { + contents.CidrBlock = output["cidrBlock"]; } return contents; }; const deserializeAws_ec2VpnConnection = (output: any, context: __SerdeContext): VpnConnection => { let contents: any = { - Type: undefined, - VpnGatewayId: undefined, + TransitGatewayId: undefined, + Tags: undefined, VgwTelemetry: undefined, + Type: undefined, CustomerGatewayId: undefined, - TransitGatewayId: undefined, - Routes: undefined, - Options: undefined, - VpnConnectionId: undefined, + VpnGatewayId: undefined, CustomerGatewayConfiguration: undefined, - State: undefined, Category: undefined, - Tags: undefined, + State: undefined, + Routes: undefined, + VpnConnectionId: undefined, + Options: undefined, }; - if (output["type"] !== undefined) { - contents.Type = output["type"]; + if (output["transitGatewayId"] !== undefined) { + contents.TransitGatewayId = output["transitGatewayId"]; } - if (output["vpnGatewayId"] !== undefined) { - contents.VpnGatewayId = output["vpnGatewayId"]; + if (output.tagSet === "") { + contents.Tags = []; + } + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } if (output.vgwTelemetry === "") { contents.VgwTelemetry = []; @@ -62481,11 +63798,23 @@ const deserializeAws_ec2VpnConnection = (output: any, context: __SerdeContext): context ); } + if (output["type"] !== undefined) { + contents.Type = output["type"]; + } if (output["customerGatewayId"] !== undefined) { contents.CustomerGatewayId = output["customerGatewayId"]; } - if (output["transitGatewayId"] !== undefined) { - contents.TransitGatewayId = output["transitGatewayId"]; + if (output["vpnGatewayId"] !== undefined) { + contents.VpnGatewayId = output["vpnGatewayId"]; + } + if (output["customerGatewayConfiguration"] !== undefined) { + contents.CustomerGatewayConfiguration = output["customerGatewayConfiguration"]; + } + if (output["category"] !== undefined) { + contents.Category = output["category"]; + } + if (output["state"] !== undefined) { + contents.State = output["state"]; } if (output.routes === "") { contents.Routes = []; @@ -62493,26 +63822,11 @@ const deserializeAws_ec2VpnConnection = (output: any, context: __SerdeContext): if (output["routes"] !== undefined && output["routes"]["item"] !== undefined) { contents.Routes = deserializeAws_ec2VpnStaticRouteList(__getArrayIfSingleItem(output["routes"]["item"]), context); } - if (output["options"] !== undefined) { - contents.Options = deserializeAws_ec2VpnConnectionOptions(output["options"], context); - } if (output["vpnConnectionId"] !== undefined) { contents.VpnConnectionId = output["vpnConnectionId"]; } - if (output["customerGatewayConfiguration"] !== undefined) { - contents.CustomerGatewayConfiguration = output["customerGatewayConfiguration"]; - } - if (output["state"] !== undefined) { - contents.State = output["state"]; - } - if (output["category"] !== undefined) { - contents.Category = output["category"]; - } - if (output.tagSet === "") { - contents.Tags = []; - } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["options"] !== undefined) { + contents.Options = deserializeAws_ec2VpnConnectionOptions(output["options"], context); } return contents; }; @@ -62523,12 +63837,17 @@ const deserializeAws_ec2VpnConnectionList = (output: any, context: __SerdeContex const deserializeAws_ec2VpnConnectionOptions = (output: any, context: __SerdeContext): VpnConnectionOptions => { let contents: any = { - EnableAcceleration: undefined, + TunnelInsideIpVersion: undefined, TunnelOptions: undefined, StaticRoutesOnly: undefined, + EnableAcceleration: undefined, + LocalIpv6NetworkCidr: undefined, + LocalIpv4NetworkCidr: undefined, + RemoteIpv4NetworkCidr: undefined, + RemoteIpv6NetworkCidr: undefined, }; - if (output["enableAcceleration"] !== undefined) { - contents.EnableAcceleration = output["enableAcceleration"] == "true"; + if (output["tunnelInsideIpVersion"] !== undefined) { + contents.TunnelInsideIpVersion = output["tunnelInsideIpVersion"]; } if (output.tunnelOptionSet === "") { contents.TunnelOptions = []; @@ -62542,30 +63861,48 @@ const deserializeAws_ec2VpnConnectionOptions = (output: any, context: __SerdeCon if (output["staticRoutesOnly"] !== undefined) { contents.StaticRoutesOnly = output["staticRoutesOnly"] == "true"; } + if (output["enableAcceleration"] !== undefined) { + contents.EnableAcceleration = output["enableAcceleration"] == "true"; + } + if (output["localIpv6NetworkCidr"] !== undefined) { + contents.LocalIpv6NetworkCidr = output["localIpv6NetworkCidr"]; + } + if (output["localIpv4NetworkCidr"] !== undefined) { + contents.LocalIpv4NetworkCidr = output["localIpv4NetworkCidr"]; + } + if (output["remoteIpv4NetworkCidr"] !== undefined) { + contents.RemoteIpv4NetworkCidr = output["remoteIpv4NetworkCidr"]; + } + if (output["remoteIpv6NetworkCidr"] !== undefined) { + contents.RemoteIpv6NetworkCidr = output["remoteIpv6NetworkCidr"]; + } return contents; }; const deserializeAws_ec2VpnGateway = (output: any, context: __SerdeContext): VpnGateway => { let contents: any = { - VpnGatewayId: undefined, - State: undefined, - Tags: undefined, - VpcAttachments: undefined, AmazonSideAsn: undefined, + VpnGatewayId: undefined, Type: undefined, AvailabilityZone: undefined, + State: undefined, + VpcAttachments: undefined, + Tags: undefined, }; + if (output["amazonSideAsn"] !== undefined) { + contents.AmazonSideAsn = parseInt(output["amazonSideAsn"]); + } if (output["vpnGatewayId"] !== undefined) { contents.VpnGatewayId = output["vpnGatewayId"]; } - if (output["state"] !== undefined) { - contents.State = output["state"]; + if (output["type"] !== undefined) { + contents.Type = output["type"]; } - if (output.tagSet === "") { - contents.Tags = []; + if (output["availabilityZone"] !== undefined) { + contents.AvailabilityZone = output["availabilityZone"]; } - if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { - contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); + if (output["state"] !== undefined) { + contents.State = output["state"]; } if (output.attachments === "") { contents.VpcAttachments = []; @@ -62576,14 +63913,11 @@ const deserializeAws_ec2VpnGateway = (output: any, context: __SerdeContext): Vpn context ); } - if (output["amazonSideAsn"] !== undefined) { - contents.AmazonSideAsn = parseInt(output["amazonSideAsn"]); - } - if (output["type"] !== undefined) { - contents.Type = output["type"]; + if (output.tagSet === "") { + contents.Tags = []; } - if (output["availabilityZone"] !== undefined) { - contents.AvailabilityZone = output["availabilityZone"]; + if (output["tagSet"] !== undefined && output["tagSet"]["item"] !== undefined) { + contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context); } return contents; }; @@ -62594,18 +63928,18 @@ const deserializeAws_ec2VpnGatewayList = (output: any, context: __SerdeContext): const deserializeAws_ec2VpnStaticRoute = (output: any, context: __SerdeContext): VpnStaticRoute => { let contents: any = { - Source: undefined, - State: undefined, DestinationCidrBlock: undefined, + State: undefined, + Source: undefined, }; - if (output["source"] !== undefined) { - contents.Source = output["source"]; + if (output["destinationCidrBlock"] !== undefined) { + contents.DestinationCidrBlock = output["destinationCidrBlock"]; } if (output["state"] !== undefined) { contents.State = output["state"]; } - if (output["destinationCidrBlock"] !== undefined) { - contents.DestinationCidrBlock = output["destinationCidrBlock"]; + if (output["source"] !== undefined) { + contents.Source = output["source"]; } return contents; }; diff --git a/clients/client-ecr/models/models_0.ts b/clients/client-ecr/models/models_0.ts index b9327c445b67..363a3fc7d929 100644 --- a/clients/client-ecr/models/models_0.ts +++ b/clients/client-ecr/models/models_0.ts @@ -9,14 +9,14 @@ export interface BatchCheckLayerAvailabilityRequest { registryId?: string; /** - *

                                                                              The digests of the image layers to check.

                                                                              + *

                                                                              The name of the repository that is associated with the image layers to check.

                                                                              */ - layerDigests: string[] | undefined; + repositoryName: string | undefined; /** - *

                                                                              The name of the repository that is associated with the image layers to check.

                                                                              + *

                                                                              The digests of the image layers to check.

                                                                              */ - repositoryName: string | undefined; + layerDigests: string[] | undefined; } export namespace BatchCheckLayerAvailabilityRequest { @@ -34,6 +34,11 @@ export enum LayerFailureCode { *

                                                                              An object representing an Amazon ECR image layer failure.

                                                                              */ export interface LayerFailure { + /** + *

                                                                              The failure code associated with the failure.

                                                                              + */ + failureCode?: LayerFailureCode | string; + /** *

                                                                              The reason for the failure.

                                                                              */ @@ -43,11 +48,6 @@ export interface LayerFailure { *

                                                                              The layer digest associated with the failure.

                                                                              */ layerDigest?: string; - - /** - *

                                                                              The failure code associated with the failure.

                                                                              - */ - failureCode?: LayerFailureCode | string; } export namespace LayerFailure { @@ -65,6 +65,11 @@ export enum LayerAvailability { *

                                                                              An object representing an Amazon ECR image layer.

                                                                              */ export interface Layer { + /** + *

                                                                              The size, in bytes, of the image layer.

                                                                              + */ + layerSize?: number; + /** *

                                                                              The sha256 digest of the image layer.

                                                                              */ @@ -75,11 +80,6 @@ export interface Layer { */ layerAvailability?: LayerAvailability | string; - /** - *

                                                                              The size, in bytes, of the image layer.

                                                                              - */ - layerSize?: number; - /** *

                                                                              The media type of the layer, such as * application/vnd.docker.image.rootfs.diff.tar.gzip or @@ -174,14 +174,14 @@ export namespace ServerException { */ export interface ImageIdentifier { /** - *

                                                                              The tag used for the image.

                                                                              + *

                                                                              The sha256 digest of the image manifest.

                                                                              */ - imageTag?: string; + imageDigest?: string; /** - *

                                                                              The sha256 digest of the image manifest.

                                                                              + *

                                                                              The tag used for the image.

                                                                              */ - imageDigest?: string; + imageTag?: string; } export namespace ImageIdentifier { @@ -195,6 +195,11 @@ export namespace ImageIdentifier { * either the imageTag or imageDigest.

                                                                              */ export interface BatchDeleteImageRequest { + /** + *

                                                                              The repository that contains the image to delete.

                                                                              + */ + repositoryName: string | undefined; + /** *

                                                                              A list of image ID references that correspond to images to delete. The format of the * imageIds reference is imageTag=tag or @@ -202,11 +207,6 @@ export interface BatchDeleteImageRequest { */ imageIds: ImageIdentifier[] | undefined; - /** - *

                                                                              The repository that contains the image to delete.

                                                                              - */ - repositoryName: string | undefined; - /** *

                                                                              The AWS account ID associated with the registry that contains the image to delete. * If you do not specify a registry, the default registry is assumed.

                                                                              @@ -235,9 +235,9 @@ export enum ImageFailureCode { */ export interface ImageFailure { /** - *

                                                                              The image ID associated with the failure.

                                                                              + *

                                                                              The code associated with the failure.

                                                                              */ - imageId?: ImageIdentifier; + failureCode?: ImageFailureCode | string; /** *

                                                                              The reason for the failure.

                                                                              @@ -245,9 +245,9 @@ export interface ImageFailure { failureReason?: string; /** - *

                                                                              The code associated with the failure.

                                                                              + *

                                                                              The image ID associated with the failure.

                                                                              */ - failureCode?: ImageFailureCode | string; + imageId?: ImageIdentifier; } export namespace ImageFailure { @@ -276,16 +276,18 @@ export namespace BatchDeleteImageResponse { export interface BatchGetImageRequest { /** - *

                                                                              A list of image ID references that correspond to images to describe. The format of the - * imageIds reference is imageTag=tag or - * imageDigest=digest.

                                                                              + *

                                                                              The repository that contains the images to describe.

                                                                              */ - imageIds: ImageIdentifier[] | undefined; + repositoryName: string | undefined; /** - *

                                                                              The repository that contains the images to describe.

                                                                              + *

                                                                              The accepted media types for the request.

                                                                              + *

                                                                              Valid values: application/vnd.docker.distribution.manifest.v1+json | + * application/vnd.docker.distribution.manifest.v2+json | + * application/vnd.oci.image.manifest.v1+json + *

                                                                              */ - repositoryName: string | undefined; + acceptedMediaTypes?: string[]; /** *

                                                                              The AWS account ID associated with the registry that contains the images to describe. @@ -294,13 +296,11 @@ export interface BatchGetImageRequest { registryId?: string; /** - *

                                                                              The accepted media types for the request.

                                                                              - *

                                                                              Valid values: application/vnd.docker.distribution.manifest.v1+json | - * application/vnd.docker.distribution.manifest.v2+json | - * application/vnd.oci.image.manifest.v1+json - *

                                                                              + *

                                                                              A list of image ID references that correspond to images to describe. The format of the + * imageIds reference is imageTag=tag or + * imageDigest=digest.

                                                                              */ - acceptedMediaTypes?: string[]; + imageIds: ImageIdentifier[] | undefined; } export namespace BatchGetImageRequest { @@ -314,29 +314,29 @@ export namespace BatchGetImageRequest { */ export interface Image { /** - *

                                                                              The name of the repository associated with the image.

                                                                              + *

                                                                              The AWS account ID associated with the registry containing the image.

                                                                              */ - repositoryName?: string; + registryId?: string; /** - *

                                                                              The image manifest associated with the image.

                                                                              + *

                                                                              The name of the repository associated with the image.

                                                                              */ - imageManifest?: string; + repositoryName?: string; /** - *

                                                                              The AWS account ID associated with the registry containing the image.

                                                                              + *

                                                                              An object containing the image tag and image digest associated with an image.

                                                                              */ - registryId?: string; + imageId?: ImageIdentifier; /** - *

                                                                              The media type associated with the image manifest.

                                                                              + *

                                                                              The image manifest associated with the image.

                                                                              */ - imageManifestMediaType?: string; + imageManifest?: string; /** - *

                                                                              An object containing the image tag and image digest associated with an image.

                                                                              + *

                                                                              The manifest media type of the image.

                                                                              */ - imageId?: ImageIdentifier; + imageManifestMediaType?: string; } export namespace Image { @@ -365,26 +365,26 @@ export namespace BatchGetImageResponse { export interface CompleteLayerUploadRequest { /** - *

                                                                              The name of the repository to associate with the image layer.

                                                                              + *

                                                                              The sha256 digest of the image layer.

                                                                              */ - repositoryName: string | undefined; + layerDigests: string[] | undefined; /** - *

                                                                              The AWS account ID associated with the registry to which to upload layers. - * If you do not specify a registry, the default registry is assumed.

                                                                              + *

                                                                              The upload ID from a previous InitiateLayerUpload operation to + * associate with the image layer.

                                                                              */ - registryId?: string; + uploadId: string | undefined; /** - *

                                                                              The sha256 digest of the image layer.

                                                                              + *

                                                                              The name of the repository to associate with the image layer.

                                                                              */ - layerDigests: string[] | undefined; + repositoryName: string | undefined; /** - *

                                                                              The upload ID from a previous InitiateLayerUpload operation to - * associate with the image layer.

                                                                              + *

                                                                              The AWS account ID associated with the registry to which to upload layers. + * If you do not specify a registry, the default registry is assumed.

                                                                              */ - uploadId: string | undefined; + registryId?: string; } export namespace CompleteLayerUploadRequest { @@ -395,14 +395,14 @@ export namespace CompleteLayerUploadRequest { export interface CompleteLayerUploadResponse { /** - *

                                                                              The upload ID associated with the layer.

                                                                              + *

                                                                              The registry ID associated with the request.

                                                                              */ - uploadId?: string; + registryId?: string; /** - *

                                                                              The repository name associated with the request.

                                                                              + *

                                                                              The upload ID associated with the layer.

                                                                              */ - repositoryName?: string; + uploadId?: string; /** *

                                                                              The sha256 digest of the image layer.

                                                                              @@ -410,9 +410,9 @@ export interface CompleteLayerUploadResponse { layerDigest?: string; /** - *

                                                                              The registry ID associated with the request.

                                                                              + *

                                                                              The repository name associated with the request.

                                                                              */ - registryId?: string; + repositoryName?: string; } export namespace CompleteLayerUploadResponse { @@ -464,11 +464,12 @@ export namespace InvalidLayerException { export interface KmsException extends __SmithyException, $MetadataBearer { name: "KmsException"; $fault: "client"; - message?: string; /** *

                                                                              The error code returned by AWS KMS.

                                                                              */ kmsError?: string; + + message?: string; } export namespace KmsException { @@ -550,6 +551,14 @@ export enum EncryptionType { * rest in the Amazon Elastic Container Registry User Guide.

                                                                              */ export interface EncryptionConfiguration { + /** + *

                                                                              If you use the KMS encryption type, specify the CMK to use for + * encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must + * exist in the same Region as the repository. If no key is specified, the default AWS + * managed CMK for Amazon ECR will be used.

                                                                              + */ + kmsKey?: string; + /** *

                                                                              The encryption type to use.

                                                                              *

                                                                              If you use the KMS encryption type, the contents of the repository will @@ -566,14 +575,6 @@ export interface EncryptionConfiguration { * the Amazon Simple Storage Service Console Developer Guide..

                                                                              */ encryptionType: EncryptionType | string | undefined; - - /** - *

                                                                              If you use the KMS encryption type, specify the CMK to use for - * encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must - * exist in the same Region as the repository. If no key is specified, the default AWS - * managed CMK for Amazon ECR will be used.

                                                                              - */ - kmsKey?: string; } export namespace EncryptionConfiguration { @@ -613,17 +614,17 @@ export enum ImageTagMutability { * a maximum length of 256 characters.

                                                                              */ export interface Tag { - /** - *

                                                                              One part of a key-value pair that make up a tag. A key is a general label - * that acts like a category for more specific tag values.

                                                                              - */ - Key?: string; - /** *

                                                                              The optional part of a key-value pair that make up a tag. A value acts as * a descriptor within a tag category (key).

                                                                              */ Value?: string; + + /** + *

                                                                              One part of a key-value pair that make up a tag. A key is a general label + * that acts like a category for more specific tag values.

                                                                              + */ + Key?: string; } export namespace Tag { @@ -634,10 +635,19 @@ export namespace Tag { export interface CreateRepositoryRequest { /** - *

                                                                              The image scanning configuration for the repository. This determines whether images - * are scanned for known vulnerabilities after being pushed to the repository.

                                                                              + *

                                                                              The tag mutability setting for the repository. If this parameter is omitted, the + * default setting of MUTABLE will be used which will allow image tags to be + * overwritten. If IMMUTABLE is specified, all image tags within the + * repository will be immutable which will prevent them from being overwritten.

                                                                              */ - imageScanningConfiguration?: ImageScanningConfiguration; + imageTagMutability?: ImageTagMutability | string; + + /** + *

                                                                              The name to use for the repository. The repository name may be specified on its own + * (such as nginx-web-app) or it can be prepended with a namespace to group + * the repository into a category (such as project-a/nginx-web-app).

                                                                              + */ + repositoryName: string | undefined; /** *

                                                                              The metadata that you apply to the repository to help you categorize and organize @@ -648,25 +658,16 @@ export interface CreateRepositoryRequest { tags?: Tag[]; /** - *

                                                                              The encryption configuration for the repository. This determines how the contents of - * your repository are encrypted at rest.

                                                                              - */ - encryptionConfiguration?: EncryptionConfiguration; - - /** - *

                                                                              The name to use for the repository. The repository name may be specified on its own - * (such as nginx-web-app) or it can be prepended with a namespace to group - * the repository into a category (such as project-a/nginx-web-app).

                                                                              + *

                                                                              The image scanning configuration for the repository. This determines whether images + * are scanned for known vulnerabilities after being pushed to the repository.

                                                                              */ - repositoryName: string | undefined; + imageScanningConfiguration?: ImageScanningConfiguration; /** - *

                                                                              The tag mutability setting for the repository. If this parameter is omitted, the - * default setting of MUTABLE will be used which will allow image tags to be - * overwritten. If IMMUTABLE is specified, all image tags within the - * repository will be immutable which will prevent them from being overwritten.

                                                                              + *

                                                                              The encryption configuration for the repository. This determines how the contents of + * your repository are encrypted at rest.

                                                                              */ - imageTagMutability?: ImageTagMutability | string; + encryptionConfiguration?: EncryptionConfiguration; } export namespace CreateRepositoryRequest { @@ -680,20 +681,16 @@ export namespace CreateRepositoryRequest { */ export interface Repository { /** - *

                                                                              The date and time, in JavaScript date format, when the repository was created.

                                                                              - */ - createdAt?: Date; - - /** - *

                                                                              The image scanning configuration for a repository.

                                                                              + *

                                                                              The AWS account ID associated with the registry that contains the repository.

                                                                              */ - imageScanningConfiguration?: ImageScanningConfiguration; + registryId?: string; /** - *

                                                                              The URI for the repository. You can use this URI for container image push - * and pull operations.

                                                                              + *

                                                                              The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the + * repository, AWS account ID of the repository owner, repository namespace, and repository name. + * For example, arn:aws:ecr:region:012345678910:repository/test.

                                                                              */ - repositoryUri?: string; + repositoryArn?: string; /** *

                                                                              The encryption configuration for the repository. This determines how the contents of @@ -702,16 +699,20 @@ export interface Repository { encryptionConfiguration?: EncryptionConfiguration; /** - *

                                                                              The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the - * repository, AWS account ID of the repository owner, repository namespace, and repository name. - * For example, arn:aws:ecr:region:012345678910:repository/test.

                                                                              + *

                                                                              The URI for the repository. You can use this URI for container image push + * and pull operations.

                                                                              */ - repositoryArn?: string; + repositoryUri?: string; /** - *

                                                                              The AWS account ID associated with the registry that contains the repository.

                                                                              + *

                                                                              The date and time, in JavaScript date format, when the repository was created.

                                                                              */ - registryId?: string; + createdAt?: Date; + + /** + *

                                                                              The tag mutability setting for the repository.

                                                                              + */ + imageTagMutability?: ImageTagMutability | string; /** *

                                                                              The name of the repository.

                                                                              @@ -719,9 +720,9 @@ export interface Repository { repositoryName?: string; /** - *

                                                                              The tag mutability setting for the repository.

                                                                              + *

                                                                              The image scanning configuration for a repository.

                                                                              */ - imageTagMutability?: ImageTagMutability | string; + imageScanningConfiguration?: ImageScanningConfiguration; } export namespace Repository { @@ -834,24 +835,24 @@ export namespace DeleteLifecyclePolicyRequest { export interface DeleteLifecyclePolicyResponse { /** - *

                                                                              The JSON lifecycle policy text.

                                                                              + *

                                                                              The registry ID associated with the request.

                                                                              */ - lifecyclePolicyText?: string; + registryId?: string; /** - *

                                                                              The repository name associated with the request.

                                                                              + *

                                                                              The time stamp of the last time that the lifecycle policy was run.

                                                                              */ - repositoryName?: string; + lastEvaluatedAt?: Date; /** - *

                                                                              The time stamp of the last time that the lifecycle policy was run.

                                                                              + *

                                                                              The JSON lifecycle policy text.

                                                                              */ - lastEvaluatedAt?: Date; + lifecyclePolicyText?: string; /** - *

                                                                              The registry ID associated with the request.

                                                                              + *

                                                                              The repository name associated with the request.

                                                                              */ - registryId?: string; + repositoryName?: string; } export namespace DeleteLifecyclePolicyResponse { @@ -877,12 +878,6 @@ export namespace LifecyclePolicyNotFoundException { } export interface DeleteRepositoryRequest { - /** - *

                                                                              The AWS account ID associated with the registry that contains the repository to - * delete. If you do not specify a registry, the default registry is assumed.

                                                                              - */ - registryId?: string; - /** *

                                                                              The name of the repository to delete.

                                                                              */ @@ -892,10 +887,16 @@ export interface DeleteRepositoryRequest { *

                                                                              If a repository contains images, forces the deletion.

                                                                              */ force?: boolean; -} -export namespace DeleteRepositoryRequest { - export const filterSensitiveLog = (obj: DeleteRepositoryRequest): any => ({ + /** + *

                                                                              The AWS account ID associated with the registry that contains the repository to + * delete. If you do not specify a registry, the default registry is assumed.

                                                                              + */ + registryId?: string; +} + +export namespace DeleteRepositoryRequest { + export const filterSensitiveLog = (obj: DeleteRepositoryRequest): any => ({ ...obj, }); } @@ -954,9 +955,9 @@ export namespace DeleteRepositoryPolicyRequest { export interface DeleteRepositoryPolicyResponse { /** - *

                                                                              The JSON repository policy that was deleted from the repository.

                                                                              + *

                                                                              The repository name associated with the request.

                                                                              */ - policyText?: string; + repositoryName?: string; /** *

                                                                              The registry ID associated with the request.

                                                                              @@ -964,9 +965,9 @@ export interface DeleteRepositoryPolicyResponse { registryId?: string; /** - *

                                                                              The repository name associated with the request.

                                                                              + *

                                                                              The JSON repository policy that was deleted from the repository.

                                                                              */ - repositoryName?: string; + policyText?: string; } export namespace DeleteRepositoryPolicyResponse { @@ -1021,20 +1022,10 @@ export namespace DescribeImagesFilter { export interface DescribeImagesRequest { /** - *

                                                                              The AWS account ID associated with the registry that contains the repository in which - * to describe images. If you do not specify a registry, the default registry is assumed.

                                                                              - */ - registryId?: string; - - /** - *

                                                                              The nextToken value returned from a previous paginated - * DescribeImages 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. This value is - * null when there are no more results to return. This option cannot be - * used when you specify images with imageIds.

                                                                              + *

                                                                              The filter key and value with which to filter your DescribeImages + * results.

                                                                              */ - nextToken?: string; + filter?: DescribeImagesFilter; /** *

                                                                              The maximum number of repository results returned by DescribeImages in @@ -1050,15 +1041,25 @@ export interface DescribeImagesRequest { maxResults?: number; /** - *

                                                                              The filter key and value with which to filter your DescribeImages - * results.

                                                                              + *

                                                                              The repository that contains the images to describe.

                                                                              */ - filter?: DescribeImagesFilter; + repositoryName: string | undefined; /** - *

                                                                              The repository that contains the images to describe.

                                                                              + *

                                                                              The AWS account ID associated with the registry that contains the repository in which + * to describe images. If you do not specify a registry, the default registry is assumed.

                                                                              */ - repositoryName: string | undefined; + registryId?: string; + + /** + *

                                                                              The nextToken value returned from a previous paginated + * DescribeImages 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. This value is + * null when there are no more results to return. This option cannot be + * used when you specify images with imageIds.

                                                                              + */ + nextToken?: string; /** *

                                                                              The list of image IDs for the requested repository.

                                                                              @@ -1118,14 +1119,14 @@ export enum ScanStatus { */ export interface ImageScanStatus { /** - *

                                                                              The current state of an image scan.

                                                                              + *

                                                                              The description of the image scan status.

                                                                              */ - status?: ScanStatus | string; + description?: string; /** - *

                                                                              The description of the image scan status.

                                                                              + *

                                                                              The current state of an image scan.

                                                                              */ - description?: string; + status?: ScanStatus | string; } export namespace ImageScanStatus { @@ -1139,26 +1140,6 @@ export namespace ImageScanStatus { * operation.

                                                                              */ export interface ImageDetail { - /** - *

                                                                              The list of tags associated with this image.

                                                                              - */ - imageTags?: string[]; - - /** - *

                                                                              The name of the repository to which this image belongs.

                                                                              - */ - repositoryName?: string; - - /** - *

                                                                              The current state of the scan.

                                                                              - */ - imageScanStatus?: ImageScanStatus; - - /** - *

                                                                              The sha256 digest of the image manifest.

                                                                              - */ - imageDigest?: string; - /** *

                                                                              The size, in bytes, of the image in the repository.

                                                                              *

                                                                              If the image is a manifest list, this will be the max size of all manifests in the @@ -1172,6 +1153,11 @@ export interface ImageDetail { */ imageSizeInBytes?: number; + /** + *

                                                                              The artifact media type of the image.

                                                                              + */ + artifactMediaType?: string; + /** *

                                                                              The date and time, expressed in standard JavaScript date format, at which the current * image was pushed to the repository.

                                                                              @@ -1183,10 +1169,35 @@ export interface ImageDetail { */ registryId?: string; + /** + *

                                                                              The media type of the image manifest.

                                                                              + */ + imageManifestMediaType?: string; + + /** + *

                                                                              The name of the repository to which this image belongs.

                                                                              + */ + repositoryName?: string; + + /** + *

                                                                              The current state of the scan.

                                                                              + */ + imageScanStatus?: ImageScanStatus; + + /** + *

                                                                              The list of tags associated with this image.

                                                                              + */ + imageTags?: string[]; + /** *

                                                                              A summary of the last completed image scan.

                                                                              */ imageScanFindingsSummary?: ImageScanFindingsSummary; + + /** + *

                                                                              The sha256 digest of the image manifest.

                                                                              + */ + imageDigest?: string; } export namespace ImageDetail { @@ -1234,6 +1245,23 @@ export namespace ImageNotFoundException { } export interface DescribeImageScanFindingsRequest { + /** + *

                                                                              The AWS account ID associated with the registry that contains the repository in + * which to describe the image scan findings for. If you do not specify a registry, the + * default registry is assumed.

                                                                              + */ + registryId?: string; + + /** + *

                                                                              An object with identifying information for an Amazon ECR image.

                                                                              + */ + imageId: ImageIdentifier | undefined; + + /** + *

                                                                              The repository for the image for which to describe the scan findings.

                                                                              + */ + repositoryName: string | undefined; + /** *

                                                                              The maximum number of image scan results returned by * DescribeImageScanFindings in paginated output. When this parameter is @@ -1247,23 +1275,6 @@ export interface DescribeImageScanFindingsRequest { */ maxResults?: number; - /** - *

                                                                              The repository for the image for which to describe the scan findings.

                                                                              - */ - repositoryName: string | undefined; - - /** - *

                                                                              An object with identifying information for an Amazon ECR image.

                                                                              - */ - imageId: ImageIdentifier | undefined; - - /** - *

                                                                              The AWS account ID associated with the registry that contains the repository in - * which to describe the image scan findings for. If you do not specify a registry, the - * default registry is assumed.

                                                                              - */ - registryId?: string; - /** *

                                                                              The nextToken value returned from a previous paginated * DescribeImageScanFindings request where maxResults was @@ -1285,14 +1296,14 @@ export namespace DescribeImageScanFindingsRequest { */ export interface Attribute { /** - *

                                                                              The value assigned to the attribute key.

                                                                              + *

                                                                              The attribute key.

                                                                              */ - value?: string; + key: string | undefined; /** - *

                                                                              The attribute key.

                                                                              + *

                                                                              The value assigned to the attribute key.

                                                                              */ - key: string | undefined; + value?: string; } export namespace Attribute { @@ -1306,14 +1317,14 @@ export namespace Attribute { */ export interface ImageScanFinding { /** - *

                                                                              A collection of attributes of the host from which the finding is generated.

                                                                              + *

                                                                              The finding severity.

                                                                              */ - attributes?: Attribute[]; + severity?: FindingSeverity | string; /** - *

                                                                              A link containing additional details about the security vulnerability.

                                                                              + *

                                                                              The description of the finding.

                                                                              */ - uri?: string; + description?: string; /** *

                                                                              The name associated with the finding, usually a CVE number.

                                                                              @@ -1321,14 +1332,14 @@ export interface ImageScanFinding { name?: string; /** - *

                                                                              The finding severity.

                                                                              + *

                                                                              A link containing additional details about the security vulnerability.

                                                                              */ - severity?: FindingSeverity | string; + uri?: string; /** - *

                                                                              The description of the finding.

                                                                              + *

                                                                              A collection of attributes of the host from which the finding is generated.

                                                                              */ - description?: string; + attributes?: Attribute[]; } export namespace ImageScanFinding { @@ -1342,14 +1353,14 @@ export namespace ImageScanFinding { */ export interface ImageScanFindings { /** - *

                                                                              The image vulnerability counts, sorted by severity.

                                                                              + *

                                                                              The time of the last completed image scan.

                                                                              */ - findingSeverityCounts?: { [key: string]: number }; + imageScanCompletedAt?: Date; /** - *

                                                                              The time of the last completed image scan.

                                                                              + *

                                                                              The findings from the image scan.

                                                                              */ - imageScanCompletedAt?: Date; + findings?: ImageScanFinding[]; /** *

                                                                              The time when the vulnerability data was last scanned.

                                                                              @@ -1357,9 +1368,9 @@ export interface ImageScanFindings { vulnerabilitySourceUpdatedAt?: Date; /** - *

                                                                              The findings from the image scan.

                                                                              + *

                                                                              The image vulnerability counts, sorted by severity.

                                                                              */ - findings?: ImageScanFinding[]; + findingSeverityCounts?: { [key: string]: number }; } export namespace ImageScanFindings { @@ -1369,11 +1380,25 @@ export namespace ImageScanFindings { } export interface DescribeImageScanFindingsResponse { + /** + *

                                                                              The information contained in the image scan findings.

                                                                              + */ + imageScanFindings?: ImageScanFindings; + /** *

                                                                              The registry ID associated with the request.

                                                                              */ registryId?: string; + /** + *

                                                                              The nextToken value to include in a future + * DescribeImageScanFindings request. When the results of a + * DescribeImageScanFindings request exceed maxResults, this + * value can be used to retrieve the next page of results. This value is null when there + * are no more results to return.

                                                                              + */ + nextToken?: string; + /** *

                                                                              The current state of the scan.

                                                                              */ @@ -1388,20 +1413,6 @@ export interface DescribeImageScanFindingsResponse { *

                                                                              An object with identifying information for an Amazon ECR image.

                                                                              */ imageId?: ImageIdentifier; - - /** - *

                                                                              The information contained in the image scan findings.

                                                                              - */ - imageScanFindings?: ImageScanFindings; - - /** - *

                                                                              The nextToken value to include in a future - * DescribeImageScanFindings request. When the results of a - * DescribeImageScanFindings request exceed maxResults, this - * value can be used to retrieve the next page of results. This value is null when there - * are no more results to return.

                                                                              - */ - nextToken?: string; } export namespace DescribeImageScanFindingsResponse { @@ -1427,6 +1438,20 @@ export namespace ScanNotFoundException { } export interface DescribeRepositoriesRequest { + /** + *

                                                                              The maximum number of repository results returned by DescribeRepositories + * in paginated output. When this parameter is used, DescribeRepositories only + * returns maxResults results in a single page along with a + * nextToken response element. The remaining results of the initial + * request can be seen by sending another DescribeRepositories request with + * the returned nextToken value. This value can be between 1 + * and 1000. If this parameter is not used, then + * DescribeRepositories returns up to 100 results and a + * nextToken value, if applicable. This option cannot be used when you + * specify repositories with repositoryNames.

                                                                              + */ + maxResults?: number; + /** *

                                                                              The AWS account ID associated with the registry that contains the repositories to be * described. If you do not specify a registry, the default registry is assumed.

                                                                              @@ -1452,20 +1477,6 @@ export interface DescribeRepositoriesRequest { * repositories in a registry are described.

                                                                              */ repositoryNames?: string[]; - - /** - *

                                                                              The maximum number of repository results returned by DescribeRepositories - * in paginated output. When this parameter is used, DescribeRepositories only - * returns maxResults results in a single page along with a - * nextToken response element. The remaining results of the initial - * request can be seen by sending another DescribeRepositories request with - * the returned nextToken value. This value can be between 1 - * and 1000. If this parameter is not used, then - * DescribeRepositories returns up to 100 results and a - * nextToken value, if applicable. This option cannot be used when you - * specify repositories with repositoryNames.

                                                                              - */ - maxResults?: number; } export namespace DescribeRepositoriesRequest { @@ -1475,11 +1486,6 @@ export namespace DescribeRepositoriesRequest { } export interface DescribeRepositoriesResponse { - /** - *

                                                                              A list of repository objects corresponding to valid repositories.

                                                                              - */ - repositories?: Repository[]; - /** *

                                                                              The nextToken value to include in a future * DescribeRepositories request. When the results of a @@ -1488,6 +1494,11 @@ export interface DescribeRepositoriesResponse { * there are no more results to return.

                                                                              */ nextToken?: string; + + /** + *

                                                                              A list of repository objects corresponding to valid repositories.

                                                                              + */ + repositories?: Repository[]; } export namespace DescribeRepositoriesResponse { @@ -1515,12 +1526,12 @@ export namespace GetAuthorizationTokenRequest { */ export interface AuthorizationData { /** - *

                                                                              The registry URL to use for this authorization token in a docker login - * command. The Amazon ECR registry URL format is - * https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, - * https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

                                                                              + *

                                                                              A base64-encoded string that contains authorization data for the specified Amazon ECR + * registry. When the string is decoded, it is presented in the format + * user:password for private registry authentication using docker + * login.

                                                                              */ - proxyEndpoint?: string; + authorizationToken?: string; /** *

                                                                              The Unix time in seconds and milliseconds when the authorization token expires. @@ -1529,12 +1540,12 @@ export interface AuthorizationData { expiresAt?: Date; /** - *

                                                                              A base64-encoded string that contains authorization data for the specified Amazon ECR - * registry. When the string is decoded, it is presented in the format - * user:password for private registry authentication using docker - * login.

                                                                              + *

                                                                              The registry URL to use for this authorization token in a docker login + * command. The Amazon ECR registry URL format is + * https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, + * https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

                                                                              */ - authorizationToken?: string; + proxyEndpoint?: string; } export namespace AuthorizationData { @@ -1583,14 +1594,14 @@ export namespace GetDownloadUrlForLayerRequest { export interface GetDownloadUrlForLayerResponse { /** - *

                                                                              The digest of the image layer to download.

                                                                              + *

                                                                              The pre-signed Amazon S3 download URL for the requested layer.

                                                                              */ - layerDigest?: string; + downloadUrl?: string; /** - *

                                                                              The pre-signed Amazon S3 download URL for the requested layer.

                                                                              + *

                                                                              The digest of the image layer to download.

                                                                              */ - downloadUrl?: string; + layerDigest?: string; } export namespace GetDownloadUrlForLayerResponse { @@ -1657,25 +1668,25 @@ export namespace GetLifecyclePolicyRequest { } export interface GetLifecyclePolicyResponse { - /** - *

                                                                              The repository name associated with the request.

                                                                              - */ - repositoryName?: string; - /** *

                                                                              The JSON lifecycle policy text.

                                                                              */ lifecyclePolicyText?: string; /** - *

                                                                              The time stamp of the last time that the lifecycle policy was run.

                                                                              + *

                                                                              The repository name associated with the request.

                                                                              */ - lastEvaluatedAt?: Date; + repositoryName?: string; /** *

                                                                              The registry ID associated with the request.

                                                                              */ registryId?: string; + + /** + *

                                                                              The time stamp of the last time that the lifecycle policy was run.

                                                                              + */ + lastEvaluatedAt?: Date; } export namespace GetLifecyclePolicyResponse { @@ -1702,9 +1713,20 @@ export namespace LifecyclePolicyPreviewFilter { export interface GetLifecyclePolicyPreviewRequest { /** - *

                                                                              The name of the repository.

                                                                              + *

                                                                              The nextToken value returned from a previous paginated + * GetLifecyclePolicyPreviewRequest 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. + * This value is
 null when there are no more results to return. This option + * cannot be used when you specify images with imageIds.

                                                                              */ - repositoryName: string | undefined; + nextToken?: string; + + /** + *

                                                                              The AWS account ID associated with the registry that contains the repository. + * If you do not specify a registry, the default registry is assumed.

                                                                              + */ + registryId?: string; /** *

                                                                              The maximum number of repository results returned by @@ -1721,6 +1743,11 @@ export interface GetLifecyclePolicyPreviewRequest { */ maxResults?: number; + /** + *

                                                                              The name of the repository.

                                                                              + */ + repositoryName: string | undefined; + /** *

                                                                              An optional parameter that filters results based on image tag status and all tags, if * tagged.

                                                                              @@ -1731,22 +1758,6 @@ export interface GetLifecyclePolicyPreviewRequest { *

                                                                              The list of imageIDs to be included.

                                                                              */ imageIds?: ImageIdentifier[]; - - /** - *

                                                                              The nextToken value returned from a previous paginated - * GetLifecyclePolicyPreviewRequest 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. - * This value is
 null when there are no more results to return. This option - * cannot be used when you specify images with imageIds.

                                                                              - */ - nextToken?: string; - - /** - *

                                                                              The AWS account ID associated with the registry that contains the repository. - * If you do not specify a registry, the default registry is assumed.

                                                                              - */ - registryId?: string; } export namespace GetLifecyclePolicyPreviewRequest { @@ -1780,9 +1791,9 @@ export namespace LifecyclePolicyRuleAction { */ export interface LifecyclePolicyPreviewResult { /** - *

                                                                              The type of action to be taken.

                                                                              + *

                                                                              The list of tags associated with this image.

                                                                              */ - action?: LifecyclePolicyRuleAction; + imageTags?: string[]; /** *

                                                                              The priority of the applied rule.

                                                                              @@ -1790,20 +1801,20 @@ export interface LifecyclePolicyPreviewResult { appliedRulePriority?: number; /** - *

                                                                              The sha256 digest of the image manifest.

                                                                              - */ - imageDigest?: string; - - /** - *

                                                                              The list of tags associated with this image.

                                                                              + *

                                                                              The type of action to be taken.

                                                                              */ - imageTags?: string[]; + action?: LifecyclePolicyRuleAction; /** *

                                                                              The date and time, expressed in standard JavaScript date format, at which the current * image was pushed to the repository.

                                                                              */ imagePushedAt?: Date; + + /** + *

                                                                              The sha256 digest of the image manifest.

                                                                              + */ + imageDigest?: string; } export namespace LifecyclePolicyPreviewResult { @@ -1837,14 +1848,9 @@ export namespace LifecyclePolicyPreviewSummary { export interface GetLifecyclePolicyPreviewResponse { /** - *

                                                                              The results of the lifecycle policy preview request.

                                                                              - */ - previewResults?: LifecyclePolicyPreviewResult[]; - - /** - *

                                                                              The repository name associated with the request.

                                                                              + *

                                                                              The status of the lifecycle policy preview request.

                                                                              */ - repositoryName?: string; + status?: LifecyclePolicyPreviewStatus | string; /** *

                                                                              The JSON lifecycle policy text.

                                                                              @@ -1866,9 +1872,14 @@ export interface GetLifecyclePolicyPreviewResponse { registryId?: string; /** - *

                                                                              The status of the lifecycle policy preview request.

                                                                              + *

                                                                              The repository name associated with the request.

                                                                              */ - status?: LifecyclePolicyPreviewStatus | string; + repositoryName?: string; + + /** + *

                                                                              The results of the lifecycle policy preview request.

                                                                              + */ + previewResults?: LifecyclePolicyPreviewResult[]; /** *

                                                                              The list of images that is returned as a result of the action.

                                                                              @@ -1959,16 +1970,16 @@ export namespace InitiateLayerUploadRequest { } export interface InitiateLayerUploadResponse { - /** - *

                                                                              The size, in bytes, that Amazon ECR expects future layer part uploads to be.

                                                                              - */ - partSize?: number; - /** *

                                                                              The upload ID for the layer upload. This parameter is passed to further UploadLayerPart and CompleteLayerUpload * operations.

                                                                              */ uploadId?: string; + + /** + *

                                                                              The size, in bytes, that Amazon ECR expects future layer part uploads to be.

                                                                              + */ + partSize?: number; } export namespace InitiateLayerUploadResponse { @@ -1995,7 +2006,19 @@ export namespace ListImagesFilter { }); } -export interface ListImagesRequest { +export interface ListImagesRequest { + /** + *

                                                                              The maximum number of image results returned by ListImages in paginated + * output. When this parameter is used, ListImages only returns + * maxResults results in a single page along with a nextToken + * response element. The remaining results of the initial request can be seen by sending + * another ListImages request with the returned nextToken value. + * This value can be between 1 and 1000. If this parameter is + * not used, then ListImages returns up to 100 results and a + * nextToken value, if applicable.

                                                                              + */ + maxResults?: number; + /** *

                                                                              The nextToken value returned from a previous paginated * ListImages request where maxResults was used and the @@ -2010,22 +2033,10 @@ export interface ListImagesRequest { nextToken?: string; /** - *

                                                                              The maximum number of image results returned by ListImages in paginated - * output. When this parameter is used, ListImages only returns - * maxResults results in a single page along with a nextToken - * response element. The remaining results of the initial request can be seen by sending - * another ListImages request with the returned nextToken value. - * This value can be between 1 and 1000. If this parameter is - * not used, then ListImages returns up to 100 results and a - * nextToken value, if applicable.

                                                                              - */ - maxResults?: number; - - /** - *

                                                                              The filter key and value with which to filter your ListImages - * results.

                                                                              + *

                                                                              The AWS account ID associated with the registry that contains the repository in which + * to list images. If you do not specify a registry, the default registry is assumed.

                                                                              */ - filter?: ListImagesFilter; + registryId?: string; /** *

                                                                              The repository with image IDs to be listed.

                                                                              @@ -2033,10 +2044,10 @@ export interface ListImagesRequest { repositoryName: string | undefined; /** - *

                                                                              The AWS account ID associated with the registry that contains the repository in which - * to list images. If you do not specify a registry, the default registry is assumed.

                                                                              + *

                                                                              The filter key and value with which to filter your ListImages + * results.

                                                                              */ - registryId?: string; + filter?: ListImagesFilter; } export namespace ListImagesRequest { @@ -2147,17 +2158,9 @@ export namespace ImageTagAlreadyExistsException { export interface PutImageRequest { /** - *

                                                                              The media type of the image manifest. If you push an image manifest that does not - * contain the mediaType field, you must specify the - * imageManifestMediaType in the request.

                                                                              - */ - imageManifestMediaType?: string; - - /** - *

                                                                              The AWS account ID associated with the registry that contains the repository in which - * to put the image. If you do not specify a registry, the default registry is assumed.

                                                                              + *

                                                                              The image digest of the image manifest corresponding to the image.

                                                                              */ - registryId?: string; + imageDigest?: string; /** *

                                                                              The image manifest corresponding to the image to be uploaded.

                                                                              @@ -2170,15 +2173,23 @@ export interface PutImageRequest { repositoryName: string | undefined; /** - *

                                                                              The tag to associate with the image. This parameter is required for images that use - * the Docker Image Manifest V2 Schema 2 or Open Container Initiative (OCI) formats.

                                                                              + *

                                                                              The media type of the image manifest. If you push an image manifest that does not + * contain the mediaType field, you must specify the + * imageManifestMediaType in the request.

                                                                              */ - imageTag?: string; + imageManifestMediaType?: string; /** - *

                                                                              The image digest of the image manifest corresponding to the image.

                                                                              + *

                                                                              The AWS account ID associated with the registry that contains the repository in which + * to put the image. If you do not specify a registry, the default registry is assumed.

                                                                              */ - imageDigest?: string; + registryId?: string; + + /** + *

                                                                              The tag to associate with the image. This parameter is required for images that use + * the Docker Image Manifest V2 Schema 2 or Open Container Initiative (OCI) formats.

                                                                              + */ + imageTag?: string; } export namespace PutImageRequest { @@ -2216,12 +2227,6 @@ export namespace ReferencedImagesNotFoundException { } export interface PutImageScanningConfigurationRequest { - /** - *

                                                                              The name of the repository in which to update the image scanning configuration - * setting.

                                                                              - */ - repositoryName: string | undefined; - /** *

                                                                              The image scanning configuration for the repository. This setting determines whether * images are scanned for known vulnerabilities after being pushed to the @@ -2229,6 +2234,12 @@ export interface PutImageScanningConfigurationRequest { */ imageScanningConfiguration: ImageScanningConfiguration | undefined; + /** + *

                                                                              The name of the repository in which to update the image scanning configuration + * setting.

                                                                              + */ + repositoryName: string | undefined; + /** *

                                                                              The AWS account ID associated with the registry that contains the repository in * which to update the image scanning configuration setting. @@ -2295,6 +2306,11 @@ export namespace PutImageTagMutabilityRequest { } export interface PutImageTagMutabilityResponse { + /** + *

                                                                              The registry ID associated with the request.

                                                                              + */ + registryId?: string; + /** *

                                                                              The image tag mutability setting for the repository.

                                                                              */ @@ -2304,11 +2320,6 @@ export interface PutImageTagMutabilityResponse { *

                                                                              The repository name associated with the request.

                                                                              */ repositoryName?: string; - - /** - *

                                                                              The registry ID associated with the request.

                                                                              - */ - registryId?: string; } export namespace PutImageTagMutabilityResponse { @@ -2324,15 +2335,15 @@ export interface PutLifecyclePolicyRequest { repositoryName: string | undefined; /** - *

                                                                              The AWS account ID associated with the registry that contains the repository. If you - * do
 not specify a registry, the default registry is assumed.

                                                                              + *

                                                                              The JSON repository policy text to apply to the repository.

                                                                              */ - registryId?: string; + lifecyclePolicyText: string | undefined; /** - *

                                                                              The JSON repository policy text to apply to the repository.

                                                                              + *

                                                                              The AWS account ID associated with the registry that contains the repository. If you + * do
 not specify a registry, the default registry is assumed.

                                                                              */ - lifecyclePolicyText: string | undefined; + registryId?: string; } export namespace PutLifecyclePolicyRequest { @@ -2342,6 +2353,11 @@ export namespace PutLifecyclePolicyRequest { } export interface PutLifecyclePolicyResponse { + /** + *

                                                                              The registry ID associated with the request.

                                                                              + */ + registryId?: string; + /** *

                                                                              The repository name associated with the request.

                                                                              */ @@ -2351,11 +2367,6 @@ export interface PutLifecyclePolicyResponse { *

                                                                              The JSON repository policy text.

                                                                              */ lifecyclePolicyText?: string; - - /** - *

                                                                              The registry ID associated with the request.

                                                                              - */ - registryId?: string; } export namespace PutLifecyclePolicyResponse { @@ -2365,13 +2376,6 @@ export namespace PutLifecyclePolicyResponse { } export interface SetRepositoryPolicyRequest { - /** - *

                                                                              The JSON repository policy text to apply to the repository. For more information, see - * Amazon ECR Repository - * Policies in the Amazon Elastic Container Registry User Guide.

                                                                              - */ - policyText: string | undefined; - /** *

                                                                              If the policy you are attempting to set on a repository policy would prevent you from * setting another policy in the future, you must force the SetRepositoryPolicy operation. This is intended to prevent accidental @@ -2379,16 +2383,23 @@ export interface SetRepositoryPolicyRequest { */ force?: boolean; - /** - *

                                                                              The name of the repository to receive the policy.

                                                                              - */ - repositoryName: string | undefined; - /** *

                                                                              The AWS account ID associated with the registry that contains the repository. * If you do not specify a registry, the default registry is assumed.

                                                                              */ registryId?: string; + + /** + *

                                                                              The JSON repository policy text to apply to the repository. For more information, see + * Amazon ECR Repository + * Policies in the Amazon Elastic Container Registry User Guide.

                                                                              + */ + policyText: string | undefined; + + /** + *

                                                                              The name of the repository to receive the policy.

                                                                              + */ + repositoryName: string | undefined; } export namespace SetRepositoryPolicyRequest { @@ -2399,9 +2410,9 @@ export namespace SetRepositoryPolicyRequest { export interface SetRepositoryPolicyResponse { /** - *

                                                                              The repository name associated with the request.

                                                                              + *

                                                                              The registry ID associated with the request.

                                                                              */ - repositoryName?: string; + registryId?: string; /** *

                                                                              The JSON repository policy text applied to the repository.

                                                                              @@ -2409,9 +2420,9 @@ export interface SetRepositoryPolicyResponse { policyText?: string; /** - *

                                                                              The registry ID associated with the request.

                                                                              + *

                                                                              The repository name associated with the request.

                                                                              */ - registryId?: string; + repositoryName?: string; } export namespace SetRepositoryPolicyResponse { @@ -2421,17 +2432,17 @@ export namespace SetRepositoryPolicyResponse { } export interface StartImageScanRequest { - /** - *

                                                                              An object with identifying information for an Amazon ECR image.

                                                                              - */ - imageId: ImageIdentifier | undefined; - /** *

                                                                              The AWS account ID associated with the registry that contains the repository in * which to start an image scan request. If you do not specify a registry, the default registry is assumed.

                                                                              */ registryId?: string; + /** + *

                                                                              An object with identifying information for an Amazon ECR image.

                                                                              + */ + imageId: ImageIdentifier | undefined; + /** *

                                                                              The name of the repository that contains the images to scan.

                                                                              */ @@ -2445,11 +2456,6 @@ export namespace StartImageScanRequest { } export interface StartImageScanResponse { - /** - *

                                                                              An object with identifying information for an Amazon ECR image.

                                                                              - */ - imageId?: ImageIdentifier; - /** *

                                                                              The current state of the scan.

                                                                              */ @@ -2464,6 +2470,11 @@ export interface StartImageScanResponse { *

                                                                              The repository name associated with the request.

                                                                              */ repositoryName?: string; + + /** + *

                                                                              An object with identifying information for an Amazon ECR image.

                                                                              + */ + imageId?: ImageIdentifier; } export namespace StartImageScanResponse { @@ -2505,15 +2516,15 @@ export namespace LifecyclePolicyPreviewInProgressException { export interface StartLifecyclePolicyPreviewRequest { /** - *

                                                                              The AWS account ID associated with the registry that contains the repository. - * If you do not specify a registry, the default registry is assumed.

                                                                              + *

                                                                              The name of the repository to be evaluated.

                                                                              */ - registryId?: string; + repositoryName: string | undefined; /** - *

                                                                              The name of the repository to be evaluated.

                                                                              + *

                                                                              The AWS account ID associated with the registry that contains the repository. + * If you do not specify a registry, the default registry is assumed.

                                                                              */ - repositoryName: string | undefined; + registryId?: string; /** *

                                                                              The policy to be evaluated against. If you do not specify a policy, the current policy @@ -2530,14 +2541,14 @@ export namespace StartLifecyclePolicyPreviewRequest { export interface StartLifecyclePolicyPreviewResponse { /** - *

                                                                              The repository name associated with the request.

                                                                              + *

                                                                              The registry ID associated with the request.

                                                                              */ - repositoryName?: string; + registryId?: string; /** - *

                                                                              The registry ID associated with the request.

                                                                              + *

                                                                              The repository name associated with the request.

                                                                              */ - registryId?: string; + repositoryName?: string; /** *

                                                                              The status of the lifecycle policy preview request.

                                                                              @@ -2557,18 +2568,18 @@ export namespace StartLifecyclePolicyPreviewResponse { } export interface TagResourceRequest { + /** + *

                                                                              The Amazon Resource Name (ARN) of the the resource to which to add tags. Currently, the only supported + * resource is an Amazon ECR repository.

                                                                              + */ + resourceArn: string | undefined; + /** *

                                                                              The tags to add to the resource. A tag is an array of key-value pairs. * Tag keys can have a maximum character length of 128 characters, and tag values can have * a maximum length of 256 characters.

                                                                              */ tags: Tag[] | undefined; - - /** - *

                                                                              The Amazon Resource Name (ARN) of the the resource to which to add tags. Currently, the only supported - * resource is an Amazon ECR repository.

                                                                              - */ - resourceArn: string | undefined; } export namespace TagResourceRequest { @@ -2586,16 +2597,16 @@ export namespace TagResourceResponse { } export interface UntagResourceRequest { - /** - *

                                                                              The keys of the tags to be removed.

                                                                              - */ - tagKeys: string[] | undefined; - /** *

                                                                              The Amazon Resource Name (ARN) of the resource from which to remove tags. Currently, the only supported * resource is an Amazon ECR repository.

                                                                              */ resourceArn: string | undefined; + + /** + *

                                                                              The keys of the tags to be removed.

                                                                              + */ + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -2619,6 +2630,16 @@ export namespace UntagResourceResponse { export interface InvalidLayerPartException extends __SmithyException, $MetadataBearer { name: "InvalidLayerPartException"; $fault: "client"; + /** + *

                                                                              The repository name associated with the exception.

                                                                              + */ + repositoryName?: string; + + /** + *

                                                                              The error message associated with the exception.

                                                                              + */ + message?: string; + /** *

                                                                              The upload ID associated with the exception.

                                                                              */ @@ -2634,16 +2655,6 @@ export interface InvalidLayerPartException extends __SmithyException, $MetadataB * exception.

                                                                              */ lastValidByteReceived?: number; - - /** - *

                                                                              The repository name associated with the exception.

                                                                              - */ - repositoryName?: string; - - /** - *

                                                                              The error message associated with the exception.

                                                                              - */ - message?: string; } export namespace InvalidLayerPartException { @@ -2654,36 +2665,36 @@ export namespace InvalidLayerPartException { export interface UploadLayerPartRequest { /** - *

                                                                              The name of the repository to which you are uploading layer parts.

                                                                              + *

                                                                              The AWS account ID associated with the registry to which you are uploading layer + * parts. If you do not specify a registry, the default registry is assumed.

                                                                              */ - repositoryName: string | undefined; + registryId?: string; /** - *

                                                                              The position of the first byte of the layer part witin the overall image layer.

                                                                              + *

                                                                              The base64-encoded layer part payload.

                                                                              */ - partFirstByte: number | undefined; + layerPartBlob: Uint8Array | undefined; /** - *

                                                                              The position of the last byte of the layer part within the overall image layer.

                                                                              + *

                                                                              The upload ID from a previous InitiateLayerUpload operation to + * associate with the layer part upload.

                                                                              */ - partLastByte: number | undefined; + uploadId: string | undefined; /** - *

                                                                              The AWS account ID associated with the registry to which you are uploading layer - * parts. If you do not specify a registry, the default registry is assumed.

                                                                              + *

                                                                              The position of the first byte of the layer part witin the overall image layer.

                                                                              */ - registryId?: string; + partFirstByte: number | undefined; /** - *

                                                                              The upload ID from a previous InitiateLayerUpload operation to - * associate with the layer part upload.

                                                                              + *

                                                                              The name of the repository to which you are uploading layer parts.

                                                                              */ - uploadId: string | undefined; + repositoryName: string | undefined; /** - *

                                                                              The base64-encoded layer part payload.

                                                                              + *

                                                                              The position of the last byte of the layer part within the overall image layer.

                                                                              */ - layerPartBlob: Uint8Array | undefined; + partLastByte: number | undefined; } export namespace UploadLayerPartRequest { @@ -2694,24 +2705,24 @@ export namespace UploadLayerPartRequest { export interface UploadLayerPartResponse { /** - *

                                                                              The registry ID associated with the request.

                                                                              + *

                                                                              The integer value of the last byte received in the request.

                                                                              */ - registryId?: string; + lastByteReceived?: number; /** - *

                                                                              The upload ID associated with the request.

                                                                              + *

                                                                              The registry ID associated with the request.

                                                                              */ - uploadId?: string; + registryId?: string; /** - *

                                                                              The integer value of the last byte received in the request.

                                                                              + *

                                                                              The repository name associated with the request.

                                                                              */ - lastByteReceived?: number; + repositoryName?: string; /** - *

                                                                              The repository name associated with the request.

                                                                              + *

                                                                              The upload ID associated with the request.

                                                                              */ - repositoryName?: string; + uploadId?: string; } export namespace UploadLayerPartResponse { diff --git a/clients/client-ecr/protocols/Aws_json1_1.ts b/clients/client-ecr/protocols/Aws_json1_1.ts index 7eedd0fc7b47..3afcc7281385 100644 --- a/clients/client-ecr/protocols/Aws_json1_1.ts +++ b/clients/client-ecr/protocols/Aws_json1_1.ts @@ -4119,7 +4119,15 @@ const deserializeAws_json1_1ImageAlreadyExistsException = ( const deserializeAws_json1_1ImageDetail = (output: any, context: __SerdeContext): ImageDetail => { return { + artifactMediaType: + output.artifactMediaType !== undefined && output.artifactMediaType !== null + ? output.artifactMediaType + : undefined, imageDigest: output.imageDigest !== undefined && output.imageDigest !== null ? output.imageDigest : undefined, + imageManifestMediaType: + output.imageManifestMediaType !== undefined && output.imageManifestMediaType !== null + ? output.imageManifestMediaType + : undefined, imagePushedAt: output.imagePushedAt !== undefined && output.imagePushedAt !== null ? new Date(Math.round(output.imagePushedAt * 1000)) diff --git a/clients/client-ecs/models/models_0.ts b/clients/client-ecs/models/models_0.ts index 553a1341912d..3e1aa23d95b2 100644 --- a/clients/client-ecs/models/models_0.ts +++ b/clients/client-ecs/models/models_0.ts @@ -62,12 +62,6 @@ export interface ManagedScaling { */ status?: ManagedScalingStatus | string; - /** - *

                                                                              The minimum number of container instances that Amazon ECS will scale in or scale out at one - * time. If this parameter is omitted, the default value of 1 is used.

                                                                              - */ - minimumScalingStepSize?: number; - /** *

                                                                              The maximum number of container instances that Amazon ECS will scale in or scale out at one * time. If this parameter is omitted, the default value of 10000 is @@ -75,6 +69,12 @@ export interface ManagedScaling { */ maximumScalingStepSize?: number; + /** + *

                                                                              The minimum number of container instances that Amazon ECS will scale in or scale out at one + * time. If this parameter is omitted, the default value of 1 is used.

                                                                              + */ + minimumScalingStepSize?: number; + /** *

                                                                              The target capacity value for the capacity provider. The specified value must be * greater than 0 and less than or equal to 100. A value of @@ -99,6 +99,16 @@ export enum ManagedTerminationProtection { *

                                                                              The details of the Auto Scaling group for the capacity provider.

                                                                              */ export interface AutoScalingGroupProvider { + /** + *

                                                                              The managed scaling settings for the Auto Scaling group capacity provider.

                                                                              + */ + managedScaling?: ManagedScaling; + + /** + *

                                                                              The Amazon Resource Name (ARN) that identifies the Auto Scaling group.

                                                                              + */ + autoScalingGroupArn: string | undefined; + /** *

                                                                              The managed termination protection setting to use for the Auto Scaling group capacity * provider. This determines whether the Auto Scaling group has managed termination @@ -115,16 +125,6 @@ export interface AutoScalingGroupProvider { * protected from termination when the Auto Scaling group scales in.

                                                                              */ managedTerminationProtection?: ManagedTerminationProtection | string; - - /** - *

                                                                              The managed scaling settings for the Auto Scaling group capacity provider.

                                                                              - */ - managedScaling?: ManagedScaling; - - /** - *

                                                                              The Amazon Resource Name (ARN) that identifies the Auto Scaling group.

                                                                              - */ - autoScalingGroupArn: string | undefined; } export namespace AutoScalingGroupProvider { @@ -189,18 +189,6 @@ export namespace Tag { } export interface CreateCapacityProviderRequest { - /** - *

                                                                              The details of the Auto Scaling group for the capacity provider.

                                                                              - */ - autoScalingGroupProvider: AutoScalingGroupProvider | undefined; - - /** - *

                                                                              The name of the capacity provider. Up to 255 characters are allowed, including letters - * (upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed - * with "aws", "ecs", or "fargate".

                                                                              - */ - name: string | undefined; - /** *

                                                                              The metadata that you apply to the capacity provider to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which you @@ -238,6 +226,18 @@ export interface CreateCapacityProviderRequest { *

                                                                            */ tags?: Tag[]; + + /** + *

                                                                            The name of the capacity provider. Up to 255 characters are allowed, including letters + * (upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed + * with "aws", "ecs", or "fargate".

                                                                            + */ + name: string | undefined; + + /** + *

                                                                            The details of the Auto Scaling group for the capacity provider.

                                                                            + */ + autoScalingGroupProvider: AutoScalingGroupProvider | undefined; } export namespace CreateCapacityProviderRequest { @@ -262,36 +262,11 @@ export enum CapacityProviderUpdateStatus { */ export interface CapacityProvider { /** - *

                                                                            The Auto Scaling group settings for the capacity provider.

                                                                            - */ - autoScalingGroupProvider?: AutoScalingGroupProvider; - - /** - *

                                                                            The name of the capacity provider.

                                                                            - */ - name?: string; - - /** - *

                                                                            The update status of the capacity provider. The following are the possible states that - * will be returned.

                                                                            - *
                                                                            - *
                                                                            DELETE_IN_PROGRESS
                                                                            - *
                                                                            - *

                                                                            The capacity provider is in the process of being deleted.

                                                                            - *
                                                                            - *
                                                                            DELETE_COMPLETE
                                                                            - *
                                                                            - *

                                                                            The capacity provider has been successfully deleted and will have an - * INACTIVE status.

                                                                            - *
                                                                            - *
                                                                            DELETE_FAILED
                                                                            - *
                                                                            - *

                                                                            The capacity provider was unable to be deleted. The update status reason - * will provide further details about why the delete failed.

                                                                            - *
                                                                            - *
                                                                            + *

                                                                            The current status of the capacity provider. Only capacity providers in an + * ACTIVE state can be used in a cluster. When a capacity provider is + * successfully deleted, it will have an INACTIVE status.

                                                                            */ - updateStatus?: CapacityProviderUpdateStatus | string; + status?: CapacityProviderStatus | string; /** *

                                                                            The metadata that you apply to the capacity provider to help you categorize and @@ -332,22 +307,47 @@ export interface CapacityProvider { tags?: Tag[]; /** - *

                                                                            The update status reason. This provides further details about the update status for - * the capacity provider.

                                                                            + *

                                                                            The name of the capacity provider.

                                                                            */ - updateStatusReason?: string; + name?: string; /** - *

                                                                            The current status of the capacity provider. Only capacity providers in an - * ACTIVE state can be used in a cluster. When a capacity provider is - * successfully deleted, it will have an INACTIVE status.

                                                                            + *

                                                                            The update status of the capacity provider. The following are the possible states that + * will be returned.

                                                                            + *
                                                                            + *
                                                                            DELETE_IN_PROGRESS
                                                                            + *
                                                                            + *

                                                                            The capacity provider is in the process of being deleted.

                                                                            + *
                                                                            + *
                                                                            DELETE_COMPLETE
                                                                            + *
                                                                            + *

                                                                            The capacity provider has been successfully deleted and will have an + * INACTIVE status.

                                                                            + *
                                                                            + *
                                                                            DELETE_FAILED
                                                                            + *
                                                                            + *

                                                                            The capacity provider was unable to be deleted. The update status reason + * will provide further details about why the delete failed.

                                                                            + *
                                                                            + *
                                                                            */ - status?: CapacityProviderStatus | string; + updateStatus?: CapacityProviderUpdateStatus | string; /** *

                                                                            The Amazon Resource Name (ARN) that identifies the capacity provider.

                                                                            */ capacityProviderArn?: string; + + /** + *

                                                                            The Auto Scaling group settings for the capacity provider.

                                                                            + */ + autoScalingGroupProvider?: AutoScalingGroupProvider; + + /** + *

                                                                            The update status reason. This provides further details about the update status for + * the capacity provider.

                                                                            + */ + updateStatusReason?: string; } export namespace CapacityProvider { @@ -438,6 +438,18 @@ export namespace UpdateInProgressException { *

                                                                            The details of a capacity provider strategy.

                                                                            */ export interface CapacityProviderStrategyItem { + /** + *

                                                                            The base value designates how many tasks, at a minimum, to run on + * the specified capacity provider. Only one capacity provider in a capacity provider + * strategy can have a base defined.

                                                                            + */ + base?: number; + + /** + *

                                                                            The short name of the capacity provider.

                                                                            + */ + capacityProvider: string | undefined; + /** *

                                                                            The weight value designates the relative percentage of the total * number of tasks launched that should use the specified capacity provider.

                                                                            @@ -450,18 +462,6 @@ export interface CapacityProviderStrategyItem { * capacityProviderB.

                                                                            */ weight?: number; - - /** - *

                                                                            The short name of the capacity provider.

                                                                            - */ - capacityProvider: string | undefined; - - /** - *

                                                                            The base value designates how many tasks, at a minimum, to run on - * the specified capacity provider. Only one capacity provider in a capacity provider - * strategy can have a base defined.

                                                                            - */ - base?: number; } export namespace CapacityProviderStrategyItem { @@ -479,12 +479,6 @@ export enum ClusterSettingName { * Container Insights for a cluster.

                                                                            */ export interface ClusterSetting { - /** - *

                                                                            The name of the cluster setting. The only supported value is - * containerInsights.

                                                                            - */ - name?: ClusterSettingName | string; - /** *

                                                                            The value to set for the cluster setting. The supported values are * enabled and disabled. If enabled is @@ -494,6 +488,12 @@ export interface ClusterSetting { * set with PutAccountSetting or PutAccountSettingDefault.

                                                                            */ value?: string; + + /** + *

                                                                            The name of the cluster setting. The only supported value is + * containerInsights.

                                                                            + */ + name?: ClusterSettingName | string; } export namespace ClusterSetting { @@ -503,6 +503,35 @@ export namespace ClusterSetting { } export interface CreateClusterRequest { + /** + *

                                                                            The capacity provider strategy to use by default for the cluster.

                                                                            + *

                                                                            When creating a service or running a task on a cluster, if no capacity provider or + * launch type is specified then the default capacity provider strategy for the cluster is + * used.

                                                                            + *

                                                                            A capacity provider strategy consists of one or more capacity providers along with the + * base and weight to assign to them. A capacity provider + * must be associated with the cluster to be used in a capacity provider strategy. The + * PutClusterCapacityProviders API is used to associate a capacity + * provider with a cluster. Only capacity providers with an ACTIVE or + * UPDATING status can be used.

                                                                            + *

                                                                            If specifying a capacity provider that uses an Auto Scaling group, the capacity + * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

                                                                            + *

                                                                            To use a AWS Fargate capacity provider, specify either the FARGATE or + * FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + * available to all accounts and only need to be associated with a cluster to be + * used.

                                                                            + *

                                                                            If a default capacity provider strategy is not defined for a cluster during creation, + * it can be defined later with the PutClusterCapacityProviders API + * operation.

                                                                            + */ + defaultCapacityProviderStrategy?: CapacityProviderStrategyItem[]; + + /** + *

                                                                            The name of your cluster. If you do not specify a name for your cluster, you create a + * cluster named default. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed.

                                                                            + */ + clusterName?: string; + /** *

                                                                            The short name of one or more capacity providers to associate * with the cluster.

                                                                            @@ -520,10 +549,12 @@ export interface CreateClusterRequest { capacityProviders?: string[]; /** - *

                                                                            The name of your cluster. If you do not specify a name for your cluster, you create a - * cluster named default. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed.

                                                                            + *

                                                                            The setting to use when creating a cluster. This parameter is used to enable CloudWatch + * Container Insights for a cluster. If this value is specified, it will override the + * containerInsights value set with PutAccountSetting or + * PutAccountSettingDefault.

                                                                            */ - clusterName?: string; + settings?: ClusterSetting[]; /** *

                                                                            The metadata that you apply to the cluster to help you categorize and organize them. @@ -561,37 +592,6 @@ export interface CreateClusterRequest { *

                                                                          */ tags?: Tag[]; - - /** - *

                                                                          The capacity provider strategy to use by default for the cluster.

                                                                          - *

                                                                          When creating a service or running a task on a cluster, if no capacity provider or - * launch type is specified then the default capacity provider strategy for the cluster is - * used.

                                                                          - *

                                                                          A capacity provider strategy consists of one or more capacity providers along with the - * base and weight to assign to them. A capacity provider - * must be associated with the cluster to be used in a capacity provider strategy. The - * PutClusterCapacityProviders API is used to associate a capacity - * provider with a cluster. Only capacity providers with an ACTIVE or - * UPDATING status can be used.

                                                                          - *

                                                                          If specifying a capacity provider that uses an Auto Scaling group, the capacity - * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

                                                                          - *

                                                                          To use a AWS Fargate capacity provider, specify either the FARGATE or - * FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are - * available to all accounts and only need to be associated with a cluster to be - * used.

                                                                          - *

                                                                          If a default capacity provider strategy is not defined for a cluster during creation, - * it can be defined later with the PutClusterCapacityProviders API - * operation.

                                                                          - */ - defaultCapacityProviderStrategy?: CapacityProviderStrategyItem[]; - - /** - *

                                                                          The setting to use when creating a cluster. This parameter is used to enable CloudWatch - * Container Insights for a cluster. If this value is specified, it will override the - * containerInsights value set with PutAccountSetting or - * PutAccountSettingDefault.

                                                                          - */ - settings?: ClusterSetting[]; } export namespace CreateClusterRequest { @@ -605,16 +605,16 @@ export namespace CreateClusterRequest { */ export interface KeyValuePair { /** - *

                                                                          The value of the key-value pair. For environment variables, this is the value of the + *

                                                                          The name of the key-value pair. For environment variables, this is the name of the * environment variable.

                                                                          */ - value?: string; + name?: string; /** - *

                                                                          The name of the key-value pair. For environment variables, this is the name of the + *

                                                                          The value of the key-value pair. For environment variables, this is the value of the * environment variable.

                                                                          */ - name?: string; + value?: string; } export namespace KeyValuePair { @@ -627,17 +627,6 @@ export namespace KeyValuePair { *

                                                                          An object representing a container instance or task attachment.

                                                                          */ export interface Attachment { - /** - *

                                                                          The unique identifier for the attachment.

                                                                          - */ - id?: string; - - /** - *

                                                                          Details of the attachment. For elastic network interfaces, this includes the network - * interface ID, the MAC address, the subnet ID, and the private IPv4 address.

                                                                          - */ - details?: KeyValuePair[]; - /** *

                                                                          The status of the attachment. Valid values are PRECREATED, * CREATED, ATTACHING, ATTACHED, @@ -649,12 +638,23 @@ export interface Attachment { *

                                                                          The type of the attachment, such as ElasticNetworkInterface.

                                                                          */ type?: string; -} -export namespace Attachment { - export const filterSensitiveLog = (obj: Attachment): any => ({ - ...obj, - }); + /** + *

                                                                          The unique identifier for the attachment.

                                                                          + */ + id?: string; + + /** + *

                                                                          Details of the attachment. For elastic network interfaces, this includes the network + * interface ID, the MAC address, the subnet ID, and the private IPv4 address.

                                                                          + */ + details?: KeyValuePair[]; +} + +export namespace Attachment { + export const filterSensitiveLog = (obj: Attachment): any => ({ + ...obj, + }); } /** @@ -665,25 +665,22 @@ export namespace Attachment { */ export interface Cluster { /** - *

                                                                          The status of the capacity providers associated with the cluster. The following are - * the states that will be returned:

                                                                          - *
                                                                          - *
                                                                          UPDATE_IN_PROGRESS
                                                                          - *
                                                                          - *

                                                                          The available capacity providers for the cluster are updating. This occurs - * when the Auto Scaling plan is provisioning or deprovisioning.

                                                                          - *
                                                                          - *
                                                                          UPDATE_COMPLETE
                                                                          - *
                                                                          - *

                                                                          The capacity providers have successfully updated.

                                                                          - *
                                                                          - *
                                                                          UPDATE_FAILED
                                                                          - *
                                                                          - *

                                                                          The capacity provider updates failed.

                                                                          - *
                                                                          - *
                                                                          + *

                                                                          The number of services that are running on the cluster in an ACTIVE + * state. You can view these services with ListServices.

                                                                          */ - attachmentsStatus?: string; + activeServicesCount?: number; + + /** + *

                                                                          The settings for the cluster. This parameter indicates whether CloudWatch Container Insights + * is enabled or disabled for a cluster.

                                                                          + */ + settings?: ClusterSetting[]; + + /** + *

                                                                          The number of container instances registered into the cluster. This includes container + * instances in both ACTIVE and DRAINING status.

                                                                          + */ + registeredContainerInstancesCount?: number; /** *

                                                                          The default capacity provider strategy for the cluster. When services or tasks are run @@ -693,15 +690,9 @@ export interface Cluster { defaultCapacityProviderStrategy?: CapacityProviderStrategyItem[]; /** - *

                                                                          The number of tasks in the cluster that are in the PENDING state.

                                                                          - */ - pendingTasksCount?: number; - - /** - *

                                                                          The settings for the cluster. This parameter indicates whether CloudWatch Container Insights - * is enabled or disabled for a cluster.

                                                                          + *

                                                                          The number of tasks in the cluster that are in the RUNNING state.

                                                                          */ - settings?: ClusterSetting[]; + runningTasksCount?: number; /** *

                                                                          The resources attached to a cluster. When using a capacity provider with a cluster, @@ -710,9 +701,44 @@ export interface Cluster { attachments?: Attachment[]; /** - *

                                                                          The number of tasks in the cluster that are in the RUNNING state.

                                                                          + *

                                                                          The number of tasks in the cluster that are in the PENDING state.

                                                                          */ - runningTasksCount?: number; + pendingTasksCount?: number; + + /** + *

                                                                          The status of the cluster. The following are the possible states that will be + * returned.

                                                                          + *
                                                                          + *
                                                                          ACTIVE
                                                                          + *
                                                                          + *

                                                                          The cluster is ready to accept tasks and if applicable you can register + * container instances with the cluster.

                                                                          + *
                                                                          + *
                                                                          PROVISIONING
                                                                          + *
                                                                          + *

                                                                          The cluster has capacity providers associated with it and the resources + * needed for the capacity provider are being created.

                                                                          + *
                                                                          + *
                                                                          DEPROVISIONING
                                                                          + *
                                                                          + *

                                                                          The cluster has capacity providers associated with it and the resources + * needed for the capacity provider are being deleted.

                                                                          + *
                                                                          + *
                                                                          FAILED
                                                                          + *
                                                                          + *

                                                                          The cluster has capacity providers associated with it and the resources + * needed for the capacity provider have failed to create.

                                                                          + *
                                                                          + *
                                                                          INACTIVE
                                                                          + *
                                                                          + *

                                                                          The cluster has been deleted. Clusters with an INACTIVE + * status may remain discoverable in your account for a period of time. + * However, this behavior is subject to change in the future, so you should not + * rely on INACTIVE clusters persisting.

                                                                          + *
                                                                          + *
                                                                          + */ + status?: string; /** *

                                                                          Additional information about your clusters that are separated by launch type, @@ -746,6 +772,42 @@ export interface Cluster { */ statistics?: KeyValuePair[]; + /** + *

                                                                          The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

                                                                          + */ + clusterArn?: string; + + /** + *

                                                                          A user-generated string that you use to identify your cluster.

                                                                          + */ + clusterName?: string; + + /** + *

                                                                          The status of the capacity providers associated with the cluster. The following are + * the states that will be returned:

                                                                          + *
                                                                          + *
                                                                          UPDATE_IN_PROGRESS
                                                                          + *
                                                                          + *

                                                                          The available capacity providers for the cluster are updating. This occurs + * when the Auto Scaling plan is provisioning or deprovisioning.

                                                                          + *
                                                                          + *
                                                                          UPDATE_COMPLETE
                                                                          + *
                                                                          + *

                                                                          The capacity providers have successfully updated.

                                                                          + *
                                                                          + *
                                                                          UPDATE_FAILED
                                                                          + *
                                                                          + *

                                                                          The capacity provider updates failed.

                                                                          + *
                                                                          + *
                                                                          + */ + attachmentsStatus?: string; + + /** + *

                                                                          The capacity providers associated with the cluster.

                                                                          + */ + capacityProviders?: string[]; + /** *

                                                                          The metadata that you apply to the cluster to help you categorize and organize them. * Each tag consists of a key and an optional value, both of which you define.

                                                                          @@ -782,68 +844,6 @@ export interface Cluster { *
                                                                        */ tags?: Tag[]; - - /** - *

                                                                        The status of the cluster. The following are the possible states that will be - * returned.

                                                                        - *
                                                                        - *
                                                                        ACTIVE
                                                                        - *
                                                                        - *

                                                                        The cluster is ready to accept tasks and if applicable you can register - * container instances with the cluster.

                                                                        - *
                                                                        - *
                                                                        PROVISIONING
                                                                        - *
                                                                        - *

                                                                        The cluster has capacity providers associated with it and the resources - * needed for the capacity provider are being created.

                                                                        - *
                                                                        - *
                                                                        DEPROVISIONING
                                                                        - *
                                                                        - *

                                                                        The cluster has capacity providers associated with it and the resources - * needed for the capacity provider are being deleted.

                                                                        - *
                                                                        - *
                                                                        FAILED
                                                                        - *
                                                                        - *

                                                                        The cluster has capacity providers associated with it and the resources - * needed for the capacity provider have failed to create.

                                                                        - *
                                                                        - *
                                                                        INACTIVE
                                                                        - *
                                                                        - *

                                                                        The cluster has been deleted. Clusters with an INACTIVE - * status may remain discoverable in your account for a period of time. - * However, this behavior is subject to change in the future, so you should not - * rely on INACTIVE clusters persisting.

                                                                        - *
                                                                        - *
                                                                        - */ - status?: string; - - /** - *

                                                                        The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

                                                                        - */ - clusterArn?: string; - - /** - *

                                                                        The capacity providers associated with the cluster.

                                                                        - */ - capacityProviders?: string[]; - - /** - *

                                                                        The number of services that are running on the cluster in an ACTIVE - * state. You can view these services with ListServices.

                                                                        - */ - activeServicesCount?: number; - - /** - *

                                                                        A user-generated string that you use to identify your cluster.

                                                                        - */ - clusterName?: string; - - /** - *

                                                                        The number of container instances registered into the cluster. This includes container - * instances in both ACTIVE and DRAINING status.

                                                                        - */ - registeredContainerInstancesCount?: number; } export namespace Cluster { @@ -886,29 +886,6 @@ export namespace ClusterNotFoundException { * the ordering of stopping and starting tasks.

                                                                        */ export interface DeploymentConfiguration { - /** - *

                                                                        If a service is using the rolling update (ECS) deployment type, the - * maximum percent parameter represents an upper limit - * on the number of tasks in a service that are allowed in the RUNNING or - * PENDING state during a deployment, as a percentage of the desired - * number of tasks (rounded down to the nearest integer), and while any container instances - * are in the DRAINING state if the service contains tasks using the - * EC2 launch type. This parameter enables you to define the deployment batch - * size. For example, if your service has a desired number of four tasks and a maximum - * percent value of 200%, the scheduler may start four new tasks before stopping the four - * older tasks (provided that the cluster resources required to do this are available). The - * default value for maximum percent is 200%.

                                                                        - *

                                                                        If a service is using the blue/green (CODE_DEPLOY) or - * EXTERNAL deployment types and tasks that use the EC2 - * launch type, the maximum percent value is set to the - * default value and is used to define the upper limit on the number of the tasks in the - * service that remain in the RUNNING state while the container instances are - * in the DRAINING state. If the tasks in the service use the - * Fargate launch type, the maximum percent value is not used, although it is - * returned when describing your service.

                                                                        - */ - maximumPercent?: number; - /** *

                                                                        If a service is using the rolling update (ECS) deployment type, the * minimum healthy percent represents a lower limit on @@ -934,6 +911,29 @@ export interface DeploymentConfiguration { * although it is returned when describing your service.

                                                                        */ minimumHealthyPercent?: number; + + /** + *

                                                                        If a service is using the rolling update (ECS) deployment type, the + * maximum percent parameter represents an upper limit + * on the number of tasks in a service that are allowed in the RUNNING or + * PENDING state during a deployment, as a percentage of the desired + * number of tasks (rounded down to the nearest integer), and while any container instances + * are in the DRAINING state if the service contains tasks using the + * EC2 launch type. This parameter enables you to define the deployment batch + * size. For example, if your service has a desired number of four tasks and a maximum + * percent value of 200%, the scheduler may start four new tasks before stopping the four + * older tasks (provided that the cluster resources required to do this are available). The + * default value for maximum percent is 200%.

                                                                        + *

                                                                        If a service is using the blue/green (CODE_DEPLOY) or + * EXTERNAL deployment types and tasks that use the EC2 + * launch type, the maximum percent value is set to the + * default value and is used to define the upper limit on the number of the tasks in the + * service that remain in the RUNNING state while the container instances are + * in the DRAINING state. If the tasks in the service use the + * Fargate launch type, the maximum percent value is not used, although it is + * returned when describing your service.

                                                                        + */ + maximumPercent?: number; } export namespace DeploymentConfiguration { @@ -998,6 +998,12 @@ export enum LaunchType { * and task sets, see the CreateService and CreateTaskSet actions.

                                                                        */ export interface LoadBalancer { + /** + *

                                                                        The name of the container (as it appears in a container definition) to associate with + * the load balancer.

                                                                        + */ + containerName?: string; + /** *

                                                                        The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or * task set.

                                                                        @@ -1020,6 +1026,13 @@ export interface LoadBalancer { */ targetGroupArn?: string; + /** + *

                                                                        The name of the load balancer to associate with the Amazon ECS service or task set.

                                                                        + *

                                                                        A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer + * or a Network Load Balancer the load balancer name parameter should be omitted.

                                                                        + */ + loadBalancerName?: string; + /** *

                                                                        The port on the container to associate with the load balancer. This port must * correspond to a containerPort in the task definition the tasks in the @@ -1028,20 +1041,7 @@ export interface LoadBalancer { * the port mapping.

                                                                        */ containerPort?: number; - - /** - *

                                                                        The name of the load balancer to associate with the Amazon ECS service or task set.

                                                                        - *

                                                                        A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer - * or a Network Load Balancer the load balancer name parameter should be omitted.

                                                                        - */ - loadBalancerName?: string; - - /** - *

                                                                        The name of the container (as it appears in a container definition) to associate with - * the load balancer.

                                                                        - */ - containerName?: string; -} +} export namespace LoadBalancer { export const filterSensitiveLog = (obj: LoadBalancer): any => ({ @@ -1203,18 +1203,6 @@ export enum SchedulingStrategy { *

                                                                        Details of the service registry.

                                                                        */ export interface ServiceRegistry { - /** - *

                                                                        The container name value, already specified in the task definition, to be used for - * your service discovery service. If the task definition that your service task specifies - * uses the bridge or host network mode, you must specify a - * containerName and containerPort combination from the task - * definition. If the task definition that your service task specifies uses the - * awsvpc network mode and a type SRV DNS record is used, you must specify - * either a containerName and containerPort combination or a - * port value, but not both.

                                                                        - */ - containerName?: string; - /** *

                                                                        The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is * AWS Cloud Map. For more information, see CreateService.

                                                                        @@ -1239,6 +1227,18 @@ export interface ServiceRegistry { * port value, but not both.

                                                                        */ containerPort?: number; + + /** + *

                                                                        The container name value, already specified in the task definition, to be used for + * your service discovery service. If the task definition that your service task specifies + * uses the bridge or host network mode, you must specify a + * containerName and containerPort combination from the task + * definition. If the task definition that your service task specifies uses the + * awsvpc network mode and a type SRV DNS record is used, you must specify + * either a containerName and containerPort combination or a + * port value, but not both.

                                                                        + */ + containerName?: string; } export namespace ServiceRegistry { @@ -1249,26 +1249,78 @@ export namespace ServiceRegistry { export interface CreateServiceRequest { /** - *

                                                                        Optional deployment parameters that control how many tasks run during the deployment - * and the ordering of stopping and starting tasks.

                                                                        + *

                                                                        The network configuration for the service. This parameter is required for task + * definitions that use the awsvpc network mode to receive their own elastic + * network interface, and it is not supported for other network modes. For more + * information, see Task Networking + * in the Amazon Elastic Container Service Developer Guide.

                                                                        */ - deploymentConfiguration?: DeploymentConfiguration; + networkConfiguration?: NetworkConfiguration; /** - *

                                                                        The family and revision (family:revision) or - * full ARN of the task definition to run in your service. If a revision is - * not specified, the latest ACTIVE revision is used.

                                                                        - *

                                                                        A task definition must be specified if the service is using the ECS - * deployment controller.

                                                                        + *

                                                                        The deployment controller to use for the service.

                                                                        */ - taskDefinition?: string; + deploymentController?: DeploymentController; /** - *

                                                                        The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within - * a cluster, but you can have similarly named services in multiple clusters within a - * Region or across multiple Regions.

                                                                        + *

                                                                        The details of the service discovery registries to assign to this service. For more + * information, see Service + * Discovery.

                                                                        + * + *

                                                                        Service discovery is supported for Fargate tasks if you are using + * platform version v1.1.0 or later. For more information, see AWS Fargate Platform + * Versions.

                                                                        + *
                                                                        */ - serviceName: string | undefined; + serviceRegistries?: ServiceRegistry[]; + + /** + *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. + * If you do not specify a cluster, the default cluster is assumed.

                                                                        + */ + cluster?: string; + + /** + *

                                                                        The scheduling strategy to use for the service. For more information, see Services.

                                                                        + *

                                                                        There are two service scheduler strategies available:

                                                                        + *
                                                                          + *
                                                                        • + *

                                                                          + * REPLICA-The replica scheduling strategy places and + * maintains the desired number of tasks across your cluster. By default, the + * service scheduler spreads tasks across Availability Zones. You can use task + * placement strategies and constraints to customize task placement decisions. This + * scheduler strategy is required if the service is using the + * CODE_DEPLOY or EXTERNAL deployment controller + * types.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * DAEMON-The daemon scheduling strategy deploys exactly one + * task on each active container instance that meets all of the task placement + * constraints that you specify in your cluster. The service scheduler also + * evaluates the task placement constraints for running tasks and will stop tasks + * that do not meet the placement constraints. When you're using this strategy, you + * don't need to specify a desired number of tasks, a task placement strategy, or + * use Service Auto Scaling policies.

                                                                          + * + *

                                                                          Tasks using the Fargate launch type or the + * CODE_DEPLOY or EXTERNAL deployment controller + * types don't support the DAEMON scheduling strategy.

                                                                          + *
                                                                          + *
                                                                        • + *
                                                                        + */ + schedulingStrategy?: SchedulingStrategy | string; + + /** + *

                                                                        Specifies whether to propagate the tags from the task definition or the service to the + * tasks in the service. If no value is specified, the tags are not propagated. Tags can + * only be propagated to the tasks within the service during service creation. To add tags + * to a task after service creation, use the TagResource API + * action.

                                                                        + */ + propagateTags?: PropagateTags | string; /** *

                                                                        A load balancer object representing the load balancers to use with your service. For @@ -1311,74 +1363,20 @@ export interface CreateServiceRequest { loadBalancers?: LoadBalancer[]; /** - *

                                                                        The network configuration for the service. This parameter is required for task - * definitions that use the awsvpc network mode to receive their own elastic - * network interface, and it is not supported for other network modes. For more - * information, see Task Networking - * in the Amazon Elastic Container Service Developer Guide.

                                                                        - */ - networkConfiguration?: NetworkConfiguration; - - /** - *

                                                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. Up to 32 ASCII characters are allowed.

                                                                        - */ - clientToken?: string; - - /** - *

                                                                        The scheduling strategy to use for the service. For more information, see Services.

                                                                        - *

                                                                        There are two service scheduler strategies available:

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          - * REPLICA-The replica scheduling strategy places and - * maintains the desired number of tasks across your cluster. By default, the - * service scheduler spreads tasks across Availability Zones. You can use task - * placement strategies and constraints to customize task placement decisions. This - * scheduler strategy is required if the service is using the - * CODE_DEPLOY or EXTERNAL deployment controller - * types.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * DAEMON-The daemon scheduling strategy deploys exactly one - * task on each active container instance that meets all of the task placement - * constraints that you specify in your cluster. The service scheduler also - * evaluates the task placement constraints for running tasks and will stop tasks - * that do not meet the placement constraints. When you're using this strategy, you - * don't need to specify a desired number of tasks, a task placement strategy, or - * use Service Auto Scaling policies.

                                                                          - * - *

                                                                          Tasks using the Fargate launch type or the - * CODE_DEPLOY or EXTERNAL deployment controller - * types don't support the DAEMON scheduling strategy.

                                                                          - *
                                                                          - *
                                                                        • - *
                                                                        - */ - schedulingStrategy?: SchedulingStrategy | string; - - /** - *

                                                                        The platform version that your tasks in the service are running on. A platform version - * is specified only for tasks using the Fargate launch type. If one isn't - * specified, the LATEST platform version is used by default. For more - * information, see AWS Fargate Platform - * Versions in the Amazon Elastic Container Service Developer Guide.

                                                                        - */ - platformVersion?: string; - - /** - *

                                                                        An array of placement constraint objects to use for tasks in your service. You can - * specify a maximum of 10 constraints per task (this limit includes constraints in the - * task definition and those specified at runtime).

                                                                        + *

                                                                        The number of instantiations of the specified task definition to place and keep + * running on your cluster.

                                                                        + *

                                                                        This is required if schedulingStrategy is REPLICA or is not + * specified. If schedulingStrategy is DAEMON then this is not + * required.

                                                                        */ - placementConstraints?: PlacementConstraint[]; + desiredCount?: number; /** - *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. - * If you do not specify a cluster, the default cluster is assumed.

                                                                        + *

                                                                        The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within + * a cluster, but you can have similarly named services in multiple clusters within a + * Region or across multiple Regions.

                                                                        */ - cluster?: string; + serviceName: string | undefined; /** *

                                                                        The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your @@ -1404,51 +1402,6 @@ export interface CreateServiceRequest { */ role?: string; - /** - *

                                                                        The period of time, in seconds, that the Amazon ECS service scheduler should ignore - * unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used - * when your service is configured to use a load balancer. If your service has a load - * balancer defined and you don't specify a health check grace period value, the default - * value of 0 is used.

                                                                        - *

                                                                        If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you - * can specify a health check grace period of up to 2,147,483,647 seconds. During that - * time, the Amazon ECS service scheduler ignores health check status. This grace period can - * prevent the service scheduler from marking tasks as unhealthy and stopping them before - * they have time to come up.

                                                                        - */ - healthCheckGracePeriodSeconds?: number; - - /** - *

                                                                        The capacity provider strategy to use for the service.

                                                                        - *

                                                                        A capacity provider strategy consists of one or more capacity providers along with the - * base and weight to assign to them. A capacity provider - * must be associated with the cluster to be used in a capacity provider strategy. The - * PutClusterCapacityProviders API is used to associate a capacity - * provider with a cluster. Only capacity providers with an ACTIVE or - * UPDATING status can be used.

                                                                        - *

                                                                        If a capacityProviderStrategy is specified, the launchType - * parameter must be omitted. If no capacityProviderStrategy or - * launchType is specified, the - * defaultCapacityProviderStrategy for the cluster is used.

                                                                        - *

                                                                        If specifying a capacity provider that uses an Auto Scaling group, the capacity - * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

                                                                        - *

                                                                        To use a AWS Fargate capacity provider, specify either the FARGATE or - * FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are - * available to all accounts and only need to be associated with a cluster to be - * used.

                                                                        - *

                                                                        The PutClusterCapacityProviders API operation is used to update the - * list of available capacity providers for a cluster after the cluster is created.

                                                                        - */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; - - /** - *

                                                                        The launch type on which to run your service. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                        - *

                                                                        If a launchType is specified, the capacityProviderStrategy - * parameter must be omitted.

                                                                        - */ - launchType?: LaunchType | string; - /** *

                                                                        The metadata that you apply to the service to help you categorize and organize them. * Each tag consists of a key and an optional value, both of which you define. When a @@ -1487,6 +1440,12 @@ export interface CreateServiceRequest { */ tags?: Tag[]; + /** + *

                                                                        The placement strategy objects to use for tasks in your service. You can specify a + * maximum of five strategy rules per service.

                                                                        + */ + placementStrategy?: PlacementStrategy[]; + /** *

                                                                        Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For * more information, see Tagging Your Amazon ECS @@ -1495,45 +1454,86 @@ export interface CreateServiceRequest { enableECSManagedTags?: boolean; /** - *

                                                                        The details of the service discovery registries to assign to this service. For more - * information, see Service - * Discovery.

                                                                        - * - *

                                                                        Service discovery is supported for Fargate tasks if you are using - * platform version v1.1.0 or later. For more information, see AWS Fargate Platform - * Versions.

                                                                        - *
                                                                        + *

                                                                        Optional deployment parameters that control how many tasks run during the deployment + * and the ordering of stopping and starting tasks.

                                                                        */ - serviceRegistries?: ServiceRegistry[]; + deploymentConfiguration?: DeploymentConfiguration; /** - *

                                                                        The deployment controller to use for the service.

                                                                        + *

                                                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. Up to 32 ASCII characters are allowed.

                                                                        */ - deploymentController?: DeploymentController; + clientToken?: string; /** - *

                                                                        Specifies whether to propagate the tags from the task definition or the service to the - * tasks in the service. If no value is specified, the tags are not propagated. Tags can - * only be propagated to the tasks within the service during service creation. To add tags - * to a task after service creation, use the TagResource API - * action.

                                                                        + *

                                                                        The platform version that your tasks in the service are running on. A platform version + * is specified only for tasks using the Fargate launch type. If one isn't + * specified, the LATEST platform version is used by default. For more + * information, see AWS Fargate Platform + * Versions in the Amazon Elastic Container Service Developer Guide.

                                                                        */ - propagateTags?: PropagateTags | string; + platformVersion?: string; /** - *

                                                                        The placement strategy objects to use for tasks in your service. You can specify a - * maximum of five strategy rules per service.

                                                                        + *

                                                                        An array of placement constraint objects to use for tasks in your service. You can + * specify a maximum of 10 constraints per task (this limit includes constraints in the + * task definition and those specified at runtime).

                                                                        */ - placementStrategy?: PlacementStrategy[]; + placementConstraints?: PlacementConstraint[]; /** - *

                                                                        The number of instantiations of the specified task definition to place and keep - * running on your cluster.

                                                                        - *

                                                                        This is required if schedulingStrategy is REPLICA or is not - * specified. If schedulingStrategy is DAEMON then this is not - * required.

                                                                        + *

                                                                        The family and revision (family:revision) or + * full ARN of the task definition to run in your service. If a revision is + * not specified, the latest ACTIVE revision is used.

                                                                        + *

                                                                        A task definition must be specified if the service is using the ECS + * deployment controller.

                                                                        */ - desiredCount?: number; + taskDefinition?: string; + + /** + *

                                                                        The period of time, in seconds, that the Amazon ECS service scheduler should ignore + * unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used + * when your service is configured to use a load balancer. If your service has a load + * balancer defined and you don't specify a health check grace period value, the default + * value of 0 is used.

                                                                        + *

                                                                        If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you + * can specify a health check grace period of up to 2,147,483,647 seconds. During that + * time, the Amazon ECS service scheduler ignores health check status. This grace period can + * prevent the service scheduler from marking tasks as unhealthy and stopping them before + * they have time to come up.

                                                                        + */ + healthCheckGracePeriodSeconds?: number; + + /** + *

                                                                        The capacity provider strategy to use for the service.

                                                                        + *

                                                                        A capacity provider strategy consists of one or more capacity providers along with the + * base and weight to assign to them. A capacity provider + * must be associated with the cluster to be used in a capacity provider strategy. The + * PutClusterCapacityProviders API is used to associate a capacity + * provider with a cluster. Only capacity providers with an ACTIVE or + * UPDATING status can be used.

                                                                        + *

                                                                        If a capacityProviderStrategy is specified, the launchType + * parameter must be omitted. If no capacityProviderStrategy or + * launchType is specified, the + * defaultCapacityProviderStrategy for the cluster is used.

                                                                        + *

                                                                        If specifying a capacity provider that uses an Auto Scaling group, the capacity + * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

                                                                        + *

                                                                        To use a AWS Fargate capacity provider, specify either the FARGATE or + * FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + * available to all accounts and only need to be associated with a cluster to be + * used.

                                                                        + *

                                                                        The PutClusterCapacityProviders API operation is used to update the + * list of available capacity providers for a cluster after the cluster is created.

                                                                        + */ + capacityProviderStrategy?: CapacityProviderStrategyItem[]; + + /** + *

                                                                        The launch type on which to run your service. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                        + *

                                                                        If a launchType is specified, the capacityProviderStrategy + * parameter must be omitted.

                                                                        + */ + launchType?: LaunchType | string; } export namespace CreateServiceRequest { @@ -1548,39 +1548,14 @@ export namespace CreateServiceRequest { */ export interface Deployment { /** - *

                                                                        The status of the deployment. The following describes each state:

                                                                        - *
                                                                        - *
                                                                        PRIMARY
                                                                        - *
                                                                        - *

                                                                        The most recent deployment of a service.

                                                                        - *
                                                                        - *
                                                                        ACTIVE
                                                                        - *
                                                                        - *

                                                                        A service deployment that still has running tasks, but are in the process - * of being replaced with a new PRIMARY deployment.

                                                                        - *
                                                                        - *
                                                                        INACTIVE
                                                                        - *
                                                                        - *

                                                                        A deployment that has been completely replaced.

                                                                        - *
                                                                        - *
                                                                        - */ - status?: string; - - /** - *

                                                                        The most recent task definition that was specified for the tasks in the service to - * use.

                                                                        + *

                                                                        The capacity provider strategy that the deployment is using.

                                                                        */ - taskDefinition?: string; + capacityProviderStrategy?: CapacityProviderStrategyItem[]; /** - *

                                                                        The platform version on which your tasks in the service are running. A platform - * version is only specified for tasks using the Fargate launch type. If one - * is not specified, the LATEST platform version is used by default. For more - * information, see AWS Fargate Platform - * Versions in the Amazon Elastic Container Service Developer Guide.

                                                                        + *

                                                                        The Unix timestamp for when the service deployment was last updated.

                                                                        */ - platformVersion?: string; + updatedAt?: Date; /** *

                                                                        The most recent desired count of tasks that was specified for the service to deploy or @@ -1589,25 +1564,50 @@ export interface Deployment { desiredCount?: number; /** - *

                                                                        The capacity provider strategy that the deployment is using.

                                                                        + *

                                                                        The VPC subnet and security group configuration for tasks that receive their own + * elastic network interface by using the awsvpc networking mode.

                                                                        */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; + networkConfiguration?: NetworkConfiguration; /** - *

                                                                        The Unix timestamp for when the service deployment was last updated.

                                                                        + *

                                                                        The platform version on which your tasks in the service are running. A platform + * version is only specified for tasks using the Fargate launch type. If one + * is not specified, the LATEST platform version is used by default. For more + * information, see AWS Fargate Platform + * Versions in the Amazon Elastic Container Service Developer Guide.

                                                                        */ - updatedAt?: Date; + platformVersion?: string; /** - *

                                                                        The ID of the deployment.

                                                                        + *

                                                                        The Unix timestamp for when the service deployment was created.

                                                                        */ - id?: string; + createdAt?: Date; /** - *

                                                                        The launch type the tasks in the service are using. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                        + *

                                                                        The number of tasks in the deployment that are in the PENDING + * status.

                                                                        */ - launchType?: LaunchType | string; + pendingCount?: number; + + /** + *

                                                                        The status of the deployment. The following describes each state:

                                                                        + *
                                                                        + *
                                                                        PRIMARY
                                                                        + *
                                                                        + *

                                                                        The most recent deployment of a service.

                                                                        + *
                                                                        + *
                                                                        ACTIVE
                                                                        + *
                                                                        + *

                                                                        A service deployment that still has running tasks, but are in the process + * of being replaced with a new PRIMARY deployment.

                                                                        + *
                                                                        + *
                                                                        INACTIVE
                                                                        + *
                                                                        + *

                                                                        A deployment that has been completely replaced.

                                                                        + *
                                                                        + *
                                                                        + */ + status?: string; /** *

                                                                        The number of tasks in the deployment that are in the RUNNING @@ -1616,21 +1616,21 @@ export interface Deployment { runningCount?: number; /** - *

                                                                        The number of tasks in the deployment that are in the PENDING - * status.

                                                                        + *

                                                                        The launch type the tasks in the service are using. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                        */ - pendingCount?: number; + launchType?: LaunchType | string; /** - *

                                                                        The VPC subnet and security group configuration for tasks that receive their own - * elastic network interface by using the awsvpc networking mode.

                                                                        + *

                                                                        The ID of the deployment.

                                                                        */ - networkConfiguration?: NetworkConfiguration; + id?: string; /** - *

                                                                        The Unix timestamp for when the service deployment was created.

                                                                        + *

                                                                        The most recent task definition that was specified for the tasks in the service to + * use.

                                                                        */ - createdAt?: Date; + taskDefinition?: string; } export namespace Deployment { @@ -1643,11 +1643,6 @@ export namespace Deployment { *

                                                                        Details on an event associated with a service.

                                                                        */ export interface ServiceEvent { - /** - *

                                                                        The Unix timestamp for when the event was triggered.

                                                                        - */ - createdAt?: Date; - /** *

                                                                        The event message.

                                                                        */ @@ -1657,6 +1652,11 @@ export interface ServiceEvent { *

                                                                        The ID string of the event.

                                                                        */ id?: string; + + /** + *

                                                                        The Unix timestamp for when the event was triggered.

                                                                        + */ + createdAt?: Date; } export namespace ServiceEvent { @@ -1674,16 +1674,16 @@ export enum ScaleUnit { * in the task set.

                                                                        */ export interface Scale { - /** - *

                                                                        The unit of measure for the scale value.

                                                                        - */ - unit?: ScaleUnit | string; - /** *

                                                                        The value, specified as a percent total of a service's desiredCount, to * scale the task set. Accepted values are numbers between 0 and 100.

                                                                        */ value?: number; + + /** + *

                                                                        The unit of measure for the scale value.

                                                                        + */ + unit?: ScaleUnit | string; } export namespace Scale { @@ -1704,29 +1704,24 @@ export enum StabilityStatus { */ export interface TaskSet { /** - *

                                                                        The Unix timestamp for when the task set stability status was retrieved.

                                                                        - */ - stabilityStatusAt?: Date; - - /** - *

                                                                        The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists - * in.

                                                                        + *

                                                                        Details on a load balancer that is used with a task set.

                                                                        */ - clusterArn?: string; + loadBalancers?: LoadBalancer[]; /** - *

                                                                        The Unix timestamp for when the task set was created.

                                                                        + *

                                                                        The Amazon Resource Name (ARN) of the service the task set exists in.

                                                                        */ - createdAt?: Date; + serviceArn?: string; /** - *

                                                                        The number of tasks in the task set that are in the PENDING status during - * a deployment. A task in the PENDING state is preparing to enter the - * RUNNING state. A task set enters the PENDING status when - * it launches for the first time or when it is restarted after being in the - * STOPPED state.

                                                                        + *

                                                                        The external ID associated with the task set.

                                                                        + *

                                                                        If a task set is created by an AWS CodeDeploy deployment, the externalId parameter + * contains the AWS CodeDeploy deployment ID.

                                                                        + *

                                                                        If a task set is created for an external deployment and is associated with a service + * discovery registry, the externalId parameter contains the + * ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

                                                                        */ - pendingCount?: number; + externalId?: string; /** *

                                                                        The details of the service discovery registries to assign to this task set. For more @@ -1736,41 +1731,41 @@ export interface TaskSet { serviceRegistries?: ServiceRegistry[]; /** - *

                                                                        The metadata that you apply to the task set to help you categorize and organize them. - * Each tag consists of a key and an optional value, both of which you define.

                                                                        - *

                                                                        The following basic restrictions apply to tags:

                                                                        + *

                                                                        The launch type the tasks in the task set are using. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                        + */ + launchType?: LaunchType | string; + + /** + *

                                                                        The task definition the task set is using.

                                                                        + */ + taskDefinition?: string; + + /** + *

                                                                        The stability status, which indicates whether the task set has reached a steady state. + * If the following conditions are met, the task set will be in + * STEADY_STATE:

                                                                        *
                                                                          *
                                                                        • - *

                                                                          Maximum number of tags per resource - 50

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          For each resource, each tag key must be unique, and each tag key can have only - * one value.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Maximum key length - 128 Unicode characters in UTF-8

                                                                          + *

                                                                          The task runningCount is equal to the + * computedDesiredCount.

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          Maximum value length - 256 Unicode characters in UTF-8

                                                                          + *

                                                                          The pendingCount is 0.

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.

                                                                          + *

                                                                          There are no tasks running on container instances in the DRAINING + * status.

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          Tag keys and values are case-sensitive.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Do not use aws:, AWS:, or any upper or lowercase - * combination of such as a prefix for either keys or values as it is reserved for - * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with - * this prefix do not count against your tags per resource limit.

                                                                          + *

                                                                          All tasks are reporting a healthy status from the load balancers, service + * discovery, and container health checks.

                                                                          *
                                                                        • *
                                                                        + *

                                                                        If any of those conditions are not met, the stability status returns + * STABILIZING.

                                                                        */ - tags?: Tag[]; + stabilityStatus?: StabilityStatus | string; /** *

                                                                        The computed desired count for the task set. This is calculated by multiplying the @@ -1781,101 +1776,25 @@ export interface TaskSet { computedDesiredCount?: number; /** - *

                                                                        A floating-point percentage of the desired number of tasks to place and keep running - * in the task set.

                                                                        - */ - scale?: Scale; - - /** - *

                                                                        The stability status, which indicates whether the task set has reached a steady state. - * If the following conditions are met, the task set will be in - * STEADY_STATE:

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          The task runningCount is equal to the - * computedDesiredCount.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          The pendingCount is 0.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          There are no tasks running on container instances in the DRAINING - * status.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          All tasks are reporting a healthy status from the load balancers, service - * discovery, and container health checks.

                                                                          - *
                                                                        • - *
                                                                        - *

                                                                        If any of those conditions are not met, the stability status returns - * STABILIZING.

                                                                        + *

                                                                        The ID of the task set.

                                                                        */ - stabilityStatus?: StabilityStatus | string; + id?: string; /** - *

                                                                        The launch type the tasks in the task set are using. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                        + *

                                                                        The Unix timestamp for when the task set was created.

                                                                        */ - launchType?: LaunchType | string; + createdAt?: Date; /** - *

                                                                        The capacity provider strategy associated with the task set.

                                                                        + *

                                                                        The Amazon Resource Name (ARN) of the task set.

                                                                        */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; + taskSetArn?: string; /** *

                                                                        The Unix timestamp for when the task set was last updated.

                                                                        */ updatedAt?: Date; - /** - *

                                                                        The network configuration for the task set.

                                                                        - */ - networkConfiguration?: NetworkConfiguration; - - /** - *

                                                                        The tag specified when a task set is started. If the task set is created by an AWS CodeDeploy - * deployment, the startedBy parameter is CODE_DEPLOY. For a task - * set created for an external deployment, the startedBy field isn't used.

                                                                        - */ - startedBy?: string; - - /** - *

                                                                        The Amazon Resource Name (ARN) of the service the task set exists in.

                                                                        - */ - serviceArn?: string; - - /** - *

                                                                        The external ID associated with the task set.

                                                                        - *

                                                                        If a task set is created by an AWS CodeDeploy deployment, the externalId parameter - * contains the AWS CodeDeploy deployment ID.

                                                                        - *

                                                                        If a task set is created for an external deployment and is associated with a service - * discovery registry, the externalId parameter contains the - * ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

                                                                        - */ - externalId?: string; - - /** - *

                                                                        Details on a load balancer that is used with a task set.

                                                                        - */ - loadBalancers?: LoadBalancer[]; - - /** - *

                                                                        The platform version on which the tasks in the task set are running. A platform - * version is only specified for tasks using the Fargate launch type. If one - * is not specified, the LATEST platform version is used by default. For more - * information, see AWS Fargate Platform - * Versions in the Amazon Elastic Container Service Developer Guide.

                                                                        - */ - platformVersion?: string; - - /** - *

                                                                        The number of tasks in the task set that are in the RUNNING status during - * a deployment. A task in the RUNNING state is running and ready for - * use.

                                                                        - */ - runningCount?: number; - /** *

                                                                        The status of the task set. The following describes each state:

                                                                        *
                                                                        @@ -1897,90 +1816,129 @@ export interface TaskSet { status?: string; /** - *

                                                                        The Amazon Resource Name (ARN) of the task set.

                                                                        + *

                                                                        The capacity provider strategy associated with the task set.

                                                                        */ - taskSetArn?: string; + capacityProviderStrategy?: CapacityProviderStrategyItem[]; /** - *

                                                                        The ID of the task set.

                                                                        + *

                                                                        The number of tasks in the task set that are in the PENDING status during + * a deployment. A task in the PENDING state is preparing to enter the + * RUNNING state. A task set enters the PENDING status when + * it launches for the first time or when it is restarted after being in the + * STOPPED state.

                                                                        */ - id?: string; + pendingCount?: number; /** - *

                                                                        The task definition the task set is using.

                                                                        + *

                                                                        The number of tasks in the task set that are in the RUNNING status during + * a deployment. A task in the RUNNING state is running and ready for + * use.

                                                                        */ - taskDefinition?: string; -} - -export namespace TaskSet { - export const filterSensitiveLog = (obj: TaskSet): any => ({ - ...obj, - }); -} + runningCount?: number; -/** - *

                                                                        Details on a service within a cluster

                                                                        - */ -export interface Service { /** - *

                                                                        The placement constraints for the tasks in the service.

                                                                        + *

                                                                        A floating-point percentage of the desired number of tasks to place and keep running + * in the task set.

                                                                        */ - placementConstraints?: PlacementConstraint[]; + scale?: Scale; /** - *

                                                                        The capacity provider strategy associated with the service.

                                                                        + *

                                                                        The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists + * in.

                                                                        */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; + clusterArn?: string; /** - *

                                                                        The launch type on which your service is running. If no value is specified, it will - * default to EC2. Valid values include EC2 and - * FARGATE. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                        + *

                                                                        The platform version on which the tasks in the task set are running. A platform + * version is only specified for tasks using the Fargate launch type. If one + * is not specified, the LATEST platform version is used by default. For more + * information, see AWS Fargate Platform + * Versions in the Amazon Elastic Container Service Developer Guide.

                                                                        */ - launchType?: LaunchType | string; + platformVersion?: string; /** - *

                                                                        The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy - * Elastic Load Balancing target health checks after a task has first started.

                                                                        + *

                                                                        The metadata that you apply to the task set to help you categorize and organize them. + * Each tag consists of a key and an optional value, both of which you define.

                                                                        + *

                                                                        The following basic restrictions apply to tags:

                                                                        + *
                                                                          + *
                                                                        • + *

                                                                          Maximum number of tags per resource - 50

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          For each resource, each tag key must be unique, and each tag key can have only + * one value.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Maximum key length - 128 Unicode characters in UTF-8

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Maximum value length - 256 Unicode characters in UTF-8

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Tag keys and values are case-sensitive.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Do not use aws:, AWS:, or any upper or lowercase + * combination of such as a prefix for either keys or values as it is reserved for + * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + * this prefix do not count against your tags per resource limit.

                                                                          + *
                                                                        • + *
                                                                        */ - healthCheckGracePeriodSeconds?: number; + tags?: Tag[]; /** - *

                                                                        Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more - * information, see Tagging Your Amazon ECS - * Resources in the Amazon Elastic Container Service Developer Guide.

                                                                        + *

                                                                        The Unix timestamp for when the task set stability status was retrieved.

                                                                        */ - enableECSManagedTags?: boolean; + stabilityStatusAt?: Date; /** - *

                                                                        The number of tasks in the cluster that are in the PENDING state.

                                                                        + *

                                                                        The tag specified when a task set is started. If the task set is created by an AWS CodeDeploy + * deployment, the startedBy parameter is CODE_DEPLOY. For a task + * set created for an external deployment, the startedBy field isn't used.

                                                                        */ - pendingCount?: number; + startedBy?: string; /** - *

                                                                        Specifies whether to propagate the tags from the task definition or the service to the - * task. If no value is specified, the tags are not propagated.

                                                                        + *

                                                                        The network configuration for the task set.

                                                                        */ - propagateTags?: PropagateTags | string; + networkConfiguration?: NetworkConfiguration; +} + +export namespace TaskSet { + export const filterSensitiveLog = (obj: TaskSet): any => ({ + ...obj, + }); +} +/** + *

                                                                        Details on a service within a cluster

                                                                        + */ +export interface Service { /** - *

                                                                        The desired number of instantiations of the task definition to keep running on the - * service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

                                                                        + *

                                                                        The placement strategy that determines how tasks for the service are placed.

                                                                        */ - desiredCount?: number; + placementStrategy?: PlacementStrategy[]; /** - *

                                                                        The deployment controller type the service is using. When using the DescribeServices - * API, this field is omitted if the service is using the ECS deployment - * controller type.

                                                                        + *

                                                                        Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL + * deployment. An Amazon ECS task set includes details such as the desired number of tasks, how + * many tasks are running, and whether the task set serves production traffic.

                                                                        */ - deploymentController?: DeploymentController; + taskSets?: TaskSet[]; /** - *

                                                                        The principal that created the service.

                                                                        + *

                                                                        The status of the service. The valid values are ACTIVE, + * DRAINING, or INACTIVE.

                                                                        */ - createdBy?: string; + status?: string; /** *

                                                                        The VPC subnet and security group configuration for tasks that receive their own @@ -2017,94 +1975,62 @@ export interface Service { schedulingStrategy?: SchedulingStrategy | string; /** - *

                                                                        The status of the service. The valid values are ACTIVE, - * DRAINING, or INACTIVE.

                                                                        + *

                                                                        The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within + * a cluster, but you can have similarly named services in multiple clusters within a + * Region or across multiple Regions.

                                                                        */ - status?: string; + serviceName?: string; /** - *

                                                                        The metadata that you apply to the service to help you categorize and organize them. - * Each tag consists of a key and an optional value, both of which you define.

                                                                        - *

                                                                        The following basic restrictions apply to tags:

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          Maximum number of tags per resource - 50

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          For each resource, each tag key must be unique, and each tag key can have only - * one value.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Maximum key length - 128 Unicode characters in UTF-8

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Maximum value length - 256 Unicode characters in UTF-8

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Tag keys and values are case-sensitive.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Do not use aws:, AWS:, or any upper or lowercase - * combination of such as a prefix for either keys or values as it is reserved for - * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with - * this prefix do not count against your tags per resource limit.

                                                                          - *
                                                                        • - *
                                                                        + *

                                                                        Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more + * information, see Tagging Your Amazon ECS + * Resources in the Amazon Elastic Container Service Developer Guide.

                                                                        */ - tags?: Tag[]; + enableECSManagedTags?: boolean; /** - *

                                                                        Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL - * deployment. An Amazon ECS task set includes details such as the desired number of tasks, how - * many tasks are running, and whether the task set serves production traffic.

                                                                        + *

                                                                        The number of tasks in the cluster that are in the PENDING state.

                                                                        */ - taskSets?: TaskSet[]; + pendingCount?: number; /** - *

                                                                        The placement strategy that determines how tasks for the service are placed.

                                                                        + *

                                                                        The number of tasks in the cluster that are in the RUNNING state.

                                                                        */ - placementStrategy?: PlacementStrategy[]; + runningCount?: number; /** - *

                                                                        The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within - * a cluster, but you can have similarly named services in multiple clusters within a - * Region or across multiple Regions.

                                                                        + *

                                                                        The desired number of instantiations of the task definition to keep running on the + * service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

                                                                        */ - serviceName?: string; + desiredCount?: number; /** - *

                                                                        The current state of deployments for the service.

                                                                        + *

                                                                        The Unix timestamp for when the service was created.

                                                                        */ - deployments?: Deployment[]; + createdAt?: Date; /** - *

                                                                        The details of the service discovery registries to assign to this service. For more - * information, see Service - * Discovery.

                                                                        + *

                                                                        The task definition to use for tasks in the service. This value is specified when the + * service is created with CreateService, and it can be modified with + * UpdateService.

                                                                        */ - serviceRegistries?: ServiceRegistry[]; + taskDefinition?: string; /** - *

                                                                        Optional deployment parameters that control how many tasks run during the deployment - * and the ordering of stopping and starting tasks.

                                                                        + *

                                                                        The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy + * Elastic Load Balancing target health checks after a task has first started.

                                                                        */ - deploymentConfiguration?: DeploymentConfiguration; + healthCheckGracePeriodSeconds?: number; /** - *

                                                                        The Unix timestamp for when the service was created.

                                                                        + *

                                                                        The capacity provider strategy associated with the service.

                                                                        */ - createdAt?: Date; + capacityProviderStrategy?: CapacityProviderStrategyItem[]; /** - *

                                                                        The Amazon Resource Name (ARN) of the cluster that hosts the service.

                                                                        + *

                                                                        The placement constraints for the tasks in the service.

                                                                        */ - clusterArn?: string; + placementConstraints?: PlacementConstraint[]; /** *

                                                                        The event stream for your service. A maximum of 100 of the latest events are @@ -2113,9 +2039,30 @@ export interface Service { events?: ServiceEvent[]; /** - *

                                                                        The number of tasks in the cluster that are in the RUNNING state.

                                                                        + *

                                                                        The launch type on which your service is running. If no value is specified, it will + * default to EC2. Valid values include EC2 and + * FARGATE. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                        */ - runningCount?: number; + launchType?: LaunchType | string; + + /** + *

                                                                        The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

                                                                        + */ + serviceArn?: string; + + /** + *

                                                                        The details of the service discovery registries to assign to this service. For more + * information, see Service + * Discovery.

                                                                        + */ + serviceRegistries?: ServiceRegistry[]; + + /** + *

                                                                        The ARN of the IAM role associated with the service that allows the Amazon ECS container + * agent to register container instances with an Elastic Load Balancing load balancer.

                                                                        + */ + roleArn?: string; /** *

                                                                        A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the @@ -2125,11 +2072,22 @@ export interface Service { loadBalancers?: LoadBalancer[]; /** - *

                                                                        The task definition to use for tasks in the service. This value is specified when the - * service is created with CreateService, and it can be modified with - * UpdateService.

                                                                        + *

                                                                        Specifies whether to propagate the tags from the task definition or the service to the + * task. If no value is specified, the tags are not propagated.

                                                                        */ - taskDefinition?: string; + propagateTags?: PropagateTags | string; + + /** + *

                                                                        The principal that created the service.

                                                                        + */ + createdBy?: string; + + /** + *

                                                                        The deployment controller type the service is using. When using the DescribeServices + * API, this field is omitted if the service is using the ECS deployment + * controller type.

                                                                        + */ + deploymentController?: DeploymentController; /** *

                                                                        The platform version on which to run your service. A platform version is only @@ -2141,15 +2099,57 @@ export interface Service { platformVersion?: string; /** - *

                                                                        The ARN of the IAM role associated with the service that allows the Amazon ECS container - * agent to register container instances with an Elastic Load Balancing load balancer.

                                                                        + *

                                                                        The current state of deployments for the service.

                                                                        */ - roleArn?: string; + deployments?: Deployment[]; /** - *

                                                                        The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

                                                                        + *

                                                                        The metadata that you apply to the service to help you categorize and organize them. + * Each tag consists of a key and an optional value, both of which you define.

                                                                        + *

                                                                        The following basic restrictions apply to tags:

                                                                        + *
                                                                          + *
                                                                        • + *

                                                                          Maximum number of tags per resource - 50

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          For each resource, each tag key must be unique, and each tag key can have only + * one value.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Maximum key length - 128 Unicode characters in UTF-8

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Maximum value length - 256 Unicode characters in UTF-8

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Tag keys and values are case-sensitive.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Do not use aws:, AWS:, or any upper or lowercase + * combination of such as a prefix for either keys or values as it is reserved for + * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + * this prefix do not count against your tags per resource limit.

                                                                          + *
                                                                        • + *
                                                                        */ - serviceArn?: string; + tags?: Tag[]; + + /** + *

                                                                        The Amazon Resource Name (ARN) of the cluster that hosts the service.

                                                                        + */ + clusterArn?: string; + + /** + *

                                                                        Optional deployment parameters that control how many tasks run during the deployment + * and the ordering of stopping and starting tasks.

                                                                        + */ + deploymentConfiguration?: DeploymentConfiguration; } export namespace Service { @@ -2226,24 +2226,48 @@ export namespace UnsupportedFeatureException { export interface CreateTaskSetRequest { /** - *

                                                                        The details of the service discovery registries to assign to this task set. For more - * information, see Service - * Discovery.

                                                                        - */ - serviceRegistries?: ServiceRegistry[]; - - /** - *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the - * task set in.

                                                                        + *

                                                                        The metadata that you apply to the task set to help you categorize and organize them. + * Each tag consists of a key and an optional value, both of which you define. When a + * service is deleted, the tags are deleted as well.

                                                                        + *

                                                                        The following basic restrictions apply to tags:

                                                                        + *
                                                                          + *
                                                                        • + *

                                                                          Maximum number of tags per resource - 50

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          For each resource, each tag key must be unique, and each tag key can have only + * one value.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Maximum key length - 128 Unicode characters in UTF-8

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Maximum value length - 256 Unicode characters in UTF-8

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Tag keys and values are case-sensitive.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          Do not use aws:, AWS:, or any upper or lowercase + * combination of such as a prefix for either keys or values as it is reserved for + * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + * this prefix do not count against your tags per resource limit.

                                                                          + *
                                                                        • + *
                                                                        */ - cluster: string | undefined; + tags?: Tag[]; /** - *

                                                                        The platform version that the tasks in the task set should use. A platform version is - * specified only for tasks using the Fargate launch type. If one isn't - * specified, the LATEST platform version is used by default.

                                                                        + *

                                                                        A floating-point percentage of the desired number of tasks to place and keep running + * in the task set.

                                                                        */ - platformVersion?: string; + scale?: Scale; /** *

                                                                        A load balancer object representing the load balancer to use with the task set. The @@ -2251,6 +2275,12 @@ export interface CreateTaskSetRequest { */ loadBalancers?: LoadBalancer[]; + /** + *

                                                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. Up to 32 ASCII characters are allowed.

                                                                        + */ + clientToken?: string; + /** *

                                                                        An optional non-unique tag that identifies this task set in external systems. If the * task set is associated with a service discovery registry, the tasks in this task set @@ -2264,11 +2294,36 @@ export interface CreateTaskSetRequest { */ networkConfiguration?: NetworkConfiguration; + /** + *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the + * task set in.

                                                                        + */ + cluster: string | undefined; + + /** + *

                                                                        The task definition for the tasks in the task set to use.

                                                                        + */ + taskDefinition: string | undefined; + + /** + *

                                                                        The platform version that the tasks in the task set should use. A platform version is + * specified only for tasks using the Fargate launch type. If one isn't + * specified, the LATEST platform version is used by default.

                                                                        + */ + platformVersion?: string; + /** *

                                                                        The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

                                                                        */ service: string | undefined; + /** + *

                                                                        The details of the service discovery registries to assign to this task set. For more + * information, see Service + * Discovery.

                                                                        + */ + serviceRegistries?: ServiceRegistry[]; + /** *

                                                                        The capacity provider strategy to use for the task set.

                                                                        *

                                                                        A capacity provider strategy consists of one or more capacity providers along with the @@ -2292,11 +2347,6 @@ export interface CreateTaskSetRequest { */ capacityProviderStrategy?: CapacityProviderStrategyItem[]; - /** - *

                                                                        The task definition for the tasks in the task set to use.

                                                                        - */ - taskDefinition: string | undefined; - /** *

                                                                        The launch type that new tasks in the task set will use. For more information, see * Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                        @@ -2304,65 +2354,15 @@ export interface CreateTaskSetRequest { * parameter must be omitted.

                                                                        */ launchType?: LaunchType | string; +} + +export namespace CreateTaskSetRequest { + export const filterSensitiveLog = (obj: CreateTaskSetRequest): any => ({ + ...obj, + }); +} - /** - *

                                                                        Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. Up to 32 ASCII characters are allowed.

                                                                        - */ - clientToken?: string; - - /** - *

                                                                        The metadata that you apply to the task set to help you categorize and organize them. - * Each tag consists of a key and an optional value, both of which you define. When a - * service is deleted, the tags are deleted as well.

                                                                        - *

                                                                        The following basic restrictions apply to tags:

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          Maximum number of tags per resource - 50

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          For each resource, each tag key must be unique, and each tag key can have only - * one value.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Maximum key length - 128 Unicode characters in UTF-8

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Maximum value length - 256 Unicode characters in UTF-8

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Tag keys and values are case-sensitive.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Do not use aws:, AWS:, or any upper or lowercase - * combination of such as a prefix for either keys or values as it is reserved for - * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with - * this prefix do not count against your tags per resource limit.

                                                                          - *
                                                                        • - *
                                                                        - */ - tags?: Tag[]; - - /** - *

                                                                        A floating-point percentage of the desired number of tasks to place and keep running - * in the task set.

                                                                        - */ - scale?: Scale; -} - -export namespace CreateTaskSetRequest { - export const filterSensitiveLog = (obj: CreateTaskSetRequest): any => ({ - ...obj, - }); -} - -export interface CreateTaskSetResponse { +export interface CreateTaskSetResponse { /** *

                                                                        Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL * deployment. An Amazon ECS task set includes details such as the desired number of tasks, how @@ -2419,15 +2419,6 @@ export enum SettingName { } export interface DeleteAccountSettingRequest { - /** - *

                                                                        The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you - * specify the root user, it disables the account setting for all IAM users, IAM roles, and - * the root user of the account unless an IAM user or role explicitly overrides these - * settings. If this field is omitted, the setting is changed only for the authenticated - * user.

                                                                        - */ - principalArn?: string; - /** *

                                                                        The resource name for which to disable the account setting. If * serviceLongArnFormat is specified, the ARN for your Amazon ECS services is @@ -2438,6 +2429,15 @@ export interface DeleteAccountSettingRequest { * instances is affected.

                                                                        */ name: SettingName | string | undefined; + + /** + *

                                                                        The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you + * specify the root user, it disables the account setting for all IAM users, IAM roles, and + * the root user of the account unless an IAM user or role explicitly overrides these + * settings. If this field is omitted, the setting is changed only for the authenticated + * user.

                                                                        + */ + principalArn?: string; } export namespace DeleteAccountSettingRequest { @@ -2450,11 +2450,6 @@ export namespace DeleteAccountSettingRequest { *

                                                                        The current account setting for a resource.

                                                                        */ export interface Setting { - /** - *

                                                                        Whether the account setting is enabled or disabled for the specified resource.

                                                                        - */ - value?: string; - /** *

                                                                        The ARN of the principal, which can be an IAM user, IAM role, or the root user. If * this field is omitted, the authenticated user is assumed.

                                                                        @@ -2465,6 +2460,11 @@ export interface Setting { *

                                                                        The Amazon ECS resource name.

                                                                        */ name?: SettingName | string; + + /** + *

                                                                        Whether the account setting is enabled or disabled for the specified resource.

                                                                        + */ + value?: string; } export namespace Setting { @@ -2496,6 +2496,18 @@ export enum TargetType { * information, see Attributes in the Amazon Elastic Container Service Developer Guide.

                                                                        */ export interface Attribute { + /** + *

                                                                        The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, + * hyphens, underscores, and periods are allowed.

                                                                        + */ + name: string | undefined; + + /** + *

                                                                        The type of the target with which to attach the attribute. This parameter is required + * if you use the short form ID for a resource instead of the full ARN.

                                                                        + */ + targetType?: TargetType | string; + /** *

                                                                        The value of the attribute. Up to 128 letters (uppercase and lowercase), numbers, * hyphens, underscores, periods, at signs (@), forward slashes, colons, and spaces are @@ -2508,18 +2520,6 @@ export interface Attribute { * Amazon Resource Name (ARN).

                                                                        */ targetId?: string; - - /** - *

                                                                        The type of the target with which to attach the attribute. This parameter is required - * if you use the short form ID for a resource instead of the full ARN.

                                                                        - */ - targetType?: TargetType | string; - - /** - *

                                                                        The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, - * hyphens, underscores, and periods are allowed.

                                                                        - */ - name: string | undefined; } export namespace Attribute { @@ -2529,12 +2529,6 @@ export namespace Attribute { } export interface DeleteAttributesRequest { - /** - *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete - * attributes. If you do not specify a cluster, the default cluster is assumed.

                                                                        - */ - cluster?: string; - /** *

                                                                        The attributes to delete from your resource. You can specify up to 10 attributes per * request. For custom attributes, specify the attribute name and target ID, but do not @@ -2542,6 +2536,12 @@ export interface DeleteAttributesRequest { * specify the target type.

                                                                        */ attributes: Attribute[] | undefined; + + /** + *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete + * attributes. If you do not specify a cluster, the default cluster is assumed.

                                                                        + */ + cluster?: string; } export namespace DeleteAttributesRequest { @@ -2689,16 +2689,16 @@ export interface DeleteServiceRequest { */ force?: boolean; - /** - *

                                                                        The name of the service to delete.

                                                                        - */ - service: string | undefined; - /** *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete. * If you do not specify a cluster, the default cluster is assumed.

                                                                        */ cluster?: string; + + /** + *

                                                                        The name of the service to delete.

                                                                        + */ + service: string | undefined; } export namespace DeleteServiceRequest { @@ -2721,6 +2721,11 @@ export namespace DeleteServiceResponse { } export interface DeleteTaskSetRequest { + /** + *

                                                                        The task set ID or full Amazon Resource Name (ARN) of the task set to delete.

                                                                        + */ + taskSet: string | undefined; + /** *

                                                                        The short name or full Amazon Resource Name (ARN) of the service that hosts the task set to * delete.

                                                                        @@ -2728,21 +2733,16 @@ export interface DeleteTaskSetRequest { service: string | undefined; /** - *

                                                                        The task set ID or full Amazon Resource Name (ARN) of the task set to delete.

                                                                        + *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + * set exists in to delete.

                                                                        */ - taskSet: string | undefined; + cluster: string | undefined; /** *

                                                                        If true, this allows you to delete a task set even if it hasn't been * scaled down to zero.

                                                                        */ force?: boolean; - - /** - *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task - * set exists in to delete.

                                                                        - */ - cluster: string | undefined; } export namespace DeleteTaskSetRequest { @@ -2784,6 +2784,12 @@ export namespace TaskSetNotFoundException { } export interface DeregisterContainerInstanceRequest { + /** + *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + * deregister. If you do not specify a cluster, the default cluster is assumed.

                                                                        + */ + cluster?: string; + /** *

                                                                        The container instance ID or full ARN of the container instance to deregister. * The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

                                                                        @@ -2803,12 +2809,6 @@ export interface DeregisterContainerInstanceRequest { * on the load balancer or target group.

                                                                        */ force?: boolean; - - /** - *

                                                                        The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to - * deregister. If you do not specify a cluster, the default cluster is assumed.

                                                                        - */ - cluster?: string; } export namespace DeregisterContainerInstanceRequest { @@ -2822,22 +2822,16 @@ export namespace DeregisterContainerInstanceRequest { */ export interface Resource { /** - *

                                                                        When the stringSetValue type is set, the value of the resource must be a - * string type.

                                                                        - */ - stringSetValue?: string[]; - - /** - *

                                                                        When the longValue type is set, the value of the resource must be an - * extended precision floating-point type.

                                                                        + *

                                                                        The name of the resource, such as CPU, MEMORY, + * PORTS, PORTS_UDP, or a user-defined resource.

                                                                        */ - longValue?: number; + name?: string; /** - *

                                                                        The type of the resource, such as INTEGER, DOUBLE, - * LONG, or STRINGSET.

                                                                        + *

                                                                        When the integerValue type is set, the value of the resource must be an + * integer.

                                                                        */ - type?: string; + integerValue?: number; /** *

                                                                        When the doubleValue type is set, the value of the resource must be a @@ -2846,16 +2840,22 @@ export interface Resource { doubleValue?: number; /** - *

                                                                        The name of the resource, such as CPU, MEMORY, - * PORTS, PORTS_UDP, or a user-defined resource.

                                                                        + *

                                                                        The type of the resource, such as INTEGER, DOUBLE, + * LONG, or STRINGSET.

                                                                        */ - name?: string; + type?: string; /** - *

                                                                        When the integerValue type is set, the value of the resource must be an - * integer.

                                                                        + *

                                                                        When the stringSetValue type is set, the value of the resource must be a + * string type.

                                                                        */ - integerValue?: number; + stringSetValue?: string[]; + + /** + *

                                                                        When the longValue type is set, the value of the resource must be an + * extended precision floating-point type.

                                                                        + */ + longValue?: number; } export namespace Resource { @@ -2869,6 +2869,11 @@ export namespace Resource { * instance.

                                                                        */ export interface VersionInfo { + /** + *

                                                                        The version number of the Amazon ECS container agent.

                                                                        + */ + agentVersion?: string; + /** *

                                                                        The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent * GitHub repository.

                                                                        @@ -2879,11 +2884,6 @@ export interface VersionInfo { *

                                                                        The Docker version running on the container instance.

                                                                        */ dockerVersion?: string; - - /** - *

                                                                        The version number of the Amazon ECS container agent.

                                                                        - */ - agentVersion?: string; } export namespace VersionInfo { @@ -2898,41 +2898,36 @@ export namespace VersionInfo { */ export interface ContainerInstance { /** - *

                                                                        The status of the most recent agent update. If an update has never been requested, - * this value is NULL.

                                                                        - */ - agentUpdateStatus?: AgentUpdateStatus | string; - - /** - *

                                                                        The Unix timestamp for when the container instance was registered.

                                                                        - */ - registeredAt?: Date; - - /** - *

                                                                        The resources attached to a container instance, such as elastic network - * interfaces.

                                                                        - */ - attachments?: Attachment[]; - - /** - *

                                                                        The version information for the Amazon ECS container agent and Docker daemon running on the - * container instance.

                                                                        + *

                                                                        The status of the container instance. The valid values are REGISTERING, + * REGISTRATION_FAILED, ACTIVE, INACTIVE, + * DEREGISTERING, or DRAINING.

                                                                        + *

                                                                        If your account has opted in to the awsvpcTrunking account setting, then + * any newly registered container instance will transition to a REGISTERING + * status while the trunk elastic network interface is provisioned for the instance. If the + * registration fails, the instance will transition to a REGISTRATION_FAILED + * status. You can describe the container instance and see the reason for failure in the + * statusReason parameter. Once the container instance is terminated, the + * instance transitions to a DEREGISTERING status while the trunk elastic + * network interface is deprovisioned. The instance then transitions to an + * INACTIVE status.

                                                                        + *

                                                                        The ACTIVE status indicates that the container instance can accept tasks. + * The DRAINING indicates that new tasks are not placed on the container + * instance and any service tasks running on the container instance are removed if + * possible. For more information, see Container Instance Draining in the + * Amazon Elastic Container Service Developer Guide.

                                                                        */ - versionInfo?: VersionInfo; + status?: string; /** - *

                                                                        This parameter returns true if the agent is connected to Amazon ECS. - * Registered instances with an agent that may be unhealthy or stopped return - * false. Only instances connected to an agent can accept placement - * requests.

                                                                        + *

                                                                        For CPU and memory resource types, this parameter describes the remaining CPU and + * memory that has not already been allocated to tasks and is therefore available for new + * tasks. For port resource types, this parameter describes the ports that were reserved by + * the Amazon ECS container agent (at instance registration time) and any task containers that + * have reserved port mappings on the host (with the host or + * bridge network mode). Any port that is not specified here is available + * for new tasks.

                                                                        */ - agentConnected?: boolean; - - /** - *

                                                                        The number of tasks on the container instance that are in the RUNNING - * status.

                                                                        - */ - runningTasksCount?: number; + remainingResources?: Resource[]; /** *

                                                                        The metadata that you apply to the container instance to help you categorize and @@ -2972,11 +2967,6 @@ export interface ContainerInstance { */ tags?: Tag[]; - /** - *

                                                                        The EC2 instance ID of the container instance.

                                                                        - */ - ec2InstanceId?: string; - /** *

                                                                        The capacity provider associated with the container instance.

                                                                        */ @@ -2998,6 +2988,18 @@ export interface ContainerInstance { */ containerInstanceArn?: string; + /** + *

                                                                        The resources attached to a container instance, such as elastic network + * interfaces.

                                                                        + */ + attachments?: Attachment[]; + + /** + *

                                                                        The status of the most recent agent update. If an update has never been requested, + * this value is NULL.

                                                                        + */ + agentUpdateStatus?: AgentUpdateStatus | string; + /** *

                                                                        The number of tasks on the container instance that are in the PENDING * status.

                                                                        @@ -3005,11 +3007,15 @@ export interface ContainerInstance { pendingTasksCount?: number; /** - *

                                                                        The attributes set for the container instance, either by the Amazon ECS container agent at - * instance registration or manually with the PutAttributes - * operation.

                                                                        + *

                                                                        The EC2 instance ID of the container instance.

                                                                        */ - attributes?: Attribute[]; + ec2InstanceId?: string; + + /** + *

                                                                        The number of tasks on the container instance that are in the RUNNING + * status.

                                                                        + */ + runningTasksCount?: number; /** *

                                                                        For CPU and memory resource types, this parameter describes the amount of each @@ -3022,15 +3028,19 @@ export interface ContainerInstance { registeredResources?: Resource[]; /** - *

                                                                        For CPU and memory resource types, this parameter describes the remaining CPU and - * memory that has not already been allocated to tasks and is therefore available for new - * tasks. For port resource types, this parameter describes the ports that were reserved by - * the Amazon ECS container agent (at instance registration time) and any task containers that - * have reserved port mappings on the host (with the host or - * bridge network mode). Any port that is not specified here is available - * for new tasks.

                                                                        + *

                                                                        The attributes set for the container instance, either by the Amazon ECS container agent at + * instance registration or manually with the PutAttributes + * operation.

                                                                        */ - remainingResources?: Resource[]; + attributes?: Attribute[]; + + /** + *

                                                                        This parameter returns true if the agent is connected to Amazon ECS. + * Registered instances with an agent that may be unhealthy or stopped return + * false. Only instances connected to an agent can accept placement + * requests.

                                                                        + */ + agentConnected?: boolean; /** *

                                                                        The reason that the container instance reached its current status.

                                                                        @@ -3038,25 +3048,15 @@ export interface ContainerInstance { statusReason?: string; /** - *

                                                                        The status of the container instance. The valid values are REGISTERING, - * REGISTRATION_FAILED, ACTIVE, INACTIVE, - * DEREGISTERING, or DRAINING.

                                                                        - *

                                                                        If your account has opted in to the awsvpcTrunking account setting, then - * any newly registered container instance will transition to a REGISTERING - * status while the trunk elastic network interface is provisioned for the instance. If the - * registration fails, the instance will transition to a REGISTRATION_FAILED - * status. You can describe the container instance and see the reason for failure in the - * statusReason parameter. Once the container instance is terminated, the - * instance transitions to a DEREGISTERING status while the trunk elastic - * network interface is deprovisioned. The instance then transitions to an - * INACTIVE status.

                                                                        - *

                                                                        The ACTIVE status indicates that the container instance can accept tasks. - * The DRAINING indicates that new tasks are not placed on the container - * instance and any service tasks running on the container instance are removed if - * possible. For more information, see Container Instance Draining in the - * Amazon Elastic Container Service Developer Guide.

                                                                        + *

                                                                        The version information for the Amazon ECS container agent and Docker daemon running on the + * container instance.

                                                                        */ - status?: string; + versionInfo?: VersionInfo; + + /** + *

                                                                        The Unix timestamp for when the container instance was registered.

                                                                        + */ + registeredAt?: Date; } export namespace ContainerInstance { @@ -3216,14 +3216,14 @@ export namespace EnvironmentFile { */ export interface HostEntry { /** - *

                                                                        The hostname to use in the /etc/hosts entry.

                                                                        + *

                                                                        The IP address to use in the /etc/hosts entry.

                                                                        */ - hostname: string | undefined; + ipAddress: string | undefined; /** - *

                                                                        The IP address to use in the /etc/hosts entry.

                                                                        + *

                                                                        The hostname to use in the /etc/hosts entry.

                                                                        */ - ipAddress: string | undefined; + hostname: string | undefined; } export namespace HostEntry { @@ -3337,6 +3337,31 @@ export namespace FirelensConfiguration { *
                                                                      */ export interface HealthCheck { + /** + *

                                                                      The optional grace period within which to provide containers time to bootstrap before + * failed health checks count towards the maximum number of retries. You may specify + * between 0 and 300 seconds. The startPeriod is disabled by default.

                                                                      + * + *

                                                                      If a health check succeeds within the startPeriod, then the container + * is considered healthy and any subsequent failures count toward the maximum number of + * retries.

                                                                      + *
                                                                      + */ + startPeriod?: number; + + /** + *

                                                                      The time period in seconds to wait for a health check to succeed before it is + * considered a failure. You may specify between 2 and 60 seconds. The default value is + * 5.

                                                                      + */ + timeout?: number; + + /** + *

                                                                      The time period in seconds between each health check execution. You may specify + * between 5 and 300 seconds. The default value is 30 seconds.

                                                                      + */ + interval?: number; + /** *

                                                                      A string array representing the command that the container runs to determine if it is * healthy. The string array must start with CMD to execute the command @@ -3356,31 +3381,6 @@ export interface HealthCheck { * unhealthy. You may specify between 1 and 10 retries. The default value is 3.

                                                                      */ retries?: number; - - /** - *

                                                                      The time period in seconds to wait for a health check to succeed before it is - * considered a failure. You may specify between 2 and 60 seconds. The default value is - * 5.

                                                                      - */ - timeout?: number; - - /** - *

                                                                      The optional grace period within which to provide containers time to bootstrap before - * failed health checks count towards the maximum number of retries. You may specify - * between 0 and 300 seconds. The startPeriod is disabled by default.

                                                                      - * - *

                                                                      If a health check succeeds within the startPeriod, then the container - * is considered healthy and any subsequent failures count toward the maximum number of - * retries.

                                                                      - *
                                                                      - */ - startPeriod?: number; - - /** - *

                                                                      The time period in seconds between each health check execution. You may specify - * between 5 and 300 seconds. The default value is 30 seconds.

                                                                      - */ - interval?: number; } export namespace HealthCheck { @@ -3398,11 +3398,16 @@ export namespace HealthCheck { */ export interface KernelCapabilities { /** - *

                                                                      The Linux capabilities for the container that have been removed from the default - * configuration provided by Docker. This parameter maps to CapDrop in the + *

                                                                      The Linux capabilities for the container that have been added to the default + * configuration provided by Docker. This parameter maps to CapAdd in the * Create a container section of the Docker Remote API and the - * --cap-drop option to docker + * --cap-add option to docker * run.

                                                                      + * + *

                                                                      The SYS_PTRACE capability is supported for tasks that use the + * Fargate launch type if they are also using platform version 1.4.0. The + * other capabilities are not supported for any platform versions.

                                                                      + *
                                                                      *

                                                                      Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | * "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | * "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | @@ -3413,19 +3418,14 @@ export interface KernelCapabilities { * "WAKE_ALARM" *

                                                                      */ - drop?: string[]; + add?: string[]; /** - *

                                                                      The Linux capabilities for the container that have been added to the default - * configuration provided by Docker. This parameter maps to CapAdd in the + *

                                                                      The Linux capabilities for the container that have been removed from the default + * configuration provided by Docker. This parameter maps to CapDrop in the * Create a container section of the Docker Remote API and the - * --cap-add option to docker + * --cap-drop option to docker * run.

                                                                      - * - *

                                                                      The SYS_PTRACE capability is supported for tasks that use the - * Fargate launch type if they are also using platform version 1.4.0. The - * other capabilities are not supported for any platform versions.

                                                                      - *
                                                                      *

                                                                      Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | * "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | * "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | @@ -3436,7 +3436,7 @@ export interface KernelCapabilities { * "WAKE_ALARM" *

                                                                      */ - add?: string[]; + drop?: string[]; } export namespace KernelCapabilities { @@ -3455,6 +3455,13 @@ export enum DeviceCgroupPermission { *

                                                                      An object representing a container instance host device.

                                                                      */ export interface Device { + /** + *

                                                                      The explicit permissions to provide to the container for the device. By default, the + * container has permissions for read, write, and + * mknod for the device.

                                                                      + */ + permissions?: (DeviceCgroupPermission | string)[]; + /** *

                                                                      The path for the device on the host container instance.

                                                                      */ @@ -3464,13 +3471,6 @@ export interface Device { *

                                                                      The path inside the container at which to expose the host device.

                                                                      */ containerPath?: string; - - /** - *

                                                                      The explicit permissions to provide to the container for the device. By default, the - * container has permissions for read, write, and - * mknod for the device.

                                                                      - */ - permissions?: (DeviceCgroupPermission | string)[]; } export namespace Device { @@ -3483,6 +3483,11 @@ export namespace Device { *

                                                                      The container path, mount options, and size of the tmpfs mount.

                                                                      */ export interface Tmpfs { + /** + *

                                                                      The size (in MiB) of the tmpfs volume.

                                                                      + */ + size: number | undefined; + /** *

                                                                      The absolute file path where the tmpfs volume is to be mounted.

                                                                      */ @@ -3499,11 +3504,6 @@ export interface Tmpfs { *

                                                                      */ mountOptions?: string[]; - - /** - *

                                                                      The size (in MiB) of the tmpfs volume.

                                                                      - */ - size: number | undefined; } export namespace Tmpfs { @@ -3517,15 +3517,15 @@ export namespace Tmpfs { */ export interface LinuxParameters { /** - *

                                                                      The value for the size (in MiB) of the /dev/shm volume. This parameter - * maps to the --shm-size option to docker - * run.

                                                                      + *

                                                                      Any host devices to expose to the container. This parameter maps to + * Devices in the Create a container section of the + * Docker Remote API and the --device option to docker run.

                                                                      * *

                                                                      If you are using tasks that use the Fargate launch type, the - * sharedMemorySize parameter is not supported.

                                                                      + * devices parameter is not supported.

                                                                      *
                                                                      */ - sharedMemorySize?: number; + devices?: Device[]; /** *

                                                                      The total amount of swap memory (in MiB) a container can use. This parameter will be @@ -3544,31 +3544,23 @@ export interface LinuxParameters { maxSwap?: number; /** - *

                                                                      This allows you to tune a container's memory swappiness behavior. A - * swappiness value of 0 will cause swapping to not happen - * unless absolutely necessary. A swappiness value of 100 will - * cause pages to be swapped very aggressively. Accepted values are whole numbers between - * 0 and 100. If the swappiness parameter is not - * specified, a default value of 60 is used. If a value is not specified for - * maxSwap then this parameter is ignored. This parameter maps to the - * --memory-swappiness option to docker run.

                                                                      + *

                                                                      The Linux capabilities for the container that are added to or dropped from the default + * configuration provided by Docker.

                                                                      * - *

                                                                      If you are using tasks that use the Fargate launch type, the - * swappiness parameter is not supported.

                                                                      + *

                                                                      For tasks that use the Fargate launch type, + * capabilities is supported for all platform versions but the + * add parameter is only supported if using platform version 1.4.0 or + * later.

                                                                      *
                                                                      */ - swappiness?: number; + capabilities?: KernelCapabilities; /** - *

                                                                      Any host devices to expose to the container. This parameter maps to - * Devices in the Create a container section of the - * Docker Remote API and the --device option to docker run.

                                                                      - * - *

                                                                      If you are using tasks that use the Fargate launch type, the - * devices parameter is not supported.

                                                                      - *
                                                                      + *

                                                                      Run an init process inside the container that forwards signals and reaps + * processes. This parameter maps to the --init option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + *

                                                                      */ - devices?: Device[]; + initProcessEnabled?: boolean; /** *

                                                                      The container path, mount options, and size (in MiB) of the tmpfs mount. This @@ -3581,23 +3573,31 @@ export interface LinuxParameters { tmpfs?: Tmpfs[]; /** - *

                                                                      The Linux capabilities for the container that are added to or dropped from the default - * configuration provided by Docker.

                                                                      + *

                                                                      This allows you to tune a container's memory swappiness behavior. A + * swappiness value of 0 will cause swapping to not happen + * unless absolutely necessary. A swappiness value of 100 will + * cause pages to be swapped very aggressively. Accepted values are whole numbers between + * 0 and 100. If the swappiness parameter is not + * specified, a default value of 60 is used. If a value is not specified for + * maxSwap then this parameter is ignored. This parameter maps to the + * --memory-swappiness option to docker run.

                                                                      * - *

                                                                      For tasks that use the Fargate launch type, - * capabilities is supported for all platform versions but the - * add parameter is only supported if using platform version 1.4.0 or - * later.

                                                                      + *

                                                                      If you are using tasks that use the Fargate launch type, the + * swappiness parameter is not supported.

                                                                      *
                                                                      */ - capabilities?: KernelCapabilities; + swappiness?: number; /** - *

                                                                      Run an init process inside the container that forwards signals and reaps - * processes. This parameter maps to the --init option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' - *

                                                                      + *

                                                                      The value for the size (in MiB) of the /dev/shm volume. This parameter + * maps to the --shm-size option to docker + * run.

                                                                      + * + *

                                                                      If you are using tasks that use the Fargate launch type, the + * sharedMemorySize parameter is not supported.

                                                                      + *
                                                                      */ - initProcessEnabled?: boolean; + sharedMemorySize?: number; } export namespace LinuxParameters { @@ -3701,18 +3701,6 @@ export namespace Secret { *
                                                                    */ export interface LogConfiguration { - /** - *

                                                                    The secrets to pass to the log configuration. For more information, see Specifying - * Sensitive Data in the Amazon Elastic Container Service Developer Guide.

                                                                    - */ - secretOptions?: Secret[]; - - /** - *

                                                                    The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' - *

                                                                    - */ - options?: { [key: string]: string }; - /** *

                                                                    The log driver to use for the container. The valid values listed earlier are log * drivers that the Amazon ECS container agent can communicate with by default.

                                                                    @@ -3736,6 +3724,18 @@ export interface LogConfiguration { * */ logDriver: LogDriver | string | undefined; + + /** + *

                                                                    The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + *

                                                                    + */ + options?: { [key: string]: string }; + + /** + *

                                                                    The secrets to pass to the log configuration. For more information, see Specifying + * Sensitive Data in the Amazon Elastic Container Service Developer Guide.

                                                                    + */ + secretOptions?: Secret[]; } export namespace LogConfiguration { @@ -3748,6 +3748,13 @@ export namespace LogConfiguration { *

                                                                    Details on a volume mount point that is used in a container definition.

                                                                    */ export interface MountPoint { + /** + *

                                                                    If this value is true, the container has read-only access to the volume. + * If this value is false, then the container can write to the volume. The + * default value is false.

                                                                    + */ + readOnly?: boolean; + /** *

                                                                    The path on the container to mount the host volume at.

                                                                    */ @@ -3758,13 +3765,6 @@ export interface MountPoint { * name parameter of task definition volume.

                                                                    */ sourceVolume?: string; - - /** - *

                                                                    If this value is true, the container has read-only access to the volume. - * If this value is false, then the container can write to the volume. The - * default value is false.

                                                                    - */ - readOnly?: boolean; } export namespace MountPoint { @@ -3797,24 +3797,6 @@ export interface PortMapping { */ protocol?: TransportProtocol | string; - /** - *

                                                                    The port number on the container that is bound to the user-specified or automatically - * assigned host port.

                                                                    - *

                                                                    If you are using containers in a task with the awsvpc or - * host network mode, exposed ports should be specified using - * containerPort.

                                                                    - *

                                                                    If you are using containers in a task with the bridge network mode and - * you specify a container port and not a host port, your container automatically receives - * a host port in the ephemeral port range. For more information, see - * hostPort. Port mappings that are automatically assigned in this way do not - * count toward the 100 reserved ports limit of a container instance.

                                                                    - * - *

                                                                    You cannot expose the same container port for multiple protocols. An error will be - * returned if this is attempted.

                                                                    - *
                                                                    - */ - containerPort?: number; - /** *

                                                                    The port number on the container instance to reserve for your container.

                                                                    *

                                                                    If you are using containers in a task with the awsvpc or @@ -3846,6 +3828,24 @@ export interface PortMapping { * ports limit.

                                                                    */ hostPort?: number; + + /** + *

                                                                    The port number on the container that is bound to the user-specified or automatically + * assigned host port.

                                                                    + *

                                                                    If you are using containers in a task with the awsvpc or + * host network mode, exposed ports should be specified using + * containerPort.

                                                                    + *

                                                                    If you are using containers in a task with the bridge network mode and + * you specify a container port and not a host port, your container automatically receives + * a host port in the ephemeral port range. For more information, see + * hostPort. Port mappings that are automatically assigned in this way do not + * count toward the 100 reserved ports limit of a container instance.

                                                                    + * + *

                                                                    You cannot expose the same container port for multiple protocols. An error will be + * returned if this is attempted.

                                                                    + *
                                                                    + */ + containerPort?: number; } export namespace PortMapping { @@ -3940,16 +3940,16 @@ export namespace ResourceRequirement { *
                                                                  */ export interface SystemControl { - /** - *

                                                                  The namespaced kernel parameter for which to set a value.

                                                                  - */ - namespace?: string; - /** *

                                                                  The value for the namespaced kernel parameter specified in * namespace.

                                                                  */ value?: string; + + /** + *

                                                                  The namespaced kernel parameter for which to set a value.

                                                                  + */ + namespace?: string; } export namespace SystemControl { @@ -3981,9 +3981,9 @@ export enum UlimitName { */ export interface Ulimit { /** - *

                                                                  The soft limit for the ulimit type.

                                                                  + *

                                                                  The hard limit for the ulimit type.

                                                                  */ - softLimit: number | undefined; + hardLimit: number | undefined; /** *

                                                                  The type of the ulimit.

                                                                  @@ -3991,9 +3991,9 @@ export interface Ulimit { name: UlimitName | string | undefined; /** - *

                                                                  The hard limit for the ulimit type.

                                                                  + *

                                                                  The soft limit for the ulimit type.

                                                                  */ - hardLimit: number | undefined; + softLimit: number | undefined; } export namespace Ulimit { @@ -4032,78 +4032,184 @@ export namespace VolumeFrom { */ export interface ContainerDefinition { /** - *

                                                                  The image used to start a container. This string is passed directly to the Docker - * daemon. Images in the Docker Hub registry are available by default. Other repositories - * are specified with either - * repository-url/image:tag - * or - * repository-url/image@digest - * . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the + *

                                                                  When this parameter is true, a TTY is allocated. This parameter maps to + * Tty in the Create a container section of the + * Docker Remote API and the --tty option to docker run.

                                                                  + */ + pseudoTerminal?: boolean; + + /** + *

                                                                  A list of ulimits to set in the container. If a ulimit value is specified + * in a task definition, it will override the default values set by Docker. This parameter + * maps to Ulimits in the Create a container section of the + * Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed + * in the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + *

                                                                  + * + *

                                                                  This parameter is not supported for Windows containers.

                                                                  + *
                                                                  + */ + ulimits?: Ulimit[]; + + /** + *

                                                                  The container health check command and associated configuration parameters for the + * container. This parameter maps to HealthCheck in the * Create a container section of the Docker Remote API and the - * IMAGE parameter of docker + * HEALTHCHECK parameter of docker + * run.

                                                                  + */ + healthCheck?: HealthCheck; + + /** + *

                                                                  When this parameter is true, networking is disabled within the container. This + * parameter maps to NetworkDisabled in the Create a container + * section of the Docker Remote API.

                                                                  + * + *

                                                                  This parameter is not supported for Windows containers.

                                                                  + *
                                                                  + */ + disableNetworking?: boolean; + + /** + *

                                                                  A list of hostnames and IP address mappings to append to the /etc/hosts + * file on the container. This parameter maps to ExtraHosts in the + * Create a container section of the Docker Remote API and the + * --add-host option to docker * run.

                                                                  + * + *

                                                                  This parameter is not supported for Windows containers or tasks that use the + * awsvpc network mode.

                                                                  + *
                                                                  + */ + extraHosts?: HostEntry[]; + + /** + *

                                                                  The user name to use inside the container. This parameter maps to User in + * the Create a container section of the Docker Remote API and the + * --user option to docker + * run.

                                                                  + *

                                                                  You can use the following formats. If specifying a UID or GID, you must specify it as + * a positive integer.

                                                                  *
                                                                    *
                                                                  • - *

                                                                    When a new task starts, the Amazon ECS container agent pulls the latest version of - * the specified image and tag for the container to use. However, subsequent - * updates to a repository image are not propagated to already running - * tasks.

                                                                    + *

                                                                    + * user + *

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Images in Amazon ECR repositories can be specified by either using the full - * registry/repository:tag or - * registry/repository@digest. For example, - * 012345678910.dkr.ecr..amazonaws.com/:latest - * or - * 012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. - *

                                                                    + *

                                                                    + * user:group + *

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Images in official repositories on Docker Hub use a single name (for example, - * ubuntu or mongo).

                                                                    + *

                                                                    + * uid + *

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Images in other repositories on Docker Hub are qualified with an organization - * name (for example, amazon/amazon-ecs-agent).

                                                                    + *

                                                                    + * uid:gid + *

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Images in other online repositories are qualified further by a domain name - * (for example, quay.io/assemblyline/ubuntu).

                                                                    + *

                                                                    + * user:gid + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * uid:group + *

                                                                    *
                                                                  • *
                                                                  + * + *

                                                                  This parameter is not supported for Windows containers.

                                                                  + *
                                                                  */ - image?: string; + user?: string; /** - *

                                                                  The command that is passed to the container. This parameter maps to Cmd - * in the Create a container section of the Docker Remote API and the - * COMMAND parameter to docker - * run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd. If there are multiple arguments, each - * argument should be a separated string in the array.

                                                                  + *

                                                                  A list of strings to provide custom labels for SELinux and AppArmor multi-level + * security systems. This field is not valid for containers in tasks using the + * Fargate launch type.

                                                                  + *

                                                                  With Windows containers, this parameter can be used to reference a credential spec + * file when configuring a container for Active Directory authentication. For more + * information, see Using gMSAs for Windows + * Containers in the Amazon Elastic Container Service Developer Guide.

                                                                  + *

                                                                  This parameter maps to SecurityOpt in the + * Create a container section of the Docker Remote API and the + * --security-opt option to docker + * run.

                                                                  + * + *

                                                                  The Amazon ECS container agent running on a container instance must register with the + * ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true + * environment variables before containers placed on that instance can use these + * security options. For more information, see Amazon ECS Container + * Agent Configuration in the Amazon Elastic Container Service Developer Guide.

                                                                  + *
                                                                  */ - command?: string[]; + dockerSecurityOptions?: string[]; /** - *

                                                                  A key/value map of labels to add to the container. This parameter maps to - * Labels in the Create a container section of the - * Docker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' - *

                                                                  + *

                                                                  The links parameter allows containers to communicate with each other + * without the need for port mappings. This parameter is only supported if the network mode + * of a task definition is bridge. The name:internalName + * construct is analogous to name:alias in Docker links. + * Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. For more information about linking Docker containers, go to + * Legacy container links + * in the Docker documentation. This parameter maps to Links in the + * Create a container section of the Docker Remote API and the + * --link option to docker + * run.

                                                                  + * + *

                                                                  This parameter is not supported for Windows containers.

                                                                  + *
                                                                  + * + *

                                                                  Containers that are collocated on a single container instance may be able to + * communicate with each other without requiring links or host port mappings. Network + * isolation is achieved on the container instance using security groups and VPC + * settings.

                                                                  + *
                                                                  */ - dockerLabels?: { [key: string]: string }; + links?: string[]; /** - *

                                                                  If the essential parameter of a container is marked as true, - * and that container fails or stops for any reason, all other containers that are part of - * the task are stopped. If the essential parameter of a container is marked - * as false, then its failure does not affect the rest of the containers in a - * task. If this parameter is omitted, a container is assumed to be essential.

                                                                  - *

                                                                  All tasks must have at least one essential container. If you have an application that - * is composed of multiple containers, you should group containers that are used for a - * common purpose into components, and separate the different components into multiple task - * definitions. For more information, see Application - * Architecture in the Amazon Elastic Container Service Developer Guide.

                                                                  + *

                                                                  Data volumes to mount from another container. This parameter maps to + * VolumesFrom in the Create a container section of the + * Docker Remote API and the --volumes-from option to docker run.

                                                                  */ - essential?: boolean; + volumesFrom?: VolumeFrom[]; + + /** + *

                                                                  The name of a container. If you are linking multiple containers together in a task + * definition, the name of one container can be entered in the + * links of another container to connect the containers. + * Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This parameter maps to name in the + * Create a container section of the Docker Remote API and the + * --name option to docker + * run.

                                                                  + */ + name?: string; + + /** + *

                                                                  The amount (in MiB) of memory to present to the container. If your container attempts + * to exceed the memory specified here, the container is killed. The total amount of memory + * reserved for all containers within a task must be lower than the task + * memory value, if one is specified. This parameter maps to + * Memory in the Create a container section of the + * Docker Remote API and the --memory option to docker run.

                                                                  + *

                                                                  If using the Fargate launch type, this parameter is optional.

                                                                  + *

                                                                  If using the EC2 launch type, you must specify either a task-level + * memory value or a container-level memory value. If you specify both a container-level + * memory and memoryReservation value, memory + * must be greater than memoryReservation. If you specify + * memoryReservation, then that value is subtracted from the available + * memory resources for the container instance on which the container is placed. Otherwise, + * the value of memory is used.

                                                                  + *

                                                                  The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should + * not specify fewer than 4 MiB of memory for your containers.

                                                                  + */ + memory?: number; /** *

                                                                  Linux-specific modifications that are applied to the container, such as Linux kernel @@ -4115,9 +4221,28 @@ export interface ContainerDefinition { linuxParameters?: LinuxParameters; /** - *

                                                                  The private repository authentication credentials to use.

                                                                  + *

                                                                  A list of DNS search domains that are presented to the container. This parameter maps + * to DnsSearch in the Create a container section of the + * Docker Remote API and the --dns-search option to docker run.

                                                                  + * + *

                                                                  This parameter is not supported for Windows containers.

                                                                  + *
                                                                  */ - repositoryCredentials?: RepositoryCredentials; + dnsSearchDomains?: string[]; + + /** + *

                                                                  If the essential parameter of a container is marked as true, + * and that container fails or stops for any reason, all other containers that are part of + * the task are stopped. If the essential parameter of a container is marked + * as false, then its failure does not affect the rest of the containers in a + * task. If this parameter is omitted, a container is assumed to be essential.

                                                                  + *

                                                                  All tasks must have at least one essential container. If you have an application that + * is composed of multiple containers, you should group containers that are used for a + * common purpose into components, and separate the different components into multiple task + * definitions. For more information, see Application + * Architecture in the Amazon Elastic Container Service Developer Guide.

                                                                  + */ + essential?: boolean; /** *

                                                                  A list of namespaced kernel parameters to set in the container. This parameter maps to @@ -4135,77 +4260,6 @@ export interface ContainerDefinition { */ systemControls?: SystemControl[]; - /** - *

                                                                  The log configuration specification for the container.

                                                                  - *

                                                                  This parameter maps to LogConfig in the - * Create a container section of the Docker Remote API and the - * --log-driver option to docker - * run. By default, containers use the same logging driver that the Docker - * daemon uses. However the container may use a different logging driver than the Docker - * daemon by specifying a log driver with this parameter in the container definition. To - * use a different logging driver for a container, the log system must be configured - * properly on the container instance (or on a different log server for remote logging - * options). For more information on the options for different supported log drivers, see - * Configure - * logging drivers in the Docker documentation.

                                                                  - * - *

                                                                  Amazon ECS currently supports a subset of the logging drivers available to the Docker - * daemon (shown in the LogConfiguration data type). Additional log - * drivers may be available in future releases of the Amazon ECS container agent.

                                                                  - *
                                                                  - *

                                                                  This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' - *

                                                                  - * - *

                                                                  The Amazon ECS container agent running on a container instance must register the - * logging drivers available on that instance with the - * ECS_AVAILABLE_LOGGING_DRIVERS environment variable before - * containers placed on that instance can use these log configuration options. For more - * information, see Amazon ECS Container - * Agent Configuration in the Amazon Elastic Container Service Developer Guide.

                                                                  - *
                                                                  - */ - logConfiguration?: LogConfiguration; - - /** - *

                                                                  A list of strings to provide custom labels for SELinux and AppArmor multi-level - * security systems. This field is not valid for containers in tasks using the - * Fargate launch type.

                                                                  - *

                                                                  With Windows containers, this parameter can be used to reference a credential spec - * file when configuring a container for Active Directory authentication. For more - * information, see Using gMSAs for Windows - * Containers in the Amazon Elastic Container Service Developer Guide.

                                                                  - *

                                                                  This parameter maps to SecurityOpt in the - * Create a container section of the Docker Remote API and the - * --security-opt option to docker - * run.

                                                                  - * - *

                                                                  The Amazon ECS container agent running on a container instance must register with the - * ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true - * environment variables before containers placed on that instance can use these - * security options. For more information, see Amazon ECS Container - * Agent Configuration in the Amazon Elastic Container Service Developer Guide.

                                                                  - *
                                                                  - */ - dockerSecurityOptions?: string[]; - - /** - *

                                                                  The dependencies defined for container startup and shutdown. A container can contain - * multiple dependencies. When a dependency is defined for container startup, for container - * shutdown it is reversed.

                                                                  - *

                                                                  For tasks using the EC2 launch type, the container instances require at - * least version 1.26.0 of the container agent to enable container dependencies. However, - * we recommend using the latest container agent version. For information about checking - * your agent version and updating to the latest version, see Updating the Amazon ECS - * Container Agent in the Amazon Elastic Container Service Developer Guide. If you are - * using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the - * ecs-init package. If your container instances are launched from version - * 20190301 or later, then they contain the required versions of the - * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                  - *

                                                                  For tasks using the Fargate launch type, the task or service requires - * platform version 1.3.0 or later.

                                                                  - */ - dependsOn?: ContainerDependency[]; - /** *

                                                                  A list of files containing the environment variables to pass to a container. This * parameter maps to the --env-file option to docker run.

                                                                  @@ -4226,6 +4280,78 @@ export interface ContainerDefinition { */ environmentFiles?: EnvironmentFile[]; + /** + *

                                                                  The environment variables to pass to a container. This parameter maps to + * Env in the Create a container section of the + * Docker Remote API and the --env option to docker run.

                                                                  + * + *

                                                                  We do not recommend using plaintext environment variables for sensitive + * information, such as credential data.

                                                                  + *
                                                                  + */ + environment?: KeyValuePair[]; + + /** + *

                                                                  When this parameter is true, the container is given read-only access to its root file + * system. This parameter maps to ReadonlyRootfs in the + * Create a container section of the Docker Remote API and the + * --read-only option to docker + * run.

                                                                  + * + *

                                                                  This parameter is not supported for Windows containers.

                                                                  + *
                                                                  + */ + readonlyRootFilesystem?: boolean; + + /** + *

                                                                  The working directory in which to run commands inside the container. This parameter + * maps to WorkingDir in the Create a container section of the + * Docker Remote API and the --workdir option to docker run.

                                                                  + */ + workingDirectory?: string; + + /** + *

                                                                  The secrets to pass to the container. For more information, see Specifying + * Sensitive Data in the Amazon Elastic Container Service Developer Guide.

                                                                  + */ + secrets?: Secret[]; + + /** + *

                                                                  The command that is passed to the container. This parameter maps to Cmd + * in the Create a container section of the Docker Remote API and the + * COMMAND parameter to docker + * run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd. If there are multiple arguments, each + * argument should be a separated string in the array.

                                                                  + */ + command?: string[]; + + /** + *

                                                                  A list of DNS servers that are presented to the container. This parameter maps to + * Dns in the Create a container section of the + * Docker Remote API and the --dns option to docker run.

                                                                  + * + *

                                                                  This parameter is not supported for Windows containers.

                                                                  + *
                                                                  + */ + dnsServers?: string[]; + + /** + *

                                                                  The type and amount of a resource to assign to a container. The only supported + * resource is a GPU.

                                                                  + */ + resourceRequirements?: ResourceRequirement[]; + + /** + *

                                                                  When this parameter is true, the container is given elevated privileges on the host + * container instance (similar to the root user). This parameter maps to + * Privileged in the Create a container section of the + * Docker Remote API and the --privileged option to docker run.

                                                                  + * + *

                                                                  This parameter is not supported for Windows containers or tasks using the Fargate launch type.

                                                                  + *
                                                                  + */ + privileged?: boolean; + /** *

                                                                  The number of cpu units reserved for the container. This parameter maps * to CpuShares in the Create a container section of the @@ -4276,98 +4402,46 @@ export interface ContainerDefinition { cpu?: number; /** - *

                                                                  The container health check command and associated configuration parameters for the - * container. This parameter maps to HealthCheck in the - * Create a container section of the Docker Remote API and the - * HEALTHCHECK parameter of docker - * run.

                                                                  + *

                                                                  Time duration (in seconds) to wait before the container is forcefully killed if it + * doesn't exit normally on its own.

                                                                  + *

                                                                  For tasks using the Fargate launch type, the task or service requires + * platform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the + * parameter is not specified, the default value of 30 seconds is used.

                                                                  + *

                                                                  For tasks using the EC2 launch type, if the stopTimeout + * parameter is not specified, the value set for the Amazon ECS container agent configuration + * variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the + * stopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT + * agent configuration variable are set, then the default values of 30 seconds for Linux + * containers and 30 seconds on Windows containers are used. Your container instances + * require at least version 1.26.0 of the container agent to enable a container stop + * timeout value. However, we recommend using the latest container agent version. For + * information about checking your agent version and updating to the latest version, see + * Updating the Amazon ECS + * Container Agent in the Amazon Elastic Container Service Developer Guide. If you are + * using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the + * ecs-init package. If your container instances are launched from version + * 20190301 or later, then they contain the required versions of the + * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                  */ - healthCheck?: HealthCheck; + stopTimeout?: number; /** - *

                                                                  When this parameter is true, the container is given read-only access to its root file - * system. This parameter maps to ReadonlyRootfs in the - * Create a container section of the Docker Remote API and the - * --read-only option to docker - * run.

                                                                  - * - *

                                                                  This parameter is not supported for Windows containers.

                                                                  - *
                                                                  + *

                                                                  The dependencies defined for container startup and shutdown. A container can contain + * multiple dependencies. When a dependency is defined for container startup, for container + * shutdown it is reversed.

                                                                  + *

                                                                  For tasks using the EC2 launch type, the container instances require at + * least version 1.26.0 of the container agent to enable container dependencies. However, + * we recommend using the latest container agent version. For information about checking + * your agent version and updating to the latest version, see Updating the Amazon ECS + * Container Agent in the Amazon Elastic Container Service Developer Guide. If you are + * using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the + * ecs-init package. If your container instances are launched from version + * 20190301 or later, then they contain the required versions of the + * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                  + *

                                                                  For tasks using the Fargate launch type, the task or service requires + * platform version 1.3.0 or later.

                                                                  */ - readonlyRootFilesystem?: boolean; - - /** - *

                                                                  The environment variables to pass to a container. This parameter maps to - * Env in the Create a container section of the - * Docker Remote API and the --env option to docker run.

                                                                  - * - *

                                                                  We do not recommend using plaintext environment variables for sensitive - * information, such as credential data.

                                                                  - *
                                                                  - */ - environment?: KeyValuePair[]; - - /** - *

                                                                  When this parameter is true, the container is given elevated privileges on the host - * container instance (similar to the root user). This parameter maps to - * Privileged in the Create a container section of the - * Docker Remote API and the --privileged option to docker run.

                                                                  - * - *

                                                                  This parameter is not supported for Windows containers or tasks using the Fargate launch type.

                                                                  - *
                                                                  - */ - privileged?: boolean; - - /** - *

                                                                  The user name to use inside the container. This parameter maps to User in - * the Create a container section of the Docker Remote API and the - * --user option to docker - * run.

                                                                  - *

                                                                  You can use the following formats. If specifying a UID or GID, you must specify it as - * a positive integer.

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * user - *

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * user:group - *

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * uid - *

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * uid:gid - *

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * user:gid - *

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * uid:group - *

                                                                    - *
                                                                  • - *
                                                                  - * - *

                                                                  This parameter is not supported for Windows containers.

                                                                  - *
                                                                  - */ - user?: string; - - /** - *

                                                                  The secrets to pass to the container. For more information, see Specifying - * Sensitive Data in the Amazon Elastic Container Service Developer Guide.

                                                                  - */ - secrets?: Secret[]; + dependsOn?: ContainerDependency[]; /** *

                                                                  The mount points for data volumes in your container.

                                                                  @@ -4380,65 +4454,30 @@ export interface ContainerDefinition { mountPoints?: MountPoint[]; /** - *

                                                                  The name of a container. If you are linking multiple containers together in a task - * definition, the name of one container can be entered in the - * links of another container to connect the containers. - * Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This parameter maps to name in the - * Create a container section of the Docker Remote API and the - * --name option to docker - * run.

                                                                  - */ - name?: string; - - /** - *

                                                                  Data volumes to mount from another container. This parameter maps to - * VolumesFrom in the Create a container section of the - * Docker Remote API and the --volumes-from option to docker run.

                                                                  - */ - volumesFrom?: VolumeFrom[]; - - /** - *

                                                                  The working directory in which to run commands inside the container. This parameter - * maps to WorkingDir in the Create a container section of the - * Docker Remote API and the --workdir option to docker run.

                                                                  + * + *

                                                                  Early versions of the Amazon ECS container agent do not properly handle + * entryPoint parameters. If you have problems using + * entryPoint, update your container agent or enter your commands and + * arguments as command array items instead.

                                                                  + *
                                                                  + *

                                                                  The entry point that is passed to the container. This parameter maps to + * Entrypoint in the Create a container section of the + * Docker Remote API and the --entrypoint option to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint.

                                                                  */ - workingDirectory?: string; + entryPoint?: string[]; /** - *

                                                                  The soft limit (in MiB) of memory to reserve for the container. When system memory is - * under heavy contention, Docker attempts to keep the container memory to this soft limit. - * However, your container can consume more memory when it needs to, up to either the hard - * limit specified with the memory parameter (if applicable), or all of the - * available memory on the container instance, whichever comes first. This parameter maps - * to MemoryReservation in the Create a container section of - * the Docker Remote API and the --memory-reservation option to docker run.

                                                                  - *

                                                                  If a task-level memory value is not specified, you must specify a non-zero integer for - * one or both of memory or memoryReservation in a container - * definition. If you specify both, memory must be greater than - * memoryReservation. If you specify memoryReservation, then - * that value is subtracted from the available memory resources for the container instance - * on which the container is placed. Otherwise, the value of memory is - * used.

                                                                  - *

                                                                  For example, if your container normally uses 128 MiB of memory, but occasionally - * bursts to 256 MiB of memory for short periods of time, you can set a - * memoryReservation of 128 MiB, and a memory hard limit of - * 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory - * from the remaining resources on the container instance, but also allow the container to - * consume more memory resources when needed.

                                                                  - *

                                                                  The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should - * not specify fewer than 4 MiB of memory for your containers.

                                                                  + *

                                                                  A key/value map of labels to add to the container. This parameter maps to + * Labels in the Create a container section of the + * Docker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + *

                                                                  */ - memoryReservation?: number; + dockerLabels?: { [key: string]: string }; /** - *

                                                                  A list of DNS search domains that are presented to the container. This parameter maps - * to DnsSearch in the Create a container section of the - * Docker Remote API and the --dns-search option to docker run.

                                                                  - * - *

                                                                  This parameter is not supported for Windows containers.

                                                                  - *
                                                                  + *

                                                                  The private repository authentication credentials to use.

                                                                  */ - dnsSearchDomains?: string[]; + repositoryCredentials?: RepositoryCredentials; /** *

                                                                  The list of port mappings for the container. Port mappings allow containers to access @@ -4467,39 +4506,6 @@ export interface ContainerDefinition { */ portMappings?: PortMapping[]; - /** - *

                                                                  The amount (in MiB) of memory to present to the container. If your container attempts - * to exceed the memory specified here, the container is killed. The total amount of memory - * reserved for all containers within a task must be lower than the task - * memory value, if one is specified. This parameter maps to - * Memory in the Create a container section of the - * Docker Remote API and the --memory option to docker run.

                                                                  - *

                                                                  If using the Fargate launch type, this parameter is optional.

                                                                  - *

                                                                  If using the EC2 launch type, you must specify either a task-level - * memory value or a container-level memory value. If you specify both a container-level - * memory and memoryReservation value, memory - * must be greater than memoryReservation. If you specify - * memoryReservation, then that value is subtracted from the available - * memory resources for the container instance on which the container is placed. Otherwise, - * the value of memory is used.

                                                                  - *

                                                                  The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should - * not specify fewer than 4 MiB of memory for your containers.

                                                                  - */ - memory?: number; - - /** - * - *

                                                                  Early versions of the Amazon ECS container agent do not properly handle - * entryPoint parameters. If you have problems using - * entryPoint, update your container agent or enter your commands and - * arguments as command array items instead.

                                                                  - *
                                                                  - *

                                                                  The entry point that is passed to the container. This parameter maps to - * Entrypoint in the Create a container section of the - * Docker Remote API and the --entrypoint option to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint.

                                                                  - */ - entryPoint?: string[]; - /** *

                                                                  When this parameter is true, this allows you to deploy containerized * applications that require stdin or a tty to be allocated. This @@ -4508,49 +4514,6 @@ export interface ContainerDefinition { */ interactive?: boolean; - /** - *

                                                                  When this parameter is true, networking is disabled within the container. This - * parameter maps to NetworkDisabled in the Create a container - * section of the Docker Remote API.

                                                                  - * - *

                                                                  This parameter is not supported for Windows containers.

                                                                  - *
                                                                  - */ - disableNetworking?: boolean; - - /** - *

                                                                  A list of hostnames and IP address mappings to append to the /etc/hosts - * file on the container. This parameter maps to ExtraHosts in the - * Create a container section of the Docker Remote API and the - * --add-host option to docker - * run.

                                                                  - * - *

                                                                  This parameter is not supported for Windows containers or tasks that use the - * awsvpc network mode.

                                                                  - *
                                                                  - */ - extraHosts?: HostEntry[]; - - /** - *

                                                                  A list of ulimits to set in the container. If a ulimit value is specified - * in a task definition, it will override the default values set by Docker. This parameter - * maps to Ulimits in the Create a container section of the - * Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed - * in the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' - *

                                                                  - * - *

                                                                  This parameter is not supported for Windows containers.

                                                                  - *
                                                                  - */ - ulimits?: Ulimit[]; - - /** - *

                                                                  When this parameter is true, a TTY is allocated. This parameter maps to - * Tty in the Create a container section of the - * Docker Remote API and the --tty option to docker run.

                                                                  - */ - pseudoTerminal?: boolean; - /** *

                                                                  Time duration (in seconds) to wait before giving up on resolving dependencies for a * container. For example, you specify two containers in a task definition with containerA @@ -4593,74 +4556,111 @@ export interface ContainerDefinition { hostname?: string; /** - *

                                                                  The type and amount of a resource to assign to a container. The only supported - * resource is a GPU.

                                                                  + *

                                                                  The log configuration specification for the container.

                                                                  + *

                                                                  This parameter maps to LogConfig in the + * Create a container section of the Docker Remote API and the + * --log-driver option to docker + * run. By default, containers use the same logging driver that the Docker + * daemon uses. However the container may use a different logging driver than the Docker + * daemon by specifying a log driver with this parameter in the container definition. To + * use a different logging driver for a container, the log system must be configured + * properly on the container instance (or on a different log server for remote logging + * options). For more information on the options for different supported log drivers, see + * Configure + * logging drivers in the Docker documentation.

                                                                  + * + *

                                                                  Amazon ECS currently supports a subset of the logging drivers available to the Docker + * daemon (shown in the LogConfiguration data type). Additional log + * drivers may be available in future releases of the Amazon ECS container agent.

                                                                  + *
                                                                  + *

                                                                  This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' + *

                                                                  + * + *

                                                                  The Amazon ECS container agent running on a container instance must register the + * logging drivers available on that instance with the + * ECS_AVAILABLE_LOGGING_DRIVERS environment variable before + * containers placed on that instance can use these log configuration options. For more + * information, see Amazon ECS Container + * Agent Configuration in the Amazon Elastic Container Service Developer Guide.

                                                                  + *
                                                                  */ - resourceRequirements?: ResourceRequirement[]; + logConfiguration?: LogConfiguration; /** - *

                                                                  The FireLens configuration for the container. This is used to specify and configure a - * log router for container logs. For more information, see Custom Log Routing - * in the Amazon Elastic Container Service Developer Guide.

                                                                  - */ - firelensConfiguration?: FirelensConfiguration; - - /** - *

                                                                  A list of DNS servers that are presented to the container. This parameter maps to - * Dns in the Create a container section of the - * Docker Remote API and the --dns option to docker run.

                                                                  - * - *

                                                                  This parameter is not supported for Windows containers.

                                                                  - *
                                                                  + *

                                                                  The image used to start a container. This string is passed directly to the Docker + * daemon. Images in the Docker Hub registry are available by default. Other repositories + * are specified with either + * repository-url/image:tag + * or + * repository-url/image@digest + * . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the + * Create a container section of the Docker Remote API and the + * IMAGE parameter of docker + * run.

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    When a new task starts, the Amazon ECS container agent pulls the latest version of + * the specified image and tag for the container to use. However, subsequent + * updates to a repository image are not propagated to already running + * tasks.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Images in Amazon ECR repositories can be specified by either using the full + * registry/repository:tag or + * registry/repository@digest. For example, + * 012345678910.dkr.ecr..amazonaws.com/:latest + * or + * 012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Images in official repositories on Docker Hub use a single name (for example, + * ubuntu or mongo).

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Images in other repositories on Docker Hub are qualified with an organization + * name (for example, amazon/amazon-ecs-agent).

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Images in other online repositories are qualified further by a domain name + * (for example, quay.io/assemblyline/ubuntu).

                                                                    + *
                                                                  • + *
                                                                  */ - dnsServers?: string[]; + image?: string; /** - *

                                                                  The links parameter allows containers to communicate with each other - * without the need for port mappings. This parameter is only supported if the network mode - * of a task definition is bridge. The name:internalName - * construct is analogous to name:alias in Docker links. - * Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. For more information about linking Docker containers, go to - * Legacy container links - * in the Docker documentation. This parameter maps to Links in the - * Create a container section of the Docker Remote API and the - * --link option to docker - * run.

                                                                  - * - *

                                                                  This parameter is not supported for Windows containers.

                                                                  - *
                                                                  - * - *

                                                                  Containers that are collocated on a single container instance may be able to - * communicate with each other without requiring links or host port mappings. Network - * isolation is achieved on the container instance using security groups and VPC - * settings.

                                                                  - *
                                                                  + *

                                                                  The FireLens configuration for the container. This is used to specify and configure a + * log router for container logs. For more information, see Custom Log Routing + * in the Amazon Elastic Container Service Developer Guide.

                                                                  */ - links?: string[]; + firelensConfiguration?: FirelensConfiguration; /** - *

                                                                  Time duration (in seconds) to wait before the container is forcefully killed if it - * doesn't exit normally on its own.

                                                                  - *

                                                                  For tasks using the Fargate launch type, the task or service requires - * platform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the - * parameter is not specified, the default value of 30 seconds is used.

                                                                  - *

                                                                  For tasks using the EC2 launch type, if the stopTimeout - * parameter is not specified, the value set for the Amazon ECS container agent configuration - * variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the - * stopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT - * agent configuration variable are set, then the default values of 30 seconds for Linux - * containers and 30 seconds on Windows containers are used. Your container instances - * require at least version 1.26.0 of the container agent to enable a container stop - * timeout value. However, we recommend using the latest container agent version. For - * information about checking your agent version and updating to the latest version, see - * Updating the Amazon ECS - * Container Agent in the Amazon Elastic Container Service Developer Guide. If you are - * using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the - * ecs-init package. If your container instances are launched from version - * 20190301 or later, then they contain the required versions of the - * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                  + *

                                                                  The soft limit (in MiB) of memory to reserve for the container. When system memory is + * under heavy contention, Docker attempts to keep the container memory to this soft limit. + * However, your container can consume more memory when it needs to, up to either the hard + * limit specified with the memory parameter (if applicable), or all of the + * available memory on the container instance, whichever comes first. This parameter maps + * to MemoryReservation in the Create a container section of + * the Docker Remote API and the --memory-reservation option to docker run.

                                                                  + *

                                                                  If a task-level memory value is not specified, you must specify a non-zero integer for + * one or both of memory or memoryReservation in a container + * definition. If you specify both, memory must be greater than + * memoryReservation. If you specify memoryReservation, then + * that value is subtracted from the available memory resources for the container instance + * on which the container is placed. Otherwise, the value of memory is + * used.

                                                                  + *

                                                                  For example, if your container normally uses 128 MiB of memory, but occasionally + * bursts to 256 MiB of memory for short periods of time, you can set a + * memoryReservation of 128 MiB, and a memory hard limit of + * 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory + * from the remaining resources on the container instance, but also allow the container to + * consume more memory resources when needed.

                                                                  + *

                                                                  The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should + * not specify fewer than 4 MiB of memory for your containers.

                                                                  */ - stopTimeout?: number; + memoryReservation?: number; } export namespace ContainerDefinition { @@ -4813,14 +4813,14 @@ export interface ProxyConfiguration { properties?: KeyValuePair[]; /** - *

                                                                  The proxy type. The only supported value is APPMESH.

                                                                  + *

                                                                  The name of the container that will serve as the App Mesh proxy.

                                                                  */ - type?: ProxyConfigurationType | string; + containerName: string | undefined; /** - *

                                                                  The name of the container that will serve as the App Mesh proxy.

                                                                  + *

                                                                  The proxy type. The only supported value is APPMESH.

                                                                  */ - containerName: string | undefined; + type?: ProxyConfigurationType | string; } export namespace ProxyConfiguration { @@ -4847,17 +4847,12 @@ export enum Scope { */ export interface DockerVolumeConfiguration { /** - *

                                                                  The Docker volume driver to use. The driver value must match the driver name provided - * by Docker because it is used for task placement. If the driver was installed using the - * Docker plugin CLI, use docker plugin ls to retrieve the driver name from - * your container instance. If the driver was installed using another method, use Docker - * plugin discovery to retrieve the driver name. For more information, see Docker - * plugin discovery. This parameter maps to Driver in the - * Create a volume section of the Docker Remote API and the - * xxdriver option to docker + *

                                                                  Custom metadata to add to your Docker volume. This parameter maps to + * Labels in the Create a volume section of the + * Docker Remote API and the xxlabel option to docker * volume create.

                                                                  */ - driver?: string; + labels?: { [key: string]: string }; /** *

                                                                  A map of Docker driver-specific options passed through. This parameter maps to @@ -4868,12 +4863,17 @@ export interface DockerVolumeConfiguration { driverOpts?: { [key: string]: string }; /** - *

                                                                  The scope for the Docker volume that determines its lifecycle. Docker volumes that are - * scoped to a task are automatically provisioned when the task starts and - * destroyed when the task stops. Docker volumes that are scoped as shared - * persist after the task stops.

                                                                  + *

                                                                  The Docker volume driver to use. The driver value must match the driver name provided + * by Docker because it is used for task placement. If the driver was installed using the + * Docker plugin CLI, use docker plugin ls to retrieve the driver name from + * your container instance. If the driver was installed using another method, use Docker + * plugin discovery to retrieve the driver name. For more information, see Docker + * plugin discovery. This parameter maps to Driver in the + * Create a volume section of the Docker Remote API and the + * xxdriver option to docker + * volume create.

                                                                  */ - scope?: Scope | string; + driver?: string; /** *

                                                                  If this value is true, the Docker volume is created if it does not @@ -4885,12 +4885,12 @@ export interface DockerVolumeConfiguration { autoprovision?: boolean; /** - *

                                                                  Custom metadata to add to your Docker volume. This parameter maps to - * Labels in the Create a volume section of the - * Docker Remote API and the xxlabel option to docker - * volume create.

                                                                  + *

                                                                  The scope for the Docker volume that determines its lifecycle. Docker volumes that are + * scoped to a task are automatically provisioned when the task starts and + * destroyed when the task stops. Docker volumes that are scoped as shared + * persist after the task stops.

                                                                  */ - labels?: { [key: string]: string }; + scope?: Scope | string; } export namespace DockerVolumeConfiguration { @@ -4908,15 +4908,6 @@ export enum EFSAuthorizationConfigIAM { *

                                                                  The authorization configuration details for the Amazon EFS file system.

                                                                  */ export interface EFSAuthorizationConfig { - /** - *

                                                                  Whether or not to use the Amazon ECS task IAM role defined in a task definition when - * mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the - * EFSVolumeConfiguration. If this parameter is omitted, the default value - * of DISABLED is used. For more information, see Using - * Amazon EFS Access Points in the Amazon Elastic Container Service Developer Guide.

                                                                  - */ - iam?: EFSAuthorizationConfigIAM | string; - /** *

                                                                  The Amazon EFS access point ID to use. If an access point is specified, the root directory * value specified in the EFSVolumeConfiguration will be relative to the @@ -4925,6 +4916,15 @@ export interface EFSAuthorizationConfig { * EFS Access Points in the Amazon Elastic File System User Guide.

                                                                  */ accessPointId?: string; + + /** + *

                                                                  Whether or not to use the Amazon ECS task IAM role defined in a task definition when + * mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the + * EFSVolumeConfiguration. If this parameter is omitted, the default value + * of DISABLED is used. For more information, see Using + * Amazon EFS Access Points in the Amazon Elastic Container Service Developer Guide.

                                                                  + */ + iam?: EFSAuthorizationConfigIAM | string; } export namespace EFSAuthorizationConfig { @@ -4945,13 +4945,17 @@ export enum EFSTransitEncryption { */ export interface EFSVolumeConfiguration { /** - *

                                                                  Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host - * and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is - * used. If this parameter is omitted, the default value of DISABLED is used. - * For more information, see Encrypting Data in Transit in - * the Amazon Elastic File System User Guide.

                                                                  + *

                                                                  The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS + * server. If you do not specify a transit encryption port, it will use the port selection + * strategy that the Amazon EFS mount helper uses. For more information, see EFS Mount + * Helper in the Amazon Elastic File System User Guide.

                                                                  */ - transitEncryption?: EFSTransitEncryption | string; + transitEncryptionPort?: number; + + /** + *

                                                                  The Amazon EFS file system ID to use.

                                                                  + */ + fileSystemId: string | undefined; /** *

                                                                  The directory within the Amazon EFS file system to mount as the root directory inside the @@ -4961,22 +4965,18 @@ export interface EFSVolumeConfiguration { rootDirectory?: string; /** - *

                                                                  The authorization configuration details for the Amazon EFS file system.

                                                                  - */ - authorizationConfig?: EFSAuthorizationConfig; - - /** - *

                                                                  The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS - * server. If you do not specify a transit encryption port, it will use the port selection - * strategy that the Amazon EFS mount helper uses. For more information, see EFS Mount - * Helper in the Amazon Elastic File System User Guide.

                                                                  + *

                                                                  Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host + * and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is + * used. If this parameter is omitted, the default value of DISABLED is used. + * For more information, see Encrypting Data in Transit in + * the Amazon Elastic File System User Guide.

                                                                  */ - transitEncryptionPort?: number; + transitEncryption?: EFSTransitEncryption | string; /** - *

                                                                  The Amazon EFS file system ID to use.

                                                                  + *

                                                                  The authorization configuration details for the Amazon EFS file system.

                                                                  */ - fileSystemId: string | undefined; + authorizationConfig?: EFSAuthorizationConfig; } export namespace EFSVolumeConfiguration { @@ -5020,11 +5020,10 @@ export namespace HostVolumeProperties { */ export interface Volume { /** - *

                                                                  The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This name is referenced in the - * sourceVolume parameter of container definition - * mountPoints.

                                                                  + *

                                                                  This parameter is specified when you are using an Amazon Elastic File System file system for task + * storage.

                                                                  */ - name?: string; + efsVolumeConfiguration?: EFSVolumeConfiguration; /** *

                                                                  This parameter is specified when you are using Docker volumes. Docker volumes are only @@ -5034,12 +5033,6 @@ export interface Volume { */ dockerVolumeConfiguration?: DockerVolumeConfiguration; - /** - *

                                                                  This parameter is specified when you are using an Amazon Elastic File System file system for task - * storage.

                                                                  - */ - efsVolumeConfiguration?: EFSVolumeConfiguration; - /** *

                                                                  This parameter is specified when you are using bind mount host volumes. The contents * of the host parameter determine whether your bind mount host volume @@ -5054,6 +5047,13 @@ export interface Volume { * D:\my\path:C:\my\path or D:\:C:\my\path.

                                                                  */ host?: HostVolumeProperties; + + /** + *

                                                                  The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This name is referenced in the + * sourceVolume parameter of container definition + * mountPoints.

                                                                  + */ + name?: string; } export namespace Volume { @@ -5070,52 +5070,22 @@ export namespace Volume { */ export interface TaskDefinition { /** - *

                                                                  An array of placement constraint objects to use for tasks. This field is not valid if - * you are using the Fargate launch type for your task.

                                                                  + *

                                                                  The name of a family that this task definition is registered to. Up to 255 letters + * (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

                                                                  + *

                                                                  A family groups multiple versions of a task definition. Amazon ECS gives the first task + * definition that you registered to a family a revision number of 1. Amazon ECS gives + * sequential revision numbers to each task definition that you add.

                                                                  */ - placementConstraints?: TaskDefinitionPlacementConstraint[]; + family?: string; /** - *

                                                                  The Docker networking mode to use for the containers in the task. The valid values are - * none, bridge, awsvpc, and host. - * The default Docker network mode is bridge. If you are using the - * Fargate launch type, the awsvpc network mode is required. If - * you are using the EC2 launch type, any network mode can be used. If the network - * mode is set to none, you cannot specify port mappings in your container - * definitions, and the tasks containers do not have external connectivity. The - * host and awsvpc network modes offer the highest networking - * performance for containers because they use the EC2 network stack instead of the - * virtualized network stack provided by the bridge mode.

                                                                  - *

                                                                  With the host and awsvpc network modes, exposed container - * ports are mapped directly to the corresponding host port (for the host - * network mode) or the attached elastic network interface port (for the - * awsvpc network mode), so you cannot take advantage of dynamic host port - * mappings.

                                                                  - *

                                                                  If the network mode is awsvpc, the task is allocated an elastic network - * interface, and you must specify a NetworkConfiguration value when you create - * a service or run a task with the task definition. For more information, see Task Networking in the - * Amazon Elastic Container Service Developer Guide.

                                                                  - * - *

                                                                  Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the - * ecs-init package, or AWS Fargate infrastructure support the - * awsvpc network mode.

                                                                  - *
                                                                  - *

                                                                  If the network mode is host, you cannot run multiple instantiations of the - * same task on a single container instance when port mappings are used.

                                                                  - *

                                                                  Docker for Windows uses different network modes than Docker for Linux. When you - * register a task definition with Windows containers, you must not specify a network mode. - * If you use the console to register a task definition with Windows containers, you must - * choose the network mode object.

                                                                  - *

                                                                  For more information, see Network - * settings in the Docker run reference.

                                                                  - */ - networkMode?: NetworkMode | string; - - /** - *

                                                                  The container instance attributes required by your task. This field is not valid if - * you are using the Fargate launch type for your task.

                                                                  + *

                                                                  The revision of the task in a particular family. The revision is a version number of a + * task definition in a family. When you register a task definition for the first time, the + * revision is 1. Each time that you register a new revision of a task + * definition in the same family, the revision value always increases by one, even if you + * have deregistered previous revisions in this family.

                                                                  */ - requiresAttributes?: Attribute[]; + revision?: number; /** *

                                                                  The launch type the task requires. If no value is specified, it will default to @@ -5125,29 +5095,36 @@ export interface TaskDefinition { requiresCompatibilities?: (Compatibility | string)[]; /** - *

                                                                  The number of cpu units used by the task. If you are using the EC2 launch - * type, this field is optional and any value can be used. If you are using the Fargate - * launch type, this field is required and you must use one of the following values, which - * determines your range of valid values for the memory parameter:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

                                                                    - *
                                                                  • - *
                                                                  + *

                                                                  The configuration details for the App Mesh proxy.

                                                                  + *

                                                                  Your Amazon ECS container instances require at least version 1.26.0 of the container agent + * and at least version 1.26.0-1 of the ecs-init package to enable a proxy + * configuration. If your container instances are launched from the Amazon ECS-optimized AMI + * version 20190301 or later, then they contain the required versions of the + * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                  */ - cpu?: string; + proxyConfiguration?: ProxyConfiguration; + + /** + *

                                                                  The status of the task definition.

                                                                  + */ + status?: TaskDefinitionStatus | string; + + /** + *

                                                                  The full Amazon Resource Name (ARN) of the task definition.

                                                                  + */ + taskDefinitionArn?: string; + + /** + *

                                                                  The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants containers in the + * task permission to call AWS APIs on your behalf. For more information, see Amazon ECS + * Task Role in the Amazon Elastic Container Service Developer Guide.

                                                                  + *

                                                                  IAM roles for tasks on Windows require that the -EnableTaskIAMRole option + * is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some + * configuration code in order to take advantage of the feature. For more information, see + * Windows IAM Roles + * for Tasks in the Amazon Elastic Container Service Developer Guide.

                                                                  + */ + taskRoleArn?: string; /** *

                                                                  The process namespace to use for the containers in the task. The valid @@ -5170,32 +5147,40 @@ export interface TaskDefinition { pidMode?: PidMode | string; /** - *

                                                                  The list of volume definitions for the task.

                                                                  - *

                                                                  If your tasks are using the Fargate launch type, the host - * and sourcePath parameters are not supported.

                                                                  - *

                                                                  For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

                                                                  - */ - volumes?: Volume[]; - - /** - *

                                                                  The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants containers in the - * task permission to call AWS APIs on your behalf. For more information, see Amazon ECS - * Task Role in the Amazon Elastic Container Service Developer Guide.

                                                                  - *

                                                                  IAM roles for tasks on Windows require that the -EnableTaskIAMRole option - * is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some - * configuration code in order to take advantage of the feature. For more information, see - * Windows IAM Roles - * for Tasks in the Amazon Elastic Container Service Developer Guide.

                                                                  - */ - taskRoleArn?: string; - - /** - *

                                                                  A list of container definitions in JSON format that describe the different containers - * that make up your task. For more information about container definition parameters and - * defaults, see Amazon ECS Task - * Definitions in the Amazon Elastic Container Service Developer Guide.

                                                                  + *

                                                                  The IPC resource namespace to use for the containers in the task. The valid values are + * host, task, or none. If host is + * specified, then all containers within the tasks that specified the host IPC + * mode on the same container instance share the same IPC resources with the host Amazon EC2 + * instance. If task is specified, all containers within the specified task + * share the same IPC resources. If none is specified, then IPC resources + * within the containers of a task are private and not shared with other containers in a + * task or on the container instance. If no value is specified, then the IPC resource + * namespace sharing depends on the Docker daemon setting on the container instance. For + * more information, see IPC + * settings in the Docker run reference.

                                                                  + *

                                                                  If the host IPC mode is used, be aware that there is a heightened risk of + * undesired IPC namespace expose. For more information, see Docker + * security.

                                                                  + *

                                                                  If you are setting namespaced kernel parameters using systemControls for + * the containers in the task, the following will apply to your IPC resource namespace. For + * more information, see System + * Controls in the Amazon Elastic Container Service Developer Guide.

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    For tasks that use the host IPC mode, IPC namespace related + * systemControls are not supported.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    For tasks that use the task IPC mode, IPC namespace related + * systemControls will apply to all containers within a + * task.

                                                                    + *
                                                                  • + *
                                                                  + * + *

                                                                  This parameter is not supported for Windows containers or tasks using the Fargate launch type.

                                                                  + *
                                                                  */ - containerDefinitions?: ContainerDefinition[]; + ipcMode?: IpcMode | string; /** *

                                                                  The launch type to use with your task. For more information, see Amazon ECS @@ -5204,9 +5189,10 @@ export interface TaskDefinition { compatibilities?: (Compatibility | string)[]; /** - *

                                                                  The status of the task definition.

                                                                  + *

                                                                  The container instance attributes required by your task. This field is not valid if + * you are using the Fargate launch type for your task.

                                                                  */ - status?: TaskDefinitionStatus | string; + requiresAttributes?: Attribute[]; /** *

                                                                  The Elastic Inference accelerator associated with the task.

                                                                  @@ -5242,81 +5228,95 @@ export interface TaskDefinition { memory?: string; /** - *

                                                                  The IPC resource namespace to use for the containers in the task. The valid values are - * host, task, or none. If host is - * specified, then all containers within the tasks that specified the host IPC - * mode on the same container instance share the same IPC resources with the host Amazon EC2 - * instance. If task is specified, all containers within the specified task - * share the same IPC resources. If none is specified, then IPC resources - * within the containers of a task are private and not shared with other containers in a - * task or on the container instance. If no value is specified, then the IPC resource - * namespace sharing depends on the Docker daemon setting on the container instance. For - * more information, see IPC - * settings in the Docker run reference.

                                                                  - *

                                                                  If the host IPC mode is used, be aware that there is a heightened risk of - * undesired IPC namespace expose. For more information, see Docker - * security.

                                                                  - *

                                                                  If you are setting namespaced kernel parameters using systemControls for - * the containers in the task, the following will apply to your IPC resource namespace. For - * more information, see System - * Controls in the Amazon Elastic Container Service Developer Guide.

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    For tasks that use the host IPC mode, IPC namespace related - * systemControls are not supported.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    For tasks that use the task IPC mode, IPC namespace related - * systemControls will apply to all containers within a - * task.

                                                                    - *
                                                                  • - *
                                                                  - * - *

                                                                  This parameter is not supported for Windows containers or tasks using the Fargate launch type.

                                                                  - *
                                                                  + *

                                                                  A list of container definitions in JSON format that describe the different containers + * that make up your task. For more information about container definition parameters and + * defaults, see Amazon ECS Task + * Definitions in the Amazon Elastic Container Service Developer Guide.

                                                                  */ - ipcMode?: IpcMode | string; + containerDefinitions?: ContainerDefinition[]; /** - *

                                                                  The configuration details for the App Mesh proxy.

                                                                  - *

                                                                  Your Amazon ECS container instances require at least version 1.26.0 of the container agent - * and at least version 1.26.0-1 of the ecs-init package to enable a proxy - * configuration. If your container instances are launched from the Amazon ECS-optimized AMI - * version 20190301 or later, then they contain the required versions of the - * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                  + *

                                                                  The Docker networking mode to use for the containers in the task. The valid values are + * none, bridge, awsvpc, and host. + * The default Docker network mode is bridge. If you are using the + * Fargate launch type, the awsvpc network mode is required. If + * you are using the EC2 launch type, any network mode can be used. If the network + * mode is set to none, you cannot specify port mappings in your container + * definitions, and the tasks containers do not have external connectivity. The + * host and awsvpc network modes offer the highest networking + * performance for containers because they use the EC2 network stack instead of the + * virtualized network stack provided by the bridge mode.

                                                                  + *

                                                                  With the host and awsvpc network modes, exposed container + * ports are mapped directly to the corresponding host port (for the host + * network mode) or the attached elastic network interface port (for the + * awsvpc network mode), so you cannot take advantage of dynamic host port + * mappings.

                                                                  + *

                                                                  If the network mode is awsvpc, the task is allocated an elastic network + * interface, and you must specify a NetworkConfiguration value when you create + * a service or run a task with the task definition. For more information, see Task Networking in the + * Amazon Elastic Container Service Developer Guide.

                                                                  + * + *

                                                                  Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the + * ecs-init package, or AWS Fargate infrastructure support the + * awsvpc network mode.

                                                                  + *
                                                                  + *

                                                                  If the network mode is host, you cannot run multiple instantiations of the + * same task on a single container instance when port mappings are used.

                                                                  + *

                                                                  Docker for Windows uses different network modes than Docker for Linux. When you + * register a task definition with Windows containers, you must not specify a network mode. + * If you use the console to register a task definition with Windows containers, you must + * choose the network mode object.

                                                                  + *

                                                                  For more information, see Network + * settings in the Docker run reference.

                                                                  */ - proxyConfiguration?: ProxyConfiguration; + networkMode?: NetworkMode | string; /** - *

                                                                  The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent - * permission to make AWS API calls on your behalf. The task execution IAM role is required - * depending on the requirements of your task. For more information, see Amazon ECS task - * execution IAM role in the Amazon Elastic Container Service Developer Guide.

                                                                  + *

                                                                  An array of placement constraint objects to use for tasks. This field is not valid if + * you are using the Fargate launch type for your task.

                                                                  */ - executionRoleArn?: string; + placementConstraints?: TaskDefinitionPlacementConstraint[]; /** - *

                                                                  The name of a family that this task definition is registered to. Up to 255 letters - * (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

                                                                  - *

                                                                  A family groups multiple versions of a task definition. Amazon ECS gives the first task - * definition that you registered to a family a revision number of 1. Amazon ECS gives - * sequential revision numbers to each task definition that you add.

                                                                  + *

                                                                  The list of volume definitions for the task.

                                                                  + *

                                                                  If your tasks are using the Fargate launch type, the host + * and sourcePath parameters are not supported.

                                                                  + *

                                                                  For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

                                                                  */ - family?: string; + volumes?: Volume[]; /** - *

                                                                  The full Amazon Resource Name (ARN) of the task definition.

                                                                  + *

                                                                  The number of cpu units used by the task. If you are using the EC2 launch + * type, this field is optional and any value can be used. If you are using the Fargate + * launch type, this field is required and you must use one of the following values, which + * determines your range of valid values for the memory parameter:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

                                                                    + *
                                                                  • + *
                                                                  */ - taskDefinitionArn?: string; + cpu?: string; /** - *

                                                                  The revision of the task in a particular family. The revision is a version number of a - * task definition in a family. When you register a task definition for the first time, the - * revision is 1. Each time that you register a new revision of a task - * definition in the same family, the revision value always increases by one, even if you - * have deregistered previous revisions in this family.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent + * permission to make AWS API calls on your behalf. The task execution IAM role is required + * depending on the requirements of your task. For more information, see Amazon ECS task + * execution IAM role in the Amazon Elastic Container Service Developer Guide.

                                                                  */ - revision?: number; + executionRoleArn?: string; } export namespace TaskDefinition { @@ -5343,25 +5343,6 @@ export enum CapacityProviderField { } export interface DescribeCapacityProvidersRequest { - /** - *

                                                                  The nextToken value returned from a previous paginated - * DescribeCapacityProviders 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.

                                                                  - * - *

                                                                  This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.

                                                                  - *
                                                                  - */ - nextToken?: string; - - /** - *

                                                                  Specifies whether or not you want to see the resource tags for the capacity provider. - * If TAGS is specified, the tags are included in the response. If this field - * is omitted, tags are not included in the response.

                                                                  - */ - include?: (CapacityProviderField | string)[]; - /** *

                                                                  The maximum number of account setting results returned by * DescribeCapacityProviders in paginated output. When this parameter is @@ -5377,11 +5358,30 @@ export interface DescribeCapacityProvidersRequest { */ maxResults?: number; + /** + *

                                                                  The nextToken value returned from a previous paginated + * DescribeCapacityProviders 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.

                                                                  + * + *

                                                                  This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

                                                                  + *
                                                                  + */ + nextToken?: string; + /** *

                                                                  The short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to * 100 capacity providers can be described in an action.

                                                                  */ capacityProviders?: string[]; + + /** + *

                                                                  Specifies whether or not you want to see the resource tags for the capacity provider. + * If TAGS is specified, the tags are included in the response. If this field + * is omitted, tags are not included in the response.

                                                                  + */ + include?: (CapacityProviderField | string)[]; } export namespace DescribeCapacityProvidersRequest { @@ -5394,11 +5394,6 @@ export namespace DescribeCapacityProvidersRequest { *

                                                                  A failed resource.

                                                                  */ export interface Failure { - /** - *

                                                                  The details of the failure.

                                                                  - */ - detail?: string; - /** *

                                                                  The Amazon Resource Name (ARN) of the failed resource.

                                                                  */ @@ -5408,6 +5403,11 @@ export interface Failure { *

                                                                  The reason for the failure.

                                                                  */ reason?: string; + + /** + *

                                                                  The details of the failure.

                                                                  + */ + detail?: string; } export namespace Failure { @@ -5418,14 +5418,14 @@ export namespace Failure { export interface DescribeCapacityProvidersResponse { /** - *

                                                                  Any failures associated with the call.

                                                                  + *

                                                                  The list of capacity providers.

                                                                  */ - failures?: Failure[]; + capacityProviders?: CapacityProvider[]; /** - *

                                                                  The list of capacity providers.

                                                                  + *

                                                                  Any failures associated with the call.

                                                                  */ - capacityProviders?: CapacityProvider[]; + failures?: Failure[]; /** *

                                                                  The nextToken value to include in a future @@ -5451,6 +5451,12 @@ export enum ClusterField { } export interface DescribeClustersRequest { + /** + *

                                                                  A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. + * If you do not specify a cluster, the default cluster is assumed.

                                                                  + */ + clusters?: string[]; + /** *

                                                                  Whether to include additional information about your clusters in the response. If this * field is omitted, the attachments, statistics, and tags are not included.

                                                                  @@ -5490,12 +5496,6 @@ export interface DescribeClustersRequest { * included.

                                                                  */ include?: (ClusterField | string)[]; - - /** - *

                                                                  A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. - * If you do not specify a cluster, the default cluster is assumed.

                                                                  - */ - clusters?: string[]; } export namespace DescribeClustersRequest { @@ -5527,13 +5527,6 @@ export enum ContainerInstanceField { } export interface DescribeContainerInstancesRequest { - /** - *

                                                                  Specifies whether you want to see the resource tags for the container instance. If - * TAGS is specified, the tags are included in the response. If this field - * is omitted, tags are not included in the response.

                                                                  - */ - include?: (ContainerInstanceField | string)[]; - /** *

                                                                  The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to * describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the container instance @@ -5542,6 +5535,13 @@ export interface DescribeContainerInstancesRequest { */ cluster?: string; + /** + *

                                                                  Specifies whether you want to see the resource tags for the container instance. If + * TAGS is specified, the tags are included in the response. If this field + * is omitted, tags are not included in the response.

                                                                  + */ + include?: (ContainerInstanceField | string)[]; + /** *

                                                                  A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

                                                                  */ @@ -5577,12 +5577,6 @@ export enum ServiceField { } export interface DescribeServicesRequest { - /** - *

                                                                  A list of services to describe. You may specify up to 10 services to describe in a - * single operation.

                                                                  - */ - services: string[] | undefined; - /** *

                                                                  Specifies whether you want to see the resource tags for the service. If * TAGS is specified, the tags are included in the response. If this field @@ -5590,6 +5584,12 @@ export interface DescribeServicesRequest { */ include?: (ServiceField | string)[]; + /** + *

                                                                  A list of services to describe. You may specify up to 10 services to describe in a + * single operation.

                                                                  + */ + services: string[] | undefined; + /** *

                                                                  The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. * If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are @@ -5706,11 +5706,11 @@ export enum TaskField { export interface DescribeTasksRequest { /** - *

                                                                  The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to - * describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you - * are describing were launched in any cluster other than the default cluster.

                                                                  + *

                                                                  Specifies whether you want to see the resource tags for the task. If TAGS + * is specified, the tags are included in the response. If this field is omitted, tags are + * not included in the response.

                                                                  */ - cluster?: string; + include?: (TaskField | string)[]; /** *

                                                                  A list of up to 100 task IDs or full ARN entries.

                                                                  @@ -5718,11 +5718,11 @@ export interface DescribeTasksRequest { tasks: string[] | undefined; /** - *

                                                                  Specifies whether you want to see the resource tags for the task. If TAGS - * is specified, the tags are included in the response. If this field is omitted, tags are - * not included in the response.

                                                                  + *

                                                                  The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to + * describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you + * are describing were launched in any cluster other than the default cluster.

                                                                  */ - include?: (TaskField | string)[]; + cluster?: string; } export namespace DescribeTasksRequest { @@ -5750,9 +5750,9 @@ export enum HealthStatus { */ export interface NetworkBinding { /** - *

                                                                  The protocol used for the network binding.

                                                                  + *

                                                                  The port number on the container that is used with the network binding.

                                                                  */ - protocol?: TransportProtocol | string; + containerPort?: number; /** *

                                                                  The port number on the host that is used with the network binding.

                                                                  @@ -5760,14 +5760,14 @@ export interface NetworkBinding { hostPort?: number; /** - *

                                                                  The port number on the container that is used with the network binding.

                                                                  + *

                                                                  The IP address that the container is bound to on the container instance.

                                                                  */ - containerPort?: number; + bindIP?: string; /** - *

                                                                  The IP address that the container is bound to on the container instance.

                                                                  + *

                                                                  The protocol used for the network binding.

                                                                  */ - bindIP?: string; + protocol?: TransportProtocol | string; } export namespace NetworkBinding { @@ -5781,11 +5781,6 @@ export namespace NetworkBinding { * awsvpc network mode.

                                                                  */ export interface NetworkInterface { - /** - *

                                                                  The private IPv4 address for the network interface.

                                                                  - */ - privateIpv4Address?: string; - /** *

                                                                  The private IPv6 address for the network interface.

                                                                  */ @@ -5795,6 +5790,11 @@ export interface NetworkInterface { *

                                                                  The attachment ID for the network interface.

                                                                  */ attachmentId?: string; + + /** + *

                                                                  The private IPv4 address for the network interface.

                                                                  + */ + privateIpv4Address?: string; } export namespace NetworkInterface { @@ -5808,93 +5808,93 @@ export namespace NetworkInterface { */ export interface Container { /** - *

                                                                  A short (255 max characters) human-readable string to provide additional details about - * a running or stopped container.

                                                                  + *

                                                                  The number of CPU units set for the container. The value will be 0 if no + * value was specified in the container definition when the task definition was + * registered.

                                                                  */ - reason?: string; + cpu?: string; /** - *

                                                                  The name of the container.

                                                                  + *

                                                                  The network bindings associated with the container.

                                                                  */ - name?: string; + networkBindings?: NetworkBinding[]; /** - *

                                                                  The exit code returned from the container.

                                                                  + *

                                                                  The IDs of each GPU assigned to the container.

                                                                  */ - exitCode?: number; + gpuIds?: string[]; /** - *

                                                                  The ID of the Docker container.

                                                                  + *

                                                                  The soft limit (in MiB) of memory set for the container.

                                                                  */ - runtimeId?: string; + memoryReservation?: string; /** - *

                                                                  The soft limit (in MiB) of memory set for the container.

                                                                  + *

                                                                  The image used for the container.

                                                                  */ - memoryReservation?: string; + image?: string; /** - *

                                                                  The network bindings associated with the container.

                                                                  + *

                                                                  The container image manifest digest.

                                                                  + * + *

                                                                  The imageDigest is only returned if the container is using an image + * hosted in Amazon ECR, otherwise it is omitted.

                                                                  + *
                                                                  */ - networkBindings?: NetworkBinding[]; + imageDigest?: string; /** - *

                                                                  The ARN of the task.

                                                                  + *

                                                                  A short (255 max characters) human-readable string to provide additional details about + * a running or stopped container.

                                                                  */ - taskArn?: string; + reason?: string; /** - *

                                                                  The image used for the container.

                                                                  + *

                                                                  The health status of the container. If health checks are not configured for this + * container in its task definition, then it reports the health status as + * UNKNOWN.

                                                                  */ - image?: string; + healthStatus?: HealthStatus | string; /** - *

                                                                  The network interfaces associated with the container.

                                                                  + *

                                                                  The ID of the Docker container.

                                                                  */ - networkInterfaces?: NetworkInterface[]; + runtimeId?: string; /** - *

                                                                  The IDs of each GPU assigned to the container.

                                                                  + *

                                                                  The name of the container.

                                                                  */ - gpuIds?: string[]; + name?: string; /** - *

                                                                  The container image manifest digest.

                                                                  - * - *

                                                                  The imageDigest is only returned if the container is using an image - * hosted in Amazon ECR, otherwise it is omitted.

                                                                  - *
                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the container.

                                                                  */ - imageDigest?: string; + containerArn?: string; /** - *

                                                                  The last known status of the container.

                                                                  + *

                                                                  The ARN of the task.

                                                                  */ - lastStatus?: string; + taskArn?: string; /** - *

                                                                  The Amazon Resource Name (ARN) of the container.

                                                                  + *

                                                                  The hard limit (in MiB) of memory set for the container.

                                                                  */ - containerArn?: string; + memory?: string; /** - *

                                                                  The health status of the container. If health checks are not configured for this - * container in its task definition, then it reports the health status as - * UNKNOWN.

                                                                  + *

                                                                  The network interfaces associated with the container.

                                                                  */ - healthStatus?: HealthStatus | string; + networkInterfaces?: NetworkInterface[]; /** - *

                                                                  The number of CPU units set for the container. The value will be 0 if no - * value was specified in the container definition when the task definition was - * registered.

                                                                  + *

                                                                  The last known status of the container.

                                                                  */ - cpu?: string; + lastStatus?: string; /** - *

                                                                  The hard limit (in MiB) of memory set for the container.

                                                                  + *

                                                                  The exit code returned from the container.

                                                                  */ - memory?: string; + exitCode?: number; } export namespace Container { @@ -5911,31 +5911,22 @@ export namespace Container { */ export interface ContainerOverride { /** - *

                                                                  A list of files containing the environment variables to pass to a container, instead - * of the value from the container definition.

                                                                  - */ - environmentFiles?: EnvironmentFile[]; - - /** - *

                                                                  The hard limit (in MiB) of memory to present to the container, instead of the default - * value from the task definition. If your container attempts to exceed the memory - * specified here, the container is killed. You must also specify a container name.

                                                                  + *

                                                                  The number of cpu units reserved for the container, instead of the + * default value from the task definition. You must also specify a container name.

                                                                  */ - memory?: number; + cpu?: number; /** - *

                                                                  The environment variables to send to the container. You can add new environment - * variables, which are added to the container at launch, or you can override the existing - * environment variables from the Docker image or the task definition. You must also - * specify a container name.

                                                                  + *

                                                                  The name of the container that receives the override. This parameter is required if + * any override is specified.

                                                                  */ - environment?: KeyValuePair[]; + name?: string; /** - *

                                                                  The number of cpu units reserved for the container, instead of the - * default value from the task definition. You must also specify a container name.

                                                                  + *

                                                                  The command to send to the container that overrides the default command from the + * Docker image or the task definition. You must also specify a container name.

                                                                  */ - cpu?: number; + command?: string[]; /** *

                                                                  The soft limit (in MiB) of memory to reserve for the container, instead of the default @@ -5944,22 +5935,31 @@ export interface ContainerOverride { memoryReservation?: number; /** - *

                                                                  The command to send to the container that overrides the default command from the - * Docker image or the task definition. You must also specify a container name.

                                                                  + *

                                                                  The type and amount of a resource to assign to a container, instead of the default + * value from the task definition. The only supported resource is a GPU.

                                                                  + */ + resourceRequirements?: ResourceRequirement[]; + + /** + *

                                                                  The hard limit (in MiB) of memory to present to the container, instead of the default + * value from the task definition. If your container attempts to exceed the memory + * specified here, the container is killed. You must also specify a container name.

                                                                  */ - command?: string[]; + memory?: number; /** - *

                                                                  The type and amount of a resource to assign to a container, instead of the default - * value from the task definition. The only supported resource is a GPU.

                                                                  + *

                                                                  A list of files containing the environment variables to pass to a container, instead + * of the value from the container definition.

                                                                  */ - resourceRequirements?: ResourceRequirement[]; + environmentFiles?: EnvironmentFile[]; /** - *

                                                                  The name of the container that receives the override. This parameter is required if - * any override is specified.

                                                                  + *

                                                                  The environment variables to send to the container. You can add new environment + * variables, which are added to the container at launch, or you can override the existing + * environment variables from the Docker image or the task definition. You must also + * specify a container name.

                                                                  */ - name?: string; + environment?: KeyValuePair[]; } export namespace ContainerOverride { @@ -5998,35 +5998,35 @@ export namespace InferenceAcceleratorOverride { */ export interface TaskOverride { /** - *

                                                                  The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers - * in this task are granted the permissions that are specified in this role.

                                                                  + *

                                                                  One or more container overrides sent to a task.

                                                                  */ - taskRoleArn?: string; + containerOverrides?: ContainerOverride[]; /** - *

                                                                  The Elastic Inference accelerator override for the task.

                                                                  + *

                                                                  The cpu override for the task.

                                                                  */ - inferenceAcceleratorOverrides?: InferenceAcceleratorOverride[]; + cpu?: string; /** - *

                                                                  One or more container overrides sent to a task.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the task execution IAM role override for the task.

                                                                  */ - containerOverrides?: ContainerOverride[]; + executionRoleArn?: string; /** - *

                                                                  The memory override for the task.

                                                                  + *

                                                                  The Elastic Inference accelerator override for the task.

                                                                  */ - memory?: string; + inferenceAcceleratorOverrides?: InferenceAcceleratorOverride[]; /** - *

                                                                  The Amazon Resource Name (ARN) of the task execution IAM role override for the task.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers + * in this task are granted the permissions that are specified in this role.

                                                                  */ - executionRoleArn?: string; + taskRoleArn?: string; /** - *

                                                                  The cpu override for the task.

                                                                  + *

                                                                  The memory override for the task.

                                                                  */ - cpu?: string; + memory?: string; } export namespace TaskOverride { @@ -6046,67 +6046,94 @@ export enum TaskStopCode { */ export interface Task { /** - *

                                                                  The ARN of the task definition that creates the task.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the task.

                                                                  */ - taskDefinitionArn?: string; + taskArn?: string; /** - *

                                                                  The last known status of the task. For more information, see Task - * Lifecycle.

                                                                  + *

                                                                  The launch type on which your task is running. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                  */ - lastStatus?: string; + launchType?: LaunchType | string; /** - *

                                                                  The Unix timestamp for when the task was created (the task entered the - * PENDING state).

                                                                  + *

                                                                  The Elastic Network Adapter associated with the task if the task uses the + * awsvpc network mode.

                                                                  */ - createdAt?: Date; + attachments?: Attachment[]; /** - *

                                                                  The Unix timestamp for when the task stops (transitions from the RUNNING - * state to STOPPED).

                                                                  + *

                                                                  The platform version on which your task is running. A platform version is only + * specified for tasks using the Fargate launch type. If one is not + * specified, the LATEST platform version is used by default. For more + * information, see AWS Fargate Platform + * Versions in the Amazon Elastic Container Service Developer Guide.

                                                                  */ - stoppingAt?: Date; + platformVersion?: string; /** - *

                                                                  The Unix timestamp for when the task was stopped (the task transitioned from the - * RUNNING state to the STOPPED state).

                                                                  + *

                                                                  The ARN of the cluster that hosts the task.

                                                                  */ - stoppedAt?: Date; + clusterArn?: string; /** - *

                                                                  The desired status of the task. For more information, see Task - * Lifecycle.

                                                                  + *

                                                                  The capacity provider associated with the task.

                                                                  */ - desiredStatus?: string; + capacityProviderName?: string; /** - *

                                                                  The tag specified when a task is started. If the task is started by an Amazon ECS service, - * then the startedBy parameter contains the deployment ID of the service that - * starts it.

                                                                  + *

                                                                  The Unix timestamp for when the task execution stopped.

                                                                  */ - startedBy?: string; + executionStoppedAt?: Date; /** - *

                                                                  The Unix timestamp for when the container image pull completed.

                                                                  + *

                                                                  The availability zone of the task.

                                                                  */ - pullStoppedAt?: Date; + availabilityZone?: string; /** - *

                                                                  The connectivity status of a task.

                                                                  + *

                                                                  The Unix timestamp for when the task started (the task transitioned from the + * PENDING state to the RUNNING state).

                                                                  */ - connectivity?: Connectivity | string; + startedAt?: Date; /** - *

                                                                  The Unix timestamp for when the task last went into CONNECTED - * status.

                                                                  + *

                                                                  The reason that the task was stopped.

                                                                  */ - connectivityAt?: Date; + stoppedReason?: string; /** - *

                                                                  The Unix timestamp for when the container image pull began.

                                                                  + *

                                                                  The containers associated with the task.

                                                                  */ - pullStartedAt?: Date; + containers?: Container[]; + + /** + *

                                                                  The attributes of the task

                                                                  + */ + attributes?: Attribute[]; + + /** + *

                                                                  The ARN of the task definition that creates the task.

                                                                  + */ + taskDefinitionArn?: string; + + /** + *

                                                                  The last known status of the task. For more information, see Task + * Lifecycle.

                                                                  + */ + lastStatus?: string; + + /** + *

                                                                  The stop code indicating why a task was stopped. The stoppedReason may + * contain additional details.

                                                                  + */ + stopCode?: TaskStopCode | string; + + /** + *

                                                                  The Unix timestamp for when the task stops (transitions from the RUNNING + * state to STOPPED).

                                                                  + */ + stoppingAt?: Date; /** *

                                                                  The amount of memory (in MiB) used by the task as expressed in a task definition. It @@ -6139,72 +6166,38 @@ export interface Task { memory?: string; /** - *

                                                                  The version counter for the task. Every time a task experiences a change that triggers - * a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS task - * state with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API - * actions with the version reported in CloudWatch Events for the task (inside the - * detail object) to verify that the version in your event stream is - * current.

                                                                  + *

                                                                  One or more container overrides.

                                                                  */ - version?: number; + overrides?: TaskOverride; /** - *

                                                                  The stop code indicating why a task was stopped. The stoppedReason may - * contain additional details.

                                                                  + *

                                                                  The Unix timestamp for when the task last went into CONNECTED + * status.

                                                                  */ - stopCode?: TaskStopCode | string; + connectivityAt?: Date; /** - *

                                                                  The metadata that you apply to the task to help you categorize and organize them. Each - * tag consists of a key and an optional value, both of which you define.

                                                                  - *

                                                                  The following basic restrictions apply to tags:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    Maximum number of tags per resource - 50

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    For each resource, each tag key must be unique, and each tag key can have only - * one value.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    Maximum key length - 128 Unicode characters in UTF-8

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    Maximum value length - 256 Unicode characters in UTF-8

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    Tag keys and values are case-sensitive.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    Do not use aws:, AWS:, or any upper or lowercase - * combination of such as a prefix for either keys or values as it is reserved for - * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with - * this prefix do not count against your tags per resource limit.

                                                                    - *
                                                                  • - *
                                                                  + *

                                                                  The desired status of the task. For more information, see Task + * Lifecycle.

                                                                  */ - tags?: Tag[]; + desiredStatus?: string; /** - *

                                                                  The Unix timestamp for when the task execution stopped.

                                                                  + *

                                                                  The Elastic Inference accelerator associated with the task.

                                                                  */ - executionStoppedAt?: Date; + inferenceAccelerators?: InferenceAccelerator[]; /** - *

                                                                  The availability zone of the task.

                                                                  + *

                                                                  The tag specified when a task is started. If the task is started by an Amazon ECS service, + * then the startedBy parameter contains the deployment ID of the service that + * starts it.

                                                                  */ - availabilityZone?: string; + startedBy?: string; /** - *

                                                                  The attributes of the task

                                                                  + *

                                                                  The Unix timestamp for when the container image pull completed.

                                                                  */ - attributes?: Attribute[]; + pullStoppedAt?: Date; /** *

                                                                  The health status for the task, which is determined by the health of the essential @@ -6224,76 +6217,57 @@ export interface Task { healthStatus?: HealthStatus | string; /** - *

                                                                  The ARN of the cluster that hosts the task.

                                                                  - */ - clusterArn?: string; - - /** - *

                                                                  The ARN of the container instances that host the task.

                                                                  - */ - containerInstanceArn?: string; - - /** - *

                                                                  The Unix timestamp for when the task started (the task transitioned from the - * PENDING state to the RUNNING state).

                                                                  - */ - startedAt?: Date; - - /** - *

                                                                  The Amazon Resource Name (ARN) of the task.

                                                                  - */ - taskArn?: string; - - /** - *

                                                                  The platform version on which your task is running. A platform version is only - * specified for tasks using the Fargate launch type. If one is not - * specified, the LATEST platform version is used by default. For more - * information, see AWS Fargate Platform - * Versions in the Amazon Elastic Container Service Developer Guide.

                                                                  - */ - platformVersion?: string; - - /** - *

                                                                  The reason that the task was stopped.

                                                                  - */ - stoppedReason?: string; - - /** - *

                                                                  The containers associated with the task.

                                                                  - */ - containers?: Container[]; - - /** - *

                                                                  The capacity provider associated with the task.

                                                                  - */ - capacityProviderName?: string; - - /** - *

                                                                  The Elastic Inference accelerator associated with the task.

                                                                  - */ - inferenceAccelerators?: InferenceAccelerator[]; - - /** - *

                                                                  The Elastic Network Adapter associated with the task if the task uses the - * awsvpc network mode.

                                                                  - */ - attachments?: Attachment[]; - - /** - *

                                                                  The launch type on which your task is running. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                  + *

                                                                  The metadata that you apply to the task to help you categorize and organize them. Each + * tag consists of a key and an optional value, both of which you define.

                                                                  + *

                                                                  The following basic restrictions apply to tags:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    Maximum number of tags per resource - 50

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    For each resource, each tag key must be unique, and each tag key can have only + * one value.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Maximum key length - 128 Unicode characters in UTF-8

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Maximum value length - 256 Unicode characters in UTF-8

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Tag keys and values are case-sensitive.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Do not use aws:, AWS:, or any upper or lowercase + * combination of such as a prefix for either keys or values as it is reserved for + * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + * this prefix do not count against your tags per resource limit.

                                                                    + *
                                                                  • + *
                                                                  */ - launchType?: LaunchType | string; + tags?: Tag[]; /** - *

                                                                  One or more container overrides.

                                                                  + *

                                                                  The version counter for the task. Every time a task experiences a change that triggers + * a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS task + * state with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API + * actions with the version reported in CloudWatch Events for the task (inside the + * detail object) to verify that the version in your event stream is + * current.

                                                                  */ - overrides?: TaskOverride; + version?: number; /** - *

                                                                  The name of the task group associated with the task.

                                                                  + *

                                                                  The Unix timestamp for when the task was stopped (the task transitioned from the + * RUNNING state to the STOPPED state).

                                                                  */ - group?: string; + stoppedAt?: Date; /** *

                                                                  The number of CPU units used by the task as expressed in a task definition. It can be @@ -6326,6 +6300,32 @@ export interface Task { *

                                                                */ cpu?: string; + + /** + *

                                                                The Unix timestamp for when the container image pull began.

                                                                + */ + pullStartedAt?: Date; + + /** + *

                                                                The connectivity status of a task.

                                                                + */ + connectivity?: Connectivity | string; + + /** + *

                                                                The Unix timestamp for when the task was created (the task entered the + * PENDING state).

                                                                + */ + createdAt?: Date; + + /** + *

                                                                The name of the task group associated with the task.

                                                                + */ + group?: string; + + /** + *

                                                                The ARN of the container instances that host the task.

                                                                + */ + containerInstanceArn?: string; } export namespace Task { @@ -6357,11 +6357,6 @@ export enum TaskSetField { } export interface DescribeTaskSetsRequest { - /** - *

                                                                The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.

                                                                - */ - service: string | undefined; - /** *

                                                                Specifies whether to see the resource tags for the task set. If TAGS is * specified, the tags are included in the response. If this field is omitted, tags are not @@ -6369,6 +6364,12 @@ export interface DescribeTaskSetsRequest { */ include?: (TaskSetField | string)[]; + /** + *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + * sets exist in.

                                                                + */ + cluster: string | undefined; + /** *

                                                                The ID or full Amazon Resource Name (ARN) of task sets to * describe.

                                                                @@ -6376,10 +6377,9 @@ export interface DescribeTaskSetsRequest { taskSets?: string[]; /** - *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task - * sets exist in.

                                                                + *

                                                                The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.

                                                                */ - cluster: string | undefined; + service: string | undefined; } export namespace DescribeTaskSetsRequest { @@ -6390,14 +6390,14 @@ export namespace DescribeTaskSetsRequest { export interface DescribeTaskSetsResponse { /** - *

                                                                The list of task sets described.

                                                                + *

                                                                Any failures associated with the call.

                                                                */ - taskSets?: TaskSet[]; + failures?: Failure[]; /** - *

                                                                Any failures associated with the call.

                                                                + *

                                                                The list of task sets described.

                                                                */ - failures?: Failure[]; + taskSets?: TaskSet[]; } export namespace DescribeTaskSetsResponse { @@ -6445,27 +6445,6 @@ export namespace DiscoverPollEndpointResponse { } export interface ListAccountSettingsRequest { - /** - *

                                                                The maximum number of account setting results returned by - * ListAccountSettings in paginated output. When this parameter is used, - * ListAccountSettings only returns maxResults results in a - * single page along with a nextToken response element. The remaining results - * of the initial request can be seen by sending another ListAccountSettings - * request with the returned nextToken value. This value can be between - * 1 and 10. If this - * parameter is not used, then ListAccountSettings returns up to - * 10 results and a nextToken value - * if applicable.

                                                                - */ - maxResults?: number; - - /** - *

                                                                The ARN of the principal, which can be an IAM user, IAM role, or the root user. If - * this field is omitted, the account settings are listed only for the authenticated - * user.

                                                                - */ - principalArn?: string; - /** *

                                                                The nextToken value returned from a ListAccountSettings * request indicating that more results are available to fulfill the request and further @@ -6479,15 +6458,15 @@ export interface ListAccountSettingsRequest { nextToken?: string; /** - *

                                                                The value of the account settings with which to filter results. You must also specify - * an account setting name to use this parameter.

                                                                + *

                                                                The name of the account setting you want to list the settings for.

                                                                */ - value?: string; + name?: SettingName | string; /** - *

                                                                The name of the account setting you want to list the settings for.

                                                                + *

                                                                The value of the account settings with which to filter results. You must also specify + * an account setting name to use this parameter.

                                                                */ - name?: SettingName | string; + value?: string; /** *

                                                                Specifies whether to return the effective settings. If true, the account @@ -6496,6 +6475,27 @@ export interface ListAccountSettingsRequest { * are returned if they are set. Otherwise, no account settings are returned.

                                                                */ effectiveSettings?: boolean; + + /** + *

                                                                The maximum number of account setting results returned by + * ListAccountSettings in paginated output. When this parameter is used, + * ListAccountSettings only returns maxResults results in a + * single page along with a nextToken response element. The remaining results + * of the initial request can be seen by sending another ListAccountSettings + * request with the returned nextToken value. This value can be between + * 1 and 10. If this + * parameter is not used, then ListAccountSettings returns up to + * 10 results and a nextToken value + * if applicable.

                                                                + */ + maxResults?: number; + + /** + *

                                                                The ARN of the principal, which can be an IAM user, IAM role, or the root user. If + * this field is omitted, the account settings are listed only for the authenticated + * user.

                                                                + */ + principalArn?: string; } export namespace ListAccountSettingsRequest { @@ -6505,11 +6505,6 @@ export namespace ListAccountSettingsRequest { } export interface ListAccountSettingsResponse { - /** - *

                                                                The account settings for the resource.

                                                                - */ - settings?: Setting[]; - /** *

                                                                The nextToken value to include in a future * ListAccountSettings request. When the results of a @@ -6518,6 +6513,11 @@ export interface ListAccountSettingsResponse { * there are no more results to return.

                                                                */ nextToken?: string; + + /** + *

                                                                The account settings for the resource.

                                                                + */ + settings?: Setting[]; } export namespace ListAccountSettingsResponse { @@ -6528,16 +6528,15 @@ export namespace ListAccountSettingsResponse { export interface ListAttributesRequest { /** - *

                                                                The maximum number of cluster results returned by ListAttributes in - * paginated output. When this parameter is used, ListAttributes only returns - * maxResults results in a single page along with a nextToken - * response element. The remaining results of the initial request can be seen by sending - * another ListAttributes request with the returned nextToken - * value. This value can be between 1 and 100. If this - * parameter is not used, then ListAttributes returns up to - * 100 results and a nextToken value if applicable.

                                                                + *

                                                                The type of the target with which to list attributes.

                                                                */ - maxResults?: number; + targetType: TargetType | string | undefined; + + /** + *

                                                                The value of the attribute with which to filter results. You must also specify an + * attribute name to use this parameter.

                                                                + */ + attributeValue?: string; /** *

                                                                The nextToken value returned from a ListAttributes request @@ -6551,6 +6550,18 @@ export interface ListAttributesRequest { */ nextToken?: string; + /** + *

                                                                The maximum number of cluster results returned by ListAttributes in + * paginated output. When this parameter is used, ListAttributes only returns + * maxResults results in a single page along with a nextToken + * response element. The remaining results of the initial request can be seen by sending + * another ListAttributes request with the returned nextToken + * value. This value can be between 1 and 100. If this + * parameter is not used, then ListAttributes returns up to + * 100 results and a nextToken value if applicable.

                                                                + */ + maxResults?: number; + /** *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. * If you do not specify a cluster, the default cluster is assumed.

                                                                @@ -6561,17 +6572,6 @@ export interface ListAttributesRequest { *

                                                                The name of the attribute with which to filter the results.

                                                                */ attributeName?: string; - - /** - *

                                                                The value of the attribute with which to filter results. You must also specify an - * attribute name to use this parameter.

                                                                - */ - attributeValue?: string; - - /** - *

                                                                The type of the target with which to list attributes.

                                                                - */ - targetType: TargetType | string | undefined; } export namespace ListAttributesRequest { @@ -6581,6 +6581,11 @@ export namespace ListAttributesRequest { } export interface ListAttributesResponse { + /** + *

                                                                A list of attribute objects that meet the criteria of the request.

                                                                + */ + attributes?: Attribute[]; + /** *

                                                                The nextToken value to include in a future ListAttributes * request. When the results of a ListAttributes request exceed @@ -6589,11 +6594,6 @@ export interface ListAttributesResponse { * return.

                                                                */ nextToken?: string; - - /** - *

                                                                A list of attribute objects that meet the criteria of the request.

                                                                - */ - attributes?: Attribute[]; } export namespace ListAttributesResponse { @@ -6603,18 +6603,6 @@ export namespace ListAttributesResponse { } export interface ListClustersRequest { - /** - *

                                                                The maximum number of cluster results returned by ListClusters in - * paginated output. When this parameter is used, ListClusters only returns - * maxResults results in a single page along with a nextToken - * response element. The remaining results of the initial request can be seen by sending - * another ListClusters request with the returned nextToken - * value. This value can be between 1 and 100. If this - * parameter is not used, then ListClusters returns up to - * 100 results and a nextToken value if applicable.

                                                                - */ - maxResults?: number; - /** *

                                                                The nextToken value returned from a ListClusters request * indicating that more results are available to fulfill the request and further calls will @@ -6626,6 +6614,18 @@ export interface ListClustersRequest { * */ nextToken?: string; + + /** + *

                                                                The maximum number of cluster results returned by ListClusters in + * paginated output. When this parameter is used, ListClusters only returns + * maxResults results in a single page along with a nextToken + * response element. The remaining results of the initial request can be seen by sending + * another ListClusters request with the returned nextToken + * value. This value can be between 1 and 100. If this + * parameter is not used, then ListClusters returns up to + * 100 results and a nextToken value if applicable.

                                                                + */ + maxResults?: number; } export namespace ListClustersRequest { @@ -6635,12 +6635,6 @@ export namespace ListClustersRequest { } export interface ListClustersResponse { - /** - *

                                                                The list of full Amazon Resource Name (ARN) entries for each cluster associated with your - * account.

                                                                - */ - clusterArns?: string[]; - /** *

                                                                The nextToken value to include in a future ListClusters * request. When the results of a ListClusters request exceed @@ -6649,6 +6643,12 @@ export interface ListClustersResponse { * return.

                                                                */ nextToken?: string; + + /** + *

                                                                The list of full Amazon Resource Name (ARN) entries for each cluster associated with your + * account.

                                                                + */ + clusterArns?: string[]; } export namespace ListClustersResponse { @@ -6662,19 +6662,10 @@ export enum ContainerInstanceStatus { DEREGISTERING = "DEREGISTERING", DRAINING = "DRAINING", REGISTERING = "REGISTERING", - REGISTRATION_FAILED = "REGISTRATION_FAILED", -} - -export interface ListContainerInstancesRequest { - /** - *

                                                                Filters the container instances by status. For example, if you specify the - * DRAINING status, the results include only container instances that have - * been set to DRAINING using UpdateContainerInstancesState. - * If you do not specify this parameter, the default is to include container instances set - * to all states other than INACTIVE.

                                                                - */ - status?: ContainerInstanceStatus | string; + REGISTRATION_FAILED = "REGISTRATION_FAILED", +} +export interface ListContainerInstancesRequest { /** *

                                                                You can filter the results of a ListContainerInstances operation with * cluster query language statements. For more information, see Cluster Query Language in the @@ -6683,10 +6674,16 @@ export interface ListContainerInstancesRequest { filter?: string; /** - *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to - * list. If you do not specify a cluster, the default cluster is assumed.

                                                                + *

                                                                The nextToken value returned from a ListContainerInstances + * request indicating that more results are available to fulfill the request and further + * calls will be needed. If maxResults was provided, it is possible the number + * of results to be fewer than maxResults.

                                                                + * + *

                                                                This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.

                                                                + *
                                                                */ - cluster?: string; + nextToken?: string; /** *

                                                                The maximum number of container instance results returned by @@ -6702,16 +6699,19 @@ export interface ListContainerInstancesRequest { maxResults?: number; /** - *

                                                                The nextToken value returned from a ListContainerInstances - * request indicating that more results are available to fulfill the request and further - * calls will be needed. If maxResults was provided, it is possible the number - * of results to be fewer than maxResults.

                                                                - * - *

                                                                This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.

                                                                - *
                                                                + *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + * list. If you do not specify a cluster, the default cluster is assumed.

                                                                */ - nextToken?: string; + cluster?: string; + + /** + *

                                                                Filters the container instances by status. For example, if you specify the + * DRAINING status, the results include only container instances that have + * been set to DRAINING using UpdateContainerInstancesState. + * If you do not specify this parameter, the default is to include container instances set + * to all states other than INACTIVE.

                                                                + */ + status?: ContainerInstanceStatus | string; } export namespace ListContainerInstancesRequest { @@ -6745,17 +6745,14 @@ export namespace ListContainerInstancesResponse { export interface ListServicesRequest { /** - *

                                                                The maximum number of service results returned by ListServices in - * paginated output. When this parameter is used, ListServices only returns - * maxResults results in a single page along with a nextToken - * response element. The remaining results of the initial request can be seen by sending - * another ListServices request with the returned nextToken - * value. This value can be between 1 and 100. If - * this parameter is not used, then ListServices returns up to - * 10 results and a nextToken value if - * applicable.

                                                                + *

                                                                The launch type for the services to list.

                                                                */ - maxResults?: number; + launchType?: LaunchType | string; + + /** + *

                                                                The scheduling strategy for services to list.

                                                                + */ + schedulingStrategy?: SchedulingStrategy | string; /** *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster that hosts the services to list. @@ -6776,14 +6773,17 @@ export interface ListServicesRequest { nextToken?: string; /** - *

                                                                The scheduling strategy for services to list.

                                                                - */ - schedulingStrategy?: SchedulingStrategy | string; - - /** - *

                                                                The launch type for the services to list.

                                                                + *

                                                                The maximum number of service results returned by ListServices in + * paginated output. When this parameter is used, ListServices only returns + * maxResults results in a single page along with a nextToken + * response element. The remaining results of the initial request can be seen by sending + * another ListServices request with the returned nextToken + * value. This value can be between 1 and 100. If + * this parameter is not used, then ListServices returns up to + * 10 results and a nextToken value if + * applicable.

                                                                */ - launchType?: LaunchType | string; + maxResults?: number; } export namespace ListServicesRequest { @@ -6793,6 +6793,12 @@ export namespace ListServicesRequest { } export interface ListServicesResponse { + /** + *

                                                                The list of full ARN entries for each service associated with the specified + * cluster.

                                                                + */ + serviceArns?: string[]; + /** *

                                                                The nextToken value to include in a future ListServices * request. When the results of a ListServices request exceed @@ -6801,12 +6807,6 @@ export interface ListServicesResponse { * return.

                                                                */ nextToken?: string; - - /** - *

                                                                The list of full ARN entries for each service associated with the specified - * cluster.

                                                                - */ - serviceArns?: string[]; } export namespace ListServicesResponse { @@ -6850,6 +6850,19 @@ export enum TaskDefinitionFamilyStatus { } export interface ListTaskDefinitionFamiliesRequest { + /** + *

                                                                The task definition family status with which to filter the + * ListTaskDefinitionFamilies results. By default, both + * ACTIVE and INACTIVE task definition families are listed. + * If this parameter is set to ACTIVE, only task definition families that have + * an ACTIVE task definition revision are returned. If this parameter is set + * to INACTIVE, only task definition families that do not have any + * ACTIVE task definition revisions are returned. If you paginate the + * resulting output, be sure to keep the status value constant in each + * subsequent request.

                                                                + */ + status?: TaskDefinitionFamilyStatus | string; + /** *

                                                                The nextToken value returned from a * ListTaskDefinitionFamilies request indicating that more results are @@ -6863,14 +6876,6 @@ export interface ListTaskDefinitionFamiliesRequest { */ nextToken?: string; - /** - *

                                                                The familyPrefix is a string that is used to filter the results of - * ListTaskDefinitionFamilies. If you specify a familyPrefix, - * only task definition family names that begin with the familyPrefix string - * are returned.

                                                                - */ - familyPrefix?: string; - /** *

                                                                The maximum number of task definition family results returned by * ListTaskDefinitionFamilies in paginated output. When this parameter is @@ -6886,17 +6891,12 @@ export interface ListTaskDefinitionFamiliesRequest { maxResults?: number; /** - *

                                                                The task definition family status with which to filter the - * ListTaskDefinitionFamilies results. By default, both - * ACTIVE and INACTIVE task definition families are listed. - * If this parameter is set to ACTIVE, only task definition families that have - * an ACTIVE task definition revision are returned. If this parameter is set - * to INACTIVE, only task definition families that do not have any - * ACTIVE task definition revisions are returned. If you paginate the - * resulting output, be sure to keep the status value constant in each - * subsequent request.

                                                                + *

                                                                The familyPrefix is a string that is used to filter the results of + * ListTaskDefinitionFamilies. If you specify a familyPrefix, + * only task definition family names that begin with the familyPrefix string + * are returned.

                                                                */ - status?: TaskDefinitionFamilyStatus | string; + familyPrefix?: string; } export namespace ListTaskDefinitionFamiliesRequest { @@ -6934,6 +6934,19 @@ export enum SortOrder { } export interface ListTaskDefinitionsRequest { + /** + *

                                                                The maximum number of task definition results returned by + * ListTaskDefinitions in paginated output. When this parameter is used, + * ListTaskDefinitions only returns maxResults results in a + * single page along with a nextToken response element. The remaining results + * of the initial request can be seen by sending another ListTaskDefinitions + * request with the returned nextToken value. This value can be between + * 1 and 100. If this parameter is not used, then + * ListTaskDefinitions returns up to 100 results and a + * nextToken value if applicable.

                                                                + */ + maxResults?: number; + /** *

                                                                The nextToken value returned from a ListTaskDefinitions * request indicating that more results are available to fulfill the request and further @@ -6946,6 +6959,13 @@ export interface ListTaskDefinitionsRequest { */ nextToken?: string; + /** + *

                                                                The full family name with which to filter the ListTaskDefinitions + * results. Specifying a familyPrefix limits the listed task definitions to + * task definition revisions that belong to that family.

                                                                + */ + familyPrefix?: string; + /** *

                                                                The order in which to sort the results. Valid values are ASC and * DESC. By default (ASC), task definitions are listed @@ -6965,26 +6985,6 @@ export interface ListTaskDefinitionsRequest { * constant in each subsequent request.

                                                                */ status?: TaskDefinitionStatus | string; - - /** - *

                                                                The maximum number of task definition results returned by - * ListTaskDefinitions in paginated output. When this parameter is used, - * ListTaskDefinitions only returns maxResults results in a - * single page along with a nextToken response element. The remaining results - * of the initial request can be seen by sending another ListTaskDefinitions - * request with the returned nextToken value. This value can be between - * 1 and 100. If this parameter is not used, then - * ListTaskDefinitions returns up to 100 results and a - * nextToken value if applicable.

                                                                - */ - maxResults?: number; - - /** - *

                                                                The full family name with which to filter the ListTaskDefinitions - * results. Specifying a familyPrefix limits the listed task definitions to - * task definition revisions that belong to that family.

                                                                - */ - familyPrefix?: string; } export namespace ListTaskDefinitionsRequest { @@ -7023,13 +7023,6 @@ export enum DesiredStatus { } export interface ListTasksRequest { - /** - *

                                                                The startedBy value with which to filter the task results. Specifying a - * startedBy value limits the results to tasks that were started with that - * value.

                                                                - */ - startedBy?: string; - /** *

                                                                The container instance ID or full ARN of the container instance with which to filter * the ListTasks results. Specifying a containerInstance limits @@ -7037,6 +7030,41 @@ export interface ListTasksRequest { */ containerInstance?: string; + /** + *

                                                                The name of the family with which to filter the ListTasks results. + * Specifying a family limits the results to tasks that belong to that + * family.

                                                                + */ + family?: string; + + /** + *

                                                                The name of the service with which to filter the ListTasks results. + * Specifying a serviceName limits the results to tasks that belong to that + * service.

                                                                + */ + serviceName?: string; + + /** + *

                                                                The task desired status with which to filter the ListTasks results. + * Specifying a desiredStatus of STOPPED limits the results to + * tasks that Amazon ECS has set the desired status to STOPPED. This can be useful + * for debugging tasks that are not starting properly or have died or finished. The default + * status filter is RUNNING, which shows tasks that Amazon ECS has set the desired + * status to RUNNING.

                                                                + * + *

                                                                Although you can filter results based on a desired status of PENDING, + * this does not return any results. Amazon ECS never sets the desired status of a task to + * that value (only a task's lastStatus may have a value of + * PENDING).

                                                                + *
                                                                + */ + desiredStatus?: DesiredStatus | string; + + /** + *

                                                                The launch type for services to list.

                                                                + */ + launchType?: LaunchType | string; + /** *

                                                                The maximum number of task results returned by ListTasks in paginated * output. When this parameter is used, ListTasks only returns @@ -7068,39 +7096,11 @@ export interface ListTasksRequest { cluster?: string; /** - *

                                                                The launch type for services to list.

                                                                - */ - launchType?: LaunchType | string; - - /** - *

                                                                The name of the family with which to filter the ListTasks results. - * Specifying a family limits the results to tasks that belong to that - * family.

                                                                - */ - family?: string; - - /** - *

                                                                The name of the service with which to filter the ListTasks results. - * Specifying a serviceName limits the results to tasks that belong to that - * service.

                                                                - */ - serviceName?: string; - - /** - *

                                                                The task desired status with which to filter the ListTasks results. - * Specifying a desiredStatus of STOPPED limits the results to - * tasks that Amazon ECS has set the desired status to STOPPED. This can be useful - * for debugging tasks that are not starting properly or have died or finished. The default - * status filter is RUNNING, which shows tasks that Amazon ECS has set the desired - * status to RUNNING.

                                                                - * - *

                                                                Although you can filter results based on a desired status of PENDING, - * this does not return any results. Amazon ECS never sets the desired status of a task to - * that value (only a task's lastStatus may have a value of - * PENDING).

                                                                - *
                                                                + *

                                                                The startedBy value with which to filter the task results. Specifying a + * startedBy value limits the results to tasks that were started with that + * value.

                                                                */ - desiredStatus?: DesiredStatus | string; + startedBy?: string; } export namespace ListTasksRequest { @@ -7181,6 +7181,12 @@ export namespace PutAccountSettingResponse { } export interface PutAccountSettingDefaultRequest { + /** + *

                                                                The account setting value for the specified principal ARN. Accepted values are + * enabled and disabled.

                                                                + */ + value: string | undefined; + /** *

                                                                The resource name for which to modify the account setting. If * serviceLongArnFormat is specified, the ARN for your Amazon ECS services is @@ -7192,12 +7198,6 @@ export interface PutAccountSettingDefaultRequest { * setting for CloudWatch Container Insights for your clusters is affected.

                                                                */ name: SettingName | string | undefined; - - /** - *

                                                                The account setting value for the specified principal ARN. Accepted values are - * enabled and disabled.

                                                                - */ - value: string | undefined; } export namespace PutAccountSettingDefaultRequest { @@ -7238,16 +7238,16 @@ export namespace AttributeLimitExceededException { export interface PutAttributesRequest { /** - *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply - * attributes. If you do not specify a cluster, the default cluster is assumed.

                                                                + *

                                                                The attributes to apply to your resource. You can specify up to 10 custom attributes + * per resource. You can specify up to 10 attributes in a single call.

                                                                */ - cluster?: string; + attributes: Attribute[] | undefined; /** - *

                                                                The attributes to apply to your resource. You can specify up to 10 custom attributes - * per resource. You can specify up to 10 attributes in a single call.

                                                                + *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply + * attributes. If you do not specify a cluster, the default cluster is assumed.

                                                                */ - attributes: Attribute[] | undefined; + cluster?: string; } export namespace PutAttributesRequest { @@ -7290,6 +7290,12 @@ export interface PutClusterCapacityProvidersRequest { */ defaultCapacityProviderStrategy: CapacityProviderStrategyItem[] | undefined; + /** + *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider + * settings for. If you do not specify a cluster, the default cluster is assumed.

                                                                + */ + cluster: string | undefined; + /** *

                                                                The name of one or more capacity providers to associate with the cluster.

                                                                *

                                                                If specifying a capacity provider that uses an Auto Scaling group, the capacity @@ -7300,12 +7306,6 @@ export interface PutClusterCapacityProvidersRequest { * used.

                                                                */ capacityProviders: string[] | undefined; - - /** - *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider - * settings for. If you do not specify a cluster, the default cluster is assumed.

                                                                - */ - cluster: string | undefined; } export namespace PutClusterCapacityProvidersRequest { @@ -7354,18 +7354,18 @@ export enum PlatformDeviceType { * type is a GPU.

                                                                */ export interface PlatformDevice { + /** + *

                                                                The type of device that is available on the container instance. The only supported + * value is GPU.

                                                                + */ + type: PlatformDeviceType | string | undefined; + /** *

                                                                The ID for the GPU(s) on the container instance. The available GPU IDs can also be * obtained on the container instance in the * /var/lib/ecs/gpu/nvidia_gpu_info.json file.

                                                                */ id: string | undefined; - - /** - *

                                                                The type of device that is available on the container instance. The only supported - * value is GPU.

                                                                - */ - type: PlatformDeviceType | string | undefined; } export namespace PlatformDevice { @@ -7375,55 +7375,12 @@ export namespace PlatformDevice { } export interface RegisterContainerInstanceRequest { - /** - *

                                                                The ARN of the container instance (if it was previously registered).

                                                                - */ - containerInstanceArn?: string; - - /** - *

                                                                The container instance attributes that this container instance supports.

                                                                - */ - attributes?: Attribute[]; - /** *

                                                                The version information for the Amazon ECS container agent and Docker daemon running on the * container instance.

                                                                */ versionInfo?: VersionInfo; - /** - *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container - * instance. If you do not specify a cluster, the default cluster is assumed.

                                                                - */ - cluster?: string; - - /** - *

                                                                The devices that are available on the container instance. The only supported device - * type is a GPU.

                                                                - */ - platformDevices?: PlatformDevice[]; - - /** - *

                                                                The instance identity document for the EC2 instance to register. This document can be - * found by running the following command from the instance: curl - * http://169.254.169.254/latest/dynamic/instance-identity/document/ - *

                                                                - */ - instanceIdentityDocument?: string; - - /** - *

                                                                The instance identity document signature for the EC2 instance to register. This - * signature can be found by running the following command from the instance: curl - * http://169.254.169.254/latest/dynamic/instance-identity/signature/ - *

                                                                - */ - instanceIdentityDocumentSignature?: string; - - /** - *

                                                                The resources available on the instance.

                                                                - */ - totalResources?: Resource[]; - /** *

                                                                The metadata that you apply to the container instance to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which you @@ -7461,6 +7418,49 @@ export interface RegisterContainerInstanceRequest { *

                                                              */ tags?: Tag[]; + + /** + *

                                                              The devices that are available on the container instance. The only supported device + * type is a GPU.

                                                              + */ + platformDevices?: PlatformDevice[]; + + /** + *

                                                              The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container + * instance. If you do not specify a cluster, the default cluster is assumed.

                                                              + */ + cluster?: string; + + /** + *

                                                              The instance identity document signature for the EC2 instance to register. This + * signature can be found by running the following command from the instance: curl + * http://169.254.169.254/latest/dynamic/instance-identity/signature/ + *

                                                              + */ + instanceIdentityDocumentSignature?: string; + + /** + *

                                                              The resources available on the instance.

                                                              + */ + totalResources?: Resource[]; + + /** + *

                                                              The ARN of the container instance (if it was previously registered).

                                                              + */ + containerInstanceArn?: string; + + /** + *

                                                              The instance identity document for the EC2 instance to register. This document can be + * found by running the following command from the instance: curl + * http://169.254.169.254/latest/dynamic/instance-identity/document/ + *

                                                              + */ + instanceIdentityDocument?: string; + + /** + *

                                                              The container instance attributes that this container instance supports.

                                                              + */ + attributes?: Attribute[]; } export namespace RegisterContainerInstanceRequest { @@ -7484,101 +7484,81 @@ export namespace RegisterContainerInstanceResponse { export interface RegisterTaskDefinitionRequest { /** - *

                                                              The process namespace to use for the containers in the task. The valid - * values are host or task. If host - * is specified, then all containers within the tasks that specified the - * host PID mode on the same container instance share the - * same process namespace with the host Amazon EC2 instance. If task is - * specified, all containers within the specified task share the same - * process namespace. If no value is specified, the default is a private - * namespace. For more information, see PID settings in the Docker run - * reference.

                                                              - *

                                                              If the host PID mode is used, be aware that there is a - * heightened risk of undesired process namespace expose. For more - * information, see Docker - * security.

                                                              - * - *

                                                              This parameter is not supported for Windows containers or tasks using the Fargate launch type.

                                                              - *
                                                              + *

                                                              You must specify a family for a task definition, which allows you to + * track multiple versions of the same task definition. The family is used as + * a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed.

                                                              */ - pidMode?: PidMode | string; + family: string | undefined; /** - *

                                                              The metadata that you apply to the task definition to help you categorize and organize - * them. Each tag consists of a key and an optional value, both of which you define.

                                                              - *

                                                              The following basic restrictions apply to tags:

                                                              - *
                                                                - *
                                                              • - *

                                                                Maximum number of tags per resource - 50

                                                                - *
                                                              • - *
                                                              • - *

                                                                For each resource, each tag key must be unique, and each tag key can have only - * one value.

                                                                - *
                                                              • - *
                                                              • - *

                                                                Maximum key length - 128 Unicode characters in UTF-8

                                                                - *
                                                              • - *
                                                              • - *

                                                                Maximum value length - 256 Unicode characters in UTF-8

                                                                - *
                                                              • - *
                                                              • - *

                                                                If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.

                                                                - *
                                                              • - *
                                                              • - *

                                                                Tag keys and values are case-sensitive.

                                                                - *
                                                              • - *
                                                              • - *

                                                                Do not use aws:, AWS:, or any upper or lowercase - * combination of such as a prefix for either keys or values as it is reserved for - * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with - * this prefix do not count against your tags per resource limit.

                                                                - *
                                                              • - *
                                                              + *

                                                              The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can + * assume. All containers in this task are granted the permissions that are specified in + * this role. For more information, see IAM Roles for + * Tasks in the Amazon Elastic Container Service Developer Guide.

                                                              */ - tags?: Tag[]; + taskRoleArn?: string; /** - *

                                                              The launch type required by the task. If no value is specified, it defaults to - * EC2.

                                                              + *

                                                              A list of volume definitions in JSON format that containers in your task may + * use.

                                                              */ - requiresCompatibilities?: (Compatibility | string)[]; + volumes?: Volume[]; /** - *

                                                              The amount of memory (in MiB) used by the task. It can be expressed as an integer - * using MiB, for example 1024, or as a string using GB, for example - * 1GB or 1 GB, in a task definition. String values are - * converted to an integer indicating the MiB when the task definition is + *

                                                              The number of CPU units used by the task. It can be expressed as an integer using CPU + * units, for example 1024, or as a string using vCPUs, for example 1 + * vCPU or 1 vcpu, in a task definition. String values are + * converted to an integer indicating the CPU units when the task definition is * registered.

                                                              * *

                                                              Task-level CPU and memory parameters are ignored for Windows containers. We * recommend specifying container-level resources for Windows containers.

                                                              *
                                                              - *

                                                              If using the EC2 launch type, this field is optional.

                                                              - *

                                                              If using the Fargate launch type, this field is required and you must - * use one of the following values, which determines your range of supported values for the - * cpu parameter:

                                                              + *

                                                              If you are using the EC2 launch type, this field is optional. Supported + * values are between 128 CPU units (0.125 vCPUs) and + * 10240 CPU units (10 vCPUs).

                                                              + *

                                                              If you are using the Fargate launch type, this field is required and you + * must use one of the following values, which determines your range of supported values + * for the memory parameter:

                                                              *
                                                                *
                                                              • - *

                                                                512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

                                                                + *

                                                                256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

                                                                *
                                                              • *
                                                              • - *

                                                                1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

                                                                + *

                                                                512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

                                                                *
                                                              • *
                                                              • - *

                                                                2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

                                                                + *

                                                                1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

                                                                *
                                                              • *
                                                              • - *

                                                                Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

                                                                + *

                                                                2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

                                                                *
                                                              • *
                                                              • - *

                                                                Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

                                                                + *

                                                                4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

                                                                *
                                                              • *
                                                              */ - memory?: string; + cpu?: string; + + /** + *

                                                              The launch type required by the task. If no value is specified, it defaults to + * EC2.

                                                              + */ + requiresCompatibilities?: (Compatibility | string)[]; + + /** + *

                                                              The configuration details for the App Mesh proxy.

                                                              + *

                                                              For tasks using the EC2 launch type, the container instances require at + * least version 1.26.0 of the container agent and at least version 1.26.0-1 of the + * ecs-init package to enable a proxy configuration. If your container + * instances are launched from the Amazon ECS-optimized AMI version 20190301 or + * later, then they contain the required versions of the container agent and + * ecs-init. For more information, see Amazon ECS-optimized Linux AMI + * in the Amazon Elastic Container Service Developer Guide.

                                                              + *

                                                              For tasks using the Fargate launch type, the task or service requires + * platform version 1.3.0 or later.

                                                              + */ + proxyConfiguration?: ProxyConfiguration; /** *

                                                              An array of placement constraint objects to use for the task. You can specify a @@ -7623,11 +7603,50 @@ export interface RegisterTaskDefinitionRequest { */ networkMode?: NetworkMode | string; + /** + *

                                                              The Elastic Inference accelerators to use for the containers in the task.

                                                              + */ + inferenceAccelerators?: InferenceAccelerator[]; + /** *

                                                              A list of container definitions in JSON format that describe the different containers * that make up your task.

                                                              */ - containerDefinitions: ContainerDefinition[] | undefined; + containerDefinitions: ContainerDefinition[] | undefined; + + /** + *

                                                              The amount of memory (in MiB) used by the task. It can be expressed as an integer + * using MiB, for example 1024, or as a string using GB, for example + * 1GB or 1 GB, in a task definition. String values are + * converted to an integer indicating the MiB when the task definition is + * registered.

                                                              + * + *

                                                              Task-level CPU and memory parameters are ignored for Windows containers. We + * recommend specifying container-level resources for Windows containers.

                                                              + *
                                                              + *

                                                              If using the EC2 launch type, this field is optional.

                                                              + *

                                                              If using the Fargate launch type, this field is required and you must + * use one of the following values, which determines your range of supported values for the + * cpu parameter:

                                                              + *
                                                                + *
                                                              • + *

                                                                512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

                                                                + *
                                                              • + *
                                                              • + *

                                                                1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

                                                                + *
                                                              • + *
                                                              • + *

                                                                2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

                                                                + *
                                                              • + *
                                                              • + *

                                                                Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

                                                                + *
                                                              • + *
                                                              • + *

                                                                Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

                                                                + *
                                                              • + *
                                                              + */ + memory?: string; /** *

                                                              The IPC resource namespace to use for the containers in the task. The valid values are @@ -7666,15 +7685,24 @@ export interface RegisterTaskDefinitionRequest { ipcMode?: IpcMode | string; /** - *

                                                              The Elastic Inference accelerators to use for the containers in the task.

                                                              - */ - inferenceAccelerators?: InferenceAccelerator[]; - - /** - *

                                                              A list of volume definitions in JSON format that containers in your task may - * use.

                                                              + *

                                                              The process namespace to use for the containers in the task. The valid + * values are host or task. If host + * is specified, then all containers within the tasks that specified the + * host PID mode on the same container instance share the + * same process namespace with the host Amazon EC2 instance. If task is + * specified, all containers within the specified task share the same + * process namespace. If no value is specified, the default is a private + * namespace. For more information, see PID settings in the Docker run + * reference.

                                                              + *

                                                              If the host PID mode is used, be aware that there is a + * heightened risk of undesired process namespace expose. For more + * information, see Docker + * security.

                                                              + * + *

                                                              This parameter is not supported for Windows containers or tasks using the Fargate launch type.

                                                              + *
                                                              */ - volumes?: Volume[]; + pidMode?: PidMode | string; /** *

                                                              The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent @@ -7685,69 +7713,41 @@ export interface RegisterTaskDefinitionRequest { executionRoleArn?: string; /** - *

                                                              The number of CPU units used by the task. It can be expressed as an integer using CPU - * units, for example 1024, or as a string using vCPUs, for example 1 - * vCPU or 1 vcpu, in a task definition. String values are - * converted to an integer indicating the CPU units when the task definition is - * registered.

                                                              - * - *

                                                              Task-level CPU and memory parameters are ignored for Windows containers. We - * recommend specifying container-level resources for Windows containers.

                                                              - *
                                                              - *

                                                              If you are using the EC2 launch type, this field is optional. Supported - * values are between 128 CPU units (0.125 vCPUs) and - * 10240 CPU units (10 vCPUs).

                                                              - *

                                                              If you are using the Fargate launch type, this field is required and you - * must use one of the following values, which determines your range of supported values - * for the memory parameter:

                                                              - *
                                                                + *

                                                                The metadata that you apply to the task definition to help you categorize and organize + * them. Each tag consists of a key and an optional value, both of which you define.

                                                                + *

                                                                The following basic restrictions apply to tags:

                                                                + *
                                                                  *
                                                                • - *

                                                                  256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

                                                                  + *

                                                                  Maximum number of tags per resource - 50

                                                                  *
                                                                • *
                                                                • - *

                                                                  512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

                                                                  + *

                                                                  For each resource, each tag key must be unique, and each tag key can have only + * one value.

                                                                  *
                                                                • *
                                                                • - *

                                                                  1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

                                                                  + *

                                                                  Maximum key length - 128 Unicode characters in UTF-8

                                                                  *
                                                                • *
                                                                • - *

                                                                  2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

                                                                  + *

                                                                  Maximum value length - 256 Unicode characters in UTF-8

                                                                  *
                                                                • *
                                                                • - *

                                                                  4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

                                                                  + *

                                                                  If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Tag keys and values are case-sensitive.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Do not use aws:, AWS:, or any upper or lowercase + * combination of such as a prefix for either keys or values as it is reserved for + * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + * this prefix do not count against your tags per resource limit.

                                                                  *
                                                                • *
                                                                */ - cpu?: string; - - /** - *

                                                                The configuration details for the App Mesh proxy.

                                                                - *

                                                                For tasks using the EC2 launch type, the container instances require at - * least version 1.26.0 of the container agent and at least version 1.26.0-1 of the - * ecs-init package to enable a proxy configuration. If your container - * instances are launched from the Amazon ECS-optimized AMI version 20190301 or - * later, then they contain the required versions of the container agent and - * ecs-init. For more information, see Amazon ECS-optimized Linux AMI - * in the Amazon Elastic Container Service Developer Guide.

                                                                - *

                                                                For tasks using the Fargate launch type, the task or service requires - * platform version 1.3.0 or later.

                                                                - */ - proxyConfiguration?: ProxyConfiguration; - - /** - *

                                                                The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can - * assume. All containers in this task are granted the permissions that are specified in - * this role. For more information, see IAM Roles for - * Tasks in the Amazon Elastic Container Service Developer Guide.

                                                                - */ - taskRoleArn?: string; - - /** - *

                                                                You must specify a family for a task definition, which allows you to - * track multiple versions of the same task definition. The family is used as - * a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed.

                                                                - */ - family: string | undefined; + tags?: Tag[]; } export namespace RegisterTaskDefinitionRequest { @@ -7758,14 +7758,14 @@ export namespace RegisterTaskDefinitionRequest { export interface RegisterTaskDefinitionResponse { /** - *

                                                                The list of tags associated with the task definition.

                                                                + *

                                                                The full description of the registered task definition.

                                                                */ - tags?: Tag[]; + taskDefinition?: TaskDefinition; /** - *

                                                                The full description of the registered task definition.

                                                                + *

                                                                The list of tags associated with the task definition.

                                                                */ - taskDefinition?: TaskDefinition; + tags?: Tag[]; } export namespace RegisterTaskDefinitionResponse { @@ -7791,85 +7791,29 @@ export namespace BlockedException { export interface RunTaskRequest { /** - *

                                                                The placement strategy objects to use for the task. You can specify a maximum of five - * strategy rules per task.

                                                                - */ - placementStrategy?: PlacementStrategy[]; - - /** - *

                                                                Specifies whether to enable Amazon ECS managed tags for the task. For more information, see - * Tagging Your Amazon ECS - * Resources in the Amazon Elastic Container Service Developer Guide.

                                                                - */ - enableECSManagedTags?: boolean; - - /** - *

                                                                The metadata that you apply to the task to help you categorize and organize them. Each - * tag consists of a key and an optional value, both of which you define.

                                                                - *

                                                                The following basic restrictions apply to tags:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  Maximum number of tags per resource - 50

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  For each resource, each tag key must be unique, and each tag key can have only - * one value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Maximum key length - 128 Unicode characters in UTF-8

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Maximum value length - 256 Unicode characters in UTF-8

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Tag keys and values are case-sensitive.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Do not use aws:, AWS:, or any upper or lowercase - * combination of such as a prefix for either keys or values as it is reserved for - * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with - * this prefix do not count against your tags per resource limit.

                                                                  - *
                                                                • - *
                                                                + *

                                                                The family and revision (family:revision) or + * full ARN of the task definition to run. If a revision is not specified, + * the latest ACTIVE revision is used.

                                                                */ - tags?: Tag[]; + taskDefinition: string | undefined; /** - *

                                                                The capacity provider strategy to use for the task.

                                                                - *

                                                                A capacity provider strategy consists of one or more capacity providers along with the - * base and weight to assign to them. A capacity provider - * must be associated with the cluster to be used in a capacity provider strategy. The - * PutClusterCapacityProviders API is used to associate a capacity - * provider with a cluster. Only capacity providers with an ACTIVE or - * UPDATING status can be used.

                                                                - *

                                                                If a capacityProviderStrategy is specified, the launchType - * parameter must be omitted. If no capacityProviderStrategy or - * launchType is specified, the - * defaultCapacityProviderStrategy for the cluster is used.

                                                                - *

                                                                If specifying a capacity provider that uses an Auto Scaling group, the capacity - * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

                                                                - *

                                                                To use a AWS Fargate capacity provider, specify either the FARGATE or - * FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are - * available to all accounts and only need to be associated with a cluster to be - * used.

                                                                - *

                                                                The PutClusterCapacityProviders API operation is used to update the - * list of available capacity providers for a cluster after the cluster is created.

                                                                + *

                                                                The network configuration for the task. This parameter is required for task + * definitions that use the awsvpc network mode to receive their own elastic + * network interface, and it is not supported for other network modes. For more + * information, see Task Networking + * in the Amazon Elastic Container Service Developer Guide.

                                                                */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; + networkConfiguration?: NetworkConfiguration; /** - *

                                                                The launch type on which to run your task. For more information, see Amazon ECS - * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                - *

                                                                If a launchType is specified, the capacityProviderStrategy - * parameter must be omitted.

                                                                + *

                                                                The platform version the task should run. A platform version is only specified for + * tasks using the Fargate launch type. If one is not specified, the + * LATEST platform version is used by default. For more information, see + * AWS Fargate Platform + * Versions in the Amazon Elastic Container Service Developer Guide.

                                                                */ - launchType?: LaunchType | string; + platformVersion?: string; /** *

                                                                Specifies whether to propagate the tags from the task definition to the task. If no @@ -7883,56 +7827,24 @@ export interface RunTaskRequest { propagateTags?: PropagateTags | string; /** - *

                                                                A list of container overrides in JSON format that specify the name of a container in - * the specified task definition and the overrides it should receive. You can override the - * default command for a container (that is specified in the task definition or Docker - * image) with a command override. You can also override existing environment - * variables (that are specified in the task definition or Docker image) on a container or - * add new environment variables to it with an environment override.

                                                                - * - *

                                                                A total of 8192 characters are allowed for overrides. This limit includes the JSON - * formatting characters of the override structure.

                                                                - *
                                                                - */ - overrides?: TaskOverride; - - /** - *

                                                                The reference ID to use for the task.

                                                                - */ - referenceId?: string; - - /** - *

                                                                An optional tag specified when a task is started. For example, if you automatically - * trigger a task to run a batch process job, you could apply a unique identifier for that - * job to your task with the startedBy parameter. You can then identify which - * tasks belong to that job by filtering the results of a ListTasks call - * with the startedBy value. Up to 36 letters (uppercase and lowercase), - * numbers, hyphens, and underscores are allowed.

                                                                - *

                                                                If a task is started by an Amazon ECS service, then the startedBy parameter - * contains the deployment ID of the service that starts it.

                                                                - */ - startedBy?: string; - - /** - *

                                                                The network configuration for the task. This parameter is required for task - * definitions that use the awsvpc network mode to receive their own elastic - * network interface, and it is not supported for other network modes. For more - * information, see Task Networking - * in the Amazon Elastic Container Service Developer Guide.

                                                                + *

                                                                The name of the task group to associate with the task. The default value is the family + * name of the task definition (for example, family:my-family-name).

                                                                */ - networkConfiguration?: NetworkConfiguration; + group?: string; /** - *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. - * If you do not specify a cluster, the default cluster is assumed.

                                                                + *

                                                                The placement strategy objects to use for the task. You can specify a maximum of five + * strategy rules per task.

                                                                */ - cluster?: string; + placementStrategy?: PlacementStrategy[]; /** - *

                                                                The name of the task group to associate with the task. The default value is the family - * name of the task definition (for example, family:my-family-name).

                                                                + *

                                                                The launch type on which to run your task. For more information, see Amazon ECS + * Launch Types in the Amazon Elastic Container Service Developer Guide.

                                                                + *

                                                                If a launchType is specified, the capacityProviderStrategy + * parameter must be omitted.

                                                                */ - group?: string; + launchType?: LaunchType | string; /** *

                                                                An array of placement constraint objects to use for the task. You can specify up to 10 @@ -7942,60 +7854,33 @@ export interface RunTaskRequest { placementConstraints?: PlacementConstraint[]; /** - *

                                                                The family and revision (family:revision) or - * full ARN of the task definition to run. If a revision is not specified, - * the latest ACTIVE revision is used.

                                                                - */ - taskDefinition: string | undefined; - - /** - *

                                                                The platform version the task should run. A platform version is only specified for - * tasks using the Fargate launch type. If one is not specified, the - * LATEST platform version is used by default. For more information, see - * AWS Fargate Platform - * Versions in the Amazon Elastic Container Service Developer Guide.

                                                                + *

                                                                The capacity provider strategy to use for the task.

                                                                + *

                                                                A capacity provider strategy consists of one or more capacity providers along with the + * base and weight to assign to them. A capacity provider + * must be associated with the cluster to be used in a capacity provider strategy. The + * PutClusterCapacityProviders API is used to associate a capacity + * provider with a cluster. Only capacity providers with an ACTIVE or + * UPDATING status can be used.

                                                                + *

                                                                If a capacityProviderStrategy is specified, the launchType + * parameter must be omitted. If no capacityProviderStrategy or + * launchType is specified, the + * defaultCapacityProviderStrategy for the cluster is used.

                                                                + *

                                                                If specifying a capacity provider that uses an Auto Scaling group, the capacity + * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

                                                                + *

                                                                To use a AWS Fargate capacity provider, specify either the FARGATE or + * FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are + * available to all accounts and only need to be associated with a cluster to be + * used.

                                                                + *

                                                                The PutClusterCapacityProviders API operation is used to update the + * list of available capacity providers for a cluster after the cluster is created.

                                                                */ - platformVersion?: string; + capacityProviderStrategy?: CapacityProviderStrategyItem[]; /** *

                                                                The number of instantiations of the specified task to place on your cluster. You can * specify up to 10 tasks per call.

                                                                */ count?: number; -} - -export namespace RunTaskRequest { - export const filterSensitiveLog = (obj: RunTaskRequest): any => ({ - ...obj, - }); -} - -export interface RunTaskResponse { - /** - *

                                                                A full description of the tasks that were run. The tasks that were successfully placed - * on your cluster are described here.

                                                                - */ - tasks?: Task[]; - - /** - *

                                                                Any failures associated with the call.

                                                                - */ - failures?: Failure[]; -} - -export namespace RunTaskResponse { - export const filterSensitiveLog = (obj: RunTaskResponse): any => ({ - ...obj, - }); -} - -export interface StartTaskRequest { - /** - *

                                                                The family and revision (family:revision) or - * full ARN of the task definition to start. If a revision is not specified, - * the latest ACTIVE revision is used.

                                                                - */ - taskDefinition: string | undefined; /** *

                                                                Specifies whether to enable Amazon ECS managed tags for the task. For more information, see @@ -8005,22 +7890,15 @@ export interface StartTaskRequest { enableECSManagedTags?: boolean; /** - *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. - * If you do not specify a cluster, the default cluster is assumed.

                                                                - */ - cluster?: string; - - /** - *

                                                                The VPC subnet and security group configuration for tasks that receive their own - * elastic network interface by using the awsvpc networking mode.

                                                                + *

                                                                The reference ID to use for the task.

                                                                */ - networkConfiguration?: NetworkConfiguration; + referenceId?: string; /** - *

                                                                Specifies whether to propagate the tags from the task definition or the service to the - * task. If no value is specified, the tags are not propagated.

                                                                + *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. + * If you do not specify a cluster, the default cluster is assumed.

                                                                */ - propagateTags?: PropagateTags | string; + cluster?: string; /** *

                                                                An optional tag specified when a task is started. For example, if you automatically @@ -8049,21 +7927,80 @@ export interface StartTaskRequest { overrides?: TaskOverride; /** - *

                                                                The container instance IDs or full ARN entries for the container instances on which - * you would like to place your task. You can specify up to 10 container instances.

                                                                + *

                                                                The metadata that you apply to the task to help you categorize and organize them. Each + * tag consists of a key and an optional value, both of which you define.

                                                                + *

                                                                The following basic restrictions apply to tags:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  Maximum number of tags per resource - 50

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  For each resource, each tag key must be unique, and each tag key can have only + * one value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Maximum key length - 128 Unicode characters in UTF-8

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Maximum value length - 256 Unicode characters in UTF-8

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Tag keys and values are case-sensitive.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Do not use aws:, AWS:, or any upper or lowercase + * combination of such as a prefix for either keys or values as it is reserved for + * AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with + * this prefix do not count against your tags per resource limit.

                                                                  + *
                                                                • + *
                                                                */ - containerInstances: string[] | undefined; + tags?: Tag[]; +} + +export namespace RunTaskRequest { + export const filterSensitiveLog = (obj: RunTaskRequest): any => ({ + ...obj, + }); +} +export interface RunTaskResponse { /** - *

                                                                The name of the task group to associate with the task. The default value is the family - * name of the task definition (for example, family:my-family-name).

                                                                + *

                                                                Any failures associated with the call.

                                                                */ - group?: string; + failures?: Failure[]; /** - *

                                                                The reference ID to use for the task.

                                                                + *

                                                                A full description of the tasks that were run. The tasks that were successfully placed + * on your cluster are described here.

                                                                */ - referenceId?: string; + tasks?: Task[]; +} + +export namespace RunTaskResponse { + export const filterSensitiveLog = (obj: RunTaskResponse): any => ({ + ...obj, + }); +} + +export interface StartTaskRequest { + /** + *

                                                                The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. + * If you do not specify a cluster, the default cluster is assumed.

                                                                + */ + cluster?: string; + + /** + *

                                                                The name of the task group to associate with the task. The default value is the family + * name of the task definition (for example, family:my-family-name).

                                                                + */ + group?: string; /** *

                                                                The metadata that you apply to the task to help you categorize and organize them. Each @@ -8101,6 +8038,69 @@ export interface StartTaskRequest { *

                                                              */ tags?: Tag[]; + + /** + *

                                                              The family and revision (family:revision) or + * full ARN of the task definition to start. If a revision is not specified, + * the latest ACTIVE revision is used.

                                                              + */ + taskDefinition: string | undefined; + + /** + *

                                                              The reference ID to use for the task.

                                                              + */ + referenceId?: string; + + /** + *

                                                              Specifies whether to enable Amazon ECS managed tags for the task. For more information, see + * Tagging Your Amazon ECS + * Resources in the Amazon Elastic Container Service Developer Guide.

                                                              + */ + enableECSManagedTags?: boolean; + + /** + *

                                                              The container instance IDs or full ARN entries for the container instances on which + * you would like to place your task. You can specify up to 10 container instances.

                                                              + */ + containerInstances: string[] | undefined; + + /** + *

                                                              An optional tag specified when a task is started. For example, if you automatically + * trigger a task to run a batch process job, you could apply a unique identifier for that + * job to your task with the startedBy parameter. You can then identify which + * tasks belong to that job by filtering the results of a ListTasks call + * with the startedBy value. Up to 36 letters (uppercase and lowercase), + * numbers, hyphens, and underscores are allowed.

                                                              + *

                                                              If a task is started by an Amazon ECS service, then the startedBy parameter + * contains the deployment ID of the service that starts it.

                                                              + */ + startedBy?: string; + + /** + *

                                                              The VPC subnet and security group configuration for tasks that receive their own + * elastic network interface by using the awsvpc networking mode.

                                                              + */ + networkConfiguration?: NetworkConfiguration; + + /** + *

                                                              A list of container overrides in JSON format that specify the name of a container in + * the specified task definition and the overrides it should receive. You can override the + * default command for a container (that is specified in the task definition or Docker + * image) with a command override. You can also override existing environment + * variables (that are specified in the task definition or Docker image) on a container or + * add new environment variables to it with an environment override.

                                                              + * + *

                                                              A total of 8192 characters are allowed for overrides. This limit includes the JSON + * formatting characters of the override structure.

                                                              + *
                                                              + */ + overrides?: TaskOverride; + + /** + *

                                                              Specifies whether to propagate the tags from the task definition or the service to the + * task. If no value is specified, the tags are not propagated.

                                                              + */ + propagateTags?: PropagateTags | string; } export namespace StartTaskRequest { @@ -8110,16 +8110,16 @@ export namespace StartTaskRequest { } export interface StartTaskResponse { - /** - *

                                                              Any failures associated with the call.

                                                              - */ - failures?: Failure[]; - /** *

                                                              A full description of the tasks that were started. Each task that was successfully * placed on your container instances is described.

                                                              */ tasks?: Task[]; + + /** + *

                                                              Any failures associated with the call.

                                                              + */ + failures?: Failure[]; } export namespace StartTaskResponse { @@ -8173,14 +8173,14 @@ export namespace StopTaskResponse { */ export interface AttachmentStateChange { /** - *

                                                              The Amazon Resource Name (ARN) of the attachment.

                                                              + *

                                                              The status of the attachment.

                                                              */ - attachmentArn: string | undefined; + status: string | undefined; /** - *

                                                              The status of the attachment.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the attachment.

                                                              */ - status: string | undefined; + attachmentArn: string | undefined; } export namespace AttachmentStateChange { @@ -8218,19 +8218,14 @@ export interface SubmitAttachmentStateChangesResponse { export namespace SubmitAttachmentStateChangesResponse { export const filterSensitiveLog = (obj: SubmitAttachmentStateChangesResponse): any => ({ ...obj, - }); -} - -export interface SubmitContainerStateChangeRequest { - /** - *

                                                              The network bindings of the container.

                                                              - */ - networkBindings?: NetworkBinding[]; + }); +} +export interface SubmitContainerStateChangeRequest { /** - *

                                                              The name of the container.

                                                              + *

                                                              The short name or full ARN of the cluster that hosts the container.

                                                              */ - containerName?: string; + cluster?: string; /** *

                                                              The reason for the state change request.

                                                              @@ -8243,24 +8238,29 @@ export interface SubmitContainerStateChangeRequest { task?: string; /** - *

                                                              The short name or full ARN of the cluster that hosts the container.

                                                              + *

                                                              The ID of the Docker container.

                                                              */ - cluster?: string; + runtimeId?: string; /** - *

                                                              The exit code returned for the state change request.

                                                              + *

                                                              The status of the state change request.

                                                              */ - exitCode?: number; + status?: string; /** - *

                                                              The status of the state change request.

                                                              + *

                                                              The network bindings of the container.

                                                              */ - status?: string; + networkBindings?: NetworkBinding[]; /** - *

                                                              The ID of the Docker container.

                                                              + *

                                                              The exit code returned for the state change request.

                                                              */ - runtimeId?: string; + exitCode?: number; + + /** + *

                                                              The name of the container.

                                                              + */ + containerName?: string; } export namespace SubmitContainerStateChangeRequest { @@ -8287,40 +8287,40 @@ export namespace SubmitContainerStateChangeResponse { */ export interface ContainerStateChange { /** - *

                                                              Any network bindings associated with the container.

                                                              + *

                                                              The container image SHA 256 digest.

                                                              */ - networkBindings?: NetworkBinding[]; + imageDigest?: string; /** *

                                                              The reason for the state change.

                                                              */ reason?: string; - /** - *

                                                              The name of the container.

                                                              - */ - containerName?: string; - /** *

                                                              The exit code for the container, if the state change is a result of the container * exiting.

                                                              */ exitCode?: number; + /** + *

                                                              The status of the container.

                                                              + */ + status?: string; + /** *

                                                              The ID of the Docker container.

                                                              */ runtimeId?: string; /** - *

                                                              The status of the container.

                                                              + *

                                                              Any network bindings associated with the container.

                                                              */ - status?: string; + networkBindings?: NetworkBinding[]; /** - *

                                                              The container image SHA 256 digest.

                                                              + *

                                                              The name of the container.

                                                              */ - imageDigest?: string; + containerName?: string; } export namespace ContainerStateChange { @@ -8331,24 +8331,24 @@ export namespace ContainerStateChange { export interface SubmitTaskStateChangeRequest { /** - *

                                                              The status of the state change request.

                                                              + *

                                                              Any attachments associated with the state change request.

                                                              */ - status?: string; + attachments?: AttachmentStateChange[]; /** - *

                                                              The Unix timestamp for when the task execution stopped.

                                                              + *

                                                              The Unix timestamp for when the container image pull completed.

                                                              */ - executionStoppedAt?: Date; + pullStoppedAt?: Date; /** - *

                                                              The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

                                                              + *

                                                              The task ID or full ARN of the task in the state change request.

                                                              */ - cluster?: string; + task?: string; /** - *

                                                              Any attachments associated with the state change request.

                                                              + *

                                                              The reason for the state change request.

                                                              */ - attachments?: AttachmentStateChange[]; + reason?: string; /** *

                                                              Any containers associated with the state change request.

                                                              @@ -8356,9 +8356,9 @@ export interface SubmitTaskStateChangeRequest { containers?: ContainerStateChange[]; /** - *

                                                              The reason for the state change request.

                                                              + *

                                                              The status of the state change request.

                                                              */ - reason?: string; + status?: string; /** *

                                                              The Unix timestamp for when the container image pull began.

                                                              @@ -8366,14 +8366,14 @@ export interface SubmitTaskStateChangeRequest { pullStartedAt?: Date; /** - *

                                                              The Unix timestamp for when the container image pull completed.

                                                              + *

                                                              The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

                                                              */ - pullStoppedAt?: Date; + cluster?: string; /** - *

                                                              The task ID or full ARN of the task in the state change request.

                                                              + *

                                                              The Unix timestamp for when the task execution stopped.

                                                              */ - task?: string; + executionStoppedAt?: Date; } export namespace SubmitTaskStateChangeRequest { @@ -8411,6 +8411,13 @@ export namespace ResourceNotFoundException { } export interface TagResourceRequest { + /** + *

                                                              The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, the supported resources + * are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container + * instances.

                                                              + */ + resourceArn: string | undefined; + /** *

                                                              The tags to add to the resource. A tag is an array of key-value pairs.

                                                              *

                                                              The following basic restrictions apply to tags:

                                                              @@ -8446,13 +8453,6 @@ export interface TagResourceRequest { *
                                                            */ tags: Tag[] | undefined; - - /** - *

                                                            The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, the supported resources - * are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container - * instances.

                                                            - */ - resourceArn: string | undefined; } export namespace TagResourceRequest { @@ -8604,15 +8604,10 @@ export namespace UpdateContainerAgentResponse { export interface UpdateContainerInstancesStateRequest { /** - *

                                                            The container instance state with which to update the container instance. The only - * valid values for this action are ACTIVE and DRAINING. A - * container instance can only be updated to DRAINING status once it has - * reached an ACTIVE state. If a container instance is in - * REGISTERING, DEREGISTERING, or - * REGISTRATION_FAILED state you can describe the container instance but - * will be unable to update the container instance state.

                                                            + *

                                                            The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + * update. If you do not specify a cluster, the default cluster is assumed.

                                                            */ - status: ContainerInstanceStatus | string | undefined; + cluster?: string; /** *

                                                            A list of container instance IDs or full ARN entries.

                                                            @@ -8620,10 +8615,15 @@ export interface UpdateContainerInstancesStateRequest { containerInstances: string[] | undefined; /** - *

                                                            The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to - * update. If you do not specify a cluster, the default cluster is assumed.

                                                            + *

                                                            The container instance state with which to update the container instance. The only + * valid values for this action are ACTIVE and DRAINING. A + * container instance can only be updated to DRAINING status once it has + * reached an ACTIVE state. If a container instance is in + * REGISTERING, DEREGISTERING, or + * REGISTRATION_FAILED state you can describe the container instance but + * will be unable to update the container instance state.

                                                            */ - cluster?: string; + status: ContainerInstanceStatus | string | undefined; } export namespace UpdateContainerInstancesStateRequest { @@ -8634,14 +8634,14 @@ export namespace UpdateContainerInstancesStateRequest { export interface UpdateContainerInstancesStateResponse { /** - *

                                                            The list of container instances.

                                                            + *

                                                            Any failures associated with the call.

                                                            */ - containerInstances?: ContainerInstance[]; + failures?: Failure[]; /** - *

                                                            Any failures associated with the call.

                                                            + *

                                                            The list of container instances.

                                                            */ - failures?: Failure[]; + containerInstances?: ContainerInstance[]; } export namespace UpdateContainerInstancesStateResponse { @@ -8652,25 +8652,16 @@ export namespace UpdateContainerInstancesStateResponse { export interface UpdateServiceRequest { /** - *

                                                            The family and revision (family:revision) or - * full ARN of the task definition to run in your service. If a revision is - * not specified, the latest ACTIVE revision is used. If you modify the task - * definition with UpdateService, Amazon ECS spawns a task with the new version of - * the task definition and then stops an old task after the new version is running.

                                                            + *

                                                            Optional deployment parameters that control how many tasks run during the deployment + * and the ordering of stopping and starting tasks.

                                                            */ - taskDefinition?: string; + deploymentConfiguration?: DeploymentConfiguration; /** - *

                                                            The period of time, in seconds, that the Amazon ECS service scheduler should ignore - * unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid - * if your service is configured to use a load balancer. If your service's tasks take a - * while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace - * period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service - * scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS - * service scheduler from marking tasks as unhealthy and stopping them before they have - * time to come up.

                                                            + *

                                                            The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. + * If you do not specify a cluster, the default cluster is assumed.

                                                            */ - healthCheckGracePeriodSeconds?: number; + cluster?: string; /** *

                                                            The platform version on which your tasks in the service are running. A platform @@ -8681,6 +8672,31 @@ export interface UpdateServiceRequest { */ platformVersion?: string; + /** + *

                                                            An object representing the network configuration for a task or service.

                                                            + */ + networkConfiguration?: NetworkConfiguration; + + /** + *

                                                            The number of instantiations of the task to place and keep running in your + * service.

                                                            + */ + desiredCount?: number; + + /** + *

                                                            The task placement strategy objects to update the service to use. If no value is + * specified, the existing placement strategy for the service will remain unchanged. If + * this value is specified, it will override the existing placement strategy defined for + * the service. To remove an existing placement strategy, specify an empty object.

                                                            + *

                                                            You can specify a maximum of five strategy rules per service.

                                                            + */ + placementStrategy?: PlacementStrategy[]; + + /** + *

                                                            The name of the service to update.

                                                            + */ + service: string | undefined; + /** *

                                                            Whether to force a new deployment of the service. Deployments are not forced by * default. You can use this option to trigger a new deployment with no service definition @@ -8690,6 +8706,27 @@ export interface UpdateServiceRequest { */ forceNewDeployment?: boolean; + /** + *

                                                            The family and revision (family:revision) or + * full ARN of the task definition to run in your service. If a revision is + * not specified, the latest ACTIVE revision is used. If you modify the task + * definition with UpdateService, Amazon ECS spawns a task with the new version of + * the task definition and then stops an old task after the new version is running.

                                                            + */ + taskDefinition?: string; + + /** + *

                                                            The period of time, in seconds, that the Amazon ECS service scheduler should ignore + * unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid + * if your service is configured to use a load balancer. If your service's tasks take a + * while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace + * period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service + * scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS + * service scheduler from marking tasks as unhealthy and stopping them before they have + * time to come up.

                                                            + */ + healthCheckGracePeriodSeconds?: number; + /** *

                                                            An array of task placement constraint objects to update the service to use. If no * value is specified, the existing placement constraints for the service will remain @@ -8701,12 +8738,6 @@ export interface UpdateServiceRequest { */ placementConstraints?: PlacementConstraint[]; - /** - *

                                                            Optional deployment parameters that control how many tasks run during the deployment - * and the ordering of stopping and starting tasks.

                                                            - */ - deploymentConfiguration?: DeploymentConfiguration; - /** *

                                                            The capacity provider strategy to update the service to use.

                                                            *

                                                            If the service is using the default capacity provider strategy for the cluster, the @@ -8731,37 +8762,6 @@ export interface UpdateServiceRequest { *

                                                            */ capacityProviderStrategy?: CapacityProviderStrategyItem[]; - - /** - *

                                                            An object representing the network configuration for a task or service.

                                                            - */ - networkConfiguration?: NetworkConfiguration; - - /** - *

                                                            The task placement strategy objects to update the service to use. If no value is - * specified, the existing placement strategy for the service will remain unchanged. If - * this value is specified, it will override the existing placement strategy defined for - * the service. To remove an existing placement strategy, specify an empty object.

                                                            - *

                                                            You can specify a maximum of five strategy rules per service.

                                                            - */ - placementStrategy?: PlacementStrategy[]; - - /** - *

                                                            The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. - * If you do not specify a cluster, the default cluster is assumed.

                                                            - */ - cluster?: string; - - /** - *

                                                            The number of instantiations of the task to place and keep running in your - * service.

                                                            - */ - desiredCount?: number; - - /** - *

                                                            The name of the service to update.

                                                            - */ - service: string | undefined; } export namespace UpdateServiceRequest { @@ -8785,15 +8785,15 @@ export namespace UpdateServiceResponse { export interface UpdateServicePrimaryTaskSetRequest { /** - *

                                                            The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the - * deployment.

                                                            + *

                                                            The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

                                                            */ - primaryTaskSet: string | undefined; + service: string | undefined; /** - *

                                                            The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

                                                            + *

                                                            The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the + * deployment.

                                                            */ - service: string | undefined; + primaryTaskSet: string | undefined; /** *

                                                            The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task @@ -8825,26 +8825,26 @@ export namespace UpdateServicePrimaryTaskSetResponse { export interface UpdateTaskSetRequest { /** - *

                                                            The short name or full Amazon Resource Name (ARN) of the task set to update.

                                                            + *

                                                            A floating-point percentage of the desired number of tasks to place and keep running + * in the task set.

                                                            */ - taskSet: string | undefined; + scale: Scale | undefined; /** - *

                                                            The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task - * set exists in.

                                                            + *

                                                            The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

                                                            */ - cluster: string | undefined; + service: string | undefined; /** - *

                                                            The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

                                                            + *

                                                            The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + * set exists in.

                                                            */ - service: string | undefined; + cluster: string | undefined; /** - *

                                                            A floating-point percentage of the desired number of tasks to place and keep running - * in the task set.

                                                            + *

                                                            The short name or full Amazon Resource Name (ARN) of the task set to update.

                                                            */ - scale: Scale | undefined; + taskSet: string | undefined; } export namespace UpdateTaskSetRequest { diff --git a/clients/client-efs/models/models_0.ts b/clients/client-efs/models/models_0.ts index 993e44decdec..384effc5ef2a 100644 --- a/clients/client-efs/models/models_0.ts +++ b/clients/client-efs/models/models_0.ts @@ -33,9 +33,9 @@ export enum LifeCycleState { */ export interface PosixUser { /** - *

                                                            The POSIX group ID used for all file system operations using this access point.

                                                            + *

                                                            Secondary POSIX group IDs used for all file system operations using this access point.

                                                            */ - Gid: number | undefined; + SecondaryGids?: number[]; /** *

                                                            The POSIX user ID used for all file system operations using this access point.

                                                            @@ -43,9 +43,9 @@ export interface PosixUser { Uid: number | undefined; /** - *

                                                            Secondary POSIX group IDs used for all file system operations using this access point.

                                                            + *

                                                            The POSIX group ID used for all file system operations using this access point.

                                                            */ - SecondaryGids?: number[]; + Gid: number | undefined; } export namespace PosixUser { @@ -150,24 +150,25 @@ export namespace Tag { */ export interface AccessPointDescription { /** - *

                                                            The unique Amazon Resource Name (ARN) associated with the access point.

                                                            + *

                                                            The opaque string specified in the request to ensure idempotent creation.

                                                            */ - AccessPointArn?: string; + ClientToken?: string; /** - *

                                                            Identified the AWS account that owns the access point resource.

                                                            + *

                                                            The full POSIX identity, including the user ID, group ID, and secondary group IDs on the access point that is used for all file operations by + * NFS clients using the access point.

                                                            */ - OwnerId?: string; + PosixUser?: PosixUser; /** - *

                                                            The ID of the access point, assigned by Amazon EFS.

                                                            + *

                                                            The tags associated with the access point, presented as an array of Tag objects.

                                                            */ - AccessPointId?: string; + Tags?: Tag[]; /** - *

                                                            Identifies the lifecycle phase of the access point.

                                                            + *

                                                            The directory on the Amazon EFS file system that the access point exposes as the root directory to NFS clients using the access point.

                                                            */ - LifeCycleState?: LifeCycleState | string; + RootDirectory?: RootDirectory; /** *

                                                            The name of the access point. This is the value of the Name tag.

                                                            @@ -175,30 +176,29 @@ export interface AccessPointDescription { Name?: string; /** - *

                                                            The ID of the EFS file system that the access point applies to.

                                                            + *

                                                            Identified the AWS account that owns the access point resource.

                                                            */ - FileSystemId?: string; + OwnerId?: string; /** - *

                                                            The tags associated with the access point, presented as an array of Tag objects.

                                                            + *

                                                            The unique Amazon Resource Name (ARN) associated with the access point.

                                                            */ - Tags?: Tag[]; + AccessPointArn?: string; /** - *

                                                            The directory on the Amazon EFS file system that the access point exposes as the root directory to NFS clients using the access point.

                                                            + *

                                                            The ID of the access point, assigned by Amazon EFS.

                                                            */ - RootDirectory?: RootDirectory; + AccessPointId?: string; /** - *

                                                            The opaque string specified in the request to ensure idempotent creation.

                                                            + *

                                                            Identifies the lifecycle phase of the access point.

                                                            */ - ClientToken?: string; + LifeCycleState?: LifeCycleState | string; /** - *

                                                            The full POSIX identity, including the user ID, group ID, and secondary group IDs on the access point that is used for all file operations by - * NFS clients using the access point.

                                                            + *

                                                            The ID of the EFS file system that the access point applies to.

                                                            */ - PosixUser?: PosixUser; + FileSystemId?: string; } export namespace AccessPointDescription { @@ -322,6 +322,16 @@ export namespace BadRequest { } export interface CreateAccessPointRequest { + /** + *

                                                            The ID of the EFS file system that the access point provides access to.

                                                            + */ + FileSystemId: string | undefined; + + /** + *

                                                            Creates tags associated with the access point. Each tag is a key-value pair.

                                                            + */ + Tags?: Tag[]; + /** *

                                                            Specifies the directory on the Amazon EFS file system that the access point exposes as * the root directory of your file system to NFS clients using the access point. @@ -332,17 +342,6 @@ export interface CreateAccessPointRequest { */ RootDirectory?: RootDirectory; - /** - *

                                                            The ID of the EFS file system that the access point provides access to.

                                                            - */ - FileSystemId: string | undefined; - - /** - *

                                                            A string of up to 64 ASCII characters that Amazon EFS uses to ensure idempotent - * creation.

                                                            - */ - ClientToken?: string; - /** *

                                                            The operating system user and * group applied to all file system requests made using the access point.

                                                            @@ -350,9 +349,10 @@ export interface CreateAccessPointRequest { PosixUser?: PosixUser; /** - *

                                                            Creates tags associated with the access point. Each tag is a key-value pair.

                                                            + *

                                                            A string of up to 64 ASCII characters that Amazon EFS uses to ensure idempotent + * creation.

                                                            */ - Tags?: Tag[]; + ClientToken?: string; } export namespace CreateAccessPointRequest { @@ -400,8 +400,8 @@ export namespace IncorrectFileSystemLifeCycleState { export interface InternalServerError extends __SmithyException, $MetadataBearer { name: "InternalServerError"; $fault: "server"; - Message?: string; ErrorCode: string | undefined; + Message?: string; } export namespace InternalServerError { @@ -421,44 +421,6 @@ export enum ThroughputMode { } export interface CreateFileSystemRequest { - /** - *

                                                            The throughput, measured in MiB/s, that you want to provision for a file system that - * you're creating. Valid values are 1-1024. Required if ThroughputMode is set to provisioned. The upper limit for throughput is 1024 MiB/s. - * You can get this limit increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase - * in the Amazon EFS User Guide. - *

                                                            - */ - ProvisionedThroughputInMibps?: number; - - /** - *

                                                            A value that specifies to create one or more tags associated with the file system. Each - * tag is a user-defined key-value pair. Name your file system on creation by including a - * "Key":"Name","Value":"{value}" key-value pair.

                                                            - */ - Tags?: Tag[]; - - /** - *

                                                            The throughput mode for the file system to be created. There are two throughput modes to - * choose from for your file system: bursting and provisioned. If you set ThroughputMode to provisioned, - * you must also set a value for ProvisionedThroughPutInMibps. You can decrease your file - * system's throughput in Provisioned Throughput mode or change between the throughput modes - * as long as it’s been more than 24 hours since the last decrease or throughput mode - * change. For more, - * see Specifying Throughput with Provisioned Mode - * in the Amazon EFS User Guide. - *

                                                            - */ - ThroughputMode?: ThroughputMode | string; - - /** - *

                                                            The performance mode of the file system. We recommend generalPurpose - * performance mode for most file systems. File systems using the maxIO performance - * mode can scale to higher levels of aggregate throughput and operations per second with a - * tradeoff of slightly higher latencies for most file operations. The performance mode - * can't be changed after the file system has been created.

                                                            - */ - PerformanceMode?: PerformanceMode | string; - /** *

                                                            A Boolean value that, if true, creates an encrypted file system. When creating an * encrypted file system, you have the option of specifying CreateFileSystemRequest$KmsKeyId for an existing AWS Key Management Service (AWS @@ -468,12 +430,6 @@ export interface CreateFileSystemRequest { */ Encrypted?: boolean; - /** - *

                                                            A string of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent - * creation.

                                                            - */ - CreationToken?: string; - /** *

                                                            The ID of the AWS KMS CMK to be used to protect the encrypted file system. This * parameter is only required if you want to use a nondefault CMK. If this parameter is not @@ -503,6 +459,50 @@ export interface CreateFileSystemRequest { * */ KmsKeyId?: string; + + /** + *

                                                            The throughput, measured in MiB/s, that you want to provision for a file system that + * you're creating. Valid values are 1-1024. Required if ThroughputMode is set to provisioned. The upper limit for throughput is 1024 MiB/s. + * You can get this limit increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase + * in the Amazon EFS User Guide. + *

                                                            + */ + ProvisionedThroughputInMibps?: number; + + /** + *

                                                            The performance mode of the file system. We recommend generalPurpose + * performance mode for most file systems. File systems using the maxIO performance + * mode can scale to higher levels of aggregate throughput and operations per second with a + * tradeoff of slightly higher latencies for most file operations. The performance mode + * can't be changed after the file system has been created.

                                                            + */ + PerformanceMode?: PerformanceMode | string; + + /** + *

                                                            A string of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent + * creation.

                                                            + */ + CreationToken?: string; + + /** + *

                                                            A value that specifies to create one or more tags associated with the file system. Each + * tag is a user-defined key-value pair. Name your file system on creation by including a + * "Key":"Name","Value":"{value}" key-value pair.

                                                            + */ + Tags?: Tag[]; + + /** + *

                                                            The throughput mode for the file system to be created. There are two throughput modes to + * choose from for your file system: bursting and provisioned. If you set ThroughputMode to provisioned, + * you must also set a value for ProvisionedThroughPutInMibps. You can decrease your file + * system's throughput in Provisioned Throughput mode or change between the throughput modes + * as long as it’s been more than 24 hours since the last decrease or throughput mode + * change. For more, + * see Specifying Throughput with Provisioned Mode + * in the Amazon EFS User Guide. + *

                                                            + */ + ThroughputMode?: ThroughputMode | string; } export namespace CreateFileSystemRequest { @@ -518,9 +518,9 @@ export namespace CreateFileSystemRequest { export interface FileSystemAlreadyExists extends __SmithyException, $MetadataBearer { name: "FileSystemAlreadyExists"; $fault: "client"; - Message?: string; - FileSystemId: string | undefined; ErrorCode: string | undefined; + FileSystemId: string | undefined; + Message?: string; } export namespace FileSystemAlreadyExists { @@ -550,17 +550,17 @@ export interface FileSystemSize { */ ValueInIA?: number; - /** - *

                                                            The latest known metered size (in bytes) of data stored in the Standard storage - * class.

                                                            - */ - ValueInStandard?: number; - /** *

                                                            The time at which the size of data, returned in the Value field, was * determined. The value is the integer number of seconds since 1970-01-01T00:00:00Z.

                                                            */ Timestamp?: Date; + + /** + *

                                                            The latest known metered size (in bytes) of data stored in the Standard storage + * class.

                                                            + */ + ValueInStandard?: number; } export namespace FileSystemSize { @@ -586,18 +586,18 @@ export interface FileSystemDescription { */ SizeInBytes: FileSystemSize | undefined; - /** - *

                                                            The time that the file system was created, in seconds (since - * 1970-01-01T00:00:00Z).

                                                            - */ - CreationTime: Date | undefined; - /** *

                                                            The AWS account that created the file system. If the file system was created by an IAM * user, the parent account to which the user belongs is the owner.

                                                            */ OwnerId: string | undefined; + /** + *

                                                            The time that the file system was created, in seconds (since + * 1970-01-01T00:00:00Z).

                                                            + */ + CreationTime: Date | undefined; + /** *

                                                            The tags associated with the file system, presented as an array of Tag * objects.

                                                            @@ -614,11 +614,33 @@ export interface FileSystemDescription { */ PerformanceMode: PerformanceMode | string | undefined; + /** + *

                                                            The throughput mode for a file system. There are two throughput modes to choose from for + * your file system: bursting and provisioned. If you set ThroughputMode to provisioned, + * you must also set a value for ProvisionedThroughPutInMibps. You can decrease your file system's + * throughput in Provisioned Throughput mode or change between the throughput modes as long as + * it’s been more than 24 hours since the last decrease or throughput mode change. + *

                                                            + */ + ThroughputMode?: ThroughputMode | string; + /** *

                                                            The opaque string specified in the request.

                                                            */ CreationToken: string | undefined; + /** + *

                                                            The lifecycle phase of the file system.

                                                            + */ + LifeCycleState: LifeCycleState | string | undefined; + + /** + *

                                                            You can add tags to a file system, including a Name tag. For more + * information, see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns + * the value in this field.

                                                            + */ + Name?: string; + /** *

                                                            A Boolean value that, if true, indicates that the file system is encrypted.

                                                            */ @@ -634,33 +656,11 @@ export interface FileSystemDescription { */ ProvisionedThroughputInMibps?: number; - /** - *

                                                            The lifecycle phase of the file system.

                                                            - */ - LifeCycleState: LifeCycleState | string | undefined; - /** *

                                                            The ID of the file system, assigned by Amazon EFS.

                                                            */ FileSystemId: string | undefined; - /** - *

                                                            You can add tags to a file system, including a Name tag. For more - * information, see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns - * the value in this field.

                                                            - */ - Name?: string; - - /** - *

                                                            The throughput mode for a file system. There are two throughput modes to choose from for - * your file system: bursting and provisioned. If you set ThroughputMode to provisioned, - * you must also set a value for ProvisionedThroughPutInMibps. You can decrease your file system's - * throughput in Provisioned Throughput mode or change between the throughput modes as long as - * it’s been more than 24 hours since the last decrease or throughput mode change. - *

                                                            - */ - ThroughputMode?: ThroughputMode | string; - /** *

                                                            The Amazon Resource Name (ARN) for the EFS file system, in the format * arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id @@ -710,8 +710,8 @@ export namespace FileSystemLimitExceeded { export interface InsufficientThroughputCapacity extends __SmithyException, $MetadataBearer { name: "InsufficientThroughputCapacity"; $fault: "server"; - ErrorCode: string | undefined; Message?: string; + ErrorCode: string | undefined; } export namespace InsufficientThroughputCapacity { @@ -747,9 +747,9 @@ export interface CreateMountTargetRequest { SubnetId: string | undefined; /** - *

                                                            Valid IPv4 address within the address range of the specified subnet.

                                                            + *

                                                            The ID of the file system for which to create the mount target.

                                                            */ - IpAddress?: string; + FileSystemId: string | undefined; /** *

                                                            Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be @@ -758,9 +758,9 @@ export interface CreateMountTargetRequest { SecurityGroups?: string[]; /** - *

                                                            The ID of the file system for which to create the mount target.

                                                            + *

                                                            Valid IPv4 address within the address range of the specified subnet.

                                                            */ - FileSystemId: string | undefined; + IpAddress?: string; } export namespace CreateMountTargetRequest { @@ -808,9 +808,9 @@ export namespace MountTargetConflict { */ export interface MountTargetDescription { /** - *

                                                            Address at which the file system can be mounted by using the mount target.

                                                            + *

                                                            The ID of the mount target's subnet.

                                                            */ - IpAddress?: string; + SubnetId: string | undefined; /** *

                                                            AWS account ID that owns the resource.

                                                            @@ -818,32 +818,30 @@ export interface MountTargetDescription { OwnerId?: string; /** - *

                                                            Lifecycle state of the mount target.

                                                            + *

                                                            Address at which the file system can be mounted by using the mount target.

                                                            */ - LifeCycleState: LifeCycleState | string | undefined; + IpAddress?: string; /** - *

                                                            The unique and consistent identifier of the Availability Zone (AZ) that the mount target resides in. - * For example, use1-az1 is an AZ ID for the us-east-1 Region and it has the same location in every AWS account.

                                                            + *

                                                            The Virtual Private Cloud (VPC) ID that the mount target is configured in.

                                                            */ - AvailabilityZoneId?: string; + VpcId?: string; /** - *

                                                            The name of the Availability Zone (AZ) that the mount target resides in. AZs are - * independently mapped to names for each AWS account. For example, the Availability Zone - * us-east-1a for your AWS account might not be the same location as us-east-1a for another AWS account.

                                                            + *

                                                            The unique and consistent identifier of the Availability Zone (AZ) that the mount target resides in. + * For example, use1-az1 is an AZ ID for the us-east-1 Region and it has the same location in every AWS account.

                                                            */ - AvailabilityZoneName?: string; + AvailabilityZoneId?: string; /** - *

                                                            The ID of the mount target's subnet.

                                                            + *

                                                            The ID of the file system for which the mount target is intended.

                                                            */ - SubnetId: string | undefined; + FileSystemId: string | undefined; /** - *

                                                            System-assigned mount target ID.

                                                            + *

                                                            Lifecycle state of the mount target.

                                                            */ - MountTargetId: string | undefined; + LifeCycleState: LifeCycleState | string | undefined; /** *

                                                            The ID of the network interface that Amazon EFS created when it created the mount @@ -852,14 +850,16 @@ export interface MountTargetDescription { NetworkInterfaceId?: string; /** - *

                                                            The ID of the file system for which the mount target is intended.

                                                            + *

                                                            System-assigned mount target ID.

                                                            */ - FileSystemId: string | undefined; + MountTargetId: string | undefined; /** - *

                                                            The Virtual Private Cloud (VPC) ID that the mount target is configured in.

                                                            + *

                                                            The name of the Availability Zone (AZ) that the mount target resides in. AZs are + * independently mapped to names for each AWS account. For example, the Availability Zone + * us-east-1a for your AWS account might not be the same location as us-east-1a for another AWS account.

                                                            */ - VpcId?: string; + AvailabilityZoneName?: string; } export namespace MountTargetDescription { @@ -976,17 +976,17 @@ export namespace UnsupportedAvailabilityZone { *

                                                            */ export interface CreateTagsRequest { - /** - *

                                                            The ID of the file system whose tags you want to modify (String). This operation modifies - * the tags only, not the file system.

                                                            - */ - FileSystemId: string | undefined; - /** *

                                                            An array of Tag objects to add. Each Tag object is a key-value * pair.

                                                            */ Tags: Tag[] | undefined; + + /** + *

                                                            The ID of the file system whose tags you want to modify (String). This operation modifies + * the tags only, not the file system.

                                                            + */ + FileSystemId: string | undefined; } export namespace CreateTagsRequest { @@ -1030,8 +1030,8 @@ export namespace DeleteFileSystemRequest { export interface FileSystemInUse extends __SmithyException, $MetadataBearer { name: "FileSystemInUse"; $fault: "client"; - Message?: string; ErrorCode: string | undefined; + Message?: string; } export namespace FileSystemInUse { @@ -1093,8 +1093,8 @@ export namespace DependencyTimeout { export interface MountTargetNotFound extends __SmithyException, $MetadataBearer { name: "MountTargetNotFound"; $fault: "client"; - Message?: string; ErrorCode: string | undefined; + Message?: string; } export namespace MountTargetNotFound { @@ -1125,6 +1125,16 @@ export namespace DeleteTagsRequest { } export interface DescribeAccessPointsRequest { + /** + *

                                                            (Optional) Specifies an EFS access point to describe in the response; mutually exclusive with FileSystemId.

                                                            + */ + AccessPointId?: string; + + /** + *

                                                            (Optional) If you provide a FileSystemId, EFS returns all access points for that file system; mutually exclusive with AccessPointId.

                                                            + */ + FileSystemId?: string; + /** *

                                                            (Optional) When retrieving all access points for a file system, * you can optionally specify the MaxItems parameter to limit the number of objects returned in a response. @@ -1137,16 +1147,6 @@ export interface DescribeAccessPointsRequest { * NextToken is present if the response is paginated. You can use NextMarker in the subsequent request to fetch the next page of access point descriptions.

                                                            */ NextToken?: string; - - /** - *

                                                            (Optional) Specifies an EFS access point to describe in the response; mutually exclusive with FileSystemId.

                                                            - */ - AccessPointId?: string; - - /** - *

                                                            (Optional) If you provide a FileSystemId, EFS returns all access points for that file system; mutually exclusive with AccessPointId.

                                                            - */ - FileSystemId?: string; } export namespace DescribeAccessPointsRequest { @@ -1156,16 +1156,16 @@ export namespace DescribeAccessPointsRequest { } export interface DescribeAccessPointsResponse { - /** - *

                                                            An array of access point descriptions.

                                                            - */ - AccessPoints?: AccessPointDescription[]; - /** *

                                                            Present if there are more access points than returned in the response. * You can use the NextMarker in the subsequent request to fetch the additional descriptions.

                                                            */ NextToken?: string; + + /** + *

                                                            An array of access point descriptions.

                                                            + */ + AccessPoints?: AccessPointDescription[]; } export namespace DescribeAccessPointsResponse { @@ -1193,8 +1193,8 @@ export namespace DescribeBackupPolicyRequest { export interface PolicyNotFound extends __SmithyException, $MetadataBearer { name: "PolicyNotFound"; $fault: "client"; - ErrorCode?: string; Message?: string; + ErrorCode?: string; } export namespace PolicyNotFound { @@ -1267,18 +1267,18 @@ export interface DescribeFileSystemsRequest { */ Marker?: string; - /** - *

                                                            (Optional) ID of the file system whose description you want to retrieve - * (String).

                                                            - */ - FileSystemId?: string; - /** *

                                                            (Optional) Specifies the maximum number of file systems to return in the response * (integer). This number is automatically set to 100. The response is paginated at 100 per page if you have more than 100 file systems. *

                                                            */ MaxItems?: number; + + /** + *

                                                            (Optional) ID of the file system whose description you want to retrieve + * (String).

                                                            + */ + FileSystemId?: string; } export namespace DescribeFileSystemsRequest { @@ -1377,19 +1377,6 @@ export interface DescribeMountTargetsRequest { */ MountTargetId?: string; - /** - *

                                                            (Optional) ID of the file system whose mount targets you want to list (String). It must - * be included in your request if an AccessPointId or MountTargetId is not included. Accepts either a file system ID or ARN as input.

                                                            - */ - FileSystemId?: string; - - /** - *

                                                            (Optional) Maximum number of mount targets to return in the response. Currently, this - * number is automatically set to - * 10, and other values are ignored. The response is paginated at 100 per page if you have more than 100 mount targets.

                                                            - */ - MaxItems?: number; - /** *

                                                            (Optional) The ID of the access point whose mount targets that you want to list. It must be included in your request if a * FileSystemId or MountTargetId is not included in your request. Accepts either an access point ID or ARN as input.

                                                            @@ -1402,6 +1389,19 @@ export interface DescribeMountTargetsRequest { * the list from where the previous returning call left off.

                                                            */ Marker?: string; + + /** + *

                                                            (Optional) Maximum number of mount targets to return in the response. Currently, this + * number is automatically set to + * 10, and other values are ignored. The response is paginated at 100 per page if you have more than 100 mount targets.

                                                            + */ + MaxItems?: number; + + /** + *

                                                            (Optional) ID of the file system whose mount targets you want to list (String). It must + * be included in your request if an AccessPointId or MountTargetId is not included. Accepts either a file system ID or ARN as input.

                                                            + */ + FileSystemId?: string; } export namespace DescribeMountTargetsRequest { @@ -1414,6 +1414,13 @@ export namespace DescribeMountTargetsRequest { *

                                                            */ export interface DescribeMountTargetsResponse { + /** + *

                                                            If a value is present, there are more mount targets to return. In a subsequent request, + * you can provide Marker in your request with this value to retrieve the next set + * of mount targets.

                                                            + */ + NextMarker?: string; + /** *

                                                            Returns the file system's mount targets as an array of * MountTargetDescription objects.

                                                            @@ -1425,13 +1432,6 @@ export interface DescribeMountTargetsResponse { * this field.

                                                            */ Marker?: string; - - /** - *

                                                            If a value is present, there are more mount targets to return. In a subsequent request, - * you can provide Marker in your request with this value to retrieve the next set - * of mount targets.

                                                            - */ - NextMarker?: string; } export namespace DescribeMountTargetsResponse { @@ -1497,17 +1497,17 @@ export interface DescribeTagsRequest { */ MaxItems?: number; + /** + *

                                                            The ID of the file system whose tag set you want to retrieve.

                                                            + */ + FileSystemId: string | undefined; + /** *

                                                            (Optional) An opaque pagination token returned from a previous * DescribeTags operation (String). If present, it specifies to continue the list * from where the previous call left off.

                                                            */ Marker?: string; - - /** - *

                                                            The ID of the file system whose tag set you want to retrieve.

                                                            - */ - FileSystemId: string | undefined; } export namespace DescribeTagsRequest { @@ -1520,6 +1520,12 @@ export namespace DescribeTagsRequest { *

                                                            */ export interface DescribeTagsResponse { + /** + *

                                                            Returns tags associated with the file system as an array of Tag objects. + *

                                                            + */ + Tags: Tag[] | undefined; + /** *

                                                            If a value is present, there are more tags to return. In a subsequent request, you can * provide the value of NextMarker as the value of the Marker parameter @@ -1532,12 +1538,6 @@ export interface DescribeTagsResponse { * field.

                                                            */ Marker?: string; - - /** - *

                                                            Returns tags associated with the file system as an array of Tag objects. - *

                                                            - */ - Tags: Tag[] | undefined; } export namespace DescribeTagsResponse { @@ -1553,8 +1553,8 @@ export namespace DescribeTagsResponse { export interface InvalidPolicyException extends __SmithyException, $MetadataBearer { name: "InvalidPolicyException"; $fault: "client"; - Message?: string; ErrorCode?: string; + Message?: string; } export namespace InvalidPolicyException { @@ -1587,16 +1587,16 @@ export namespace ListTagsForResourceRequest { } export interface ListTagsForResourceResponse { - /** - *

                                                            An array of the tags for the specified EFS resource.

                                                            - */ - Tags?: Tag[]; - /** *

                                                            * NextToken is present if the response payload is paginated. You can use NextToken in a subsequent request to fetch the next page of access point descriptions.

                                                            */ NextToken?: string; + + /** + *

                                                            An array of the tags for the specified EFS resource.

                                                            + */ + Tags?: Tag[]; } export namespace ListTagsForResourceResponse { @@ -1610,14 +1610,14 @@ export namespace ListTagsForResourceResponse { */ export interface ModifyMountTargetSecurityGroupsRequest { /** - *

                                                            An array of up to five VPC security group IDs.

                                                            + *

                                                            The ID of the mount target whose security groups you want to modify.

                                                            */ - SecurityGroups?: string[]; + MountTargetId: string | undefined; /** - *

                                                            The ID of the mount target whose security groups you want to modify.

                                                            + *

                                                            An array of up to five VPC security group IDs.

                                                            */ - MountTargetId: string | undefined; + SecurityGroups?: string[]; } export namespace ModifyMountTargetSecurityGroupsRequest { @@ -1628,14 +1628,14 @@ export namespace ModifyMountTargetSecurityGroupsRequest { export interface PutBackupPolicyRequest { /** - *

                                                            The backup policy included in the PutBackupPolicy request.

                                                            + *

                                                            Specifies which EFS file system to update the backup policy for.

                                                            */ - BackupPolicy: BackupPolicy | undefined; + FileSystemId: string | undefined; /** - *

                                                            Specifies which EFS file system to update the backup policy for.

                                                            + *

                                                            The backup policy included in the PutBackupPolicy request.

                                                            */ - FileSystemId: string | undefined; + BackupPolicy: BackupPolicy | undefined; } export namespace PutBackupPolicyRequest { @@ -1646,9 +1646,12 @@ export namespace PutBackupPolicyRequest { export interface PutFileSystemPolicyRequest { /** - *

                                                            The ID of the EFS file system that you want to create or update the FileSystemPolicy for.

                                                            + *

                                                            The FileSystemPolicy that you're creating. Accepts a JSON formatted policy definition. + * To find out more about the elements that make up a file system policy, see + * EFS Resource-based Policies. + *

                                                            */ - FileSystemId: string | undefined; + Policy: string | undefined; /** *

                                                            (Optional) A flag to indicate whether to bypass the FileSystemPolicy lockout safety check. The policy lockout safety check @@ -1661,12 +1664,9 @@ export interface PutFileSystemPolicyRequest { BypassPolicyLockoutSafetyCheck?: boolean; /** - *

                                                            The FileSystemPolicy that you're creating. Accepts a JSON formatted policy definition. - * To find out more about the elements that make up a file system policy, see - * EFS Resource-based Policies. - *

                                                            + *

                                                            The ID of the EFS file system that you want to create or update the FileSystemPolicy for.

                                                            */ - Policy: string | undefined; + FileSystemId: string | undefined; } export namespace PutFileSystemPolicyRequest { @@ -1676,12 +1676,6 @@ export namespace PutFileSystemPolicyRequest { } export interface PutLifecycleConfigurationRequest { - /** - *

                                                            The ID of the file system for which you are creating the - * LifecycleConfiguration object (String).

                                                            - */ - FileSystemId: string | undefined; - /** *

                                                            An array of LifecyclePolicy objects that define the file system's * LifecycleConfiguration object. A LifecycleConfiguration object @@ -1689,6 +1683,12 @@ export interface PutLifecycleConfigurationRequest { * Infrequent Access storage class.

                                                            */ LifecyclePolicies: LifecyclePolicy[] | undefined; + + /** + *

                                                            The ID of the file system for which you are creating the + * LifecycleConfiguration object (String).

                                                            + */ + FileSystemId: string | undefined; } export namespace PutLifecycleConfigurationRequest { @@ -1752,11 +1752,9 @@ export namespace TooManyRequests { export interface UpdateFileSystemRequest { /** - *

                                                            (Optional) The throughput mode that you want your file system to use. If you're not - * updating your throughput mode, you don't need to provide this value in your - * request. If you are changing the ThroughputMode to provisioned, you must also set a value for ProvisionedThroughputInMibps.

                                                            + *

                                                            The ID of the file system that you want to update.

                                                            */ - ThroughputMode?: ThroughputMode | string; + FileSystemId: string | undefined; /** *

                                                            (Optional) The amount of throughput, in MiB/s, that you want to provision for your file @@ -1767,9 +1765,11 @@ export interface UpdateFileSystemRequest { ProvisionedThroughputInMibps?: number; /** - *

                                                            The ID of the file system that you want to update.

                                                            + *

                                                            (Optional) The throughput mode that you want your file system to use. If you're not + * updating your throughput mode, you don't need to provide this value in your + * request. If you are changing the ThroughputMode to provisioned, you must also set a value for ProvisionedThroughputInMibps.

                                                            */ - FileSystemId: string | undefined; + ThroughputMode?: ThroughputMode | string; } export namespace UpdateFileSystemRequest { diff --git a/clients/client-efs/protocols/Aws_restJson1.ts b/clients/client-efs/protocols/Aws_restJson1.ts index a37afb241cd4..916647625d7c 100644 --- a/clients/client-efs/protocols/Aws_restJson1.ts +++ b/clients/client-efs/protocols/Aws_restJson1.ts @@ -397,10 +397,10 @@ export const serializeAws_restJson1DescribeAccessPointsCommand = async ( }; let resolvedPath = "/2015-02-01/access-points"; const query: any = { - ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.AccessPointId !== undefined && { AccessPointId: input.AccessPointId }), ...(input.FileSystemId !== undefined && { FileSystemId: input.FileSystemId }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -487,8 +487,8 @@ export const serializeAws_restJson1DescribeFileSystemsCommand = async ( const query: any = { ...(input.CreationToken !== undefined && { CreationToken: input.CreationToken }), ...(input.Marker !== undefined && { Marker: input.Marker }), - ...(input.FileSystemId !== undefined && { FileSystemId: input.FileSystemId }), ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), + ...(input.FileSystemId !== undefined && { FileSystemId: input.FileSystemId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -544,10 +544,10 @@ export const serializeAws_restJson1DescribeMountTargetsCommand = async ( let resolvedPath = "/2015-02-01/mount-targets"; const query: any = { ...(input.MountTargetId !== undefined && { MountTargetId: input.MountTargetId }), - ...(input.FileSystemId !== undefined && { FileSystemId: input.FileSystemId }), - ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), ...(input.AccessPointId !== undefined && { AccessPointId: input.AccessPointId }), ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), + ...(input.FileSystemId !== undefined && { FileSystemId: input.FileSystemId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-eks/EKS.ts b/clients/client-eks/EKS.ts index be9603ee94e0..4ea2160b1d3f 100644 --- a/clients/client-eks/EKS.ts +++ b/clients/client-eks/EKS.ts @@ -238,7 +238,9 @@ export class EKS extends EKSClient { *

                                                            Creates a managed worker node group for an Amazon EKS cluster. You can only create a node * group for your cluster that is equal to the current Kubernetes version for the cluster. * All node groups are created with the latest AMI release version for the respective minor - * Kubernetes version of the cluster.

                                                            + * Kubernetes version of the cluster, unless you deploy a custom AMI using a launch + * template. For more information about using launch templates, see Launch + * template support.

                                                            *

                                                            An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group and associated Amazon EC2 instances that * are managed by AWS for an Amazon EKS cluster. Each node group uses a version of the * Amazon EKS-optimized Amazon Linux 2 AMI. For more information, see Managed @@ -586,8 +588,8 @@ export class EKS extends EKSClient { } /** - *

                                                            Lists the Amazon EKS managed node groups associated with the specified cluster in your AWS - * account in the specified Region. Self-managed node groups are not listed.

                                                            + *

                                                            Lists the Amazon EKS managed node groups associated with the specified cluster in your + * AWS account in the specified Region. Self-managed node groups are not listed.

                                                            */ public listNodegroups( args: ListNodegroupsCommandInput, @@ -880,10 +882,16 @@ export class EKS extends EKSClient { /** *

                                                            Updates the Kubernetes version or AMI version of an Amazon EKS managed node group.

                                                            - *

                                                            You can update to the latest available AMI version of a node group's current - * Kubernetes version by not specifying a Kubernetes version in the request. You can update - * to the latest AMI version of your cluster's current Kubernetes version by specifying - * your cluster's Kubernetes version in the request. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide.

                                                            + *

                                                            You can update a node group using a launch template only if the node group was + * originally deployed with a launch template. If you need to update a custom AMI in a node + * group that was deployed with a launch template, then update your custom AMI, specify the + * new ID in a new version of the launch template, and then update the node group to the + * new version of the launch template.

                                                            + *

                                                            If you update without a launch template, then you can update to the latest available + * AMI version of a node group's current Kubernetes version by not specifying a Kubernetes + * version in the request. You can update to the latest AMI version of your cluster's + * current Kubernetes version by specifying your cluster's Kubernetes version in the + * request. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide.

                                                            *

                                                            You cannot roll back a node group to an earlier Kubernetes version or AMI * version.

                                                            *

                                                            When a node in a managed node group is terminated due to a scaling action or update, diff --git a/clients/client-eks/models/models_0.ts b/clients/client-eks/models/models_0.ts index 110e6d6a1ea5..814c9a87244f 100644 --- a/clients/client-eks/models/models_0.ts +++ b/clients/client-eks/models/models_0.ts @@ -1,7 +1,7 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; -export type AMITypes = "AL2_x86_64" | "AL2_x86_64_GPU"; +export type AMITypes = "AL2_ARM_64" | "AL2_x86_64" | "AL2_x86_64_GPU"; /** *

                                                            An Auto Scaling group that is associated with an Amazon EKS managed node group.

                                                            @@ -28,15 +28,15 @@ export interface ClientException extends __SmithyException, $MetadataBearer { name: "ClientException"; $fault: "client"; /** - *

                                                            The Amazon EKS cluster associated with the exception.

                                                            + *

                                                            The Amazon EKS managed node group associated with the exception.

                                                            */ - clusterName?: string; + nodegroupName?: string; message?: string; /** - *

                                                            The Amazon EKS managed node group associated with the exception.

                                                            + *

                                                            The Amazon EKS cluster associated with the exception.

                                                            */ - nodegroupName?: string; + clusterName?: string; } export namespace ClientException { @@ -46,15 +46,16 @@ export namespace ClientException { } /** - *

                                                            Identifies the AWS Key Management Service (AWS KMS) customer - * master key (CMK) used to encrypt the secrets.

                                                            + *

                                                            Identifies the AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the + * secrets.

                                                            */ export interface Provider { /** - *

                                                            Amazon Resource Name (ARN) or alias of the customer master key (CMK). The CMK must be symmetric, created in the same region as - * the cluster, and if the CMK was created in a different account, the user must have access to the CMK. For more - * information, see Allowing Users in Other Accounts to Use - * a CMK in the AWS Key Management Service Developer Guide.

                                                            + *

                                                            Amazon Resource Name (ARN) or alias of the customer master key (CMK). The CMK must be symmetric, + * created in the same region as the cluster, and if the CMK was created in a different + * account, the user must have access to the CMK. For more information, see Allowing + * Users in Other Accounts to Use a CMK in the AWS Key Management Service Developer + * Guide.

                                                            */ keyArn?: string; } @@ -66,21 +67,19 @@ export namespace Provider { } /** - *

                                                            The encryption configuration for the - * cluster.

                                                            + *

                                                            The encryption configuration for the cluster.

                                                            */ export interface EncryptionConfig { /** - *

                                                            AWS Key Management Service (AWS KMS) customer master key - * (CMK). Either the ARN or the alias can be used.

                                                            + *

                                                            Specifies the resources to be encrypted. The only supported value is "secrets".

                                                            */ - provider?: Provider; + resources?: string[]; /** - *

                                                            Specifies the resources to be encrypted. - * The only supported value is "secrets".

                                                            + *

                                                            AWS Key Management Service (AWS KMS) customer master key (CMK). Either the ARN or the alias can be + * used.

                                                            */ - resources?: string[]; + provider?: Provider; } export namespace EncryptionConfig { @@ -89,6 +88,37 @@ export namespace EncryptionConfig { }); } +/** + *

                                                            The Kubernetes network configuration for the cluster.

                                                            + */ +export interface KubernetesNetworkConfigRequest { + /** + *

                                                            The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks + * that are peered or connected to your VPC. The block must meet the following requirements:

                                                            + *
                                                              + *
                                                            • + *

                                                              Within one of the following private IP address blocks: 10.0.0.0/8, 172.16.0.0.0/12, or 192.168.0.0/16.

                                                              + *
                                                            • + *
                                                            • + *

                                                              Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC.

                                                              + *
                                                            • + *
                                                            • + *

                                                              Between /24 and /12.

                                                              + *
                                                            • + *
                                                            + * + *

                                                            You can only specify a custom CIDR block when you create a cluster and can't change this value once the cluster is created.

                                                            + *
                                                            + */ + serviceIpv4Cidr?: string; +} + +export namespace KubernetesNetworkConfigRequest { + export const filterSensitiveLog = (obj: KubernetesNetworkConfigRequest): any => ({ + ...obj, + }); +} + export enum LogType { API = "api", AUDIT = "audit", @@ -142,16 +172,12 @@ export namespace Logging { */ export interface VpcConfigRequest { /** - *

                                                            The CIDR blocks that are allowed access to your cluster's public Kubernetes API server - * endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that - * you specify is denied. The default value is 0.0.0.0/0. If you've disabled - * private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then - * ensure that you specify the necessary CIDR blocks. For more information, see Amazon EKS Cluster - * Endpoint Access Control in the - * Amazon EKS User Guide - * .

                                                            + *

                                                            Specify one or more security groups for the cross-account elastic network interfaces + * that Amazon EKS creates to use to allow communication between your worker nodes and the + * Kubernetes control plane. If you don't specify a security group, the default security + * group for your VPC is used.

                                                            */ - publicAccessCidrs?: string[]; + securityGroupIds?: string[]; /** *

                                                            Set this value to true to enable private access for your cluster's @@ -169,21 +195,6 @@ export interface VpcConfigRequest { */ endpointPrivateAccess?: boolean; - /** - *

                                                            Specify one or more security groups for the cross-account elastic network interfaces - * that Amazon EKS creates to use to allow communication between your worker nodes and the - * Kubernetes control plane. If you don't specify a security group, the default security - * group for your VPC is used.

                                                            - */ - securityGroupIds?: string[]; - - /** - *

                                                            Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account elastic - * network interfaces in these subnets to allow communication between your worker nodes and - * the Kubernetes control plane.

                                                            - */ - subnetIds?: string[]; - /** *

                                                            Set this value to false to disable public access to your cluster's * Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes @@ -195,6 +206,25 @@ export interface VpcConfigRequest { * .

                                                            */ endpointPublicAccess?: boolean; + + /** + *

                                                            The CIDR blocks that are allowed access to your cluster's public Kubernetes API server + * endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that + * you specify is denied. The default value is 0.0.0.0/0. If you've disabled + * private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then + * ensure that you specify the necessary CIDR blocks. For more information, see Amazon EKS Cluster + * Endpoint Access Control in the + * Amazon EKS User Guide + * .

                                                            + */ + publicAccessCidrs?: string[]; + + /** + *

                                                            Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account elastic + * network interfaces in these subnets to allow communication between your worker nodes and + * the Kubernetes control plane.

                                                            + */ + subnetIds?: string[]; } export namespace VpcConfigRequest { @@ -204,6 +234,21 @@ export namespace VpcConfigRequest { } export interface CreateClusterRequest { + /** + *

                                                            The encryption configuration for the cluster.

                                                            + */ + encryptionConfig?: EncryptionConfig[]; + + /** + *

                                                            The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have + * specific requirements to work properly with Kubernetes. For more information, see Cluster VPC + * Considerations and Cluster Security Group Considerations in the + * Amazon EKS User Guide. You must specify at least two subnets. You can specify up to five + * security groups, but we recommend that you use a dedicated security group for your + * cluster control plane.

                                                            + */ + resourcesVpcConfig: VpcConfigRequest | undefined; + /** *

                                                            Enable or disable exporting the Kubernetes control plane logs for your cluster to * CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more @@ -218,11 +263,6 @@ export interface CreateClusterRequest { */ logging?: Logging; - /** - *

                                                            The unique name to give to your cluster.

                                                            - */ - name: string | undefined; - /** *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the * request.

                                                            @@ -230,16 +270,19 @@ export interface CreateClusterRequest { clientRequestToken?: string; /** - *

                                                            The encryption configuration for the - * cluster.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control + * plane to make calls to AWS API operations on your behalf. For more information, see + * Amazon EKS + * Service IAM Role in the + * Amazon EKS User Guide + * .

                                                            */ - encryptionConfig?: EncryptionConfig[]; + roleArn: string | undefined; /** - *

                                                            The metadata to apply to the cluster to assist with categorization and organization. - * Each tag consists of a key and an optional value, both of which you define.

                                                            + *

                                                            The Kubernetes network configuration for the cluster.

                                                            */ - tags?: { [key: string]: string }; + kubernetesNetworkConfig?: KubernetesNetworkConfigRequest; /** *

                                                            The desired Kubernetes version for your cluster. If you don't specify a value here, @@ -248,23 +291,15 @@ export interface CreateClusterRequest { version?: string; /** - *

                                                            The Amazon Resource Name (ARN) of the IAM role that provides permissions for Amazon EKS to make calls to - * other AWS API operations on your behalf. For more information, see Amazon EKS Service - * IAM Role in the - * Amazon EKS User Guide - * .

                                                            + *

                                                            The metadata to apply to the cluster to assist with categorization and organization. + * Each tag consists of a key and an optional value, both of which you define.

                                                            */ - roleArn: string | undefined; + tags?: { [key: string]: string }; /** - *

                                                            The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have - * specific requirements to work properly with Kubernetes. For more information, see Cluster VPC - * Considerations and Cluster Security Group Considerations in the - * Amazon EKS User Guide. You must specify at least two subnets. You can specify up to five - * security groups, but we recommend that you use a dedicated security group for your - * cluster control plane.

                                                            + *

                                                            The unique name to give to your cluster.

                                                            */ - resourcesVpcConfig: VpcConfigRequest | undefined; + name: string | undefined; } export namespace CreateClusterRequest { @@ -327,36 +362,37 @@ export namespace Identity { } /** - *

                                                            An object representing an Amazon EKS cluster VPC configuration response.

                                                            + *

                                                            The Kubernetes network configuration for the cluster.

                                                            */ -export interface VpcConfigResponse { +export interface KubernetesNetworkConfigResponse { /** - *

                                                            This parameter indicates whether the Amazon EKS private API server endpoint is enabled. If - * the Amazon EKS private API server endpoint is enabled, Kubernetes API requests that originate - * from within your cluster's VPC use the private VPC endpoint instead of traversing the - * internet. If this value is disabled and you have worker nodes or AWS Fargate pods in the - * cluster, then ensure that publicAccessCidrs includes the necessary CIDR - * blocks for communication with the worker nodes or Fargate pods. For more information, see - * Amazon EKS - * Cluster Endpoint Access Control in the - * - * Amazon EKS User Guide - * .

                                                            + *

                                                            The CIDR block that Kubernetes service IP addresses are assigned from. If you didn't specify a CIDR block, then Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. If this was specified, then it was specified when the cluster was created and it + * cannot be changed.

                                                            */ - endpointPrivateAccess?: boolean; + serviceIpv4Cidr?: string; +} - /** - *

                                                            The security groups associated with the cross-account elastic network interfaces that - * are used to allow communication between your worker nodes and the Kubernetes control - * plane.

                                                            - */ - securityGroupIds?: string[]; +export namespace KubernetesNetworkConfigResponse { + export const filterSensitiveLog = (obj: KubernetesNetworkConfigResponse): any => ({ + ...obj, + }); +} +/** + *

                                                            An object representing an Amazon EKS cluster VPC configuration response.

                                                            + */ +export interface VpcConfigResponse { /** *

                                                            The VPC associated with your cluster.

                                                            */ vpcId?: string; + /** + *

                                                            The cluster security group that was created by Amazon EKS for the cluster. Managed node + * groups use this security group for control-plane-to-data-plane communication.

                                                            + */ + clusterSecurityGroupId?: string; + /** *

                                                            The CIDR blocks that are allowed access to your cluster's public Kubernetes API server * endpoint. Communication to the endpoint from addresses outside of the listed CIDR blocks @@ -377,15 +413,31 @@ export interface VpcConfigResponse { endpointPublicAccess?: boolean; /** - *

                                                            The cluster security group that was created by Amazon EKS for the cluster. Managed node - * groups use this security group for control-plane-to-data-plane communication.

                                                            + *

                                                            The subnets associated with your cluster.

                                                            */ - clusterSecurityGroupId?: string; + subnetIds?: string[]; /** - *

                                                            The subnets associated with your cluster.

                                                            + *

                                                            The security groups associated with the cross-account elastic network interfaces that + * are used to allow communication between your worker nodes and the Kubernetes control + * plane.

                                                            */ - subnetIds?: string[]; + securityGroupIds?: string[]; + + /** + *

                                                            This parameter indicates whether the Amazon EKS private API server endpoint is enabled. If + * the Amazon EKS private API server endpoint is enabled, Kubernetes API requests that originate + * from within your cluster's VPC use the private VPC endpoint instead of traversing the + * internet. If this value is disabled and you have worker nodes or AWS Fargate pods in the + * cluster, then ensure that publicAccessCidrs includes the necessary CIDR + * blocks for communication with the worker nodes or Fargate pods. For more information, see + * Amazon EKS + * Cluster Endpoint Access Control in the + * + * Amazon EKS User Guide + * .

                                                            + */ + endpointPrivateAccess?: boolean; } export namespace VpcConfigResponse { @@ -401,44 +453,42 @@ export type ClusterStatus = "ACTIVE" | "CREATING" | "DELETING" | "FAILED" | "UPD */ export interface Cluster { /** - *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                                                            + *

                                                            The endpoint for your Kubernetes API server.

                                                            */ - clientRequestToken?: string; + endpoint?: string; /** - *

                                                            The identity provider information for the cluster.

                                                            + *

                                                            The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have + * specific requirements to work properly with Kubernetes. For more information, see Cluster VPC + * Considerations and Cluster Security Group Considerations in the + * Amazon EKS User Guide.

                                                            */ - identity?: Identity; + resourcesVpcConfig?: VpcConfigResponse; /** - *

                                                            The platform version of your Amazon EKS cluster. For more information, see Platform - * Versions in the - * Amazon EKS User Guide - * .

                                                            + *

                                                            The Unix epoch timestamp in seconds for when the cluster was created.

                                                            */ - platformVersion?: string; + createdAt?: Date; /** - *

                                                            The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control - * plane to make calls to AWS API operations on your behalf.

                                                            + *

                                                            The current status of the cluster.

                                                            */ - roleArn?: string; + status?: ClusterStatus | string; /** - *

                                                            The Unix epoch timestamp in seconds for when the cluster was created.

                                                            + *

                                                            Network configuration settings for your cluster.

                                                            */ - createdAt?: Date; + kubernetesNetworkConfig?: KubernetesNetworkConfigResponse; /** - *

                                                            The logging configuration for your cluster.

                                                            + *

                                                            The certificate-authority-data for your cluster.

                                                            */ - logging?: Logging; + certificateAuthority?: Certificate; /** - *

                                                            The Amazon Resource Name (ARN) of the cluster.

                                                            + *

                                                            The logging configuration for your cluster.

                                                            */ - arn?: string; + logging?: Logging; /** *

                                                            The name of the cluster.

                                                            @@ -446,27 +496,25 @@ export interface Cluster { name?: string; /** - *

                                                            The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have - * specific requirements to work properly with Kubernetes. For more information, see Cluster VPC - * Considerations and Cluster Security Group Considerations in the - * Amazon EKS User Guide.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the cluster.

                                                            */ - resourcesVpcConfig?: VpcConfigResponse; + arn?: string; /** - *

                                                            The endpoint for your Kubernetes API server.

                                                            + *

                                                            The identity provider information for the cluster.

                                                            */ - endpoint?: string; + identity?: Identity; /** - *

                                                            The certificate-authority-data for your cluster.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control + * plane to make calls to AWS API operations on your behalf.

                                                            */ - certificateAuthority?: Certificate; + roleArn?: string; /** - *

                                                            The current status of the cluster.

                                                            + *

                                                            The encryption configuration for the cluster.

                                                            */ - status?: ClusterStatus | string; + encryptionConfig?: EncryptionConfig[]; /** *

                                                            The metadata that you apply to the cluster to assist with categorization and @@ -477,10 +525,18 @@ export interface Cluster { tags?: { [key: string]: string }; /** - *

                                                            The encryption configuration for the - * cluster.

                                                            + *

                                                            The platform version of your Amazon EKS cluster. For more information, see Platform + * Versions in the + * Amazon EKS User Guide + * .

                                                            */ - encryptionConfig?: EncryptionConfig[]; + platformVersion?: string; + + /** + *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                                                            + */ + clientRequestToken?: string; /** *

                                                            The Kubernetes server version for the cluster.

                                                            @@ -514,17 +570,17 @@ export namespace CreateClusterResponse { export interface InvalidParameterException extends __SmithyException, $MetadataBearer { name: "InvalidParameterException"; $fault: "client"; + message?: string; /** - *

                                                            The Amazon EKS managed node group associated with the exception.

                                                            + *

                                                            The Fargate profile associated with the exception.

                                                            */ - nodegroupName?: string; + fargateProfileName?: string; /** - *

                                                            The Fargate profile associated with the exception.

                                                            + *

                                                            The Amazon EKS managed node group associated with the exception.

                                                            */ - fargateProfileName?: string; + nodegroupName?: string; - message?: string; /** *

                                                            The Amazon EKS cluster associated with the exception.

                                                            */ @@ -567,16 +623,17 @@ export namespace ResourceInUseException { export interface ResourceLimitExceededException extends __SmithyException, $MetadataBearer { name: "ResourceLimitExceededException"; $fault: "client"; + /** + *

                                                            The Amazon EKS cluster associated with the exception.

                                                            + */ + clusterName?: string; + /** *

                                                            The Amazon EKS managed node group associated with the exception.

                                                            */ nodegroupName?: string; message?: string; - /** - *

                                                            The Amazon EKS cluster associated with the exception.

                                                            - */ - clusterName?: string; } export namespace ResourceLimitExceededException { @@ -591,16 +648,16 @@ export namespace ResourceLimitExceededException { export interface ServerException extends __SmithyException, $MetadataBearer { name: "ServerException"; $fault: "server"; - /** - *

                                                            The Amazon EKS cluster associated with the exception.

                                                            - */ - clusterName?: string; - message?: string; /** *

                                                            The Amazon EKS managed node group associated with the exception.

                                                            */ nodegroupName?: string; + + /** + *

                                                            The Amazon EKS cluster associated with the exception.

                                                            + */ + clusterName?: string; } export namespace ServerException { @@ -632,6 +689,12 @@ export namespace ServiceUnavailableException { export interface UnsupportedAvailabilityZoneException extends __SmithyException, $MetadataBearer { name: "UnsupportedAvailabilityZoneException"; $fault: "client"; + /** + *

                                                            The supported Availability Zones for your account. Choose subnets in these + * Availability Zones for your cluster.

                                                            + */ + validZones?: string[]; + /** *

                                                            The Amazon EKS cluster associated with the exception.

                                                            */ @@ -643,11 +706,6 @@ export interface UnsupportedAvailabilityZoneException extends __SmithyException, nodegroupName?: string; message?: string; - /** - *

                                                            The supported Availability Zones for your account. Choose subnets in these - * Availability Zones for your cluster.

                                                            - */ - validZones?: string[]; } export namespace UnsupportedAvailabilityZoneException { @@ -660,16 +718,16 @@ export namespace UnsupportedAvailabilityZoneException { *

                                                            An object representing an AWS Fargate profile selector.

                                                            */ export interface FargateProfileSelector { - /** - *

                                                            The Kubernetes namespace that the selector should match.

                                                            - */ - namespace?: string; - /** *

                                                            The Kubernetes labels that the selector should match. A pod must contain all of the * labels that are specified in the selector for it to be considered a match.

                                                            */ labels?: { [key: string]: string }; + + /** + *

                                                            The Kubernetes namespace that the selector should match.

                                                            + */ + namespace?: string; } export namespace FargateProfileSelector { @@ -680,11 +738,9 @@ export namespace FargateProfileSelector { export interface CreateFargateProfileRequest { /** - *

                                                            The IDs of subnets to launch your pods into. At this time, pods running on Fargate are - * not assigned public IP addresses, so only private subnets (with no direct route to an - * Internet Gateway) are accepted for this parameter.

                                                            + *

                                                            The name of the Fargate profile.

                                                            */ - subnets?: string[]; + fargateProfileName: string | undefined; /** *

                                                            The selectors to match for pods to use this Fargate profile. Each selector must have an @@ -693,6 +749,13 @@ export interface CreateFargateProfileRequest { */ selectors?: FargateProfileSelector[]; + /** + *

                                                            The IDs of subnets to launch your pods into. At this time, pods running on Fargate are + * not assigned public IP addresses, so only private subnets (with no direct route to an + * Internet Gateway) are accepted for this parameter.

                                                            + */ + subnets?: string[]; + /** *

                                                            The metadata to apply to the Fargate profile to assist with categorization and * organization. Each tag consists of a key and an optional value, both of which you @@ -701,20 +764,6 @@ export interface CreateFargateProfileRequest { */ tags?: { [key: string]: string }; - /** - *

                                                            The Amazon Resource Name (ARN) of the pod execution role to use for pods that match the selectors in - * the Fargate profile. The pod execution role allows Fargate infrastructure to register with - * your cluster as a node, and it provides read access to Amazon ECR image repositories. For - * more information, see Pod Execution Role in the - * Amazon EKS User Guide.

                                                            - */ - podExecutionRoleArn: string | undefined; - - /** - *

                                                            The name of the Fargate profile.

                                                            - */ - fargateProfileName: string | undefined; - /** *

                                                            The name of the Amazon EKS cluster to apply the Fargate profile to.

                                                            */ @@ -725,6 +774,15 @@ export interface CreateFargateProfileRequest { * request.

                                                            */ clientRequestToken?: string; + + /** + *

                                                            The Amazon Resource Name (ARN) of the pod execution role to use for pods that match the selectors in + * the Fargate profile. The pod execution role allows Fargate infrastructure to register with + * your cluster as a node, and it provides read access to Amazon ECR image repositories. For + * more information, see Pod Execution Role in the + * Amazon EKS User Guide.

                                                            + */ + podExecutionRoleArn: string | undefined; } export namespace CreateFargateProfileRequest { @@ -740,14 +798,9 @@ export type FargateProfileStatus = "ACTIVE" | "CREATE_FAILED" | "CREATING" | "DE */ export interface FargateProfile { /** - *

                                                            The full Amazon Resource Name (ARN) of the Fargate profile.

                                                            - */ - fargateProfileArn?: string; - - /** - *

                                                            The IDs of subnets to launch pods into.

                                                            + *

                                                            The Unix epoch timestamp in seconds for when the Fargate profile was created.

                                                            */ - subnets?: string[]; + createdAt?: Date; /** *

                                                            The name of the Fargate profile.

                                                            @@ -755,15 +808,22 @@ export interface FargateProfile { fargateProfileName?: string; /** - *

                                                            The Unix epoch timestamp in seconds for when the Fargate profile was created.

                                                            + *

                                                            The selectors to match for pods to use this Fargate profile.

                                                            */ - createdAt?: Date; + selectors?: FargateProfileSelector[]; /** *

                                                            The name of the Amazon EKS cluster that the Fargate profile belongs to.

                                                            */ clusterName?: string; + /** + *

                                                            The Amazon Resource Name (ARN) of the pod execution role to use for pods that match the selectors in + * the Fargate profile. For more information, see Pod + * Execution Role in the Amazon EKS User Guide.

                                                            + */ + podExecutionRoleArn?: string; + /** *

                                                            The metadata applied to the Fargate profile to assist with categorization and * organization. Each tag consists of a key and an optional value, both of which you @@ -773,21 +833,19 @@ export interface FargateProfile { tags?: { [key: string]: string }; /** - *

                                                            The Amazon Resource Name (ARN) of the pod execution role to use for pods that match the selectors in - * the Fargate profile. For more information, see Pod - * Execution Role in the Amazon EKS User Guide.

                                                            + *

                                                            The current status of the Fargate profile.

                                                            */ - podExecutionRoleArn?: string; + status?: FargateProfileStatus | string; /** - *

                                                            The current status of the Fargate profile.

                                                            + *

                                                            The full Amazon Resource Name (ARN) of the Fargate profile.

                                                            */ - status?: FargateProfileStatus | string; + fargateProfileArn?: string; /** - *

                                                            The selectors to match for pods to use this Fargate profile.

                                                            + *

                                                            The IDs of subnets to launch pods into.

                                                            */ - selectors?: FargateProfileSelector[]; + subnets?: string[]; } export namespace FargateProfile { @@ -817,15 +875,15 @@ export interface InvalidRequestException extends __SmithyException, $MetadataBea name: "InvalidRequestException"; $fault: "client"; /** - *

                                                            The Amazon EKS cluster associated with the exception.

                                                            + *

                                                            The Amazon EKS managed node group associated with the exception.

                                                            */ - clusterName?: string; + nodegroupName?: string; message?: string; /** - *

                                                            The Amazon EKS managed node group associated with the exception.

                                                            + *

                                                            The Amazon EKS cluster associated with the exception.

                                                            */ - nodegroupName?: string; + clusterName?: string; } export namespace InvalidRequestException { @@ -834,11 +892,61 @@ export namespace InvalidRequestException { }); } +/** + *

                                                            An object representing a node group launch template specification. The launch template + * cannot include + * SubnetId + * , + * IamInstanceProfile + * , + * RequestSpotInstances + * , + * HibernationOptions + * , or + * TerminateInstances + * , or the node group deployment or update + * will fail. For more information about launch templates, see + * CreateLaunchTemplate + * in the Amazon EC2 API Reference. + * For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            + *

                                                            Specify either name or id, but not both.

                                                            + */ +export interface LaunchTemplateSpecification { + /** + *

                                                            The version of the launch template to use. If no version is specified, then the + * template's default version is used.

                                                            + */ + version?: string; + + /** + *

                                                            The ID of the launch template.

                                                            + */ + id?: string; + + /** + *

                                                            The name of the launch template.

                                                            + */ + name?: string; +} + +export namespace LaunchTemplateSpecification { + export const filterSensitiveLog = (obj: LaunchTemplateSpecification): any => ({ + ...obj, + }); +} + /** *

                                                            An object representing the remote access configuration for the managed node * group.

                                                            */ export interface RemoteAccessConfig { + /** + *

                                                            The Amazon EC2 SSH key that provides access for SSH communication with the worker nodes in + * the managed node group. For more information, see Amazon EC2 Key + * Pairs in the Amazon Elastic Compute Cloud User Guide for Linux Instances.

                                                            + */ + ec2SshKey?: string; + /** *

                                                            The security groups that are allowed SSH access (port 22) to the worker nodes. If you * specify an Amazon EC2 SSH key but do not specify a source security group when you create a @@ -847,13 +955,6 @@ export interface RemoteAccessConfig { * Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

                                                            */ sourceSecurityGroups?: string[]; - - /** - *

                                                            The Amazon EC2 SSH key that provides access for SSH communication with the worker nodes in - * the managed node group. For more information, see Amazon EC2 Key - * Pairs in the Amazon Elastic Compute Cloud User Guide for Linux Instances.

                                                            - */ - ec2SshKey?: string; } export namespace RemoteAccessConfig { @@ -864,7 +965,8 @@ export namespace RemoteAccessConfig { /** *

                                                            An object representing the scaling configuration details for the Auto Scaling group - * that is associated with your node group.

                                                            + * that is associated with your node group. If you specify a value for any property, then + * you must specify values for all of the properties.

                                                            */ export interface NodegroupScalingConfig { /** @@ -873,16 +975,16 @@ export interface NodegroupScalingConfig { */ maxSize?: number; - /** - *

                                                            The current number of worker nodes that the managed node group should maintain.

                                                            - */ - desiredSize?: number; - /** *

                                                            The minimum number of worker nodes that the managed node group can scale in to. This * number must be greater than zero.

                                                            */ minSize?: number; + + /** + *

                                                            The current number of worker nodes that the managed node group should maintain.

                                                            + */ + desiredSize?: number; } export namespace NodegroupScalingConfig { @@ -893,70 +995,97 @@ export namespace NodegroupScalingConfig { export interface CreateNodegroupRequest { /** - *

                                                            The subnets to use for the Auto Scaling group that is created for your node group. - * These subnets must have the tag key kubernetes.io/cluster/CLUSTER_NAME with - * a value of shared, where CLUSTER_NAME is replaced with the - * name of your cluster.

                                                            + *

                                                            The metadata to apply to the node group to assist with categorization and + * organization. Each tag consists of a key and an optional value, both of which you + * define. Node group tags do not propagate to any other resources associated with the node + * group, such as the Amazon EC2 instances or subnets.

                                                            */ - subnets: string[] | undefined; + tags?: { [key: string]: string }; /** - *

                                                            The unique name to give your node group.

                                                            + *

                                                            The Kubernetes version to use for your managed nodes. By default, the Kubernetes + * version of the cluster is used, and this is the only accepted specified value. + * If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify version, + * or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            */ - nodegroupName: string | undefined; + version?: string; /** - *

                                                            The AMI type for your node group. GPU instance types should use the - * AL2_x86_64_GPU AMI type, which uses the Amazon EKS-optimized Linux AMI with - * GPU support. Non-GPU instances should use the AL2_x86_64 AMI type, which - * uses the Amazon EKS-optimized Linux AMI.

                                                            + *

                                                            The remote access (SSH) configuration to use with your node group. If you specify launchTemplate, + * then don't specify remoteAccess, or the node group deployment + * will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            */ - amiType?: AMITypes | string; + remoteAccess?: RemoteAccessConfig; /** - *

                                                            The Amazon Resource Name (ARN) of the IAM role to associate with your node group. The Amazon EKS worker node - * kubelet daemon makes calls to AWS APIs on your behalf. Worker nodes + *

                                                            An object representing a node group's launch template specification. If specified, + * then do not specify instanceTypes, diskSize, or + * remoteAccess and make sure that the launch template meets the + * requirements in launchTemplateSpecification.

                                                            + */ + launchTemplate?: LaunchTemplateSpecification; + + /** + *

                                                            The AMI version of the Amazon EKS-optimized AMI to use with your node group. By default, + * the latest available AMI version for the node group's current Kubernetes version is + * used. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide. + * If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify releaseVersion, + * or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            + */ + releaseVersion?: string; + + /** + *

                                                            The Amazon Resource Name (ARN) of the IAM role to associate with your node group. The Amazon EKS worker + * node kubelet daemon makes calls to AWS APIs on your behalf. Worker nodes * receive permissions for these API calls through an IAM instance profile and associated * policies. Before you can launch worker nodes and register them into a cluster, you must * create an IAM role for those worker nodes to use when they are launched. For more * information, see Amazon EKS Worker Node IAM Role in the * * Amazon EKS User Guide - * .

                                                            + * . If you specify launchTemplate, then don't specify + * + * IamInstanceProfile + * in your launch template, or the node group + * deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            */ nodeRole: string | undefined; /** - *

                                                            The instance type to use for your node group. Currently, you can specify a single - * instance type for a node group. The default value for this parameter is - * t3.medium. If you choose a GPU instance type, be sure to specify the - * AL2_x86_64_GPU with the amiType parameter.

                                                            + *

                                                            The instance type to use for your node group. You can specify a single instance type + * for a node group. The default value for instanceTypes is + * t3.medium. If you choose a GPU instance type, be sure to specify + * AL2_x86_64_GPU with the amiType parameter. + * If you specify launchTemplate, then don't specify instanceTypes, or the node group + * deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            */ instanceTypes?: string[]; /** - *

                                                            The AMI version of the Amazon EKS-optimized AMI to use with your node group. By default, - * the latest available AMI version for the node group's current Kubernetes version is - * used. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide.

                                                            - */ - releaseVersion?: string; - - /** - *

                                                            The remote access (SSH) configuration to use with your node group.

                                                            + *

                                                            The subnets to use for the Auto Scaling group that is created for your node group. + * These subnets must have the tag key kubernetes.io/cluster/CLUSTER_NAME with + * a value of shared, where CLUSTER_NAME is replaced with the + * name of your cluster. If you specify launchTemplate, then don't specify + * SubnetId + * in your launch template, or the node group + * deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            */ - remoteAccess?: RemoteAccessConfig; + subnets: string[] | undefined; /** - *

                                                            The scaling configuration details for the Auto Scaling group that is created for your - * node group.

                                                            + *

                                                            The unique name to give your node group.

                                                            */ - scalingConfig?: NodegroupScalingConfig; + nodegroupName: string | undefined; /** - *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                                                            + *

                                                            The AMI type for your node group. GPU instance types should use the + * AL2_x86_64_GPU AMI type. Non-GPU instances should use the + * AL2_x86_64 AMI type. Arm instances should use the + * AL2_ARM_64 AMI type. All types use the Amazon EKS-optimized Amazon Linux 2 AMI. + * If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify amiType, + * or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            */ - clientRequestToken?: string; + amiType?: AMITypes | string; /** *

                                                            The name of the cluster to create the node group in.

                                                            @@ -964,30 +1093,29 @@ export interface CreateNodegroupRequest { clusterName: string | undefined; /** - *

                                                            The root device disk size (in GiB) for your node group instances. The default disk - * size is 20 GiB.

                                                            + *

                                                            The Kubernetes labels to be applied to the nodes in the node group when they are + * created.

                                                            */ - diskSize?: number; + labels?: { [key: string]: string }; /** - *

                                                            The Kubernetes version to use for your managed nodes. By default, the Kubernetes - * version of the cluster is used, and this is the only accepted specified value.

                                                            + *

                                                            The root device disk size (in GiB) for your node group instances. The default disk + * size is 20 GiB. If you specify launchTemplate, then don't specify diskSize, + * or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            */ - version?: string; + diskSize?: number; /** - *

                                                            The metadata to apply to the node group to assist with categorization and - * organization. Each tag consists of a key and an optional value, both of which you - * define. Node group tags do not propagate to any other resources associated with the node - * group, such as the Amazon EC2 instances or subnets.

                                                            + *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                                                            */ - tags?: { [key: string]: string }; + clientRequestToken?: string; /** - *

                                                            The Kubernetes labels to be applied to the nodes in the node group when they are - * created.

                                                            + *

                                                            The scaling configuration details for the Auto Scaling group that is created for your + * node group.

                                                            */ - labels?: { [key: string]: string }; + scalingConfig?: NodegroupScalingConfig; } export namespace CreateNodegroupRequest { @@ -1001,6 +1129,7 @@ export enum NodegroupIssueCode { ASG_INSTANCE_LAUNCH_FAILURES = "AsgInstanceLaunchFailures", AUTO_SCALING_GROUP_INVALID_CONFIGURATION = "AutoScalingGroupInvalidConfiguration", AUTO_SCALING_GROUP_NOT_FOUND = "AutoScalingGroupNotFound", + CLUSTER_UNREACHABLE = "ClusterUnreachable", EC2_LAUNCH_TEMPLATE_NOT_FOUND = "Ec2LaunchTemplateNotFound", EC2_LAUNCH_TEMPLATE_VERSION_MISMATCH = "Ec2LaunchTemplateVersionMismatch", EC2_SECURITY_GROUP_DELETION_FAILURE = "Ec2SecurityGroupDeletionFailure", @@ -1020,6 +1149,16 @@ export enum NodegroupIssueCode { *

                                                            An object representing an issue with an Amazon EKS resource.

                                                            */ export interface Issue { + /** + *

                                                            The AWS resources that are afflicted by this issue.

                                                            + */ + resourceIds?: string[]; + + /** + *

                                                            The error message associated with the issue.

                                                            + */ + message?: string; + /** *

                                                            A brief description of the error.

                                                            *
                                                              @@ -1056,6 +1195,16 @@ export interface Issue { * *
                                                            • *

                                                              + * Ec2SubnetInvalidConfiguration: One or more + * Amazon EC2 subnets specified for a node group do not automatically assign public IP + * addresses to instances launched into it. If you want your instances to be + * assigned a public IP address, then you need to enable the auto-assign + * public IP address setting for the subnet. See Modifying + * the public IPv4 addressing attribute for your subnet in the Amazon + * VPC User Guide.

                                                              + *
                                                            • + *
                                                            • + *

                                                              * IamInstanceProfileNotFound: We couldn't find * the IAM instance profile for your managed node group. You may be able to * recreate an instance profile with the same settings to recover.

                                                              @@ -1104,16 +1253,6 @@ export interface Issue { *
                                                            */ code?: NodegroupIssueCode | string; - - /** - *

                                                            The error message associated with the issue.

                                                            - */ - message?: string; - - /** - *

                                                            The AWS resources that are afflicted by this issue.

                                                            - */ - resourceIds?: string[]; } export namespace Issue { @@ -1143,16 +1282,16 @@ export namespace NodegroupHealth { * Scaling groups and security groups for remote access.

                                                            */ export interface NodegroupResources { - /** - *

                                                            The Auto Scaling groups associated with the node group.

                                                            - */ - autoScalingGroups?: AutoScalingGroup[]; - /** *

                                                            The remote access security group associated with the node group. This security group * controls SSH access to the worker nodes.

                                                            */ remoteAccessSecurityGroup?: string; + + /** + *

                                                            The Auto Scaling groups associated with the node group.

                                                            + */ + autoScalingGroups?: AutoScalingGroup[]; } export namespace NodegroupResources { @@ -1175,26 +1314,16 @@ export type NodegroupStatus = */ export interface Nodegroup { /** - *

                                                            The resources associated with the node group, such as Auto Scaling groups and security - * groups for remote access.

                                                            - */ - resources?: NodegroupResources; - - /** - *

                                                            The AMI version of the managed node group. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide.

                                                            - */ - releaseVersion?: string; - - /** - *

                                                            The root device disk size (in GiB) for your node group instances. The default disk - * size is 20 GiB.

                                                            + *

                                                            The name associated with an Amazon EKS managed node group.

                                                            */ - diskSize?: number; + nodegroupName?: string; /** - *

                                                            The remote access (SSH) configuration that is associated with the node group.

                                                            + *

                                                            If the node group was deployed using a launch template with a custom AMI, then this is + * CUSTOM. For node groups that weren't deployed using a launch template, + * this is the AMI type that was specified in the node group configuration.

                                                            */ - remoteAccess?: RemoteAccessConfig; + amiType?: AMITypes | string; /** *

                                                            The Kubernetes labels applied to the nodes in the node group.

                                                            @@ -1205,11 +1334,41 @@ export interface Nodegroup { */ labels?: { [key: string]: string }; + /** + *

                                                            The subnets that were specified for the Auto Scaling group that is associated with + * your node group.

                                                            + */ + subnets?: string[]; + + /** + *

                                                            The health status of the node group. If there are issues with your node group's + * health, they are listed here.

                                                            + */ + health?: NodegroupHealth; + + /** + *

                                                            The current status of the managed node group.

                                                            + */ + status?: NodegroupStatus | string; + /** *

                                                            The name of the cluster that the managed node group resides in.

                                                            */ clusterName?: string; + /** + *

                                                            The Amazon Resource Name (ARN) associated with the managed node group.

                                                            + */ + nodegroupArn?: string; + + /** + *

                                                            If the node group wasn't deployed with a launch template, then this is the remote + * access configuration that is associated with the node group. If the node group was + * deployed with a launch template, then this is + * null.

                                                            + */ + remoteAccess?: RemoteAccessConfig; + /** *

                                                            The Unix epoch timestamp in seconds for when the managed node group was last * modified.

                                                            @@ -1223,28 +1382,23 @@ export interface Nodegroup { scalingConfig?: NodegroupScalingConfig; /** - *

                                                            The IAM role associated with your node group. The Amazon EKS worker node - * kubelet daemon makes calls to AWS APIs on your behalf. Worker nodes - * receive permissions for these API calls through an IAM instance profile and associated - * policies. Before you can launch worker nodes and register them into a cluster, you must - * create an IAM role for those worker nodes to use when they are launched. For more - * information, see Amazon EKS Worker Node IAM Role in the - * - * Amazon EKS User Guide - * .

                                                            + *

                                                            The resources associated with the node group, such as Auto Scaling groups and security + * groups for remote access.

                                                            */ - nodeRole?: string; + resources?: NodegroupResources; /** - *

                                                            The current status of the managed node group.

                                                            + *

                                                            If a launch template was used to create the node group, then this is the launch + * template that was used.

                                                            */ - status?: NodegroupStatus | string; + launchTemplate?: LaunchTemplateSpecification; /** - *

                                                            The health status of the node group. If there are issues with your node group's - * health, they are listed here.

                                                            + *

                                                            If the node group wasn't deployed with a launch template, then this is the instance + * type that is associated with the node group. If the node group was deployed with a + * launch template, then this is null.

                                                            */ - health?: NodegroupHealth; + instanceTypes?: string[]; /** *

                                                            The metadata applied to the node group to assist with categorization and organization. @@ -1260,41 +1414,33 @@ export interface Nodegroup { version?: string; /** - *

                                                            The Amazon Resource Name (ARN) associated with the managed node group.

                                                            - */ - nodegroupArn?: string; - - /** - *

                                                            The AMI type associated with your node group. GPU instance types should use the - * AL2_x86_64_GPU AMI type, which uses the Amazon EKS-optimized Linux AMI with - * GPU support. Non-GPU instances should use the AL2_x86_64 AMI type, which - * uses the Amazon EKS-optimized Linux AMI.

                                                            - */ - amiType?: AMITypes | string; - - /** - *

                                                            The subnets allowed for the Auto Scaling group that is associated with your node - * group. These subnets must have the following tag: - * kubernetes.io/cluster/CLUSTER_NAME, where CLUSTER_NAME is - * replaced with the name of your cluster.

                                                            + *

                                                            The Unix epoch timestamp in seconds for when the managed node group was + * created.

                                                            */ - subnets?: string[]; + createdAt?: Date; /** - *

                                                            The name associated with an Amazon EKS managed node group.

                                                            + *

                                                            The IAM role associated with your node group. The Amazon EKS worker node + * kubelet daemon makes calls to AWS APIs on your behalf. Worker nodes + * receive permissions for these API calls through an IAM instance profile and associated + * policies.

                                                            */ - nodegroupName?: string; + nodeRole?: string; /** - *

                                                            The Unix epoch timestamp in seconds for when the managed node group was - * created.

                                                            + *

                                                            If the node group wasn't deployed with a launch template, then this is the disk size + * in the node group configuration. If the node group was deployed with a launch template, + * then this is null.

                                                            */ - createdAt?: Date; + diskSize?: number; /** - *

                                                            The instance types associated with your node group.

                                                            + *

                                                            If the node group was deployed using a launch template with a custom AMI, then this is + * the AMI ID that was specified in the launch template. For node groups that weren't + * deployed using a launch template, this is the version of the Amazon EKS-optimized AMI that + * the node group was deployed with.

                                                            */ - instanceTypes?: string[]; + releaseVersion?: string; } export namespace Nodegroup { @@ -1351,21 +1497,21 @@ export namespace DeleteClusterResponse { export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; - message?: string; /** - *

                                                            The Fargate profile associated with the exception.

                                                            + *

                                                            The Amazon EKS cluster associated with the exception.

                                                            */ - fargateProfileName?: string; + clusterName?: string; /** *

                                                            The Amazon EKS managed node group associated with the exception.

                                                            */ nodegroupName?: string; + message?: string; /** - *

                                                            The Amazon EKS cluster associated with the exception.

                                                            + *

                                                            The Fargate profile associated with the exception.

                                                            */ - clusterName?: string; + fargateProfileName?: string; } export namespace ResourceNotFoundException { @@ -1376,14 +1522,14 @@ export namespace ResourceNotFoundException { export interface DeleteFargateProfileRequest { /** - *

                                                            The name of the Fargate profile to delete.

                                                            + *

                                                            The name of the Amazon EKS cluster associated with the Fargate profile to delete.

                                                            */ - fargateProfileName: string | undefined; + clusterName: string | undefined; /** - *

                                                            The name of the Amazon EKS cluster associated with the Fargate profile to delete.

                                                            + *

                                                            The name of the Fargate profile to delete.

                                                            */ - clusterName: string | undefined; + fargateProfileName: string | undefined; } export namespace DeleteFargateProfileRequest { @@ -1407,14 +1553,14 @@ export namespace DeleteFargateProfileResponse { export interface DeleteNodegroupRequest { /** - *

                                                            The name of the node group to delete.

                                                            + *

                                                            The name of the Amazon EKS cluster that is associated with your node group.

                                                            */ - nodegroupName: string | undefined; + clusterName: string | undefined; /** - *

                                                            The name of the Amazon EKS cluster that is associated with your node group.

                                                            + *

                                                            The name of the node group to delete.

                                                            */ - clusterName: string | undefined; + nodegroupName: string | undefined; } export namespace DeleteNodegroupRequest { @@ -1495,14 +1641,14 @@ export namespace DescribeFargateProfileResponse { export interface DescribeNodegroupRequest { /** - *

                                                            The name of the node group to describe.

                                                            + *

                                                            The name of the Amazon EKS cluster associated with the node group.

                                                            */ - nodegroupName: string | undefined; + clusterName: string | undefined; /** - *

                                                            The name of the Amazon EKS cluster associated with the node group.

                                                            + *

                                                            The name of the node group to describe.

                                                            */ - clusterName: string | undefined; + nodegroupName: string | undefined; } export namespace DescribeNodegroupRequest { @@ -1525,6 +1671,11 @@ export namespace DescribeNodegroupResponse { } export interface DescribeUpdateRequest { + /** + *

                                                            The name of the Amazon EKS cluster associated with the update.

                                                            + */ + name: string | undefined; + /** *

                                                            The ID of the update to describe.

                                                            */ @@ -1534,11 +1685,6 @@ export interface DescribeUpdateRequest { *

                                                            The name of the Amazon EKS node group associated with the update.

                                                            */ nodegroupName?: string; - - /** - *

                                                            The name of the Amazon EKS cluster associated with the update.

                                                            - */ - name: string | undefined; } export namespace DescribeUpdateRequest { @@ -1549,6 +1695,7 @@ export namespace DescribeUpdateRequest { export enum ErrorCode { ACCESS_DENIED = "AccessDenied", + CLUSTER_UNREACHABLE = "ClusterUnreachable", ENI_LIMIT_REACHED = "EniLimitReached", INSUFFICIENT_FREE_ADDRESSES = "InsufficientFreeAddresses", IP_NOT_AVAILABLE = "IpNotAvailable", @@ -1570,11 +1717,6 @@ export interface ErrorDetail { */ resourceIds?: string[]; - /** - *

                                                            A more complete description of the error.

                                                            - */ - errorMessage?: string; - /** *

                                                            A brief description of the error.

                                                            *
                                                              @@ -1617,6 +1759,11 @@ export interface ErrorDetail { *
                                                            */ errorCode?: ErrorCode | string; + + /** + *

                                                            A more complete description of the error.

                                                            + */ + errorMessage?: string; } export namespace ErrorDetail { @@ -1645,14 +1792,14 @@ export enum UpdateParamType { */ export interface UpdateParam { /** - *

                                                            The keys associated with an update request.

                                                            + *

                                                            The value of the keys submitted as part of an update request.

                                                            */ - type?: UpdateParamType | string; + value?: string; /** - *

                                                            The value of the keys submitted as part of an update request.

                                                            + *

                                                            The keys associated with an update request.

                                                            */ - value?: string; + type?: UpdateParamType | string; } export namespace UpdateParam { @@ -1680,19 +1827,19 @@ export enum UpdateType { */ export interface Update { /** - *

                                                            A key-value map that contains the parameters associated with the update.

                                                            + *

                                                            The current status of the update.

                                                            */ - params?: UpdateParam[]; + status?: UpdateStatus | string; /** - *

                                                            A UUID that is used to track the update.

                                                            + *

                                                            The Unix epoch timestamp in seconds for when the update was created.

                                                            */ - id?: string; + createdAt?: Date; /** - *

                                                            The current status of the update.

                                                            + *

                                                            Any errors associated with a Failed update.

                                                            */ - status?: UpdateStatus | string; + errors?: ErrorDetail[]; /** *

                                                            The type of the update.

                                                            @@ -1700,14 +1847,14 @@ export interface Update { type?: UpdateType | string; /** - *

                                                            Any errors associated with a Failed update.

                                                            + *

                                                            A key-value map that contains the parameters associated with the update.

                                                            */ - errors?: ErrorDetail[]; + params?: UpdateParam[]; /** - *

                                                            The Unix epoch timestamp in seconds for when the update was created.

                                                            + *

                                                            A UUID that is used to track the update.

                                                            */ - createdAt?: Date; + id?: string; } export namespace Update { @@ -1789,6 +1936,14 @@ export interface ListFargateProfilesRequest { */ clusterName: string | undefined; + /** + *

                                                            The nextToken value returned from a previous paginated + * ListFargateProfiles 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.

                                                            + */ + nextToken?: string; + /** *

                                                            The maximum number of Fargate profile results returned by * ListFargateProfiles in paginated output. When you use this parameter, @@ -1801,14 +1956,6 @@ export interface ListFargateProfilesRequest { * results and a nextToken value if applicable.

                                                            */ maxResults?: number; - - /** - *

                                                            The nextToken value returned from a previous paginated - * ListFargateProfiles 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.

                                                            - */ - nextToken?: string; } export namespace ListFargateProfilesRequest { @@ -1818,6 +1965,11 @@ export namespace ListFargateProfilesRequest { } export interface ListFargateProfilesResponse { + /** + *

                                                            A list of all of the Fargate profiles associated with the specified cluster.

                                                            + */ + fargateProfileNames?: string[]; + /** *

                                                            The nextToken value to include in a future * ListFargateProfiles request. When the results of a @@ -1826,11 +1978,6 @@ export interface ListFargateProfilesResponse { * there are no more results to return.

                                                            */ nextToken?: string; - - /** - *

                                                            A list of all of the Fargate profiles associated with the specified cluster.

                                                            - */ - fargateProfileNames?: string[]; } export namespace ListFargateProfilesResponse { @@ -1840,6 +1987,18 @@ export namespace ListFargateProfilesResponse { } export interface ListNodegroupsRequest { + /** + *

                                                            The maximum number of node group results returned by ListNodegroups in + * paginated output. When you use this parameter, ListNodegroups returns only + * maxResults results in a single page along with a nextToken + * response element. You can see the remaining results of the initial request by sending + * another ListNodegroups request with the returned nextToken + * value. This value can be between 1 and 100. If you don't + * use this parameter, ListNodegroups returns up to 100 + * results and a nextToken value if applicable.

                                                            + */ + maxResults?: number; + /** *

                                                            The nextToken value returned from a previous paginated * ListNodegroups request where maxResults was used and the @@ -1852,18 +2011,6 @@ export interface ListNodegroupsRequest { *

                                                            The name of the Amazon EKS cluster that you would like to list node groups in.

                                                            */ clusterName: string | undefined; - - /** - *

                                                            The maximum number of node group results returned by ListNodegroups in - * paginated output. When you use this parameter, ListNodegroups returns only - * maxResults results in a single page along with a nextToken - * response element. You can see the remaining results of the initial request by sending - * another ListNodegroups request with the returned nextToken - * value. This value can be between 1 and 100. If you don't - * use this parameter, ListNodegroups returns up to 100 - * results and a nextToken value if applicable.

                                                            - */ - maxResults?: number; } export namespace ListNodegroupsRequest { @@ -1873,11 +2020,6 @@ export namespace ListNodegroupsRequest { } export interface ListNodegroupsResponse { - /** - *

                                                            A list of all of the node groups associated with the specified cluster.

                                                            - */ - nodegroups?: string[]; - /** *

                                                            The nextToken value to include in a future ListNodegroups * request. When the results of a ListNodegroups request exceed @@ -1886,6 +2028,11 @@ export interface ListNodegroupsResponse { * return.

                                                            */ nextToken?: string; + + /** + *

                                                            A list of all of the node groups associated with the specified cluster.

                                                            + */ + nodegroups?: string[]; } export namespace ListNodegroupsResponse { @@ -1954,6 +2101,11 @@ export namespace NotFoundException { } export interface ListUpdatesRequest { + /** + *

                                                            The name of the Amazon EKS cluster to list updates for.

                                                            + */ + name: string | undefined; + /** *

                                                            The nextToken value returned from a previous paginated * ListUpdates request where maxResults was used and the @@ -1978,11 +2130,6 @@ export interface ListUpdatesRequest { *

                                                            The name of the Amazon EKS managed node group to list updates for.

                                                            */ nodegroupName?: string; - - /** - *

                                                            The name of the Amazon EKS cluster to list updates for.

                                                            - */ - name: string | undefined; } export namespace ListUpdatesRequest { @@ -1992,6 +2139,11 @@ export namespace ListUpdatesRequest { } export interface ListUpdatesResponse { + /** + *

                                                            A list of all the updates for the specified cluster and Region.

                                                            + */ + updateIds?: string[]; + /** *

                                                            The nextToken value to include in a future ListUpdates * request. When the results of a ListUpdates request exceed @@ -2000,11 +2152,6 @@ export interface ListUpdatesResponse { * return.

                                                            */ nextToken?: string; - - /** - *

                                                            A list of all the updates for the specified cluster and Region.

                                                            - */ - updateIds?: string[]; } export namespace ListUpdatesResponse { @@ -2042,15 +2189,15 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                            The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported - * resources are Amazon EKS clusters and managed node groups.

                                                            + *

                                                            The keys of the tags to be removed.

                                                            */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; /** - *

                                                            The keys of the tags to be removed.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported + * resources are Amazon EKS clusters and managed node groups.

                                                            */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -2068,17 +2215,6 @@ export namespace UntagResourceResponse { } export interface UpdateClusterConfigRequest { - /** - *

                                                            An object representing the VPC configuration to use for an Amazon EKS cluster.

                                                            - */ - resourcesVpcConfig?: VpcConfigRequest; - - /** - *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                                                            - */ - clientRequestToken?: string; - /** *

                                                            Enable or disable exporting the Kubernetes control plane logs for your cluster to * CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more @@ -2097,6 +2233,17 @@ export interface UpdateClusterConfigRequest { *

                                                            The name of the Amazon EKS cluster to update.

                                                            */ name: string | undefined; + + /** + *

                                                            An object representing the VPC configuration to use for an Amazon EKS cluster.

                                                            + */ + resourcesVpcConfig?: VpcConfigRequest; + + /** + *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                                                            + */ + clientRequestToken?: string; } export namespace UpdateClusterConfigRequest { @@ -2120,9 +2267,10 @@ export namespace UpdateClusterConfigResponse { export interface UpdateClusterVersionRequest { /** - *

                                                            The name of the Amazon EKS cluster to update.

                                                            + *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                                                            */ - name: string | undefined; + clientRequestToken?: string; /** *

                                                            The desired Kubernetes version following a successful update.

                                                            @@ -2130,10 +2278,9 @@ export interface UpdateClusterVersionRequest { version: string | undefined; /** - *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                                                            + *

                                                            The name of the Amazon EKS cluster to update.

                                                            */ - clientRequestToken?: string; + name: string | undefined; } export namespace UpdateClusterVersionRequest { @@ -2160,14 +2307,14 @@ export namespace UpdateClusterVersionResponse { */ export interface UpdateLabelsPayload { /** - *

                                                            Kubernetes labels to be removed.

                                                            + *

                                                            Kubernetes labels to be added or updated.

                                                            */ - removeLabels?: string[]; + addOrUpdateLabels?: { [key: string]: string }; /** - *

                                                            Kubernetes labels to be added or updated.

                                                            + *

                                                            Kubernetes labels to be removed.

                                                            */ - addOrUpdateLabels?: { [key: string]: string }; + removeLabels?: string[]; } export namespace UpdateLabelsPayload { @@ -2177,12 +2324,6 @@ export namespace UpdateLabelsPayload { } export interface UpdateNodegroupConfigRequest { - /** - *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                                                            - */ - clientRequestToken?: string; - /** *

                                                            The scaling configuration details for the Auto Scaling group after the update.

                                                            */ @@ -2194,15 +2335,21 @@ export interface UpdateNodegroupConfigRequest { nodegroupName: string | undefined; /** - *

                                                            The Kubernetes labels to be applied to the nodes in the node group after the - * update.

                                                            + *

                                                            The name of the Amazon EKS cluster that the managed node group resides in.

                                                            */ - labels?: UpdateLabelsPayload; + clusterName: string | undefined; /** - *

                                                            The name of the Amazon EKS cluster that the managed node group resides in.

                                                            + *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                                                            */ - clusterName: string | undefined; + clientRequestToken?: string; + + /** + *

                                                            The Kubernetes labels to be applied to the nodes in the node group after the + * update.

                                                            + */ + labels?: UpdateLabelsPayload; } export namespace UpdateNodegroupConfigRequest { @@ -2226,12 +2373,14 @@ export namespace UpdateNodegroupConfigResponse { export interface UpdateNodegroupVersionRequest { /** - *

                                                            The AMI version of the Amazon EKS-optimized AMI to use for the update. By default, the - * latest available AMI version for the node group's Kubernetes version is used. For more - * information, see Amazon EKS-Optimized Linux AMI Versions in the - * Amazon EKS User Guide.

                                                            + *

                                                            The Kubernetes version to update to. If no version is specified, then the Kubernetes + * version of the node group does not change. You can specify the Kubernetes version of the + * cluster to update the node group to the latest AMI version of the cluster's Kubernetes + * version. If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify + * version, or the node group update will fail. + * For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            */ - releaseVersion?: string; + version?: string; /** *

                                                            Force the update if the existing node group's pods are unable to be drained due to a @@ -2242,29 +2391,38 @@ export interface UpdateNodegroupVersionRequest { force?: boolean; /** - *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

                                                            + *

                                                            The AMI version of the Amazon EKS-optimized AMI to use for the update. By default, the + * latest available AMI version for the node group's Kubernetes version is used. For more + * information, see Amazon EKS-Optimized Linux AMI Versions in the + * Amazon EKS User Guide. If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify + * releaseVersion, or the node group update will fail. + * For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

                                                            */ - clientRequestToken?: string; + releaseVersion?: string; /** - *

                                                            The Kubernetes version to update to. If no version is specified, then the Kubernetes - * version of the node group does not change. You can specify the Kubernetes version of the - * cluster to update the node group to the latest AMI version of the cluster's Kubernetes - * version.

                                                            + *

                                                            An object representing a node group's launch template specification. You can only + * update a node group using a launch template if the node group was originally deployed + * with a launch template.

                                                            */ - version?: string; + launchTemplate?: LaunchTemplateSpecification; /** - *

                                                            The name of the Amazon EKS cluster that is associated with the managed node group to - * update.

                                                            + *

                                                            The name of the managed node group to update.

                                                            */ - clusterName: string | undefined; + nodegroupName: string | undefined; /** - *

                                                            The name of the managed node group to update.

                                                            + *

                                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

                                                            */ - nodegroupName: string | undefined; + clientRequestToken?: string; + + /** + *

                                                            The name of the Amazon EKS cluster that is associated with the managed node group to + * update.

                                                            + */ + clusterName: string | undefined; } export namespace UpdateNodegroupVersionRequest { diff --git a/clients/client-eks/protocols/Aws_restJson1.ts b/clients/client-eks/protocols/Aws_restJson1.ts index 79f65da0df94..13ddf7d28bb2 100644 --- a/clients/client-eks/protocols/Aws_restJson1.ts +++ b/clients/client-eks/protocols/Aws_restJson1.ts @@ -60,6 +60,9 @@ import { InvalidParameterException, InvalidRequestException, Issue, + KubernetesNetworkConfigRequest, + KubernetesNetworkConfigResponse, + LaunchTemplateSpecification, LogSetup, LogType, Logging, @@ -110,6 +113,12 @@ export const serializeAws_restJson1CreateClusterCommand = async ( ...(input.encryptionConfig !== undefined && { encryptionConfig: serializeAws_restJson1EncryptionConfigList(input.encryptionConfig, context), }), + ...(input.kubernetesNetworkConfig !== undefined && { + kubernetesNetworkConfig: serializeAws_restJson1KubernetesNetworkConfigRequest( + input.kubernetesNetworkConfig, + context + ), + }), ...(input.logging !== undefined && { logging: serializeAws_restJson1Logging(input.logging, context) }), ...(input.name !== undefined && { name: input.name }), ...(input.resourcesVpcConfig !== undefined && { @@ -197,6 +206,9 @@ export const serializeAws_restJson1CreateNodegroupCommand = async ( instanceTypes: serializeAws_restJson1StringList(input.instanceTypes, context), }), ...(input.labels !== undefined && { labels: serializeAws_restJson1labelsMap(input.labels, context) }), + ...(input.launchTemplate !== undefined && { + launchTemplate: serializeAws_restJson1LaunchTemplateSpecification(input.launchTemplate, context), + }), ...(input.nodeRole !== undefined && { nodeRole: input.nodeRole }), ...(input.nodegroupName !== undefined && { nodegroupName: input.nodegroupName }), ...(input.releaseVersion !== undefined && { releaseVersion: input.releaseVersion }), @@ -260,15 +272,6 @@ export const serializeAws_restJson1DeleteFargateProfileCommand = async ( "Content-Type": "", }; let resolvedPath = "/clusters/{clusterName}/fargate-profiles/{fargateProfileName}"; - if (input.fargateProfileName !== undefined) { - const labelValue: string = input.fargateProfileName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: fargateProfileName."); - } - resolvedPath = resolvedPath.replace("{fargateProfileName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: fargateProfileName."); - } if (input.clusterName !== undefined) { const labelValue: string = input.clusterName; if (labelValue.length <= 0) { @@ -278,6 +281,15 @@ export const serializeAws_restJson1DeleteFargateProfileCommand = async ( } else { throw new Error("No value provided for input HTTP label: clusterName."); } + if (input.fargateProfileName !== undefined) { + const labelValue: string = input.fargateProfileName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: fargateProfileName."); + } + resolvedPath = resolvedPath.replace("{fargateProfileName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: fargateProfileName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -299,15 +311,6 @@ export const serializeAws_restJson1DeleteNodegroupCommand = async ( "Content-Type": "", }; let resolvedPath = "/clusters/{clusterName}/node-groups/{nodegroupName}"; - if (input.nodegroupName !== undefined) { - const labelValue: string = input.nodegroupName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: nodegroupName."); - } - resolvedPath = resolvedPath.replace("{nodegroupName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: nodegroupName."); - } if (input.clusterName !== undefined) { const labelValue: string = input.clusterName; if (labelValue.length <= 0) { @@ -317,6 +320,15 @@ export const serializeAws_restJson1DeleteNodegroupCommand = async ( } else { throw new Error("No value provided for input HTTP label: clusterName."); } + if (input.nodegroupName !== undefined) { + const labelValue: string = input.nodegroupName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: nodegroupName."); + } + resolvedPath = resolvedPath.replace("{nodegroupName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: nodegroupName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -407,15 +419,6 @@ export const serializeAws_restJson1DescribeNodegroupCommand = async ( "Content-Type": "", }; let resolvedPath = "/clusters/{clusterName}/node-groups/{nodegroupName}"; - if (input.nodegroupName !== undefined) { - const labelValue: string = input.nodegroupName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: nodegroupName."); - } - resolvedPath = resolvedPath.replace("{nodegroupName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: nodegroupName."); - } if (input.clusterName !== undefined) { const labelValue: string = input.clusterName; if (labelValue.length <= 0) { @@ -425,6 +428,15 @@ export const serializeAws_restJson1DescribeNodegroupCommand = async ( } else { throw new Error("No value provided for input HTTP label: clusterName."); } + if (input.nodegroupName !== undefined) { + const labelValue: string = input.nodegroupName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: nodegroupName."); + } + resolvedPath = resolvedPath.replace("{nodegroupName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: nodegroupName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -446,15 +458,6 @@ export const serializeAws_restJson1DescribeUpdateCommand = async ( "Content-Type": "", }; let resolvedPath = "/clusters/{name}/updates/{updateId}"; - if (input.updateId !== undefined) { - const labelValue: string = input.updateId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: updateId."); - } - resolvedPath = resolvedPath.replace("{updateId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: updateId."); - } if (input.name !== undefined) { const labelValue: string = input.name; if (labelValue.length <= 0) { @@ -464,6 +467,15 @@ export const serializeAws_restJson1DescribeUpdateCommand = async ( } else { throw new Error("No value provided for input HTTP label: name."); } + if (input.updateId !== undefined) { + const labelValue: string = input.updateId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: updateId."); + } + resolvedPath = resolvedPath.replace("{updateId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: updateId."); + } const query: any = { ...(input.nodegroupName !== undefined && { nodegroupName: input.nodegroupName }), }; @@ -525,8 +537,8 @@ export const serializeAws_restJson1ListFargateProfilesCommand = async ( throw new Error("No value provided for input HTTP label: clusterName."); } 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(); @@ -560,8 +572,8 @@ export const serializeAws_restJson1ListNodegroupsCommand = async ( throw new Error("No value provided for input HTTP label: clusterName."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -835,15 +847,6 @@ export const serializeAws_restJson1UpdateNodegroupVersionCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/clusters/{clusterName}/node-groups/{nodegroupName}/update-version"; - if (input.clusterName !== undefined) { - const labelValue: string = input.clusterName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: clusterName."); - } - resolvedPath = resolvedPath.replace("{clusterName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: clusterName."); - } if (input.nodegroupName !== undefined) { const labelValue: string = input.nodegroupName; if (labelValue.length <= 0) { @@ -853,10 +856,22 @@ export const serializeAws_restJson1UpdateNodegroupVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: nodegroupName."); } + if (input.clusterName !== undefined) { + const labelValue: string = input.clusterName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: clusterName."); + } + resolvedPath = resolvedPath.replace("{clusterName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: clusterName."); + } let body: any; body = JSON.stringify({ clientRequestToken: input.clientRequestToken ?? generateIdempotencyToken(), ...(input.force !== undefined && { force: input.force }), + ...(input.launchTemplate !== undefined && { + launchTemplate: serializeAws_restJson1LaunchTemplateSpecification(input.launchTemplate, context), + }), ...(input.releaseVersion !== undefined && { releaseVersion: input.releaseVersion }), ...(input.version !== undefined && { version: input.version }), }); @@ -2957,6 +2972,15 @@ const serializeAws_restJson1FargateProfileSelectors = ( return input.map((entry) => serializeAws_restJson1FargateProfileSelector(entry, context)); }; +const serializeAws_restJson1KubernetesNetworkConfigRequest = ( + input: KubernetesNetworkConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.serviceIpv4Cidr !== undefined && { serviceIpv4Cidr: input.serviceIpv4Cidr }), + }; +}; + const serializeAws_restJson1labelsKeyList = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -2971,6 +2995,17 @@ const serializeAws_restJson1labelsMap = (input: { [key: string]: string }, conte ); }; +const serializeAws_restJson1LaunchTemplateSpecification = ( + input: LaunchTemplateSpecification, + context: __SerdeContext +): any => { + return { + ...(input.id !== undefined && { id: input.id }), + ...(input.name !== undefined && { name: input.name }), + ...(input.version !== undefined && { version: input.version }), + }; +}; + const serializeAws_restJson1Logging = (input: Logging, context: __SerdeContext): any => { return { ...(input.clusterLogging !== undefined && { @@ -3096,6 +3131,10 @@ const deserializeAws_restJson1Cluster = (output: any, context: __SerdeContext): output.identity !== undefined && output.identity !== null ? deserializeAws_restJson1Identity(output.identity, context) : undefined, + kubernetesNetworkConfig: + output.kubernetesNetworkConfig !== undefined && output.kubernetesNetworkConfig !== null + ? deserializeAws_restJson1KubernetesNetworkConfigResponse(output.kubernetesNetworkConfig, context) + : undefined, logging: output.logging !== undefined && output.logging !== null ? deserializeAws_restJson1Logging(output.logging, context) @@ -3241,6 +3280,16 @@ const deserializeAws_restJson1IssueList = (output: any, context: __SerdeContext) return (output || []).map((entry: any) => deserializeAws_restJson1Issue(entry, context)); }; +const deserializeAws_restJson1KubernetesNetworkConfigResponse = ( + output: any, + context: __SerdeContext +): KubernetesNetworkConfigResponse => { + return { + serviceIpv4Cidr: + output.serviceIpv4Cidr !== undefined && output.serviceIpv4Cidr !== null ? output.serviceIpv4Cidr : undefined, + } as any; +}; + const deserializeAws_restJson1labelsMap = (output: any, context: __SerdeContext): { [key: string]: string } => { return Object.entries(output).reduce( (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ @@ -3251,6 +3300,17 @@ const deserializeAws_restJson1labelsMap = (output: any, context: __SerdeContext) ); }; +const deserializeAws_restJson1LaunchTemplateSpecification = ( + output: any, + context: __SerdeContext +): LaunchTemplateSpecification => { + return { + id: output.id !== undefined && output.id !== null ? output.id : undefined, + name: output.name !== undefined && output.name !== null ? output.name : undefined, + version: output.version !== undefined && output.version !== null ? output.version : undefined, + } as any; +}; + const deserializeAws_restJson1Logging = (output: any, context: __SerdeContext): Logging => { return { clusterLogging: @@ -3299,6 +3359,10 @@ const deserializeAws_restJson1Nodegroup = (output: any, context: __SerdeContext) output.labels !== undefined && output.labels !== null ? deserializeAws_restJson1labelsMap(output.labels, context) : undefined, + launchTemplate: + output.launchTemplate !== undefined && output.launchTemplate !== null + ? deserializeAws_restJson1LaunchTemplateSpecification(output.launchTemplate, context) + : undefined, modifiedAt: output.modifiedAt !== undefined && output.modifiedAt !== null ? new Date(Math.round(output.modifiedAt * 1000)) diff --git a/clients/client-elastic-beanstalk/models/models_0.ts b/clients/client-elastic-beanstalk/models/models_0.ts index 1666f1fe3449..504a66757ee7 100644 --- a/clients/client-elastic-beanstalk/models/models_0.ts +++ b/clients/client-elastic-beanstalk/models/models_0.ts @@ -6,16 +6,16 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface AbortEnvironmentUpdateMessage { /** - *

                                                            This specifies the ID of the environment with the in-progress update that you want to + *

                                                            This specifies the name of the environment with the in-progress update that you want to * cancel.

                                                            */ - EnvironmentId?: string; + EnvironmentName?: string; /** - *

                                                            This specifies the name of the environment with the in-progress update that you want to + *

                                                            This specifies the ID of the environment with the in-progress update that you want to * cancel.

                                                            */ - EnvironmentName?: string; + EnvironmentId?: string; } export namespace AbortEnvironmentUpdateMessage { @@ -90,15 +90,15 @@ export interface MaxCountRule { DeleteSourceFromS3?: boolean; /** - *

                                                            Specify true to apply the rule, or false to disable - * it.

                                                            + *

                                                            Specify the maximum number of application versions to retain.

                                                            */ - Enabled: boolean | undefined; + MaxCount?: number; /** - *

                                                            Specify the maximum number of application versions to retain.

                                                            + *

                                                            Specify true to apply the rule, or false to disable + * it.

                                                            */ - MaxCount?: number; + Enabled: boolean | undefined; } export namespace MaxCountRule { @@ -172,24 +172,19 @@ export namespace ApplicationResourceLifecycleConfig { */ export interface ApplicationDescription { /** - *

                                                            The name of the application.

                                                            - */ - ApplicationName?: string; - - /** - *

                                                            The lifecycle settings for the application.

                                                            + *

                                                            The names of the versions for this application.

                                                            */ - ResourceLifecycleConfig?: ApplicationResourceLifecycleConfig; + Versions?: string[]; /** - *

                                                            The names of the versions for this application.

                                                            + *

                                                            The date when the application was last modified.

                                                            */ - Versions?: string[]; + DateUpdated?: Date; /** - *

                                                            The date when the application was created.

                                                            + *

                                                            The name of the application.

                                                            */ - DateCreated?: Date; + ApplicationName?: string; /** *

                                                            The Amazon Resource Name (ARN) of the application.

                                                            @@ -197,15 +192,20 @@ export interface ApplicationDescription { ApplicationArn?: string; /** - *

                                                            The date when the application was last modified.

                                                            + *

                                                            The lifecycle settings for the application.

                                                            */ - DateUpdated?: Date; + ResourceLifecycleConfig?: ApplicationResourceLifecycleConfig; /** *

                                                            User-defined description of the application.

                                                            */ Description?: string; + /** + *

                                                            The date when the application was created.

                                                            + */ + DateCreated?: Date; + /** *

                                                            The names of the configuration templates associated with this application.

                                                            */ @@ -256,52 +256,52 @@ export namespace ApplicationDescriptionsMessage { */ export interface Latency { /** - *

                                                            The average latency for the slowest 50 percent of requests over the last 10 + *

                                                            The average latency for the slowest 10 percent of requests over the last 10 * seconds.

                                                            */ - P50?: number; + P90?: number; /** - *

                                                            The average latency for the slowest 5 percent of requests over the last 10 + *

                                                            The average latency for the slowest 15 percent of requests over the last 10 * seconds.

                                                            */ - P95?: number; + P85?: number; /** - *

                                                            The average latency for the slowest 90 percent of requests over the last 10 + *

                                                            The average latency for the slowest 0.1 percent of requests over the last 10 * seconds.

                                                            */ - P10?: number; + P999?: number; /** - *

                                                            The average latency for the slowest 1 percent of requests over the last 10 + *

                                                            The average latency for the slowest 25 percent of requests over the last 10 * seconds.

                                                            */ - P99?: number; + P75?: number; /** - *

                                                            The average latency for the slowest 15 percent of requests over the last 10 + *

                                                            The average latency for the slowest 50 percent of requests over the last 10 * seconds.

                                                            */ - P85?: number; + P50?: number; /** - *

                                                            The average latency for the slowest 0.1 percent of requests over the last 10 + *

                                                            The average latency for the slowest 5 percent of requests over the last 10 * seconds.

                                                            */ - P999?: number; + P95?: number; /** - *

                                                            The average latency for the slowest 25 percent of requests over the last 10 + *

                                                            The average latency for the slowest 90 percent of requests over the last 10 * seconds.

                                                            */ - P75?: number; + P10?: number; /** - *

                                                            The average latency for the slowest 10 percent of requests over the last 10 + *

                                                            The average latency for the slowest 1 percent of requests over the last 10 * seconds.

                                                            */ - P90?: number; + P99?: number; } export namespace Latency { @@ -351,6 +351,13 @@ export namespace StatusCodes { *

                                                            Application request metrics for an AWS Elastic Beanstalk environment.

                                                            */ export interface ApplicationMetrics { + /** + *

                                                            The amount of time that the metrics cover (usually 10 seconds). For example, you might + * have 5 requests (request_count) within the most recent time slice of 10 seconds + * (duration).

                                                            + */ + Duration?: number; + /** *

                                                            Represents the average latency for the slowest X percent of requests over the last 10 * seconds. Latencies are in seconds with one millisecond resolution.

                                                            @@ -363,13 +370,6 @@ export interface ApplicationMetrics { */ StatusCodes?: StatusCodes; - /** - *

                                                            The amount of time that the metrics cover (usually 10 seconds). For example, you might - * have 5 requests (request_count) within the most recent time slice of 10 seconds - * (duration).

                                                            - */ - Duration?: number; - /** *

                                                            Average number of requests handled by the web server per second over the last 10 * seconds.

                                                            @@ -409,6 +409,23 @@ export type SourceType = "Git" | "Zip"; *

                                                            Location of the source code for an application version.

                                                            */ export interface SourceBuildInformation { + /** + *

                                                            Location where the repository is stored.

                                                            + *
                                                              + *
                                                            • + *

                                                              + * CodeCommit + *

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * S3 + *

                                                              + *
                                                            • + *
                                                            + */ + SourceRepository: SourceRepository | string | undefined; + /** *

                                                            The location of the source code, as a formatted string, depending on the value of SourceRepository *

                                                            @@ -445,23 +462,6 @@ export interface SourceBuildInformation { *
                                                          */ SourceType: SourceType | string | undefined; - - /** - *

                                                          Location where the repository is stored.

                                                          - *
                                                            - *
                                                          • - *

                                                            - * CodeCommit - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * S3 - *

                                                            - *
                                                          • - *
                                                          - */ - SourceRepository: SourceRepository | string | undefined; } export namespace SourceBuildInformation { @@ -498,45 +498,20 @@ export type ApplicationVersionStatus = "Building" | "Failed" | "Processed" | "Pr */ export interface ApplicationVersionDescription { /** - *

                                                          The storage location of the application version's source bundle in Amazon S3.

                                                          - */ - SourceBundle?: S3Location; - - /** - *

                                                          The name of the application to which the application version belongs.

                                                          + *

                                                          The last modified date of the application version.

                                                          */ - ApplicationName?: string; + DateUpdated?: Date; /** *

                                                          A unique identifier for the application version.

                                                          */ VersionLabel?: string; - /** - *

                                                          The creation date of the application version.

                                                          - */ - DateCreated?: Date; - /** *

                                                          The Amazon Resource Name (ARN) of the application version.

                                                          */ ApplicationVersionArn?: string; - /** - *

                                                          The last modified date of the application version.

                                                          - */ - DateUpdated?: Date; - - /** - *

                                                          The description of the application version.

                                                          - */ - Description?: string; - - /** - *

                                                          Reference to the artifact from the AWS CodeBuild build.

                                                          - */ - BuildArn?: string; - /** *

                                                          If the version's source code was retrieved from AWS CodeCommit, the location of the * source code for the application version.

                                                          @@ -576,6 +551,31 @@ export interface ApplicationVersionDescription { *
                                                        */ Status?: ApplicationVersionStatus | string; + + /** + *

                                                        The name of the application to which the application version belongs.

                                                        + */ + ApplicationName?: string; + + /** + *

                                                        The description of the application version.

                                                        + */ + Description?: string; + + /** + *

                                                        The storage location of the application version's source bundle in Amazon S3.

                                                        + */ + SourceBundle?: S3Location; + + /** + *

                                                        Reference to the artifact from the AWS CodeBuild build.

                                                        + */ + BuildArn?: string; + + /** + *

                                                        The creation date of the application version.

                                                        + */ + DateCreated?: Date; } export namespace ApplicationVersionDescription { @@ -629,14 +629,14 @@ export namespace ApplicationVersionDescriptionsMessage { */ export interface ApplyEnvironmentManagedActionRequest { /** - *

                                                        The environment ID of the target environment.

                                                        + *

                                                        The name of the target environment.

                                                        */ - EnvironmentId?: string; + EnvironmentName?: string; /** - *

                                                        The name of the target environment.

                                                        + *

                                                        The environment ID of the target environment.

                                                        */ - EnvironmentName?: string; + EnvironmentId?: string; /** *

                                                        The action ID of the scheduled managed action to execute.

                                                        @@ -659,11 +659,6 @@ export interface ApplyEnvironmentManagedActionResult { */ Status?: string; - /** - *

                                                        A description of the managed action.

                                                        - */ - ActionDescription?: string; - /** *

                                                        The type of managed action.

                                                        */ @@ -673,6 +668,11 @@ export interface ApplyEnvironmentManagedActionResult { *

                                                        The action ID of the managed action.

                                                        */ ActionId?: string; + + /** + *

                                                        A description of the managed action.

                                                        + */ + ActionDescription?: string; } export namespace ApplyEnvironmentManagedActionResult { @@ -796,6 +796,12 @@ export namespace CheckDNSAvailabilityMessage { *

                                                        Indicates if the specified CNAME is available.

                                                        */ export interface CheckDNSAvailabilityResultMessage { + /** + *

                                                        The fully qualified CNAME to reserve when CreateEnvironment is called + * with the provided prefix.

                                                        + */ + FullyQualifiedCNAME?: string; + /** *

                                                        Indicates if the specified CNAME is available:

                                                        *
                                                          @@ -810,12 +816,6 @@ export interface CheckDNSAvailabilityResultMessage { *
                                                        */ Available?: boolean; - - /** - *

                                                        The fully qualified CNAME to reserve when CreateEnvironment is called - * with the provided prefix.

                                                        - */ - FullyQualifiedCNAME?: string; } export namespace CheckDNSAvailabilityResultMessage { @@ -898,14 +898,14 @@ export type EnvironmentHealthStatus = */ export interface Listener { /** - *

                                                        The protocol that is used by the Listener.

                                                        + *

                                                        The port that is used by the Listener.

                                                        */ - Protocol?: string; + Port?: number; /** - *

                                                        The port that is used by the Listener.

                                                        + *

                                                        The protocol that is used by the Listener.

                                                        */ - Port?: number; + Protocol?: string; } export namespace Listener { @@ -979,16 +979,6 @@ export interface EnvironmentTier { */ Name?: string; - /** - *

                                                        The version of this environment tier. When you don't set a value to it, Elastic Beanstalk uses the - * latest compatible worker tier version.

                                                        - * - *

                                                        This member is deprecated. Any specific version that you set may become out of date. - * We recommend leaving it unspecified.

                                                        - *
                                                        - */ - Version?: string; - /** *

                                                        The type of this environment tier.

                                                        *

                                                        Valid values:

                                                        @@ -1004,6 +994,16 @@ export interface EnvironmentTier { *
                                                      */ Type?: string; + + /** + *

                                                      The version of this environment tier. When you don't set a value to it, Elastic Beanstalk uses the + * latest compatible worker tier version.

                                                      + * + *

                                                      This member is deprecated. Any specific version that you set may become out of date. + * We recommend leaving it unspecified.

                                                      + *
                                                      + */ + Version?: string; } export namespace EnvironmentTier { @@ -1017,9 +1017,15 @@ export namespace EnvironmentTier { */ export interface EnvironmentDescription { /** - *

                                                      A list of links to other environments in the same group.

                                                      + *

                                                      The name of the configuration template used to originally launch this + * environment.

                                                      */ - EnvironmentLinks?: EnvironmentLink[]; + TemplateName?: string; + + /** + *

                                                      The description of the AWS resources used by this environment.

                                                      + */ + Resources?: EnvironmentResourcesDescription; /** *

                                                      Returns the health status of the application running in your environment. For more @@ -1029,26 +1035,31 @@ export interface EnvironmentDescription { HealthStatus?: EnvironmentHealthStatus | string; /** - *

                                                      For load-balanced, autoscaling environments, the URL to the LoadBalancer. For - * single-instance environments, the IP address of the instance.

                                                      - */ - EndpointURL?: string; - - /** - *

                                                      The ARN of the platform version.

                                                      + *

                                                      A list of links to other environments in the same group.

                                                      */ - PlatformArn?: string; + EnvironmentLinks?: EnvironmentLink[]; /** *

                                                      The ID of this environment.

                                                      */ EnvironmentId?: string; + /** + *

                                                      The ARN of the platform version.

                                                      + */ + PlatformArn?: string; + /** *

                                                      The name of the application associated with this environment.

                                                      */ ApplicationName?: string; + /** + *

                                                      For load-balanced, autoscaling environments, the URL to the LoadBalancer. For + * single-instance environments, the IP address of the instance.

                                                      + */ + EndpointURL?: string; + /** *

                                                      Indicates if there is an in-progress environment configuration update or application * version deployment that you can cancel.

                                                      @@ -1065,15 +1076,15 @@ export interface EnvironmentDescription { DateCreated?: Date; /** - *

                                                      The Amazon Resource Name (ARN) of the environment's operations role. For more information, - * see Operations roles in the AWS Elastic Beanstalk Developer Guide.

                                                      + *

                                                      Describes the current tier of this environment.

                                                      */ - OperationsRole?: string; + Tier?: EnvironmentTier; /** - *

                                                      Describes the current tier of this environment.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the environment's operations role. For more information, + * see Operations roles in the AWS Elastic Beanstalk Developer Guide.

                                                      */ - Tier?: EnvironmentTier; + OperationsRole?: string; /** *

                                                      The URL to the CNAME for this environment.

                                                      @@ -1081,14 +1092,14 @@ export interface EnvironmentDescription { CNAME?: string; /** - *

                                                      Describes this environment.

                                                      + *

                                                      The name of the SolutionStack deployed with this environment.

                                                      */ - Description?: string; + SolutionStackName?: string; /** - *

                                                      The name of the SolutionStack deployed with this environment.

                                                      + *

                                                      The environment's Amazon Resource Name (ARN), which can be used in other API requests that require an ARN.

                                                      */ - SolutionStackName?: string; + EnvironmentArn?: string; /** *

                                                      The current operational status of the environment:

                                                      @@ -1120,16 +1131,6 @@ export interface EnvironmentDescription { */ Status?: EnvironmentStatus | string; - /** - *

                                                      The environment's Amazon Resource Name (ARN), which can be used in other API requests that require an ARN.

                                                      - */ - EnvironmentArn?: string; - - /** - *

                                                      The last modified date for this environment.

                                                      - */ - DateUpdated?: Date; - /** *

                                                      Describes the health status of the environment. AWS Elastic Beanstalk indicates the * failure levels for a running environment:

                                                      @@ -1171,15 +1172,14 @@ export interface EnvironmentDescription { EnvironmentName?: string; /** - *

                                                      The description of the AWS resources used by this environment.

                                                      + *

                                                      The last modified date for this environment.

                                                      */ - Resources?: EnvironmentResourcesDescription; + DateUpdated?: Date; /** - *

                                                      The name of the configuration template used to originally launch this - * environment.

                                                      + *

                                                      Describes this environment.

                                                      */ - TemplateName?: string; + Description?: string; } export namespace EnvironmentDescription { @@ -1233,14 +1233,14 @@ export namespace TooManyEnvironmentsException { */ export interface Tag { /** - *

                                                      The value of the tag.

                                                      + *

                                                      The key of the tag.

                                                      */ - Value?: string; + Key?: string; /** - *

                                                      The key of the tag.

                                                      + *

                                                      The value of the tag.

                                                      */ - Key?: string; + Value?: string; } export namespace Tag { @@ -1253,6 +1253,11 @@ export namespace Tag { *

                                                      Request to create an application.

                                                      */ export interface CreateApplicationMessage { + /** + *

                                                      The name of the application. Must be unique within your account.

                                                      + */ + ApplicationName: string | undefined; + /** *

                                                      Specifies an application resource lifecycle configuration to prevent your application * from accumulating too many versions.

                                                      @@ -1270,11 +1275,6 @@ export interface CreateApplicationMessage { * application don't inherit the tags.

                                                      */ Tags?: Tag[]; - - /** - *

                                                      The name of the application. Must be unique within your account.

                                                      - */ - ApplicationName: string | undefined; } export namespace CreateApplicationMessage { @@ -1330,9 +1330,14 @@ export enum ComputeType { */ export interface BuildConfiguration { /** - *

                                                      How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.

                                                      + *

                                                      The name of the artifact of the CodeBuild build. + * If provided, Elastic Beanstalk stores the build artifact in the S3 location + * S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. + * If not provided, Elastic Beanstalk stores the build artifact in the S3 location + * S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip. + *

                                                      */ - TimeoutInMinutes?: number; + ArtifactName?: string; /** *

                                                      Information about the compute resources the build project will use.

                                                      @@ -1356,6 +1361,11 @@ export interface BuildConfiguration { */ ComputeType?: ComputeType | string; + /** + *

                                                      How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.

                                                      + */ + TimeoutInMinutes?: number; + /** *

                                                      The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

                                                      */ @@ -1365,16 +1375,6 @@ export interface BuildConfiguration { *

                                                      The ID of the Docker image to use for this build project.

                                                      */ Image: string | undefined; - - /** - *

                                                      The name of the artifact of the CodeBuild build. - * If provided, Elastic Beanstalk stores the build artifact in the S3 location - * S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. - * If not provided, Elastic Beanstalk stores the build artifact in the S3 location - * S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip. - *

                                                      - */ - ArtifactName?: string; } export namespace BuildConfiguration { @@ -1387,11 +1387,6 @@ export namespace BuildConfiguration { *

                                                      */ export interface CreateApplicationVersionMessage { - /** - *

                                                      A description of this application version.

                                                      - */ - Description?: string; - /** *

                                                      Set to true to create an application with the specified name if it doesn't * already exist.

                                                      @@ -1399,9 +1394,9 @@ export interface CreateApplicationVersionMessage { AutoCreateApplication?: boolean; /** - *

                                                      Settings for an AWS CodeBuild build.

                                                      + *

                                                      A description of this application version.

                                                      */ - BuildConfiguration?: BuildConfiguration; + Description?: string; /** *

                                                      Pre-processes and validates the environment manifest (env.yaml) and @@ -1419,6 +1414,17 @@ export interface CreateApplicationVersionMessage { */ Process?: boolean; + /** + *

                                                      Specify a commit in an AWS CodeCommit Git repository to use as the source code for the + * application version.

                                                      + */ + SourceBuildInformation?: SourceBuildInformation; + + /** + *

                                                      Settings for an AWS CodeBuild build.

                                                      + */ + BuildConfiguration?: BuildConfiguration; + /** *

                                                      Specifies the tags applied to the application version.

                                                      *

                                                      Elastic Beanstalk applies these tags only to the application version. Environments that use the @@ -1433,12 +1439,6 @@ export interface CreateApplicationVersionMessage { */ ApplicationName: string | undefined; - /** - *

                                                      Specify a commit in an AWS CodeCommit Git repository to use as the source code for the - * application version.

                                                      - */ - SourceBuildInformation?: SourceBuildInformation; - /** *

                                                      The Amazon S3 bucket and key that identify the location of the source bundle for this * version.

                                                      @@ -1525,9 +1525,9 @@ export type ConfigurationDeploymentStatus = "deployed" | "failed" | "pending"; */ export interface ConfigurationOptionSetting { /** - *

                                                      The name of the configuration option.

                                                      + *

                                                      A unique resource name for the option setting. Use it for a time–based scaling configuration option.

                                                      */ - OptionName?: string; + ResourceName?: string; /** *

                                                      The current value for the configuration option.

                                                      @@ -1535,9 +1535,9 @@ export interface ConfigurationOptionSetting { Value?: string; /** - *

                                                      A unique resource name for the option setting. Use it for a time–based scaling configuration option.

                                                      + *

                                                      The name of the configuration option.

                                                      */ - ResourceName?: string; + OptionName?: string; /** *

                                                      A unique namespace that identifies the option's associated AWS resource.

                                                      @@ -1556,30 +1556,26 @@ export namespace ConfigurationOptionSetting { */ export interface ConfigurationSettingsDescription { /** - *

                                                      The name of the application associated with this configuration set.

                                                      - */ - ApplicationName?: string; - - /** - *

                                                      If not null, the name of the environment for this configuration set. - *

                                                      + *

                                                      The date (in UTC time) when this configuration set was last modified.

                                                      */ - EnvironmentName?: string; + DateUpdated?: Date; /** - *

                                                      The ARN of the platform version.

                                                      + *

                                                      Describes this configuration set.

                                                      */ - PlatformArn?: string; + Description?: string; /** - *

                                                      The date (in UTC time) when this configuration set was last modified.

                                                      + *

                                                      If not null, the name of the environment for this configuration set. + *

                                                      */ - DateUpdated?: Date; + EnvironmentName?: string; /** - *

                                                      The date (in UTC time) when this configuration set was created.

                                                      + *

                                                      If not null, the name of the configuration template for this + * configuration set.

                                                      */ - DateCreated?: Date; + TemplateName?: string; /** *

                                                      The name of the solution stack this configuration set uses.

                                                      @@ -1587,9 +1583,9 @@ export interface ConfigurationSettingsDescription { SolutionStackName?: string; /** - *

                                                      Describes this configuration set.

                                                      + *

                                                      The date (in UTC time) when this configuration set was created.

                                                      */ - Description?: string; + DateCreated?: Date; /** *

                                                      A list of the configuration options and their values in this configuration @@ -1627,10 +1623,14 @@ export interface ConfigurationSettingsDescription { DeploymentStatus?: ConfigurationDeploymentStatus | string; /** - *

                                                      If not null, the name of the configuration template for this - * configuration set.

                                                      + *

                                                      The name of the application associated with this configuration set.

                                                      */ - TemplateName?: string; + ApplicationName?: string; + + /** + *

                                                      The ARN of the platform version.

                                                      + */ + PlatformArn?: string; } export namespace ConfigurationSettingsDescription { @@ -1644,14 +1644,14 @@ export namespace ConfigurationSettingsDescription { */ export interface SourceConfiguration { /** - *

                                                      The name of the configuration template.

                                                      + *

                                                      The name of the application associated with the configuration.

                                                      */ - TemplateName?: string; + ApplicationName?: string; /** - *

                                                      The name of the application associated with the configuration.

                                                      + *

                                                      The name of the configuration template.

                                                      */ - ApplicationName?: string; + TemplateName?: string; } export namespace SourceConfiguration { @@ -1669,23 +1669,6 @@ export interface CreateConfigurationTemplateMessage { */ Tags?: Tag[]; - /** - *

                                                      The name of the Elastic Beanstalk application to associate with this configuration - * template.

                                                      - */ - ApplicationName: string | undefined; - - /** - *

                                                      The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom - * Platforms in the AWS Elastic Beanstalk Developer Guide.

                                                      - * - * - *

                                                      If you specify PlatformArn, then don't specify - * SolutionStackName.

                                                      - *
                                                      - */ - PlatformArn?: string; - /** *

                                                      The ID of an environment whose settings you want to use to create the configuration * template. You must specify EnvironmentId if you don't specify @@ -1694,6 +1677,23 @@ export interface CreateConfigurationTemplateMessage { */ EnvironmentId?: string; + /** + *

                                                      The name of an Elastic Beanstalk solution stack (platform version) that this configuration uses. For + * example, 64bit Amazon Linux 2013.09 running Tomcat 7 Java 7. A solution stack + * specifies the operating system, runtime, and application server for a configuration template. + * It also determines the set of configuration options as well as the possible and default + * values. For more information, see Supported Platforms in the + * AWS Elastic Beanstalk Developer Guide.

                                                      + *

                                                      You must specify SolutionStackName if you don't specify + * PlatformArn, EnvironmentId, or + * SourceConfiguration.

                                                      + *

                                                      Use the + * ListAvailableSolutionStacks + * API to obtain a list of available + * solution stacks.

                                                      + */ + SolutionStackName?: string; + /** *

                                                      An optional description for this configuration.

                                                      */ @@ -1713,29 +1713,18 @@ export interface CreateConfigurationTemplateMessage { */ SourceConfiguration?: SourceConfiguration; - /** - *

                                                      The name of an Elastic Beanstalk solution stack (platform version) that this configuration uses. For - * example, 64bit Amazon Linux 2013.09 running Tomcat 7 Java 7. A solution stack - * specifies the operating system, runtime, and application server for a configuration template. - * It also determines the set of configuration options as well as the possible and default - * values. For more information, see Supported Platforms in the - * AWS Elastic Beanstalk Developer Guide.

                                                      - *

                                                      You must specify SolutionStackName if you don't specify - * PlatformArn, EnvironmentId, or - * SourceConfiguration.

                                                      - *

                                                      Use the - * ListAvailableSolutionStacks - * API to obtain a list of available - * solution stacks.

                                                      - */ - SolutionStackName?: string; - /** *

                                                      The name of the configuration template.

                                                      *

                                                      Constraint: This name must be unique per application.

                                                      */ TemplateName: string | undefined; + /** + *

                                                      The name of the Elastic Beanstalk application to associate with this configuration + * template.

                                                      + */ + ApplicationName: string | undefined; + /** *

                                                      Option values for the Elastic Beanstalk configuration, such as the instance type. If specified, these * values override the values obtained from the solution stack or the source configuration @@ -1743,6 +1732,17 @@ export interface CreateConfigurationTemplateMessage { * AWS Elastic Beanstalk Developer Guide.

                                                      */ OptionSettings?: ConfigurationOptionSetting[]; + + /** + *

                                                      The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom + * Platforms in the AWS Elastic Beanstalk Developer Guide.

                                                      + * + * + *

                                                      If you specify PlatformArn, then don't specify + * SolutionStackName.

                                                      + *
                                                      + */ + PlatformArn?: string; } export namespace CreateConfigurationTemplateMessage { @@ -1791,6 +1791,11 @@ export namespace TooManyConfigurationTemplatesException { *

                                                      A specification identifying an individual configuration option.

                                                      */ export interface OptionSpecification { + /** + *

                                                      The name of the configuration option.

                                                      + */ + OptionName?: string; + /** *

                                                      A unique namespace identifying the option's associated AWS resource.

                                                      */ @@ -1800,11 +1805,6 @@ export interface OptionSpecification { *

                                                      A unique resource name for a time-based scaling configuration option.

                                                      */ ResourceName?: string; - - /** - *

                                                      The name of the configuration option.

                                                      - */ - OptionName?: string; } export namespace OptionSpecification { @@ -1817,13 +1817,6 @@ export namespace OptionSpecification { *

                                                      */ export interface CreateEnvironmentMessage { - /** - *

                                                      If specified, AWS Elastic Beanstalk sets the specified configuration options to the - * requested value in the configuration set for the new environment. These override the values - * obtained from the solution stack or the configuration template.

                                                      - */ - OptionSettings?: ConfigurationOptionSetting[]; - /** *

                                                      The name of the Elastic Beanstalk configuration template to use with the environment.

                                                      * @@ -1834,7 +1827,36 @@ export interface CreateEnvironmentMessage { TemplateName?: string; /** - *

                                                      The name of an Elastic Beanstalk solution stack (platform version) to use with the environment. If + *

                                                      Specifies the tags applied to resources in the environment.

                                                      + */ + Tags?: Tag[]; + + /** + *

                                                      If specified, AWS Elastic Beanstalk sets the specified configuration options to the + * requested value in the configuration set for the new environment. These override the values + * obtained from the solution stack or the configuration template.

                                                      + */ + OptionSettings?: ConfigurationOptionSetting[]; + + /** + *

                                                      A list of custom user-defined configuration options to remove from the configuration + * set for this new environment.

                                                      + */ + OptionsToRemove?: OptionSpecification[]; + + /** + *

                                                      A unique name for the environment.

                                                      + *

                                                      Constraint: Must be from 4 to 40 characters in length. The name can contain only + * letters, numbers, and hyphens. It can't start or end with a hyphen. This name must be unique + * within a region in your account. If the specified name already exists in the region, Elastic Beanstalk returns an + * InvalidParameterValue error.

                                                      + *

                                                      If you don't specify the CNAMEPrefix parameter, the environment name becomes part of + * the CNAME, and therefore part of the visible URL for your application.

                                                      + */ + EnvironmentName?: string; + + /** + *

                                                      The name of an Elastic Beanstalk solution stack (platform version) to use with the environment. If * specified, Elastic Beanstalk sets the configuration values to the default values associated with the * specified solution stack. For a list of current solution stacks, see Elastic Beanstalk Supported Platforms in the AWS Elastic Beanstalk * Platforms guide.

                                                      @@ -1853,22 +1875,15 @@ export interface CreateEnvironmentMessage { CNAMEPrefix?: string; /** - *

                                                      Specifies the tags applied to resources in the environment.

                                                      - */ - Tags?: Tag[]; - - /** - *

                                                      The name of the group to which the target environment belongs. Specify a group name - * only if the environment's name is specified in an environment manifest and not with the - * environment name parameter. See Environment Manifest - * (env.yaml) for details.

                                                      + *

                                                      Your description for this environment.

                                                      */ - GroupName?: string; + Description?: string; /** - *

                                                      Your description for this environment.

                                                      + *

                                                      The name of the application version to deploy.

                                                      + *

                                                      Default: If not specified, Elastic Beanstalk attempts to deploy the sample application.

                                                      */ - Description?: string; + VersionLabel?: string; /** *

                                                      The Amazon Resource Name (ARN) of the custom platform to use with the environment. For @@ -1883,15 +1898,12 @@ export interface CreateEnvironmentMessage { PlatformArn?: string; /** - *

                                                      A unique name for the environment.

                                                      - *

                                                      Constraint: Must be from 4 to 40 characters in length. The name can contain only - * letters, numbers, and hyphens. It can't start or end with a hyphen. This name must be unique - * within a region in your account. If the specified name already exists in the region, Elastic Beanstalk returns an - * InvalidParameterValue error.

                                                      - *

                                                      If you don't specify the CNAMEPrefix parameter, the environment name becomes part of - * the CNAME, and therefore part of the visible URL for your application.

                                                      + *

                                                      The name of the group to which the target environment belongs. Specify a group name + * only if the environment's name is specified in an environment manifest and not with the + * environment name parameter. See Environment Manifest + * (env.yaml) for details.

                                                      */ - EnvironmentName?: string; + GroupName?: string; /** *

                                                      The name of the application that is associated with this environment.

                                                      @@ -1899,16 +1911,11 @@ export interface CreateEnvironmentMessage { ApplicationName: string | undefined; /** - *

                                                      The name of the application version to deploy.

                                                      - *

                                                      Default: If not specified, Elastic Beanstalk attempts to deploy the sample application.

                                                      - */ - VersionLabel?: string; - - /** - *

                                                      A list of custom user-defined configuration options to remove from the configuration - * set for this new environment.

                                                      + *

                                                      Specifies the tier to use in creating this environment. The environment tier that you + * choose determines whether Elastic Beanstalk provisions resources to support a web application that handles + * HTTP(S) requests or a web application that handles background-processing tasks.

                                                      */ - OptionsToRemove?: OptionSpecification[]; + Tier?: EnvironmentTier; /** *

                                                      The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's @@ -1919,13 +1926,6 @@ export interface CreateEnvironmentMessage { * AWS Elastic Beanstalk Developer Guide.

                                                      */ OperationsRole?: string; - - /** - *

                                                      Specifies the tier to use in creating this environment. The environment tier that you - * choose determines whether Elastic Beanstalk provisions resources to support a web application that handles - * HTTP(S) requests or a web application that handles background-processing tasks.

                                                      - */ - Tier?: EnvironmentTier; } export namespace CreateEnvironmentMessage { @@ -1939,19 +1939,19 @@ export namespace CreateEnvironmentMessage { */ export interface CreatePlatformVersionRequest { /** - *

                                                      The number, such as 1.0.2, for the new platform version.

                                                      + *

                                                      The name of your custom platform.

                                                      */ - PlatformVersion: string | undefined; + PlatformName: string | undefined; /** - *

                                                      The location of the platform definition archive in Amazon S3.

                                                      + *

                                                      The number, such as 1.0.2, for the new platform version.

                                                      */ - PlatformDefinitionBundle: S3Location | undefined; + PlatformVersion: string | undefined; /** - *

                                                      The name of your custom platform.

                                                      + *

                                                      The configuration option settings to apply to the builder environment.

                                                      */ - PlatformName: string | undefined; + OptionSettings?: ConfigurationOptionSetting[]; /** *

                                                      The name of the builder environment.

                                                      @@ -1959,9 +1959,9 @@ export interface CreatePlatformVersionRequest { EnvironmentName?: string; /** - *

                                                      The configuration option settings to apply to the builder environment.

                                                      + *

                                                      The location of the platform definition archive in Amazon S3.

                                                      */ - OptionSettings?: ConfigurationOptionSetting[]; + PlatformDefinitionBundle: S3Location | undefined; /** *

                                                      Specifies the tags applied to the new platform version.

                                                      @@ -1999,6 +1999,21 @@ export type PlatformStatus = "Creating" | "Deleted" | "Deleting" | "Failed" | "R *

                                                      Summary information about a platform version.

                                                      */ export interface PlatformSummary { + /** + *

                                                      The version of the operating system used by the platform version.

                                                      + */ + OperatingSystemVersion?: string; + + /** + *

                                                      The additions associated with the platform version.

                                                      + */ + SupportedAddonList?: string[]; + + /** + *

                                                      The tiers in which the platform version runs.

                                                      + */ + SupportedTierList?: string[]; + /** *

                                                      The state of the platform version's branch in its lifecycle.

                                                      *

                                                      Possible values: beta | supported | deprecated | @@ -2008,19 +2023,19 @@ export interface PlatformSummary { PlatformBranchLifecycleState?: string; /** - *

                                                      The version of the operating system used by the platform version.

                                                      + *

                                                      The ARN of the platform version.

                                                      */ - OperatingSystemVersion?: string; + PlatformArn?: string; /** - *

                                                      The additions associated with the platform version.

                                                      + *

                                                      The operating system used by the platform version.

                                                      */ - SupportedAddonList?: string[]; + OperatingSystemName?: string; /** - *

                                                      The tiers in which the platform version runs.

                                                      + *

                                                      The category of platform version.

                                                      */ - SupportedTierList?: string[]; + PlatformCategory?: string; /** *

                                                      The state of the platform version in its lifecycle.

                                                      @@ -2050,21 +2065,6 @@ export interface PlatformSummary { *

                                                      The version string of the platform version.

                                                      */ PlatformVersion?: string; - - /** - *

                                                      The operating system used by the platform version.

                                                      - */ - OperatingSystemName?: string; - - /** - *

                                                      The category of platform version.

                                                      - */ - PlatformCategory?: string; - - /** - *

                                                      The ARN of the platform version.

                                                      - */ - PlatformArn?: string; } export namespace PlatformSummary { @@ -2188,6 +2188,11 @@ export namespace OperationInProgressException { *

                                                      Request to delete an application version.

                                                      */ export interface DeleteApplicationVersionMessage { + /** + *

                                                      The name of the application to which the version belongs.

                                                      + */ + ApplicationName: string | undefined; + /** *

                                                      Set to true to delete the source bundle from your storage bucket. * Otherwise, the application version is deleted only from Elastic Beanstalk and the source @@ -2195,11 +2200,6 @@ export interface DeleteApplicationVersionMessage { */ DeleteSourceBundle?: boolean; - /** - *

                                                      The name of the application to which the version belongs.

                                                      - */ - ApplicationName: string | undefined; - /** *

                                                      The label of the version to delete.

                                                      */ @@ -2236,14 +2236,14 @@ export namespace SourceBundleDeletionException { */ export interface DeleteConfigurationTemplateMessage { /** - *

                                                      The name of the application to delete the configuration template from.

                                                      + *

                                                      The name of the configuration template to delete.

                                                      */ - ApplicationName: string | undefined; + TemplateName: string | undefined; /** - *

                                                      The name of the configuration template to delete.

                                                      + *

                                                      The name of the application to delete the configuration template from.

                                                      */ - TemplateName: string | undefined; + ApplicationName: string | undefined; } export namespace DeleteConfigurationTemplateMessage { @@ -2341,9 +2341,14 @@ export namespace ResourceQuota { */ export interface ResourceQuotas { /** - *

                                                      The quota for environments in the AWS account.

                                                      + *

                                                      The quota for applications in the AWS account.

                                                      */ - EnvironmentQuota?: ResourceQuota; + ApplicationQuota?: ResourceQuota; + + /** + *

                                                      The quota for configuration templates in the AWS account.

                                                      + */ + ConfigurationTemplateQuota?: ResourceQuota; /** *

                                                      The quota for custom platforms in the AWS account.

                                                      @@ -2356,14 +2361,9 @@ export interface ResourceQuotas { ApplicationVersionQuota?: ResourceQuota; /** - *

                                                      The quota for configuration templates in the AWS account.

                                                      - */ - ConfigurationTemplateQuota?: ResourceQuota; - - /** - *

                                                      The quota for applications in the AWS account.

                                                      + *

                                                      The quota for environments in the AWS account.

                                                      */ - ApplicationQuota?: ResourceQuota; + EnvironmentQuota?: ResourceQuota; } export namespace ResourceQuotas { @@ -2407,17 +2407,9 @@ export namespace DescribeApplicationsMessage { */ export interface DescribeApplicationVersionsMessage { /** - *

                                                      Specify an application name to show only application versions for that - * application.

                                                      - */ - ApplicationName?: string; - - /** - *

                                                      For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other - * parameter values must be identical to the ones specified in the initial request.

                                                      - *

                                                      If no NextToken is specified, the first page is retrieved.

                                                      + *

                                                      Specify a version label to show a specific application version.

                                                      */ - NextToken?: string; + VersionLabels?: string[]; /** *

                                                      For a paginated request. Specify a maximum number of application versions to include in @@ -2428,9 +2420,17 @@ export interface DescribeApplicationVersionsMessage { MaxRecords?: number; /** - *

                                                      Specify a version label to show a specific application version.

                                                      + *

                                                      Specify an application name to show only application versions for that + * application.

                                                      */ - VersionLabels?: string[]; + ApplicationName?: string; + + /** + *

                                                      For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other + * parameter values must be identical to the ones specified in the initial request.

                                                      + *

                                                      If no NextToken is specified, the first page is retrieved.

                                                      + */ + NextToken?: string; } export namespace DescribeApplicationVersionsMessage { @@ -2468,37 +2468,6 @@ export type ConfigurationOptionValueType = "List" | "Scalar"; *

                                                      Describes the possible values for a configuration option.

                                                      */ export interface ConfigurationOptionDescription { - /** - *

                                                      An indication of which action is required if the value for this configuration option - * changes:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * NoInterruption : There is no interruption to the environment or application - * availability.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * RestartEnvironment : The environment is entirely restarted, all AWS resources - * are deleted and recreated, and the environment is unavailable during the - * process.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * RestartApplicationServer : The environment is available the entire time. - * However, a short application outage occurs when the application servers on the running - * Amazon EC2 instances are restarted.

                                                        - *
                                                      • - *
                                                      - */ - ChangeSeverity?: string; - - /** - *

                                                      If specified, values for the configuration option are selected from this - * list.

                                                      - */ - ValueOptions?: string[]; - /** *

                                                      An indication of whether the user defined this configuration option:

                                                      * */ OnUnauthenticatedRequest?: AuthenticateCognitoActionConditionalBehaviorEnum | string; + + /** + *

                                                      The ID of the Amazon Cognito user pool client.

                                                      + */ + UserPoolClientId: string | undefined; } export namespace AuthenticateCognitoActionConfig { @@ -81,12 +81,33 @@ export enum AuthenticateOidcActionConditionalBehaviorEnum { *

                                                      Request parameters when using an identity provider (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.

                                                      */ export interface AuthenticateOidcActionConfig { + /** + *

                                                      The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

                                                      + */ + AuthorizationEndpoint: string | undefined; + + /** + *

                                                      The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

                                                      + */ + UserInfoEndpoint: string | undefined; + + /** + *

                                                      The OAuth 2.0 client identifier.

                                                      + */ + ClientId: string | undefined; + /** *

                                                      The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you are modifying a rule, * you can omit this parameter if you set UseExistingClientSecret to true.

                                                      */ ClientSecret?: string; + /** + *

                                                      Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, + * you can omit this parameter or set it to false.

                                                      + */ + UseExistingClientSecret?: boolean; + /** *

                                                      The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

                                                      */ @@ -98,20 +119,17 @@ export interface AuthenticateOidcActionConfig { Issuer: string | undefined; /** - *

                                                      The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

                                                      + *

                                                      The set of user claims to be requested from the IdP. The default is openid.

                                                      + *

                                                      To verify which scope values your IdP supports and how to separate multiple values, + * see the documentation for your IdP.

                                                      */ - AuthorizationEndpoint: string | undefined; + Scope?: string; /** *

                                                      The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).

                                                      */ SessionTimeout?: number; - /** - *

                                                      The query parameters (up to 10) to include in the redirect request to the authorization endpoint.

                                                      - */ - AuthenticationRequestExtraParams?: { [key: string]: string }; - /** *

                                                      The behavior if the user is not authenticated. The following are possible values:

                                                      *
                                                        @@ -129,32 +147,14 @@ export interface AuthenticateOidcActionConfig { OnUnauthenticatedRequest?: AuthenticateOidcActionConditionalBehaviorEnum | string; /** - *

                                                        The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.

                                                        - */ - SessionCookieName?: string; - - /** - *

                                                        The set of user claims to be requested from the IdP. The default is openid.

                                                        - *

                                                        To verify which scope values your IdP supports and how to separate multiple values, - * see the documentation for your IdP.

                                                        - */ - Scope?: string; - - /** - *

                                                        The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

                                                        - */ - UserInfoEndpoint: string | undefined; - - /** - *

                                                        The OAuth 2.0 client identifier.

                                                        + *

                                                        The query parameters (up to 10) to include in the redirect request to the authorization endpoint.

                                                        */ - ClientId: string | undefined; + AuthenticationRequestExtraParams?: { [key: string]: string }; /** - *

                                                        Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, - * you can omit this parameter or set it to false.

                                                        + *

                                                        The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.

                                                        */ - UseExistingClientSecret?: boolean; + SessionCookieName?: string; } export namespace AuthenticateOidcActionConfig { @@ -168,9 +168,10 @@ export namespace AuthenticateOidcActionConfig { */ export interface FixedResponseActionConfig { /** - *

                                                        The HTTP response code (2XX, 4XX, or 5XX).

                                                        + *

                                                        The content type.

                                                        + *

                                                        Valid Values: text/plain | text/css | text/html | application/javascript | application/json

                                                        */ - StatusCode: string | undefined; + ContentType?: string; /** *

                                                        The message.

                                                        @@ -178,10 +179,9 @@ export interface FixedResponseActionConfig { MessageBody?: string; /** - *

                                                        The content type.

                                                        - *

                                                        Valid Values: text/plain | text/css | text/html | application/javascript | application/json

                                                        + *

                                                        The HTTP response code (2XX, 4XX, or 5XX).

                                                        */ - ContentType?: string; + StatusCode: string | undefined; } export namespace FixedResponseActionConfig { @@ -238,14 +238,14 @@ export namespace TargetGroupStickinessConfig { */ export interface ForwardActionConfig { /** - *

                                                        The target group stickiness for the rule.

                                                        + *

                                                        One or more target groups. For Network Load Balancers, you can specify a single target group.

                                                        */ - TargetGroupStickinessConfig?: TargetGroupStickinessConfig; + TargetGroups?: TargetGroupTuple[]; /** - *

                                                        One or more target groups. For Network Load Balancers, you can specify a single target group.

                                                        + *

                                                        The target group stickiness for the rule.

                                                        */ - TargetGroups?: TargetGroupTuple[]; + TargetGroupStickinessConfig?: TargetGroupStickinessConfig; } export namespace ForwardActionConfig { @@ -286,12 +286,6 @@ export enum RedirectActionStatusCodeEnum { * or the query to "#{query}&value=xyz".

                                                        */ export interface RedirectActionConfig { - /** - *

                                                        The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, - * HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.

                                                        - */ - Protocol?: string; - /** *

                                                        The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302).

                                                        */ @@ -309,16 +303,22 @@ export interface RedirectActionConfig { */ Port?: string; + /** + *

                                                        The absolute path, starting with the leading "/". This component is not percent-encoded. + * The path can contain #{host}, #{path}, and #{port}.

                                                        + */ + Path?: string; + /** *

                                                        The hostname. This component is not percent-encoded. The hostname can contain #{host}.

                                                        */ Host?: string; /** - *

                                                        The absolute path, starting with the leading "/". This component is not percent-encoded. - * The path can contain #{host}, #{path}, and #{port}.

                                                        + *

                                                        The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, + * HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.

                                                        */ - Path?: string; + Protocol?: string; } export namespace RedirectActionConfig { @@ -337,28 +337,27 @@ export enum ActionTypeEnum { /** *

                                                        Information about an action.

                                                        + *

                                                        Each rule must include exactly one of the following types of actions: forward, + * fixed-response, or redirect, and it must be the last action to be + * performed.

                                                        */ export interface Action { /** - *

                                                        Information for creating an action that distributes requests among one or more target groups. - * For Network Load Balancers, you can specify a single target group. - * Specify only when Type is forward. - * If you specify both ForwardConfig and TargetGroupArn, you can specify only one target group - * using ForwardConfig and it must be the same target group specified in TargetGroupArn.

                                                        + *

                                                        The type of action.

                                                        */ - ForwardConfig?: ForwardActionConfig; + Type: ActionTypeEnum | string | undefined; /** - *

                                                        [Application Load Balancer] Information for creating a redirect action. - * Specify only when Type is redirect.

                                                        + *

                                                        [HTTPS listeners] Information for using Amazon Cognito to authenticate users. + * Specify only when Type is authenticate-cognito.

                                                        */ - RedirectConfig?: RedirectActionConfig; + AuthenticateCognitoConfig?: AuthenticateCognitoActionConfig; /** - *

                                                        [Application Load Balancer] Information for creating an action that returns a custom HTTP response. - * Specify only when Type is fixed-response.

                                                        + *

                                                        [Application Load Balancer] Information for creating a redirect action. + * Specify only when Type is redirect.

                                                        */ - FixedResponseConfig?: FixedResponseActionConfig; + RedirectConfig?: RedirectActionConfig; /** *

                                                        The Amazon Resource Name (ARN) of the target group. @@ -369,28 +368,30 @@ export interface Action { /** *

                                                        The order for the action. This value is required for rules with multiple actions. - * The action with the lowest value for order is performed first. The last action to be - * performed must be one of the following types of actions: a forward, - * fixed-response, or redirect.

                                                        + * The action with the lowest value for order is performed first.

                                                        */ Order?: number; /** - *

                                                        [HTTPS listeners] Information for using Amazon Cognito to authenticate users. - * Specify only when Type is authenticate-cognito.

                                                        - */ - AuthenticateCognitoConfig?: AuthenticateCognitoActionConfig; - - /** - *

                                                        The type of action.

                                                        + *

                                                        [Application Load Balancer] Information for creating an action that returns a custom HTTP response. + * Specify only when Type is fixed-response.

                                                        */ - Type: ActionTypeEnum | string | undefined; + FixedResponseConfig?: FixedResponseActionConfig; /** *

                                                        [HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC). * Specify only when Type is authenticate-oidc.

                                                        */ AuthenticateOidcConfig?: AuthenticateOidcActionConfig; + + /** + *

                                                        Information for creating an action that distributes requests among one or more target groups. + * For Network Load Balancers, you can specify a single target group. + * Specify only when Type is forward. + * If you specify both ForwardConfig and TargetGroupArn, you can specify only one target group + * using ForwardConfig and it must be the same target group specified in TargetGroupArn.

                                                        + */ + ForwardConfig?: ForwardActionConfig; } export namespace Action { @@ -403,17 +404,17 @@ export namespace Action { *

                                                        Information about an SSL server certificate.

                                                        */ export interface Certificate { + /** + *

                                                        The Amazon Resource Name (ARN) of the certificate.

                                                        + */ + CertificateArn?: string; + /** *

                                                        Indicates whether the certificate is the default certificate. Do not set this value * when specifying a certificate as an input. This value is not included in the output * when describing a listener, but is included when describing listener certificates.

                                                        */ IsDefault?: boolean; - - /** - *

                                                        The Amazon Resource Name (ARN) of the certificate.

                                                        - */ - CertificateArn?: string; } export namespace Certificate { @@ -423,16 +424,16 @@ export namespace Certificate { } export interface AddListenerCertificatesInput { - /** - *

                                                        The Amazon Resource Name (ARN) of the listener.

                                                        - */ - ListenerArn: string | undefined; - /** *

                                                        The certificate to add. You can specify one certificate per call. * Set CertificateArn to the certificate ARN but do not set IsDefault.

                                                        */ Certificates: Certificate[] | undefined; + + /** + *

                                                        The Amazon Resource Name (ARN) of the listener.

                                                        + */ + ListenerArn: string | undefined; } export namespace AddListenerCertificatesInput { @@ -504,14 +505,14 @@ export namespace TooManyCertificatesException { */ export interface Tag { /** - *

                                                        The value of the tag.

                                                        + *

                                                        The key of the tag.

                                                        */ - Value?: string; + Key: string | undefined; /** - *

                                                        The key of the tag.

                                                        + *

                                                        The value of the tag.

                                                        */ - Key: string | undefined; + Value?: string; } export namespace Tag { @@ -522,14 +523,14 @@ export namespace Tag { export interface AddTagsInput { /** - *

                                                        The tags.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the resource.

                                                        */ - Tags: Tag[] | undefined; + ResourceArns: string[] | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the resource.

                                                        + *

                                                        The tags.

                                                        */ - ResourceArns: string[] | undefined; + Tags: Tag[] | undefined; } export namespace AddTagsInput { @@ -640,6 +641,11 @@ export namespace ALPNPolicyNotSupportedException { *

                                                        Information about a static IP address for a load balancer.

                                                        */ export interface LoadBalancerAddress { + /** + *

                                                        [Network Load Balancers] The private IPv4 address for an internal load balancer.

                                                        + */ + PrivateIPv4Address?: string; + /** *

                                                        The static IP address.

                                                        */ @@ -649,11 +655,6 @@ export interface LoadBalancerAddress { *

                                                        [Network Load Balancers] The allocation ID of the Elastic IP address for an internal-facing load balancer.

                                                        */ AllocationId?: string; - - /** - *

                                                        [Network Load Balancers] The private IPv4 address for an internal load balancer.

                                                        - */ - PrivateIPv4Address?: string; } export namespace LoadBalancerAddress { @@ -666,6 +667,16 @@ export namespace LoadBalancerAddress { *

                                                        Information about an Availability Zone.

                                                        */ export interface AvailabilityZone { + /** + *

                                                        The ID of the subnet. You can specify one subnet per Availability Zone.

                                                        + */ + SubnetId?: string; + + /** + *

                                                        The name of the Availability Zone.

                                                        + */ + ZoneName?: string; + /** *

                                                        [Network Load Balancers] If you need static IP addresses for your load balancer, * you can specify one Elastic IP address per Availability Zone when you create an @@ -675,14 +686,9 @@ export interface AvailabilityZone { LoadBalancerAddresses?: LoadBalancerAddress[]; /** - *

                                                        The ID of the subnet. You can specify one subnet per Availability Zone.

                                                        - */ - SubnetId?: string; - - /** - *

                                                        The name of the Availability Zone.

                                                        + *

                                                        [Application Load Balancers on Outposts] The ID of the Outpost.

                                                        */ - ZoneName?: string; + OutpostId?: string; } export namespace AvailabilityZone { @@ -711,14 +717,14 @@ export namespace AvailabilityZoneNotSupportedException { */ export interface Cipher { /** - *

                                                        The name of the cipher.

                                                        + *

                                                        The priority of the cipher.

                                                        */ - Name?: string; + Priority?: number; /** - *

                                                        The priority of the cipher.

                                                        + *

                                                        The name of the cipher.

                                                        */ - Priority?: number; + Name?: string; } export namespace Cipher { @@ -730,70 +736,68 @@ export namespace Cipher { export type ProtocolEnum = "HTTP" | "HTTPS" | "TCP" | "TCP_UDP" | "TLS" | "UDP"; export interface CreateListenerInput { + /** + *

                                                        The port on which the load balancer is listening.

                                                        + */ + Port: number | undefined; + /** *

                                                        The Amazon Resource Name (ARN) of the load balancer.

                                                        */ LoadBalancerArn: string | undefined; /** - *

                                                        [HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are - * supported. The following are the possible values:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * ELBSecurityPolicy-2016-08 - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * ELBSecurityPolicy-TLS-1-0-2015-04 - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * ELBSecurityPolicy-TLS-1-1-2017-01 - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * ELBSecurityPolicy-TLS-1-2-2017-01 - *

                                                          - *
                                                        • + *

                                                          [HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. + * Set CertificateArn to the certificate ARN but do not set IsDefault.

                                                          + *

                                                          To create a certificate list for the listener, use AddListenerCertificates.

                                                          + */ + Certificates?: Certificate[]; + + /** + *

                                                          The tags to assign to the listener.

                                                          + */ + Tags?: Tag[]; + + /** + *

                                                          The protocol for connections from clients to the load balancer. For Application Load + * Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the + * supported protocols are TCP, TLS, UDP, and TCP_UDP.

                                                          + */ + Protocol: ProtocolEnum | string | undefined; + + /** + *

                                                          [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. + * You can specify one policy name. The following are the possible values:

                                                          + *
                                                            *
                                                          • *

                                                            - * ELBSecurityPolicy-TLS-1-2-Ext-2018-06 + * HTTP1Only *

                                                            *
                                                          • *
                                                          • *

                                                            - * ELBSecurityPolicy-FS-2018-06 + * HTTP2Only *

                                                            *
                                                          • *
                                                          • *

                                                            - * ELBSecurityPolicy-FS-1-1-2019-08 + * HTTP2Optional *

                                                            *
                                                          • *
                                                          • *

                                                            - * ELBSecurityPolicy-FS-1-2-2019-08 + * HTTP2Preferred *

                                                            *
                                                          • *
                                                          • *

                                                            - * ELBSecurityPolicy-FS-1-2-Res-2019-08 + * None *

                                                            *
                                                          • *
                                                          - *

                                                          For more information, see Security Policies in the Application Load Balancers Guide and - * Security Policies in the Network Load Balancers Guide.

                                                          - */ - SslPolicy?: string; - - /** - *

                                                          The port on which the load balancer is listening.

                                                          + *

                                                          For more information, see ALPN Policies in the Network Load Balancers Guide.

                                                          */ - Port: number | undefined; + AlpnPolicy?: string[]; /** *

                                                          The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.

                                                          @@ -812,52 +816,59 @@ export interface CreateListenerInput { DefaultActions: Action[] | undefined; /** - *

                                                          [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. - * You can specify one policy name. The following are the possible values:

                                                          + *

                                                          [HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are + * supported. The following are the possible values:

                                                          *
                                                            *
                                                          • *

                                                            - * HTTP1Only + * ELBSecurityPolicy-2016-08 *

                                                            *
                                                          • *
                                                          • *

                                                            - * HTTP2Only + * ELBSecurityPolicy-TLS-1-0-2015-04 *

                                                            *
                                                          • *
                                                          • *

                                                            - * HTTP2Optional + * ELBSecurityPolicy-TLS-1-1-2017-01 *

                                                            *
                                                          • *
                                                          • *

                                                            - * HTTP2Preferred + * ELBSecurityPolicy-TLS-1-2-2017-01 *

                                                            *
                                                          • *
                                                          • *

                                                            - * None + * ELBSecurityPolicy-TLS-1-2-Ext-2018-06 + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ELBSecurityPolicy-FS-2018-06 + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ELBSecurityPolicy-FS-1-1-2019-08 + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ELBSecurityPolicy-FS-1-2-2019-08 + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ELBSecurityPolicy-FS-1-2-Res-2019-08 *

                                                            *
                                                          • *
                                                          - *

                                                          For more information, see ALPN Policies in the Network Load Balancers Guide.

                                                          - */ - AlpnPolicy?: string[]; - - /** - *

                                                          The protocol for connections from clients to the load balancer. For Application Load - * Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the - * supported protocols are TCP, TLS, UDP, and TCP_UDP.

                                                          - */ - Protocol: ProtocolEnum | string | undefined; - - /** - *

                                                          [HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. - * Set CertificateArn to the certificate ARN but do not set IsDefault.

                                                          - *

                                                          To create a certificate list for the listener, use AddListenerCertificates.

                                                          + *

                                                          For more information, see Security Policies in the Application Load Balancers Guide and + * Security Policies in the Network Load Balancers Guide.

                                                          */ - Certificates?: Certificate[]; + SslPolicy?: string; } export namespace CreateListenerInput { @@ -871,14 +882,10 @@ export namespace CreateListenerInput { */ export interface Listener { /** - *

                                                          [HTTPS or TLS listener] The default certificate for the listener.

                                                          - */ - Certificates?: Certificate[]; - - /** - *

                                                          The port on which the load balancer is listening.

                                                          + *

                                                          [HTTPS or TLS listener] The security policy that defines which protocols and ciphers + * are supported.

                                                          */ - Port?: number; + SslPolicy?: string; /** *

                                                          The protocol for connections from clients to the load balancer.

                                                          @@ -886,20 +893,19 @@ export interface Listener { Protocol?: ProtocolEnum | string; /** - *

                                                          [HTTPS or TLS listener] The security policy that defines which protocols and ciphers - * are supported.

                                                          + *

                                                          The default actions for the listener.

                                                          */ - SslPolicy?: string; + DefaultActions?: Action[]; /** - *

                                                          The default actions for the listener.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the listener.

                                                          */ - DefaultActions?: Action[]; + ListenerArn?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the load balancer.

                                                          + *

                                                          [HTTPS or TLS listener] The default certificate for the listener.

                                                          */ - LoadBalancerArn?: string; + Certificates?: Certificate[]; /** *

                                                          [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.

                                                          @@ -907,9 +913,14 @@ export interface Listener { AlpnPolicy?: string[]; /** - *

                                                          The Amazon Resource Name (ARN) of the listener.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the load balancer.

                                                          */ - ListenerArn?: string; + LoadBalancerArn?: string; + + /** + *

                                                          The port on which the load balancer is listening.

                                                          + */ + Port?: number; } export namespace Listener { @@ -1128,6 +1139,11 @@ export enum LoadBalancerSchemeEnum { *

                                                          Information about a subnet mapping.

                                                          */ export interface SubnetMapping { + /** + *

                                                          [Network Load Balancers] The private IPv4 address for an internal load balancer.

                                                          + */ + PrivateIPv4Address?: string; + /** *

                                                          [Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.

                                                          */ @@ -1137,11 +1153,6 @@ export interface SubnetMapping { *

                                                          The ID of the subnet.

                                                          */ SubnetId?: string; - - /** - *

                                                          [Network Load Balancers] The private IPv4 address for an internal load balancer.

                                                          - */ - PrivateIPv4Address?: string; } export namespace SubnetMapping { @@ -1156,6 +1167,19 @@ export enum LoadBalancerTypeEnum { } export interface CreateLoadBalancerInput { + /** + *

                                                          The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of + * an Internet-facing load balancer is publicly resolvable to the public IP addresses of the + * nodes. Therefore, Internet-facing load balancers can route requests from clients over the + * internet.

                                                          + *

                                                          The nodes of an internal load balancer have only private IP addresses. The DNS name of + * an internal load balancer is publicly resolvable to the private IP addresses of the nodes. + * Therefore, internal load balancers can route requests only from clients with access to the VPC + * for the load balancer.

                                                          + *

                                                          The default is an Internet-facing load balancer.

                                                          + */ + Scheme?: LoadBalancerSchemeEnum | string; + /** *

                                                          [Application Load Balancers] The type of IP addresses used by the subnets for your load * balancer. The possible values are ipv4 (for IPv4 addresses) and @@ -1165,62 +1189,61 @@ export interface CreateLoadBalancerInput { IpAddressType?: IpAddressType | string; /** - *

                                                          One or more tags to assign to the load balancer.

                                                          + *

                                                          The tags to assign to the load balancer.

                                                          */ Tags?: Tag[]; /** - *

                                                          The type of load balancer. The default is application.

                                                          + *

                                                          [Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP + * pool).

                                                          */ - Type?: LoadBalancerTypeEnum | string; + CustomerOwnedIpv4Pool?: string; /** - *

                                                          [Application Load Balancers] The IDs of the security groups for the load balancer.

                                                          + *

                                                          The name of the load balancer.

                                                          + *

                                                          This name must be unique per region per account, can have a maximum of 32 characters, + * must contain only alphanumeric characters or hyphens, must not begin or end with a + * hyphen, and must not begin with "internal-".

                                                          */ - SecurityGroups?: string[]; + Name: string | undefined; /** - *

                                                          The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of - * an Internet-facing load balancer is publicly resolvable to the public IP addresses of the - * nodes. Therefore, Internet-facing load balancers can route requests from clients over the - * internet.

                                                          - *

                                                          The nodes of an internal load balancer have only private IP addresses. The DNS name of - * an internal load balancer is publicly resolvable to the private IP addresses of the nodes. - * Therefore, internal load balancers can route requests only from clients with access to the VPC - * for the load balancer.

                                                          - *

                                                          The default is an Internet-facing load balancer.

                                                          + *

                                                          The IDs of the public subnets. You can specify only one subnet per Availability Zone. + * You must specify either subnets or subnet mappings.

                                                          + *

                                                          [Application Load Balancers] You must specify subnets from at least two Availability + * Zones. You cannot specify Elastic IP addresses for your subnets.

                                                          + *

                                                          [Application Load Balancers on Outposts] You must specify one Outpost subnet.

                                                          + *

                                                          [Application Load Balancers on Local Zones] You can specify subnets from one or more Local + * Zones.

                                                          + *

                                                          [Network Load Balancers] You can specify subnets from one or more Availability Zones. + * You can specify one Elastic IP address per subnet if you need static IP addresses for + * your internet-facing load balancer. For internal load balancers, you can specify one + * private IP address per subnet from the IPv4 range of the subnet.

                                                          */ - Scheme?: LoadBalancerSchemeEnum | string; + SubnetMappings?: SubnetMapping[]; /** *

                                                          The IDs of the public subnets. You can specify only one subnet per Availability Zone. * You must specify either subnets or subnet mappings.

                                                          *

                                                          [Application Load Balancers] You must specify subnets from at least two Availability * Zones.

                                                          + *

                                                          [Application Load Balancers on Outposts] You must specify one Outpost subnet.

                                                          + *

                                                          [Application Load Balancers on Local Zones] You can specify subnets from one or more Local + * Zones.

                                                          *

                                                          [Network Load Balancers] You can specify subnets from one or more Availability * Zones.

                                                          */ Subnets?: string[]; /** - *

                                                          The IDs of the public subnets. You can specify only one subnet per Availability Zone. - * You must specify either subnets or subnet mappings.

                                                          - *

                                                          [Application Load Balancers] You must specify subnets from at least two Availability - * Zones. You cannot specify Elastic IP addresses for your subnets.

                                                          - *

                                                          [Network Load Balancers] You can specify subnets from one or more Availability Zones. - * You can specify one Elastic IP address per subnet if you need static IP addresses for - * your internet-facing load balancer. For internal load balancers, you can specify one - * private IP address per subnet from the IPv4 range of the subnet.

                                                          + *

                                                          The type of load balancer. The default is application.

                                                          */ - SubnetMappings?: SubnetMapping[]; + Type?: LoadBalancerTypeEnum | string; /** - *

                                                          The name of the load balancer.

                                                          - *

                                                          This name must be unique per region per account, can have a maximum of 32 characters, - * must contain only alphanumeric characters or hyphens, must not begin or end with a - * hyphen, and must not begin with "internal-".

                                                          + *

                                                          [Application Load Balancers] The IDs of the security groups for the load balancer.

                                                          */ - Name: string | undefined; + SecurityGroups?: string[]; } export namespace CreateLoadBalancerInput { @@ -1264,6 +1287,21 @@ export namespace LoadBalancerState { *

                                                          Information about a load balancer.

                                                          */ export interface LoadBalancer { + /** + *

                                                          The type of load balancer.

                                                          + */ + Type?: LoadBalancerTypeEnum | string; + + /** + *

                                                          The ID of the VPC for the load balancer.

                                                          + */ + VpcId?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the load balancer.

                                                          + */ + LoadBalancerArn?: string; + /** *

                                                          The state of the load balancer.

                                                          */ @@ -1280,9 +1318,24 @@ export interface LoadBalancer { LoadBalancerName?: string; /** - *

                                                          The public DNS name of the load balancer.

                                                          + *

                                                          [Application Load Balancers on Outposts] The ID of the customer-owned address pool.

                                                          */ - DNSName?: string; + CustomerOwnedIpv4Pool?: string; + + /** + *

                                                          The subnets for the load balancer.

                                                          + */ + AvailabilityZones?: AvailabilityZone[]; + + /** + *

                                                          The IDs of the security groups for the load balancer.

                                                          + */ + SecurityGroups?: string[]; + + /** + *

                                                          The date and time the load balancer was created.

                                                          + */ + CreatedTime?: Date; /** *

                                                          The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of @@ -1296,16 +1349,6 @@ export interface LoadBalancer { */ Scheme?: LoadBalancerSchemeEnum | string; - /** - *

                                                          The date and time the load balancer was created.

                                                          - */ - CreatedTime?: Date; - - /** - *

                                                          The IDs of the security groups for the load balancer.

                                                          - */ - SecurityGroups?: string[]; - /** *

                                                          The type of IP addresses used by the subnets for your load balancer. The possible * values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and @@ -1314,24 +1357,9 @@ export interface LoadBalancer { IpAddressType?: IpAddressType | string; /** - *

                                                          The Availability Zones for the load balancer.

                                                          + *

                                                          The public DNS name of the load balancer.

                                                          */ - AvailabilityZones?: AvailabilityZone[]; - - /** - *

                                                          The type of load balancer.

                                                          - */ - Type?: LoadBalancerTypeEnum | string; - - /** - *

                                                          The Amazon Resource Name (ARN) of the load balancer.

                                                          - */ - LoadBalancerArn?: string; - - /** - *

                                                          The ID of the VPC for the load balancer.

                                                          - */ - VpcId?: string; + DNSName?: string; } export namespace LoadBalancer { @@ -1575,14 +1603,14 @@ export namespace PathPatternConditionConfig { */ export interface QueryStringKeyValuePair { /** - *

                                                          The key. You can omit the key.

                                                          + *

                                                          The value.

                                                          */ - Key?: string; + Value?: string; /** - *

                                                          The value.

                                                          + *

                                                          The key. You can omit the key.

                                                          */ - Value?: string; + Key?: string; } export namespace QueryStringKeyValuePair { @@ -1642,64 +1670,66 @@ export namespace SourceIpConditionConfig { /** *

                                                          Information about a condition for a rule.

                                                          + *

                                                          Each rule can optionally include up to one of each of the following conditions: + * http-request-method, host-header, path-pattern, and source-ip. + * Each rule can also optionally include one or more of each of the following conditions: + * http-header and query-string.

                                                          */ export interface RuleCondition { /** - *

                                                          Information for an HTTP header condition. - * Specify only when Field is http-header.

                                                          + *

                                                          Information for a host header condition. + * Specify only when Field is host-header.

                                                          */ - HttpHeaderConfig?: HttpHeaderConditionConfig; + HostHeaderConfig?: HostHeaderConditionConfig; /** - *

                                                          Information for an HTTP method condition. - * Specify only when Field is http-request-method.

                                                          + *

                                                          Information for a path pattern condition. + * Specify only when Field is path-pattern.

                                                          */ - HttpRequestMethodConfig?: HttpRequestMethodConditionConfig; + PathPatternConfig?: PathPatternConditionConfig; /** - *

                                                          The condition value. You can use Values if the rule contains only - * host-header and path-pattern conditions. Otherwise, you - * can use HostHeaderConfig for host-header conditions and - * PathPatternConfig for path-pattern conditions.

                                                          - *

                                                          If Field is host-header, you can specify a single host name - * (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in - * length, and can contain any of the following characters.

                                                          + *

                                                          The field in the HTTP request. The following are the possible values:

                                                          *
                                                            *
                                                          • - *

                                                            A-Z, a-z, 0-9

                                                            - *
                                                          • - *
                                                          • - *

                                                            - .

                                                            - *
                                                          • - *
                                                          • - *

                                                            * (matches 0 or more characters)

                                                            - *
                                                          • - *
                                                          • - *

                                                            ? (matches exactly 1 character)

                                                            + *

                                                            + * http-header + *

                                                            *
                                                          • - *
                                                          - *

                                                          If Field is path-pattern, you can specify a single path pattern - * (for example, /img/*). A path pattern is case-sensitive, can be up to 128 characters in - * length, and can contain any of the following characters.

                                                          - *
                                                            *
                                                          • - *

                                                            A-Z, a-z, 0-9

                                                            + *

                                                            + * http-request-method + *

                                                            *
                                                          • *
                                                          • - *

                                                            _ - . $ / ~ " ' @ : +

                                                            + *

                                                            + * host-header + *

                                                            *
                                                          • *
                                                          • - *

                                                            & (using &)

                                                            + *

                                                            + * path-pattern + *

                                                            *
                                                          • *
                                                          • - *

                                                            * (matches 0 or more characters)

                                                            + *

                                                            + * query-string + *

                                                            *
                                                          • *
                                                          • - *

                                                            ? (matches exactly 1 character)

                                                            + *

                                                            + * source-ip + *

                                                            *
                                                          • *
                                                          */ - Values?: string[]; + Field?: string; + + /** + *

                                                          Information for an HTTP method condition. + * Specify only when Field is http-request-method.

                                                          + */ + HttpRequestMethodConfig?: HttpRequestMethodConditionConfig; /** *

                                                          Information for a source IP condition. @@ -1708,59 +1738,61 @@ export interface RuleCondition { SourceIpConfig?: SourceIpConditionConfig; /** - *

                                                          Information for a query string condition. - * Specify only when Field is query-string.

                                                          + *

                                                          Information for an HTTP header condition. + * Specify only when Field is http-header.

                                                          */ - QueryStringConfig?: QueryStringConditionConfig; + HttpHeaderConfig?: HttpHeaderConditionConfig; /** - *

                                                          Information for a path pattern condition. - * Specify only when Field is path-pattern.

                                                          + *

                                                          Information for a query string condition. + * Specify only when Field is query-string.

                                                          */ - PathPatternConfig?: PathPatternConditionConfig; + QueryStringConfig?: QueryStringConditionConfig; /** - *

                                                          The field in the HTTP request. The following are the possible values:

                                                          + *

                                                          The condition value. + * Specify only when Field is host-header or path-pattern. + * Alternatively, to specify multiple host names or multiple path patterns, + * use HostHeaderConfig or PathPatternConfig.

                                                          + *

                                                          If Field is host-header and you are not using HostHeaderConfig, + * you can specify a single host name (for example, my.example.com) in Values. A host name is case insensitive, can be + * up to 128 characters in length, and can contain any of the following characters.

                                                          *
                                                            *
                                                          • - *

                                                            - * http-header - *

                                                            + *

                                                            A-Z, a-z, 0-9

                                                            *
                                                          • *
                                                          • - *

                                                            - * http-request-method - *

                                                            + *

                                                            - .

                                                            *
                                                          • *
                                                          • - *

                                                            - * host-header - *

                                                            + *

                                                            * (matches 0 or more characters)

                                                            *
                                                          • *
                                                          • - *

                                                            - * path-pattern - *

                                                            + *

                                                            ? (matches exactly 1 character)

                                                            *
                                                          • + *
                                                          + *

                                                          If Field is path-pattern and you are not using PathPatternConfig, + * you can specify a single path pattern (for example, /img/*) in Values. A path pattern is + * case-sensitive, can be up to 128 characters in length, and can contain any of the following characters.

                                                          + *
                                                            *
                                                          • - *

                                                            - * query-string - *

                                                            + *

                                                            A-Z, a-z, 0-9

                                                            *
                                                          • *
                                                          • - *

                                                            - * source-ip - *

                                                            + *

                                                            _ - . $ / ~ " ' @ : +

                                                            + *
                                                          • + *
                                                          • + *

                                                            & (using &)

                                                            + *
                                                          • + *
                                                          • + *

                                                            * (matches 0 or more characters)

                                                            + *
                                                          • + *
                                                          • + *

                                                            ? (matches exactly 1 character)

                                                            *
                                                          • *
                                                          */ - Field?: string; - - /** - *

                                                          Information for a host header condition. - * Specify only when Field is host-header.

                                                          - */ - HostHeaderConfig?: HostHeaderConditionConfig; + Values?: string[]; } export namespace RuleCondition { @@ -1770,6 +1802,11 @@ export namespace RuleCondition { } export interface CreateRuleInput { + /** + *

                                                          The rule priority. A listener can't have multiple rules with the same priority.

                                                          + */ + Priority: number | undefined; + /** *

                                                          The actions. Each rule must include exactly one of the following types of actions: * forward, fixed-response, or redirect, and it must be the @@ -1789,22 +1826,23 @@ export interface CreateRuleInput { Actions: Action[] | undefined; /** - *

                                                          The conditions. Each rule can include zero or one of the following conditions: - * http-request-method, host-header, path-pattern, - * and source-ip, and zero or more of the following conditions: - * http-header and query-string.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the listener.

                                                          */ - Conditions: RuleCondition[] | undefined; + ListenerArn: string | undefined; /** - *

                                                          The rule priority. A listener can't have multiple rules with the same priority.

                                                          + *

                                                          The tags to assign to the rule.

                                                          */ - Priority: number | undefined; + Tags?: Tag[]; /** - *

                                                          The Amazon Resource Name (ARN) of the listener.

                                                          + *

                                                          The conditions. + * Each rule can optionally include up to one of each of the following conditions: + * http-request-method, host-header, path-pattern, and source-ip. + * Each rule can also optionally include one or more of each of the following conditions: + * http-header and query-string.

                                                          */ - ListenerArn: string | undefined; + Conditions: RuleCondition[] | undefined; } export namespace CreateRuleInput { @@ -1817,15 +1855,23 @@ export namespace CreateRuleInput { *

                                                          Information about a rule.

                                                          */ export interface Rule { + /** + *

                                                          The Amazon Resource Name (ARN) of the rule.

                                                          + */ + RuleArn?: string; + /** *

                                                          Indicates whether this is the default rule.

                                                          */ IsDefault?: boolean; /** - *

                                                          The Amazon Resource Name (ARN) of the rule.

                                                          + *

                                                          The conditions. Each rule can include zero or one of the following conditions: + * http-request-method, host-header, path-pattern, + * and source-ip, and zero or more of the following conditions: + * http-header and query-string.

                                                          */ - RuleArn?: string; + Conditions?: RuleCondition[]; /** *

                                                          The priority.

                                                          @@ -1837,14 +1883,6 @@ export interface Rule { * redirect, or fixed-response, and it must be the last action to be performed.

                                                          */ Actions?: Action[]; - - /** - *

                                                          The conditions. Each rule can include zero or one of the following conditions: - * http-request-method, host-header, path-pattern, - * and source-ip, and zero or more of the following conditions: - * http-header and query-string.

                                                          - */ - Conditions?: RuleCondition[]; } export namespace Rule { @@ -1939,40 +1977,28 @@ export enum TargetTypeEnum { export interface CreateTargetGroupInput { /** - *

                                                          [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.

                                                          + *

                                                          The number of consecutive health checks successes required before considering an unhealthy target healthy. + * For target groups with a protocol of HTTP or HTTPS, the default is 5. + * For target groups with a protocol of TCP or TLS, the default is 3. + * If the target type is lambda, the default is 5.

                                                          */ - Matcher?: Matcher; + HealthyThresholdCount?: number; /** - *

                                                          Indicates whether health checks are enabled. If the target type is lambda, - * health checks are disabled by default but can be enabled. If the target type is instance - * or ip, health checks are always enabled and cannot be disabled.

                                                          + *

                                                          The protocol the load balancer uses when performing health checks on targets. + * For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP. + * The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. + * The TLS, UDP, and TCP_UDP protocols are not supported for health checks.

                                                          */ - HealthCheckEnabled?: boolean; + HealthCheckProtocol?: ProtocolEnum | string; /** - *

                                                          The type of target that you must specify when registering targets with this target group. - * You can't specify targets for a target group using more than one target type.

                                                          - *
                                                            - *
                                                          • - *

                                                            - * instance - Targets are specified by instance ID. This is the default value. - * If the target group protocol is UDP or TCP_UDP, the target type must be instance.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * ip - Targets are specified by IP address. You can specify IP addresses - * from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 - * range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range - * (100.64.0.0/10). You can't specify publicly routable IP addresses.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * lambda - The target groups contains a single Lambda function.

                                                            - *
                                                          • - *
                                                          + *

                                                          The name of the target group.

                                                          + *

                                                          This name must be unique per region per account, can have a maximum of 32 characters, + * must contain only alphanumeric characters or hyphens, and must not begin or end with a + * hyphen.

                                                          */ - TargetType?: TargetTypeEnum | string; + Name: string | undefined; /** *

                                                          The number of consecutive health check failures required before considering a target unhealthy. @@ -1983,28 +2009,20 @@ export interface CreateTargetGroupInput { UnhealthyThresholdCount?: number; /** - *

                                                          The approximate amount of time, in seconds, between health checks of an individual target. - * For HTTP and HTTPS health checks, the range is 5–300 seconds. - * For TCP health checks, the supported values are 10 and 30 seconds. - * If the target type is instance or ip, the default is 30 seconds. - * If the target type is lambda, the default is 35 seconds.

                                                          - */ - HealthCheckIntervalSeconds?: number; - - /** - *

                                                          The port the load balancer uses when performing health checks on targets. The default - * is traffic-port, which is the port on which each target receives traffic from the - * load balancer.

                                                          + *

                                                          Indicates whether health checks are enabled. If the target type is lambda, + * health checks are disabled by default but can be enabled. If the target type is instance + * or ip, health checks are always enabled and cannot be disabled.

                                                          */ - HealthCheckPort?: string; + HealthCheckEnabled?: boolean; /** - *

                                                          The protocol the load balancer uses when performing health checks on targets. - * For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP. - * The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. - * The TLS, UDP, and TCP_UDP protocols are not supported for health checks.

                                                          + *

                                                          The amount of time, in seconds, during which no response from a target means a failed health check. + * For target groups with a protocol of HTTP or HTTPS, the default is 5 seconds. + * For target groups with a protocol of TCP or TLS, this value must be 6 seconds for HTTP health checks + * and 10 seconds for TCP and HTTPS health checks. + * If the target type is lambda, the default is 30 seconds.

                                                          */ - HealthCheckProtocol?: ProtocolEnum | string; + HealthCheckTimeoutSeconds?: number; /** *

                                                          [HTTP/HTTPS health checks] The ping path that is the destination on the targets for @@ -2012,6 +2030,24 @@ export interface CreateTargetGroupInput { */ HealthCheckPath?: string; + /** + *

                                                          [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.

                                                          + */ + Matcher?: Matcher; + + /** + *

                                                          The identifier of the virtual private cloud (VPC). If the target is a Lambda function, + * this parameter does not apply. Otherwise, this parameter is required.

                                                          + */ + VpcId?: string; + + /** + *

                                                          The port the load balancer uses when performing health checks on targets. The default + * is traffic-port, which is the port on which each target receives traffic from the + * load balancer.

                                                          + */ + HealthCheckPort?: string; + /** *

                                                          The port on which the targets receive traffic. This port is used unless you specify a * port override when registering the target. If the target is a Lambda function, this @@ -2020,43 +2056,49 @@ export interface CreateTargetGroupInput { Port?: number; /** - *

                                                          The protocol to use for routing traffic to the targets. For Application Load Balancers, - * the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols - * are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP listener must be associated with a TCP_UDP target group. - * If the target is a Lambda function, this parameter does not apply.

                                                          - */ - Protocol?: ProtocolEnum | string; - - /** - *

                                                          The amount of time, in seconds, during which no response from a target means a failed health check. - * For target groups with a protocol of HTTP or HTTPS, the default is 5 seconds. - * For target groups with a protocol of TCP or TLS, this value must be 6 seconds for HTTP health checks - * and 10 seconds for TCP and HTTPS health checks. - * If the target type is lambda, the default is 30 seconds.

                                                          + *

                                                          The tags to assign to the target group.

                                                          */ - HealthCheckTimeoutSeconds?: number; + Tags?: Tag[]; /** - *

                                                          The name of the target group.

                                                          - *

                                                          This name must be unique per region per account, can have a maximum of 32 characters, - * must contain only alphanumeric characters or hyphens, and must not begin or end with a - * hyphen.

                                                          + *

                                                          The approximate amount of time, in seconds, between health checks of an individual target. + * For HTTP and HTTPS health checks, the range is 5–300 seconds. + * For TCP health checks, the supported values are 10 and 30 seconds. + * If the target type is instance or ip, the default is 30 seconds. + * If the target type is lambda, the default is 35 seconds.

                                                          */ - Name: string | undefined; + HealthCheckIntervalSeconds?: number; /** - *

                                                          The number of consecutive health checks successes required before considering an unhealthy target healthy. - * For target groups with a protocol of HTTP or HTTPS, the default is 5. - * For target groups with a protocol of TCP or TLS, the default is 3. - * If the target type is lambda, the default is 5.

                                                          + *

                                                          The protocol to use for routing traffic to the targets. For Application Load Balancers, + * the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols + * are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP listener must be associated with a TCP_UDP target group. + * If the target is a Lambda function, this parameter does not apply.

                                                          */ - HealthyThresholdCount?: number; + Protocol?: ProtocolEnum | string; /** - *

                                                          The identifier of the virtual private cloud (VPC). If the target is a Lambda function, - * this parameter does not apply. Otherwise, this parameter is required.

                                                          + *

                                                          The type of target that you must specify when registering targets with this target group. + * You can't specify targets for a target group using more than one target type.

                                                          + *
                                                            + *
                                                          • + *

                                                            + * instance - Targets are specified by instance ID. This is the default value.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ip - Targets are specified by IP address. You can specify IP addresses + * from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 + * range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range + * (100.64.0.0/10). You can't specify publicly routable IP addresses.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * lambda - The target groups contains a single Lambda function.

                                                            + *
                                                          • + *
                                                          */ - VpcId?: string; + TargetType?: TargetTypeEnum | string; } export namespace CreateTargetGroupInput { @@ -2070,38 +2112,37 @@ export namespace CreateTargetGroupInput { */ export interface TargetGroup { /** - *

                                                          The number of consecutive health check failures required before considering the target - * unhealthy.

                                                          + *

                                                          The name of the target group.

                                                          */ - UnhealthyThresholdCount?: number; + TargetGroupName?: string; /** - *

                                                          The amount of time, in seconds, during which no response means a failed health - * check.

                                                          + *

                                                          The ID of the VPC for the targets.

                                                          */ - HealthCheckTimeoutSeconds?: number; + VpcId?: string; /** - *

                                                          The number of consecutive health checks successes required before considering an - * unhealthy target healthy.

                                                          + *

                                                          The port to use to connect with the target.

                                                          */ - HealthyThresholdCount?: number; + HealthCheckPort?: string; /** - *

                                                          The approximate amount of time, in seconds, between health checks of an individual - * target.

                                                          + *

                                                          The type of target that you must specify when registering targets with this target + * group. The possible values are instance (targets are specified by instance ID) or + * ip (targets are specified by IP address).

                                                          */ - HealthCheckIntervalSeconds?: number; + TargetType?: TargetTypeEnum | string; /** - *

                                                          Indicates whether health checks are enabled.

                                                          + *

                                                          The protocol to use to connect with the target.

                                                          */ - HealthCheckEnabled?: boolean; + HealthCheckProtocol?: ProtocolEnum | string; /** - *

                                                          The ID of the VPC for the targets.

                                                          + *

                                                          The number of consecutive health checks successes required before considering an + * unhealthy target healthy.

                                                          */ - VpcId?: string; + HealthyThresholdCount?: number; /** *

                                                          The protocol to use for routing traffic to the targets.

                                                          @@ -2109,31 +2150,32 @@ export interface TargetGroup { Protocol?: ProtocolEnum | string; /** - *

                                                          The name of the target group.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the target group.

                                                          */ - TargetGroupName?: string; + TargetGroupArn?: string; /** - *

                                                          The type of target that you must specify when registering targets with this target - * group. The possible values are instance (targets are specified by instance ID) or - * ip (targets are specified by IP address).

                                                          + *

                                                          The approximate amount of time, in seconds, between health checks of an individual + * target.

                                                          */ - TargetType?: TargetTypeEnum | string; + HealthCheckIntervalSeconds?: number; /** - *

                                                          The HTTP codes to use when checking for a successful response from a target.

                                                          + *

                                                          The Amazon Resource Names (ARN) of the load balancers that route traffic to this target + * group.

                                                          */ - Matcher?: Matcher; + LoadBalancerArns?: string[]; /** - *

                                                          The destination for the health check request.

                                                          + *

                                                          The amount of time, in seconds, during which no response means a failed health + * check.

                                                          */ - HealthCheckPath?: string; + HealthCheckTimeoutSeconds?: number; /** - *

                                                          The Amazon Resource Name (ARN) of the target group.

                                                          + *

                                                          The destination for the health check request.

                                                          */ - TargetGroupArn?: string; + HealthCheckPath?: string; /** *

                                                          The port on which the targets are listening. Not used if the target is a Lambda function.

                                                          @@ -2141,20 +2183,20 @@ export interface TargetGroup { Port?: number; /** - *

                                                          The protocol to use to connect with the target.

                                                          + *

                                                          The number of consecutive health check failures required before considering the target + * unhealthy.

                                                          */ - HealthCheckProtocol?: ProtocolEnum | string; + UnhealthyThresholdCount?: number; /** - *

                                                          The port to use to connect with the target.

                                                          + *

                                                          Indicates whether health checks are enabled.

                                                          */ - HealthCheckPort?: string; + HealthCheckEnabled?: boolean; /** - *

                                                          The Amazon Resource Names (ARN) of the load balancers that route traffic to this target - * group.

                                                          + *

                                                          The HTTP codes to use when checking for a successful response from a target.

                                                          */ - LoadBalancerArns?: string[]; + Matcher?: Matcher; } export namespace TargetGroup { @@ -2294,18 +2336,6 @@ export namespace DeleteTargetGroupOutput { *

                                                          Information about a target.

                                                          */ export interface TargetDescription { - /** - *

                                                          The ID of the target. If the target type of the target group is instance, - * specify an instance ID. If the target type is ip, specify an IP address. - * If the target type is lambda, specify the ARN of the Lambda function.

                                                          - */ - Id: string | undefined; - - /** - *

                                                          The port on which the target is listening. Not used if the target is a Lambda function.

                                                          - */ - Port?: number; - /** *

                                                          An Availability Zone or all. This determines whether the target receives * traffic from the load balancer nodes in the specified Availability Zone or from all enabled @@ -2319,6 +2349,18 @@ export interface TargetDescription { *

                                                          If the target type is lambda, this parameter is optional and the only supported value is all.

                                                          */ AvailabilityZone?: string; + + /** + *

                                                          The ID of the target. If the target type of the target group is instance, + * specify an instance ID. If the target type is ip, specify an IP address. + * If the target type is lambda, specify the ARN of the Lambda function.

                                                          + */ + Id: string | undefined; + + /** + *

                                                          The port on which the target is listening. Not used if the target is a Lambda function.

                                                          + */ + Port?: number; } export namespace TargetDescription { @@ -2329,15 +2371,15 @@ export namespace TargetDescription { export interface DeregisterTargetsInput { /** - *

                                                          The targets. If you specified a port override when you registered a target, you must - * specify both the target ID and the port when you deregister it.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the target group.

                                                          */ - Targets: TargetDescription[] | undefined; + TargetGroupArn: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the target group.

                                                          + *

                                                          The targets. If you specified a port override when you registered a target, you must + * specify both the target ID and the port when you deregister it.

                                                          */ - TargetGroupArn: string | undefined; + Targets: TargetDescription[] | undefined; } export namespace DeregisterTargetsInput { @@ -2372,15 +2414,15 @@ export namespace InvalidTargetException { export interface DescribeAccountLimitsInput { /** - *

                                                          The marker for the next set of results. (You received this marker from a previous - * call.)

                                                          + *

                                                          The maximum number of results to return with this call.

                                                          */ - Marker?: string; + PageSize?: number; /** - *

                                                          The maximum number of results to return with this call.

                                                          + *

                                                          The marker for the next set of results. (You received this marker from a previous + * call.)

                                                          */ - PageSize?: number; + Marker?: string; } export namespace DescribeAccountLimitsInput { @@ -2394,11 +2436,6 @@ export namespace DescribeAccountLimitsInput { * account.

                                                          */ export interface Limit { - /** - *

                                                          The maximum value of the limit.

                                                          - */ - Max?: string; - /** *

                                                          The name of the limit. The possible values are:

                                                          *
                                                            @@ -2441,6 +2478,11 @@ export interface Limit { *
                                                          */ Name?: string; + + /** + *

                                                          The maximum value of the limit.

                                                          + */ + Max?: string; } export namespace Limit { @@ -2470,10 +2512,9 @@ export namespace DescribeAccountLimitsOutput { export interface DescribeListenerCertificatesInput { /** - *

                                                          The marker for the next set of results. (You received this marker from a previous - * call.)

                                                          + *

                                                          The Amazon Resource Names (ARN) of the listener.

                                                          */ - Marker?: string; + ListenerArn: string | undefined; /** *

                                                          The maximum number of results to return with this call.

                                                          @@ -2481,9 +2522,10 @@ export interface DescribeListenerCertificatesInput { PageSize?: number; /** - *

                                                          The Amazon Resource Names (ARN) of the listener.

                                                          + *

                                                          The marker for the next set of results. (You received this marker from a previous + * call.)

                                                          */ - ListenerArn: string | undefined; + Marker?: string; } export namespace DescribeListenerCertificatesInput { @@ -2518,11 +2560,6 @@ export interface DescribeListenersInput { */ Marker?: string; - /** - *

                                                          The Amazon Resource Names (ARN) of the listeners.

                                                          - */ - ListenerArns?: string[]; - /** *

                                                          The maximum number of results to return with this call.

                                                          */ @@ -2532,6 +2569,11 @@ export interface DescribeListenersInput { *

                                                          The Amazon Resource Name (ARN) of the load balancer.

                                                          */ LoadBalancerArn?: string; + + /** + *

                                                          The Amazon Resource Names (ARN) of the listeners.

                                                          + */ + ListenerArns?: string[]; } export namespace DescribeListenersInput { @@ -2576,6 +2618,11 @@ export namespace DescribeLoadBalancerAttributesInput { *

                                                          Information about a load balancer attribute.

                                                          */ export interface LoadBalancerAttribute { + /** + *

                                                          The value of the attribute.

                                                          + */ + Value?: string; + /** *

                                                          The name of the attribute.

                                                          *

                                                          The following attributes are supported by both Application Load Balancers and Network Load Balancers:

                                                          @@ -2611,6 +2658,12 @@ export interface LoadBalancerAttribute { * *
                                                        • *

                                                          + * routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that + * might pose a security risk to your application. The possible values are monitor, + * defensive, and strictest. The default is defensive.

                                                          + *
                                                        • + *
                                                        • + *

                                                          * routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers * with invalid header fields are removed by the load balancer (true) or routed to targets * (false). The default is false.

                                                          @@ -2632,11 +2685,6 @@ export interface LoadBalancerAttribute { *
                                                        */ Key?: string; - - /** - *

                                                        The value of the attribute.

                                                        - */ - Value?: string; } export namespace LoadBalancerAttribute { @@ -2660,26 +2708,26 @@ export namespace DescribeLoadBalancerAttributesOutput { export interface DescribeLoadBalancersInput { /** - *

                                                        The marker for the next set of results. (You received this marker from a previous - * call.)

                                                        + *

                                                        The names of the load balancers.

                                                        */ - Marker?: string; + Names?: string[]; /** *

                                                        The maximum number of results to return with this call.

                                                        */ PageSize?: number; - /** - *

                                                        The names of the load balancers.

                                                        - */ - Names?: string[]; - /** *

                                                        The Amazon Resource Names (ARN) of the load balancers. You can specify up to 20 load * balancers in a single call.

                                                        */ LoadBalancerArns?: string[]; + + /** + *

                                                        The marker for the next set of results. (You received this marker from a previous + * call.)

                                                        + */ + Marker?: string; } export namespace DescribeLoadBalancersInput { @@ -2689,16 +2737,16 @@ export namespace DescribeLoadBalancersInput { } export interface DescribeLoadBalancersOutput { - /** - *

                                                        Information about the load balancers.

                                                        - */ - LoadBalancers?: LoadBalancer[]; - /** *

                                                        If there are additional results, this is the marker for the next set of results. * Otherwise, this is null.

                                                        */ NextMarker?: string; + + /** + *

                                                        Information about the load balancers.

                                                        + */ + LoadBalancers?: LoadBalancer[]; } export namespace DescribeLoadBalancersOutput { @@ -2720,14 +2768,14 @@ export interface DescribeRulesInput { PageSize?: number; /** - *

                                                        The Amazon Resource Names (ARN) of the rules.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the listener.

                                                        */ - RuleArns?: string[]; + ListenerArn?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the listener.

                                                        + *

                                                        The Amazon Resource Names (ARN) of the rules.

                                                        */ - ListenerArn?: string; + RuleArns?: string[]; } export namespace DescribeRulesInput { @@ -2737,16 +2785,16 @@ export namespace DescribeRulesInput { } export interface DescribeRulesOutput { - /** - *

                                                        Information about the rules.

                                                        - */ - Rules?: Rule[]; - /** *

                                                        If there are additional results, this is the marker for the next set of results. * Otherwise, this is null.

                                                        */ NextMarker?: string; + + /** + *

                                                        Information about the rules.

                                                        + */ + Rules?: Rule[]; } export namespace DescribeRulesOutput { @@ -2784,9 +2832,9 @@ export namespace DescribeSSLPoliciesInput { */ export interface SslPolicy { /** - *

                                                        The ciphers.

                                                        + *

                                                        The name of the policy.

                                                        */ - Ciphers?: Cipher[]; + Name?: string; /** *

                                                        The protocols.

                                                        @@ -2794,9 +2842,9 @@ export interface SslPolicy { SslProtocols?: string[]; /** - *

                                                        The name of the policy.

                                                        + *

                                                        The ciphers.

                                                        */ - Name?: string; + Ciphers?: Cipher[]; } export namespace SslPolicy { @@ -2806,16 +2854,16 @@ export namespace SslPolicy { } export interface DescribeSSLPoliciesOutput { - /** - *

                                                        Information about the security policies.

                                                        - */ - SslPolicies?: SslPolicy[]; - /** *

                                                        If there are additional results, this is the marker for the next set of results. * Otherwise, this is null.

                                                        */ NextMarker?: string; + + /** + *

                                                        Information about the security policies.

                                                        + */ + SslPolicies?: SslPolicy[]; } export namespace DescribeSSLPoliciesOutput { @@ -2842,14 +2890,14 @@ export namespace DescribeTagsInput { */ export interface TagDescription { /** - *

                                                        The Amazon Resource Name (ARN) of the resource.

                                                        + *

                                                        Information about the tags.

                                                        */ - ResourceArn?: string; + Tags?: Tag[]; /** - *

                                                        Information about the tags.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the resource.

                                                        */ - Tags?: Tag[]; + ResourceArn?: string; } export namespace TagDescription { @@ -2888,11 +2936,6 @@ export namespace DescribeTargetGroupAttributesInput { *

                                                        Information about a target group attribute.

                                                        */ export interface TargetGroupAttribute { - /** - *

                                                        The value of the attribute.

                                                        - */ - Value?: string; - /** *

                                                        The name of the attribute.

                                                        * @@ -2932,7 +2975,7 @@ export interface TargetGroupAttribute { * slow_start.duration_seconds - The time period, in seconds, during which a * newly registered target receives an increasing share of the traffic to the target group. * After this time period ends, the target receives its full share of traffic. - * The range is 30-900 seconds (15 minutes). Slow start mode is disabled by default.

                                                        + * The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).

                                                        * *
                                                      • *

                                                        @@ -2967,6 +3010,11 @@ export interface TargetGroupAttribute { *

                                                      */ Key?: string; + + /** + *

                                                      The value of the attribute.

                                                      + */ + Value?: string; } export namespace TargetGroupAttribute { @@ -2990,20 +3038,20 @@ export namespace DescribeTargetGroupAttributesOutput { export interface DescribeTargetGroupsInput { /** - *

                                                      The marker for the next set of results. (You received this marker from a previous - * call.)

                                                      + *

                                                      The Amazon Resource Names (ARN) of the target groups.

                                                      */ - Marker?: string; + TargetGroupArns?: string[]; /** - *

                                                      The names of the target groups.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the load balancer.

                                                      */ - Names?: string[]; + LoadBalancerArn?: string; /** - *

                                                      The Amazon Resource Name (ARN) of the load balancer.

                                                      + *

                                                      The marker for the next set of results. (You received this marker from a previous + * call.)

                                                      */ - LoadBalancerArn?: string; + Marker?: string; /** *

                                                      The maximum number of results to return with this call.

                                                      @@ -3011,9 +3059,9 @@ export interface DescribeTargetGroupsInput { PageSize?: number; /** - *

                                                      The Amazon Resource Names (ARN) of the target groups.

                                                      + *

                                                      The names of the target groups.

                                                      */ - TargetGroupArns?: string[]; + Names?: string[]; } export namespace DescribeTargetGroupsInput { @@ -3024,15 +3072,15 @@ export namespace DescribeTargetGroupsInput { export interface DescribeTargetGroupsOutput { /** - *

                                                      If there are additional results, this is the marker for the next set of results. - * Otherwise, this is null.

                                                      + *

                                                      Information about the target groups.

                                                      */ - NextMarker?: string; + TargetGroups?: TargetGroup[]; /** - *

                                                      Information about the target groups.

                                                      + *

                                                      If there are additional results, this is the marker for the next set of results. + * Otherwise, this is null.

                                                      */ - TargetGroups?: TargetGroup[]; + NextMarker?: string; } export namespace DescribeTargetGroupsOutput { @@ -3043,14 +3091,14 @@ export namespace DescribeTargetGroupsOutput { export interface DescribeTargetHealthInput { /** - *

                                                      The targets.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the target group.

                                                      */ - Targets?: TargetDescription[]; + TargetGroupArn: string | undefined; /** - *

                                                      The Amazon Resource Name (ARN) of the target group.

                                                      + *

                                                      The targets.

                                                      */ - TargetGroupArn: string | undefined; + Targets?: TargetDescription[]; } export namespace DescribeTargetHealthInput { @@ -3087,6 +3135,12 @@ export enum TargetHealthStateEnum { *

                                                      Information about the current health of a target.

                                                      */ export interface TargetHealth { + /** + *

                                                      A description of the target health that provides additional details. If the state is + * healthy, a description is not provided.

                                                      + */ + Description?: string; + /** *

                                                      The reason code.

                                                      * @@ -3178,12 +3232,6 @@ export interface TargetHealth { */ Reason?: TargetHealthReasonEnum | string; - /** - *

                                                      A description of the target health that provides additional details. If the state is - * healthy, a description is not provided.

                                                      - */ - Description?: string; - /** *

                                                      The state of the target.

                                                      */ @@ -3200,6 +3248,11 @@ export namespace TargetHealth { *

                                                      Information about the health of a target.

                                                      */ export interface TargetHealthDescription { + /** + *

                                                      The health information for the target.

                                                      + */ + TargetHealth?: TargetHealth; + /** *

                                                      The port to use to connect with the target.

                                                      */ @@ -3209,11 +3262,6 @@ export interface TargetHealthDescription { *

                                                      The description of the target.

                                                      */ Target?: TargetDescription; - - /** - *

                                                      The health information for the target.

                                                      - */ - TargetHealth?: TargetHealth; } export namespace TargetHealthDescription { @@ -3252,6 +3300,59 @@ export namespace HealthUnavailableException { } export interface ModifyListenerInput { + /** + *

                                                      [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. + * You can specify one policy name. The following are the possible values:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * HTTP1Only + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * HTTP2Only + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * HTTP2Optional + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * HTTP2Preferred + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * None + *

                                                        + *
                                                      • + *
                                                      + *

                                                      For more information, see ALPN Policies in the Network Load Balancers Guide.

                                                      + */ + AlpnPolicy?: string[]; + + /** + *

                                                      The protocol for connections from clients to the load balancer. Application Load + * Balancers support the HTTP and HTTPS protocols. Network Load Balancers support the + * TCP, TLS, UDP, and TCP_UDP protocols.

                                                      + */ + Protocol?: ProtocolEnum | string; + + /** + *

                                                      [HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. + * Set CertificateArn to the certificate ARN but do not set IsDefault.

                                                      + *

                                                      To create a certificate list, use AddListenerCertificates.

                                                      + */ + Certificates?: Certificate[]; + + /** + *

                                                      The Amazon Resource Name (ARN) of the listener.

                                                      + */ + ListenerArn: string | undefined; + /** *

                                                      The port for connections from clients to the load balancer.

                                                      */ @@ -3327,59 +3428,6 @@ export interface ModifyListenerInput { * Security Policies in the Network Load Balancers Guide.

                                                      */ SslPolicy?: string; - - /** - *

                                                      The protocol for connections from clients to the load balancer. Application Load - * Balancers support the HTTP and HTTPS protocols. Network Load Balancers support the - * TCP, TLS, UDP, and TCP_UDP protocols.

                                                      - */ - Protocol?: ProtocolEnum | string; - - /** - *

                                                      [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. - * You can specify one policy name. The following are the possible values:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * HTTP1Only - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * HTTP2Only - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * HTTP2Optional - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * HTTP2Preferred - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * None - *

                                                        - *
                                                      • - *
                                                      - *

                                                      For more information, see ALPN Policies in the Network Load Balancers Guide.

                                                      - */ - AlpnPolicy?: string[]; - - /** - *

                                                      The Amazon Resource Name (ARN) of the listener.

                                                      - */ - ListenerArn: string | undefined; - - /** - *

                                                      [HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. - * Set CertificateArn to the certificate ARN but do not set IsDefault.

                                                      - *

                                                      To create a certificate list, use AddListenerCertificates.

                                                      - */ - Certificates?: Certificate[]; } export namespace ModifyListenerInput { @@ -3403,14 +3451,14 @@ export namespace ModifyListenerOutput { export interface ModifyLoadBalancerAttributesInput { /** - *

                                                      The load balancer attributes.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the load balancer.

                                                      */ - Attributes: LoadBalancerAttribute[] | undefined; + LoadBalancerArn: string | undefined; /** - *

                                                      The Amazon Resource Name (ARN) of the load balancer.

                                                      + *

                                                      The load balancer attributes.

                                                      */ - LoadBalancerArn: string | undefined; + Attributes: LoadBalancerAttribute[] | undefined; } export namespace ModifyLoadBalancerAttributesInput { @@ -3433,11 +3481,6 @@ export namespace ModifyLoadBalancerAttributesOutput { } export interface ModifyRuleInput { - /** - *

                                                      The Amazon Resource Name (ARN) of the rule.

                                                      - */ - RuleArn: string | undefined; - /** *

                                                      The conditions. Each rule can include zero or one of the following conditions: * http-request-method, host-header, path-pattern, @@ -3463,6 +3506,11 @@ export interface ModifyRuleInput { * and return a custom HTTP response.

                                                      */ Actions?: Action[]; + + /** + *

                                                      The Amazon Resource Name (ARN) of the rule.

                                                      + */ + RuleArn: string | undefined; } export namespace ModifyRuleInput { @@ -3486,18 +3534,9 @@ export namespace ModifyRuleOutput { export interface ModifyTargetGroupInput { /** - *

                                                      The number of consecutive health check failures required before considering the target - * unhealthy. For Network Load Balancers, this value must be the same as the healthy threshold - * count.

                                                      - */ - UnhealthyThresholdCount?: number; - - /** - *

                                                      [HTTP/HTTPS health checks] The amount of time, in seconds, during which no response - * means a failed health check.

                                                      - *

                                                      With Network Load Balancers, you can't modify this setting.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the target group.

                                                      */ - HealthCheckTimeoutSeconds?: number; + TargetGroupArn: string | undefined; /** *

                                                      The approximate amount of time, in seconds, between health checks of an individual @@ -3508,16 +3547,24 @@ export interface ModifyTargetGroupInput { HealthCheckIntervalSeconds?: number; /** - *

                                                      Indicates whether health checks are enabled.

                                                      + *

                                                      The port the load balancer uses when performing health checks on targets.

                                                      */ - HealthCheckEnabled?: boolean; + HealthCheckPort?: string; /** - *

                                                      [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful - * response from a target.

                                                      + *

                                                      The protocol the load balancer uses when performing health checks on targets. + * The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. + * The TLS, UDP, and TCP_UDP protocols are not supported for health checks.

                                                      *

                                                      With Network Load Balancers, you can't modify this setting.

                                                      */ - Matcher?: Matcher; + HealthCheckProtocol?: ProtocolEnum | string; + + /** + *

                                                      [HTTP/HTTPS health checks] The amount of time, in seconds, during which no response + * means a failed health check.

                                                      + *

                                                      With Network Load Balancers, you can't modify this setting.

                                                      + */ + HealthCheckTimeoutSeconds?: number; /** *

                                                      The number of consecutive health checks successes required before considering an @@ -3532,22 +3579,25 @@ export interface ModifyTargetGroupInput { HealthCheckPath?: string; /** - *

                                                      The Amazon Resource Name (ARN) of the target group.

                                                      + *

                                                      Indicates whether health checks are enabled.

                                                      */ - TargetGroupArn: string | undefined; + HealthCheckEnabled?: boolean; /** - *

                                                      The protocol the load balancer uses when performing health checks on targets. - * The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. - * The TLS, UDP, and TCP_UDP protocols are not supported for health checks.

                                                      - *

                                                      With Network Load Balancers, you can't modify this setting.

                                                      + *

                                                      The number of consecutive health check failures required before considering the target + * unhealthy. For Network Load Balancers, this value must be the same as the healthy threshold + * count.

                                                      */ - HealthCheckProtocol?: ProtocolEnum | string; + UnhealthyThresholdCount?: number; /** - *

                                                      The port the load balancer uses when performing health checks on targets.

                                                      + *

                                                      [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful + * response from a target. The possible values are from 200 to 499. You can specify multiple + * values (for example, "200,202") or a range of values (for example, "200-299"). The default + * is 200.

                                                      + *

                                                      With Network Load Balancers, you can't modify this setting.

                                                      */ - HealthCheckPort?: string; + Matcher?: Matcher; } export namespace ModifyTargetGroupInput { @@ -3571,14 +3621,14 @@ export namespace ModifyTargetGroupOutput { export interface ModifyTargetGroupAttributesInput { /** - *

                                                      The Amazon Resource Name (ARN) of the target group.

                                                      + *

                                                      The attributes.

                                                      */ - TargetGroupArn: string | undefined; + Attributes: TargetGroupAttribute[] | undefined; /** - *

                                                      The attributes.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the target group.

                                                      */ - Attributes: TargetGroupAttribute[] | undefined; + TargetGroupArn: string | undefined; } export namespace ModifyTargetGroupAttributesInput { @@ -3631,15 +3681,15 @@ export namespace RegisterTargetsOutput { export interface RemoveListenerCertificatesInput { /** - *

                                                      The certificate to remove. You can specify one certificate per call. - * Set CertificateArn to the certificate ARN but do not set IsDefault.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the listener.

                                                      */ - Certificates: Certificate[] | undefined; + ListenerArn: string | undefined; /** - *

                                                      The Amazon Resource Name (ARN) of the listener.

                                                      + *

                                                      The certificate to remove. You can specify one certificate per call. + * Set CertificateArn to the certificate ARN but do not set IsDefault.

                                                      */ - ListenerArn: string | undefined; + Certificates: Certificate[] | undefined; } export namespace RemoveListenerCertificatesInput { @@ -3683,17 +3733,17 @@ export namespace RemoveTagsOutput { } export interface SetIpAddressTypeInput { - /** - *

                                                      The Amazon Resource Name (ARN) of the load balancer.

                                                      - */ - LoadBalancerArn: string | undefined; - /** *

                                                      The IP address type. The possible values are ipv4 (for IPv4 addresses) and * dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use * ipv4. Network Load Balancers must use ipv4.

                                                      */ IpAddressType: IpAddressType | string | undefined; + + /** + *

                                                      The Amazon Resource Name (ARN) of the load balancer.

                                                      + */ + LoadBalancerArn: string | undefined; } export namespace SetIpAddressTypeInput { @@ -3795,9 +3845,16 @@ export namespace SetSecurityGroupsOutput { export interface SetSubnetsInput { /** - *

                                                      The Amazon Resource Name (ARN) of the load balancer.

                                                      + *

                                                      The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must + * specify either subnets or subnet mappings.

                                                      + *

                                                      [Application Load Balancers] You must specify subnets from at least two Availability Zones. + * You cannot specify Elastic IP addresses for your subnets.

                                                      + *

                                                      [Network Load Balancers] You can specify subnets from one or more Availability Zones. If you + * need static IP addresses for your internet-facing load balancer, you can specify one Elastic IP + * address per subnet. For internal load balancers, you can specify one private IP address per + * subnet from the IPv4 range of the subnet.

                                                      */ - LoadBalancerArn: string | undefined; + SubnetMappings?: SubnetMapping[]; /** *

                                                      The IDs of the public subnets. You must specify subnets from at least two Availability Zones. @@ -3807,16 +3864,9 @@ export interface SetSubnetsInput { Subnets?: string[]; /** - *

                                                      The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must - * specify either subnets or subnet mappings.

                                                      - *

                                                      [Application Load Balancers] You must specify subnets from at least two Availability Zones. - * You cannot specify Elastic IP addresses for your subnets.

                                                      - *

                                                      [Network Load Balancers] You can specify subnets from one or more Availability Zones. If you - * need static IP addresses for your internet-facing load balancer, you can specify one Elastic IP - * address per subnet. For internal load balancers, you can specify one private IP address per - * subnet from the IPv4 range of the subnet.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the load balancer.

                                                      */ - SubnetMappings?: SubnetMapping[]; + LoadBalancerArn: string | undefined; } export namespace SetSubnetsInput { @@ -3827,7 +3877,7 @@ export namespace SetSubnetsInput { export interface SetSubnetsOutput { /** - *

                                                      Information about the subnet and Availability Zone.

                                                      + *

                                                      Information about the subnets.

                                                      */ AvailabilityZones?: AvailabilityZone[]; } diff --git a/clients/client-elastic-load-balancing-v2/protocols/Aws_query.ts b/clients/client-elastic-load-balancing-v2/protocols/Aws_query.ts index 87d3bfed60c7..90325ac577f6 100644 --- a/clients/client-elastic-load-balancing-v2/protocols/Aws_query.ts +++ b/clients/client-elastic-load-balancing-v2/protocols/Aws_query.ts @@ -1061,6 +1061,14 @@ const deserializeAws_queryCreateListenerCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyTagsException": + case "com.amazonaws.elasticloadbalancingv2#TooManyTagsException": + response = { + ...(await deserializeAws_queryTooManyTagsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "TooManyTargetsException": case "com.amazonaws.elasticloadbalancingv2#TooManyTargetsException": response = { @@ -1361,6 +1369,14 @@ const deserializeAws_queryCreateRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyTagsException": + case "com.amazonaws.elasticloadbalancingv2#TooManyTagsException": + response = { + ...(await deserializeAws_queryTooManyTagsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "TooManyTargetGroupsException": case "com.amazonaws.elasticloadbalancingv2#TooManyTargetGroupsException": response = { @@ -1455,6 +1471,14 @@ const deserializeAws_queryCreateTargetGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyTagsException": + case "com.amazonaws.elasticloadbalancingv2#TooManyTagsException": + response = { + ...(await deserializeAws_queryTooManyTagsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "TooManyTargetGroupsException": case "com.amazonaws.elasticloadbalancingv2#TooManyTargetGroupsException": response = { @@ -4040,10 +4064,13 @@ const deserializeAws_queryUnsupportedProtocolExceptionResponse = async ( const serializeAws_queryAction = (input: Action, context: __SerdeContext): any => { const entries: any = {}; - if (input.ForwardConfig !== undefined) { - const memberEntries = serializeAws_queryForwardActionConfig(input.ForwardConfig, context); + if (input.Type !== undefined) { + entries["Type"] = input.Type; + } + if (input.AuthenticateCognitoConfig !== undefined) { + const memberEntries = serializeAws_queryAuthenticateCognitoActionConfig(input.AuthenticateCognitoConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ForwardConfig.${key}`; + const loc = `AuthenticateCognitoConfig.${key}`; entries[loc] = value; }); } @@ -4054,29 +4081,19 @@ const serializeAws_queryAction = (input: Action, context: __SerdeContext): any = entries[loc] = value; }); } - if (input.FixedResponseConfig !== undefined) { - const memberEntries = serializeAws_queryFixedResponseActionConfig(input.FixedResponseConfig, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `FixedResponseConfig.${key}`; - entries[loc] = value; - }); - } if (input.TargetGroupArn !== undefined) { entries["TargetGroupArn"] = input.TargetGroupArn; } if (input.Order !== undefined) { entries["Order"] = input.Order; } - if (input.AuthenticateCognitoConfig !== undefined) { - const memberEntries = serializeAws_queryAuthenticateCognitoActionConfig(input.AuthenticateCognitoConfig, context); + if (input.FixedResponseConfig !== undefined) { + const memberEntries = serializeAws_queryFixedResponseActionConfig(input.FixedResponseConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AuthenticateCognitoConfig.${key}`; + const loc = `FixedResponseConfig.${key}`; entries[loc] = value; }); } - if (input.Type !== undefined) { - entries["Type"] = input.Type; - } if (input.AuthenticateOidcConfig !== undefined) { const memberEntries = serializeAws_queryAuthenticateOidcActionConfig(input.AuthenticateOidcConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4084,6 +4101,13 @@ const serializeAws_queryAction = (input: Action, context: __SerdeContext): any = entries[loc] = value; }); } + if (input.ForwardConfig !== undefined) { + const memberEntries = serializeAws_queryForwardActionConfig(input.ForwardConfig, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ForwardConfig.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -4105,9 +4129,6 @@ const serializeAws_queryAddListenerCertificatesInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ListenerArn !== undefined) { - entries["ListenerArn"] = input.ListenerArn; - } if (input.Certificates !== undefined) { const memberEntries = serializeAws_queryCertificateList(input.Certificates, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4115,22 +4136,25 @@ const serializeAws_queryAddListenerCertificatesInput = ( entries[loc] = value; }); } + if (input.ListenerArn !== undefined) { + entries["ListenerArn"] = input.ListenerArn; + } return entries; }; const serializeAws_queryAddTagsInput = (input: AddTagsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.ResourceArns !== undefined) { + const memberEntries = serializeAws_queryResourceArns(input.ResourceArns, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `ResourceArns.${key}`; entries[loc] = value; }); } - if (input.ResourceArns !== undefined) { - const memberEntries = serializeAws_queryResourceArns(input.ResourceArns, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResourceArns.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } @@ -4166,6 +4190,18 @@ const serializeAws_queryAuthenticateCognitoActionConfig = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SessionCookieName !== undefined) { + entries["SessionCookieName"] = input.SessionCookieName; + } + if (input.Scope !== undefined) { + entries["Scope"] = input.Scope; + } + if (input.UserPoolDomain !== undefined) { + entries["UserPoolDomain"] = input.UserPoolDomain; + } + if (input.UserPoolArn !== undefined) { + entries["UserPoolArn"] = input.UserPoolArn; + } if (input.AuthenticationRequestExtraParams !== undefined) { const memberEntries = serializeAws_queryAuthenticateCognitoActionAuthenticationRequestExtraParams( input.AuthenticationRequestExtraParams, @@ -4176,27 +4212,15 @@ const serializeAws_queryAuthenticateCognitoActionConfig = ( entries[loc] = value; }); } - if (input.UserPoolArn !== undefined) { - entries["UserPoolArn"] = input.UserPoolArn; - } - if (input.UserPoolClientId !== undefined) { - entries["UserPoolClientId"] = input.UserPoolClientId; - } if (input.SessionTimeout !== undefined) { entries["SessionTimeout"] = input.SessionTimeout; } - if (input.Scope !== undefined) { - entries["Scope"] = input.Scope; - } - if (input.UserPoolDomain !== undefined) { - entries["UserPoolDomain"] = input.UserPoolDomain; - } - if (input.SessionCookieName !== undefined) { - entries["SessionCookieName"] = input.SessionCookieName; - } if (input.OnUnauthenticatedRequest !== undefined) { entries["OnUnauthenticatedRequest"] = input.OnUnauthenticatedRequest; } + if (input.UserPoolClientId !== undefined) { + entries["UserPoolClientId"] = input.UserPoolClientId; + } return entries; }; @@ -4219,21 +4243,36 @@ const serializeAws_queryAuthenticateOidcActionConfig = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.AuthorizationEndpoint !== undefined) { + entries["AuthorizationEndpoint"] = input.AuthorizationEndpoint; + } + if (input.UserInfoEndpoint !== undefined) { + entries["UserInfoEndpoint"] = input.UserInfoEndpoint; + } + if (input.ClientId !== undefined) { + entries["ClientId"] = input.ClientId; + } if (input.ClientSecret !== undefined) { entries["ClientSecret"] = input.ClientSecret; } + if (input.UseExistingClientSecret !== undefined) { + entries["UseExistingClientSecret"] = input.UseExistingClientSecret; + } if (input.TokenEndpoint !== undefined) { entries["TokenEndpoint"] = input.TokenEndpoint; } if (input.Issuer !== undefined) { entries["Issuer"] = input.Issuer; } - if (input.AuthorizationEndpoint !== undefined) { - entries["AuthorizationEndpoint"] = input.AuthorizationEndpoint; + if (input.Scope !== undefined) { + entries["Scope"] = input.Scope; } if (input.SessionTimeout !== undefined) { entries["SessionTimeout"] = input.SessionTimeout; } + if (input.OnUnauthenticatedRequest !== undefined) { + entries["OnUnauthenticatedRequest"] = input.OnUnauthenticatedRequest; + } if (input.AuthenticationRequestExtraParams !== undefined) { const memberEntries = serializeAws_queryAuthenticateOidcActionAuthenticationRequestExtraParams( input.AuthenticationRequestExtraParams, @@ -4244,35 +4283,20 @@ const serializeAws_queryAuthenticateOidcActionConfig = ( entries[loc] = value; }); } - if (input.OnUnauthenticatedRequest !== undefined) { - entries["OnUnauthenticatedRequest"] = input.OnUnauthenticatedRequest; - } if (input.SessionCookieName !== undefined) { entries["SessionCookieName"] = input.SessionCookieName; } - if (input.Scope !== undefined) { - entries["Scope"] = input.Scope; - } - if (input.UserInfoEndpoint !== undefined) { - entries["UserInfoEndpoint"] = input.UserInfoEndpoint; - } - if (input.ClientId !== undefined) { - entries["ClientId"] = input.ClientId; - } - if (input.UseExistingClientSecret !== undefined) { - entries["UseExistingClientSecret"] = input.UseExistingClientSecret; - } return entries; }; const serializeAws_queryCertificate = (input: Certificate, context: __SerdeContext): any => { const entries: any = {}; - if (input.IsDefault !== undefined) { - entries["IsDefault"] = input.IsDefault; - } if (input.CertificateArn !== undefined) { entries["CertificateArn"] = input.CertificateArn; } + if (input.IsDefault !== undefined) { + entries["IsDefault"] = input.IsDefault; + } return entries; }; @@ -4291,22 +4315,29 @@ const serializeAws_queryCertificateList = (input: Certificate[], context: __Serd const serializeAws_queryCreateListenerInput = (input: CreateListenerInput, context: __SerdeContext): any => { const entries: any = {}; + if (input.Port !== undefined) { + entries["Port"] = input.Port; + } if (input.LoadBalancerArn !== undefined) { entries["LoadBalancerArn"] = input.LoadBalancerArn; } - if (input.SslPolicy !== undefined) { - entries["SslPolicy"] = input.SslPolicy; - } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.Certificates !== undefined) { + const memberEntries = serializeAws_queryCertificateList(input.Certificates, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Certificates.${key}`; + entries[loc] = value; + }); } - if (input.DefaultActions !== undefined) { - const memberEntries = serializeAws_queryActions(input.DefaultActions, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DefaultActions.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } + if (input.Protocol !== undefined) { + entries["Protocol"] = input.Protocol; + } if (input.AlpnPolicy !== undefined) { const memberEntries = serializeAws_queryAlpnPolicyName(input.AlpnPolicy, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4314,21 +4345,24 @@ const serializeAws_queryCreateListenerInput = (input: CreateListenerInput, conte entries[loc] = value; }); } - if (input.Protocol !== undefined) { - entries["Protocol"] = input.Protocol; - } - if (input.Certificates !== undefined) { - const memberEntries = serializeAws_queryCertificateList(input.Certificates, context); + if (input.DefaultActions !== undefined) { + const memberEntries = serializeAws_queryActions(input.DefaultActions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Certificates.${key}`; + const loc = `DefaultActions.${key}`; entries[loc] = value; }); } + if (input.SslPolicy !== undefined) { + entries["SslPolicy"] = input.SslPolicy; + } return entries; }; const serializeAws_queryCreateLoadBalancerInput = (input: CreateLoadBalancerInput, context: __SerdeContext): any => { const entries: any = {}; + if (input.Scheme !== undefined) { + entries["Scheme"] = input.Scheme; + } if (input.IpAddressType !== undefined) { entries["IpAddressType"] = input.IpAddressType; } @@ -4339,19 +4373,19 @@ const serializeAws_queryCreateLoadBalancerInput = (input: CreateLoadBalancerInpu entries[loc] = value; }); } - if (input.Type !== undefined) { - entries["Type"] = input.Type; + if (input.CustomerOwnedIpv4Pool !== undefined) { + entries["CustomerOwnedIpv4Pool"] = input.CustomerOwnedIpv4Pool; } - if (input.SecurityGroups !== undefined) { - const memberEntries = serializeAws_querySecurityGroups(input.SecurityGroups, context); + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } + if (input.SubnetMappings !== undefined) { + const memberEntries = serializeAws_querySubnetMappings(input.SubnetMappings, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SecurityGroups.${key}`; + const loc = `SubnetMappings.${key}`; entries[loc] = value; }); } - if (input.Scheme !== undefined) { - entries["Scheme"] = input.Scheme; - } if (input.Subnets !== undefined) { const memberEntries = serializeAws_querySubnets(input.Subnets, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4359,21 +4393,24 @@ const serializeAws_queryCreateLoadBalancerInput = (input: CreateLoadBalancerInpu entries[loc] = value; }); } - if (input.SubnetMappings !== undefined) { - const memberEntries = serializeAws_querySubnetMappings(input.SubnetMappings, context); + if (input.Type !== undefined) { + entries["Type"] = input.Type; + } + if (input.SecurityGroups !== undefined) { + const memberEntries = serializeAws_querySecurityGroups(input.SecurityGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SubnetMappings.${key}`; + const loc = `SecurityGroups.${key}`; entries[loc] = value; }); } - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } return entries; }; const serializeAws_queryCreateRuleInput = (input: CreateRuleInput, context: __SerdeContext): any => { const entries: any = {}; + if (input.Priority !== undefined) { + entries["Priority"] = input.Priority; + } if (input.Actions !== undefined) { const memberEntries = serializeAws_queryActions(input.Actions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4381,6 +4418,16 @@ const serializeAws_queryCreateRuleInput = (input: CreateRuleInput, context: __Se entries[loc] = value; }); } + if (input.ListenerArn !== undefined) { + entries["ListenerArn"] = input.ListenerArn; + } + 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.Conditions !== undefined) { const memberEntries = serializeAws_queryRuleConditionList(input.Conditions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4388,62 +4435,63 @@ const serializeAws_queryCreateRuleInput = (input: CreateRuleInput, context: __Se entries[loc] = value; }); } - if (input.Priority !== undefined) { - entries["Priority"] = input.Priority; - } - if (input.ListenerArn !== undefined) { - entries["ListenerArn"] = input.ListenerArn; - } return entries; }; const serializeAws_queryCreateTargetGroupInput = (input: CreateTargetGroupInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.Matcher !== undefined) { - const memberEntries = serializeAws_queryMatcher(input.Matcher, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Matcher.${key}`; - entries[loc] = value; - }); + if (input.HealthyThresholdCount !== undefined) { + entries["HealthyThresholdCount"] = input.HealthyThresholdCount; } - if (input.HealthCheckEnabled !== undefined) { - entries["HealthCheckEnabled"] = input.HealthCheckEnabled; + if (input.HealthCheckProtocol !== undefined) { + entries["HealthCheckProtocol"] = input.HealthCheckProtocol; } - if (input.TargetType !== undefined) { - entries["TargetType"] = input.TargetType; + if (input.Name !== undefined) { + entries["Name"] = input.Name; } if (input.UnhealthyThresholdCount !== undefined) { entries["UnhealthyThresholdCount"] = input.UnhealthyThresholdCount; } - if (input.HealthCheckIntervalSeconds !== undefined) { - entries["HealthCheckIntervalSeconds"] = input.HealthCheckIntervalSeconds; - } - if (input.HealthCheckPort !== undefined) { - entries["HealthCheckPort"] = input.HealthCheckPort; + if (input.HealthCheckEnabled !== undefined) { + entries["HealthCheckEnabled"] = input.HealthCheckEnabled; } - if (input.HealthCheckProtocol !== undefined) { - entries["HealthCheckProtocol"] = input.HealthCheckProtocol; + if (input.HealthCheckTimeoutSeconds !== undefined) { + entries["HealthCheckTimeoutSeconds"] = input.HealthCheckTimeoutSeconds; } if (input.HealthCheckPath !== undefined) { entries["HealthCheckPath"] = input.HealthCheckPath; } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.Matcher !== undefined) { + const memberEntries = serializeAws_queryMatcher(input.Matcher, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Matcher.${key}`; + entries[loc] = value; + }); } - if (input.Protocol !== undefined) { - entries["Protocol"] = input.Protocol; + if (input.VpcId !== undefined) { + entries["VpcId"] = input.VpcId; } - if (input.HealthCheckTimeoutSeconds !== undefined) { - entries["HealthCheckTimeoutSeconds"] = input.HealthCheckTimeoutSeconds; + if (input.HealthCheckPort !== undefined) { + entries["HealthCheckPort"] = input.HealthCheckPort; } - if (input.Name !== undefined) { - entries["Name"] = input.Name; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } - if (input.HealthyThresholdCount !== undefined) { - entries["HealthyThresholdCount"] = input.HealthyThresholdCount; + 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.VpcId !== undefined) { - entries["VpcId"] = input.VpcId; + if (input.HealthCheckIntervalSeconds !== undefined) { + entries["HealthCheckIntervalSeconds"] = input.HealthCheckIntervalSeconds; + } + if (input.Protocol !== undefined) { + entries["Protocol"] = input.Protocol; + } + if (input.TargetType !== undefined) { + entries["TargetType"] = input.TargetType; } return entries; }; @@ -4482,6 +4530,9 @@ const serializeAws_queryDeleteTargetGroupInput = (input: DeleteTargetGroupInput, const serializeAws_queryDeregisterTargetsInput = (input: DeregisterTargetsInput, context: __SerdeContext): any => { const entries: any = {}; + if (input.TargetGroupArn !== undefined) { + entries["TargetGroupArn"] = input.TargetGroupArn; + } if (input.Targets !== undefined) { const memberEntries = serializeAws_queryTargetDescriptions(input.Targets, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4489,9 +4540,6 @@ const serializeAws_queryDeregisterTargetsInput = (input: DeregisterTargetsInput, entries[loc] = value; }); } - if (input.TargetGroupArn !== undefined) { - entries["TargetGroupArn"] = input.TargetGroupArn; - } return entries; }; @@ -4500,12 +4548,12 @@ const serializeAws_queryDescribeAccountLimitsInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.PageSize !== undefined) { entries["PageSize"] = input.PageSize; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -4514,14 +4562,14 @@ const serializeAws_queryDescribeListenerCertificatesInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.ListenerArn !== undefined) { + entries["ListenerArn"] = input.ListenerArn; } if (input.PageSize !== undefined) { entries["PageSize"] = input.PageSize; } - if (input.ListenerArn !== undefined) { - entries["ListenerArn"] = input.ListenerArn; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } return entries; }; @@ -4531,6 +4579,12 @@ const serializeAws_queryDescribeListenersInput = (input: DescribeListenersInput, if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.PageSize !== undefined) { + entries["PageSize"] = input.PageSize; + } + if (input.LoadBalancerArn !== undefined) { + entries["LoadBalancerArn"] = input.LoadBalancerArn; + } if (input.ListenerArns !== undefined) { const memberEntries = serializeAws_queryListenerArns(input.ListenerArns, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4538,12 +4592,6 @@ const serializeAws_queryDescribeListenersInput = (input: DescribeListenersInput, entries[loc] = value; }); } - if (input.PageSize !== undefined) { - entries["PageSize"] = input.PageSize; - } - if (input.LoadBalancerArn !== undefined) { - entries["LoadBalancerArn"] = input.LoadBalancerArn; - } return entries; }; @@ -4563,12 +4611,6 @@ const serializeAws_queryDescribeLoadBalancersInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.PageSize !== undefined) { - entries["PageSize"] = input.PageSize; - } if (input.Names !== undefined) { const memberEntries = serializeAws_queryLoadBalancerNames(input.Names, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4576,6 +4618,9 @@ const serializeAws_queryDescribeLoadBalancersInput = ( entries[loc] = value; }); } + if (input.PageSize !== undefined) { + entries["PageSize"] = input.PageSize; + } if (input.LoadBalancerArns !== undefined) { const memberEntries = serializeAws_queryLoadBalancerArns(input.LoadBalancerArns, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4583,6 +4628,9 @@ const serializeAws_queryDescribeLoadBalancersInput = ( entries[loc] = value; }); } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -4594,6 +4642,9 @@ const serializeAws_queryDescribeRulesInput = (input: DescribeRulesInput, context if (input.PageSize !== undefined) { entries["PageSize"] = input.PageSize; } + if (input.ListenerArn !== undefined) { + entries["ListenerArn"] = input.ListenerArn; + } if (input.RuleArns !== undefined) { const memberEntries = serializeAws_queryRuleArns(input.RuleArns, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4601,9 +4652,6 @@ const serializeAws_queryDescribeRulesInput = (input: DescribeRulesInput, context entries[loc] = value; }); } - if (input.ListenerArn !== undefined) { - entries["ListenerArn"] = input.ListenerArn; - } return entries; }; @@ -4653,26 +4701,26 @@ const serializeAws_queryDescribeTargetGroupsInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.Names !== undefined) { - const memberEntries = serializeAws_queryTargetGroupNames(input.Names, context); + if (input.TargetGroupArns !== undefined) { + const memberEntries = serializeAws_queryTargetGroupArns(input.TargetGroupArns, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Names.${key}`; + const loc = `TargetGroupArns.${key}`; entries[loc] = value; }); } if (input.LoadBalancerArn !== undefined) { entries["LoadBalancerArn"] = input.LoadBalancerArn; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.PageSize !== undefined) { entries["PageSize"] = input.PageSize; } - if (input.TargetGroupArns !== undefined) { - const memberEntries = serializeAws_queryTargetGroupArns(input.TargetGroupArns, context); + if (input.Names !== undefined) { + const memberEntries = serializeAws_queryTargetGroupNames(input.Names, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TargetGroupArns.${key}`; + const loc = `Names.${key}`; entries[loc] = value; }); } @@ -4684,6 +4732,9 @@ const serializeAws_queryDescribeTargetHealthInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.TargetGroupArn !== undefined) { + entries["TargetGroupArn"] = input.TargetGroupArn; + } if (input.Targets !== undefined) { const memberEntries = serializeAws_queryTargetDescriptions(input.Targets, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4691,9 +4742,6 @@ const serializeAws_queryDescribeTargetHealthInput = ( entries[loc] = value; }); } - if (input.TargetGroupArn !== undefined) { - entries["TargetGroupArn"] = input.TargetGroupArn; - } return entries; }; @@ -4702,31 +4750,31 @@ const serializeAws_queryFixedResponseActionConfig = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.StatusCode !== undefined) { - entries["StatusCode"] = input.StatusCode; + if (input.ContentType !== undefined) { + entries["ContentType"] = input.ContentType; } if (input.MessageBody !== undefined) { entries["MessageBody"] = input.MessageBody; } - if (input.ContentType !== undefined) { - entries["ContentType"] = input.ContentType; + if (input.StatusCode !== undefined) { + entries["StatusCode"] = input.StatusCode; } return entries; }; const serializeAws_queryForwardActionConfig = (input: ForwardActionConfig, context: __SerdeContext): any => { const entries: any = {}; - if (input.TargetGroupStickinessConfig !== undefined) { - const memberEntries = serializeAws_queryTargetGroupStickinessConfig(input.TargetGroupStickinessConfig, context); + if (input.TargetGroups !== undefined) { + const memberEntries = serializeAws_queryTargetGroupList(input.TargetGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TargetGroupStickinessConfig.${key}`; + const loc = `TargetGroups.${key}`; entries[loc] = value; }); } - if (input.TargetGroups !== undefined) { - const memberEntries = serializeAws_queryTargetGroupList(input.TargetGroups, context); + if (input.TargetGroupStickinessConfig !== undefined) { + const memberEntries = serializeAws_queryTargetGroupStickinessConfig(input.TargetGroupStickinessConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TargetGroups.${key}`; + const loc = `TargetGroupStickinessConfig.${key}`; entries[loc] = value; }); } @@ -4813,12 +4861,12 @@ const serializeAws_queryLoadBalancerArns = (input: string[], context: __SerdeCon const serializeAws_queryLoadBalancerAttribute = (input: LoadBalancerAttribute, context: __SerdeContext): any => { const entries: any = {}; - if (input.Key !== undefined) { - entries["Key"] = input.Key; - } if (input.Value !== undefined) { entries["Value"] = input.Value; } + if (input.Key !== undefined) { + entries["Key"] = input.Key; + } return entries; }; @@ -4855,39 +4903,39 @@ const serializeAws_queryMatcher = (input: Matcher, context: __SerdeContext): any const serializeAws_queryModifyListenerInput = (input: ModifyListenerInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.Port !== undefined) { - entries["Port"] = input.Port; - } - if (input.DefaultActions !== undefined) { - const memberEntries = serializeAws_queryActions(input.DefaultActions, context); + if (input.AlpnPolicy !== undefined) { + const memberEntries = serializeAws_queryAlpnPolicyName(input.AlpnPolicy, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DefaultActions.${key}`; + const loc = `AlpnPolicy.${key}`; entries[loc] = value; }); } - if (input.SslPolicy !== undefined) { - entries["SslPolicy"] = input.SslPolicy; - } if (input.Protocol !== undefined) { entries["Protocol"] = input.Protocol; } - if (input.AlpnPolicy !== undefined) { - const memberEntries = serializeAws_queryAlpnPolicyName(input.AlpnPolicy, context); + if (input.Certificates !== undefined) { + const memberEntries = serializeAws_queryCertificateList(input.Certificates, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AlpnPolicy.${key}`; + const loc = `Certificates.${key}`; entries[loc] = value; }); } if (input.ListenerArn !== undefined) { entries["ListenerArn"] = input.ListenerArn; } - if (input.Certificates !== undefined) { - const memberEntries = serializeAws_queryCertificateList(input.Certificates, context); + if (input.Port !== undefined) { + entries["Port"] = input.Port; + } + if (input.DefaultActions !== undefined) { + const memberEntries = serializeAws_queryActions(input.DefaultActions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Certificates.${key}`; + const loc = `DefaultActions.${key}`; entries[loc] = value; }); } + if (input.SslPolicy !== undefined) { + entries["SslPolicy"] = input.SslPolicy; + } return entries; }; @@ -4896,6 +4944,9 @@ const serializeAws_queryModifyLoadBalancerAttributesInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.LoadBalancerArn !== undefined) { + entries["LoadBalancerArn"] = input.LoadBalancerArn; + } if (input.Attributes !== undefined) { const memberEntries = serializeAws_queryLoadBalancerAttributes(input.Attributes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4903,17 +4954,11 @@ const serializeAws_queryModifyLoadBalancerAttributesInput = ( entries[loc] = value; }); } - if (input.LoadBalancerArn !== undefined) { - entries["LoadBalancerArn"] = input.LoadBalancerArn; - } return entries; }; const serializeAws_queryModifyRuleInput = (input: ModifyRuleInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.RuleArn !== undefined) { - entries["RuleArn"] = input.RuleArn; - } if (input.Conditions !== undefined) { const memberEntries = serializeAws_queryRuleConditionList(input.Conditions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4928,6 +4973,9 @@ const serializeAws_queryModifyRuleInput = (input: ModifyRuleInput, context: __Se entries[loc] = value; }); } + if (input.RuleArn !== undefined) { + entries["RuleArn"] = input.RuleArn; + } return entries; }; @@ -4936,9 +4984,6 @@ const serializeAws_queryModifyTargetGroupAttributesInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TargetGroupArn !== undefined) { - entries["TargetGroupArn"] = input.TargetGroupArn; - } if (input.Attributes !== undefined) { const memberEntries = serializeAws_queryTargetGroupAttributes(input.Attributes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4946,29 +4991,28 @@ const serializeAws_queryModifyTargetGroupAttributesInput = ( entries[loc] = value; }); } + if (input.TargetGroupArn !== undefined) { + entries["TargetGroupArn"] = input.TargetGroupArn; + } return entries; }; const serializeAws_queryModifyTargetGroupInput = (input: ModifyTargetGroupInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.UnhealthyThresholdCount !== undefined) { - entries["UnhealthyThresholdCount"] = input.UnhealthyThresholdCount; - } - if (input.HealthCheckTimeoutSeconds !== undefined) { - entries["HealthCheckTimeoutSeconds"] = input.HealthCheckTimeoutSeconds; + if (input.TargetGroupArn !== undefined) { + entries["TargetGroupArn"] = input.TargetGroupArn; } if (input.HealthCheckIntervalSeconds !== undefined) { entries["HealthCheckIntervalSeconds"] = input.HealthCheckIntervalSeconds; } - if (input.HealthCheckEnabled !== undefined) { - entries["HealthCheckEnabled"] = input.HealthCheckEnabled; + if (input.HealthCheckPort !== undefined) { + entries["HealthCheckPort"] = input.HealthCheckPort; } - if (input.Matcher !== undefined) { - const memberEntries = serializeAws_queryMatcher(input.Matcher, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Matcher.${key}`; - entries[loc] = value; - }); + if (input.HealthCheckProtocol !== undefined) { + entries["HealthCheckProtocol"] = input.HealthCheckProtocol; + } + if (input.HealthCheckTimeoutSeconds !== undefined) { + entries["HealthCheckTimeoutSeconds"] = input.HealthCheckTimeoutSeconds; } if (input.HealthyThresholdCount !== undefined) { entries["HealthyThresholdCount"] = input.HealthyThresholdCount; @@ -4976,14 +5020,18 @@ const serializeAws_queryModifyTargetGroupInput = (input: ModifyTargetGroupInput, if (input.HealthCheckPath !== undefined) { entries["HealthCheckPath"] = input.HealthCheckPath; } - if (input.TargetGroupArn !== undefined) { - entries["TargetGroupArn"] = input.TargetGroupArn; + if (input.HealthCheckEnabled !== undefined) { + entries["HealthCheckEnabled"] = input.HealthCheckEnabled; } - if (input.HealthCheckProtocol !== undefined) { - entries["HealthCheckProtocol"] = input.HealthCheckProtocol; + if (input.UnhealthyThresholdCount !== undefined) { + entries["UnhealthyThresholdCount"] = input.UnhealthyThresholdCount; } - if (input.HealthCheckPort !== undefined) { - entries["HealthCheckPort"] = input.HealthCheckPort; + if (input.Matcher !== undefined) { + const memberEntries = serializeAws_queryMatcher(input.Matcher, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Matcher.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -5020,12 +5068,12 @@ const serializeAws_queryQueryStringConditionConfig = ( const serializeAws_queryQueryStringKeyValuePair = (input: QueryStringKeyValuePair, context: __SerdeContext): any => { const entries: any = {}; - if (input.Key !== undefined) { - entries["Key"] = input.Key; - } if (input.Value !== undefined) { entries["Value"] = input.Value; } + if (input.Key !== undefined) { + entries["Key"] = input.Key; + } return entries; }; @@ -5047,9 +5095,6 @@ const serializeAws_queryQueryStringKeyValuePairList = ( const serializeAws_queryRedirectActionConfig = (input: RedirectActionConfig, context: __SerdeContext): any => { const entries: any = {}; - if (input.Protocol !== undefined) { - entries["Protocol"] = input.Protocol; - } if (input.StatusCode !== undefined) { entries["StatusCode"] = input.StatusCode; } @@ -5059,11 +5104,14 @@ const serializeAws_queryRedirectActionConfig = (input: RedirectActionConfig, con if (input.Port !== undefined) { entries["Port"] = input.Port; } + if (input.Path !== undefined) { + entries["Path"] = input.Path; + } if (input.Host !== undefined) { entries["Host"] = input.Host; } - if (input.Path !== undefined) { - entries["Path"] = input.Path; + if (input.Protocol !== undefined) { + entries["Protocol"] = input.Protocol; } return entries; }; @@ -5088,6 +5136,9 @@ const serializeAws_queryRemoveListenerCertificatesInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ListenerArn !== undefined) { + entries["ListenerArn"] = input.ListenerArn; + } if (input.Certificates !== undefined) { const memberEntries = serializeAws_queryCertificateList(input.Certificates, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -5095,9 +5146,6 @@ const serializeAws_queryRemoveListenerCertificatesInput = ( entries[loc] = value; }); } - if (input.ListenerArn !== undefined) { - entries["ListenerArn"] = input.ListenerArn; - } return entries; }; @@ -5142,24 +5190,27 @@ const serializeAws_queryRuleArns = (input: string[], context: __SerdeContext): a const serializeAws_queryRuleCondition = (input: RuleCondition, context: __SerdeContext): any => { const entries: any = {}; - if (input.HttpHeaderConfig !== undefined) { - const memberEntries = serializeAws_queryHttpHeaderConditionConfig(input.HttpHeaderConfig, context); + if (input.HostHeaderConfig !== undefined) { + const memberEntries = serializeAws_queryHostHeaderConditionConfig(input.HostHeaderConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `HttpHeaderConfig.${key}`; + const loc = `HostHeaderConfig.${key}`; entries[loc] = value; }); } - if (input.HttpRequestMethodConfig !== undefined) { - const memberEntries = serializeAws_queryHttpRequestMethodConditionConfig(input.HttpRequestMethodConfig, context); + if (input.PathPatternConfig !== undefined) { + const memberEntries = serializeAws_queryPathPatternConditionConfig(input.PathPatternConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `HttpRequestMethodConfig.${key}`; + const loc = `PathPatternConfig.${key}`; entries[loc] = value; }); } - if (input.Values !== undefined) { - const memberEntries = serializeAws_queryListOfString(input.Values, context); + if (input.Field !== undefined) { + entries["Field"] = input.Field; + } + if (input.HttpRequestMethodConfig !== undefined) { + const memberEntries = serializeAws_queryHttpRequestMethodConditionConfig(input.HttpRequestMethodConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Values.${key}`; + const loc = `HttpRequestMethodConfig.${key}`; entries[loc] = value; }); } @@ -5170,27 +5221,24 @@ const serializeAws_queryRuleCondition = (input: RuleCondition, context: __SerdeC entries[loc] = value; }); } - if (input.QueryStringConfig !== undefined) { - const memberEntries = serializeAws_queryQueryStringConditionConfig(input.QueryStringConfig, context); + if (input.HttpHeaderConfig !== undefined) { + const memberEntries = serializeAws_queryHttpHeaderConditionConfig(input.HttpHeaderConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `QueryStringConfig.${key}`; + const loc = `HttpHeaderConfig.${key}`; entries[loc] = value; }); } - if (input.PathPatternConfig !== undefined) { - const memberEntries = serializeAws_queryPathPatternConditionConfig(input.PathPatternConfig, context); + if (input.QueryStringConfig !== undefined) { + const memberEntries = serializeAws_queryQueryStringConditionConfig(input.QueryStringConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PathPatternConfig.${key}`; + const loc = `QueryStringConfig.${key}`; entries[loc] = value; }); } - if (input.Field !== undefined) { - entries["Field"] = input.Field; - } - if (input.HostHeaderConfig !== undefined) { - const memberEntries = serializeAws_queryHostHeaderConditionConfig(input.HostHeaderConfig, context); + if (input.Values !== undefined) { + const memberEntries = serializeAws_queryListOfString(input.Values, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `HostHeaderConfig.${key}`; + const loc = `Values.${key}`; entries[loc] = value; }); } @@ -5246,12 +5294,12 @@ const serializeAws_querySecurityGroups = (input: string[], context: __SerdeConte const serializeAws_querySetIpAddressTypeInput = (input: SetIpAddressTypeInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.LoadBalancerArn !== undefined) { - entries["LoadBalancerArn"] = input.LoadBalancerArn; - } if (input.IpAddressType !== undefined) { entries["IpAddressType"] = input.IpAddressType; } + if (input.LoadBalancerArn !== undefined) { + entries["LoadBalancerArn"] = input.LoadBalancerArn; + } return entries; }; @@ -5284,8 +5332,12 @@ const serializeAws_querySetSecurityGroupsInput = (input: SetSecurityGroupsInput, const serializeAws_querySetSubnetsInput = (input: SetSubnetsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.LoadBalancerArn !== undefined) { - entries["LoadBalancerArn"] = input.LoadBalancerArn; + if (input.SubnetMappings !== undefined) { + const memberEntries = serializeAws_querySubnetMappings(input.SubnetMappings, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SubnetMappings.${key}`; + entries[loc] = value; + }); } if (input.Subnets !== undefined) { const memberEntries = serializeAws_querySubnets(input.Subnets, context); @@ -5294,12 +5346,8 @@ const serializeAws_querySetSubnetsInput = (input: SetSubnetsInput, context: __Se entries[loc] = value; }); } - if (input.SubnetMappings !== undefined) { - const memberEntries = serializeAws_querySubnetMappings(input.SubnetMappings, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SubnetMappings.${key}`; - entries[loc] = value; - }); + if (input.LoadBalancerArn !== undefined) { + entries["LoadBalancerArn"] = input.LoadBalancerArn; } return entries; }; @@ -5328,15 +5376,15 @@ const serializeAws_querySslPolicyNames = (input: string[], context: __SerdeConte const serializeAws_querySubnetMapping = (input: SubnetMapping, context: __SerdeContext): any => { const entries: any = {}; + if (input.PrivateIPv4Address !== undefined) { + entries["PrivateIPv4Address"] = input.PrivateIPv4Address; + } if (input.AllocationId !== undefined) { entries["AllocationId"] = input.AllocationId; } if (input.SubnetId !== undefined) { entries["SubnetId"] = input.SubnetId; } - if (input.PrivateIPv4Address !== undefined) { - entries["PrivateIPv4Address"] = input.PrivateIPv4Address; - } return entries; }; @@ -5365,12 +5413,12 @@ const serializeAws_querySubnets = (input: string[], context: __SerdeContext): an const serializeAws_queryTag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Key !== undefined) { entries["Key"] = input.Key; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -5399,15 +5447,15 @@ const serializeAws_queryTagList = (input: Tag[], context: __SerdeContext): any = const serializeAws_queryTargetDescription = (input: TargetDescription, context: __SerdeContext): any => { const entries: any = {}; + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; + } if (input.Id !== undefined) { entries["Id"] = input.Id; } if (input.Port !== undefined) { entries["Port"] = input.Port; } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; - } return entries; }; @@ -5436,12 +5484,12 @@ const serializeAws_queryTargetGroupArns = (input: string[], context: __SerdeCont const serializeAws_queryTargetGroupAttribute = (input: TargetGroupAttribute, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Key !== undefined) { entries["Key"] = input.Key; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -5508,48 +5556,48 @@ const serializeAws_queryTargetGroupTuple = (input: TargetGroupTuple, context: __ const deserializeAws_queryAction = (output: any, context: __SerdeContext): Action => { let contents: any = { - ForwardConfig: undefined, + Type: undefined, + AuthenticateCognitoConfig: undefined, RedirectConfig: undefined, - FixedResponseConfig: undefined, TargetGroupArn: undefined, Order: undefined, - AuthenticateCognitoConfig: undefined, - Type: undefined, + FixedResponseConfig: undefined, AuthenticateOidcConfig: undefined, + ForwardConfig: undefined, }; - if (output["ForwardConfig"] !== undefined) { - contents.ForwardConfig = deserializeAws_queryForwardActionConfig(output["ForwardConfig"], context); - } - if (output["RedirectConfig"] !== undefined) { - contents.RedirectConfig = deserializeAws_queryRedirectActionConfig(output["RedirectConfig"], context); + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; } - if (output["FixedResponseConfig"] !== undefined) { - contents.FixedResponseConfig = deserializeAws_queryFixedResponseActionConfig( - output["FixedResponseConfig"], + if (output["AuthenticateCognitoConfig"] !== undefined) { + contents.AuthenticateCognitoConfig = deserializeAws_queryAuthenticateCognitoActionConfig( + output["AuthenticateCognitoConfig"], context ); } + if (output["RedirectConfig"] !== undefined) { + contents.RedirectConfig = deserializeAws_queryRedirectActionConfig(output["RedirectConfig"], context); + } if (output["TargetGroupArn"] !== undefined) { contents.TargetGroupArn = output["TargetGroupArn"]; } if (output["Order"] !== undefined) { contents.Order = parseInt(output["Order"]); } - if (output["AuthenticateCognitoConfig"] !== undefined) { - contents.AuthenticateCognitoConfig = deserializeAws_queryAuthenticateCognitoActionConfig( - output["AuthenticateCognitoConfig"], + if (output["FixedResponseConfig"] !== undefined) { + contents.FixedResponseConfig = deserializeAws_queryFixedResponseActionConfig( + output["FixedResponseConfig"], context ); } - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; - } if (output["AuthenticateOidcConfig"] !== undefined) { contents.AuthenticateOidcConfig = deserializeAws_queryAuthenticateOidcActionConfig( output["AuthenticateOidcConfig"], context ); } + if (output["ForwardConfig"] !== undefined) { + contents.ForwardConfig = deserializeAws_queryForwardActionConfig(output["ForwardConfig"], context); + } return contents; }; @@ -5629,15 +5677,27 @@ const deserializeAws_queryAuthenticateCognitoActionConfig = ( context: __SerdeContext ): AuthenticateCognitoActionConfig => { let contents: any = { - AuthenticationRequestExtraParams: undefined, - UserPoolArn: undefined, - UserPoolClientId: undefined, - SessionTimeout: undefined, + SessionCookieName: undefined, Scope: undefined, UserPoolDomain: undefined, - SessionCookieName: undefined, + UserPoolArn: undefined, + AuthenticationRequestExtraParams: undefined, + SessionTimeout: undefined, OnUnauthenticatedRequest: undefined, + UserPoolClientId: undefined, }; + if (output["SessionCookieName"] !== undefined) { + contents.SessionCookieName = output["SessionCookieName"]; + } + if (output["Scope"] !== undefined) { + contents.Scope = output["Scope"]; + } + if (output["UserPoolDomain"] !== undefined) { + contents.UserPoolDomain = output["UserPoolDomain"]; + } + if (output["UserPoolArn"] !== undefined) { + contents.UserPoolArn = output["UserPoolArn"]; + } if (output.AuthenticationRequestExtraParams === "") { contents.AuthenticationRequestExtraParams = {}; } @@ -5648,29 +5708,17 @@ const deserializeAws_queryAuthenticateCognitoActionConfig = ( contents.AuthenticationRequestExtraParams = deserializeAws_queryAuthenticateCognitoActionAuthenticationRequestExtraParams( __getArrayIfSingleItem(output["AuthenticationRequestExtraParams"]["entry"]), context - ); - } - if (output["UserPoolArn"] !== undefined) { - contents.UserPoolArn = output["UserPoolArn"]; - } - if (output["UserPoolClientId"] !== undefined) { - contents.UserPoolClientId = output["UserPoolClientId"]; - } - if (output["SessionTimeout"] !== undefined) { - contents.SessionTimeout = parseInt(output["SessionTimeout"]); - } - if (output["Scope"] !== undefined) { - contents.Scope = output["Scope"]; - } - if (output["UserPoolDomain"] !== undefined) { - contents.UserPoolDomain = output["UserPoolDomain"]; + ); } - if (output["SessionCookieName"] !== undefined) { - contents.SessionCookieName = output["SessionCookieName"]; + if (output["SessionTimeout"] !== undefined) { + contents.SessionTimeout = parseInt(output["SessionTimeout"]); } if (output["OnUnauthenticatedRequest"] !== undefined) { contents.OnUnauthenticatedRequest = output["OnUnauthenticatedRequest"]; } + if (output["UserPoolClientId"] !== undefined) { + contents.UserPoolClientId = output["UserPoolClientId"]; + } return contents; }; @@ -5692,34 +5740,49 @@ const deserializeAws_queryAuthenticateOidcActionConfig = ( context: __SerdeContext ): AuthenticateOidcActionConfig => { let contents: any = { + AuthorizationEndpoint: undefined, + UserInfoEndpoint: undefined, + ClientId: undefined, ClientSecret: undefined, + UseExistingClientSecret: undefined, TokenEndpoint: undefined, Issuer: undefined, - AuthorizationEndpoint: undefined, + Scope: undefined, SessionTimeout: undefined, - AuthenticationRequestExtraParams: undefined, OnUnauthenticatedRequest: undefined, + AuthenticationRequestExtraParams: undefined, SessionCookieName: undefined, - Scope: undefined, - UserInfoEndpoint: undefined, - ClientId: undefined, - UseExistingClientSecret: undefined, }; + if (output["AuthorizationEndpoint"] !== undefined) { + contents.AuthorizationEndpoint = output["AuthorizationEndpoint"]; + } + if (output["UserInfoEndpoint"] !== undefined) { + contents.UserInfoEndpoint = output["UserInfoEndpoint"]; + } + if (output["ClientId"] !== undefined) { + contents.ClientId = output["ClientId"]; + } if (output["ClientSecret"] !== undefined) { contents.ClientSecret = output["ClientSecret"]; } + if (output["UseExistingClientSecret"] !== undefined) { + contents.UseExistingClientSecret = output["UseExistingClientSecret"] == "true"; + } if (output["TokenEndpoint"] !== undefined) { contents.TokenEndpoint = output["TokenEndpoint"]; } if (output["Issuer"] !== undefined) { contents.Issuer = output["Issuer"]; } - if (output["AuthorizationEndpoint"] !== undefined) { - contents.AuthorizationEndpoint = output["AuthorizationEndpoint"]; + if (output["Scope"] !== undefined) { + contents.Scope = output["Scope"]; } if (output["SessionTimeout"] !== undefined) { contents.SessionTimeout = parseInt(output["SessionTimeout"]); } + if (output["OnUnauthenticatedRequest"] !== undefined) { + contents.OnUnauthenticatedRequest = output["OnUnauthenticatedRequest"]; + } if (output.AuthenticationRequestExtraParams === "") { contents.AuthenticationRequestExtraParams = {}; } @@ -5732,33 +5795,25 @@ const deserializeAws_queryAuthenticateOidcActionConfig = ( context ); } - if (output["OnUnauthenticatedRequest"] !== undefined) { - contents.OnUnauthenticatedRequest = output["OnUnauthenticatedRequest"]; - } if (output["SessionCookieName"] !== undefined) { contents.SessionCookieName = output["SessionCookieName"]; } - if (output["Scope"] !== undefined) { - contents.Scope = output["Scope"]; - } - if (output["UserInfoEndpoint"] !== undefined) { - contents.UserInfoEndpoint = output["UserInfoEndpoint"]; - } - if (output["ClientId"] !== undefined) { - contents.ClientId = output["ClientId"]; - } - if (output["UseExistingClientSecret"] !== undefined) { - contents.UseExistingClientSecret = output["UseExistingClientSecret"] == "true"; - } return contents; }; const deserializeAws_queryAvailabilityZone = (output: any, context: __SerdeContext): AvailabilityZone => { let contents: any = { - LoadBalancerAddresses: undefined, SubnetId: undefined, ZoneName: undefined, + LoadBalancerAddresses: undefined, + OutpostId: undefined, }; + if (output["SubnetId"] !== undefined) { + contents.SubnetId = output["SubnetId"]; + } + if (output["ZoneName"] !== undefined) { + contents.ZoneName = output["ZoneName"]; + } if (output.LoadBalancerAddresses === "") { contents.LoadBalancerAddresses = []; } @@ -5768,11 +5823,8 @@ const deserializeAws_queryAvailabilityZone = (output: any, context: __SerdeConte context ); } - if (output["SubnetId"] !== undefined) { - contents.SubnetId = output["SubnetId"]; - } - if (output["ZoneName"] !== undefined) { - contents.ZoneName = output["ZoneName"]; + if (output["OutpostId"] !== undefined) { + contents.OutpostId = output["OutpostId"]; } return contents; }; @@ -5796,15 +5848,15 @@ const deserializeAws_queryAvailabilityZones = (output: any, context: __SerdeCont const deserializeAws_queryCertificate = (output: any, context: __SerdeContext): Certificate => { let contents: any = { - IsDefault: undefined, CertificateArn: undefined, + IsDefault: undefined, }; - if (output["IsDefault"] !== undefined) { - contents.IsDefault = output["IsDefault"] == "true"; - } if (output["CertificateArn"] !== undefined) { contents.CertificateArn = output["CertificateArn"]; } + if (output["IsDefault"] !== undefined) { + contents.IsDefault = output["IsDefault"] == "true"; + } return contents; }; @@ -5827,15 +5879,15 @@ const deserializeAws_queryCertificateNotFoundException = ( const deserializeAws_queryCipher = (output: any, context: __SerdeContext): Cipher => { let contents: any = { - Name: undefined, Priority: undefined, + Name: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } if (output["Priority"] !== undefined) { contents.Priority = parseInt(output["Priority"]); } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } return contents; }; @@ -6016,9 +6068,12 @@ const deserializeAws_queryDescribeLoadBalancersOutput = ( context: __SerdeContext ): DescribeLoadBalancersOutput => { let contents: any = { - LoadBalancers: undefined, NextMarker: undefined, + LoadBalancers: undefined, }; + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; + } if (output.LoadBalancers === "") { contents.LoadBalancers = []; } @@ -6028,26 +6083,23 @@ const deserializeAws_queryDescribeLoadBalancersOutput = ( context ); } - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; - } return contents; }; const deserializeAws_queryDescribeRulesOutput = (output: any, context: __SerdeContext): DescribeRulesOutput => { let contents: any = { - Rules: undefined, NextMarker: undefined, + Rules: undefined, }; + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; + } if (output.Rules === "") { contents.Rules = []; } if (output["Rules"] !== undefined && output["Rules"]["member"] !== undefined) { contents.Rules = deserializeAws_queryRules(__getArrayIfSingleItem(output["Rules"]["member"]), context); } - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; - } return contents; }; @@ -6056,9 +6108,12 @@ const deserializeAws_queryDescribeSSLPoliciesOutput = ( context: __SerdeContext ): DescribeSSLPoliciesOutput => { let contents: any = { - SslPolicies: undefined, NextMarker: undefined, + SslPolicies: undefined, }; + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; + } if (output.SslPolicies === "") { contents.SslPolicies = []; } @@ -6068,9 +6123,6 @@ const deserializeAws_queryDescribeSSLPoliciesOutput = ( context ); } - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; - } return contents; }; @@ -6114,12 +6166,9 @@ const deserializeAws_queryDescribeTargetGroupsOutput = ( context: __SerdeContext ): DescribeTargetGroupsOutput => { let contents: any = { - NextMarker: undefined, TargetGroups: undefined, + NextMarker: undefined, }; - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; - } if (output.TargetGroups === "") { contents.TargetGroups = []; } @@ -6129,6 +6178,9 @@ const deserializeAws_queryDescribeTargetGroupsOutput = ( context ); } + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; + } return contents; }; @@ -6208,33 +6260,27 @@ const deserializeAws_queryFixedResponseActionConfig = ( context: __SerdeContext ): FixedResponseActionConfig => { let contents: any = { - StatusCode: undefined, - MessageBody: undefined, ContentType: undefined, + MessageBody: undefined, + StatusCode: undefined, }; - if (output["StatusCode"] !== undefined) { - contents.StatusCode = output["StatusCode"]; + if (output["ContentType"] !== undefined) { + contents.ContentType = output["ContentType"]; } if (output["MessageBody"] !== undefined) { contents.MessageBody = output["MessageBody"]; } - if (output["ContentType"] !== undefined) { - contents.ContentType = output["ContentType"]; + if (output["StatusCode"] !== undefined) { + contents.StatusCode = output["StatusCode"]; } return contents; }; const deserializeAws_queryForwardActionConfig = (output: any, context: __SerdeContext): ForwardActionConfig => { let contents: any = { - TargetGroupStickinessConfig: undefined, TargetGroups: undefined, + TargetGroupStickinessConfig: undefined, }; - if (output["TargetGroupStickinessConfig"] !== undefined) { - contents.TargetGroupStickinessConfig = deserializeAws_queryTargetGroupStickinessConfig( - output["TargetGroupStickinessConfig"], - context - ); - } if (output.TargetGroups === "") { contents.TargetGroups = []; } @@ -6244,6 +6290,12 @@ const deserializeAws_queryForwardActionConfig = (output: any, context: __SerdeCo context ); } + if (output["TargetGroupStickinessConfig"] !== undefined) { + contents.TargetGroupStickinessConfig = deserializeAws_queryTargetGroupStickinessConfig( + output["TargetGroupStickinessConfig"], + context + ); + } return contents; }; @@ -6396,15 +6448,15 @@ const deserializeAws_queryInvalidTargetException = (output: any, context: __Serd const deserializeAws_queryLimit = (output: any, context: __SerdeContext): Limit => { let contents: any = { - Max: undefined, Name: undefined, + Max: undefined, }; - if (output["Max"] !== undefined) { - contents.Max = output["Max"]; - } if (output["Name"] !== undefined) { contents.Name = output["Name"]; } + if (output["Max"] !== undefined) { + contents.Max = output["Max"]; + } return contents; }; @@ -6414,33 +6466,21 @@ const deserializeAws_queryLimits = (output: any, context: __SerdeContext): Limit const deserializeAws_queryListener = (output: any, context: __SerdeContext): Listener => { let contents: any = { - Certificates: undefined, - Port: undefined, - Protocol: undefined, SslPolicy: undefined, + Protocol: undefined, DefaultActions: undefined, - LoadBalancerArn: undefined, - AlpnPolicy: undefined, ListenerArn: undefined, + Certificates: undefined, + AlpnPolicy: undefined, + LoadBalancerArn: undefined, + Port: undefined, }; - if (output.Certificates === "") { - contents.Certificates = []; - } - if (output["Certificates"] !== undefined && output["Certificates"]["member"] !== undefined) { - contents.Certificates = deserializeAws_queryCertificateList( - __getArrayIfSingleItem(output["Certificates"]["member"]), - context - ); - } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["SslPolicy"] !== undefined) { + contents.SslPolicy = output["SslPolicy"]; } if (output["Protocol"] !== undefined) { contents.Protocol = output["Protocol"]; } - if (output["SslPolicy"] !== undefined) { - contents.SslPolicy = output["SslPolicy"]; - } if (output.DefaultActions === "") { contents.DefaultActions = []; } @@ -6450,8 +6490,17 @@ const deserializeAws_queryListener = (output: any, context: __SerdeContext): Lis context ); } - if (output["LoadBalancerArn"] !== undefined) { - contents.LoadBalancerArn = output["LoadBalancerArn"]; + if (output["ListenerArn"] !== undefined) { + contents.ListenerArn = output["ListenerArn"]; + } + if (output.Certificates === "") { + contents.Certificates = []; + } + if (output["Certificates"] !== undefined && output["Certificates"]["member"] !== undefined) { + contents.Certificates = deserializeAws_queryCertificateList( + __getArrayIfSingleItem(output["Certificates"]["member"]), + context + ); } if (output.AlpnPolicy === "") { contents.AlpnPolicy = []; @@ -6462,8 +6511,11 @@ const deserializeAws_queryListener = (output: any, context: __SerdeContext): Lis context ); } - if (output["ListenerArn"] !== undefined) { - contents.ListenerArn = output["ListenerArn"]; + if (output["LoadBalancerArn"] !== undefined) { + contents.LoadBalancerArn = output["LoadBalancerArn"]; + } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } return contents; }; @@ -6491,19 +6543,29 @@ const deserializeAws_queryListOfString = (output: any, context: __SerdeContext): const deserializeAws_queryLoadBalancer = (output: any, context: __SerdeContext): LoadBalancer => { let contents: any = { + Type: undefined, + VpcId: undefined, + LoadBalancerArn: undefined, State: undefined, CanonicalHostedZoneId: undefined, LoadBalancerName: undefined, - DNSName: undefined, - Scheme: undefined, - CreatedTime: undefined, + CustomerOwnedIpv4Pool: undefined, + AvailabilityZones: undefined, SecurityGroups: undefined, + CreatedTime: undefined, + Scheme: undefined, IpAddressType: undefined, - AvailabilityZones: undefined, - Type: undefined, - LoadBalancerArn: undefined, - VpcId: undefined, + DNSName: undefined, }; + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; + } + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; + } + if (output["LoadBalancerArn"] !== undefined) { + contents.LoadBalancerArn = output["LoadBalancerArn"]; + } if (output["State"] !== undefined) { contents.State = deserializeAws_queryLoadBalancerState(output["State"], context); } @@ -6513,14 +6575,17 @@ const deserializeAws_queryLoadBalancer = (output: any, context: __SerdeContext): if (output["LoadBalancerName"] !== undefined) { contents.LoadBalancerName = output["LoadBalancerName"]; } - if (output["DNSName"] !== undefined) { - contents.DNSName = output["DNSName"]; + if (output["CustomerOwnedIpv4Pool"] !== undefined) { + contents.CustomerOwnedIpv4Pool = output["CustomerOwnedIpv4Pool"]; } - if (output["Scheme"] !== undefined) { - contents.Scheme = output["Scheme"]; + if (output.AvailabilityZones === "") { + contents.AvailabilityZones = []; } - if (output["CreatedTime"] !== undefined) { - contents.CreatedTime = new Date(output["CreatedTime"]); + if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["member"] !== undefined) { + contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( + __getArrayIfSingleItem(output["AvailabilityZones"]["member"]), + context + ); } if (output.SecurityGroups === "") { contents.SecurityGroups = []; @@ -6531,45 +6596,36 @@ const deserializeAws_queryLoadBalancer = (output: any, context: __SerdeContext): context ); } - if (output["IpAddressType"] !== undefined) { - contents.IpAddressType = output["IpAddressType"]; - } - if (output.AvailabilityZones === "") { - contents.AvailabilityZones = []; - } - if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["member"] !== undefined) { - contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( - __getArrayIfSingleItem(output["AvailabilityZones"]["member"]), - context - ); + if (output["CreatedTime"] !== undefined) { + contents.CreatedTime = new Date(output["CreatedTime"]); } - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; + if (output["Scheme"] !== undefined) { + contents.Scheme = output["Scheme"]; } - if (output["LoadBalancerArn"] !== undefined) { - contents.LoadBalancerArn = output["LoadBalancerArn"]; + if (output["IpAddressType"] !== undefined) { + contents.IpAddressType = output["IpAddressType"]; } - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; + if (output["DNSName"] !== undefined) { + contents.DNSName = output["DNSName"]; } return contents; }; const deserializeAws_queryLoadBalancerAddress = (output: any, context: __SerdeContext): LoadBalancerAddress => { let contents: any = { + PrivateIPv4Address: undefined, IpAddress: undefined, AllocationId: undefined, - PrivateIPv4Address: undefined, }; + if (output["PrivateIPv4Address"] !== undefined) { + contents.PrivateIPv4Address = output["PrivateIPv4Address"]; + } if (output["IpAddress"] !== undefined) { contents.IpAddress = output["IpAddress"]; } if (output["AllocationId"] !== undefined) { contents.AllocationId = output["AllocationId"]; } - if (output["PrivateIPv4Address"] !== undefined) { - contents.PrivateIPv4Address = output["PrivateIPv4Address"]; - } return contents; }; @@ -6583,15 +6639,15 @@ const deserializeAws_queryLoadBalancerArns = (output: any, context: __SerdeConte const deserializeAws_queryLoadBalancerAttribute = (output: any, context: __SerdeContext): LoadBalancerAttribute => { let contents: any = { - Key: undefined, Value: undefined, + Key: undefined, }; - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; + } return contents; }; @@ -6780,15 +6836,15 @@ const deserializeAws_queryQueryStringConditionConfig = ( const deserializeAws_queryQueryStringKeyValuePair = (output: any, context: __SerdeContext): QueryStringKeyValuePair => { let contents: any = { - Key: undefined, Value: undefined, + Key: undefined, }; - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; + } return contents; }; @@ -6801,16 +6857,13 @@ const deserializeAws_queryQueryStringKeyValuePairList = ( const deserializeAws_queryRedirectActionConfig = (output: any, context: __SerdeContext): RedirectActionConfig => { let contents: any = { - Protocol: undefined, StatusCode: undefined, Query: undefined, Port: undefined, - Host: undefined, Path: undefined, + Host: undefined, + Protocol: undefined, }; - if (output["Protocol"] !== undefined) { - contents.Protocol = output["Protocol"]; - } if (output["StatusCode"] !== undefined) { contents.StatusCode = output["StatusCode"]; } @@ -6820,11 +6873,14 @@ const deserializeAws_queryRedirectActionConfig = (output: any, context: __SerdeC if (output["Port"] !== undefined) { contents.Port = output["Port"]; } + if (output["Path"] !== undefined) { + contents.Path = output["Path"]; + } if (output["Host"] !== undefined) { contents.Host = output["Host"]; } - if (output["Path"] !== undefined) { - contents.Path = output["Path"]; + if (output["Protocol"] !== undefined) { + contents.Protocol = output["Protocol"]; } return contents; }; @@ -6859,26 +6915,17 @@ const deserializeAws_queryResourceInUseException = (output: any, context: __Serd const deserializeAws_queryRule = (output: any, context: __SerdeContext): Rule => { let contents: any = { - IsDefault: undefined, RuleArn: undefined, + IsDefault: undefined, + Conditions: undefined, Priority: undefined, Actions: undefined, - Conditions: undefined, }; - if (output["IsDefault"] !== undefined) { - contents.IsDefault = output["IsDefault"] == "true"; - } if (output["RuleArn"] !== undefined) { contents.RuleArn = output["RuleArn"]; } - if (output["Priority"] !== undefined) { - contents.Priority = output["Priority"]; - } - if (output.Actions === "") { - contents.Actions = []; - } - if (output["Actions"] !== undefined && output["Actions"]["member"] !== undefined) { - contents.Actions = deserializeAws_queryActions(__getArrayIfSingleItem(output["Actions"]["member"]), context); + if (output["IsDefault"] !== undefined) { + contents.IsDefault = output["IsDefault"] == "true"; } if (output.Conditions === "") { contents.Conditions = []; @@ -6889,22 +6936,37 @@ const deserializeAws_queryRule = (output: any, context: __SerdeContext): Rule => context ); } + if (output["Priority"] !== undefined) { + contents.Priority = output["Priority"]; + } + if (output.Actions === "") { + contents.Actions = []; + } + if (output["Actions"] !== undefined && output["Actions"]["member"] !== undefined) { + contents.Actions = deserializeAws_queryActions(__getArrayIfSingleItem(output["Actions"]["member"]), context); + } return contents; }; const deserializeAws_queryRuleCondition = (output: any, context: __SerdeContext): RuleCondition => { let contents: any = { - HttpHeaderConfig: undefined, + HostHeaderConfig: undefined, + PathPatternConfig: undefined, + Field: undefined, HttpRequestMethodConfig: undefined, - Values: undefined, SourceIpConfig: undefined, + HttpHeaderConfig: undefined, QueryStringConfig: undefined, - PathPatternConfig: undefined, - Field: undefined, - HostHeaderConfig: undefined, + Values: undefined, }; - if (output["HttpHeaderConfig"] !== undefined) { - contents.HttpHeaderConfig = deserializeAws_queryHttpHeaderConditionConfig(output["HttpHeaderConfig"], context); + if (output["HostHeaderConfig"] !== undefined) { + contents.HostHeaderConfig = deserializeAws_queryHostHeaderConditionConfig(output["HostHeaderConfig"], context); + } + if (output["PathPatternConfig"] !== undefined) { + contents.PathPatternConfig = deserializeAws_queryPathPatternConditionConfig(output["PathPatternConfig"], context); + } + if (output["Field"] !== undefined) { + contents.Field = output["Field"]; } if (output["HttpRequestMethodConfig"] !== undefined) { contents.HttpRequestMethodConfig = deserializeAws_queryHttpRequestMethodConditionConfig( @@ -6912,26 +6974,20 @@ const deserializeAws_queryRuleCondition = (output: any, context: __SerdeContext) context ); } - if (output.Values === "") { - contents.Values = []; - } - if (output["Values"] !== undefined && output["Values"]["member"] !== undefined) { - contents.Values = deserializeAws_queryListOfString(__getArrayIfSingleItem(output["Values"]["member"]), context); - } if (output["SourceIpConfig"] !== undefined) { contents.SourceIpConfig = deserializeAws_querySourceIpConditionConfig(output["SourceIpConfig"], context); } + if (output["HttpHeaderConfig"] !== undefined) { + contents.HttpHeaderConfig = deserializeAws_queryHttpHeaderConditionConfig(output["HttpHeaderConfig"], context); + } if (output["QueryStringConfig"] !== undefined) { contents.QueryStringConfig = deserializeAws_queryQueryStringConditionConfig(output["QueryStringConfig"], context); } - if (output["PathPatternConfig"] !== undefined) { - contents.PathPatternConfig = deserializeAws_queryPathPatternConditionConfig(output["PathPatternConfig"], context); - } - if (output["Field"] !== undefined) { - contents.Field = output["Field"]; + if (output.Values === "") { + contents.Values = []; } - if (output["HostHeaderConfig"] !== undefined) { - contents.HostHeaderConfig = deserializeAws_queryHostHeaderConditionConfig(output["HostHeaderConfig"], context); + if (output["Values"] !== undefined && output["Values"]["member"] !== undefined) { + contents.Values = deserializeAws_queryListOfString(__getArrayIfSingleItem(output["Values"]["member"]), context); } return contents; }; @@ -7032,15 +7088,12 @@ const deserializeAws_querySslPolicies = (output: any, context: __SerdeContext): const deserializeAws_querySslPolicy = (output: any, context: __SerdeContext): SslPolicy => { let contents: any = { - Ciphers: undefined, - SslProtocols: undefined, Name: undefined, + SslProtocols: undefined, + Ciphers: undefined, }; - if (output.Ciphers === "") { - contents.Ciphers = []; - } - if (output["Ciphers"] !== undefined && output["Ciphers"]["member"] !== undefined) { - contents.Ciphers = deserializeAws_queryCiphers(__getArrayIfSingleItem(output["Ciphers"]["member"]), context); + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; } if (output.SslProtocols === "") { contents.SslProtocols = []; @@ -7051,8 +7104,11 @@ const deserializeAws_querySslPolicy = (output: any, context: __SerdeContext): Ss context ); } - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; + if (output.Ciphers === "") { + contents.Ciphers = []; + } + if (output["Ciphers"] !== undefined && output["Ciphers"]["member"] !== undefined) { + contents.Ciphers = deserializeAws_queryCiphers(__getArrayIfSingleItem(output["Ciphers"]["member"]), context); } return contents; }; @@ -7086,32 +7142,32 @@ const deserializeAws_querySubnetNotFoundException = (output: any, context: __Ser const deserializeAws_queryTag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Value: undefined, Key: undefined, + Value: undefined, }; - if (output["Value"] !== undefined) { - contents.Value = output["Value"]; - } if (output["Key"] !== undefined) { contents.Key = output["Key"]; } + if (output["Value"] !== undefined) { + contents.Value = output["Value"]; + } return contents; }; const deserializeAws_queryTagDescription = (output: any, context: __SerdeContext): TagDescription => { let contents: any = { - ResourceArn: undefined, Tags: undefined, + ResourceArn: undefined, }; - if (output["ResourceArn"] !== undefined) { - contents.ResourceArn = output["ResourceArn"]; - } if (output.Tags === "") { contents.Tags = []; } if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["member"]), context); } + if (output["ResourceArn"] !== undefined) { + contents.ResourceArn = output["ResourceArn"]; + } return contents; }; @@ -7125,85 +7181,67 @@ const deserializeAws_queryTagList = (output: any, context: __SerdeContext): Tag[ const deserializeAws_queryTargetDescription = (output: any, context: __SerdeContext): TargetDescription => { let contents: any = { + AvailabilityZone: undefined, Id: undefined, Port: undefined, - AvailabilityZone: undefined, }; + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; + } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } if (output["Port"] !== undefined) { contents.Port = parseInt(output["Port"]); } - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; - } return contents; }; const deserializeAws_queryTargetGroup = (output: any, context: __SerdeContext): TargetGroup => { let contents: any = { - UnhealthyThresholdCount: undefined, - HealthCheckTimeoutSeconds: undefined, - HealthyThresholdCount: undefined, - HealthCheckIntervalSeconds: undefined, - HealthCheckEnabled: undefined, - VpcId: undefined, - Protocol: undefined, TargetGroupName: undefined, + VpcId: undefined, + HealthCheckPort: undefined, TargetType: undefined, - Matcher: undefined, - HealthCheckPath: undefined, - TargetGroupArn: undefined, - Port: undefined, HealthCheckProtocol: undefined, - HealthCheckPort: undefined, + HealthyThresholdCount: undefined, + Protocol: undefined, + TargetGroupArn: undefined, + HealthCheckIntervalSeconds: undefined, LoadBalancerArns: undefined, + HealthCheckTimeoutSeconds: undefined, + HealthCheckPath: undefined, + Port: undefined, + UnhealthyThresholdCount: undefined, + HealthCheckEnabled: undefined, + Matcher: undefined, }; - if (output["UnhealthyThresholdCount"] !== undefined) { - contents.UnhealthyThresholdCount = parseInt(output["UnhealthyThresholdCount"]); - } - if (output["HealthCheckTimeoutSeconds"] !== undefined) { - contents.HealthCheckTimeoutSeconds = parseInt(output["HealthCheckTimeoutSeconds"]); - } - if (output["HealthyThresholdCount"] !== undefined) { - contents.HealthyThresholdCount = parseInt(output["HealthyThresholdCount"]); - } - if (output["HealthCheckIntervalSeconds"] !== undefined) { - contents.HealthCheckIntervalSeconds = parseInt(output["HealthCheckIntervalSeconds"]); - } - if (output["HealthCheckEnabled"] !== undefined) { - contents.HealthCheckEnabled = output["HealthCheckEnabled"] == "true"; + if (output["TargetGroupName"] !== undefined) { + contents.TargetGroupName = output["TargetGroupName"]; } if (output["VpcId"] !== undefined) { contents.VpcId = output["VpcId"]; } - if (output["Protocol"] !== undefined) { - contents.Protocol = output["Protocol"]; - } - if (output["TargetGroupName"] !== undefined) { - contents.TargetGroupName = output["TargetGroupName"]; + if (output["HealthCheckPort"] !== undefined) { + contents.HealthCheckPort = output["HealthCheckPort"]; } if (output["TargetType"] !== undefined) { contents.TargetType = output["TargetType"]; } - if (output["Matcher"] !== undefined) { - contents.Matcher = deserializeAws_queryMatcher(output["Matcher"], context); + if (output["HealthCheckProtocol"] !== undefined) { + contents.HealthCheckProtocol = output["HealthCheckProtocol"]; } - if (output["HealthCheckPath"] !== undefined) { - contents.HealthCheckPath = output["HealthCheckPath"]; + if (output["HealthyThresholdCount"] !== undefined) { + contents.HealthyThresholdCount = parseInt(output["HealthyThresholdCount"]); + } + if (output["Protocol"] !== undefined) { + contents.Protocol = output["Protocol"]; } if (output["TargetGroupArn"] !== undefined) { contents.TargetGroupArn = output["TargetGroupArn"]; } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } - if (output["HealthCheckProtocol"] !== undefined) { - contents.HealthCheckProtocol = output["HealthCheckProtocol"]; - } - if (output["HealthCheckPort"] !== undefined) { - contents.HealthCheckPort = output["HealthCheckPort"]; + if (output["HealthCheckIntervalSeconds"] !== undefined) { + contents.HealthCheckIntervalSeconds = parseInt(output["HealthCheckIntervalSeconds"]); } if (output.LoadBalancerArns === "") { contents.LoadBalancerArns = []; @@ -7214,6 +7252,24 @@ const deserializeAws_queryTargetGroup = (output: any, context: __SerdeContext): context ); } + if (output["HealthCheckTimeoutSeconds"] !== undefined) { + contents.HealthCheckTimeoutSeconds = parseInt(output["HealthCheckTimeoutSeconds"]); + } + if (output["HealthCheckPath"] !== undefined) { + contents.HealthCheckPath = output["HealthCheckPath"]; + } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } + if (output["UnhealthyThresholdCount"] !== undefined) { + contents.UnhealthyThresholdCount = parseInt(output["UnhealthyThresholdCount"]); + } + if (output["HealthCheckEnabled"] !== undefined) { + contents.HealthCheckEnabled = output["HealthCheckEnabled"] == "true"; + } + if (output["Matcher"] !== undefined) { + contents.Matcher = deserializeAws_queryMatcher(output["Matcher"], context); + } return contents; }; @@ -7232,15 +7288,15 @@ const deserializeAws_queryTargetGroupAssociationLimitException = ( const deserializeAws_queryTargetGroupAttribute = (output: any, context: __SerdeContext): TargetGroupAttribute => { let contents: any = { - Value: undefined, Key: undefined, + Value: undefined, }; - if (output["Value"] !== undefined) { - contents.Value = output["Value"]; - } if (output["Key"] !== undefined) { contents.Key = output["Key"]; } + if (output["Value"] !== undefined) { + contents.Value = output["Value"]; + } return contents; }; @@ -7302,16 +7358,16 @@ const deserializeAws_queryTargetGroupTuple = (output: any, context: __SerdeConte const deserializeAws_queryTargetHealth = (output: any, context: __SerdeContext): TargetHealth => { let contents: any = { - Reason: undefined, Description: undefined, + Reason: undefined, State: undefined, }; - if (output["Reason"] !== undefined) { - contents.Reason = output["Reason"]; - } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } + if (output["Reason"] !== undefined) { + contents.Reason = output["Reason"]; + } if (output["State"] !== undefined) { contents.State = output["State"]; } @@ -7320,19 +7376,19 @@ const deserializeAws_queryTargetHealth = (output: any, context: __SerdeContext): const deserializeAws_queryTargetHealthDescription = (output: any, context: __SerdeContext): TargetHealthDescription => { let contents: any = { + TargetHealth: undefined, HealthCheckPort: undefined, Target: undefined, - TargetHealth: undefined, }; + if (output["TargetHealth"] !== undefined) { + contents.TargetHealth = deserializeAws_queryTargetHealth(output["TargetHealth"], context); + } if (output["HealthCheckPort"] !== undefined) { contents.HealthCheckPort = output["HealthCheckPort"]; } if (output["Target"] !== undefined) { contents.Target = deserializeAws_queryTargetDescription(output["Target"], context); } - if (output["TargetHealth"] !== undefined) { - contents.TargetHealth = deserializeAws_queryTargetHealth(output["TargetHealth"], context); - } return contents; }; diff --git a/clients/client-elastic-load-balancing/models/models_0.ts b/clients/client-elastic-load-balancing/models/models_0.ts index 5ee5e31b04d9..f491f80b54f9 100644 --- a/clients/client-elastic-load-balancing/models/models_0.ts +++ b/clients/client-elastic-load-balancing/models/models_0.ts @@ -6,10 +6,10 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface AccessLog { /** - *

                                                      The interval for publishing the access logs. You can specify an interval of either 5 minutes or 60 minutes.

                                                      - *

                                                      Default: 60 minutes

                                                      + *

                                                      The logical hierarchy you created for your Amazon S3 bucket, for example my-bucket-prefix/prod. + * If the prefix is not provided, the log is placed at the root level of the bucket.

                                                      */ - EmitInterval?: number; + S3BucketPrefix?: string; /** *

                                                      The name of the Amazon S3 bucket where the access logs are stored.

                                                      @@ -17,10 +17,10 @@ export interface AccessLog { S3BucketName?: string; /** - *

                                                      The logical hierarchy you created for your Amazon S3 bucket, for example my-bucket-prefix/prod. - * If the prefix is not provided, the log is placed at the root level of the bucket.

                                                      + *

                                                      The interval for publishing the access logs. You can specify an interval of either 5 minutes or 60 minutes.

                                                      + *

                                                      Default: 60 minutes

                                                      */ - S3BucketPrefix?: string; + EmitInterval?: number; /** *

                                                      Specifies whether access logs are enabled for the load balancer.

                                                      @@ -54,14 +54,14 @@ export namespace AccessPointNotFoundException { */ export interface AddAvailabilityZonesInput { /** - *

                                                      The Availability Zones. These must be in the same region as the load balancer.

                                                      + *

                                                      The name of the load balancer.

                                                      */ - AvailabilityZones: string[] | undefined; + LoadBalancerName: string | undefined; /** - *

                                                      The name of the load balancer.

                                                      + *

                                                      The Availability Zones. These must be in the same region as the load balancer.

                                                      */ - LoadBalancerName: string | undefined; + AvailabilityZones: string[] | undefined; } export namespace AddAvailabilityZonesInput { @@ -87,18 +87,27 @@ export namespace AddAvailabilityZonesOutput { } /** - *

                                                      This data type is reserved.

                                                      + *

                                                      Information about additional load balancer attributes.

                                                      */ export interface AdditionalAttribute { /** - *

                                                      This parameter is reserved.

                                                      + *

                                                      The name of the attribute.

                                                      + *

                                                      The following attribute is supported.

                                                      + *
                                                        + *
                                                      • + *

                                                        + * elb.http.desyncmitigationmode - Determines how the load balancer handles requests that + * might pose a security risk to your application. The possible values are monitor, + * defensive, and strictest. The default is defensive.

                                                        + *
                                                      • + *
                                                      */ - Value?: string; + Key?: string; /** - *

                                                      This parameter is reserved.

                                                      + *

                                                      This value of the attribute.

                                                      */ - Key?: string; + Value?: string; } export namespace AdditionalAttribute { @@ -112,14 +121,14 @@ export namespace AdditionalAttribute { */ export interface Tag { /** - *

                                                      The value of the tag.

                                                      + *

                                                      The key of the tag.

                                                      */ - Value?: string; + Key: string | undefined; /** - *

                                                      The key of the tag.

                                                      + *

                                                      The value of the tag.

                                                      */ - Key: string | undefined; + Value?: string; } export namespace Tag { @@ -133,14 +142,14 @@ export namespace Tag { */ export interface AddTagsInput { /** - *

                                                      The tags.

                                                      + *

                                                      The name of the load balancer. You can specify one load balancer only.

                                                      */ - Tags: Tag[] | undefined; + LoadBalancerNames: string[] | undefined; /** - *

                                                      The name of the load balancer. You can specify one load balancer only.

                                                      + *

                                                      The tags.

                                                      */ - LoadBalancerNames: string[] | undefined; + Tags: Tag[] | undefined; } export namespace AddTagsInput { @@ -216,14 +225,14 @@ export namespace AppCookieStickinessPolicy { */ export interface ApplySecurityGroupsToLoadBalancerInput { /** - *

                                                      The IDs of the security groups to associate with the load balancer. Note that you cannot specify the name of the security group.

                                                      + *

                                                      The name of the load balancer.

                                                      */ - SecurityGroups: string[] | undefined; + LoadBalancerName: string | undefined; /** - *

                                                      The name of the load balancer.

                                                      + *

                                                      The IDs of the security groups to associate with the load balancer. Note that you cannot specify the name of the security group.

                                                      */ - LoadBalancerName: string | undefined; + SecurityGroups: string[] | undefined; } export namespace ApplySecurityGroupsToLoadBalancerInput { @@ -387,15 +396,6 @@ export namespace CertificateNotFoundException { *

                                                      Information about a health check.

                                                      */ export interface HealthCheck { - /** - *

                                                      The instance being checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The range of valid ports is one (1) through 65535.

                                                      - *

                                                      TCP is the default, specified as a TCP: port pair, for example "TCP:5000". In this case, a health check simply attempts to open a TCP connection to the instance on the specified port. Failure to connect within the configured timeout is considered unhealthy.

                                                      - *

                                                      SSL is also specified as SSL: port pair, for example, SSL:5000.

                                                      - *

                                                      For HTTP/HTTPS, you must include a ping path in the string. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example "HTTP:80/weather/us/wa/seattle". In this case, a HTTP GET request is issued to the instance on the given port and path. Any answer other than "200 OK" within the timeout period is considered unhealthy.

                                                      - *

                                                      The total length of the HTTP ping target must be 1024 16-bit Unicode characters or less.

                                                      - */ - Target: string | undefined; - /** *

                                                      The number of consecutive health checks successes required before moving the instance to the Healthy state.

                                                      */ @@ -407,15 +407,24 @@ export interface HealthCheck { UnhealthyThreshold: number | undefined; /** - *

                                                      The amount of time, in seconds, during which no response means a failed health check.

                                                      - *

                                                      This value must be less than the Interval value.

                                                      + *

                                                      The instance being checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The range of valid ports is one (1) through 65535.

                                                      + *

                                                      TCP is the default, specified as a TCP: port pair, for example "TCP:5000". In this case, a health check simply attempts to open a TCP connection to the instance on the specified port. Failure to connect within the configured timeout is considered unhealthy.

                                                      + *

                                                      SSL is also specified as SSL: port pair, for example, SSL:5000.

                                                      + *

                                                      For HTTP/HTTPS, you must include a ping path in the string. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example "HTTP:80/weather/us/wa/seattle". In this case, a HTTP GET request is issued to the instance on the given port and path. Any answer other than "200 OK" within the timeout period is considered unhealthy.

                                                      + *

                                                      The total length of the HTTP ping target must be 1024 16-bit Unicode characters or less.

                                                      */ - Timeout: number | undefined; + Target: string | undefined; /** *

                                                      The approximate interval, in seconds, between health checks of an individual instance.

                                                      */ Interval: number | undefined; + + /** + *

                                                      The amount of time, in seconds, during which no response means a failed health check.

                                                      + *

                                                      This value must be less than the Interval value.

                                                      + */ + Timeout: number | undefined; } export namespace HealthCheck { @@ -466,14 +475,14 @@ export namespace ConfigureHealthCheckOutput { */ export interface ConnectionDraining { /** - *

                                                      Specifies whether connection draining is enabled for the load balancer.

                                                      + *

                                                      The maximum time, in seconds, to keep the existing connections open before deregistering the instances.

                                                      */ - Enabled: boolean | undefined; + Timeout?: number; /** - *

                                                      The maximum time, in seconds, to keep the existing connections open before deregistering the instances.

                                                      + *

                                                      Specifies whether connection draining is enabled for the load balancer.

                                                      */ - Timeout?: number; + Enabled: boolean | undefined; } export namespace ConnectionDraining { @@ -505,29 +514,30 @@ export namespace ConnectionSettings { */ export interface Listener { /** - *

                                                      The Amazon Resource Name (ARN) of the server certificate.

                                                      + *

                                                      The port on which the load balancer is listening. On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535.

                                                      */ - SSLCertificateId?: string; + LoadBalancerPort: number | undefined; /** - *

                                                      The port on which the load balancer is listening. On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535.

                                                      + *

                                                      The port on which the instance is listening.

                                                      */ - LoadBalancerPort: number | undefined; + InstancePort: number | undefined; /** *

                                                      The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or SSL.

                                                      - *

                                                      If the front-end protocol is HTTP, HTTPS, TCP, or SSL, InstanceProtocol must be at the same protocol.

                                                      - *

                                                      If there is another listener with the same InstancePort whose InstanceProtocol is secure, - * (HTTPS or SSL), the listener's InstanceProtocol must also be secure.

                                                      + *

                                                      If the front-end protocol is TCP or SSL, the back-end protocol must be TCP or SSL. + * If the front-end protocol is HTTP or HTTPS, the back-end protocol must be HTTP or HTTPS.

                                                      + *

                                                      If there is another listener with the same InstancePort whose InstanceProtocol is secure, + * (HTTPS or SSL), the listener's InstanceProtocol must also be secure.

                                                      *

                                                      If there is another listener with the same InstancePort whose InstanceProtocol is HTTP or TCP, * the listener's InstanceProtocol must be HTTP or TCP.

                                                      */ InstanceProtocol?: string; /** - *

                                                      The port on which the instance is listening.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the server certificate.

                                                      */ - InstancePort: number | undefined; + SSLCertificateId?: string; /** *

                                                      The load balancer transport protocol to use for routing: HTTP, HTTPS, TCP, or SSL.

                                                      @@ -546,24 +556,18 @@ export namespace Listener { */ export interface CreateAccessPointInput { /** - *

                                                      The name of the load balancer.

                                                      - *

                                                      This name must be unique within your set of load balancers for the region, must have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and cannot begin or end with a hyphen.

                                                      - */ - LoadBalancerName: string | undefined; - - /** - *

                                                      A list of tags to assign to the load balancer.

                                                      - *

                                                      For more information about tagging your load balancer, see Tag Your Classic Load Balancer - * in the Classic Load Balancers Guide.

                                                      + *

                                                      One or more Availability Zones from the same region as the load balancer.

                                                      + *

                                                      You must specify at least one Availability Zone.

                                                      + *

                                                      You can add more Availability Zones after you create the load balancer using + * EnableAvailabilityZonesForLoadBalancer.

                                                      */ - Tags?: Tag[]; + AvailabilityZones?: string[]; /** - *

                                                      The listeners.

                                                      - *

                                                      For more information, see Listeners for Your Classic Load Balancer - * in the Classic Load Balancers Guide.

                                                      + *

                                                      The IDs of the subnets in your VPC to attach to the load balancer. + * Specify one subnet per Availability Zone specified in AvailabilityZones.

                                                      */ - Listeners: Listener[] | undefined; + Subnets?: string[]; /** *

                                                      The IDs of the security groups to assign to the load balancer.

                                                      @@ -580,18 +584,24 @@ export interface CreateAccessPointInput { Scheme?: string; /** - *

                                                      The IDs of the subnets in your VPC to attach to the load balancer. - * Specify one subnet per Availability Zone specified in AvailabilityZones.

                                                      + *

                                                      A list of tags to assign to the load balancer.

                                                      + *

                                                      For more information about tagging your load balancer, see Tag Your Classic Load Balancer + * in the Classic Load Balancers Guide.

                                                      */ - Subnets?: string[]; + Tags?: Tag[]; /** - *

                                                      One or more Availability Zones from the same region as the load balancer.

                                                      - *

                                                      You must specify at least one Availability Zone.

                                                      - *

                                                      You can add more Availability Zones after you create the load balancer using - * EnableAvailabilityZonesForLoadBalancer.

                                                      + *

                                                      The listeners.

                                                      + *

                                                      For more information, see Listeners for Your Classic Load Balancer + * in the Classic Load Balancers Guide.

                                                      */ - AvailabilityZones?: string[]; + Listeners: Listener[] | undefined; + + /** + *

                                                      The name of the load balancer.

                                                      + *

                                                      This name must be unique within your set of load balancers for the region, must have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and cannot begin or end with a hyphen.

                                                      + */ + LoadBalancerName: string | undefined; } export namespace CreateAccessPointInput { @@ -621,9 +631,9 @@ export namespace CreateAccessPointOutput { */ export interface CreateAppCookieStickinessPolicyInput { /** - *

                                                      The name of the application cookie used for stickiness.

                                                      + *

                                                      The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.

                                                      */ - CookieName: string | undefined; + PolicyName: string | undefined; /** *

                                                      The name of the load balancer.

                                                      @@ -631,9 +641,9 @@ export interface CreateAppCookieStickinessPolicyInput { LoadBalancerName: string | undefined; /** - *

                                                      The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.

                                                      + *

                                                      The name of the application cookie used for stickiness.

                                                      */ - PolicyName: string | undefined; + CookieName: string | undefined; } export namespace CreateAppCookieStickinessPolicyInput { @@ -687,6 +697,11 @@ export namespace TooManyPoliciesException { *

                                                      Contains the parameters for CreateLBCookieStickinessPolicy.

                                                      */ export interface CreateLBCookieStickinessPolicyInput { + /** + *

                                                      The name of the load balancer.

                                                      + */ + LoadBalancerName: string | undefined; + /** *

                                                      The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.

                                                      */ @@ -696,11 +711,6 @@ export interface CreateLBCookieStickinessPolicyInput { *

                                                      The time period, in seconds, after which the cookie should be considered stale. If you do not specify this parameter, the default value is 0, which indicates that the sticky session should last for the duration of the browser session.

                                                      */ CookieExpirationPeriod?: number; - - /** - *

                                                      The name of the load balancer.

                                                      - */ - LoadBalancerName: string | undefined; } export namespace CreateLBCookieStickinessPolicyInput { @@ -800,14 +810,14 @@ export namespace UnsupportedProtocolException { */ export interface CreateLoadBalancerListenerInput { /** - *

                                                      The name of the load balancer.

                                                      + *

                                                      The listeners.

                                                      */ - LoadBalancerName: string | undefined; + Listeners: Listener[] | undefined; /** - *

                                                      The listeners.

                                                      + *

                                                      The name of the load balancer.

                                                      */ - Listeners: Listener[] | undefined; + LoadBalancerName: string | undefined; } export namespace CreateLoadBalancerListenerInput { @@ -867,26 +877,26 @@ export namespace PolicyAttribute { *

                                                      Contains the parameters for CreateLoadBalancerPolicy.

                                                      */ export interface CreateLoadBalancerPolicyInput { + /** + *

                                                      The name of the load balancer policy to be created. This name must be unique within the set of policies for this load balancer.

                                                      + */ + PolicyName: string | undefined; + /** *

                                                      The name of the load balancer.

                                                      */ LoadBalancerName: string | undefined; /** - *

                                                      The name of the load balancer policy to be created. This name must be unique within the set of policies for this load balancer.

                                                      + *

                                                      The policy attributes.

                                                      */ - PolicyName: string | undefined; + PolicyAttributes?: PolicyAttribute[]; /** *

                                                      The name of the base policy type. * To get the list of policy types, use DescribeLoadBalancerPolicyTypes.

                                                      */ PolicyTypeName: string | undefined; - - /** - *

                                                      The policy attributes.

                                                      - */ - PolicyAttributes?: PolicyAttribute[]; } export namespace CreateLoadBalancerPolicyInput { @@ -1064,14 +1074,14 @@ export namespace Instance { */ export interface DeregisterEndPointsInput { /** - *

                                                      The name of the load balancer.

                                                      + *

                                                      The IDs of the instances.

                                                      */ - LoadBalancerName: string | undefined; + Instances: Instance[] | undefined; /** - *

                                                      The IDs of the instances.

                                                      + *

                                                      The name of the load balancer.

                                                      */ - Instances: Instance[] | undefined; + LoadBalancerName: string | undefined; } export namespace DeregisterEndPointsInput { @@ -1116,14 +1126,14 @@ export namespace InvalidEndPointException { */ export interface DescribeAccessPointsInput { /** - *

                                                      The names of the load balancers.

                                                      + *

                                                      The marker for the next set of results. (You received this marker from a previous call.)

                                                      */ - LoadBalancerNames?: string[]; + Marker?: string; /** - *

                                                      The marker for the next set of results. (You received this marker from a previous call.)

                                                      + *

                                                      The names of the load balancers.

                                                      */ - Marker?: string; + LoadBalancerNames?: string[]; /** *

                                                      The maximum number of results to return with this call (a number from 1 to 400). The default is 400.

                                                      @@ -1142,14 +1152,14 @@ export namespace DescribeAccessPointsInput { */ export interface ListenerDescription { /** - *

                                                      The listener.

                                                      + *

                                                      The policies. If there are no policies enabled, the list is empty.

                                                      */ - Listener?: Listener; + PolicyNames?: string[]; /** - *

                                                      The policies. If there are no policies enabled, the list is empty.

                                                      + *

                                                      The listener.

                                                      */ - PolicyNames?: string[]; + Listener?: Listener; } export namespace ListenerDescription { @@ -1184,14 +1194,14 @@ export namespace LBCookieStickinessPolicy { */ export interface Policies { /** - *

                                                      The policies other than the stickiness policies.

                                                      + *

                                                      The stickiness policies created using CreateLBCookieStickinessPolicy.

                                                      */ - OtherPolicies?: string[]; + LBCookieStickinessPolicies?: LBCookieStickinessPolicy[]; /** - *

                                                      The stickiness policies created using CreateLBCookieStickinessPolicy.

                                                      + *

                                                      The policies other than the stickiness policies.

                                                      */ - LBCookieStickinessPolicies?: LBCookieStickinessPolicy[]; + OtherPolicies?: string[]; /** *

                                                      The stickiness policies created using CreateAppCookieStickinessPolicy.

                                                      @@ -1210,14 +1220,14 @@ export namespace Policies { */ export interface SourceSecurityGroup { /** - *

                                                      The owner of the security group.

                                                      + *

                                                      The name of the security group.

                                                      */ - OwnerAlias?: string; + GroupName?: string; /** - *

                                                      The name of the security group.

                                                      + *

                                                      The owner of the security group.

                                                      */ - GroupName?: string; + OwnerAlias?: string; } export namespace SourceSecurityGroup { @@ -1231,33 +1241,34 @@ export namespace SourceSecurityGroup { */ export interface LoadBalancerDescription { /** - *

                                                      Information about your EC2 instances.

                                                      + *

                                                      The ID of the Amazon Route 53 hosted zone for the load balancer.

                                                      */ - BackendServerDescriptions?: BackendServerDescription[]; + CanonicalHostedZoneNameID?: string; /** - *

                                                      The DNS name of the load balancer.

                                                      + *

                                                      The name of the load balancer.

                                                      */ - DNSName?: string; + LoadBalancerName?: string; /** - *

                                                      The date and time the load balancer was created.

                                                      + *

                                                      The ID of the VPC for the load balancer.

                                                      */ - CreatedTime?: Date; + VPCId?: string; /** - *

                                                      The type of load balancer. Valid only for load balancers in a VPC.

                                                      - *

                                                      If Scheme is internet-facing, the load balancer - * has a public DNS name that resolves to a public IP address.

                                                      - *

                                                      If Scheme is internal, the load balancer has a public - * DNS name that resolves to a private IP address.

                                                      + *

                                                      The IDs of the subnets for the load balancer.

                                                      */ - Scheme?: string; + Subnets?: string[]; /** - *

                                                      The security groups for the load balancer. Valid only for load balancers in a VPC.

                                                      + *

                                                      The DNS name of the load balancer.

                                                      */ - SecurityGroups?: string[]; + DNSName?: string; + + /** + *

                                                      The policies defined for the load balancer.

                                                      + */ + Policies?: Policies; /** *

                                                      The DNS name of the load balancer.

                                                      @@ -1267,24 +1278,20 @@ export interface LoadBalancerDescription { CanonicalHostedZoneName?: string; /** - *

                                                      The ID of the Amazon Route 53 hosted zone for the load balancer.

                                                      - */ - CanonicalHostedZoneNameID?: string; - - /** - *

                                                      The IDs of the instances for the load balancer.

                                                      + *

                                                      Information about your EC2 instances.

                                                      */ - Instances?: Instance[]; + BackendServerDescriptions?: BackendServerDescription[]; /** - *

                                                      The listeners for the load balancer.

                                                      + *

                                                      The security groups for the load balancer. Valid only for load balancers in a VPC.

                                                      */ - ListenerDescriptions?: ListenerDescription[]; + SecurityGroups?: string[]; /** - *

                                                      Information about the health checks conducted on the load balancer.

                                                      + *

                                                      The security group for the load balancer, which you can use as part of your inbound rules for your registered instances. + * To only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.

                                                      */ - HealthCheck?: HealthCheck; + SourceSecurityGroup?: SourceSecurityGroup; /** *

                                                      The Availability Zones for the load balancer.

                                                      @@ -1292,30 +1299,33 @@ export interface LoadBalancerDescription { AvailabilityZones?: string[]; /** - *

                                                      The security group for the load balancer, which you can use as part of your inbound rules for your registered instances. - * To only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.

                                                      + *

                                                      The IDs of the instances for the load balancer.

                                                      */ - SourceSecurityGroup?: SourceSecurityGroup; + Instances?: Instance[]; /** - *

                                                      The ID of the VPC for the load balancer.

                                                      + *

                                                      The type of load balancer. Valid only for load balancers in a VPC.

                                                      + *

                                                      If Scheme is internet-facing, the load balancer + * has a public DNS name that resolves to a public IP address.

                                                      + *

                                                      If Scheme is internal, the load balancer has a public + * DNS name that resolves to a private IP address.

                                                      */ - VPCId?: string; + Scheme?: string; /** - *

                                                      The policies defined for the load balancer.

                                                      + *

                                                      The date and time the load balancer was created.

                                                      */ - Policies?: Policies; + CreatedTime?: Date; /** - *

                                                      The name of the load balancer.

                                                      + *

                                                      Information about the health checks conducted on the load balancer.

                                                      */ - LoadBalancerName?: string; + HealthCheck?: HealthCheck; /** - *

                                                      The IDs of the subnets for the load balancer.

                                                      + *

                                                      The listeners for the load balancer.

                                                      */ - Subnets?: string[]; + ListenerDescriptions?: ListenerDescription[]; } export namespace LoadBalancerDescription { @@ -1329,14 +1339,14 @@ export namespace LoadBalancerDescription { */ export interface DescribeAccessPointsOutput { /** - *

                                                      The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

                                                      + *

                                                      Information about the load balancers.

                                                      */ - NextMarker?: string; + LoadBalancerDescriptions?: LoadBalancerDescription[]; /** - *

                                                      Information about the load balancers.

                                                      + *

                                                      The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

                                                      */ - LoadBalancerDescriptions?: LoadBalancerDescription[]; + NextMarker?: string; } export namespace DescribeAccessPointsOutput { @@ -1438,6 +1448,18 @@ export namespace DescribeEndPointStateInput { *

                                                      Information about the state of an EC2 instance.

                                                      */ export interface InstanceState { + /** + *

                                                      The ID of the instance.

                                                      + */ + InstanceId?: string; + + /** + *

                                                      The current state of the instance.

                                                      + *

                                                      Valid values: InService | OutOfService | Unknown + *

                                                      + */ + State?: string; + /** *

                                                      A description of the instance state. This string can contain one or more of the following messages.

                                                      *
                                                        @@ -1505,18 +1527,6 @@ export interface InstanceState { */ Description?: string; - /** - *

                                                        The ID of the instance.

                                                        - */ - InstanceId?: string; - - /** - *

                                                        The current state of the instance.

                                                        - *

                                                        Valid values: InService | OutOfService | Unknown - *

                                                        - */ - State?: string; - /** *

                                                        Information about the cause of OutOfService instances. * Specifically, whether the cause is Elastic Load Balancing or the instance.

                                                        @@ -1569,22 +1579,22 @@ export namespace DescribeLoadBalancerAttributesInput { */ export interface LoadBalancerAttributes { /** - *

                                                        If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.

                                                        - *

                                                        By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. - * For more information, see Configure Idle Connection Timeout + *

                                                        If enabled, the load balancer captures detailed information of all requests and delivers the information to the Amazon S3 bucket that you specify.

                                                        + *

                                                        For more information, see Enable Access Logs * in the Classic Load Balancers Guide.

                                                        */ - ConnectionSettings?: ConnectionSettings; + AccessLog?: AccessLog; /** - *

                                                        If enabled, the load balancer captures detailed information of all requests and delivers the information to the Amazon S3 bucket that you specify.

                                                        - *

                                                        For more information, see Enable Access Logs + *

                                                        If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.

                                                        + *

                                                        By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. + * For more information, see Configure Idle Connection Timeout * in the Classic Load Balancers Guide.

                                                        */ - AccessLog?: AccessLog; + ConnectionSettings?: ConnectionSettings; /** - *

                                                        This parameter is reserved.

                                                        + *

                                                        Any additional attributes.

                                                        */ AdditionalAttributes?: AdditionalAttribute[]; @@ -1645,14 +1655,14 @@ export namespace LoadBalancerAttributeNotFoundException { */ export interface DescribeLoadBalancerPoliciesInput { /** - *

                                                        The name of the load balancer.

                                                        + *

                                                        The names of the policies.

                                                        */ - LoadBalancerName?: string; + PolicyNames?: string[]; /** - *

                                                        The names of the policies.

                                                        + *

                                                        The name of the load balancer.

                                                        */ - PolicyNames?: string[]; + LoadBalancerName?: string; } export namespace DescribeLoadBalancerPoliciesInput { @@ -1687,14 +1697,14 @@ export namespace PolicyAttributeDescription { */ export interface PolicyDescription { /** - *

                                                        The name of the policy type.

                                                        + *

                                                        The name of the policy.

                                                        */ - PolicyTypeName?: string; + PolicyName?: string; /** - *

                                                        The name of the policy.

                                                        + *

                                                        The name of the policy type.

                                                        */ - PolicyName?: string; + PolicyTypeName?: string; /** *

                                                        The policy attributes.

                                                        @@ -1760,9 +1770,14 @@ export namespace DescribeLoadBalancerPolicyTypesInput { */ export interface PolicyAttributeTypeDescription { /** - *

                                                        The type of the attribute. For example, Boolean or Integer.

                                                        + *

                                                        A description of the attribute.

                                                        */ - AttributeType?: string; + Description?: string; + + /** + *

                                                        The default value of the attribute, if applicable.

                                                        + */ + DefaultValue?: string; /** *

                                                        The name of the attribute.

                                                        @@ -1770,9 +1785,9 @@ export interface PolicyAttributeTypeDescription { AttributeName?: string; /** - *

                                                        The default value of the attribute, if applicable.

                                                        + *

                                                        The type of the attribute. For example, Boolean or Integer.

                                                        */ - DefaultValue?: string; + AttributeType?: string; /** *

                                                        The cardinality of the attribute.

                                                        @@ -1793,11 +1808,6 @@ export interface PolicyAttributeTypeDescription { *
                                                      */ Cardinality?: string; - - /** - *

                                                      A description of the attribute.

                                                      - */ - Description?: string; } export namespace PolicyAttributeTypeDescription { @@ -1811,14 +1821,14 @@ export namespace PolicyAttributeTypeDescription { */ export interface PolicyTypeDescription { /** - *

                                                      A description of the policy type.

                                                      + *

                                                      The description of the policy attributes associated with the policies defined by Elastic Load Balancing.

                                                      */ - Description?: string; + PolicyAttributeTypeDescriptions?: PolicyAttributeTypeDescription[]; /** - *

                                                      The description of the policy attributes associated with the policies defined by Elastic Load Balancing.

                                                      + *

                                                      A description of the policy type.

                                                      */ - PolicyAttributeTypeDescriptions?: PolicyAttributeTypeDescription[]; + Description?: string; /** *

                                                      The name of the policy type.

                                                      @@ -2001,14 +2011,14 @@ export namespace ModifyLoadBalancerAttributesInput { */ export interface ModifyLoadBalancerAttributesOutput { /** - *

                                                      The name of the load balancer.

                                                      + *

                                                      Information about the load balancer attributes.

                                                      */ - LoadBalancerName?: string; + LoadBalancerAttributes?: LoadBalancerAttributes; /** - *

                                                      Information about the load balancer attributes.

                                                      + *

                                                      The name of the load balancer.

                                                      */ - LoadBalancerAttributes?: LoadBalancerAttributes; + LoadBalancerName?: string; } export namespace ModifyLoadBalancerAttributesOutput { @@ -2022,14 +2032,14 @@ export namespace ModifyLoadBalancerAttributesOutput { */ export interface RegisterEndPointsInput { /** - *

                                                      The name of the load balancer.

                                                      + *

                                                      The IDs of the instances.

                                                      */ - LoadBalancerName: string | undefined; + Instances: Instance[] | undefined; /** - *

                                                      The IDs of the instances.

                                                      + *

                                                      The name of the load balancer.

                                                      */ - Instances: Instance[] | undefined; + LoadBalancerName: string | undefined; } export namespace RegisterEndPointsInput { @@ -2122,9 +2132,9 @@ export namespace ListenerNotFoundException { */ export interface SetLoadBalancerListenerSSLCertificateInput { /** - *

                                                      The name of the load balancer.

                                                      + *

                                                      The port that uses the specified SSL certificate.

                                                      */ - LoadBalancerName: string | undefined; + LoadBalancerPort: number | undefined; /** *

                                                      The Amazon Resource Name (ARN) of the SSL certificate.

                                                      @@ -2132,9 +2142,9 @@ export interface SetLoadBalancerListenerSSLCertificateInput { SSLCertificateId: string | undefined; /** - *

                                                      The port that uses the specified SSL certificate.

                                                      + *

                                                      The name of the load balancer.

                                                      */ - LoadBalancerPort: number | undefined; + LoadBalancerName: string | undefined; } export namespace SetLoadBalancerListenerSSLCertificateInput { @@ -2158,6 +2168,11 @@ export namespace SetLoadBalancerListenerSSLCertificateOutput { *

                                                      Contains the parameters for SetLoadBalancerPoliciesForBackendServer.

                                                      */ export interface SetLoadBalancerPoliciesForBackendServerInput { + /** + *

                                                      The names of the policies. If the list is empty, then all current polices are removed from the EC2 instance.

                                                      + */ + PolicyNames: string[] | undefined; + /** *

                                                      The port number associated with the EC2 instance.

                                                      */ @@ -2167,11 +2182,6 @@ export interface SetLoadBalancerPoliciesForBackendServerInput { *

                                                      The name of the load balancer.

                                                      */ LoadBalancerName: string | undefined; - - /** - *

                                                      The names of the policies. If the list is empty, then all current polices are removed from the EC2 instance.

                                                      - */ - PolicyNames: string[] | undefined; } export namespace SetLoadBalancerPoliciesForBackendServerInput { @@ -2195,11 +2205,6 @@ export namespace SetLoadBalancerPoliciesForBackendServerOutput { *

                                                      Contains the parameters for SetLoadBalancePoliciesOfListener.

                                                      */ export interface SetLoadBalancerPoliciesOfListenerInput { - /** - *

                                                      The external port of the load balancer.

                                                      - */ - LoadBalancerPort: number | undefined; - /** *

                                                      The names of the policies. This list must include all policies to be enabled. If you omit a policy that is currently enabled, it is disabled. If the list is empty, all current policies are disabled.

                                                      */ @@ -2209,6 +2214,11 @@ export interface SetLoadBalancerPoliciesOfListenerInput { *

                                                      The name of the load balancer.

                                                      */ LoadBalancerName: string | undefined; + + /** + *

                                                      The external port of the load balancer.

                                                      + */ + LoadBalancerPort: number | undefined; } export namespace SetLoadBalancerPoliciesOfListenerInput { diff --git a/clients/client-elastic-load-balancing/protocols/Aws_query.ts b/clients/client-elastic-load-balancing/protocols/Aws_query.ts index 485b1e5b87d3..81a1687d840a 100644 --- a/clients/client-elastic-load-balancing/protocols/Aws_query.ts +++ b/clients/client-elastic-load-balancing/protocols/Aws_query.ts @@ -3012,14 +3012,14 @@ const deserializeAws_queryUnsupportedProtocolExceptionResponse = async ( const serializeAws_queryAccessLog = (input: AccessLog, context: __SerdeContext): any => { const entries: any = {}; - if (input.EmitInterval !== undefined) { - entries["EmitInterval"] = input.EmitInterval; + if (input.S3BucketPrefix !== undefined) { + entries["S3BucketPrefix"] = input.S3BucketPrefix; } if (input.S3BucketName !== undefined) { entries["S3BucketName"] = input.S3BucketName; } - if (input.S3BucketPrefix !== undefined) { - entries["S3BucketPrefix"] = input.S3BucketPrefix; + if (input.EmitInterval !== undefined) { + entries["EmitInterval"] = input.EmitInterval; } if (input.Enabled !== undefined) { entries["Enabled"] = input.Enabled; @@ -3032,6 +3032,9 @@ const serializeAws_queryAddAvailabilityZonesInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; + } if (input.AvailabilityZones !== undefined) { const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3039,20 +3042,17 @@ const serializeAws_queryAddAvailabilityZonesInput = ( entries[loc] = value; }); } - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; - } return entries; }; const serializeAws_queryAdditionalAttribute = (input: AdditionalAttribute, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Key !== undefined) { entries["Key"] = input.Key; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -3071,17 +3071,17 @@ const serializeAws_queryAdditionalAttributes = (input: AdditionalAttribute[], co const serializeAws_queryAddTagsInput = (input: AddTagsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.LoadBalancerNames !== undefined) { + const memberEntries = serializeAws_queryLoadBalancerNames(input.LoadBalancerNames, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `LoadBalancerNames.${key}`; entries[loc] = value; }); } - if (input.LoadBalancerNames !== undefined) { - const memberEntries = serializeAws_queryLoadBalancerNames(input.LoadBalancerNames, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `LoadBalancerNames.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } @@ -3093,6 +3093,9 @@ const serializeAws_queryApplySecurityGroupsToLoadBalancerInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; + } if (input.SecurityGroups !== undefined) { const memberEntries = serializeAws_querySecurityGroups(input.SecurityGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3100,9 +3103,6 @@ const serializeAws_queryApplySecurityGroupsToLoadBalancerInput = ( entries[loc] = value; }); } - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; - } return entries; }; @@ -3154,12 +3154,12 @@ const serializeAws_queryConfigureHealthCheckInput = ( const serializeAws_queryConnectionDraining = (input: ConnectionDraining, context: __SerdeContext): any => { const entries: any = {}; - if (input.Enabled !== undefined) { - entries["Enabled"] = input.Enabled; - } if (input.Timeout !== undefined) { entries["Timeout"] = input.Timeout; } + if (input.Enabled !== undefined) { + entries["Enabled"] = input.Enabled; + } return entries; }; @@ -3173,20 +3173,17 @@ const serializeAws_queryConnectionSettings = (input: ConnectionSettings, context const serializeAws_queryCreateAccessPointInput = (input: CreateAccessPointInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; - } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.AvailabilityZones !== undefined) { + const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `AvailabilityZones.${key}`; entries[loc] = value; }); } - if (input.Listeners !== undefined) { - const memberEntries = serializeAws_queryListeners(input.Listeners, context); + if (input.Subnets !== undefined) { + const memberEntries = serializeAws_querySubnets(input.Subnets, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Listeners.${key}`; + const loc = `Subnets.${key}`; entries[loc] = value; }); } @@ -3200,20 +3197,23 @@ const serializeAws_queryCreateAccessPointInput = (input: CreateAccessPointInput, if (input.Scheme !== undefined) { entries["Scheme"] = input.Scheme; } - if (input.Subnets !== undefined) { - const memberEntries = serializeAws_querySubnets(input.Subnets, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Subnets.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.AvailabilityZones !== undefined) { - const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); + if (input.Listeners !== undefined) { + const memberEntries = serializeAws_queryListeners(input.Listeners, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AvailabilityZones.${key}`; + const loc = `Listeners.${key}`; entries[loc] = value; }); } + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; + } return entries; }; @@ -3222,14 +3222,14 @@ const serializeAws_queryCreateAppCookieStickinessPolicyInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.CookieName !== undefined) { - entries["CookieName"] = input.CookieName; + if (input.PolicyName !== undefined) { + entries["PolicyName"] = input.PolicyName; } if (input.LoadBalancerName !== undefined) { entries["LoadBalancerName"] = input.LoadBalancerName; } - if (input.PolicyName !== undefined) { - entries["PolicyName"] = input.PolicyName; + if (input.CookieName !== undefined) { + entries["CookieName"] = input.CookieName; } return entries; }; @@ -3239,15 +3239,15 @@ const serializeAws_queryCreateLBCookieStickinessPolicyInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; + } if (input.PolicyName !== undefined) { entries["PolicyName"] = input.PolicyName; } if (input.CookieExpirationPeriod !== undefined) { entries["CookieExpirationPeriod"] = input.CookieExpirationPeriod; } - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; - } return entries; }; @@ -3256,9 +3256,6 @@ const serializeAws_queryCreateLoadBalancerListenerInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; - } if (input.Listeners !== undefined) { const memberEntries = serializeAws_queryListeners(input.Listeners, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3266,6 +3263,9 @@ const serializeAws_queryCreateLoadBalancerListenerInput = ( entries[loc] = value; }); } + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; + } return entries; }; @@ -3274,14 +3274,11 @@ const serializeAws_queryCreateLoadBalancerPolicyInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; - } if (input.PolicyName !== undefined) { entries["PolicyName"] = input.PolicyName; } - if (input.PolicyTypeName !== undefined) { - entries["PolicyTypeName"] = input.PolicyTypeName; + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; } if (input.PolicyAttributes !== undefined) { const memberEntries = serializeAws_queryPolicyAttributes(input.PolicyAttributes, context); @@ -3290,6 +3287,9 @@ const serializeAws_queryCreateLoadBalancerPolicyInput = ( entries[loc] = value; }); } + if (input.PolicyTypeName !== undefined) { + entries["PolicyTypeName"] = input.PolicyTypeName; + } return entries; }; @@ -3343,9 +3343,6 @@ const serializeAws_queryDeleteLoadBalancerPolicyInput = ( const serializeAws_queryDeregisterEndPointsInput = (input: DeregisterEndPointsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; - } if (input.Instances !== undefined) { const memberEntries = serializeAws_queryInstances(input.Instances, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3353,6 +3350,9 @@ const serializeAws_queryDeregisterEndPointsInput = (input: DeregisterEndPointsIn entries[loc] = value; }); } + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; + } return entries; }; @@ -3361,6 +3361,9 @@ const serializeAws_queryDescribeAccessPointsInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.LoadBalancerNames !== undefined) { const memberEntries = serializeAws_queryLoadBalancerNames(input.LoadBalancerNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3368,9 +3371,6 @@ const serializeAws_queryDescribeAccessPointsInput = ( entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.PageSize !== undefined) { entries["PageSize"] = input.PageSize; } @@ -3425,9 +3425,6 @@ const serializeAws_queryDescribeLoadBalancerPoliciesInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; - } if (input.PolicyNames !== undefined) { const memberEntries = serializeAws_queryPolicyNames(input.PolicyNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3435,6 +3432,9 @@ const serializeAws_queryDescribeLoadBalancerPoliciesInput = ( entries[loc] = value; }); } + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; + } return entries; }; @@ -3485,21 +3485,21 @@ const serializeAws_queryDetachLoadBalancerFromSubnetsInput = ( const serializeAws_queryHealthCheck = (input: HealthCheck, context: __SerdeContext): any => { const entries: any = {}; - if (input.Target !== undefined) { - entries["Target"] = input.Target; - } if (input.HealthyThreshold !== undefined) { entries["HealthyThreshold"] = input.HealthyThreshold; } if (input.UnhealthyThreshold !== undefined) { entries["UnhealthyThreshold"] = input.UnhealthyThreshold; } - if (input.Timeout !== undefined) { - entries["Timeout"] = input.Timeout; + if (input.Target !== undefined) { + entries["Target"] = input.Target; } if (input.Interval !== undefined) { entries["Interval"] = input.Interval; } + if (input.Timeout !== undefined) { + entries["Timeout"] = input.Timeout; + } return entries; }; @@ -3526,17 +3526,17 @@ const serializeAws_queryInstances = (input: Instance[], context: __SerdeContext) const serializeAws_queryListener = (input: Listener, context: __SerdeContext): any => { const entries: any = {}; - if (input.SSLCertificateId !== undefined) { - entries["SSLCertificateId"] = input.SSLCertificateId; - } if (input.LoadBalancerPort !== undefined) { entries["LoadBalancerPort"] = input.LoadBalancerPort; } + if (input.InstancePort !== undefined) { + entries["InstancePort"] = input.InstancePort; + } if (input.InstanceProtocol !== undefined) { entries["InstanceProtocol"] = input.InstanceProtocol; } - if (input.InstancePort !== undefined) { - entries["InstancePort"] = input.InstancePort; + if (input.SSLCertificateId !== undefined) { + entries["SSLCertificateId"] = input.SSLCertificateId; } if (input.Protocol !== undefined) { entries["Protocol"] = input.Protocol; @@ -3559,17 +3559,17 @@ const serializeAws_queryListeners = (input: Listener[], context: __SerdeContext) const serializeAws_queryLoadBalancerAttributes = (input: LoadBalancerAttributes, context: __SerdeContext): any => { const entries: any = {}; - if (input.ConnectionSettings !== undefined) { - const memberEntries = serializeAws_queryConnectionSettings(input.ConnectionSettings, context); + if (input.AccessLog !== undefined) { + const memberEntries = serializeAws_queryAccessLog(input.AccessLog, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ConnectionSettings.${key}`; + const loc = `AccessLog.${key}`; entries[loc] = value; }); } - if (input.AccessLog !== undefined) { - const memberEntries = serializeAws_queryAccessLog(input.AccessLog, context); + if (input.ConnectionSettings !== undefined) { + const memberEntries = serializeAws_queryConnectionSettings(input.ConnectionSettings, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AccessLog.${key}`; + const loc = `ConnectionSettings.${key}`; entries[loc] = value; }); } @@ -3691,9 +3691,6 @@ const serializeAws_queryPorts = (input: number[], context: __SerdeContext): any const serializeAws_queryRegisterEndPointsInput = (input: RegisterEndPointsInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; - } if (input.Instances !== undefined) { const memberEntries = serializeAws_queryInstances(input.Instances, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3701,6 +3698,9 @@ const serializeAws_queryRegisterEndPointsInput = (input: RegisterEndPointsInput, entries[loc] = value; }); } + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; + } return entries; }; @@ -3756,14 +3756,14 @@ const serializeAws_querySetLoadBalancerListenerSSLCertificateInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; + if (input.LoadBalancerPort !== undefined) { + entries["LoadBalancerPort"] = input.LoadBalancerPort; } if (input.SSLCertificateId !== undefined) { entries["SSLCertificateId"] = input.SSLCertificateId; } - if (input.LoadBalancerPort !== undefined) { - entries["LoadBalancerPort"] = input.LoadBalancerPort; + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; } return entries; }; @@ -3773,12 +3773,6 @@ const serializeAws_querySetLoadBalancerPoliciesForBackendServerInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.InstancePort !== undefined) { - entries["InstancePort"] = input.InstancePort; - } - if (input.LoadBalancerName !== undefined) { - entries["LoadBalancerName"] = input.LoadBalancerName; - } if (input.PolicyNames !== undefined) { const memberEntries = serializeAws_queryPolicyNames(input.PolicyNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3786,6 +3780,12 @@ const serializeAws_querySetLoadBalancerPoliciesForBackendServerInput = ( entries[loc] = value; }); } + if (input.InstancePort !== undefined) { + entries["InstancePort"] = input.InstancePort; + } + if (input.LoadBalancerName !== undefined) { + entries["LoadBalancerName"] = input.LoadBalancerName; + } return entries; }; @@ -3794,9 +3794,6 @@ const serializeAws_querySetLoadBalancerPoliciesOfListenerInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.LoadBalancerPort !== undefined) { - entries["LoadBalancerPort"] = input.LoadBalancerPort; - } if (input.PolicyNames !== undefined) { const memberEntries = serializeAws_queryPolicyNames(input.PolicyNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3807,6 +3804,9 @@ const serializeAws_querySetLoadBalancerPoliciesOfListenerInput = ( if (input.LoadBalancerName !== undefined) { entries["LoadBalancerName"] = input.LoadBalancerName; } + if (input.LoadBalancerPort !== undefined) { + entries["LoadBalancerPort"] = input.LoadBalancerPort; + } return entries; }; @@ -3822,12 +3822,12 @@ const serializeAws_querySubnets = (input: string[], context: __SerdeContext): an const serializeAws_queryTag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Key !== undefined) { entries["Key"] = input.Key; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -3867,19 +3867,19 @@ const serializeAws_queryTagList = (input: Tag[], context: __SerdeContext): any = const deserializeAws_queryAccessLog = (output: any, context: __SerdeContext): AccessLog => { let contents: any = { - EmitInterval: undefined, - S3BucketName: undefined, S3BucketPrefix: undefined, + S3BucketName: undefined, + EmitInterval: undefined, Enabled: undefined, }; - if (output["EmitInterval"] !== undefined) { - contents.EmitInterval = parseInt(output["EmitInterval"]); + if (output["S3BucketPrefix"] !== undefined) { + contents.S3BucketPrefix = output["S3BucketPrefix"]; } if (output["S3BucketName"] !== undefined) { contents.S3BucketName = output["S3BucketName"]; } - if (output["S3BucketPrefix"] !== undefined) { - contents.S3BucketPrefix = output["S3BucketPrefix"]; + if (output["EmitInterval"] !== undefined) { + contents.EmitInterval = parseInt(output["EmitInterval"]); } if (output["Enabled"] !== undefined) { contents.Enabled = output["Enabled"] == "true"; @@ -3921,15 +3921,15 @@ const deserializeAws_queryAddAvailabilityZonesOutput = ( const deserializeAws_queryAdditionalAttribute = (output: any, context: __SerdeContext): AdditionalAttribute => { let contents: any = { - Value: undefined, Key: undefined, + Value: undefined, }; - if (output["Value"] !== undefined) { - contents.Value = output["Value"]; - } if (output["Key"] !== undefined) { contents.Key = output["Key"]; } + if (output["Value"] !== undefined) { + contents.Value = output["Value"]; + } return contents; }; @@ -4063,15 +4063,15 @@ const deserializeAws_queryConfigureHealthCheckOutput = ( const deserializeAws_queryConnectionDraining = (output: any, context: __SerdeContext): ConnectionDraining => { let contents: any = { - Enabled: undefined, Timeout: undefined, + Enabled: undefined, }; - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; - } if (output["Timeout"] !== undefined) { contents.Timeout = parseInt(output["Timeout"]); } + if (output["Enabled"] !== undefined) { + contents.Enabled = output["Enabled"] == "true"; + } return contents; }; @@ -4192,12 +4192,9 @@ const deserializeAws_queryDescribeAccessPointsOutput = ( context: __SerdeContext ): DescribeAccessPointsOutput => { let contents: any = { - NextMarker: undefined, LoadBalancerDescriptions: undefined, + NextMarker: undefined, }; - if (output["NextMarker"] !== undefined) { - contents.NextMarker = output["NextMarker"]; - } if (output.LoadBalancerDescriptions === "") { contents.LoadBalancerDescriptions = []; } @@ -4207,6 +4204,9 @@ const deserializeAws_queryDescribeAccessPointsOutput = ( context ); } + if (output["NextMarker"] !== undefined) { + contents.NextMarker = output["NextMarker"]; + } return contents; }; @@ -4389,27 +4389,27 @@ const deserializeAws_queryDuplicateTagKeysException = ( const deserializeAws_queryHealthCheck = (output: any, context: __SerdeContext): HealthCheck => { let contents: any = { - Target: undefined, HealthyThreshold: undefined, UnhealthyThreshold: undefined, - Timeout: undefined, + Target: undefined, Interval: undefined, + Timeout: undefined, }; - if (output["Target"] !== undefined) { - contents.Target = output["Target"]; - } if (output["HealthyThreshold"] !== undefined) { contents.HealthyThreshold = parseInt(output["HealthyThreshold"]); } if (output["UnhealthyThreshold"] !== undefined) { contents.UnhealthyThreshold = parseInt(output["UnhealthyThreshold"]); } - if (output["Timeout"] !== undefined) { - contents.Timeout = parseInt(output["Timeout"]); + if (output["Target"] !== undefined) { + contents.Target = output["Target"]; } if (output["Interval"] !== undefined) { contents.Interval = parseInt(output["Interval"]); } + if (output["Timeout"] !== undefined) { + contents.Timeout = parseInt(output["Timeout"]); + } return contents; }; @@ -4429,20 +4429,20 @@ const deserializeAws_queryInstances = (output: any, context: __SerdeContext): In const deserializeAws_queryInstanceState = (output: any, context: __SerdeContext): InstanceState => { let contents: any = { - Description: undefined, InstanceId: undefined, State: undefined, + Description: undefined, ReasonCode: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["InstanceId"] !== undefined) { contents.InstanceId = output["InstanceId"]; } if (output["State"] !== undefined) { contents.State = output["State"]; } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } if (output["ReasonCode"] !== undefined) { contents.ReasonCode = output["ReasonCode"]; } @@ -4556,23 +4556,23 @@ const deserializeAws_queryLimits = (output: any, context: __SerdeContext): Limit const deserializeAws_queryListener = (output: any, context: __SerdeContext): Listener => { let contents: any = { - SSLCertificateId: undefined, LoadBalancerPort: undefined, - InstanceProtocol: undefined, InstancePort: undefined, + InstanceProtocol: undefined, + SSLCertificateId: undefined, Protocol: undefined, }; - if (output["SSLCertificateId"] !== undefined) { - contents.SSLCertificateId = output["SSLCertificateId"]; - } if (output["LoadBalancerPort"] !== undefined) { contents.LoadBalancerPort = parseInt(output["LoadBalancerPort"]); } + if (output["InstancePort"] !== undefined) { + contents.InstancePort = parseInt(output["InstancePort"]); + } if (output["InstanceProtocol"] !== undefined) { contents.InstanceProtocol = output["InstanceProtocol"]; } - if (output["InstancePort"] !== undefined) { - contents.InstancePort = parseInt(output["InstancePort"]); + if (output["SSLCertificateId"] !== undefined) { + contents.SSLCertificateId = output["SSLCertificateId"]; } if (output["Protocol"] !== undefined) { contents.Protocol = output["Protocol"]; @@ -4582,12 +4582,9 @@ const deserializeAws_queryListener = (output: any, context: __SerdeContext): Lis const deserializeAws_queryListenerDescription = (output: any, context: __SerdeContext): ListenerDescription => { let contents: any = { - Listener: undefined, PolicyNames: undefined, + Listener: undefined, }; - if (output["Listener"] !== undefined) { - contents.Listener = deserializeAws_queryListener(output["Listener"], context); - } if (output.PolicyNames === "") { contents.PolicyNames = []; } @@ -4597,6 +4594,9 @@ const deserializeAws_queryListenerDescription = (output: any, context: __SerdeCo context ); } + if (output["Listener"] !== undefined) { + contents.Listener = deserializeAws_queryListener(output["Listener"], context); + } return contents; }; @@ -4632,18 +4632,18 @@ const deserializeAws_queryLoadBalancerAttributeNotFoundException = ( const deserializeAws_queryLoadBalancerAttributes = (output: any, context: __SerdeContext): LoadBalancerAttributes => { let contents: any = { - ConnectionSettings: undefined, AccessLog: undefined, + ConnectionSettings: undefined, AdditionalAttributes: undefined, CrossZoneLoadBalancing: undefined, ConnectionDraining: undefined, }; - if (output["ConnectionSettings"] !== undefined) { - contents.ConnectionSettings = deserializeAws_queryConnectionSettings(output["ConnectionSettings"], context); - } if (output["AccessLog"] !== undefined) { contents.AccessLog = deserializeAws_queryAccessLog(output["AccessLog"], context); } + if (output["ConnectionSettings"] !== undefined) { + contents.ConnectionSettings = deserializeAws_queryConnectionSettings(output["ConnectionSettings"], context); + } if (output.AdditionalAttributes === "") { contents.AdditionalAttributes = []; } @@ -4667,23 +4667,47 @@ const deserializeAws_queryLoadBalancerAttributes = (output: any, context: __Serd const deserializeAws_queryLoadBalancerDescription = (output: any, context: __SerdeContext): LoadBalancerDescription => { let contents: any = { - BackendServerDescriptions: undefined, + CanonicalHostedZoneNameID: undefined, + LoadBalancerName: undefined, + VPCId: undefined, + Subnets: undefined, DNSName: undefined, - CreatedTime: undefined, - Scheme: undefined, - SecurityGroups: undefined, + Policies: undefined, CanonicalHostedZoneName: undefined, - CanonicalHostedZoneNameID: undefined, + BackendServerDescriptions: undefined, + SecurityGroups: undefined, + SourceSecurityGroup: undefined, + AvailabilityZones: undefined, Instances: undefined, - ListenerDescriptions: undefined, + Scheme: undefined, + CreatedTime: undefined, HealthCheck: undefined, - AvailabilityZones: undefined, - SourceSecurityGroup: undefined, - VPCId: undefined, - Policies: undefined, - LoadBalancerName: undefined, - Subnets: undefined, + ListenerDescriptions: undefined, }; + if (output["CanonicalHostedZoneNameID"] !== undefined) { + contents.CanonicalHostedZoneNameID = output["CanonicalHostedZoneNameID"]; + } + if (output["LoadBalancerName"] !== undefined) { + contents.LoadBalancerName = output["LoadBalancerName"]; + } + if (output["VPCId"] !== undefined) { + contents.VPCId = output["VPCId"]; + } + if (output.Subnets === "") { + contents.Subnets = []; + } + if (output["Subnets"] !== undefined && output["Subnets"]["member"] !== undefined) { + contents.Subnets = deserializeAws_querySubnets(__getArrayIfSingleItem(output["Subnets"]["member"]), context); + } + if (output["DNSName"] !== undefined) { + contents.DNSName = output["DNSName"]; + } + if (output["Policies"] !== undefined) { + contents.Policies = deserializeAws_queryPolicies(output["Policies"], context); + } + if (output["CanonicalHostedZoneName"] !== undefined) { + contents.CanonicalHostedZoneName = output["CanonicalHostedZoneName"]; + } if (output.BackendServerDescriptions === "") { contents.BackendServerDescriptions = []; } @@ -4696,15 +4720,6 @@ const deserializeAws_queryLoadBalancerDescription = (output: any, context: __Ser context ); } - if (output["DNSName"] !== undefined) { - contents.DNSName = output["DNSName"]; - } - if (output["CreatedTime"] !== undefined) { - contents.CreatedTime = new Date(output["CreatedTime"]); - } - if (output["Scheme"] !== undefined) { - contents.Scheme = output["Scheme"]; - } if (output.SecurityGroups === "") { contents.SecurityGroups = []; } @@ -4714,11 +4729,17 @@ const deserializeAws_queryLoadBalancerDescription = (output: any, context: __Ser context ); } - if (output["CanonicalHostedZoneName"] !== undefined) { - contents.CanonicalHostedZoneName = output["CanonicalHostedZoneName"]; + if (output["SourceSecurityGroup"] !== undefined) { + contents.SourceSecurityGroup = deserializeAws_querySourceSecurityGroup(output["SourceSecurityGroup"], context); } - if (output["CanonicalHostedZoneNameID"] !== undefined) { - contents.CanonicalHostedZoneNameID = output["CanonicalHostedZoneNameID"]; + if (output.AvailabilityZones === "") { + contents.AvailabilityZones = []; + } + if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["member"] !== undefined) { + contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( + __getArrayIfSingleItem(output["AvailabilityZones"]["member"]), + context + ); } if (output.Instances === "") { contents.Instances = []; @@ -4726,45 +4747,24 @@ const deserializeAws_queryLoadBalancerDescription = (output: any, context: __Ser if (output["Instances"] !== undefined && output["Instances"]["member"] !== undefined) { contents.Instances = deserializeAws_queryInstances(__getArrayIfSingleItem(output["Instances"]["member"]), context); } - if (output.ListenerDescriptions === "") { - contents.ListenerDescriptions = []; + if (output["Scheme"] !== undefined) { + contents.Scheme = output["Scheme"]; } - if (output["ListenerDescriptions"] !== undefined && output["ListenerDescriptions"]["member"] !== undefined) { - contents.ListenerDescriptions = deserializeAws_queryListenerDescriptions( - __getArrayIfSingleItem(output["ListenerDescriptions"]["member"]), - context - ); + if (output["CreatedTime"] !== undefined) { + contents.CreatedTime = new Date(output["CreatedTime"]); } if (output["HealthCheck"] !== undefined) { contents.HealthCheck = deserializeAws_queryHealthCheck(output["HealthCheck"], context); } - if (output.AvailabilityZones === "") { - contents.AvailabilityZones = []; + if (output.ListenerDescriptions === "") { + contents.ListenerDescriptions = []; } - if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["member"] !== undefined) { - contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( - __getArrayIfSingleItem(output["AvailabilityZones"]["member"]), + if (output["ListenerDescriptions"] !== undefined && output["ListenerDescriptions"]["member"] !== undefined) { + contents.ListenerDescriptions = deserializeAws_queryListenerDescriptions( + __getArrayIfSingleItem(output["ListenerDescriptions"]["member"]), context ); } - if (output["SourceSecurityGroup"] !== undefined) { - contents.SourceSecurityGroup = deserializeAws_querySourceSecurityGroup(output["SourceSecurityGroup"], context); - } - if (output["VPCId"] !== undefined) { - contents.VPCId = output["VPCId"]; - } - if (output["Policies"] !== undefined) { - contents.Policies = deserializeAws_queryPolicies(output["Policies"], context); - } - if (output["LoadBalancerName"] !== undefined) { - contents.LoadBalancerName = output["LoadBalancerName"]; - } - if (output.Subnets === "") { - contents.Subnets = []; - } - if (output["Subnets"] !== undefined && output["Subnets"]["member"] !== undefined) { - contents.Subnets = deserializeAws_querySubnets(__getArrayIfSingleItem(output["Subnets"]["member"]), context); - } return contents; }; @@ -4780,18 +4780,18 @@ const deserializeAws_queryModifyLoadBalancerAttributesOutput = ( context: __SerdeContext ): ModifyLoadBalancerAttributesOutput => { let contents: any = { - LoadBalancerName: undefined, LoadBalancerAttributes: undefined, + LoadBalancerName: undefined, }; - if (output["LoadBalancerName"] !== undefined) { - contents.LoadBalancerName = output["LoadBalancerName"]; - } if (output["LoadBalancerAttributes"] !== undefined) { contents.LoadBalancerAttributes = deserializeAws_queryLoadBalancerAttributes( output["LoadBalancerAttributes"], context ); } + if (output["LoadBalancerName"] !== undefined) { + contents.LoadBalancerName = output["LoadBalancerName"]; + } return contents; }; @@ -4810,19 +4810,10 @@ const deserializeAws_queryOperationNotPermittedException = ( const deserializeAws_queryPolicies = (output: any, context: __SerdeContext): Policies => { let contents: any = { - OtherPolicies: undefined, LBCookieStickinessPolicies: undefined, + OtherPolicies: undefined, AppCookieStickinessPolicies: undefined, }; - if (output.OtherPolicies === "") { - contents.OtherPolicies = []; - } - if (output["OtherPolicies"] !== undefined && output["OtherPolicies"]["member"] !== undefined) { - contents.OtherPolicies = deserializeAws_queryPolicyNames( - __getArrayIfSingleItem(output["OtherPolicies"]["member"]), - context - ); - } if (output.LBCookieStickinessPolicies === "") { contents.LBCookieStickinessPolicies = []; } @@ -4835,6 +4826,15 @@ const deserializeAws_queryPolicies = (output: any, context: __SerdeContext): Pol context ); } + if (output.OtherPolicies === "") { + contents.OtherPolicies = []; + } + if (output["OtherPolicies"] !== undefined && output["OtherPolicies"]["member"] !== undefined) { + contents.OtherPolicies = deserializeAws_queryPolicyNames( + __getArrayIfSingleItem(output["OtherPolicies"]["member"]), + context + ); + } if (output.AppCookieStickinessPolicies === "") { contents.AppCookieStickinessPolicies = []; } @@ -4879,27 +4879,27 @@ const deserializeAws_queryPolicyAttributeTypeDescription = ( context: __SerdeContext ): PolicyAttributeTypeDescription => { let contents: any = { - AttributeType: undefined, - AttributeName: undefined, + Description: undefined, DefaultValue: undefined, + AttributeName: undefined, + AttributeType: undefined, Cardinality: undefined, - Description: undefined, }; - if (output["AttributeType"] !== undefined) { - contents.AttributeType = output["AttributeType"]; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["DefaultValue"] !== undefined) { + contents.DefaultValue = output["DefaultValue"]; } if (output["AttributeName"] !== undefined) { contents.AttributeName = output["AttributeName"]; } - if (output["DefaultValue"] !== undefined) { - contents.DefaultValue = output["DefaultValue"]; + if (output["AttributeType"] !== undefined) { + contents.AttributeType = output["AttributeType"]; } if (output["Cardinality"] !== undefined) { contents.Cardinality = output["Cardinality"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } return contents; }; @@ -4912,16 +4912,16 @@ const deserializeAws_queryPolicyAttributeTypeDescriptions = ( const deserializeAws_queryPolicyDescription = (output: any, context: __SerdeContext): PolicyDescription => { let contents: any = { - PolicyTypeName: undefined, PolicyName: undefined, + PolicyTypeName: undefined, PolicyAttributeDescriptions: undefined, }; - if (output["PolicyTypeName"] !== undefined) { - contents.PolicyTypeName = output["PolicyTypeName"]; - } if (output["PolicyName"] !== undefined) { contents.PolicyName = output["PolicyName"]; } + if (output["PolicyTypeName"] !== undefined) { + contents.PolicyTypeName = output["PolicyTypeName"]; + } if (output.PolicyAttributeDescriptions === "") { contents.PolicyAttributeDescriptions = []; } @@ -4957,13 +4957,10 @@ const deserializeAws_queryPolicyNotFoundException = (output: any, context: __Ser const deserializeAws_queryPolicyTypeDescription = (output: any, context: __SerdeContext): PolicyTypeDescription => { let contents: any = { - Description: undefined, PolicyAttributeTypeDescriptions: undefined, + Description: undefined, PolicyTypeName: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output.PolicyAttributeTypeDescriptions === "") { contents.PolicyAttributeTypeDescriptions = []; } @@ -4976,6 +4973,9 @@ const deserializeAws_queryPolicyTypeDescription = (output: any, context: __Serde context ); } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } if (output["PolicyTypeName"] !== undefined) { contents.PolicyTypeName = output["PolicyTypeName"]; } @@ -5066,15 +5066,15 @@ const deserializeAws_querySetLoadBalancerPoliciesOfListenerOutput = ( const deserializeAws_querySourceSecurityGroup = (output: any, context: __SerdeContext): SourceSecurityGroup => { let contents: any = { - OwnerAlias: undefined, GroupName: undefined, + OwnerAlias: undefined, }; - if (output["OwnerAlias"] !== undefined) { - contents.OwnerAlias = output["OwnerAlias"]; - } if (output["GroupName"] !== undefined) { contents.GroupName = output["GroupName"]; } + if (output["OwnerAlias"] !== undefined) { + contents.OwnerAlias = output["OwnerAlias"]; + } return contents; }; @@ -5094,15 +5094,15 @@ const deserializeAws_querySubnets = (output: any, context: __SerdeContext): stri const deserializeAws_queryTag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Value: undefined, Key: undefined, + Value: undefined, }; - if (output["Value"] !== undefined) { - contents.Value = output["Value"]; - } if (output["Key"] !== undefined) { contents.Key = output["Key"]; } + if (output["Value"] !== undefined) { + contents.Value = output["Value"]; + } return contents; }; diff --git a/clients/client-elastic-transcoder/models/models_0.ts b/clients/client-elastic-transcoder/models/models_0.ts index 48c42ff7a9b2..90db354200df 100644 --- a/clients/client-elastic-transcoder/models/models_0.ts +++ b/clients/client-elastic-transcoder/models/models_0.ts @@ -23,6 +23,24 @@ export namespace AccessDeniedException { * Elastic Transcoder to use to encrypt your output files.

                                                      */ export interface Encryption { + /** + *

                                                      The series of random bits created by a random bit generator, unique for every encryption + * operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt + * your output files. The initialization vector must be base64-encoded, and it must be exactly + * 16 bytes long before being base64-encoded.

                                                      + */ + InitializationVector?: string; + + /** + *

                                                      The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that + * was used to encrypt your input file. The key must be base64-encoded and it must be one of the + * following bit lengths before being base64-encoded:

                                                      + *

                                                      + * 128, 192, or 256.

                                                      + *

                                                      The key must also be encrypted by using the Amazon Key Management Service.

                                                      + */ + Key?: string; + /** *

                                                      The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting * your input files or encrypting your output files. Elastic Transcoder supports the following options:

                                                      @@ -83,16 +101,6 @@ export interface Encryption { */ Mode?: string; - /** - *

                                                      The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that - * was used to encrypt your input file. The key must be base64-encoded and it must be one of the - * following bit lengths before being base64-encoded:

                                                      - *

                                                      - * 128, 192, or 256.

                                                      - *

                                                      The key must also be encrypted by using the Amazon Key Management Service.

                                                      - */ - Key?: string; - /** *

                                                      The MD5 digest of the key that you used to encrypt your input file, or that you want * Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a @@ -100,14 +108,6 @@ export interface Encryption { * and it must be exactly 16 bytes long before being base64-encoded.

                                                      */ KeyMd5?: string; - - /** - *

                                                      The series of random bits created by a random bit generator, unique for every encryption - * operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt - * your output files. The initialization vector must be base64-encoded, and it must be exactly - * 16 bytes long before being base64-encoded.

                                                      - */ - InitializationVector?: string; } export namespace Encryption { @@ -126,16 +126,6 @@ export namespace Encryption { * "Prepend", "Append", or "Fallback", and use an empty Artwork array.

                                                      */ export interface Artwork { - /** - *

                                                      The name of the file to be used as album art. To determine which Amazon S3 bucket contains the - * specified file, Elastic Transcoder checks the pipeline specified by PipelineId; the - * InputBucket object in that pipeline identifies the bucket.

                                                      - *

                                                      If the file name includes a prefix, for example, cooking/pie.jpg, - * include the prefix in the key. If the file isn't in the specified bucket, - * Elastic Transcoder returns an error.

                                                      - */ - InputKey?: string; - /** *

                                                      When you set PaddingPolicy to Pad, Elastic Transcoder may add white bars to the * top and bottom and/or left and right sides of the output album art to make the total size of @@ -192,16 +182,6 @@ export interface Artwork { */ SizingPolicy?: string; - /** - *

                                                      The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork.

                                                      - */ - Encryption?: Encryption; - - /** - *

                                                      The format of album art, if any. Valid formats are .jpg and .png.

                                                      - */ - AlbumArtFormat?: string; - /** *

                                                      The maximum height of the output album art in pixels. If you specify auto, Elastic Transcoder * uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 @@ -215,6 +195,26 @@ export interface Artwork { * and 4096, inclusive.

                                                      */ MaxWidth?: string; + + /** + *

                                                      The format of album art, if any. Valid formats are .jpg and .png.

                                                      + */ + AlbumArtFormat?: string; + + /** + *

                                                      The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork.

                                                      + */ + Encryption?: Encryption; + + /** + *

                                                      The name of the file to be used as album art. To determine which Amazon S3 bucket contains the + * specified file, Elastic Transcoder checks the pipeline specified by PipelineId; the + * InputBucket object in that pipeline identifies the bucket.

                                                      + *

                                                      If the file name includes a prefix, for example, cooking/pie.jpg, + * include the prefix in the key. If the file isn't in the specified bucket, + * Elastic Transcoder returns an error.

                                                      + */ + InputKey?: string; } export namespace Artwork { @@ -227,6 +227,16 @@ export namespace Artwork { *

                                                      Options associated with your audio codec.

                                                      */ export interface AudioCodecOptions { + /** + *

                                                      You can only choose an audio bit depth when you specify flac or + * pcm for the value of Audio:Codec.

                                                      + *

                                                      The bit depth of a sample is how many bits of information are included in the + * audio samples. The higher the bit depth, the better the audio, but the larger the file.

                                                      + *

                                                      Valid values are 16 and 24.

                                                      + *

                                                      The most common bit depth is 24.

                                                      + */ + BitDepth?: string; + /** *

                                                      You can only choose an audio profile when you specify AAC for the value of Audio:Codec.

                                                      *

                                                      Specify the AAC profile for the output file. Elastic Transcoder supports the following profiles:

                                                      @@ -276,16 +286,6 @@ export interface AudioCodecOptions { *

                                                      The supported value is LittleEndian.

                                                      */ BitOrder?: string; - - /** - *

                                                      You can only choose an audio bit depth when you specify flac or - * pcm for the value of Audio:Codec.

                                                      - *

                                                      The bit depth of a sample is how many bits of information are included in the - * audio samples. The higher the bit depth, the better the audio, but the larger the file.

                                                      - *

                                                      Valid values are 16 and 24.

                                                      - *

                                                      The most common bit depth is 24.

                                                      - */ - BitDepth?: string; } export namespace AudioCodecOptions { @@ -298,6 +298,29 @@ export namespace AudioCodecOptions { *

                                                      Parameters required for transcoding audio.

                                                      */ export interface AudioParameters { + /** + *

                                                      If you specified AAC for Audio:Codec, this is the AAC + * compression profile to use. Valid values include:

                                                      + *

                                                      + * auto, AAC-LC, HE-AAC, HE-AACv2 + *

                                                      + *

                                                      If you specify auto, Elastic Transcoder chooses a profile based on the bit rate of the output file.

                                                      + */ + CodecOptions?: AudioCodecOptions; + + /** + *

                                                      The bit rate of the audio stream in the output file, in kilobits/second. Enter an integer + * between 64 and 320, inclusive.

                                                      + */ + BitRate?: string; + + /** + *

                                                      The audio codec for the output file. Valid values include aac, + * flac, mp2, mp3, pcm, + * and vorbis.

                                                      + */ + Codec?: string; + /** *

                                                      The number of audio channels in the output file. The following values are valid:

                                                      *

                                                      @@ -531,29 +554,6 @@ export interface AudioParameters { *

                                                    */ AudioPackingMode?: string; - - /** - *

                                                    If you specified AAC for Audio:Codec, this is the AAC - * compression profile to use. Valid values include:

                                                    - *

                                                    - * auto, AAC-LC, HE-AAC, HE-AACv2 - *

                                                    - *

                                                    If you specify auto, Elastic Transcoder chooses a profile based on the bit rate of the output file.

                                                    - */ - CodecOptions?: AudioCodecOptions; - - /** - *

                                                    The bit rate of the audio stream in the output file, in kilobits/second. Enter an integer - * between 64 and 320, inclusive.

                                                    - */ - BitRate?: string; - - /** - *

                                                    The audio codec for the output file. Valid values include aac, - * flac, mp2, mp3, pcm, - * and vorbis.

                                                    - */ - Codec?: string; } export namespace AudioParameters { @@ -670,6 +670,33 @@ export namespace ValidationException { *

                                                    The file format of the output captions. If you leave this value blank, Elastic Transcoder returns an error.

                                                    */ export interface CaptionFormat { + /** + *

                                                    The encryption settings, if any, that you want Elastic Transcoder to apply to your caption formats.

                                                    + */ + Encryption?: Encryption; + + /** + *

                                                    The prefix for caption filenames, in the form description-{language}, where:

                                                    + *
                                                      + *
                                                    • + *

                                                      + * description is a description of the video.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * {language} is a literal value that Elastic Transcoder replaces with the two- or three-letter + * code for the language of the caption in the output file names.

                                                      + *
                                                    • + *
                                                    + *

                                                    If you don't include {language} in the file name pattern, Elastic Transcoder automatically + * appends "{language}" to the value that you specify for the description. In addition, + * Elastic Transcoder automatically appends the count to the end of the segment files.

                                                    + *

                                                    For example, suppose you're transcoding into srt format. When you enter "Sydney-{language}-sunrise", + * and the language of the captions is English (en), the name of the first caption file is be + * Sydney-en-sunrise00000.srt.

                                                    + */ + Pattern?: string; + /** *

                                                    The format you specify determines whether Elastic Transcoder generates an embedded or sidecar caption for this output.

                                                    *
                                                      @@ -727,33 +754,6 @@ export interface CaptionFormat { *
                                                    */ Format?: string; - - /** - *

                                                    The prefix for caption filenames, in the form description-{language}, where:

                                                    - *
                                                      - *
                                                    • - *

                                                      - * description is a description of the video.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * {language} is a literal value that Elastic Transcoder replaces with the two- or three-letter - * code for the language of the caption in the output file names.

                                                      - *
                                                    • - *
                                                    - *

                                                    If you don't include {language} in the file name pattern, Elastic Transcoder automatically - * appends "{language}" to the value that you specify for the description. In addition, - * Elastic Transcoder automatically appends the count to the end of the segment files.

                                                    - *

                                                    For example, suppose you're transcoding into srt format. When you enter "Sydney-{language}-sunrise", - * and the language of the captions is English (en), the name of the first caption file is be - * Sydney-en-sunrise00000.srt.

                                                    - */ - Pattern?: string; - - /** - *

                                                    The encryption settings, if any, that you want Elastic Transcoder to apply to your caption formats.

                                                    - */ - Encryption?: Encryption; } export namespace CaptionFormat { @@ -766,26 +766,6 @@ export namespace CaptionFormat { *

                                                    A source file for the input sidecar captions used during the transcoding process.

                                                    */ export interface CaptionSource { - /** - *

                                                    The label of the caption shown in the player when choosing a language. We recommend that you - * put the caption language name here, in the language of the captions.

                                                    - */ - Label?: string; - - /** - *

                                                    For clip generation or captions that do not start at the same time - * as the associated video file, the TimeOffset tells Elastic Transcoder how much of the video to encode - * before including captions.

                                                    - *

                                                    Specify the TimeOffset in the form [+-]SS.sss or [+-]HH:mm:SS.ss.

                                                    - */ - TimeOffset?: string; - - /** - *

                                                    The encryption settings, if any, that Elastic Transcoder needs to decyrpt your caption sources, or that you - * want Elastic Transcoder to apply to your caption sources.

                                                    - */ - Encryption?: Encryption; - /** *

                                                    The name of the sidecar caption file that you want Elastic Transcoder to include in the output file.

                                                    */ @@ -805,6 +785,26 @@ export interface CaptionSource { *

                                                    For more information on ISO language codes and language names, see the List of ISO 639-1 codes.

                                                    */ Language?: string; + + /** + *

                                                    The label of the caption shown in the player when choosing a language. We recommend that you + * put the caption language name here, in the language of the captions.

                                                    + */ + Label?: string; + + /** + *

                                                    The encryption settings, if any, that Elastic Transcoder needs to decyrpt your caption sources, or that you + * want Elastic Transcoder to apply to your caption sources.

                                                    + */ + Encryption?: Encryption; + + /** + *

                                                    For clip generation or captions that do not start at the same time + * as the associated video file, the TimeOffset tells Elastic Transcoder how much of the video to encode + * before including captions.

                                                    + *

                                                    Specify the TimeOffset in the form [+-]SS.sss or [+-]HH:mm:SS.ss.

                                                    + */ + TimeOffset?: string; } export namespace CaptionSource { @@ -817,6 +817,12 @@ export namespace CaptionSource { *

                                                    The captions to be created, if any.

                                                    */ export interface Captions { + /** + *

                                                    Source files for the input sidecar captions used during the transcoding + * process. To omit all sidecar captions, leave CaptionSources blank.

                                                    + */ + CaptionSources?: CaptionSource[]; + /** *

                                                    A policy that determines how Elastic Transcoder handles the existence of multiple captions.

                                                    *
                                                      @@ -850,12 +856,6 @@ export interface Captions { *

                                                      The array of file formats for the output captions. If you leave this value blank, Elastic Transcoder returns an error.

                                                      */ CaptionFormats?: CaptionFormat[]; - - /** - *

                                                      Source files for the input sidecar captions used during the transcoding - * process. To omit all sidecar captions, leave CaptionSources blank.

                                                      - */ - CaptionSources?: CaptionSource[]; } export namespace Captions { @@ -868,6 +868,14 @@ export namespace Captions { *

                                                      Settings that determine when a clip begins and how long it lasts.

                                                      */ export interface TimeSpan { + /** + *

                                                      The place in the input file where you want a clip to start. The format can be either + * HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS + * (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder starts at the beginning of + * the input file.

                                                      + */ + StartTime?: string; + /** *

                                                      The duration of the clip. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; * SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a @@ -876,14 +884,6 @@ export interface TimeSpan { * file and returns a warning message.

                                                      */ Duration?: string; - - /** - *

                                                      The place in the input file where you want a clip to start. The format can be either - * HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS - * (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder starts at the beginning of - * the input file.

                                                      - */ - StartTime?: string; } export namespace TimeSpan { @@ -913,14 +913,14 @@ export namespace Clip { */ export interface DetectedProperties { /** - *

                                                      The detected width of the input file, in pixels.

                                                      + *

                                                      The detected duration of the input file, in milliseconds.

                                                      */ - Width?: number; + DurationMillis?: number; /** - *

                                                      The detected file size of the input file, in bytes.

                                                      + *

                                                      The detected frame rate of the input file, in frames per second.

                                                      */ - FileSize?: number; + FrameRate?: string; /** *

                                                      The detected height of the input file, in pixels.

                                                      @@ -928,14 +928,14 @@ export interface DetectedProperties { Height?: number; /** - *

                                                      The detected duration of the input file, in milliseconds.

                                                      + *

                                                      The detected width of the input file, in pixels.

                                                      */ - DurationMillis?: number; + Width?: number; /** - *

                                                      The detected frame rate of the input file, in frames per second.

                                                      + *

                                                      The detected file size of the input file, in bytes.

                                                      */ - FrameRate?: string; + FileSize?: number; } export namespace DetectedProperties { @@ -948,12 +948,6 @@ export namespace DetectedProperties { *

                                                      The captions to be created, if any.

                                                      */ export interface InputCaptions { - /** - *

                                                      Source files for the input sidecar captions used during the transcoding - * process. To omit all sidecar captions, leave CaptionSources blank.

                                                      - */ - CaptionSources?: CaptionSource[]; - /** *

                                                      A policy that determines how Elastic Transcoder handles the existence of multiple captions.

                                                      *
                                                        @@ -982,6 +976,12 @@ export interface InputCaptions { * MergePolicy cannot be null.

                                                        */ MergePolicy?: string; + + /** + *

                                                        Source files for the input sidecar captions used during the transcoding + * process. To omit all sidecar captions, leave CaptionSources blank.

                                                        + */ + CaptionSources?: CaptionSource[]; } export namespace InputCaptions { @@ -994,51 +994,6 @@ export namespace InputCaptions { *

                                                        Information about the file that you're transcoding.

                                                        */ export interface JobInput { - /** - *

                                                        The encryption settings, if any, that are used for decrypting your input files. If - * your input file is encrypted, you must specify the mode that Elastic Transcoder uses to decrypt your file.

                                                        - */ - Encryption?: Encryption; - - /** - *

                                                        This value must be auto, which causes Elastic Transcoder to automatically - * detect the resolution of the input file.

                                                        - */ - Resolution?: string; - - /** - *

                                                        Settings for clipping an input. Each input can have different clip settings.

                                                        - */ - TimeSpan?: TimeSpan; - - /** - *

                                                        The container type for the input file. If you want Elastic Transcoder to automatically detect the - * container type of the input file, specify auto. If you want to specify the - * container type for the input file, enter one of the following values:

                                                        - *

                                                        - * 3gp, aac, asf, avi, - * divx, flv, m4a, mkv, - * mov, mp3, mp4, mpeg, - * mpeg-ps, mpeg-ts, mxf, ogg, - * vob, wav, webm - *

                                                        - */ - Container?: string; - - /** - *

                                                        The name of the file to transcode. Elsewhere in the body of the JSON block is the the ID - * of the pipeline to use for processing the job. The InputBucket object in - * that pipeline tells Elastic Transcoder which Amazon S3 bucket to get the file from.

                                                        - *

                                                        If the file name includes a prefix, such as cooking/lasagna.mpg, include the - * prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

                                                        - */ - Key?: string; - - /** - *

                                                        The detected properties of the input file.

                                                        - */ - DetectedProperties?: DetectedProperties; - /** *

                                                        Whether the input file is interlaced. If you want Elastic Transcoder to automatically detect whether * the input file is interlaced, specify auto. If you want to specify whether @@ -1063,6 +1018,11 @@ export interface JobInput { */ AspectRatio?: string; + /** + *

                                                        Settings for clipping an input. Each input can have different clip settings.

                                                        + */ + TimeSpan?: TimeSpan; + /** *

                                                        The frame rate of the input file. If you want Elastic Transcoder to automatically detect the frame rate * of the input file, specify auto. If you want to specify the frame rate for @@ -1118,6 +1078,46 @@ export interface JobInput { *

                                                        For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

                                                        */ InputCaptions?: InputCaptions; + + /** + *

                                                        The encryption settings, if any, that are used for decrypting your input files. If + * your input file is encrypted, you must specify the mode that Elastic Transcoder uses to decrypt your file.

                                                        + */ + Encryption?: Encryption; + + /** + *

                                                        This value must be auto, which causes Elastic Transcoder to automatically + * detect the resolution of the input file.

                                                        + */ + Resolution?: string; + + /** + *

                                                        The name of the file to transcode. Elsewhere in the body of the JSON block is the the ID + * of the pipeline to use for processing the job. The InputBucket object in + * that pipeline tells Elastic Transcoder which Amazon S3 bucket to get the file from.

                                                        + *

                                                        If the file name includes a prefix, such as cooking/lasagna.mpg, include the + * prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

                                                        + */ + Key?: string; + + /** + *

                                                        The container type for the input file. If you want Elastic Transcoder to automatically detect the + * container type of the input file, specify auto. If you want to specify the + * container type for the input file, enter one of the following values:

                                                        + *

                                                        + * 3gp, aac, asf, avi, + * divx, flv, m4a, mkv, + * mov, mp3, mp4, mpeg, + * mpeg-ps, mpeg-ts, mxf, ogg, + * vob, wav, webm + *

                                                        + */ + Container?: string; + + /** + *

                                                        The detected properties of the input file.

                                                        + */ + DetectedProperties?: DetectedProperties; } export namespace JobInput { @@ -1130,13 +1130,6 @@ export namespace JobInput { *

                                                        The .jpg or .png file associated with an audio file.

                                                        */ export interface JobAlbumArt { - /** - *

                                                        The file to be used as album art. There can be multiple artworks associated with an audio file, - * to a maximum of 20. Valid formats are .jpg and .png - *

                                                        - */ - Artwork?: Artwork[]; - /** *

                                                        A policy that determines how Elastic Transcoder handles the existence of multiple album artwork files.

                                                        * @@ -1163,6 +1156,13 @@ export interface JobAlbumArt { *
                                                      */ MergePolicy?: string; + + /** + *

                                                      The file to be used as album art. There can be multiple artworks associated with an audio file, + * to a maximum of 20. Valid formats are .jpg and .png + *

                                                      + */ + Artwork?: Artwork[]; } export namespace JobAlbumArt { @@ -1176,6 +1176,13 @@ export namespace JobAlbumArt { * rectangular, use the .png format, which supports transparency.

                                                      */ export interface JobWatermark { + /** + *

                                                      The ID of the watermark settings that Elastic Transcoder uses to add watermarks to the video during transcoding. + * The settings are in the preset specified by Preset for the current output. In that preset, the value + * of Watermarks Id tells Elastic Transcoder which settings to use.

                                                      + */ + PresetWatermarkId?: string; + /** *

                                                      The name of the .png or .jpg file that you want to use for the watermark. To determine * which Amazon S3 bucket contains the specified file, Elastic Transcoder checks the pipeline specified by @@ -1191,13 +1198,6 @@ export interface JobWatermark { *

                                                      The encryption settings, if any, that you want Elastic Transcoder to apply to your watermarks.

                                                      */ Encryption?: Encryption; - - /** - *

                                                      The ID of the watermark settings that Elastic Transcoder uses to add watermarks to the video during transcoding. - * The settings are in the preset specified by Preset for the current output. In that preset, the value - * of Watermarks Id tells Elastic Transcoder which settings to use.

                                                      - */ - PresetWatermarkId?: string; } export namespace JobWatermark { @@ -1211,60 +1211,12 @@ export namespace JobWatermark { */ export interface CreateJobOutput { /** - *

                                                      Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

                                                      - *

                                                      If you don't want Elastic Transcoder to create thumbnails, specify "".

                                                      - *

                                                      If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include - * in the file name for each thumbnail. You can specify the following values in any sequence:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * - * {count} (Required): If you want to create thumbnails, you - * must include {count} in the ThumbnailPattern object. - * Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence - * number (beginning with 00001) to thumbnail file names. The number - * indicates where a given thumbnail appears in the sequence of thumbnails for a - * transcoded file.

                                                        - * - *

                                                        If you specify a literal value and/or {resolution} but you - * omit {count}, Elastic Transcoder returns a validation error and does not create - * the job.

                                                        - *
                                                        - *
                                                      • - *
                                                      • - *

                                                        - * Literal values (Optional): You can specify literal values anywhere in the - * ThumbnailPattern object. For example, you can include them as a - * file name prefix or as a delimiter between {resolution} and - * {count}.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * - * {resolution} (Optional): If you want Elastic Transcoder to include the - * resolution in the file name, include {resolution} in the - * ThumbnailPattern object.

                                                        - *
                                                      • - *
                                                      - *

                                                      When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) - * that appears in the preset that you specified in the PresetID value of - * CreateJobOutput. Elastic Transcoder also appends the applicable file name - * extension.

                                                      - */ - ThumbnailPattern?: string; - - /** - *

                                                      The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail.

                                                      - */ - ThumbnailEncryption?: Encryption; - - /** - *

                                                      You can create an output file that contains an excerpt from the input file. This excerpt, called a - * clip, can come from the beginning, middle, or end of the file. The Composition object contains settings - * for the clips that make up an output file. For the current release, you can only specify settings for a - * single clip per output file. The Composition object cannot be null.

                                                      + *

                                                      You can specify encryption settings for any output files that you want to use for a + * transcoding job. This includes the output file and any watermarks, thumbnails, album art, + * or captions that you want to use. You must specify encryption settings for each file + * individually.

                                                      */ - Composition?: Clip[]; + Encryption?: Encryption; /** *

                                                      Information about the album art that you want Elastic Transcoder to add to the file during transcoding. @@ -1273,36 +1225,6 @@ export interface CreateJobOutput { */ AlbumArt?: JobAlbumArt; - /** - *

                                                      The name to assign to the transcoded file. Elastic Transcoder saves the file in the Amazon S3 bucket - * specified by the OutputBucket object in the pipeline that is specified by - * the pipeline ID. If a file with the specified name already exists in the output bucket, - * the job fails.

                                                      - */ - Key?: string; - - /** - * - *

                                                      (Outputs in Fragmented MP4 or MPEG-TS format only.

                                                      - *
                                                      - *

                                                      If you specify a preset in - * PresetId for which the value of Container is fmp4 (Fragmented MP4) or - * ts (MPEG-TS), SegmentDuration is the target maximum duration of - * each segment in seconds. For HLSv3 format playlists, - * each media segment is stored in a separate .ts file. For HLSv4 and Smooth - * playlists, all media segments for an output are stored in a single file. Each segment is approximately the length of - * the SegmentDuration, though individual segments might be shorter or longer.

                                                      - * - *

                                                      The range of valid values is 1 to 60 seconds. If the duration - * of the video is not evenly divisible by SegmentDuration, the duration of - * the last segment is the remainder of total length/SegmentDuration.

                                                      - *

                                                      Elastic Transcoder - * creates an output-specific playlist for each output HLS output that you specify in OutputKeys. To - * add an output to the master playlist for this job, include it in the OutputKeys of - * the associated playlist.

                                                      - */ - SegmentDuration?: string; - /** *

                                                      The number of degrees clockwise by which you want Elastic Transcoder to rotate the output relative to * the input. Enter one of the following values: auto, 0, @@ -1313,12 +1235,11 @@ export interface CreateJobOutput { Rotate?: string; /** - *

                                                      You can specify encryption settings for any output files that you want to use for a - * transcoding job. This includes the output file and any watermarks, thumbnails, album art, - * or captions that you want to use. You must specify encryption settings for each file - * individually.

                                                      + *

                                                      Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. + * You can specify up to four watermarks for each output. Settings for each watermark must be defined + * in the preset for the current output.

                                                      */ - Encryption?: Encryption; + Watermarks?: JobWatermark[]; /** *

                                                      The Id of the preset to use for this job. The preset determines the audio, @@ -1370,11 +1291,90 @@ export interface CreateJobOutput { Captions?: Captions; /** - *

                                                      Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. - * You can specify up to four watermarks for each output. Settings for each watermark must be defined - * in the preset for the current output.

                                                      - */ - Watermarks?: JobWatermark[]; + *

                                                      You can create an output file that contains an excerpt from the input file. This excerpt, called a + * clip, can come from the beginning, middle, or end of the file. The Composition object contains settings + * for the clips that make up an output file. For the current release, you can only specify settings for a + * single clip per output file. The Composition object cannot be null.

                                                      + */ + Composition?: Clip[]; + + /** + *

                                                      Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

                                                      + *

                                                      If you don't want Elastic Transcoder to create thumbnails, specify "".

                                                      + *

                                                      If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include + * in the file name for each thumbnail. You can specify the following values in any sequence:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * + * {count} (Required): If you want to create thumbnails, you + * must include {count} in the ThumbnailPattern object. + * Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence + * number (beginning with 00001) to thumbnail file names. The number + * indicates where a given thumbnail appears in the sequence of thumbnails for a + * transcoded file.

                                                        + * + *

                                                        If you specify a literal value and/or {resolution} but you + * omit {count}, Elastic Transcoder returns a validation error and does not create + * the job.

                                                        + *
                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Literal values (Optional): You can specify literal values anywhere in the + * ThumbnailPattern object. For example, you can include them as a + * file name prefix or as a delimiter between {resolution} and + * {count}.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * + * {resolution} (Optional): If you want Elastic Transcoder to include the + * resolution in the file name, include {resolution} in the + * ThumbnailPattern object.

                                                        + *
                                                      • + *
                                                      + *

                                                      When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) + * that appears in the preset that you specified in the PresetID value of + * CreateJobOutput. Elastic Transcoder also appends the applicable file name + * extension.

                                                      + */ + ThumbnailPattern?: string; + + /** + *

                                                      The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail.

                                                      + */ + ThumbnailEncryption?: Encryption; + + /** + *

                                                      The name to assign to the transcoded file. Elastic Transcoder saves the file in the Amazon S3 bucket + * specified by the OutputBucket object in the pipeline that is specified by + * the pipeline ID. If a file with the specified name already exists in the output bucket, + * the job fails.

                                                      + */ + Key?: string; + + /** + * + *

                                                      (Outputs in Fragmented MP4 or MPEG-TS format only.

                                                      + *
                                                      + *

                                                      If you specify a preset in + * PresetId for which the value of Container is fmp4 (Fragmented MP4) or + * ts (MPEG-TS), SegmentDuration is the target maximum duration of + * each segment in seconds. For HLSv3 format playlists, + * each media segment is stored in a separate .ts file. For HLSv4 and Smooth + * playlists, all media segments for an output are stored in a single file. Each segment is approximately the length of + * the SegmentDuration, though individual segments might be shorter or longer.

                                                      + * + *

                                                      The range of valid values is 1 to 60 seconds. If the duration + * of the video is not evenly divisible by SegmentDuration, the duration of + * the last segment is the remainder of total length/SegmentDuration.

                                                      + *

                                                      Elastic Transcoder + * creates an output-specific playlist for each output HLS output that you specify in OutputKeys. To + * add an output to the master playlist for this job, include it in the OutputKeys of + * the associated playlist.

                                                      + */ + SegmentDuration?: string; } export namespace CreateJobOutput { @@ -1387,6 +1387,22 @@ export namespace CreateJobOutput { *

                                                      The HLS content protection settings, if any, that you want Elastic Transcoder to apply to your output files.

                                                      */ export interface HlsContentProtection { + /** + *

                                                      If Elastic Transcoder is generating your key for you, you must leave this field blank.

                                                      + *

                                                      The series of random bits created by a random bit generator, unique for every encryption operation, + * that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, + * and it must be exactly 16 bytes before being base64-encoded.

                                                      + */ + InitializationVector?: string; + + /** + *

                                                      The content protection method for your output. The only valid value is: + * aes-128.

                                                      + *

                                                      This value is written into the method attribute of the EXT-X-KEY metadata tag in the output + * playlist.

                                                      + */ + Method?: string; + /** *

                                                      If Elastic Transcoder is generating your key for you, you must leave this field blank.

                                                      *

                                                      The MD5 digest of the key that you want Elastic Transcoder to use to encrypt your output file, and that you want @@ -1395,12 +1411,6 @@ export interface HlsContentProtection { */ KeyMd5?: string; - /** - *

                                                      The location of the license key required to decrypt your HLS playlist. The URL must be an absolute - * path, and is referenced in the URI attribute of the EXT-X-KEY metadata tag in the playlist file.

                                                      - */ - LicenseAcquisitionUrl?: string; - /** *

                                                      If you want Elastic Transcoder to generate a key for you, leave this field blank.

                                                      *

                                                      If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be @@ -1410,28 +1420,18 @@ export interface HlsContentProtection { */ Key?: string; + /** + *

                                                      The location of the license key required to decrypt your HLS playlist. The URL must be an absolute + * path, and is referenced in the URI attribute of the EXT-X-KEY metadata tag in the playlist file.

                                                      + */ + LicenseAcquisitionUrl?: string; + /** *

                                                      Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket. If * you choose WithVariantPlaylists, LicenseAcquisitionUrl must be left blank and Elastic Transcoder * writes your data key into the same bucket as the associated playlist.

                                                      */ KeyStoragePolicy?: string; - - /** - *

                                                      The content protection method for your output. The only valid value is: - * aes-128.

                                                      - *

                                                      This value is written into the method attribute of the EXT-X-KEY metadata tag in the output - * playlist.

                                                      - */ - Method?: string; - - /** - *

                                                      If Elastic Transcoder is generating your key for you, you must leave this field blank.

                                                      - *

                                                      The series of random bits created by a random bit generator, unique for every encryption operation, - * that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, - * and it must be exactly 16 bytes before being base64-encoded.

                                                      - */ - InitializationVector?: string; } export namespace HlsContentProtection { @@ -1448,19 +1448,12 @@ export namespace HlsContentProtection { */ export interface PlayReadyDrm { /** - *

                                                      The type of DRM, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

                                                      - */ - Format?: string; - - /** - *

                                                      The location of the license key required to play DRM content. The URL must be an absolute path, - * and is referenced by the PlayReady header. The PlayReady header is referenced in the protection - * header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO - * metadata tags for HLS playlist outputs. An example URL looks like this: - * https://www.example.com/exampleKey/ - *

                                                      + *

                                                      The ID for your DRM key, so that your DRM license provider knows which key to provide.

                                                      + *

                                                      The key ID must be provided in big endian, and Elastic Transcoder converts it to little endian before inserting + * it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in + * big or little endian, check with your DRM provider.

                                                      */ - LicenseAcquisitionUrl?: string; + KeyId?: string; /** *

                                                      The series of random bits created by a random bit generator, unique for every encryption operation, @@ -1470,14 +1463,6 @@ export interface PlayReadyDrm { */ InitializationVector?: string; - /** - *

                                                      The ID for your DRM key, so that your DRM license provider knows which key to provide.

                                                      - *

                                                      The key ID must be provided in big endian, and Elastic Transcoder converts it to little endian before inserting - * it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in - * big or little endian, check with your DRM provider.

                                                      - */ - KeyId?: string; - /** *

                                                      The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum * to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be @@ -1493,6 +1478,21 @@ export interface PlayReadyDrm { *

                                                      The key must also be encrypted by using AWS KMS.

                                                      */ Key?: string; + + /** + *

                                                      The type of DRM, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

                                                      + */ + Format?: string; + + /** + *

                                                      The location of the license key required to play DRM content. The URL must be an absolute path, + * and is referenced by the PlayReady header. The PlayReady header is referenced in the protection + * header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO + * metadata tags for HLS playlist outputs. An example URL looks like this: + * https://www.example.com/exampleKey/ + *

                                                      + */ + LicenseAcquisitionUrl?: string; } export namespace PlayReadyDrm { @@ -1505,17 +1505,6 @@ export namespace PlayReadyDrm { *

                                                      Information about the master playlist.

                                                      */ export interface CreateJobPlaylist { - /** - *

                                                      The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

                                                      - */ - PlayReadyDrm?: PlayReadyDrm; - - /** - *

                                                      The format of the output playlist. Valid formats include HLSv3, - * HLSv4, and Smooth.

                                                      - */ - Format?: string; - /** *

                                                      The name that you want Elastic Transcoder to assign to the master playlist, for example, * nyc-vacation.m3u8. If the name includes a / character, @@ -1575,11 +1564,22 @@ export interface CreateJobPlaylist { */ OutputKeys?: string[]; + /** + *

                                                      The format of the output playlist. Valid formats include HLSv3, + * HLSv4, and Smooth.

                                                      + */ + Format?: string; + /** *

                                                      The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output * files associated with this playlist.

                                                      */ HlsContentProtection?: HlsContentProtection; + + /** + *

                                                      The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

                                                      + */ + PlayReadyDrm?: PlayReadyDrm; } export namespace CreateJobPlaylist { @@ -1592,14 +1592,6 @@ export namespace CreateJobPlaylist { *

                                                      The CreateJobRequest structure.

                                                      */ export interface CreateJobRequest { - /** - *

                                                      If you specify a preset in PresetId for which the value of - * Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains - * information about the master playlists that you want Elastic Transcoder to create.

                                                      - *

                                                      The maximum number of master playlists in a job is 30.

                                                      - */ - Playlists?: CreateJobPlaylist[]; - /** *

                                                      The Id of the pipeline that you want Elastic Transcoder to use for * transcoding. The pipeline determines several settings, including the Amazon S3 bucket @@ -1608,25 +1600,6 @@ export interface CreateJobRequest { */ PipelineId: string | undefined; - /** - *

                                                      The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this - * job creates, including output files, thumbnails, and playlists.

                                                      - */ - OutputKeyPrefix?: string; - - /** - *

                                                      A section of the request body that provides information about the file that is being - * transcoded.

                                                      - */ - Input?: JobInput; - - /** - *

                                                      A section of the request body that provides information about the transcoded (target) - * file. We strongly recommend that you use the Outputs syntax instead of the - * Output syntax.

                                                      - */ - Output?: CreateJobOutput; - /** *

                                                      A section of the request body that provides information about the transcoded (target) * files. We recommend that you use the Outputs syntax instead of the @@ -1642,11 +1615,38 @@ export interface CreateJobRequest { */ UserMetadata?: { [key: string]: string }; + /** + *

                                                      If you specify a preset in PresetId for which the value of + * Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains + * information about the master playlists that you want Elastic Transcoder to create.

                                                      + *

                                                      The maximum number of master playlists in a job is 30.

                                                      + */ + Playlists?: CreateJobPlaylist[]; + /** *

                                                      A section of the request body that provides information about the files that are being * transcoded.

                                                      */ Inputs?: JobInput[]; + + /** + *

                                                      A section of the request body that provides information about the file that is being + * transcoded.

                                                      + */ + Input?: JobInput; + + /** + *

                                                      A section of the request body that provides information about the transcoded (target) + * file. We strongly recommend that you use the Outputs syntax instead of the + * Output syntax.

                                                      + */ + Output?: CreateJobOutput; + + /** + *

                                                      The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this + * job creates, including output files, thumbnails, and playlists.

                                                      + */ + OutputKeyPrefix?: string; } export namespace CreateJobRequest { @@ -1667,83 +1667,43 @@ export namespace CreateJobRequest { */ export interface JobOutput { /** - *

                                                      The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail.

                                                      + *

                                                      File size of the output file, in bytes.

                                                      */ - ThumbnailEncryption?: Encryption; + FileSize?: number; /** - *

                                                      Duration of the output file, in seconds.

                                                      + *

                                                      The encryption settings, if any, that you want Elastic Transcoder to apply to your output files. + * If you choose to use encryption, you must specify a mode to use. If you choose not to + * use encryption, Elastic Transcoder writes an unencrypted file to your Amazon S3 bucket.

                                                      */ - Duration?: number; + Encryption?: Encryption; /** - *

                                                      You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. - * All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * Embedded: Embedded captions - * are included in the same file as the audio and video. Elastic Transcoder supports - * only one embedded caption per language, to a maximum of 300 embedded captions per file.

                                                        - *

                                                        Valid input values include: CEA-608 (EIA-608, first non-empty channel only), - * CEA-708 (EIA-708, first non-empty channel only), and mov-text - *

                                                        - *

                                                        Valid outputs include: mov-text - *

                                                        - *

                                                        Elastic Transcoder supports a maximum of one embedded format per output.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * Sidecar: Sidecar captions are kept in a - * separate metadata file from the audio and video data. Sidecar captions require a player - * that is capable of understanding the relationship between the video file and the sidecar - * file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar - * captions per file.

                                                        - *

                                                        Valid input values include: dfxp (first div element only), - * ebu-tt, scc, smpt, srt, - * ttml (first div element only), and webvtt - *

                                                        - *

                                                        Valid outputs include: dfxp (first div element only), scc, - * srt, and webvtt.

                                                        - *
                                                      • - *
                                                      - *

                                                      If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

                                                      - *

                                                      Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures - * as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does - * not preserve text formatting (for example, italics) during the transcoding process.

                                                      - *

                                                      To remove captions or leave the captions empty, set Captions to null. To pass through - * existing captions unchanged, set the MergePolicy to MergeRetain, - * and pass in a null CaptionSources array.

                                                      - *

                                                      For more information on embedded files, see the Subtitles Wikipedia page.

                                                      - *

                                                      For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

                                                      - */ - Captions?: Captions; - - /** - *

                                                      Information about the watermarks that you want Elastic Transcoder to add to the video during - * transcoding. You can specify up to four watermarks for each output. Settings for each - * watermark must be defined in the preset that you specify in Preset for the - * current output.

                                                      - *

                                                      Watermarks are added to the output video in the sequence in which you list them - * in the job output—the first watermark in the list is added to the output video first, - * the second watermark in the list is added next, and so on. As a result, if the settings - * in a preset cause Elastic Transcoder to place all watermarks in the same location, the second watermark - * that you add covers the first one, the third one covers the second, and the - * fourth one covers the third.

                                                      + *

                                                      A sequential counter, starting with 1, that identifies an output among the outputs from + * the current job. In the Output syntax, this value is always 1.

                                                      */ - Watermarks?: JobWatermark[]; + Id?: string; /** - *

                                                      Information that further explains Status.

                                                      + *

                                                      The number of degrees clockwise by which you want Elastic Transcoder to rotate the output relative + * to the input. Enter one of the following values:

                                                      + *

                                                      + * auto, 0, 90, 180, + * 270 + *

                                                      + *

                                                      The value auto generally works only if the file that you're transcoding + * contains rotation metadata.

                                                      */ - StatusDetail?: string; + Rotate?: string; /** - *

                                                      The encryption settings, if any, that you want Elastic Transcoder to apply to your output files. - * If you choose to use encryption, you must specify a mode to use. If you choose not to - * use encryption, Elastic Transcoder writes an unencrypted file to your Amazon S3 bucket.

                                                      + *

                                                      The value of the Id object for the preset that you want to use for this job. + * The preset determines the audio, video, and thumbnail settings that Elastic Transcoder + * uses for transcoding. To use a preset that you created, specify the preset ID that + * Elastic Transcoder returned in the response when you created the preset. You can also + * use the Elastic Transcoder system presets, which you can get with ListPresets.

                                                      */ - Encryption?: Encryption; + PresetId?: string; /** * @@ -1768,9 +1728,16 @@ export interface JobOutput { SegmentDuration?: string; /** - *

                                                      Duration of the output file, in milliseconds.

                                                      + *

                                                      The name to assign to the transcoded file. Elastic Transcoder saves the file in the Amazon S3 bucket + * specified by the OutputBucket object in the pipeline that is specified by + * the pipeline ID.

                                                      */ - DurationMillis?: number; + Key?: string; + + /** + *

                                                      Duration of the output file, in seconds.

                                                      + */ + Duration?: number; /** *

                                                      You can create an output file that contains an excerpt from the input file. This excerpt, called @@ -1781,38 +1748,47 @@ export interface JobOutput { Composition?: Clip[]; /** - *

                                                      The status of one output in a job. If you specified only one output for the job, - * Outputs:Status is always the same as Job:Status. If you - * specified more than one output:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * Job:Status and Outputs:Status for all of the outputs - * is Submitted until Elastic Transcoder starts to process the first output.

                                                        - *
                                                      • - *
                                                      • - *

                                                        When Elastic Transcoder starts to process the first output, - * Outputs:Status for that output and Job:Status both - * change to Progressing. For each output, the value of Outputs:Status - * remains Submitted until Elastic Transcoder starts to process the output.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Job:Status remains Progressing until all of the outputs reach a terminal status, - * either Complete or Error.

                                                        - *
                                                      • - *
                                                      • - *

                                                        When all of the outputs reach a terminal status, Job:Status changes - * to Complete only if Outputs:Status for all of the outputs is - * Complete. If Outputs:Status for one or more - * outputs is Error, the terminal status for Job:Status - * is also Error.

                                                        - *
                                                      • - *
                                                      - *

                                                      The value of Status is one of the following: Submitted, - * Progressing, Complete, Canceled, or - * Error.

                                                      + *

                                                      Frame rate of the output file, in frames per second.

                                                      */ - Status?: string; + FrameRate?: string; + + /** + *

                                                      Information that further explains Status.

                                                      + */ + StatusDetail?: string; + + /** + *

                                                      Height of the output file, in pixels.

                                                      + */ + Height?: number; + + /** + *

                                                      The album art to be associated with the output file, if any.

                                                      + */ + AlbumArt?: JobAlbumArt; + + /** + *

                                                      Specifies the width of the output file in pixels.

                                                      + */ + Width?: number; + + /** + *

                                                      If Elastic Transcoder used a preset with a ColorSpaceConversionMode to transcode the output + * file, the AppliedColorSpaceConversion parameter shows the conversion used. If no + * ColorSpaceConversionMode was defined in the preset, this parameter is not be + * included in the job response.

                                                      + */ + AppliedColorSpaceConversion?: string; + + /** + *

                                                      Duration of the output file, in milliseconds.

                                                      + */ + DurationMillis?: number; + + /** + *

                                                      The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail.

                                                      + */ + ThumbnailEncryption?: Encryption; /** *

                                                      Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want @@ -1859,72 +1835,96 @@ export interface JobOutput { ThumbnailPattern?: string; /** - *

                                                      Specifies the width of the output file in pixels.

                                                      + *

                                                      The status of one output in a job. If you specified only one output for the job, + * Outputs:Status is always the same as Job:Status. If you + * specified more than one output:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * Job:Status and Outputs:Status for all of the outputs + * is Submitted until Elastic Transcoder starts to process the first output.

                                                        + *
                                                      • + *
                                                      • + *

                                                        When Elastic Transcoder starts to process the first output, + * Outputs:Status for that output and Job:Status both + * change to Progressing. For each output, the value of Outputs:Status + * remains Submitted until Elastic Transcoder starts to process the output.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Job:Status remains Progressing until all of the outputs reach a terminal status, + * either Complete or Error.

                                                        + *
                                                      • + *
                                                      • + *

                                                        When all of the outputs reach a terminal status, Job:Status changes + * to Complete only if Outputs:Status for all of the outputs is + * Complete. If Outputs:Status for one or more + * outputs is Error, the terminal status for Job:Status + * is also Error.

                                                        + *
                                                      • + *
                                                      + *

                                                      The value of Status is one of the following: Submitted, + * Progressing, Complete, Canceled, or + * Error.

                                                      */ - Width?: number; + Status?: string; /** - *

                                                      If Elastic Transcoder used a preset with a ColorSpaceConversionMode to transcode the output - * file, the AppliedColorSpaceConversion parameter shows the conversion used. If no - * ColorSpaceConversionMode was defined in the preset, this parameter is not be - * included in the job response.

                                                      + *

                                                      Information about the watermarks that you want Elastic Transcoder to add to the video during + * transcoding. You can specify up to four watermarks for each output. Settings for each + * watermark must be defined in the preset that you specify in Preset for the + * current output.

                                                      + *

                                                      Watermarks are added to the output video in the sequence in which you list them + * in the job output—the first watermark in the list is added to the output video first, + * the second watermark in the list is added next, and so on. As a result, if the settings + * in a preset cause Elastic Transcoder to place all watermarks in the same location, the second watermark + * that you add covers the first one, the third one covers the second, and the + * fourth one covers the third.

                                                      */ - AppliedColorSpaceConversion?: string; + Watermarks?: JobWatermark[]; /** - *

                                                      A sequential counter, starting with 1, that identifies an output among the outputs from - * the current job. In the Output syntax, this value is always 1.

                                                      + *

                                                      You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. + * All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * Embedded: Embedded captions + * are included in the same file as the audio and video. Elastic Transcoder supports + * only one embedded caption per language, to a maximum of 300 embedded captions per file.

                                                        + *

                                                        Valid input values include: CEA-608 (EIA-608, first non-empty channel only), + * CEA-708 (EIA-708, first non-empty channel only), and mov-text + *

                                                        + *

                                                        Valid outputs include: mov-text + *

                                                        + *

                                                        Elastic Transcoder supports a maximum of one embedded format per output.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Sidecar: Sidecar captions are kept in a + * separate metadata file from the audio and video data. Sidecar captions require a player + * that is capable of understanding the relationship between the video file and the sidecar + * file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar + * captions per file.

                                                        + *

                                                        Valid input values include: dfxp (first div element only), + * ebu-tt, scc, smpt, srt, + * ttml (first div element only), and webvtt + *

                                                        + *

                                                        Valid outputs include: dfxp (first div element only), scc, + * srt, and webvtt.

                                                        + *
                                                      • + *
                                                      + *

                                                      If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

                                                      + *

                                                      Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures + * as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does + * not preserve text formatting (for example, italics) during the transcoding process.

                                                      + *

                                                      To remove captions or leave the captions empty, set Captions to null. To pass through + * existing captions unchanged, set the MergePolicy to MergeRetain, + * and pass in a null CaptionSources array.

                                                      + *

                                                      For more information on embedded files, see the Subtitles Wikipedia page.

                                                      + *

                                                      For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

                                                      */ - Id?: string; - - /** - *

                                                      The number of degrees clockwise by which you want Elastic Transcoder to rotate the output relative - * to the input. Enter one of the following values:

                                                      - *

                                                      - * auto, 0, 90, 180, - * 270 - *

                                                      - *

                                                      The value auto generally works only if the file that you're transcoding - * contains rotation metadata.

                                                      - */ - Rotate?: string; - - /** - *

                                                      Frame rate of the output file, in frames per second.

                                                      - */ - FrameRate?: string; - - /** - *

                                                      The value of the Id object for the preset that you want to use for this job. - * The preset determines the audio, video, and thumbnail settings that Elastic Transcoder - * uses for transcoding. To use a preset that you created, specify the preset ID that - * Elastic Transcoder returned in the response when you created the preset. You can also - * use the Elastic Transcoder system presets, which you can get with ListPresets.

                                                      - */ - PresetId?: string; - - /** - *

                                                      Height of the output file, in pixels.

                                                      - */ - Height?: number; - - /** - *

                                                      File size of the output file, in bytes.

                                                      - */ - FileSize?: number; - - /** - *

                                                      The album art to be associated with the output file, if any.

                                                      - */ - AlbumArt?: JobAlbumArt; - - /** - *

                                                      The name to assign to the transcoded file. Elastic Transcoder saves the file in the Amazon S3 bucket - * specified by the OutputBucket object in the pipeline that is specified by - * the pipeline ID.

                                                      - */ - Key?: string; -} + Captions?: Captions; +} export namespace JobOutput { export const filterSensitiveLog = (obj: JobOutput): any => ({ @@ -1941,27 +1941,14 @@ export namespace JobOutput { */ export interface Playlist { /** - *

                                                      The name that you want Elastic Transcoder to assign to the master playlist, for example, - * nyc-vacation.m3u8. If the name includes a / character, the - * section of the name before the last / must be identical for all - * Name objects. If you create more than one - * master playlist, the values of all Name objects must be - * unique.

                                                      - * - *

                                                      Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 - * for HLSv3 and HLSv4 playlists, and - * .ism and .ismc for Smooth playlists). - * If you include a file extension in Name, the file name will have - * two extensions.

                                                      - *
                                                      + *

                                                      Information that further explains the status.

                                                      */ - Name?: string; + StatusDetail?: string; /** - *

                                                      The format of the output playlist. Valid formats include HLSv3, HLSv4, - * and Smooth.

                                                      + *

                                                      The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

                                                      */ - Format?: string; + HlsContentProtection?: HlsContentProtection; /** *

                                                      The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

                                                      @@ -1973,16 +1960,6 @@ export interface Playlist { */ Status?: string; - /** - *

                                                      The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

                                                      - */ - HlsContentProtection?: HlsContentProtection; - - /** - *

                                                      Information that further explains the status.

                                                      - */ - StatusDetail?: string; - /** *

                                                      For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

                                                      *
                                                        @@ -2021,6 +1998,29 @@ export interface Playlist { * Video:KeyframesMaxDist ratio must be the same for all outputs.

                                                        */ OutputKeys?: string[]; + + /** + *

                                                        The name that you want Elastic Transcoder to assign to the master playlist, for example, + * nyc-vacation.m3u8. If the name includes a / character, the + * section of the name before the last / must be identical for all + * Name objects. If you create more than one + * master playlist, the values of all Name objects must be + * unique.

                                                        + * + *

                                                        Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 + * for HLSv3 and HLSv4 playlists, and + * .ism and .ismc for Smooth playlists). + * If you include a file extension in Name, the file name will have + * two extensions.

                                                        + *
                                                        + */ + Name?: string; + + /** + *

                                                        The format of the output playlist. Valid formats include HLSv3, HLSv4, + * and Smooth.

                                                        + */ + Format?: string; } export namespace Playlist { @@ -2033,11 +2033,6 @@ export namespace Playlist { *

                                                        Details about the timing of a job.

                                                        */ export interface Timing { - /** - *

                                                        The time the job began transcoding, in epoch milliseconds.

                                                        - */ - StartTimeMillis?: number; - /** *

                                                        The time the job finished transcoding, in epoch milliseconds.

                                                        */ @@ -2047,6 +2042,11 @@ export interface Timing { *

                                                        The time the job was submitted to Elastic Transcoder, in epoch milliseconds.

                                                        */ SubmitTimeMillis?: number; + + /** + *

                                                        The time the job began transcoding, in epoch milliseconds.

                                                        + */ + StartTimeMillis?: number; } export namespace Timing { @@ -2059,27 +2059,6 @@ export namespace Timing { *

                                                        A section of the response body that provides information about the job that is created.

                                                        */ export interface Job { - /** - *

                                                        A section of the request or response body that provides information about the file that is being transcoded.

                                                        - */ - Input?: JobInput; - - /** - *

                                                        Information about the files that you're transcoding. If you specified multiple files for this - * job, Elastic Transcoder stitches the files together to make one output.

                                                        - */ - Inputs?: JobInput[]; - - /** - *

                                                        The Amazon Resource Name (ARN) for the job.

                                                        - */ - Arn?: string; - - /** - *

                                                        The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to delete the job.

                                                        - */ - Id?: string; - /** *

                                                        Information about the output files. We recommend that you use the Outputs * syntax for all jobs, even when you want Elastic Transcoder to transcode a file into only @@ -2120,18 +2099,6 @@ export interface Job { */ UserMetadata?: { [key: string]: string }; - /** - * - *

                                                        Outputs in Fragmented MP4 or MPEG-TS format only.

                                                        - * - *

                                                        If you specify a preset in - * PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), - * Playlists contains information about the master playlists that you want - * Elastic Transcoder to create.

                                                        - *

                                                        The maximum number of master playlists in a job is 30.

                                                        - */ - Playlists?: Playlist[]; - /** *

                                                        Details about the timing of a job.

                                                        */ @@ -2168,6 +2135,39 @@ export interface Job { * Canceled, or Error.

                                                        */ Status?: string; + + /** + *

                                                        A section of the request or response body that provides information about the file that is being transcoded.

                                                        + */ + Input?: JobInput; + + /** + *

                                                        The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to delete the job.

                                                        + */ + Id?: string; + + /** + * + *

                                                        Outputs in Fragmented MP4 or MPEG-TS format only.

                                                        + *
                                                        + *

                                                        If you specify a preset in + * PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), + * Playlists contains information about the master playlists that you want + * Elastic Transcoder to create.

                                                        + *

                                                        The maximum number of master playlists in a job is 30.

                                                        + */ + Playlists?: Playlist[]; + + /** + *

                                                        Information about the files that you're transcoding. If you specified multiple files for this + * job, Elastic Transcoder stitches the files together to make one output.

                                                        + */ + Inputs?: JobInput[]; + + /** + *

                                                        The Amazon Resource Name (ARN) for the job.

                                                        + */ + Arn?: string; } export namespace Job { @@ -2220,32 +2220,6 @@ export interface Permission { */ Grantee?: string; - /** - *

                                                        The type of value that appears in the Grantee object:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * Canonical: Either the canonical user ID for an AWS account or an - * origin access identity for an Amazon CloudFront distribution.

                                                          - * - *

                                                          A - * canonical user ID is not the same as an AWS account number.

                                                          - *
                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Email: The registered email address of an AWS account.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * Group: One of the following predefined Amazon S3 groups: - * AllUsers, AuthenticatedUsers, or - * LogDelivery.

                                                          - *
                                                        • - *
                                                        - */ - GranteeType?: string; - /** *

                                                        The permission that you want to give to the AWS user that is listed in Grantee. Valid * values include:

                                                        @@ -2274,6 +2248,32 @@ export interface Permission { *
                                                      */ Access?: string[]; + + /** + *

                                                      The type of value that appears in the Grantee object:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * Canonical: Either the canonical user ID for an AWS account or an + * origin access identity for an Amazon CloudFront distribution.

                                                        + * + *

                                                        A + * canonical user ID is not the same as an AWS account number.

                                                        + *
                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Email: The registered email address of an AWS account.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Group: One of the following predefined Amazon S3 groups: + * AllUsers, AuthenticatedUsers, or + * LogDelivery.

                                                        + *
                                                      • + *
                                                      + */ + GranteeType?: string; } export namespace Permission { @@ -2286,21 +2286,6 @@ export namespace Permission { *

                                                      The PipelineOutputConfig structure.

                                                      */ export interface PipelineOutputConfig { - /** - *

                                                      Optional. The Permissions object specifies which users and/or predefined - * Amazon S3 groups you want to have access to transcoded files and playlists, and the type - * of access you want them to have. You can grant permissions to a maximum of 30 users - * and/or predefined Amazon S3 groups.

                                                      - *

                                                      If you include Permissions, Elastic Transcoder grants only the permissions that you - * specify. It does not grant full permissions to the owner of the role specified by - * Role. If you want that user to have full control, you must explicitly - * grant full control to the user.

                                                      - *

                                                      If you omit Permissions, Elastic Transcoder grants full control over the transcoded files - * and playlists to the owner of the role specified by Role, and grants no - * other permissions to any other user or group.

                                                      - */ - Permissions?: Permission[]; - /** *

                                                      The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. Specify this * value when all of the following are true:

                                                      @@ -2334,6 +2319,21 @@ export interface PipelineOutputConfig { * Amazon S3 bucket.

                                                      */ StorageClass?: string; + + /** + *

                                                      Optional. The Permissions object specifies which users and/or predefined + * Amazon S3 groups you want to have access to transcoded files and playlists, and the type + * of access you want them to have. You can grant permissions to a maximum of 30 users + * and/or predefined Amazon S3 groups.

                                                      + *

                                                      If you include Permissions, Elastic Transcoder grants only the permissions that you + * specify. It does not grant full permissions to the owner of the role specified by + * Role. If you want that user to have full control, you must explicitly + * grant full control to the user.

                                                      + *

                                                      If you omit Permissions, Elastic Transcoder grants full control over the transcoded files + * and playlists to the owner of the role specified by Role, and grants no + * other permissions to any other user or group.

                                                      + */ + Permissions?: Permission[]; } export namespace PipelineOutputConfig { @@ -2354,11 +2354,6 @@ export interface Notifications { */ Progressing?: string; - /** - *

                                                      The Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing the job.

                                                      - */ - Completed?: string; - /** *

                                                      The Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition.

                                                      */ @@ -2368,6 +2363,11 @@ export interface Notifications { *

                                                      The Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition.

                                                      */ Warning?: string; + + /** + *

                                                      The Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing the job.

                                                      + */ + Completed?: string; } export namespace Notifications { @@ -2380,6 +2380,160 @@ export namespace Notifications { *

                                                      The CreatePipelineRequest structure.

                                                      */ export interface CreatePipelineRequest { + /** + *

                                                      The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

                                                      + *

                                                      If you use either s3 or s3-aws-kms as your + * Encryption:Mode, you don't need to provide a key with + * your job because a default key, known as an AWS-KMS key, is created for you automatically. + * You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are + * using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, + * or aes-gcm.

                                                      + */ + AwsKmsKeyArn?: string; + + /** + *

                                                      The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the pipeline.

                                                      + */ + Role: string | undefined; + + /** + *

                                                      The Amazon S3 bucket in which you saved the media files that you want to transcode.

                                                      + */ + InputBucket: string | undefined; + + /** + *

                                                      The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use + * this, or use ContentConfig:Bucket plus ThumbnailConfig:Bucket.)

                                                      + *

                                                      Specify this value when all of the following are true:

                                                      + *
                                                        + *
                                                      • + *

                                                        You want to save transcoded files, thumbnails (if any), and playlists (if any) + * together in one bucket.

                                                        + *
                                                      • + *
                                                      • + *

                                                        You do not want to specify the users or groups who have access to the transcoded + * files, thumbnails, and playlists.

                                                        + *
                                                      • + *
                                                      • + *

                                                        You do not want to specify the permissions that Elastic Transcoder grants to the + * + * files.

                                                        + * + *

                                                        When Elastic Transcoder saves files in + * OutputBucket, it grants full control over the files only to + * the AWS account that owns the role that is specified by + * Role.

                                                        + *
                                                        + *
                                                      • + *
                                                      • + *

                                                        You want to associate the transcoded files and thumbnails with the Amazon S3 + * Standard storage class.

                                                        + *
                                                      • + *
                                                      + * + *

                                                      If you want to save transcoded files and playlists in one bucket and thumbnails in + * another bucket, specify which users can access the transcoded files or the permissions + * the users have, or change the Amazon S3 storage class, omit OutputBucket + * and specify values for ContentConfig and ThumbnailConfig + * instead.

                                                      + */ + OutputBucket?: string; + + /** + *

                                                      The ThumbnailConfig object specifies several values, including the Amazon S3 + * bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have + * access to the files, the type of access you want users to have, and the storage class + * that you want to assign to the files.

                                                      + *

                                                      If you specify values for ContentConfig, you must also specify values for + * ThumbnailConfig even if you don't want to create thumbnails.

                                                      + *

                                                      If you specify values for ContentConfig and ThumbnailConfig, + * omit the OutputBucket object.

                                                      + *
                                                        + *
                                                      • + *

                                                        + * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save + * thumbnail files.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Permissions (Optional): The Permissions object specifies which + * users and/or predefined Amazon S3 groups you want to have access to thumbnail files, + * and the type of access you want them to have. You can grant permissions to a maximum + * of 30 users and/or predefined Amazon S3 groups.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * GranteeType: Specify the type of value that appears in the Grantee object:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * Canonical: The value in the Grantee object is either the + * canonical user ID for an AWS account or an origin access identity for an + * Amazon CloudFront distribution.

                                                          + * + *

                                                          A canonical user ID is not the + * same as an AWS account number.

                                                          + *
                                                          + *
                                                        • + *
                                                        • + *

                                                          + * Email: The value in the Grantee object is the registered + * email address of an AWS account.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * Group: The value in the Grantee object is one of the + * following predefined Amazon S3 groups: AllUsers, + * AuthenticatedUsers, or LogDelivery.

                                                          + *
                                                        • + *
                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Grantee: The AWS user or group that you want to have access to thumbnail + * files. To identify the user or group, you can specify the canonical user ID for an + * AWS account, an origin access identity for a CloudFront distribution, the registered + * email address of an AWS account, or a predefined Amazon S3 group.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Access: The permission that you want to give to the AWS user that you + * specified in Grantee. Permissions are granted on the thumbnail files + * that Elastic Transcoder adds to the bucket. Valid values include:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * READ: The grantee can read the thumbnails and metadata for + * objects that Elastic Transcoder adds to the Amazon S3 bucket.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * READ_ACP: The grantee can read the object ACL for thumbnails + * that Elastic Transcoder adds to the Amazon S3 bucket.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * WRITE_ACP: The grantee can write the ACL for the thumbnails + * that Elastic Transcoder adds to the Amazon S3 bucket.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * FULL_CONTROL: The grantee has READ, + * READ_ACP, and WRITE_ACP permissions for the + * thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

                                                          + *
                                                        • + *
                                                        + *
                                                      • + *
                                                      • + *

                                                        + * StorageClass: The Amazon S3 storage class, Standard or + * ReducedRedundancy, that you want Elastic Transcoder to assign to + * the thumbnails that it stores in your Amazon S3 bucket.

                                                        + *
                                                      • + *
                                                      + */ + ThumbnailConfig?: PipelineOutputConfig; + /** *

                                                      The name of the pipeline. We recommend that the name be unique within the AWS account, * but uniqueness is not enforced.

                                                      @@ -2524,181 +2678,65 @@ export interface CreatePipelineRequest { *
                                                    */ Notifications?: Notifications; +} + +export namespace CreatePipelineRequest { + export const filterSensitiveLog = (obj: CreatePipelineRequest): any => ({ + ...obj, + }); +} +/** + *

                                                    The pipeline (queue) that is used to manage jobs.

                                                    + */ +export interface Pipeline { /** - *

                                                    The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the pipeline.

                                                    + *

                                                    The identifier for the pipeline. You use this value to identify the pipeline in + * which you want to perform a variety of operations, such as creating a job or a preset.

                                                    */ - Role: string | undefined; + Id?: string; /** - *

                                                    The ThumbnailConfig object specifies several values, including the Amazon S3 - * bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have - * access to the files, the type of access you want users to have, and the storage class - * that you want to assign to the files.

                                                    - *

                                                    If you specify values for ContentConfig, you must also specify values for - * ThumbnailConfig even if you don't want to create thumbnails.

                                                    - *

                                                    If you specify values for ContentConfig and ThumbnailConfig, - * omit the OutputBucket object.

                                                    + *

                                                    The current status of the pipeline:

                                                    *
                                                      *
                                                    • *

                                                      - * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save - * thumbnail files.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * Permissions (Optional): The Permissions object specifies which - * users and/or predefined Amazon S3 groups you want to have access to thumbnail files, - * and the type of access you want them to have. You can grant permissions to a maximum - * of 30 users and/or predefined Amazon S3 groups.

                                                      + * Active: The pipeline is processing jobs.

                                                      *
                                                    • *
                                                    • *

                                                      - * GranteeType: Specify the type of value that appears in the Grantee object:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * Canonical: The value in the Grantee object is either the - * canonical user ID for an AWS account or an origin access identity for an - * Amazon CloudFront distribution.

                                                        - * - *

                                                        A canonical user ID is not the - * same as an AWS account number.

                                                        - *
                                                        - *
                                                      • - *
                                                      • - *

                                                        - * Email: The value in the Grantee object is the registered - * email address of an AWS account.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * Group: The value in the Grantee object is one of the - * following predefined Amazon S3 groups: AllUsers, - * AuthenticatedUsers, or LogDelivery.

                                                        - *
                                                      • - *
                                                      + * Paused: The pipeline is not currently processing jobs.

                                                      *
                                                    • + *
                                                    + */ + Status?: string; + + /** + *

                                                    The Amazon S3 bucket from which Elastic Transcoder gets media files for transcoding and the graphics + * files, if any, that you want to use for watermarks.

                                                    + */ + InputBucket?: string; + + /** + *

                                                    The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

                                                    + *

                                                    If you use either s3 or s3-aws-kms as your + * Encryption:Mode, you don't need to provide a key with + * your job because a default key, known as an AWS-KMS key, is created for you automatically. + * You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are + * using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, + * or aes-gcm.

                                                    + */ + AwsKmsKeyArn?: string; + + /** + *

                                                    Information about the Amazon S3 bucket in which you want Elastic Transcoder to save + * thumbnail files. Either you specify both ContentConfig and + * ThumbnailConfig, or you specify OutputBucket.

                                                    + *
                                                      *
                                                    • *

                                                      - * Grantee: The AWS user or group that you want to have access to thumbnail - * files. To identify the user or group, you can specify the canonical user ID for an - * AWS account, an origin access identity for a CloudFront distribution, the registered - * email address of an AWS account, or a predefined Amazon S3 group.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * Access: The permission that you want to give to the AWS user that you - * specified in Grantee. Permissions are granted on the thumbnail files - * that Elastic Transcoder adds to the bucket. Valid values include:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * READ: The grantee can read the thumbnails and metadata for - * objects that Elastic Transcoder adds to the Amazon S3 bucket.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * READ_ACP: The grantee can read the object ACL for thumbnails - * that Elastic Transcoder adds to the Amazon S3 bucket.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * WRITE_ACP: The grantee can write the ACL for the thumbnails - * that Elastic Transcoder adds to the Amazon S3 bucket.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * FULL_CONTROL: The grantee has READ, - * READ_ACP, and WRITE_ACP permissions for the - * thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

                                                        - *
                                                      • - *
                                                      - *
                                                    • - *
                                                    • - *

                                                      - * StorageClass: The Amazon S3 storage class, Standard or - * ReducedRedundancy, that you want Elastic Transcoder to assign to - * the thumbnails that it stores in your Amazon S3 bucket.

                                                      - *
                                                    • - *
                                                    - */ - ThumbnailConfig?: PipelineOutputConfig; - - /** - *

                                                    The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use - * this, or use ContentConfig:Bucket plus ThumbnailConfig:Bucket.)

                                                    - *

                                                    Specify this value when all of the following are true:

                                                    - *
                                                      - *
                                                    • - *

                                                      You want to save transcoded files, thumbnails (if any), and playlists (if any) - * together in one bucket.

                                                      - *
                                                    • - *
                                                    • - *

                                                      You do not want to specify the users or groups who have access to the transcoded - * files, thumbnails, and playlists.

                                                      - *
                                                    • - *
                                                    • - *

                                                      You do not want to specify the permissions that Elastic Transcoder grants to the - * - * files.

                                                      - * - *

                                                      When Elastic Transcoder saves files in - * OutputBucket, it grants full control over the files only to - * the AWS account that owns the role that is specified by - * Role.

                                                      - *
                                                      - *
                                                    • - *
                                                    • - *

                                                      You want to associate the transcoded files and thumbnails with the Amazon S3 - * Standard storage class.

                                                      - *
                                                    • - *
                                                    - * - *

                                                    If you want to save transcoded files and playlists in one bucket and thumbnails in - * another bucket, specify which users can access the transcoded files or the permissions - * the users have, or change the Amazon S3 storage class, omit OutputBucket - * and specify values for ContentConfig and ThumbnailConfig - * instead.

                                                    - */ - OutputBucket?: string; - - /** - *

                                                    The Amazon S3 bucket in which you saved the media files that you want to transcode.

                                                    - */ - InputBucket: string | undefined; - - /** - *

                                                    The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

                                                    - *

                                                    If you use either s3 or s3-aws-kms as your - * Encryption:Mode, you don't need to provide a key with - * your job because a default key, known as an AWS-KMS key, is created for you automatically. - * You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are - * using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, - * or aes-gcm.

                                                    - */ - AwsKmsKeyArn?: string; -} - -export namespace CreatePipelineRequest { - export const filterSensitiveLog = (obj: CreatePipelineRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                    The pipeline (queue) that is used to manage jobs.

                                                    - */ -export interface Pipeline { - /** - *

                                                    Information about the Amazon S3 bucket in which you want Elastic Transcoder to save - * thumbnail files. Either you specify both ContentConfig and - * ThumbnailConfig, or you specify OutputBucket.

                                                    - *
                                                      - *
                                                    • - *

                                                      - * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to - * save thumbnail files.

                                                      + * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to + * save thumbnail files.

                                                      *
                                                    • *
                                                    • *

                                                      @@ -2780,11 +2818,11 @@ export interface Pipeline { ThumbnailConfig?: PipelineOutputConfig; /** - *

                                                      The name of the pipeline. We recommend that the name be unique within the AWS account, - * but uniqueness is not enforced.

                                                      - *

                                                      Constraints: Maximum 40 characters

                                                      + *

                                                      The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files, + * thumbnails, and playlists. Either you specify this value, or you specify both + * ContentConfig and ThumbnailConfig.

                                                      */ - Name?: string; + OutputBucket?: string; /** *

                                                      Information about the Amazon S3 bucket in which you want Elastic Transcoder to save @@ -2871,6 +2909,23 @@ export interface Pipeline { */ ContentConfig?: PipelineOutputConfig; + /** + *

                                                      The name of the pipeline. We recommend that the name be unique within the AWS account, + * but uniqueness is not enforced.

                                                      + *

                                                      Constraints: Maximum 40 characters

                                                      + */ + Name?: string; + + /** + *

                                                      The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses to transcode jobs for this pipeline.

                                                      + */ + Role?: string; + + /** + *

                                                      The Amazon Resource Name (ARN) for the pipeline.

                                                      + */ + Arn?: string; + /** *

                                                      The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

                                                      * @@ -2900,61 +2955,6 @@ export interface Pipeline { *
                                                    */ Notifications?: Notifications; - - /** - *

                                                    The identifier for the pipeline. You use this value to identify the pipeline in - * which you want to perform a variety of operations, such as creating a job or a preset.

                                                    - */ - Id?: string; - - /** - *

                                                    The Amazon Resource Name (ARN) for the pipeline.

                                                    - */ - Arn?: string; - - /** - *

                                                    The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses to transcode jobs for this pipeline.

                                                    - */ - Role?: string; - - /** - *

                                                    The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

                                                    - *

                                                    If you use either s3 or s3-aws-kms as your - * Encryption:Mode, you don't need to provide a key with - * your job because a default key, known as an AWS-KMS key, is created for you automatically. - * You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are - * using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, - * or aes-gcm.

                                                    - */ - AwsKmsKeyArn?: string; - - /** - *

                                                    The Amazon S3 bucket from which Elastic Transcoder gets media files for transcoding and the graphics - * files, if any, that you want to use for watermarks.

                                                    - */ - InputBucket?: string; - - /** - *

                                                    The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files, - * thumbnails, and playlists. Either you specify this value, or you specify both - * ContentConfig and ThumbnailConfig.

                                                    - */ - OutputBucket?: string; - - /** - *

                                                    The current status of the pipeline:

                                                    - *
                                                      - *
                                                    • - *

                                                      - * Active: The pipeline is processing jobs.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * Paused: The pipeline is not currently processing jobs.

                                                      - *
                                                    • - *
                                                    - */ - Status?: string; } export namespace Pipeline { @@ -2994,11 +2994,6 @@ export namespace Warning { *

                                                    When you create a pipeline, Elastic Transcoder returns the values that you specified in the request.

                                                    */ export interface CreatePipelineResponse { - /** - *

                                                    A section of the response body that provides information about the pipeline that is created.

                                                    - */ - Pipeline?: Pipeline; - /** *

                                                    Elastic Transcoder returns a warning if the resources used by your pipeline are not in the same region as * the pipeline.

                                                    @@ -3006,6 +3001,11 @@ export interface CreatePipelineResponse { * AWS KMS key, reduces processing time and prevents cross-regional charges.

                                                    */ Warnings?: Warning[]; + + /** + *

                                                    A section of the response body that provides information about the pipeline that is created.

                                                    + */ + Pipeline?: Pipeline; } export namespace CreatePipelineResponse { @@ -3019,41 +3019,10 @@ export namespace CreatePipelineResponse { */ export interface Thumbnails { /** - *

                                                    The approximate number of seconds between thumbnails. Specify an integer value.

                                                    - */ - Interval?: string; - - /** - *

                                                    The maximum height of thumbnails in pixels. If you specify auto, Elastic Transcoder uses 1080 - * (Full HD) as the default value. If you specify a numeric value, enter an even integer - * between 32 and 3072.

                                                    - */ - MaxHeight?: string; - - /** - *

                                                    The maximum width of thumbnails in pixels. If you specify auto, Elastic Transcoder uses 1920 (Full HD) - * as the default value. If you specify a numeric value, enter an even integer between 32 and 4096.

                                                    - */ - MaxWidth?: string; - - /** - * - *

                                                    To better control resolution and aspect ratio of thumbnails, we recommend that you - * use the values MaxWidth, MaxHeight, - * SizingPolicy, and PaddingPolicy instead of - * Resolution and AspectRatio. The two groups of settings - * are mutually exclusive. Do not use them together.

                                                    - *
                                                    - *

                                                    The width and height of thumbnail files in pixels. Specify a value in the format - * - * width - * x - * height - * where both values are - * even integers. The values cannot exceed the width and height that you specified in the - * Video:Resolution object.

                                                    + *

                                                    The format of thumbnails, if any. Valid values are jpg and png.

                                                    + *

                                                    You specify whether you want Elastic Transcoder to create thumbnails when you create a job.

                                                    */ - Resolution?: string; + Format?: string; /** *

                                                    Specify one of the following values to control scaling of thumbnails:

                                                    @@ -3107,12 +3076,6 @@ export interface Thumbnails { */ SizingPolicy?: string; - /** - *

                                                    The format of thumbnails, if any. Valid values are jpg and png.

                                                    - *

                                                    You specify whether you want Elastic Transcoder to create thumbnails when you create a job.

                                                    - */ - Format?: string; - /** *

                                                    When you set PaddingPolicy to Pad, Elastic Transcoder may add * black bars to the top and bottom and/or left and right sides of thumbnails to make the @@ -3138,16 +3101,53 @@ export interface Thumbnails { * the output file.

                                                    */ AspectRatio?: string; -} -export namespace Thumbnails { - export const filterSensitiveLog = (obj: Thumbnails): any => ({ - ...obj, - }); -} - -/** - *

                                                    Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to + /** + *

                                                    The maximum width of thumbnails in pixels. If you specify auto, Elastic Transcoder uses 1920 (Full HD) + * as the default value. If you specify a numeric value, enter an even integer between 32 and 4096.

                                                    + */ + MaxWidth?: string; + + /** + *

                                                    The maximum height of thumbnails in pixels. If you specify auto, Elastic Transcoder uses 1080 + * (Full HD) as the default value. If you specify a numeric value, enter an even integer + * between 32 and 3072.

                                                    + */ + MaxHeight?: string; + + /** + *

                                                    The approximate number of seconds between thumbnails. Specify an integer value.

                                                    + */ + Interval?: string; + + /** + * + *

                                                    To better control resolution and aspect ratio of thumbnails, we recommend that you + * use the values MaxWidth, MaxHeight, + * SizingPolicy, and PaddingPolicy instead of + * Resolution and AspectRatio. The two groups of settings + * are mutually exclusive. Do not use them together.

                                                    + *
                                                    + *

                                                    The width and height of thumbnail files in pixels. Specify a value in the format + * + * width + * x + * height + * where both values are + * even integers. The values cannot exceed the width and height that you specified in the + * Video:Resolution object.

                                                    + */ + Resolution?: string; +} + +export namespace Thumbnails { + export const filterSensitiveLog = (obj: Thumbnails): any => ({ + ...obj, + }); +} + +/** + *

                                                    Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to * overlay over videos that are transcoded using this preset. You can specify settings * for up to four watermarks. Watermarks appear in the specified size and location, and * with the specified opacity for the duration of the transcoded video.

                                                    @@ -3159,75 +3159,6 @@ export namespace Thumbnails { * the same preset for up to four watermarks that have different dimensions.

                                                    */ export interface PresetWatermark { - /** - *

                                                    The horizontal position of the watermark unless you specify a non-zero value for - * HorizontalOffset:

                                                    - *
                                                      - *
                                                    • - *

                                                      - * Left: The left edge of the watermark is aligned with the left border of - * the video.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * Right: The right edge of the watermark is aligned with the right border - * of the video.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * Center: The watermark is centered between the left and right - * borders.

                                                      - *
                                                    • - *
                                                    - */ - HorizontalAlign?: string; - - /** - *

                                                    The maximum width of the watermark in one of the following formats:

                                                    - *
                                                      - *
                                                    • - *

                                                      number of pixels (px): The minimum value is 16 pixels, and the maximum value is - * the value of MaxWidth.

                                                      - *
                                                    • - *
                                                    • - *

                                                      integer percentage (%): The range of valid values is 0 to 100. Use the value of - * Target to specify whether you want Elastic Transcoder to include the black - * bars that are added by Elastic Transcoder, if any, in the calculation.

                                                      - *

                                                      If - * you specify the value in pixels, it must be less than or equal to the value of - * MaxWidth.

                                                      - *
                                                    • - *
                                                    - */ - MaxWidth?: string; - - /** - *

                                                    The amount by which you want the horizontal position of the watermark to be offset from - * the position specified by HorizontalAlign:

                                                    - *
                                                      - *
                                                    • - *

                                                      number of pixels (px): The minimum value is 0 pixels, and the maximum value is - * the value of MaxWidth.

                                                      - *
                                                    • - *
                                                    • - *

                                                      integer percentage (%): The range of valid values is 0 to 100.

                                                      - *
                                                    • - *
                                                    - *

                                                    For example, if you specify Left for HorizontalAlign and 5px for - * HorizontalOffset, the left side of the watermark appears 5 pixels from - * the left border of the output video.

                                                    - *

                                                    - * HorizontalOffset is only valid when the value of - * HorizontalAlign is Left or Right. If you - * specify an offset that causes the watermark to extend beyond the left or right border - * and Elastic Transcoder has not added black bars, the watermark is cropped. If Elastic - * Transcoder has added black bars, the watermark extends into the black bars. If the - * watermark extends beyond the black bars, it is cropped.

                                                    - *

                                                    Use the value of Target to specify whether you want to include the black - * bars that are added by Elastic Transcoder, if any, in the offset calculation.

                                                    - */ - HorizontalOffset?: string; - /** *

                                                    A value that determines how Elastic Transcoder interprets values that you specified for * HorizontalOffset, VerticalOffset, MaxWidth, @@ -3260,6 +3191,17 @@ export interface PresetWatermark { */ Id?: string; + /** + *

                                                    A percentage that indicates how much you want a watermark to obscure the video in the + * location where it appears. Valid values are 0 (the watermark is invisible) to 100 (the + * watermark completely obscures the video in the specified location). The datatype of + * Opacity is float.

                                                    + *

                                                    Elastic Transcoder supports transparent .png graphics. If you use a transparent .png, the transparent + * portion of the video appears as if you had specified a value of 0 for + * Opacity. The .jpg file format doesn't support transparency.

                                                    + */ + Opacity?: string; + /** *

                                                    The maximum height of the watermark in one of the following formats:

                                                    *
                                                      @@ -3279,15 +3221,27 @@ export interface PresetWatermark { MaxHeight?: string; /** - *

                                                      A percentage that indicates how much you want a watermark to obscure the video in the - * location where it appears. Valid values are 0 (the watermark is invisible) to 100 (the - * watermark completely obscures the video in the specified location). The datatype of - * Opacity is float.

                                                      - *

                                                      Elastic Transcoder supports transparent .png graphics. If you use a transparent .png, the transparent - * portion of the video appears as if you had specified a value of 0 for - * Opacity. The .jpg file format doesn't support transparency.

                                                      + *

                                                      The vertical position of the watermark unless you specify a non-zero value for + * VerticalOffset:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * Top: The top edge of the watermark is aligned with the top border of the + * video.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Bottom: The bottom edge of the watermark is aligned with the bottom + * border of the video.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Center: The watermark is centered between the top and bottom + * borders.

                                                        + *
                                                      • + *
                                                      */ - Opacity?: string; + VerticalAlign?: string; /** *

                                                      A value that controls scaling of the watermark:

                                                      @@ -3317,29 +3271,6 @@ export interface PresetWatermark { */ SizingPolicy?: string; - /** - *

                                                      The vertical position of the watermark unless you specify a non-zero value for - * VerticalOffset:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * Top: The top edge of the watermark is aligned with the top border of the - * video.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * Bottom: The bottom edge of the watermark is aligned with the bottom - * border of the video.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * Center: The watermark is centered between the top and bottom - * borders.

                                                        - *
                                                      • - *
                                                      - */ - VerticalAlign?: string; - /** *

                                                      * VerticalOffset @@ -3371,6 +3302,75 @@ export interface PresetWatermark { * calculation.

                                                      */ VerticalOffset?: string; + + /** + *

                                                      The horizontal position of the watermark unless you specify a non-zero value for + * HorizontalOffset:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * Left: The left edge of the watermark is aligned with the left border of + * the video.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Right: The right edge of the watermark is aligned with the right border + * of the video.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * Center: The watermark is centered between the left and right + * borders.

                                                        + *
                                                      • + *
                                                      + */ + HorizontalAlign?: string; + + /** + *

                                                      The amount by which you want the horizontal position of the watermark to be offset from + * the position specified by HorizontalAlign:

                                                      + *
                                                        + *
                                                      • + *

                                                        number of pixels (px): The minimum value is 0 pixels, and the maximum value is + * the value of MaxWidth.

                                                        + *
                                                      • + *
                                                      • + *

                                                        integer percentage (%): The range of valid values is 0 to 100.

                                                        + *
                                                      • + *
                                                      + *

                                                      For example, if you specify Left for HorizontalAlign and 5px for + * HorizontalOffset, the left side of the watermark appears 5 pixels from + * the left border of the output video.

                                                      + *

                                                      + * HorizontalOffset is only valid when the value of + * HorizontalAlign is Left or Right. If you + * specify an offset that causes the watermark to extend beyond the left or right border + * and Elastic Transcoder has not added black bars, the watermark is cropped. If Elastic + * Transcoder has added black bars, the watermark extends into the black bars. If the + * watermark extends beyond the black bars, it is cropped.

                                                      + *

                                                      Use the value of Target to specify whether you want to include the black + * bars that are added by Elastic Transcoder, if any, in the offset calculation.

                                                      + */ + HorizontalOffset?: string; + + /** + *

                                                      The maximum width of the watermark in one of the following formats:

                                                      + *
                                                        + *
                                                      • + *

                                                        number of pixels (px): The minimum value is 16 pixels, and the maximum value is + * the value of MaxWidth.

                                                        + *
                                                      • + *
                                                      • + *

                                                        integer percentage (%): The range of valid values is 0 to 100. Use the value of + * Target to specify whether you want Elastic Transcoder to include the black + * bars that are added by Elastic Transcoder, if any, in the calculation.

                                                        + *

                                                        If + * you specify the value in pixels, it must be less than or equal to the value of + * MaxWidth.

                                                        + *
                                                      • + *
                                                      + */ + MaxWidth?: string; } export namespace PresetWatermark { @@ -3383,6 +3383,13 @@ export namespace PresetWatermark { *

                                                      The VideoParameters structure.

                                                      */ export interface VideoParameters { + /** + *

                                                      The maximum width of the output video in pixels. If you specify auto, Elastic Transcoder + * uses 1920 (Full HD) as the default value. If you specify a numeric value, enter an even + * integer between 128 and 4096.

                                                      + */ + MaxWidth?: string; + /** *

                                                      The frames per second for the video stream in the output file. Valid values include:

                                                      *

                                                      @@ -3454,7 +3461,291 @@ export interface VideoParameters { * *

                                                    */ - FrameRate?: string; + FrameRate?: string; + + /** + *

                                                    The maximum height of the output video in pixels. If you specify auto, Elastic Transcoder + * uses 1080 (Full HD) as the default value. If you specify a numeric value, enter an even + * integer between 96 and 3072.

                                                    + */ + MaxHeight?: string; + + /** + *

                                                    Specify one of the following values to control scaling of the output video:

                                                    + * + *
                                                      + *
                                                    • + *

                                                      + * Fit: Elastic Transcoder scales the output video so it matches the value that you + * specified in either MaxWidth or MaxHeight without + * exceeding the other value.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * Fill: Elastic Transcoder scales the output video so it matches the value that you + * specified in either MaxWidth or MaxHeight and matches + * or exceeds the other value. Elastic Transcoder centers the output video and then crops it in + * the dimension (if any) that exceeds the maximum value.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * Stretch: Elastic Transcoder stretches the output video to match the values that + * you specified for MaxWidth and MaxHeight. If the + * relative proportions of the input video and the output video are different, the + * output video will be distorted.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * Keep: Elastic Transcoder does not scale the output video. If either + * dimension of the input video exceeds the values that you specified for + * MaxWidth and MaxHeight, Elastic Transcoder crops the output + * video.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * ShrinkToFit: Elastic Transcoder scales the output video down so that its + * dimensions match the values that you specified for at least one of + * MaxWidth and MaxHeight without exceeding either + * value. If you specify this option, Elastic Transcoder does not scale the video up.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * ShrinkToFill: Elastic Transcoder scales the output video down so that its + * dimensions match the values that you specified for at least one of + * MaxWidth and MaxHeight without dropping below + * either value. If you specify this option, Elastic Transcoder does not scale the video up.

                                                      + *
                                                    • + *
                                                    + */ + SizingPolicy?: string; + + /** + * + *

                                                    To better control resolution and aspect ratio of output videos, we recommend that you + * use the values MaxWidth, MaxHeight, + * SizingPolicy, PaddingPolicy, and + * DisplayAspectRatio instead of Resolution and + * AspectRatio. The two groups of settings are mutually exclusive. Do + * not use them together.

                                                    + *
                                                    + *

                                                    The width and height of the video in the output file, in pixels. Valid values are + * auto and width x height:

                                                    + *
                                                      + *
                                                    • + *

                                                      + * auto: Elastic Transcoder attempts to preserve the width and height of the input file, + * subject to the following rules.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * + * width x height + * : The width and height of the output video + * in pixels.

                                                      + *
                                                    • + *
                                                    + *

                                                    Note the following about specifying the width and height:

                                                    + *
                                                      + *
                                                    • + *

                                                      The width must be an even integer between 128 and 4096, inclusive.

                                                      + *
                                                    • + *
                                                    • + *

                                                      The height must be an even integer between 96 and 3072, inclusive.

                                                      + *
                                                    • + *
                                                    • + *

                                                      If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder + * rescales the output file to the lower resolution.

                                                      + *
                                                    • + *
                                                    • + *

                                                      If you specify a resolution that is greater than the resolution of the input file, + * Elastic Transcoder rescales the output to the higher resolution.

                                                      + *
                                                    • + *
                                                    • + *

                                                      We recommend that you specify a resolution for which the product of width and height + * is less than or equal to the applicable value in the following list (List - Max + * width x height value):

                                                      + *
                                                        + *
                                                      • + *

                                                        1 - 25344

                                                        + *
                                                      • + *
                                                      • + *

                                                        1b - 25344

                                                        + *
                                                      • + *
                                                      • + *

                                                        1.1 - 101376

                                                        + *
                                                      • + *
                                                      • + *

                                                        1.2 - 101376

                                                        + *
                                                      • + *
                                                      • + *

                                                        1.3 - 101376

                                                        + *
                                                      • + *
                                                      • + *

                                                        2 - 101376

                                                        + *
                                                      • + *
                                                      • + *

                                                        2.1 - 202752

                                                        + *
                                                      • + *
                                                      • + *

                                                        2.2 - 404720

                                                        + *
                                                      • + *
                                                      • + *

                                                        3 - 404720

                                                        + *
                                                      • + *
                                                      • + *

                                                        3.1 - 921600

                                                        + *
                                                      • + *
                                                      • + *

                                                        3.2 - 1310720

                                                        + *
                                                      • + *
                                                      • + *

                                                        4 - 2097152

                                                        + *
                                                      • + *
                                                      • + *

                                                        4.1 - 2097152

                                                        + *
                                                      • + *
                                                      + *
                                                    • + *
                                                    + */ + Resolution?: string; + + /** + *

                                                    The bit rate of the video stream in the output file, in kilobits/second. Valid values + * depend on the values of Level and Profile. If you specify + * auto, Elastic Transcoder uses the detected bit rate of the input source. If you + * specify a value other than auto, we recommend that you specify a value less + * than or equal to the maximum H.264-compliant value listed for your level and + * profile:

                                                    + *

                                                    + * Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : + * maximum video bit rate in kilobits/second (high Profile) + *

                                                    + *
                                                      + *
                                                    • + *

                                                      1 - 64 : 80

                                                      + *
                                                    • + *
                                                    • + *

                                                      1b - 128 : 160

                                                      + *
                                                    • + *
                                                    • + *

                                                      1.1 - 192 : 240

                                                      + *
                                                    • + *
                                                    • + *

                                                      1.2 - 384 : 480

                                                      + *
                                                    • + *
                                                    • + *

                                                      1.3 - 768 : 960

                                                      + *
                                                    • + *
                                                    • + *

                                                      2 - 2000 : 2500

                                                      + *
                                                    • + *
                                                    • + *

                                                      3 - 10000 : 12500

                                                      + *
                                                    • + *
                                                    • + *

                                                      3.1 - 14000 : 17500

                                                      + *
                                                    • + *
                                                    • + *

                                                      3.2 - 20000 : 25000

                                                      + *
                                                    • + *
                                                    • + *

                                                      4 - 20000 : 25000

                                                      + *
                                                    • + *
                                                    • + *

                                                      4.1 - 50000 : 62500

                                                      + *
                                                    • + *
                                                    + */ + BitRate?: string; + + /** + *

                                                    If you specify auto for FrameRate, Elastic Transcoder uses the frame rate of + * the input video for the frame rate of the output video. Specify the maximum frame rate + * that you want Elastic Transcoder to use when the frame rate of the input video is greater than the + * desired maximum frame rate of the output video. Valid values include: 10, + * 15, 23.97, 24, 25, + * 29.97, 30, 60.

                                                    + */ + MaxFrameRate?: string; + + /** + *

                                                    When you set PaddingPolicy to Pad, Elastic Transcoder may add black bars to + * the top and bottom and/or left and right sides of the output video to make the total + * size of the output video match the values that you specified for MaxWidth + * and MaxHeight.

                                                    + */ + PaddingPolicy?: string; + + /** + *

                                                    The video codec for the output file. Valid values include gif, + * H.264, mpeg2, vp8, and vp9. + * You can only specify vp8 and vp9 when the container type is + * webm, gif when the container type is gif, + * and mpeg2 when the container type is mpg.

                                                    + */ + Codec?: string; + + /** + *

                                                    Applicable only when the value of Video:Codec is one of H.264, MPEG2, + * or VP8.

                                                    + *

                                                    Whether to use a fixed value for FixedGOP. Valid values are + * true and false:

                                                    + *
                                                      + *
                                                    • + *

                                                      + * true: Elastic Transcoder uses the value of KeyframesMaxDist for the + * distance between key frames (the number of frames in a group of pictures, or + * GOP).

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * false: The distance between key frames can vary.

                                                      + *
                                                    • + *
                                                    + * + *

                                                    + * FixedGOP must be set to true for fmp4 containers.

                                                    + *
                                                    + */ + FixedGOP?: string; + + /** + * + *

                                                    To better control resolution and aspect ratio of output videos, we recommend that you + * use the values MaxWidth, MaxHeight, + * SizingPolicy, PaddingPolicy, and + * DisplayAspectRatio instead of Resolution and + * AspectRatio. The two groups of settings are mutually exclusive. Do + * not use them together.

                                                    + *
                                                    + *

                                                    The display aspect ratio of the video in the output file. Valid values include:

                                                    + *

                                                    + * auto, 1:1, 4:3, 3:2, + * 16:9 + *

                                                    + *

                                                    If you specify auto, Elastic Transcoder tries to preserve the aspect ratio of the input + * file.

                                                    + *

                                                    If you specify an aspect ratio for the output file that differs from aspect ratio + * of the input file, Elastic Transcoder adds pillarboxing (black bars on the sides) or letterboxing + * (black bars on the top and bottom) to maintain the aspect ratio of the active region + * of the video.

                                                    + */ + AspectRatio?: string; + + /** + *

                                                    Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay + * over videos that are transcoded using this preset. You can specify settings for up to four + * watermarks. Watermarks appear in the specified size and location, and with the specified + * opacity for the duration of the transcoded video.

                                                    + *

                                                    Watermarks can be in .png or .jpg format. If you want to display a watermark that is not + * rectangular, use the .png format, which supports transparency.

                                                    + *

                                                    When you create a job that uses this preset, you specify the .png or .jpg graphics that + * you want Elastic Transcoder to include in the transcoded videos. You can specify fewer graphics in the job + * than you specify watermark settings in the preset, which allows you to use the same preset + * for up to four watermarks that have different dimensions.

                                                    + */ + Watermarks?: PresetWatermark[]; /** *

                                                    Applicable only when the value of Video:Codec is one of H.264, MPEG2, @@ -3595,362 +3886,71 @@ export interface VideoParameters { * ColorSpaceConversionMode (Optional, H.264/MPEG2 Only) *

                                                    *

                                                    The color space conversion Elastic Transcoder applies to the output video. Color spaces are the algorithms - * used by the computer to store information about how to render color. Bt.601 is the - * standard for standard definition video, while Bt.709 is the standard for high definition - * video.

                                                    - *

                                                    Valid values include None, - * Bt709toBt601, Bt601toBt709, and Auto.

                                                    - *

                                                    If you chose Auto for ColorSpaceConversionMode and your output - * is interlaced, your frame rate is one of 23.97, 24, - * 25, 29.97, 50, or 60, your - * SegmentDuration is null, and you are using one of the resolution - * changes from the list below, Elastic Transcoder applies the following color space - * conversions:

                                                    - *
                                                      - *
                                                    • - *

                                                      - * Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709 - *

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709 - *

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601 - *

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601 - *

                                                      - *
                                                    • - *
                                                    - * - *

                                                    Elastic Transcoder may change the behavior of the ColorspaceConversionMode - * Auto mode in the future. All outputs in a playlist must use the same - * ColorSpaceConversionMode.

                                                    - *
                                                    - *

                                                    If you do not specify a ColorSpaceConversionMode, Elastic Transcoder does not change the - * color space of a file. If you are unsure what ColorSpaceConversionMode was applied to - * your output file, you can check the AppliedColorSpaceConversion parameter included in - * your job response. If your job does not have an AppliedColorSpaceConversion in its - * response, no ColorSpaceConversionMode was applied.

                                                    - *

                                                    - * ChromaSubsampling - *

                                                    - *

                                                    The sampling pattern for the chroma (color) channels of the output video. - * Valid values include yuv420p and yuv422p.

                                                    - *

                                                    - * yuv420p samples the chroma information of every other horizontal and every other vertical - * line, yuv422p samples the color information of every horizontal line and every other - * vertical line.

                                                    - * - *

                                                    - * LoopCount (Gif Only) - *

                                                    - *

                                                    The number of times you want the output gif to loop. Valid values include Infinite and - * integers between 0 and 100, inclusive.

                                                    - */ - CodecOptions?: { [key: string]: string }; - - /** - *

                                                    Specify one of the following values to control scaling of the output video:

                                                    - * - *
                                                      - *
                                                    • - *

                                                      - * Fit: Elastic Transcoder scales the output video so it matches the value that you - * specified in either MaxWidth or MaxHeight without - * exceeding the other value.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * Fill: Elastic Transcoder scales the output video so it matches the value that you - * specified in either MaxWidth or MaxHeight and matches - * or exceeds the other value. Elastic Transcoder centers the output video and then crops it in - * the dimension (if any) that exceeds the maximum value.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * Stretch: Elastic Transcoder stretches the output video to match the values that - * you specified for MaxWidth and MaxHeight. If the - * relative proportions of the input video and the output video are different, the - * output video will be distorted.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * Keep: Elastic Transcoder does not scale the output video. If either - * dimension of the input video exceeds the values that you specified for - * MaxWidth and MaxHeight, Elastic Transcoder crops the output - * video.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * ShrinkToFit: Elastic Transcoder scales the output video down so that its - * dimensions match the values that you specified for at least one of - * MaxWidth and MaxHeight without exceeding either - * value. If you specify this option, Elastic Transcoder does not scale the video up.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * ShrinkToFill: Elastic Transcoder scales the output video down so that its - * dimensions match the values that you specified for at least one of - * MaxWidth and MaxHeight without dropping below - * either value. If you specify this option, Elastic Transcoder does not scale the video up.

                                                      - *
                                                    • - *
                                                    - */ - SizingPolicy?: string; - - /** - *

                                                    The maximum height of the output video in pixels. If you specify auto, Elastic Transcoder - * uses 1080 (Full HD) as the default value. If you specify a numeric value, enter an even - * integer between 96 and 3072.

                                                    - */ - MaxHeight?: string; - - /** - * - *

                                                    To better control resolution and aspect ratio of output videos, we recommend that you - * use the values MaxWidth, MaxHeight, - * SizingPolicy, PaddingPolicy, and - * DisplayAspectRatio instead of Resolution and - * AspectRatio. The two groups of settings are mutually exclusive. Do - * not use them together.

                                                    - *
                                                    - *

                                                    The width and height of the video in the output file, in pixels. Valid values are - * auto and width x height:

                                                    - *
                                                      - *
                                                    • - *

                                                      - * auto: Elastic Transcoder attempts to preserve the width and height of the input file, - * subject to the following rules.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * - * width x height - * : The width and height of the output video - * in pixels.

                                                      - *
                                                    • - *
                                                    - *

                                                    Note the following about specifying the width and height:

                                                    - *
                                                      - *
                                                    • - *

                                                      The width must be an even integer between 128 and 4096, inclusive.

                                                      - *
                                                    • - *
                                                    • - *

                                                      The height must be an even integer between 96 and 3072, inclusive.

                                                      - *
                                                    • - *
                                                    • - *

                                                      If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder - * rescales the output file to the lower resolution.

                                                      - *
                                                    • - *
                                                    • - *

                                                      If you specify a resolution that is greater than the resolution of the input file, - * Elastic Transcoder rescales the output to the higher resolution.

                                                      - *
                                                    • - *
                                                    • - *

                                                      We recommend that you specify a resolution for which the product of width and height - * is less than or equal to the applicable value in the following list (List - Max - * width x height value):

                                                      - *
                                                        - *
                                                      • - *

                                                        1 - 25344

                                                        - *
                                                      • - *
                                                      • - *

                                                        1b - 25344

                                                        - *
                                                      • - *
                                                      • - *

                                                        1.1 - 101376

                                                        - *
                                                      • - *
                                                      • - *

                                                        1.2 - 101376

                                                        - *
                                                      • - *
                                                      • - *

                                                        1.3 - 101376

                                                        - *
                                                      • - *
                                                      • - *

                                                        2 - 101376

                                                        - *
                                                      • - *
                                                      • - *

                                                        2.1 - 202752

                                                        - *
                                                      • - *
                                                      • - *

                                                        2.2 - 404720

                                                        - *
                                                      • - *
                                                      • - *

                                                        3 - 404720

                                                        - *
                                                      • - *
                                                      • - *

                                                        3.1 - 921600

                                                        - *
                                                      • - *
                                                      • - *

                                                        3.2 - 1310720

                                                        - *
                                                      • - *
                                                      • - *

                                                        4 - 2097152

                                                        - *
                                                      • - *
                                                      • - *

                                                        4.1 - 2097152

                                                        - *
                                                      • - *
                                                      - *
                                                    • - *
                                                    - */ - Resolution?: string; - - /** - *

                                                    The bit rate of the video stream in the output file, in kilobits/second. Valid values - * depend on the values of Level and Profile. If you specify - * auto, Elastic Transcoder uses the detected bit rate of the input source. If you - * specify a value other than auto, we recommend that you specify a value less - * than or equal to the maximum H.264-compliant value listed for your level and - * profile:

                                                    - *

                                                    - * Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : - * maximum video bit rate in kilobits/second (high Profile) - *

                                                    + * used by the computer to store information about how to render color. Bt.601 is the + * standard for standard definition video, while Bt.709 is the standard for high definition + * video.

                                                    + *

                                                    Valid values include None, + * Bt709toBt601, Bt601toBt709, and Auto.

                                                    + *

                                                    If you chose Auto for ColorSpaceConversionMode and your output + * is interlaced, your frame rate is one of 23.97, 24, + * 25, 29.97, 50, or 60, your + * SegmentDuration is null, and you are using one of the resolution + * changes from the list below, Elastic Transcoder applies the following color space + * conversions:

                                                    *
                                                      *
                                                    • - *

                                                      1 - 64 : 80

                                                      - *
                                                    • - *
                                                    • - *

                                                      1b - 128 : 160

                                                      - *
                                                    • - *
                                                    • - *

                                                      1.1 - 192 : 240

                                                      - *
                                                    • - *
                                                    • - *

                                                      1.2 - 384 : 480

                                                      - *
                                                    • - *
                                                    • - *

                                                      1.3 - 768 : 960

                                                      - *
                                                    • - *
                                                    • - *

                                                      2 - 2000 : 2500

                                                      - *
                                                    • - *
                                                    • - *

                                                      3 - 10000 : 12500

                                                      - *
                                                    • - *
                                                    • - *

                                                      3.1 - 14000 : 17500

                                                      + *

                                                      + * Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709 + *

                                                      *
                                                    • *
                                                    • - *

                                                      3.2 - 20000 : 25000

                                                      + *

                                                      + * Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709 + *

                                                      *
                                                    • *
                                                    • - *

                                                      4 - 20000 : 25000

                                                      + *

                                                      + * HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601 + *

                                                      *
                                                    • *
                                                    • - *

                                                      4.1 - 50000 : 62500

                                                      + *

                                                      + * HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601 + *

                                                      *
                                                    • *
                                                    - */ - BitRate?: string; - - /** - *

                                                    If you specify auto for FrameRate, Elastic Transcoder uses the frame rate of - * the input video for the frame rate of the output video. Specify the maximum frame rate - * that you want Elastic Transcoder to use when the frame rate of the input video is greater than the - * desired maximum frame rate of the output video. Valid values include: 10, - * 15, 23.97, 24, 25, - * 29.97, 30, 60.

                                                    - */ - MaxFrameRate?: string; - - /** - *

                                                    When you set PaddingPolicy to Pad, Elastic Transcoder may add black bars to - * the top and bottom and/or left and right sides of the output video to make the total - * size of the output video match the values that you specified for MaxWidth - * and MaxHeight.

                                                    - */ - PaddingPolicy?: string; - - /** - *

                                                    The maximum width of the output video in pixels. If you specify auto, Elastic Transcoder - * uses 1920 (Full HD) as the default value. If you specify a numeric value, enter an even - * integer between 128 and 4096.

                                                    - */ - MaxWidth?: string; - - /** - * - *

                                                    To better control resolution and aspect ratio of output videos, we recommend that you - * use the values MaxWidth, MaxHeight, - * SizingPolicy, PaddingPolicy, and - * DisplayAspectRatio instead of Resolution and - * AspectRatio. The two groups of settings are mutually exclusive. Do - * not use them together.

                                                    - *
                                                    - *

                                                    The display aspect ratio of the video in the output file. Valid values include:

                                                    - *

                                                    - * auto, 1:1, 4:3, 3:2, - * 16:9 + * + *

                                                    Elastic Transcoder may change the behavior of the ColorspaceConversionMode + * Auto mode in the future. All outputs in a playlist must use the same + * ColorSpaceConversionMode.

                                                    + * + *

                                                    If you do not specify a ColorSpaceConversionMode, Elastic Transcoder does not change the + * color space of a file. If you are unsure what ColorSpaceConversionMode was applied to + * your output file, you can check the AppliedColorSpaceConversion parameter included in + * your job response. If your job does not have an AppliedColorSpaceConversion in its + * response, no ColorSpaceConversionMode was applied.

                                                    + *

                                                    + * ChromaSubsampling *

                                                    - *

                                                    If you specify auto, Elastic Transcoder tries to preserve the aspect ratio of the input - * file.

                                                    - *

                                                    If you specify an aspect ratio for the output file that differs from aspect ratio - * of the input file, Elastic Transcoder adds pillarboxing (black bars on the sides) or letterboxing - * (black bars on the top and bottom) to maintain the aspect ratio of the active region - * of the video.

                                                    + *

                                                    The sampling pattern for the chroma (color) channels of the output video. + * Valid values include yuv420p and yuv422p.

                                                    + *

                                                    + * yuv420p samples the chroma information of every other horizontal and every other vertical + * line, yuv422p samples the color information of every horizontal line and every other + * vertical line.

                                                    + * + *

                                                    + * LoopCount (Gif Only) + *

                                                    + *

                                                    The number of times you want the output gif to loop. Valid values include Infinite and + * integers between 0 and 100, inclusive.

                                                    */ - AspectRatio?: string; + CodecOptions?: { [key: string]: string }; /** *

                                                    The value that Elastic Transcoder adds to the metadata in the output file.

                                                    */ DisplayAspectRatio?: string; - - /** - *

                                                    Applicable only when the value of Video:Codec is one of H.264, MPEG2, - * or VP8.

                                                    - *

                                                    Whether to use a fixed value for FixedGOP. Valid values are - * true and false:

                                                    - *
                                                      - *
                                                    • - *

                                                      - * true: Elastic Transcoder uses the value of KeyframesMaxDist for the - * distance between key frames (the number of frames in a group of pictures, or - * GOP).

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * false: The distance between key frames can vary.

                                                      - *
                                                    • - *
                                                    - * - *

                                                    - * FixedGOP must be set to true for fmp4 containers.

                                                    - *
                                                    - */ - FixedGOP?: string; - - /** - *

                                                    The video codec for the output file. Valid values include gif, - * H.264, mpeg2, vp8, and vp9. - * You can only specify vp8 and vp9 when the container type is - * webm, gif when the container type is gif, - * and mpeg2 when the container type is mpg.

                                                    - */ - Codec?: string; - - /** - *

                                                    Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay - * over videos that are transcoded using this preset. You can specify settings for up to four - * watermarks. Watermarks appear in the specified size and location, and with the specified - * opacity for the duration of the transcoded video.

                                                    - *

                                                    Watermarks can be in .png or .jpg format. If you want to display a watermark that is not - * rectangular, use the .png format, which supports transparency.

                                                    - *

                                                    When you create a job that uses this preset, you specify the .png or .jpg graphics that - * you want Elastic Transcoder to include in the transcoded videos. You can specify fewer graphics in the job - * than you specify watermark settings in the preset, which allows you to use the same preset - * for up to four watermarks that have different dimensions.

                                                    - */ - Watermarks?: PresetWatermark[]; } export namespace VideoParameters { @@ -3963,16 +3963,6 @@ export namespace VideoParameters { *

                                                    The CreatePresetRequest structure.

                                                    */ export interface CreatePresetRequest { - /** - *

                                                    The name of the preset. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.

                                                    - */ - Name: string | undefined; - - /** - *

                                                    A description of the preset.

                                                    - */ - Description?: string; - /** *

                                                    The container type for the output file. Valid values include flac, * flv, fmp4, @@ -3982,6 +3972,11 @@ export interface CreatePresetRequest { */ Container: string | undefined; + /** + *

                                                    A section of the request body that specifies the audio parameters.

                                                    + */ + Audio?: AudioParameters; + /** *

                                                    A section of the request body that specifies the video parameters.

                                                    */ @@ -3993,9 +3988,14 @@ export interface CreatePresetRequest { Thumbnails?: Thumbnails; /** - *

                                                    A section of the request body that specifies the audio parameters.

                                                    + *

                                                    The name of the preset. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.

                                                    */ - Audio?: AudioParameters; + Name: string | undefined; + + /** + *

                                                    A description of the preset.

                                                    + */ + Description?: string; } export namespace CreatePresetRequest { @@ -4013,53 +4013,53 @@ export namespace CreatePresetRequest { */ export interface Preset { /** - *

                                                    Whether the preset is a default preset provided by Elastic Transcoder - * (System) or a preset that you have defined (Custom).

                                                    + *

                                                    Identifier for the new preset. You use this value to get settings for the preset or to delete it.

                                                    */ - Type?: string; + Id?: string; /** - *

                                                    A section of the response body that provides information about the video preset values.

                                                    + *

                                                    A section of the response body that provides information about the thumbnail preset values, if any.

                                                    */ - Video?: VideoParameters; + Thumbnails?: Thumbnails; /** - *

                                                    The container type for the output file. Valid values include flac, - * flv, fmp4, gif, mp3, - * mp4, mpg, mxf, oga, - * ogg, ts, and webm.

                                                    + *

                                                    The Amazon Resource Name (ARN) for the preset.

                                                    */ - Container?: string; + Arn?: string; /** - *

                                                    A section of the response body that provides information about the thumbnail preset values, if any.

                                                    + *

                                                    The name of the preset.

                                                    */ - Thumbnails?: Thumbnails; + Name?: string; /** - *

                                                    A description of the preset.

                                                    + *

                                                    A section of the response body that provides information about the audio preset values.

                                                    */ - Description?: string; + Audio?: AudioParameters; /** - *

                                                    Identifier for the new preset. You use this value to get settings for the preset or to delete it.

                                                    + *

                                                    Whether the preset is a default preset provided by Elastic Transcoder + * (System) or a preset that you have defined (Custom).

                                                    */ - Id?: string; + Type?: string; /** - *

                                                    The Amazon Resource Name (ARN) for the preset.

                                                    + *

                                                    The container type for the output file. Valid values include flac, + * flv, fmp4, gif, mp3, + * mp4, mpg, mxf, oga, + * ogg, ts, and webm.

                                                    */ - Arn?: string; + Container?: string; /** - *

                                                    A section of the response body that provides information about the audio preset values.

                                                    + *

                                                    A description of the preset.

                                                    */ - Audio?: AudioParameters; + Description?: string; /** - *

                                                    The name of the preset.

                                                    + *

                                                    A section of the response body that provides information about the video preset values.

                                                    */ - Name?: string; + Video?: VideoParameters; } export namespace Preset { @@ -4072,11 +4072,6 @@ export namespace Preset { *

                                                    The CreatePresetResponse structure.

                                                    */ export interface CreatePresetResponse { - /** - *

                                                    A section of the response body that provides information about the preset that is created.

                                                    - */ - Preset?: Preset; - /** *

                                                    If the preset settings don't comply with the standards for the video codec but Elastic Transcoder * created the preset, this message explains the reason the preset settings don't meet the @@ -4084,6 +4079,11 @@ export interface CreatePresetResponse { * acceptable output.

                                                    */ Warning?: string; + + /** + *

                                                    A section of the response body that provides information about the preset that is created.

                                                    + */ + Preset?: Preset; } export namespace CreatePresetResponse { @@ -4147,16 +4147,9 @@ export namespace DeletePresetResponse { } /** - *

                                                    The ListJobsByPipelineRequest structure.

                                                    - */ -export interface ListJobsByPipelineRequest { - /** - *

                                                    To list jobs in chronological order by the date and time that they were submitted, enter - * true. To list jobs in reverse chronological order, enter - * false.

                                                    - */ - Ascending?: string; - + *

                                                    The ListJobsByPipelineRequest structure.

                                                    + */ +export interface ListJobsByPipelineRequest { /** *

                                                    The ID of the pipeline for which you want to get job information.

                                                    */ @@ -4167,6 +4160,13 @@ export interface ListJobsByPipelineRequest { * subsequent GET requests to get each successive page of results.

                                                    */ PageToken?: string; + + /** + *

                                                    To list jobs in chronological order by the date and time that they were submitted, enter + * true. To list jobs in reverse chronological order, enter + * false.

                                                    + */ + Ascending?: string; } export namespace ListJobsByPipelineRequest { @@ -4202,6 +4202,12 @@ export namespace ListJobsByPipelineResponse { *

                                                    The ListJobsByStatusRequest structure.

                                                    */ export interface ListJobsByStatusRequest { + /** + *

                                                    When Elastic Transcoder returns more than one page of results, use pageToken in + * subsequent GET requests to get each successive page of results.

                                                    + */ + PageToken?: string; + /** *

                                                    To list jobs in chronological order by the date and time that they were submitted, enter * true. To list jobs in reverse chronological order, enter @@ -4216,12 +4222,6 @@ export interface ListJobsByStatusRequest { * Error.

                                                    */ Status: string | undefined; - - /** - *

                                                    When Elastic Transcoder returns more than one page of results, use pageToken in - * subsequent GET requests to get each successive page of results.

                                                    - */ - PageToken?: string; } export namespace ListJobsByStatusRequest { @@ -4283,17 +4283,17 @@ export namespace ListPipelinesRequest { *

                                                    A list of the pipelines associated with the current AWS account.

                                                    */ export interface ListPipelinesResponse { - /** - *

                                                    An array of Pipeline objects.

                                                    - */ - Pipelines?: Pipeline[]; - /** *

                                                    A value that you use to access the second and subsequent pages of results, if any. When * the pipelines fit on one page or when you've reached the last page * of results, the value of NextPageToken is null.

                                                    */ NextPageToken?: string; + + /** + *

                                                    An array of Pipeline objects.

                                                    + */ + Pipelines?: Pipeline[]; } export namespace ListPipelinesResponse { @@ -4458,24 +4458,24 @@ export namespace ReadPresetResponse { */ export interface TestRoleRequest { /** - *

                                                    The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to test.

                                                    + *

                                                    The Amazon S3 bucket that Elastic Transcoder writes transcoded media files to. The action attempts to read from this bucket.

                                                    */ - Role: string | undefined; + OutputBucket: string | undefined; /** - *

                                                    The Amazon S3 bucket that Elastic Transcoder writes transcoded media files to. The action attempts to read from this bucket.

                                                    + *

                                                    The Amazon S3 bucket that contains media files to be transcoded. The action attempts to read from this bucket.

                                                    */ - OutputBucket: string | undefined; + InputBucket: string | undefined; /** - *

                                                    The ARNs of one or more Amazon Simple Notification Service (Amazon SNS) topics that you want the action to send a test notification to.

                                                    + *

                                                    The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to test.

                                                    */ - Topics: string[] | undefined; + Role: string | undefined; /** - *

                                                    The Amazon S3 bucket that contains media files to be transcoded. The action attempts to read from this bucket.

                                                    + *

                                                    The ARNs of one or more Amazon Simple Notification Service (Amazon SNS) topics that you want the action to send a test notification to.

                                                    */ - InputBucket: string | undefined; + Topics: string[] | undefined; } export namespace TestRoleRequest { @@ -4488,17 +4488,17 @@ export namespace TestRoleRequest { *

                                                    The TestRoleResponse structure.

                                                    */ export interface TestRoleResponse { - /** - *

                                                    If the operation is successful, this value is true; otherwise, the value is - * false.

                                                    - */ - Success?: string; - /** *

                                                    If the Success element contains false, this value is an array * of one or more error messages that were generated during the test process.

                                                    */ Messages?: string[]; + + /** + *

                                                    If the operation is successful, this value is true; otherwise, the value is + * false.

                                                    + */ + Success?: string; } export namespace TestRoleResponse { @@ -4512,56 +4512,48 @@ export namespace TestRoleResponse { */ export interface UpdatePipelineRequest { /** - *

                                                    The ID of the pipeline that you want to update.

                                                    - */ - Id: string | undefined; - - /** - *

                                                    The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

                                                    - *

                                                    If you use either s3 or s3-aws-kms as your Encryption:Mode, - * you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is - * created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default - * AWS-KMS key, or if you are using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, - * or aes-gcm.

                                                    - */ - AwsKmsKeyArn?: string; - - /** - *

                                                    The ThumbnailConfig object specifies several values, including the Amazon S3 - * bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have - * access to the files, the type of access you want users to have, and the storage class - * that you want to assign to the files.

                                                    + *

                                                    The optional ContentConfig object specifies information about the Amazon S3 + * bucket in which you want Elastic Transcoder to save transcoded files and playlists: + * which bucket to use, which users you want to have access to the files, the type of + * access you want users to have, and the storage class that you want to assign to the + * files.

                                                    *

                                                    If you specify values for ContentConfig, you must also specify values for - * ThumbnailConfig even if you don't want to create thumbnails.

                                                    + * ThumbnailConfig.

                                                    *

                                                    If you specify values for ContentConfig and ThumbnailConfig, * omit the OutputBucket object.

                                                    *
                                                      *
                                                    • *

                                                      * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save - * thumbnail files.

                                                      + * transcoded files and playlists.

                                                      *
                                                    • *
                                                    • *

                                                      - * Permissions (Optional): The Permissions object specifies which - * users and/or predefined Amazon S3 groups you want to have access to thumbnail files, - * and the type of access you want them to have. You can grant permissions to a maximum - * of 30 users and/or predefined Amazon S3 groups.

                                                      + * Permissions (Optional): The Permissions object specifies which users you want + * to have access to transcoded files and the type of access you want them to have. You + * can grant permissions to a maximum of 30 users and/or predefined Amazon S3 + * groups.

                                                      *
                                                    • *
                                                    • *

                                                      - * GranteeType: Specify the type of value that appears in the Grantee object:

                                                      + * Grantee Type: Specify the type of value that appears in the + * Grantee object:

                                                      *
                                                        *
                                                      • *

                                                        * Canonical: The value in the Grantee object is either the * canonical user ID for an AWS account or an origin access identity for an - * Amazon CloudFront distribution.

                                                        + * Amazon CloudFront distribution. For more information about canonical user + * IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage + * Service Developer Guide. For more information about using CloudFront origin + * access identities to require that users use CloudFront URLs instead of + * Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to + * Your Amazon S3 Content.

                                                        * - *

                                                        A canonical user ID is not the - * same as an AWS account number.

                                                        + *

                                                        A canonical user ID is not the same as an + * AWS account number.

                                                        *
                                                        - *
                                                      • + * *
                                                      • *

                                                        * Email: The value in the Grantee object is the registered @@ -4577,37 +4569,38 @@ export interface UpdatePipelineRequest { *

                                                      • *
                                                      • *

                                                        - * Grantee: The AWS user or group that you want to have access to thumbnail - * files. To identify the user or group, you can specify the canonical user ID for an - * AWS account, an origin access identity for a CloudFront distribution, the registered - * email address of an AWS account, or a predefined Amazon S3 group.

                                                        + * Grantee: The AWS user or group that you want to have access to transcoded + * files and playlists. To identify the user or group, you can specify the canonical + * user ID for an AWS account, an origin access identity for a CloudFront distribution, + * the registered email address of an AWS account, or a predefined Amazon S3 group

                                                        *
                                                      • *
                                                      • *

                                                        * Access: The permission that you want to give to the AWS user that you - * specified in Grantee. Permissions are granted on the thumbnail files - * that Elastic Transcoder adds to the bucket. Valid values include:

                                                        + * specified in Grantee. Permissions are granted on the files that Elastic + * Transcoder adds to the bucket, including playlists and video files. Valid values + * include:

                                                        *
                                                          *
                                                        • *

                                                          - * READ: The grantee can read the thumbnails and metadata for - * objects that Elastic Transcoder adds to the Amazon S3 bucket.

                                                          + * READ: The grantee can read the objects and metadata for objects + * that Elastic Transcoder adds to the Amazon S3 bucket.

                                                          *
                                                        • *
                                                        • *

                                                          - * READ_ACP: The grantee can read the object ACL for thumbnails - * that Elastic Transcoder adds to the Amazon S3 bucket.

                                                          + * READ_ACP: The grantee can read the object ACL for objects that + * Elastic Transcoder adds to the Amazon S3 bucket.

                                                          *
                                                        • *
                                                        • *

                                                          - * WRITE_ACP: The grantee can write the ACL for the thumbnails - * that Elastic Transcoder adds to the Amazon S3 bucket.

                                                          + * WRITE_ACP: The grantee can write the ACL for the objects that + * Elastic Transcoder adds to the Amazon S3 bucket.

                                                          *
                                                        • *
                                                        • *

                                                          * FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the - * thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

                                                          + * objects that Elastic Transcoder adds to the Amazon S3 bucket.

                                                          *
                                                        • *
                                                        *
                                                      • @@ -4615,11 +4608,24 @@ export interface UpdatePipelineRequest { *

                                                        * StorageClass: The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to - * the thumbnails that it stores in your Amazon S3 bucket.

                                                        + * the video files and playlists that it stores in your Amazon S3 bucket.

                                                        * *
                                                      */ - ThumbnailConfig?: PipelineOutputConfig; + ContentConfig?: PipelineOutputConfig; + + /** + *

                                                      The name of the pipeline. We recommend that the name be unique within the AWS account, but + * uniqueness is not enforced.

                                                      + *

                                                      Constraints: Maximum 40 characters

                                                      + */ + Name?: string; + + /** + *

                                                      The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for + * this pipeline.

                                                      + */ + Role?: string; /** *

                                                      The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

                                                      @@ -4656,54 +4662,46 @@ export interface UpdatePipelineRequest { Notifications?: Notifications; /** - *

                                                      The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics - * that you want to use as watermarks.

                                                      + *

                                                      The ID of the pipeline that you want to update.

                                                      */ - InputBucket?: string; + Id: string | undefined; /** - *

                                                      The optional ContentConfig object specifies information about the Amazon S3 - * bucket in which you want Elastic Transcoder to save transcoded files and playlists: - * which bucket to use, which users you want to have access to the files, the type of - * access you want users to have, and the storage class that you want to assign to the - * files.

                                                      + *

                                                      The ThumbnailConfig object specifies several values, including the Amazon S3 + * bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have + * access to the files, the type of access you want users to have, and the storage class + * that you want to assign to the files.

                                                      *

                                                      If you specify values for ContentConfig, you must also specify values for - * ThumbnailConfig.

                                                      + * ThumbnailConfig even if you don't want to create thumbnails.

                                                      *

                                                      If you specify values for ContentConfig and ThumbnailConfig, * omit the OutputBucket object.

                                                      *
                                                        *
                                                      • *

                                                        * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save - * transcoded files and playlists.

                                                        + * thumbnail files.

                                                        *
                                                      • *
                                                      • *

                                                        - * Permissions (Optional): The Permissions object specifies which users you want - * to have access to transcoded files and the type of access you want them to have. You - * can grant permissions to a maximum of 30 users and/or predefined Amazon S3 - * groups.

                                                        + * Permissions (Optional): The Permissions object specifies which + * users and/or predefined Amazon S3 groups you want to have access to thumbnail files, + * and the type of access you want them to have. You can grant permissions to a maximum + * of 30 users and/or predefined Amazon S3 groups.

                                                        *
                                                      • *
                                                      • *

                                                        - * Grantee Type: Specify the type of value that appears in the - * Grantee object:

                                                        + * GranteeType: Specify the type of value that appears in the Grantee object:

                                                        *
                                                          *
                                                        • *

                                                          * Canonical: The value in the Grantee object is either the * canonical user ID for an AWS account or an origin access identity for an - * Amazon CloudFront distribution. For more information about canonical user - * IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage - * Service Developer Guide. For more information about using CloudFront origin - * access identities to require that users use CloudFront URLs instead of - * Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to - * Your Amazon S3 Content.

                                                          + * Amazon CloudFront distribution.

                                                          * - *

                                                          A canonical user ID is not the same as an - * AWS account number.

                                                          + *

                                                          A canonical user ID is not the + * same as an AWS account number.

                                                          *
                                                          - *
                                                        • + * *
                                                        • *

                                                          * Email: The value in the Grantee object is the registered @@ -4719,38 +4717,37 @@ export interface UpdatePipelineRequest { *

                                                        • *
                                                        • *

                                                          - * Grantee: The AWS user or group that you want to have access to transcoded - * files and playlists. To identify the user or group, you can specify the canonical - * user ID for an AWS account, an origin access identity for a CloudFront distribution, - * the registered email address of an AWS account, or a predefined Amazon S3 group

                                                          + * Grantee: The AWS user or group that you want to have access to thumbnail + * files. To identify the user or group, you can specify the canonical user ID for an + * AWS account, an origin access identity for a CloudFront distribution, the registered + * email address of an AWS account, or a predefined Amazon S3 group.

                                                          *
                                                        • *
                                                        • *

                                                          * Access: The permission that you want to give to the AWS user that you - * specified in Grantee. Permissions are granted on the files that Elastic - * Transcoder adds to the bucket, including playlists and video files. Valid values - * include:

                                                          + * specified in Grantee. Permissions are granted on the thumbnail files + * that Elastic Transcoder adds to the bucket. Valid values include:

                                                          *
                                                            *
                                                          • *

                                                            - * READ: The grantee can read the objects and metadata for objects - * that Elastic Transcoder adds to the Amazon S3 bucket.

                                                            + * READ: The grantee can read the thumbnails and metadata for + * objects that Elastic Transcoder adds to the Amazon S3 bucket.

                                                            *
                                                          • *
                                                          • *

                                                            - * READ_ACP: The grantee can read the object ACL for objects that - * Elastic Transcoder adds to the Amazon S3 bucket.

                                                            + * READ_ACP: The grantee can read the object ACL for thumbnails + * that Elastic Transcoder adds to the Amazon S3 bucket.

                                                            *
                                                          • *
                                                          • *

                                                            - * WRITE_ACP: The grantee can write the ACL for the objects that - * Elastic Transcoder adds to the Amazon S3 bucket.

                                                            + * WRITE_ACP: The grantee can write the ACL for the thumbnails + * that Elastic Transcoder adds to the Amazon S3 bucket.

                                                            *
                                                          • *
                                                          • *

                                                            * FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the - * objects that Elastic Transcoder adds to the Amazon S3 bucket.

                                                            + * thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

                                                            *
                                                          • *
                                                          *
                                                        • @@ -4758,24 +4755,27 @@ export interface UpdatePipelineRequest { *

                                                          * StorageClass: The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to - * the video files and playlists that it stores in your Amazon S3 bucket.

                                                          + * the thumbnails that it stores in your Amazon S3 bucket.

                                                          * *
                                                        */ - ContentConfig?: PipelineOutputConfig; + ThumbnailConfig?: PipelineOutputConfig; /** - *

                                                        The name of the pipeline. We recommend that the name be unique within the AWS account, but - * uniqueness is not enforced.

                                                        - *

                                                        Constraints: Maximum 40 characters

                                                        + *

                                                        The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics + * that you want to use as watermarks.

                                                        */ - Name?: string; + InputBucket?: string; /** - *

                                                        The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for - * this pipeline.

                                                        + *

                                                        The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

                                                        + *

                                                        If you use either s3 or s3-aws-kms as your Encryption:Mode, + * you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is + * created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default + * AWS-KMS key, or if you are using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, + * or aes-gcm.

                                                        */ - Role?: string; + AwsKmsKeyArn?: string; } export namespace UpdatePipelineRequest { @@ -4812,11 +4812,6 @@ export namespace UpdatePipelineResponse { *

                                                        The UpdatePipelineNotificationsRequest structure.

                                                        */ export interface UpdatePipelineNotificationsRequest { - /** - *

                                                        The identifier of the pipeline for which you want to change notification settings.

                                                        - */ - Id: string | undefined; - /** *

                                                        The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

                                                        * @@ -4850,6 +4845,11 @@ export interface UpdatePipelineNotificationsRequest { *
                                                      */ Notifications: Notifications | undefined; + + /** + *

                                                      The identifier of the pipeline for which you want to change notification settings.

                                                      + */ + Id: string | undefined; } export namespace UpdatePipelineNotificationsRequest { diff --git a/clients/client-elastic-transcoder/protocols/Aws_restJson1.ts b/clients/client-elastic-transcoder/protocols/Aws_restJson1.ts index 973233146a07..a7de341ecc89 100644 --- a/clients/client-elastic-transcoder/protocols/Aws_restJson1.ts +++ b/clients/client-elastic-transcoder/protocols/Aws_restJson1.ts @@ -282,8 +282,8 @@ export const serializeAws_restJson1ListJobsByPipelineCommand = async ( throw new Error("No value provided for input HTTP label: PipelineId."); } const query: any = { - ...(input.Ascending !== undefined && { Ascending: input.Ascending }), ...(input.PageToken !== undefined && { PageToken: input.PageToken }), + ...(input.Ascending !== undefined && { Ascending: input.Ascending }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -317,8 +317,8 @@ export const serializeAws_restJson1ListJobsByStatusCommand = async ( throw new Error("No value provided for input HTTP label: Status."); } const query: any = { - ...(input.Ascending !== undefined && { Ascending: input.Ascending }), ...(input.PageToken !== undefined && { PageToken: input.PageToken }), + ...(input.Ascending !== undefined && { Ascending: input.Ascending }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-elasticache/ElastiCache.ts b/clients/client-elasticache/ElastiCache.ts index 9520c946deca..f7ea0cd3ba4d 100644 --- a/clients/client-elasticache/ElastiCache.ts +++ b/clients/client-elasticache/ElastiCache.ts @@ -64,6 +64,12 @@ import { CreateSnapshotCommandInput, CreateSnapshotCommandOutput, } from "./commands/CreateSnapshotCommand"; +import { CreateUserCommand, CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; +import { + CreateUserGroupCommand, + CreateUserGroupCommandInput, + CreateUserGroupCommandOutput, +} from "./commands/CreateUserGroupCommand"; import { DecreaseNodeGroupsInGlobalReplicationGroupCommand, DecreaseNodeGroupsInGlobalReplicationGroupCommandInput, @@ -109,6 +115,12 @@ import { DeleteSnapshotCommandInput, DeleteSnapshotCommandOutput, } from "./commands/DeleteSnapshotCommand"; +import { DeleteUserCommand, DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; +import { + DeleteUserGroupCommand, + DeleteUserGroupCommandInput, + DeleteUserGroupCommandOutput, +} from "./commands/DeleteUserGroupCommand"; import { DescribeCacheClustersCommand, DescribeCacheClustersCommandInput, @@ -184,6 +196,16 @@ import { DescribeUpdateActionsCommandInput, DescribeUpdateActionsCommandOutput, } from "./commands/DescribeUpdateActionsCommand"; +import { + DescribeUserGroupsCommand, + DescribeUserGroupsCommandInput, + DescribeUserGroupsCommandOutput, +} from "./commands/DescribeUserGroupsCommand"; +import { + DescribeUsersCommand, + DescribeUsersCommandInput, + DescribeUsersCommandOutput, +} from "./commands/DescribeUsersCommand"; import { DisassociateGlobalReplicationGroupCommand, DisassociateGlobalReplicationGroupCommandInput, @@ -244,6 +266,12 @@ import { ModifyReplicationGroupShardConfigurationCommandInput, ModifyReplicationGroupShardConfigurationCommandOutput, } from "./commands/ModifyReplicationGroupShardConfigurationCommand"; +import { ModifyUserCommand, ModifyUserCommandInput, ModifyUserCommandOutput } from "./commands/ModifyUserCommand"; +import { + ModifyUserGroupCommand, + ModifyUserGroupCommandInput, + ModifyUserGroupCommandOutput, +} from "./commands/ModifyUserGroupCommand"; import { PurchaseReservedCacheNodesOfferingCommand, PurchaseReservedCacheNodesOfferingCommandInput, @@ -880,6 +908,65 @@ export class ElastiCache extends ElastiCacheClient { } } + /** + *

                                                      For Redis engine version 6.04 onwards: Creates a Redis user. For more information, see Using Role Based Access Control (RBAC).

                                                      + */ + public createUser(args: CreateUserCommandInput, options?: __HttpHandlerOptions): Promise; + public createUser(args: CreateUserCommandInput, cb: (err: any, data?: CreateUserCommandOutput) => void): void; + public createUser( + args: CreateUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateUserCommandOutput) => void + ): void; + public createUser( + args: CreateUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateUserCommandOutput) => void), + cb?: (err: any, data?: CreateUserCommandOutput) => void + ): Promise | void { + const command = new CreateUserCommand(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); + } + } + + /** + *

                                                      For Redis engine version 6.04 onwards: Creates a Redis user group. For more information, see Using Role Based Access Control (RBAC) + *

                                                      + */ + public createUserGroup( + args: CreateUserGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createUserGroup( + args: CreateUserGroupCommandInput, + cb: (err: any, data?: CreateUserGroupCommandOutput) => void + ): void; + public createUserGroup( + args: CreateUserGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateUserGroupCommandOutput) => void + ): void; + public createUserGroup( + args: CreateUserGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateUserGroupCommandOutput) => void), + cb?: (err: any, data?: CreateUserGroupCommandOutput) => void + ): Promise | void { + const command = new CreateUserGroupCommand(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); + } + } + /** *

                                                      Decreases the number of node groups in a Global Datastore

                                                      */ @@ -1229,6 +1316,64 @@ export class ElastiCache extends ElastiCacheClient { } } + /** + *

                                                      For Redis engine version 6.04 onwards: Deletes a user. The user will be removed from all user groups and in turn removed from all replication groups. For more information, see Using Role Based Access Control (RBAC).

                                                      + */ + public deleteUser(args: DeleteUserCommandInput, options?: __HttpHandlerOptions): Promise; + public deleteUser(args: DeleteUserCommandInput, cb: (err: any, data?: DeleteUserCommandOutput) => void): void; + public deleteUser( + args: DeleteUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteUserCommandOutput) => void + ): void; + public deleteUser( + args: DeleteUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteUserCommandOutput) => void), + cb?: (err: any, data?: DeleteUserCommandOutput) => void + ): Promise | void { + const command = new DeleteUserCommand(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); + } + } + + /** + *

                                                      For Redis engine version 6.04 onwards: Deletes a ser group. The user group must first be disassociated from the replcation group before it can be deleted. For more information, see Using Role Based Access Control (RBAC).

                                                      + */ + public deleteUserGroup( + args: DeleteUserGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteUserGroup( + args: DeleteUserGroupCommandInput, + cb: (err: any, data?: DeleteUserGroupCommandOutput) => void + ): void; + public deleteUserGroup( + args: DeleteUserGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteUserGroupCommandOutput) => void + ): void; + public deleteUserGroup( + args: DeleteUserGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteUserGroupCommandOutput) => void), + cb?: (err: any, data?: DeleteUserGroupCommandOutput) => void + ): Promise | void { + const command = new DeleteUserGroupCommand(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 information about all provisioned * clusters if no cluster identifier is specified, or about a specific cache @@ -1754,6 +1899,70 @@ export class ElastiCache extends ElastiCacheClient { } } + /** + *

                                                      Returns a list of user groups.

                                                      + */ + public describeUserGroups( + args: DescribeUserGroupsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeUserGroups( + args: DescribeUserGroupsCommandInput, + cb: (err: any, data?: DescribeUserGroupsCommandOutput) => void + ): void; + public describeUserGroups( + args: DescribeUserGroupsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeUserGroupsCommandOutput) => void + ): void; + public describeUserGroups( + args: DescribeUserGroupsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeUserGroupsCommandOutput) => void), + cb?: (err: any, data?: DescribeUserGroupsCommandOutput) => void + ): Promise | void { + const command = new DescribeUserGroupsCommand(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 users.

                                                      + */ + public describeUsers( + args: DescribeUsersCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeUsers( + args: DescribeUsersCommandInput, + cb: (err: any, data?: DescribeUsersCommandOutput) => void + ): void; + public describeUsers( + args: DescribeUsersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeUsersCommandOutput) => void + ): void; + public describeUsers( + args: DescribeUsersCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeUsersCommandOutput) => void), + cb?: (err: any, data?: DescribeUsersCommandOutput) => void + ): Promise | void { + const command = new DescribeUsersCommand(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 a secondary cluster from the Global Datastore using the Global Datastore name. The secondary cluster will no longer receive updates from the primary cluster, but will remain as a standalone cluster in that AWS region.

                                                      */ @@ -2177,6 +2386,64 @@ export class ElastiCache extends ElastiCacheClient { } } + /** + *

                                                      Changes user password(s) and/or access string.

                                                      + */ + public modifyUser(args: ModifyUserCommandInput, options?: __HttpHandlerOptions): Promise; + public modifyUser(args: ModifyUserCommandInput, cb: (err: any, data?: ModifyUserCommandOutput) => void): void; + public modifyUser( + args: ModifyUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyUserCommandOutput) => void + ): void; + public modifyUser( + args: ModifyUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ModifyUserCommandOutput) => void), + cb?: (err: any, data?: ModifyUserCommandOutput) => void + ): Promise | void { + const command = new ModifyUserCommand(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); + } + } + + /** + *

                                                      Changes the list of users that belong to the user group.

                                                      + */ + public modifyUserGroup( + args: ModifyUserGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public modifyUserGroup( + args: ModifyUserGroupCommandInput, + cb: (err: any, data?: ModifyUserGroupCommandOutput) => void + ): void; + public modifyUserGroup( + args: ModifyUserGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyUserGroupCommandOutput) => void + ): void; + public modifyUserGroup( + args: ModifyUserGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ModifyUserGroupCommandOutput) => void), + cb?: (err: any, data?: ModifyUserGroupCommandOutput) => void + ): Promise | void { + const command = new ModifyUserGroupCommand(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 you to purchase a reserved * cache node offering.

                                                      diff --git a/clients/client-elasticache/ElastiCacheClient.ts b/clients/client-elasticache/ElastiCacheClient.ts index 7945a107b250..e3bb52772b6a 100644 --- a/clients/client-elasticache/ElastiCacheClient.ts +++ b/clients/client-elasticache/ElastiCacheClient.ts @@ -35,6 +35,8 @@ import { CreateReplicationGroupCommandOutput, } from "./commands/CreateReplicationGroupCommand"; import { CreateSnapshotCommandInput, CreateSnapshotCommandOutput } from "./commands/CreateSnapshotCommand"; +import { CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; +import { CreateUserGroupCommandInput, CreateUserGroupCommandOutput } from "./commands/CreateUserGroupCommand"; import { DecreaseNodeGroupsInGlobalReplicationGroupCommandInput, DecreaseNodeGroupsInGlobalReplicationGroupCommandOutput, @@ -65,6 +67,8 @@ import { DeleteReplicationGroupCommandOutput, } from "./commands/DeleteReplicationGroupCommand"; import { DeleteSnapshotCommandInput, DeleteSnapshotCommandOutput } from "./commands/DeleteSnapshotCommand"; +import { DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; +import { DeleteUserGroupCommandInput, DeleteUserGroupCommandOutput } from "./commands/DeleteUserGroupCommand"; import { DescribeCacheClustersCommandInput, DescribeCacheClustersCommandOutput, @@ -119,6 +123,8 @@ import { DescribeUpdateActionsCommandInput, DescribeUpdateActionsCommandOutput, } from "./commands/DescribeUpdateActionsCommand"; +import { DescribeUserGroupsCommandInput, DescribeUserGroupsCommandOutput } from "./commands/DescribeUserGroupsCommand"; +import { DescribeUsersCommandInput, DescribeUsersCommandOutput } from "./commands/DescribeUsersCommand"; import { DisassociateGlobalReplicationGroupCommandInput, DisassociateGlobalReplicationGroupCommandOutput, @@ -164,6 +170,8 @@ import { ModifyReplicationGroupShardConfigurationCommandInput, ModifyReplicationGroupShardConfigurationCommandOutput, } from "./commands/ModifyReplicationGroupShardConfigurationCommand"; +import { ModifyUserCommandInput, ModifyUserCommandOutput } from "./commands/ModifyUserCommand"; +import { ModifyUserGroupCommandInput, ModifyUserGroupCommandOutput } from "./commands/ModifyUserGroupCommand"; import { PurchaseReservedCacheNodesOfferingCommandInput, PurchaseReservedCacheNodesOfferingCommandOutput, @@ -250,6 +258,8 @@ export type ServiceInputTypes = | CreateGlobalReplicationGroupCommandInput | CreateReplicationGroupCommandInput | CreateSnapshotCommandInput + | CreateUserCommandInput + | CreateUserGroupCommandInput | DecreaseNodeGroupsInGlobalReplicationGroupCommandInput | DecreaseReplicaCountCommandInput | DeleteCacheClusterCommandInput @@ -259,6 +269,8 @@ export type ServiceInputTypes = | DeleteGlobalReplicationGroupCommandInput | DeleteReplicationGroupCommandInput | DeleteSnapshotCommandInput + | DeleteUserCommandInput + | DeleteUserGroupCommandInput | DescribeCacheClustersCommandInput | DescribeCacheEngineVersionsCommandInput | DescribeCacheParameterGroupsCommandInput @@ -274,6 +286,8 @@ export type ServiceInputTypes = | DescribeServiceUpdatesCommandInput | DescribeSnapshotsCommandInput | DescribeUpdateActionsCommandInput + | DescribeUserGroupsCommandInput + | DescribeUsersCommandInput | DisassociateGlobalReplicationGroupCommandInput | FailoverGlobalReplicationGroupCommandInput | IncreaseNodeGroupsInGlobalReplicationGroupCommandInput @@ -286,6 +300,8 @@ export type ServiceInputTypes = | ModifyGlobalReplicationGroupCommandInput | ModifyReplicationGroupCommandInput | ModifyReplicationGroupShardConfigurationCommandInput + | ModifyUserCommandInput + | ModifyUserGroupCommandInput | PurchaseReservedCacheNodesOfferingCommandInput | RebalanceSlotsInGlobalReplicationGroupCommandInput | RebootCacheClusterCommandInput @@ -309,6 +325,8 @@ export type ServiceOutputTypes = | CreateGlobalReplicationGroupCommandOutput | CreateReplicationGroupCommandOutput | CreateSnapshotCommandOutput + | CreateUserCommandOutput + | CreateUserGroupCommandOutput | DecreaseNodeGroupsInGlobalReplicationGroupCommandOutput | DecreaseReplicaCountCommandOutput | DeleteCacheClusterCommandOutput @@ -318,6 +336,8 @@ export type ServiceOutputTypes = | DeleteGlobalReplicationGroupCommandOutput | DeleteReplicationGroupCommandOutput | DeleteSnapshotCommandOutput + | DeleteUserCommandOutput + | DeleteUserGroupCommandOutput | DescribeCacheClustersCommandOutput | DescribeCacheEngineVersionsCommandOutput | DescribeCacheParameterGroupsCommandOutput @@ -333,6 +353,8 @@ export type ServiceOutputTypes = | DescribeServiceUpdatesCommandOutput | DescribeSnapshotsCommandOutput | DescribeUpdateActionsCommandOutput + | DescribeUserGroupsCommandOutput + | DescribeUsersCommandOutput | DisassociateGlobalReplicationGroupCommandOutput | FailoverGlobalReplicationGroupCommandOutput | IncreaseNodeGroupsInGlobalReplicationGroupCommandOutput @@ -345,6 +367,8 @@ export type ServiceOutputTypes = | ModifyGlobalReplicationGroupCommandOutput | ModifyReplicationGroupCommandOutput | ModifyReplicationGroupShardConfigurationCommandOutput + | ModifyUserCommandOutput + | ModifyUserGroupCommandOutput | PurchaseReservedCacheNodesOfferingCommandOutput | RebalanceSlotsInGlobalReplicationGroupCommandOutput | RebootCacheClusterCommandOutput diff --git a/clients/client-elasticache/commands/CreateUserCommand.ts b/clients/client-elasticache/commands/CreateUserCommand.ts new file mode 100644 index 000000000000..cc69df3b36da --- /dev/null +++ b/clients/client-elasticache/commands/CreateUserCommand.ts @@ -0,0 +1,67 @@ +import { ElastiCacheClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ElastiCacheClient"; +import { CreateUserMessage, User } from "../models/models_0"; +import { deserializeAws_queryCreateUserCommand, serializeAws_queryCreateUserCommand } from "../protocols/Aws_query"; +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 CreateUserCommandInput = CreateUserMessage; +export type CreateUserCommandOutput = User & __MetadataBearer; + +export class CreateUserCommand extends $Command< + CreateUserCommandInput, + CreateUserCommandOutput, + ElastiCacheClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ElastiCacheClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateUserMessage.filterSensitiveLog, + outputFilterSensitiveLog: User.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryCreateUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_queryCreateUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-elasticache/commands/CreateUserGroupCommand.ts b/clients/client-elasticache/commands/CreateUserGroupCommand.ts new file mode 100644 index 000000000000..446eb8c57e39 --- /dev/null +++ b/clients/client-elasticache/commands/CreateUserGroupCommand.ts @@ -0,0 +1,70 @@ +import { ElastiCacheClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ElastiCacheClient"; +import { CreateUserGroupMessage, UserGroup } from "../models/models_0"; +import { + deserializeAws_queryCreateUserGroupCommand, + serializeAws_queryCreateUserGroupCommand, +} from "../protocols/Aws_query"; +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 CreateUserGroupCommandInput = CreateUserGroupMessage; +export type CreateUserGroupCommandOutput = UserGroup & __MetadataBearer; + +export class CreateUserGroupCommand extends $Command< + CreateUserGroupCommandInput, + CreateUserGroupCommandOutput, + ElastiCacheClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateUserGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ElastiCacheClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateUserGroupMessage.filterSensitiveLog, + outputFilterSensitiveLog: UserGroup.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateUserGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryCreateUserGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_queryCreateUserGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-elasticache/commands/DeleteUserCommand.ts b/clients/client-elasticache/commands/DeleteUserCommand.ts new file mode 100644 index 000000000000..e8c5eda3e3df --- /dev/null +++ b/clients/client-elasticache/commands/DeleteUserCommand.ts @@ -0,0 +1,67 @@ +import { ElastiCacheClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ElastiCacheClient"; +import { DeleteUserMessage, User } from "../models/models_0"; +import { deserializeAws_queryDeleteUserCommand, serializeAws_queryDeleteUserCommand } from "../protocols/Aws_query"; +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 DeleteUserCommandInput = DeleteUserMessage; +export type DeleteUserCommandOutput = User & __MetadataBearer; + +export class DeleteUserCommand extends $Command< + DeleteUserCommandInput, + DeleteUserCommandOutput, + ElastiCacheClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ElastiCacheClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteUserMessage.filterSensitiveLog, + outputFilterSensitiveLog: User.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryDeleteUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_queryDeleteUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-elasticache/commands/DeleteUserGroupCommand.ts b/clients/client-elasticache/commands/DeleteUserGroupCommand.ts new file mode 100644 index 000000000000..ac8bcbb75d57 --- /dev/null +++ b/clients/client-elasticache/commands/DeleteUserGroupCommand.ts @@ -0,0 +1,70 @@ +import { ElastiCacheClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ElastiCacheClient"; +import { DeleteUserGroupMessage, UserGroup } from "../models/models_0"; +import { + deserializeAws_queryDeleteUserGroupCommand, + serializeAws_queryDeleteUserGroupCommand, +} from "../protocols/Aws_query"; +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 DeleteUserGroupCommandInput = DeleteUserGroupMessage; +export type DeleteUserGroupCommandOutput = UserGroup & __MetadataBearer; + +export class DeleteUserGroupCommand extends $Command< + DeleteUserGroupCommandInput, + DeleteUserGroupCommandOutput, + ElastiCacheClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteUserGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ElastiCacheClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteUserGroupMessage.filterSensitiveLog, + outputFilterSensitiveLog: UserGroup.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteUserGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryDeleteUserGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_queryDeleteUserGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-elasticache/commands/DescribeUserGroupsCommand.ts b/clients/client-elasticache/commands/DescribeUserGroupsCommand.ts new file mode 100644 index 000000000000..e914bf3d6198 --- /dev/null +++ b/clients/client-elasticache/commands/DescribeUserGroupsCommand.ts @@ -0,0 +1,70 @@ +import { ElastiCacheClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ElastiCacheClient"; +import { DescribeUserGroupsMessage, DescribeUserGroupsResult } from "../models/models_0"; +import { + deserializeAws_queryDescribeUserGroupsCommand, + serializeAws_queryDescribeUserGroupsCommand, +} from "../protocols/Aws_query"; +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 DescribeUserGroupsCommandInput = DescribeUserGroupsMessage; +export type DescribeUserGroupsCommandOutput = DescribeUserGroupsResult & __MetadataBearer; + +export class DescribeUserGroupsCommand extends $Command< + DescribeUserGroupsCommandInput, + DescribeUserGroupsCommandOutput, + ElastiCacheClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeUserGroupsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ElastiCacheClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeUserGroupsMessage.filterSensitiveLog, + outputFilterSensitiveLog: DescribeUserGroupsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeUserGroupsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryDescribeUserGroupsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_queryDescribeUserGroupsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-elasticache/commands/DescribeUsersCommand.ts b/clients/client-elasticache/commands/DescribeUsersCommand.ts new file mode 100644 index 000000000000..79b22a7466fb --- /dev/null +++ b/clients/client-elasticache/commands/DescribeUsersCommand.ts @@ -0,0 +1,70 @@ +import { ElastiCacheClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ElastiCacheClient"; +import { DescribeUsersMessage, DescribeUsersResult } from "../models/models_0"; +import { + deserializeAws_queryDescribeUsersCommand, + serializeAws_queryDescribeUsersCommand, +} from "../protocols/Aws_query"; +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 DescribeUsersCommandInput = DescribeUsersMessage; +export type DescribeUsersCommandOutput = DescribeUsersResult & __MetadataBearer; + +export class DescribeUsersCommand extends $Command< + DescribeUsersCommandInput, + DescribeUsersCommandOutput, + ElastiCacheClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeUsersCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ElastiCacheClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeUsersMessage.filterSensitiveLog, + outputFilterSensitiveLog: DescribeUsersResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeUsersCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryDescribeUsersCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_queryDescribeUsersCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-elasticache/commands/ModifyUserCommand.ts b/clients/client-elasticache/commands/ModifyUserCommand.ts new file mode 100644 index 000000000000..fbf70403c5c2 --- /dev/null +++ b/clients/client-elasticache/commands/ModifyUserCommand.ts @@ -0,0 +1,67 @@ +import { ElastiCacheClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ElastiCacheClient"; +import { ModifyUserMessage, User } from "../models/models_0"; +import { deserializeAws_queryModifyUserCommand, serializeAws_queryModifyUserCommand } from "../protocols/Aws_query"; +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 ModifyUserCommandInput = ModifyUserMessage; +export type ModifyUserCommandOutput = User & __MetadataBearer; + +export class ModifyUserCommand extends $Command< + ModifyUserCommandInput, + ModifyUserCommandOutput, + ElastiCacheClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ElastiCacheClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ModifyUserMessage.filterSensitiveLog, + outputFilterSensitiveLog: User.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryModifyUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_queryModifyUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-elasticache/commands/ModifyUserGroupCommand.ts b/clients/client-elasticache/commands/ModifyUserGroupCommand.ts new file mode 100644 index 000000000000..a284272cdd0a --- /dev/null +++ b/clients/client-elasticache/commands/ModifyUserGroupCommand.ts @@ -0,0 +1,70 @@ +import { ElastiCacheClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ElastiCacheClient"; +import { ModifyUserGroupMessage, UserGroup } from "../models/models_0"; +import { + deserializeAws_queryModifyUserGroupCommand, + serializeAws_queryModifyUserGroupCommand, +} from "../protocols/Aws_query"; +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 ModifyUserGroupCommandInput = ModifyUserGroupMessage; +export type ModifyUserGroupCommandOutput = UserGroup & __MetadataBearer; + +export class ModifyUserGroupCommand extends $Command< + ModifyUserGroupCommandInput, + ModifyUserGroupCommandOutput, + ElastiCacheClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyUserGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ElastiCacheClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ModifyUserGroupMessage.filterSensitiveLog, + outputFilterSensitiveLog: UserGroup.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyUserGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryModifyUserGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_queryModifyUserGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-elasticache/index.ts b/clients/client-elasticache/index.ts index 9e51254242d6..c782b4c835f5 100644 --- a/clients/client-elasticache/index.ts +++ b/clients/client-elasticache/index.ts @@ -13,6 +13,8 @@ export * from "./commands/CreateCacheSubnetGroupCommand"; export * from "./commands/CreateGlobalReplicationGroupCommand"; export * from "./commands/CreateReplicationGroupCommand"; export * from "./commands/CreateSnapshotCommand"; +export * from "./commands/CreateUserCommand"; +export * from "./commands/CreateUserGroupCommand"; export * from "./commands/DecreaseNodeGroupsInGlobalReplicationGroupCommand"; export * from "./commands/DecreaseReplicaCountCommand"; export * from "./commands/DeleteCacheClusterCommand"; @@ -22,6 +24,8 @@ export * from "./commands/DeleteCacheSubnetGroupCommand"; export * from "./commands/DeleteGlobalReplicationGroupCommand"; export * from "./commands/DeleteReplicationGroupCommand"; export * from "./commands/DeleteSnapshotCommand"; +export * from "./commands/DeleteUserCommand"; +export * from "./commands/DeleteUserGroupCommand"; export * from "./commands/DescribeCacheClustersCommand"; export * from "./pagination/DescribeCacheClustersPaginator"; export * from "./commands/DescribeCacheEngineVersionsCommand"; @@ -35,6 +39,7 @@ export * from "./pagination/DescribeCacheSecurityGroupsPaginator"; export * from "./commands/DescribeCacheSubnetGroupsCommand"; export * from "./pagination/DescribeCacheSubnetGroupsPaginator"; export * from "./commands/DescribeEngineDefaultParametersCommand"; +export * from "./pagination/DescribeEngineDefaultParametersPaginator"; export * from "./commands/DescribeEventsCommand"; export * from "./pagination/DescribeEventsPaginator"; export * from "./commands/DescribeGlobalReplicationGroupsCommand"; @@ -51,6 +56,10 @@ export * from "./commands/DescribeSnapshotsCommand"; export * from "./pagination/DescribeSnapshotsPaginator"; export * from "./commands/DescribeUpdateActionsCommand"; export * from "./pagination/DescribeUpdateActionsPaginator"; +export * from "./commands/DescribeUserGroupsCommand"; +export * from "./pagination/DescribeUserGroupsPaginator"; +export * from "./commands/DescribeUsersCommand"; +export * from "./pagination/DescribeUsersPaginator"; export * from "./commands/DisassociateGlobalReplicationGroupCommand"; export * from "./commands/FailoverGlobalReplicationGroupCommand"; export * from "./commands/IncreaseNodeGroupsInGlobalReplicationGroupCommand"; @@ -63,6 +72,8 @@ export * from "./commands/ModifyCacheSubnetGroupCommand"; export * from "./commands/ModifyGlobalReplicationGroupCommand"; export * from "./commands/ModifyReplicationGroupCommand"; export * from "./commands/ModifyReplicationGroupShardConfigurationCommand"; +export * from "./commands/ModifyUserCommand"; +export * from "./commands/ModifyUserGroupCommand"; export * from "./commands/PurchaseReservedCacheNodesOfferingCommand"; export * from "./commands/RebalanceSlotsInGlobalReplicationGroupCommand"; export * from "./commands/RebootCacheClusterCommand"; diff --git a/clients/client-elasticache/models/models_0.ts b/clients/client-elasticache/models/models_0.ts index 8a3086c1c10b..26b41e2968f6 100644 --- a/clients/client-elasticache/models/models_0.ts +++ b/clients/client-elasticache/models/models_0.ts @@ -7,14 +7,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface Tag { /** - *

                                                      The key for the tag. May not be null.

                                                      + *

                                                      The tag's value. May be null.

                                                      */ - Key?: string; + Value?: string; /** - *

                                                      The tag's value. May be null.

                                                      + *

                                                      The key for the tag. May not be null.

                                                      */ - Value?: string; + Key?: string; } export namespace Tag { @@ -27,12 +27,6 @@ export namespace Tag { *

                                                      Represents the input of an AddTagsToResource operation.

                                                      */ export interface AddTagsToResourceMessage { - /** - *

                                                      A list of cost allocation tags to be added to this resource. A tag is a key-value pair. - * A tag key must be accompanied by a tag value.

                                                      - */ - Tags: Tag[] | undefined; - /** *

                                                      The Amazon Resource Name (ARN) of the resource to which the tags are to be added, * for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster @@ -41,6 +35,12 @@ export interface AddTagsToResourceMessage { *

                                                      For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                      */ ResourceName: string | undefined; + + /** + *

                                                      A list of cost allocation tags to be added to this resource. A tag is a key-value pair. + * A tag key must be accompanied by a tag value.

                                                      + */ + Tags: Tag[] | undefined; } export namespace AddTagsToResourceMessage { @@ -200,11 +200,6 @@ export namespace AuthorizeCacheSecurityGroupIngressMessage { *

                                                      Provides ownership and status information for an Amazon EC2 security group.

                                                      */ export interface EC2SecurityGroup { - /** - *

                                                      The name of the Amazon EC2 security group.

                                                      - */ - EC2SecurityGroupName?: string; - /** *

                                                      The status of the Amazon EC2 security group.

                                                      */ @@ -214,6 +209,11 @@ export interface EC2SecurityGroup { *

                                                      The AWS account ID of the Amazon EC2 security group owner.

                                                      */ EC2SecurityGroupOwnerId?: string; + + /** + *

                                                      The name of the Amazon EC2 security group.

                                                      + */ + EC2SecurityGroupName?: string; } export namespace EC2SecurityGroup { @@ -244,14 +244,14 @@ export namespace EC2SecurityGroup { */ export interface CacheSecurityGroup { /** - *

                                                      The name of the cache security group.

                                                      + *

                                                      The description of the cache security group.

                                                      */ - CacheSecurityGroupName?: string; + Description?: string; /** - *

                                                      The ARN (Amazon Resource Name) of the cache security group.

                                                      + *

                                                      The name of the cache security group.

                                                      */ - ARN?: string; + CacheSecurityGroupName?: string; /** *

                                                      The AWS account ID of the cache security group owner.

                                                      @@ -259,14 +259,14 @@ export interface CacheSecurityGroup { OwnerId?: string; /** - *

                                                      The description of the cache security group.

                                                      + *

                                                      A list of Amazon EC2 security groups that are associated with this cache security group.

                                                      */ - Description?: string; + EC2SecurityGroups?: EC2SecurityGroup[]; /** - *

                                                      A list of Amazon EC2 security groups that are associated with this cache security group.

                                                      + *

                                                      The ARN of the cache security group,

                                                      */ - EC2SecurityGroups?: EC2SecurityGroup[]; + ARN?: string; } export namespace CacheSecurityGroup { @@ -372,11 +372,6 @@ export namespace InvalidParameterValueException { } export interface BatchApplyUpdateActionMessage { - /** - *

                                                      The replication group IDs

                                                      - */ - ReplicationGroupIds?: string[]; - /** *

                                                      The cache cluster IDs

                                                      */ @@ -386,6 +381,11 @@ export interface BatchApplyUpdateActionMessage { *

                                                      The unique ID of the service update

                                                      */ ServiceUpdateName: string | undefined; + + /** + *

                                                      The replication group IDs

                                                      + */ + ReplicationGroupIds?: string[]; } export namespace BatchApplyUpdateActionMessage { @@ -426,24 +426,24 @@ export enum UpdateActionStatus { */ export interface ProcessedUpdateAction { /** - *

                                                      The unique ID of the service update

                                                      + *

                                                      The ID of the replication group

                                                      */ - ServiceUpdateName?: string; + ReplicationGroupId?: string; /** - *

                                                      The ID of the cache cluster

                                                      + *

                                                      The unique ID of the service update

                                                      */ - CacheClusterId?: string; + ServiceUpdateName?: string; /** - *

                                                      The ID of the replication group

                                                      + *

                                                      The status of the update action on the Redis cluster

                                                      */ - ReplicationGroupId?: string; + UpdateActionStatus?: UpdateActionStatus | string; /** - *

                                                      The status of the update action on the Redis cluster

                                                      + *

                                                      The ID of the cache cluster

                                                      */ - UpdateActionStatus?: UpdateActionStatus | string; + CacheClusterId?: string; } export namespace ProcessedUpdateAction { @@ -462,24 +462,24 @@ export interface UnprocessedUpdateAction { ReplicationGroupId?: string; /** - *

                                                      The unique ID of the service update

                                                      + *

                                                      The ID of the cache cluster

                                                      */ - ServiceUpdateName?: string; + CacheClusterId?: string; /** - *

                                                      The ID of the cache cluster

                                                      + *

                                                      The error type for requests that are not processed

                                                      */ - CacheClusterId?: string; + ErrorType?: string; /** - *

                                                      The error message that describes the reason the request was not processed

                                                      + *

                                                      The unique ID of the service update

                                                      */ - ErrorMessage?: string; + ServiceUpdateName?: string; /** - *

                                                      The error type for requests that are not processed

                                                      + *

                                                      The error message that describes the reason the request was not processed

                                                      */ - ErrorType?: string; + ErrorMessage?: string; } export namespace UnprocessedUpdateAction { @@ -507,11 +507,6 @@ export namespace UpdateActionResultsMessage { } export interface BatchStopUpdateActionMessage { - /** - *

                                                      The replication group IDs

                                                      - */ - ReplicationGroupIds?: string[]; - /** *

                                                      The cache cluster IDs

                                                      */ @@ -521,6 +516,11 @@ export interface BatchStopUpdateActionMessage { *

                                                      The unique ID of the service update

                                                      */ ServiceUpdateName: string | undefined; + + /** + *

                                                      The replication group IDs

                                                      + */ + ReplicationGroupIds?: string[]; } export namespace BatchStopUpdateActionMessage { @@ -531,14 +531,14 @@ export namespace BatchStopUpdateActionMessage { export interface CompleteMigrationMessage { /** - *

                                                      Forces the migration to stop without ensuring that data is in sync. It is recommended to use this option only to abort the migration and not recommended when application wants to continue migration to ElastiCache.

                                                      + *

                                                      The ID of the replication group to which data is being migrated.

                                                      */ - Force?: boolean; + ReplicationGroupId: string | undefined; /** - *

                                                      The ID of the replication group to which data is being migrated.

                                                      + *

                                                      Forces the migration to stop without ensuring that data is in sync. It is recommended to use this option only to abort the migration and not recommended when application wants to continue migration to ElastiCache.

                                                      */ - ReplicationGroupId: string | undefined; + Force?: boolean; } export namespace CompleteMigrationMessage { @@ -559,14 +559,14 @@ export enum AutomaticFailoverStatus { */ export interface Endpoint { /** - *

                                                      The port number that the cache engine is listening on.

                                                      + *

                                                      The DNS hostname of the cache node.

                                                      */ - Port?: number; + Address?: string; /** - *

                                                      The DNS hostname of the cache node.

                                                      + *

                                                      The port number that the cache engine is listening on.

                                                      */ - Address?: string; + Port?: number; } export namespace Endpoint { @@ -580,14 +580,14 @@ export namespace Endpoint { */ export interface GlobalReplicationGroupInfo { /** - *

                                                      The role of the replication group in a Global Datastore. Can be primary or secondary.

                                                      + *

                                                      The name of the Global Datastore

                                                      */ - GlobalReplicationGroupMemberRole?: string; + GlobalReplicationGroupId?: string; /** - *

                                                      The name of the Global Datastore

                                                      + *

                                                      The role of the replication group in a Global Datastore. Can be primary or secondary.

                                                      */ - GlobalReplicationGroupId?: string; + GlobalReplicationGroupMemberRole?: string; } export namespace GlobalReplicationGroupInfo { @@ -613,9 +613,9 @@ export interface NodeGroupMember { CurrentRole?: string; /** - *

                                                      The ID of the node within its cluster. A node ID is a numeric identifier (0001, 0002, etc.).

                                                      + *

                                                      The ID of the cluster to which the node belongs.

                                                      */ - CacheNodeId?: string; + CacheClusterId?: string; /** *

                                                      The name of the Availability Zone in which the node is located.

                                                      @@ -629,9 +629,14 @@ export interface NodeGroupMember { ReadEndpoint?: Endpoint; /** - *

                                                      The ID of the cluster to which the node belongs.

                                                      + *

                                                      The outpost ARN of the node group member.

                                                      */ - CacheClusterId?: string; + PreferredOutpostArn?: string; + + /** + *

                                                      The ID of the node within its cluster. A node ID is a numeric identifier (0001, 0002, etc.).

                                                      + */ + CacheNodeId?: string; } export namespace NodeGroupMember { @@ -647,25 +652,20 @@ export namespace NodeGroupMember { */ export interface NodeGroup { /** - *

                                                      A list containing information about individual nodes within the node group (shard).

                                                      - */ - NodeGroupMembers?: NodeGroupMember[]; - - /** - *

                                                      The endpoint of the primary node in this node group (shard).

                                                      + *

                                                      The current state of this replication group - creating, + * available, modifying, deleting.

                                                      */ - PrimaryEndpoint?: Endpoint; + Status?: string; /** - *

                                                      The keyspace for this node group (shard).

                                                      + *

                                                      The endpoint of the replica nodes in this node group (shard).

                                                      */ - Slots?: string; + ReaderEndpoint?: Endpoint; /** - *

                                                      The current state of this replication group - creating, - * available, modifying, deleting.

                                                      + *

                                                      The endpoint of the primary node in this node group (shard).

                                                      */ - Status?: string; + PrimaryEndpoint?: Endpoint; /** *

                                                      The identifier for the node group (shard). A Redis (cluster mode disabled) replication group contains only 1 node group; therefore, the node group ID is 0001. @@ -675,9 +675,14 @@ export interface NodeGroup { NodeGroupId?: string; /** - *

                                                      The endpoint of the replica nodes in this node group (shard).

                                                      + *

                                                      A list containing information about individual nodes within the node group (shard).

                                                      */ - ReaderEndpoint?: Endpoint; + NodeGroupMembers?: NodeGroupMember[]; + + /** + *

                                                      The keyspace for this node group (shard).

                                                      + */ + Slots?: string; } export namespace NodeGroup { @@ -726,15 +731,31 @@ export namespace ReshardingStatus { } /** - *

                                                      The settings to be applied to the Redis replication group, - * either immediately or during the next maintenance window.

                                                      + *

                                                      The status of the user group update.

                                                      */ -export interface ReplicationGroupPendingModifiedValues { +export interface UserGroupsUpdateStatus { /** - *

                                                      The status of an online resharding operation.

                                                      + *

                                                      The list of user group IDs to remove.

                                                      */ - Resharding?: ReshardingStatus; + UserGroupIdsToRemove?: string[]; + + /** + *

                                                      The list of user group IDs to add.

                                                      + */ + UserGroupIdsToAdd?: string[]; +} +export namespace UserGroupsUpdateStatus { + export const filterSensitiveLog = (obj: UserGroupsUpdateStatus): any => ({ + ...obj, + }); +} + +/** + *

                                                      The settings to be applied to the Redis replication group, + * either immediately or during the next maintenance window.

                                                      + */ +export interface ReplicationGroupPendingModifiedValues { /** *

                                                      The primary cluster ID that is applied immediately (if --apply-immediately * was specified), or during the next maintenance window.

                                                      @@ -742,14 +763,24 @@ export interface ReplicationGroupPendingModifiedValues { PrimaryClusterId?: string; /** - *

                                                      Indicates the status of automatic failover for this Redis replication group.

                                                      + *

                                                      The status of an online resharding operation.

                                                      */ - AutomaticFailoverStatus?: PendingAutomaticFailoverStatus | string; + Resharding?: ReshardingStatus; /** *

                                                      The auth token status

                                                      */ AuthTokenStatus?: AuthTokenUpdateStatus | string; + + /** + *

                                                      The user groups being modified.

                                                      + */ + UserGroups?: UserGroupsUpdateStatus; + + /** + *

                                                      Indicates the status of automatic failover for this Redis replication group.

                                                      + */ + AutomaticFailoverStatus?: PendingAutomaticFailoverStatus | string; } export namespace ReplicationGroupPendingModifiedValues { @@ -763,9 +794,10 @@ export namespace ReplicationGroupPendingModifiedValues { */ export interface ReplicationGroup { /** - *

                                                      Indicates the status of automatic failover for this Redis replication group.

                                                      + *

                                                      A group of settings to be applied to the replication group, + * either immediately or during the next maintenance window.

                                                      */ - AutomaticFailover?: AutomaticFailoverStatus | string; + PendingModifiedValues?: ReplicationGroupPendingModifiedValues; /** *

                                                      The date the auth token was last modified

                                                      @@ -773,37 +805,36 @@ export interface ReplicationGroup { AuthTokenLastModifiedDate?: Date; /** - *

                                                      The configuration endpoint for this replication group. - * Use the configuration endpoint to connect to this replication group.

                                                      - */ - ConfigurationEndpoint?: Endpoint; - - /** - *

                                                      The names of all the cache clusters that are part of this replication group.

                                                      + *

                                                      The number of days for which ElastiCache retains automatic cluster snapshots before + * deleting them. For example, if you set SnapshotRetentionLimit to 5, a + * snapshot that was taken today is retained for 5 days before being deleted.

                                                      + * + *

                                                      + * If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

                                                      + *
                                                      */ - MemberClusters?: string[]; + SnapshotRetentionLimit?: number; /** - *

                                                      The name of the Global Datastore and role of this replication group in the Global Datastore.

                                                      + *

                                                      The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

                                                      + *

                                                      Example: 05:00-09:00 + *

                                                      + *

                                                      If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

                                                      + * + *

                                                      This parameter is only valid if the Engine parameter is redis.

                                                      + *
                                                      */ - GlobalReplicationGroupInfo?: GlobalReplicationGroupInfo; + SnapshotWindow?: string; /** - *

                                                      The current state of this replication group - - * creating, - * available, - * modifying, - * deleting, - * create-failed, - * snapshotting.

                                                      + *

                                                      The list of user group IDs that have access to the replication group.

                                                      */ - Status?: string; + UserGroupIds?: string[]; /** - *

                                                      A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ - *

                                                      + *

                                                      The cluster ID that is used as the daily snapshot source for the replication group.

                                                      */ - MultiAZ?: MultiAZStatus | string; + SnapshottingClusterId?: string; /** *

                                                      The name of the compute and memory capacity node type for each node in the replication group.

                                                      @@ -824,37 +855,50 @@ export interface ReplicationGroup { */ TransitEncryptionEnabled?: boolean; + /** + *

                                                      A flag indicating whether or not this replication group is cluster enabled; + * i.e., whether its data can be partitioned across multiple shards (API/CLI: node groups).

                                                      + *

                                                      Valid values: true | false + *

                                                      + */ + ClusterEnabled?: boolean; + /** *

                                                      The identifier for the replication group.

                                                      */ ReplicationGroupId?: string; /** - *

                                                      A flag that enables encryption at-rest when set to true.

                                                      - *

                                                      You cannot modify the value of AtRestEncryptionEnabled - * after the cluster is created. To enable encryption at-rest on a cluster - * you must set AtRestEncryptionEnabled to true - * when you create a cluster.

                                                      - *

                                                      - * Required: - * Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

                                                      - *

                                                      Default: false - *

                                                      + *

                                                      The names of all the cache clusters that are part of this replication group.

                                                      */ - AtRestEncryptionEnabled?: boolean; + MemberClusters?: string[]; /** - *

                                                      A flag that enables using an AuthToken (password) - * when issuing Redis commands.

                                                      - *

                                                      Default: false + *

                                                      The current state of this replication group - + * creating, + * available, + * modifying, + * deleting, + * create-failed, + * snapshotting.

                                                      + */ + Status?: string; + + /** + *

                                                      A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ *

                                                      */ - AuthTokenEnabled?: boolean; + MultiAZ?: MultiAZStatus | string; /** - *

                                                      The user supplied description of the replication group.

                                                      + *

                                                      The ID of the KMS key used to encrypt the disk in the cluster.

                                                      */ - Description?: string; + KmsKeyId?: string; + + /** + *

                                                      The ARN (Amazon Resource Name) of the replication group.

                                                      + */ + ARN?: string; /** *

                                                      A list of node groups in this replication group. @@ -865,55 +909,52 @@ export interface ReplicationGroup { NodeGroups?: NodeGroup[]; /** - *

                                                      The ARN (Amazon Resource Name) of the replication group.

                                                      + *

                                                      The user supplied description of the replication group.

                                                      */ - ARN?: string; + Description?: string; /** - *

                                                      The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

                                                      - *

                                                      Example: 05:00-09:00 - *

                                                      - *

                                                      If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

                                                      - * - *

                                                      This parameter is only valid if the Engine parameter is redis.

                                                      - *
                                                      + *

                                                      A flag that enables encryption at-rest when set to true.

                                                      + *

                                                      You cannot modify the value of AtRestEncryptionEnabled + * after the cluster is created. To enable encryption at-rest on a cluster + * you must set AtRestEncryptionEnabled to true + * when you create a cluster.

                                                      + *

                                                      + * Required: + * Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

                                                      + *

                                                      Default: false + *

                                                      */ - SnapshotWindow?: string; + AtRestEncryptionEnabled?: boolean; /** - *

                                                      A flag indicating whether or not this replication group is cluster enabled; - * i.e., whether its data can be partitioned across multiple shards (API/CLI: node groups).

                                                      - *

                                                      Valid values: true | false - *

                                                      + *

                                                      The name of the Global Datastore and role of this replication group in the Global Datastore.

                                                      */ - ClusterEnabled?: boolean; + GlobalReplicationGroupInfo?: GlobalReplicationGroupInfo; /** - *

                                                      A group of settings to be applied to the replication group, - * either immediately or during the next maintenance window.

                                                      + *

                                                      The outpost ARNs of the replication group's member clusters.

                                                      */ - PendingModifiedValues?: ReplicationGroupPendingModifiedValues; + MemberClustersOutpostArns?: string[]; /** - *

                                                      The number of days for which ElastiCache retains automatic cluster snapshots before - * deleting them. For example, if you set SnapshotRetentionLimit to 5, a - * snapshot that was taken today is retained for 5 days before being deleted.

                                                      - * - *

                                                      - * If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

                                                      - *
                                                      + *

                                                      A flag that enables using an AuthToken (password) + * when issuing Redis commands.

                                                      + *

                                                      Default: false + *

                                                      */ - SnapshotRetentionLimit?: number; + AuthTokenEnabled?: boolean; /** - *

                                                      The cluster ID that is used as the daily snapshot source for the replication group.

                                                      + *

                                                      The configuration endpoint for this replication group. + * Use the configuration endpoint to connect to this replication group.

                                                      */ - SnapshottingClusterId?: string; + ConfigurationEndpoint?: Endpoint; /** - *

                                                      The ID of the KMS key used to encrypt the disk in the cluster.

                                                      + *

                                                      Indicates the status of automatic failover for this Redis replication group.

                                                      */ - KmsKeyId?: string; + AutomaticFailover?: AutomaticFailoverStatus | string; } export namespace ReplicationGroup { @@ -984,11 +1025,6 @@ export namespace ReplicationGroupNotUnderMigrationFault { *

                                                      Represents the input of a CopySnapshotMessage operation.

                                                      */ export interface CopySnapshotMessage { - /** - *

                                                      The ID of the KMS key used to encrypt the target snapshot.

                                                      - */ - KmsKeyId?: string; - /** *

                                                      The name of an existing snapshot from which to make a copy.

                                                      */ @@ -1011,6 +1047,11 @@ export interface CopySnapshotMessage { * this name must be unique within its context - ElastiCache or an Amazon S3 bucket if exporting.

                                                      */ TargetSnapshotName: string | undefined; + + /** + *

                                                      The ID of the KMS key used to encrypt the target snapshot.

                                                      + */ + KmsKeyId?: string; } export namespace CopySnapshotMessage { @@ -1025,17 +1066,28 @@ export namespace CopySnapshotMessage { */ export interface NodeGroupConfiguration { /** - *

                                                      Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the node group these - * configuration values apply to.

                                                      + *

                                                      The output ARN of the primary node.

                                                      */ - NodeGroupId?: string; + PrimaryOutpostArn?: string; /** - *

                                                      A list of Availability Zones to be used for the read replicas. - * The number of Availability Zones in this list must match the value of ReplicaCount - * or ReplicasPerNodeGroup if not specified.

                                                      + *

                                                      A string that specifies the keyspace for a particular node group. + * Keyspaces range from 0 to 16,383. + * The string is in the format startkey-endkey.

                                                      + *

                                                      Example: "0-3999" + *

                                                      */ - ReplicaAvailabilityZones?: string[]; + Slots?: string; + + /** + *

                                                      The Availability Zone where the primary node of this node group (shard) is launched.

                                                      + */ + PrimaryAvailabilityZone?: string; + + /** + *

                                                      The outpost ARN of the node replicas.

                                                      + */ + ReplicaOutpostArns?: string[]; /** *

                                                      The number of read replica nodes in this node group (shard).

                                                      @@ -1043,18 +1095,17 @@ export interface NodeGroupConfiguration { ReplicaCount?: number; /** - *

                                                      The Availability Zone where the primary node of this node group (shard) is launched.

                                                      + *

                                                      Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the node group these + * configuration values apply to.

                                                      */ - PrimaryAvailabilityZone?: string; + NodeGroupId?: string; /** - *

                                                      A string that specifies the keyspace for a particular node group. - * Keyspaces range from 0 to 16,383. - * The string is in the format startkey-endkey.

                                                      - *

                                                      Example: "0-3999" - *

                                                      + *

                                                      A list of Availability Zones to be used for the read replicas. + * The number of Availability Zones in this list must match the value of ReplicaCount + * or ReplicasPerNodeGroup if not specified.

                                                      */ - Slots?: string; + ReplicaAvailabilityZones?: string[]; } export namespace NodeGroupConfiguration { @@ -1068,14 +1119,9 @@ export namespace NodeGroupConfiguration { */ export interface NodeSnapshot { /** - *

                                                      The cache node identifier for the node in the source cluster.

                                                      - */ - CacheNodeId?: string; - - /** - *

                                                      The date and time when the source node's metadata and cache data set was obtained for the snapshot.

                                                      + *

                                                      A unique identifier for the source node group (shard).

                                                      */ - SnapshotCreateTime?: Date; + NodeGroupId?: string; /** *

                                                      The configuration for the source node group (shard).

                                                      @@ -1083,24 +1129,29 @@ export interface NodeSnapshot { NodeGroupConfiguration?: NodeGroupConfiguration; /** - *

                                                      The date and time when the cache node was created in the source cluster.

                                                      + *

                                                      A unique identifier for the source cluster.

                                                      */ - CacheNodeCreateTime?: Date; + CacheClusterId?: string; /** - *

                                                      A unique identifier for the source cluster.

                                                      + *

                                                      The cache node identifier for the node in the source cluster.

                                                      */ - CacheClusterId?: string; + CacheNodeId?: string; /** - *

                                                      A unique identifier for the source node group (shard).

                                                      + *

                                                      The date and time when the source node's metadata and cache data set was obtained for the snapshot.

                                                      */ - NodeGroupId?: string; + SnapshotCreateTime?: Date; /** *

                                                      The size of the cache on the source cache node.

                                                      */ CacheSize?: string; + + /** + *

                                                      The date and time when the cache node was created in the source cluster.

                                                      + */ + CacheNodeCreateTime?: Date; } export namespace NodeSnapshot { @@ -1114,116 +1165,48 @@ export namespace NodeSnapshot { */ export interface Snapshot { /** - *

                                                      The name of the cache subnet group associated with the source cluster.

                                                      - */ - CacheSubnetGroupName?: string; - - /** - *

                                                      The ID of the KMS key used to encrypt the snapshot.

                                                      - */ - KmsKeyId?: string; - - /** - *

                                                      The version of the cache engine version that is used by the source cluster.

                                                      - */ - EngineVersion?: string; - - /** - *

                                                      Indicates whether the snapshot is from an automatic backup (automated) - * or was created manually (manual).

                                                      + *

                                                      A description of the source replication group.

                                                      */ - SnapshotSource?: string; + ReplicationGroupDescription?: string; /** - *

                                                      The name of the Availability Zone in which the source cluster is located.

                                                      + *

                                                      The number of node groups (shards) in this snapshot. + * When restoring from a snapshot, the number of node groups (shards) in the snapshot and in the restored + * replication group must be the same.

                                                      */ - PreferredAvailabilityZone?: string; + NumNodeGroups?: number; /** - *

                                                      Specifies the weekly time range during which maintenance - * on the cluster is performed. It is specified as a range in - * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum - * maintenance window is a 60 minute period.

                                                      - *

                                                      Valid values for ddd are:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * sun - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * mon - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tue - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * wed - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * thu - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * fri - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * sat - *

                                                        - *
                                                      • - *
                                                      - *

                                                      Example: sun:23:00-mon:01:30 - *

                                                      + *

                                                      Indicates the status of automatic failover for the source Redis replication group.

                                                      */ - PreferredMaintenanceWindow?: string; + AutomaticFailover?: AutomaticFailoverStatus | string; /** - *

                                                      This parameter is currently disabled.

                                                      + *

                                                      The ARN (Amazon Resource Name) of the preferred outpost.

                                                      */ - AutoMinorVersionUpgrade?: boolean; + PreferredOutpostArn?: string; /** - *

                                                      The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group for the source cluster.

                                                      + *

                                                      The unique identifier of the source replication group.

                                                      */ - VpcId?: string; + ReplicationGroupId?: string; /** - *

                                                      The cache parameter group that is associated with the source cluster.

                                                      + *

                                                      The port number used by each cache nodes in the source cluster.

                                                      */ - CacheParameterGroupName?: string; + Port?: number; /** - *

                                                      The date and time when the source cluster was created.

                                                      + *

                                                      The user-supplied identifier of the source cluster.

                                                      */ - CacheClusterCreateTime?: Date; + CacheClusterId?: string; /** - *

                                                      For an automatic snapshot, the number of days for which ElastiCache retains the snapshot before deleting it.

                                                      - *

                                                      For manual snapshots, this field reflects the SnapshotRetentionLimit for the - * source cluster when the snapshot was created. This field is otherwise ignored: - * Manual snapshots do not expire, and can only be deleted using the DeleteSnapshot - * operation.

                                                      - *

                                                      - * Important - * If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

                                                      + *

                                                      The number of cache nodes in the source cluster.

                                                      + *

                                                      For clusters running Redis, this value must be 1. + * For clusters running Memcached, this value must be between 1 and 20.

                                                      */ - SnapshotRetentionLimit?: number; - - /** - *

                                                      The status of the snapshot. Valid values: creating | available - * | restoring | copying | deleting.

                                                      - */ - SnapshotStatus?: string; + NumCacheNodes?: number; /** *

                                                      The name of the compute and memory capacity node type for the source cluster.

                                                      @@ -1399,76 +1382,149 @@ export interface Snapshot { CacheNodeType?: string; /** - *

                                                      The daily time range during which ElastiCache takes daily snapshots of the source cluster.

                                                      + *

                                                      The name of a snapshot. + * For an automatic snapshot, the name is system-generated. + * For a manual snapshot, this is the user-provided name.

                                                      */ - SnapshotWindow?: string; + SnapshotName?: string; /** - *

                                                      A list of the cache nodes in the source cluster.

                                                      + *

                                                      The name of the cache engine (memcached or + * redis) used by the source cluster.

                                                      */ - NodeSnapshots?: NodeSnapshot[]; + Engine?: string; /** - *

                                                      The number of cache nodes in the source cluster.

                                                      - *

                                                      For clusters running Redis, this value must be 1. - * For clusters running Memcached, this value must be between 1 and 20.

                                                      + *

                                                      The Amazon Resource Name (ARN) for the topic used by the source cluster for publishing notifications.

                                                      */ - NumCacheNodes?: number; + TopicArn?: string; /** - *

                                                      The ARN (Amazon Resource Name) of the snapshot.

                                                      + *

                                                      The ID of the KMS key used to encrypt the snapshot.

                                                      */ - ARN?: string; + KmsKeyId?: string; /** - *

                                                      The user-supplied identifier of the source cluster.

                                                      + *

                                                      This parameter is currently disabled.

                                                      */ - CacheClusterId?: string; + AutoMinorVersionUpgrade?: boolean; /** - *

                                                      The Amazon Resource Name (ARN) for the topic used by the source cluster for publishing notifications.

                                                      + *

                                                      The cache parameter group that is associated with the source cluster.

                                                      */ - TopicArn?: string; + CacheParameterGroupName?: string; /** - *

                                                      The port number used by each cache nodes in the source cluster.

                                                      + *

                                                      Specifies the weekly time range during which maintenance + * on the cluster is performed. It is specified as a range in + * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum + * maintenance window is a 60 minute period.

                                                      + *

                                                      Valid values for ddd are:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * sun + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * mon + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * tue + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * wed + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * thu + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * fri + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * sat + *

                                                        + *
                                                      • + *
                                                      + *

                                                      Example: sun:23:00-mon:01:30 + *

                                                      */ - Port?: number; + PreferredMaintenanceWindow?: string; /** - *

                                                      The number of node groups (shards) in this snapshot. - * When restoring from a snapshot, the number of node groups (shards) in the snapshot and in the restored - * replication group must be the same.

                                                      + *

                                                      Indicates whether the snapshot is from an automatic backup (automated) + * or was created manually (manual).

                                                      */ - NumNodeGroups?: number; + SnapshotSource?: string; /** - *

                                                      Indicates the status of automatic failover for the source Redis replication group.

                                                      + *

                                                      The name of the Availability Zone in which the source cluster is located.

                                                      */ - AutomaticFailover?: AutomaticFailoverStatus | string; + PreferredAvailabilityZone?: string; /** - *

                                                      A description of the source replication group.

                                                      + *

                                                      The version of the cache engine version that is used by the source cluster.

                                                      */ - ReplicationGroupDescription?: string; + EngineVersion?: string; /** - *

                                                      The name of a snapshot. - * For an automatic snapshot, the name is system-generated. - * For a manual snapshot, this is the user-provided name.

                                                      + *

                                                      The daily time range during which ElastiCache takes daily snapshots of the source cluster.

                                                      */ - SnapshotName?: string; + SnapshotWindow?: string; /** - *

                                                      The name of the cache engine (memcached or - * redis) used by the source cluster.

                                                      + *

                                                      The status of the snapshot. Valid values: creating | available + * | restoring | copying | deleting.

                                                      */ - Engine?: string; + SnapshotStatus?: string; /** - *

                                                      The unique identifier of the source replication group.

                                                      + *

                                                      The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group for the source cluster.

                                                      */ - ReplicationGroupId?: string; + VpcId?: string; + + /** + *

                                                      The date and time when the source cluster was created.

                                                      + */ + CacheClusterCreateTime?: Date; + + /** + *

                                                      For an automatic snapshot, the number of days for which ElastiCache retains the snapshot before deleting it.

                                                      + *

                                                      For manual snapshots, this field reflects the SnapshotRetentionLimit for the + * source cluster when the snapshot was created. This field is otherwise ignored: + * Manual snapshots do not expire, and can only be deleted using the DeleteSnapshot + * operation.

                                                      + *

                                                      + * Important + * If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

                                                      + */ + SnapshotRetentionLimit?: number; + + /** + *

                                                      A list of the cache nodes in the source cluster.

                                                      + */ + NodeSnapshots?: NodeSnapshot[]; + + /** + *

                                                      The ARN (Amazon Resource Name) of the snapshot.

                                                      + */ + ARN?: string; + + /** + *

                                                      The name of the cache subnet group associated with the source cluster.

                                                      + */ + CacheSubnetGroupName?: string; } export namespace Snapshot { @@ -1600,18 +1656,15 @@ export enum AZMode { SINGLE_AZ = "single-az", } +export enum OutpostMode { + CROSS_OUTPOST = "cross-outpost", + SINGLE_OUTPOST = "single-outpost", +} + /** *

                                                      Represents the input of a CreateCacheCluster operation.

                                                      */ export interface CreateCacheClusterMessage { - /** - *

                                                      The EC2 Availability Zone in which the cluster is created.

                                                      - *

                                                      All nodes belonging to this cluster are placed in the preferred Availability Zone. - * If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

                                                      - *

                                                      Default: System chosen Availability Zone.

                                                      - */ - PreferredAvailabilityZone?: string; - /** *

                                                      The name of the cache engine to be used for this cluster.

                                                      *

                                                      Valid values for this parameter are: memcached | redis @@ -1620,43 +1673,23 @@ export interface CreateCacheClusterMessage { Engine?: string; /** - *

                                                      A list of security group names to associate with this cluster.

                                                      - *

                                                      Use this parameter only when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC).

                                                      - */ - CacheSecurityGroupNames?: string[]; - - /** - *

                                                      The port number on which each of the cache nodes accepts connections.

                                                      + *

                                                      One or more VPC security groups associated with the cluster.

                                                      + *

                                                      Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

                                                      */ - Port?: number; + SecurityGroupIds?: string[]; /** - *

                                                      The node group (shard) identifier. This parameter is stored as a lowercase string.

                                                      - *

                                                      - * Constraints: - *

                                                      - *
                                                        - *
                                                      • - *

                                                        A name must contain from 1 to 50 alphanumeric characters or hyphens.

                                                        - *
                                                      • - *
                                                      • - *

                                                        The first character must be a letter.

                                                        - *
                                                      • - *
                                                      • - *

                                                        A name cannot end with a hyphen or contain two consecutive hyphens.

                                                        - *
                                                      • - *
                                                      + *

                                                      This parameter is currently disabled.

                                                      */ - CacheClusterId: string | undefined; + AutoMinorVersionUpgrade?: boolean; /** - *

                                                      The name of a Redis snapshot from which to restore data into the new node group (shard). - * The snapshot status changes to restoring while the new node group (shard) is being created.

                                                      - * - *

                                                      This parameter is only valid if the Engine parameter is redis.

                                                      - *
                                                      + *

                                                      The EC2 Availability Zone in which the cluster is created.

                                                      + *

                                                      All nodes belonging to this cluster are placed in the preferred Availability Zone. + * If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

                                                      + *

                                                      Default: System chosen Availability Zone.

                                                      */ - SnapshotName?: string; + PreferredAvailabilityZone?: string; /** *

                                                      A list of the Availability Zones in which cache nodes are created. The order of the zones in the list is not important.

                                                      @@ -1672,63 +1705,9 @@ export interface CreateCacheClusterMessage { PreferredAvailabilityZones?: string[]; /** - *

                                                      Specifies the weekly time range during which maintenance - * on the cluster is performed. It is specified as a range in - * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum - * maintenance window is a 60 minute period. - * Valid values for ddd are:

                                                      - * - *

                                                      Specifies the weekly time range during which maintenance - * on the cluster is performed. It is specified as a range in - * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum - * maintenance window is a 60 minute period.

                                                      - *

                                                      Valid values for ddd are:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * sun - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * mon - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tue - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * wed - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * thu - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * fri - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * sat - *

                                                        - *
                                                      • - *
                                                      - *

                                                      Example: sun:23:00-mon:01:30 - *

                                                      - */ - PreferredMaintenanceWindow?: string; - - /** - *

                                                      This parameter is currently disabled.

                                                      + *

                                                      The outpost ARNs in which the cache cluster is created.

                                                      */ - AutoMinorVersionUpgrade?: boolean; + PreferredOutpostArns?: string[]; /** *

                                                      The version number of the cache engine to be used for this cluster. @@ -1741,37 +1720,6 @@ export interface CreateCacheClusterMessage { */ EngineVersion?: string; - /** - *

                                                      The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic - * to which notifications are sent.

                                                      - * - *

                                                      The Amazon SNS topic owner must be the same as the cluster owner.

                                                      - *
                                                      - */ - NotificationTopicArn?: string; - - /** - *

                                                      One or more VPC security groups associated with the cluster.

                                                      - *

                                                      Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

                                                      - */ - SecurityGroupIds?: string[]; - - /** - *

                                                      The name of the parameter group to associate with this cluster. - * If this argument is omitted, the default parameter group for the specified engine is used. - * You cannot use any parameter group which has cluster-enabled='yes' when creating a cluster.

                                                      - */ - CacheParameterGroupName?: string; - - /** - *

                                                      The initial number of cache nodes that the cluster has.

                                                      - *

                                                      For clusters running Redis, this value must be 1. - * For clusters running Memcached, this value must be between 1 and 20.

                                                      - *

                                                      If you need more than 20 nodes for your Memcached cluster, - * please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

                                                      - */ - NumCacheNodes?: number; - /** *

                                                      The compute and memory capacity of the nodes in the node group (shard).

                                                      *

                                                      The following node types are supported by ElastiCache. @@ -1945,29 +1893,74 @@ export interface CreateCacheClusterMessage { CacheNodeType?: string; /** - *

                                                      The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

                                                      - *

                                                      Example: 05:00-09:00 + *

                                                      Specifies the weekly time range during which maintenance + * on the cluster is performed. It is specified as a range in + * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum + * maintenance window is a 60 minute period. + * Valid values for ddd are:

                                                      + * + *

                                                      Specifies the weekly time range during which maintenance + * on the cluster is performed. It is specified as a range in + * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum + * maintenance window is a 60 minute period.

                                                      + *

                                                      Valid values for ddd are:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * sun + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * mon + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * tue + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * wed + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * thu + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * fri + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * sat + *

                                                        + *
                                                      • + *
                                                      + *

                                                      Example: sun:23:00-mon:01:30 *

                                                      - *

                                                      If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

                                                      - * - *

                                                      This parameter is only valid if the Engine parameter is redis.

                                                      - *
                                                      */ - SnapshotWindow?: string; + PreferredMaintenanceWindow?: string; /** - *

                                                      A list of cost allocation tags to be added to this resource.

                                                      + *

                                                      The name of the parameter group to associate with this cluster. + * If this argument is omitted, the default parameter group for the specified engine is used. + * You cannot use any parameter group which has cluster-enabled='yes' when creating a cluster.

                                                      */ - Tags?: Tag[]; + CacheParameterGroupName?: string; /** - *

                                                      The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.

                                                      - *

                                                      If the specified replication group is Multi-AZ enabled and the Availability Zone is not specified, the cluster is created in Availability Zones that provide the best spread of read replicas across Availability Zones.

                                                      - * - *

                                                      This parameter is only valid if the Engine parameter is redis.

                                                      - *
                                                      + *

                                                      Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or + * created across multiple Availability Zones in the cluster's region.

                                                      + *

                                                      This parameter is only supported for Memcached clusters.

                                                      + *

                                                      If the AZMode and PreferredAvailabilityZones are not specified, + * ElastiCache assumes single-az mode.

                                                      */ - ReplicationGroupId?: string; + AZMode?: AZMode | string; /** *

                                                      The number of days for which ElastiCache retains automatic snapshots before deleting them. @@ -1980,6 +1973,30 @@ export interface CreateCacheClusterMessage { */ SnapshotRetentionLimit?: number; + /** + *

                                                      A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies + * a Redis RDB snapshot file stored in Amazon S3. + * The snapshot file is used to populate the node group (shard). + * The Amazon S3 object name in the ARN cannot contain any commas.

                                                      + * + *

                                                      This parameter is only valid if the Engine parameter is redis.

                                                      + *
                                                      + *

                                                      Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb + *

                                                      + */ + SnapshotArns?: string[]; + + /** + *

                                                      The name of the subnet group to be used for the cluster.

                                                      + *

                                                      Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

                                                      + * + *

                                                      If you're going to launch your cluster in an Amazon VPC, + * you need to create a subnet group before you start creating a cluster. + * For more information, see Subnets and Subnet Groups.

                                                      + *
                                                      + */ + CacheSubnetGroupName?: string; + /** *

                                                      * Reserved parameter. @@ -2002,37 +2019,96 @@ export interface CreateCacheClusterMessage { AuthToken?: string; /** - *

                                                      The name of the subnet group to be used for the cluster.

                                                      - *

                                                      Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

                                                      - * - *

                                                      If you're going to launch your cluster in an Amazon VPC, - * you need to create a subnet group before you start creating a cluster. - * For more information, see Subnets and Subnet Groups.

                                                      - *
                                                      + *

                                                      The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

                                                      + *

                                                      Example: 05:00-09:00 + *

                                                      + *

                                                      If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

                                                      + * + *

                                                      This parameter is only valid if the Engine parameter is redis.

                                                      + *
                                                      */ - CacheSubnetGroupName?: string; + SnapshotWindow?: string; /** - *

                                                      A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies - * a Redis RDB snapshot file stored in Amazon S3. - * The snapshot file is used to populate the node group (shard). - * The Amazon S3 object name in the ARN cannot contain any commas.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic + * to which notifications are sent.

                                                      + * + *

                                                      The Amazon SNS topic owner must be the same as the cluster owner.

                                                      + *
                                                      + */ + NotificationTopicArn?: string; + + /** + *

                                                      The initial number of cache nodes that the cluster has.

                                                      + *

                                                      For clusters running Redis, this value must be 1. + * For clusters running Memcached, this value must be between 1 and 20.

                                                      + *

                                                      If you need more than 20 nodes for your Memcached cluster, + * please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

                                                      + */ + NumCacheNodes?: number; + + /** + *

                                                      The node group (shard) identifier. This parameter is stored as a lowercase string.

                                                      + *

                                                      + * Constraints: + *

                                                      + *
                                                        + *
                                                      • + *

                                                        A name must contain from 1 to 50 alphanumeric characters or hyphens.

                                                        + *
                                                      • + *
                                                      • + *

                                                        The first character must be a letter.

                                                        + *
                                                      • + *
                                                      • + *

                                                        A name cannot end with a hyphen or contain two consecutive hyphens.

                                                        + *
                                                      • + *
                                                      + */ + CacheClusterId: string | undefined; + + /** + *

                                                      The outpost ARN in which the cache cluster is created.

                                                      + */ + PreferredOutpostArn?: string; + + /** + *

                                                      The port number on which each of the cache nodes accepts connections.

                                                      + */ + Port?: number; + + /** + *

                                                      The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.

                                                      + *

                                                      If the specified replication group is Multi-AZ enabled and the Availability Zone is not specified, the cluster is created in Availability Zones that provide the best spread of read replicas across Availability Zones.

                                                      * *

                                                      This parameter is only valid if the Engine parameter is redis.

                                                      *
                                                      - *

                                                      Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb - *

                                                      */ - SnapshotArns?: string[]; + ReplicationGroupId?: string; /** - *

                                                      Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or - * created across multiple Availability Zones in the cluster's region.

                                                      - *

                                                      This parameter is only supported for Memcached clusters.

                                                      - *

                                                      If the AZMode and PreferredAvailabilityZones are not specified, - * ElastiCache assumes single-az mode.

                                                      + *

                                                      A list of cost allocation tags to be added to this resource.

                                                      */ - AZMode?: AZMode | string; + Tags?: Tag[]; + + /** + *

                                                      The name of a Redis snapshot from which to restore data into the new node group (shard). + * The snapshot status changes to restoring while the new node group (shard) is being created.

                                                      + * + *

                                                      This parameter is only valid if the Engine parameter is redis.

                                                      + *
                                                      + */ + SnapshotName?: string; + + /** + *

                                                      Specifies whether the nodes in the cluster are created in a single outpost or across multiple outposts.

                                                      + */ + OutpostMode?: OutpostMode | string; + + /** + *

                                                      A list of security group names to associate with this cluster.

                                                      + *

                                                      Use this parameter only when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC).

                                                      + */ + CacheSecurityGroupNames?: string[]; } export namespace CreateCacheClusterMessage { @@ -2216,15 +2292,14 @@ export namespace CreateCacheClusterMessage { */ export interface CacheNode { /** - *

                                                      The ID of the primary node to which this read replica node is synchronized. - * If this field is empty, this node is not associated with a primary cluster.

                                                      + *

                                                      The customer outpost ARN of the cache node.

                                                      */ - SourceCacheNodeId?: string; + CustomerOutpostArn?: string; /** - *

                                                      The date and time when the cache node was created.

                                                      + *

                                                      The hostname for connecting to this cache node.

                                                      */ - CacheNodeCreateTime?: Date; + Endpoint?: Endpoint; /** *

                                                      The status of the parameter group applied to this cache node.

                                                      @@ -2232,9 +2307,9 @@ export interface CacheNode { ParameterGroupStatus?: string; /** - *

                                                      The cache node identifier. A node ID is a numeric identifier (0001, 0002, etc.). The combination of cluster ID and node ID uniquely identifies every cache node used in a customer's AWS account.

                                                      + *

                                                      The Availability Zone where this node was created and now resides.

                                                      */ - CacheNodeId?: string; + CustomerAvailabilityZone?: string; /** *

                                                      The current state of this cache node, one of the following values: available, creating, rebooting, or deleting.

                                                      @@ -2242,14 +2317,20 @@ export interface CacheNode { CacheNodeStatus?: string; /** - *

                                                      The hostname for connecting to this cache node.

                                                      + *

                                                      The cache node identifier. A node ID is a numeric identifier (0001, 0002, etc.). The combination of cluster ID and node ID uniquely identifies every cache node used in a customer's AWS account.

                                                      */ - Endpoint?: Endpoint; + CacheNodeId?: string; /** - *

                                                      The Availability Zone where this node was created and now resides.

                                                      + *

                                                      The date and time when the cache node was created.

                                                      */ - CustomerAvailabilityZone?: string; + CacheNodeCreateTime?: Date; + + /** + *

                                                      The ID of the primary node to which this read replica node is synchronized. + * If this field is empty, this node is not associated with a primary cluster.

                                                      + */ + SourceCacheNodeId?: string; } export namespace CacheNode { @@ -2262,11 +2343,6 @@ export namespace CacheNode { *

                                                      Status of the cache parameter group.

                                                      */ export interface CacheParameterGroupStatus { - /** - *

                                                      The name of the cache parameter group.

                                                      - */ - CacheParameterGroupName?: string; - /** *

                                                      The status of parameter updates.

                                                      */ @@ -2277,6 +2353,11 @@ export interface CacheParameterGroupStatus { * A node ID is a numeric identifier (0001, 0002, etc.).

                                                      */ CacheNodeIdsToReboot?: string[]; + + /** + *

                                                      The name of the cache parameter group.

                                                      + */ + CacheParameterGroupName?: string; } export namespace CacheParameterGroupStatus { @@ -2313,14 +2394,14 @@ export namespace CacheSecurityGroupMembership { */ export interface NotificationConfiguration { /** - *

                                                      The current state of the topic.

                                                      + *

                                                      The Amazon Resource Name (ARN) that identifies the topic.

                                                      */ - TopicStatus?: string; + TopicArn?: string; /** - *

                                                      The Amazon Resource Name (ARN) that identifies the topic.

                                                      + *

                                                      The current state of the topic.

                                                      */ - TopicArn?: string; + TopicStatus?: string; } export namespace NotificationConfiguration { @@ -2335,17 +2416,14 @@ export namespace NotificationConfiguration { */ export interface PendingModifiedValues { /** - *

                                                      The new number of cache nodes for the cluster.

                                                      - *

                                                      For clusters running Redis, this value must be 1. - * For clusters running Memcached, this value must be between 1 and 20.

                                                      + *

                                                      The cache node type that this cluster or replication group is scaled to.

                                                      */ - NumCacheNodes?: number; + CacheNodeType?: string; /** - *

                                                      A list of cache node IDs that are being removed (or will be removed) from the cluster. - * A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

                                                      + *

                                                      The auth token status

                                                      */ - CacheNodeIdsToRemove?: string[]; + AuthTokenStatus?: AuthTokenUpdateStatus | string; /** *

                                                      The new cache engine version that the cluster runs.

                                                      @@ -2353,14 +2431,17 @@ export interface PendingModifiedValues { EngineVersion?: string; /** - *

                                                      The cache node type that this cluster or replication group is scaled to.

                                                      + *

                                                      A list of cache node IDs that are being removed (or will be removed) from the cluster. + * A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

                                                      */ - CacheNodeType?: string; + CacheNodeIdsToRemove?: string[]; /** - *

                                                      The auth token status

                                                      + *

                                                      The new number of cache nodes for the cluster.

                                                      + *

                                                      For clusters running Redis, this value must be 1. + * For clusters running Memcached, this value must be between 1 and 20.

                                                      */ - AuthTokenStatus?: AuthTokenUpdateStatus | string; + NumCacheNodes?: number; } export namespace PendingModifiedValues { @@ -2373,17 +2454,17 @@ export namespace PendingModifiedValues { *

                                                      Represents a single cache security group and its status.

                                                      */ export interface SecurityGroupMembership { - /** - *

                                                      The identifier of the cache security group.

                                                      - */ - SecurityGroupId?: string; - /** *

                                                      The status of the cache security group membership. * The status changes whenever a cache security group is modified, * or when the cache security groups assigned to a cluster are modified.

                                                      */ Status?: string; + + /** + *

                                                      The identifier of the cache security group.

                                                      + */ + SecurityGroupId?: string; } export namespace SecurityGroupMembership { @@ -2397,59 +2478,31 @@ export namespace SecurityGroupMembership { */ export interface CacheCluster { /** - *

                                                      The URL of the web page where you can download the latest ElastiCache client library.

                                                      - */ - ClientDownloadLandingPage?: string; - - /** - *

                                                      Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on - * the cluster, can be used by an application to connect to any node in the cluster. - * The configuration endpoint will always have .cfg in it.

                                                      - *

                                                      Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 - *

                                                      - */ - ConfigurationEndpoint?: Endpoint; - - /** - *

                                                      A group of settings that are applied to the cluster in the future, - * or that are currently being applied.

                                                      - */ - PendingModifiedValues?: PendingModifiedValues; - - /** - *

                                                      The number of days for which ElastiCache retains automatic cluster snapshots before - * deleting them. For example, if you set SnapshotRetentionLimit to 5, a - * snapshot that was taken today is retained for 5 days before being deleted.

                                                      - * - *

                                                      - * If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

                                                      - *
                                                      + *

                                                      The date the auth token was last modified

                                                      */ - SnapshotRetentionLimit?: number; + AuthTokenLastModifiedDate?: Date; /** - *

                                                      The date and time when the cluster was created.

                                                      + *

                                                      This parameter is currently disabled.

                                                      */ - CacheClusterCreateTime?: Date; + AutoMinorVersionUpgrade?: boolean; /** - *

                                                      The ARN (Amazon Resource Name) of the cache cluster.

                                                      + *

                                                      Describes a notification topic and its status. + * Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).

                                                      */ - ARN?: string; + NotificationConfiguration?: NotificationConfiguration; /** - *

                                                      A flag that enables using an AuthToken (password) - * when issuing Redis commands.

                                                      - *

                                                      Default: false - *

                                                      + *

                                                      The name of the cache engine (memcached or + * redis) to be used for this cluster.

                                                      */ - AuthTokenEnabled?: boolean; + Engine?: string; /** - *

                                                      The replication group to which this cluster belongs. - * If this field is empty, the cluster is not associated with any replication group.

                                                      + *

                                                      Status of the cache parameter group.

                                                      */ - ReplicationGroupId?: string; + CacheParameterGroup?: CacheParameterGroupStatus; /** *

                                                      The current state of this cluster, one of the following values: @@ -2466,111 +2519,9 @@ export interface CacheCluster { CacheClusterStatus?: string; /** - *

                                                      A list of VPC Security Groups associated with the cluster.

                                                      - */ - SecurityGroups?: SecurityGroupMembership[]; - - /** - *

                                                      The user-supplied identifier of the cluster. - * This identifier is a unique key that identifies a cluster.

                                                      - */ - CacheClusterId?: string; - - /** - *

                                                      A flag that enables in-transit encryption when set to true.

                                                      - *

                                                      You cannot modify the value of TransitEncryptionEnabled - * after the cluster is created. To enable in-transit encryption on a cluster - * you must set TransitEncryptionEnabled to true - * when you create a cluster.

                                                      - *

                                                      - * Required: - * Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

                                                      - *

                                                      Default: false - *

                                                      - */ - TransitEncryptionEnabled?: boolean; - - /** - *

                                                      A list of cache security group elements, composed of name and status sub-elements.

                                                      - */ - CacheSecurityGroups?: CacheSecurityGroupMembership[]; - - /** - *

                                                      The number of cache nodes in the cluster.

                                                      - *

                                                      For clusters running Redis, this value must be 1. For clusters running Memcached, - * this value must be between 1 and 20.

                                                      - */ - NumCacheNodes?: number; - - /** - *

                                                      Specifies the weekly time range during which maintenance - * on the cluster is performed. It is specified as a range in - * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum - * maintenance window is a 60 minute period.

                                                      - *

                                                      Valid values for ddd are:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * sun - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * mon - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tue - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * wed - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * thu - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * fri - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * sat - *

                                                        - *
                                                      • - *
                                                      - *

                                                      Example: sun:23:00-mon:01:30 - *

                                                      - */ - PreferredMaintenanceWindow?: string; - - /** - *

                                                      The name of the Availability Zone in which the cluster is located or "Multiple" - * if the cache nodes are located in different Availability Zones.

                                                      - */ - PreferredAvailabilityZone?: string; - - /** - *

                                                      This parameter is currently disabled.

                                                      - */ - AutoMinorVersionUpgrade?: boolean; - - /** - *

                                                      Describes a notification topic and its status. - * Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).

                                                      - */ - NotificationConfiguration?: NotificationConfiguration; - - /** - *

                                                      The date the auth token was last modified

                                                      + *

                                                      The name of the cache subnet group associated with the cluster.

                                                      */ - AuthTokenLastModifiedDate?: Date; + CacheSubnetGroupName?: string; /** *

                                                      The daily time range (in UTC) during which ElastiCache begins taking a @@ -2581,20 +2532,9 @@ export interface CacheCluster { SnapshotWindow?: string; /** - *

                                                      The name of the cache subnet group associated with the cluster.

                                                      - */ - CacheSubnetGroupName?: string; - - /** - *

                                                      The name of the cache engine (memcached or - * redis) to be used for this cluster.

                                                      - */ - Engine?: string; - - /** - *

                                                      Status of the cache parameter group.

                                                      + *

                                                      The ARN (Amazon Resource Name) of the cache cluster.

                                                      */ - CacheParameterGroup?: CacheParameterGroupStatus; + ARN?: string; /** *

                                                      A flag that enables encryption at-rest when set to true.

                                                      @@ -2610,6 +2550,11 @@ export interface CacheCluster { */ AtRestEncryptionEnabled?: boolean; + /** + *

                                                      A list of cache nodes that are members of the cluster.

                                                      + */ + CacheNodes?: CacheNode[]; + /** *

                                                      The name of the compute and memory capacity node type for the cluster.

                                                      * @@ -2789,33 +2734,174 @@ export interface CacheCluster { EngineVersion?: string; /** - *

                                                      A list of cache nodes that are members of the cluster.

                                                      + *

                                                      The date and time when the cluster was created.

                                                      */ - CacheNodes?: CacheNode[]; -} + CacheClusterCreateTime?: Date; -export namespace CacheCluster { - export const filterSensitiveLog = (obj: CacheCluster): any => ({ - ...obj, - }); -} + /** + *

                                                      The number of days for which ElastiCache retains automatic cluster snapshots before + * deleting them. For example, if you set SnapshotRetentionLimit to 5, a + * snapshot that was taken today is retained for 5 days before being deleted.

                                                      + * + *

                                                      + * If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

                                                      + *
                                                      + */ + SnapshotRetentionLimit?: number; -export interface CreateCacheClusterResult { /** - *

                                                      Contains all of the attributes of a specific cluster.

                                                      + *

                                                      The URL of the web page where you can download the latest ElastiCache client library.

                                                      */ - CacheCluster?: CacheCluster; -} + ClientDownloadLandingPage?: string; -export namespace CreateCacheClusterResult { - export const filterSensitiveLog = (obj: CreateCacheClusterResult): any => ({ - ...obj, - }); -} + /** + *

                                                      Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on + * the cluster, can be used by an application to connect to any node in the cluster. + * The configuration endpoint will always have .cfg in it.

                                                      + *

                                                      Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 + *

                                                      + */ + ConfigurationEndpoint?: Endpoint; -/** - *

                                                      The requested cache node type is not available in the specified Availability Zone. - * For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.

                                                      + /** + *

                                                      A group of settings that are applied to the cluster in the future, + * or that are currently being applied.

                                                      + */ + PendingModifiedValues?: PendingModifiedValues; + + /** + *

                                                      The user-supplied identifier of the cluster. + * This identifier is a unique key that identifies a cluster.

                                                      + */ + CacheClusterId?: string; + + /** + *

                                                      The number of cache nodes in the cluster.

                                                      + *

                                                      For clusters running Redis, this value must be 1. For clusters running Memcached, + * this value must be between 1 and 20.

                                                      + */ + NumCacheNodes?: number; + + /** + *

                                                      Specifies the weekly time range during which maintenance + * on the cluster is performed. It is specified as a range in + * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum + * maintenance window is a 60 minute period.

                                                      + *

                                                      Valid values for ddd are:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * sun + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * mon + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * tue + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * wed + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * thu + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * fri + *

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * sat + *

                                                        + *
                                                      • + *
                                                      + *

                                                      Example: sun:23:00-mon:01:30 + *

                                                      + */ + PreferredMaintenanceWindow?: string; + + /** + *

                                                      A list of cache security group elements, composed of name and status sub-elements.

                                                      + */ + CacheSecurityGroups?: CacheSecurityGroupMembership[]; + + /** + *

                                                      The name of the Availability Zone in which the cluster is located or "Multiple" + * if the cache nodes are located in different Availability Zones.

                                                      + */ + PreferredAvailabilityZone?: string; + + /** + *

                                                      A list of VPC Security Groups associated with the cluster.

                                                      + */ + SecurityGroups?: SecurityGroupMembership[]; + + /** + *

                                                      The replication group to which this cluster belongs. + * If this field is empty, the cluster is not associated with any replication group.

                                                      + */ + ReplicationGroupId?: string; + + /** + *

                                                      The outpost ARN in which the cache cluster is created.

                                                      + */ + PreferredOutpostArn?: string; + + /** + *

                                                      A flag that enables using an AuthToken (password) + * when issuing Redis commands.

                                                      + *

                                                      Default: false + *

                                                      + */ + AuthTokenEnabled?: boolean; + + /** + *

                                                      A flag that enables in-transit encryption when set to true.

                                                      + *

                                                      You cannot modify the value of TransitEncryptionEnabled + * after the cluster is created. To enable in-transit encryption on a cluster + * you must set TransitEncryptionEnabled to true + * when you create a cluster.

                                                      + *

                                                      + * Required: + * Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

                                                      + *

                                                      Default: false + *

                                                      + */ + TransitEncryptionEnabled?: boolean; +} + +export namespace CacheCluster { + export const filterSensitiveLog = (obj: CacheCluster): any => ({ + ...obj, + }); +} + +export interface CreateCacheClusterResult { + /** + *

                                                      Contains all of the attributes of a specific cluster.

                                                      + */ + CacheCluster?: CacheCluster; +} + +export namespace CreateCacheClusterResult { + export const filterSensitiveLog = (obj: CreateCacheClusterResult): any => ({ + ...obj, + }); +} + +/** + *

                                                      The requested cache node type is not available in the specified Availability Zone. + * For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.

                                                      */ export interface InsufficientCacheClusterCapacityFault extends __SmithyException, $MetadataBearer { name: "InsufficientCacheClusterCapacityFault"; @@ -2908,11 +2994,6 @@ export namespace CacheParameterGroupQuotaExceededFault { *

                                                      Represents the input of a CreateCacheParameterGroup operation.

                                                      */ export interface CreateCacheParameterGroupMessage { - /** - *

                                                      A user-specified name for the cache parameter group.

                                                      - */ - CacheParameterGroupName: string | undefined; - /** *

                                                      The name of the cache parameter group family that the cache parameter group can be used with.

                                                      *

                                                      Valid values are: @@ -2931,6 +3012,11 @@ export interface CreateCacheParameterGroupMessage { *

                                                      A user-specified description for the cache parameter group.

                                                      */ Description: string | undefined; + + /** + *

                                                      A user-specified name for the cache parameter group.

                                                      + */ + CacheParameterGroupName: string | undefined; } export namespace CreateCacheParameterGroupMessage { @@ -2943,21 +3029,11 @@ export namespace CreateCacheParameterGroupMessage { *

                                                      Represents the output of a CreateCacheParameterGroup operation.

                                                      */ export interface CacheParameterGroup { - /** - *

                                                      The description for this cache parameter group.

                                                      - */ - Description?: string; - /** *

                                                      The name of the cache parameter group.

                                                      */ CacheParameterGroupName?: string; - /** - *

                                                      Indicates whether the parameter group is associated with a Global Datastore

                                                      - */ - IsGlobal?: boolean; - /** *

                                                      The name of the cache parameter group family that this cache parameter group is compatible with.

                                                      *

                                                      Valid values are: @@ -2976,6 +3052,16 @@ export interface CacheParameterGroup { *

                                                      The ARN (Amazon Resource Name) of the cache parameter group.

                                                      */ ARN?: string; + + /** + *

                                                      Indicates whether the parameter group is associated with a Global Datastore

                                                      + */ + IsGlobal?: boolean; + + /** + *

                                                      The description for this cache parameter group.

                                                      + */ + Description?: string; } export namespace CacheParameterGroup { @@ -3046,6 +3132,11 @@ export namespace CacheSecurityGroupQuotaExceededFault { *

                                                      Represents the input of a CreateCacheSecurityGroup operation.

                                                      */ export interface CreateCacheSecurityGroupMessage { + /** + *

                                                      A description for the cache security group.

                                                      + */ + Description: string | undefined; + /** *

                                                      A name for the cache security group. This value is stored as a lowercase string.

                                                      *

                                                      Constraints: Must contain no more than 255 alphanumeric characters. Cannot be the word "Default".

                                                      @@ -3053,11 +3144,6 @@ export interface CreateCacheSecurityGroupMessage { *

                                                      */ CacheSecurityGroupName: string | undefined; - - /** - *

                                                      A description for the cache security group.

                                                      - */ - Description: string | undefined; } export namespace CreateCacheSecurityGroupMessage { @@ -3145,11 +3231,6 @@ export namespace CacheSubnetQuotaExceededFault { *

                                                      Represents the input of a CreateCacheSubnetGroup operation.

                                                      */ export interface CreateCacheSubnetGroupMessage { - /** - *

                                                      A list of VPC subnet IDs for the cache subnet group.

                                                      - */ - SubnetIds: string[] | undefined; - /** *

                                                      A description for the cache subnet group.

                                                      */ @@ -3162,6 +3243,11 @@ export interface CreateCacheSubnetGroupMessage { *

                                                      */ CacheSubnetGroupName: string | undefined; + + /** + *

                                                      A list of VPC subnet IDs for the cache subnet group.

                                                      + */ + SubnetIds: string[] | undefined; } export namespace CreateCacheSubnetGroupMessage { @@ -3186,6 +3272,22 @@ export namespace AvailabilityZone { }); } +/** + *

                                                      The ID of the outpost subnet.

                                                      + */ +export interface SubnetOutpost { + /** + *

                                                      The outpost ARN of the subnet.

                                                      + */ + SubnetOutpostArn?: string; +} + +export namespace SubnetOutpost { + export const filterSensitiveLog = (obj: SubnetOutpost): any => ({ + ...obj, + }); +} + /** *

                                                      Represents the subnet associated with a cluster. * This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with ElastiCache.

                                                      @@ -3196,6 +3298,11 @@ export interface Subnet { */ SubnetIdentifier?: string; + /** + *

                                                      The outpost ARN of the subnet.

                                                      + */ + SubnetOutpost?: SubnetOutpost; + /** *

                                                      The Availability Zone associated with the subnet.

                                                      */ @@ -3225,14 +3332,14 @@ export namespace Subnet { */ export interface CacheSubnetGroup { /** - *

                                                      A list of subnets associated with the cache subnet group.

                                                      + *

                                                      The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group.

                                                      */ - Subnets?: Subnet[]; + VpcId?: string; /** - *

                                                      The name of the cache subnet group.

                                                      + *

                                                      A list of subnets associated with the cache subnet group.

                                                      */ - CacheSubnetGroupName?: string; + Subnets?: Subnet[]; /** *

                                                      The ARN (Amazon Resource Name) of the cache subnet group.

                                                      @@ -3240,14 +3347,14 @@ export interface CacheSubnetGroup { ARN?: string; /** - *

                                                      The description of the cache subnet group.

                                                      + *

                                                      The name of the cache subnet group.

                                                      */ - CacheSubnetGroupDescription?: string; + CacheSubnetGroupName?: string; /** - *

                                                      The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group.

                                                      + *

                                                      The description of the cache subnet group.

                                                      */ - VpcId?: string; + CacheSubnetGroupDescription?: string; } export namespace CacheSubnetGroup { @@ -3296,21 +3403,39 @@ export namespace InvalidSubnet { }); } +/** + *

                                                      At least one subnet ID does not match the other subnet IDs. This mismatch typically occurs when a + * user sets one subnet ID to a regional Availability Zone and a different one to an outpost. Or when a user sets the subnet ID to an Outpost when not subscribed on this service.

                                                      + */ +export interface SubnetNotAllowedFault extends __SmithyException, $MetadataBearer { + name: "SubnetNotAllowedFault"; + $fault: "client"; + message?: string; +} + +export namespace SubnetNotAllowedFault { + export const filterSensitiveLog = (obj: SubnetNotAllowedFault): any => ({ + ...obj, + }); +} + export interface CreateGlobalReplicationGroupMessage { /** - *

                                                      The suffix name of a Global Datastore. The suffix guarantees uniqueness of the Global Datastore name across multiple regions.

                                                      + *

                                                      Provides details of the Global Datastore

                                                      */ - GlobalReplicationGroupIdSuffix: string | undefined; + GlobalReplicationGroupDescription?: string; /** - *

                                                      The name of the primary cluster that accepts writes and will replicate updates to the secondary cluster.

                                                      + *

                                                      The suffix name of a Global Datastore. Amazon ElastiCache automatically applies a prefix + * to the Global Datastore ID when it is created. Each AWS Region has its own prefix. For instance, a Global Datastore ID created in the US-West-1 region will begin with "dsdfu" along with the suffix name you provide. The suffix, combined with the auto-generated prefix, guarantees uniqueness of the Global Datastore name across multiple regions.

                                                      + *

                                                      For a full list of AWS Regions and their respective Global Datastore iD prefixes, see Using the AWS CLI with Global Datastores .

                                                      */ - PrimaryReplicationGroupId: string | undefined; + GlobalReplicationGroupIdSuffix: string | undefined; /** - *

                                                      Provides details of the Global Datastore

                                                      + *

                                                      The name of the primary cluster that accepts writes and will replicate updates to the secondary cluster.

                                                      */ - GlobalReplicationGroupDescription?: string; + PrimaryReplicationGroupId: string | undefined; } export namespace CreateGlobalReplicationGroupMessage { @@ -3345,14 +3470,14 @@ export namespace GlobalNodeGroup { */ export interface GlobalReplicationGroupMember { /** - *

                                                      Indicates the role of the replication group, primary or secondary.

                                                      + *

                                                      The AWS region of the Global Datastore member.

                                                      */ - Role?: string; + ReplicationGroupRegion?: string; /** - *

                                                      The AWS region of the Global Datastore member.

                                                      + *

                                                      Indicates whether automatic failover is enabled for the replication group.

                                                      */ - ReplicationGroupRegion?: string; + AutomaticFailover?: AutomaticFailoverStatus | string; /** *

                                                      The status of the membership of the replication group.

                                                      @@ -3365,9 +3490,9 @@ export interface GlobalReplicationGroupMember { ReplicationGroupId?: string; /** - *

                                                      Indicates whether automatic failover is enabled for the replication group.

                                                      + *

                                                      Indicates the role of the replication group, primary or secondary.

                                                      */ - AutomaticFailover?: AutomaticFailoverStatus | string; + Role?: string; } export namespace GlobalReplicationGroupMember { @@ -3390,14 +3515,17 @@ export namespace GlobalReplicationGroupMember { */ export interface GlobalReplicationGroup { /** - *

                                                      A flag that enables in-transit encryption when set to true. - * - * You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

                                                      + *

                                                      The replication groups that comprise the Global Datastore.

                                                      */ - TransitEncryptionEnabled?: boolean; + Members?: GlobalReplicationGroupMember[]; /** - *

                                                      A flag that indicates whether the Global Datastore is cluster enabled.

                                                      + *

                                                      The Elasticache engine. For Redis only.

                                                      + */ + Engine?: string; + + /** + *

                                                      A flag that indicates whether the Global Datastore is cluster enabled.

                                                      */ ClusterEnabled?: boolean; @@ -3407,25 +3535,20 @@ export interface GlobalReplicationGroup { GlobalReplicationGroupDescription?: string; /** - *

                                                      The replication groups that comprise the Global Datastore.

                                                      + *

                                                      The status of the Global Datastore

                                                      */ - Members?: GlobalReplicationGroupMember[]; + Status?: string; /** - *

                                                      The name of the Global Datastore

                                                      + *

                                                      Indicates the slot configuration and global identifier for each slice group.

                                                      */ - GlobalReplicationGroupId?: string; + GlobalNodeGroups?: GlobalNodeGroup[]; /** *

                                                      The ARN (Amazon Resource Name) of the global replication group.

                                                      */ ARN?: string; - /** - *

                                                      The Elasticache engine. For Redis only.

                                                      - */ - Engine?: string; - /** *

                                                      A flag that enables encryption at rest when set to true.

                                                      *

                                                      You cannot modify the value of AtRestEncryptionEnabled after the replication @@ -3439,32 +3562,34 @@ export interface GlobalReplicationGroup { AtRestEncryptionEnabled?: boolean; /** - *

                                                      A flag that enables using an AuthToken (password) - * when issuing Redis commands.

                                                      - *

                                                      Default: false - *

                                                      + *

                                                      The name of the Global Datastore

                                                      */ - AuthTokenEnabled?: boolean; + GlobalReplicationGroupId?: string; /** - *

                                                      The status of the Global Datastore

                                                      + *

                                                      The Elasticache Redis engine version. For preview, it is Redis version 5.0.5 only.

                                                      */ - Status?: string; + EngineVersion?: string; /** - *

                                                      Indicates the slot configuration and global identifier for each slice group.

                                                      + *

                                                      The cache node type of the Global Datastore

                                                      */ - GlobalNodeGroups?: GlobalNodeGroup[]; + CacheNodeType?: string; /** - *

                                                      The Elasticache Redis engine version. For preview, it is Redis version 5.0.5 only.

                                                      + *

                                                      A flag that enables in-transit encryption when set to true. + * + * You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

                                                      */ - EngineVersion?: string; + TransitEncryptionEnabled?: boolean; /** - *

                                                      The cache node type of the Global Datastore

                                                      + *

                                                      A flag that enables using an AuthToken (password) + * when issuing Redis commands.

                                                      + *

                                                      Default: false + *

                                                      */ - CacheNodeType?: string; + AuthTokenEnabled?: boolean; } export namespace GlobalReplicationGroup { @@ -3530,83 +3655,96 @@ export namespace ServiceLinkedRoleNotFoundFault { */ export interface CreateReplicationGroupMessage { /** - *

                                                      A flag that enables in-transit encryption when set to true.

                                                      - *

                                                      You cannot modify the value of TransitEncryptionEnabled - * after the cluster is created. To enable in-transit encryption on a cluster - * you must set TransitEncryptionEnabled to true - * when you create a cluster.

                                                      - *

                                                      This parameter is valid only if the Engine parameter is redis, - * the EngineVersion parameter is 3.2.6, 4.x or later, - * and the cluster is being created in an Amazon VPC.

                                                      - *

                                                      If you enable in-transit encryption, you must also specify a value for - * CacheSubnetGroup.

                                                      - *

                                                      - * Required: - * Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

                                                      - *

                                                      Default: false - *

                                                      - * - *

                                                      For HIPAA compliance, you must specify TransitEncryptionEnabled as true, - * an AuthToken, and a CacheSubnetGroup.

                                                      - *
                                                      - */ - TransitEncryptionEnabled?: boolean; - - /** - *

                                                      The name of the cache engine to be used for the clusters in this replication group.

                                                      + *

                                                      A list of cost allocation tags to be added to this resource. + * Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: + * Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.

                                                      */ - Engine?: string; + Tags?: Tag[]; /** - *

                                                      The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

                                                      - *

                                                      Example: 05:00-09:00 - *

                                                      - *

                                                      If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

                                                      + *

                                                      The list of user groups to associate with the replication group.

                                                      */ - SnapshotWindow?: string; + UserGroupIds?: string[]; /** - *

                                                      - * Reserved parameter. - * The password used to access a password protected server.

                                                      - *

                                                      - * AuthToken can be specified only on replication groups where TransitEncryptionEnabled is - * true.

                                                      - * - *

                                                      For HIPAA compliance, you must specify TransitEncryptionEnabled as true, - * an AuthToken, and a CacheSubnetGroup.

                                                      - *
                                                      - *

                                                      Password constraints:

                                                      - *
                                                        + *

                                                        Specifies the weekly time range during which maintenance + * on the cluster is performed. It is specified as a range in + * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum + * maintenance window is a 60 minute period. + * Valid values for ddd are:

                                                        + * + *

                                                        Specifies the weekly time range during which maintenance + * on the cluster is performed. It is specified as a range in + * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum + * maintenance window is a 60 minute period.

                                                        + *

                                                        Valid values for ddd are:

                                                        + *
                                                          *
                                                        • - *

                                                          Must be only printable ASCII characters.

                                                          + *

                                                          + * sun + *

                                                          *
                                                        • *
                                                        • - *

                                                          Must be at least 16 characters and no more than 128 - * characters in length.

                                                          + *

                                                          + * mon + *

                                                          *
                                                        • *
                                                        • - *

                                                          The only permitted printable special characters are !, &, #, $, ^, <, >, and -. Other printable special characters cannot be used in the AUTH token.

                                                          + *

                                                          + * tue + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * wed + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * thu + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * fri + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * sat + *

                                                          *
                                                        • *
                                                        - *

                                                        For more information, see AUTH password at http://redis.io/commands/AUTH.

                                                        + *

                                                        Example: sun:23:00-mon:01:30 + *

                                                        */ - AuthToken?: string; + PreferredMaintenanceWindow?: string; /** - *

                                                        The name of the cache subnet group to be used for the replication group.

                                                        - * - *

                                                        If you're going to launch your cluster in an Amazon VPC, - * you need to create a subnet group before you start creating a cluster. - * For more information, see Subnets and Subnet Groups.

                                                        - *
                                                        + *

                                                        The identifier of the cluster that serves as the primary for this replication + * group. This cluster must already exist and have a status of available.

                                                        + *

                                                        This parameter is not required if NumCacheClusters, + * NumNodeGroups, or + * ReplicasPerNodeGroup is specified.

                                                        */ - CacheSubnetGroupName?: string; + PrimaryClusterId?: string; /** - *

                                                        The port number on which each member of the replication group accepts connections.

                                                        + *

                                                        An optional parameter that specifies the number of replica nodes in each node group (shard). + * Valid values are 0 to 5.

                                                        */ - Port?: number; + ReplicasPerNodeGroup?: number; + + /** + *

                                                        The ID of the KMS key used to encrypt the disk in the cluster.

                                                        + */ + KmsKeyId?: string; + + /** + *

                                                        The name of a snapshot from which to restore data into the new replication group. + * The snapshot status changes to restoring while the new replication group is being created.

                                                        + */ + SnapshotName?: string; /** *

                                                        A flag that enables encryption at rest when set to true.

                                                        @@ -3623,67 +3761,123 @@ export interface CreateReplicationGroupMessage { AtRestEncryptionEnabled?: boolean; /** - *

                                                        The identifier of the cluster that serves as the primary for this replication - * group. This cluster must already exist and have a status of available.

                                                        - *

                                                        This parameter is not required if NumCacheClusters, - * NumNodeGroups, or - * ReplicasPerNodeGroup is specified.

                                                        + *

                                                        An optional parameter that specifies the number of node groups (shards) for this Redis (cluster mode enabled) replication group. + * For Redis (cluster mode disabled) either omit this parameter or set it to 1.

                                                        + *

                                                        Default: 1

                                                        */ - PrimaryClusterId?: string; + NumNodeGroups?: number; /** - *

                                                        The name of the Global Datastore

                                                        + *

                                                        The number of days for which ElastiCache retains automatic snapshots before deleting them. + * For example, if you set SnapshotRetentionLimit to 5, + * a snapshot that was taken today is retained for 5 days before being deleted.

                                                        + *

                                                        Default: 0 (i.e., automatic backups are disabled for this cluster).

                                                        */ - GlobalReplicationGroupId?: string; + SnapshotRetentionLimit?: number; /** - *

                                                        Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.

                                                        - * - *

                                                        - * AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) replication groups.

                                                        - * - *

                                                        Default: false

                                                        + *

                                                        A list of cache security group names to associate with this replication group.

                                                        */ - AutomaticFailoverEnabled?: boolean; + CacheSecurityGroupNames?: string[]; /** - *

                                                        A list of EC2 Availability Zones in which the replication group's clusters are created. - * The order of the Availability Zones in the list is the order in which clusters are allocated. - * The primary cluster is created in the first AZ in the list.

                                                        - *

                                                        This parameter is not used if there is more than one node group (shard). - * You should use NodeGroupConfiguration instead.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) + * topic to which notifications are sent.

                                                        * - *

                                                        If you are creating your replication group in an Amazon VPC (recommended), - * you can only locate clusters in Availability Zones associated with the subnets in the selected subnet group.

                                                        - *

                                                        The number of Availability Zones listed must equal the value of NumCacheClusters.

                                                        + *

                                                        The Amazon SNS topic owner must be the same as the cluster owner.

                                                        *
                                                        - *

                                                        Default: system chosen Availability Zones.

                                                        */ - PreferredCacheClusterAZs?: string[]; + NotificationTopicArn?: string; /** - *

                                                        A user-created description for the replication group.

                                                        + *

                                                        The name of the parameter group to associate with this replication group. + * If this argument is omitted, the default cache parameter group for the specified engine is + * used.

                                                        + * + *

                                                        If you are restoring to an engine version that is different than the original, you must specify the default version of that version. For example, CacheParameterGroupName=default.redis4.0.

                                                        + *
                                                        + *

                                                        If you are running Redis version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, + * we recommend that you specify the parameter group by name.

                                                        + *
                                                          + *
                                                        • + *

                                                          To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2.

                                                          + *
                                                        • + *
                                                        • + *

                                                          To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on.

                                                          + *
                                                        • + *
                                                        */ - ReplicationGroupDescription: string | undefined; + CacheParameterGroupName?: string; /** - *

                                                        One or more Amazon VPC security groups associated with this replication group.

                                                        - *

                                                        Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud (Amazon VPC).

                                                        + *

                                                        The replication group identifier. This parameter is stored as a lowercase string.

                                                        + * + *

                                                        Constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          A name must contain from 1 to 40 alphanumeric characters or hyphens.

                                                          + *
                                                        • + *
                                                        • + *

                                                          The first character must be a letter.

                                                          + *
                                                        • + *
                                                        • + *

                                                          A name cannot end with a hyphen or contain two consecutive hyphens.

                                                          + *
                                                        • + *
                                                        */ - SecurityGroupIds?: string[]; + ReplicationGroupId: string | undefined; /** - *

                                                        The version number of the cache engine to be used for the clusters in this replication group. - * To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

                                                        - * - *

                                                        - * Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, - * but you cannot downgrade to an earlier engine version. - * If you want to use an earlier engine version, - * you must delete the existing cluster or replication group and - * create it anew with the earlier engine version.

                                                        + *

                                                        The name of the cache engine to be used for the clusters in this replication group.

                                                        */ - EngineVersion?: string; + Engine?: string; + + /** + *

                                                        The number of clusters this replication group initially has.

                                                        + *

                                                        This parameter is not used if there is more than one node group (shard). + * You should use ReplicasPerNodeGroup instead.

                                                        + *

                                                        If AutomaticFailoverEnabled is true, the value of this parameter must be at least 2. + * If AutomaticFailoverEnabled is false you can omit this parameter (it will default to 1), or you + * can explicitly set it to a value between 2 and 6.

                                                        + *

                                                        The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas).

                                                        + */ + NumCacheClusters?: number; + + /** + *

                                                        The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

                                                        + *

                                                        Example: 05:00-09:00 + *

                                                        + *

                                                        If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

                                                        + */ + SnapshotWindow?: string; + + /** + *

                                                        A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ.

                                                        + */ + MultiAZEnabled?: boolean; + + /** + *

                                                        A flag that enables in-transit encryption when set to true.

                                                        + *

                                                        You cannot modify the value of TransitEncryptionEnabled + * after the cluster is created. To enable in-transit encryption on a cluster + * you must set TransitEncryptionEnabled to true + * when you create a cluster.

                                                        + *

                                                        This parameter is valid only if the Engine parameter is redis, + * the EngineVersion parameter is 3.2.6, 4.x or later, + * and the cluster is being created in an Amazon VPC.

                                                        + *

                                                        If you enable in-transit encryption, you must also specify a value for + * CacheSubnetGroup.

                                                        + *

                                                        + * Required: + * Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

                                                        + *

                                                        Default: false + *

                                                        + * + *

                                                        For HIPAA compliance, you must specify TransitEncryptionEnabled as true, + * an AuthToken, and a CacheSubnetGroup.

                                                        + *
                                                        + */ + TransitEncryptionEnabled?: boolean; /** *

                                                        The compute and memory capacity of the nodes in the node group (shard).

                                                        @@ -3858,54 +4052,47 @@ export interface CreateReplicationGroupMessage { CacheNodeType?: string; /** - *

                                                        The name of a snapshot from which to restore data into the new replication group. - * The snapshot status changes to restoring while the new replication group is being created.

                                                        - */ - SnapshotName?: string; - - /** - *

                                                        The number of days for which ElastiCache retains automatic snapshots before deleting them. - * For example, if you set SnapshotRetentionLimit to 5, - * a snapshot that was taken today is retained for 5 days before being deleted.

                                                        - *

                                                        Default: 0 (i.e., automatic backups are disabled for this cluster).

                                                        - */ - SnapshotRetentionLimit?: number; - - /** - *

                                                        An optional parameter that specifies the number of replica nodes in each node group (shard). - * Valid values are 0 to 5.

                                                        - */ - ReplicasPerNodeGroup?: number; - - /** - *

                                                        The number of clusters this replication group initially has.

                                                        - *

                                                        This parameter is not used if there is more than one node group (shard). - * You should use ReplicasPerNodeGroup instead.

                                                        - *

                                                        If AutomaticFailoverEnabled is true, the value of this parameter must be at least 2. - * If AutomaticFailoverEnabled is false you can omit this parameter (it will default to 1), or you - * can explicitly set it to a value between 2 and 6.

                                                        - *

                                                        The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas).

                                                        - */ - NumCacheClusters?: number; - - /** - *

                                                        A list of cost allocation tags to be added to this resource. - * Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: - * Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.

                                                        + *

                                                        This parameter is currently disabled.

                                                        */ - Tags?: Tag[]; + AutoMinorVersionUpgrade?: boolean; /** - *

                                                        An optional parameter that specifies the number of node groups (shards) for this Redis (cluster mode enabled) replication group. - * For Redis (cluster mode disabled) either omit this parameter or set it to 1.

                                                        - *

                                                        Default: 1

                                                        + *

                                                        + * Reserved parameter. + * The password used to access a password protected server.

                                                        + *

                                                        + * AuthToken can be specified only on replication groups where TransitEncryptionEnabled is + * true.

                                                        + * + *

                                                        For HIPAA compliance, you must specify TransitEncryptionEnabled as true, + * an AuthToken, and a CacheSubnetGroup.

                                                        + *
                                                        + *

                                                        Password constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          Must be only printable ASCII characters.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Must be at least 16 characters and no more than 128 + * characters in length.

                                                          + *
                                                        • + *
                                                        • + *

                                                          The only permitted printable special characters are !, &, #, $, ^, <, >, and -. Other printable special characters cannot be used in the AUTH token.

                                                          + *
                                                        • + *
                                                        + *

                                                        For more information, see AUTH password at http://redis.io/commands/AUTH.

                                                        */ - NumNodeGroups?: number; + AuthToken?: string; /** - *

                                                        A list of cache security group names to associate with this replication group.

                                                        + *

                                                        Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.

                                                        + * + *

                                                        + * AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) replication groups.

                                                        + * + *

                                                        Default: false

                                                        */ - CacheSecurityGroupNames?: string[]; + AutomaticFailoverEnabled?: boolean; /** *

                                                        A list of node group (shard) configuration options. @@ -3922,9 +4109,19 @@ export interface CreateReplicationGroupMessage { NodeGroupConfiguration?: NodeGroupConfiguration[]; /** - *

                                                        The ID of the KMS key used to encrypt the disk in the cluster.

                                                        + *

                                                        A list of EC2 Availability Zones in which the replication group's clusters are created. + * The order of the Availability Zones in the list is the order in which clusters are allocated. + * The primary cluster is created in the first AZ in the list.

                                                        + *

                                                        This parameter is not used if there is more than one node group (shard). + * You should use NodeGroupConfiguration instead.

                                                        + * + *

                                                        If you are creating your replication group in an Amazon VPC (recommended), + * you can only locate clusters in Availability Zones associated with the subnets in the selected subnet group.

                                                        + *

                                                        The number of Availability Zones listed must equal the value of NumCacheClusters.

                                                        + *
                                                        + *

                                                        Default: system chosen Availability Zones.

                                                        */ - KmsKeyId?: string; + PreferredCacheClusterAZs?: string[]; /** *

                                                        A list of Amazon Resource Names (ARN) that uniquely identify @@ -3941,289 +4138,549 @@ export interface CreateReplicationGroupMessage { SnapshotArns?: string[]; /** - *

                                                        The name of the parameter group to associate with this replication group. - * If this argument is omitted, the default cache parameter group for the specified engine is - * used.

                                                        - * - *

                                                        If you are restoring to an engine version that is different than the original, you must specify the default version of that version. For example, CacheParameterGroupName=default.redis4.0.

                                                        - *
                                                        - *

                                                        If you are running Redis version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, - * we recommend that you specify the parameter group by name.

                                                        - *
                                                          - *
                                                        • - *

                                                          To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2.

                                                          - *
                                                        • - *
                                                        • - *

                                                          To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on.

                                                          - *
                                                        • - *
                                                        + *

                                                        The name of the Global Datastore

                                                        */ - CacheParameterGroupName?: string; + GlobalReplicationGroupId?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) - * topic to which notifications are sent.

                                                        - * - *

                                                        The Amazon SNS topic owner must be the same as the cluster owner.

                                                        - *
                                                        + *

                                                        The name of the cache subnet group to be used for the replication group.

                                                        + * + *

                                                        If you're going to launch your cluster in an Amazon VPC, + * you need to create a subnet group before you start creating a cluster. + * For more information, see Subnets and Subnet Groups.

                                                        + *
                                                        */ - NotificationTopicArn?: string; + CacheSubnetGroupName?: string; /** - *

                                                        A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ.

                                                        + *

                                                        A user-created description for the replication group.

                                                        */ - MultiAZEnabled?: boolean; + ReplicationGroupDescription: string | undefined; /** - *

                                                        The replication group identifier. This parameter is stored as a lowercase string.

                                                        - * - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          A name must contain from 1 to 40 alphanumeric characters or hyphens.

                                                          - *
                                                        • - *
                                                        • - *

                                                          The first character must be a letter.

                                                          - *
                                                        • - *
                                                        • - *

                                                          A name cannot end with a hyphen or contain two consecutive hyphens.

                                                          - *
                                                        • - *
                                                        + *

                                                        One or more Amazon VPC security groups associated with this replication group.

                                                        + *

                                                        Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud (Amazon VPC).

                                                        */ - ReplicationGroupId: string | undefined; + SecurityGroupIds?: string[]; /** - *

                                                        Specifies the weekly time range during which maintenance - * on the cluster is performed. It is specified as a range in - * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum - * maintenance window is a 60 minute period. - * Valid values for ddd are:

                                                        + *

                                                        The version number of the cache engine to be used for the clusters in this replication group. + * To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

                                                        * - *

                                                        Specifies the weekly time range during which maintenance - * on the cluster is performed. It is specified as a range in - * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum - * maintenance window is a 60 minute period.

                                                        - *

                                                        Valid values for ddd are:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * sun - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * mon - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * tue - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * wed - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * thu - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * fri - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * sat - *

                                                          - *
                                                        • - *
                                                        - *

                                                        Example: sun:23:00-mon:01:30 - *

                                                        + *

                                                        + * Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, + * but you cannot downgrade to an earlier engine version. + * If you want to use an earlier engine version, + * you must delete the existing cluster or replication group and + * create it anew with the earlier engine version.

                                                        + */ + EngineVersion?: string; + + /** + *

                                                        The port number on which each member of the replication group accepts connections.

                                                        + */ + Port?: number; +} + +export namespace CreateReplicationGroupMessage { + export const filterSensitiveLog = (obj: CreateReplicationGroupMessage): any => ({ + ...obj, + }); +} + +export interface CreateReplicationGroupResult { + /** + *

                                                        Contains all of the attributes of a specific Redis replication group.

                                                        + */ + ReplicationGroup?: ReplicationGroup; +} + +export namespace CreateReplicationGroupResult { + export const filterSensitiveLog = (obj: CreateReplicationGroupResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        The Global Datastore does not exist

                                                        + */ +export interface GlobalReplicationGroupNotFoundFault extends __SmithyException, $MetadataBearer { + name: "GlobalReplicationGroupNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace GlobalReplicationGroupNotFoundFault { + export const filterSensitiveLog = (obj: GlobalReplicationGroupNotFoundFault): any => ({ + ...obj, + }); +} + +/** + *

                                                        The requested cluster is not in the available state.

                                                        + */ +export interface InvalidCacheClusterStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidCacheClusterStateFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidCacheClusterStateFault { + export const filterSensitiveLog = (obj: InvalidCacheClusterStateFault): any => ({ + ...obj, + }); +} + +/** + *

                                                        The Global Datastore is not available or in primary-only state.

                                                        + */ +export interface InvalidGlobalReplicationGroupStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidGlobalReplicationGroupStateFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidGlobalReplicationGroupStateFault { + export const filterSensitiveLog = (obj: InvalidGlobalReplicationGroupStateFault): any => ({ + ...obj, + }); +} + +/** + *

                                                        The user group is not in an active state.

                                                        + */ +export interface InvalidUserGroupStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidUserGroupStateFault"; + $fault: "client"; + message?: string; +} + +export namespace InvalidUserGroupStateFault { + export const filterSensitiveLog = (obj: InvalidUserGroupStateFault): any => ({ + ...obj, + }); +} + +/** + *

                                                        The request cannot be processed because it would exceed the maximum allowed number + * of node groups (shards) in a single replication group. The default maximum is 90

                                                        + */ +export interface NodeGroupsPerReplicationGroupQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "NodeGroupsPerReplicationGroupQuotaExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace NodeGroupsPerReplicationGroupQuotaExceededFault { + export const filterSensitiveLog = (obj: NodeGroupsPerReplicationGroupQuotaExceededFault): any => ({ + ...obj, + }); +} + +/** + *

                                                        The specified replication group already exists.

                                                        + */ +export interface ReplicationGroupAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "ReplicationGroupAlreadyExistsFault"; + $fault: "client"; + message?: string; +} + +export namespace ReplicationGroupAlreadyExistsFault { + export const filterSensitiveLog = (obj: ReplicationGroupAlreadyExistsFault): any => ({ + ...obj, + }); +} + +/** + *

                                                        The user group was not found or does not exist

                                                        + */ +export interface UserGroupNotFoundFault extends __SmithyException, $MetadataBearer { + name: "UserGroupNotFoundFault"; + $fault: "client"; + message?: string; +} + +export namespace UserGroupNotFoundFault { + export const filterSensitiveLog = (obj: UserGroupNotFoundFault): any => ({ + ...obj, + }); +} + +/** + *

                                                        Represents the input of a CreateSnapshot operation.

                                                        + */ +export interface CreateSnapshotMessage { + /** + *

                                                        A name for the snapshot being created.

                                                        + */ + SnapshotName: string | undefined; + + /** + *

                                                        The identifier of an existing cluster. The snapshot is created from this cluster.

                                                        + */ + CacheClusterId?: string; + + /** + *

                                                        The ID of the KMS key used to encrypt the snapshot.

                                                        + */ + KmsKeyId?: string; + + /** + *

                                                        The identifier of an existing replication group. The snapshot is created from this replication group.

                                                        + */ + ReplicationGroupId?: string; +} + +export namespace CreateSnapshotMessage { + export const filterSensitiveLog = (obj: CreateSnapshotMessage): any => ({ + ...obj, + }); +} + +export interface CreateSnapshotResult { + /** + *

                                                        Represents a copy of an entire Redis cluster as of the time when the snapshot was taken.

                                                        + */ + Snapshot?: Snapshot; +} + +export namespace CreateSnapshotResult { + export const filterSensitiveLog = (obj: CreateSnapshotResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        You attempted one of the following operations:

                                                        + *
                                                          + *
                                                        • + *

                                                          Creating a snapshot of a Redis cluster running on a cache.t1.micro cache + * node.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Creating a snapshot of a cluster that is running Memcached rather than Redis.

                                                          + *
                                                        • + *
                                                        + *

                                                        Neither of these are supported by ElastiCache.

                                                        + */ +export interface SnapshotFeatureNotSupportedFault extends __SmithyException, $MetadataBearer { + name: "SnapshotFeatureNotSupportedFault"; + $fault: "client"; + message?: string; +} + +export namespace SnapshotFeatureNotSupportedFault { + export const filterSensitiveLog = (obj: SnapshotFeatureNotSupportedFault): any => ({ + ...obj, + }); +} + +export interface CreateUserMessage { + /** + *

                                                        Must be Redis.

                                                        + */ + Engine: string | undefined; + + /** + *

                                                        Indicates a password is not required for this user account.

                                                        + */ + NoPasswordRequired?: boolean; + + /** + *

                                                        The username of the user.

                                                        + */ + UserName: string | undefined; + + /** + *

                                                        Access permissions string used for this user account.

                                                        + */ + AccessString: string | undefined; + + /** + *

                                                        The ID of the user.

                                                        + */ + UserId: string | undefined; + + /** + *

                                                        Passwords used for this user account. You can create up to two passwords for each user.

                                                        + */ + Passwords?: string[]; +} + +export namespace CreateUserMessage { + export const filterSensitiveLog = (obj: CreateUserMessage): any => ({ + ...obj, + }); +} + +/** + *

                                                        A user with this username already exists.

                                                        + */ +export interface DuplicateUserNameFault extends __SmithyException, $MetadataBearer { + name: "DuplicateUserNameFault"; + $fault: "client"; + message?: string; +} + +export namespace DuplicateUserNameFault { + export const filterSensitiveLog = (obj: DuplicateUserNameFault): any => ({ + ...obj, + }); +} + +export enum AuthenticationType { + NO_PASSWORD = "no-password", + PASSWORD = "password", +} + +/** + *

                                                        Indicates whether the user requires a password to authenticate.

                                                        + */ +export interface Authentication { + /** + *

                                                        The number of passwords belonging to the user. The maximum is two.

                                                        + */ + PasswordCount?: number; + + /** + *

                                                        Indicates whether the user requires a password to authenticate.

                                                        + */ + Type?: AuthenticationType | string; +} + +export namespace Authentication { + export const filterSensitiveLog = (obj: Authentication): any => ({ + ...obj, + }); +} + +export interface User { + /** + *

                                                        Indicates the user status. Can be "active", "modifying" or "deleting".

                                                        + */ + Status?: string; + + /** + *

                                                        The username of the user.

                                                        + */ + UserName?: string; + + /** + *

                                                        Returns a list of the user group IDs the user belongs to.

                                                        + */ + UserGroupIds?: string[]; + + /** + *

                                                        Access permissions string used for this user account.

                                                        + */ + AccessString?: string; + + /** + *

                                                        The ID of the user.

                                                        */ - PreferredMaintenanceWindow?: string; + UserId?: string; /** - *

                                                        This parameter is currently disabled.

                                                        + *

                                                        Denotes whether the user requires a password to authenticate.

                                                        */ - AutoMinorVersionUpgrade?: boolean; -} + Authentication?: Authentication; -export namespace CreateReplicationGroupMessage { - export const filterSensitiveLog = (obj: CreateReplicationGroupMessage): any => ({ - ...obj, - }); -} + /** + *

                                                        The Amazon Resource Name (ARN) of the user account.

                                                        + */ + ARN?: string; -export interface CreateReplicationGroupResult { /** - *

                                                        Contains all of the attributes of a specific Redis replication group.

                                                        + *

                                                        Must be Redis.

                                                        */ - ReplicationGroup?: ReplicationGroup; + Engine?: string; } -export namespace CreateReplicationGroupResult { - export const filterSensitiveLog = (obj: CreateReplicationGroupResult): any => ({ +export namespace User { + export const filterSensitiveLog = (obj: User): any => ({ ...obj, }); } /** - *

                                                        The Global Datastore does not exist

                                                        + *

                                                        A user with this ID already exists.

                                                        */ -export interface GlobalReplicationGroupNotFoundFault extends __SmithyException, $MetadataBearer { - name: "GlobalReplicationGroupNotFoundFault"; +export interface UserAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "UserAlreadyExistsFault"; $fault: "client"; message?: string; } -export namespace GlobalReplicationGroupNotFoundFault { - export const filterSensitiveLog = (obj: GlobalReplicationGroupNotFoundFault): any => ({ +export namespace UserAlreadyExistsFault { + export const filterSensitiveLog = (obj: UserAlreadyExistsFault): any => ({ ...obj, }); } /** - *

                                                        The requested cluster is not in the available state.

                                                        + *

                                                        The quota of users has been exceeded.

                                                        */ -export interface InvalidCacheClusterStateFault extends __SmithyException, $MetadataBearer { - name: "InvalidCacheClusterStateFault"; +export interface UserQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "UserQuotaExceededFault"; $fault: "client"; message?: string; } -export namespace InvalidCacheClusterStateFault { - export const filterSensitiveLog = (obj: InvalidCacheClusterStateFault): any => ({ +export namespace UserQuotaExceededFault { + export const filterSensitiveLog = (obj: UserQuotaExceededFault): any => ({ ...obj, }); } -/** - *

                                                        The Global Datastore is not available or in primary-only state.

                                                        - */ -export interface InvalidGlobalReplicationGroupStateFault extends __SmithyException, $MetadataBearer { - name: "InvalidGlobalReplicationGroupStateFault"; - $fault: "client"; - message?: string; +export interface CreateUserGroupMessage { + /** + *

                                                        The list of user IDs that belong to the user group.

                                                        + */ + UserIds?: string[]; + + /** + *

                                                        Must be Redis.

                                                        + */ + Engine: string | undefined; + + /** + *

                                                        The ID of the user group.

                                                        + */ + UserGroupId: string | undefined; } -export namespace InvalidGlobalReplicationGroupStateFault { - export const filterSensitiveLog = (obj: InvalidGlobalReplicationGroupStateFault): any => ({ +export namespace CreateUserGroupMessage { + export const filterSensitiveLog = (obj: CreateUserGroupMessage): any => ({ ...obj, }); } /** - *

                                                        The request cannot be processed because it would exceed the maximum allowed number - * of node groups (shards) in a single replication group. The default maximum is 90

                                                        + *

                                                        You must add default user to a user group.

                                                        */ -export interface NodeGroupsPerReplicationGroupQuotaExceededFault extends __SmithyException, $MetadataBearer { - name: "NodeGroupsPerReplicationGroupQuotaExceededFault"; +export interface DefaultUserRequired extends __SmithyException, $MetadataBearer { + name: "DefaultUserRequired"; $fault: "client"; message?: string; } -export namespace NodeGroupsPerReplicationGroupQuotaExceededFault { - export const filterSensitiveLog = (obj: NodeGroupsPerReplicationGroupQuotaExceededFault): any => ({ +export namespace DefaultUserRequired { + export const filterSensitiveLog = (obj: DefaultUserRequired): any => ({ ...obj, }); } /** - *

                                                        The specified replication group already exists.

                                                        + *

                                                        Returns the updates being applied to the user group.

                                                        */ -export interface ReplicationGroupAlreadyExistsFault extends __SmithyException, $MetadataBearer { - name: "ReplicationGroupAlreadyExistsFault"; - $fault: "client"; - message?: string; +export interface UserGroupPendingChanges { + /** + *

                                                        The list of user IDs to add.

                                                        + */ + UserIdsToAdd?: string[]; + + /** + *

                                                        The list of user group IDs ro remove.

                                                        + */ + UserIdsToRemove?: string[]; } -export namespace ReplicationGroupAlreadyExistsFault { - export const filterSensitiveLog = (obj: ReplicationGroupAlreadyExistsFault): any => ({ +export namespace UserGroupPendingChanges { + export const filterSensitiveLog = (obj: UserGroupPendingChanges): any => ({ ...obj, }); } -/** - *

                                                        Represents the input of a CreateSnapshot operation.

                                                        - */ -export interface CreateSnapshotMessage { +export interface UserGroup { /** - *

                                                        The identifier of an existing cluster. The snapshot is created from this cluster.

                                                        + *

                                                        Indicates user group status. Can be "creating", "active", "modifying", "deleting".

                                                        */ - CacheClusterId?: string; + Status?: string; /** - *

                                                        A name for the snapshot being created.

                                                        + *

                                                        Must be Redis.

                                                        */ - SnapshotName: string | undefined; + Engine?: string; /** - *

                                                        The ID of the KMS key used to encrypt the snapshot.

                                                        + *

                                                        The list of user IDs that belong to the user group.

                                                        */ - KmsKeyId?: string; + UserIds?: string[]; /** - *

                                                        The identifier of an existing replication group. The snapshot is created from this replication group.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the user group.

                                                        */ - ReplicationGroupId?: string; + ARN?: string; + + /** + *

                                                        The ID of the user group.

                                                        + */ + UserGroupId?: string; + + /** + *

                                                        A list of updates being applied to the user groups.

                                                        + */ + PendingChanges?: UserGroupPendingChanges; + + /** + *

                                                        A list of replication groups that the user group can access.

                                                        + */ + ReplicationGroups?: string[]; } -export namespace CreateSnapshotMessage { - export const filterSensitiveLog = (obj: CreateSnapshotMessage): any => ({ +export namespace UserGroup { + export const filterSensitiveLog = (obj: UserGroup): any => ({ ...obj, }); } -export interface CreateSnapshotResult { - /** - *

                                                        Represents a copy of an entire Redis cluster as of the time when the snapshot was taken.

                                                        - */ - Snapshot?: Snapshot; +/** + *

                                                        The user group with this ID already exists.

                                                        + */ +export interface UserGroupAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "UserGroupAlreadyExistsFault"; + $fault: "client"; + message?: string; } -export namespace CreateSnapshotResult { - export const filterSensitiveLog = (obj: CreateSnapshotResult): any => ({ +export namespace UserGroupAlreadyExistsFault { + export const filterSensitiveLog = (obj: UserGroupAlreadyExistsFault): any => ({ ...obj, }); } /** - *

                                                        You attempted one of the following operations:

                                                        - *
                                                          - *
                                                        • - *

                                                          Creating a snapshot of a Redis cluster running on a cache.t1.micro cache - * node.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Creating a snapshot of a cluster that is running Memcached rather than Redis.

                                                          - *
                                                        • - *
                                                        - *

                                                        Neither of these are supported by ElastiCache.

                                                        + *

                                                        The number of users exceeds the user group limit.

                                                        */ -export interface SnapshotFeatureNotSupportedFault extends __SmithyException, $MetadataBearer { - name: "SnapshotFeatureNotSupportedFault"; +export interface UserGroupQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "UserGroupQuotaExceededFault"; $fault: "client"; message?: string; } -export namespace SnapshotFeatureNotSupportedFault { - export const filterSensitiveLog = (obj: SnapshotFeatureNotSupportedFault): any => ({ +export namespace UserGroupQuotaExceededFault { + export const filterSensitiveLog = (obj: UserGroupQuotaExceededFault): any => ({ ...obj, }); } -export interface DecreaseNodeGroupsInGlobalReplicationGroupMessage { - /** - *

                                                        If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. - * - * ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.

                                                        - */ - GlobalNodeGroupsToRemove?: string[]; +/** + *

                                                        The user does not exist or could not be found.

                                                        + */ +export interface UserNotFoundFault extends __SmithyException, $MetadataBearer { + name: "UserNotFoundFault"; + $fault: "client"; + message?: string; +} +export namespace UserNotFoundFault { + export const filterSensitiveLog = (obj: UserNotFoundFault): any => ({ + ...obj, + }); +} + +export interface DecreaseNodeGroupsInGlobalReplicationGroupMessage { /** *

                                                        The name of the Global Datastore

                                                        */ @@ -4245,6 +4702,13 @@ export interface DecreaseNodeGroupsInGlobalReplicationGroupMessage { * ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.

                                                        */ GlobalNodeGroupsToRetain?: string[]; + + /** + *

                                                        If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. + * + * ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.

                                                        + */ + GlobalNodeGroupsToRemove?: string[]; } export namespace DecreaseNodeGroupsInGlobalReplicationGroupMessage { @@ -4313,6 +4777,11 @@ export interface ConfigureShard { */ NewReplicaCount: number | undefined; + /** + *

                                                        The outpost ARNs in which the cache cluster is created.

                                                        + */ + PreferredOutpostArns?: string[]; + /** *

                                                        The 4-digit id for the node group you are configuring. For Redis (cluster mode disabled) * replication groups, the node group id is always 0001. To find a Redis (cluster mode enabled)'s @@ -4328,18 +4797,6 @@ export namespace ConfigureShard { } export interface DecreaseReplicaCountMessage { - /** - *

                                                        A list of the node ids to remove from the replication group or node group (shard).

                                                        - */ - ReplicasToRemove?: string[]; - - /** - *

                                                        If True, the number of replica nodes is decreased immediately. - * - * ApplyImmediately=False is not currently supported.

                                                        - */ - ApplyImmediately: boolean | undefined; - /** *

                                                        The number of read replica nodes you want at the completion of this operation. * For Redis (cluster mode disabled) replication groups, this is the number of replica nodes in the @@ -4365,6 +4822,16 @@ export interface DecreaseReplicaCountMessage { */ NewReplicaCount?: number; + /** + *

                                                        A list of the node ids to remove from the replication group or node group (shard).

                                                        + */ + ReplicasToRemove?: string[]; + + /** + *

                                                        The id of the replication group from which you want to remove replica nodes.

                                                        + */ + ReplicationGroupId: string | undefined; + /** *

                                                        A list of ConfigureShard objects that can be used to configure each shard * in a Redis (cluster mode enabled) replication group. The ConfigureShard has three members: @@ -4373,9 +4840,11 @@ export interface DecreaseReplicaCountMessage { ReplicaConfiguration?: ConfigureShard[]; /** - *

                                                        The id of the replication group from which you want to remove replica nodes.

                                                        + *

                                                        If True, the number of replica nodes is decreased immediately. + * + * ApplyImmediately=False is not currently supported.

                                                        */ - ReplicationGroupId: string | undefined; + ApplyImmediately: boolean | undefined; } export namespace DecreaseReplicaCountMessage { @@ -4417,15 +4886,15 @@ export namespace NoOperationFault { */ export interface DeleteCacheClusterMessage { /** - *

                                                        The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. - * ElastiCache creates the snapshot, and then deletes the cluster immediately afterward.

                                                        + *

                                                        The cluster identifier for the cluster to be deleted. This parameter is not case sensitive.

                                                        */ - FinalSnapshotIdentifier?: string; + CacheClusterId: string | undefined; /** - *

                                                        The cluster identifier for the cluster to be deleted. This parameter is not case sensitive.

                                                        + *

                                                        The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. + * ElastiCache creates the snapshot, and then deletes the cluster immediately afterward.

                                                        */ - CacheClusterId: string | undefined; + FinalSnapshotIdentifier?: string; } export namespace DeleteCacheClusterMessage { @@ -4519,14 +4988,14 @@ export namespace DeleteCacheSubnetGroupMessage { export interface DeleteGlobalReplicationGroupMessage { /** - *

                                                        The name of the Global Datastore

                                                        + *

                                                        The primary replication group is retained as a standalone replication group.

                                                        */ - GlobalReplicationGroupId: string | undefined; + RetainPrimaryReplicationGroup: boolean | undefined; /** - *

                                                        The primary replication group is retained as a standalone replication group.

                                                        + *

                                                        The name of the Global Datastore

                                                        */ - RetainPrimaryReplicationGroup: boolean | undefined; + GlobalReplicationGroupId: string | undefined; } export namespace DeleteGlobalReplicationGroupMessage { @@ -4562,10 +5031,12 @@ export namespace DeleteGlobalReplicationGroupResult { */ export interface DeleteReplicationGroupMessage { /** - *

                                                        If set to true, all of the read replicas are deleted, - * but the primary node is retained.

                                                        + *

                                                        The name of a final node group (shard) snapshot. + * ElastiCache creates the snapshot from the primary node in the cluster, + * rather than one of the replicas; this is to ensure that it captures the freshest data. + * After the final snapshot is taken, the replication group is immediately deleted.

                                                        */ - RetainPrimaryCluster?: boolean; + FinalSnapshotIdentifier?: string; /** *

                                                        The identifier for the cluster to be deleted. This parameter is not case sensitive.

                                                        @@ -4573,12 +5044,10 @@ export interface DeleteReplicationGroupMessage { ReplicationGroupId: string | undefined; /** - *

                                                        The name of a final node group (shard) snapshot. - * ElastiCache creates the snapshot from the primary node in the cluster, - * rather than one of the replicas; this is to ensure that it captures the freshest data. - * After the final snapshot is taken, the replication group is immediately deleted.

                                                        + *

                                                        If set to true, all of the read replicas are deleted, + * but the primary node is retained.

                                                        */ - FinalSnapshotIdentifier?: string; + RetainPrimaryCluster?: boolean; } export namespace DeleteReplicationGroupMessage { @@ -4587,44 +5056,100 @@ export namespace DeleteReplicationGroupMessage { }); } -export interface DeleteReplicationGroupResult { +export interface DeleteReplicationGroupResult { + /** + *

                                                        Contains all of the attributes of a specific Redis replication group.

                                                        + */ + ReplicationGroup?: ReplicationGroup; +} + +export namespace DeleteReplicationGroupResult { + export const filterSensitiveLog = (obj: DeleteReplicationGroupResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        Represents the input of a DeleteSnapshot operation.

                                                        + */ +export interface DeleteSnapshotMessage { + /** + *

                                                        The name of the snapshot to be deleted.

                                                        + */ + SnapshotName: string | undefined; +} + +export namespace DeleteSnapshotMessage { + export const filterSensitiveLog = (obj: DeleteSnapshotMessage): any => ({ + ...obj, + }); +} + +export interface DeleteSnapshotResult { + /** + *

                                                        Represents a copy of an entire Redis cluster as of the time when the snapshot was taken.

                                                        + */ + Snapshot?: Snapshot; +} + +export namespace DeleteSnapshotResult { + export const filterSensitiveLog = (obj: DeleteSnapshotResult): any => ({ + ...obj, + }); +} + +/** + *

                                                        + */ +export interface DefaultUserAssociatedToUserGroupFault extends __SmithyException, $MetadataBearer { + name: "DefaultUserAssociatedToUserGroupFault"; + $fault: "client"; + message?: string; +} + +export namespace DefaultUserAssociatedToUserGroupFault { + export const filterSensitiveLog = (obj: DefaultUserAssociatedToUserGroupFault): any => ({ + ...obj, + }); +} + +export interface DeleteUserMessage { /** - *

                                                        Contains all of the attributes of a specific Redis replication group.

                                                        + *

                                                        The ID of the user.

                                                        */ - ReplicationGroup?: ReplicationGroup; + UserId: string | undefined; } -export namespace DeleteReplicationGroupResult { - export const filterSensitiveLog = (obj: DeleteReplicationGroupResult): any => ({ +export namespace DeleteUserMessage { + export const filterSensitiveLog = (obj: DeleteUserMessage): any => ({ ...obj, }); } /** - *

                                                        Represents the input of a DeleteSnapshot operation.

                                                        + *

                                                        The user is not in active state.

                                                        */ -export interface DeleteSnapshotMessage { - /** - *

                                                        The name of the snapshot to be deleted.

                                                        - */ - SnapshotName: string | undefined; +export interface InvalidUserStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidUserStateFault"; + $fault: "client"; + message?: string; } -export namespace DeleteSnapshotMessage { - export const filterSensitiveLog = (obj: DeleteSnapshotMessage): any => ({ +export namespace InvalidUserStateFault { + export const filterSensitiveLog = (obj: InvalidUserStateFault): any => ({ ...obj, }); } -export interface DeleteSnapshotResult { +export interface DeleteUserGroupMessage { /** - *

                                                        Represents a copy of an entire Redis cluster as of the time when the snapshot was taken.

                                                        + *

                                                        The ID of the user group.

                                                        */ - Snapshot?: Snapshot; + UserGroupId: string | undefined; } -export namespace DeleteSnapshotResult { - export const filterSensitiveLog = (obj: DeleteSnapshotResult): any => ({ +export namespace DeleteUserGroupMessage { + export const filterSensitiveLog = (obj: DeleteUserGroupMessage): any => ({ ...obj, }); } @@ -4634,14 +5159,14 @@ export namespace DeleteSnapshotResult { */ export interface CacheClusterMessage { /** - *

                                                        A list of clusters. Each item in the list contains detailed information about one cluster.

                                                        + *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        */ - CacheClusters?: CacheCluster[]; + Marker?: string; /** - *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        + *

                                                        A list of clusters. Each item in the list contains detailed information about one cluster.

                                                        */ - Marker?: string; + CacheClusters?: CacheCluster[]; } export namespace CacheClusterMessage { @@ -4654,12 +5179,6 @@ export namespace CacheClusterMessage { *

                                                        Represents the input of a DescribeCacheClusters operation.

                                                        */ export interface DescribeCacheClustersMessage { - /** - *

                                                        An optional flag that can be included in the DescribeCacheCluster request - * to retrieve information about the individual cache nodes.

                                                        - */ - ShowCacheNodeInfo?: boolean; - /** *

                                                        An optional flag that can be included in the DescribeCacheCluster request * to show only nodes (API/CLI: clusters) that are not members of a replication group. @@ -4668,14 +5187,10 @@ export interface DescribeCacheClustersMessage { ShowCacheClustersNotInReplicationGroups?: boolean; /** - *

                                                        The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a marker is included in the response so that - * the remaining results can be retrieved.

                                                        - * - *

                                                        Default: 100

                                                        - *

                                                        Constraints: minimum 20; maximum 100.

                                                        + *

                                                        The user-supplied cluster identifier. If this parameter is specified, only information + * about that specific cluster is returned. This parameter isn't case sensitive.

                                                        */ - MaxRecords?: number; + CacheClusterId?: string; /** *

                                                        An optional marker returned from a prior request. @@ -4686,10 +5201,20 @@ export interface DescribeCacheClustersMessage { Marker?: string; /** - *

                                                        The user-supplied cluster identifier. If this parameter is specified, only information - * about that specific cluster is returned. This parameter isn't case sensitive.

                                                        + *

                                                        An optional flag that can be included in the DescribeCacheCluster request + * to retrieve information about the individual cache nodes.

                                                        */ - CacheClusterId?: string; + ShowCacheNodeInfo?: boolean; + + /** + *

                                                        The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a marker is included in the response so that + * the remaining results can be retrieved.

                                                        + * + *

                                                        Default: 100

                                                        + *

                                                        Constraints: minimum 20; maximum 100.

                                                        + */ + MaxRecords?: number; } export namespace DescribeCacheClustersMessage { @@ -4707,6 +5232,11 @@ export interface CacheEngineVersion { */ Engine?: string; + /** + *

                                                        The version number of the cache engine.

                                                        + */ + EngineVersion?: string; + /** *

                                                        The description of the cache engine.

                                                        */ @@ -4730,11 +5260,6 @@ export interface CacheEngineVersion { *

                                                        The description of the cache engine version.

                                                        */ CacheEngineVersionDescription?: string; - - /** - *

                                                        The version number of the cache engine.

                                                        - */ - EngineVersion?: string; } export namespace CacheEngineVersion { @@ -4747,16 +5272,16 @@ export namespace CacheEngineVersion { *

                                                        Represents the output of a DescribeCacheEngineVersions operation.

                                                        */ export interface CacheEngineVersionMessage { - /** - *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        - */ - Marker?: string; - /** *

                                                        A list of cache engine version details. * Each element in the list contains detailed information about one cache engine version.

                                                        */ CacheEngineVersions?: CacheEngineVersion[]; + + /** + *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        + */ + Marker?: string; } export namespace CacheEngineVersionMessage { @@ -4769,13 +5294,6 @@ export namespace CacheEngineVersionMessage { *

                                                        Represents the input of a DescribeCacheEngineVersions operation.

                                                        */ export interface DescribeCacheEngineVersionsMessage { - /** - *

                                                        The cache engine version to return.

                                                        - *

                                                        Example: 1.4.14 - *

                                                        - */ - EngineVersion?: string; - /** *

                                                        If true, specifies that only the default version of the specified engine or engine * and major version combination is to be returned.

                                                        @@ -4783,10 +5301,11 @@ export interface DescribeCacheEngineVersionsMessage { DefaultOnly?: boolean; /** - *

                                                        The cache engine to return. Valid values: memcached | redis + *

                                                        The cache engine version to return.

                                                        + *

                                                        Example: 1.4.14 *

                                                        */ - Engine?: string; + EngineVersion?: string; /** *

                                                        An optional marker returned from a prior request. Use this marker for pagination of results from this operation. @@ -4795,6 +5314,16 @@ export interface DescribeCacheEngineVersionsMessage { */ Marker?: string; + /** + *

                                                        The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a marker is included in the response so that + * the remaining results can be retrieved.

                                                        + * + *

                                                        Default: 100

                                                        + *

                                                        Constraints: minimum 20; maximum 100.

                                                        + */ + MaxRecords?: number; + /** *

                                                        The name of a specific cache parameter group family to return details for.

                                                        *

                                                        Valid values are: @@ -4822,14 +5351,10 @@ export interface DescribeCacheEngineVersionsMessage { CacheParameterGroupFamily?: string; /** - *

                                                        The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a marker is included in the response so that - * the remaining results can be retrieved.

                                                        - * - *

                                                        Default: 100

                                                        - *

                                                        Constraints: minimum 20; maximum 100.

                                                        + *

                                                        The cache engine to return. Valid values: memcached | redis + *

                                                        */ - MaxRecords?: number; + Engine?: string; } export namespace DescribeCacheEngineVersionsMessage { @@ -4842,16 +5367,16 @@ export namespace DescribeCacheEngineVersionsMessage { *

                                                        Represents the output of a DescribeCacheParameterGroups operation.

                                                        */ export interface CacheParameterGroupsMessage { - /** - *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        - */ - Marker?: string; - /** *

                                                        A list of cache parameter groups. Each element in the list contains detailed information * about one cache parameter group.

                                                        */ CacheParameterGroups?: CacheParameterGroup[]; + + /** + *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        + */ + Marker?: string; } export namespace CacheParameterGroupsMessage { @@ -4864,16 +5389,6 @@ export namespace CacheParameterGroupsMessage { *

                                                        Represents the input of a DescribeCacheParameterGroups operation.

                                                        */ export interface DescribeCacheParameterGroupsMessage { - /** - *

                                                        The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a marker is included in the response so that - * the remaining results can be retrieved.

                                                        - * - *

                                                        Default: 100

                                                        - *

                                                        Constraints: minimum 20; maximum 100.

                                                        - */ - MaxRecords?: number; - /** *

                                                        An optional marker returned from a prior request. Use this marker for pagination of results from this operation. * If this parameter is specified, the response includes only records beyond the marker, up to the @@ -4885,6 +5400,16 @@ export interface DescribeCacheParameterGroupsMessage { *

                                                        The name of a specific cache parameter group to return details for.

                                                        */ CacheParameterGroupName?: string; + + /** + *

                                                        The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a marker is included in the response so that + * the remaining results can be retrieved.

                                                        + * + *

                                                        Default: 100

                                                        + *

                                                        Constraints: minimum 20; maximum 100.

                                                        + */ + MaxRecords?: number; } export namespace DescribeCacheParameterGroupsMessage { @@ -4923,17 +5448,14 @@ export type ChangeType = "immediate" | "requires-reboot"; */ export interface CacheNodeTypeSpecificParameter { /** - *

                                                        A description of the parameter.

                                                        + *

                                                        A list of cache node types and their corresponding values for this parameter.

                                                        */ - Description?: string; + CacheNodeTypeSpecificValues?: CacheNodeTypeSpecificValue[]; /** - *

                                                        Indicates whether a change to the parameter is applied immediately - * or requires a reboot for the change to be applied. - * You can force a reboot or wait until the next maintenance window's reboot. - * For more information, see Rebooting a Cluster.

                                                        + *

                                                        The valid range of values for the parameter.

                                                        */ - ChangeType?: ChangeType | string; + AllowedValues?: string; /** *

                                                        Indicates whether (true) or not (false) the parameter can be @@ -4943,34 +5465,37 @@ export interface CacheNodeTypeSpecificParameter { IsModifiable?: boolean; /** - *

                                                        The name of the parameter.

                                                        + *

                                                        A description of the parameter.

                                                        */ - ParameterName?: string; + Description?: string; /** - *

                                                        The source of the parameter value.

                                                        + *

                                                        The earliest cache engine version to which the parameter can apply.

                                                        */ - Source?: string; + MinimumEngineVersion?: string; /** - *

                                                        The valid data type for the parameter.

                                                        + *

                                                        Indicates whether a change to the parameter is applied immediately + * or requires a reboot for the change to be applied. + * You can force a reboot or wait until the next maintenance window's reboot. + * For more information, see Rebooting a Cluster.

                                                        */ - DataType?: string; + ChangeType?: ChangeType | string; /** - *

                                                        The earliest cache engine version to which the parameter can apply.

                                                        + *

                                                        The name of the parameter.

                                                        */ - MinimumEngineVersion?: string; + ParameterName?: string; /** - *

                                                        A list of cache node types and their corresponding values for this parameter.

                                                        + *

                                                        The source of the parameter value.

                                                        */ - CacheNodeTypeSpecificValues?: CacheNodeTypeSpecificValue[]; + Source?: string; /** - *

                                                        The valid range of values for the parameter.

                                                        + *

                                                        The valid data type for the parameter.

                                                        */ - AllowedValues?: string; + DataType?: string; } export namespace CacheNodeTypeSpecificParameter { @@ -4983,6 +5508,17 @@ export namespace CacheNodeTypeSpecificParameter { *

                                                        Describes an individual setting that controls some aspect of ElastiCache behavior.

                                                        */ export interface Parameter { + /** + *

                                                        The valid range of values for the parameter.

                                                        + */ + AllowedValues?: string; + + /** + *

                                                        Indicates whether (true) or not (false) the parameter can be modified. + * Some parameters have security or operational implications that prevent them from being changed.

                                                        + */ + IsModifiable?: boolean; + /** *

                                                        A description of the parameter.

                                                        */ @@ -4997,20 +5533,19 @@ export interface Parameter { ChangeType?: ChangeType | string; /** - *

                                                        Indicates whether (true) or not (false) the parameter can be modified. - * Some parameters have security or operational implications that prevent them from being changed.

                                                        + *

                                                        The earliest cache engine version to which the parameter can apply.

                                                        */ - IsModifiable?: boolean; + MinimumEngineVersion?: string; /** - *

                                                        The name of the parameter.

                                                        + *

                                                        The value of the parameter.

                                                        */ - ParameterName?: string; + ParameterValue?: string; /** - *

                                                        The source of the parameter.

                                                        + *

                                                        The name of the parameter.

                                                        */ - Source?: string; + ParameterName?: string; /** *

                                                        The valid data type for the parameter.

                                                        @@ -5018,19 +5553,9 @@ export interface Parameter { DataType?: string; /** - *

                                                        The earliest cache engine version to which the parameter can apply.

                                                        - */ - MinimumEngineVersion?: string; - - /** - *

                                                        The valid range of values for the parameter.

                                                        - */ - AllowedValues?: string; - - /** - *

                                                        The value of the parameter.

                                                        + *

                                                        The source of the parameter.

                                                        */ - ParameterValue?: string; + Source?: string; } export namespace Parameter { @@ -5043,6 +5568,12 @@ export namespace Parameter { *

                                                        Represents the output of a DescribeCacheParameters operation.

                                                        */ export interface CacheParameterGroupDetails { + /** + *

                                                        A list of parameters specific to a particular cache node type. + * Each element in the list contains detailed information about one parameter.

                                                        + */ + CacheNodeTypeSpecificParameters?: CacheNodeTypeSpecificParameter[]; + /** *

                                                        A list of Parameter instances.

                                                        */ @@ -5052,12 +5583,6 @@ export interface CacheParameterGroupDetails { *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        */ Marker?: string; - - /** - *

                                                        A list of parameters specific to a particular cache node type. - * Each element in the list contains detailed information about one parameter.

                                                        - */ - CacheNodeTypeSpecificParameters?: CacheNodeTypeSpecificParameter[]; } export namespace CacheParameterGroupDetails { @@ -5112,14 +5637,14 @@ export namespace DescribeCacheParametersMessage { */ export interface CacheSecurityGroupMessage { /** - *

                                                        A list of cache security groups. Each element in the list contains detailed information about one group.

                                                        + *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        */ - CacheSecurityGroups?: CacheSecurityGroup[]; + Marker?: string; /** - *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        + *

                                                        A list of cache security groups. Each element in the list contains detailed information about one group.

                                                        */ - Marker?: string; + CacheSecurityGroups?: CacheSecurityGroup[]; } export namespace CacheSecurityGroupMessage { @@ -5132,22 +5657,22 @@ export namespace CacheSecurityGroupMessage { *

                                                        Represents the input of a DescribeCacheSecurityGroups operation.

                                                        */ export interface DescribeCacheSecurityGroupsMessage { - /** - *

                                                        The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a marker is included in the response so that - * the remaining results can be retrieved.

                                                        - * - *

                                                        Default: 100

                                                        - *

                                                        Constraints: minimum 20; maximum 100.

                                                        - */ - MaxRecords?: number; - /** *

                                                        An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this * parameter is specified, the response includes only records beyond the marker, up to the * value specified by MaxRecords.

                                                        */ - Marker?: string; + Marker?: string; + + /** + *

                                                        The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a marker is included in the response so that + * the remaining results can be retrieved.

                                                        + * + *

                                                        Default: 100

                                                        + *

                                                        Constraints: minimum 20; maximum 100.

                                                        + */ + MaxRecords?: number; /** *

                                                        The name of the cache security group to return details for.

                                                        @@ -5186,16 +5711,6 @@ export namespace CacheSubnetGroupMessage { *

                                                        Represents the input of a DescribeCacheSubnetGroups operation.

                                                        */ export interface DescribeCacheSubnetGroupsMessage { - /** - *

                                                        The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a marker is included in the response so that - * the remaining results can be retrieved.

                                                        - * - *

                                                        Default: 100

                                                        - *

                                                        Constraints: minimum 20; maximum 100.

                                                        - */ - MaxRecords?: number; - /** *

                                                        An optional marker returned from a prior request. * Use this marker for pagination of results from this operation. @@ -5208,6 +5723,16 @@ export interface DescribeCacheSubnetGroupsMessage { *

                                                        The name of the cache subnet group to return details for.

                                                        */ CacheSubnetGroupName?: string; + + /** + *

                                                        The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a marker is included in the response so that + * the remaining results can be retrieved.

                                                        + * + *

                                                        Default: 100

                                                        + *

                                                        Constraints: minimum 20; maximum 100.

                                                        + */ + MaxRecords?: number; } export namespace DescribeCacheSubnetGroupsMessage { @@ -5220,6 +5745,23 @@ export namespace DescribeCacheSubnetGroupsMessage { *

                                                        Represents the input of a DescribeEngineDefaultParameters operation.

                                                        */ export interface DescribeEngineDefaultParametersMessage { + /** + *

                                                        The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a marker is included in the response so that + * the remaining results can be retrieved.

                                                        + * + *

                                                        Default: 100

                                                        + *

                                                        Constraints: minimum 20; maximum 100.

                                                        + */ + MaxRecords?: number; + + /** + *

                                                        An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this + * parameter is specified, the response includes only records beyond the marker, up to the + * value specified by MaxRecords.

                                                        + */ + Marker?: string; + /** *

                                                        The name of the cache parameter group family.

                                                        *

                                                        Valid values are: @@ -5233,23 +5775,6 @@ export interface DescribeEngineDefaultParametersMessage { *

                                                        */ CacheParameterGroupFamily: string | undefined; - - /** - *

                                                        An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this - * parameter is specified, the response includes only records beyond the marker, up to the - * value specified by MaxRecords.

                                                        - */ - Marker?: string; - - /** - *

                                                        The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a marker is included in the response so that - * the remaining results can be retrieved.

                                                        - * - *

                                                        Default: 100

                                                        - *

                                                        Constraints: minimum 20; maximum 100.

                                                        - */ - MaxRecords?: number; } export namespace DescribeEngineDefaultParametersMessage { @@ -5262,6 +5787,16 @@ export namespace DescribeEngineDefaultParametersMessage { *

                                                        Represents the output of a DescribeEngineDefaultParameters operation.

                                                        */ export interface EngineDefaults { + /** + *

                                                        Contains a list of engine default parameters.

                                                        + */ + Parameters?: Parameter[]; + + /** + *

                                                        A list of parameters specific to a particular cache node type. Each element in the list contains detailed information about one parameter.

                                                        + */ + CacheNodeTypeSpecificParameters?: CacheNodeTypeSpecificParameter[]; + /** *

                                                        Specifies the name of the cache parameter group family to which the engine default parameters apply.

                                                        *

                                                        Valid values are: @@ -5280,16 +5815,6 @@ export interface EngineDefaults { *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        */ Marker?: string; - - /** - *

                                                        A list of parameters specific to a particular cache node type. Each element in the list contains detailed information about one parameter.

                                                        - */ - CacheNodeTypeSpecificParameters?: CacheNodeTypeSpecificParameter[]; - - /** - *

                                                        Contains a list of engine default parameters.

                                                        - */ - Parameters?: Parameter[]; } export namespace EngineDefaults { @@ -5316,12 +5841,20 @@ export type SourceType = | "cache-parameter-group" | "cache-security-group" | "cache-subnet-group" - | "replication-group"; + | "replication-group" + | "user" + | "user-group"; /** *

                                                        Represents the input of a DescribeEvents operation.

                                                        */ export interface DescribeEventsMessage { + /** + *

                                                        The event source to retrieve events for. + * If no value is specified, all events are returned.

                                                        + */ + SourceType?: SourceType | string; + /** *

                                                        The end of the time interval for which to retrieve events, specified in ISO 8601 format.

                                                        *

                                                        @@ -5329,30 +5862,6 @@ export interface DescribeEventsMessage { */ EndTime?: Date; - /** - *

                                                        The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a marker is included in the response so that - * the remaining results can be retrieved.

                                                        - * - *

                                                        Default: 100

                                                        - *

                                                        Constraints: minimum 20; maximum 100.

                                                        - */ - MaxRecords?: number; - - /** - *

                                                        An optional marker returned from a prior request. - * Use this marker for pagination of results from this operation. - * If this parameter is specified, the response includes only records beyond the marker, - * up to the value specified by MaxRecords.

                                                        - */ - Marker?: string; - - /** - *

                                                        The event source to retrieve events for. - * If no value is specified, all events are returned.

                                                        - */ - SourceType?: SourceType | string; - /** *

                                                        The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

                                                        *

                                                        @@ -5366,10 +5875,28 @@ export interface DescribeEventsMessage { */ SourceIdentifier?: string; + /** + *

                                                        An optional marker returned from a prior request. + * Use this marker for pagination of results from this operation. + * If this parameter is specified, the response includes only records beyond the marker, + * up to the value specified by MaxRecords.

                                                        + */ + Marker?: string; + /** *

                                                        The number of minutes worth of events to retrieve.

                                                        */ Duration?: number; + + /** + *

                                                        The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a marker is included in the response so that + * the remaining results can be retrieved.

                                                        + * + *

                                                        Default: 100

                                                        + *

                                                        Constraints: minimum 20; maximum 100.

                                                        + */ + MaxRecords?: number; } export namespace DescribeEventsMessage { @@ -5388,13 +5915,6 @@ export interface Event { */ Date?: Date; - /** - *

                                                        The identifier for the source of the event. - * For example, if the event occurred at the cluster level, - * the identifier would be the name of the cluster.

                                                        - */ - SourceIdentifier?: string; - /** *

                                                        Specifies the origin of this event - a cluster, a parameter group, a security group, etc.

                                                        */ @@ -5404,6 +5924,13 @@ export interface Event { *

                                                        The text of the event.

                                                        */ Message?: string; + + /** + *

                                                        The identifier for the source of the event. + * For example, if the event occurred at the cluster level, + * the identifier would be the name of the cluster.

                                                        + */ + SourceIdentifier?: string; } export namespace Event { @@ -5435,14 +5962,14 @@ export namespace EventsMessage { export interface DescribeGlobalReplicationGroupsMessage { /** - *

                                                        The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

                                                        + *

                                                        Returns the list of members that comprise the Global Datastore.

                                                        */ - MaxRecords?: number; + ShowMemberInfo?: boolean; /** - *

                                                        Returns the list of members that comprise the Global Datastore.

                                                        + *

                                                        The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

                                                        */ - ShowMemberInfo?: boolean; + MaxRecords?: number; /** *

                                                        The name of the Global Datastore

                                                        @@ -5463,14 +5990,14 @@ export namespace DescribeGlobalReplicationGroupsMessage { export interface DescribeGlobalReplicationGroupsResult { /** - *

                                                        An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >

                                                        + *

                                                        Indicates the slot configuration and global identifier for each slice group.

                                                        */ - Marker?: string; + GlobalReplicationGroups?: GlobalReplicationGroup[]; /** - *

                                                        Indicates the slot configuration and global identifier for each slice group.

                                                        + *

                                                        An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >

                                                        */ - GlobalReplicationGroups?: GlobalReplicationGroup[]; + Marker?: string; } export namespace DescribeGlobalReplicationGroupsResult { @@ -5518,14 +6045,14 @@ export namespace DescribeReplicationGroupsMessage { */ export interface ReplicationGroupMessage { /** - *

                                                        A list of replication groups. Each item in the list contains detailed information about one replication group.

                                                        + *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        */ - ReplicationGroups?: ReplicationGroup[]; + Marker?: string; /** - *

                                                        Provides an identifier to allow retrieval of paginated results.

                                                        + *

                                                        A list of replication groups. Each item in the list contains detailed information about one replication group.

                                                        */ - Marker?: string; + ReplicationGroups?: ReplicationGroup[]; } export namespace ReplicationGroupMessage { @@ -5538,49 +6065,6 @@ export namespace ReplicationGroupMessage { *

                                                        Represents the input of a DescribeReservedCacheNodes operation.

                                                        */ export interface DescribeReservedCacheNodesMessage { - /** - *

                                                        The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a marker is included in the response so that - * the remaining results can be retrieved.

                                                        - * - *

                                                        Default: 100

                                                        - *

                                                        Constraints: minimum 20; maximum 100.

                                                        - */ - MaxRecords?: number; - - /** - *

                                                        The offering identifier filter value. - * Use this parameter to show only purchased reservations matching the specified offering identifier.

                                                        - */ - ReservedCacheNodesOfferingId?: string; - - /** - *

                                                        The offering type filter value. - * Use this parameter to show only the available offerings matching the specified offering type.

                                                        - *

                                                        Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" - *

                                                        - */ - OfferingType?: string; - - /** - *

                                                        The reserved cache node identifier filter value. - * Use this parameter to show only the reservation that matches the specified reservation ID.

                                                        - */ - ReservedCacheNodeId?: string; - - /** - *

                                                        The product description filter value. Use this parameter to show only those reservations matching the specified product description.

                                                        - */ - ProductDescription?: string; - - /** - *

                                                        The duration filter value, specified in years or seconds. - * Use this parameter to show only reservations for this duration.

                                                        - *

                                                        Valid Values: 1 | 3 | 31536000 | 94608000 - *

                                                        - */ - Duration?: string; - /** *

                                                        The cache node type filter value. * Use this parameter to show only those reservations matching the specified cache node type.

                                                        @@ -5734,26 +6218,69 @@ export interface DescribeReservedCacheNodesMessage { * *
                                                      * - *

                                                      - * Additional node type info - *

                                                      - *
                                                        - *
                                                      • - *

                                                        All current generation instance types are created in Amazon VPC by default.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Redis append-only files (AOF) are not supported for T1 or T2 instances.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Redis Multi-AZ with automatic failover is not supported on T1 instances.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Redis configuration variables appendonly and - * appendfsync are not supported on Redis version 2.8.22 and later.

                                                        - *
                                                      • - *
                                                      + *

                                                      + * Additional node type info + *

                                                      + *
                                                        + *
                                                      • + *

                                                        All current generation instance types are created in Amazon VPC by default.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Redis append-only files (AOF) are not supported for T1 or T2 instances.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Redis Multi-AZ with automatic failover is not supported on T1 instances.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Redis configuration variables appendonly and + * appendfsync are not supported on Redis version 2.8.22 and later.

                                                        + *
                                                      • + *
                                                      + */ + CacheNodeType?: string; + + /** + *

                                                      The duration filter value, specified in years or seconds. + * Use this parameter to show only reservations for this duration.

                                                      + *

                                                      Valid Values: 1 | 3 | 31536000 | 94608000 + *

                                                      + */ + Duration?: string; + + /** + *

                                                      The offering type filter value. + * Use this parameter to show only the available offerings matching the specified offering type.

                                                      + *

                                                      Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" + *

                                                      + */ + OfferingType?: string; + + /** + *

                                                      The offering identifier filter value. + * Use this parameter to show only purchased reservations matching the specified offering identifier.

                                                      + */ + ReservedCacheNodesOfferingId?: string; + + /** + *

                                                      The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a marker is included in the response so that + * the remaining results can be retrieved.

                                                      + * + *

                                                      Default: 100

                                                      + *

                                                      Constraints: minimum 20; maximum 100.

                                                      */ - CacheNodeType?: string; + MaxRecords?: number; + + /** + *

                                                      The reserved cache node identifier filter value. + * Use this parameter to show only the reservation that matches the specified reservation ID.

                                                      + */ + ReservedCacheNodeId?: string; + + /** + *

                                                      The product description filter value. Use this parameter to show only those reservations matching the specified product description.

                                                      + */ + ProductDescription?: string; /** *

                                                      An optional marker returned from a prior request. @@ -5776,14 +6303,14 @@ export namespace DescribeReservedCacheNodesMessage { */ export interface RecurringCharge { /** - *

                                                      The monetary amount of the recurring charge.

                                                      + *

                                                      The frequency of the recurring charge.

                                                      */ - RecurringChargeAmount?: number; + RecurringChargeFrequency?: string; /** - *

                                                      The frequency of the recurring charge.

                                                      + *

                                                      The monetary amount of the recurring charge.

                                                      */ - RecurringChargeFrequency?: string; + RecurringChargeAmount?: number; } export namespace RecurringCharge { @@ -5797,9 +6324,9 @@ export namespace RecurringCharge { */ export interface ReservedCacheNode { /** - *

                                                      The fixed price charged for this reserved cache node.

                                                      + *

                                                      The offering type of this reserved cache node.

                                                      */ - FixedPrice?: number; + OfferingType?: string; /** *

                                                      The Amazon Resource Name (ARN) of the reserved cache node.

                                                      @@ -5809,14 +6336,9 @@ export interface ReservedCacheNode { ReservationARN?: string; /** - *

                                                      The time the reservation started.

                                                      - */ - StartTime?: Date; - - /** - *

                                                      The state of the reserved cache node.

                                                      + *

                                                      The duration of the reservation in seconds.

                                                      */ - State?: string; + Duration?: number; /** *

                                                      The cache node type for the reserved cache nodes.

                                                      @@ -5992,9 +6514,14 @@ export interface ReservedCacheNode { CacheNodeType?: string; /** - *

                                                      The offering type of this reserved cache node.

                                                      + *

                                                      The recurring price charged to run this reserved cache node.

                                                      */ - OfferingType?: string; + RecurringCharges?: RecurringCharge[]; + + /** + *

                                                      The hourly price charged for this reserved cache node.

                                                      + */ + UsagePrice?: number; /** *

                                                      The offering identifier.

                                                      @@ -6002,34 +6529,34 @@ export interface ReservedCacheNode { ReservedCacheNodesOfferingId?: string; /** - *

                                                      The duration of the reservation in seconds.

                                                      + *

                                                      The unique identifier for the reservation.

                                                      */ - Duration?: number; + ReservedCacheNodeId?: string; /** - *

                                                      The hourly price charged for this reserved cache node.

                                                      + *

                                                      The description of the reserved cache node.

                                                      */ - UsagePrice?: number; + ProductDescription?: string; /** - *

                                                      The number of cache nodes that have been reserved.

                                                      + *

                                                      The time the reservation started.

                                                      */ - CacheNodeCount?: number; + StartTime?: Date; /** - *

                                                      The unique identifier for the reservation.

                                                      + *

                                                      The state of the reserved cache node.

                                                      */ - ReservedCacheNodeId?: string; + State?: string; /** - *

                                                      The recurring price charged to run this reserved cache node.

                                                      + *

                                                      The fixed price charged for this reserved cache node.

                                                      */ - RecurringCharges?: RecurringCharge[]; + FixedPrice?: number; /** - *

                                                      The description of the reserved cache node.

                                                      + *

                                                      The number of cache nodes that have been reserved.

                                                      */ - ProductDescription?: string; + CacheNodeCount?: number; } export namespace ReservedCacheNode { @@ -6043,14 +6570,14 @@ export namespace ReservedCacheNode { */ export interface ReservedCacheNodeMessage { /** - *

                                                      A list of reserved cache nodes. Each element in the list contains detailed information about one node.

                                                      + *

                                                      Provides an identifier to allow retrieval of paginated results.

                                                      */ - ReservedCacheNodes?: ReservedCacheNode[]; + Marker?: string; /** - *

                                                      Provides an identifier to allow retrieval of paginated results.

                                                      + *

                                                      A list of reserved cache nodes. Each element in the list contains detailed information about one node.

                                                      */ - Marker?: string; + ReservedCacheNodes?: ReservedCacheNode[]; } export namespace ReservedCacheNodeMessage { @@ -6078,6 +6605,14 @@ export namespace ReservedCacheNodeNotFoundFault { *

                                                      Represents the input of a DescribeReservedCacheNodesOfferings operation.

                                                      */ export interface DescribeReservedCacheNodesOfferingsMessage { + /** + *

                                                      Duration filter value, specified in years or seconds. + * Use this parameter to show only reservations for a given duration.

                                                      + *

                                                      Valid Values: 1 | 3 | 31536000 | 94608000 + *

                                                      + */ + Duration?: string; + /** *

                                                      The cache node type filter value. * Use this parameter to show only the available offerings matching the specified cache node type.

                                                      @@ -6252,6 +6787,12 @@ export interface DescribeReservedCacheNodesOfferingsMessage { */ CacheNodeType?: string; + /** + *

                                                      The product description filter value. + * Use this parameter to show only the available offerings matching the specified product description.

                                                      + */ + ProductDescription?: string; + /** *

                                                      The offering type filter value. * Use this parameter to show only the available offerings matching the specified offering type.

                                                      @@ -6269,18 +6810,14 @@ export interface DescribeReservedCacheNodesOfferingsMessage { ReservedCacheNodesOfferingId?: string; /** - *

                                                      Duration filter value, specified in years or seconds. - * Use this parameter to show only reservations for a given duration.

                                                      - *

                                                      Valid Values: 1 | 3 | 31536000 | 94608000 - *

                                                      - */ - Duration?: string; - - /** - *

                                                      The product description filter value. - * Use this parameter to show only the available offerings matching the specified product description.

                                                      + *

                                                      The maximum number of records to include in the response. If more records exist than the + * specified MaxRecords value, a marker is included in the response so that + * the remaining results can be retrieved.

                                                      + * + *

                                                      Default: 100

                                                      + *

                                                      Constraints: minimum 20; maximum 100.

                                                      */ - ProductDescription?: string; + MaxRecords?: number; /** *

                                                      An optional marker returned from a prior request. @@ -6289,16 +6826,6 @@ export interface DescribeReservedCacheNodesOfferingsMessage { * up to the value specified by MaxRecords.

                                                      */ Marker?: string; - - /** - *

                                                      The maximum number of records to include in the response. If more records exist than the - * specified MaxRecords value, a marker is included in the response so that - * the remaining results can be retrieved.

                                                      - * - *

                                                      Default: 100

                                                      - *

                                                      Constraints: minimum 20; maximum 100.

                                                      - */ - MaxRecords?: number; } export namespace DescribeReservedCacheNodesOfferingsMessage { @@ -6311,6 +6838,16 @@ export namespace DescribeReservedCacheNodesOfferingsMessage { *

                                                      Describes all of the attributes of a reserved cache node offering.

                                                      */ export interface ReservedCacheNodesOffering { + /** + *

                                                      The cache engine used by the offering.

                                                      + */ + ProductDescription?: string; + + /** + *

                                                      The recurring price charged to run this reserved cache node.

                                                      + */ + RecurringCharges?: RecurringCharge[]; + /** *

                                                      The cache node type for the reserved cache node.

                                                      *

                                                      The following node types are supported by ElastiCache. @@ -6484,24 +7021,14 @@ export interface ReservedCacheNodesOffering { CacheNodeType?: string; /** - *

                                                      The duration of the offering. in seconds.

                                                      - */ - Duration?: number; - - /** - *

                                                      The cache engine used by the offering.

                                                      - */ - ProductDescription?: string; - - /** - *

                                                      The recurring price charged to run this reserved cache node.

                                                      + *

                                                      The offering type.

                                                      */ - RecurringCharges?: RecurringCharge[]; + OfferingType?: string; /** - *

                                                      The offering type.

                                                      + *

                                                      A unique identifier for the reserved cache node offering.

                                                      */ - OfferingType?: string; + ReservedCacheNodesOfferingId?: string; /** *

                                                      The fixed price charged for this offering.

                                                      @@ -6509,14 +7036,14 @@ export interface ReservedCacheNodesOffering { FixedPrice?: number; /** - *

                                                      A unique identifier for the reserved cache node offering.

                                                      + *

                                                      The hourly price charged for this offering.

                                                      */ - ReservedCacheNodesOfferingId?: string; + UsagePrice?: number; /** - *

                                                      The hourly price charged for this offering.

                                                      + *

                                                      The duration of the offering. in seconds.

                                                      */ - UsagePrice?: number; + Duration?: number; } export namespace ReservedCacheNodesOffering { @@ -6569,27 +7096,27 @@ export enum ServiceUpdateStatus { export interface DescribeServiceUpdatesMessage { /** - *

                                                      An optional marker returned from a prior request. - * Use this marker for pagination of results from this operation. If this - * parameter is specified, the response includes only records beyond the marker, up to the - * value specified by MaxRecords.

                                                      + *

                                                      The maximum number of records to include in the response

                                                      */ - Marker?: string; + MaxRecords?: number; /** - *

                                                      The status of the service update

                                                      + *

                                                      The unique ID of the service update

                                                      */ - ServiceUpdateStatus?: (ServiceUpdateStatus | string)[]; + ServiceUpdateName?: string; /** - *

                                                      The maximum number of records to include in the response

                                                      + *

                                                      The status of the service update

                                                      */ - MaxRecords?: number; + ServiceUpdateStatus?: (ServiceUpdateStatus | string)[]; /** - *

                                                      The unique ID of the service update

                                                      + *

                                                      An optional marker returned from a prior request. + * Use this marker for pagination of results from this operation. If this + * parameter is specified, the response includes only records beyond the marker, up to the + * value specified by MaxRecords.

                                                      */ - ServiceUpdateName?: string; + Marker?: string; } export namespace DescribeServiceUpdatesMessage { @@ -6619,34 +7146,39 @@ export interface ServiceUpdate { AutoUpdateAfterRecommendedApplyByDate?: boolean; /** - *

                                                      The severity of the service update

                                                      + *

                                                      The Elasticache engine version to which the update applies. Either Redis or Memcached engine version

                                                      */ - ServiceUpdateSeverity?: ServiceUpdateSeverity | string; + EngineVersion?: string; /** - *

                                                      The date after which the service update is no longer available

                                                      + *

                                                      Reflects the nature of the service update

                                                      */ - ServiceUpdateEndDate?: Date; + ServiceUpdateType?: ServiceUpdateType | string; /** - *

                                                      The Elasticache engine to which the update applies. Either Redis or Memcached

                                                      + *

                                                      The estimated length of time the service update will take

                                                      */ - Engine?: string; + EstimatedUpdateTime?: string; /** - *

                                                      The unique ID of the service update

                                                      + *

                                                      The status of the service update

                                                      */ - ServiceUpdateName?: string; + ServiceUpdateStatus?: ServiceUpdateStatus | string; /** - *

                                                      The Elasticache engine version to which the update applies. Either Redis or Memcached engine version

                                                      + *

                                                      The severity of the service update

                                                      */ - EngineVersion?: string; + ServiceUpdateSeverity?: ServiceUpdateSeverity | string; /** - *

                                                      The status of the service update

                                                      + *

                                                      The Elasticache engine to which the update applies. Either Redis or Memcached

                                                      */ - ServiceUpdateStatus?: ServiceUpdateStatus | string; + Engine?: string; + + /** + *

                                                      The recommendend date to apply the service update in order to ensure compliance. For information on compliance, see Self-Service Security Updates for Compliance.

                                                      + */ + ServiceUpdateRecommendedApplyByDate?: Date; /** *

                                                      The date when the service update is initially available

                                                      @@ -6654,9 +7186,9 @@ export interface ServiceUpdate { ServiceUpdateReleaseDate?: Date; /** - *

                                                      Reflects the nature of the service update

                                                      + *

                                                      The unique ID of the service update

                                                      */ - ServiceUpdateType?: ServiceUpdateType | string; + ServiceUpdateName?: string; /** *

                                                      Provides details of the service update

                                                      @@ -6664,14 +7196,9 @@ export interface ServiceUpdate { ServiceUpdateDescription?: string; /** - *

                                                      The recommendend date to apply the service update in order to ensure compliance. For information on compliance, see Self-Service Security Updates for Compliance.

                                                      - */ - ServiceUpdateRecommendedApplyByDate?: Date; - - /** - *

                                                      The estimated length of time the service update will take

                                                      + *

                                                      The date after which the service update is no longer available

                                                      */ - EstimatedUpdateTime?: string; + ServiceUpdateEndDate?: Date; } export namespace ServiceUpdate { @@ -6681,11 +7208,6 @@ export namespace ServiceUpdate { } export interface ServiceUpdatesMessage { - /** - *

                                                      A list of service updates

                                                      - */ - ServiceUpdates?: ServiceUpdate[]; - /** *

                                                      An optional marker returned from a prior request. * Use this marker for pagination of results from this operation. If this @@ -6693,6 +7215,11 @@ export interface ServiceUpdatesMessage { * value specified by MaxRecords.

                                                      */ Marker?: string; + + /** + *

                                                      A list of service updates

                                                      + */ + ServiceUpdates?: ServiceUpdate[]; } export namespace ServiceUpdatesMessage { @@ -6729,31 +7256,22 @@ export namespace DescribeSnapshotsListMessage { *

                                                      Represents the input of a DescribeSnapshotsMessage operation.

                                                      */ export interface DescribeSnapshotsMessage { - /** - *

                                                      A Boolean value which if true, the node group (shard) configuration is included in the snapshot description.

                                                      - */ - ShowNodeGroupConfig?: boolean; - /** *

                                                      A user-supplied replication group identifier. * If this parameter is specified, only snapshots associated with that specific replication group are described.

                                                      */ ReplicationGroupId?: string; - /** - *

                                                      If set to system, the output shows snapshots that were automatically created by ElastiCache. - * If set to user the output shows snapshots that were manually created. - * If omitted, the output shows both automatically and manually created snapshots.

                                                      + /** + *

                                                      A user-supplied name of the snapshot. + * If this parameter is specified, only this snapshot are described.

                                                      */ - SnapshotSource?: string; + SnapshotName?: string; /** - *

                                                      An optional marker returned from a prior request. - * Use this marker for pagination of results from this operation. - * If this parameter is specified, the response includes only records beyond the marker, - * up to the value specified by MaxRecords.

                                                      + *

                                                      A Boolean value which if true, the node group (shard) configuration is included in the snapshot description.

                                                      */ - Marker?: string; + ShowNodeGroupConfig?: boolean; /** *

                                                      A user-supplied cluster identifier. @@ -6761,12 +7279,6 @@ export interface DescribeSnapshotsMessage { */ CacheClusterId?: string; - /** - *

                                                      A user-supplied name of the snapshot. - * If this parameter is specified, only this snapshot are described.

                                                      - */ - SnapshotName?: string; - /** *

                                                      The maximum number of records to include in the response. If more records exist than the * specified MaxRecords value, a marker is included in the response so that @@ -6775,6 +7287,21 @@ export interface DescribeSnapshotsMessage { *

                                                      Constraints: minimum 20; maximum 50.

                                                      */ MaxRecords?: number; + + /** + *

                                                      An optional marker returned from a prior request. + * Use this marker for pagination of results from this operation. + * If this parameter is specified, the response includes only records beyond the marker, + * up to the value specified by MaxRecords.

                                                      + */ + Marker?: string; + + /** + *

                                                      If set to system, the output shows snapshots that were automatically created by ElastiCache. + * If set to user the output shows snapshots that were manually created. + * If omitted, the output shows both automatically and manually created snapshots.

                                                      + */ + SnapshotSource?: string; } export namespace DescribeSnapshotsMessage { @@ -6788,14 +7315,14 @@ export namespace DescribeSnapshotsMessage { */ export interface TimeRangeFilter { /** - *

                                                      The start time of the time range filter

                                                      + *

                                                      The end time of the time range filter

                                                      */ - StartTime?: Date; + EndTime?: Date; /** - *

                                                      The end time of the time range filter

                                                      + *

                                                      The start time of the time range filter

                                                      */ - EndTime?: Date; + StartTime?: Date; } export namespace TimeRangeFilter { @@ -6810,21 +7337,11 @@ export interface DescribeUpdateActionsMessage { */ ShowNodeLevelUpdateStatus?: boolean; - /** - *

                                                      The Elasticache engine to which the update applies. Either Redis or Memcached

                                                      - */ - Engine?: string; - /** *

                                                      The status of the update action.

                                                      */ UpdateActionStatus?: (UpdateActionStatus | string)[]; - /** - *

                                                      The cache cluster IDs

                                                      - */ - CacheClusterIds?: string[]; - /** *

                                                      An optional marker returned from a prior request. * Use this marker for pagination of results from this operation. If this @@ -6833,30 +7350,40 @@ export interface DescribeUpdateActionsMessage { */ Marker?: string; + /** + *

                                                      The unique ID of the service update

                                                      + */ + ServiceUpdateName?: string; + + /** + *

                                                      The range of time specified to search for service updates that are in available status

                                                      + */ + ServiceUpdateTimeRange?: TimeRangeFilter; + /** *

                                                      The status of the service update

                                                      */ ServiceUpdateStatus?: (ServiceUpdateStatus | string)[]; /** - *

                                                      The maximum number of records to include in the response

                                                      + *

                                                      The Elasticache engine to which the update applies. Either Redis or Memcached

                                                      */ - MaxRecords?: number; + Engine?: string; /** - *

                                                      The replication group IDs

                                                      + *

                                                      The maximum number of records to include in the response

                                                      */ - ReplicationGroupIds?: string[]; + MaxRecords?: number; /** - *

                                                      The unique ID of the service update

                                                      + *

                                                      The cache cluster IDs

                                                      */ - ServiceUpdateName?: string; + CacheClusterIds?: string[]; /** - *

                                                      The range of time specified to search for service updates that are in available status

                                                      + *

                                                      The replication group IDs

                                                      */ - ServiceUpdateTimeRange?: TimeRangeFilter; + ReplicationGroupIds?: string[]; } export namespace DescribeUpdateActionsMessage { @@ -6883,6 +7410,11 @@ export enum NodeUpdateStatus { *

                                                      The status of the service update on the cache node

                                                      */ export interface CacheNodeUpdateStatus { + /** + *

                                                      The deletion date of the node

                                                      + */ + NodeDeletionDate?: Date; + /** *

                                                      The date when the NodeUpdateStatus was last modified>

                                                      */ @@ -6898,6 +7430,11 @@ export interface CacheNodeUpdateStatus { */ NodeUpdateEndDate?: Date; + /** + *

                                                      The node ID of the cache cluster

                                                      + */ + CacheNodeId?: string; + /** *

                                                      The start date of the update for a node

                                                      */ @@ -6912,16 +7449,6 @@ export interface CacheNodeUpdateStatus { *

                                                      The date when the update is triggered

                                                      */ NodeUpdateInitiatedDate?: Date; - - /** - *

                                                      The node ID of the cache cluster

                                                      - */ - CacheNodeId?: string; - - /** - *

                                                      The deletion date of the node

                                                      - */ - NodeDeletionDate?: Date; } export namespace CacheNodeUpdateStatus { @@ -6935,49 +7462,49 @@ export namespace CacheNodeUpdateStatus { */ export interface NodeGroupMemberUpdateStatus { /** - *

                                                      The update status of the node

                                                      + *

                                                      The deletion date of the node

                                                      */ - NodeUpdateStatus?: NodeUpdateStatus | string; + NodeDeletionDate?: Date; /** - *

                                                      The start date of the update for a node

                                                      + *

                                                      The update status of the node

                                                      */ - NodeUpdateStartDate?: Date; + NodeUpdateStatus?: NodeUpdateStatus | string; /** - *

                                                      The cache cluster ID

                                                      + *

                                                      The date when the update is triggered

                                                      */ - CacheClusterId?: string; + NodeUpdateInitiatedDate?: Date; /** - *

                                                      The deletion date of the node

                                                      + *

                                                      Reflects whether the update was initiated by the customer or automatically applied

                                                      */ - NodeDeletionDate?: Date; + NodeUpdateInitiatedBy?: NodeUpdateInitiatedBy | string; /** - *

                                                      The date when the NodeUpdateStatus was last modified

                                                      + *

                                                      The cache cluster ID

                                                      */ - NodeUpdateStatusModifiedDate?: Date; + CacheClusterId?: string; /** - *

                                                      Reflects whether the update was initiated by the customer or automatically applied

                                                      + *

                                                      The node ID of the cache cluster

                                                      */ - NodeUpdateInitiatedBy?: NodeUpdateInitiatedBy | string; + CacheNodeId?: string; /** - *

                                                      The node ID of the cache cluster

                                                      + *

                                                      The end date of the update for a node

                                                      */ - CacheNodeId?: string; + NodeUpdateEndDate?: Date; /** - *

                                                      The date when the update is triggered

                                                      + *

                                                      The date when the NodeUpdateStatus was last modified

                                                      */ - NodeUpdateInitiatedDate?: Date; + NodeUpdateStatusModifiedDate?: Date; /** - *

                                                      The end date of the update for a node

                                                      + *

                                                      The start date of the update for a node

                                                      */ - NodeUpdateEndDate?: Date; + NodeUpdateStartDate?: Date; } export namespace NodeGroupMemberUpdateStatus { @@ -7022,116 +7549,234 @@ export interface UpdateAction { */ ServiceUpdateType?: ServiceUpdateType | string; + /** + *

                                                      The status of the service update on the cache node

                                                      + */ + CacheNodeUpdateStatus?: CacheNodeUpdateStatus[]; + + /** + *

                                                      The ID of the replication group

                                                      + */ + ReplicationGroupId?: string; + + /** + *

                                                      The status of the service update

                                                      + */ + ServiceUpdateStatus?: ServiceUpdateStatus | string; + + /** + *

                                                      The date that the service update is available to a replication group

                                                      + */ + UpdateActionAvailableDate?: Date; + + /** + *

                                                      The progress of the service update on the replication group

                                                      + */ + NodesUpdated?: string; + + /** + *

                                                      The status of the update action

                                                      + */ + UpdateActionStatus?: UpdateActionStatus | string; + + /** + *

                                                      The date the update is first available

                                                      + */ + ServiceUpdateReleaseDate?: Date; + + /** + *

                                                      The ID of the cache cluster

                                                      + */ + CacheClusterId?: string; + + /** + *

                                                      The estimated length of time for the update to complete

                                                      + */ + EstimatedUpdateTime?: string; + + /** + *

                                                      The unique ID of the service update

                                                      + */ + ServiceUpdateName?: string; + /** *

                                                      The date when the UpdateActionStatus was last modified

                                                      */ UpdateActionStatusModifiedDate?: Date; + /** + *

                                                      The recommended date to apply the service update to ensure compliance. For information on compliance, see Self-Service Security Updates for Compliance.

                                                      + */ + ServiceUpdateRecommendedApplyByDate?: Date; + + /** + *

                                                      The Elasticache engine to which the update applies. Either Redis or Memcached

                                                      + */ + Engine?: string; + + /** + *

                                                      The status of the service update on the node group

                                                      + */ + NodeGroupUpdateStatus?: NodeGroupUpdateStatus[]; + /** *

                                                      The severity of the service update

                                                      */ ServiceUpdateSeverity?: ServiceUpdateSeverity | string; /** - *

                                                      The unique ID of the service update

                                                      + *

                                                      If yes, all nodes in the replication group have been updated by the recommended apply-by date. If no, at least one node in the replication group have not been updated by the recommended apply-by date. If N/A, the replication group was created after the + * recommended apply-by date.

                                                      */ - ServiceUpdateName?: string; + SlaMet?: SlaMet | string; +} + +export namespace UpdateAction { + export const filterSensitiveLog = (obj: UpdateAction): any => ({ + ...obj, + }); +} +export interface UpdateActionsMessage { /** - *

                                                      The status of the service update on the cache node

                                                      + *

                                                      An optional marker returned from a prior request. + * Use this marker for pagination of results from this operation. If this + * parameter is specified, the response includes only records beyond the marker, up to the + * value specified by MaxRecords.

                                                      */ - CacheNodeUpdateStatus?: CacheNodeUpdateStatus[]; + Marker?: string; /** - *

                                                      The date that the service update is available to a replication group

                                                      + *

                                                      Returns a list of update actions

                                                      */ - UpdateActionAvailableDate?: Date; + UpdateActions?: UpdateAction[]; +} + +export namespace UpdateActionsMessage { + export const filterSensitiveLog = (obj: UpdateActionsMessage): any => ({ + ...obj, + }); +} +export interface DescribeUserGroupsMessage { /** - *

                                                      The progress of the service update on the replication group

                                                      + *

                                                      The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

                                                      */ - NodesUpdated?: string; + MaxRecords?: number; /** - *

                                                      The status of the service update

                                                      + *

                                                      The ID of the user group.

                                                      */ - ServiceUpdateStatus?: ServiceUpdateStatus | string; + UserGroupId?: string; /** - *

                                                      The ID of the cache cluster

                                                      + *

                                                      An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >

                                                      */ - CacheClusterId?: string; + Marker?: string; +} + +export namespace DescribeUserGroupsMessage { + export const filterSensitiveLog = (obj: DescribeUserGroupsMessage): any => ({ + ...obj, + }); +} + +export interface DescribeUserGroupsResult { + /** + *

                                                      Returns a list of user groups.

                                                      + */ + UserGroups?: UserGroup[]; + + /** + *

                                                      An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >

                                                      + */ + Marker?: string; +} + +export namespace DescribeUserGroupsResult { + export const filterSensitiveLog = (obj: DescribeUserGroupsResult): any => ({ + ...obj, + }); +} +/** + *

                                                      Used to streamline results of a search based on the property being filtered.

                                                      + */ +export interface Filter { /** - *

                                                      The recommended date to apply the service update to ensure compliance. For information on compliance, see Self-Service Security Updates for Compliance.

                                                      + *

                                                      The property values to filter on. For example, "user-123".

                                                      */ - ServiceUpdateRecommendedApplyByDate?: Date; + Values: string[] | undefined; /** - *

                                                      The status of the update action

                                                      + *

                                                      The property being filtered. For example, UserId.

                                                      */ - UpdateActionStatus?: UpdateActionStatus | string; + Name: string | undefined; +} - /** - *

                                                      The date the update is first available

                                                      - */ - ServiceUpdateReleaseDate?: Date; +export namespace Filter { + export const filterSensitiveLog = (obj: Filter): any => ({ + ...obj, + }); +} +export interface DescribeUsersMessage { /** - *

                                                      The ID of the replication group

                                                      + *

                                                      The ID of the user.

                                                      */ - ReplicationGroupId?: string; + UserId?: string; /** - *

                                                      The estimated length of time for the update to complete

                                                      + *

                                                      The Redis engine.

                                                      */ - EstimatedUpdateTime?: string; + Engine?: string; /** - *

                                                      If yes, all nodes in the replication group have been updated by the recommended apply-by date. If no, at least one node in the replication group have not been updated by the recommended apply-by date. If N/A, the replication group was created after the - * recommended apply-by date.

                                                      + *

                                                      Filter to determine the list of User IDs to return.

                                                      */ - SlaMet?: SlaMet | string; + Filters?: Filter[]; /** - *

                                                      The Elasticache engine to which the update applies. Either Redis or Memcached

                                                      + *

                                                      The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

                                                      */ - Engine?: string; + MaxRecords?: number; /** - *

                                                      The status of the service update on the node group

                                                      + *

                                                      An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >

                                                      */ - NodeGroupUpdateStatus?: NodeGroupUpdateStatus[]; + Marker?: string; } -export namespace UpdateAction { - export const filterSensitiveLog = (obj: UpdateAction): any => ({ +export namespace DescribeUsersMessage { + export const filterSensitiveLog = (obj: DescribeUsersMessage): any => ({ ...obj, }); } -export interface UpdateActionsMessage { +export interface DescribeUsersResult { /** - *

                                                      An optional marker returned from a prior request. - * Use this marker for pagination of results from this operation. If this - * parameter is specified, the response includes only records beyond the marker, up to the - * value specified by MaxRecords.

                                                      + *

                                                      A list of users.

                                                      */ - Marker?: string; + Users?: User[]; /** - *

                                                      Returns a list of update actions

                                                      + *

                                                      An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >

                                                      */ - UpdateActions?: UpdateAction[]; + Marker?: string; } -export namespace UpdateActionsMessage { - export const filterSensitiveLog = (obj: UpdateActionsMessage): any => ({ +export namespace DescribeUsersResult { + export const filterSensitiveLog = (obj: DescribeUsersResult): any => ({ ...obj, }); } export interface DisassociateGlobalReplicationGroupMessage { + /** + *

                                                      The name of the Global Datastore

                                                      + */ + GlobalReplicationGroupId: string | undefined; + /** *

                                                      The name of the secondary cluster you wish to remove from the Global Datastore

                                                      */ @@ -7141,11 +7786,6 @@ export interface DisassociateGlobalReplicationGroupMessage { *

                                                      The AWS region of secondary cluster you wish to remove from the Global Datastore

                                                      */ ReplicationGroupRegion: string | undefined; - - /** - *

                                                      The name of the Global Datastore

                                                      - */ - GlobalReplicationGroupId: string | undefined; } export namespace DisassociateGlobalReplicationGroupMessage { @@ -7177,11 +7817,6 @@ export namespace DisassociateGlobalReplicationGroupResult { } export interface FailoverGlobalReplicationGroupMessage { - /** - *

                                                      The name of the primary replication group

                                                      - */ - PrimaryReplicationGroupId: string | undefined; - /** *

                                                      The name of the Global Datastore

                                                      */ @@ -7191,6 +7826,11 @@ export interface FailoverGlobalReplicationGroupMessage { *

                                                      The AWS region of the primary cluster of the Global Datastore

                                                      */ PrimaryRegion: string | undefined; + + /** + *

                                                      The name of the primary replication group

                                                      + */ + PrimaryReplicationGroupId: string | undefined; } export namespace FailoverGlobalReplicationGroupMessage { @@ -7227,15 +7867,15 @@ export namespace FailoverGlobalReplicationGroupResult { */ export interface ReshardingConfiguration { /** - *

                                                      Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the node group these - * configuration values apply to.

                                                      + *

                                                      A list of preferred availability zones for the nodes in this cluster.

                                                      */ - NodeGroupId?: string; + PreferredAvailabilityZones?: string[]; /** - *

                                                      A list of preferred availability zones for the nodes in this cluster.

                                                      + *

                                                      Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the node group these + * configuration values apply to.

                                                      */ - PreferredAvailabilityZones?: string[]; + NodeGroupId?: string; } export namespace ReshardingConfiguration { @@ -7249,14 +7889,14 @@ export namespace ReshardingConfiguration { */ export interface RegionalConfiguration { /** - *

                                                      The AWS region where the cluster is stored

                                                      + *

                                                      A list of PreferredAvailabilityZones objects that specifies the configuration of a node group in the resharded cluster.

                                                      */ - ReplicationGroupRegion: string | undefined; + ReshardingConfiguration: ReshardingConfiguration[] | undefined; /** - *

                                                      A list of PreferredAvailabilityZones objects that specifies the configuration of a node group in the resharded cluster.

                                                      + *

                                                      The AWS region where the cluster is stored

                                                      */ - ReshardingConfiguration: ReshardingConfiguration[] | undefined; + ReplicationGroupRegion: string | undefined; /** *

                                                      The name of the secondary cluster

                                                      @@ -7272,24 +7912,24 @@ export namespace RegionalConfiguration { export interface IncreaseNodeGroupsInGlobalReplicationGroupMessage { /** - *

                                                      The number of node groups you wish to add

                                                      + *

                                                      The name of the Global Datastore

                                                      */ - NodeGroupCount: number | undefined; + GlobalReplicationGroupId: string | undefined; /** - *

                                                      Indicates that the process begins immediately. At present, the only permitted value for this parameter is true.

                                                      + *

                                                      Describes the replication group IDs, the AWS regions where they are stored and the shard configuration for each that comprise the Global Datastore

                                                      */ - ApplyImmediately: boolean | undefined; + RegionalConfigurations?: RegionalConfiguration[]; /** - *

                                                      Describes the replication group IDs, the AWS regions where they are stored and the shard configuration for each that comprise the Global Datastore

                                                      + *

                                                      Indicates that the process begins immediately. At present, the only permitted value for this parameter is true.

                                                      */ - RegionalConfigurations?: RegionalConfiguration[]; + ApplyImmediately: boolean | undefined; /** - *

                                                      The name of the Global Datastore

                                                      + *

                                                      The number of node groups you wish to add

                                                      */ - GlobalReplicationGroupId: string | undefined; + NodeGroupCount: number | undefined; } export namespace IncreaseNodeGroupsInGlobalReplicationGroupMessage { @@ -7322,17 +7962,24 @@ export namespace IncreaseNodeGroupsInGlobalReplicationGroupResult { export interface IncreaseReplicaCountMessage { /** - *

                                                      A list of ConfigureShard objects that can be used to configure each shard - * in a Redis (cluster mode enabled) replication group. The ConfigureShard has three members: - * NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones.

                                                      + *

                                                      If True, the number of replica nodes is increased immediately. + * + * ApplyImmediately=False is not currently supported.

                                                      */ - ReplicaConfiguration?: ConfigureShard[]; + ApplyImmediately: boolean | undefined; /** *

                                                      The id of the replication group to which you want to add replica nodes.

                                                      */ ReplicationGroupId: string | undefined; + /** + *

                                                      A list of ConfigureShard objects that can be used to configure each shard + * in a Redis (cluster mode enabled) replication group. The ConfigureShard has three members: + * NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones.

                                                      + */ + ReplicaConfiguration?: ConfigureShard[]; + /** *

                                                      The number of read replica nodes you want at the completion of this operation. * For Redis (cluster mode disabled) replication groups, this is the number of replica nodes in the @@ -7340,13 +7987,6 @@ export interface IncreaseReplicaCountMessage { * replica nodes in each of the replication group's node groups.

                                                      */ NewReplicaCount?: number; - - /** - *

                                                      If True, the number of replica nodes is increased immediately. - * - * ApplyImmediately=False is not currently supported.

                                                      - */ - ApplyImmediately: boolean | undefined; } export namespace IncreaseReplicaCountMessage { @@ -7388,27 +8028,27 @@ export namespace InvalidKMSKeyFault { */ export interface ListAllowedNodeTypeModificationsMessage { /** - *

                                                      The name of the replication group want to scale up to a larger node type. - * ElastiCache uses the replication group id to identify the current node type being used by - * this replication group, and from that to create a list of node types you can scale up to.

                                                      + *

                                                      The name of the cluster you want to scale up to a larger node instanced type. + * ElastiCache uses the cluster id to identify the current node type of this cluster and from that to create a list of node types you can scale up to.

                                                      * * *

                                                      You must provide a value for either the CacheClusterId or the * ReplicationGroupId.

                                                      *
                                                      */ - ReplicationGroupId?: string; + CacheClusterId?: string; /** - *

                                                      The name of the cluster you want to scale up to a larger node instanced type. - * ElastiCache uses the cluster id to identify the current node type of this cluster and from that to create a list of node types you can scale up to.

                                                      + *

                                                      The name of the replication group want to scale up to a larger node type. + * ElastiCache uses the replication group id to identify the current node type being used by + * this replication group, and from that to create a list of node types you can scale up to.

                                                      * * *

                                                      You must provide a value for either the CacheClusterId or the * ReplicationGroupId.

                                                      *
                                                      */ - CacheClusterId?: string; + ReplicationGroupId?: string; } export namespace ListAllowedNodeTypeModificationsMessage { @@ -7436,12 +8076,17 @@ export namespace ListTagsForResourceMessage { }); } -export type AuthTokenUpdateStrategyType = "ROTATE" | "SET"; +export type AuthTokenUpdateStrategyType = "DELETE" | "ROTATE" | "SET"; /** *

                                                      Represents the input of a ModifyCacheCluster operation.

                                                      */ export interface ModifyCacheClusterMessage { + /** + *

                                                      This parameter is currently disabled.

                                                      + */ + AutoMinorVersionUpgrade?: boolean; + /** *

                                                      The upgraded version of the cache engine to be run on the cache nodes.

                                                      * @@ -7453,91 +8098,6 @@ export interface ModifyCacheClusterMessage { */ EngineVersion?: string; - /** - *

                                                      A list of cache security group names to authorize on this cluster. - * This change is asynchronously applied as soon as possible.

                                                      - *

                                                      You can use this parameter only with clusters that are created outside of an Amazon Virtual Private Cloud (Amazon VPC).

                                                      - *

                                                      Constraints: Must contain no more than 255 alphanumeric characters. Must not be "Default".

                                                      - */ - CacheSecurityGroupNames?: string[]; - - /** - *

                                                      If true, this parameter causes the modifications in this request and any - * pending modifications to be applied, asynchronously and as soon as possible, regardless - * of the PreferredMaintenanceWindow setting for the cluster.

                                                      - *

                                                      If false, changes to the cluster are applied on the next - * maintenance reboot, or the next failure reboot, whichever occurs first.

                                                      - * - *

                                                      If you perform a ModifyCacheCluster before a pending modification is applied, - * the pending modification is replaced by the newer modification.

                                                      - *
                                                      - *

                                                      Valid values: true | false - *

                                                      - *

                                                      Default: false - *

                                                      - */ - ApplyImmediately?: boolean; - - /** - *

                                                      This parameter is currently disabled.

                                                      - */ - AutoMinorVersionUpgrade?: boolean; - - /** - *

                                                      The name of the cache parameter group to apply to this cluster. This change is - * asynchronously applied as soon as possible for parameters when the - * ApplyImmediately parameter is specified as true for this request.

                                                      - */ - CacheParameterGroupName?: string; - - /** - *

                                                      Specifies the weekly time range during which maintenance - * on the cluster is performed. It is specified as a range in - * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum - * maintenance window is a 60 minute period.

                                                      - *

                                                      Valid values for ddd are:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * sun - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * mon - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * tue - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * wed - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * thu - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * fri - *

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * sat - *

                                                        - *
                                                      • - *
                                                      - *

                                                      Example: sun:23:00-mon:01:30 - *

                                                      - */ - PreferredMaintenanceWindow?: string; - /** *

                                                      The list of Availability Zones where the new Memcached cache nodes are created.

                                                      *

                                                      This parameter is only valid when NumCacheNodes in the request is greater @@ -7645,6 +8205,12 @@ export interface ModifyCacheClusterMessage { */ NewAvailabilityZones?: string[]; + /** + *

                                                      Specifies the VPC Security Groups associated with the cluster.

                                                      + *

                                                      This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (Amazon VPC).

                                                      + */ + SecurityGroupIds?: string[]; + /** *

                                                      The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.

                                                      * @@ -7653,12 +8219,6 @@ export interface ModifyCacheClusterMessage { */ NotificationTopicArn?: string; - /** - *

                                                      Specifies the VPC Security Groups associated with the cluster.

                                                      - *

                                                      This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (Amazon VPC).

                                                      - */ - SecurityGroupIds?: string[]; - /** *

                                                      The number of cache nodes that the cluster should have. * If the value for NumCacheNodes is greater than the sum of the number of current cache nodes and @@ -7688,7 +8248,37 @@ export interface ModifyCacheClusterMessage { * set NumCacheNodes equal to the number of cache nodes currently in the cluster.

                                                      *
                                                      */ - NumCacheNodes?: number; + NumCacheNodes?: number; + + /** + *

                                                      If true, this parameter causes the modifications in this request and any + * pending modifications to be applied, asynchronously and as soon as possible, regardless + * of the PreferredMaintenanceWindow setting for the cluster.

                                                      + *

                                                      If false, changes to the cluster are applied on the next + * maintenance reboot, or the next failure reboot, whichever occurs first.

                                                      + * + *

                                                      If you perform a ModifyCacheCluster before a pending modification is applied, + * the pending modification is replaced by the newer modification.

                                                      + *
                                                      + *

                                                      Valid values: true | false + *

                                                      + *

                                                      Default: false + *

                                                      + */ + ApplyImmediately?: boolean; + + /** + *

                                                      The status of the Amazon SNS notification topic. Notifications are sent only if the + * status is active.

                                                      + *

                                                      Valid values: active | inactive + *

                                                      + */ + NotificationTopicStatus?: string; + + /** + *

                                                      The cluster identifier. This value is stored as a lowercase string.

                                                      + */ + CacheClusterId: string | undefined; /** *

                                                      A list of cache node IDs to be removed. A node ID is a numeric identifier (0001, 0002, @@ -7702,55 +8292,95 @@ export interface ModifyCacheClusterMessage { CacheNodeIdsToRemove?: string[]; /** - *

                                                      A valid cache node type that you want to scale this cluster up to.

                                                      - */ - CacheNodeType?: string; - - /** - *

                                                      The cluster identifier. This value is stored as a lowercase string.

                                                      + *

                                                      Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. + * Possible values:

                                                      + *
                                                        + *
                                                      • + *

                                                        Rotate

                                                        + *
                                                      • + *
                                                      • + *

                                                        Set

                                                        + *
                                                      • + *
                                                      + *

                                                      + * For more information, see Authenticating Users with Redis AUTH + *

                                                      */ - CacheClusterId: string | undefined; + AuthTokenUpdateStrategy?: AuthTokenUpdateStrategyType | string; /** - *

                                                      The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of - * your cluster.

                                                      + *

                                                      A valid cache node type that you want to scale this cluster up to.

                                                      */ - SnapshotWindow?: string; + CacheNodeType?: string; /** - *

                                                      The number of days for which ElastiCache retains automatic cluster snapshots before - * deleting them. For example, if you set SnapshotRetentionLimit to 5, a - * snapshot that was taken today is retained for 5 days before being deleted.

                                                      + *

                                                      Specifies whether the new nodes in this Memcached cluster are all created in a + * single Availability Zone or created across multiple Availability Zones.

                                                      + *

                                                      Valid values: single-az | cross-az.

                                                      + *

                                                      This option is only supported for Memcached clusters.

                                                      * - *

                                                      If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

                                                      - *
                                                      - */ - SnapshotRetentionLimit?: number; - - /** - *

                                                      The status of the Amazon SNS notification topic. Notifications are sent only if the - * status is active.

                                                      - *

                                                      Valid values: active | inactive - *

                                                      + *

                                                      You cannot specify single-az if the Memcached cluster already has cache nodes in different Availability Zones. + * If cross-az is specified, existing Memcached nodes remain in their current Availability Zone.

                                                      + *

                                                      Only newly created nodes are located in different Availability Zones. + *

                                                      + * */ - NotificationTopicStatus?: string; + AZMode?: AZMode | string; /** - *

                                                      Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. - * Possible values:

                                                      - *
                                                        + *

                                                        Specifies the weekly time range during which maintenance + * on the cluster is performed. It is specified as a range in + * the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum + * maintenance window is a 60 minute period.

                                                        + *

                                                        Valid values for ddd are:

                                                        + *
                                                          *
                                                        • - *

                                                          Rotate

                                                          + *

                                                          + * sun + *

                                                          *
                                                        • *
                                                        • - *

                                                          Set

                                                          + *

                                                          + * mon + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * tue + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * wed + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * thu + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * fri + *

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * sat + *

                                                          *
                                                        • *
                                                        - *

                                                        - * For more information, see Authenticating Users with Redis AUTH + *

                                                        Example: sun:23:00-mon:01:30 *

                                                        */ - AuthTokenUpdateStrategy?: AuthTokenUpdateStrategyType | string; + PreferredMaintenanceWindow?: string; + + /** + *

                                                        The name of the cache parameter group to apply to this cluster. This change is + * asynchronously applied as soon as possible for parameters when the + * ApplyImmediately parameter is specified as true for this request.

                                                        + */ + CacheParameterGroupName?: string; /** *

                                                        Reserved parameter. The password used to access a password protected server. This parameter must be specified with the auth-token-update parameter. @@ -7773,18 +8403,28 @@ export interface ModifyCacheClusterMessage { AuthToken?: string; /** - *

                                                        Specifies whether the new nodes in this Memcached cluster are all created in a - * single Availability Zone or created across multiple Availability Zones.

                                                        - *

                                                        Valid values: single-az | cross-az.

                                                        - *

                                                        This option is only supported for Memcached clusters.

                                                        + *

                                                        The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of + * your cluster.

                                                        + */ + SnapshotWindow?: string; + + /** + *

                                                        The number of days for which ElastiCache retains automatic cluster snapshots before + * deleting them. For example, if you set SnapshotRetentionLimit to 5, a + * snapshot that was taken today is retained for 5 days before being deleted.

                                                        * - *

                                                        You cannot specify single-az if the Memcached cluster already has cache nodes in different Availability Zones. - * If cross-az is specified, existing Memcached nodes remain in their current Availability Zone.

                                                        - *

                                                        Only newly created nodes are located in different Availability Zones. - *

                                                        - *
                                                        + *

                                                        If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

                                                        + * */ - AZMode?: AZMode | string; + SnapshotRetentionLimit?: number; + + /** + *

                                                        A list of cache security group names to authorize on this cluster. + * This change is asynchronously applied as soon as possible.

                                                        + *

                                                        You can use this parameter only with clusters that are created outside of an Amazon Virtual Private Cloud (Amazon VPC).

                                                        + *

                                                        Constraints: Must contain no more than 255 alphanumeric characters. Must not be "Default".

                                                        + */ + CacheSecurityGroupNames?: string[]; } export namespace ModifyCacheClusterMessage { @@ -7839,14 +8479,14 @@ export namespace CacheParameterGroupNameMessage { */ export interface ParameterNameValue { /** - *

                                                        The value of the parameter.

                                                        + *

                                                        The name of the parameter.

                                                        */ - ParameterValue?: string; + ParameterName?: string; /** - *

                                                        The name of the parameter.

                                                        + *

                                                        The value of the parameter.

                                                        */ - ParameterName?: string; + ParameterValue?: string; } export namespace ParameterNameValue { @@ -7947,9 +8587,11 @@ export namespace SubnetInUse { export interface ModifyGlobalReplicationGroupMessage { /** - *

                                                        A valid cache node type that you want to scale this Global Datastore to.

                                                        + *

                                                        This parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible. Modifications to Global + * Replication Groups cannot be requested to be applied in PreferredMaintenceWindow. + *

                                                        */ - CacheNodeType?: string; + ApplyImmediately: boolean | undefined; /** *

                                                        The upgraded version of the cache engine to be run on the clusters in the Global Datastore.

                                                        @@ -7957,9 +8599,9 @@ export interface ModifyGlobalReplicationGroupMessage { EngineVersion?: string; /** - *

                                                        The name of the Global Datastore

                                                        + *

                                                        A valid cache node type that you want to scale this Global Datastore to.

                                                        */ - GlobalReplicationGroupId: string | undefined; + CacheNodeType?: string; /** *

                                                        A description of the Global Datastore

                                                        @@ -7967,16 +8609,14 @@ export interface ModifyGlobalReplicationGroupMessage { GlobalReplicationGroupDescription?: string; /** - *

                                                        This parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible. Modifications to Global - * Replication Groups cannot be requested to be applied in PreferredMaintenceWindow. - *

                                                        + *

                                                        Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.

                                                        */ - ApplyImmediately: boolean | undefined; + AutomaticFailoverEnabled?: boolean; /** - *

                                                        Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.

                                                        + *

                                                        The name of the Global Datastore

                                                        */ - AutomaticFailoverEnabled?: boolean; + GlobalReplicationGroupId: string | undefined; } export namespace ModifyGlobalReplicationGroupMessage { @@ -8011,25 +8651,6 @@ export namespace ModifyGlobalReplicationGroupResult { *

                                                        Represents the input of a ModifyReplicationGroups operation.

                                                        */ export interface ModifyReplicationGroupMessage { - /** - *

                                                        The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of - * the node group (shard) specified by SnapshottingClusterId.

                                                        - *

                                                        Example: 05:00-09:00 - *

                                                        - *

                                                        If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

                                                        - */ - SnapshotWindow?: string; - - /** - *

                                                        The number of days for which ElastiCache retains automatic node group (shard) snapshots before - * deleting them. For example, if you set SnapshotRetentionLimit to 5, a - * snapshot that was taken today is retained for 5 days before being deleted.

                                                        - *

                                                        - * Important If the value of SnapshotRetentionLimit is set to zero (0), - * backups are turned off.

                                                        - */ - SnapshotRetentionLimit?: number; - /** *

                                                        A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ.

                                                        */ @@ -8040,6 +8661,15 @@ export interface ModifyReplicationGroupMessage { */ CacheNodeType?: string; + /** + *

                                                        The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of + * the node group (shard) specified by SnapshottingClusterId.

                                                        + *

                                                        Example: 05:00-09:00 + *

                                                        + *

                                                        If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

                                                        + */ + SnapshotWindow?: string; + /** *

                                                        The cluster ID that is used as the daily snapshot source for the replication group. * This parameter cannot be set for Redis (cluster mode enabled) replication groups.

                                                        @@ -8047,52 +8677,63 @@ export interface ModifyReplicationGroupMessage { SnapshottingClusterId?: string; /** - *

                                                        Reserved parameter. The password used to access a password protected server. This parameter must be specified with the auth-token-update-strategy - * parameter. - * Password constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          Must be only printable ASCII characters

                                                          - *
                                                        • + *

                                                          Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. + * Possible values:

                                                          + *
                                                            *
                                                          • - *

                                                            Must be at least 16 characters and no more than 128 characters in length

                                                            + *

                                                            Rotate

                                                            *
                                                          • *
                                                          • - *

                                                            Cannot contain any of the following characters: '/', '"', or '@', '%'

                                                            + *

                                                            Set

                                                            *
                                                          • *
                                                          - *

                                                          - * - * For more information, see AUTH password at AUTH.

                                                          + *

                                                          + * For more information, see Authenticating Users with Redis AUTH + *

                                                          */ - AuthToken?: string; + AuthTokenUpdateStrategy?: AuthTokenUpdateStrategyType | string; /** - *

                                                          This parameter is currently disabled.

                                                          + *

                                                          The identifier of the replication group to modify.

                                                          */ - AutoMinorVersionUpgrade?: boolean; + ReplicationGroupId: string | undefined; /** - *

                                                          Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.

                                                          - *

                                                          Valid values: true | false - *

                                                          + *

                                                          A list of user group IDs.

                                                          */ - AutomaticFailoverEnabled?: boolean; + UserGroupIdsToAdd?: string[]; /** - *

                                                          The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.

                                                          - * - *

                                                          The Amazon SNS topic owner must be same as the replication group owner.

                                                          - *
                                                          + *

                                                          A list of users groups to remove, meaning the users in the group no longer can access thereplication group.

                                                          + */ + UserGroupIdsToRemove?: string[]; + + /** + *

                                                          The number of days for which ElastiCache retains automatic node group (shard) snapshots before + * deleting them. For example, if you set SnapshotRetentionLimit to 5, a + * snapshot that was taken today is retained for 5 days before being deleted.

                                                          + *

                                                          + * Important If the value of SnapshotRetentionLimit is set to zero (0), + * backups are turned off.

                                                          + */ + SnapshotRetentionLimit?: number; + + /** + *

                                                          Deprecated. This parameter is not used.

                                                          + */ + NodeGroupId?: string; + + /** + *

                                                          Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.

                                                          + *

                                                          Valid values: true | false + *

                                                          */ - NotificationTopicArn?: string; + AutomaticFailoverEnabled?: boolean; /** - *

                                                          The name of the cache parameter group to apply to all of the clusters in this replication group. - * This change is asynchronously applied as soon as possible for parameters when the - * ApplyImmediately parameter is specified as true for this request.

                                                          + *

                                                          Removes the user groups that can access this replication group.

                                                          */ - CacheParameterGroupName?: string; + RemoveUserGroups?: boolean; /** *

                                                          Specifies the weekly time range during which maintenance @@ -8143,11 +8784,17 @@ export interface ModifyReplicationGroupMessage { PreferredMaintenanceWindow?: string; /** - *

                                                          Specifies the VPC Security Groups associated with the clusters in the replication group.

                                                          - *

                                                          This parameter can be used only with replication group containing clusters running in - * an Amazon Virtual Private Cloud (Amazon VPC).

                                                          + *

                                                          The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.

                                                          + * + *

                                                          The Amazon SNS topic owner must be same as the replication group owner.

                                                          + *
                                                          */ - SecurityGroupIds?: string[]; + NotificationTopicArn?: string; + + /** + *

                                                          This parameter is currently disabled.

                                                          + */ + AutoMinorVersionUpgrade?: boolean; /** *

                                                          For replication groups with a single primary, @@ -8157,9 +8804,18 @@ export interface ModifyReplicationGroupMessage { PrimaryClusterId?: string; /** - *

                                                          A description for the replication group. Maximum length is 255 characters.

                                                          + *

                                                          Specifies the VPC Security Groups associated with the clusters in the replication group.

                                                          + *

                                                          This parameter can be used only with replication group containing clusters running in + * an Amazon Virtual Private Cloud (Amazon VPC).

                                                          */ - ReplicationGroupDescription?: string; + SecurityGroupIds?: string[]; + + /** + *

                                                          The name of the cache parameter group to apply to all of the clusters in this replication group. + * This change is asynchronously applied as soon as possible for parameters when the + * ApplyImmediately parameter is specified as true for this request.

                                                          + */ + CacheParameterGroupName?: string; /** *

                                                          The upgraded version of the cache engine to be run on the clusters in the replication group.

                                                          @@ -8172,11 +8828,9 @@ export interface ModifyReplicationGroupMessage { EngineVersion?: string; /** - *

                                                          A list of cache security group names to authorize for the clusters in this replication group. This change is asynchronously applied as soon as possible.

                                                          - *

                                                          This parameter can be used only with replication group containing clusters running outside of an Amazon Virtual Private Cloud (Amazon VPC).

                                                          - *

                                                          Constraints: Must contain no more than 255 alphanumeric characters. Must not be Default.

                                                          + *

                                                          A description for the replication group. Maximum length is 255 characters.

                                                          */ - CacheSecurityGroupNames?: string[]; + ReplicationGroupDescription?: string; /** *

                                                          If true, this parameter causes the modifications in this request and any @@ -8192,31 +8846,32 @@ export interface ModifyReplicationGroupMessage { ApplyImmediately?: boolean; /** - *

                                                          Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. - * Possible values:

                                                          - *
                                                            + *

                                                            A list of cache security group names to authorize for the clusters in this replication group. This change is asynchronously applied as soon as possible.

                                                            + *

                                                            This parameter can be used only with replication group containing clusters running outside of an Amazon Virtual Private Cloud (Amazon VPC).

                                                            + *

                                                            Constraints: Must contain no more than 255 alphanumeric characters. Must not be Default.

                                                            + */ + CacheSecurityGroupNames?: string[]; + + /** + *

                                                            Reserved parameter. The password used to access a password protected server. This parameter must be specified with the auth-token-update-strategy + * parameter. + * Password constraints:

                                                            + *
                                                              *
                                                            • - *

                                                              Rotate

                                                              + *

                                                              Must be only printable ASCII characters

                                                              *
                                                            • *
                                                            • - *

                                                              Set

                                                              + *

                                                              Must be at least 16 characters and no more than 128 characters in length

                                                              + *
                                                            • + *
                                                            • + *

                                                              Cannot contain any of the following characters: '/', '"', or '@', '%'

                                                              *
                                                            • *
                                                            - *

                                                            - * For more information, see Authenticating Users with Redis AUTH - *

                                                            - */ - AuthTokenUpdateStrategy?: AuthTokenUpdateStrategyType | string; - - /** - *

                                                            Deprecated. This parameter is not used.

                                                            - */ - NodeGroupId?: string; - - /** - *

                                                            The identifier of the replication group to modify.

                                                            + *

                                                            + * + * For more information, see AUTH password at AUTH.

                                                            */ - ReplicationGroupId: string | undefined; + AuthToken?: string; /** *

                                                            The status of the Amazon SNS notification topic for the replication group. @@ -8250,24 +8905,6 @@ export namespace ModifyReplicationGroupResult { *

                                                            Represents the input for a ModifyReplicationGroupShardConfiguration operation.

                                                            */ export interface ModifyReplicationGroupShardConfigurationMessage { - /** - *

                                                            If the value of NodeGroupCount is less than the - * current number of node groups (shards), then either NodeGroupsToRemove or - * NodeGroupsToRetain is required. - * NodeGroupsToRetain is a list of NodeGroupIds to retain - * in the cluster.

                                                            - *

                                                            ElastiCache for Redis will attempt to remove all node groups except those listed by NodeGroupsToRetain - * from the cluster.

                                                            - */ - NodeGroupsToRetain?: string[]; - - /** - *

                                                            Indicates that the shard reconfiguration process begins immediately. - * At present, the only permitted value for this parameter is true.

                                                            - *

                                                            Value: true

                                                            - */ - ApplyImmediately: boolean | undefined; - /** *

                                                            If the value of NodeGroupCount is less than the * current number of node groups (shards), then either NodeGroupsToRemove or @@ -8279,18 +8916,18 @@ export interface ModifyReplicationGroupShardConfigurationMessage { */ NodeGroupsToRemove?: string[]; - /** - *

                                                            The number of node groups (shards) that results from the modification of the - * shard configuration.

                                                            - */ - NodeGroupCount: number | undefined; - /** *

                                                            The name of the Redis (cluster mode enabled) cluster (replication group) * on which the shards are to be configured.

                                                            */ ReplicationGroupId: string | undefined; + /** + *

                                                            The number of node groups (shards) that results from the modification of the + * shard configuration.

                                                            + */ + NodeGroupCount: number | undefined; + /** *

                                                            Specifies the preferred availability zones for each node group in the cluster. * If the value of NodeGroupCount is greater than the current number @@ -8301,6 +8938,24 @@ export interface ModifyReplicationGroupShardConfigurationMessage { * is greater than the current number of node groups (shards).

                                                            */ ReshardingConfiguration?: ReshardingConfiguration[]; + + /** + *

                                                            Indicates that the shard reconfiguration process begins immediately. + * At present, the only permitted value for this parameter is true.

                                                            + *

                                                            Value: true

                                                            + */ + ApplyImmediately: boolean | undefined; + + /** + *

                                                            If the value of NodeGroupCount is less than the + * current number of node groups (shards), then either NodeGroupsToRemove or + * NodeGroupsToRetain is required. + * NodeGroupsToRetain is a list of NodeGroupIds to retain + * in the cluster.

                                                            + *

                                                            ElastiCache for Redis will attempt to remove all node groups except those listed by NodeGroupsToRetain + * from the cluster.

                                                            + */ + NodeGroupsToRetain?: string[]; } export namespace ModifyReplicationGroupShardConfigurationMessage { @@ -8322,24 +8977,66 @@ export namespace ModifyReplicationGroupShardConfigurationResult { }); } -/** - *

                                                            Represents the input of a PurchaseReservedCacheNodesOffering operation.

                                                            - */ -export interface PurchaseReservedCacheNodesOfferingMessage { +export interface ModifyUserMessage { /** - *

                                                            The ID of the reserved cache node offering to purchase.

                                                            - *

                                                            Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 - *

                                                            + *

                                                            The ID of the user.

                                                            */ - ReservedCacheNodesOfferingId: string | undefined; + UserId: string | undefined; /** - *

                                                            The number of cache node instances to reserve.

                                                            - *

                                                            Default: 1 - *

                                                            + *

                                                            Indicates no password is required for the user account.

                                                            */ - CacheNodeCount?: number; + NoPasswordRequired?: boolean; + + /** + *

                                                            Access permissions string used for this user account.

                                                            + */ + AccessString?: string; + + /** + *

                                                            Adds additional user permissions to the access string.

                                                            + */ + AppendAccessString?: string; + + /** + *

                                                            The passwords belonging to the user account. You are allowed up to two.

                                                            + */ + Passwords?: string[]; +} + +export namespace ModifyUserMessage { + export const filterSensitiveLog = (obj: ModifyUserMessage): any => ({ + ...obj, + }); +} + +export interface ModifyUserGroupMessage { + /** + *

                                                            The list of user IDs to remove from the user group.

                                                            + */ + UserIdsToRemove?: string[]; + + /** + *

                                                            The ID of the user group.

                                                            + */ + UserGroupId: string | undefined; + /** + *

                                                            The list of user IDs to add to the user group.

                                                            + */ + UserIdsToAdd?: string[]; +} + +export namespace ModifyUserGroupMessage { + export const filterSensitiveLog = (obj: ModifyUserGroupMessage): any => ({ + ...obj, + }); +} + +/** + *

                                                            Represents the input of a PurchaseReservedCacheNodesOffering operation.

                                                            + */ +export interface PurchaseReservedCacheNodesOfferingMessage { /** *

                                                            A customer-specified identifier to track this reservation.

                                                            * @@ -8350,6 +9047,20 @@ export interface PurchaseReservedCacheNodesOfferingMessage { *

                                                            Example: myreservationID

                                                            */ ReservedCacheNodeId?: string; + + /** + *

                                                            The number of cache node instances to reserve.

                                                            + *

                                                            Default: 1 + *

                                                            + */ + CacheNodeCount?: number; + + /** + *

                                                            The ID of the reserved cache node offering to purchase.

                                                            + *

                                                            Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 + *

                                                            + */ + ReservedCacheNodesOfferingId: string | undefined; } export namespace PurchaseReservedCacheNodesOfferingMessage { @@ -8479,6 +9190,11 @@ export namespace RebootCacheClusterResult { *

                                                            Represents the input of a RemoveTagsFromResource operation.

                                                            */ export interface RemoveTagsFromResourceMessage { + /** + *

                                                            A list of TagKeys identifying the tags you want removed from the named resource.

                                                            + */ + TagKeys: string[] | undefined; + /** *

                                                            The Amazon Resource Name (ARN) of the resource from which you want the tags removed, * for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster @@ -8486,11 +9202,6 @@ export interface RemoveTagsFromResourceMessage { *

                                                            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                            */ ResourceName: string | undefined; - - /** - *

                                                            A list of TagKeys identifying the tags you want removed from the named resource.

                                                            - */ - TagKeys: string[] | undefined; } export namespace RemoveTagsFromResourceMessage { @@ -8523,6 +9234,15 @@ export interface ResetCacheParameterGroupMessage { */ CacheParameterGroupName: string | undefined; + /** + *

                                                            An array of parameter names to reset to their default values. + * If ResetAllParameters is true, + * do not use ParameterNameValues. + * If ResetAllParameters is false, + * you must specify the name of at least one parameter to reset.

                                                            + */ + ParameterNameValues?: ParameterNameValue[]; + /** *

                                                            If true, * all parameters in the cache parameter group are reset to their default values. @@ -8532,15 +9252,6 @@ export interface ResetCacheParameterGroupMessage { *

                                                            */ ResetAllParameters?: boolean; - - /** - *

                                                            An array of parameter names to reset to their default values. - * If ResetAllParameters is true, - * do not use ParameterNameValues. - * If ResetAllParameters is false, - * you must specify the name of at least one parameter to reset.

                                                            - */ - ParameterNameValues?: ParameterNameValue[]; } export namespace ResetCacheParameterGroupMessage { @@ -8568,6 +9279,13 @@ export namespace AuthorizationNotFoundFault { *

                                                            Represents the input of a RevokeCacheSecurityGroupIngress operation.

                                                            */ export interface RevokeCacheSecurityGroupIngressMessage { + /** + *

                                                            The AWS account number of the Amazon EC2 security group owner. + * Note that this is not the same thing as an AWS access key ID - you must provide + * a valid AWS account number for this parameter.

                                                            + */ + EC2SecurityGroupOwnerId: string | undefined; + /** *

                                                            The name of the cache security group to revoke ingress from.

                                                            */ @@ -8577,13 +9295,6 @@ export interface RevokeCacheSecurityGroupIngressMessage { *

                                                            The name of the Amazon EC2 security group to revoke access from.

                                                            */ EC2SecurityGroupName: string | undefined; - - /** - *

                                                            The AWS account number of the Amazon EC2 security group owner. - * Note that this is not the same thing as an AWS access key ID - you must provide - * a valid AWS account number for this parameter.

                                                            - */ - EC2SecurityGroupOwnerId: string | undefined; } export namespace RevokeCacheSecurityGroupIngressMessage { @@ -8642,14 +9353,14 @@ export namespace ReplicationGroupAlreadyUnderMigrationFault { */ export interface CustomerNodeEndpoint { /** - *

                                                            The address of the node endpoint

                                                            + *

                                                            The port of the node endpoint

                                                            */ - Address?: string; + Port?: number; /** - *

                                                            The port of the node endpoint

                                                            + *

                                                            The address of the node endpoint

                                                            */ - Port?: number; + Address?: string; } export namespace CustomerNodeEndpoint { @@ -8660,14 +9371,14 @@ export namespace CustomerNodeEndpoint { export interface StartMigrationMessage { /** - *

                                                            List of endpoints from which data should be migrated. For Redis (cluster mode disabled), list should have only one element.

                                                            + *

                                                            The ID of the replication group to which data should be migrated.

                                                            */ - CustomerNodeEndpointList: CustomerNodeEndpoint[] | undefined; + ReplicationGroupId: string | undefined; /** - *

                                                            The ID of the replication group to which data should be migrated.

                                                            + *

                                                            List of endpoints from which data should be migrated. For Redis (cluster mode disabled), list should have only one element.

                                                            */ - ReplicationGroupId: string | undefined; + CustomerNodeEndpointList: CustomerNodeEndpoint[] | undefined; } export namespace StartMigrationMessage { @@ -8721,18 +9432,18 @@ export namespace NodeGroupNotFoundFault { } export interface TestFailoverMessage { + /** + *

                                                            The name of the replication group (console: cluster) whose automatic failover is being + * tested by this operation.

                                                            + */ + ReplicationGroupId: string | undefined; + /** *

                                                            The name of the node group (called shard in the console) in this replication group on * which automatic failover is to be tested. * You may test automatic failover on up to 5 node groups in any rolling 24-hour period.

                                                            */ NodeGroupId: string | undefined; - - /** - *

                                                            The name of the replication group (console: cluster) whose automatic failover is being - * tested by this operation.

                                                            - */ - ReplicationGroupId: string | undefined; } export namespace TestFailoverMessage { diff --git a/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts b/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts new file mode 100644 index 000000000000..f8e4e41e9afb --- /dev/null +++ b/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts @@ -0,0 +1,51 @@ +import { ElastiCache } from "../ElastiCache"; +import { ElastiCacheClient } from "../ElastiCacheClient"; +import { + DescribeEngineDefaultParametersCommand, + DescribeEngineDefaultParametersCommandInput, + DescribeEngineDefaultParametersCommandOutput, +} from "../commands/DescribeEngineDefaultParametersCommand"; +import { ElastiCachePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ElastiCacheClient, + input: DescribeEngineDefaultParametersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEngineDefaultParametersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: ElastiCache, + input: DescribeEngineDefaultParametersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEngineDefaultParameters(input, ...args); +}; +export async function* describeEngineDefaultParametersPaginate( + config: ElastiCachePaginationConfiguration, + input: DescribeEngineDefaultParametersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEngineDefaultParametersCommandOutput; + while (hasNext) { + input["Marker"] = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof ElastiCache) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ElastiCacheClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); + } + yield page; + token = page["EngineDefaults"]["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-elasticache/pagination/DescribeUserGroupsPaginator.ts b/clients/client-elasticache/pagination/DescribeUserGroupsPaginator.ts new file mode 100644 index 000000000000..1a44033412b1 --- /dev/null +++ b/clients/client-elasticache/pagination/DescribeUserGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { ElastiCache } from "../ElastiCache"; +import { ElastiCacheClient } from "../ElastiCacheClient"; +import { + DescribeUserGroupsCommand, + DescribeUserGroupsCommandInput, + DescribeUserGroupsCommandOutput, +} from "../commands/DescribeUserGroupsCommand"; +import { ElastiCachePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ElastiCacheClient, + input: DescribeUserGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeUserGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: ElastiCache, + input: DescribeUserGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeUserGroups(input, ...args); +}; +export async function* describeUserGroupsPaginate( + config: ElastiCachePaginationConfiguration, + input: DescribeUserGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeUserGroupsCommandOutput; + while (hasNext) { + input["Marker"] = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof ElastiCache) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ElastiCacheClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); + } + yield page; + token = page["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-elasticache/pagination/DescribeUsersPaginator.ts b/clients/client-elasticache/pagination/DescribeUsersPaginator.ts new file mode 100644 index 000000000000..4518d0b2122c --- /dev/null +++ b/clients/client-elasticache/pagination/DescribeUsersPaginator.ts @@ -0,0 +1,51 @@ +import { ElastiCache } from "../ElastiCache"; +import { ElastiCacheClient } from "../ElastiCacheClient"; +import { + DescribeUsersCommand, + DescribeUsersCommandInput, + DescribeUsersCommandOutput, +} from "../commands/DescribeUsersCommand"; +import { ElastiCachePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ElastiCacheClient, + input: DescribeUsersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeUsersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: ElastiCache, + input: DescribeUsersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeUsers(input, ...args); +}; +export async function* describeUsersPaginate( + config: ElastiCachePaginationConfiguration, + input: DescribeUsersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeUsersCommandOutput; + while (hasNext) { + input["Marker"] = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof ElastiCache) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ElastiCacheClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); + } + yield page; + token = page["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-elasticache/protocols/Aws_query.ts b/clients/client-elasticache/protocols/Aws_query.ts index a2d79b89e926..45a8c229275b 100644 --- a/clients/client-elasticache/protocols/Aws_query.ts +++ b/clients/client-elasticache/protocols/Aws_query.ts @@ -35,6 +35,8 @@ import { CreateReplicationGroupCommandOutput, } from "../commands/CreateReplicationGroupCommand"; import { CreateSnapshotCommandInput, CreateSnapshotCommandOutput } from "../commands/CreateSnapshotCommand"; +import { CreateUserCommandInput, CreateUserCommandOutput } from "../commands/CreateUserCommand"; +import { CreateUserGroupCommandInput, CreateUserGroupCommandOutput } from "../commands/CreateUserGroupCommand"; import { DecreaseNodeGroupsInGlobalReplicationGroupCommandInput, DecreaseNodeGroupsInGlobalReplicationGroupCommandOutput, @@ -65,6 +67,8 @@ import { DeleteReplicationGroupCommandOutput, } from "../commands/DeleteReplicationGroupCommand"; import { DeleteSnapshotCommandInput, DeleteSnapshotCommandOutput } from "../commands/DeleteSnapshotCommand"; +import { DeleteUserCommandInput, DeleteUserCommandOutput } from "../commands/DeleteUserCommand"; +import { DeleteUserGroupCommandInput, DeleteUserGroupCommandOutput } from "../commands/DeleteUserGroupCommand"; import { DescribeCacheClustersCommandInput, DescribeCacheClustersCommandOutput, @@ -119,6 +123,8 @@ import { DescribeUpdateActionsCommandInput, DescribeUpdateActionsCommandOutput, } from "../commands/DescribeUpdateActionsCommand"; +import { DescribeUserGroupsCommandInput, DescribeUserGroupsCommandOutput } from "../commands/DescribeUserGroupsCommand"; +import { DescribeUsersCommandInput, DescribeUsersCommandOutput } from "../commands/DescribeUsersCommand"; import { DisassociateGlobalReplicationGroupCommandInput, DisassociateGlobalReplicationGroupCommandOutput, @@ -164,6 +170,8 @@ import { ModifyReplicationGroupShardConfigurationCommandInput, ModifyReplicationGroupShardConfigurationCommandOutput, } from "../commands/ModifyReplicationGroupShardConfigurationCommand"; +import { ModifyUserCommandInput, ModifyUserCommandOutput } from "../commands/ModifyUserCommand"; +import { ModifyUserGroupCommandInput, ModifyUserGroupCommandOutput } from "../commands/ModifyUserGroupCommand"; import { PurchaseReservedCacheNodesOfferingCommandInput, PurchaseReservedCacheNodesOfferingCommandOutput, @@ -191,6 +199,7 @@ import { APICallRateForCustomerExceededFault, AddTagsToResourceMessage, AllowedNodeTypeModificationsMessage, + Authentication, AuthorizationAlreadyExistsFault, AuthorizationNotFoundFault, AuthorizeCacheSecurityGroupIngressMessage, @@ -249,11 +258,15 @@ import { CreateReplicationGroupResult, CreateSnapshotMessage, CreateSnapshotResult, + CreateUserGroupMessage, + CreateUserMessage, CustomerNodeEndpoint, DecreaseNodeGroupsInGlobalReplicationGroupMessage, DecreaseNodeGroupsInGlobalReplicationGroupResult, DecreaseReplicaCountMessage, DecreaseReplicaCountResult, + DefaultUserAssociatedToUserGroupFault, + DefaultUserRequired, DeleteCacheClusterMessage, DeleteCacheClusterResult, DeleteCacheParameterGroupMessage, @@ -265,6 +278,8 @@ import { DeleteReplicationGroupResult, DeleteSnapshotMessage, DeleteSnapshotResult, + DeleteUserGroupMessage, + DeleteUserMessage, DescribeCacheClustersMessage, DescribeCacheEngineVersionsMessage, DescribeCacheParameterGroupsMessage, @@ -283,8 +298,13 @@ import { DescribeSnapshotsListMessage, DescribeSnapshotsMessage, DescribeUpdateActionsMessage, + DescribeUserGroupsMessage, + DescribeUserGroupsResult, + DescribeUsersMessage, + DescribeUsersResult, DisassociateGlobalReplicationGroupMessage, DisassociateGlobalReplicationGroupResult, + DuplicateUserNameFault, EC2SecurityGroup, Endpoint, EngineDefaults, @@ -292,6 +312,7 @@ import { EventsMessage, FailoverGlobalReplicationGroupMessage, FailoverGlobalReplicationGroupResult, + Filter, GlobalNodeGroup, GlobalReplicationGroup, GlobalReplicationGroupAlreadyExistsFault, @@ -314,6 +335,8 @@ import { InvalidReplicationGroupStateFault, InvalidSnapshotStateFault, InvalidSubnet, + InvalidUserGroupStateFault, + InvalidUserStateFault, InvalidVPCNetworkStateFault, ListAllowedNodeTypeModificationsMessage, ListTagsForResourceMessage, @@ -328,6 +351,8 @@ import { ModifyReplicationGroupResult, ModifyReplicationGroupShardConfigurationMessage, ModifyReplicationGroupShardConfigurationResult, + ModifyUserGroupMessage, + ModifyUserMessage, NoOperationFault, NodeGroup, NodeGroupConfiguration, @@ -389,6 +414,8 @@ import { StartMigrationResponse, Subnet, SubnetInUse, + SubnetNotAllowedFault, + SubnetOutpost, Tag, TagListMessage, TagNotFoundFault, @@ -402,6 +429,16 @@ import { UpdateActionResultsMessage, UpdateActionStatus, UpdateActionsMessage, + User, + UserAlreadyExistsFault, + UserGroup, + UserGroupAlreadyExistsFault, + UserGroupNotFoundFault, + UserGroupPendingChanges, + UserGroupQuotaExceededFault, + UserGroupsUpdateStatus, + UserNotFoundFault, + UserQuotaExceededFault, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { @@ -627,6 +664,38 @@ export const serializeAws_queryCreateSnapshotCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_queryCreateUserCommand = async ( + input: CreateUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryCreateUserMessage(input, context), + Action: "CreateUser", + Version: "2015-02-02", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_queryCreateUserGroupCommand = async ( + input: CreateUserGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryCreateUserGroupMessage(input, context), + Action: "CreateUserGroup", + Version: "2015-02-02", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_queryDecreaseNodeGroupsInGlobalReplicationGroupCommand = async ( input: DecreaseNodeGroupsInGlobalReplicationGroupCommandInput, context: __SerdeContext @@ -771,6 +840,38 @@ export const serializeAws_queryDeleteSnapshotCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_queryDeleteUserCommand = async ( + input: DeleteUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryDeleteUserMessage(input, context), + Action: "DeleteUser", + Version: "2015-02-02", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_queryDeleteUserGroupCommand = async ( + input: DeleteUserGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryDeleteUserGroupMessage(input, context), + Action: "DeleteUserGroup", + Version: "2015-02-02", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_queryDescribeCacheClustersCommand = async ( input: DescribeCacheClustersCommandInput, context: __SerdeContext @@ -1011,6 +1112,38 @@ export const serializeAws_queryDescribeUpdateActionsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_queryDescribeUserGroupsCommand = async ( + input: DescribeUserGroupsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryDescribeUserGroupsMessage(input, context), + Action: "DescribeUserGroups", + Version: "2015-02-02", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_queryDescribeUsersCommand = async ( + input: DescribeUsersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryDescribeUsersMessage(input, context), + Action: "DescribeUsers", + Version: "2015-02-02", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_queryDisassociateGlobalReplicationGroupCommand = async ( input: DisassociateGlobalReplicationGroupCommandInput, context: __SerdeContext @@ -1203,6 +1336,38 @@ export const serializeAws_queryModifyReplicationGroupShardConfigurationCommand = return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_queryModifyUserCommand = async ( + input: ModifyUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryModifyUserMessage(input, context), + Action: "ModifyUser", + Version: "2015-02-02", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_queryModifyUserGroupCommand = async ( + input: ModifyUserGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryModifyUserGroupMessage(input, context), + Action: "ModifyUserGroup", + Version: "2015-02-02", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_queryPurchaseReservedCacheNodesOfferingCommand = async ( input: PurchaseReservedCacheNodesOfferingCommandInput, context: __SerdeContext @@ -2169,6 +2334,14 @@ const deserializeAws_queryCreateCacheSubnetGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "SubnetNotAllowedFault": + case "com.amazonaws.elasticache#SubnetNotAllowedFault": + response = { + ...(await deserializeAws_querySubnetNotAllowedFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; @@ -2389,6 +2562,14 @@ const deserializeAws_queryCreateReplicationGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidUserGroupStateFault": + case "com.amazonaws.elasticache#InvalidUserGroupStateFault": + response = { + ...(await deserializeAws_queryInvalidUserGroupStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidVPCNetworkStateFault": case "com.amazonaws.elasticache#InvalidVPCNetworkStateFault": response = { @@ -2437,6 +2618,14 @@ const deserializeAws_queryCreateReplicationGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UserGroupNotFoundFault": + case "com.amazonaws.elasticache#UserGroupNotFoundFault": + response = { + ...(await deserializeAws_queryUserGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; @@ -2572,6 +2761,186 @@ const deserializeAws_queryCreateSnapshotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_queryCreateUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryCreateUserCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryUser(data.CreateUserResult, context); + const response: CreateUserCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryCreateUserCommandError = 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 = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DuplicateUserNameFault": + case "com.amazonaws.elasticache#DuplicateUserNameFault": + response = { + ...(await deserializeAws_queryDuplicateUserNameFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.elasticache#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_queryInvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.elasticache#InvalidParameterValueException": + response = { + ...(await deserializeAws_queryInvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserAlreadyExistsFault": + case "com.amazonaws.elasticache#UserAlreadyExistsFault": + response = { + ...(await deserializeAws_queryUserAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserQuotaExceededFault": + case "com.amazonaws.elasticache#UserQuotaExceededFault": + response = { + ...(await deserializeAws_queryUserQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_queryCreateUserGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryCreateUserGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryUserGroup(data.CreateUserGroupResult, context); + const response: CreateUserGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryCreateUserGroupCommandError = 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 = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DefaultUserRequired": + case "com.amazonaws.elasticache#DefaultUserRequired": + response = { + ...(await deserializeAws_queryDefaultUserRequiredResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DuplicateUserNameFault": + case "com.amazonaws.elasticache#DuplicateUserNameFault": + response = { + ...(await deserializeAws_queryDuplicateUserNameFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.elasticache#InvalidParameterValueException": + response = { + ...(await deserializeAws_queryInvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserGroupAlreadyExistsFault": + case "com.amazonaws.elasticache#UserGroupAlreadyExistsFault": + response = { + ...(await deserializeAws_queryUserGroupAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserGroupQuotaExceededFault": + case "com.amazonaws.elasticache#UserGroupQuotaExceededFault": + response = { + ...(await deserializeAws_queryUserGroupQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.elasticache#UserNotFoundFault": + response = { + ...(await deserializeAws_queryUserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_queryDecreaseNodeGroupsInGlobalReplicationGroupCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3356,12 +3725,160 @@ const deserializeAws_queryDeleteSnapshotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_queryDescribeCacheClustersCommand = async ( +export const deserializeAws_queryDeleteUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_queryDescribeCacheClustersCommandError(output, context); + return deserializeAws_queryDeleteUserCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryUser(data.DeleteUserResult, context); + const response: DeleteUserCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryDeleteUserCommandError = 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 = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DefaultUserAssociatedToUserGroupFault": + case "com.amazonaws.elasticache#DefaultUserAssociatedToUserGroupFault": + response = { + ...(await deserializeAws_queryDefaultUserAssociatedToUserGroupFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.elasticache#InvalidParameterValueException": + response = { + ...(await deserializeAws_queryInvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidUserStateFault": + case "com.amazonaws.elasticache#InvalidUserStateFault": + response = { + ...(await deserializeAws_queryInvalidUserStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.elasticache#UserNotFoundFault": + response = { + ...(await deserializeAws_queryUserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_queryDeleteUserGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryDeleteUserGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryUserGroup(data.DeleteUserGroupResult, context); + const response: DeleteUserGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryDeleteUserGroupCommandError = 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 = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterValueException": + case "com.amazonaws.elasticache#InvalidParameterValueException": + response = { + ...(await deserializeAws_queryInvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidUserGroupStateFault": + case "com.amazonaws.elasticache#InvalidUserGroupStateFault": + response = { + ...(await deserializeAws_queryInvalidUserGroupStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserGroupNotFoundFault": + case "com.amazonaws.elasticache#UserGroupNotFoundFault": + response = { + ...(await deserializeAws_queryUserGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_queryDescribeCacheClustersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryDescribeCacheClustersCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; @@ -4359,6 +4876,130 @@ const deserializeAws_queryDescribeUpdateActionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_queryDescribeUserGroupsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryDescribeUserGroupsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryDescribeUserGroupsResult(data.DescribeUserGroupsResult, context); + const response: DescribeUserGroupsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryDescribeUserGroupsCommandError = 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 = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.elasticache#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_queryInvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserGroupNotFoundFault": + case "com.amazonaws.elasticache#UserGroupNotFoundFault": + response = { + ...(await deserializeAws_queryUserGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_queryDescribeUsersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryDescribeUsersCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryDescribeUsersResult(data.DescribeUsersResult, context); + const response: DescribeUsersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryDescribeUsersCommandError = 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 = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.elasticache#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_queryInvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.elasticache#UserNotFoundFault": + response = { + ...(await deserializeAws_queryUserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_queryDisassociateGlobalReplicationGroupCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5168,6 +5809,14 @@ const deserializeAws_queryModifyCacheSubnetGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "SubnetNotAllowedFault": + case "com.amazonaws.elasticache#SubnetNotAllowedFault": + response = { + ...(await deserializeAws_querySubnetNotAllowedFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; @@ -5364,6 +6013,14 @@ const deserializeAws_queryModifyReplicationGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidUserGroupStateFault": + case "com.amazonaws.elasticache#InvalidUserGroupStateFault": + response = { + ...(await deserializeAws_queryInvalidUserGroupStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidVPCNetworkStateFault": case "com.amazonaws.elasticache#InvalidVPCNetworkStateFault": response = { @@ -5396,6 +6053,14 @@ const deserializeAws_queryModifyReplicationGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UserGroupNotFoundFault": + case "com.amazonaws.elasticache#UserGroupNotFoundFault": + response = { + ...(await deserializeAws_queryUserGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; @@ -5542,30 +6207,27 @@ const deserializeAws_queryModifyReplicationGroupShardConfigurationCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_queryPurchaseReservedCacheNodesOfferingCommand = async ( +export const deserializeAws_queryModifyUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_queryPurchaseReservedCacheNodesOfferingCommandError(output, context); + return deserializeAws_queryModifyUserCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_queryPurchaseReservedCacheNodesOfferingResult( - data.PurchaseReservedCacheNodesOfferingResult, - context - ); - const response: PurchaseReservedCacheNodesOfferingCommandOutput = { + contents = deserializeAws_queryUser(data.ModifyUserResult, context); + const response: ModifyUserCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_queryPurchaseReservedCacheNodesOfferingCommandError = async ( +const deserializeAws_queryModifyUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5590,16 +6252,199 @@ const deserializeAws_queryPurchaseReservedCacheNodesOfferingCommandError = async $metadata: deserializeMetadata(output), }; break; - case "ReservedCacheNodeAlreadyExistsFault": - case "com.amazonaws.elasticache#ReservedCacheNodeAlreadyExistsFault": + case "InvalidUserStateFault": + case "com.amazonaws.elasticache#InvalidUserStateFault": response = { - ...(await deserializeAws_queryReservedCacheNodeAlreadyExistsFaultResponse(parsedOutput, context)), + ...(await deserializeAws_queryInvalidUserStateFaultResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ReservedCacheNodeQuotaExceededFault": - case "com.amazonaws.elasticache#ReservedCacheNodeQuotaExceededFault": + case "UserNotFoundFault": + case "com.amazonaws.elasticache#UserNotFoundFault": + response = { + ...(await deserializeAws_queryUserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_queryModifyUserGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryModifyUserGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryUserGroup(data.ModifyUserGroupResult, context); + const response: ModifyUserGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryModifyUserGroupCommandError = 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 = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DefaultUserRequired": + case "com.amazonaws.elasticache#DefaultUserRequired": + response = { + ...(await deserializeAws_queryDefaultUserRequiredResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DuplicateUserNameFault": + case "com.amazonaws.elasticache#DuplicateUserNameFault": + response = { + ...(await deserializeAws_queryDuplicateUserNameFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterCombinationException": + case "com.amazonaws.elasticache#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_queryInvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.elasticache#InvalidParameterValueException": + response = { + ...(await deserializeAws_queryInvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidUserGroupStateFault": + case "com.amazonaws.elasticache#InvalidUserGroupStateFault": + response = { + ...(await deserializeAws_queryInvalidUserGroupStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserGroupNotFoundFault": + case "com.amazonaws.elasticache#UserGroupNotFoundFault": + response = { + ...(await deserializeAws_queryUserGroupNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UserNotFoundFault": + case "com.amazonaws.elasticache#UserNotFoundFault": + response = { + ...(await deserializeAws_queryUserNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.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_queryPurchaseReservedCacheNodesOfferingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryPurchaseReservedCacheNodesOfferingCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryPurchaseReservedCacheNodesOfferingResult( + data.PurchaseReservedCacheNodesOfferingResult, + context + ); + const response: PurchaseReservedCacheNodesOfferingCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryPurchaseReservedCacheNodesOfferingCommandError = 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 = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.elasticache#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_queryInvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.elasticache#InvalidParameterValueException": + response = { + ...(await deserializeAws_queryInvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ReservedCacheNodeAlreadyExistsFault": + case "com.amazonaws.elasticache#ReservedCacheNodeAlreadyExistsFault": + response = { + ...(await deserializeAws_queryReservedCacheNodeAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ReservedCacheNodeQuotaExceededFault": + case "com.amazonaws.elasticache#ReservedCacheNodeQuotaExceededFault": response = { ...(await deserializeAws_queryReservedCacheNodeQuotaExceededFaultResponse(parsedOutput, context)), name: errorCode, @@ -6470,6 +7315,51 @@ const deserializeAws_queryClusterQuotaForCustomerExceededFaultResponse = async ( return contents; }; +const deserializeAws_queryDefaultUserAssociatedToUserGroupFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryDefaultUserAssociatedToUserGroupFault(body.Error, context); + const contents: DefaultUserAssociatedToUserGroupFault = { + name: "DefaultUserAssociatedToUserGroupFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_queryDefaultUserRequiredResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryDefaultUserRequired(body.Error, context); + const contents: DefaultUserRequired = { + name: "DefaultUserRequired", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_queryDuplicateUserNameFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryDuplicateUserNameFault(body.Error, context); + const contents: DuplicateUserNameFault = { + name: "DuplicateUserNameFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_queryGlobalReplicationGroupAlreadyExistsFaultResponse = async ( parsedOutput: any, context: __SerdeContext @@ -6680,6 +7570,36 @@ const deserializeAws_queryInvalidSubnetResponse = async ( return contents; }; +const deserializeAws_queryInvalidUserGroupStateFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryInvalidUserGroupStateFault(body.Error, context); + const contents: InvalidUserGroupStateFault = { + name: "InvalidUserGroupStateFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_queryInvalidUserStateFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryInvalidUserStateFault(body.Error, context); + const contents: InvalidUserStateFault = { + name: "InvalidUserStateFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_queryInvalidVPCNetworkStateFaultResponse = async ( parsedOutput: any, context: __SerdeContext @@ -6995,6 +7915,21 @@ const deserializeAws_querySubnetInUseResponse = async ( return contents; }; +const deserializeAws_querySubnetNotAllowedFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_querySubnetNotAllowedFault(body.Error, context); + const contents: SubnetNotAllowedFault = { + name: "SubnetNotAllowedFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_queryTagNotFoundFaultResponse = async ( parsedOutput: any, context: __SerdeContext @@ -7040,36 +7975,126 @@ const deserializeAws_queryTestFailoverNotAvailableFaultResponse = async ( return contents; }; -const serializeAws_queryAddTagsToResourceMessage = (input: AddTagsToResourceMessage, 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.ResourceName !== undefined) { - entries["ResourceName"] = input.ResourceName; - } - return entries; -}; - -const serializeAws_queryAuthorizeCacheSecurityGroupIngressMessage = ( - input: AuthorizeCacheSecurityGroupIngressMessage, +const deserializeAws_queryUserAlreadyExistsFaultResponse = async ( + parsedOutput: any, context: __SerdeContext -): any => { - const entries: any = {}; - if (input.EC2SecurityGroupOwnerId !== undefined) { - entries["EC2SecurityGroupOwnerId"] = input.EC2SecurityGroupOwnerId; - } - if (input.EC2SecurityGroupName !== undefined) { - entries["EC2SecurityGroupName"] = input.EC2SecurityGroupName; - } - if (input.CacheSecurityGroupName !== undefined) { - entries["CacheSecurityGroupName"] = input.CacheSecurityGroupName; - } - return entries; +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryUserAlreadyExistsFault(body.Error, context); + const contents: UserAlreadyExistsFault = { + name: "UserAlreadyExistsFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_queryUserGroupAlreadyExistsFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryUserGroupAlreadyExistsFault(body.Error, context); + const contents: UserGroupAlreadyExistsFault = { + name: "UserGroupAlreadyExistsFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_queryUserGroupNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryUserGroupNotFoundFault(body.Error, context); + const contents: UserGroupNotFoundFault = { + name: "UserGroupNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_queryUserGroupQuotaExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryUserGroupQuotaExceededFault(body.Error, context); + const contents: UserGroupQuotaExceededFault = { + name: "UserGroupQuotaExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_queryUserNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryUserNotFoundFault(body.Error, context); + const contents: UserNotFoundFault = { + name: "UserNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_queryUserQuotaExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryUserQuotaExceededFault(body.Error, context); + const contents: UserQuotaExceededFault = { + name: "UserQuotaExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const serializeAws_queryAddTagsToResourceMessage = (input: AddTagsToResourceMessage, context: __SerdeContext): any => { + const entries: any = {}; + if (input.ResourceName !== undefined) { + entries["ResourceName"] = input.ResourceName; + } + 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; +}; + +const serializeAws_queryAuthorizeCacheSecurityGroupIngressMessage = ( + input: AuthorizeCacheSecurityGroupIngressMessage, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.EC2SecurityGroupOwnerId !== undefined) { + entries["EC2SecurityGroupOwnerId"] = input.EC2SecurityGroupOwnerId; + } + if (input.EC2SecurityGroupName !== undefined) { + entries["EC2SecurityGroupName"] = input.EC2SecurityGroupName; + } + if (input.CacheSecurityGroupName !== undefined) { + entries["CacheSecurityGroupName"] = input.CacheSecurityGroupName; + } + return entries; }; const serializeAws_queryAvailabilityZonesList = (input: string[], context: __SerdeContext): any => { @@ -7087,13 +8112,6 @@ const serializeAws_queryBatchApplyUpdateActionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ReplicationGroupIds !== undefined) { - const memberEntries = serializeAws_queryReplicationGroupIdList(input.ReplicationGroupIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ReplicationGroupIds.${key}`; - entries[loc] = value; - }); - } if (input.CacheClusterIds !== undefined) { const memberEntries = serializeAws_queryCacheClusterIdList(input.CacheClusterIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7104,6 +8122,13 @@ const serializeAws_queryBatchApplyUpdateActionMessage = ( if (input.ServiceUpdateName !== undefined) { entries["ServiceUpdateName"] = input.ServiceUpdateName; } + if (input.ReplicationGroupIds !== undefined) { + const memberEntries = serializeAws_queryReplicationGroupIdList(input.ReplicationGroupIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ReplicationGroupIds.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -7112,13 +8137,6 @@ const serializeAws_queryBatchStopUpdateActionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ReplicationGroupIds !== undefined) { - const memberEntries = serializeAws_queryReplicationGroupIdList(input.ReplicationGroupIds, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ReplicationGroupIds.${key}`; - entries[loc] = value; - }); - } if (input.CacheClusterIds !== undefined) { const memberEntries = serializeAws_queryCacheClusterIdList(input.CacheClusterIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7129,6 +8147,13 @@ const serializeAws_queryBatchStopUpdateActionMessage = ( if (input.ServiceUpdateName !== undefined) { entries["ServiceUpdateName"] = input.ServiceUpdateName; } + if (input.ReplicationGroupIds !== undefined) { + const memberEntries = serializeAws_queryReplicationGroupIdList(input.ReplicationGroupIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ReplicationGroupIds.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -7164,12 +8189,12 @@ const serializeAws_queryCacheSecurityGroupNameList = (input: string[], context: const serializeAws_queryCompleteMigrationMessage = (input: CompleteMigrationMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.Force !== undefined) { - entries["Force"] = input.Force; - } if (input.ReplicationGroupId !== undefined) { entries["ReplicationGroupId"] = input.ReplicationGroupId; } + if (input.Force !== undefined) { + entries["Force"] = input.Force; + } return entries; }; @@ -7185,6 +8210,13 @@ const serializeAws_queryConfigureShard = (input: ConfigureShard, context: __Serd if (input.NewReplicaCount !== undefined) { entries["NewReplicaCount"] = input.NewReplicaCount; } + if (input.PreferredOutpostArns !== undefined) { + const memberEntries = serializeAws_queryPreferredOutpostArnList(input.PreferredOutpostArns, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PreferredOutpostArns.${key}`; + entries[loc] = value; + }); + } if (input.NodeGroupId !== undefined) { entries["NodeGroupId"] = input.NodeGroupId; } @@ -7193,9 +8225,6 @@ const serializeAws_queryConfigureShard = (input: ConfigureShard, context: __Serd const serializeAws_queryCopySnapshotMessage = (input: CopySnapshotMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; - } if (input.SourceSnapshotName !== undefined) { entries["SourceSnapshotName"] = input.SourceSnapshotName; } @@ -7205,6 +8234,9 @@ const serializeAws_queryCopySnapshotMessage = (input: CopySnapshotMessage, conte if (input.TargetSnapshotName !== undefined) { entries["TargetSnapshotName"] = input.TargetSnapshotName; } + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; + } return entries; }; @@ -7213,27 +8245,21 @@ const serializeAws_queryCreateCacheClusterMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PreferredAvailabilityZone !== undefined) { - entries["PreferredAvailabilityZone"] = input.PreferredAvailabilityZone; - } if (input.Engine !== undefined) { entries["Engine"] = input.Engine; } - if (input.CacheSecurityGroupNames !== undefined) { - const memberEntries = serializeAws_queryCacheSecurityGroupNameList(input.CacheSecurityGroupNames, context); + if (input.SecurityGroupIds !== undefined) { + const memberEntries = serializeAws_querySecurityGroupIdsList(input.SecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CacheSecurityGroupNames.${key}`; + const loc = `SecurityGroupIds.${key}`; entries[loc] = value; }); } - if (input.Port !== undefined) { - entries["Port"] = input.Port; - } - if (input.CacheClusterId !== undefined) { - entries["CacheClusterId"] = input.CacheClusterId; + if (input.AutoMinorVersionUpgrade !== undefined) { + entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } - if (input.SnapshotName !== undefined) { - entries["SnapshotName"] = input.SnapshotName; + if (input.PreferredAvailabilityZone !== undefined) { + entries["PreferredAvailabilityZone"] = input.PreferredAvailabilityZone; } if (input.PreferredAvailabilityZones !== undefined) { const memberEntries = serializeAws_queryPreferredAvailabilityZoneList(input.PreferredAvailabilityZones, context); @@ -7242,36 +8268,64 @@ const serializeAws_queryCreateCacheClusterMessage = ( entries[loc] = value; }); } + if (input.PreferredOutpostArns !== undefined) { + const memberEntries = serializeAws_queryPreferredOutpostArnList(input.PreferredOutpostArns, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PreferredOutpostArns.${key}`; + entries[loc] = value; + }); + } + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; + } + if (input.CacheNodeType !== undefined) { + entries["CacheNodeType"] = input.CacheNodeType; + } if (input.PreferredMaintenanceWindow !== undefined) { entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } - if (input.AutoMinorVersionUpgrade !== undefined) { - entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; + if (input.CacheParameterGroupName !== undefined) { + entries["CacheParameterGroupName"] = input.CacheParameterGroupName; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.AZMode !== undefined) { + entries["AZMode"] = input.AZMode; } - if (input.NotificationTopicArn !== undefined) { - entries["NotificationTopicArn"] = input.NotificationTopicArn; + if (input.SnapshotRetentionLimit !== undefined) { + entries["SnapshotRetentionLimit"] = input.SnapshotRetentionLimit; } - if (input.SecurityGroupIds !== undefined) { - const memberEntries = serializeAws_querySecurityGroupIdsList(input.SecurityGroupIds, context); + if (input.SnapshotArns !== undefined) { + const memberEntries = serializeAws_querySnapshotArnsList(input.SnapshotArns, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SecurityGroupIds.${key}`; + const loc = `SnapshotArns.${key}`; entries[loc] = value; }); } - if (input.CacheParameterGroupName !== undefined) { - entries["CacheParameterGroupName"] = input.CacheParameterGroupName; + if (input.CacheSubnetGroupName !== undefined) { + entries["CacheSubnetGroupName"] = input.CacheSubnetGroupName; + } + if (input.AuthToken !== undefined) { + entries["AuthToken"] = input.AuthToken; + } + if (input.SnapshotWindow !== undefined) { + entries["SnapshotWindow"] = input.SnapshotWindow; + } + if (input.NotificationTopicArn !== undefined) { + entries["NotificationTopicArn"] = input.NotificationTopicArn; } if (input.NumCacheNodes !== undefined) { entries["NumCacheNodes"] = input.NumCacheNodes; } - if (input.CacheNodeType !== undefined) { - entries["CacheNodeType"] = input.CacheNodeType; + if (input.CacheClusterId !== undefined) { + entries["CacheClusterId"] = input.CacheClusterId; } - if (input.SnapshotWindow !== undefined) { - entries["SnapshotWindow"] = input.SnapshotWindow; + if (input.PreferredOutpostArn !== undefined) { + entries["PreferredOutpostArn"] = input.PreferredOutpostArn; + } + if (input.Port !== undefined) { + entries["Port"] = input.Port; + } + if (input.ReplicationGroupId !== undefined) { + entries["ReplicationGroupId"] = input.ReplicationGroupId; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); @@ -7280,28 +8334,19 @@ const serializeAws_queryCreateCacheClusterMessage = ( entries[loc] = value; }); } - if (input.ReplicationGroupId !== undefined) { - entries["ReplicationGroupId"] = input.ReplicationGroupId; - } - if (input.SnapshotRetentionLimit !== undefined) { - entries["SnapshotRetentionLimit"] = input.SnapshotRetentionLimit; - } - if (input.AuthToken !== undefined) { - entries["AuthToken"] = input.AuthToken; + if (input.SnapshotName !== undefined) { + entries["SnapshotName"] = input.SnapshotName; } - if (input.CacheSubnetGroupName !== undefined) { - entries["CacheSubnetGroupName"] = input.CacheSubnetGroupName; + if (input.OutpostMode !== undefined) { + entries["OutpostMode"] = input.OutpostMode; } - if (input.SnapshotArns !== undefined) { - const memberEntries = serializeAws_querySnapshotArnsList(input.SnapshotArns, context); + if (input.CacheSecurityGroupNames !== undefined) { + const memberEntries = serializeAws_queryCacheSecurityGroupNameList(input.CacheSecurityGroupNames, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SnapshotArns.${key}`; + const loc = `CacheSecurityGroupNames.${key}`; entries[loc] = value; }); } - if (input.AZMode !== undefined) { - entries["AZMode"] = input.AZMode; - } return entries; }; @@ -7310,15 +8355,15 @@ const serializeAws_queryCreateCacheParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.CacheParameterGroupName !== undefined) { - entries["CacheParameterGroupName"] = input.CacheParameterGroupName; - } if (input.CacheParameterGroupFamily !== undefined) { entries["CacheParameterGroupFamily"] = input.CacheParameterGroupFamily; } if (input.Description !== undefined) { entries["Description"] = input.Description; } + if (input.CacheParameterGroupName !== undefined) { + entries["CacheParameterGroupName"] = input.CacheParameterGroupName; + } return entries; }; @@ -7327,12 +8372,12 @@ const serializeAws_queryCreateCacheSecurityGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.CacheSecurityGroupName !== undefined) { - entries["CacheSecurityGroupName"] = input.CacheSecurityGroupName; - } if (input.Description !== undefined) { entries["Description"] = input.Description; } + if (input.CacheSecurityGroupName !== undefined) { + entries["CacheSecurityGroupName"] = input.CacheSecurityGroupName; + } return entries; }; @@ -7341,6 +8386,12 @@ const serializeAws_queryCreateCacheSubnetGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.CacheSubnetGroupDescription !== undefined) { + entries["CacheSubnetGroupDescription"] = input.CacheSubnetGroupDescription; + } + if (input.CacheSubnetGroupName !== undefined) { + entries["CacheSubnetGroupName"] = input.CacheSubnetGroupName; + } if (input.SubnetIds !== undefined) { const memberEntries = serializeAws_querySubnetIdentifierList(input.SubnetIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7348,12 +8399,6 @@ const serializeAws_queryCreateCacheSubnetGroupMessage = ( entries[loc] = value; }); } - if (input.CacheSubnetGroupDescription !== undefined) { - entries["CacheSubnetGroupDescription"] = input.CacheSubnetGroupDescription; - } - if (input.CacheSubnetGroupName !== undefined) { - entries["CacheSubnetGroupName"] = input.CacheSubnetGroupName; - } return entries; }; @@ -7362,15 +8407,15 @@ const serializeAws_queryCreateGlobalReplicationGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.GlobalReplicationGroupDescription !== undefined) { + entries["GlobalReplicationGroupDescription"] = input.GlobalReplicationGroupDescription; + } if (input.GlobalReplicationGroupIdSuffix !== undefined) { entries["GlobalReplicationGroupIdSuffix"] = input.GlobalReplicationGroupIdSuffix; } if (input.PrimaryReplicationGroupId !== undefined) { entries["PrimaryReplicationGroupId"] = input.PrimaryReplicationGroupId; } - if (input.GlobalReplicationGroupDescription !== undefined) { - entries["GlobalReplicationGroupDescription"] = input.GlobalReplicationGroupDescription; - } return entries; }; @@ -7379,81 +8424,44 @@ const serializeAws_queryCreateReplicationGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TransitEncryptionEnabled !== undefined) { - entries["TransitEncryptionEnabled"] = input.TransitEncryptionEnabled; - } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; - } - if (input.SnapshotWindow !== undefined) { - entries["SnapshotWindow"] = input.SnapshotWindow; - } - if (input.AuthToken !== undefined) { - entries["AuthToken"] = input.AuthToken; - } - if (input.CacheSubnetGroupName !== undefined) { - entries["CacheSubnetGroupName"] = input.CacheSubnetGroupName; - } - if (input.Port !== undefined) { - entries["Port"] = input.Port; - } - if (input.AtRestEncryptionEnabled !== undefined) { - entries["AtRestEncryptionEnabled"] = input.AtRestEncryptionEnabled; - } - if (input.PrimaryClusterId !== undefined) { - entries["PrimaryClusterId"] = input.PrimaryClusterId; - } - if (input.GlobalReplicationGroupId !== undefined) { - entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; - } - if (input.AutomaticFailoverEnabled !== undefined) { - entries["AutomaticFailoverEnabled"] = input.AutomaticFailoverEnabled; - } - if (input.PreferredCacheClusterAZs !== undefined) { - const memberEntries = serializeAws_queryAvailabilityZonesList(input.PreferredCacheClusterAZs, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PreferredCacheClusterAZs.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.ReplicationGroupDescription !== undefined) { - entries["ReplicationGroupDescription"] = input.ReplicationGroupDescription; - } - if (input.SecurityGroupIds !== undefined) { - const memberEntries = serializeAws_querySecurityGroupIdsList(input.SecurityGroupIds, context); + if (input.UserGroupIds !== undefined) { + const memberEntries = serializeAws_queryUserGroupIdListInput(input.UserGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SecurityGroupIds.${key}`; + const loc = `UserGroupIds.${key}`; entries[loc] = value; }); } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } - if (input.CacheNodeType !== undefined) { - entries["CacheNodeType"] = input.CacheNodeType; - } - if (input.SnapshotName !== undefined) { - entries["SnapshotName"] = input.SnapshotName; + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } - if (input.SnapshotRetentionLimit !== undefined) { - entries["SnapshotRetentionLimit"] = input.SnapshotRetentionLimit; + if (input.PrimaryClusterId !== undefined) { + entries["PrimaryClusterId"] = input.PrimaryClusterId; } if (input.ReplicasPerNodeGroup !== undefined) { entries["ReplicasPerNodeGroup"] = input.ReplicasPerNodeGroup; } - if (input.NumCacheClusters !== undefined) { - entries["NumCacheClusters"] = input.NumCacheClusters; + 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]) => { - const loc = `Tags.${key}`; - entries[loc] = value; - }); + if (input.SnapshotName !== undefined) { + entries["SnapshotName"] = input.SnapshotName; + } + if (input.AtRestEncryptionEnabled !== undefined) { + entries["AtRestEncryptionEnabled"] = input.AtRestEncryptionEnabled; } if (input.NumNodeGroups !== undefined) { entries["NumNodeGroups"] = input.NumNodeGroups; } + if (input.SnapshotRetentionLimit !== undefined) { + entries["SnapshotRetentionLimit"] = input.SnapshotRetentionLimit; + } if (input.CacheSecurityGroupNames !== undefined) { const memberEntries = serializeAws_queryCacheSecurityGroupNameList(input.CacheSecurityGroupNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7461,6 +8469,42 @@ const serializeAws_queryCreateReplicationGroupMessage = ( entries[loc] = value; }); } + if (input.NotificationTopicArn !== undefined) { + entries["NotificationTopicArn"] = input.NotificationTopicArn; + } + if (input.CacheParameterGroupName !== undefined) { + entries["CacheParameterGroupName"] = input.CacheParameterGroupName; + } + if (input.ReplicationGroupId !== undefined) { + entries["ReplicationGroupId"] = input.ReplicationGroupId; + } + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; + } + if (input.NumCacheClusters !== undefined) { + entries["NumCacheClusters"] = input.NumCacheClusters; + } + if (input.SnapshotWindow !== undefined) { + entries["SnapshotWindow"] = input.SnapshotWindow; + } + if (input.MultiAZEnabled !== undefined) { + entries["MultiAZEnabled"] = input.MultiAZEnabled; + } + if (input.TransitEncryptionEnabled !== undefined) { + entries["TransitEncryptionEnabled"] = input.TransitEncryptionEnabled; + } + if (input.CacheNodeType !== undefined) { + entries["CacheNodeType"] = input.CacheNodeType; + } + if (input.AutoMinorVersionUpgrade !== undefined) { + entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; + } + if (input.AuthToken !== undefined) { + entries["AuthToken"] = input.AuthToken; + } + if (input.AutomaticFailoverEnabled !== undefined) { + entries["AutomaticFailoverEnabled"] = input.AutomaticFailoverEnabled; + } if (input.NodeGroupConfiguration !== undefined) { const memberEntries = serializeAws_queryNodeGroupConfigurationList(input.NodeGroupConfiguration, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7468,8 +8512,12 @@ const serializeAws_queryCreateReplicationGroupMessage = ( entries[loc] = value; }); } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.PreferredCacheClusterAZs !== undefined) { + const memberEntries = serializeAws_queryAvailabilityZonesList(input.PreferredCacheClusterAZs, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PreferredCacheClusterAZs.${key}`; + entries[loc] = value; + }); } if (input.SnapshotArns !== undefined) { const memberEntries = serializeAws_querySnapshotArnsList(input.SnapshotArns, context); @@ -7478,35 +8526,39 @@ const serializeAws_queryCreateReplicationGroupMessage = ( entries[loc] = value; }); } - if (input.CacheParameterGroupName !== undefined) { - entries["CacheParameterGroupName"] = input.CacheParameterGroupName; + if (input.GlobalReplicationGroupId !== undefined) { + entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; } - if (input.NotificationTopicArn !== undefined) { - entries["NotificationTopicArn"] = input.NotificationTopicArn; + if (input.CacheSubnetGroupName !== undefined) { + entries["CacheSubnetGroupName"] = input.CacheSubnetGroupName; } - if (input.MultiAZEnabled !== undefined) { - entries["MultiAZEnabled"] = input.MultiAZEnabled; + if (input.ReplicationGroupDescription !== undefined) { + entries["ReplicationGroupDescription"] = input.ReplicationGroupDescription; } - if (input.ReplicationGroupId !== undefined) { - entries["ReplicationGroupId"] = input.ReplicationGroupId; + if (input.SecurityGroupIds !== undefined) { + const memberEntries = serializeAws_querySecurityGroupIdsList(input.SecurityGroupIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SecurityGroupIds.${key}`; + entries[loc] = value; + }); } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } - if (input.AutoMinorVersionUpgrade !== undefined) { - entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } return entries; }; const serializeAws_queryCreateSnapshotMessage = (input: CreateSnapshotMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.CacheClusterId !== undefined) { - entries["CacheClusterId"] = input.CacheClusterId; - } if (input.SnapshotName !== undefined) { entries["SnapshotName"] = input.SnapshotName; } + if (input.CacheClusterId !== undefined) { + entries["CacheClusterId"] = input.CacheClusterId; + } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } @@ -7516,14 +8568,59 @@ const serializeAws_queryCreateSnapshotMessage = (input: CreateSnapshotMessage, c return entries; }; -const serializeAws_queryCustomerNodeEndpoint = (input: CustomerNodeEndpoint, context: __SerdeContext): any => { +const serializeAws_queryCreateUserGroupMessage = (input: CreateUserGroupMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.Address !== undefined) { - entries["Address"] = input.Address; + if (input.UserIds !== undefined) { + const memberEntries = serializeAws_queryUserIdListInput(input.UserIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `UserIds.${key}`; + entries[loc] = value; + }); + } + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; + } + if (input.UserGroupId !== undefined) { + entries["UserGroupId"] = input.UserGroupId; + } + return entries; +}; + +const serializeAws_queryCreateUserMessage = (input: CreateUserMessage, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; + } + if (input.NoPasswordRequired !== undefined) { + entries["NoPasswordRequired"] = input.NoPasswordRequired; + } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } + if (input.AccessString !== undefined) { + entries["AccessString"] = input.AccessString; + } + if (input.UserId !== undefined) { + entries["UserId"] = input.UserId; + } + if (input.Passwords !== undefined) { + const memberEntries = serializeAws_queryPasswordListInput(input.Passwords, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Passwords.${key}`; + entries[loc] = value; + }); } + return entries; +}; + +const serializeAws_queryCustomerNodeEndpoint = (input: CustomerNodeEndpoint, context: __SerdeContext): any => { + const entries: any = {}; if (input.Port !== undefined) { entries["Port"] = input.Port; } + if (input.Address !== undefined) { + entries["Address"] = input.Address; + } return entries; }; @@ -7545,13 +8642,6 @@ const serializeAws_queryDecreaseNodeGroupsInGlobalReplicationGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.GlobalNodeGroupsToRemove !== undefined) { - const memberEntries = serializeAws_queryGlobalNodeGroupIdList(input.GlobalNodeGroupsToRemove, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `GlobalNodeGroupsToRemove.${key}`; - entries[loc] = value; - }); - } if (input.GlobalReplicationGroupId !== undefined) { entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; } @@ -7568,6 +8658,13 @@ const serializeAws_queryDecreaseNodeGroupsInGlobalReplicationGroupMessage = ( entries[loc] = value; }); } + if (input.GlobalNodeGroupsToRemove !== undefined) { + const memberEntries = serializeAws_queryGlobalNodeGroupIdList(input.GlobalNodeGroupsToRemove, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `GlobalNodeGroupsToRemove.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -7576,6 +8673,9 @@ const serializeAws_queryDecreaseReplicaCountMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NewReplicaCount !== undefined) { + entries["NewReplicaCount"] = input.NewReplicaCount; + } if (input.ReplicasToRemove !== undefined) { const memberEntries = serializeAws_queryRemoveReplicasList(input.ReplicasToRemove, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7583,11 +8683,8 @@ const serializeAws_queryDecreaseReplicaCountMessage = ( entries[loc] = value; }); } - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; - } - if (input.NewReplicaCount !== undefined) { - entries["NewReplicaCount"] = input.NewReplicaCount; + if (input.ReplicationGroupId !== undefined) { + entries["ReplicationGroupId"] = input.ReplicationGroupId; } if (input.ReplicaConfiguration !== undefined) { const memberEntries = serializeAws_queryReplicaConfigurationList(input.ReplicaConfiguration, context); @@ -7596,8 +8693,8 @@ const serializeAws_queryDecreaseReplicaCountMessage = ( entries[loc] = value; }); } - if (input.ReplicationGroupId !== undefined) { - entries["ReplicationGroupId"] = input.ReplicationGroupId; + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; } return entries; }; @@ -7607,12 +8704,12 @@ const serializeAws_queryDeleteCacheClusterMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.FinalSnapshotIdentifier !== undefined) { - entries["FinalSnapshotIdentifier"] = input.FinalSnapshotIdentifier; - } if (input.CacheClusterId !== undefined) { entries["CacheClusterId"] = input.CacheClusterId; } + if (input.FinalSnapshotIdentifier !== undefined) { + entries["FinalSnapshotIdentifier"] = input.FinalSnapshotIdentifier; + } return entries; }; @@ -7654,12 +8751,12 @@ const serializeAws_queryDeleteGlobalReplicationGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.GlobalReplicationGroupId !== undefined) { - entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; - } if (input.RetainPrimaryReplicationGroup !== undefined) { entries["RetainPrimaryReplicationGroup"] = input.RetainPrimaryReplicationGroup; } + if (input.GlobalReplicationGroupId !== undefined) { + entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; + } return entries; }; @@ -7668,14 +8765,14 @@ const serializeAws_queryDeleteReplicationGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RetainPrimaryCluster !== undefined) { - entries["RetainPrimaryCluster"] = input.RetainPrimaryCluster; + if (input.FinalSnapshotIdentifier !== undefined) { + entries["FinalSnapshotIdentifier"] = input.FinalSnapshotIdentifier; } if (input.ReplicationGroupId !== undefined) { entries["ReplicationGroupId"] = input.ReplicationGroupId; } - if (input.FinalSnapshotIdentifier !== undefined) { - entries["FinalSnapshotIdentifier"] = input.FinalSnapshotIdentifier; + if (input.RetainPrimaryCluster !== undefined) { + entries["RetainPrimaryCluster"] = input.RetainPrimaryCluster; } return entries; }; @@ -7688,25 +8785,41 @@ const serializeAws_queryDeleteSnapshotMessage = (input: DeleteSnapshotMessage, c return entries; }; +const serializeAws_queryDeleteUserGroupMessage = (input: DeleteUserGroupMessage, context: __SerdeContext): any => { + const entries: any = {}; + if (input.UserGroupId !== undefined) { + entries["UserGroupId"] = input.UserGroupId; + } + return entries; +}; + +const serializeAws_queryDeleteUserMessage = (input: DeleteUserMessage, context: __SerdeContext): any => { + const entries: any = {}; + if (input.UserId !== undefined) { + entries["UserId"] = input.UserId; + } + return entries; +}; + const serializeAws_queryDescribeCacheClustersMessage = ( input: DescribeCacheClustersMessage, context: __SerdeContext ): any => { const entries: any = {}; - if (input.ShowCacheNodeInfo !== undefined) { - entries["ShowCacheNodeInfo"] = input.ShowCacheNodeInfo; - } if (input.ShowCacheClustersNotInReplicationGroups !== undefined) { entries["ShowCacheClustersNotInReplicationGroups"] = input.ShowCacheClustersNotInReplicationGroups; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.CacheClusterId !== undefined) { + entries["CacheClusterId"] = input.CacheClusterId; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.CacheClusterId !== undefined) { - entries["CacheClusterId"] = input.CacheClusterId; + if (input.ShowCacheNodeInfo !== undefined) { + entries["ShowCacheNodeInfo"] = input.ShowCacheNodeInfo; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } return entries; }; @@ -7716,23 +8829,23 @@ const serializeAws_queryDescribeCacheEngineVersionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } if (input.DefaultOnly !== undefined) { entries["DefaultOnly"] = input.DefaultOnly; } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.CacheParameterGroupFamily !== undefined) { entries["CacheParameterGroupFamily"] = input.CacheParameterGroupFamily; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; } return entries; }; @@ -7742,15 +8855,15 @@ const serializeAws_queryDescribeCacheParameterGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } if (input.CacheParameterGroupName !== undefined) { entries["CacheParameterGroupName"] = input.CacheParameterGroupName; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -7779,12 +8892,12 @@ const serializeAws_queryDescribeCacheSecurityGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.CacheSecurityGroupName !== undefined) { entries["CacheSecurityGroupName"] = input.CacheSecurityGroupName; } @@ -7796,15 +8909,15 @@ const serializeAws_queryDescribeCacheSubnetGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } if (input.CacheSubnetGroupName !== undefined) { entries["CacheSubnetGroupName"] = input.CacheSubnetGroupName; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -7813,41 +8926,41 @@ const serializeAws_queryDescribeEngineDefaultParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.CacheParameterGroupFamily !== undefined) { - entries["CacheParameterGroupFamily"] = input.CacheParameterGroupFamily; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.CacheParameterGroupFamily !== undefined) { + entries["CacheParameterGroupFamily"] = input.CacheParameterGroupFamily; } return entries; }; const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, context: __SerdeContext): any => { const entries: any = {}; - 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.SourceType !== undefined) { entries["SourceType"] = input.SourceType; } + 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.SourceIdentifier !== undefined) { entries["SourceIdentifier"] = input.SourceIdentifier; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.Duration !== undefined) { entries["Duration"] = input.Duration; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -7856,12 +8969,12 @@ const serializeAws_queryDescribeGlobalReplicationGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.ShowMemberInfo !== undefined) { entries["ShowMemberInfo"] = input.ShowMemberInfo; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.GlobalReplicationGroupId !== undefined) { entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; } @@ -7893,27 +9006,27 @@ const serializeAws_queryDescribeReservedCacheNodesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.CacheNodeType !== undefined) { + entries["CacheNodeType"] = input.CacheNodeType; } - if (input.ReservedCacheNodesOfferingId !== undefined) { - entries["ReservedCacheNodesOfferingId"] = input.ReservedCacheNodesOfferingId; + if (input.Duration !== undefined) { + entries["Duration"] = input.Duration; } if (input.OfferingType !== undefined) { entries["OfferingType"] = input.OfferingType; } + if (input.ReservedCacheNodesOfferingId !== undefined) { + entries["ReservedCacheNodesOfferingId"] = input.ReservedCacheNodesOfferingId; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.ReservedCacheNodeId !== undefined) { entries["ReservedCacheNodeId"] = input.ReservedCacheNodeId; } if (input.ProductDescription !== undefined) { entries["ProductDescription"] = input.ProductDescription; } - if (input.Duration !== undefined) { - entries["Duration"] = input.Duration; - } - if (input.CacheNodeType !== undefined) { - entries["CacheNodeType"] = input.CacheNodeType; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } @@ -7925,27 +9038,27 @@ const serializeAws_queryDescribeReservedCacheNodesOfferingsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Duration !== undefined) { + entries["Duration"] = input.Duration; + } if (input.CacheNodeType !== undefined) { entries["CacheNodeType"] = input.CacheNodeType; } + if (input.ProductDescription !== undefined) { + entries["ProductDescription"] = input.ProductDescription; + } if (input.OfferingType !== undefined) { entries["OfferingType"] = input.OfferingType; } if (input.ReservedCacheNodesOfferingId !== undefined) { entries["ReservedCacheNodesOfferingId"] = input.ReservedCacheNodesOfferingId; } - if (input.Duration !== undefined) { - entries["Duration"] = input.Duration; - } - if (input.ProductDescription !== undefined) { - entries["ProductDescription"] = input.ProductDescription; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; @@ -7954,8 +9067,11 @@ const serializeAws_queryDescribeServiceUpdatesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.ServiceUpdateName !== undefined) { + entries["ServiceUpdateName"] = input.ServiceUpdateName; } if (input.ServiceUpdateStatus !== undefined) { const memberEntries = serializeAws_queryServiceUpdateStatusList(input.ServiceUpdateStatus, context); @@ -7964,38 +9080,35 @@ const serializeAws_queryDescribeServiceUpdatesMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.ServiceUpdateName !== undefined) { - entries["ServiceUpdateName"] = input.ServiceUpdateName; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } return entries; }; const serializeAws_queryDescribeSnapshotsMessage = (input: DescribeSnapshotsMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.ShowNodeGroupConfig !== undefined) { - entries["ShowNodeGroupConfig"] = input.ShowNodeGroupConfig; - } if (input.ReplicationGroupId !== undefined) { entries["ReplicationGroupId"] = input.ReplicationGroupId; } - if (input.SnapshotSource !== undefined) { - entries["SnapshotSource"] = input.SnapshotSource; + if (input.SnapshotName !== undefined) { + entries["SnapshotName"] = input.SnapshotName; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.ShowNodeGroupConfig !== undefined) { + entries["ShowNodeGroupConfig"] = input.ShowNodeGroupConfig; } if (input.CacheClusterId !== undefined) { entries["CacheClusterId"] = input.CacheClusterId; } - if (input.SnapshotName !== undefined) { - entries["SnapshotName"] = input.SnapshotName; - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.SnapshotSource !== undefined) { + entries["SnapshotSource"] = input.SnapshotSource; + } return entries; }; @@ -8007,9 +9120,6 @@ const serializeAws_queryDescribeUpdateActionsMessage = ( if (input.ShowNodeLevelUpdateStatus !== undefined) { entries["ShowNodeLevelUpdateStatus"] = input.ShowNodeLevelUpdateStatus; } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; - } if (input.UpdateActionStatus !== undefined) { const memberEntries = serializeAws_queryUpdateActionStatusList(input.UpdateActionStatus, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8017,16 +9127,19 @@ const serializeAws_queryDescribeUpdateActionsMessage = ( entries[loc] = value; }); } - if (input.CacheClusterIds !== undefined) { - const memberEntries = serializeAws_queryCacheClusterIdList(input.CacheClusterIds, context); + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.ServiceUpdateName !== undefined) { + entries["ServiceUpdateName"] = input.ServiceUpdateName; + } + if (input.ServiceUpdateTimeRange !== undefined) { + const memberEntries = serializeAws_queryTimeRangeFilter(input.ServiceUpdateTimeRange, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CacheClusterIds.${key}`; + const loc = `ServiceUpdateTimeRange.${key}`; entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.ServiceUpdateStatus !== undefined) { const memberEntries = serializeAws_queryServiceUpdateStatusList(input.ServiceUpdateStatus, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8034,9 +9147,19 @@ const serializeAws_queryDescribeUpdateActionsMessage = ( entries[loc] = value; }); } + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.CacheClusterIds !== undefined) { + const memberEntries = serializeAws_queryCacheClusterIdList(input.CacheClusterIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CacheClusterIds.${key}`; + entries[loc] = value; + }); + } if (input.ReplicationGroupIds !== undefined) { const memberEntries = serializeAws_queryReplicationGroupIdList(input.ReplicationGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8044,16 +9167,47 @@ const serializeAws_queryDescribeUpdateActionsMessage = ( entries[loc] = value; }); } - if (input.ServiceUpdateName !== undefined) { - entries["ServiceUpdateName"] = input.ServiceUpdateName; + return entries; +}; + +const serializeAws_queryDescribeUserGroupsMessage = ( + input: DescribeUserGroupsMessage, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } - if (input.ServiceUpdateTimeRange !== undefined) { - const memberEntries = serializeAws_queryTimeRangeFilter(input.ServiceUpdateTimeRange, context); + if (input.UserGroupId !== undefined) { + entries["UserGroupId"] = input.UserGroupId; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + return entries; +}; + +const serializeAws_queryDescribeUsersMessage = (input: DescribeUsersMessage, context: __SerdeContext): any => { + const entries: any = {}; + if (input.UserId !== undefined) { + entries["UserId"] = input.UserId; + } + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; + } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ServiceUpdateTimeRange.${key}`; + const loc = `Filters.${key}`; entries[loc] = value; }); } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -8062,15 +9216,15 @@ const serializeAws_queryDisassociateGlobalReplicationGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.GlobalReplicationGroupId !== undefined) { + entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; + } if (input.ReplicationGroupId !== undefined) { entries["ReplicationGroupId"] = input.ReplicationGroupId; } if (input.ReplicationGroupRegion !== undefined) { entries["ReplicationGroupRegion"] = input.ReplicationGroupRegion; } - if (input.GlobalReplicationGroupId !== undefined) { - entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; - } return entries; }; @@ -8079,15 +9233,53 @@ const serializeAws_queryFailoverGlobalReplicationGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PrimaryReplicationGroupId !== undefined) { - entries["PrimaryReplicationGroupId"] = input.PrimaryReplicationGroupId; - } if (input.GlobalReplicationGroupId !== undefined) { entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; } if (input.PrimaryRegion !== undefined) { entries["PrimaryRegion"] = input.PrimaryRegion; } + if (input.PrimaryReplicationGroupId !== undefined) { + entries["PrimaryReplicationGroupId"] = input.PrimaryReplicationGroupId; + } + return entries; +}; + +const serializeAws_queryFilter = (input: Filter, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Values !== undefined) { + const memberEntries = serializeAws_queryFilterValueList(input.Values, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Values.${key}`; + entries[loc] = value; + }); + } + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } + return entries; +}; + +const serializeAws_queryFilterList = (input: Filter[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (let entry of input) { + const memberEntries = serializeAws_queryFilter(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`member.${counter}.${key}`] = value; + }); + counter++; + } + return entries; +}; + +const serializeAws_queryFilterValueList = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (let entry of input) { + entries[`member.${counter}`] = entry; + counter++; + } return entries; }; @@ -8106,11 +9298,8 @@ const serializeAws_queryIncreaseNodeGroupsInGlobalReplicationGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NodeGroupCount !== undefined) { - entries["NodeGroupCount"] = input.NodeGroupCount; - } - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; + if (input.GlobalReplicationGroupId !== undefined) { + entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; } if (input.RegionalConfigurations !== undefined) { const memberEntries = serializeAws_queryRegionalConfigurationList(input.RegionalConfigurations, context); @@ -8119,8 +9308,11 @@ const serializeAws_queryIncreaseNodeGroupsInGlobalReplicationGroupMessage = ( entries[loc] = value; }); } - if (input.GlobalReplicationGroupId !== undefined) { - entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; + } + if (input.NodeGroupCount !== undefined) { + entries["NodeGroupCount"] = input.NodeGroupCount; } return entries; }; @@ -8130,6 +9322,12 @@ const serializeAws_queryIncreaseReplicaCountMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; + } + if (input.ReplicationGroupId !== undefined) { + entries["ReplicationGroupId"] = input.ReplicationGroupId; + } if (input.ReplicaConfiguration !== undefined) { const memberEntries = serializeAws_queryReplicaConfigurationList(input.ReplicaConfiguration, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8137,15 +9335,9 @@ const serializeAws_queryIncreaseReplicaCountMessage = ( entries[loc] = value; }); } - if (input.ReplicationGroupId !== undefined) { - entries["ReplicationGroupId"] = input.ReplicationGroupId; - } if (input.NewReplicaCount !== undefined) { entries["NewReplicaCount"] = input.NewReplicaCount; } - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; - } return entries; }; @@ -8164,12 +9356,12 @@ const serializeAws_queryListAllowedNodeTypeModificationsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ReplicationGroupId !== undefined) { - entries["ReplicationGroupId"] = input.ReplicationGroupId; - } if (input.CacheClusterId !== undefined) { entries["CacheClusterId"] = input.CacheClusterId; } + if (input.ReplicationGroupId !== undefined) { + entries["ReplicationGroupId"] = input.ReplicationGroupId; + } return entries; }; @@ -8189,27 +9381,11 @@ const serializeAws_queryModifyCacheClusterMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } - if (input.CacheSecurityGroupNames !== undefined) { - const memberEntries = serializeAws_queryCacheSecurityGroupNameList(input.CacheSecurityGroupNames, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CacheSecurityGroupNames.${key}`; - entries[loc] = value; - }); - } - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; - } if (input.AutoMinorVersionUpgrade !== undefined) { entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } - if (input.CacheParameterGroupName !== undefined) { - entries["CacheParameterGroupName"] = input.CacheParameterGroupName; - } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } if (input.NewAvailabilityZones !== undefined) { const memberEntries = serializeAws_queryPreferredAvailabilityZoneList(input.NewAvailabilityZones, context); @@ -8218,9 +9394,6 @@ const serializeAws_queryModifyCacheClusterMessage = ( entries[loc] = value; }); } - if (input.NotificationTopicArn !== undefined) { - entries["NotificationTopicArn"] = input.NotificationTopicArn; - } if (input.SecurityGroupIds !== undefined) { const memberEntries = serializeAws_querySecurityGroupIdsList(input.SecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8228,9 +9401,21 @@ const serializeAws_queryModifyCacheClusterMessage = ( entries[loc] = value; }); } + if (input.NotificationTopicArn !== undefined) { + entries["NotificationTopicArn"] = input.NotificationTopicArn; + } if (input.NumCacheNodes !== undefined) { entries["NumCacheNodes"] = input.NumCacheNodes; } + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; + } + if (input.NotificationTopicStatus !== undefined) { + entries["NotificationTopicStatus"] = input.NotificationTopicStatus; + } + if (input.CacheClusterId !== undefined) { + entries["CacheClusterId"] = input.CacheClusterId; + } if (input.CacheNodeIdsToRemove !== undefined) { const memberEntries = serializeAws_queryCacheNodeIdsList(input.CacheNodeIdsToRemove, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8238,11 +9423,23 @@ const serializeAws_queryModifyCacheClusterMessage = ( entries[loc] = value; }); } + if (input.AuthTokenUpdateStrategy !== undefined) { + entries["AuthTokenUpdateStrategy"] = input.AuthTokenUpdateStrategy; + } if (input.CacheNodeType !== undefined) { entries["CacheNodeType"] = input.CacheNodeType; } - if (input.CacheClusterId !== undefined) { - entries["CacheClusterId"] = input.CacheClusterId; + if (input.AZMode !== undefined) { + entries["AZMode"] = input.AZMode; + } + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + } + if (input.CacheParameterGroupName !== undefined) { + entries["CacheParameterGroupName"] = input.CacheParameterGroupName; + } + if (input.AuthToken !== undefined) { + entries["AuthToken"] = input.AuthToken; } if (input.SnapshotWindow !== undefined) { entries["SnapshotWindow"] = input.SnapshotWindow; @@ -8250,17 +9447,12 @@ const serializeAws_queryModifyCacheClusterMessage = ( if (input.SnapshotRetentionLimit !== undefined) { entries["SnapshotRetentionLimit"] = input.SnapshotRetentionLimit; } - if (input.NotificationTopicStatus !== undefined) { - entries["NotificationTopicStatus"] = input.NotificationTopicStatus; - } - if (input.AuthTokenUpdateStrategy !== undefined) { - entries["AuthTokenUpdateStrategy"] = input.AuthTokenUpdateStrategy; - } - if (input.AuthToken !== undefined) { - entries["AuthToken"] = input.AuthToken; - } - if (input.AZMode !== undefined) { - entries["AZMode"] = input.AZMode; + if (input.CacheSecurityGroupNames !== undefined) { + const memberEntries = serializeAws_queryCacheSecurityGroupNameList(input.CacheSecurityGroupNames, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CacheSecurityGroupNames.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -8309,24 +9501,24 @@ const serializeAws_queryModifyGlobalReplicationGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.CacheNodeType !== undefined) { - entries["CacheNodeType"] = input.CacheNodeType; + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; } if (input.EngineVersion !== undefined) { entries["EngineVersion"] = input.EngineVersion; } - if (input.GlobalReplicationGroupId !== undefined) { - entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; + if (input.CacheNodeType !== undefined) { + entries["CacheNodeType"] = input.CacheNodeType; } if (input.GlobalReplicationGroupDescription !== undefined) { entries["GlobalReplicationGroupDescription"] = input.GlobalReplicationGroupDescription; } - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; - } if (input.AutomaticFailoverEnabled !== undefined) { entries["AutomaticFailoverEnabled"] = input.AutomaticFailoverEnabled; } + if (input.GlobalReplicationGroupId !== undefined) { + entries["GlobalReplicationGroupId"] = input.GlobalReplicationGroupId; + } return entries; }; @@ -8335,38 +9527,61 @@ const serializeAws_queryModifyReplicationGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SnapshotWindow !== undefined) { - entries["SnapshotWindow"] = input.SnapshotWindow; - } - if (input.SnapshotRetentionLimit !== undefined) { - entries["SnapshotRetentionLimit"] = input.SnapshotRetentionLimit; - } if (input.MultiAZEnabled !== undefined) { entries["MultiAZEnabled"] = input.MultiAZEnabled; } if (input.CacheNodeType !== undefined) { entries["CacheNodeType"] = input.CacheNodeType; } + if (input.SnapshotWindow !== undefined) { + entries["SnapshotWindow"] = input.SnapshotWindow; + } if (input.SnapshottingClusterId !== undefined) { entries["SnapshottingClusterId"] = input.SnapshottingClusterId; } - if (input.AuthToken !== undefined) { - entries["AuthToken"] = input.AuthToken; + if (input.AuthTokenUpdateStrategy !== undefined) { + entries["AuthTokenUpdateStrategy"] = input.AuthTokenUpdateStrategy; } - if (input.AutoMinorVersionUpgrade !== undefined) { - entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; + if (input.ReplicationGroupId !== undefined) { + entries["ReplicationGroupId"] = input.ReplicationGroupId; + } + if (input.UserGroupIdsToAdd !== undefined) { + const memberEntries = serializeAws_queryUserGroupIdList(input.UserGroupIdsToAdd, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `UserGroupIdsToAdd.${key}`; + entries[loc] = value; + }); + } + if (input.UserGroupIdsToRemove !== undefined) { + const memberEntries = serializeAws_queryUserGroupIdList(input.UserGroupIdsToRemove, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `UserGroupIdsToRemove.${key}`; + entries[loc] = value; + }); + } + if (input.SnapshotRetentionLimit !== undefined) { + entries["SnapshotRetentionLimit"] = input.SnapshotRetentionLimit; + } + if (input.NodeGroupId !== undefined) { + entries["NodeGroupId"] = input.NodeGroupId; } if (input.AutomaticFailoverEnabled !== undefined) { entries["AutomaticFailoverEnabled"] = input.AutomaticFailoverEnabled; } + if (input.RemoveUserGroups !== undefined) { + entries["RemoveUserGroups"] = input.RemoveUserGroups; + } + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + } if (input.NotificationTopicArn !== undefined) { entries["NotificationTopicArn"] = input.NotificationTopicArn; } - if (input.CacheParameterGroupName !== undefined) { - entries["CacheParameterGroupName"] = input.CacheParameterGroupName; + if (input.AutoMinorVersionUpgrade !== undefined) { + entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + if (input.PrimaryClusterId !== undefined) { + entries["PrimaryClusterId"] = input.PrimaryClusterId; } if (input.SecurityGroupIds !== undefined) { const memberEntries = serializeAws_querySecurityGroupIdsList(input.SecurityGroupIds, context); @@ -8375,14 +9590,17 @@ const serializeAws_queryModifyReplicationGroupMessage = ( entries[loc] = value; }); } - if (input.PrimaryClusterId !== undefined) { - entries["PrimaryClusterId"] = input.PrimaryClusterId; + if (input.CacheParameterGroupName !== undefined) { + entries["CacheParameterGroupName"] = input.CacheParameterGroupName; + } + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } if (input.ReplicationGroupDescription !== undefined) { entries["ReplicationGroupDescription"] = input.ReplicationGroupDescription; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; } if (input.CacheSecurityGroupNames !== undefined) { const memberEntries = serializeAws_queryCacheSecurityGroupNameList(input.CacheSecurityGroupNames, context); @@ -8391,17 +9609,8 @@ const serializeAws_queryModifyReplicationGroupMessage = ( entries[loc] = value; }); } - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; - } - if (input.AuthTokenUpdateStrategy !== undefined) { - entries["AuthTokenUpdateStrategy"] = input.AuthTokenUpdateStrategy; - } - if (input.NodeGroupId !== undefined) { - entries["NodeGroupId"] = input.NodeGroupId; - } - if (input.ReplicationGroupId !== undefined) { - entries["ReplicationGroupId"] = input.ReplicationGroupId; + if (input.AuthToken !== undefined) { + entries["AuthToken"] = input.AuthToken; } if (input.NotificationTopicStatus !== undefined) { entries["NotificationTopicStatus"] = input.NotificationTopicStatus; @@ -8414,6 +9623,29 @@ const serializeAws_queryModifyReplicationGroupShardConfigurationMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NodeGroupsToRemove !== undefined) { + const memberEntries = serializeAws_queryNodeGroupsToRemoveList(input.NodeGroupsToRemove, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `NodeGroupsToRemove.${key}`; + entries[loc] = value; + }); + } + if (input.ReplicationGroupId !== undefined) { + entries["ReplicationGroupId"] = input.ReplicationGroupId; + } + if (input.NodeGroupCount !== undefined) { + entries["NodeGroupCount"] = input.NodeGroupCount; + } + if (input.ReshardingConfiguration !== undefined) { + const memberEntries = serializeAws_queryReshardingConfigurationList(input.ReshardingConfiguration, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ReshardingConfiguration.${key}`; + entries[loc] = value; + }); + } + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; + } if (input.NodeGroupsToRetain !== undefined) { const memberEntries = serializeAws_queryNodeGroupsToRetainList(input.NodeGroupsToRetain, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8421,26 +9653,49 @@ const serializeAws_queryModifyReplicationGroupShardConfigurationMessage = ( entries[loc] = value; }); } - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; + return entries; +}; + +const serializeAws_queryModifyUserGroupMessage = (input: ModifyUserGroupMessage, context: __SerdeContext): any => { + const entries: any = {}; + if (input.UserIdsToRemove !== undefined) { + const memberEntries = serializeAws_queryUserIdListInput(input.UserIdsToRemove, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `UserIdsToRemove.${key}`; + entries[loc] = value; + }); } - if (input.NodeGroupsToRemove !== undefined) { - const memberEntries = serializeAws_queryNodeGroupsToRemoveList(input.NodeGroupsToRemove, context); + if (input.UserGroupId !== undefined) { + entries["UserGroupId"] = input.UserGroupId; + } + if (input.UserIdsToAdd !== undefined) { + const memberEntries = serializeAws_queryUserIdListInput(input.UserIdsToAdd, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `NodeGroupsToRemove.${key}`; + const loc = `UserIdsToAdd.${key}`; entries[loc] = value; }); } - if (input.NodeGroupCount !== undefined) { - entries["NodeGroupCount"] = input.NodeGroupCount; + return entries; +}; + +const serializeAws_queryModifyUserMessage = (input: ModifyUserMessage, context: __SerdeContext): any => { + const entries: any = {}; + if (input.UserId !== undefined) { + entries["UserId"] = input.UserId; } - if (input.ReplicationGroupId !== undefined) { - entries["ReplicationGroupId"] = input.ReplicationGroupId; + if (input.NoPasswordRequired !== undefined) { + entries["NoPasswordRequired"] = input.NoPasswordRequired; } - if (input.ReshardingConfiguration !== undefined) { - const memberEntries = serializeAws_queryReshardingConfigurationList(input.ReshardingConfiguration, context); + if (input.AccessString !== undefined) { + entries["AccessString"] = input.AccessString; + } + if (input.AppendAccessString !== undefined) { + entries["AppendAccessString"] = input.AppendAccessString; + } + if (input.Passwords !== undefined) { + const memberEntries = serializeAws_queryPasswordListInput(input.Passwords, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ReshardingConfiguration.${key}`; + const loc = `Passwords.${key}`; entries[loc] = value; }); } @@ -8449,24 +9704,34 @@ const serializeAws_queryModifyReplicationGroupShardConfigurationMessage = ( const serializeAws_queryNodeGroupConfiguration = (input: NodeGroupConfiguration, context: __SerdeContext): any => { const entries: any = {}; - if (input.NodeGroupId !== undefined) { - entries["NodeGroupId"] = input.NodeGroupId; + if (input.PrimaryOutpostArn !== undefined) { + entries["PrimaryOutpostArn"] = input.PrimaryOutpostArn; } - if (input.ReplicaAvailabilityZones !== undefined) { - const memberEntries = serializeAws_queryAvailabilityZonesList(input.ReplicaAvailabilityZones, context); + if (input.Slots !== undefined) { + entries["Slots"] = input.Slots; + } + if (input.PrimaryAvailabilityZone !== undefined) { + entries["PrimaryAvailabilityZone"] = input.PrimaryAvailabilityZone; + } + if (input.ReplicaOutpostArns !== undefined) { + const memberEntries = serializeAws_queryOutpostArnsList(input.ReplicaOutpostArns, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ReplicaAvailabilityZones.${key}`; + const loc = `ReplicaOutpostArns.${key}`; entries[loc] = value; }); } if (input.ReplicaCount !== undefined) { entries["ReplicaCount"] = input.ReplicaCount; } - if (input.PrimaryAvailabilityZone !== undefined) { - entries["PrimaryAvailabilityZone"] = input.PrimaryAvailabilityZone; + if (input.NodeGroupId !== undefined) { + entries["NodeGroupId"] = input.NodeGroupId; } - if (input.Slots !== undefined) { - entries["Slots"] = input.Slots; + if (input.ReplicaAvailabilityZones !== undefined) { + const memberEntries = serializeAws_queryAvailabilityZonesList(input.ReplicaAvailabilityZones, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ReplicaAvailabilityZones.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -8507,14 +9772,24 @@ const serializeAws_queryNodeGroupsToRetainList = (input: string[], context: __Se return entries; }; -const serializeAws_queryParameterNameValue = (input: ParameterNameValue, context: __SerdeContext): any => { +const serializeAws_queryOutpostArnsList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; - if (input.ParameterValue !== undefined) { - entries["ParameterValue"] = input.ParameterValue; + let counter = 1; + for (let entry of input) { + entries[`OutpostArn.${counter}`] = entry; + counter++; } + return entries; +}; + +const serializeAws_queryParameterNameValue = (input: ParameterNameValue, context: __SerdeContext): any => { + const entries: any = {}; if (input.ParameterName !== undefined) { entries["ParameterName"] = input.ParameterName; } + if (input.ParameterValue !== undefined) { + entries["ParameterValue"] = input.ParameterValue; + } return entries; }; @@ -8531,6 +9806,16 @@ const serializeAws_queryParameterNameValueList = (input: ParameterNameValue[], c return entries; }; +const serializeAws_queryPasswordListInput = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (let entry of input) { + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_queryPreferredAvailabilityZoneList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -8541,20 +9826,30 @@ const serializeAws_queryPreferredAvailabilityZoneList = (input: string[], contex return entries; }; -const serializeAws_queryPurchaseReservedCacheNodesOfferingMessage = ( - input: PurchaseReservedCacheNodesOfferingMessage, - context: __SerdeContext -): any => { +const serializeAws_queryPreferredOutpostArnList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; - if (input.ReservedCacheNodesOfferingId !== undefined) { - entries["ReservedCacheNodesOfferingId"] = input.ReservedCacheNodesOfferingId; - } - if (input.CacheNodeCount !== undefined) { - entries["CacheNodeCount"] = input.CacheNodeCount; + let counter = 1; + for (let entry of input) { + entries[`PreferredOutpostArn.${counter}`] = entry; + counter++; } + return entries; +}; + +const serializeAws_queryPurchaseReservedCacheNodesOfferingMessage = ( + input: PurchaseReservedCacheNodesOfferingMessage, + context: __SerdeContext +): any => { + const entries: any = {}; if (input.ReservedCacheNodeId !== undefined) { entries["ReservedCacheNodeId"] = input.ReservedCacheNodeId; } + if (input.CacheNodeCount !== undefined) { + entries["CacheNodeCount"] = input.CacheNodeCount; + } + if (input.ReservedCacheNodesOfferingId !== undefined) { + entries["ReservedCacheNodesOfferingId"] = input.ReservedCacheNodesOfferingId; + } return entries; }; @@ -8592,9 +9887,6 @@ const serializeAws_queryRebootCacheClusterMessage = ( const serializeAws_queryRegionalConfiguration = (input: RegionalConfiguration, context: __SerdeContext): any => { const entries: any = {}; - if (input.ReplicationGroupRegion !== undefined) { - entries["ReplicationGroupRegion"] = input.ReplicationGroupRegion; - } if (input.ReshardingConfiguration !== undefined) { const memberEntries = serializeAws_queryReshardingConfigurationList(input.ReshardingConfiguration, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8602,6 +9894,9 @@ const serializeAws_queryRegionalConfiguration = (input: RegionalConfiguration, c entries[loc] = value; }); } + if (input.ReplicationGroupRegion !== undefined) { + entries["ReplicationGroupRegion"] = input.ReplicationGroupRegion; + } if (input.ReplicationGroupId !== undefined) { entries["ReplicationGroupId"] = input.ReplicationGroupId; } @@ -8636,9 +9931,6 @@ const serializeAws_queryRemoveTagsFromResourceMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ResourceName !== undefined) { - entries["ResourceName"] = input.ResourceName; - } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8646,6 +9938,9 @@ const serializeAws_queryRemoveTagsFromResourceMessage = ( entries[loc] = value; }); } + if (input.ResourceName !== undefined) { + entries["ResourceName"] = input.ResourceName; + } return entries; }; @@ -8680,9 +9975,6 @@ const serializeAws_queryResetCacheParameterGroupMessage = ( if (input.CacheParameterGroupName !== undefined) { entries["CacheParameterGroupName"] = input.CacheParameterGroupName; } - if (input.ResetAllParameters !== undefined) { - entries["ResetAllParameters"] = input.ResetAllParameters; - } if (input.ParameterNameValues !== undefined) { const memberEntries = serializeAws_queryParameterNameValueList(input.ParameterNameValues, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8690,14 +9982,14 @@ const serializeAws_queryResetCacheParameterGroupMessage = ( entries[loc] = value; }); } + if (input.ResetAllParameters !== undefined) { + entries["ResetAllParameters"] = input.ResetAllParameters; + } return entries; }; const serializeAws_queryReshardingConfiguration = (input: ReshardingConfiguration, context: __SerdeContext): any => { const entries: any = {}; - if (input.NodeGroupId !== undefined) { - entries["NodeGroupId"] = input.NodeGroupId; - } if (input.PreferredAvailabilityZones !== undefined) { const memberEntries = serializeAws_queryAvailabilityZonesList(input.PreferredAvailabilityZones, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8705,6 +9997,9 @@ const serializeAws_queryReshardingConfiguration = (input: ReshardingConfiguratio entries[loc] = value; }); } + if (input.NodeGroupId !== undefined) { + entries["NodeGroupId"] = input.NodeGroupId; + } return entries; }; @@ -8729,15 +10024,15 @@ const serializeAws_queryRevokeCacheSecurityGroupIngressMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.EC2SecurityGroupOwnerId !== undefined) { + entries["EC2SecurityGroupOwnerId"] = input.EC2SecurityGroupOwnerId; + } if (input.CacheSecurityGroupName !== undefined) { entries["CacheSecurityGroupName"] = input.CacheSecurityGroupName; } if (input.EC2SecurityGroupName !== undefined) { entries["EC2SecurityGroupName"] = input.EC2SecurityGroupName; } - if (input.EC2SecurityGroupOwnerId !== undefined) { - entries["EC2SecurityGroupOwnerId"] = input.EC2SecurityGroupOwnerId; - } return entries; }; @@ -8776,6 +10071,9 @@ const serializeAws_querySnapshotArnsList = (input: string[], context: __SerdeCon const serializeAws_queryStartMigrationMessage = (input: StartMigrationMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.ReplicationGroupId !== undefined) { + entries["ReplicationGroupId"] = input.ReplicationGroupId; + } if (input.CustomerNodeEndpointList !== undefined) { const memberEntries = serializeAws_queryCustomerNodeEndpointList(input.CustomerNodeEndpointList, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8783,9 +10081,6 @@ const serializeAws_queryStartMigrationMessage = (input: StartMigrationMessage, c entries[loc] = value; }); } - if (input.ReplicationGroupId !== undefined) { - entries["ReplicationGroupId"] = input.ReplicationGroupId; - } return entries; }; @@ -8801,12 +10096,12 @@ const serializeAws_querySubnetIdentifierList = (input: string[], context: __Serd const serializeAws_queryTag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Key !== undefined) { - entries["Key"] = input.Key; - } if (input.Value !== undefined) { entries["Value"] = input.Value; } + if (input.Key !== undefined) { + entries["Key"] = input.Key; + } return entries; }; @@ -8825,23 +10120,23 @@ const serializeAws_queryTagList = (input: Tag[], context: __SerdeContext): any = const serializeAws_queryTestFailoverMessage = (input: TestFailoverMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.NodeGroupId !== undefined) { - entries["NodeGroupId"] = input.NodeGroupId; - } if (input.ReplicationGroupId !== undefined) { entries["ReplicationGroupId"] = input.ReplicationGroupId; } + if (input.NodeGroupId !== undefined) { + entries["NodeGroupId"] = input.NodeGroupId; + } return entries; }; const serializeAws_queryTimeRangeFilter = (input: TimeRangeFilter, context: __SerdeContext): any => { const entries: any = {}; - 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.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + } return entries; }; @@ -8858,6 +10153,36 @@ const serializeAws_queryUpdateActionStatusList = ( return entries; }; +const serializeAws_queryUserGroupIdList = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (let entry of input) { + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + +const serializeAws_queryUserGroupIdListInput = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (let entry of input) { + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + +const serializeAws_queryUserIdListInput = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (let entry of input) { + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + const deserializeAws_queryAllowedNodeTypeModificationsMessage = ( output: any, context: __SerdeContext @@ -8900,6 +10225,20 @@ const deserializeAws_queryAPICallRateForCustomerExceededFault = ( return contents; }; +const deserializeAws_queryAuthentication = (output: any, context: __SerdeContext): Authentication => { + let contents: any = { + PasswordCount: undefined, + Type: undefined, + }; + if (output["PasswordCount"] !== undefined) { + contents.PasswordCount = parseInt(output["PasswordCount"]); + } + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; + } + return contents; +}; + const deserializeAws_queryAuthorizationAlreadyExistsFault = ( output: any, context: __SerdeContext @@ -8955,78 +10294,112 @@ const deserializeAws_queryAvailabilityZonesList = (output: any, context: __Serde const deserializeAws_queryCacheCluster = (output: any, context: __SerdeContext): CacheCluster => { let contents: any = { - ClientDownloadLandingPage: undefined, - ConfigurationEndpoint: undefined, - PendingModifiedValues: undefined, - SnapshotRetentionLimit: undefined, - CacheClusterCreateTime: undefined, - ARN: undefined, - AuthTokenEnabled: undefined, - ReplicationGroupId: undefined, - CacheClusterStatus: undefined, - SecurityGroups: undefined, - CacheClusterId: undefined, - TransitEncryptionEnabled: undefined, - CacheSecurityGroups: undefined, - NumCacheNodes: undefined, - PreferredMaintenanceWindow: undefined, - PreferredAvailabilityZone: undefined, + AuthTokenLastModifiedDate: undefined, AutoMinorVersionUpgrade: undefined, NotificationConfiguration: undefined, - AuthTokenLastModifiedDate: undefined, - SnapshotWindow: undefined, - CacheSubnetGroupName: undefined, Engine: undefined, CacheParameterGroup: undefined, + CacheClusterStatus: undefined, + CacheSubnetGroupName: undefined, + SnapshotWindow: undefined, + ARN: undefined, AtRestEncryptionEnabled: undefined, + CacheNodes: undefined, CacheNodeType: undefined, EngineVersion: undefined, - CacheNodes: undefined, + CacheClusterCreateTime: undefined, + SnapshotRetentionLimit: undefined, + ClientDownloadLandingPage: undefined, + ConfigurationEndpoint: undefined, + PendingModifiedValues: undefined, + CacheClusterId: undefined, + NumCacheNodes: undefined, + PreferredMaintenanceWindow: undefined, + CacheSecurityGroups: undefined, + PreferredAvailabilityZone: undefined, + SecurityGroups: undefined, + ReplicationGroupId: undefined, + PreferredOutpostArn: undefined, + AuthTokenEnabled: undefined, + TransitEncryptionEnabled: undefined, }; - if (output["ClientDownloadLandingPage"] !== undefined) { - contents.ClientDownloadLandingPage = output["ClientDownloadLandingPage"]; + if (output["AuthTokenLastModifiedDate"] !== undefined) { + contents.AuthTokenLastModifiedDate = new Date(output["AuthTokenLastModifiedDate"]); } - if (output["ConfigurationEndpoint"] !== undefined) { - contents.ConfigurationEndpoint = deserializeAws_queryEndpoint(output["ConfigurationEndpoint"], context); + if (output["AutoMinorVersionUpgrade"] !== undefined) { + contents.AutoMinorVersionUpgrade = output["AutoMinorVersionUpgrade"] == "true"; } - if (output["PendingModifiedValues"] !== undefined) { - contents.PendingModifiedValues = deserializeAws_queryPendingModifiedValues( - output["PendingModifiedValues"], + if (output["NotificationConfiguration"] !== undefined) { + contents.NotificationConfiguration = deserializeAws_queryNotificationConfiguration( + output["NotificationConfiguration"], context ); } - if (output["SnapshotRetentionLimit"] !== undefined) { - contents.SnapshotRetentionLimit = parseInt(output["SnapshotRetentionLimit"]); + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; } - if (output["CacheClusterCreateTime"] !== undefined) { - contents.CacheClusterCreateTime = new Date(output["CacheClusterCreateTime"]); + if (output["CacheParameterGroup"] !== undefined) { + contents.CacheParameterGroup = deserializeAws_queryCacheParameterGroupStatus( + output["CacheParameterGroup"], + context + ); + } + if (output["CacheClusterStatus"] !== undefined) { + contents.CacheClusterStatus = output["CacheClusterStatus"]; + } + if (output["CacheSubnetGroupName"] !== undefined) { + contents.CacheSubnetGroupName = output["CacheSubnetGroupName"]; + } + if (output["SnapshotWindow"] !== undefined) { + contents.SnapshotWindow = output["SnapshotWindow"]; } if (output["ARN"] !== undefined) { contents.ARN = output["ARN"]; } - if (output["AuthTokenEnabled"] !== undefined) { - contents.AuthTokenEnabled = output["AuthTokenEnabled"] == "true"; + if (output["AtRestEncryptionEnabled"] !== undefined) { + contents.AtRestEncryptionEnabled = output["AtRestEncryptionEnabled"] == "true"; } - if (output["ReplicationGroupId"] !== undefined) { - contents.ReplicationGroupId = output["ReplicationGroupId"]; + if (output.CacheNodes === "") { + contents.CacheNodes = []; } - if (output["CacheClusterStatus"] !== undefined) { - contents.CacheClusterStatus = output["CacheClusterStatus"]; + if (output["CacheNodes"] !== undefined && output["CacheNodes"]["CacheNode"] !== undefined) { + contents.CacheNodes = deserializeAws_queryCacheNodeList( + __getArrayIfSingleItem(output["CacheNodes"]["CacheNode"]), + context + ); } - if (output.SecurityGroups === "") { - contents.SecurityGroups = []; + if (output["CacheNodeType"] !== undefined) { + contents.CacheNodeType = output["CacheNodeType"]; } - if (output["SecurityGroups"] !== undefined && output["SecurityGroups"]["member"] !== undefined) { - contents.SecurityGroups = deserializeAws_querySecurityGroupMembershipList( - __getArrayIfSingleItem(output["SecurityGroups"]["member"]), + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; + } + if (output["CacheClusterCreateTime"] !== undefined) { + contents.CacheClusterCreateTime = new Date(output["CacheClusterCreateTime"]); + } + if (output["SnapshotRetentionLimit"] !== undefined) { + contents.SnapshotRetentionLimit = parseInt(output["SnapshotRetentionLimit"]); + } + if (output["ClientDownloadLandingPage"] !== undefined) { + contents.ClientDownloadLandingPage = output["ClientDownloadLandingPage"]; + } + if (output["ConfigurationEndpoint"] !== undefined) { + contents.ConfigurationEndpoint = deserializeAws_queryEndpoint(output["ConfigurationEndpoint"], context); + } + if (output["PendingModifiedValues"] !== undefined) { + contents.PendingModifiedValues = deserializeAws_queryPendingModifiedValues( + output["PendingModifiedValues"], context ); } if (output["CacheClusterId"] !== undefined) { contents.CacheClusterId = output["CacheClusterId"]; } - if (output["TransitEncryptionEnabled"] !== undefined) { - contents.TransitEncryptionEnabled = output["TransitEncryptionEnabled"] == "true"; + if (output["NumCacheNodes"] !== undefined) { + contents.NumCacheNodes = parseInt(output["NumCacheNodes"]); + } + if (output["PreferredMaintenanceWindow"] !== undefined) { + contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; } if (output.CacheSecurityGroups === "") { contents.CacheSecurityGroups = []; @@ -9040,59 +10413,29 @@ const deserializeAws_queryCacheCluster = (output: any, context: __SerdeContext): context ); } - if (output["NumCacheNodes"] !== undefined) { - contents.NumCacheNodes = parseInt(output["NumCacheNodes"]); - } - if (output["PreferredMaintenanceWindow"] !== undefined) { - contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; - } if (output["PreferredAvailabilityZone"] !== undefined) { contents.PreferredAvailabilityZone = output["PreferredAvailabilityZone"]; } - if (output["AutoMinorVersionUpgrade"] !== undefined) { - contents.AutoMinorVersionUpgrade = output["AutoMinorVersionUpgrade"] == "true"; - } - if (output["NotificationConfiguration"] !== undefined) { - contents.NotificationConfiguration = deserializeAws_queryNotificationConfiguration( - output["NotificationConfiguration"], - context - ); - } - if (output["AuthTokenLastModifiedDate"] !== undefined) { - contents.AuthTokenLastModifiedDate = new Date(output["AuthTokenLastModifiedDate"]); - } - if (output["SnapshotWindow"] !== undefined) { - contents.SnapshotWindow = output["SnapshotWindow"]; - } - if (output["CacheSubnetGroupName"] !== undefined) { - contents.CacheSubnetGroupName = output["CacheSubnetGroupName"]; - } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output.SecurityGroups === "") { + contents.SecurityGroups = []; } - if (output["CacheParameterGroup"] !== undefined) { - contents.CacheParameterGroup = deserializeAws_queryCacheParameterGroupStatus( - output["CacheParameterGroup"], + if (output["SecurityGroups"] !== undefined && output["SecurityGroups"]["member"] !== undefined) { + contents.SecurityGroups = deserializeAws_querySecurityGroupMembershipList( + __getArrayIfSingleItem(output["SecurityGroups"]["member"]), context ); } - if (output["AtRestEncryptionEnabled"] !== undefined) { - contents.AtRestEncryptionEnabled = output["AtRestEncryptionEnabled"] == "true"; + if (output["ReplicationGroupId"] !== undefined) { + contents.ReplicationGroupId = output["ReplicationGroupId"]; } - if (output["CacheNodeType"] !== undefined) { - contents.CacheNodeType = output["CacheNodeType"]; + if (output["PreferredOutpostArn"] !== undefined) { + contents.PreferredOutpostArn = output["PreferredOutpostArn"]; } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; - } - if (output.CacheNodes === "") { - contents.CacheNodes = []; + if (output["AuthTokenEnabled"] !== undefined) { + contents.AuthTokenEnabled = output["AuthTokenEnabled"] == "true"; } - if (output["CacheNodes"] !== undefined && output["CacheNodes"]["CacheNode"] !== undefined) { - contents.CacheNodes = deserializeAws_queryCacheNodeList( - __getArrayIfSingleItem(output["CacheNodes"]["CacheNode"]), - context - ); + if (output["TransitEncryptionEnabled"] !== undefined) { + contents.TransitEncryptionEnabled = output["TransitEncryptionEnabled"] == "true"; } return contents; }; @@ -9116,9 +10459,12 @@ const deserializeAws_queryCacheClusterList = (output: any, context: __SerdeConte const deserializeAws_queryCacheClusterMessage = (output: any, context: __SerdeContext): CacheClusterMessage => { let contents: any = { - CacheClusters: undefined, Marker: undefined, + CacheClusters: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.CacheClusters === "") { contents.CacheClusters = []; } @@ -9128,9 +10474,6 @@ const deserializeAws_queryCacheClusterMessage = (output: any, context: __SerdeCo context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -9150,14 +10493,17 @@ const deserializeAws_queryCacheClusterNotFoundFault = ( const deserializeAws_queryCacheEngineVersion = (output: any, context: __SerdeContext): CacheEngineVersion => { let contents: any = { Engine: undefined, + EngineVersion: undefined, CacheEngineDescription: undefined, CacheParameterGroupFamily: undefined, CacheEngineVersionDescription: undefined, - EngineVersion: undefined, }; if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; } + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; + } if (output["CacheEngineDescription"] !== undefined) { contents.CacheEngineDescription = output["CacheEngineDescription"]; } @@ -9167,9 +10513,6 @@ const deserializeAws_queryCacheEngineVersion = (output: any, context: __SerdeCon if (output["CacheEngineVersionDescription"] !== undefined) { contents.CacheEngineVersionDescription = output["CacheEngineVersionDescription"]; } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; - } return contents; }; @@ -9182,12 +10525,9 @@ const deserializeAws_queryCacheEngineVersionMessage = ( context: __SerdeContext ): CacheEngineVersionMessage => { let contents: any = { - Marker: undefined, CacheEngineVersions: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.CacheEngineVersions === "") { contents.CacheEngineVersions = []; } @@ -9200,39 +10540,46 @@ const deserializeAws_queryCacheEngineVersionMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; const deserializeAws_queryCacheNode = (output: any, context: __SerdeContext): CacheNode => { let contents: any = { - SourceCacheNodeId: undefined, - CacheNodeCreateTime: undefined, - ParameterGroupStatus: undefined, - CacheNodeId: undefined, - CacheNodeStatus: undefined, + CustomerOutpostArn: undefined, Endpoint: undefined, + ParameterGroupStatus: undefined, CustomerAvailabilityZone: undefined, + CacheNodeStatus: undefined, + CacheNodeId: undefined, + CacheNodeCreateTime: undefined, + SourceCacheNodeId: undefined, }; - if (output["SourceCacheNodeId"] !== undefined) { - contents.SourceCacheNodeId = output["SourceCacheNodeId"]; + if (output["CustomerOutpostArn"] !== undefined) { + contents.CustomerOutpostArn = output["CustomerOutpostArn"]; } - if (output["CacheNodeCreateTime"] !== undefined) { - contents.CacheNodeCreateTime = new Date(output["CacheNodeCreateTime"]); + if (output["Endpoint"] !== undefined) { + contents.Endpoint = deserializeAws_queryEndpoint(output["Endpoint"], context); } if (output["ParameterGroupStatus"] !== undefined) { contents.ParameterGroupStatus = output["ParameterGroupStatus"]; } - if (output["CacheNodeId"] !== undefined) { - contents.CacheNodeId = output["CacheNodeId"]; + if (output["CustomerAvailabilityZone"] !== undefined) { + contents.CustomerAvailabilityZone = output["CustomerAvailabilityZone"]; } if (output["CacheNodeStatus"] !== undefined) { contents.CacheNodeStatus = output["CacheNodeStatus"]; } - if (output["Endpoint"] !== undefined) { - contents.Endpoint = deserializeAws_queryEndpoint(output["Endpoint"], context); + if (output["CacheNodeId"] !== undefined) { + contents.CacheNodeId = output["CacheNodeId"]; } - if (output["CustomerAvailabilityZone"] !== undefined) { - contents.CustomerAvailabilityZone = output["CustomerAvailabilityZone"]; + if (output["CacheNodeCreateTime"] !== undefined) { + contents.CacheNodeCreateTime = new Date(output["CacheNodeCreateTime"]); + } + if (output["SourceCacheNodeId"] !== undefined) { + contents.SourceCacheNodeId = output["SourceCacheNodeId"]; } return contents; }; @@ -9250,37 +10597,16 @@ const deserializeAws_queryCacheNodeTypeSpecificParameter = ( context: __SerdeContext ): CacheNodeTypeSpecificParameter => { let contents: any = { + CacheNodeTypeSpecificValues: undefined, + AllowedValues: undefined, + IsModifiable: undefined, Description: undefined, + MinimumEngineVersion: undefined, ChangeType: undefined, - IsModifiable: undefined, ParameterName: undefined, Source: undefined, DataType: undefined, - MinimumEngineVersion: undefined, - CacheNodeTypeSpecificValues: undefined, - AllowedValues: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } - if (output["ChangeType"] !== undefined) { - contents.ChangeType = output["ChangeType"]; - } - if (output["IsModifiable"] !== undefined) { - contents.IsModifiable = output["IsModifiable"] == "true"; - } - if (output["ParameterName"] !== undefined) { - contents.ParameterName = output["ParameterName"]; - } - if (output["Source"] !== undefined) { - contents.Source = output["Source"]; - } - if (output["DataType"] !== undefined) { - contents.DataType = output["DataType"]; - } - if (output["MinimumEngineVersion"] !== undefined) { - contents.MinimumEngineVersion = output["MinimumEngineVersion"]; - } if (output.CacheNodeTypeSpecificValues === "") { contents.CacheNodeTypeSpecificValues = []; } @@ -9296,6 +10622,27 @@ const deserializeAws_queryCacheNodeTypeSpecificParameter = ( if (output["AllowedValues"] !== undefined) { contents.AllowedValues = output["AllowedValues"]; } + if (output["IsModifiable"] !== undefined) { + contents.IsModifiable = output["IsModifiable"] == "true"; + } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["MinimumEngineVersion"] !== undefined) { + contents.MinimumEngineVersion = output["MinimumEngineVersion"]; + } + if (output["ChangeType"] !== undefined) { + contents.ChangeType = output["ChangeType"]; + } + if (output["ParameterName"] !== undefined) { + contents.ParameterName = output["ParameterName"]; + } + if (output["Source"] !== undefined) { + contents.Source = output["Source"]; + } + if (output["DataType"] !== undefined) { + contents.DataType = output["DataType"]; + } return contents; }; @@ -9332,15 +10679,18 @@ const deserializeAws_queryCacheNodeTypeSpecificValueList = ( const deserializeAws_queryCacheNodeUpdateStatus = (output: any, context: __SerdeContext): CacheNodeUpdateStatus => { let contents: any = { + NodeDeletionDate: undefined, NodeUpdateStatusModifiedDate: undefined, NodeUpdateStatus: undefined, NodeUpdateEndDate: undefined, + CacheNodeId: undefined, NodeUpdateStartDate: undefined, NodeUpdateInitiatedBy: undefined, NodeUpdateInitiatedDate: undefined, - CacheNodeId: undefined, - NodeDeletionDate: undefined, }; + if (output["NodeDeletionDate"] !== undefined) { + contents.NodeDeletionDate = new Date(output["NodeDeletionDate"]); + } if (output["NodeUpdateStatusModifiedDate"] !== undefined) { contents.NodeUpdateStatusModifiedDate = new Date(output["NodeUpdateStatusModifiedDate"]); } @@ -9350,6 +10700,9 @@ const deserializeAws_queryCacheNodeUpdateStatus = (output: any, context: __Serde if (output["NodeUpdateEndDate"] !== undefined) { contents.NodeUpdateEndDate = new Date(output["NodeUpdateEndDate"]); } + if (output["CacheNodeId"] !== undefined) { + contents.CacheNodeId = output["CacheNodeId"]; + } if (output["NodeUpdateStartDate"] !== undefined) { contents.NodeUpdateStartDate = new Date(output["NodeUpdateStartDate"]); } @@ -9359,12 +10712,6 @@ const deserializeAws_queryCacheNodeUpdateStatus = (output: any, context: __Serde if (output["NodeUpdateInitiatedDate"] !== undefined) { contents.NodeUpdateInitiatedDate = new Date(output["NodeUpdateInitiatedDate"]); } - if (output["CacheNodeId"] !== undefined) { - contents.CacheNodeId = output["CacheNodeId"]; - } - if (output["NodeDeletionDate"] !== undefined) { - contents.NodeDeletionDate = new Date(output["NodeDeletionDate"]); - } return contents; }; @@ -9377,27 +10724,27 @@ const deserializeAws_queryCacheNodeUpdateStatusList = ( const deserializeAws_queryCacheParameterGroup = (output: any, context: __SerdeContext): CacheParameterGroup => { let contents: any = { - Description: undefined, CacheParameterGroupName: undefined, - IsGlobal: undefined, CacheParameterGroupFamily: undefined, ARN: undefined, + IsGlobal: undefined, + Description: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["CacheParameterGroupName"] !== undefined) { contents.CacheParameterGroupName = output["CacheParameterGroupName"]; } - if (output["IsGlobal"] !== undefined) { - contents.IsGlobal = output["IsGlobal"] == "true"; - } if (output["CacheParameterGroupFamily"] !== undefined) { contents.CacheParameterGroupFamily = output["CacheParameterGroupFamily"]; } if (output["ARN"] !== undefined) { contents.ARN = output["ARN"]; } + if (output["IsGlobal"] !== undefined) { + contents.IsGlobal = output["IsGlobal"] == "true"; + } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } return contents; }; @@ -9419,22 +10766,10 @@ const deserializeAws_queryCacheParameterGroupDetails = ( context: __SerdeContext ): CacheParameterGroupDetails => { let contents: any = { + CacheNodeTypeSpecificParameters: undefined, Parameters: undefined, Marker: undefined, - CacheNodeTypeSpecificParameters: undefined, }; - if (output.Parameters === "") { - contents.Parameters = []; - } - if (output["Parameters"] !== undefined && output["Parameters"]["Parameter"] !== undefined) { - contents.Parameters = deserializeAws_queryParametersList( - __getArrayIfSingleItem(output["Parameters"]["Parameter"]), - context - ); - } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.CacheNodeTypeSpecificParameters === "") { contents.CacheNodeTypeSpecificParameters = []; } @@ -9447,6 +10782,18 @@ const deserializeAws_queryCacheParameterGroupDetails = ( context ); } + if (output.Parameters === "") { + contents.Parameters = []; + } + if (output["Parameters"] !== undefined && output["Parameters"]["Parameter"] !== undefined) { + contents.Parameters = deserializeAws_queryParametersList( + __getArrayIfSingleItem(output["Parameters"]["Parameter"]), + context + ); + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -9498,12 +10845,9 @@ const deserializeAws_queryCacheParameterGroupsMessage = ( context: __SerdeContext ): CacheParameterGroupsMessage => { let contents: any = { - Marker: undefined, CacheParameterGroups: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.CacheParameterGroups === "") { contents.CacheParameterGroups = []; } @@ -9516,6 +10860,9 @@ const deserializeAws_queryCacheParameterGroupsMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -9524,13 +10871,10 @@ const deserializeAws_queryCacheParameterGroupStatus = ( context: __SerdeContext ): CacheParameterGroupStatus => { let contents: any = { - CacheParameterGroupName: undefined, ParameterApplyStatus: undefined, CacheNodeIdsToReboot: undefined, + CacheParameterGroupName: undefined, }; - if (output["CacheParameterGroupName"] !== undefined) { - contents.CacheParameterGroupName = output["CacheParameterGroupName"]; - } if (output["ParameterApplyStatus"] !== undefined) { contents.ParameterApplyStatus = output["ParameterApplyStatus"]; } @@ -9543,29 +10887,29 @@ const deserializeAws_queryCacheParameterGroupStatus = ( context ); } + if (output["CacheParameterGroupName"] !== undefined) { + contents.CacheParameterGroupName = output["CacheParameterGroupName"]; + } return contents; }; const deserializeAws_queryCacheSecurityGroup = (output: any, context: __SerdeContext): CacheSecurityGroup => { let contents: any = { + Description: undefined, CacheSecurityGroupName: undefined, - ARN: undefined, OwnerId: undefined, - Description: undefined, EC2SecurityGroups: undefined, + ARN: undefined, }; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } if (output["CacheSecurityGroupName"] !== undefined) { contents.CacheSecurityGroupName = output["CacheSecurityGroupName"]; } - if (output["ARN"] !== undefined) { - contents.ARN = output["ARN"]; - } if (output["OwnerId"] !== undefined) { contents.OwnerId = output["OwnerId"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output.EC2SecurityGroups === "") { contents.EC2SecurityGroups = []; } @@ -9575,6 +10919,9 @@ const deserializeAws_queryCacheSecurityGroup = (output: any, context: __SerdeCon context ); } + if (output["ARN"] !== undefined) { + contents.ARN = output["ARN"]; + } return contents; }; @@ -9620,9 +10967,12 @@ const deserializeAws_queryCacheSecurityGroupMessage = ( context: __SerdeContext ): CacheSecurityGroupMessage => { let contents: any = { - CacheSecurityGroups: undefined, Marker: undefined, + CacheSecurityGroups: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.CacheSecurityGroups === "") { contents.CacheSecurityGroups = []; } @@ -9635,9 +10985,6 @@ const deserializeAws_queryCacheSecurityGroupMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -9673,30 +11020,30 @@ const deserializeAws_queryCacheSecurityGroups = (output: any, context: __SerdeCo const deserializeAws_queryCacheSubnetGroup = (output: any, context: __SerdeContext): CacheSubnetGroup => { let contents: any = { + VpcId: undefined, Subnets: undefined, - CacheSubnetGroupName: undefined, ARN: undefined, + CacheSubnetGroupName: undefined, CacheSubnetGroupDescription: undefined, - VpcId: undefined, }; + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; + } if (output.Subnets === "") { contents.Subnets = []; } if (output["Subnets"] !== undefined && output["Subnets"]["Subnet"] !== undefined) { contents.Subnets = deserializeAws_querySubnetList(__getArrayIfSingleItem(output["Subnets"]["Subnet"]), context); } - if (output["CacheSubnetGroupName"] !== undefined) { - contents.CacheSubnetGroupName = output["CacheSubnetGroupName"]; - } if (output["ARN"] !== undefined) { contents.ARN = output["ARN"]; } + if (output["CacheSubnetGroupName"] !== undefined) { + contents.CacheSubnetGroupName = output["CacheSubnetGroupName"]; + } if (output["CacheSubnetGroupDescription"] !== undefined) { contents.CacheSubnetGroupDescription = output["CacheSubnetGroupDescription"]; } - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; - } return contents; }; @@ -9946,6 +11293,29 @@ const deserializeAws_queryDecreaseReplicaCountResult = ( return contents; }; +const deserializeAws_queryDefaultUserAssociatedToUserGroupFault = ( + output: any, + context: __SerdeContext +): DefaultUserAssociatedToUserGroupFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + +const deserializeAws_queryDefaultUserRequired = (output: any, context: __SerdeContext): DefaultUserRequired => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + const deserializeAws_queryDeleteCacheClusterResult = ( output: any, context: __SerdeContext @@ -10016,12 +11386,9 @@ const deserializeAws_queryDescribeGlobalReplicationGroupsResult = ( context: __SerdeContext ): DescribeGlobalReplicationGroupsResult => { let contents: any = { - Marker: undefined, GlobalReplicationGroups: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.GlobalReplicationGroups === "") { contents.GlobalReplicationGroups = []; } @@ -10034,6 +11401,9 @@ const deserializeAws_queryDescribeGlobalReplicationGroupsResult = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -10060,6 +11430,46 @@ const deserializeAws_queryDescribeSnapshotsListMessage = ( return contents; }; +const deserializeAws_queryDescribeUserGroupsResult = ( + output: any, + context: __SerdeContext +): DescribeUserGroupsResult => { + let contents: any = { + UserGroups: undefined, + Marker: undefined, + }; + if (output.UserGroups === "") { + contents.UserGroups = []; + } + if (output["UserGroups"] !== undefined && output["UserGroups"]["member"] !== undefined) { + contents.UserGroups = deserializeAws_queryUserGroupList( + __getArrayIfSingleItem(output["UserGroups"]["member"]), + context + ); + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } + return contents; +}; + +const deserializeAws_queryDescribeUsersResult = (output: any, context: __SerdeContext): DescribeUsersResult => { + let contents: any = { + Users: undefined, + Marker: undefined, + }; + if (output.Users === "") { + contents.Users = []; + } + if (output["Users"] !== undefined && output["Users"]["member"] !== undefined) { + contents.Users = deserializeAws_queryUserList(__getArrayIfSingleItem(output["Users"]["member"]), context); + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } + return contents; +}; + const deserializeAws_queryDisassociateGlobalReplicationGroupResult = ( output: any, context: __SerdeContext @@ -10076,21 +11486,31 @@ const deserializeAws_queryDisassociateGlobalReplicationGroupResult = ( return contents; }; +const deserializeAws_queryDuplicateUserNameFault = (output: any, context: __SerdeContext): DuplicateUserNameFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + const deserializeAws_queryEC2SecurityGroup = (output: any, context: __SerdeContext): EC2SecurityGroup => { let contents: any = { - EC2SecurityGroupName: undefined, Status: undefined, EC2SecurityGroupOwnerId: undefined, + EC2SecurityGroupName: undefined, }; - if (output["EC2SecurityGroupName"] !== undefined) { - contents.EC2SecurityGroupName = output["EC2SecurityGroupName"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } if (output["EC2SecurityGroupOwnerId"] !== undefined) { contents.EC2SecurityGroupOwnerId = output["EC2SecurityGroupOwnerId"]; } + if (output["EC2SecurityGroupName"] !== undefined) { + contents.EC2SecurityGroupName = output["EC2SecurityGroupName"]; + } return contents; }; @@ -10100,30 +11520,33 @@ const deserializeAws_queryEC2SecurityGroupList = (output: any, context: __SerdeC const deserializeAws_queryEndpoint = (output: any, context: __SerdeContext): Endpoint => { let contents: any = { - Port: undefined, Address: undefined, + Port: undefined, }; - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } if (output["Address"] !== undefined) { contents.Address = output["Address"]; } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } return contents; }; const deserializeAws_queryEngineDefaults = (output: any, context: __SerdeContext): EngineDefaults => { let contents: any = { + Parameters: undefined, + CacheNodeTypeSpecificParameters: undefined, CacheParameterGroupFamily: undefined, Marker: undefined, - CacheNodeTypeSpecificParameters: undefined, - Parameters: undefined, }; - if (output["CacheParameterGroupFamily"] !== undefined) { - contents.CacheParameterGroupFamily = output["CacheParameterGroupFamily"]; + if (output.Parameters === "") { + contents.Parameters = []; } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; + if (output["Parameters"] !== undefined && output["Parameters"]["Parameter"] !== undefined) { + contents.Parameters = deserializeAws_queryParametersList( + __getArrayIfSingleItem(output["Parameters"]["Parameter"]), + context + ); } if (output.CacheNodeTypeSpecificParameters === "") { contents.CacheNodeTypeSpecificParameters = []; @@ -10137,14 +11560,11 @@ const deserializeAws_queryEngineDefaults = (output: any, context: __SerdeContext context ); } - if (output.Parameters === "") { - contents.Parameters = []; + if (output["CacheParameterGroupFamily"] !== undefined) { + contents.CacheParameterGroupFamily = output["CacheParameterGroupFamily"]; } - if (output["Parameters"] !== undefined && output["Parameters"]["Parameter"] !== undefined) { - contents.Parameters = deserializeAws_queryParametersList( - __getArrayIfSingleItem(output["Parameters"]["Parameter"]), - context - ); + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; } return contents; }; @@ -10152,22 +11572,22 @@ const deserializeAws_queryEngineDefaults = (output: any, context: __SerdeContext const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event => { let contents: any = { Date: undefined, - SourceIdentifier: undefined, SourceType: undefined, Message: undefined, + SourceIdentifier: undefined, }; if (output["Date"] !== undefined) { contents.Date = new Date(output["Date"]); } - if (output["SourceIdentifier"] !== undefined) { - contents.SourceIdentifier = output["SourceIdentifier"]; - } if (output["SourceType"] !== undefined) { contents.SourceType = output["SourceType"]; } if (output["Message"] !== undefined) { contents.Message = output["Message"]; } + if (output["SourceIdentifier"] !== undefined) { + contents.SourceIdentifier = output["SourceIdentifier"]; + } return contents; }; @@ -10228,29 +11648,20 @@ const deserializeAws_queryGlobalNodeGroupList = (output: any, context: __SerdeCo const deserializeAws_queryGlobalReplicationGroup = (output: any, context: __SerdeContext): GlobalReplicationGroup => { let contents: any = { - TransitEncryptionEnabled: undefined, - ClusterEnabled: undefined, - GlobalReplicationGroupDescription: undefined, Members: undefined, - GlobalReplicationGroupId: undefined, - ARN: undefined, - Engine: undefined, - AtRestEncryptionEnabled: undefined, - AuthTokenEnabled: undefined, + Engine: undefined, + ClusterEnabled: undefined, + GlobalReplicationGroupDescription: undefined, Status: undefined, GlobalNodeGroups: undefined, + ARN: undefined, + AtRestEncryptionEnabled: undefined, + GlobalReplicationGroupId: undefined, EngineVersion: undefined, CacheNodeType: undefined, + TransitEncryptionEnabled: undefined, + AuthTokenEnabled: undefined, }; - if (output["TransitEncryptionEnabled"] !== undefined) { - contents.TransitEncryptionEnabled = output["TransitEncryptionEnabled"] == "true"; - } - if (output["ClusterEnabled"] !== undefined) { - contents.ClusterEnabled = output["ClusterEnabled"] == "true"; - } - if (output["GlobalReplicationGroupDescription"] !== undefined) { - contents.GlobalReplicationGroupDescription = output["GlobalReplicationGroupDescription"]; - } if (output.Members === "") { contents.Members = []; } @@ -10260,20 +11671,14 @@ const deserializeAws_queryGlobalReplicationGroup = (output: any, context: __Serd context ); } - if (output["GlobalReplicationGroupId"] !== undefined) { - contents.GlobalReplicationGroupId = output["GlobalReplicationGroupId"]; - } - if (output["ARN"] !== undefined) { - contents.ARN = output["ARN"]; - } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; } - if (output["AtRestEncryptionEnabled"] !== undefined) { - contents.AtRestEncryptionEnabled = output["AtRestEncryptionEnabled"] == "true"; + if (output["ClusterEnabled"] !== undefined) { + contents.ClusterEnabled = output["ClusterEnabled"] == "true"; } - if (output["AuthTokenEnabled"] !== undefined) { - contents.AuthTokenEnabled = output["AuthTokenEnabled"] == "true"; + if (output["GlobalReplicationGroupDescription"] !== undefined) { + contents.GlobalReplicationGroupDescription = output["GlobalReplicationGroupDescription"]; } if (output["Status"] !== undefined) { contents.Status = output["Status"]; @@ -10287,12 +11692,27 @@ const deserializeAws_queryGlobalReplicationGroup = (output: any, context: __Serd context ); } + if (output["ARN"] !== undefined) { + contents.ARN = output["ARN"]; + } + if (output["AtRestEncryptionEnabled"] !== undefined) { + contents.AtRestEncryptionEnabled = output["AtRestEncryptionEnabled"] == "true"; + } + if (output["GlobalReplicationGroupId"] !== undefined) { + contents.GlobalReplicationGroupId = output["GlobalReplicationGroupId"]; + } if (output["EngineVersion"] !== undefined) { contents.EngineVersion = output["EngineVersion"]; } if (output["CacheNodeType"] !== undefined) { contents.CacheNodeType = output["CacheNodeType"]; } + if (output["TransitEncryptionEnabled"] !== undefined) { + contents.TransitEncryptionEnabled = output["TransitEncryptionEnabled"] == "true"; + } + if (output["AuthTokenEnabled"] !== undefined) { + contents.AuthTokenEnabled = output["AuthTokenEnabled"] == "true"; + } return contents; }; @@ -10314,15 +11734,15 @@ const deserializeAws_queryGlobalReplicationGroupInfo = ( context: __SerdeContext ): GlobalReplicationGroupInfo => { let contents: any = { - GlobalReplicationGroupMemberRole: undefined, GlobalReplicationGroupId: undefined, + GlobalReplicationGroupMemberRole: undefined, }; - if (output["GlobalReplicationGroupMemberRole"] !== undefined) { - contents.GlobalReplicationGroupMemberRole = output["GlobalReplicationGroupMemberRole"]; - } if (output["GlobalReplicationGroupId"] !== undefined) { contents.GlobalReplicationGroupId = output["GlobalReplicationGroupId"]; } + if (output["GlobalReplicationGroupMemberRole"] !== undefined) { + contents.GlobalReplicationGroupMemberRole = output["GlobalReplicationGroupMemberRole"]; + } return contents; }; @@ -10338,26 +11758,26 @@ const deserializeAws_queryGlobalReplicationGroupMember = ( context: __SerdeContext ): GlobalReplicationGroupMember => { let contents: any = { - Role: undefined, ReplicationGroupRegion: undefined, + AutomaticFailover: undefined, Status: undefined, ReplicationGroupId: undefined, - AutomaticFailover: undefined, + Role: undefined, }; - if (output["Role"] !== undefined) { - contents.Role = output["Role"]; - } if (output["ReplicationGroupRegion"] !== undefined) { contents.ReplicationGroupRegion = output["ReplicationGroupRegion"]; } + if (output["AutomaticFailover"] !== undefined) { + contents.AutomaticFailover = output["AutomaticFailover"]; + } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } if (output["ReplicationGroupId"] !== undefined) { contents.ReplicationGroupId = output["ReplicationGroupId"]; } - if (output["AutomaticFailover"] !== undefined) { - contents.AutomaticFailover = output["AutomaticFailover"]; + if (output["Role"] !== undefined) { + contents.Role = output["Role"]; } return contents; }; @@ -10558,6 +11978,29 @@ const deserializeAws_queryInvalidSubnet = (output: any, context: __SerdeContext) return contents; }; +const deserializeAws_queryInvalidUserGroupStateFault = ( + output: any, + context: __SerdeContext +): InvalidUserGroupStateFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + +const deserializeAws_queryInvalidUserStateFault = (output: any, context: __SerdeContext): InvalidUserStateFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + const deserializeAws_queryInvalidVPCNetworkStateFault = ( output: any, context: __SerdeContext @@ -10641,13 +12084,25 @@ const deserializeAws_queryModifyReplicationGroupShardConfigurationResult = ( const deserializeAws_queryNodeGroup = (output: any, context: __SerdeContext): NodeGroup => { let contents: any = { - NodeGroupMembers: undefined, - PrimaryEndpoint: undefined, - Slots: undefined, Status: undefined, - NodeGroupId: undefined, ReaderEndpoint: undefined, + PrimaryEndpoint: undefined, + NodeGroupId: undefined, + NodeGroupMembers: undefined, + Slots: undefined, }; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["ReaderEndpoint"] !== undefined) { + contents.ReaderEndpoint = deserializeAws_queryEndpoint(output["ReaderEndpoint"], context); + } + if (output["PrimaryEndpoint"] !== undefined) { + contents.PrimaryEndpoint = deserializeAws_queryEndpoint(output["PrimaryEndpoint"], context); + } + if (output["NodeGroupId"] !== undefined) { + contents.NodeGroupId = output["NodeGroupId"]; + } if (output.NodeGroupMembers === "") { contents.NodeGroupMembers = []; } @@ -10657,32 +12112,43 @@ const deserializeAws_queryNodeGroup = (output: any, context: __SerdeContext): No context ); } - if (output["PrimaryEndpoint"] !== undefined) { - contents.PrimaryEndpoint = deserializeAws_queryEndpoint(output["PrimaryEndpoint"], context); - } if (output["Slots"] !== undefined) { contents.Slots = output["Slots"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["NodeGroupId"] !== undefined) { - contents.NodeGroupId = output["NodeGroupId"]; - } - if (output["ReaderEndpoint"] !== undefined) { - contents.ReaderEndpoint = deserializeAws_queryEndpoint(output["ReaderEndpoint"], context); - } return contents; }; const deserializeAws_queryNodeGroupConfiguration = (output: any, context: __SerdeContext): NodeGroupConfiguration => { let contents: any = { + PrimaryOutpostArn: undefined, + Slots: undefined, + PrimaryAvailabilityZone: undefined, + ReplicaOutpostArns: undefined, + ReplicaCount: undefined, NodeGroupId: undefined, ReplicaAvailabilityZones: undefined, - ReplicaCount: undefined, - PrimaryAvailabilityZone: undefined, - Slots: undefined, }; + if (output["PrimaryOutpostArn"] !== undefined) { + contents.PrimaryOutpostArn = output["PrimaryOutpostArn"]; + } + if (output["Slots"] !== undefined) { + contents.Slots = output["Slots"]; + } + if (output["PrimaryAvailabilityZone"] !== undefined) { + contents.PrimaryAvailabilityZone = output["PrimaryAvailabilityZone"]; + } + if (output.ReplicaOutpostArns === "") { + contents.ReplicaOutpostArns = []; + } + if (output["ReplicaOutpostArns"] !== undefined && output["ReplicaOutpostArns"]["OutpostArn"] !== undefined) { + contents.ReplicaOutpostArns = deserializeAws_queryOutpostArnsList( + __getArrayIfSingleItem(output["ReplicaOutpostArns"]["OutpostArn"]), + context + ); + } + if (output["ReplicaCount"] !== undefined) { + contents.ReplicaCount = parseInt(output["ReplicaCount"]); + } if (output["NodeGroupId"] !== undefined) { contents.NodeGroupId = output["NodeGroupId"]; } @@ -10698,15 +12164,6 @@ const deserializeAws_queryNodeGroupConfiguration = (output: any, context: __Serd context ); } - if (output["ReplicaCount"] !== undefined) { - contents.ReplicaCount = parseInt(output["ReplicaCount"]); - } - if (output["PrimaryAvailabilityZone"] !== undefined) { - contents.PrimaryAvailabilityZone = output["PrimaryAvailabilityZone"]; - } - if (output["Slots"] !== undefined) { - contents.Slots = output["Slots"]; - } return contents; }; @@ -10717,16 +12174,17 @@ const deserializeAws_queryNodeGroupList = (output: any, context: __SerdeContext) const deserializeAws_queryNodeGroupMember = (output: any, context: __SerdeContext): NodeGroupMember => { let contents: any = { CurrentRole: undefined, - CacheNodeId: undefined, + CacheClusterId: undefined, PreferredAvailabilityZone: undefined, ReadEndpoint: undefined, - CacheClusterId: undefined, + PreferredOutpostArn: undefined, + CacheNodeId: undefined, }; if (output["CurrentRole"] !== undefined) { contents.CurrentRole = output["CurrentRole"]; } - if (output["CacheNodeId"] !== undefined) { - contents.CacheNodeId = output["CacheNodeId"]; + if (output["CacheClusterId"] !== undefined) { + contents.CacheClusterId = output["CacheClusterId"]; } if (output["PreferredAvailabilityZone"] !== undefined) { contents.PreferredAvailabilityZone = output["PreferredAvailabilityZone"]; @@ -10734,8 +12192,11 @@ const deserializeAws_queryNodeGroupMember = (output: any, context: __SerdeContex if (output["ReadEndpoint"] !== undefined) { contents.ReadEndpoint = deserializeAws_queryEndpoint(output["ReadEndpoint"], context); } - if (output["CacheClusterId"] !== undefined) { - contents.CacheClusterId = output["CacheClusterId"]; + if (output["PreferredOutpostArn"] !== undefined) { + contents.PreferredOutpostArn = output["PreferredOutpostArn"]; + } + if (output["CacheNodeId"] !== undefined) { + contents.CacheNodeId = output["CacheNodeId"]; } return contents; }; @@ -10749,43 +12210,43 @@ const deserializeAws_queryNodeGroupMemberUpdateStatus = ( context: __SerdeContext ): NodeGroupMemberUpdateStatus => { let contents: any = { - NodeUpdateStatus: undefined, - NodeUpdateStartDate: undefined, - CacheClusterId: undefined, NodeDeletionDate: undefined, - NodeUpdateStatusModifiedDate: undefined, + NodeUpdateStatus: undefined, + NodeUpdateInitiatedDate: undefined, NodeUpdateInitiatedBy: undefined, + CacheClusterId: undefined, CacheNodeId: undefined, - NodeUpdateInitiatedDate: undefined, NodeUpdateEndDate: undefined, + NodeUpdateStatusModifiedDate: undefined, + NodeUpdateStartDate: undefined, }; - if (output["NodeUpdateStatus"] !== undefined) { - contents.NodeUpdateStatus = output["NodeUpdateStatus"]; - } - if (output["NodeUpdateStartDate"] !== undefined) { - contents.NodeUpdateStartDate = new Date(output["NodeUpdateStartDate"]); - } - if (output["CacheClusterId"] !== undefined) { - contents.CacheClusterId = output["CacheClusterId"]; - } if (output["NodeDeletionDate"] !== undefined) { contents.NodeDeletionDate = new Date(output["NodeDeletionDate"]); } - if (output["NodeUpdateStatusModifiedDate"] !== undefined) { - contents.NodeUpdateStatusModifiedDate = new Date(output["NodeUpdateStatusModifiedDate"]); + if (output["NodeUpdateStatus"] !== undefined) { + contents.NodeUpdateStatus = output["NodeUpdateStatus"]; + } + if (output["NodeUpdateInitiatedDate"] !== undefined) { + contents.NodeUpdateInitiatedDate = new Date(output["NodeUpdateInitiatedDate"]); } if (output["NodeUpdateInitiatedBy"] !== undefined) { contents.NodeUpdateInitiatedBy = output["NodeUpdateInitiatedBy"]; } + if (output["CacheClusterId"] !== undefined) { + contents.CacheClusterId = output["CacheClusterId"]; + } if (output["CacheNodeId"] !== undefined) { contents.CacheNodeId = output["CacheNodeId"]; } - if (output["NodeUpdateInitiatedDate"] !== undefined) { - contents.NodeUpdateInitiatedDate = new Date(output["NodeUpdateInitiatedDate"]); - } if (output["NodeUpdateEndDate"] !== undefined) { contents.NodeUpdateEndDate = new Date(output["NodeUpdateEndDate"]); } + if (output["NodeUpdateStatusModifiedDate"] !== undefined) { + contents.NodeUpdateStatusModifiedDate = new Date(output["NodeUpdateStatusModifiedDate"]); + } + if (output["NodeUpdateStartDate"] !== undefined) { + contents.NodeUpdateStartDate = new Date(output["NodeUpdateStartDate"]); + } return contents; }; @@ -10877,19 +12338,16 @@ const deserializeAws_queryNodeQuotaForCustomerExceededFault = ( const deserializeAws_queryNodeSnapshot = (output: any, context: __SerdeContext): NodeSnapshot => { let contents: any = { - CacheNodeId: undefined, - SnapshotCreateTime: undefined, + NodeGroupId: undefined, NodeGroupConfiguration: undefined, - CacheNodeCreateTime: undefined, CacheClusterId: undefined, - NodeGroupId: undefined, + CacheNodeId: undefined, + SnapshotCreateTime: undefined, CacheSize: undefined, + CacheNodeCreateTime: undefined, }; - if (output["CacheNodeId"] !== undefined) { - contents.CacheNodeId = output["CacheNodeId"]; - } - if (output["SnapshotCreateTime"] !== undefined) { - contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); + if (output["NodeGroupId"] !== undefined) { + contents.NodeGroupId = output["NodeGroupId"]; } if (output["NodeGroupConfiguration"] !== undefined) { contents.NodeGroupConfiguration = deserializeAws_queryNodeGroupConfiguration( @@ -10897,18 +12355,21 @@ const deserializeAws_queryNodeSnapshot = (output: any, context: __SerdeContext): context ); } - if (output["CacheNodeCreateTime"] !== undefined) { - contents.CacheNodeCreateTime = new Date(output["CacheNodeCreateTime"]); - } if (output["CacheClusterId"] !== undefined) { contents.CacheClusterId = output["CacheClusterId"]; } - if (output["NodeGroupId"] !== undefined) { - contents.NodeGroupId = output["NodeGroupId"]; + if (output["CacheNodeId"] !== undefined) { + contents.CacheNodeId = output["CacheNodeId"]; + } + if (output["SnapshotCreateTime"] !== undefined) { + contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); } if (output["CacheSize"] !== undefined) { contents.CacheSize = output["CacheSize"]; } + if (output["CacheNodeCreateTime"] !== undefined) { + contents.CacheNodeCreateTime = new Date(output["CacheNodeCreateTime"]); + } return contents; }; @@ -10935,56 +12396,60 @@ const deserializeAws_queryNotificationConfiguration = ( context: __SerdeContext ): NotificationConfiguration => { let contents: any = { - TopicStatus: undefined, TopicArn: undefined, + TopicStatus: undefined, }; - if (output["TopicStatus"] !== undefined) { - contents.TopicStatus = output["TopicStatus"]; - } if (output["TopicArn"] !== undefined) { contents.TopicArn = output["TopicArn"]; } + if (output["TopicStatus"] !== undefined) { + contents.TopicStatus = output["TopicStatus"]; + } return contents; }; +const deserializeAws_queryOutpostArnsList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_queryParameter = (output: any, context: __SerdeContext): Parameter => { let contents: any = { + AllowedValues: undefined, + IsModifiable: undefined, Description: undefined, ChangeType: undefined, - IsModifiable: undefined, - ParameterName: undefined, - Source: undefined, - DataType: undefined, MinimumEngineVersion: undefined, - AllowedValues: undefined, ParameterValue: undefined, + ParameterName: undefined, + DataType: undefined, + Source: undefined, }; + if (output["AllowedValues"] !== undefined) { + contents.AllowedValues = output["AllowedValues"]; + } + if (output["IsModifiable"] !== undefined) { + contents.IsModifiable = output["IsModifiable"] == "true"; + } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } if (output["ChangeType"] !== undefined) { contents.ChangeType = output["ChangeType"]; } - if (output["IsModifiable"] !== undefined) { - contents.IsModifiable = output["IsModifiable"] == "true"; + if (output["MinimumEngineVersion"] !== undefined) { + contents.MinimumEngineVersion = output["MinimumEngineVersion"]; + } + if (output["ParameterValue"] !== undefined) { + contents.ParameterValue = output["ParameterValue"]; } if (output["ParameterName"] !== undefined) { contents.ParameterName = output["ParameterName"]; } - if (output["Source"] !== undefined) { - contents.Source = output["Source"]; - } 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["Source"] !== undefined) { + contents.Source = output["Source"]; } return contents; }; @@ -10995,14 +12460,20 @@ const deserializeAws_queryParametersList = (output: any, context: __SerdeContext const deserializeAws_queryPendingModifiedValues = (output: any, context: __SerdeContext): PendingModifiedValues => { let contents: any = { - NumCacheNodes: undefined, - CacheNodeIdsToRemove: undefined, - EngineVersion: undefined, CacheNodeType: undefined, AuthTokenStatus: undefined, + EngineVersion: undefined, + CacheNodeIdsToRemove: undefined, + NumCacheNodes: undefined, }; - if (output["NumCacheNodes"] !== undefined) { - contents.NumCacheNodes = parseInt(output["NumCacheNodes"]); + if (output["CacheNodeType"] !== undefined) { + contents.CacheNodeType = output["CacheNodeType"]; + } + if (output["AuthTokenStatus"] !== undefined) { + contents.AuthTokenStatus = output["AuthTokenStatus"]; + } + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; } if (output.CacheNodeIdsToRemove === "") { contents.CacheNodeIdsToRemove = []; @@ -11013,37 +12484,31 @@ const deserializeAws_queryPendingModifiedValues = (output: any, context: __Serde context ); } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; - } - if (output["CacheNodeType"] !== undefined) { - contents.CacheNodeType = output["CacheNodeType"]; - } - if (output["AuthTokenStatus"] !== undefined) { - contents.AuthTokenStatus = output["AuthTokenStatus"]; + if (output["NumCacheNodes"] !== undefined) { + contents.NumCacheNodes = parseInt(output["NumCacheNodes"]); } return contents; }; const deserializeAws_queryProcessedUpdateAction = (output: any, context: __SerdeContext): ProcessedUpdateAction => { let contents: any = { - ServiceUpdateName: undefined, - CacheClusterId: undefined, ReplicationGroupId: undefined, + ServiceUpdateName: undefined, UpdateActionStatus: undefined, + CacheClusterId: undefined, }; - if (output["ServiceUpdateName"] !== undefined) { - contents.ServiceUpdateName = output["ServiceUpdateName"]; - } - if (output["CacheClusterId"] !== undefined) { - contents.CacheClusterId = output["CacheClusterId"]; - } if (output["ReplicationGroupId"] !== undefined) { contents.ReplicationGroupId = output["ReplicationGroupId"]; } + if (output["ServiceUpdateName"] !== undefined) { + contents.ServiceUpdateName = output["ServiceUpdateName"]; + } if (output["UpdateActionStatus"] !== undefined) { contents.UpdateActionStatus = output["UpdateActionStatus"]; } + if (output["CacheClusterId"] !== undefined) { + contents.CacheClusterId = output["CacheClusterId"]; + } return contents; }; @@ -11098,15 +12563,15 @@ const deserializeAws_queryRebootCacheClusterResult = ( const deserializeAws_queryRecurringCharge = (output: any, context: __SerdeContext): RecurringCharge => { let contents: any = { - RecurringChargeAmount: undefined, RecurringChargeFrequency: undefined, + RecurringChargeAmount: undefined, }; - if (output["RecurringChargeAmount"] !== undefined) { - contents.RecurringChargeAmount = parseFloat(output["RecurringChargeAmount"]); - } if (output["RecurringChargeFrequency"] !== undefined) { contents.RecurringChargeFrequency = output["RecurringChargeFrequency"]; } + if (output["RecurringChargeAmount"] !== undefined) { + contents.RecurringChargeAmount = parseFloat(output["RecurringChargeAmount"]); + } return contents; }; @@ -11116,57 +12581,56 @@ const deserializeAws_queryRecurringChargeList = (output: any, context: __SerdeCo const deserializeAws_queryReplicationGroup = (output: any, context: __SerdeContext): ReplicationGroup => { let contents: any = { - AutomaticFailover: undefined, + PendingModifiedValues: undefined, AuthTokenLastModifiedDate: undefined, - ConfigurationEndpoint: undefined, - MemberClusters: undefined, - GlobalReplicationGroupInfo: undefined, - Status: undefined, - MultiAZ: undefined, + SnapshotRetentionLimit: undefined, + SnapshotWindow: undefined, + UserGroupIds: undefined, + SnapshottingClusterId: undefined, CacheNodeType: undefined, TransitEncryptionEnabled: undefined, + ClusterEnabled: undefined, ReplicationGroupId: undefined, + MemberClusters: undefined, + Status: undefined, + MultiAZ: undefined, + KmsKeyId: undefined, + ARN: undefined, + NodeGroups: undefined, + Description: undefined, AtRestEncryptionEnabled: undefined, + GlobalReplicationGroupInfo: undefined, + MemberClustersOutpostArns: undefined, AuthTokenEnabled: undefined, - Description: undefined, - NodeGroups: undefined, - ARN: undefined, - SnapshotWindow: undefined, - ClusterEnabled: undefined, - PendingModifiedValues: undefined, - SnapshotRetentionLimit: undefined, - SnapshottingClusterId: undefined, - KmsKeyId: undefined, + ConfigurationEndpoint: undefined, + AutomaticFailover: undefined, }; - if (output["AutomaticFailover"] !== undefined) { - contents.AutomaticFailover = output["AutomaticFailover"]; + if (output["PendingModifiedValues"] !== undefined) { + contents.PendingModifiedValues = deserializeAws_queryReplicationGroupPendingModifiedValues( + output["PendingModifiedValues"], + context + ); } if (output["AuthTokenLastModifiedDate"] !== undefined) { contents.AuthTokenLastModifiedDate = new Date(output["AuthTokenLastModifiedDate"]); } - if (output["ConfigurationEndpoint"] !== undefined) { - contents.ConfigurationEndpoint = deserializeAws_queryEndpoint(output["ConfigurationEndpoint"], context); + if (output["SnapshotRetentionLimit"] !== undefined) { + contents.SnapshotRetentionLimit = parseInt(output["SnapshotRetentionLimit"]); } - if (output.MemberClusters === "") { - contents.MemberClusters = []; + if (output["SnapshotWindow"] !== undefined) { + contents.SnapshotWindow = output["SnapshotWindow"]; } - if (output["MemberClusters"] !== undefined && output["MemberClusters"]["ClusterId"] !== undefined) { - contents.MemberClusters = deserializeAws_queryClusterIdList( - __getArrayIfSingleItem(output["MemberClusters"]["ClusterId"]), - context - ); + if (output.UserGroupIds === "") { + contents.UserGroupIds = []; } - if (output["GlobalReplicationGroupInfo"] !== undefined) { - contents.GlobalReplicationGroupInfo = deserializeAws_queryGlobalReplicationGroupInfo( - output["GlobalReplicationGroupInfo"], + if (output["UserGroupIds"] !== undefined && output["UserGroupIds"]["member"] !== undefined) { + contents.UserGroupIds = deserializeAws_queryUserGroupIdList( + __getArrayIfSingleItem(output["UserGroupIds"]["member"]), context ); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"]; + if (output["SnapshottingClusterId"] !== undefined) { + contents.SnapshottingClusterId = output["SnapshottingClusterId"]; } if (output["CacheNodeType"] !== undefined) { contents.CacheNodeType = output["CacheNodeType"]; @@ -11174,17 +12638,32 @@ const deserializeAws_queryReplicationGroup = (output: any, context: __SerdeConte if (output["TransitEncryptionEnabled"] !== undefined) { contents.TransitEncryptionEnabled = output["TransitEncryptionEnabled"] == "true"; } + if (output["ClusterEnabled"] !== undefined) { + contents.ClusterEnabled = output["ClusterEnabled"] == "true"; + } if (output["ReplicationGroupId"] !== undefined) { contents.ReplicationGroupId = output["ReplicationGroupId"]; } - if (output["AtRestEncryptionEnabled"] !== undefined) { - contents.AtRestEncryptionEnabled = output["AtRestEncryptionEnabled"] == "true"; + if (output.MemberClusters === "") { + contents.MemberClusters = []; } - if (output["AuthTokenEnabled"] !== undefined) { - contents.AuthTokenEnabled = output["AuthTokenEnabled"] == "true"; + if (output["MemberClusters"] !== undefined && output["MemberClusters"]["ClusterId"] !== undefined) { + contents.MemberClusters = deserializeAws_queryClusterIdList( + __getArrayIfSingleItem(output["MemberClusters"]["ClusterId"]), + context + ); } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"]; + } + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; + } + if (output["ARN"] !== undefined) { + contents.ARN = output["ARN"]; } if (output.NodeGroups === "") { contents.NodeGroups = []; @@ -11195,29 +12674,38 @@ const deserializeAws_queryReplicationGroup = (output: any, context: __SerdeConte context ); } - if (output["ARN"] !== undefined) { - contents.ARN = output["ARN"]; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } - if (output["SnapshotWindow"] !== undefined) { - contents.SnapshotWindow = output["SnapshotWindow"]; + if (output["AtRestEncryptionEnabled"] !== undefined) { + contents.AtRestEncryptionEnabled = output["AtRestEncryptionEnabled"] == "true"; } - if (output["ClusterEnabled"] !== undefined) { - contents.ClusterEnabled = output["ClusterEnabled"] == "true"; + if (output["GlobalReplicationGroupInfo"] !== undefined) { + contents.GlobalReplicationGroupInfo = deserializeAws_queryGlobalReplicationGroupInfo( + output["GlobalReplicationGroupInfo"], + context + ); } - if (output["PendingModifiedValues"] !== undefined) { - contents.PendingModifiedValues = deserializeAws_queryReplicationGroupPendingModifiedValues( - output["PendingModifiedValues"], + if (output.MemberClustersOutpostArns === "") { + contents.MemberClustersOutpostArns = []; + } + if ( + output["MemberClustersOutpostArns"] !== undefined && + output["MemberClustersOutpostArns"]["ReplicationGroupOutpostArn"] !== undefined + ) { + contents.MemberClustersOutpostArns = deserializeAws_queryReplicationGroupOutpostArnList( + __getArrayIfSingleItem(output["MemberClustersOutpostArns"]["ReplicationGroupOutpostArn"]), context ); } - if (output["SnapshotRetentionLimit"] !== undefined) { - contents.SnapshotRetentionLimit = parseInt(output["SnapshotRetentionLimit"]); + if (output["AuthTokenEnabled"] !== undefined) { + contents.AuthTokenEnabled = output["AuthTokenEnabled"] == "true"; } - if (output["SnapshottingClusterId"] !== undefined) { - contents.SnapshottingClusterId = output["SnapshottingClusterId"]; + if (output["ConfigurationEndpoint"] !== undefined) { + contents.ConfigurationEndpoint = deserializeAws_queryEndpoint(output["ConfigurationEndpoint"], context); } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["AutomaticFailover"] !== undefined) { + contents.AutomaticFailover = output["AutomaticFailover"]; } return contents; }; @@ -11254,9 +12742,12 @@ const deserializeAws_queryReplicationGroupList = (output: any, context: __SerdeC const deserializeAws_queryReplicationGroupMessage = (output: any, context: __SerdeContext): ReplicationGroupMessage => { let contents: any = { - ReplicationGroups: undefined, Marker: undefined, + ReplicationGroups: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ReplicationGroups === "") { contents.ReplicationGroups = []; } @@ -11266,9 +12757,6 @@ const deserializeAws_queryReplicationGroupMessage = (output: any, context: __Ser context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -11298,79 +12786,66 @@ const deserializeAws_queryReplicationGroupNotUnderMigrationFault = ( return contents; }; +const deserializeAws_queryReplicationGroupOutpostArnList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_queryReplicationGroupPendingModifiedValues = ( output: any, context: __SerdeContext ): ReplicationGroupPendingModifiedValues => { let contents: any = { - Resharding: undefined, PrimaryClusterId: undefined, - AutomaticFailoverStatus: undefined, + Resharding: undefined, AuthTokenStatus: undefined, + UserGroups: undefined, + AutomaticFailoverStatus: undefined, }; - if (output["Resharding"] !== undefined) { - contents.Resharding = deserializeAws_queryReshardingStatus(output["Resharding"], context); - } if (output["PrimaryClusterId"] !== undefined) { contents.PrimaryClusterId = output["PrimaryClusterId"]; } - if (output["AutomaticFailoverStatus"] !== undefined) { - contents.AutomaticFailoverStatus = output["AutomaticFailoverStatus"]; + if (output["Resharding"] !== undefined) { + contents.Resharding = deserializeAws_queryReshardingStatus(output["Resharding"], context); } if (output["AuthTokenStatus"] !== undefined) { contents.AuthTokenStatus = output["AuthTokenStatus"]; } + if (output["UserGroups"] !== undefined) { + contents.UserGroups = deserializeAws_queryUserGroupsUpdateStatus(output["UserGroups"], context); + } + if (output["AutomaticFailoverStatus"] !== undefined) { + contents.AutomaticFailoverStatus = output["AutomaticFailoverStatus"]; + } return contents; }; const deserializeAws_queryReservedCacheNode = (output: any, context: __SerdeContext): ReservedCacheNode => { let contents: any = { - FixedPrice: undefined, - ReservationARN: undefined, - StartTime: undefined, - State: undefined, - CacheNodeType: undefined, OfferingType: undefined, - ReservedCacheNodesOfferingId: undefined, + ReservationARN: undefined, Duration: undefined, + CacheNodeType: undefined, + RecurringCharges: undefined, UsagePrice: undefined, - CacheNodeCount: undefined, + ReservedCacheNodesOfferingId: undefined, ReservedCacheNodeId: undefined, - RecurringCharges: undefined, ProductDescription: undefined, + StartTime: undefined, + State: undefined, + FixedPrice: undefined, + CacheNodeCount: undefined, }; - if (output["FixedPrice"] !== undefined) { - contents.FixedPrice = parseFloat(output["FixedPrice"]); - } - if (output["ReservationARN"] !== undefined) { - contents.ReservationARN = output["ReservationARN"]; - } - if (output["StartTime"] !== undefined) { - contents.StartTime = new Date(output["StartTime"]); - } - if (output["State"] !== undefined) { - contents.State = output["State"]; - } - if (output["CacheNodeType"] !== undefined) { - contents.CacheNodeType = output["CacheNodeType"]; - } if (output["OfferingType"] !== undefined) { contents.OfferingType = output["OfferingType"]; } - if (output["ReservedCacheNodesOfferingId"] !== undefined) { - contents.ReservedCacheNodesOfferingId = output["ReservedCacheNodesOfferingId"]; + if (output["ReservationARN"] !== undefined) { + contents.ReservationARN = output["ReservationARN"]; } if (output["Duration"] !== undefined) { contents.Duration = parseInt(output["Duration"]); } - if (output["UsagePrice"] !== undefined) { - contents.UsagePrice = parseFloat(output["UsagePrice"]); - } - if (output["CacheNodeCount"] !== undefined) { - contents.CacheNodeCount = parseInt(output["CacheNodeCount"]); - } - if (output["ReservedCacheNodeId"] !== undefined) { - contents.ReservedCacheNodeId = output["ReservedCacheNodeId"]; + if (output["CacheNodeType"] !== undefined) { + contents.CacheNodeType = output["CacheNodeType"]; } if (output.RecurringCharges === "") { contents.RecurringCharges = []; @@ -11381,9 +12856,30 @@ const deserializeAws_queryReservedCacheNode = (output: any, context: __SerdeCont context ); } + if (output["UsagePrice"] !== undefined) { + contents.UsagePrice = parseFloat(output["UsagePrice"]); + } + if (output["ReservedCacheNodesOfferingId"] !== undefined) { + contents.ReservedCacheNodesOfferingId = output["ReservedCacheNodesOfferingId"]; + } + if (output["ReservedCacheNodeId"] !== undefined) { + contents.ReservedCacheNodeId = output["ReservedCacheNodeId"]; + } if (output["ProductDescription"] !== undefined) { contents.ProductDescription = output["ProductDescription"]; } + if (output["StartTime"] !== undefined) { + contents.StartTime = new Date(output["StartTime"]); + } + if (output["State"] !== undefined) { + contents.State = output["State"]; + } + if (output["FixedPrice"] !== undefined) { + contents.FixedPrice = parseFloat(output["FixedPrice"]); + } + if (output["CacheNodeCount"] !== undefined) { + contents.CacheNodeCount = parseInt(output["CacheNodeCount"]); + } return contents; }; @@ -11409,9 +12905,12 @@ const deserializeAws_queryReservedCacheNodeMessage = ( context: __SerdeContext ): ReservedCacheNodeMessage => { let contents: any = { - ReservedCacheNodes: undefined, Marker: undefined, + ReservedCacheNodes: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ReservedCacheNodes === "") { contents.ReservedCacheNodes = []; } @@ -11421,9 +12920,6 @@ const deserializeAws_queryReservedCacheNodeMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -11458,21 +12954,15 @@ const deserializeAws_queryReservedCacheNodesOffering = ( context: __SerdeContext ): ReservedCacheNodesOffering => { let contents: any = { - CacheNodeType: undefined, - Duration: undefined, ProductDescription: undefined, RecurringCharges: undefined, + CacheNodeType: undefined, OfferingType: undefined, - FixedPrice: undefined, ReservedCacheNodesOfferingId: undefined, + FixedPrice: undefined, UsagePrice: undefined, + Duration: undefined, }; - if (output["CacheNodeType"] !== undefined) { - contents.CacheNodeType = output["CacheNodeType"]; - } - if (output["Duration"] !== undefined) { - contents.Duration = parseInt(output["Duration"]); - } if (output["ProductDescription"] !== undefined) { contents.ProductDescription = output["ProductDescription"]; } @@ -11485,18 +12975,24 @@ const deserializeAws_queryReservedCacheNodesOffering = ( context ); } + if (output["CacheNodeType"] !== undefined) { + contents.CacheNodeType = output["CacheNodeType"]; + } if (output["OfferingType"] !== undefined) { contents.OfferingType = output["OfferingType"]; } - if (output["FixedPrice"] !== undefined) { - contents.FixedPrice = parseFloat(output["FixedPrice"]); - } if (output["ReservedCacheNodesOfferingId"] !== undefined) { contents.ReservedCacheNodesOfferingId = output["ReservedCacheNodesOfferingId"]; } + 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"]); + } return contents; }; @@ -11571,15 +13067,15 @@ const deserializeAws_queryRevokeCacheSecurityGroupIngressResult = ( const deserializeAws_querySecurityGroupMembership = (output: any, context: __SerdeContext): SecurityGroupMembership => { let contents: any = { - SecurityGroupId: undefined, Status: undefined, + SecurityGroupId: undefined, }; - if (output["SecurityGroupId"] !== undefined) { - contents.SecurityGroupId = output["SecurityGroupId"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["SecurityGroupId"] !== undefined) { + contents.SecurityGroupId = output["SecurityGroupId"]; + } return contents; }; @@ -11606,53 +13102,53 @@ const deserializeAws_queryServiceLinkedRoleNotFoundFault = ( const deserializeAws_queryServiceUpdate = (output: any, context: __SerdeContext): ServiceUpdate => { let contents: any = { AutoUpdateAfterRecommendedApplyByDate: undefined, - ServiceUpdateSeverity: undefined, - ServiceUpdateEndDate: undefined, - Engine: undefined, - ServiceUpdateName: undefined, EngineVersion: undefined, + ServiceUpdateType: undefined, + EstimatedUpdateTime: undefined, ServiceUpdateStatus: undefined, + ServiceUpdateSeverity: undefined, + Engine: undefined, + ServiceUpdateRecommendedApplyByDate: undefined, ServiceUpdateReleaseDate: undefined, - ServiceUpdateType: undefined, + ServiceUpdateName: undefined, ServiceUpdateDescription: undefined, - ServiceUpdateRecommendedApplyByDate: undefined, - EstimatedUpdateTime: undefined, + ServiceUpdateEndDate: undefined, }; if (output["AutoUpdateAfterRecommendedApplyByDate"] !== undefined) { contents.AutoUpdateAfterRecommendedApplyByDate = output["AutoUpdateAfterRecommendedApplyByDate"] == "true"; } + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; + } + if (output["ServiceUpdateType"] !== undefined) { + contents.ServiceUpdateType = output["ServiceUpdateType"]; + } + if (output["EstimatedUpdateTime"] !== undefined) { + contents.EstimatedUpdateTime = output["EstimatedUpdateTime"]; + } + if (output["ServiceUpdateStatus"] !== undefined) { + contents.ServiceUpdateStatus = output["ServiceUpdateStatus"]; + } if (output["ServiceUpdateSeverity"] !== undefined) { contents.ServiceUpdateSeverity = output["ServiceUpdateSeverity"]; } - if (output["ServiceUpdateEndDate"] !== undefined) { - contents.ServiceUpdateEndDate = new Date(output["ServiceUpdateEndDate"]); - } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; } - if (output["ServiceUpdateName"] !== undefined) { - contents.ServiceUpdateName = output["ServiceUpdateName"]; - } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; - } - if (output["ServiceUpdateStatus"] !== undefined) { - contents.ServiceUpdateStatus = output["ServiceUpdateStatus"]; + if (output["ServiceUpdateRecommendedApplyByDate"] !== undefined) { + contents.ServiceUpdateRecommendedApplyByDate = new Date(output["ServiceUpdateRecommendedApplyByDate"]); } if (output["ServiceUpdateReleaseDate"] !== undefined) { contents.ServiceUpdateReleaseDate = new Date(output["ServiceUpdateReleaseDate"]); } - if (output["ServiceUpdateType"] !== undefined) { - contents.ServiceUpdateType = output["ServiceUpdateType"]; + if (output["ServiceUpdateName"] !== undefined) { + contents.ServiceUpdateName = output["ServiceUpdateName"]; } if (output["ServiceUpdateDescription"] !== undefined) { contents.ServiceUpdateDescription = output["ServiceUpdateDescription"]; } - if (output["ServiceUpdateRecommendedApplyByDate"] !== undefined) { - contents.ServiceUpdateRecommendedApplyByDate = new Date(output["ServiceUpdateRecommendedApplyByDate"]); - } - if (output["EstimatedUpdateTime"] !== undefined) { - contents.EstimatedUpdateTime = output["EstimatedUpdateTime"]; + if (output["ServiceUpdateEndDate"] !== undefined) { + contents.ServiceUpdateEndDate = new Date(output["ServiceUpdateEndDate"]); } return contents; }; @@ -11676,9 +13172,12 @@ const deserializeAws_queryServiceUpdateNotFoundFault = ( const deserializeAws_queryServiceUpdatesMessage = (output: any, context: __SerdeContext): ServiceUpdatesMessage => { let contents: any = { - ServiceUpdates: undefined, Marker: undefined, + ServiceUpdates: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ServiceUpdates === "") { contents.ServiceUpdates = []; } @@ -11688,9 +13187,6 @@ const deserializeAws_queryServiceUpdatesMessage = (output: any, context: __Serde context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -11706,41 +13202,81 @@ const deserializeAws_querySlotMigration = (output: any, context: __SerdeContext) const deserializeAws_querySnapshot = (output: any, context: __SerdeContext): Snapshot => { let contents: any = { - CacheSubnetGroupName: undefined, + ReplicationGroupDescription: undefined, + NumNodeGroups: undefined, + AutomaticFailover: undefined, + PreferredOutpostArn: undefined, + ReplicationGroupId: undefined, + Port: undefined, + CacheClusterId: undefined, + NumCacheNodes: undefined, + CacheNodeType: undefined, + SnapshotName: undefined, + Engine: undefined, + TopicArn: undefined, KmsKeyId: undefined, - EngineVersion: undefined, + AutoMinorVersionUpgrade: undefined, + CacheParameterGroupName: undefined, + PreferredMaintenanceWindow: undefined, SnapshotSource: undefined, PreferredAvailabilityZone: undefined, - PreferredMaintenanceWindow: undefined, - AutoMinorVersionUpgrade: undefined, + EngineVersion: undefined, + SnapshotWindow: undefined, + SnapshotStatus: undefined, VpcId: undefined, - CacheParameterGroupName: undefined, CacheClusterCreateTime: undefined, SnapshotRetentionLimit: undefined, - SnapshotStatus: undefined, - CacheNodeType: undefined, - SnapshotWindow: undefined, NodeSnapshots: undefined, - NumCacheNodes: undefined, ARN: undefined, - CacheClusterId: undefined, - TopicArn: undefined, - Port: undefined, - NumNodeGroups: undefined, - AutomaticFailover: undefined, - ReplicationGroupDescription: undefined, - SnapshotName: undefined, - Engine: undefined, - ReplicationGroupId: undefined, + CacheSubnetGroupName: undefined, }; - if (output["CacheSubnetGroupName"] !== undefined) { - contents.CacheSubnetGroupName = output["CacheSubnetGroupName"]; + if (output["ReplicationGroupDescription"] !== undefined) { + contents.ReplicationGroupDescription = output["ReplicationGroupDescription"]; + } + if (output["NumNodeGroups"] !== undefined) { + contents.NumNodeGroups = parseInt(output["NumNodeGroups"]); + } + if (output["AutomaticFailover"] !== undefined) { + contents.AutomaticFailover = output["AutomaticFailover"]; + } + if (output["PreferredOutpostArn"] !== undefined) { + contents.PreferredOutpostArn = output["PreferredOutpostArn"]; + } + if (output["ReplicationGroupId"] !== undefined) { + contents.ReplicationGroupId = output["ReplicationGroupId"]; + } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } + if (output["CacheClusterId"] !== undefined) { + contents.CacheClusterId = output["CacheClusterId"]; + } + if (output["NumCacheNodes"] !== undefined) { + contents.NumCacheNodes = parseInt(output["NumCacheNodes"]); + } + if (output["CacheNodeType"] !== undefined) { + contents.CacheNodeType = output["CacheNodeType"]; + } + if (output["SnapshotName"] !== undefined) { + contents.SnapshotName = output["SnapshotName"]; + } + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; + } + if (output["TopicArn"] !== undefined) { + contents.TopicArn = output["TopicArn"]; } if (output["KmsKeyId"] !== undefined) { contents.KmsKeyId = output["KmsKeyId"]; } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; + if (output["AutoMinorVersionUpgrade"] !== undefined) { + contents.AutoMinorVersionUpgrade = output["AutoMinorVersionUpgrade"] == "true"; + } + if (output["CacheParameterGroupName"] !== undefined) { + contents.CacheParameterGroupName = output["CacheParameterGroupName"]; + } + if (output["PreferredMaintenanceWindow"] !== undefined) { + contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; } if (output["SnapshotSource"] !== undefined) { contents.SnapshotSource = output["SnapshotSource"]; @@ -11748,33 +13284,24 @@ const deserializeAws_querySnapshot = (output: any, context: __SerdeContext): Sna if (output["PreferredAvailabilityZone"] !== undefined) { contents.PreferredAvailabilityZone = output["PreferredAvailabilityZone"]; } - if (output["PreferredMaintenanceWindow"] !== undefined) { - contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; } - if (output["AutoMinorVersionUpgrade"] !== undefined) { - contents.AutoMinorVersionUpgrade = output["AutoMinorVersionUpgrade"] == "true"; + if (output["SnapshotWindow"] !== undefined) { + contents.SnapshotWindow = output["SnapshotWindow"]; + } + if (output["SnapshotStatus"] !== undefined) { + contents.SnapshotStatus = output["SnapshotStatus"]; } if (output["VpcId"] !== undefined) { contents.VpcId = output["VpcId"]; } - if (output["CacheParameterGroupName"] !== undefined) { - contents.CacheParameterGroupName = output["CacheParameterGroupName"]; - } if (output["CacheClusterCreateTime"] !== undefined) { contents.CacheClusterCreateTime = new Date(output["CacheClusterCreateTime"]); } if (output["SnapshotRetentionLimit"] !== undefined) { contents.SnapshotRetentionLimit = parseInt(output["SnapshotRetentionLimit"]); } - if (output["SnapshotStatus"] !== undefined) { - contents.SnapshotStatus = output["SnapshotStatus"]; - } - if (output["CacheNodeType"] !== undefined) { - contents.CacheNodeType = output["CacheNodeType"]; - } - if (output["SnapshotWindow"] !== undefined) { - contents.SnapshotWindow = output["SnapshotWindow"]; - } if (output.NodeSnapshots === "") { contents.NodeSnapshots = []; } @@ -11784,38 +13311,11 @@ const deserializeAws_querySnapshot = (output: any, context: __SerdeContext): Sna context ); } - if (output["NumCacheNodes"] !== undefined) { - contents.NumCacheNodes = parseInt(output["NumCacheNodes"]); - } - if (output["ARN"] !== undefined) { - contents.ARN = output["ARN"]; - } - if (output["CacheClusterId"] !== undefined) { - contents.CacheClusterId = output["CacheClusterId"]; - } - if (output["TopicArn"] !== undefined) { - contents.TopicArn = output["TopicArn"]; - } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } - if (output["NumNodeGroups"] !== undefined) { - contents.NumNodeGroups = parseInt(output["NumNodeGroups"]); - } - if (output["AutomaticFailover"] !== undefined) { - contents.AutomaticFailover = output["AutomaticFailover"]; - } - if (output["ReplicationGroupDescription"] !== undefined) { - contents.ReplicationGroupDescription = output["ReplicationGroupDescription"]; - } - if (output["SnapshotName"] !== undefined) { - contents.SnapshotName = output["SnapshotName"]; - } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output["ARN"] !== undefined) { + contents.ARN = output["ARN"]; } - if (output["ReplicationGroupId"] !== undefined) { - contents.ReplicationGroupId = output["ReplicationGroupId"]; + if (output["CacheSubnetGroupName"] !== undefined) { + contents.CacheSubnetGroupName = output["CacheSubnetGroupName"]; } return contents; }; @@ -11886,11 +13386,15 @@ const deserializeAws_queryStartMigrationResponse = (output: any, context: __Serd const deserializeAws_querySubnet = (output: any, context: __SerdeContext): Subnet => { let contents: any = { SubnetIdentifier: undefined, + SubnetOutpost: undefined, SubnetAvailabilityZone: undefined, }; if (output["SubnetIdentifier"] !== undefined) { contents.SubnetIdentifier = output["SubnetIdentifier"]; } + if (output["SubnetOutpost"] !== undefined) { + contents.SubnetOutpost = deserializeAws_querySubnetOutpost(output["SubnetOutpost"], context); + } if (output["SubnetAvailabilityZone"] !== undefined) { contents.SubnetAvailabilityZone = deserializeAws_queryAvailabilityZone(output["SubnetAvailabilityZone"], context); } @@ -11911,17 +13415,37 @@ const deserializeAws_querySubnetList = (output: any, context: __SerdeContext): S return (output || []).map((entry: any) => deserializeAws_querySubnet(entry, context)); }; +const deserializeAws_querySubnetNotAllowedFault = (output: any, context: __SerdeContext): SubnetNotAllowedFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + +const deserializeAws_querySubnetOutpost = (output: any, context: __SerdeContext): SubnetOutpost => { + let contents: any = { + SubnetOutpostArn: undefined, + }; + if (output["SubnetOutpostArn"] !== undefined) { + contents.SubnetOutpostArn = output["SubnetOutpostArn"]; + } + return contents; +}; + const deserializeAws_queryTag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Key: undefined, Value: undefined, + Key: undefined, }; - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; + } return contents; }; @@ -11988,29 +13512,33 @@ const deserializeAws_queryTestFailoverResult = (output: any, context: __SerdeCon return contents; }; +const deserializeAws_queryUGReplicationGroupIdList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_queryUnprocessedUpdateAction = (output: any, context: __SerdeContext): UnprocessedUpdateAction => { let contents: any = { ReplicationGroupId: undefined, - ServiceUpdateName: undefined, CacheClusterId: undefined, - ErrorMessage: undefined, ErrorType: undefined, + ServiceUpdateName: undefined, + ErrorMessage: undefined, }; if (output["ReplicationGroupId"] !== undefined) { contents.ReplicationGroupId = output["ReplicationGroupId"]; } - if (output["ServiceUpdateName"] !== undefined) { - contents.ServiceUpdateName = output["ServiceUpdateName"]; - } if (output["CacheClusterId"] !== undefined) { contents.CacheClusterId = output["CacheClusterId"]; } - if (output["ErrorMessage"] !== undefined) { - contents.ErrorMessage = output["ErrorMessage"]; - } if (output["ErrorType"] !== undefined) { contents.ErrorType = output["ErrorType"]; } + if (output["ServiceUpdateName"] !== undefined) { + contents.ServiceUpdateName = output["ServiceUpdateName"]; + } + if (output["ErrorMessage"] !== undefined) { + contents.ErrorMessage = output["ErrorMessage"]; + } return contents; }; @@ -12024,35 +13552,26 @@ const deserializeAws_queryUnprocessedUpdateActionList = ( const deserializeAws_queryUpdateAction = (output: any, context: __SerdeContext): UpdateAction => { let contents: any = { ServiceUpdateType: undefined, - UpdateActionStatusModifiedDate: undefined, - ServiceUpdateSeverity: undefined, - ServiceUpdateName: undefined, CacheNodeUpdateStatus: undefined, + ReplicationGroupId: undefined, + ServiceUpdateStatus: undefined, UpdateActionAvailableDate: undefined, NodesUpdated: undefined, - ServiceUpdateStatus: undefined, - CacheClusterId: undefined, - ServiceUpdateRecommendedApplyByDate: undefined, UpdateActionStatus: undefined, ServiceUpdateReleaseDate: undefined, - ReplicationGroupId: undefined, + CacheClusterId: undefined, EstimatedUpdateTime: undefined, - SlaMet: undefined, + ServiceUpdateName: undefined, + UpdateActionStatusModifiedDate: undefined, + ServiceUpdateRecommendedApplyByDate: undefined, Engine: undefined, NodeGroupUpdateStatus: undefined, + ServiceUpdateSeverity: undefined, + SlaMet: undefined, }; if (output["ServiceUpdateType"] !== undefined) { contents.ServiceUpdateType = output["ServiceUpdateType"]; } - if (output["UpdateActionStatusModifiedDate"] !== undefined) { - contents.UpdateActionStatusModifiedDate = new Date(output["UpdateActionStatusModifiedDate"]); - } - if (output["ServiceUpdateSeverity"] !== undefined) { - contents.ServiceUpdateSeverity = output["ServiceUpdateSeverity"]; - } - if (output["ServiceUpdateName"] !== undefined) { - contents.ServiceUpdateName = output["ServiceUpdateName"]; - } if (output.CacheNodeUpdateStatus === "") { contents.CacheNodeUpdateStatus = []; } @@ -12065,20 +13584,17 @@ const deserializeAws_queryUpdateAction = (output: any, context: __SerdeContext): context ); } - if (output["UpdateActionAvailableDate"] !== undefined) { - contents.UpdateActionAvailableDate = new Date(output["UpdateActionAvailableDate"]); - } - if (output["NodesUpdated"] !== undefined) { - contents.NodesUpdated = output["NodesUpdated"]; + if (output["ReplicationGroupId"] !== undefined) { + contents.ReplicationGroupId = output["ReplicationGroupId"]; } if (output["ServiceUpdateStatus"] !== undefined) { contents.ServiceUpdateStatus = output["ServiceUpdateStatus"]; } - if (output["CacheClusterId"] !== undefined) { - contents.CacheClusterId = output["CacheClusterId"]; + if (output["UpdateActionAvailableDate"] !== undefined) { + contents.UpdateActionAvailableDate = new Date(output["UpdateActionAvailableDate"]); } - if (output["ServiceUpdateRecommendedApplyByDate"] !== undefined) { - contents.ServiceUpdateRecommendedApplyByDate = new Date(output["ServiceUpdateRecommendedApplyByDate"]); + if (output["NodesUpdated"] !== undefined) { + contents.NodesUpdated = output["NodesUpdated"]; } if (output["UpdateActionStatus"] !== undefined) { contents.UpdateActionStatus = output["UpdateActionStatus"]; @@ -12086,14 +13602,20 @@ const deserializeAws_queryUpdateAction = (output: any, context: __SerdeContext): if (output["ServiceUpdateReleaseDate"] !== undefined) { contents.ServiceUpdateReleaseDate = new Date(output["ServiceUpdateReleaseDate"]); } - if (output["ReplicationGroupId"] !== undefined) { - contents.ReplicationGroupId = output["ReplicationGroupId"]; + if (output["CacheClusterId"] !== undefined) { + contents.CacheClusterId = output["CacheClusterId"]; } if (output["EstimatedUpdateTime"] !== undefined) { contents.EstimatedUpdateTime = output["EstimatedUpdateTime"]; } - if (output["SlaMet"] !== undefined) { - contents.SlaMet = output["SlaMet"]; + if (output["ServiceUpdateName"] !== undefined) { + contents.ServiceUpdateName = output["ServiceUpdateName"]; + } + if (output["UpdateActionStatusModifiedDate"] !== undefined) { + contents.UpdateActionStatusModifiedDate = new Date(output["UpdateActionStatusModifiedDate"]); + } + if (output["ServiceUpdateRecommendedApplyByDate"] !== undefined) { + contents.ServiceUpdateRecommendedApplyByDate = new Date(output["ServiceUpdateRecommendedApplyByDate"]); } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; @@ -12110,6 +13632,12 @@ const deserializeAws_queryUpdateAction = (output: any, context: __SerdeContext): context ); } + if (output["ServiceUpdateSeverity"] !== undefined) { + contents.ServiceUpdateSeverity = output["ServiceUpdateSeverity"]; + } + if (output["SlaMet"] !== undefined) { + contents.SlaMet = output["SlaMet"]; + } return contents; }; @@ -12172,6 +13700,227 @@ const deserializeAws_queryUpdateActionsMessage = (output: any, context: __SerdeC return contents; }; +const deserializeAws_queryUser = (output: any, context: __SerdeContext): User => { + let contents: any = { + Status: undefined, + UserName: undefined, + UserGroupIds: undefined, + AccessString: undefined, + UserId: undefined, + Authentication: undefined, + ARN: undefined, + Engine: undefined, + }; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["UserName"] !== undefined) { + contents.UserName = output["UserName"]; + } + if (output.UserGroupIds === "") { + contents.UserGroupIds = []; + } + if (output["UserGroupIds"] !== undefined && output["UserGroupIds"]["member"] !== undefined) { + contents.UserGroupIds = deserializeAws_queryUserGroupIdList( + __getArrayIfSingleItem(output["UserGroupIds"]["member"]), + context + ); + } + if (output["AccessString"] !== undefined) { + contents.AccessString = output["AccessString"]; + } + if (output["UserId"] !== undefined) { + contents.UserId = output["UserId"]; + } + if (output["Authentication"] !== undefined) { + contents.Authentication = deserializeAws_queryAuthentication(output["Authentication"], context); + } + if (output["ARN"] !== undefined) { + contents.ARN = output["ARN"]; + } + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; + } + return contents; +}; + +const deserializeAws_queryUserAlreadyExistsFault = (output: any, context: __SerdeContext): UserAlreadyExistsFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + +const deserializeAws_queryUserGroup = (output: any, context: __SerdeContext): UserGroup => { + let contents: any = { + Status: undefined, + Engine: undefined, + UserIds: undefined, + ARN: undefined, + UserGroupId: undefined, + PendingChanges: undefined, + ReplicationGroups: undefined, + }; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; + } + if (output.UserIds === "") { + contents.UserIds = []; + } + if (output["UserIds"] !== undefined && output["UserIds"]["member"] !== undefined) { + contents.UserIds = deserializeAws_queryUserIdList(__getArrayIfSingleItem(output["UserIds"]["member"]), context); + } + if (output["ARN"] !== undefined) { + contents.ARN = output["ARN"]; + } + if (output["UserGroupId"] !== undefined) { + contents.UserGroupId = output["UserGroupId"]; + } + if (output["PendingChanges"] !== undefined) { + contents.PendingChanges = deserializeAws_queryUserGroupPendingChanges(output["PendingChanges"], context); + } + if (output.ReplicationGroups === "") { + contents.ReplicationGroups = []; + } + if (output["ReplicationGroups"] !== undefined && output["ReplicationGroups"]["member"] !== undefined) { + contents.ReplicationGroups = deserializeAws_queryUGReplicationGroupIdList( + __getArrayIfSingleItem(output["ReplicationGroups"]["member"]), + context + ); + } + return contents; +}; + +const deserializeAws_queryUserGroupAlreadyExistsFault = ( + output: any, + context: __SerdeContext +): UserGroupAlreadyExistsFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + +const deserializeAws_queryUserGroupIdList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_queryUserGroupList = (output: any, context: __SerdeContext): UserGroup[] => { + return (output || []).map((entry: any) => deserializeAws_queryUserGroup(entry, context)); +}; + +const deserializeAws_queryUserGroupNotFoundFault = (output: any, context: __SerdeContext): UserGroupNotFoundFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + +const deserializeAws_queryUserGroupPendingChanges = (output: any, context: __SerdeContext): UserGroupPendingChanges => { + let contents: any = { + UserIdsToAdd: undefined, + UserIdsToRemove: undefined, + }; + if (output.UserIdsToAdd === "") { + contents.UserIdsToAdd = []; + } + if (output["UserIdsToAdd"] !== undefined && output["UserIdsToAdd"]["member"] !== undefined) { + contents.UserIdsToAdd = deserializeAws_queryUserIdList( + __getArrayIfSingleItem(output["UserIdsToAdd"]["member"]), + context + ); + } + if (output.UserIdsToRemove === "") { + contents.UserIdsToRemove = []; + } + if (output["UserIdsToRemove"] !== undefined && output["UserIdsToRemove"]["member"] !== undefined) { + contents.UserIdsToRemove = deserializeAws_queryUserIdList( + __getArrayIfSingleItem(output["UserIdsToRemove"]["member"]), + context + ); + } + return contents; +}; + +const deserializeAws_queryUserGroupQuotaExceededFault = ( + output: any, + context: __SerdeContext +): UserGroupQuotaExceededFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + +const deserializeAws_queryUserGroupsUpdateStatus = (output: any, context: __SerdeContext): UserGroupsUpdateStatus => { + let contents: any = { + UserGroupIdsToRemove: undefined, + UserGroupIdsToAdd: undefined, + }; + if (output.UserGroupIdsToRemove === "") { + contents.UserGroupIdsToRemove = []; + } + if (output["UserGroupIdsToRemove"] !== undefined && output["UserGroupIdsToRemove"]["member"] !== undefined) { + contents.UserGroupIdsToRemove = deserializeAws_queryUserGroupIdList( + __getArrayIfSingleItem(output["UserGroupIdsToRemove"]["member"]), + context + ); + } + if (output.UserGroupIdsToAdd === "") { + contents.UserGroupIdsToAdd = []; + } + if (output["UserGroupIdsToAdd"] !== undefined && output["UserGroupIdsToAdd"]["member"] !== undefined) { + contents.UserGroupIdsToAdd = deserializeAws_queryUserGroupIdList( + __getArrayIfSingleItem(output["UserGroupIdsToAdd"]["member"]), + context + ); + } + return contents; +}; + +const deserializeAws_queryUserIdList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_queryUserList = (output: any, context: __SerdeContext): User[] => { + return (output || []).map((entry: any) => deserializeAws_queryUser(entry, context)); +}; + +const deserializeAws_queryUserNotFoundFault = (output: any, context: __SerdeContext): UserNotFoundFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + +const deserializeAws_queryUserQuotaExceededFault = (output: any, context: __SerdeContext): UserQuotaExceededFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, httpHeaders: output.headers, diff --git a/clients/client-elasticsearch-service/models/models_0.ts b/clients/client-elasticsearch-service/models/models_0.ts index 6602263ecaf1..95ee6b9f4e28 100644 --- a/clients/client-elasticsearch-service/models/models_0.ts +++ b/clients/client-elasticsearch-service/models/models_0.ts @@ -30,6 +30,11 @@ export enum InboundCrossClusterSearchConnectionStatusCode { *

                                                            Specifies the coonection status of an inbound cross-cluster search connection.

                                                            */ export interface InboundCrossClusterSearchConnectionStatus { + /** + *

                                                            Specifies verbose information for the inbound connection status.

                                                            + */ + Message?: string; + /** *

                                                            The state code for inbound connection. This can be one of the following:

                                                            *
                                                              @@ -42,11 +47,6 @@ export interface InboundCrossClusterSearchConnectionStatus { *
                                                            */ StatusCode?: InboundCrossClusterSearchConnectionStatusCode | string; - - /** - *

                                                            Specifies verbose information for the inbound connection status.

                                                            - */ - Message?: string; } export namespace InboundCrossClusterSearchConnectionStatus { @@ -56,13 +56,13 @@ export namespace InboundCrossClusterSearchConnectionStatus { } export interface DomainInformation { + Region?: string; /** *

                                                            The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

                                                            */ DomainName: string | undefined; OwnerId?: string; - Region?: string; } export namespace DomainInformation { @@ -76,24 +76,24 @@ export namespace DomainInformation { */ export interface InboundCrossClusterSearchConnection { /** - *

                                                            Specifies the InboundCrossClusterSearchConnectionStatus for the outbound connection.

                                                            + *

                                                            Specifies the connection id for the inbound cross-cluster search connection.

                                                            */ - ConnectionStatus?: InboundCrossClusterSearchConnectionStatus; + CrossClusterSearchConnectionId?: string; /** - *

                                                            Specifies the DomainInformation for the destination Elasticsearch domain.

                                                            + *

                                                            Specifies the InboundCrossClusterSearchConnectionStatus for the outbound connection.

                                                            */ - DestinationDomainInfo?: DomainInformation; + ConnectionStatus?: InboundCrossClusterSearchConnectionStatus; /** - *

                                                            Specifies the connection id for the inbound cross-cluster search connection.

                                                            + *

                                                            Specifies the DomainInformation for the source Elasticsearch domain.

                                                            */ - CrossClusterSearchConnectionId?: string; + SourceDomainInfo?: DomainInformation; /** - *

                                                            Specifies the DomainInformation for the source Elasticsearch domain.

                                                            + *

                                                            Specifies the DomainInformation for the destination Elasticsearch domain.

                                                            */ - SourceDomainInfo?: DomainInformation; + DestinationDomainInfo?: DomainInformation; } export namespace InboundCrossClusterSearchConnection { @@ -197,14 +197,9 @@ export type OptionState = "Active" | "Processing" | "RequiresIndexDocuments"; */ export interface OptionStatus { /** - *

                                                            Timestamp which tells the creation date for the entity.

                                                            - */ - CreationDate: Date | undefined; - - /** - *

                                                            Indicates whether the Elasticsearch domain is being deleted.

                                                            + *

                                                            Provides the OptionState for the Elasticsearch domain.

                                                            */ - PendingDeletion?: boolean; + State: OptionState | string | undefined; /** *

                                                            Specifies the latest version for the entity.

                                                            @@ -212,14 +207,19 @@ export interface OptionStatus { UpdateVersion?: number; /** - *

                                                            Provides the OptionState for the Elasticsearch domain.

                                                            + *

                                                            Timestamp which tells the creation date for the entity.

                                                            */ - State: OptionState | string | undefined; + CreationDate: Date | undefined; /** *

                                                            Timestamp which tells the last updated time for the entity.

                                                            */ UpdateDate: Date | undefined; + + /** + *

                                                            Indicates whether the Elasticsearch domain is being deleted.

                                                            + */ + PendingDeletion?: boolean; } export namespace OptionStatus { @@ -232,16 +232,16 @@ export namespace OptionStatus { *

                                                            The configured access rules for the domain's document and search endpoints, and the current status of those rules.

                                                            */ export interface AccessPoliciesStatus { - /** - *

                                                            The status of the access policy for the Elasticsearch domain. See OptionStatus for the status information that's included.

                                                            - */ - Status: OptionStatus | undefined; - /** *

                                                            The access policy configured for the Elasticsearch domain. Access policies may be resource-based, IP-based, or IAM-based. See * Configuring Access Policiesfor more information.

                                                            */ Options: string | undefined; + + /** + *

                                                            The status of the access policy for the Elasticsearch domain. See OptionStatus for the status information that's included.

                                                            + */ + Status: OptionStatus | undefined; } export namespace AccessPoliciesStatus { @@ -312,16 +312,16 @@ export namespace AdditionalLimit { *

                                                            Specifies a key value pair for a resource tag.

                                                            */ export interface Tag { - /** - *

                                                            Specifies the TagKey, the name of the tag. Tag keys must be unique for the Elasticsearch domain to which they are attached.

                                                            - */ - Key: string | undefined; - /** *

                                                            Specifies the TagValue, the value assigned to the corresponding tag key. Tag values can be null and do not have to be unique in a tag set. For example, you can have a key value * pair in a tag set of project : Trinity and cost-center : Trinity

                                                            */ Value: string | undefined; + + /** + *

                                                            Specifies the TagKey, the name of the tag. Tag keys must be unique for the Elasticsearch domain to which they are attached.

                                                            + */ + Key: string | undefined; } export namespace Tag { @@ -335,14 +335,14 @@ export namespace Tag { */ export interface AddTagsRequest { /** - *

                                                            Specify the ARN for which you want to add the tags.

                                                            + *

                                                            List of Tag that need to be added for the Elasticsearch domain.

                                                            */ - ARN: string | undefined; + TagList: Tag[] | undefined; /** - *

                                                            List of Tag that need to be added for the Elasticsearch domain.

                                                            + *

                                                            Specify the ARN for which you want to add the tags.

                                                            */ - TagList: Tag[] | undefined; + ARN: string | undefined; } export namespace AddTagsRequest { @@ -416,14 +416,14 @@ export namespace ValidationException { */ export interface AdvancedOptionsStatus { /** - *

                                                            Specifies the status of OptionStatus for advanced options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies the status of advanced options for the specified Elasticsearch domain.

                                                            */ - Status: OptionStatus | undefined; + Options: { [key: string]: string } | undefined; /** - *

                                                            Specifies the status of advanced options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies the status of OptionStatus for advanced options for the specified Elasticsearch domain.

                                                            */ - Options: { [key: string]: string } | undefined; + Status: OptionStatus | undefined; } export namespace AdvancedOptionsStatus { @@ -437,14 +437,14 @@ export namespace AdvancedOptionsStatus { */ export interface AdvancedSecurityOptions { /** - *

                                                            True if advanced security is enabled.

                                                            + *

                                                            True if the internal user database is enabled.

                                                            */ - Enabled?: boolean; + InternalUserDatabaseEnabled?: boolean; /** - *

                                                            True if the internal user database is enabled.

                                                            + *

                                                            True if advanced security is enabled.

                                                            */ - InternalUserDatabaseEnabled?: boolean; + Enabled?: boolean; } export namespace AdvancedSecurityOptions { @@ -457,11 +457,6 @@ export namespace AdvancedSecurityOptions { *

                                                            Credentials for the master user: username and password, ARN, or both.

                                                            */ export interface MasterUserOptions { - /** - *

                                                            The master user's password, which is stored in the Amazon Elasticsearch Service domain's internal database.

                                                            - */ - MasterUserPassword?: string; - /** *

                                                            ARN for the master user (if IAM is enabled).

                                                            */ @@ -471,13 +466,18 @@ export interface MasterUserOptions { *

                                                            The master user's username, which is stored in the Amazon Elasticsearch Service domain's internal database.

                                                            */ MasterUserName?: string; + + /** + *

                                                            The master user's password, which is stored in the Amazon Elasticsearch Service domain's internal database.

                                                            + */ + MasterUserPassword?: string; } export namespace MasterUserOptions { export const filterSensitiveLog = (obj: MasterUserOptions): any => ({ ...obj, - ...(obj.MasterUserPassword && { MasterUserPassword: SENSITIVE_STRING }), ...(obj.MasterUserName && { MasterUserName: SENSITIVE_STRING }), + ...(obj.MasterUserPassword && { MasterUserPassword: SENSITIVE_STRING }), }); } @@ -513,14 +513,14 @@ export namespace AdvancedSecurityOptionsInput { */ export interface AdvancedSecurityOptionsStatus { /** - *

                                                            Status of the advanced security options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies advanced security options for the specified Elasticsearch domain.

                                                            */ - Status: OptionStatus | undefined; + Options: AdvancedSecurityOptions | undefined; /** - *

                                                            Specifies advanced security options for the specified Elasticsearch domain.

                                                            + *

                                                            Status of the advanced security options for the specified Elasticsearch domain.

                                                            */ - Options: AdvancedSecurityOptions | undefined; + Status: OptionStatus | undefined; } export namespace AdvancedSecurityOptionsStatus { @@ -564,8 +564,8 @@ export type DomainPackageStatus = | "DISSOCIATION_FAILED"; export interface ErrorDetails { - ErrorType?: string; ErrorMessage?: string; + ErrorType?: string; } export namespace ErrorDetails { @@ -581,44 +581,44 @@ export type PackageType = "TXT-DICTIONARY"; */ export interface DomainPackageDetails { /** - *

                                                            User specified name of the package.

                                                            + *

                                                            Name of the domain you've associated a package with.

                                                            */ - PackageName?: string; + DomainName?: string; /** - *

                                                            Additional information if the package is in an error state. Null otherwise.

                                                            + *

                                                            Internal ID of the package.

                                                            */ - ErrorDetails?: ErrorDetails; + PackageID?: string; /** - *

                                                            Currently supports only TXT-DICTIONARY.

                                                            + *

                                                            The relative path on Amazon ES nodes, which can be used as synonym_path when the package is synonym file.

                                                            */ - PackageType?: PackageType | string; + ReferencePath?: string; /** - *

                                                            Name of the domain you've associated a package with.

                                                            + *

                                                            Timestamp of the most-recent update to the association status.

                                                            */ - DomainName?: string; + LastUpdated?: Date; /** - *

                                                            The relative path on Amazon ES nodes, which can be used as synonym_path when the package is synonym file.

                                                            + *

                                                            Additional information if the package is in an error state. Null otherwise.

                                                            */ - ReferencePath?: string; + ErrorDetails?: ErrorDetails; /** - *

                                                            Internal ID of the package.

                                                            + *

                                                            State of the association. Values are ASSOCIATING/ASSOCIATION_FAILED/ACTIVE/DISSOCIATING/DISSOCIATION_FAILED.

                                                            */ - PackageID?: string; + DomainPackageStatus?: DomainPackageStatus | string; /** - *

                                                            Timestamp of the most-recent update to the association status.

                                                            + *

                                                            User specified name of the package.

                                                            */ - LastUpdated?: Date; + PackageName?: string; /** - *

                                                            State of the association. Values are ASSOCIATING/ASSOCIATION_FAILED/ACTIVE/DISSOCIATING/DISSOCIATION_FAILED.

                                                            + *

                                                            Currently supports only TXT-DICTIONARY.

                                                            */ - DomainPackageStatus?: DomainPackageStatus | string; + PackageType?: PackageType | string; } export namespace DomainPackageDetails { @@ -690,9 +690,14 @@ export type DeploymentStatus = "COMPLETED" | "ELIGIBLE" | "IN_PROGRESS" | "NOT_E */ export interface ServiceSoftwareOptions { /** - *

                                                            True if you are able to update you service software version. False if you are not able to update your service software version.

                                                            + *

                                                            The current service software version that is present on the domain.

                                                            */ - UpdateAvailable?: boolean; + CurrentVersion?: string; + + /** + *

                                                            Timestamp, in Epoch time, until which you can manually request a service software update. After this date, we automatically update your service software.

                                                            + */ + AutomatedUpdateDate?: Date; /** *

                                                            True if you are able to cancel your service software version update. False if you are not able to cancel your service software version.

                                                            @@ -705,14 +710,14 @@ export interface ServiceSoftwareOptions { NewVersion?: string; /** - *

                                                            The status of your service software update. This field can take the following values: ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and NOT_ELIGIBLE.

                                                            + *

                                                            The description of the UpdateStatus.

                                                            */ - UpdateStatus?: DeploymentStatus | string; + Description?: string; /** - *

                                                            Timestamp, in Epoch time, until which you can manually request a service software update. After this date, we automatically update your service software.

                                                            + *

                                                            The status of your service software update. This field can take the following values: ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and NOT_ELIGIBLE.

                                                            */ - AutomatedUpdateDate?: Date; + UpdateStatus?: DeploymentStatus | string; /** *

                                                            True if a service software is never automatically updated. False if a service software is automatically updated after AutomatedUpdateDate.

                                                            @@ -720,14 +725,9 @@ export interface ServiceSoftwareOptions { OptionalDeployment?: boolean; /** - *

                                                            The current service software version that is present on the domain.

                                                            - */ - CurrentVersion?: string; - - /** - *

                                                            The description of the UpdateStatus.

                                                            + *

                                                            True if you are able to update you service software version. False if you are not able to update your service software version.

                                                            */ - Description?: string; + UpdateAvailable?: boolean; } export namespace ServiceSoftwareOptions { @@ -757,9 +757,9 @@ export namespace CancelElasticsearchServiceSoftwareUpdateResponse { */ export interface CognitoOptions { /** - *

                                                            Specifies the Cognito identity pool ID for Kibana authentication.

                                                            + *

                                                            Specifies the role ARN that provides Elasticsearch permissions for accessing Cognito resources.

                                                            */ - IdentityPoolId?: string; + RoleArn?: string; /** *

                                                            Specifies the option to enable Cognito for Kibana authentication.

                                                            @@ -767,14 +767,14 @@ export interface CognitoOptions { Enabled?: boolean; /** - *

                                                            Specifies the role ARN that provides Elasticsearch permissions for accessing Cognito resources.

                                                            + *

                                                            Specifies the Cognito user pool ID for Kibana authentication.

                                                            */ - RoleArn?: string; + UserPoolId?: string; /** - *

                                                            Specifies the Cognito user pool ID for Kibana authentication.

                                                            + *

                                                            Specifies the Cognito identity pool ID for Kibana authentication.

                                                            */ - UserPoolId?: string; + IdentityPoolId?: string; } export namespace CognitoOptions { @@ -792,6 +792,11 @@ export enum TLSSecurityPolicy { *

                                                            Options to configure endpoint for the Elasticsearch domain.

                                                            */ export interface DomainEndpointOptions { + /** + *

                                                            Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain.

                                                            + */ + EnforceHTTPS?: boolean; + /** *

                                                            Specify the TLS security policy that needs to be applied to the HTTPS endpoint of Elasticsearch domain. *

                                                            It can be one of the following values: @@ -802,11 +807,6 @@ export interface DomainEndpointOptions { *

                                                            */ TLSSecurityPolicy?: TLSSecurityPolicy | string; - - /** - *

                                                            Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain.

                                                            - */ - EnforceHTTPS?: boolean; } export namespace DomainEndpointOptions { @@ -822,24 +822,24 @@ export type VolumeType = "gp2" | "io1" | "standard"; */ export interface EBSOptions { /** - *

                                                            Specifies the IOPD for a Provisioned IOPS EBS volume (SSD).

                                                            + *

                                                            Integer to specify the size of an EBS volume.

                                                            */ - Iops?: number; + VolumeSize?: number; /** - *

                                                            Specifies the volume type for EBS-based storage.

                                                            + *

                                                            Specifies whether EBS-based storage is enabled.

                                                            */ - VolumeType?: VolumeType | string; + EBSEnabled?: boolean; /** - *

                                                            Integer to specify the size of an EBS volume.

                                                            + *

                                                            Specifies the volume type for EBS-based storage.

                                                            */ - VolumeSize?: number; + VolumeType?: VolumeType | string; /** - *

                                                            Specifies whether EBS-based storage is enabled.

                                                            + *

                                                            Specifies the IOPD for a Provisioned IOPS EBS volume (SSD).

                                                            */ - EBSEnabled?: boolean; + Iops?: number; } export namespace EBSOptions { @@ -931,24 +931,24 @@ export namespace ZoneAwarenessConfig { */ export interface ElasticsearchClusterConfig { /** - *

                                                            A boolean value to indicate whether zone awareness is enabled. See About Zone Awareness for more information.

                                                            + *

                                                            Specifies the zone awareness configuration for a domain when zone awareness is enabled.

                                                            */ - ZoneAwarenessEnabled?: boolean; + ZoneAwarenessConfig?: ZoneAwarenessConfig; /** - *

                                                            True to enable warm storage.

                                                            + *

                                                            Total number of dedicated master nodes, active and on standby, for the cluster.

                                                            */ - WarmEnabled?: boolean; + DedicatedMasterCount?: number; /** - *

                                                            The number of instances in the specified domain cluster.

                                                            + *

                                                            A boolean value to indicate whether a dedicated master node is enabled. See About Dedicated Master Nodes for more information.

                                                            */ - InstanceCount?: number; + DedicatedMasterEnabled?: boolean; /** - *

                                                            A boolean value to indicate whether a dedicated master node is enabled. See About Dedicated Master Nodes for more information.

                                                            + *

                                                            The instance type for a dedicated master node.

                                                            */ - DedicatedMasterEnabled?: boolean; + DedicatedMasterType?: ESPartitionInstanceType | string; /** *

                                                            The number of warm nodes in the cluster.

                                                            @@ -956,9 +956,14 @@ export interface ElasticsearchClusterConfig { WarmCount?: number; /** - *

                                                            Specifies the zone awareness configuration for a domain when zone awareness is enabled.

                                                            + *

                                                            True to enable warm storage.

                                                            */ - ZoneAwarenessConfig?: ZoneAwarenessConfig; + WarmEnabled?: boolean; + + /** + *

                                                            A boolean value to indicate whether zone awareness is enabled. See About Zone Awareness for more information.

                                                            + */ + ZoneAwarenessEnabled?: boolean; /** *

                                                            The instance type for the Elasticsearch cluster's warm nodes.

                                                            @@ -971,14 +976,9 @@ export interface ElasticsearchClusterConfig { InstanceType?: ESPartitionInstanceType | string; /** - *

                                                            Total number of dedicated master nodes, active and on standby, for the cluster.

                                                            - */ - DedicatedMasterCount?: number; - - /** - *

                                                            The instance type for a dedicated master node.

                                                            + *

                                                            The number of instances in the specified domain cluster.

                                                            */ - DedicatedMasterType?: ESPartitionInstanceType | string; + InstanceCount?: number; } export namespace ElasticsearchClusterConfig { @@ -1008,7 +1008,7 @@ export namespace EncryptionAtRestOptions { }); } -export type LogType = "ES_APPLICATION_LOGS" | "INDEX_SLOW_LOGS" | "SEARCH_SLOW_LOGS"; +export type LogType = "AUDIT_LOGS" | "ES_APPLICATION_LOGS" | "INDEX_SLOW_LOGS" | "SEARCH_SLOW_LOGS"; /** *

                                                            Log Publishing option that is set for given domain. @@ -1102,15 +1102,9 @@ export interface CreateElasticsearchDomainRequest { DomainEndpointOptions?: DomainEndpointOptions; /** - *

                                                            Options to enable, disable and specify the type and size of EBS storage volumes.

                                                            - */ - EBSOptions?: EBSOptions; - - /** - *

                                                            String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more information, - * see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide.

                                                            + *

                                                            Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.

                                                            */ - ElasticsearchVersion?: string; + SnapshotOptions?: SnapshotOptions; /** *

                                                            Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the domain cluster.

                                                            @@ -1118,40 +1112,40 @@ export interface CreateElasticsearchDomainRequest { ElasticsearchClusterConfig?: ElasticsearchClusterConfig; /** - *

                                                            Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.

                                                            + *

                                                            Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.

                                                            */ - SnapshotOptions?: SnapshotOptions; + LogPublishingOptions?: { [key: string]: LogPublishingOption }; /** - *

                                                            Specifies advanced security options.

                                                            + *

                                                            Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

                                                            */ - AdvancedSecurityOptions?: AdvancedSecurityOptionsInput; + CognitoOptions?: CognitoOptions; /** - *

                                                            Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.

                                                            + *

                                                            Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. + * See Configuration Advanced Options for more information.

                                                            */ - LogPublishingOptions?: { [key: string]: LogPublishingOption }; + AdvancedOptions?: { [key: string]: string }; /** - *

                                                            Specifies the Encryption At Rest Options.

                                                            + *

                                                            Specifies advanced security options.

                                                            */ - EncryptionAtRestOptions?: EncryptionAtRestOptions; + AdvancedSecurityOptions?: AdvancedSecurityOptionsInput; /** - *

                                                            Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

                                                            + *

                                                            Specifies the Encryption At Rest Options.

                                                            */ - CognitoOptions?: CognitoOptions; + EncryptionAtRestOptions?: EncryptionAtRestOptions; /** - *

                                                            The name of the Elasticsearch domain that you are creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a lowercase letter and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

                                                            + *

                                                            Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains

                                                            */ - DomainName: string | undefined; + VPCOptions?: VPCOptions; /** - *

                                                            Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. - * See Configuration Advanced Options for more information.

                                                            + *

                                                            Options to enable, disable and specify the type and size of EBS storage volumes.

                                                            */ - AdvancedOptions?: { [key: string]: string }; + EBSOptions?: EBSOptions; /** *

                                                            Specifies the NodeToNodeEncryptionOptions.

                                                            @@ -1159,9 +1153,15 @@ export interface CreateElasticsearchDomainRequest { NodeToNodeEncryptionOptions?: NodeToNodeEncryptionOptions; /** - *

                                                            Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains

                                                            + *

                                                            String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more information, + * see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide.

                                                            */ - VPCOptions?: VPCOptions; + ElasticsearchVersion?: string; + + /** + *

                                                            The name of the Elasticsearch domain that you are creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a lowercase letter and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

                                                            + */ + DomainName: string | undefined; } export namespace CreateElasticsearchDomainRequest { @@ -1177,11 +1177,6 @@ export namespace CreateElasticsearchDomainRequest { *

                                                            Options to specify the subnets and security groups for VPC endpoint. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

                                                            */ export interface VPCDerivedInfo { - /** - *

                                                            The VPC Id for the Elasticsearch domain. Exists only if the domain was created with VPCOptions.

                                                            - */ - VPCId?: string; - /** *

                                                            The availability zones for the Elasticsearch domain. Exists only if the domain was created with VPCOptions.

                                                            */ @@ -1196,6 +1191,11 @@ export interface VPCDerivedInfo { *

                                                            Specifies the subnets for VPC endpoint.

                                                            */ SubnetIds?: string[]; + + /** + *

                                                            The VPC Id for the Elasticsearch domain. Exists only if the domain was created with VPCOptions.

                                                            + */ + VPCId?: string; } export namespace VPCDerivedInfo { @@ -1209,29 +1209,29 @@ export namespace VPCDerivedInfo { */ export interface ElasticsearchDomainStatus { /** - *

                                                            Specifies the status of the NodeToNodeEncryptionOptions.

                                                            + *

                                                            The current status of the Elasticsearch domain's service software.

                                                            */ - NodeToNodeEncryptionOptions?: NodeToNodeEncryptionOptions; + ServiceSoftwareOptions?: ServiceSoftwareOptions; /** - *

                                                            The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

                                                            + *

                                                            Log publishing options for the given domain.

                                                            */ - DomainName: string | undefined; + LogPublishingOptions?: { [key: string]: LogPublishingOption }; /** - *

                                                            The type and number of instances in the domain cluster.

                                                            + *

                                                            Specifies the status of the NodeToNodeEncryptionOptions.

                                                            */ - ElasticsearchClusterConfig: ElasticsearchClusterConfig | undefined; + NodeToNodeEncryptionOptions?: NodeToNodeEncryptionOptions; /** - *

                                                            The domain creation status. True if the creation of an Elasticsearch domain is complete. False if domain creation is still in progress.

                                                            + *

                                                            The status of an Elasticsearch domain version upgrade. True if Amazon Elasticsearch Service is undergoing a version upgrade. False if the configuration is active.

                                                            */ - Created?: boolean; + UpgradeProcessing?: boolean; /** - *

                                                            The current status of the Elasticsearch domain's endpoint options.

                                                            + *

                                                            The domain creation status. True if the creation of an Elasticsearch domain is complete. False if domain creation is still in progress.

                                                            */ - DomainEndpointOptions?: DomainEndpointOptions; + Created?: boolean; /** *

                                                            Specifies the status of the SnapshotOptions

                                                            @@ -1239,34 +1239,34 @@ export interface ElasticsearchDomainStatus { SnapshotOptions?: SnapshotOptions; /** - *

                                                            The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.

                                                            + *

                                                            Map containing the Elasticsearch domain endpoints used to submit index and search requests. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

                                                            */ - ARN: string | undefined; + Endpoints?: { [key: string]: string }; /** - *

                                                            IAM access policy as a JSON-formatted string.

                                                            + *

                                                            The current status of the Elasticsearch domain's endpoint options.

                                                            */ - AccessPolicies?: string; + DomainEndpointOptions?: DomainEndpointOptions; /** - *

                                                            The current status of the Elasticsearch domain's advanced security options.

                                                            + *

                                                            Specifies the status of the AdvancedOptions

                                                            */ - AdvancedSecurityOptions?: AdvancedSecurityOptions; + AdvancedOptions?: { [key: string]: string }; /** - *

                                                            Specifies the status of the AdvancedOptions

                                                            + *

                                                            IAM access policy as a JSON-formatted string.

                                                            */ - AdvancedOptions?: { [key: string]: string }; + AccessPolicies?: string; /** - *

                                                            Log publishing options for the given domain.

                                                            + *

                                                            The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

                                                            */ - LogPublishingOptions?: { [key: string]: LogPublishingOption }; + CognitoOptions?: CognitoOptions; /** - *

                                                            The Elasticsearch domain endpoint that you use to submit index and search requests.

                                                            + *

                                                            The current status of the Elasticsearch domain's advanced security options.

                                                            */ - Endpoint?: string; + AdvancedSecurityOptions?: AdvancedSecurityOptions; /** *

                                                            The unique identifier for the specified Elasticsearch domain.

                                                            @@ -1274,50 +1274,51 @@ export interface ElasticsearchDomainStatus { DomainId: string | undefined; /** - *

                                                            Map containing the Elasticsearch domain endpoints used to submit index and search requests. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

                                                            + *

                                                            The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.

                                                            */ - Endpoints?: { [key: string]: string }; + ARN: string | undefined; /** - *

                                                            The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

                                                            + *

                                                            The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch Service is processing configuration changes. False if the configuration is active.

                                                            */ - CognitoOptions?: CognitoOptions; + Processing?: boolean; /** - *

                                                            The domain deletion status. True if a delete request has been received for the domain but resource cleanup is still in progress. False if the domain has not been deleted. Once domain deletion is complete, the status of the domain is no longer returned.

                                                            + *

                                                            The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

                                                            */ - Deleted?: boolean; + VPCOptions?: VPCDerivedInfo; /** - *

                                                            The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch Service is processing configuration changes. False if the configuration is active.

                                                            + *

                                                            The Elasticsearch domain endpoint that you use to submit index and search requests.

                                                            */ - Processing?: boolean; + Endpoint?: string; /** - *

                                                            The status of an Elasticsearch domain version upgrade. True if Amazon Elasticsearch Service is undergoing a version upgrade. False if the configuration is active.

                                                            + *

                                                            The type and number of instances in the domain cluster.

                                                            */ - UpgradeProcessing?: boolean; + ElasticsearchClusterConfig: ElasticsearchClusterConfig | undefined; /** - *

                                                            Specifies the status of the EncryptionAtRestOptions.

                                                            + *

                                                            The domain deletion status. True if a delete request has been received for the domain but resource cleanup is still in progress. False if the domain has not been deleted. Once domain deletion is complete, the status of the domain is no longer returned.

                                                            */ - EncryptionAtRestOptions?: EncryptionAtRestOptions; + Deleted?: boolean; /** - *

                                                            The current status of the Elasticsearch domain's service software.

                                                            + *

                                                            The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information.

                                                            */ - ServiceSoftwareOptions?: ServiceSoftwareOptions; + EBSOptions?: EBSOptions; /** - *

                                                            The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

                                                            + *

                                                            The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

                                                            */ - VPCOptions?: VPCDerivedInfo; + DomainName: string | undefined; - ElasticsearchVersion?: string; /** - *

                                                            The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information.

                                                            + *

                                                            Specifies the status of the EncryptionAtRestOptions.

                                                            */ - EBSOptions?: EBSOptions; + EncryptionAtRestOptions?: EncryptionAtRestOptions; + + ElasticsearchVersion?: string; } export namespace ElasticsearchDomainStatus { @@ -1382,6 +1383,11 @@ export namespace ResourceAlreadyExistsException { *

                                                            Container for the parameters to the CreateOutboundCrossClusterSearchConnection operation.

                                                            */ export interface CreateOutboundCrossClusterSearchConnectionRequest { + /** + *

                                                            Specifies the DomainInformation for the destination Elasticsearch domain.

                                                            + */ + DestinationDomainInfo: DomainInformation | undefined; + /** *

                                                            Specifies the DomainInformation for the source Elasticsearch domain.

                                                            */ @@ -1391,11 +1397,6 @@ export interface CreateOutboundCrossClusterSearchConnectionRequest { *

                                                            Specifies the connection alias that will be used by the customer for this connection.

                                                            */ ConnectionAlias: string | undefined; - - /** - *

                                                            Specifies the DomainInformation for the destination Elasticsearch domain.

                                                            - */ - DestinationDomainInfo: DomainInformation | undefined; } export namespace CreateOutboundCrossClusterSearchConnectionRequest { @@ -1419,11 +1420,6 @@ export enum OutboundCrossClusterSearchConnectionStatusCode { *

                                                            Specifies the connection status of an outbound cross-cluster search connection.

                                                            */ export interface OutboundCrossClusterSearchConnectionStatus { - /** - *

                                                            Specifies verbose information for the outbound connection status.

                                                            - */ - Message?: string; - /** *

                                                            The state code for outbound connection. This can be one of the following:

                                                            *
                                                              @@ -1438,6 +1434,11 @@ export interface OutboundCrossClusterSearchConnectionStatus { *
                                                            */ StatusCode?: OutboundCrossClusterSearchConnectionStatusCode | string; + + /** + *

                                                            Specifies verbose information for the outbound connection status.

                                                            + */ + Message?: string; } export namespace OutboundCrossClusterSearchConnectionStatus { @@ -1451,9 +1452,9 @@ export namespace OutboundCrossClusterSearchConnectionStatus { */ export interface CreateOutboundCrossClusterSearchConnectionResponse { /** - *

                                                            Specifies the DomainInformation for the source Elasticsearch domain.

                                                            + *

                                                            Specifies the connection alias provided during the create connection request.

                                                            */ - SourceDomainInfo?: DomainInformation; + ConnectionAlias?: string; /** *

                                                            Specifies the DomainInformation for the destination Elasticsearch domain.

                                                            @@ -1471,9 +1472,9 @@ export interface CreateOutboundCrossClusterSearchConnectionResponse { CrossClusterSearchConnectionId?: string; /** - *

                                                            Specifies the connection alias provided during the create connection request.

                                                            + *

                                                            Specifies the DomainInformation for the source Elasticsearch domain.

                                                            */ - ConnectionAlias?: string; + SourceDomainInfo?: DomainInformation; } export namespace CreateOutboundCrossClusterSearchConnectionResponse { @@ -1514,24 +1515,24 @@ export namespace PackageSource { */ export interface CreatePackageRequest { /** - *

                                                            The customer S3 location PackageSource for importing the package.

                                                            + *

                                                            Unique identifier for the package.

                                                            */ - PackageSource: PackageSource | undefined; + PackageName: string | undefined; /** - *

                                                            Description of the package.

                                                            + *

                                                            Type of package. Currently supports only TXT-DICTIONARY.

                                                            */ - PackageDescription?: string; + PackageType: PackageType | string | undefined; /** - *

                                                            Unique identifier for the package.

                                                            + *

                                                            The customer S3 location PackageSource for importing the package.

                                                            */ - PackageName: string | undefined; + PackageSource: PackageSource | undefined; /** - *

                                                            Type of package. Currently supports only TXT-DICTIONARY.

                                                            + *

                                                            Description of the package.

                                                            */ - PackageType: PackageType | string | undefined; + PackageDescription?: string; } export namespace CreatePackageRequest { @@ -1555,24 +1556,19 @@ export type PackageStatus = */ export interface PackageDetails { /** - *

                                                            Currently supports only TXT-DICTIONARY.

                                                            - */ - PackageType?: PackageType | string; - - /** - *

                                                            Additional information if the package is in an error state. Null otherwise.

                                                            + *

                                                            Timestamp which tells creation date of the package.

                                                            */ - ErrorDetails?: ErrorDetails; + CreatedAt?: Date; /** - *

                                                            User specified name of the package.

                                                            + *

                                                            User-specified description of the package.

                                                            */ - PackageName?: string; + PackageDescription?: string; /** - *

                                                            Timestamp which tells creation date of the package.

                                                            + *

                                                            Additional information if the package is in an error state. Null otherwise.

                                                            */ - CreatedAt?: Date; + ErrorDetails?: ErrorDetails; /** *

                                                            Internal ID of the package.

                                                            @@ -1585,9 +1581,14 @@ export interface PackageDetails { PackageStatus?: PackageStatus | string; /** - *

                                                            User-specified description of the package.

                                                            + *

                                                            Currently supports only TXT-DICTIONARY.

                                                            */ - PackageDescription?: string; + PackageType?: PackageType | string; + + /** + *

                                                            User specified name of the package.

                                                            + */ + PackageName?: string; } export namespace PackageDetails { @@ -1703,14 +1704,14 @@ export namespace DeleteOutboundCrossClusterSearchConnectionRequest { */ export interface OutboundCrossClusterSearchConnection { /** - *

                                                            Specifies the connection id for the outbound cross-cluster search connection.

                                                            + *

                                                            Specifies the OutboundCrossClusterSearchConnectionStatus for the outbound connection.

                                                            */ - CrossClusterSearchConnectionId?: string; + ConnectionStatus?: OutboundCrossClusterSearchConnectionStatus; /** - *

                                                            Specifies the DomainInformation for the source Elasticsearch domain.

                                                            + *

                                                            Specifies the DomainInformation for the destination Elasticsearch domain.

                                                            */ - SourceDomainInfo?: DomainInformation; + DestinationDomainInfo?: DomainInformation; /** *

                                                            Specifies the connection alias for the outbound cross-cluster search connection.

                                                            @@ -1718,14 +1719,14 @@ export interface OutboundCrossClusterSearchConnection { ConnectionAlias?: string; /** - *

                                                            Specifies the OutboundCrossClusterSearchConnectionStatus for the outbound connection.

                                                            + *

                                                            Specifies the DomainInformation for the source Elasticsearch domain.

                                                            */ - ConnectionStatus?: OutboundCrossClusterSearchConnectionStatus; + SourceDomainInfo?: DomainInformation; /** - *

                                                            Specifies the DomainInformation for the destination Elasticsearch domain.

                                                            + *

                                                            Specifies the connection id for the outbound cross-cluster search connection.

                                                            */ - DestinationDomainInfo?: DomainInformation; + CrossClusterSearchConnectionId?: string; } export namespace OutboundCrossClusterSearchConnection { @@ -1847,14 +1848,14 @@ export namespace DescribeElasticsearchDomainConfigRequest { */ export interface CognitoOptionsStatus { /** - *

                                                            Specifies the Cognito options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies the status of the Cognito options for the specified Elasticsearch domain.

                                                            */ - Options: CognitoOptions | undefined; + Status: OptionStatus | undefined; /** - *

                                                            Specifies the status of the Cognito options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies the Cognito options for the specified Elasticsearch domain.

                                                            */ - Status: OptionStatus | undefined; + Options: CognitoOptions | undefined; } export namespace CognitoOptionsStatus { @@ -1868,14 +1869,14 @@ export namespace CognitoOptionsStatus { */ export interface DomainEndpointOptionsStatus { /** - *

                                                            Options to configure endpoint for the Elasticsearch domain.

                                                            + *

                                                            The status of the endpoint options for the Elasticsearch domain. See OptionStatus for the status information that's included.

                                                            */ - Options: DomainEndpointOptions | undefined; + Status: OptionStatus | undefined; /** - *

                                                            The status of the endpoint options for the Elasticsearch domain. See OptionStatus for the status information that's included.

                                                            + *

                                                            Options to configure endpoint for the Elasticsearch domain.

                                                            */ - Status: OptionStatus | undefined; + Options: DomainEndpointOptions | undefined; } export namespace DomainEndpointOptionsStatus { @@ -1889,14 +1890,14 @@ export namespace DomainEndpointOptionsStatus { */ export interface EBSOptionsStatus { /** - *

                                                            Specifies the EBS options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies the status of the EBS options for the specified Elasticsearch domain.

                                                            */ - Options: EBSOptions | undefined; + Status: OptionStatus | undefined; /** - *

                                                            Specifies the status of the EBS options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies the EBS options for the specified Elasticsearch domain.

                                                            */ - Status: OptionStatus | undefined; + Options: EBSOptions | undefined; } export namespace EBSOptionsStatus { @@ -1952,14 +1953,14 @@ export namespace ElasticsearchVersionStatus { */ export interface EncryptionAtRestOptionsStatus { /** - *

                                                            Specifies the status of the Encryption At Rest options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies the Encryption At Rest options for the specified Elasticsearch domain.

                                                            */ - Status: OptionStatus | undefined; + Options: EncryptionAtRestOptions | undefined; /** - *

                                                            Specifies the Encryption At Rest options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies the status of the Encryption At Rest options for the specified Elasticsearch domain.

                                                            */ - Options: EncryptionAtRestOptions | undefined; + Status: OptionStatus | undefined; } export namespace EncryptionAtRestOptionsStatus { @@ -1994,14 +1995,14 @@ export namespace LogPublishingOptionsStatus { */ export interface NodeToNodeEncryptionOptionsStatus { /** - *

                                                            Specifies the node-to-node encryption options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies the status of the node-to-node encryption options for the specified Elasticsearch domain.

                                                            */ - Options: NodeToNodeEncryptionOptions | undefined; + Status: OptionStatus | undefined; /** - *

                                                            Specifies the status of the node-to-node encryption options for the specified Elasticsearch domain.

                                                            + *

                                                            Specifies the node-to-node encryption options for the specified Elasticsearch domain.

                                                            */ - Status: OptionStatus | undefined; + Options: NodeToNodeEncryptionOptions | undefined; } export namespace NodeToNodeEncryptionOptionsStatus { @@ -2015,14 +2016,14 @@ export namespace NodeToNodeEncryptionOptionsStatus { */ export interface SnapshotOptionsStatus { /** - *

                                                            Specifies the status of a daily automated snapshot.

                                                            + *

                                                            Specifies the daily snapshot options specified for the Elasticsearch domain.

                                                            */ - Status: OptionStatus | undefined; + Options: SnapshotOptions | undefined; /** - *

                                                            Specifies the daily snapshot options specified for the Elasticsearch domain.

                                                            + *

                                                            Specifies the status of a daily automated snapshot.

                                                            */ - Options: SnapshotOptions | undefined; + Status: OptionStatus | undefined; } export namespace SnapshotOptionsStatus { @@ -2057,49 +2058,49 @@ export namespace VPCDerivedInfoStatus { */ export interface ElasticsearchDomainConfig { /** - *

                                                            Specifies the ElasticsearchClusterConfig for the Elasticsearch domain.

                                                            + *

                                                            Log publishing options for the given domain.

                                                            */ - ElasticsearchClusterConfig?: ElasticsearchClusterConfigStatus; + LogPublishingOptions?: LogPublishingOptionsStatus; /** - *

                                                            Specifies the DomainEndpointOptions for the Elasticsearch domain.

                                                            + *

                                                            Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain.

                                                            */ - DomainEndpointOptions?: DomainEndpointOptionsStatus; + NodeToNodeEncryptionOptions?: NodeToNodeEncryptionOptionsStatus; /** - *

                                                            Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain.

                                                            + *

                                                            Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information.

                                                            */ - NodeToNodeEncryptionOptions?: NodeToNodeEncryptionOptionsStatus; + AdvancedOptions?: AdvancedOptionsStatus; /** - *

                                                            Specifies the SnapshotOptions for the Elasticsearch domain.

                                                            + *

                                                            Specifies AdvancedSecurityOptions for the domain.

                                                            */ - SnapshotOptions?: SnapshotOptionsStatus; + AdvancedSecurityOptions?: AdvancedSecurityOptionsStatus; /** - *

                                                            IAM access policy as a JSON-formatted string.

                                                            + *

                                                            The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

                                                            */ - AccessPolicies?: AccessPoliciesStatus; + CognitoOptions?: CognitoOptionsStatus; /** - *

                                                            Specifies AdvancedSecurityOptions for the domain.

                                                            + *

                                                            IAM access policy as a JSON-formatted string.

                                                            */ - AdvancedSecurityOptions?: AdvancedSecurityOptionsStatus; + AccessPolicies?: AccessPoliciesStatus; /** - *

                                                            Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information.

                                                            + *

                                                            Specifies the DomainEndpointOptions for the Elasticsearch domain.

                                                            */ - AdvancedOptions?: AdvancedOptionsStatus; + DomainEndpointOptions?: DomainEndpointOptionsStatus; /** - *

                                                            Log publishing options for the given domain.

                                                            + *

                                                            Specifies the SnapshotOptions for the Elasticsearch domain.

                                                            */ - LogPublishingOptions?: LogPublishingOptionsStatus; + SnapshotOptions?: SnapshotOptionsStatus; /** - *

                                                            The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

                                                            + *

                                                            Specifies the EBSOptions for the Elasticsearch domain.

                                                            */ - CognitoOptions?: CognitoOptionsStatus; + EBSOptions?: EBSOptionsStatus; /** *

                                                            The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

                                                            @@ -2107,9 +2108,9 @@ export interface ElasticsearchDomainConfig { VPCOptions?: VPCDerivedInfoStatus; /** - *

                                                            Specifies the EncryptionAtRestOptions for the Elasticsearch domain.

                                                            + *

                                                            Specifies the ElasticsearchClusterConfig for the Elasticsearch domain.

                                                            */ - EncryptionAtRestOptions?: EncryptionAtRestOptionsStatus; + ElasticsearchClusterConfig?: ElasticsearchClusterConfigStatus; /** *

                                                            String of format X.Y to specify version for the Elasticsearch domain.

                                                            @@ -2117,9 +2118,9 @@ export interface ElasticsearchDomainConfig { ElasticsearchVersion?: ElasticsearchVersionStatus; /** - *

                                                            Specifies the EBSOptions for the Elasticsearch domain.

                                                            + *

                                                            Specifies the EncryptionAtRestOptions for the Elasticsearch domain.

                                                            */ - EBSOptions?: EBSOptionsStatus; + EncryptionAtRestOptions?: EncryptionAtRestOptionsStatus; } export namespace ElasticsearchDomainConfig { @@ -2188,38 +2189,38 @@ export namespace DescribeElasticsearchDomainsResponse { export interface DescribeElasticsearchInstanceTypeLimitsRequest { /** *

                                                            - * The instance type for an Elasticsearch cluster for which Elasticsearch + * Version of Elasticsearch for which * * Limits * * are needed. *

                                                            */ - InstanceType: ESPartitionInstanceType | string | undefined; + ElasticsearchVersion: string | undefined; /** *

                                                            - * Version of Elasticsearch for which + * DomainName represents the name of the Domain that we are trying to + * modify. This should be present only if we are + * querying for Elasticsearch * * Limits * - * are needed. + * for existing domain. *

                                                            */ - ElasticsearchVersion: string | undefined; + DomainName?: string; /** *

                                                            - * DomainName represents the name of the Domain that we are trying to - * modify. This should be present only if we are - * querying for Elasticsearch + * The instance type for an Elasticsearch cluster for which Elasticsearch * * Limits * - * for existing domain. + * are needed. *

                                                            */ - DomainName?: string; + InstanceType: ESPartitionInstanceType | string | undefined; } export namespace DescribeElasticsearchInstanceTypeLimitsRequest { @@ -2327,6 +2328,12 @@ export namespace StorageTypeLimit { *

                                                            */ export interface StorageType { + /** + *

                                                            List of limits that are applicable for given storage type. + *

                                                            + */ + StorageTypeLimits?: StorageTypeLimit[]; + /** *

                                                            * SubType of the given storage type. @@ -2354,12 +2361,6 @@ export interface StorageType { *

                                                            */ StorageTypeName?: string; - - /** - *

                                                            List of limits that are applicable for given storage type. - *

                                                            - */ - StorageTypeLimits?: StorageTypeLimit[]; } export namespace StorageType { @@ -2393,6 +2394,12 @@ export interface Limits { */ StorageTypes?: StorageType[]; + /** + *

                                                            InstanceLimits represents the list of instance related attributes that are available for given InstanceType. + *

                                                            + */ + InstanceLimits?: InstanceLimits; + /** *

                                                            * List of additional limits that are specific to a given InstanceType and for each of it's @@ -2403,12 +2410,6 @@ export interface Limits { *

                                                            */ AdditionalLimits?: AdditionalLimit[]; - - /** - *

                                                            InstanceLimits represents the list of instance related attributes that are available for given InstanceType. - *

                                                            - */ - InstanceLimits?: InstanceLimits; } export namespace Limits { @@ -2459,17 +2460,17 @@ export namespace DescribeElasticsearchInstanceTypeLimitsResponse { export interface Filter { /** *

                                                            - * Specifies the name of the filter. + * Contains one or more values for the filter. *

                                                            */ - Name?: string; + Values?: string[]; /** *

                                                            - * Contains one or more values for the filter. + * Specifies the name of the filter. *

                                                            */ - Values?: string[]; + Name?: string; } export namespace Filter { @@ -2482,11 +2483,6 @@ export namespace Filter { *

                                                            Container for the parameters to the DescribeInboundCrossClusterSearchConnections operation.

                                                            */ export interface DescribeInboundCrossClusterSearchConnectionsRequest { - /** - *

                                                            NextToken is sent in case the earlier API call results contain the NextToken. It is used for pagination.

                                                            - */ - NextToken?: string; - /** *

                                                            Set this value to limit the number of results returned. If not specified, defaults to 100.

                                                            */ @@ -2506,6 +2502,11 @@ export interface DescribeInboundCrossClusterSearchConnectionsRequest { *

                                                            */ Filters?: Filter[]; + + /** + *

                                                            NextToken is sent in case the earlier API call results contain the NextToken. It is used for pagination.

                                                            + */ + NextToken?: string; } export namespace DescribeInboundCrossClusterSearchConnectionsRequest { @@ -2519,15 +2520,15 @@ export namespace DescribeInboundCrossClusterSearchConnectionsRequest { */ export interface DescribeInboundCrossClusterSearchConnectionsResponse { /** - *

                                                            If more results are available and NextToken is present, make the next request to the same API with the received NextToken to paginate the remaining results. - *

                                                            + *

                                                            Consists of list of InboundCrossClusterSearchConnection matching the specified filter criteria.

                                                            */ - NextToken?: string; + CrossClusterSearchConnections?: InboundCrossClusterSearchConnection[]; /** - *

                                                            Consists of list of InboundCrossClusterSearchConnection matching the specified filter criteria.

                                                            + *

                                                            If more results are available and NextToken is present, make the next request to the same API with the received NextToken to paginate the remaining results. + *

                                                            */ - CrossClusterSearchConnections?: InboundCrossClusterSearchConnection[]; + NextToken?: string; } export namespace DescribeInboundCrossClusterSearchConnectionsResponse { @@ -2558,11 +2559,6 @@ export namespace InvalidPaginationTokenException { *

                                                            Container for the parameters to the DescribeOutboundCrossClusterSearchConnections operation.

                                                            */ export interface DescribeOutboundCrossClusterSearchConnectionsRequest { - /** - *

                                                            Set this value to limit the number of results returned. If not specified, defaults to 100.

                                                            - */ - MaxResults?: number; - /** *

                                                            NextToken is sent in case the earlier API call results contain the NextToken. It is used for pagination.

                                                            */ @@ -2582,6 +2578,11 @@ export interface DescribeOutboundCrossClusterSearchConnectionsRequest { *

                                                            */ Filters?: Filter[]; + + /** + *

                                                            Set this value to limit the number of results returned. If not specified, defaults to 100.

                                                            + */ + MaxResults?: number; } export namespace DescribeOutboundCrossClusterSearchConnectionsRequest { @@ -2623,14 +2624,14 @@ export enum DescribePackagesFilterName { */ export interface DescribePackagesFilter { /** - *

                                                            A list of values for the specified field.

                                                            + *

                                                            Any field from PackageDetails.

                                                            */ - Value?: string[]; + Name?: DescribePackagesFilterName | string; /** - *

                                                            Any field from PackageDetails.

                                                            + *

                                                            A list of values for the specified field.

                                                            */ - Name?: DescribePackagesFilterName | string; + Value?: string[]; } export namespace DescribePackagesFilter { @@ -2649,6 +2650,11 @@ export namespace DescribePackagesFilter { *

                                                            */ export interface DescribePackagesRequest { + /** + *

                                                            Only returns packages that match the DescribePackagesFilterList values.

                                                            + */ + Filters?: DescribePackagesFilter[]; + /** *

                                                            Limits results to a maximum number of packages.

                                                            */ @@ -2658,11 +2664,6 @@ export interface DescribePackagesRequest { *

                                                            Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.

                                                            */ NextToken?: string; - - /** - *

                                                            Only returns packages that match the DescribePackagesFilterList values.

                                                            - */ - Filters?: DescribePackagesFilter[]; } export namespace DescribePackagesRequest { @@ -2729,14 +2730,14 @@ export type ReservedElasticsearchInstancePaymentOption = "ALL_UPFRONT" | "NO_UPF */ export interface RecurringCharge { /** - *

                                                            The frequency of the recurring charge.

                                                            + *

                                                            The monetary amount of the recurring charge.

                                                            */ - RecurringChargeFrequency?: string; + RecurringChargeAmount?: number; /** - *

                                                            The monetary amount of the recurring charge.

                                                            + *

                                                            The frequency of the recurring charge.

                                                            */ - RecurringChargeAmount?: number; + RecurringChargeFrequency?: string; } export namespace RecurringCharge { @@ -2750,19 +2751,19 @@ export namespace RecurringCharge { */ export interface ReservedElasticsearchInstanceOffering { /** - *

                                                            Payment option for the reserved Elasticsearch instance offering

                                                            + *

                                                            The currency code for the reserved Elasticsearch instance offering.

                                                            */ - PaymentOption?: ReservedElasticsearchInstancePaymentOption | string; + CurrencyCode?: string; /** - *

                                                            The charge to your account regardless of whether you are creating any domains using the instance offering.

                                                            + *

                                                            The rate you are charged for each hour the domain that is using the offering is running.

                                                            */ - RecurringCharges?: RecurringCharge[]; + UsagePrice?: number; /** - *

                                                            The Elasticsearch reserved instance offering identifier.

                                                            + *

                                                            The Elasticsearch instance type offered by the reserved instance offering.

                                                            */ - ReservedElasticsearchInstanceOfferingId?: string; + ElasticsearchInstanceType?: ESPartitionInstanceType | string; /** *

                                                            The duration, in seconds, for which the offering will reserve the Elasticsearch instance.

                                                            @@ -2770,24 +2771,24 @@ export interface ReservedElasticsearchInstanceOffering { Duration?: number; /** - *

                                                            The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch instance offering.

                                                            + *

                                                            Payment option for the reserved Elasticsearch instance offering

                                                            */ - FixedPrice?: number; + PaymentOption?: ReservedElasticsearchInstancePaymentOption | string; /** - *

                                                            The currency code for the reserved Elasticsearch instance offering.

                                                            + *

                                                            The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch instance offering.

                                                            */ - CurrencyCode?: string; + FixedPrice?: number; /** - *

                                                            The rate you are charged for each hour the domain that is using the offering is running.

                                                            + *

                                                            The Elasticsearch reserved instance offering identifier.

                                                            */ - UsagePrice?: number; + ReservedElasticsearchInstanceOfferingId?: string; /** - *

                                                            The Elasticsearch instance type offered by the reserved instance offering.

                                                            + *

                                                            The charge to your account regardless of whether you are creating any domains using the instance offering.

                                                            */ - ElasticsearchInstanceType?: ESPartitionInstanceType | string; + RecurringCharges?: RecurringCharge[]; } export namespace ReservedElasticsearchInstanceOffering { @@ -2821,12 +2822,6 @@ export namespace DescribeReservedElasticsearchInstanceOfferingsResponse { *

                                                            Container for parameters to DescribeReservedElasticsearchInstances

                                                            */ export interface DescribeReservedElasticsearchInstancesRequest { - /** - *

                                                            NextToken should be sent in case if earlier API call produced result - * containing NextToken. It is used for pagination.

                                                            - */ - NextToken?: string; - /** *

                                                            The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved Elasticsearch instance ID.

                                                            */ @@ -2836,6 +2831,12 @@ export interface DescribeReservedElasticsearchInstancesRequest { *

                                                            Set this value to limit the number of results returned. If not specified, defaults to 100.

                                                            */ MaxResults?: number; + + /** + *

                                                            NextToken should be sent in case if earlier API call produced result + * containing NextToken. It is used for pagination.

                                                            + */ + NextToken?: string; } export namespace DescribeReservedElasticsearchInstancesRequest { @@ -2849,14 +2850,14 @@ export namespace DescribeReservedElasticsearchInstancesRequest { */ export interface ReservedElasticsearchInstance { /** - *

                                                            The state of the reserved Elasticsearch instance.

                                                            + *

                                                            The currency code for the reserved Elasticsearch instance offering.

                                                            */ - State?: string; + CurrencyCode?: string; /** - *

                                                            The customer-specified identifier to track this reservation.

                                                            + *

                                                            The upfront fixed charge you will paid to purchase the specific reserved Elasticsearch instance offering.

                                                            */ - ReservationName?: string; + FixedPrice?: number; /** *

                                                            The time the reservation started.

                                                            @@ -2864,14 +2865,19 @@ export interface ReservedElasticsearchInstance { StartTime?: Date; /** - *

                                                            The upfront fixed charge you will paid to purchase the specific reserved Elasticsearch instance offering.

                                                            + *

                                                            The duration, in seconds, for which the Elasticsearch instance is reserved.

                                                            */ - FixedPrice?: number; + Duration?: number; /** - *

                                                            The currency code for the reserved Elasticsearch instance offering.

                                                            + *

                                                            The offering identifier.

                                                            */ - CurrencyCode?: string; + ReservedElasticsearchInstanceOfferingId?: string; + + /** + *

                                                            The payment option as defined in the reserved Elasticsearch instance offering.

                                                            + */ + PaymentOption?: ReservedElasticsearchInstancePaymentOption | string; /** *

                                                            The unique identifier for the reservation.

                                                            @@ -2879,19 +2885,19 @@ export interface ReservedElasticsearchInstance { ReservedElasticsearchInstanceId?: string; /** - *

                                                            The rate you are charged for each hour for the domain that is using this reserved instance.

                                                            + *

                                                            The state of the reserved Elasticsearch instance.

                                                            */ - UsagePrice?: number; + State?: string; /** - *

                                                            The duration, in seconds, for which the Elasticsearch instance is reserved.

                                                            + *

                                                            The rate you are charged for each hour for the domain that is using this reserved instance.

                                                            */ - Duration?: number; + UsagePrice?: number; /** - *

                                                            The payment option as defined in the reserved Elasticsearch instance offering.

                                                            + *

                                                            The customer-specified identifier to track this reservation.

                                                            */ - PaymentOption?: ReservedElasticsearchInstancePaymentOption | string; + ReservationName?: string; /** *

                                                            The charge to your account regardless of whether you are creating any domains using the instance offering.

                                                            @@ -2899,19 +2905,14 @@ export interface ReservedElasticsearchInstance { RecurringCharges?: RecurringCharge[]; /** - *

                                                            The offering identifier.

                                                            + *

                                                            The number of Elasticsearch instances that have been reserved.

                                                            */ - ReservedElasticsearchInstanceOfferingId?: string; + ElasticsearchInstanceCount?: number; /** *

                                                            The Elasticsearch instance type offered by the reserved instance offering.

                                                            */ ElasticsearchInstanceType?: ESPartitionInstanceType | string; - - /** - *

                                                            The number of Elasticsearch instances that have been reserved.

                                                            - */ - ElasticsearchInstanceCount?: number; } export namespace ReservedElasticsearchInstance { @@ -2952,14 +2953,14 @@ export namespace DescribeReservedElasticsearchInstancesResponse { */ export interface DissociatePackageRequest { /** - *

                                                            Internal ID of the package that you want to associate with a domain. Use DescribePackages to find this value.

                                                            + *

                                                            Name of the domain that you want to associate the package with.

                                                            */ - PackageID: string | undefined; + DomainName: string | undefined; /** - *

                                                            Name of the domain that you want to associate the package with.

                                                            + *

                                                            Internal ID of the package that you want to associate with a domain. Use DescribePackages to find this value.

                                                            */ - DomainName: string | undefined; + PackageID: string | undefined; } export namespace DissociatePackageRequest { @@ -3027,15 +3028,15 @@ export namespace GetCompatibleElasticsearchVersionsRequest { */ export interface CompatibleVersionsMap { /** - *

                                                            List of supported elastic search versions. - *

                                                            + *

                                                            The current version of Elasticsearch on which a domain is.

                                                            */ - TargetVersions?: string[]; + SourceVersion?: string; /** - *

                                                            The current version of Elasticsearch on which a domain is.

                                                            + *

                                                            List of supported elastic search versions. + *

                                                            */ - SourceVersion?: string; + TargetVersions?: string[]; } export namespace CompatibleVersionsMap { @@ -3084,10 +3085,11 @@ export namespace GetCompatibleElasticsearchVersionsResponse { export interface GetUpgradeHistoryRequest { /** *

                                                            - * Set this value to limit the number of results returned. + * Paginated APIs accepts NextToken input to returns next page results and provides + * a NextToken output in the response which can be used by the client to retrieve more results. *

                                                            */ - MaxResults?: number; + NextToken?: string; /** *

                                                            The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

                                                            @@ -3096,11 +3098,10 @@ export interface GetUpgradeHistoryRequest { /** *

                                                            - * Paginated APIs accepts NextToken input to returns next page results and provides - * a NextToken output in the response which can be used by the client to retrieve more results. + * Set this value to limit the number of results returned. *

                                                            */ - NextToken?: string; + MaxResults?: number; } export namespace GetUpgradeHistoryRequest { @@ -3119,21 +3120,15 @@ export type UpgradeStatus = "FAILED" | "IN_PROGRESS" | "SUCCEEDED" | "SUCCEEDED_ export interface UpgradeStepItem { /** *

                                                            - * The status of a particular step during an upgrade. The status can take one of the following values: + * Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does through: *

                                                              - *
                                                            • In Progress
                                                            • - *
                                                            • Succeeded
                                                            • - *
                                                            • Succeeded with Issues
                                                            • - *
                                                            • Failed
                                                            • + *
                                                            • PreUpgradeCheck
                                                            • + *
                                                            • Snapshot
                                                            • + *
                                                            • Upgrade
                                                            • *
                                                            *

                                                            */ - UpgradeStepStatus?: UpgradeStatus | string; - - /** - *

                                                            A list of strings containing detailed information about the errors encountered in a particular step.

                                                            - */ - Issues?: string[]; + UpgradeStep?: UpgradeStep | string; /** *

                                                            The Floating point value representing progress percentage of a particular step.

                                                            @@ -3142,15 +3137,21 @@ export interface UpgradeStepItem { /** *

                                                            - * Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does through: + * The status of a particular step during an upgrade. The status can take one of the following values: *

                                                              - *
                                                            • PreUpgradeCheck
                                                            • - *
                                                            • Snapshot
                                                            • - *
                                                            • Upgrade
                                                            • + *
                                                            • In Progress
                                                            • + *
                                                            • Succeeded
                                                            • + *
                                                            • Succeeded with Issues
                                                            • + *
                                                            • Failed
                                                            • *
                                                            *

                                                            */ - UpgradeStep?: UpgradeStep | string; + UpgradeStepStatus?: UpgradeStatus | string; + + /** + *

                                                            A list of strings containing detailed information about the errors encountered in a particular step.

                                                            + */ + Issues?: string[]; } export namespace UpgradeStepItem { @@ -3174,6 +3175,11 @@ export interface UpgradeHistory { */ StepsList?: UpgradeStepItem[]; + /** + *

                                                            UTC Timestamp at which the Upgrade API call was made in "yyyy-MM-ddTHH:mm:ssZ" format.

                                                            + */ + StartTimestamp?: Date; + /** *

                                                            * The overall status of the update. The status can take one of the following values: @@ -3191,11 +3197,6 @@ export interface UpgradeHistory { *

                                                            A string that describes the update briefly

                                                            */ UpgradeName?: string; - - /** - *

                                                            UTC Timestamp at which the Upgrade API call was made in "yyyy-MM-ddTHH:mm:ssZ" format.

                                                            - */ - StartTimestamp?: Date; } export namespace UpgradeHistory { @@ -3273,11 +3274,6 @@ export namespace GetUpgradeStatusRequest { *

                                                            */ export interface GetUpgradeStatusResponse { - /** - *

                                                            A string that describes the update briefly

                                                            - */ - UpgradeName?: string; - /** *

                                                            * Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does through: @@ -3290,6 +3286,11 @@ export interface GetUpgradeStatusResponse { */ UpgradeStep?: UpgradeStep | string; + /** + *

                                                            A string that describes the update briefly

                                                            + */ + UpgradeName?: string; + /** *

                                                            * One of 4 statuses that a step can go through returned as part of the @@ -3353,6 +3354,11 @@ export namespace ListDomainNamesResponse { *

                                                            */ export interface ListDomainsForPackageRequest { + /** + *

                                                            The package for which to list domains.

                                                            + */ + PackageID: string | undefined; + /** *

                                                            Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.

                                                            */ @@ -3362,11 +3368,6 @@ export interface ListDomainsForPackageRequest { *

                                                            Limits results to a maximum number of domains.

                                                            */ MaxResults?: number; - - /** - *

                                                            The package for which to list domains.

                                                            - */ - PackageID: string | undefined; } export namespace ListDomainsForPackageRequest { @@ -3385,11 +3386,12 @@ export namespace ListDomainsForPackageRequest { *

                                                            */ export interface ListDomainsForPackageResponse { - NextToken?: string; /** *

                                                            List of DomainPackageDetails objects.

                                                            */ DomainPackageDetailsList?: DomainPackageDetails[]; + + NextToken?: string; } export namespace ListDomainsForPackageResponse { @@ -3408,20 +3410,6 @@ export namespace ListDomainsForPackageResponse { *

                                                            */ export interface ListElasticsearchInstanceTypesRequest { - /** - *

                                                            NextToken should be sent in case if earlier API call produced result - * containing NextToken. It is used for pagination. - *

                                                            - */ - NextToken?: string; - - /** - *

                                                            DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are - * querying for list of available Elasticsearch instance types when modifying existing domain. - *

                                                            - */ - DomainName?: string; - /** *

                                                            * Set this value to limit the number of results returned. @@ -3436,6 +3424,20 @@ export interface ListElasticsearchInstanceTypesRequest { *

                                                            */ ElasticsearchVersion: string | undefined; + + /** + *

                                                            NextToken should be sent in case if earlier API call produced result + * containing NextToken. It is used for pagination. + *

                                                            + */ + NextToken?: string; + + /** + *

                                                            DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are + * querying for list of available Elasticsearch instance types when modifying existing domain. + *

                                                            + */ + DomainName?: string; } export namespace ListElasticsearchInstanceTypesRequest { @@ -3454,6 +3456,14 @@ export namespace ListElasticsearchInstanceTypesRequest { *

                                                            */ export interface ListElasticsearchInstanceTypesResponse { + /** + *

                                                            In case if there are more results available NextToken would be + * present, make further request to the same API with + * received NextToken to paginate remaining results. + *

                                                            + */ + NextToken?: string; + /** *

                                                            * List of instance types supported by Amazon Elasticsearch service for @@ -3464,14 +3474,6 @@ export interface ListElasticsearchInstanceTypesResponse { *

                                                            */ ElasticsearchInstanceTypes?: (ESPartitionInstanceType | string)[]; - - /** - *

                                                            In case if there are more results available NextToken would be - * present, make further request to the same API with - * received NextToken to paginate remaining results. - *

                                                            - */ - NextToken?: string; } export namespace ListElasticsearchInstanceTypesResponse { @@ -3540,18 +3542,18 @@ export namespace ListElasticsearchVersionsRequest { */ export interface ListElasticsearchVersionsResponse { /** - *

                                                            - * Paginated APIs accepts NextToken input to returns next page results and provides - * a NextToken output in the response which can be used by the client to retrieve more results. + *

                                                            List of supported elastic search versions. *

                                                            */ - NextToken?: string; + ElasticsearchVersions?: string[]; /** - *

                                                            List of supported elastic search versions. + *

                                                            + * Paginated APIs accepts NextToken input to returns next page results and provides + * a NextToken output in the response which can be used by the client to retrieve more results. *

                                                            */ - ElasticsearchVersions?: string[]; + NextToken?: string; } export namespace ListElasticsearchVersionsResponse { @@ -3571,14 +3573,14 @@ export namespace ListElasticsearchVersionsResponse { */ export interface ListPackagesForDomainRequest { /** - *

                                                            The name of the domain for which you want to list associated packages.

                                                            + *

                                                            Limits results to a maximum number of packages.

                                                            */ - DomainName: string | undefined; + MaxResults?: number; /** - *

                                                            Limits results to a maximum number of packages.

                                                            + *

                                                            The name of the domain for which you want to list associated packages.

                                                            */ - MaxResults?: number; + DomainName: string | undefined; /** *

                                                            Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.

                                                            @@ -3603,14 +3605,14 @@ export namespace ListPackagesForDomainRequest { */ export interface ListPackagesForDomainResponse { /** - *

                                                            Pagination token that needs to be supplied to the next call to get the next page of results.

                                                            + *

                                                            List of DomainPackageDetails objects.

                                                            */ - NextToken?: string; + DomainPackageDetailsList?: DomainPackageDetails[]; /** - *

                                                            List of DomainPackageDetails objects.

                                                            + *

                                                            Pagination token that needs to be supplied to the next call to get the next page of results.

                                                            */ - DomainPackageDetailsList?: DomainPackageDetails[]; + NextToken?: string; } export namespace ListPackagesForDomainResponse { @@ -3655,11 +3657,6 @@ export namespace ListTagsResponse { *

                                                            Container for parameters to PurchaseReservedElasticsearchInstanceOffering

                                                            */ export interface PurchaseReservedElasticsearchInstanceOfferingRequest { - /** - *

                                                            The number of Elasticsearch instances to reserve.

                                                            - */ - InstanceCount?: number; - /** *

                                                            The ID of the reserved Elasticsearch instance offering to purchase.

                                                            */ @@ -3669,6 +3666,11 @@ export interface PurchaseReservedElasticsearchInstanceOfferingRequest { *

                                                            A customer-specified identifier to track this reservation.

                                                            */ ReservationName: string | undefined; + + /** + *

                                                            The number of Elasticsearch instances to reserve.

                                                            + */ + InstanceCount?: number; } export namespace PurchaseReservedElasticsearchInstanceOfferingRequest { @@ -3788,60 +3790,60 @@ export namespace StartElasticsearchServiceSoftwareUpdateResponse { */ export interface UpdateElasticsearchDomainConfigRequest { /** - *

                                                            Specifies advanced security options.

                                                            + *

                                                            The name of the Elasticsearch domain that you are updating.

                                                            */ - AdvancedSecurityOptions?: AdvancedSecurityOptionsInput; + DomainName: string | undefined; /** - *

                                                            IAM access policy as a JSON-formatted string.

                                                            + *

                                                            Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

                                                            */ - AccessPolicies?: string; + CognitoOptions?: CognitoOptions; /** - *

                                                            Options to specify configuration that will be applied to the domain endpoint.

                                                            + *

                                                            Modifies the advanced option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. + * See Configuration Advanced Options for more information.

                                                            */ - DomainEndpointOptions?: DomainEndpointOptions; + AdvancedOptions?: { [key: string]: string }; /** - *

                                                            Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains

                                                            + *

                                                            Specify the type and size of the EBS volume that you want to use.

                                                            */ - VPCOptions?: VPCOptions; + EBSOptions?: EBSOptions; /** - *

                                                            The type and number of instances to instantiate for the domain cluster.

                                                            + *

                                                            Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.

                                                            */ - ElasticsearchClusterConfig?: ElasticsearchClusterConfig; + LogPublishingOptions?: { [key: string]: LogPublishingOption }; /** - *

                                                            The name of the Elasticsearch domain that you are updating.

                                                            + *

                                                            IAM access policy as a JSON-formatted string.

                                                            */ - DomainName: string | undefined; + AccessPolicies?: string; /** - *

                                                            Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours.

                                                            + *

                                                            Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains

                                                            */ - SnapshotOptions?: SnapshotOptions; + VPCOptions?: VPCOptions; /** - *

                                                            Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

                                                            + *

                                                            Specifies advanced security options.

                                                            */ - CognitoOptions?: CognitoOptions; + AdvancedSecurityOptions?: AdvancedSecurityOptionsInput; /** - *

                                                            Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.

                                                            + *

                                                            The type and number of instances to instantiate for the domain cluster.

                                                            */ - LogPublishingOptions?: { [key: string]: LogPublishingOption }; + ElasticsearchClusterConfig?: ElasticsearchClusterConfig; /** - *

                                                            Modifies the advanced option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. - * See Configuration Advanced Options for more information.

                                                            + *

                                                            Options to specify configuration that will be applied to the domain endpoint.

                                                            */ - AdvancedOptions?: { [key: string]: string }; + DomainEndpointOptions?: DomainEndpointOptions; /** - *

                                                            Specify the type and size of the EBS volume that you want to use.

                                                            + *

                                                            Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours.

                                                            */ - EBSOptions?: EBSOptions; + SnapshotOptions?: SnapshotOptions; } export namespace UpdateElasticsearchDomainConfigRequest { @@ -3879,6 +3881,11 @@ export namespace UpdateElasticsearchDomainConfigResponse { *

                                                            */ export interface UpgradeElasticsearchDomainRequest { + /** + *

                                                            The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

                                                            + */ + DomainName: string | undefined; + /** *

                                                            * This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. @@ -3891,11 +3898,6 @@ export interface UpgradeElasticsearchDomainRequest { *

                                                            The version of Elasticsearch that you intend to upgrade the domain to.

                                                            */ TargetVersion: string | undefined; - - /** - *

                                                            The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

                                                            - */ - DomainName: string | undefined; } export namespace UpgradeElasticsearchDomainRequest { @@ -3914,6 +3916,11 @@ export namespace UpgradeElasticsearchDomainRequest { *

                                                            */ export interface UpgradeElasticsearchDomainResponse { + /** + *

                                                            The version of Elasticsearch that you intend to upgrade the domain to.

                                                            + */ + TargetVersion?: string; + /** *

                                                            * This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. @@ -3922,11 +3929,6 @@ export interface UpgradeElasticsearchDomainResponse { */ PerformCheckOnly?: boolean; - /** - *

                                                            The version of Elasticsearch that you intend to upgrade the domain to.

                                                            - */ - TargetVersion?: string; - /** *

                                                            The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

                                                            */ diff --git a/clients/client-elasticsearch-service/protocols/Aws_restJson1.ts b/clients/client-elasticsearch-service/protocols/Aws_restJson1.ts index a96c115abbce..e1608365ed0e 100644 --- a/clients/client-elasticsearch-service/protocols/Aws_restJson1.ts +++ b/clients/client-elasticsearch-service/protocols/Aws_restJson1.ts @@ -673,15 +673,6 @@ export const serializeAws_restJson1DescribeElasticsearchInstanceTypeLimitsComman "Content-Type": "", }; let resolvedPath = "/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}"; - if (input.InstanceType !== undefined) { - const labelValue: string = input.InstanceType; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: InstanceType."); - } - resolvedPath = resolvedPath.replace("{InstanceType}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: InstanceType."); - } if (input.ElasticsearchVersion !== undefined) { const labelValue: string = input.ElasticsearchVersion; if (labelValue.length <= 0) { @@ -691,6 +682,15 @@ export const serializeAws_restJson1DescribeElasticsearchInstanceTypeLimitsComman } else { throw new Error("No value provided for input HTTP label: ElasticsearchVersion."); } + if (input.InstanceType !== undefined) { + const labelValue: string = input.InstanceType; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InstanceType."); + } + resolvedPath = resolvedPath.replace("{InstanceType}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InstanceType."); + } const query: any = { ...(input.DomainName !== undefined && { domainName: input.DomainName }), }; @@ -826,11 +826,11 @@ export const serializeAws_restJson1DescribeReservedElasticsearchInstancesCommand }; let resolvedPath = "/2015-01-01/es/reservedInstances"; const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.ReservedElasticsearchInstanceId !== undefined && { reservationId: input.ReservedElasticsearchInstanceId, }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -854,15 +854,6 @@ export const serializeAws_restJson1DissociatePackageCommand = async ( "Content-Type": "", }; let resolvedPath = "/2015-01-01/packages/dissociate/{PackageID}/{DomainName}"; - if (input.PackageID !== undefined) { - const labelValue: string = input.PackageID; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: PackageID."); - } - resolvedPath = resolvedPath.replace("{PackageID}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: PackageID."); - } if (input.DomainName !== undefined) { const labelValue: string = input.DomainName; if (labelValue.length <= 0) { @@ -872,6 +863,15 @@ export const serializeAws_restJson1DissociatePackageCommand = async ( } else { throw new Error("No value provided for input HTTP label: DomainName."); } + if (input.PackageID !== undefined) { + const labelValue: string = input.PackageID; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: PackageID."); + } + resolvedPath = resolvedPath.replace("{PackageID}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: PackageID."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -928,8 +928,8 @@ export const serializeAws_restJson1GetUpgradeHistoryCommand = async ( throw new Error("No value provided for input HTTP label: DomainName."); } 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(); @@ -1050,9 +1050,9 @@ export const serializeAws_restJson1ListElasticsearchInstanceTypesCommand = async throw new Error("No value provided for input HTTP label: ElasticsearchVersion."); } const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.DomainName !== undefined && { domainName: input.DomainName }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-emr/EMR.ts b/clients/client-emr/EMR.ts index bd60b25783cc..517d4ea367c0 100644 --- a/clients/client-emr/EMR.ts +++ b/clients/client-emr/EMR.ts @@ -36,6 +36,11 @@ import { DescribeJobFlowsCommandInput, DescribeJobFlowsCommandOutput, } from "./commands/DescribeJobFlowsCommand"; +import { + DescribeNotebookExecutionCommand, + DescribeNotebookExecutionCommandInput, + DescribeNotebookExecutionCommandOutput, +} from "./commands/DescribeNotebookExecutionCommand"; import { DescribeSecurityConfigurationCommand, DescribeSecurityConfigurationCommandInput, @@ -81,6 +86,11 @@ import { ListInstancesCommandInput, ListInstancesCommandOutput, } from "./commands/ListInstancesCommand"; +import { + ListNotebookExecutionsCommand, + ListNotebookExecutionsCommandInput, + ListNotebookExecutionsCommandOutput, +} from "./commands/ListNotebookExecutionsCommand"; import { ListSecurityConfigurationsCommand, ListSecurityConfigurationsCommandInput, @@ -139,6 +149,16 @@ import { SetVisibleToAllUsersCommandInput, SetVisibleToAllUsersCommandOutput, } from "./commands/SetVisibleToAllUsersCommand"; +import { + StartNotebookExecutionCommand, + StartNotebookExecutionCommandInput, + StartNotebookExecutionCommandOutput, +} from "./commands/StartNotebookExecutionCommand"; +import { + StopNotebookExecutionCommand, + StopNotebookExecutionCommandInput, + StopNotebookExecutionCommandOutput, +} from "./commands/StopNotebookExecutionCommand"; import { TerminateJobFlowsCommand, TerminateJobFlowsCommandInput, @@ -451,6 +471,38 @@ export class EMR extends EMRClient { } } + /** + *

                                                            Provides details of a notebook execution.

                                                            + */ + public describeNotebookExecution( + args: DescribeNotebookExecutionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeNotebookExecution( + args: DescribeNotebookExecutionCommandInput, + cb: (err: any, data?: DescribeNotebookExecutionCommandOutput) => void + ): void; + public describeNotebookExecution( + args: DescribeNotebookExecutionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeNotebookExecutionCommandOutput) => void + ): void; + public describeNotebookExecution( + args: DescribeNotebookExecutionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeNotebookExecutionCommandOutput) => void), + cb?: (err: any, data?: DescribeNotebookExecutionCommandOutput) => void + ): Promise | void { + const command = new DescribeNotebookExecutionCommand(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 the details of a security configuration by returning the configuration JSON.

                                                            */ @@ -738,6 +790,38 @@ export class EMR extends EMRClient { } } + /** + *

                                                            Provides summaries of all notebook executions. You can filter the list based on multiple criteria such as status, time range, and editor id. Returns a maximum of 50 notebook executions and a marker to track the paging of a longer notebook execution list across multiple ListNotebookExecution calls.

                                                            + */ + public listNotebookExecutions( + args: ListNotebookExecutionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listNotebookExecutions( + args: ListNotebookExecutionsCommandInput, + cb: (err: any, data?: ListNotebookExecutionsCommandOutput) => void + ): void; + public listNotebookExecutions( + args: ListNotebookExecutionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListNotebookExecutionsCommandOutput) => void + ): void; + public listNotebookExecutions( + args: ListNotebookExecutionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListNotebookExecutionsCommandOutput) => void), + cb?: (err: any, data?: ListNotebookExecutionsCommandOutput) => void + ): Promise | void { + const command = new ListNotebookExecutionsCommand(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 security configurations visible to this account, providing their creation dates and times, and their names. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListSecurityConfigurations calls.

                                                            */ @@ -1205,6 +1289,70 @@ export class EMR extends EMRClient { } } + /** + *

                                                            Starts a notebook execution.

                                                            + */ + public startNotebookExecution( + args: StartNotebookExecutionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startNotebookExecution( + args: StartNotebookExecutionCommandInput, + cb: (err: any, data?: StartNotebookExecutionCommandOutput) => void + ): void; + public startNotebookExecution( + args: StartNotebookExecutionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartNotebookExecutionCommandOutput) => void + ): void; + public startNotebookExecution( + args: StartNotebookExecutionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartNotebookExecutionCommandOutput) => void), + cb?: (err: any, data?: StartNotebookExecutionCommandOutput) => void + ): Promise | void { + const command = new StartNotebookExecutionCommand(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); + } + } + + /** + *

                                                            Stops a notebook execution.

                                                            + */ + public stopNotebookExecution( + args: StopNotebookExecutionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public stopNotebookExecution( + args: StopNotebookExecutionCommandInput, + cb: (err: any, data?: StopNotebookExecutionCommandOutput) => void + ): void; + public stopNotebookExecution( + args: StopNotebookExecutionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StopNotebookExecutionCommandOutput) => void + ): void; + public stopNotebookExecution( + args: StopNotebookExecutionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StopNotebookExecutionCommandOutput) => void), + cb?: (err: any, data?: StopNotebookExecutionCommandOutput) => void + ): Promise | void { + const command = new StopNotebookExecutionCommand(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); + } + } + /** *

                                                            TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the cluster is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the cluster was created.

                                                            *

                                                            The maximum number of clusters allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 minutes for the cluster to completely terminate and release allocated resources, such as Amazon EC2 instances.

                                                            diff --git a/clients/client-emr/EMRClient.ts b/clients/client-emr/EMRClient.ts index f062297a36b7..a42930936214 100644 --- a/clients/client-emr/EMRClient.ts +++ b/clients/client-emr/EMRClient.ts @@ -13,6 +13,10 @@ import { } from "./commands/DeleteSecurityConfigurationCommand"; import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "./commands/DescribeClusterCommand"; import { DescribeJobFlowsCommandInput, DescribeJobFlowsCommandOutput } from "./commands/DescribeJobFlowsCommand"; +import { + DescribeNotebookExecutionCommandInput, + DescribeNotebookExecutionCommandOutput, +} from "./commands/DescribeNotebookExecutionCommand"; import { DescribeSecurityConfigurationCommandInput, DescribeSecurityConfigurationCommandOutput, @@ -34,6 +38,10 @@ import { ListClustersCommandInput, ListClustersCommandOutput } from "./commands/ import { ListInstanceFleetsCommandInput, ListInstanceFleetsCommandOutput } from "./commands/ListInstanceFleetsCommand"; import { ListInstanceGroupsCommandInput, ListInstanceGroupsCommandOutput } from "./commands/ListInstanceGroupsCommand"; import { ListInstancesCommandInput, ListInstancesCommandOutput } from "./commands/ListInstancesCommand"; +import { + ListNotebookExecutionsCommandInput, + ListNotebookExecutionsCommandOutput, +} from "./commands/ListNotebookExecutionsCommand"; import { ListSecurityConfigurationsCommandInput, ListSecurityConfigurationsCommandOutput, @@ -78,6 +86,14 @@ import { SetVisibleToAllUsersCommandInput, SetVisibleToAllUsersCommandOutput, } from "./commands/SetVisibleToAllUsersCommand"; +import { + StartNotebookExecutionCommandInput, + StartNotebookExecutionCommandOutput, +} from "./commands/StartNotebookExecutionCommand"; +import { + StopNotebookExecutionCommandInput, + StopNotebookExecutionCommandOutput, +} from "./commands/StopNotebookExecutionCommand"; import { TerminateJobFlowsCommandInput, TerminateJobFlowsCommandOutput } from "./commands/TerminateJobFlowsCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; import { @@ -138,6 +154,7 @@ export type ServiceInputTypes = | DeleteSecurityConfigurationCommandInput | DescribeClusterCommandInput | DescribeJobFlowsCommandInput + | DescribeNotebookExecutionCommandInput | DescribeSecurityConfigurationCommandInput | DescribeStepCommandInput | GetBlockPublicAccessConfigurationCommandInput @@ -147,6 +164,7 @@ export type ServiceInputTypes = | ListInstanceFleetsCommandInput | ListInstanceGroupsCommandInput | ListInstancesCommandInput + | ListNotebookExecutionsCommandInput | ListSecurityConfigurationsCommandInput | ListStepsCommandInput | ModifyClusterCommandInput @@ -161,6 +179,8 @@ export type ServiceInputTypes = | RunJobFlowCommandInput | SetTerminationProtectionCommandInput | SetVisibleToAllUsersCommandInput + | StartNotebookExecutionCommandInput + | StopNotebookExecutionCommandInput | TerminateJobFlowsCommandInput; export type ServiceOutputTypes = @@ -173,6 +193,7 @@ export type ServiceOutputTypes = | DeleteSecurityConfigurationCommandOutput | DescribeClusterCommandOutput | DescribeJobFlowsCommandOutput + | DescribeNotebookExecutionCommandOutput | DescribeSecurityConfigurationCommandOutput | DescribeStepCommandOutput | GetBlockPublicAccessConfigurationCommandOutput @@ -182,6 +203,7 @@ export type ServiceOutputTypes = | ListInstanceFleetsCommandOutput | ListInstanceGroupsCommandOutput | ListInstancesCommandOutput + | ListNotebookExecutionsCommandOutput | ListSecurityConfigurationsCommandOutput | ListStepsCommandOutput | ModifyClusterCommandOutput @@ -196,6 +218,8 @@ export type ServiceOutputTypes = | RunJobFlowCommandOutput | SetTerminationProtectionCommandOutput | SetVisibleToAllUsersCommandOutput + | StartNotebookExecutionCommandOutput + | StopNotebookExecutionCommandOutput | TerminateJobFlowsCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { diff --git a/clients/client-emr/commands/DescribeNotebookExecutionCommand.ts b/clients/client-emr/commands/DescribeNotebookExecutionCommand.ts new file mode 100644 index 000000000000..cc145f2da953 --- /dev/null +++ b/clients/client-emr/commands/DescribeNotebookExecutionCommand.ts @@ -0,0 +1,73 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { DescribeNotebookExecutionInput, DescribeNotebookExecutionOutput } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeNotebookExecutionCommand, + serializeAws_json1_1DescribeNotebookExecutionCommand, +} 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 DescribeNotebookExecutionCommandInput = DescribeNotebookExecutionInput; +export type DescribeNotebookExecutionCommandOutput = DescribeNotebookExecutionOutput & __MetadataBearer; + +export class DescribeNotebookExecutionCommand extends $Command< + DescribeNotebookExecutionCommandInput, + DescribeNotebookExecutionCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeNotebookExecutionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeNotebookExecutionInput.filterSensitiveLog, + outputFilterSensitiveLog: DescribeNotebookExecutionOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeNotebookExecutionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeNotebookExecutionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeNotebookExecutionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/ListNotebookExecutionsCommand.ts b/clients/client-emr/commands/ListNotebookExecutionsCommand.ts new file mode 100644 index 000000000000..d30a759129d2 --- /dev/null +++ b/clients/client-emr/commands/ListNotebookExecutionsCommand.ts @@ -0,0 +1,70 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { ListNotebookExecutionsInput, ListNotebookExecutionsOutput } from "../models/models_0"; +import { + deserializeAws_json1_1ListNotebookExecutionsCommand, + serializeAws_json1_1ListNotebookExecutionsCommand, +} 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 ListNotebookExecutionsCommandInput = ListNotebookExecutionsInput; +export type ListNotebookExecutionsCommandOutput = ListNotebookExecutionsOutput & __MetadataBearer; + +export class ListNotebookExecutionsCommand extends $Command< + ListNotebookExecutionsCommandInput, + ListNotebookExecutionsCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListNotebookExecutionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListNotebookExecutionsInput.filterSensitiveLog, + outputFilterSensitiveLog: ListNotebookExecutionsOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListNotebookExecutionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListNotebookExecutionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListNotebookExecutionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/StartNotebookExecutionCommand.ts b/clients/client-emr/commands/StartNotebookExecutionCommand.ts new file mode 100644 index 000000000000..70b791230190 --- /dev/null +++ b/clients/client-emr/commands/StartNotebookExecutionCommand.ts @@ -0,0 +1,70 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { StartNotebookExecutionInput, StartNotebookExecutionOutput } from "../models/models_0"; +import { + deserializeAws_json1_1StartNotebookExecutionCommand, + serializeAws_json1_1StartNotebookExecutionCommand, +} 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 StartNotebookExecutionCommandInput = StartNotebookExecutionInput; +export type StartNotebookExecutionCommandOutput = StartNotebookExecutionOutput & __MetadataBearer; + +export class StartNotebookExecutionCommand extends $Command< + StartNotebookExecutionCommandInput, + StartNotebookExecutionCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartNotebookExecutionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: StartNotebookExecutionInput.filterSensitiveLog, + outputFilterSensitiveLog: StartNotebookExecutionOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartNotebookExecutionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1StartNotebookExecutionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1StartNotebookExecutionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/commands/StopNotebookExecutionCommand.ts b/clients/client-emr/commands/StopNotebookExecutionCommand.ts new file mode 100644 index 000000000000..ced1f39fff26 --- /dev/null +++ b/clients/client-emr/commands/StopNotebookExecutionCommand.ts @@ -0,0 +1,70 @@ +import { EMRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EMRClient"; +import { StopNotebookExecutionInput } from "../models/models_0"; +import { + deserializeAws_json1_1StopNotebookExecutionCommand, + serializeAws_json1_1StopNotebookExecutionCommand, +} 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 StopNotebookExecutionCommandInput = StopNotebookExecutionInput; +export type StopNotebookExecutionCommandOutput = __MetadataBearer; + +export class StopNotebookExecutionCommand extends $Command< + StopNotebookExecutionCommandInput, + StopNotebookExecutionCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StopNotebookExecutionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EMRClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: StopNotebookExecutionInput.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StopNotebookExecutionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1StopNotebookExecutionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1StopNotebookExecutionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-emr/index.ts b/clients/client-emr/index.ts index 347f83fdf566..0a22a8107d98 100644 --- a/clients/client-emr/index.ts +++ b/clients/client-emr/index.ts @@ -9,6 +9,7 @@ export * from "./commands/CreateSecurityConfigurationCommand"; export * from "./commands/DeleteSecurityConfigurationCommand"; export * from "./commands/DescribeClusterCommand"; export * from "./commands/DescribeJobFlowsCommand"; +export * from "./commands/DescribeNotebookExecutionCommand"; export * from "./commands/DescribeSecurityConfigurationCommand"; export * from "./commands/DescribeStepCommand"; export * from "./commands/GetBlockPublicAccessConfigurationCommand"; @@ -23,6 +24,8 @@ export * from "./commands/ListInstanceGroupsCommand"; export * from "./pagination/ListInstanceGroupsPaginator"; export * from "./commands/ListInstancesCommand"; export * from "./pagination/ListInstancesPaginator"; +export * from "./commands/ListNotebookExecutionsCommand"; +export * from "./pagination/ListNotebookExecutionsPaginator"; export * from "./commands/ListSecurityConfigurationsCommand"; export * from "./pagination/ListSecurityConfigurationsPaginator"; export * from "./commands/ListStepsCommand"; @@ -39,6 +42,8 @@ export * from "./commands/RemoveTagsCommand"; export * from "./commands/RunJobFlowCommand"; export * from "./commands/SetTerminationProtectionCommand"; export * from "./commands/SetVisibleToAllUsersCommand"; +export * from "./commands/StartNotebookExecutionCommand"; +export * from "./commands/StopNotebookExecutionCommand"; export * from "./commands/TerminateJobFlowsCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-emr/models/models_0.ts b/clients/client-emr/models/models_0.ts index 095d5bc1f070..db71c6239f15 100644 --- a/clients/client-emr/models/models_0.ts +++ b/clients/client-emr/models/models_0.ts @@ -45,14 +45,14 @@ export namespace VolumeSpecification { */ export interface EbsBlockDeviceConfig { /** - *

                                                            EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

                                                            + *

                                                            Number of EBS volumes with a specific volume configuration that will be associated with every instance in the instance group

                                                            */ - VolumeSpecification: VolumeSpecification | undefined; + VolumesPerInstance?: number; /** - *

                                                            Number of EBS volumes with a specific volume configuration that will be associated with every instance in the instance group

                                                            + *

                                                            EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

                                                            */ - VolumesPerInstance?: number; + VolumeSpecification: VolumeSpecification | undefined; } export namespace EbsBlockDeviceConfig { @@ -123,27 +123,27 @@ export type SpotProvisioningTimeoutAction = "SWITCH_TO_ON_DEMAND" | "TERMINATE_C */ export interface SpotProvisioningSpecification { /** - *

                                                            The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

                                                            + *

                                                            The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

                                                            */ - TimeoutAction: SpotProvisioningTimeoutAction | string | undefined; + TimeoutDurationMinutes: number | undefined; /** - *

                                                            The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. + *

                                                            + * Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching. *

                                                            */ - BlockDurationMinutes?: number; + AllocationStrategy?: SpotProvisioningAllocationStrategy | string; /** - *

                                                            The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

                                                            + *

                                                            The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

                                                            */ - TimeoutDurationMinutes: number | undefined; + TimeoutAction: SpotProvisioningTimeoutAction | string | undefined; /** - *

                                                            - * Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching. + *

                                                            The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. *

                                                            */ - AllocationStrategy?: SpotProvisioningAllocationStrategy | string; + BlockDurationMinutes?: number; } export namespace SpotProvisioningSpecification { @@ -159,6 +159,11 @@ export namespace SpotProvisioningSpecification { *
                                                            */ export interface InstanceFleetProvisioningSpecifications { + /** + *

                                                            The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

                                                            + */ + SpotSpecification?: SpotProvisioningSpecification; + /** *

                                                            * The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy. @@ -168,11 +173,6 @@ export interface InstanceFleetProvisioningSpecifications { * */ OnDemandSpecification?: OnDemandProvisioningSpecification; - - /** - *

                                                            The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

                                                            - */ - SpotSpecification?: SpotProvisioningSpecification; } export namespace InstanceFleetProvisioningSpecifications { @@ -229,14 +229,14 @@ export interface InvalidRequestException extends __SmithyException, $MetadataBea name: "InvalidRequestException"; $fault: "client"; /** - *

                                                            The error code associated with the exception.

                                                            + *

                                                            The message associated with the exception.

                                                            */ - ErrorCode?: string; + Message?: string; /** - *

                                                            The message associated with the exception.

                                                            + *

                                                            The error code associated with the exception.

                                                            */ - Message?: string; + ErrorCode?: string; } export namespace InvalidRequestException { @@ -336,14 +336,14 @@ export enum ComparisonOperator { */ export interface MetricDimension { /** - *

                                                            The dimension name.

                                                            + *

                                                            The dimension value.

                                                            */ - Key?: string; + Value?: string; /** - *

                                                            The dimension value.

                                                            + *

                                                            The dimension name.

                                                            */ - Value?: string; + Key?: string; } export namespace MetricDimension { @@ -395,9 +395,9 @@ export enum Unit { */ export interface CloudWatchAlarmDefinition { /** - *

                                                            The period, in seconds, over which the statistic is applied. EMR CloudWatch metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch metric is specified, specify 300.

                                                            + *

                                                            The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce.

                                                            */ - Period: number | undefined; + Namespace?: string; /** *

                                                            The value against which the specified statistic is compared.

                                                            @@ -405,30 +405,20 @@ export interface CloudWatchAlarmDefinition { Threshold: number | undefined; /** - *

                                                            The number of periods, in five-minute increments, during which the alarm condition must exist before the alarm triggers automatic scaling activity. The default value is 1.

                                                            - */ - EvaluationPeriods?: number; - - /** - *

                                                            A CloudWatch metric dimension.

                                                            + *

                                                            The unit of measure associated with the CloudWatch metric being watched. The value specified for Unit must correspond to the units specified in the CloudWatch metric.

                                                            */ - Dimensions?: MetricDimension[]; + Unit?: Unit | string; /** - *

                                                            The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce.

                                                            + *

                                                            The period, in seconds, over which the statistic is applied. EMR CloudWatch metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch metric is specified, specify 300.

                                                            */ - Namespace?: string; + Period: number | undefined; /** *

                                                            Determines how the metric specified by MetricName is compared to the value specified by Threshold.

                                                            */ ComparisonOperator: ComparisonOperator | string | undefined; - /** - *

                                                            The unit of measure associated with the CloudWatch metric being watched. The value specified for Unit must correspond to the units specified in the CloudWatch metric.

                                                            - */ - Unit?: Unit | string; - /** *

                                                            The name of the CloudWatch metric that is watched to determine an alarm condition.

                                                            */ @@ -438,6 +428,16 @@ export interface CloudWatchAlarmDefinition { *

                                                            The statistic to apply to the metric associated with the alarm. The default is AVERAGE.

                                                            */ Statistic?: Statistic | string; + + /** + *

                                                            A CloudWatch metric dimension.

                                                            + */ + Dimensions?: MetricDimension[]; + + /** + *

                                                            The number of periods, in five-minute increments, during which the alarm condition must exist before the alarm triggers automatic scaling activity. The default value is 1.

                                                            + */ + EvaluationPeriods?: number; } export namespace CloudWatchAlarmDefinition { @@ -466,6 +466,11 @@ export namespace ScalingTrigger { *

                                                            A scale-in or scale-out rule that defines scaling activity, including the CloudWatch metric alarm that triggers activity, how EC2 instances are added or removed, and the periodicity of adjustments. The automatic scaling policy for an instance group can comprise one or more automatic scaling rules.

                                                            */ export interface ScalingRule { + /** + *

                                                            A friendly, more verbose description of the automatic scaling rule.

                                                            + */ + Description?: string; + /** *

                                                            The CloudWatch alarm definition that determines when automatic scaling activity is triggered.

                                                            */ @@ -476,11 +481,6 @@ export interface ScalingRule { */ Name: string | undefined; - /** - *

                                                            A friendly, more verbose description of the automatic scaling rule.

                                                            - */ - Description?: string; - /** *

                                                            The conditions that trigger an automatic scaling activity.

                                                            */ @@ -582,14 +582,14 @@ export namespace KeyValue { */ export interface HadoopJarStepConfig { /** - *

                                                            The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.

                                                            + *

                                                            A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

                                                            */ - MainClass?: string; + Properties?: KeyValue[]; /** - *

                                                            A path to a JAR file run during the step.

                                                            + *

                                                            The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.

                                                            */ - Jar: string | undefined; + MainClass?: string; /** *

                                                            A list of command line arguments passed to the JAR file's main function when executed.

                                                            @@ -597,9 +597,9 @@ export interface HadoopJarStepConfig { Args?: string[]; /** - *

                                                            A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

                                                            + *

                                                            A path to a JAR file run during the step.

                                                            */ - Properties?: KeyValue[]; + Jar: string | undefined; } export namespace HadoopJarStepConfig { @@ -613,14 +613,14 @@ export namespace HadoopJarStepConfig { */ export interface StepConfig { /** - *

                                                            The JAR file used for the step.

                                                            + *

                                                            The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

                                                            */ - HadoopJarStep: HadoopJarStepConfig | undefined; + ActionOnFailure?: ActionOnFailure | string; /** - *

                                                            The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

                                                            + *

                                                            The JAR file used for the step.

                                                            */ - ActionOnFailure?: ActionOnFailure | string; + HadoopJarStep: HadoopJarStepConfig | undefined; /** *

                                                            The name of the step.

                                                            @@ -783,14 +783,14 @@ export enum AutoScalingPolicyStateChangeReasonCode { */ export interface AutoScalingPolicyStateChangeReason { /** - *

                                                            The code indicating the reason for the change in status.USER_REQUEST indicates that the scaling policy status was changed by a user. PROVISION_FAILURE indicates that the status change was because the policy failed to provision. CLEANUP_FAILURE indicates an error.

                                                            + *

                                                            A friendly, more verbose message that accompanies an automatic scaling policy state change.

                                                            */ - Code?: AutoScalingPolicyStateChangeReasonCode | string; + Message?: string; /** - *

                                                            A friendly, more verbose message that accompanies an automatic scaling policy state change.

                                                            + *

                                                            The code indicating the reason for the change in status.USER_REQUEST indicates that the scaling policy status was changed by a user. PROVISION_FAILURE indicates that the status change was because the policy failed to provision. CLEANUP_FAILURE indicates an error.

                                                            */ - Message?: string; + Code?: AutoScalingPolicyStateChangeReasonCode | string; } export namespace AutoScalingPolicyStateChangeReason { @@ -824,6 +824,11 @@ export namespace AutoScalingPolicyStatus { *

                                                            An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

                                                            */ export interface AutoScalingPolicyDescription { + /** + *

                                                            The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits.

                                                            + */ + Constraints?: ScalingConstraints; + /** *

                                                            The status of an automatic scaling policy.

                                                            */ @@ -833,11 +838,6 @@ export interface AutoScalingPolicyDescription { *

                                                            The scale-in and scale-out rules that comprise the automatic scaling policy.

                                                            */ Rules?: ScalingRule[]; - - /** - *

                                                            The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits.

                                                            - */ - Constraints?: ScalingConstraints; } export namespace AutoScalingPolicyDescription { @@ -853,12 +853,12 @@ export interface PortRange { /** *

                                                            The smallest port number in a specified range of port numbers.

                                                            */ - MaxRange?: number; + MinRange: number | undefined; /** *

                                                            The smallest port number in a specified range of port numbers.

                                                            */ - MinRange: number | undefined; + MaxRange?: number; } export namespace PortRange { @@ -893,14 +893,14 @@ export namespace BlockPublicAccessConfigurationMetadata { */ export interface ScriptBootstrapActionConfig { /** - *

                                                            A list of command line arguments to pass to the bootstrap action script.

                                                            + *

                                                            Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.

                                                            */ - Args?: string[]; + Path: string | undefined; /** - *

                                                            Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.

                                                            + *

                                                            A list of command line arguments to pass to the bootstrap action script.

                                                            */ - Path: string | undefined; + Args?: string[]; } export namespace ScriptBootstrapActionConfig { @@ -914,14 +914,14 @@ export namespace ScriptBootstrapActionConfig { */ export interface BootstrapActionConfig { /** - *

                                                            The script run by the bootstrap action.

                                                            + *

                                                            The name of the bootstrap action.

                                                            */ - ScriptBootstrapAction: ScriptBootstrapActionConfig | undefined; + Name: string | undefined; /** - *

                                                            The name of the bootstrap action.

                                                            + *

                                                            The script run by the bootstrap action.

                                                            */ - Name: string | undefined; + ScriptBootstrapAction: ScriptBootstrapActionConfig | undefined; } export namespace BootstrapActionConfig { @@ -953,14 +953,14 @@ export type StepCancellationOption = "SEND_INTERRUPT" | "TERMINATE_PROCESS"; */ export interface CancelStepsInput { /** - *

                                                            The ClusterID for which specified steps will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

                                                            + *

                                                            The list of StepIDs to cancel. Use ListSteps to get steps and their states for the specified cluster.

                                                            */ - ClusterId: string | undefined; + StepIds: string[] | undefined; /** - *

                                                            The list of StepIDs to cancel. Use ListSteps to get steps and their states for the specified cluster.

                                                            + *

                                                            The ClusterID for which specified steps will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

                                                            */ - StepIds: string[] | undefined; + ClusterId: string | undefined; /** *

                                                            The option to choose for cancelling RUNNING steps. By default, the value is SEND_INTERRUPT.

                                                            @@ -984,14 +984,14 @@ export enum CancelStepsRequestStatus { */ export interface CancelStepsInfo { /** - *

                                                            The encrypted StepId of a step.

                                                            + *

                                                            The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.

                                                            */ - StepId?: string; + Status?: CancelStepsRequestStatus | string; /** - *

                                                            The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.

                                                            + *

                                                            The encrypted StepId of a step.

                                                            */ - Status?: CancelStepsRequestStatus | string; + StepId?: string; /** *

                                                            The reason for the failure if the CancelSteps request fails.

                                                            @@ -1025,16 +1025,6 @@ export namespace CancelStepsOutput { *

                                                            Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

                                                            */ export interface Ec2InstanceAttributes { - /** - *

                                                            Set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value, and your account supports EC2-Classic, the cluster launches in EC2-Classic.

                                                            - */ - Ec2SubnetId?: string; - - /** - *

                                                            The identifier of the Amazon EC2 security group for the master node.

                                                            - */ - EmrManagedMasterSecurityGroup?: string; - /** *

                                                            The name of the Amazon EC2 key pair to use when connecting with SSH into the master node as a user named "hadoop".

                                                            */ @@ -1046,9 +1036,9 @@ export interface Ec2InstanceAttributes { EmrManagedSlaveSecurityGroup?: string; /** - *

                                                            Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and Region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

                                                            + *

                                                            The IAM role that was specified when the cluster was launched. The EC2 instances of the cluster assume this role.

                                                            */ - RequestedEc2SubnetIds?: string[]; + IamInstanceProfile?: string; /** *

                                                            Applies to clusters configured with the instance fleets option. Specifies one or more Availability Zones in which to launch EC2 cluster instances when the EC2-Classic network configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, and then launches all cluster instances within that Availability Zone. If you do not specify this value, Amazon EMR chooses the Availability Zone for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

                                                            @@ -1056,29 +1046,39 @@ export interface Ec2InstanceAttributes { RequestedEc2AvailabilityZones?: string[]; /** - *

                                                            The Availability Zone in which the cluster will run.

                                                            + *

                                                            Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and Region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

                                                            */ - Ec2AvailabilityZone?: string; + RequestedEc2SubnetIds?: string[]; /** - *

                                                            The IAM role that was specified when the cluster was launched. The EC2 instances of the cluster assume this role.

                                                            + *

                                                            Set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value, and your account supports EC2-Classic, the cluster launches in EC2-Classic.

                                                            */ - IamInstanceProfile?: string; + Ec2SubnetId?: string; /** *

                                                            A list of additional Amazon EC2 security group IDs for the core and task nodes.

                                                            */ AdditionalSlaveSecurityGroups?: string[]; + /** + *

                                                            The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

                                                            + */ + ServiceAccessSecurityGroup?: string; + + /** + *

                                                            The Availability Zone in which the cluster will run.

                                                            + */ + Ec2AvailabilityZone?: string; + /** *

                                                            A list of additional Amazon EC2 security group IDs for the master node.

                                                            */ AdditionalMasterSecurityGroups?: string[]; /** - *

                                                            The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

                                                            + *

                                                            The identifier of the Amazon EC2 security group for the master node.

                                                            */ - ServiceAccessSecurityGroup?: string; + EmrManagedMasterSecurityGroup?: string; } export namespace Ec2InstanceAttributes { @@ -1129,6 +1129,37 @@ export namespace KerberosAttributes { }); } +export enum PlacementGroupStrategy { + CLUSTER = "CLUSTER", + NONE = "NONE", + PARTITION = "PARTITION", + SPREAD = "SPREAD", +} + +/** + *

                                                            Placement group configuration for an Amazon EMR cluster. The configuration specifies the placement strategy that can be applied to instance roles during cluster creation.

                                                            + *

                                                            To use this configuration, consider attaching managed policy AmazonElasticMapReducePlacementGroupPolicy to the EMR role.

                                                            + */ +export interface PlacementGroupConfig { + /** + *

                                                            Role of the instance in the cluster.

                                                            + *

                                                            Starting with Amazon EMR version 5.23.0, the only supported instance role is MASTER.

                                                            + */ + InstanceRole: InstanceRoleType | string | undefined; + + /** + *

                                                            EC2 Placement Group strategy associated with instance role.

                                                            + *

                                                            Starting with Amazon EMR version 5.23.0, the only supported placement strategy is SPREAD for the MASTER instance role.

                                                            + */ + PlacementStrategy?: PlacementGroupStrategy | string; +} + +export namespace PlacementGroupConfig { + export const filterSensitiveLog = (obj: PlacementGroupConfig): any => ({ + ...obj, + }); +} + export enum RepoUpgradeOnBoot { NONE = "NONE", SECURITY = "SECURITY", @@ -1165,14 +1196,14 @@ export enum ClusterStateChangeReasonCode { */ export interface ClusterStateChangeReason { /** - *

                                                            The programmatic code for the state change reason.

                                                            + *

                                                            The descriptive message for the state change reason.

                                                            */ - Code?: ClusterStateChangeReasonCode | string; + Message?: string; /** - *

                                                            The descriptive message for the state change reason.

                                                            + *

                                                            The programmatic code for the state change reason.

                                                            */ - Message?: string; + Code?: ClusterStateChangeReasonCode | string; } export namespace ClusterStateChangeReason { @@ -1191,14 +1222,14 @@ export interface ClusterTimeline { ReadyDateTime?: Date; /** - *

                                                            The date and time when the cluster was terminated.

                                                            + *

                                                            The creation date and time of the cluster.

                                                            */ - EndDateTime?: Date; + CreationDateTime?: Date; /** - *

                                                            The creation date and time of the cluster.

                                                            + *

                                                            The date and time when the cluster was terminated.

                                                            */ - CreationDateTime?: Date; + EndDateTime?: Date; } export namespace ClusterTimeline { @@ -1238,25 +1269,15 @@ export namespace ClusterStatus { */ export interface ClusterSummary { /** - *

                                                            An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

                                                            - */ - NormalizedInstanceHours?: number; - - /** - *

                                                            The name of the cluster.

                                                            + *

                                                            The Amazon Resource Name of the cluster.

                                                            */ - Name?: string; + ClusterArn?: string; /** *

                                                            The unique identifier for the cluster.

                                                            */ Id?: string; - /** - *

                                                            The Amazon Resource Name of the cluster.

                                                            - */ - ClusterArn?: string; - /** *

                                                            * The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. @@ -1268,12 +1289,22 @@ export interface ClusterSummary { *

                                                            The details about the current status of the cluster.

                                                            */ Status?: ClusterStatus; -} -export namespace ClusterSummary { - export const filterSensitiveLog = (obj: ClusterSummary): any => ({ - ...obj, - }); + /** + *

                                                            The name of the cluster.

                                                            + */ + Name?: string; + + /** + *

                                                            An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

                                                            + */ + NormalizedInstanceHours?: number; +} + +export namespace ClusterSummary { + export const filterSensitiveLog = (obj: ClusterSummary): any => ({ + ...obj, + }); } /** @@ -1323,17 +1354,17 @@ export interface ComputeLimits { /** *

                                                            - * The upper boundary of EC2 units for core node type in a cluster. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes. + * The upper boundary of On-Demand EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The On-Demand units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between On-Demand and Spot instances. *

                                                            */ - MaximumCoreCapacityUnits?: number; + MaximumOnDemandCapacityUnits?: number; /** *

                                                            - * The upper boundary of On-Demand EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The On-Demand units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between On-Demand and Spot instances. + * The upper boundary of EC2 units for core node type in a cluster. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes. *

                                                            */ - MaximumOnDemandCapacityUnits?: number; + MaximumCoreCapacityUnits?: number; /** *

                                                            @@ -1444,25 +1475,25 @@ export enum JobFlowExecutionState { *

                                                            The input for the DescribeJobFlows operation.

                                                            */ export interface DescribeJobFlowsInput { - /** - *

                                                            Return only job flows whose state is contained in this list.

                                                            - */ - JobFlowStates?: (JobFlowExecutionState | string)[]; - /** *

                                                            Return only job flows created before this date and time.

                                                            */ CreatedBefore?: Date; /** - *

                                                            Return only job flows whose job flow ID is contained in this list.

                                                            + *

                                                            Return only job flows whose state is contained in this list.

                                                            */ - JobFlowIds?: string[]; + JobFlowStates?: (JobFlowExecutionState | string)[]; /** *

                                                            Return only job flows created after this date and time.

                                                            */ CreatedAfter?: Date; + + /** + *

                                                            Return only job flows whose job flow ID is contained in this list.

                                                            + */ + JobFlowIds?: string[]; } export namespace DescribeJobFlowsInput { @@ -1486,9 +1517,9 @@ export interface JobFlowExecutionStatusDetail { ReadyDateTime?: Date; /** - *

                                                            The completion date and time of the job flow.

                                                            + *

                                                            Description of the job flow last changed state.

                                                            */ - EndDateTime?: Date; + LastStateChangeReason?: string; /** *

                                                            The start date and time of the job flow.

                                                            @@ -1501,9 +1532,9 @@ export interface JobFlowExecutionStatusDetail { CreationDateTime: Date | undefined; /** - *

                                                            Description of the job flow last changed state.

                                                            + *

                                                            The completion date and time of the job flow.

                                                            */ - LastStateChangeReason?: string; + EndDateTime?: Date; } export namespace JobFlowExecutionStatusDetail { @@ -1531,74 +1562,74 @@ export enum InstanceGroupState { */ export interface InstanceGroupDetail { /** - *

                                                            Details regarding the state of the instance group.

                                                            + *

                                                            Friendly name for the instance group.

                                                            */ - LastStateChangeReason?: string; + Name?: string; /** - *

                                                            The date/time the instance group was terminated.

                                                            + *

                                                            State of instance group. The following values are deprecated: STARTING, TERMINATED, and FAILED.

                                                            */ - EndDateTime?: Date; + State: InstanceGroupState | string | undefined; /** - *

                                                            Instance group role in the cluster

                                                            + *

                                                            The date/time the instance group was created.

                                                            */ - InstanceRole: InstanceRoleType | string | undefined; + CreationDateTime: Date | undefined; /** - *

                                                            Actual count of running instances.

                                                            + *

                                                            EC2 instance type.

                                                            */ - InstanceRunningCount: number | undefined; + InstanceType: string | undefined; /** - *

                                                            Unique identifier for the instance group.

                                                            + *

                                                            Target number of instances to run in the instance group.

                                                            */ - InstanceGroupId?: string; + InstanceRequestCount: number | undefined; /** - *

                                                            The date/time the instance group was available to the cluster.

                                                            + *

                                                            Details regarding the state of the instance group.

                                                            */ - ReadyDateTime?: Date; + LastStateChangeReason?: string; /** - *

                                                            Friendly name for the instance group.

                                                            + *

                                                            Unique identifier for the instance group.

                                                            */ - Name?: string; + InstanceGroupId?: string; /** - *

                                                            Target number of instances to run in the instance group.

                                                            + *

                                                            Instance group role in the cluster

                                                            */ - InstanceRequestCount: number | undefined; + InstanceRole: InstanceRoleType | string | undefined; /** - *

                                                            State of instance group. The following values are deprecated: STARTING, TERMINATED, and FAILED.

                                                            + *

                                                            Actual count of running instances.

                                                            */ - State: InstanceGroupState | string | undefined; + InstanceRunningCount: number | undefined; /** - *

                                                            Market type of the EC2 instances used to create a cluster node.

                                                            + *

                                                            The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

                                                            */ - Market: MarketType | string | undefined; + BidPrice?: string; /** - *

                                                            The date/time the instance group was started.

                                                            + *

                                                            The date/time the instance group was terminated.

                                                            */ - StartDateTime?: Date; + EndDateTime?: Date; /** - *

                                                            The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

                                                            + *

                                                            The date/time the instance group was started.

                                                            */ - BidPrice?: string; + StartDateTime?: Date; /** - *

                                                            EC2 instance type.

                                                            + *

                                                            Market type of the EC2 instances used to create a cluster node.

                                                            */ - InstanceType: string | undefined; + Market: MarketType | string | undefined; /** - *

                                                            The date/time the instance group was created.

                                                            + *

                                                            The date/time the instance group was available to the cluster.

                                                            */ - CreationDateTime: Date | undefined; + ReadyDateTime?: Date; } export namespace InstanceGroupDetail { @@ -1635,25 +1666,15 @@ export namespace PlacementType { *

                                                            Specify the type of Amazon EC2 instances that the cluster (job flow) runs on.

                                                            */ export interface JobFlowInstancesDetail { - /** - *

                                                            The Hadoop version for the cluster.

                                                            - */ - HadoopVersion?: string; - - /** - *

                                                            The Amazon EC2 Availability Zone for the cluster.

                                                            - */ - Placement?: PlacementType; - /** *

                                                            The Amazon EC2 instance identifier of the master node.

                                                            */ MasterInstanceId?: string; /** - *

                                                            For clusters launched within Amazon Virtual Private Cloud, this is the identifier of the subnet where the cluster was launched.

                                                            + *

                                                            The Amazon EC2 core and task node instance type.

                                                            */ - Ec2SubnetId?: string; + SlaveInstanceType: string | undefined; /** *

                                                            The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance serves as both the master and core and task node. If the value is greater than 1, one instance is the master node and all others are core and task nodes.

                                                            @@ -1661,9 +1682,9 @@ export interface JobFlowInstancesDetail { InstanceCount: number | undefined; /** - *

                                                            The Amazon EC2 core and task node instance type.

                                                            + *

                                                            The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

                                                            */ - SlaveInstanceType: string | undefined; + MasterPublicDnsName?: string; /** *

                                                            The Amazon EC2 master node instance type.

                                                            @@ -1671,14 +1692,24 @@ export interface JobFlowInstancesDetail { MasterInstanceType: string | undefined; /** - *

                                                            An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour that an m1.small runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

                                                            + *

                                                            The Hadoop version for the cluster.

                                                            */ - NormalizedInstanceHours?: number; + HadoopVersion?: string; /** - *

                                                            The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

                                                            + *

                                                            For clusters launched within Amazon Virtual Private Cloud, this is the identifier of the subnet where the cluster was launched.

                                                            */ - MasterPublicDnsName?: string; + Ec2SubnetId?: string; + + /** + *

                                                            The name of an Amazon EC2 key pair that can be used to ssh to the master node.

                                                            + */ + Ec2KeyName?: string; + + /** + *

                                                            Specifies whether the cluster should remain available after completing all steps.

                                                            + */ + KeepJobFlowAliveWhenNoSteps?: boolean; /** *

                                                            Details about the instance groups in a cluster.

                                                            @@ -1691,14 +1722,14 @@ export interface JobFlowInstancesDetail { TerminationProtected?: boolean; /** - *

                                                            The name of an Amazon EC2 key pair that can be used to ssh to the master node.

                                                            + *

                                                            An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour that an m1.small runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

                                                            */ - Ec2KeyName?: string; + NormalizedInstanceHours?: number; /** - *

                                                            Specifies whether the cluster should remain available after completing all steps.

                                                            + *

                                                            The Amazon EC2 Availability Zone for the cluster.

                                                            */ - KeepJobFlowAliveWhenNoSteps?: boolean; + Placement?: PlacementType; } export namespace JobFlowInstancesDetail { @@ -1720,6 +1751,11 @@ export type StepExecutionState = *

                                                            The execution state of a step.

                                                            */ export interface StepExecutionStatusDetail { + /** + *

                                                            The state of the step.

                                                            + */ + State: StepExecutionState | string | undefined; + /** *

                                                            The start date and time of the step.

                                                            */ @@ -1735,11 +1771,6 @@ export interface StepExecutionStatusDetail { */ LastStateChangeReason?: string; - /** - *

                                                            The state of the step.

                                                            - */ - State: StepExecutionState | string | undefined; - /** *

                                                            The creation date and time of the step.

                                                            */ @@ -1757,14 +1788,14 @@ export namespace StepExecutionStatusDetail { */ export interface StepDetail { /** - *

                                                            The description of the step status.

                                                            + *

                                                            The step configuration.

                                                            */ - ExecutionStatusDetail: StepExecutionStatusDetail | undefined; + StepConfig: StepConfig | undefined; /** - *

                                                            The step configuration.

                                                            + *

                                                            The description of the step status.

                                                            */ - StepConfig: StepConfig | undefined; + ExecutionStatusDetail: StepExecutionStatusDetail | undefined; } export namespace StepDetail { @@ -1778,79 +1809,79 @@ export namespace StepDetail { */ export interface JobFlowDetail { /** - *

                                                            Describes the execution status of the job flow.

                                                            + *

                                                            The name of the job flow.

                                                            */ - ExecutionStatusDetail: JobFlowExecutionStatusDetail | undefined; + Name: string | undefined; /** - *

                                                            A list of the bootstrap actions run by the job flow.

                                                            + *

                                                            The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.

                                                            */ - BootstrapActions?: BootstrapActionDetail[]; + JobFlowRole?: string; /** - *

                                                            The job flow identifier.

                                                            + *

                                                            The location in Amazon S3 where log files for the job are stored.

                                                            */ - JobFlowId: string | undefined; + LogUri?: string; /** - *

                                                            Describes the Amazon EC2 instances of the job flow.

                                                            + *

                                                            An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic scaling feature to get the required permissions it needs to launch and terminate EC2 instances in an instance group.

                                                            */ - Instances: JobFlowInstancesDetail | undefined; + AutoScalingRole?: string; /** - *

                                                            The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

                                                            + *

                                                            Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

                                                            */ - ScaleDownBehavior?: ScaleDownBehavior | string; + VisibleToAllUsers?: boolean; /** - *

                                                            A list of steps run by the job flow.

                                                            + *

                                                            The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

                                                            */ - Steps?: StepDetail[]; + LogEncryptionKmsKeyId?: string; /** - *

                                                            The name of the job flow.

                                                            + *

                                                            Describes the execution status of the job flow.

                                                            */ - Name: string | undefined; + ExecutionStatusDetail: JobFlowExecutionStatusDetail | undefined; /** - *

                                                            The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.

                                                            + *

                                                            A list of strings set by third party software when the job flow is launched. If you are not using third party software to manage the job flow this value is empty.

                                                            */ - JobFlowRole?: string; + SupportedProducts?: string[]; /** - *

                                                            Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

                                                            + *

                                                            The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

                                                            */ - AmiVersion?: string; + ServiceRole?: string; /** - *

                                                            The location in Amazon S3 where log files for the job are stored.

                                                            + *

                                                            A list of the bootstrap actions run by the job flow.

                                                            */ - LogUri?: string; + BootstrapActions?: BootstrapActionDetail[]; /** - *

                                                            An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic scaling feature to get the required permissions it needs to launch and terminate EC2 instances in an instance group.

                                                            + *

                                                            A list of steps run by the job flow.

                                                            */ - AutoScalingRole?: string; + Steps?: StepDetail[]; /** - *

                                                            Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

                                                            + *

                                                            The job flow identifier.

                                                            */ - VisibleToAllUsers?: boolean; + JobFlowId: string | undefined; /** - *

                                                            The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

                                                            + *

                                                            Describes the Amazon EC2 instances of the job flow.

                                                            */ - ServiceRole?: string; + Instances: JobFlowInstancesDetail | undefined; /** - *

                                                            A list of strings set by third party software when the job flow is launched. If you are not using third party software to manage the job flow this value is empty.

                                                            + *

                                                            Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

                                                            */ - SupportedProducts?: string[]; + AmiVersion?: string; /** - *

                                                            The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

                                                            + *

                                                            The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

                                                            */ - LogEncryptionKmsKeyId?: string; + ScaleDownBehavior?: ScaleDownBehavior | string; } export namespace JobFlowDetail { @@ -1875,77 +1906,264 @@ export namespace DescribeJobFlowsOutput { }); } -export interface DescribeSecurityConfigurationInput { +export interface DescribeNotebookExecutionInput { /** - *

                                                            The name of the security configuration.

                                                            + *

                                                            The unique identifier of the notebook execution.

                                                            */ - Name: string | undefined; + NotebookExecutionId: string | undefined; } -export namespace DescribeSecurityConfigurationInput { - export const filterSensitiveLog = (obj: DescribeSecurityConfigurationInput): any => ({ +export namespace DescribeNotebookExecutionInput { + export const filterSensitiveLog = (obj: DescribeNotebookExecutionInput): any => ({ ...obj, }); } -export interface DescribeSecurityConfigurationOutput { +export enum ExecutionEngineType { + EMR = "EMR", +} + +/** + *

                                                            Specifies the execution engine (cluster) to run the notebook and perform the notebook execution, for example, an EMR cluster.

                                                            + */ +export interface ExecutionEngineConfig { /** - *

                                                            The name of the security configuration.

                                                            + *

                                                            An optional unique ID of an EC2 security group to associate with the master instance of the EMR cluster for this notebook execution. For more information see Specifying EC2 Security Groups for EMR Notebooks in the EMR Management Guide.

                                                            */ - Name?: string; + MasterInstanceSecurityGroupId?: string; /** - *

                                                            The security configuration details in JSON format.

                                                            + *

                                                            The unique identifier of the execution engine. For an EMR cluster, this is the cluster ID.

                                                            */ - SecurityConfiguration?: string; + Id: string | undefined; /** - *

                                                            The date and time the security configuration was created

                                                            + *

                                                            The type of execution engine. A value of EMR specifies an EMR cluster.

                                                            */ - CreationDateTime?: Date; + Type?: ExecutionEngineType | string; } -export namespace DescribeSecurityConfigurationOutput { - export const filterSensitiveLog = (obj: DescribeSecurityConfigurationOutput): any => ({ +export namespace ExecutionEngineConfig { + export const filterSensitiveLog = (obj: ExecutionEngineConfig): any => ({ ...obj, }); } +export enum NotebookExecutionStatus { + FAILED = "FAILED", + FAILING = "FAILING", + FINISHED = "FINISHED", + FINISHING = "FINISHING", + RUNNING = "RUNNING", + STARTING = "STARTING", + START_PENDING = "START_PENDING", + STOPPED = "STOPPED", + STOPPING = "STOPPING", + STOP_PENDING = "STOP_PENDING", +} + /** - *

                                                            This input determines which step to describe.

                                                            + *

                                                            A notebook execution. An execution is a specific instance that an EMR Notebook is run using the StartNotebookExecution action.

                                                            */ -export interface DescribeStepInput { +export interface NotebookExecution { /** - *

                                                            The identifier of the step to describe.

                                                            + *

                                                            The timestamp when notebook execution ended.

                                                            */ - StepId: string | undefined; + EndTime?: Date; /** - *

                                                            The identifier of the cluster with steps to describe.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the notebook execution.

                                                            */ - ClusterId: string | undefined; -} + Arn?: string; -export namespace DescribeStepInput { - export const filterSensitiveLog = (obj: DescribeStepInput): any => ({ - ...obj, + /** + *

                                                            The unique identifier of the EC2 security group associated with the EMR Notebook instance. For more information see Specifying EC2 Security Groups for EMR Notebooks in the EMR Management Guide.

                                                            + */ + NotebookInstanceSecurityGroupId?: string; + + /** + *

                                                            The unique identifier of a notebook execution.

                                                            + */ + NotebookExecutionId?: string; + + /** + *

                                                            The unique identifier of the EMR Notebook that is used for the notebook execution.

                                                            + */ + EditorId?: string; + + /** + *

                                                            The execution engine, such as an EMR cluster, used to run the EMR notebook and perform the notebook execution.

                                                            + */ + ExecutionEngine?: ExecutionEngineConfig; + + /** + *

                                                            The status of the notebook execution.

                                                            + *
                                                              + *
                                                            • + *

                                                              + * START_PENDING indicates that the cluster has received the execution request but execution has not begun.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STARTING indicates that the execution is starting on the cluster.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * RUNNING indicates that the execution is being processed by the cluster.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FINISHING indicates that execution processing is in the final stages.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FINISHED indicates that the execution has completed without error.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FAILING indicates that the execution is failing and will not finish successfully.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FAILED indicates that the execution failed.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STOP_PENDING indicates that the cluster has received a StopNotebookExecution request and the stop is pending.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STOPPING indicates that the cluster is in the process of stopping the execution as a result of a StopNotebookExecution request.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STOPPED indicates that the execution stopped because of a StopNotebookExecution request.

                                                              + *
                                                            • + *
                                                            + */ + Status?: NotebookExecutionStatus | string; + + /** + *

                                                            The reason for the latest status change of the notebook execution.

                                                            + */ + LastStateChangeReason?: string; + + /** + *

                                                            The location of the notebook execution's output file in Amazon S3.

                                                            + */ + OutputNotebookURI?: string; + + /** + *

                                                            Input parameters in JSON format passed to the EMR Notebook at runtime for execution.

                                                            + */ + NotebookParams?: string; + + /** + *

                                                            A name for the notebook execution.

                                                            + */ + NotebookExecutionName?: string; + + /** + *

                                                            A list of tags associated with a notebook execution. Tags are user-defined key value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

                                                            + */ + Tags?: Tag[]; + + /** + *

                                                            The timestamp when notebook execution started.

                                                            + */ + StartTime?: Date; +} + +export namespace NotebookExecution { + export const filterSensitiveLog = (obj: NotebookExecution): any => ({ + ...obj, + }); +} + +export interface DescribeNotebookExecutionOutput { + /** + *

                                                            Properties of the notebook execution.

                                                            + */ + NotebookExecution?: NotebookExecution; +} + +export namespace DescribeNotebookExecutionOutput { + export const filterSensitiveLog = (obj: DescribeNotebookExecutionOutput): any => ({ + ...obj, + }); +} + +export interface DescribeSecurityConfigurationInput { + /** + *

                                                            The name of the security configuration.

                                                            + */ + Name: string | undefined; +} + +export namespace DescribeSecurityConfigurationInput { + export const filterSensitiveLog = (obj: DescribeSecurityConfigurationInput): any => ({ + ...obj, + }); +} + +export interface DescribeSecurityConfigurationOutput { + /** + *

                                                            The name of the security configuration.

                                                            + */ + Name?: string; + + /** + *

                                                            The security configuration details in JSON format.

                                                            + */ + SecurityConfiguration?: string; + + /** + *

                                                            The date and time the security configuration was created

                                                            + */ + CreationDateTime?: Date; +} + +export namespace DescribeSecurityConfigurationOutput { + export const filterSensitiveLog = (obj: DescribeSecurityConfigurationOutput): any => ({ + ...obj, }); } /** - *

                                                            A cluster step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.

                                                            + *

                                                            This input determines which step to describe.

                                                            */ -export interface HadoopStepConfig { +export interface DescribeStepInput { /** - *

                                                            The list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

                                                            + *

                                                            The identifier of the cluster with steps to describe.

                                                            */ - Properties?: { [key: string]: string }; + ClusterId: string | undefined; + + /** + *

                                                            The identifier of the step to describe.

                                                            + */ + StepId: string | undefined; +} + +export namespace DescribeStepInput { + export const filterSensitiveLog = (obj: DescribeStepInput): any => ({ + ...obj, + }); +} +/** + *

                                                            A cluster step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.

                                                            + */ +export interface HadoopStepConfig { /** *

                                                            The name of the main class in the specified Java file. If not specified, the JAR file should specify a main class in its manifest file.

                                                            */ MainClass?: string; + /** + *

                                                            The list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

                                                            + */ + Properties?: { [key: string]: string }; + /** *

                                                            The list of command line arguments to pass to the JAR file's main function for execution.

                                                            */ @@ -1967,11 +2185,6 @@ export namespace HadoopStepConfig { *

                                                            The details of the step failure. The service attempts to detect the root cause for many common failures.

                                                            */ export interface FailureDetails { - /** - *

                                                            The path to the log file where the step failure root cause was originally recorded.

                                                            - */ - LogFile?: string; - /** *

                                                            The reason for the step failure. In the case where the service cannot successfully determine the root cause of the failure, it returns "Unknown Error" as a reason.

                                                            */ @@ -1981,6 +2194,11 @@ export interface FailureDetails { *

                                                            The descriptive message including the error the EMR service has identified as the cause of step failure. This is text from an error log that describes the root cause of the failure.

                                                            */ Message?: string; + + /** + *

                                                            The path to the log file where the step failure root cause was originally recorded.

                                                            + */ + LogFile?: string; } export namespace FailureDetails { @@ -2026,11 +2244,6 @@ export namespace StepStateChangeReason { *

                                                            The timeline of the cluster step lifecycle.

                                                            */ export interface StepTimeline { - /** - *

                                                            The date and time when the cluster step execution started.

                                                            - */ - StartDateTime?: Date; - /** *

                                                            The date and time when the cluster step execution completed or failed.

                                                            */ @@ -2040,6 +2253,11 @@ export interface StepTimeline { *

                                                            The date and time when the cluster step was created.

                                                            */ CreationDateTime?: Date; + + /** + *

                                                            The date and time when the cluster step execution started.

                                                            + */ + StartDateTime?: Date; } export namespace StepTimeline { @@ -2058,14 +2276,14 @@ export interface StepStatus { StateChangeReason?: StepStateChangeReason; /** - *

                                                            The execution state of the cluster step.

                                                            + *

                                                            The timeline of the cluster step status over time.

                                                            */ - State?: StepState | string; + Timeline?: StepTimeline; /** - *

                                                            The timeline of the cluster step status over time.

                                                            + *

                                                            The execution state of the cluster step.

                                                            */ - Timeline?: StepTimeline; + State?: StepState | string; /** *

                                                            The details for the step failure including reason, message, and log file path where the root cause was identified.

                                                            @@ -2083,6 +2301,11 @@ export namespace StepStatus { *

                                                            This represents a step in a cluster.

                                                            */ export interface Step { + /** + *

                                                            The identifier of the cluster step.

                                                            + */ + Id?: string; + /** *

                                                            The Hadoop job configuration of the cluster step.

                                                            */ @@ -2102,11 +2325,6 @@ export interface Step { *

                                                            The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

                                                            */ ActionOnFailure?: ActionOnFailure | string; - - /** - *

                                                            The identifier of the cluster step.

                                                            - */ - Id?: string; } export namespace Step { @@ -2203,9 +2421,7 @@ export namespace GetManagedScalingPolicyInput { */ export interface ManagedScalingPolicy { /** - *

                                                            - * The EC2 unit limits for a managed scaling policy. The managed scaling activity of a cluster is not allowed to go above or below these limits. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration. - *

                                                            + *

                                                            The EC2 unit limits for a managed scaling policy. The managed scaling activity of a cluster is not allowed to go above or below these limits. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

                                                            */ ComputeLimits?: ComputeLimits; } @@ -2236,14 +2452,14 @@ export namespace GetManagedScalingPolicyOutput { */ export interface ListBootstrapActionsInput { /** - *

                                                            The pagination token that indicates the next set of results to retrieve.

                                                            + *

                                                            The cluster identifier for the bootstrap actions to list.

                                                            */ - Marker?: string; + ClusterId: string | undefined; /** - *

                                                            The cluster identifier for the bootstrap actions to list.

                                                            + *

                                                            The pagination token that indicates the next set of results to retrieve.

                                                            */ - ClusterId: string | undefined; + Marker?: string; } export namespace ListBootstrapActionsInput { @@ -2257,14 +2473,14 @@ export namespace ListBootstrapActionsInput { */ export interface ListBootstrapActionsOutput { /** - *

                                                            The pagination token that indicates the next set of results to retrieve.

                                                            + *

                                                            The bootstrap actions associated with the cluster.

                                                            */ - Marker?: string; + BootstrapActions?: Command[]; /** - *

                                                            The bootstrap actions associated with the cluster.

                                                            + *

                                                            The pagination token that indicates the next set of results to retrieve.

                                                            */ - BootstrapActions?: Command[]; + Marker?: string; } export namespace ListBootstrapActionsOutput { @@ -2278,9 +2494,9 @@ export namespace ListBootstrapActionsOutput { */ export interface ListClustersInput { /** - *

                                                            The creation date and time beginning value filter for listing clusters.

                                                            + *

                                                            The cluster state filters to apply when listing clusters.

                                                            */ - CreatedAfter?: Date; + ClusterStates?: (ClusterState | string)[]; /** *

                                                            The creation date and time end value filter for listing clusters.

                                                            @@ -2293,9 +2509,9 @@ export interface ListClustersInput { Marker?: string; /** - *

                                                            The cluster state filters to apply when listing clusters.

                                                            + *

                                                            The creation date and time beginning value filter for listing clusters.

                                                            */ - ClusterStates?: (ClusterState | string)[]; + CreatedAfter?: Date; } export namespace ListClustersInput { @@ -2397,14 +2613,14 @@ export interface InstanceFleetTimeline { CreationDateTime?: Date; /** - *

                                                            The time and date the instance fleet terminated.

                                                            + *

                                                            The time and date the instance fleet was ready to run jobs.

                                                            */ - EndDateTime?: Date; + ReadyDateTime?: Date; /** - *

                                                            The time and date the instance fleet was ready to run jobs.

                                                            + *

                                                            The time and date the instance fleet terminated.

                                                            */ - ReadyDateTime?: Date; + EndDateTime?: Date; } export namespace InstanceFleetTimeline { @@ -2456,14 +2672,14 @@ export interface InstanceFleetStatus { State?: InstanceFleetState | string; /** - *

                                                            Provides status change reason details for the instance fleet.

                                                            + *

                                                            Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

                                                            */ - StateChangeReason?: InstanceFleetStateChangeReason; + Timeline?: InstanceFleetTimeline; /** - *

                                                            Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

                                                            + *

                                                            Provides status change reason details for the instance fleet.

                                                            */ - Timeline?: InstanceFleetTimeline; + StateChangeReason?: InstanceFleetStateChangeReason; } export namespace InstanceFleetStatus { @@ -2477,14 +2693,14 @@ export namespace InstanceFleetStatus { */ export interface ListInstanceGroupsInput { /** - *

                                                            The pagination token that indicates the next set of results to retrieve.

                                                            + *

                                                            The identifier of the cluster for which to list the instance groups.

                                                            */ - Marker?: string; + ClusterId: string | undefined; /** - *

                                                            The identifier of the cluster for which to list the instance groups.

                                                            + *

                                                            The pagination token that indicates the next set of results to retrieve.

                                                            */ - ClusterId: string | undefined; + Marker?: string; } export namespace ListInstanceGroupsInput { @@ -2530,14 +2746,14 @@ export namespace InstanceResizePolicy { */ export interface ShrinkPolicy { /** - *

                                                            Custom policy for requesting termination protection or termination of specific instances when shrinking an instance group.

                                                            + *

                                                            The desired timeout for decommissioning an instance. Overrides the default YARN decommissioning timeout.

                                                            */ - InstanceResizePolicy?: InstanceResizePolicy; + DecommissionTimeout?: number; /** - *

                                                            The desired timeout for decommissioning an instance. Overrides the default YARN decommissioning timeout.

                                                            + *

                                                            Custom policy for requesting termination protection or termination of specific instances when shrinking an instance group.

                                                            */ - DecommissionTimeout?: number; + InstanceResizePolicy?: InstanceResizePolicy; } export namespace ShrinkPolicy { @@ -2579,14 +2795,14 @@ export namespace InstanceGroupStateChangeReason { */ export interface InstanceGroupTimeline { /** - *

                                                            The date and time when the instance group terminated.

                                                            + *

                                                            The creation date and time of the instance group.

                                                            */ - EndDateTime?: Date; + CreationDateTime?: Date; /** - *

                                                            The creation date and time of the instance group.

                                                            + *

                                                            The date and time when the instance group terminated.

                                                            */ - CreationDateTime?: Date; + EndDateTime?: Date; /** *

                                                            The date and time when the instance group became ready to perform tasks.

                                                            @@ -2638,11 +2854,6 @@ export enum InstanceState { *

                                                            This input determines which instances to list.

                                                            */ export interface ListInstancesInput { - /** - *

                                                            The node type of the instance fleet. For example MASTER, CORE, or TASK.

                                                            - */ - InstanceFleetType?: InstanceFleetType | string; - /** *

                                                            The pagination token that indicates the next set of results to retrieve.

                                                            */ @@ -2653,11 +2864,6 @@ export interface ListInstancesInput { */ InstanceGroupTypes?: (InstanceGroupType | string)[]; - /** - *

                                                            The identifier of the instance group for which to list the instances.

                                                            - */ - InstanceGroupId?: string; - /** *

                                                            A list of instance states that will filter the instances returned with this request.

                                                            */ @@ -2668,6 +2874,16 @@ export interface ListInstancesInput { */ ClusterId: string | undefined; + /** + *

                                                            The identifier of the instance group for which to list the instances.

                                                            + */ + InstanceGroupId?: string; + + /** + *

                                                            The node type of the instance fleet. For example MASTER, CORE, or TASK.

                                                            + */ + InstanceFleetType?: InstanceFleetType | string; + /** *

                                                            The unique identifier of the instance fleet.

                                                            */ @@ -2693,14 +2909,14 @@ export enum InstanceStateChangeReasonCode { */ export interface InstanceStateChangeReason { /** - *

                                                            The programmable code for the state change reason.

                                                            + *

                                                            The status change reason description.

                                                            */ - Code?: InstanceStateChangeReasonCode | string; + Message?: string; /** - *

                                                            The status change reason description.

                                                            + *

                                                            The programmable code for the state change reason.

                                                            */ - Message?: string; + Code?: InstanceStateChangeReasonCode | string; } export namespace InstanceStateChangeReason { @@ -2713,6 +2929,11 @@ export namespace InstanceStateChangeReason { *

                                                            The timeline of the instance lifecycle.

                                                            */ export interface InstanceTimeline { + /** + *

                                                            The date and time when the instance was terminated.

                                                            + */ + EndDateTime?: Date; + /** *

                                                            The creation date and time of the instance.

                                                            */ @@ -2722,11 +2943,6 @@ export interface InstanceTimeline { *

                                                            The date and time when the instance was ready to perform tasks.

                                                            */ ReadyDateTime?: Date; - - /** - *

                                                            The date and time when the instance was terminated.

                                                            - */ - EndDateTime?: Date; } export namespace InstanceTimeline { @@ -2739,6 +2955,11 @@ export namespace InstanceTimeline { *

                                                            The instance status details.

                                                            */ export interface InstanceStatus { + /** + *

                                                            The timeline of the instance status over time.

                                                            + */ + Timeline?: InstanceTimeline; + /** *

                                                            The current state of the instance.

                                                            */ @@ -2748,11 +2969,6 @@ export interface InstanceStatus { *

                                                            The details of the status change reason for the instance.

                                                            */ StateChangeReason?: InstanceStateChangeReason; - - /** - *

                                                            The timeline of the instance status over time.

                                                            - */ - Timeline?: InstanceTimeline; } export namespace InstanceStatus { @@ -2766,14 +2982,19 @@ export namespace InstanceStatus { */ export interface Instance { /** - *

                                                            The identifier of the instance group to which this instance belongs.

                                                            + *

                                                            The public DNS name of the instance.

                                                            */ - InstanceGroupId?: string; + PublicDnsName?: string; /** - *

                                                            The unique identifier for the instance in Amazon EMR.

                                                            + *

                                                            The list of EBS volumes that are attached to this instance.

                                                            */ - Id?: string; + EbsVolumes?: EbsVolume[]; + + /** + *

                                                            The private IP address of the instance.

                                                            + */ + PrivateIpAddress?: string; /** *

                                                            The public IP address of the instance.

                                                            @@ -2786,25 +3007,19 @@ export interface Instance { Ec2InstanceId?: string; /** - *

                                                            The private DNS name of the instance.

                                                            - */ - PrivateDnsName?: string; - - /** - *

                                                            The private IP address of the instance.

                                                            + *

                                                            The current status of the instance.

                                                            */ - PrivateIpAddress?: string; + Status?: InstanceStatus; /** - *

                                                            The current status of the instance.

                                                            + *

                                                            The identifier of the instance group to which this instance belongs.

                                                            */ - Status?: InstanceStatus; + InstanceGroupId?: string; /** - *

                                                            The instance purchasing option. Valid values are ON_DEMAND or SPOT. - *

                                                            + *

                                                            The private DNS name of the instance.

                                                            */ - Market?: MarketType | string; + PrivateDnsName?: string; /** *

                                                            The EC2 instance type, for example m3.xlarge.

                                                            @@ -2812,19 +3027,20 @@ export interface Instance { InstanceType?: string; /** - *

                                                            The list of EBS volumes that are attached to this instance.

                                                            + *

                                                            The unique identifier for the instance in Amazon EMR.

                                                            */ - EbsVolumes?: EbsVolume[]; + Id?: string; /** - *

                                                            The public DNS name of the instance.

                                                            + *

                                                            The unique identifier of the instance fleet to which an EC2 instance belongs.

                                                            */ - PublicDnsName?: string; + InstanceFleetId?: string; /** - *

                                                            The unique identifier of the instance fleet to which an EC2 instance belongs.

                                                            + *

                                                            The instance purchasing option. Valid values are ON_DEMAND or SPOT. + *

                                                            */ - InstanceFleetId?: string; + Market?: MarketType | string; } export namespace Instance { @@ -2854,6 +3070,182 @@ export namespace ListInstancesOutput { }); } +export interface ListNotebookExecutionsInput { + /** + *

                                                            The end of time range filter for listing notebook executions. The default is the current timestamp.

                                                            + */ + To?: Date; + + /** + *

                                                            The beginning of time range filter for listing notebook executions. The default is the timestamp of 30 days ago.

                                                            + */ + From?: Date; + + /** + *

                                                            The unique ID of the editor associated with the notebook execution.

                                                            + */ + EditorId?: string; + + /** + *

                                                            The pagination token, returned by a previous ListNotebookExecutions call, that indicates the start of the list for this ListNotebookExecutions call.

                                                            + */ + Marker?: string; + + /** + *

                                                            The status filter for listing notebook executions.

                                                            + *
                                                              + *
                                                            • + *

                                                              + * START_PENDING indicates that the cluster has received the execution request but execution has not begun.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STARTING indicates that the execution is starting on the cluster.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * RUNNING indicates that the execution is being processed by the cluster.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FINISHING indicates that execution processing is in the final stages.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FINISHED indicates that the execution has completed without error.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FAILING indicates that the execution is failing and will not finish successfully.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FAILED indicates that the execution failed.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STOP_PENDING indicates that the cluster has received a StopNotebookExecution request and the stop is pending.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STOPPING indicates that the cluster is in the process of stopping the execution as a result of a StopNotebookExecution request.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STOPPED indicates that the execution stopped because of a StopNotebookExecution request.

                                                              + *
                                                            • + *
                                                            + */ + Status?: NotebookExecutionStatus | string; +} + +export namespace ListNotebookExecutionsInput { + export const filterSensitiveLog = (obj: ListNotebookExecutionsInput): any => ({ + ...obj, + }); +} + +/** + *

                                                            + */ +export interface NotebookExecutionSummary { + /** + *

                                                            The name of the notebook execution.

                                                            + */ + NotebookExecutionName?: string; + + /** + *

                                                            The unique identifier of the editor associated with the notebook execution.

                                                            + */ + EditorId?: string; + + /** + *

                                                            The unique identifier of the notebook execution.

                                                            + */ + NotebookExecutionId?: string; + + /** + *

                                                            The timestamp when notebook execution started.

                                                            + */ + StartTime?: Date; + + /** + *

                                                            The timestamp when notebook execution started.

                                                            + */ + EndTime?: Date; + + /** + *

                                                            The status of the notebook execution.

                                                            + *
                                                              + *
                                                            • + *

                                                              + * START_PENDING indicates that the cluster has received the execution request but execution has not begun.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STARTING indicates that the execution is starting on the cluster.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * RUNNING indicates that the execution is being processed by the cluster.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FINISHING indicates that execution processing is in the final stages.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FINISHED indicates that the execution has completed without error.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FAILING indicates that the execution is failing and will not finish successfully.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * FAILED indicates that the execution failed.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STOP_PENDING indicates that the cluster has received a StopNotebookExecution request and the stop is pending.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STOPPING indicates that the cluster is in the process of stopping the execution as a result of a StopNotebookExecution request.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * STOPPED indicates that the execution stopped because of a StopNotebookExecution request.

                                                              + *
                                                            • + *
                                                            + */ + Status?: NotebookExecutionStatus | string; +} + +export namespace NotebookExecutionSummary { + export const filterSensitiveLog = (obj: NotebookExecutionSummary): any => ({ + ...obj, + }); +} + +export interface ListNotebookExecutionsOutput { + /** + *

                                                            A pagination token that a subsequent ListNotebookExecutions can use to determine the next set of results to retrieve.

                                                            + */ + Marker?: string; + + /** + *

                                                            A list of notebook executions.

                                                            + */ + NotebookExecutions?: NotebookExecutionSummary[]; +} + +export namespace ListNotebookExecutionsOutput { + export const filterSensitiveLog = (obj: ListNotebookExecutionsOutput): any => ({ + ...obj, + }); +} + export interface ListSecurityConfigurationsInput { /** *

                                                            The pagination token that indicates the set of results to retrieve.

                                                            @@ -2915,6 +3307,11 @@ export interface ListStepsInput { */ Marker?: string; + /** + *

                                                            The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.

                                                            + */ + StepIds?: string[]; + /** *

                                                            The filter to limit the step list based on certain states.

                                                            */ @@ -2924,11 +3321,6 @@ export interface ListStepsInput { *

                                                            The identifier of the cluster for which to list the steps.

                                                            */ ClusterId: string | undefined; - - /** - *

                                                            The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.

                                                            - */ - StepIds?: string[]; } export namespace ListStepsInput { @@ -2942,24 +3334,24 @@ export namespace ListStepsInput { */ export interface StepSummary { /** - *

                                                            The current execution status details of the cluster step.

                                                            + *

                                                            The Hadoop job configuration of the cluster step.

                                                            */ - Status?: StepStatus; + Config?: HadoopStepConfig; /** - *

                                                            The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

                                                            + *

                                                            The current execution status details of the cluster step.

                                                            */ - ActionOnFailure?: ActionOnFailure | string; + Status?: StepStatus; /** - *

                                                            The Hadoop job configuration of the cluster step.

                                                            + *

                                                            The name of the cluster step.

                                                            */ - Config?: HadoopStepConfig; + Name?: string; /** - *

                                                            The name of the cluster step.

                                                            + *

                                                            The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

                                                            */ - Name?: string; + ActionOnFailure?: ActionOnFailure | string; /** *

                                                            The identifier of the cluster step.

                                                            @@ -2996,14 +3388,14 @@ export namespace ListStepsOutput { export interface ModifyClusterInput { /** - *

                                                            The unique identifier of the cluster.

                                                            + *

                                                            The number of steps that can be executed concurrently. You can specify a maximum of 256 steps.

                                                            */ - ClusterId: string | undefined; + StepConcurrencyLevel?: number; /** - *

                                                            The number of steps that can be executed concurrently. You can specify a maximum of 256 steps.

                                                            + *

                                                            The unique identifier of the cluster.

                                                            */ - StepConcurrencyLevel?: number; + ClusterId: string | undefined; } export namespace ModifyClusterInput { @@ -3056,14 +3448,14 @@ export namespace InstanceFleetModifyConfig { export interface ModifyInstanceFleetInput { /** - *

                                                            The unique identifier of the cluster.

                                                            + *

                                                            The unique identifier of the instance fleet.

                                                            */ - ClusterId: string | undefined; + InstanceFleet: InstanceFleetModifyConfig | undefined; /** - *

                                                            The unique identifier of the instance fleet.

                                                            + *

                                                            The unique identifier of the cluster.

                                                            */ - InstanceFleet: InstanceFleetModifyConfig | undefined; + ClusterId: string | undefined; } export namespace ModifyInstanceFleetInput { @@ -3074,9 +3466,9 @@ export namespace ModifyInstanceFleetInput { export interface PutAutoScalingPolicyInput { /** - *

                                                            Specifies the ID of the instance group to which the automatic scaling policy is applied.

                                                            + *

                                                            Specifies the definition of the automatic scaling policy.

                                                            */ - InstanceGroupId: string | undefined; + AutoScalingPolicy: AutoScalingPolicy | undefined; /** *

                                                            Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

                                                            @@ -3084,9 +3476,9 @@ export interface PutAutoScalingPolicyInput { ClusterId: string | undefined; /** - *

                                                            Specifies the definition of the automatic scaling policy.

                                                            + *

                                                            Specifies the ID of the instance group to which the automatic scaling policy is applied.

                                                            */ - AutoScalingPolicy: AutoScalingPolicy | undefined; + InstanceGroupId: string | undefined; } export namespace PutAutoScalingPolicyInput { @@ -3102,14 +3494,14 @@ export interface PutAutoScalingPolicyOutput { ClusterId?: string; /** - *

                                                            Specifies the ID of the instance group to which the scaling policy is applied.

                                                            + *

                                                            The Amazon Resource Name of the cluster.

                                                            */ - InstanceGroupId?: string; + ClusterArn?: string; /** - *

                                                            The Amazon Resource Name of the cluster.

                                                            + *

                                                            Specifies the ID of the instance group to which the scaling policy is applied.

                                                            */ - ClusterArn?: string; + InstanceGroupId?: string; /** *

                                                            The automatic scaling policy definition.

                                                            @@ -3134,17 +3526,17 @@ export namespace PutBlockPublicAccessConfigurationOutput { export interface PutManagedScalingPolicyInput { /** *

                                                            - * Specifies the constraints for the managed scaling policy. + * Specifies the ID of an EMR cluster where the managed scaling policy is attached. *

                                                            */ - ManagedScalingPolicy: ManagedScalingPolicy | undefined; + ClusterId: string | undefined; /** *

                                                            - * Specifies the ID of an EMR cluster where the managed scaling policy is attached. + * Specifies the constraints for the managed scaling policy. *

                                                            */ - ClusterId: string | undefined; + ManagedScalingPolicy: ManagedScalingPolicy | undefined; } export namespace PutManagedScalingPolicyInput { @@ -3163,14 +3555,14 @@ export namespace PutManagedScalingPolicyOutput { export interface RemoveAutoScalingPolicyInput { /** - *

                                                            Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

                                                            + *

                                                            Specifies the ID of the instance group to which the scaling policy is applied.

                                                            */ - ClusterId: string | undefined; + InstanceGroupId: string | undefined; /** - *

                                                            Specifies the ID of the instance group to which the scaling policy is applied.

                                                            + *

                                                            Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

                                                            */ - InstanceGroupId: string | undefined; + ClusterId: string | undefined; } export namespace RemoveAutoScalingPolicyInput { @@ -3247,14 +3639,14 @@ export namespace RemoveTagsOutput { */ export interface SupportedProductConfig { /** - *

                                                            The name of the product configuration.

                                                            + *

                                                            The list of user-supplied arguments.

                                                            */ - Name?: string; + Args?: string[]; /** - *

                                                            The list of user-supplied arguments.

                                                            + *

                                                            The name of the product configuration.

                                                            */ - Args?: string[]; + Name?: string; } export namespace SupportedProductConfig { @@ -3327,6 +3719,80 @@ export namespace SetVisibleToAllUsersInput { }); } +export interface StartNotebookExecutionInput { + /** + *

                                                            The name or ARN of the IAM role that is used as the service role for Amazon EMR (the EMR role) for the notebook execution.

                                                            + */ + ServiceRole: string | undefined; + + /** + *

                                                            A list of tags associated with a notebook execution. Tags are user-defined key value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

                                                            + */ + Tags?: Tag[]; + + /** + *

                                                            An optional name for the notebook execution.

                                                            + */ + NotebookExecutionName?: string; + + /** + *

                                                            The path and file name of the notebook file for this execution, relative to the path specified for the EMR Notebook. For example, if you specify a path of s3://MyBucket/MyNotebooks when you create an EMR Notebook for a notebook with an ID of e-ABCDEFGHIJK1234567890ABCD (the EditorID of this request), and you specify a RelativePath of my_notebook_executions/notebook_execution.ipynb, the location of the file for the notebook execution is s3://MyBucket/MyNotebooks/e-ABCDEFGHIJK1234567890ABCD/my_notebook_executions/notebook_execution.ipynb.

                                                            + */ + RelativePath: string | undefined; + + /** + *

                                                            Input parameters in JSON format passed to the EMR Notebook at runtime for execution.

                                                            + */ + NotebookParams?: string; + + /** + *

                                                            Specifies the execution engine (cluster) that runs the notebook execution.

                                                            + */ + ExecutionEngine: ExecutionEngineConfig | undefined; + + /** + *

                                                            The unique identifier of the EMR Notebook to use for notebook execution.

                                                            + */ + EditorId: string | undefined; + + /** + *

                                                            The unique identifier of the Amazon EC2 security group to associate with the EMR Notebook for this notebook execution.

                                                            + */ + NotebookInstanceSecurityGroupId?: string; +} + +export namespace StartNotebookExecutionInput { + export const filterSensitiveLog = (obj: StartNotebookExecutionInput): any => ({ + ...obj, + }); +} + +export interface StartNotebookExecutionOutput { + /** + *

                                                            The unique identifier of the notebook execution.

                                                            + */ + NotebookExecutionId?: string; +} + +export namespace StartNotebookExecutionOutput { + export const filterSensitiveLog = (obj: StartNotebookExecutionOutput): any => ({ + ...obj, + }); +} + +export interface StopNotebookExecutionInput { + /** + *

                                                            The unique identifier of the notebook execution.

                                                            + */ + NotebookExecutionId: string | undefined; +} + +export namespace StopNotebookExecutionInput { + export const filterSensitiveLog = (obj: StopNotebookExecutionInput): any => ({ + ...obj, + }); +} + /** *

                                                            Input to the TerminateJobFlows operation.

                                                            */ @@ -3356,14 +3822,14 @@ export interface Configuration { Classification?: string; /** - *

                                                            A list of additional configurations to apply within a configuration object.

                                                            + *

                                                            A set of properties specified within a configuration classification.

                                                            */ - Configurations?: Configuration[]; + Properties?: { [key: string]: string }; /** - *

                                                            A set of properties specified within a configuration classification.

                                                            + *

                                                            A list of additional configurations to apply within a configuration object.

                                                            */ - Properties?: { [key: string]: string }; + Configurations?: Configuration[]; } export namespace Configuration { @@ -3376,11 +3842,6 @@ export namespace Configuration { *

                                                            A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules is set to true, Amazon EMR prevents cluster creation if one of the cluster's security groups has a rule that allows inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges.

                                                            */ export interface BlockPublicAccessConfiguration { - /** - *

                                                            A set of properties specified within a configuration classification.

                                                            - */ - Properties?: { [key: string]: string }; - /** *

                                                            A list of additional configurations to apply within a configuration object.

                                                            */ @@ -3391,6 +3852,11 @@ export interface BlockPublicAccessConfiguration { */ BlockPublicSecurityGroupRules: boolean | undefined; + /** + *

                                                            A set of properties specified within a configuration classification.

                                                            + */ + Properties?: { [key: string]: string }; + /** *

                                                            Specifies ports and port ranges that are permitted to have security group rules that allow inbound traffic from all public sources. For example, if Port 23 (Telnet) is specified for PermittedPublicSecurityGroupRuleRanges, Amazon EMR allows cluster creation if a security group associated with the cluster has a rule that allows inbound traffic on Port 23 from IPv4 0.0.0.0/0 or IPv6 port ::/0 as the source.

                                                            *

                                                            By default, Port 22, which is used for SSH access to the cluster EC2 instances, is in the list of PermittedPublicSecurityGroupRuleRanges.

                                                            @@ -3414,51 +3880,47 @@ export namespace BlockPublicAccessConfiguration { */ export interface Cluster { /** - *

                                                            A list of tags associated with a cluster.

                                                            - */ - Tags?: Tag[]; - - /** - *

                                                            - * The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. - *

                                                            + * + *

                                                            The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

                                                            + *
                                                            + *

                                                            The instance group configuration of the cluster. A value of INSTANCE_GROUP indicates a uniform instance group configuration. A value of INSTANCE_FLEET indicates an instance fleets configuration.

                                                            */ - OutpostArn?: string; + InstanceCollectionType?: InstanceCollectionType | string; /** - *

                                                            Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied to the EMR cluster.

                                                            + *

                                                            The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

                                                            */ - Configurations?: Configuration[]; + ReleaseLabel?: string; /** - *

                                                            The current status details about the cluster.

                                                            + *

                                                            The Amazon Resource Name of the cluster.

                                                            */ - Status?: ClusterStatus; + ClusterArn?: string; /** - *

                                                            The Amazon Resource Name of the cluster.

                                                            + *

                                                            Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

                                                            */ - ClusterArn?: string; + Ec2InstanceAttributes?: Ec2InstanceAttributes; /** - *

                                                            The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

                                                            + *

                                                            The name of the cluster.

                                                            */ - LogEncryptionKmsKeyId?: string; + Name?: string; /** - *

                                                            Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

                                                            + *

                                                            The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

                                                            */ - KerberosAttributes?: KerberosAttributes; + EbsRootVolumeSize?: number; /** - *

                                                            Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

                                                            + *

                                                            The AMI version running on this cluster.

                                                            */ - Ec2InstanceAttributes?: Ec2InstanceAttributes; + RunningAmiVersion?: string; /** - *

                                                            Specifies whether the cluster should terminate after completing all steps.

                                                            + *

                                                            Placement group configured for an Amazon EMR cluster.

                                                            */ - AutoTerminate?: boolean; + PlacementGroups?: PlacementGroupConfig[]; /** *

                                                            Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

                                                            @@ -3466,19 +3928,21 @@ export interface Cluster { TerminationProtected?: boolean; /** - *

                                                            The name of the cluster.

                                                            + *

                                                            The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

                                                            */ - Name?: string; + ScaleDownBehavior?: ScaleDownBehavior | string; /** - *

                                                            The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

                                                            + *

                                                            A list of tags associated with a cluster.

                                                            */ - ScaleDownBehavior?: ScaleDownBehavior | string; + Tags?: Tag[]; /** - *

                                                            Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

                                                            + *

                                                            + * The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. + *

                                                            */ - VisibleToAllUsers?: boolean; + OutpostArn?: string; /** *

                                                            The path to the Amazon S3 location where logs for this cluster are stored.

                                                            @@ -3491,77 +3955,84 @@ export interface Cluster { ServiceRole?: string; /** - *

                                                            The name of the security configuration applied to the cluster.

                                                            + *

                                                            The AMI version requested for this cluster.

                                                            */ - SecurityConfiguration?: string; + RequestedAmiVersion?: string; /** - *

                                                            Applies only when CustomAmiID is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI.

                                                            + *

                                                            Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied to the EMR cluster.

                                                            */ - RepoUpgradeOnBoot?: RepoUpgradeOnBoot | string; + Configurations?: Configuration[]; /** - *

                                                            The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

                                                            + *

                                                            The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

                                                            */ - ReleaseLabel?: string; + LogEncryptionKmsKeyId?: string; /** - *

                                                            The unique identifier for the cluster.

                                                            + *

                                                            Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

                                                            */ - Id?: string; + KerberosAttributes?: KerberosAttributes; /** - *

                                                            The AMI version requested for this cluster.

                                                            + *

                                                            The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

                                                            */ - RequestedAmiVersion?: string; + MasterPublicDnsName?: string; /** - * - *

                                                            The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

                                                            - *
                                                            - *

                                                            The instance group configuration of the cluster. A value of INSTANCE_GROUP indicates a uniform instance group configuration. A value of INSTANCE_FLEET indicates an instance fleets configuration.

                                                            + *

                                                            The current status details about the cluster.

                                                            */ - InstanceCollectionType?: InstanceCollectionType | string; + Status?: ClusterStatus; /** - *

                                                            The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

                                                            + *

                                                            Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

                                                            */ - MasterPublicDnsName?: string; + CustomAmiId?: string; /** - *

                                                            Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

                                                            + *

                                                            An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

                                                            */ - CustomAmiId?: string; + NormalizedInstanceHours?: number; /** - *

                                                            An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

                                                            + *

                                                            Specifies whether the cluster should terminate after completing all steps.

                                                            */ - AutoScalingRole?: string; + AutoTerminate?: boolean; /** - *

                                                            Specifies the number of steps that can be executed concurrently.

                                                            + *

                                                            The applications installed on this cluster.

                                                            */ - StepConcurrencyLevel?: number; + Applications?: Application[]; /** - *

                                                            The AMI version running on this cluster.

                                                            + *

                                                            Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

                                                            */ - RunningAmiVersion?: string; + VisibleToAllUsers?: boolean; /** - *

                                                            An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

                                                            + *

                                                            The name of the security configuration applied to the cluster.

                                                            */ - NormalizedInstanceHours?: number; + SecurityConfiguration?: string; /** - *

                                                            The applications installed on this cluster.

                                                            + *

                                                            Specifies the number of steps that can be executed concurrently.

                                                            */ - Applications?: Application[]; + StepConcurrencyLevel?: number; /** - *

                                                            The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

                                                            + *

                                                            Applies only when CustomAmiID is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI.

                                                            */ - EbsRootVolumeSize?: number; + RepoUpgradeOnBoot?: RepoUpgradeOnBoot | string; + + /** + *

                                                            An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

                                                            + */ + AutoScalingRole?: string; + + /** + *

                                                            The unique identifier for the cluster.

                                                            + */ + Id?: string; } export namespace Cluster { @@ -3574,6 +4045,11 @@ export namespace Cluster { *

                                                            Configuration defining a new instance group.

                                                            */ export interface InstanceGroupConfig { + /** + *

                                                            The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

                                                            + */ + BidPrice?: string; + /** *

                                                            An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

                                                            */ @@ -3587,11 +4063,6 @@ export interface InstanceGroupConfig { */ Configurations?: Configuration[]; - /** - *

                                                            Friendly name given to the instance group.

                                                            - */ - Name?: string; - /** *

                                                            The role of the instance group in the cluster.

                                                            */ @@ -3602,6 +4073,11 @@ export interface InstanceGroupConfig { */ Market?: MarketType | string; + /** + *

                                                            Friendly name given to the instance group.

                                                            + */ + Name?: string; + /** *

                                                            The EC2 instance type for all instances in the instance group.

                                                            */ @@ -3616,11 +4092,6 @@ export interface InstanceGroupConfig { *

                                                            Target number of instances for the instance group.

                                                            */ InstanceCount: number | undefined; - - /** - *

                                                            The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

                                                            - */ - BidPrice?: string; } export namespace InstanceGroupConfig { @@ -3634,9 +4105,9 @@ export namespace InstanceGroupConfig { */ export interface InstanceGroupModifyConfig { /** - *

                                                            Target size for the instance group.

                                                            + *

                                                            A list of new or modified configurations to apply for an instance group.

                                                            */ - InstanceCount?: number; + Configurations?: Configuration[]; /** *

                                                            The EC2 InstanceIds to terminate. After you terminate the instances, the instance group will not return to its original requested size.

                                                            @@ -3644,9 +4115,9 @@ export interface InstanceGroupModifyConfig { EC2InstanceIdsToTerminate?: string[]; /** - *

                                                            A list of new or modified configurations to apply for an instance group.

                                                            + *

                                                            Unique ID of the instance group to expand or shrink.

                                                            */ - Configurations?: Configuration[]; + InstanceGroupId: string | undefined; /** *

                                                            Policy for customizing shrink operations.

                                                            @@ -3654,9 +4125,9 @@ export interface InstanceGroupModifyConfig { ShrinkPolicy?: ShrinkPolicy; /** - *

                                                            Unique ID of the instance group to expand or shrink.

                                                            + *

                                                            Target size for the instance group.

                                                            */ - InstanceGroupId: string | undefined; + InstanceCount?: number; } export namespace InstanceGroupModifyConfig { @@ -3673,21 +4144,27 @@ export namespace InstanceGroupModifyConfig { */ export interface InstanceTypeConfig { /** - *

                                                            The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType. + *

                                                            An EC2 instance type, such as m3.xlarge. *

                                                            */ - EbsConfiguration?: EbsConfiguration; + InstanceType: string | undefined; /** - *

                                                            The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified. - *

                                                            + *

                                                            A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.

                                                            */ - WeightedCapacity?: number; + Configurations?: Configuration[]; /** - *

                                                            A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.

                                                            + *

                                                            The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType. + *

                                                            */ - Configurations?: Configuration[]; + EbsConfiguration?: EbsConfiguration; + + /** + *

                                                            The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified. + *

                                                            + */ + WeightedCapacity?: number; /** *

                                                            The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. @@ -3699,12 +4176,6 @@ export interface InstanceTypeConfig { *

                                                            The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

                                                            */ BidPriceAsPercentageOfOnDemandPrice?: number; - - /** - *

                                                            An EC2 instance type, such as m3.xlarge. - *

                                                            - */ - InstanceType: string | undefined; } export namespace InstanceTypeConfig { @@ -3720,6 +4191,11 @@ export namespace InstanceTypeConfig { * */ export interface InstanceTypeSpecification { + /** + *

                                                            The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD.

                                                            + */ + BidPrice?: string; + /** *

                                                            Evaluates to TRUE when the specified InstanceType is EBS-optimized.

                                                            */ @@ -3745,11 +4221,6 @@ export interface InstanceTypeSpecification { */ InstanceType?: string; - /** - *

                                                            The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD.

                                                            - */ - BidPrice?: string; - /** *

                                                            The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. Capacity values represent performance characteristics such as vCPUs, memory, or I/O. If not specified, the default value is 1.

                                                            */ @@ -3845,22 +4316,10 @@ export namespace AddInstanceGroupsInput { */ export interface InstanceFleet { /** - *

                                                            The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

                                                            - */ - ProvisionedSpotCapacity?: number; - - /** - *

                                                            The unique identifier of the instance fleet.

                                                            - */ - Id?: string; - - /** - *

                                                            The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

                                                            - * - *

                                                            If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

                                                            - *
                                                            + *

                                                            The specification for the instance types that comprise an instance fleet. Up to five unique instance specifications may be defined for each instance fleet. + *

                                                            */ - TargetOnDemandCapacity?: number; + InstanceTypeSpecifications?: InstanceTypeSpecification[]; /** *

                                                            A friendly name for the instance fleet.

                                                            @@ -3873,16 +4332,17 @@ export interface InstanceFleet { ProvisionedOnDemandCapacity?: number; /** - *

                                                            The specification for the instance types that comprise an instance fleet. Up to five unique instance specifications may be defined for each instance fleet. - *

                                                            + *

                                                            The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

                                                            + * + *

                                                            If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

                                                            + *
                                                            */ - InstanceTypeSpecifications?: InstanceTypeSpecification[]; + TargetOnDemandCapacity?: number; /** - *

                                                            Describes the launch specification for an instance fleet. - *

                                                            + *

                                                            The unique identifier of the instance fleet.

                                                            */ - LaunchSpecifications?: InstanceFleetProvisioningSpecifications; + Id?: string; /** *

                                                            The current status of the instance fleet. @@ -3896,6 +4356,12 @@ export interface InstanceFleet { */ InstanceFleetType?: InstanceFleetType | string; + /** + *

                                                            Describes the launch specification for an instance fleet. + *

                                                            + */ + LaunchSpecifications?: InstanceFleetProvisioningSpecifications; + /** *

                                                            The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

                                                            * @@ -3903,6 +4369,11 @@ export interface InstanceFleet { * */ TargetSpotCapacity?: number; + + /** + *

                                                            The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

                                                            + */ + ProvisionedSpotCapacity?: number; } export namespace InstanceFleet { @@ -3919,9 +4390,12 @@ export namespace InstanceFleet { */ export interface InstanceFleetConfig { /** - *

                                                            The friendly name of the instance fleet.

                                                            + *

                                                            The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

                                                            + * + *

                                                            If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

                                                            + *
                                                            */ - Name?: string; + TargetSpotCapacity?: number; /** *

                                                            The instance type configurations that define the EC2 instances in the instance fleet.

                                                            @@ -3929,9 +4403,9 @@ export interface InstanceFleetConfig { InstanceTypeConfigs?: InstanceTypeConfig[]; /** - *

                                                            The launch specification for the instance fleet.

                                                            + *

                                                            The friendly name of the instance fleet.

                                                            */ - LaunchSpecifications?: InstanceFleetProvisioningSpecifications; + Name?: string; /** *

                                                            The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

                                                            @@ -3942,17 +4416,14 @@ export interface InstanceFleetConfig { TargetOnDemandCapacity?: number; /** - *

                                                            The node type that the instance fleet hosts. Valid values are MASTER,CORE,and TASK.

                                                            + *

                                                            The launch specification for the instance fleet.

                                                            */ - InstanceFleetType: InstanceFleetType | string | undefined; + LaunchSpecifications?: InstanceFleetProvisioningSpecifications; /** - *

                                                            The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

                                                            - * - *

                                                            If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

                                                            - *
                                                            + *

                                                            The node type that the instance fleet hosts. Valid values are MASTER,CORE,and TASK.

                                                            */ - TargetSpotCapacity?: number; + InstanceFleetType: InstanceFleetType | string | undefined; } export namespace InstanceFleetConfig { @@ -3984,14 +4455,14 @@ export namespace ModifyInstanceGroupsInput { export interface AddInstanceFleetInput { /** - *

                                                            Specifies the configuration of the instance fleet.

                                                            + *

                                                            The unique identifier of the cluster.

                                                            */ - InstanceFleet: InstanceFleetConfig | undefined; + ClusterId: string | undefined; /** - *

                                                            The unique identifier of the cluster.

                                                            + *

                                                            Specifies the configuration of the instance fleet.

                                                            */ - ClusterId: string | undefined; + InstanceFleet: InstanceFleetConfig | undefined; } export namespace AddInstanceFleetInput { @@ -4005,94 +4476,94 @@ export namespace AddInstanceFleetInput { */ export interface InstanceGroup { /** - *

                                                            The marketplace to provision instances for this group. Valid values are ON_DEMAND or SPOT.

                                                            + *

                                                            The target number of instances for the instance group.

                                                            */ - Market?: MarketType | string; + RequestedInstanceCount?: number; /** - *

                                                            The version number of a configuration specification that was successfully applied for an instance group last time.

                                                            + *

                                                            The identifier of the instance group.

                                                            */ - LastSuccessfullyAppliedConfigurationsVersion?: number; + Id?: string; /** - *

                                                            The name of the instance group.

                                                            + *

                                                            A list of configurations that were successfully applied for an instance group last time.

                                                            */ - Name?: string; + LastSuccessfullyAppliedConfigurations?: Configuration[]; /** - *

                                                            The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in - * USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, - * BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

                                                            + *

                                                            If the instance group is EBS-optimized. An Amazon EBS-optimized instance uses an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O.

                                                            */ - BidPrice?: string; + EbsOptimized?: boolean; /** - *

                                                            A list of configurations that were successfully applied for an instance group last time.

                                                            + *

                                                            The version number of the requested configuration specification for this instance group.

                                                            */ - LastSuccessfullyAppliedConfigurations?: Configuration[]; + ConfigurationsVersion?: number; /** - *

                                                            The number of instances currently running in this instance group.

                                                            + *

                                                            The EBS block devices that are mapped to this instance group.

                                                            */ - RunningInstanceCount?: number; + EbsBlockDevices?: EbsBlockDevice[]; /** - *

                                                            An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

                                                            + *

                                                            Policy for customizing shrink operations.

                                                            */ - AutoScalingPolicy?: AutoScalingPolicyDescription; + ShrinkPolicy?: ShrinkPolicy; /** - *

                                                            The EC2 instance type for all instances in the instance group.

                                                            + *

                                                            The version number of a configuration specification that was successfully applied for an instance group last time.

                                                            */ - InstanceType?: string; + LastSuccessfullyAppliedConfigurationsVersion?: number; /** - *

                                                            The current status of the instance group.

                                                            + *

                                                            The name of the instance group.

                                                            */ - Status?: InstanceGroupStatus; + Name?: string; /** - *

                                                            The type of the instance group. Valid values are MASTER, CORE or TASK.

                                                            + *

                                                            The marketplace to provision instances for this group. Valid values are ON_DEMAND or SPOT.

                                                            */ - InstanceGroupType?: InstanceGroupType | string; + Market?: MarketType | string; /** - *

                                                            The EBS block devices that are mapped to this instance group.

                                                            + *

                                                            The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in + * USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, + * BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

                                                            */ - EbsBlockDevices?: EbsBlockDevice[]; + BidPrice?: string; /** - *

                                                            The target number of instances for the instance group.

                                                            + *

                                                            The current status of the instance group.

                                                            */ - RequestedInstanceCount?: number; + Status?: InstanceGroupStatus; /** - * - *

                                                            Amazon EMR releases 4.x or later.

                                                            - *
                                                            - *

                                                            The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

                                                            + *

                                                            An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

                                                            */ - Configurations?: Configuration[]; + AutoScalingPolicy?: AutoScalingPolicyDescription; /** - *

                                                            The identifier of the instance group.

                                                            + *

                                                            The EC2 instance type for all instances in the instance group.

                                                            */ - Id?: string; + InstanceType?: string; /** - *

                                                            If the instance group is EBS-optimized. An Amazon EBS-optimized instance uses an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O.

                                                            + * + *

                                                            Amazon EMR releases 4.x or later.

                                                            + *
                                                            + *

                                                            The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

                                                            */ - EbsOptimized?: boolean; + Configurations?: Configuration[]; /** - *

                                                            Policy for customizing shrink operations.

                                                            + *

                                                            The type of the instance group. Valid values are MASTER, CORE or TASK.

                                                            */ - ShrinkPolicy?: ShrinkPolicy; + InstanceGroupType?: InstanceGroupType | string; /** - *

                                                            The version number of the requested configuration specification for this instance group.

                                                            + *

                                                            The number of instances currently running in this instance group.

                                                            */ - ConfigurationsVersion?: number; + RunningInstanceCount?: number; } export namespace InstanceGroup { @@ -4145,95 +4616,95 @@ export namespace ListInstanceGroupsOutput { */ export interface JobFlowInstancesConfig { /** - * - *

                                                            The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

                                                            - *
                                                            - *

                                                            Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.

                                                            + *

                                                            The Availability Zone in which the cluster runs.

                                                            */ - InstanceFleets?: InstanceFleetConfig[]; + Placement?: PlacementType; /** - *

                                                            Applies to clusters that use the instance fleet configuration. When multiple EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.

                                                            - * - *

                                                            The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

                                                            - *
                                                            + *

                                                            Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

                                                            */ - Ec2SubnetIds?: string[]; + Ec2SubnetId?: string; /** - *

                                                            The EC2 instance type of the core and task nodes.

                                                            + *

                                                            The number of EC2 instances in the cluster.

                                                            */ - SlaveInstanceType?: string; + InstanceCount?: number; /** - *

                                                            Configuration for the instance groups in a cluster.

                                                            + *

                                                            The identifier of the Amazon EC2 security group for the core and task nodes.

                                                            */ - InstanceGroups?: InstanceGroupConfig[]; + EmrManagedSlaveSecurityGroup?: string; /** - *

                                                            A list of additional Amazon EC2 security group IDs for the core and task nodes.

                                                            + *

                                                            The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

                                                            */ - AdditionalSlaveSecurityGroups?: string[]; + ServiceAccessSecurityGroup?: string; /** - *

                                                            Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job-flow error.

                                                            + *

                                                            The identifier of the Amazon EC2 security group for the master node.

                                                            */ - TerminationProtected?: boolean; + EmrManagedMasterSecurityGroup?: string; /** - *

                                                            The name of the EC2 key pair that can be used to ssh to the master node as the user called "hadoop."

                                                            + *

                                                            A list of additional Amazon EC2 security group IDs for the master node.

                                                            */ - Ec2KeyName?: string; + AdditionalMasterSecurityGroups?: string[]; /** - *

                                                            Specifies whether the cluster should remain available after completing all steps.

                                                            + *

                                                            A list of additional Amazon EC2 security group IDs for the core and task nodes.

                                                            */ - KeepJobFlowAliveWhenNoSteps?: boolean; + AdditionalSlaveSecurityGroups?: string[]; /** - *

                                                            The EC2 instance type of the master node.

                                                            + *

                                                            Configuration for the instance groups in a cluster.

                                                            */ - MasterInstanceType?: string; + InstanceGroups?: InstanceGroupConfig[]; /** - *

                                                            The Availability Zone in which the cluster runs.

                                                            + *

                                                            The EC2 instance type of the core and task nodes.

                                                            */ - Placement?: PlacementType; + SlaveInstanceType?: string; /** - *

                                                            Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

                                                            + *

                                                            Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are "0.18" (deprecated), "0.20" (deprecated), "0.20.205" (deprecated), "1.0.3", "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

                                                            */ - Ec2SubnetId?: string; + HadoopVersion?: string; /** - *

                                                            Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are "0.18" (deprecated), "0.20" (deprecated), "0.20.205" (deprecated), "1.0.3", "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

                                                            + *

                                                            Applies to clusters that use the instance fleet configuration. When multiple EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.

                                                            + * + *

                                                            The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

                                                            + *
                                                            */ - HadoopVersion?: string; + Ec2SubnetIds?: string[]; /** - *

                                                            The number of EC2 instances in the cluster.

                                                            + *

                                                            Specifies whether the cluster should remain available after completing all steps.

                                                            */ - InstanceCount?: number; + KeepJobFlowAliveWhenNoSteps?: boolean; /** - *

                                                            The identifier of the Amazon EC2 security group for the core and task nodes.

                                                            + *

                                                            Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job-flow error.

                                                            */ - EmrManagedSlaveSecurityGroup?: string; + TerminationProtected?: boolean; /** - *

                                                            A list of additional Amazon EC2 security group IDs for the master node.

                                                            + * + *

                                                            The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

                                                            + *
                                                            + *

                                                            Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.

                                                            */ - AdditionalMasterSecurityGroups?: string[]; + InstanceFleets?: InstanceFleetConfig[]; /** - *

                                                            The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

                                                            + *

                                                            The name of the EC2 key pair that can be used to ssh to the master node as the user called "hadoop."

                                                            */ - ServiceAccessSecurityGroup?: string; + Ec2KeyName?: string; /** - *

                                                            The identifier of the Amazon EC2 security group for the master node.

                                                            + *

                                                            The EC2 instance type of the master node.

                                                            */ - EmrManagedMasterSecurityGroup?: string; + MasterInstanceType?: string; } export namespace JobFlowInstancesConfig { @@ -4246,61 +4717,31 @@ export namespace JobFlowInstancesConfig { *

                                                            Input to the RunJobFlow operation.

                                                            */ export interface RunJobFlowInput { - /** - *

                                                            The AWS KMS customer master key (CMK) used for encrypting log files. If a value is not provided, the logs will remain encrypted by AES-256. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

                                                            - */ - LogEncryptionKmsKeyId?: string; - - /** - *

                                                            Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

                                                            - */ - KerberosAttributes?: KerberosAttributes; - - /** - *

                                                            A JSON string for selecting additional features.

                                                            - */ - AdditionalInfo?: string; - - /** - *

                                                            Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 3.x, use AmiVersion instead.

                                                            - *

                                                            For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

                                                            - */ - CustomAmiId?: string; - - /** - *

                                                            An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

                                                            - */ - AutoScalingRole?: string; - - /** - *

                                                            Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.

                                                            - */ - Applications?: Application[]; - - /** - *

                                                            Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

                                                            - */ - ScaleDownBehavior?: ScaleDownBehavior | string; - - /** - *

                                                            Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

                                                            - */ - AmiVersion?: string; - /** *

                                                            A list of tags to associate with a cluster and propagate to Amazon EC2 instances.

                                                            */ Tags?: Tag[]; /** - *

                                                            The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

                                                            + *

                                                            Specifies the number of steps that can be executed concurrently. The default value is 1. The maximum value is 256.

                                                            */ - ServiceRole?: string; + StepConcurrencyLevel?: number; /** - *

                                                            The location in Amazon S3 to write the log files of the job flow. If a value is not provided, logs are not created.

                                                            + * + *

                                                            For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

                                                            + *
                                                            + *

                                                            A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

                                                            + *
                                                              + *
                                                            • + *

                                                              "mapr-m3" - launch the job flow using MapR M3 Edition.

                                                              + *
                                                            • + *
                                                            • + *

                                                              "mapr-m5" - launch the job flow using MapR M5 Edition.

                                                              + *
                                                            • + *
                                                            */ - LogUri?: string; + SupportedProducts?: string[]; /** *

                                                            @@ -4310,9 +4751,9 @@ export interface RunJobFlowInput { ManagedScalingPolicy?: ManagedScalingPolicy; /** - *

                                                            For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR cluster you are creating.

                                                            + *

                                                            Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. In order to use the default role, you must have already created it using the CLI or console.

                                                            */ - Configurations?: Configuration[]; + JobFlowRole?: string; /** *

                                                            The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

                                                            @@ -4320,25 +4761,15 @@ export interface RunJobFlowInput { ReleaseLabel?: string; /** - * - *

                                                            For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

                                                            - *
                                                            - *

                                                            A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

                                                            - *
                                                              - *
                                                            • - *

                                                              "mapr-m3" - launch the job flow using MapR M3 Edition.

                                                              - *
                                                            • - *
                                                            • - *

                                                              "mapr-m5" - launch the job flow using MapR M5 Edition.

                                                              - *
                                                            • - *
                                                            + *

                                                            For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR cluster you are creating.

                                                            */ - SupportedProducts?: string[]; + Configurations?: Configuration[]; /** - *

                                                            A list of steps to run.

                                                            + *

                                                            Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 3.x, use AmiVersion instead.

                                                            + *

                                                            For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

                                                            */ - Steps?: StepConfig[]; + CustomAmiId?: string; /** *

                                                            A list of bootstrap actions to run before Hadoop starts on the cluster nodes.

                                                            @@ -4346,14 +4777,9 @@ export interface RunJobFlowInput { BootstrapActions?: BootstrapActionConfig[]; /** - *

                                                            The name of the job flow.

                                                            - */ - Name: string | undefined; - - /** - *

                                                            Specifies the number of steps that can be executed concurrently. The default value is 1. The maximum value is 256.

                                                            + *

                                                            The specified placement group configuration for an Amazon EMR cluster.

                                                            */ - StepConcurrencyLevel?: number; + PlacementGroupConfigs?: PlacementGroupConfig[]; /** *

                                                            The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

                                                            @@ -4361,14 +4787,14 @@ export interface RunJobFlowInput { EbsRootVolumeSize?: number; /** - *

                                                            A specification of the number and type of Amazon EC2 instances.

                                                            + *

                                                            Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.

                                                            */ - Instances: JobFlowInstancesConfig | undefined; + Applications?: Application[]; /** - *

                                                            A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. This is the default. A value of false indicates that only the IAM user who created the cluster can perform actions.

                                                            + *

                                                            Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

                                                            */ - VisibleToAllUsers?: boolean; + ScaleDownBehavior?: ScaleDownBehavior | string; /** * @@ -4404,20 +4830,70 @@ export interface RunJobFlowInput { */ NewSupportedProducts?: SupportedProductConfig[]; + /** + *

                                                            A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. This is the default. A value of false indicates that only the IAM user who created the cluster can perform actions.

                                                            + */ + VisibleToAllUsers?: boolean; + + /** + *

                                                            The location in Amazon S3 to write the log files of the job flow. If a value is not provided, logs are not created.

                                                            + */ + LogUri?: string; + + /** + *

                                                            The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

                                                            + */ + ServiceRole?: string; + /** *

                                                            The name of a security configuration to apply to the cluster.

                                                            */ SecurityConfiguration?: string; /** - *

                                                            Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. In order to use the default role, you must have already created it using the CLI or console.

                                                            + *

                                                            An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

                                                            */ - JobFlowRole?: string; + AutoScalingRole?: string; /** *

                                                            Applies only when CustomAmiID is used. Specifies which updates from the Amazon Linux AMI package repositories to apply automatically when the instance boots using the AMI. If omitted, the default is SECURITY, which indicates that only security updates are applied. If NONE is specified, no updates are applied, and all updates must be applied manually.

                                                            */ RepoUpgradeOnBoot?: RepoUpgradeOnBoot | string; + + /** + *

                                                            The AWS KMS customer master key (CMK) used for encrypting log files. If a value is not provided, the logs will remain encrypted by AES-256. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

                                                            + */ + LogEncryptionKmsKeyId?: string; + + /** + *

                                                            A list of steps to run.

                                                            + */ + Steps?: StepConfig[]; + + /** + *

                                                            Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

                                                            + */ + KerberosAttributes?: KerberosAttributes; + + /** + *

                                                            The name of the job flow.

                                                            + */ + Name: string | undefined; + + /** + *

                                                            Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

                                                            + */ + AmiVersion?: string; + + /** + *

                                                            A JSON string for selecting additional features.

                                                            + */ + AdditionalInfo?: string; + + /** + *

                                                            A specification of the number and type of Amazon EC2 instances.

                                                            + */ + Instances: JobFlowInstancesConfig | undefined; } export namespace RunJobFlowInput { diff --git a/clients/client-emr/pagination/ListNotebookExecutionsPaginator.ts b/clients/client-emr/pagination/ListNotebookExecutionsPaginator.ts new file mode 100644 index 000000000000..bd66707b66b6 --- /dev/null +++ b/clients/client-emr/pagination/ListNotebookExecutionsPaginator.ts @@ -0,0 +1,50 @@ +import { EMR } from "../EMR"; +import { EMRClient } from "../EMRClient"; +import { + ListNotebookExecutionsCommand, + ListNotebookExecutionsCommandInput, + ListNotebookExecutionsCommandOutput, +} from "../commands/ListNotebookExecutionsCommand"; +import { EMRPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: EMRClient, + input: ListNotebookExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListNotebookExecutionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: EMR, + input: ListNotebookExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listNotebookExecutions(input, ...args); +}; +export async function* listNotebookExecutionsPaginate( + config: EMRPaginationConfiguration, + input: ListNotebookExecutionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListNotebookExecutionsCommandOutput; + while (hasNext) { + input["Marker"] = token; + if (config.client instanceof EMR) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EMRClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EMR | EMRClient"); + } + yield page; + token = page["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-emr/protocols/Aws_json1_1.ts b/clients/client-emr/protocols/Aws_json1_1.ts index 456762a5c50f..ffdd77057c7b 100644 --- a/clients/client-emr/protocols/Aws_json1_1.ts +++ b/clients/client-emr/protocols/Aws_json1_1.ts @@ -13,6 +13,10 @@ import { } from "../commands/DeleteSecurityConfigurationCommand"; import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "../commands/DescribeClusterCommand"; import { DescribeJobFlowsCommandInput, DescribeJobFlowsCommandOutput } from "../commands/DescribeJobFlowsCommand"; +import { + DescribeNotebookExecutionCommandInput, + DescribeNotebookExecutionCommandOutput, +} from "../commands/DescribeNotebookExecutionCommand"; import { DescribeSecurityConfigurationCommandInput, DescribeSecurityConfigurationCommandOutput, @@ -34,6 +38,10 @@ import { ListClustersCommandInput, ListClustersCommandOutput } from "../commands import { ListInstanceFleetsCommandInput, ListInstanceFleetsCommandOutput } from "../commands/ListInstanceFleetsCommand"; import { ListInstanceGroupsCommandInput, ListInstanceGroupsCommandOutput } from "../commands/ListInstanceGroupsCommand"; import { ListInstancesCommandInput, ListInstancesCommandOutput } from "../commands/ListInstancesCommand"; +import { + ListNotebookExecutionsCommandInput, + ListNotebookExecutionsCommandOutput, +} from "../commands/ListNotebookExecutionsCommand"; import { ListSecurityConfigurationsCommandInput, ListSecurityConfigurationsCommandOutput, @@ -78,6 +86,14 @@ import { SetVisibleToAllUsersCommandInput, SetVisibleToAllUsersCommandOutput, } from "../commands/SetVisibleToAllUsersCommand"; +import { + StartNotebookExecutionCommandInput, + StartNotebookExecutionCommandOutput, +} from "../commands/StartNotebookExecutionCommand"; +import { + StopNotebookExecutionCommandInput, + StopNotebookExecutionCommandOutput, +} from "../commands/StopNotebookExecutionCommand"; import { TerminateJobFlowsCommandInput, TerminateJobFlowsCommandOutput } from "../commands/TerminateJobFlowsCommand"; import { AddInstanceFleetInput, @@ -118,6 +134,8 @@ import { DescribeClusterOutput, DescribeJobFlowsInput, DescribeJobFlowsOutput, + DescribeNotebookExecutionInput, + DescribeNotebookExecutionOutput, DescribeSecurityConfigurationInput, DescribeSecurityConfigurationOutput, DescribeStepInput, @@ -127,6 +145,7 @@ import { EbsConfiguration, EbsVolume, Ec2InstanceAttributes, + ExecutionEngineConfig, FailureDetails, GetBlockPublicAccessConfigurationInput, GetBlockPublicAccessConfigurationOutput, @@ -177,6 +196,8 @@ import { ListInstanceGroupsOutput, ListInstancesInput, ListInstancesOutput, + ListNotebookExecutionsInput, + ListNotebookExecutionsOutput, ListSecurityConfigurationsInput, ListSecurityConfigurationsOutput, ListStepsInput, @@ -187,7 +208,10 @@ import { ModifyClusterOutput, ModifyInstanceFleetInput, ModifyInstanceGroupsInput, + NotebookExecution, + NotebookExecutionSummary, OnDemandProvisioningSpecification, + PlacementGroupConfig, PlacementType, PortRange, PutAutoScalingPolicyInput, @@ -215,6 +239,8 @@ import { ShrinkPolicy, SimpleScalingPolicyConfiguration, SpotProvisioningSpecification, + StartNotebookExecutionInput, + StartNotebookExecutionOutput, Step, StepConfig, StepDetail, @@ -224,6 +250,7 @@ import { StepStatus, StepSummary, StepTimeline, + StopNotebookExecutionInput, SupportedProductConfig, Tag, TerminateJobFlowsInput, @@ -356,6 +383,19 @@ export const serializeAws_json1_1DescribeJobFlowsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeNotebookExecutionCommand = async ( + input: DescribeNotebookExecutionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.DescribeNotebookExecution", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeNotebookExecutionInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeSecurityConfigurationCommand = async ( input: DescribeSecurityConfigurationCommandInput, context: __SerdeContext @@ -473,6 +513,19 @@ export const serializeAws_json1_1ListInstancesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListNotebookExecutionsCommand = async ( + input: ListNotebookExecutionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.ListNotebookExecutions", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListNotebookExecutionsInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListSecurityConfigurationsCommand = async ( input: ListSecurityConfigurationsCommandInput, context: __SerdeContext @@ -655,6 +708,32 @@ export const serializeAws_json1_1SetVisibleToAllUsersCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StartNotebookExecutionCommand = async ( + input: StartNotebookExecutionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.StartNotebookExecution", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StartNotebookExecutionInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1StopNotebookExecutionCommand = async ( + input: StopNotebookExecutionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ElasticMapReduce.StopNotebookExecution", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StopNotebookExecutionInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1TerminateJobFlowsCommand = async ( input: TerminateJobFlowsCommandInput, context: __SerdeContext @@ -1211,6 +1290,69 @@ const deserializeAws_json1_1DescribeJobFlowsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeNotebookExecutionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeNotebookExecutionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeNotebookExecutionOutput(data, context); + const response: DescribeNotebookExecutionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeNotebookExecutionCommandError = 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 "InternalServerError": + case "com.amazonaws.emr#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(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_1DescribeSecurityConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1762,6 +1904,69 @@ const deserializeAws_json1_1ListInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ListNotebookExecutionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListNotebookExecutionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListNotebookExecutionsOutput(data, context); + const response: ListNotebookExecutionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListNotebookExecutionsCommandError = 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 "InternalServerError": + case "com.amazonaws.emr#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(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_1ListSecurityConfigurationsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2536,6 +2741,129 @@ const deserializeAws_json1_1SetVisibleToAllUsersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1StartNotebookExecutionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1StartNotebookExecutionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1StartNotebookExecutionOutput(data, context); + const response: StartNotebookExecutionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1StartNotebookExecutionCommandError = 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 "InternalServerException": + case "com.amazonaws.emr#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(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_1StopNotebookExecutionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1StopNotebookExecutionCommandError(output, context); + } + await collectBody(output.body, context); + const response: StopNotebookExecutionCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1StopNotebookExecutionCommandError = 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 "InternalServerError": + case "com.amazonaws.emr#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.emr#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(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_1TerminateJobFlowsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2820,6 +3148,15 @@ const serializeAws_json1_1DescribeJobFlowsInput = (input: DescribeJobFlowsInput, }; }; +const serializeAws_json1_1DescribeNotebookExecutionInput = ( + input: DescribeNotebookExecutionInput, + context: __SerdeContext +): any => { + return { + ...(input.NotebookExecutionId !== undefined && { NotebookExecutionId: input.NotebookExecutionId }), + }; +}; + const serializeAws_json1_1DescribeSecurityConfigurationInput = ( input: DescribeSecurityConfigurationInput, context: __SerdeContext @@ -2866,6 +3203,16 @@ const serializeAws_json1_1EC2InstanceIdsToTerminateList = (input: string[], cont return input.map((entry) => entry); }; +const serializeAws_json1_1ExecutionEngineConfig = (input: ExecutionEngineConfig, context: __SerdeContext): any => { + return { + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.MasterInstanceSecurityGroupId !== undefined && { + MasterInstanceSecurityGroupId: input.MasterInstanceSecurityGroupId, + }), + ...(input.Type !== undefined && { Type: input.Type }), + }; +}; + const serializeAws_json1_1GetBlockPublicAccessConfigurationInput = ( input: GetBlockPublicAccessConfigurationInput, context: __SerdeContext @@ -3167,6 +3514,19 @@ const serializeAws_json1_1ListInstancesInput = (input: ListInstancesInput, conte }; }; +const serializeAws_json1_1ListNotebookExecutionsInput = ( + input: ListNotebookExecutionsInput, + context: __SerdeContext +): any => { + return { + ...(input.EditorId !== undefined && { EditorId: input.EditorId }), + ...(input.From !== undefined && { From: Math.round(input.From.getTime() / 1000) }), + ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.Status !== undefined && { Status: input.Status }), + ...(input.To !== undefined && { To: Math.round(input.To.getTime() / 1000) }), + }; +}; + const serializeAws_json1_1ListSecurityConfigurationsInput = ( input: ListSecurityConfigurationsInput, context: __SerdeContext @@ -3251,6 +3611,17 @@ const serializeAws_json1_1OnDemandProvisioningSpecification = ( }; }; +const serializeAws_json1_1PlacementGroupConfig = (input: PlacementGroupConfig, context: __SerdeContext): any => { + return { + ...(input.InstanceRole !== undefined && { InstanceRole: input.InstanceRole }), + ...(input.PlacementStrategy !== undefined && { PlacementStrategy: input.PlacementStrategy }), + }; +}; + +const serializeAws_json1_1PlacementGroupConfigList = (input: PlacementGroupConfig[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1PlacementGroupConfig(entry, context)); +}; + const serializeAws_json1_1PlacementType = (input: PlacementType, context: __SerdeContext): any => { return { ...(input.AvailabilityZone !== undefined && { AvailabilityZone: input.AvailabilityZone }), @@ -3368,6 +3739,9 @@ const serializeAws_json1_1RunJobFlowInput = (input: RunJobFlowInput, context: __ ...(input.NewSupportedProducts !== undefined && { NewSupportedProducts: serializeAws_json1_1NewSupportedProductsList(input.NewSupportedProducts, context), }), + ...(input.PlacementGroupConfigs !== undefined && { + PlacementGroupConfigs: serializeAws_json1_1PlacementGroupConfigList(input.PlacementGroupConfigs, context), + }), ...(input.ReleaseLabel !== undefined && { ReleaseLabel: input.ReleaseLabel }), ...(input.RepoUpgradeOnBoot !== undefined && { RepoUpgradeOnBoot: input.RepoUpgradeOnBoot }), ...(input.ScaleDownBehavior !== undefined && { ScaleDownBehavior: input.ScaleDownBehavior }), @@ -3492,6 +3866,26 @@ const serializeAws_json1_1SpotProvisioningSpecification = ( }; }; +const serializeAws_json1_1StartNotebookExecutionInput = ( + input: StartNotebookExecutionInput, + context: __SerdeContext +): any => { + return { + ...(input.EditorId !== undefined && { EditorId: input.EditorId }), + ...(input.ExecutionEngine !== undefined && { + ExecutionEngine: serializeAws_json1_1ExecutionEngineConfig(input.ExecutionEngine, context), + }), + ...(input.NotebookExecutionName !== undefined && { NotebookExecutionName: input.NotebookExecutionName }), + ...(input.NotebookInstanceSecurityGroupId !== undefined && { + NotebookInstanceSecurityGroupId: input.NotebookInstanceSecurityGroupId, + }), + ...(input.NotebookParams !== undefined && { NotebookParams: input.NotebookParams }), + ...(input.RelativePath !== undefined && { RelativePath: input.RelativePath }), + ...(input.ServiceRole !== undefined && { ServiceRole: input.ServiceRole }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + const serializeAws_json1_1StepConfig = (input: StepConfig, context: __SerdeContext): any => { return { ...(input.ActionOnFailure !== undefined && { ActionOnFailure: input.ActionOnFailure }), @@ -3514,6 +3908,15 @@ const serializeAws_json1_1StepStateList = (input: (StepState | string)[], contex return input.map((entry) => entry); }; +const serializeAws_json1_1StopNotebookExecutionInput = ( + input: StopNotebookExecutionInput, + context: __SerdeContext +): any => { + return { + ...(input.NotebookExecutionId !== undefined && { NotebookExecutionId: input.NotebookExecutionId }), + }; +}; + const serializeAws_json1_1StringList = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -3831,6 +4234,10 @@ const deserializeAws_json1_1Cluster = (output: any, context: __SerdeContext): Cl ? output.NormalizedInstanceHours : undefined, OutpostArn: output.OutpostArn !== undefined && output.OutpostArn !== null ? output.OutpostArn : undefined, + PlacementGroups: + output.PlacementGroups !== undefined && output.PlacementGroups !== null + ? deserializeAws_json1_1PlacementGroupConfigList(output.PlacementGroups, context) + : undefined, ReleaseLabel: output.ReleaseLabel !== undefined && output.ReleaseLabel !== null ? output.ReleaseLabel : undefined, RepoUpgradeOnBoot: output.RepoUpgradeOnBoot !== undefined && output.RepoUpgradeOnBoot !== null @@ -4032,6 +4439,18 @@ const deserializeAws_json1_1DescribeJobFlowsOutput = (output: any, context: __Se } as any; }; +const deserializeAws_json1_1DescribeNotebookExecutionOutput = ( + output: any, + context: __SerdeContext +): DescribeNotebookExecutionOutput => { + return { + NotebookExecution: + output.NotebookExecution !== undefined && output.NotebookExecution !== null + ? deserializeAws_json1_1NotebookExecution(output.NotebookExecution, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeSecurityConfigurationOutput = ( output: any, context: __SerdeContext @@ -4128,6 +4547,17 @@ const deserializeAws_json1_1EC2InstanceIdsList = (output: any, context: __SerdeC return (output || []).map((entry: any) => entry); }; +const deserializeAws_json1_1ExecutionEngineConfig = (output: any, context: __SerdeContext): ExecutionEngineConfig => { + return { + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + MasterInstanceSecurityGroupId: + output.MasterInstanceSecurityGroupId !== undefined && output.MasterInstanceSecurityGroupId !== null + ? output.MasterInstanceSecurityGroupId + : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + const deserializeAws_json1_1FailureDetails = (output: any, context: __SerdeContext): FailureDetails => { return { LogFile: output.LogFile !== undefined && output.LogFile !== null ? output.LogFile : undefined, @@ -4807,6 +5237,19 @@ const deserializeAws_json1_1ListInstancesOutput = (output: any, context: __Serde } as any; }; +const deserializeAws_json1_1ListNotebookExecutionsOutput = ( + output: any, + context: __SerdeContext +): ListNotebookExecutionsOutput => { + return { + Marker: output.Marker !== undefined && output.Marker !== null ? output.Marker : undefined, + NotebookExecutions: + output.NotebookExecutions !== undefined && output.NotebookExecutions !== null + ? deserializeAws_json1_1NotebookExecutionSummaryList(output.NotebookExecutions, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListSecurityConfigurationsOutput = ( output: any, context: __SerdeContext @@ -4859,6 +5302,81 @@ const deserializeAws_json1_1ModifyClusterOutput = (output: any, context: __Serde } as any; }; +const deserializeAws_json1_1NotebookExecution = (output: any, context: __SerdeContext): NotebookExecution => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + EditorId: output.EditorId !== undefined && output.EditorId !== null ? output.EditorId : undefined, + EndTime: + output.EndTime !== undefined && output.EndTime !== null ? new Date(Math.round(output.EndTime * 1000)) : undefined, + ExecutionEngine: + output.ExecutionEngine !== undefined && output.ExecutionEngine !== null + ? deserializeAws_json1_1ExecutionEngineConfig(output.ExecutionEngine, context) + : undefined, + LastStateChangeReason: + output.LastStateChangeReason !== undefined && output.LastStateChangeReason !== null + ? output.LastStateChangeReason + : undefined, + NotebookExecutionId: + output.NotebookExecutionId !== undefined && output.NotebookExecutionId !== null + ? output.NotebookExecutionId + : undefined, + NotebookExecutionName: + output.NotebookExecutionName !== undefined && output.NotebookExecutionName !== null + ? output.NotebookExecutionName + : undefined, + NotebookInstanceSecurityGroupId: + output.NotebookInstanceSecurityGroupId !== undefined && output.NotebookInstanceSecurityGroupId !== null + ? output.NotebookInstanceSecurityGroupId + : undefined, + NotebookParams: + output.NotebookParams !== undefined && output.NotebookParams !== null ? output.NotebookParams : undefined, + OutputNotebookURI: + output.OutputNotebookURI !== undefined && output.OutputNotebookURI !== null + ? output.OutputNotebookURI + : undefined, + StartTime: + output.StartTime !== undefined && output.StartTime !== null + ? new Date(Math.round(output.StartTime * 1000)) + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_json1_1TagList(output.Tags, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1NotebookExecutionSummary = ( + output: any, + context: __SerdeContext +): NotebookExecutionSummary => { + return { + EditorId: output.EditorId !== undefined && output.EditorId !== null ? output.EditorId : undefined, + EndTime: + output.EndTime !== undefined && output.EndTime !== null ? new Date(Math.round(output.EndTime * 1000)) : undefined, + NotebookExecutionId: + output.NotebookExecutionId !== undefined && output.NotebookExecutionId !== null + ? output.NotebookExecutionId + : undefined, + NotebookExecutionName: + output.NotebookExecutionName !== undefined && output.NotebookExecutionName !== null + ? output.NotebookExecutionName + : undefined, + StartTime: + output.StartTime !== undefined && output.StartTime !== null + ? new Date(Math.round(output.StartTime * 1000)) + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1NotebookExecutionSummaryList = ( + output: any, + context: __SerdeContext +): NotebookExecutionSummary[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1NotebookExecutionSummary(entry, context)); +}; + const deserializeAws_json1_1OnDemandProvisioningSpecification = ( output: any, context: __SerdeContext @@ -4871,6 +5389,23 @@ const deserializeAws_json1_1OnDemandProvisioningSpecification = ( } as any; }; +const deserializeAws_json1_1PlacementGroupConfig = (output: any, context: __SerdeContext): PlacementGroupConfig => { + return { + InstanceRole: output.InstanceRole !== undefined && output.InstanceRole !== null ? output.InstanceRole : undefined, + PlacementStrategy: + output.PlacementStrategy !== undefined && output.PlacementStrategy !== null + ? output.PlacementStrategy + : undefined, + } as any; +}; + +const deserializeAws_json1_1PlacementGroupConfigList = ( + output: any, + context: __SerdeContext +): PlacementGroupConfig[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1PlacementGroupConfig(entry, context)); +}; + const deserializeAws_json1_1PlacementType = (output: any, context: __SerdeContext): PlacementType => { return { AvailabilityZone: @@ -5076,6 +5611,18 @@ const deserializeAws_json1_1SpotProvisioningSpecification = ( } as any; }; +const deserializeAws_json1_1StartNotebookExecutionOutput = ( + output: any, + context: __SerdeContext +): StartNotebookExecutionOutput => { + return { + NotebookExecutionId: + output.NotebookExecutionId !== undefined && output.NotebookExecutionId !== null + ? output.NotebookExecutionId + : undefined, + } as any; +}; + const deserializeAws_json1_1Step = (output: any, context: __SerdeContext): Step => { return { ActionOnFailure: diff --git a/clients/client-eventbridge/EventBridge.ts b/clients/client-eventbridge/EventBridge.ts index f113a0924964..a873824c6785 100644 --- a/clients/client-eventbridge/EventBridge.ts +++ b/clients/client-eventbridge/EventBridge.ts @@ -1113,6 +1113,9 @@ export class EventBridge extends EventBridgeClient { *
                                                          • *

                                                            Amazon API Gateway REST APIs

                                                            *
                                                          • + *
                                                          • + *

                                                            Redshift Clusters to invoke Data API ExecuteStatement on

                                                            + *
                                                          • *
                                                          * * diff --git a/clients/client-eventbridge/models/models_0.ts b/clients/client-eventbridge/models/models_0.ts index 11b022667f12..9832f0d75cc6 100644 --- a/clients/client-eventbridge/models/models_0.ts +++ b/clients/client-eventbridge/models/models_0.ts @@ -99,16 +99,16 @@ export enum AssignPublicIp { * tagging.

                                                          */ export interface Tag { - /** - *

                                                          The value for the specified tag key.

                                                          - */ - Value: string | undefined; - /** *

                                                          A string you can use to assign a value. The combination of tag keys and values can * help you organize and categorize your resources.

                                                          */ Key: string | undefined; + + /** + *

                                                          The value for the specified tag key.

                                                          + */ + Value: string | undefined; } export namespace Tag { @@ -124,6 +124,11 @@ export interface CreateEventBusRequest { */ EventSourceName?: string; + /** + *

                                                          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 @@ -133,11 +138,6 @@ export interface CreateEventBusRequest { * event source that this event bus is matched to.

                                                          */ Name: string | undefined; - - /** - *

                                                          Tags to associate with the event bus.

                                                          - */ - Tags?: Tag[]; } export namespace CreateEventBusRequest { @@ -191,6 +191,12 @@ export namespace ResourceAlreadyExistsException { } export interface CreatePartnerEventSourceRequest { + /** + *

                                                          The AWS account ID that is permitted to create a matching partner event bus for this + * partner event source.

                                                          + */ + Account: string | undefined; + /** *

                                                          The name of the partner event source. This name must be unique and must be in the * format @@ -201,12 +207,6 @@ export interface CreatePartnerEventSourceRequest { * bus with a name that matches the name of the partner event source.

                                                          */ Name: string | undefined; - - /** - *

                                                          The AWS account ID that is permitted to create a matching partner event bus for this - * partner event source.

                                                          - */ - Account: string | undefined; } export namespace CreatePartnerEventSourceRequest { @@ -273,6 +273,15 @@ 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.

                                                          + */ + Force?: boolean; + /** *

                                                          The event bus associated with the rule. If you omit this, the default event bus is * used.

                                                          @@ -283,15 +292,6 @@ export interface DeleteRuleRequest { *

                                                          The name of the rule.

                                                          */ Name: string | undefined; - - /** - *

                                                          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.

                                                          - */ - Force?: boolean; } export namespace DeleteRuleRequest { @@ -336,18 +336,18 @@ export namespace DescribeEventBusRequest { } export interface DescribeEventBusResponse { - /** - *

                                                          The name of the event bus. Currently, this is always - * default.

                                                          - */ - Name?: string; - /** *

                                                          The Amazon Resource Name (ARN) of the account permitted to write events to the * current account.

                                                          */ Arn?: string; + /** + *

                                                          The name of the event bus. Currently, this is always + * default.

                                                          + */ + Name?: string; + /** *

                                                          The policy that enables the external account to send events to your * account.

                                                          @@ -382,9 +382,15 @@ export enum EventSourceState { export interface DescribeEventSourceResponse { /** - *

                                                          The name of the SaaS partner that created the event source.

                                                          + *

                                                          The date and time that the event source will expire if you do not create a matching + * event bus.

                                                          */ - CreatedBy?: string; + ExpirationTime?: Date; + + /** + *

                                                          The ARN of the partner event source.

                                                          + */ + Arn?: string; /** *

                                                          The name of the partner event source.

                                                          @@ -392,15 +398,14 @@ export interface DescribeEventSourceResponse { Name?: string; /** - *

                                                          The date and time that the event source will expire if you do not create a matching - * event bus.

                                                          + *

                                                          The date and time that the event source was created.

                                                          */ - ExpirationTime?: Date; + CreationTime?: Date; /** - *

                                                          The ARN of the partner event source.

                                                          + *

                                                          The name of the SaaS partner that created the event source.

                                                          */ - Arn?: string; + CreatedBy?: string; /** *

                                                          The state of the event source. If it is ACTIVE, you have already created a matching @@ -410,11 +415,6 @@ export interface DescribeEventSourceResponse { * deleted.

                                                          */ State?: EventSourceState | string; - - /** - *

                                                          The date and time that the event source was created.

                                                          - */ - CreationTime?: Date; } export namespace DescribeEventSourceResponse { @@ -456,15 +456,15 @@ export namespace DescribePartnerEventSourceResponse { 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 event bus associated with the rule. If you omit this, the default event bus is + * used.

                                                          */ - Name: string | undefined; + EventBusName?: string; } export namespace DescribeRuleRequest { @@ -480,35 +480,35 @@ export enum RuleState { export interface DescribeRuleResponse { /** - *

                                                          The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 - * minutes)".

                                                          + *

                                                          Specifies whether the rule is enabled or disabled.

                                                          */ - ScheduleExpression?: string; + State?: RuleState | 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 Amazon Resource Name (ARN) of the IAM role associated with the rule.

                                                          + *

                                                          The event bus associated with the rule.

                                                          */ - RoleArn?: string; + EventBusName?: string; /** - *

                                                          The event bus associated with the rule.

                                                          + *

                                                          The description of the rule.

                                                          */ - EventBusName?: string; + Description?: string; /** - *

                                                          Specifies whether the rule is enabled or disabled.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                                                          */ - State?: RuleState | string; + RoleArn?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the rule.

                                                          + *

                                                          The name of the rule.

                                                          */ - Arn?: string; + Name?: string; /** *

                                                          The event pattern. For more information, see Events and @@ -518,15 +518,15 @@ export interface DescribeRuleResponse { EventPattern?: string; /** - *

                                                          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 Amazon Resource Name (ARN) of the rule.

                                                          */ - ManagedBy?: string; + Arn?: string; /** - *

                                                          The description of the rule.

                                                          + *

                                                          The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 + * minutes)".

                                                          */ - Description?: string; + ScheduleExpression?: string; } export namespace DescribeRuleResponse { @@ -574,6 +574,13 @@ export namespace EnableRuleRequest { } export interface ListEventBusesRequest { + /** + *

                                                          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 event buses with names that start * with the specified prefix.

                                                          @@ -584,13 +591,6 @@ export interface ListEventBusesRequest { *

                                                          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 ListEventBusesRequest { @@ -608,14 +608,14 @@ export namespace ListEventBusesRequest { */ export interface EventBus { /** - *

                                                          The ARN of the event bus.

                                                          + *

                                                          The name of the event bus.

                                                          */ - Arn?: string; + Name?: string; /** - *

                                                          The name of the event bus.

                                                          + *

                                                          The ARN of the event bus.

                                                          */ - Name?: string; + Arn?: string; /** *

                                                          The permissions policy of the event bus, describing which other AWS accounts can write @@ -631,16 +631,16 @@ export namespace EventBus { } export interface ListEventBusesResponse { - /** - *

                                                          This list of event buses.

                                                          - */ - EventBuses?: EventBus[]; - /** *

                                                          A token you can use in a subsequent operation to retrieve the next set of * results.

                                                          */ NextToken?: string; + + /** + *

                                                          This list of event buses.

                                                          + */ + EventBuses?: EventBus[]; } export namespace ListEventBusesResponse { @@ -651,10 +651,9 @@ export namespace ListEventBusesResponse { export interface ListEventSourcesRequest { /** - *

                                                          Specifying this limits the results to only those partner event sources with names that - * start with the specified prefix.

                                                          + *

                                                          The token returned by a previous call to retrieve the next set of results.

                                                          */ - NamePrefix?: string; + NextToken?: string; /** *

                                                          Specifying this limits the number of results returned by this operation. The operation @@ -664,9 +663,10 @@ export interface ListEventSourcesRequest { Limit?: number; /** - *

                                                          The token returned by a previous call to retrieve the next set of results.

                                                          + *

                                                          Specifying this limits the results to only those partner event sources with names that + * start with the specified prefix.

                                                          */ - NextToken?: string; + NamePrefix?: string; } export namespace ListEventSourcesRequest { @@ -682,9 +682,15 @@ export namespace ListEventSourcesRequest { */ export interface EventSource { /** - *

                                                          The name of the event source.

                                                          + *

                                                          The ARN of the event source.

                                                          */ - Name?: string; + Arn?: string; + + /** + *

                                                          The date and time that the event source will expire, if the AWS account doesn't create + * a matching event bus for it.

                                                          + */ + ExpirationTime?: Date; /** *

                                                          The state of the event source. If it is ACTIVE, you have already created a matching @@ -701,20 +707,14 @@ export interface EventSource { CreatedBy?: string; /** - *

                                                          The date and time the event source was created.

                                                          - */ - CreationTime?: Date; - - /** - *

                                                          The date and time that the event source will expire, if the AWS account doesn't create - * a matching event bus for it.

                                                          + *

                                                          The name of the event source.

                                                          */ - ExpirationTime?: Date; + Name?: string; /** - *

                                                          The ARN of the event source.

                                                          + *

                                                          The date and time the event source was created.

                                                          */ - Arn?: string; + CreationTime?: Date; } export namespace EventSource { @@ -744,15 +744,15 @@ export namespace ListEventSourcesResponse { export interface ListPartnerEventSourceAccountsRequest { /** - *

                                                          The token returned by a previous call to this operation. Specifying this retrieves the - * next set of results.

                                                          + *

                                                          The name of the partner event source to display account information about.

                                                          */ - NextToken?: string; + EventSourceName: string | undefined; /** - *

                                                          The name of the partner event source to display account information about.

                                                          + *

                                                          The token returned by a previous call to this operation. Specifying this retrieves the + * next set of results.

                                                          */ - EventSourceName: string | undefined; + NextToken?: string; /** *

                                                          Specifying this limits the number of results returned by this operation. The operation @@ -778,10 +778,13 @@ export interface PartnerEventSourceAccount { CreationTime?: Date; /** - *

                                                          The date and time that the event source will expire, if the AWS account doesn't create - * a matching event bus for it.

                                                          + *

                                                          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; /** *

                                                          The AWS account ID that the partner event source was offered to.

                                                          @@ -789,13 +792,10 @@ 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 that the event source will expire, if the AWS account doesn't create + * a matching event bus for it.

                                                          */ - State?: EventSourceState | string; + ExpirationTime?: Date; } export namespace PartnerEventSourceAccount { @@ -824,6 +824,12 @@ 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.

                                                          @@ -836,12 +842,6 @@ export interface ListPartnerEventSourcesRequest { * next set of results.

                                                          */ Limit?: number; - - /** - *

                                                          The token returned by a previous call to this operation. Specifying this retrieves the - * next set of results.

                                                          - */ - NextToken?: string; } export namespace ListPartnerEventSourcesRequest { @@ -857,14 +857,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 { @@ -893,11 +893,6 @@ export namespace ListPartnerEventSourcesResponse { } export interface ListRuleNamesByTargetRequest { - /** - *

                                                          The maximum number of results to return.

                                                          - */ - Limit?: number; - /** *

                                                          The token returned by a previous call to retrieve the next set of * results.

                                                          @@ -905,15 +900,20 @@ 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; /** *

                                                          The Amazon Resource Name (ARN) of the target resource.

                                                          */ TargetArn: string | undefined; + + /** + *

                                                          Limits the results to show only the rules associated with the specified event + * bus.

                                                          + */ + EventBusName?: string; } export namespace ListRuleNamesByTargetRequest { @@ -943,10 +943,9 @@ export namespace ListRuleNamesByTargetResponse { export interface ListRulesRequest { /** - *

                                                          The token returned by a previous call to retrieve the next set of - * results.

                                                          + *

                                                          The maximum number of results to return.

                                                          */ - NextToken?: string; + Limit?: number; /** *

                                                          Limits the results to show only the rules associated with the specified event @@ -960,9 +959,10 @@ export interface ListRulesRequest { NamePrefix?: 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; } export namespace ListRulesRequest { @@ -976,20 +976,20 @@ export namespace ListRulesRequest { */ export interface Rule { /** - *

                                                          The state of the rule.

                                                          + *

                                                          The description of the rule.

                                                          */ - State?: RuleState | string; + Description?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the role that is used for target - * invocation.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the rule.

                                                          */ - RoleArn?: string; + Arn?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the rule.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the role that is used for target + * invocation.

                                                          */ - Arn?: string; + RoleArn?: string; /** *

                                                          The event pattern of the rule. For more information, see Events and @@ -999,9 +999,10 @@ export interface Rule { EventPattern?: string; /** - *

                                                          The event bus associated with the rule.

                                                          + *

                                                          The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 + * minutes)".

                                                          */ - EventBusName?: string; + ScheduleExpression?: string; /** *

                                                          If the rule was created on behalf of your account by an AWS service, this field @@ -1010,20 +1011,19 @@ export interface Rule { ManagedBy?: string; /** - *

                                                          The description of the rule.

                                                          + *

                                                          The state of the rule.

                                                          */ - Description?: string; + State?: RuleState | string; /** - *

                                                          The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 - * minutes)".

                                                          + *

                                                          The name of the rule.

                                                          */ - ScheduleExpression?: string; + Name?: string; /** - *

                                                          The name of the rule.

                                                          + *

                                                          The event bus associated with the rule.

                                                          */ - Name?: string; + EventBusName?: string; } export namespace Rule { @@ -1033,16 +1033,16 @@ export namespace Rule { } export interface ListRulesResponse { - /** - *

                                                          The rules that match the specified criteria.

                                                          - */ - Rules?: Rule[]; - /** *

                                                          Indicates whether there are additional results to retrieve. If there are no more * results, the value is null.

                                                          */ NextToken?: string; + + /** + *

                                                          The rules that match the specified criteria.

                                                          + */ + Rules?: Rule[]; } export namespace ListRulesResponse { @@ -1079,26 +1079,26 @@ export namespace ListTagsForResourceResponse { export interface ListTargetsByRuleRequest { /** - *

                                                          The event bus associated with the rule. If you omit this, the default event bus is - * used.

                                                          + *

                                                          The name of the rule.

                                                          */ - EventBusName?: string; + Rule: string | undefined; /** - *

                                                          The token returned by a previous call to retrieve the next set of - * results.

                                                          + *

                                                          The maximum number of results to return.

                                                          */ - NextToken?: string; + Limit?: number; /** - *

                                                          The name of the rule.

                                                          + *

                                                          The token returned by a previous call to retrieve the next set of + * results.

                                                          */ - Rule: string | undefined; + NextToken?: string; /** - *

                                                          The maximum number of results to return.

                                                          + *

                                                          The event bus associated with the rule. If you omit this, the default event bus is + * used.

                                                          */ - Limit?: number; + EventBusName?: string; } export namespace ListTargetsByRuleRequest { @@ -1151,12 +1151,10 @@ export namespace BatchRetryStrategy { */ export interface BatchParameters { /** - *

                                                          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 - * becomes an array job. This parameter is used only if the target is an AWS Batch + *

                                                          The name to use for this execution of the job, if the target is an AWS Batch * job.

                                                          */ - ArrayProperties?: BatchArrayProperties; + JobName: string | undefined; /** *

                                                          The ARN or name of the job definition to use if the event target is an AWS Batch @@ -1165,10 +1163,12 @@ export interface BatchParameters { JobDefinition: string | undefined; /** - *

                                                          The name to use for this execution of the job, if the target is an AWS Batch + *

                                                          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 + * becomes an array job. This parameter is used only if the target is an AWS Batch * job.

                                                          */ - JobName: string | undefined; + ArrayProperties?: BatchArrayProperties; /** *

                                                          The retry strategy to use for failed jobs, if the target is an AWS Batch job. The @@ -1185,6 +1185,22 @@ export namespace BatchParameters { }); } +/** + *

                                                          A DeadLetterConfig object that contains information about a dead-letter queue configuration.

                                                          + */ +export interface DeadLetterConfig { + /** + *

                                                          The ARN of the SQS queue specified as the target for the dead-letter queue.

                                                          + */ + Arn?: string; +} + +export namespace DeadLetterConfig { + export const filterSensitiveLog = (obj: DeadLetterConfig): any => ({ + ...obj, + }); +} + export enum LaunchType { EC2 = "EC2", FARGATE = "FARGATE", @@ -1197,11 +1213,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 @@ -1211,10 +1226,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 { @@ -1246,15 +1262,20 @@ export namespace NetworkConfiguration { */ export interface EcsParameters { /** - *

                                                          Specifies an ECS task group for the task. The maximum length is 255 characters.

                                                          + *

                                                          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 + * whether a public IP address is to be used. This structure is required if + * LaunchType is FARGATE because the awsvpc mode + * is required for Fargate tasks.

                                                          + *

                                                          If you specify NetworkConfiguration when the target ECS task does not use + * the awsvpc network mode, the task fails.

                                                          */ - Group?: string; + NetworkConfiguration?: NetworkConfiguration; /** - *

                                                          The number of tasks to create based on TaskDefinition. The default is - * 1.

                                                          + *

                                                          Specifies an ECS task group for the task. The maximum length is 255 characters.

                                                          */ - TaskCount?: number; + Group?: string; /** *

                                                          Specifies the platform version for the task. Specify only the numeric portion of the @@ -1267,15 +1288,10 @@ export interface EcsParameters { PlatformVersion?: string; /** - *

                                                          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 - * whether a public IP address is to be used. This structure is required if - * LaunchType is FARGATE because the awsvpc mode - * is required for Fargate tasks.

                                                          - *

                                                          If you specify NetworkConfiguration when the target ECS task does not use - * the awsvpc network mode, the task fails.

                                                          + *

                                                          The number of tasks to create based on TaskDefinition. The default is + * 1.

                                                          */ - NetworkConfiguration?: NetworkConfiguration; + TaskCount?: number; /** *

                                                          The ARN of the task definition to use if the event target is an Amazon ECS task. @@ -1305,18 +1321,18 @@ export namespace EcsParameters { * APIs.

                                                          */ export interface HttpParameters { - /** - *

                                                          The headers that need to be sent as part of request invoking the API Gateway REST - * API.

                                                          - */ - HeaderParameters?: { [key: string]: string }; - /** *

                                                          The path parameter values to be used to populate API Gateway REST API * path wildcards ("*").

                                                          */ PathParameterValues?: string[]; + /** + *

                                                          The headers that need to be sent as part of request invoking the API Gateway REST + * API.

                                                          + */ + HeaderParameters?: { [key: string]: string }; + /** *

                                                          The query string keys/values that need to be sent as part of request invoking the * API Gateway REST API.

                                                          @@ -1433,6 +1449,70 @@ export namespace KinesisParameters { }); } +/** + *

                                                          These are custom parameters to be used when the target is a Redshift cluster + * to invoke the Redshift Data API ExecuteStatement based on EventBridge events.

                                                          + */ +export interface RedshiftDataParameters { + /** + *

                                                          The name or ARN of the secret that enables access to the database. + * Required when authenticating using AWS Secrets Manager.

                                                          + */ + SecretManagerArn?: string; + + /** + *

                                                          The database user name. Required when authenticating using temporary credentials.

                                                          + */ + DbUser?: string; + + /** + *

                                                          Indicates whether to send an event back to EventBridge after the SQL statement runs.

                                                          + */ + WithEvent?: boolean; + + /** + *

                                                          The SQL statement text to run.

                                                          + */ + Sql: string | undefined; + + /** + *

                                                          The name of the database. Required when authenticating using temporary credentials.

                                                          + */ + Database: string | undefined; + + /** + *

                                                          The name of the SQL statement. You can name the SQL statement when you create it to identify the query.

                                                          + */ + StatementName?: string; +} + +export namespace RedshiftDataParameters { + export const filterSensitiveLog = (obj: RedshiftDataParameters): any => ({ + ...obj, + }); +} + +/** + *

                                                          A RetryPolicy object that includes information about the retry policy settings.

                                                          + */ +export interface RetryPolicy { + /** + *

                                                          The maximum amount of time, in seconds, to continue to make retry attempts.

                                                          + */ + MaximumEventAgeInSeconds?: number; + + /** + *

                                                          The maximum number of retry attempts to make before the request fails. Retry attempts continue until either the maximum number of attempts is made or until the duration of the MaximumEventAgeInSeconds is met.

                                                          + */ + MaximumRetryAttempts?: number; +} + +export namespace RetryPolicy { + export const filterSensitiveLog = (obj: RetryPolicy): any => ({ + ...obj, + }); +} + /** *

                                                          Information about the EC2 instances that are to be sent the command, specified as * key-value pairs. Each RunCommandTarget block can include only one key, but @@ -1508,20 +1588,6 @@ export namespace SqsParameters { * EventBridge User Guide.

                                                          */ export interface Target { - /** - *

                                                          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 - * (JSON) Data Interchange Format.

                                                          - */ - Input?: string; - - /** - *

                                                          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.

                                                          - */ - InputPath?: string; - /** *

                                                          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 @@ -1529,6 +1595,13 @@ export interface Target { */ BatchParameters?: BatchParameters; + /** + *

                                                          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 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 @@ -1537,34 +1610,27 @@ export interface Target { KinesisParameters?: KinesisParameters; /** - *

                                                          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; - - /** - *

                                                          The ID of the target.

                                                          - */ - Id: string | undefined; - - /** - *

                                                          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.

                                                          + *

                                                          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.

                                                          */ - InputTransformer?: InputTransformer; + EcsParameters?: EcsParameters; /** - *

                                                          The Amazon Resource Name (ARN) of the target.

                                                          + *

                                                          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.

                                                          */ - Arn: string | undefined; + SqsParameters?: SqsParameters; /** - *

                                                          Parameters used when you are using the rule to invoke Amazon EC2 Run - * Command.

                                                          + *

                                                          Contains the Redshift Data API parameters to use when the target is a Redshift cluster.

                                                          + *

                                                          If you specify a Redshift Cluster as a Target, you can use this + * to specify parameters to invoke the Redshift Data API ExecuteStatement based on + * EventBridge events.

                                                          */ - RunCommandParameters?: RunCommandParameters; + RedshiftDataParameters?: RedshiftDataParameters; /** *

                                                          Contains the HTTP parameters to use when the target is a API Gateway REST @@ -1576,19 +1642,51 @@ export interface Target { HttpParameters?: HttpParameters; /** - *

                                                          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.

                                                          + *

                                                          Parameters used when you are using the rule to invoke Amazon EC2 Run + * Command.

                                                          */ - SqsParameters?: SqsParameters; + RunCommandParameters?: RunCommandParameters; /** - *

                                                          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.

                                                          + *

                                                          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.

                                                          */ - EcsParameters?: EcsParameters; + RoleArn?: string; + + /** + *

                                                          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.

                                                          + */ + InputPath?: string; + + /** + *

                                                          The RetryPolicy object that contains the retry policy configuration to use for the dead-letter queue.

                                                          + */ + RetryPolicy?: RetryPolicy; + + /** + *

                                                          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 + * (JSON) Data Interchange Format.

                                                          + */ + Input?: string; + + /** + *

                                                          The DeadLetterConfig that defines the target queue to send dead-letter queue events to.

                                                          + */ + DeadLetterConfig?: DeadLetterConfig; + + /** + *

                                                          The Amazon Resource Name (ARN) of the target.

                                                          + */ + Arn: string | undefined; + + /** + *

                                                          The ID of the target.

                                                          + */ + Id: string | undefined; } export namespace Target { @@ -1599,15 +1697,15 @@ export namespace Target { export interface ListTargetsByRuleResponse { /** - *

                                                          Indicates whether there are additional results to retrieve. If there are no more - * results, the value is null.

                                                          + *

                                                          The targets assigned to the rule.

                                                          */ - NextToken?: string; + Targets?: Target[]; /** - *

                                                          The targets assigned to the rule.

                                                          + *

                                                          Indicates whether there are additional results to retrieve. If there are no more + * results, the value is null.

                                                          */ - Targets?: Target[]; + NextToken?: string; } export namespace ListTargetsByRuleResponse { @@ -1620,23 +1718,6 @@ export namespace ListTargetsByRuleResponse { *

                                                          Represents an event to be submitted.

                                                          */ export interface PutEventsRequestEntry { - /** - *

                                                          The source of the event.

                                                          - */ - Source?: string; - - /** - *

                                                          The time stamp of the event, per RFC3339. If no time stamp - * is provided, the time stamp of the PutEvents call is used.

                                                          - */ - Time?: Date; - - /** - *

                                                          AWS resources, identified by Amazon Resource Name (ARN), which the event primarily - * concerns. Any number, including zero, may be present.

                                                          - */ - Resources?: string[]; - /** *

                                                          Free-form string used to decide what fields to expect in the event * detail.

                                                          @@ -1649,11 +1730,28 @@ export interface PutEventsRequestEntry { */ Detail?: string; + /** + *

                                                          The source of the event.

                                                          + */ + Source?: string; + /** *

                                                          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.

                                                          */ EventBusName?: string; + + /** + *

                                                          The time stamp of the event, per RFC3339. If no time stamp + * is provided, the time stamp of the PutEvents call is used.

                                                          + */ + Time?: Date; + + /** + *

                                                          AWS resources, identified by Amazon Resource Name (ARN), which the event primarily + * concerns. Any number, including zero, may be present.

                                                          + */ + Resources?: string[]; } export namespace PutEventsRequestEntry { @@ -1681,6 +1779,11 @@ 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 error code that indicates why the event submission failed.

                                                          */ @@ -1690,11 +1793,6 @@ export interface PutEventsResultEntry { *

                                                          The ID of the event.

                                                          */ EventId?: string; - - /** - *

                                                          The error message that explains why the event submission failed.

                                                          - */ - ErrorMessage?: string; } export namespace PutEventsResultEntry { @@ -1704,17 +1802,17 @@ export namespace PutEventsResultEntry { } export interface PutEventsResponse { - /** - *

                                                          The number of failed entries.

                                                          - */ - FailedEntryCount?: number; - /** *

                                                          The successfully and unsuccessfully ingested events results. If the ingestion was * successful, the entry has the event ID in it. Otherwise, you can use the error code and * error message to identify the problem with the entry.

                                                          */ Entries?: PutEventsResultEntry[]; + + /** + *

                                                          The number of failed entries.

                                                          + */ + FailedEntryCount?: number; } export namespace PutEventsResponse { @@ -1727,6 +1825,17 @@ export namespace PutEventsResponse { *

                                                          The details about an event generated by an SaaS partner.

                                                          */ export interface PutPartnerEventsRequestEntry { + /** + *

                                                          AWS resources, identified by Amazon Resource Name (ARN), which the event primarily + * concerns. Any number, including zero, may be present.

                                                          + */ + Resources?: string[]; + + /** + *

                                                          The event source that is generating the evntry.

                                                          + */ + Source?: string; + /** *

                                                          A valid JSON string. There is no other schema imposed. The JSON string may contain * fields and nested subobjects.

                                                          @@ -1738,21 +1847,10 @@ export interface PutPartnerEventsRequestEntry { */ DetailType?: string; - /** - *

                                                          The event source that is generating the evntry.

                                                          - */ - Source?: string; - /** *

                                                          The date and time of the event.

                                                          */ Time?: Date; - - /** - *

                                                          AWS resources, identified by Amazon Resource Name (ARN), which the event primarily - * concerns. Any number, including zero, may be present.

                                                          - */ - Resources?: string[]; } export namespace PutPartnerEventsRequestEntry { @@ -1779,14 +1877,14 @@ export namespace PutPartnerEventsRequest { */ export interface PutPartnerEventsResultEntry { /** - *

                                                          The error message that explains why the event submission failed.

                                                          + *

                                                          The ID of the event.

                                                          */ - ErrorMessage?: string; + EventId?: string; /** - *

                                                          The ID of the event.

                                                          + *

                                                          The error message that explains why the event submission failed.

                                                          */ - EventId?: string; + ErrorMessage?: string; /** *

                                                          The error code that indicates why the event submission failed.

                                                          @@ -1848,12 +1946,6 @@ export namespace PolicyLengthExceededException { *

                                                          */ export interface Condition { - /** - *

                                                          Specifies the type of condition. Currently the only supported value is - * StringEquals.

                                                          - */ - Type: string | undefined; - /** *

                                                          Specifies the value for the key. Currently, this must be the ID of the * organization.

                                                          @@ -1865,6 +1957,12 @@ export interface Condition { * aws:PrincipalOrgID.

                                                          */ Key: string | undefined; + + /** + *

                                                          Specifies the type of condition. Currently the only supported value is + * StringEquals.

                                                          + */ + Type: string | undefined; } export namespace Condition { @@ -1874,18 +1972,6 @@ export namespace Condition { } export interface PutPermissionRequest { - /** - *

                                                          The action that you are enabling the other account to perform. Currently, this must - * be events:PutEvents.

                                                          - */ - Action: string | undefined; - - /** - *

                                                          The event bus associated with the rule. If you omit this, the default event bus is - * used.

                                                          - */ - EventBusName?: 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 @@ -1899,6 +1985,19 @@ export interface PutPermissionRequest { */ Principal: string | undefined; + /** + *

                                                          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 event bus associated with the rule. If you omit this, the default event bus is + * used.

                                                          + */ + EventBusName?: string; + /** *

                                                          This parameter enables you to limit the permission to accounts that fulfill a certain * condition, such as being a member of a certain AWS organization. For more information @@ -1915,11 +2014,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.

                                                          + *

                                                          The action that you are enabling the other account to perform. Currently, this must + * be events:PutEvents.

                                                          */ - StatementId: string | undefined; + Action: string | undefined; } export namespace PutPermissionRequest { @@ -1944,21 +2042,15 @@ export namespace InvalidEventPatternException { } export interface PutRuleRequest { - /** - *

                                                          The scheduling expression. For example, "cron(0 20 * * ? *)" or "rate(5 - * minutes)".

                                                          - */ - ScheduleExpression?: string; - /** *

                                                          Indicates whether the rule is enabled or disabled.

                                                          */ State?: RuleState | string; /** - *

                                                          A description of the rule.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                                                          */ - Description?: string; + RoleArn?: string; /** *

                                                          The event pattern. For more information, see Events and @@ -1968,25 +2060,31 @@ export interface PutRuleRequest { EventPattern?: string; /** - *

                                                          The event bus to associate with this rule. If you omit this, the default event bus is - * used.

                                                          + *

                                                          A description of the rule.

                                                          */ - EventBusName?: string; + Description?: string; /** - *

                                                          The list of key-value pairs to associate with the rule.

                                                          + *

                                                          The scheduling expression. For example, "cron(0 20 * * ? *)" or "rate(5 + * minutes)".

                                                          */ - Tags?: Tag[]; + ScheduleExpression?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                                                          + *

                                                          The list of key-value pairs to associate with the rule.

                                                          */ - RoleArn?: string; + Tags?: Tag[]; /** *

                                                          The name of the rule that you are creating or updating.

                                                          */ Name: string | undefined; + + /** + *

                                                          The event bus to associate with this rule. If you omit this, the default event bus is + * used.

                                                          + */ + EventBusName?: string; } export namespace PutRuleRequest { @@ -2010,15 +2108,15 @@ export namespace PutRuleResponse { export interface PutTargetsRequest { /** - *

                                                          The name of the event bus associated with the rule. If you omit this, the default - * event bus is used.

                                                          + *

                                                          The name of the rule.

                                                          */ - EventBusName?: string; + Rule: string | undefined; /** - *

                                                          The name of the rule.

                                                          + *

                                                          The name of the event bus associated with the rule. If you omit this, the default + * event bus is used.

                                                          */ - Rule: string | undefined; + EventBusName?: string; /** *

                                                          The targets to update or add to the rule.

                                                          @@ -2036,11 +2134,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 error code that indicates why the target addition failed. If the value is * ConcurrentModificationException, too many requests were made at the @@ -2048,6 +2141,11 @@ export interface PutTargetsResultEntry { */ ErrorCode?: string; + /** + *

                                                          The error message that explains why the target addition failed.

                                                          + */ + ErrorMessage?: string; + /** *

                                                          The ID of the target.

                                                          */ @@ -2062,14 +2160,14 @@ export namespace PutTargetsResultEntry { export interface PutTargetsResponse { /** - *

                                                          The failed target entries.

                                                          + *

                                                          The number of failed entries.

                                                          */ - FailedEntries?: PutTargetsResultEntry[]; + FailedEntryCount?: number; /** - *

                                                          The number of failed entries.

                                                          + *

                                                          The failed target entries.

                                                          */ - FailedEntryCount?: number; + FailedEntries?: PutTargetsResultEntry[]; } export namespace PutTargetsResponse { @@ -2099,6 +2197,11 @@ export namespace RemovePermissionRequest { } 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 @@ -2108,11 +2211,6 @@ export interface RemoveTargetsRequest { */ Force?: boolean; - /** - *

                                                          The IDs of the targets to remove from the rule.

                                                          - */ - Ids: string[] | undefined; - /** *

                                                          The name of the rule.

                                                          */ @@ -2134,13 +2232,6 @@ export namespace RemoveTargetsRequest { *

                                                          Represents a target that failed to be removed from a rule.

                                                          */ export interface RemoveTargetsResultEntry { - /** - *

                                                          The error code that indicates why the target removal failed. If the value is - * ConcurrentModificationException, too many requests were made at the - * same time.

                                                          - */ - ErrorCode?: string; - /** *

                                                          The ID of the target.

                                                          */ @@ -2150,6 +2241,13 @@ export interface RemoveTargetsResultEntry { *

                                                          The error message that explains why the target removal failed.

                                                          */ ErrorMessage?: string; + + /** + *

                                                          The error code that indicates why the target removal failed. If the value is + * ConcurrentModificationException, too many requests were made at the + * same time.

                                                          + */ + ErrorCode?: string; } export namespace RemoveTargetsResultEntry { @@ -2160,14 +2258,14 @@ export namespace RemoveTargetsResultEntry { export interface RemoveTargetsResponse { /** - *

                                                          The number of failed entries.

                                                          + *

                                                          The failed target entries.

                                                          */ - FailedEntryCount?: number; + FailedEntries?: RemoveTargetsResultEntry[]; /** - *

                                                          The failed target entries.

                                                          + *

                                                          The number of failed entries.

                                                          */ - FailedEntries?: RemoveTargetsResultEntry[]; + FailedEntryCount?: number; } export namespace RemoveTargetsResponse { @@ -2203,17 +2301,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 { @@ -2237,14 +2335,14 @@ export namespace TestEventPatternResponse { export interface UntagResourceRequest { /** - *

                                                          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; /** - *

                                                          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; } export namespace UntagResourceRequest { diff --git a/clients/client-eventbridge/protocols/Aws_json1_1.ts b/clients/client-eventbridge/protocols/Aws_json1_1.ts index 3af7b163dd5a..fae7b5733892 100644 --- a/clients/client-eventbridge/protocols/Aws_json1_1.ts +++ b/clients/client-eventbridge/protocols/Aws_json1_1.ts @@ -72,6 +72,7 @@ import { CreatePartnerEventSourceRequest, CreatePartnerEventSourceResponse, DeactivateEventSourceRequest, + DeadLetterConfig, DeleteEventBusRequest, DeletePartnerEventSourceRequest, DeleteRuleRequest, @@ -131,12 +132,14 @@ import { PutTargetsRequest, PutTargetsResponse, PutTargetsResultEntry, + RedshiftDataParameters, RemovePermissionRequest, RemoveTargetsRequest, RemoveTargetsResponse, RemoveTargetsResultEntry, ResourceAlreadyExistsException, ResourceNotFoundException, + RetryPolicy, Rule, RunCommandParameters, RunCommandTarget, @@ -3022,6 +3025,12 @@ const serializeAws_json1_1DeactivateEventSourceRequest = ( }; }; +const serializeAws_json1_1DeadLetterConfig = (input: DeadLetterConfig, context: __SerdeContext): any => { + return { + ...(input.Arn !== undefined && { Arn: input.Arn }), + }; +}; + const serializeAws_json1_1DeleteEventBusRequest = (input: DeleteEventBusRequest, context: __SerdeContext): any => { return { ...(input.Name !== undefined && { Name: input.Name }), @@ -3341,6 +3350,17 @@ const serializeAws_json1_1QueryStringParametersMap = ( ); }; +const serializeAws_json1_1RedshiftDataParameters = (input: RedshiftDataParameters, context: __SerdeContext): any => { + return { + ...(input.Database !== undefined && { Database: input.Database }), + ...(input.DbUser !== undefined && { DbUser: input.DbUser }), + ...(input.SecretManagerArn !== undefined && { SecretManagerArn: input.SecretManagerArn }), + ...(input.Sql !== undefined && { Sql: input.Sql }), + ...(input.StatementName !== undefined && { StatementName: input.StatementName }), + ...(input.WithEvent !== undefined && { WithEvent: input.WithEvent }), + }; +}; + const serializeAws_json1_1RemovePermissionRequest = (input: RemovePermissionRequest, context: __SerdeContext): any => { return { ...(input.EventBusName !== undefined && { EventBusName: input.EventBusName }), @@ -3357,6 +3377,13 @@ const serializeAws_json1_1RemoveTargetsRequest = (input: RemoveTargetsRequest, c }; }; +const serializeAws_json1_1RetryPolicy = (input: RetryPolicy, context: __SerdeContext): any => { + return { + ...(input.MaximumEventAgeInSeconds !== undefined && { MaximumEventAgeInSeconds: input.MaximumEventAgeInSeconds }), + ...(input.MaximumRetryAttempts !== undefined && { MaximumRetryAttempts: input.MaximumRetryAttempts }), + }; +}; + const serializeAws_json1_1RunCommandParameters = (input: RunCommandParameters, context: __SerdeContext): any => { return { ...(input.RunCommandTargets !== undefined && { @@ -3418,6 +3445,9 @@ const serializeAws_json1_1Target = (input: Target, context: __SerdeContext): any ...(input.BatchParameters !== undefined && { BatchParameters: serializeAws_json1_1BatchParameters(input.BatchParameters, context), }), + ...(input.DeadLetterConfig !== undefined && { + DeadLetterConfig: serializeAws_json1_1DeadLetterConfig(input.DeadLetterConfig, context), + }), ...(input.EcsParameters !== undefined && { EcsParameters: serializeAws_json1_1EcsParameters(input.EcsParameters, context), }), @@ -3433,6 +3463,12 @@ const serializeAws_json1_1Target = (input: Target, context: __SerdeContext): any ...(input.KinesisParameters !== undefined && { KinesisParameters: serializeAws_json1_1KinesisParameters(input.KinesisParameters, context), }), + ...(input.RedshiftDataParameters !== undefined && { + RedshiftDataParameters: serializeAws_json1_1RedshiftDataParameters(input.RedshiftDataParameters, context), + }), + ...(input.RetryPolicy !== undefined && { + RetryPolicy: serializeAws_json1_1RetryPolicy(input.RetryPolicy, context), + }), ...(input.RoleArn !== undefined && { RoleArn: input.RoleArn }), ...(input.RunCommandParameters !== undefined && { RunCommandParameters: serializeAws_json1_1RunCommandParameters(input.RunCommandParameters, context), @@ -3543,6 +3579,12 @@ const deserializeAws_json1_1CreatePartnerEventSourceResponse = ( } as any; }; +const deserializeAws_json1_1DeadLetterConfig = (output: any, context: __SerdeContext): DeadLetterConfig => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeEventBusResponse = ( output: any, context: __SerdeContext @@ -3997,6 +4039,19 @@ const deserializeAws_json1_1QueryStringParametersMap = ( ); }; +const deserializeAws_json1_1RedshiftDataParameters = (output: any, context: __SerdeContext): RedshiftDataParameters => { + return { + Database: output.Database !== undefined && output.Database !== null ? output.Database : undefined, + DbUser: output.DbUser !== undefined && output.DbUser !== null ? output.DbUser : undefined, + SecretManagerArn: + output.SecretManagerArn !== undefined && output.SecretManagerArn !== null ? output.SecretManagerArn : undefined, + Sql: output.Sql !== undefined && output.Sql !== null ? output.Sql : undefined, + StatementName: + output.StatementName !== undefined && output.StatementName !== null ? output.StatementName : undefined, + WithEvent: output.WithEvent !== undefined && output.WithEvent !== null ? output.WithEvent : undefined, + } as any; +}; + const deserializeAws_json1_1RemoveTargetsResponse = (output: any, context: __SerdeContext): RemoveTargetsResponse => { return { FailedEntries: @@ -4044,6 +4099,19 @@ const deserializeAws_json1_1ResourceNotFoundException = ( } as any; }; +const deserializeAws_json1_1RetryPolicy = (output: any, context: __SerdeContext): RetryPolicy => { + return { + MaximumEventAgeInSeconds: + output.MaximumEventAgeInSeconds !== undefined && output.MaximumEventAgeInSeconds !== null + ? output.MaximumEventAgeInSeconds + : undefined, + MaximumRetryAttempts: + output.MaximumRetryAttempts !== undefined && output.MaximumRetryAttempts !== null + ? output.MaximumRetryAttempts + : undefined, + } as any; +}; + const deserializeAws_json1_1Rule = (output: any, context: __SerdeContext): Rule => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, @@ -4129,6 +4197,10 @@ const deserializeAws_json1_1Target = (output: any, context: __SerdeContext): Tar output.BatchParameters !== undefined && output.BatchParameters !== null ? deserializeAws_json1_1BatchParameters(output.BatchParameters, context) : undefined, + DeadLetterConfig: + output.DeadLetterConfig !== undefined && output.DeadLetterConfig !== null + ? deserializeAws_json1_1DeadLetterConfig(output.DeadLetterConfig, context) + : undefined, EcsParameters: output.EcsParameters !== undefined && output.EcsParameters !== null ? deserializeAws_json1_1EcsParameters(output.EcsParameters, context) @@ -4148,6 +4220,14 @@ const deserializeAws_json1_1Target = (output: any, context: __SerdeContext): Tar output.KinesisParameters !== undefined && output.KinesisParameters !== null ? deserializeAws_json1_1KinesisParameters(output.KinesisParameters, context) : undefined, + RedshiftDataParameters: + output.RedshiftDataParameters !== undefined && output.RedshiftDataParameters !== null + ? deserializeAws_json1_1RedshiftDataParameters(output.RedshiftDataParameters, context) + : undefined, + RetryPolicy: + output.RetryPolicy !== undefined && output.RetryPolicy !== null + ? deserializeAws_json1_1RetryPolicy(output.RetryPolicy, context) + : undefined, RoleArn: output.RoleArn !== undefined && output.RoleArn !== null ? output.RoleArn : undefined, RunCommandParameters: output.RunCommandParameters !== undefined && output.RunCommandParameters !== null diff --git a/clients/client-firehose/models/models_0.ts b/clients/client-firehose/models/models_0.ts index 894731f617a2..6d94dc065fa9 100644 --- a/clients/client-firehose/models/models_0.ts +++ b/clients/client-firehose/models/models_0.ts @@ -40,10 +40,10 @@ export namespace BufferingHints { */ export interface CloudWatchLoggingOptions { /** - *

                                                          The CloudWatch log stream name for logging. This value is required if CloudWatch - * logging is enabled.

                                                          + *

                                                          The CloudWatch group name for logging. This value is required if CloudWatch logging + * is enabled.

                                                          */ - LogStreamName?: string; + LogGroupName?: string; /** *

                                                          Enables or disables CloudWatch logging.

                                                          @@ -51,10 +51,10 @@ export interface CloudWatchLoggingOptions { Enabled?: boolean; /** - *

                                                          The CloudWatch group name for logging. This value is required if CloudWatch logging - * is enabled.

                                                          + *

                                                          The CloudWatch log stream name for logging. This value is required if CloudWatch + * logging is enabled.

                                                          */ - LogGroupName?: string; + LogStreamName?: string; } export namespace CloudWatchLoggingOptions { @@ -99,11 +99,6 @@ export enum ContentEncoding { *

                                                          Describes a COPY command for Amazon Redshift.

                                                          */ export interface CopyCommand { - /** - *

                                                          The name of the target table. The table must already exist in the database.

                                                          - */ - DataTableName: string | undefined; - /** *

                                                          Optional parameters to use with the Amazon Redshift COPY command. For * more information, see the "Optional Parameters" section of Amazon Redshift COPY command. Some possible @@ -128,6 +123,11 @@ export interface CopyCommand { */ CopyOptions?: string; + /** + *

                                                          The name of the target table. The table must already exist in the database.

                                                          + */ + DataTableName: string | undefined; + /** *

                                                          A comma-separated list of column names.

                                                          */ @@ -150,6 +150,13 @@ export enum KeyType { * Encryption (SSE).

                                                          */ export interface DeliveryStreamEncryptionConfigurationInput { + /** + *

                                                          If you set KeyType to CUSTOMER_MANAGED_CMK, you must specify + * the Amazon Resource Name (ARN) of the CMK. If you set KeyType to + * AWS_OWNED_CMK, Kinesis Data Firehose uses a service-account CMK.

                                                          + */ + KeyARN?: string; + /** *

                                                          Indicates the type of customer master key (CMK) to use for encryption. The default * setting is AWS_OWNED_CMK. For more information about CMKs, see Customer Master Keys (CMKs). When you invoke CreateDeliveryStream or StartDeliveryStreamEncryption with @@ -171,13 +178,6 @@ export interface DeliveryStreamEncryptionConfigurationInput { * */ KeyType: KeyType | string | undefined; - - /** - *

                                                          If you set KeyType to CUSTOMER_MANAGED_CMK, you must specify - * the Amazon Resource Name (ARN) of the CMK. If you set KeyType to - * AWS_OWNED_CMK, Kinesis Data Firehose uses a service-account CMK.

                                                          - */ - KeyARN?: string; } export namespace DeliveryStreamEncryptionConfigurationInput { @@ -193,6 +193,12 @@ export type DeliveryStreamType = "DirectPut" | "KinesisStreamAsSource"; * destination.

                                                          */ export interface ElasticsearchBufferingHints { + /** + *

                                                          Buffer incoming data for the specified period of time, in seconds, before delivering + * it to the destination. The default value is 300 (5 minutes).

                                                          + */ + IntervalInSeconds?: number; + /** *

                                                          Buffer incoming data to the specified size, in MBs, before delivering it to the * destination. The default value is 5.

                                                          @@ -201,12 +207,6 @@ export interface ElasticsearchBufferingHints { * ingest data at 1 MB/sec, the value should be 10 MB or higher.

                                                          */ SizeInMBs?: number; - - /** - *

                                                          Buffer incoming data for the specified period of time, in seconds, before delivering - * it to the destination. The default value is 300 (5 minutes).

                                                          - */ - IntervalInSeconds?: number; } export namespace ElasticsearchBufferingHints { @@ -274,14 +274,14 @@ export namespace Processor { */ export interface ProcessingConfiguration { /** - *

                                                          Enables or disables data processing.

                                                          + *

                                                          The data processors.

                                                          */ - Enabled?: boolean; + Processors?: Processor[]; /** - *

                                                          The data processors.

                                                          + *

                                                          Enables or disables data processing.

                                                          */ - Processors?: Processor[]; + Enabled?: boolean; } export namespace ProcessingConfiguration { @@ -359,13 +359,16 @@ export namespace EncryptionConfiguration { */ export interface S3DestinationConfiguration { /** - *

                                                          The compression format. If no value is specified, the default is - * UNCOMPRESSED.

                                                          - *

                                                          The compression formats SNAPPY or ZIP cannot be specified - * for Amazon Redshift destinations because they are not supported by the Amazon Redshift - * COPY operation that reads from the S3 bucket.

                                                          + *

                                                          The buffering option. If no value is specified, BufferingHints object + * default values are used.

                                                          */ - CompressionFormat?: CompressionFormat | string; + BufferingHints?: BufferingHints; + + /** + *

                                                          The encryption configuration. If no value is specified, the default is no + * encryption.

                                                          + */ + EncryptionConfiguration?: EncryptionConfiguration; /** *

                                                          The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3 @@ -375,22 +378,15 @@ export interface S3DestinationConfiguration { Prefix?: string; /** - *

                                                          The buffering option. If no value is specified, BufferingHints object - * default values are used.

                                                          - */ - BufferingHints?: BufferingHints; - - /** - *

                                                          The encryption configuration. If no value is specified, the default is no - * encryption.

                                                          + *

                                                          The CloudWatch logging options for your delivery stream.

                                                          */ - EncryptionConfiguration?: EncryptionConfiguration; + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** - *

                                                          The Amazon Resource Name (ARN) of the AWS credentials. For more information, see - * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                          + *

                                                          The ARN of the S3 bucket. For more information, see Amazon + * Resource Names (ARNs) and AWS Service Namespaces.

                                                          */ - RoleARN: string | undefined; + BucketARN: string | undefined; /** *

                                                          A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing @@ -401,15 +397,19 @@ export interface S3DestinationConfiguration { ErrorOutputPrefix?: string; /** - *

                                                          The CloudWatch logging options for your delivery stream.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the AWS credentials. For more information, see + * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                          */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + RoleARN: string | undefined; /** - *

                                                          The ARN of the S3 bucket. For more information, see Amazon - * Resource Names (ARNs) and AWS Service Namespaces.

                                                          + *

                                                          The compression format. If no value is specified, the default is + * UNCOMPRESSED.

                                                          + *

                                                          The compression formats SNAPPY or ZIP cannot be specified + * for Amazon Redshift destinations because they are not supported by the Amazon Redshift + * COPY operation that reads from the S3 bucket.

                                                          */ - BucketARN: string | undefined; + CompressionFormat?: CompressionFormat | string; } export namespace S3DestinationConfiguration { @@ -515,31 +515,37 @@ export namespace VpcConfiguration { */ export interface ElasticsearchDestinationConfiguration { /** - *

                                                          The Elasticsearch index name.

                                                          + *

                                                          The data processing configuration.

                                                          */ - IndexName: string | undefined; + ProcessingConfiguration?: ProcessingConfiguration; /** - *

                                                          The endpoint to use when communicating with the cluster. Specify either this - * ClusterEndpoint or the DomainARN field.

                                                          + *

                                                          The configuration for the backup Amazon S3 location.

                                                          */ - ClusterEndpoint?: string; + S3Configuration: S3DestinationConfiguration | undefined; /** - *

                                                          The configuration for the backup Amazon S3 location.

                                                          + *

                                                          The details of the VPC of the Amazon ES destination.

                                                          */ - S3Configuration: S3DestinationConfiguration | undefined; + VpcConfiguration?: VpcConfiguration; /** - *

                                                          The buffering options. If no value is specified, the default values for - * ElasticsearchBufferingHints are used.

                                                          + *

                                                          The Elasticsearch index name.

                                                          */ - BufferingHints?: ElasticsearchBufferingHints; + IndexName: string | undefined; /** - *

                                                          The details of the VPC of the Amazon ES destination.

                                                          + *

                                                          The Elasticsearch index rotation period. Index rotation appends a timestamp to the + * IndexName to facilitate the expiration of old data. For more information, + * see Index Rotation for the + * Amazon ES Destination. The default value is OneDay.

                                                          */ - VpcConfiguration?: VpcConfiguration; + IndexRotationPeriod?: ElasticsearchIndexRotationPeriod | string; + + /** + *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          + */ + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** *

                                                          The retry behavior in case Kinesis Data Firehose is unable to deliver documents to @@ -548,9 +554,16 @@ export interface ElasticsearchDestinationConfiguration { RetryOptions?: ElasticsearchRetryOptions; /** - *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          + *

                                                          The buffering options. If no value is specified, the default values for + * ElasticsearchBufferingHints are used.

                                                          */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + BufferingHints?: ElasticsearchBufferingHints; + + /** + *

                                                          The endpoint to use when communicating with the cluster. Specify either this + * ClusterEndpoint or the DomainARN field.

                                                          + */ + ClusterEndpoint?: string; /** *

                                                          The Elasticsearch type name. For Elasticsearch 6.x, there can be only one type per @@ -561,6 +574,17 @@ export interface ElasticsearchDestinationConfiguration { */ TypeName?: string; + /** + *

                                                          The ARN of the Amazon ES domain. The IAM role must have permissions + * for DescribeElasticsearchDomain, DescribeElasticsearchDomains, + * and DescribeElasticsearchDomainConfig after assuming the role specified in + * RoleARN. For more information, see Amazon + * Resource Names (ARNs) and AWS Service Namespaces.

                                                          + * + *

                                                          Specify either ClusterEndpoint or DomainARN.

                                                          + */ + DomainARN?: string; + /** *

                                                          The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose * for calling the Amazon ES Configuration API and for indexing documents. For more @@ -570,19 +594,6 @@ export interface ElasticsearchDestinationConfiguration { */ RoleARN: string | undefined; - /** - *

                                                          The Elasticsearch index rotation period. Index rotation appends a timestamp to the - * IndexName to facilitate the expiration of old data. For more information, - * see Index Rotation for the - * Amazon ES Destination. The default value is OneDay.

                                                          - */ - IndexRotationPeriod?: ElasticsearchIndexRotationPeriod | string; - - /** - *

                                                          The data processing configuration.

                                                          - */ - ProcessingConfiguration?: ProcessingConfiguration; - /** *

                                                          Defines how documents should be delivered to Amazon S3. When it is set to * FailedDocumentsOnly, Kinesis Data Firehose writes any documents that could @@ -596,17 +607,6 @@ export interface ElasticsearchDestinationConfiguration { *

                                                          You can't change this backup mode after you create the delivery stream.

                                                          */ S3BackupMode?: ElasticsearchS3BackupMode | string; - - /** - *

                                                          The ARN of the Amazon ES domain. The IAM role must have permissions - * for DescribeElasticsearchDomain, DescribeElasticsearchDomains, - * and DescribeElasticsearchDomainConfig after assuming the role specified in - * RoleARN. For more information, see Amazon - * Resource Names (ARNs) and AWS Service Namespaces.

                                                          - * - *

                                                          Specify either ClusterEndpoint or DomainARN.

                                                          - */ - DomainARN?: string; } export namespace ElasticsearchDestinationConfiguration { @@ -646,13 +646,14 @@ export namespace HiveJsonSerDe { */ export interface OpenXJsonSerDe { /** - *

                                                          Maps column names to JSON keys that aren't identical to the column names. This is - * useful when the JSON contains keys that are Hive keywords. For example, - * timestamp is a Hive keyword. If you have a JSON key named - * timestamp, set this parameter to {"ts": "timestamp"} to map - * this key to a column named ts.

                                                          + *

                                                          When set to true, specifies that the names of the keys include dots and + * that you want Kinesis Data Firehose to replace them with underscores. This is useful + * because Apache Hive does not allow dots in column names. For example, if the JSON contains + * a key whose name is "a.b", you can define the column name to be "a_b" when using this + * option.

                                                          + *

                                                          The default is false.

                                                          */ - ColumnToJsonKeyMappings?: { [key: string]: string }; + ConvertDotsInJsonKeysToUnderscores?: boolean; /** *

                                                          When set to true, which is the default, Kinesis Data Firehose converts @@ -661,14 +662,13 @@ export interface OpenXJsonSerDe { CaseInsensitive?: boolean; /** - *

                                                          When set to true, specifies that the names of the keys include dots and - * that you want Kinesis Data Firehose to replace them with underscores. This is useful - * because Apache Hive does not allow dots in column names. For example, if the JSON contains - * a key whose name is "a.b", you can define the column name to be "a_b" when using this - * option.

                                                          - *

                                                          The default is false.

                                                          + *

                                                          Maps column names to JSON keys that aren't identical to the column names. This is + * useful when the JSON contains keys that are Hive keywords. For example, + * timestamp is a Hive keyword. If you have a JSON key named + * timestamp, set this parameter to {"ts": "timestamp"} to map + * this key to a column named ts.

                                                          */ - ConvertDotsInJsonKeysToUnderscores?: boolean; + ColumnToJsonKeyMappings?: { [key: string]: string }; } export namespace OpenXJsonSerDe { @@ -684,14 +684,6 @@ export namespace OpenXJsonSerDe { * the Apache Hive JSON SerDe and the OpenX JSON SerDe.

                                                          */ export interface Deserializer { - /** - *

                                                          The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing - * data, which means converting it from the JSON format in preparation for serializing it to - * the Parquet or ORC format. This is one of two deserializers you can choose, depending on - * which one offers the functionality you need. The other option is the OpenX SerDe.

                                                          - */ - HiveJsonSerDe?: HiveJsonSerDe; - /** *

                                                          The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which means * converting it from the JSON format in preparation for serializing it to the Parquet or ORC @@ -699,6 +691,14 @@ export interface Deserializer { * functionality you need. The other option is the native Hive / HCatalog JsonSerDe.

                                                          */ OpenXJsonSerDe?: OpenXJsonSerDe; + + /** + *

                                                          The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing + * data, which means converting it from the JSON format in preparation for serializing it to + * the Parquet or ORC format. This is one of two deserializers you can choose, depending on + * which one offers the functionality you need. The other option is the OpenX SerDe.

                                                          + */ + HiveJsonSerDe?: HiveJsonSerDe; } export namespace Deserializer { @@ -743,30 +743,22 @@ export enum OrcFormatVersion { */ export interface OrcSerDe { /** - *

                                                          The column names for which you want Kinesis Data Firehose to create bloom filters. The - * default is null.

                                                          + *

                                                          The number of rows between index entries. The default is 10,000 and the minimum is + * 1,000.

                                                          */ - BloomFilterColumns?: string[]; + RowIndexStride?: number; /** - *

                                                          A number between 0 and 1 that defines the tolerance for block padding as a decimal - * fraction of stripe size. The default value is 0.05, which means 5 percent of stripe - * size.

                                                          - *

                                                          For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the default block - * padding tolerance of 5 percent reserves a maximum of 3.2 MiB for padding within the 256 MiB - * block. In such a case, if the available size within the block is more than 3.2 MiB, a new, - * smaller stripe is inserted to fit within that space. This ensures that no stripe crosses - * block boundaries and causes remote reads within a node-local task.

                                                          - *

                                                          Kinesis Data Firehose ignores this parameter when OrcSerDe$EnablePadding is false.

                                                          + *

                                                          The number of bytes in each stripe. The default is 64 MiB and the minimum is 8 + * MiB.

                                                          */ - PaddingTolerance?: number; + StripeSizeBytes?: number; /** - *

                                                          Represents the fraction of the total number of non-null rows. To turn off dictionary - * encoding, set this fraction to a number that is less than the number of distinct keys in a - * dictionary. To always use dictionary encoding, set this threshold to 1.

                                                          + *

                                                          The version of the file to write. The possible values are V0_11 and + * V0_12. The default is V0_12.

                                                          */ - DictionaryKeyThreshold?: number; + FormatVersion?: OrcFormatVersion | string; /** *

                                                          The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to @@ -776,33 +768,35 @@ export interface OrcSerDe { BlockSizeBytes?: number; /** - *

                                                          The number of rows between index entries. The default is 10,000 and the minimum is - * 1,000.

                                                          + *

                                                          The compression code to use over data blocks. The default is SNAPPY.

                                                          */ - RowIndexStride?: number; + Compression?: OrcCompression | string; /** - *

                                                          The number of bytes in each stripe. The default is 64 MiB and the minimum is 8 - * MiB.

                                                          + *

                                                          Represents the fraction of the total number of non-null rows. To turn off dictionary + * encoding, set this fraction to a number that is less than the number of distinct keys in a + * dictionary. To always use dictionary encoding, set this threshold to 1.

                                                          */ - StripeSizeBytes?: number; - - /** - *

                                                          The version of the file to write. The possible values are V0_11 and - * V0_12. The default is V0_12.

                                                          - */ - FormatVersion?: OrcFormatVersion | string; + DictionaryKeyThreshold?: number; /** - *

                                                          The compression code to use over data blocks. The default is SNAPPY.

                                                          + *

                                                          A number between 0 and 1 that defines the tolerance for block padding as a decimal + * fraction of stripe size. The default value is 0.05, which means 5 percent of stripe + * size.

                                                          + *

                                                          For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the default block + * padding tolerance of 5 percent reserves a maximum of 3.2 MiB for padding within the 256 MiB + * block. In such a case, if the available size within the block is more than 3.2 MiB, a new, + * smaller stripe is inserted to fit within that space. This ensures that no stripe crosses + * block boundaries and causes remote reads within a node-local task.

                                                          + *

                                                          Kinesis Data Firehose ignores this parameter when OrcSerDe$EnablePadding is false.

                                                          */ - Compression?: OrcCompression | string; + PaddingTolerance?: number; /** - *

                                                          The Bloom filter false positive probability (FPP). The lower the FPP, the bigger the - * Bloom filter. The default value is 0.05, the minimum is 0, and the maximum is 1.

                                                          + *

                                                          The column names for which you want Kinesis Data Firehose to create bloom filters. The + * default is null.

                                                          */ - BloomFilterFalsePositiveProbability?: number; + BloomFilterColumns?: string[]; /** *

                                                          Set this to true to indicate that you want stripes to be padded to the HDFS @@ -810,6 +804,12 @@ export interface OrcSerDe { * before querying. The default is false.

                                                          */ EnablePadding?: boolean; + + /** + *

                                                          The Bloom filter false positive probability (FPP). The lower the FPP, the bigger the + * Bloom filter. The default value is 0.05, the minimum is 0, and the maximum is 1.

                                                          + */ + BloomFilterFalsePositiveProbability?: number; } export namespace OrcSerDe { @@ -835,19 +835,10 @@ export enum ParquetWriterVersion { */ export interface ParquetSerDe { /** - *

                                                          The compression code to use over data blocks. The possible values are - * UNCOMPRESSED, SNAPPY, and GZIP, with the default - * being SNAPPY. Use SNAPPY for higher decompression speed. Use - * GZIP if the compression ratio is more important than speed.

                                                          - */ - Compression?: ParquetCompression | string; - - /** - *

                                                          The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to - * copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the - * minimum is 64 MiB. Kinesis Data Firehose uses this value for padding calculations.

                                                          + *

                                                          Indicates the version of row format to output. The possible values are V1 + * and V2. The default is V1.

                                                          */ - BlockSizeBytes?: number; + WriterVersion?: ParquetWriterVersion | string; /** *

                                                          The Parquet page size. Column chunks are divided into pages. A page is conceptually an @@ -857,10 +848,17 @@ export interface ParquetSerDe { PageSizeBytes?: number; /** - *

                                                          Indicates the version of row format to output. The possible values are V1 - * and V2. The default is V1.

                                                          + *

                                                          The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to + * copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the + * minimum is 64 MiB. Kinesis Data Firehose uses this value for padding calculations.

                                                          */ - WriterVersion?: ParquetWriterVersion | string; + BlockSizeBytes?: number; + + /** + *

                                                          The maximum amount of padding to apply. This is useful if you intend to copy the data + * from Amazon S3 to HDFS before querying. The default is 0.

                                                          + */ + MaxPaddingBytes?: number; /** *

                                                          Indicates whether to enable dictionary compression.

                                                          @@ -868,10 +866,12 @@ export interface ParquetSerDe { EnableDictionaryCompression?: boolean; /** - *

                                                          The maximum amount of padding to apply. This is useful if you intend to copy the data - * from Amazon S3 to HDFS before querying. The default is 0.

                                                          + *

                                                          The compression code to use over data blocks. The possible values are + * UNCOMPRESSED, SNAPPY, and GZIP, with the default + * being SNAPPY. Use SNAPPY for higher decompression speed. Use + * GZIP if the compression ratio is more important than speed.

                                                          */ - MaxPaddingBytes?: number; + Compression?: ParquetCompression | string; } export namespace ParquetSerDe { @@ -937,6 +937,12 @@ export interface SchemaConfiguration { */ DatabaseName?: string; + /** + *

                                                          The ID of the AWS Glue Data Catalog. If you don't supply this, the AWS account ID is + * used by default.

                                                          + */ + CatalogId?: string; + /** *

                                                          The role that Kinesis Data Firehose can use to access AWS Glue. This role must be in * the same account you use for Kinesis Data Firehose. Cross-account roles aren't @@ -944,22 +950,16 @@ export interface SchemaConfiguration { */ RoleARN?: string; - /** - *

                                                          Specifies the AWS Glue table that contains the column information that constitutes your - * data schema.

                                                          - */ - TableName?: string; - /** *

                                                          If you don't specify an AWS Region, the default is the current Region.

                                                          */ Region?: string; /** - *

                                                          The ID of the AWS Glue Data Catalog. If you don't supply this, the AWS account ID is - * used by default.

                                                          + *

                                                          Specifies the AWS Glue table that contains the column information that constitutes your + * data schema.

                                                          */ - CatalogId?: string; + TableName?: string; /** *

                                                          Specifies the table version for the output data schema. If you don't specify this @@ -984,6 +984,12 @@ export namespace SchemaConfiguration { * Parquet or ORC format. For more information, see Kinesis Data Firehose Record Format Conversion.

                                                          */ export interface DataFormatConversionConfiguration { + /** + *

                                                          Defaults to true. Set it to false if you want to disable + * format conversion while preserving the configuration details.

                                                          + */ + Enabled?: boolean; + /** *

                                                          Specifies the serializer that you want Kinesis Data Firehose to use to convert the * format of your data to the Parquet or ORC format. This parameter is required if @@ -992,10 +998,10 @@ export interface DataFormatConversionConfiguration { OutputFormatConfiguration?: OutputFormatConfiguration; /** - *

                                                          Defaults to true. Set it to false if you want to disable - * format conversion while preserving the configuration details.

                                                          + *

                                                          Specifies the AWS Glue Data Catalog table that contains the column information. This + * parameter is required if Enabled is set to true.

                                                          */ - Enabled?: boolean; + SchemaConfiguration?: SchemaConfiguration; /** *

                                                          Specifies the deserializer that you want Kinesis Data Firehose to use to convert the @@ -1003,12 +1009,6 @@ export interface DataFormatConversionConfiguration { * true.

                                                          */ InputFormatConfiguration?: InputFormatConfiguration; - - /** - *

                                                          Specifies the AWS Glue Data Catalog table that contains the column information. This - * parameter is required if Enabled is set to true.

                                                          - */ - SchemaConfiguration?: SchemaConfiguration; } export namespace DataFormatConversionConfiguration { @@ -1024,28 +1024,28 @@ export type S3BackupMode = "Disabled" | "Enabled"; */ export interface ExtendedS3DestinationConfiguration { /** - *

                                                          The configuration for backup in Amazon S3.

                                                          + *

                                                          The compression format. If no value is specified, the default is + * UNCOMPRESSED.

                                                          */ - S3BackupConfiguration?: S3DestinationConfiguration; + CompressionFormat?: CompressionFormat | string; /** - *

                                                          The Amazon Resource Name (ARN) of the AWS credentials. For more information, see - * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                          + *

                                                          The serializer, deserializer, and schema for converting data from the JSON format to + * the Parquet or ORC format before writing it to Amazon S3.

                                                          */ - RoleARN: string | undefined; + DataFormatConversionConfiguration?: DataFormatConversionConfiguration; /** - *

                                                          The encryption configuration. If no value is specified, the default is no - * encryption.

                                                          + *

                                                          The data processing configuration.

                                                          */ - EncryptionConfiguration?: EncryptionConfiguration; + ProcessingConfiguration?: ProcessingConfiguration; /** - *

                                                          The Amazon S3 backup mode. After you create a delivery stream, you can update it to - * enable Amazon S3 backup if it is disabled. If backup is enabled, you can't update the - * delivery stream to disable it.

                                                          + *

                                                          The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3 + * files. You can also specify a custom prefix, as described in Custom Prefixes + * for Amazon S3 Objects.

                                                          */ - S3BackupMode?: S3BackupMode | string; + Prefix?: string; /** *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          @@ -1053,22 +1053,17 @@ export interface ExtendedS3DestinationConfiguration { CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** - *

                                                          The serializer, deserializer, and schema for converting data from the JSON format to - * the Parquet or ORC format before writing it to Amazon S3.

                                                          - */ - DataFormatConversionConfiguration?: DataFormatConversionConfiguration; - - /** - *

                                                          The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3 - * files. You can also specify a custom prefix, as described in Custom Prefixes - * for Amazon S3 Objects.

                                                          + *

                                                          The Amazon S3 backup mode. After you create a delivery stream, you can update it to + * enable Amazon S3 backup if it is disabled. If backup is enabled, you can't update the + * delivery stream to disable it.

                                                          */ - Prefix?: string; + S3BackupMode?: S3BackupMode | string; /** - *

                                                          The data processing configuration.

                                                          + *

                                                          The encryption configuration. If no value is specified, the default is no + * encryption.

                                                          */ - ProcessingConfiguration?: ProcessingConfiguration; + EncryptionConfiguration?: EncryptionConfiguration; /** *

                                                          The buffering option.

                                                          @@ -1076,10 +1071,10 @@ export interface ExtendedS3DestinationConfiguration { BufferingHints?: BufferingHints; /** - *

                                                          The compression format. If no value is specified, the default is - * UNCOMPRESSED.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the AWS credentials. For more information, see + * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                          */ - CompressionFormat?: CompressionFormat | string; + RoleARN: string | undefined; /** *

                                                          The ARN of the S3 bucket. For more information, see Amazon @@ -1087,6 +1082,11 @@ export interface ExtendedS3DestinationConfiguration { */ BucketARN: string | undefined; + /** + *

                                                          The configuration for backup in Amazon S3.

                                                          + */ + S3BackupConfiguration?: S3DestinationConfiguration; + /** *

                                                          A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing * them to S3. This prefix appears immediately following the bucket name. For information @@ -1137,12 +1137,6 @@ export namespace HttpEndpointBufferingHints { * data.

                                                          */ export interface HttpEndpointConfiguration { - /** - *

                                                          The access key required for Kinesis Firehose to authenticate with the HTTP endpoint - * selected as the destination.

                                                          - */ - AccessKey?: string; - /** *

                                                          The URL of the HTTP endpoint selected as the destination.

                                                          */ @@ -1152,13 +1146,19 @@ export interface HttpEndpointConfiguration { *

                                                          The name of the HTTP endpoint selected as the destination.

                                                          */ Name?: string; + + /** + *

                                                          The access key required for Kinesis Firehose to authenticate with the HTTP endpoint + * selected as the destination.

                                                          + */ + AccessKey?: string; } export namespace HttpEndpointConfiguration { export const filterSensitiveLog = (obj: HttpEndpointConfiguration): any => ({ ...obj, - ...(obj.AccessKey && { AccessKey: SENSITIVE_STRING }), ...(obj.Url && { Url: SENSITIVE_STRING }), + ...(obj.AccessKey && { AccessKey: SENSITIVE_STRING }), }); } @@ -1238,29 +1238,6 @@ export type HttpEndpointS3BackupMode = "AllData" | "FailedDataOnly"; *

                                                          Describes the configuration of the HTTP endpoint destination.

                                                          */ export interface HttpEndpointDestinationConfiguration { - /** - *

                                                          Describes a data processing configuration.

                                                          - */ - ProcessingConfiguration?: ProcessingConfiguration; - - /** - *

                                                          Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to - * the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of - * receipt from the specified HTTP endpoint destination.

                                                          - */ - RetryOptions?: HttpEndpointRetryOptions; - - /** - *

                                                          The configuration of the HTTP endpoint selected as the destination.

                                                          - */ - EndpointConfiguration: HttpEndpointConfiguration | undefined; - - /** - *

                                                          The configuration of the requeste sent to the HTTP endpoint specified as the - * destination.

                                                          - */ - RequestConfiguration?: HttpEndpointRequestConfiguration; - /** *

                                                          Describes the S3 bucket backup options for the data that Kinesis Data Firehose delivers * to the HTTP endpoint destination. You can back up all documents (AllData) or @@ -1280,11 +1257,34 @@ export interface HttpEndpointDestinationConfiguration { */ RoleARN?: string; + /** + *

                                                          Describes a data processing configuration.

                                                          + */ + ProcessingConfiguration?: ProcessingConfiguration; + /** *

                                                          Describes the configuration of a destination in Amazon S3.

                                                          */ S3Configuration: S3DestinationConfiguration | undefined; + /** + *

                                                          The configuration of the requeste sent to the HTTP endpoint specified as the + * destination.

                                                          + */ + RequestConfiguration?: HttpEndpointRequestConfiguration; + + /** + *

                                                          The configuration of the HTTP endpoint selected as the destination.

                                                          + */ + EndpointConfiguration: HttpEndpointConfiguration | undefined; + + /** + *

                                                          Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to + * the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of + * receipt from the specified HTTP endpoint destination.

                                                          + */ + RetryOptions?: HttpEndpointRetryOptions; + /** *

                                                          The buffering options that can be used before data is delivered to the specified * destination. Kinesis Data Firehose treats these options as hints, and it might choose to @@ -1298,12 +1298,12 @@ export interface HttpEndpointDestinationConfiguration { export namespace HttpEndpointDestinationConfiguration { export const filterSensitiveLog = (obj: HttpEndpointDestinationConfiguration): any => ({ ...obj, - ...(obj.EndpointConfiguration && { - EndpointConfiguration: HttpEndpointConfiguration.filterSensitiveLog(obj.EndpointConfiguration), - }), ...(obj.RequestConfiguration && { RequestConfiguration: HttpEndpointRequestConfiguration.filterSensitiveLog(obj.RequestConfiguration), }), + ...(obj.EndpointConfiguration && { + EndpointConfiguration: HttpEndpointConfiguration.filterSensitiveLog(obj.EndpointConfiguration), + }), }); } @@ -1313,15 +1313,15 @@ export namespace HttpEndpointDestinationConfiguration { */ export interface KinesisStreamSourceConfiguration { /** - *

                                                          The ARN of the role that provides access to the source Kinesis data stream. For more - * information, see AWS Identity and Access Management (IAM) ARN Format.

                                                          + *

                                                          The ARN of the source Kinesis data stream. For more information, see Amazon Kinesis Data Streams ARN Format.

                                                          */ - RoleARN: string | undefined; + KinesisStreamARN: string | undefined; /** - *

                                                          The ARN of the source Kinesis data stream. For more information, see Amazon Kinesis Data Streams ARN Format.

                                                          + *

                                                          The ARN of the role that provides access to the source Kinesis data stream. For more + * information, see AWS Identity and Access Management (IAM) ARN Format.

                                                          */ - KinesisStreamARN: string | undefined; + RoleARN: string | undefined; } export namespace KinesisStreamSourceConfiguration { @@ -1358,75 +1358,75 @@ export type RedshiftS3BackupMode = "Disabled" | "Enabled"; */ export interface RedshiftDestinationConfiguration { /** - *

                                                          The configuration for the intermediate Amazon S3 location from which Amazon Redshift - * obtains data. Restrictions are described in the topic for CreateDeliveryStream.

                                                          - *

                                                          The compression formats SNAPPY or ZIP cannot be specified - * in RedshiftDestinationConfiguration.S3Configuration because the Amazon - * Redshift COPY operation that reads from the S3 bucket doesn't support these - * compression formats.

                                                          + *

                                                          The retry behavior in case Kinesis Data Firehose is unable to deliver documents to + * Amazon Redshift. Default value is 3600 (60 minutes).

                                                          */ - S3Configuration: S3DestinationConfiguration | undefined; + RetryOptions?: RedshiftRetryOptions; /** - *

                                                          The name of the user.

                                                          + *

                                                          The COPY command.

                                                          */ - Username: string | undefined; + CopyCommand: CopyCommand | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the AWS credentials. For more information, see - * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                          + *

                                                          The database connection string.

                                                          */ - RoleARN: string | undefined; + ClusterJDBCURL: string | undefined; /** - *

                                                          The configuration for backup in Amazon S3.

                                                          + *

                                                          The user password.

                                                          */ - S3BackupConfiguration?: S3DestinationConfiguration; + Password: string | undefined; /** - *

                                                          The CloudWatch logging options for your delivery stream.

                                                          + *

                                                          The name of the user.

                                                          */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + Username: string | undefined; /** - *

                                                          The database connection string.

                                                          + *

                                                          The Amazon S3 backup mode. After you create a delivery stream, you can update it to + * enable Amazon S3 backup if it is disabled. If backup is enabled, you can't update the + * delivery stream to disable it.

                                                          */ - ClusterJDBCURL: string | undefined; + S3BackupMode?: RedshiftS3BackupMode | string; /** - *

                                                          The user password.

                                                          + *

                                                          The configuration for the intermediate Amazon S3 location from which Amazon Redshift + * obtains data. Restrictions are described in the topic for CreateDeliveryStream.

                                                          + *

                                                          The compression formats SNAPPY or ZIP cannot be specified + * in RedshiftDestinationConfiguration.S3Configuration because the Amazon + * Redshift COPY operation that reads from the S3 bucket doesn't support these + * compression formats.

                                                          */ - Password: string | undefined; + S3Configuration: S3DestinationConfiguration | undefined; /** - *

                                                          The Amazon S3 backup mode. After you create a delivery stream, you can update it to - * enable Amazon S3 backup if it is disabled. If backup is enabled, you can't update the - * delivery stream to disable it.

                                                          + *

                                                          The configuration for backup in Amazon S3.

                                                          */ - S3BackupMode?: RedshiftS3BackupMode | string; + S3BackupConfiguration?: S3DestinationConfiguration; /** - *

                                                          The data processing configuration.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the AWS credentials. For more information, see + * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                          */ - ProcessingConfiguration?: ProcessingConfiguration; + RoleARN: string | undefined; /** - *

                                                          The retry behavior in case Kinesis Data Firehose is unable to deliver documents to - * Amazon Redshift. Default value is 3600 (60 minutes).

                                                          + *

                                                          The CloudWatch logging options for your delivery stream.

                                                          */ - RetryOptions?: RedshiftRetryOptions; + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** - *

                                                          The COPY command.

                                                          + *

                                                          The data processing configuration.

                                                          */ - CopyCommand: CopyCommand | undefined; + ProcessingConfiguration?: ProcessingConfiguration; } export namespace RedshiftDestinationConfiguration { export const filterSensitiveLog = (obj: RedshiftDestinationConfiguration): any => ({ ...obj, - ...(obj.Username && { Username: SENSITIVE_STRING }), ...(obj.Password && { Password: SENSITIVE_STRING }), + ...(obj.Username && { Username: SENSITIVE_STRING }), }); } @@ -1459,62 +1459,62 @@ export type SplunkS3BackupMode = "AllEvents" | "FailedEventsOnly"; */ export interface SplunkDestinationConfiguration { /** - *

                                                          The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from - * Splunk after it sends it data. At the end of the timeout period, Kinesis Data Firehose - * either tries to send the data again or considers it an error, based on your retry - * settings.

                                                          + *

                                                          The configuration for the backup Amazon S3 location.

                                                          */ - HECAcknowledgmentTimeoutInSeconds?: number; + S3Configuration: S3DestinationConfiguration | undefined; /** - *

                                                          This is a GUID that you obtain from your Splunk cluster when you create a new HEC - * endpoint.

                                                          + *

                                                          Defines how documents should be delivered to Amazon S3. When set to + * FailedEventsOnly, Kinesis Data Firehose writes any data that could not be + * indexed to the configured Amazon S3 destination. When set to AllEvents, + * Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed + * documents to Amazon S3. The default value is FailedEventsOnly.

                                                          + *

                                                          You can update this backup mode from FailedEventsOnly to + * AllEvents. You can't update it from AllEvents to + * FailedEventsOnly.

                                                          */ - HECToken: string | undefined; + S3BackupMode?: SplunkS3BackupMode | string; /** - *

                                                          The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk, - * or if it doesn't receive an acknowledgment of receipt from Splunk.

                                                          + *

                                                          The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your + * data.

                                                          */ - RetryOptions?: SplunkRetryOptions; + HECEndpoint: string | undefined; /** - *

                                                          This type can be either "Raw" or "Event."

                                                          + *

                                                          The data processing configuration.

                                                          */ - HECEndpointType: HECEndpointType | string | undefined; + ProcessingConfiguration?: ProcessingConfiguration; /** - *

                                                          The data processing configuration.

                                                          + *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          */ - ProcessingConfiguration?: ProcessingConfiguration; + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** - *

                                                          Defines how documents should be delivered to Amazon S3. When set to - * FailedEventsOnly, Kinesis Data Firehose writes any data that could not be - * indexed to the configured Amazon S3 destination. When set to AllEvents, - * Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed - * documents to Amazon S3. The default value is FailedEventsOnly.

                                                          - *

                                                          You can update this backup mode from FailedEventsOnly to - * AllEvents. You can't update it from AllEvents to - * FailedEventsOnly.

                                                          + *

                                                          The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk, + * or if it doesn't receive an acknowledgment of receipt from Splunk.

                                                          */ - S3BackupMode?: SplunkS3BackupMode | string; + RetryOptions?: SplunkRetryOptions; /** - *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          + *

                                                          This is a GUID that you obtain from your Splunk cluster when you create a new HEC + * endpoint.

                                                          */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + HECToken: string | undefined; /** - *

                                                          The configuration for the backup Amazon S3 location.

                                                          + *

                                                          The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from + * Splunk after it sends it data. At the end of the timeout period, Kinesis Data Firehose + * either tries to send the data again or considers it an error, based on your retry + * settings.

                                                          */ - S3Configuration: S3DestinationConfiguration | undefined; + HECAcknowledgmentTimeoutInSeconds?: number; /** - *

                                                          The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your - * data.

                                                          + *

                                                          This type can be either "Raw" or "Event."

                                                          */ - HECEndpoint: string | undefined; + HECEndpointType: HECEndpointType | string | undefined; } export namespace SplunkDestinationConfiguration { @@ -1549,11 +1549,6 @@ export namespace Tag { } export interface CreateDeliveryStreamInput { - /** - *

                                                          The destination in Amazon Redshift. You can specify only one destination.

                                                          - */ - RedshiftDestinationConfiguration?: RedshiftDestinationConfiguration; - /** *

                                                          [Deprecated] * The destination in Amazon S3. You can specify only one destination.

                                                          @@ -1561,27 +1556,10 @@ export interface CreateDeliveryStreamInput { S3DestinationConfiguration?: S3DestinationConfiguration; /** - *

                                                          The delivery stream type. This parameter can be one of the following - * values:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * DirectPut: Provider applications access the delivery stream - * directly.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * KinesisStreamAsSource: The delivery stream uses a Kinesis data - * stream as a source.

                                                            - *
                                                          • - *
                                                          - */ - DeliveryStreamType?: DeliveryStreamType | string; - - /** - *

                                                          The destination in Splunk. You can specify only one destination.

                                                          + *

                                                          Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for + * Server-Side Encryption (SSE).

                                                          */ - SplunkDestinationConfiguration?: SplunkDestinationConfiguration; + DeliveryStreamEncryptionConfigurationInput?: DeliveryStreamEncryptionConfigurationInput; /** *

                                                          The name of the delivery stream. This name must be unique per AWS account in the same @@ -1597,21 +1575,32 @@ export interface CreateDeliveryStreamInput { KinesisStreamSourceConfiguration?: KinesisStreamSourceConfiguration; /** - *

                                                          The destination in Amazon ES. You can specify only one destination.

                                                          + *

                                                          The destination in Amazon S3. You can specify only one destination.

                                                          */ - ElasticsearchDestinationConfiguration?: ElasticsearchDestinationConfiguration; + ExtendedS3DestinationConfiguration?: ExtendedS3DestinationConfiguration; /** - *

                                                          Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for - * Server-Side Encryption (SSE).

                                                          + *

                                                          The destination in Splunk. You can specify only one destination.

                                                          */ - DeliveryStreamEncryptionConfigurationInput?: DeliveryStreamEncryptionConfigurationInput; + SplunkDestinationConfiguration?: SplunkDestinationConfiguration; /** - *

                                                          Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. - * You can specify only one destination.

                                                          + *

                                                          The delivery stream type. This parameter can be one of the following + * values:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * DirectPut: Provider applications access the delivery stream + * directly.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * KinesisStreamAsSource: The delivery stream uses a Kinesis data + * stream as a source.

                                                            + *
                                                          • + *
                                                          */ - HttpEndpointDestinationConfiguration?: HttpEndpointDestinationConfiguration; + DeliveryStreamType?: DeliveryStreamType | string; /** *

                                                          A set of tags to assign to the delivery stream. A tag is a key-value pair that you can @@ -1625,24 +1614,35 @@ export interface CreateDeliveryStreamInput { Tags?: Tag[]; /** - *

                                                          The destination in Amazon S3. You can specify only one destination.

                                                          + *

                                                          Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. + * You can specify only one destination.

                                                          */ - ExtendedS3DestinationConfiguration?: ExtendedS3DestinationConfiguration; + HttpEndpointDestinationConfiguration?: HttpEndpointDestinationConfiguration; + + /** + *

                                                          The destination in Amazon Redshift. You can specify only one destination.

                                                          + */ + RedshiftDestinationConfiguration?: RedshiftDestinationConfiguration; + + /** + *

                                                          The destination in Amazon ES. You can specify only one destination.

                                                          + */ + ElasticsearchDestinationConfiguration?: ElasticsearchDestinationConfiguration; } export namespace CreateDeliveryStreamInput { export const filterSensitiveLog = (obj: CreateDeliveryStreamInput): any => ({ ...obj, - ...(obj.RedshiftDestinationConfiguration && { - RedshiftDestinationConfiguration: RedshiftDestinationConfiguration.filterSensitiveLog( - obj.RedshiftDestinationConfiguration - ), - }), ...(obj.HttpEndpointDestinationConfiguration && { HttpEndpointDestinationConfiguration: HttpEndpointDestinationConfiguration.filterSensitiveLog( obj.HttpEndpointDestinationConfiguration ), }), + ...(obj.RedshiftDestinationConfiguration && { + RedshiftDestinationConfiguration: RedshiftDestinationConfiguration.filterSensitiveLog( + obj.RedshiftDestinationConfiguration + ), + }), }); } @@ -1687,8 +1687,8 @@ export namespace InvalidArgumentException { export interface InvalidKMSResourceException extends __SmithyException, $MetadataBearer { name: "InvalidKMSResourceException"; $fault: "client"; - code?: string; message?: string; + code?: string; } export namespace InvalidKMSResourceException { @@ -1808,14 +1808,14 @@ export enum DeliveryStreamFailureType { */ export interface FailureDescription { /** - *

                                                          The type of error that caused the failure.

                                                          + *

                                                          A message providing details about the error that caused the failure.

                                                          */ - Type: DeliveryStreamFailureType | string | undefined; + Details: string | undefined; /** - *

                                                          A message providing details about the error that caused the failure.

                                                          + *

                                                          The type of error that caused the failure.

                                                          */ - Details: string | undefined; + Type: DeliveryStreamFailureType | string | undefined; } export namespace FailureDescription { @@ -1839,13 +1839,6 @@ export enum DeliveryStreamEncryptionStatus { * get DeliveryStreamEncryptionConfiguration by invoking the DescribeDeliveryStream operation.

                                                          */ export interface DeliveryStreamEncryptionConfiguration { - /** - *

                                                          Provides details in case one of the following operations fails due to an error related - * to KMS: CreateDeliveryStream, DeleteDeliveryStream, - * StartDeliveryStreamEncryption, StopDeliveryStreamEncryption.

                                                          - */ - FailureDescription?: FailureDescription; - /** *

                                                          If KeyType is CUSTOMER_MANAGED_CMK, this field contains the * ARN of the customer managed CMK. If KeyType is AWS_OWNED_CMK, @@ -1855,10 +1848,11 @@ export interface DeliveryStreamEncryptionConfiguration { KeyARN?: string; /** - *

                                                          Indicates the type of customer master key (CMK) that is used for encryption. The default - * setting is AWS_OWNED_CMK. For more information about CMKs, see Customer Master Keys (CMKs).

                                                          + *

                                                          Provides details in case one of the following operations fails due to an error related + * to KMS: CreateDeliveryStream, DeleteDeliveryStream, + * StartDeliveryStreamEncryption, StopDeliveryStreamEncryption.

                                                          */ - KeyType?: KeyType | string; + FailureDescription?: FailureDescription; /** *

                                                          This is the server-side encryption (SSE) status for the delivery stream. For a full @@ -1867,6 +1861,12 @@ export interface DeliveryStreamEncryptionConfiguration { * disable SSE, respectively.

                                                          */ Status?: DeliveryStreamEncryptionStatus | string; + + /** + *

                                                          Indicates the type of customer master key (CMK) that is used for encryption. The default + * setting is AWS_OWNED_CMK. For more information about CMKs, see Customer Master Keys (CMKs).

                                                          + */ + KeyType?: KeyType | string; } export namespace DeliveryStreamEncryptionConfiguration { @@ -1888,23 +1888,11 @@ export enum DeliveryStreamStatus { */ export interface S3DestinationDescription { /** - *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          - */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; - - /** - *

                                                          A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing - * them to S3. This prefix appears immediately following the bucket name. For information - * about how to specify this prefix, see Custom Prefixes + *

                                                          The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3 + * files. You can also specify a custom prefix, as described in Custom Prefixes * for Amazon S3 Objects.

                                                          */ - ErrorOutputPrefix?: string; - - /** - *

                                                          The ARN of the S3 bucket. For more information, see Amazon - * Resource Names (ARNs) and AWS Service Namespaces.

                                                          - */ - BucketARN: string | undefined; + Prefix?: string; /** *

                                                          The compression format. If no value is specified, the default is @@ -1919,11 +1907,23 @@ export interface S3DestinationDescription { RoleARN: string | undefined; /** - *

                                                          The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3 - * files. You can also specify a custom prefix, as described in Custom Prefixes + *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          + */ + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + + /** + *

                                                          A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing + * them to S3. This prefix appears immediately following the bucket name. For information + * about how to specify this prefix, see Custom Prefixes * for Amazon S3 Objects.

                                                          */ - Prefix?: string; + ErrorOutputPrefix?: string; + + /** + *

                                                          The ARN of the S3 bucket. For more information, see Amazon + * Resource Names (ARNs) and AWS Service Namespaces.

                                                          + */ + BucketARN: string | undefined; /** *

                                                          The buffering option. If no value is specified, BufferingHints object @@ -1948,33 +1948,6 @@ export namespace S3DestinationDescription { *

                                                          The details of the VPC of the Amazon ES destination.

                                                          */ export interface VpcConfigurationDescription { - /** - *

                                                          The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the - * Amazon ES destination. Make sure that the routing tables and inbound and outbound rules - * allow traffic to flow from the subnets whose IDs are specified here to the subnets that - * have the destination Amazon ES endpoints. Kinesis Data Firehose creates at least one ENI in - * each of the subnets that are specified here. Do not delete or modify these ENIs.

                                                          - *

                                                          The number of ENIs that Kinesis Data Firehose creates in the subnets specified here - * scales up and down automatically based on throughput. To enable Kinesis Data Firehose to - * scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To - * help you calculate the quota you need, assume that Kinesis Data Firehose can create up to - * three ENIs for this delivery stream for each of the subnets specified here. For more - * information about ENI quota, see Network Interfaces in the Amazon VPC Quotas topic.

                                                          - */ - SubnetIds: string[] | undefined; - - /** - *

                                                          The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in - * the VPC of the Amazon ES destination. You can use the same security group that the Amazon - * ES domain uses or different ones. If you specify different security groups, ensure that - * they allow outbound HTTPS traffic to the Amazon ES domain's security group. Also ensure - * that the Amazon ES domain's security group allows HTTPS traffic from the security groups - * specified here. If you use the same security group for both your delivery stream and the - * Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more - * information about security group rules, see Security group rules in the Amazon VPC documentation.

                                                          - */ - SecurityGroupIds: string[] | undefined; - /** *

                                                          The ARN of the IAM role that the delivery stream uses to create endpoints in the * destination VPC. You can use your existing Kinesis Data Firehose delivery role or you can @@ -2028,6 +2001,33 @@ export interface VpcConfigurationDescription { */ RoleARN: string | undefined; + /** + *

                                                          The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in + * the VPC of the Amazon ES destination. You can use the same security group that the Amazon + * ES domain uses or different ones. If you specify different security groups, ensure that + * they allow outbound HTTPS traffic to the Amazon ES domain's security group. Also ensure + * that the Amazon ES domain's security group allows HTTPS traffic from the security groups + * specified here. If you use the same security group for both your delivery stream and the + * Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more + * information about security group rules, see Security group rules in the Amazon VPC documentation.

                                                          + */ + SecurityGroupIds: string[] | undefined; + + /** + *

                                                          The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the + * Amazon ES destination. Make sure that the routing tables and inbound and outbound rules + * allow traffic to flow from the subnets whose IDs are specified here to the subnets that + * have the destination Amazon ES endpoints. Kinesis Data Firehose creates at least one ENI in + * each of the subnets that are specified here. Do not delete or modify these ENIs.

                                                          + *

                                                          The number of ENIs that Kinesis Data Firehose creates in the subnets specified here + * scales up and down automatically based on throughput. To enable Kinesis Data Firehose to + * scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To + * help you calculate the quota you need, assume that Kinesis Data Firehose can create up to + * three ENIs for this delivery stream for each of the subnets specified here. For more + * information about ENI quota, see Network Interfaces in the Amazon VPC Quotas topic.

                                                          + */ + SubnetIds: string[] | undefined; + /** *

                                                          The ID of the Amazon ES destination's VPC.

                                                          */ @@ -2045,9 +2045,9 @@ export namespace VpcConfigurationDescription { */ export interface ElasticsearchDestinationDescription { /** - *

                                                          The Amazon CloudWatch logging options.

                                                          + *

                                                          The Elasticsearch index rotation period

                                                          */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + IndexRotationPeriod?: ElasticsearchIndexRotationPeriod | string; /** *

                                                          The Elasticsearch index name.

                                                          @@ -2055,9 +2055,13 @@ export interface ElasticsearchDestinationDescription { IndexName?: string; /** - *

                                                          The details of the VPC of the Amazon ES destination.

                                                          + *

                                                          The ARN of the Amazon ES domain. For more information, see Amazon + * Resource Names (ARNs) and AWS Service Namespaces.

                                                          + * + *

                                                          Kinesis Data Firehose uses either ClusterEndpoint or DomainARN + * to send data to Amazon ES.

                                                          */ - VpcConfigurationDescription?: VpcConfigurationDescription; + DomainARN?: string; /** *

                                                          The data processing configuration.

                                                          @@ -2065,19 +2069,9 @@ export interface ElasticsearchDestinationDescription { ProcessingConfiguration?: ProcessingConfiguration; /** - *

                                                          The buffering options.

                                                          - */ - BufferingHints?: ElasticsearchBufferingHints; - - /** - *

                                                          The Amazon S3 backup mode.

                                                          - */ - S3BackupMode?: ElasticsearchS3BackupMode | string; - - /** - *

                                                          The Elasticsearch index rotation period

                                                          + *

                                                          The details of the VPC of the Amazon ES destination.

                                                          */ - IndexRotationPeriod?: ElasticsearchIndexRotationPeriod | string; + VpcConfigurationDescription?: VpcConfigurationDescription; /** *

                                                          The endpoint to use when communicating with the cluster. Kinesis Data Firehose uses @@ -2099,13 +2093,14 @@ export interface ElasticsearchDestinationDescription { RoleARN?: string; /** - *

                                                          The ARN of the Amazon ES domain. For more information, see Amazon - * Resource Names (ARNs) and AWS Service Namespaces.

                                                          - * - *

                                                          Kinesis Data Firehose uses either ClusterEndpoint or DomainARN - * to send data to Amazon ES.

                                                          + *

                                                          The Amazon S3 backup mode.

                                                          */ - DomainARN?: string; + S3BackupMode?: ElasticsearchS3BackupMode | string; + + /** + *

                                                          The buffering options.

                                                          + */ + BufferingHints?: ElasticsearchBufferingHints; /** *

                                                          The Amazon ES retry options.

                                                          @@ -2116,6 +2111,11 @@ export interface ElasticsearchDestinationDescription { *

                                                          The Amazon S3 destination.

                                                          */ S3DestinationDescription?: S3DestinationDescription; + + /** + *

                                                          The Amazon CloudWatch logging options.

                                                          + */ + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; } export namespace ElasticsearchDestinationDescription { @@ -2129,26 +2129,20 @@ export namespace ElasticsearchDestinationDescription { */ export interface ExtendedS3DestinationDescription { /** - *

                                                          The buffering option.

                                                          - */ - BufferingHints: BufferingHints | undefined; - - /** - *

                                                          The encryption configuration. If no value is specified, the default is no - * encryption.

                                                          + *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          */ - EncryptionConfiguration: EncryptionConfiguration | undefined; + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** - *

                                                          The Amazon S3 backup mode.

                                                          + *

                                                          The data processing configuration.

                                                          */ - S3BackupMode?: S3BackupMode | string; + ProcessingConfiguration?: ProcessingConfiguration; /** - *

                                                          The Amazon Resource Name (ARN) of the AWS credentials. For more information, see - * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                          + *

                                                          The serializer, deserializer, and schema for converting data from the JSON format to + * the Parquet or ORC format before writing it to Amazon S3.

                                                          */ - RoleARN: string | undefined; + DataFormatConversionConfiguration?: DataFormatConversionConfiguration; /** *

                                                          A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing @@ -2158,6 +2152,12 @@ export interface ExtendedS3DestinationDescription { */ ErrorOutputPrefix?: string; + /** + *

                                                          The compression format. If no value is specified, the default is + * UNCOMPRESSED.

                                                          + */ + CompressionFormat: CompressionFormat | string | undefined; + /** *

                                                          The ARN of the S3 bucket. For more information, see Amazon * Resource Names (ARNs) and AWS Service Namespaces.

                                                          @@ -2165,38 +2165,38 @@ export interface ExtendedS3DestinationDescription { BucketARN: string | undefined; /** - *

                                                          The compression format. If no value is specified, the default is - * UNCOMPRESSED.

                                                          + *

                                                          The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3 + * files. You can also specify a custom prefix, as described in Custom Prefixes + * for Amazon S3 Objects.

                                                          */ - CompressionFormat: CompressionFormat | string | undefined; + Prefix?: string; /** - *

                                                          The data processing configuration.

                                                          + *

                                                          The Amazon S3 backup mode.

                                                          */ - ProcessingConfiguration?: ProcessingConfiguration; + S3BackupMode?: S3BackupMode | string; /** - *

                                                          The configuration for backup in Amazon S3.

                                                          + *

                                                          The buffering option.

                                                          */ - S3BackupDescription?: S3DestinationDescription; + BufferingHints: BufferingHints | undefined; /** - *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          + *

                                                          The encryption configuration. If no value is specified, the default is no + * encryption.

                                                          */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + EncryptionConfiguration: EncryptionConfiguration | undefined; /** - *

                                                          The serializer, deserializer, and schema for converting data from the JSON format to - * the Parquet or ORC format before writing it to Amazon S3.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the AWS credentials. For more information, see + * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                          */ - DataFormatConversionConfiguration?: DataFormatConversionConfiguration; + RoleARN: string | undefined; /** - *

                                                          The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3 - * files. You can also specify a custom prefix, as described in Custom Prefixes - * for Amazon S3 Objects.

                                                          + *

                                                          The configuration for backup in Amazon S3.

                                                          */ - Prefix?: string; + S3BackupDescription?: S3DestinationDescription; } export namespace ExtendedS3DestinationDescription { @@ -2210,14 +2210,14 @@ export namespace ExtendedS3DestinationDescription { */ export interface HttpEndpointDescription { /** - *

                                                          The name of the HTTP endpoint selected as the destination.

                                                          + *

                                                          The URL of the HTTP endpoint selected as the destination.

                                                          */ - Name?: string; + Url?: string; /** - *

                                                          The URL of the HTTP endpoint selected as the destination.

                                                          + *

                                                          The name of the HTTP endpoint selected as the destination.

                                                          */ - Url?: string; + Name?: string; } export namespace HttpEndpointDescription { @@ -2231,28 +2231,6 @@ export namespace HttpEndpointDescription { *

                                                          Describes the HTTP endpoint destination.

                                                          */ export interface HttpEndpointDestinationDescription { - /** - *

                                                          Describes a destination in Amazon S3.

                                                          - */ - S3DestinationDescription?: S3DestinationDescription; - - /** - *

                                                          Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to - * the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of - * receipt from the specified HTTP endpoint destination.

                                                          - */ - RetryOptions?: HttpEndpointRetryOptions; - - /** - *

                                                          Describes the Amazon CloudWatch logging options for your delivery stream.

                                                          - */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; - - /** - *

                                                          Describes a data processing configuration.

                                                          - */ - ProcessingConfiguration?: ProcessingConfiguration; - /** *

                                                          Kinesis Data Firehose uses this IAM role for all the permissions that the delivery * stream needs.

                                                          @@ -2277,26 +2255,48 @@ export interface HttpEndpointDestinationDescription { BufferingHints?: HttpEndpointBufferingHints; /** - *

                                                          The configuration of request sent to the HTTP endpoint specified as the - * destination.

                                                          + *

                                                          Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to + * the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of + * receipt from the specified HTTP endpoint destination.

                                                          */ - RequestConfiguration?: HttpEndpointRequestConfiguration; + RetryOptions?: HttpEndpointRetryOptions; + + /** + *

                                                          Describes a data processing configuration.

                                                          + */ + ProcessingConfiguration?: ProcessingConfiguration; + + /** + *

                                                          Describes the Amazon CloudWatch logging options for your delivery stream.

                                                          + */ + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + + /** + *

                                                          Describes a destination in Amazon S3.

                                                          + */ + S3DestinationDescription?: S3DestinationDescription; /** *

                                                          The configuration of the specified HTTP endpoint destination.

                                                          */ EndpointConfiguration?: HttpEndpointDescription; + + /** + *

                                                          The configuration of request sent to the HTTP endpoint specified as the + * destination.

                                                          + */ + RequestConfiguration?: HttpEndpointRequestConfiguration; } export namespace HttpEndpointDestinationDescription { export const filterSensitiveLog = (obj: HttpEndpointDestinationDescription): any => ({ ...obj, - ...(obj.RequestConfiguration && { - RequestConfiguration: HttpEndpointRequestConfiguration.filterSensitiveLog(obj.RequestConfiguration), - }), ...(obj.EndpointConfiguration && { EndpointConfiguration: HttpEndpointDescription.filterSensitiveLog(obj.EndpointConfiguration), }), + ...(obj.RequestConfiguration && { + RequestConfiguration: HttpEndpointRequestConfiguration.filterSensitiveLog(obj.RequestConfiguration), + }), }); } @@ -2305,15 +2305,19 @@ export namespace HttpEndpointDestinationDescription { */ export interface RedshiftDestinationDescription { /** - *

                                                          The Amazon S3 backup mode.

                                                          + *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          */ - S3BackupMode?: RedshiftS3BackupMode | string; + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** - *

                                                          The Amazon Resource Name (ARN) of the AWS credentials. For more information, see - * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                          + *

                                                          The data processing configuration.

                                                          */ - RoleARN: string | undefined; + ProcessingConfiguration?: ProcessingConfiguration; + + /** + *

                                                          The name of the user.

                                                          + */ + Username: string | undefined; /** *

                                                          The Amazon S3 destination.

                                                          @@ -2332,24 +2336,20 @@ export interface RedshiftDestinationDescription { CopyCommand: CopyCommand | undefined; /** - *

                                                          The data processing configuration.

                                                          - */ - ProcessingConfiguration?: ProcessingConfiguration; - - /** - *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          + *

                                                          The Amazon S3 backup mode.

                                                          */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + S3BackupMode?: RedshiftS3BackupMode | string; /** - *

                                                          The name of the user.

                                                          + *

                                                          The database connection string.

                                                          */ - Username: string | undefined; + ClusterJDBCURL: string | undefined; /** - *

                                                          The database connection string.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the AWS credentials. For more information, see + * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                          */ - ClusterJDBCURL: string | undefined; + RoleARN: string | undefined; /** *

                                                          The configuration for backup in Amazon S3.

                                                          @@ -2369,30 +2369,25 @@ export namespace RedshiftDestinationDescription { */ export interface SplunkDestinationDescription { /** - *

                                                          Defines how documents should be delivered to Amazon S3. When set to - * FailedDocumentsOnly, Kinesis Data Firehose writes any data that could not - * be indexed to the configured Amazon S3 destination. When set to AllDocuments, - * Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed - * documents to Amazon S3. Default value is FailedDocumentsOnly.

                                                          + *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          */ - S3BackupMode?: SplunkS3BackupMode | string; + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** - *

                                                          A GUID you obtain from your Splunk cluster when you create a new HEC - * endpoint.

                                                          + *

                                                          This type can be either "Raw" or "Event."

                                                          */ - HECToken?: string; + HECEndpointType?: HECEndpointType | string; /** - *

                                                          The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk - * or if it doesn't receive an acknowledgment of receipt from Splunk.

                                                          + *

                                                          The data processing configuration.

                                                          */ - RetryOptions?: SplunkRetryOptions; + ProcessingConfiguration?: ProcessingConfiguration; /** - *

                                                          This type can be either "Raw" or "Event."

                                                          + *

                                                          The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your + * data.

                                                          */ - HECEndpointType?: HECEndpointType | string; + HECEndpoint?: string; /** *

                                                          The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from @@ -2403,20 +2398,25 @@ export interface SplunkDestinationDescription { HECAcknowledgmentTimeoutInSeconds?: number; /** - *

                                                          The data processing configuration.

                                                          + *

                                                          A GUID you obtain from your Splunk cluster when you create a new HEC + * endpoint.

                                                          */ - ProcessingConfiguration?: ProcessingConfiguration; + HECToken?: string; /** - *

                                                          The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your - * data.

                                                          + *

                                                          The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk + * or if it doesn't receive an acknowledgment of receipt from Splunk.

                                                          */ - HECEndpoint?: string; + RetryOptions?: SplunkRetryOptions; /** - *

                                                          The Amazon CloudWatch logging options for your delivery stream.

                                                          + *

                                                          Defines how documents should be delivered to Amazon S3. When set to + * FailedDocumentsOnly, Kinesis Data Firehose writes any data that could not + * be indexed to the configured Amazon S3 destination. When set to AllDocuments, + * Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed + * documents to Amazon S3. Default value is FailedDocumentsOnly.

                                                          */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + S3BackupMode?: SplunkS3BackupMode | string; /** *

                                                          The Amazon S3 destination.>

                                                          @@ -2435,19 +2435,19 @@ export namespace SplunkDestinationDescription { */ export interface DestinationDescription { /** - *

                                                          The destination in Amazon Redshift.

                                                          + *

                                                          The destination in Splunk.

                                                          */ - RedshiftDestinationDescription?: RedshiftDestinationDescription; + SplunkDestinationDescription?: SplunkDestinationDescription; /** - *

                                                          The ID of the destination.

                                                          + *

                                                          [Deprecated] The destination in Amazon S3.

                                                          */ - DestinationId: string | undefined; + S3DestinationDescription?: S3DestinationDescription; /** - *

                                                          Describes the specified HTTP endpoint destination.

                                                          + *

                                                          The ID of the destination.

                                                          */ - HttpEndpointDestinationDescription?: HttpEndpointDestinationDescription; + DestinationId: string | undefined; /** *

                                                          The destination in Amazon ES.

                                                          @@ -2455,14 +2455,14 @@ export interface DestinationDescription { ElasticsearchDestinationDescription?: ElasticsearchDestinationDescription; /** - *

                                                          The destination in Splunk.

                                                          + *

                                                          Describes the specified HTTP endpoint destination.

                                                          */ - SplunkDestinationDescription?: SplunkDestinationDescription; + HttpEndpointDestinationDescription?: HttpEndpointDestinationDescription; /** - *

                                                          [Deprecated] The destination in Amazon S3.

                                                          + *

                                                          The destination in Amazon Redshift.

                                                          */ - S3DestinationDescription?: S3DestinationDescription; + RedshiftDestinationDescription?: RedshiftDestinationDescription; /** *

                                                          The destination in Amazon S3.

                                                          @@ -2473,16 +2473,16 @@ export interface DestinationDescription { export namespace DestinationDescription { export const filterSensitiveLog = (obj: DestinationDescription): any => ({ ...obj, - ...(obj.RedshiftDestinationDescription && { - RedshiftDestinationDescription: RedshiftDestinationDescription.filterSensitiveLog( - obj.RedshiftDestinationDescription - ), - }), ...(obj.HttpEndpointDestinationDescription && { HttpEndpointDestinationDescription: HttpEndpointDestinationDescription.filterSensitiveLog( obj.HttpEndpointDestinationDescription ), }), + ...(obj.RedshiftDestinationDescription && { + RedshiftDestinationDescription: RedshiftDestinationDescription.filterSensitiveLog( + obj.RedshiftDestinationDescription + ), + }), }); } @@ -2491,18 +2491,18 @@ export namespace DestinationDescription { * delivery stream.

                                                          */ export interface KinesisStreamSourceDescription { - /** - *

                                                          Kinesis Data Firehose starts retrieving records from the Kinesis data stream starting - * with this timestamp.

                                                          - */ - DeliveryStartTimestamp?: Date; - /** *

                                                          The Amazon Resource Name (ARN) of the source Kinesis data stream. For more * information, see Amazon Kinesis Data Streams ARN Format.

                                                          */ KinesisStreamARN?: string; + /** + *

                                                          Kinesis Data Firehose starts retrieving records from the Kinesis data stream starting + * with this timestamp.

                                                          + */ + DeliveryStartTimestamp?: Date; + /** *

                                                          The ARN of the role used by the source Kinesis data stream. For more information, see * AWS Identity and Access Management (IAM) ARN Format.

                                                          @@ -2539,14 +2539,33 @@ export namespace SourceDescription { */ export interface DeliveryStreamDescription { /** - *

                                                          The name of the delivery stream.

                                                          + *

                                                          Indicates the server-side encryption (SSE) status for the delivery stream.

                                                          */ - DeliveryStreamName: string | undefined; + DeliveryStreamEncryptionConfiguration?: DeliveryStreamEncryptionConfiguration; /** - *

                                                          The destinations.

                                                          + *

                                                          The date and time that the delivery stream was last updated.

                                                          */ - Destinations: DestinationDescription[] | undefined; + LastUpdateTimestamp?: Date; + + /** + *

                                                          Indicates whether there are more destinations available to list.

                                                          + */ + HasMoreDestinations: boolean | undefined; + + /** + *

                                                          The status of the delivery stream. If the status of a delivery stream is + * CREATING_FAILED, this status doesn't change, and you can't invoke + * CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

                                                          + */ + DeliveryStreamStatus: DeliveryStreamStatus | string | undefined; + + /** + *

                                                          Provides details in case one of the following operations fails due to an error related + * to KMS: CreateDeliveryStream, DeleteDeliveryStream, + * StartDeliveryStreamEncryption, StopDeliveryStreamEncryption.

                                                          + */ + FailureDescription?: FailureDescription; /** *

                                                          The Amazon Resource Name (ARN) of the delivery stream. For more information, see @@ -2554,6 +2573,19 @@ export interface DeliveryStreamDescription { */ DeliveryStreamARN: string | undefined; + /** + *

                                                          The name of the delivery stream.

                                                          + */ + DeliveryStreamName: string | undefined; + + /** + *

                                                          Each time the destination is updated for a delivery stream, the version ID is + * changed, and the current version ID is required when updating the destination. This is so + * that the service knows it is applying the changes to the correct version of the delivery + * stream.

                                                          + */ + VersionId: string | undefined; + /** *

                                                          The delivery stream type. This can be one of the following values:

                                                          *
                                                            @@ -2572,53 +2604,21 @@ export interface DeliveryStreamDescription { DeliveryStreamType: DeliveryStreamType | string | undefined; /** - *

                                                            Each time the destination is updated for a delivery stream, the version ID is - * changed, and the current version ID is required when updating the destination. This is so - * that the service knows it is applying the changes to the correct version of the delivery - * stream.

                                                            + *

                                                            If the DeliveryStreamType parameter is + * KinesisStreamAsSource, a SourceDescription object + * describing the source Kinesis data stream.

                                                            */ - VersionId: string | undefined; + Source?: SourceDescription; /** - *

                                                            The status of the delivery stream. If the status of a delivery stream is - * CREATING_FAILED, this status doesn't change, and you can't invoke - * CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

                                                            + *

                                                            The destinations.

                                                            */ - DeliveryStreamStatus: DeliveryStreamStatus | string | undefined; + Destinations: DestinationDescription[] | undefined; /** *

                                                            The date and time that the delivery stream was created.

                                                            */ CreateTimestamp?: Date; - - /** - *

                                                            Indicates whether there are more destinations available to list.

                                                            - */ - HasMoreDestinations: boolean | undefined; - - /** - *

                                                            Provides details in case one of the following operations fails due to an error related - * to KMS: CreateDeliveryStream, DeleteDeliveryStream, - * StartDeliveryStreamEncryption, StopDeliveryStreamEncryption.

                                                            - */ - FailureDescription?: FailureDescription; - - /** - *

                                                            Indicates the server-side encryption (SSE) status for the delivery stream.

                                                            - */ - DeliveryStreamEncryptionConfiguration?: DeliveryStreamEncryptionConfiguration; - - /** - *

                                                            The date and time that the delivery stream was last updated.

                                                            - */ - LastUpdateTimestamp?: Date; - - /** - *

                                                            If the DeliveryStreamType parameter is - * KinesisStreamAsSource, a SourceDescription object - * describing the source Kinesis data stream.

                                                            - */ - Source?: SourceDescription; } export namespace DeliveryStreamDescription { @@ -2638,15 +2638,15 @@ export interface DescribeDeliveryStreamInput { Limit?: number; /** - *

                                                            The ID of the destination to start returning the destination information. Kinesis - * Data Firehose supports one destination per delivery stream.

                                                            + *

                                                            The name of the delivery stream.

                                                            */ - ExclusiveStartDestinationId?: string; + DeliveryStreamName: string | undefined; /** - *

                                                            The name of the delivery stream.

                                                            + *

                                                            The ID of the destination to start returning the destination information. Kinesis + * Data Firehose supports one destination per delivery stream.

                                                            */ - DeliveryStreamName: string | undefined; + ExclusiveStartDestinationId?: string; } export namespace DescribeDeliveryStreamInput { @@ -2676,22 +2676,17 @@ export namespace DescribeDeliveryStreamOutput { */ export interface S3DestinationUpdate { /** - *

                                                            The encryption configuration. If no value is specified, the default is no - * encryption.

                                                            - */ - EncryptionConfiguration?: EncryptionConfiguration; - - /** - *

                                                            The buffering option. If no value is specified, BufferingHints object - * default values are used.

                                                            + *

                                                            The CloudWatch logging options for your delivery stream.

                                                            */ - BufferingHints?: BufferingHints; + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** - *

                                                            The Amazon Resource Name (ARN) of the AWS credentials. For more information, see - * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                            + *

                                                            A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing + * them to S3. This prefix appears immediately following the bucket name. For information + * about how to specify this prefix, see Custom Prefixes + * for Amazon S3 Objects.

                                                            */ - RoleARN?: string; + ErrorOutputPrefix?: string; /** *

                                                            The ARN of the S3 bucket. For more information, see Amazon @@ -2699,14 +2694,6 @@ export interface S3DestinationUpdate { */ BucketARN?: string; - /** - *

                                                            A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing - * them to S3. This prefix appears immediately following the bucket name. For information - * about how to specify this prefix, see Custom Prefixes - * for Amazon S3 Objects.

                                                            - */ - ErrorOutputPrefix?: string; - /** *

                                                            The compression format. If no value is specified, the default is * UNCOMPRESSED.

                                                            @@ -2716,17 +2703,30 @@ export interface S3DestinationUpdate { */ CompressionFormat?: CompressionFormat | string; - /** - *

                                                            The CloudWatch logging options for your delivery stream.

                                                            - */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; - /** *

                                                            The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3 * files. You can also specify a custom prefix, as described in Custom Prefixes * for Amazon S3 Objects.

                                                            */ Prefix?: string; + + /** + *

                                                            The encryption configuration. If no value is specified, the default is no + * encryption.

                                                            + */ + EncryptionConfiguration?: EncryptionConfiguration; + + /** + *

                                                            The buffering option. If no value is specified, BufferingHints object + * default values are used.

                                                            + */ + BufferingHints?: BufferingHints; + + /** + *

                                                            The Amazon Resource Name (ARN) of the AWS credentials. For more information, see + * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                            + */ + RoleARN?: string; } export namespace S3DestinationUpdate { @@ -2739,6 +2739,11 @@ export namespace S3DestinationUpdate { *

                                                            Describes an update for a destination in Amazon ES.

                                                            */ export interface ElasticsearchDestinationUpdate { + /** + *

                                                            The Elasticsearch index name.

                                                            + */ + IndexName?: string; + /** *

                                                            The Elasticsearch type name. For Elasticsearch 6.x, there can be only one type per * index. If you try to specify a new type for an existing index that already has another @@ -2752,15 +2757,9 @@ export interface ElasticsearchDestinationUpdate { TypeName?: string; /** - *

                                                            The endpoint to use when communicating with the cluster. Specify either this - * ClusterEndpoint or the DomainARN field.

                                                            - */ - ClusterEndpoint?: string; - - /** - *

                                                            The CloudWatch logging options for your delivery stream.

                                                            + *

                                                            The data processing configuration.

                                                            */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + ProcessingConfiguration?: ProcessingConfiguration; /** *

                                                            The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose @@ -2771,6 +2770,11 @@ export interface ElasticsearchDestinationUpdate { */ RoleARN?: string; + /** + *

                                                            The CloudWatch logging options for your delivery stream.

                                                            + */ + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + /** *

                                                            The ARN of the Amazon ES domain. The IAM role must have permissions * for DescribeElasticsearchDomain, DescribeElasticsearchDomains, @@ -2783,14 +2787,10 @@ export interface ElasticsearchDestinationUpdate { DomainARN?: string; /** - *

                                                            The data processing configuration.

                                                            - */ - ProcessingConfiguration?: ProcessingConfiguration; - - /** - *

                                                            The Amazon S3 destination.

                                                            + *

                                                            The endpoint to use when communicating with the cluster. Specify either this + * ClusterEndpoint or the DomainARN field.

                                                            */ - S3Update?: S3DestinationUpdate; + ClusterEndpoint?: string; /** *

                                                            The retry behavior in case Kinesis Data Firehose is unable to deliver documents to @@ -2799,9 +2799,9 @@ export interface ElasticsearchDestinationUpdate { RetryOptions?: ElasticsearchRetryOptions; /** - *

                                                            The Elasticsearch index name.

                                                            + *

                                                            The Amazon S3 destination.

                                                            */ - IndexName?: string; + S3Update?: S3DestinationUpdate; /** *

                                                            The buffering options. If no value is specified, @@ -2829,26 +2829,20 @@ export namespace ElasticsearchDestinationUpdate { */ export interface ExtendedS3DestinationUpdate { /** - *

                                                            The encryption configuration. If no value is specified, the default is no - * encryption.

                                                            - */ - EncryptionConfiguration?: EncryptionConfiguration; - - /** - *

                                                            The buffering option.

                                                            + *

                                                            The Amazon CloudWatch logging options for your delivery stream.

                                                            */ - BufferingHints?: BufferingHints; + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** - *

                                                            The Amazon Resource Name (ARN) of the AWS credentials. For more information, see - * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                            + *

                                                            The data processing configuration.

                                                            */ - RoleARN?: string; + ProcessingConfiguration?: ProcessingConfiguration; /** - *

                                                            The Amazon S3 destination for backup.

                                                            + *

                                                            The serializer, deserializer, and schema for converting data from the JSON format to + * the Parquet or ORC format before writing it to Amazon S3.

                                                            */ - S3BackupUpdate?: S3DestinationUpdate; + DataFormatConversionConfiguration?: DataFormatConversionConfiguration; /** *

                                                            The ARN of the S3 bucket. For more information, see Amazon @@ -2856,6 +2850,17 @@ export interface ExtendedS3DestinationUpdate { */ BucketARN?: string; + /** + *

                                                            The compression format. If no value is specified, the default is + * UNCOMPRESSED.

                                                            + */ + CompressionFormat?: CompressionFormat | string; + + /** + *

                                                            The buffering option.

                                                            + */ + BufferingHints?: BufferingHints; + /** *

                                                            A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing * them to S3. This prefix appears immediately following the bucket name. For information @@ -2865,21 +2870,21 @@ export interface ExtendedS3DestinationUpdate { ErrorOutputPrefix?: string; /** - *

                                                            The compression format. If no value is specified, the default is - * UNCOMPRESSED.

                                                            + *

                                                            You can update a delivery stream to enable Amazon S3 backup if it is disabled. If + * backup is enabled, you can't update the delivery stream to disable it.

                                                            */ - CompressionFormat?: CompressionFormat | string; + S3BackupMode?: S3BackupMode | string; /** - *

                                                            The serializer, deserializer, and schema for converting data from the JSON format to - * the Parquet or ORC format before writing it to Amazon S3.

                                                            + *

                                                            The Amazon S3 destination for backup.

                                                            */ - DataFormatConversionConfiguration?: DataFormatConversionConfiguration; + S3BackupUpdate?: S3DestinationUpdate; /** - *

                                                            The data processing configuration.

                                                            + *

                                                            The encryption configuration. If no value is specified, the default is no + * encryption.

                                                            */ - ProcessingConfiguration?: ProcessingConfiguration; + EncryptionConfiguration?: EncryptionConfiguration; /** *

                                                            The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3 @@ -2889,15 +2894,10 @@ export interface ExtendedS3DestinationUpdate { Prefix?: string; /** - *

                                                            The Amazon CloudWatch logging options for your delivery stream.

                                                            - */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; - - /** - *

                                                            You can update a delivery stream to enable Amazon S3 backup if it is disabled. If - * backup is enabled, you can't update the delivery stream to disable it.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the AWS credentials. For more information, see + * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                            */ - S3BackupMode?: S3BackupMode | string; + RoleARN?: string; } export namespace ExtendedS3DestinationUpdate { @@ -2907,14 +2907,6 @@ export namespace ExtendedS3DestinationUpdate { } export interface ListDeliveryStreamsInput { - /** - *

                                                            The list of delivery streams returned by this call to - * ListDeliveryStreams will start with the delivery stream whose name comes - * alphabetically immediately after the name you specify in - * ExclusiveStartDeliveryStreamName.

                                                            - */ - ExclusiveStartDeliveryStreamName?: string; - /** *

                                                            The delivery stream type. This can be one of the following values:

                                                            *
                                                              @@ -2934,6 +2926,14 @@ export interface ListDeliveryStreamsInput { */ DeliveryStreamType?: DeliveryStreamType | string; + /** + *

                                                              The list of delivery streams returned by this call to + * ListDeliveryStreams will start with the delivery stream whose name comes + * alphabetically immediately after the name you specify in + * ExclusiveStartDeliveryStreamName.

                                                              + */ + ExclusiveStartDeliveryStreamName?: string; + /** *

                                                              The maximum number of delivery streams to list. The default value is 10.

                                                              */ @@ -2948,14 +2948,14 @@ export namespace ListDeliveryStreamsInput { export interface ListDeliveryStreamsOutput { /** - *

                                                              Indicates whether there are more delivery streams available to list.

                                                              + *

                                                              The names of the delivery streams.

                                                              */ - HasMoreDeliveryStreams: boolean | undefined; + DeliveryStreamNames: string[] | undefined; /** - *

                                                              The names of the delivery streams.

                                                              + *

                                                              Indicates whether there are more delivery streams available to list.

                                                              */ - DeliveryStreamNames: string[] | undefined; + HasMoreDeliveryStreams: boolean | undefined; } export namespace ListDeliveryStreamsOutput { @@ -2993,19 +2993,19 @@ export namespace ListTagsForDeliveryStreamInput { } export interface ListTagsForDeliveryStreamOutput { - /** - *

                                                              A list of tags associated with DeliveryStreamName, starting with the - * first tag after ExclusiveStartTagKey and up to the specified - * Limit.

                                                              - */ - Tags: Tag[] | undefined; - /** *

                                                              If this is true in the response, more tags are available. To list the * remaining tags, set ExclusiveStartTagKey to the key of the last tag returned * and call ListTagsForDeliveryStream again.

                                                              */ HasMoreTags: boolean | undefined; + + /** + *

                                                              A list of tags associated with DeliveryStreamName, starting with the + * first tag after ExclusiveStartTagKey and up to the specified + * Limit.

                                                              + */ + Tags: Tag[] | undefined; } export namespace ListTagsForDeliveryStreamOutput { @@ -3090,14 +3090,14 @@ export namespace ServiceUnavailableException { export interface PutRecordBatchInput { /** - *

                                                              One or more records.

                                                              + *

                                                              The name of the delivery stream.

                                                              */ - Records: _Record[] | undefined; + DeliveryStreamName: string | undefined; /** - *

                                                              The name of the delivery stream.

                                                              + *

                                                              One or more records.

                                                              */ - DeliveryStreamName: string | undefined; + Records: _Record[] | undefined; } export namespace PutRecordBatchInput { @@ -3113,11 +3113,6 @@ export namespace PutRecordBatchInput { * code and an error message.

                                                              */ export interface PutRecordBatchResponseEntry { - /** - *

                                                              The error message for an individual record result.

                                                              - */ - ErrorMessage?: string; - /** *

                                                              The ID of the record.

                                                              */ @@ -3127,6 +3122,11 @@ export interface PutRecordBatchResponseEntry { *

                                                              The error code for an individual record result.

                                                              */ ErrorCode?: string; + + /** + *

                                                              The error message for an individual record result.

                                                              + */ + ErrorMessage?: string; } export namespace PutRecordBatchResponseEntry { @@ -3136,11 +3136,6 @@ export namespace PutRecordBatchResponseEntry { } export interface PutRecordBatchOutput { - /** - *

                                                              Indicates whether server-side encryption (SSE) was enabled during this operation.

                                                              - */ - Encrypted?: boolean; - /** *

                                                              The number of records that might have failed processing. This number might be greater * than 0 even if the PutRecordBatch call succeeds. Check @@ -3149,6 +3144,11 @@ export interface PutRecordBatchOutput { */ FailedPutCount: number | undefined; + /** + *

                                                              Indicates whether server-side encryption (SSE) was enabled during this operation.

                                                              + */ + Encrypted?: boolean; + /** *

                                                              The results array. For each record, the index of the response element is the same as * the index used in the request array.

                                                              @@ -3214,14 +3214,14 @@ export namespace StopDeliveryStreamEncryptionOutput { export interface TagDeliveryStreamInput { /** - *

                                                              The name of the delivery stream to which you want to add the tags.

                                                              + *

                                                              A set of key-value pairs to use to create the tags.

                                                              */ - DeliveryStreamName: string | undefined; + Tags: Tag[] | undefined; /** - *

                                                              A set of key-value pairs to use to create the tags.

                                                              + *

                                                              The name of the delivery stream to which you want to add the tags.

                                                              */ - Tags: Tag[] | undefined; + DeliveryStreamName: string | undefined; } export namespace TagDeliveryStreamInput { @@ -3240,15 +3240,15 @@ export namespace TagDeliveryStreamOutput { export interface UntagDeliveryStreamInput { /** - *

                                                              A list of tag keys. Each corresponding tag is removed from the delivery - * stream.

                                                              + *

                                                              The name of the delivery stream.

                                                              */ - TagKeys: string[] | undefined; + DeliveryStreamName: string | undefined; /** - *

                                                              The name of the delivery stream.

                                                              + *

                                                              A list of tag keys. Each corresponding tag is removed from the delivery + * stream.

                                                              */ - DeliveryStreamName: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagDeliveryStreamInput { @@ -3270,21 +3270,21 @@ export namespace UntagDeliveryStreamOutput { */ export interface HttpEndpointDestinationUpdate { /** - *

                                                              Describes the configuration of the HTTP endpoint destination.

                                                              - */ - EndpointConfiguration?: HttpEndpointConfiguration; - - /** - *

                                                              Describes a data processing configuration.

                                                              + *

                                                              Describes the S3 bucket backup options for the data that Kinesis Firehose delivers to + * the HTTP endpoint destination. You can back up all documents (AllData) or only + * the documents that Kinesis Data Firehose could not deliver to the specified HTTP endpoint + * destination (FailedDataOnly).

                                                              */ - ProcessingConfiguration?: ProcessingConfiguration; + S3BackupMode?: HttpEndpointS3BackupMode | string; /** - *

                                                              Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to - * the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of - * receipt from the specified HTTP endpoint destination.

                                                              + *

                                                              Describes buffering options that can be applied to the data before it is delivered to + * the HTTPS endpoint destination. Kinesis Data Firehose teats these options as hints, and it + * might choose to use more optimal values. The SizeInMBs and + * IntervalInSeconds parameters are optional. However, if specify a value for + * one of them, you must also provide a value for the other.

                                                              */ - RetryOptions?: HttpEndpointRetryOptions; + BufferingHints?: HttpEndpointBufferingHints; /** *

                                                              Kinesis Data Firehose uses this IAM role for all the permissions that the delivery @@ -3293,19 +3293,16 @@ export interface HttpEndpointDestinationUpdate { RoleARN?: string; /** - *

                                                              Describes buffering options that can be applied to the data before it is delivered to - * the HTTPS endpoint destination. Kinesis Data Firehose teats these options as hints, and it - * might choose to use more optimal values. The SizeInMBs and - * IntervalInSeconds parameters are optional. However, if specify a value for - * one of them, you must also provide a value for the other.

                                                              + *

                                                              Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to + * the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of + * receipt from the specified HTTP endpoint destination.

                                                              */ - BufferingHints?: HttpEndpointBufferingHints; + RetryOptions?: HttpEndpointRetryOptions; /** - *

                                                              The configuration of the request sent to the HTTP endpoint specified as the - * destination.

                                                              + *

                                                              Describes a data processing configuration.

                                                              */ - RequestConfiguration?: HttpEndpointRequestConfiguration; + ProcessingConfiguration?: ProcessingConfiguration; /** *

                                                              Describes the Amazon CloudWatch logging options for your delivery stream.

                                                              @@ -3313,12 +3310,15 @@ export interface HttpEndpointDestinationUpdate { CloudWatchLoggingOptions?: CloudWatchLoggingOptions; /** - *

                                                              Describes the S3 bucket backup options for the data that Kinesis Firehose delivers to - * the HTTP endpoint destination. You can back up all documents (AllData) or only - * the documents that Kinesis Data Firehose could not deliver to the specified HTTP endpoint - * destination (FailedDataOnly).

                                                              + *

                                                              Describes the configuration of the HTTP endpoint destination.

                                                              */ - S3BackupMode?: HttpEndpointS3BackupMode | string; + EndpointConfiguration?: HttpEndpointConfiguration; + + /** + *

                                                              The configuration of the request sent to the HTTP endpoint specified as the + * destination.

                                                              + */ + RequestConfiguration?: HttpEndpointRequestConfiguration; /** *

                                                              Describes an update for a destination in Amazon S3.

                                                              @@ -3343,9 +3343,14 @@ export namespace HttpEndpointDestinationUpdate { */ export interface RedshiftDestinationUpdate { /** - *

                                                              The Amazon S3 destination for backup.

                                                              + *

                                                              The Amazon CloudWatch logging options for your delivery stream.

                                                              */ - S3BackupUpdate?: S3DestinationUpdate; + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + + /** + *

                                                              The name of the user.

                                                              + */ + Username?: string; /** *

                                                              The COPY command.

                                                              @@ -3353,20 +3358,20 @@ export interface RedshiftDestinationUpdate { CopyCommand?: CopyCommand; /** - *

                                                              The retry behavior in case Kinesis Data Firehose is unable to deliver documents to - * Amazon Redshift. Default value is 3600 (60 minutes).

                                                              + *

                                                              The Amazon S3 destination for backup.

                                                              */ - RetryOptions?: RedshiftRetryOptions; + S3BackupUpdate?: S3DestinationUpdate; /** - *

                                                              The data processing configuration.

                                                              + *

                                                              The retry behavior in case Kinesis Data Firehose is unable to deliver documents to + * Amazon Redshift. Default value is 3600 (60 minutes).

                                                              */ - ProcessingConfiguration?: ProcessingConfiguration; + RetryOptions?: RedshiftRetryOptions; /** - *

                                                              The name of the user.

                                                              + *

                                                              The database connection string.

                                                              */ - Username?: string; + ClusterJDBCURL?: string; /** *

                                                              The Amazon S3 destination.

                                                              @@ -3378,31 +3383,26 @@ export interface RedshiftDestinationUpdate { S3Update?: S3DestinationUpdate; /** - *

                                                              The user password.

                                                              - */ - Password?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) of the AWS credentials. For more information, see - * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                              + *

                                                              The data processing configuration.

                                                              */ - RoleARN?: string; + ProcessingConfiguration?: ProcessingConfiguration; /** - *

                                                              The Amazon CloudWatch logging options for your delivery stream.

                                                              + *

                                                              You can update a delivery stream to enable Amazon S3 backup if it is disabled. If + * backup is enabled, you can't update the delivery stream to disable it.

                                                              */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + S3BackupMode?: RedshiftS3BackupMode | string; /** - *

                                                              The database connection string.

                                                              + *

                                                              The user password.

                                                              */ - ClusterJDBCURL?: string; + Password?: string; /** - *

                                                              You can update a delivery stream to enable Amazon S3 backup if it is disabled. If - * backup is enabled, you can't update the delivery stream to disable it.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the AWS credentials. For more information, see + * Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                              */ - S3BackupMode?: RedshiftS3BackupMode | string; + RoleARN?: string; } export namespace RedshiftDestinationUpdate { @@ -3418,25 +3418,14 @@ export namespace RedshiftDestinationUpdate { */ export interface SplunkDestinationUpdate { /** - *

                                                              The Amazon CloudWatch logging options for your delivery stream.

                                                              - */ - CloudWatchLoggingOptions?: CloudWatchLoggingOptions; - - /** - *

                                                              The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your - * data.

                                                              - */ - HECEndpoint?: string; - - /** - *

                                                              The data processing configuration.

                                                              + *

                                                              This type can be either "Raw" or "Event."

                                                              */ - ProcessingConfiguration?: ProcessingConfiguration; + HECEndpointType?: HECEndpointType | string; /** - *

                                                              This type can be either "Raw" or "Event."

                                                              + *

                                                              Your update to the configuration of the backup Amazon S3 location.

                                                              */ - HECEndpointType?: HECEndpointType | string; + S3Update?: S3DestinationUpdate; /** *

                                                              The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk @@ -3453,15 +3442,26 @@ export interface SplunkDestinationUpdate { HECAcknowledgmentTimeoutInSeconds?: number; /** - *

                                                              A GUID that you obtain from your Splunk cluster when you create a new HEC - * endpoint.

                                                              + *

                                                              The data processing configuration.

                                                              */ - HECToken?: string; + ProcessingConfiguration?: ProcessingConfiguration; /** - *

                                                              Your update to the configuration of the backup Amazon S3 location.

                                                              + *

                                                              The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your + * data.

                                                              */ - S3Update?: S3DestinationUpdate; + HECEndpoint?: string; + + /** + *

                                                              The Amazon CloudWatch logging options for your delivery stream.

                                                              + */ + CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + + /** + *

                                                              A GUID that you obtain from your Splunk cluster when you create a new HEC + * endpoint.

                                                              + */ + HECToken?: string; /** *

                                                              Specifies how you want Kinesis Data Firehose to back up documents to Amazon S3. When @@ -3484,29 +3484,24 @@ export namespace SplunkDestinationUpdate { export interface UpdateDestinationInput { /** - *

                                                              Describes an update to the specified HTTP endpoint destination.

                                                              - */ - HttpEndpointDestinationUpdate?: HttpEndpointDestinationUpdate; - - /** - *

                                                              The name of the delivery stream.

                                                              + *

                                                              The ID of the destination.

                                                              */ - DeliveryStreamName: string | undefined; + DestinationId: string | undefined; /** - *

                                                              Describes an update for a destination in Amazon ES.

                                                              + *

                                                              [Deprecated] Describes an update for a destination in Amazon S3.

                                                              */ - ElasticsearchDestinationUpdate?: ElasticsearchDestinationUpdate; + S3DestinationUpdate?: S3DestinationUpdate; /** - *

                                                              Describes an update for a destination in Amazon S3.

                                                              + *

                                                              Describes an update to the specified HTTP endpoint destination.

                                                              */ - ExtendedS3DestinationUpdate?: ExtendedS3DestinationUpdate; + HttpEndpointDestinationUpdate?: HttpEndpointDestinationUpdate; /** - *

                                                              [Deprecated] Describes an update for a destination in Amazon S3.

                                                              + *

                                                              The name of the delivery stream.

                                                              */ - S3DestinationUpdate?: S3DestinationUpdate; + DeliveryStreamName: string | undefined; /** *

                                                              Describes an update for a destination in Amazon Redshift.

                                                              @@ -3523,14 +3518,19 @@ export interface UpdateDestinationInput { CurrentDeliveryStreamVersionId: string | undefined; /** - *

                                                              Describes an update for a destination in Splunk.

                                                              + *

                                                              Describes an update for a destination in Amazon S3.

                                                              */ - SplunkDestinationUpdate?: SplunkDestinationUpdate; + ExtendedS3DestinationUpdate?: ExtendedS3DestinationUpdate; /** - *

                                                              The ID of the destination.

                                                              + *

                                                              Describes an update for a destination in Amazon ES.

                                                              */ - DestinationId: string | undefined; + ElasticsearchDestinationUpdate?: ElasticsearchDestinationUpdate; + + /** + *

                                                              Describes an update for a destination in Splunk.

                                                              + */ + SplunkDestinationUpdate?: SplunkDestinationUpdate; } export namespace UpdateDestinationInput { diff --git a/clients/client-fms/models/models_0.ts b/clients/client-fms/models/models_0.ts index fe94c13c63b3..63911ce0341d 100644 --- a/clients/client-fms/models/models_0.ts +++ b/clients/client-fms/models/models_0.ts @@ -40,15 +40,20 @@ export namespace App { */ export interface AppsListData { /** - *

                                                              A map of previous version numbers to their corresponding App object arrays.

                                                              + *

                                                              The time that the AWS Firewall Manager applications list was last updated.

                                                              */ - PreviousAppsList?: { [key: string]: App[] }; + LastUpdateTime?: Date; /** *

                                                              An array of applications in the AWS Firewall Manager applications list.

                                                              */ AppsList: App[] | undefined; + /** + *

                                                              A map of previous version numbers to their corresponding App object arrays.

                                                              + */ + PreviousAppsList?: { [key: string]: App[] }; + /** *

                                                              A unique identifier for each update to the list. When you update * the list, the update token must match the token of the current version of the application list. @@ -62,19 +67,14 @@ export interface AppsListData { ListName: string | undefined; /** - *

                                                              The time that the AWS Firewall Manager applications list was last updated.

                                                              + *

                                                              The time that the AWS Firewall Manager applications list was created.

                                                              */ - LastUpdateTime?: Date; + CreateTime?: Date; /** *

                                                              The ID of the AWS Firewall Manager applications list.

                                                              */ ListId?: string; - - /** - *

                                                              The time that the AWS Firewall Manager applications list was created.

                                                              - */ - CreateTime?: Date; } export namespace AppsListData { @@ -221,14 +221,14 @@ export namespace AwsEc2NetworkInterfaceViolation { */ export interface AwsEc2InstanceViolation { /** - *

                                                              Violations for network interfaces associated with the EC2 instance.

                                                              + *

                                                              The resource ID of the EC2 instance.

                                                              */ - AwsEc2NetworkInterfaceViolations?: AwsEc2NetworkInterfaceViolation[]; + ViolationTarget?: string; /** - *

                                                              The resource ID of the EC2 instance.

                                                              + *

                                                              Violations for network interfaces associated with the EC2 instance.

                                                              */ - ViolationTarget?: string; + AwsEc2NetworkInterfaceViolations?: AwsEc2NetworkInterfaceViolation[]; } export namespace AwsEc2InstanceViolation { @@ -358,14 +358,14 @@ export namespace GetAdminAccountResponse { export interface GetAppsListRequest { /** - *

                                                              The ID of the AWS Firewall Manager applications list that you want the details for.

                                                              + *

                                                              Specifies whether the list to retrieve is a default list owned by AWS Firewall Manager.

                                                              */ - ListId: string | undefined; + DefaultList?: boolean; /** - *

                                                              Specifies whether the list to retrieve is a default list owned by AWS Firewall Manager.

                                                              + *

                                                              The ID of the AWS Firewall Manager applications list that you want the details for.

                                                              */ - DefaultList?: boolean; + ListId: string | undefined; } export namespace GetAppsListRequest { @@ -434,11 +434,6 @@ export enum ViolationReason { *

                                                              Details of the resource that is not protected by the policy.

                                                              */ export interface ComplianceViolator { - /** - *

                                                              The reason that the resource is not protected by the policy.

                                                              - */ - ViolationReason?: ViolationReason | string; - /** *

                                                              The resource ID.

                                                              */ @@ -450,6 +445,11 @@ export interface ComplianceViolator { * AWS::CloudFront::Distribution.

                                                              */ ResourceType?: string; + + /** + *

                                                              The reason that the resource is not protected by the policy.

                                                              + */ + ViolationReason?: ViolationReason | string; } export namespace ComplianceViolator { @@ -466,21 +466,20 @@ export namespace ComplianceViolator { */ export interface PolicyComplianceDetail { /** - *

                                                              The AWS account ID.

                                                              + *

                                                              The AWS account that created the AWS Firewall Manager policy.

                                                              */ - MemberAccount?: string; + PolicyOwner?: string; /** - *

                                                              An array of resources that aren't protected by the AWS WAF or Shield Advanced policy or - * that aren't in compliance with the security group policy.

                                                              + *

                                                              Indicates if over 100 resources are noncompliant with the AWS Firewall Manager + * policy.

                                                              */ - Violators?: ComplianceViolator[]; + EvaluationLimitExceeded?: boolean; /** - *

                                                              A timestamp that indicates when the returned information should be considered out of - * date.

                                                              + *

                                                              The AWS account ID.

                                                              */ - ExpiredAt?: Date; + MemberAccount?: string; /** *

                                                              The ID of the AWS Firewall Manager policy.

                                                              @@ -495,15 +494,16 @@ export interface PolicyComplianceDetail { IssueInfoMap?: { [key: string]: string }; /** - *

                                                              Indicates if over 100 resources are noncompliant with the AWS Firewall Manager - * policy.

                                                              + *

                                                              A timestamp that indicates when the returned information should be considered out of + * date.

                                                              */ - EvaluationLimitExceeded?: boolean; + ExpiredAt?: Date; /** - *

                                                              The AWS account that created the AWS Firewall Manager policy.

                                                              + *

                                                              An array of resources that aren't protected by the AWS WAF or Shield Advanced policy or + * that aren't in compliance with the security group policy.

                                                              */ - PolicyOwner?: string; + Violators?: ComplianceViolator[]; } export namespace PolicyComplianceDetail { @@ -610,15 +610,6 @@ export enum SecurityServiceType { *

                                                              Details about the security service that is being used to protect the resources.

                                                              */ export interface SecurityServicePolicyData { - /** - *

                                                              The service that the policy is using to protect the resources. This specifies the type of - * policy that is created, either an AWS WAF policy, a Shield Advanced policy, or a security - * group policy. For security group policies, Firewall Manager supports one security group for - * each common policy and for each content audit policy. This is an adjustable limit that you can - * increase by contacting AWS Support.

                                                              - */ - Type: SecurityServiceType | string | undefined; - /** *

                                                              Details about the service that are specific to the service type, in JSON format. For * service type SHIELD_ADVANCED, this is an empty string.

                                                              @@ -671,6 +662,15 @@ export interface SecurityServicePolicyData { *
                                                            */ ManagedServiceData?: string; + + /** + *

                                                            The service that the policy is using to protect the resources. This specifies the type of + * policy that is created, either an AWS WAF policy, a Shield Advanced policy, or a security + * group policy. For security group policies, Firewall Manager supports one security group for + * each common policy and for each content audit policy. This is an adjustable limit that you can + * increase by contacting AWS Support.

                                                            + */ + Type: SecurityServiceType | string | undefined; } export namespace SecurityServicePolicyData { @@ -684,13 +684,12 @@ export namespace SecurityServicePolicyData { */ export interface Policy { /** - *

                                                            A unique identifier for each update to the policy. When issuing a PutPolicy - * request, the PolicyUpdateToken in the request must match the - * PolicyUpdateToken of the current policy version. To get the - * PolicyUpdateToken of the current policy version, use a GetPolicy - * request.

                                                            + *

                                                            If set to True, resources with the tags that are specified in the + * ResourceTag array are not in scope of the policy. If set to False, + * and the ResourceTag array is not null, only resources with the specified tags are + * in scope of the policy.

                                                            */ - PolicyUpdateToken?: string; + ExcludeResourceTags: boolean | undefined; /** *

                                                            Specifies the AWS account IDs and AWS Organizations organizational units (OUs) to include in the policy. @@ -718,51 +717,20 @@ export interface Policy { IncludeMap?: { [key: string]: string[] }; /** - *

                                                            The name of the AWS Firewall Manager policy.

                                                            + *

                                                            The ID of the AWS Firewall Manager policy.

                                                            */ - PolicyName: string | undefined; + PolicyId?: string; /** *

                                                            An array of ResourceType.

                                                            */ ResourceTypeList?: string[]; - /** - *

                                                            Details about the security service that is being used to protect the resources.

                                                            - */ - SecurityServicePolicyData: SecurityServicePolicyData | undefined; - - /** - *

                                                            If set to True, resources with the tags that are specified in the - * ResourceTag array are not in scope of the policy. If set to False, - * and the ResourceTag array is not null, only resources with the specified tags are - * in scope of the policy.

                                                            - */ - ExcludeResourceTags: boolean | undefined; - - /** - *

                                                            The ID of the AWS Firewall Manager policy.

                                                            - */ - PolicyId?: string; - /** *

                                                            An array of ResourceTag objects.

                                                            */ ResourceTags?: ResourceTag[]; - /** - *

                                                            The type of resource protected by or in scope of the policy. This is in the format shown - * in the AWS Resource Types Reference. - * For AWS WAF and Shield Advanced, examples include - * AWS::ElasticLoadBalancingV2::LoadBalancer and - * AWS::CloudFront::Distribution. For a security group common policy, valid values - * are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a - * security group content audit policy, valid values are AWS::EC2::SecurityGroup, - * AWS::EC2::NetworkInterface, and AWS::EC2::Instance. For a security - * group usage audit policy, the value is AWS::EC2::SecurityGroup.

                                                            - */ - ResourceType: string | undefined; - /** *

                                                            Specifies the AWS account IDs and AWS Organizations organizational units (OUs) to exclude from the policy. * Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time.

                                                            @@ -788,10 +756,42 @@ export interface Policy { */ ExcludeMap?: { [key: string]: string[] }; + /** + *

                                                            The type of resource protected by or in scope of the policy. This is in the format shown + * in the AWS Resource Types Reference. + * For AWS WAF and Shield Advanced, examples include + * AWS::ElasticLoadBalancingV2::LoadBalancer and + * AWS::CloudFront::Distribution. For a security group common policy, valid values + * are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a + * security group content audit policy, valid values are AWS::EC2::SecurityGroup, + * AWS::EC2::NetworkInterface, and AWS::EC2::Instance. For a security + * group usage audit policy, the value is AWS::EC2::SecurityGroup.

                                                            + */ + ResourceType: string | undefined; + + /** + *

                                                            The name of the AWS Firewall Manager policy.

                                                            + */ + PolicyName: string | undefined; + + /** + *

                                                            Details about the security service that is being used to protect the resources.

                                                            + */ + SecurityServicePolicyData: SecurityServicePolicyData | undefined; + /** *

                                                            Indicates if the policy should be automatically applied to new resources.

                                                            */ RemediationEnabled: boolean | undefined; + + /** + *

                                                            A unique identifier for each update to the policy. When issuing a PutPolicy + * request, the PolicyUpdateToken in the request must match the + * PolicyUpdateToken of the current policy version. To get the + * PolicyUpdateToken of the current policy version, use a GetPolicy + * request.

                                                            + */ + PolicyUpdateToken?: string; } export namespace Policy { @@ -802,14 +802,14 @@ export namespace Policy { export interface GetPolicyResponse { /** - *

                                                            Information about the specified AWS Firewall Manager policy.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the specified policy.

                                                            */ - Policy?: Policy; + PolicyArn?: string; /** - *

                                                            The Amazon Resource Name (ARN) of the specified policy.

                                                            + *

                                                            Information about the specified AWS Firewall Manager policy.

                                                            */ - PolicyArn?: string; + Policy?: Policy; } export namespace GetPolicyResponse { @@ -835,19 +835,9 @@ export namespace InvalidTypeException { export interface GetProtectionStatusRequest { /** - *

                                                            Specifies the number of objects that you want AWS Firewall Manager to return for this request. If you have more - * objects than the number that you specify for MaxResults, the response includes a - * NextToken value that you can use to get another batch of objects.

                                                            - */ - MaxResults?: number; - - /** - *

                                                            The end of the time period to query for the attacks. This is a timestamp type. The - * request syntax listing indicates a number type because the default used by AWS Firewall - * Manager is Unix time in seconds. However, any valid timestamp format is - * allowed.

                                                            + *

                                                            The ID of the policy for which you want to get the attack information.

                                                            */ - EndTime?: Date; + PolicyId: string | undefined; /** *

                                                            The AWS account that is in scope of the policy that you want to get the details @@ -856,9 +846,12 @@ export interface GetProtectionStatusRequest { MemberAccountId?: string; /** - *

                                                            The ID of the policy for which you want to get the attack information.

                                                            + *

                                                            The end of the time period to query for the attacks. This is a timestamp type. The + * request syntax listing indicates a number type because the default used by AWS Firewall + * Manager is Unix time in seconds. However, any valid timestamp format is + * allowed.

                                                            */ - PolicyId: string | undefined; + EndTime?: Date; /** *

                                                            The start of the time period to query for the attacks. This is a timestamp type. The @@ -868,6 +861,13 @@ export interface GetProtectionStatusRequest { */ StartTime?: Date; + /** + *

                                                            Specifies the number of objects that you want AWS Firewall Manager to return for this request. If you have more + * objects than the number that you specify for MaxResults, the response includes a + * NextToken value that you can use to get another batch of objects.

                                                            + */ + MaxResults?: number; + /** *

                                                            If you specify a value for MaxResults and you have more objects than the number that you specify * for MaxResults, AWS Firewall Manager returns a NextToken value in the response, which you can use to retrieve another group of @@ -884,18 +884,6 @@ export namespace GetProtectionStatusRequest { } export interface GetProtectionStatusResponse { - /** - *

                                                            If you have more objects than the number that you specified for MaxResults in the request, - * the response includes a NextToken value. To list more objects, submit another - * GetProtectionStatus request, and specify the NextToken value from the response in the - * NextToken value in the next request.

                                                            - *

                                                            AWS SDKs provide auto-pagination that identify NextToken in a response and - * make subsequent request calls automatically on your behalf. However, this feature is not - * supported by GetProtectionStatus. You must submit subsequent requests with - * NextToken using your own processes.

                                                            - */ - NextToken?: string; - /** *

                                                            The ID of the AWS Firewall administrator account for this policy.

                                                            */ @@ -924,6 +912,18 @@ export interface GetProtectionStatusResponse { */ Data?: string; + /** + *

                                                            If you have more objects than the number that you specified for MaxResults in the request, + * the response includes a NextToken value. To list more objects, submit another + * GetProtectionStatus request, and specify the NextToken value from the response in the + * NextToken value in the next request.

                                                            + *

                                                            AWS SDKs provide auto-pagination that identify NextToken in a response and + * make subsequent request calls automatically on your behalf. However, this feature is not + * supported by GetProtectionStatus. You must submit subsequent requests with + * NextToken using your own processes.

                                                            + */ + NextToken?: string; + /** *

                                                            The service type that is protected by the policy. Currently, this is always * SHIELD_ADVANCED.

                                                            @@ -964,17 +964,20 @@ export interface ProtocolsListData { */ PreviousProtocolsList?: { [key: string]: string[] }; + /** + *

                                                            The time that the AWS Firewall Manager protocols list was last updated.

                                                            + */ + LastUpdateTime?: Date; + /** *

                                                            An array of protocols in the AWS Firewall Manager protocols list.

                                                            */ ProtocolsList: string[] | undefined; /** - *

                                                            A unique identifier for each update to the list. When you update - * the list, the update token must match the token of the current version of the application list. - * You can retrieve the update token by getting the list.

                                                            + *

                                                            The ID of the AWS Firewall Manager protocols list.

                                                            */ - ListUpdateToken?: string; + ListId?: string; /** *

                                                            The time that the AWS Firewall Manager protocols list was created.

                                                            @@ -982,14 +985,11 @@ export interface ProtocolsListData { CreateTime?: Date; /** - *

                                                            The ID of the AWS Firewall Manager protocols list.

                                                            - */ - ListId?: string; - - /** - *

                                                            The time that the AWS Firewall Manager protocols list was last updated.

                                                            + *

                                                            A unique identifier for each update to the list. When you update + * the list, the update token must match the token of the current version of the application list. + * You can retrieve the update token by getting the list.

                                                            */ - LastUpdateTime?: Date; + ListUpdateToken?: string; /** *

                                                            The name of the AWS Firewall Manager protocols list.

                                                            @@ -1005,14 +1005,14 @@ export namespace ProtocolsListData { export interface GetProtocolsListResponse { /** - *

                                                            Information about the specified AWS Firewall Manager protocols list.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the specified protocols list.

                                                            */ - ProtocolsList?: ProtocolsListData; + ProtocolsListArn?: string; /** - *

                                                            The Amazon Resource Name (ARN) of the specified protocols list.

                                                            + *

                                                            Information about the specified AWS Firewall Manager protocols list.

                                                            */ - ProtocolsListArn?: string; + ProtocolsList?: ProtocolsListData; } export namespace GetProtocolsListResponse { @@ -1023,14 +1023,14 @@ export namespace GetProtocolsListResponse { export interface GetViolationDetailsRequest { /** - *

                                                            The ID of the resource that has violations.

                                                            + *

                                                            The ID of the AWS Firewall Manager policy that you want the details for. This currently only supports security group content audit policies.

                                                            */ - ResourceId: string | undefined; + PolicyId: string | undefined; /** - *

                                                            The ID of the AWS Firewall Manager policy that you want the details for. This currently only supports security group content audit policies.

                                                            + *

                                                            The ID of the resource that has violations.

                                                            */ - PolicyId: string | undefined; + ResourceId: string | undefined; /** *

                                                            The AWS account ID that you want the details for.

                                                            @@ -1080,14 +1080,14 @@ export namespace Tag { */ export interface PartialMatch { /** - *

                                                            The violation reason.

                                                            + *

                                                            The reference rule from the master security group of the AWS Firewall Manager policy.

                                                            */ - TargetViolationReasons?: string[]; + Reference?: string; /** - *

                                                            The reference rule from the master security group of the AWS Firewall Manager policy.

                                                            + *

                                                            The violation reason.

                                                            */ - Reference?: string; + TargetViolationReasons?: string[]; } export namespace PartialMatch { @@ -1106,9 +1106,9 @@ export enum RemediationActionType { */ export interface SecurityGroupRuleDescription { /** - *

                                                            The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types.

                                                            + *

                                                            The ID of the prefix list for the security group rule.

                                                            */ - FromPort?: number; + PrefixListId?: string; /** *

                                                            The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes.

                                                            @@ -1116,14 +1116,14 @@ export interface SecurityGroupRuleDescription { ToPort?: number; /** - *

                                                            The ID of the prefix list for the security group rule.

                                                            + *

                                                            The IPv6 ranges for the security group rule.

                                                            */ - PrefixListId?: string; + IPV6Range?: string; /** - *

                                                            The IPv6 ranges for the security group rule.

                                                            + *

                                                            The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types.

                                                            */ - IPV6Range?: string; + FromPort?: number; /** *

                                                            The IP protocol name (tcp, udp, icmp, icmpv6) or number.

                                                            @@ -1147,9 +1147,9 @@ export namespace SecurityGroupRuleDescription { */ export interface SecurityGroupRemediationAction { /** - *

                                                            The remediation action that will be performed.

                                                            + *

                                                            The final state of the rule specified in the ViolationTarget after it is remediated.

                                                            */ - RemediationActionType?: RemediationActionType | string; + RemediationResult?: SecurityGroupRuleDescription; /** *

                                                            Brief description of the action that will be performed.

                                                            @@ -1157,9 +1157,9 @@ export interface SecurityGroupRemediationAction { Description?: string; /** - *

                                                            The final state of the rule specified in the ViolationTarget after it is remediated.

                                                            + *

                                                            The remediation action that will be performed.

                                                            */ - RemediationResult?: SecurityGroupRuleDescription; + RemediationActionType?: RemediationActionType | string; /** *

                                                            Indicates if the current action is the default action.

                                                            @@ -1178,9 +1178,9 @@ export namespace SecurityGroupRemediationAction { */ export interface AwsVPCSecurityGroupViolation { /** - *

                                                            A description of the security group that violates the policy.

                                                            + *

                                                            Remediation options for the rule specified in the ViolationTarget.

                                                            */ - ViolationTargetDescription?: string; + PossibleSecurityGroupRemediationActions?: SecurityGroupRemediationAction[]; /** *

                                                            List of rules specified in the security group of the AWS Firewall Manager policy that partially match the ViolationTarget rule.

                                                            @@ -1193,9 +1193,9 @@ export interface AwsVPCSecurityGroupViolation { ViolationTarget?: string; /** - *

                                                            Remediation options for the rule specified in the ViolationTarget.

                                                            + *

                                                            A description of the security group that violates the policy.

                                                            */ - PossibleSecurityGroupRemediationActions?: SecurityGroupRemediationAction[]; + ViolationTargetDescription?: string; } export namespace AwsVPCSecurityGroupViolation { @@ -1235,14 +1235,9 @@ export namespace ResourceViolation { */ export interface ViolationDetail { /** - *

                                                            The resource type that the violation details were requested for.

                                                            - */ - ResourceType: string | undefined; - - /** - *

                                                            The ResourceTag objects associated with the resource.

                                                            + *

                                                            Brief description for the requested resource.

                                                            */ - ResourceTags?: Tag[]; + ResourceDescription?: string; /** *

                                                            The AWS account that the violation details were requested for.

                                                            @@ -1255,9 +1250,14 @@ export interface ViolationDetail { ResourceViolations: ResourceViolation[] | undefined; /** - *

                                                            Brief description for the requested resource.

                                                            + *

                                                            The resource type that the violation details were requested for.

                                                            */ - ResourceDescription?: string; + ResourceType: string | undefined; + + /** + *

                                                            The ResourceTag objects associated with the resource.

                                                            + */ + ResourceTags?: Tag[]; /** *

                                                            The resource ID that the violation details were requested for.

                                                            @@ -1308,6 +1308,14 @@ export namespace LimitExceededException { } export interface ListAppsListsRequest { + /** + *

                                                            The maximum number of objects that you want AWS Firewall Manager to return for this request. If more + * objects are available, in the response, AWS Firewall Manager provides a + * NextToken value that you can use in a subsequent call to get the next batch of objects.

                                                            + *

                                                            If you don't specify this, AWS Firewall Manager returns all available objects.

                                                            + */ + MaxResults: number | undefined; + /** *

                                                            If you specify a value for MaxResults in your list request, and you have more objects than the maximum, * AWS Firewall Manager returns this token in the response. For all but the first request, you provide the token returned by the prior request @@ -1319,14 +1327,6 @@ export interface ListAppsListsRequest { *

                                                            Specifies whether the lists to retrieve are default lists owned by AWS Firewall Manager.

                                                            */ DefaultLists?: boolean; - - /** - *

                                                            The maximum number of objects that you want AWS Firewall Manager to return for this request. If more - * objects are available, in the response, AWS Firewall Manager provides a - * NextToken value that you can use in a subsequent call to get the next batch of objects.

                                                            - *

                                                            If you don't specify this, AWS Firewall Manager returns all available objects.

                                                            - */ - MaxResults: number | undefined; } export namespace ListAppsListsRequest { @@ -1360,6 +1360,15 @@ export interface ListComplianceStatusRequest { */ PolicyId: string | undefined; + /** + *

                                                            Specifies the number of PolicyComplianceStatus objects that you want AWS + * Firewall Manager to return for this request. If you have more + * PolicyComplianceStatus objects than the number that you specify for + * MaxResults, the response includes a NextToken value that you can + * use to get another batch of PolicyComplianceStatus objects.

                                                            + */ + MaxResults?: number; + /** *

                                                            If you specify a value for MaxResults and you have more * PolicyComplianceStatus objects than the number that you specify for @@ -1370,15 +1379,6 @@ export interface ListComplianceStatusRequest { * PolicyComplianceStatus objects.

                                                            */ NextToken?: string; - - /** - *

                                                            Specifies the number of PolicyComplianceStatus objects that you want AWS - * Firewall Manager to return for this request. If you have more - * PolicyComplianceStatus objects than the number that you specify for - * MaxResults, the response includes a NextToken value that you can - * use to get another batch of PolicyComplianceStatus objects.

                                                            - */ - MaxResults?: number; } export namespace ListComplianceStatusRequest { @@ -1398,11 +1398,6 @@ export enum PolicyComplianceStatusType { * the policy.

                                                            */ export interface EvaluationResult { - /** - *

                                                            Describes an AWS account's compliance with the AWS Firewall Manager policy.

                                                            - */ - ComplianceStatus?: PolicyComplianceStatusType | string; - /** *

                                                            The number of resources that are noncompliant with the specified policy. For AWS WAF and * Shield Advanced policies, a resource is considered noncompliant if it is not associated with @@ -1411,6 +1406,11 @@ export interface EvaluationResult { */ ViolatorCount?: number; + /** + *

                                                            Describes an AWS account's compliance with the AWS Firewall Manager policy.

                                                            + */ + ComplianceStatus?: PolicyComplianceStatusType | string; + /** *

                                                            Indicates that over 100 resources are noncompliant with the AWS Firewall Manager * policy.

                                                            @@ -1432,25 +1432,15 @@ export namespace EvaluationResult { */ export interface PolicyComplianceStatus { /** - *

                                                            The member account ID.

                                                            - */ - MemberAccount?: string; - - /** - *

                                                            Timestamp of the last update to the EvaluationResult objects.

                                                            + *

                                                            The name of the AWS Firewall Manager policy.

                                                            */ - LastUpdated?: Date; + PolicyName?: string; /** *

                                                            An array of EvaluationResult objects.

                                                            */ EvaluationResults?: EvaluationResult[]; - /** - *

                                                            The name of the AWS Firewall Manager policy.

                                                            - */ - PolicyName?: string; - /** *

                                                            Details about problems with dependent services, such as AWS WAF or AWS Config, that are * causing a resource to be noncompliant. The details include the name of the dependent service @@ -1463,6 +1453,16 @@ export interface PolicyComplianceStatus { */ PolicyId?: string; + /** + *

                                                            Timestamp of the last update to the EvaluationResult objects.

                                                            + */ + LastUpdated?: Date; + + /** + *

                                                            The member account ID.

                                                            + */ + MemberAccount?: string; + /** *

                                                            The AWS account that created the AWS Firewall Manager policy.

                                                            */ @@ -1476,6 +1476,11 @@ export namespace PolicyComplianceStatus { } export interface ListComplianceStatusResponse { + /** + *

                                                            An array of PolicyComplianceStatus objects.

                                                            + */ + PolicyComplianceStatusList?: PolicyComplianceStatus[]; + /** *

                                                            If you have more PolicyComplianceStatus objects than the number that you * specified for MaxResults in the request, the response includes a @@ -1485,11 +1490,6 @@ export interface ListComplianceStatusResponse { * next request.

                                                            */ NextToken?: string; - - /** - *

                                                            An array of PolicyComplianceStatus objects.

                                                            - */ - PolicyComplianceStatusList?: PolicyComplianceStatus[]; } export namespace ListComplianceStatusResponse { @@ -1525,6 +1525,11 @@ export namespace ListMemberAccountsRequest { } export interface ListMemberAccountsResponse { + /** + *

                                                            An array of account IDs.

                                                            + */ + MemberAccounts?: string[]; + /** *

                                                            If you have more member account IDs than the number that you specified for * MaxResults in the request, the response includes a NextToken @@ -1533,11 +1538,6 @@ export interface ListMemberAccountsResponse { * next request.

                                                            */ NextToken?: string; - - /** - *

                                                            An array of account IDs.

                                                            - */ - MemberAccounts?: string[]; } export namespace ListMemberAccountsResponse { @@ -1547,15 +1547,6 @@ export namespace ListMemberAccountsResponse { } export interface ListPoliciesRequest { - /** - *

                                                            Specifies the number of PolicySummary objects that you want AWS Firewall - * Manager to return for this request. If you have more PolicySummary objects than - * the number that you specify for MaxResults, the response includes a - * NextToken value that you can use to get another batch of - * PolicySummary objects.

                                                            - */ - MaxResults?: number; - /** *

                                                            If you specify a value for MaxResults and you have more * PolicySummary objects than the number that you specify for @@ -1566,6 +1557,15 @@ export interface ListPoliciesRequest { * PolicySummary objects.

                                                            */ NextToken?: string; + + /** + *

                                                            Specifies the number of PolicySummary objects that you want AWS Firewall + * Manager to return for this request. If you have more PolicySummary objects than + * the number that you specify for MaxResults, the response includes a + * NextToken value that you can use to get another batch of + * PolicySummary objects.

                                                            + */ + MaxResults?: number; } export namespace ListPoliciesRequest { @@ -1579,14 +1579,27 @@ export namespace ListPoliciesRequest { */ export interface PolicySummary { /** - *

                                                            The ID of the specified policy.

                                                            + *

                                                            The type of resource protected by or in scope of the policy. This is in the format shown + * in the AWS Resource Types Reference. + * For AWS WAF and Shield Advanced, examples include + * AWS::ElasticLoadBalancingV2::LoadBalancer and + * AWS::CloudFront::Distribution. For a security group common policy, valid values + * are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a + * security group content audit policy, valid values are AWS::EC2::SecurityGroup, + * AWS::EC2::NetworkInterface, and AWS::EC2::Instance. For a security + * group usage audit policy, the value is AWS::EC2::SecurityGroup.

                                                            */ - PolicyId?: string; + ResourceType?: string; /** - *

                                                            Indicates if the policy should be automatically applied to new resources.

                                                            + *

                                                            The name of the specified policy.

                                                            */ - RemediationEnabled?: boolean; + PolicyName?: string; + + /** + *

                                                            The Amazon Resource Name (ARN) of the specified policy.

                                                            + */ + PolicyArn?: string; /** *

                                                            The service that the policy is using to protect the resources. This specifies the type of @@ -1596,27 +1609,14 @@ export interface PolicySummary { SecurityServiceType?: SecurityServiceType | string; /** - *

                                                            The Amazon Resource Name (ARN) of the specified policy.

                                                            - */ - PolicyArn?: string; - - /** - *

                                                            The type of resource protected by or in scope of the policy. This is in the format shown - * in the AWS Resource Types Reference. - * For AWS WAF and Shield Advanced, examples include - * AWS::ElasticLoadBalancingV2::LoadBalancer and - * AWS::CloudFront::Distribution. For a security group common policy, valid values - * are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a - * security group content audit policy, valid values are AWS::EC2::SecurityGroup, - * AWS::EC2::NetworkInterface, and AWS::EC2::Instance. For a security - * group usage audit policy, the value is AWS::EC2::SecurityGroup.

                                                            + *

                                                            The ID of the specified policy.

                                                            */ - ResourceType?: string; + PolicyId?: string; /** - *

                                                            The name of the specified policy.

                                                            + *

                                                            Indicates if the policy should be automatically applied to new resources.

                                                            */ - PolicyName?: string; + RemediationEnabled?: boolean; } export namespace PolicySummary { @@ -1680,9 +1680,9 @@ export namespace ListProtocolsListsRequest { */ export interface ProtocolsListDataSummary { /** - *

                                                            An array of protocols in the AWS Firewall Manager protocols list.

                                                            + *

                                                            The name of the specified protocols list.

                                                            */ - ProtocolsList?: string[]; + ListName?: string; /** *

                                                            The Amazon Resource Name (ARN) of the specified protocols list.

                                                            @@ -1690,14 +1690,14 @@ export interface ProtocolsListDataSummary { ListArn?: string; /** - *

                                                            The ID of the specified protocols list.

                                                            + *

                                                            An array of protocols in the AWS Firewall Manager protocols list.

                                                            */ - ListId?: string; + ProtocolsList?: string[]; /** - *

                                                            The name of the specified protocols list.

                                                            + *

                                                            The ID of the specified protocols list.

                                                            */ - ListName?: string; + ListId?: string; } export namespace ProtocolsListDataSummary { @@ -1753,14 +1753,14 @@ export namespace ListTagsForResourceResponse { export interface PutAppsListRequest { /** - *

                                                            The details of the AWS Firewall Manager applications list to be created.

                                                            + *

                                                            The tags associated with the resource.

                                                            */ - AppsList: AppsListData | undefined; + TagList?: Tag[]; /** - *

                                                            The tags associated with the resource.

                                                            + *

                                                            The details of the AWS Firewall Manager applications list to be created.

                                                            */ - TagList?: Tag[]; + AppsList: AppsListData | undefined; } export namespace PutAppsListRequest { @@ -1827,14 +1827,14 @@ export namespace PutPolicyRequest { export interface PutPolicyResponse { /** - *

                                                            The details of the AWS Firewall Manager policy.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the policy.

                                                            */ - Policy?: Policy; + PolicyArn?: string; /** - *

                                                            The Amazon Resource Name (ARN) of the policy.

                                                            + *

                                                            The details of the AWS Firewall Manager policy.

                                                            */ - PolicyArn?: string; + Policy?: Policy; } export namespace PutPolicyResponse { @@ -1863,14 +1863,14 @@ export namespace PutProtocolsListRequest { export interface PutProtocolsListResponse { /** - *

                                                            The Amazon Resource Name (ARN) of the protocols list.

                                                            + *

                                                            The details of the AWS Firewall Manager protocols list.

                                                            */ - ProtocolsListArn?: string; + ProtocolsList?: ProtocolsListData; /** - *

                                                            The details of the AWS Firewall Manager protocols list.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the protocols list.

                                                            */ - ProtocolsList?: ProtocolsListData; + ProtocolsListArn?: string; } export namespace PutProtocolsListResponse { @@ -1907,14 +1907,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                            The Amazon Resource Name (ARN) of the resource to return tags for. The AWS Firewall Manager resources that support tagging are policies, applications lists, and protocols lists.

                                                            + *

                                                            The keys of the tags to remove from the resource.

                                                            */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; /** - *

                                                            The keys of the tags to remove from the resource.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the resource to return tags for. The AWS Firewall Manager resources that support tagging are policies, applications lists, and protocols lists.

                                                            */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; } export namespace UntagResourceRequest { diff --git a/clients/client-forecast/models/models_0.ts b/clients/client-forecast/models/models_0.ts index b67c04034f4e..94623b58dee5 100644 --- a/clients/client-forecast/models/models_0.ts +++ b/clients/client-forecast/models/models_0.ts @@ -23,17 +23,17 @@ export enum Domain { * CreateDataset and CreatePredictor requests.

                                                            */ export interface EncryptionConfig { + /** + *

                                                            The Amazon Resource Name (ARN) of the KMS key.

                                                            + */ + KMSKeyArn: string | undefined; + /** *

                                                            The ARN of the IAM role that Amazon Forecast can assume to access the AWS KMS key.

                                                            *

                                                            Passing a role across AWS accounts is not allowed. If you pass a role that isn't in your * account, you get an InvalidInputException error.

                                                            */ RoleArn: string | undefined; - - /** - *

                                                            The Amazon Resource Name (ARN) of the KMS key.

                                                            - */ - KMSKeyArn: string | undefined; } export namespace EncryptionConfig { @@ -56,14 +56,14 @@ export enum AttributeType { */ export interface SchemaAttribute { /** - *

                                                            The name of the dataset field.

                                                            + *

                                                            The data type of the field.

                                                            */ - AttributeName?: string; + AttributeType?: AttributeType | string; /** - *

                                                            The data type of the field.

                                                            + *

                                                            The name of the dataset field.

                                                            */ - AttributeType?: AttributeType | string; + AttributeName?: string; } export namespace SchemaAttribute { @@ -134,6 +134,23 @@ export namespace Tag { } export interface CreateDatasetRequest { + /** + *

                                                            The domain associated with the dataset. When you add a dataset to a dataset group, this + * value and the value specified for the Domain parameter of the CreateDatasetGroup operation must match.

                                                            + *

                                                            The Domain and DatasetType that you choose determine the fields + * that must be present in the training data that you import to the dataset. For example, if you + * choose the RETAIL domain and TARGET_TIME_SERIES as the + * DatasetType, Amazon Forecast requires item_id, timestamp, + * and demand fields to be present in your data. For more information, see howitworks-datasets-groups.

                                                            + */ + Domain: Domain | string | undefined; + + /** + *

                                                            An AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access + * the key.

                                                            + */ + EncryptionConfig?: EncryptionConfig; + /** *

                                                            The optional metadata that you apply to the dataset to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

                                                            *

                                                            The following basic restrictions apply to tags:

                                                            @@ -164,26 +181,9 @@ export interface CreateDatasetRequest { Tags?: Tag[]; /** - *

                                                            An AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access - * the key.

                                                            - */ - EncryptionConfig?: EncryptionConfig; - - /** - *

                                                            The domain associated with the dataset. When you add a dataset to a dataset group, this - * value and the value specified for the Domain parameter of the CreateDatasetGroup operation must match.

                                                            - *

                                                            The Domain and DatasetType that you choose determine the fields - * that must be present in the training data that you import to the dataset. For example, if you - * choose the RETAIL domain and TARGET_TIME_SERIES as the - * DatasetType, Amazon Forecast requires item_id, timestamp, - * and demand fields to be present in your data. For more information, see howitworks-datasets-groups.

                                                            - */ - Domain: Domain | string | undefined; - - /** - *

                                                            A name for the dataset.

                                                            + *

                                                            The dataset type. Valid values depend on the chosen Domain.

                                                            */ - DatasetName: string | undefined; + DatasetType: DatasetType | string | undefined; /** *

                                                            The schema for the dataset. The schema attributes and their order must match the fields in @@ -203,9 +203,9 @@ export interface CreateDatasetRequest { DataFrequency?: string; /** - *

                                                            The dataset type. Valid values depend on the chosen Domain.

                                                            + *

                                                            A name for the dataset.

                                                            */ - DatasetType: DatasetType | string | undefined; + DatasetName: string | undefined; } export namespace CreateDatasetRequest { @@ -274,6 +274,12 @@ export namespace ResourceAlreadyExistsException { } export interface CreateDatasetGroupRequest { + /** + *

                                                            An array of Amazon Resource Names (ARNs) of the datasets that you want to include in the + * dataset group.

                                                            + */ + DatasetArns?: string[]; + /** *

                                                            A name for the dataset group.

                                                            */ @@ -319,12 +325,6 @@ export interface CreateDatasetGroupRequest { * information, see howitworks-datasets-groups.

                                                            */ Domain: Domain | string | undefined; - - /** - *

                                                            An array of Amazon Resource Names (ARNs) of the datasets that you want to include in the - * dataset group.

                                                            - */ - DatasetArns?: string[]; } export namespace CreateDatasetGroupRequest { @@ -387,13 +387,9 @@ export namespace ResourceNotFoundException { */ export interface S3Config { /** - *

                                                            The ARN of the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3 - * bucket or files. If you provide a value for the KMSKeyArn key, the role must - * allow access to the key.

                                                            - *

                                                            Passing a role across AWS accounts is not allowed. If you pass a role that isn't in your - * account, you get an InvalidInputException error.

                                                            + *

                                                            The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in an Amazon S3 bucket.

                                                            */ - RoleArn: string | undefined; + Path: string | undefined; /** *

                                                            The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key.

                                                            @@ -401,9 +397,13 @@ export interface S3Config { KMSKeyArn?: string; /** - *

                                                            The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in an Amazon S3 bucket.

                                                            + *

                                                            The ARN of the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3 + * bucket or files. If you provide a value for the KMSKeyArn key, the role must + * allow access to the key.

                                                            + *

                                                            Passing a role across AWS accounts is not allowed. If you pass a role that isn't in your + * account, you get an InvalidInputException error.

                                                            */ - Path: string | undefined; + RoleArn: string | undefined; } export namespace S3Config { @@ -433,26 +433,37 @@ export namespace DataSource { export interface CreateDatasetImportJobRequest { /** - *

                                                            The location of the training data to import and an AWS Identity and Access Management (IAM) role that Amazon Forecast - * can assume to access the data. The training data must be stored in an Amazon S3 bucket.

                                                            - *

                                                            If encryption is used, DataSource must include an AWS Key Management Service (KMS) key and the - * IAM role must allow Amazon Forecast permission to access the key. The KMS key and IAM role must - * match those specified in the EncryptionConfig parameter of the CreateDataset operation.

                                                            + *

                                                            The name for the dataset import job. We recommend including the current timestamp in the + * name, for example, 20190721DatasetImport. This can help you avoid getting a + * ResourceAlreadyExistsException exception.

                                                            */ - DataSource: DataSource | undefined; + DatasetImportJobName: string | undefined; /** - *

                                                            The Amazon Resource Name (ARN) of the Amazon Forecast dataset that you want to import data - * to.

                                                            + *

                                                            The format of timestamps in the dataset. The format that you specify depends on the + * DataFrequency specified when the dataset was created. The following formats are + * supported

                                                            + *
                                                              + *
                                                            • + *

                                                              "yyyy-MM-dd"

                                                              + *

                                                              For the following data frequencies: Y, M, W, and D

                                                              + *
                                                            • + *
                                                            • + *

                                                              "yyyy-MM-dd HH:mm:ss"

                                                              + *

                                                              For the following data frequencies: H, 30min, 15min, and 1min; and optionally, for: Y, + * M, W, and D

                                                              + *
                                                            • + *
                                                            + *

                                                            If the format isn't specified, Amazon Forecast expects the format to be "yyyy-MM-dd + * HH:mm:ss".

                                                            */ - DatasetArn: string | undefined; + TimestampFormat?: string; /** - *

                                                            The name for the dataset import job. We recommend including the current timestamp in the - * name, for example, 20190721DatasetImport. This can help you avoid getting a - * ResourceAlreadyExistsException exception.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the Amazon Forecast dataset that you want to import data + * to.

                                                            */ - DatasetImportJobName: string | undefined; + DatasetArn: string | undefined; /** *

                                                            The optional metadata that you apply to the dataset import job to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

                                                            @@ -484,24 +495,13 @@ export interface CreateDatasetImportJobRequest { Tags?: Tag[]; /** - *

                                                            The format of timestamps in the dataset. The format that you specify depends on the - * DataFrequency specified when the dataset was created. The following formats are - * supported

                                                            - *
                                                              - *
                                                            • - *

                                                              "yyyy-MM-dd"

                                                              - *

                                                              For the following data frequencies: Y, M, W, and D

                                                              - *
                                                            • - *
                                                            • - *

                                                              "yyyy-MM-dd HH:mm:ss"

                                                              - *

                                                              For the following data frequencies: H, 30min, 15min, and 1min; and optionally, for: Y, - * M, W, and D

                                                              - *
                                                            • - *
                                                            - *

                                                            If the format isn't specified, Amazon Forecast expects the format to be "yyyy-MM-dd - * HH:mm:ss".

                                                            + *

                                                            The location of the training data to import and an AWS Identity and Access Management (IAM) role that Amazon Forecast + * can assume to access the data. The training data must be stored in an Amazon S3 bucket.

                                                            + *

                                                            If encryption is used, DataSource must include an AWS Key Management Service (KMS) key and the + * IAM role must allow Amazon Forecast permission to access the key. The KMS key and IAM role must + * match those specified in the EncryptionConfig parameter of the CreateDataset operation.

                                                            */ - TimestampFormat?: string; + DataSource: DataSource | undefined; } export namespace CreateDatasetImportJobRequest { @@ -529,11 +529,6 @@ export interface CreateForecastRequest { */ ForecastName: string | undefined; - /** - *

                                                            The Amazon Resource Name (ARN) of the predictor to use to generate the forecast.

                                                            - */ - PredictorArn: string | undefined; - /** *

                                                            The quantiles at which probabilistic forecasts are generated. You * can currently specify up to 5 quantiles per forecast. Accepted values include @@ -543,6 +538,11 @@ export interface CreateForecastRequest { */ ForecastTypes?: string[]; + /** + *

                                                            The Amazon Resource Name (ARN) of the predictor to use to generate the forecast.

                                                            + */ + PredictorArn: string | undefined; + /** *

                                                            The optional metadata that you apply to the forecast to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

                                                            *

                                                            The following basic restrictions apply to tags:

                                                            @@ -617,11 +617,6 @@ export interface CreateForecastExportJobRequest { */ ForecastExportJobName: string | undefined; - /** - *

                                                            The Amazon Resource Name (ARN) of the forecast that you want to export.

                                                            - */ - ForecastArn: string | undefined; - /** *

                                                            The location where you want to save the forecast and an AWS Identity and Access Management (IAM) role that * Amazon Forecast can assume to access the location. The forecast must be exported to an Amazon S3 @@ -659,6 +654,11 @@ export interface CreateForecastExportJobRequest { *

                                                          */ Tags?: Tag[]; + + /** + *

                                                          The Amazon Resource Name (ARN) of the forecast that you want to export.

                                                          + */ + ForecastArn: string | undefined; } export namespace CreateForecastExportJobRequest { @@ -686,6 +686,12 @@ export namespace CreateForecastExportJobResponse { * but you can override them in the CreatePredictor request.

                                                          */ export interface EvaluationParameters { + /** + *

                                                          The number of times to split the input data. The default is 1. Valid values are 1 through + * 5.

                                                          + */ + NumberOfBacktestWindows?: number; + /** *

                                                          The point from the end of the dataset where you want to split the data for model training * and testing (evaluation). Specify the value as the number of data points. The default is the @@ -697,12 +703,6 @@ export interface EvaluationParameters { * TARGET_TIME_SERIES dataset length

                                                          */ BackTestWindowOffset?: number; - - /** - *

                                                          The number of times to split the input data. The default is 1. Valid values are 1 through - * 5.

                                                          - */ - NumberOfBacktestWindows?: number; } export namespace EvaluationParameters { @@ -860,18 +860,6 @@ export namespace Featurization { * featurization configurations.

                                                          */ export interface FeaturizationConfig { - /** - *

                                                          An array of dimension (field) names that specify how to group the generated forecast.

                                                          - *

                                                          For example, suppose that you are generating a forecast for item sales across all of - * your stores, and your dataset contains a store_id field. If you want the sales - * forecast for each item by store, you would specify store_id as the dimension.

                                                          - *

                                                          All forecast dimensions specified in the TARGET_TIME_SERIES dataset don't - * need to be specified in the CreatePredictor request. - * All forecast dimensions specified in the RELATED_TIME_SERIES dataset must - * be specified in the CreatePredictor request.

                                                          - */ - ForecastDimensions?: string[]; - /** *

                                                          The frequency of predictions in a forecast.

                                                          *

                                                          Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min (30 minutes), @@ -888,6 +876,18 @@ export interface FeaturizationConfig { *

                                                          An array of featurization (transformation) information for the fields of a dataset.

                                                          */ Featurizations?: Featurization[]; + + /** + *

                                                          An array of dimension (field) names that specify how to group the generated forecast.

                                                          + *

                                                          For example, suppose that you are generating a forecast for item sales across all of + * your stores, and your dataset contains a store_id field. If you want the sales + * forecast for each item by store, you would specify store_id as the dimension.

                                                          + *

                                                          All forecast dimensions specified in the TARGET_TIME_SERIES dataset don't + * need to be specified in the CreatePredictor request. + * All forecast dimensions specified in the RELATED_TIME_SERIES dataset must + * be specified in the CreatePredictor request.

                                                          + */ + ForecastDimensions?: string[]; } export namespace FeaturizationConfig { @@ -902,14 +902,14 @@ export namespace FeaturizationConfig { */ export interface CategoricalParameterRange { /** - *

                                                          A list of the tunable categories for the hyperparameter.

                                                          + *

                                                          The name of the categorical hyperparameter to tune.

                                                          */ - Values: string[] | undefined; + Name: string | undefined; /** - *

                                                          The name of the categorical hyperparameter to tune.

                                                          + *

                                                          A list of the tunable categories for the hyperparameter.

                                                          */ - Name: string | undefined; + Values: string[] | undefined; } export namespace CategoricalParameterRange { @@ -930,16 +930,6 @@ export enum ScalingType { * This object is part of the ParameterRanges object.

                                                          */ export interface ContinuousParameterRange { - /** - *

                                                          The name of the hyperparameter to tune.

                                                          - */ - Name: string | undefined; - - /** - *

                                                          The minimum tunable value of the hyperparameter.

                                                          - */ - MinValue: number | undefined; - /** *

                                                          The scale that hyperparameter tuning uses to search the hyperparameter range. * Valid values:

                                                          @@ -973,6 +963,16 @@ export interface ContinuousParameterRange { */ ScalingType?: ScalingType | string; + /** + *

                                                          The name of the hyperparameter to tune.

                                                          + */ + Name: string | undefined; + + /** + *

                                                          The minimum tunable value of the hyperparameter.

                                                          + */ + MinValue: number | undefined; + /** *

                                                          The maximum tunable value of the hyperparameter.

                                                          */ @@ -1028,14 +1028,14 @@ export interface IntegerParameterRange { MaxValue: number | undefined; /** - *

                                                          The minimum tunable value of the hyperparameter.

                                                          + *

                                                          The name of the hyperparameter to tune.

                                                          */ - MinValue: number | undefined; + Name: string | undefined; /** - *

                                                          The name of the hyperparameter to tune.

                                                          + *

                                                          The minimum tunable value of the hyperparameter.

                                                          */ - Name: string | undefined; + MinValue: number | undefined; } export namespace IntegerParameterRange { @@ -1051,11 +1051,6 @@ export namespace IntegerParameterRange { * HyperParameterTuningJobConfig object.

                                                          */ export interface ParameterRanges { - /** - *

                                                          Specifies the tunable range for each continuous hyperparameter.

                                                          - */ - ContinuousParameterRanges?: ContinuousParameterRange[]; - /** *

                                                          Specifies the tunable range for each categorical hyperparameter.

                                                          */ @@ -1065,6 +1060,11 @@ export interface ParameterRanges { *

                                                          Specifies the tunable range for each integer hyperparameter.

                                                          */ IntegerParameterRanges?: IntegerParameterRange[]; + + /** + *

                                                          Specifies the tunable range for each continuous hyperparameter.

                                                          + */ + ContinuousParameterRanges?: ContinuousParameterRange[]; } export namespace ParameterRanges { @@ -1171,11 +1171,6 @@ export namespace HyperParameterTuningJobConfig { *
                                                        */ export interface SupplementaryFeature { - /** - *

                                                        The name of the feature. This must be "holiday".

                                                        - */ - Name: string | undefined; - /** *

                                                        One of the following 2 letter country codes:

                                                        *
                                                          @@ -1278,7 +1273,12 @@ export interface SupplementaryFeature { *
                                                        */ Value: string | undefined; -} + + /** + *

                                                        The name of the feature. This must be "holiday".

                                                        + */ + Name: string | undefined; +} export namespace SupplementaryFeature { export const filterSensitiveLog = (obj: SupplementaryFeature): any => ({ @@ -1312,62 +1312,33 @@ export namespace InputDataConfig { export interface CreatePredictorRequest { /** - *

                                                        A name for the predictor.

                                                        - */ - PredictorName: string | undefined; - - /** - *

                                                        Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates the algorithms it - * provides and chooses the best algorithm and configuration for your training dataset.

                                                        - *

                                                        The default value is false. In this case, you are required to specify an - * algorithm.

                                                        - *

                                                        Set PerformAutoML to true to have Amazon Forecast perform AutoML. This - * is a good option if you aren't sure which algorithm is suitable for your training data. In - * this case, PerformHPO must be false.

                                                        + *

                                                        Describes the dataset group that contains the data to use to train the predictor.

                                                        */ - PerformAutoML?: boolean; + InputDataConfig: InputDataConfig | undefined; /** - *

                                                        The hyperparameters to override for model training. The hyperparameters that you can - * override are listed in the individual algorithms. For the list of supported algorithms, see - * aws-forecast-choosing-recipes.

                                                        + *

                                                        An AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access + * the key.

                                                        */ - TrainingParameters?: { [key: string]: string }; + EncryptionConfig?: EncryptionConfig; /** - *

                                                        The optional metadata that you apply to the predictor to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

                                                        - *

                                                        The following basic restrictions apply to tags:

                                                        - *
                                                          - *
                                                        • - *

                                                          Maximum number of tags per resource - 50.

                                                          - *
                                                        • - *
                                                        • - *

                                                          For each resource, each tag key must be unique, and each tag key can have only one value.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Maximum key length - 128 Unicode characters in UTF-8.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Maximum value length - 256 Unicode characters in UTF-8.

                                                          - *
                                                        • - *
                                                        • - *

                                                          If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Tag keys and values are case sensitive.

                                                          - *
                                                        • - *
                                                        • - *

                                                          Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws do not count against your tags per resource limit.

                                                          - *
                                                        • - *
                                                        + *

                                                        Specifies the number of time-steps that the model is trained to predict. The forecast + * horizon is also called the prediction length.

                                                        + *

                                                        For example, if you configure a dataset for daily data collection (using the + * DataFrequency parameter of the CreateDataset operation) and + * set the forecast horizon to 10, the model returns predictions for 10 days.

                                                        + *

                                                        The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the + * TARGET_TIME_SERIES dataset length.

                                                        */ - Tags?: Tag[]; + ForecastHorizon: number | undefined; /** - *

                                                        An AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access - * the key.

                                                        + *

                                                        Used to override the default evaluation parameters of the specified algorithm. Amazon Forecast + * evaluates a predictor by splitting a dataset into training data and testing data. The + * evaluation parameters define how to perform the split and the number of iterations.

                                                        */ - EncryptionConfig?: EncryptionConfig; + EvaluationParameters?: EvaluationParameters; /** *

                                                        The Amazon Resource Name (ARN) of the algorithm to use for model training. Required if @@ -1406,6 +1377,26 @@ export interface CreatePredictorRequest { */ AlgorithmArn?: string; + /** + *

                                                        Provides hyperparameter override values for the algorithm. If you don't provide this + * parameter, Amazon Forecast uses default values. The individual algorithms specify which + * hyperparameters support hyperparameter optimization (HPO). For more information, see aws-forecast-choosing-recipes.

                                                        + *

                                                        If you included the HPOConfig object, you must set PerformHPO to + * true.

                                                        + */ + HPOConfig?: HyperParameterTuningJobConfig; + + /** + *

                                                        Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates the algorithms it + * provides and chooses the best algorithm and configuration for your training dataset.

                                                        + *

                                                        The default value is false. In this case, you are required to specify an + * algorithm.

                                                        + *

                                                        Set PerformAutoML to true to have Amazon Forecast perform AutoML. This + * is a good option if you aren't sure which algorithm is suitable for your training data. In + * this case, PerformHPO must be false.

                                                        + */ + PerformAutoML?: boolean; + /** *

                                                        Whether to perform hyperparameter optimization (HPO). HPO finds optimal hyperparameter * values for your training data. The process of performing HPO is known as running a @@ -1427,16 +1418,38 @@ export interface CreatePredictorRequest { PerformHPO?: boolean; /** - *

                                                        Used to override the default evaluation parameters of the specified algorithm. Amazon Forecast - * evaluates a predictor by splitting a dataset into training data and testing data. The - * evaluation parameters define how to perform the split and the number of iterations.

                                                        + *

                                                        A name for the predictor.

                                                        */ - EvaluationParameters?: EvaluationParameters; + PredictorName: string | undefined; /** - *

                                                        Describes the dataset group that contains the data to use to train the predictor.

                                                        + *

                                                        The optional metadata that you apply to the predictor to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

                                                        + *

                                                        The following basic restrictions apply to tags:

                                                        + *
                                                          + *
                                                        • + *

                                                          Maximum number of tags per resource - 50.

                                                          + *
                                                        • + *
                                                        • + *

                                                          For each resource, each tag key must be unique, and each tag key can have only one value.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Maximum key length - 128 Unicode characters in UTF-8.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Maximum value length - 256 Unicode characters in UTF-8.

                                                          + *
                                                        • + *
                                                        • + *

                                                          If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Tag keys and values are case sensitive.

                                                          + *
                                                        • + *
                                                        • + *

                                                          Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws do not count against your tags per resource limit.

                                                          + *
                                                        • + *
                                                        */ - InputDataConfig: InputDataConfig | undefined; + Tags?: Tag[]; /** *

                                                        The featurization configuration.

                                                        @@ -1444,24 +1457,11 @@ export interface CreatePredictorRequest { FeaturizationConfig: FeaturizationConfig | undefined; /** - *

                                                        Specifies the number of time-steps that the model is trained to predict. The forecast - * horizon is also called the prediction length.

                                                        - *

                                                        For example, if you configure a dataset for daily data collection (using the - * DataFrequency parameter of the CreateDataset operation) and - * set the forecast horizon to 10, the model returns predictions for 10 days.

                                                        - *

                                                        The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the - * TARGET_TIME_SERIES dataset length.

                                                        - */ - ForecastHorizon: number | undefined; - - /** - *

                                                        Provides hyperparameter override values for the algorithm. If you don't provide this - * parameter, Amazon Forecast uses default values. The individual algorithms specify which - * hyperparameters support hyperparameter optimization (HPO). For more information, see aws-forecast-choosing-recipes.

                                                        - *

                                                        If you included the HPOConfig object, you must set PerformHPO to - * true.

                                                        + *

                                                        The hyperparameters to override for model training. The hyperparameters that you can + * override are listed in the individual algorithms. For the list of supported algorithms, see + * aws-forecast-choosing-recipes.

                                                        */ - HPOConfig?: HyperParameterTuningJobConfig; + TrainingParameters?: { [key: string]: string }; } export namespace CreatePredictorRequest { @@ -1575,6 +1575,40 @@ export namespace DescribeDatasetRequest { } export interface DescribeDatasetResponse { + /** + *

                                                        The frequency of data collection.

                                                        + *

                                                        Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min (30 minutes), + * 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and 1min (1 minute). For example, + * "M" indicates every month and "30min" indicates every 30 minutes.

                                                        + */ + DataFrequency?: string; + + /** + *

                                                        The domain associated with the dataset.

                                                        + */ + Domain?: Domain | string; + + /** + *

                                                        The dataset type.

                                                        + */ + DatasetType?: DatasetType | string; + + /** + *

                                                        The Amazon Resource Name (ARN) of the dataset.

                                                        + */ + DatasetArn?: string; + + /** + *

                                                        The AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access + * the key.

                                                        + */ + EncryptionConfig?: EncryptionConfig; + + /** + *

                                                        When the dataset was created.

                                                        + */ + CreationTime?: Date; + /** *

                                                        When you create a dataset, LastModificationTime is the same as * CreationTime. While data is being imported to the dataset, @@ -1627,45 +1661,11 @@ export interface DescribeDatasetResponse { */ DatasetName?: string; - /** - *

                                                        The Amazon Resource Name (ARN) of the dataset.

                                                        - */ - DatasetArn?: string; - - /** - *

                                                        The AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access - * the key.

                                                        - */ - EncryptionConfig?: EncryptionConfig; - - /** - *

                                                        When the dataset was created.

                                                        - */ - CreationTime?: Date; - - /** - *

                                                        The domain associated with the dataset.

                                                        - */ - Domain?: Domain | string; - /** *

                                                        An array of SchemaAttribute objects that specify the dataset fields. Each * SchemaAttribute specifies the name and data type of a field.

                                                        */ Schema?: Schema; - - /** - *

                                                        The frequency of data collection.

                                                        - *

                                                        Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min (30 minutes), - * 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and 1min (1 minute). For example, - * "M" indicates every month and "30min" indicates every 30 minutes.

                                                        - */ - DataFrequency?: string; - - /** - *

                                                        The dataset type.

                                                        - */ - DatasetType?: DatasetType | string; } export namespace DescribeDatasetResponse { @@ -1689,11 +1689,14 @@ export namespace DescribeDatasetGroupRequest { export interface DescribeDatasetGroupResponse { /** - *

                                                        When the dataset group was created or last updated from a call to the UpdateDatasetGroup operation. While the dataset group is being updated, - * LastModificationTime is the current time of the - * DescribeDatasetGroup call.

                                                        + *

                                                        When the dataset group was created.

                                                        */ - LastModificationTime?: Date; + CreationTime?: Date; + + /** + *

                                                        The ARN of the dataset group.

                                                        + */ + DatasetGroupArn?: string; /** *

                                                        The status of the dataset group. States include:

                                                        @@ -1730,31 +1733,28 @@ export interface DescribeDatasetGroupResponse { */ Status?: string; - /** - *

                                                        An array of Amazon Resource Names (ARNs) of the datasets contained in the dataset - * group.

                                                        - */ - DatasetArns?: string[]; - /** *

                                                        The name of the dataset group.

                                                        */ DatasetGroupName?: string; /** - *

                                                        The ARN of the dataset group.

                                                        + *

                                                        An array of Amazon Resource Names (ARNs) of the datasets contained in the dataset + * group.

                                                        */ - DatasetGroupArn?: string; + DatasetArns?: string[]; /** - *

                                                        The domain associated with the dataset group.

                                                        + *

                                                        When the dataset group was created or last updated from a call to the UpdateDatasetGroup operation. While the dataset group is being updated, + * LastModificationTime is the current time of the + * DescribeDatasetGroup call.

                                                        */ - Domain?: Domain | string; + LastModificationTime?: Date; /** - *

                                                        When the dataset group was created.

                                                        + *

                                                        The domain associated with the dataset group.

                                                        */ - CreationTime?: Date; + Domain?: Domain | string; } export namespace DescribeDatasetGroupResponse { @@ -1782,9 +1782,9 @@ export namespace DescribeDatasetImportJobRequest { */ export interface Statistics { /** - *

                                                        The number of NAN (not a number) values in the field.

                                                        + *

                                                        The number of values in the field.

                                                        */ - CountNan?: number; + Count?: number; /** *

                                                        For a numeric field, the standard deviation.

                                                        @@ -1807,19 +1807,19 @@ export interface Statistics { Max?: string; /** - *

                                                        The number of null values in the field.

                                                        + *

                                                        The number of distinct values in the field.

                                                        */ - CountNull?: number; + CountDistinct?: number; /** - *

                                                        The number of values in the field.

                                                        + *

                                                        The number of null values in the field.

                                                        */ - Count?: number; + CountNull?: number; /** - *

                                                        The number of distinct values in the field.

                                                        + *

                                                        The number of NAN (not a number) values in the field.

                                                        */ - CountDistinct?: number; + CountNan?: number; } export namespace Statistics { @@ -1830,20 +1830,39 @@ export namespace Statistics { export interface DescribeDatasetImportJobResponse { /** - *

                                                        The size of the dataset in gigabytes (GB) after the import job has finished.

                                                        + *

                                                        When the dataset import job was created.

                                                        */ - DataSize?: number; + CreationTime?: Date; /** - *

                                                        Statistical information about each field in the input data.

                                                        + *

                                                        The location of the training data to import and an AWS Identity and Access Management (IAM) role that Amazon Forecast + * can assume to access the data.

                                                        + *

                                                        If encryption is used, DataSource includes an AWS Key Management Service (KMS) key.

                                                        */ - FieldStatistics?: { [key: string]: Statistics }; + DataSource?: DataSource; /** - *

                                                        The Amazon Resource Name (ARN) of the dataset that the training data was imported - * to.

                                                        + *

                                                        The name of the dataset import job.

                                                        */ - DatasetArn?: string; + DatasetImportJobName?: string; + + /** + *

                                                        The format of timestamps in the dataset. The format that you specify depends on the + * DataFrequency specified when the dataset was created. The following formats are + * supported

                                                        + *
                                                          + *
                                                        • + *

                                                          "yyyy-MM-dd"

                                                          + *

                                                          For the following data frequencies: Y, M, W, and D

                                                          + *
                                                        • + *
                                                        • + *

                                                          "yyyy-MM-dd HH:mm:ss"

                                                          + *

                                                          For the following data frequencies: H, 30min, 15min, and 1min; and optionally, for: Y, + * M, W, and D

                                                          + *
                                                        • + *
                                                        + */ + TimestampFormat?: string; /** *

                                                        The status of the dataset import job. The status is reflected in the status of the @@ -1871,51 +1890,11 @@ export interface DescribeDatasetImportJobResponse { */ Status?: string; - /** - *

                                                        The format of timestamps in the dataset. The format that you specify depends on the - * DataFrequency specified when the dataset was created. The following formats are - * supported

                                                        - *
                                                          - *
                                                        • - *

                                                          "yyyy-MM-dd"

                                                          - *

                                                          For the following data frequencies: Y, M, W, and D

                                                          - *
                                                        • - *
                                                        • - *

                                                          "yyyy-MM-dd HH:mm:ss"

                                                          - *

                                                          For the following data frequencies: H, 30min, 15min, and 1min; and optionally, for: Y, - * M, W, and D

                                                          - *
                                                        • - *
                                                        - */ - TimestampFormat?: string; - /** *

                                                        The ARN of the dataset import job.

                                                        */ DatasetImportJobArn?: string; - /** - *

                                                        If an error occurred, an informational message about the error.

                                                        - */ - Message?: string; - - /** - *

                                                        The location of the training data to import and an AWS Identity and Access Management (IAM) role that Amazon Forecast - * can assume to access the data.

                                                        - *

                                                        If encryption is used, DataSource includes an AWS Key Management Service (KMS) key.

                                                        - */ - DataSource?: DataSource; - - /** - *

                                                        When the dataset import job was created.

                                                        - */ - CreationTime?: Date; - - /** - *

                                                        The name of the dataset import job.

                                                        - */ - DatasetImportJobName?: string; - /** *

                                                        The last time that the dataset was modified. The time depends on the status of the job, as * follows:

                                                        @@ -1936,6 +1915,27 @@ export interface DescribeDatasetImportJobResponse { *
                                                      */ LastModificationTime?: Date; + + /** + *

                                                      The size of the dataset in gigabytes (GB) after the import job has finished.

                                                      + */ + DataSize?: number; + + /** + *

                                                      The Amazon Resource Name (ARN) of the dataset that the training data was imported + * to.

                                                      + */ + DatasetArn?: string; + + /** + *

                                                      If an error occurred, an informational message about the error.

                                                      + */ + Message?: string; + + /** + *

                                                      Statistical information about each field in the input data.

                                                      + */ + FieldStatistics?: { [key: string]: Statistics }; } export namespace DescribeDatasetImportJobResponse { @@ -1958,44 +1958,6 @@ export namespace DescribeForecastRequest { } export interface DescribeForecastResponse { - /** - *

                                                      The ARN of the dataset group that provided the data used to train the predictor.

                                                      - */ - DatasetGroupArn?: string; - - /** - *

                                                      The forecast ARN as specified in the request.

                                                      - */ - ForecastArn?: string; - - /** - *

                                                      The ARN of the predictor used to generate the forecast.

                                                      - */ - PredictorArn?: string; - - /** - *

                                                      If an error occurred, an informational message about the error.

                                                      - */ - Message?: string; - - /** - *

                                                      The quantiles at which probabilistic forecasts were generated.

                                                      - */ - ForecastTypes?: string[]; - - /** - *

                                                      The name of the forecast.

                                                      - */ - ForecastName?: string; - - /** - *

                                                      Initially, the same as CreationTime (status is CREATE_PENDING). - * Updated when inference (creating the forecast) starts (status changed to - * CREATE_IN_PROGRESS), and when inference is complete (status changed to - * ACTIVE) or fails (status changed to CREATE_FAILED).

                                                      - */ - LastModificationTime?: Date; - /** *

                                                      The status of the forecast. States include:

                                                      *
                                                        @@ -2022,12 +1984,50 @@ export interface DescribeForecastResponse { * or export the forecast.

                                                        * */ - Status?: string; + Status?: string; + + /** + *

                                                        The name of the forecast.

                                                        + */ + ForecastName?: string; + + /** + *

                                                        The quantiles at which probabilistic forecasts were generated.

                                                        + */ + ForecastTypes?: string[]; + + /** + *

                                                        If an error occurred, an informational message about the error.

                                                        + */ + Message?: string; + + /** + *

                                                        The ARN of the dataset group that provided the data used to train the predictor.

                                                        + */ + DatasetGroupArn?: string; /** *

                                                        When the forecast creation task was created.

                                                        */ CreationTime?: Date; + + /** + *

                                                        The ARN of the predictor used to generate the forecast.

                                                        + */ + PredictorArn?: string; + + /** + *

                                                        The forecast ARN as specified in the request.

                                                        + */ + ForecastArn?: string; + + /** + *

                                                        Initially, the same as CreationTime (status is CREATE_PENDING). + * Updated when inference (creating the forecast) starts (status changed to + * CREATE_IN_PROGRESS), and when inference is complete (status changed to + * ACTIVE) or fails (status changed to CREATE_FAILED).

                                                        + */ + LastModificationTime?: Date; } export namespace DescribeForecastResponse { @@ -2051,14 +2051,14 @@ export namespace DescribeForecastExportJobRequest { export interface DescribeForecastExportJobResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the exported forecast.

                                                        + *

                                                        If an error occurred, an informational message about the error.

                                                        */ - ForecastArn?: string; + Message?: string; /** - *

                                                        When the forecast export job was created.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the exported forecast.

                                                        */ - CreationTime?: Date; + ForecastArn?: string; /** *

                                                        The name of the forecast export job.

                                                        @@ -2066,25 +2066,15 @@ export interface DescribeForecastExportJobResponse { ForecastExportJobName?: string; /** - *

                                                        If an error occurred, an informational message about the error.

                                                        + *

                                                        The ARN of the forecast export job.

                                                        */ - Message?: string; + ForecastExportJobArn?: string; /** *

                                                        The path to the Amazon Simple Storage Service (Amazon S3) bucket where the forecast is exported.

                                                        */ Destination?: DataDestination; - /** - *

                                                        When the last successful export job finished.

                                                        - */ - LastModificationTime?: Date; - - /** - *

                                                        The ARN of the forecast export job.

                                                        - */ - ForecastExportJobArn?: string; - /** *

                                                        The status of the forecast export job. States include:

                                                        *
                                                          @@ -2112,6 +2102,16 @@ export interface DescribeForecastExportJobResponse { * */ Status?: string; + + /** + *

                                                          When the last successful export job finished.

                                                          + */ + LastModificationTime?: Date; + + /** + *

                                                          When the forecast export job was created.

                                                          + */ + CreationTime?: Date; } export namespace DescribeForecastExportJobResponse { @@ -2138,11 +2138,6 @@ export namespace DescribePredictorRequest { * applicable.

                                                          */ export interface TestWindowSummary { - /** - *

                                                          The time at which the test ended.

                                                          - */ - TestWindowEnd?: Date; - /** *

                                                          The status of the test. Possible status values are:

                                                          *
                                                            @@ -2165,6 +2160,11 @@ export interface TestWindowSummary { */ Status?: string; + /** + *

                                                            The time at which the test ended.

                                                            + */ + TestWindowEnd?: Date; + /** *

                                                            The time at which the test began.

                                                            */ @@ -2227,14 +2227,13 @@ export namespace PredictorExecutionDetails { export interface DescribePredictorResponse { /** - *

                                                            If an error occurred, an informational message about the error.

                                                            - */ - Message?: string; - - /** - *

                                                            When PerformAutoML is specified, the ARN of the chosen algorithm.

                                                            + *

                                                            Initially, the same as CreationTime (when the status is + * CREATE_PENDING). This value is updated when training starts (when the status + * changes to CREATE_IN_PROGRESS), and when training has completed (when the status + * changes to ACTIVE) or fails (when the status changes to + * CREATE_FAILED).

                                                            */ - AutoMLAlgorithmArns?: string[]; + LastModificationTime?: Date; /** *

                                                            The status of the predictor. States include:

                                                            @@ -2270,6 +2269,11 @@ export interface DescribePredictorResponse { */ Status?: string; + /** + *

                                                            Whether the predictor is set to perform AutoML.

                                                            + */ + PerformAutoML?: boolean; + /** *

                                                            An AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access * the key.

                                                            @@ -2277,9 +2281,9 @@ export interface DescribePredictorResponse { EncryptionConfig?: EncryptionConfig; /** - *

                                                            The Amazon Resource Name (ARN) of the algorithm used for model training.

                                                            + *

                                                            The name of the predictor.

                                                            */ - AlgorithmArn?: string; + PredictorName?: string; /** *

                                                            Describes the dataset group that contains the data to use to train the predictor.

                                                            @@ -2293,14 +2297,9 @@ export interface DescribePredictorResponse { PredictorExecutionDetails?: PredictorExecutionDetails; /** - *

                                                            The name of the predictor.

                                                            - */ - PredictorName?: string; - - /** - *

                                                            The featurization configuration.

                                                            + *

                                                            When the model training task was created.

                                                            */ - FeaturizationConfig?: FeaturizationConfig; + CreationTime?: Date; /** *

                                                            An array of the ARNs of the dataset import jobs used to import training data for the @@ -2309,58 +2308,59 @@ export interface DescribePredictorResponse { DatasetImportJobArns?: string[]; /** - *

                                                            The default training parameters or overrides selected during model training. If using the - * AutoML algorithm or if HPO is turned on while using the DeepAR+ algorithms, the optimized - * values for the chosen hyperparameters are returned. For more information, see aws-forecast-choosing-recipes.

                                                            + *

                                                            The hyperparameter override values for the algorithm.

                                                            */ - TrainingParameters?: { [key: string]: string }; + HPOConfig?: HyperParameterTuningJobConfig; /** - *

                                                            The number of time-steps of the forecast. The forecast horizon is also called the - * prediction length.

                                                            + *

                                                            The featurization configuration.

                                                            */ - ForecastHorizon?: number; + FeaturizationConfig?: FeaturizationConfig; /** - *

                                                            The hyperparameter override values for the algorithm.

                                                            + *

                                                            The ARN of the predictor.

                                                            */ - HPOConfig?: HyperParameterTuningJobConfig; + PredictorArn?: string; /** - *

                                                            The ARN of the predictor.

                                                            + *

                                                            The default training parameters or overrides selected during model training. If using the + * AutoML algorithm or if HPO is turned on while using the DeepAR+ algorithms, the optimized + * values for the chosen hyperparameters are returned. For more information, see aws-forecast-choosing-recipes.

                                                            */ - PredictorArn?: string; + TrainingParameters?: { [key: string]: string }; /** - *

                                                            Whether the predictor is set to perform AutoML.

                                                            + *

                                                            Used to override the default evaluation parameters of the specified algorithm. Amazon Forecast + * evaluates a predictor by splitting a dataset into training data and testing data. The + * evaluation parameters define how to perform the split and the number of iterations.

                                                            */ - PerformAutoML?: boolean; + EvaluationParameters?: EvaluationParameters; /** - *

                                                            When the model training task was created.

                                                            + *

                                                            Whether the predictor is set to perform hyperparameter optimization (HPO).

                                                            */ - CreationTime?: Date; + PerformHPO?: boolean; /** - *

                                                            Initially, the same as CreationTime (when the status is - * CREATE_PENDING). This value is updated when training starts (when the status - * changes to CREATE_IN_PROGRESS), and when training has completed (when the status - * changes to ACTIVE) or fails (when the status changes to - * CREATE_FAILED).

                                                            + *

                                                            The Amazon Resource Name (ARN) of the algorithm used for model training.

                                                            */ - LastModificationTime?: Date; + AlgorithmArn?: string; /** - *

                                                            Whether the predictor is set to perform hyperparameter optimization (HPO).

                                                            + *

                                                            When PerformAutoML is specified, the ARN of the chosen algorithm.

                                                            */ - PerformHPO?: boolean; + AutoMLAlgorithmArns?: string[]; /** - *

                                                            Used to override the default evaluation parameters of the specified algorithm. Amazon Forecast - * evaluates a predictor by splitting a dataset into training data and testing data. The - * evaluation parameters define how to perform the split and the number of iterations.

                                                            + *

                                                            The number of time-steps of the forecast. The forecast horizon is also called the + * prediction length.

                                                            */ - EvaluationParameters?: EvaluationParameters; + ForecastHorizon?: number; + + /** + *

                                                            If an error occurred, an informational message about the error.

                                                            + */ + Message?: string; } export namespace DescribePredictorResponse { @@ -2392,18 +2392,18 @@ export enum EvaluationType { * Metrics object.

                                                            */ export interface WeightedQuantileLoss { - /** - *

                                                            The difference between the predicted value and the actual value over the quantile, - * weighted (normalized) by dividing by the sum over all quantiles.

                                                            - */ - LossValue?: number; - /** *

                                                            The quantile. Quantiles divide a probability distribution into regions of equal * probability. For example, if the distribution was divided into 5 regions of equal * probability, the quantiles would be 0.2, 0.4, 0.6, and 0.8.

                                                            */ Quantile?: number; + + /** + *

                                                            The difference between the predicted value and the actual value over the quantile, + * weighted (normalized) by dividing by the sum over all quantiles.

                                                            + */ + LossValue?: number; } export namespace WeightedQuantileLoss { @@ -2417,16 +2417,16 @@ export namespace WeightedQuantileLoss { * is part of the WindowSummary object.

                                                            */ export interface Metrics { - /** - *

                                                            The root mean square error (RMSE).

                                                            - */ - RMSE?: number; - /** *

                                                            An array of weighted quantile losses. Quantiles divide a probability distribution into * regions of equal probability. The distribution in this case is the loss function.

                                                            */ WeightedQuantileLosses?: WeightedQuantileLoss[]; + + /** + *

                                                            The root mean square error (RMSE).

                                                            + */ + RMSE?: number; } export namespace Metrics { @@ -2443,6 +2443,11 @@ export namespace Metrics { * EvaluationParameters object.

                                                            */ export interface WindowSummary { + /** + *

                                                            The number of data points within the window.

                                                            + */ + ItemCount?: number; + /** *

                                                            The type of evaluation.

                                                            *
                                                              @@ -2458,6 +2463,11 @@ export interface WindowSummary { */ EvaluationType?: EvaluationType | string; + /** + *

                                                              The timestamp that defines the end of the window.

                                                              + */ + TestWindowEnd?: Date; + /** *

                                                              Provides metrics used to evaluate the performance of a predictor.

                                                              */ @@ -2467,16 +2477,6 @@ export interface WindowSummary { *

                                                              The timestamp that defines the start of the window.

                                                              */ TestWindowStart?: Date; - - /** - *

                                                              The timestamp that defines the end of the window.

                                                              - */ - TestWindowEnd?: Date; - - /** - *

                                                              The number of data points within the window.

                                                              - */ - ItemCount?: number; } export namespace WindowSummary { @@ -2490,17 +2490,17 @@ export namespace WindowSummary { * GetAccuracyMetrics response.

                                                              */ export interface EvaluationResult { + /** + *

                                                              The Amazon Resource Name (ARN) of the algorithm that was evaluated.

                                                              + */ + AlgorithmArn?: string; + /** *

                                                              The array of test windows used for evaluating the algorithm. The * NumberOfBacktestWindows from the EvaluationParameters * object determines the number of windows in the array.

                                                              */ TestWindows?: WindowSummary[]; - - /** - *

                                                              The Amazon Resource Name (ARN) of the algorithm that was evaluated.

                                                              - */ - AlgorithmArn?: string; } export namespace EvaluationResult { @@ -2564,9 +2564,9 @@ export namespace ListDatasetGroupsRequest { */ export interface DatasetGroupSummary { /** - *

                                                              When the dataset group was created.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the dataset group.

                                                              */ - CreationTime?: Date; + DatasetGroupArn?: string; /** *

                                                              The name of the dataset group.

                                                              @@ -2574,9 +2574,9 @@ export interface DatasetGroupSummary { DatasetGroupName?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the dataset group.

                                                              + *

                                                              When the dataset group was created.

                                                              */ - DatasetGroupArn?: string; + CreationTime?: Date; /** *

                                                              When the dataset group was created or last updated from a call to the UpdateDatasetGroup operation. While the dataset group is being updated, @@ -2594,15 +2594,15 @@ export namespace DatasetGroupSummary { export interface ListDatasetGroupsResponse { /** - *

                                                              If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of - * results, use the token in the next request.

                                                              + *

                                                              An array of objects that summarize each dataset group's properties.

                                                              */ - NextToken?: string; + DatasetGroups?: DatasetGroupSummary[]; /** - *

                                                              An array of objects that summarize each dataset group's properties.

                                                              + *

                                                              If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of + * results, use the token in the next request.

                                                              */ - DatasetGroups?: DatasetGroupSummary[]; + NextToken?: string; } export namespace ListDatasetGroupsResponse { @@ -2625,9 +2625,9 @@ export enum FilterConditionString { */ export interface Filter { /** - *

                                                              The name of the parameter to filter on.

                                                              + *

                                                              The value to match.

                                                              */ - Key: string | undefined; + Value: string | undefined; /** *

                                                              The condition to apply. To include the objects that match the statement, specify @@ -2636,9 +2636,9 @@ export interface Filter { Condition: FilterConditionString | string | undefined; /** - *

                                                              The value to match.

                                                              + *

                                                              The name of the parameter to filter on.

                                                              */ - Value: string | undefined; + Key: string | undefined; } export namespace Filter { @@ -2708,14 +2708,30 @@ export namespace ListDatasetImportJobsRequest { */ export interface DatasetImportJobSummary { /** - *

                                                              If an error occurred, an informational message about the error.

                                                              - */ - Message?: string; - - /** - *

                                                              When the dataset import job was created.

                                                              + *

                                                              The status of the dataset import job. The status is reflected in the status of the + * dataset. For example, when the import job status is CREATE_IN_PROGRESS, the + * status of the dataset is UPDATE_IN_PROGRESS. States include:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * ACTIVE + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * CREATE_PENDING, CREATE_IN_PROGRESS, + * CREATE_FAILED + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * DELETE_PENDING, DELETE_IN_PROGRESS, + * DELETE_FAILED + *

                                                                + *
                                                              • + *
                                                              */ - CreationTime?: Date; + Status?: string; /** *

                                                              The last time that the dataset was modified. The time depends on the status of the job, as @@ -2738,11 +2754,6 @@ export interface DatasetImportJobSummary { */ LastModificationTime?: Date; - /** - *

                                                              The name of the dataset import job.

                                                              - */ - DatasetImportJobName?: string; - /** *

                                                              The location of the training data to import and an AWS Identity and Access Management (IAM) role that Amazon Forecast * can assume to access the data. The training data must be stored in an Amazon S3 bucket.

                                                              @@ -2751,35 +2762,24 @@ export interface DatasetImportJobSummary { DataSource?: DataSource; /** - *

                                                              The Amazon Resource Name (ARN) of the dataset import job.

                                                              + *

                                                              If an error occurred, an informational message about the error.

                                                              */ - DatasetImportJobArn?: string; + Message?: string; /** - *

                                                              The status of the dataset import job. The status is reflected in the status of the - * dataset. For example, when the import job status is CREATE_IN_PROGRESS, the - * status of the dataset is UPDATE_IN_PROGRESS. States include:

                                                              - *
                                                                - *
                                                              • - *

                                                                - * ACTIVE - *

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * CREATE_PENDING, CREATE_IN_PROGRESS, - * CREATE_FAILED - *

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * DELETE_PENDING, DELETE_IN_PROGRESS, - * DELETE_FAILED - *

                                                                - *
                                                              • - *
                                                              + *

                                                              When the dataset import job was created.

                                                              */ - Status?: string; + CreationTime?: Date; + + /** + *

                                                              The name of the dataset import job.

                                                              + */ + DatasetImportJobName?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the dataset import job.

                                                              + */ + DatasetImportJobArn?: string; } export namespace DatasetImportJobSummary { @@ -2808,17 +2808,17 @@ export namespace ListDatasetImportJobsResponse { } export interface ListDatasetsRequest { + /** + *

                                                              The number of items to return in the response.

                                                              + */ + MaxResults?: number; + /** *

                                                              If the result of the previous request was truncated, the response includes a * NextToken. To retrieve the next set of results, use the token in the next * request. Tokens expire after 24 hours.

                                                              */ NextToken?: string; - - /** - *

                                                              The number of items to return in the response.

                                                              - */ - MaxResults?: number; } export namespace ListDatasetsRequest { @@ -2834,9 +2834,14 @@ export namespace ListDatasetsRequest { */ export interface DatasetSummary { /** - *

                                                              When the dataset was created.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the dataset.

                                                              */ - CreationTime?: Date; + DatasetArn?: string; + + /** + *

                                                              The name of the dataset.

                                                              + */ + DatasetName?: string; /** *

                                                              The dataset type.

                                                              @@ -2848,16 +2853,6 @@ export interface DatasetSummary { */ Domain?: Domain | string; - /** - *

                                                              The name of the dataset.

                                                              - */ - DatasetName?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) of the dataset.

                                                              - */ - DatasetArn?: string; - /** *

                                                              When you create a dataset, LastModificationTime is the same as * CreationTime. While data is being imported to the dataset, @@ -2866,6 +2861,11 @@ export interface DatasetSummary { * LastModificationTime is when the import job completed or failed.

                                                              */ LastModificationTime?: Date; + + /** + *

                                                              When the dataset was created.

                                                              + */ + CreationTime?: Date; } export namespace DatasetSummary { @@ -2899,13 +2899,6 @@ export interface ListForecastExportJobsRequest { */ MaxResults?: number; - /** - *

                                                              If the result of the previous request was truncated, the response includes a - * NextToken. To retrieve the next set of results, use the token in the next - * request. Tokens expire after 24 hours.

                                                              - */ - NextToken?: string; - /** *

                                                              An array of filters. For each filter, you provide a condition and a match statement. The * condition is either IS or IS_NOT, which specifies whether to include @@ -2940,6 +2933,13 @@ export interface ListForecastExportJobsRequest { *

                                                              */ Filters?: Filter[]; + + /** + *

                                                              If the result of the previous request was truncated, the response includes a + * NextToken. To retrieve the next set of results, use the token in the next + * request. Tokens expire after 24 hours.

                                                              + */ + NextToken?: string; } export namespace ListForecastExportJobsRequest { @@ -2955,19 +2955,14 @@ export namespace ListForecastExportJobsRequest { */ export interface ForecastExportJobSummary { /** - *

                                                              When the forecast export job was created.

                                                              - */ - CreationTime?: Date; - - /** - *

                                                              The name of the forecast export job.

                                                              + *

                                                              If an error occurred, an informational message about the error.

                                                              */ - ForecastExportJobName?: string; + Message?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the forecast export job.

                                                              + *

                                                              When the last successful export job finished.

                                                              */ - ForecastExportJobArn?: string; + LastModificationTime?: Date; /** *

                                                              The status of the forecast export job. States include:

                                                              @@ -2998,19 +2993,24 @@ export interface ForecastExportJobSummary { Status?: string; /** - *

                                                              When the last successful export job finished.

                                                              + *

                                                              When the forecast export job was created.

                                                              */ - LastModificationTime?: Date; + CreationTime?: Date; /** - *

                                                              If an error occurred, an informational message about the error.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the forecast export job.

                                                              */ - Message?: string; + ForecastExportJobArn?: string; /** *

                                                              The path to the Amazon Simple Storage Service (Amazon S3) bucket where the forecast is exported.

                                                              */ Destination?: DataDestination; + + /** + *

                                                              The name of the forecast export job.

                                                              + */ + ForecastExportJobName?: string; } export namespace ForecastExportJobSummary { @@ -3020,16 +3020,16 @@ export namespace ForecastExportJobSummary { } export interface ListForecastExportJobsResponse { - /** - *

                                                              An array of objects that summarize each export job's properties.

                                                              - */ - ForecastExportJobs?: ForecastExportJobSummary[]; - /** *

                                                              If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of * results, use the token in the next request.

                                                              */ NextToken?: string; + + /** + *

                                                              An array of objects that summarize each export job's properties.

                                                              + */ + ForecastExportJobs?: ForecastExportJobSummary[]; } export namespace ListForecastExportJobsResponse { @@ -3039,6 +3039,18 @@ export namespace ListForecastExportJobsResponse { } export interface ListForecastsRequest { + /** + *

                                                              The number of items to return in the response.

                                                              + */ + MaxResults?: number; + + /** + *

                                                              If the result of the previous request was truncated, the response includes a + * NextToken. To retrieve the next set of results, use the token in the next + * request. Tokens expire after 24 hours.

                                                              + */ + NextToken?: string; + /** *

                                                              An array of filters. For each filter, you provide a condition and a match statement. The * condition is either IS or IS_NOT, which specifies whether to include @@ -3071,18 +3083,6 @@ export interface ListForecastsRequest { *

                                                              */ Filters?: Filter[]; - - /** - *

                                                              The number of items to return in the response.

                                                              - */ - MaxResults?: number; - - /** - *

                                                              If the result of the previous request was truncated, the response includes a - * NextToken. To retrieve the next set of results, use the token in the next - * request. Tokens expire after 24 hours.

                                                              - */ - NextToken?: string; } export namespace ListForecastsRequest { @@ -3097,22 +3097,6 @@ export namespace ListForecastsRequest { * operation, and provide the ForecastArn that is listed in the summary.

                                                              */ export interface ForecastSummary { - /** - *

                                                              If an error occurred, an informational message about the error.

                                                              - */ - Message?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) of the dataset group that provided the data used to train - * the predictor.

                                                              - */ - DatasetGroupArn?: string; - - /** - *

                                                              When the forecast creation task was created.

                                                              - */ - CreationTime?: Date; - /** *

                                                              The status of the forecast. States include:

                                                              *
                                                                @@ -3141,11 +3125,6 @@ export interface ForecastSummary { */ Status?: string; - /** - *

                                                                The ARN of the forecast.

                                                                - */ - ForecastArn?: string; - /** *

                                                                The name of the forecast.

                                                                */ @@ -3159,6 +3138,27 @@ export interface ForecastSummary { */ LastModificationTime?: Date; + /** + *

                                                                When the forecast creation task was created.

                                                                + */ + CreationTime?: Date; + + /** + *

                                                                The ARN of the forecast.

                                                                + */ + ForecastArn?: string; + + /** + *

                                                                If an error occurred, an informational message about the error.

                                                                + */ + Message?: string; + + /** + *

                                                                The Amazon Resource Name (ARN) of the dataset group that provided the data used to train + * the predictor.

                                                                + */ + DatasetGroupArn?: string; + /** *

                                                                The ARN of the predictor used to generate the forecast.

                                                                */ @@ -3173,15 +3173,15 @@ export namespace ForecastSummary { export interface ListForecastsResponse { /** - *

                                                                If the response is truncated, Amazon Forecast returns this token. To retrieve the next set - * of results, use the token in the next request.

                                                                + *

                                                                An array of objects that summarize each forecast's properties.

                                                                */ - NextToken?: string; + Forecasts?: ForecastSummary[]; /** - *

                                                                An array of objects that summarize each forecast's properties.

                                                                + *

                                                                If the response is truncated, Amazon Forecast returns this token. To retrieve the next set + * of results, use the token in the next request.

                                                                */ - Forecasts?: ForecastSummary[]; + NextToken?: string; } export namespace ListForecastsResponse { @@ -3191,11 +3191,6 @@ export namespace ListForecastsResponse { } export interface ListPredictorsRequest { - /** - *

                                                                The number of items to return in the response.

                                                                - */ - MaxResults?: number; - /** *

                                                                If the result of the previous request was truncated, the response includes a * NextToken. To retrieve the next set of results, use the token in the next @@ -3203,6 +3198,11 @@ export interface ListPredictorsRequest { */ NextToken?: string; + /** + *

                                                                The number of items to return in the response.

                                                                + */ + MaxResults?: number; + /** *

                                                                An array of filters. For each filter, you provide a condition and a match statement. The * condition is either IS or IS_NOT, which specifies whether to include @@ -3249,15 +3249,9 @@ export namespace ListPredictorsRequest { */ export interface PredictorSummary { /** - *

                                                                When the model training task was created.

                                                                - */ - CreationTime?: Date; - - /** - *

                                                                The Amazon Resource Name (ARN) of the dataset group that contains the data used to train - * the predictor.

                                                                + *

                                                                The name of the predictor.

                                                                */ - DatasetGroupArn?: string; + PredictorName?: string; /** *

                                                                The status of the predictor. States include:

                                                                @@ -3294,9 +3288,9 @@ export interface PredictorSummary { Status?: string; /** - *

                                                                The name of the predictor.

                                                                + *

                                                                If an error occurred, an informational message about the error.

                                                                */ - PredictorName?: string; + Message?: string; /** *

                                                                Initially, the same as CreationTime (status is CREATE_PENDING). @@ -3306,15 +3300,21 @@ export interface PredictorSummary { */ LastModificationTime?: Date; + /** + *

                                                                When the model training task was created.

                                                                + */ + CreationTime?: Date; + /** *

                                                                The ARN of the predictor.

                                                                */ PredictorArn?: string; /** - *

                                                                If an error occurred, an informational message about the error.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the dataset group that contains the data used to train + * the predictor.

                                                                */ - Message?: string; + DatasetGroupArn?: string; } export namespace PredictorSummary { @@ -3325,15 +3325,15 @@ export namespace PredictorSummary { export interface ListPredictorsResponse { /** - *

                                                                If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of - * results, use the token in the next request.

                                                                + *

                                                                An array of objects that summarize each predictor's properties.

                                                                */ - NextToken?: string; + Predictors?: PredictorSummary[]; /** - *

                                                                An array of objects that summarize each predictor's properties.

                                                                + *

                                                                If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of + * results, use the token in the next request.

                                                                */ - Predictors?: PredictorSummary[]; + NextToken?: string; } export namespace ListPredictorsResponse { @@ -3420,14 +3420,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                                The keys of the tags to be removed.

                                                                + *

                                                                The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Forecast dataset groups, datasets, dataset import jobs, predictors, forecasts, and forecast exports.

                                                                */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; /** - *

                                                                The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Forecast dataset groups, datasets, dataset import jobs, predictors, forecasts, and forecast exports.

                                                                + *

                                                                The keys of the tags to be removed.

                                                                */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { diff --git a/clients/client-forecastquery/models/models_0.ts b/clients/client-forecastquery/models/models_0.ts index 48e8a7201a7a..882635f499d4 100644 --- a/clients/client-forecastquery/models/models_0.ts +++ b/clients/client-forecastquery/models/models_0.ts @@ -48,24 +48,16 @@ export namespace LimitExceededException { export interface QueryForecastRequest { /** - *

                                                                The filtering criteria to apply when retrieving the forecast. For example, to get the - * forecast for client_21 in the electricity usage dataset, specify the - * following:

                                                                - *

                                                                - * {"item_id" : "client_21"} - *

                                                                - * - * - *

                                                                To get the full forecast, use the CreateForecastExportJob operation.

                                                                + *

                                                                The start date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss + * (ISO 8601 format). For example, 2015-01-01T08:00:00.

                                                                */ - Filters: { [key: string]: string } | undefined; + StartDate?: string; /** - *

                                                                If the result of the previous request was truncated, the response includes a - * NextToken. To retrieve the next set of results, use the token in the next - * request. Tokens expire after 24 hours.

                                                                + *

                                                                The end date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss + * (ISO 8601 format). For example, 2015-01-01T20:00:00.

                                                                */ - NextToken?: string; + EndDate?: string; /** *

                                                                The Amazon Resource Name (ARN) of the forecast to query.

                                                                @@ -73,16 +65,24 @@ export interface QueryForecastRequest { ForecastArn: string | undefined; /** - *

                                                                The start date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss - * (ISO 8601 format). For example, 2015-01-01T08:00:00.

                                                                + *

                                                                If the result of the previous request was truncated, the response includes a + * NextToken. To retrieve the next set of results, use the token in the next + * request. Tokens expire after 24 hours.

                                                                */ - StartDate?: string; + NextToken?: string; /** - *

                                                                The end date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss - * (ISO 8601 format). For example, 2015-01-01T20:00:00.

                                                                + *

                                                                The filtering criteria to apply when retrieving the forecast. For example, to get the + * forecast for client_21 in the electricity usage dataset, specify the + * following:

                                                                + *

                                                                + * {"item_id" : "client_21"} + *

                                                                + * + * + *

                                                                To get the full forecast, use the CreateForecastExportJob operation.

                                                                */ - EndDate?: string; + Filters: { [key: string]: string } | undefined; } export namespace QueryForecastRequest { @@ -97,14 +97,14 @@ export namespace QueryForecastRequest { */ export interface DataPoint { /** - *

                                                                The forecast value.

                                                                + *

                                                                The timestamp of the specific forecast.

                                                                */ - Value?: number; + Timestamp?: string; /** - *

                                                                The timestamp of the specific forecast.

                                                                + *

                                                                The forecast value.

                                                                */ - Timestamp?: string; + Value?: number; } export namespace DataPoint { diff --git a/clients/client-frauddetector/models/models_0.ts b/clients/client-frauddetector/models/models_0.ts index bd10b23cca80..8a53db69ffe1 100644 --- a/clients/client-frauddetector/models/models_0.ts +++ b/clients/client-frauddetector/models/models_0.ts @@ -42,36 +42,36 @@ export namespace Tag { */ export interface VariableEntry { /** - *

                                                                The name of the variable.

                                                                + *

                                                                The data type of the variable.

                                                                */ - name?: string; + dataType?: string; /** - *

                                                                The description of the variable.

                                                                + *

                                                                The type of the variable. For more information see Variable types.

                                                                + *

                                                                Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 | BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS | FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1 | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT + *

                                                                */ - description?: string; + variableType?: string; /** - *

                                                                The data source of the variable.

                                                                + *

                                                                The description of the variable.

                                                                */ - dataSource?: string; + description?: string; /** - *

                                                                The type of the variable. For more information see Variable types.

                                                                - *

                                                                Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 | BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS | FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1 | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT | SHIPPING_ZIP | USERAGENT - *

                                                                + *

                                                                The default value of the variable.

                                                                */ - variableType?: string; + defaultValue?: string; /** - *

                                                                The default value of the variable.

                                                                + *

                                                                The name of the variable.

                                                                */ - defaultValue?: string; + name?: string; /** - *

                                                                The data type of the variable.

                                                                + *

                                                                The data source of the variable.

                                                                */ - dataType?: string; + dataSource?: string; } export namespace VariableEntry { @@ -103,14 +103,14 @@ export namespace BatchCreateVariableRequest { */ export interface BatchCreateVariableError { /** - *

                                                                The error code.

                                                                + *

                                                                The name.

                                                                */ - code?: number; + name?: string; /** - *

                                                                The name.

                                                                + *

                                                                The error code.

                                                                */ - name?: string; + code?: number; /** *

                                                                The error message.

                                                                @@ -200,14 +200,14 @@ export namespace BatchGetVariableRequest { */ export interface BatchGetVariableError { /** - *

                                                                The error name.

                                                                + *

                                                                The error code.

                                                                */ - name?: string; + code?: number; /** - *

                                                                The error code.

                                                                + *

                                                                The error name.

                                                                */ - code?: number; + name?: string; /** *

                                                                The error message.

                                                                @@ -239,51 +239,51 @@ export enum DataType { */ export interface Variable { /** - *

                                                                The default value of the variable.

                                                                + *

                                                                The ARN of the variable.

                                                                */ - defaultValue?: string; + arn?: string; /** - *

                                                                The data type of the variable. For more information see Variable types.

                                                                + *

                                                                The data source of the variable.

                                                                */ - dataType?: DataType | string; + dataSource?: DataSource | string; /** - *

                                                                The ARN of the variable.

                                                                + *

                                                                The variable type of the variable.

                                                                + *

                                                                Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 | BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS | FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1 | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT + *

                                                                */ - arn?: string; + variableType?: string; /** - *

                                                                The data source of the variable.

                                                                + *

                                                                The default value of the variable.

                                                                */ - dataSource?: DataSource | string; + defaultValue?: string; /** *

                                                                The time when variable was last updated.

                                                                */ lastUpdatedTime?: string; + /** + *

                                                                The data type of the variable. For more information see Variable types.

                                                                + */ + dataType?: DataType | string; + /** *

                                                                The name of the variable.

                                                                */ name?: string; /** - *

                                                                The variable type of the variable.

                                                                - *

                                                                Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 | BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS | FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1 | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT | SHIPPING_ZIP | USERAGENT - *

                                                                + *

                                                                The description of the variable.

                                                                */ - variableType?: string; + description?: string; /** *

                                                                The time when the variable was created.

                                                                */ createdTime?: string; - - /** - *

                                                                The description of the variable.

                                                                - */ - description?: string; } export namespace Variable { @@ -319,9 +319,9 @@ export enum ModelTypeEnum { */ export interface ModelVersion { /** - *

                                                                The model ID.

                                                                + *

                                                                The model type.

                                                                */ - modelId: string | undefined; + modelType: ModelTypeEnum | string | undefined; /** *

                                                                The model version number.

                                                                @@ -329,14 +329,14 @@ export interface ModelVersion { modelVersionNumber: string | undefined; /** - *

                                                                The model version ARN.

                                                                + *

                                                                The model ID.

                                                                */ - arn?: string; + modelId: string | undefined; /** - *

                                                                The model type.

                                                                + *

                                                                The model version ARN.

                                                                */ - modelType: ModelTypeEnum | string | undefined; + arn?: string; } export namespace ModelVersion { @@ -354,6 +354,11 @@ export enum RuleExecutionMode { *

                                                                A rule.

                                                                */ export interface Rule { + /** + *

                                                                The rule version.

                                                                + */ + ruleVersion: string | undefined; + /** *

                                                                The detector for which the rule is associated.

                                                                */ @@ -363,11 +368,6 @@ export interface Rule { *

                                                                The rule ID.

                                                                */ ruleId: string | undefined; - - /** - *

                                                                The rule version.

                                                                - */ - ruleVersion: string | undefined; } export namespace Rule { @@ -378,9 +378,18 @@ export namespace Rule { export interface CreateDetectorVersionRequest { /** - *

                                                                The description of the detector version.

                                                                + *

                                                                The rule execution mode for the rules included in the detector version.

                                                                + *

                                                                You can define and edit the rule mode at the detector version level, when it is in draft status.

                                                                + *

                                                                If you specify FIRST_MATCHED, Amazon Fraud Detector evaluates rules sequentially, first to last, stopping at the first matched rule. Amazon Fraud dectector then provides the outcomes for that single rule.

                                                                + *

                                                                If you specifiy ALL_MATCHED, Amazon Fraud Detector evaluates all rules and returns the outcomes for all matched rules.

                                                                + *

                                                                The default behavior is FIRST_MATCHED.

                                                                */ - description?: string; + ruleExecutionMode?: RuleExecutionMode | string; + + /** + *

                                                                The model versions to include in the detector version.

                                                                + */ + modelVersions?: ModelVersion[]; /** *

                                                                A collection of key and value pairs.

                                                                @@ -393,28 +402,19 @@ export interface CreateDetectorVersionRequest { externalModelEndpoints?: string[]; /** - *

                                                                The model versions to include in the detector version.

                                                                - */ - modelVersions?: ModelVersion[]; - - /** - *

                                                                The ID of the detector under which you want to create a new version.

                                                                + *

                                                                The description of the detector version.

                                                                */ - detectorId: string | undefined; + description?: string; /** - *

                                                                The rule execution mode for the rules included in the detector version.

                                                                - *

                                                                You can define and edit the rule mode at the detector version level, when it is in draft status.

                                                                - *

                                                                If you specify FIRST_MATCHED, Amazon Fraud Detector evaluates rules sequentially, first to last, stopping at the first matched rule. Amazon Fraud dectector then provides the outcomes for that single rule.

                                                                - *

                                                                If you specifiy ALL_MATCHED, Amazon Fraud Detector evaluates all rules and returns the outcomes for all matched rules.

                                                                - *

                                                                The default behavior is FIRST_MATCHED.

                                                                + *

                                                                The rules to include in the detector version.

                                                                */ - ruleExecutionMode?: RuleExecutionMode | string; + rules: Rule[] | undefined; /** - *

                                                                The rules to include in the detector version.

                                                                + *

                                                                The ID of the detector under which you want to create a new version.

                                                                */ - rules: Rule[] | undefined; + detectorId: string | undefined; } export namespace CreateDetectorVersionRequest { @@ -430,11 +430,6 @@ export enum DetectorVersionStatus { } export interface CreateDetectorVersionResult { - /** - *

                                                                The status of the detector version.

                                                                - */ - status?: DetectorVersionStatus | string; - /** *

                                                                The ID for the created version's parent detector.

                                                                */ @@ -444,6 +439,11 @@ export interface CreateDetectorVersionResult { *

                                                                The ID for the created detector.

                                                                */ detectorVersionId?: string; + + /** + *

                                                                The status of the detector version.

                                                                + */ + status?: DetectorVersionStatus | string; } export namespace CreateDetectorVersionResult { @@ -469,29 +469,29 @@ export namespace ResourceNotFoundException { export interface CreateModelRequest { /** - *

                                                                A collection of key and value pairs.

                                                                + *

                                                                The model type.

                                                                */ - tags?: Tag[]; + modelType: ModelTypeEnum | string | undefined; /** - *

                                                                The name of the event type.

                                                                + *

                                                                A collection of key and value pairs.

                                                                */ - eventTypeName: string | undefined; + tags?: Tag[]; /** - *

                                                                The model ID.

                                                                + *

                                                                The model description.

                                                                */ - modelId: string | undefined; + description?: string; /** - *

                                                                The model type.

                                                                + *

                                                                The name of the event type.

                                                                */ - modelType: ModelTypeEnum | string | undefined; + eventTypeName: string | undefined; /** - *

                                                                The model description.

                                                                + *

                                                                The model ID.

                                                                */ - description?: string; + modelId: string | undefined; } export namespace CreateModelRequest { @@ -513,14 +513,14 @@ export namespace CreateModelResult { */ export interface ExternalEventsDetail { /** - *

                                                                The ARN of the role that provides Amazon Fraud Detector access to the data location.

                                                                + *

                                                                The Amazon S3 bucket location for the data.

                                                                */ - dataAccessRoleArn: string | undefined; + dataLocation: string | undefined; /** - *

                                                                The Amazon S3 bucket location for the data.

                                                                + *

                                                                The ARN of the role that provides Amazon Fraud Detector access to the data location.

                                                                */ - dataLocation: string | undefined; + dataAccessRoleArn: string | undefined; } export namespace ExternalEventsDetail { @@ -572,16 +572,6 @@ export enum TrainingDataSourceEnum { } export interface CreateModelVersionRequest { - /** - *

                                                                The model type.

                                                                - */ - modelType: ModelTypeEnum | string | undefined; - - /** - *

                                                                The training data source location in Amazon S3.

                                                                - */ - trainingDataSource: TrainingDataSourceEnum | string | undefined; - /** *

                                                                A collection of key and value pairs.

                                                                */ @@ -597,10 +587,20 @@ export interface CreateModelVersionRequest { */ trainingDataSchema: TrainingDataSchema | undefined; + /** + *

                                                                The training data source location in Amazon S3.

                                                                + */ + trainingDataSource: TrainingDataSourceEnum | string | undefined; + /** *

                                                                Details for the external events data used for model version training. Required if trainingDataSource is EXTERNAL_EVENTS.

                                                                */ externalEventsDetail?: ExternalEventsDetail; + + /** + *

                                                                The model type.

                                                                + */ + modelType: ModelTypeEnum | string | undefined; } export namespace CreateModelVersionRequest { @@ -611,24 +611,24 @@ export namespace CreateModelVersionRequest { export interface CreateModelVersionResult { /** - *

                                                                The model ID.

                                                                + *

                                                                The model type.

                                                                */ - modelId?: string; + modelType?: ModelTypeEnum | string; /** - *

                                                                The model version status.

                                                                + *

                                                                The model version number of the model version created.

                                                                */ - status?: string; + modelVersionNumber?: string; /** - *

                                                                The model version number of the model version created.

                                                                + *

                                                                The model ID.

                                                                */ - modelVersionNumber?: string; + modelId?: string; /** - *

                                                                The model type.

                                                                + *

                                                                The model version status.

                                                                */ - modelType?: ModelTypeEnum | string; + status?: string; } export namespace CreateModelVersionResult { @@ -643,39 +643,39 @@ export enum Language { export interface CreateRuleRequest { /** - *

                                                                The language of the rule.

                                                                + *

                                                                The detector ID for the rule's parent detector.

                                                                */ - language: Language | string | undefined; + detectorId: string | undefined; /** - *

                                                                The rule description.

                                                                + *

                                                                The outcome or outcomes returned when the rule expression matches.

                                                                */ - description?: string; + outcomes: string[] | undefined; /** - *

                                                                A collection of key and value pairs.

                                                                + *

                                                                The rule ID.

                                                                */ - tags?: Tag[]; + ruleId: string | undefined; /** - *

                                                                The outcome or outcomes returned when the rule expression matches.

                                                                + *

                                                                The rule expression.

                                                                */ - outcomes: string[] | undefined; + expression: string | undefined; /** - *

                                                                The detector ID for the rule's parent detector.

                                                                + *

                                                                A collection of key and value pairs.

                                                                */ - detectorId: string | undefined; + tags?: Tag[]; /** - *

                                                                The rule ID.

                                                                + *

                                                                The rule description.

                                                                */ - ruleId: string | undefined; + description?: string; /** - *

                                                                The rule expression.

                                                                + *

                                                                The language of the rule.

                                                                */ - expression: string | undefined; + language: Language | string | undefined; } export namespace CreateRuleRequest { @@ -700,42 +700,42 @@ export namespace CreateRuleResult { export interface CreateVariableRequest { /** - *

                                                                The default value for the variable when no value is received.

                                                                + *

                                                                The description.

                                                                */ - defaultValue: string | undefined; + description?: string; /** - *

                                                                The source of the data.

                                                                + *

                                                                A collection of key and value pairs.

                                                                */ - dataSource: DataSource | string | undefined; + tags?: Tag[]; + + /** + *

                                                                The name of the variable.

                                                                + */ + name: string | undefined; /** *

                                                                The variable type. For more information see Variable types. *

                                                                - *

                                                                Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 | BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS | FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1 | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT | SHIPPING_ZIP | USERAGENT + *

                                                                Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 | BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS | FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1 | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT *

                                                                */ variableType?: string; /** - *

                                                                A collection of key and value pairs.

                                                                - */ - tags?: Tag[]; - - /** - *

                                                                The data type.

                                                                + *

                                                                The source of the data.

                                                                */ - dataType: DataType | string | undefined; + dataSource: DataSource | string | undefined; /** - *

                                                                The name of the variable.

                                                                + *

                                                                The default value for the variable when no value is received.

                                                                */ - name: string | undefined; + defaultValue: string | undefined; /** - *

                                                                The description.

                                                                + *

                                                                The data type.

                                                                */ - description?: string; + dataType: DataType | string | undefined; } export namespace CreateVariableRequest { @@ -827,14 +827,14 @@ export namespace DeleteDetectorVersionResult { export interface DeleteEventRequest { /** - *

                                                                The ID of the event to delete.

                                                                + *

                                                                The name of the event type.

                                                                */ - eventId: string | undefined; + eventTypeName: string | undefined; /** - *

                                                                The name of the event type.

                                                                + *

                                                                The ID of the event to delete.

                                                                */ - eventTypeName: string | undefined; + eventId: string | undefined; } export namespace DeleteEventRequest { @@ -879,14 +879,14 @@ export interface DescribeDetectorRequest { detectorId: string | undefined; /** - *

                                                                The maximum number of results to return for the request.

                                                                + *

                                                                The next token from the previous response.

                                                                */ - maxResults?: number; + nextToken?: string; /** - *

                                                                The next token from the previous response.

                                                                + *

                                                                The maximum number of results to return for the request.

                                                                */ - nextToken?: string; + maxResults?: number; } export namespace DescribeDetectorRequest { @@ -899,11 +899,6 @@ export namespace DescribeDetectorRequest { *

                                                                The summary of the detector version.

                                                                */ export interface DetectorVersionSummary { - /** - *

                                                                The detector version status.

                                                                - */ - status?: DetectorVersionStatus | string; - /** *

                                                                The detector version ID.

                                                                */ @@ -914,6 +909,11 @@ export interface DetectorVersionSummary { */ lastUpdatedTime?: string; + /** + *

                                                                The detector version status.

                                                                + */ + status?: DetectorVersionStatus | string; + /** *

                                                                The detector version description.

                                                                */ @@ -928,9 +928,9 @@ export namespace DetectorVersionSummary { export interface DescribeDetectorResult { /** - *

                                                                The status and description for each detector version.

                                                                + *

                                                                The next token to be used for subsequent requests.

                                                                */ - detectorVersionSummaries?: DetectorVersionSummary[]; + nextToken?: string; /** *

                                                                The detector ARN.

                                                                @@ -943,9 +943,9 @@ export interface DescribeDetectorResult { detectorId?: string; /** - *

                                                                The next token to be used for subsequent requests.

                                                                + *

                                                                The status and description for each detector version.

                                                                */ - nextToken?: string; + detectorVersionSummaries?: DetectorVersionSummary[]; } export namespace DescribeDetectorResult { @@ -956,9 +956,9 @@ export namespace DescribeDetectorResult { export interface DescribeModelVersionsRequest { /** - *

                                                                The maximum number of results to return.

                                                                + *

                                                                The next token from the previous results.

                                                                */ - maxResults?: number; + nextToken?: string; /** *

                                                                The model version number.

                                                                @@ -971,14 +971,14 @@ export interface DescribeModelVersionsRequest { modelType?: ModelTypeEnum | string; /** - *

                                                                The model ID.

                                                                + *

                                                                The maximum number of results to return.

                                                                */ - modelId?: string; + maxResults?: number; /** - *

                                                                The next token from the previous results.

                                                                + *

                                                                The model ID.

                                                                */ - nextToken?: string; + modelId?: string; } export namespace DescribeModelVersionsRequest { @@ -992,9 +992,9 @@ export namespace DescribeModelVersionsRequest { */ export interface FieldValidationMessage { /** - *

                                                                The message type.

                                                                + *

                                                                The message ID.

                                                                */ - type?: string; + identifier?: string; /** *

                                                                The field name.

                                                                @@ -1002,19 +1002,19 @@ export interface FieldValidationMessage { fieldName?: string; /** - *

                                                                The message ID.

                                                                + *

                                                                The message type.

                                                                */ - identifier?: string; + type?: string; /** - *

                                                                The message content.

                                                                + *

                                                                The message title.

                                                                */ - content?: string; + title?: string; /** - *

                                                                The message title.

                                                                + *

                                                                The message content.

                                                                */ - title?: string; + content?: string; } export namespace FieldValidationMessage { @@ -1028,14 +1028,14 @@ export namespace FieldValidationMessage { */ export interface FileValidationMessage { /** - *

                                                                The message content.

                                                                + *

                                                                The message type.

                                                                */ - content?: string; + type?: string; /** - *

                                                                The message type.

                                                                + *

                                                                The message content.

                                                                */ - type?: string; + content?: string; /** *

                                                                The message title.

                                                                @@ -1085,14 +1085,14 @@ export interface MetricDataPoint { fpr?: number; /** - *

                                                                The true positive rate. This is the percentage of total fraud the model detects. Also known as capture rate.

                                                                + *

                                                                The percentage of fraud events correctly predicted as fraudulent as compared to all events predicted as fraudulent.

                                                                */ - tpr?: number; + precision?: number; /** - *

                                                                The percentage of fraud events correctly predicted as fraudulent as compared to all events predicted as fraudulent.

                                                                + *

                                                                The true positive rate. This is the percentage of total fraud the model detects. Also known as capture rate.

                                                                */ - precision?: number; + tpr?: number; } export namespace MetricDataPoint { @@ -1127,14 +1127,14 @@ export namespace TrainingMetrics { */ export interface TrainingResult { /** - *

                                                                The validation metrics.

                                                                + *

                                                                The training metric details.

                                                                */ - dataValidationMetrics?: DataValidationMetrics; + trainingMetrics?: TrainingMetrics; /** - *

                                                                The training metric details.

                                                                + *

                                                                The validation metrics.

                                                                */ - trainingMetrics?: TrainingMetrics; + dataValidationMetrics?: DataValidationMetrics; } export namespace TrainingResult { @@ -1148,14 +1148,9 @@ export namespace TrainingResult { */ export interface ModelVersionDetail { /** - *

                                                                The model version number.

                                                                - */ - modelVersionNumber?: string; - - /** - *

                                                                The timestamp when the model was created.

                                                                + *

                                                                The event details.

                                                                */ - createdTime?: string; + externalEventsDetail?: ExternalEventsDetail; /** *

                                                                The status of the model version.

                                                                @@ -1163,44 +1158,49 @@ export interface ModelVersionDetail { status?: string; /** - *

                                                                The model type.

                                                                + *

                                                                The model version ARN.

                                                                */ - modelType?: ModelTypeEnum | string; + arn?: string; /** - *

                                                                The timestamp when the model was last updated.

                                                                + *

                                                                The training results.

                                                                */ - lastUpdatedTime?: string; + trainingResult?: TrainingResult; /** - *

                                                                The model version ARN.

                                                                + *

                                                                The model version training data source.

                                                                */ - arn?: string; + trainingDataSource?: TrainingDataSourceEnum | string; /** - *

                                                                The model version training data source.

                                                                + *

                                                                The timestamp when the model was created.

                                                                */ - trainingDataSource?: TrainingDataSourceEnum | string; + createdTime?: string; /** - *

                                                                The training results.

                                                                + *

                                                                The model version number.

                                                                */ - trainingResult?: TrainingResult; + modelVersionNumber?: string; /** - *

                                                                The event details.

                                                                + *

                                                                The timestamp when the model was last updated.

                                                                */ - externalEventsDetail?: ExternalEventsDetail; + lastUpdatedTime?: string; /** - *

                                                                The model ID.

                                                                + *

                                                                The model type.

                                                                */ - modelId?: string; + modelType?: ModelTypeEnum | string; /** *

                                                                The training data schema.

                                                                */ trainingDataSchema?: TrainingDataSchema; + + /** + *

                                                                The model ID.

                                                                + */ + modelId?: string; } export namespace ModelVersionDetail { @@ -1211,14 +1211,14 @@ export namespace ModelVersionDetail { export interface DescribeModelVersionsResult { /** - *

                                                                The next token.

                                                                + *

                                                                The model version details.

                                                                */ - nextToken?: string; + modelVersionDetails?: ModelVersionDetail[]; /** - *

                                                                The model version details.

                                                                + *

                                                                The next token.

                                                                */ - modelVersionDetails?: ModelVersionDetail[]; + nextToken?: string; } export namespace DescribeModelVersionsResult { @@ -1229,14 +1229,14 @@ export namespace DescribeModelVersionsResult { export interface GetDetectorsRequest { /** - *

                                                                The maximum number of objects to return for the request.

                                                                + *

                                                                The detector ID.

                                                                */ - maxResults?: number; + detectorId?: string; /** - *

                                                                The detector ID.

                                                                + *

                                                                The maximum number of objects to return for the request.

                                                                */ - detectorId?: string; + maxResults?: number; /** *

                                                                The next token for the subsequent request.

                                                                @@ -1255,14 +1255,14 @@ export namespace GetDetectorsRequest { */ export interface Detector { /** - *

                                                                Timestamp of when the detector was created.

                                                                + *

                                                                The name of the event type.

                                                                */ - createdTime?: string; + eventTypeName?: string; /** - *

                                                                The name of the event type.

                                                                + *

                                                                The detector ID.

                                                                */ - eventTypeName?: string; + detectorId?: string; /** *

                                                                The detector description.

                                                                @@ -1270,19 +1270,19 @@ export interface Detector { description?: string; /** - *

                                                                The detector ID.

                                                                + *

                                                                Timestamp of when the detector was created.

                                                                */ - detectorId?: string; + createdTime?: string; /** - *

                                                                The detector ARN.

                                                                + *

                                                                Timestamp of when the detector was last updated.

                                                                */ - arn?: string; + lastUpdatedTime?: string; /** - *

                                                                Timestamp of when the detector was last updated.

                                                                + *

                                                                The detector ARN.

                                                                */ - lastUpdatedTime?: string; + arn?: string; } export namespace Detector { @@ -1329,9 +1329,29 @@ export namespace GetDetectorVersionRequest { export interface GetDetectorVersionResult { /** - *

                                                                The Amazon SageMaker model endpoints included in the detector version.

                                                                + *

                                                                The detector version ARN.

                                                                */ - externalModelEndpoints?: string[]; + arn?: string; + + /** + *

                                                                The rules included in the detector version.

                                                                + */ + rules?: Rule[]; + + /** + *

                                                                The model versions included in the detector version.

                                                                + */ + modelVersions?: ModelVersion[]; + + /** + *

                                                                The detector version ID.

                                                                + */ + detectorVersionId?: string; + + /** + *

                                                                The detector ID.

                                                                + */ + detectorId?: string; /** *

                                                                The execution mode of the rule in the dectector

                                                                @@ -1343,9 +1363,9 @@ export interface GetDetectorVersionResult { ruleExecutionMode?: RuleExecutionMode | string; /** - *

                                                                The detector version ID.

                                                                + *

                                                                The timestamp when the detector version was created.

                                                                */ - detectorVersionId?: string; + createdTime?: string; /** *

                                                                The detector version description.

                                                                @@ -1353,40 +1373,20 @@ export interface GetDetectorVersionResult { description?: string; /** - *

                                                                The detector version ARN.

                                                                + *

                                                                The Amazon SageMaker model endpoints included in the detector version.

                                                                */ - arn?: string; + externalModelEndpoints?: string[]; /** *

                                                                The status of the detector version.

                                                                */ status?: DetectorVersionStatus | string; - /** - *

                                                                The rules included in the detector version.

                                                                - */ - rules?: Rule[]; - /** *

                                                                The timestamp when the detector version was last updated. *

                                                                */ lastUpdatedTime?: string; - - /** - *

                                                                The timestamp when the detector version was created.

                                                                - */ - createdTime?: string; - - /** - *

                                                                The model versions included in the detector version.

                                                                - */ - modelVersions?: ModelVersion[]; - - /** - *

                                                                The detector ID.

                                                                - */ - detectorId?: string; } export namespace GetDetectorVersionResult { @@ -1423,9 +1423,9 @@ export namespace GetEntityTypesRequest { */ export interface EntityType { /** - *

                                                                The entity type ARN.

                                                                + *

                                                                Timestamp of when the entity type was created.

                                                                */ - arn?: string; + createdTime?: string; /** *

                                                                Timestamp of when the entity type was last updated.

                                                                @@ -1433,19 +1433,19 @@ export interface EntityType { lastUpdatedTime?: string; /** - *

                                                                The entity type description.

                                                                + *

                                                                The entity type name.

                                                                */ - description?: string; + name?: string; /** - *

                                                                The entity type name.

                                                                + *

                                                                The entity type description.

                                                                */ - name?: string; + description?: string; /** - *

                                                                Timestamp of when the entity type was created.

                                                                + *

                                                                The entity type ARN.

                                                                */ - createdTime?: string; + arn?: string; } export namespace EntityType { @@ -1477,14 +1477,14 @@ export namespace GetEntityTypesResult { */ export interface Entity { /** - *

                                                                The entity ID. If you do not know the entityId, you can pass unknown, which is areserved string literal.

                                                                + *

                                                                The entity type.

                                                                */ - entityId: string | undefined; + entityType: string | undefined; /** - *

                                                                The entity type.

                                                                + *

                                                                The entity ID. If you do not know the entityId, you can pass unknown, which is areserved string literal.

                                                                */ - entityType: string | undefined; + entityId: string | undefined; } export namespace Entity { @@ -1516,19 +1516,19 @@ export namespace ModelEndpointDataBlob { export interface GetEventPredictionRequest { /** - *

                                                                The unique ID used to identify the event.

                                                                + *

                                                                Timestamp that defines when the event under evaluation occurred.

                                                                */ - eventId: string | undefined; + eventTimestamp: string | undefined; /** - *

                                                                Names of the event type's variables you defined in Amazon Fraud Detector to represent data elements and their corresponding values for the event you are sending for evaluation.

                                                                + *

                                                                The detector version ID.

                                                                */ - eventVariables: { [key: string]: string } | undefined; + detectorVersionId?: string; /** - *

                                                                The detector version ID.

                                                                + *

                                                                Names of the event type's variables you defined in Amazon Fraud Detector to represent data elements and their corresponding values for the event you are sending for evaluation.

                                                                */ - detectorVersionId?: string; + eventVariables: { [key: string]: string } | undefined; /** *

                                                                The Amazon SageMaker model endpoint input data blobs.

                                                                @@ -1536,14 +1536,14 @@ export interface GetEventPredictionRequest { externalModelEndpointDataBlobs?: { [key: string]: ModelEndpointDataBlob }; /** - *

                                                                The event type associated with the detector specified for the prediction.

                                                                + *

                                                                The unique ID used to identify the event.

                                                                */ - eventTypeName: string | undefined; + eventId: string | undefined; /** - *

                                                                Timestamp that defines when the event under evaluation occurred.

                                                                + *

                                                                The event type associated with the detector specified for the prediction.

                                                                */ - eventTimestamp: string | undefined; + eventTypeName: string | undefined; /** *

                                                                The detector ID.

                                                                @@ -1569,14 +1569,14 @@ export namespace GetEventPredictionRequest { */ export interface ModelScores { /** - *

                                                                The model's fraud prediction scores.

                                                                + *

                                                                The model version.

                                                                */ - scores?: { [key: string]: number }; + modelVersion?: ModelVersion; /** - *

                                                                The model version.

                                                                + *

                                                                The model's fraud prediction scores.

                                                                */ - modelVersion?: ModelVersion; + scores?: { [key: string]: number }; } export namespace ModelScores { @@ -1608,14 +1608,14 @@ export namespace RuleResult { export interface GetEventPredictionResult { /** - *

                                                                The model scores. Amazon Fraud Detector generates model scores between 0 and 1000, where 0 is low fraud risk and 1000 is high fraud risk. Model scores are directly related to the false positive rate (FPR). For example, a score of 600 corresponds to an estimated 10% false positive rate whereas a score of 900 corresponds to an estimated 2% false positive rate.

                                                                + *

                                                                The results.

                                                                */ - modelScores?: ModelScores[]; + ruleResults?: RuleResult[]; /** - *

                                                                The results.

                                                                + *

                                                                The model scores. Amazon Fraud Detector generates model scores between 0 and 1000, where 0 is low fraud risk and 1000 is high fraud risk. Model scores are directly related to the false positive rate (FPR). For example, a score of 600 corresponds to an estimated 10% false positive rate whereas a score of 900 corresponds to an estimated 2% false positive rate.

                                                                */ - ruleResults?: RuleResult[]; + modelScores?: ModelScores[]; } export namespace GetEventPredictionResult { @@ -1652,19 +1652,19 @@ export namespace GetEventTypesRequest { */ export interface EventType { /** - *

                                                                The event type description.

                                                                + *

                                                                Timestamp of when the event type was created.

                                                                */ - description?: string; + createdTime?: string; /** - *

                                                                The event type name.

                                                                + *

                                                                The event type description.

                                                                */ - name?: string; + description?: string; /** - *

                                                                Timestamp of when the event type was created.

                                                                + *

                                                                Timestamp of when the event type was last updated.

                                                                */ - createdTime?: string; + lastUpdatedTime?: string; /** *

                                                                The event type entity types.

                                                                @@ -1672,24 +1672,24 @@ export interface EventType { entityTypes?: string[]; /** - *

                                                                The event type labels.

                                                                + *

                                                                The event type event variables.

                                                                */ - labels?: string[]; + eventVariables?: string[]; /** - *

                                                                The entity type ARN.

                                                                + *

                                                                The event type labels.

                                                                */ - arn?: string; + labels?: string[]; /** - *

                                                                Timestamp of when the event type was last updated.

                                                                + *

                                                                The event type name.

                                                                */ - lastUpdatedTime?: string; + name?: string; /** - *

                                                                The event type event variables.

                                                                + *

                                                                The entity type ARN.

                                                                */ - eventVariables?: string[]; + arn?: string; } export namespace EventType { @@ -1717,11 +1717,6 @@ export namespace GetEventTypesResult { } export interface GetExternalModelsRequest { - /** - *

                                                                The maximum number of objects to return for the request.

                                                                - */ - maxResults?: number; - /** *

                                                                The Amazon SageMaker model endpoint.

                                                                */ @@ -1731,6 +1726,11 @@ export interface GetExternalModelsRequest { *

                                                                The next page token for the request.

                                                                */ nextToken?: string; + + /** + *

                                                                The maximum number of objects to return for the request.

                                                                + */ + maxResults?: number; } export namespace GetExternalModelsRequest { @@ -1749,11 +1749,9 @@ export enum ModelInputDataFormat { */ export interface ModelInputConfiguration { /** - *

                                                                Template for constructing the CSV input-data sent to SageMaker. At event-evaluation, - * the placeholders for variable-names in the template will be replaced with the variable - * values before being sent to SageMaker.

                                                                + *

                                                                The event type name.

                                                                */ - csvInputTemplate?: string; + eventTypeName?: string; /** *

                                                                The format of the model input configuration. The format differs depending on if it is @@ -1769,9 +1767,11 @@ export interface ModelInputConfiguration { jsonInputTemplate?: string; /** - *

                                                                The event type name.

                                                                + *

                                                                Template for constructing the CSV input-data sent to SageMaker. At event-evaluation, + * the placeholders for variable-names in the template will be replaced with the variable + * values before being sent to SageMaker.

                                                                */ - eventTypeName?: string; + csvInputTemplate?: string; /** *

                                                                The event variables.

                                                                @@ -1809,14 +1809,14 @@ export interface ModelOutputConfiguration { csvIndexToVariableMap?: { [key: string]: string }; /** - *

                                                                A map of JSON keys in response from SageMaker to the Amazon Fraud Detector variables.

                                                                + *

                                                                The format of the model output configuration.

                                                                */ - jsonKeyToVariableMap?: { [key: string]: string }; + format: ModelOutputDataFormat | string | undefined; /** - *

                                                                The format of the model output configuration.

                                                                + *

                                                                A map of JSON keys in response from SageMaker to the Amazon Fraud Detector variables.

                                                                */ - format: ModelOutputDataFormat | string | undefined; + jsonKeyToVariableMap?: { [key: string]: string }; } export namespace ModelOutputConfiguration { @@ -1830,49 +1830,49 @@ export namespace ModelOutputConfiguration { */ export interface ExternalModel { /** - *

                                                                The model ARN.

                                                                + *

                                                                The output configuration.

                                                                */ - arn?: string; + outputConfiguration?: ModelOutputConfiguration; /** - *

                                                                The Amazon SageMaker model endpoints.

                                                                + *

                                                                Timestamp of when the model was last created.

                                                                */ - modelEndpoint?: string; + createdTime?: string; /** - *

                                                                The input configuration.

                                                                + *

                                                                Timestamp of when the model was last updated.

                                                                */ - inputConfiguration?: ModelInputConfiguration; + lastUpdatedTime?: string; /** - *

                                                                Timestamp of when the model was last updated.

                                                                + *

                                                                The Amazon Fraud Detector status for the external model endpoint

                                                                */ - lastUpdatedTime?: string; + modelEndpointStatus?: ModelEndpointStatus | string; /** - *

                                                                The role used to invoke the model.

                                                                + *

                                                                The model ARN.

                                                                */ - invokeModelEndpointRoleArn?: string; + arn?: string; /** - *

                                                                The source of the model.

                                                                + *

                                                                The role used to invoke the model.

                                                                */ - modelSource?: ModelSource | string; + invokeModelEndpointRoleArn?: string; /** - *

                                                                The Amazon Fraud Detector status for the external model endpoint

                                                                + *

                                                                The Amazon SageMaker model endpoints.

                                                                */ - modelEndpointStatus?: ModelEndpointStatus | string; + modelEndpoint?: string; /** - *

                                                                Timestamp of when the model was last created.

                                                                + *

                                                                The input configuration.

                                                                */ - createdTime?: string; + inputConfiguration?: ModelInputConfiguration; /** - *

                                                                The output configuration.

                                                                + *

                                                                The source of the model.

                                                                */ - outputConfiguration?: ModelOutputConfiguration; + modelSource?: ModelSource | string; } export namespace ExternalModel { @@ -1883,14 +1883,14 @@ export namespace ExternalModel { export interface GetExternalModelsResult { /** - *

                                                                The next page token to be used in subsequent requests.

                                                                + *

                                                                Gets the Amazon SageMaker models.

                                                                */ - nextToken?: string; + externalModels?: ExternalModel[]; /** - *

                                                                Gets the Amazon SageMaker models.

                                                                + *

                                                                The next page token to be used in subsequent requests.

                                                                */ - externalModels?: ExternalModel[]; + nextToken?: string; } export namespace GetExternalModelsResult { @@ -1935,14 +1935,14 @@ export interface GetLabelsRequest { name?: string; /** - *

                                                                The maximum number of objects to return for the request.

                                                                + *

                                                                The next token for the subsequent request.

                                                                */ - maxResults?: number; + nextToken?: string; /** - *

                                                                The next token for the subsequent request.

                                                                + *

                                                                The maximum number of objects to return for the request.

                                                                */ - nextToken?: string; + maxResults?: number; } export namespace GetLabelsRequest { @@ -1956,19 +1956,19 @@ export namespace GetLabelsRequest { */ export interface Label { /** - *

                                                                Timestamp of when the label was last updated.

                                                                + *

                                                                Timestamp of when the event type was created.

                                                                */ - lastUpdatedTime?: string; + createdTime?: string; /** - *

                                                                The label ARN.

                                                                + *

                                                                The label description.

                                                                */ - arn?: string; + description?: string; /** - *

                                                                The label description.

                                                                + *

                                                                Timestamp of when the label was last updated.

                                                                */ - description?: string; + lastUpdatedTime?: string; /** *

                                                                The label name.

                                                                @@ -1976,9 +1976,9 @@ export interface Label { name?: string; /** - *

                                                                Timestamp of when the event type was created.

                                                                + *

                                                                The label ARN.

                                                                */ - createdTime?: string; + arn?: string; } export namespace Label { @@ -2007,14 +2007,14 @@ export namespace GetLabelsResult { export interface GetModelsRequest { /** - *

                                                                The model type.

                                                                + *

                                                                The model ID.

                                                                */ - modelType?: ModelTypeEnum | string; + modelId?: string; /** - *

                                                                The next token for the subsequent request.

                                                                + *

                                                                The model type.

                                                                */ - nextToken?: string; + modelType?: ModelTypeEnum | string; /** *

                                                                The maximum number of objects to return for the request.

                                                                @@ -2022,9 +2022,9 @@ export interface GetModelsRequest { maxResults?: number; /** - *

                                                                The model ID.

                                                                + *

                                                                The next token for the subsequent request.

                                                                */ - modelId?: string; + nextToken?: string; } export namespace GetModelsRequest { @@ -2038,9 +2038,14 @@ export namespace GetModelsRequest { */ export interface Model { /** - *

                                                                The model description.

                                                                + *

                                                                The ARN of the model.

                                                                */ - description?: string; + arn?: string; + + /** + *

                                                                The model type.

                                                                + */ + modelType?: ModelTypeEnum | string; /** *

                                                                The name of the event type.

                                                                @@ -2053,24 +2058,19 @@ export interface Model { lastUpdatedTime?: string; /** - *

                                                                The model type.

                                                                + *

                                                                The model description.

                                                                */ - modelType?: ModelTypeEnum | string; + description?: string; /** - *

                                                                The ARN of the model.

                                                                + *

                                                                Timestamp of when the model was created.

                                                                */ - arn?: string; + createdTime?: string; /** *

                                                                The model ID.

                                                                */ modelId?: string; - - /** - *

                                                                Timestamp of when the model was created.

                                                                - */ - createdTime?: string; } export namespace Model { @@ -2098,6 +2098,11 @@ export namespace GetModelsResult { } export interface GetModelVersionRequest { + /** + *

                                                                The model version number.

                                                                + */ + modelVersionNumber: string | undefined; + /** *

                                                                The model ID.

                                                                */ @@ -2107,11 +2112,6 @@ export interface GetModelVersionRequest { *

                                                                The model type.

                                                                */ modelType: ModelTypeEnum | string | undefined; - - /** - *

                                                                The model version number.

                                                                - */ - modelVersionNumber: string | undefined; } export namespace GetModelVersionRequest { @@ -2122,19 +2122,9 @@ export namespace GetModelVersionRequest { export interface GetModelVersionResult { /** - *

                                                                The model version ARN.

                                                                - */ - arn?: string; - - /** - *

                                                                The training data source.

                                                                - */ - trainingDataSource?: TrainingDataSourceEnum | string; - - /** - *

                                                                The training data schema.

                                                                + *

                                                                The model version number.

                                                                */ - trainingDataSchema?: TrainingDataSchema; + modelVersionNumber?: string; /** *

                                                                The model version status.

                                                                @@ -2147,9 +2137,14 @@ export interface GetModelVersionResult { modelId?: string; /** - *

                                                                The model version number.

                                                                + *

                                                                The training data schema.

                                                                */ - modelVersionNumber?: string; + trainingDataSchema?: TrainingDataSchema; + + /** + *

                                                                The training data source.

                                                                + */ + trainingDataSource?: TrainingDataSourceEnum | string; /** *

                                                                The event details.

                                                                @@ -2160,6 +2155,11 @@ export interface GetModelVersionResult { *

                                                                The model type.

                                                                */ modelType?: ModelTypeEnum | string; + + /** + *

                                                                The model version ARN.

                                                                + */ + arn?: string; } export namespace GetModelVersionResult { @@ -2195,15 +2195,20 @@ export namespace GetOutcomesRequest { *

                                                                The outcome.

                                                                */ export interface Outcome { + /** + *

                                                                The outcome ARN.

                                                                + */ + arn?: string; + /** *

                                                                The timestamp when the outcome was last updated.

                                                                */ lastUpdatedTime?: string; /** - *

                                                                The timestamp when the outcome was created.

                                                                + *

                                                                The outcome name.

                                                                */ - createdTime?: string; + name?: string; /** *

                                                                The outcome description.

                                                                @@ -2211,14 +2216,9 @@ export interface Outcome { description?: string; /** - *

                                                                The outcome name.

                                                                - */ - name?: string; - - /** - *

                                                                The outcome ARN.

                                                                + *

                                                                The timestamp when the outcome was created.

                                                                */ - arn?: string; + createdTime?: string; } export namespace Outcome { @@ -2247,14 +2247,14 @@ export namespace GetOutcomesResult { export interface GetRulesRequest { /** - *

                                                                The maximum number of rules to return for the request.

                                                                + *

                                                                The next page token.

                                                                */ - maxResults?: number; + nextToken?: string; /** - *

                                                                The detector ID.

                                                                + *

                                                                The maximum number of rules to return for the request.

                                                                */ - detectorId: string | undefined; + maxResults?: number; /** *

                                                                The rule version.

                                                                @@ -2262,14 +2262,14 @@ export interface GetRulesRequest { ruleVersion?: string; /** - *

                                                                The next page token.

                                                                + *

                                                                The rule ID.

                                                                */ - nextToken?: string; + ruleId?: string; /** - *

                                                                The rule ID.

                                                                + *

                                                                The detector ID.

                                                                */ - ruleId?: string; + detectorId: string | undefined; } export namespace GetRulesRequest { @@ -2283,54 +2283,54 @@ export namespace GetRulesRequest { */ export interface RuleDetail { /** - *

                                                                The rule language.

                                                                + *

                                                                The rule version.

                                                                */ - language?: Language | string; + ruleVersion?: string; /** - *

                                                                The rule description.

                                                                + *

                                                                The rule ID.

                                                                */ - description?: string; + ruleId?: string; /** - *

                                                                The timestamp of when the rule was created.

                                                                + *

                                                                The rule expression.

                                                                */ - createdTime?: string; + expression?: string; /** - *

                                                                The rule ID.

                                                                + *

                                                                The detector for which the rule is associated.

                                                                */ - ruleId?: string; + detectorId?: string; /** - *

                                                                The rule expression.

                                                                + *

                                                                The rule outcomes.

                                                                */ - expression?: string; + outcomes?: string[]; /** - *

                                                                The detector for which the rule is associated.

                                                                + *

                                                                The rule language.

                                                                */ - detectorId?: string; + language?: Language | string; /** - *

                                                                The rule outcomes.

                                                                + *

                                                                Timestamp of the last time the rule was updated.

                                                                */ - outcomes?: string[]; + lastUpdatedTime?: string; /** - *

                                                                The rule ARN.

                                                                + *

                                                                The rule description.

                                                                */ - arn?: string; + description?: string; /** - *

                                                                The rule version.

                                                                + *

                                                                The timestamp of when the rule was created.

                                                                */ - ruleVersion?: string; + createdTime?: string; /** - *

                                                                Timestamp of the last time the rule was updated.

                                                                + *

                                                                The rule ARN.

                                                                */ - lastUpdatedTime?: string; + arn?: string; } export namespace RuleDetail { @@ -2366,14 +2366,14 @@ export interface GetVariablesRequest { name?: string; /** - *

                                                                The max size per page determined for the get variable request.

                                                                + *

                                                                The next page token of the get variable request.

                                                                */ - maxResults?: number; + nextToken?: string; /** - *

                                                                The next page token of the get variable request.

                                                                + *

                                                                The max size per page determined for the get variable request.

                                                                */ - nextToken?: string; + maxResults?: number; } export namespace GetVariablesRequest { @@ -2401,6 +2401,11 @@ export namespace GetVariablesResult { } export interface ListTagsForResourceRequest { + /** + *

                                                                The ARN that specifies the resource whose tags you want to list.

                                                                + */ + resourceARN: string | undefined; + /** *

                                                                The next token from the previous results.

                                                                */ @@ -2410,11 +2415,6 @@ export interface ListTagsForResourceRequest { *

                                                                The maximum number of objects to return for the request.

                                                                */ maxResults?: number; - - /** - *

                                                                The ARN that specifies the resource whose tags you want to list.

                                                                - */ - resourceARN: string | undefined; } export namespace ListTagsForResourceRequest { @@ -2443,24 +2443,24 @@ export namespace ListTagsForResourceResult { export interface PutDetectorRequest { /** - *

                                                                A collection of key and value pairs.

                                                                + *

                                                                The name of the event type.

                                                                */ - tags?: Tag[]; + eventTypeName: string | undefined; /** - *

                                                                The description of the detector.

                                                                + *

                                                                The detector ID.

                                                                */ - description?: string; + detectorId: string | undefined; /** - *

                                                                The name of the event type.

                                                                + *

                                                                The description of the detector.

                                                                */ - eventTypeName: string | undefined; + description?: string; /** - *

                                                                The detector ID.

                                                                + *

                                                                A collection of key and value pairs.

                                                                */ - detectorId: string | undefined; + tags?: Tag[]; } export namespace PutDetectorRequest { @@ -2479,9 +2479,9 @@ export namespace PutDetectorResult { export interface PutEntityTypeRequest { /** - *

                                                                The name of the entity type.

                                                                + *

                                                                A collection of key and value pairs.

                                                                */ - name: string | undefined; + tags?: Tag[]; /** *

                                                                The description.

                                                                @@ -2489,9 +2489,9 @@ export interface PutEntityTypeRequest { description?: string; /** - *

                                                                A collection of key and value pairs.

                                                                + *

                                                                The name of the entity type.

                                                                */ - tags?: Tag[]; + name: string | undefined; } export namespace PutEntityTypeRequest { @@ -2510,34 +2510,34 @@ export namespace PutEntityTypeResult { export interface PutEventTypeRequest { /** - *

                                                                The event type labels.

                                                                + *

                                                                The name.

                                                                */ - labels?: string[]; + name: string | undefined; /** - *

                                                                The event type variables.

                                                                + *

                                                                The entity type for the event type. Example entity types: customer, merchant, account.

                                                                */ - eventVariables: string[] | undefined; + entityTypes: string[] | undefined; /** - *

                                                                A collection of key and value pairs.

                                                                + *

                                                                The description of the event type.

                                                                */ - tags?: Tag[]; + description?: string; /** - *

                                                                The entity type for the event type. Example entity types: customer, merchant, account.

                                                                + *

                                                                A collection of key and value pairs.

                                                                */ - entityTypes: string[] | undefined; + tags?: Tag[]; /** - *

                                                                The description of the event type.

                                                                + *

                                                                The event type labels.

                                                                */ - description?: string; + labels?: string[]; /** - *

                                                                The name.

                                                                + *

                                                                The event type variables.

                                                                */ - name: string | undefined; + eventVariables: string[] | undefined; } export namespace PutEventTypeRequest { @@ -2556,14 +2556,9 @@ export namespace PutEventTypeResult { export interface PutExternalModelRequest { /** - *

                                                                The IAM role used to invoke the model endpoint.

                                                                - */ - invokeModelEndpointRoleArn: string | undefined; - - /** - *

                                                                The model endpoint’s status in Amazon Fraud Detector.

                                                                + *

                                                                A collection of key and value pairs.

                                                                */ - modelEndpointStatus: ModelEndpointStatus | string | undefined; + tags?: Tag[]; /** *

                                                                The model endpoint input configuration.

                                                                @@ -2576,19 +2571,24 @@ export interface PutExternalModelRequest { modelEndpoint: string | undefined; /** - *

                                                                A collection of key and value pairs.

                                                                + *

                                                                The IAM role used to invoke the model endpoint.

                                                                */ - tags?: Tag[]; + invokeModelEndpointRoleArn: string | undefined; /** - *

                                                                The source of the model.

                                                                + *

                                                                The model endpoint’s status in Amazon Fraud Detector.

                                                                */ - modelSource: ModelSource | string | undefined; + modelEndpointStatus: ModelEndpointStatus | string | undefined; /** *

                                                                The model endpoint output configuration.

                                                                */ outputConfiguration: ModelOutputConfiguration | undefined; + + /** + *

                                                                The source of the model.

                                                                + */ + modelSource: ModelSource | string | undefined; } export namespace PutExternalModelRequest { @@ -2658,6 +2658,11 @@ export namespace PutLabelResult { } export interface PutOutcomeRequest { + /** + *

                                                                The name of the outcome.

                                                                + */ + name: string | undefined; + /** *

                                                                The outcome description.

                                                                */ @@ -2667,11 +2672,6 @@ export interface PutOutcomeRequest { *

                                                                A collection of key and value pairs.

                                                                */ tags?: Tag[]; - - /** - *

                                                                The name of the outcome.

                                                                - */ - name: string | undefined; } export namespace PutOutcomeRequest { @@ -2690,14 +2690,14 @@ export namespace PutOutcomeResult { export interface TagResourceRequest { /** - *

                                                                The resource ARN.

                                                                + *

                                                                The tags to assign to the resource.

                                                                */ - resourceARN: string | undefined; + tags: Tag[] | undefined; /** - *

                                                                The tags to assign to the resource.

                                                                + *

                                                                The resource ARN.

                                                                */ - tags: Tag[] | undefined; + resourceARN: string | undefined; } export namespace TagResourceRequest { @@ -2716,14 +2716,14 @@ export namespace TagResourceResult { export interface UntagResourceRequest { /** - *

                                                                The ARN of the resource from which to remove the tag.

                                                                + *

                                                                The resource ARN.

                                                                */ - resourceARN: string | undefined; + tagKeys: string[] | undefined; /** - *

                                                                The resource ARN.

                                                                + *

                                                                The ARN of the resource from which to remove the tag.

                                                                */ - tagKeys: string[] | undefined; + resourceARN: string | undefined; } export namespace UntagResourceRequest { @@ -2742,14 +2742,9 @@ export namespace UntagResourceResult { export interface UpdateDetectorVersionRequest { /** - *

                                                                The detector version ID.

                                                                - */ - detectorVersionId: string | undefined; - - /** - *

                                                                The model versions to include in the detector version.

                                                                + *

                                                                The rules to include in the detector version.

                                                                */ - modelVersions?: ModelVersion[]; + rules: Rule[] | undefined; /** *

                                                                The parent detector ID for the detector version you want to update.

                                                                @@ -2757,14 +2752,14 @@ export interface UpdateDetectorVersionRequest { detectorId: string | undefined; /** - *

                                                                The detector version description.

                                                                + *

                                                                The detector version ID.

                                                                */ - description?: string; + detectorVersionId: string | undefined; /** - *

                                                                The rules to include in the detector version.

                                                                + *

                                                                The model versions to include in the detector version.

                                                                */ - rules: Rule[] | undefined; + modelVersions?: ModelVersion[]; /** *

                                                                The Amazon SageMaker model endpoints to include in the detector version.

                                                                @@ -2778,6 +2773,11 @@ export interface UpdateDetectorVersionRequest { *

                                                                The default behavior is FIRST_MATCHED.

                                                                */ ruleExecutionMode?: RuleExecutionMode | string; + + /** + *

                                                                The detector version description.

                                                                + */ + description?: string; } export namespace UpdateDetectorVersionRequest { @@ -2796,9 +2796,9 @@ export namespace UpdateDetectorVersionResult { export interface UpdateDetectorVersionMetadataRequest { /** - *

                                                                The detector version ID.

                                                                + *

                                                                The description.

                                                                */ - detectorVersionId: string | undefined; + description: string | undefined; /** *

                                                                The detector ID.

                                                                @@ -2806,9 +2806,9 @@ export interface UpdateDetectorVersionMetadataRequest { detectorId: string | undefined; /** - *

                                                                The description.

                                                                + *

                                                                The detector version ID.

                                                                */ - description: string | undefined; + detectorVersionId: string | undefined; } export namespace UpdateDetectorVersionMetadataRequest { @@ -2827,14 +2827,14 @@ export namespace UpdateDetectorVersionMetadataResult { export interface UpdateDetectorVersionStatusRequest { /** - *

                                                                The detector ID.

                                                                + *

                                                                The new status.

                                                                */ - detectorId: string | undefined; + status: DetectorVersionStatus | string | undefined; /** - *

                                                                The new status.

                                                                + *

                                                                The detector ID.

                                                                */ - status: DetectorVersionStatus | string | undefined; + detectorId: string | undefined; /** *

                                                                The detector version ID.

                                                                @@ -2857,6 +2857,11 @@ export namespace UpdateDetectorVersionStatusResult { } export interface UpdateModelRequest { + /** + *

                                                                The new model description.

                                                                + */ + description?: string; + /** *

                                                                The model type.

                                                                */ @@ -2866,11 +2871,6 @@ export interface UpdateModelRequest { *

                                                                The model ID.

                                                                */ modelId: string | undefined; - - /** - *

                                                                The new model description.

                                                                - */ - description?: string; } export namespace UpdateModelRequest { @@ -2888,6 +2888,11 @@ export namespace UpdateModelResult { } export interface UpdateModelVersionRequest { + /** + *

                                                                The model ID.

                                                                + */ + modelId: string | undefined; + /** *

                                                                A collection of key and value pairs.

                                                                */ @@ -2899,19 +2904,14 @@ export interface UpdateModelVersionRequest { majorVersionNumber: string | undefined; /** - *

                                                                The model ID.

                                                                + *

                                                                The event details.

                                                                */ - modelId: string | undefined; + externalEventsDetail?: ExternalEventsDetail; /** *

                                                                The model type.

                                                                */ modelType: ModelTypeEnum | string | undefined; - - /** - *

                                                                The event details.

                                                                - */ - externalEventsDetail?: ExternalEventsDetail; } export namespace UpdateModelVersionRequest { @@ -2922,9 +2922,9 @@ export namespace UpdateModelVersionRequest { export interface UpdateModelVersionResult { /** - *

                                                                The model type.

                                                                + *

                                                                The model ID.

                                                                */ - modelType?: ModelTypeEnum | string; + modelId?: string; /** *

                                                                The status of the updated model version.

                                                                @@ -2932,9 +2932,9 @@ export interface UpdateModelVersionResult { status?: string; /** - *

                                                                The model ID.

                                                                + *

                                                                The model type.

                                                                */ - modelId?: string; + modelType?: ModelTypeEnum | string; /** *

                                                                The model version number of the model version updated.

                                                                @@ -2955,9 +2955,9 @@ export enum ModelVersionStatus { export interface UpdateModelVersionStatusRequest { /** - *

                                                                The model ID of the model version to update.

                                                                + *

                                                                The model type.

                                                                */ - modelId: string | undefined; + modelType: ModelTypeEnum | string | undefined; /** *

                                                                The model version number.

                                                                @@ -2965,14 +2965,14 @@ export interface UpdateModelVersionStatusRequest { modelVersionNumber: string | undefined; /** - *

                                                                The model type.

                                                                + *

                                                                The model version status.

                                                                */ - modelType: ModelTypeEnum | string | undefined; + status: ModelVersionStatus | string | undefined; /** - *

                                                                The model version status.

                                                                + *

                                                                The model ID of the model version to update.

                                                                */ - status: ModelVersionStatus | string | undefined; + modelId: string | undefined; } export namespace UpdateModelVersionStatusRequest { @@ -2991,14 +2991,14 @@ export namespace UpdateModelVersionStatusResult { export interface UpdateRuleMetadataRequest { /** - *

                                                                The rule to update.

                                                                + *

                                                                The rule description.

                                                                */ - rule: Rule | undefined; + description: string | undefined; /** - *

                                                                The rule description.

                                                                + *

                                                                The rule to update.

                                                                */ - description: string | undefined; + rule: Rule | undefined; } export namespace UpdateRuleMetadataRequest { @@ -3017,9 +3017,9 @@ export namespace UpdateRuleMetadataResult { export interface UpdateRuleVersionRequest { /** - *

                                                                The tags to assign to the rule version.

                                                                + *

                                                                The outcomes.

                                                                */ - tags?: Tag[]; + outcomes: string[] | undefined; /** *

                                                                The language.

                                                                @@ -3027,14 +3027,14 @@ export interface UpdateRuleVersionRequest { language: Language | string | undefined; /** - *

                                                                The outcomes.

                                                                + *

                                                                The tags to assign to the rule version.

                                                                */ - outcomes: string[] | undefined; + tags?: Tag[]; /** - *

                                                                The rule expression.

                                                                + *

                                                                The rule to update.

                                                                */ - expression: string | undefined; + rule: Rule | undefined; /** *

                                                                The description.

                                                                @@ -3042,9 +3042,9 @@ export interface UpdateRuleVersionRequest { description?: string; /** - *

                                                                The rule to update.

                                                                + *

                                                                The rule expression.

                                                                */ - rule: Rule | undefined; + expression: string | undefined; } export namespace UpdateRuleVersionRequest { @@ -3069,24 +3069,24 @@ export namespace UpdateRuleVersionResult { export interface UpdateVariableRequest { /** - *

                                                                The variable type. For more information see Variable types.

                                                                + *

                                                                The new default value of the variable.

                                                                */ - variableType?: string; + defaultValue?: string; /** - *

                                                                The new description.

                                                                + *

                                                                The name of the variable.

                                                                */ - description?: string; + name: string | undefined; /** - *

                                                                The name of the variable.

                                                                + *

                                                                The new description.

                                                                */ - name: string | undefined; + description?: string; /** - *

                                                                The new default value of the variable.

                                                                + *

                                                                The variable type. For more information see Variable types.

                                                                */ - defaultValue?: string; + variableType?: string; } export namespace UpdateVariableRequest { diff --git a/clients/client-fsx/FSx.ts b/clients/client-fsx/FSx.ts index e355f07addbb..0063cee2e6ae 100644 --- a/clients/client-fsx/FSx.ts +++ b/clients/client-fsx/FSx.ts @@ -127,7 +127,7 @@ export class FSx extends FSxClient { *

                                                                a Persistent deployment type

                                                                * *
                                                              • - *

                                                                is not linked to an Amazon S3 data respository.

                                                                + *

                                                                is not linked to a data respository.

                                                                *
                                                              • *
                                                              *

                                                              For more information about backing up Amazon FSx for Lustre file systems, diff --git a/clients/client-fsx/models/models_0.ts b/clients/client-fsx/models/models_0.ts index e4f7c7d663b7..373ca1a7c39b 100644 --- a/clients/client-fsx/models/models_0.ts +++ b/clients/client-fsx/models/models_0.ts @@ -36,9 +36,9 @@ export interface ActiveDirectoryError extends __SmithyException, $MetadataBearer name: "ActiveDirectoryError"; $fault: "client"; /** - *

                                                              A detailed error message.

                                                              + *

                                                              The type of Active Directory error.

                                                              */ - Message?: string; + Type?: ActiveDirectoryErrorType | string; /** *

                                                              The directory ID of the directory that an error pertains to.

                                                              @@ -46,9 +46,9 @@ export interface ActiveDirectoryError extends __SmithyException, $MetadataBearer ActiveDirectoryId: string | undefined; /** - *

                                                              The type of Active Directory error.

                                                              + *

                                                              A detailed error message.

                                                              */ - Type?: ActiveDirectoryErrorType | string; + Message?: string; } export namespace ActiveDirectoryError { @@ -154,52 +154,48 @@ export enum DataRepositoryLifecycle { */ export interface DataRepositoryConfiguration { /** - *

                                                              Describes the file system's linked S3 data repository's AutoImportPolicy. The AutoImportPolicy configures how your FSx - * for Lustre file system automatically updates its contents - * with changes that occur in the linked S3 data repository. AutoImportPolicy can have the following values:

                                                              + *

                                                              Describes the state of the file system's S3 durable data repository, if it is configured with an S3 repository. + * The lifecycle can have the following values:

                                                              *
                                                                *
                                                              • *

                                                                - * NONE - (Default) AutoImport is off. Changes in the linked - * data repository are not reflected on the FSx file system.

                                                                + * CREATING - The data repository configuration between + * the FSx file system and the linked S3 data repository is being created. + * The data repository is unavailable.

                                                                *
                                                              • *
                                                              • *

                                                                - * NEW - AutoImport is on. New files in the linked data repository - * that do not currently exist in the FSx file system are automatically imported. - * Updates to existing FSx files are not imported to the FSx file system. Files deleted from - * the linked data repository are not deleted from the FSx file system.

                                                                + * AVAILABLE - The data repository is available for use.

                                                                *
                                                              • *
                                                              • *

                                                                - * NEW_CHANGED - AutoImport is on. New files in the linked S3 - * data repository that do not currently exist in the FSx file system are automatically imported. - * Changes to existing FSx files in the linked repository are also automatically imported to the - * FSx file system. Files deleted from the linked data repository are not deleted from the FSx file system. - *

                                                                - * + * MISCONFIGURED - Amazon FSx cannot automatically import updates from the S3 bucket + * until the data repository configuration is corrected. For more information, see + * Troubleshooting a Misconfigured linked S3 bucket. + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * UPDATING - The data repository is undergoing a customer initiated update and availability may be impacted.

                                                                *
                                                              • *
                                                              - *

                                                              For more information, see Automatically import updates from your S3 bucket.

                                                              */ - AutoImportPolicy?: AutoImportPolicyType | string; + Lifecycle?: DataRepositoryLifecycle | string; /** - *

                                                              Provides detailed information about the data respository if its Lifecycle is - * set to MISCONFIGURED.

                                                              + *

                                                              The import path to the Amazon S3 bucket (and optional prefix) that you're using + * as the data repository for your FSx for Lustre file system, for example + * s3://import-bucket/optional-prefix. If a prefix is specified after the + * Amazon S3 bucket name, only object keys with that prefix are loaded into the file + * system.

                                                              */ - FailureDetails?: DataRepositoryFailureDetails; + ImportPath?: string; /** - *

                                                              For files imported from a data repository, this value determines the stripe count and - * maximum amount of data per file (in MiB) stored on a single physical disk. The maximum - * number of disks that a single file can be striped across is limited by the total number - * of disks that make up the file system.

                                                              - * - *

                                                              The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 - * GiB). Amazon S3 objects have a maximum size of 5 TB.

                                                              + *

                                                              Provides detailed information about the data respository if its Lifecycle is + * set to MISCONFIGURED.

                                                              */ - ImportedFileChunkSize?: number; + FailureDetails?: DataRepositoryFailureDetails; /** *

                                                              The export path to the Amazon S3 bucket (and prefix) that you are using to store new and @@ -208,42 +204,45 @@ export interface DataRepositoryConfiguration { ExportPath?: string; /** - *

                                                              The import path to the Amazon S3 bucket (and optional prefix) that you're using - * as the data repository for your FSx for Lustre file system, for example - * s3://import-bucket/optional-prefix. If a prefix is specified after the - * Amazon S3 bucket name, only object keys with that prefix are loaded into the file - * system.

                                                              - */ - ImportPath?: string; - - /** - *

                                                              Describes the state of the file system's S3 durable data repository, if it is configured with an S3 repository. - * The lifecycle can have the following values:

                                                              + *

                                                              Describes the file system's linked S3 data repository's AutoImportPolicy. + * The AutoImportPolicy configures how Amazon FSx keeps your file and directory listings up to date + * as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

                                                              *
                                                                *
                                                              • *

                                                                - * CREATING - The data repository configuration between - * the FSx file system and the linked S3 data repository is being created. - * The data repository is unavailable.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * AVAILABLE - The data repository is available for use.

                                                                + * NONE - (Default) AutoImport is off. Amazon FSx only updates + * file and directory listings from the linked S3 bucket + * when the file system is created. FSx does not update file and directory + * listings for any new or changed objects after choosing this option.

                                                                *
                                                              • *
                                                              • *

                                                                - * MISCONFIGURED - Amazon FSx cannot automatically import updates from the S3 bucket - * until the data repository configuration is corrected. For more information, see - * Troubleshooting a Misconfigured linked S3 bucket. - *

                                                                + * NEW - AutoImport is on. Amazon FSx automatically imports + * directory listings of any new objects added to the linked S3 bucket that + * do not currently exist in the FSx file system.

                                                                *
                                                              • *
                                                              • *

                                                                - * UPDATING - The data repository is undergoing a customer initiated update and availability may be impacted.

                                                                + * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports + * file and directory listings of any new objects added to the S3 bucket and any + * existing objects that are changed in the S3 bucket after you choose this option. + *

                                                                *
                                                              • *
                                                              + *

                                                              For more information, see Automatically import updates from your S3 bucket.

                                                              */ - Lifecycle?: DataRepositoryLifecycle | string; + AutoImportPolicy?: AutoImportPolicyType | string; + + /** + *

                                                              For files imported from a data repository, this value determines the stripe count and + * maximum amount of data per file (in MiB) stored on a single physical disk. The maximum + * number of disks that a single file can be striped across is limited by the total number + * of disks that make up the file system.

                                                              + * + *

                                                              The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 + * GiB). Amazon S3 objects have a maximum size of 5 TB.

                                                              + */ + ImportedFileChunkSize?: number; } export namespace DataRepositoryConfiguration { @@ -258,10 +257,54 @@ export enum LustreDeploymentType { SCRATCH_2 = "SCRATCH_2", } +export enum DriveCacheType { + NONE = "NONE", + READ = "READ", +} + /** *

                                                              The configuration for the Amazon FSx for Lustre file system.

                                                              */ export interface LustreFileSystemConfiguration { + /** + *

                                                              A boolean flag indicating whether tags on the file system should be copied to backups. + * If it's set to true, all tags on the file system are + * copied to all automatic backups and any user-initiated backups where the user + * doesn't specify any tags. If this value is true, and you specify one or more tags, + * only the specified tags are copied to backups. If you specify one or more tags when + * creating a user-initiated backup, no tags are copied from the file system, + * regardless of this value. (Default = false)

                                                              + */ + CopyTagsToBackups?: boolean; + + /** + *

                                                              A recurring daily time, in the format HH:MM. HH is the + * zero-padded hour of the day (0-23), and MM is the zero-padded minute of the + * hour. For example, 05:00 specifies 5 AM daily.

                                                              + */ + DailyAutomaticBackupStartTime?: string; + + /** + *

                                                              Per unit storage throughput represents the megabytes per second of read or write + * throughput per 1 tebibyte of storage provisioned. File system throughput capacity is + * equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). This option is + * only valid for PERSISTENT_1 deployment types.

                                                              + *

                                                              Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: 12, 40.

                                                              + */ + PerUnitStorageThroughput?: number; + + /** + *

                                                              The number of days to retain automatic backups. Setting this to 0 disables + * automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 0.

                                                              + */ + AutomaticBackupRetentionDays?: number; + + /** + *

                                                              The data repository configuration object for Lustre file systems returned in the response of + * the CreateFileSystem operation.

                                                              + */ + DataRepositoryConfiguration?: DataRepositoryConfiguration; + /** *

                                                              You use the MountName value when mounting the file system.

                                                              *

                                                              For the SCRATCH_1 deployment type, this value is always "fsx". @@ -288,50 +331,19 @@ export interface LustreFileSystemConfiguration { DeploymentType?: LustreDeploymentType | string; /** - *

                                                              The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC - * time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

                                                              - */ - WeeklyMaintenanceStartTime?: string; - - /** - *

                                                              A recurring daily time, in the format HH:MM. HH is the - * zero-padded hour of the day (0-23), and MM is the zero-padded minute of the - * hour. For example, 05:00 specifies 5 AM daily.

                                                              - */ - DailyAutomaticBackupStartTime?: string; - - /** - *

                                                              A boolean flag indicating whether tags on the file system should be copied to backups. - * If it's set to true, all tags on the file system are - * copied to all automatic backups and any user-initiated backups where the user - * doesn't specify any tags. If this value is true, and you specify one or more tags, - * only the specified tags are copied to backups. If you specify one or more tags when - * creating a user-initiated backup, no tags are copied from the file system, - * regardless of this value. (Default = false)

                                                              - */ - CopyTagsToBackups?: boolean; - - /** - *

                                                              The data repository configuration object for Lustre file systems returned in the response of - * the CreateFileSystem operation.

                                                              - */ - DataRepositoryConfiguration?: DataRepositoryConfiguration; - - /** - *

                                                              The number of days to retain automatic backups. Setting this to 0 disables - * automatic backups. You can retain automatic backups for a maximum of 35 days. The default is 0.

                                                              + *

                                                              The type of drive cache used by PERSISTENT_1 file systems that are provisioned with + * HDD storage devices. This parameter is required when storage type is HDD. Set to + * READ, improve the performance for frequently accessed files and allows 20% + * of the total storage capacity of the file system to be cached.

                                                              + *

                                                              This parameter is required when StorageType is set to HDD.

                                                              */ - AutomaticBackupRetentionDays?: number; + DriveCacheType?: DriveCacheType | string; /** - *

                                                              - * Per unit storage throughput represents the megabytes per second of read or write throughput per - * 1 tebibyte of storage provisioned. - * File system throughput capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). - * This option is only valid for PERSISTENT_1 deployment types. Valid values are 50, 100, 200. - *

                                                              + *

                                                              The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC + * time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

                                                              */ - PerUnitStorageThroughput?: number; + WeeklyMaintenanceStartTime?: string; } export namespace LustreFileSystemConfiguration { @@ -349,12 +361,6 @@ export enum StorageType { *

                                                              Specifies a key-value pair for a resource tag.

                                                              */ export interface Tag { - /** - *

                                                              A value that specifies the TagKey, the name of the tag. Tag keys must - * be unique for the resource to which they are attached.

                                                              - */ - Key: string | undefined; - /** *

                                                              A value that specifies the TagValue, the value assigned to the * corresponding tag key. Tag values can be null and don't have to be unique in a tag set. @@ -362,6 +368,12 @@ export interface Tag { * and also of payroll : April.

                                                              */ Value: string | undefined; + + /** + *

                                                              A value that specifies the TagKey, the name of the tag. Tag keys must + * be unique for the resource to which they are attached.

                                                              + */ + Key: string | undefined; } export namespace Tag { @@ -387,33 +399,33 @@ export enum FileSystemMaintenanceOperation { */ export interface SelfManagedActiveDirectoryAttributes { /** - *

                                                              The fully qualified domain name of the self-managed AD directory.

                                                              + *

                                                              The name of the domain group whose members have administrative privileges for the FSx + * file system.

                                                              */ - DomainName?: string; + FileSystemAdministratorsGroup?: string; /** - *

                                                              The fully qualified distinguished name of the organizational unit within the - * self-managed AD directory to which the Windows File Server instance is joined.

                                                              + *

                                                              The user name for the service account on your self-managed AD domain that FSx uses to + * join to your AD domain.

                                                              */ - OrganizationalUnitDistinguishedName?: string; + UserName?: string; /** - *

                                                              A list of up to two IP addresses of DNS servers or domain controllers in the - * self-managed AD directory.

                                                              + *

                                                              The fully qualified distinguished name of the organizational unit within the + * self-managed AD directory to which the Windows File Server instance is joined.

                                                              */ - DnsIps?: string[]; + OrganizationalUnitDistinguishedName?: string; /** - *

                                                              The name of the domain group whose members have administrative privileges for the FSx - * file system.

                                                              + *

                                                              The fully qualified domain name of the self-managed AD directory.

                                                              */ - FileSystemAdministratorsGroup?: string; + DomainName?: string; /** - *

                                                              The user name for the service account on your self-managed AD domain that FSx uses to - * join to your AD domain.

                                                              + *

                                                              A list of up to two IP addresses of DNS servers or domain controllers in the + * self-managed AD directory.

                                                              */ - UserName?: string; + DnsIps?: string[]; } export namespace SelfManagedActiveDirectoryAttributes { @@ -427,111 +439,111 @@ export namespace SelfManagedActiveDirectoryAttributes { */ export interface WindowsFileSystemConfiguration { /** - *

                                                              The list of maintenance operations in progress for this file system.

                                                              + *

                                                              The ID for an existing Microsoft Active Directory instance that the file system should join when + * it's created.

                                                              */ - MaintenanceOperationsInProgress?: (FileSystemMaintenanceOperation | string)[]; + ActiveDirectoryId?: string; /** - *

                                                              Specifies the file system deployment type, valid values are the following:

                                                              - *
                                                                - *
                                                              • - *

                                                                - * MULTI_AZ_1 - Specifies a high availability file system that is configured for Multi-AZ - * redundancy to tolerate temporary Availability Zone (AZ) unavailability, and supports SSD and HDD storage.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * SINGLE_AZ_1 - (Default) Specifies a file system that is configured for single AZ redundancy, - * only supports SSD storage.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * SINGLE_AZ_2 - Latest generation Single AZ file system. - * Specifies a file system that is configured for single AZ redundancy and supports SSD and HDD storage.

                                                                - *
                                                              • - *
                                                              - *

                                                              For more information, see - * Single-AZ and Multi-AZ File Systems.

                                                              + *

                                                              The number of days to retain automatic backups. Setting this to 0 disables automatic + * backups. You can retain automatic backups for a maximum of 90 days.

                                                              */ - DeploymentType?: WindowsDeploymentType | string; + AutomaticBackupRetentionDays?: number; /** - *

                                                              The preferred time to take daily automatic backups, in the UTC time zone.

                                                              + *

                                                              For MULTI_AZ_1 deployment types, it specifies the ID of the subnet where the preferred file server is located. + * Must be one of the two subnet IDs specified in SubnetIds property. + * Amazon FSx serves traffic from this subnet except in the event of a failover to the secondary file server.

                                                              + *

                                                              For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, this value is the same as that for SubnetIDs. + * For more information, see + * Availability and Durability: Single-AZ and Multi-AZ File Systems + *

                                                              */ - DailyAutomaticBackupStartTime?: string; + PreferredSubnetId?: string; /** - *

                                                              For MULTI_AZ_1 deployment types, the IP address of the primary, or preferred, file server.

                                                              - *

                                                              Use this IP address when mounting the file system on Linux SMB clients or Windows SMB clients that - * are not joined to a Microsoft Active Directory. - * Applicable for all Windows file system deployment types. - * This IP address is temporarily unavailable - * when the file system is undergoing maintenance. For Linux and Windows - * SMB clients that are joined to an Active Directory, use the file system's DNSName instead. For more information - * on mapping and mounting file shares, see - * Accessing File Shares.

                                                              + *

                                                              A boolean flag indicating whether tags on the file system should be copied to backups. + * This value defaults to false. If it's set to true, all tags on the file system are + * copied to all automatic backups and any user-initiated backups where the user + * doesn't specify any tags. If this value is true, and you specify one or more tags, + * only the specified tags are copied to backups. If you specify one or more tags when + * creating a user-initiated backup, no tags are copied from the file system, + * regardless of this value.

                                                              */ - PreferredFileServerIp?: string; + CopyTagsToBackups?: boolean; /** - *

                                                              The configuration of the self-managed Microsoft Active Directory (AD) directory to - * which the Windows File Server instance is joined.

                                                              + *

                                                              The throughput of an Amazon FSx file system, measured in megabytes per + * second.

                                                              */ - SelfManagedActiveDirectoryConfiguration?: SelfManagedActiveDirectoryAttributes; + ThroughputCapacity?: number; /** - *

                                                              The ID for an existing Microsoft Active Directory instance that the file system should join when - * it's created.

                                                              + *

                                                              For MULTI_AZ_1 deployment types, use this endpoint when performing administrative tasks on the file system using + * Amazon FSx Remote PowerShell.

                                                              + *

                                                              For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, this is the DNS name of the file system.

                                                              + *

                                                              This endpoint is temporarily unavailable when the file system is undergoing maintenance.

                                                              */ - ActiveDirectoryId?: string; + RemoteAdministrationEndpoint?: string; /** - *

                                                              The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC - * time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

                                                              + *

                                                              The preferred time to take daily automatic backups, in the UTC time zone.

                                                              */ - WeeklyMaintenanceStartTime?: string; + DailyAutomaticBackupStartTime?: string; /** - *

                                                              The throughput of an Amazon FSx file system, measured in megabytes per - * second.

                                                              + *

                                                              The list of maintenance operations in progress for this file system.

                                                              */ - ThroughputCapacity?: number; + MaintenanceOperationsInProgress?: (FileSystemMaintenanceOperation | string)[]; /** - *

                                                              For MULTI_AZ_1 deployment types, it specifies the ID of the subnet where the preferred file server is located. - * Must be one of the two subnet IDs specified in SubnetIds property. - * Amazon FSx serves traffic from this subnet except in the event of a failover to the secondary file server.

                                                              - *

                                                              For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, this value is the same as that for SubnetIDs. - * For more information, see - * Availability and Durability: Single-AZ and Multi-AZ File Systems - *

                                                              + *

                                                              The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC + * time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

                                                              */ - PreferredSubnetId?: string; + WeeklyMaintenanceStartTime?: string; /** - *

                                                              The number of days to retain automatic backups. Setting this to 0 disables automatic - * backups. You can retain automatic backups for a maximum of 35 days.

                                                              + *

                                                              Specifies the file system deployment type, valid values are the following:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * MULTI_AZ_1 - Specifies a high availability file system that is configured for Multi-AZ + * redundancy to tolerate temporary Availability Zone (AZ) unavailability, and supports SSD and HDD storage.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * SINGLE_AZ_1 - (Default) Specifies a file system that is configured for single AZ redundancy, + * only supports SSD storage.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * SINGLE_AZ_2 - Latest generation Single AZ file system. + * Specifies a file system that is configured for single AZ redundancy and supports SSD and HDD storage.

                                                                + *
                                                              • + *
                                                              + *

                                                              For more information, see + * Single-AZ and Multi-AZ File Systems.

                                                              */ - AutomaticBackupRetentionDays?: number; + DeploymentType?: WindowsDeploymentType | string; /** - *

                                                              A boolean flag indicating whether tags on the file system should be copied to backups. - * This value defaults to false. If it's set to true, all tags on the file system are - * copied to all automatic backups and any user-initiated backups where the user - * doesn't specify any tags. If this value is true, and you specify one or more tags, - * only the specified tags are copied to backups. If you specify one or more tags when - * creating a user-initiated backup, no tags are copied from the file system, - * regardless of this value.

                                                              + *

                                                              The configuration of the self-managed Microsoft Active Directory (AD) directory to + * which the Windows File Server instance is joined.

                                                              */ - CopyTagsToBackups?: boolean; + SelfManagedActiveDirectoryConfiguration?: SelfManagedActiveDirectoryAttributes; /** - *

                                                              For MULTI_AZ_1 deployment types, use this endpoint when performing administrative tasks on the file system using - * Amazon FSx Remote PowerShell.

                                                              - *

                                                              For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, this is the DNS name of the file system.

                                                              - *

                                                              This endpoint is temporarily unavailable when the file system is undergoing maintenance.

                                                              + *

                                                              For MULTI_AZ_1 deployment types, the IP address of the primary, or preferred, file server.

                                                              + *

                                                              Use this IP address when mounting the file system on Linux SMB clients or Windows SMB clients that + * are not joined to a Microsoft Active Directory. + * Applicable for all Windows file system deployment types. + * This IP address is temporarily unavailable + * when the file system is undergoing maintenance. For Linux and Windows + * SMB clients that are joined to an Active Directory, use the file system's DNSName instead. For more information + * on mapping and mounting file shares, see + * Accessing File Shares.

                                                              */ - RemoteAdministrationEndpoint?: string; + PreferredFileServerIp?: string; } export namespace WindowsFileSystemConfiguration { @@ -724,14 +736,14 @@ export namespace BackupInProgress { */ export interface CreateBackupRequest { /** - *

                                                              The tags to apply to the backup at backup creation. The key value of the + *

                                                              (Optional) The tags to apply to the backup at backup creation. The key value of the * Name tag appears in the console as the backup name. If you have set CopyTagsToBackups to true, and - * you specify one or more tags using the CreateBackup action, no existing tags on the file system are copied from the file system to the backup.

                                                              + * you specify one or more tags using the CreateBackup action, no existing file system tags are copied from the file system to the backup.

                                                              */ Tags?: Tag[]; /** - *

                                                              A string of up to 64 ASCII characters that Amazon FSx uses to ensure + *

                                                              (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure * idempotent creation. This string is automatically filled on your behalf when you use the * AWS Command Line Interface (AWS CLI) or an AWS SDK.

                                                              */ @@ -771,6 +783,7 @@ export enum BackupLifecycle { CREATING = "CREATING", DELETED = "DELETED", FAILED = "FAILED", + TRANSFERRING = "TRANSFERRING", } export enum BackupType { @@ -837,14 +850,14 @@ export interface ServiceLimitExceeded extends __SmithyException, $MetadataBearer name: "ServiceLimitExceeded"; $fault: "client"; /** - *

                                                              A detailed error message.

                                                              + *

                                                              Enumeration of the service limit that was exceeded.

                                                              */ - Message?: string; + Limit: ServiceLimit | string | undefined; /** - *

                                                              Enumeration of the service limit that was exceeded.

                                                              + *

                                                              A detailed error message.

                                                              */ - Limit: ServiceLimit | string | undefined; + Message?: string; } export namespace ServiceLimitExceeded { @@ -868,19 +881,6 @@ export enum ReportScope { * You can specify whether or not a report gets generated for a task using the Enabled parameter.

                                                              */ export interface CompletionReport { - /** - *

                                                              Set Enabled to True to generate a CompletionReport when the task completes. - * If set to true, then you need to provide a report Scope, Path, and Format. - * Set Enabled to False if you do not want a CompletionReport generated when the task completes.

                                                              - */ - Enabled: boolean | undefined; - - /** - *

                                                              Required if Enabled is set to true. Specifies the scope of the CompletionReport; FAILED_FILES_ONLY is the only scope currently supported. - * When Scope is set to FAILED_FILES_ONLY, the CompletionReport only contains information about files that the data repository task failed to process.

                                                              - */ - Scope?: ReportScope | string; - /** *

                                                              Required if Enabled is set to true. Specifies the location of the report on the file system's linked S3 data repository. An absolute path that defines where the completion report will be stored in the destination location. * The Path you provide must be located within the file system’s ExportPath. @@ -897,6 +897,19 @@ export interface CompletionReport { *

                                                              */ Format?: ReportFormat | string; + + /** + *

                                                              Set Enabled to True to generate a CompletionReport when the task completes. + * If set to true, then you need to provide a report Scope, Path, and Format. + * Set Enabled to False if you do not want a CompletionReport generated when the task completes.

                                                              + */ + Enabled: boolean | undefined; + + /** + *

                                                              Required if Enabled is set to true. Specifies the scope of the CompletionReport; FAILED_FILES_ONLY is the only scope currently supported. + * When Scope is set to FAILED_FILES_ONLY, the CompletionReport only contains information about files that the data repository task failed to process.

                                                              + */ + Scope?: ReportScope | string; } export namespace CompletionReport { @@ -911,23 +924,24 @@ export enum DataRepositoryTaskType { export interface CreateDataRepositoryTaskRequest { /** - *

                                                              The globally unique ID of the file system, assigned by Amazon FSx.

                                                              + *

                                                              (Optional) An idempotency token for resource creation, in a string of up to 64 + * ASCII characters. This token is automatically filled on your behalf when you use the AWS + * Command Line Interface (AWS CLI) or an AWS SDK.

                                                              */ - FileSystemId: string | undefined; + ClientRequestToken?: string; /** - *

                                                              (Optional) The path or paths on the Amazon FSx file system to use when the data repository task is processed. - * The default path is the file system root directory. The paths you provide need to be relative to the mount point of the file system. - * If the mount point is /mnt/fsx and /mnt/fsx/path1 is a directory or - * file on the file system you want to export, then the path to provide is path1. - * If a path that you provide isn't valid, the task fails.

                                                              + *

                                                              The globally unique ID of the file system, assigned by Amazon FSx.

                                                              */ - Paths?: string[]; + FileSystemId: string | undefined; /** - *

                                                              Specifies the type of data repository task to create.

                                                              + *

                                                              Defines whether or not Amazon FSx provides a CompletionReport once the task has completed. + * A CompletionReport provides a detailed report on the files that Amazon FSx processed that meet the criteria specified by the + * Scope parameter. For more information, see + * Working with Task Completion Reports.

                                                              */ - Type: DataRepositoryTaskType | string | undefined; + Report: CompletionReport | undefined; /** *

                                                              A list of Tag values, with a maximum of 50 elements.

                                                              @@ -935,19 +949,18 @@ export interface CreateDataRepositoryTaskRequest { Tags?: Tag[]; /** - *

                                                              (Optional) An idempotency token for resource creation, in a string of up to 64 - * ASCII characters. This token is automatically filled on your behalf when you use the AWS - * Command Line Interface (AWS CLI) or an AWS SDK.

                                                              + *

                                                              (Optional) The path or paths on the Amazon FSx file system to use when the data repository task is processed. + * The default path is the file system root directory. The paths you provide need to be relative to the mount point of the file system. + * If the mount point is /mnt/fsx and /mnt/fsx/path1 is a directory or + * file on the file system you want to export, then the path to provide is path1. + * If a path that you provide isn't valid, the task fails.

                                                              */ - ClientRequestToken?: string; + Paths?: string[]; /** - *

                                                              Defines whether or not Amazon FSx provides a CompletionReport once the task has completed. - * A CompletionReport provides a detailed report on the files that Amazon FSx processed that meet the criteria specified by the - * Scope parameter. For more information, see - * Working with Task Completion Reports.

                                                              + *

                                                              Specifies the type of data repository task to create.

                                                              */ - Report: CompletionReport | undefined; + Type: DataRepositoryTaskType | string | undefined; } export namespace CreateDataRepositoryTaskRequest { @@ -978,26 +991,26 @@ export namespace DataRepositoryTaskFailureDetails { */ export interface DataRepositoryTaskStatus { /** - *

                                                              A running total of the number of files that the task failed to process.

                                                              + *

                                                              The total number of files that the task will process. While a task is executing, the sum of + * SucceededCount plus FailedCount may not equal TotalCount. When the task is complete, + * TotalCount equals the sum of SucceededCount plus FailedCount.

                                                              */ - FailedCount?: number; + TotalCount?: number; /** - *

                                                              The time at which the task status was last updated.

                                                              + *

                                                              A running total of the number of files that the task has successfully processed.

                                                              */ - LastUpdatedTime?: Date; + SucceededCount?: number; /** - *

                                                              A running total of the number of files that the task has successfully processed.

                                                              + *

                                                              A running total of the number of files that the task failed to process.

                                                              */ - SucceededCount?: number; + FailedCount?: number; /** - *

                                                              The total number of files that the task will process. While a task is executing, the sum of - * SucceededCount plus FailedCount may not equal TotalCount. When the task is complete, - * TotalCount equals the sum of SucceededCount plus FailedCount.

                                                              + *

                                                              The time at which the task status was last updated.

                                                              */ - TotalCount?: number; + LastUpdatedTime?: Date; } export namespace DataRepositoryTaskStatus { @@ -1013,23 +1026,9 @@ export namespace DataRepositoryTaskStatus { */ export interface DataRepositoryTask { /** - *

                                                              The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify AWS - * resources. We require an ARN when you need to specify a resource unambiguously across - * all of AWS. For more information, see Amazon Resource Names (ARNs) - * and AWS Service Namespaces in the AWS General - * Reference.

                                                              - */ - ResourceARN?: string; - - /** - *

                                                              The type of data repository task; EXPORT_TO_REPOSITORY is the only type currently supported.

                                                              - */ - Type: DataRepositoryTaskType | string | undefined; - - /** - *

                                                              A list of Tag values, with a maximum of 50 elements.

                                                              + *

                                                              Failure message describing why the task failed, it is populated only when Lifecycle is set to FAILED.

                                                              */ - Tags?: Tag[]; + FailureDetails?: DataRepositoryTaskFailureDetails; /** *

                                                              Provides a report detailing the data repository task results of the files processed that match the criteria specified in the report Scope parameter. @@ -1039,44 +1038,11 @@ export interface DataRepositoryTask { */ Report?: CompletionReport; - /** - *

                                                              Failure message describing why the task failed, it is populated only when Lifecycle is set to FAILED.

                                                              - */ - FailureDetails?: DataRepositoryTaskFailureDetails; - - /** - *

                                                              The globally unique ID of the file system, assigned by Amazon FSx.

                                                              - */ - FileSystemId: string | undefined; - /** *

                                                              Provides the status of the number of files that the task has processed successfully and failed to process.

                                                              */ Status?: DataRepositoryTaskStatus; - /** - *

                                                              The system-generated, unique 17-digit ID of the data repository task.

                                                              - */ - TaskId: string | undefined; - - /** - *

                                                              The time that Amazon FSx completed processing the task, populated after the task is complete.

                                                              - */ - EndTime?: Date; - - /** - *

                                                              An array of paths on the Amazon FSx for Lustre file system that specify the data for the data repository task to process. - * For example, in an EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked data repository.

                                                              - *

                                                              (Default) If Paths is not specified, Amazon FSx uses the file system root directory.

                                                              - */ - Paths?: string[]; - - /** - *

                                                              The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), - * also known as Unix time.

                                                              - */ - CreationTime: Date | undefined; - /** *

                                                              The lifecycle status of the data repository task, as follows:

                                                              *
                                                                @@ -1119,38 +1085,85 @@ export interface DataRepositoryTask { *

                                                                The time that Amazon FSx began processing the task.

                                                                */ StartTime?: Date; -} - -export namespace DataRepositoryTask { - export const filterSensitiveLog = (obj: DataRepositoryTask): any => ({ - ...obj, - }); -} -export interface CreateDataRepositoryTaskResponse { /** - *

                                                                The description of the data repository task that you just created.

                                                                + *

                                                                The time that Amazon FSx completed processing the task, populated after the task is complete.

                                                                */ - DataRepositoryTask?: DataRepositoryTask; -} - -export namespace CreateDataRepositoryTaskResponse { - export const filterSensitiveLog = (obj: CreateDataRepositoryTaskResponse): any => ({ - ...obj, - }); -} + EndTime?: Date; -/** - *

                                                                An existing data repository task is currently executing on the file system. - * Wait until the existing task has completed, then create the new task.

                                                                - */ -export interface DataRepositoryTaskExecuting extends __SmithyException, $MetadataBearer { - name: "DataRepositoryTaskExecuting"; - $fault: "client"; /** - *

                                                                A detailed error message.

                                                                + *

                                                                A list of Tag values, with a maximum of 50 elements.

                                                                */ - Message?: string; + Tags?: Tag[]; + + /** + *

                                                                The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify AWS + * resources. We require an ARN when you need to specify a resource unambiguously across + * all of AWS. For more information, see Amazon Resource Names (ARNs) + * and AWS Service Namespaces in the AWS General + * Reference.

                                                                + */ + ResourceARN?: string; + + /** + *

                                                                The type of data repository task; EXPORT_TO_REPOSITORY is the only type currently supported.

                                                                + */ + Type: DataRepositoryTaskType | string | undefined; + + /** + *

                                                                An array of paths on the Amazon FSx for Lustre file system that specify the data for the data repository task to process. + * For example, in an EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked data repository.

                                                                + *

                                                                (Default) If Paths is not specified, Amazon FSx uses the file system root directory.

                                                                + */ + Paths?: string[]; + + /** + *

                                                                The globally unique ID of the file system, assigned by Amazon FSx.

                                                                + */ + FileSystemId: string | undefined; + + /** + *

                                                                The system-generated, unique 17-digit ID of the data repository task.

                                                                + */ + TaskId: string | undefined; + + /** + *

                                                                The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), + * also known as Unix time.

                                                                + */ + CreationTime: Date | undefined; +} + +export namespace DataRepositoryTask { + export const filterSensitiveLog = (obj: DataRepositoryTask): any => ({ + ...obj, + }); +} + +export interface CreateDataRepositoryTaskResponse { + /** + *

                                                                The description of the data repository task that you just created.

                                                                + */ + DataRepositoryTask?: DataRepositoryTask; +} + +export namespace CreateDataRepositoryTaskResponse { + export const filterSensitiveLog = (obj: CreateDataRepositoryTaskResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                An existing data repository task is currently executing on the file system. + * Wait until the existing task has completed, then create the new task.

                                                                + */ +export interface DataRepositoryTaskExecuting extends __SmithyException, $MetadataBearer { + name: "DataRepositoryTaskExecuting"; + $fault: "client"; + /** + *

                                                                A detailed error message.

                                                                + */ + Message?: string; } export namespace DataRepositoryTaskExecuting { @@ -1164,6 +1177,78 @@ export namespace DataRepositoryTaskExecuting { *

                                                                */ export interface CreateFileSystemLustreConfiguration { + /** + *

                                                                (Optional) The path to the Amazon S3 bucket (including the optional prefix) that + * you're using as the data repository for your Amazon FSx for Lustre file system. + * The root of your FSx for Lustre file system will + * be mapped to the root of the Amazon S3 bucket you select. An + * example is s3://import-bucket/optional-prefix. If you specify a prefix + * after the Amazon S3 bucket name, only object keys with that prefix are loaded into the + * file system.

                                                                + */ + ImportPath?: string; + + /** + *

                                                                (Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC + * time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

                                                                + */ + WeeklyMaintenanceStartTime?: string; + + /** + *

                                                                The type of drive cache used by PERSISTENT_1 file systems that are provisioned with + * HDD storage devices. This parameter is required when storage type is HDD. Set to + * READ, improve the performance for frequently accessed files and allows 20% + * of the total storage capacity of the file system to be cached.

                                                                + *

                                                                This parameter is required when StorageType is set to HDD.

                                                                + */ + DriveCacheType?: DriveCacheType | string; + + /** + *

                                                                (Optional) When you create your file system, your existing S3 objects appear as file and directory listings. + * Use this property to choose how Amazon FSx keeps your file and directory listings up to date + * as you add or modify objects in your linked S3 bucket. AutoImportPolicy can + * have the following values:

                                                                + * + * + * + *
                                                                  + *
                                                                • + *

                                                                  + * NONE - (Default) AutoImport is off. Amazon FSx only updates + * file and directory listings from the linked S3 bucket + * when the file system is created. FSx does not update file and directory + * listings for any new or changed objects after choosing this option.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * NEW - AutoImport is on. Amazon FSx automatically imports + * directory listings of any new objects added to the linked S3 bucket that + * do not currently exist in the FSx file system.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports + * file and directory listings of any new objects added to the S3 bucket and any + * existing objects that are changed in the S3 bucket after you choose this option. + *

                                                                  + *
                                                                • + *
                                                                + *

                                                                For more information, see Automatically import updates from your S3 bucket.

                                                                + */ + AutoImportPolicy?: AutoImportPolicyType | string; + + /** + *

                                                                (Optional) Not available to use with file systems that are linked to a data repository. + * A boolean flag indicating whether tags for the file system should be copied to + * backups. The default value is false. If it's set to true, all file system + * tags are copied to all automatic and user-initiated backups when the user + * doesn't specify any backup-specific tags. If this value is true, and you specify one or more backup tags, only + * the specified tags are copied to backups. If you specify one or more tags when creating a + * user-initiated backup, no tags are copied from the file system, regardless of this value.

                                                                + *

                                                                For more information, see Working with backups.

                                                                + */ + CopyTagsToBackups?: boolean; + /** *

                                                                * Choose SCRATCH_1 and SCRATCH_2 deployment @@ -1180,7 +1265,6 @@ export interface CreateFileSystemLustreConfiguration { * file system from Amazon EC2 instances that support this feature. * (Default = SCRATCH_1) *

                                                                - * *

                                                                Encryption of data in-transit for SCRATCH_2 and PERSISTENT_1 * deployment types is supported when accessed from supported instance types in supported AWS Regions. To learn more, * Encrypting Data in Transit.

                                                                @@ -1199,15 +1283,23 @@ export interface CreateFileSystemLustreConfiguration { ImportedFileChunkSize?: number; /** - *

                                                                A boolean flag indicating whether tags for the file system should be copied to - * backups. This value defaults to false. If it's set to true, all tags for the file - * system are copied to all automatic and user-initiated backups where the user - * doesn't specify tags. If this value is true, and you specify one or more tags, only - * the specified tags are copied to backups. If you specify one or more tags when creating a - * user-initiated backup, no tags are copied from the file system, regardless of this value.

                                                                - *

                                                                For more information, see Working with backups.

                                                                + *

                                                                + * Required for the PERSISTENT_1 deployment type, describes the amount of read and write + * throughput for each 1 tebibyte of storage, in MB/s/TiB. + * File system throughput capacity is calculated by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput + * (MB/s/TiB). For a 2.4 TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput + * yields 120 MB/s of file system throughput. You pay for the amount of throughput that you + * provision. + *

                                                                + *

                                                                Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: 12, 40.

                                                                */ - CopyTagsToBackups?: boolean; + PerUnitStorageThroughput?: number; + + /** + *

                                                                The number of days to retain automatic backups. Setting this to 0 disables + * automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 0.

                                                                + */ + AutomaticBackupRetentionDays?: number; /** *

                                                                A recurring daily time, in the format HH:MM. HH is the @@ -1216,12 +1308,6 @@ export interface CreateFileSystemLustreConfiguration { */ DailyAutomaticBackupStartTime?: string; - /** - *

                                                                The number of days to retain automatic backups. Setting this to 0 disables - * automatic backups. You can retain automatic backups for a maximum of 35 days. The default is 0.

                                                                - */ - AutomaticBackupRetentionDays?: number; - /** *

                                                                (Optional) The path in Amazon S3 where the root of your Amazon FSx file system is exported. * The path must use the same Amazon S3 bucket as specified in ImportPath. You can provide an optional prefix to which @@ -1240,68 +1326,6 @@ export interface CreateFileSystemLustreConfiguration { * system to that export prefix in the Amazon S3 bucket.

                                                                */ ExportPath?: string; - - /** - *

                                                                - * Required for the PERSISTENT_1 deployment type, describes the amount of read and write - * throughput for each 1 tebibyte of storage, in MB/s/TiB. - * File system throughput capacity is calculated by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput - * (MB/s/TiB). For a 2.4 TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput - * yields 117 MB/s of file system throughput. You pay for the amount of throughput that you - * provision. - *

                                                                - *

                                                                Valid values are 50, 100, 200.

                                                                - */ - PerUnitStorageThroughput?: number; - - /** - *

                                                                (Optional) The path to the Amazon S3 bucket (including the optional prefix) that - * you're using as the data repository for your Amazon FSx for Lustre file system. - * The root of your FSx for Lustre file system will - * be mapped to the root of the Amazon S3 bucket you select. An - * example is s3://import-bucket/optional-prefix. If you specify a prefix - * after the Amazon S3 bucket name, only object keys with that prefix are loaded into the - * file system.

                                                                - */ - ImportPath?: string; - - /** - *

                                                                The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC - * time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

                                                                - */ - WeeklyMaintenanceStartTime?: string; - - /** - *

                                                                (Optional) Use this property to configure the AutoImport feature on the - * file system's linked Amazon S3 data repository. You use - * AutoImport to update the contents of your FSx for Lustre file system automatically - * with changes that occur in the linked S3 data repository. AutoImportPolicy can - * have the following values:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * NONE - (Default) AutoImport is off. Changes in the linked - * data repository are not reflected on the FSx file system.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * NEW - AutoImport is on. New files in the linked data repository - * that do not currently exist in the FSx file system are automatically imported. - * Updates to existing FSx files are not imported to the FSx file system. Files deleted from - * the linked data repository are not deleted from the FSx file system.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * NEW_CHANGED - AutoImport is on. New files in the linked S3 - * data repository that do not currently exist in the FSx file system are automatically imported. - * Changes to existing FSx files in the linked repository are also automatically imported to the - * FSx file system. Files deleted from the linked data repository are not deleted from the FSx file system. - *

                                                                  - *
                                                                • - *
                                                                - *

                                                                For more information, see Automatically import updates from your S3 bucket.

                                                                - */ - AutoImportPolicy?: AutoImportPolicyType | string; } export namespace CreateFileSystemLustreConfiguration { @@ -1317,23 +1341,17 @@ export namespace CreateFileSystemLustreConfiguration { */ export interface SelfManagedActiveDirectoryConfiguration { /** - *

                                                                (Optional) The name of the domain group whose members are granted administrative - * privileges for the file system. Administrative privileges include taking ownership of - * files and folders, setting audit controls (audit ACLs) on files and folders, and - * administering the file system remotely by using the FSx Remote PowerShell. - * The group that you specify must already exist in your domain. If you don't provide one, - * your AD domain's Domain Admins group is used.

                                                                - */ - FileSystemAdministratorsGroup?: string; - - /** - *

                                                                The user name for the service account on your self-managed AD domain that Amazon FSx - * will use to join to your AD domain. This account must have the permission to join - * computers to the domain in the organizational unit provided in - * OrganizationalUnitDistinguishedName, or in the default location of your - * AD domain.

                                                                + *

                                                                (Optional) The fully qualified distinguished name of the organizational unit within + * your self-managed AD directory that the Windows File Server instance will join. Amazon + * FSx only accepts OU as the direct parent of the file system. An example is + * OU=FSx,DC=yourdomain,DC=corp,DC=com. To learn more, see RFC 2253. If none is provided, the + * FSx file system is created in the default location of your self-managed AD directory.

                                                                + * + *

                                                                Only Organizational Unit (OU) objects can be the direct parent of the file system + * that you're creating.

                                                                + *
                                                                */ - UserName: string | undefined; + OrganizationalUnitDistinguishedName?: string; /** *

                                                                The fully qualified domain name of the self-managed AD directory, such as @@ -1367,17 +1385,23 @@ export interface SelfManagedActiveDirectoryConfiguration { Password: string | undefined; /** - *

                                                                (Optional) The fully qualified distinguished name of the organizational unit within - * your self-managed AD directory that the Windows File Server instance will join. Amazon - * FSx only accepts OU as the direct parent of the file system. An example is - * OU=FSx,DC=yourdomain,DC=corp,DC=com. To learn more, see RFC 2253. If none is provided, the - * FSx file system is created in the default location of your self-managed AD directory.

                                                                - * - *

                                                                Only Organizational Unit (OU) objects can be the direct parent of the file system - * that you're creating.

                                                                - *
                                                                + *

                                                                (Optional) The name of the domain group whose members are granted administrative + * privileges for the file system. Administrative privileges include taking ownership of + * files and folders, setting audit controls (audit ACLs) on files and folders, and + * administering the file system remotely by using the FSx Remote PowerShell. + * The group that you specify must already exist in your domain. If you don't provide one, + * your AD domain's Domain Admins group is used.

                                                                */ - OrganizationalUnitDistinguishedName?: string; + FileSystemAdministratorsGroup?: string; + + /** + *

                                                                The user name for the service account on your self-managed AD domain that Amazon FSx + * will use to join to your AD domain. This account must have the permission to join + * computers to the domain in the organizational unit provided in + * OrganizationalUnitDistinguishedName, or in the default location of your + * AD domain.

                                                                + */ + UserName: string | undefined; } export namespace SelfManagedActiveDirectoryConfiguration { @@ -1394,26 +1418,19 @@ export namespace SelfManagedActiveDirectoryConfiguration { */ export interface CreateFileSystemWindowsConfiguration { /** - *

                                                                The throughput of an Amazon FSx file system, measured in megabytes per second, in 2 to - * the nth increments, between 2^3 (8) and 2^11 (2048).

                                                                - */ - ThroughputCapacity: number | undefined; - - /** - *

                                                                The ID for an existing AWS Managed Microsoft Active Directory (AD) instance that the - * file system should join when it's created.

                                                                + *

                                                                Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet + * in which you want the preferred file server to be located. For in-AWS applications, we recommend that you launch + * your clients in the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ + * data transfer costs and minimize latency.

                                                                */ - ActiveDirectoryId?: string; + PreferredSubnetId?: string; /** - *

                                                                A boolean flag indicating whether tags for the file system should be copied to - * backups. This value defaults to false. If it's set to true, all tags for the file - * system are copied to all automatic and user-initiated backups where the user - * doesn't specify tags. If this value is true, and you specify one or more tags, only - * the specified tags are copied to backups. If you specify one or more tags when creating a - * user-initiated backup, no tags are copied from the file system, regardless of this value.

                                                                + *

                                                                The number of days to retain automatic backups. The default is to retain backups for 7 + * days. Setting this value to 0 disables the creation of automatic backups. The maximum + * retention period for backups is 90 days.

                                                                */ - CopyTagsToBackups?: boolean; + AutomaticBackupRetentionDays?: number; /** *

                                                                The preferred time to take daily automatic backups, formatted HH:MM in the UTC time @@ -1428,19 +1445,10 @@ export interface CreateFileSystemWindowsConfiguration { WeeklyMaintenanceStartTime?: string; /** - *

                                                                The number of days to retain automatic backups. The default is to retain backups for 7 - * days. Setting this value to 0 disables the creation of automatic backups. The maximum - * retention period for backups is 35 days.

                                                                - */ - AutomaticBackupRetentionDays?: number; - - /** - *

                                                                Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet - * in which you want the preferred file server to be located. For in-AWS applications, we recommend that you launch - * your clients in the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ - * data transfer costs and minimize latency.

                                                                + *

                                                                The ID for an existing AWS Managed Microsoft Active Directory (AD) instance that the + * file system should join when it's created.

                                                                */ - PreferredSubnetId?: string; + ActiveDirectoryId?: string; /** *

                                                                The configuration that Amazon FSx uses to join the Windows File Server instance to @@ -1474,6 +1482,22 @@ export interface CreateFileSystemWindowsConfiguration { * Availability and Durability: Single-AZ and Multi-AZ File Systems.

                                                                */ DeploymentType?: WindowsDeploymentType | string; + + /** + *

                                                                A boolean flag indicating whether tags for the file system should be copied to + * backups. This value defaults to false. If it's set to true, all tags for the file + * system are copied to all automatic and user-initiated backups where the user + * doesn't specify tags. If this value is true, and you specify one or more tags, only + * the specified tags are copied to backups. If you specify one or more tags when creating a + * user-initiated backup, no tags are copied from the file system, regardless of this value.

                                                                + */ + CopyTagsToBackups?: boolean; + + /** + *

                                                                The throughput of an Amazon FSx file system, measured in megabytes per second, in 2 to + * the nth increments, between 2^3 (8) and 2^11 (2048).

                                                                + */ + ThroughputCapacity: number | undefined; } export namespace CreateFileSystemWindowsConfiguration { @@ -1492,10 +1516,14 @@ export namespace CreateFileSystemWindowsConfiguration { */ export interface CreateFileSystemRequest { /** - *

                                                                The Microsoft Windows configuration for the file system being created. - *

                                                                + *

                                                                The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data + * for Amazon FSx for Windows File Server file systems and Amazon FSx for Lustre PERSISTENT_1 file + * systems at rest. In either case, if not specified, the Amazon FSx managed key + * is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted at rest using + * Amazon FSx managed keys. For more information, see Encrypt + * in the AWS Key Management Service API Reference.

                                                                */ - WindowsConfiguration?: CreateFileSystemWindowsConfiguration; + KmsKeyId?: string; /** *

                                                                Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 @@ -1508,24 +1536,16 @@ export interface CreateFileSystemRequest { SubnetIds: string[] | undefined; /** - *

                                                                A list of IDs specifying the security groups to apply to all network interfaces - * created for file system access. This list isn't returned in later requests to - * describe the file system.

                                                                - */ - SecurityGroupIds?: string[]; - - /** - *

                                                                A string of up to 64 ASCII characters that Amazon FSx uses to ensure - * idempotent creation. This string is automatically filled on your behalf when you use the - * AWS Command Line Interface (AWS CLI) or an AWS SDK.

                                                                + *

                                                                The tags to apply to the file system being created. The key value of + * the Name tag appears in the console as the file system name.

                                                                */ - ClientRequestToken?: string; + Tags?: Tag[]; /** - *

                                                                The Lustre configuration for the file system being created. + *

                                                                The Microsoft Windows configuration for the file system being created. *

                                                                */ - LustreConfiguration?: CreateFileSystemLustreConfiguration; + WindowsConfiguration?: CreateFileSystemWindowsConfiguration; /** *

                                                                The type of Amazon FSx file system to create, either WINDOWS or LUSTRE.

                                                                @@ -1537,12 +1557,16 @@ export interface CreateFileSystemRequest { *

                                                                For Lustre file systems:

                                                                *
                                                                  *
                                                                • - *

                                                                  For SCRATCH_2 and PERSISTENT_1 deployment types, valid values are - * 1.2, 2.4, and increments of 2.4 TiB.

                                                                  + *

                                                                  For SCRATCH_2 and PERSISTENT_1 SSD deployment types, valid values are + * 1200 GiB, 2400 GiB, and increments of 2400 GiB.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  For PERSISTENT HDD file systems, valid values are increments of 6000 GiB for + * 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.

                                                                  *
                                                                • *
                                                                • *

                                                                  For SCRATCH_1 deployment type, valid values are - * 1.2, 2.4, and increments of 3.6 TiB.

                                                                  + * 1200 GiB, 2400 GiB, and increments of 3600 GiB.

                                                                  *
                                                                • *
                                                                *

                                                                For Windows file systems:

                                                                @@ -1558,42 +1582,49 @@ export interface CreateFileSystemRequest { StorageCapacity: number | undefined; /** - *

                                                                The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data - * for Amazon FSx for Windows File Server file systems and Amazon FSx for Lustre PERSISTENT_1 file - * systems at rest. In either case, if not specified, the Amazon FSx managed key - * is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted at rest using - * Amazon FSx managed keys. For more information, see Encrypt - * in the AWS Key Management Service API Reference.

                                                                + *

                                                                A list of IDs specifying the security groups to apply to all network interfaces + * created for file system access. This list isn't returned in later requests to + * describe the file system.

                                                                */ - KmsKeyId?: string; + SecurityGroupIds?: string[]; /** - *

                                                                Sets the storage type for the Amazon FSx for Windows file system you're creating. + *

                                                                Sets the storage type for the file system you're creating. * Valid values are SSD and HDD.

                                                                *
                                                                  *
                                                                • *

                                                                  Set to SSD to use solid state drive storage. - * SSD is supported on all Windows deployment types.

                                                                  + * SSD is supported on all Windows and Lustre deployment types.

                                                                  *
                                                                • *
                                                                • *

                                                                  Set to HDD to use hard disk drive storage. - * HDD is supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types. + * HDD is supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types, + * and on PERSISTENT Lustre file system deployment types. *

                                                                  *
                                                                • *
                                                                *

                                                                * Default value is SSD. For more information, see * - * Storage Type Options in the Amazon FSx for Windows User Guide. + * Storage Type Options in the Amazon FSx for Windows User Guide and + * Multiple Storage Options + * in the Amazon FSx for Lustre User Guide. *

                                                                */ StorageType?: StorageType | string; /** - *

                                                                The tags to apply to the file system being created. The key value of - * the Name tag appears in the console as the file system name.

                                                                + *

                                                                The Lustre configuration for the file system being created. + *

                                                                */ - Tags?: Tag[]; + LustreConfiguration?: CreateFileSystemLustreConfiguration; + + /** + *

                                                                A string of up to 64 ASCII characters that Amazon FSx uses to ensure + * idempotent creation. This string is automatically filled on your behalf when you use the + * AWS Command Line Interface (AWS CLI) or an AWS SDK.

                                                                + */ + ClientRequestToken?: string; } export namespace CreateFileSystemRequest { @@ -1652,11 +1683,6 @@ export namespace InvalidImportPath { export interface InvalidNetworkSettings extends __SmithyException, $MetadataBearer { name: "InvalidNetworkSettings"; $fault: "client"; - /** - *

                                                                A detailed error message.

                                                                - */ - Message?: string; - /** *

                                                                The ID for a subnet. A subnet is a range of IP addresses in * your virtual private cloud (VPC). For more information, see VPC and Subnets in the @@ -1665,6 +1691,11 @@ export interface InvalidNetworkSettings extends __SmithyException, $MetadataBear */ InvalidSubnetId?: string; + /** + *

                                                                A detailed error message.

                                                                + */ + Message?: string; + /** *

                                                                The ID of your Amazon EC2 security group. This ID is used to control network access * to the endpoint that Amazon FSx creates on your behalf in each subnet. For more @@ -1740,20 +1771,6 @@ export namespace BackupNotFound { * operation.

                                                                */ export interface CreateFileSystemFromBackupRequest { - /** - *

                                                                A string of up to 64 ASCII characters that Amazon FSx uses to ensure - * idempotent creation. This string is automatically filled on your behalf when you use the - * AWS Command Line Interface (AWS CLI) or an AWS SDK.

                                                                - */ - ClientRequestToken?: string; - - /** - *

                                                                The tags to be applied to the file system at file system creation. The key value of - * the Name tag appears in the console as the file system - * name.

                                                                - */ - Tags?: Tag[]; - /** *

                                                                Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 * file system deployment types, provide exactly two subnet IDs, one for the preferred file server @@ -1766,15 +1783,15 @@ export interface CreateFileSystemFromBackupRequest { SubnetIds: string[] | undefined; /** - *

                                                                The Lustre configuration for the file system being created. - *

                                                                + *

                                                                The ID of the backup. Specifies the backup to use if you're creating a file system from an existing backup.

                                                                */ - LustreConfiguration?: CreateFileSystemLustreConfiguration; + BackupId: string | undefined; /** - *

                                                                The ID of the backup. Specifies the backup to use if you're creating a file system from an existing backup.

                                                                + *

                                                                The Lustre configuration for the file system being created. + *

                                                                */ - BackupId: string | undefined; + LustreConfiguration?: CreateFileSystemLustreConfiguration; /** *

                                                                The configuration for this Microsoft Windows file system.

                                                                @@ -1814,6 +1831,20 @@ export interface CreateFileSystemFromBackupRequest { * */ StorageType?: StorageType | string; + + /** + *

                                                                A string of up to 64 ASCII characters that Amazon FSx uses to ensure + * idempotent creation. This string is automatically filled on your behalf when you use the + * AWS Command Line Interface (AWS CLI) or an AWS SDK.

                                                                + */ + ClientRequestToken?: string; + + /** + *

                                                                The tags to be applied to the file system at file system creation. The key value of + * the Name tag appears in the console as the file system + * name.

                                                                + */ + Tags?: Tag[]; } export namespace CreateFileSystemFromBackupRequest { @@ -1853,17 +1884,17 @@ export namespace BackupRestoring { *

                                                                The request object for DeleteBackup operation.

                                                                */ export interface DeleteBackupRequest { - /** - *

                                                                The ID of the backup you want to delete.

                                                                - */ - BackupId: string | undefined; - /** *

                                                                A string of up to 64 ASCII characters that Amazon FSx uses to ensure * idempotent deletion. This is automatically filled on your behalf when using the AWS CLI * or SDK.

                                                                */ ClientRequestToken?: string; + + /** + *

                                                                The ID of the backup you want to delete.

                                                                + */ + BackupId: string | undefined; } export namespace DeleteBackupRequest { @@ -1877,14 +1908,14 @@ export namespace DeleteBackupRequest { */ export interface DeleteBackupResponse { /** - *

                                                                The lifecycle of the backup. Should be DELETED.

                                                                + *

                                                                The ID of the backup deleted.

                                                                */ - Lifecycle?: BackupLifecycle | string; + BackupId?: string; /** - *

                                                                The ID of the backup deleted.

                                                                + *

                                                                The lifecycle of the backup. Should be DELETED.

                                                                */ - BackupId?: string; + Lifecycle?: BackupLifecycle | string; } export namespace DeleteBackupResponse { @@ -1898,13 +1929,6 @@ export namespace DeleteBackupResponse { * DeleteFileSystem operation.

                                                                */ export interface DeleteFileSystemLustreConfiguration { - /** - *

                                                                Set SkipFinalBackup to false if you want to take a final backup of the file - * system you are deleting. By default, Amazon FSx will not take a final backup on your behalf when the - * DeleteFileSystem operation is invoked. (Default = true)

                                                                - */ - SkipFinalBackup?: boolean; - /** *

                                                                Use if SkipFinalBackup is set to false, * and you want to apply an array of tags to the final backup. If you have set the file system property @@ -1912,6 +1936,13 @@ export interface DeleteFileSystemLustreConfiguration { * you specify one or more FinalBackupTags when deleting a file system, Amazon FSx will not copy any existing file system tags to the backup.

                                                                */ FinalBackupTags?: Tag[]; + + /** + *

                                                                Set SkipFinalBackup to false if you want to take a final backup of the file + * system you are deleting. By default, Amazon FSx will not take a final backup on your behalf when the + * DeleteFileSystem operation is invoked. (Default = true)

                                                                + */ + SkipFinalBackup?: boolean; } export namespace DeleteFileSystemLustreConfiguration { @@ -1949,6 +1980,12 @@ export namespace DeleteFileSystemWindowsConfiguration { *

                                                                The request object for DeleteFileSystem operation.

                                                                */ export interface DeleteFileSystemRequest { + /** + *

                                                                The configuration object for the Amazon FSx for Lustre file system being deleted in the + * DeleteFileSystem operation.

                                                                + */ + LustreConfiguration?: DeleteFileSystemLustreConfiguration; + /** *

                                                                The configuration object for the Microsoft Windows file system used in the * DeleteFileSystem operation.

                                                                @@ -1966,12 +2003,6 @@ export interface DeleteFileSystemRequest { *

                                                                The ID of the file system you want to delete.

                                                                */ FileSystemId: string | undefined; - - /** - *

                                                                The configuration object for the Amazon FSx for Lustre file system being deleted in the - * DeleteFileSystem operation.

                                                                - */ - LustreConfiguration?: DeleteFileSystemLustreConfiguration; } export namespace DeleteFileSystemRequest { @@ -1986,14 +2017,14 @@ export namespace DeleteFileSystemRequest { */ export interface DeleteFileSystemLustreResponse { /** - *

                                                                The ID of the final backup for this file system.

                                                                + *

                                                                The set of tags applied to the final backup.

                                                                */ - FinalBackupId?: string; + FinalBackupTags?: Tag[]; /** - *

                                                                The set of tags applied to the final backup.

                                                                + *

                                                                The ID of the final backup for this file system.

                                                                */ - FinalBackupTags?: Tag[]; + FinalBackupId?: string; } export namespace DeleteFileSystemLustreResponse { @@ -2008,14 +2039,14 @@ export namespace DeleteFileSystemLustreResponse { */ export interface DeleteFileSystemWindowsResponse { /** - *

                                                                The set of tags applied to the final backup.

                                                                + *

                                                                The ID of the final backup for this file system.

                                                                */ - FinalBackupTags?: Tag[]; + FinalBackupId?: string; /** - *

                                                                The ID of the final backup for this file system.

                                                                + *

                                                                The set of tags applied to the final backup.

                                                                */ - FinalBackupId?: string; + FinalBackupTags?: Tag[]; } export namespace DeleteFileSystemWindowsResponse { @@ -2028,11 +2059,6 @@ export namespace DeleteFileSystemWindowsResponse { *

                                                                The response object for the DeleteFileSystem operation.

                                                                */ export interface DeleteFileSystemResponse { - /** - *

                                                                The ID of the file system being deleted.

                                                                - */ - FileSystemId?: string; - /** *

                                                                The file system lifecycle for the deletion request. Should be * DELETING.

                                                                @@ -2040,16 +2066,21 @@ export interface DeleteFileSystemResponse { Lifecycle?: FileSystemLifecycle | string; /** - *

                                                                The response object for the Microsoft Windows file system used in the - * DeleteFileSystem operation.

                                                                + *

                                                                The ID of the file system being deleted.

                                                                */ - WindowsResponse?: DeleteFileSystemWindowsResponse; + FileSystemId?: string; /** *

                                                                The response object for the Amazon FSx for Lustre file system being deleted in the * DeleteFileSystem operation.

                                                                */ LustreResponse?: DeleteFileSystemLustreResponse; + + /** + *

                                                                The response object for the Microsoft Windows file system used in the + * DeleteFileSystem operation.

                                                                + */ + WindowsResponse?: DeleteFileSystemWindowsResponse; } export namespace DeleteFileSystemResponse { @@ -2069,16 +2100,16 @@ export enum FilterName { * filters to return results that meet all applied filter requirements.

                                                                */ export interface Filter { + /** + *

                                                                The name for this filter.

                                                                + */ + Name?: FilterName | string; + /** *

                                                                The values of the filter. These are all the values for any of the applied * filters.

                                                                */ Values?: string[]; - - /** - *

                                                                The name for this filter.

                                                                - */ - Name?: FilterName | string; } export namespace Filter { @@ -2091,19 +2122,6 @@ export namespace Filter { *

                                                                The request object for DescribeBackups operation.

                                                                */ export interface DescribeBackupsRequest { - /** - *

                                                                Opaque pagination token returned from a previous - * DescribeBackups operation (String). If a token present, the action - * continues the list from where the returning call left off.

                                                                - */ - NextToken?: string; - - /** - *

                                                                Filters structure. Supported names are file-system-id and - * backup-type.

                                                                - */ - Filters?: Filter[]; - /** *

                                                                IDs of the backups you want to retrieve (String). This overrides any * filters. If any IDs are not found, BackupNotFound will be thrown.

                                                                @@ -2117,6 +2135,19 @@ export interface DescribeBackupsRequest { * service's internal maximum number of items per page.

                                                                */ MaxResults?: number; + + /** + *

                                                                Opaque pagination token returned from a previous + * DescribeBackups operation (String). If a token present, the action + * continues the list from where the returning call left off.

                                                                + */ + NextToken?: string; + + /** + *

                                                                Filters structure. Supported names are file-system-id and + * backup-type.

                                                                + */ + Filters?: Filter[]; } export namespace DescribeBackupsRequest { @@ -2136,12 +2167,6 @@ export enum DataRepositoryTaskFilterName { * A filter object consists of a filter Name, and one or more Values for the filter.

                                                                */ export interface DataRepositoryTaskFilter { - /** - *

                                                                Use Values to include the specific file system IDs and task - * lifecycle states for the filters you are using.

                                                                - */ - Values?: string[]; - /** *

                                                                Name of the task property to use in filtering the tasks returned in the response.

                                                                *
                                                                  @@ -2155,6 +2180,12 @@ export interface DataRepositoryTaskFilter { *
                                                                */ Name?: DataRepositoryTaskFilterName | string; + + /** + *

                                                                Use Values to include the specific file system IDs and task + * lifecycle states for the filters you are using.

                                                                + */ + Values?: string[]; } export namespace DataRepositoryTaskFilter { @@ -2165,11 +2196,10 @@ export namespace DataRepositoryTaskFilter { export interface DescribeDataRepositoryTasksRequest { /** - *

                                                                (Optional) Opaque pagination token returned from a previous operation (String). If - * present, this token indicates from what point you can continue processing the request, where - * the previous NextToken value left off.

                                                                + *

                                                                (Optional) IDs of the tasks whose descriptions you want to retrieve + * (String).

                                                                */ - NextToken?: string; + TaskIds?: string[]; /** *

                                                                (Optional) You can use filters to narrow the DescribeDataRepositoryTasks response to @@ -2184,10 +2214,11 @@ export interface DescribeDataRepositoryTasksRequest { MaxResults?: number; /** - *

                                                                (Optional) IDs of the tasks whose descriptions you want to retrieve - * (String).

                                                                + *

                                                                (Optional) Opaque pagination token returned from a previous operation (String). If + * present, this token indicates from what point you can continue processing the request, where + * the previous NextToken value left off.

                                                                */ - TaskIds?: string[]; + NextToken?: string; } export namespace DescribeDataRepositoryTasksRequest { @@ -2221,10 +2252,11 @@ export namespace DescribeDataRepositoryTasksResponse { */ export interface DescribeFileSystemsRequest { /** - *

                                                                IDs of the file systems whose descriptions you want to retrieve - * (String).

                                                                + *

                                                                Opaque pagination token returned from a previous + * DescribeFileSystems operation (String). If a token present, the action + * continues the list from where the returning call left off.

                                                                */ - FileSystemIds?: string[]; + NextToken?: string; /** *

                                                                Maximum number of file systems to return in the response (integer). This @@ -2235,11 +2267,10 @@ export interface DescribeFileSystemsRequest { MaxResults?: number; /** - *

                                                                Opaque pagination token returned from a previous - * DescribeFileSystems operation (String). If a token present, the action - * continues the list from where the returning call left off.

                                                                + *

                                                                IDs of the file systems whose descriptions you want to retrieve + * (String).

                                                                */ - NextToken?: string; + FileSystemIds?: string[]; } export namespace DescribeFileSystemsRequest { @@ -2253,11 +2284,12 @@ export namespace DescribeFileSystemsRequest { */ export interface ListTagsForResourceRequest { /** - *

                                                                Opaque pagination token returned from a previous - * ListTagsForResource operation (String). If a token present, the action - * continues the list from where the returning call left off.

                                                                + *

                                                                Maximum number of tags to return in the response (integer). This + * parameter value must be greater than 0. The number of items that Amazon FSx returns is + * the minimum of the MaxResults parameter specified in the request and the + * service's internal maximum number of items per page.

                                                                */ - NextToken?: string; + MaxResults?: number; /** *

                                                                The ARN of the Amazon FSx resource that will have its tags listed.

                                                                @@ -2265,12 +2297,11 @@ export interface ListTagsForResourceRequest { ResourceARN: string | undefined; /** - *

                                                                Maximum number of tags to return in the response (integer). This - * parameter value must be greater than 0. The number of items that Amazon FSx returns is - * the minimum of the MaxResults parameter specified in the request and the - * service's internal maximum number of items per page.

                                                                + *

                                                                Opaque pagination token returned from a previous + * ListTagsForResource operation (String). If a token present, the action + * continues the list from where the returning call left off.

                                                                */ - MaxResults?: number; + NextToken?: string; } export namespace ListTagsForResourceRequest { @@ -2357,14 +2388,14 @@ export interface ResourceNotFound extends __SmithyException, $MetadataBearer { name: "ResourceNotFound"; $fault: "client"; /** - *

                                                                The resource ARN of the resource that can't be found.

                                                                + *

                                                                A detailed error message.

                                                                */ - ResourceARN: string | undefined; + Message?: string; /** - *

                                                                A detailed error message.

                                                                + *

                                                                The resource ARN of the resource that can't be found.

                                                                */ - Message?: string; + ResourceARN: string | undefined; } export namespace ResourceNotFound { @@ -2377,17 +2408,17 @@ export namespace ResourceNotFound { *

                                                                The request object for the TagResource operation.

                                                                */ export interface TagResourceRequest { - /** - *

                                                                A list of tags for the resource. If a tag with a given key already exists, the - * value is replaced by the one specified in this parameter.

                                                                - */ - Tags: Tag[] | undefined; - /** *

                                                                The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to * tag.

                                                                */ ResourceARN: string | undefined; + + /** + *

                                                                A list of tags for the resource. If a tag with a given key already exists, the + * value is replaced by the one specified in this parameter.

                                                                + */ + Tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -2412,15 +2443,15 @@ export namespace TagResourceResponse { */ export interface UntagResourceRequest { /** - *

                                                                A list of keys of tags on the resource to untag. In case the tag key doesn't exist, - * the call will still succeed to be idempotent.

                                                                + *

                                                                The ARN of the Amazon FSx resource to untag.

                                                                */ - TagKeys: string[] | undefined; + ResourceARN: string | undefined; /** - *

                                                                The ARN of the Amazon FSx resource to untag.

                                                                + *

                                                                A list of keys of tags on the resource to untag. In case the tag key doesn't exist, + * the call will still succeed to be idempotent.

                                                                */ - ResourceARN: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -2446,43 +2477,29 @@ export namespace UntagResourceResponse { */ export interface UpdateFileSystemLustreConfiguration { /** - *

                                                                The number of days to retain automatic backups. Setting this to 0 disables - * automatic backups. You can retain automatic backups for a maximum of 35 days. The default is 0.

                                                                - */ - AutomaticBackupRetentionDays?: number; - - /** - *

                                                                A recurring daily time, in the format HH:MM. HH is the - * zero-padded hour of the day (0-23), and MM is the zero-padded minute of the - * hour. For example, 05:00 specifies 5 AM daily.

                                                                - */ - DailyAutomaticBackupStartTime?: string; - - /** - *

                                                                (Optional) Use this property to configure the AutoImport feature on the - * file system's linked Amazon S3 data repository. You use - * AutoImport to update the contents of your FSx for Lustre file system automatically - * with changes that occur in the linked S3 data repository. AutoImportPolicy can + *

                                                                (Optional) When you create your file system, your existing S3 objects appear as file and directory listings. + * Use this property to choose how Amazon FSx keeps your file and directory listing up to date + * as you add or modify objects in your linked S3 bucket. AutoImportPolicy can * have the following values:

                                                                *
                                                                  *
                                                                • *

                                                                  - * NONE - (Default) AutoImport is off. Changes in the linked - * data repository are not reflected on the FSx file system.

                                                                  + * NONE - (Default) AutoImport is off. Amazon FSx only updates + * file and directory listings from the linked S3 bucket + * when the file system is created. FSx does not update the file and directory + * listing for any new or changed objects after choosing this option.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * NEW - AutoImport is on. New files in the linked data repository - * that do not currently exist in the FSx file system are automatically imported. - * Updates to existing FSx files are not imported to the FSx file system. Files deleted from - * the linked data repository are not deleted from the FSx file system.

                                                                  + * NEW - AutoImport is on. Amazon FSx automatically imports + * directory listings of any new objects added to the linked S3 bucket that + * do not currently exist in the FSx file system.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * NEW_CHANGED - AutoImport is on. New files in the linked S3 - * data repository that do not currently exist in the FSx file system are automatically imported. - * Changes to existing FSx files in the linked repository are also automatically imported to the - * FSx file system. Files deleted from the linked data repository are not deleted from the FSx file system. + * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports + * file and directory listings of any new objects added to the S3 bucket and any + * existing objects that are changed in the S3 bucket after you choose this option. *

                                                                  *
                                                                • *
                                                                @@ -2491,10 +2508,23 @@ export interface UpdateFileSystemLustreConfiguration { AutoImportPolicy?: AutoImportPolicyType | string; /** - *

                                                                The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC + *

                                                                A recurring daily time, in the format HH:MM. HH is the + * zero-padded hour of the day (0-23), and MM is the zero-padded minute of the + * hour. For example, 05:00 specifies 5 AM daily.

                                                                + */ + DailyAutomaticBackupStartTime?: string; + + /** + *

                                                                (Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC * time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

                                                                */ WeeklyMaintenanceStartTime?: string; + + /** + *

                                                                The number of days to retain automatic backups. Setting this to 0 disables + * automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 0.

                                                                + */ + AutomaticBackupRetentionDays?: number; } export namespace UpdateFileSystemLustreConfiguration { @@ -2509,12 +2539,10 @@ export namespace UpdateFileSystemLustreConfiguration { */ export interface SelfManagedActiveDirectoryConfigurationUpdates { /** - *

                                                                The user name for the service account on your self-managed AD domain that Amazon FSx will use to join to - * your AD domain. This account must have the permission to join - * computers to the domain in the organizational unit provided in - * OrganizationalUnitDistinguishedName.

                                                                + *

                                                                A list of up to two IP addresses of DNS servers or domain controllers in the + * self-managed AD directory.

                                                                */ - UserName?: string; + DnsIps?: string[]; /** *

                                                                The password for the service account on your self-managed AD domain that Amazon FSx will use to join to @@ -2523,10 +2551,12 @@ export interface SelfManagedActiveDirectoryConfigurationUpdates { Password?: string; /** - *

                                                                A list of up to two IP addresses of DNS servers or domain controllers in the - * self-managed AD directory.

                                                                + *

                                                                The user name for the service account on your self-managed AD domain that Amazon FSx will use to join to + * your AD domain. This account must have the permission to join + * computers to the domain in the organizational unit provided in + * OrganizationalUnitDistinguishedName.

                                                                */ - DnsIps?: string[]; + UserName?: string; } export namespace SelfManagedActiveDirectoryConfigurationUpdates { @@ -2542,6 +2572,19 @@ export namespace SelfManagedActiveDirectoryConfigurationUpdates { * provided in the request.

                                                                */ export interface UpdateFileSystemWindowsConfiguration { + /** + *

                                                                The number of days to retain automatic daily backups. Setting this to zero (0) disables automatic daily + * backups. You can retain automatic daily backups for a maximum of 90 days. For more information, see + * Working with Automatic Daily Backups.

                                                                + */ + AutomaticBackupRetentionDays?: number; + + /** + *

                                                                The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC + * time zone. Where d is the weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday.

                                                                + */ + WeeklyMaintenanceStartTime?: string; + /** *

                                                                Sets the target value for a file system's throughput capacity, in MB/s, that you are updating the file system to. Valid values are * 8, 16, 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity update request if there is an existing throughput capacity update request in progress. For more information, @@ -2549,12 +2592,6 @@ export interface UpdateFileSystemWindowsConfiguration { */ ThroughputCapacity?: number; - /** - *

                                                                The configuration Amazon FSx uses to join the Windows File Server instance to the - * self-managed Microsoft AD directory. You cannot make a self-managed Microsoft AD update request if there is an existing self-managed Microsoft AD update request in progress.

                                                                - */ - SelfManagedActiveDirectoryConfiguration?: SelfManagedActiveDirectoryConfigurationUpdates; - /** *

                                                                The preferred time to start the daily automatic backup, in the UTC time zone, for example, 02:00 *

                                                                @@ -2562,17 +2599,10 @@ export interface UpdateFileSystemWindowsConfiguration { DailyAutomaticBackupStartTime?: string; /** - *

                                                                The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC - * time zone. Where d is the weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday.

                                                                - */ - WeeklyMaintenanceStartTime?: string; - - /** - *

                                                                The number of days to retain automatic daily backups. Setting this to zero (0) disables automatic daily - * backups. You can retain automatic daily backups for a maximum of 35 days. For more information, see - * Working with Automatic Daily Backups.

                                                                + *

                                                                The configuration Amazon FSx uses to join the Windows File Server instance to the + * self-managed Microsoft AD directory. You cannot make a self-managed Microsoft AD update request if there is an existing self-managed Microsoft AD update request in progress.

                                                                */ - AutomaticBackupRetentionDays?: number; + SelfManagedActiveDirectoryConfiguration?: SelfManagedActiveDirectoryConfigurationUpdates; } export namespace UpdateFileSystemWindowsConfiguration { @@ -2590,6 +2620,22 @@ export namespace UpdateFileSystemWindowsConfiguration { *

                                                                The request object for the UpdateFileSystem operation.

                                                                */ export interface UpdateFileSystemRequest { + /** + *

                                                                The configuration updates for an Amazon FSx for Windows File Server file system.

                                                                + */ + WindowsConfiguration?: UpdateFileSystemWindowsConfiguration; + + /** + *

                                                                Identifies the file system that you are updating.

                                                                + */ + FileSystemId: string | undefined; + + /** + *

                                                                The configuration object for Amazon FSx for Lustre file systems used in the + * UpdateFileSystem operation.

                                                                + */ + LustreConfiguration?: UpdateFileSystemLustreConfiguration; + /** *

                                                                A string of up to 64 ASCII characters that Amazon FSx uses to ensure * idempotent updates. This string is automatically filled on your behalf when you use the AWS @@ -2607,22 +2653,6 @@ export interface UpdateFileSystemRequest { * Managing Storage Capacity.

                                                                */ StorageCapacity?: number; - - /** - *

                                                                Identifies the file system that you are updating.

                                                                - */ - FileSystemId: string | undefined; - - /** - *

                                                                The configuration updates for an Amazon FSx for Windows File Server file system.

                                                                - */ - WindowsConfiguration?: UpdateFileSystemWindowsConfiguration; - - /** - *

                                                                The configuration object for Amazon FSx for Lustre file systems used in the - * UpdateFileSystem operation.

                                                                - */ - LustreConfiguration?: UpdateFileSystemLustreConfiguration; } export namespace UpdateFileSystemRequest { @@ -2638,29 +2668,6 @@ export namespace UpdateFileSystemRequest { *

                                                                Describes a specific Amazon FSx Administrative Action for the current Windows file system.

                                                                */ export interface AdministrativeAction { - /** - *

                                                                Time that the administrative action request was received.

                                                                - */ - RequestTime?: Date; - - /** - *

                                                                Describes the target StorageCapacity or ThroughputCapacity value - * provided in the UpdateFileSystem operation. - * Returned for FILE_SYSTEM_UPDATE administrative actions. - *

                                                                - */ - TargetFileSystemValues?: FileSystem; - - /** - *

                                                                Provides the percent complete of a STORAGE_OPTIMIZATION administrative action.

                                                                - */ - ProgressPercent?: number; - - /** - *

                                                                Provides information about a failed administrative action.

                                                                - */ - FailureDetails?: AdministrativeActionFailureDetails; - /** *

                                                                Describes the type of administrative action, as follows:

                                                                *
                                                                  @@ -2712,7 +2719,30 @@ export interface AdministrativeAction { * *
                                                                */ - Status?: Status | string; + Status?: Status | string; + + /** + *

                                                                Time that the administrative action request was received.

                                                                + */ + RequestTime?: Date; + + /** + *

                                                                Describes the target StorageCapacity or ThroughputCapacity value + * provided in the UpdateFileSystem operation. + * Returned for FILE_SYSTEM_UPDATE administrative actions. + *

                                                                + */ + TargetFileSystemValues?: FileSystem; + + /** + *

                                                                Provides the percent complete of a STORAGE_OPTIMIZATION administrative action.

                                                                + */ + ProgressPercent?: number; + + /** + *

                                                                Provides information about a failed administrative action.

                                                                + */ + FailureDetails?: AdministrativeActionFailureDetails; } export namespace AdministrativeAction { @@ -2726,33 +2756,30 @@ export namespace AdministrativeAction { */ export interface FileSystem { /** - *

                                                                A structure providing details of any failures that occur when creating the file system - * has failed.

                                                                + *

                                                                The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), + * also known as Unix time.

                                                                */ - FailureDetails?: FileSystemFailureDetails; + CreationTime?: Date; /** - *

                                                                The storage capacity of the file system in gigabytes (GB).

                                                                + *

                                                                The configuration for this Microsoft Windows file system.

                                                                */ - StorageCapacity?: number; + WindowsConfiguration?: WindowsFileSystemConfiguration; /** - *

                                                                The IDs of the elastic network interface from which a specific file system is - * accessible. The elastic network interface is automatically created in the same VPC that - * the Amazon FSx file system was created in. For more information, see Elastic Network - * Interfaces in the Amazon EC2 User Guide. - *

                                                                - * - *

                                                                For an Amazon FSx for Windows File Server file system, you can have one network - * interface ID. For an Amazon FSx for Lustre file system, you can have more than - * one.

                                                                + *

                                                                The DNS name for the file system.

                                                                */ - NetworkInterfaceIds?: string[]; + DNSName?: string; /** - *

                                                                The system-generated, unique 17-digit ID of the file system.

                                                                + *

                                                                The Amazon Resource Name (ARN) for the file system resource.

                                                                */ - FileSystemId?: string; + ResourceARN?: string; + + /** + *

                                                                The type of Amazon FSx file system, either LUSTRE or WINDOWS.

                                                                + */ + FileSystemType?: FileSystemType | string; /** *

                                                                Specifies the IDs of the subnets that the file system is accessible from. For Windows MULTI_AZ_1 @@ -2766,22 +2793,76 @@ export interface FileSystem { SubnetIds?: string[]; /** - *

                                                                A list of administrative actions for the file system that are in process or waiting to be processed. - * Administrative actions describe changes to the Windows file system that you have initiated using the UpdateFileSystem action. - *

                                                                + *

                                                                The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data + * for Amazon FSx for Windows File Server file systems and persistent Amazon FSx for Lustre file + * systems at rest. In either case, if not specified, the Amazon FSx managed key + * is used. The scratch Amazon FSx for Lustre file systems are always encrypted at rest using + * Amazon FSx managed keys. For more information, see Encrypt + * in the AWS Key Management Service API Reference.

                                                                */ - AdministrativeActions?: AdministrativeAction[]; + KmsKeyId?: string; /** - *

                                                                The DNS name for the file system.

                                                                + *

                                                                The lifecycle status of the file system, following are the possible values and what they mean:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * AVAILABLE - The file system is in a healthy state, and is reachable and available for use.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * CREATING - Amazon FSx is creating the new file system.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * DELETING - Amazon FSx is deleting an existing file system.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * FAILED - An existing file system has experienced an unrecoverable failure. + * When creating a new file system, Amazon FSx was unable to create the file system.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * MISCONFIGURED indicates that the file system is in a failed but recoverable state.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * UPDATING indicates that the file system is undergoing a customer initiated update.

                                                                  + *
                                                                • + *
                                                                */ - DNSName?: string; + Lifecycle?: FileSystemLifecycle | string; + + /** + *

                                                                The IDs of the elastic network interface from which a specific file system is + * accessible. The elastic network interface is automatically created in the same VPC that + * the Amazon FSx file system was created in. For more information, see Elastic Network + * Interfaces in the Amazon EC2 User Guide. + *

                                                                + * + *

                                                                For an Amazon FSx for Windows File Server file system, you can have one network + * interface ID. For an Amazon FSx for Lustre file system, you can have more than + * one.

                                                                + */ + NetworkInterfaceIds?: string[]; + + /** + *

                                                                The ID of the primary VPC for the file system.

                                                                + */ + VpcId?: string; /** *

                                                                The configuration for the Amazon FSx for Lustre file system.

                                                                */ LustreConfiguration?: LustreFileSystemConfiguration; + /** + *

                                                                A structure providing details of any failures that occur when creating the file system + * has failed.

                                                                + */ + FailureDetails?: FileSystemFailureDetails; + /** *

                                                                The storage type of the file system. * Valid values are SSD and HDD. @@ -2791,18 +2872,6 @@ export interface FileSystem { */ StorageType?: StorageType | string; - /** - *

                                                                The tags to associate with the file system. For more information, see Tagging Your - * Amazon EC2 Resources in the Amazon EC2 User - * Guide.

                                                                - */ - Tags?: Tag[]; - - /** - *

                                                                The Amazon Resource Name (ARN) for the file system resource.

                                                                - */ - ResourceARN?: string; - /** *

                                                                The AWS account that created the file system. If the file system was created by an AWS * Identity and Access Management (IAM) user, the AWS account to which the IAM user belongs @@ -2811,93 +2880,89 @@ export interface FileSystem { OwnerId?: string; /** - *

                                                                The type of Amazon FSx file system, either LUSTRE or WINDOWS.

                                                                + *

                                                                The tags to associate with the file system. For more information, see Tagging Your + * Amazon EC2 Resources in the Amazon EC2 User + * Guide.

                                                                */ - FileSystemType?: FileSystemType | string; + Tags?: Tag[]; /** - *

                                                                The configuration for this Microsoft Windows file system.

                                                                + *

                                                                The storage capacity of the file system in gigabytes (GB).

                                                                */ - WindowsConfiguration?: WindowsFileSystemConfiguration; + StorageCapacity?: number; /** - *

                                                                The ID of the primary VPC for the file system.

                                                                + *

                                                                A list of administrative actions for the file system that are in process or waiting to be processed. + * Administrative actions describe changes to the Windows file system that you have initiated using the UpdateFileSystem action. + *

                                                                */ - VpcId?: string; + AdministrativeActions?: AdministrativeAction[]; /** - *

                                                                The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), - * also known as Unix time.

                                                                + *

                                                                The system-generated, unique 17-digit ID of the file system.

                                                                */ - CreationTime?: Date; + FileSystemId?: string; +} + +export namespace FileSystem { + export const filterSensitiveLog = (obj: FileSystem): any => ({ + ...obj, + }); +} +/** + *

                                                                A backup of an Amazon FSx for file system.

                                                                + */ +export interface Backup { /** - *

                                                                The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data - * for Amazon FSx for Windows File Server file systems and persistent Amazon FSx for Lustre file - * systems at rest. In either case, if not specified, the Amazon FSx managed key - * is used. The scratch Amazon FSx for Lustre file systems are always encrypted at rest using - * Amazon FSx managed keys. For more information, see Encrypt - * in the AWS Key Management Service API Reference.

                                                                + *

                                                                Metadata of the file system associated with the backup. This metadata is persisted + * even if the file system is deleted.

                                                                */ - KmsKeyId?: string; + FileSystem: FileSystem | undefined; /** - *

                                                                The lifecycle status of the file system, following are the possible values and what they mean:

                                                                - *
                                                                  + *

                                                                  The lifecycle status of the backup.

                                                                  + *
                                                                    *
                                                                  • *

                                                                    - * AVAILABLE - The file system is in a healthy state, and is reachable and available for use.

                                                                    + * AVAILABLE - The backup is fully available.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * CREATING - Amazon FSx is creating the new file system.

                                                                    + * CREATING - FSx is creating the backup.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * DELETING - Amazon FSx is deleting an existing file system.

                                                                    + * TRANSFERRING - For Lustre file systems only; FSx is transferring the backup to S3.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * FAILED - An existing file system has experienced an unrecoverable failure. - * When creating a new file system, Amazon FSx was unable to create the file system.

                                                                    + * DELETED - The backup was deleted is no longer available.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * MISCONFIGURED indicates that the file system is in a failed but recoverable state.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * UPDATING indicates that the file system is undergoing a customer initiated update.

                                                                    - *
                                                                  • + *

                                                                    + * FAILED - Amazon FSx could not complete the backup.

                                                                    + * *
                                                                  */ - Lifecycle?: FileSystemLifecycle | string; -} - -export namespace FileSystem { - export const filterSensitiveLog = (obj: FileSystem): any => ({ - ...obj, - }); -} + Lifecycle: BackupLifecycle | string | undefined; -/** - *

                                                                  A backup of an Amazon FSx for file system.

                                                                  - */ -export interface Backup { /** - *

                                                                  The time when a particular backup was created.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) for the backup resource.

                                                                  */ - CreationTime: Date | undefined; + ResourceARN?: string; /** - *

                                                                  The ID of the backup.

                                                                  + *

                                                                  The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the + * backup of the Amazon FSx file system's data at rest. + *

                                                                  */ - BackupId: string | undefined; + KmsKeyId?: string; /** - *

                                                                  Details explaining any failures that occur when creating a backup.

                                                                  + *

                                                                  The configuration of the self-managed Microsoft Active Directory (AD) to which the Windows File Server instance is joined.

                                                                  */ - FailureDetails?: BackupFailureDetails; + DirectoryInformation?: ActiveDirectoryBackupAttributes; /** *

                                                                  The current percent of progress of an asynchronous task.

                                                                  @@ -2905,14 +2970,9 @@ export interface Backup { ProgressPercent?: number; /** - *

                                                                  Tags associated with a particular file system.

                                                                  - */ - Tags?: Tag[]; - - /** - *

                                                                  The Amazon Resource Name (ARN) for the backup resource.

                                                                  + *

                                                                  Details explaining any failures that occur when creating a backup.

                                                                  */ - ResourceARN?: string; + FailureDetails?: BackupFailureDetails; /** *

                                                                  The type of the file system backup.

                                                                  @@ -2920,27 +2980,19 @@ export interface Backup { Type: BackupType | string | undefined; /** - *

                                                                  The ID of the AWS Key Management Service (AWS KMS) key used to encrypt this - * backup of the Amazon FSx for Windows file system's data at rest. - * Amazon FSx for Lustre does not support KMS encryption.

                                                                  - */ - KmsKeyId?: string; - - /** - *

                                                                  The configuration of the self-managed Microsoft Active Directory (AD) to which the Windows File Server instance is joined.

                                                                  + *

                                                                  The time when a particular backup was created.

                                                                  */ - DirectoryInformation?: ActiveDirectoryBackupAttributes; + CreationTime: Date | undefined; /** - *

                                                                  The lifecycle status of the backup.

                                                                  + *

                                                                  The ID of the backup.

                                                                  */ - Lifecycle: BackupLifecycle | string | undefined; + BackupId: string | undefined; /** - *

                                                                  Metadata of the file system associated with the backup. This metadata is persisted - * even if the file system is deleted.

                                                                  + *

                                                                  Tags associated with a particular file system.

                                                                  */ - FileSystem: FileSystem | undefined; + Tags?: Tag[]; } export namespace Backup { @@ -3018,17 +3070,17 @@ export namespace CreateBackupResponse { *

                                                                  The response object for DescribeFileSystems operation.

                                                                  */ export interface DescribeFileSystemsResponse { - /** - *

                                                                  An array of file system descriptions.

                                                                  - */ - FileSystems?: FileSystem[]; - /** *

                                                                  Present if there are more file systems than returned in the response (String). You * can use the NextToken value in the later request to fetch the * descriptions.

                                                                  */ NextToken?: string; + + /** + *

                                                                  An array of file system descriptions.

                                                                  + */ + FileSystems?: FileSystem[]; } export namespace DescribeFileSystemsResponse { @@ -3041,17 +3093,17 @@ export namespace DescribeFileSystemsResponse { *

                                                                  Response object for DescribeBackups operation.

                                                                  */ export interface DescribeBackupsResponse { - /** - *

                                                                  Any array of backups.

                                                                  - */ - Backups?: Backup[]; - /** *

                                                                  This is present if there are more backups than returned in the response (String). * You can use the NextToken value in the later request to fetch the backups. *

                                                                  */ NextToken?: string; + + /** + *

                                                                  Any array of backups.

                                                                  + */ + Backups?: Backup[]; } export namespace DescribeBackupsResponse { diff --git a/clients/client-fsx/protocols/Aws_json1_1.ts b/clients/client-fsx/protocols/Aws_json1_1.ts index fe6c3d020994..6f43eb027d51 100644 --- a/clients/client-fsx/protocols/Aws_json1_1.ts +++ b/clients/client-fsx/protocols/Aws_json1_1.ts @@ -2016,6 +2016,7 @@ const serializeAws_json1_1CreateFileSystemLustreConfiguration = ( DailyAutomaticBackupStartTime: input.DailyAutomaticBackupStartTime, }), ...(input.DeploymentType !== undefined && { DeploymentType: input.DeploymentType }), + ...(input.DriveCacheType !== undefined && { DriveCacheType: input.DriveCacheType }), ...(input.ExportPath !== undefined && { ExportPath: input.ExportPath }), ...(input.ImportPath !== undefined && { ImportPath: input.ImportPath }), ...(input.ImportedFileChunkSize !== undefined && { ImportedFileChunkSize: input.ImportedFileChunkSize }), @@ -2921,6 +2922,8 @@ const deserializeAws_json1_1LustreFileSystemConfiguration = ( : undefined, DeploymentType: output.DeploymentType !== undefined && output.DeploymentType !== null ? output.DeploymentType : undefined, + DriveCacheType: + output.DriveCacheType !== undefined && output.DriveCacheType !== null ? output.DriveCacheType : undefined, MountName: output.MountName !== undefined && output.MountName !== null ? output.MountName : undefined, PerUnitStorageThroughput: output.PerUnitStorageThroughput !== undefined && output.PerUnitStorageThroughput !== null diff --git a/clients/client-gamelift/GameLift.ts b/clients/client-gamelift/GameLift.ts index afec5774ce42..de6086b417a1 100644 --- a/clients/client-gamelift/GameLift.ts +++ b/clients/client-gamelift/GameLift.ts @@ -156,6 +156,11 @@ import { DescribeGameServerGroupCommandInput, DescribeGameServerGroupCommandOutput, } from "./commands/DescribeGameServerGroupCommand"; +import { + DescribeGameServerInstancesCommand, + DescribeGameServerInstancesCommandInput, + DescribeGameServerInstancesCommandOutput, +} from "./commands/DescribeGameServerInstancesCommand"; import { DescribeGameSessionDetailsCommand, DescribeGameSessionDetailsCommandInput, @@ -392,68 +397,56 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** * Amazon GameLift Service - *

                                                                  Amazon GameLift provides a range of multiplayer game hosting solutions. As a fully managed - * service, GameLift helps you:

                                                                  + *

                                                                  GameLift provides solutions for hosting session-based multiplayer game servers in the + * cloud, including tools for deploying, operating, and scaling game servers. Built on AWS + * global computing infrastructure, GameLift helps you deliver high-performance, + * high-reliability, low-cost game servers while dynamically scaling your resource usage to + * meet player demand.

                                                                  + *

                                                                  + * About GameLift solutions + *

                                                                  + *

                                                                  Get more information on these GameLift solutions in the Amazon GameLift Developer Guide.

                                                                  *
                                                                    *
                                                                  • - *

                                                                    Set up EC2-based computing resources and use GameLift FleetIQ to and deploy your game - * servers on low-cost, reliable Spot instances.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    Track game server availability and route players into game sessions to minimize latency.

                                                                    + *

                                                                    Managed GameLift -- GameLift offers a + * fully managed service to set up and maintain computing machines for + * hosting, manage game session and player session life cycle, and handle + * security, storage, and performance tracking. You can use automatic + * scaling tools to balance hosting costs against meeting player demand., + * configure your game session management to minimize player latency, or + * add FlexMatch for matchmaking.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Automatically scale your resources to meet player demand and manage costs

                                                                    + *

                                                                    Managed GameLift with Realtime Servers – With GameLift Realtime Servers, you can quickly configure and set up game + * servers for your game. Realtime Servers provides a game server framework with core Amazon GameLift + * infrastructure already built in.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Optionally add FlexMatch matchmaking.

                                                                    + *

                                                                    GameLift FleetIQ – Use GameLift FleetIQ as a standalone feature while managing your own EC2 instances and Auto + * Scaling groups for game hosting. GameLift FleetIQ provides optimizations that make low-cost + * Spot Instances viable for game hosting.

                                                                    *
                                                                  • *
                                                                  - * - *

                                                                  With GameLift as a managed service, you have the option to deploy your custom game - * server or use Amazon GameLift Realtime Servers to quickly stand up lightweight game servers for your game. - * Realtime Servers provides an efficient game server framework with core Amazon GameLift infrastructure - * already built in.

                                                                  - * - *

                                                                  - * Now in Public Preview: - *

                                                                  - *

                                                                  Use GameLift FleetIQ as a standalone feature with EC2 instances and Auto Scaling groups. GameLift FleetIQ - * provides optimizations that make low-cost Spot instances viable for game hosting. This - * extension of GameLift FleetIQ gives you access to these optimizations while managing your EC2 - * instances and Auto Scaling groups within your own AWS account.

                                                                  - * - *

                                                                  - * Get Amazon GameLift Tools and Resources - *

                                                                  - *

                                                                  This reference guide describes the low-level service API for Amazon GameLift and provides links to - * language-specific SDK reference topics. See also - * - * Amazon GameLift Tools and Resources.

                                                                  *

                                                                  - * API Summary + * About this API Reference *

                                                                  - *

                                                                  The Amazon GameLift service API includes two key sets of actions:

                                                                  + *

                                                                  This reference guide describes the low-level service API for Amazon GameLift. You can find + * links to language-specific SDK guides and the AWS CLI reference with each operation and + * data type topic. Useful links:

                                                                  *
                                                                    *
                                                                  • - *

                                                                    Manage game sessions and player access -- - * Integrate this functionality into game client services in order to create new game - * sessions, retrieve information on existing game sessions; reserve a player slot - * in a game session, request matchmaking, etc.

                                                                    + *

                                                                    + * GameLift API + * operations listed by tasks + *

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Configure and manage game server resources -- - * Manage your Amazon GameLift hosting resources, including builds, scripts, fleets, queues, - * and aliases. Set up matchmakers, configure auto-scaling, retrieve game logs, and - * get hosting and game metrics.

                                                                    + *

                                                                    + * GameLift tools + * and resources + *

                                                                    *
                                                                  • *
                                                                  - *

                                                                  - * - * - * Task-based list of API actions - * - *

                                                                  */ export class GameLift extends GameLiftClient { /** @@ -542,40 +535,45 @@ export class GameLift extends GameLiftClient { /** *

                                                                  - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                                  *

                                                                  Locates an available game server and temporarily reserves it to host gameplay and - * players. This action is called by a game client or client service (such as a matchmaker) - * to request hosting resources for a new game session. In response, GameLift FleetIQ searches for an - * available game server in the specified game server group, places the game server in - * "claimed" status for 60 seconds, and returns connection information back to the - * requester so that players can connect to the game server.

                                                                  - *

                                                                  There are two ways you can claim a game server. For the first option, you provide a - * game server group ID only, which prompts GameLift FleetIQ to search for an available game server in - * the specified group and claim it. With this option, GameLift FleetIQ attempts to consolidate - * gameplay on as few instances as possible to minimize hosting costs. For the second - * option, you request a specific game server by its ID. This option results in a less - * efficient claiming process because it does not take advantage of consolidation and may - * fail if the requested game server is unavailable.

                                                                  - *

                                                                  To claim a game server, identify a game server group and (optionally) a game server - * ID. If your game requires that game data be provided to the game server at the start of - * a game, such as a game map or player information, you can provide it in your claim - * request.

                                                                  + * players. This operation is called from a game client or client service (such as a + * matchmaker) to request hosting resources for a new game session. In response, GameLift FleetIQ + * locates an available game server, places it in CLAIMED status for 60 + * seconds, and returns connection information that players can use to connect to the game + * server.

                                                                  + *

                                                                  To claim a game server, identify a game server group. You can also specify a game + * server ID, although this approach bypasses GameLift FleetIQ placement optimization. Optionally, + * include game data to pass to the game server at the start of a game session, such as a + * game map or player information.

                                                                  *

                                                                  When a game server is successfully claimed, connection information is returned. A - * claimed game server's utilization status remains AVAILABLE, while the claim status is - * set to CLAIMED for up to 60 seconds. This time period allows the game server to be - * prompted to update its status to UTILIZED (using UpdateGameServer). If - * the game server's status is not updated within 60 seconds, the game server reverts to - * unclaimed status and is available to be claimed by another request.

                                                                  + * claimed game server's utilization status remains AVAILABLE while the claim + * status is set to CLAIMED for up to 60 seconds. This time period gives the + * game server time to update its status to UTILIZED (using UpdateGameServer) once players join. If the game server's status is not + * updated within 60 seconds, the game server reverts to unclaimed status and is available + * to be claimed by another request. The claim time period is a fixed value and is not + * configurable.

                                                                  *

                                                                  If you try to claim a specific game server, this request will fail in the following - * cases: (1) if the game server utilization status is UTILIZED, (2) if the game server - * claim status is CLAIMED, or (3) if the instance that the game server is running on is - * flagged as draining.

                                                                  + * cases:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    If the game server utilization status is UTILIZED.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    If the game server claim status is CLAIMED.

                                                                    + *
                                                                  • + *
                                                                  + * + *

                                                                  When claiming a specific game server, this request will succeed even if the game + * server is running on an instance in DRAINING status. To avoid this, + * first check the instance status by calling DescribeGameServerInstances.

                                                                  + *
                                                                  *

                                                                  * Learn more *

                                                                  *

                                                                  - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                                  *

                                                                  * Related operations @@ -736,7 +734,7 @@ export class GameLift extends GameLiftClient { *

                                                                • *

                                                                  To directly upload your build files to a GameLift S3 location. To use this * option, first call CreateBuild and specify a build name and - * operating system. This action creates a new build resource and also returns an + * operating system. This operation creates a new build resource and also returns an * S3 location with temporary access credentials. Use the credentials to manually * upload your build files to the specified S3 location. For more information, * see Uploading Objects in the Amazon S3 Developer @@ -922,49 +920,45 @@ export class GameLift extends GameLiftClient { /** *

                                                                  - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. - *

                                                                  - *

                                                                  Creates a GameLift FleetIQ game server group to manage a collection of EC2 instances for game - * hosting. In addition to creating the game server group, this action also creates an Auto - * Scaling group in your AWS account and establishes a link between the two groups. You - * have full control over configuration of the Auto Scaling group, but GameLift FleetIQ routinely - * certain Auto Scaling group properties in order to optimize the group's instances for - * low-cost game hosting. You can view the status of your game server groups in the GameLift - * Console. Game server group metrics and events are emitted to Amazon CloudWatch.

                                                                  - *

                                                                  Prior creating a new game server group, you must set up the following:

                                                                  + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. + *

                                                                  + *

                                                                  Creates a GameLift FleetIQ game server group for managing game hosting on a collection of + * Amazon EC2 instances for game hosting. This operation creates the game server group, + * creates an Auto Scaling group in your AWS account, and establishes a link between the + * two groups. You can view the status of your game server groups in the GameLift console. + * Game server group metrics and events are emitted to Amazon CloudWatch.

                                                                  + *

                                                                  Before creating a new game server group, you must have the following:

                                                                  *
                                                                    *
                                                                  • - *

                                                                    An EC2 launch template. The template provides configuration settings for a set of - * EC2 instances and includes the game server build that you want to - * deploy and run on each instance. For more information on creating a launch template, - * see - * Launching an Instance from a Launch Template in the - * Amazon EC2 User Guide.

                                                                    + *

                                                                    An Amazon EC2 launch template that specifies how to launch Amazon EC2 instances + * with your game server build. For more information, see Launching an Instance from a Launch Template in the + * Amazon EC2 User Guide.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    An IAM role. The role sets up limited access to your AWS account, allowing GameLift FleetIQ to - * create and manage the EC2 Auto Scaling group, get instance data, and emit - * metrics and events to CloudWatch. For more information on setting up an IAM - * permissions policy with principal access for GameLift, see Specifying a Principal in a Policy in the Amazon S3 Developer Guide.

                                                                    + *

                                                                    An IAM role that extends limited access to your AWS account to allow GameLift FleetIQ to create and + * interact with the Auto Scaling group. For more information, see Create IAM roles for cross-service interaction in the GameLift FleetIQ Developer + * Guide.

                                                                    *
                                                                  • *
                                                                  - *

                                                                  To create a new game server group, provide a name and specify the IAM role and EC2 - * launch template. You also need to provide a list of instance types to be used in the - * group and set initial maximum and minimum limits on the group's instance count. You can - * optionally set an autoscaling policy with target tracking based on a GameLift FleetIQ metric.

                                                                  + *

                                                                  To create a new game server group, specify a unique group name, IAM role and Amazon EC2 + * launch template, and provide a list of instance types that can be used in the group. You + * must also set initial maximum and minimum limits on the group's instance count. You can + * optionally set an Auto Scaling policy with target tracking based on a GameLift FleetIQ + * metric.

                                                                  *

                                                                  Once the game server group and corresponding Auto Scaling group are created, you have - * full access to change the Auto Scaling group's configuration as needed. Keep in mind, - * however, that some properties are periodically updated by GameLift FleetIQ as it balances the - * group's instances based on availability and cost.

                                                                  + * full access to change the Auto Scaling group's configuration as needed. Several + * properties that are set when creating a game server group, including maximum/minimum + * size and auto-scaling policy settings, must be updated directly in the Auto Scaling + * group. Keep in mind that some Auto Scaling group properties are periodically updated by + * GameLift FleetIQ as part of its balancing activities to optimize for availability and + * cost.

                                                                  *

                                                                  * Learn more *

                                                                  *

                                                                  - * GameLift FleetIQ Guide - *

                                                                  - *

                                                                  - * Updating a GameLift FleetIQ-Linked Auto Scaling Group + * GameLift FleetIQ Guide *

                                                                  + * *

                                                                  * Related operations *

                                                                  @@ -1004,6 +998,11 @@ export class GameLift extends GameLiftClient { * SuspendGameServerGroup *

                                                                  *
                                                                • + *
                                                                • + *

                                                                  + * DescribeGameServerInstances + *

                                                                  + *
                                                                • *
                                                                */ public createGameServerGroup( @@ -1036,7 +1035,7 @@ export class GameLift extends GameLiftClient { } /** - *

                                                                Creates a multiplayer game session for players. This action creates a game session + *

                                                                Creates a multiplayer game session for players. This operation creates a game session * record and assigns an available server process in the specified fleet to host the game * session. A fleet must have an ACTIVE status before a game session can be * created in it.

                                                                @@ -1252,13 +1251,10 @@ export class GameLift extends GameLiftClient { * configuration name; a rule set that governs how to evaluate players and find acceptable * matches; a game session queue to use when placing a new game session for the match; and * the maximum time allowed for a matchmaking attempt.

                                                                - *

                                                                There are two ways to track the progress of matchmaking tickets: (1) polling ticket - * status with DescribeMatchmaking; or (2) receiving notifications with - * Amazon Simple Notification Service (SNS). To use notifications, you first need to set up an SNS topic to receive the - * notifications, and provide the topic ARN in the matchmaking configuration. Since - * notifications promise only "best effort" delivery, we recommend calling - * DescribeMatchmaking if no notifications are received within 30 - * seconds.

                                                                + *

                                                                To track the progress of matchmaking tickets, set up an Amazon Simple Notification Service (SNS) to receive + * notifications, and provide the topic ARN in the matchmaking configuration. An + * alternative method, continuously poling ticket status with DescribeMatchmaking, should only be used for games in development with + * low matchmaking usage.

                                                                *

                                                                * Learn more *

                                                                @@ -1267,8 +1263,8 @@ export class GameLift extends GameLiftClient { * Design a FlexMatch Matchmaker *

                                                                *

                                                                - * Setting up - * Notifications for Matchmaking + * + * Set Up FlexMatch Event Notification *

                                                                *

                                                                * Related operations @@ -1875,7 +1871,7 @@ export class GameLift extends GameLiftClient { } /** - *

                                                                Deletes an alias. This action removes all record of the alias. Game clients + *

                                                                Deletes an alias. This operation removes all record of the alias. Game clients * attempting to access a server process using the deleted alias receive an error. To * delete an alias, specify the alias ID to be deleted.

                                                                *
                                                                  @@ -1935,7 +1931,7 @@ export class GameLift extends GameLiftClient { } /** - *

                                                                  Deletes a build. This action permanently deletes the build resource and any uploaded + *

                                                                  Deletes a build. This operation permanently deletes the build resource and any uploaded * build files. Deleting a build does not affect the status of any active fleets using the * build, but you can no longer create new fleets with the deleted build.

                                                                  *

                                                                  To delete a build, specify the build ID.

                                                                  @@ -2007,7 +2003,7 @@ export class GameLift extends GameLiftClient { * valid authorization (good for 24 hours) by calling CreateVpcPeeringAuthorization. * You do not need to explicitly delete the VPC peering connection--this is done as part of the * delete fleet process.

                                                                  - *

                                                                  This action removes the fleet and its resources. Once a fleet is deleted, you can no + *

                                                                  This operation removes the fleet and its resources. Once a fleet is deleted, you can no * longer use any of the resource in that fleet.

                                                                  *

                                                                  * Learn more @@ -2076,27 +2072,38 @@ export class GameLift extends GameLiftClient { /** *

                                                                  - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                                  *

                                                                  Terminates a game server group and permanently deletes the game server group record. * You have several options for how these resources are impacted when deleting the game - * server group. Depending on the type of delete action selected, this action may affect - * three types of resources: the game server group, the corresponding Auto Scaling group, - * and all game servers currently running in the group.

                                                                  + * server group. Depending on the type of delete operation selected, this operation might + * affect these resources:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    The game server group

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    The corresponding Auto Scaling group

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    All game servers that are currently running in the group

                                                                    + *
                                                                  • + *
                                                                  *

                                                                  To delete a game server group, identify the game server group to delete and specify - * the type of delete action to initiate. Game server groups can only be deleted if they - * are in ACTIVE or ERROR status.

                                                                  - *

                                                                  If the delete request is successful, a series of actions are kicked off. The game - * server group status is changed to DELETE_SCHEDULED, which prevents new game servers from - * being registered and stops autoscaling activity. Once all game servers in the game - * server group are de-registered, GameLift FleetIQ can begin deleting resources. If any of the delete - * actions fail, the game server group is placed in ERROR status.

                                                                  + * the type of delete operation to initiate. Game server groups can only be deleted if they + * are in ACTIVE or ERROR status.

                                                                  + *

                                                                  If the delete request is successful, a series of operations are kicked off. The game + * server group status is changed to DELETE_SCHEDULED, which prevents new game + * servers from being registered and stops automatic scaling activity. Once all game + * servers in the game server group are deregistered, GameLift FleetIQ can begin deleting resources. + * If any of the delete operations fail, the game server group is placed in + * ERROR status.

                                                                  *

                                                                  GameLift FleetIQ emits delete events to Amazon CloudWatch.

                                                                  *

                                                                  * Learn more *

                                                                  *

                                                                  - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                                  *

                                                                  * Related operations @@ -2137,6 +2144,11 @@ export class GameLift extends GameLiftClient { * SuspendGameServerGroup *

                                                                  * + *
                                                                • + *

                                                                  + * DescribeGameServerInstances + *

                                                                  + *
                                                                • *
                                                                */ public deleteGameServerGroup( @@ -2169,7 +2181,7 @@ export class GameLift extends GameLiftClient { } /** - *

                                                                Deletes a game session queue. This action means that any StartGameSessionPlacement requests that reference this queue will fail. + *

                                                                Deletes a game session queue. Once a queue is successfully deleted, unfulfilled StartGameSessionPlacement requests that reference the queue will fail. * To delete a queue, specify the queue name.

                                                                *

                                                                * Learn more @@ -2403,8 +2415,8 @@ export class GameLift extends GameLiftClient { } /** - *

                                                                Deletes a fleet scaling policy. This action means that the policy is no longer in - * force and removes all record of it. To delete a scaling policy, specify both the scaling + *

                                                                Deletes a fleet scaling policy. Once deleted, the policy is no longer in + * force and GameLift removes all record of it. To delete a scaling policy, specify both the scaling * policy name and the fleet ID it is associated with.

                                                                *

                                                                To temporarily suspend scaling policies, call StopFleetActions. * This operation suspends all policies for the fleet.

                                                                @@ -2488,7 +2500,7 @@ export class GameLift extends GameLiftClient { } /** - *

                                                                Deletes a Realtime script. This action permanently deletes the script record. If + *

                                                                Deletes a Realtime script. This operation permanently deletes the script record. If * script files were uploaded, they are also deleted (files stored in an S3 bucket are not * deleted).

                                                                *

                                                                To delete a script, specify the script ID. Before deleting a script, be sure to @@ -2695,19 +2707,19 @@ export class GameLift extends GameLiftClient { /** *

                                                                - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                                - *

                                                                Removes the game server resource from the game server group. As a result of this - * action, the de-registered game server can no longer be claimed and will not returned in - * a list of active game servers.

                                                                - *

                                                                To de-register a game server, specify the game server group and game server ID. If - * successful, this action emits a CloudWatch event with termination time stamp and + *

                                                                Removes the game server from a game server group. As a result of this operation, the + * deregistered game server can no longer be claimed and will not be returned in a list of + * active game servers.

                                                                + *

                                                                To deregister a game server, specify the game server group and game server ID. If + * successful, this operation emits a CloudWatch event with termination timestamp and * reason.

                                                                *

                                                                * Learn more *

                                                                *

                                                                - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                                *

                                                                * Related operations @@ -3003,7 +3015,7 @@ export class GameLift extends GameLiftClient { * set of sequential pages. If successful, a FleetAttributes object is * returned for each fleet requested, unless the fleet identifier is not found.

                                                                * - *

                                                                Some API actions may limit the number of fleet IDs allowed in one request. If a + *

                                                                Some API operations may limit the number of fleet IDs allowed in one request. If a * request exceeds this limit, the request fails and the error message includes the * maximum allowed number.

                                                                *
                                                                @@ -3123,7 +3135,7 @@ export class GameLift extends GameLiftClient { * object is returned for each requested fleet ID. When a list of fleet IDs is provided, * attribute objects are returned only for fleets that currently exist.

                                                                * - *

                                                                Some API actions may limit the number of fleet IDs allowed in one request. If a + *

                                                                Some API operations may limit the number of fleet IDs allowed in one request. If a * request exceeds this limit, the request fails and the error message includes the * maximum allowed.

                                                                *
                                                                @@ -3471,7 +3483,7 @@ export class GameLift extends GameLiftClient { * results as a set of sequential pages. If successful, a FleetUtilization object is returned for each requested fleet ID, unless the fleet identifier is not * found.

                                                                * - *

                                                                Some API actions may limit the number of fleet IDs allowed in one request. If a + *

                                                                Some API operations may limit the number of fleet IDs allowed in one request. If a * request exceeds this limit, the request fails and the error message includes the * maximum allowed.

                                                                *
                                                                @@ -3586,17 +3598,17 @@ export class GameLift extends GameLiftClient { /** *

                                                                - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                                - *

                                                                Retrieves information for a game server resource. Information includes the game server - * statuses, health check info, and the instance the game server is running on.

                                                                + *

                                                                Retrieves information for a registered game server. Information includes game server + * status, health check info, and the instance that the game server is running on.

                                                                *

                                                                To retrieve game server information, specify the game server ID. If successful, the * requested game server object is returned.

                                                                *

                                                                * Learn more *

                                                                *

                                                                - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                                *

                                                                * Related operations @@ -3665,16 +3677,19 @@ export class GameLift extends GameLiftClient { /** *

                                                                - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                                - *

                                                                Retrieves information on a game server group.

                                                                + *

                                                                Retrieves information on a game server group. This operation returns only properties + * related to GameLift FleetIQ. To view or update properties for the corresponding Auto Scaling group, + * such as launch template, auto scaling policies, and maximum/minimum group size, access + * the Auto Scaling group directly.

                                                                *

                                                                To get attributes for a game server group, provide a group name or ARN value. If * successful, a GameServerGroup object is returned.

                                                                *

                                                                * Learn more *

                                                                *

                                                                - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                                *

                                                                * Related operations @@ -3715,6 +3730,11 @@ export class GameLift extends GameLiftClient { * SuspendGameServerGroup *

                                                                * + *
                                                              • + *

                                                                + * DescribeGameServerInstances + *

                                                                + *
                                                              • *
                                                              */ public describeGameServerGroup( @@ -3746,9 +3766,110 @@ export class GameLift extends GameLiftClient { } } + /** + *

                                                              + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. + *

                                                              + *

                                                              Retrieves status information about the Amazon EC2 instances associated with a GameLift FleetIQ + * game server group. Use this operation to detect when instances are active or not + * available to host new game servers. If you are looking for instance configuration + * information, call DescribeGameServerGroup or access the corresponding + * Auto Scaling group properties.

                                                              + *

                                                              To request status for all instances in the game server group, provide a game server + * group ID only. To request status for specific instances, provide the game server group + * ID and one or more instance IDs. Use the pagination parameters to retrieve results in + * sequential segments. If successful, a collection of GameServerInstance + * objects is returned. + * + *

                                                              + *

                                                              This operation is not designed to be called with every game server claim request; this + * practice can cause you to exceed your API limit, which results in errors. Instead, as a + * best practice, cache the results and refresh your cache no more than once every 10 + * seconds.

                                                              + *

                                                              + * Learn more + *

                                                              + *

                                                              + * GameLift FleetIQ Guide + *

                                                              + *

                                                              + * Related operations + *

                                                              + * + */ + public describeGameServerInstances( + args: DescribeGameServerInstancesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeGameServerInstances( + args: DescribeGameServerInstancesCommandInput, + cb: (err: any, data?: DescribeGameServerInstancesCommandOutput) => void + ): void; + public describeGameServerInstances( + args: DescribeGameServerInstancesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeGameServerInstancesCommandOutput) => void + ): void; + public describeGameServerInstances( + args: DescribeGameServerInstancesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeGameServerInstancesCommandOutput) => void), + cb?: (err: any, data?: DescribeGameServerInstancesCommandOutput) => void + ): Promise | void { + const command = new DescribeGameServerInstancesCommand(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 properties, including the protection policy in force, for one or more - * game sessions. This action can be used in several ways: (1) provide a + * game sessions. This operation can be used in several ways: (1) provide a * GameSessionId or GameSessionArn to request details for a * specific game session; (2) provide either a FleetId or an * AliasId to request properties for all game sessions running on a fleet.

                                                              @@ -4088,7 +4209,7 @@ export class GameLift extends GameLiftClient { /** *

                                                              Retrieves information about a fleet's instances, including instance IDs. Use this - * action to get details on all instances in the fleet or get details on one specific + * operation to get details on all instances in the fleet or get details on one specific * instance.

                                                              *

                                                              To get a specific instance, specify fleet ID and instance ID. To get all instances * in a fleet, specify a fleet ID only. Use the pagination parameters to retrieve results @@ -4150,14 +4271,18 @@ export class GameLift extends GameLiftClient { /** *

                                                              Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket - * information, including status and--once a successful match is made--acquire connection - * information for the resulting new game session.

                                                              - *

                                                              You can use this operation to track the progress of matchmaking requests (through - * polling) as an alternative to using event notifications. See more details on tracking - * matchmaking requests through polling or notifications in StartMatchmaking.

                                                              + * information, including--after a successful match is made--connection information for the + * resulting new game session.

                                                              *

                                                              To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the * request is successful, a ticket object is returned for each requested ID that currently * exists.

                                                              + *

                                                              This operation is not designed to be continually called to track matchmaking ticket + * status. This practice can cause you to exceed your API limit, which results in errors. + * Instead, as a best practice, set up an Amazon Simple Notification Service (SNS) to receive notifications, and provide + * the topic ARN in the matchmaking configuration. Continuously poling ticket status with + * DescribeMatchmaking should only be used for games in development + * with low matchmaking usage.

                                                              + *

                                                              *

                                                              * Learn more *

                                                              @@ -4231,13 +4356,13 @@ export class GameLift extends GameLiftClient { } /** - *

                                                              Retrieves the details of FlexMatch matchmaking configurations. With this operation, you - * have the following options: (1) retrieve all existing configurations, (2) provide the - * names of one or more configurations to retrieve, or (3) retrieve all configurations that - * use a specified rule set name. When requesting multiple items, use the pagination - * parameters to retrieve results as a set of sequential pages. If successful, a - * configuration is returned for each requested name. When specifying a list of names, only - * configurations that currently exist are returned.

                                                              + *

                                                              Retrieves the details of FlexMatch matchmaking configurations.

                                                              + *

                                                              This operation offers the following options: (1) retrieve all matchmaking + * configurations, (2) retrieve configurations for a specified list, or (3) retrieve all + * configurations that use a specified rule set name. When requesting multiple items, use + * the pagination parameters to retrieve results as a set of sequential pages.

                                                              + *

                                                              If successful, a configuration is returned for each requested name. When specifying a + * list of names, only configurations that currently exist are returned.

                                                              *

                                                              * Learn more *

                                                              @@ -4412,7 +4537,7 @@ export class GameLift extends GameLiftClient { } /** - *

                                                              Retrieves properties for one or more player sessions. This action can be used in + *

                                                              Retrieves properties for one or more player sessions. This operation can be used in * several ways: (1) provide a PlayerSessionId to request properties for a * specific player session; (2) provide a GameSessionId to request properties * for all player sessions in the specified game session; (3) provide a @@ -4614,7 +4739,7 @@ export class GameLift extends GameLiftClient { * request by policy status, such as to retrieve only active scaling policies. Use the * pagination parameters to retrieve results as a set of sequential pages. If successful, * set of ScalingPolicy objects is returned for the fleet.

                                                              - *

                                                              A fleet may have all of its scaling policies suspended (StopFleetActions). This action does not affect the status of the scaling + *

                                                              A fleet may have all of its scaling policies suspended (StopFleetActions). This operation does not affect the status of the scaling * policies, which remains ACTIVE. To see whether a fleet's scaling policies are in force * or suspended, call DescribeFleetAttributes and check the stopped * actions.

                                                              @@ -5004,7 +5129,7 @@ export class GameLift extends GameLiftClient { * The private key must be saved in the proper format to a .pem file before * using. If you're making this request using the AWS CLI, saving the secret can be handled * as part of the GetInstanceAccess request, as shown in one of the examples for this - * action.

                                                              + * operation.

                                                              *

                                                              To request access to a specific instance, specify the IDs of both the instance and the * fleet it belongs to. You can retrieve a fleet's instance IDs by calling DescribeInstances. If successful, an InstanceAccess * object is returned that contains the instance's IP address and a set of @@ -5271,16 +5396,16 @@ export class GameLift extends GameLiftClient { /** *

                                                              - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                              - *

                                                              Retrieves information on all game servers groups that exist in the current AWS account - * for the selected region. Use the pagination parameters to retrieve results in a set of - * sequential pages.

                                                              + *

                                                              Retrieves information on all game servers groups that exist in the current AWS + * account for the selected Region. Use the pagination parameters to retrieve results in a + * set of sequential segments.

                                                              *

                                                              * Learn more *

                                                              *

                                                              - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                              *

                                                              * Related operations @@ -5321,6 +5446,11 @@ export class GameLift extends GameLiftClient { * SuspendGameServerGroup *

                                                              * + *
                                                            • + *

                                                              + * DescribeGameServerInstances + *

                                                              + *
                                                            • *
                                                            */ public listGameServerGroups( @@ -5354,17 +5484,16 @@ export class GameLift extends GameLiftClient { /** *

                                                            - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                            - *

                                                            Retrieves information on all game servers that are currently running in a specified - * game server group. If there are custom key sort values for your game servers, you can - * opt to have the returned list sorted based on these values. Use the pagination - * parameters to retrieve results in a set of sequential pages.

                                                            + *

                                                            Retrieves information on all game servers that are currently active in a specified + * game server group. You can opt to sort the list by game server age. Use the + * pagination parameters to retrieve results in a set of sequential segments.

                                                            *

                                                            * Learn more *

                                                            *

                                                            - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                            *

                                                            * Related operations @@ -5497,7 +5626,7 @@ export class GameLift extends GameLiftClient { *

                                                            * Retrieves all tags that are assigned to a GameLift resource. * Resource tags are used to organize AWS resources for a range of purposes. - * This action handles the permissions necessary to manage tags for the following + * This operation handles the permissions necessary to manage tags for the following * GameLift resource types:

                                                            *
                                                              *
                                                            • @@ -5729,26 +5858,27 @@ export class GameLift extends GameLiftClient { /** *

                                                              - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                              - *

                                                              Creates a new game server resource and notifies GameLift FleetIQ that the game server is ready - * to host gameplay and players. This action is called by a game server process that is + *

                                                              Creates a new game server resource and notifies GameLift FleetIQ that the game server is ready to + * host gameplay and players. This operation is called by a game server process that is * running on an instance in a game server group. Registering game servers enables GameLift FleetIQ to * track available game servers and enables game clients and services to claim a game * server for a new game session.

                                                              *

                                                              To register a game server, identify the game server group and instance where the game * server is running, and provide a unique identifier for the game server. You can also - * include connection and game server data; when a game client or service requests a game - * server by calling ClaimGameServer, this information is returned in + * include connection and game server data. When a game client or service requests a game + * server by calling ClaimGameServer, this information is returned in the * response.

                                                              - *

                                                              Once a game server is successfully registered, it is put in status AVAILABLE. A - * request to register a game server may fail if the instance it is in the process of - * shutting down as part of instance rebalancing or scale-down activity.

                                                              + *

                                                              Once a game server is successfully registered, it is put in status + * AVAILABLE. A request to register a game server may fail if the instance + * it is running on is in the process of shutting down as part of instance balancing or + * scale-down activity.

                                                              *

                                                              * Learn more *

                                                              *

                                                              - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                              *

                                                              * Related operations @@ -5952,20 +6082,22 @@ export class GameLift extends GameLiftClient { /** *

                                                              - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                              *

                                                              Reinstates activity on a game server group after it has been suspended. A game server - * group may be suspended by calling SuspendGameServerGroup, or it may - * have been involuntarily suspended due to a configuration problem. You can manually - * resume activity on the group once the configuration problem has been resolved. Refer to - * the game server group status and status reason for more information on why group - * activity is suspended.

                                                              - *

                                                              To resume activity, specify a game server group ARN and the type of activity to be resumed.

                                                              + * group might be suspended by theSuspendGameServerGroup operation, or it + * might be suspended involuntarily due to a configuration problem. In the second case, you + * can manually resume activity on the group once the configuration problem has been + * resolved. Refer to the game server group status and status reason for more information + * on why group activity is suspended.

                                                              + *

                                                              To resume activity, specify a game server group ARN and the type of activity to be + * resumed. If successful, a GameServerGroup object is returned showing + * that the resumed activity is no longer listed in SuspendedActions.

                                                              *

                                                              * Learn more *

                                                              *

                                                              - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                              *

                                                              * Related operations @@ -6006,6 +6138,11 @@ export class GameLift extends GameLiftClient { * SuspendGameServerGroup *

                                                              *
                                                            • + *
                                                            • + *

                                                              + * DescribeGameServerInstances + *

                                                              + *
                                                            • *
                                                            */ public resumeGameServerGroup( @@ -6491,31 +6628,14 @@ export class GameLift extends GameLiftClient { * finds additional players as needed to fill the match. Match type, rules, and the queue * used to place a new game session are defined in a MatchmakingConfiguration. *

                                                            - *

                                                            To start matchmaking, provide a unique ticket ID, specify a matchmaking - * configuration, and include the players to be matched. You must also include a set of - * player attributes relevant for the matchmaking configuration. If successful, a - * matchmaking ticket is returned with status set to QUEUED. Track the status - * of the ticket to respond as needed and acquire game session connection information for - * successfully completed matches.

                                                            - *

                                                            - * Tracking ticket status -- A couple of options are - * available for tracking the status of matchmaking requests:

                                                            - *
                                                              - *
                                                            • - *

                                                              Polling -- Call DescribeMatchmaking. This operation returns - * the full ticket object, including current status and (for completed tickets) - * game session connection info. We recommend polling no more than once every 10 - * seconds.

                                                              - *
                                                            • - *
                                                            • - *

                                                              Notifications -- Get event notifications for changes in ticket status using - * Amazon Simple Notification Service (SNS). Notifications are easy to set up (see CreateMatchmakingConfiguration) and typically deliver match - * status changes faster and more efficiently than polling. We recommend that you - * use polling to back up to notifications (since delivery is not guaranteed) and - * call DescribeMatchmaking only when notifications are not received - * within 30 seconds.

                                                              - *
                                                            • - *
                                                            + *

                                                            To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, + * and include the players to be matched. You must also include a set of player attributes + * relevant for the matchmaking configuration. If successful, a matchmaking ticket is + * returned with status set to QUEUED.

                                                            + *

                                                            Track the status of the ticket to respond as needed and acquire game session + * connection information for successfully completed matches. Ticket status updates are + * tracked using event notification through Amazon Simple Notification Service (SNS), which is defined in the matchmaking + * configuration.

                                                            *

                                                            * Processing a matchmaking request -- FlexMatch * handles a matchmaking request as follows:

                                                            @@ -6804,7 +6924,7 @@ export class GameLift extends GameLiftClient { * automatic backfill enabled. The ticket ID is included in the MatchmakerData * of an updated game session object, which is provided to the game server.

                                                            * - *

                                                            If the action is successful, the service sends back an empty JSON struct with the HTTP 200 response + *

                                                            If the operation is successful, the service sends back an empty JSON struct with the HTTP 200 response * (not an empty HTTP body).

                                                            *
                                                            *

                                                            @@ -6876,28 +6996,32 @@ export class GameLift extends GameLiftClient { /** *

                                                            - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                            *

                                                            Temporarily stops activity on a game server group without terminating instances or the - * game server group. Activity can be restarted by calling ResumeGameServerGroup. Activities that can suspended are:

                                                            + * game server group. You can restart activity by calling ResumeGameServerGroup. You can suspend the following activity:

                                                            *
                                                              *
                                                            • - *

                                                              Instance type replacement. This activity evaluates the current Spot viability - * of all instance types that are defined for the game server group. It updates the - * Auto Scaling group to remove nonviable Spot instance types (which have a higher - * chance of game server interruptions) and rebalances capacity across the - * remaining viable Spot instance types. When this activity is suspended, the Auto - * Scaling group continues with its current balance, regardless of viability. - * Instance protection, utilization metrics, and capacity autoscaling activities - * continue to be active.

                                                              + *

                                                              + * Instance type replacement - This activity + * evaluates the current game hosting viability of all Spot instance types that are + * defined for the game server group. It updates the Auto Scaling group to remove + * nonviable Spot Instance types, which have a higher chance of game server + * interruptions. It then balances capacity across the remaining viable Spot + * Instance types. When this activity is suspended, the Auto Scaling group + * continues with its current balance, regardless of viability. Instance + * protection, utilization metrics, and capacity scaling activities continue to be + * active.

                                                              *
                                                            • *
                                                            - *

                                                            To suspend activity, specify a game server group ARN and the type of activity to be suspended.

                                                            + *

                                                            To suspend activity, specify a game server group ARN and the type of activity to be + * suspended. If successful, a GameServerGroup object is returned showing + * that the activity is listed in SuspendedActions.

                                                            *

                                                            * Learn more *

                                                            *

                                                            - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                            *

                                                            * Related operations @@ -6938,6 +7062,11 @@ export class GameLift extends GameLiftClient { * SuspendGameServerGroup *

                                                            * + *
                                                          • + *

                                                            + * DescribeGameServerInstances + *

                                                            + *
                                                          • *
                                                          */ public suspendGameServerGroup( @@ -6973,7 +7102,7 @@ export class GameLift extends GameLiftClient { *

                                                          Assigns a tag to a GameLift resource. AWS resource tags provide an additional * management tool set. You can use tags to organize resources, create IAM permissions * policies to manage access to groups of resources, customize AWS cost breakdowns, etc. - * This action handles the permissions necessary to manage tags for the following GameLift + * This operation handles the permissions necessary to manage tags for the following GameLift * resource types:

                                                          *
                                                            *
                                                          • @@ -7059,7 +7188,7 @@ export class GameLift extends GameLiftClient { /** *

                                                            Removes a tag that is assigned to a GameLift resource. * Resource tags are used to organize AWS resources for a range of purposes. - * This action handles the permissions necessary to manage tags for the following + * This operation handles the permissions necessary to manage tags for the following * GameLift resource types:

                                                            *
                                                              *
                                                            • @@ -7086,7 +7215,7 @@ export class GameLift extends GameLiftClient { *
                                                            *

                                                            To remove a tag from a resource, specify the unique ARN value for the resource and provide * a string list containing one or more tags to be removed. - * This action succeeds even if the list includes tags that are not currently assigned to the + * This operation succeeds even if the list includes tags that are not currently assigned to the * specified resource.

                                                            *

                                                            * Learn more @@ -7371,8 +7500,8 @@ export class GameLift extends GameLiftClient { } /** - *

                                                            Updates capacity settings for a fleet. Use this action to specify the number of - * EC2 instances (hosts) that you want this fleet to contain. Before calling this action, + *

                                                            Updates capacity settings for a fleet. Use this operation to specify the number of + * EC2 instances (hosts) that you want this fleet to contain. Before calling this operation, * you may want to call DescribeEC2InstanceLimits to get the maximum * capacity based on the fleet's EC2 instance type.

                                                            *

                                                            Specify minimum and maximum number of instances. Amazon GameLift will not change fleet @@ -7576,33 +7705,30 @@ export class GameLift extends GameLiftClient { /** *

                                                            - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. - *

                                                            - *

                                                            Updates information about a registered game server. This action is called by a game - * server process that is running on an instance in a game server group. There are three - * reasons to update game server information: (1) to change the utilization status of the - * game server, (2) to report game server health status, and (3) to change game server - * metadata. A registered game server should regularly report health and should update - * utilization status when it is supporting gameplay so that GameLift FleetIQ can accurately track - * game server availability. You can make all three types of updates in the same - * request.

                                                            + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. + *

                                                            + *

                                                            Updates information about a registered game server to help GameLift FleetIQ to track game server + * availability. This operation is called by a game server process that is running on an + * instance in a game server group.

                                                            + *

                                                            Use this operation to update the following types of game server information. You can + * make all three types of updates in the same request:

                                                            *
                                                              *
                                                            • *

                                                              To update the game server's utilization status, identify the game server and game server group * and specify the current utilization status. Use this status to identify when * game servers are currently hosting games and when they are available to be - * claimed.

                                                              + * claimed.

                                                              *
                                                            • *
                                                            • *

                                                              To report health status, identify the game server and game server group and set health check - * to HEALTHY. If a game server does not report health status for a certain length - * of time, the game server is no longer considered healthy and will be eventually - * de-registered from the game server group to avoid affecting utilization metrics. - * The best practice is to report health every 60 seconds.

                                                              + * to HEALTHY. If a game server does not report health status for a + * certain length of time, the game server is no longer considered healthy. As a + * result, it will be eventually deregistered from the game server group to avoid + * affecting utilization metrics. The best practice is to report health every 60 + * seconds.

                                                              *
                                                            • *
                                                            • - *

                                                              To change game server metadata, provide updated game server data and custom sort key - * values.

                                                              + *

                                                              To change game server metadata, provide updated game server data.

                                                              *
                                                            • *
                                                            *

                                                            Once a game server is successfully updated, the relevant statuses and timestamps are updated.

                                                            @@ -7610,7 +7736,7 @@ export class GameLift extends GameLiftClient { * Learn more *

                                                            *

                                                            - * GameLift FleetIQ Guide + * GameLift FleetIQ Guide *

                                                            *

                                                            * Related operations @@ -7679,26 +7805,21 @@ export class GameLift extends GameLiftClient { /** *

                                                            - * This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This operation is used with the Amazon GameLift FleetIQ solution and game server groups. *

                                                            - *

                                                            Updates GameLift FleetIQ-specific properties for a game server group. These properties include - * instance rebalancing and game server protection. Many Auto Scaling - * group properties are updated directly. These include autoscaling policies, - * minimum/maximum/desired instance counts, and launch template.

                                                            + *

                                                            Updates GameLift FleetIQ-specific properties for a game server group. Many Auto Scaling group + * properties are updated on the Auto Scaling group directly, including the launch + * template, Auto Scaling policies, and maximum/minimum/desired instance counts.

                                                            *

                                                            To update the game server group, specify the game server group ID and provide the - * updated values.

                                                            - *

                                                            Updated properties are validated to ensure that GameLift FleetIQ can continue to perform - * its core instance rebalancing activity. When you change Auto Scaling group properties directly and - * the changes cause errors with GameLift FleetIQ activities, an alert is sent.

                                                            + * updated values. Before applying the updates, the new values are validated to ensure that + * GameLift FleetIQ can continue to perform instance balancing activity. If successful, a GameServerGroup object is returned.

                                                            *

                                                            * Learn more *

                                                            *

                                                            - * GameLift FleetIQ Guide - *

                                                            - *

                                                            - * Updating a GameLift FleetIQ-Linked Auto Scaling Group + * GameLift FleetIQ Guide *

                                                            + * *

                                                            * Related operations *

                                                            @@ -7738,6 +7859,11 @@ export class GameLift extends GameLiftClient { * SuspendGameServerGroup *

                                                            *
                                                          • + *
                                                          • + *

                                                            + * DescribeGameServerInstances + *

                                                            + *
                                                          • *
                                                          */ public updateGameServerGroup( diff --git a/clients/client-gamelift/GameLiftClient.ts b/clients/client-gamelift/GameLiftClient.ts index e9c0071a17cd..a23fd7a0d901 100644 --- a/clients/client-gamelift/GameLiftClient.ts +++ b/clients/client-gamelift/GameLiftClient.ts @@ -104,6 +104,10 @@ import { DescribeGameServerGroupCommandInput, DescribeGameServerGroupCommandOutput, } from "./commands/DescribeGameServerGroupCommand"; +import { + DescribeGameServerInstancesCommandInput, + DescribeGameServerInstancesCommandOutput, +} from "./commands/DescribeGameServerInstancesCommand"; import { DescribeGameSessionDetailsCommandInput, DescribeGameSessionDetailsCommandOutput, @@ -327,6 +331,7 @@ export type ServiceInputTypes = | DescribeFleetUtilizationCommandInput | DescribeGameServerCommandInput | DescribeGameServerGroupCommandInput + | DescribeGameServerInstancesCommandInput | DescribeGameSessionDetailsCommandInput | DescribeGameSessionPlacementCommandInput | DescribeGameSessionQueuesCommandInput @@ -418,6 +423,7 @@ export type ServiceOutputTypes = | DescribeFleetUtilizationCommandOutput | DescribeGameServerCommandOutput | DescribeGameServerGroupCommandOutput + | DescribeGameServerInstancesCommandOutput | DescribeGameSessionDetailsCommandOutput | DescribeGameSessionPlacementCommandOutput | DescribeGameSessionQueuesCommandOutput @@ -585,68 +591,56 @@ export type GameLiftClientResolvedConfig = __SmithyResolvedConfiguration<__HttpH /** * Amazon GameLift Service - *

                                                          Amazon GameLift provides a range of multiplayer game hosting solutions. As a fully managed - * service, GameLift helps you:

                                                          + *

                                                          GameLift provides solutions for hosting session-based multiplayer game servers in the + * cloud, including tools for deploying, operating, and scaling game servers. Built on AWS + * global computing infrastructure, GameLift helps you deliver high-performance, + * high-reliability, low-cost game servers while dynamically scaling your resource usage to + * meet player demand.

                                                          + *

                                                          + * About GameLift solutions + *

                                                          + *

                                                          Get more information on these GameLift solutions in the Amazon GameLift Developer Guide.

                                                          *
                                                            *
                                                          • - *

                                                            Set up EC2-based computing resources and use GameLift FleetIQ to and deploy your game - * servers on low-cost, reliable Spot instances.

                                                            + *

                                                            Managed GameLift -- GameLift offers a + * fully managed service to set up and maintain computing machines for + * hosting, manage game session and player session life cycle, and handle + * security, storage, and performance tracking. You can use automatic + * scaling tools to balance hosting costs against meeting player demand., + * configure your game session management to minimize player latency, or + * add FlexMatch for matchmaking.

                                                            *
                                                          • *
                                                          • - *

                                                            Track game server availability and route players into game sessions to minimize latency.

                                                            + *

                                                            Managed GameLift with Realtime Servers – With GameLift Realtime Servers, you can quickly configure and set up game + * servers for your game. Realtime Servers provides a game server framework with core Amazon GameLift + * infrastructure already built in.

                                                            *
                                                          • *
                                                          • - *

                                                            Automatically scale your resources to meet player demand and manage costs

                                                            - *
                                                          • - *
                                                          • - *

                                                            Optionally add FlexMatch matchmaking.

                                                            + *

                                                            GameLift FleetIQ – Use GameLift FleetIQ as a standalone feature while managing your own EC2 instances and Auto + * Scaling groups for game hosting. GameLift FleetIQ provides optimizations that make low-cost + * Spot Instances viable for game hosting.

                                                            *
                                                          • *
                                                          - * - *

                                                          With GameLift as a managed service, you have the option to deploy your custom game - * server or use Amazon GameLift Realtime Servers to quickly stand up lightweight game servers for your game. - * Realtime Servers provides an efficient game server framework with core Amazon GameLift infrastructure - * already built in.

                                                          - * *

                                                          - * Now in Public Preview: + * About this API Reference *

                                                          - *

                                                          Use GameLift FleetIQ as a standalone feature with EC2 instances and Auto Scaling groups. GameLift FleetIQ - * provides optimizations that make low-cost Spot instances viable for game hosting. This - * extension of GameLift FleetIQ gives you access to these optimizations while managing your EC2 - * instances and Auto Scaling groups within your own AWS account.

                                                          - * - *

                                                          - * Get Amazon GameLift Tools and Resources - *

                                                          - *

                                                          This reference guide describes the low-level service API for Amazon GameLift and provides links to - * language-specific SDK reference topics. See also - * - * Amazon GameLift Tools and Resources.

                                                          - *

                                                          - * API Summary - *

                                                          - *

                                                          The Amazon GameLift service API includes two key sets of actions:

                                                          + *

                                                          This reference guide describes the low-level service API for Amazon GameLift. You can find + * links to language-specific SDK guides and the AWS CLI reference with each operation and + * data type topic. Useful links:

                                                          *
                                                            *
                                                          • - *

                                                            Manage game sessions and player access -- - * Integrate this functionality into game client services in order to create new game - * sessions, retrieve information on existing game sessions; reserve a player slot - * in a game session, request matchmaking, etc.

                                                            + *

                                                            + * GameLift API + * operations listed by tasks + *

                                                            *
                                                          • *
                                                          • - *

                                                            Configure and manage game server resources -- - * Manage your Amazon GameLift hosting resources, including builds, scripts, fleets, queues, - * and aliases. Set up matchmakers, configure auto-scaling, retrieve game logs, and - * get hosting and game metrics.

                                                            + *

                                                            + * GameLift tools + * and resources + *

                                                            *
                                                          • *
                                                          - *

                                                          - * - * - * Task-based list of API actions - * - *

                                                          */ export class GameLiftClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-gamelift/commands/DescribeGameServerInstancesCommand.ts b/clients/client-gamelift/commands/DescribeGameServerInstancesCommand.ts new file mode 100644 index 000000000000..a51a51ed001a --- /dev/null +++ b/clients/client-gamelift/commands/DescribeGameServerInstancesCommand.ts @@ -0,0 +1,73 @@ +import { GameLiftClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GameLiftClient"; +import { DescribeGameServerInstancesInput, DescribeGameServerInstancesOutput } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeGameServerInstancesCommand, + serializeAws_json1_1DescribeGameServerInstancesCommand, +} 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 DescribeGameServerInstancesCommandInput = DescribeGameServerInstancesInput; +export type DescribeGameServerInstancesCommandOutput = DescribeGameServerInstancesOutput & __MetadataBearer; + +export class DescribeGameServerInstancesCommand extends $Command< + DescribeGameServerInstancesCommandInput, + DescribeGameServerInstancesCommandOutput, + GameLiftClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeGameServerInstancesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GameLiftClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeGameServerInstancesInput.filterSensitiveLog, + outputFilterSensitiveLog: DescribeGameServerInstancesOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeGameServerInstancesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeGameServerInstancesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeGameServerInstancesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-gamelift/index.ts b/clients/client-gamelift/index.ts index e8a0e32af3e3..41831963c923 100644 --- a/clients/client-gamelift/index.ts +++ b/clients/client-gamelift/index.ts @@ -31,34 +31,54 @@ export * from "./commands/DescribeAliasCommand"; export * from "./commands/DescribeBuildCommand"; export * from "./commands/DescribeEC2InstanceLimitsCommand"; export * from "./commands/DescribeFleetAttributesCommand"; +export * from "./pagination/DescribeFleetAttributesPaginator"; export * from "./commands/DescribeFleetCapacityCommand"; +export * from "./pagination/DescribeFleetCapacityPaginator"; export * from "./commands/DescribeFleetEventsCommand"; +export * from "./pagination/DescribeFleetEventsPaginator"; export * from "./commands/DescribeFleetPortSettingsCommand"; export * from "./commands/DescribeFleetUtilizationCommand"; +export * from "./pagination/DescribeFleetUtilizationPaginator"; export * from "./commands/DescribeGameServerCommand"; export * from "./commands/DescribeGameServerGroupCommand"; +export * from "./commands/DescribeGameServerInstancesCommand"; +export * from "./pagination/DescribeGameServerInstancesPaginator"; export * from "./commands/DescribeGameSessionDetailsCommand"; +export * from "./pagination/DescribeGameSessionDetailsPaginator"; export * from "./commands/DescribeGameSessionPlacementCommand"; export * from "./commands/DescribeGameSessionQueuesCommand"; +export * from "./pagination/DescribeGameSessionQueuesPaginator"; export * from "./commands/DescribeGameSessionsCommand"; +export * from "./pagination/DescribeGameSessionsPaginator"; export * from "./commands/DescribeInstancesCommand"; +export * from "./pagination/DescribeInstancesPaginator"; export * from "./commands/DescribeMatchmakingCommand"; export * from "./commands/DescribeMatchmakingConfigurationsCommand"; +export * from "./pagination/DescribeMatchmakingConfigurationsPaginator"; export * from "./commands/DescribeMatchmakingRuleSetsCommand"; +export * from "./pagination/DescribeMatchmakingRuleSetsPaginator"; export * from "./commands/DescribePlayerSessionsCommand"; +export * from "./pagination/DescribePlayerSessionsPaginator"; export * from "./commands/DescribeRuntimeConfigurationCommand"; export * from "./commands/DescribeScalingPoliciesCommand"; +export * from "./pagination/DescribeScalingPoliciesPaginator"; export * from "./commands/DescribeScriptCommand"; export * from "./commands/DescribeVpcPeeringAuthorizationsCommand"; export * from "./commands/DescribeVpcPeeringConnectionsCommand"; export * from "./commands/GetGameSessionLogUrlCommand"; export * from "./commands/GetInstanceAccessCommand"; export * from "./commands/ListAliasesCommand"; +export * from "./pagination/ListAliasesPaginator"; export * from "./commands/ListBuildsCommand"; +export * from "./pagination/ListBuildsPaginator"; export * from "./commands/ListFleetsCommand"; +export * from "./pagination/ListFleetsPaginator"; export * from "./commands/ListGameServerGroupsCommand"; +export * from "./pagination/ListGameServerGroupsPaginator"; export * from "./commands/ListGameServersCommand"; +export * from "./pagination/ListGameServersPaginator"; export * from "./commands/ListScriptsCommand"; +export * from "./pagination/ListScriptsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/PutScalingPolicyCommand"; export * from "./commands/RegisterGameServerCommand"; @@ -66,6 +86,7 @@ export * from "./commands/RequestUploadCredentialsCommand"; export * from "./commands/ResolveAliasCommand"; export * from "./commands/ResumeGameServerGroupCommand"; export * from "./commands/SearchGameSessionsCommand"; +export * from "./pagination/SearchGameSessionsPaginator"; export * from "./commands/StartFleetActionsCommand"; export * from "./commands/StartGameSessionPlacementCommand"; export * from "./commands/StartMatchBackfillCommand"; @@ -89,4 +110,5 @@ export * from "./commands/UpdateMatchmakingConfigurationCommand"; export * from "./commands/UpdateRuntimeConfigurationCommand"; export * from "./commands/UpdateScriptCommand"; export * from "./commands/ValidateMatchmakingRuleSetCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-gamelift/models/models_0.ts b/clients/client-gamelift/models/models_0.ts index 75981b2d4c3f..f137e2063f16 100644 --- a/clients/client-gamelift/models/models_0.ts +++ b/clients/client-gamelift/models/models_0.ts @@ -4,15 +4,9 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export type AcceptanceType = "ACCEPT" | "REJECT"; /** - *

                                                          Represents the input for a request action.

                                                          + *

                                                          Represents the input for a request operation.

                                                          */ export interface AcceptMatchInput { - /** - *

                                                          A unique identifier for a matchmaking ticket. The ticket must be in status REQUIRES_ACCEPTANCE; otherwise this - * request will fail.

                                                          - */ - TicketId: string | undefined; - /** *

                                                          A unique identifier for a player delivering the response. This parameter can include one or multiple * player IDs.

                                                          @@ -23,6 +17,12 @@ export interface AcceptMatchInput { *

                                                          Player response to the proposed match.

                                                          */ AcceptanceType: AcceptanceType | string | undefined; + + /** + *

                                                          A unique identifier for a matchmaking ticket. The ticket must be in status REQUIRES_ACCEPTANCE; otherwise this + * request will fail.

                                                          + */ + TicketId: string | undefined; } export namespace AcceptMatchInput { @@ -217,34 +217,34 @@ export namespace RoutingStrategy { */ export interface Alias { /** - *

                                                          The routing configuration, including routing type and fleet target, for the alias.

                                                          + *

                                                          A descriptive label that is associated with an alias. Alias names do not need to be unique.

                                                          */ - RoutingStrategy?: RoutingStrategy; + Name?: string; /** - *

                                                          The time that this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                          + *

                                                          A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                          */ - LastUpdatedTime?: Date; + CreationTime?: Date; /** - *

                                                          A unique identifier for an alias. Alias IDs are unique within a Region.

                                                          + *

                                                          A human-readable description of an alias.

                                                          */ - AliasId?: string; + Description?: string; /** - *

                                                          A descriptive label that is associated with an alias. Alias names do not need to be unique.

                                                          + *

                                                          The time that this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                          */ - Name?: string; + LastUpdatedTime?: Date; /** - *

                                                          A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                          + *

                                                          The routing configuration, including routing type and fleet target, for the alias.

                                                          */ - CreationTime?: Date; + RoutingStrategy?: RoutingStrategy; /** - *

                                                          A human-readable description of an alias.

                                                          + *

                                                          A unique identifier for an alias. Alias IDs are unique within a Region.

                                                          */ - Description?: string; + AliasId?: string; /** *

                                                          Amazon Resource Name (ARN) that is assigned to a GameLift alias resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift alias ARN, the resource ID matches the alias ID value.

                                                          @@ -265,28 +265,28 @@ export namespace Alias { * available properties.

                                                          */ export interface AttributeValue { - /** - *

                                                          For a list of up to 10 strings. Maximum length for each string is 100 characters. - * Duplicate values are not recognized; all occurrences of the repeated value after the - * first of a repeated value are ignored.

                                                          - */ - SL?: string[]; - /** *

                                                          For a map of up to 10 data type:value pairs. Maximum length for each string value * is 100 characters.

                                                          */ SDM?: { [key: string]: number }; + /** + *

                                                          For number values, expressed as double.

                                                          + */ + N?: number; + /** *

                                                          For single string values. Maximum string length is 100 characters.

                                                          */ S?: string; /** - *

                                                          For number values, expressed as double.

                                                          + *

                                                          For a list of up to 10 strings. Maximum length for each string is 100 characters. + * Duplicate values are not recognized; all occurrences of the repeated value after the + * first of a repeated value are ignored.

                                                          */ - N?: number; + SL?: string[]; } export namespace AttributeValue { @@ -307,15 +307,15 @@ export interface AwsCredentials { AccessKeyId?: string; /** - *

                                                          Token used to associate a specific build ID with the files uploaded using these - * credentials.

                                                          + *

                                                          Temporary secret key allowing access to the Amazon GameLift S3 account.

                                                          */ - SessionToken?: string; + SecretAccessKey?: string; /** - *

                                                          Temporary secret key allowing access to the Amazon GameLift S3 account.

                                                          + *

                                                          Token used to associate a specific build ID with the files uploaded using these + * credentials.

                                                          */ - SecretAccessKey?: string; + SessionToken?: string; } export namespace AwsCredentials { @@ -330,6 +330,7 @@ export enum BackfillMode { } export enum BalancingStrategy { + ON_DEMAND_ONLY = "ON_DEMAND_ONLY", SPOT_ONLY = "SPOT_ONLY", SPOT_PREFERRED = "SPOT_PREFERRED", } @@ -380,6 +381,12 @@ export enum BuildStatus { *
                                                        */ export interface Build { + /** + *

                                                        Operating system that the game server binaries are built to run on. This value + * determines the type of fleet resources that you can use for this build.

                                                        + */ + OperatingSystem?: OperatingSystem | string; + /** *

                                                        A unique identifier for a build.

                                                        */ @@ -411,14 +418,14 @@ export interface Build { Status?: BuildStatus | string; /** - *

                                                        Version information that is associated with a build or script. Version strings do not need to be unique. This value can be set using CreateBuild or UpdateBuild.

                                                        + *

                                                        Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                        */ - Version?: string; + CreationTime?: Date; /** - *

                                                        A descriptive label that is associated with a build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild.

                                                        + *

                                                        Version information that is associated with a build or script. Version strings do not need to be unique. This value can be set using CreateBuild or UpdateBuild.

                                                        */ - Name?: string; + Version?: string; /** *

                                                        Amazon Resource Name (ARN) that is assigned to a GameLift build resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift build ARN, the resource ID matches the @@ -426,11 +433,6 @@ export interface Build { */ BuildArn?: string; - /** - *

                                                        Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                        - */ - CreationTime?: Date; - /** *

                                                        File size of the uploaded game build, expressed in bytes. When the build status is * INITIALIZED, this value is 0.

                                                        @@ -438,10 +440,9 @@ export interface Build { SizeOnDisk?: number; /** - *

                                                        Operating system that the game server binaries are built to run on. This value - * determines the type of fleet resources that you can use for this build.

                                                        + *

                                                        A descriptive label that is associated with a build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild.

                                                        */ - OperatingSystem?: OperatingSystem | string; + Name?: string; } export namespace Build { @@ -478,16 +479,17 @@ export namespace CertificateConfiguration { export interface ClaimGameServerInput { /** - *

                                                        An identifier for the game server group. When claiming a specific game server, this is - * the game server group whether the game server is located. When requesting that GameLift FleetIQ - * locate an available game server, this is the game server group to search on. You can use - * either the GameServerGroup name or ARN value.

                                                        + *

                                                        A unique identifier for the game server group where the game server is running. + * Use either the GameServerGroup name or ARN value.. If you are not specifying a game server to claim, + * this value identifies where you want GameLift FleetIQ to look for an available + * game server to claim.

                                                        */ GameServerGroupName: string | undefined; /** - *

                                                        A set of custom game server properties, formatted as a single string value, to be - * passed to the claimed game server.

                                                        + *

                                                        A set of custom game server properties, formatted as a single string value. This data + * is passed to a game client or service when it requests information on game servers using + * ListGameServers or ClaimGameServer.

                                                        */ GameServerData?: string; @@ -516,20 +518,49 @@ export enum GameServerUtilizationStatus { /** *

                                                        - * This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This data type is used with the Amazon GameLift FleetIQ and game server groups. *

                                                        - *

                                                        Properties describing a game server resource.

                                                        - *

                                                        A game server resource is created by a successful call to RegisterGameServer and deleted by calling DeregisterGameServer.

                                                        + *

                                                        Properties describing a game server that is running on an instance in a GameServerGroup.

                                                        + *

                                                        A game server is created by a successful call to RegisterGameServer and + * deleted by calling DeregisterGameServer. A game server is claimed to host a + * game session by calling ClaimGameServer.

                                                        + * */ export interface GameServer { /** - *

                                                        The unique identifier for the instance where the game server is located.

                                                        - */ - InstanceId?: string; - - /** - *

                                                        Time stamp indicating when the game server resource was created with a RegisterGameServer request. Format is a number expressed in Unix time as - * milliseconds (for example "1469498468.057").

                                                        + *

                                                        Timestamp that indicates when the game server was created with a RegisterGameServer request. The format is a number expressed in Unix + * time as milliseconds (for example "1469498468.057").

                                                        */ RegistrationTime?: Date; @@ -537,76 +568,80 @@ export interface GameServer { *

                                                        Indicates whether the game server is currently available for new games or is busy. Possible statuses include:

                                                        *
                                                          *
                                                        • - *

                                                          AVAILABLE - The game server is available to be claimed. A game server that has been claimed - * remains in this status until it reports game hosting activity.

                                                          + *

                                                          + * AVAILABLE - The game server is available to be claimed. A game server that has + * been claimed remains in this status until it reports game hosting activity.

                                                          *
                                                        • *
                                                        • - *

                                                          IN_USE - The game server is currently hosting a game session with players.

                                                          + *

                                                          + * UTILIZED - The game server is currently hosting a game session with players.

                                                          *
                                                        • *
                                                        */ UtilizationStatus?: GameServerUtilizationStatus | string; - /** - *

                                                        A custom string that uniquely identifies the game server. Game server IDs are developer-defined - * and are unique across all game server groups in an AWS account.

                                                        - */ - GameServerId?: string; - /** *

                                                        The ARN identifier for the game server group where the game server is located.

                                                        */ GameServerGroupArn?: string; /** - *

                                                        Time stamp indicating the last time the game server was updated with health status - * using an UpdateGameServer request. Format is a number expressed in - * Unix time as milliseconds (for example "1469498468.057"). After game server + *

                                                        Timestamp that indicates the last time the game server was updated with health status + * using an UpdateGameServer request. The format is a number expressed in + * Unix time as milliseconds (for example "1469498468.057"). After game server * registration, this property is only changed when a game server update specifies a health * check value.

                                                        */ LastHealthCheckTime?: Date; /** - *

                                                        Indicates when an available game server has been reserved but has not yet started hosting a game. - * Once it is claimed, game server remains in CLAIMED status for a maximum of one minute. During this time, - * game clients must connect to the game server and start the game, which triggers the game server to update its - * utilization status. After one minute, the game server claim status reverts to null.

                                                        + *

                                                        A custom string that uniquely identifies the game server. Game server IDs are + * developer-defined and are unique across all game server groups in an AWS + * account.

                                                        */ - ClaimStatus?: GameServerClaimStatus | string; + GameServerId?: string; /** - *

                                                        The port and IP address that must be used to establish a client connection to the game server.

                                                        + *

                                                        A unique identifier for the game server group where the game server is running. + * Use either the GameServerGroup name or ARN value.

                                                        */ - ConnectionInfo?: string; + GameServerGroupName?: string; /** - *

                                                        A set of custom game server properties, formatted as a single string value. This data is - * passed to a game client or service in response to requests - * ListGameServers or ClaimGameServer. - * This property can be updated using UpdateGameServer.

                                                        + *

                                                        A set of custom game server properties, formatted as a single string value. This data + * is passed to a game client or service when it requests information on game servers using + * ListGameServers or ClaimGameServer.

                                                        */ GameServerData?: string; /** - *

                                                        The name identifier for the game server group where the game server is located.

                                                        + *

                                                        Indicates when an available game server has been reserved for gameplay but has not yet + * started hosting a game. Once it is claimed, the game server remains in + * CLAIMED status for a maximum of one minute. During this time, game + * clients connect to the game server to start the game and trigger the game server to + * update its utilization status. After one minute, the game server claim status reverts to + * null.

                                                        */ - GameServerGroupName?: string; + ClaimStatus?: GameServerClaimStatus | string; + + /** + *

                                                        The port and IP address that must be used to establish a client connection to the game server.

                                                        + */ + ConnectionInfo?: string; /** - *

                                                        Time stamp indicating the last time the game server was claimed with a ClaimGameServer request. Format is a number expressed in Unix time as - * milliseconds (for example "1469498468.057"). This value is used to calculate when the - * game server's claim status.

                                                        + *

                                                        Timestamp that indicates the last time the game server was claimed with a ClaimGameServer request. The format is a number expressed in Unix time + * as milliseconds (for example "1469498468.057"). This value is used to + * calculate when a claimed game server's status should revert to null.

                                                        */ LastClaimTime?: Date; /** - *

                                                        A game server tag that can be used to request sorted lists of game servers when calling - * ListGameServers. Custom sort keys - * are developer-defined. - * This property can be updated using UpdateGameServer.

                                                        + *

                                                        The unique identifier for the instance where the game server is running. This ID is + * available in the instance metadata. EC2 instance IDs + * use a 17-character format, for example: i-1234567890abcdef0.

                                                        */ - CustomSortKey?: string; + InstanceId?: string; } export namespace GameServer { @@ -617,7 +652,7 @@ export namespace GameServer { export interface ClaimGameServerOutput { /** - *

                                                        Object that describes the newly claimed game server resource.

                                                        + *

                                                        Object that describes the newly claimed game server.

                                                        */ GameServer?: GameServer; } @@ -725,17 +760,17 @@ export enum ComparisonOperatorType { export interface Tag { /** *

                                                        - * The key for a developer-defined key:value pair for tagging an AWS resource. + * The value for a developer-defined key:value pair for tagging an AWS resource. *

                                                        */ - Key: string | undefined; + Value: string | undefined; /** *

                                                        - * The value for a developer-defined key:value pair for tagging an AWS resource. + * The key for a developer-defined key:value pair for tagging an AWS resource. *

                                                        */ - Value: string | undefined; + Key: string | undefined; } export namespace Tag { @@ -745,7 +780,7 @@ export namespace Tag { } /** - *

                                                        Represents the input for a request action.

                                                        + *

                                                        Represents the input for a request operation.

                                                        */ export interface CreateAliasInput { /** @@ -784,7 +819,7 @@ export namespace CreateAliasInput { } /** - *

                                                        Represents the returned data in response to a request action.

                                                        + *

                                                        Represents the returned data in response to a request operation.

                                                        */ export interface CreateAliasOutput { /** @@ -841,13 +876,19 @@ export namespace TaggingFailedException { export interface S3Location { /** *

                                                        An S3 bucket identifier. This is the name of the S3 bucket.

                                                        + * + *

                                                        GameLift currently does not support uploading from S3 buckets with names that contain a dot (.).

                                                        + *
                                                        */ Bucket?: string; /** - *

                                                        The name of the zip file that contains the build files or script files.

                                                        + *

                                                        The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses + * this information when retrieving files from an S3 bucket that you own. Use this + * parameter to specify a specific version of the file. If not set, the latest version of + * the file is retrieved.

                                                        */ - Key?: string; + ObjectVersion?: string; /** *

                                                        The Amazon Resource Name (ARN) for an IAM role that @@ -856,12 +897,9 @@ export interface S3Location { RoleArn?: string; /** - *

                                                        The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses - * this information when retrieving files from an S3 bucket that you own. Use this - * parameter to specify a specific version of the file. If not set, the latest version of - * the file is retrieved.

                                                        + *

                                                        The name of the zip file that contains the build files or script files.

                                                        */ - ObjectVersion?: string; + Key?: string; } export namespace S3Location { @@ -871,7 +909,7 @@ export namespace S3Location { } /** - *

                                                        Represents the input for a request action.

                                                        + *

                                                        Represents the input for a request operation.

                                                        */ export interface CreateBuildInput { /** @@ -883,12 +921,6 @@ export interface CreateBuildInput { */ StorageLocation?: S3Location; - /** - *

                                                        A descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later. - *

                                                        - */ - Name?: string; - /** *

                                                        The operating system that the game server binaries are built to run on. This value * determines the type of fleet resources that you can use for this build. If your game @@ -898,6 +930,12 @@ export interface CreateBuildInput { */ OperatingSystem?: OperatingSystem | string; + /** + *

                                                        A descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later. + *

                                                        + */ + Name?: string; + /** *

                                                        A list of labels to assign to the new build resource. Tags are developer-defined * key-value pairs. Tagging @@ -925,14 +963,16 @@ export namespace CreateBuildInput { } /** - *

                                                        Represents the returned data in response to a request action.

                                                        + *

                                                        Represents the returned data in response to a request operation.

                                                        */ export interface CreateBuildOutput { /** - *

                                                        Amazon S3 location for your game build file, including bucket name and - * key.

                                                        + *

                                                        This element is returned only when the operation is called without a storage + * location. It contains credentials to use when you are uploading a build file to an S3 + * bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these + * credentials, call RequestUploadCredentials.

                                                        */ - StorageLocation?: S3Location; + UploadCredentials?: AwsCredentials; /** *

                                                        The newly created build resource, including a unique build IDs and status.

                                                        @@ -940,12 +980,10 @@ export interface CreateBuildOutput { Build?: Build; /** - *

                                                        This element is returned only when the operation is called without a storage - * location. It contains credentials to use when you are uploading a build file to an S3 - * bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these - * credentials, call RequestUploadCredentials.

                                                        + *

                                                        Amazon S3 location for your game build file, including bucket name and + * key.

                                                        */ - UploadCredentials?: AwsCredentials; + StorageLocation?: S3Location; } export namespace CreateBuildOutput { @@ -1111,18 +1149,6 @@ export namespace ResourceCreationLimitPolicy { *
                                                        .

                                                        */ export interface ServerProcess { - /** - *

                                                        The number of server processes that use this configuration to run concurrently on an - * instance.

                                                        - */ - ConcurrentExecutions: number | undefined; - - /** - *

                                                        An optional list of parameters to pass to the server executable or Realtime script on - * launch.

                                                        - */ - Parameters?: string; - /** *

                                                        The location of the server executable in a custom game build or the name of the Realtime * script file that contains the Init() function. Game builds and Realtime @@ -1139,6 +1165,18 @@ export interface ServerProcess { *

                                                      */ LaunchPath: string | undefined; + + /** + *

                                                      An optional list of parameters to pass to the server executable or Realtime script on + * launch.

                                                      + */ + Parameters?: string; + + /** + *

                                                      The number of server processes that use this configuration to run concurrently on an + * instance.

                                                      + */ + ConcurrentExecutions: number | undefined; } export namespace ServerProcess { @@ -1223,40 +1261,86 @@ export namespace RuntimeConfiguration { } /** - *

                                                      Represents the input for a request action.

                                                      + *

                                                      Represents the input for a request operation.

                                                      */ export interface CreateFleetInput { /** - *

                                                      A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift - * fleet with. You can find your account ID in the AWS Management Console under account settings.

                                                      + *

                                                      This parameter is no longer used. Instead, specify server launch parameters in the + * RuntimeConfiguration parameter. (Requests that specify a server launch + * path and launch parameters instead of a runtime configuration will continue to + * work.)

                                                      */ - PeerVpcAwsAccountId?: string; + ServerLaunchParameters?: string; /** - *

                                                      Instructions for launching server processes on each instance in the fleet. Server - * processes run either a custom game build executable or a Realtime script. The runtime - * configuration defines the server executables or launch script file, launch parameters, - * and the number of processes to run concurrently on each instance. When creating a fleet, - * the runtime configuration must have at least one server process configuration; otherwise - * the request fails with an invalid request exception. (This parameter replaces the - * parameters ServerLaunchPath and ServerLaunchParameters, - * although requests that contain values for these parameters instead of a runtime - * configuration will continue to work.) This parameter is required unless the parameters - * ServerLaunchPath and ServerLaunchParameters are defined. Runtime - * configuration replaced these parameters, but fleets that use them will continue to work.

                                                      + *

                                                      Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS + * certificates are used for encrypting traffic between game clients and game servers + * running on GameLift. If this parameter is not specified, the default value, DISABLED, is + * used. This fleet setting cannot be changed once the fleet is created. Learn more at + * Securing Client/Server Communication.

                                                      + *

                                                      Note: This feature requires the AWS Certificate Manager (ACM) service, which is + * available in the AWS global partition but not in all other partitions. When working in a + * partition that does not support this feature, a request for a new fleet with certificate + * generation results fails with a 4xx unsupported Region error.

                                                      + *

                                                      Valid values include:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * GENERATED - Generate a TLS/SSL certificate + * for this fleet.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * DISABLED - (default) Do not generate a + * TLS/SSL certificate for this fleet.

                                                        + *
                                                      • + *
                                                      */ - RuntimeConfiguration?: RuntimeConfiguration; + CertificateConfiguration?: CertificateConfiguration; /** - *

                                                      A unique identifier for an AWS IAM role that manages access to your AWS services. - * With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, - * including install scripts, server processes, and daemons (background processes). Create a role or look up a role's - * ARN from the IAM dashboard in the AWS Management Console. - * Learn more about using on-box credentials for your game servers at - * - * Access external resources from a game server.

                                                      + *

                                                      This parameter is no longer used. Instead, specify a server launch path using the + * RuntimeConfiguration parameter. Requests that specify a server launch + * path and launch parameters instead of a runtime configuration will continue to + * work.

                                                      */ - InstanceRoleArn?: string; + ServerLaunchPath?: string; + + /** + *

                                                      A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

                                                      + */ + Name: string | undefined; + + /** + *

                                                      A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The + * VPC must be in the same Region as your fleet. To look up a VPC ID, use the + * VPC Dashboard in the AWS Management Console. + * Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

                                                      + */ + PeerVpcId?: string; + + /** + *

                                                      This parameter is no longer used. Instead, to specify where Amazon GameLift should store log + * files once a server process shuts down, use the Amazon GameLift server API + * ProcessReady() and specify one or more directory paths in + * logParameters. See more information in the Server API Reference.

                                                      + */ + LogPaths?: string[]; + + /** + *

                                                      Instructions for launching server processes on each instance in the fleet. Server + * processes run either a custom game build executable or a Realtime script. The runtime + * configuration defines the server executables or launch script file, launch parameters, + * and the number of processes to run concurrently on each instance. When creating a fleet, + * the runtime configuration must have at least one server process configuration; otherwise + * the request fails with an invalid request exception. (This parameter replaces the + * parameters ServerLaunchPath and ServerLaunchParameters, + * although requests that contain values for these parameters instead of a runtime + * configuration will continue to work.) This parameter is required unless the parameters + * ServerLaunchPath and ServerLaunchParameters are defined. Runtime + * configuration replaced these parameters, but fleets that use them will continue to work.

                                                      + */ + RuntimeConfiguration?: RuntimeConfiguration; /** *

                                                      A list of labels to assign to the new fleet resource. Tags are developer-defined @@ -1272,12 +1356,15 @@ export interface CreateFleetInput { Tags?: Tag[]; /** - *

                                                      The name of an Amazon CloudWatch metric group to add this fleet to. A metric group - * aggregates the metrics for all fleets in the group. Specify an existing metric group - * name, or provide a new name to create a new metric group. A fleet can only be included - * in one metric group at a time.

                                                      + *

                                                      A unique identifier for an AWS IAM role that manages access to your AWS services. + * With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, + * including install scripts, server processes, and daemons (background processes). Create a role or look up a role's + * ARN from the IAM dashboard in the AWS Management Console. + * Learn more about using on-box credentials for your game servers at + * + * Access external resources from a game server.

                                                      */ - MetricGroups?: string[]; + InstanceRoleArn?: string; /** *

                                                      A policy that limits the number of game sessions an individual player can create over @@ -1285,6 +1372,27 @@ export interface CreateFleetInput { */ ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy; + /** + *

                                                      A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value. + * The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting + * cannot be changed once the fleet is created.

                                                      + */ + ScriptId?: string; + + /** + *

                                                      A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift + * fleet with. You can find your account ID in the AWS Management Console under account settings.

                                                      + */ + PeerVpcAwsAccountId?: string; + + /** + *

                                                      The name of an Amazon CloudWatch metric group to add this fleet to. A metric group + * aggregates the metrics for all fleets in the group. Specify an existing metric group + * name, or provide a new name to create a new metric group. A fleet can only be included + * in one metric group at a time.

                                                      + */ + MetricGroups?: string[]; + /** *

                                                      A unique identifier for a build to be deployed on the new fleet. You can use either the build ID or ARN value. * The custom game server build must have been successfully uploaded to Amazon GameLift and be in a @@ -1316,11 +1424,12 @@ export interface CreateFleetInput { NewGameSessionProtectionPolicy?: ProtectionPolicy | string; /** - *

                                                      A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value. - * The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting - * cannot be changed once the fleet is created.

                                                      + *

                                                      Indicates whether to use On-Demand instances or Spot instances for this fleet. If + * empty, the default is ON_DEMAND. Both categories of instances use identical + * hardware and configurations based on the instance type selected for this fleet. Learn + * more about On-Demand versus Spot Instances.

                                                      */ - ScriptId?: string; + FleetType?: FleetType | string; /** *

                                                      Range of IP addresses and port settings that permit inbound traffic to access game @@ -1332,6 +1441,11 @@ export interface CreateFleetInput { */ EC2InboundPermissions?: IpPermission[]; + /** + *

                                                      A human-readable description of a fleet.

                                                      + */ + Description?: string; + /** *

                                                      The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type * determines the computing resources of each instance in the fleet, including CPU, memory, @@ -1340,82 +1454,6 @@ export interface CreateFleetInput { * for detailed descriptions.

                                                      */ EC2InstanceType: EC2InstanceType | string | undefined; - - /** - *

                                                      A human-readable description of a fleet.

                                                      - */ - Description?: string; - - /** - *

                                                      This parameter is no longer used. Instead, specify server launch parameters in the - * RuntimeConfiguration parameter. (Requests that specify a server launch - * path and launch parameters instead of a runtime configuration will continue to - * work.)

                                                      - */ - ServerLaunchParameters?: string; - - /** - *

                                                      Indicates whether to use On-Demand instances or Spot instances for this fleet. If - * empty, the default is ON_DEMAND. Both categories of instances use identical - * hardware and configurations based on the instance type selected for this fleet. Learn - * more about On-Demand versus Spot Instances.

                                                      - */ - FleetType?: FleetType | string; - - /** - *

                                                      Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS - * certificates are used for encrypting traffic between game clients and game servers - * running on GameLift. If this parameter is not specified, the default value, DISABLED, is - * used. This fleet setting cannot be changed once the fleet is created. Learn more at - * Securing Client/Server Communication.

                                                      - *

                                                      Note: This feature requires the AWS Certificate Manager (ACM) service, which is - * available in the AWS global partition but not in all other partitions. When working in a - * partition that does not support this feature, a request for a new fleet with certificate - * generation results fails with a 4xx unsupported Region error.

                                                      - *

                                                      Valid values include:

                                                      - *
                                                        - *
                                                      • - *

                                                        - * GENERATED - Generate a TLS/SSL certificate - * for this fleet.

                                                        - *
                                                      • - *
                                                      • - *

                                                        - * DISABLED - (default) Do not generate a - * TLS/SSL certificate for this fleet.

                                                        - *
                                                      • - *
                                                      - */ - CertificateConfiguration?: CertificateConfiguration; - - /** - *

                                                      This parameter is no longer used. Instead, specify a server launch path using the - * RuntimeConfiguration parameter. Requests that specify a server launch - * path and launch parameters instead of a runtime configuration will continue to - * work.

                                                      - */ - ServerLaunchPath?: string; - - /** - *

                                                      A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

                                                      - */ - Name: string | undefined; - - /** - *

                                                      This parameter is no longer used. Instead, to specify where Amazon GameLift should store log - * files once a server process shuts down, use the Amazon GameLift server API - * ProcessReady() and specify one or more directory paths in - * logParameters. See more information in the Server API Reference.

                                                      - */ - LogPaths?: string[]; - - /** - *

                                                      A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The - * VPC must be in the same Region as your fleet. To look up a VPC ID, use the - * VPC Dashboard in the AWS Management Console. - * Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

                                                      - */ - PeerVpcId?: string; } export namespace CreateFleetInput { @@ -1477,7 +1515,84 @@ export enum FleetAction { */ export interface FleetAttributes { /** - *

                                                      List of fleet actions that have been suspended using StopFleetActions. This includes auto-scaling.

                                                      + *

                                                      Names of metric groups that this fleet is included in. In Amazon CloudWatch, you + * can view metrics for an individual fleet or aggregated metrics for fleets that are in a + * fleet metric group. A fleet can be included in only one metric group at a + * time.

                                                      + */ + MetricGroups?: string[]; + + /** + *

                                                      Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                      + */ + TerminationTime?: Date; + + /** + *

                                                      A unique identifier for an AWS IAM role that manages access to your AWS services. + * With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, + * including install scripts, server processes, and daemons (background processes). Create a role or look up a role's + * ARN from the IAM dashboard in the AWS Management Console. + * Learn more about using on-box credentials for your game servers at + * + * Access external resources from a game server.

                                                      + */ + InstanceRoleArn?: string; + + /** + *

                                                      Indicates whether a TLS/SSL certificate was generated for the fleet.

                                                      + */ + CertificateConfiguration?: CertificateConfiguration; + + /** + *

                                                      A unique identifier for a fleet.

                                                      + */ + FleetId?: string; + + /** + *

                                                      EC2 instance type indicating the computing resources of each instance in the + * fleet, including CPU, memory, storage, and networking capacity. See Amazon EC2 Instance Types for + * detailed descriptions.

                                                      + */ + InstanceType?: EC2InstanceType | string; + + /** + *

                                                      The Amazon Resource Name (ARN) associated with the GameLift build resource that is deployed on instances + * in this fleet. In a GameLift build ARN, the resource ID matches the + * BuildId value.

                                                      + */ + BuildArn?: string; + + /** + *

                                                      A unique identifier for a build.

                                                      + */ + BuildId?: string; + + /** + *

                                                      Game server launch parameters specified for fleets created before 2016-08-04 (or + * AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are + * specified in the fleet's RuntimeConfiguration.

                                                      + */ + ServerLaunchParameters?: string; + + /** + *

                                                      Operating system of the fleet's computing resources. A fleet's operating system + * depends on the OS specified for the build that is deployed on this fleet.

                                                      + */ + OperatingSystem?: OperatingSystem | string; + + /** + *

                                                      Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                      + */ + CreationTime?: Date; + + /** + *

                                                      The Amazon Resource Name (ARN) that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift fleet ARN, the resource ID matches the + * FleetId value.

                                                      + */ + FleetArn?: string; + + /** + *

                                                      List of fleet activity that have been suspended using StopFleetActions. This includes auto-scaling.

                                                      */ StoppedActions?: (FleetAction | string)[]; @@ -1538,6 +1653,17 @@ export interface FleetAttributes { */ FleetType?: FleetType | string; + /** + *

                                                      Fleet policy to limit the number of game sessions an individual player can create + * over a span of time.

                                                      + */ + ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy; + + /** + *

                                                      A unique identifier for a Realtime script.

                                                      + */ + ScriptId?: string; + /** *

                                                      The type of game session protection to set for all new instances started in the * fleet.

                                                      @@ -1558,15 +1684,16 @@ export interface FleetAttributes { NewGameSessionProtectionPolicy?: ProtectionPolicy | string; /** - *

                                                      Fleet policy to limit the number of game sessions an individual player can create - * over a span of time.

                                                      + *

                                                      A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

                                                      */ - ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy; + Name?: string; /** - *

                                                      A unique identifier for a Realtime script.

                                                      + *

                                                      Path to a game server executable in the fleet's build, specified for fleets created + * before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after + * this date are specified in the fleet's RuntimeConfiguration.

                                                      */ - ScriptId?: string; + ServerLaunchPath?: string; /** *

                                                      Location of default log files. When a server process is shut down, Amazon GameLift captures @@ -1577,95 +1704,6 @@ export interface FleetAttributes { * Linux). Use the Amazon GameLift console to access stored logs.

                                                      */ LogPaths?: string[]; - - /** - *

                                                      Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                      - */ - TerminationTime?: Date; - - /** - *

                                                      Path to a game server executable in the fleet's build, specified for fleets created - * before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after - * this date are specified in the fleet's RuntimeConfiguration.

                                                      - */ - ServerLaunchPath?: string; - - /** - *

                                                      A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

                                                      - */ - Name?: string; - - /** - *

                                                      Names of metric groups that this fleet is included in. In Amazon CloudWatch, you - * can view metrics for an individual fleet or aggregated metrics for fleets that are in a - * fleet metric group. A fleet can be included in only one metric group at a - * time.

                                                      - */ - MetricGroups?: string[]; - - /** - *

                                                      A unique identifier for a build.

                                                      - */ - BuildId?: string; - - /** - *

                                                      A unique identifier for a fleet.

                                                      - */ - FleetId?: string; - - /** - *

                                                      A unique identifier for an AWS IAM role that manages access to your AWS services. - * With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, - * including install scripts, server processes, and daemons (background processes). Create a role or look up a role's - * ARN from the IAM dashboard in the AWS Management Console. - * Learn more about using on-box credentials for your game servers at - * - * Access external resources from a game server.

                                                      - */ - InstanceRoleArn?: string; - - /** - *

                                                      The Amazon Resource Name (ARN) associated with the GameLift build resource that is deployed on instances - * in this fleet. In a GameLift build ARN, the resource ID matches the - * BuildId value.

                                                      - */ - BuildArn?: string; - - /** - *

                                                      Indicates whether a TLS/SSL certificate was generated for the fleet.

                                                      - */ - CertificateConfiguration?: CertificateConfiguration; - - /** - *

                                                      Game server launch parameters specified for fleets created before 2016-08-04 (or - * AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are - * specified in the fleet's RuntimeConfiguration.

                                                      - */ - ServerLaunchParameters?: string; - - /** - *

                                                      EC2 instance type indicating the computing resources of each instance in the - * fleet, including CPU, memory, storage, and networking capacity. See Amazon EC2 Instance Types for - * detailed descriptions.

                                                      - */ - InstanceType?: EC2InstanceType | string; - - /** - *

                                                      Operating system of the fleet's computing resources. A fleet's operating system - * depends on the OS specified for the build that is deployed on this fleet.

                                                      - */ - OperatingSystem?: OperatingSystem | string; - - /** - *

                                                      The Amazon Resource Name (ARN) that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift fleet ARN, the resource ID matches the - * FleetId value.

                                                      - */ - FleetArn?: string; - - /** - *

                                                      Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                      - */ - CreationTime?: Date; } export namespace FleetAttributes { @@ -1675,7 +1713,7 @@ export namespace FleetAttributes { } /** - *

                                                      Represents the returned data in response to a request action.

                                                      + *

                                                      Represents the returned data in response to a request operation.

                                                      */ export interface CreateFleetOutput { /** @@ -1692,13 +1730,14 @@ export namespace CreateFleetOutput { /** *

                                                      - * This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This data type is used with the Amazon GameLift FleetIQ and game server groups. *

                                                      - *

                                                      Settings for a target-based scaling policy applied to Auto Scaling group. These - * settings are used to create a target-based policy that tracks the GameLift FleetIQ metric - * "PercentUtilizedGameServers" and specifies a target value for the metric. As player - * usage changes, the policy triggers to adjust the game server group capacity so that the - * metric returns to the target value.

                                                      + *

                                                      Settings for a target-based scaling policy as part of a GameServerGroupAutoScalingPolicy. + * These settings are used to + * create a target-based policy that tracks the GameLift FleetIQ metric + * "PercentUtilizedGameServers" and specifies a target value for the + * metric. As player usage changes, the policy triggers to adjust the game server group + * capacity so that the metric returns to the target value.

                                                      */ export interface TargetTrackingConfiguration { /** @@ -1715,32 +1754,31 @@ export namespace TargetTrackingConfiguration { /** *

                                                      - * This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This data type is used with the Amazon GameLift FleetIQ and game server groups. *

                                                      - *

                                                      Configuration settings for intelligent autoscaling that uses target - * tracking. An autoscaling policy can be specified when a new game server group is - * created with CreateGameServerGroup. If a group has an autoscaling - * policy, the Auto Scaling group takes action based on this policy, in addition to (and potentially in - * conflict with) any other autoscaling policies that are separately applied to the Auto - * Scaling group.

                                                      + *

                                                      Configuration settings for intelligent automatic scaling that uses target tracking. + * These settings are used to add an Auto Scaling policy when creating the corresponding + * Auto Scaling group with CreateGameServerGroup. After the Auto Scaling + * group is created, all updates to Auto Scaling policies, including changing this policy + * and adding or removing other policies, is done directly on the Auto Scaling group.

                                                      */ export interface GameServerGroupAutoScalingPolicy { /** - *

                                                      Settings for a target-based scaling policy applied to Auto Scaling group. These - * settings are used to create a target-based policy that tracks the GameLift FleetIQ metric - * "PercentUtilizedGameServers" and specifies a target value for the metric. As player - * usage changes, the policy triggers to adjust the game server group capacity so that the - * metric returns to the target value.

                                                      + *

                                                      Length of time, in seconds, it takes for a new instance to start new game server + * processes and register with GameLift FleetIQ. Specifying a warm-up time can be useful, particularly + * with game servers that take a long time to start up, because it avoids prematurely + * starting new instances.

                                                      */ - TargetTrackingConfiguration: TargetTrackingConfiguration | undefined; + EstimatedInstanceWarmup?: number; /** - *

                                                      Length of time, in seconds, it takes for a new instance to start new game server - * processes and register with GameLift FleetIQ. Specifying a warm-up time can be - * useful, particularly with game servers that take a long time to start up, because it - * avoids prematurely starting new instances

                                                      + *

                                                      Settings for a target-based scaling policy applied to Auto Scaling group. These + * settings are used to create a target-based policy that tracks the GameLift FleetIQ metric + * "PercentUtilizedGameServers" and specifies a target value for the + * metric. As player usage changes, the policy triggers to adjust the game server group + * capacity so that the metric returns to the target value.

                                                      */ - EstimatedInstanceWarmup?: number; + TargetTrackingConfiguration: TargetTrackingConfiguration | undefined; } export namespace GameServerGroupAutoScalingPolicy { @@ -1798,11 +1836,12 @@ export type GameServerGroupInstanceType = /** *

                                                      - * This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This data type is used with the Amazon GameLift FleetIQ and game server groups. *

                                                      - *

                                                      An allowed instance type for your game server group. GameLift FleetIQ periodically evaluates each - * defined instance type for viability. It then updates the Auto Scaling group with the - * list of viable instance types.

                                                      + *

                                                      An allowed instance type for a GameServerGroup. All game server groups must have at least two + * instance types defined for it. GameLift FleetIQ periodically evaluates each defined instance type + * for viability. It then updates the Auto Scaling group with the list of viable instance + * types.

                                                      */ export interface InstanceDefinition { /** @@ -1829,28 +1868,29 @@ export namespace InstanceDefinition { /** *

                                                      - * This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This data type is used with the Amazon GameLift FleetIQ and game server groups. *

                                                      - *

                                                      An EC2 launch template that contains configuration settings and game server code to be - * deployed to all instances in a game server group.

                                                      + *

                                                      An EC2 launch template that contains configuration settings and game server code to + * be deployed to all instances in a game server group. The launch template is specified + * when creating a new game server group with CreateGameServerGroup.

                                                      */ export interface LaunchTemplateSpecification { /** - *

                                                      A readable identifier for an existing EC2 launch template.

                                                      + *

                                                      A unique identifier for an existing EC2 launch template.

                                                      */ - LaunchTemplateName?: string; + LaunchTemplateId?: string; /** - *

                                                      The version of the EC2 launch template to use. If no version is specified, the default - * version will be used. EC2 allows you to specify a default version for a launch template, - * if none is set, the default is the first version created.

                                                      + *

                                                      The version of the EC2 launch template to use. If no version is specified, the + * default version will be used. With Amazon EC2, you can specify a default version for a + * launch template. If none is set, the default is the first version created.

                                                      */ Version?: string; /** - *

                                                      A unique identifier for an existing EC2 launch template.

                                                      + *

                                                      A readable identifier for an existing EC2 launch template.

                                                      */ - LaunchTemplateId?: string; + LaunchTemplateName?: string; } export namespace LaunchTemplateSpecification { @@ -1861,91 +1901,98 @@ export namespace LaunchTemplateSpecification { export interface CreateGameServerGroupInput { /** - *

                                                      The maximum number of instances allowed in the EC2 Auto Scaling group. During autoscaling - * events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.

                                                      + *

                                                      The Amazon Resource Name (ARN) for an IAM role that + * allows Amazon GameLift to access your EC2 Auto Scaling groups.

                                                      + */ + RoleArn: string | undefined; + + /** + *

                                                      The maximum number of instances allowed in the EC2 Auto Scaling group. During + * automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum. + * After the Auto Scaling group is created, update this value directly in the Auto Scaling + * group using the AWS console or APIs.

                                                      */ MaxSize: number | undefined; /** - *

                                                      A list of virtual private cloud (VPC) subnets to use with instances in the game server - * group. By default, all GameLift FleetIQ-supported availability zones are used; this parameter - * allows you to specify VPCs that you've set up.

                                                      + *

                                                      Configuration settings to define a scaling policy for the Auto Scaling group that is + * optimized for game hosting. The scaling policy uses the metric + * "PercentUtilizedGameServers" to maintain a buffer of idle game servers + * that can immediately accommodate new games and players. After the Auto Scaling group is + * created, update this value directly in the Auto Scaling group using the AWS console or + * APIs.

                                                      */ - VpcSubnets?: string[]; + AutoScalingPolicy?: GameServerGroupAutoScalingPolicy; /** - *

                                                      A set of EC2 instance types to use when creating instances in the group. The instance - * definitions must specify at least two different instance types that are supported by - * GameLift FleetIQ. For more information on instance types, see EC2 Instance Types in the - * Amazon EC2 User Guide.

                                                      + *

                                                      A list of labels to assign to the new game server group resource. Tags are + * developer-defined key-value pairs. Tagging AWS resources is useful for resource + * management, access management, and cost allocation. For more information, see Tagging AWS + * Resources in the AWS General Reference. Once the + * resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, + * and view tags, respectively. The maximum tag limit may be lower than stated. See the + * AWS General Reference for actual tagging limits.

                                                      */ - InstanceDefinitions: InstanceDefinition[] | undefined; + Tags?: Tag[]; /** - *

                                                      A list of labels to assign to the new game server group resource. Tags are developer-defined - * key-value pairs. Tagging - * AWS resources are useful for resource management, access management, and cost allocation. - * For more information, see Tagging AWS Resources in the - * AWS General Reference. Once the resource is created, you can - * use TagResource, UntagResource, and - * ListTagsForResource to add, remove, and view tags. The - * maximum tag limit may be lower than stated. See the AWS General Reference for actual - * tagging limits.

                                                      + *

                                                      The EC2 instance types and sizes to use in the Auto Scaling group. The instance + * definitions must specify at least two different instance types that are supported by + * GameLift FleetIQ. For more information on instance types, see EC2 Instance Types in the + * Amazon EC2 User Guide. You can optionally specify capacity + * weighting for each instance type. If no weight value is specified for an instance type, + * it is set to the default value "1". For more information about capacity weighting, see + * Instance Weighting for + * Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

                                                      */ - Tags?: Tag[]; + InstanceDefinitions: InstanceDefinition[] | undefined; /** - *

                                                      The Amazon Resource Name (ARN) for an IAM role that - * allows Amazon GameLift to access your EC2 Auto Scaling groups. The submitted role is validated to - * ensure that it contains the necessary permissions for game server groups.

                                                      + *

                                                      An identifier for the new game server group. This value is used to generate unique ARN + * identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group. The name + * must be unique per Region per AWS account.

                                                      */ - RoleArn: string | undefined; + GameServerGroupName: string | undefined; /** - *

                                                      The fallback balancing method to use for the game server group when Spot instances in - * a Region become unavailable or are not viable for game hosting. Once triggered, this - * method remains active until Spot instances can once again be used. Method options - * include:

                                                      + *

                                                      Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the + * game server group. Method options include the following:

                                                      *
                                                        *
                                                      • - *

                                                        SPOT_ONLY -- If Spot instances are unavailable, the game server group provides - * no hosting capacity. No new instances are started, and the existing nonviable - * Spot instances are terminated (once current gameplay ends) and not - * replaced.

                                                        + *

                                                        + * SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot + * Instances are unavailable or not viable for game hosting, the game server group + * provides no hosting capacity until Spot Instances can again be used. Until then, + * no new instances are started, and the existing nonviable Spot Instances are + * terminated (after current gameplay ends) and are not replaced.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * SPOT_PREFERRED - (default value) Spot Instances are used whenever available in + * the game server group. If Spot Instances are unavailable, the game server group + * continues to provide hosting capacity by falling back to On-Demand Instances. + * Existing nonviable Spot Instances are terminated (after current gameplay ends) + * and are replaced with new On-Demand Instances.

                                                        *
                                                      • *
                                                      • - *

                                                        SPOT_PREFERRED -- If Spot instances are unavailable, the game server group - * continues to provide hosting capacity by using On-Demand instances. Existing - * nonviable Spot instances are terminated (once current gameplay ends) and - * replaced with new On-Demand instances.

                                                        + *

                                                        + * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game + * server group. No Spot Instances are used, even when available, while this + * balancing strategy is in force.

                                                        *
                                                      • *
                                                      */ BalancingStrategy?: BalancingStrategy | string; /** - *

                                                      An identifier for the new game server group. This value is used to generate unique - * ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group. - * The name must be unique per Region per AWS account.

                                                      - */ - GameServerGroupName: string | undefined; - - /** - *

                                                      The minimum number of instances allowed in the EC2 Auto Scaling group. During - * autoscaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum. In - * production, this value should be set to at least 1.

                                                      - */ - MinSize: number | undefined; - - /** - *

                                                      Configuration settings to define a scaling policy for the Auto Scaling group that is - * optimized for game hosting. The scaling policy uses the metric - * "PercentUtilizedGameServers" to maintain a buffer of idle game servers that can - * immediately accommodate new games and players. Once the game server and Auto Scaling - * groups are created, you can update the scaling policy settings directly in Auto Scaling - * Groups.

                                                      + *

                                                      A list of virtual private cloud (VPC) subnets to use with instances in the game server + * group. By default, all GameLift FleetIQ-supported Availability Zones are used. You can use this + * parameter to specify VPCs that you've set up. This property cannot be updated after the + * game server group is created, and the corresponding Auto Scaling group will always use + * the property value that is set with this request, even if the Auto Scaling group is + * updated directly

                                                      */ - AutoScalingPolicy?: GameServerGroupAutoScalingPolicy; + VpcSubnets?: string[]; /** *

                                                      The EC2 launch template that contains configuration settings and game server code to @@ -1953,17 +2000,27 @@ export interface CreateGameServerGroupInput { * using either the template name or ID. For help with creating a launch template, see * Creating a Launch * Template for an Auto Scaling Group in the Amazon EC2 Auto Scaling - * User Guide.

                                                      + * User Guide
                                                      . After the Auto Scaling group is created, update this value + * directly in the Auto Scaling group using the AWS console or APIs.

                                                      */ LaunchTemplate: LaunchTemplateSpecification | undefined; /** - *

                                                      A flag that indicates whether instances in the game server group are protected from - * early termination. Unprotected instances that have active game servers running may by - * terminated during a scale-down event, causing players to be dropped from the game. - * Protected instances cannot be terminated while there are active game servers running. An - * exception to this is Spot Instances, which may be terminated by AWS regardless of - * protection status. This property is set to NO_PROTECTION by default.

                                                      + *

                                                      The minimum number of instances allowed in the EC2 Auto Scaling group. During + * automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this + * minimum. In production, this value should be set to at least 1. After the Auto Scaling + * group is created, update this value directly in the Auto Scaling group using the AWS + * console or APIs.

                                                      + */ + MinSize: number | undefined; + + /** + *

                                                      A flag that indicates whether instances in the game server group are protected + * from early termination. Unprotected instances that have active game servers running might + * be terminated during a scale-down event, causing players to be dropped from the game. + * Protected instances cannot be terminated while there are active game servers running except + * in the event of a forced game server group deletion (see ). An exception to this is with Spot + * Instances, which can be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

                                                      */ GameServerProtectionPolicy?: GameServerProtectionPolicy | string; } @@ -1990,108 +2047,174 @@ export enum GameServerGroupAction { /** *

                                                      - * This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change. + * This data type is used with the Amazon GameLift FleetIQ and game server groups. *

                                                      - *

                                                      Properties describing a game server group resource. A game server group manages - * certain properties of a corresponding EC2 Auto Scaling group.

                                                      - *

                                                      A game server group is created by a successful call to CreateGameServerGroup and deleted by calling DeleteGameServerGroup. Game server group activity can be temporarily - * suspended and resumed by calling SuspendGameServerGroup and ResumeGameServerGroup.

                                                      + *

                                                      Properties that describe a game server group resource. A game server group manages + * certain properties related to a corresponding EC2 Auto Scaling group.

                                                      + *

                                                      A game server group is created by a successful call to + * CreateGameServerGroup and deleted by calling + * DeleteGameServerGroup. Game server group activity can be temporarily + * suspended and resumed by calling SuspendGameServerGroup and + * ResumeGameServerGroup, respectively.

                                                      + * */ export interface GameServerGroup { /** - *

                                                      A time stamp indicating when this game server group was last updated.

                                                      + *

                                                      A timestamp that indicates when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                      */ - LastUpdatedTime?: Date; + CreationTime?: Date; /** - *

                                                      Additional information about the current game server group status. This information - * may provide additional insight on groups that in ERROR status.

                                                      + *

                                                      A generated unique ID for the game server group.

                                                      */ - StatusReason?: string; + GameServerGroupArn?: string; /** - *

                                                      A generated unique ID for the game server group.

                                                      + *

                                                      A flag that indicates whether instances in the game server group are protected + * from early termination. Unprotected instances that have active game servers running might + * be terminated during a scale-down event, causing players to be dropped from the game. + * Protected instances cannot be terminated while there are active game servers running except + * in the event of a forced game server group deletion (see ). An exception to this is with Spot + * Instances, which can be terminated by AWS regardless of protection status.

                                                      */ - GameServerGroupArn?: string; + GameServerProtectionPolicy?: GameServerProtectionPolicy | string; /** - *

                                                      A developer-defined identifier for the game server group. The name is unique per - * Region per AWS account.

                                                      + *

                                                      A timestamp that indicates when this game server group was last updated.

                                                      */ - GameServerGroupName?: string; + LastUpdatedTime?: Date; /** - *

                                                      The fallback balancing method to use for the game server group when Spot instances in - * a Region become unavailable or are not viable for game hosting. Once triggered, this - * method remains active until Spot instances can once again be used. Method options - * include:

                                                      - *
                                                        - *
                                                      • - *

                                                        SPOT_ONLY -- If Spot instances are unavailable, the game server group provides - * no hosting capacity. No new instances are started, and the existing nonviable - * Spot instances are terminated (once current gameplay ends) and not - * replaced.

                                                        - *
                                                      • - *
                                                      • - *

                                                        SPOT_PREFERRED -- If Spot instances are unavailable, the game server group - * continues to provide hosting capacity by using On-Demand instances. Existing - * nonviable Spot instances are terminated (once current gameplay ends) and - * replaced with new On-Demand instances.

                                                        - *
                                                      • - *
                                                      + *

                                                      A developer-defined identifier for the game server group. The name is unique for each + * Region in each AWS account.

                                                      */ - BalancingStrategy?: BalancingStrategy | string; + GameServerGroupName?: string; /** - *

                                                      A generated unique ID for the EC2 Auto Scaling group with is associated with - * this game server group.

                                                      + *

                                                      Additional information about the current game server group status. This information + * might provide additional insight on groups that are in ERROR status.

                                                      */ - AutoScalingGroupArn?: string; + StatusReason?: string; /** - *

                                                      A flag that indicates whether instances in the game server group are protected from - * early termination. Unprotected instances that have active game servers running may be - * terminated during a scale-down event, causing players to be dropped from the game. - * Protected instances cannot be terminated while there are active game servers running - * except in the event of a forced game server group deletion - * (see DeleteGameServerGroup). An - * exception to this is Spot Instances, which may be terminated by AWS regardless of - * protection status.

                                                      + *

                                                      A generated unique ID for the EC2 Auto Scaling group that is associated with this + * game server group.

                                                      */ - GameServerProtectionPolicy?: GameServerProtectionPolicy | string; + AutoScalingGroupArn?: string; /** *

                                                      The current status of the game server group. Possible statuses include:

                                                      *
                                                        *
                                                      • - *

                                                        NEW - GameLift FleetIQ has validated the CreateGameServerGroup() request.

                                                        + *

                                                        + * NEW - GameLift FleetIQ has validated the CreateGameServerGroup() + * request.

                                                        *
                                                      • *
                                                      • - *

                                                        ACTIVATING - GameLift FleetIQ is setting up a game server group, which includes - * creating an autoscaling group in your AWS account.

                                                        + *

                                                        + * ACTIVATING - GameLift FleetIQ is setting up a game server group, which + * includes creating an Auto Scaling group in your AWS account.

                                                        *
                                                      • *
                                                      • - *

                                                        ACTIVE - The game server group has been successfully created.

                                                        + *

                                                        + * ACTIVE - The game server group has been successfully created.

                                                        *
                                                      • *
                                                      • - *

                                                        DELETE_SCHEDULED - A request to delete the game server group has been received.

                                                        + *

                                                        + * DELETE_SCHEDULED - A request to delete the game server group has + * been received.

                                                        *
                                                      • *
                                                      • - *

                                                        DELETING - GameLift FleetIQ has received a valid DeleteGameServerGroup() request and is - * processing it. GameLift FleetIQ must first complete and release hosts before it deletes - * the autoscaling group and the game server group.

                                                        + *

                                                        + * DELETING - GameLift FleetIQ has received a valid + * DeleteGameServerGroup() request and is processing it. GameLift FleetIQ + * must first complete and release hosts before it deletes the Auto Scaling group + * and the game server group.

                                                        *
                                                      • *
                                                      • - *

                                                        DELETED - The game server group has been successfully deleted.

                                                        + *

                                                        + * DELETED - The game server group has been successfully deleted.

                                                        *
                                                      • *
                                                      • - *

                                                        ERROR - The asynchronous processes of activating or deleting a game server group has failed, - * resulting in an error state.

                                                        + *

                                                        + * ERROR - The asynchronous processes of activating or deleting a game server group + * has failed, resulting in an error state.

                                                        *
                                                      • *
                                                      */ Status?: GameServerGroupStatus | string; + /** + *

                                                      Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the + * game server group. Method options include the following:

                                                      + *
                                                        + *
                                                      • + *

                                                        + * SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot + * Instances are unavailable or not viable for game hosting, the game server group + * provides no hosting capacity until Spot Instances can again be used. Until then, + * no new instances are started, and the existing nonviable Spot Instances are + * terminated (after current gameplay ends) and are not replaced.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * SPOT_PREFERRED - (default value) Spot Instances are used whenever available in + * the game server group. If Spot Instances are unavailable, the game server group + * continues to provide hosting capacity by falling back to On-Demand Instances. + * Existing nonviable Spot Instances are terminated (after current gameplay ends) + * and are replaced with new On-Demand Instances.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game + * server group. No Spot Instances are used, even when available, while this + * balancing strategy is in force.

                                                        + *
                                                      • + *
                                                      + */ + BalancingStrategy?: BalancingStrategy | string; + /** *

                                                      A list of activities that are currently suspended for this game server group. * If this property is empty, all activities are occurring.

                                                      @@ -2099,22 +2222,16 @@ export interface GameServerGroup { SuspendedActions?: (GameServerGroupAction | string)[]; /** - *

                                                      The set of EC2 instance types that GameLift FleetIQ can use when rebalancing and autoscaling - * instances in the group.

                                                      + *

                                                      The set of EC2 instance types that GameLift FleetIQ can use when balancing and automatically + * scaling instances in the corresponding Auto Scaling group.

                                                      */ InstanceDefinitions?: InstanceDefinition[]; /** *

                                                      The Amazon Resource Name (ARN) for an IAM role that - * allows Amazon GameLift to access your EC2 Auto Scaling groups. The submitted role is validated to - * ensure that it contains the necessary permissions for game server groups.

                                                      + * allows Amazon GameLift to access your EC2 Auto Scaling groups.

                                                      */ RoleArn?: string; - - /** - *

                                                      A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                      - */ - CreationTime?: Date; } export namespace GameServerGroup { @@ -2125,10 +2242,10 @@ export namespace GameServerGroup { export interface CreateGameServerGroupOutput { /** - *

                                                      The newly created game server group object, including the new ARN value for the GameLift FleetIQ game server group - * and the object's status. - * The EC2 Auto Scaling group ARN is initially null, since the group has not yet been created. This value is - * added once the game server group status reaches ACTIVE.

                                                      + *

                                                      The newly created game server group object, including the new ARN value for the GameLift FleetIQ + * game server group and the object's status. The EC2 Auto Scaling group ARN is initially + * null, since the group has not yet been created. This value is added once the game server + * group status reaches ACTIVE.

                                                      */ GameServerGroup?: GameServerGroup; } @@ -2165,14 +2282,9 @@ export namespace GameProperty { } /** - *

                                                      Represents the input for a request action.

                                                      + *

                                                      Represents the input for a request operation.

                                                      */ export interface CreateGameSessionInput { - /** - *

                                                      The maximum number of players that can be connected simultaneously to the game session.

                                                      - */ - MaximumPlayerSessionCount: number | undefined; - /** *

                                                      A unique identifier for an alias associated with the fleet to create a game session in. You can use either the * alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but @@ -2181,11 +2293,9 @@ export interface CreateGameSessionInput { AliasId?: string; /** - *

                                                      A unique identifier for a player or entity creating the game session. This ID is used to enforce a - * resource protection policy (if one exists) that limits the number of concurrent active - * game sessions one player can have.

                                                      + *

                                                      The maximum number of players that can be connected simultaneously to the game session.

                                                      */ - CreatorId?: string; + MaximumPlayerSessionCount: number | undefined; /** *

                                                      A descriptive label that is associated with a game session. Session names do not need to be unique.

                                                      @@ -2193,10 +2303,11 @@ export interface CreateGameSessionInput { Name?: string; /** - *

                                                      Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session).

                                                      + *

                                                      A unique identifier for a player or entity creating the game session. This ID is used to enforce a + * resource protection policy (if one exists) that limits the number of concurrent active + * game sessions one player can have.

                                                      */ - GameProperties?: GameProperty[]; + CreatorId?: string; /** *

                                                      Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the @@ -2204,6 +2315,12 @@ export interface CreateGameSessionInput { */ GameSessionData?: string; + /** + *

                                                      Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session).

                                                      + */ + GameProperties?: GameProperty[]; + /** *

                                                      * This parameter is no longer preferred. Please use @@ -2214,12 +2331,6 @@ export interface CreateGameSessionInput { */ GameSessionId?: string; - /** - *

                                                      A unique identifier for a fleet to create a game session in. You can use either the fleet ID or ARN value. Each - * request must reference either a fleet ID or alias ID, but not both.

                                                      - */ - FleetId?: string; - /** *

                                                      Custom string that uniquely identifies a request for a new game session. Maximum * token length is 48 characters. If provided, this string is included in the new game @@ -2229,6 +2340,12 @@ export interface CreateGameSessionInput { * deleted.

                                                      */ IdempotencyToken?: string; + + /** + *

                                                      A unique identifier for a fleet to create a game session in. You can use either the fleet ID or ARN value. Each + * request must reference either a fleet ID or alias ID, but not both.

                                                      + */ + FleetId?: string; } export namespace CreateGameSessionInput { @@ -2316,120 +2433,120 @@ export enum GameSessionStatusReason { */ export interface GameSession { /** - *

                                                      Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session).

                                                      + *

                                                      The maximum number of players that can be connected simultaneously to the game session.

                                                      */ - GameSessionData?: string; + MaximumPlayerSessionCount?: number; /** - *

                                                      Current status of the game session. A game session must have an ACTIVE - * status to have player sessions.

                                                      + *

                                                      A unique identifier for the game session. A game session ARN has the following format: + * arn:aws:gamelift:::gamesession//.

                                                      */ - Status?: GameSessionStatus | string; + GameSessionId?: string; /** - *

                                                      Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). You can search for active game sessions based on this custom data - * with SearchGameSessions.

                                                      + *

                                                      Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                      */ - GameProperties?: GameProperty[]; + TerminationTime?: Date; /** - *

                                                      DNS identifier assigned to the instance that is running the game session. Values have - * the following format:

                                                      - *
                                                        - *
                                                      • - *

                                                        TLS-enabled fleets: ..amazongamelift.com.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Non-TLS-enabled fleets: ec2-.compute.amazonaws.com. (See - * Amazon EC2 Instance IP Addressing.)

                                                        - *
                                                      • - *
                                                      - *

                                                      When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

                                                      + *

                                                      Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                      */ - DnsName?: string; + CreationTime?: Date; /** - *

                                                      - * The Amazon Resource Name (ARN) associated with the GameLift fleet that this game session is running on. - *

                                                      + *

                                                      A unique identifier for a fleet that the game session is running on.

                                                      */ - FleetArn?: string; + FleetId?: string; /** - *

                                                      Information about the matchmaking process that was used to create the game session. - * It is in JSON syntax, formatted as a string. In addition the matchmaking configuration - * used, it contains data on all players assigned to the match, including player attributes - * and team assignments. For more details on matchmaker data, see Match - * Data. Matchmaker data is useful when requesting match backfills, and is - * updated whenever new players are added during a successful backfill (see StartMatchBackfill).

                                                      + *

                                                      A unique identifier for a player. This ID is used to enforce a resource protection policy (if one + * exists), that limits the number of game sessions a player can create.

                                                      */ - MatchmakerData?: string; + CreatorId?: string; /** - *

                                                      A descriptive label that is associated with a game session. Session names do not need to be unique.

                                                      + *

                                                      Indicates whether or not the game session is accepting new players.

                                                      */ - Name?: string; + PlayerSessionCreationPolicy?: PlayerSessionCreationPolicy | string; /** - *

                                                      Number of players currently in the game session.

                                                      + *

                                                      Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

                                                      */ - CurrentPlayerSessionCount?: number; + Port?: number; /** - *

                                                      A unique identifier for the game session. A game session ARN has the following format: - * arn:aws:gamelift:::gamesession//.

                                                      + *

                                                      Provides additional information about game session status. INTERRUPTED + * indicates that the game session was hosted on a spot instance that was reclaimed, + * causing the active game session to be terminated.

                                                      */ - GameSessionId?: string; + StatusReason?: GameSessionStatusReason | string; /** - *

                                                      Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                      + *

                                                      Current status of the game session. A game session must have an ACTIVE + * status to have player sessions.

                                                      */ - TerminationTime?: Date; + Status?: GameSessionStatus | string; /** - *

                                                      Provides additional information about game session status. INTERRUPTED - * indicates that the game session was hosted on a spot instance that was reclaimed, - * causing the active game session to be terminated.

                                                      + *

                                                      IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

                                                      */ - StatusReason?: GameSessionStatusReason | string; + IpAddress?: string; /** - *

                                                      Indicates whether or not the game session is accepting new players.

                                                      + *

                                                      Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session). You can search for active game sessions based on this custom data + * with SearchGameSessions.

                                                      */ - PlayerSessionCreationPolicy?: PlayerSessionCreationPolicy | string; + GameProperties?: GameProperty[]; /** - *

                                                      The maximum number of players that can be connected simultaneously to the game session.

                                                      + *

                                                      + * The Amazon Resource Name (ARN) associated with the GameLift fleet that this game session is running on. + *

                                                      */ - MaximumPlayerSessionCount?: number; + FleetArn?: string; /** - *

                                                      Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                      + *

                                                      DNS identifier assigned to the instance that is running the game session. Values have + * the following format:

                                                      + *
                                                        + *
                                                      • + *

                                                        TLS-enabled fleets: ..amazongamelift.com.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Non-TLS-enabled fleets: ec2-.compute.amazonaws.com. (See + * Amazon EC2 Instance IP Addressing.)

                                                        + *
                                                      • + *
                                                      + *

                                                      When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

                                                      */ - CreationTime?: Date; + DnsName?: string; /** - *

                                                      A unique identifier for a player. This ID is used to enforce a resource protection policy (if one - * exists), that limits the number of game sessions a player can create.

                                                      + *

                                                      Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session).

                                                      */ - CreatorId?: string; + GameSessionData?: string; /** - *

                                                      Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

                                                      + *

                                                      Information about the matchmaking process that was used to create the game session. + * It is in JSON syntax, formatted as a string. In addition the matchmaking configuration + * used, it contains data on all players assigned to the match, including player attributes + * and team assignments. For more details on matchmaker data, see Match + * Data. Matchmaker data is useful when requesting match backfills, and is + * updated whenever new players are added during a successful backfill (see StartMatchBackfill).

                                                      */ - Port?: number; + MatchmakerData?: string; /** - *

                                                      A unique identifier for a fleet that the game session is running on.

                                                      + *

                                                      A descriptive label that is associated with a game session. Session names do not need to be unique.

                                                      */ - FleetId?: string; + Name?: string; /** - *

                                                      IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

                                                      + *

                                                      Number of players currently in the game session.

                                                      */ - IpAddress?: string; + CurrentPlayerSessionCount?: number; } export namespace GameSession { @@ -2439,7 +2556,7 @@ export namespace GameSession { } /** - *

                                                      Represents the returned data in response to a request action.

                                                      + *

                                                      Represents the returned data in response to a request operation.

                                                      */ export interface CreateGameSessionOutput { /** @@ -2616,9 +2733,32 @@ export namespace PlayerLatencyPolicy { } /** - *

                                                      Represents the input for a request action.

                                                      + *

                                                      Represents the input for a request operation.

                                                      */ export interface CreateGameSessionQueueInput { + /** + *

                                                      A collection of latency policies to apply when processing game sessions placement requests with + * player latency information. Multiple policies are evaluated in order of the maximum latency value, + * starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session + * placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. + * For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the + * remainder of the placement. A player latency policy must set a value for + * MaximumIndividualPlayerLatencyMilliseconds. If none is set, this API + * request fails.

                                                      + */ + PlayerLatencyPolicies?: PlayerLatencyPolicy[]; + + /** + *

                                                      A list of fleets that can be used to fulfill game session placement requests in the queue. + * Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

                                                      + */ + Destinations?: GameSessionQueueDestination[]; + + /** + *

                                                      A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

                                                      + */ + Name: string | undefined; + /** *

                                                      A list of labels to assign to the new game session queue resource. Tags are developer-defined * key-value pairs. Tagging @@ -2632,33 +2772,10 @@ export interface CreateGameSessionQueueInput { */ Tags?: Tag[]; - /** - *

                                                      A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

                                                      - */ - Name: string | undefined; - - /** - *

                                                      A list of fleets that can be used to fulfill game session placement requests in the queue. - * Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

                                                      - */ - Destinations?: GameSessionQueueDestination[]; - /** *

                                                      The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

                                                      */ TimeoutInSeconds?: number; - - /** - *

                                                      A collection of latency policies to apply when processing game sessions placement requests with - * player latency information. Multiple policies are evaluated in order of the maximum latency value, - * starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session - * placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. - * For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the - * remainder of the placement. A player latency policy must set a value for - * MaximumIndividualPlayerLatencyMilliseconds. If none is set, this API - * request fails.

                                                      - */ - PlayerLatencyPolicies?: PlayerLatencyPolicy[]; } export namespace CreateGameSessionQueueInput { @@ -2712,6 +2829,12 @@ export namespace CreateGameSessionQueueInput { *
                                                    */ export interface GameSessionQueue { + /** + *

                                                    A list of fleets that can be used to fulfill game session placement requests in the queue. + * Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

                                                    + */ + Destinations?: GameSessionQueueDestination[]; + /** *

                                                    A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

                                                    */ @@ -2733,12 +2856,6 @@ export interface GameSessionQueue { */ GameSessionQueueArn?: string; - /** - *

                                                    A list of fleets that can be used to fulfill game session placement requests in the queue. - * Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

                                                    - */ - Destinations?: GameSessionQueueDestination[]; - /** *

                                                    The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

                                                    */ @@ -2752,7 +2869,7 @@ export namespace GameSessionQueue { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface CreateGameSessionQueueOutput { /** @@ -2768,37 +2885,9 @@ export namespace CreateGameSessionQueueOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface CreateMatchmakingConfigurationInput { - /** - *

                                                    A human-readable description of the matchmaking configuration.

                                                    - */ - Description?: string; - - /** - *

                                                    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

                                                    - */ - GameProperties?: GameProperty[]; - - /** - *

                                                    An SNS topic ARN that is set up to receive matchmaking notifications.

                                                    - */ - NotificationTarget?: string; - - /** - *

                                                    A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a - * matchmaking request or ticket.

                                                    - */ - Name: string | undefined; - - /** - *

                                                    Information to be added to all events related to this matchmaking configuration. - *

                                                    - */ - CustomEventData?: string; - /** *

                                                    The maximum duration, in seconds, that a matchmaking ticket can remain in process * before timing out. Requests that fail due to timing out can be resubmitted as @@ -2817,11 +2906,11 @@ export interface CreateMatchmakingConfigurationInput { BackfillMode?: BackfillMode | string; /** - *

                                                    The length of time (in seconds) to wait for players to accept a proposed match. If any - * player rejects the match or fails to accept before the timeout, the ticket continues to - * look for an acceptable match.

                                                    + *

                                                    A flag that determines whether a match that was created with this configuration must + * be accepted by the matched players. To require acceptance, set to + * TRUE.

                                                    */ - AcceptanceTimeoutSeconds?: number; + AcceptanceRequired: boolean | undefined; /** *

                                                    A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN @@ -2831,18 +2920,11 @@ export interface CreateMatchmakingConfigurationInput { RuleSetName: string | undefined; /** - *

                                                    A flag that determines whether a match that was created with this configuration must - * be accepted by the matched players. To require acceptance, set to - * TRUE.

                                                    - */ - AcceptanceRequired: boolean | undefined; - - /** - *

                                                    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession - * object that is created for a successful match.

                                                    + *

                                                    The length of time (in seconds) to wait for players to accept a proposed match. If any + * player rejects the match or fails to accept before the timeout, the ticket continues to + * look for an acceptable match.

                                                    */ - GameSessionData?: string; + AcceptanceTimeoutSeconds?: number; /** *

                                                    The number of player slots in a match to keep open for future players. For example, @@ -2851,6 +2933,12 @@ export interface CreateMatchmakingConfigurationInput { */ AdditionalPlayerCount?: number; + /** + *

                                                    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created + * with this matchmaking configuration. Queues can be located in any Region.

                                                    + */ + GameSessionQueueArns: string[] | undefined; + /** *

                                                    A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined * key-value pairs. Tagging @@ -2865,10 +2953,39 @@ export interface CreateMatchmakingConfigurationInput { Tags?: Tag[]; /** - *

                                                    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created - * with this matchmaking configuration. Queues can be located in any Region.

                                                    + *

                                                    A human-readable description of the matchmaking configuration.

                                                    */ - GameSessionQueueArns: string[] | undefined; + Description?: string; + + /** + *

                                                    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession + * object that is created for a successful match.

                                                    + */ + GameSessionData?: string; + + /** + *

                                                    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

                                                    + */ + GameProperties?: GameProperty[]; + + /** + *

                                                    An SNS topic ARN that is set up to receive matchmaking notifications.

                                                    + */ + NotificationTarget?: string; + + /** + *

                                                    A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a + * matchmaking request or ticket.

                                                    + */ + Name: string | undefined; + + /** + *

                                                    Information to be added to all events related to this matchmaking configuration. + *

                                                    + */ + CustomEventData?: string; } export namespace CreateMatchmakingConfigurationInput { @@ -2883,102 +3000,102 @@ export namespace CreateMatchmakingConfigurationInput { */ export interface MatchmakingConfiguration { /** - *

                                                    The method used to backfill game sessions created with this matchmaking configuration. - * MANUAL indicates that the game makes backfill requests or does not use the match - * backfill feature. AUTOMATIC indicates that GameLift creates StartMatchBackfill requests whenever a game session has one or more open - * slots. Learn more about manual and automatic backfill in Backfill Existing Games - * with FlexMatch.

                                                    + *

                                                    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

                                                    */ - BackfillMode?: BackfillMode | string; + GameProperties?: GameProperty[]; /** - *

                                                    A flag that indicates whether a match that was created with this configuration must be - * accepted by the matched players. To require acceptance, set to TRUE.

                                                    + *

                                                    The length of time (in seconds) to wait for players to accept a proposed match. If any + * player rejects the match or fails to accept before the timeout, the ticket continues to + * look for an acceptable match.

                                                    */ - AcceptanceRequired?: boolean; + AcceptanceTimeoutSeconds?: number; /** - *

                                                    Amazon Resource Name (ARN) that is assigned to a GameLift matchmaking configuration resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift configuration ARN, the resource ID matches the - * Name value.

                                                    + *

                                                    A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a + * matchmaking request or ticket.

                                                    */ - ConfigurationArn?: string; + Name?: string; /** - *

                                                    The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                    + *

                                                    The maximum duration, in seconds, that a matchmaking ticket can remain in process + * before timing out. Requests that fail due to timing out can be resubmitted as + * needed.

                                                    */ - CreationTime?: Date; + RequestTimeoutSeconds?: number; /** - *

                                                    A descriptive label that is associated with matchmaking configuration.

                                                    + *

                                                    Information to attach to all events related to the matchmaking configuration.

                                                    */ - Description?: string; + CustomEventData?: string; /** - *

                                                    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. GameLift uses the listed queues when placing game sessions for matches that are - * created with this matchmaking configuration. Queues can be located in any Region.

                                                    + *

                                                    An SNS topic ARN that is set up to receive matchmaking notifications.

                                                    */ - GameSessionQueueArns?: string[]; + NotificationTarget?: string; /** - *

                                                    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession - * object that is created for a successful match.

                                                    + *

                                                    A flag that indicates whether a match that was created with this configuration must be + * accepted by the matched players. To require acceptance, set to TRUE.

                                                    */ - GameSessionData?: string; + AcceptanceRequired?: boolean; /** - *

                                                    The Amazon Resource Name (ARN) associated with the GameLift matchmaking rule set resource that this configuration uses.

                                                    + *

                                                    The method used to backfill game sessions created with this matchmaking configuration. + * MANUAL indicates that the game makes backfill requests or does not use the match + * backfill feature. AUTOMATIC indicates that GameLift creates StartMatchBackfill requests whenever a game session has one or more open + * slots. Learn more about manual and automatic backfill in Backfill Existing Games + * with FlexMatch.

                                                    */ - RuleSetArn?: string; + BackfillMode?: BackfillMode | string; /** - *

                                                    The number of player slots in a match to keep open for future players. For example, - * assume that the configuration's rule set specifies a match for a single 12-person team. If - * the additional player count is set to 2, only 10 players are initially selected for the match.

                                                    + *

                                                    Amazon Resource Name (ARN) that is assigned to a GameLift matchmaking configuration resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift configuration ARN, the resource ID matches the + * Name value.

                                                    */ - AdditionalPlayerCount?: number; + ConfigurationArn?: string; /** - *

                                                    A unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use - * rule sets that are defined in the same Region.

                                                    + *

                                                    A descriptive label that is associated with matchmaking configuration.

                                                    */ - RuleSetName?: string; + Description?: string; /** - *

                                                    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

                                                    + *

                                                    The Amazon Resource Name (ARN) associated with the GameLift matchmaking rule set resource that this configuration uses.

                                                    */ - GameProperties?: GameProperty[]; + RuleSetArn?: string; /** - *

                                                    The length of time (in seconds) to wait for players to accept a proposed match. If any - * player rejects the match or fails to accept before the timeout, the ticket continues to - * look for an acceptable match.

                                                    + *

                                                    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. GameLift uses the listed queues when placing game sessions for matches that are + * created with this matchmaking configuration. Queues can be located in any Region.

                                                    */ - AcceptanceTimeoutSeconds?: number; + GameSessionQueueArns?: string[]; /** - *

                                                    An SNS topic ARN that is set up to receive matchmaking notifications.

                                                    + *

                                                    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession + * object that is created for a successful match.

                                                    */ - NotificationTarget?: string; + GameSessionData?: string; /** - *

                                                    The maximum duration, in seconds, that a matchmaking ticket can remain in process - * before timing out. Requests that fail due to timing out can be resubmitted as - * needed.

                                                    + *

                                                    The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                    */ - RequestTimeoutSeconds?: number; + CreationTime?: Date; /** - *

                                                    Information to attach to all events related to the matchmaking configuration.

                                                    + *

                                                    The number of player slots in a match to keep open for future players. For example, + * assume that the configuration's rule set specifies a match for a single 12-person team. If + * the additional player count is set to 2, only 10 players are initially selected for the match.

                                                    */ - CustomEventData?: string; + AdditionalPlayerCount?: number; /** - *

                                                    A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a - * matchmaking request or ticket.

                                                    + *

                                                    A unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use + * rule sets that are defined in the same Region.

                                                    */ - Name?: string; + RuleSetName?: string; } export namespace MatchmakingConfiguration { @@ -2988,7 +3105,7 @@ export namespace MatchmakingConfiguration { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface CreateMatchmakingConfigurationOutput { /** @@ -3004,9 +3121,15 @@ export namespace CreateMatchmakingConfigurationOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface CreateMatchmakingRuleSetInput { + /** + *

                                                    A collection of matchmaking rules, formatted as a JSON string. Comments are not + * allowed in JSON, but most elements support a description field.

                                                    + */ + RuleSetBody: string | undefined; + /** *

                                                    A list of labels to assign to the new matchmaking rule set resource. Tags are developer-defined * key-value pairs. Tagging @@ -3020,12 +3143,6 @@ export interface CreateMatchmakingRuleSetInput { */ Tags?: Tag[]; - /** - *

                                                    A collection of matchmaking rules, formatted as a JSON string. Comments are not - * allowed in JSON, but most elements support a description field.

                                                    - */ - RuleSetBody: string | undefined; - /** *

                                                    A unique identifier for a matchmaking rule set. A matchmaking configuration identifies the rule set it uses by this name * value. Note that the rule set name is different from the optional name @@ -3085,6 +3202,12 @@ export interface MatchmakingRuleSet { */ RuleSetName?: string; + /** + *

                                                    Amazon Resource Name (ARN) that is assigned to a GameLift matchmaking rule set resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift rule set ARN, the resource ID matches the + * RuleSetName value.

                                                    + */ + RuleSetArn?: string; + /** *

                                                    A collection of matchmaking rules, formatted as a JSON string. Comments are not * allowed in JSON, but most elements support a description field.

                                                    @@ -3095,12 +3218,6 @@ export interface MatchmakingRuleSet { *

                                                    The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                    */ CreationTime?: Date; - - /** - *

                                                    Amazon Resource Name (ARN) that is assigned to a GameLift matchmaking rule set resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift rule set ARN, the resource ID matches the - * RuleSetName value.

                                                    - */ - RuleSetArn?: string; } export namespace MatchmakingRuleSet { @@ -3110,7 +3227,7 @@ export namespace MatchmakingRuleSet { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface CreateMatchmakingRuleSetOutput { /** @@ -3126,18 +3243,18 @@ export namespace CreateMatchmakingRuleSetOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface CreatePlayerSessionInput { /** - *

                                                    Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

                                                    + *

                                                    A unique identifier for the game session to add a player to.

                                                    */ - PlayerData?: string; + GameSessionId: string | undefined; /** - *

                                                    A unique identifier for the game session to add a player to.

                                                    + *

                                                    Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

                                                    */ - GameSessionId: string | undefined; + PlayerData?: string; /** *

                                                    A unique identifier for a player. Player IDs are developer-defined.

                                                    @@ -3244,20 +3361,14 @@ export interface PlayerSession { Status?: PlayerSessionStatus | string; /** - *

                                                    Port number for the game session. To connect to a Amazon GameLift server process, an app - * needs both the IP address and port number.

                                                    - */ - Port?: number; - - /** - *

                                                    A unique identifier for a player that is associated with this player session.

                                                    + *

                                                    Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                    */ - PlayerId?: string; + TerminationTime?: Date; /** - *

                                                    A unique identifier for a fleet that the player's game session is running on.

                                                    + *

                                                    A unique identifier for a player session.

                                                    */ - FleetId?: string; + PlayerSessionId?: string; /** *

                                                    DNS identifier assigned to the instance that is running the game session. Values have @@ -3276,9 +3387,15 @@ export interface PlayerSession { DnsName?: string; /** - *

                                                    A unique identifier for a player session.

                                                    + *

                                                    A unique identifier for a player that is associated with this player session.

                                                    */ - PlayerSessionId?: string; + PlayerId?: string; + + /** + *

                                                    Port number for the game session. To connect to a Amazon GameLift server process, an app + * needs both the IP address and port number.

                                                    + */ + Port?: number; /** *

                                                    Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                    @@ -3286,9 +3403,16 @@ export interface PlayerSession { CreationTime?: Date; /** - *

                                                    Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                    + *

                                                    A unique identifier for a fleet that the player's game session is running on.

                                                    */ - TerminationTime?: Date; + FleetId?: string; + + /** + *

                                                    + * The Amazon Resource Name (ARN) associated with the GameLift fleet that the player's game session is running on. + *

                                                    + */ + FleetArn?: string; /** *

                                                    IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

                                                    @@ -3299,13 +3423,6 @@ export interface PlayerSession { *

                                                    Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

                                                    */ PlayerData?: string; - - /** - *

                                                    - * The Amazon Resource Name (ARN) associated with the GameLift fleet that the player's game session is running on. - *

                                                    - */ - FleetArn?: string; } export namespace PlayerSession { @@ -3315,7 +3432,7 @@ export namespace PlayerSession { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface CreatePlayerSessionOutput { /** @@ -3364,7 +3481,7 @@ export namespace InvalidGameSessionStatusException { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface CreatePlayerSessionsInput { /** @@ -3372,11 +3489,6 @@ export interface CreatePlayerSessionsInput { */ GameSessionId: string | undefined; - /** - *

                                                    List of unique identifiers for the players to be added.

                                                    - */ - PlayerIds: string[] | undefined; - /** *

                                                    Map of string pairs, each specifying a player ID and a set of developer-defined * information related to the player. Amazon GameLift does not use this data, so it can be formatted @@ -3384,6 +3496,11 @@ export interface CreatePlayerSessionsInput { * PlayerIds parameter are ignored.

                                                    */ PlayerDataMap?: { [key: string]: string }; + + /** + *

                                                    List of unique identifiers for the players to be added.

                                                    + */ + PlayerIds: string[] | undefined; } export namespace CreatePlayerSessionsInput { @@ -3393,7 +3510,7 @@ export namespace CreatePlayerSessionsInput { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface CreatePlayerSessionsOutput { /** @@ -3416,10 +3533,12 @@ export interface CreateScriptInput { Version?: string; /** - *

                                                    A descriptive label that is associated with a script. Script names do not need to be unique. You can use UpdateScript to change this value later. - *

                                                    + *

                                                    A data object containing your Realtime scripts and dependencies as a zip file. The zip + * file can have one or multiple files. Maximum size of a zip file is 5 MB.

                                                    + *

                                                    When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the + * string "fileb://" to indicate that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.

                                                    */ - Name?: string; + ZipFile?: Uint8Array; /** *

                                                    A list of labels to assign to the new script resource. Tags are developer-defined @@ -3435,12 +3554,10 @@ export interface CreateScriptInput { Tags?: Tag[]; /** - *

                                                    A data object containing your Realtime scripts and dependencies as a zip file. The zip - * file can have one or multiple files. Maximum size of a zip file is 5 MB.

                                                    - *

                                                    When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the - * string "fileb://" to indicate that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.

                                                    + *

                                                    A descriptive label that is associated with a script. Script names do not need to be unique. You can use UpdateScript to change this value later. + *

                                                    */ - ZipFile?: Uint8Array; + Name?: string; /** *

                                                    The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is @@ -3494,6 +3611,11 @@ export namespace CreateScriptInput { *

                                                  */ export interface Script { + /** + *

                                                  A descriptive label that is associated with a script. Script names do not need to be unique.

                                                  + */ + Name?: string; + /** *

                                                  The location in S3 where build or script files are stored for access by Amazon GameLift. This * location is specified in CreateBuild, CreateScript, @@ -3501,12 +3623,6 @@ export interface Script { */ StorageLocation?: S3Location; - /** - *

                                                  The file size of the uploaded Realtime script, expressed in bytes. When files are - * uploaded from an S3 location, this value remains at "0".

                                                  - */ - SizeOnDisk?: number; - /** *

                                                  Amazon Resource Name (ARN) that is assigned to a GameLift script resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift script ARN, the resource ID matches the * ScriptId value.

                                                  @@ -3519,14 +3635,15 @@ export interface Script { Version?: string; /** - *

                                                  A time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  + *

                                                  The file size of the uploaded Realtime script, expressed in bytes. When files are + * uploaded from an S3 location, this value remains at "0".

                                                  */ - CreationTime?: Date; + SizeOnDisk?: number; /** - *

                                                  A descriptive label that is associated with a script. Script names do not need to be unique.

                                                  + *

                                                  A time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  */ - Name?: string; + CreationTime?: Date; /** *

                                                  A unique identifier for a Realtime script

                                                  @@ -3559,9 +3676,15 @@ export namespace CreateScriptOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface CreateVpcPeeringAuthorizationInput { + /** + *

                                                  A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. + * You can find your Account ID in the AWS Management Console under account settings.

                                                  + */ + GameLiftAwsAccountId: string | undefined; + /** *

                                                  A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The * VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the @@ -3569,12 +3692,6 @@ export interface CreateVpcPeeringAuthorizationInput { * Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

                                                  */ PeerVpcId: string | undefined; - - /** - *

                                                  A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. - * You can find your Account ID in the AWS Management Console under account settings.

                                                  - */ - GameLiftAwsAccountId: string | undefined; } export namespace CreateVpcPeeringAuthorizationInput { @@ -3628,15 +3745,15 @@ export interface VpcPeeringAuthorization { PeerVpcAwsAccountId?: string; /** - *

                                                  Time stamp indicating when this authorization expires (24 hours after issuance). - * Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  + *

                                                  Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  */ - ExpirationTime?: Date; + CreationTime?: Date; /** - *

                                                  Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  + *

                                                  Time stamp indicating when this authorization expires (24 hours after issuance). + * Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  */ - CreationTime?: Date; + ExpirationTime?: Date; /** *

                                                  A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The @@ -3660,7 +3777,7 @@ export namespace VpcPeeringAuthorization { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface CreateVpcPeeringAuthorizationOutput { /** @@ -3676,15 +3793,9 @@ export namespace CreateVpcPeeringAuthorizationOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface CreateVpcPeeringConnectionInput { - /** - *

                                                  A unique identifier for a fleet. You can use either the fleet ID or ARN value. This tells Amazon GameLift which GameLift - * VPC to peer with.

                                                  - */ - FleetId: string | undefined; - /** *

                                                  A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The * VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the @@ -3699,6 +3810,12 @@ export interface CreateVpcPeeringConnectionInput { * settings.

                                                  */ PeerVpcAwsAccountId: string | undefined; + + /** + *

                                                  A unique identifier for a fleet. You can use either the fleet ID or ARN value. This tells Amazon GameLift which GameLift + * VPC to peer with.

                                                  + */ + FleetId: string | undefined; } export namespace CreateVpcPeeringConnectionInput { @@ -3716,7 +3833,7 @@ export namespace CreateVpcPeeringConnectionOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DeleteAliasInput { /** @@ -3733,7 +3850,7 @@ export namespace DeleteAliasInput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DeleteBuildInput { /** @@ -3749,7 +3866,7 @@ export namespace DeleteBuildInput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DeleteFleetInput { /** @@ -3772,27 +3889,31 @@ export enum GameServerGroupDeleteOption { export interface DeleteGameServerGroupInput { /** - *

                                                  The type of delete to perform. Options include:

                                                  + *

                                                  The type of delete to perform. Options include the following:

                                                  *
                                                    *
                                                  • - *

                                                    SAFE_DELETE – Terminates the game server group and EC2 Auto Scaling group only - * when it has no game servers that are in IN_USE status.

                                                    + *

                                                    + * SAFE_DELETE – Terminates the game server group and EC2 Auto + * Scaling group only when it has no game servers that are in UTILIZED + * status.

                                                    *
                                                  • *
                                                  • - *

                                                    FORCE_DELETE – Terminates the game server group, including all active game - * servers regardless of their utilization status, and the EC2 Auto Scaling group. - *

                                                    + *

                                                    + * FORCE_DELETE – Terminates the game server group, including all + * active game servers regardless of their utilization status, and the EC2 Auto + * Scaling group.

                                                    *
                                                  • *
                                                  • - *

                                                    RETAIN – Does a safe delete of the game server group but retains the EC2 Auto - * Scaling group as is.

                                                    + *

                                                    + * RETAIN – Does a safe delete of the game server group but retains + * the EC2 Auto Scaling group as is.

                                                    *
                                                  • *
                                                  */ DeleteOption?: GameServerGroupDeleteOption | string; /** - *

                                                  The unique identifier of the game server group to delete. Use either the GameServerGroup name or ARN value.

                                                  + *

                                                  A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

                                                  */ GameServerGroupName: string | undefined; } @@ -3806,7 +3927,7 @@ export namespace DeleteGameServerGroupInput { export interface DeleteGameServerGroupOutput { /** *

                                                  An object that describes the deleted game server group resource, with status updated - * to DELETE_SCHEDULED.

                                                  + * to DELETE_SCHEDULED.

                                                  */ GameServerGroup?: GameServerGroup; } @@ -3818,7 +3939,7 @@ export namespace DeleteGameServerGroupOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DeleteGameSessionQueueInput { /** @@ -3842,7 +3963,7 @@ export namespace DeleteGameSessionQueueOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DeleteMatchmakingConfigurationInput { /** @@ -3866,7 +3987,7 @@ export namespace DeleteMatchmakingConfigurationOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DeleteMatchmakingRuleSetInput { /** @@ -3883,7 +4004,7 @@ export namespace DeleteMatchmakingRuleSetInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DeleteMatchmakingRuleSetOutput {} @@ -3894,7 +4015,7 @@ export namespace DeleteMatchmakingRuleSetOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DeleteScalingPolicyInput { /** @@ -3928,7 +4049,7 @@ export namespace DeleteScriptInput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DeleteVpcPeeringAuthorizationInput { /** @@ -3961,19 +4082,19 @@ export namespace DeleteVpcPeeringAuthorizationOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DeleteVpcPeeringConnectionInput { - /** - *

                                                  A unique identifier for a VPC peering connection. This value is included in the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections.

                                                  - */ - VpcPeeringConnectionId: string | undefined; - /** *

                                                  A unique identifier for a fleet. This fleet specified must match the fleet referenced in the VPC peering * connection record. You can use either the fleet ID or ARN value.

                                                  */ FleetId: string | undefined; + + /** + *

                                                  A unique identifier for a VPC peering connection. This value is included in the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections.

                                                  + */ + VpcPeeringConnectionId: string | undefined; } export namespace DeleteVpcPeeringConnectionInput { @@ -3992,15 +4113,15 @@ export namespace DeleteVpcPeeringConnectionOutput { export interface DeregisterGameServerInput { /** - *

                                                  An identifier for the game server group where the game server to be de-registered is - * running. Use either the GameServerGroup name or ARN value.

                                                  + *

                                                  A custom string that uniquely identifies the game server to deregister.

                                                  */ - GameServerGroupName: string | undefined; + GameServerId: string | undefined; /** - *

                                                  The identifier for the game server to be de-registered.

                                                  + *

                                                  A unique identifier for the game server group where the game server is running. + * Use either the GameServerGroup name or ARN value.

                                                  */ - GameServerId: string | undefined; + GameServerGroupName: string | undefined; } export namespace DeregisterGameServerInput { @@ -4010,7 +4131,7 @@ export namespace DeregisterGameServerInput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeAliasInput { /** @@ -4027,7 +4148,7 @@ export namespace DescribeAliasInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeAliasOutput { /** @@ -4043,7 +4164,7 @@ export namespace DescribeAliasOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeBuildInput { /** @@ -4059,7 +4180,7 @@ export namespace DescribeBuildInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeBuildOutput { /** @@ -4075,7 +4196,7 @@ export namespace DescribeBuildOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeEC2InstanceLimitsInput { /** @@ -4128,7 +4249,7 @@ export namespace EC2InstanceLimit { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeEC2InstanceLimitsOutput { /** @@ -4145,16 +4266,14 @@ export namespace DescribeEC2InstanceLimitsOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeFleetAttributesInput { /** - *

                                                  A list of unique fleet identifiers to retrieve attributes for. You can use either the - * fleet ID or ARN value. To retrieve attributes for all current fleets, do not include - * this parameter. If the list of fleet identifiers includes fleets that don't currently - * exist, the request succeeds but no attributes for that fleet are returned.

                                                  + *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet + * IDs.

                                                  */ - FleetIds?: string[]; + NextToken?: string; /** *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet @@ -4163,10 +4282,12 @@ export interface DescribeFleetAttributesInput { Limit?: number; /** - *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet - * IDs.

                                                  + *

                                                  A list of unique fleet identifiers to retrieve attributes for. You can use either the + * fleet ID or ARN value. To retrieve attributes for all current fleets, do not include + * this parameter. If the list of fleet identifiers includes fleets that don't currently + * exist, the request succeeds but no attributes for that fleet are returned.

                                                  */ - NextToken?: string; + FleetIds?: string[]; } export namespace DescribeFleetAttributesInput { @@ -4176,7 +4297,7 @@ export namespace DescribeFleetAttributesInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeFleetAttributesOutput { /** @@ -4186,7 +4307,7 @@ export interface DescribeFleetAttributesOutput { FleetAttributes?: FleetAttributes[]; /** - *

                                                  Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ NextToken?: string; } @@ -4198,7 +4319,7 @@ export namespace DescribeFleetAttributesOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeFleetCapacityInput { /** @@ -4214,7 +4335,7 @@ export interface DescribeFleetCapacityInput { FleetIds?: string[]; /** - *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet + *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet * IDs.

                                                  */ NextToken?: string; @@ -4282,11 +4403,6 @@ export interface EC2InstanceCounts { */ IDLE?: number; - /** - *

                                                  The maximum value allowed for the fleet's instance count.

                                                  - */ - MAXIMUM?: number; - /** *

                                                  Number of instances in the fleet that are starting but not yet active.

                                                  */ @@ -4297,6 +4413,11 @@ export interface EC2InstanceCounts { */ DESIRED?: number; + /** + *

                                                  The maximum value allowed for the fleet's instance count.

                                                  + */ + MAXIMUM?: number; + /** *

                                                  The minimum value allowed for the fleet's instance count.

                                                  */ @@ -4375,7 +4496,7 @@ export namespace FleetCapacity { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeFleetCapacityOutput { /** @@ -4385,7 +4506,7 @@ export interface DescribeFleetCapacityOutput { FleetCapacity?: FleetCapacity[]; /** - *

                                                  Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ NextToken?: string; } @@ -4397,18 +4518,11 @@ export namespace DescribeFleetCapacityOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeFleetEventsInput { /** - *

                                                  Most recent date to retrieve event logs for. If no end time is specified, this call - * returns entries from the specified start time up to the present. Format is a number - * expressed in Unix time as milliseconds (ex: "1469498468.057").

                                                  - */ - EndTime?: Date; - - /** - *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                  + *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                  */ NextToken?: string; @@ -4429,6 +4543,13 @@ export interface DescribeFleetEventsInput { *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

                                                  */ Limit?: number; + + /** + *

                                                  Most recent date to retrieve event logs for. If no end time is specified, this call + * returns entries from the specified start time up to the present. Format is a number + * expressed in Unix time as milliseconds (ex: "1469498468.057").

                                                  + */ + EndTime?: Date; } export namespace DescribeFleetEventsInput { @@ -4491,6 +4612,11 @@ export interface Event { */ PreSignedLogUrl?: string; + /** + *

                                                  Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  + */ + EventTime?: Date; + /** *

                                                  A unique identifier for an event resource, such as a fleet ID.

                                                  */ @@ -4501,11 +4627,6 @@ export interface Event { */ Message?: string; - /** - *

                                                  Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  - */ - EventTime?: Date; - /** *

                                                  The type of event being logged.

                                                  *

                                                  @@ -4653,11 +4774,11 @@ export namespace Event { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeFleetEventsOutput { /** - *

                                                  Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ NextToken?: string; @@ -4675,7 +4796,7 @@ export namespace DescribeFleetEventsOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeFleetPortSettingsInput { /** @@ -4692,7 +4813,7 @@ export namespace DescribeFleetPortSettingsInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeFleetPortSettingsOutput { /** @@ -4708,9 +4829,17 @@ export namespace DescribeFleetPortSettingsOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeFleetUtilizationInput { + /** + *

                                                  A unique identifier for a fleet(s) to retrieve utilization data for. You can use either the fleet ID or ARN + * value. To retrieve attributes for all current fleets, do not include this parameter. If + * the list of fleet identifiers includes fleets that don't currently exist, the request + * succeeds but no attributes for that fleet are returned.

                                                  + */ + FleetIds?: string[]; + /** *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet * IDs.

                                                  @@ -4718,18 +4847,10 @@ export interface DescribeFleetUtilizationInput { Limit?: number; /** - *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet + *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet * IDs.

                                                  */ NextToken?: string; - - /** - *

                                                  A unique identifier for a fleet(s) to retrieve utilization data for. You can use either the fleet ID or ARN - * value. To retrieve attributes for all current fleets, do not include this parameter. If - * the list of fleet identifiers includes fleets that don't currently exist, the request - * succeeds but no attributes for that fleet are returned.

                                                  - */ - FleetIds?: string[]; } export namespace DescribeFleetUtilizationInput { @@ -4779,7 +4900,13 @@ export interface FleetUtilization { *

                                                  The maximum number of players allowed across all game sessions currently being hosted on all * instances in the fleet.

                                                  */ - MaximumPlayerSessionCount?: number; + MaximumPlayerSessionCount?: number; + + /** + *

                                                  Number of active game sessions currently being hosted on all instances in the + * fleet.

                                                  + */ + ActiveGameSessionCount?: number; /** *

                                                  Number of active player sessions currently being hosted on all instances in the @@ -4792,12 +4919,6 @@ export interface FleetUtilization { */ FleetId?: string; - /** - *

                                                  Number of active game sessions currently being hosted on all instances in the - * fleet.

                                                  - */ - ActiveGameSessionCount?: number; - /** *

                                                  Number of server processes in an ACTIVE status currently running * across all instances in the fleet

                                                  @@ -4812,11 +4933,11 @@ export namespace FleetUtilization { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeFleetUtilizationOutput { /** - *

                                                  Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ NextToken?: string; @@ -4835,13 +4956,13 @@ export namespace DescribeFleetUtilizationOutput { export interface DescribeGameServerInput { /** - *

                                                  The identifier for the game server to be retrieved.

                                                  + *

                                                  A custom string that uniquely identifies the game server information to be retrieved.

                                                  */ GameServerId: string | undefined; /** - *

                                                  An identifier for the game server group where the game server is running. Use either - * the GameServerGroup name or ARN value.

                                                  + *

                                                  A unique identifier for the game server group where the game server is running. + * Use either the GameServerGroup name or ARN value.

                                                  */ GameServerGroupName: string | undefined; } @@ -4854,7 +4975,7 @@ export namespace DescribeGameServerInput { export interface DescribeGameServerOutput { /** - *

                                                  Object that describes the requested game server resource.

                                                  + *

                                                  Object that describes the requested game server.

                                                  */ GameServer?: GameServer; } @@ -4867,7 +4988,7 @@ export namespace DescribeGameServerOutput { export interface DescribeGameServerGroupInput { /** - *

                                                  The unique identifier for the game server group being requested. Use either the GameServerGroup name or ARN value.

                                                  + *

                                                  A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

                                                  */ GameServerGroupName: string | undefined; } @@ -4880,7 +5001,7 @@ export namespace DescribeGameServerGroupInput { export interface DescribeGameServerGroupOutput { /** - *

                                                  An object that describes the requested game server group resource.

                                                  + *

                                                  An object with the property settings for the requested game server group resource.

                                                  */ GameServerGroup?: GameServerGroup; } @@ -4891,8 +5012,179 @@ export namespace DescribeGameServerGroupOutput { }); } +export interface DescribeGameServerInstancesInput { + /** + *

                                                  A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

                                                  + */ + GameServerGroupName: string | undefined; + + /** + *

                                                  + * A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value. + *

                                                  + */ + NextToken?: string; + + /** + *

                                                  + * The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential segments. + *

                                                  + */ + Limit?: number; + + /** + *

                                                  The EC2 instance IDs that you want to retrieve status on. EC2 instance IDs use a + * 17-character format, for example: i-1234567890abcdef0. To retrieve all + * instances in the game server group, leave this parameter empty.

                                                  + */ + InstanceIds?: string[]; +} + +export namespace DescribeGameServerInstancesInput { + export const filterSensitiveLog = (obj: DescribeGameServerInstancesInput): any => ({ + ...obj, + }); +} + +export enum GameServerInstanceStatus { + ACTIVE = "ACTIVE", + DRAINING = "DRAINING", + SPOT_TERMINATING = "SPOT_TERMINATING", +} + +/** + *

                                                  + * This data type is used with the Amazon GameLift FleetIQ and game server groups. + *

                                                  + *

                                                  Additional properties, including status, that describe an EC2 instance in a game + * server group. Instance configurations are set with game server group properties (see + * DescribeGameServerGroup and with the EC2 launch template that was used + * when creating the game server group.

                                                  + *

                                                  Retrieve game server instances for a game server group by calling + * DescribeGameServerInstances.

                                                  + * + */ +export interface GameServerInstance { + /** + *

                                                  A developer-defined identifier for the game server group that includes the game + * server instance. The name is unique for each Region in each AWS account.

                                                  + */ + GameServerGroupName?: string; + + /** + *

                                                  + * Current status of the game server instance. + *

                                                  + *
                                                    + *
                                                  • + *

                                                    + * ACTIVE -- The instance is viable for hosting + * game servers.

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * DRAINING -- The instance is not viable for + * hosting game servers. Existing game servers are in the process of ending, and + * new game servers are not started on this instance unless no other resources are + * available. When the instance is put in DRAINING, a new instance is started up to + * replace it. Once the instance has no UTILIZED game servers, it will be terminated + * in favor of the new instance.

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * SPOT_TERMINATING -- The instance is in the + * process of shutting down due to a Spot instance interruption. No new game + * servers are started on this instance.

                                                    + *
                                                  • + *
                                                  + */ + InstanceStatus?: GameServerInstanceStatus | string; + + /** + *

                                                  A generated unique identifier for the game server group that includes the game + * server instance.

                                                  + */ + GameServerGroupArn?: string; + + /** + *

                                                  The unique identifier for the instance where the game server is running. This ID is + * available in the instance metadata. EC2 instance IDs + * use a 17-character format, for example: i-1234567890abcdef0.

                                                  + */ + InstanceId?: string; +} + +export namespace GameServerInstance { + export const filterSensitiveLog = (obj: GameServerInstance): any => ({ + ...obj, + }); +} + +export interface DescribeGameServerInstancesOutput { + /** + *

                                                  + * A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list. + *

                                                  + */ + NextToken?: string; + + /** + *

                                                  + * The collection of requested game server instances. + *

                                                  + */ + GameServerInstances?: GameServerInstance[]; +} + +export namespace DescribeGameServerInstancesOutput { + export const filterSensitiveLog = (obj: DescribeGameServerInstancesOutput): any => ({ + ...obj, + }); +} + /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeGameSessionDetailsInput { /** @@ -4901,12 +5193,6 @@ export interface DescribeGameSessionDetailsInput { */ FleetId?: string; - /** - *

                                                  A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either - * the alias ID or ARN value.

                                                  - */ - AliasId?: string; - /** *

                                                  Game session status to filter results on. Possible game session statuses include * ACTIVE, TERMINATED, ACTIVATING and @@ -4915,10 +5201,16 @@ export interface DescribeGameSessionDetailsInput { StatusFilter?: string; /** - *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                  + *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                  */ NextToken?: string; + /** + *

                                                  A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either + * the alias ID or ARN value.

                                                  + */ + AliasId?: string; + /** *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

                                                  */ @@ -4972,11 +5264,11 @@ export namespace GameSessionDetail { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeGameSessionDetailsOutput { /** - *

                                                  Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ NextToken?: string; @@ -4994,7 +5286,7 @@ export namespace DescribeGameSessionDetailsOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeGameSessionPlacementInput { /** @@ -5133,27 +5425,46 @@ export enum GameSessionPlacementState { */ export interface GameSessionPlacement { /** - *

                                                  A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

                                                  + *

                                                  Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  */ - GameSessionQueueName?: string; + StartTime?: Date; /** - *

                                                  Identifier for the game session created by this placement request. This value is - * set once the new game session is placed (placement status is FULFILLED). - * This identifier is unique across all Regions. You can use this value as a - * GameSessionId value as needed.

                                                  + *

                                                  Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session).

                                                  */ - GameSessionArn?: string; + GameSessionData?: string; /** - *

                                                  The maximum number of players that can be connected simultaneously to the game session.

                                                  + *

                                                  A collection of information on player sessions created in response to the game + * session placement request. These player sessions are created only once a new game + * session is successfully placed (placement status is FULFILLED). This + * information includes the player ID (as provided in the placement request) and the + * corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the player session ID.

                                                  */ - MaximumPlayerSessionCount?: number; + PlacedPlayerSessions?: PlacedPlayerSession[]; /** - *

                                                  A unique identifier for a game session placement.

                                                  + *

                                                  Time stamp indicating when this request was completed, canceled, or timed + * out.

                                                  */ - PlacementId?: string; + EndTime?: Date; + + /** + *

                                                  Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions.

                                                  + */ + PlayerLatencies?: PlayerLatency[]; + + /** + *

                                                  IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number. This value is set once the new game session is placed (placement status is + * FULFILLED).

                                                  + */ + IpAddress?: string; + + /** + *

                                                  A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

                                                  + */ + GameSessionQueueName?: string; /** *

                                                  Information on the matchmaking process for this game. Data is in JSON syntax, @@ -5164,12 +5475,30 @@ export interface GameSessionPlacement { */ MatchmakerData?: string; + /** + *

                                                  The maximum number of players that can be connected simultaneously to the game session.

                                                  + */ + MaximumPlayerSessionCount?: number; + /** *

                                                  A unique identifier for the game session. This value is set once the new game session is placed (placement status is * FULFILLED).

                                                  */ GameSessionId?: string; + /** + *

                                                  Identifier for the game session created by this placement request. This value is + * set once the new game session is placed (placement status is FULFILLED). + * This identifier is unique across all Regions. You can use this value as a + * GameSessionId value as needed.

                                                  + */ + GameSessionArn?: string; + + /** + *

                                                  A unique identifier for a game session placement.

                                                  + */ + PlacementId?: string; + /** *

                                                  DNS identifier assigned to the instance that is running the game session. Values have * the following format:

                                                  @@ -5187,15 +5516,10 @@ export interface GameSessionPlacement { DnsName?: string; /** - *

                                                  A descriptive label that is associated with a game session. Session names do not need to be unique.

                                                  - */ - GameSessionName?: string; - - /** - *

                                                  Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is - * FULFILLED).

                                                  + *

                                                  Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session).

                                                  */ - Port?: number; + GameProperties?: GameProperty[]; /** *

                                                  Name of the Region where the game session created by this placement request is @@ -5205,10 +5529,15 @@ export interface GameSessionPlacement { GameSessionRegion?: string; /** - *

                                                  IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number. This value is set once the new game session is placed (placement status is - * FULFILLED).

                                                  + *

                                                  A descriptive label that is associated with a game session. Session names do not need to be unique.

                                                  */ - IpAddress?: string; + GameSessionName?: string; + + /** + *

                                                  Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is + * FULFILLED).

                                                  + */ + Port?: number; /** *

                                                  Current status of the game session placement request.

                                                  @@ -5246,43 +5575,6 @@ export interface GameSessionPlacement { *
                                                */ Status?: GameSessionPlacementState | string; - - /** - *

                                                Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session).

                                                - */ - GameProperties?: GameProperty[]; - - /** - *

                                                Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session).

                                                - */ - GameSessionData?: string; - - /** - *

                                                Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                - */ - StartTime?: Date; - - /** - *

                                                A collection of information on player sessions created in response to the game - * session placement request. These player sessions are created only once a new game - * session is successfully placed (placement status is FULFILLED). This - * information includes the player ID (as provided in the placement request) and the - * corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the player session ID.

                                                - */ - PlacedPlayerSessions?: PlacedPlayerSession[]; - - /** - *

                                                Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions.

                                                - */ - PlayerLatencies?: PlayerLatency[]; - - /** - *

                                                Time stamp indicating when this request was completed, canceled, or timed - * out.

                                                - */ - EndTime?: Date; } export namespace GameSessionPlacement { @@ -5292,7 +5584,7 @@ export namespace GameSessionPlacement { } /** - *

                                                Represents the returned data in response to a request action.

                                                + *

                                                Represents the returned data in response to a request operation.

                                                */ export interface DescribeGameSessionPlacementOutput { /** @@ -5308,7 +5600,7 @@ export namespace DescribeGameSessionPlacementOutput { } /** - *

                                                Represents the input for a request action.

                                                + *

                                                Represents the input for a request operation.

                                                */ export interface DescribeGameSessionQueuesInput { /** @@ -5318,12 +5610,12 @@ export interface DescribeGameSessionQueuesInput { Names?: string[]; /** - *

                                                The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

                                                + *

                                                The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. You can request up to 50 results.

                                                */ Limit?: number; /** - *

                                                A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                + *

                                                A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                */ NextToken?: string; } @@ -5335,18 +5627,18 @@ export namespace DescribeGameSessionQueuesInput { } /** - *

                                                Represents the returned data in response to a request action.

                                                + *

                                                Represents the returned data in response to a request operation.

                                                */ export interface DescribeGameSessionQueuesOutput { /** - *

                                                A collection of objects that describe the requested game session queues.

                                                + *

                                                A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                */ - GameSessionQueues?: GameSessionQueue[]; + NextToken?: string; /** - *

                                                A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                + *

                                                A collection of objects that describe the requested game session queues.

                                                */ - NextToken?: string; + GameSessionQueues?: GameSessionQueue[]; } export namespace DescribeGameSessionQueuesOutput { @@ -5356,7 +5648,7 @@ export namespace DescribeGameSessionQueuesOutput { } /** - *

                                                Represents the input for a request action.

                                                + *

                                                Represents the input for a request operation.

                                                */ export interface DescribeGameSessionsInput { /** @@ -5370,7 +5662,7 @@ export interface DescribeGameSessionsInput { Limit?: number; /** - *

                                                Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                + *

                                                Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                */ NextToken?: string; @@ -5400,19 +5692,19 @@ export namespace DescribeGameSessionsInput { } /** - *

                                                Represents the returned data in response to a request action.

                                                + *

                                                Represents the returned data in response to a request operation.

                                                */ export interface DescribeGameSessionsOutput { /** - *

                                                A collection of objects containing game session properties for each session matching - * the request.

                                                + *

                                                Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                */ - GameSessions?: GameSession[]; + NextToken?: string; /** - *

                                                Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                + *

                                                A collection of objects containing game session properties for each session matching + * the request.

                                                */ - NextToken?: string; + GameSessions?: GameSession[]; } export namespace DescribeGameSessionsOutput { @@ -5422,11 +5714,11 @@ export namespace DescribeGameSessionsOutput { } /** - *

                                                Represents the input for a request action.

                                                + *

                                                Represents the input for a request operation.

                                                */ export interface DescribeInstancesInput { /** - *

                                                Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                + *

                                                Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                */ NextToken?: string; @@ -5471,6 +5763,11 @@ export interface Instance { */ Type?: EC2InstanceType | string; + /** + *

                                                IP address that is assigned to the instance.

                                                + */ + IpAddress?: string; + /** *

                                                Current status of the instance. Possible statuses include the following:

                                                *
                                                  @@ -5513,11 +5810,6 @@ export interface Instance { */ DnsName?: string; - /** - *

                                                  IP address that is assigned to the instance.

                                                  - */ - IpAddress?: string; - /** *

                                                  A unique identifier for a fleet that the instance is in.

                                                  */ @@ -5546,18 +5838,18 @@ export namespace Instance { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeInstancesOutput { /** - *

                                                  A collection of objects containing properties for each instance returned.

                                                  + *

                                                  Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ - Instances?: Instance[]; + NextToken?: string; /** - *

                                                  Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  A collection of objects containing properties for each instance returned.

                                                  */ - NextToken?: string; + Instances?: Instance[]; } export namespace DescribeInstancesOutput { @@ -5567,7 +5859,7 @@ export namespace DescribeInstancesOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeMatchmakingInput { /** @@ -5637,12 +5929,6 @@ export interface GameSessionConnectionInfo { */ DnsName?: string; - /** - *

                                                  A collection of player session IDs, one for each player ID that was included in the - * original matchmaking request.

                                                  - */ - MatchedPlayerSessions?: MatchedPlayerSession[]; - /** *

                                                  Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

                                                  */ @@ -5652,6 +5938,12 @@ export interface GameSessionConnectionInfo { *

                                                  IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

                                                  */ IpAddress?: string; + + /** + *

                                                  A collection of player session IDs, one for each player ID that was included in the + * original matchmaking request.

                                                  + */ + MatchedPlayerSessions?: MatchedPlayerSession[]; } export namespace GameSessionConnectionInfo { @@ -5667,14 +5959,10 @@ export namespace GameSessionConnectionInfo { */ export interface Player { /** - *

                                                  Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. If this property is present, FlexMatch considers placing the match only - * in Regions for which latency is reported.

                                                  - *

                                                  If a matchmaker has a rule that evaluates player latency, players must report - * latency in order to be matched. If no latency is reported in this scenario, FlexMatch - * assumes that no Regions are available to the player and the ticket is not matchable. - *

                                                  + *

                                                  Name of the team that the player is assigned to in a match. Team names are defined + * in a matchmaking rule set.

                                                  */ - LatencyInMs?: { [key: string]: number }; + Team?: string; /** *

                                                  A collection of key:value pairs containing player information for use in matchmaking. @@ -5685,10 +5973,14 @@ export interface Player { PlayerAttributes?: { [key: string]: AttributeValue }; /** - *

                                                  Name of the team that the player is assigned to in a match. Team names are defined - * in a matchmaking rule set.

                                                  + *

                                                  Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. If this property is present, FlexMatch considers placing the match only + * in Regions for which latency is reported.

                                                  + *

                                                  If a matchmaker has a rule that evaluates player latency, players must report + * latency in order to be matched. If no latency is reported in this scenario, FlexMatch + * assumes that no Regions are available to the player and the ticket is not matchable. + *

                                                  */ - Team?: string; + LatencyInMs?: { [key: string]: number }; /** *

                                                  A unique identifier for a player

                                                  @@ -5719,11 +6011,6 @@ export type MatchmakingConfigurationStatus = * calling DescribeMatchmaking with the ticket ID.

                                                  */ export interface MatchmakingTicket { - /** - *

                                                  A unique identifier for a matchmaking ticket.

                                                  - */ - TicketId?: string; - /** *

                                                  Name of the MatchmakingConfiguration that is used with this * ticket. Matchmaking configurations determine how players are grouped into a match and @@ -5732,10 +6019,13 @@ export interface MatchmakingTicket { ConfigurationName?: string; /** - *

                                                  Average amount of time (in seconds) that players are currently waiting for a match. - * If there is not enough recent data, this property may be empty.

                                                  + *

                                                  A set of Player objects, each representing a player to find matches + * for. Players are identified by a unique player ID and may include latency data for use + * during matchmaking. If the ticket is in status COMPLETED, the + * Player objects include the team the players were assigned to in the + * resulting match.

                                                  */ - EstimatedWaitTime?: number; + Players?: Player[]; /** *

                                                  Identifier and connection information of the game session created for the match. @@ -5744,6 +6034,45 @@ export interface MatchmakingTicket { */ GameSessionConnectionInfo?: GameSessionConnectionInfo; + /** + *

                                                  A unique identifier for a matchmaking ticket.

                                                  + */ + TicketId?: string; + + /** + *

                                                  Code to explain the current status. For example, a status reason may indicate when + * a ticket has returned to SEARCHING status after a proposed match fails to + * receive player acceptances.

                                                  + */ + StatusReason?: string; + + /** + *

                                                  Average amount of time (in seconds) that players are currently waiting for a match. + * If there is not enough recent data, this property may be empty.

                                                  + */ + EstimatedWaitTime?: number; + + /** + *

                                                  Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  + */ + StartTime?: Date; + + /** + *

                                                  Time stamp indicating when this matchmaking request stopped being processed due to + * success, failure, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                  + */ + EndTime?: Date; + + /** + *

                                                  Additional information about the current status.

                                                  + */ + StatusMessage?: string; + + /** + *

                                                  The Amazon Resource Name (ARN) associated with the GameLift matchmaking configuration resource that is used with this ticket.

                                                  + */ + ConfigurationArn?: string; + /** *

                                                  Current status of the matchmaking request.

                                                  *
                                                    @@ -5800,43 +6129,6 @@ export interface MatchmakingTicket { * */ Status?: MatchmakingConfigurationStatus | string; - - /** - *

                                                    Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                    - */ - StartTime?: Date; - - /** - *

                                                    Code to explain the current status. For example, a status reason may indicate when - * a ticket has returned to SEARCHING status after a proposed match fails to - * receive player acceptances.

                                                    - */ - StatusReason?: string; - - /** - *

                                                    Additional information about the current status.

                                                    - */ - StatusMessage?: string; - - /** - *

                                                    Time stamp indicating when this matchmaking request stopped being processed due to - * success, failure, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

                                                    - */ - EndTime?: Date; - - /** - *

                                                    The Amazon Resource Name (ARN) associated with the GameLift matchmaking configuration resource that is used with this ticket.

                                                    - */ - ConfigurationArn?: string; - - /** - *

                                                    A set of Player objects, each representing a player to find matches - * for. Players are identified by a unique player ID and may include latency data for use - * during matchmaking. If the ticket is in status COMPLETED, the - * Player objects include the team the players were assigned to in the - * resulting match.

                                                    - */ - Players?: Player[]; } export namespace MatchmakingTicket { @@ -5846,7 +6138,7 @@ export namespace MatchmakingTicket { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface DescribeMatchmakingOutput { /** @@ -5862,7 +6154,7 @@ export namespace DescribeMatchmakingOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface DescribeMatchmakingConfigurationsInput { /** @@ -5871,21 +6163,21 @@ export interface DescribeMatchmakingConfigurationsInput { Limit?: number; /** - *

                                                    A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                    + *

                                                    A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                    */ NextToken?: string; - /** - *

                                                    A unique identifier for a matchmaking rule set. You can use either the rule set name or ARN value. Use this parameter to - * retrieve all matchmaking configurations that use this rule set.

                                                    - */ - RuleSetName?: string; - /** *

                                                    A unique identifier for a matchmaking configuration(s) to retrieve. You can use either the configuration name or ARN value. To * request all existing configurations, leave this parameter empty.

                                                    */ Names?: string[]; + + /** + *

                                                    A unique identifier for a matchmaking rule set. You can use either the rule set name or ARN value. Use this parameter to + * retrieve all matchmaking configurations that use this rule set.

                                                    + */ + RuleSetName?: string; } export namespace DescribeMatchmakingConfigurationsInput { @@ -5895,11 +6187,11 @@ export namespace DescribeMatchmakingConfigurationsInput { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface DescribeMatchmakingConfigurationsOutput { /** - *

                                                    A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                    + *

                                                    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                    */ NextToken?: string; @@ -5916,7 +6208,7 @@ export namespace DescribeMatchmakingConfigurationsOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface DescribeMatchmakingRuleSetsInput { /** @@ -5927,7 +6219,7 @@ export interface DescribeMatchmakingRuleSetsInput { Names?: string[]; /** - *

                                                    A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                    + *

                                                    A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                    */ NextToken?: string; @@ -5944,18 +6236,18 @@ export namespace DescribeMatchmakingRuleSetsInput { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface DescribeMatchmakingRuleSetsOutput { /** - *

                                                    A collection of requested matchmaking rule set objects.

                                                    + *

                                                    A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                    */ - RuleSets: MatchmakingRuleSet[] | undefined; + NextToken?: string; /** - *

                                                    A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                    + *

                                                    A collection of requested matchmaking rule set objects.

                                                    */ - NextToken?: string; + RuleSets: MatchmakingRuleSet[] | undefined; } export namespace DescribeMatchmakingRuleSetsOutput { @@ -5965,7 +6257,7 @@ export namespace DescribeMatchmakingRuleSetsOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface DescribePlayerSessionsInput { /** @@ -6009,7 +6301,7 @@ export interface DescribePlayerSessionsInput { PlayerSessionStatusFilter?: string; /** - *

                                                    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

                                                    + *

                                                    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

                                                    */ NextToken?: string; @@ -6031,19 +6323,19 @@ export namespace DescribePlayerSessionsInput { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface DescribePlayerSessionsOutput { - /** - *

                                                    Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                    - */ - NextToken?: string; - /** *

                                                    A collection of objects containing properties for each player session that matches * the request.

                                                    */ PlayerSessions?: PlayerSession[]; + + /** + *

                                                    Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                    + */ + NextToken?: string; } export namespace DescribePlayerSessionsOutput { @@ -6053,7 +6345,7 @@ export namespace DescribePlayerSessionsOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface DescribeRuntimeConfigurationInput { /** @@ -6070,7 +6362,7 @@ export namespace DescribeRuntimeConfigurationInput { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface DescribeRuntimeConfigurationOutput { /** @@ -6097,9 +6389,14 @@ export enum ScalingStatusType { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface DescribeScalingPoliciesInput { + /** + *

                                                    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                    + */ + NextToken?: string; + /** *

                                                    A unique identifier for a fleet to retrieve scaling policies for. You can use either the fleet ID or ARN * value.

                                                    @@ -6111,11 +6408,6 @@ export interface DescribeScalingPoliciesInput { */ Limit?: number; - /** - *

                                                    Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                    - */ - NextToken?: string; - /** *

                                                    Scaling policy status to filter results on. A scaling policy is only in force when * in an ACTIVE status.

                                                    @@ -6317,6 +6609,11 @@ export namespace TargetConfiguration { *
                                                  */ export interface ScalingPolicy { + /** + *

                                                  Amount of adjustment to make, based on the scaling adjustment type.

                                                  + */ + ScalingAdjustment?: number; + /** *

                                                  Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For * detailed descriptions of fleet metrics, see Monitor Amazon GameLift @@ -6389,105 +6686,100 @@ export interface ScalingPolicy { MetricName?: MetricName | string; /** - *

                                                  Amount of adjustment to make, based on the scaling adjustment type.

                                                  + *

                                                  Metric value used to trigger a scaling event.

                                                  */ - ScalingAdjustment?: number; + Threshold?: number; /** - *

                                                  Current status of the scaling policy. The scaling policy can be in force only when - * in an ACTIVE status. Scaling policies can be suspended for individual - * fleets (see StopFleetActions; if suspended for a fleet, the policy - * status does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.

                                                  + *

                                                  The type of adjustment to make to a fleet's instance count (see FleetCapacity):

                                                  *
                                                    *
                                                  • *

                                                    - * ACTIVE -- The scaling policy can be used for - * auto-scaling a fleet.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * UPDATE_REQUESTED -- A request to update the - * scaling policy has been received.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * UPDATING -- A change is being made to the - * scaling policy.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * DELETE_REQUESTED -- A request to delete the - * scaling policy has been received.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * DELETING -- The scaling policy is being - * deleted.

                                                    + * ChangeInCapacity -- add (or subtract) the + * scaling adjustment value from the current instance count. Positive values scale + * up while negative values scale down.

                                                    *
                                                  • *
                                                  • *

                                                    - * DELETED -- The scaling policy has been - * deleted.

                                                    + * ExactCapacity -- set the instance count to the + * scaling adjustment value.

                                                    *
                                                  • *
                                                  • *

                                                    - * ERROR -- An error occurred in creating the - * policy. It should be removed and recreated.

                                                    + * PercentChangeInCapacity -- increase or reduce + * the current instance count by the scaling adjustment, read as a percentage. + * Positive values scale up while negative values scale down.

                                                    *
                                                  • *
                                                  */ - Status?: ScalingStatusType | string; + ScalingAdjustmentType?: ScalingAdjustmentType | string; /** - *

                                                  The settings for a target-based scaling policy.

                                                  + *

                                                  A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

                                                  */ - TargetConfiguration?: TargetConfiguration; + Name?: string; /** - *

                                                  Comparison operator to use when measuring a metric against the threshold - * value.

                                                  + *

                                                  Length of time (in minutes) the metric must be at or beyond the threshold before a + * scaling event is triggered.

                                                  */ - ComparisonOperator?: ComparisonOperatorType | string; + EvaluationPeriods?: number; /** - *

                                                  A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

                                                  + *

                                                  Comparison operator to use when measuring a metric against the threshold + * value.

                                                  */ - Name?: string; + ComparisonOperator?: ComparisonOperatorType | string; /** - *

                                                  Metric value used to trigger a scaling event.

                                                  + *

                                                  The settings for a target-based scaling policy.

                                                  */ - Threshold?: number; + TargetConfiguration?: TargetConfiguration; /** - *

                                                  The type of adjustment to make to a fleet's instance count (see FleetCapacity):

                                                  + *

                                                  Current status of the scaling policy. The scaling policy can be in force only when + * in an ACTIVE status. Scaling policies can be suspended for individual + * fleets (see StopFleetActions; if suspended for a fleet, the policy + * status does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.

                                                  *
                                                    *
                                                  • *

                                                    - * ChangeInCapacity -- add (or subtract) the - * scaling adjustment value from the current instance count. Positive values scale - * up while negative values scale down.

                                                    + * ACTIVE -- The scaling policy can be used for + * auto-scaling a fleet.

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * UPDATE_REQUESTED -- A request to update the + * scaling policy has been received.

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * UPDATING -- A change is being made to the + * scaling policy.

                                                    *
                                                  • *
                                                  • *

                                                    - * ExactCapacity -- set the instance count to the - * scaling adjustment value.

                                                    + * DELETE_REQUESTED -- A request to delete the + * scaling policy has been received.

                                                    *
                                                  • *
                                                  • *

                                                    - * PercentChangeInCapacity -- increase or reduce - * the current instance count by the scaling adjustment, read as a percentage. - * Positive values scale up while negative values scale down.

                                                    + * DELETING -- The scaling policy is being + * deleted.

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * DELETED -- The scaling policy has been + * deleted.

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * ERROR -- An error occurred in creating the + * policy. It should be removed and recreated.

                                                    *
                                                  • *
                                                  */ - ScalingAdjustmentType?: ScalingAdjustmentType | string; - - /** - *

                                                  Length of time (in minutes) the metric must be at or beyond the threshold before a - * scaling event is triggered.

                                                  - */ - EvaluationPeriods?: number; + Status?: ScalingStatusType | string; /** *

                                                  The type of scaling policy to create. For a target-based policy, set the parameter @@ -6513,7 +6805,7 @@ export namespace ScalingPolicy { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeScalingPoliciesOutput { /** @@ -6523,7 +6815,7 @@ export interface DescribeScalingPoliciesOutput { ScalingPolicies?: ScalingPolicy[]; /** - *

                                                  Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ NextToken?: string; } @@ -6584,7 +6876,7 @@ export namespace DescribeVpcPeeringAuthorizationsOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface DescribeVpcPeeringConnectionsInput { /** @@ -6662,10 +6954,16 @@ export namespace VpcPeeringConnectionStatus { */ export interface VpcPeeringConnection { /** - *

                                                  The status information about the connection. Status indicates if a - * connection is pending, successful, or failed.

                                                  + *

                                                  A unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.

                                                  */ - Status?: VpcPeeringConnectionStatus; + FleetId?: string; + + /** + *

                                                  A unique identifier for the VPC that contains the Amazon GameLift fleet for this + * connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account. + *

                                                  + */ + GameLiftVpcId?: string; /** *

                                                  A unique identifier that is automatically assigned to the connection record. This ID @@ -6674,13 +6972,6 @@ export interface VpcPeeringConnection { */ VpcPeeringConnectionId?: string; - /** - *

                                                  - * The Amazon Resource Name (ARN) associated with the GameLift fleet resource for this connection. - *

                                                  - */ - FleetArn?: string; - /** *

                                                  CIDR block of IPv4 addresses assigned to the VPC peering connection for the * GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these @@ -6689,16 +6980,17 @@ export interface VpcPeeringConnection { IpV4CidrBlock?: string; /** - *

                                                  A unique identifier for the VPC that contains the Amazon GameLift fleet for this - * connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account. - *

                                                  + *

                                                  The status information about the connection. Status indicates if a + * connection is pending, successful, or failed.

                                                  */ - GameLiftVpcId?: string; + Status?: VpcPeeringConnectionStatus; /** - *

                                                  A unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.

                                                  + *

                                                  + * The Amazon Resource Name (ARN) associated with the GameLift fleet resource for this connection. + *

                                                  */ - FleetId?: string; + FleetArn?: string; /** *

                                                  A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The @@ -6716,7 +7008,7 @@ export namespace VpcPeeringConnection { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface DescribeVpcPeeringConnectionsOutput { /** @@ -6737,14 +7029,14 @@ export namespace DescribeVpcPeeringConnectionsOutput { */ export interface DesiredPlayerSession { /** - *

                                                  Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

                                                  + *

                                                  A unique identifier for a player to associate with the player session.

                                                  */ - PlayerData?: string; + PlayerId?: string; /** - *

                                                  A unique identifier for a player to associate with the player session.

                                                  + *

                                                  Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

                                                  */ - PlayerId?: string; + PlayerData?: string; } export namespace DesiredPlayerSession { @@ -6754,7 +7046,7 @@ export namespace DesiredPlayerSession { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface GetGameSessionLogUrlInput { /** @@ -6770,7 +7062,7 @@ export namespace GetGameSessionLogUrlInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface GetGameSessionLogUrlOutput { /** @@ -6789,7 +7081,7 @@ export namespace GetGameSessionLogUrlOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface GetInstanceAccessInput { /** @@ -6844,14 +7136,14 @@ export namespace InstanceCredentials { */ export interface InstanceAccess { /** - *

                                                  Operating system that is running on the instance.

                                                  + *

                                                  IP address that is assigned to the instance.

                                                  */ - OperatingSystem?: OperatingSystem | string; + IpAddress?: string; /** - *

                                                  Credentials required to access the instance.

                                                  + *

                                                  Operating system that is running on the instance.

                                                  */ - Credentials?: InstanceCredentials; + OperatingSystem?: OperatingSystem | string; /** *

                                                  A unique identifier for an instance being accessed.

                                                  @@ -6859,14 +7151,14 @@ export interface InstanceAccess { InstanceId?: string; /** - *

                                                  IP address that is assigned to the instance.

                                                  + *

                                                  A unique identifier for a fleet containing the instance being accessed.

                                                  */ - IpAddress?: string; + FleetId?: string; /** - *

                                                  A unique identifier for a fleet containing the instance being accessed.

                                                  + *

                                                  Credentials required to access the instance.

                                                  */ - FleetId?: string; + Credentials?: InstanceCredentials; } export namespace InstanceAccess { @@ -6877,7 +7169,7 @@ export namespace InstanceAccess { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface GetInstanceAccessOutput { /** @@ -6895,7 +7187,7 @@ export namespace GetInstanceAccessOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface ListAliasesInput { /** @@ -6929,7 +7221,7 @@ export interface ListAliasesInput { Limit?: number; /** - *

                                                  A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                  + *

                                                  A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                  */ NextToken?: string; } @@ -6941,11 +7233,11 @@ export namespace ListAliasesInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface ListAliasesOutput { /** - *

                                                  A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ NextToken?: string; @@ -6962,14 +7254,9 @@ export namespace ListAliasesOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface ListBuildsInput { - /** - *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

                                                  - */ - Limit?: number; - /** *

                                                  Build status to filter results by. To retrieve all builds, leave this parameter * empty.

                                                  @@ -6997,7 +7284,12 @@ export interface ListBuildsInput { Status?: BuildStatus | string; /** - *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                  + *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

                                                  + */ + Limit?: number; + + /** + *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                  */ NextToken?: string; } @@ -7009,7 +7301,7 @@ export namespace ListBuildsInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface ListBuildsOutput { /** @@ -7018,7 +7310,7 @@ export interface ListBuildsOutput { Builds?: Build[]; /** - *

                                                  Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ NextToken?: string; } @@ -7030,7 +7322,7 @@ export namespace ListBuildsOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface ListFleetsInput { /** @@ -7053,7 +7345,7 @@ export interface ListFleetsInput { Limit?: number; /** - *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                  + *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                  */ NextToken?: string; } @@ -7065,11 +7357,11 @@ export namespace ListFleetsInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface ListFleetsOutput { /** - *

                                                  Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ NextToken?: string; @@ -7089,12 +7381,12 @@ export namespace ListFleetsOutput { export interface ListGameServerGroupsInput { /** - *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

                                                  + *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential segments.

                                                  */ Limit?: number; /** - *

                                                  A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                  + *

                                                  A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                  */ NextToken?: string; } @@ -7107,14 +7399,14 @@ export namespace ListGameServerGroupsInput { export interface ListGameServerGroupsOutput { /** - *

                                                  A collection of game server group objects that match the request.

                                                  + *

                                                  A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ - GameServerGroups?: GameServerGroup[]; + NextToken?: string; /** - *

                                                  A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  A collection of game server group objects that match the request.

                                                  */ - NextToken?: string; + GameServerGroups?: GameServerGroup[]; } export namespace ListGameServerGroupsOutput { @@ -7130,25 +7422,26 @@ export enum SortOrder { export interface ListGameServersInput { /** - *

                                                  A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                  + *

                                                  A token that indicates the start of the next sequential segment of results. Use the token returned with the previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                  */ NextToken?: string; /** - *

                                                  Indicates how to sort the returned data based on the game servers' custom key sort - * value. If this parameter is left empty, the list of game servers is returned in no - * particular order.

                                                  + *

                                                  Indicates how to sort the returned data based on game server registration timestamp. + * Use ASCENDING to retrieve oldest game servers first, or use DESCENDING to retrieve + * newest game servers first. If this parameter is left empty, game servers + * are returned in no particular order.

                                                  */ SortOrder?: SortOrder | string; /** - *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

                                                  + *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential segments.

                                                  */ Limit?: number; /** - *

                                                  An identifier for the game server group for the game server you want to list. Use - * either the GameServerGroup name or ARN value.

                                                  + *

                                                  An identifier for the game server group to retrieve a list of game servers from. + * Use either the GameServerGroup name or ARN value.

                                                  */ GameServerGroupName: string | undefined; } @@ -7166,7 +7459,7 @@ export interface ListGameServersOutput { GameServers?: GameServer[]; /** - *

                                                  A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ NextToken?: string; } @@ -7184,7 +7477,7 @@ export interface ListScriptsInput { Limit?: number; /** - *

                                                  A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                  + *

                                                  A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                  */ NextToken?: string; } @@ -7197,14 +7490,14 @@ export namespace ListScriptsInput { export interface ListScriptsOutput { /** - *

                                                  A set of properties describing the requested script.

                                                  + *

                                                  A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  */ - Scripts?: Script[]; + NextToken?: string; /** - *

                                                  A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  + *

                                                  A set of properties describing the requested script.

                                                  */ - NextToken?: string; + Scripts?: Script[]; } export namespace ListScriptsOutput { @@ -7220,7 +7513,7 @@ export interface ListTagsForResourceRequest { * (ARN) * that is assigned to and uniquely identifies the GameLift resource that you want to retrieve * tags for. GameLift resource ARNs are included in the data object for the resource, which - * can be retrieved by calling a List or Describe action for the resource type.

                                                  + * can be retrieved by calling a List or Describe operation for the resource type.

                                                  */ ResourceARN: string | undefined; } @@ -7247,7 +7540,7 @@ export namespace ListTagsForResourceResponse { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface PutScalingPolicyInput { /** @@ -7255,6 +7548,17 @@ export interface PutScalingPolicyInput { */ ScalingAdjustment?: number; + /** + *

                                                  Length of time (in minutes) the metric must be at or beyond the threshold before a + * scaling event is triggered.

                                                  + */ + EvaluationPeriods?: number; + + /** + *

                                                  Metric value used to trigger a scaling event.

                                                  + */ + Threshold?: number; + /** *

                                                  A descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.

                                                  */ @@ -7285,17 +7589,6 @@ export interface PutScalingPolicyInput { */ ScalingAdjustmentType?: ScalingAdjustmentType | string; - /** - *

                                                  Metric value used to trigger a scaling event.

                                                  - */ - Threshold?: number; - - /** - *

                                                  Comparison operator to use when measuring the metric against the threshold - * value.

                                                  - */ - ComparisonOperator?: ComparisonOperatorType | string; - /** *

                                                  The type of scaling policy to create. For a target-based policy, set the parameter * MetricName to 'PercentAvailableGameSessions' and specify a @@ -7313,10 +7606,10 @@ export interface PutScalingPolicyInput { TargetConfiguration?: TargetConfiguration; /** - *

                                                  Length of time (in minutes) the metric must be at or beyond the threshold before a - * scaling event is triggered.

                                                  + *

                                                  Comparison operator to use when measuring the metric against the threshold + * value.

                                                  */ - EvaluationPeriods?: number; + ComparisonOperator?: ComparisonOperatorType | string; /** *

                                                  Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For @@ -7403,7 +7696,7 @@ export namespace PutScalingPolicyInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface PutScalingPolicyOutput { /** @@ -7420,53 +7713,34 @@ export namespace PutScalingPolicyOutput { export interface RegisterGameServerInput { /** - *

                                                  A list of labels to assign to the new game server resource. Tags are developer-defined - * key-value pairs. Tagging - * AWS resources are useful for resource management, access management, and cost allocation. - * For more information, see Tagging AWS Resources in the - * AWS General Reference. Once the resource is created, you can - * use TagResource, UntagResource, and - * ListTagsForResource to add, remove, and view tags. The - * maximum tag limit may be lower than stated. See the AWS General Reference for actual - * tagging limits.

                                                  - */ - Tags?: Tag[]; - - /** - *

                                                  A custom string that uniquely identifies the new game server. Game server IDs are developer-defined - * and must be unique across all game server groups in your AWS account.

                                                  + *

                                                  Information that is needed to make inbound client connections to the game server. This + * might include the IP address and port, DNS name, and other information.

                                                  */ - GameServerId: string | undefined; + ConnectionInfo?: string; /** - *

                                                  A set of custom game server properties, formatted as a single string value. This data is - * passed to a game client or service when it requests information on a game servers using - * ListGameServers or ClaimGameServer.

                                                  + *

                                                  A set of custom game server properties, formatted as a single string value. This data + * is passed to a game client or service when it requests information on game servers using + * ListGameServers or ClaimGameServer.

                                                  */ GameServerData?: string; /** - *

                                                  A game server tag that can be used to request sorted lists of game servers using - * ListGameServers. Custom sort keys - * are developer-defined based on how you want to organize the retrieved game server information.

                                                  - */ - CustomSortKey?: string; - - /** - *

                                                  Information needed to make inbound client connections to the game server. This might - * include IP address and port, DNS name, etc.

                                                  + *

                                                  A custom string that uniquely identifies the game server to register. + * Game server IDs are developer-defined and must be unique across all game server groups in your AWS account.

                                                  */ - ConnectionInfo?: string; + GameServerId: string | undefined; /** *

                                                  The unique identifier for the instance where the game server is running. This ID is - * available in the instance metadata.

                                                  + * available in the instance metadata. EC2 instance IDs + * use a 17-character format, for example: i-1234567890abcdef0.

                                                  */ InstanceId: string | undefined; /** - *

                                                  An identifier for the game server group where the game server is running. You can - * use either the GameServerGroup name or ARN value.

                                                  + *

                                                  A unique identifier for the game server group where the game server is running. + * Use either the GameServerGroup name or ARN value.

                                                  */ GameServerGroupName: string | undefined; } @@ -7479,7 +7753,7 @@ export namespace RegisterGameServerInput { export interface RegisterGameServerOutput { /** - *

                                                  Object that describes the newly created game server resource.

                                                  + *

                                                  Object that describes the newly registered game server.

                                                  */ GameServer?: GameServer; } @@ -7491,7 +7765,7 @@ export namespace RegisterGameServerOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface RequestUploadCredentialsInput { /** @@ -7507,7 +7781,7 @@ export namespace RequestUploadCredentialsInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface RequestUploadCredentialsOutput { /** @@ -7532,7 +7806,7 @@ export namespace RequestUploadCredentialsOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface ResolveAliasInput { /** @@ -7549,7 +7823,7 @@ export namespace ResolveAliasInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface ResolveAliasOutput { /** @@ -7573,13 +7847,12 @@ export namespace ResolveAliasOutput { export interface ResumeGameServerGroupInput { /** - *

                                                  The action to resume for this game server group.

                                                  + *

                                                  The activity to resume for this game server group.

                                                  */ ResumeActions: (GameServerGroupAction | string)[] | undefined; /** - *

                                                  The unique identifier of the game server group to resume activity on. Use either the - * GameServerGroup name or ARN value.

                                                  + *

                                                  A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

                                                  */ GameServerGroupName: string | undefined; } @@ -7593,7 +7866,7 @@ export namespace ResumeGameServerGroupInput { export interface ResumeGameServerGroupOutput { /** *

                                                  An object that describes the game server group resource, with the - * SuspendedActions property updated to reflect the resumed + * SuspendedActions property updated to reflect the resumed * activity.

                                                  */ GameServerGroup?: GameServerGroup; @@ -7606,9 +7879,39 @@ export namespace ResumeGameServerGroupOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface SearchGameSessionsInput { + /** + *

                                                  Instructions on how to sort the search results. If no sort expression is included, + * the request returns results in random order. A sort expression consists of the following + * elements:

                                                  + *
                                                    + *
                                                  • + *

                                                    + * Operand -- Name of a game session attribute. + * Valid values are gameSessionName, gameSessionId, + * gameSessionProperties, maximumSessions, + * creationTimeMillis, playerSessionCount, + * hasAvailablePlayerSessions.

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * Order -- Valid sort orders are ASC + * (ascending) and DESC (descending).

                                                    + *
                                                  • + *
                                                  + *

                                                  For example, this sort expression returns the oldest active sessions first: + * "SortExpression": "creationTimeMillis ASC". Results with a null value + * for the sort operand are returned at the end of the list.

                                                  + */ + SortExpression?: string; + + /** + *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

                                                  + */ + NextToken?: string; + /** *

                                                  String containing the search criteria for the session search. If no filter * expression is included, the request returns results for all game sessions in the fleet @@ -7675,34 +7978,11 @@ export interface SearchGameSessionsInput { FilterExpression?: string; /** - *

                                                  Instructions on how to sort the search results. If no sort expression is included, - * the request returns results in random order. A sort expression consists of the following - * elements:

                                                  - *
                                                    - *
                                                  • - *

                                                    - * Operand -- Name of a game session attribute. - * Valid values are gameSessionName, gameSessionId, - * gameSessionProperties, maximumSessions, - * creationTimeMillis, playerSessionCount, - * hasAvailablePlayerSessions.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * Order -- Valid sort orders are ASC - * (ascending) and DESC (descending).

                                                    - *
                                                  • - *
                                                  - *

                                                  For example, this sort expression returns the oldest active sessions first: - * "SortExpression": "creationTimeMillis ASC". Results with a null value - * for the sort operand are returned at the end of the list.

                                                  - */ - SortExpression?: string; - - /** - *

                                                  Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

                                                  + *

                                                  A unique identifier for an alias associated with the fleet to search for active game sessions. You can use either + * the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, + * but not both.

                                                  */ - NextToken?: string; + AliasId?: string; /** *

                                                  The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. The maximum number of results returned is 20, even if this value is not set @@ -7715,13 +7995,6 @@ export interface SearchGameSessionsInput { * value. Each request must reference either a fleet ID or alias ID, but not both.

                                                  */ FleetId?: string; - - /** - *

                                                  A unique identifier for an alias associated with the fleet to search for active game sessions. You can use either - * the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, - * but not both.

                                                  - */ - AliasId?: string; } export namespace SearchGameSessionsInput { @@ -7731,19 +8004,19 @@ export namespace SearchGameSessionsInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface SearchGameSessionsOutput { - /** - *

                                                  Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

                                                  - */ - NextToken?: string; - /** *

                                                  A collection of objects containing game session properties for each session matching * the request.

                                                  */ GameSessions?: GameSession[]; + + /** + *

                                                  Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

                                                  + */ + NextToken?: string; } export namespace SearchGameSessionsOutput { @@ -7779,19 +8052,20 @@ export namespace StartFleetActionsOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface StartGameSessionPlacementInput { /** - *

                                                  Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session).

                                                  + *

                                                  Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. This information is used to try to place the new game session where + * it can offer the best possible gameplay experience for the players.

                                                  */ - GameSessionData?: string; + PlayerLatencies?: PlayerLatency[]; /** - *

                                                  A descriptive label that is associated with a game session. Session names do not need to be unique.

                                                  + *

                                                  Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session).

                                                  */ - GameSessionName?: string; + GameSessionData?: string; /** *

                                                  Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the @@ -7799,12 +8073,6 @@ export interface StartGameSessionPlacementInput { */ GameProperties?: GameProperty[]; - /** - *

                                                  Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. This information is used to try to place the new game session where - * it can offer the best possible gameplay experience for the players.

                                                  - */ - PlayerLatencies?: PlayerLatency[]; - /** *

                                                  Set of information on each player to create a player session for.

                                                  */ @@ -7816,6 +8084,11 @@ export interface StartGameSessionPlacementInput { */ GameSessionQueueName: string | undefined; + /** + *

                                                  A descriptive label that is associated with a game session. Session names do not need to be unique.

                                                  + */ + GameSessionName?: string; + /** *

                                                  The maximum number of players that can be connected simultaneously to the game session.

                                                  */ @@ -7836,7 +8109,7 @@ export namespace StartGameSessionPlacementInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface StartGameSessionPlacementOutput { /** @@ -7854,7 +8127,7 @@ export namespace StartGameSessionPlacementOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface StartMatchBackfillInput { /** @@ -7879,12 +8152,11 @@ export interface StartMatchBackfillInput { Players: Player[] | undefined; /** - *

                                                  Name of the matchmaker to use for this request. You can use either the configuration - * name or ARN value. The ARN of the matchmaker that was used with the original game - * session is listed in the GameSession object, - * MatchmakerData property.

                                                  + *

                                                  A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of + * a UUID. Use this identifier to track the match backfill ticket status and retrieve match + * results.

                                                  */ - ConfigurationName: string | undefined; + TicketId?: string; /** *

                                                  Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it. This is the same as the game session ID.

                                                  @@ -7892,11 +8164,12 @@ export interface StartMatchBackfillInput { GameSessionArn: string | undefined; /** - *

                                                  A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of - * a UUID. Use this identifier to track the match backfill ticket status and retrieve match - * results.

                                                  + *

                                                  Name of the matchmaker to use for this request. You can use either the configuration + * name or ARN value. The ARN of the matchmaker that was used with the original game + * session is listed in the GameSession object, + * MatchmakerData property.

                                                  */ - TicketId?: string; + ConfigurationName: string | undefined; } export namespace StartMatchBackfillInput { @@ -7906,7 +8179,7 @@ export namespace StartMatchBackfillInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface StartMatchBackfillOutput { /** @@ -7924,9 +8197,17 @@ export namespace StartMatchBackfillOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface StartMatchmakingInput { + /** + *

                                                  Information on each player to be matched. This information must include a player + * ID, and may contain player attributes and latency data to be used in the matchmaking + * process. After a successful match, Player objects contain the name of the + * team the player is assigned to.

                                                  + */ + Players: Player[] | undefined; + /** *

                                                  Name of the matchmaking configuration to use for this request. Matchmaking * configurations must exist in the same Region as this request. You can use either the @@ -7940,14 +8221,6 @@ export interface StartMatchmakingInput { * results.

                                                  */ TicketId?: string; - - /** - *

                                                  Information on each player to be matched. This information must include a player - * ID, and may contain player attributes and latency data to be used in the matchmaking - * process. After a successful match, Player objects contain the name of the - * team the player is assigned to.

                                                  - */ - Players: Player[] | undefined; } export namespace StartMatchmakingInput { @@ -7957,7 +8230,7 @@ export namespace StartMatchmakingInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface StartMatchmakingOutput { /** @@ -7976,14 +8249,14 @@ export namespace StartMatchmakingOutput { export interface StopFleetActionsInput { /** - *

                                                  List of actions to suspend on the fleet.

                                                  + *

                                                  A unique identifier for a fleet to stop actions on. You can use either the fleet ID or ARN value.

                                                  */ - Actions: (FleetAction | string)[] | undefined; + FleetId: string | undefined; /** - *

                                                  A unique identifier for a fleet to stop actions on. You can use either the fleet ID or ARN value.

                                                  + *

                                                  List of actions to suspend on the fleet.

                                                  */ - FleetId: string | undefined; + Actions: (FleetAction | string)[] | undefined; } export namespace StopFleetActionsInput { @@ -8001,7 +8274,7 @@ export namespace StopFleetActionsOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface StopGameSessionPlacementInput { /** @@ -8017,7 +8290,7 @@ export namespace StopGameSessionPlacementInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface StopGameSessionPlacementOutput { /** @@ -8034,7 +8307,7 @@ export namespace StopGameSessionPlacementOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface StopMatchmakingInput { /** @@ -8059,15 +8332,14 @@ export namespace StopMatchmakingOutput { export interface SuspendGameServerGroupInput { /** - *

                                                  The action to suspend for this game server group.

                                                  + *

                                                  A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

                                                  */ - SuspendActions: (GameServerGroupAction | string)[] | undefined; + GameServerGroupName: string | undefined; /** - *

                                                  The unique identifier of the game server group to stop activity on. Use either the - * GameServerGroup name or ARN value.

                                                  + *

                                                  The activity to suspend for this game server group.

                                                  */ - GameServerGroupName: string | undefined; + SuspendActions: (GameServerGroupAction | string)[] | undefined; } export namespace SuspendGameServerGroupInput { @@ -8079,7 +8351,7 @@ export namespace SuspendGameServerGroupInput { export interface SuspendGameServerGroupOutput { /** *

                                                  An object that describes the game server group resource, with the - * SuspendedActions property updated to reflect the suspended + * SuspendedActions property updated to reflect the suspended * activity.

                                                  */ GameServerGroup?: GameServerGroup; @@ -8106,7 +8378,7 @@ export interface TagResourceRequest { * (ARN) * that is assigned to and uniquely identifies the GameLift resource that you want to assign * tags to. GameLift resource ARNs are included in the data object for the resource, which - * can be retrieved by calling a List or Describe action for the resource type.

                                                  + * can be retrieved by calling a List or Describe operation for the resource type.

                                                  */ ResourceARN: string | undefined; } @@ -8130,7 +8402,7 @@ export interface UntagResourceRequest { *

                                                  The Amazon Resource Name (ARN) that is assigned to and * uniquely identifies the GameLift resource that you want to remove tags from. GameLift * resource ARNs are included in the data object for the resource, which can be retrieved - * by calling a List or Describe action for the resource type.

                                                  + * by calling a List or Describe operation for the resource type.

                                                  */ ResourceARN: string | undefined; @@ -8157,30 +8429,30 @@ export namespace UntagResourceResponse { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface UpdateAliasInput { /** - *

                                                  The routing configuration, including routing type and fleet target, for the - * alias.

                                                  + *

                                                  A unique identifier for the alias that you want to update. You can use either the + * alias ID or ARN value.

                                                  */ - RoutingStrategy?: RoutingStrategy; + AliasId: string | undefined; /** - *

                                                  A human-readable description of the alias.

                                                  + *

                                                  A descriptive label that is associated with an alias. Alias names do not need to be unique.

                                                  */ - Description?: string; + Name?: string; /** - *

                                                  A descriptive label that is associated with an alias. Alias names do not need to be unique.

                                                  + *

                                                  The routing configuration, including routing type and fleet target, for the + * alias.

                                                  */ - Name?: string; + RoutingStrategy?: RoutingStrategy; /** - *

                                                  A unique identifier for the alias that you want to update. You can use either the - * alias ID or ARN value.

                                                  + *

                                                  A human-readable description of the alias.

                                                  */ - AliasId: string | undefined; + Description?: string; } export namespace UpdateAliasInput { @@ -8190,7 +8462,7 @@ export namespace UpdateAliasInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface UpdateAliasOutput { /** @@ -8206,7 +8478,7 @@ export namespace UpdateAliasOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface UpdateBuildInput { /** @@ -8232,7 +8504,7 @@ export namespace UpdateBuildInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface UpdateBuildOutput { /** @@ -8248,9 +8520,20 @@ export namespace UpdateBuildOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface UpdateFleetAttributesInput { + /** + *

                                                  A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

                                                  + */ + Name?: string; + + /** + *

                                                  Policy that limits the number of game sessions an individual player can create over + * a span of time.

                                                  + */ + ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy; + /** *

                                                  Names of metric groups to include this fleet in. Amazon CloudWatch uses a fleet * metric group is to aggregate metrics from multiple fleets. Use an existing metric group @@ -8259,11 +8542,6 @@ export interface UpdateFleetAttributesInput { */ MetricGroups?: string[]; - /** - *

                                                  A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

                                                  - */ - Name?: string; - /** *

                                                  Game session protection policy to apply to all new instances created in this fleet. * Instances that already exist are not affected. You can set protection for individual @@ -8284,11 +8562,6 @@ export interface UpdateFleetAttributesInput { */ NewGameSessionProtectionPolicy?: ProtectionPolicy | string; - /** - *

                                                  Human-readable description of a fleet.

                                                  - */ - Description?: string; - /** *

                                                  A unique identifier for a fleet to update attribute metadata for. You can use either the fleet ID or ARN * value.

                                                  @@ -8296,10 +8569,9 @@ export interface UpdateFleetAttributesInput { FleetId: string | undefined; /** - *

                                                  Policy that limits the number of game sessions an individual player can create over - * a span of time.

                                                  + *

                                                  Human-readable description of a fleet.

                                                  */ - ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy; + Description?: string; } export namespace UpdateFleetAttributesInput { @@ -8309,7 +8581,7 @@ export namespace UpdateFleetAttributesInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface UpdateFleetAttributesOutput { /** @@ -8325,9 +8597,15 @@ export namespace UpdateFleetAttributesOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface UpdateFleetCapacityInput { + /** + *

                                                  The minimum value allowed for the fleet's instance count. Default if not set is + * 0.

                                                  + */ + MinSize?: number; + /** *

                                                  The maximum value allowed for the fleet's instance count. Default if not set is * 1.

                                                  @@ -8339,12 +8617,6 @@ export interface UpdateFleetCapacityInput { */ FleetId: string | undefined; - /** - *

                                                  The minimum value allowed for the fleet's instance count. Default if not set is - * 0.

                                                  - */ - MinSize?: number; - /** *

                                                  Number of EC2 instances you want this fleet to host.

                                                  */ @@ -8358,7 +8630,7 @@ export namespace UpdateFleetCapacityInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface UpdateFleetCapacityOutput { /** @@ -8374,7 +8646,7 @@ export namespace UpdateFleetCapacityOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface UpdateFleetPortSettingsInput { /** @@ -8401,7 +8673,7 @@ export namespace UpdateFleetPortSettingsInput { } /** - *

                                                  Represents the returned data in response to a request action.

                                                  + *

                                                  Represents the returned data in response to a request operation.

                                                  */ export interface UpdateFleetPortSettingsOutput { /** @@ -8428,35 +8700,28 @@ export interface UpdateGameServerInput { UtilizationStatus?: GameServerUtilizationStatus | string; /** - *

                                                  Indicates health status of the game server. An update that explicitly includes this - * parameter updates the game server's LastHealthCheckTime time stamp.

                                                  - */ - HealthCheck?: GameServerHealthCheck | string; - - /** - *

                                                  The identifier for the game server to be updated.

                                                  + *

                                                  A custom string that uniquely identifies the game server to update.

                                                  */ GameServerId: string | undefined; /** - *

                                                  A set of custom game server properties, formatted as a single string value. This data is - * passed to a game client or service when it requests information on a game servers using - * DescribeGameServer or ClaimGameServer.

                                                  + *

                                                  Indicates health status of the game server. A request that includes this parameter + * updates the game server's LastHealthCheckTime timestamp.

                                                  */ - GameServerData?: string; + HealthCheck?: GameServerHealthCheck | string; /** - *

                                                  An identifier for the game server group where the game server is running. + *

                                                  A unique identifier for the game server group where the game server is running. * Use either the GameServerGroup name or ARN value.

                                                  */ GameServerGroupName: string | undefined; /** - *

                                                  A game server tag that can be used to request sorted lists of game servers using - * ListGameServers. Custom sort keys - * are developer-defined based on how you want to organize the retrieved game server information.

                                                  + *

                                                  A set of custom game server properties, formatted as a single string value. This data + * is passed to a game client or service when it requests information on game servers using + * ListGameServers or ClaimGameServer.

                                                  */ - CustomSortKey?: string; + GameServerData?: string; } export namespace UpdateGameServerInput { @@ -8467,7 +8732,7 @@ export namespace UpdateGameServerInput { export interface UpdateGameServerOutput { /** - *

                                                  Object that describes the newly updated game server resource.

                                                  + *

                                                  Object that describes the newly updated game server.

                                                  */ GameServer?: GameServer; } @@ -8480,57 +8745,68 @@ export namespace UpdateGameServerOutput { export interface UpdateGameServerGroupInput { /** - *

                                                  The fallback balancing method to use for the game server group when Spot instances in - * a Region become unavailable or are not viable for game hosting. Once triggered, this - * method remains active until Spot instances can once again be used. Method options - * include:

                                                  + *

                                                  Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the + * game server group. Method options include the following:

                                                  *
                                                    *
                                                  • - *

                                                    SPOT_ONLY -- If Spot instances are unavailable, the game server group provides no hosting - * capacity. No new instances are started, and the existing nonviable Spot - * instances are terminated (once current gameplay ends) and not replaced.

                                                    + *

                                                    + * SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot + * Instances are unavailable or not viable for game hosting, the game server group + * provides no hosting capacity until Spot Instances can again be used. Until then, + * no new instances are started, and the existing nonviable Spot Instances are + * terminated (after current gameplay ends) and are not replaced.

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * SPOT_PREFERRED - (default value) Spot Instances are used whenever available in + * the game server group. If Spot Instances are unavailable, the game server group + * continues to provide hosting capacity by falling back to On-Demand Instances. + * Existing nonviable Spot Instances are terminated (after current gameplay ends) + * and are replaced with new On-Demand Instances.

                                                    *
                                                  • *
                                                  • - *

                                                    SPOT_PREFERRED -- If Spot instances are unavailable, the game server group continues to - * provide hosting capacity by using On-Demand instances. Existing nonviable Spot - * instances are terminated (once current gameplay ends) and replaced with new - * On-Demand instances.

                                                    + *

                                                    + * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game + * server group. No Spot Instances are used, even when available, while this + * balancing strategy is in force.

                                                    *
                                                  • *
                                                  */ BalancingStrategy?: BalancingStrategy | string; + /** + *

                                                  A unique identifier for the game server group. Use either the GameServerGroup name or ARN value.

                                                  + */ + GameServerGroupName: string | undefined; + /** *

                                                  The Amazon Resource Name (ARN) for an IAM role that - * allows Amazon GameLift to access your EC2 Auto Scaling groups. The submitted role is validated to - * ensure that it contains the necessary permissions for game server groups.

                                                  + * allows Amazon GameLift to access your EC2 Auto Scaling groups.

                                                  */ RoleArn?: string; /** - *

                                                  An updated list of EC2 instance types to use when creating instances in the group. The - * instance definition must specify instance types that are supported by GameLift FleetIQ, and must - * include at least two instance types. This updated list replaces the entire current list - * of instance definitions for the game server group. For more information on instance - * types, see EC2 Instance Types in the Amazon EC2 User - * Guide..

                                                  + *

                                                  An updated list of EC2 instance types to use in the Auto Scaling group. The instance + * definitions must specify at least two different instance types that are supported by + * GameLift FleetIQ. This updated list replaces the entire current list of instance definitions for + * the game server group. For more information on instance types, see EC2 Instance + * Types in the Amazon EC2 User Guide. You can optionally + * specify capacity weighting for each instance type. If no weight value is specified for + * an instance type, it is set to the default value "1". For more information about + * capacity weighting, see Instance Weighting for + * Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

                                                  */ InstanceDefinitions?: InstanceDefinition[]; /** - *

                                                  A flag that indicates whether instances in the game server group are protected from - * early termination. Unprotected instances that have active game servers running may by - * terminated during a scale-down event, causing players to be dropped from the game. - * Protected instances cannot be terminated while there are active game servers running. An - * exception to this is Spot Instances, which may be terminated by AWS regardless of - * protection status. This property is set to NO_PROTECTION by default.

                                                  + *

                                                  A flag that indicates whether instances in the game server group are protected + * from early termination. Unprotected instances that have active game servers running might + * be terminated during a scale-down event, causing players to be dropped from the game. + * Protected instances cannot be terminated while there are active game servers running except + * in the event of a forced game server group deletion (see ). An exception to this is with Spot + * Instances, which can be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

                                                  */ GameServerProtectionPolicy?: GameServerProtectionPolicy | string; - - /** - *

                                                  The unique identifier of the game server group to update. Use either the GameServerGroup name or ARN value.

                                                  - */ - GameServerGroupName: string | undefined; } export namespace UpdateGameServerGroupInput { @@ -8553,9 +8829,19 @@ export namespace UpdateGameServerGroupOutput { } /** - *

                                                  Represents the input for a request action.

                                                  + *

                                                  Represents the input for a request operation.

                                                  */ export interface UpdateGameSessionInput { + /** + *

                                                  A unique identifier for the game session to update.

                                                  + */ + GameSessionId: string | undefined; + + /** + *

                                                  The maximum number of players that can be connected simultaneously to the game session.

                                                  + */ + MaximumPlayerSessionCount?: number; + /** *

                                                  Game session protection policy to apply to this game session only.

                                                  *
                                                    @@ -8583,16 +8869,6 @@ export interface UpdateGameSessionInput { *

                                                    A descriptive label that is associated with a game session. Session names do not need to be unique.

                                                    */ Name?: string; - - /** - *

                                                    The maximum number of players that can be connected simultaneously to the game session.

                                                    - */ - MaximumPlayerSessionCount?: number; - - /** - *

                                                    A unique identifier for the game session to update.

                                                    - */ - GameSessionId: string | undefined; } export namespace UpdateGameSessionInput { @@ -8602,7 +8878,7 @@ export namespace UpdateGameSessionInput { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface UpdateGameSessionOutput { /** @@ -8618,7 +8894,7 @@ export namespace UpdateGameSessionOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface UpdateGameSessionQueueInput { /** @@ -8656,7 +8932,7 @@ export namespace UpdateGameSessionQueueInput { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface UpdateGameSessionQueueOutput { /** @@ -8672,92 +8948,92 @@ export namespace UpdateGameSessionQueueOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface UpdateMatchmakingConfigurationInput { /** - *

                                                    A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN - * value. A matchmaking configuration can only use rule sets that are defined in the same - * Region.

                                                    + *

                                                    A flag that indicates whether a match that was created with this configuration must be + * accepted by the matched players. To require acceptance, set to TRUE.

                                                    */ - RuleSetName?: string; + AcceptanceRequired?: boolean; /** - *

                                                    The length of time (in seconds) to wait for players to accept a proposed match. If any - * player rejects the match or fails to accept before the timeout, the ticket continues to - * look for an acceptable match.

                                                    + *

                                                    Information to add to all events related to the matchmaking configuration.

                                                    */ - AcceptanceTimeoutSeconds?: number; + CustomEventData?: string; /** - *

                                                    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession - * object that is created for a successful match.

                                                    + *

                                                    The method that is used to backfill game sessions created with this matchmaking + * configuration. Specify MANUAL when your game manages backfill requests manually or does + * not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open + * slots. Learn more about manual and automatic backfill in Backfill Existing Games + * with FlexMatch.

                                                    */ - GameSessionData?: string; + BackfillMode?: BackfillMode | string; /** - *

                                                    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the - * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

                                                    + *

                                                    The number of player slots in a match to keep open for future players. For example, + * assume that the configuration's rule set specifies a match for a single 12-person team. If + * the additional player count is set to 2, only 10 players are initially selected for the match.

                                                    */ - GameProperties?: GameProperty[]; + AdditionalPlayerCount?: number; /** - *

                                                    A descriptive label that is associated with matchmaking configuration.

                                                    + *

                                                    The maximum duration, in seconds, that a matchmaking ticket can remain in process + * before timing out. Requests that fail due to timing out can be resubmitted as + * needed.

                                                    */ - Description?: string; + RequestTimeoutSeconds?: number; /** - *

                                                    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are - * created with this matchmaking configuration. Queues can be located in any - * Region.

                                                    + *

                                                    An SNS topic ARN that is set up to receive matchmaking notifications. See + * Setting up Notifications for Matchmaking for more information.

                                                    */ - GameSessionQueueArns?: string[]; + NotificationTarget?: string; /** - *

                                                    A flag that indicates whether a match that was created with this configuration must be - * accepted by the matched players. To require acceptance, set to TRUE.

                                                    + *

                                                    The length of time (in seconds) to wait for players to accept a proposed match. If any + * player rejects the match or fails to accept before the timeout, the ticket continues to + * look for an acceptable match.

                                                    */ - AcceptanceRequired?: boolean; + AcceptanceTimeoutSeconds?: number; /** - *

                                                    The number of player slots in a match to keep open for future players. For example, - * assume that the configuration's rule set specifies a match for a single 12-person team. If - * the additional player count is set to 2, only 10 players are initially selected for the match.

                                                    + *

                                                    A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN + * value. A matchmaking configuration can only use rule sets that are defined in the same + * Region.

                                                    */ - AdditionalPlayerCount?: number; + RuleSetName?: string; /** - *

                                                    The maximum duration, in seconds, that a matchmaking ticket can remain in process - * before timing out. Requests that fail due to timing out can be resubmitted as - * needed.

                                                    + *

                                                    Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are + * created with this matchmaking configuration. Queues can be located in any + * Region.

                                                    */ - RequestTimeoutSeconds?: number; + GameSessionQueueArns?: string[]; /** - *

                                                    The method that is used to backfill game sessions created with this matchmaking - * configuration. Specify MANUAL when your game manages backfill requests manually or does - * not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open - * slots. Learn more about manual and automatic backfill in Backfill Existing Games - * with FlexMatch.

                                                    + *

                                                    A unique identifier for a matchmaking configuration to update. You can use either the configuration name or ARN value.

                                                    */ - BackfillMode?: BackfillMode | string; + Name: string | undefined; /** - *

                                                    An SNS topic ARN that is set up to receive matchmaking notifications. See - * Setting up Notifications for Matchmaking for more information.

                                                    + *

                                                    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession + * object that is created for a successful match.

                                                    */ - NotificationTarget?: string; + GameSessionData?: string; /** - *

                                                    A unique identifier for a matchmaking configuration to update. You can use either the configuration name or ARN value.

                                                    + *

                                                    A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the + * GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

                                                    */ - Name: string | undefined; + GameProperties?: GameProperty[]; /** - *

                                                    Information to add to all events related to the matchmaking configuration.

                                                    + *

                                                    A descriptive label that is associated with matchmaking configuration.

                                                    */ - CustomEventData?: string; + Description?: string; } export namespace UpdateMatchmakingConfigurationInput { @@ -8767,7 +9043,7 @@ export namespace UpdateMatchmakingConfigurationInput { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface UpdateMatchmakingConfigurationOutput { /** @@ -8783,7 +9059,7 @@ export namespace UpdateMatchmakingConfigurationOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface UpdateRuntimeConfigurationInput { /** @@ -8811,7 +9087,7 @@ export namespace UpdateRuntimeConfigurationInput { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface UpdateRuntimeConfigurationOutput { /** @@ -8829,9 +9105,15 @@ export namespace UpdateRuntimeConfigurationOutput { export interface UpdateScriptInput { /** - *

                                                    The version that is associated with a build or script. Version strings do not need to be unique.

                                                    + *

                                                    The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is + * stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the + * "key"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 + * bucket must be in the same Region where you want to create a new script. By default, + * Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning + * turned on, you can use the ObjectVersion parameter to specify an earlier + * version.

                                                    */ - Version?: string; + StorageLocation?: S3Location; /** *

                                                    A unique identifier for a Realtime script to update. You can use either the script ID or ARN value.

                                                    @@ -8849,15 +9131,9 @@ export interface UpdateScriptInput { ZipFile?: Uint8Array; /** - *

                                                    The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is - * stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the - * "key"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 - * bucket must be in the same Region where you want to create a new script. By default, - * Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning - * turned on, you can use the ObjectVersion parameter to specify an earlier - * version.

                                                    + *

                                                    The version that is associated with a build or script. Version strings do not need to be unique.

                                                    */ - StorageLocation?: S3Location; + Version?: string; /** *

                                                    A descriptive label that is associated with a script. Script names do not need to be unique.

                                                    @@ -8890,7 +9166,7 @@ export namespace UpdateScriptOutput { } /** - *

                                                    Represents the input for a request action.

                                                    + *

                                                    Represents the input for a request operation.

                                                    */ export interface ValidateMatchmakingRuleSetInput { /** @@ -8906,7 +9182,7 @@ export namespace ValidateMatchmakingRuleSetInput { } /** - *

                                                    Represents the returned data in response to a request action.

                                                    + *

                                                    Represents the returned data in response to a request operation.

                                                    */ export interface ValidateMatchmakingRuleSetOutput { /** diff --git a/clients/client-gamelift/pagination/DescribeFleetAttributesPaginator.ts b/clients/client-gamelift/pagination/DescribeFleetAttributesPaginator.ts new file mode 100644 index 000000000000..e7dc88c5b694 --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeFleetAttributesPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeFleetAttributesCommand, + DescribeFleetAttributesCommandInput, + DescribeFleetAttributesCommandOutput, +} from "../commands/DescribeFleetAttributesCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeFleetAttributesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeFleetAttributesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeFleetAttributesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeFleetAttributes(input, ...args); +}; +export async function* describeFleetAttributesPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeFleetAttributesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeFleetAttributesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeFleetCapacityPaginator.ts b/clients/client-gamelift/pagination/DescribeFleetCapacityPaginator.ts new file mode 100644 index 000000000000..c5e6d5967e58 --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeFleetCapacityPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeFleetCapacityCommand, + DescribeFleetCapacityCommandInput, + DescribeFleetCapacityCommandOutput, +} from "../commands/DescribeFleetCapacityCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeFleetCapacityCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeFleetCapacityCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeFleetCapacityCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeFleetCapacity(input, ...args); +}; +export async function* describeFleetCapacityPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeFleetCapacityCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeFleetCapacityCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeFleetEventsPaginator.ts b/clients/client-gamelift/pagination/DescribeFleetEventsPaginator.ts new file mode 100644 index 000000000000..a5eecbc24077 --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeFleetEventsPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeFleetEventsCommand, + DescribeFleetEventsCommandInput, + DescribeFleetEventsCommandOutput, +} from "../commands/DescribeFleetEventsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeFleetEventsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeFleetEventsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeFleetEventsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeFleetEvents(input, ...args); +}; +export async function* describeFleetEventsPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeFleetEventsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeFleetEventsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeFleetUtilizationPaginator.ts b/clients/client-gamelift/pagination/DescribeFleetUtilizationPaginator.ts new file mode 100644 index 000000000000..19ad865ad92b --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeFleetUtilizationPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeFleetUtilizationCommand, + DescribeFleetUtilizationCommandInput, + DescribeFleetUtilizationCommandOutput, +} from "../commands/DescribeFleetUtilizationCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeFleetUtilizationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeFleetUtilizationCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeFleetUtilizationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeFleetUtilization(input, ...args); +}; +export async function* describeFleetUtilizationPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeFleetUtilizationCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeFleetUtilizationCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeGameServerInstancesPaginator.ts b/clients/client-gamelift/pagination/DescribeGameServerInstancesPaginator.ts new file mode 100644 index 000000000000..677ad1addbb3 --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeGameServerInstancesPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeGameServerInstancesCommand, + DescribeGameServerInstancesCommandInput, + DescribeGameServerInstancesCommandOutput, +} from "../commands/DescribeGameServerInstancesCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeGameServerInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeGameServerInstancesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeGameServerInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeGameServerInstances(input, ...args); +}; +export async function* describeGameServerInstancesPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeGameServerInstancesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeGameServerInstancesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeGameSessionDetailsPaginator.ts b/clients/client-gamelift/pagination/DescribeGameSessionDetailsPaginator.ts new file mode 100644 index 000000000000..098ea68b2360 --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeGameSessionDetailsPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeGameSessionDetailsCommand, + DescribeGameSessionDetailsCommandInput, + DescribeGameSessionDetailsCommandOutput, +} from "../commands/DescribeGameSessionDetailsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeGameSessionDetailsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeGameSessionDetailsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeGameSessionDetailsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeGameSessionDetails(input, ...args); +}; +export async function* describeGameSessionDetailsPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeGameSessionDetailsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeGameSessionDetailsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeGameSessionQueuesPaginator.ts b/clients/client-gamelift/pagination/DescribeGameSessionQueuesPaginator.ts new file mode 100644 index 000000000000..bf526cd2bb4a --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeGameSessionQueuesPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeGameSessionQueuesCommand, + DescribeGameSessionQueuesCommandInput, + DescribeGameSessionQueuesCommandOutput, +} from "../commands/DescribeGameSessionQueuesCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeGameSessionQueuesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeGameSessionQueuesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeGameSessionQueuesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeGameSessionQueues(input, ...args); +}; +export async function* describeGameSessionQueuesPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeGameSessionQueuesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeGameSessionQueuesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeGameSessionsPaginator.ts b/clients/client-gamelift/pagination/DescribeGameSessionsPaginator.ts new file mode 100644 index 000000000000..2af2459c6626 --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeGameSessionsPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeGameSessionsCommand, + DescribeGameSessionsCommandInput, + DescribeGameSessionsCommandOutput, +} from "../commands/DescribeGameSessionsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeGameSessionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeGameSessionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeGameSessionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeGameSessions(input, ...args); +}; +export async function* describeGameSessionsPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeGameSessionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeGameSessionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeInstancesPaginator.ts b/clients/client-gamelift/pagination/DescribeInstancesPaginator.ts new file mode 100644 index 000000000000..453145237880 --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeInstancesPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeInstancesCommand, + DescribeInstancesCommandInput, + DescribeInstancesCommandOutput, +} from "../commands/DescribeInstancesCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInstancesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInstances(input, ...args); +}; +export async function* describeInstancesPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeInstancesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInstancesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeMatchmakingConfigurationsPaginator.ts b/clients/client-gamelift/pagination/DescribeMatchmakingConfigurationsPaginator.ts new file mode 100644 index 000000000000..ac332010ccef --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeMatchmakingConfigurationsPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeMatchmakingConfigurationsCommand, + DescribeMatchmakingConfigurationsCommandInput, + DescribeMatchmakingConfigurationsCommandOutput, +} from "../commands/DescribeMatchmakingConfigurationsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeMatchmakingConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMatchmakingConfigurationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeMatchmakingConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMatchmakingConfigurations(input, ...args); +}; +export async function* describeMatchmakingConfigurationsPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeMatchmakingConfigurationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMatchmakingConfigurationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeMatchmakingRuleSetsPaginator.ts b/clients/client-gamelift/pagination/DescribeMatchmakingRuleSetsPaginator.ts new file mode 100644 index 000000000000..025557ae61fb --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeMatchmakingRuleSetsPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeMatchmakingRuleSetsCommand, + DescribeMatchmakingRuleSetsCommandInput, + DescribeMatchmakingRuleSetsCommandOutput, +} from "../commands/DescribeMatchmakingRuleSetsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeMatchmakingRuleSetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMatchmakingRuleSetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeMatchmakingRuleSetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMatchmakingRuleSets(input, ...args); +}; +export async function* describeMatchmakingRuleSetsPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeMatchmakingRuleSetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMatchmakingRuleSetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribePlayerSessionsPaginator.ts b/clients/client-gamelift/pagination/DescribePlayerSessionsPaginator.ts new file mode 100644 index 000000000000..8fb8b85a0f9e --- /dev/null +++ b/clients/client-gamelift/pagination/DescribePlayerSessionsPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribePlayerSessionsCommand, + DescribePlayerSessionsCommandInput, + DescribePlayerSessionsCommandOutput, +} from "../commands/DescribePlayerSessionsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribePlayerSessionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribePlayerSessionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribePlayerSessionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describePlayerSessions(input, ...args); +}; +export async function* describePlayerSessionsPaginate( + config: GameLiftPaginationConfiguration, + input: DescribePlayerSessionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribePlayerSessionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/DescribeScalingPoliciesPaginator.ts b/clients/client-gamelift/pagination/DescribeScalingPoliciesPaginator.ts new file mode 100644 index 000000000000..929bd64dca2c --- /dev/null +++ b/clients/client-gamelift/pagination/DescribeScalingPoliciesPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + DescribeScalingPoliciesCommand, + DescribeScalingPoliciesCommandInput, + DescribeScalingPoliciesCommandOutput, +} from "../commands/DescribeScalingPoliciesCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: DescribeScalingPoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeScalingPoliciesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: DescribeScalingPoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeScalingPolicies(input, ...args); +}; +export async function* describeScalingPoliciesPaginate( + config: GameLiftPaginationConfiguration, + input: DescribeScalingPoliciesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeScalingPoliciesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/Interfaces.ts b/clients/client-gamelift/pagination/Interfaces.ts new file mode 100644 index 000000000000..96b8e27141ba --- /dev/null +++ b/clients/client-gamelift/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface GameLiftPaginationConfiguration extends PaginationConfiguration { + client: GameLift | GameLiftClient; +} diff --git a/clients/client-gamelift/pagination/ListAliasesPaginator.ts b/clients/client-gamelift/pagination/ListAliasesPaginator.ts new file mode 100644 index 000000000000..3b9ccd459fcf --- /dev/null +++ b/clients/client-gamelift/pagination/ListAliasesPaginator.ts @@ -0,0 +1,47 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { ListAliasesCommand, ListAliasesCommandInput, ListAliasesCommandOutput } from "../commands/ListAliasesCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: ListAliasesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAliasesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: ListAliasesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAliases(input, ...args); +}; +export async function* listAliasesPaginate( + config: GameLiftPaginationConfiguration, + input: ListAliasesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAliasesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/ListBuildsPaginator.ts b/clients/client-gamelift/pagination/ListBuildsPaginator.ts new file mode 100644 index 000000000000..41ea7bf0f1a6 --- /dev/null +++ b/clients/client-gamelift/pagination/ListBuildsPaginator.ts @@ -0,0 +1,47 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { ListBuildsCommand, ListBuildsCommandInput, ListBuildsCommandOutput } from "../commands/ListBuildsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: ListBuildsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListBuildsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: ListBuildsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listBuilds(input, ...args); +}; +export async function* listBuildsPaginate( + config: GameLiftPaginationConfiguration, + input: ListBuildsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListBuildsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/ListFleetsPaginator.ts b/clients/client-gamelift/pagination/ListFleetsPaginator.ts new file mode 100644 index 000000000000..02f89b8c3a92 --- /dev/null +++ b/clients/client-gamelift/pagination/ListFleetsPaginator.ts @@ -0,0 +1,47 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { ListFleetsCommand, ListFleetsCommandInput, ListFleetsCommandOutput } from "../commands/ListFleetsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: ListFleetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListFleetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: ListFleetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listFleets(input, ...args); +}; +export async function* listFleetsPaginate( + config: GameLiftPaginationConfiguration, + input: ListFleetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListFleetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/ListGameServerGroupsPaginator.ts b/clients/client-gamelift/pagination/ListGameServerGroupsPaginator.ts new file mode 100644 index 000000000000..dccbe3d1dac0 --- /dev/null +++ b/clients/client-gamelift/pagination/ListGameServerGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + ListGameServerGroupsCommand, + ListGameServerGroupsCommandInput, + ListGameServerGroupsCommandOutput, +} from "../commands/ListGameServerGroupsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: ListGameServerGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListGameServerGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: ListGameServerGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listGameServerGroups(input, ...args); +}; +export async function* listGameServerGroupsPaginate( + config: GameLiftPaginationConfiguration, + input: ListGameServerGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListGameServerGroupsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/ListGameServersPaginator.ts b/clients/client-gamelift/pagination/ListGameServersPaginator.ts new file mode 100644 index 000000000000..f77bd0112782 --- /dev/null +++ b/clients/client-gamelift/pagination/ListGameServersPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + ListGameServersCommand, + ListGameServersCommandInput, + ListGameServersCommandOutput, +} from "../commands/ListGameServersCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: ListGameServersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListGameServersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: ListGameServersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listGameServers(input, ...args); +}; +export async function* listGameServersPaginate( + config: GameLiftPaginationConfiguration, + input: ListGameServersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListGameServersCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/ListScriptsPaginator.ts b/clients/client-gamelift/pagination/ListScriptsPaginator.ts new file mode 100644 index 000000000000..3a85291f7468 --- /dev/null +++ b/clients/client-gamelift/pagination/ListScriptsPaginator.ts @@ -0,0 +1,47 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { ListScriptsCommand, ListScriptsCommandInput, ListScriptsCommandOutput } from "../commands/ListScriptsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: ListScriptsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListScriptsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: ListScriptsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listScripts(input, ...args); +}; +export async function* listScriptsPaginate( + config: GameLiftPaginationConfiguration, + input: ListScriptsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListScriptsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/pagination/SearchGameSessionsPaginator.ts b/clients/client-gamelift/pagination/SearchGameSessionsPaginator.ts new file mode 100644 index 000000000000..b63a4389bfd6 --- /dev/null +++ b/clients/client-gamelift/pagination/SearchGameSessionsPaginator.ts @@ -0,0 +1,51 @@ +import { GameLift } from "../GameLift"; +import { GameLiftClient } from "../GameLiftClient"; +import { + SearchGameSessionsCommand, + SearchGameSessionsCommandInput, + SearchGameSessionsCommandOutput, +} from "../commands/SearchGameSessionsCommand"; +import { GameLiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GameLiftClient, + input: SearchGameSessionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new SearchGameSessionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: GameLift, + input: SearchGameSessionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.searchGameSessions(input, ...args); +}; +export async function* searchGameSessionsPaginate( + config: GameLiftPaginationConfiguration, + input: SearchGameSessionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: SearchGameSessionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof GameLift) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof GameLiftClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected GameLift | GameLiftClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-gamelift/protocols/Aws_json1_1.ts b/clients/client-gamelift/protocols/Aws_json1_1.ts index 24cf31414788..8522bc410e70 100644 --- a/clients/client-gamelift/protocols/Aws_json1_1.ts +++ b/clients/client-gamelift/protocols/Aws_json1_1.ts @@ -104,6 +104,10 @@ import { DescribeGameServerGroupCommandInput, DescribeGameServerGroupCommandOutput, } from "../commands/DescribeGameServerGroupCommand"; +import { + DescribeGameServerInstancesCommandInput, + DescribeGameServerInstancesCommandOutput, +} from "../commands/DescribeGameServerInstancesCommand"; import { DescribeGameSessionDetailsCommandInput, DescribeGameSessionDetailsCommandOutput, @@ -314,6 +318,8 @@ import { DescribeGameServerGroupInput, DescribeGameServerGroupOutput, DescribeGameServerInput, + DescribeGameServerInstancesInput, + DescribeGameServerInstancesOutput, DescribeGameServerOutput, DescribeGameSessionDetailsInput, DescribeGameSessionDetailsOutput, @@ -357,6 +363,7 @@ import { GameServerGroup, GameServerGroupAction, GameServerGroupAutoScalingPolicy, + GameServerInstance, GameSession, GameSessionConnectionInfo, GameSessionDetail, @@ -972,6 +979,19 @@ export const serializeAws_json1_1DescribeGameServerGroupCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeGameServerInstancesCommand = async ( + input: DescribeGameServerInstancesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "GameLift.DescribeGameServerInstances", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeGameServerInstancesInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeGameSessionDetailsCommand = async ( input: DescribeGameSessionDetailsCommandInput, context: __SerdeContext @@ -4809,6 +4829,85 @@ const deserializeAws_json1_1DescribeGameServerGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeGameServerInstancesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeGameServerInstancesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeGameServerInstancesOutput(data, context); + const response: DescribeGameServerInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeGameServerInstancesCommandError = 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.gamelift#InternalServiceException": + response = { + ...(await deserializeAws_json1_1InternalServiceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.gamelift#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.gamelift#NotFoundException": + response = { + ...(await deserializeAws_json1_1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedException": + case "com.amazonaws.gamelift#UnauthorizedException": + response = { + ...(await deserializeAws_json1_1UnauthorizedExceptionResponse(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_1DescribeGameSessionDetailsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -9651,6 +9750,20 @@ const serializeAws_json1_1DescribeGameServerInput = (input: DescribeGameServerIn }; }; +const serializeAws_json1_1DescribeGameServerInstancesInput = ( + input: DescribeGameServerInstancesInput, + context: __SerdeContext +): any => { + return { + ...(input.GameServerGroupName !== undefined && { GameServerGroupName: input.GameServerGroupName }), + ...(input.InstanceIds !== undefined && { + InstanceIds: serializeAws_json1_1GameServerInstanceIds(input.InstanceIds, context), + }), + ...(input.Limit !== undefined && { Limit: input.Limit }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1DescribeGameSessionDetailsInput = ( input: DescribeGameSessionDetailsInput, context: __SerdeContext @@ -9857,6 +9970,10 @@ const serializeAws_json1_1GameServerGroupAutoScalingPolicy = ( }; }; +const serializeAws_json1_1GameServerInstanceIds = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1GameSessionQueueDestination = ( input: GameSessionQueueDestination, context: __SerdeContext @@ -10106,12 +10223,10 @@ const serializeAws_json1_1QueueArnsList = (input: string[], context: __SerdeCont const serializeAws_json1_1RegisterGameServerInput = (input: RegisterGameServerInput, context: __SerdeContext): any => { return { ...(input.ConnectionInfo !== undefined && { ConnectionInfo: input.ConnectionInfo }), - ...(input.CustomSortKey !== undefined && { CustomSortKey: input.CustomSortKey }), ...(input.GameServerData !== undefined && { GameServerData: input.GameServerData }), ...(input.GameServerGroupName !== undefined && { GameServerGroupName: input.GameServerGroupName }), ...(input.GameServerId !== undefined && { GameServerId: input.GameServerId }), ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), - ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), }; }; @@ -10439,7 +10554,6 @@ const serializeAws_json1_1UpdateGameServerGroupInput = ( const serializeAws_json1_1UpdateGameServerInput = (input: UpdateGameServerInput, context: __SerdeContext): any => { return { - ...(input.CustomSortKey !== undefined && { CustomSortKey: input.CustomSortKey }), ...(input.GameServerData !== undefined && { GameServerData: input.GameServerData }), ...(input.GameServerGroupName !== undefined && { GameServerGroupName: input.GameServerGroupName }), ...(input.GameServerId !== undefined && { GameServerId: input.GameServerId }), @@ -10937,6 +11051,19 @@ const deserializeAws_json1_1DescribeGameServerGroupOutput = ( } as any; }; +const deserializeAws_json1_1DescribeGameServerInstancesOutput = ( + output: any, + context: __SerdeContext +): DescribeGameServerInstancesOutput => { + return { + GameServerInstances: + output.GameServerInstances !== undefined && output.GameServerInstances !== null + ? deserializeAws_json1_1GameServerInstances(output.GameServerInstances, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeGameServerOutput = ( output: any, context: __SerdeContext @@ -11304,8 +11431,6 @@ const deserializeAws_json1_1GameServer = (output: any, context: __SerdeContext): ClaimStatus: output.ClaimStatus !== undefined && output.ClaimStatus !== null ? output.ClaimStatus : undefined, ConnectionInfo: output.ConnectionInfo !== undefined && output.ConnectionInfo !== null ? output.ConnectionInfo : undefined, - CustomSortKey: - output.CustomSortKey !== undefined && output.CustomSortKey !== null ? output.CustomSortKey : undefined, GameServerData: output.GameServerData !== undefined && output.GameServerData !== null ? output.GameServerData : undefined, GameServerGroupArn: @@ -11392,6 +11517,26 @@ const deserializeAws_json1_1GameServerGroups = (output: any, context: __SerdeCon return (output || []).map((entry: any) => deserializeAws_json1_1GameServerGroup(entry, context)); }; +const deserializeAws_json1_1GameServerInstance = (output: any, context: __SerdeContext): GameServerInstance => { + return { + GameServerGroupArn: + output.GameServerGroupArn !== undefined && output.GameServerGroupArn !== null + ? output.GameServerGroupArn + : undefined, + GameServerGroupName: + output.GameServerGroupName !== undefined && output.GameServerGroupName !== null + ? output.GameServerGroupName + : undefined, + InstanceId: output.InstanceId !== undefined && output.InstanceId !== null ? output.InstanceId : undefined, + InstanceStatus: + output.InstanceStatus !== undefined && output.InstanceStatus !== null ? output.InstanceStatus : undefined, + } as any; +}; + +const deserializeAws_json1_1GameServerInstances = (output: any, context: __SerdeContext): GameServerInstance[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1GameServerInstance(entry, context)); +}; + const deserializeAws_json1_1GameServers = (output: any, context: __SerdeContext): GameServer[] => { return (output || []).map((entry: any) => deserializeAws_json1_1GameServer(entry, context)); }; diff --git a/clients/client-glacier/models/models_0.ts b/clients/client-glacier/models/models_0.ts index ca104faa9884..751ff3ccd59b 100644 --- a/clients/client-glacier/models/models_0.ts +++ b/clients/client-glacier/models/models_0.ts @@ -15,6 +15,11 @@ export interface AbortMultipartUploadInput { */ vaultName: string | undefined; + /** + *

                                                    The upload ID of the multipart upload to delete.

                                                    + */ + uploadId: string | undefined; + /** *

                                                    The AccountId value is the AWS account ID of the account that owns the * vault. You can either specify an AWS account ID or optionally a single '-' @@ -23,11 +28,6 @@ export interface AbortMultipartUploadInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; - - /** - *

                                                    The upload ID of the multipart upload to delete.

                                                    - */ - uploadId: string | undefined; } export namespace AbortMultipartUploadInput { @@ -43,14 +43,14 @@ export interface InvalidParameterValueException extends __SmithyException, $Meta name: "InvalidParameterValueException"; $fault: "client"; /** - *

                                                    Returned if a parameter of the request is incorrectly specified.

                                                    + *

                                                    Client

                                                    */ - message?: string; + type?: string; /** - *

                                                    Client

                                                    + *

                                                    Returned if a parameter of the request is incorrectly specified.

                                                    */ - type?: string; + message?: string; /** *

                                                    400 Bad Request

                                                    @@ -71,14 +71,14 @@ export interface MissingParameterValueException extends __SmithyException, $Meta name: "MissingParameterValueException"; $fault: "client"; /** - *

                                                    400 Bad Request

                                                    + *

                                                    Client.

                                                    */ - code?: string; + type?: string; /** - *

                                                    Client.

                                                    + *

                                                    400 Bad Request

                                                    */ - type?: string; + code?: string; /** *

                                                    Returned if no authentication data is found for the request.

                                                    @@ -104,16 +104,16 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB */ code?: string; - /** - *

                                                    Client

                                                    - */ - type?: string; - /** *

                                                    Returned if the specified resource (such as a vault, upload ID, or job ID) doesn't * exist.

                                                    */ message?: string; + + /** + *

                                                    Client

                                                    + */ + type?: string; } export namespace ResourceNotFoundException { @@ -129,14 +129,14 @@ export interface ServiceUnavailableException extends __SmithyException, $Metadat name: "ServiceUnavailableException"; $fault: "server"; /** - *

                                                    500 Internal Server Error

                                                    + *

                                                    Server

                                                    */ - code?: string; + type?: string; /** - *

                                                    Server

                                                    + *

                                                    500 Internal Server Error

                                                    */ - type?: string; + code?: string; /** *

                                                    Returned if the service cannot complete the request.

                                                    @@ -186,9 +186,9 @@ export enum Type { */ export interface Grantee { /** - *

                                                    The canonical user ID of the grantee.

                                                    + *

                                                    Type of grantee

                                                    */ - ID?: string; + Type: Type | string | undefined; /** *

                                                    Screen name of the grantee.

                                                    @@ -196,9 +196,9 @@ export interface Grantee { DisplayName?: string; /** - *

                                                    Type of grantee

                                                    + *

                                                    The canonical user ID of the grantee.

                                                    */ - Type: Type | string | undefined; + ID?: string; /** *

                                                    URI of the grantee group.

                                                    @@ -256,12 +256,6 @@ export enum ActionCode { *

                                                    The input values for AddTagsToVault.

                                                    */ export interface AddTagsToVaultInput { - /** - *

                                                    The tags to add to the vault. Each tag is composed of a key and a value. The value - * can be an empty string.

                                                    - */ - Tags?: { [key: string]: string }; - /** *

                                                    The name of the vault.

                                                    */ @@ -275,6 +269,12 @@ export interface AddTagsToVaultInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; + + /** + *

                                                    The tags to add to the vault. Each tag is composed of a key and a value. The value + * can be an empty string.

                                                    + */ + Tags?: { [key: string]: string }; } export namespace AddTagsToVaultInput { @@ -289,11 +289,6 @@ export namespace AddTagsToVaultInput { export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; $fault: "client"; - /** - *

                                                    Client

                                                    - */ - type?: string; - /** *

                                                    400 Bad Request

                                                    */ @@ -303,6 +298,11 @@ export interface LimitExceededException extends __SmithyException, $MetadataBear *

                                                    Returned if the request results in a vault limit or tags limit being exceeded.

                                                    */ message?: string; + + /** + *

                                                    Client

                                                    + */ + type?: string; } export namespace LimitExceededException { @@ -318,6 +318,11 @@ export namespace LimitExceededException { * Amazon S3 Glacier.

                                                    */ export interface ArchiveCreationOutput { + /** + *

                                                    The relative URI path of the newly added archive resource.

                                                    + */ + location?: string; + /** *

                                                    The checksum of the archive computed by Amazon S3 Glacier.

                                                    */ @@ -327,11 +332,6 @@ export interface ArchiveCreationOutput { *

                                                    The ID of the archive. This value is also included as part of the location.

                                                    */ archiveId?: string; - - /** - *

                                                    The relative URI path of the newly added archive resource.

                                                    - */ - location?: string; } export namespace ArchiveCreationOutput { @@ -357,15 +357,6 @@ export enum CannedACL { * Glacier returns the URI path of the newly created archive resource.

                                                    */ export interface CompleteMultipartUploadInput { - /** - *

                                                    The AccountId value is the AWS account ID of the account that owns the - * vault. You can either specify an AWS account ID or optionally a single '-' - * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the - * credentials used to sign the request. If you use an account ID, do not include any hyphens - * ('-') in the ID.

                                                    - */ - accountId: string | undefined; - /** *

                                                    The upload ID of the multipart upload.

                                                    */ @@ -382,6 +373,15 @@ export interface CompleteMultipartUploadInput { */ archiveSize?: string; + /** + *

                                                    The AccountId value is the AWS account ID of the account that owns the + * vault. You can either specify an AWS account ID or optionally a single '-' + * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the + * credentials used to sign the request. If you use an account ID, do not include any hyphens + * ('-') in the ID.

                                                    + */ + accountId: string | undefined; + /** *

                                                    The SHA256 tree hash of the entire archive. It is the tree hash of SHA256 tree hash * of the individual parts. If the value you specify in the request does not match the SHA256 @@ -401,11 +401,6 @@ export namespace CompleteMultipartUploadInput { *

                                                    The input values for CompleteVaultLock.

                                                    */ export interface CompleteVaultLockInput { - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; - /** *

                                                    The lockId value is the lock ID obtained from a InitiateVaultLock request.

                                                    */ @@ -419,6 +414,11 @@ export interface CompleteVaultLockInput { * If you specify your account ID, do not include any hyphens ('-') in the ID.

                                                    */ accountId: string | undefined; + + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; } export namespace CompleteVaultLockInput { @@ -431,6 +431,11 @@ export namespace CompleteVaultLockInput { *

                                                    Provides options to create a vault.

                                                    */ export interface CreateVaultInput { + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; + /** *

                                                    The AccountId value is the AWS account ID. This value must match the AWS * account ID associated with the credentials used to sign the request. You can either specify @@ -439,11 +444,6 @@ export interface CreateVaultInput { * If you specify your account ID, do not include any hyphens ('-') in the ID.

                                                    */ accountId: string | undefined; - - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; } export namespace CreateVaultInput { @@ -478,6 +478,17 @@ export enum FileHeaderInfo { *

                                                    Contains information about the comma-separated value (CSV) file to select from.

                                                    */ export interface CSVInput { + /** + *

                                                    A value used to separate individual records from each other.

                                                    + */ + RecordDelimiter?: string; + + /** + *

                                                    A single character used to indicate that a row should be ignored when the character is + * present at the start of that row.

                                                    + */ + Comments?: string; + /** *

                                                    Describes the first line of input. Valid values are None, * Ignore, and Use.

                                                    @@ -489,12 +500,6 @@ export interface CSVInput { */ FieldDelimiter?: string; - /** - *

                                                    A single character used to indicate that a row should be ignored when the character is - * present at the start of that row.

                                                    - */ - Comments?: string; - /** *

                                                    A single character used for escaping the quotation-mark character inside an already * escaped value.

                                                    @@ -506,11 +511,6 @@ export interface CSVInput { * value.

                                                    */ QuoteCharacter?: string; - - /** - *

                                                    A value used to separate individual records from each other.

                                                    - */ - RecordDelimiter?: string; } export namespace CSVInput { @@ -529,6 +529,12 @@ export enum QuoteFields { * are stored in.

                                                    */ export interface CSVOutput { + /** + *

                                                    A single character used for escaping the quotation-mark character inside an already + * escaped value.

                                                    + */ + QuoteEscapeCharacter?: string; + /** *

                                                    A value used to separate individual records from each other.

                                                    */ @@ -540,12 +546,6 @@ export interface CSVOutput { */ QuoteCharacter?: string; - /** - *

                                                    A single character used for escaping the quotation-mark character inside an already - * escaped value.

                                                    - */ - QuoteEscapeCharacter?: string; - /** *

                                                    A value used to separate individual fields from each other within a record.

                                                    */ @@ -568,6 +568,12 @@ export namespace CSVOutput { *

                                                    Data retrieval policy rule.

                                                    */ export interface DataRetrievalRule { + /** + *

                                                    The type of data retrieval policy to set.

                                                    + *

                                                    Valid values: BytesPerHour|FreeTier|None

                                                    + */ + Strategy?: string; + /** *

                                                    The maximum number of bytes that can be retrieved in an hour.

                                                    *

                                                    This field is required only if the value of the Strategy field is @@ -575,12 +581,6 @@ export interface DataRetrievalRule { * not set to BytesPerHour and you set this field.

                                                    */ BytesPerHour?: number; - - /** - *

                                                    The type of data retrieval policy to set.

                                                    - *

                                                    Valid values: BytesPerHour|FreeTier|None

                                                    - */ - Strategy?: string; } export namespace DataRetrievalRule { @@ -611,9 +611,13 @@ export namespace DataRetrievalPolicy { */ export interface DeleteArchiveInput { /** - *

                                                    The name of the vault.

                                                    + *

                                                    The AccountId value is the AWS account ID of the account that owns the + * vault. You can either specify an AWS account ID or optionally a single '-' + * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the + * credentials used to sign the request. If you use an account ID, do not include any hyphens + * ('-') in the ID.

                                                    */ - vaultName: string | undefined; + accountId: string | undefined; /** *

                                                    The ID of the archive to delete.

                                                    @@ -621,13 +625,9 @@ export interface DeleteArchiveInput { archiveId: string | undefined; /** - *

                                                    The AccountId value is the AWS account ID of the account that owns the - * vault. You can either specify an AWS account ID or optionally a single '-' - * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the - * credentials used to sign the request. If you use an account ID, do not include any hyphens - * ('-') in the ID.

                                                    + *

                                                    The name of the vault.

                                                    */ - accountId: string | undefined; + vaultName: string | undefined; } export namespace DeleteArchiveInput { @@ -640,6 +640,11 @@ export namespace DeleteArchiveInput { *

                                                    Provides options for deleting a vault from Amazon S3 Glacier.

                                                    */ export interface DeleteVaultInput { + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; + /** *

                                                    The AccountId value is the AWS account ID of the account that owns the * vault. You can either specify an AWS account ID or optionally a single '-' @@ -648,11 +653,6 @@ export interface DeleteVaultInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; - - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; } export namespace DeleteVaultInput { @@ -665,6 +665,11 @@ export namespace DeleteVaultInput { *

                                                    DeleteVaultAccessPolicy input.

                                                    */ export interface DeleteVaultAccessPolicyInput { + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; + /** *

                                                    The AccountId value is the AWS account ID of the account that owns the * vault. You can either specify an AWS account ID or optionally a single '-' @@ -673,11 +678,6 @@ export interface DeleteVaultAccessPolicyInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; - - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; } export namespace DeleteVaultAccessPolicyInput { @@ -691,6 +691,11 @@ export namespace DeleteVaultAccessPolicyInput { * Glacier vault.

                                                    */ export interface DeleteVaultNotificationsInput { + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; + /** *

                                                    The AccountId value is the AWS account ID of the account that owns the * vault. You can either specify an AWS account ID or optionally a single '-' @@ -699,11 +704,6 @@ export interface DeleteVaultNotificationsInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; - - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; } export namespace DeleteVaultNotificationsInput { @@ -716,6 +716,11 @@ export namespace DeleteVaultNotificationsInput { *

                                                    Provides options for retrieving a job description.

                                                    */ export interface DescribeJobInput { + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; + /** *

                                                    The ID of the job to describe.

                                                    */ @@ -729,11 +734,6 @@ export interface DescribeJobInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; - - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; } export namespace DescribeJobInput { @@ -746,18 +746,6 @@ export namespace DescribeJobInput { *

                                                    Describes the options for a range inventory retrieval job.

                                                    */ export interface InventoryRetrievalJobDescription { - /** - *

                                                    The output format for the vault inventory list, which is set by the InitiateJob request when initiating a job to retrieve a vault - * inventory. Valid values are CSV and JSON.

                                                    - */ - Format?: string; - - /** - *

                                                    The maximum number of inventory items returned per vault inventory retrieval - * request. This limit is set when initiating the job with the a InitiateJob request.

                                                    - */ - Limit?: string; - /** *

                                                    An opaque string that represents where to continue pagination of the vault * inventory retrieval results. You use the marker in a new InitiateJob request to obtain additional inventory items. If there are @@ -780,6 +768,18 @@ export interface InventoryRetrievalJobDescription { * format, for example 2013-03-20T17:03:43Z.

                                                    */ EndDate?: string; + + /** + *

                                                    The maximum number of inventory items returned per vault inventory retrieval + * request. This limit is set when initiating the job with the a InitiateJob request.

                                                    + */ + Limit?: string; + + /** + *

                                                    The output format for the vault inventory list, which is set by the InitiateJob request when initiating a job to retrieve a vault + * inventory. Valid values are CSV and JSON.

                                                    + */ + Format?: string; } export namespace InventoryRetrievalJobDescription { @@ -797,12 +797,6 @@ export enum EncryptionType { *

                                                    Contains information about the encryption used to store the job results in Amazon S3.

                                                    */ export interface Encryption { - /** - *

                                                    Optional. If the encryption type is aws:kms, you can use this value to - * specify the encryption context for the job results.

                                                    - */ - KMSContext?: string; - /** *

                                                    The server-side encryption algorithm used when storing job results in Amazon S3, for * example AES256 or aws:kms.

                                                    @@ -810,8 +804,14 @@ export interface Encryption { EncryptionType?: EncryptionType | string; /** - *

                                                    The AWS KMS key ID to use for object encryption. All GET and PUT requests for an - * object protected by AWS KMS fail if not made by using Secure Sockets Layer (SSL) or + *

                                                    Optional. If the encryption type is aws:kms, you can use this value to + * specify the encryption context for the job results.

                                                    + */ + KMSContext?: string; + + /** + *

                                                    The AWS KMS key ID to use for object encryption. All GET and PUT requests for an + * object protected by AWS KMS fail if not made by using Secure Sockets Layer (SSL) or * Signature Version 4.

                                                    */ KMSKeyId?: string; @@ -834,19 +834,19 @@ export enum StorageClass { */ export interface S3Location { /** - *

                                                    The canned access control list (ACL) to apply to the job results.

                                                    + *

                                                    The prefix that is prepended to the results for this request.

                                                    */ - CannedACL?: CannedACL | string; + Prefix?: string; /** - *

                                                    The storage class used to store the job results.

                                                    + *

                                                    The tag-set that is applied to the job results.

                                                    */ - StorageClass?: StorageClass | string; + Tagging?: { [key: string]: string }; /** - *

                                                    A list of grants that control access to the staged results.

                                                    + *

                                                    Contains information about the encryption used to store the job results in Amazon S3.

                                                    */ - AccessControlList?: Grant[]; + Encryption?: Encryption; /** *

                                                    A map of metadata to store with the job results in Amazon S3.

                                                    @@ -854,24 +854,24 @@ export interface S3Location { UserMetadata?: { [key: string]: string }; /** - *

                                                    The prefix that is prepended to the results for this request.

                                                    + *

                                                    The canned access control list (ACL) to apply to the job results.

                                                    */ - Prefix?: string; + CannedACL?: CannedACL | string; /** - *

                                                    The name of the Amazon S3 bucket where the job results are stored.

                                                    + *

                                                    The storage class used to store the job results.

                                                    */ - BucketName?: string; + StorageClass?: StorageClass | string; /** - *

                                                    Contains information about the encryption used to store the job results in Amazon S3.

                                                    + *

                                                    A list of grants that control access to the staged results.

                                                    */ - Encryption?: Encryption; + AccessControlList?: Grant[]; /** - *

                                                    The tag-set that is applied to the job results.

                                                    + *

                                                    The name of the Amazon S3 bucket where the job results are stored.

                                                    */ - Tagging?: { [key: string]: string }; + BucketName?: string; } export namespace S3Location { @@ -937,24 +937,24 @@ export namespace OutputSerialization { */ export interface SelectParameters { /** - *

                                                    The type of the provided expression, for example SQL.

                                                    + *

                                                    The expression that is used to select the object.

                                                    */ - ExpressionType?: ExpressionType | string; + Expression?: string; /** - *

                                                    Describes the serialization format of the object.

                                                    + *

                                                    Describes how the results of the select job are serialized.

                                                    */ - InputSerialization?: InputSerialization; + OutputSerialization?: OutputSerialization; /** - *

                                                    The expression that is used to select the object.

                                                    + *

                                                    Describes the serialization format of the object.

                                                    */ - Expression?: string; + InputSerialization?: InputSerialization; /** - *

                                                    Describes how the results of the select job are serialized.

                                                    + *

                                                    The type of the provided expression, for example SQL.

                                                    */ - OutputSerialization?: OutputSerialization; + ExpressionType?: ExpressionType | string; } export namespace SelectParameters { @@ -974,25 +974,31 @@ export enum StatusCode { */ export interface GlacierJobDescription { /** - *

                                                    An opaque string that identifies an Amazon S3 Glacier job.

                                                    + *

                                                    For an archive retrieval job, this value is the size in bytes of the archive being + * requested for download. For an inventory retrieval or select job, this value is + * null.

                                                    */ - JobId?: string; + ArchiveSizeInBytes?: number; /** - *

                                                    The status code can be InProgress, Succeeded, or - * Failed, and indicates the status of the job.

                                                    + *

                                                    For an inventory retrieval job, this value is the size in bytes of the inventory + * requested for download. For an archive retrieval or select job, this value is + * null.

                                                    */ - StatusCode?: StatusCode | string; + InventorySizeInBytes?: number; /** - *

                                                    Contains the job output location.

                                                    + *

                                                    The job type. This value is either ArchiveRetrieval, + * InventoryRetrieval, or + * Select.

                                                    */ - JobOutputPath?: string; + Action?: ActionCode | string; /** - *

                                                    The job description provided when initiating the job.

                                                    + *

                                                    The UTC date when the job was created. This value is a string representation of ISO + * 8601 date format, for example "2012-03-20T17:03:43.221Z".

                                                    */ - JobDescription?: string; + CreationDate?: string; /** *

                                                    The SHA256 tree hash of the entire archive for an archive retrieval. For inventory @@ -1001,14 +1007,9 @@ export interface GlacierJobDescription { ArchiveSHA256TreeHash?: string; /** - *

                                                    The retrieved byte range for archive retrieval jobs in the form - * StartByteValue-EndByteValue. If no range - * was specified in the archive retrieval, then the whole archive is retrieved. In this - * case, StartByteValue equals 0 and EndByteValue - * equals the size of the archive minus 1. For inventory retrieval or select jobs, this - * field is null.

                                                    + *

                                                    An opaque string that identifies an Amazon S3 Glacier job.

                                                    */ - RetrievalByteRange?: string; + JobId?: string; /** *

                                                    The archive ID requested for a select job or archive retrieval. Otherwise, this @@ -1016,19 +1017,6 @@ export interface GlacierJobDescription { */ ArchiveId?: string; - /** - *

                                                    The job status. When a job is completed, you get the job's output using Get Job - * Output (GET output).

                                                    - */ - Completed?: boolean; - - /** - *

                                                    For an archive retrieval job, this value is the size in bytes of the archive being - * requested for download. For an inventory retrieval or select job, this value is - * null.

                                                    - */ - ArchiveSizeInBytes?: number; - /** *

                                                    Contains the parameters used for a select.

                                                    */ @@ -1041,28 +1029,31 @@ export interface GlacierJobDescription { CompletionDate?: string; /** - *

                                                    The UTC date when the job was created. This value is a string representation of ISO - * 8601 date format, for example "2012-03-20T17:03:43.221Z".

                                                    + *

                                                    The retrieved byte range for archive retrieval jobs in the form + * StartByteValue-EndByteValue. If no range + * was specified in the archive retrieval, then the whole archive is retrieved. In this + * case, StartByteValue equals 0 and EndByteValue + * equals the size of the archive minus 1. For inventory retrieval or select jobs, this + * field is null.

                                                    */ - CreationDate?: string; + RetrievalByteRange?: string; /** - *

                                                    A friendly message that describes the job status.

                                                    + *

                                                    The job status. When a job is completed, you get the job's output using Get Job + * Output (GET output).

                                                    */ - StatusMessage?: string; + Completed?: boolean; /** - *

                                                    The Amazon Resource Name (ARN) of the vault from which an archive retrieval was - * requested.

                                                    + *

                                                    The job description provided when initiating the job.

                                                    */ - VaultARN?: string; + JobDescription?: string; /** - *

                                                    The job type. This value is either ArchiveRetrieval, - * InventoryRetrieval, or - * Select.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the vault from which an archive retrieval was + * requested.

                                                    */ - Action?: ActionCode | string; + VaultARN?: string; /** *

                                                    The tier to use for a select or an archive retrieval. Valid values are @@ -1072,16 +1063,30 @@ export interface GlacierJobDescription { Tier?: string; /** - *

                                                    For an inventory retrieval job, this value is the size in bytes of the inventory - * requested for download. For an archive retrieval or select job, this value is - * null.

                                                    + *

                                                    The status code can be InProgress, Succeeded, or + * Failed, and indicates the status of the job.

                                                    */ - InventorySizeInBytes?: number; + StatusCode?: StatusCode | string; /** - *

                                                    Parameters used for range inventory retrieval.

                                                    + *

                                                    Contains the job output location.

                                                    */ - InventoryRetrievalParameters?: InventoryRetrievalJobDescription; + JobOutputPath?: string; + + /** + *

                                                    A friendly message that describes the job status.

                                                    + */ + StatusMessage?: string; + + /** + *

                                                    Contains the location where the data from the select job is stored.

                                                    + */ + OutputLocation?: OutputLocation; + + /** + *

                                                    An Amazon SNS topic that receives notification.

                                                    + */ + SNSTopic?: string; /** *

                                                    For an archive retrieval job, this value is the checksum of the archive. Otherwise, @@ -1116,14 +1121,9 @@ export interface GlacierJobDescription { SHA256TreeHash?: string; /** - *

                                                    Contains the location where the data from the select job is stored.

                                                    - */ - OutputLocation?: OutputLocation; - - /** - *

                                                    An Amazon SNS topic that receives notification.

                                                    + *

                                                    Parameters used for range inventory retrieval.

                                                    */ - SNSTopic?: string; + InventoryRetrievalParameters?: InventoryRetrievalJobDescription; } export namespace GlacierJobDescription { @@ -1162,25 +1162,6 @@ export namespace DescribeVaultInput { *

                                                    Contains the Amazon S3 Glacier response to your request.

                                                    */ export interface DescribeVaultOutput { - /** - *

                                                    Total size, in bytes, of the archives in the vault as of the last inventory date. - * This field will return null if an inventory has not yet run on the vault, for example if - * you just created the vault.

                                                    - */ - SizeInBytes?: number; - - /** - *

                                                    The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed the last - * vault inventory. This value should be a string in the ISO 8601 date format, for example - * 2012-03-20T17:03:43.221Z.

                                                    - */ - LastInventoryDate?: string; - - /** - *

                                                    The name of the vault.

                                                    - */ - VaultName?: string; - /** *

                                                    The Amazon Resource Name (ARN) of the vault.

                                                    */ @@ -1199,6 +1180,25 @@ export interface DescribeVaultOutput { * 2012-03-20T17:03:43.221Z.

                                                    */ CreationDate?: string; + + /** + *

                                                    The name of the vault.

                                                    + */ + VaultName?: string; + + /** + *

                                                    The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed the last + * vault inventory. This value should be a string in the ISO 8601 date format, for example + * 2012-03-20T17:03:43.221Z.

                                                    + */ + LastInventoryDate?: string; + + /** + *

                                                    Total size, in bytes, of the archives in the vault as of the last inventory date. + * This field will return null if an inventory has not yet run on the vault, for example if + * you just created the vault.

                                                    + */ + SizeInBytes?: number; } export namespace DescribeVaultOutput { @@ -1248,25 +1248,6 @@ export namespace GetDataRetrievalPolicyOutput { *

                                                    Provides options for downloading output of an Amazon S3 Glacier job.

                                                    */ export interface GetJobOutputInput { - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; - - /** - *

                                                    The AccountId value is the AWS account ID of the account that owns the - * vault. You can either specify an AWS account ID or optionally a single '-' - * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the - * credentials used to sign the request. If you use an account ID, do not include any hyphens - * ('-') in the ID.

                                                    - */ - accountId: string | undefined; - - /** - *

                                                    The job ID whose data is downloaded.

                                                    - */ - jobId: string | undefined; - /** *

                                                    The range of bytes to retrieve from the output. For example, if you want to download * the first 1,048,576 bytes, specify the range as bytes=0-1048575. By default, this operation @@ -1306,6 +1287,25 @@ export interface GetJobOutputInput { * */ range?: string; + + /** + *

                                                    The job ID whose data is downloaded.

                                                    + */ + jobId: string | undefined; + + /** + *

                                                    The AccountId value is the AWS account ID of the account that owns the + * vault. You can either specify an AWS account ID or optionally a single '-' + * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the + * credentials used to sign the request. If you use an account ID, do not include any hyphens + * ('-') in the ID.

                                                    + */ + accountId: string | undefined; + + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; } export namespace GetJobOutputInput { @@ -1318,11 +1318,29 @@ export namespace GetJobOutputInput { *

                                                    Contains the Amazon S3 Glacier response to your request.

                                                    */ export interface GetJobOutputOutput { + /** + *

                                                    The range of bytes returned by Amazon S3 Glacier. If only partial output is downloaded, + * the response provides the range of bytes Amazon S3 Glacier returned. For example, bytes + * 0-1048575/8388608 returns the first 1 MB from 8 MB.

                                                    + */ + contentRange?: string; + + /** + *

                                                    The description of an archive.

                                                    + */ + archiveDescription?: string; + /** *

                                                    Indicates the range units accepted. For more information, see RFC2616.

                                                    */ acceptRanges?: string; + /** + *

                                                    The HTTP response code for a job output request. The value depends on whether a range + * was specified in the request.

                                                    + */ + status?: number; + /** *

                                                    The Content-Type depends on whether the job output is an archive or a vault * inventory. For archive data, the Content-Type is application/octet-stream. For vault @@ -1332,18 +1350,6 @@ export interface GetJobOutputOutput { */ contentType?: string; - /** - *

                                                    The range of bytes returned by Amazon S3 Glacier. If only partial output is downloaded, - * the response provides the range of bytes Amazon S3 Glacier returned. For example, bytes - * 0-1048575/8388608 returns the first 1 MB from 8 MB.

                                                    - */ - contentRange?: string; - - /** - *

                                                    The description of an archive.

                                                    - */ - archiveDescription?: string; - /** *

                                                    The job data, either archive data or inventory data.

                                                    */ @@ -1384,11 +1390,6 @@ export namespace GetJobOutputOutput { *

                                                    Input for GetVaultAccessPolicy.

                                                    */ export interface GetVaultAccessPolicyInput { - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; - /** *

                                                    The AccountId value is the AWS account ID of the account that owns the * vault. You can either specify an AWS account ID or optionally a single '-' @@ -1397,6 +1398,11 @@ export interface GetVaultAccessPolicyInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; + + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; } export namespace GetVaultAccessPolicyInput { @@ -1441,6 +1447,11 @@ export namespace GetVaultAccessPolicyOutput { *

                                                    The input values for GetVaultLock.

                                                    */ export interface GetVaultLockInput { + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; + /** *

                                                    The AccountId value is the AWS account ID of the account that owns the * vault. You can either specify an AWS account ID or optionally a single '-' @@ -1449,11 +1460,6 @@ export interface GetVaultLockInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; - - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; } export namespace GetVaultLockInput { @@ -1467,10 +1473,10 @@ export namespace GetVaultLockInput { */ export interface GetVaultLockOutput { /** - *

                                                    The state of the vault lock. InProgress or - * Locked.

                                                    + *

                                                    The UTC date and time at which the vault lock was put into the + * InProgress state.

                                                    */ - State?: string; + CreationDate?: string; /** *

                                                    The vault lock policy as a JSON string, which uses "\" as an escape @@ -1485,10 +1491,10 @@ export interface GetVaultLockOutput { ExpirationDate?: string; /** - *

                                                    The UTC date and time at which the vault lock was put into the - * InProgress state.

                                                    + *

                                                    The state of the vault lock. InProgress or + * Locked.

                                                    */ - CreationDate?: string; + State?: string; } export namespace GetVaultLockOutput { @@ -1502,11 +1508,6 @@ export namespace GetVaultLockOutput { * Glacier vault.

                                                    */ export interface GetVaultNotificationsInput { - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; - /** *

                                                    The AccountId value is the AWS account ID of the account that owns the * vault. You can either specify an AWS account ID or optionally a single '-' @@ -1515,6 +1516,11 @@ export interface GetVaultNotificationsInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; + + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; } export namespace GetVaultNotificationsInput { @@ -1566,6 +1572,20 @@ export namespace GetVaultNotificationsOutput { *

                                                    Provides options for specifying a range inventory retrieval job.

                                                    */ export interface InventoryRetrievalJobInput { + /** + *

                                                    An opaque string that represents where to continue pagination of the vault inventory + * retrieval results. You use the marker in a new InitiateJob + * request to obtain additional inventory items. If there are no more inventory items, this + * value is null.

                                                    + */ + Marker?: string; + + /** + *

                                                    Specifies the maximum number of inventory items returned per vault inventory + * retrieval request. Valid values are greater than or equal to 1.

                                                    + */ + Limit?: string; + /** *

                                                    The end of the date range in UTC for vault inventory retrieval that includes archives * created before this date. This value should be a string in the ISO 8601 date format, for @@ -1579,20 +1599,6 @@ export interface InventoryRetrievalJobInput { * format, for example 2013-03-20T17:03:43Z.

                                                    */ StartDate?: string; - - /** - *

                                                    Specifies the maximum number of inventory items returned per vault inventory - * retrieval request. Valid values are greater than or equal to 1.

                                                    - */ - Limit?: string; - - /** - *

                                                    An opaque string that represents where to continue pagination of the vault inventory - * retrieval results. You use the marker in a new InitiateJob - * request to obtain additional inventory items. If there are no more inventory items, this - * value is null.

                                                    - */ - Marker?: string; } export namespace InventoryRetrievalJobInput { @@ -1606,17 +1612,25 @@ export namespace InventoryRetrievalJobInput { */ export interface JobParameters { /** - *

                                                    The byte range to retrieve for an archive retrieval. in the form - * "StartByteValue-EndByteValue" If not - * specified, the whole archive is retrieved. If specified, the byte range must be megabyte - * (1024*1024) aligned which means that StartByteValue must be divisible - * by 1 MB and EndByteValue plus 1 must be divisible by 1 MB or be the - * end of the archive specified as the archive byte size value minus 1. If RetrievalByteRange - * is not megabyte aligned, this operation returns a 400 response.

                                                    - *

                                                    An error occurs if you specify this field for an inventory retrieval job - * request.

                                                    + *

                                                    The tier to use for a select or an archive retrieval job. Valid values are + * Expedited, Standard, or Bulk. + * Standard is the default.

                                                    */ - RetrievalByteRange?: string; + Tier?: string; + + /** + *

                                                    The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when the job is + * completed and the output is ready for you to download. The specified topic publishes the + * notification to its subscribers. The SNS topic must exist.

                                                    + */ + SNSTopic?: string; + + /** + *

                                                    The optional description for the job. The description must be less than or equal to + * 1,024 bytes. The allowable characters are 7-bit ASCII without control codes-specifically, + * ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

                                                    + */ + Description?: string; /** *

                                                    Input parameters used for range inventory retrieval.

                                                    @@ -1632,50 +1646,42 @@ export interface JobParameters { Format?: string; /** - *

                                                    The optional description for the job. The description must be less than or equal to - * 1,024 bytes. The allowable characters are 7-bit ASCII without control codes-specifically, - * ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

                                                    + *

                                                    The byte range to retrieve for an archive retrieval. in the form + * "StartByteValue-EndByteValue" If not + * specified, the whole archive is retrieved. If specified, the byte range must be megabyte + * (1024*1024) aligned which means that StartByteValue must be divisible + * by 1 MB and EndByteValue plus 1 must be divisible by 1 MB or be the + * end of the archive specified as the archive byte size value minus 1. If RetrievalByteRange + * is not megabyte aligned, this operation returns a 400 response.

                                                    + *

                                                    An error occurs if you specify this field for an inventory retrieval job + * request.

                                                    */ - Description?: string; + RetrievalByteRange?: string; /** - *

                                                    The tier to use for a select or an archive retrieval job. Valid values are - * Expedited, Standard, or Bulk. - * Standard is the default.

                                                    + *

                                                    The ID of the archive that you want to retrieve. This field is required only if + * Type is set to select or archive-retrievalcode>. + * An error occurs if you specify this + * request parameter for an inventory retrieval job request.

                                                    */ - Tier?: string; + ArchiveId?: string; /** *

                                                    Contains information about the location where the select job results are stored.

                                                    */ OutputLocation?: OutputLocation; - /** - *

                                                    The job type. You can initiate a job to perform a select query on an archive, - * retrieve an archive, or get an inventory of a vault. - * Valid values are "select", "archive-retrieval" and "inventory-retrieval".

                                                    - */ - Type?: string; - /** *

                                                    Contains the parameters that define a job.

                                                    */ SelectParameters?: SelectParameters; /** - *

                                                    The ID of the archive that you want to retrieve. This field is required only if - * Type is set to select or archive-retrievalcode>. - * An error occurs if you specify this - * request parameter for an inventory retrieval job request.

                                                    - */ - ArchiveId?: string; - - /** - *

                                                    The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when the job is - * completed and the output is ready for you to download. The specified topic publishes the - * notification to its subscribers. The SNS topic must exist.

                                                    + *

                                                    The job type. You can initiate a job to perform a select query on an archive, + * retrieve an archive, or get an inventory of a vault. + * Valid values are "select", "archive-retrieval" and "inventory-retrieval".

                                                    */ - SNSTopic?: string; + Type?: string; } export namespace JobParameters { @@ -1689,9 +1695,9 @@ export namespace JobParameters { */ export interface InitiateJobInput { /** - *

                                                    The name of the vault.

                                                    + *

                                                    Provides options for specifying job information.

                                                    */ - vaultName: string | undefined; + jobParameters?: JobParameters; /** *

                                                    The AccountId value is the AWS account ID of the account that owns the @@ -1703,9 +1709,9 @@ export interface InitiateJobInput { accountId: string | undefined; /** - *

                                                    Provides options for specifying job information.

                                                    + *

                                                    The name of the vault.

                                                    */ - jobParameters?: JobParameters; + vaultName: string | undefined; } export namespace InitiateJobInput { @@ -1719,14 +1725,14 @@ export namespace InitiateJobInput { */ export interface InitiateJobOutput { /** - *

                                                    The relative URI path of the job.

                                                    + *

                                                    The ID of the job.

                                                    */ - location?: string; + jobId?: string; /** - *

                                                    The ID of the job.

                                                    + *

                                                    The relative URI path of the job.

                                                    */ - jobId?: string; + location?: string; /** *

                                                    The path to the location of where the select results are stored.

                                                    @@ -1767,14 +1773,14 @@ export interface PolicyEnforcedException extends __SmithyException, $MetadataBea name: "PolicyEnforcedException"; $fault: "client"; /** - *

                                                    Client

                                                    + *

                                                    InitiateJob request denied by current data retrieval policy.

                                                    */ - type?: string; + message?: string; /** - *

                                                    InitiateJob request denied by current data retrieval policy.

                                                    + *

                                                    Client

                                                    */ - message?: string; + type?: string; /** *

                                                    PolicyEnforcedException

                                                    @@ -1793,17 +1799,6 @@ export namespace PolicyEnforcedException { * vault.

                                                    */ export interface InitiateMultipartUploadInput { - /** - *

                                                    The size of each part except the last, in bytes. The last part can be smaller than - * this part size.

                                                    - */ - partSize?: string; - - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; - /** *

                                                    The archive description that you are uploading in parts.

                                                    *

                                                    The part size must be a megabyte (1024 KB) multiplied by a power of 2, for example @@ -1820,6 +1815,17 @@ export interface InitiateMultipartUploadInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; + + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; + + /** + *

                                                    The size of each part except the last, in bytes. The last part can be smaller than + * this part size.

                                                    + */ + partSize?: string; } export namespace InitiateMultipartUploadInput { @@ -1832,16 +1838,16 @@ export namespace InitiateMultipartUploadInput { *

                                                    The Amazon S3 Glacier response to your request.

                                                    */ export interface InitiateMultipartUploadOutput { - /** - *

                                                    The relative URI path of the multipart upload ID Amazon S3 Glacier created.

                                                    - */ - location?: string; - /** *

                                                    The ID of the multipart upload. This value is also included as part of the * location.

                                                    */ uploadId?: string; + + /** + *

                                                    The relative URI path of the multipart upload ID Amazon S3 Glacier created.

                                                    + */ + location?: string; } export namespace InitiateMultipartUploadOutput { @@ -1869,12 +1875,7 @@ export namespace VaultLockPolicy { /** *

                                                    The input values for InitiateVaultLock.

                                                    */ -export interface InitiateVaultLockInput { - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; - +export interface InitiateVaultLockInput { /** *

                                                    The vault lock policy as a JSON string, which uses "\" as an escape * character.

                                                    @@ -1889,6 +1890,11 @@ export interface InitiateVaultLockInput { * If you specify your account ID, do not include any hyphens ('-') in the ID.

                                                    */ accountId: string | undefined; + + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; } export namespace InitiateVaultLockInput { @@ -1918,10 +1924,9 @@ export namespace InitiateVaultLockOutput { */ export interface ListJobsInput { /** - *

                                                    The state of the jobs to return. You can specify true or - * false.

                                                    + *

                                                    The name of the vault.

                                                    */ - completed?: string; + vaultName: string | undefined; /** *

                                                    The AccountId value is the AWS account ID of the account that owns the @@ -1941,9 +1946,10 @@ export interface ListJobsInput { marker?: string; /** - *

                                                    The name of the vault.

                                                    + *

                                                    The state of the jobs to return. You can specify true or + * false.

                                                    */ - vaultName: string | undefined; + completed?: string; /** *

                                                    The type of job status to return. You can specify the following values: @@ -1997,13 +2003,10 @@ export namespace ListJobsOutput { */ export interface ListMultipartUploadsInput { /** - *

                                                    The AccountId value is the AWS account ID of the account that owns the - * vault. You can either specify an AWS account ID or optionally a single '-' - * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the - * credentials used to sign the request. If you use an account ID, do not include any hyphens - * ('-') in the ID.

                                                    + *

                                                    Specifies the maximum number of uploads returned in the response body. If this value + * is not specified, the List Uploads operation returns up to 50 uploads.

                                                    */ - accountId: string | undefined; + limit?: string; /** *

                                                    The name of the vault.

                                                    @@ -2011,10 +2014,13 @@ export interface ListMultipartUploadsInput { vaultName: string | undefined; /** - *

                                                    Specifies the maximum number of uploads returned in the response body. If this value - * is not specified, the List Uploads operation returns up to 50 uploads.

                                                    + *

                                                    The AccountId value is the AWS account ID of the account that owns the + * vault. You can either specify an AWS account ID or optionally a single '-' + * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the + * credentials used to sign the request. If you use an account ID, do not include any hyphens + * ('-') in the ID.

                                                    */ - limit?: string; + accountId: string | undefined; /** *

                                                    An opaque string used for pagination. This value specifies the upload at which the @@ -2036,11 +2042,9 @@ export namespace ListMultipartUploadsInput { */ export interface UploadListElement { /** - *

                                                    The part size, in bytes, specified in the Initiate Multipart Upload request. This is - * the size of all the parts in the upload except the last part, which may be smaller than - * this size.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the vault that contains the archive.

                                                    */ - PartSizeInBytes?: number; + VaultARN?: string; /** *

                                                    The ID of a multipart upload.

                                                    @@ -2048,20 +2052,22 @@ export interface UploadListElement { MultipartUploadId?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the vault that contains the archive.

                                                    + *

                                                    The UTC time at which the multipart upload was initiated.

                                                    */ - VaultARN?: string; + CreationDate?: string; /** - *

                                                    The description of the archive that was specified in the Initiate Multipart Upload - * request.

                                                    + *

                                                    The part size, in bytes, specified in the Initiate Multipart Upload request. This is + * the size of all the parts in the upload except the last part, which may be smaller than + * this size.

                                                    */ - ArchiveDescription?: string; + PartSizeInBytes?: number; /** - *

                                                    The UTC time at which the multipart upload was initiated.

                                                    + *

                                                    The description of the archive that was specified in the Initiate Multipart Upload + * request.

                                                    */ - CreationDate?: string; + ArchiveDescription?: string; } export namespace UploadListElement { @@ -2074,17 +2080,17 @@ export namespace UploadListElement { *

                                                    Contains the Amazon S3 Glacier response to your request.

                                                    */ export interface ListMultipartUploadsOutput { + /** + *

                                                    A list of in-progress multipart uploads.

                                                    + */ + UploadsList?: UploadListElement[]; + /** *

                                                    An opaque string that represents where to continue pagination of the results. You use * the marker in a new List Multipart Uploads request to obtain more uploads in the list. If * there are no more uploads, this value is null.

                                                    */ Marker?: string; - - /** - *

                                                    A list of in-progress multipart uploads.

                                                    - */ - UploadsList?: UploadListElement[]; } export namespace ListMultipartUploadsOutput { @@ -2098,23 +2104,6 @@ export namespace ListMultipartUploadsOutput { * in a specific multipart upload.

                                                    */ export interface ListPartsInput { - /** - *

                                                    An opaque string used for pagination. This value specifies the part at which the - * listing of parts should begin. Get the marker value from the response of a previous List - * Parts response. You need only include the marker if you are continuing the pagination of - * results started in a previous List Parts request.

                                                    - */ - marker?: string; - - /** - *

                                                    The AccountId value is the AWS account ID of the account that owns the - * vault. You can either specify an AWS account ID or optionally a single '-' - * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the - * credentials used to sign the request. If you use an account ID, do not include any hyphens - * ('-') in the ID.

                                                    - */ - accountId: string | undefined; - /** *

                                                    The upload ID of the multipart upload.

                                                    */ @@ -2131,6 +2120,23 @@ export interface ListPartsInput { * never exceeds the limit.

                                                    */ limit?: string; + + /** + *

                                                    The AccountId value is the AWS account ID of the account that owns the + * vault. You can either specify an AWS account ID or optionally a single '-' + * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the + * credentials used to sign the request. If you use an account ID, do not include any hyphens + * ('-') in the ID.

                                                    + */ + accountId: string | undefined; + + /** + *

                                                    An opaque string used for pagination. This value specifies the part at which the + * listing of parts should begin. Get the marker value from the response of a previous List + * Parts response. You need only include the marker if you are continuing the pagination of + * results started in a previous List Parts request.

                                                    + */ + marker?: string; } export namespace ListPartsInput { @@ -2165,6 +2171,11 @@ export namespace PartListElement { *

                                                    Contains the Amazon S3 Glacier response to your request.

                                                    */ export interface ListPartsOutput { + /** + *

                                                    The UTC time at which the multipart upload was initiated.

                                                    + */ + CreationDate?: string; + /** *

                                                    The Amazon Resource Name (ARN) of the vault to which the multipart upload was * initiated.

                                                    @@ -2172,40 +2183,35 @@ export interface ListPartsOutput { VaultARN?: string; /** - *

                                                    The description of the archive that was specified in the Initiate Multipart Upload - * request.

                                                    + *

                                                    An opaque string that represents where to continue pagination of the results. You use + * the marker in a new List Parts request to obtain more jobs in the list. If there are no + * more parts, this value is null.

                                                    */ - ArchiveDescription?: string; + Marker?: string; /** - *

                                                    The ID of the upload to which the parts are associated.

                                                    + *

                                                    A list of the part sizes of the multipart upload. Each object in the array contains a + * RangeBytes and sha256-tree-hash name/value + * pair.

                                                    */ - MultipartUploadId?: string; + Parts?: PartListElement[]; /** - *

                                                    An opaque string that represents where to continue pagination of the results. You use - * the marker in a new List Parts request to obtain more jobs in the list. If there are no - * more parts, this value is null.

                                                    + *

                                                    The description of the archive that was specified in the Initiate Multipart Upload + * request.

                                                    */ - Marker?: string; + ArchiveDescription?: string; /** - *

                                                    The UTC time at which the multipart upload was initiated.

                                                    + *

                                                    The ID of the upload to which the parts are associated.

                                                    */ - CreationDate?: string; + MultipartUploadId?: string; /** *

                                                    The part size in bytes. This is the same value that you specified in the Initiate * Multipart Upload request.

                                                    */ PartSizeInBytes?: number; - - /** - *

                                                    A list of the part sizes of the multipart upload. Each object in the array contains a - * RangeBytes and sha256-tree-hash name/value - * pair.

                                                    - */ - Parts?: PartListElement[]; } export namespace ListPartsOutput { @@ -2234,11 +2240,6 @@ export namespace ListProvisionedCapacityInput { *

                                                    The definition for a provisioned capacity unit.

                                                    */ export interface ProvisionedCapacityDescription { - /** - *

                                                    The date that the provisioned capacity unit expires, in Universal Coordinated Time (UTC).

                                                    - */ - ExpirationDate?: string; - /** *

                                                    The date that the provisioned capacity unit was purchased, in Universal Coordinated Time (UTC).

                                                    */ @@ -2248,6 +2249,11 @@ export interface ProvisionedCapacityDescription { *

                                                    The ID that identifies the provisioned capacity unit.

                                                    */ CapacityId?: string; + + /** + *

                                                    The date that the provisioned capacity unit expires, in Universal Coordinated Time (UTC).

                                                    + */ + ExpirationDate?: string; } export namespace ProvisionedCapacityDescription { @@ -2273,6 +2279,11 @@ export namespace ListProvisionedCapacityOutput { *

                                                    The input value for ListTagsForVaultInput.

                                                    */ export interface ListTagsForVaultInput { + /** + *

                                                    The name of the vault.

                                                    + */ + vaultName: string | undefined; + /** *

                                                    The AccountId value is the AWS account ID of the account that owns the * vault. You can either specify an AWS account ID or optionally a single '-' @@ -2281,11 +2292,6 @@ export interface ListTagsForVaultInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; - - /** - *

                                                    The name of the vault.

                                                    - */ - vaultName: string | undefined; } export namespace ListTagsForVaultInput { @@ -2399,6 +2405,15 @@ export namespace PurchaseProvisionedCapacityOutput { *

                                                    The input value for RemoveTagsFromVaultInput.

                                                    */ export interface RemoveTagsFromVaultInput { + /** + *

                                                    The AccountId value is the AWS account ID of the account that owns the + * vault. You can either specify an AWS account ID or optionally a single '-' + * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the + * credentials used to sign the request. If you use an account ID, do not include any hyphens + * ('-') in the ID.

                                                    + */ + accountId: string | undefined; + /** *

                                                    The name of the vault.

                                                    */ @@ -2408,15 +2423,6 @@ export interface RemoveTagsFromVaultInput { *

                                                    A list of tag keys. Each corresponding tag is removed from the vault.

                                                    */ TagKeys?: string[]; - - /** - *

                                                    The AccountId value is the AWS account ID of the account that owns the - * vault. You can either specify an AWS account ID or optionally a single '-' - * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the - * credentials used to sign the request. If you use an account ID, do not include any hyphens - * ('-') in the ID.

                                                    - */ - accountId: string | undefined; } export namespace RemoveTagsFromVaultInput { @@ -2429,11 +2435,6 @@ export namespace RemoveTagsFromVaultInput { *

                                                    SetDataRetrievalPolicy input.

                                                    */ export interface SetDataRetrievalPolicyInput { - /** - *

                                                    The data retrieval policy in JSON format.

                                                    - */ - Policy?: DataRetrievalPolicy; - /** *

                                                    The AccountId value is the AWS account ID. This value must match the AWS * account ID associated with the credentials used to sign the request. You can either specify @@ -2442,6 +2443,11 @@ export interface SetDataRetrievalPolicyInput { * If you specify your account ID, do not include any hyphens ('-') in the ID.

                                                    */ accountId: string | undefined; + + /** + *

                                                    The data retrieval policy in JSON format.

                                                    + */ + Policy?: DataRetrievalPolicy; } export namespace SetDataRetrievalPolicyInput { @@ -2454,11 +2460,6 @@ export namespace SetDataRetrievalPolicyInput { *

                                                    SetVaultAccessPolicy input.

                                                    */ export interface SetVaultAccessPolicyInput { - /** - *

                                                    The vault access policy as a JSON string.

                                                    - */ - policy?: VaultAccessPolicy; - /** *

                                                    The AccountId value is the AWS account ID of the account that owns the * vault. You can either specify an AWS account ID or optionally a single '-' @@ -2468,6 +2469,11 @@ export interface SetVaultAccessPolicyInput { */ accountId: string | undefined; + /** + *

                                                    The vault access policy as a JSON string.

                                                    + */ + policy?: VaultAccessPolicy; + /** *

                                                    The name of the vault.

                                                    */ @@ -2519,9 +2525,10 @@ export interface RequestTimeoutException extends __SmithyException, $MetadataBea name: "RequestTimeoutException"; $fault: "client"; /** - *

                                                    Client

                                                    + *

                                                    Returned if, when uploading an archive, Amazon S3 Glacier times out while receiving the + * upload.

                                                    */ - type?: string; + message?: string; /** *

                                                    408 Request Timeout

                                                    @@ -2529,10 +2536,9 @@ export interface RequestTimeoutException extends __SmithyException, $MetadataBea code?: string; /** - *

                                                    Returned if, when uploading an archive, Amazon S3 Glacier times out while receiving the - * upload.

                                                    + *

                                                    Client

                                                    */ - message?: string; + type?: string; } export namespace RequestTimeoutException { @@ -2546,9 +2552,9 @@ export namespace RequestTimeoutException { */ export interface UploadArchiveInput { /** - *

                                                    The data to upload.

                                                    + *

                                                    The SHA256 tree hash of the data being uploaded.

                                                    */ - body?: Readable | ReadableStream | Blob; + checksum?: string; /** *

                                                    The name of the vault.

                                                    @@ -2556,9 +2562,14 @@ export interface UploadArchiveInput { vaultName: string | undefined; /** - *

                                                    The SHA256 tree hash of the data being uploaded.

                                                    + *

                                                    The optional description of the archive you are uploading.

                                                    */ - checksum?: string; + archiveDescription?: string; + + /** + *

                                                    The data to upload.

                                                    + */ + body?: Readable | ReadableStream | Blob; /** *

                                                    The AccountId value is the AWS account ID of the account that owns the @@ -2568,11 +2579,6 @@ export interface UploadArchiveInput { * ('-') in the ID.

                                                    */ accountId: string | undefined; - - /** - *

                                                    The optional description of the archive you are uploading.

                                                    - */ - archiveDescription?: string; } export namespace UploadArchiveInput { @@ -2587,19 +2593,26 @@ export namespace UploadArchiveInput { */ export interface UploadMultipartPartInput { /** - *

                                                    The SHA256 tree hash of the data being uploaded.

                                                    + *

                                                    The AccountId value is the AWS account ID of the account that owns the + * vault. You can either specify an AWS account ID or optionally a single '-' + * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the + * credentials used to sign the request. If you use an account ID, do not include any hyphens + * ('-') in the ID.

                                                    */ - checksum?: string; + accountId: string | undefined; /** - *

                                                    The name of the vault.

                                                    + *

                                                    The SHA256 tree hash of the data being uploaded.

                                                    */ - vaultName: string | undefined; + checksum?: string; /** - *

                                                    The upload ID of the multipart upload.

                                                    + *

                                                    Identifies the range of bytes in the assembled archive that will be uploaded in this + * part. Amazon S3 Glacier uses this information to assemble the archive in the proper sequence. + * The format of this header follows RFC 2616. An example header is Content-Range:bytes + * 0-4194303/*.

                                                    */ - uploadId: string | undefined; + range?: string; /** *

                                                    The data to upload.

                                                    @@ -2607,21 +2620,14 @@ export interface UploadMultipartPartInput { body?: Readable | ReadableStream | Blob; /** - *

                                                    Identifies the range of bytes in the assembled archive that will be uploaded in this - * part. Amazon S3 Glacier uses this information to assemble the archive in the proper sequence. - * The format of this header follows RFC 2616. An example header is Content-Range:bytes - * 0-4194303/*.

                                                    + *

                                                    The name of the vault.

                                                    */ - range?: string; + vaultName: string | undefined; /** - *

                                                    The AccountId value is the AWS account ID of the account that owns the - * vault. You can either specify an AWS account ID or optionally a single '-' - * (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the - * credentials used to sign the request. If you use an account ID, do not include any hyphens - * ('-') in the ID.

                                                    + *

                                                    The upload ID of the multipart upload.

                                                    */ - accountId: string | undefined; + uploadId: string | undefined; } export namespace UploadMultipartPartInput { diff --git a/clients/client-glacier/protocols/Aws_restJson1.ts b/clients/client-glacier/protocols/Aws_restJson1.ts index 30796cbb5dd5..a3a650c45b44 100644 --- a/clients/client-glacier/protocols/Aws_restJson1.ts +++ b/clients/client-glacier/protocols/Aws_restJson1.ts @@ -141,15 +141,6 @@ export const serializeAws_restJson1AbortMultipartUploadCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } - 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.uploadId !== undefined) { const labelValue: string = input.uploadId; if (labelValue.length <= 0) { @@ -159,6 +150,15 @@ export const serializeAws_restJson1AbortMultipartUploadCommand = async ( } else { throw new Error("No value provided for input HTTP label: uploadId."); } + 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; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -267,15 +267,6 @@ export const serializeAws_restJson1CompleteMultipartUploadCommand = async ( ...(isSerializableHeaderValue(input.checksum) && { "x-amz-sha256-tree-hash": input.checksum! }), }; let resolvedPath = "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}"; - 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.uploadId !== undefined) { const labelValue: string = input.uploadId; if (labelValue.length <= 0) { @@ -294,6 +285,15 @@ export const serializeAws_restJson1CompleteMultipartUploadCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } + 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; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -315,15 +315,6 @@ export const serializeAws_restJson1CompleteVaultLockCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/lock-policy/{lockId}"; - if (input.vaultName !== undefined) { - const labelValue: string = input.vaultName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: vaultName."); - } - resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: vaultName."); - } if (input.lockId !== undefined) { const labelValue: string = input.lockId; if (labelValue.length <= 0) { @@ -342,6 +333,15 @@ export const serializeAws_restJson1CompleteVaultLockCommand = async ( } else { throw new Error("No value provided for input HTTP label: accountId."); } + if (input.vaultName !== undefined) { + const labelValue: string = input.vaultName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: vaultName."); + } + resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: vaultName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -363,15 +363,6 @@ export const serializeAws_restJson1CreateVaultCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}"; - 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.vaultName !== undefined) { const labelValue: string = input.vaultName; if (labelValue.length <= 0) { @@ -381,6 +372,15 @@ export const serializeAws_restJson1CreateVaultCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } + 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; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -402,14 +402,14 @@ export const serializeAws_restJson1DeleteArchiveCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/archives/{archiveId}"; - if (input.vaultName !== undefined) { - const labelValue: string = input.vaultName; + if (input.accountId !== undefined) { + const labelValue: string = input.accountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: vaultName."); + throw new Error("Empty value provided for input HTTP label: accountId."); } - resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{accountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: vaultName."); + throw new Error("No value provided for input HTTP label: accountId."); } if (input.archiveId !== undefined) { const labelValue: string = input.archiveId; @@ -420,14 +420,14 @@ export const serializeAws_restJson1DeleteArchiveCommand = async ( } else { throw new Error("No value provided for input HTTP label: archiveId."); } - if (input.accountId !== undefined) { - const labelValue: string = input.accountId; + if (input.vaultName !== undefined) { + const labelValue: string = input.vaultName; 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: vaultName."); } - resolvedPath = resolvedPath.replace("{accountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: accountId."); + throw new Error("No value provided for input HTTP label: vaultName."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -450,15 +450,6 @@ export const serializeAws_restJson1DeleteVaultCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}"; - 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.vaultName !== undefined) { const labelValue: string = input.vaultName; if (labelValue.length <= 0) { @@ -468,6 +459,15 @@ export const serializeAws_restJson1DeleteVaultCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } + 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; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -489,15 +489,6 @@ export const serializeAws_restJson1DeleteVaultAccessPolicyCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/access-policy"; - 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.vaultName !== undefined) { const labelValue: string = input.vaultName; if (labelValue.length <= 0) { @@ -507,6 +498,15 @@ export const serializeAws_restJson1DeleteVaultAccessPolicyCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } + 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; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -528,15 +528,6 @@ export const serializeAws_restJson1DeleteVaultNotificationsCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/notification-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.vaultName !== undefined) { const labelValue: string = input.vaultName; if (labelValue.length <= 0) { @@ -546,6 +537,15 @@ export const serializeAws_restJson1DeleteVaultNotificationsCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } + 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; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -567,6 +567,15 @@ export const serializeAws_restJson1DescribeJobCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/jobs/{jobId}"; + if (input.vaultName !== undefined) { + const labelValue: string = input.vaultName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: vaultName."); + } + resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: vaultName."); + } if (input.jobId !== undefined) { const labelValue: string = input.jobId; if (labelValue.length <= 0) { @@ -585,15 +594,6 @@ export const serializeAws_restJson1DescribeJobCommand = async ( } else { throw new Error("No value provided for input HTTP label: accountId."); } - if (input.vaultName !== undefined) { - const labelValue: string = input.vaultName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: vaultName."); - } - resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: vaultName."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -685,14 +685,14 @@ export const serializeAws_restJson1GetJobOutputCommand = async ( ...(isSerializableHeaderValue(input.range) && { Range: input.range! }), }; let resolvedPath = "/{accountId}/vaults/{vaultName}/jobs/{jobId}/output"; - if (input.vaultName !== undefined) { - const labelValue: string = input.vaultName; + if (input.jobId !== undefined) { + const labelValue: string = input.jobId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: vaultName."); + throw new Error("Empty value provided for input HTTP label: jobId."); } - resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: vaultName."); + throw new Error("No value provided for input HTTP label: jobId."); } if (input.accountId !== undefined) { const labelValue: string = input.accountId; @@ -703,14 +703,14 @@ export const serializeAws_restJson1GetJobOutputCommand = async ( } else { throw new Error("No value provided for input HTTP label: accountId."); } - if (input.jobId !== undefined) { - const labelValue: string = input.jobId; + if (input.vaultName !== undefined) { + const labelValue: string = input.vaultName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: jobId."); + throw new Error("Empty value provided for input HTTP label: vaultName."); } - resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: jobId."); + throw new Error("No value provided for input HTTP label: vaultName."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -733,15 +733,6 @@ export const serializeAws_restJson1GetVaultAccessPolicyCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/access-policy"; - if (input.vaultName !== undefined) { - const labelValue: string = input.vaultName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: vaultName."); - } - resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: vaultName."); - } if (input.accountId !== undefined) { const labelValue: string = input.accountId; if (labelValue.length <= 0) { @@ -751,6 +742,15 @@ export const serializeAws_restJson1GetVaultAccessPolicyCommand = async ( } else { throw new Error("No value provided for input HTTP label: accountId."); } + if (input.vaultName !== undefined) { + const labelValue: string = input.vaultName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: vaultName."); + } + resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: vaultName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -772,15 +772,6 @@ export const serializeAws_restJson1GetVaultLockCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/lock-policy"; - 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.vaultName !== undefined) { const labelValue: string = input.vaultName; if (labelValue.length <= 0) { @@ -790,6 +781,15 @@ export const serializeAws_restJson1GetVaultLockCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } + 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; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -811,15 +811,6 @@ export const serializeAws_restJson1GetVaultNotificationsCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/notification-configuration"; - if (input.vaultName !== undefined) { - const labelValue: string = input.vaultName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: vaultName."); - } - resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: vaultName."); - } if (input.accountId !== undefined) { const labelValue: string = input.accountId; if (labelValue.length <= 0) { @@ -829,6 +820,15 @@ export const serializeAws_restJson1GetVaultNotificationsCommand = async ( } else { throw new Error("No value provided for input HTTP label: accountId."); } + if (input.vaultName !== undefined) { + const labelValue: string = input.vaultName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: vaultName."); + } + resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: vaultName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -850,15 +850,6 @@ export const serializeAws_restJson1InitiateJobCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/jobs"; - if (input.vaultName !== undefined) { - const labelValue: string = input.vaultName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: vaultName."); - } - resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: vaultName."); - } if (input.accountId !== undefined) { const labelValue: string = input.accountId; if (labelValue.length <= 0) { @@ -868,6 +859,15 @@ export const serializeAws_restJson1InitiateJobCommand = async ( } else { throw new Error("No value provided for input HTTP label: accountId."); } + if (input.vaultName !== undefined) { + const labelValue: string = input.vaultName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: vaultName."); + } + resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: vaultName."); + } let body: any; if (input.jobParameters !== undefined) { body = serializeAws_restJson1JobParameters(input.jobParameters, context); @@ -894,21 +894,12 @@ export const serializeAws_restJson1InitiateMultipartUploadCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", - ...(isSerializableHeaderValue(input.partSize) && { "x-amz-part-size": input.partSize! }), ...(isSerializableHeaderValue(input.archiveDescription) && { "x-amz-archive-description": input.archiveDescription!, }), + ...(isSerializableHeaderValue(input.partSize) && { "x-amz-part-size": input.partSize! }), }; let resolvedPath = "/{accountId}/vaults/{vaultName}/multipart-uploads"; - if (input.vaultName !== undefined) { - const labelValue: string = input.vaultName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: vaultName."); - } - resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: vaultName."); - } if (input.accountId !== undefined) { const labelValue: string = input.accountId; if (labelValue.length <= 0) { @@ -918,6 +909,15 @@ export const serializeAws_restJson1InitiateMultipartUploadCommand = async ( } else { throw new Error("No value provided for input HTTP label: accountId."); } + if (input.vaultName !== undefined) { + const labelValue: string = input.vaultName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: vaultName."); + } + resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: vaultName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -939,15 +939,6 @@ export const serializeAws_restJson1InitiateVaultLockCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/lock-policy"; - if (input.vaultName !== undefined) { - const labelValue: string = input.vaultName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: vaultName."); - } - resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: vaultName."); - } if (input.accountId !== undefined) { const labelValue: string = input.accountId; if (labelValue.length <= 0) { @@ -957,6 +948,15 @@ export const serializeAws_restJson1InitiateVaultLockCommand = async ( } else { throw new Error("No value provided for input HTTP label: accountId."); } + if (input.vaultName !== undefined) { + const labelValue: string = input.vaultName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: vaultName."); + } + resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: vaultName."); + } let body: any; if (input.policy !== undefined) { body = serializeAws_restJson1VaultLockPolicy(input.policy, context); @@ -985,15 +985,6 @@ export const serializeAws_restJson1ListJobsCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/jobs"; - 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.vaultName !== undefined) { const labelValue: string = input.vaultName; if (labelValue.length <= 0) { @@ -1003,9 +994,18 @@ export const serializeAws_restJson1ListJobsCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } + 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 = { - ...(input.completed !== undefined && { completed: input.completed }), ...(input.marker !== undefined && { marker: input.marker }), + ...(input.completed !== undefined && { completed: input.completed }), ...(input.statuscode !== undefined && { statuscode: input.statuscode }), ...(input.limit !== undefined && { limit: input.limit }), }; @@ -1031,15 +1031,6 @@ export const serializeAws_restJson1ListMultipartUploadsCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/multipart-uploads"; - 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.vaultName !== undefined) { const labelValue: string = input.vaultName; if (labelValue.length <= 0) { @@ -1049,6 +1040,15 @@ export const serializeAws_restJson1ListMultipartUploadsCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } + 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 = { ...(input.limit !== undefined && { limit: input.limit }), ...(input.marker !== undefined && { marker: input.marker }), @@ -1075,15 +1075,6 @@ export const serializeAws_restJson1ListPartsCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}"; - 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.uploadId !== undefined) { const labelValue: string = input.uploadId; if (labelValue.length <= 0) { @@ -1102,9 +1093,18 @@ export const serializeAws_restJson1ListPartsCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } + 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 = { - ...(input.marker !== undefined && { marker: input.marker }), ...(input.limit !== undefined && { limit: input.limit }), + ...(input.marker !== undefined && { marker: input.marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1158,15 +1158,6 @@ export const serializeAws_restJson1ListTagsForVaultCommand = async ( "Content-Type": "", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/tags"; - 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.vaultName !== undefined) { const labelValue: string = input.vaultName; if (labelValue.length <= 0) { @@ -1176,6 +1167,15 @@ export const serializeAws_restJson1ListTagsForVaultCommand = async ( } else { throw new Error("No value provided for input HTTP label: vaultName."); } + 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; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1262,15 +1262,6 @@ export const serializeAws_restJson1RemoveTagsFromVaultCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/{accountId}/vaults/{vaultName}/tags"; - if (input.vaultName !== undefined) { - const labelValue: string = input.vaultName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: vaultName."); - } - resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: vaultName."); - } if (input.accountId !== undefined) { const labelValue: string = input.accountId; if (labelValue.length <= 0) { @@ -1280,6 +1271,15 @@ export const serializeAws_restJson1RemoveTagsFromVaultCommand = async ( } else { throw new Error("No value provided for input HTTP label: accountId."); } + if (input.vaultName !== undefined) { + const labelValue: string = input.vaultName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: vaultName."); + } + resolvedPath = resolvedPath.replace("{vaultName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: vaultName."); + } const query: any = { operation: "remove", }; @@ -1481,6 +1481,15 @@ export const serializeAws_restJson1UploadMultipartPartCommand = async ( ...(isSerializableHeaderValue(input.range) && { "Content-Range": input.range! }), }; let resolvedPath = "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}"; + 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.vaultName !== undefined) { const labelValue: string = input.vaultName; if (labelValue.length <= 0) { @@ -1499,15 +1508,6 @@ export const serializeAws_restJson1UploadMultipartPartCommand = async ( } else { throw new Error("No value provided for input HTTP label: uploadId."); } - 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; if (input.body !== undefined) { body = input.body; @@ -1770,15 +1770,15 @@ export const deserializeAws_restJson1CompleteMultipartUploadCommand = async ( checksum: undefined, location: undefined, }; + if (output.headers["location"] !== undefined) { + contents.location = output.headers["location"]; + } if (output.headers["x-amz-sha256-tree-hash"] !== undefined) { contents.checksum = output.headers["x-amz-sha256-tree-hash"]; } if (output.headers["x-amz-archive-id"] !== undefined) { contents.archiveId = output.headers["x-amz-archive-id"]; } - if (output.headers["location"] !== undefined) { - contents.location = output.headers["location"]; - } await collectBody(output.body, context); return Promise.resolve(contents); }; @@ -2645,19 +2645,20 @@ export const deserializeAws_restJson1GetJobOutputCommand = async ( checksum: undefined, contentRange: undefined, contentType: undefined, + status: undefined, }; - if (output.headers["accept-ranges"] !== undefined) { - contents.acceptRanges = output.headers["accept-ranges"]; - } - if (output.headers["content-type"] !== undefined) { - contents.contentType = output.headers["content-type"]; - } if (output.headers["content-range"] !== undefined) { contents.contentRange = output.headers["content-range"]; } if (output.headers["x-amz-archive-description"] !== undefined) { contents.archiveDescription = output.headers["x-amz-archive-description"]; } + if (output.headers["accept-ranges"] !== undefined) { + contents.acceptRanges = output.headers["accept-ranges"]; + } + if (output.headers["content-type"] !== undefined) { + contents.contentType = output.headers["content-type"]; + } if (output.headers["x-amz-sha256-tree-hash"] !== undefined) { contents.checksum = output.headers["x-amz-sha256-tree-hash"]; } @@ -2985,12 +2986,12 @@ export const deserializeAws_restJson1InitiateJobCommand = async ( jobOutputPath: undefined, location: undefined, }; - if (output.headers["location"] !== undefined) { - contents.location = output.headers["location"]; - } if (output.headers["x-amz-job-id"] !== undefined) { contents.jobId = output.headers["x-amz-job-id"]; } + if (output.headers["location"] !== undefined) { + contents.location = output.headers["location"]; + } if (output.headers["x-amz-job-output-path"] !== undefined) { contents.jobOutputPath = output.headers["x-amz-job-output-path"]; } @@ -3087,12 +3088,12 @@ export const deserializeAws_restJson1InitiateMultipartUploadCommand = async ( location: undefined, uploadId: undefined, }; - if (output.headers["location"] !== undefined) { - contents.location = output.headers["location"]; - } if (output.headers["x-amz-multipart-upload-id"] !== undefined) { contents.uploadId = output.headers["x-amz-multipart-upload-id"]; } + if (output.headers["location"] !== undefined) { + contents.location = output.headers["location"]; + } await collectBody(output.body, context); return Promise.resolve(contents); }; @@ -4126,15 +4127,15 @@ export const deserializeAws_restJson1UploadArchiveCommand = async ( checksum: undefined, location: undefined, }; + if (output.headers["location"] !== undefined) { + contents.location = output.headers["location"]; + } if (output.headers["x-amz-sha256-tree-hash"] !== undefined) { contents.checksum = output.headers["x-amz-sha256-tree-hash"]; } if (output.headers["x-amz-archive-id"] !== undefined) { contents.archiveId = output.headers["x-amz-archive-id"]; } - if (output.headers["location"] !== undefined) { - contents.location = output.headers["location"]; - } await collectBody(output.body, context); return Promise.resolve(contents); }; diff --git a/clients/client-global-accelerator/models/models_0.ts b/clients/client-global-accelerator/models/models_0.ts index 8bebb271342a..fcea95d2b38d 100644 --- a/clients/client-global-accelerator/models/models_0.ts +++ b/clients/client-global-accelerator/models/models_0.ts @@ -10,14 +10,14 @@ export enum IpAddressType { */ export interface IpSet { /** - *

                                                    The types of IP addresses included in this IP set.

                                                    + *

                                                    The array of IP addresses in the IP address set. An IP address set can have a maximum of two IP addresses.

                                                    */ - IpFamily?: string; + IpAddresses?: string[]; /** - *

                                                    The array of IP addresses in the IP address set. An IP address set can have a maximum of two IP addresses.

                                                    + *

                                                    The types of IP addresses included in this IP set.

                                                    */ - IpAddresses?: string[]; + IpFamily?: string; } export namespace IpSet { @@ -34,26 +34,30 @@ export type AcceleratorStatus = "DEPLOYED" | "IN_PROGRESS"; */ export interface Accelerator { /** - *

                                                    The name of the accelerator. The name must contain only alphanumeric characters or - * hyphens (-), and must not begin or end with a hyphen.

                                                    + *

                                                    The value for the address type must be IPv4. + *

                                                    */ - Name?: string; + IpAddressType?: IpAddressType | string; /** - *

                                                    Describes the deployment status of the accelerator.

                                                    + *

                                                    The Domain Name System (DNS) name that Global Accelerator creates that points to your accelerator's static IP addresses.

                                                    + *

                                                    The naming convention for the DNS name is the following: A lowercase letter a, + * followed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: + * a1234567890abcdef.awsglobalaccelerator.com.

                                                    + *

                                                    For more information about the default DNS name, see + * Support for DNS Addressing in Global Accelerator in the AWS Global Accelerator Developer Guide.

                                                    */ - Status?: AcceleratorStatus | string; + DnsName?: string; /** - *

                                                    Indicates whether the accelerator is enabled. The value is true or false. The default value is true.

                                                    - *

                                                    If the value is set to true, the accelerator cannot be deleted. If set to false, accelerator can be deleted.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the accelerator.

                                                    */ - Enabled?: boolean; + AcceleratorArn?: string; /** - *

                                                    The date and time that the accelerator was last modified.

                                                    + *

                                                    The static IP addresses that Global Accelerator associates with the accelerator.

                                                    */ - LastModifiedTime?: Date; + IpSets?: IpSet[]; /** *

                                                    The date and time that the accelerator was created.

                                                    @@ -61,30 +65,26 @@ export interface Accelerator { CreatedTime?: Date; /** - *

                                                    The Domain Name System (DNS) name that Global Accelerator creates that points to your accelerator's static IP addresses.

                                                    - *

                                                    The naming convention for the DNS name is the following: A lowercase letter a, - * followed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: - * a1234567890abcdef.awsglobalaccelerator.com.

                                                    - *

                                                    For more information about the default DNS name, see - * Support for DNS Addressing in Global Accelerator in the AWS Global Accelerator Developer Guide.

                                                    + *

                                                    Indicates whether the accelerator is enabled. The value is true or false. The default value is true.

                                                    + *

                                                    If the value is set to true, the accelerator cannot be deleted. If set to false, accelerator can be deleted.

                                                    */ - DnsName?: string; + Enabled?: boolean; /** - *

                                                    The value for the address type must be IPv4. - *

                                                    + *

                                                    The date and time that the accelerator was last modified.

                                                    */ - IpAddressType?: IpAddressType | string; + LastModifiedTime?: Date; /** - *

                                                    The static IP addresses that Global Accelerator associates with the accelerator.

                                                    + *

                                                    The name of the accelerator. The name must contain only alphanumeric characters or + * hyphens (-), and must not begin or end with a hyphen.

                                                    */ - IpSets?: IpSet[]; + Name?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the accelerator.

                                                    + *

                                                    Describes the deployment status of the accelerator.

                                                    */ - AcceleratorArn?: string; + Status?: AcceleratorStatus | string; } export namespace Accelerator { @@ -97,6 +97,14 @@ export namespace Accelerator { *

                                                    Attributes of an accelerator.

                                                    */ export interface AcceleratorAttributes { + /** + *

                                                    Indicates whether flow logs are enabled. The default value is false. If the value is true, + * FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

                                                    + *

                                                    For more information, see Flow Logs in + * the AWS Global Accelerator Developer Guide.

                                                    + */ + FlowLogsEnabled?: boolean; + /** *

                                                    The prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if * FlowLogsEnabled is true.

                                                    @@ -112,14 +120,6 @@ export interface AcceleratorAttributes { * bucket.

                                                    */ FlowLogsS3Bucket?: string; - - /** - *

                                                    Indicates whether flow logs are enabled. The default value is false. If the value is true, - * FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

                                                    - *

                                                    For more information, see Flow Logs in - * the AWS Global Accelerator Developer Guide.

                                                    - */ - FlowLogsEnabled?: boolean; } export namespace AcceleratorAttributes { @@ -193,17 +193,17 @@ export namespace AdvertiseByoipCidrRequest { * address (BYOIP).

                                                    */ export interface ByoipCidrEvent { - /** - *

                                                    A timestamp when you make a status change for an IP address range that you bring to AWS Global Accelerator through - * bring your own IP address (BYOIP).

                                                    - */ - Timestamp?: Date; - /** *

                                                    A string that contains an Event message describing changes that you make in the status * of an IP address range that you bring to AWS Global Accelerator through bring your own IP address (BYOIP).

                                                    */ Message?: string; + + /** + *

                                                    A timestamp when you make a status change for an IP address range that you bring to AWS Global Accelerator through + * bring your own IP address (BYOIP).

                                                    + */ + Timestamp?: Date; } export namespace ByoipCidrEvent { @@ -305,15 +305,15 @@ export interface ByoipCidr { Cidr?: string; /** - *

                                                    A history of status changes for an IP address range that that you bring to AWS Global Accelerator - * through bring your own IP address (BYOIP).

                                                    + *

                                                    The state of the address pool.

                                                    */ - Events?: ByoipCidrEvent[]; + State?: ByoipCidrState | string; /** - *

                                                    The state of the address pool.

                                                    + *

                                                    A history of status changes for an IP address range that that you bring to AWS Global Accelerator + * through bring your own IP address (BYOIP).

                                                    */ - State?: ByoipCidrState | string; + Events?: ByoipCidrEvent[]; } export namespace ByoipCidr { @@ -436,14 +436,14 @@ export namespace AssociatedListenerFoundException { */ export interface CidrAuthorizationContext { /** - *

                                                    The plain-text authorization message for the prefix and account.

                                                    + *

                                                    The signed authorization message for the prefix and account.

                                                    */ - Message: string | undefined; + Signature: string | undefined; /** - *

                                                    The signed authorization message for the prefix and account.

                                                    + *

                                                    The plain-text authorization message for the prefix and account.

                                                    */ - Signature: string | undefined; + Message: string | undefined; } export namespace CidrAuthorizationContext { @@ -482,25 +482,6 @@ export interface CreateAcceleratorRequest { */ IdempotencyToken?: string; - /** - *

                                                    Create tags for an accelerator.

                                                    - *

                                                    For more information, see Tagging - * in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

                                                    - */ - Tags?: Tag[]; - - /** - *

                                                    The value for the address type must be IPv4. - *

                                                    - */ - IpAddressType?: IpAddressType | string; - - /** - *

                                                    The name of an accelerator. The name can have a maximum of 32 characters, must contain only alphanumeric characters or - * hyphens (-), and must not begin or end with a hyphen.

                                                    - */ - Name: string | undefined; - /** *

                                                    Indicates whether an accelerator is enabled. The value is true or false. The default value is true.

                                                    *

                                                    If the value is set to true, an accelerator cannot be deleted. If set to false, the accelerator can be deleted.

                                                    @@ -518,6 +499,25 @@ export interface CreateAcceleratorRequest { * IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

                                                    */ IpAddresses?: string[]; + + /** + *

                                                    The name of an accelerator. The name can have a maximum of 32 characters, must contain only alphanumeric characters or + * hyphens (-), and must not begin or end with a hyphen.

                                                    + */ + Name: string | undefined; + + /** + *

                                                    Create tags for an accelerator.

                                                    + *

                                                    For more information, see Tagging + * in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

                                                    + */ + Tags?: Tag[]; + + /** + *

                                                    The value for the address type must be IPv4. + *

                                                    + */ + IpAddressType?: IpAddressType | string; } export namespace CreateAcceleratorRequest { @@ -558,15 +558,6 @@ export namespace LimitExceededException { *

                                                    A complex type for endpoints.

                                                    */ export interface EndpointConfiguration { - /** - *

                                                    The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic - * based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The - * result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second - * and third endpoints, and 6/20 is routed to the last endpoint. For more information, see Endpoint Weights in the - * AWS Global Accelerator Developer Guide.

                                                    - */ - Weight?: number; - /** *

                                                    An ID for the endpoint. If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon * Resource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address @@ -584,6 +575,15 @@ export interface EndpointConfiguration { * Preserve Client IP Addresses in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

                                                    */ ClientIPPreservationEnabled?: boolean; + + /** + *

                                                    The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic + * based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The + * result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second + * and third endpoints, and 6/20 is routed to the last endpoint. For more information, see Endpoint Weights in the + * AWS Global Accelerator Developer Guide.

                                                    + */ + Weight?: number; } export namespace EndpointConfiguration { @@ -600,9 +600,10 @@ export enum HealthCheckProtocol { export interface CreateEndpointGroupRequest { /** - *

                                                    The Amazon Resource Name (ARN) of the listener.

                                                    + *

                                                    If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The + * default value is slash (/).

                                                    */ - ListenerArn: string | undefined; + HealthCheckPath?: string; /** *

                                                    A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the @@ -611,21 +612,18 @@ export interface CreateEndpointGroupRequest { IdempotencyToken?: string; /** - *

                                                    The name of the AWS Region where the endpoint group is located. A listener can have only one endpoint group in a - * specific Region.

                                                    - */ - EndpointGroupRegion: string | undefined; - - /** - *

                                                    The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the listener.

                                                    */ - HealthCheckIntervalSeconds?: number; + ListenerArn: string | undefined; /** - *

                                                    The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an - * unhealthy endpoint to healthy. The default value is 3.

                                                    + *

                                                    The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for + * this listener.

                                                    + *

                                                    Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is + * applied to the traffic that would otherwise have been routed to the Region based on optimal routing.

                                                    + *

                                                    The default value is 100.

                                                    */ - ThresholdCount?: number; + TrafficDialPercentage?: number; /** *

                                                    The port that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default port @@ -635,10 +633,16 @@ export interface CreateEndpointGroupRequest { HealthCheckPort?: number; /** - *

                                                    The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default - * value is TCP.

                                                    + *

                                                    The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an + * unhealthy endpoint to healthy. The default value is 3.

                                                    */ - HealthCheckProtocol?: HealthCheckProtocol | string; + ThresholdCount?: number; + + /** + *

                                                    The name of the AWS Region where the endpoint group is located. A listener can have only one endpoint group in a + * specific Region.

                                                    + */ + EndpointGroupRegion: string | undefined; /** *

                                                    The list of endpoint objects.

                                                    @@ -646,19 +650,15 @@ export interface CreateEndpointGroupRequest { EndpointConfigurations?: EndpointConfiguration[]; /** - *

                                                    If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The - * default value is slash (/).

                                                    + *

                                                    The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default + * value is TCP.

                                                    */ - HealthCheckPath?: string; + HealthCheckProtocol?: HealthCheckProtocol | string; /** - *

                                                    The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for - * this listener.

                                                    - *

                                                    Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is - * applied to the traffic that would otherwise have been routed to the Region based on optimal routing.

                                                    - *

                                                    The default value is 100.

                                                    + *

                                                    The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.

                                                    */ - TrafficDialPercentage?: number; + HealthCheckIntervalSeconds?: number; } export namespace CreateEndpointGroupRequest { @@ -674,24 +674,6 @@ export type HealthState = "HEALTHY" | "INITIAL" | "UNHEALTHY"; * balancers.

                                                    */ export interface EndpointDescription { - /** - *

                                                    Indicates whether client IP address preservation is enabled for an Application Load Balancer endpoint. - * The value is true or false. The default value is true for new accelerators.

                                                    - *

                                                    If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as - * traffic travels to applications on the Application Load Balancer endpoint fronted by the accelerator.

                                                    - *

                                                    For more information, see - * Viewing Client IP Addresses in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

                                                    - */ - ClientIPPreservationEnabled?: boolean; - - /** - *

                                                    An ID for the endpoint. If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon - * Resource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address - * allocation ID. For EC2 instances, this is the EC2 instance ID.

                                                    - *

                                                    An Application Load Balancer can be either internal or internet-facing.

                                                    - */ - EndpointId?: string; - /** *

                                                    The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic * based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The @@ -735,10 +717,28 @@ export interface EndpointDescription { */ HealthReason?: string; + /** + *

                                                    Indicates whether client IP address preservation is enabled for an Application Load Balancer endpoint. + * The value is true or false. The default value is true for new accelerators.

                                                    + *

                                                    If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as + * traffic travels to applications on the Application Load Balancer endpoint fronted by the accelerator.

                                                    + *

                                                    For more information, see + * Viewing Client IP Addresses in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

                                                    + */ + ClientIPPreservationEnabled?: boolean; + /** *

                                                    The health status of the endpoint.

                                                    */ HealthState?: HealthState | string; + + /** + *

                                                    An ID for the endpoint. If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon + * Resource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address + * allocation ID. For EC2 instances, this is the EC2 instance ID.

                                                    + *

                                                    An Application Load Balancer can be either internal or internet-facing.

                                                    + */ + EndpointId?: string; } export namespace EndpointDescription { @@ -758,20 +758,21 @@ export interface EndpointGroup { HealthCheckIntervalSeconds?: number; /** - *

                                                    If the protocol is HTTP/S, then this value provides the ping path that Global Accelerator uses for the destination on the - * endpoints for health checks. The default is slash (/).

                                                    + *

                                                    The list of endpoint objects.

                                                    */ - HealthCheckPath?: string; + EndpointDescriptions?: EndpointDescription[]; /** - *

                                                    The AWS Region that this endpoint group belongs.

                                                    + *

                                                    If the protocol is HTTP/S, then this value provides the ping path that Global Accelerator uses for the destination on the + * endpoints for health checks. The default is slash (/).

                                                    */ - EndpointGroupRegion?: string; + HealthCheckPath?: string; /** - *

                                                    The list of endpoint objects.

                                                    + *

                                                    The protocol that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group. The default + * value is TCP.

                                                    */ - EndpointDescriptions?: EndpointDescription[]; + HealthCheckProtocol?: HealthCheckProtocol | string; /** *

                                                    The port that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group.

                                                    @@ -787,12 +788,6 @@ export interface EndpointGroup { */ ThresholdCount?: number; - /** - *

                                                    The protocol that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group. The default - * value is TCP.

                                                    - */ - HealthCheckProtocol?: HealthCheckProtocol | string; - /** *

                                                    The Amazon Resource Name (ARN) of the endpoint group.

                                                    */ @@ -806,6 +801,11 @@ export interface EndpointGroup { *

                                                    The default value is 100.

                                                    */ TrafficDialPercentage?: number; + + /** + *

                                                    The AWS Region that this endpoint group belongs.

                                                    + */ + EndpointGroupRegion?: string; } export namespace EndpointGroup { @@ -862,14 +862,14 @@ export namespace ListenerNotFoundException { */ export interface PortRange { /** - *

                                                    The last port in the range of ports, inclusive.

                                                    + *

                                                    The first port in the range of ports, inclusive.

                                                    */ - ToPort?: number; + FromPort?: number; /** - *

                                                    The first port in the range of ports, inclusive.

                                                    + *

                                                    The last port in the range of ports, inclusive.

                                                    */ - FromPort?: number; + ToPort?: number; } export namespace PortRange { @@ -884,6 +884,16 @@ export enum Protocol { } export interface CreateListenerRequest { + /** + *

                                                    The protocol for connections from clients to your accelerator.

                                                    + */ + Protocol: Protocol | string | undefined; + + /** + *

                                                    The Amazon Resource Name (ARN) of your accelerator.

                                                    + */ + AcceleratorArn: string | undefined; + /** *

                                                    Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, * regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always @@ -900,26 +910,16 @@ export interface CreateListenerRequest { */ ClientAffinity?: ClientAffinity | string; - /** - *

                                                    The list of port ranges to support for connections from clients to your accelerator.

                                                    - */ - PortRanges: PortRange[] | undefined; - - /** - *

                                                    The Amazon Resource Name (ARN) of your accelerator.

                                                    - */ - AcceleratorArn: string | undefined; - - /** - *

                                                    The protocol for connections from clients to your accelerator.

                                                    - */ - Protocol: Protocol | string | undefined; - /** *

                                                    A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the * uniqueness—of the request.

                                                    */ IdempotencyToken?: string; + + /** + *

                                                    The list of port ranges to support for connections from clients to your accelerator.

                                                    + */ + PortRanges: PortRange[] | undefined; } export namespace CreateListenerRequest { @@ -932,6 +932,16 @@ export namespace CreateListenerRequest { *

                                                    A complex type for a listener.

                                                    */ export interface Listener { + /** + *

                                                    The list of port ranges for the connections from clients to the accelerator.

                                                    + */ + PortRanges?: PortRange[]; + + /** + *

                                                    The Amazon Resource Name (ARN) of the listener.

                                                    + */ + ListenerArn?: string; + /** *

                                                    Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, * regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always @@ -952,16 +962,6 @@ export interface Listener { *

                                                    The protocol for the connections from clients to the accelerator.

                                                    */ Protocol?: Protocol | string; - - /** - *

                                                    The Amazon Resource Name (ARN) of the listener.

                                                    - */ - ListenerArn?: string; - - /** - *

                                                    The list of port ranges for the connections from clients to the accelerator.

                                                    - */ - PortRanges?: PortRange[]; } export namespace Listener { @@ -1272,6 +1272,11 @@ export namespace ListByoipCidrsResponse { } export interface ListEndpointGroupsRequest { + /** + *

                                                    The number of endpoint group objects that you want to return with this call. The default value is 10.

                                                    + */ + MaxResults?: number; + /** *

                                                    The Amazon Resource Name (ARN) of the listener.

                                                    */ @@ -1281,11 +1286,6 @@ export interface ListEndpointGroupsRequest { *

                                                    The token for the next set of results. You receive this token from a previous call.

                                                    */ NextToken?: string; - - /** - *

                                                    The number of endpoint group objects that you want to return with this call. The default value is 10.

                                                    - */ - MaxResults?: number; } export namespace ListEndpointGroupsRequest { @@ -1296,14 +1296,14 @@ export namespace ListEndpointGroupsRequest { export interface ListEndpointGroupsResponse { /** - *

                                                    The list of the endpoint groups associated with a listener.

                                                    + *

                                                    The token for the next set of results. You receive this token from a previous call.

                                                    */ - EndpointGroups?: EndpointGroup[]; + NextToken?: string; /** - *

                                                    The token for the next set of results. You receive this token from a previous call.

                                                    + *

                                                    The list of the endpoint groups associated with a listener.

                                                    */ - NextToken?: string; + EndpointGroups?: EndpointGroup[]; } export namespace ListEndpointGroupsResponse { @@ -1313,11 +1313,6 @@ export namespace ListEndpointGroupsResponse { } export interface ListListenersRequest { - /** - *

                                                    The Amazon Resource Name (ARN) of the accelerator for which you want to list listener objects.

                                                    - */ - AcceleratorArn: string | undefined; - /** *

                                                    The token for the next set of results. You receive this token from a previous call.

                                                    */ @@ -1327,6 +1322,11 @@ export interface ListListenersRequest { *

                                                    The number of listener objects that you want to return with this call. The default value is 10.

                                                    */ MaxResults?: number; + + /** + *

                                                    The Amazon Resource Name (ARN) of the accelerator for which you want to list listener objects.

                                                    + */ + AcceleratorArn: string | undefined; } export namespace ListListenersRequest { @@ -1416,14 +1416,14 @@ export namespace ProvisionByoipCidrResponse { export interface TagResourceRequest { /** - *

                                                    The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags to. An ARN uniquely identifies a resource.

                                                    + *

                                                    The tags to add to a resource. A tag consists of a key and a value that you define.

                                                    */ - ResourceArn: string | undefined; + Tags: Tag[] | undefined; /** - *

                                                    The tags to add to a resource. A tag consists of a key and a value that you define.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags to. An ARN uniquely identifies a resource.

                                                    */ - Tags: Tag[] | undefined; + ResourceArn: string | undefined; } export namespace TagResourceRequest { @@ -1442,14 +1442,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                    The tag key pairs that you want to remove from the specified resources.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the Global Accelerator resource to remove tags from. An ARN uniquely identifies a resource.

                                                    */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; /** - *

                                                    The Amazon Resource Name (ARN) of the Global Accelerator resource to remove tags from. An ARN uniquely identifies a resource.

                                                    + *

                                                    The tag key pairs that you want to remove from the specified resources.

                                                    */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -1467,28 +1467,28 @@ export namespace UntagResourceResponse { } export interface UpdateAcceleratorRequest { - /** - *

                                                    Indicates whether an accelerator is enabled. The value is true or false. The default value is true.

                                                    - *

                                                    If the value is set to true, the accelerator cannot be deleted. If set to false, the accelerator can be deleted.

                                                    - */ - Enabled?: boolean; - /** *

                                                    The name of the accelerator. The name can have a maximum of 32 characters, must contain only alphanumeric characters or * hyphens (-), and must not begin or end with a hyphen.

                                                    */ Name?: string; - /** - *

                                                    The Amazon Resource Name (ARN) of the accelerator to update.

                                                    - */ - AcceleratorArn: string | undefined; - /** *

                                                    The value for the address type must be IPv4. *

                                                    */ IpAddressType?: IpAddressType | string; + + /** + *

                                                    Indicates whether an accelerator is enabled. The value is true or false. The default value is true.

                                                    + *

                                                    If the value is set to true, the accelerator cannot be deleted. If set to false, the accelerator can be deleted.

                                                    + */ + Enabled?: boolean; + + /** + *

                                                    The Amazon Resource Name (ARN) of the accelerator to update.

                                                    + */ + AcceleratorArn: string | undefined; } export namespace UpdateAcceleratorRequest { @@ -1561,27 +1561,16 @@ export namespace UpdateAcceleratorAttributesResponse { } export interface UpdateEndpointGroupRequest { - /** - *

                                                    The list of endpoint objects.

                                                    - */ - EndpointConfigurations?: EndpointConfiguration[]; - /** *

                                                    The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.

                                                    */ HealthCheckIntervalSeconds?: number; /** - *

                                                    The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an - * unhealthy endpoint to healthy. The default value is 3.

                                                    - */ - ThresholdCount?: number; - - /** - *

                                                    The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default - * value is TCP.

                                                    + *

                                                    If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The + * default value is slash (/).

                                                    */ - HealthCheckProtocol?: HealthCheckProtocol | string; + HealthCheckPath?: string; /** *

                                                    The Amazon Resource Name (ARN) of the endpoint group.

                                                    @@ -1589,11 +1578,10 @@ export interface UpdateEndpointGroupRequest { EndpointGroupArn: string | undefined; /** - *

                                                    The port that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default port - * is the listener port that this endpoint group is associated with. If the listener port is a list of ports, Global Accelerator uses - * the first port in the list.

                                                    + *

                                                    The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default + * value is TCP.

                                                    */ - HealthCheckPort?: number; + HealthCheckProtocol?: HealthCheckProtocol | string; /** *

                                                    The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for @@ -1605,10 +1593,22 @@ export interface UpdateEndpointGroupRequest { TrafficDialPercentage?: number; /** - *

                                                    If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The - * default value is slash (/).

                                                    + *

                                                    The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an + * unhealthy endpoint to healthy. The default value is 3.

                                                    */ - HealthCheckPath?: string; + ThresholdCount?: number; + + /** + *

                                                    The port that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default port + * is the listener port that this endpoint group is associated with. If the listener port is a list of ports, Global Accelerator uses + * the first port in the list.

                                                    + */ + HealthCheckPort?: number; + + /** + *

                                                    The list of endpoint objects.

                                                    + */ + EndpointConfigurations?: EndpointConfiguration[]; } export namespace UpdateEndpointGroupRequest { @@ -1631,6 +1631,21 @@ export namespace UpdateEndpointGroupResponse { } export interface UpdateListenerRequest { + /** + *

                                                    The updated list of port ranges for the connections from clients to the accelerator.

                                                    + */ + PortRanges?: PortRange[]; + + /** + *

                                                    The Amazon Resource Name (ARN) of the listener to update.

                                                    + */ + ListenerArn: string | undefined; + + /** + *

                                                    The updated protocol for the connections from clients to the accelerator.

                                                    + */ + Protocol?: Protocol | string; + /** *

                                                    Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, * regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always @@ -1646,21 +1661,6 @@ export interface UpdateListenerRequest { *

                                                    The default value is NONE.

                                                    */ ClientAffinity?: ClientAffinity | string; - - /** - *

                                                    The updated protocol for the connections from clients to the accelerator.

                                                    - */ - Protocol?: Protocol | string; - - /** - *

                                                    The Amazon Resource Name (ARN) of the listener to update.

                                                    - */ - ListenerArn: string | undefined; - - /** - *

                                                    The updated list of port ranges for the connections from clients to the accelerator.

                                                    - */ - PortRanges?: PortRange[]; } export namespace UpdateListenerRequest { diff --git a/clients/client-glue/Glue.ts b/clients/client-glue/Glue.ts index e5e0ee72c461..90290730899c 100644 --- a/clients/client-glue/Glue.ts +++ b/clients/client-glue/Glue.ts @@ -59,6 +59,11 @@ import { BatchStopJobRunCommandInput, BatchStopJobRunCommandOutput, } from "./commands/BatchStopJobRunCommand"; +import { + BatchUpdatePartitionCommand, + BatchUpdatePartitionCommandInput, + BatchUpdatePartitionCommandOutput, +} from "./commands/BatchUpdatePartitionCommand"; import { CancelMLTaskRunCommand, CancelMLTaskRunCommandInput, @@ -306,6 +311,11 @@ import { GetPartitionCommandInput, GetPartitionCommandOutput, } from "./commands/GetPartitionCommand"; +import { + GetPartitionIndexesCommand, + GetPartitionIndexesCommandInput, + GetPartitionIndexesCommandOutput, +} from "./commands/GetPartitionIndexesCommand"; import { GetPartitionsCommand, GetPartitionsCommandInput, @@ -962,6 +972,38 @@ export class Glue extends GlueClient { } } + /** + *

                                                    Updates one or more partitions in a batch operation.

                                                    + */ + public batchUpdatePartition( + args: BatchUpdatePartitionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public batchUpdatePartition( + args: BatchUpdatePartitionCommandInput, + cb: (err: any, data?: BatchUpdatePartitionCommandOutput) => void + ): void; + public batchUpdatePartition( + args: BatchUpdatePartitionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: BatchUpdatePartitionCommandOutput) => void + ): void; + public batchUpdatePartition( + args: BatchUpdatePartitionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchUpdatePartitionCommandOutput) => void), + cb?: (err: any, data?: BatchUpdatePartitionCommandOutput) => void + ): Promise | void { + const command = new BatchUpdatePartitionCommand(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); + } + } + /** *

                                                    Cancels (stops) a task run. Machine learning task runs are asynchronous tasks that AWS * Glue runs on your behalf as part of various machine learning workflows. You can cancel a @@ -2844,6 +2886,38 @@ export class Glue extends GlueClient { } } + /** + *

                                                    Retrieves the partition indexes associated with a table.

                                                    + */ + public getPartitionIndexes( + args: GetPartitionIndexesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getPartitionIndexes( + args: GetPartitionIndexesCommandInput, + cb: (err: any, data?: GetPartitionIndexesCommandOutput) => void + ): void; + public getPartitionIndexes( + args: GetPartitionIndexesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetPartitionIndexesCommandOutput) => void + ): void; + public getPartitionIndexes( + args: GetPartitionIndexesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetPartitionIndexesCommandOutput) => void), + cb?: (err: any, data?: GetPartitionIndexesCommandOutput) => void + ): Promise | void { + const command = new GetPartitionIndexesCommand(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 partitions in a table.

                                                    */ @@ -3781,7 +3855,7 @@ export class Glue extends GlueClient { } /** - *

                                                    Restarts any completed nodes in a workflow run and resumes the run execution.

                                                    + *

                                                    Restarts selected nodes of a previous partially completed workflow run and resumes the workflow run. The selected nodes and all nodes that are downstream from the selected nodes are run.

                                                    */ public resumeWorkflowRun( args: ResumeWorkflowRunCommandInput, diff --git a/clients/client-glue/GlueClient.ts b/clients/client-glue/GlueClient.ts index e522297d9564..0693281d2de2 100644 --- a/clients/client-glue/GlueClient.ts +++ b/clients/client-glue/GlueClient.ts @@ -25,6 +25,10 @@ import { BatchGetPartitionCommandInput, BatchGetPartitionCommandOutput } from ". import { BatchGetTriggersCommandInput, BatchGetTriggersCommandOutput } from "./commands/BatchGetTriggersCommand"; import { BatchGetWorkflowsCommandInput, BatchGetWorkflowsCommandOutput } from "./commands/BatchGetWorkflowsCommand"; import { BatchStopJobRunCommandInput, BatchStopJobRunCommandOutput } from "./commands/BatchStopJobRunCommand"; +import { + BatchUpdatePartitionCommandInput, + BatchUpdatePartitionCommandOutput, +} from "./commands/BatchUpdatePartitionCommand"; import { CancelMLTaskRunCommandInput, CancelMLTaskRunCommandOutput } from "./commands/CancelMLTaskRunCommand"; import { CreateClassifierCommandInput, CreateClassifierCommandOutput } from "./commands/CreateClassifierCommand"; import { CreateConnectionCommandInput, CreateConnectionCommandOutput } from "./commands/CreateConnectionCommand"; @@ -117,6 +121,10 @@ import { GetMLTransformCommandInput, GetMLTransformCommandOutput } from "./comma import { GetMLTransformsCommandInput, GetMLTransformsCommandOutput } from "./commands/GetMLTransformsCommand"; import { GetMappingCommandInput, GetMappingCommandOutput } from "./commands/GetMappingCommand"; import { GetPartitionCommandInput, GetPartitionCommandOutput } from "./commands/GetPartitionCommand"; +import { + GetPartitionIndexesCommandInput, + GetPartitionIndexesCommandOutput, +} from "./commands/GetPartitionIndexesCommand"; import { GetPartitionsCommandInput, GetPartitionsCommandOutput } from "./commands/GetPartitionsCommand"; import { GetPlanCommandInput, GetPlanCommandOutput } from "./commands/GetPlanCommand"; import { @@ -298,6 +306,7 @@ export type ServiceInputTypes = | BatchGetTriggersCommandInput | BatchGetWorkflowsCommandInput | BatchStopJobRunCommandInput + | BatchUpdatePartitionCommandInput | CancelMLTaskRunCommandInput | CreateClassifierCommandInput | CreateConnectionCommandInput @@ -357,6 +366,7 @@ export type ServiceInputTypes = | GetMLTransformsCommandInput | GetMappingCommandInput | GetPartitionCommandInput + | GetPartitionIndexesCommandInput | GetPartitionsCommandInput | GetPlanCommandInput | GetResourcePoliciesCommandInput @@ -433,6 +443,7 @@ export type ServiceOutputTypes = | BatchGetTriggersCommandOutput | BatchGetWorkflowsCommandOutput | BatchStopJobRunCommandOutput + | BatchUpdatePartitionCommandOutput | CancelMLTaskRunCommandOutput | CreateClassifierCommandOutput | CreateConnectionCommandOutput @@ -492,6 +503,7 @@ export type ServiceOutputTypes = | GetMLTransformsCommandOutput | GetMappingCommandOutput | GetPartitionCommandOutput + | GetPartitionIndexesCommandOutput | GetPartitionsCommandOutput | GetPlanCommandOutput | GetResourcePoliciesCommandOutput diff --git a/clients/client-glue/commands/BatchUpdatePartitionCommand.ts b/clients/client-glue/commands/BatchUpdatePartitionCommand.ts new file mode 100644 index 000000000000..40dc9c6ce98e --- /dev/null +++ b/clients/client-glue/commands/BatchUpdatePartitionCommand.ts @@ -0,0 +1,70 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { BatchUpdatePartitionRequest, BatchUpdatePartitionResponse } from "../models/models_0"; +import { + deserializeAws_json1_1BatchUpdatePartitionCommand, + serializeAws_json1_1BatchUpdatePartitionCommand, +} 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 BatchUpdatePartitionCommandInput = BatchUpdatePartitionRequest; +export type BatchUpdatePartitionCommandOutput = BatchUpdatePartitionResponse & __MetadataBearer; + +export class BatchUpdatePartitionCommand extends $Command< + BatchUpdatePartitionCommandInput, + BatchUpdatePartitionCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchUpdatePartitionCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: BatchUpdatePartitionRequest.filterSensitiveLog, + outputFilterSensitiveLog: BatchUpdatePartitionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: BatchUpdatePartitionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1BatchUpdatePartitionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1BatchUpdatePartitionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-glue/commands/GetMLTransformsCommand.ts b/clients/client-glue/commands/GetMLTransformsCommand.ts index 9bb2de628843..87cece2f252a 100644 --- a/clients/client-glue/commands/GetMLTransformsCommand.ts +++ b/clients/client-glue/commands/GetMLTransformsCommand.ts @@ -1,5 +1,5 @@ import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { GetMLTransformsRequest, GetMLTransformsResponse } from "../models/models_0"; +import { GetMLTransformsRequest, GetMLTransformsResponse } from "../models/models_1"; import { deserializeAws_json1_1GetMLTransformsCommand, serializeAws_json1_1GetMLTransformsCommand, diff --git a/clients/client-glue/commands/GetPartitionIndexesCommand.ts b/clients/client-glue/commands/GetPartitionIndexesCommand.ts new file mode 100644 index 000000000000..18e029ec0db8 --- /dev/null +++ b/clients/client-glue/commands/GetPartitionIndexesCommand.ts @@ -0,0 +1,70 @@ +import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; +import { GetPartitionIndexesRequest, GetPartitionIndexesResponse } from "../models/models_1"; +import { + deserializeAws_json1_1GetPartitionIndexesCommand, + serializeAws_json1_1GetPartitionIndexesCommand, +} 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 GetPartitionIndexesCommandInput = GetPartitionIndexesRequest; +export type GetPartitionIndexesCommandOutput = GetPartitionIndexesResponse & __MetadataBearer; + +export class GetPartitionIndexesCommand extends $Command< + GetPartitionIndexesCommandInput, + GetPartitionIndexesCommandOutput, + GlueClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetPartitionIndexesCommandInput) { + // 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 handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetPartitionIndexesRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetPartitionIndexesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetPartitionIndexesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetPartitionIndexesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetPartitionIndexesCommand(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 6219d90330b9..dae2ddc9778a 100644 --- a/clients/client-glue/index.ts +++ b/clients/client-glue/index.ts @@ -12,6 +12,7 @@ export * from "./commands/BatchGetPartitionCommand"; export * from "./commands/BatchGetTriggersCommand"; export * from "./commands/BatchGetWorkflowsCommand"; export * from "./commands/BatchStopJobRunCommand"; +export * from "./commands/BatchUpdatePartitionCommand"; export * from "./commands/CancelMLTaskRunCommand"; export * from "./commands/CreateClassifierCommand"; export * from "./commands/CreateConnectionCommand"; @@ -81,6 +82,8 @@ export * from "./commands/GetMLTransformCommand"; export * from "./commands/GetMLTransformsCommand"; export * from "./pagination/GetMLTransformsPaginator"; export * from "./commands/GetPartitionCommand"; +export * from "./commands/GetPartitionIndexesCommand"; +export * from "./pagination/GetPartitionIndexesPaginator"; export * from "./commands/GetPartitionsCommand"; export * from "./pagination/GetPartitionsPaginator"; export * from "./commands/GetPlanCommand"; @@ -88,6 +91,7 @@ export * from "./commands/GetResourcePoliciesCommand"; export * from "./commands/GetResourcePolicyCommand"; export * from "./commands/GetSecurityConfigurationCommand"; export * from "./commands/GetSecurityConfigurationsCommand"; +export * from "./pagination/GetSecurityConfigurationsPaginator"; export * from "./commands/GetTableCommand"; export * from "./commands/GetTablesCommand"; export * from "./pagination/GetTablesPaginator"; diff --git a/clients/client-glue/models/models_0.ts b/clients/client-glue/models/models_0.ts index e4e300788e72..6f6b0043385e 100644 --- a/clients/client-glue/models/models_0.ts +++ b/clients/client-glue/models/models_0.ts @@ -40,18 +40,6 @@ export namespace NotificationProperty { *

                                                    Defines an action to be initiated by a trigger.

                                                    */ export interface 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.

                                                    - */ - Timeout?: number; - - /** - *

                                                    Specifies configuration properties of a job run notification.

                                                    - */ - NotificationProperty?: NotificationProperty; - /** *

                                                    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 @@ -72,6 +60,18 @@ export interface Action { */ CrawlerName?: string; + /** + *

                                                    Specifies configuration properties of a job run notification.

                                                    + */ + 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.

                                                    */ @@ -106,6 +106,11 @@ export namespace AlreadyExistsException { *

                                                    A column in a Table.

                                                    */ export interface Column { + /** + *

                                                    The data type of the Column.

                                                    + */ + Type?: string; + /** *

                                                    These key-value pairs define properties associated with the column.

                                                    */ @@ -120,11 +125,6 @@ export interface Column { *

                                                    The name of the Column.

                                                    */ Name: string | undefined; - - /** - *

                                                    The data type of the Column.

                                                    - */ - Type?: string; } export namespace Column { @@ -139,15 +139,15 @@ export namespace Column { */ export interface SerDeInfo { /** - *

                                                    Usually the class that implements the SerDe. An example is - * org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.

                                                    + *

                                                    Name of the SerDe.

                                                    */ - SerializationLibrary?: string; + Name?: string; /** - *

                                                    Name of the SerDe.

                                                    + *

                                                    Usually the class that implements the SerDe. An example is + * org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.

                                                    */ - Name?: string; + SerializationLibrary?: string; /** *

                                                    These key-value pairs define initialization parameters for the SerDe.

                                                    @@ -166,11 +166,6 @@ export namespace SerDeInfo { * frequency.

                                                    */ export interface SkewedInfo { - /** - *

                                                    A list of names of columns that contain skewed values.

                                                    - */ - SkewedColumnNames?: string[]; - /** *

                                                    A mapping of skewed values to the columns that contain them.

                                                    */ @@ -181,6 +176,11 @@ export interface SkewedInfo { * skewed.

                                                    */ SkewedColumnValues?: string[]; + + /** + *

                                                    A list of names of columns that contain skewed values.

                                                    + */ + SkewedColumnNames?: string[]; } export namespace SkewedInfo { @@ -193,16 +193,16 @@ export namespace SkewedInfo { *

                                                    Specifies the sort order of a sorted column.

                                                    */ export interface Order { - /** - *

                                                    The name of the column.

                                                    - */ - Column: string | undefined; - /** *

                                                    Indicates that the column is sorted in ascending order * (== 1), or in descending order (==0).

                                                    */ SortOrder: number | undefined; + + /** + *

                                                    The name of the column.

                                                    + */ + Column: string | undefined; } export namespace Order { @@ -216,32 +216,21 @@ export namespace Order { */ export interface StorageDescriptor { /** - *

                                                    The input format: SequenceFileInputFormat (binary), - * or TextInputFormat, or a custom format.

                                                    - */ - InputFormat?: string; - - /** - *

                                                    A list of the Columns in the table.

                                                    - */ - Columns?: Column[]; - - /** - *

                                                    Must be specified if the table contains any dimension columns.

                                                    + *

                                                    The information about values that appear frequently in a column (skewed values).

                                                    */ - NumberOfBuckets?: number; + SkewedInfo?: SkewedInfo; /** - *

                                                    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.

                                                    + *

                                                    + * True if the data in the table is compressed, or False if + * not.

                                                    */ - Location?: string; + Compressed?: boolean; /** - *

                                                    The information about values that appear frequently in a column (skewed values).

                                                    + *

                                                    The user-supplied properties in key-value form.

                                                    */ - SkewedInfo?: SkewedInfo; + Parameters?: { [key: string]: string }; /** *

                                                    The output format: SequenceFileOutputFormat (binary), @@ -250,22 +239,20 @@ export interface StorageDescriptor { OutputFormat?: string; /** - *

                                                    A list of reducer grouping columns, clustering columns, and - * bucketing columns in the table.

                                                    + *

                                                    Must be specified if the table contains any dimension columns.

                                                    */ - BucketColumns?: string[]; + NumberOfBuckets?: number; /** - *

                                                    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; /** - *

                                                    - * True if the data in the table is compressed, or False if - * not.

                                                    + *

                                                    The serialization/deserialization (SerDe) information.

                                                    */ - Compressed?: boolean; + SerdeInfo?: SerDeInfo; /** *

                                                    A list specifying the sort order of each bucket in the table.

                                                    @@ -273,9 +260,10 @@ export interface StorageDescriptor { SortColumns?: Order[]; /** - *

                                                    The serialization/deserialization (SerDe) information.

                                                    + *

                                                    A list of reducer grouping columns, clustering columns, and + * bucketing columns in the table.

                                                    */ - SerdeInfo?: SerDeInfo; + BucketColumns?: string[]; /** *

                                                    @@ -283,6 +271,18 @@ export interface StorageDescriptor { * not.

                                                    */ 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.

                                                    + */ + Location?: string; } export namespace StorageDescriptor { @@ -295,11 +295,6 @@ export namespace StorageDescriptor { *

                                                    The structure used to create and update a partition.

                                                    */ export interface PartitionInput { - /** - *

                                                    The last time at which column statistics were computed for this partition.

                                                    - */ - LastAnalyzedTime?: Date; - /** *

                                                    The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input.

                                                    * @@ -313,6 +308,11 @@ export interface PartitionInput { */ StorageDescriptor?: StorageDescriptor; + /** + *

                                                    The last time at which column statistics were computed for this partition.

                                                    + */ + LastAnalyzedTime?: Date; + /** *

                                                    These key-value pairs define partition parameters.

                                                    */ @@ -331,12 +331,6 @@ 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.

                                                    @@ -353,6 +347,12 @@ 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 +366,14 @@ export namespace BatchCreatePartitionRequest { */ export interface ErrorDetail { /** - *

                                                    The code associated with this error.

                                                    + *

                                                    A message describing the error.

                                                    */ - ErrorCode?: string; + ErrorMessage?: string; /** - *

                                                    A message describing the error.

                                                    + *

                                                    The code associated with this error.

                                                    */ - ErrorMessage?: string; + ErrorCode?: string; } export namespace ErrorDetail { @@ -586,17 +586,17 @@ export interface BatchDeletePartitionRequest { */ DatabaseName: string | undefined; - /** - *

                                                    The name of the table that contains the partitions to be deleted.

                                                    - */ - TableName: string | undefined; - /** *

                                                    A list of PartitionInput structures that define * the partitions to be deleted.

                                                    */ PartitionsToDelete: PartitionValueList[] | undefined; + /** + *

                                                    The name of the table that contains the partitions to be deleted.

                                                    + */ + 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.

                                                    @@ -624,6 +624,12 @@ export namespace BatchDeletePartitionResponse { } export interface BatchDeleteTableRequest { + /** + *

                                                    The ID of the Data Catalog where the table resides. If none is provided, the AWS account + * ID is used by default.

                                                    + */ + CatalogId?: string; + /** *

                                                    A list of the table to delete.

                                                    */ @@ -634,12 +640,6 @@ export interface BatchDeleteTableRequest { * compatibility, this name is entirely lowercase.

                                                    */ DatabaseName: string | undefined; - - /** - *

                                                    The ID of the Data Catalog where the table resides. If none is provided, the AWS account - * ID is used by default.

                                                    - */ - CatalogId?: string; } export namespace BatchDeleteTableRequest { @@ -683,12 +683,6 @@ export namespace BatchDeleteTableResponse { } export interface BatchDeleteTableVersionRequest { - /** - *

                                                    The database in the catalog in which the table resides. For Hive - * compatibility, this name is entirely lowercase.

                                                    - */ - DatabaseName: string | undefined; - /** *

                                                    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.

                                                    */ @@ -705,6 +699,12 @@ export interface BatchDeleteTableVersionRequest { * this name is entirely lowercase.

                                                    */ TableName: string | undefined; + + /** + *

                                                    The database in the catalog in which the table resides. For Hive + * compatibility, this name is entirely lowercase.

                                                    + */ + DatabaseName: string | undefined; } export namespace BatchDeleteTableVersionRequest { @@ -718,9 +718,9 @@ export namespace BatchDeleteTableVersionRequest { */ export interface TableVersionError { /** - *

                                                    The details about the error.

                                                    + *

                                                    The name of the table in question.

                                                    */ - ErrorDetail?: ErrorDetail; + TableName?: string; /** *

                                                    The ID value of the version in question. A VersionID is a string representation of an integer. Each version is incremented by 1.

                                                    @@ -728,9 +728,9 @@ export interface TableVersionError { VersionId?: string; /** - *

                                                    The name of the table in question.

                                                    + *

                                                    The details about the error.

                                                    */ - TableName?: string; + ErrorDetail?: ErrorDetail; } export namespace TableVersionError { @@ -778,14 +778,14 @@ export enum LastCrawlStatus { */ export interface LastCrawlInfo { /** - *

                                                    The time at which the crawl started.

                                                    + *

                                                    The log stream for the last crawl.

                                                    */ - StartTime?: Date; + LogStream?: string; /** - *

                                                    The log group for the last crawl.

                                                    + *

                                                    Status of the last crawl.

                                                    */ - LogGroup?: string; + Status?: LastCrawlStatus | string; /** *

                                                    The prefix for a message about this crawl.

                                                    @@ -793,14 +793,14 @@ export interface LastCrawlInfo { MessagePrefix?: string; /** - *

                                                    The log stream for the last crawl.

                                                    + *

                                                    The time at which the crawl started.

                                                    */ - LogStream?: string; + StartTime?: Date; /** - *

                                                    Status of the last crawl.

                                                    + *

                                                    The log group for the last crawl.

                                                    */ - Status?: LastCrawlStatus | string; + LogGroup?: string; /** *

                                                    If an error occurred, the error information about the last crawl.

                                                    @@ -824,17 +824,17 @@ export enum ScheduleState { *

                                                    A scheduling object using a cron statement to schedule an event.

                                                    */ export interface Schedule { - /** - *

                                                    The state of the schedule.

                                                    - */ - State?: ScheduleState | 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 * * ? *).

                                                    */ ScheduleExpression?: string; + + /** + *

                                                    The state of the schedule.

                                                    + */ + State?: ScheduleState | string; } export namespace Schedule { @@ -913,17 +913,17 @@ 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.

                                                    * *

                                                    The valid values are null or a value between 0.1 to 1.5. A null value is used when user does not provide a value, and defaults to 0.5 of the configured Read Capacity Unit (for provisioned tables), or 0.25 of the max configured Read Capacity Unit (for tables using on-demand mode).

                                                    */ scanRate?: number; - - /** - *

                                                    The name of the DynamoDB table to crawl.

                                                    - */ - Path?: string; } export namespace DynamoDBTarget { @@ -936,6 +936,12 @@ 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.

                                                    */ @@ -945,12 +951,6 @@ 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 { @@ -960,20 +960,53 @@ export namespace JdbcTarget { } /** - *

                                                    Specifies a data store in Amazon Simple Storage Service (Amazon S3).

                                                    + *

                                                    Specifies an Amazon DocumentDB or MongoDB data store to crawl.

                                                    */ -export interface S3Target { +export interface MongoDBTarget { /** - *

                                                    A list of glob patterns used to exclude from the crawl. - * For more information, see Catalog Tables with a Crawler.

                                                    + *

                                                    The path of the Amazon DocumentDB or MongoDB target (database/collection).

                                                    */ - Exclusions?: string[]; + Path?: string; /** - *

                                                    The path to the Amazon S3 target.

                                                    + *

                                                    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.

                                                    + * + *

                                                    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?: string; -} + ScanAll?: boolean; + + /** + *

                                                    The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.

                                                    + */ + ConnectionName?: string; +} + +export namespace MongoDBTarget { + export const filterSensitiveLog = (obj: MongoDBTarget): any => ({ + ...obj, + }); +} + +/** + *

                                                    Specifies a data store in Amazon Simple Storage Service (Amazon S3).

                                                    + */ +export interface S3Target { + /** + *

                                                    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 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 { export const filterSensitiveLog = (obj: S3Target): any => ({ @@ -995,15 +1028,20 @@ export interface CrawlerTargets { */ S3Targets?: S3Target[]; + /** + *

                                                    Specifies Amazon DynamoDB targets.

                                                    + */ + DynamoDBTargets?: DynamoDBTarget[]; + /** *

                                                    Specifies AWS Glue Data Catalog targets.

                                                    */ CatalogTargets?: CatalogTarget[]; /** - *

                                                    Specifies Amazon DynamoDB targets.

                                                    + *

                                                    Specifies Amazon DocumentDB or MongoDB targets.

                                                    */ - DynamoDBTargets?: DynamoDBTarget[]; + MongoDBTargets?: MongoDBTarget[]; } export namespace CrawlerTargets { @@ -1019,42 +1057,44 @@ export namespace CrawlerTargets { */ export interface Crawler { /** - *

                                                    The status of the last crawl, and potentially error information if - * an error occurred.

                                                    + *

                                                    The name of the crawler.

                                                    */ - LastCrawl?: LastCrawlInfo; + Name?: string; /** - *

                                                    Indicates whether the crawler is running, or whether a run is pending.

                                                    + *

                                                    The time that the crawler was last updated.

                                                    */ - State?: CrawlerState | string; + LastUpdated?: Date; /** - *

                                                    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.

                                                    + *

                                                    The status of the last crawl, and potentially error information if + * an error occurred.

                                                    */ - Role?: string; + LastCrawl?: LastCrawlInfo; /** - *

                                                    The name of the crawler.

                                                    + *

                                                    Indicates whether the crawler is running, or whether a run is pending.

                                                    */ - Name?: string; + State?: CrawlerState | string; /** - *

                                                    For scheduled crawlers, the schedule when the crawler runs.

                                                    + *

                                                    Crawler configuration information. This versioned JSON string allows users + * to specify aspects of a crawler's behavior. + * For more information, see Configuring a Crawler.

                                                    */ - Schedule?: Schedule; + Configuration?: string; /** - *

                                                    The name of the SecurityConfiguration structure to be used by this - * crawler.

                                                    + *

                                                    A list of UTF-8 strings that specify the custom classifiers that are associated + * with the crawler.

                                                    */ - CrawlerSecurityConfiguration?: string; + Classifiers?: string[]; /** - *

                                                    The name of the database in which the crawler's output is stored.

                                                    + *

                                                    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.

                                                    */ - DatabaseName?: string; + Role?: string; /** *

                                                    If the crawler is running, contains the total time elapsed since the last crawl @@ -1063,19 +1103,19 @@ export interface Crawler { CrawlElapsedTime?: number; /** - *

                                                    The policy that specifies update and delete behaviors for the crawler.

                                                    + *

                                                    The prefix added to the names of tables that are created.

                                                    */ - SchemaChangePolicy?: SchemaChangePolicy; + TablePrefix?: string; /** - *

                                                    A description of the crawler.

                                                    + *

                                                    The version of the crawler.

                                                    */ - Description?: string; + Version?: number; /** - *

                                                    A collection of targets to crawl.

                                                    + *

                                                    For scheduled crawlers, the schedule when the crawler runs.

                                                    */ - Targets?: CrawlerTargets; + Schedule?: Schedule; /** *

                                                    The time that the crawler was created.

                                                    @@ -1083,32 +1123,30 @@ export interface Crawler { CreationTime?: Date; /** - *

                                                    The prefix added to the names of tables that are created.

                                                    + *

                                                    The policy that specifies update and delete behaviors for the crawler.

                                                    */ - TablePrefix?: string; + SchemaChangePolicy?: SchemaChangePolicy; /** - *

                                                    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; /** - *

                                                    The time that the crawler was last updated.

                                                    + *

                                                    A collection of targets to crawl.

                                                    */ - LastUpdated?: Date; + Targets?: CrawlerTargets; /** - *

                                                    A list of UTF-8 strings that specify the custom classifiers that are associated - * with the crawler.

                                                    + *

                                                    The name of the SecurityConfiguration structure to be used by this + * crawler.

                                                    */ - Classifiers?: string[]; + CrawlerSecurityConfiguration?: string; /** - *

                                                    The version of the crawler.

                                                    + *

                                                    The name of the database in which the crawler's output is stored.

                                                    */ - Version?: number; + DatabaseName?: string; } export namespace Crawler { @@ -1119,14 +1157,14 @@ export namespace Crawler { export interface BatchGetCrawlersResponse { /** - *

                                                    A list of crawler definitions.

                                                    + *

                                                    A list of names of crawlers that were not found.

                                                    */ - Crawlers?: Crawler[]; + CrawlersNotFound?: string[]; /** - *

                                                    A list of names of crawlers that were not found.

                                                    + *

                                                    A list of crawler definitions.

                                                    */ - CrawlersNotFound?: string[]; + Crawlers?: Crawler[]; } export namespace BatchGetCrawlersResponse { @@ -1157,29 +1195,10 @@ export type WorkerType = "G.1X" | "G.2X" | "Standard"; */ export interface DevEndpoint { /** - *

                                                    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 security group identifiers used in this DevEndpoint.

                                                    - */ - SecurityGroupIds?: string[]; - - /** - *

                                                    A private IP address to access the DevEndpoint within a VPC if the - * DevEndpoint is created within one. The PrivateAddress field is - * present only when you create the DevEndpoint within your VPC.

                                                    - */ - PrivateAddress?: string; - - /** - *

                                                    The name of the SecurityConfiguration structure to be used with this - * DevEndpoint.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the IAM role used in this + * DevEndpoint.

                                                    */ - SecurityConfiguration?: string; + RoleArn?: string; /** *

                                                    The YARN endpoint address used by this DevEndpoint.

                                                    @@ -1196,15 +1215,22 @@ export interface DevEndpoint { ExtraJarsS3Path?: string; /** - *

                                                    The number of AWS Glue Data Processing Units (DPUs) allocated to this - * DevEndpoint.

                                                    + *

                                                    A list of security group identifiers used in this DevEndpoint.

                                                    */ - NumberOfNodes?: number; + SecurityGroupIds?: string[]; /** - *

                                                    The AWS Availability Zone where this DevEndpoint is located.

                                                    + *

                                                    A private IP address to access the DevEndpoint within a VPC if the + * DevEndpoint is created within one. The PrivateAddress field is + * present only when you create the DevEndpoint within your VPC.

                                                    */ - AvailabilityZone?: string; + 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 @@ -1220,51 +1246,21 @@ export interface DevEndpoint { ExtraPythonLibsS3Path?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the IAM role used in this - * DevEndpoint.

                                                    - */ - RoleArn?: string; - - /** - *

                                                    The Apache Zeppelin port for the remote Apache Spark interpreter.

                                                    - */ - ZeppelinRemoteSparkInterpreterPort?: number; - - /** - *

                                                    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.

                                                    - */ - WorkerType?: WorkerType | 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 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.

                                                    */ - PublicAddress?: string; + PublicKey?: string; /** - *

                                                    The status of the last update.

                                                    + *

                                                    The reason for a current failure in this DevEndpoint.

                                                    */ - LastUpdateStatus?: string; + FailureReason?: string; /** - *

                                                    The subnet ID for this DevEndpoint.

                                                    + *

                                                    The current status of this DevEndpoint.

                                                    */ - SubnetId?: string; + Status?: string; /** *

                                                    A list of public keys to be used by the DevEndpoints for authentication. @@ -1279,28 +1275,6 @@ export interface DevEndpoint { */ PublicKeys?: 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; - - /** - *

                                                    The point in time at which this DevEndpoint was created.

                                                    - */ - CreatedTimestamp?: Date; - - /** - *

                                                    The ID of the virtual private cloud (VPC) used by this DevEndpoint.

                                                    - */ - VpcId?: string; - - /** - *

                                                    The name of the DevEndpoint.

                                                    - */ - EndpointName?: 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.

                                                    * @@ -1313,44 +1287,108 @@ export interface DevEndpoint { GlueVersion?: string; /** - *

                                                    A 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 AWS Availability Zone where this DevEndpoint is located.

                                                    */ - Arguments?: { [key: string]: string }; + AvailabilityZone?: string; /** - *

                                                    The point in time at which this DevEndpoint was last modified.

                                                    + *

                                                    The name of the DevEndpoint.

                                                    */ - LastModifiedTimestamp?: Date; + EndpointName?: string; /** - *

                                                    The current status of this DevEndpoint.

                                                    + *

                                                    The ID of the virtual private cloud (VPC) used by this DevEndpoint.

                                                    */ - Status?: string; + VpcId?: string; /** - *

                                                    The reason for a current failure in this DevEndpoint.

                                                    + *

                                                    The point in time at which this DevEndpoint was created.

                                                    */ - FailureReason?: string; + CreatedTimestamp?: Date; + + /** + *

                                                    The status of the last update.

                                                    + */ + LastUpdateStatus?: string; + + /** + *

                                                    The subnet ID for this DevEndpoint.

                                                    + */ + SubnetId?: 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.

                                                    + */ + PublicAddress?: string; + + /** + *

                                                    The number of AWS Glue Data Processing Units (DPUs) allocated to this + * DevEndpoint.

                                                    + */ + NumberOfNodes?: number; + + /** + *

                                                    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.

                                                    + */ + WorkerType?: WorkerType | string; + + /** + *

                                                    The Apache Zeppelin port for the remote Apache Spark interpreter.

                                                    + */ + ZeppelinRemoteSparkInterpreterPort?: number; + + /** + *

                                                    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; + + /** + *

                                                    The point in time at which this DevEndpoint was last modified.

                                                    + */ + LastModifiedTimestamp?: Date; + + /** + *

                                                    A 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.

                                                    + */ + Arguments?: { [key: string]: string }; } export namespace DevEndpoint { @@ -1395,6 +1433,11 @@ 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. @@ -1407,11 +1450,6 @@ 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 { @@ -1459,51 +1497,14 @@ export namespace ExecutionProperty { */ export interface Job { /** - *

                                                    This field is reserved for future use.

                                                    - */ - LogUri?: string; - - /** - *

                                                    The JobCommand that executes this job.

                                                    - */ - Command?: JobCommand; - - /** - *

                                                    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; - - /** - *

                                                    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; - - /** - *

                                                    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.

                                                      - *
                                                    • - *
                                                    + *

                                                    The name you assign to this job definition.

                                                    */ - WorkerType?: WorkerType | string; + Name?: string; /** - *

                                                    Specifies configuration properties of a job notification.

                                                    + *

                                                    The last point in time when this job definition was modified.

                                                    */ - NotificationProperty?: NotificationProperty; + LastModifiedOn?: Date; /** *

                                                    The name of the SecurityConfiguration structure to be used with this @@ -1517,33 +1518,28 @@ export interface Job { CreatedOn?: Date; /** - *

                                                    The name you assign to this job definition.

                                                    + *

                                                    Non-overridable arguments for this job, specified as name-value pairs.

                                                    */ - Name?: string; + NonOverridableArguments?: { [key: string]: string }; /** - *

                                                    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.

                                                    + * + *

                                                    Jobs that are created without specifying a Glue version default to Glue 0.9.

                                                    */ - Connections?: ConnectionsList; + GlueVersion?: 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).

                                                    + *

                                                    Specifies configuration properties of a job notification.

                                                    */ - Timeout?: number; + NotificationProperty?: NotificationProperty; /** - *

                                                    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.

                                                    - *

                                                    + *

                                                    A description of the job.

                                                    */ - AllocatedCapacity?: number; + Description?: string; /** *

                                                    The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure @@ -1571,14 +1567,25 @@ export interface Job { MaxCapacity?: number; /** - *

                                                    Non-overridable arguments for this job, specified as name-value pairs.

                                                    + *

                                                    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.

                                                    */ - NonOverridableArguments?: { [key: string]: string }; + DefaultArguments?: { [key: string]: string }; /** - *

                                                    The maximum number of times to retry this job after a JobRun 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 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 @@ -1587,28 +1594,59 @@ export interface Job { ExecutionProperty?: ExecutionProperty; /** - *

                                                    The last point in time when this job definition was modified.

                                                    + *

                                                    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.

                                                      + *
                                                    • + *
                                                    */ - LastModifiedOn?: Date; + WorkerType?: WorkerType | string; /** - *

                                                    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.

                                                    + *

                                                    This field is reserved for future use.

                                                    */ - DefaultArguments?: { [key: string]: string }; + LogUri?: string; /** - *

                                                    The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

                                                    + *

                                                    The maximum number of times to retry this job after a JobRun fails.

                                                    */ - Role?: string; + 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 JobCommand that executes this job.

                                                    + */ + Command?: JobCommand; + + /** + *

                                                    The connections used for this job.

                                                    + */ + Connections?: ConnectionsList; + + /** + *

                                                    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; } export namespace Job { @@ -1637,10 +1675,9 @@ export namespace BatchGetJobsResponse { export interface BatchGetPartitionRequest { /** - *

                                                    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 catalog database where the partitions reside.

                                                    */ - CatalogId?: string; + DatabaseName: string | undefined; /** *

                                                    A list of partition values identifying the partitions to retrieve.

                                                    @@ -1648,9 +1685,10 @@ export interface BatchGetPartitionRequest { PartitionsToGet: PartitionValueList[] | undefined; /** - *

                                                    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; /** *

                                                    The name of the partitions' table.

                                                    @@ -1668,11 +1706,21 @@ export namespace BatchGetPartitionRequest { *

                                                    Represents a slice of table data.

                                                    */ export interface Partition { + /** + *

                                                    The time at which the partition was created.

                                                    + */ + CreationTime?: Date; + /** *

                                                    The last time at which the partition was accessed.

                                                    */ LastAccessTime?: Date; + /** + *

                                                    These key-value pairs define partition parameters.

                                                    + */ + Parameters?: { [key: string]: string }; + /** *

                                                    The name of the catalog database in which to create the partition.

                                                    */ @@ -1685,20 +1733,14 @@ export interface Partition { LastAnalyzedTime?: Date; /** - *

                                                    These key-value pairs define partition parameters.

                                                    - */ - Parameters?: { [key: string]: string }; - - /** - *

                                                    The time at which the partition was created.

                                                    + *

                                                    The name of the database table in which to create the partition.

                                                    */ - CreationTime?: Date; + TableName?: string; /** - *

                                                    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; /** *

                                                    The values of the partition.

                                                    @@ -1706,14 +1748,10 @@ export interface Partition { Values?: string[]; /** - *

                                                    The name of the database table in which to create the partition.

                                                    - */ - TableName?: string; - - /** - *

                                                    The ID of the Data Catalog in which the partition resides.

                                                    + *

                                                    Provides information about the physical + * location where the partition is stored.

                                                    */ - CatalogId?: string; + StorageDescriptor?: StorageDescriptor; } export namespace Partition { @@ -1780,6 +1818,16 @@ export enum JobRunState { *

                                                    Defines a condition under which a trigger fires.

                                                    */ 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.

                                                    + */ + State?: JobRunState | string; + + /** + *

                                                    A logical operator.

                                                    + */ + LogicalOperator?: LogicalOperator | string; + /** *

                                                    The name of the crawler to which this condition applies.

                                                    */ @@ -1790,22 +1838,11 @@ export interface Condition { */ CrawlState?: CrawlState | string; - /** - *

                                                    A logical operator.

                                                    - */ - LogicalOperator?: LogicalOperator | string; - /** *

                                                    The name of the job whose JobRuns this condition applies to, and on which * this trigger waits.

                                                    */ JobName?: string; - - /** - *

                                                    The condition state. Currently, the values supported are SUCCEEDED, - * STOPPED, TIMEOUT, and FAILED.

                                                    - */ - State?: JobRunState | string; } export namespace Condition { @@ -1862,30 +1899,20 @@ export enum TriggerType { *

                                                    Information about a specific trigger.

                                                    */ export interface Trigger { - /** - *

                                                    The predicate of this trigger, which defines when it will fire.

                                                    - */ - Predicate?: Predicate; - /** *

                                                    The type of trigger that this is.

                                                    */ Type?: TriggerType | string; /** - *

                                                    The name of the trigger.

                                                    - */ - Name?: string; - - /** - *

                                                    The name of the workflow associated with the trigger.

                                                    + *

                                                    The predicate of this trigger, which defines when it will fire.

                                                    */ - WorkflowName?: string; + Predicate?: Predicate; /** - *

                                                    The actions initiated by this trigger.

                                                    + *

                                                    The name of the trigger.

                                                    */ - Actions?: Action[]; + Name?: string; /** *

                                                    Reserved for future use.

                                                    @@ -1897,6 +1924,11 @@ export interface Trigger { */ Description?: string; + /** + *

                                                    The current state of the trigger.

                                                    + */ + State?: TriggerState | string; + /** *

                                                    A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run @@ -1906,9 +1938,14 @@ export interface Trigger { Schedule?: string; /** - *

                                                    The current state of the trigger.

                                                    + *

                                                    The name of the workflow associated with the trigger.

                                                    */ - State?: TriggerState | string; + WorkflowName?: string; + + /** + *

                                                    The actions initiated by this trigger.

                                                    + */ + Actions?: Action[]; } export namespace Trigger { @@ -1919,14 +1956,14 @@ export namespace Trigger { export interface BatchGetTriggersResponse { /** - *

                                                    A list of trigger definitions.

                                                    + *

                                                    A list of names of triggers not found.

                                                    */ - Triggers?: Trigger[]; + TriggersNotFound?: string[]; /** - *

                                                    A list of names of triggers not found.

                                                    + *

                                                    A list of trigger definitions.

                                                    */ - TriggersNotFound?: string[]; + Triggers?: Trigger[]; } export namespace BatchGetTriggersResponse { @@ -1937,14 +1974,14 @@ export namespace BatchGetTriggersResponse { export interface BatchGetWorkflowsRequest { /** - *

                                                    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; /** - *

                                                    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; } export namespace BatchGetWorkflowsRequest { @@ -1980,14 +2017,9 @@ export namespace Edge { */ export interface Crawl { /** - *

                                                    The error message associated with the crawl.

                                                    - */ - ErrorMessage?: string; - - /** - *

                                                    The date and time on which the crawl started.

                                                    + *

                                                    The log stream associated with the crawl.

                                                    */ - StartedOn?: Date; + LogStream?: string; /** *

                                                    The date and time on which the crawl completed.

                                                    @@ -1995,19 +2027,24 @@ export interface Crawl { CompletedOn?: Date; /** - *

                                                    The log stream associated with the crawl.

                                                    + *

                                                    The date and time on which the crawl started.

                                                    */ - LogStream?: string; + StartedOn?: Date; /** - *

                                                    The state of the crawler.

                                                    + *

                                                    The error message associated with the crawl.

                                                    */ - State?: CrawlState | string; + ErrorMessage?: string; /** *

                                                    The log group associated with the crawl.

                                                    */ LogGroup?: string; + + /** + *

                                                    The state of the crawler.

                                                    + */ + State?: CrawlState | string; } export namespace Crawl { @@ -2059,9 +2096,38 @@ export namespace Predecessor { */ export interface JobRun { /** - *

                                                    The number of the attempt to run this job.

                                                    + *

                                                    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.

                                                    */ - Attempt?: number; + NumberOfWorkers?: number; + + /** + *

                                                    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.

                                                      + *
                                                    • + *
                                                    + */ + WorkerType?: WorkerType | string; + + /** + *

                                                    The ID of the previous run of this job. For example, the JobRunId specified + * in the StartJobRun action.

                                                    + */ + PreviousRunId?: string; + + /** + *

                                                    The amount of time (in seconds) that the job run consumed resources.

                                                    + */ + ExecutionTime?: 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.

                                                    @@ -2073,44 +2139,43 @@ export interface JobRun { GlueVersion?: string; /** - *

                                                    The date and time at which this job run was started.

                                                    + *

                                                    The name of the job definition being used in this run.

                                                    */ - StartedOn?: Date; + JobName?: 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.

                                                    + *

                                                    The last time that this job run was modified.

                                                    */ - NumberOfWorkers?: number; + LastModifiedOn?: Date; /** - *

                                                    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; /** - *

                                                    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.

                                                    + *

                                                    The job arguments associated with 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.

                                                    */ - AllocatedCapacity?: number; + Arguments?: { [key: string]: string }; /** - *

                                                    A list of predecessors to this job run.

                                                    + *

                                                    The date and time at which this job run was started.

                                                    */ - PredecessorRuns?: Predecessor[]; + StartedOn?: Date; /** - *

                                                    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.

                                                    + *

                                                    Specifies configuration properties of a job run notification.

                                                    */ - Timeout?: number; + NotificationProperty?: NotificationProperty; + + /** + *

                                                    The date and time that this job run completed.

                                                    + */ + CompletedOn?: Date; /** *

                                                    The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure @@ -2135,91 +2200,63 @@ export interface JobRun { MaxCapacity?: number; /** - *

                                                    The current state of the job run.

                                                    + *

                                                    An error message associated with this job run.

                                                    */ - JobRunState?: JobRunState | string; + ErrorMessage?: 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 ID of this job run.

                                                    */ - WorkerType?: WorkerType | string; + Id?: string; /** - *

                                                    An error message associated with this job run.

                                                    + *

                                                    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.

                                                    */ - ErrorMessage?: string; + AllocatedCapacity?: number; /** - *

                                                    The name of the log group for secure logging that can be server-side encrypted in Amazon - * CloudWatch using AWS KMS. This name can be /aws-glue/jobs/, in which case the - * default encryption is NONE. If you add a role name and - * SecurityConfiguration name (in other words, - * /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/), then that security - * configuration is used to encrypt the log group.

                                                    + *

                                                    A list of predecessors to this job run.

                                                    */ - LogGroupName?: string; + PredecessorRuns?: Predecessor[]; /** - *

                                                    The name of the SecurityConfiguration structure to be used with this job - * run.

                                                    + *

                                                    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 date and time that this job run completed.

                                                    + *

                                                    The number of the attempt to run this job.

                                                    */ - CompletedOn?: Date; + Attempt?: number; /** - *

                                                    The name of the job definition being used in this run.

                                                    + *

                                                    The name of the SecurityConfiguration structure to be used with this job + * run.

                                                    */ - JobName?: string; + SecurityConfiguration?: string; /** - *

                                                    The ID of this job run.

                                                    - */ - Id?: string; - - /** - *

                                                    The ID of the previous run of this job. For example, the JobRunId specified - * in the StartJobRun action.

                                                    - */ - PreviousRunId?: string; - - /** - *

                                                    Specifies configuration properties of a job run notification.

                                                    - */ - NotificationProperty?: NotificationProperty; - - /** - *

                                                    The last time that this job run was modified.

                                                    - */ - LastModifiedOn?: Date; - - /** - *

                                                    The job arguments associated with 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.

                                                    + *

                                                    The name of the log group for secure logging that can be server-side encrypted in Amazon + * CloudWatch using AWS KMS. This name can be /aws-glue/jobs/, in which case the + * default encryption is NONE. If you add a role name and + * SecurityConfiguration name (in other words, + * /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/), then that security + * configuration is used to encrypt the log group.

                                                    */ - Arguments?: { [key: string]: string }; + LogGroupName?: string; /** - *

                                                    The name of the trigger that started this job run.

                                                    + *

                                                    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.

                                                    */ - TriggerName?: string; + JobRunState?: JobRunState | string; } export namespace JobRun { @@ -2271,14 +2308,14 @@ export enum NodeType { */ export interface Node { /** - *

                                                    Details of the Job when the node represents a Job.

                                                    + *

                                                    Details of the Trigger when the node represents a Trigger.

                                                    */ - JobDetails?: JobNodeDetails; + TriggerDetails?: TriggerNodeDetails; /** - *

                                                    Details of the Trigger when the node represents a Trigger.

                                                    + *

                                                    Details of the crawler when the node represents a crawler.

                                                    */ - TriggerDetails?: TriggerNodeDetails; + CrawlerDetails?: CrawlerNodeDetails; /** *

                                                    The unique Id assigned to the node within the workflow.

                                                    @@ -2286,19 +2323,19 @@ export interface Node { UniqueId?: string; /** - *

                                                    The name of the AWS Glue component represented by the node.

                                                    + *

                                                    Details of the Job when the node represents a Job.

                                                    */ - Name?: string; + JobDetails?: JobNodeDetails; /** - *

                                                    Details of the crawler when the node represents a crawler.

                                                    + *

                                                    The type of AWS Glue component represented by the node.

                                                    */ - CrawlerDetails?: CrawlerNodeDetails; + Type?: NodeType | string; /** - *

                                                    The type of AWS Glue component represented by the node.

                                                    + *

                                                    The name of the AWS Glue component represented by the node.

                                                    */ - Type?: NodeType | string; + Name?: string; } export namespace Node { @@ -2313,14 +2350,14 @@ export namespace Node { */ export interface WorkflowGraph { /** - *

                                                    A list of all the directed connections between the nodes belonging to the workflow.

                                                    + *

                                                    A list of the the AWS Glue components belong to the workflow represented as nodes.

                                                    */ - Edges?: Edge[]; + Nodes?: Node[]; /** - *

                                                    A list of the the AWS Glue components belong to the workflow represented as nodes.

                                                    + *

                                                    A list of all the directed connections between the nodes belonging to the workflow.

                                                    */ - Nodes?: Node[]; + Edges?: Edge[]; } export namespace WorkflowGraph { @@ -2334,24 +2371,24 @@ export namespace WorkflowGraph { */ export interface WorkflowRunStatistics { /** - *

                                                    Total number of Actions that timed out.

                                                    + *

                                                    Total number of Actions that have failed.

                                                    */ - TimeoutActions?: number; + FailedActions?: number; /** - *

                                                    Total number Actions in running state.

                                                    + *

                                                    Total number of Actions in the workflow run.

                                                    */ - RunningActions?: number; + TotalActions?: number; /** - *

                                                    Total number of Actions that have succeeded.

                                                    + *

                                                    Total number of Actions that timed out.

                                                    */ - SucceededActions?: number; + TimeoutActions?: number; /** - *

                                                    Total number of Actions that have failed.

                                                    + *

                                                    Total number of Actions that have succeeded.

                                                    */ - FailedActions?: number; + SucceededActions?: number; /** *

                                                    Total number of Actions that have stopped.

                                                    @@ -2359,9 +2396,9 @@ export interface WorkflowRunStatistics { StoppedActions?: number; /** - *

                                                    Total number of Actions in the workflow run.

                                                    + *

                                                    Total number Actions in running state.

                                                    */ - TotalActions?: number; + RunningActions?: number; } export namespace WorkflowRunStatistics { @@ -2372,6 +2409,7 @@ export namespace WorkflowRunStatistics { export enum WorkflowRunStatus { COMPLETED = "COMPLETED", + ERROR = "ERROR", RUNNING = "RUNNING", STOPPED = "STOPPED", STOPPING = "STOPPING", @@ -2382,50 +2420,55 @@ export enum WorkflowRunStatus { */ export interface WorkflowRun { /** - *

                                                    The statistics of the run.

                                                    + *

                                                    The status of the workflow run.

                                                    */ - Statistics?: WorkflowRunStatistics; + Status?: WorkflowRunStatus | string; /** - *

                                                    Name of the workflow that was executed.

                                                    + *

                                                    The graph representing all the AWS Glue components that belong to the workflow as nodes and directed + * connections between them as edges.

                                                    */ - Name?: string; + Graph?: WorkflowGraph; /** - *

                                                    The date and time when the workflow run completed.

                                                    + *

                                                    The workflow run properties which were set during the run.

                                                    */ - CompletedOn?: Date; + WorkflowRunProperties?: { [key: string]: string }; /** - *

                                                    The graph representing all the AWS Glue components that belong to the workflow as nodes and directed - * connections between them as edges.

                                                    + *

                                                    The date and time when the workflow run was started.

                                                    */ - Graph?: WorkflowGraph; + StartedOn?: Date; /** - *

                                                    The date and time when the workflow run was started.

                                                    + *

                                                    Name of the workflow that was executed.

                                                    */ - StartedOn?: Date; + Name?: string; /** - *

                                                    The workflow run properties which were set during the run.

                                                    + *

                                                    The ID of the previous workflow run.

                                                    */ - WorkflowRunProperties?: { [key: string]: string }; + PreviousRunId?: string; /** - *

                                                    The ID of this workflow run.

                                                    + *

                                                    The date and time when the workflow run completed.

                                                    */ - WorkflowRunId?: string; + CompletedOn?: Date; /** - *

                                                    The ID of the previous workflow run.

                                                    + *

                                                    The statistics of the run.

                                                    */ - PreviousRunId?: string; + Statistics?: WorkflowRunStatistics; /** - *

                                                    The status of the workflow run.

                                                    + *

                                                    The ID of this workflow run.

                                                    */ - Status?: WorkflowRunStatus | string; + 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."

                                                    + */ + ErrorMessage?: string; } export namespace WorkflowRun { @@ -2440,15 +2483,14 @@ export namespace WorkflowRun { */ export interface Workflow { /** - *

                                                    The graph representing all the AWS Glue components that belong to the workflow as nodes and directed - * connections between them as edges.

                                                    + *

                                                    The date and time when the workflow was created.

                                                    */ - Graph?: WorkflowGraph; + CreatedOn?: 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; /** *

                                                    A description of the workflow.

                                                    @@ -2456,24 +2498,30 @@ export interface Workflow { Description?: string; /** - *

                                                    The name of the workflow representing the flow.

                                                    + *

                                                    The date and time when the workflow was last modified.

                                                    */ - Name?: string; + LastModifiedOn?: Date; /** - *

                                                    The date and time when the workflow was last modified.

                                                    + *

                                                    A collection of properties to be used as part of each execution of the workflow.

                                                    */ - LastModifiedOn?: Date; + DefaultRunProperties?: { [key: string]: string }; /** - *

                                                    The information about the last execution of the workflow.

                                                    + *

                                                    The graph representing all the AWS Glue components that belong to the workflow as nodes and directed + * connections between them as edges.

                                                    */ - LastRun?: WorkflowRun; + Graph?: WorkflowGraph; /** - *

                                                    The date and time when the workflow was created.

                                                    + *

                                                    The name of the workflow representing the flow.

                                                    */ - CreatedOn?: Date; + 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.

                                                    + */ + MaxConcurrentRuns?: number; } export namespace Workflow { @@ -2501,16 +2549,16 @@ export namespace BatchGetWorkflowsResponse { } export interface BatchStopJobRunRequest { - /** - *

                                                    The name of the job definition for which to stop job runs.

                                                    - */ - JobName: string | undefined; - /** *

                                                    A list of the JobRunIds that should be stopped for that job * definition.

                                                    */ JobRunIds: string[] | undefined; + + /** + *

                                                    The name of the job definition for which to stop job runs.

                                                    + */ + JobName: string | undefined; } export namespace BatchStopJobRunRequest { @@ -2525,9 +2573,9 @@ export namespace BatchStopJobRunRequest { */ export interface BatchStopJobRunError { /** - *

                                                    The JobRunId of the job run in question.

                                                    + *

                                                    Specifies details about the error that was encountered.

                                                    */ - JobRunId?: string; + ErrorDetail?: ErrorDetail; /** *

                                                    The name of the job definition that is used in the job run in question.

                                                    @@ -2535,9 +2583,9 @@ export interface BatchStopJobRunError { JobName?: string; /** - *

                                                    Specifies details about the error that was encountered.

                                                    + *

                                                    The JobRunId of the job run in question.

                                                    */ - ErrorDetail?: ErrorDetail; + JobRunId?: string; } export namespace BatchStopJobRunError { @@ -2568,21 +2616,106 @@ export namespace BatchStopJobRunSuccessfulSubmission { } export interface BatchStopJobRunResponse { + /** + *

                                                    A list of the JobRuns that were successfully submitted for stopping.

                                                    + */ + SuccessfulSubmissions?: BatchStopJobRunSuccessfulSubmission[]; + /** *

                                                    A list of the errors that were encountered in trying to stop JobRuns, * including the JobRunId for which each error was encountered and details about the * error.

                                                    */ Errors?: BatchStopJobRunError[]; +} + +export namespace BatchStopJobRunResponse { + export const filterSensitiveLog = (obj: BatchStopJobRunResponse): any => ({ + ...obj, + }); +} +/** + *

                                                    A structure that contains the values and structure used to update a partition.

                                                    + */ +export interface BatchUpdatePartitionRequestEntry { /** - *

                                                    A list of the JobRuns that were successfully submitted for stopping.

                                                    + *

                                                    A list of values defining the partitions.

                                                    */ - SuccessfulSubmissions?: BatchStopJobRunSuccessfulSubmission[]; + PartitionValueList: string[] | undefined; + + /** + *

                                                    The structure used to update a partition.

                                                    + */ + PartitionInput: PartitionInput | undefined; } -export namespace BatchStopJobRunResponse { - export const filterSensitiveLog = (obj: BatchStopJobRunResponse): any => ({ +export namespace BatchUpdatePartitionRequestEntry { + export const filterSensitiveLog = (obj: BatchUpdatePartitionRequestEntry): any => ({ + ...obj, + }); +} + +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.

                                                    + */ + CatalogId?: string; + + /** + *

                                                    The name of the metadata database in which the partition is + * to be updated.

                                                    + */ + DatabaseName: string | undefined; + + /** + *

                                                    A list of up to 100 BatchUpdatePartitionRequestEntry objects to update.

                                                    + */ + Entries: BatchUpdatePartitionRequestEntry[] | undefined; +} + +export namespace BatchUpdatePartitionRequest { + export const filterSensitiveLog = (obj: BatchUpdatePartitionRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                    Contains information about a batch update partition error.

                                                    + */ +export interface BatchUpdatePartitionFailureEntry { + /** + *

                                                    A list of values defining the partitions.

                                                    + */ + PartitionValueList?: string[]; + + /** + *

                                                    The details about the batch update partition error.

                                                    + */ + ErrorDetail?: ErrorDetail; +} + +export namespace BatchUpdatePartitionFailureEntry { + export const filterSensitiveLog = (obj: BatchUpdatePartitionFailureEntry): any => ({ + ...obj, + }); +} + +export interface BatchUpdatePartitionResponse { + /** + *

                                                    The errors encountered when trying to update the requested partitions. A list of BatchUpdatePartitionFailureEntry objects.

                                                    + */ + Errors?: BatchUpdatePartitionFailureEntry[]; +} + +export namespace BatchUpdatePartitionResponse { + export const filterSensitiveLog = (obj: BatchUpdatePartitionResponse): any => ({ ...obj, }); } @@ -2617,9 +2750,9 @@ export enum TaskStatusType { export interface CancelMLTaskRunResponse { /** - *

                                                    The unique identifier of the machine learning transform.

                                                    + *

                                                    The status for this run.

                                                    */ - TransformId?: string; + Status?: TaskStatusType | string; /** *

                                                    The unique identifier for the task run.

                                                    @@ -2627,9 +2760,9 @@ export interface CancelMLTaskRunResponse { TaskRunId?: string; /** - *

                                                    The status for this run.

                                                    + *

                                                    The unique identifier of the machine learning transform.

                                                    */ - Status?: TaskStatusType | string; + TransformId?: string; } export namespace CancelMLTaskRunResponse { @@ -2649,14 +2782,9 @@ export enum CsvHeaderOption { */ export interface CreateCsvClassifierRequest { /** - *

                                                    Specifies not to trim values before identifying the type of column values. The default value is true.

                                                    - */ - DisableValueTrimming?: boolean; - - /** - *

                                                    The name of the classifier.

                                                    + *

                                                    A custom symbol to denote what separates each column entry in the row.

                                                    */ - Name: string | undefined; + Delimiter?: string; /** *

                                                    Enables the processing of files that contain only one column.

                                                    @@ -2664,14 +2792,14 @@ export interface CreateCsvClassifierRequest { AllowSingleColumn?: boolean; /** - *

                                                    A custom symbol to denote what separates each column entry in the row.

                                                    + *

                                                    The name of the classifier.

                                                    */ - Delimiter?: string; + Name: string | undefined; /** - *

                                                    A list of strings representing column names.

                                                    + *

                                                    Specifies not to trim values before identifying the type of column values. The default value is true.

                                                    */ - Header?: string[]; + DisableValueTrimming?: boolean; /** *

                                                    Indicates whether the CSV file contains a header.

                                                    @@ -2682,6 +2810,11 @@ export interface CreateCsvClassifierRequest { *

                                                    A custom symbol to denote what combines content into a single column value. Must be different from the column delimiter.

                                                    */ QuoteSymbol?: string; + + /** + *

                                                    A list of strings representing column names.

                                                    + */ + Header?: string[]; } export namespace CreateCsvClassifierRequest { @@ -2695,11 +2828,6 @@ export namespace CreateCsvClassifierRequest { * to create.

                                                    */ export interface CreateGrokClassifierRequest { - /** - *

                                                    Optional custom grok patterns used by this classifier.

                                                    - */ - CustomPatterns?: string; - /** *

                                                    An identifier of the data format that the classifier matches, * such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on.

                                                    @@ -2711,6 +2839,11 @@ export interface CreateGrokClassifierRequest { */ Name: string | undefined; + /** + *

                                                    Optional custom grok patterns used by this classifier.

                                                    + */ + CustomPatterns?: string; + /** *

                                                    The grok pattern used by this classifier.

                                                    */ @@ -2750,9 +2883,13 @@ export namespace CreateJsonClassifierRequest { */ export interface CreateXMLClassifierRequest { /** - *

                                                    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; /** *

                                                    The name of the classifier.

                                                    @@ -2760,13 +2897,9 @@ export interface CreateXMLClassifierRequest { Name: string | undefined; /** - *

                                                    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; } export namespace CreateXMLClassifierRequest { @@ -2777,28 +2910,28 @@ export namespace CreateXMLClassifierRequest { export interface CreateClassifierRequest { /** - *

                                                    A JsonClassifier object specifying the classifier + *

                                                    A GrokClassifier object specifying the classifier * to create.

                                                    */ - JsonClassifier?: CreateJsonClassifierRequest; + GrokClassifier?: CreateGrokClassifierRequest; /** - *

                                                    A CsvClassifier object specifying the classifier + *

                                                    An XMLClassifier object specifying the classifier * to create.

                                                    */ - CsvClassifier?: CreateCsvClassifierRequest; + XMLClassifier?: CreateXMLClassifierRequest; /** - *

                                                    An XMLClassifier object specifying the classifier + *

                                                    A CsvClassifier object specifying the classifier * to create.

                                                    */ - XMLClassifier?: CreateXMLClassifierRequest; + CsvClassifier?: CreateCsvClassifierRequest; /** - *

                                                    A GrokClassifier object specifying the classifier + *

                                                    A JsonClassifier object specifying the classifier * to create.

                                                    */ - GrokClassifier?: CreateGrokClassifierRequest; + JsonClassifier?: CreateJsonClassifierRequest; } export namespace CreateClassifierRequest { @@ -2843,6 +2976,7 @@ export enum ConnectionType { JDBC = "JDBC", KAFKA = "KAFKA", MONGODB = "MONGODB", + NETWORK = "NETWORK", SFTP = "SFTP", } @@ -2850,6 +2984,13 @@ export enum ConnectionType { *

                                                    Specifies the physical requirements for a connection.

                                                    */ 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.

                                                    + */ + AvailabilityZone?: string; + /** *

                                                    The security group ID list used by the connection.

                                                    */ @@ -2859,13 +3000,6 @@ export interface PhysicalConnectionRequirements { *

                                                    The subnet ID used by the connection.

                                                    */ SubnetId?: string; - - /** - *

                                                    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.

                                                    - */ - AvailabilityZone?: string; } export namespace PhysicalConnectionRequirements { @@ -2878,6 +3012,22 @@ export namespace PhysicalConnectionRequirements { *

                                                    A structure that is used to specify a connection to create or update.

                                                    */ export interface ConnectionInput { + /** + *

                                                    A list of criteria that can be used in selecting this connection.

                                                    + */ + MatchCriteria?: string[]; + + /** + *

                                                    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.

                                                    + */ + Name: string | undefined; + /** *

                                                    The type of the connection. Currently, these types are supported:

                                                    *
                                                      @@ -2893,36 +3043,24 @@ export interface ConnectionInput { *

                                                      * MONGODB - Designates a connection to a MongoDB document database.

                                                      * + *
                                                    • + *

                                                      + * NETWORK - Designates a network connection to a data source within an Amazon Virtual Private Cloud environment (Amazon VPC).

                                                      + *
                                                    • *
                                                    *

                                                    SFTP is not supported.

                                                    */ 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; - /** - *

                                                    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 description of the connection.

                                                    */ Description?: string; - - /** - *

                                                    The name of the connection.

                                                    - */ - Name: string | undefined; } export namespace ConnectionInput { @@ -2961,59 +3099,49 @@ export namespace CreateConnectionResponse { export interface CreateCrawlerRequest { /** - *

                                                    The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to - * access customer resources.

                                                    + *

                                                    The policy for the crawler's update and deletion behavior.

                                                    */ - Role: string | undefined; + SchemaChangePolicy?: SchemaChangePolicy; /** - *

                                                    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.

                                                    + *

                                                    A list of collection of targets to crawl.

                                                    */ - Tags?: { [key: string]: string }; + Targets: CrawlerTargets | undefined; /** - *

                                                    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.

                                                    + *

                                                    A description of the new crawler.

                                                    */ - Classifiers?: string[]; + Description?: string; /** - *

                                                    The table prefix used for catalog tables that are created.

                                                    + *

                                                    The AWS Glue database where results are written, such as: + * arn:aws:daylight:us-east-1::database/sometable/*.

                                                    */ - TablePrefix?: string; + DatabaseName?: string; /** - *

                                                    The name of the SecurityConfiguration structure to be used by this - * crawler.

                                                    + *

                                                    The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to + * access customer resources.

                                                    */ - CrawlerSecurityConfiguration?: string; + Role: string | undefined; /** - *

                                                    The AWS Glue database where results are written, such as: - * arn:aws:daylight:us-east-1::database/sometable/*.

                                                    + *

                                                    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.

                                                    */ - DatabaseName?: string; + Tags?: { [key: string]: 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 * * ? *).

                                                    + *

                                                    The table prefix used for catalog tables that are created.

                                                    */ - Schedule?: string; + TablePrefix?: string; /** *

                                                    Name of the new crawler.

                                                    */ Name: string | undefined; - /** - *

                                                    A description of the new crawler.

                                                    - */ - Description?: string; - /** *

                                                    Crawler configuration information. This versioned JSON * string allows users to specify aspects of a crawler's behavior. @@ -3022,14 +3150,24 @@ export interface CreateCrawlerRequest { Configuration?: string; /** - *

                                                    A list of collection of targets to crawl.

                                                    + *

                                                    The name of the SecurityConfiguration structure to be used by this + * crawler.

                                                    */ - Targets: CrawlerTargets | undefined; + CrawlerSecurityConfiguration?: string; /** - *

                                                    The policy for the crawler's update and deletion behavior.

                                                    + *

                                                    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.

                                                    */ - SchemaChangePolicy?: SchemaChangePolicy; + Classifiers?: 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 * * ? *).

                                                    + */ + Schedule?: string; } export namespace CreateCrawlerRequest { @@ -3100,14 +3238,14 @@ export namespace PrincipalPermissions { */ export interface DatabaseIdentifier { /** - *

                                                    The ID of the Data Catalog in which the database resides.

                                                    + *

                                                    The name of the catalog database.

                                                    */ - CatalogId?: string; + DatabaseName?: string; /** - *

                                                    The name of the catalog database.

                                                    + *

                                                    The ID of the Data Catalog in which the database resides.

                                                    */ - DatabaseName?: string; + CatalogId?: string; } export namespace DatabaseIdentifier { @@ -3121,19 +3259,9 @@ export namespace DatabaseIdentifier { */ export interface DatabaseInput { /** - *

                                                    A DatabaseIdentifier structure that describes a target database for resource linking.

                                                    - */ - TargetDatabase?: DatabaseIdentifier; - - /** - *

                                                    Creates a set of default permissions on the table for principals.

                                                    - */ - CreateTableDefaultPermissions?: PrincipalPermissions[]; - - /** - *

                                                    The location of the database (for example, an HDFS path).

                                                    + *

                                                    A description of the database.

                                                    */ - LocationUri?: string; + Description?: string; /** *

                                                    These key-value pairs define parameters and properties @@ -3143,15 +3271,25 @@ export interface DatabaseInput { Parameters?: { [key: string]: string }; /** - *

                                                    A description of the database.

                                                    + *

                                                    A DatabaseIdentifier structure that describes a target database for resource linking.

                                                    */ - Description?: string; + TargetDatabase?: DatabaseIdentifier; /** *

                                                    The name of the database. For Hive compatibility, this is folded to lowercase when it is * stored.

                                                    */ Name: string | undefined; + + /** + *

                                                    Creates a set of default permissions on the table for principals.

                                                    + */ + CreateTableDefaultPermissions?: PrincipalPermissions[]; + + /** + *

                                                    The location of the database (for example, an HDFS path).

                                                    + */ + LocationUri?: string; } export namespace DatabaseInput { @@ -3161,16 +3299,16 @@ export namespace DatabaseInput { } export interface CreateDatabaseRequest { - /** - *

                                                    The metadata for the database.

                                                    - */ - DatabaseInput: DatabaseInput | undefined; - /** *

                                                    The ID of the Data Catalog in which to create the database. If none is provided, the AWS * account ID is used by default.

                                                    */ CatalogId?: string; + + /** + *

                                                    The metadata for the database.

                                                    + */ + DatabaseInput: DatabaseInput | undefined; } export namespace CreateDatabaseRequest { @@ -3189,68 +3327,71 @@ export namespace CreateDatabaseResponse { export interface CreateDevEndpointRequest { /** - *

                                                    The subnet ID for the new DevEndpoint to use.

                                                    - */ - SubnetId?: string; - - /** - *

                                                    The name of the SecurityConfiguration structure to be used with this - * DevEndpoint.

                                                    - */ - SecurityConfiguration?: 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 IAM role for the DevEndpoint.

                                                    */ - PublicKey?: string; + RoleArn: string | undefined; /** - *

                                                    The name to be assigned to the new DevEndpoint.

                                                    + *

                                                    A map of arguments used to configure the DevEndpoint.

                                                    */ - EndpointName: string | undefined; + Arguments?: { [key: string]: 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.

                                                    - * + *

                                                    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.

                                                    * - *

                                                    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.

                                                    + *

                                                    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.

                                                    *
                                                    */ - PublicKeys?: string[]; + ExtraPythonLibsS3Path?: string; /** - *

                                                    The IAM role for the DevEndpoint.

                                                    + *

                                                    The path to one or more Java .jar files in an S3 bucket that should be loaded + * in your DevEndpoint.

                                                    */ - RoleArn: string | undefined; + ExtraJarsS3Path?: string; /** - *

                                                    The number of AWS Glue Data Processing Units (DPUs) to allocate to this - * DevEndpoint.

                                                    - */ - NumberOfNodes?: number; - - /** - *

                                                    Security group IDs for the security groups to be used by the new - * DevEndpoint.

                                                    + *

                                                    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.

                                                    */ - SecurityGroupIds?: string[]; + WorkerType?: WorkerType | 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.

                                                    + *

                                                    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.

                                                    */ - Tags?: { [key: string]: string }; + NumberOfWorkers?: number; /** - *

                                                    A map of arguments used to configure the DevEndpoint.

                                                    + *

                                                    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.

                                                    + *
                                                    */ - Arguments?: { [key: string]: string }; + 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.

                                                    @@ -3264,86 +3405,67 @@ export interface CreateDevEndpointRequest { GlueVersion?: 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 yet supported.

                                                    - *
                                                    + *

                                                    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.

                                                    */ - ExtraPythonLibsS3Path?: string; + Tags?: { [key: string]: string }; /** - *

                                                    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 name to be assigned to the new DevEndpoint.

                                                    */ - WorkerType?: WorkerType | string; + EndpointName: string | undefined; /** - *

                                                    The path to one or more Java .jar files in an S3 bucket that should be loaded - * in your DevEndpoint.

                                                    + *

                                                    The name of the SecurityConfiguration structure to be used with this + * DevEndpoint.

                                                    */ - ExtraJarsS3Path?: string; + SecurityConfiguration?: 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.

                                                    + *

                                                    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.

                                                    */ - NumberOfWorkers?: number; -} - -export namespace CreateDevEndpointRequest { - export const filterSensitiveLog = (obj: CreateDevEndpointRequest): any => ({ - ...obj, - }); -} + PublicKey?: string; -export interface CreateDevEndpointResponse { /** - *

                                                    The AWS Availability Zone where this DevEndpoint is located.

                                                    + *

                                                    Security group IDs for the security groups to be used by the new + * DevEndpoint.

                                                    */ - AvailabilityZone?: string; + SecurityGroupIds?: string[]; /** - *

                                                    The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.

                                                    + *

                                                    The number of AWS Glue Data Processing Units (DPUs) to allocate to this + * DevEndpoint.

                                                    */ NumberOfNodes?: number; /** - *

                                                    The Apache Zeppelin port for the remote Apache Spark interpreter.

                                                    + *

                                                    The subnet ID for the new DevEndpoint to use.

                                                    */ - ZeppelinRemoteSparkInterpreterPort?: number; + SubnetId?: string; +} + +export namespace CreateDevEndpointRequest { + export const filterSensitiveLog = (obj: CreateDevEndpointRequest): any => ({ + ...obj, + }); +} +export interface CreateDevEndpointResponse { /** - *

                                                    The reason for a current failure in this DevEndpoint.

                                                    + *

                                                    The ID of the virtual private cloud (VPC) used by this DevEndpoint.

                                                    */ - FailureReason?: string; + VpcId?: string; /** - *

                                                    The paths to one or more Python libraries in an S3 bucket that will be loaded in your - * DevEndpoint.

                                                    + *

                                                    The reason for a current failure in this DevEndpoint.

                                                    */ - ExtraPythonLibsS3Path?: string; + FailureReason?: string; /** - *

                                                    The current status of the new DevEndpoint.

                                                    + *

                                                    The Apache Zeppelin port for the remote Apache Spark interpreter.

                                                    */ - Status?: string; + ZeppelinRemoteSparkInterpreterPort?: number; /** *

                                                    The map of arguments used to configure this DevEndpoint.

                                                    @@ -3372,36 +3494,35 @@ export interface CreateDevEndpointResponse { Arguments?: { [key: string]: string }; /** - *

                                                    The ID of the virtual private cloud (VPC) used by this DevEndpoint.

                                                    + *

                                                    The type of predefined worker that is allocated to the development endpoint. May be a value of Standard, G.1X, or G.2X.

                                                    */ - VpcId?: string; + WorkerType?: WorkerType | string; /** - *

                                                    The point in time at which this DevEndpoint was created.

                                                    + *

                                                    The paths to one or more Python libraries in an S3 bucket that will be loaded in your + * DevEndpoint.

                                                    */ - CreatedTimestamp?: Date; + ExtraPythonLibsS3Path?: 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 subnet ID assigned to the new DevEndpoint.

                                                    */ - GlueVersion?: string; + SubnetId?: string; /** - *

                                                    The number of workers of a defined workerType that are allocated to the development endpoint.

                                                    + *

                                                    The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.

                                                    */ - NumberOfWorkers?: number; + NumberOfNodes?: number; /** - *

                                                    Path to one or more Java .jar files in an S3 bucket that will be loaded in - * your DevEndpoint.

                                                    + *

                                                    The security groups assigned to the new DevEndpoint.

                                                    */ - ExtraJarsS3Path?: string; + SecurityGroupIds?: string[]; /** - *

                                                    The name of the SecurityConfiguration structure being used with this - * DevEndpoint.

                                                    + *

                                                    The current status of the new DevEndpoint.

                                                    */ - SecurityConfiguration?: string; + Status?: string; /** *

                                                    The address of the YARN endpoint used by this DevEndpoint.

                                                    @@ -3409,9 +3530,16 @@ export interface CreateDevEndpointResponse { YarnEndpointAddress?: 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 name of the SecurityConfiguration structure being used with this + * DevEndpoint.

                                                    */ - WorkerType?: WorkerType | string; + SecurityConfiguration?: string; + + /** + *

                                                    The Amazon Resource Name (ARN) of the role assigned to the new + * DevEndpoint.

                                                    + */ + RoleArn?: string; /** *

                                                    The name assigned to the new DevEndpoint.

                                                    @@ -3419,20 +3547,30 @@ export interface CreateDevEndpointResponse { EndpointName?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the role assigned to the new - * DevEndpoint.

                                                    + *

                                                    The number of workers of a defined workerType that are allocated to the development endpoint.

                                                    */ - RoleArn?: string; + NumberOfWorkers?: number; /** - *

                                                    The subnet ID assigned to the new DevEndpoint.

                                                    + *

                                                    The AWS Availability Zone where this DevEndpoint is located.

                                                    */ - SubnetId?: string; + AvailabilityZone?: string; /** - *

                                                    The security groups assigned to 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.

                                                    */ - SecurityGroupIds?: string[]; + GlueVersion?: string; + + /** + *

                                                    Path to one or more Java .jar files in an S3 bucket that will be loaded in + * your DevEndpoint.

                                                    + */ + ExtraJarsS3Path?: string; + + /** + *

                                                    The point in time at which this DevEndpoint was created.

                                                    + */ + CreatedTimestamp?: Date; } export namespace CreateDevEndpointResponse { @@ -3497,18 +3635,9 @@ export namespace ConcurrentModificationException { export interface CreateJobRequest { /** - *

                                                    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.

                                                    - */ - Tags?: { [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.

                                                    + *

                                                    This field is reserved for future use.

                                                    */ - GlueVersion?: string; + LogUri?: string; /** *

                                                    The number of workers of a defined workerType that are allocated when a job runs.

                                                    @@ -3518,9 +3647,9 @@ export interface CreateJobRequest { NumberOfWorkers?: number; /** - *

                                                    The JobCommand that executes this job.

                                                    + *

                                                    The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

                                                    */ - Command: JobCommand | undefined; + Role: string | undefined; /** *

                                                    The default arguments for this job.

                                                    @@ -3532,70 +3661,80 @@ export interface CreateJobRequest { DefaultArguments?: { [key: string]: string }; /** - *

                                                    The name or Amazon Resource Name (ARN) of the IAM role associated 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.

                                                    */ - Role: string | undefined; + GlueVersion?: 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).

                                                    + *

                                                    The JobCommand that executes this job.

                                                    */ - Timeout?: number; + Command: JobCommand | undefined; /** - *

                                                    An ExecutionProperty specifying the maximum number of concurrent runs allowed - * for this job.

                                                    + *

                                                    Specifies configuration properties of a job notification.

                                                    */ - ExecutionProperty?: ExecutionProperty; + NotificationProperty?: NotificationProperty; /** - *

                                                    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.

                                                    + *

                                                    The name you assign to this job definition. It must be unique in your account.

                                                    */ - AllocatedCapacity?: number; + Name: string | undefined; /** - *

                                                    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.

                                                      - *
                                                    • + *

                                                      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. + * For more information, see the AWS Glue + * pricing page.

                                                      + * + *

                                                      Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                                                      + * + *

                                                      The value that can be allocated for MaxCapacity depends on whether you are + * running a Python shell job or an Apache Spark ETL job:

                                                      + *
                                                        *
                                                      • - *

                                                        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.

                                                        + *

                                                        When you specify a Python shell job (JobCommand.Name="pythonshell"), you can + * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                                                        *
                                                      • *
                                                      • - *

                                                        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.

                                                        + *

                                                        When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") or Apache + * Spark streaming ETL job (JobCommand.Name="gluestreaming"), you can allocate from 2 to 100 DPUs. + * The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                                                        *
                                                      • *
                                                      */ - WorkerType?: WorkerType | string; + MaxCapacity?: number; /** - *

                                                      The maximum number of times to retry this job if it fails.

                                                      + *

                                                      Description of the job being defined.

                                                      */ - MaxRetries?: number; + Description?: string; /** - *

                                                      This field is reserved for future use.

                                                      + *

                                                      The connections used for this job.

                                                      */ - LogUri?: string; + Connections?: ConnectionsList; /** - *

                                                      The name of the SecurityConfiguration structure to be used with this - * job.

                                                      + *

                                                      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.

                                                      */ - SecurityConfiguration?: string; + AllocatedCapacity?: number; /** - *

                                                      The connections used for this job.

                                                      + *

                                                      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).

                                                      */ - Connections?: ConnectionsList; + Timeout?: number; /** *

                                                      Non-overridable arguments for this job, specified as name-value pairs.

                                                      @@ -3603,43 +3742,42 @@ export interface CreateJobRequest { NonOverridableArguments?: { [key: string]: string }; /** - *

                                                      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. - * For more information, see the AWS Glue - * pricing page.

                                                      - * - *

                                                      Do not set Max Capacity if using WorkerType and NumberOfWorkers.

                                                      - * - *

                                                      The value that can be allocated for MaxCapacity depends on whether you are - * running a Python shell job or an Apache Spark ETL job:

                                                      - *
                                                        - *
                                                      • - *

                                                        When you specify a Python shell job (JobCommand.Name="pythonshell"), you can - * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

                                                        - *
                                                      • - *
                                                      • - *

                                                        When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") or Apache - * Spark streaming ETL job (JobCommand.Name="gluestreaming"), you can allocate from 2 to 100 DPUs. - * The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

                                                        - *
                                                      • - *
                                                      + *

                                                      The maximum number of times to retry this job if it fails.

                                                      */ - MaxCapacity?: number; + MaxRetries?: number; /** - *

                                                      Description of the job being defined.

                                                      + *

                                                      An ExecutionProperty specifying the maximum number of concurrent runs allowed + * for this job.

                                                      */ - Description?: string; + ExecutionProperty?: ExecutionProperty; /** - *

                                                      The name you assign to this job definition. It must be unique in your account.

                                                      + *

                                                      The name of the SecurityConfiguration structure to be used with this + * job.

                                                      */ - Name: string | undefined; + SecurityConfiguration?: string; /** - *

                                                      Specifies configuration properties of a job notification.

                                                      + *

                                                      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?: NotificationProperty; + Tags?: { [key: string]: 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 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.

                                                        + *
                                                      • + *
                                                      + */ + WorkerType?: WorkerType | string; } export namespace CreateJobRequest { @@ -3666,24 +3804,24 @@ export namespace CreateJobResponse { */ export interface GlueTable { /** - *

                                                      A database name in the AWS Glue Data Catalog.

                                                      + *

                                                      A table name in the AWS Glue Data Catalog.

                                                      */ - DatabaseName: string | undefined; + TableName: string | undefined; /** - *

                                                      A unique identifier for the AWS Glue Data Catalog.

                                                      + *

                                                      The name of the connection to the AWS Glue Data Catalog.

                                                      */ - CatalogId?: string; + ConnectionName?: string; /** - *

                                                      A table name in the AWS Glue Data Catalog.

                                                      + *

                                                      A unique identifier for the AWS Glue Data Catalog.

                                                      */ - TableName: string | undefined; + CatalogId?: string; /** - *

                                                      The name of the connection to the AWS Glue Data Catalog.

                                                      + *

                                                      A database name in the AWS Glue Data Catalog.

                                                      */ - ConnectionName?: string; + DatabaseName: string | undefined; } export namespace GlueTable { @@ -3702,10 +3840,17 @@ export interface FindMatchesParameters { PrimaryKeyColumnName?: string; /** - *

                                                      The value to switch on or off to force the output to match the provided labels from users. If the value is True, the find matches transform forces the output to match the provided labels. The results override the normal conflation results. If the value is False, the find matches transform does not ensure all the labels provided are respected, and the results rely on the trained model.

                                                      - *

                                                      Note that setting this value to true may increase the conflation execution time.

                                                      + *

                                                      The value selected when tuning your transform for a balance between precision and recall. + * A value of 0.5 means no preference; a value of 1.0 means a bias purely for precision, and a + * value of 0.0 means a bias for recall. Because this is a tradeoff, choosing values close to 1.0 + * means very low recall, and choosing values close to 0.0 results in very low precision.

                                                      + * + *

                                                      The precision metric indicates how often your model is correct when it predicts a match.

                                                      + * + *

                                                      The recall metric indicates that for an actual match, how often your model predicts the + * match.

                                                      */ - EnforceProvidedLabels?: boolean; + PrecisionRecallTradeoff?: number; /** *

                                                      The value that is selected when tuning your transform for a balance between accuracy and @@ -3722,17 +3867,10 @@ export interface FindMatchesParameters { AccuracyCostTradeoff?: number; /** - *

                                                      The value selected when tuning your transform for a balance between precision and recall. - * A value of 0.5 means no preference; a value of 1.0 means a bias purely for precision, and a - * value of 0.0 means a bias for recall. Because this is a tradeoff, choosing values close to 1.0 - * means very low recall, and choosing values close to 0.0 results in very low precision.

                                                      - * - *

                                                      The precision metric indicates how often your model is correct when it predicts a match.

                                                      - * - *

                                                      The recall metric indicates that for an actual match, how often your model predicts the - * match.

                                                      + *

                                                      The value to switch on or off to force the output to match the provided labels from users. If the value is True, the find matches transform forces the output to match the provided labels. The results override the normal conflation results. If the value is False, the find matches transform does not ensure all the labels provided are respected, and the results rely on the trained model.

                                                      + *

                                                      Note that setting this value to true may increase the conflation execution time.

                                                      */ - PrecisionRecallTradeoff?: number; + EnforceProvidedLabels?: boolean; } export namespace FindMatchesParameters { @@ -3750,16 +3888,16 @@ export enum TransformType { * transform.

                                                      */ export interface TransformParameters { - /** - *

                                                      The parameters for the find matches algorithm.

                                                      - */ - FindMatchesParameters?: FindMatchesParameters; - /** *

                                                      The type of machine learning transform.

                                                      *

                                                      For information about the types of machine learning transforms, see Creating Machine Learning Transforms.

                                                      */ TransformType: TransformType | string | undefined; + + /** + *

                                                      The parameters for the find matches algorithm.

                                                      + */ + FindMatchesParameters?: FindMatchesParameters; } export namespace TransformParameters { @@ -3770,39 +3908,22 @@ export namespace TransformParameters { export interface CreateMLTransformRequest { /** - *

                                                      The maximum number of times to retry a task for this transform after a task run fails.

                                                      + *

                                                      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?: number; + Timeout?: number; /** - *

                                                      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.

                                                        - *
                                                      • - *
                                                      + *

                                                      The unique name that you give the transform when you create it.

                                                      */ - Role: string | undefined; + Name: string | undefined; /** - *

                                                      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 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.

                                                      *
                                                        *
                                                      • @@ -3819,8 +3940,13 @@ export interface CreateMLTransformRequest { * 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.

                                                      + * + * + *

                                                      When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

                                                      */ - WorkerType?: WorkerType | string; + MaxCapacity?: number; /** *

                                                      A description of the machine learning transform that is being defined. The default is an @@ -3829,10 +3955,18 @@ export interface CreateMLTransformRequest { Description?: string; /** - *

                                                      The algorithmic parameters that are specific to the transform type used. Conditionally - * dependent on the transform type.

                                                      + *

                                                      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.

                                                        + *
                                                      • + *
                                                      */ - Parameters: TransformParameters | undefined; + Role: string | undefined; /** *

                                                      The number of workers of a defined workerType that are allocated when this task runs.

                                                      @@ -3841,18 +3975,37 @@ export interface CreateMLTransformRequest { */ NumberOfWorkers?: 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 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.

                                                      + *

                                                      The algorithmic parameters that are specific to the transform type used. Conditionally + * dependent on the transform type.

                                                      + */ + Parameters: TransformParameters | undefined; + + /** + *

                                                      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.

                                                        + *
                                                      • + *
                                                      * - *

                                                      + *

                                                      * MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

                                                      *
                                                        *
                                                      • @@ -3869,33 +4022,18 @@ export interface CreateMLTransformRequest { * 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.

                                                      - * - * - *

                                                      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 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 unique name that you give the transform when you create it.

                                                      */ - Name: string | undefined; + WorkerType?: WorkerType | 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).

                                                      + *

                                                      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?: number; + GlueVersion?: 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.

                                                      + *

                                                      The maximum number of times to retry a task for this transform after a task run fails.

                                                      */ - GlueVersion?: string; + MaxRetries?: number; } export namespace CreateMLTransformRequest { @@ -3918,11 +4056,6 @@ export namespace CreateMLTransformResponse { } export interface CreatePartitionRequest { - /** - *

                                                      The name of the metadata table in which the partition is to be created.

                                                      - */ - TableName: string | undefined; - /** *

                                                      The name of the metadata database in which the partition is * to be created.

                                                      @@ -3930,15 +4063,20 @@ export interface CreatePartitionRequest { DatabaseName: string | undefined; /** - *

                                                      The AWS account ID of the catalog in which the partition is to be created.

                                                      + *

                                                      The name of the metadata table in which the partition is to be created.

                                                      */ - CatalogId?: string; + TableName: string | undefined; /** *

                                                      A PartitionInput structure defining the partition * 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 { @@ -3965,14 +4103,14 @@ export interface CodeGenEdge { Source: string | undefined; /** - *

                                                      The target of the edge.

                                                      + *

                                                      The ID of the node at which the edge ends.

                                                      */ - TargetParameter?: string; + Target: string | undefined; /** - *

                                                      The ID of the node at which the edge ends.

                                                      + *

                                                      The target of the edge.

                                                      */ - Target: string | undefined; + TargetParameter?: string; } export namespace CodeGenEdge { @@ -3986,14 +4124,14 @@ export namespace CodeGenEdge { */ export interface CodeGenNodeArg { /** - *

                                                      True if the value is used as a parameter.

                                                      + *

                                                      The name of the argument or property.

                                                      */ - Param?: boolean; + Name: string | undefined; /** - *

                                                      The name of the argument or property.

                                                      + *

                                                      True if the value is used as a parameter.

                                                      */ - Name: string | undefined; + Param?: boolean; /** *

                                                      The value of the argument or property.

                                                      @@ -4011,25 +4149,25 @@ export namespace CodeGenNodeArg { *

                                                      Represents a node in a directed acyclic graph (DAG)

                                                      */ export interface CodeGenNode { - /** - *

                                                      The line number of the node.

                                                      - */ - LineNumber?: number; - /** *

                                                      Properties of the node, in the form of name-value pairs.

                                                      */ Args: CodeGenNodeArg[] | undefined; /** - *

                                                      The type of node that this is.

                                                      + *

                                                      The line number of the node.

                                                      */ - NodeType: string | undefined; + LineNumber?: number; /** *

                                                      A node identifier that is unique within the node's graph.

                                                      */ Id: string | undefined; + + /** + *

                                                      The type of node that this is.

                                                      + */ + NodeType: string | undefined; } export namespace CodeGenNode { @@ -4050,14 +4188,14 @@ export interface CreateScriptRequest { DagNodes?: CodeGenNode[]; /** - *

                                                      The programming language of the resulting code from the DAG.

                                                      + *

                                                      A list of the edges in the DAG.

                                                      */ - Language?: Language | string; + DagEdges?: CodeGenEdge[]; /** - *

                                                      A list of the edges in the DAG.

                                                      + *

                                                      The programming language of the resulting code from the DAG.

                                                      */ - DagEdges?: CodeGenEdge[]; + Language?: Language | string; } export namespace CreateScriptRequest { @@ -4068,14 +4206,14 @@ export namespace CreateScriptRequest { export interface CreateScriptResponse { /** - *

                                                      The Scala code generated from the DAG.

                                                      + *

                                                      The Python script generated from the DAG.

                                                      */ - ScalaCode?: string; + PythonScript?: string; /** - *

                                                      The Python script generated from the DAG.

                                                      + *

                                                      The Scala code generated from the DAG.

                                                      */ - PythonScript?: string; + ScalaCode?: string; } export namespace CreateScriptResponse { @@ -4120,14 +4258,14 @@ export enum JobBookmarksEncryptionMode { */ export interface JobBookmarksEncryption { /** - *

                                                      The encryption mode to use for job bookmarks data.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                                                      */ - JobBookmarksEncryptionMode?: JobBookmarksEncryptionMode | string; + KmsKeyArn?: string; /** - *

                                                      The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                                                      + *

                                                      The encryption mode to use for job bookmarks data.

                                                      */ - KmsKeyArn?: string; + JobBookmarksEncryptionMode?: JobBookmarksEncryptionMode | string; } export namespace JobBookmarksEncryption { @@ -4147,14 +4285,14 @@ export enum S3EncryptionMode { */ export interface S3Encryption { /** - *

                                                      The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                                                      + *

                                                      The encryption mode to use for Amazon S3 data.

                                                      */ - KmsKeyArn?: string; + S3EncryptionMode?: S3EncryptionMode | string; /** - *

                                                      The encryption mode to use for Amazon S3 data.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

                                                      */ - S3EncryptionMode?: S3EncryptionMode | string; + KmsKeyArn?: string; } export namespace S3Encryption { @@ -4167,11 +4305,6 @@ export namespace S3Encryption { *

                                                      Specifies an encryption configuration.

                                                      */ export interface EncryptionConfiguration { - /** - *

                                                      The encryption configuration for Amazon Simple Storage Service (Amazon S3) data.

                                                      - */ - S3Encryption?: S3Encryption[]; - /** *

                                                      The encryption configuration for Amazon CloudWatch.

                                                      */ @@ -4181,6 +4314,11 @@ export interface EncryptionConfiguration { *

                                                      The encryption configuration for job bookmarks.

                                                      */ JobBookmarksEncryption?: JobBookmarksEncryption; + + /** + *

                                                      The encryption configuration for Amazon Simple Storage Service (Amazon S3) data.

                                                      + */ + S3Encryption?: S3Encryption[]; } export namespace EncryptionConfiguration { @@ -4191,14 +4329,14 @@ export namespace EncryptionConfiguration { export interface CreateSecurityConfigurationRequest { /** - *

                                                      The name for the new security configuration.

                                                      + *

                                                      The encryption configuration for the new security configuration.

                                                      */ - Name: string | undefined; + EncryptionConfiguration: EncryptionConfiguration | undefined; /** - *

                                                      The encryption configuration for the new security configuration.

                                                      + *

                                                      The name for the new security configuration.

                                                      */ - EncryptionConfiguration: EncryptionConfiguration | undefined; + Name: string | undefined; } export namespace CreateSecurityConfigurationRequest { @@ -4209,14 +4347,14 @@ export namespace CreateSecurityConfigurationRequest { export interface CreateSecurityConfigurationResponse { /** - *

                                                      The time at which the new security configuration was created.

                                                      + *

                                                      The name assigned to the new security configuration.

                                                      */ - CreatedTimestamp?: Date; + Name?: string; /** - *

                                                      The name assigned to the new security configuration.

                                                      + *

                                                      The time at which the new security configuration was created.

                                                      */ - Name?: string; + CreatedTimestamp?: Date; } export namespace CreateSecurityConfigurationResponse { @@ -4226,14 +4364,30 @@ export namespace CreateSecurityConfigurationResponse { } /** - *

                                                      A structure that describes a target table for resource linking.

                                                      + *

                                                      A structure for a partition index.

                                                      */ -export interface TableIdentifier { +export interface PartitionIndex { /** - *

                                                      The ID of the Data Catalog in which the table resides.

                                                      + *

                                                      The keys for the partition index.

                                                      */ - CatalogId?: string; + Keys: string[] | undefined; + + /** + *

                                                      The name of the partition index.

                                                      + */ + IndexName: string | undefined; +} + +export namespace PartitionIndex { + export const filterSensitiveLog = (obj: PartitionIndex): any => ({ + ...obj, + }); +} +/** + *

                                                      A structure that describes a target table for resource linking.

                                                      + */ +export interface TableIdentifier { /** *

                                                      The name of the catalog database that contains the target table.

                                                      */ @@ -4243,6 +4397,11 @@ export interface TableIdentifier { *

                                                      The name of the target table.

                                                      */ Name?: string; + + /** + *

                                                      The ID of the Data Catalog in which the table resides.

                                                      + */ + CatalogId?: string; } export namespace TableIdentifier { @@ -4255,21 +4414,6 @@ export namespace TableIdentifier { *

                                                      A structure used to define a table.

                                                      */ export interface TableInput { - /** - *

                                                      If the table is a view, the expanded text of the view; otherwise null.

                                                      - */ - ViewExpandedText?: string; - - /** - *

                                                      The retention time for this table.

                                                      - */ - Retention?: number; - - /** - *

                                                      The last time that column statistics were computed for this table.

                                                      - */ - LastAnalyzedTime?: Date; - /** *

                                                      The table name. For Hive compatibility, this is folded to * lowercase when it is stored.

                                                      @@ -4283,9 +4427,14 @@ export interface TableInput { StorageDescriptor?: StorageDescriptor; /** - *

                                                      The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                                                      + *

                                                      The retention time for this table.

                                                      */ - TableType?: string; + Retention?: number; + + /** + *

                                                      A description of the table.

                                                      + */ + Description?: string; /** *

                                                      These key-value pairs define properties associated with the table.

                                                      @@ -4293,14 +4442,14 @@ export interface TableInput { Parameters?: { [key: string]: string }; /** - *

                                                      If the table is a view, the original text of the view; otherwise null.

                                                      + *

                                                      The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                                                      */ - ViewOriginalText?: string; + TableType?: string; /** - *

                                                      The table owner.

                                                      + *

                                                      A TableIdentifier structure that describes a target table for resource linking.

                                                      */ - Owner?: string; + TargetTable?: TableIdentifier; /** *

                                                      A list of columns by which the table is partitioned. Only primitive @@ -4315,19 +4464,29 @@ export interface TableInput { PartitionKeys?: Column[]; /** - *

                                                      A TableIdentifier structure that describes a target table for resource linking.

                                                      + *

                                                      The last time that the table was accessed.

                                                      */ - TargetTable?: TableIdentifier; + LastAccessTime?: Date; /** - *

                                                      The last time that the table was accessed.

                                                      + *

                                                      The table owner.

                                                      */ - LastAccessTime?: Date; + Owner?: string; /** - *

                                                      A description of the table.

                                                      + *

                                                      If the table is a view, the original text of the view; otherwise null.

                                                      */ - Description?: string; + ViewOriginalText?: string; + + /** + *

                                                      If the table is a view, the expanded text of the view; otherwise null.

                                                      + */ + ViewExpandedText?: string; + + /** + *

                                                      The last time that column statistics were computed for this table.

                                                      + */ + LastAnalyzedTime?: Date; } export namespace TableInput { @@ -4337,23 +4496,28 @@ export namespace TableInput { } export interface CreateTableRequest { - /** - *

                                                      The ID of the Data Catalog in which to create the Table. - * If none is supplied, the AWS account ID is used by default.

                                                      - */ - CatalogId?: string; - /** *

                                                      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 in which to create the Table. + * If none is supplied, the AWS account ID is used by default.

                                                      + */ + CatalogId?: string; + /** *

                                                      The TableInput object that defines the metadata table * to create in the catalog.

                                                      */ TableInput: TableInput | undefined; + + /** + *

                                                      A list of partition indexes, PartitionIndex structures, to create in the table.

                                                      + */ + PartitionIndexes?: PartitionIndex[]; } export namespace CreateTableRequest { @@ -4372,15 +4536,9 @@ export namespace CreateTableResponse { export interface CreateTriggerRequest { /** - *

                                                      A description of the new trigger.

                                                      - */ - Description?: string; - - /** - *

                                                      Set to true to start SCHEDULED and CONDITIONAL - * triggers when created. True is not supported for ON_DEMAND triggers.

                                                      + *

                                                      The name of the trigger.

                                                      */ - StartOnCreation?: boolean; + Name: string | undefined; /** *

                                                      A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run @@ -4391,9 +4549,9 @@ export interface CreateTriggerRequest { Schedule?: string; /** - *

                                                      The name of the workflow associated with the trigger.

                                                      + *

                                                      The type of the new trigger.

                                                      */ - WorkflowName?: string; + Type: TriggerType | string | undefined; /** *

                                                      The actions initiated by this trigger when it fires.

                                                      @@ -4401,9 +4559,15 @@ export interface CreateTriggerRequest { Actions: Action[] | undefined; /** - *

                                                      The type of the new trigger.

                                                      + *

                                                      Set to true to start SCHEDULED and CONDITIONAL + * triggers when created. True is not supported for ON_DEMAND triggers.

                                                      */ - Type: TriggerType | string | undefined; + StartOnCreation?: boolean; + + /** + *

                                                      The name of the workflow associated with the trigger.

                                                      + */ + WorkflowName?: string; /** *

                                                      The tags to use with this trigger. You may use tags to limit access to the trigger. @@ -4413,16 +4577,16 @@ export interface CreateTriggerRequest { */ Tags?: { [key: string]: string }; - /** - *

                                                      The name of the trigger.

                                                      - */ - Name: string | undefined; - /** *

                                                      A predicate to specify when the new trigger should fire.

                                                      *

                                                      This field is required when the trigger type is CONDITIONAL.

                                                      */ Predicate?: Predicate; + + /** + *

                                                      A description of the new trigger.

                                                      + */ + Description?: string; } export namespace CreateTriggerRequest { @@ -4461,14 +4625,14 @@ export enum ResourceType { */ export interface ResourceUri { /** - *

                                                      The URI for accessing the resource.

                                                      + *

                                                      The type of the resource.

                                                      */ - Uri?: string; + ResourceType?: ResourceType | string; /** - *

                                                      The type of the resource.

                                                      + *

                                                      The URI for accessing the resource.

                                                      */ - ResourceType?: ResourceType | string; + Uri?: string; } export namespace ResourceUri { @@ -4482,9 +4646,9 @@ export namespace ResourceUri { */ export interface UserDefinedFunctionInput { /** - *

                                                      The owner type.

                                                      + *

                                                      The Java class that contains the function code.

                                                      */ - OwnerType?: PrincipalType | string; + ClassName?: string; /** *

                                                      The name of the function.

                                                      @@ -4492,14 +4656,14 @@ export interface UserDefinedFunctionInput { FunctionName?: string; /** - *

                                                      The resource URIs for the function.

                                                      + *

                                                      The owner type.

                                                      */ - ResourceUris?: ResourceUri[]; + OwnerType?: PrincipalType | string; /** - *

                                                      The Java class that contains the function code.

                                                      + *

                                                      The resource URIs for the function.

                                                      */ - ClassName?: string; + ResourceUris?: ResourceUri[]; /** *

                                                      The owner of the function.

                                                      @@ -4514,17 +4678,17 @@ export namespace UserDefinedFunctionInput { } export interface CreateUserDefinedFunctionRequest { - /** - *

                                                      The name of the catalog database in which to create the function.

                                                      - */ - DatabaseName: string | undefined; - /** *

                                                      A FunctionInput object that defines the function * to create in the Data Catalog.

                                                      */ FunctionInput: UserDefinedFunctionInput | undefined; + /** + *

                                                      The name of the catalog database in which to create the function.

                                                      + */ + DatabaseName: string | undefined; + /** *

                                                      The ID of the Data Catalog in which to create the function. If none is provided, the AWS * account ID is used by default.

                                                      @@ -4548,29 +4712,34 @@ export namespace CreateUserDefinedFunctionResponse { export interface CreateWorkflowRequest { /** - *

                                                      The name to be assigned to the workflow. It should be unique within your account.

                                                      + *

                                                      A description of the workflow.

                                                      */ - Name: string | undefined; + Description?: string; /** - *

                                                      The tags to be used with this workflow.

                                                      + *

                                                      The name to be assigned to the workflow. It should be unique within your account.

                                                      */ - Tags?: { [key: string]: string }; + Name: string | undefined; /** - *

                                                      A 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; /** *

                                                      A collection of properties to be used as part of each execution of the workflow.

                                                      */ DefaultRunProperties?: { [key: string]: string }; -} -export namespace CreateWorkflowRequest { - export const filterSensitiveLog = (obj: CreateWorkflowRequest): any => ({ - ...obj, + /** + *

                                                      The tags to be used with this workflow.

                                                      + */ + Tags?: { [key: string]: string }; +} + +export namespace CreateWorkflowRequest { + export const filterSensitiveLog = (obj: CreateWorkflowRequest): any => ({ + ...obj, }); } @@ -4610,14 +4779,9 @@ export namespace DeleteClassifierResponse { export interface DeleteColumnStatisticsForPartitionRequest { /** - *

                                                      The name of the partitions' table.

                                                      - */ - TableName: string | undefined; - - /** - *

                                                      Name of the column.

                                                      + *

                                                      A list of partition values identifying the partition.

                                                      */ - ColumnName: string | undefined; + PartitionValues: string[] | undefined; /** *

                                                      The name of the catalog database where the partitions reside.

                                                      @@ -4631,9 +4795,14 @@ export interface DeleteColumnStatisticsForPartitionRequest { CatalogId?: string; /** - *

                                                      A list of partition values identifying the partition.

                                                      + *

                                                      Name of the column.

                                                      */ - PartitionValues: string[] | undefined; + ColumnName: string | undefined; + + /** + *

                                                      The name of the partitions' table.

                                                      + */ + TableName: string | undefined; } export namespace DeleteColumnStatisticsForPartitionRequest { @@ -4651,6 +4820,12 @@ export namespace DeleteColumnStatisticsForPartitionResponse { } export interface DeleteColumnStatisticsForTableRequest { + /** + *

                                                      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 name of the partitions' table.

                                                      */ @@ -4661,12 +4836,6 @@ export interface DeleteColumnStatisticsForTableRequest { */ ColumnName: 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; - /** *

                                                      The name of the catalog database where the partitions reside.

                                                      */ @@ -4688,16 +4857,16 @@ export namespace DeleteColumnStatisticsForTableResponse { } export interface DeleteConnectionRequest { - /** - *

                                                      The name of the connection to delete.

                                                      - */ - ConnectionName: 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.

                                                      */ CatalogId?: string; + + /** + *

                                                      The name of the connection to delete.

                                                      + */ + ConnectionName: string | undefined; } export namespace DeleteConnectionRequest { @@ -4874,9 +5043,10 @@ export namespace DeleteMLTransformResponse { export interface DeletePartitionRequest { /** - *

                                                      The name of the table that contains the partition to be deleted.

                                                      + *

                                                      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.

                                                      */ - TableName: string | undefined; + CatalogId?: string; /** *

                                                      The values that define the partition.

                                                      @@ -4890,10 +5060,9 @@ export interface DeletePartitionRequest { DatabaseName: 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.

                                                      + *

                                                      The name of the table that contains the partition to be deleted.

                                                      */ - CatalogId?: string; + TableName: string | undefined; } export namespace DeletePartitionRequest { @@ -4930,14 +5099,14 @@ export namespace ConditionCheckFailureException { export interface DeleteResourcePolicyRequest { /** - *

                                                      The ARN of the AWS Glue resource for the resource policy to be deleted.

                                                      + *

                                                      The hash value returned when this policy was set.

                                                      */ - ResourceArn?: string; + PolicyHashCondition?: string; /** - *

                                                      The hash value returned when this policy was set.

                                                      + *

                                                      The ARN of the AWS Glue resource for the resource policy to be deleted.

                                                      */ - PolicyHashCondition?: string; + ResourceArn?: string; } export namespace DeleteResourcePolicyRequest { @@ -5022,16 +5191,16 @@ export interface DeleteTableVersionRequest { */ 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.

                                                      - */ - VersionId: string | undefined; - /** *

                                                      The database in the catalog in which the table resides. For Hive * compatibility, this name is entirely lowercase.

                                                      */ DatabaseName: 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 DeleteTableVersionRequest { @@ -5075,12 +5244,6 @@ export namespace DeleteTriggerResponse { } export interface DeleteUserDefinedFunctionRequest { - /** - *

                                                      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.

                                                      - */ - CatalogId?: string; - /** *

                                                      The name of the function definition to be deleted.

                                                      */ @@ -5090,6 +5253,12 @@ export interface DeleteUserDefinedFunctionRequest { *

                                                      The name of the catalog database where the function is located.

                                                      */ DatabaseName: string | undefined; + + /** + *

                                                      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.

                                                      + */ + CatalogId?: string; } export namespace DeleteUserDefinedFunctionRequest { @@ -5156,14 +5325,14 @@ export interface CatalogImportStatus { ImportCompleted?: boolean; /** - *

                                                      The time that the migration was started.

                                                      + *

                                                      The name of the person who initiated the migration.

                                                      */ - ImportTime?: Date; + ImportedBy?: string; /** - *

                                                      The name of the person who initiated the migration.

                                                      + *

                                                      The time that the migration was started.

                                                      */ - ImportedBy?: string; + ImportTime?: Date; } export namespace CatalogImportStatus { @@ -5203,56 +5372,56 @@ export namespace GetClassifierRequest { */ export interface CsvClassifier { /** - *

                                                      The time that this classifier was registered.

                                                      + *

                                                      A custom symbol to denote what separates each column entry in the row.

                                                      */ - CreationTime?: Date; + Delimiter?: string; /** - *

                                                      The version of this classifier.

                                                      + *

                                                      Enables the processing of files that contain only one column.

                                                      */ - Version?: number; + AllowSingleColumn?: boolean; /** - *

                                                      Specifies not to trim values before identifying the type of column values. The default - * value is true.

                                                      + *

                                                      The time that this classifier was last updated.

                                                      */ - DisableValueTrimming?: boolean; + LastUpdated?: Date; /** - *

                                                      Indicates whether the CSV file contains a header.

                                                      + *

                                                      A custom symbol to denote what combines content into a single column value. It must be + * different from the column delimiter.

                                                      */ - ContainsHeader?: CsvHeaderOption | string; + QuoteSymbol?: string; /** - *

                                                      A custom symbol to denote what separates each column entry in the row.

                                                      + *

                                                      The version of this classifier.

                                                      */ - Delimiter?: string; + Version?: number; /** - *

                                                      Enables the processing of files that contain only one column.

                                                      + *

                                                      Specifies not to trim values before identifying the type of column values. The default + * value is true.

                                                      */ - AllowSingleColumn?: boolean; + DisableValueTrimming?: boolean; /** - *

                                                      A custom symbol to denote what combines content into a single column value. It must be - * different from the column delimiter.

                                                      + *

                                                      A list of strings representing column names.

                                                      */ - QuoteSymbol?: string; + Header?: string[]; /** - *

                                                      A list of strings representing column names.

                                                      + *

                                                      Indicates whether the CSV file contains a header.

                                                      */ - Header?: string[]; + ContainsHeader?: CsvHeaderOption | string; /** - *

                                                      The name of the classifier.

                                                      + *

                                                      The time that this classifier was registered.

                                                      */ - Name: string | undefined; + CreationTime?: Date; /** - *

                                                      The time that this classifier was last updated.

                                                      + *

                                                      The name of the classifier.

                                                      */ - LastUpdated?: Date; + Name: string | undefined; } export namespace CsvClassifier { @@ -5266,26 +5435,19 @@ export namespace CsvClassifier { */ export interface GrokClassifier { /** - *

                                                      Optional custom grok patterns defined by this classifier. - * For more information, see custom patterns in Writing Custom Classifiers.

                                                      - */ - CustomPatterns?: string; - - /** - *

                                                      The grok pattern applied to a data store by this classifier. - * For more information, see built-in patterns in Writing Custom Classifiers.

                                                      + *

                                                      The time that this classifier was last updated.

                                                      */ - GrokPattern: string | undefined; + LastUpdated?: Date; /** - *

                                                      The version of this classifier.

                                                      + *

                                                      The name of the classifier.

                                                      */ - Version?: number; + Name: string | undefined; /** - *

                                                      The time that this classifier was last updated.

                                                      + *

                                                      The time that this classifier was registered.

                                                      */ - LastUpdated?: Date; + CreationTime?: Date; /** *

                                                      An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and @@ -5294,14 +5456,21 @@ export interface GrokClassifier { Classification: string | undefined; /** - *

                                                      The time that this classifier was registered.

                                                      + *

                                                      The version of this classifier.

                                                      */ - CreationTime?: Date; + Version?: number; /** - *

                                                      The name of the classifier.

                                                      + *

                                                      The grok pattern applied to a data store by this classifier. + * For more information, see built-in patterns in Writing Custom Classifiers.

                                                      */ - Name: string | undefined; + 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 GrokClassifier { @@ -5315,15 +5484,14 @@ export namespace GrokClassifier { */ export interface JsonClassifier { /** - *

                                                      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 time that this classifier was registered.

                                                      */ - JsonPath: string | undefined; + CreationTime?: Date; /** - *

                                                      The time that this classifier was registered.

                                                      + *

                                                      The time that this classifier was last updated.

                                                      */ - CreationTime?: Date; + LastUpdated?: Date; /** *

                                                      The name of the classifier.

                                                      @@ -5331,9 +5499,10 @@ export interface JsonClassifier { Name: string | undefined; /** - *

                                                      The time that this classifier was last updated.

                                                      + *

                                                      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.

                                                      */ - LastUpdated?: Date; + JsonPath: string | undefined; /** *

                                                      The version of this classifier.

                                                      @@ -5351,15 +5520,6 @@ export namespace JsonClassifier { *

                                                      A classifier for XML content.

                                                      */ export interface XMLClassifier { - /** - *

                                                      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; - /** *

                                                      The version of this classifier.

                                                      */ @@ -5370,6 +5530,15 @@ export interface XMLClassifier { */ LastUpdated?: Date; + /** + *

                                                      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; + /** *

                                                      The name of the classifier.

                                                      */ @@ -5404,14 +5573,14 @@ export namespace XMLClassifier { */ export interface Classifier { /** - *

                                                      A classifier for comma-separated values (CSV).

                                                      + *

                                                      A classifier for XML content.

                                                      */ - CsvClassifier?: CsvClassifier; + XMLClassifier?: XMLClassifier; /** - *

                                                      A classifier that uses grok.

                                                      + *

                                                      A classifier for comma-separated values (CSV).

                                                      */ - GrokClassifier?: GrokClassifier; + CsvClassifier?: CsvClassifier; /** *

                                                      A classifier for JSON content.

                                                      @@ -5419,9 +5588,9 @@ export interface Classifier { JsonClassifier?: JsonClassifier; /** - *

                                                      A classifier for XML content.

                                                      + *

                                                      A classifier that uses grok.

                                                      */ - XMLClassifier?: XMLClassifier; + GrokClassifier?: GrokClassifier; } export namespace Classifier { @@ -5445,14 +5614,14 @@ export namespace GetClassifierResponse { export interface GetClassifiersRequest { /** - *

                                                      An optional continuation token.

                                                      + *

                                                      The size of the list to return (optional).

                                                      */ - NextToken?: string; + MaxResults?: number; /** - *

                                                      The size of the list to return (optional).

                                                      + *

                                                      An optional continuation token.

                                                      */ - MaxResults?: number; + NextToken?: string; } export namespace GetClassifiersRequest { @@ -5463,15 +5632,15 @@ export namespace GetClassifiersRequest { export interface GetClassifiersResponse { /** - *

                                                      The requested list of classifier - * objects.

                                                      + *

                                                      A continuation token.

                                                      */ - Classifiers?: Classifier[]; + NextToken?: string; /** - *

                                                      A continuation token.

                                                      + *

                                                      The requested list of classifier + * objects.

                                                      */ - NextToken?: string; + Classifiers?: Classifier[]; } export namespace GetClassifiersResponse { @@ -5482,14 +5651,14 @@ export namespace GetClassifiersResponse { export interface GetColumnStatisticsForPartitionRequest { /** - *

                                                      The name of the partitions' table.

                                                      + *

                                                      A list of the column names.

                                                      */ - TableName: string | undefined; + ColumnNames: string[] | undefined; /** - *

                                                      A list of the column names.

                                                      + *

                                                      The name of the partitions' table.

                                                      */ - ColumnNames: string[] | undefined; + TableName: string | undefined; /** *

                                                      The name of the catalog database where the partitions reside.

                                                      @@ -5518,6 +5687,11 @@ export namespace GetColumnStatisticsForPartitionRequest { *

                                                      Defines a binary column statistics data.

                                                      */ export interface BinaryColumnStatisticsData { + /** + *

                                                      Average length of the column.

                                                      + */ + AverageLength: number | undefined; + /** *

                                                      Number of nulls.

                                                      */ @@ -5527,11 +5701,6 @@ export interface BinaryColumnStatisticsData { *

                                                      Maximum length of the column.

                                                      */ MaximumLength: number | undefined; - - /** - *

                                                      Average length of the column.

                                                      - */ - AverageLength: number | undefined; } export namespace BinaryColumnStatisticsData { @@ -5545,19 +5714,19 @@ export namespace BinaryColumnStatisticsData { */ export interface BooleanColumnStatisticsData { /** - *

                                                      Number of true value.

                                                      + *

                                                      Number of false value.

                                                      */ - NumberOfTrues: number | undefined; + NumberOfFalses: number | undefined; /** - *

                                                      Number of nulls.

                                                      + *

                                                      Number of true value.

                                                      */ - NumberOfNulls: number | undefined; + NumberOfTrues: number | undefined; /** - *

                                                      Number of false value.

                                                      + *

                                                      Number of nulls.

                                                      */ - NumberOfFalses: number | undefined; + NumberOfNulls: number | undefined; } export namespace BooleanColumnStatisticsData { @@ -5575,11 +5744,6 @@ export interface DateColumnStatisticsData { */ NumberOfDistinctValues: number | undefined; - /** - *

                                                      Number of nulls.

                                                      - */ - NumberOfNulls: number | undefined; - /** *

                                                      Minimum value of the column.

                                                      */ @@ -5589,6 +5753,11 @@ export interface DateColumnStatisticsData { *

                                                      Maximum value of the column.

                                                      */ MaximumValue?: Date; + + /** + *

                                                      Number of nulls.

                                                      + */ + NumberOfNulls: number | undefined; } export namespace DateColumnStatisticsData { @@ -5624,24 +5793,24 @@ export namespace DecimalNumber { */ export interface DecimalColumnStatisticsData { /** - *

                                                      Minimum value of the column.

                                                      + *

                                                      Maximum value of the column.

                                                      */ - MinimumValue?: DecimalNumber; + MaximumValue?: DecimalNumber; /** - *

                                                      Number of distinct values.

                                                      + *

                                                      Minimum value of the column.

                                                      */ - NumberOfDistinctValues: number | undefined; + MinimumValue?: DecimalNumber; /** - *

                                                      Maximum value of the column.

                                                      + *

                                                      Number of nulls.

                                                      */ - MaximumValue?: DecimalNumber; + NumberOfNulls: number | undefined; /** - *

                                                      Number of nulls.

                                                      + *

                                                      Number of distinct values.

                                                      */ - NumberOfNulls: number | undefined; + NumberOfDistinctValues: number | undefined; } export namespace DecimalColumnStatisticsData { @@ -5654,11 +5823,6 @@ export namespace DecimalColumnStatisticsData { *

                                                      Defines a double column statistics data.

                                                      */ export interface DoubleColumnStatisticsData { - /** - *

                                                      Minimum value of the column.

                                                      - */ - MinimumValue?: number; - /** *

                                                      Number of distinct values.

                                                      */ @@ -5673,6 +5837,11 @@ export interface DoubleColumnStatisticsData { *

                                                      Maximum value of the column.

                                                      */ MaximumValue?: number; + + /** + *

                                                      Minimum value of the column.

                                                      + */ + MinimumValue?: number; } export namespace DoubleColumnStatisticsData { @@ -5686,9 +5855,9 @@ export namespace DoubleColumnStatisticsData { */ export interface LongColumnStatisticsData { /** - *

                                                      Number of nulls.

                                                      + *

                                                      Number of distinct values.

                                                      */ - NumberOfNulls: number | undefined; + NumberOfDistinctValues: number | undefined; /** *

                                                      Maximum value of the column.

                                                      @@ -5696,9 +5865,9 @@ export interface LongColumnStatisticsData { MaximumValue?: number; /** - *

                                                      Number of distinct values.

                                                      + *

                                                      Number of nulls.

                                                      */ - NumberOfDistinctValues: number | undefined; + NumberOfNulls: number | undefined; /** *

                                                      Minimum value of the column.

                                                      @@ -5716,11 +5885,6 @@ export namespace LongColumnStatisticsData { *

                                                      Defines a string column statistics data.

                                                      */ export interface StringColumnStatisticsData { - /** - *

                                                      Average value of the column.

                                                      - */ - AverageLength: number | undefined; - /** *

                                                      Number of distinct values.

                                                      */ @@ -5731,6 +5895,11 @@ export interface StringColumnStatisticsData { */ MaximumLength: number | undefined; + /** + *

                                                      Average value of the column.

                                                      + */ + AverageLength: number | undefined; + /** *

                                                      Number of nulls.

                                                      */ @@ -5758,14 +5927,19 @@ export enum ColumnStatisticsType { */ export interface ColumnStatisticsData { /** - *

                                                      The name of the column.

                                                      + *

                                                      Boolean Column Statistics Data.

                                                      */ - Type: ColumnStatisticsType | string | undefined; + BooleanColumnStatisticsData?: BooleanColumnStatisticsData; /** - *

                                                      String Column Statistics Data.

                                                      + *

                                                      Decimal Column Statistics Data.

                                                      */ - StringColumnStatisticsData?: StringColumnStatisticsData; + DecimalColumnStatisticsData?: DecimalColumnStatisticsData; + + /** + *

                                                      Binary Column Statistics Data.

                                                      + */ + BinaryColumnStatisticsData?: BinaryColumnStatisticsData; /** *

                                                      Double Column Statistics Data.

                                                      @@ -5778,24 +5952,19 @@ export interface ColumnStatisticsData { LongColumnStatisticsData?: LongColumnStatisticsData; /** - *

                                                      Boolean Column Statistics Data.

                                                      + *

                                                      The name of the column.

                                                      */ - BooleanColumnStatisticsData?: BooleanColumnStatisticsData; + Type: ColumnStatisticsType | string | undefined; /** - *

                                                      Decimal Column Statistics Data.

                                                      + *

                                                      String Column Statistics Data.

                                                      */ - DecimalColumnStatisticsData?: DecimalColumnStatisticsData; + StringColumnStatisticsData?: StringColumnStatisticsData; /** *

                                                      Date Column Statistics Data.

                                                      */ DateColumnStatisticsData?: DateColumnStatisticsData; - - /** - *

                                                      Binary Column Statistics Data.

                                                      - */ - BinaryColumnStatisticsData?: BinaryColumnStatisticsData; } export namespace ColumnStatisticsData { @@ -5809,9 +5978,9 @@ export namespace ColumnStatisticsData { */ export interface ColumnStatistics { /** - *

                                                      The analyzed time of the column statistics.

                                                      + *

                                                      The name of the column.

                                                      */ - AnalyzedTime: Date | undefined; + ColumnName: string | undefined; /** *

                                                      The statistics of the column.

                                                      @@ -5819,14 +5988,14 @@ export interface ColumnStatistics { StatisticsData: ColumnStatisticsData | undefined; /** - *

                                                      The type of the column.

                                                      + *

                                                      The analyzed time of the column statistics.

                                                      */ - ColumnType: string | undefined; + AnalyzedTime: Date | undefined; /** - *

                                                      The name of the column.

                                                      + *

                                                      The type of the column.

                                                      */ - ColumnName: string | undefined; + ColumnType: string | undefined; } export namespace ColumnStatistics { @@ -5840,14 +6009,14 @@ export namespace ColumnStatistics { */ export interface ColumnError { /** - *

                                                      The error message occurred during operation.

                                                      + *

                                                      The name of the column.

                                                      */ - Error?: ErrorDetail; + ColumnName?: string; /** - *

                                                      The name of the column.

                                                      + *

                                                      The error message occurred during operation.

                                                      */ - ColumnName?: string; + Error?: ErrorDetail; } export namespace ColumnError { @@ -5858,14 +6027,14 @@ export namespace ColumnError { export interface GetColumnStatisticsForPartitionResponse { /** - *

                                                      List of ColumnStatistics that failed to be retrieved.

                                                      + *

                                                      Error occurred during retrieving column statistics data.

                                                      */ - ColumnStatisticsList?: ColumnStatistics[]; + Errors?: ColumnError[]; /** - *

                                                      Error occurred during retrieving column statistics data.

                                                      + *

                                                      List of ColumnStatistics that failed to be retrieved.

                                                      */ - Errors?: ColumnError[]; + ColumnStatisticsList?: ColumnStatistics[]; } export namespace GetColumnStatisticsForPartitionResponse { @@ -5876,9 +6045,10 @@ export namespace GetColumnStatisticsForPartitionResponse { export interface GetColumnStatisticsForTableRequest { /** - *

                                                      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; /** *

                                                      The name of the catalog database where the partitions reside.

                                                      @@ -5886,15 +6056,14 @@ export interface GetColumnStatisticsForTableRequest { DatabaseName: string | undefined; /** - *

                                                      A list of the column names.

                                                      + *

                                                      The name of the partitions' table.

                                                      */ - ColumnNames: string[] | undefined; + 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.

                                                      + *

                                                      A list of the column names.

                                                      */ - CatalogId?: string; + ColumnNames: string[] | undefined; } export namespace GetColumnStatisticsForTableRequest { @@ -5922,17 +6091,17 @@ export namespace GetColumnStatisticsForTableResponse { } export interface GetConnectionRequest { - /** - *

                                                      The name of the connection definition to retrieve.

                                                      - */ - 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.

                                                      */ CatalogId?: string; + /** + *

                                                      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 @@ -5954,9 +6123,9 @@ export namespace GetConnectionRequest { */ export interface Connection { /** - *

                                                      The name of the connection definition.

                                                      + *

                                                      The user, group, or role that last updated this connection definition.

                                                      */ - Name?: string; + LastUpdatedBy?: string; /** *

                                                      A map of physical connection requirements, such as virtual private cloud (VPC) and @@ -5964,6 +6133,31 @@ export interface Connection { */ PhysicalConnectionRequirements?: PhysicalConnectionRequirements; + /** + *

                                                      The type of the connection. Currently, SFTP is not supported.

                                                      + */ + ConnectionType?: ConnectionType | string; + + /** + *

                                                      A list of criteria that can be used in selecting this connection.

                                                      + */ + MatchCriteria?: string[]; + + /** + *

                                                      The time that this connection definition was created.

                                                      + */ + CreationTime?: Date; + + /** + *

                                                      The last time that this connection definition was updated.

                                                      + */ + LastUpdatedTime?: Date; + + /** + *

                                                      The name of the connection definition.

                                                      + */ + Name?: string; + /** *

                                                      These key-value pairs define parameters for the connection:

                                                      *
                                                        @@ -6064,35 +6258,10 @@ export interface Connection { */ ConnectionProperties?: { [key: string]: string }; - /** - *

                                                        The type of the connection. Currently, SFTP is not supported.

                                                        - */ - ConnectionType?: ConnectionType | string; - - /** - *

                                                        A list of criteria that can be used in selecting this connection.

                                                        - */ - MatchCriteria?: string[]; - /** *

                                                        The description of the connection.

                                                        */ Description?: string; - - /** - *

                                                        The user, group, or role that last updated this connection definition.

                                                        - */ - LastUpdatedBy?: string; - - /** - *

                                                        The time that this connection definition was created.

                                                        - */ - CreationTime?: Date; - - /** - *

                                                        The last time that this connection definition was updated.

                                                        - */ - LastUpdatedTime?: Date; } export namespace Connection { @@ -6119,16 +6288,16 @@ export namespace GetConnectionResponse { * API operation.

                                                        */ export interface GetConnectionsFilter { - /** - *

                                                        The type of connections to return. Currently, SFTP is not supported.

                                                        - */ - ConnectionType?: ConnectionType | string; - /** *

                                                        A criteria string that must match the criteria recorded in the * connection definition for that connection definition to be returned.

                                                        */ MatchCriteria?: string[]; + + /** + *

                                                        The type of connections to return. Currently, SFTP is not supported.

                                                        + */ + ConnectionType?: ConnectionType | string; } export namespace GetConnectionsFilter { @@ -6138,6 +6307,12 @@ export namespace GetConnectionsFilter { } 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; + /** *

                                                        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 @@ -6148,9 +6323,9 @@ export interface GetConnectionsRequest { HidePassword?: boolean; /** - *

                                                        A continuation token, if this is a continuation call.

                                                        + *

                                                        A filter that controls which connections are returned.

                                                        */ - NextToken?: string; + Filter?: GetConnectionsFilter; /** *

                                                        The maximum number of connections to return in one response.

                                                        @@ -6158,15 +6333,9 @@ export interface GetConnectionsRequest { MaxResults?: number; /** - *

                                                        A filter that controls which connections are returned.

                                                        - */ - Filter?: GetConnectionsFilter; - - /** - *

                                                        The ID of the Data Catalog in which the connections reside. 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 GetConnectionsRequest { @@ -6177,15 +6346,15 @@ export namespace GetConnectionsRequest { export interface GetConnectionsResponse { /** - *

                                                        A continuation token, if the list of connections returned does not - * include the last of the filtered connections.

                                                        + *

                                                        A list of requested connection definitions.

                                                        */ - NextToken?: string; + ConnectionList?: Connection[]; /** - *

                                                        A list of requested connection definitions.

                                                        + *

                                                        A continuation token, if the list of connections returned does not + * include the last of the filtered connections.

                                                        */ - ConnectionList?: Connection[]; + NextToken?: string; } export namespace GetConnectionsResponse { @@ -6221,11 +6390,6 @@ export namespace GetCrawlerResponse { } export interface GetCrawlerMetricsRequest { - /** - *

                                                        A list of the names of crawlers about which to retrieve metrics.

                                                        - */ - CrawlerNameList?: string[]; - /** *

                                                        The maximum size of a list to return.

                                                        */ @@ -6235,6 +6399,11 @@ export interface GetCrawlerMetricsRequest { *

                                                        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 { @@ -6248,44 +6417,44 @@ export namespace GetCrawlerMetricsRequest { */ export interface CrawlerMetrics { /** - *

                                                        The duration of the crawler's most recent run, in seconds.

                                                        + *

                                                        The estimated time left to complete a running crawl.

                                                        */ - LastRuntimeSeconds?: number; + TimeLeftSeconds?: number; /** - *

                                                        True if the crawler is still estimating how long it will take to complete this run.

                                                        + *

                                                        The median duration of this crawler's runs, in seconds.

                                                        */ - StillEstimating?: boolean; + MedianRuntimeSeconds?: number; /** - *

                                                        The number of tables created by this crawler.

                                                        + *

                                                        The number of tables deleted by this crawler.

                                                        */ - TablesCreated?: number; + TablesDeleted?: number; /** - *

                                                        The name of the crawler.

                                                        + *

                                                        The number of tables created by this crawler.

                                                        */ - CrawlerName?: string; + TablesCreated?: number; /** - *

                                                        The median duration of this crawler's runs, in seconds.

                                                        + *

                                                        True if the crawler is still estimating how long it will take to complete this run.

                                                        */ - MedianRuntimeSeconds?: number; + StillEstimating?: boolean; /** - *

                                                        The number of tables deleted by this crawler.

                                                        + *

                                                        The duration of the crawler's most recent run, in seconds.

                                                        */ - TablesDeleted?: number; + LastRuntimeSeconds?: number; /** - *

                                                        The estimated time left to complete a running crawl.

                                                        + *

                                                        The number of tables updated by this crawler.

                                                        */ - TimeLeftSeconds?: number; + TablesUpdated?: number; /** - *

                                                        The number of tables updated by this crawler.

                                                        + *

                                                        The name of the crawler.

                                                        */ - TablesUpdated?: number; + CrawlerName?: string; } export namespace CrawlerMetrics { @@ -6315,14 +6484,14 @@ export namespace GetCrawlerMetricsResponse { export interface GetCrawlersRequest { /** - *

                                                        The number of crawlers to return on each call.

                                                        + *

                                                        A continuation token, if this is a continuation request.

                                                        */ - MaxResults?: number; + NextToken?: string; /** - *

                                                        A continuation token, if this is a continuation request.

                                                        + *

                                                        The number of crawlers to return on each call.

                                                        */ - NextToken?: string; + MaxResults?: number; } export namespace GetCrawlersRequest { @@ -6351,17 +6520,17 @@ export namespace GetCrawlersResponse { } export interface GetDatabaseRequest { - /** - *

                                                        The name of the database to retrieve. For Hive compatibility, this - * should be all lowercase.

                                                        - */ - Name: string | undefined; - /** *

                                                        The ID of the Data Catalog in which the database resides. If none is provided, the AWS * account ID is used by default.

                                                        */ CatalogId?: string; + + /** + *

                                                        The name of the database to retrieve. For Hive compatibility, this + * should be all lowercase.

                                                        + */ + Name: string | undefined; } export namespace GetDatabaseRequest { @@ -6376,20 +6545,20 @@ export namespace GetDatabaseRequest { */ export interface Database { /** - *

                                                        The name of the database. For Hive compatibility, this is folded to lowercase when it is - * stored.

                                                        + *

                                                        The location of the database (for example, an HDFS path).

                                                        */ - Name: string | undefined; + LocationUri?: string; /** - *

                                                        The ID of the Data Catalog in which the database resides.

                                                        + *

                                                        A DatabaseIdentifier structure that describes a target database for resource linking.

                                                        */ - CatalogId?: string; + TargetDatabase?: DatabaseIdentifier; /** - *

                                                        The location of the database (for example, an HDFS path).

                                                        + *

                                                        These key-value pairs define parameters and properties + * of the database.

                                                        */ - LocationUri?: string; + Parameters?: { [key: string]: string }; /** *

                                                        The time at which the metadata database was created in the catalog.

                                                        @@ -6397,15 +6566,14 @@ export interface Database { CreateTime?: Date; /** - *

                                                        A description of the database.

                                                        + *

                                                        The ID of the Data Catalog in which the database resides.

                                                        */ - Description?: string; + CatalogId?: string; /** - *

                                                        These key-value pairs define parameters and properties - * of the database.

                                                        + *

                                                        A description of the database.

                                                        */ - Parameters?: { [key: string]: string }; + Description?: string; /** *

                                                        Creates a set of default permissions on the table for principals.

                                                        @@ -6413,9 +6581,10 @@ export interface Database { CreateTableDefaultPermissions?: PrincipalPermissions[]; /** - *

                                                        A DatabaseIdentifier structure that describes a target database for resource linking.

                                                        + *

                                                        The name of the database. For Hive compatibility, this is folded to lowercase when it is + * stored.

                                                        */ - TargetDatabase?: DatabaseIdentifier; + Name: string | undefined; } export namespace Database { @@ -6443,11 +6612,6 @@ export enum ResourceShareType { } export interface GetDatabasesRequest { - /** - *

                                                        A continuation token, if this is a continuation call.

                                                        - */ - NextToken?: string; - /** *

                                                        Allows you to specify that you want to list the databases shared with your account. The allowable values are FOREIGN or ALL.

                                                        * @@ -6462,6 +6626,11 @@ export interface GetDatabasesRequest { */ ResourceShareType?: ResourceShareType | string; + /** + *

                                                        A continuation token, if this is a continuation call.

                                                        + */ + NextToken?: string; + /** *

                                                        The maximum number of databases to return in one response.

                                                        */ @@ -6481,16 +6650,16 @@ export namespace GetDatabasesRequest { } export interface GetDatabasesResponse { - /** - *

                                                        A list of Database objects from the specified catalog.

                                                        - */ - DatabaseList: Database[] | undefined; - /** *

                                                        A continuation token for paginating the returned list of tokens, * returned if the current segment of the list is not the last.

                                                        */ NextToken?: string; + + /** + *

                                                        A list of Database objects from the specified catalog.

                                                        + */ + DatabaseList: Database[] | undefined; } export namespace GetDatabasesResponse { @@ -6561,14 +6730,14 @@ export enum CatalogEncryptionMode { */ export interface EncryptionAtRest { /** - *

                                                        The ID of the AWS KMS key to use for encryption at rest.

                                                        + *

                                                        The encryption-at-rest mode for encrypting Data Catalog data.

                                                        */ - SseAwsKmsKeyId?: string; + CatalogEncryptionMode: CatalogEncryptionMode | string | undefined; /** - *

                                                        The encryption-at-rest mode for encrypting Data Catalog data.

                                                        + *

                                                        The ID of the AWS KMS key to use for encryption at rest.

                                                        */ - CatalogEncryptionMode: CatalogEncryptionMode | string | undefined; + SseAwsKmsKeyId?: string; } export namespace EncryptionAtRest { @@ -6581,11 +6750,6 @@ export namespace EncryptionAtRest { *

                                                        Contains configuration information for maintaining Data Catalog security.

                                                        */ export interface DataCatalogEncryptionSettings { - /** - *

                                                        Specifies the encryption-at-rest configuration for the Data Catalog.

                                                        - */ - EncryptionAtRest?: EncryptionAtRest; - /** *

                                                        When connection password protection is enabled, the Data Catalog uses a customer-provided * key to encrypt the password as part of CreateConnection or @@ -6594,6 +6758,11 @@ export interface DataCatalogEncryptionSettings { * encryption.

                                                        */ ConnectionPasswordEncryption?: ConnectionPasswordEncryption; + + /** + *

                                                        Specifies the encryption-at-rest configuration for the Data Catalog.

                                                        + */ + EncryptionAtRest?: EncryptionAtRest; } export namespace DataCatalogEncryptionSettings { @@ -6758,14 +6927,14 @@ export namespace GetJobBookmarkRequest { */ export interface JobBookmarkEntry { /** - *

                                                        The bookmark itself.

                                                        + *

                                                        The unique run identifier associated with the previous job run.

                                                        */ - JobBookmark?: string; + PreviousRunId?: string; /** - *

                                                        The run ID number.

                                                        + *

                                                        The name of the job in question.

                                                        */ - Run?: number; + JobName?: string; /** *

                                                        The run ID number.

                                                        @@ -6773,24 +6942,24 @@ export interface JobBookmarkEntry { RunId?: string; /** - *

                                                        The name of the job in question.

                                                        + *

                                                        The bookmark itself.

                                                        */ - JobName?: string; + JobBookmark?: string; /** - *

                                                        The version of the job.

                                                        + *

                                                        The run ID number.

                                                        */ - Version?: number; + Run?: number; /** - *

                                                        The unique run identifier associated with the previous job run.

                                                        + *

                                                        The attempt ID number.

                                                        */ - PreviousRunId?: string; + Attempt?: number; /** - *

                                                        The attempt ID number.

                                                        + *

                                                        The version of the job.

                                                        */ - Attempt?: number; + Version?: number; } export namespace JobBookmarkEntry { @@ -6819,14 +6988,14 @@ export interface GetJobRunRequest { RunId: string | undefined; /** - *

                                                        Name of the job definition being run.

                                                        + *

                                                        True if a list of predecessor runs should be returned.

                                                        */ - JobName: string | undefined; + PredecessorsIncluded?: boolean; /** - *

                                                        True if a list of predecessor runs should be returned.

                                                        + *

                                                        Name of the job definition being run.

                                                        */ - PredecessorsIncluded?: boolean; + JobName: string | undefined; } export namespace GetJobRunRequest { @@ -6850,14 +7019,14 @@ export namespace GetJobRunResponse { export interface GetJobRunsRequest { /** - *

                                                        The name of the job definition for which to retrieve all job runs.

                                                        + *

                                                        The maximum size of the response.

                                                        */ - JobName: string | undefined; + MaxResults?: number; /** - *

                                                        The maximum size of the response.

                                                        + *

                                                        The name of the job definition for which to retrieve all job runs.

                                                        */ - MaxResults?: number; + JobName: string | undefined; /** *

                                                        A continuation token, if this is a continuation call.

                                                        @@ -6891,14 +7060,14 @@ export namespace GetJobRunsResponse { export interface GetJobsRequest { /** - *

                                                        A continuation token, if this is a continuation call.

                                                        + *

                                                        The maximum size of the response.

                                                        */ - NextToken?: string; + MaxResults?: number; /** - *

                                                        The maximum size of the response.

                                                        + *

                                                        A continuation token, if this is a continuation call.

                                                        */ - MaxResults?: number; + NextToken?: string; } export namespace GetJobsRequest { @@ -6909,14 +7078,14 @@ export namespace GetJobsRequest { export interface GetJobsResponse { /** - *

                                                        A list of job definitions.

                                                        + *

                                                        A continuation token, if not all job definitions have yet been returned.

                                                        */ - Jobs?: Job[]; + NextToken?: string; /** - *

                                                        A continuation token, if not all job definitions have yet been returned.

                                                        + *

                                                        A list of job definitions.

                                                        */ - NextToken?: string; + Jobs?: Job[]; } export namespace GetJobsResponse { @@ -6935,14 +7104,14 @@ export interface Location { S3?: CodeGenNodeArg[]; /** - *

                                                        An Amazon DynamoDB table location.

                                                        + *

                                                        A JDBC location.

                                                        */ - DynamoDB?: CodeGenNodeArg[]; + Jdbc?: CodeGenNodeArg[]; /** - *

                                                        A JDBC location.

                                                        + *

                                                        An Amazon DynamoDB table location.

                                                        */ - Jdbc?: CodeGenNodeArg[]; + DynamoDB?: CodeGenNodeArg[]; } export namespace Location { @@ -6974,9 +7143,9 @@ export namespace CatalogEntry { export interface GetMappingRequest { /** - *

                                                        A list of target tables.

                                                        + *

                                                        Parameters for the mapping.

                                                        */ - Sinks?: CatalogEntry[]; + Location?: Location; /** *

                                                        Specifies the source table.

                                                        @@ -6984,9 +7153,9 @@ export interface GetMappingRequest { Source: CatalogEntry | undefined; /** - *

                                                        Parameters for the mapping.

                                                        + *

                                                        A list of target tables.

                                                        */ - Location?: Location; + Sinks?: CatalogEntry[]; } export namespace GetMappingRequest { @@ -6999,6 +7168,16 @@ export namespace GetMappingRequest { *

                                                        Defines a mapping.

                                                        */ export interface MappingEntry { + /** + *

                                                        The source type.

                                                        + */ + SourceType?: string; + + /** + *

                                                        The source path.

                                                        + */ + SourcePath?: string; + /** *

                                                        The name of the source table.

                                                        */ @@ -7014,20 +7193,10 @@ export interface MappingEntry { */ TargetTable?: string; - /** - *

                                                        The source path.

                                                        - */ - SourcePath?: string; - /** *

                                                        The target path.

                                                        */ TargetPath?: string; - - /** - *

                                                        The source type.

                                                        - */ - SourceType?: string; } export namespace MappingEntry { @@ -7088,11 +7257,6 @@ export namespace ExportLabelsTaskRunProperties { *

                                                        Specifies configuration properties for a Find Matches task run.

                                                        */ export interface FindMatchesTaskRunProperties { - /** - *

                                                        The job ID for the Find Matches task run.

                                                        - */ - JobId?: string; - /** *

                                                        The job run ID for the Find Matches task run.

                                                        */ @@ -7102,6 +7266,11 @@ export interface FindMatchesTaskRunProperties { *

                                                        The name assigned to the job for the Find Matches task run.

                                                        */ JobName?: string; + + /** + *

                                                        The job ID for the Find Matches task run.

                                                        + */ + JobId?: string; } export namespace FindMatchesTaskRunProperties { @@ -7115,15 +7284,15 @@ export namespace FindMatchesTaskRunProperties { */ export interface ImportLabelsTaskRunProperties { /** - *

                                                        The Amazon Simple Storage Service (Amazon S3) path from where you will import the - * labels.

                                                        + *

                                                        Indicates whether to overwrite your existing labels.

                                                        */ - InputS3Path?: string; + Replace?: boolean; /** - *

                                                        Indicates whether to overwrite your existing labels.

                                                        + *

                                                        The Amazon Simple Storage Service (Amazon S3) path from where you will import the + * labels.

                                                        */ - Replace?: boolean; + InputS3Path?: string; } export namespace ImportLabelsTaskRunProperties { @@ -7162,9 +7331,14 @@ export enum TaskType { */ export interface TaskRunProperties { /** - *

                                                        The type of task run.

                                                        + *

                                                        The configuration properties for a find matches task run.

                                                        */ - TaskType?: TaskType | string; + FindMatchesTaskRunProperties?: FindMatchesTaskRunProperties; + + /** + *

                                                        The configuration properties for an exporting labels task run.

                                                        + */ + ExportLabelsTaskRunProperties?: ExportLabelsTaskRunProperties; /** *

                                                        The configuration properties for a labeling set generation task run.

                                                        @@ -7177,14 +7351,9 @@ export interface TaskRunProperties { ImportLabelsTaskRunProperties?: ImportLabelsTaskRunProperties; /** - *

                                                        The configuration properties for a find matches task run.

                                                        - */ - FindMatchesTaskRunProperties?: FindMatchesTaskRunProperties; - - /** - *

                                                        The configuration properties for an exporting labels task run.

                                                        + *

                                                        The type of task run.

                                                        */ - ExportLabelsTaskRunProperties?: ExportLabelsTaskRunProperties; + TaskType?: TaskType | string; } export namespace TaskRunProperties { @@ -7195,19 +7364,14 @@ export namespace TaskRunProperties { export interface GetMLTaskRunResponse { /** - *

                                                        The amount of time (in seconds) that the task run consumed resources.

                                                        - */ - ExecutionTime?: number; - - /** - *

                                                        The status for this task run.

                                                        + *

                                                        The unique identifier of the task run.

                                                        */ - Status?: TaskStatusType | string; + TransformId?: string; /** - *

                                                        The list of properties that are associated with the task run.

                                                        + *

                                                        The date and time when this task run was last modified.

                                                        */ - Properties?: TaskRunProperties; + LastModifiedOn?: Date; /** *

                                                        The unique run identifier associated with this run.

                                                        @@ -7215,34 +7379,39 @@ export interface GetMLTaskRunResponse { TaskRunId?: string; /** - *

                                                        The date and time when this task run was last modified.

                                                        + *

                                                        The names of the log groups that are associated with the task run.

                                                        */ - LastModifiedOn?: Date; + LogGroupName?: string; /** - *

                                                        The names of the log groups that are associated with the task run.

                                                        + *

                                                        The status for this task run.

                                                        */ - LogGroupName?: string; + Status?: TaskStatusType | string; /** - *

                                                        The date and time when this task run was completed.

                                                        + *

                                                        The error strings that are associated with the task run.

                                                        */ - CompletedOn?: Date; + ErrorString?: string; /** - *

                                                        The unique identifier of the task run.

                                                        + *

                                                        The list of properties that are associated with the task run.

                                                        */ - TransformId?: string; + Properties?: TaskRunProperties; /** - *

                                                        The error strings that are associated with the task run.

                                                        + *

                                                        The date and time when this task run started.

                                                        */ - ErrorString?: string; + StartedOn?: Date; /** - *

                                                        The date and time when this task run started.

                                                        + *

                                                        The amount of time (in seconds) that the task run consumed resources.

                                                        */ - StartedOn?: Date; + ExecutionTime?: number; + + /** + *

                                                        The date and time when this task run was completed.

                                                        + */ + CompletedOn?: Date; } export namespace GetMLTaskRunResponse { @@ -7257,24 +7426,24 @@ export namespace GetMLTaskRunResponse { */ export interface TaskRunFilterCriteria { /** - *

                                                        Filter on task runs started before this date.

                                                        + *

                                                        Filter on task runs started after this date.

                                                        */ - StartedBefore?: Date; + StartedAfter?: Date; /** - *

                                                        Filter on task runs started after this date.

                                                        + *

                                                        The current status of the task run.

                                                        */ - StartedAfter?: Date; + Status?: TaskStatusType | string; /** - *

                                                        The type of task run.

                                                        + *

                                                        Filter on task runs started before this date.

                                                        */ - TaskRunType?: TaskType | string; + StartedBefore?: Date; /** - *

                                                        The current status of the task run.

                                                        + *

                                                        The type of task run.

                                                        */ - Status?: TaskStatusType | string; + TaskRunType?: TaskType | string; } export namespace TaskRunFilterCriteria { @@ -7320,9 +7489,9 @@ export namespace TaskRunSortCriteria { export interface GetMLTaskRunsRequest { /** - *

                                                        The sorting criteria, in the TaskRunSortCriteria structure, for the task run.

                                                        + *

                                                        The maximum number of results to return.

                                                        */ - Sort?: TaskRunSortCriteria; + MaxResults?: number; /** *

                                                        A token for pagination of the results. The default is empty.

                                                        @@ -7330,9 +7499,9 @@ export interface GetMLTaskRunsRequest { NextToken?: string; /** - *

                                                        The maximum number of results to return.

                                                        + *

                                                        The sorting criteria, in the TaskRunSortCriteria structure, for the task run.

                                                        */ - MaxResults?: number; + Sort?: TaskRunSortCriteria; /** *

                                                        The filter criteria, in the TaskRunFilterCriteria structure, for the task run.

                                                        @@ -7356,9 +7525,9 @@ export namespace GetMLTaskRunsRequest { */ export interface TaskRun { /** - *

                                                        The date and time that this task run started.

                                                        + *

                                                        The unique identifier for the transform.

                                                        */ - StartedOn?: Date; + TransformId?: string; /** *

                                                        The amount of time (in seconds) that the task run consumed resources.

                                                        @@ -7366,19 +7535,19 @@ export interface TaskRun { ExecutionTime?: number; /** - *

                                                        The current status of the requested task run.

                                                        + *

                                                        Specifies configuration properties associated with this task run.

                                                        */ - Status?: TaskStatusType | string; + Properties?: TaskRunProperties; /** - *

                                                        Specifies configuration properties associated with this task run.

                                                        + *

                                                        The list of error strings associated with this task run.

                                                        */ - Properties?: TaskRunProperties; + ErrorString?: string; /** - *

                                                        The unique identifier for the transform.

                                                        + *

                                                        The date and time that this task run started.

                                                        */ - TransformId?: string; + StartedOn?: Date; /** *

                                                        The last point in time that the requested task run was completed.

                                                        @@ -7386,14 +7555,14 @@ export interface TaskRun { CompletedOn?: Date; /** - *

                                                        The list of error strings associated with this task run.

                                                        + *

                                                        The current status of the requested task run.

                                                        */ - ErrorString?: string; + Status?: TaskStatusType | string; /** - *

                                                        The names of the log group for secure logging, associated with this task run.

                                                        + *

                                                        The last point in time that the requested task run was updated.

                                                        */ - LogGroupName?: string; + LastModifiedOn?: Date; /** *

                                                        The unique identifier for this task run.

                                                        @@ -7401,9 +7570,9 @@ export interface TaskRun { TaskRunId?: string; /** - *

                                                        The last point in time that the requested task run was updated.

                                                        + *

                                                        The names of the log group for secure logging, associated with this task run.

                                                        */ - LastModifiedOn?: Date; + LogGroupName?: string; } export namespace TaskRun { @@ -7414,14 +7583,14 @@ export namespace TaskRun { export interface GetMLTaskRunsResponse { /** - *

                                                        A pagination token, if more results are available.

                                                        + *

                                                        A list of task runs that are associated with the transform.

                                                        */ - NextToken?: string; + TaskRuns?: TaskRun[]; /** - *

                                                        A list of task runs that are associated with the transform.

                                                        + *

                                                        A pagination token, if more results are available.

                                                        */ - TaskRuns?: TaskRun[]; + NextToken?: string; } export namespace GetMLTaskRunsResponse { @@ -7451,9 +7620,10 @@ export namespace GetMLTransformRequest { */ export interface ConfusionMatrix { /** - *

                                                        The number of matches in the data that the transform correctly found, in the confusion matrix for your transform.

                                                        + *

                                                        The number of nonmatches in the data that the transform correctly rejected, in the + * confusion matrix for your transform.

                                                        */ - NumTruePositives?: number; + NumTrueNegatives?: number; /** *

                                                        The number of nonmatches in the data that the transform incorrectly classified as a match, @@ -7462,15 +7632,14 @@ export interface ConfusionMatrix { NumFalsePositives?: number; /** - *

                                                        The number of matches in the data that the transform didn't find, in the confusion matrix for your transform.

                                                        + *

                                                        The number of matches in the data that the transform correctly found, in the confusion matrix for your transform.

                                                        */ - NumFalseNegatives?: number; + NumTruePositives?: number; /** - *

                                                        The number of nonmatches in the data that the transform correctly rejected, in the - * confusion matrix for your transform.

                                                        + *

                                                        The number of matches in the data that the transform didn't find, in the confusion matrix for your transform.

                                                        */ - NumTrueNegatives?: number; + NumFalseNegatives?: number; } export namespace ConfusionMatrix { @@ -7487,24 +7656,26 @@ export namespace ConfusionMatrix { */ export interface FindMatchesMetrics { /** - *

                                                        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 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.

                                                        */ - ConfusionMatrix?: ConfusionMatrix; + AreaUnderPRCurve?: number; /** - *

                                                        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.

                                                        + *

                                                        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.

                                                        */ - Precision?: number; + Recall?: number; /** - *

                                                        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.

                                                        + *

                                                        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.

                                                        */ - AreaUnderPRCurve?: number; + Precision?: number; /** *

                                                        The maximum F1 metric indicates the transform's accuracy between 0 and 1, where 1 is the best accuracy.

                                                        @@ -7513,12 +7684,10 @@ export interface FindMatchesMetrics { F1?: number; /** - *

                                                        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.

                                                        + *

                                                        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.

                                                        */ - Recall?: number; + ConfusionMatrix?: ConfusionMatrix; } export namespace FindMatchesMetrics { @@ -7554,14 +7723,14 @@ export namespace EvaluationMetrics { */ export interface SchemaColumn { /** - *

                                                        The name of the column.

                                                        + *

                                                        The type of data in the column.

                                                        */ - Name?: string; + DataType?: string; /** - *

                                                        The type of data in the column.

                                                        + *

                                                        The name of the column.

                                                        */ - DataType?: string; + Name?: string; } export namespace SchemaColumn { @@ -7577,26 +7746,6 @@ export enum TransformStatusType { } export interface GetMLTransformResponse { - /** - *

                                                        The unique name given to the transform when it was created.

                                                        - */ - Name?: string; - - /** - *

                                                        The date and time when the transform was last modified.

                                                        - */ - LastModifiedOn?: Date; - - /** - *

                                                        The number of labels available for this transform.

                                                        - */ - LabelCount?: number; - - /** - *

                                                        The date and time when the transform was created.

                                                        - */ - CreatedOn?: Date; - /** *

                                                        The configuration parameters that are specific to the algorithm used.

                                                        */ @@ -7613,25 +7762,9 @@ export interface GetMLTransformResponse { Status?: TransformStatusType | string; /** - *

                                                        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; - - /** - *

                                                        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 list of AWS Glue table definitions used by the transform.

                                                        */ - GlueVersion?: string; + InputRecordTables?: GlueTable[]; /** *

                                                        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 @@ -7644,31 +7777,9 @@ export interface GetMLTransformResponse { MaxCapacity?: number; /** - *

                                                        A description of the transform.

                                                        - */ - Description?: string; - - /** - *

                                                        The unique identifier of the transform, generated at the time that the transform was - * created.

                                                        - */ - TransformId?: string; - - /** - *

                                                        A list of AWS Glue table definitions used by the transform.

                                                        - */ - InputRecordTables?: GlueTable[]; - - /** - *

                                                        The number of workers of a defined workerType that are allocated when this task runs.

                                                        - */ - NumberOfWorkers?: number; - - /** - *

                                                        The name or Amazon Resource Name (ARN) of the IAM role with the required - * permissions.

                                                        + *

                                                        The latest evaluation metrics.

                                                        */ - Role?: string; + EvaluationMetrics?: EvaluationMetrics; /** *

                                                        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).

                                                        @@ -7682,156 +7793,20 @@ export interface GetMLTransformResponse { Schema?: SchemaColumn[]; /** - *

                                                        The latest evaluation metrics.

                                                        - */ - EvaluationMetrics?: EvaluationMetrics; -} - -export namespace GetMLTransformResponse { - export const filterSensitiveLog = (obj: GetMLTransformResponse): any => ({ - ...obj, - }); -} - -/** - *

                                                        The criteria used to filter the machine learning transforms.

                                                        - */ -export interface TransformFilterCriteria { - /** - *

                                                        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[]; - - /** - *

                                                        A unique transform name that is used to filter the machine learning transforms.

                                                        + *

                                                        The unique name given to the transform when it was created.

                                                        */ Name?: string; /** - *

                                                        The type of machine learning transform that is used to filter the machine learning - * transforms.

                                                        - */ - TransformType?: TransformType | string; - - /** - *

                                                        Filter on transforms last modified before this date.

                                                        - */ - LastModifiedBefore?: Date; - - /** - *

                                                        The time and date after which the transforms were created.

                                                        - */ - CreatedAfter?: Date; - - /** - *

                                                        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 time and date before which the transforms were created.

                                                        - */ - CreatedBefore?: Date; - - /** - *

                                                        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".

                                                        - */ - Status?: TransformStatusType | string; - - /** - *

                                                        Filter on transforms last modified after this date.

                                                        - */ - LastModifiedAfter?: Date; -} - -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", -} - -/** - *

                                                        The sorting criteria that are associated with the machine learning transform.

                                                        - */ -export interface TransformSortCriteria { - /** - *

                                                        The column to be used in the sorting criteria that are associated with the machine - * learning transform.

                                                        - */ - Column: TransformSortColumnType | string | undefined; - - /** - *

                                                        The sort direction to be used in the sorting criteria that are associated with the machine - * learning transform.

                                                        - */ - SortDirection: SortDirectionType | string | undefined; -} - -export namespace TransformSortCriteria { - export const filterSensitiveLog = (obj: TransformSortCriteria): any => ({ - ...obj, - }); -} - -export interface GetMLTransformsRequest { - /** - *

                                                        The maximum number of results to return.

                                                        - */ - MaxResults?: number; - - /** - *

                                                        The filter transformation criteria.

                                                        - */ - Filter?: TransformFilterCriteria; - - /** - *

                                                        A paginated token to offset the results.

                                                        - */ - NextToken?: string; - - /** - *

                                                        The sorting criteria.

                                                        - */ - Sort?: TransformSortCriteria; -} - -export namespace GetMLTransformsRequest { - export const filterSensitiveLog = (obj: GetMLTransformsRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                        A structure for a machine learning transform.

                                                        - */ -export interface MLTransform { - /** - *

                                                        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 labels available for this transform.

                                                        */ LabelCount?: number; /** - *

                                                        A timestamp. The last point in time when this machine learning transform was modified.

                                                        - */ - LastModifiedOn?: Date; - - /** - *

                                                        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 name or Amazon Resource Name (ARN) of the IAM role with the required + * permissions.

                                                        */ - Parameters?: TransformParameters; + 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.

                                                        @@ -7839,111 +7814,18 @@ export interface MLTransform { GlueVersion?: string; /** - *

                                                        A user-defined name for the machine learning transform. Names are not guaranteed unique - * and can be changed at any time.

                                                        - */ - Name?: string; - - /** - *

                                                        An EvaluationMetrics object. Evaluation metrics provide an estimate of the quality of your machine learning transform.

                                                        - */ - EvaluationMetrics?: EvaluationMetrics; - - /** - *

                                                        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[]; - - /** - *

                                                        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 timeout in minutes of the machine learning transform.

                                                        - */ - Timeout?: number; - - /** - *

                                                        A list of AWS Glue table definitions used by the transform.

                                                        - */ - InputRecordTables?: GlueTable[]; - - /** - *

                                                        The maximum number of times to retry after an MLTaskRun of the machine - * learning transform fails.

                                                        - */ - MaxRetries?: number; - - /** - *

                                                        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).

                                                        - */ - NumberOfWorkers?: number; - - /** - *

                                                        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.

                                                          - *
                                                        • - *
                                                        - */ - Role?: string; - - /** - *

                                                        The current status of the machine learning transform.

                                                        - */ - Status?: TransformStatusType | string; - - /** - *

                                                        The unique transform ID that is generated for the machine learning transform. The ID is - * guaranteed to be unique and does not change.

                                                        + *

                                                        The unique identifier of the transform, generated at the time that the transform was + * created.

                                                        */ TransformId?: string; /** - *

                                                        A timestamp. The time and date that this machine learning transform was created.

                                                        + *

                                                        The date and time when the transform was created.

                                                        */ CreatedOn?: Date; /** - *

                                                        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; - - /** - *

                                                        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.

                                                        + *

                                                        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.

                                                          @@ -7955,48 +7837,27 @@ export interface MLTransform { *

                                                          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 MLTransform { - export const filterSensitiveLog = (obj: MLTransform): any => ({ - ...obj, - }); -} + /** + *

                                                        The date and time when the transform was last modified.

                                                        + */ + LastModifiedOn?: Date; -export interface GetMLTransformsResponse { /** - *

                                                        A list of machine learning transforms.

                                                        + *

                                                        The number of workers of a defined workerType that are allocated when this task runs.

                                                        */ - Transforms: MLTransform[] | undefined; + NumberOfWorkers?: number; /** - *

                                                        A pagination token, if more results are available.

                                                        + *

                                                        A description of the transform.

                                                        */ - NextToken?: string; + Description?: string; } -export namespace GetMLTransformsResponse { - export const filterSensitiveLog = (obj: GetMLTransformsResponse): any => ({ +export namespace GetMLTransformResponse { + export const filterSensitiveLog = (obj: GetMLTransformResponse): any => ({ ...obj, }); } diff --git a/clients/client-glue/models/models_1.ts b/clients/client-glue/models/models_1.ts index 7140a6270b41..ef2188d917ef 100644 --- a/clients/client-glue/models/models_1.ts +++ b/clients/client-glue/models/models_1.ts @@ -11,7 +11,9 @@ import { DatabaseInput, EncryptionConfiguration, ErrorDetail, + EvaluationMetrics, ExecutionProperty, + GlueTable, JobBookmarkEntry, JobCommand, Language, @@ -25,12 +27,14 @@ import { ResourceShareType, ResourceUri, SchemaChangePolicy, + SchemaColumn, + SortDirectionType, StorageDescriptor, TableIdentifier, TableInput, - TransformFilterCriteria, TransformParameters, - TransformSortCriteria, + TransformStatusType, + TransformType, Trigger, UserDefinedFunctionInput, WorkerType, @@ -40,27 +44,335 @@ import { import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; -export interface GetPartitionRequest { +/** + *

                                                        The criteria used to filter the machine learning transforms.

                                                        + */ +export interface TransformFilterCriteria { /** - *

                                                        The values that define the partition.

                                                        + *

                                                        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.

                                                        */ - PartitionValues: string[] | undefined; + GlueVersion?: string; /** - *

                                                        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 time and date after which the transforms were created.

                                                        */ - CatalogId?: string; + CreatedAfter?: Date; /** - *

                                                        The name of the catalog database where the partition resides.

                                                        + *

                                                        The type of machine learning transform that is used to filter the machine learning + * transforms.

                                                        */ - DatabaseName: string | undefined; + TransformType?: TransformType | string; + + /** + *

                                                        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[]; + + /** + *

                                                        The time and date before which the transforms were created.

                                                        + */ + CreatedBefore?: Date; + + /** + *

                                                        Filter on transforms last modified before this date.

                                                        + */ + LastModifiedBefore?: Date; + + /** + *

                                                        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".

                                                        + */ + Status?: TransformStatusType | string; + + /** + *

                                                        Filter on transforms last modified after this date.

                                                        + */ + LastModifiedAfter?: Date; + + /** + *

                                                        A unique transform name that is used to filter the machine learning transforms.

                                                        + */ + Name?: string; +} + +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", +} + +/** + *

                                                        The sorting criteria that are associated with the machine learning transform.

                                                        + */ +export interface TransformSortCriteria { + /** + *

                                                        The sort direction to be used in the sorting criteria that are associated with the machine + * learning transform.

                                                        + */ + SortDirection: SortDirectionType | string | undefined; + + /** + *

                                                        The column to be used in the sorting criteria that are associated with the machine + * learning transform.

                                                        + */ + Column: TransformSortColumnType | string | undefined; +} + +export namespace TransformSortCriteria { + export const filterSensitiveLog = (obj: TransformSortCriteria): any => ({ + ...obj, + }); +} + +export interface GetMLTransformsRequest { + /** + *

                                                        The sorting criteria.

                                                        + */ + Sort?: TransformSortCriteria; + + /** + *

                                                        The filter transformation criteria.

                                                        + */ + Filter?: TransformFilterCriteria; + + /** + *

                                                        A paginated token to offset the results.

                                                        + */ + NextToken?: string; + + /** + *

                                                        The maximum number of results to return.

                                                        + */ + MaxResults?: number; +} + +export namespace GetMLTransformsRequest { + export const filterSensitiveLog = (obj: GetMLTransformsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        A structure for a machine learning transform.

                                                        + */ +export interface MLTransform { + /** + *

                                                        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; + + /** + *

                                                        A timestamp. The last point in time when this machine learning transform was modified.

                                                        + */ + LastModifiedOn?: Date; + + /** + *

                                                        The maximum number of times to retry after an MLTaskRun of the machine + * learning transform fails.

                                                        + */ + MaxRetries?: number; + + /** + *

                                                        The current status of the machine learning transform.

                                                        + */ + Status?: TransformStatusType | 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.

                                                        + */ + Schema?: SchemaColumn[]; + + /** + *

                                                        A timestamp. The time and date that this machine learning transform was created.

                                                        + */ + CreatedOn?: Date; + + /** + *

                                                        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, 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 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; + + /** + *

                                                        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.

                                                          + *
                                                        • + *
                                                        + */ + Role?: string; + + /** + *

                                                        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).

                                                        + */ + NumberOfWorkers?: number; + + /** + *

                                                        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; + + /** + *

                                                        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 in minutes of the machine learning transform.

                                                        + */ + Timeout?: number; + + /** + *

                                                        An EvaluationMetrics object. Evaluation metrics provide an estimate of the quality of your machine learning transform.

                                                        + */ + EvaluationMetrics?: EvaluationMetrics; + /** + *

                                                        A user-defined name for the machine learning transform. Names are not guaranteed unique + * and can be changed at any time.

                                                        + */ + Name?: string; + + /** + *

                                                        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; +} + +export namespace MLTransform { + export const filterSensitiveLog = (obj: MLTransform): any => ({ + ...obj, + }); +} + +export interface GetMLTransformsResponse { + /** + *

                                                        A pagination token, if more results are available.

                                                        + */ + NextToken?: string; + + /** + *

                                                        A list of machine learning transforms.

                                                        + */ + Transforms: MLTransform[] | undefined; +} + +export namespace GetMLTransformsResponse { + export const filterSensitiveLog = (obj: GetMLTransformsResponse): any => ({ + ...obj, + }); +} + +export interface GetPartitionRequest { /** *

                                                        The name of the partition's table.

                                                        */ TableName: string | undefined; + + /** + *

                                                        The name of the catalog database where the partition resides.

                                                        + */ + DatabaseName: string | undefined; + + /** + *

                                                        The values that define the partition.

                                                        + */ + PartitionValues: string[] | undefined; + + /** + *

                                                        The ID of the Data Catalog where the partition in question resides. If none is provided, + * the AWS account ID is used by default.

                                                        + */ + CatalogId?: string; } export namespace GetPartitionRequest { @@ -83,6 +395,121 @@ export namespace GetPartitionResponse { }); } +/** + *

                                                        The CreatePartitions API was called on a table that has indexes enabled.

                                                        + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + /** + *

                                                        A message describing the problem.

                                                        + */ + Message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): 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.

                                                        + */ + TableName: string | undefined; + + /** + *

                                                        Specifies the name of a database from which you want to retrieve partition indexes.

                                                        + */ + DatabaseName: string | undefined; + + /** + *

                                                        The catalog ID where the table resides.

                                                        + */ + CatalogId?: 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 type of a partition key.

                                                        + */ + Type: string | undefined; + + /** + *

                                                        The name of a partition key.

                                                        + */ + Name: 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 status of the partition index.

                                                        + */ + IndexStatus: PartitionIndexStatus | string | undefined; + + /** + *

                                                        A list of one or more keys, as KeySchemaElement structures, for the partition index.

                                                        + */ + Keys: KeySchemaElement[] | undefined; + + /** + *

                                                        The name of the partition index.

                                                        + */ + IndexName: 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.

                                                        @@ -108,10 +535,15 @@ export namespace Segment { export interface GetPartitionsRequest { /** - *

                                                        A continuation token, if this is not the first call to retrieve - * these partitions.

                                                        + *

                                                        The ID of the Data Catalog where the partitions in question reside. If none is provided, + * the AWS account ID is used by default.

                                                        */ - NextToken?: string; + CatalogId?: string; + + /** + *

                                                        The name of the partitions' table.

                                                        + */ + TableName: string | undefined; /** *

                                                        The segment of the table's partitions to scan in this request.

                                                        @@ -123,16 +555,6 @@ export interface GetPartitionsRequest { */ DatabaseName: string | undefined; - /** - *

                                                        The name of the partitions' table.

                                                        - */ - TableName: string | undefined; - - /** - *

                                                        The maximum number of partitions to return in a single response.

                                                        - */ - MaxResults?: number; - /** *

                                                        An expression that filters the partitions to be returned.

                                                        *

                                                        The expression uses SQL syntax similar to the SQL WHERE filter clause. The @@ -244,10 +666,15 @@ export interface GetPartitionsRequest { Expression?: string; /** - *

                                                        The ID of the Data Catalog where the partitions in question reside. If none is provided, - * the AWS account ID is used by default.

                                                        + *

                                                        The maximum number of partitions to return in a single response.

                                                        */ - CatalogId?: string; + MaxResults?: number; + + /** + *

                                                        A continuation token, if this is not the first call to retrieve + * these partitions.

                                                        + */ + NextToken?: string; } export namespace GetPartitionsRequest { @@ -276,6 +703,11 @@ export namespace GetPartitionsResponse { } export interface GetPlanRequest { + /** + *

                                                        The source table.

                                                        + */ + Source: CatalogEntry | undefined; + /** *

                                                        The list of mappings from a source table to target tables.

                                                        */ @@ -287,19 +719,31 @@ export interface GetPlanRequest { Language?: Language | string; /** - *

                                                        The target tables.

                                                        + *

                                                        The parameters for the mapping.

                                                        */ - Sinks?: CatalogEntry[]; + Location?: Location; /** - *

                                                        The source table.

                                                        + *

                                                        The target tables.

                                                        */ - Source: CatalogEntry | undefined; + Sinks?: CatalogEntry[]; /** - *

                                                        The parameters for the mapping.

                                                        + *

                                                        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"}' + *

                                                          + *
                                                        • + *
                                                        */ - Location?: Location; + AdditionalPlanOptionsMap?: { [key: string]: string }; } export namespace GetPlanRequest { @@ -310,14 +754,14 @@ export namespace GetPlanRequest { export interface GetPlanResponse { /** - *

                                                        A Python script to perform the mapping.

                                                        + *

                                                        The Scala code to perform the mapping.

                                                        */ - PythonScript?: string; + ScalaCode?: string; /** - *

                                                        The Scala code to perform the mapping.

                                                        + *

                                                        A Python script to perform the mapping.

                                                        */ - ScalaCode?: string; + PythonScript?: string; } export namespace GetPlanResponse { @@ -349,14 +793,14 @@ export namespace GetResourcePoliciesRequest { */ export interface GluePolicy { /** - *

                                                        The date and time at which the policy was last updated.

                                                        + *

                                                        Contains the requested policy document, in JSON format.

                                                        */ - UpdateTime?: Date; + PolicyInJson?: string; /** - *

                                                        Contains the requested policy document, in JSON format.

                                                        + *

                                                        The date and time at which the policy was created.

                                                        */ - PolicyInJson?: string; + CreateTime?: Date; /** *

                                                        Contains the hash value associated with this policy.

                                                        @@ -364,9 +808,9 @@ export interface GluePolicy { PolicyHash?: string; /** - *

                                                        The date and time at which the policy was created.

                                                        + *

                                                        The date and time at which the policy was last updated.

                                                        */ - CreateTime?: Date; + UpdateTime?: Date; } export namespace GluePolicy { @@ -377,14 +821,14 @@ export namespace GluePolicy { export interface GetResourcePoliciesResponse { /** - *

                                                        A list of the individual resource policies and the account-level resource policy.

                                                        + *

                                                        A continuation token, if the returned list does not contain the last resource policy available.

                                                        */ - GetResourcePoliciesResponseList?: GluePolicy[]; + NextToken?: string; /** - *

                                                        A continuation token, if the returned list does not contain the last resource policy available.

                                                        + *

                                                        A list of the individual resource policies and the account-level resource policy.

                                                        */ - NextToken?: string; + GetResourcePoliciesResponseList?: GluePolicy[]; } export namespace GetResourcePoliciesResponse { @@ -410,24 +854,24 @@ export namespace GetResourcePolicyRequest { export interface GetResourcePolicyResponse { /** - *

                                                        Contains the hash value associated with this policy.

                                                        + *

                                                        The date and time at which the policy was created.

                                                        */ - PolicyHash?: string; + CreateTime?: Date; /** - *

                                                        The date and time at which the policy was last updated.

                                                        + *

                                                        Contains the requested policy document, in JSON format.

                                                        */ - UpdateTime?: Date; + PolicyInJson?: string; /** - *

                                                        Contains the requested policy document, in JSON format.

                                                        + *

                                                        Contains the hash value associated with this policy.

                                                        */ - PolicyInJson?: string; + PolicyHash?: string; /** - *

                                                        The date and time at which the policy was created.

                                                        + *

                                                        The date and time at which the policy was last updated.

                                                        */ - CreateTime?: Date; + UpdateTime?: Date; } export namespace GetResourcePolicyResponse { @@ -453,11 +897,6 @@ export namespace GetSecurityConfigurationRequest { *

                                                        Specifies a security configuration.

                                                        */ export interface SecurityConfiguration { - /** - *

                                                        The encryption configuration associated with this security configuration.

                                                        - */ - EncryptionConfiguration?: EncryptionConfiguration; - /** *

                                                        The name of the security configuration.

                                                        */ @@ -467,6 +906,11 @@ export interface SecurityConfiguration { *

                                                        The time at which this security configuration was created.

                                                        */ CreatedTimeStamp?: Date; + + /** + *

                                                        The encryption configuration associated with this security configuration.

                                                        + */ + EncryptionConfiguration?: EncryptionConfiguration; } export namespace SecurityConfiguration { @@ -507,16 +951,16 @@ export namespace GetSecurityConfigurationsRequest { } export interface GetSecurityConfigurationsResponse { - /** - *

                                                        A list of security configurations.

                                                        - */ - SecurityConfigurations?: SecurityConfiguration[]; - /** *

                                                        A continuation token, if there are more security * configurations to return.

                                                        */ NextToken?: string; + + /** + *

                                                        A list of security configurations.

                                                        + */ + SecurityConfigurations?: SecurityConfiguration[]; } export namespace GetSecurityConfigurationsResponse { @@ -526,12 +970,6 @@ export namespace GetSecurityConfigurationsResponse { } 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 table for which to retrieve the definition. For Hive * compatibility, this name is entirely lowercase.

                                                        @@ -543,6 +981,12 @@ export interface GetTableRequest { * For Hive compatibility, this name is entirely lowercase.

                                                        */ DatabaseName: string | undefined; + + /** + *

                                                        The ID of the Data Catalog where the table resides. If none is provided, the AWS account + * ID is used by default.

                                                        + */ + CatalogId?: string; } export namespace GetTableRequest { @@ -556,16 +1000,35 @@ export namespace GetTableRequest { */ export interface Table { /** - *

                                                        The last time that the table was accessed. This is usually taken from HDFS, and might not - * be reliable.

                                                        + *

                                                        A TableIdentifier structure that describes a target table for resource linking.

                                                        */ - LastAccessTime?: Date; + TargetTable?: TableIdentifier; /** *

                                                        The ID of the Data Catalog in which the table resides.

                                                        */ CatalogId?: string; + /** + *

                                                        Indicates whether the table has been registered with AWS Lake Formation.

                                                        + */ + IsRegisteredWithLakeFormation?: boolean; + + /** + *

                                                        The last time that column statistics were computed for this table.

                                                        + */ + LastAnalyzedTime?: Date; + + /** + *

                                                        If the table is a view, the expanded text of the view; otherwise null.

                                                        + */ + ViewExpandedText?: string; + + /** + *

                                                        The owner of the table.

                                                        + */ + Owner?: string; + /** *

                                                        A list of columns by which the table is partitioned. Only primitive * types are supported as partition keys.

                                                        @@ -579,25 +1042,20 @@ export interface Table { PartitionKeys?: Column[]; /** - *

                                                        A description of the table.

                                                        - */ - Description?: string; - - /** - *

                                                        The name of the database where the table metadata resides. - * For Hive compatibility, this must be all lowercase.

                                                        + *

                                                        The last time that the table was updated.

                                                        */ - DatabaseName?: string; + UpdateTime?: Date; /** - *

                                                        The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                                                        + *

                                                        If the table is a view, the original text of the view; otherwise null.

                                                        */ - TableType?: string; + ViewOriginalText?: string; /** - *

                                                        A TableIdentifier structure that describes a target table for resource linking.

                                                        + *

                                                        The table name. For Hive compatibility, this must be entirely + * lowercase.

                                                        */ - TargetTable?: TableIdentifier; + Name: string | undefined; /** *

                                                        The person or entity who created the table.

                                                        @@ -605,19 +1063,21 @@ export interface Table { CreatedBy?: string; /** - *

                                                        These key-value pairs define properties associated with the table.

                                                        + *

                                                        A storage descriptor containing information about the physical storage + * of this table.

                                                        */ - Parameters?: { [key: string]: string }; + StorageDescriptor?: StorageDescriptor; /** - *

                                                        The time when the table definition was created in the Data Catalog.

                                                        + *

                                                        A description of the table.

                                                        */ - CreateTime?: Date; + Description?: string; /** - *

                                                        If the table is a view, the expanded text of the view; otherwise null.

                                                        + *

                                                        The last time that the table was accessed. This is usually taken from HDFS, and might not + * be reliable.

                                                        */ - ViewExpandedText?: string; + LastAccessTime?: Date; /** *

                                                        The retention time for this table.

                                                        @@ -625,41 +1085,25 @@ export interface Table { Retention?: number; /** - *

                                                        A storage descriptor containing information about the physical storage - * of this table.

                                                        - */ - StorageDescriptor?: StorageDescriptor; - - /** - *

                                                        The table name. For Hive compatibility, this must be entirely - * lowercase.

                                                        - */ - Name: string | undefined; - - /** - *

                                                        Indicates whether the table has been registered with AWS Lake Formation.

                                                        - */ - IsRegisteredWithLakeFormation?: boolean; - - /** - *

                                                        If the table is a view, the original text of the view; otherwise null.

                                                        + *

                                                        The time when the table definition was created in the Data Catalog.

                                                        */ - ViewOriginalText?: string; + CreateTime?: Date; /** - *

                                                        The owner of the table.

                                                        + *

                                                        These key-value pairs define properties associated with the table.

                                                        */ - Owner?: string; + Parameters?: { [key: string]: string }; /** - *

                                                        The last time that the table was updated.

                                                        + *

                                                        The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

                                                        */ - UpdateTime?: Date; + TableType?: string; /** - *

                                                        The last time that column statistics were computed for this table.

                                                        + *

                                                        The name of the database where the table metadata resides. + * For Hive compatibility, this must be all lowercase.

                                                        */ - LastAnalyzedTime?: Date; + DatabaseName?: string; } export namespace Table { @@ -682,6 +1126,12 @@ export namespace GetTableResponse { } export interface GetTablesRequest { + /** + *

                                                        A regular expression pattern. If present, only those tables + * whose names match the pattern are returned.

                                                        + */ + Expression?: string; + /** *

                                                        The ID of the Data Catalog where the tables reside. If none is provided, the AWS account * ID is used by default.

                                                        @@ -689,10 +1139,9 @@ export interface GetTablesRequest { CatalogId?: string; /** - *

                                                        The database in the catalog whose tables to list. For Hive - * compatibility, this name is entirely lowercase.

                                                        + *

                                                        The maximum number of tables to return in a single response.

                                                        */ - DatabaseName: string | undefined; + MaxResults?: number; /** *

                                                        A continuation token, included if this is a continuation call.

                                                        @@ -700,15 +1149,10 @@ export interface GetTablesRequest { NextToken?: string; /** - *

                                                        The maximum number of tables to return in a single response.

                                                        - */ - MaxResults?: number; - - /** - *

                                                        A regular expression pattern. If present, only those tables - * whose names match the pattern are returned.

                                                        + *

                                                        The database in the catalog whose tables to list. For Hive + * compatibility, this name is entirely lowercase.

                                                        */ - Expression?: string; + DatabaseName: string | undefined; } export namespace GetTablesRequest { @@ -737,12 +1181,6 @@ export namespace GetTablesResponse { } export interface GetTableVersionRequest { - /** - *

                                                        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.

                                                        @@ -759,6 +1197,12 @@ export interface GetTableVersionRequest { * 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; } export namespace GetTableVersionRequest { @@ -803,15 +1247,15 @@ export namespace GetTableVersionResponse { export interface GetTableVersionsRequest { /** - *

                                                        The ID of the Data Catalog where the tables reside. If none is provided, the AWS account - * ID is used by default.

                                                        + *

                                                        A continuation token, if this is not the first call.

                                                        */ - CatalogId?: string; + NextToken?: string; /** - *

                                                        The maximum number of table versions to return in one response.

                                                        + *

                                                        The name of the table. For Hive + * compatibility, this name is entirely lowercase.

                                                        */ - MaxResults?: number; + TableName: string | undefined; /** *

                                                        The database in the catalog in which the table resides. For Hive @@ -820,15 +1264,15 @@ export interface GetTableVersionsRequest { DatabaseName: string | undefined; /** - *

                                                        The name of the table. For Hive - * compatibility, this name is entirely lowercase.

                                                        + *

                                                        The maximum number of table versions to return in one response.

                                                        */ - TableName: string | undefined; + MaxResults?: number; /** - *

                                                        A continuation token, if this is not the first call.

                                                        + *

                                                        The ID of the Data Catalog where the tables reside. If none is provided, the AWS account + * ID is used by default.

                                                        */ - NextToken?: string; + CatalogId?: string; } export namespace GetTableVersionsRequest { @@ -838,17 +1282,17 @@ export namespace GetTableVersionsRequest { } export interface GetTableVersionsResponse { - /** - *

                                                        A continuation token, if the list of available versions does - * not include the last one.

                                                        - */ - NextToken?: string; - /** *

                                                        A list of strings identifying available versions of the * specified table.

                                                        */ TableVersions?: TableVersion[]; + + /** + *

                                                        A continuation token, if the list of available versions does + * not include the last one.

                                                        + */ + NextToken?: string; } export namespace GetTableVersionsResponse { @@ -934,16 +1378,16 @@ export namespace GetTriggersRequest { } export interface GetTriggersResponse { - /** - *

                                                        A list of triggers for the specified job.

                                                        - */ - Triggers?: Trigger[]; - /** *

                                                        A continuation token, if not all the requested triggers * have yet been returned.

                                                        */ NextToken?: string; + + /** + *

                                                        A list of triggers for the specified job.

                                                        + */ + Triggers?: Trigger[]; } export namespace GetTriggersResponse { @@ -954,14 +1398,14 @@ export namespace GetTriggersResponse { export interface GetUserDefinedFunctionRequest { /** - *

                                                        The name of the catalog database where the function is located.

                                                        + *

                                                        The name of the function.

                                                        */ - DatabaseName: string | undefined; + FunctionName: string | undefined; /** - *

                                                        The name of the function.

                                                        + *

                                                        The name of the catalog database where the function is located.

                                                        */ - FunctionName: string | undefined; + DatabaseName: string | undefined; /** *

                                                        The ID of the Data Catalog where the function to be retrieved is located. If none is @@ -982,14 +1426,19 @@ export namespace GetUserDefinedFunctionRequest { */ export interface UserDefinedFunction { /** - *

                                                        The name of the catalog database that contains the function.

                                                        + *

                                                        The resource URIs for the function.

                                                        */ - DatabaseName?: string; + ResourceUris?: ResourceUri[]; /** - *

                                                        The Java class that contains the function code.

                                                        + *

                                                        The owner of the function.

                                                        */ - ClassName?: string; + OwnerName?: string; + + /** + *

                                                        The name of the function.

                                                        + */ + FunctionName?: string; /** *

                                                        The ID of the Data Catalog in which the function resides.

                                                        @@ -1002,19 +1451,14 @@ export interface UserDefinedFunction { CreateTime?: Date; /** - *

                                                        The name of the function.

                                                        - */ - FunctionName?: string; - - /** - *

                                                        The resource URIs for the function.

                                                        + *

                                                        The name of the catalog database that contains the function.

                                                        */ - ResourceUris?: ResourceUri[]; + DatabaseName?: string; /** - *

                                                        The owner of the function.

                                                        + *

                                                        The Java class that contains the function code.

                                                        */ - OwnerName?: string; + ClassName?: string; /** *

                                                        The owner type.

                                                        @@ -1043,10 +1487,10 @@ export namespace GetUserDefinedFunctionResponse { export interface GetUserDefinedFunctionsRequest { /** - *

                                                        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.

                                                        + *

                                                        An optional function-name pattern string that filters the function + * definitions returned.

                                                        */ - DatabaseName?: string; + Pattern: string | undefined; /** *

                                                        A continuation token, if this is a continuation call.

                                                        @@ -1059,16 +1503,16 @@ export interface GetUserDefinedFunctionsRequest { MaxResults?: number; /** - *

                                                        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 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.

                                                        */ - CatalogId?: string; + DatabaseName?: string; /** - *

                                                        An optional function-name pattern string that filters the function - * definitions returned.

                                                        + *

                                                        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.

                                                        */ - Pattern: string | undefined; + CatalogId?: string; } export namespace GetUserDefinedFunctionsRequest { @@ -1078,16 +1522,16 @@ export namespace GetUserDefinedFunctionsRequest { } export interface GetUserDefinedFunctionsResponse { - /** - *

                                                        A list of requested function definitions.

                                                        - */ - UserDefinedFunctions?: UserDefinedFunction[]; - /** *

                                                        A continuation token, if the list of functions returned does * not include the last requested function.

                                                        */ NextToken?: string; + + /** + *

                                                        A list of requested function definitions.

                                                        + */ + UserDefinedFunctions?: UserDefinedFunction[]; } export namespace GetUserDefinedFunctionsResponse { @@ -1129,9 +1573,9 @@ export namespace GetWorkflowResponse { export interface GetWorkflowRunRequest { /** - *

                                                        The ID of the workflow run.

                                                        + *

                                                        Name of the workflow being run.

                                                        */ - RunId: string | undefined; + Name: string | undefined; /** *

                                                        Specifies whether to include the workflow graph in response or not.

                                                        @@ -1139,9 +1583,9 @@ export interface GetWorkflowRunRequest { IncludeGraph?: boolean; /** - *

                                                        Name of the workflow being run.

                                                        + *

                                                        The ID of the workflow run.

                                                        */ - Name: string | undefined; + RunId: string | undefined; } export namespace GetWorkflowRunRequest { @@ -1195,11 +1639,6 @@ export namespace GetWorkflowRunPropertiesResponse { } export interface GetWorkflowRunsRequest { - /** - *

                                                        Name of the workflow whose metadata of runs should be returned.

                                                        - */ - Name: string | undefined; - /** *

                                                        The maximum size of the response.

                                                        */ @@ -1214,6 +1653,11 @@ export interface GetWorkflowRunsRequest { *

                                                        The maximum number of workflow runs to be included in the response.

                                                        */ MaxResults?: number; + + /** + *

                                                        Name of the workflow whose metadata of runs should be returned.

                                                        + */ + Name: string | undefined; } export namespace GetWorkflowRunsRequest { @@ -1263,9 +1707,9 @@ export namespace ImportCatalogToGlueResponse { export interface ListCrawlersRequest { /** - *

                                                        The maximum size of a list to return.

                                                        + *

                                                        Specifies to return only these tagged resources.

                                                        */ - MaxResults?: number; + Tags?: { [key: string]: string }; /** *

                                                        A continuation token, if this is a continuation request.

                                                        @@ -1273,9 +1717,9 @@ export interface ListCrawlersRequest { NextToken?: string; /** - *

                                                        Specifies to return only these tagged resources.

                                                        + *

                                                        The maximum size of a list to return.

                                                        */ - Tags?: { [key: string]: string }; + MaxResults?: number; } export namespace ListCrawlersRequest { @@ -1310,14 +1754,14 @@ export interface ListDevEndpointsRequest { MaxResults?: number; /** - *

                                                        Specifies to return only these tagged resources.

                                                        + *

                                                        A continuation token, if this is a continuation request.

                                                        */ - Tags?: { [key: string]: string }; + NextToken?: string; /** - *

                                                        A continuation token, if this is a continuation request.

                                                        + *

                                                        Specifies to return only these tagged resources.

                                                        */ - NextToken?: string; + Tags?: { [key: string]: string }; } export namespace ListDevEndpointsRequest { @@ -1348,14 +1792,14 @@ export namespace ListDevEndpointsResponse { export interface ListJobsRequest { /** - *

                                                        A continuation token, if this is a continuation request.

                                                        + *

                                                        Specifies to return only these tagged resources.

                                                        */ - NextToken?: string; + Tags?: { [key: string]: string }; /** - *

                                                        Specifies to return only these tagged resources.

                                                        + *

                                                        A continuation token, if this is a continuation request.

                                                        */ - Tags?: { [key: string]: string }; + NextToken?: string; /** *

                                                        The maximum size of a list to return.

                                                        @@ -1390,29 +1834,29 @@ export namespace ListJobsResponse { export interface ListMLTransformsRequest { /** - *

                                                        A TransformFilterCriteria used to filter the machine learning transforms.

                                                        + *

                                                        A continuation token, if this is a continuation request.

                                                        */ - Filter?: TransformFilterCriteria; + NextToken?: string; /** - *

                                                        The maximum size of a list to return.

                                                        + *

                                                        A TransformSortCriteria used to sort the machine learning transforms.

                                                        */ - MaxResults?: number; + Sort?: TransformSortCriteria; /** - *

                                                        Specifies to return only these tagged resources.

                                                        + *

                                                        The maximum size of a list to return.

                                                        */ - Tags?: { [key: string]: string }; + MaxResults?: number; /** - *

                                                        A continuation token, if this is a continuation request.

                                                        + *

                                                        A TransformFilterCriteria used to filter the machine learning transforms.

                                                        */ - NextToken?: string; + Filter?: TransformFilterCriteria; /** - *

                                                        A TransformSortCriteria used to sort the machine learning transforms.

                                                        + *

                                                        Specifies to return only these tagged resources.

                                                        */ - Sort?: TransformSortCriteria; + Tags?: { [key: string]: string }; } export namespace ListMLTransformsRequest { @@ -1443,10 +1887,9 @@ export namespace ListMLTransformsResponse { export interface ListTriggersRequest { /** - *

                                                        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.

                                                        + *

                                                        Specifies to return only these tagged resources.

                                                        */ - DependentJobName?: string; + Tags?: { [key: string]: string }; /** *

                                                        The maximum size of a list to return.

                                                        @@ -1454,14 +1897,15 @@ export interface ListTriggersRequest { MaxResults?: number; /** - *

                                                        Specifies to return only these tagged resources.

                                                        + *

                                                        A continuation token, if this is a continuation request.

                                                        */ - Tags?: { [key: string]: string }; + NextToken?: string; /** - *

                                                        A continuation token, if this is a continuation request.

                                                        + *

                                                        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.

                                                        */ - NextToken?: string; + DependentJobName?: string; } export namespace ListTriggersRequest { @@ -1491,14 +1935,14 @@ export namespace ListTriggersResponse { export interface ListWorkflowsRequest { /** - *

                                                        The maximum size of a list to return.

                                                        + *

                                                        A continuation token, if this is a continuation request.

                                                        */ - MaxResults?: number; + NextToken?: string; /** - *

                                                        A continuation token, if this is a continuation request.

                                                        + *

                                                        The maximum size of a list to return.

                                                        */ - NextToken?: string; + MaxResults?: number; } export namespace ListWorkflowsRequest { @@ -1509,14 +1953,14 @@ export namespace ListWorkflowsRequest { export interface ListWorkflowsResponse { /** - *

                                                        A continuation token, if not all workflow names have been returned.

                                                        + *

                                                        List of names of workflows in the account.

                                                        */ - NextToken?: string; + Workflows?: string[]; /** - *

                                                        List of names of workflows in the account.

                                                        + *

                                                        A continuation token, if not all workflow names have been returned.

                                                        */ - Workflows?: string[]; + NextToken?: string; } export namespace ListWorkflowsResponse { @@ -1526,16 +1970,16 @@ export namespace ListWorkflowsResponse { } export interface PutDataCatalogEncryptionSettingsRequest { - /** - *

                                                        The security configuration to set.

                                                        - */ - DataCatalogEncryptionSettings: DataCatalogEncryptionSettings | undefined; - /** *

                                                        The ID of the Data Catalog to set the security configuration for. If none is provided, the * AWS account ID is used by default.

                                                        */ CatalogId?: string; + + /** + *

                                                        The security configuration to set.

                                                        + */ + DataCatalogEncryptionSettings: DataCatalogEncryptionSettings | undefined; } export namespace PutDataCatalogEncryptionSettingsRequest { @@ -1564,6 +2008,20 @@ export enum ExistCondition { } 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; + + /** + *

                                                        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; + /** *

                                                        The hash value returned when the previous policy was set using * PutResourcePolicy. Its purpose is to prevent concurrent modifications of a @@ -1582,20 +2040,6 @@ export interface PutResourcePolicyRequest { *

                                                        Contains the policy document to set, in JSON format.

                                                        */ PolicyInJson: string | undefined; - - /** - *

                                                        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; - - /** - *

                                                        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 namespace PutResourcePolicyRequest { @@ -1621,14 +2065,14 @@ export namespace PutResourcePolicyResponse { export interface PutWorkflowRunPropertiesRequest { /** - *

                                                        Name of the workflow which was run.

                                                        + *

                                                        The ID of the workflow run for which the run properties should be updated.

                                                        */ - Name: string | undefined; + RunId: string | undefined; /** - *

                                                        The ID of the workflow run for which the run properties should be updated.

                                                        + *

                                                        Name of the workflow which was run.

                                                        */ - RunId: string | undefined; + Name: string | undefined; /** *

                                                        The properties to put for the specified run.

                                                        @@ -1718,6 +2162,11 @@ 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.

                                                        */ @@ -1727,11 +2176,6 @@ 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 an execution attempt in the original run.

                                                        - */ - NodeIds: string[] | undefined; } export namespace ResumeWorkflowRunRequest { @@ -1741,15 +2185,15 @@ export namespace ResumeWorkflowRunRequest { } export interface ResumeWorkflowRunResponse { - /** - *

                                                        A list of the node IDs for the nodes that were actually restarted.

                                                        - */ - NodeIds?: string[]; - /** *

                                                        The new ID assigned to the resumed workflow run. Each resume of a workflow run will have a new run ID.

                                                        */ RunId?: string; + + /** + *

                                                        A list of the node IDs for the nodes that were actually restarted.

                                                        + */ + NodeIds?: string[]; } export namespace ResumeWorkflowRunResponse { @@ -1776,14 +2220,14 @@ export interface PropertyPredicate { Value?: string; /** - *

                                                        The comparator used to compare this property to others.

                                                        + *

                                                        The key of the property.

                                                        */ - Comparator?: Comparator | string; + Key?: string; /** - *

                                                        The key of the property.

                                                        + *

                                                        The comparator used to compare this property to others.

                                                        */ - Key?: string; + Comparator?: Comparator | string; } export namespace PropertyPredicate { @@ -1819,18 +2263,6 @@ export namespace SortCriterion { } export interface SearchTablesRequest { - /** - *

                                                        A list of criteria for sorting the results by a field name, in an ascending or descending order.

                                                        - */ - SortCriteria?: SortCriterion[]; - - /** - *

                                                        A list of key-value pairs, and a comparator used to filter the search results. Returns all entities matching the predicate.

                                                        - * - *

                                                        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.

                                                        - */ - Filters?: PropertyPredicate[]; - /** *

                                                        A unique identifier, consisting of * account_id @@ -1853,9 +2285,17 @@ export interface SearchTablesRequest { ResourceShareType?: ResourceShareType | string; /** - *

                                                        The maximum number of tables to return in a single response.

                                                        + *

                                                        A string used for a text search.

                                                        + *

                                                        Specifying a value in quotes filters based on an exact match to the value.

                                                        */ - MaxResults?: number; + SearchText?: string; + + /** + *

                                                        A list of key-value pairs, and a comparator used to filter the search results. Returns all entities matching the predicate.

                                                        + * + *

                                                        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.

                                                        + */ + Filters?: PropertyPredicate[]; /** *

                                                        A continuation token, included if this is a continuation call.

                                                        @@ -1863,10 +2303,14 @@ export interface SearchTablesRequest { NextToken?: string; /** - *

                                                        A string used for a text search.

                                                        - *

                                                        Specifying a value in quotes filters based on an exact match to the value.

                                                        + *

                                                        The maximum number of tables to return in a single response.

                                                        */ - SearchText?: string; + MaxResults?: number; + + /** + *

                                                        A list of criteria for sorting the results by a field name, in an ascending or descending order.

                                                        + */ + SortCriteria?: SortCriterion[]; } export namespace SearchTablesRequest { @@ -1877,14 +2321,14 @@ export namespace SearchTablesRequest { export interface SearchTablesResponse { /** - *

                                                        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[]; /** - *

                                                        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; } export namespace SearchTablesResponse { @@ -1973,14 +2417,14 @@ export namespace StartCrawlerScheduleResponse { export interface StartExportLabelsTaskRunRequest { /** - *

                                                        The Amazon S3 path where you export the labels.

                                                        + *

                                                        The unique identifier of the machine learning transform.

                                                        */ - OutputS3Path: string | undefined; + TransformId: string | undefined; /** - *

                                                        The unique identifier of the machine learning transform.

                                                        + *

                                                        The Amazon S3 path where you export the labels.

                                                        */ - TransformId: string | undefined; + OutputS3Path: string | undefined; } export namespace StartExportLabelsTaskRunRequest { @@ -2004,9 +2448,9 @@ export namespace StartExportLabelsTaskRunResponse { export interface StartImportLabelsTaskRunRequest { /** - *

                                                        Indicates whether to overwrite your existing labels.

                                                        + *

                                                        The unique identifier of the machine learning transform.

                                                        */ - ReplaceAllLabels?: boolean; + TransformId: string | undefined; /** *

                                                        The Amazon Simple Storage Service (Amazon S3) path from where you import the @@ -2015,9 +2459,9 @@ export interface StartImportLabelsTaskRunRequest { InputS3Path: string | undefined; /** - *

                                                        The unique identifier of the machine learning transform.

                                                        + *

                                                        Indicates whether to overwrite your existing labels.

                                                        */ - TransformId: string | undefined; + ReplaceAllLabels?: boolean; } export namespace StartImportLabelsTaskRunRequest { @@ -2040,49 +2484,6 @@ 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 name of the SecurityConfiguration structure to be used with this job - * run.

                                                        - */ - SecurityConfiguration?: string; - - /** - *

                                                        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; - - /** - *

                                                        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 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 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. @@ -2105,11 +2506,6 @@ export interface StartJobRunRequest { */ MaxCapacity?: number; - /** - *

                                                        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.

                                                        *
                                                          @@ -2126,6 +2522,54 @@ 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.

                                                          * @@ -2198,16 +2642,16 @@ export namespace StartMLEvaluationTaskRunResponse { } export interface StartMLLabelingSetGenerationTaskRunRequest { - /** - *

                                                          The unique identifier of the machine learning transform.

                                                          - */ - TransformId: string | undefined; - /** *

                                                          The Amazon Simple Storage Service (Amazon S3) path where you generate the labeling * set.

                                                          */ OutputS3Path: string | undefined; + + /** + *

                                                          The unique identifier of the machine learning transform.

                                                          + */ + TransformId: string | undefined; } export namespace StartMLLabelingSetGenerationTaskRunRequest { @@ -2430,16 +2874,16 @@ export namespace StopWorkflowRunResponse { } export interface TagResourceRequest { - /** - *

                                                          Tags to add to this resource.

                                                          - */ - TagsToAdd: { [key: string]: string } | undefined; - /** *

                                                          The ARN of the AWS Glue resource to which to add the tags. For more * information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern.

                                                          */ ResourceArn: string | undefined; + + /** + *

                                                          Tags to add to this resource.

                                                          + */ + TagsToAdd: { [key: string]: string } | undefined; } export namespace TagResourceRequest { @@ -2458,14 +2902,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                          Tags to remove from this resource.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource from which to remove the tags.

                                                          */ - TagsToRemove: string[] | undefined; + ResourceArn: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the resource from which to remove the tags.

                                                          + *

                                                          Tags to remove from this resource.

                                                          */ - ResourceArn: string | undefined; + TagsToRemove: string[] | undefined; } export namespace UntagResourceRequest { @@ -2487,14 +2931,19 @@ export namespace UntagResourceResponse { */ export interface UpdateCsvClassifierRequest { /** - *

                                                          Specifies not to trim values before identifying the type of column values. The default value is true.

                                                          + *

                                                          The name of the classifier.

                                                          */ - DisableValueTrimming?: boolean; + Name: string | undefined; /** - *

                                                          A custom symbol to denote what separates each column entry in the row.

                                                          + *

                                                          Indicates whether the CSV file contains a header.

                                                          */ - Delimiter?: string; + ContainsHeader?: CsvHeaderOption | string; + + /** + *

                                                          Specifies not to trim values before identifying the type of column values. The default value is true.

                                                          + */ + DisableValueTrimming?: boolean; /** *

                                                          A list of strings representing column names.

                                                          @@ -2507,20 +2956,15 @@ export interface UpdateCsvClassifierRequest { AllowSingleColumn?: boolean; /** - *

                                                          The name of the classifier.

                                                          + *

                                                          A custom symbol to denote what separates each column entry in the row.

                                                          */ - Name: string | undefined; + Delimiter?: string; /** *

                                                          A custom symbol to denote what combines content into a single column value. It must be * different from the column delimiter.

                                                          */ QuoteSymbol?: string; - - /** - *

                                                          Indicates whether the CSV file contains a header.

                                                          - */ - ContainsHeader?: CsvHeaderOption | string; } export namespace UpdateCsvClassifierRequest { @@ -2535,9 +2979,9 @@ export namespace UpdateCsvClassifierRequest { */ export interface UpdateGrokClassifierRequest { /** - *

                                                          Optional custom grok patterns used by this classifier.

                                                          + *

                                                          The name of the GrokClassifier.

                                                          */ - CustomPatterns?: string; + Name: string | undefined; /** *

                                                          The grok pattern used by this classifier.

                                                          @@ -2551,9 +2995,9 @@ export interface UpdateGrokClassifierRequest { Classification?: string; /** - *

                                                          The name of the GrokClassifier.

                                                          + *

                                                          Optional custom grok patterns used by this classifier.

                                                          */ - Name: string | undefined; + CustomPatterns?: string; } export namespace UpdateGrokClassifierRequest { @@ -2567,15 +3011,15 @@ export namespace UpdateGrokClassifierRequest { */ export interface UpdateJsonClassifierRequest { /** - *

                                                          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 name of the classifier.

                                                          */ - JsonPath?: string; + Name: string | undefined; /** - *

                                                          The name of the classifier.

                                                          + *

                                                          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.

                                                          */ - Name: string | undefined; + JsonPath?: string; } export namespace UpdateJsonClassifierRequest { @@ -2615,6 +3059,11 @@ export namespace UpdateXMLClassifierRequest { } export interface UpdateClassifierRequest { + /** + *

                                                          An XMLClassifier object with updated fields.

                                                          + */ + XMLClassifier?: UpdateXMLClassifierRequest; + /** *

                                                          A GrokClassifier object with updated fields.

                                                          */ @@ -2625,11 +3074,6 @@ export interface UpdateClassifierRequest { */ CsvClassifier?: UpdateCsvClassifierRequest; - /** - *

                                                          An XMLClassifier object with updated fields.

                                                          - */ - XMLClassifier?: UpdateXMLClassifierRequest; - /** *

                                                          A JsonClassifier object with updated fields.

                                                          */ @@ -2670,20 +3114,14 @@ export namespace VersionMismatchException { export interface UpdateColumnStatisticsForPartitionRequest { /** - *

                                                          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; - - /** - *

                                                          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; + ColumnStatisticsList: ColumnStatistics[] | undefined; /** *

                                                          A list of partition values identifying the partition.

                                                          @@ -2691,9 +3129,15 @@ export interface UpdateColumnStatisticsForPartitionRequest { PartitionValues: string[] | undefined; /** - *

                                                          The name of the partitions' table.

                                                          + *

                                                          The name of the catalog database where the partitions reside.

                                                          */ - TableName: 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.

                                                          + */ + CatalogId?: string; } export namespace UpdateColumnStatisticsForPartitionRequest { @@ -2707,14 +3151,14 @@ export namespace UpdateColumnStatisticsForPartitionRequest { */ export interface ColumnStatisticsError { /** - *

                                                          The ColumnStatistics of the column.

                                                          + *

                                                          The error message occurred during operation.

                                                          */ - ColumnStatistics?: ColumnStatistics; + Error?: ErrorDetail; /** - *

                                                          The error message occurred during operation.

                                                          + *

                                                          The ColumnStatistics of the column.

                                                          */ - Error?: ErrorDetail; + ColumnStatistics?: ColumnStatistics; } export namespace ColumnStatisticsError { @@ -2738,9 +3182,9 @@ export namespace UpdateColumnStatisticsForPartitionResponse { export interface UpdateColumnStatisticsForTableRequest { /** - *

                                                          The name of the catalog database where the partitions reside.

                                                          + *

                                                          The name of the partitions' table.

                                                          */ - DatabaseName: string | undefined; + TableName: string | undefined; /** *

                                                          The ID of the Data Catalog where the partitions in question reside. @@ -2749,14 +3193,14 @@ export interface UpdateColumnStatisticsForTableRequest { CatalogId?: string; /** - *

                                                          The name of the partitions' table.

                                                          + *

                                                          A list of the column statistics.

                                                          */ - TableName: string | undefined; + ColumnStatisticsList: ColumnStatistics[] | undefined; /** - *

                                                          A list of the column statistics.

                                                          + *

                                                          The name of the catalog database where the partitions reside.

                                                          */ - ColumnStatisticsList: ColumnStatistics[] | undefined; + DatabaseName: string | undefined; } export namespace UpdateColumnStatisticsForTableRequest { @@ -2780,10 +3224,10 @@ export namespace UpdateColumnStatisticsForTableResponse { export interface UpdateConnectionRequest { /** - *

                                                          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; /** *

                                                          The name of the connection definition to update.

                                                          @@ -2791,10 +3235,10 @@ export interface UpdateConnectionRequest { Name: string | undefined; /** - *

                                                          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; } export namespace UpdateConnectionRequest { @@ -2813,29 +3257,29 @@ export namespace UpdateConnectionResponse { export interface UpdateCrawlerRequest { /** - *

                                                          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; /** - *

                                                          Name of the new crawler.

                                                          + *

                                                          The table prefix used for catalog tables that are created.

                                                          */ - Name: string | undefined; + TablePrefix?: 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 * * ? *).

                                                          + *

                                                          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.

                                                          */ - Schedule?: string; + Classifiers?: 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.

                                                          + *

                                                          The name of the SecurityConfiguration structure to be used by this + * crawler.

                                                          */ - Configuration?: string; + CrawlerSecurityConfiguration?: string; /** *

                                                          The AWS Glue database where results are stored, such as: @@ -2844,38 +3288,38 @@ export interface UpdateCrawlerRequest { DatabaseName?: string; /** - *

                                                          A description of the new crawler.

                                                          + *

                                                          Name of the new crawler.

                                                          */ - Description?: string; + Name: string | undefined; /** - *

                                                          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.

                                                          + *

                                                          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 * * ? *).

                                                          */ - Classifiers?: string[]; + Schedule?: string; /** - *

                                                          The table prefix used for catalog tables that are created.

                                                          + *

                                                          The policy for the crawler's update and deletion behavior.

                                                          */ - TablePrefix?: string; + SchemaChangePolicy?: SchemaChangePolicy; /** - *

                                                          A list of targets to crawl.

                                                          + *

                                                          Crawler configuration information. This versioned JSON string allows users + * to specify aspects of a crawler's behavior. + * For more information, see Configuring a Crawler.

                                                          */ - Targets?: CrawlerTargets; + Configuration?: string; /** - *

                                                          The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the new crawler - * to access customer resources.

                                                          + *

                                                          A list of targets to crawl.

                                                          */ - Role?: string; + Targets?: CrawlerTargets; /** - *

                                                          The policy for the crawler's update and deletion behavior.

                                                          + *

                                                          A description of the new crawler.

                                                          */ - SchemaChangePolicy?: SchemaChangePolicy; + Description?: string; } export namespace UpdateCrawlerRequest { @@ -2893,17 +3337,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 { @@ -2921,12 +3365,6 @@ export namespace UpdateCrawlerScheduleResponse { } export interface UpdateDatabaseRequest { - /** - *

                                                          The ID of the Data Catalog in which the metadata database resides. If none is provided, - * the AWS account ID is used by default.

                                                          - */ - CatalogId?: string; - /** *

                                                          A DatabaseInput object specifying the new definition * of the metadata database in the catalog.

                                                          @@ -2938,6 +3376,12 @@ export interface UpdateDatabaseRequest { * compatibility, this is folded to lowercase.

                                                          */ 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.

                                                          + */ + CatalogId?: string; } export namespace UpdateDatabaseRequest { @@ -2987,32 +3431,6 @@ export namespace DevEndpointCustomLibraries { } export interface UpdateDevEndpointRequest { - /** - *

                                                          The name of the DevEndpoint to be updated.

                                                          - */ - EndpointName: string | undefined; - - /** - *

                                                          The list of public keys to be deleted from the DevEndpoint.

                                                          - */ - DeletePublicKeys?: string[]; - - /** - *

                                                          The list of argument keys to be deleted from the map of arguments used to configure the - * DevEndpoint.

                                                          - */ - DeleteArguments?: string[]; - - /** - *

                                                          The list of public keys for the DevEndpoint to use.

                                                          - */ - AddPublicKeys?: string[]; - - /** - *

                                                          The public key for the DevEndpoint to use.

                                                          - */ - PublicKey?: string; - /** *

                                                          The map of arguments to add the map of arguments used to configure the * DevEndpoint.

                                                          @@ -3041,113 +3459,63 @@ export interface UpdateDevEndpointRequest { AddArguments?: { [key: string]: string }; /** - *

                                                          Custom Python or Java libraries to be loaded in the DevEndpoint.

                                                          - */ - CustomLibraries?: DevEndpointCustomLibraries; - - /** - *

                                                          - * True if the list of custom libraries to be loaded in the development endpoint - * needs to be updated, or False if otherwise.

                                                          - */ - UpdateEtlLibraries?: boolean; -} - -export namespace UpdateDevEndpointRequest { - export const filterSensitiveLog = (obj: UpdateDevEndpointRequest): any => ({ - ...obj, - }); -} - -export interface UpdateDevEndpointResponse {} - -export namespace UpdateDevEndpointResponse { - export const filterSensitiveLog = (obj: UpdateDevEndpointResponse): any => ({ - ...obj, - }); -} - -/** - *

                                                          Specifies information used to update an existing job definition. The previous job - * definition is completely overwritten by this information.

                                                          - */ -export interface JobUpdate { - /** - *

                                                          An ExecutionProperty specifying the maximum number of concurrent runs allowed - * for this job.

                                                          - */ - ExecutionProperty?: ExecutionProperty; - - /** - *

                                                          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; - - /** - *

                                                          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 connections used for this job.

                                                          - */ - Connections?: ConnectionsList; - - /** - *

                                                          Specifies the configuration properties of a job notification.

                                                          + *

                                                          The public key for the DevEndpoint to use.

                                                          */ - NotificationProperty?: NotificationProperty; + PublicKey?: string; /** - *

                                                          The JobCommand that executes this job (required).

                                                          + *

                                                          Custom Python or Java libraries to be loaded in the DevEndpoint.

                                                          */ - Command?: JobCommand; + CustomLibraries?: DevEndpointCustomLibraries; /** - *

                                                          The name of the SecurityConfiguration structure to be used with this - * job.

                                                          + *

                                                          The list of public keys for the DevEndpoint to use.

                                                          */ - SecurityConfiguration?: string; + AddPublicKeys?: string[]; /** - *

                                                          This field is reserved for future use.

                                                          + *

                                                          The name of the DevEndpoint to be updated.

                                                          */ - LogUri?: string; + EndpointName: string | undefined; /** - *

                                                          Non-overridable arguments for this job, specified as name-value pairs.

                                                          + *

                                                          The list of public keys to be deleted from the DevEndpoint.

                                                          */ - NonOverridableArguments?: { [key: string]: string }; + DeletePublicKeys?: 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.

                                                          + *

                                                          + * True if the list of custom libraries to be loaded in the development endpoint + * needs to be updated, or False if otherwise.

                                                          */ - DefaultArguments?: { [key: string]: string }; + UpdateEtlLibraries?: boolean; /** - *

                                                          The maximum number of times to retry this job if it fails.

                                                          + *

                                                          The list of argument keys to be deleted from the map of arguments used to configure the + * DevEndpoint.

                                                          */ - MaxRetries?: number; + DeleteArguments?: 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.

                                                          - */ - GlueVersion?: string; +export namespace UpdateDevEndpointRequest { + export const filterSensitiveLog = (obj: UpdateDevEndpointRequest): any => ({ + ...obj, + }); +} + +export interface UpdateDevEndpointResponse {} + +export namespace UpdateDevEndpointResponse { + export const filterSensitiveLog = (obj: UpdateDevEndpointResponse): any => ({ + ...obj, + }); +} +/** + *

                                                          Specifies information used to update an existing job definition. The previous job + * definition is completely overwritten by this information.

                                                          + */ +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.

                                                          *
                                                            @@ -3165,9 +3533,22 @@ export interface JobUpdate { WorkerType?: WorkerType | string; /** - *

                                                            Description of the job being defined.

                                                            + *

                                                            Specifies the configuration properties of a job notification.

                                                            */ - Description?: string; + NotificationProperty?: NotificationProperty; + + /** + *

                                                            An ExecutionProperty specifying the maximum number of concurrent runs allowed + * for this job.

                                                            + */ + ExecutionProperty?: ExecutionProperty; + + /** + *

                                                            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 number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure @@ -3193,17 +3574,80 @@ export interface JobUpdate { MaxCapacity?: number; /** - *

                                                            The number of workers of a defined workerType that are allocated when a job runs.

                                                            + *

                                                            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.

                                                            * - *

                                                            The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

                                                            + *

                                                            For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

                                                            */ - NumberOfWorkers?: number; + 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.

                                                            + */ + NonOverridableArguments?: { [key: string]: string }; + + /** + *

                                                            The maximum number of times to retry this job if it fails.

                                                            + */ + MaxRetries?: number; + + /** + *

                                                            The name of the SecurityConfiguration structure to be used with this + * job.

                                                            + */ + 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).

                                                            + */ + Command?: JobCommand; + + /** + *

                                                            The connections used for this job.

                                                            + */ + Connections?: ConnectionsList; } export namespace JobUpdate { @@ -3245,20 +3689,31 @@ export namespace UpdateJobResponse { export interface UpdateMLTransformRequest { /** - *

                                                            The unique name that you gave the transform when you created it.

                                                            + *

                                                            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.

                                                            */ - Name?: string; + GlueVersion?: string; /** - *

                                                            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; + + /** + *

                                                            The number of workers of a defined workerType that are allocated when this task runs.

                                                            + */ + NumberOfWorkers?: number; /** *

                                                            A description of the transform. The default is an empty string.

                                                            */ Description?: string; + /** + *

                                                            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 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 @@ -3269,33 +3724,6 @@ export interface UpdateMLTransformRequest { */ MaxCapacity?: number; - /** - *

                                                            The number of workers of a defined workerType that are allocated when this task runs.

                                                            - */ - NumberOfWorkers?: number; - - /** - *

                                                            The name or Amazon Resource Name (ARN) of the IAM role with the required - * permissions.

                                                            - */ - Role?: string; - - /** - *

                                                            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; - - /** - *

                                                            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 type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

                                                            *
                                                              @@ -3312,10 +3740,26 @@ export interface UpdateMLTransformRequest { */ WorkerType?: WorkerType | string; + /** + *

                                                              The unique name that you gave the transform when you created it.

                                                              + */ + Name?: string; + /** *

                                                              A unique identifier that was generated when the transform was created.

                                                              */ TransformId: string | undefined; + + /** + *

                                                              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 { @@ -3338,6 +3782,18 @@ export namespace UpdateMLTransformResponse { } export interface UpdatePartitionRequest { + /** + *

                                                              The name of the table in which the partition to be updated is located.

                                                              + */ + TableName: 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; + /** *

                                                              List of partition key values that define the partition to update.

                                                              */ @@ -3354,18 +3810,6 @@ export interface UpdatePartitionRequest { * resides.

                                                              */ DatabaseName: string | undefined; - - /** - *

                                                              The name of the table in which the partition to be updated is located.

                                                              - */ - TableName: 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 { @@ -3384,11 +3828,10 @@ export namespace UpdatePartitionResponse { export interface UpdateTableRequest { /** - *

                                                              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.

                                                              + *

                                                              The ID of the Data Catalog where the table resides. If none is provided, the AWS account + * ID is used by default.

                                                              */ - SkipArchive?: boolean; + CatalogId?: string; /** *

                                                              The name of the catalog database in which the table resides. For Hive @@ -3397,10 +3840,11 @@ export interface UpdateTableRequest { DatabaseName: string | undefined; /** - *

                                                              The ID of the Data Catalog where the table resides. If none is provided, the AWS account - * ID is used by default.

                                                              + *

                                                              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.

                                                              */ - CatalogId?: string; + SkipArchive?: boolean; /** *

                                                              An updated TableInput object to define the metadata table @@ -3429,14 +3873,17 @@ export namespace UpdateTableResponse { */ export interface TriggerUpdate { /** - *

                                                              The predicate of this trigger, which defines when it will fire.

                                                              + *

                                                              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 * * ? *).

                                                              */ - Predicate?: Predicate; + Schedule?: string; /** - *

                                                              A description of this trigger.

                                                              + *

                                                              Reserved for future use.

                                                              */ - Description?: string; + Name?: string; /** *

                                                              The actions initiated by this trigger.

                                                              @@ -3444,17 +3891,14 @@ export interface TriggerUpdate { Actions?: Action[]; /** - *

                                                              Reserved for future use.

                                                              + *

                                                              A description of this trigger.

                                                              */ - Name?: string; + Description?: 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 * * ? *).

                                                              + *

                                                              The predicate of this trigger, which defines when it will fire.

                                                              */ - Schedule?: string; + Predicate?: Predicate; } export namespace TriggerUpdate { @@ -3496,16 +3940,9 @@ export namespace UpdateTriggerResponse { export interface UpdateUserDefinedFunctionRequest { /** - *

                                                              A FunctionInput object that redefines the function in the Data - * Catalog.

                                                              - */ - FunctionInput: UserDefinedFunctionInput | 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; /** *

                                                              The name of the catalog database where the function to be updated is @@ -3514,9 +3951,16 @@ export interface UpdateUserDefinedFunctionRequest { DatabaseName: string | undefined; /** - *

                                                              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; + + /** + *

                                                              A FunctionInput object that redefines the function in the Data + * Catalog.

                                                              + */ + FunctionInput: UserDefinedFunctionInput | undefined; } export namespace UpdateUserDefinedFunctionRequest { @@ -3540,14 +3984,19 @@ export interface UpdateWorkflowRequest { DefaultRunProperties?: { [key: string]: string }; /** - *

                                                              The description of the workflow.

                                                              + *

                                                              Name of the workflow to be updated.

                                                              */ - Description?: string; + Name: string | undefined; /** - *

                                                              Name of the workflow to be updated.

                                                              + *

                                                              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.

                                                              */ - Name: string | undefined; + MaxConcurrentRuns?: number; + + /** + *

                                                              The description of the workflow.

                                                              + */ + Description?: string; } export namespace UpdateWorkflowRequest { diff --git a/clients/client-glue/pagination/GetPartitionIndexesPaginator.ts b/clients/client-glue/pagination/GetPartitionIndexesPaginator.ts new file mode 100644 index 000000000000..c30857d81558 --- /dev/null +++ b/clients/client-glue/pagination/GetPartitionIndexesPaginator.ts @@ -0,0 +1,50 @@ +import { Glue } from "../Glue"; +import { GlueClient } from "../GlueClient"; +import { + GetPartitionIndexesCommand, + GetPartitionIndexesCommandInput, + GetPartitionIndexesCommandOutput, +} from "../commands/GetPartitionIndexesCommand"; +import { GluePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GlueClient, + input: GetPartitionIndexesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetPartitionIndexesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Glue, + input: GetPartitionIndexesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getPartitionIndexes(input, ...args); +}; +export async function* getPartitionIndexesPaginate( + config: GluePaginationConfiguration, + input: GetPartitionIndexesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetPartitionIndexesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + 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/GetSecurityConfigurationsPaginator.ts b/clients/client-glue/pagination/GetSecurityConfigurationsPaginator.ts new file mode 100644 index 000000000000..a31f0d2dd8fc --- /dev/null +++ b/clients/client-glue/pagination/GetSecurityConfigurationsPaginator.ts @@ -0,0 +1,51 @@ +import { Glue } from "../Glue"; +import { GlueClient } from "../GlueClient"; +import { + GetSecurityConfigurationsCommand, + GetSecurityConfigurationsCommandInput, + GetSecurityConfigurationsCommandOutput, +} from "../commands/GetSecurityConfigurationsCommand"; +import { GluePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: GlueClient, + input: GetSecurityConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetSecurityConfigurationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Glue, + input: GetSecurityConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getSecurityConfigurations(input, ...args); +}; +export async function* getSecurityConfigurationsPaginate( + config: GluePaginationConfiguration, + input: GetSecurityConfigurationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetSecurityConfigurationsCommandOutput; + 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 941afc09da58..85c0888ce663 100644 --- a/clients/client-glue/protocols/Aws_json1_1.ts +++ b/clients/client-glue/protocols/Aws_json1_1.ts @@ -25,6 +25,10 @@ import { BatchGetPartitionCommandInput, BatchGetPartitionCommandOutput } from ". import { BatchGetTriggersCommandInput, BatchGetTriggersCommandOutput } from "../commands/BatchGetTriggersCommand"; import { BatchGetWorkflowsCommandInput, BatchGetWorkflowsCommandOutput } from "../commands/BatchGetWorkflowsCommand"; import { BatchStopJobRunCommandInput, BatchStopJobRunCommandOutput } from "../commands/BatchStopJobRunCommand"; +import { + BatchUpdatePartitionCommandInput, + BatchUpdatePartitionCommandOutput, +} from "../commands/BatchUpdatePartitionCommand"; import { CancelMLTaskRunCommandInput, CancelMLTaskRunCommandOutput } from "../commands/CancelMLTaskRunCommand"; import { CreateClassifierCommandInput, CreateClassifierCommandOutput } from "../commands/CreateClassifierCommand"; import { CreateConnectionCommandInput, CreateConnectionCommandOutput } from "../commands/CreateConnectionCommand"; @@ -117,6 +121,10 @@ import { GetMLTransformCommandInput, GetMLTransformCommandOutput } from "../comm import { GetMLTransformsCommandInput, GetMLTransformsCommandOutput } from "../commands/GetMLTransformsCommand"; import { GetMappingCommandInput, GetMappingCommandOutput } from "../commands/GetMappingCommand"; import { GetPartitionCommandInput, GetPartitionCommandOutput } from "../commands/GetPartitionCommand"; +import { + GetPartitionIndexesCommandInput, + GetPartitionIndexesCommandOutput, +} from "../commands/GetPartitionIndexesCommand"; import { GetPartitionsCommandInput, GetPartitionsCommandOutput } from "../commands/GetPartitionsCommand"; import { GetPlanCommandInput, GetPlanCommandOutput } from "../commands/GetPlanCommand"; import { @@ -266,6 +274,10 @@ import { BatchStopJobRunRequest, BatchStopJobRunResponse, BatchStopJobRunSuccessfulSubmission, + BatchUpdatePartitionFailureEntry, + BatchUpdatePartitionRequest, + BatchUpdatePartitionRequestEntry, + BatchUpdatePartitionResponse, BinaryColumnStatisticsData, BooleanColumnStatisticsData, CancelMLTaskRunRequest, @@ -435,8 +447,6 @@ import { GetMLTaskRunsResponse, GetMLTransformRequest, GetMLTransformResponse, - GetMLTransformsRequest, - GetMLTransformsResponse, GetMappingRequest, GetMappingResponse, GlueEncryptionException, @@ -458,14 +468,15 @@ import { LastCrawlInfo, Location, LongColumnStatisticsData, - MLTransform, MappingEntry, + MongoDBTarget, Node, NotificationProperty, OperationTimeoutException, Order, Partition, PartitionError, + PartitionIndex, PartitionInput, PartitionValueList, Permission, @@ -493,9 +504,7 @@ import { TaskRunFilterCriteria, TaskRunProperties, TaskRunSortCriteria, - TransformFilterCriteria, TransformParameters, - TransformSortCriteria, Trigger, TriggerNodeDetails, UserDefinedFunctionInput, @@ -509,9 +518,14 @@ import { import { ColumnStatisticsError, ConcurrentRunsExceededException, + ConflictException, CrawlerNotRunningException, CrawlerStoppingException, DevEndpointCustomLibraries, + GetMLTransformsRequest, + GetMLTransformsResponse, + GetPartitionIndexesRequest, + GetPartitionIndexesResponse, GetPartitionRequest, GetPartitionResponse, GetPartitionsRequest, @@ -557,6 +571,7 @@ import { ImportCatalogToGlueRequest, ImportCatalogToGlueResponse, JobUpdate, + KeySchemaElement, ListCrawlersRequest, ListCrawlersResponse, ListDevEndpointsRequest, @@ -569,8 +584,10 @@ import { ListTriggersResponse, ListWorkflowsRequest, ListWorkflowsResponse, + MLTransform, MLTransformNotReadyException, NoScheduleException, + PartitionIndexDescriptor, PropertyPredicate, PutDataCatalogEncryptionSettingsRequest, PutDataCatalogEncryptionSettingsResponse, @@ -619,6 +636,8 @@ import { TableVersion, TagResourceRequest, TagResourceResponse, + TransformFilterCriteria, + TransformSortCriteria, TriggerUpdate, UntagResourceRequest, UntagResourceResponse, @@ -825,6 +844,19 @@ export const serializeAws_json1_1BatchStopJobRunCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1BatchUpdatePartitionCommand = async ( + input: BatchUpdatePartitionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.BatchUpdatePartition", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1BatchUpdatePartitionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CancelMLTaskRunCommand = async ( input: CancelMLTaskRunCommandInput, context: __SerdeContext @@ -1592,6 +1624,19 @@ export const serializeAws_json1_1GetPartitionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetPartitionIndexesCommand = async ( + input: GetPartitionIndexesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSGlue.GetPartitionIndexes", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetPartitionIndexesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetPartitionsCommand = async ( input: GetPartitionsCommandInput, context: __SerdeContext @@ -3314,6 +3359,93 @@ const deserializeAws_json1_1BatchStopJobRunCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1BatchUpdatePartitionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1BatchUpdatePartitionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1BatchUpdatePartitionResponse(data, context); + const response: BatchUpdatePartitionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1BatchUpdatePartitionCommandError = 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 "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 = { + ...(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_1CancelMLTaskRunCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -8079,6 +8211,93 @@ const deserializeAws_json1_1GetPartitionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1GetPartitionIndexesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetPartitionIndexesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetPartitionIndexesResponse(data, context); + const response: GetPartitionIndexesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetPartitionIndexesCommandError = 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 "ConflictException": + case "com.amazonaws.glue#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(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_1GetPartitionsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -13300,6 +13519,21 @@ const deserializeAws_json1_1ConditionCheckFailureExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ConflictException(body, context); + const contents: ConflictException = { + name: "ConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1CrawlerNotRunningExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -13587,6 +13821,19 @@ const serializeAws_json1_1ActionList = (input: Action[], context: __SerdeContext return input.map((entry) => serializeAws_json1_1Action(entry, context)); }; +const serializeAws_json1_1AdditionalPlanOptionsMap = ( + 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_json1_1BatchCreatePartitionRequest = ( input: BatchCreatePartitionRequest, context: __SerdeContext @@ -13740,6 +13987,41 @@ const serializeAws_json1_1BatchStopJobRunRequest = (input: BatchStopJobRunReques }; }; +const serializeAws_json1_1BatchUpdatePartitionRequest = ( + input: BatchUpdatePartitionRequest, + context: __SerdeContext +): any => { + return { + ...(input.CatalogId !== undefined && { CatalogId: input.CatalogId }), + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.Entries !== undefined && { + Entries: serializeAws_json1_1BatchUpdatePartitionRequestEntryList(input.Entries, context), + }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + }; +}; + +const serializeAws_json1_1BatchUpdatePartitionRequestEntry = ( + input: BatchUpdatePartitionRequestEntry, + context: __SerdeContext +): any => { + return { + ...(input.PartitionInput !== undefined && { + PartitionInput: serializeAws_json1_1PartitionInput(input.PartitionInput, context), + }), + ...(input.PartitionValueList !== undefined && { + PartitionValueList: serializeAws_json1_1BoundedPartitionValueList(input.PartitionValueList, context), + }), + }; +}; + +const serializeAws_json1_1BatchUpdatePartitionRequestEntryList = ( + input: BatchUpdatePartitionRequestEntry[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_json1_1BatchUpdatePartitionRequestEntry(entry, context)); +}; + const serializeAws_json1_1BinaryColumnStatisticsData = ( input: BinaryColumnStatisticsData, context: __SerdeContext @@ -13988,6 +14270,9 @@ const serializeAws_json1_1CrawlerTargets = (input: CrawlerTargets, context: __Se ...(input.JdbcTargets !== undefined && { JdbcTargets: serializeAws_json1_1JdbcTargetList(input.JdbcTargets, context), }), + ...(input.MongoDBTargets !== undefined && { + MongoDBTargets: serializeAws_json1_1MongoDBTargetList(input.MongoDBTargets, context), + }), ...(input.S3Targets !== undefined && { S3Targets: serializeAws_json1_1S3TargetList(input.S3Targets, context) }), }; }; @@ -14207,6 +14492,9 @@ const serializeAws_json1_1CreateTableRequest = (input: CreateTableRequest, conte return { ...(input.CatalogId !== undefined && { CatalogId: input.CatalogId }), ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.PartitionIndexes !== undefined && { + PartitionIndexes: serializeAws_json1_1PartitionIndexList(input.PartitionIndexes, context), + }), ...(input.TableInput !== undefined && { TableInput: serializeAws_json1_1TableInput(input.TableInput, context) }), }; }; @@ -14244,6 +14532,7 @@ const serializeAws_json1_1CreateWorkflowRequest = (input: CreateWorkflowRequest, DefaultRunProperties: serializeAws_json1_1WorkflowRunProperties(input.DefaultRunProperties, context), }), ...(input.Description !== undefined && { Description: input.Description }), + ...(input.MaxConcurrentRuns !== undefined && { MaxConcurrentRuns: input.MaxConcurrentRuns }), ...(input.Name !== undefined && { Name: input.Name }), ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagsMap(input.Tags, context) }), }; @@ -14825,6 +15114,18 @@ const serializeAws_json1_1GetMLTransformsRequest = (input: GetMLTransformsReques }; }; +const serializeAws_json1_1GetPartitionIndexesRequest = ( + input: GetPartitionIndexesRequest, + context: __SerdeContext +): any => { + return { + ...(input.CatalogId !== undefined && { CatalogId: input.CatalogId }), + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + }; +}; + const serializeAws_json1_1GetPartitionRequest = (input: GetPartitionRequest, context: __SerdeContext): any => { return { ...(input.CatalogId !== undefined && { CatalogId: input.CatalogId }), @@ -14850,6 +15151,9 @@ const serializeAws_json1_1GetPartitionsRequest = (input: GetPartitionsRequest, c const serializeAws_json1_1GetPlanRequest = (input: GetPlanRequest, context: __SerdeContext): any => { return { + ...(input.AdditionalPlanOptionsMap !== undefined && { + AdditionalPlanOptionsMap: serializeAws_json1_1AdditionalPlanOptionsMap(input.AdditionalPlanOptionsMap, context), + }), ...(input.Language !== undefined && { Language: input.Language }), ...(input.Location !== undefined && { Location: serializeAws_json1_1Location(input.Location, context) }), ...(input.Mapping !== undefined && { Mapping: serializeAws_json1_1MappingList(input.Mapping, context) }), @@ -15098,6 +15402,10 @@ const serializeAws_json1_1JobUpdate = (input: JobUpdate, context: __SerdeContext }; }; +const serializeAws_json1_1KeyList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1ListCrawlersRequest = (input: ListCrawlersRequest, context: __SerdeContext): any => { return { ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), @@ -15207,6 +15515,18 @@ const serializeAws_json1_1MatchCriteria = (input: string[], context: __SerdeCont return input.map((entry) => entry); }; +const serializeAws_json1_1MongoDBTarget = (input: MongoDBTarget, context: __SerdeContext): any => { + return { + ...(input.ConnectionName !== undefined && { ConnectionName: input.ConnectionName }), + ...(input.Path !== undefined && { Path: input.Path }), + ...(input.ScanAll !== undefined && { ScanAll: input.ScanAll }), + }; +}; + +const serializeAws_json1_1MongoDBTargetList = (input: MongoDBTarget[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1MongoDBTarget(entry, context)); +}; + const serializeAws_json1_1NameStringList = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -15246,6 +15566,17 @@ const serializeAws_json1_1ParametersMap = (input: { [key: string]: string }, con ); }; +const serializeAws_json1_1PartitionIndex = (input: PartitionIndex, context: __SerdeContext): any => { + return { + ...(input.IndexName !== undefined && { IndexName: input.IndexName }), + ...(input.Keys !== undefined && { Keys: serializeAws_json1_1KeyList(input.Keys, context) }), + }; +}; + +const serializeAws_json1_1PartitionIndexList = (input: PartitionIndex[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1PartitionIndex(entry, context)); +}; + const serializeAws_json1_1PartitionInput = (input: PartitionInput, context: __SerdeContext): any => { return { ...(input.LastAccessTime !== undefined && { LastAccessTime: Math.round(input.LastAccessTime.getTime() / 1000) }), @@ -15408,6 +15739,7 @@ const serializeAws_json1_1S3EncryptionList = (input: S3Encryption[], context: __ const serializeAws_json1_1S3Target = (input: S3Target, context: __SerdeContext): any => { return { + ...(input.ConnectionName !== undefined && { ConnectionName: input.ConnectionName }), ...(input.Exclusions !== undefined && { Exclusions: serializeAws_json1_1PathList(input.Exclusions, context) }), ...(input.Path !== undefined && { Path: input.Path }), }; @@ -16021,6 +16353,7 @@ const serializeAws_json1_1UpdateWorkflowRequest = (input: UpdateWorkflowRequest, DefaultRunProperties: serializeAws_json1_1WorkflowRunProperties(input.DefaultRunProperties, context), }), ...(input.Description !== undefined && { Description: input.Description }), + ...(input.MaxConcurrentRuns !== undefined && { MaxConcurrentRuns: input.MaxConcurrentRuns }), ...(input.Name !== undefined && { Name: input.Name }), }; }; @@ -16320,6 +16653,41 @@ const deserializeAws_json1_1BatchStopJobRunSuccessfulSubmissionList = ( return (output || []).map((entry: any) => deserializeAws_json1_1BatchStopJobRunSuccessfulSubmission(entry, context)); }; +const deserializeAws_json1_1BatchUpdatePartitionFailureEntry = ( + output: any, + context: __SerdeContext +): BatchUpdatePartitionFailureEntry => { + return { + ErrorDetail: + output.ErrorDetail !== undefined && output.ErrorDetail !== null + ? deserializeAws_json1_1ErrorDetail(output.ErrorDetail, context) + : undefined, + PartitionValueList: + output.PartitionValueList !== undefined && output.PartitionValueList !== null + ? deserializeAws_json1_1BoundedPartitionValueList(output.PartitionValueList, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1BatchUpdatePartitionFailureList = ( + output: any, + context: __SerdeContext +): BatchUpdatePartitionFailureEntry[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1BatchUpdatePartitionFailureEntry(entry, context)); +}; + +const deserializeAws_json1_1BatchUpdatePartitionResponse = ( + output: any, + context: __SerdeContext +): BatchUpdatePartitionResponse => { + return { + Errors: + output.Errors !== undefined && output.Errors !== null + ? deserializeAws_json1_1BatchUpdatePartitionFailureList(output.Errors, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1BinaryColumnStatisticsData = ( output: any, context: __SerdeContext @@ -16348,6 +16716,10 @@ const deserializeAws_json1_1BooleanColumnStatisticsData = ( } as any; }; +const deserializeAws_json1_1BoundedPartitionValueList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1CancelMLTaskRunResponse = ( output: any, context: __SerdeContext @@ -16610,6 +16982,12 @@ const deserializeAws_json1_1ConditionList = (output: any, context: __SerdeContex return (output || []).map((entry: any) => deserializeAws_json1_1Condition(entry, context)); }; +const deserializeAws_json1_1ConflictException = (output: any, context: __SerdeContext): ConflictException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1ConfusionMatrix = (output: any, context: __SerdeContext): ConfusionMatrix => { return { NumFalseNegatives: @@ -16848,6 +17226,10 @@ const deserializeAws_json1_1CrawlerTargets = (output: any, context: __SerdeConte output.JdbcTargets !== undefined && output.JdbcTargets !== null ? deserializeAws_json1_1JdbcTargetList(output.JdbcTargets, context) : undefined, + MongoDBTargets: + output.MongoDBTargets !== undefined && output.MongoDBTargets !== null + ? deserializeAws_json1_1MongoDBTargetList(output.MongoDBTargets, context) + : undefined, S3Targets: output.S3Targets !== undefined && output.S3Targets !== null ? deserializeAws_json1_1S3TargetList(output.S3Targets, context) @@ -17854,6 +18236,19 @@ const deserializeAws_json1_1GetMLTransformsResponse = ( } as any; }; +const deserializeAws_json1_1GetPartitionIndexesResponse = ( + output: any, + context: __SerdeContext +): GetPartitionIndexesResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + PartitionIndexDescriptorList: + output.PartitionIndexDescriptorList !== undefined && output.PartitionIndexDescriptorList !== null + ? deserializeAws_json1_1PartitionIndexDescriptorList(output.PartitionIndexDescriptorList, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1GetPartitionResponse = (output: any, context: __SerdeContext): GetPartitionResponse => { return { Partition: @@ -18388,6 +18783,17 @@ const deserializeAws_json1_1JsonClassifier = (output: any, context: __SerdeConte } as any; }; +const deserializeAws_json1_1KeySchemaElement = (output: any, context: __SerdeContext): KeySchemaElement => { + return { + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_json1_1KeySchemaElementList = (output: any, context: __SerdeContext): KeySchemaElement[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1KeySchemaElement(entry, context)); +}; + const deserializeAws_json1_1LabelingSetGenerationTaskRunProperties = ( output: any, context: __SerdeContext @@ -18584,6 +18990,19 @@ const deserializeAws_json1_1MLTransformNotReadyException = ( } as any; }; +const deserializeAws_json1_1MongoDBTarget = (output: any, context: __SerdeContext): MongoDBTarget => { + return { + ConnectionName: + output.ConnectionName !== undefined && output.ConnectionName !== null ? output.ConnectionName : undefined, + Path: output.Path !== undefined && output.Path !== null ? output.Path : undefined, + ScanAll: output.ScanAll !== undefined && output.ScanAll !== null ? output.ScanAll : undefined, + } as any; +}; + +const deserializeAws_json1_1MongoDBTargetList = (output: any, context: __SerdeContext): MongoDBTarget[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1MongoDBTarget(entry, context)); +}; + const deserializeAws_json1_1NameStringList = (output: any, context: __SerdeContext): string[] => { return (output || []).map((entry: any) => entry); }; @@ -18712,6 +19131,27 @@ const deserializeAws_json1_1PartitionErrors = (output: any, context: __SerdeCont return (output || []).map((entry: any) => deserializeAws_json1_1PartitionError(entry, context)); }; +const deserializeAws_json1_1PartitionIndexDescriptor = ( + output: any, + context: __SerdeContext +): PartitionIndexDescriptor => { + return { + IndexName: output.IndexName !== undefined && output.IndexName !== null ? output.IndexName : undefined, + IndexStatus: output.IndexStatus !== undefined && output.IndexStatus !== null ? output.IndexStatus : undefined, + Keys: + output.Keys !== undefined && output.Keys !== null + ? deserializeAws_json1_1KeySchemaElementList(output.Keys, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1PartitionIndexDescriptorList = ( + output: any, + context: __SerdeContext +): PartitionIndexDescriptor[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1PartitionIndexDescriptor(entry, context)); +}; + const deserializeAws_json1_1PartitionList = (output: any, context: __SerdeContext): Partition[] => { return (output || []).map((entry: any) => deserializeAws_json1_1Partition(entry, context)); }; @@ -18875,6 +19315,8 @@ const deserializeAws_json1_1S3EncryptionList = (output: any, context: __SerdeCon const deserializeAws_json1_1S3Target = (output: any, context: __SerdeContext): S3Target => { return { + ConnectionName: + output.ConnectionName !== undefined && output.ConnectionName !== null ? output.ConnectionName : undefined, Exclusions: output.Exclusions !== undefined && output.Exclusions !== null ? deserializeAws_json1_1PathList(output.Exclusions, context) @@ -19572,6 +20014,10 @@ const deserializeAws_json1_1Workflow = (output: any, context: __SerdeContext): W output.LastRun !== undefined && output.LastRun !== null ? deserializeAws_json1_1WorkflowRun(output.LastRun, context) : undefined, + MaxConcurrentRuns: + output.MaxConcurrentRuns !== undefined && output.MaxConcurrentRuns !== null + ? output.MaxConcurrentRuns + : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, } as any; }; @@ -19599,6 +20045,7 @@ const deserializeAws_json1_1WorkflowRun = (output: any, context: __SerdeContext) output.CompletedOn !== undefined && output.CompletedOn !== null ? new Date(Math.round(output.CompletedOn * 1000)) : undefined, + ErrorMessage: output.ErrorMessage !== undefined && output.ErrorMessage !== null ? output.ErrorMessage : undefined, Graph: output.Graph !== undefined && output.Graph !== null ? deserializeAws_json1_1WorkflowGraph(output.Graph, context) diff --git a/clients/client-greengrass/Greengrass.ts b/clients/client-greengrass/Greengrass.ts index 6ab470490ca8..b6f46e1eca54 100644 --- a/clients/client-greengrass/Greengrass.ts +++ b/clients/client-greengrass/Greengrass.ts @@ -257,6 +257,11 @@ import { GetSubscriptionDefinitionVersionCommandInput, GetSubscriptionDefinitionVersionCommandOutput, } from "./commands/GetSubscriptionDefinitionVersionCommand"; +import { + GetThingRuntimeConfigurationCommand, + GetThingRuntimeConfigurationCommandInput, + GetThingRuntimeConfigurationCommandOutput, +} from "./commands/GetThingRuntimeConfigurationCommand"; import { ListBulkDeploymentDetailedReportsCommand, ListBulkDeploymentDetailedReportsCommandInput, @@ -425,6 +430,11 @@ import { UpdateSubscriptionDefinitionCommandInput, UpdateSubscriptionDefinitionCommandOutput, } from "./commands/UpdateSubscriptionDefinitionCommand"; +import { + UpdateThingRuntimeConfigurationCommand, + UpdateThingRuntimeConfigurationCommandInput, + UpdateThingRuntimeConfigurationCommandOutput, +} from "./commands/UpdateThingRuntimeConfigurationCommand"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** @@ -2141,6 +2151,38 @@ export class Greengrass extends GreengrassClient { } } + /** + * Get the runtime configuration of a thing. + */ + public getThingRuntimeConfiguration( + args: GetThingRuntimeConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getThingRuntimeConfiguration( + args: GetThingRuntimeConfigurationCommandInput, + cb: (err: any, data?: GetThingRuntimeConfigurationCommandOutput) => void + ): void; + public getThingRuntimeConfiguration( + args: GetThingRuntimeConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetThingRuntimeConfigurationCommandOutput) => void + ): void; + public getThingRuntimeConfiguration( + args: GetThingRuntimeConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetThingRuntimeConfigurationCommandOutput) => void), + cb?: (err: any, data?: GetThingRuntimeConfigurationCommandOutput) => void + ): Promise | void { + const command = new GetThingRuntimeConfigurationCommand(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 a paginated list of the deployments that have been started in a bulk deployment operation, and their current deployment status. */ @@ -3274,4 +3316,36 @@ export class Greengrass extends GreengrassClient { return this.send(command, optionsOrCb); } } + + /** + * Updates the runtime configuration of a thing. + */ + public updateThingRuntimeConfiguration( + args: UpdateThingRuntimeConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateThingRuntimeConfiguration( + args: UpdateThingRuntimeConfigurationCommandInput, + cb: (err: any, data?: UpdateThingRuntimeConfigurationCommandOutput) => void + ): void; + public updateThingRuntimeConfiguration( + args: UpdateThingRuntimeConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateThingRuntimeConfigurationCommandOutput) => void + ): void; + public updateThingRuntimeConfiguration( + args: UpdateThingRuntimeConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateThingRuntimeConfigurationCommandOutput) => void), + cb?: (err: any, data?: UpdateThingRuntimeConfigurationCommandOutput) => void + ): Promise | void { + const command = new UpdateThingRuntimeConfigurationCommand(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-greengrass/GreengrassClient.ts b/clients/client-greengrass/GreengrassClient.ts index fd3a6e16fc50..ac324bca6e19 100644 --- a/clients/client-greengrass/GreengrassClient.ts +++ b/clients/client-greengrass/GreengrassClient.ts @@ -190,6 +190,10 @@ import { GetSubscriptionDefinitionVersionCommandInput, GetSubscriptionDefinitionVersionCommandOutput, } from "./commands/GetSubscriptionDefinitionVersionCommand"; +import { + GetThingRuntimeConfigurationCommandInput, + GetThingRuntimeConfigurationCommandOutput, +} from "./commands/GetThingRuntimeConfigurationCommand"; import { ListBulkDeploymentDetailedReportsCommandInput, ListBulkDeploymentDetailedReportsCommandOutput, @@ -310,6 +314,10 @@ import { UpdateSubscriptionDefinitionCommandInput, UpdateSubscriptionDefinitionCommandOutput, } from "./commands/UpdateSubscriptionDefinitionCommand"; +import { + UpdateThingRuntimeConfigurationCommandInput, + UpdateThingRuntimeConfigurationCommandOutput, +} from "./commands/UpdateThingRuntimeConfigurationCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; import { EndpointsInputConfig, @@ -414,6 +422,7 @@ export type ServiceInputTypes = | GetServiceRoleForAccountCommandInput | GetSubscriptionDefinitionCommandInput | GetSubscriptionDefinitionVersionCommandInput + | GetThingRuntimeConfigurationCommandInput | ListBulkDeploymentDetailedReportsCommandInput | ListBulkDeploymentsCommandInput | ListConnectorDefinitionVersionsCommandInput @@ -449,7 +458,8 @@ export type ServiceInputTypes = | UpdateGroupCommandInput | UpdateLoggerDefinitionCommandInput | UpdateResourceDefinitionCommandInput - | UpdateSubscriptionDefinitionCommandInput; + | UpdateSubscriptionDefinitionCommandInput + | UpdateThingRuntimeConfigurationCommandInput; export type ServiceOutputTypes = | AssociateRoleToGroupCommandOutput @@ -506,6 +516,7 @@ export type ServiceOutputTypes = | GetServiceRoleForAccountCommandOutput | GetSubscriptionDefinitionCommandOutput | GetSubscriptionDefinitionVersionCommandOutput + | GetThingRuntimeConfigurationCommandOutput | ListBulkDeploymentDetailedReportsCommandOutput | ListBulkDeploymentsCommandOutput | ListConnectorDefinitionVersionsCommandOutput @@ -541,7 +552,8 @@ export type ServiceOutputTypes = | UpdateGroupCommandOutput | UpdateLoggerDefinitionCommandOutput | UpdateResourceDefinitionCommandOutput - | UpdateSubscriptionDefinitionCommandOutput; + | UpdateSubscriptionDefinitionCommandOutput + | UpdateThingRuntimeConfigurationCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** diff --git a/clients/client-greengrass/commands/GetThingRuntimeConfigurationCommand.ts b/clients/client-greengrass/commands/GetThingRuntimeConfigurationCommand.ts new file mode 100644 index 000000000000..5da24b24e9da --- /dev/null +++ b/clients/client-greengrass/commands/GetThingRuntimeConfigurationCommand.ts @@ -0,0 +1,73 @@ +import { GreengrassClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GreengrassClient"; +import { GetThingRuntimeConfigurationRequest, GetThingRuntimeConfigurationResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetThingRuntimeConfigurationCommand, + serializeAws_restJson1GetThingRuntimeConfigurationCommand, +} 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 GetThingRuntimeConfigurationCommandInput = GetThingRuntimeConfigurationRequest; +export type GetThingRuntimeConfigurationCommandOutput = GetThingRuntimeConfigurationResponse & __MetadataBearer; + +export class GetThingRuntimeConfigurationCommand extends $Command< + GetThingRuntimeConfigurationCommandInput, + GetThingRuntimeConfigurationCommandOutput, + GreengrassClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetThingRuntimeConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GreengrassClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetThingRuntimeConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetThingRuntimeConfigurationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetThingRuntimeConfigurationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetThingRuntimeConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1GetThingRuntimeConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-greengrass/commands/UpdateThingRuntimeConfigurationCommand.ts b/clients/client-greengrass/commands/UpdateThingRuntimeConfigurationCommand.ts new file mode 100644 index 000000000000..28535bc27469 --- /dev/null +++ b/clients/client-greengrass/commands/UpdateThingRuntimeConfigurationCommand.ts @@ -0,0 +1,76 @@ +import { GreengrassClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GreengrassClient"; +import { UpdateThingRuntimeConfigurationRequest, UpdateThingRuntimeConfigurationResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateThingRuntimeConfigurationCommand, + serializeAws_restJson1UpdateThingRuntimeConfigurationCommand, +} 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 UpdateThingRuntimeConfigurationCommandInput = UpdateThingRuntimeConfigurationRequest; +export type UpdateThingRuntimeConfigurationCommandOutput = UpdateThingRuntimeConfigurationResponse & __MetadataBearer; + +export class UpdateThingRuntimeConfigurationCommand extends $Command< + UpdateThingRuntimeConfigurationCommandInput, + UpdateThingRuntimeConfigurationCommandOutput, + GreengrassClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateThingRuntimeConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: GreengrassClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateThingRuntimeConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateThingRuntimeConfigurationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: UpdateThingRuntimeConfigurationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateThingRuntimeConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1UpdateThingRuntimeConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-greengrass/index.ts b/clients/client-greengrass/index.ts index 95a48d096772..c349b51b9c51 100644 --- a/clients/client-greengrass/index.ts +++ b/clients/client-greengrass/index.ts @@ -54,6 +54,7 @@ export * from "./commands/GetResourceDefinitionVersionCommand"; export * from "./commands/GetServiceRoleForAccountCommand"; export * from "./commands/GetSubscriptionDefinitionCommand"; export * from "./commands/GetSubscriptionDefinitionVersionCommand"; +export * from "./commands/GetThingRuntimeConfigurationCommand"; export * from "./commands/ListBulkDeploymentDetailedReportsCommand"; export * from "./commands/ListBulkDeploymentsCommand"; export * from "./commands/ListConnectorDefinitionsCommand"; @@ -90,4 +91,5 @@ export * from "./commands/UpdateGroupCertificateConfigurationCommand"; export * from "./commands/UpdateLoggerDefinitionCommand"; export * from "./commands/UpdateResourceDefinitionCommand"; export * from "./commands/UpdateSubscriptionDefinitionCommand"; +export * from "./commands/UpdateThingRuntimeConfigurationCommand"; export * from "./models/index"; diff --git a/clients/client-greengrass/models/models_0.ts b/clients/client-greengrass/models/models_0.ts index 9876c768a309..17d19535dfb6 100644 --- a/clients/client-greengrass/models/models_0.ts +++ b/clients/client-greengrass/models/models_0.ts @@ -11,9 +11,9 @@ export interface ConnectivityInfo { HostAddress?: string; /** - * The ID of the connectivity information. + * Metadata for this endpoint. */ - Id?: string; + Metadata?: string; /** * The port of the Greengrass core. Usually 8883. @@ -21,9 +21,9 @@ export interface ConnectivityInfo { PortNumber?: number; /** - * Metadata for this endpoint. + * The ID of the connectivity information. */ - Metadata?: string; + Id?: string; } export namespace ConnectivityInfo { @@ -63,24 +63,24 @@ export namespace Connector { */ export interface Core { /** - * The ARN of the certificate associated with the core. + * If true, the core's local shadow is automatically synced with the cloud. */ - CertificateArn: string | undefined; + SyncShadow?: boolean; /** - * A descriptive or arbitrary ID for the core. This value must be unique within the core definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. + * The ARN of the thing which is the core. */ - Id: string | undefined; + ThingArn: string | undefined; /** - * If true, the core's local shadow is automatically synced with the cloud. + * The ARN of the certificate associated with the core. */ - SyncShadow?: boolean; + CertificateArn: string | undefined; /** - * The ARN of the thing which is the core. + * A descriptive or arbitrary ID for the core. This value must be unique within the core definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. */ - ThingArn: string | undefined; + Id: string | undefined; } export namespace Core { @@ -94,19 +94,14 @@ export namespace Core { */ export interface DefinitionInformation { /** - * The name of the definition. - */ - Name?: string; - - /** - * The ID of the definition. + * Tag(s) attached to the resource arn. */ - Id?: string; + Tags?: { [key: string]: string }; /** - * The time, in milliseconds since the epoch, when the definition was created. + * The ARN of the latest version associated with the definition. */ - CreationTimestamp?: string; + LatestVersionArn?: string; /** * The ID of the latest version associated with the definition. @@ -114,9 +109,9 @@ export interface DefinitionInformation { LatestVersion?: string; /** - * The ARN of the definition. + * The name of the definition. */ - Arn?: string; + Name?: string; /** * The time, in milliseconds since the epoch, when the definition was last updated. @@ -124,14 +119,19 @@ export interface DefinitionInformation { LastUpdatedTimestamp?: string; /** - * Tag(s) attached to the resource arn. + * The ARN of the definition. */ - Tags?: { [key: string]: string }; + Arn?: string; /** - * The ARN of the latest version associated with the definition. + * The ID of the definition. */ - LatestVersionArn?: string; + Id?: string; + + /** + * The time, in milliseconds since the epoch, when the definition was created. + */ + CreationTimestamp?: string; } export namespace DefinitionInformation { @@ -145,9 +145,9 @@ export namespace DefinitionInformation { */ export interface Device { /** - * If true, the device's local shadow will be automatically synced with the cloud. + * A descriptive or arbitrary ID for the device. This value must be unique within the device definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. */ - SyncShadow?: boolean; + Id: string | undefined; /** * The thing ARN of the device. @@ -155,14 +155,14 @@ export interface Device { ThingArn: string | undefined; /** - * A descriptive or arbitrary ID for the device. This value must be unique within the device definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. + * The ARN of the certificate associated with the device. */ - Id: string | undefined; + CertificateArn: string | undefined; /** - * The ARN of the certificate associated with the device. + * If true, the device's local shadow will be automatically synced with the cloud. */ - CertificateArn: string | undefined; + SyncShadow?: boolean; } export namespace Device { @@ -186,14 +186,14 @@ export enum FunctionIsolationMode { */ export interface FunctionRunAsConfig { /** - * The group ID whose permissions are used to run a Lambda function. + * The user ID whose permissions are used to run a Lambda function. */ - Gid?: number; + Uid?: number; /** - * The user ID whose permissions are used to run a Lambda function. + * The group ID whose permissions are used to run a Lambda function. */ - Uid?: number; + Gid?: number; } export namespace FunctionRunAsConfig { @@ -207,14 +207,14 @@ export namespace FunctionRunAsConfig { */ export interface FunctionExecutionConfig { /** - * Specifies whether the Lambda function runs in a Greengrass container (default) or without containerization. Unless your scenario requires that you run without containerization, we recommend that you run in a Greengrass container. Omit this value to run the Lambda function with the default containerization for the group. + * Specifies the user and group whose permissions are used when running the Lambda function. You can specify one or both values to override the default values. We recommend that you avoid running as root unless absolutely necessary to minimize the risk of unintended changes or malicious attacks. To run as root, you must set ''IsolationMode'' to ''NoContainer'' and update config.json in ''greengrass-root/config'' to set ''allowFunctionsToRunAsRoot'' to ''yes''. */ - IsolationMode?: FunctionIsolationMode | string; + RunAs?: FunctionRunAsConfig; /** - * Specifies the user and group whose permissions are used when running the Lambda function. You can specify one or both values to override the default values. We recommend that you avoid running as root unless absolutely necessary to minimize the risk of unintended changes or malicious attacks. To run as root, you must set ''IsolationMode'' to ''NoContainer'' and update config.json in ''greengrass-root/config'' to set ''allowFunctionsToRunAsRoot'' to ''yes''. + * Specifies whether the Lambda function runs in a Greengrass container (default) or without containerization. Unless your scenario requires that you run without containerization, we recommend that you run in a Greengrass container. Omit this value to run the Lambda function with the default containerization for the group. */ - RunAs?: FunctionRunAsConfig; + IsolationMode?: FunctionIsolationMode | string; } export namespace FunctionExecutionConfig { @@ -254,14 +254,14 @@ export namespace ResourceAccessPolicy { */ export interface FunctionConfigurationEnvironment { /** - * Environment variables for the Lambda function's configuration. + * Configuration related to executing the Lambda function */ - Variables?: { [key: string]: string }; + Execution?: FunctionExecutionConfig; /** - * A list of the resources, with their permissions, to which the Lambda function will be granted access. A Lambda function can have at most 10 resources. ResourceAccessPolicies apply only when you run the Lambda function in a Greengrass container. + * Environment variables for the Lambda function's configuration. */ - ResourceAccessPolicies?: ResourceAccessPolicy[]; + Variables?: { [key: string]: string }; /** * If true, the Lambda function is allowed to access the host's /sys folder. Use this when the Lambda function needs to read device information from /sys. This setting applies only when you run the Lambda function in a Greengrass container. @@ -269,9 +269,9 @@ export interface FunctionConfigurationEnvironment { AccessSysfs?: boolean; /** - * Configuration related to executing the Lambda function + * A list of the resources, with their permissions, to which the Lambda function will be granted access. A Lambda function can have at most 10 resources. ResourceAccessPolicies apply only when you run the Lambda function in a Greengrass container. */ - Execution?: FunctionExecutionConfig; + ResourceAccessPolicies?: ResourceAccessPolicy[]; } export namespace FunctionConfigurationEnvironment { @@ -285,14 +285,9 @@ export namespace FunctionConfigurationEnvironment { */ export interface FunctionConfiguration { /** - * The allowed function execution time, after which Lambda should terminate the function. This timeout still applies to pinned Lambda functions for each request. - */ - Timeout?: number; - - /** - * True if the function is pinned. Pinned means the function is long-lived and starts when the core starts. + * The name of the function executable. */ - Pinned?: boolean; + Executable?: string; /** * The expected encoding type of the input payload for the function. The default is ''json''. @@ -300,14 +295,14 @@ export interface FunctionConfiguration { EncodingType?: EncodingType | string; /** - * The name of the function executable. + * True if the function is pinned. Pinned means the function is long-lived and starts when the core starts. */ - Executable?: string; + Pinned?: boolean; /** - * The environment configuration of the function. + * The execution arguments. */ - Environment?: FunctionConfigurationEnvironment; + ExecArgs?: string; /** * The memory size, in KB, which the function requires. This setting is not applicable and should be cleared when you run the Lambda function without containerization. @@ -315,9 +310,14 @@ export interface FunctionConfiguration { MemorySize?: number; /** - * The execution arguments. + * The allowed function execution time, after which Lambda should terminate the function. This timeout still applies to pinned Lambda functions for each request. */ - ExecArgs?: string; + Timeout?: number; + + /** + * The environment configuration of the function. + */ + Environment?: FunctionConfigurationEnvironment; } export namespace FunctionConfiguration { @@ -330,6 +330,11 @@ export namespace FunctionConfiguration { * Information about a Lambda function. */ export interface Function { + /** + * The ARN of the Lambda function. + */ + FunctionArn?: string; + /** * The configuration of the Lambda function. */ @@ -339,11 +344,6 @@ export interface Function { * A descriptive or arbitrary ID for the function. This value must be unique within the function definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. */ Id: string | undefined; - - /** - * The ARN of the Lambda function. - */ - FunctionArn?: string; } export namespace Function { @@ -378,39 +378,39 @@ export namespace GroupCertificateAuthorityProperties { */ export interface GroupInformation { /** - * The time, in milliseconds since the epoch, when the group was created. + * The ID of the latest version associated with the group. */ - CreationTimestamp?: string; + LatestVersion?: string; /** - * The ID of the latest version associated with the group. + * The ID of the group. */ - LatestVersion?: string; + Id?: string; /** - * The ARN of the latest version associated with the group. + * The ARN of the group. */ - LatestVersionArn?: string; + Arn?: string; /** - * The time, in milliseconds since the epoch, when the group was last updated. + * The name of the group. */ - LastUpdatedTimestamp?: string; + Name?: string; /** - * The ID of the group. + * The time, in milliseconds since the epoch, when the group was created. */ - Id?: string; + CreationTimestamp?: string; /** - * The name of the group. + * The ARN of the latest version associated with the group. */ - Name?: string; + LatestVersionArn?: string; /** - * The ARN of the group. + * The time, in milliseconds since the epoch, when the group was last updated. */ - Arn?: string; + LastUpdatedTimestamp?: string; } export namespace GroupInformation { @@ -442,29 +442,29 @@ export enum LoggerType { */ export interface Logger { /** - * The amount of file space, in KB, to use if the local file system is used for logging purposes. + * A descriptive or arbitrary ID for the logger. This value must be unique within the logger definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. */ - Space?: number; + Id: string | undefined; /** - * The type of log output which will be used. + * The component that will be subject to logging. */ - Type: LoggerType | string | undefined; + Component: LoggerComponent | string | undefined; /** - * The level of the logs. + * The amount of file space, in KB, to use if the local file system is used for logging purposes. */ - Level: LoggerLevel | string | undefined; + Space?: number; /** - * The component that will be subject to logging. + * The level of the logs. */ - Component: LoggerComponent | string | undefined; + Level: LoggerLevel | string | undefined; /** - * A descriptive or arbitrary ID for the logger. This value must be unique within the logger definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. + * The type of log output which will be used. */ - Id: string | undefined; + Type: LoggerType | string | undefined; } export namespace Logger { @@ -499,14 +499,14 @@ export namespace GroupOwnerSetting { */ export interface LocalDeviceResourceData { /** - * Group/owner related settings for local resources. + * The local absolute path of the device resource. The source path for a device resource can refer only to a character device or block device under ''/dev''. */ - GroupOwnerSetting?: GroupOwnerSetting; + SourcePath?: string; /** - * The local absolute path of the device resource. The source path for a device resource can refer only to a character device or block device under ''/dev''. + * Group/owner related settings for local resources. */ - SourcePath?: string; + GroupOwnerSetting?: GroupOwnerSetting; } export namespace LocalDeviceResourceData { @@ -519,11 +519,6 @@ export namespace LocalDeviceResourceData { * Attributes that define a local volume resource. */ export interface LocalVolumeResourceData { - /** - * The absolute local path of the resource inside the Lambda environment. - */ - DestinationPath?: string; - /** * The local absolute path of the volume resource on the host. The source path for a volume resource type cannot start with ''/sys''. */ @@ -533,6 +528,11 @@ export interface LocalVolumeResourceData { * Allows you to configure additional group privileges for the Lambda process. This field is optional. */ GroupOwnerSetting?: GroupOwnerSetting; + + /** + * The absolute local path of the resource inside the Lambda environment. + */ + DestinationPath?: string; } export namespace LocalVolumeResourceData { @@ -546,14 +546,14 @@ export namespace LocalVolumeResourceData { */ export interface ResourceDownloadOwnerSetting { /** - * The permissions that the group owner has to the resource. Valid values are ''rw'' (read/write) or ''ro'' (read-only). + * The group owner of the resource. This is the name of an existing Linux OS group on the system or a GID. The group's permissions are added to the Lambda process. */ - GroupPermission: Permission | string | undefined; + GroupOwner: string | undefined; /** - * The group owner of the resource. This is the name of an existing Linux OS group on the system or a GID. The group's permissions are added to the Lambda process. + * The permissions that the group owner has to the resource. Valid values are ''rw'' (read/write) or ''ro'' (read-only). */ - GroupOwner: string | undefined; + GroupPermission: Permission | string | undefined; } export namespace ResourceDownloadOwnerSetting { @@ -566,11 +566,6 @@ export namespace ResourceDownloadOwnerSetting { * Attributes that define an Amazon S3 machine learning resource. */ export interface S3MachineLearningModelResourceData { - /** - * The URI of the source model in an S3 bucket. The model package must be in tar.gz or .zip format. - */ - S3Uri?: string; - /** * The absolute local path of the resource inside the Lambda environment. */ @@ -580,6 +575,11 @@ export interface S3MachineLearningModelResourceData { * The owner setting for downloaded machine learning resources. */ OwnerSetting?: ResourceDownloadOwnerSetting; + + /** + * The URI of the source model in an S3 bucket. The model package must be in tar.gz or .zip format. + */ + S3Uri?: string; } export namespace S3MachineLearningModelResourceData { @@ -592,6 +592,11 @@ export namespace S3MachineLearningModelResourceData { * Attributes that define an Amazon SageMaker machine learning resource. */ export interface SageMakerMachineLearningModelResourceData { + /** + * The absolute local path of the resource inside the Lambda environment. + */ + DestinationPath?: string; + /** * The ARN of the Amazon SageMaker training job that represents the source model. */ @@ -601,11 +606,6 @@ export interface SageMakerMachineLearningModelResourceData { * The owner setting for downloaded machine learning resources. */ OwnerSetting?: ResourceDownloadOwnerSetting; - - /** - * The absolute local path of the resource inside the Lambda environment. - */ - DestinationPath?: string; } export namespace SageMakerMachineLearningModelResourceData { @@ -640,14 +640,14 @@ export namespace SecretsManagerSecretResourceData { */ export interface ResourceDataContainer { /** - * Attributes that define an Amazon SageMaker machine learning resource. + * Attributes that define a secret resource, which references a secret from AWS Secrets Manager. */ - SageMakerMachineLearningModelResourceData?: SageMakerMachineLearningModelResourceData; + SecretsManagerSecretResourceData?: SecretsManagerSecretResourceData; /** - * Attributes that define a secret resource, which references a secret from AWS Secrets Manager. + * Attributes that define an Amazon SageMaker machine learning resource. */ - SecretsManagerSecretResourceData?: SecretsManagerSecretResourceData; + SageMakerMachineLearningModelResourceData?: SageMakerMachineLearningModelResourceData; /** * Attributes that define an Amazon S3 machine learning resource. @@ -675,11 +675,6 @@ export namespace ResourceDataContainer { * Information about a resource. */ export interface Resource { - /** - * A container of data for all resource types. - */ - ResourceDataContainer: ResourceDataContainer | undefined; - /** * The resource ID, used to refer to a resource in the Lambda function configuration. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This must be unique within a Greengrass group. */ @@ -689,6 +684,11 @@ export interface Resource { * The descriptive resource name, which is displayed on the AWS IoT Greengrass console. Max length 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This must be unique within a Greengrass group. */ Name: string | undefined; + + /** + * A container of data for all resource types. + */ + ResourceDataContainer: ResourceDataContainer | undefined; } export namespace Resource { @@ -702,14 +702,14 @@ export namespace Resource { */ export interface Subscription { /** - * The source of the subscription. Can be a thing ARN, a Lambda function ARN, a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'. + * A descriptive or arbitrary ID for the subscription. This value must be unique within the subscription definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. */ - Source: string | undefined; + Id: string | undefined; /** - * Where the message is sent to. Can be a thing ARN, a Lambda function ARN, a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'. + * The source of the subscription. Can be a thing ARN, a Lambda function ARN, a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'. */ - Target: string | undefined; + Source: string | undefined; /** * The MQTT topic used to route the message. @@ -717,9 +717,9 @@ export interface Subscription { Subject: string | undefined; /** - * A descriptive or arbitrary ID for the subscription. This value must be unique within the subscription definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. + * Where the message is sent to. Can be a thing ARN, a Lambda function ARN, a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'. */ - Id: string | undefined; + Target: string | undefined; } export namespace Subscription { @@ -733,24 +733,24 @@ export namespace Subscription { */ export interface VersionInformation { /** - * The ID of the version. + * The ARN of the version. */ - Version?: string; + Arn?: string; /** - * The time, in milliseconds since the epoch, when the version was created. + * The ID of the parent definition that the version is associated with. */ - CreationTimestamp?: string; + Id?: string; /** - * The ID of the parent definition that the version is associated with. + * The time, in milliseconds since the epoch, when the version was created. */ - Id?: string; + CreationTimestamp?: string; /** - * The ARN of the version. + * The ID of the version. */ - Arn?: string; + Version?: string; } export namespace VersionInformation { @@ -795,14 +795,14 @@ export namespace AssociateRoleToGroupResponse { */ export interface ErrorDetail { /** - * A detailed error code. + * A detailed error message. */ - DetailedErrorCode?: string; + DetailedErrorMessage?: string; /** - * A detailed error message. + * A detailed error code. */ - DetailedErrorMessage?: string; + DetailedErrorCode?: string; } export namespace ErrorDetail { @@ -818,14 +818,14 @@ export interface BadRequestException extends __SmithyException, $MetadataBearer name: "BadRequestException"; $fault: "client"; /** - * A message containing information about the error. + * Details about the error. */ - Message?: string; + ErrorDetails?: ErrorDetail[]; /** - * Details about the error. + * A message containing information about the error. */ - ErrorDetails?: ErrorDetail[]; + Message?: string; } export namespace BadRequestException { @@ -887,6 +887,11 @@ export namespace AssociateServiceRoleToAccountResponse { * Information about a bulk deployment. You cannot start a new bulk deployment while another one is still running or in a non-terminal state. */ export interface BulkDeployment { + /** + * The time, in ISO format, when the deployment was created. + */ + CreatedAt?: string; + /** * The ARN of the bulk deployment. */ @@ -896,11 +901,6 @@ export interface BulkDeployment { * The ID of the bulk deployment. */ BulkDeploymentId?: string; - - /** - * The time, in ISO format, when the deployment was created. - */ - CreatedAt?: string; } export namespace BulkDeployment { @@ -914,9 +914,9 @@ export namespace BulkDeployment { */ export interface BulkDeploymentMetrics { /** - * The total number of group records from the input file that have been processed so far, or attempted. + * The total number of records that returned a non-retryable error. For example, this can occur if a group record from the input file uses an invalid format or specifies a nonexistent group version, or if the execution role doesn't grant permission to deploy a group or group version. */ - RecordsProcessed?: number; + InvalidInputRecords?: number; /** * The total number of deployment attempts that returned a retryable error. For example, a retry is triggered if the attempt to deploy a group returns a throttling error. ''StartBulkDeployment'' retries a group deployment up to five times. @@ -924,9 +924,9 @@ export interface BulkDeploymentMetrics { RetryAttempts?: number; /** - * The total number of records that returned a non-retryable error. For example, this can occur if a group record from the input file uses an invalid format or specifies a nonexistent group version, or if the execution role doesn't grant permission to deploy a group or group version. + * The total number of group records from the input file that have been processed so far, or attempted. */ - InvalidInputRecords?: number; + RecordsProcessed?: number; } export namespace BulkDeploymentMetrics { @@ -947,9 +947,9 @@ export enum DeploymentType { */ export interface BulkDeploymentResult { /** - * The current status of the group deployment: ''InProgress'', ''Building'', ''Success'', or ''Failure''. + * Details about the error. */ - DeploymentStatus?: string; + ErrorDetails?: ErrorDetail[]; /** * The error message for a failed deployment @@ -957,19 +957,19 @@ export interface BulkDeploymentResult { ErrorMessage?: string; /** - * The ID of the group deployment. + * The type of the deployment. */ - DeploymentId?: string; + DeploymentType?: DeploymentType | string; /** - * Details about the error. + * The ARN of the Greengrass group. */ - ErrorDetails?: ErrorDetail[]; + GroupArn?: string; /** - * The type of the deployment. + * The ARN of the group deployment. */ - DeploymentType?: DeploymentType | string; + DeploymentArn?: string; /** * The time, in ISO format, when the deployment was created. @@ -977,14 +977,14 @@ export interface BulkDeploymentResult { CreatedAt?: string; /** - * The ARN of the group deployment. + * The ID of the group deployment. */ - DeploymentArn?: string; + DeploymentId?: string; /** - * The ARN of the Greengrass group. + * The current status of the group deployment: ''InProgress'', ''Building'', ''Success'', or ''Failure''. */ - GroupArn?: string; + DeploymentStatus?: string; } export namespace BulkDeploymentResult { @@ -1002,6 +1002,11 @@ export enum BulkDeploymentStatus { Stopping = "Stopping", } +export enum ConfigurationSyncStatus { + InSync = "InSync", + OutOfSync = "OutOfSync", +} + /** * Information about the connector definition version, which is a container for connectors. */ @@ -1040,11 +1045,6 @@ export interface CreateConnectorDefinitionRequest { */ Name?: string; - /** - * Tag(s) to add to the new resource. - */ - tags?: { [key: string]: string }; - /** * Information about the initial version of the connector definition. */ @@ -1054,6 +1054,11 @@ export interface CreateConnectorDefinitionRequest { * A client token used to correlate requests and responses. */ AmznClientToken?: string; + + /** + * Tag(s) to add to the new resource. + */ + tags?: { [key: string]: string }; } export namespace CreateConnectorDefinitionRequest { @@ -1064,39 +1069,39 @@ export namespace CreateConnectorDefinitionRequest { export interface CreateConnectorDefinitionResponse { /** - * The ID of the definition. + * The name of the definition. */ - Id?: string; + Name?: string; /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * The time, in milliseconds since the epoch, when the definition was created. */ - LastUpdatedTimestamp?: string; + CreationTimestamp?: string; /** - * The name of the definition. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - Name?: string; + LastUpdatedTimestamp?: string; /** - * The ARN of the definition. + * The ARN of the latest version associated with the definition. */ - Arn?: string; + LatestVersionArn?: string; /** - * The time, in milliseconds since the epoch, when the definition was created. + * The ID of the latest version associated with the definition. */ - CreationTimestamp?: string; + LatestVersion?: string; /** - * The ID of the latest version associated with the definition. + * The ID of the definition. */ - LatestVersion?: string; + Id?: string; /** - * The ARN of the latest version associated with the definition. + * The ARN of the definition. */ - LatestVersionArn?: string; + Arn?: string; } export namespace CreateConnectorDefinitionResponse { @@ -1112,14 +1117,14 @@ export interface CreateConnectorDefinitionVersionRequest { Connectors?: Connector[]; /** - * A client token used to correlate requests and responses. + * The ID of the connector definition. */ - AmznClientToken?: string; + ConnectorDefinitionId: string | undefined; /** - * The ID of the connector definition. + * A client token used to correlate requests and responses. */ - ConnectorDefinitionId: string | undefined; + AmznClientToken?: string; } export namespace CreateConnectorDefinitionVersionRequest { @@ -1130,24 +1135,24 @@ export namespace CreateConnectorDefinitionVersionRequest { export interface CreateConnectorDefinitionVersionResponse { /** - * The time, in milliseconds since the epoch, when the version was created. + * The ARN of the version. */ - CreationTimestamp?: string; + Arn?: string; /** - * The ID of the version. + * The ID of the parent definition that the version is associated with. */ - Version?: string; + Id?: string; /** - * The ID of the parent definition that the version is associated with. + * The time, in milliseconds since the epoch, when the version was created. */ - Id?: string; + CreationTimestamp?: string; /** - * The ARN of the version. + * The ID of the version. */ - Arn?: string; + Version?: string; } export namespace CreateConnectorDefinitionVersionResponse { @@ -1161,9 +1166,9 @@ export namespace CreateConnectorDefinitionVersionResponse { */ export interface CreateCoreDefinitionRequest { /** - * Information about the initial version of the core definition. + * The name of the core definition. */ - InitialVersion?: CoreDefinitionVersion; + Name?: string; /** * Tag(s) to add to the new resource. @@ -1171,14 +1176,14 @@ export interface CreateCoreDefinitionRequest { tags?: { [key: string]: string }; /** - * The name of the core definition. + * A client token used to correlate requests and responses. */ - Name?: string; + AmznClientToken?: string; /** - * A client token used to correlate requests and responses. + * Information about the initial version of the core definition. */ - AmznClientToken?: string; + InitialVersion?: CoreDefinitionVersion; } export namespace CreateCoreDefinitionRequest { @@ -1188,25 +1193,15 @@ export namespace CreateCoreDefinitionRequest { } export interface CreateCoreDefinitionResponse { - /** - * The ARN of the latest version associated with the definition. - */ - LatestVersionArn?: string; - /** * The time, in milliseconds since the epoch, when the definition was last updated. */ LastUpdatedTimestamp?: string; /** - * The ID of the latest version associated with the definition. - */ - LatestVersion?: string; - - /** - * The name of the definition. + * The ID of the definition. */ - Name?: string; + Id?: string; /** * The ARN of the definition. @@ -1219,9 +1214,19 @@ export interface CreateCoreDefinitionResponse { CreationTimestamp?: string; /** - * The ID of the definition. + * The ARN of the latest version associated with the definition. */ - Id?: string; + LatestVersionArn?: string; + + /** + * The name of the definition. + */ + Name?: string; + + /** + * The ID of the latest version associated with the definition. + */ + LatestVersion?: string; } export namespace CreateCoreDefinitionResponse { @@ -1231,6 +1236,11 @@ export namespace CreateCoreDefinitionResponse { } export interface CreateCoreDefinitionVersionRequest { + /** + * The ID of the core definition. + */ + CoreDefinitionId: string | undefined; + /** * A client token used to correlate requests and responses. */ @@ -1240,11 +1250,6 @@ export interface CreateCoreDefinitionVersionRequest { * A list of cores in the core definition version. */ Cores?: Core[]; - - /** - * The ID of the core definition. - */ - CoreDefinitionId: string | undefined; } export namespace CreateCoreDefinitionVersionRequest { @@ -1255,14 +1260,14 @@ export namespace CreateCoreDefinitionVersionRequest { export interface CreateCoreDefinitionVersionResponse { /** - * The ID of the parent definition that the version is associated with. + * The ID of the version. */ - Id?: string; + Version?: string; /** - * The ARN of the version. + * The ID of the parent definition that the version is associated with. */ - Arn?: string; + Id?: string; /** * The time, in milliseconds since the epoch, when the version was created. @@ -1270,9 +1275,9 @@ export interface CreateCoreDefinitionVersionResponse { CreationTimestamp?: string; /** - * The ID of the version. + * The ARN of the version. */ - Version?: string; + Arn?: string; } export namespace CreateCoreDefinitionVersionResponse { @@ -1283,9 +1288,14 @@ export namespace CreateCoreDefinitionVersionResponse { export interface CreateDeploymentRequest { /** - * The ID of the Greengrass group. + * The ID of the deployment if you wish to redeploy a previous deployment. */ - GroupId: string | undefined; + DeploymentId?: string; + + /** + * A client token used to correlate requests and responses. + */ + AmznClientToken?: string; /** * The ID of the group version to be deployed. @@ -1293,19 +1303,14 @@ export interface CreateDeploymentRequest { GroupVersionId?: string; /** - * The ID of the deployment if you wish to redeploy a previous deployment. + * The ID of the Greengrass group. */ - DeploymentId?: string; + GroupId: string | undefined; /** * The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid. */ DeploymentType: DeploymentType | string | undefined; - - /** - * A client token used to correlate requests and responses. - */ - AmznClientToken?: string; } export namespace CreateDeploymentRequest { @@ -1349,11 +1354,6 @@ export namespace DeviceDefinitionVersion { } export interface CreateDeviceDefinitionRequest { - /** - * The name of the device definition. - */ - Name?: string; - /** * A client token used to correlate requests and responses. */ @@ -1368,6 +1368,11 @@ export interface CreateDeviceDefinitionRequest { * Tag(s) to add to the new resource. */ tags?: { [key: string]: string }; + + /** + * The name of the device definition. + */ + Name?: string; } export namespace CreateDeviceDefinitionRequest { @@ -1378,19 +1383,19 @@ export namespace CreateDeviceDefinitionRequest { export interface CreateDeviceDefinitionResponse { /** - * The ID of the latest version associated with the definition. + * The ID of the definition. */ - LatestVersion?: string; + Id?: string; /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * The name of the definition. */ - LastUpdatedTimestamp?: string; + Name?: string; /** - * The ID of the definition. + * The ARN of the definition. */ - Id?: string; + Arn?: string; /** * The time, in milliseconds since the epoch, when the definition was created. @@ -1398,19 +1403,19 @@ export interface CreateDeviceDefinitionResponse { CreationTimestamp?: string; /** - * The ARN of the latest version associated with the definition. + * The ID of the latest version associated with the definition. */ - LatestVersionArn?: string; + LatestVersion?: string; /** - * The ARN of the definition. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - Arn?: string; + LastUpdatedTimestamp?: string; /** - * The name of the definition. + * The ARN of the latest version associated with the definition. */ - Name?: string; + LatestVersionArn?: string; } export namespace CreateDeviceDefinitionResponse { @@ -1421,9 +1426,9 @@ export namespace CreateDeviceDefinitionResponse { export interface CreateDeviceDefinitionVersionRequest { /** - * The ID of the device definition. + * A list of devices in the definition version. */ - DeviceDefinitionId: string | undefined; + Devices?: Device[]; /** * A client token used to correlate requests and responses. @@ -1431,9 +1436,9 @@ export interface CreateDeviceDefinitionVersionRequest { AmznClientToken?: string; /** - * A list of devices in the definition version. + * The ID of the device definition. */ - Devices?: Device[]; + DeviceDefinitionId: string | undefined; } export namespace CreateDeviceDefinitionVersionRequest { @@ -1444,9 +1449,9 @@ export namespace CreateDeviceDefinitionVersionRequest { export interface CreateDeviceDefinitionVersionResponse { /** - * The ID of the version. + * The ARN of the version. */ - Version?: string; + Arn?: string; /** * The time, in milliseconds since the epoch, when the version was created. @@ -1459,9 +1464,9 @@ export interface CreateDeviceDefinitionVersionResponse { Id?: string; /** - * The ARN of the version. + * The ID of the version. */ - Arn?: string; + Version?: string; } export namespace CreateDeviceDefinitionVersionResponse { @@ -1512,14 +1517,14 @@ export namespace FunctionDefaultConfig { */ export interface FunctionDefinitionVersion { /** - * A list of Lambda functions in this function definition version. + * The default configuration that applies to all Lambda functions in this function definition version. Individual Lambda functions can override these settings. */ - Functions?: Function[]; + DefaultConfig?: FunctionDefaultConfig; /** - * The default configuration that applies to all Lambda functions in this function definition version. Individual Lambda functions can override these settings. + * A list of Lambda functions in this function definition version. */ - DefaultConfig?: FunctionDefaultConfig; + Functions?: Function[]; } export namespace FunctionDefinitionVersion { @@ -1530,24 +1535,24 @@ export namespace FunctionDefinitionVersion { export interface CreateFunctionDefinitionRequest { /** - * Information about the initial version of the function definition. + * The name of the function definition. */ - InitialVersion?: FunctionDefinitionVersion; + Name?: string; /** - * The name of the function definition. + * Tag(s) to add to the new resource. */ - Name?: string; + tags?: { [key: string]: string }; /** - * A client token used to correlate requests and responses. + * Information about the initial version of the function definition. */ - AmznClientToken?: string; + InitialVersion?: FunctionDefinitionVersion; /** - * Tag(s) to add to the new resource. + * A client token used to correlate requests and responses. */ - tags?: { [key: string]: string }; + AmznClientToken?: string; } export namespace CreateFunctionDefinitionRequest { @@ -1558,9 +1563,9 @@ export namespace CreateFunctionDefinitionRequest { export interface CreateFunctionDefinitionResponse { /** - * The ARN of the latest version associated with the definition. + * The ARN of the definition. */ - LatestVersionArn?: string; + Arn?: string; /** * The time, in milliseconds since the epoch, when the definition was last updated. @@ -1568,29 +1573,29 @@ export interface CreateFunctionDefinitionResponse { LastUpdatedTimestamp?: string; /** - * The ID of the latest version associated with the definition. + * The time, in milliseconds since the epoch, when the definition was created. */ - LatestVersion?: string; + CreationTimestamp?: string; /** - * The name of the definition. + * The ID of the definition. */ - Name?: string; + Id?: string; /** - * The ID of the definition. + * The ARN of the latest version associated with the definition. */ - Id?: string; + LatestVersionArn?: string; /** - * The ARN of the definition. + * The name of the definition. */ - Arn?: string; + Name?: string; /** - * The time, in milliseconds since the epoch, when the definition was created. + * The ID of the latest version associated with the definition. */ - CreationTimestamp?: string; + LatestVersion?: string; } export namespace CreateFunctionDefinitionResponse { @@ -1614,14 +1619,14 @@ export interface CreateFunctionDefinitionVersionRequest { FunctionDefinitionId: string | undefined; /** - * A client token used to correlate requests and responses. + * A list of Lambda functions in this function definition version. */ - AmznClientToken?: string; + Functions?: Function[]; /** - * A list of Lambda functions in this function definition version. + * A client token used to correlate requests and responses. */ - Functions?: Function[]; + AmznClientToken?: string; } export namespace CreateFunctionDefinitionVersionRequest { @@ -1631,11 +1636,6 @@ export namespace CreateFunctionDefinitionVersionRequest { } export interface CreateFunctionDefinitionVersionResponse { - /** - * The time, in milliseconds since the epoch, when the version was created. - */ - CreationTimestamp?: string; - /** * The ARN of the version. */ @@ -1650,6 +1650,11 @@ export interface CreateFunctionDefinitionVersionResponse { * The ID of the version. */ Version?: string; + + /** + * The time, in milliseconds since the epoch, when the version was created. + */ + CreationTimestamp?: string; } export namespace CreateFunctionDefinitionVersionResponse { @@ -1662,25 +1667,15 @@ export namespace CreateFunctionDefinitionVersionResponse { * Information about a group version. */ export interface GroupVersion { - /** - * The ARN of the subscription definition version for this group. - */ - SubscriptionDefinitionVersionArn?: string; - /** * The ARN of the logger definition version for this group. */ LoggerDefinitionVersionArn?: string; /** - * The ARN of the connector definition version for this group. - */ - ConnectorDefinitionVersionArn?: string; - - /** - * The ARN of the core definition version for this group. + * The ARN of the function definition version for this group. */ - CoreDefinitionVersionArn?: string; + FunctionDefinitionVersionArn?: string; /** * The ARN of the resource definition version for this group. @@ -1693,9 +1688,19 @@ export interface GroupVersion { DeviceDefinitionVersionArn?: string; /** - * The ARN of the function definition version for this group. + * The ARN of the core definition version for this group. */ - FunctionDefinitionVersionArn?: string; + CoreDefinitionVersionArn?: string; + + /** + * The ARN of the connector definition version for this group. + */ + ConnectorDefinitionVersionArn?: string; + + /** + * The ARN of the subscription definition version for this group. + */ + SubscriptionDefinitionVersionArn?: string; } export namespace GroupVersion { @@ -1706,24 +1711,24 @@ export namespace GroupVersion { export interface CreateGroupRequest { /** - * The name of the group. + * A client token used to correlate requests and responses. */ - Name?: string; + AmznClientToken?: string; /** - * Information about the initial version of the group. + * Tag(s) to add to the new resource. */ - InitialVersion?: GroupVersion; + tags?: { [key: string]: string }; /** - * Tag(s) to add to the new resource. + * Information about the initial version of the group. */ - tags?: { [key: string]: string }; + InitialVersion?: GroupVersion; /** - * A client token used to correlate requests and responses. + * The name of the group. */ - AmznClientToken?: string; + Name?: string; } export namespace CreateGroupRequest { @@ -1734,19 +1739,19 @@ export namespace CreateGroupRequest { export interface CreateGroupResponse { /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * The time, in milliseconds since the epoch, when the definition was created. */ - LastUpdatedTimestamp?: string; + CreationTimestamp?: string; /** - * The ID of the definition. + * The ARN of the latest version associated with the definition. */ - Id?: string; + LatestVersionArn?: string; /** - * The ARN of the definition. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - Arn?: string; + LastUpdatedTimestamp?: string; /** * The ID of the latest version associated with the definition. @@ -1754,19 +1759,19 @@ export interface CreateGroupResponse { LatestVersion?: string; /** - * The name of the definition. + * The ARN of the definition. */ - Name?: string; + Arn?: string; /** - * The ARN of the latest version associated with the definition. + * The ID of the definition. */ - LatestVersionArn?: string; + Id?: string; /** - * The time, in milliseconds since the epoch, when the definition was created. + * The name of the definition. */ - CreationTimestamp?: string; + Name?: string; } export namespace CreateGroupResponse { @@ -1777,14 +1782,14 @@ export namespace CreateGroupResponse { export interface CreateGroupCertificateAuthorityRequest { /** - * The ID of the Greengrass group. + * A client token used to correlate requests and responses. */ - GroupId: string | undefined; + AmznClientToken?: string; /** - * A client token used to correlate requests and responses. + * The ID of the Greengrass group. */ - AmznClientToken?: string; + GroupId: string | undefined; } export namespace CreateGroupCertificateAuthorityRequest { @@ -1813,44 +1818,44 @@ export interface CreateGroupVersionRequest { GroupId: string | undefined; /** - * The ARN of the device definition version for this group. + * The ARN of the logger definition version for this group. */ - DeviceDefinitionVersionArn?: string; + LoggerDefinitionVersionArn?: string; /** - * The ARN of the core definition version for this group. + * The ARN of the subscription definition version for this group. */ - CoreDefinitionVersionArn?: string; + SubscriptionDefinitionVersionArn?: string; /** - * A client token used to correlate requests and responses. + * The ARN of the connector definition version for this group. */ - AmznClientToken?: string; + ConnectorDefinitionVersionArn?: string; /** - * The ARN of the function definition version for this group. + * The ARN of the core definition version for this group. */ - FunctionDefinitionVersionArn?: string; + CoreDefinitionVersionArn?: string; /** - * The ARN of the connector definition version for this group. + * The ARN of the resource definition version for this group. */ - ConnectorDefinitionVersionArn?: string; + ResourceDefinitionVersionArn?: string; /** - * The ARN of the resource definition version for this group. + * The ARN of the device definition version for this group. */ - ResourceDefinitionVersionArn?: string; + DeviceDefinitionVersionArn?: string; /** - * The ARN of the subscription definition version for this group. + * The ARN of the function definition version for this group. */ - SubscriptionDefinitionVersionArn?: string; + FunctionDefinitionVersionArn?: string; /** - * The ARN of the logger definition version for this group. + * A client token used to correlate requests and responses. */ - LoggerDefinitionVersionArn?: string; + AmznClientToken?: string; } export namespace CreateGroupVersionRequest { @@ -1866,9 +1871,9 @@ export interface CreateGroupVersionResponse { Arn?: string; /** - * The ID of the version. + * The time, in milliseconds since the epoch, when the version was created. */ - Version?: string; + CreationTimestamp?: string; /** * The ID of the parent definition that the version is associated with. @@ -1876,9 +1881,9 @@ export interface CreateGroupVersionResponse { Id?: string; /** - * The time, in milliseconds since the epoch, when the version was created. + * The ID of the version. */ - CreationTimestamp?: string; + Version?: string; } export namespace CreateGroupVersionResponse { @@ -1904,11 +1909,6 @@ export namespace LoggerDefinitionVersion { } export interface CreateLoggerDefinitionRequest { - /** - * Information about the initial version of the logger definition. - */ - InitialVersion?: LoggerDefinitionVersion; - /** * The name of the logger definition. */ @@ -1919,6 +1919,11 @@ export interface CreateLoggerDefinitionRequest { */ AmznClientToken?: string; + /** + * Information about the initial version of the logger definition. + */ + InitialVersion?: LoggerDefinitionVersion; + /** * Tag(s) to add to the new resource. */ @@ -1932,6 +1937,11 @@ export namespace CreateLoggerDefinitionRequest { } export interface CreateLoggerDefinitionResponse { + /** + * The ARN of the latest version associated with the definition. + */ + LatestVersionArn?: string; + /** * The name of the definition. */ @@ -1943,29 +1953,24 @@ export interface CreateLoggerDefinitionResponse { LastUpdatedTimestamp?: string; /** - * The ARN of the definition. - */ - Arn?: string; - - /** - * The time, in milliseconds since the epoch, when the definition was created. + * The ID of the definition. */ - CreationTimestamp?: string; + Id?: string; /** - * The ID of the definition. + * The ID of the latest version associated with the definition. */ - Id?: string; + LatestVersion?: string; /** - * The ARN of the latest version associated with the definition. + * The ARN of the definition. */ - LatestVersionArn?: string; + Arn?: string; /** - * The ID of the latest version associated with the definition. + * The time, in milliseconds since the epoch, when the definition was created. */ - LatestVersion?: string; + CreationTimestamp?: string; } export namespace CreateLoggerDefinitionResponse { @@ -1975,6 +1980,11 @@ export namespace CreateLoggerDefinitionResponse { } export interface CreateLoggerDefinitionVersionRequest { + /** + * A client token used to correlate requests and responses. + */ + AmznClientToken?: string; + /** * The ID of the logger definition. */ @@ -1984,11 +1994,6 @@ export interface CreateLoggerDefinitionVersionRequest { * A list of loggers. */ Loggers?: Logger[]; - - /** - * A client token used to correlate requests and responses. - */ - AmznClientToken?: string; } export namespace CreateLoggerDefinitionVersionRequest { @@ -1998,11 +2003,6 @@ export namespace CreateLoggerDefinitionVersionRequest { } export interface CreateLoggerDefinitionVersionResponse { - /** - * The ARN of the version. - */ - Arn?: string; - /** * The ID of the version. */ @@ -2017,6 +2017,11 @@ export interface CreateLoggerDefinitionVersionResponse { * The time, in milliseconds since the epoch, when the version was created. */ CreationTimestamp?: string; + + /** + * The ARN of the version. + */ + Arn?: string; } export namespace CreateLoggerDefinitionVersionResponse { @@ -2043,24 +2048,24 @@ export namespace ResourceDefinitionVersion { export interface CreateResourceDefinitionRequest { /** - * The name of the resource definition. + * Information about the initial version of the resource definition. */ - Name?: string; + InitialVersion?: ResourceDefinitionVersion; /** - * Tag(s) to add to the new resource. + * A client token used to correlate requests and responses. */ - tags?: { [key: string]: string }; + AmznClientToken?: string; /** - * Information about the initial version of the resource definition. + * Tag(s) to add to the new resource. */ - InitialVersion?: ResourceDefinitionVersion; + tags?: { [key: string]: string }; /** - * A client token used to correlate requests and responses. + * The name of the resource definition. */ - AmznClientToken?: string; + Name?: string; } export namespace CreateResourceDefinitionRequest { @@ -2071,14 +2076,9 @@ export namespace CreateResourceDefinitionRequest { export interface CreateResourceDefinitionResponse { /** - * The time, in milliseconds since the epoch, when the definition was created. - */ - CreationTimestamp?: string; - - /** - * The ID of the latest version associated with the definition. + * The ARN of the definition. */ - LatestVersion?: string; + Arn?: string; /** * The time, in milliseconds since the epoch, when the definition was last updated. @@ -2086,14 +2086,14 @@ export interface CreateResourceDefinitionResponse { LastUpdatedTimestamp?: string; /** - * The ARN of the latest version associated with the definition. + * The ID of the definition. */ - LatestVersionArn?: string; + Id?: string; /** - * The ID of the definition. + * The time, in milliseconds since the epoch, when the definition was created. */ - Id?: string; + CreationTimestamp?: string; /** * The name of the definition. @@ -2101,9 +2101,14 @@ export interface CreateResourceDefinitionResponse { Name?: string; /** - * The ARN of the definition. + * The ARN of the latest version associated with the definition. */ - Arn?: string; + LatestVersionArn?: string; + + /** + * The ID of the latest version associated with the definition. + */ + LatestVersion?: string; } export namespace CreateResourceDefinitionResponse { @@ -2113,11 +2118,6 @@ export namespace CreateResourceDefinitionResponse { } export interface CreateResourceDefinitionVersionRequest { - /** - * A client token used to correlate requests and responses. - */ - AmznClientToken?: string; - /** * The ID of the resource definition. */ @@ -2127,6 +2127,11 @@ export interface CreateResourceDefinitionVersionRequest { * A list of resources. */ Resources?: Resource[]; + + /** + * A client token used to correlate requests and responses. + */ + AmznClientToken?: string; } export namespace CreateResourceDefinitionVersionRequest { @@ -2137,24 +2142,24 @@ export namespace CreateResourceDefinitionVersionRequest { export interface CreateResourceDefinitionVersionResponse { /** - * The ARN of the version. + * The ID of the parent definition that the version is associated with. */ - Arn?: string; + Id?: string; /** - * The time, in milliseconds since the epoch, when the version was created. + * The ID of the version. */ - CreationTimestamp?: string; + Version?: string; /** - * The ID of the parent definition that the version is associated with. + * The ARN of the version. */ - Id?: string; + Arn?: string; /** - * The ID of the version. + * The time, in milliseconds since the epoch, when the version was created. */ - Version?: string; + CreationTimestamp?: string; } export namespace CreateResourceDefinitionVersionResponse { @@ -2195,39 +2200,39 @@ export enum UpdateTargetsOperatingSystem { export interface CreateSoftwareUpdateJobRequest { /** - * The operating system of the cores which are the targets of an update. + * The piece of software on the Greengrass core that will be updated. */ - UpdateTargetsOperatingSystem: UpdateTargetsOperatingSystem | string | undefined; + SoftwareToUpdate: SoftwareToUpdate | string | undefined; /** - * The minimum level of log statements that should be logged by the OTA Agent during an update. + * The ARNs of the targets (IoT things or IoT thing groups) that this update will be applied to. */ - UpdateAgentLogLevel?: UpdateAgentLogLevel | string; + UpdateTargets: string[] | undefined; /** - * A client token used to correlate requests and responses. + * The architecture of the cores which are the targets of an update. */ - AmznClientToken?: string; + UpdateTargetsArchitecture: UpdateTargetsArchitecture | string | undefined; /** - * The IAM Role that Greengrass will use to create pre-signed URLs pointing towards the update artifact. + * The operating system of the cores which are the targets of an update. */ - S3UrlSignerRole: string | undefined; + UpdateTargetsOperatingSystem: UpdateTargetsOperatingSystem | string | undefined; /** - * The ARNs of the targets (IoT things or IoT thing groups) that this update will be applied to. + * A client token used to correlate requests and responses. */ - UpdateTargets: string[] | undefined; + AmznClientToken?: string; /** - * The architecture of the cores which are the targets of an update. + * The minimum level of log statements that should be logged by the OTA Agent during an update. */ - UpdateTargetsArchitecture: UpdateTargetsArchitecture | string | undefined; + UpdateAgentLogLevel?: UpdateAgentLogLevel | string; /** - * The piece of software on the Greengrass core that will be updated. + * The IAM Role that Greengrass will use to create pre-signed URLs pointing towards the update artifact. */ - SoftwareToUpdate: SoftwareToUpdate | string | undefined; + S3UrlSignerRole: string | undefined; } export namespace CreateSoftwareUpdateJobRequest { @@ -2238,9 +2243,9 @@ export namespace CreateSoftwareUpdateJobRequest { export interface CreateSoftwareUpdateJobResponse { /** - * The software version installed on the device or devices after the update. + * The IoT Job Id corresponding to this update. */ - PlatformSoftwareVersion?: string; + IotJobId?: string; /** * The IoT Job ARN corresponding to this update. @@ -2248,9 +2253,9 @@ export interface CreateSoftwareUpdateJobResponse { IotJobArn?: string; /** - * The IoT Job Id corresponding to this update. + * The software version installed on the device or devices after the update. */ - IotJobId?: string; + PlatformSoftwareVersion?: string; } export namespace CreateSoftwareUpdateJobResponse { @@ -2277,24 +2282,24 @@ export namespace SubscriptionDefinitionVersion { export interface CreateSubscriptionDefinitionRequest { /** - * The name of the subscription definition. + * Information about the initial version of the subscription definition. */ - Name?: string; + InitialVersion?: SubscriptionDefinitionVersion; /** - * Tag(s) to add to the new resource. + * A client token used to correlate requests and responses. */ - tags?: { [key: string]: string }; + AmznClientToken?: string; /** - * Information about the initial version of the subscription definition. + * Tag(s) to add to the new resource. */ - InitialVersion?: SubscriptionDefinitionVersion; + tags?: { [key: string]: string }; /** - * A client token used to correlate requests and responses. + * The name of the subscription definition. */ - AmznClientToken?: string; + Name?: string; } export namespace CreateSubscriptionDefinitionRequest { @@ -2305,24 +2310,19 @@ export namespace CreateSubscriptionDefinitionRequest { export interface CreateSubscriptionDefinitionResponse { /** - * The time, in milliseconds since the epoch, when the definition was created. - */ - CreationTimestamp?: string; - - /** - * The name of the definition. + * The ARN of the latest version associated with the definition. */ - Name?: string; + LatestVersionArn?: string; /** - * The ARN of the latest version associated with the definition. + * The time, in milliseconds since the epoch, when the definition was created. */ - LatestVersionArn?: string; + CreationTimestamp?: string; /** - * The ID of the latest version associated with the definition. + * The ID of the definition. */ - LatestVersion?: string; + Id?: string; /** * The ARN of the definition. @@ -2330,14 +2330,19 @@ export interface CreateSubscriptionDefinitionResponse { Arn?: string; /** - * The ID of the definition. + * The name of the definition. */ - Id?: string; + Name?: string; /** * The time, in milliseconds since the epoch, when the definition was last updated. */ LastUpdatedTimestamp?: string; + + /** + * The ID of the latest version associated with the definition. + */ + LatestVersion?: string; } export namespace CreateSubscriptionDefinitionResponse { @@ -2347,6 +2352,11 @@ export namespace CreateSubscriptionDefinitionResponse { } export interface CreateSubscriptionDefinitionVersionRequest { + /** + * A client token used to correlate requests and responses. + */ + AmznClientToken?: string; + /** * A list of subscriptions. */ @@ -2356,11 +2366,6 @@ export interface CreateSubscriptionDefinitionVersionRequest { * The ID of the subscription definition. */ SubscriptionDefinitionId: string | undefined; - - /** - * A client token used to correlate requests and responses. - */ - AmznClientToken?: string; } export namespace CreateSubscriptionDefinitionVersionRequest { @@ -2371,24 +2376,24 @@ export namespace CreateSubscriptionDefinitionVersionRequest { export interface CreateSubscriptionDefinitionVersionResponse { /** - * The ARN of the version. + * The ID of the version. */ - Arn?: string; + Version?: string; /** - * The time, in milliseconds since the epoch, when the version was created. + * The ID of the parent definition that the version is associated with. */ - CreationTimestamp?: string; + Id?: string; /** - * The ID of the parent definition that the version is associated with. + * The ARN of the version. */ - Id?: string; + Arn?: string; /** - * The ID of the version. + * The time, in milliseconds since the epoch, when the version was created. */ - Version?: string; + CreationTimestamp?: string; } export namespace CreateSubscriptionDefinitionVersionResponse { @@ -2574,6 +2579,11 @@ export interface Deployment { */ GroupArn?: string; + /** + * The time, in milliseconds since the epoch, when the deployment was created. + */ + CreatedAt?: string; + /** * The type of the deployment. */ @@ -2588,11 +2598,6 @@ export interface Deployment { * The ID of the deployment. */ DeploymentId?: string; - - /** - * The time, in milliseconds since the epoch, when the deployment was created. - */ - CreatedAt?: string; } export namespace Deployment { @@ -2663,14 +2668,14 @@ export namespace GetAssociatedRoleRequest { export interface GetAssociatedRoleResponse { /** - * The ARN of the role that is associated with the group. + * The time when the role was associated with the group. */ - RoleArn?: string; + AssociatedAt?: string; /** - * The time when the role was associated with the group. + * The ARN of the role that is associated with the group. */ - AssociatedAt?: string; + RoleArn?: string; } export namespace GetAssociatedRoleResponse { @@ -2694,9 +2699,9 @@ export namespace GetBulkDeploymentStatusRequest { export interface GetBulkDeploymentStatusResponse { /** - * Tag(s) attached to the resource arn. + * The status of the bulk deployment. */ - tags?: { [key: string]: string }; + BulkDeploymentStatus?: BulkDeploymentStatus | string; /** * The time, in ISO format, when the deployment was created. @@ -2704,24 +2709,24 @@ export interface GetBulkDeploymentStatusResponse { CreatedAt?: string; /** - * Error message + * Error details */ - ErrorMessage?: string; + ErrorDetails?: ErrorDetail[]; /** - * The status of the bulk deployment. + * Relevant metrics on input records processed during bulk deployment. */ - BulkDeploymentStatus?: BulkDeploymentStatus | string; + BulkDeploymentMetrics?: BulkDeploymentMetrics; /** - * Relevant metrics on input records processed during bulk deployment. + * Tag(s) attached to the resource arn. */ - BulkDeploymentMetrics?: BulkDeploymentMetrics; + tags?: { [key: string]: string }; /** - * Error details + * Error message */ - ErrorDetails?: ErrorDetail[]; + ErrorMessage?: string; } export namespace GetBulkDeploymentStatusResponse { @@ -2776,44 +2781,44 @@ export namespace GetConnectorDefinitionRequest { export interface GetConnectorDefinitionResponse { /** - * Tag(s) attached to the resource arn. + * The ID of the latest version associated with the definition. */ - tags?: { [key: string]: string }; + LatestVersion?: string; /** - * The ARN of the latest version associated with the definition. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - LatestVersionArn?: string; + LastUpdatedTimestamp?: string; /** - * The time, in milliseconds since the epoch, when the definition was created. + * The ARN of the definition. */ - CreationTimestamp?: string; + Arn?: string; /** - * The ID of the definition. + * The name of the definition. */ - Id?: string; + Name?: string; /** - * The ARN of the definition. + * Tag(s) attached to the resource arn. */ - Arn?: string; + tags?: { [key: string]: string }; /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * The ARN of the latest version associated with the definition. */ - LastUpdatedTimestamp?: string; + LatestVersionArn?: string; /** - * The name of the definition. + * The ID of the definition. */ - Name?: string; + Id?: string; /** - * The ID of the latest version associated with the definition. + * The time, in milliseconds since the epoch, when the definition was created. */ - LatestVersion?: string; + CreationTimestamp?: string; } export namespace GetConnectorDefinitionResponse { @@ -2852,29 +2857,29 @@ export interface GetConnectorDefinitionVersionResponse { CreationTimestamp?: string; /** - * The ID of the connector definition version. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Id?: string; + NextToken?: string; /** - * The ARN of the connector definition version. + * The version of the connector definition version. */ - Arn?: string; + Version?: string; /** - * Information about the connector definition version. + * The ID of the connector definition version. */ - Definition?: ConnectorDefinitionVersion; + Id?: string; /** - * The version of the connector definition version. + * The ARN of the connector definition version. */ - Version?: string; + Arn?: string; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Information about the connector definition version. */ - NextToken?: string; + Definition?: ConnectorDefinitionVersion; } export namespace GetConnectorDefinitionVersionResponse { @@ -2898,9 +2903,14 @@ export namespace GetCoreDefinitionRequest { export interface GetCoreDefinitionResponse { /** - * The ARN of the definition. + * The name of the definition. */ - Arn?: string; + Name?: string; + + /** + * The time, in milliseconds since the epoch, when the definition was created. + */ + CreationTimestamp?: string; /** * The ID of the definition. @@ -2908,9 +2918,9 @@ export interface GetCoreDefinitionResponse { Id?: string; /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * The ARN of the definition. */ - LastUpdatedTimestamp?: string; + Arn?: string; /** * The ARN of the latest version associated with the definition. @@ -2918,24 +2928,19 @@ export interface GetCoreDefinitionResponse { LatestVersionArn?: string; /** - * The ID of the latest version associated with the definition. - */ - LatestVersion?: string; - - /** - * The time, in milliseconds since the epoch, when the definition was created. + * Tag(s) attached to the resource arn. */ - CreationTimestamp?: string; + tags?: { [key: string]: string }; /** - * The name of the definition. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - Name?: string; + LastUpdatedTimestamp?: string; /** - * Tag(s) attached to the resource arn. + * The ID of the latest version associated with the definition. */ - tags?: { [key: string]: string }; + LatestVersion?: string; } export namespace GetCoreDefinitionResponse { @@ -2946,14 +2951,14 @@ export namespace GetCoreDefinitionResponse { export interface GetCoreDefinitionVersionRequest { /** - * The ID of the core definition. + * The ID of the core definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListCoreDefinitionVersions'' requests. If the version is the last one that was associated with a core definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object. */ - CoreDefinitionId: string | undefined; + CoreDefinitionVersionId: string | undefined; /** - * The ID of the core definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListCoreDefinitionVersions'' requests. If the version is the last one that was associated with a core definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object. + * The ID of the core definition. */ - CoreDefinitionVersionId: string | undefined; + CoreDefinitionId: string | undefined; } export namespace GetCoreDefinitionVersionRequest { @@ -2964,34 +2969,34 @@ export namespace GetCoreDefinitionVersionRequest { export interface GetCoreDefinitionVersionResponse { /** - * The time, in milliseconds since the epoch, when the core definition version was created. + * The ID of the core definition version. */ - CreationTimestamp?: string; + Id?: string; /** - * The ARN of the core definition version. + * The version of the core definition version. */ - Arn?: string; + Version?: string; /** - * Information about the core definition version. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Definition?: CoreDefinitionVersion; + NextToken?: string; /** - * The version of the core definition version. + * The time, in milliseconds since the epoch, when the core definition version was created. */ - Version?: string; + CreationTimestamp?: string; /** - * The ID of the core definition version. + * Information about the core definition version. */ - Id?: string; + Definition?: CoreDefinitionVersion; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * The ARN of the core definition version. */ - NextToken?: string; + Arn?: string; } export namespace GetCoreDefinitionVersionResponse { @@ -3002,14 +3007,14 @@ export namespace GetCoreDefinitionVersionResponse { export interface GetDeploymentStatusRequest { /** - * The ID of the deployment. + * The ID of the Greengrass group. */ - DeploymentId: string | undefined; + GroupId: string | undefined; /** - * The ID of the Greengrass group. + * The ID of the deployment. */ - GroupId: string | undefined; + DeploymentId: string | undefined; } export namespace GetDeploymentStatusRequest { @@ -3024,6 +3029,11 @@ export interface GetDeploymentStatusResponse { */ DeploymentType?: DeploymentType | string; + /** + * The time, in milliseconds since the epoch, when the deployment status was updated. + */ + UpdatedAt?: string; + /** * Error details */ @@ -3034,11 +3044,6 @@ export interface GetDeploymentStatusResponse { */ ErrorMessage?: string; - /** - * The time, in milliseconds since the epoch, when the deployment status was updated. - */ - UpdatedAt?: string; - /** * The status of the deployment: ''InProgress'', ''Building'', ''Success'', or ''Failure''. */ @@ -3066,14 +3071,14 @@ export namespace GetDeviceDefinitionRequest { export interface GetDeviceDefinitionResponse { /** - * The ID of the definition. + * The name of the definition. */ - Id?: string; + Name?: string; /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * The time, in milliseconds since the epoch, when the definition was created. */ - LastUpdatedTimestamp?: string; + CreationTimestamp?: string; /** * The ARN of the definition. @@ -3081,29 +3086,29 @@ export interface GetDeviceDefinitionResponse { Arn?: string; /** - * The ID of the latest version associated with the definition. + * Tag(s) attached to the resource arn. */ - LatestVersion?: string; + tags?: { [key: string]: string }; /** - * The ARN of the latest version associated with the definition. + * The ID of the latest version associated with the definition. */ - LatestVersionArn?: string; + LatestVersion?: string; /** - * Tag(s) attached to the resource arn. + * The ID of the definition. */ - tags?: { [key: string]: string }; + Id?: string; /** - * The time, in milliseconds since the epoch, when the definition was created. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - CreationTimestamp?: string; + LastUpdatedTimestamp?: string; /** - * The name of the definition. + * The ARN of the latest version associated with the definition. */ - Name?: string; + LatestVersionArn?: string; } export namespace GetDeviceDefinitionResponse { @@ -3114,9 +3119,9 @@ export namespace GetDeviceDefinitionResponse { export interface GetDeviceDefinitionVersionRequest { /** - * The ID of the device definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListDeviceDefinitionVersions'' requests. If the version is the last one that was associated with a device definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object. + * The ID of the device definition. */ - DeviceDefinitionVersionId: string | undefined; + DeviceDefinitionId: string | undefined; /** * The token for the next set of results, or ''null'' if there are no additional results. @@ -3124,9 +3129,9 @@ export interface GetDeviceDefinitionVersionRequest { NextToken?: string; /** - * The ID of the device definition. + * The ID of the device definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListDeviceDefinitionVersions'' requests. If the version is the last one that was associated with a device definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object. */ - DeviceDefinitionId: string | undefined; + DeviceDefinitionVersionId: string | undefined; } export namespace GetDeviceDefinitionVersionRequest { @@ -3137,14 +3142,14 @@ export namespace GetDeviceDefinitionVersionRequest { export interface GetDeviceDefinitionVersionResponse { /** - * The version of the device definition version. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Version?: string; + NextToken?: string; /** - * The ID of the device definition version. + * Information about the device definition version. */ - Id?: string; + Definition?: DeviceDefinitionVersion; /** * The time, in milliseconds since the epoch, when the device definition version was created. @@ -3152,19 +3157,19 @@ export interface GetDeviceDefinitionVersionResponse { CreationTimestamp?: string; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * The ID of the device definition version. */ - NextToken?: string; + Id?: string; /** - * Information about the device definition version. + * The ARN of the device definition version. */ - Definition?: DeviceDefinitionVersion; + Arn?: string; /** - * The ARN of the device definition version. + * The version of the device definition version. */ - Arn?: string; + Version?: string; } export namespace GetDeviceDefinitionVersionResponse { @@ -3188,44 +3193,44 @@ export namespace GetFunctionDefinitionRequest { export interface GetFunctionDefinitionResponse { /** - * The ID of the definition. + * Tag(s) attached to the resource arn. */ - Id?: string; + tags?: { [key: string]: string }; /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * The name of the definition. */ - LastUpdatedTimestamp?: string; + Name?: string; /** - * The ID of the latest version associated with the definition. + * The time, in milliseconds since the epoch, when the definition was created. */ - LatestVersion?: string; + CreationTimestamp?: string; /** - * Tag(s) attached to the resource arn. + * The ID of the definition. */ - tags?: { [key: string]: string }; + Id?: string; /** - * The time, in milliseconds since the epoch, when the definition was created. + * The ID of the latest version associated with the definition. */ - CreationTimestamp?: string; + LatestVersion?: string; /** - * The ARN of the latest version associated with the definition. + * The ARN of the definition. */ - LatestVersionArn?: string; + Arn?: string; /** - * The name of the definition. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - Name?: string; + LastUpdatedTimestamp?: string; /** - * The ARN of the definition. + * The ARN of the latest version associated with the definition. */ - Arn?: string; + LatestVersionArn?: string; } export namespace GetFunctionDefinitionResponse { @@ -3241,14 +3246,14 @@ export interface GetFunctionDefinitionVersionRequest { FunctionDefinitionVersionId: string | undefined; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * The ID of the Lambda function definition. */ - NextToken?: string; + FunctionDefinitionId: string | undefined; /** - * The ID of the Lambda function definition. + * The token for the next set of results, or ''null'' if there are no additional results. */ - FunctionDefinitionId: string | undefined; + NextToken?: string; } export namespace GetFunctionDefinitionVersionRequest { @@ -3259,19 +3264,14 @@ export namespace GetFunctionDefinitionVersionRequest { export interface GetFunctionDefinitionVersionResponse { /** - * The ID of the function definition version. - */ - Id?: string; - - /** - * Information on the definition. + * The ARN of the function definition version. */ - Definition?: FunctionDefinitionVersion; + Arn?: string; /** - * The ARN of the function definition version. + * The ID of the function definition version. */ - Arn?: string; + Id?: string; /** * The version of the function definition version. @@ -3287,6 +3287,11 @@ export interface GetFunctionDefinitionVersionResponse { * The time, in milliseconds since the epoch, when the function definition version was created. */ CreationTimestamp?: string; + + /** + * Information on the definition. + */ + Definition?: FunctionDefinitionVersion; } export namespace GetFunctionDefinitionVersionResponse { @@ -3310,44 +3315,44 @@ export namespace GetGroupRequest { export interface GetGroupResponse { /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * The time, in milliseconds since the epoch, when the definition was created. */ - LastUpdatedTimestamp?: string; + CreationTimestamp?: string; /** - * The ID of the definition. + * The name of the definition. */ - Id?: string; + Name?: string; /** - * The time, in milliseconds since the epoch, when the definition was created. + * The ARN of the definition. */ - CreationTimestamp?: string; + Arn?: string; /** - * The ARN of the latest version associated with the definition. + * Tag(s) attached to the resource arn. */ - LatestVersionArn?: string; + tags?: { [key: string]: string }; /** - * The ID of the latest version associated with the definition. + * The ID of the definition. */ - LatestVersion?: string; + Id?: string; /** - * Tag(s) attached to the resource arn. + * The ID of the latest version associated with the definition. */ - tags?: { [key: string]: string }; + LatestVersion?: string; /** - * The ARN of the definition. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - Arn?: string; + LastUpdatedTimestamp?: string; /** - * The name of the definition. + * The ARN of the latest version associated with the definition. */ - Name?: string; + LatestVersionArn?: string; } export namespace GetGroupResponse { @@ -3358,14 +3363,14 @@ export namespace GetGroupResponse { export interface GetGroupCertificateAuthorityRequest { /** - * The ID of the certificate authority. + * The ID of the Greengrass group. */ - CertificateAuthorityId: string | undefined; + GroupId: string | undefined; /** - * The ID of the Greengrass group. + * The ID of the certificate authority. */ - GroupId: string | undefined; + CertificateAuthorityId: string | undefined; } export namespace GetGroupCertificateAuthorityRequest { @@ -3376,9 +3381,9 @@ export namespace GetGroupCertificateAuthorityRequest { export interface GetGroupCertificateAuthorityResponse { /** - * The ARN of the certificate authority for the group. + * The ID of the certificate authority for the group. */ - GroupCertificateAuthorityArn?: string; + GroupCertificateAuthorityId?: string; /** * The PEM encoded certificate for the group. @@ -3386,9 +3391,9 @@ export interface GetGroupCertificateAuthorityResponse { PemEncodedCertificate?: string; /** - * The ID of the certificate authority for the group. + * The ARN of the certificate authority for the group. */ - GroupCertificateAuthorityId?: string; + GroupCertificateAuthorityArn?: string; } export namespace GetGroupCertificateAuthorityResponse { @@ -3411,11 +3416,6 @@ export namespace GetGroupCertificateConfigurationRequest { } export interface GetGroupCertificateConfigurationResponse { - /** - * The amount of time remaining before the certificate expires, in milliseconds. - */ - CertificateExpiryInMilliseconds?: string; - /** * The amount of time remaining before the certificate authority expires, in milliseconds. */ @@ -3425,6 +3425,11 @@ export interface GetGroupCertificateConfigurationResponse { * The ID of the group certificate configuration. */ GroupId?: string; + + /** + * The amount of time remaining before the certificate expires, in milliseconds. + */ + CertificateExpiryInMilliseconds?: string; } export namespace GetGroupCertificateConfigurationResponse { @@ -3453,9 +3458,9 @@ export namespace GetGroupVersionRequest { export interface GetGroupVersionResponse { /** - * The ID of the group version. + * The time, in milliseconds since the epoch, when the group version was created. */ - Version?: string; + CreationTimestamp?: string; /** * Information about the group version definition. @@ -3463,19 +3468,19 @@ export interface GetGroupVersionResponse { Definition?: GroupVersion; /** - * The ARN of the group version. + * The ID of the group that the version is associated with. */ - Arn?: string; + Id?: string; /** - * The time, in milliseconds since the epoch, when the group version was created. + * The ARN of the group version. */ - CreationTimestamp?: string; + Arn?: string; /** - * The ID of the group that the version is associated with. + * The ID of the group version. */ - Id?: string; + Version?: string; } export namespace GetGroupVersionResponse { @@ -3499,19 +3504,19 @@ export namespace GetLoggerDefinitionRequest { export interface GetLoggerDefinitionResponse { /** - * The time, in milliseconds since the epoch, when the definition was created. + * The ARN of the latest version associated with the definition. */ - CreationTimestamp?: string; + LatestVersionArn?: string; /** - * The name of the definition. + * The ID of the latest version associated with the definition. */ - Name?: string; + LatestVersion?: string; /** - * The ARN of the latest version associated with the definition. + * The ARN of the definition. */ - LatestVersionArn?: string; + Arn?: string; /** * Tag(s) attached to the resource arn. @@ -3519,24 +3524,24 @@ export interface GetLoggerDefinitionResponse { tags?: { [key: string]: string }; /** - * The ID of the definition. + * The name of the definition. */ - Id?: string; + Name?: string; /** - * The ARN of the definition. + * The ID of the definition. */ - Arn?: string; + Id?: string; /** - * The ID of the latest version associated with the definition. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - LatestVersion?: string; + LastUpdatedTimestamp?: string; /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * The time, in milliseconds since the epoch, when the definition was created. */ - LastUpdatedTimestamp?: string; + CreationTimestamp?: string; } export namespace GetLoggerDefinitionResponse { @@ -3547,9 +3552,9 @@ export namespace GetLoggerDefinitionResponse { export interface GetLoggerDefinitionVersionRequest { /** - * The ID of the logger definition. + * The ID of the logger definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListLoggerDefinitionVersions'' requests. If the version is the last one that was associated with a logger definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object. */ - LoggerDefinitionId: string | undefined; + LoggerDefinitionVersionId: string | undefined; /** * The token for the next set of results, or ''null'' if there are no additional results. @@ -3557,9 +3562,9 @@ export interface GetLoggerDefinitionVersionRequest { NextToken?: string; /** - * The ID of the logger definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListLoggerDefinitionVersions'' requests. If the version is the last one that was associated with a logger definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object. + * The ID of the logger definition. */ - LoggerDefinitionVersionId: string | undefined; + LoggerDefinitionId: string | undefined; } export namespace GetLoggerDefinitionVersionRequest { @@ -3570,9 +3575,9 @@ export namespace GetLoggerDefinitionVersionRequest { export interface GetLoggerDefinitionVersionResponse { /** - * The version of the logger definition version. + * The ARN of the logger definition version. */ - Version?: string; + Arn?: string; /** * The ID of the logger definition version. @@ -3580,19 +3585,19 @@ export interface GetLoggerDefinitionVersionResponse { Id?: string; /** - * The ARN of the logger definition version. + * The version of the logger definition version. */ - Arn?: string; + Version?: string; /** - * Information about the logger definition version. + * The time, in milliseconds since the epoch, when the logger definition version was created. */ - Definition?: LoggerDefinitionVersion; + CreationTimestamp?: string; /** - * The time, in milliseconds since the epoch, when the logger definition version was created. + * Information about the logger definition version. */ - CreationTimestamp?: string; + Definition?: LoggerDefinitionVersion; } export namespace GetLoggerDefinitionVersionResponse { @@ -3616,14 +3621,14 @@ export namespace GetResourceDefinitionRequest { export interface GetResourceDefinitionResponse { /** - * The ARN of the definition. + * The name of the definition. */ - Arn?: string; + Name?: string; /** - * The ID of the latest version associated with the definition. + * Tag(s) attached to the resource arn. */ - LatestVersion?: string; + tags?: { [key: string]: string }; /** * The ID of the definition. @@ -3631,29 +3636,29 @@ export interface GetResourceDefinitionResponse { Id?: string; /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * The time, in milliseconds since the epoch, when the definition was created. */ - LastUpdatedTimestamp?: string; + CreationTimestamp?: string; /** - * The ARN of the latest version associated with the definition. + * The ARN of the definition. */ - LatestVersionArn?: string; + Arn?: string; /** - * The time, in milliseconds since the epoch, when the definition was created. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - CreationTimestamp?: string; + LastUpdatedTimestamp?: string; /** - * The name of the definition. + * The ID of the latest version associated with the definition. */ - Name?: string; + LatestVersion?: string; /** - * Tag(s) attached to the resource arn. + * The ARN of the latest version associated with the definition. */ - tags?: { [key: string]: string }; + LatestVersionArn?: string; } export namespace GetResourceDefinitionResponse { @@ -3681,21 +3686,11 @@ export namespace GetResourceDefinitionVersionRequest { } export interface GetResourceDefinitionVersionResponse { - /** - * The time, in milliseconds since the epoch, when the resource definition version was created. - */ - CreationTimestamp?: string; - /** * Arn of the resource definition version. */ Arn?: string; - /** - * Information about the definition. - */ - Definition?: ResourceDefinitionVersion; - /** * The ID of the resource definition version. */ @@ -3705,6 +3700,16 @@ export interface GetResourceDefinitionVersionResponse { * The version of the resource definition version. */ Version?: string; + + /** + * The time, in milliseconds since the epoch, when the resource definition version was created. + */ + CreationTimestamp?: string; + + /** + * Information about the definition. + */ + Definition?: ResourceDefinitionVersion; } export namespace GetResourceDefinitionVersionResponse { @@ -3723,14 +3728,14 @@ export namespace GetServiceRoleForAccountRequest { export interface GetServiceRoleForAccountResponse { /** - * The ARN of the role which is associated with the account. + * The time when the service role was associated with the account. */ - RoleArn?: string; + AssociatedAt?: string; /** - * The time when the service role was associated with the account. + * The ARN of the role which is associated with the account. */ - AssociatedAt?: string; + RoleArn?: string; } export namespace GetServiceRoleForAccountResponse { @@ -3753,30 +3758,25 @@ export namespace GetSubscriptionDefinitionRequest { } export interface GetSubscriptionDefinitionResponse { - /** - * The ID of the latest version associated with the definition. - */ - LatestVersion?: string; - /** * The ID of the definition. */ Id?: string; /** - * The ARN of the latest version associated with the definition. + * The name of the definition. */ - LatestVersionArn?: string; + Name?: string; /** - * The time, in milliseconds since the epoch, when the definition was last updated. + * Tag(s) attached to the resource arn. */ - LastUpdatedTimestamp?: string; + tags?: { [key: string]: string }; /** - * The name of the definition. + * The ARN of the definition. */ - Name?: string; + Arn?: string; /** * The time, in milliseconds since the epoch, when the definition was created. @@ -3784,14 +3784,19 @@ export interface GetSubscriptionDefinitionResponse { CreationTimestamp?: string; /** - * The ARN of the definition. + * The ID of the latest version associated with the definition. */ - Arn?: string; + LatestVersion?: string; /** - * Tag(s) attached to the resource arn. + * The time, in milliseconds since the epoch, when the definition was last updated. */ - tags?: { [key: string]: string }; + LastUpdatedTimestamp?: string; + + /** + * The ARN of the latest version associated with the definition. + */ + LatestVersionArn?: string; } export namespace GetSubscriptionDefinitionResponse { @@ -3801,11 +3806,6 @@ export namespace GetSubscriptionDefinitionResponse { } export interface GetSubscriptionDefinitionVersionRequest { - /** - * The token for the next set of results, or ''null'' if there are no additional results. - */ - NextToken?: string; - /** * The ID of the subscription definition. */ @@ -3815,6 +3815,11 @@ export interface GetSubscriptionDefinitionVersionRequest { * The ID of the subscription definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListSubscriptionDefinitionVersions'' requests. If the version is the last one that was associated with a subscription definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object. */ SubscriptionDefinitionVersionId: string | undefined; + + /** + * The token for the next set of results, or ''null'' if there are no additional results. + */ + NextToken?: string; } export namespace GetSubscriptionDefinitionVersionRequest { @@ -3824,11 +3829,26 @@ export namespace GetSubscriptionDefinitionVersionRequest { } export interface GetSubscriptionDefinitionVersionResponse { + /** + * The version of the subscription definition version. + */ + Version?: string; + /** * The ID of the subscription definition version. */ Id?: string; + /** + * The time, in milliseconds since the epoch, when the subscription definition version was created. + */ + CreationTimestamp?: string; + + /** + * The token for the next set of results, or ''null'' if there are no additional results. + */ + NextToken?: string; + /** * The ARN of the subscription definition version. */ @@ -3838,35 +3858,83 @@ export interface GetSubscriptionDefinitionVersionResponse { * Information about the subscription definition version. */ Definition?: SubscriptionDefinitionVersion; +} + +export namespace GetSubscriptionDefinitionVersionResponse { + export const filterSensitiveLog = (obj: GetSubscriptionDefinitionVersionResponse): any => ({ + ...obj, + }); +} +export interface GetThingRuntimeConfigurationRequest { /** - * The time, in milliseconds since the epoch, when the subscription definition version was created. + * The thing name. */ - CreationTimestamp?: string; + ThingName: string | undefined; +} + +export namespace GetThingRuntimeConfigurationRequest { + export const filterSensitiveLog = (obj: GetThingRuntimeConfigurationRequest): any => ({ + ...obj, + }); +} +export enum Telemetry { + Off = "Off", + On = "On", +} + +/** + * Configuration settings for running telemetry. + */ +export interface TelemetryConfiguration { /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Synchronization status of the device reported configuration with the desired configuration. */ - NextToken?: string; + ConfigurationSyncStatus?: ConfigurationSyncStatus | string; /** - * The version of the subscription definition version. + * Configure telemetry to be on or off. */ - Version?: string; + Telemetry: Telemetry | string | undefined; } -export namespace GetSubscriptionDefinitionVersionResponse { - export const filterSensitiveLog = (obj: GetSubscriptionDefinitionVersionResponse): any => ({ +export namespace TelemetryConfiguration { + export const filterSensitiveLog = (obj: TelemetryConfiguration): any => ({ ...obj, }); } -export interface ListBulkDeploymentDetailedReportsRequest { +/** + * Runtime configuration for a thing. + */ +export interface RuntimeConfiguration { /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Configuration for telemetry service. */ - NextToken?: string; + TelemetryConfiguration?: TelemetryConfiguration; +} + +export namespace RuntimeConfiguration { + export const filterSensitiveLog = (obj: RuntimeConfiguration): any => ({ + ...obj, + }); +} + +export interface GetThingRuntimeConfigurationResponse { + /** + * Runtime configuration for a thing. + */ + RuntimeConfiguration?: RuntimeConfiguration; +} +export namespace GetThingRuntimeConfigurationResponse { + export const filterSensitiveLog = (obj: GetThingRuntimeConfigurationResponse): any => ({ + ...obj, + }); +} + +export interface ListBulkDeploymentDetailedReportsRequest { /** * The maximum number of results to be returned per request. */ @@ -3876,6 +3944,11 @@ export interface ListBulkDeploymentDetailedReportsRequest { * The ID of the bulk deployment. */ BulkDeploymentId: string | undefined; + + /** + * The token for the next set of results, or ''null'' if there are no additional results. + */ + NextToken?: string; } export namespace ListBulkDeploymentDetailedReportsRequest { @@ -3904,14 +3977,14 @@ export namespace ListBulkDeploymentDetailedReportsResponse { export interface ListBulkDeploymentsRequest { /** - * The token for the next set of results, or ''null'' if there are no additional results. + * The maximum number of results to be returned per request. */ - NextToken?: string; + MaxResults?: string; /** - * The maximum number of results to be returned per request. + * The token for the next set of results, or ''null'' if there are no additional results. */ - MaxResults?: string; + NextToken?: string; } export namespace ListBulkDeploymentsRequest { @@ -3922,14 +3995,14 @@ export namespace ListBulkDeploymentsRequest { export interface ListBulkDeploymentsResponse { /** - * A list of bulk deployments. + * The token for the next set of results, or ''null'' if there are no additional results. */ - BulkDeployments?: BulkDeployment[]; + NextToken?: string; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * A list of bulk deployments. */ - NextToken?: string; + BulkDeployments?: BulkDeployment[]; } export namespace ListBulkDeploymentsResponse { @@ -3976,14 +4049,14 @@ export namespace ListConnectorDefinitionsResponse { export interface ListConnectorDefinitionVersionsRequest { /** - * The token for the next set of results, or ''null'' if there are no additional results. + * The ID of the connector definition. */ - NextToken?: string; + ConnectorDefinitionId: string | undefined; /** - * The ID of the connector definition. + * The token for the next set of results, or ''null'' if there are no additional results. */ - ConnectorDefinitionId: string | undefined; + NextToken?: string; /** * The maximum number of results to be returned per request. @@ -3999,14 +4072,14 @@ export namespace ListConnectorDefinitionVersionsRequest { export interface ListConnectorDefinitionVersionsResponse { /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Information about a version. */ - NextToken?: string; + Versions?: VersionInformation[]; /** - * Information about a version. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Versions?: VersionInformation[]; + NextToken?: string; } export namespace ListConnectorDefinitionVersionsResponse { @@ -4015,16 +4088,16 @@ export namespace ListConnectorDefinitionVersionsResponse { }); } -export interface ListCoreDefinitionsRequest { - /** - * The maximum number of results to be returned per request. - */ - MaxResults?: string; - +export interface ListCoreDefinitionsRequest { /** * The token for the next set of results, or ''null'' if there are no additional results. */ NextToken?: string; + + /** + * The maximum number of results to be returned per request. + */ + MaxResults?: string; } export namespace ListCoreDefinitionsRequest { @@ -4035,14 +4108,14 @@ export namespace ListCoreDefinitionsRequest { export interface ListCoreDefinitionsResponse { /** - * Information about a definition. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Definitions?: DefinitionInformation[]; + NextToken?: string; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Information about a definition. */ - NextToken?: string; + Definitions?: DefinitionInformation[]; } export namespace ListCoreDefinitionsResponse { @@ -4052,6 +4125,11 @@ export namespace ListCoreDefinitionsResponse { } export interface ListCoreDefinitionVersionsRequest { + /** + * The ID of the core definition. + */ + CoreDefinitionId: string | undefined; + /** * The token for the next set of results, or ''null'' if there are no additional results. */ @@ -4061,11 +4139,6 @@ export interface ListCoreDefinitionVersionsRequest { * The maximum number of results to be returned per request. */ MaxResults?: string; - - /** - * The ID of the core definition. - */ - CoreDefinitionId: string | undefined; } export namespace ListCoreDefinitionVersionsRequest { @@ -4093,11 +4166,6 @@ export namespace ListCoreDefinitionVersionsResponse { } export interface ListDeploymentsRequest { - /** - * The token for the next set of results, or ''null'' if there are no additional results. - */ - NextToken?: string; - /** * The maximum number of results to be returned per request. */ @@ -4107,6 +4175,11 @@ export interface ListDeploymentsRequest { * The ID of the Greengrass group. */ GroupId: string | undefined; + + /** + * The token for the next set of results, or ''null'' if there are no additional results. + */ + NextToken?: string; } export namespace ListDeploymentsRequest { @@ -4117,14 +4190,14 @@ export namespace ListDeploymentsRequest { export interface ListDeploymentsResponse { /** - * The token for the next set of results, or ''null'' if there are no additional results. + * A list of deployments for the requested groups. */ - NextToken?: string; + Deployments?: Deployment[]; /** - * A list of deployments for the requested groups. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Deployments?: Deployment[]; + NextToken?: string; } export namespace ListDeploymentsResponse { @@ -4171,14 +4244,14 @@ export namespace ListDeviceDefinitionsResponse { export interface ListDeviceDefinitionVersionsRequest { /** - * The ID of the device definition. + * The token for the next set of results, or ''null'' if there are no additional results. */ - DeviceDefinitionId: string | undefined; + NextToken?: string; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * The ID of the device definition. */ - NextToken?: string; + DeviceDefinitionId: string | undefined; /** * The maximum number of results to be returned per request. @@ -4194,14 +4267,14 @@ export namespace ListDeviceDefinitionVersionsRequest { export interface ListDeviceDefinitionVersionsResponse { /** - * Information about a version. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Versions?: VersionInformation[]; + NextToken?: string; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Information about a version. */ - NextToken?: string; + Versions?: VersionInformation[]; } export namespace ListDeviceDefinitionVersionsResponse { @@ -4230,14 +4303,14 @@ export namespace ListFunctionDefinitionsRequest { export interface ListFunctionDefinitionsResponse { /** - * Information about a definition. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Definitions?: DefinitionInformation[]; + NextToken?: string; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Information about a definition. */ - NextToken?: string; + Definitions?: DefinitionInformation[]; } export namespace ListFunctionDefinitionsResponse { @@ -4271,14 +4344,14 @@ export namespace ListFunctionDefinitionVersionsRequest { export interface ListFunctionDefinitionVersionsResponse { /** - * Information about a version. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Versions?: VersionInformation[]; + NextToken?: string; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Information about a version. */ - NextToken?: string; + Versions?: VersionInformation[]; } export namespace ListFunctionDefinitionVersionsResponse { @@ -4374,14 +4447,14 @@ export namespace ListGroupVersionsRequest { export interface ListGroupVersionsResponse { /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Information about a version. */ - NextToken?: string; + Versions?: VersionInformation[]; /** - * Information about a version. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Versions?: VersionInformation[]; + NextToken?: string; } export namespace ListGroupVersionsResponse { @@ -4410,14 +4483,14 @@ export namespace ListLoggerDefinitionsRequest { export interface ListLoggerDefinitionsResponse { /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Information about a definition. */ - NextToken?: string; + Definitions?: DefinitionInformation[]; /** - * Information about a definition. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Definitions?: DefinitionInformation[]; + NextToken?: string; } export namespace ListLoggerDefinitionsResponse { @@ -4428,9 +4501,9 @@ export namespace ListLoggerDefinitionsResponse { export interface ListLoggerDefinitionVersionsRequest { /** - * The token for the next set of results, or ''null'' if there are no additional results. + * The maximum number of results to be returned per request. */ - NextToken?: string; + MaxResults?: string; /** * The ID of the logger definition. @@ -4438,9 +4511,9 @@ export interface ListLoggerDefinitionVersionsRequest { LoggerDefinitionId: string | undefined; /** - * The maximum number of results to be returned per request. + * The token for the next set of results, or ''null'' if there are no additional results. */ - MaxResults?: string; + NextToken?: string; } export namespace ListLoggerDefinitionVersionsRequest { @@ -4451,14 +4524,14 @@ export namespace ListLoggerDefinitionVersionsRequest { export interface ListLoggerDefinitionVersionsResponse { /** - * Information about a version. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Versions?: VersionInformation[]; + NextToken?: string; /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Information about a version. */ - NextToken?: string; + Versions?: VersionInformation[]; } export namespace ListLoggerDefinitionVersionsResponse { @@ -4505,14 +4578,14 @@ export namespace ListResourceDefinitionsResponse { export interface ListResourceDefinitionVersionsRequest { /** - * The maximum number of results to be returned per request. + * The ID of the resource definition. */ - MaxResults?: string; + ResourceDefinitionId: string | undefined; /** - * The ID of the resource definition. + * The maximum number of results to be returned per request. */ - ResourceDefinitionId: string | undefined; + MaxResults?: string; /** * The token for the next set of results, or ''null'' if there are no additional results. @@ -4528,14 +4601,14 @@ export namespace ListResourceDefinitionVersionsRequest { export interface ListResourceDefinitionVersionsResponse { /** - * The token for the next set of results, or ''null'' if there are no additional results. + * Information about a version. */ - NextToken?: string; + Versions?: VersionInformation[]; /** - * Information about a version. + * The token for the next set of results, or ''null'' if there are no additional results. */ - Versions?: VersionInformation[]; + NextToken?: string; } export namespace ListResourceDefinitionVersionsResponse { @@ -4582,14 +4655,14 @@ export namespace ListSubscriptionDefinitionsResponse { export interface ListSubscriptionDefinitionVersionsRequest { /** - * The maximum number of results to be returned per request. + * The ID of the subscription definition. */ - MaxResults?: string; + SubscriptionDefinitionId: string | undefined; /** - * The ID of the subscription definition. + * The maximum number of results to be returned per request. */ - SubscriptionDefinitionId: string | undefined; + MaxResults?: string; /** * The token for the next set of results, or ''null'' if there are no additional results. @@ -4651,6 +4724,11 @@ export namespace ListTagsForResourceResponse { * Information needed to reset deployments. */ export interface ResetDeploymentsRequest { + /** + * If true, performs a best-effort only core reset. + */ + Force?: boolean; + /** * A client token used to correlate requests and responses. */ @@ -4660,11 +4738,6 @@ export interface ResetDeploymentsRequest { * The ID of the Greengrass group. */ GroupId: string | undefined; - - /** - * If true, performs a best-effort only core reset. - */ - Force?: boolean; } export namespace ResetDeploymentsRequest { @@ -4675,14 +4748,14 @@ export namespace ResetDeploymentsRequest { export interface ResetDeploymentsResponse { /** - * The ID of the deployment. + * The ARN of the deployment. */ - DeploymentId?: string; + DeploymentArn?: string; /** - * The ARN of the deployment. + * The ID of the deployment. */ - DeploymentArn?: string; + DeploymentId?: string; } export namespace ResetDeploymentsResponse { @@ -4693,24 +4766,24 @@ export namespace ResetDeploymentsResponse { export interface StartBulkDeploymentRequest { /** - * The URI of the input file contained in the S3 bucket. The execution role must have ''getObject'' permissions on this bucket to access the input file. The input file is a JSON-serialized, line delimited file with UTF-8 encoding that provides a list of group and version IDs and the deployment type. This file must be less than 100 MB. Currently, AWS IoT Greengrass supports only ''NewDeployment'' deployment types. + * The ARN of the execution role to associate with the bulk deployment operation. This IAM role must allow the ''greengrass:CreateDeployment'' action for all group versions that are listed in the input file. This IAM role must have access to the S3 bucket containing the input file. */ - InputFileUri: string | undefined; + ExecutionRoleArn: string | undefined; /** - * Tag(s) to add to the new resource. + * A client token used to correlate requests and responses. */ - tags?: { [key: string]: string }; + AmznClientToken?: string; /** - * The ARN of the execution role to associate with the bulk deployment operation. This IAM role must allow the ''greengrass:CreateDeployment'' action for all group versions that are listed in the input file. This IAM role must have access to the S3 bucket containing the input file. + * The URI of the input file contained in the S3 bucket. The execution role must have ''getObject'' permissions on this bucket to access the input file. The input file is a JSON-serialized, line delimited file with UTF-8 encoding that provides a list of group and version IDs and the deployment type. This file must be less than 100 MB. Currently, AWS IoT Greengrass supports only ''NewDeployment'' deployment types. */ - ExecutionRoleArn: string | undefined; + InputFileUri: string | undefined; /** - * A client token used to correlate requests and responses. + * Tag(s) to add to the new resource. */ - AmznClientToken?: string; + tags?: { [key: string]: string }; } export namespace StartBulkDeploymentRequest { @@ -4781,14 +4854,14 @@ export namespace TagResourceRequest { export interface UntagResourceRequest { /** - * The Amazon Resource Name (ARN) of the resource. + * An array of tag keys to delete */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; /** - * An array of tag keys to delete + * The Amazon Resource Name (ARN) of the resource. */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -4838,14 +4911,14 @@ export namespace UpdateConnectivityInfoResponse { export interface UpdateConnectorDefinitionRequest { /** - * The ID of the connector definition. + * The name of the definition. */ - ConnectorDefinitionId: string | undefined; + Name?: string; /** - * The name of the definition. + * The ID of the connector definition. */ - Name?: string; + ConnectorDefinitionId: string | undefined; } export namespace UpdateConnectorDefinitionRequest { @@ -4864,14 +4937,14 @@ export namespace UpdateConnectorDefinitionResponse { export interface UpdateCoreDefinitionRequest { /** - * The ID of the core definition. + * The name of the definition. */ - CoreDefinitionId: string | undefined; + Name?: string; /** - * The name of the definition. + * The ID of the core definition. */ - Name?: string; + CoreDefinitionId: string | undefined; } export namespace UpdateCoreDefinitionRequest { @@ -4942,14 +5015,14 @@ export namespace UpdateFunctionDefinitionResponse { export interface UpdateGroupRequest { /** - * The name of the definition. + * The ID of the Greengrass group. */ - Name?: string; + GroupId: string | undefined; /** - * The ID of the Greengrass group. + * The name of the definition. */ - GroupId: string | undefined; + Name?: string; } export namespace UpdateGroupRequest { @@ -4968,14 +5041,14 @@ export namespace UpdateGroupResponse { export interface UpdateGroupCertificateConfigurationRequest { /** - * The amount of time remaining before the certificate expires, in milliseconds. + * The ID of the Greengrass group. */ - CertificateExpiryInMilliseconds?: string; + GroupId: string | undefined; /** - * The ID of the Greengrass group. + * The amount of time remaining before the certificate expires, in milliseconds. */ - GroupId: string | undefined; + CertificateExpiryInMilliseconds?: string; } export namespace UpdateGroupCertificateConfigurationRequest { @@ -4991,14 +5064,14 @@ export interface UpdateGroupCertificateConfigurationResponse { GroupId?: string; /** - * The amount of time remaining before the certificate authority expires, in milliseconds. + * The amount of time remaining before the certificate expires, in milliseconds. */ - CertificateAuthorityExpiryInMilliseconds?: string; + CertificateExpiryInMilliseconds?: string; /** - * The amount of time remaining before the certificate expires, in milliseconds. + * The amount of time remaining before the certificate authority expires, in milliseconds. */ - CertificateExpiryInMilliseconds?: string; + CertificateAuthorityExpiryInMilliseconds?: string; } export namespace UpdateGroupCertificateConfigurationResponse { @@ -5009,14 +5082,14 @@ export namespace UpdateGroupCertificateConfigurationResponse { export interface UpdateLoggerDefinitionRequest { /** - * The ID of the logger definition. + * The name of the definition. */ - LoggerDefinitionId: string | undefined; + Name?: string; /** - * The name of the definition. + * The ID of the logger definition. */ - Name?: string; + LoggerDefinitionId: string | undefined; } export namespace UpdateLoggerDefinitionRequest { @@ -5035,14 +5108,14 @@ export namespace UpdateLoggerDefinitionResponse { export interface UpdateResourceDefinitionRequest { /** - * The ID of the resource definition. + * The name of the definition. */ - ResourceDefinitionId: string | undefined; + Name?: string; /** - * The name of the definition. + * The ID of the resource definition. */ - Name?: string; + ResourceDefinitionId: string | undefined; } export namespace UpdateResourceDefinitionRequest { @@ -5084,3 +5157,45 @@ export namespace UpdateSubscriptionDefinitionResponse { ...obj, }); } + +/** + * Configuration settings for running telemetry. + */ +export interface TelemetryConfigurationUpdate { + /** + * Configure telemetry to be on or off. + */ + Telemetry: Telemetry | string | undefined; +} + +export namespace TelemetryConfigurationUpdate { + export const filterSensitiveLog = (obj: TelemetryConfigurationUpdate): any => ({ + ...obj, + }); +} + +export interface UpdateThingRuntimeConfigurationRequest { + /** + * Configuration for telemetry service. + */ + TelemetryConfiguration?: TelemetryConfigurationUpdate; + + /** + * The thing name. + */ + ThingName: string | undefined; +} + +export namespace UpdateThingRuntimeConfigurationRequest { + export const filterSensitiveLog = (obj: UpdateThingRuntimeConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface UpdateThingRuntimeConfigurationResponse {} + +export namespace UpdateThingRuntimeConfigurationResponse { + export const filterSensitiveLog = (obj: UpdateThingRuntimeConfigurationResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-greengrass/protocols/Aws_restJson1.ts b/clients/client-greengrass/protocols/Aws_restJson1.ts index c5cab4efbe88..3c1cd74dcfd9 100644 --- a/clients/client-greengrass/protocols/Aws_restJson1.ts +++ b/clients/client-greengrass/protocols/Aws_restJson1.ts @@ -190,6 +190,10 @@ import { GetSubscriptionDefinitionVersionCommandInput, GetSubscriptionDefinitionVersionCommandOutput, } from "../commands/GetSubscriptionDefinitionVersionCommand"; +import { + GetThingRuntimeConfigurationCommandInput, + GetThingRuntimeConfigurationCommandOutput, +} from "../commands/GetThingRuntimeConfigurationCommand"; import { ListBulkDeploymentDetailedReportsCommandInput, ListBulkDeploymentDetailedReportsCommandOutput, @@ -310,6 +314,10 @@ import { UpdateSubscriptionDefinitionCommandInput, UpdateSubscriptionDefinitionCommandOutput, } from "../commands/UpdateSubscriptionDefinitionCommand"; +import { + UpdateThingRuntimeConfigurationCommandInput, + UpdateThingRuntimeConfigurationCommandOutput, +} from "../commands/UpdateThingRuntimeConfigurationCommand"; import { BadRequestException, BulkDeployment, @@ -347,11 +355,14 @@ import { ResourceDataContainer, ResourceDefinitionVersion, ResourceDownloadOwnerSetting, + RuntimeConfiguration, S3MachineLearningModelResourceData, SageMakerMachineLearningModelResourceData, SecretsManagerSecretResourceData, Subscription, SubscriptionDefinitionVersion, + TelemetryConfiguration, + TelemetryConfigurationUpdate, VersionInformation, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; @@ -1553,15 +1564,6 @@ export const serializeAws_restJson1GetCoreDefinitionVersionCommand = async ( "Content-Type": "", }; let resolvedPath = "/greengrass/definition/cores/{CoreDefinitionId}/versions/{CoreDefinitionVersionId}"; - if (input.CoreDefinitionId !== undefined) { - const labelValue: string = input.CoreDefinitionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: CoreDefinitionId."); - } - resolvedPath = resolvedPath.replace("{CoreDefinitionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: CoreDefinitionId."); - } if (input.CoreDefinitionVersionId !== undefined) { const labelValue: string = input.CoreDefinitionVersionId; if (labelValue.length <= 0) { @@ -1571,6 +1573,15 @@ export const serializeAws_restJson1GetCoreDefinitionVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: CoreDefinitionVersionId."); } + if (input.CoreDefinitionId !== undefined) { + const labelValue: string = input.CoreDefinitionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: CoreDefinitionId."); + } + resolvedPath = resolvedPath.replace("{CoreDefinitionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: CoreDefinitionId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1592,15 +1603,6 @@ export const serializeAws_restJson1GetDeploymentStatusCommand = async ( "Content-Type": "", }; let resolvedPath = "/greengrass/groups/{GroupId}/deployments/{DeploymentId}/status"; - if (input.DeploymentId !== undefined) { - const labelValue: string = input.DeploymentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DeploymentId."); - } - resolvedPath = resolvedPath.replace("{DeploymentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DeploymentId."); - } if (input.GroupId !== undefined) { const labelValue: string = input.GroupId; if (labelValue.length <= 0) { @@ -1610,6 +1612,15 @@ export const serializeAws_restJson1GetDeploymentStatusCommand = async ( } else { throw new Error("No value provided for input HTTP label: GroupId."); } + if (input.DeploymentId !== undefined) { + const labelValue: string = input.DeploymentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DeploymentId."); + } + resolvedPath = resolvedPath.replace("{DeploymentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DeploymentId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1661,15 +1672,6 @@ export const serializeAws_restJson1GetDeviceDefinitionVersionCommand = async ( "Content-Type": "", }; let resolvedPath = "/greengrass/definition/devices/{DeviceDefinitionId}/versions/{DeviceDefinitionVersionId}"; - if (input.DeviceDefinitionVersionId !== undefined) { - const labelValue: string = input.DeviceDefinitionVersionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DeviceDefinitionVersionId."); - } - resolvedPath = resolvedPath.replace("{DeviceDefinitionVersionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DeviceDefinitionVersionId."); - } if (input.DeviceDefinitionId !== undefined) { const labelValue: string = input.DeviceDefinitionId; if (labelValue.length <= 0) { @@ -1679,6 +1681,15 @@ export const serializeAws_restJson1GetDeviceDefinitionVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: DeviceDefinitionId."); } + if (input.DeviceDefinitionVersionId !== undefined) { + const labelValue: string = input.DeviceDefinitionVersionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DeviceDefinitionVersionId."); + } + resolvedPath = resolvedPath.replace("{DeviceDefinitionVersionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DeviceDefinitionVersionId."); + } const query: any = { ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; @@ -1807,15 +1818,6 @@ export const serializeAws_restJson1GetGroupCertificateAuthorityCommand = async ( "Content-Type": "", }; let resolvedPath = "/greengrass/groups/{GroupId}/certificateauthorities/{CertificateAuthorityId}"; - if (input.CertificateAuthorityId !== undefined) { - const labelValue: string = input.CertificateAuthorityId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: CertificateAuthorityId."); - } - resolvedPath = resolvedPath.replace("{CertificateAuthorityId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: CertificateAuthorityId."); - } if (input.GroupId !== undefined) { const labelValue: string = input.GroupId; if (labelValue.length <= 0) { @@ -1825,6 +1827,15 @@ export const serializeAws_restJson1GetGroupCertificateAuthorityCommand = async ( } else { throw new Error("No value provided for input HTTP label: GroupId."); } + if (input.CertificateAuthorityId !== undefined) { + const labelValue: string = input.CertificateAuthorityId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: CertificateAuthorityId."); + } + resolvedPath = resolvedPath.replace("{CertificateAuthorityId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: CertificateAuthorityId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1945,15 +1956,6 @@ export const serializeAws_restJson1GetLoggerDefinitionVersionCommand = async ( "Content-Type": "", }; let resolvedPath = "/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}"; - if (input.LoggerDefinitionId !== undefined) { - const labelValue: string = input.LoggerDefinitionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: LoggerDefinitionId."); - } - resolvedPath = resolvedPath.replace("{LoggerDefinitionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: LoggerDefinitionId."); - } if (input.LoggerDefinitionVersionId !== undefined) { const labelValue: string = input.LoggerDefinitionVersionId; if (labelValue.length <= 0) { @@ -1963,6 +1965,15 @@ export const serializeAws_restJson1GetLoggerDefinitionVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: LoggerDefinitionVersionId."); } + if (input.LoggerDefinitionId !== undefined) { + const labelValue: string = input.LoggerDefinitionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: LoggerDefinitionId."); + } + resolvedPath = resolvedPath.replace("{LoggerDefinitionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: LoggerDefinitionId."); + } const query: any = { ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; @@ -2145,6 +2156,36 @@ export const serializeAws_restJson1GetSubscriptionDefinitionVersionCommand = asy }); }; +export const serializeAws_restJson1GetThingRuntimeConfigurationCommand = async ( + input: GetThingRuntimeConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/greengrass/things/{ThingName}/runtimeconfig"; + if (input.ThingName !== undefined) { + const labelValue: string = input.ThingName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ThingName."); + } + resolvedPath = resolvedPath.replace("{ThingName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ThingName."); + } + 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_restJson1ListBulkDeploymentDetailedReportsCommand = async ( input: ListBulkDeploymentDetailedReportsCommandInput, context: __SerdeContext @@ -2163,8 +2204,8 @@ export const serializeAws_restJson1ListBulkDeploymentDetailedReportsCommand = as throw new Error("No value provided for input HTTP label: BulkDeploymentId."); } const query: any = { - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2189,8 +2230,8 @@ export const serializeAws_restJson1ListBulkDeploymentsCommand = async ( }; let resolvedPath = "/greengrass/bulk/deployments"; const query: any = { - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2276,8 +2317,8 @@ export const serializeAws_restJson1ListCoreDefinitionsCommand = async ( }; let resolvedPath = "/greengrass/definition/cores"; const query: any = { - ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2346,8 +2387,8 @@ export const serializeAws_restJson1ListDeploymentsCommand = async ( throw new Error("No value provided for input HTTP label: GroupId."); } const query: any = { - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2620,8 +2661,8 @@ export const serializeAws_restJson1ListLoggerDefinitionVersionsCommand = async ( throw new Error("No value provided for input HTTP label: LoggerDefinitionId."); } const query: any = { - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3281,6 +3322,41 @@ export const serializeAws_restJson1UpdateSubscriptionDefinitionCommand = async ( }); }; +export const serializeAws_restJson1UpdateThingRuntimeConfigurationCommand = async ( + input: UpdateThingRuntimeConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/greengrass/things/{ThingName}/runtimeconfig"; + if (input.ThingName !== undefined) { + const labelValue: string = input.ThingName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ThingName."); + } + resolvedPath = resolvedPath.replace("{ThingName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ThingName."); + } + let body: any; + body = JSON.stringify({ + ...(input.TelemetryConfiguration !== undefined && { + TelemetryConfiguration: serializeAws_restJson1TelemetryConfigurationUpdate(input.TelemetryConfiguration, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const deserializeAws_restJson1AssociateRoleToGroupCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -7030,6 +7106,69 @@ const deserializeAws_restJson1GetSubscriptionDefinitionVersionCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1GetThingRuntimeConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetThingRuntimeConfigurationCommandError(output, context); + } + const contents: GetThingRuntimeConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + RuntimeConfiguration: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.RuntimeConfiguration !== undefined && data.RuntimeConfiguration !== null) { + contents.RuntimeConfiguration = deserializeAws_restJson1RuntimeConfiguration(data.RuntimeConfiguration, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetThingRuntimeConfigurationCommandError = 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.greengrass#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.greengrass#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(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_restJson1ListBulkDeploymentDetailedReportsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -9028,6 +9167,65 @@ const deserializeAws_restJson1UpdateSubscriptionDefinitionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1UpdateThingRuntimeConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateThingRuntimeConfigurationCommandError(output, context); + } + const contents: UpdateThingRuntimeConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateThingRuntimeConfigurationCommandError = 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.greengrass#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.greengrass#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(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_restJson1BadRequestExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -9490,6 +9688,15 @@ const serializeAws_restJson1Tags = (input: { [key: string]: string }, context: _ ); }; +const serializeAws_restJson1TelemetryConfigurationUpdate = ( + input: TelemetryConfigurationUpdate, + context: __SerdeContext +): any => { + return { + ...(input.Telemetry !== undefined && { Telemetry: input.Telemetry }), + }; +}; + const serializeAws_restJson1UpdateTargets = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -10065,6 +10272,15 @@ const deserializeAws_restJson1ResourceDownloadOwnerSetting = ( } as any; }; +const deserializeAws_restJson1RuntimeConfiguration = (output: any, context: __SerdeContext): RuntimeConfiguration => { + return { + TelemetryConfiguration: + output.TelemetryConfiguration !== undefined && output.TelemetryConfiguration !== null + ? deserializeAws_restJson1TelemetryConfiguration(output.TelemetryConfiguration, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1S3MachineLearningModelResourceData = ( output: any, context: __SerdeContext @@ -10140,6 +10356,19 @@ const deserializeAws_restJson1Tags = (output: any, context: __SerdeContext): { [ ); }; +const deserializeAws_restJson1TelemetryConfiguration = ( + output: any, + context: __SerdeContext +): TelemetryConfiguration => { + return { + ConfigurationSyncStatus: + output.ConfigurationSyncStatus !== undefined && output.ConfigurationSyncStatus !== null + ? output.ConfigurationSyncStatus + : undefined, + Telemetry: output.Telemetry !== undefined && output.Telemetry !== null ? output.Telemetry : undefined, + } as any; +}; + const deserializeAws_restJson1VersionInformation = (output: any, context: __SerdeContext): VersionInformation => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, diff --git a/clients/client-guardduty/models/models_0.ts b/clients/client-guardduty/models/models_0.ts index 759b7c074f34..12bcd28bee6b 100644 --- a/clients/client-guardduty/models/models_0.ts +++ b/clients/client-guardduty/models/models_0.ts @@ -2,11 +2,6 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface AcceptInvitationRequest { - /** - *

                                                              The unique ID of the detector of the GuardDuty member account.

                                                              - */ - DetectorId: string | undefined; - /** *

                                                              The value that is used to validate the master account to the member account.

                                                              */ @@ -16,6 +11,11 @@ export interface AcceptInvitationRequest { *

                                                              The account ID of the master GuardDuty account whose invitation you're accepting.

                                                              */ MasterId: string | undefined; + + /** + *

                                                              The unique ID of the detector of the GuardDuty member account.

                                                              + */ + DetectorId: string | undefined; } export namespace AcceptInvitationRequest { @@ -39,14 +39,14 @@ export interface BadRequestException extends __SmithyException, $MetadataBearer name: "BadRequestException"; $fault: "client"; /** - *

                                                              The error type.

                                                              + *

                                                              The error message.

                                                              */ - Type?: string; + Message?: string; /** - *

                                                              The error message.

                                                              + *

                                                              The error type.

                                                              */ - Message?: string; + Type?: string; } export namespace BadRequestException { @@ -83,16 +83,16 @@ export namespace InternalServerErrorException { */ export interface AccessControlList { /** - *

                                                              A value that indicates whether public read access for the bucket is enabled through an + *

                                                              A value that indicates whether public write access for the bucket is enabled through an * Access Control List (ACL).

                                                              */ - AllowsPublicReadAccess?: boolean; + AllowsPublicWriteAccess?: boolean; /** - *

                                                              A value that indicates whether public write access for the bucket is enabled through an + *

                                                              A value that indicates whether public read access for the bucket is enabled through an * Access Control List (ACL).

                                                              */ - AllowsPublicWriteAccess?: boolean; + AllowsPublicReadAccess?: boolean; } export namespace AccessControlList { @@ -106,14 +106,14 @@ export namespace AccessControlList { */ export interface AccessKeyDetails { /** - *

                                                              The name of the user.

                                                              + *

                                                              The type of the user.

                                                              */ - UserName?: string; + UserType?: string; /** - *

                                                              The type of the user.

                                                              + *

                                                              The name of the user.

                                                              */ - UserType?: string; + UserName?: string; /** *

                                                              The principal ID of the user.

                                                              @@ -159,6 +159,11 @@ export namespace AccountDetail { * Access for more information.

                                                              */ export interface BlockPublicAccess { + /** + *

                                                              Indicates if S3 Block Public Access is set to IgnorePublicAcls.

                                                              + */ + IgnorePublicAcls?: boolean; + /** *

                                                              Indicates if S3 Block Public Access is set to BlockPublicPolicy.

                                                              */ @@ -173,11 +178,6 @@ export interface BlockPublicAccess { *

                                                              Indicates if S3 Block Public Access is set to BlockPublicAcls.

                                                              */ BlockPublicAcls?: boolean; - - /** - *

                                                              Indicates if S3 Block Public Access is set to IgnorePublicAcls.

                                                              - */ - IgnorePublicAcls?: boolean; } export namespace BlockPublicAccess { @@ -281,9 +281,9 @@ export namespace GeoLocation { */ export interface Organization { /** - *

                                                              The name of the internet provider.

                                                              + *

                                                              The organization that registered this ASN.

                                                              */ - Org?: string; + AsnOrg?: string; /** *

                                                              The ISP information for the internet provider.

                                                              @@ -291,9 +291,9 @@ export interface Organization { Isp?: string; /** - *

                                                              The organization that registered this ASN.

                                                              + *

                                                              The name of the internet provider.

                                                              */ - AsnOrg?: string; + Org?: string; /** *

                                                              The Autonomous System Number (ASN) of the internet provider of the remote IP @@ -313,9 +313,9 @@ export namespace Organization { */ export interface RemoteIpDetails { /** - *

                                                              The location information of the remote IP address.

                                                              + *

                                                              The ISP organization information of the remote IP address.

                                                              */ - GeoLocation?: GeoLocation; + Organization?: Organization; /** *

                                                              The IPv4 remote address of the connection.

                                                              @@ -323,14 +323,14 @@ export interface RemoteIpDetails { IpAddressV4?: string; /** - *

                                                              The ISP organization information of the remote IP address.

                                                              + *

                                                              The country code of the remote IP address.

                                                              */ - Organization?: Organization; + Country?: Country; /** - *

                                                              The country code of the remote IP address.

                                                              + *

                                                              The location information of the remote IP address.

                                                              */ - Country?: Country; + GeoLocation?: GeoLocation; /** *

                                                              The city information of the remote IP address.

                                                              @@ -345,13 +345,13 @@ export namespace RemoteIpDetails { } /** - *

                                                              Contains information about the API operation.

                                                              + *

                                                              Contains information about the API action.

                                                              */ export interface AwsApiCallAction { /** - *

                                                              The remote IP information of the connection.

                                                              + *

                                                              The AWS API name.

                                                              */ - RemoteIpDetails?: RemoteIpDetails; + Api?: string; /** *

                                                              The AWS service name whose API was invoked.

                                                              @@ -359,19 +359,24 @@ export interface AwsApiCallAction { ServiceName?: string; /** - *

                                                              The AWS API caller type.

                                                              + *

                                                              The error code of the failed AWS API action.

                                                              */ - CallerType?: string; + ErrorCode?: string; /** - *

                                                              The AWS API name.

                                                              + *

                                                              The AWS API caller type.

                                                              */ - Api?: string; + CallerType?: string; /** *

                                                              The domain information for the AWS API call.

                                                              */ DomainDetails?: DomainDetails; + + /** + *

                                                              The remote IP information of the connection that initiated the AWS API call.

                                                              + */ + RemoteIpDetails?: RemoteIpDetails; } export namespace AwsApiCallAction { @@ -438,14 +443,14 @@ export namespace LocalPortDetails { */ export interface RemotePortDetails { /** - *

                                                              The port name of the remote connection.

                                                              + *

                                                              The port number of the remote connection.

                                                              */ - PortName?: string; + Port?: number; /** - *

                                                              The port number of the remote connection.

                                                              + *

                                                              The port name of the remote connection.

                                                              */ - Port?: number; + PortName?: string; } export namespace RemotePortDetails { @@ -458,16 +463,6 @@ export namespace RemotePortDetails { *

                                                              Contains information about the NETWORK_CONNECTION action described in the finding.

                                                              */ export interface NetworkConnectionAction { - /** - *

                                                              Indicates whether EC2 blocked the network connection to your instance.

                                                              - */ - Blocked?: boolean; - - /** - *

                                                              The local IP information of the connection.

                                                              - */ - LocalIpDetails?: LocalIpDetails; - /** *

                                                              The network connection protocol.

                                                              */ @@ -479,19 +474,29 @@ export interface NetworkConnectionAction { ConnectionDirection?: string; /** - *

                                                              The local port information of the connection.

                                                              + *

                                                              The remote port information of the connection.

                                                              */ - LocalPortDetails?: LocalPortDetails; + RemotePortDetails?: RemotePortDetails; /** - *

                                                              The remote port information of the connection.

                                                              + *

                                                              Indicates whether EC2 blocked the network connection to your instance.

                                                              */ - RemotePortDetails?: RemotePortDetails; + Blocked?: boolean; /** *

                                                              The remote IP information of the connection.

                                                              */ RemoteIpDetails?: RemoteIpDetails; + + /** + *

                                                              The local IP information of the connection.

                                                              + */ + LocalIpDetails?: LocalIpDetails; + + /** + *

                                                              The local port information of the connection.

                                                              + */ + LocalPortDetails?: LocalPortDetails; } export namespace NetworkConnectionAction { @@ -505,14 +510,14 @@ export namespace NetworkConnectionAction { */ export interface PortProbeDetail { /** - *

                                                              The local port information of the connection.

                                                              + *

                                                              The local IP information of the connection.

                                                              */ - LocalPortDetails?: LocalPortDetails; + LocalIpDetails?: LocalIpDetails; /** - *

                                                              The local IP information of the connection.

                                                              + *

                                                              The local port information of the connection.

                                                              */ - LocalIpDetails?: LocalIpDetails; + LocalPortDetails?: LocalPortDetails; /** *

                                                              The remote IP information of the connection.

                                                              @@ -552,24 +557,24 @@ export namespace PortProbeAction { */ export interface Action { /** - *

                                                              Information about the AWS_API_CALL action described in this finding.

                                                              + *

                                                              The GuardDuty finding activity type.

                                                              */ - AwsApiCallAction?: AwsApiCallAction; + ActionType?: string; /** - *

                                                              Information about the NETWORK_CONNECTION action described in this finding.

                                                              + *

                                                              Information about the PORT_PROBE action described in this finding.

                                                              */ - NetworkConnectionAction?: NetworkConnectionAction; + PortProbeAction?: PortProbeAction; /** - *

                                                              Information about the PORT_PROBE action described in this finding.

                                                              + *

                                                              Information about the AWS_API_CALL action described in this finding.

                                                              */ - PortProbeAction?: PortProbeAction; + AwsApiCallAction?: AwsApiCallAction; /** - *

                                                              The GuardDuty finding activity type.

                                                              + *

                                                              Information about the NETWORK_CONNECTION action described in this finding.

                                                              */ - ActionType?: string; + NetworkConnectionAction?: NetworkConnectionAction; /** *

                                                              Information about the DNS_REQUEST action described in this finding.

                                                              @@ -612,15 +617,15 @@ export namespace AdminAccount { export interface ArchiveFindingsRequest { /** - *

                                                              The ID of the detector that specifies the GuardDuty service whose findings you want to - * archive.

                                                              + *

                                                              The IDs of the findings that you want to archive.

                                                              */ - DetectorId: string | undefined; + FindingIds: string[] | undefined; /** - *

                                                              The IDs of the findings that you want to archive.

                                                              + *

                                                              The ID of the detector that specifies the GuardDuty service whose findings you want to + * archive.

                                                              */ - FindingIds: string[] | undefined; + DetectorId: string | undefined; } export namespace ArchiveFindingsRequest { @@ -664,6 +669,12 @@ export namespace BucketPolicy { *

                                                              Contains information about the bucket level permissions for the S3 bucket.

                                                              */ export interface BucketLevelPermissions { + /** + *

                                                              Contains information on which account level S3 Block Public Access settings are applied to + * the S3 bucket.

                                                              + */ + BlockPublicAccess?: BlockPublicAccess; + /** *

                                                              Contains information on how Access Control Policies are applied to the bucket.

                                                              */ @@ -673,12 +684,6 @@ export interface BucketLevelPermissions { *

                                                              Contains information on the bucket policies for the S3 bucket.

                                                              */ BucketPolicy?: BucketPolicy; - - /** - *

                                                              Contains information on which account level S3 Block Public Access settings are applied to - * the S3 bucket.

                                                              - */ - BlockPublicAccess?: BlockPublicAccess; } export namespace BucketLevelPermissions { @@ -713,40 +718,41 @@ export namespace CloudTrailConfigurationResult { */ export interface Condition { /** - *

                                                              Represents a greater than or equal condition to be applied to a - * single field when querying for findings.

                                                              + *

                                                              Represents a less than or equal condition to be applied to a single + * field when querying for findings.

                                                              */ - Gte?: number; + Lte?: number; /** - *

                                                              Represents a less than condition to be applied to a single field when + *

                                                              Represents the equal condition to be applied to a single field when * querying for findings.

                                                              */ - Lt?: number; + Eq?: string[]; /** - *

                                                              Represents a greater than or equal condition to be applied to a - * single field when querying for findings.

                                                              + *

                                                              Represents a greater than condition to be applied to a single field + * when querying for findings.

                                                              */ - GreaterThanOrEqual?: number; + Gt?: number; /** - *

                                                              Represents the not equal condition to be applied to a single field - * when querying for findings.

                                                              + *

                                                              Represents a less than condition to be applied to a single field when + * querying for findings.

                                                              */ - Neq?: string[]; + LessThan?: number; /** - *

                                                              Represents a less than or equal condition to be applied to a single - * field when querying for findings.

                                                              + *

                                                              Represents a greater than or equal condition to be applied to a + * single field when querying for findings.

                                                              */ - LessThanOrEqual?: number; + GreaterThanOrEqual?: number; /** - *

                                                              Represents the equal condition to be applied to a single field when - * querying for findings.

                                                              + *

                                                              Represents a not equal + * condition to be applied + * to a single field when querying for findings.

                                                              */ - Eq?: string[]; + NotEquals?: string[]; /** *

                                                              Represents an equal @@ -756,23 +762,22 @@ export interface Condition { Equals?: string[]; /** - *

                                                              Represents a greater than condition to be applied to a single field + *

                                                              Represents the not equal condition to be applied to a single field * when querying for findings.

                                                              */ - Gt?: number; + Neq?: string[]; /** - *

                                                              Represents a not equal - * condition to be applied - * to a single field when querying for findings.

                                                              + *

                                                              Represents a less than or equal condition to be applied to a single + * field when querying for findings.

                                                              */ - NotEquals?: string[]; + LessThanOrEqual?: number; /** - *

                                                              Represents a less than or equal condition to be applied to a single - * field when querying for findings.

                                                              + *

                                                              Represents a less than condition to be applied to a single field when + * querying for findings.

                                                              */ - Lte?: number; + Lt?: number; /** *

                                                              Represents a greater than condition to be applied to a single field @@ -781,10 +786,10 @@ export interface Condition { GreaterThan?: number; /** - *

                                                              Represents a less than condition to be applied to a single field when - * querying for findings.

                                                              + *

                                                              Represents a greater than or equal condition to be applied to a + * single field when querying for findings.

                                                              */ - LessThan?: number; + Gte?: number; } export namespace Condition { @@ -833,9 +838,9 @@ export enum FindingPublishingFrequency { export interface CreateDetectorRequest { /** - *

                                                              An object that describes which data sources will be enabled for the detector.

                                                              + *

                                                              An enum value that specifies how frequently updated findings are exported.

                                                              */ - DataSources?: DataSourceConfigurations; + FindingPublishingFrequency?: FindingPublishingFrequency | string; /** *

                                                              The idempotency token for the create request.

                                                              @@ -848,9 +853,9 @@ export interface CreateDetectorRequest { Tags?: { [key: string]: string }; /** - *

                                                              An enum value that specifies how frequently updated findings are exported.

                                                              + *

                                                              An object that describes which data sources will be enabled for the detector.

                                                              */ - FindingPublishingFrequency?: FindingPublishingFrequency | string; + DataSources?: DataSourceConfigurations; /** *

                                                              A Boolean value that specifies whether the detector is to be enabled.

                                                              @@ -900,6 +905,26 @@ export namespace FindingCriteria { } export interface CreateFilterRequest { + /** + *

                                                              Specifies the action that is to be applied to the findings that match the filter.

                                                              + */ + Action?: FilterAction | string; + + /** + *

                                                              The tags to be added to a new filter resource.

                                                              + */ + Tags?: { [key: string]: string }; + + /** + *

                                                              The name of the filter.

                                                              + */ + Name: string | undefined; + + /** + *

                                                              The description of the filter.

                                                              + */ + Description?: string; + /** *

                                                              The unique ID of the detector of the GuardDuty account that you want to create a filter * for.

                                                              @@ -1075,31 +1100,11 @@ export interface CreateFilterRequest { FindingCriteria: FindingCriteria | undefined; /** - *

                                                              The description of the filter.

                                                              + *

                                                              Specifies the position of the filter in the list of current filters. Also specifies the + * order in which this filter is applied to the findings.

                                                              */ - Description?: string; - - /** - *

                                                              Specifies the action that is to be applied to the findings that match the filter.

                                                              - */ - Action?: FilterAction | string; - - /** - *

                                                              The name of the filter.

                                                              - */ - Name: string | undefined; - - /** - *

                                                              The tags to be added to a new filter resource.

                                                              - */ - Tags?: { [key: string]: string }; - - /** - *

                                                              Specifies the position of the filter in the list of current filters. Also specifies the - * order in which this filter is applied to the findings.

                                                              - */ - Rank?: number; -} + Rank?: number; +} export namespace CreateFilterRequest { export const filterSensitiveLog = (obj: CreateFilterRequest): any => ({ @@ -1131,15 +1136,10 @@ export enum IpSetFormat { export interface CreateIPSetRequest { /** - *

                                                              The format of the file that contains the IPSet.

                                                              - */ - Format: IpSetFormat | string | undefined; - - /** - *

                                                              A Boolean value that indicates whether GuardDuty is to start using the uploaded - * IPSet.

                                                              + *

                                                              The unique ID of the detector of the GuardDuty account that you want to create an IPSet + * for.

                                                              */ - Activate: boolean | undefined; + DetectorId: string | undefined; /** *

                                                              The URI of the file that contains the IPSet. For example: @@ -1148,10 +1148,9 @@ export interface CreateIPSetRequest { Location: string | undefined; /** - *

                                                              The unique ID of the detector of the GuardDuty account that you want to create an IPSet - * for.

                                                              + *

                                                              The idempotency token for the create request.

                                                              */ - DetectorId: string | undefined; + ClientToken?: string; /** *

                                                              The user-friendly name to identify the IPSet.

                                                              @@ -1160,9 +1159,15 @@ export interface CreateIPSetRequest { Name: string | undefined; /** - *

                                                              The idempotency token for the create request.

                                                              + *

                                                              A Boolean value that indicates whether GuardDuty is to start using the uploaded + * IPSet.

                                                              */ - ClientToken?: string; + Activate: boolean | undefined; + + /** + *

                                                              The format of the file that contains the IPSet.

                                                              + */ + Format: IpSetFormat | string | undefined; /** *

                                                              The tags to be added to a new IP set resource.

                                                              @@ -1190,17 +1195,17 @@ export namespace CreateIPSetResponse { } export interface CreateMembersRequest { - /** - *

                                                              A list of account ID and email address pairs of the accounts that you want to associate - * with the master GuardDuty account.

                                                              - */ - AccountDetails: AccountDetail[] | undefined; - /** *

                                                              The unique ID of the detector of the GuardDuty account that you want to associate member * accounts with.

                                                              */ DetectorId: string | undefined; + + /** + *

                                                              A list of account ID and email address pairs of the accounts that you want to associate + * with the master GuardDuty account.

                                                              + */ + AccountDetails: AccountDetail[] | undefined; } export namespace CreateMembersRequest { @@ -1214,14 +1219,14 @@ export namespace CreateMembersRequest { */ export interface UnprocessedAccount { /** - *

                                                              A reason why the account hasn't been processed.

                                                              + *

                                                              The AWS account ID.

                                                              */ - Result: string | undefined; + AccountId: string | undefined; /** - *

                                                              The AWS account ID.

                                                              + *

                                                              A reason why the account hasn't been processed.

                                                              */ - AccountId: string | undefined; + Result: string | undefined; } export namespace UnprocessedAccount { @@ -1250,14 +1255,14 @@ export namespace CreateMembersResponse { */ export interface DestinationProperties { /** - *

                                                              The ARN of the resource to publish to.

                                                              + *

                                                              The ARN of the KMS key to use for encryption.

                                                              */ - DestinationArn?: string; + KmsKeyArn?: string; /** - *

                                                              The ARN of the KMS key to use for encryption.

                                                              + *

                                                              The ARN of the resource to publish to.

                                                              */ - KmsKeyArn?: string; + DestinationArn?: string; } export namespace DestinationProperties { @@ -1272,26 +1277,26 @@ export enum DestinationType { export interface CreatePublishingDestinationRequest { /** - *

                                                              The type of resource for the publishing destination. Currently only Amazon S3 buckets are - * supported.

                                                              - */ - DestinationType: DestinationType | string | undefined; - - /** - *

                                                              The ID of the GuardDuty detector associated with the publishing destination.

                                                              + *

                                                              The idempotency token for the request.

                                                              */ - DetectorId: string | undefined; + ClientToken?: string; /** - *

                                                              The idempotency token for the request.

                                                              + *

                                                              The type of resource for the publishing destination. Currently only Amazon S3 buckets are + * supported.

                                                              */ - ClientToken?: string; + DestinationType: DestinationType | string | undefined; /** *

                                                              The properties of the publishing destination, including the ARNs for the destination and * the KMS key used for encryption.

                                                              */ DestinationProperties: DestinationProperties | undefined; + + /** + *

                                                              The ID of the GuardDuty detector associated with the publishing destination.

                                                              + */ + DetectorId: string | undefined; } export namespace CreatePublishingDestinationRequest { @@ -1350,43 +1355,43 @@ export enum ThreatIntelSetFormat { export interface CreateThreatIntelSetRequest { /** - *

                                                              The idempotency token for the create request.

                                                              + *

                                                              A user-friendly ThreatIntelSet name displayed in all findings that are generated by + * activity that involves IP addresses included in this ThreatIntelSet.

                                                              */ - ClientToken?: string; + Name: string | undefined; /** - *

                                                              The URI of the file that contains the ThreatIntelSet. For example: - * https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

                                                              + *

                                                              The unique ID of the detector of the GuardDuty account that you want to create a + * threatIntelSet for.

                                                              */ - Location: string | undefined; + DetectorId: string | undefined; /** - *

                                                              The tags to be added to a new threat list resource.

                                                              + *

                                                              A Boolean value that indicates whether GuardDuty is to start using the uploaded + * ThreatIntelSet.

                                                              */ - Tags?: { [key: string]: string }; + Activate: boolean | undefined; /** - *

                                                              A user-friendly ThreatIntelSet name displayed in all findings that are generated by - * activity that involves IP addresses included in this ThreatIntelSet.

                                                              + *

                                                              The idempotency token for the create request.

                                                              */ - Name: string | undefined; + ClientToken?: string; /** - *

                                                              The format of the file that contains the ThreatIntelSet.

                                                              + *

                                                              The tags to be added to a new threat list resource.

                                                              */ - Format: ThreatIntelSetFormat | string | undefined; + Tags?: { [key: string]: string }; /** - *

                                                              The unique ID of the detector of the GuardDuty account that you want to create a - * threatIntelSet for.

                                                              + *

                                                              The URI of the file that contains the ThreatIntelSet. For example: + * https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

                                                              */ - DetectorId: string | undefined; + Location: string | undefined; /** - *

                                                              A Boolean value that indicates whether GuardDuty is to start using the uploaded - * ThreatIntelSet.

                                                              + *

                                                              The format of the file that contains the ThreatIntelSet.

                                                              */ - Activate: boolean | undefined; + Format: ThreatIntelSetFormat | string | undefined; } export namespace CreateThreatIntelSetRequest { @@ -1469,14 +1474,10 @@ export namespace S3LogsConfigurationResult { */ export interface DataSourceConfigurationsResult { /** - *

                                                              An object that contains information on the status of CloudTrail as a data source.

                                                              - */ - CloudTrail: CloudTrailConfigurationResult | undefined; - - /** - *

                                                              An object that contains information on the status of DNS logs as a data source.

                                                              + *

                                                              An object that contains information on the status of S3 Data event logs as a data + * source.

                                                              */ - DNSLogs: DNSLogsConfigurationResult | undefined; + S3Logs: S3LogsConfigurationResult | undefined; /** *

                                                              An object that contains information on the status of VPC flow logs as a data @@ -1485,10 +1486,14 @@ export interface DataSourceConfigurationsResult { FlowLogs: FlowLogsConfigurationResult | undefined; /** - *

                                                              An object that contains information on the status of S3 Data event logs as a data - * source.

                                                              + *

                                                              An object that contains information on the status of CloudTrail as a data source.

                                                              */ - S3Logs: S3LogsConfigurationResult | undefined; + CloudTrail: CloudTrailConfigurationResult | undefined; + + /** + *

                                                              An object that contains information on the status of DNS logs as a data source.

                                                              + */ + DNSLogs: DNSLogsConfigurationResult | undefined; } export namespace DataSourceConfigurationsResult { @@ -1527,20 +1532,20 @@ export namespace DeclineInvitationsResponse { /** *

                                                              Contains information on the server side encryption method used in the S3 bucket. See - * S3 + * S3 * Server-Side Encryption for more information.

                                                              */ export interface DefaultServerSideEncryption { /** - *

                                                              The Amazon Resource Name (ARN) of the KMS encryption key. Only available if the bucket - * EncryptionType is aws:kms.

                                                              + *

                                                              The type of encryption used for objects within the S3 bucket.

                                                              */ - KmsMasterKeyArn?: string; + EncryptionType?: string; /** - *

                                                              The type of encryption used for objects within the S3 bucket.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the KMS encryption key. Only available if the bucket + * EncryptionType is aws:kms.

                                                              */ - EncryptionType?: string; + KmsMasterKeyArn?: string; } export namespace DefaultServerSideEncryption { @@ -1572,14 +1577,14 @@ export namespace DeleteDetectorResponse { export interface DeleteFilterRequest { /** - *

                                                              The unique ID of the detector that the filter is associated with.

                                                              + *

                                                              The name of the filter that you want to delete.

                                                              */ - DetectorId: string | undefined; + FilterName: string | undefined; /** - *

                                                              The name of the filter that you want to delete.

                                                              + *

                                                              The unique ID of the detector that the filter is associated with.

                                                              */ - FilterName: string | undefined; + DetectorId: string | undefined; } export namespace DeleteFilterRequest { @@ -1652,15 +1657,15 @@ export namespace DeleteIPSetResponse { export interface DeleteMembersRequest { /** - *

                                                              The unique ID of the detector of the GuardDuty account whose members you want to - * delete.

                                                              + *

                                                              A list of account IDs of the GuardDuty member accounts that you want to delete.

                                                              */ - DetectorId: string | undefined; + AccountIds: string[] | undefined; /** - *

                                                              A list of account IDs of the GuardDuty member accounts that you want to delete.

                                                              + *

                                                              The unique ID of the detector of the GuardDuty account whose members you want to + * delete.

                                                              */ - AccountIds: string[] | undefined; + DetectorId: string | undefined; } export namespace DeleteMembersRequest { @@ -1710,14 +1715,14 @@ export namespace DeletePublishingDestinationResponse { export interface DeleteThreatIntelSetRequest { /** - *

                                                              The unique ID of the detector that the threatIntelSet is associated with.

                                                              + *

                                                              The unique ID of the threatIntelSet that you want to delete.

                                                              */ - DetectorId: string | undefined; + ThreatIntelSetId: string | undefined; /** - *

                                                              The unique ID of the threatIntelSet that you want to delete.

                                                              + *

                                                              The unique ID of the detector that the threatIntelSet is associated with.

                                                              */ - ThreatIntelSetId: string | undefined; + DetectorId: string | undefined; } export namespace DeleteThreatIntelSetRequest { @@ -1785,10 +1790,10 @@ export namespace OrganizationDataSourceConfigurationsResult { export interface DescribeOrganizationConfigurationResponse { /** - *

                                                              Indicates whether GuardDuty is automatically enabled for accounts added to the - * organization.

                                                              + *

                                                              Indicates whether the maximum number of allowed member accounts are already associated + * with the delegated administrator master account.

                                                              */ - AutoEnable: boolean | undefined; + MemberAccountLimitReached: boolean | undefined; /** *

                                                              An object that describes which data sources are enabled automatically for member @@ -1797,10 +1802,10 @@ export interface DescribeOrganizationConfigurationResponse { DataSources?: OrganizationDataSourceConfigurationsResult; /** - *

                                                              Indicates whether the maximum number of allowed member accounts are already associated - * with the delegated administrator master account.

                                                              + *

                                                              Indicates whether GuardDuty is automatically enabled for accounts added to the + * organization.

                                                              */ - MemberAccountLimitReached: boolean | undefined; + AutoEnable: boolean | undefined; } export namespace DescribeOrganizationConfigurationResponse { @@ -1810,16 +1815,16 @@ export namespace DescribeOrganizationConfigurationResponse { } export interface DescribePublishingDestinationRequest { - /** - *

                                                              The ID of the publishing destination to retrieve.

                                                              - */ - DestinationId: string | undefined; - /** *

                                                              The unique ID of the detector associated with the publishing destination to * retrieve.

                                                              */ DetectorId: string | undefined; + + /** + *

                                                              The ID of the publishing destination to retrieve.

                                                              + */ + DestinationId: string | undefined; } export namespace DescribePublishingDestinationRequest { @@ -1837,15 +1842,10 @@ export enum PublishingStatus { export interface DescribePublishingDestinationResponse { /** - *

                                                              The ID of the publishing destination.

                                                              - */ - DestinationId: string | undefined; - - /** - *

                                                              The time, in epoch millisecond format, at which GuardDuty was first unable to publish - * findings to the destination.

                                                              + *

                                                              A DestinationProperties object that includes the DestinationArn + * and KmsKeyArn of the publishing destination.

                                                              */ - PublishingFailureStartTimestamp: number | undefined; + DestinationProperties: DestinationProperties | undefined; /** *

                                                              The status of the publishing destination.

                                                              @@ -1853,16 +1853,21 @@ export interface DescribePublishingDestinationResponse { Status: PublishingStatus | string | undefined; /** - *

                                                              A DestinationProperties object that includes the DestinationArn - * and KmsKeyArn of the publishing destination.

                                                              + *

                                                              The time, in epoch millisecond format, at which GuardDuty was first unable to publish + * findings to the destination.

                                                              */ - DestinationProperties: DestinationProperties | undefined; + PublishingFailureStartTimestamp: number | undefined; /** *

                                                              The type of publishing destination. Currently, only Amazon S3 buckets are * supported.

                                                              */ DestinationType: DestinationType | string | undefined; + + /** + *

                                                              The ID of the publishing destination.

                                                              + */ + DestinationId: string | undefined; } export namespace DescribePublishingDestinationResponse { @@ -1876,6 +1881,11 @@ export namespace DescribePublishingDestinationResponse { * status.

                                                              */ export interface Destination { + /** + *

                                                              The unique ID of the publishing destination.

                                                              + */ + DestinationId: string | undefined; + /** *

                                                              The status of the publishing destination.

                                                              */ @@ -1886,11 +1896,6 @@ export interface Destination { * buckets are supported.

                                                              */ DestinationType: DestinationType | string | undefined; - - /** - *

                                                              The unique ID of the publishing destination.

                                                              - */ - DestinationId: string | undefined; } export namespace Destination { @@ -1948,17 +1953,17 @@ export namespace DisassociateFromMasterAccountResponse { } export interface DisassociateMembersRequest { - /** - *

                                                              A list of account IDs of the GuardDuty member accounts that you want to disassociate from - * the master account.

                                                              - */ - AccountIds: string[] | undefined; - /** *

                                                              The unique ID of the detector of the GuardDuty account whose members you want to * disassociate from the master account.

                                                              */ DetectorId: string | undefined; + + /** + *

                                                              A list of account IDs of the GuardDuty member accounts that you want to disassociate from + * the master account.

                                                              + */ + AccountIds: string[] | undefined; } export namespace DisassociateMembersRequest { @@ -2072,16 +2077,16 @@ export namespace IamInstanceProfile { *

                                                              Contains other private IP address information of the EC2 instance.

                                                              */ export interface PrivateIpAddressDetails { - /** - *

                                                              The private DNS name of the EC2 instance.

                                                              - */ - PrivateDnsName?: string; - /** *

                                                              The private IP address of the EC2 instance.

                                                              */ PrivateIpAddress?: string; -} + + /** + *

                                                              The private DNS name of the EC2 instance.

                                                              + */ + PrivateDnsName?: string; +} export namespace PrivateIpAddressDetails { export const filterSensitiveLog = (obj: PrivateIpAddressDetails): any => ({ @@ -2115,19 +2120,19 @@ export namespace SecurityGroup { */ export interface NetworkInterface { /** - *

                                                              The subnet ID of the EC2 instance.

                                                              + *

                                                              Other private IP address information of the EC2 instance.

                                                              */ - SubnetId?: string; + PrivateIpAddresses?: PrivateIpAddressDetails[]; /** - *

                                                              The public DNS name of the EC2 instance.

                                                              + *

                                                              The ID of the network interface.

                                                              */ - PublicDnsName?: string; + NetworkInterfaceId?: string; /** - *

                                                              The VPC ID of the EC2 instance.

                                                              + *

                                                              The public IP address of the EC2 instance.

                                                              */ - VpcId?: string; + PublicIp?: string; /** *

                                                              The private IP address of the EC2 instance.

                                                              @@ -2135,34 +2140,34 @@ export interface NetworkInterface { PrivateIpAddress?: string; /** - *

                                                              The ID of the network interface.

                                                              + *

                                                              The private DNS name of the EC2 instance.

                                                              */ - NetworkInterfaceId?: string; + PrivateDnsName?: string; /** - *

                                                              A list of IPv6 addresses for the EC2 instance.

                                                              + *

                                                              The public DNS name of the EC2 instance.

                                                              */ - Ipv6Addresses?: string[]; + PublicDnsName?: string; /** - *

                                                              The private DNS name of the EC2 instance.

                                                              + *

                                                              The VPC ID of the EC2 instance.

                                                              */ - PrivateDnsName?: string; + VpcId?: string; /** - *

                                                              The public IP address of the EC2 instance.

                                                              + *

                                                              The security groups associated with the EC2 instance.

                                                              */ - PublicIp?: string; + SecurityGroups?: SecurityGroup[]; /** - *

                                                              Other private IP address information of the EC2 instance.

                                                              + *

                                                              The subnet ID of the EC2 instance.

                                                              */ - PrivateIpAddresses?: PrivateIpAddressDetails[]; + SubnetId?: string; /** - *

                                                              The security groups associated with the EC2 instance.

                                                              + *

                                                              A list of IPv6 addresses for the EC2 instance.

                                                              */ - SecurityGroups?: SecurityGroup[]; + Ipv6Addresses?: string[]; } export namespace NetworkInterface { @@ -2197,14 +2202,14 @@ export namespace ProductCode { */ export interface Tag { /** - *

                                                              The EC2 instance tag value.

                                                              + *

                                                              The EC2 instance tag key.

                                                              */ - Value?: string; + Key?: string; /** - *

                                                              The EC2 instance tag key.

                                                              + *

                                                              The EC2 instance tag value.

                                                              */ - Key?: string; + Value?: string; } export namespace Tag { @@ -2218,25 +2223,24 @@ export namespace Tag { */ export interface InstanceDetails { /** - *

                                                              The product code of the EC2 instance.

                                                              + *

                                                              The ID of the EC2 instance.

                                                              */ - ProductCodes?: ProductCode[]; + InstanceId?: string; /** - *

                                                              The image description of the EC2 instance.

                                                              + *

                                                              The platform of the EC2 instance.

                                                              */ - ImageDescription?: string; + Platform?: string; /** - *

                                                              The profile information of the EC2 instance.

                                                              + *

                                                              The type of the EC2 instance.

                                                              */ - IamInstanceProfile?: IamInstanceProfile; + InstanceType?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the AWS Outpost. Only applicable to AWS Outposts - * instances.

                                                              + *

                                                              The launch time of the EC2 instance.

                                                              */ - OutpostArn?: string; + LaunchTime?: string; /** *

                                                              The Availability Zone of the EC2 instance.

                                                              @@ -2244,44 +2248,45 @@ export interface InstanceDetails { AvailabilityZone?: string; /** - *

                                                              The tags of the EC2 instance.

                                                              + *

                                                              The product code of the EC2 instance.

                                                              */ - Tags?: Tag[]; + ProductCodes?: ProductCode[]; /** - *

                                                              The type of the EC2 instance.

                                                              + *

                                                              The state of the EC2 instance.

                                                              */ - InstanceType?: string; + InstanceState?: string; /** - *

                                                              The platform of the EC2 instance.

                                                              + *

                                                              The elastic network interface information of the EC2 instance.

                                                              */ - Platform?: string; + NetworkInterfaces?: NetworkInterface[]; /** - *

                                                              The launch time of the EC2 instance.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the AWS Outpost. Only applicable to AWS Outposts + * instances.

                                                              */ - LaunchTime?: string; + OutpostArn?: string; /** - *

                                                              The state of the EC2 instance.

                                                              + *

                                                              The image ID of the EC2 instance.

                                                              */ - InstanceState?: string; + ImageId?: string; /** - *

                                                              The image ID of the EC2 instance.

                                                              + *

                                                              The profile information of the EC2 instance.

                                                              */ - ImageId?: string; + IamInstanceProfile?: IamInstanceProfile; /** - *

                                                              The elastic network interface information of the EC2 instance.

                                                              + *

                                                              The tags of the EC2 instance.

                                                              */ - NetworkInterfaces?: NetworkInterface[]; + Tags?: Tag[]; /** - *

                                                              The ID of the EC2 instance.

                                                              + *

                                                              The image description of the EC2 instance.

                                                              */ - InstanceId?: string; + ImageDescription?: string; } export namespace InstanceDetails { @@ -2334,16 +2339,16 @@ export namespace PermissionConfiguration { *

                                                              Describes the public access policies that apply to the S3 bucket.

                                                              */ export interface PublicAccess { - /** - *

                                                              Contains information about how permissions are configured for the S3 bucket.

                                                              - */ - PermissionConfiguration?: PermissionConfiguration; - /** *

                                                              Describes the effective permission on this bucket after factoring all attached * policies.

                                                              */ EffectivePermission?: string; + + /** + *

                                                              Contains information about how permissions are configured for the S3 bucket.

                                                              + */ + PermissionConfiguration?: PermissionConfiguration; } export namespace PublicAccess { @@ -2357,44 +2362,44 @@ export namespace PublicAccess { */ export interface S3BucketDetail { /** - *

                                                              The Amazon Resource Name (ARN) of the S3 bucket.

                                                              + *

                                                              Describes whether the bucket is a source or destination bucket.

                                                              */ - Arn?: string; + Type?: string; /** - *

                                                              The date and time the bucket was created at.

                                                              + *

                                                              All tags attached to the S3 bucket

                                                              */ - CreatedAt?: Date; + Tags?: Tag[]; /** - *

                                                              Describes the public access policies that apply to the S3 bucket.

                                                              + *

                                                              The name of the S3 bucket.

                                                              */ - PublicAccess?: PublicAccess; + Name?: string; /** - *

                                                              The owner of the S3 bucket.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the S3 bucket.

                                                              */ - Owner?: Owner; + Arn?: string; /** - *

                                                              Describes the server side encryption method used in the S3 bucket.

                                                              + *

                                                              The date and time the bucket was created at.

                                                              */ - DefaultServerSideEncryption?: DefaultServerSideEncryption; + CreatedAt?: Date; /** - *

                                                              The name of the S3 bucket.

                                                              + *

                                                              Describes the server side encryption method used in the S3 bucket.

                                                              */ - Name?: string; + DefaultServerSideEncryption?: DefaultServerSideEncryption; /** - *

                                                              Describes whether the bucket is a source or destination bucket.

                                                              + *

                                                              The owner of the S3 bucket.

                                                              */ - Type?: string; + Owner?: Owner; /** - *

                                                              All tags attached to the S3 bucket

                                                              + *

                                                              Describes the public access policies that apply to the S3 bucket.

                                                              */ - Tags?: Tag[]; + PublicAccess?: PublicAccess; } export namespace S3BucketDetail { @@ -2409,9 +2414,10 @@ export namespace S3BucketDetail { */ export interface Resource { /** - *

                                                              The type of AWS resource.

                                                              + *

                                                              The information about the EC2 instance associated with the activity that prompted + * GuardDuty to generate a finding.

                                                              */ - ResourceType?: string; + InstanceDetails?: InstanceDetails; /** *

                                                              Contains information on the S3 bucket.

                                                              @@ -2425,10 +2431,9 @@ export interface Resource { AccessKeyDetails?: AccessKeyDetails; /** - *

                                                              The information about the EC2 instance associated with the activity that prompted - * GuardDuty to generate a finding.

                                                              + *

                                                              The type of AWS resource.

                                                              */ - InstanceDetails?: InstanceDetails; + ResourceType?: string; } export namespace Resource { @@ -2442,56 +2447,56 @@ export namespace Resource { */ export interface Service { /** - *

                                                              The detector ID for the GuardDuty service.

                                                              + *

                                                              Information about the activity that is described in a finding.

                                                              */ - DetectorId?: string; + Action?: Action; /** - *

                                                              The name of the AWS service (GuardDuty) that generated a finding.

                                                              + *

                                                              The last-seen timestamp of the activity that prompted GuardDuty to generate this + * finding.

                                                              */ - ServiceName?: string; + EventLastSeen?: string; /** - *

                                                              The total count of the occurrences of this finding type.

                                                              + *

                                                              The first-seen timestamp of the activity that prompted GuardDuty to generate this + * finding.

                                                              */ - Count?: number; + EventFirstSeen?: string; /** - *

                                                              An evidence object associated with the service.

                                                              + *

                                                              The resource role information for this finding.

                                                              */ - Evidence?: Evidence; + ResourceRole?: string; /** - *

                                                              The last-seen timestamp of the activity that prompted GuardDuty to generate this - * finding.

                                                              + *

                                                              Feedback that was submitted about the finding.

                                                              */ - EventLastSeen?: string; + UserFeedback?: string; /** - *

                                                              The resource role information for this finding.

                                                              + *

                                                              An evidence object associated with the service.

                                                              */ - ResourceRole?: string; + Evidence?: Evidence; /** - *

                                                              Feedback that was submitted about the finding.

                                                              + *

                                                              The total count of the occurrences of this finding type.

                                                              */ - UserFeedback?: string; + Count?: number; /** - *

                                                              Information about the activity that is described in a finding.

                                                              + *

                                                              The detector ID for the GuardDuty service.

                                                              */ - Action?: Action; + DetectorId?: string; /** - *

                                                              Indicates whether this finding is archived.

                                                              + *

                                                              The name of the AWS service (GuardDuty) that generated a finding.

                                                              */ - Archived?: boolean; + ServiceName?: string; /** - *

                                                              The first-seen timestamp of the activity that prompted GuardDuty to generate this - * finding.

                                                              + *

                                                              Indicates whether this finding is archived.

                                                              */ - EventFirstSeen?: string; + Archived?: boolean; } export namespace Service { @@ -2506,55 +2511,55 @@ export namespace Service { */ export interface Finding { /** - *

                                                              The type of finding.

                                                              + *

                                                              The time and date when the finding was last updated.

                                                              */ - Type: string | undefined; + UpdatedAt: string | undefined; /** - *

                                                              Contains additional information about the generated finding.

                                                              + *

                                                              The confidence score for the finding.

                                                              */ - Service?: Service; + Confidence?: number; /** - *

                                                              The ID of the account in which the finding was generated.

                                                              + *

                                                              Contains information about the AWS resource associated with the activity that prompted + * GuardDuty to generate a finding.

                                                              */ - AccountId: string | undefined; + Resource: Resource | undefined; /** - *

                                                              The confidence score for the finding.

                                                              + *

                                                              The Region where the finding was generated.

                                                              */ - Confidence?: number; + Region: string | undefined; /** - *

                                                              The version of the schema used for the finding.

                                                              + *

                                                              The type of finding.

                                                              */ - SchemaVersion: string | undefined; + Type: string | undefined; /** - *

                                                              The severity of the finding.

                                                              + *

                                                              The ARN of the finding.

                                                              */ - Severity: number | undefined; + Arn: string | undefined; /** - *

                                                              The title of the finding.

                                                              + *

                                                              The ID of the account in which the finding was generated.

                                                              */ - Title?: string; + AccountId: string | undefined; /** - *

                                                              The Region where the finding was generated.

                                                              + *

                                                              The description of the finding.

                                                              */ - Region: string | undefined; + Description?: string; /** - *

                                                              The time and date when the finding was last updated.

                                                              + *

                                                              The ID of the finding.

                                                              */ - UpdatedAt: string | undefined; + Id: string | undefined; /** - *

                                                              Contains information about the AWS resource associated with the activity that prompted - * GuardDuty to generate a finding.

                                                              + *

                                                              The time and date when the finding was created.

                                                              */ - Resource: Resource | undefined; + CreatedAt: string | undefined; /** *

                                                              The partition associated with the finding.

                                                              @@ -2562,24 +2567,24 @@ export interface Finding { Partition?: string; /** - *

                                                              The ARN of the finding.

                                                              + *

                                                              The severity of the finding.

                                                              */ - Arn: string | undefined; + Severity: number | undefined; /** - *

                                                              The time and date when the finding was created.

                                                              + *

                                                              The title of the finding.

                                                              */ - CreatedAt: string | undefined; + Title?: string; /** - *

                                                              The description of the finding.

                                                              + *

                                                              The version of the schema used for the finding.

                                                              */ - Description?: string; + SchemaVersion: string | undefined; /** - *

                                                              The ID of the finding.

                                                              + *

                                                              Contains additional information about the generated finding.

                                                              */ - Id: string | undefined; + Service?: Service; } export namespace Finding { @@ -2623,19 +2628,19 @@ export namespace GetDetectorRequest { export interface GetDetectorResponse { /** - *

                                                              The last-updated timestamp for the detector.

                                                              + *

                                                              The detector status.

                                                              */ - UpdatedAt?: string; + Status: DetectorStatus | string | undefined; /** - *

                                                              The timestamp of when the detector was created.

                                                              + *

                                                              The tags of the detector resource.

                                                              */ - CreatedAt?: string; + Tags?: { [key: string]: string }; /** - *

                                                              The tags of the detector resource.

                                                              + *

                                                              The timestamp of when the detector was created.

                                                              */ - Tags?: { [key: string]: string }; + CreatedAt?: string; /** *

                                                              An object that describes which data sources are enabled for the detector.

                                                              @@ -2643,19 +2648,19 @@ export interface GetDetectorResponse { DataSources?: DataSourceConfigurationsResult; /** - *

                                                              The GuardDuty service role.

                                                              + *

                                                              The last-updated timestamp for the detector.

                                                              */ - ServiceRole: string | undefined; + UpdatedAt?: string; /** - *

                                                              The detector status.

                                                              + *

                                                              The publishing frequency of the finding.

                                                              */ - Status: DetectorStatus | string | undefined; + FindingPublishingFrequency?: FindingPublishingFrequency | string; /** - *

                                                              The publishing frequency of the finding.

                                                              + *

                                                              The GuardDuty service role.

                                                              */ - FindingPublishingFrequency?: FindingPublishingFrequency | string; + ServiceRole: string | undefined; } export namespace GetDetectorResponse { @@ -2666,14 +2671,14 @@ export namespace GetDetectorResponse { export interface GetFilterRequest { /** - *

                                                              The name of the filter you want to get.

                                                              + *

                                                              The unique ID of the detector that the filter is associated with.

                                                              */ - FilterName: string | undefined; + DetectorId: string | undefined; /** - *

                                                              The unique ID of the detector that the filter is associated with.

                                                              + *

                                                              The name of the filter you want to get.

                                                              */ - DetectorId: string | undefined; + FilterName: string | undefined; } export namespace GetFilterRequest { @@ -2689,19 +2694,19 @@ export interface GetFilterResponse { FindingCriteria: FindingCriteria | undefined; /** - *

                                                              The description of the filter.

                                                              + *

                                                              The name of the filter.

                                                              */ - Description?: string; + Name: string | undefined; /** - *

                                                              Specifies the action that is to be applied to the findings that match the filter.

                                                              + *

                                                              The description of the filter.

                                                              */ - Action: FilterAction | string | undefined; + Description?: string; /** - *

                                                              The name of the filter.

                                                              + *

                                                              Specifies the action that is to be applied to the findings that match the filter.

                                                              */ - Name: string | undefined; + Action: FilterAction | string | undefined; /** *

                                                              The tags of the filter resource.

                                                              @@ -2749,14 +2754,14 @@ export namespace SortCriteria { export interface GetFindingsRequest { /** - *

                                                              Represents the criteria used for sorting findings.

                                                              + *

                                                              The IDs of the findings that you want to retrieve.

                                                              */ - SortCriteria?: SortCriteria; + FindingIds: string[] | undefined; /** - *

                                                              The IDs of the findings that you want to retrieve.

                                                              + *

                                                              Represents the criteria used for sorting findings.

                                                              */ - FindingIds: string[] | undefined; + SortCriteria?: SortCriteria; /** *

                                                              The ID of the detector that specifies the GuardDuty service whose findings you want to @@ -2786,15 +2791,15 @@ export namespace GetFindingsResponse { export interface GetFindingsStatisticsRequest { /** - *

                                                              The ID of the detector that specifies the GuardDuty service whose findings' statistics you - * want to retrieve.

                                                              + *

                                                              The types of finding statistics to retrieve.

                                                              */ - DetectorId: string | undefined; + FindingStatisticTypes: (FindingStatisticType | string)[] | undefined; /** - *

                                                              The types of finding statistics to retrieve.

                                                              + *

                                                              The ID of the detector that specifies the GuardDuty service whose findings' statistics you + * want to retrieve.

                                                              */ - FindingStatisticTypes: (FindingStatisticType | string)[] | undefined; + DetectorId: string | undefined; /** *

                                                              Represents the criteria that is used for querying findings.

                                                              @@ -2872,20 +2877,19 @@ export enum IpSetStatus { export interface GetIPSetResponse { /** - *

                                                              The URI of the file that contains the IPSet. For example: - * https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

                                                              + *

                                                              The format of the file that contains the IPSet.

                                                              */ - Location: string | undefined; + Format: IpSetFormat | string | undefined; /** - *

                                                              The status of IPSet file that was uploaded.

                                                              + *

                                                              The tags of the IPSet resource.

                                                              */ - Status: IpSetStatus | string | undefined; + Tags?: { [key: string]: string }; /** - *

                                                              The tags of the IPSet resource.

                                                              + *

                                                              The status of IPSet file that was uploaded.

                                                              */ - Tags?: { [key: string]: string }; + Status: IpSetStatus | string | undefined; /** *

                                                              The user-friendly name for the IPSet.

                                                              @@ -2893,9 +2897,10 @@ export interface GetIPSetResponse { Name: string | undefined; /** - *

                                                              The format of the file that contains the IPSet.

                                                              + *

                                                              The URI of the file that contains the IPSet. For example: + * https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

                                                              */ - Format: IpSetFormat | string | undefined; + Location: string | undefined; } export namespace GetIPSetResponse { @@ -2922,24 +2927,24 @@ export namespace GetMasterAccountRequest { */ export interface Master { /** - *

                                                              The ID of the account used as the master account.

                                                              + *

                                                              The value used to validate the master account to the member account.

                                                              */ - AccountId?: string; + InvitationId?: string; /** - *

                                                              The timestamp when the invitation was sent.

                                                              + *

                                                              The status of the relationship between the master and member accounts.

                                                              */ - InvitedAt?: string; + RelationshipStatus?: string; /** - *

                                                              The status of the relationship between the master and member accounts.

                                                              + *

                                                              The timestamp when the invitation was sent.

                                                              */ - RelationshipStatus?: string; + InvitedAt?: string; /** - *

                                                              The value used to validate the master account to the member account.

                                                              + *

                                                              The ID of the account used as the master account.

                                                              */ - InvitationId?: string; + AccountId?: string; } export namespace Master { @@ -2984,14 +2989,14 @@ export namespace GetMemberDetectorsRequest { */ export interface MemberDataSourceConfiguration { /** - *

                                                              Contains information on the status of data sources for the account.

                                                              + *

                                                              The account ID for the member account.

                                                              */ - DataSources: DataSourceConfigurationsResult | undefined; + AccountId: string | undefined; /** - *

                                                              The account ID for the member account.

                                                              + *

                                                              Contains information on the status of data sources for the account.

                                                              */ - AccountId: string | undefined; + DataSources: DataSourceConfigurationsResult | undefined; } export namespace MemberDataSourceConfiguration { @@ -3002,15 +3007,15 @@ export namespace MemberDataSourceConfiguration { export interface GetMemberDetectorsResponse { /** - *

                                                              A list of member account IDs that were unable to be processed along with an explanation - * for why they were not processed.

                                                              + *

                                                              An object that describes which data sources are enabled for a member account.

                                                              */ - UnprocessedAccounts: UnprocessedAccount[] | undefined; + MemberDataSourceConfigurations: MemberDataSourceConfiguration[] | undefined; /** - *

                                                              An object that describes which data sources are enabled for a member account.

                                                              + *

                                                              A list of member account IDs that were unable to be processed along with an explanation + * for why they were not processed.

                                                              */ - MemberDataSourceConfigurations: MemberDataSourceConfiguration[] | undefined; + UnprocessedAccounts: UnprocessedAccount[] | undefined; } export namespace GetMemberDetectorsResponse { @@ -3043,9 +3048,9 @@ export namespace GetMembersRequest { */ export interface Member { /** - *

                                                              The status of the relationship between the member and the master.

                                                              + *

                                                              The last-updated timestamp of the member.

                                                              */ - RelationshipStatus: string | undefined; + UpdatedAt: string | undefined; /** *

                                                              The master account ID.

                                                              @@ -3058,9 +3063,9 @@ export interface Member { AccountId: string | undefined; /** - *

                                                              The last-updated timestamp of the member.

                                                              + *

                                                              The email address of the member account.

                                                              */ - UpdatedAt: string | undefined; + Email: string | undefined; /** *

                                                              The detector ID of the member account.

                                                              @@ -3068,14 +3073,14 @@ export interface Member { DetectorId?: string; /** - *

                                                              The timestamp when the invitation was sent.

                                                              + *

                                                              The status of the relationship between the member and the master.

                                                              */ - InvitedAt?: string; + RelationshipStatus: string | undefined; /** - *

                                                              The email address of the member account.

                                                              + *

                                                              The timestamp when the invitation was sent.

                                                              */ - Email: string | undefined; + InvitedAt?: string; } export namespace Member { @@ -3085,16 +3090,16 @@ export namespace Member { } export interface GetMembersResponse { - /** - *

                                                              A list of members.

                                                              - */ - Members: Member[] | undefined; - /** *

                                                              A list of objects that contain the unprocessed account and a result string that explains * why it was unprocessed.

                                                              */ UnprocessedAccounts: UnprocessedAccount[] | undefined; + + /** + *

                                                              A list of members.

                                                              + */ + Members: Member[] | undefined; } export namespace GetMembersResponse { @@ -3133,21 +3138,15 @@ export enum ThreatIntelSetStatus { export interface GetThreatIntelSetResponse { /** - *

                                                              A user-friendly ThreatIntelSet name displayed in all findings that are generated by - * activity that involves IP addresses included in this ThreatIntelSet.

                                                              + *

                                                              The tags of the threat list resource.

                                                              */ - Name: string | undefined; + Tags?: { [key: string]: string }; /** *

                                                              The format of the threatIntelSet.

                                                              */ Format: ThreatIntelSetFormat | string | undefined; - /** - *

                                                              The status of threatIntelSet file uploaded.

                                                              - */ - Status: ThreatIntelSetStatus | string | undefined; - /** *

                                                              The URI of the file that contains the ThreatIntelSet. For example: * https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

                                                              @@ -3155,9 +3154,15 @@ export interface GetThreatIntelSetResponse { Location: string | undefined; /** - *

                                                              The tags of the threat list resource.

                                                              + *

                                                              A user-friendly ThreatIntelSet name displayed in all findings that are generated by + * activity that involves IP addresses included in this ThreatIntelSet.

                                                              */ - Tags?: { [key: string]: string }; + Name: string | undefined; + + /** + *

                                                              The status of threatIntelSet file uploaded.

                                                              + */ + Status: ThreatIntelSetStatus | string | undefined; } export namespace GetThreatIntelSetResponse { @@ -3171,9 +3176,10 @@ export namespace GetThreatIntelSetResponse { */ export interface UsageCriteria { /** - *

                                                              The data sources to aggregate usage statistics from.

                                                              + *

                                                              The resources to aggregate usage statistics from. Only accepts exact resource + * names.

                                                              */ - DataSources: (DataSource | string)[] | undefined; + Resources?: string[]; /** *

                                                              The account IDs to aggregate usage statistics from.

                                                              @@ -3181,10 +3187,9 @@ export interface UsageCriteria { AccountIds?: string[]; /** - *

                                                              The resources to aggregate usage statistics from. Only accepts exact resource - * names.

                                                              + *

                                                              The data sources to aggregate usage statistics from.

                                                              */ - Resources?: string[]; + DataSources: (DataSource | string)[] | undefined; } export namespace UsageCriteria { @@ -3202,14 +3207,14 @@ export enum UsageStatisticType { export interface GetUsageStatisticsRequest { /** - *

                                                              Represents the criteria used for querying usage.

                                                              + *

                                                              The type of usage statistics to retrieve.

                                                              */ - UsageCriteria: UsageCriteria | undefined; + UsageStatisticType: UsageStatisticType | string | undefined; /** - *

                                                              The type of usage statistics to retrieve.

                                                              + *

                                                              The maximum number of results to return in the response.

                                                              */ - UsageStatisticType: UsageStatisticType | string | undefined; + MaxResults?: number; /** *

                                                              The ID of the detector that specifies the GuardDuty service whose usage statistics you @@ -3218,15 +3223,9 @@ export interface GetUsageStatisticsRequest { DetectorId: string | undefined; /** - *

                                                              The currency unit you would like to view your usage statistics in. Current valid values - * are USD.

                                                              - */ - Unit?: string; - - /** - *

                                                              The maximum number of results to return in the response.

                                                              + *

                                                              Represents the criteria used for querying usage.

                                                              */ - MaxResults?: number; + UsageCriteria: UsageCriteria | undefined; /** *

                                                              A token to use for paginating results that are returned in the response. Set the value of @@ -3235,6 +3234,12 @@ export interface GetUsageStatisticsRequest { * page.

                                                              */ NextToken?: string; + + /** + *

                                                              The currency unit you would like to view your usage statistics in. Current valid values + * are USD.

                                                              + */ + Unit?: string; } export namespace GetUsageStatisticsRequest { @@ -3269,14 +3274,14 @@ export namespace Total { */ export interface UsageAccountResult { /** - *

                                                              The Account ID that generated usage.

                                                              + *

                                                              Represents the total of usage for the Account ID.

                                                              */ - AccountId?: string; + Total?: Total; /** - *

                                                              Represents the total of usage for the Account ID.

                                                              + *

                                                              The Account ID that generated usage.

                                                              */ - Total?: Total; + AccountId?: string; } export namespace UsageAccountResult { @@ -3311,14 +3316,14 @@ export namespace UsageDataSourceResult { */ export interface UsageResourceResult { /** - *

                                                              Represents the sum total of usage for the specified resource type.

                                                              + *

                                                              The AWS resource that generated usage.

                                                              */ - Total?: Total; + Resource?: string; /** - *

                                                              The AWS resource that generated usage.

                                                              + *

                                                              Represents the sum total of usage for the specified resource type.

                                                              */ - Resource?: string; + Total?: Total; } export namespace UsageResourceResult { @@ -3333,25 +3338,25 @@ export namespace UsageResourceResult { */ export interface UsageStatistics { /** - *

                                                              Lists the top 50 resources that have generated the most GuardDuty usage, in order from - * most to least expensive.

                                                              + *

                                                              The usage statistic sum organized by resource.

                                                              */ - TopResources?: UsageResourceResult[]; + SumByResource?: UsageResourceResult[]; /** - *

                                                              The usage statistic sum organized by on data source.

                                                              + *

                                                              Lists the top 50 resources that have generated the most GuardDuty usage, in order from + * most to least expensive.

                                                              */ - SumByDataSource?: UsageDataSourceResult[]; + TopResources?: UsageResourceResult[]; /** - *

                                                              The usage statistic sum organized by resource.

                                                              + *

                                                              The usage statistic sum organized by account ID.

                                                              */ - SumByResource?: UsageResourceResult[]; + SumByAccount?: UsageAccountResult[]; /** - *

                                                              The usage statistic sum organized by account ID.

                                                              + *

                                                              The usage statistic sum organized by on data source.

                                                              */ - SumByAccount?: UsageAccountResult[]; + SumByDataSource?: UsageDataSourceResult[]; } export namespace UsageStatistics { @@ -3361,17 +3366,17 @@ export namespace UsageStatistics { } export interface GetUsageStatisticsResponse { - /** - *

                                                              The pagination parameter to be used on the next list operation to retrieve more - * items.

                                                              - */ - NextToken?: string; - /** *

                                                              The usage statistics object. If a UsageStatisticType was provided, the objects * representing other types will be null.

                                                              */ UsageStatistics?: UsageStatistics; + + /** + *

                                                              The pagination parameter to be used on the next list operation to retrieve more + * items.

                                                              + */ + NextToken?: string; } export namespace GetUsageStatisticsResponse { @@ -3382,9 +3387,10 @@ export namespace GetUsageStatisticsResponse { export interface InviteMembersRequest { /** - *

                                                              A Boolean value that specifies whether you want to disable email notification to the accounts that you are inviting to GuardDuty as members.

                                                              + *

                                                              A list of account IDs of the accounts that you want to invite to GuardDuty as + * members.

                                                              */ - DisableEmailNotification?: boolean; + AccountIds: string[] | undefined; /** *

                                                              The invitation message that you want to send to the accounts that you're inviting to @@ -3393,10 +3399,9 @@ export interface InviteMembersRequest { Message?: string; /** - *

                                                              A list of account IDs of the accounts that you want to invite to GuardDuty as - * members.

                                                              + *

                                                              A Boolean value that specifies whether you want to disable email notification to the accounts that you are inviting to GuardDuty as members.

                                                              */ - AccountIds: string[] | undefined; + DisableEmailNotification?: boolean; /** *

                                                              The unique ID of the detector of the GuardDuty account that you want to invite members @@ -3448,16 +3453,16 @@ export namespace ListDetectorsRequest { } export interface ListDetectorsResponse { - /** - *

                                                              A list of detector IDs.

                                                              - */ - DetectorIds: string[] | undefined; - /** *

                                                              The pagination parameter to be used on the next list operation to retrieve more * items.

                                                              */ NextToken?: string; + + /** + *

                                                              A list of detector IDs.

                                                              + */ + DetectorIds: string[] | undefined; } export namespace ListDetectorsResponse { @@ -3494,16 +3499,16 @@ export namespace ListFiltersRequest { } export interface ListFiltersResponse { - /** - *

                                                              A list of filter names.

                                                              - */ - FilterNames: string[] | undefined; - /** *

                                                              The pagination parameter to be used on the next list operation to retrieve more * items.

                                                              */ NextToken?: string; + + /** + *

                                                              A list of filter names.

                                                              + */ + FilterNames: string[] | undefined; } export namespace ListFiltersResponse { @@ -3513,6 +3518,19 @@ export namespace ListFiltersResponse { } export interface ListFindingsRequest { + /** + *

                                                              You can use this parameter when paginating results. Set the value of this parameter to + * null on your first call to the list action. For subsequent calls to the action, fill nextToken + * in the request with the value of NextToken from the previous response to continue listing + * data.

                                                              + */ + NextToken?: string; + + /** + *

                                                              Represents the criteria used for sorting findings.

                                                              + */ + SortCriteria?: SortCriteria; + /** *

                                                              The ID of the detector that specifies the GuardDuty service whose findings you want to * list.

                                                              @@ -3525,14 +3543,6 @@ export interface ListFindingsRequest { */ MaxResults?: number; - /** - *

                                                              You can use this parameter when paginating results. Set the value of this parameter to - * null on your first call to the list action. For subsequent calls to the action, fill nextToken - * in the request with the value of NextToken from the previous response to continue listing - * data.

                                                              - */ - NextToken?: string; - /** *

                                                              Represents the criteria used for querying findings. Valid values include:

                                                              *
                                                                @@ -3690,11 +3700,6 @@ export interface ListFindingsRequest { *
                                                              */ FindingCriteria?: FindingCriteria; - - /** - *

                                                              Represents the criteria used for sorting findings.

                                                              - */ - SortCriteria?: SortCriteria; } export namespace ListFindingsRequest { @@ -3749,14 +3754,14 @@ export namespace ListInvitationsRequest { */ export interface Invitation { /** - *

                                                              The timestamp when the invitation was sent.

                                                              + *

                                                              The status of the relationship between the inviter and invitee accounts.

                                                              */ - InvitedAt?: string; + RelationshipStatus?: string; /** - *

                                                              The ID of the account that the invitation was sent from.

                                                              + *

                                                              The timestamp when the invitation was sent.

                                                              */ - AccountId?: string; + InvitedAt?: string; /** *

                                                              The ID of the invitation. This value is used to validate the inviter account to the member @@ -3765,9 +3770,9 @@ export interface Invitation { InvitationId?: string; /** - *

                                                              The status of the relationship between the inviter and invitee accounts.

                                                              + *

                                                              The ID of the account that the invitation was sent from.

                                                              */ - RelationshipStatus?: string; + AccountId?: string; } export namespace Invitation { @@ -3801,6 +3806,12 @@ export interface ListIPSetsRequest { */ DetectorId: string | undefined; + /** + *

                                                              You can use this parameter to indicate the maximum number of items you want in the + * response. The default value is 50. The maximum value is 50.

                                                              + */ + MaxResults?: number; + /** *

                                                              You can use this parameter when paginating results. Set the value of this parameter to * null on your first call to the list action. For subsequent calls to the action, fill nextToken @@ -3808,12 +3819,6 @@ export interface ListIPSetsRequest { * data.

                                                              */ NextToken?: string; - - /** - *

                                                              You can use this parameter to indicate the maximum number of items you want in the - * response. The default value is 50. The maximum value is 50.

                                                              - */ - MaxResults?: number; } export namespace ListIPSetsRequest { @@ -3842,17 +3847,6 @@ export namespace ListIPSetsResponse { } export interface ListMembersRequest { - /** - *

                                                              You can use this parameter to indicate the maximum number of items you want in the - * response. The default value is 50. The maximum value is 50.

                                                              - */ - MaxResults?: number; - - /** - *

                                                              The unique ID of the detector the member is associated with.

                                                              - */ - DetectorId: string | undefined; - /** *

                                                              You can use this parameter when paginating results. Set the value of this parameter to * null on your first call to the list action. For subsequent calls to the action, fill nextToken @@ -3866,6 +3860,17 @@ export interface ListMembersRequest { * members who haven't been invited yet or have been disassociated).

                                                              */ OnlyAssociated?: string; + + /** + *

                                                              You can use this parameter to indicate the maximum number of items you want in the + * response. The default value is 50. The maximum value is 50.

                                                              + */ + MaxResults?: number; + + /** + *

                                                              The unique ID of the detector the member is associated with.

                                                              + */ + DetectorId: string | undefined; } export namespace ListMembersRequest { @@ -3876,15 +3881,15 @@ export namespace ListMembersRequest { export interface ListMembersResponse { /** - *

                                                              The pagination parameter to be used on the next list operation to retrieve more - * items.

                                                              + *

                                                              A list of members.

                                                              */ - NextToken?: string; + Members?: Member[]; /** - *

                                                              A list of members.

                                                              + *

                                                              The pagination parameter to be used on the next list operation to retrieve more + * items.

                                                              */ - Members?: Member[]; + NextToken?: string; } export namespace ListMembersResponse { @@ -3894,11 +3899,6 @@ export namespace ListMembersResponse { } export interface ListOrganizationAdminAccountsRequest { - /** - *

                                                              The maximum number of results to return in the response.

                                                              - */ - MaxResults?: number; - /** *

                                                              A token to use for paginating results that are returned in the response. Set the value of * this parameter to null for the first request to a list action. For subsequent calls, use the @@ -3906,6 +3906,11 @@ export interface ListOrganizationAdminAccountsRequest { * after the first page.

                                                              */ NextToken?: string; + + /** + *

                                                              The maximum number of results to return in the response.

                                                              + */ + MaxResults?: number; } export namespace ListOrganizationAdminAccountsRequest { @@ -3915,17 +3920,17 @@ export namespace ListOrganizationAdminAccountsRequest { } export interface ListOrganizationAdminAccountsResponse { - /** - *

                                                              The pagination parameter to be used on the next list operation to retrieve more - * items.

                                                              - */ - NextToken?: string; - /** *

                                                              An AdminAccounts object that includes a list of accounts configured as GuardDuty delegated * administrators.

                                                              */ AdminAccounts?: AdminAccount[]; + + /** + *

                                                              The pagination parameter to be used on the next list operation to retrieve more + * items.

                                                              + */ + NextToken?: string; } export namespace ListOrganizationAdminAccountsResponse { @@ -3936,9 +3941,12 @@ export namespace ListOrganizationAdminAccountsResponse { export interface ListPublishingDestinationsRequest { /** - *

                                                              The ID of the detector to retrieve publishing destinations for.

                                                              + *

                                                              A token to use for paginating results that are returned in the response. Set the value of + * this parameter to null for the first request to a list action. For subsequent calls, use the + * NextToken value returned from the previous request to continue listing results + * after the first page.

                                                              */ - DetectorId: string | undefined; + NextToken?: string; /** *

                                                              The maximum number of results to return in the response.

                                                              @@ -3946,12 +3954,9 @@ export interface ListPublishingDestinationsRequest { MaxResults?: number; /** - *

                                                              A token to use for paginating results that are returned in the response. Set the value of - * this parameter to null for the first request to a list action. For subsequent calls, use the - * NextToken value returned from the previous request to continue listing results - * after the first page.

                                                              + *

                                                              The ID of the detector to retrieve publishing destinations for.

                                                              */ - NextToken?: string; + DetectorId: string | undefined; } export namespace ListPublishingDestinationsRequest { @@ -3961,12 +3966,6 @@ export namespace ListPublishingDestinationsRequest { } export interface ListPublishingDestinationsResponse { - /** - *

                                                              A Destinations object that includes information about each publishing - * destination returned.

                                                              - */ - Destinations: Destination[] | undefined; - /** *

                                                              A token to use for paginating results that are returned in the response. Set the value of * this parameter to null for the first request to a list action. For subsequent calls, use the @@ -3974,6 +3973,12 @@ export interface ListPublishingDestinationsResponse { * after the first page.

                                                              */ NextToken?: string; + + /** + *

                                                              A Destinations object that includes information about each publishing + * destination returned.

                                                              + */ + Destinations: Destination[] | undefined; } export namespace ListPublishingDestinationsResponse { @@ -4010,12 +4015,10 @@ export namespace ListTagsForResourceResponse { export interface ListThreatIntelSetsRequest { /** - *

                                                              You can use this parameter to paginate results in the response. Set the value of this - * parameter to null on your first call to the list action. For subsequent calls to the action, - * fill nextToken in the request with the value of NextToken from the previous response to - * continue listing data.

                                                              + *

                                                              You can use this parameter to indicate the maximum number of items that you want in the + * response. The default value is 50. The maximum value is 50.

                                                              */ - NextToken?: string; + MaxResults?: number; /** *

                                                              The unique ID of the detector that the threatIntelSet is associated with.

                                                              @@ -4023,10 +4026,12 @@ export interface ListThreatIntelSetsRequest { DetectorId: string | undefined; /** - *

                                                              You can use this parameter to indicate the maximum number of items that you want in the - * response. The default value is 50. The maximum value is 50.

                                                              + *

                                                              You can use this parameter to paginate results in the response. Set the value of this + * parameter to null on your first call to the list action. For subsequent calls to the action, + * fill nextToken in the request with the value of NextToken from the previous response to + * continue listing data.

                                                              */ - MaxResults?: number; + NextToken?: string; } export namespace ListThreatIntelSetsRequest { @@ -4055,16 +4060,16 @@ export namespace ListThreatIntelSetsResponse { } export interface StartMonitoringMembersRequest { - /** - *

                                                              A list of account IDs of the GuardDuty member accounts to start monitoring.

                                                              - */ - AccountIds: string[] | undefined; - /** *

                                                              The unique ID of the detector of the GuardDuty master account associated with the member * accounts to monitor.

                                                              */ DetectorId: string | undefined; + + /** + *

                                                              A list of account IDs of the GuardDuty member accounts to start monitoring.

                                                              + */ + AccountIds: string[] | undefined; } export namespace StartMonitoringMembersRequest { @@ -4122,14 +4127,14 @@ export namespace StopMonitoringMembersResponse { export interface TagResourceRequest { /** - *

                                                              The Amazon Resource Name (ARN) for the GuardDuty resource to apply a tag to.

                                                              + *

                                                              The tags to be added to a resource.

                                                              */ - ResourceArn: string | undefined; + Tags: { [key: string]: string } | undefined; /** - *

                                                              The tags to be added to a resource.

                                                              + *

                                                              The Amazon Resource Name (ARN) for the GuardDuty resource to apply a tag to.

                                                              */ - Tags: { [key: string]: string } | undefined; + ResourceArn: string | undefined; } export namespace TagResourceRequest { @@ -4174,14 +4179,14 @@ export namespace UnarchiveFindingsResponse { export interface UntagResourceRequest { /** - *

                                                              The tag keys to remove from the resource.

                                                              + *

                                                              The Amazon Resource Name (ARN) for the resource to remove tags from.

                                                              */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; /** - *

                                                              The Amazon Resource Name (ARN) for the resource to remove tags from.

                                                              + *

                                                              The tag keys to remove from the resource.

                                                              */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -4200,9 +4205,9 @@ export namespace UntagResourceResponse { export interface UpdateDetectorRequest { /** - *

                                                              An object that describes which data sources will be updated.

                                                              + *

                                                              Specifies whether the detector is enabled or not enabled.

                                                              */ - DataSources?: DataSourceConfigurations; + Enable?: boolean; /** *

                                                              The unique ID of the detector to update.

                                                              @@ -4210,9 +4215,9 @@ export interface UpdateDetectorRequest { DetectorId: string | undefined; /** - *

                                                              Specifies whether the detector is enabled or not enabled.

                                                              + *

                                                              An object that describes which data sources will be updated.

                                                              */ - Enable?: boolean; + DataSources?: DataSourceConfigurations; /** *

                                                              An enum value that specifies how frequently findings are exported, such as to CloudWatch @@ -4237,15 +4242,9 @@ export namespace UpdateDetectorResponse { export interface UpdateFilterRequest { /** - *

                                                              Represents the criteria to be used in the filter for querying findings.

                                                              - */ - FindingCriteria?: FindingCriteria; - - /** - *

                                                              Specifies the position of the filter in the list of current filters. Also specifies the - * order in which this filter is applied to the findings.

                                                              + *

                                                              The description of the filter.

                                                              */ - Rank?: number; + Description?: string; /** *

                                                              The unique ID of the detector that specifies the GuardDuty service where you want to @@ -4259,9 +4258,15 @@ export interface UpdateFilterRequest { Action?: FilterAction | string; /** - *

                                                              The description of the filter.

                                                              + *

                                                              Represents the criteria to be used in the filter for querying findings.

                                                              */ - Description?: string; + FindingCriteria?: FindingCriteria; + + /** + *

                                                              Specifies the position of the filter in the list of current filters. Also specifies the + * order in which this filter is applied to the findings.

                                                              + */ + Rank?: number; /** *

                                                              The name of the filter.

                                                              @@ -4290,14 +4295,14 @@ export namespace UpdateFilterResponse { export interface UpdateFindingsFeedbackRequest { /** - *

                                                              The ID of the detector associated with the findings to update feedback for.

                                                              + *

                                                              Additional feedback about the GuardDuty findings.

                                                              */ - DetectorId: string | undefined; + Comments?: string; /** - *

                                                              The IDs of the findings that you want to mark as useful or not useful.

                                                              + *

                                                              The ID of the detector associated with the findings to update feedback for.

                                                              */ - FindingIds: string[] | undefined; + DetectorId: string | undefined; /** *

                                                              The feedback for the finding.

                                                              @@ -4305,9 +4310,9 @@ export interface UpdateFindingsFeedbackRequest { Feedback: Feedback | string | undefined; /** - *

                                                              Additional feedback about the GuardDuty findings.

                                                              + *

                                                              The IDs of the findings that you want to mark as useful or not useful.

                                                              */ - Comments?: string; + FindingIds: string[] | undefined; } export namespace UpdateFindingsFeedbackRequest { @@ -4326,9 +4331,9 @@ export namespace UpdateFindingsFeedbackResponse { export interface UpdateIPSetRequest { /** - *

                                                              The unique ID that specifies the IPSet that you want to update.

                                                              + *

                                                              The updated Boolean value that specifies whether the IPSet is active or not.

                                                              */ - Name?: string; + Activate?: boolean; /** *

                                                              The unique ID that specifies the IPSet that you want to update.

                                                              @@ -4336,20 +4341,20 @@ export interface UpdateIPSetRequest { IpSetId: string | undefined; /** - *

                                                              The updated Boolean value that specifies whether the IPSet is active or not.

                                                              + *

                                                              The updated URI of the file that contains the IPSet. For example: + * https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

                                                              */ - Activate?: boolean; + Location?: string; /** - *

                                                              The detectorID that specifies the GuardDuty service whose IPSet you want to update.

                                                              + *

                                                              The unique ID that specifies the IPSet that you want to update.

                                                              */ - DetectorId: string | undefined; + Name?: string; /** - *

                                                              The updated URI of the file that contains the IPSet. For example: - * https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

                                                              + *

                                                              The detectorID that specifies the GuardDuty service whose IPSet you want to update.

                                                              */ - Location?: string; + DetectorId: string | undefined; } export namespace UpdateIPSetRequest { @@ -4367,11 +4372,6 @@ export namespace UpdateIPSetResponse { } export interface UpdateMemberDetectorsRequest { - /** - *

                                                              A list of member account IDs to be updated.

                                                              - */ - AccountIds: string[] | undefined; - /** *

                                                              The detector ID of the master account.

                                                              */ @@ -4381,6 +4381,11 @@ export interface UpdateMemberDetectorsRequest { *

                                                              An object describes which data sources will be updated.

                                                              */ DataSources?: DataSourceConfigurations; + + /** + *

                                                              A list of member account IDs to be updated.

                                                              + */ + AccountIds: string[] | undefined; } export namespace UpdateMemberDetectorsRequest { @@ -4441,9 +4446,9 @@ export namespace OrganizationDataSourceConfigurations { export interface UpdateOrganizationConfigurationRequest { /** - *

                                                              The ID of the detector to update the delegated administrator for.

                                                              + *

                                                              An object describes which data sources will be updated.

                                                              */ - DetectorId: string | undefined; + DataSources?: OrganizationDataSourceConfigurations; /** *

                                                              Indicates whether to automatically enable member accounts in the organization.

                                                              @@ -4451,9 +4456,9 @@ export interface UpdateOrganizationConfigurationRequest { AutoEnable: boolean | undefined; /** - *

                                                              An object describes which data sources will be updated.

                                                              + *

                                                              The ID of the detector to update the delegated administrator for.

                                                              */ - DataSources?: OrganizationDataSourceConfigurations; + DetectorId: string | undefined; } export namespace UpdateOrganizationConfigurationRequest { @@ -4471,6 +4476,11 @@ export namespace UpdateOrganizationConfigurationResponse { } export interface UpdatePublishingDestinationRequest { + /** + *

                                                              The ID of the detector associated with the publishing destinations to update.

                                                              + */ + DetectorId: string | undefined; + /** *

                                                              A DestinationProperties object that includes the DestinationArn * and KmsKeyArn of the publishing destination.

                                                              @@ -4481,11 +4491,6 @@ export interface UpdatePublishingDestinationRequest { *

                                                              The ID of the publishing destination to update.

                                                              */ DestinationId: string | undefined; - - /** - *

                                                              The ID of the detector associated with the publishing destinations to update.

                                                              - */ - DetectorId: string | undefined; } export namespace UpdatePublishingDestinationRequest { @@ -4503,12 +4508,6 @@ export namespace UpdatePublishingDestinationResponse { } export interface UpdateThreatIntelSetRequest { - /** - *

                                                              The updated Boolean value that specifies whether the ThreateIntelSet is active or - * not.

                                                              - */ - Activate?: boolean; - /** *

                                                              The unique ID that specifies the ThreatIntelSet that you want to update.

                                                              */ @@ -4519,17 +4518,23 @@ export interface UpdateThreatIntelSetRequest { */ Name?: string; - /** - *

                                                              The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to - * update.

                                                              - */ - DetectorId: string | undefined; - /** *

                                                              The updated URI of the file that contains the ThreateIntelSet. For example: * https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

                                                              */ Location?: string; + + /** + *

                                                              The updated Boolean value that specifies whether the ThreateIntelSet is active or + * not.

                                                              + */ + Activate?: boolean; + + /** + *

                                                              The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to + * update.

                                                              + */ + DetectorId: string | undefined; } export namespace UpdateThreatIntelSetRequest { diff --git a/clients/client-guardduty/protocols/Aws_restJson1.ts b/clients/client-guardduty/protocols/Aws_restJson1.ts index d45ff6d1595e..54bcaf236193 100644 --- a/clients/client-guardduty/protocols/Aws_restJson1.ts +++ b/clients/client-guardduty/protocols/Aws_restJson1.ts @@ -600,15 +600,6 @@ export const serializeAws_restJson1DeleteFilterCommand = async ( "Content-Type": "", }; let resolvedPath = "/detector/{DetectorId}/filter/{FilterName}"; - if (input.DetectorId !== undefined) { - const labelValue: string = input.DetectorId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DetectorId."); - } - resolvedPath = resolvedPath.replace("{DetectorId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DetectorId."); - } if (input.FilterName !== undefined) { const labelValue: string = input.FilterName; if (labelValue.length <= 0) { @@ -618,6 +609,15 @@ export const serializeAws_restJson1DeleteFilterCommand = async ( } else { throw new Error("No value provided for input HTTP label: FilterName."); } + if (input.DetectorId !== undefined) { + const labelValue: string = input.DetectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DetectorId."); + } + resolvedPath = resolvedPath.replace("{DetectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DetectorId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -774,15 +774,6 @@ export const serializeAws_restJson1DeleteThreatIntelSetCommand = async ( "Content-Type": "", }; let resolvedPath = "/detector/{DetectorId}/threatintelset/{ThreatIntelSetId}"; - if (input.DetectorId !== undefined) { - const labelValue: string = input.DetectorId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DetectorId."); - } - resolvedPath = resolvedPath.replace("{DetectorId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DetectorId."); - } if (input.ThreatIntelSetId !== undefined) { const labelValue: string = input.ThreatIntelSetId; if (labelValue.length <= 0) { @@ -792,6 +783,15 @@ export const serializeAws_restJson1DeleteThreatIntelSetCommand = async ( } else { throw new Error("No value provided for input HTTP label: ThreatIntelSetId."); } + if (input.DetectorId !== undefined) { + const labelValue: string = input.DetectorId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DetectorId."); + } + resolvedPath = resolvedPath.replace("{DetectorId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DetectorId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -843,15 +843,6 @@ export const serializeAws_restJson1DescribePublishingDestinationCommand = async "Content-Type": "", }; let resolvedPath = "/detector/{DetectorId}/publishingDestination/{DestinationId}"; - if (input.DestinationId !== undefined) { - const labelValue: string = input.DestinationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DestinationId."); - } - resolvedPath = resolvedPath.replace("{DestinationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DestinationId."); - } if (input.DetectorId !== undefined) { const labelValue: string = input.DetectorId; if (labelValue.length <= 0) { @@ -861,6 +852,15 @@ export const serializeAws_restJson1DescribePublishingDestinationCommand = async } else { throw new Error("No value provided for input HTTP label: DetectorId."); } + if (input.DestinationId !== undefined) { + const labelValue: string = input.DestinationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DestinationId."); + } + resolvedPath = resolvedPath.replace("{DestinationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DestinationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1023,15 +1023,6 @@ export const serializeAws_restJson1GetFilterCommand = async ( "Content-Type": "", }; let resolvedPath = "/detector/{DetectorId}/filter/{FilterName}"; - if (input.FilterName !== undefined) { - const labelValue: string = input.FilterName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: FilterName."); - } - resolvedPath = resolvedPath.replace("{FilterName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: FilterName."); - } if (input.DetectorId !== undefined) { const labelValue: string = input.DetectorId; if (labelValue.length <= 0) { @@ -1041,6 +1032,15 @@ export const serializeAws_restJson1GetFilterCommand = async ( } else { throw new Error("No value provided for input HTTP label: DetectorId."); } + if (input.FilterName !== undefined) { + const labelValue: string = input.FilterName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: FilterName."); + } + resolvedPath = resolvedPath.replace("{FilterName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: FilterName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1543,8 +1543,8 @@ export const serializeAws_restJson1ListIPSetsCommand = async ( throw new Error("No value provided for input HTTP label: DetectorId."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1578,9 +1578,9 @@ export const serializeAws_restJson1ListMembersCommand = async ( throw new Error("No value provided for input HTTP label: DetectorId."); } const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.OnlyAssociated !== undefined && { onlyAssociated: input.OnlyAssociated }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1605,8 +1605,8 @@ export const serializeAws_restJson1ListOrganizationAdminAccountsCommand = async }; let resolvedPath = "/admin"; 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(); @@ -1640,8 +1640,8 @@ export const serializeAws_restJson1ListPublishingDestinationsCommand = async ( throw new Error("No value provided for input HTTP label: DetectorId."); } 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(); @@ -1705,8 +1705,8 @@ export const serializeAws_restJson1ListThreatIntelSetsCommand = async ( throw new Error("No value provided for input HTTP label: DetectorId."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2133,15 +2133,6 @@ export const serializeAws_restJson1UpdatePublishingDestinationCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/detector/{DetectorId}/publishingDestination/{DestinationId}"; - if (input.DestinationId !== undefined) { - const labelValue: string = input.DestinationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DestinationId."); - } - resolvedPath = resolvedPath.replace("{DestinationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DestinationId."); - } if (input.DetectorId !== undefined) { const labelValue: string = input.DetectorId; if (labelValue.length <= 0) { @@ -2151,6 +2142,15 @@ export const serializeAws_restJson1UpdatePublishingDestinationCommand = async ( } else { throw new Error("No value provided for input HTTP label: DetectorId."); } + if (input.DestinationId !== undefined) { + const labelValue: string = input.DestinationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DestinationId."); + } + resolvedPath = resolvedPath.replace("{DestinationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DestinationId."); + } let body: any; body = JSON.stringify({ ...(input.DestinationProperties !== undefined && { @@ -6215,6 +6215,7 @@ const deserializeAws_restJson1AwsApiCallAction = (output: any, context: __SerdeC output.domainDetails !== undefined && output.domainDetails !== null ? deserializeAws_restJson1DomainDetails(output.domainDetails, context) : undefined, + ErrorCode: output.errorCode !== undefined && output.errorCode !== null ? output.errorCode : undefined, RemoteIpDetails: output.remoteIpDetails !== undefined && output.remoteIpDetails !== null ? deserializeAws_restJson1RemoteIpDetails(output.remoteIpDetails, context) diff --git a/clients/client-health/Health.ts b/clients/client-health/Health.ts index ff15ee7533e0..d54f48ef6080 100644 --- a/clients/client-health/Health.ts +++ b/clients/client-health/Health.ts @@ -69,115 +69,55 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** * AWS Health * - *

                                                              The AWS Health API provides programmatic access to the AWS Health information - * that is presented in the AWS Personal Health Dashboard. You can get information about events that affect your AWS - * resources:

                                                              - * - *

                                                              In addition, these operations provide information about event types and summary - * counts of events or affected entities:

                                                              - *
                                                                - *
                                                              • - *

                                                                - * DescribeEventTypes: Information about the kinds of events - * that AWS Health tracks.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * DescribeEventAggregates: A count of the number of events that - * meet specified criteria.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * DescribeEntityAggregates: A count of the number of affected - * entities that meet specified criteria.

                                                                - *
                                                              • - *
                                                              - * - * - *

                                                              AWS Health integrates with AWS Organizations to provide a centralized view of AWS Health - * events across all accounts in your organization.

                                                              - * - *

                                                              You can use the following operations to enable or disable AWS Health from working - * with AWS Organizations.

                                                              - * - * - * - *

                                                              The Health API requires a Business or Enterprise support plan from AWS Support. Calling the Health API - * from an account that does not have a Business or Enterprise support plan causes a - * SubscriptionRequiredException.

                                                              + *

                                                              The AWS Health API provides programmatic access to the AWS Health information that + * appears in the AWS Personal Health Dashboard. You + * can use the API operations to get information about AWS Health events that affect your + * AWS services and resources.

                                                              + * + *

                                                              You must have a Business or Enterprise support plan from AWS Support to use the AWS Health API. If you call the + * AWS Health API from an AWS account that doesn't have a Business or Enterprise support + * plan, you receive a SubscriptionRequiredException error.

                                                              + *
                                                              + *

                                                              AWS Health has a single endpoint: health.us-east-1.amazonaws.com (HTTPS). Use this + * endpoint to call the AWS Health API operations.

                                                              *

                                                              For authentication of requests, AWS Health uses the Signature Version 4 Signing * Process.

                                                              - *

                                                              See the AWS Health User Guide for information about how to use the API.

                                                              - *

                                                              - * Service Endpoint - *

                                                              - *

                                                              The HTTP endpoint for the AWS Health API is:

                                                              - *
                                                                - *
                                                              • - *

                                                                https://health.us-east-1.amazonaws.com

                                                                - *
                                                              • - *
                                                              + *

                                                              If your AWS account is part of AWS Organizations, you can use the AWS Health organizational + * view feature. This feature provides a centralized view of AWS Health events across all + * accounts in your organization. You can aggregate AWS Health events in real time to + * identify accounts in your organization that are affected by an operational event or get + * notified of security vulnerabilities. Use the organizational view API operations to enable + * this feature and return event information. For more information, see Aggregating + * AWS Health events in the AWS Health User Guide.

                                                              + * + *

                                                              When you use the AWS Health API operations to return AWS Health events, see the + * following recommendations:

                                                              + *
                                                                + *
                                                              • + *

                                                                Use the eventScopeCode parameter to specify whether to return AWS Health + * events that are public or account-specific.

                                                                + *
                                                              • + *
                                                              • + *

                                                                Use pagination to view all events from the response. For example, if you call + * the DescribeEventsForOrganization operation to get all events in your + * organization, you might receive several page results. Specify the + * nextToken in the next request to return more results.

                                                                + *
                                                              • + *
                                                              + *
                                                              */ export class Health extends HealthClient { /** *

                                                              Returns a list of accounts in the organization from AWS Organizations that are affected by the - * provided event.

                                                              + * provided event. For more information about the different types of AWS Health events, see + * Event.

                                                              *

                                                              Before you can call this operation, you must first enable AWS Health to work with - * AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization + * AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization * operation from your organization's master account.

                                                              + * + * + *

                                                              This API operation uses pagination. Specify the nextToken parameter in the next request to return more results.

                                                              + *
                                                              */ public describeAffectedAccountsForOrganization( args: DescribeAffectedAccountsForOrganizationCommandInput, @@ -211,13 +151,17 @@ export class Health extends HealthClient { } /** - *

                                                              Returns a list of entities that have been affected by the specified events, based on - * the specified filter criteria. Entities can refer to individual customer resources, groups - * of customer resources, or any other construct, depending on the AWS service. Events that - * have impact beyond that of the affected entities, or where the extent of impact is unknown, + *

                                                              Returns a list of entities that have been affected by the specified events, based on the + * specified filter criteria. Entities can refer to individual customer resources, groups of + * customer resources, or any other construct, depending on the AWS service. Events that have + * impact beyond that of the affected entities, or where the extent of impact is unknown, * include at least one entity indicating this.

                                                              *

                                                              At least one event ARN is required. Results are sorted by the * lastUpdatedTime of the entity, starting with the most recent.

                                                              + * + * + *

                                                              This API operation uses pagination. Specify the nextToken parameter in the next request to return more results.

                                                              + *
                                                              */ public describeAffectedEntities( args: DescribeAffectedEntitiesCommandInput, @@ -253,11 +197,15 @@ export class Health extends HealthClient { * accounts in your organization in AWS Organizations, based on the filter criteria. Entities can refer * to individual customer resources, groups of customer resources, or any other construct, * depending on the AWS service.

                                                              - *

                                                              At least one event ARN and account ID are required. Results are sorted by the - * lastUpdatedTime of the entity, starting with the most recent.

                                                              + *

                                                              At least one event Amazon Resource Name (ARN) and account ID are required. Results are + * sorted by the lastUpdatedTime of the entity, starting with the most + * recent.

                                                              *

                                                              Before you can call this operation, you must first enable AWS Health to work with - * AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization + * AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization * operation from your organization's master account.

                                                              + * + *

                                                              This API operation uses pagination. Specify the nextToken parameter in the next request to return more results.

                                                              + *
                                                              */ public describeAffectedEntitiesForOrganization( args: DescribeAffectedEntitiesForOrganizationCommandInput, @@ -291,8 +239,8 @@ export class Health extends HealthClient { } /** - *

                                                              Returns the number of entities that are affected by each of the specified events. If - * no events are specified, the counts of all affected entities are returned.

                                                              + *

                                                              Returns the number of entities that are affected by each of the specified events. If no + * events are specified, the counts of all affected entities are returned.

                                                              */ public describeEntityAggregates( args: DescribeEntityAggregatesCommandInput, @@ -327,6 +275,10 @@ export class Health extends HealthClient { *

                                                              Returns the number of events of each event type (issue, scheduled change, and account * notification). If no filter is specified, the counts of all events in each category are * returned.

                                                              + * + * + *

                                                              This API operation uses pagination. Specify the nextToken parameter in the next request to return more results.

                                                              + *
                                                              */ public describeEventAggregates( args: DescribeEventAggregatesCommandInput, @@ -359,9 +311,9 @@ export class Health extends HealthClient { /** *

                                                              Returns detailed information about one or more specified events. Information includes - * standard event data (region, service, and so on, as returned by DescribeEvents), a detailed event description, and possible additional - * metadata that depends upon the nature of the event. Affected entities are not included; to - * retrieve those, use the DescribeAffectedEntities operation.

                                                              + * standard event data (Region, service, and so on, as returned by DescribeEvents), a + * detailed event description, and possible additional metadata that depends upon the nature + * of the event. Affected entities are not included. To retrieve those, use the DescribeAffectedEntities operation.

                                                              *

                                                              If a specified event cannot be retrieved, an error message is returned for that * event.

                                                              */ @@ -397,12 +349,30 @@ export class Health extends HealthClient { /** *

                                                              Returns detailed information about one or more specified events for one or more accounts * in your organization. Information includes standard event data (Region, service, and so on, - * as returned by DescribeEventsForOrganization, a detailed event - * description, and possible additional metadata that depends upon the nature of the event. - * Affected entities are not included; to retrieve those, use the DescribeAffectedEntitiesForOrganization operation.

                                                              + * as returned by DescribeEventsForOrganization), a detailed event description, and possible + * additional metadata that depends upon the nature of the event. Affected entities are not + * included; to retrieve those, use the DescribeAffectedEntitiesForOrganization operation.

                                                              *

                                                              Before you can call this operation, you must first enable AWS Health to work with - * AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization + * AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization * operation from your organization's master account.

                                                              + *

                                                              When you call the DescribeEventDetailsForOrganization operation, you + * specify the organizationEventDetailFilters object in the request. Depending on + * the AWS Health event type, note the following differences:

                                                              + *
                                                                + *
                                                              • + *

                                                                If the event is public, the awsAccountId parameter must be empty. If + * you specify an account ID for a public event, then an error message is returned. + * That's because the event might apply to all AWS accounts and isn't specific to an + * account in your organization.

                                                                + *
                                                              • + *
                                                              • + *

                                                                If the event is specific to an account, then you must specify the + * awsAccountId parameter in the request. If you don't specify an + * account ID, an error message returns because the event is specific to an AWS + * account in your organization.

                                                                + *
                                                              • + *
                                                              + *

                                                              For more information, see Event.

                                                              */ public describeEventDetailsForOrganization( args: DescribeEventDetailsForOrganizationCommandInput, @@ -434,12 +404,30 @@ export class Health extends HealthClient { } /** - *

                                                              Returns information about events that meet the specified filter criteria. Events are + *

                                                              Returns information about events that meet the specified filter criteria. Events are * returned in a summary form and do not include the detailed description, any additional * metadata that depends on the event type, or any affected resources. To retrieve that - * information, use the DescribeEventDetails and DescribeAffectedEntities operations.

                                                              + * information, use the DescribeEventDetails and DescribeAffectedEntities operations.

                                                              *

                                                              If no filter criteria are specified, all events are returned. Results are sorted by - * lastModifiedTime, starting with the most recent.

                                                              + * lastModifiedTime, starting with the most recent event.

                                                              + * + *
                                                                + *
                                                              • + *

                                                                When you call the DescribeEvents operation and specify an entity for the + * entityValues parameter, AWS Health might return public events that + * aren't specific to that resource. For example, if you call DescribeEvents + * and specify an ID for an Amazon Elastic Compute Cloud (Amazon EC2) instance, AWS Health might return events + * that aren't specific to that resource or service. To get events that are specific to a + * service, use the services parameter in the filter object. For + * more information, see Event.

                                                                + *
                                                              • + *
                                                              • + *

                                                                This API operation uses pagination. Specify the nextToken parameter in the next request to return more results.

                                                                + *
                                                              • + *
                                                              + * + * + *
                                                              */ public describeEvents( args: DescribeEventsCommandInput, @@ -471,15 +459,38 @@ export class Health extends HealthClient { } /** - *

                                                              Returns information about events across your organization in AWS Organizations, meeting the - * specified filter criteria. Events are returned in a summary form and do not include the - * accounts impacted, detailed description, any additional metadata that depends on the event - * type, or any affected resources. To retrieve that information, use the DescribeAffectedAccountsForOrganization, DescribeEventDetailsForOrganization, and DescribeAffectedEntitiesForOrganization operations.

                                                              - *

                                                              If no filter criteria are specified, all events across your organization are returned. - * Results are sorted by lastModifiedTime, starting with the most recent.

                                                              - *

                                                              Before you can call this operation, you must first enable Health to work with AWS - * Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's - * master account.

                                                              + *

                                                              Returns information about events across your organization in AWS Organizations. You can use + * thefilters parameter to specify the events that you want to return. Events + * are returned in a summary form and don't include the affected accounts, detailed + * description, any additional metadata that depends on the event type, or any affected + * resources. To retrieve that information, use the following operations:

                                                              + * + *

                                                              If you don't specify a filter, the + * DescribeEventsForOrganizations returns all events across your organization. + * Results are sorted by lastModifiedTime, starting with the most recent event.

                                                              + *

                                                              For more information about the different types of AWS Health events, see Event.

                                                              + *

                                                              Before you can call this operation, you must first enable AWS Health to work with + * AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's + * master AWS account.

                                                              + * + *

                                                              This API operation uses pagination. Specify the nextToken parameter in the next request to return more results.

                                                              + *
                                                              */ public describeEventsForOrganization( args: DescribeEventsForOrganizationCommandInput, @@ -511,8 +522,12 @@ export class Health extends HealthClient { } /** - *

                                                              Returns the event types that meet the specified filter criteria. If no filter - * criteria are specified, all event types are returned, in no particular order.

                                                              + *

                                                              Returns the event types that meet the specified filter criteria. If no filter criteria + * are specified, all event types are returned, in no particular order.

                                                              + * + * + *

                                                              This API operation uses pagination. Specify the nextToken parameter in the next request to return more results.

                                                              + *
                                                              */ public describeEventTypes( args: DescribeEventTypesCommandInput, @@ -581,11 +596,22 @@ export class Health extends HealthClient { } /** - *

                                                              Calling this operation disables Health from working with AWS Organizations. This does not remove - * the Service Linked Role (SLR) from the the master account in your organization. Use the - * IAM console, API, or AWS CLI to remove the SLR if desired. To call this operation, you - * must sign in as an IAM user, assume an IAM role, or sign in as the root user (not - * recommended) in the organization's master account.

                                                              + *

                                                              Disables AWS Health from working with AWS Organizations. To call this operation, you must sign + * in as an AWS Identity and Access Management (IAM) user, assume an IAM role, or sign in as the root user (not + * recommended) in the organization's master AWS account. For more information, see Aggregating + * AWS Health events in the + * AWS Health User Guide.

                                                              + *

                                                              This operation doesn't remove the service-linked role (SLR) from the AWS master + * account in your organization. You must use the IAM console, API, or AWS Command Line Interface (AWS CLI) to + * remove the SLR. For more information, see Deleting a Service-Linked Role in the + * IAM User Guide.

                                                              + * + *

                                                              You can also disable the organizational feature by using the Organizations DisableAWSServiceAccess API operation. After you call this operation, + * AWS Health stops aggregating events for all other AWS accounts in your organization. + * If you call the AWS Health API operations for organizational view, AWS Health returns + * an error. AWS Health continues to aggregate health events for your AWS + * account.

                                                              + *
                                                              */ public disableHealthServiceAccessForOrganization( args: DisableHealthServiceAccessForOrganizationCommandInput, @@ -619,11 +645,12 @@ export class Health extends HealthClient { } /** - *

                                                              Calling this operation enables AWS Health to work with AWS Organizations. This applies a Service - * Linked Role (SLR) to the master account in the organization. To learn more about the steps - * in this process, visit enabling service access for AWS Health in AWS Organizations. To call this + *

                                                              Calling this operation enables AWS Health to work with AWS Organizations. This applies a + * service-linked role (SLR) to the master account in the organization. To call this * operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root * user (not recommended) in the organization's master account.

                                                              + *

                                                              For more information, see Aggregating AWS Health events in the AWS Health User + * Guide.

                                                              */ public enableHealthServiceAccessForOrganization( args: EnableHealthServiceAccessForOrganizationCommandInput, diff --git a/clients/client-health/HealthClient.ts b/clients/client-health/HealthClient.ts index 7a86a54be67f..ddc8f6a6554a 100644 --- a/clients/client-health/HealthClient.ts +++ b/clients/client-health/HealthClient.ts @@ -238,107 +238,42 @@ export type HealthClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHan /** * AWS Health * - *

                                                              The AWS Health API provides programmatic access to the AWS Health information - * that is presented in the AWS Personal Health Dashboard. You can get information about events that affect your AWS - * resources:

                                                              - * - *

                                                              In addition, these operations provide information about event types and summary - * counts of events or affected entities:

                                                              - *
                                                                - *
                                                              • - *

                                                                - * DescribeEventTypes: Information about the kinds of events - * that AWS Health tracks.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * DescribeEventAggregates: A count of the number of events that - * meet specified criteria.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * DescribeEntityAggregates: A count of the number of affected - * entities that meet specified criteria.

                                                                - *
                                                              • - *
                                                              - * - * - *

                                                              AWS Health integrates with AWS Organizations to provide a centralized view of AWS Health - * events across all accounts in your organization.

                                                              - * - *

                                                              You can use the following operations to enable or disable AWS Health from working - * with AWS Organizations.

                                                              - * - * - * - *

                                                              The Health API requires a Business or Enterprise support plan from AWS Support. Calling the Health API - * from an account that does not have a Business or Enterprise support plan causes a - * SubscriptionRequiredException.

                                                              + *

                                                              The AWS Health API provides programmatic access to the AWS Health information that + * appears in the AWS Personal Health Dashboard. You + * can use the API operations to get information about AWS Health events that affect your + * AWS services and resources.

                                                              + * + *

                                                              You must have a Business or Enterprise support plan from AWS Support to use the AWS Health API. If you call the + * AWS Health API from an AWS account that doesn't have a Business or Enterprise support + * plan, you receive a SubscriptionRequiredException error.

                                                              + *
                                                              + *

                                                              AWS Health has a single endpoint: health.us-east-1.amazonaws.com (HTTPS). Use this + * endpoint to call the AWS Health API operations.

                                                              *

                                                              For authentication of requests, AWS Health uses the Signature Version 4 Signing * Process.

                                                              - *

                                                              See the AWS Health User Guide for information about how to use the API.

                                                              - *

                                                              - * Service Endpoint - *

                                                              - *

                                                              The HTTP endpoint for the AWS Health API is:

                                                              - *
                                                                - *
                                                              • - *

                                                                https://health.us-east-1.amazonaws.com

                                                                - *
                                                              • - *
                                                              + *

                                                              If your AWS account is part of AWS Organizations, you can use the AWS Health organizational + * view feature. This feature provides a centralized view of AWS Health events across all + * accounts in your organization. You can aggregate AWS Health events in real time to + * identify accounts in your organization that are affected by an operational event or get + * notified of security vulnerabilities. Use the organizational view API operations to enable + * this feature and return event information. For more information, see Aggregating + * AWS Health events in the AWS Health User Guide.

                                                              + * + *

                                                              When you use the AWS Health API operations to return AWS Health events, see the + * following recommendations:

                                                              + *
                                                                + *
                                                              • + *

                                                                Use the eventScopeCode parameter to specify whether to return AWS Health + * events that are public or account-specific.

                                                                + *
                                                              • + *
                                                              • + *

                                                                Use pagination to view all events from the response. For example, if you call + * the DescribeEventsForOrganization operation to get all events in your + * organization, you might receive several page results. Specify the + * nextToken in the next request to return more results.

                                                                + *
                                                              • + *
                                                              + *
                                                              */ export class HealthClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-health/index.ts b/clients/client-health/index.ts index 2904262a1757..19a2a1c733d0 100644 --- a/clients/client-health/index.ts +++ b/clients/client-health/index.ts @@ -1,16 +1,24 @@ export * from "./HealthClient"; export * from "./Health"; export * from "./commands/DescribeAffectedAccountsForOrganizationCommand"; +export * from "./pagination/DescribeAffectedAccountsForOrganizationPaginator"; export * from "./commands/DescribeAffectedEntitiesCommand"; +export * from "./pagination/DescribeAffectedEntitiesPaginator"; export * from "./commands/DescribeAffectedEntitiesForOrganizationCommand"; +export * from "./pagination/DescribeAffectedEntitiesForOrganizationPaginator"; export * from "./commands/DescribeEntityAggregatesCommand"; export * from "./commands/DescribeEventAggregatesCommand"; +export * from "./pagination/DescribeEventAggregatesPaginator"; export * from "./commands/DescribeEventDetailsCommand"; export * from "./commands/DescribeEventDetailsForOrganizationCommand"; export * from "./commands/DescribeEventsCommand"; +export * from "./pagination/DescribeEventsPaginator"; export * from "./commands/DescribeEventsForOrganizationCommand"; +export * from "./pagination/DescribeEventsForOrganizationPaginator"; export * from "./commands/DescribeEventTypesCommand"; +export * from "./pagination/DescribeEventTypesPaginator"; export * from "./commands/DescribeHealthServiceStatusForOrganizationCommand"; export * from "./commands/DisableHealthServiceAccessForOrganizationCommand"; export * from "./commands/EnableHealthServiceAccessForOrganizationCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-health/models/models_0.ts b/clients/client-health/models/models_0.ts index 9784e4f505fd..239eeeef1bd0 100644 --- a/clients/client-health/models/models_0.ts +++ b/clients/client-health/models/models_0.ts @@ -12,19 +12,14 @@ export enum EntityStatusCode { */ export interface AffectedEntity { /** - *

                                                              The 12-digit AWS account number that contains the affected entity.

                                                              - */ - awsAccountId?: string; - - /** - *

                                                              A map of entity tags attached to the affected entity.

                                                              + *

                                                              The URL of the affected entity.

                                                              */ - tags?: { [key: string]: string }; + entityUrl?: string; /** - *

                                                              The URL of the affected entity.

                                                              + *

                                                              The ID of the affected entity.

                                                              */ - entityUrl?: string; + entityValue?: string; /** *

                                                              The unique identifier for the entity. Format: arn:aws:health:entity-region:aws-account:entity/entity-id @@ -33,6 +28,14 @@ export interface AffectedEntity { */ entityArn?: string; + /** + *

                                                              A map of entity tags attached to the affected entity.

                                                              + * + *

                                                              Currently, the tags property isn't supported.

                                                              + *
                                                              + */ + tags?: { [key: string]: string }; + /** *

                                                              The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 @@ -47,14 +50,14 @@ export interface AffectedEntity { statusCode?: EntityStatusCode | string; /** - *

                                                              The most recent time that the entity was updated.

                                                              + *

                                                              The 12-digit AWS account number that contains the affected entity.

                                                              */ - lastUpdatedTime?: Date; + awsAccountId?: string; /** - *

                                                              The ID of the affected entity.

                                                              + *

                                                              The most recent time that the entity was updated.

                                                              */ - entityValue?: string; + lastUpdatedTime?: Date; } export namespace AffectedEntity { @@ -64,6 +67,11 @@ export namespace AffectedEntity { } export interface DescribeAffectedAccountsForOrganizationRequest { + /** + *

                                                              The maximum number of items to return in one batch, between 10 and 100, inclusive.

                                                              + */ + maxResults?: number; + /** *

                                                              The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 @@ -71,11 +79,6 @@ export interface DescribeAffectedAccountsForOrganizationRequest { */ eventArn: string | undefined; - /** - *

                                                              The maximum number of items to return in one batch, between 10 and 100, inclusive.

                                                              - */ - maxResults?: number; - /** *

                                                              If the results of a search are large, only a portion of the * results are returned, and a nextToken pagination token is returned in the response. To @@ -106,7 +109,29 @@ export interface DescribeAffectedAccountsForOrganizationResponse { */ nextToken?: string; + /** + *

                                                              This parameter specifies if the AWS Health event is a public AWS service event or an account-specific event.

                                                              + *
                                                                + *
                                                              • + *

                                                                If the eventScopeCode value is PUBLIC, then the + * affectedAccounts value is always empty.

                                                                + *
                                                              • + *
                                                              • + *

                                                                If the eventScopeCode value is ACCOUNT_SPECIFIC, then + * the affectedAccounts value lists the affected AWS accounts in your + * organization. For example, if an event affects a service such as Amazon Elastic Compute Cloud and you + * have AWS accounts that use that service, those account IDs appear in the + * response.

                                                                + *
                                                              • + *
                                                              • + *

                                                                If the eventScopeCode value is NONE, then the + * eventArn that you specified in the request is invalid or doesn't + * exist.

                                                                + *
                                                              • + *
                                                              + */ eventScopeCode?: EventScopeCode | string; + /** *

                                                              A JSON set of elements of the affected accounts.

                                                              */ @@ -135,9 +160,9 @@ export namespace InvalidPaginationToken { } /** - *

                                                              A range of dates and times that is used by the EventFilter and - * EntityFilter objects. If from is set and to - * is set: match items where the timestamp (startTime, endTime, or + *

                                                              A range of dates and times that is used by the EventFilter and + * EntityFilter objects. If from is set and to is + * set: match items where the timestamp (startTime, endTime, or * lastUpdatedTime) is between from and to * inclusive. If from is set and to is not set: match items where * the timestamp value is equal to or after from. If from is not set @@ -146,14 +171,14 @@ export namespace InvalidPaginationToken { */ export interface DateTimeRange { /** - *

                                                              The ending date and time of a time range.

                                                              + *

                                                              The starting date and time of a time range.

                                                              */ - to?: Date; + from?: Date; /** - *

                                                              The starting date and time of a time range.

                                                              + *

                                                              The ending date and time of a time range.

                                                              */ - from?: Date; + to?: Date; } export namespace DateTimeRange { @@ -163,19 +188,28 @@ export namespace DateTimeRange { } /** - *

                                                              The values to use to filter results from the DescribeAffectedEntities operation.

                                                              + *

                                                              The values to use to filter results from the EntityFilter + * operation.

                                                              */ export interface EntityFilter { + /** + *

                                                              A list of entity status codes (IMPAIRED, UNIMPAIRED, or + * UNKNOWN).

                                                              + */ + statusCodes?: (EntityStatusCode | string)[]; + /** *

                                                              A map of entity tags attached to the affected entity.

                                                              + * + *

                                                              Currently, the tags property isn't supported.

                                                              + *
                                                              */ tags?: { [key: string]: string }[]; /** - *

                                                              A list of entity status codes (IMPAIRED, UNIMPAIRED, or - * UNKNOWN).

                                                              + *

                                                              A list of IDs for affected entities.

                                                              */ - statusCodes?: (EntityStatusCode | string)[]; + entityValues?: string[]; /** *

                                                              A list of entity ARNs (unique identifiers).

                                                              @@ -187,11 +221,6 @@ export interface EntityFilter { */ lastUpdatedTimes?: DateTimeRange[]; - /** - *

                                                              A list of IDs for affected entities.

                                                              - */ - entityValues?: string[]; - /** *

                                                              A list of event ARNs (unique identifiers). For example: "arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456", "arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101" *

                                                              @@ -211,6 +240,11 @@ export interface DescribeAffectedEntitiesRequest { */ locale?: string; + /** + *

                                                              Values to narrow the results returned. At least one event ARN is required.

                                                              + */ + filter: EntityFilter | undefined; + /** *

                                                              The maximum number of items to return in one batch, between 10 and 100, inclusive.

                                                              */ @@ -223,11 +257,6 @@ export interface DescribeAffectedEntitiesRequest { * When all results have been returned, the response does not contain a pagination token value.

                                                              */ nextToken?: string; - - /** - *

                                                              Values to narrow the results returned. At least one event ARN is required.

                                                              - */ - filter: EntityFilter | undefined; } export namespace DescribeAffectedEntitiesRequest { @@ -237,6 +266,11 @@ export namespace DescribeAffectedEntitiesRequest { } export interface DescribeAffectedEntitiesResponse { + /** + *

                                                              The entities that match the filter criteria.

                                                              + */ + entities?: AffectedEntity[]; + /** *

                                                              If the results of a search are large, only a portion of the * results are returned, and a nextToken pagination token is returned in the response. To @@ -244,11 +278,6 @@ export interface DescribeAffectedEntitiesResponse { * When all results have been returned, the response does not contain a pagination token value.

                                                              */ nextToken?: string; - - /** - *

                                                              The entities that match the filter criteria.

                                                              - */ - entities?: AffectedEntity[]; } export namespace DescribeAffectedEntitiesResponse { @@ -273,20 +302,21 @@ export namespace UnsupportedLocale { } /** - *

                                                              The values used to filter results from the DescribeEventDetailsForOrganization and DescribeAffectedEntitiesForOrganization operations.

                                                              + *

                                                              The values used to filter results from the DescribeEventDetailsForOrganization and + * DescribeAffectedEntitiesForOrganization operations.

                                                              */ export interface EventAccountFilter { + /** + *

                                                              The 12-digit AWS account numbers that contains the affected entities.

                                                              + */ + awsAccountId?: string; + /** *

                                                              The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 *

                                                              */ eventArn: string | undefined; - - /** - *

                                                              The 12-digit AWS account numbers that contains the affected entities.

                                                              - */ - awsAccountId?: string; } export namespace EventAccountFilter { @@ -296,17 +326,17 @@ export namespace EventAccountFilter { } export interface DescribeAffectedEntitiesForOrganizationRequest { - /** - *

                                                              The locale (language) to return information in. English (en) is the default and the only supported value at this time.

                                                              - */ - locale?: string; - /** *

                                                              A JSON set of elements including the awsAccountId and the * eventArn.

                                                              */ organizationEntityFilters: EventAccountFilter[] | undefined; + /** + *

                                                              The locale (language) to return information in. English (en) is the default and the only supported value at this time.

                                                              + */ + locale?: string; + /** *

                                                              If the results of a search are large, only a portion of the * results are returned, and a nextToken pagination token is returned in the response. To @@ -328,10 +358,20 @@ export namespace DescribeAffectedEntitiesForOrganizationRequest { } /** - *

                                                              Error information returned when a DescribeAffectedEntitiesForOrganization operation cannot find or process a + *

                                                              Error information returned when a DescribeAffectedEntitiesForOrganization operation cannot find or process a * specific entity.

                                                              */ export interface OrganizationAffectedEntitiesErrorItem { + /** + *

                                                              The 12-digit AWS account numbers that contains the affected entities.

                                                              + */ + awsAccountId?: string; + + /** + *

                                                              The name of the error.

                                                              + */ + errorName?: string; + /** *

                                                              The unique identifier for the event type. The format is * AWS_SERVICE_DESCRIPTION. For example, @@ -345,16 +385,6 @@ export interface OrganizationAffectedEntitiesErrorItem { *

                                                              */ eventArn?: string; - - /** - *

                                                              The name of the error.

                                                              - */ - errorName?: string; - - /** - *

                                                              The 12-digit AWS account numbers that contains the affected entities.

                                                              - */ - awsAccountId?: string; } export namespace OrganizationAffectedEntitiesErrorItem { @@ -375,7 +405,7 @@ export interface DescribeAffectedEntitiesForOrganizationResponse { /** *

                                                              A JSON set of elements including the awsAccountId and its * entityArn, entityValue and its entityArn, - * lastUpdatedTime, statusCode, and tags.

                                                              + * lastUpdatedTime, and statusCode.

                                                              */ entities?: AffectedEntity[]; @@ -407,11 +437,12 @@ export namespace DescribeEntityAggregatesRequest { } /** - *

                                                              The number of entities that are affected by one or more events. Returned by the DescribeEntityAggregates operation.

                                                              + *

                                                              The number of entities that are affected by one or more events. Returned by the + * DescribeEntityAggregates operation.

                                                              */ export interface EntityAggregate { /** - *

                                                              The number entities that match the criteria for the specified events.

                                                              + *

                                                              The number of entities that match the criteria for the specified events.

                                                              */ count?: number; @@ -460,8 +491,8 @@ export enum EventTypeCategory { } /** - *

                                                              The values to use to filter results from the DescribeEvents and - * DescribeEventAggregates operations.

                                                              + *

                                                              The values to use to filter results from the DescribeEvents and + * DescribeEventAggregates operations.

                                                              */ export interface EventFilter { /** @@ -471,13 +502,8 @@ export interface EventFilter { eventTypeCodes?: string[]; /** - *

                                                              A list of dates and times that the event ended.

                                                              - */ - endTimes?: DateTimeRange[]; - - /** - *

                                                              A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or - * EBS volumes (vol-426ab23e).

                                                              + *

                                                              A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS + * volumes (vol-426ab23e).

                                                              */ entityValues?: string[]; @@ -487,51 +513,59 @@ export interface EventFilter { startTimes?: DateTimeRange[]; /** - *

                                                              The AWS services associated with the event. For example, EC2, RDS.

                                                              + *

                                                              A list of entity ARNs (unique identifiers).

                                                              */ - services?: string[]; + entityArns?: string[]; /** - *

                                                              A list of event status codes.

                                                              + *

                                                              A list of dates and times that the event was last updated.

                                                              */ - eventStatusCodes?: (EventStatusCode | string)[]; + lastUpdatedTimes?: DateTimeRange[]; /** - *

                                                              A list of AWS regions.

                                                              + *

                                                              A list of event type category codes (issue, scheduledChange, + * or accountNotification).

                                                              */ - regions?: string[]; + eventTypeCategories?: (EventTypeCategory | string)[]; /** - *

                                                              A map of entity tags attached to the affected entity.

                                                              + *

                                                              A list of dates and times that the event ended.

                                                              */ - tags?: { [key: string]: string }[]; + endTimes?: DateTimeRange[]; /** - *

                                                              A list of AWS availability zones.

                                                              + *

                                                              A list of event ARNs (unique identifiers). For example: "arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456", "arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101" + *

                                                              */ - availabilityZones?: string[]; + eventArns?: string[]; /** - *

                                                              A list of dates and times that the event was last updated.

                                                              + *

                                                              A list of event status codes.

                                                              */ - lastUpdatedTimes?: DateTimeRange[]; + eventStatusCodes?: (EventStatusCode | string)[]; /** - *

                                                              A list of event ARNs (unique identifiers). For example: "arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456", "arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101" - *

                                                              + *

                                                              A list of AWS regions.

                                                              */ - eventArns?: string[]; + regions?: string[]; /** - *

                                                              A list of entity ARNs (unique identifiers).

                                                              + *

                                                              A map of entity tags attached to the affected entity.

                                                              + * + *

                                                              Currently, the tags property isn't supported.

                                                              + *
                                                              */ - entityArns?: string[]; + tags?: { [key: string]: string }[]; /** - *

                                                              A list of event type category codes (issue, - * scheduledChange, or accountNotification).

                                                              + *

                                                              A list of AWS availability zones.

                                                              */ - eventTypeCategories?: (EventTypeCategory | string)[]; + availabilityZones?: string[]; + + /** + *

                                                              The AWS services associated with the event. For example, EC2, RDS.

                                                              + */ + services?: string[]; } export namespace EventFilter { @@ -572,7 +606,7 @@ export namespace DescribeEventAggregatesRequest { } /** - *

                                                              The number of events of each issue type. Returned by the DescribeEventAggregates operation.

                                                              + *

                                                              The number of events of each issue type. Returned by the DescribeEventAggregates operation.

                                                              */ export interface EventAggregate { /** @@ -602,8 +636,7 @@ export interface DescribeEventAggregatesResponse { nextToken?: string; /** - *

                                                              The number of events in each category that meet the optional filter - * criteria.

                                                              + *

                                                              The number of events in each category that meet the optional filter criteria.

                                                              */ eventAggregates?: EventAggregate[]; } @@ -634,7 +667,7 @@ export namespace DescribeEventDetailsRequest { } /** - *

                                                              Error information returned when a DescribeEventDetails operation + *

                                                              Error information returned when a DescribeEventDetails operation * cannot find a specified event.

                                                              */ export interface EventDetailsErrorItem { @@ -643,17 +676,17 @@ export interface EventDetailsErrorItem { */ errorMessage?: string; + /** + *

                                                              The name of the error.

                                                              + */ + errorName?: string; + /** *

                                                              The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 *

                                                              */ eventArn?: string; - - /** - *

                                                              The name of the error.

                                                              - */ - errorName?: string; } export namespace EventDetailsErrorItem { @@ -664,13 +697,27 @@ export namespace EventDetailsErrorItem { /** *

                                                              Summary information about an AWS Health event.

                                                              + *

                                                              AWS Health events can be public or account-specific:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * Public events might be service events that are not specific + * to an AWS account. For example, if there is an issue with an AWS Region, AWS Health + * provides information about the event, even if you don't use services or resources in + * that Region.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * Account-specific events are specific to either your AWS + * account or an account in your organization. For example, if there's an issue with + * Amazon Elastic Compute Cloud in a Region that you use, AWS Health provides information about the event + * and the affected resources in the account.

                                                                + *
                                                              • + *
                                                              + *

                                                              You can determine if an event is public or account-specific by using the + * eventScopeCode parameter. For more information, see eventScopeCode.

                                                              */ export interface Event { - /** - *

                                                              The date and time that the event ended.

                                                              - */ - endTime?: Date; - /** *

                                                              The AWS service that is affected by the event. For example, EC2, RDS.

                                                              */ @@ -682,20 +729,48 @@ export interface Event { */ eventTypeCategory?: EventTypeCategory | string; + /** + *

                                                              The AWS region name of the event.

                                                              + */ + region?: string; + + /** + *

                                                              The date and time that the event ended.

                                                              + */ + endTime?: Date; + /** *

                                                              The most recent date and time that the event was updated.

                                                              */ lastUpdatedTime?: Date; /** - *

                                                              The AWS region name of the event.

                                                              + *

                                                              The date and time that the event began.

                                                              */ - region?: string; + startTime?: Date; /** - *

                                                              The AWS Availability Zone of the event. For example, us-east-1a.

                                                              + *

                                                              This parameter specifies if the AWS Health event is a public AWS service event or an account-specific event.

                                                              + *
                                                                + *
                                                              • + *

                                                                If the eventScopeCode value is PUBLIC, then the + * affectedAccounts value is always empty.

                                                                + *
                                                              • + *
                                                              • + *

                                                                If the eventScopeCode value is ACCOUNT_SPECIFIC, then + * the affectedAccounts value lists the affected AWS accounts in your + * organization. For example, if an event affects a service such as Amazon Elastic Compute Cloud and you + * have AWS accounts that use that service, those account IDs appear in the + * response.

                                                                + *
                                                              • + *
                                                              • + *

                                                                If the eventScopeCode value is NONE, then the + * eventArn that you specified in the request is invalid or doesn't + * exist.

                                                                + *
                                                              • + *
                                                              */ - availabilityZone?: string; + eventScopeCode?: EventScopeCode | string; /** *

                                                              The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID @@ -711,17 +786,15 @@ export interface Event { statusCode?: EventStatusCode | string; /** - *

                                                              The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION - * ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

                                                              + *

                                                              The AWS Availability Zone of the event. For example, us-east-1a.

                                                              */ - eventTypeCode?: string; + availabilityZone?: string; /** - *

                                                              The date and time that the event began.

                                                              + *

                                                              The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION + * ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

                                                              */ - startTime?: Date; - - eventScopeCode?: EventScopeCode | string; + eventTypeCode?: string; } export namespace Event { @@ -731,8 +804,7 @@ export namespace Event { } /** - *

                                                              The detailed description of the event. Included in the information returned by the - * DescribeEventDetails operation.

                                                              + *

                                                              The detailed description of the event. Included in the information returned by the DescribeEventDetails operation.

                                                              */ export interface EventDescription { /** @@ -748,16 +820,11 @@ export namespace EventDescription { } /** - *

                                                              Detailed information about an event. A combination of an Event - * object, an EventDescription object, and additional metadata about the - * event. Returned by the DescribeEventDetails operation.

                                                              + *

                                                              Detailed information about an event. A combination of an Event object, + * an EventDescription object, and additional metadata about the event. + * Returned by the DescribeEventDetails operation.

                                                              */ export interface EventDetails { - /** - *

                                                              The most recent description of the event.

                                                              - */ - eventDescription?: EventDescription; - /** *

                                                              Summary information about the event.

                                                              */ @@ -767,6 +834,11 @@ export interface EventDetails { *

                                                              Additional metadata about the event.

                                                              */ eventMetadata?: { [key: string]: string }; + + /** + *

                                                              The most recent description of the event.

                                                              + */ + eventDescription?: EventDescription; } export namespace EventDetails { @@ -813,7 +885,7 @@ export namespace DescribeEventDetailsForOrganizationRequest { } /** - *

                                                              Error information returned when a DescribeEventDetailsForOrganization + *

                                                              Error information returned when a DescribeEventDetailsForOrganization * operation cannot find a specified event.

                                                              */ export interface OrganizationEventDetailsErrorItem { @@ -830,7 +902,7 @@ export interface OrganizationEventDetailsErrorItem { eventArn?: string; /** - *

                                                              Error information returned when a DescribeEventDetailsForOrganization + *

                                                              Error information returned when a DescribeEventDetailsForOrganization * operation cannot find a specified event.

                                                              */ awsAccountId?: string; @@ -848,31 +920,49 @@ export namespace OrganizationEventDetailsErrorItem { } /** - *

                                                              Detailed information about an event. A combination of an Event object, - * an EventDescription object, and additional metadata about the event. - * Returned by the DescribeEventDetailsForOrganization operation.

                                                              + *

                                                              Detailed information about an event. A combination of an Event object, + * an EventDescription object, and additional metadata about the event. + * Returned by the DescribeEventDetailsForOrganization operation.

                                                              */ export interface OrganizationEventDetails { /** - *

                                                              The 12-digit AWS account numbers that contains the affected entities.

                                                              + *

                                                              Additional metadata about the event.

                                                              */ - awsAccountId?: string; + eventMetadata?: { [key: string]: string }; /** - *

                                                              Additional metadata about the event.

                                                              + *

                                                              The detailed description of the event. Included in the information returned by the DescribeEventDetails operation.

                                                              */ - eventMetadata?: { [key: string]: string }; + eventDescription?: EventDescription; /** *

                                                              Summary information about an AWS Health event.

                                                              + *

                                                              AWS Health events can be public or account-specific:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * Public events might be service events that are not specific + * to an AWS account. For example, if there is an issue with an AWS Region, AWS Health + * provides information about the event, even if you don't use services or resources in + * that Region.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * Account-specific events are specific to either your AWS + * account or an account in your organization. For example, if there's an issue with + * Amazon Elastic Compute Cloud in a Region that you use, AWS Health provides information about the event + * and the affected resources in the account.

                                                                + *
                                                              • + *
                                                              + *

                                                              You can determine if an event is public or account-specific by using the + * eventScopeCode parameter. For more information, see eventScopeCode.

                                                              */ event?: Event; /** - *

                                                              The detailed description of the event. Included in the information returned by the - * DescribeEventDetails operation.

                                                              + *

                                                              The 12-digit AWS account numbers that contains the affected entities.

                                                              */ - eventDescription?: EventDescription; + awsAccountId?: string; } export namespace OrganizationEventDetails { @@ -908,6 +998,11 @@ export interface DescribeEventsRequest { */ nextToken?: string; + /** + *

                                                              Values to narrow the results returned.

                                                              + */ + filter?: EventFilter; + /** *

                                                              The maximum number of items to return in one batch, between 10 and 100, inclusive.

                                                              */ @@ -917,11 +1012,6 @@ export interface DescribeEventsRequest { *

                                                              The locale (language) to return information in. English (en) is the default and the only supported value at this time.

                                                              */ locale?: string; - - /** - *

                                                              Values to narrow the results returned.

                                                              - */ - filter?: EventFilter; } export namespace DescribeEventsRequest { @@ -952,21 +1042,14 @@ export namespace DescribeEventsResponse { } /** - *

                                                              The values to filter results from the DescribeEventsForOrganization + *

                                                              The values to filter results from the DescribeEventsForOrganization * operation.

                                                              */ export interface OrganizationEventFilter { /** - *

                                                              A range of dates and times that is used by the EventFilter and - * EntityFilter objects. If from is set and to - * is set: match items where the timestamp (startTime, endTime, or - * lastUpdatedTime) is between from and to - * inclusive. If from is set and to is not set: match items where - * the timestamp value is equal to or after from. If from is not set - * and to is set: match items where the timestamp value is equal to or before - * to.

                                                              + *

                                                              A list of AWS Regions.

                                                              */ - endTime?: DateTimeRange; + regions?: string[]; /** *

                                                              A list of 12-digit AWS account numbers that contains the affected entities.

                                                              @@ -979,9 +1062,16 @@ export interface OrganizationEventFilter { eventStatusCodes?: (EventStatusCode | string)[]; /** - *

                                                              The AWS services associated with the event. For example, EC2, RDS.

                                                              + *

                                                              A range of dates and times that is used by the EventFilter and + * EntityFilter objects. If from is set and to is + * set: match items where the timestamp (startTime, endTime, or + * lastUpdatedTime) is between from and to + * inclusive. If from is set and to is not set: match items where + * the timestamp value is equal to or after from. If from is not set + * and to is set: match items where the timestamp value is equal to or before + * to.

                                                              */ - services?: string[]; + endTime?: DateTimeRange; /** *

                                                              A list of unique identifiers for event types. For example, "AWS_EC2_SYSTEM_MAINTENANCE_EVENT","AWS_RDS_MAINTENANCE_SCHEDULED". @@ -990,16 +1080,21 @@ export interface OrganizationEventFilter { eventTypeCodes?: string[]; /** - *

                                                              A range of dates and times that is used by the EventFilter and - * EntityFilter objects. If from is set and to - * is set: match items where the timestamp (startTime, endTime, or + *

                                                              A list of event type category codes (issue, scheduledChange, or accountNotification).

                                                              + */ + eventTypeCategories?: (EventTypeCategory | string)[]; + + /** + *

                                                              A range of dates and times that is used by the EventFilter and + * EntityFilter objects. If from is set and to is + * set: match items where the timestamp (startTime, endTime, or * lastUpdatedTime) is between from and to * inclusive. If from is set and to is not set: match items where * the timestamp value is equal to or after from. If from is not set * and to is set: match items where the timestamp value is equal to or before * to.

                                                              */ - startTime?: DateTimeRange; + lastUpdatedTime?: DateTimeRange; /** *

                                                              A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS volumes (vol-426ab23e).

                                                              @@ -1007,31 +1102,26 @@ export interface OrganizationEventFilter { entityValues?: string[]; /** - *

                                                              REPLACEME

                                                              - */ - eventTypeCategories?: (EventTypeCategory | string)[]; - - /** - *

                                                              A list of AWS Regions.

                                                              - */ - regions?: string[]; - - /** - *

                                                              REPLACEME

                                                              + *

                                                              The AWS services associated with the event. For example, EC2, RDS.

                                                              */ - entityArns?: string[]; + services?: string[]; /** - *

                                                              A range of dates and times that is used by the EventFilter and - * EntityFilter objects. If from is set and to - * is set: match items where the timestamp (startTime, endTime, or + *

                                                              A range of dates and times that is used by the EventFilter and + * EntityFilter objects. If from is set and to is + * set: match items where the timestamp (startTime, endTime, or * lastUpdatedTime) is between from and to * inclusive. If from is set and to is not set: match items where * the timestamp value is equal to or after from. If from is not set * and to is set: match items where the timestamp value is equal to or before * to.

                                                              */ - lastUpdatedTime?: DateTimeRange; + startTime?: DateTimeRange; + + /** + *

                                                              A list of entity ARNs (unique identifiers).

                                                              + */ + entityArns?: string[]; } export namespace OrganizationEventFilter { @@ -1072,24 +1162,19 @@ export namespace DescribeEventsForOrganizationRequest { } /** - *

                                                              Summary information about an event, returned by the DescribeEventsForOrganization operation.

                                                              + *

                                                              Summary information about an event, returned by the DescribeEventsForOrganization operation.

                                                              */ export interface OrganizationEvent { - /** - *

                                                              The category of the event type.

                                                              - */ - eventTypeCategory?: EventTypeCategory | string; - /** *

                                                              The AWS service that is affected by the event. For example, EC2, RDS.

                                                              */ service?: string; - eventScopeCode?: EventScopeCode | string; /** - *

                                                              The date and time that the event began.

                                                              + *

                                                              The most recent status of the event. Possible values are open, + * closed, and upcoming.

                                                              */ - startTime?: Date; + statusCode?: EventStatusCode | string; /** *

                                                              The unique identifier for the event type. The format is @@ -1098,6 +1183,21 @@ export interface OrganizationEvent { */ eventTypeCode?: string; + /** + *

                                                              The category of the event type.

                                                              + */ + eventTypeCategory?: EventTypeCategory | string; + + /** + *

                                                              The date and time that the event began.

                                                              + */ + startTime?: Date; + + /** + *

                                                              The most recent date and time that the event was updated.

                                                              + */ + lastUpdatedTime?: Date; + /** *

                                                              The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID * . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 @@ -1111,15 +1211,27 @@ export interface OrganizationEvent { region?: string; /** - *

                                                              The most recent status of the event. Possible values are open, - * closed, and upcoming.

                                                              + *

                                                              This parameter specifies if the AWS Health event is a public AWS service event or an account-specific event.

                                                              + *
                                                                + *
                                                              • + *

                                                                If the eventScopeCode value is PUBLIC, then the + * affectedAccounts value is always empty.

                                                                + *
                                                              • + *
                                                              • + *

                                                                If the eventScopeCode value is ACCOUNT_SPECIFIC, then + * the affectedAccounts value lists the affected AWS accounts in your + * organization. For example, if an event affects a service such as Amazon Elastic Compute Cloud and you + * have AWS accounts that use that service, those account IDs appear in the + * response.

                                                                + *
                                                              • + *
                                                              • + *

                                                                If the eventScopeCode value is NONE, then the + * eventArn that you specified in the request is invalid or doesn't + * exist.

                                                                + *
                                                              • + *
                                                              */ - statusCode?: EventStatusCode | string; - - /** - *

                                                              The most recent date and time that the event was updated.

                                                              - */ - lastUpdatedTime?: Date; + eventScopeCode?: EventScopeCode | string; /** *

                                                              The date and time that the event ended.

                                                              @@ -1134,6 +1246,11 @@ export namespace OrganizationEvent { } export interface DescribeEventsForOrganizationResponse { + /** + *

                                                              The events that match the specified filter criteria.

                                                              + */ + events?: OrganizationEvent[]; + /** *

                                                              If the results of a search are large, only a portion of the * results are returned, and a nextToken pagination token is returned in the response. To @@ -1141,11 +1258,6 @@ export interface DescribeEventsForOrganizationResponse { * When all results have been returned, the response does not contain a pagination token value.

                                                              */ nextToken?: string; - - /** - *

                                                              The events that match the specified filter criteria.

                                                              - */ - events?: OrganizationEvent[]; } export namespace DescribeEventsForOrganizationResponse { @@ -1155,25 +1267,25 @@ export namespace DescribeEventsForOrganizationResponse { } /** - *

                                                              The values to use to filter results from the DescribeEventTypes + *

                                                              The values to use to filter results from the DescribeEventTypes * operation.

                                                              */ export interface EventTypeFilter { /** - *

                                                              A list of event type category codes (issue, - * scheduledChange, or accountNotification).

                                                              + *

                                                              A list of event type category codes (issue, scheduledChange, + * or accountNotification).

                                                              */ eventTypeCategories?: (EventTypeCategory | string)[]; /** - *

                                                              A list of event type codes.

                                                              + *

                                                              The AWS services associated with the event. For example, EC2, RDS.

                                                              */ - eventTypeCodes?: string[]; + services?: string[]; /** - *

                                                              The AWS services associated with the event. For example, EC2, RDS.

                                                              + *

                                                              A list of event type codes.

                                                              */ - services?: string[]; + eventTypeCodes?: string[]; } export namespace EventTypeFilter { @@ -1189,9 +1301,9 @@ export interface DescribeEventTypesRequest { filter?: EventTypeFilter; /** - *

                                                              The locale (language) to return information in. English (en) is the default and the only supported value at this time.

                                                              + *

                                                              The maximum number of items to return in one batch, between 10 and 100, inclusive.

                                                              */ - locale?: string; + maxResults?: number; /** *

                                                              If the results of a search are large, only a portion of the @@ -1202,9 +1314,9 @@ export interface DescribeEventTypesRequest { nextToken?: string; /** - *

                                                              The maximum number of items to return in one batch, between 10 and 100, inclusive.

                                                              + *

                                                              The locale (language) to return information in. English (en) is the default and the only supported value at this time.

                                                              */ - maxResults?: number; + locale?: string; } export namespace DescribeEventTypesRequest { @@ -1214,23 +1326,23 @@ export namespace DescribeEventTypesRequest { } /** - *

                                                              Metadata about a type of event that is reported by AWS Health. Data consists of - * the category (for example, issue), the service (for example, - * EC2), and the event type code (for example, - * AWS_EC2_SYSTEM_MAINTENANCE_EVENT).

                                                              + *

                                                              Metadata about a type of event that is reported by AWS Health. Data consists of the + * category (for example, issue), the service (for example, EC2), + * and the event type code (for example, + * AWS_EC2_SYSTEM_MAINTENANCE_EVENT).

                                                              */ export interface EventType { /** - *

                                                              The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION - * ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

                                                              + *

                                                              A list of event type category codes (issue, scheduledChange, + * or accountNotification).

                                                              */ - code?: string; + category?: EventTypeCategory | string; /** - *

                                                              A list of event type category codes (issue, - * scheduledChange, or accountNotification).

                                                              + *

                                                              The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION + * ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

                                                              */ - category?: EventTypeCategory | string; + code?: string; /** *

                                                              The AWS service that is affected by the event. For example, EC2, RDS.

                                                              @@ -1288,8 +1400,8 @@ export namespace DescribeHealthServiceStatusForOrganizationResponse { /** *

                                                              - * EnableHealthServiceAccessForOrganization is already in progress. Wait - * for the action to complete before trying again. To get the current status, use the DescribeHealthServiceStatusForOrganization operation.

                                                              + * EnableHealthServiceAccessForOrganization is already in progress. Wait + * for the action to complete before trying again. To get the current status, use the DescribeHealthServiceStatusForOrganization operation.

                                                              */ export interface ConcurrentModificationException extends __SmithyException, $MetadataBearer { name: "ConcurrentModificationException"; diff --git a/clients/client-health/pagination/DescribeAffectedAccountsForOrganizationPaginator.ts b/clients/client-health/pagination/DescribeAffectedAccountsForOrganizationPaginator.ts new file mode 100644 index 000000000000..737f6e2befd9 --- /dev/null +++ b/clients/client-health/pagination/DescribeAffectedAccountsForOrganizationPaginator.ts @@ -0,0 +1,51 @@ +import { Health } from "../Health"; +import { HealthClient } from "../HealthClient"; +import { + DescribeAffectedAccountsForOrganizationCommand, + DescribeAffectedAccountsForOrganizationCommandInput, + DescribeAffectedAccountsForOrganizationCommandOutput, +} from "../commands/DescribeAffectedAccountsForOrganizationCommand"; +import { HealthPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: HealthClient, + input: DescribeAffectedAccountsForOrganizationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeAffectedAccountsForOrganizationCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Health, + input: DescribeAffectedAccountsForOrganizationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeAffectedAccountsForOrganization(input, ...args); +}; +export async function* describeAffectedAccountsForOrganizationPaginate( + config: HealthPaginationConfiguration, + input: DescribeAffectedAccountsForOrganizationCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeAffectedAccountsForOrganizationCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Health) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof HealthClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Health | HealthClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-health/pagination/DescribeAffectedEntitiesForOrganizationPaginator.ts b/clients/client-health/pagination/DescribeAffectedEntitiesForOrganizationPaginator.ts new file mode 100644 index 000000000000..5fbe804dd312 --- /dev/null +++ b/clients/client-health/pagination/DescribeAffectedEntitiesForOrganizationPaginator.ts @@ -0,0 +1,51 @@ +import { Health } from "../Health"; +import { HealthClient } from "../HealthClient"; +import { + DescribeAffectedEntitiesForOrganizationCommand, + DescribeAffectedEntitiesForOrganizationCommandInput, + DescribeAffectedEntitiesForOrganizationCommandOutput, +} from "../commands/DescribeAffectedEntitiesForOrganizationCommand"; +import { HealthPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: HealthClient, + input: DescribeAffectedEntitiesForOrganizationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeAffectedEntitiesForOrganizationCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Health, + input: DescribeAffectedEntitiesForOrganizationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeAffectedEntitiesForOrganization(input, ...args); +}; +export async function* describeAffectedEntitiesForOrganizationPaginate( + config: HealthPaginationConfiguration, + input: DescribeAffectedEntitiesForOrganizationCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeAffectedEntitiesForOrganizationCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Health) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof HealthClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Health | HealthClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-health/pagination/DescribeAffectedEntitiesPaginator.ts b/clients/client-health/pagination/DescribeAffectedEntitiesPaginator.ts new file mode 100644 index 000000000000..01f1020679c2 --- /dev/null +++ b/clients/client-health/pagination/DescribeAffectedEntitiesPaginator.ts @@ -0,0 +1,51 @@ +import { Health } from "../Health"; +import { HealthClient } from "../HealthClient"; +import { + DescribeAffectedEntitiesCommand, + DescribeAffectedEntitiesCommandInput, + DescribeAffectedEntitiesCommandOutput, +} from "../commands/DescribeAffectedEntitiesCommand"; +import { HealthPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: HealthClient, + input: DescribeAffectedEntitiesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeAffectedEntitiesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Health, + input: DescribeAffectedEntitiesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeAffectedEntities(input, ...args); +}; +export async function* describeAffectedEntitiesPaginate( + config: HealthPaginationConfiguration, + input: DescribeAffectedEntitiesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeAffectedEntitiesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Health) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof HealthClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Health | HealthClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-health/pagination/DescribeEventAggregatesPaginator.ts b/clients/client-health/pagination/DescribeEventAggregatesPaginator.ts new file mode 100644 index 000000000000..d7bd28b560f1 --- /dev/null +++ b/clients/client-health/pagination/DescribeEventAggregatesPaginator.ts @@ -0,0 +1,51 @@ +import { Health } from "../Health"; +import { HealthClient } from "../HealthClient"; +import { + DescribeEventAggregatesCommand, + DescribeEventAggregatesCommandInput, + DescribeEventAggregatesCommandOutput, +} from "../commands/DescribeEventAggregatesCommand"; +import { HealthPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: HealthClient, + input: DescribeEventAggregatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEventAggregatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Health, + input: DescribeEventAggregatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEventAggregates(input, ...args); +}; +export async function* describeEventAggregatesPaginate( + config: HealthPaginationConfiguration, + input: DescribeEventAggregatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEventAggregatesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Health) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof HealthClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Health | HealthClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-health/pagination/DescribeEventTypesPaginator.ts b/clients/client-health/pagination/DescribeEventTypesPaginator.ts new file mode 100644 index 000000000000..9798264bdec0 --- /dev/null +++ b/clients/client-health/pagination/DescribeEventTypesPaginator.ts @@ -0,0 +1,51 @@ +import { Health } from "../Health"; +import { HealthClient } from "../HealthClient"; +import { + DescribeEventTypesCommand, + DescribeEventTypesCommandInput, + DescribeEventTypesCommandOutput, +} from "../commands/DescribeEventTypesCommand"; +import { HealthPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: HealthClient, + input: DescribeEventTypesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEventTypesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Health, + input: DescribeEventTypesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEventTypes(input, ...args); +}; +export async function* describeEventTypesPaginate( + config: HealthPaginationConfiguration, + input: DescribeEventTypesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEventTypesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Health) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof HealthClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Health | HealthClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-health/pagination/DescribeEventsForOrganizationPaginator.ts b/clients/client-health/pagination/DescribeEventsForOrganizationPaginator.ts new file mode 100644 index 000000000000..2454132f283f --- /dev/null +++ b/clients/client-health/pagination/DescribeEventsForOrganizationPaginator.ts @@ -0,0 +1,51 @@ +import { Health } from "../Health"; +import { HealthClient } from "../HealthClient"; +import { + DescribeEventsForOrganizationCommand, + DescribeEventsForOrganizationCommandInput, + DescribeEventsForOrganizationCommandOutput, +} from "../commands/DescribeEventsForOrganizationCommand"; +import { HealthPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: HealthClient, + input: DescribeEventsForOrganizationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEventsForOrganizationCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Health, + input: DescribeEventsForOrganizationCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEventsForOrganization(input, ...args); +}; +export async function* describeEventsForOrganizationPaginate( + config: HealthPaginationConfiguration, + input: DescribeEventsForOrganizationCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEventsForOrganizationCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Health) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof HealthClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Health | HealthClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-health/pagination/DescribeEventsPaginator.ts b/clients/client-health/pagination/DescribeEventsPaginator.ts new file mode 100644 index 000000000000..ce87954463da --- /dev/null +++ b/clients/client-health/pagination/DescribeEventsPaginator.ts @@ -0,0 +1,51 @@ +import { Health } from "../Health"; +import { HealthClient } from "../HealthClient"; +import { + DescribeEventsCommand, + DescribeEventsCommandInput, + DescribeEventsCommandOutput, +} from "../commands/DescribeEventsCommand"; +import { HealthPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: HealthClient, + input: DescribeEventsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEventsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Health, + input: DescribeEventsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEvents(input, ...args); +}; +export async function* describeEventsPaginate( + config: HealthPaginationConfiguration, + input: DescribeEventsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEventsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Health) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof HealthClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Health | HealthClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-health/pagination/Interfaces.ts b/clients/client-health/pagination/Interfaces.ts new file mode 100644 index 000000000000..06e6e02767ff --- /dev/null +++ b/clients/client-health/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { Health } from "../Health"; +import { HealthClient } from "../HealthClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface HealthPaginationConfiguration extends PaginationConfiguration { + client: Health | HealthClient; +} diff --git a/clients/client-honeycode/models/models_0.ts b/clients/client-honeycode/models/models_0.ts index 582c97a283ca..0c075107321d 100644 --- a/clients/client-honeycode/models/models_0.ts +++ b/clients/client-honeycode/models/models_0.ts @@ -131,16 +131,6 @@ export namespace VariableValue { } export interface GetScreenDataRequest { - /** - *

                                                              - * Variables are optional and are needed only if the screen requires them to render correctly. Variables are - * specified as a map where the key is the name of the variable as defined on the screen. The value is an - * object which currently has only one property, rawValue, which holds the value of the variable to be passed - * to the screen. - *

                                                              - */ - variables?: { [key: string]: VariableValue }; - /** *

                                                              * This parameter is optional. If a nextToken is not specified, the API returns the first page of data. @@ -152,6 +142,16 @@ export interface GetScreenDataRequest { */ nextToken?: string; + /** + *

                                                              + * Variables are optional and are needed only if the screen requires them to render correctly. Variables are + * specified as a map where the key is the name of the variable as defined on the screen. The value is an + * object which currently has only one property, rawValue, which holds the value of the variable to be passed + * to the screen. + *

                                                              + */ + variables?: { [key: string]: VariableValue }; + /** *

                                                              The ID of the app that contains the screem.

                                                              */ @@ -214,6 +214,14 @@ export namespace ResultRow { *

                                                              */ export interface ResultSet { + /** + *

                                                              + * List of rows returned by the request. Each row has a row Id and a list of data cells in that row. The data + * cells will be present in the same order as they are defined in the header. + *

                                                              + */ + rows: ResultRow[] | undefined; + /** *

                                                              * List of headers for all the data cells in the block. The header identifies the name and default format of @@ -230,14 +238,6 @@ export interface ResultSet { *

                                                              */ headers: ColumnMetadata[] | undefined; - - /** - *

                                                              - * List of rows returned by the request. Each row has a row Id and a list of data cells in that row. The data - * cells will be present in the same order as they are defined in the header. - *

                                                              - */ - rows: ResultRow[] | undefined; } export namespace ResultSet { @@ -273,15 +273,6 @@ export interface GetScreenDataResult { export namespace GetScreenDataResult { export const filterSensitiveLog = (obj: GetScreenDataResult): any => ({ ...obj, - ...(obj.results && { - results: Object.entries(obj.results).reduce( - (acc: any, [key, value]: [string, ResultSet]) => ({ - ...acc, - [key]: ResultSet.filterSensitiveLog(value), - }), - {} - ), - }), }); } @@ -379,14 +370,16 @@ export namespace ValidationException { export interface InvokeScreenAutomationRequest { /** - *

                                                              The ID of the automation action to be performed.

                                                              + *

                                                              The ID of the workbook that contains the screen automation.

                                                              */ - screenAutomationId: string | undefined; + workbookId: string | undefined; /** - *

                                                              The ID of the app that contains the screen automation.

                                                              + *

                                                              + * The row ID for the automation if the automation is defined inside a block with source or list. + *

                                                              */ - appId: string | undefined; + rowId?: string; /** *

                                                              @@ -404,9 +397,19 @@ export interface InvokeScreenAutomationRequest { clientRequestToken?: string; /** - *

                                                              The ID of the workbook that contains the screen automation.

                                                              + *

                                                              The ID of the screen that contains the screen automation.

                                                              */ - workbookId: string | undefined; + screenId: string | undefined; + + /** + *

                                                              The ID of the app that contains the screen automation.

                                                              + */ + appId: string | undefined; + + /** + *

                                                              The ID of the automation action to be performed.

                                                              + */ + screenAutomationId: string | undefined; /** *

                                                              @@ -417,18 +420,6 @@ export interface InvokeScreenAutomationRequest { *

                                                              */ variables?: { [key: string]: VariableValue }; - - /** - *

                                                              - * The row ID for the automation if the automation is defined inside a block with source or list. - *

                                                              - */ - rowId?: string; - - /** - *

                                                              The ID of the screen that contains the screen automation.

                                                              - */ - screenId: string | undefined; } export namespace InvokeScreenAutomationRequest { diff --git a/clients/client-honeycode/protocols/Aws_restJson1.ts b/clients/client-honeycode/protocols/Aws_restJson1.ts index d687d27149b9..31f11975c4a1 100644 --- a/clients/client-honeycode/protocols/Aws_restJson1.ts +++ b/clients/client-honeycode/protocols/Aws_restJson1.ts @@ -70,24 +70,6 @@ export const serializeAws_restJson1InvokeScreenAutomationCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/workbooks/{workbookId}/apps/{appId}/screens/{screenId}/automations/{screenAutomationId}"; - if (input.screenAutomationId !== undefined) { - const labelValue: string = input.screenAutomationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: screenAutomationId."); - } - resolvedPath = resolvedPath.replace("{screenAutomationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: screenAutomationId."); - } - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } if (input.workbookId !== undefined) { const labelValue: string = input.workbookId; if (labelValue.length <= 0) { @@ -106,6 +88,24 @@ export const serializeAws_restJson1InvokeScreenAutomationCommand = async ( } else { throw new Error("No value provided for input HTTP label: screenId."); } + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } + if (input.screenAutomationId !== undefined) { + const labelValue: string = input.screenAutomationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: screenAutomationId."); + } + resolvedPath = resolvedPath.replace("{screenAutomationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: screenAutomationId."); + } let body: any; body = JSON.stringify({ ...(input.clientRequestToken !== undefined && { clientRequestToken: input.clientRequestToken }), diff --git a/clients/client-iam/models/models_0.ts b/clients/client-iam/models/models_0.ts index 938f034238c1..85160ca19297 100644 --- a/clients/client-iam/models/models_0.ts +++ b/clients/client-iam/models/models_0.ts @@ -14,18 +14,16 @@ export enum AccessAdvisorUsageGranularityType { */ export interface AccessDetail { /** - *

                                                              The name of the service in which access was attempted.

                                                              - */ - ServiceName: string | undefined; - - /** - *

                                                              The path of the Organizations entity (root, organizational unit, or account) from which an - * authenticated principal last attempted to access the service. AWS does not report - * unauthenticated requests.

                                                              - *

                                                              This field is null if no principals (IAM users, IAM roles, or root users) in the - * reported Organizations entity attempted to access the service within the reporting period.

                                                              + *

                                                              The namespace of the service in which access was attempted.

                                                              + *

                                                              To learn the service namespace of a service, go to Actions, + * Resources, and Condition Keys for AWS Services in the + * IAM User Guide. Choose the name of the service to view details + * for that service. In the first paragraph, find the service prefix. For example, + * (service prefix: a4b). For more information about service namespaces, see + * AWS + * Service Namespaces in the AWS General Reference.

                                                              */ - EntityPath?: string; + ServiceNamespace: string | undefined; /** *

                                                              The number of accounts with authenticated principals (root users, IAM users, and IAM @@ -40,6 +38,20 @@ export interface AccessDetail { */ Region?: string; + /** + *

                                                              The name of the service in which access was attempted.

                                                              + */ + ServiceName: string | undefined; + + /** + *

                                                              The path of the Organizations entity (root, organizational unit, or account) from which an + * authenticated principal last attempted to access the service. AWS does not report + * unauthenticated requests.

                                                              + *

                                                              This field is null if no principals (IAM users, IAM roles, or root users) in the + * reported Organizations entity attempted to access the service within the reporting period.

                                                              + */ + EntityPath?: string; + /** *

                                                              The date and time, in ISO 8601 date-time * format, when an authenticated principal most recently attempted to access the @@ -48,18 +60,6 @@ export interface AccessDetail { * service within the reporting period.

                                                              */ LastAuthenticatedTime?: Date; - - /** - *

                                                              The namespace of the service in which access was attempted.

                                                              - *

                                                              To learn the service namespace of a service, go to Actions, - * Resources, and Condition Keys for AWS Services in the - * IAM User Guide. Choose the name of the service to view details - * for that service. In the first paragraph, find the service prefix. For example, - * (service prefix: a4b). For more information about service namespaces, see - * AWS - * Service Namespaces in the AWS General Reference.

                                                              - */ - ServiceNamespace: string | undefined; } export namespace AccessDetail { @@ -82,15 +82,14 @@ export type StatusType = "Active" | "Inactive"; */ export interface AccessKey { /** - *

                                                              The ID for this access key.

                                                              + *

                                                              The name of the IAM user that the access key is associated with.

                                                              */ - AccessKeyId: string | undefined; + UserName: string | undefined; /** - *

                                                              The status of the access key. Active means that the key is valid for API - * calls, while Inactive means it is not.

                                                              + *

                                                              The date when the access key was created.

                                                              */ - Status: StatusType | string | undefined; + CreateDate?: Date; /** *

                                                              The secret key used to sign requests.

                                                              @@ -98,14 +97,15 @@ export interface AccessKey { SecretAccessKey: string | undefined; /** - *

                                                              The name of the IAM user that the access key is associated with.

                                                              + *

                                                              The ID for this access key.

                                                              */ - UserName: string | undefined; + AccessKeyId: string | undefined; /** - *

                                                              The date when the access key was created.

                                                              + *

                                                              The status of the access key. Active means that the key is valid for API + * calls, while Inactive means it is not.

                                                              */ - CreateDate?: Date; + Status: StatusType | string | undefined; } export namespace AccessKey { @@ -122,22 +122,24 @@ export namespace AccessKey { */ export interface AccessKeyLastUsed { /** - *

                                                              The name of the AWS service with which this access key was most recently used. The value - * of this field is "N/A" in the following situations:

                                                              + *

                                                              The AWS Region where this access key was most recently used. The value for this field is + * "N/A" in the following situations:

                                                              *
                                                                *
                                                              • *

                                                                The user does not have an access key.

                                                                *
                                                              • *
                                                              • - *

                                                                An access key exists but has not been used since IAM started tracking this + *

                                                                An access key exists but has not been used since IAM began tracking this * information.

                                                                *
                                                              • *
                                                              • *

                                                                There is no sign-in data associated with the user.

                                                                *
                                                              • *
                                                              + *

                                                              For more information about AWS Regions, see Regions and Endpoints in the Amazon Web Services + * General Reference.

                                                              */ - ServiceName: string | undefined; + Region: string | undefined; /** *

                                                              The date and time, in ISO 8601 date-time @@ -159,24 +161,22 @@ export interface AccessKeyLastUsed { LastUsedDate: Date | undefined; /** - *

                                                              The AWS Region where this access key was most recently used. The value for this field is - * "N/A" in the following situations:

                                                              + *

                                                              The name of the AWS service with which this access key was most recently used. The value + * of this field is "N/A" in the following situations:

                                                              *
                                                                *
                                                              • *

                                                                The user does not have an access key.

                                                                *
                                                              • *
                                                              • - *

                                                                An access key exists but has not been used since IAM began tracking this + *

                                                                An access key exists but has not been used since IAM started tracking this * information.

                                                                *
                                                              • *
                                                              • *

                                                                There is no sign-in data associated with the user.

                                                                *
                                                              • *
                                                              - *

                                                              For more information about AWS Regions, see Regions and Endpoints in the Amazon Web Services - * General Reference.

                                                              */ - Region: string | undefined; + ServiceName: string | undefined; } export namespace AccessKeyLastUsed { @@ -192,14 +192,14 @@ export namespace AccessKeyLastUsed { */ export interface AccessKeyMetadata { /** - *

                                                              The ID for this access key.

                                                              + *

                                                              The name of the IAM user that the key is associated with.

                                                              */ - AccessKeyId?: string; + UserName?: string; /** - *

                                                              The name of the IAM user that the key is associated with.

                                                              + *

                                                              The date when the access key was created.

                                                              */ - UserName?: string; + CreateDate?: Date; /** *

                                                              The status of the access key. Active means that the key is valid for API @@ -208,9 +208,9 @@ export interface AccessKeyMetadata { Status?: StatusType | string; /** - *

                                                              The date when the access key was created.

                                                              + *

                                                              The ID for this access key.

                                                              */ - CreateDate?: Date; + AccessKeyId?: string; } export namespace AccessKeyMetadata { @@ -220,17 +220,17 @@ export namespace AccessKeyMetadata { } export interface AddClientIDToOpenIDConnectProviderRequest { - /** - *

                                                              The client ID (also known as audience) to add to the IAM OpenID Connect provider - * resource.

                                                              - */ - ClientID: string | undefined; - /** *

                                                              The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider resource to * add the client ID to. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

                                                              */ OpenIDConnectProviderArn: string | undefined; + + /** + *

                                                              The client ID (also known as audience) to add to the IAM OpenID Connect provider + * resource.

                                                              + */ + ClientID: string | undefined; } export namespace AddClientIDToOpenIDConnectProviderRequest { @@ -305,18 +305,18 @@ export namespace ServiceFailureException { export interface AddRoleToInstanceProfileRequest { /** - *

                                                              The name of the role to add.

                                                              + *

                                                              The name of the instance profile to update.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ - RoleName: string | undefined; + InstanceProfileName: string | undefined; /** - *

                                                              The name of the instance profile to update.

                                                              + *

                                                              The name of the role to add.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ - InstanceProfileName: string | undefined; + RoleName: string | undefined; } export namespace AddRoleToInstanceProfileRequest { @@ -361,18 +361,18 @@ export namespace UnmodifiableEntityException { export interface AddUserToGroupRequest { /** - *

                                                              The name of the user to add.

                                                              + *

                                                              The name of the group to update.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ - UserName: string | undefined; + GroupName: string | undefined; /** - *

                                                              The name of the group to update.

                                                              + *

                                                              The name of the user to add.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ - GroupName: string | undefined; + UserName: string | undefined; } export namespace AddUserToGroupRequest { @@ -395,17 +395,17 @@ export enum PermissionsBoundaryAttachmentType { * Identities in the IAM User Guide.

                                                              */ export interface AttachedPermissionsBoundary { - /** - *

                                                              The ARN of the policy used to set the permissions boundary for the user or role.

                                                              - */ - PermissionsBoundaryArn?: string; - /** *

                                                              The permissions boundary usage type that indicates what type of IAM resource is used * as the permissions boundary for an entity. This data type can only have a value of * Policy.

                                                              */ PermissionsBoundaryType?: PermissionsBoundaryAttachmentType | string; + + /** + *

                                                              The ARN of the policy used to set the permissions boundary for the user or role.

                                                              + */ + PermissionsBoundaryArn?: string; } export namespace AttachedPermissionsBoundary { @@ -422,17 +422,17 @@ export namespace AttachedPermissionsBoundary { * Policies in the IAM User Guide.

                                                              */ export interface AttachedPolicy { - /** - *

                                                              The friendly name of the attached policy.

                                                              - */ - PolicyName?: string; - /** *

                                                              The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                              *

                                                              For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS * Service Namespaces in the AWS General Reference.

                                                              */ PolicyArn?: string; + + /** + *

                                                              The friendly name of the attached policy.

                                                              + */ + PolicyName?: string; } export namespace AttachedPolicy { @@ -442,19 +442,19 @@ export namespace AttachedPolicy { } export interface AttachGroupPolicyRequest { - /** - *

                                                              The Amazon Resource Name (ARN) of the IAM policy you want to attach.

                                                              - *

                                                              For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service - * Namespaces in the AWS General Reference.

                                                              - */ - PolicyArn: string | undefined; - /** *

                                                              The name (friendly name, not ARN) of the group to attach the policy to.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ GroupName: string | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) of the IAM policy you want to attach.

                                                              + *

                                                              For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service + * Namespaces in the AWS General Reference.

                                                              + */ + PolicyArn: string | undefined; } export namespace AttachGroupPolicyRequest { @@ -524,11 +524,6 @@ export namespace AttachUserPolicyRequest { } export interface ChangePasswordRequest { - /** - *

                                                              The IAM user's current password.

                                                              - */ - OldPassword: string | undefined; - /** *

                                                              The new password. The new password must conform to the AWS account's password policy, * if one exists.

                                                              @@ -541,13 +536,18 @@ export interface ChangePasswordRequest { * special meaning within that tool.

                                                              */ NewPassword: string | undefined; + + /** + *

                                                              The IAM user's current password.

                                                              + */ + OldPassword: string | undefined; } export namespace ChangePasswordRequest { export const filterSensitiveLog = (obj: ChangePasswordRequest): any => ({ ...obj, - ...(obj.OldPassword && { OldPassword: SENSITIVE_STRING }), ...(obj.NewPassword && { NewPassword: SENSITIVE_STRING }), + ...(obj.OldPassword && { OldPassword: SENSITIVE_STRING }), }); } @@ -651,14 +651,6 @@ export namespace CreateAccountAliasRequest { } export interface CreateGroupRequest { - /** - *

                                                              The name of the group to create. Do not include the path in this value.

                                                              - *

                                                              IAM user, group, role, and policy names must be unique within the account. Names are - * not distinguished by case. For example, you cannot create resources named both "MyResource" - * and "myresource".

                                                              - */ - GroupName: string | undefined; - /** *

                                                              The path to the group. For more information about paths, see IAM * Identifiers in the IAM User Guide.

                                                              @@ -669,6 +661,14 @@ export interface CreateGroupRequest { * most punctuation characters, digits, and upper and lowercased letters.

                                                              */ Path?: string; + + /** + *

                                                              The name of the group to create. Do not include the path in this value.

                                                              + *

                                                              IAM user, group, role, and policy names must be unique within the account. Names are + * not distinguished by case. For example, you cannot create resources named both "MyResource" + * and "myresource".

                                                              + */ + GroupName: string | undefined; } export namespace CreateGroupRequest { @@ -700,17 +700,11 @@ export namespace CreateGroupRequest { */ export interface Group { /** - *

                                                              The date and time, in ISO 8601 date-time - * format, when the group was created.

                                                              - */ - CreateDate: Date | undefined; - - /** - *

                                                              The stable and unique string identifying the group. For more information about IDs, see - * IAM - * Identifiers in the IAM User Guide.

                                                              + *

                                                              The Amazon Resource Name (ARN) specifying the group. For more information about ARNs + * and how to use them in policies, see IAM Identifiers in the + * IAM User Guide.

                                                              */ - GroupId: string | undefined; + Arn: string | undefined; /** *

                                                              The friendly name that identifies the group.

                                                              @@ -718,17 +712,23 @@ export interface Group { GroupName: string | undefined; /** - *

                                                              The Amazon Resource Name (ARN) specifying the group. For more information about ARNs - * and how to use them in policies, see IAM Identifiers in the + *

                                                              The path to the group. For more information about paths, see IAM Identifiers in the * IAM User Guide.

                                                              */ - Arn: string | undefined; + Path: string | undefined; /** - *

                                                              The path to the group. For more information about paths, see IAM Identifiers in the - * IAM User Guide.

                                                              + *

                                                              The stable and unique string identifying the group. For more information about IDs, see + * IAM + * Identifiers in the IAM User Guide.

                                                              */ - Path: string | undefined; + GroupId: string | undefined; + + /** + *

                                                              The date and time, in ISO 8601 date-time + * format, when the group was created.

                                                              + */ + CreateDate: Date | undefined; } export namespace Group { @@ -754,13 +754,6 @@ export namespace CreateGroupResponse { } export interface CreateInstanceProfileRequest { - /** - *

                                                              The name of the instance profile to create.

                                                              - *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              - */ - InstanceProfileName: string | undefined; - /** *

                                                              The path to the instance profile. For more information about paths, see IAM * Identifiers in the IAM User Guide.

                                                              @@ -771,6 +764,13 @@ export interface CreateInstanceProfileRequest { * most punctuation characters, digits, and upper and lowercased letters.

                                                              */ Path?: string; + + /** + *

                                                              The name of the instance profile to create.

                                                              + *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              + */ + InstanceProfileName: string | undefined; } export namespace CreateInstanceProfileRequest { @@ -790,11 +790,6 @@ export namespace CreateInstanceProfileRequest { * GetAccountAuthorizationDetails operations.

                                                              */ export interface RoleLastUsed { - /** - *

                                                              The name of the AWS Region in which the role was last used.

                                                              - */ - Region?: string; - /** *

                                                              The date and time, in ISO 8601 date-time * format that the role was last used.

                                                              @@ -803,6 +798,11 @@ export interface RoleLastUsed { *

                                                              */ LastUsedDate?: Date; + + /** + *

                                                              The name of the AWS Region in which the role was last used.

                                                              + */ + Region?: string; } export namespace RoleLastUsed { @@ -817,12 +817,6 @@ export namespace RoleLastUsed { * IAM User Guide.

                                                              */ export interface Tag { - /** - *

                                                              The key name that can be used to look up or retrieve the associated value. For example, - * Department or Cost Center are common choices.

                                                              - */ - Key: string | undefined; - /** *

                                                              The value associated with this tag. For example, tags with a key name of * Department could have values such as Human Resources, @@ -837,6 +831,12 @@ export interface Tag { * */ Value: string | undefined; + + /** + *

                                                              The key name that can be used to look up or retrieve the associated value. For example, + * Department or Cost Center are common choices.

                                                              + */ + Key: string | undefined; } export namespace Tag { @@ -851,44 +851,36 @@ export namespace Tag { */ export interface Role { /** - *

                                                              The date and time, in ISO 8601 date-time - * format, when the role was created.

                                                              - */ - CreateDate: Date | undefined; - - /** - *

                                                              A list of tags that are attached to the specified role. For more information about - * tagging, see Tagging IAM - * Identities in the IAM User Guide.

                                                              + *

                                                              The ARN of the policy used to set the permissions boundary for the role.

                                                              + *

                                                              For more information about permissions boundaries, see Permissions Boundaries for IAM + * Identities in the IAM User Guide.

                                                              */ - Tags?: Tag[]; + PermissionsBoundary?: AttachedPermissionsBoundary; /** - *

                                                              The policy that grants an entity permission to assume the role.

                                                              + *

                                                              A description of the role that you provide.

                                                              */ - AssumeRolePolicyDocument?: string; + Description?: string; /** - *

                                                              Contains information about the last time that an IAM role was used. This includes the - * date and time and the Region in which the role was last used. Activity is only reported for - * the trailing 400 days. This period can be shorter if your Region began supporting these - * features within the last year. The role might have been used more than 400 days ago. For - * more information, see Regions Where Data Is Tracked in the IAM User - * Guide.

                                                              + *

                                                              The friendly name that identifies the role.

                                                              */ - RoleLastUsed?: RoleLastUsed; + RoleName: string | undefined; /** - *

                                                              The friendly name that identifies the role.

                                                              + *

                                                              The maximum session duration (in seconds) for the specified role. Anyone who uses the + * AWS CLI, or API to assume the role can specify the duration using the optional + * DurationSeconds API parameter or duration-seconds CLI + * parameter.

                                                              */ - RoleName: string | undefined; + MaxSessionDuration?: number; /** - *

                                                              The ARN of the policy used to set the permissions boundary for the role.

                                                              - *

                                                              For more information about permissions boundaries, see Permissions Boundaries for IAM - * Identities in the IAM User Guide.

                                                              + *

                                                              The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and + * how to use them in policies, see IAM Identifiers in the + * IAM User Guide guide.

                                                              */ - PermissionsBoundary?: AttachedPermissionsBoundary; + Arn: string | undefined; /** *

                                                              The path to the role. For more information about paths, see IAM Identifiers in the @@ -897,16 +889,9 @@ export interface Role { Path: string | undefined; /** - *

                                                              A description of the role that you provide.

                                                              - */ - Description?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and - * how to use them in policies, see IAM Identifiers in the - * IAM User Guide guide.

                                                              + *

                                                              The policy that grants an entity permission to assume the role.

                                                              */ - Arn: string | undefined; + AssumeRolePolicyDocument?: string; /** *

                                                              The stable and unique string identifying the role. For more information about IDs, see @@ -916,12 +901,27 @@ export interface Role { RoleId: string | undefined; /** - *

                                                              The maximum session duration (in seconds) for the specified role. Anyone who uses the - * AWS CLI, or API to assume the role can specify the duration using the optional - * DurationSeconds API parameter or duration-seconds CLI - * parameter.

                                                              + *

                                                              A list of tags that are attached to the specified role. For more information about + * tagging, see Tagging IAM + * Identities in the IAM User Guide.

                                                              */ - MaxSessionDuration?: number; + Tags?: Tag[]; + + /** + *

                                                              Contains information about the last time that an IAM role was used. This includes the + * date and time and the Region in which the role was last used. Activity is only reported for + * the trailing 400 days. This period can be shorter if your Region began supporting these + * features within the last year. The role might have been used more than 400 days ago. For + * more information, see Regions Where Data Is Tracked in the IAM User + * Guide.

                                                              + */ + RoleLastUsed?: RoleLastUsed; + + /** + *

                                                              The date and time, in ISO 8601 date-time + * format, when the role was created.

                                                              + */ + CreateDate: Date | undefined; } export namespace Role { @@ -964,16 +964,20 @@ export interface InstanceProfile { */ Arn: string | undefined; + /** + *

                                                              The date when the instance profile was created.

                                                              + */ + CreateDate: Date | undefined; + /** *

                                                              The name identifying the instance profile.

                                                              */ InstanceProfileName: string | undefined; /** - *

                                                              The path to the instance profile. For more information about paths, see IAM - * Identifiers in the IAM User Guide.

                                                              + *

                                                              The role associated with the instance profile.

                                                              */ - Path: string | undefined; + Roles: Role[] | undefined; /** *

                                                              The stable and unique string identifying the instance profile. For more information @@ -982,14 +986,10 @@ export interface InstanceProfile { InstanceProfileId: string | undefined; /** - *

                                                              The date when the instance profile was created.

                                                              - */ - CreateDate: Date | undefined; - - /** - *

                                                              The role associated with the instance profile.

                                                              + *

                                                              The path to the instance profile. For more information about paths, see IAM + * Identifiers in the IAM User Guide.

                                                              */ - Roles: Role[] | undefined; + Path: string | undefined; } export namespace InstanceProfile { @@ -1016,13 +1016,6 @@ export namespace CreateInstanceProfileResponse { } export interface CreateLoginProfileRequest { - /** - *

                                                              The name of the IAM user to create a password for. The user must already exist.

                                                              - *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              - */ - UserName: string | undefined; - /** *

                                                              The new password for the user.

                                                              *

                                                              The regex pattern @@ -1039,6 +1032,13 @@ export interface CreateLoginProfileRequest { *

                                                              Specifies whether the user is required to set a new password on next sign-in.

                                                              */ PasswordResetRequired?: boolean; + + /** + *

                                                              The name of the IAM user to create a password for. The user must already exist.

                                                              + *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              + */ + UserName: string | undefined; } export namespace CreateLoginProfileRequest { @@ -1058,16 +1058,16 @@ export interface LoginProfile { */ CreateDate: Date | undefined; - /** - *

                                                              Specifies whether the user is required to set a new password on next sign-in.

                                                              - */ - PasswordResetRequired?: boolean; - /** *

                                                              The name of the user, which can be used for signing in to the AWS Management * Console.

                                                              */ UserName: string | undefined; + + /** + *

                                                              Specifies whether the user is required to set a new password on next sign-in.

                                                              + */ + PasswordResetRequired?: boolean; } export namespace LoginProfile { @@ -1106,6 +1106,19 @@ export interface CreateOpenIDConnectProviderRequest { */ Url: string | undefined; + /** + *

                                                              A list of client IDs (also known as audiences). When a mobile or web app registers with + * an OpenID Connect provider, they establish a value that identifies the application. (This + * is the value that's sent as the client_id parameter on OAuth requests.)

                                                              + *

                                                              You can register multiple client IDs with the same provider. For example, you might have + * multiple applications that use the same OIDC provider. You cannot register more than 100 + * client IDs with a single IAM OIDC provider.

                                                              + *

                                                              There is no defined format for a client ID. The + * CreateOpenIDConnectProviderRequest operation accepts client IDs up to 255 + * characters long.

                                                              + */ + ClientIDList?: string[]; + /** *
                                                              */ ThumbprintList: string[] | undefined; - - /** - *

                                                              A list of client IDs (also known as audiences). When a mobile or web app registers with - * an OpenID Connect provider, they establish a value that identifies the application. (This - * is the value that's sent as the client_id parameter on OAuth requests.)

                                                              - *

                                                              You can register multiple client IDs with the same provider. For example, you might have - * multiple applications that use the same OIDC provider. You cannot register more than 100 - * client IDs with a single IAM OIDC provider.

                                                              - *

                                                              There is no defined format for a client ID. The - * CreateOpenIDConnectProviderRequest operation accepts client IDs up to 255 - * characters long.

                                                              - */ - ClientIDList?: string[]; } export namespace CreateOpenIDConnectProviderRequest { @@ -1163,26 +1163,6 @@ export namespace CreateOpenIDConnectProviderResponse { } export interface CreatePolicyRequest { - /** - *

                                                              The friendly name of the policy.

                                                              - *

                                                              IAM user, group, role, and policy names must be unique within the account. Names are - * not distinguished by case. For example, you cannot create resources named both "MyResource" - * and "myresource".

                                                              - */ - PolicyName: string | undefined; - - /** - *

                                                              The path for the policy.

                                                              - *

                                                              For more information about paths, see IAM Identifiers in the - * IAM User Guide.

                                                              - *

                                                              This parameter is optional. If it is not included, it defaults to a slash (/).

                                                              - *

                                                              This parameter allows (through its regex pattern) a string of characters consisting - * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. - * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including - * most punctuation characters, digits, and upper and lowercased letters.

                                                              - */ - Path?: string; - /** *

                                                              The JSON policy document that you want to use as the content for the new policy.

                                                              *

                                                              You must provide policies in JSON format in IAM. However, for AWS CloudFormation @@ -1208,6 +1188,14 @@ export interface CreatePolicyRequest { */ PolicyDocument: string | undefined; + /** + *

                                                              The friendly name of the policy.

                                                              + *

                                                              IAM user, group, role, and policy names must be unique within the account. Names are + * not distinguished by case. For example, you cannot create resources named both "MyResource" + * and "myresource".

                                                              + */ + PolicyName: string | undefined; + /** *

                                                              A friendly description of the policy.

                                                              *

                                                              Typically used to store information about the permissions defined in the policy. For @@ -1216,6 +1204,18 @@ export interface CreatePolicyRequest { * changed.

                                                              */ Description?: string; + + /** + *

                                                              The path for the policy.

                                                              + *

                                                              For more information about paths, see IAM Identifiers in the + * IAM User Guide.

                                                              + *

                                                              This parameter is optional. If it is not included, it defaults to a slash (/).

                                                              + *

                                                              This parameter allows (through its regex pattern) a string of characters consisting + * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. + * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including + * most punctuation characters, digits, and upper and lowercased letters.

                                                              + */ + Path?: string; } export namespace CreatePolicyRequest { @@ -1233,35 +1233,15 @@ export namespace CreatePolicyRequest { */ export interface Policy { /** - *

                                                              The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                              - *

                                                              For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS - * Service Namespaces in the AWS General Reference.

                                                              - */ - Arn?: string; - - /** - *

                                                              The stable and unique string identifying the policy.

                                                              - *

                                                              For more information about IDs, see IAM Identifiers in the - * IAM User Guide.

                                                              - */ - PolicyId?: string; - - /** - *

                                                              The date and time, in ISO 8601 date-time - * format, when the policy was created.

                                                              + *

                                                              The identifier for the version of the policy that is set as the default version.

                                                              */ - CreateDate?: Date; + DefaultVersionId?: string; /** *

                                                              The number of entities (users, groups, and roles) that the policy is attached to.

                                                              */ AttachmentCount?: number; - /** - *

                                                              Specifies whether the policy can be attached to an IAM user, group, or role.

                                                              - */ - IsAttachable?: boolean; - /** *

                                                              The friendly name (not ARN) identifying the policy.

                                                              */ @@ -1275,9 +1255,12 @@ export interface Policy { Path?: string; /** - *

                                                              The identifier for the version of the policy that is set as the default version.

                                                              + *

                                                              The number of entities (users and roles) for which the policy is used to set the + * permissions boundary.

                                                              + *

                                                              For more information about permissions boundaries, see Permissions Boundaries for IAM + * Identities in the IAM User Guide.

                                                              */ - DefaultVersionId?: string; + PermissionsBoundaryUsageCount?: number; /** *

                                                              The date and time, in ISO 8601 date-time @@ -1296,12 +1279,29 @@ export interface Policy { Description?: string; /** - *

                                                              The number of entities (users and roles) for which the policy is used to set the - * permissions boundary.

                                                              - *

                                                              For more information about permissions boundaries, see Permissions Boundaries for IAM - * Identities in the IAM User Guide.

                                                              + *

                                                              The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                              + *

                                                              For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS + * Service Namespaces in the AWS General Reference.

                                                              */ - PermissionsBoundaryUsageCount?: number; + Arn?: string; + + /** + *

                                                              Specifies whether the policy can be attached to an IAM user, group, or role.

                                                              + */ + IsAttachable?: boolean; + + /** + *

                                                              The stable and unique string identifying the policy.

                                                              + *

                                                              For more information about IDs, see IAM Identifiers in the + * IAM User Guide.

                                                              + */ + PolicyId?: string; + + /** + *

                                                              The date and time, in ISO 8601 date-time + * format, when the policy was created.

                                                              + */ + CreateDate?: Date; } export namespace Policy { @@ -1370,6 +1370,14 @@ export interface CreatePolicyVersionRequest { */ PolicyDocument: string | undefined; + /** + *

                                                              The Amazon Resource Name (ARN) of the IAM policy to which you want to add a new + * version.

                                                              + *

                                                              For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service + * Namespaces in the AWS General Reference.

                                                              + */ + PolicyArn: string | undefined; + /** *

                                                              Specifies whether to set this version as the policy's default version.

                                                              *

                                                              When this parameter is true, the new policy version becomes the operative @@ -1379,15 +1387,7 @@ export interface CreatePolicyVersionRequest { * Policies in the IAM User Guide.

                                                              */ SetAsDefault?: boolean; - - /** - *

                                                              The Amazon Resource Name (ARN) of the IAM policy to which you want to add a new - * version.

                                                              - *

                                                              For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service - * Namespaces in the AWS General Reference.

                                                              - */ - PolicyArn: string | undefined; -} +} export namespace CreatePolicyVersionRequest { export const filterSensitiveLog = (obj: CreatePolicyVersionRequest): any => ({ @@ -1402,11 +1402,6 @@ export namespace CreatePolicyVersionRequest { * Policies in the IAM User Guide.

                                                              */ export interface PolicyVersion { - /** - *

                                                              Specifies whether the policy version is set as the policy's default version.

                                                              - */ - IsDefaultVersion?: boolean; - /** *

                                                              The policy document.

                                                              *

                                                              The policy document is returned in the response to the GetPolicyVersion and GetAccountAuthorizationDetails operations. It is not returned in @@ -1430,6 +1425,11 @@ export interface PolicyVersion { * policy is created, the first policy version is v1.

                                                              */ VersionId?: string; + + /** + *

                                                              Specifies whether the policy version is set as the policy's default version.

                                                              + */ + IsDefaultVersion?: boolean; } export namespace PolicyVersion { @@ -1472,15 +1472,14 @@ export namespace ConcurrentModificationException { export interface CreateRoleRequest { /** - *

                                                              A list of tags that you want to attach to the newly created role. Each tag consists of - * a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the - * IAM User Guide.

                                                              - * - *

                                                              If any one of the tags is invalid or if you exceed the allowed number of tags per - * role, then the entire request fails and the role is not created.

                                                              - *
                                                              + *

                                                              The ARN of the policy that is used to set the permissions boundary for the role.

                                                              */ - Tags?: Tag[]; + PermissionsBoundary?: string; + + /** + *

                                                              A description of the role.

                                                              + */ + Description?: string; /** *

                                                              The path to the role. For more information about paths, see IAM Identifiers in the @@ -1511,17 +1510,15 @@ export interface CreateRoleRequest { MaxSessionDuration?: number; /** - *

                                                              The name of the role to create.

                                                              - *

                                                              IAM user, group, role, and policy names must be unique within the account. Names are - * not distinguished by case. For example, you cannot create resources named both "MyResource" - * and "myresource".

                                                              - */ - RoleName: string | undefined; - - /** - *

                                                              A description of the role.

                                                              + *

                                                              A list of tags that you want to attach to the newly created role. Each tag consists of + * a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the + * IAM User Guide.

                                                              + * + *

                                                              If any one of the tags is invalid or if you exceed the allowed number of tags per + * role, then the entire request fails and the role is not created.

                                                              + *
                                                              */ - Description?: string; + Tags?: Tag[]; /** *

                                                              The trust relationship policy document that grants an entity permission to assume the @@ -1553,9 +1550,12 @@ export interface CreateRoleRequest { AssumeRolePolicyDocument: string | undefined; /** - *

                                                              The ARN of the policy that is used to set the permissions boundary for the role.

                                                              + *

                                                              The name of the role to create.

                                                              + *

                                                              IAM user, group, role, and policy names must be unique within the account. Names are + * not distinguished by case. For example, you cannot create resources named both "MyResource" + * and "myresource".

                                                              */ - PermissionsBoundary?: string; + RoleName: string | undefined; } export namespace CreateRoleRequest { @@ -1625,6 +1625,18 @@ export namespace CreateSAMLProviderResponse { } export interface CreateServiceLinkedRoleRequest { + /** + *

                                                              + *

                                                              A string that you provide, which is combined with the service-provided prefix to form + * the complete role name. If you make multiple requests for the same service, then you must + * supply a different CustomSuffix for each request. Otherwise the request fails + * with a duplicate role name error. For example, you could add -1 or + * -debug to the suffix.

                                                              + *

                                                              Some services do not support the CustomSuffix parameter. If you provide an + * optional suffix and the operation fails, try the operation again without the suffix.

                                                              + */ + CustomSuffix?: string; + /** *

                                                              The service principal for the AWS service to which this role is attached. You use a * string similar to a URL but without the http:// in front. For example: @@ -1641,18 +1653,6 @@ export interface CreateServiceLinkedRoleRequest { *

                                                              The description of the role.

                                                              */ Description?: string; - - /** - *

                                                              - *

                                                              A string that you provide, which is combined with the service-provided prefix to form - * the complete role name. If you make multiple requests for the same service, then you must - * supply a different CustomSuffix for each request. Otherwise the request fails - * with a duplicate role name error. For example, you could add -1 or - * -debug to the suffix.

                                                              - *

                                                              Some services do not support the CustomSuffix parameter. If you provide an - * optional suffix and the operation fails, try the operation again without the suffix.

                                                              - */ - CustomSuffix?: string; } export namespace CreateServiceLinkedRoleRequest { @@ -1676,12 +1676,6 @@ export namespace CreateServiceLinkedRoleResponse { } export interface CreateServiceSpecificCredentialRequest { - /** - *

                                                              The name of the AWS service that is to be associated with the credentials. The service - * you specify here is the only service that can be accessed using these credentials.

                                                              - */ - ServiceName: string | undefined; - /** *

                                                              The name of the IAM user that is to be associated with the credentials. The new * service-specific credentials have the same permissions as the associated user except that @@ -1690,6 +1684,12 @@ export interface CreateServiceSpecificCredentialRequest { * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ UserName: string | undefined; + + /** + *

                                                              The name of the AWS service that is to be associated with the credentials. The service + * you specify here is the only service that can be accessed using these credentials.

                                                              + */ + ServiceName: string | undefined; } export namespace CreateServiceSpecificCredentialRequest { @@ -1703,44 +1703,44 @@ export namespace CreateServiceSpecificCredentialRequest { */ export interface ServiceSpecificCredential { /** - *

                                                              The name of the IAM user associated with the service-specific credential.

                                                              + *

                                                              The name of the service associated with the service-specific credential.

                                                              */ - UserName: string | undefined; + ServiceName: string | undefined; /** - *

                                                              The date and time, in ISO 8601 date-time - * format, when the service-specific credential were created.

                                                              + *

                                                              The generated password for the service-specific credential.

                                                              */ - CreateDate: Date | undefined; + ServicePassword: string | undefined; /** - *

                                                              The generated user name for the service-specific credential. This value is generated by - * combining the IAM user's name combined with the ID number of the AWS account, as in - * jane-at-123456789012, for example. This value cannot be configured by the - * user.

                                                              + *

                                                              The name of the IAM user associated with the service-specific credential.

                                                              */ - ServiceUserName: string | undefined; + UserName: string | undefined; /** - *

                                                              The status of the service-specific credential. Active means that the key is - * valid for API calls, while Inactive means it is not.

                                                              + *

                                                              The unique identifier for the service-specific credential.

                                                              */ - Status: StatusType | string | undefined; + ServiceSpecificCredentialId: string | undefined; /** - *

                                                              The name of the service associated with the service-specific credential.

                                                              + *

                                                              The date and time, in ISO 8601 date-time + * format, when the service-specific credential were created.

                                                              */ - ServiceName: string | undefined; + CreateDate: Date | undefined; /** - *

                                                              The generated password for the service-specific credential.

                                                              + *

                                                              The status of the service-specific credential. Active means that the key is + * valid for API calls, while Inactive means it is not.

                                                              */ - ServicePassword: string | undefined; + Status: StatusType | string | undefined; /** - *

                                                              The unique identifier for the service-specific credential.

                                                              + *

                                                              The generated user name for the service-specific credential. This value is generated by + * combining the IAM user's name combined with the ID number of the AWS account, as in + * jane-at-123456789012, for example. This value cannot be configured by the + * user.

                                                              */ - ServiceSpecificCredentialId: string | undefined; + ServiceUserName: string | undefined; } export namespace ServiceSpecificCredential { @@ -1787,6 +1787,14 @@ export namespace ServiceNotSupportedException { } export interface CreateUserRequest { + /** + *

                                                              The name of the user to create.

                                                              + *

                                                              IAM user, group, role, and policy names must be unique within the account. Names are + * not distinguished by case. For example, you cannot create resources named both "MyResource" + * and "myresource".

                                                              + */ + UserName: string | undefined; + /** *

                                                              The path for the user name. For more information about paths, see IAM * Identifiers in the IAM User Guide.

                                                              @@ -1798,14 +1806,6 @@ export interface CreateUserRequest { */ Path?: string; - /** - *

                                                              The name of the user to create.

                                                              - *

                                                              IAM user, group, role, and policy names must be unique within the account. Names are - * not distinguished by case. For example, you cannot create resources named both "MyResource" - * and "myresource".

                                                              - */ - UserName: string | undefined; - /** *

                                                              A list of tags that you want to attach to the newly created user. Each tag consists of * a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the @@ -1852,16 +1852,35 @@ export namespace CreateUserRequest { */ export interface User { /** - *

                                                              The stable and unique string identifying the user. For more information about IDs, see - * IAM - * Identifiers in the IAM User Guide.

                                                              + *

                                                              The friendly name identifying the user.

                                                              */ - UserId: string | undefined; + UserName: string | undefined; /** - *

                                                              The friendly name identifying the user.

                                                              + *

                                                              The path to the user. For more information about paths, see IAM Identifiers in the + * IAM User Guide.

                                                              */ - UserName: string | undefined; + Path: string | undefined; + + /** + *

                                                              A list of tags that are associated with the specified user. For more information about + * tagging, see Tagging IAM + * Identities in the IAM User Guide.

                                                              + */ + Tags?: Tag[]; + + /** + *

                                                              The date and time, in ISO 8601 date-time + * format, when the user was created.

                                                              + */ + CreateDate: Date | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs + * and how to use ARNs in policies, see IAM Identifiers in the + * IAM User Guide.

                                                              + */ + Arn: string | undefined; /** *

                                                              The date and time, in ISO 8601 date-time @@ -1895,30 +1914,11 @@ export interface User { PermissionsBoundary?: AttachedPermissionsBoundary; /** - *

                                                              The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs - * and how to use ARNs in policies, see IAM Identifiers in the - * IAM User Guide.

                                                              - */ - Arn: string | undefined; - - /** - *

                                                              The path to the user. For more information about paths, see IAM Identifiers in the - * IAM User Guide.

                                                              - */ - Path: string | undefined; - - /** - *

                                                              A list of tags that are associated with the specified user. For more information about - * tagging, see Tagging IAM - * Identities in the IAM User Guide.

                                                              - */ - Tags?: Tag[]; - - /** - *

                                                              The date and time, in ISO 8601 date-time - * format, when the user was created.

                                                              + *

                                                              The stable and unique string identifying the user. For more information about IDs, see + * IAM + * Identifiers in the IAM User Guide.

                                                              */ - CreateDate: Date | undefined; + UserId: string | undefined; } export namespace User { @@ -1975,24 +1975,19 @@ export namespace CreateVirtualMFADeviceRequest { */ export interface VirtualMFADevice { /** - *

                                                              A QR code PNG image that encodes - * otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String - * where $virtualMFADeviceName is one of the create call arguments. - * AccountName is the user name if set (otherwise, the account ID otherwise), - * and Base32String is the seed in base32 format. The Base32String - * value is base64-encoded.

                                                              + *

                                                              The IAM user associated with this virtual MFA device.

                                                              */ - QRCodePNG?: Uint8Array; + User?: User; /** - *

                                                              The date and time on which the virtual MFA device was enabled.

                                                              + *

                                                              The serial number associated with VirtualMFADevice.

                                                              */ - EnableDate?: Date; + SerialNumber: string | undefined; /** - *

                                                              The serial number associated with VirtualMFADevice.

                                                              + *

                                                              The date and time on which the virtual MFA device was enabled.

                                                              */ - SerialNumber: string | undefined; + EnableDate?: Date; /** *

                                                              The base32 seed defined as specified in RFC3548. The Base32StringSeed is base64-encoded.

                                                              @@ -2000,16 +1995,21 @@ export interface VirtualMFADevice { Base32StringSeed?: Uint8Array; /** - *

                                                              The IAM user associated with this virtual MFA device.

                                                              + *

                                                              A QR code PNG image that encodes + * otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String + * where $virtualMFADeviceName is one of the create call arguments. + * AccountName is the user name if set (otherwise, the account ID otherwise), + * and Base32String is the seed in base32 format. The Base32String + * value is base64-encoded.

                                                              */ - User?: User; + QRCodePNG?: Uint8Array; } export namespace VirtualMFADevice { export const filterSensitiveLog = (obj: VirtualMFADevice): any => ({ ...obj, - ...(obj.QRCodePNG && { QRCodePNG: SENSITIVE_STRING }), ...(obj.Base32StringSeed && { Base32StringSeed: SENSITIVE_STRING }), + ...(obj.QRCodePNG && { QRCodePNG: SENSITIVE_STRING }), }); } @@ -2056,19 +2056,19 @@ export namespace DeactivateMFADeviceRequest { } export interface DeleteAccessKeyRequest { - /** - *

                                                              The name of the user whose access key pair you want to delete.

                                                              - *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              - */ - UserName?: string; - /** *

                                                              The access key ID for the access key ID and secret access key you want to delete.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters that can * consist of any upper or lowercased letter or digit.

                                                              */ AccessKeyId: string | undefined; + + /** + *

                                                              The name of the user whose access key pair you want to delete.

                                                              + *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              + */ + UserName?: string; } export namespace DeleteAccessKeyRequest { @@ -2126,19 +2126,19 @@ export namespace DeleteGroupRequest { export interface DeleteGroupPolicyRequest { /** - *

                                                              The name identifying the policy document to delete.

                                                              + *

                                                              The name (friendly name, not ARN) identifying the group that the policy is embedded + * in.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ - PolicyName: string | undefined; + GroupName: string | undefined; /** - *

                                                              The name (friendly name, not ARN) identifying the group that the policy is embedded - * in.

                                                              + *

                                                              The name identifying the policy document to delete.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ - GroupName: string | undefined; + PolicyName: string | undefined; } export namespace DeleteGroupPolicyRequest { @@ -2263,19 +2263,19 @@ export namespace DeleteRolePermissionsBoundaryRequest { export interface DeleteRolePolicyRequest { /** - *

                                                              The name of the inline policy to delete from the specified IAM role.

                                                              + *

                                                              The name (friendly name, not ARN) identifying the role that the policy is embedded + * in.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ - PolicyName: string | undefined; + RoleName: string | undefined; /** - *

                                                              The name (friendly name, not ARN) identifying the role that the policy is embedded - * in.

                                                              + *

                                                              The name of the inline policy to delete from the specified IAM role.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ - RoleName: string | undefined; + PolicyName: string | undefined; } export namespace DeleteRolePolicyRequest { @@ -2366,19 +2366,19 @@ export namespace DeleteServiceSpecificCredentialRequest { } export interface DeleteSigningCertificateRequest { - /** - *

                                                              The name of the user the signing certificate belongs to.

                                                              - *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              - */ - UserName?: string; - /** *

                                                              The ID of the signing certificate to delete.

                                                              *

                                                              The format of this parameter, as described by its regex pattern, is a string of characters * that can be upper- or lower-cased letters or digits.

                                                              */ CertificateId: string | undefined; + + /** + *

                                                              The name of the user the signing certificate belongs to.

                                                              + *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              + */ + UserName?: string; } export namespace DeleteSigningCertificateRequest { @@ -2388,19 +2388,19 @@ export namespace DeleteSigningCertificateRequest { } export interface DeleteSSHPublicKeyRequest { - /** - *

                                                              The unique identifier for the SSH public key.

                                                              - *

                                                              This parameter allows (through its regex pattern) a string of characters that can - * consist of any upper or lowercased letter or digit.

                                                              - */ - SSHPublicKeyId: string | undefined; - /** *

                                                              The name of the IAM user associated with the SSH public key.

                                                              *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              */ UserName: string | undefined; + + /** + *

                                                              The unique identifier for the SSH public key.

                                                              + *

                                                              This parameter allows (through its regex pattern) a string of characters that can + * consist of any upper or lowercased letter or digit.

                                                              + */ + SSHPublicKeyId: string | undefined; } export namespace DeleteSSHPublicKeyRequest { @@ -2501,19 +2501,19 @@ export namespace DetachGroupPolicyRequest { } export interface DetachRolePolicyRequest { - /** - *

                                                              The name (friendly name, not ARN) of the IAM role to detach the policy from.

                                                              - *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              - */ - RoleName: string | undefined; - /** *

                                                              The Amazon Resource Name (ARN) of the IAM policy you want to detach.

                                                              *

                                                              For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service * Namespaces in the AWS General Reference.

                                                              */ PolicyArn: string | undefined; + + /** + *

                                                              The name (friendly name, not ARN) of the IAM role to detach the policy from.

                                                              + *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              + */ + RoleName: string | undefined; } export namespace DetachRolePolicyRequest { @@ -2545,6 +2545,13 @@ export namespace DetachUserPolicyRequest { } export interface EnableMFADeviceRequest { + /** + *

                                                              The name of the IAM user for whom you want to enable the MFA device.

                                                              + *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              + */ + UserName: string | undefined; + /** *

                                                              The serial number that uniquely identifies the MFA device. For virtual MFA devices, the * serial number is the device ARN.

                                                              @@ -2555,7 +2562,7 @@ export interface EnableMFADeviceRequest { SerialNumber: string | undefined; /** - *

                                                              An authentication code emitted by the device.

                                                              + *

                                                              A subsequent authentication code emitted by the device.

                                                              *

                                                              The format for this parameter is a string of six digits.

                                                              * *

                                                              Submit your request immediately after generating the authentication codes. If you @@ -2565,10 +2572,10 @@ export interface EnableMFADeviceRequest { * time. If this happens, you can resync the device.

                                                              *
                                                              */ - AuthenticationCode1: string | undefined; + AuthenticationCode2: string | undefined; /** - *

                                                              A subsequent authentication code emitted by the device.

                                                              + *

                                                              An authentication code emitted by the device.

                                                              *

                                                              The format for this parameter is a string of six digits.

                                                              * *

                                                              Submit your request immediately after generating the authentication codes. If you @@ -2578,14 +2585,7 @@ export interface EnableMFADeviceRequest { * time. If this happens, you can resync the device.

                                                              *
                                                              */ - AuthenticationCode2: string | undefined; - - /** - *

                                                              The name of the IAM user for whom you want to enable the MFA device.

                                                              - *

                                                              This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                              - */ - UserName: string | undefined; + AuthenticationCode1: string | undefined; } export namespace EnableMFADeviceRequest { @@ -2622,14 +2622,14 @@ export enum ReportStateType { */ export interface GenerateCredentialReportResponse { /** - *

                                                              Information about the state of the credential report.

                                                              + *

                                                              Information about the credential report.

                                                              */ - State?: ReportStateType | string; + Description?: string; /** - *

                                                              Information about the credential report.

                                                              + *

                                                              Information about the state of the credential report.

                                                              */ - Description?: string; + State?: ReportStateType | string; } export namespace GenerateCredentialReportResponse { @@ -2694,13 +2694,6 @@ export namespace ReportGenerationLimitExceededException { } export interface GenerateServiceLastAccessedDetailsRequest { - /** - *

                                                              The ARN of the IAM resource (user, group, role, or managed policy) used to generate - * information about when the resource was last used in an attempt to access an AWS - * service.

                                                              - */ - Arn: string | undefined; - /** *

                                                              The level of detail that you want to generate. You can specify whether you want to * generate information about the last attempt to access services or actions. If you specify @@ -2709,6 +2702,13 @@ export interface GenerateServiceLastAccessedDetailsRequest { * optional parameter, the operation generates service data.

                                                              */ Granularity?: AccessAdvisorUsageGranularityType | string; + + /** + *

                                                              The ARN of the IAM resource (user, group, role, or managed policy) used to generate + * information about when the resource was last used in an attempt to access an AWS + * service.

                                                              + */ + Arn: string | undefined; } export namespace GenerateServiceLastAccessedDetailsRequest { @@ -2754,16 +2754,16 @@ export namespace GetAccessKeyLastUsedRequest { * by the ListAccessKeys action.

                                                              */ export interface GetAccessKeyLastUsedResponse { - /** - *

                                                              Contains information about the last time the access key was used.

                                                              - */ - AccessKeyLastUsed?: AccessKeyLastUsed; - /** *

                                                              The name of the AWS IAM user that owns this access key.

                                                              *

                                                              */ UserName?: string; + + /** + *

                                                              Contains information about the last time the access key was used.

                                                              + */ + AccessKeyLastUsed?: AccessKeyLastUsed; } export namespace GetAccessKeyLastUsedResponse { @@ -2844,6 +2844,19 @@ export namespace PolicyDetail { *

                                                              This data type is used as a response element in the GetAccountAuthorizationDetails operation.

                                                              */ export interface GroupDetail { + /** + *

                                                              The stable and unique string identifying the group. For more information about IDs, see + * IAM + * Identifiers in the IAM User Guide.

                                                              + */ + GroupId?: string; + + /** + *

                                                              The date and time, in ISO 8601 date-time + * format, when the group was created.

                                                              + */ + CreateDate?: Date; + /** *

                                                              The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                              *

                                                              For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS @@ -2851,11 +2864,6 @@ export interface GroupDetail { */ Arn?: string; - /** - *

                                                              A list of the inline policies embedded in the group.

                                                              - */ - GroupPolicyList?: PolicyDetail[]; - /** *

                                                              The path to the group. For more information about paths, see IAM Identifiers in the * IAM User Guide.

                                                              @@ -2863,10 +2871,9 @@ export interface GroupDetail { Path?: string; /** - *

                                                              The date and time, in ISO 8601 date-time - * format, when the group was created.

                                                              + *

                                                              The friendly name that identifies the group.

                                                              */ - CreateDate?: Date; + GroupName?: string; /** *

                                                              A list of the managed policies attached to the group.

                                                              @@ -2874,16 +2881,9 @@ export interface GroupDetail { AttachedManagedPolicies?: AttachedPolicy[]; /** - *

                                                              The friendly name that identifies the group.

                                                              - */ - GroupName?: string; - - /** - *

                                                              The stable and unique string identifying the group. For more information about IDs, see - * IAM - * Identifiers in the IAM User Guide.

                                                              + *

                                                              A list of the inline policies embedded in the group.

                                                              */ - GroupId?: string; + GroupPolicyList?: PolicyDetail[]; } export namespace GroupDetail { @@ -2901,29 +2901,6 @@ export namespace GroupDetail { * Policies in the IAM User Guide.

                                                              */ export interface ManagedPolicyDetail { - /** - *

                                                              The friendly name (not ARN) identifying the policy.

                                                              - */ - PolicyName?: string; - - /** - *

                                                              The date and time, in ISO 8601 date-time - * format, when the policy was created.

                                                              - */ - CreateDate?: Date; - - /** - *

                                                              Specifies whether the policy can be attached to an IAM user, group, or role.

                                                              - */ - IsAttachable?: boolean; - - /** - *

                                                              The path to the policy.

                                                              - *

                                                              For more information about paths, see IAM Identifiers in the - * IAM User Guide.

                                                              - */ - Path?: string; - /** *

                                                              A friendly description of the policy.

                                                              */ @@ -2949,14 +2926,6 @@ export interface ManagedPolicyDetail { */ Arn?: string; - /** - *

                                                              The identifier for the version of the policy that is set as the default (operative) - * version.

                                                              - *

                                                              For more information about policy versions, see Versioning for Managed - * Policies in the IAM User Guide.

                                                              - */ - DefaultVersionId?: string; - /** *

                                                              The date and time, in ISO 8601 date-time * format, when the policy was last updated.

                                                              @@ -2973,11 +2942,42 @@ export interface ManagedPolicyDetail { */ PolicyId?: string; + /** + *

                                                              Specifies whether the policy can be attached to an IAM user, group, or role.

                                                              + */ + IsAttachable?: boolean; + + /** + *

                                                              The date and time, in ISO 8601 date-time + * format, when the policy was created.

                                                              + */ + CreateDate?: Date; + /** *

                                                              The number of principal entities (users, groups, and roles) that the policy is attached * to.

                                                              */ AttachmentCount?: number; + + /** + *

                                                              The identifier for the version of the policy that is set as the default (operative) + * version.

                                                              + *

                                                              For more information about policy versions, see Versioning for Managed + * Policies in the IAM User Guide.

                                                              + */ + DefaultVersionId?: string; + + /** + *

                                                              The friendly name (not ARN) identifying the policy.

                                                              + */ + PolicyName?: string; + + /** + *

                                                              The path to the policy.

                                                              + *

                                                              For more information about paths, see IAM Identifiers in the + * IAM User Guide.

                                                              + */ + Path?: string; } export namespace ManagedPolicyDetail { @@ -2992,29 +2992,9 @@ export namespace ManagedPolicyDetail { */ export interface RoleDetail { /** - *

                                                              The ARN of the policy used to set the permissions boundary for the role.

                                                              - *

                                                              For more information about permissions boundaries, see Permissions Boundaries for IAM - * Identities in the IAM User Guide.

                                                              - */ - PermissionsBoundary?: AttachedPermissionsBoundary; - - /** - *

                                                              The friendly name that identifies the role.

                                                              - */ - RoleName?: string; - - /** - *

                                                              The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                              - *

                                                              For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS - * Service Namespaces in the AWS General Reference.

                                                              - */ - Arn?: string; - - /** - *

                                                              The path to the role. For more information about paths, see IAM Identifiers in the - * IAM User Guide.

                                                              + *

                                                              A list of instance profiles that contain this role.

                                                              */ - Path?: string; + InstanceProfileList?: InstanceProfile[]; /** *

                                                              The trust policy that grants permission to assume the role.

                                                              @@ -3028,16 +3008,18 @@ export interface RoleDetail { CreateDate?: Date; /** - *

                                                              A list of inline policies embedded in the role. These policies are the role's access - * (permissions) policies.

                                                              + *

                                                              A list of tags that are attached to the specified role. For more information about + * tagging, see Tagging IAM + * Identities in the IAM User Guide.

                                                              */ - RolePolicyList?: PolicyDetail[]; + Tags?: Tag[]; /** - *

                                                              A list of managed policies attached to the role. These policies are the role's access - * (permissions) policies.

                                                              + *

                                                              The ARN of the policy used to set the permissions boundary for the role.

                                                              + *

                                                              For more information about permissions boundaries, see Permissions Boundaries for IAM + * Identities in the IAM User Guide.

                                                              */ - AttachedManagedPolicies?: AttachedPolicy[]; + PermissionsBoundary?: AttachedPermissionsBoundary; /** *

                                                              The stable and unique string identifying the role. For more information about IDs, see @@ -3047,9 +3029,11 @@ export interface RoleDetail { RoleId?: string; /** - *

                                                              A list of instance profiles that contain this role.

                                                              + *

                                                              The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                              + *

                                                              For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS + * Service Namespaces in the AWS General Reference.

                                                              */ - InstanceProfileList?: InstanceProfile[]; + Arn?: string; /** *

                                                              Contains information about the last time that an IAM role was used. This includes the @@ -3062,16 +3046,32 @@ export interface RoleDetail { RoleLastUsed?: RoleLastUsed; /** - *

                                                              A list of tags that are attached to the specified role. For more information about - * tagging, see Tagging IAM - * Identities in the IAM User Guide.

                                                              + *

                                                              The friendly name that identifies the role.

                                                              */ - Tags?: Tag[]; -} + RoleName?: string; -export namespace RoleDetail { - export const filterSensitiveLog = (obj: RoleDetail): any => ({ - ...obj, + /** + *

                                                              The path to the role. For more information about paths, see IAM Identifiers in the + * IAM User Guide.

                                                              + */ + Path?: string; + + /** + *

                                                              A list of managed policies attached to the role. These policies are the role's access + * (permissions) policies.

                                                              + */ + AttachedManagedPolicies?: AttachedPolicy[]; + + /** + *

                                                              A list of inline policies embedded in the role. These policies are the role's access + * (permissions) policies.

                                                              + */ + RolePolicyList?: PolicyDetail[]; +} + +export namespace RoleDetail { + export const filterSensitiveLog = (obj: RoleDetail): any => ({ + ...obj, }); } @@ -3082,30 +3082,16 @@ export namespace RoleDetail { */ export interface UserDetail { /** - *

                                                              The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                              - *

                                                              For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS - * Service Namespaces in the AWS General Reference.

                                                              - */ - Arn?: string; - - /** - *

                                                              The ARN of the policy used to set the permissions boundary for the user.

                                                              - *

                                                              For more information about permissions boundaries, see Permissions Boundaries for IAM - * Identities in the IAM User Guide.

                                                              - */ - PermissionsBoundary?: AttachedPermissionsBoundary; - - /** - *

                                                              A list of tags that are associated with the specified user. For more information about - * tagging, see Tagging IAM - * Identities in the IAM User Guide.

                                                              + *

                                                              The stable and unique string identifying the user. For more information about IDs, see + * IAM + * Identifiers in the IAM User Guide.

                                                              */ - Tags?: Tag[]; + UserId?: string; /** - *

                                                              A list of IAM groups that the user is in.

                                                              + *

                                                              A list of the inline policies embedded in the user.

                                                              */ - GroupList?: string[]; + UserPolicyList?: PolicyDetail[]; /** *

                                                              The date and time, in ISO 8601 date-time @@ -3114,9 +3100,9 @@ export interface UserDetail { CreateDate?: Date; /** - *

                                                              A list of the inline policies embedded in the user.

                                                              + *

                                                              A list of IAM groups that the user is in.

                                                              */ - UserPolicyList?: PolicyDetail[]; + GroupList?: string[]; /** *

                                                              A list of the managed policies attached to the user.

                                                              @@ -3124,9 +3110,11 @@ export interface UserDetail { AttachedManagedPolicies?: AttachedPolicy[]; /** - *

                                                              The friendly name identifying the user.

                                                              + *

                                                              The ARN of the policy used to set the permissions boundary for the user.

                                                              + *

                                                              For more information about permissions boundaries, see Permissions Boundaries for IAM + * Identities in the IAM User Guide.

                                                              */ - UserName?: string; + PermissionsBoundary?: AttachedPermissionsBoundary; /** *

                                                              The path to the user. For more information about paths, see IAM Identifiers in the @@ -3135,11 +3123,23 @@ export interface UserDetail { Path?: string; /** - *

                                                              The stable and unique string identifying the user. For more information about IDs, see - * IAM - * Identifiers in the IAM User Guide.

                                                              + *

                                                              A list of tags that are associated with the specified user. For more information about + * tagging, see Tagging IAM + * Identities in the IAM User Guide.

                                                              */ - UserId?: string; + Tags?: Tag[]; + + /** + *

                                                              The friendly name identifying the user.

                                                              + */ + UserName?: string; + + /** + *

                                                              The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                              + *

                                                              For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS + * Service Namespaces in the AWS General Reference.

                                                              + */ + Arn?: string; } export namespace UserDetail { @@ -3154,9 +3154,9 @@ export namespace UserDetail { */ export interface GetAccountAuthorizationDetailsResponse { /** - *

                                                              A list containing information about IAM roles.

                                                              + *

                                                              A list containing information about managed policies.

                                                              */ - RoleDetailList?: RoleDetail[]; + Policies?: ManagedPolicyDetail[]; /** *

                                                              A flag that indicates whether there are more items to return. If your @@ -3173,6 +3173,11 @@ export interface GetAccountAuthorizationDetailsResponse { */ UserDetailList?: UserDetail[]; + /** + *

                                                              A list containing information about IAM groups.

                                                              + */ + GroupDetailList?: GroupDetail[]; + /** *

                                                              When IsTruncated is true, this element * is present and contains the value to use for the Marker parameter in a subsequent @@ -3181,14 +3186,9 @@ export interface GetAccountAuthorizationDetailsResponse { Marker?: string; /** - *

                                                              A list containing information about managed policies.

                                                              - */ - Policies?: ManagedPolicyDetail[]; - - /** - *

                                                              A list containing information about IAM groups.

                                                              + *

                                                              A list containing information about IAM roles.

                                                              */ - GroupDetailList?: GroupDetail[]; + RoleDetailList?: RoleDetail[]; } export namespace GetAccountAuthorizationDetailsResponse { @@ -3203,43 +3203,41 @@ export namespace GetAccountAuthorizationDetailsResponse { */ export interface PasswordPolicy { /** - *

                                                              Specifies whether to require lowercase characters for IAM user passwords.

                                                              + *

                                                              Specifies whether to require symbols for IAM user passwords.

                                                              */ - RequireLowercaseCharacters?: boolean; + RequireSymbols?: boolean; /** - *

                                                              Minimum length to require for IAM user passwords.

                                                              + *

                                                              Specifies the number of previous passwords that IAM users are prevented from + * reusing.

                                                              */ - MinimumPasswordLength?: number; + PasswordReusePrevention?: number; /** - *

                                                              Specifies whether to require numbers for IAM user passwords.

                                                              + *

                                                              Specifies whether IAM users are allowed to change their own password.

                                                              */ - RequireNumbers?: boolean; + AllowUsersToChangePassword?: boolean; /** - *

                                                              Indicates whether passwords in the account expire. Returns true if - * MaxPasswordAge contains a value greater than 0. Returns false if - * MaxPasswordAge is 0 or not present.

                                                              + *

                                                              Minimum length to require for IAM user passwords.

                                                              */ - ExpirePasswords?: boolean; + MinimumPasswordLength?: number; /** - *

                                                              Specifies the number of previous passwords that IAM users are prevented from - * reusing.

                                                              + *

                                                              Specifies whether to require lowercase characters for IAM user passwords.

                                                              */ - PasswordReusePrevention?: number; + RequireLowercaseCharacters?: boolean; /** - *

                                                              Specifies whether IAM users are prevented from setting a new password after their - * password has expired.

                                                              + *

                                                              Specifies whether to require numbers for IAM user passwords.

                                                              */ - HardExpiry?: boolean; + RequireNumbers?: boolean; /** - *

                                                              The number of days that an IAM user password is valid.

                                                              + *

                                                              Specifies whether IAM users are prevented from setting a new password after their + * password has expired.

                                                              */ - MaxPasswordAge?: number; + HardExpiry?: boolean; /** *

                                                              Specifies whether to require uppercase characters for IAM user passwords.

                                                              @@ -3247,14 +3245,16 @@ export interface PasswordPolicy { RequireUppercaseCharacters?: boolean; /** - *

                                                              Specifies whether IAM users are allowed to change their own password.

                                                              + *

                                                              The number of days that an IAM user password is valid.

                                                              */ - AllowUsersToChangePassword?: boolean; + MaxPasswordAge?: number; /** - *

                                                              Specifies whether to require symbols for IAM user passwords.

                                                              + *

                                                              Indicates whether passwords in the account expire. Returns true if + * MaxPasswordAge contains a value greater than 0. Returns false if + * MaxPasswordAge is 0 or not present.

                                                              */ - RequireSymbols?: boolean; + ExpirePasswords?: boolean; } export namespace PasswordPolicy { @@ -3374,19 +3374,6 @@ export namespace GetContextKeysForPolicyResponse { } export interface GetContextKeysForPrincipalPolicyRequest { - /** - *

                                                              The ARN of a user, group, or role whose policies contain the context keys that you want - * listed. If you specify a user, the list includes context keys that are found in all - * policies that are attached to the user. The list also includes all groups that the user is - * a member of. If you pick a group or a role, then it includes only those context keys that - * are found in policies attached to that entity. Note that all parameters are shown in - * unencoded form here for clarity, but must be URL encoded to be included as a part of a real - * HTML request.

                                                              - *

                                                              For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service - * Namespaces in the AWS General Reference.

                                                              - */ - PolicySourceArn: string | undefined; - /** *

                                                              An optional list of additional policies for which you want the list of context keys that * are referenced.

                                                              @@ -3408,6 +3395,19 @@ export interface GetContextKeysForPrincipalPolicyRequest { *

                                                              A list of server certificate thumbprints for the OpenID Connect (OIDC) identity * provider's server certificates. Typically this list includes only one entry. However, IAM @@ -1123,19 +1136,6 @@ export interface CreateOpenIDConnectProviderRequest { * User Guide.

                                                            */ PolicyInputList?: string[]; + + /** + *

                                                            The ARN of a user, group, or role whose policies contain the context keys that you want + * listed. If you specify a user, the list includes context keys that are found in all + * policies that are attached to the user. The list also includes all groups that the user is + * a member of. If you pick a group or a role, then it includes only those context keys that + * are found in policies attached to that entity. Note that all parameters are shown in + * unencoded form here for clarity, but must be URL encoded to be included as a part of a real + * HTML request.

                                                            + *

                                                            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service + * Namespaces in the AWS General Reference.

                                                            + */ + PolicySourceArn: string | undefined; } export namespace GetContextKeysForPrincipalPolicyRequest { @@ -3479,14 +3479,14 @@ export interface GetCredentialReportResponse { Content?: Uint8Array; /** - *

                                                            The format (MIME type) of the credential report.

                                                            + *

                                                            The date and time when the credential report was created, in ISO 8601 date-time format.

                                                            */ - ReportFormat?: ReportFormatType | string; + GeneratedTime?: Date; /** - *

                                                            The date and time when the credential report was created, in ISO 8601 date-time format.

                                                            + *

                                                            The format (MIME type) of the credential report.

                                                            */ - GeneratedTime?: Date; + ReportFormat?: ReportFormatType | string; } export namespace GetCredentialReportResponse { @@ -3496,18 +3496,6 @@ export namespace GetCredentialReportResponse { } export interface GetGroupRequest { - /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; - /** *

                                                            The name of the group.

                                                            *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric @@ -3522,6 +3510,18 @@ export interface GetGroupRequest { * should start.

                                                            */ Marker?: string; + + /** + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            + */ + MaxItems?: number; } export namespace GetGroupRequest { @@ -3539,6 +3539,16 @@ export interface GetGroupResponse { */ Group: Group | undefined; + /** + *

                                                            A flag that indicates whether there are more items to return. If your + * results were truncated, you can make a subsequent pagination request using the Marker + * request parameter to retrieve more items. Note that IAM might return fewer than the + * MaxItems number of results even when there are more results available. We recommend + * that you check IsTruncated after every call to ensure that you receive all your + * results.

                                                            + */ + IsTruncated?: boolean; + /** *

                                                            When IsTruncated is true, this element * is present and contains the value to use for the Marker parameter in a subsequent @@ -3550,16 +3560,6 @@ export interface GetGroupResponse { *

                                                            A list of users in the group.

                                                            */ Users: User[] | undefined; - - /** - *

                                                            A flag that indicates whether there are more items to return. If your - * results were truncated, you can make a subsequent pagination request using the Marker - * request parameter to retrieve more items. Note that IAM might return fewer than the - * MaxItems number of results even when there are more results available. We recommend - * that you check IsTruncated after every call to ensure that you receive all your - * results.

                                                            - */ - IsTruncated?: boolean; } export namespace GetGroupResponse { @@ -3570,18 +3570,18 @@ export namespace GetGroupResponse { export interface GetGroupPolicyRequest { /** - *

                                                            The name of the policy document to get.

                                                            + *

                                                            The name of the group the policy is associated with.

                                                            *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ - PolicyName: string | undefined; + GroupName: string | undefined; /** - *

                                                            The name of the group the policy is associated with.

                                                            + *

                                                            The name of the policy document to get.

                                                            *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ - GroupName: string | undefined; + PolicyName: string | undefined; } export namespace GetGroupPolicyRequest { @@ -3596,12 +3596,9 @@ export namespace GetGroupPolicyRequest { */ export interface GetGroupPolicyResponse { /** - *

                                                            The policy document.

                                                            - *

                                                            IAM stores policies in JSON format. However, resources that were created using AWS - * CloudFormation templates can be formatted in YAML. AWS CloudFormation always converts a - * YAML policy to JSON format before submitting it to IAM.

                                                            + *

                                                            The group the policy is associated with.

                                                            */ - PolicyDocument: string | undefined; + GroupName: string | undefined; /** *

                                                            The name of the policy.

                                                            @@ -3609,9 +3606,12 @@ export interface GetGroupPolicyResponse { PolicyName: string | undefined; /** - *

                                                            The group the policy is associated with.

                                                            + *

                                                            The policy document.

                                                            + *

                                                            IAM stores policies in JSON format. However, resources that were created using AWS + * CloudFormation templates can be formatted in YAML. AWS CloudFormation always converts a + * YAML policy to JSON format before submitting it to IAM.

                                                            */ - GroupName: string | undefined; + PolicyDocument: string | undefined; } export namespace GetGroupPolicyResponse { @@ -3706,16 +3706,10 @@ export namespace GetOpenIDConnectProviderRequest { */ export interface GetOpenIDConnectProviderResponse { /** - *

                                                            A list of certificate thumbprints that are associated with the specified IAM OIDC - * provider resource object. For more information, see CreateOpenIDConnectProvider.

                                                            - */ - ThumbprintList?: string[]; - - /** - *

                                                            The URL that the IAM OIDC provider resource object is associated with. For more - * information, see CreateOpenIDConnectProvider.

                                                            + *

                                                            A list of client IDs (also known as audiences) that are associated with the specified + * IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider.

                                                            */ - Url?: string; + ClientIDList?: string[]; /** *

                                                            The date and time when the IAM OIDC provider resource object was created in the AWS @@ -3724,10 +3718,16 @@ export interface GetOpenIDConnectProviderResponse { CreateDate?: Date; /** - *

                                                            A list of client IDs (also known as audiences) that are associated with the specified - * IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider.

                                                            + *

                                                            The URL that the IAM OIDC provider resource object is associated with. For more + * information, see CreateOpenIDConnectProvider.

                                                            */ - ClientIDList?: string[]; + Url?: string; + + /** + *

                                                            A list of certificate thumbprints that are associated with the specified IAM OIDC + * provider resource object. For more information, see CreateOpenIDConnectProvider.

                                                            + */ + ThumbprintList?: string[]; } export namespace GetOpenIDConnectProviderResponse { @@ -3744,14 +3744,6 @@ export enum SortKeyType { } export interface GetOrganizationsAccessReportRequest { - /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            - */ - Marker?: string; - /** *

                                                            The key that is used to sort the results. If you choose the namespace key, the results * are returned in alphabetical order. If you choose the time key, the results are sorted @@ -3759,11 +3751,6 @@ export interface GetOrganizationsAccessReportRequest { */ SortKey?: SortKeyType | string; - /** - *

                                                            The identifier of the request generated by the GenerateOrganizationsAccessReport operation.

                                                            - */ - JobId: string | undefined; - /** *

                                                            Use this only when paginating results to indicate the * maximum number of items you want in the response. If additional items exist beyond the maximum @@ -3775,6 +3762,19 @@ export interface GetOrganizationsAccessReportRequest { * from.

                                                            */ MaxItems?: number; + + /** + *

                                                            The identifier of the request generated by the GenerateOrganizationsAccessReport operation.

                                                            + */ + JobId: string | undefined; + + /** + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            + */ + Marker?: string; } export namespace GetOrganizationsAccessReportRequest { @@ -3789,14 +3789,14 @@ export namespace GetOrganizationsAccessReportRequest { */ export interface ErrorDetails { /** - *

                                                            The error code associated with the operation failure.

                                                            + *

                                                            Detailed information about the reason that the operation failed.

                                                            */ - Code: string | undefined; + Message: string | undefined; /** - *

                                                            Detailed information about the reason that the operation failed.

                                                            + *

                                                            The error code associated with the operation failure.

                                                            */ - Message: string | undefined; + Code: string | undefined; } export namespace ErrorDetails { @@ -3808,33 +3808,6 @@ export namespace ErrorDetails { export type JobStatusType = "COMPLETED" | "FAILED" | "IN_PROGRESS"; export interface GetOrganizationsAccessReportResponse { - /** - *

                                                            The date and time, in ISO 8601 date-time - * format, when the report job was created.

                                                            - */ - JobCreationDate: Date | undefined; - - /** - *

                                                            The status of the job.

                                                            - */ - JobStatus: JobStatusType | string | undefined; - - /** - *

                                                            A flag that indicates whether there are more items to return. If your - * results were truncated, you can make a subsequent pagination request using the Marker - * request parameter to retrieve more items. Note that IAM might return fewer than the - * MaxItems number of results even when there are more results available. We recommend - * that you check IsTruncated after every call to ensure that you receive all your - * results.

                                                            - */ - IsTruncated?: boolean; - - /** - *

                                                            The number of services that the applicable SCPs allow account principals to - * access.

                                                            - */ - NumberOfServicesAccessible?: number; - /** *

                                                            When IsTruncated is true, this element * is present and contains the value to use for the Marker parameter in a subsequent @@ -3849,10 +3822,10 @@ export interface GetOrganizationsAccessReportResponse { ErrorDetails?: ErrorDetails; /** - *

                                                            The number of services that account principals are allowed but did not attempt to + *

                                                            The number of services that the applicable SCPs allow account principals to * access.

                                                            */ - NumberOfServicesNotAccessed?: number; + NumberOfServicesAccessible?: number; /** *

                                                            The date and time, in ISO 8601 date-time @@ -3862,11 +3835,38 @@ export interface GetOrganizationsAccessReportResponse { */ JobCompletionDate?: Date; + /** + *

                                                            The number of services that account principals are allowed but did not attempt to + * access.

                                                            + */ + NumberOfServicesNotAccessed?: number; + /** *

                                                            An object that contains details about the most recent attempt to access the * service.

                                                            */ AccessDetails?: AccessDetail[]; + + /** + *

                                                            The date and time, in ISO 8601 date-time + * format, when the report job was created.

                                                            + */ + JobCreationDate: Date | undefined; + + /** + *

                                                            A flag that indicates whether there are more items to return. If your + * results were truncated, you can make a subsequent pagination request using the Marker + * request parameter to retrieve more items. Note that IAM might return fewer than the + * MaxItems number of results even when there are more results available. We recommend + * that you check IsTruncated after every call to ensure that you receive all your + * results.

                                                            + */ + IsTruncated?: boolean; + + /** + *

                                                            The status of the job.

                                                            + */ + JobStatus: JobStatusType | string | undefined; } export namespace GetOrganizationsAccessReportResponse { @@ -3908,14 +3908,6 @@ export namespace GetPolicyResponse { } export interface GetPolicyVersionRequest { - /** - *

                                                            Identifies the policy version to retrieve.

                                                            - *

                                                            This parameter allows (through its regex pattern) a string of characters that - * consists of the lowercase letter 'v' followed by one or two digits, and optionally - * followed by a period '.' and a string of letters and digits.

                                                            - */ - VersionId: string | undefined; - /** *

                                                            The Amazon Resource Name (ARN) of the managed policy that you want information * about.

                                                            @@ -3923,6 +3915,14 @@ export interface GetPolicyVersionRequest { * Namespaces in the AWS General Reference.

                                                            */ PolicyArn: string | undefined; + + /** + *

                                                            Identifies the policy version to retrieve.

                                                            + *

                                                            This parameter allows (through its regex pattern) a string of characters that + * consists of the lowercase letter 'v' followed by one or two digits, and optionally + * followed by a period '.' and a string of letters and digits.

                                                            + */ + VersionId: string | undefined; } export namespace GetPolicyVersionRequest { @@ -3981,18 +3981,18 @@ export namespace GetRoleResponse { export interface GetRolePolicyRequest { /** - *

                                                            The name of the policy document to get.

                                                            + *

                                                            The name of the role associated with the policy.

                                                            *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ - PolicyName: string | undefined; + RoleName: string | undefined; /** - *

                                                            The name of the role associated with the policy.

                                                            + *

                                                            The name of the policy document to get.

                                                            *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ - RoleName: string | undefined; + PolicyName: string | undefined; } export namespace GetRolePolicyRequest { @@ -4006,6 +4006,11 @@ export namespace GetRolePolicyRequest { *

                                                            */ export interface GetRolePolicyResponse { + /** + *

                                                            The role the policy is associated with.

                                                            + */ + RoleName: string | undefined; + /** *

                                                            The name of the policy.

                                                            */ @@ -4018,11 +4023,6 @@ export interface GetRolePolicyResponse { * YAML policy to JSON format before submitting it to IAM.

                                                            */ PolicyDocument: string | undefined; - - /** - *

                                                            The role the policy is associated with.

                                                            - */ - RoleName: string | undefined; } export namespace GetRolePolicyResponse { @@ -4058,14 +4058,14 @@ export interface GetSAMLProviderResponse { ValidUntil?: Date; /** - *

                                                            The XML metadata document that includes information about an identity provider.

                                                            + *

                                                            The date and time when the SAML provider was created.

                                                            */ - SAMLMetadataDocument?: string; + CreateDate?: Date; /** - *

                                                            The date and time when the SAML provider was created.

                                                            + *

                                                            The XML metadata document that includes information about an identity provider.

                                                            */ - CreateDate?: Date; + SAMLMetadataDocument?: string; } export namespace GetSAMLProviderResponse { @@ -4097,38 +4097,38 @@ export namespace GetServerCertificateRequest { */ export interface ServerCertificateMetadata { /** - *

                                                            The stable and unique string identifying the server certificate. For more information - * about IDs, see IAM Identifiers in the IAM User Guide.

                                                            + *

                                                            The Amazon Resource Name (ARN) specifying the server certificate. For more information + * about ARNs and how to use them in policies, see IAM Identifiers in the + * IAM User Guide.

                                                            */ - ServerCertificateId: string | undefined; + Arn: string | undefined; /** - *

                                                            The name that identifies the server certificate.

                                                            + *

                                                            The path to the server certificate. For more information about paths, see IAM + * Identifiers in the IAM User Guide.

                                                            */ - ServerCertificateName: string | undefined; + Path: string | undefined; /** - *

                                                            The date on which the certificate is set to expire.

                                                            + *

                                                            The date when the server certificate was uploaded.

                                                            */ - Expiration?: Date; + UploadDate?: Date; /** - *

                                                            The path to the server certificate. For more information about paths, see IAM - * Identifiers in the IAM User Guide.

                                                            + *

                                                            The stable and unique string identifying the server certificate. For more information + * about IDs, see IAM Identifiers in the IAM User Guide.

                                                            */ - Path: string | undefined; + ServerCertificateId: string | undefined; /** - *

                                                            The date when the server certificate was uploaded.

                                                            + *

                                                            The date on which the certificate is set to expire.

                                                            */ - UploadDate?: Date; + Expiration?: Date; /** - *

                                                            The Amazon Resource Name (ARN) specifying the server certificate. For more information - * about ARNs and how to use them in policies, see IAM Identifiers in the - * IAM User Guide.

                                                            + *

                                                            The name that identifies the server certificate.

                                                            */ - Arn: string | undefined; + ServerCertificateName: string | undefined; } export namespace ServerCertificateMetadata { @@ -4143,10 +4143,9 @@ export namespace ServerCertificateMetadata { */ export interface ServerCertificate { /** - *

                                                            The meta information of the server certificate, such as its name, path, ID, and - * ARN.

                                                            + *

                                                            The contents of the public key certificate.

                                                            */ - ServerCertificateMetadata: ServerCertificateMetadata | undefined; + CertificateBody: string | undefined; /** *

                                                            The contents of the public key certificate chain.

                                                            @@ -4154,9 +4153,10 @@ export interface ServerCertificate { CertificateChain?: string; /** - *

                                                            The contents of the public key certificate.

                                                            + *

                                                            The meta information of the server certificate, such as its name, path, ID, and + * ARN.

                                                            */ - CertificateBody: string | undefined; + ServerCertificateMetadata: ServerCertificateMetadata | undefined; } export namespace ServerCertificate { @@ -4183,6 +4183,14 @@ export namespace GetServerCertificateResponse { } export interface GetServiceLastAccessedDetailsRequest { + /** + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            + */ + Marker?: string; + /** *

                                                            The ID of the request generated by the GenerateServiceLastAccessedDetails operation. The JobId * returned by GenerateServiceLastAccessedDetail must be used by the same role @@ -4202,14 +4210,6 @@ export interface GetServiceLastAccessedDetailsRequest { * from.

                                                            */ MaxItems?: number; - - /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            - */ - Marker?: string; } export namespace GetServiceLastAccessedDetailsRequest { @@ -4224,13 +4224,12 @@ export namespace GetServiceLastAccessedDetailsRequest { */ export interface TrackedActionLastAccessed { /** - *

                                                            The date and time, in ISO 8601 date-time - * format, when an authenticated entity most recently attempted to access the - * tracked service. AWS does not report unauthenticated requests.

                                                            + *

                                                            The Region from which the authenticated entity (user or role) last attempted to access + * the tracked action. AWS does not report unauthenticated requests.

                                                            *

                                                            This field is null if no IAM entities attempted to access the service within the - * reporting period.

                                                            + * reporting period.

                                                            */ - LastAccessedTime?: Date; + LastAccessedRegion?: string; /** *

                                                            The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                            @@ -4240,12 +4239,13 @@ export interface TrackedActionLastAccessed { LastAccessedEntity?: string; /** - *

                                                            The Region from which the authenticated entity (user or role) last attempted to access - * the tracked action. AWS does not report unauthenticated requests.

                                                            + *

                                                            The date and time, in ISO 8601 date-time + * format, when an authenticated entity most recently attempted to access the + * tracked service. AWS does not report unauthenticated requests.

                                                            *

                                                            This field is null if no IAM entities attempted to access the service within the - * reporting period.

                                                            + * reporting period.

                                                            */ - LastAccessedRegion?: string; + LastAccessedTime?: Date; /** *

                                                            The name of the tracked action to which access was attempted. Tracked actions are @@ -4265,6 +4265,22 @@ export namespace TrackedActionLastAccessed { *

                                                            This data type is used as a response element in the GetServiceLastAccessedDetails operation.

                                                            */ export interface ServiceLastAccessed { + /** + *

                                                            The date and time, in ISO 8601 date-time + * format, when an authenticated entity most recently attempted to access the + * service. AWS does not report unauthenticated requests.

                                                            + *

                                                            This field is null if no IAM entities attempted to access the service within the + * reporting period.

                                                            + */ + LastAuthenticated?: Date; + + /** + *

                                                            The total number of authenticated principals (root user, IAM users, or IAM roles) + * that have attempted to access the service.

                                                            + *

                                                            This field is null if no principals attempted to access the service within the reporting period.

                                                            + */ + TotalAuthenticatedEntities?: number; + /** *

                                                            An object that contains details about the most recent attempt to access a tracked action * within the service.

                                                            @@ -4276,18 +4292,12 @@ export interface ServiceLastAccessed { TrackedActionsLastAccessed?: TrackedActionLastAccessed[]; /** - *

                                                            The name of the service in which access was attempted.

                                                            - */ - ServiceName: string | undefined; - - /** - *

                                                            The date and time, in ISO 8601 date-time - * format, when an authenticated entity most recently attempted to access the + *

                                                            The ARN of the authenticated entity (user or role) that last attempted to access the * service. AWS does not report unauthenticated requests.

                                                            *

                                                            This field is null if no IAM entities attempted to access the service within the * reporting period.

                                                            */ - LastAuthenticated?: Date; + LastAuthenticatedEntity?: string; /** *

                                                            The Region from which the authenticated entity (user or role) last attempted to access @@ -4297,6 +4307,11 @@ export interface ServiceLastAccessed { */ LastAuthenticatedRegion?: string; + /** + *

                                                            The name of the service in which access was attempted.

                                                            + */ + ServiceName: string | undefined; + /** *

                                                            The namespace of the service in which access was attempted.

                                                            *

                                                            To learn the service namespace of a service, go to Actions, @@ -4308,22 +4323,7 @@ export interface ServiceLastAccessed { * Service Namespaces in the AWS General Reference.

                                                            */ ServiceNamespace: string | undefined; - - /** - *

                                                            The ARN of the authenticated entity (user or role) that last attempted to access the - * service. AWS does not report unauthenticated requests.

                                                            - *

                                                            This field is null if no IAM entities attempted to access the service within the - * reporting period.

                                                            - */ - LastAuthenticatedEntity?: string; - - /** - *

                                                            The total number of authenticated principals (root user, IAM users, or IAM roles) - * that have attempted to access the service.

                                                            - *

                                                            This field is null if no principals attempted to access the service within the reporting period.

                                                            - */ - TotalAuthenticatedEntities?: number; -} +} export namespace ServiceLastAccessed { export const filterSensitiveLog = (obj: ServiceLastAccessed): any => ({ @@ -4334,20 +4334,18 @@ export namespace ServiceLastAccessed { export interface GetServiceLastAccessedDetailsResponse { /** *

                                                            The date and time, in ISO 8601 date-time - * format, when the report job was created.

                                                            - */ - JobCreationDate: Date | undefined; - - /** - *

                                                            ServiceLastAccessed object that contains details about the most recent - * attempt to access the service.

                                                            + * format, when the generated report job was completed or failed.

                                                            + *

                                                            This field is null if the job is still in progress, as indicated by a job status value + * of IN_PROGRESS.

                                                            */ - ServicesLastAccessed: ServiceLastAccessed[] | undefined; + JobCompletionDate: Date | undefined; /** - *

                                                            The status of the job.

                                                            + *

                                                            When IsTruncated is true, this element + * is present and contains the value to use for the Marker parameter in a subsequent + * pagination request.

                                                            */ - JobStatus: JobStatusType | string | undefined; + Marker?: string; /** *

                                                            A flag that indicates whether there are more items to return. If your @@ -4360,31 +4358,33 @@ export interface GetServiceLastAccessedDetailsResponse { IsTruncated?: boolean; /** - *

                                                            The type of job. Service jobs return information about when each service was last - * accessed. Action jobs also include information about when tracked actions within the - * service were last accessed.

                                                            + *

                                                            An object that contains details about the reason the operation failed.

                                                            */ - JobType?: AccessAdvisorUsageGranularityType | string; + Error?: ErrorDetails; /** - *

                                                            When IsTruncated is true, this element - * is present and contains the value to use for the Marker parameter in a subsequent - * pagination request.

                                                            + *

                                                            The date and time, in ISO 8601 date-time + * format, when the report job was created.

                                                            */ - Marker?: string; + JobCreationDate: Date | undefined; /** - *

                                                            The date and time, in ISO 8601 date-time - * format, when the generated report job was completed or failed.

                                                            - *

                                                            This field is null if the job is still in progress, as indicated by a job status value - * of IN_PROGRESS.

                                                            + *

                                                            ServiceLastAccessed object that contains details about the most recent + * attempt to access the service.

                                                            */ - JobCompletionDate: Date | undefined; + ServicesLastAccessed: ServiceLastAccessed[] | undefined; /** - *

                                                            An object that contains details about the reason the operation failed.

                                                            + *

                                                            The status of the job.

                                                            */ - Error?: ErrorDetails; + JobStatus: JobStatusType | string | undefined; + + /** + *

                                                            The type of job. Service jobs return information about when each service was last + * accessed. Action jobs also include information about when tracked actions within the + * service were last accessed.

                                                            + */ + JobType?: AccessAdvisorUsageGranularityType | string; } export namespace GetServiceLastAccessedDetailsResponse { @@ -4395,10 +4395,12 @@ export namespace GetServiceLastAccessedDetailsResponse { export interface GetServiceLastAccessedDetailsWithEntitiesRequest { /** - *

                                                            The ID of the request generated by the GenerateServiceLastAccessedDetails - * operation.

                                                            + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            */ - JobId: string | undefined; + Marker?: string; /** *

                                                            The service namespace for an AWS service. Provide the service namespace to learn when @@ -4426,12 +4428,10 @@ export interface GetServiceLastAccessedDetailsWithEntitiesRequest { MaxItems?: number; /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            + *

                                                            The ID of the request generated by the GenerateServiceLastAccessedDetails + * operation.

                                                            */ - Marker?: string; + JobId: string | undefined; } export namespace GetServiceLastAccessedDetailsWithEntitiesRequest { @@ -4452,14 +4452,9 @@ export enum PolicyOwnerEntityType { */ export interface EntityInfo { /** - *

                                                            The name of the entity (user or role).

                                                            - */ - Name: string | undefined; - - /** - *

                                                            The identifier of the entity (user or role).

                                                            + *

                                                            The type of entity (user or role).

                                                            */ - Id: string | undefined; + Type: PolicyOwnerEntityType | string | undefined; /** *

                                                            The path to the entity (user or role). For more information about paths, see IAM @@ -4467,6 +4462,11 @@ export interface EntityInfo { */ Path?: string; + /** + *

                                                            The name of the entity (user or role).

                                                            + */ + Name: string | undefined; + /** *

                                                            The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                            *

                                                            For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS @@ -4475,9 +4475,9 @@ export interface EntityInfo { Arn: string | undefined; /** - *

                                                            The type of entity (user or role).

                                                            + *

                                                            The identifier of the entity (user or role).

                                                            */ - Type: PolicyOwnerEntityType | string | undefined; + Id: string | undefined; } export namespace EntityInfo { @@ -4515,6 +4515,25 @@ export namespace EntityDetails { } export interface GetServiceLastAccessedDetailsWithEntitiesResponse { + /** + *

                                                            An EntityDetailsList object that contains details about when an IAM + * entity (user or role) used group or policy permissions in an attempt to access the + * specified AWS service.

                                                            + */ + EntityDetailsList: EntityDetails[] | undefined; + + /** + *

                                                            The status of the job.

                                                            + */ + JobStatus: JobStatusType | string | undefined; + + /** + *

                                                            When IsTruncated is true, this element + * is present and contains the value to use for the Marker parameter in a subsequent + * pagination request.

                                                            + */ + Marker?: string; + /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -4538,30 +4557,11 @@ export interface GetServiceLastAccessedDetailsWithEntitiesResponse { */ JobCompletionDate: Date | undefined; - /** - *

                                                            When IsTruncated is true, this element - * is present and contains the value to use for the Marker parameter in a subsequent - * pagination request.

                                                            - */ - Marker?: string; - /** *

                                                            The date and time, in ISO 8601 date-time * format, when the report job was created.

                                                            */ JobCreationDate: Date | undefined; - - /** - *

                                                            The status of the job.

                                                            - */ - JobStatus: JobStatusType | string | undefined; - - /** - *

                                                            An EntityDetailsList object that contains details about when an IAM - * entity (user or role) used group or policy permissions in an attempt to access the - * specified AWS service.

                                                            - */ - EntityDetailsList: EntityDetails[] | undefined; } export namespace GetServiceLastAccessedDetailsWithEntitiesResponse { @@ -4612,11 +4612,6 @@ export namespace RoleUsageType { *

                                                            This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus operation.

                                                            */ export interface DeletionTaskFailureReasonType { - /** - *

                                                            A short description of the reason that the service-linked role deletion failed.

                                                            - */ - Reason?: string; - /** *

                                                            A list of objects that contains details about the service-linked role deletion failure, * if that information is returned by the service. If the service-linked role has active @@ -4626,6 +4621,11 @@ export interface DeletionTaskFailureReasonType { * used.

                                                            */ RoleUsageList?: RoleUsageType[]; + + /** + *

                                                            A short description of the reason that the service-linked role deletion failed.

                                                            + */ + Reason?: string; } export namespace DeletionTaskFailureReasonType { @@ -4662,13 +4662,6 @@ export namespace GetServiceLinkedRoleDeletionStatusResponse { export type EncodingType = "PEM" | "SSH"; export interface GetSSHPublicKeyRequest { - /** - *

                                                            The name of the IAM user associated with the SSH public key.

                                                            - *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            - */ - UserName: string | undefined; - /** *

                                                            The unique identifier for the SSH public key.

                                                            *

                                                            This parameter allows (through its regex pattern) a string of characters that can @@ -4676,6 +4669,13 @@ export interface GetSSHPublicKeyRequest { */ SSHPublicKeyId: string | undefined; + /** + *

                                                            The name of the IAM user associated with the SSH public key.

                                                            + *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            + */ + UserName: string | undefined; + /** *

                                                            Specifies the public key encoding format to use in the response. To retrieve the public * key in ssh-rsa format, use SSH. To retrieve the public key in PEM format, use @@ -4697,10 +4697,9 @@ export namespace GetSSHPublicKeyRequest { */ export interface SSHPublicKey { /** - *

                                                            The date and time, in ISO 8601 date-time - * format, when the SSH public key was uploaded.

                                                            + *

                                                            The SSH public key.

                                                            */ - UploadDate?: Date; + SSHPublicKeyBody: string | undefined; /** *

                                                            The name of the IAM user associated with the SSH public key.

                                                            @@ -4708,16 +4707,15 @@ export interface SSHPublicKey { UserName: string | undefined; /** - *

                                                            The status of the SSH public key. Active means that the key can be used for - * authentication with an AWS CodeCommit repository. Inactive means that the key - * cannot be used.

                                                            + *

                                                            The date and time, in ISO 8601 date-time + * format, when the SSH public key was uploaded.

                                                            */ - Status: StatusType | string | undefined; + UploadDate?: Date; /** - *

                                                            The SSH public key.

                                                            + *

                                                            The unique identifier for the SSH public key.

                                                            */ - SSHPublicKeyBody: string | undefined; + SSHPublicKeyId: string | undefined; /** *

                                                            The MD5 message digest of the SSH public key.

                                                            @@ -4725,9 +4723,11 @@ export interface SSHPublicKey { Fingerprint: string | undefined; /** - *

                                                            The unique identifier for the SSH public key.

                                                            + *

                                                            The status of the SSH public key. Active means that the key can be used for + * authentication with an AWS CodeCommit repository. Inactive means that the key + * cannot be used.

                                                            */ - SSHPublicKeyId: string | undefined; + Status: StatusType | string | undefined; } export namespace SSHPublicKey { @@ -4869,18 +4869,6 @@ export namespace GetUserPolicyResponse { } export interface ListAccessKeysRequest { - /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; - /** *

                                                            Use this parameter only when paginating results and only after * you receive a response indicating that the results are truncated. Set it to the value of the @@ -4895,6 +4883,18 @@ export interface ListAccessKeysRequest { * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ UserName?: string; + + /** + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            + */ + MaxItems?: number; } export namespace ListAccessKeysRequest { @@ -4908,11 +4908,6 @@ export namespace ListAccessKeysRequest { *

                                                            */ export interface ListAccessKeysResponse { - /** - *

                                                            A list of objects containing metadata about the access keys.

                                                            - */ - AccessKeyMetadata: AccessKeyMetadata[] | undefined; - /** *

                                                            When IsTruncated is true, this element * is present and contains the value to use for the Marker parameter in a subsequent @@ -4920,6 +4915,11 @@ export interface ListAccessKeysResponse { */ Marker?: string; + /** + *

                                                            A list of objects containing metadata about the access keys.

                                                            + */ + AccessKeyMetadata: AccessKeyMetadata[] | undefined; + /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -4938,6 +4938,14 @@ export namespace ListAccessKeysResponse { } export interface ListAccountAliasesRequest { + /** + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            + */ + Marker?: string; + /** *

                                                            Use this only when paginating results to indicate the * maximum number of items you want in the response. If additional items exist beyond the maximum @@ -4949,14 +4957,6 @@ export interface ListAccountAliasesRequest { * from.

                                                            */ MaxItems?: number; - - /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            - */ - Marker?: string; } export namespace ListAccountAliasesRequest { @@ -4970,6 +4970,12 @@ export namespace ListAccountAliasesRequest { *

                                                            */ export interface ListAccountAliasesResponse { + /** + *

                                                            A list of aliases associated with the account. AWS supports only one alias per + * account.

                                                            + */ + AccountAliases: string[] | undefined; + /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -4980,12 +4986,6 @@ export interface ListAccountAliasesResponse { */ IsTruncated?: boolean; - /** - *

                                                            A list of aliases associated with the account. AWS supports only one alias per - * account.

                                                            - */ - AccountAliases: string[] | undefined; - /** *

                                                            When IsTruncated is true, this element * is present and contains the value to use for the Marker parameter in a subsequent @@ -5002,41 +5002,41 @@ export namespace ListAccountAliasesResponse { export interface ListAttachedGroupPoliciesRequest { /** - *

                                                            The name (friendly name, not ARN) of the group to list attached policies for.

                                                            - *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            */ - GroupName: string | undefined; + MaxItems?: number; /** - *

                                                            The path prefix for filtering the results. This parameter is optional. If it is not - * included, it defaults to a slash (/), listing all policies.

                                                            - *

                                                            This parameter allows (through its regex pattern) a string of characters consisting - * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. - * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including - * most punctuation characters, digits, and upper and lowercased letters.

                                                            + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            */ - PathPrefix?: string; + Marker?: string; /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            + *

                                                            The name (friendly name, not ARN) of the group to list attached policies for.

                                                            + *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ - MaxItems?: number; + GroupName: string | undefined; /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            + *

                                                            The path prefix for filtering the results. This parameter is optional. If it is not + * included, it defaults to a slash (/), listing all policies.

                                                            + *

                                                            This parameter allows (through its regex pattern) a string of characters consisting + * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. + * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including + * most punctuation characters, digits, and upper and lowercased letters.

                                                            */ - Marker?: string; + PathPrefix?: string; } export namespace ListAttachedGroupPoliciesRequest { @@ -5050,13 +5050,6 @@ export namespace ListAttachedGroupPoliciesRequest { * request.

                                                            */ export interface ListAttachedGroupPoliciesResponse { - /** - *

                                                            When IsTruncated is true, this element - * is present and contains the value to use for the Marker parameter in a subsequent - * pagination request.

                                                            - */ - Marker?: string; - /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -5071,6 +5064,13 @@ export interface ListAttachedGroupPoliciesResponse { *

                                                            A list of the attached policies.

                                                            */ AttachedPolicies?: AttachedPolicy[]; + + /** + *

                                                            When IsTruncated is true, this element + * is present and contains the value to use for the Marker parameter in a subsequent + * pagination request.

                                                            + */ + Marker?: string; } export namespace ListAttachedGroupPoliciesResponse { @@ -5081,21 +5081,16 @@ export namespace ListAttachedGroupPoliciesResponse { export interface ListAttachedRolePoliciesRequest { /** - *

                                                            The path prefix for filtering the results. This parameter is optional. If it is not - * included, it defaults to a slash (/), listing all policies.

                                                            - *

                                                            This parameter allows (through its regex pattern) a string of characters consisting - * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. - * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including - * most punctuation characters, digits, and upper and lowercased letters.

                                                            - */ - PathPrefix?: string; - - /** - *

                                                            The name (friendly name, not ARN) of the role to list attached policies for.

                                                            - *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            */ - RoleName: string | undefined; + MaxItems?: number; /** *

                                                            Use this parameter only when paginating results and only after @@ -5106,16 +5101,21 @@ export interface ListAttachedRolePoliciesRequest { Marker?: string; /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            + *

                                                            The name (friendly name, not ARN) of the role to list attached policies for.

                                                            + *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ - MaxItems?: number; + RoleName: string | undefined; + + /** + *

                                                            The path prefix for filtering the results. This parameter is optional. If it is not + * included, it defaults to a slash (/), listing all policies.

                                                            + *

                                                            This parameter allows (through its regex pattern) a string of characters consisting + * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. + * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including + * most punctuation characters, digits, and upper and lowercased letters.

                                                            + */ + PathPrefix?: string; } export namespace ListAttachedRolePoliciesRequest { @@ -5167,6 +5167,13 @@ export interface ListAttachedUserPoliciesRequest { */ Marker?: string; + /** + *

                                                            The name (friendly name, not ARN) of the user to list attached policies for.

                                                            + *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            + */ + UserName: string | undefined; + /** *

                                                            The path prefix for filtering the results. This parameter is optional. If it is not * included, it defaults to a slash (/), listing all policies.

                                                            @@ -5188,13 +5195,6 @@ export interface ListAttachedUserPoliciesRequest { * from.

                                                            */ MaxItems?: number; - - /** - *

                                                            The name (friendly name, not ARN) of the user to list attached policies for.

                                                            - *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            - */ - UserName: string | undefined; } export namespace ListAttachedUserPoliciesRequest { @@ -5240,35 +5240,6 @@ export namespace ListAttachedUserPoliciesResponse { export type PolicyUsageType = "PermissionsBoundary" | "PermissionsPolicy"; export interface ListEntitiesForPolicyRequest { - /** - *

                                                            The path prefix for filtering the results. This parameter is optional. If it is not - * included, it defaults to a slash (/), listing all entities.

                                                            - *

                                                            This parameter allows (through its regex pattern) a string of characters consisting - * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. - * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including - * most punctuation characters, digits, and upper and lowercased letters.

                                                            - */ - PathPrefix?: string; - - /** - *

                                                            The policy usage method to use for filtering the results.

                                                            - *

                                                            To list only permissions policies, - * set PolicyUsageFilter to PermissionsPolicy. To list only the - * policies used to set permissions boundaries, set the value - * to PermissionsBoundary.

                                                            - *

                                                            This parameter is optional. If it is not included, all policies are returned.

                                                            - */ - PolicyUsageFilter?: PolicyUsageType | string; - - /** - *

                                                            The entity type to use for filtering the results.

                                                            - *

                                                            For example, when EntityFilter is Role, only the roles that - * are attached to the specified policy are returned. This parameter is optional. If it is not - * included, all attached entities (users, groups, and roles) are returned. The argument for - * this parameter must be one of the valid values listed below.

                                                            - */ - EntityFilter?: EntityType | string; - /** *

                                                            Use this only when paginating results to indicate the * maximum number of items you want in the response. If additional items exist beyond the maximum @@ -5289,6 +5260,15 @@ export interface ListEntitiesForPolicyRequest { */ Marker?: string; + /** + *

                                                            The entity type to use for filtering the results.

                                                            + *

                                                            For example, when EntityFilter is Role, only the roles that + * are attached to the specified policy are returned. This parameter is optional. If it is not + * included, all attached entities (users, groups, and roles) are returned. The argument for + * this parameter must be one of the valid values listed below.

                                                            + */ + EntityFilter?: EntityType | string; + /** *

                                                            The Amazon Resource Name (ARN) of the IAM policy for which you want the * versions.

                                                            @@ -5296,6 +5276,26 @@ export interface ListEntitiesForPolicyRequest { * Namespaces in the AWS General Reference.

                                                            */ PolicyArn: string | undefined; + + /** + *

                                                            The path prefix for filtering the results. This parameter is optional. If it is not + * included, it defaults to a slash (/), listing all entities.

                                                            + *

                                                            This parameter allows (through its regex pattern) a string of characters consisting + * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. + * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including + * most punctuation characters, digits, and upper and lowercased letters.

                                                            + */ + PathPrefix?: string; + + /** + *

                                                            The policy usage method to use for filtering the results.

                                                            + *

                                                            To list only permissions policies, + * set PolicyUsageFilter to PermissionsPolicy. To list only the + * policies used to set permissions boundaries, set the value + * to PermissionsBoundary.

                                                            + *

                                                            This parameter is optional. If it is not included, all policies are returned.

                                                            + */ + PolicyUsageFilter?: PolicyUsageType | string; } export namespace ListEntitiesForPolicyRequest { @@ -5387,6 +5387,11 @@ export namespace PolicyUser { *

                                                            */ export interface ListEntitiesForPolicyResponse { + /** + *

                                                            A list of IAM roles that the policy is attached to.

                                                            + */ + PolicyRoles?: PolicyRole[]; + /** *

                                                            When IsTruncated is true, this element * is present and contains the value to use for the Marker parameter in a subsequent @@ -5409,11 +5414,6 @@ export interface ListEntitiesForPolicyResponse { */ IsTruncated?: boolean; - /** - *

                                                            A list of IAM roles that the policy is attached to.

                                                            - */ - PolicyRoles?: PolicyRole[]; - /** *

                                                            A list of IAM groups that the policy is attached to.

                                                            */ @@ -5427,14 +5427,6 @@ export namespace ListEntitiesForPolicyResponse { } export interface ListGroupPoliciesRequest { - /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            - */ - Marker?: string; - /** *

                                                            Use this only when paginating results to indicate the * maximum number of items you want in the response. If additional items exist beyond the maximum @@ -5453,6 +5445,14 @@ export interface ListGroupPoliciesRequest { * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ GroupName: string | undefined; + + /** + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            + */ + Marker?: string; } export namespace ListGroupPoliciesRequest { @@ -5466,6 +5466,16 @@ export namespace ListGroupPoliciesRequest { *

                                                            */ export interface ListGroupPoliciesResponse { + /** + *

                                                            A flag that indicates whether there are more items to return. If your + * results were truncated, you can make a subsequent pagination request using the Marker + * request parameter to retrieve more items. Note that IAM might return fewer than the + * MaxItems number of results even when there are more results available. We recommend + * that you check IsTruncated after every call to ensure that you receive all your + * results.

                                                            + */ + IsTruncated?: boolean; + /** *

                                                            A list of policy names.

                                                            *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric @@ -5479,16 +5489,6 @@ export interface ListGroupPoliciesResponse { * pagination request.

                                                            */ Marker?: string; - - /** - *

                                                            A flag that indicates whether there are more items to return. If your - * results were truncated, you can make a subsequent pagination request using the Marker - * request parameter to retrieve more items. Note that IAM might return fewer than the - * MaxItems number of results even when there are more results available. We recommend - * that you check IsTruncated after every call to ensure that you receive all your - * results.

                                                            - */ - IsTruncated?: boolean; } export namespace ListGroupPoliciesResponse { @@ -5498,18 +5498,6 @@ export namespace ListGroupPoliciesResponse { } export interface ListGroupsRequest { - /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; - /** *

                                                            The path prefix for filtering the results. For example, the prefix * /division_abc/subdivision_xyz/ gets all groups whose path starts with @@ -5529,6 +5517,18 @@ export interface ListGroupsRequest { * should start.

                                                            */ Marker?: string; + + /** + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            + */ + MaxItems?: number; } export namespace ListGroupsRequest { @@ -5541,6 +5541,11 @@ export namespace ListGroupsRequest { *

                                                            Contains the response to a successful ListGroups request.

                                                            */ export interface ListGroupsResponse { + /** + *

                                                            A list of groups.

                                                            + */ + Groups: Group[] | undefined; + /** *

                                                            When IsTruncated is true, this element * is present and contains the value to use for the Marker parameter in a subsequent @@ -5557,11 +5562,6 @@ export interface ListGroupsResponse { * results.

                                                            */ IsTruncated?: boolean; - - /** - *

                                                            A list of groups.

                                                            - */ - Groups: Group[] | undefined; } export namespace ListGroupsResponse { @@ -5572,16 +5572,12 @@ export namespace ListGroupsResponse { export interface ListGroupsForUserRequest { /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            + */ + Marker?: string; /** *

                                                            The name of the user to list groups for.

                                                            @@ -5591,12 +5587,16 @@ export interface ListGroupsForUserRequest { UserName: string | undefined; /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            */ - Marker?: string; + MaxItems?: number; } export namespace ListGroupsForUserRequest { @@ -5610,6 +5610,13 @@ export namespace ListGroupsForUserRequest { *

                                                            */ export interface ListGroupsForUserResponse { + /** + *

                                                            When IsTruncated is true, this element + * is present and contains the value to use for the Marker parameter in a subsequent + * pagination request.

                                                            + */ + Marker?: string; + /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -5624,13 +5631,6 @@ export interface ListGroupsForUserResponse { *

                                                            A list of groups.

                                                            */ Groups: Group[] | undefined; - - /** - *

                                                            When IsTruncated is true, this element - * is present and contains the value to use for the Marker parameter in a subsequent - * pagination request.

                                                            - */ - Marker?: string; } export namespace ListGroupsForUserResponse { @@ -5640,6 +5640,18 @@ export namespace ListGroupsForUserResponse { } export interface ListInstanceProfilesRequest { + /** + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            + */ + MaxItems?: number; + /** *

                                                            Use this parameter only when paginating results and only after * you receive a response indicating that the results are truncated. Set it to the value of the @@ -5659,18 +5671,6 @@ export interface ListInstanceProfilesRequest { * most punctuation characters, digits, and upper and lowercased letters.

                                                            */ PathPrefix?: string; - - /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; } export namespace ListInstanceProfilesRequest { @@ -5684,6 +5684,16 @@ export namespace ListInstanceProfilesRequest { *

                                                            */ export interface ListInstanceProfilesResponse { + /** + *

                                                            A flag that indicates whether there are more items to return. If your + * results were truncated, you can make a subsequent pagination request using the Marker + * request parameter to retrieve more items. Note that IAM might return fewer than the + * MaxItems number of results even when there are more results available. We recommend + * that you check IsTruncated after every call to ensure that you receive all your + * results.

                                                            + */ + IsTruncated?: boolean; + /** *

                                                            When IsTruncated is true, this element * is present and contains the value to use for the Marker parameter in a subsequent @@ -5695,16 +5705,6 @@ export interface ListInstanceProfilesResponse { *

                                                            A list of instance profiles.

                                                            */ InstanceProfiles: InstanceProfile[] | undefined; - - /** - *

                                                            A flag that indicates whether there are more items to return. If your - * results were truncated, you can make a subsequent pagination request using the Marker - * request parameter to retrieve more items. Note that IAM might return fewer than the - * MaxItems number of results even when there are more results available. We recommend - * that you check IsTruncated after every call to ensure that you receive all your - * results.

                                                            - */ - IsTruncated?: boolean; } export namespace ListInstanceProfilesResponse { @@ -5714,13 +5714,6 @@ export namespace ListInstanceProfilesResponse { } export interface ListInstanceProfilesForRoleRequest { - /** - *

                                                            The name of the role to list instance profiles for.

                                                            - *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            - */ - RoleName: string | undefined; - /** *

                                                            Use this parameter only when paginating results and only after * you receive a response indicating that the results are truncated. Set it to the value of the @@ -5740,6 +5733,13 @@ export interface ListInstanceProfilesForRoleRequest { * from.

                                                            */ MaxItems?: number; + + /** + *

                                                            The name of the role to list instance profiles for.

                                                            + *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            + */ + RoleName: string | undefined; } export namespace ListInstanceProfilesForRoleRequest { @@ -5753,6 +5753,16 @@ export namespace ListInstanceProfilesForRoleRequest { * request.

                                                            */ export interface ListInstanceProfilesForRoleResponse { + /** + *

                                                            A flag that indicates whether there are more items to return. If your + * results were truncated, you can make a subsequent pagination request using the Marker + * request parameter to retrieve more items. Note that IAM might return fewer than the + * MaxItems number of results even when there are more results available. We recommend + * that you check IsTruncated after every call to ensure that you receive all your + * results.

                                                            + */ + IsTruncated?: boolean; + /** *

                                                            A list of instance profiles.

                                                            */ @@ -5764,16 +5774,6 @@ export interface ListInstanceProfilesForRoleResponse { * pagination request.

                                                            */ Marker?: string; - - /** - *

                                                            A flag that indicates whether there are more items to return. If your - * results were truncated, you can make a subsequent pagination request using the Marker - * request parameter to retrieve more items. Note that IAM might return fewer than the - * MaxItems number of results even when there are more results available. We recommend - * that you check IsTruncated after every call to ensure that you receive all your - * results.

                                                            - */ - IsTruncated?: boolean; } export namespace ListInstanceProfilesForRoleResponse { @@ -5783,6 +5783,18 @@ export namespace ListInstanceProfilesForRoleResponse { } export interface ListMFADevicesRequest { + /** + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            + */ + MaxItems?: number; + /** *

                                                            The name of the user whose MFA devices you want to list.

                                                            *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric @@ -5797,18 +5809,6 @@ export interface ListMFADevicesRequest { * should start.

                                                            */ Marker?: string; - - /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; } export namespace ListMFADevicesRequest { @@ -5829,15 +5829,15 @@ export interface MFADevice { UserName: string | undefined; /** - *

                                                            The serial number that uniquely identifies the MFA device. For virtual MFA devices, the - * serial number is the device ARN.

                                                            + *

                                                            The date when the MFA device was enabled for the user.

                                                            */ - SerialNumber: string | undefined; + EnableDate: Date | undefined; /** - *

                                                            The date when the MFA device was enabled for the user.

                                                            + *

                                                            The serial number that uniquely identifies the MFA device. For virtual MFA devices, the + * serial number is the device ARN.

                                                            */ - EnableDate: Date | undefined; + SerialNumber: string | undefined; } export namespace MFADevice { @@ -5851,11 +5851,6 @@ export namespace MFADevice { *

                                                            */ export interface ListMFADevicesResponse { - /** - *

                                                            A list of MFA devices.

                                                            - */ - MFADevices: MFADevice[] | undefined; - /** *

                                                            When IsTruncated is true, this element * is present and contains the value to use for the Marker parameter in a subsequent @@ -5863,6 +5858,11 @@ export interface ListMFADevicesResponse { */ Marker?: string; + /** + *

                                                            A list of MFA devices.

                                                            + */ + MFADevices: MFADevice[] | undefined; + /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -5930,26 +5930,6 @@ export enum PolicyScopeType { } export interface ListPoliciesRequest { - /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; - - /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            - */ - Marker?: string; - /** *

                                                            The policy usage method to use for filtering the results.

                                                            *

                                                            To list only permissions policies, @@ -5960,6 +5940,16 @@ export interface ListPoliciesRequest { */ PolicyUsageFilter?: PolicyUsageType | string; + /** + *

                                                            The scope to use for filtering the results.

                                                            + *

                                                            To list only AWS managed policies, set Scope to AWS. To list + * only the customer managed policies in your AWS account, set Scope to + * Local.

                                                            + *

                                                            This parameter is optional. If it is not included, or if it is set to All, + * all policies are returned.

                                                            + */ + Scope?: PolicyScopeType | string; + /** *

                                                            The path prefix for filtering the results. This parameter is optional. If it is not * included, it defaults to a slash (/), listing all policies. This parameter allows (through its regex pattern) a string of characters consisting @@ -5969,6 +5959,18 @@ export interface ListPoliciesRequest { */ PathPrefix?: string; + /** + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            + */ + MaxItems?: number; + /** *

                                                            A flag to filter the results to only the attached policies.

                                                            *

                                                            When OnlyAttached is true, the returned list contains only the @@ -5979,14 +5981,12 @@ export interface ListPoliciesRequest { OnlyAttached?: boolean; /** - *

                                                            The scope to use for filtering the results.

                                                            - *

                                                            To list only AWS managed policies, set Scope to AWS. To list - * only the customer managed policies in your AWS account, set Scope to - * Local.

                                                            - *

                                                            This parameter is optional. If it is not included, or if it is set to All, - * all policies are returned.

                                                            + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            */ - Scope?: PolicyScopeType | string; + Marker?: string; } export namespace ListPoliciesRequest { @@ -6000,13 +6000,6 @@ export namespace ListPoliciesRequest { *

                                                            */ export interface ListPoliciesResponse { - /** - *

                                                            When IsTruncated is true, this element - * is present and contains the value to use for the Marker parameter in a subsequent - * pagination request.

                                                            - */ - Marker?: string; - /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -6021,6 +6014,13 @@ export interface ListPoliciesResponse { *

                                                            A list of policies.

                                                            */ Policies?: Policy[]; + + /** + *

                                                            When IsTruncated is true, this element + * is present and contains the value to use for the Marker parameter in a subsequent + * pagination request.

                                                            + */ + Marker?: string; } export namespace ListPoliciesResponse { @@ -6030,12 +6030,6 @@ export namespace ListPoliciesResponse { } export interface ListPoliciesGrantingServiceAccessRequest { - /** - *

                                                            The ARN of the IAM identity (user, group, or role) whose policies you want to - * list.

                                                            - */ - Arn: string | undefined; - /** *

                                                            The service namespace for the AWS services whose policies you want to list.

                                                            *

                                                            To learn the service namespace for a service, go to Actions, @@ -6055,6 +6049,12 @@ export interface ListPoliciesGrantingServiceAccessRequest { * should start.

                                                            */ Marker?: string; + + /** + *

                                                            The ARN of the IAM identity (user, group, or role) whose policies you want to + * list.

                                                            + */ + Arn: string | undefined; } export namespace ListPoliciesGrantingServiceAccessRequest { @@ -6074,6 +6074,13 @@ export enum PolicyType { *

                                                            This data type is an element of the ListPoliciesGrantingServiceAccessEntry object.

                                                            */ export interface PolicyGrantingServiceAccess { + /** + *

                                                            The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                            + *

                                                            For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS + * Service Namespaces in the AWS General Reference.

                                                            + */ + PolicyArn?: string; + /** *

                                                            The policy type. For more information about these policy types, see Managed * Policies and Inline Policies in the @@ -6081,11 +6088,6 @@ export interface PolicyGrantingServiceAccess { */ PolicyType: PolicyType | string | undefined; - /** - *

                                                            The policy name.

                                                            - */ - PolicyName: string | undefined; - /** *

                                                            The name of the entity (user or role) to which the inline policy is attached.

                                                            *

                                                            This field is null for managed policies. For more information about these policy types, @@ -6095,11 +6097,9 @@ export interface PolicyGrantingServiceAccess { EntityName?: string; /** - *

                                                            The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

                                                            - *

                                                            For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS - * Service Namespaces in the AWS General Reference.

                                                            + *

                                                            The policy name.

                                                            */ - PolicyArn?: string; + PolicyName: string | undefined; /** *

                                                            The type of entity (user or role) that used the policy to access the service to which @@ -6179,14 +6179,6 @@ export namespace ListPoliciesGrantingServiceAccessResponse { } export interface ListPolicyVersionsRequest { - /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            - */ - Marker?: string; - /** *

                                                            Use this only when paginating results to indicate the * maximum number of items you want in the response. If additional items exist beyond the maximum @@ -6206,6 +6198,14 @@ export interface ListPolicyVersionsRequest { * Namespaces in the AWS General Reference.

                                                            */ PolicyArn: string | undefined; + + /** + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            + */ + Marker?: string; } export namespace ListPolicyVersionsRequest { @@ -6219,16 +6219,6 @@ export namespace ListPolicyVersionsRequest { *

                                                            */ export interface ListPolicyVersionsResponse { - /** - *

                                                            A flag that indicates whether there are more items to return. If your - * results were truncated, you can make a subsequent pagination request using the Marker - * request parameter to retrieve more items. Note that IAM might return fewer than the - * MaxItems number of results even when there are more results available. We recommend - * that you check IsTruncated after every call to ensure that you receive all your - * results.

                                                            - */ - IsTruncated?: boolean; - /** *

                                                            A list of policy versions.

                                                            *

                                                            For more information about managed policy versions, see Versioning for Managed @@ -6242,6 +6232,16 @@ export interface ListPolicyVersionsResponse { * pagination request.

                                                            */ Marker?: string; + + /** + *

                                                            A flag that indicates whether there are more items to return. If your + * results were truncated, you can make a subsequent pagination request using the Marker + * request parameter to retrieve more items. Note that IAM might return fewer than the + * MaxItems number of results even when there are more results available. We recommend + * that you check IsTruncated after every call to ensure that you receive all your + * results.

                                                            + */ + IsTruncated?: boolean; } export namespace ListPolicyVersionsResponse { @@ -6251,14 +6251,6 @@ export namespace ListPolicyVersionsResponse { } export interface ListRolePoliciesRequest { - /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            - */ - Marker?: string; - /** *

                                                            The name of the role to list policies for.

                                                            *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric @@ -6277,6 +6269,14 @@ export interface ListRolePoliciesRequest { * from.

                                                            */ MaxItems?: number; + + /** + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            + */ + Marker?: string; } export namespace ListRolePoliciesRequest { @@ -6320,18 +6320,6 @@ export namespace ListRolePoliciesResponse { } export interface ListRolesRequest { - /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; - /** *

                                                            The path prefix for filtering the results. For example, the prefix * /application_abc/component_xyz/ gets all roles whose path starts with @@ -6344,6 +6332,18 @@ export interface ListRolesRequest { */ PathPrefix?: string; + /** + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            + */ + MaxItems?: number; + /** *

                                                            Use this parameter only when paginating results and only after * you receive a response indicating that the results are truncated. Set it to the value of the @@ -6364,11 +6364,9 @@ export namespace ListRolesRequest { */ export interface ListRolesResponse { /** - *

                                                            When IsTruncated is true, this element - * is present and contains the value to use for the Marker parameter in a subsequent - * pagination request.

                                                            + *

                                                            A list of roles.

                                                            */ - Marker?: string; + Roles: Role[] | undefined; /** *

                                                            A flag that indicates whether there are more items to return. If your @@ -6381,9 +6379,11 @@ export interface ListRolesResponse { IsTruncated?: boolean; /** - *

                                                            A list of roles.

                                                            + *

                                                            When IsTruncated is true, this element + * is present and contains the value to use for the Marker parameter in a subsequent + * pagination request.

                                                            */ - Roles: Role[] | undefined; + Marker?: string; } export namespace ListRolesResponse { @@ -6394,11 +6394,12 @@ export namespace ListRolesResponse { export interface ListRoleTagsRequest { /** - *

                                                            The name of the IAM role for which you want to see the list of tags.

                                                            - *

                                                            This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            */ - RoleName: string | undefined; + Marker?: string; /** *

                                                            (Optional) Use this only when paginating results to indicate the @@ -6412,12 +6413,11 @@ export interface ListRoleTagsRequest { MaxItems?: number; /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            + *

                                                            The name of the IAM role for which you want to see the list of tags.

                                                            + *

                                                            This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ - Marker?: string; + RoleName: string | undefined; } export namespace ListRoleTagsRequest { @@ -6427,6 +6427,13 @@ export namespace ListRoleTagsRequest { } export interface ListRoleTagsResponse { + /** + *

                                                            The list of tags currently that is attached to the role. Each tag consists of a key + * name and an associated value. If no tags are attached to the specified role, the response + * contains an empty list.

                                                            + */ + Tags: Tag[] | undefined; + /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can use the Marker request parameter to make a subsequent pagination request that retrieves more items. Note that IAM might return fewer than the @@ -6441,13 +6448,6 @@ export interface ListRoleTagsResponse { * pagination request.

                                                            */ Marker?: string; - - /** - *

                                                            The list of tags currently that is attached to the role. Each tag consists of a key - * name and an associated value. If no tags are attached to the specified role, the response - * contains an empty list.

                                                            - */ - Tags: Tag[] | undefined; } export namespace ListRoleTagsResponse { @@ -6509,14 +6509,6 @@ export namespace ListSAMLProvidersResponse { } export interface ListServerCertificatesRequest { - /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            - */ - Marker?: string; - /** *

                                                            The path prefix for filtering the results. For example: * /company/servercerts would get all server certificates for which the path @@ -6529,6 +6521,14 @@ export interface ListServerCertificatesRequest { */ PathPrefix?: string; + /** + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            + */ + Marker?: string; + /** *

                                                            Use this only when paginating results to indicate the * maximum number of items you want in the response. If additional items exist beyond the maximum @@ -6553,11 +6553,6 @@ export namespace ListServerCertificatesRequest { *

                                                            */ export interface ListServerCertificatesResponse { - /** - *

                                                            A list of server certificates.

                                                            - */ - ServerCertificateMetadataList: ServerCertificateMetadata[] | undefined; - /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -6574,6 +6569,11 @@ export interface ListServerCertificatesResponse { * pagination request.

                                                            */ Marker?: string; + + /** + *

                                                            A list of server certificates.

                                                            + */ + ServerCertificateMetadataList: ServerCertificateMetadata[] | undefined; } export namespace ListServerCertificatesResponse { @@ -6583,6 +6583,12 @@ export namespace ListServerCertificatesResponse { } export interface ListServiceSpecificCredentialsRequest { + /** + *

                                                            Filters the returned results to only those for the specified AWS service. If not + * specified, then AWS returns service-specific credentials for all services.

                                                            + */ + ServiceName?: string; + /** *

                                                            The name of the user whose service-specific credentials you want information about. If * this value is not specified, then the operation assumes the user whose credentials are used @@ -6591,12 +6597,6 @@ export interface ListServiceSpecificCredentialsRequest { * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ UserName?: string; - - /** - *

                                                            Filters the returned results to only those for the specified AWS service. If not - * specified, then AWS returns service-specific credentials for all services.

                                                            - */ - ServiceName?: string; } export namespace ListServiceSpecificCredentialsRequest { @@ -6610,9 +6610,10 @@ export namespace ListServiceSpecificCredentialsRequest { */ export interface ServiceSpecificCredentialMetadata { /** - *

                                                            The unique identifier for the service-specific credential.

                                                            + *

                                                            The status of the service-specific credential. Active means that the key is + * valid for API calls, while Inactive means it is not.

                                                            */ - ServiceSpecificCredentialId: string | undefined; + Status: StatusType | string | undefined; /** *

                                                            The generated user name for the service-specific credential.

                                                            @@ -6620,26 +6621,25 @@ export interface ServiceSpecificCredentialMetadata { ServiceUserName: string | undefined; /** - *

                                                            The name of the service associated with the service-specific credential.

                                                            + *

                                                            The name of the IAM user associated with the service-specific credential.

                                                            */ - ServiceName: string | undefined; + UserName: string | undefined; /** - *

                                                            The date and time, in ISO 8601 date-time - * format, when the service-specific credential were created.

                                                            + *

                                                            The name of the service associated with the service-specific credential.

                                                            */ - CreateDate: Date | undefined; + ServiceName: string | undefined; /** - *

                                                            The status of the service-specific credential. Active means that the key is - * valid for API calls, while Inactive means it is not.

                                                            + *

                                                            The unique identifier for the service-specific credential.

                                                            */ - Status: StatusType | string | undefined; + ServiceSpecificCredentialId: string | undefined; /** - *

                                                            The name of the IAM user associated with the service-specific credential.

                                                            + *

                                                            The date and time, in ISO 8601 date-time + * format, when the service-specific credential were created.

                                                            */ - UserName: string | undefined; + CreateDate: Date | undefined; } export namespace ServiceSpecificCredentialMetadata { @@ -6670,6 +6670,14 @@ export interface ListSigningCertificatesRequest { */ UserName?: string; + /** + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            + */ + Marker?: string; + /** *

                                                            Use this only when paginating results to indicate the * maximum number of items you want in the response. If additional items exist beyond the maximum @@ -6681,14 +6689,6 @@ export interface ListSigningCertificatesRequest { * from.

                                                            */ MaxItems?: number; - - /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            - */ - Marker?: string; } export namespace ListSigningCertificatesRequest { @@ -6704,9 +6704,14 @@ export namespace ListSigningCertificatesRequest { */ export interface SigningCertificate { /** - *

                                                            The contents of the signing certificate.

                                                            + *

                                                            The date when the signing certificate was uploaded.

                                                            */ - CertificateBody: string | undefined; + UploadDate?: Date; + + /** + *

                                                            The name of the user the signing certificate is associated with.

                                                            + */ + UserName: string | undefined; /** *

                                                            The ID for the signing certificate.

                                                            @@ -6720,14 +6725,9 @@ export interface SigningCertificate { Status: StatusType | string | undefined; /** - *

                                                            The name of the user the signing certificate is associated with.

                                                            - */ - UserName: string | undefined; - - /** - *

                                                            The date when the signing certificate was uploaded.

                                                            + *

                                                            The contents of the signing certificate.

                                                            */ - UploadDate?: Date; + CertificateBody: string | undefined; } export namespace SigningCertificate { @@ -6771,18 +6771,6 @@ export namespace ListSigningCertificatesResponse { } export interface ListSSHPublicKeysRequest { - /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; - /** *

                                                            Use this parameter only when paginating results and only after * you receive a response indicating that the results are truncated. Set it to the value of the @@ -6799,6 +6787,18 @@ export interface ListSSHPublicKeysRequest { * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                            */ UserName?: string; + + /** + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            + */ + MaxItems?: number; } export namespace ListSSHPublicKeysRequest { @@ -6814,6 +6814,16 @@ export namespace ListSSHPublicKeysRequest { * operation.

                                                            */ export interface SSHPublicKeyMetadata { + /** + *

                                                            The name of the IAM user associated with the SSH public key.

                                                            + */ + UserName: string | undefined; + + /** + *

                                                            The unique identifier for the SSH public key.

                                                            + */ + SSHPublicKeyId: string | undefined; + /** *

                                                            The date and time, in ISO 8601 date-time * format, when the SSH public key was uploaded.

                                                            @@ -6826,17 +6836,7 @@ export interface SSHPublicKeyMetadata { * cannot be used.

                                                            */ Status: StatusType | string | undefined; - - /** - *

                                                            The name of the IAM user associated with the SSH public key.

                                                            - */ - UserName: string | undefined; - - /** - *

                                                            The unique identifier for the SSH public key.

                                                            - */ - SSHPublicKeyId: string | undefined; -} +} export namespace SSHPublicKeyMetadata { export const filterSensitiveLog = (obj: SSHPublicKeyMetadata): any => ({ @@ -6879,6 +6879,14 @@ export namespace ListSSHPublicKeysResponse { } export interface ListUserPoliciesRequest { + /** + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            + */ + Marker?: string; + /** *

                                                            The name of the user to list policies for.

                                                            *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric @@ -6897,14 +6905,6 @@ export interface ListUserPoliciesRequest { * from.

                                                            */ MaxItems?: number; - - /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            - */ - Marker?: string; } export namespace ListUserPoliciesRequest { @@ -6918,11 +6918,6 @@ export namespace ListUserPoliciesRequest { *

                                                            */ export interface ListUserPoliciesResponse { - /** - *

                                                            A list of policy names.

                                                            - */ - PolicyNames: string[] | undefined; - /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -6939,6 +6934,11 @@ export interface ListUserPoliciesResponse { * pagination request.

                                                            */ Marker?: string; + + /** + *

                                                            A list of policy names.

                                                            + */ + PolicyNames: string[] | undefined; } export namespace ListUserPoliciesResponse { @@ -6948,18 +6948,6 @@ export namespace ListUserPoliciesResponse { } export interface ListUsersRequest { - /** - *

                                                            Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; - /** *

                                                            Use this parameter only when paginating results and only after * you receive a response indicating that the results are truncated. Set it to the value of the @@ -6979,6 +6967,18 @@ export interface ListUsersRequest { * most punctuation characters, digits, and upper and lowercased letters.

                                                            */ PathPrefix?: string; + + /** + *

                                                            Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            + */ + MaxItems?: number; } export namespace ListUsersRequest { @@ -6991,6 +6991,16 @@ export namespace ListUsersRequest { *

                                                            Contains the response to a successful ListUsers request.

                                                            */ export interface ListUsersResponse { + /** + *

                                                            A flag that indicates whether there are more items to return. If your + * results were truncated, you can make a subsequent pagination request using the Marker + * request parameter to retrieve more items. Note that IAM might return fewer than the + * MaxItems number of results even when there are more results available. We recommend + * that you check IsTruncated after every call to ensure that you receive all your + * results.

                                                            + */ + IsTruncated?: boolean; + /** *

                                                            A list of users.

                                                            */ @@ -7002,16 +7012,6 @@ export interface ListUsersResponse { * pagination request.

                                                            */ Marker?: string; - - /** - *

                                                            A flag that indicates whether there are more items to return. If your - * results were truncated, you can make a subsequent pagination request using the Marker - * request parameter to retrieve more items. Note that IAM might return fewer than the - * MaxItems number of results even when there are more results available. We recommend - * that you check IsTruncated after every call to ensure that you receive all your - * results.

                                                            - */ - IsTruncated?: boolean; } export namespace ListUsersResponse { @@ -7021,17 +7021,6 @@ export namespace ListUsersResponse { } export interface ListUserTagsRequest { - /** - *

                                                            (Optional) Use this only when paginating results to indicate the - * maximum number of items that you want in the response. If additional items exist beyond the maximum that you specify, the IsTruncated response element is true.

                                                            - *

                                                            If you do not include this parameter, it defaults to 100. Note that - * IAM might return fewer results, even when more results are available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                            - */ - MaxItems?: number; - /** *

                                                            The name of the IAM user whose tags you want to see.

                                                            *

                                                            This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric @@ -7046,6 +7035,17 @@ export interface ListUserTagsRequest { * should start.

                                                            */ Marker?: string; + + /** + *

                                                            (Optional) Use this only when paginating results to indicate the + * maximum number of items that you want in the response. If additional items exist beyond the maximum that you specify, the IsTruncated response element is true.

                                                            + *

                                                            If you do not include this parameter, it defaults to 100. Note that + * IAM might return fewer results, even when more results are available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                            + */ + MaxItems?: number; } export namespace ListUserTagsRequest { @@ -7056,11 +7056,11 @@ export namespace ListUserTagsRequest { export interface ListUserTagsResponse { /** - *

                                                            The list of tags that are currently attached to the user. Each tag consists of a key - * name and an associated value. If no tags are attached to the specified user, the response - * contains an empty list.

                                                            + *

                                                            When IsTruncated is true, this element + * is present and contains the value to use for the Marker parameter in a subsequent + * pagination request.

                                                            */ - Tags: Tag[] | undefined; + Marker?: string; /** *

                                                            A flag that indicates whether there are more items to return. If your @@ -7071,11 +7071,11 @@ export interface ListUserTagsResponse { IsTruncated?: boolean; /** - *

                                                            When IsTruncated is true, this element - * is present and contains the value to use for the Marker parameter in a subsequent - * pagination request.

                                                            + *

                                                            The list of tags that are currently attached to the user. Each tag consists of a key + * name and an associated value. If no tags are attached to the specified user, the response + * contains an empty list.

                                                            */ - Marker?: string; + Tags: Tag[] | undefined; } export namespace ListUserTagsResponse { @@ -7086,11 +7086,12 @@ export namespace ListUserTagsResponse { export interface ListVirtualMFADevicesRequest { /** - *

                                                            The status (Unassigned or Assigned) of the devices to list. - * If you do not specify an AssignmentStatus, the operation defaults to - * Any, which lists both assigned and unassigned virtual MFA devices.,

                                                            + *

                                                            Use this parameter only when paginating results and only after + * you receive a response indicating that the results are truncated. Set it to the value of the + * Marker element in the response that you received to indicate where the next call + * should start.

                                                            */ - AssignmentStatus?: AssignmentStatusType | string; + Marker?: string; /** *

                                                            Use this only when paginating results to indicate the @@ -7105,12 +7106,11 @@ export interface ListVirtualMFADevicesRequest { MaxItems?: number; /** - *

                                                            Use this parameter only when paginating results and only after - * you receive a response indicating that the results are truncated. Set it to the value of the - * Marker element in the response that you received to indicate where the next call - * should start.

                                                            + *

                                                            The status (Unassigned or Assigned) of the devices to list. + * If you do not specify an AssignmentStatus, the operation defaults to + * Any, which lists both assigned and unassigned virtual MFA devices.,

                                                            */ - Marker?: string; + AssignmentStatus?: AssignmentStatusType | string; } export namespace ListVirtualMFADevicesRequest { @@ -7124,6 +7124,13 @@ export namespace ListVirtualMFADevicesRequest { *

                                                            */ export interface ListVirtualMFADevicesResponse { + /** + *

                                                            When IsTruncated is true, this element is present and contains + * the value to use for the Marker parameter in a subsequent pagination + * request.

                                                            + */ + Marker?: string; + /** *

                                                            A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -7139,13 +7146,6 @@ export interface ListVirtualMFADevicesResponse { * AssignmentStatus value that was passed in the request.

                                                            */ VirtualMFADevices: VirtualMFADevice[] | undefined; - - /** - *

                                                            When IsTruncated is true, this element is present and contains - * the value to use for the Marker parameter in a subsequent pagination - * request.

                                                            - */ - Marker?: string; } export namespace ListVirtualMFADevicesResponse { @@ -7165,13 +7165,6 @@ export interface PutGroupPolicyRequest { */ PolicyName: string | undefined; - /** - *

                                                            The name of the group to associate the policy with.

                                                            - *

                                                            This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-.

                                                            - */ - GroupName: string | undefined; - /** *

                                                            The policy document.

                                                            *

                                                            You must provide policies in JSON format in IAM. However, for AWS CloudFormation @@ -7196,6 +7189,13 @@ export interface PutGroupPolicyRequest { *

                                                          */ PolicyDocument: string | undefined; + + /** + *

                                                          The name of the group to associate the policy with.

                                                          + *

                                                          This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-.

                                                          + */ + GroupName: string | undefined; } export namespace PutGroupPolicyRequest { @@ -7205,16 +7205,16 @@ export namespace PutGroupPolicyRequest { } export interface PutRolePermissionsBoundaryRequest { - /** - *

                                                          The ARN of the policy that is used to set the permissions boundary for the role.

                                                          - */ - PermissionsBoundary: string | undefined; - /** *

                                                          The name (friendly name, not ARN) of the IAM role for which you want to set the * permissions boundary.

                                                          */ RoleName: string | undefined; + + /** + *

                                                          The ARN of the policy that is used to set the permissions boundary for the role.

                                                          + */ + PermissionsBoundary: string | undefined; } export namespace PutRolePermissionsBoundaryRequest { @@ -7225,18 +7225,18 @@ export namespace PutRolePermissionsBoundaryRequest { export interface PutRolePolicyRequest { /** - *

                                                          The name of the policy document.

                                                          + *

                                                          The name of the role to associate the policy with.

                                                          *

                                                          This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                          */ - PolicyName: string | undefined; + RoleName: string | undefined; /** - *

                                                          The name of the role to associate the policy with.

                                                          + *

                                                          The name of the policy document.

                                                          *

                                                          This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                          */ - RoleName: string | undefined; + PolicyName: string | undefined; /** *

                                                          The policy document.

                                                          @@ -7272,15 +7272,15 @@ export namespace PutRolePolicyRequest { export interface PutUserPermissionsBoundaryRequest { /** - *

                                                          The name (friendly name, not ARN) of the IAM user for which you want to set the - * permissions boundary.

                                                          + *

                                                          The ARN of the policy that is used to set the permissions boundary for the user.

                                                          */ - UserName: string | undefined; + PermissionsBoundary: string | undefined; /** - *

                                                          The ARN of the policy that is used to set the permissions boundary for the user.

                                                          + *

                                                          The name (friendly name, not ARN) of the IAM user for which you want to set the + * permissions boundary.

                                                          */ - PermissionsBoundary: string | undefined; + UserName: string | undefined; } export namespace PutUserPermissionsBoundaryRequest { @@ -7297,13 +7297,6 @@ export interface PutUserPolicyRequest { */ UserName: string | undefined; - /** - *

                                                          The name of the policy document.

                                                          - *

                                                          This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                          - */ - PolicyName: string | undefined; - /** *

                                                          The policy document.

                                                          *

                                                          You must provide policies in JSON format in IAM. However, for AWS CloudFormation @@ -7328,6 +7321,13 @@ export interface PutUserPolicyRequest { *

                                                        */ PolicyDocument: string | undefined; + + /** + *

                                                        The name of the policy document.

                                                        + *

                                                        This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                        + */ + PolicyName: string | undefined; } export namespace PutUserPolicyRequest { @@ -7337,12 +7337,6 @@ export namespace PutUserPolicyRequest { } export interface RemoveClientIDFromOpenIDConnectProviderRequest { - /** - *

                                                        The client ID (also known as audience) to remove from the IAM OIDC provider resource. - * For more information about client IDs, see CreateOpenIDConnectProvider.

                                                        - */ - ClientID: string | undefined; - /** *

                                                        The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove the client * ID from. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

                                                        @@ -7350,6 +7344,12 @@ export interface RemoveClientIDFromOpenIDConnectProviderRequest { * Namespaces in the AWS General Reference.

                                                        */ OpenIDConnectProviderArn: string | undefined; + + /** + *

                                                        The client ID (also known as audience) to remove from the IAM OIDC provider resource. + * For more information about client IDs, see CreateOpenIDConnectProvider.

                                                        + */ + ClientID: string | undefined; } export namespace RemoveClientIDFromOpenIDConnectProviderRequest { @@ -7382,18 +7382,18 @@ export namespace RemoveRoleFromInstanceProfileRequest { export interface RemoveUserFromGroupRequest { /** - *

                                                        The name of the user to remove.

                                                        + *

                                                        The name of the group to update.

                                                        *

                                                        This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                        */ - UserName: string | undefined; + GroupName: string | undefined; /** - *

                                                        The name of the group to update.

                                                        + *

                                                        The name of the user to remove.

                                                        *

                                                        This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                        */ - GroupName: string | undefined; + UserName: string | undefined; } export namespace RemoveUserFromGroupRequest { @@ -7403,13 +7403,6 @@ export namespace RemoveUserFromGroupRequest { } export interface ResetServiceSpecificCredentialRequest { - /** - *

                                                        The unique identifier of the service-specific credential.

                                                        - *

                                                        This parameter allows (through its regex pattern) a string of characters that can - * consist of any upper or lowercased letter or digit.

                                                        - */ - ServiceSpecificCredentialId: string | undefined; - /** *

                                                        The name of the IAM user associated with the service-specific credential. If this * value is not specified, then the operation assumes the user whose credentials are used to @@ -7418,6 +7411,13 @@ export interface ResetServiceSpecificCredentialRequest { * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                        */ UserName?: string; + + /** + *

                                                        The unique identifier of the service-specific credential.

                                                        + *

                                                        This parameter allows (through its regex pattern) a string of characters that can + * consist of any upper or lowercased letter or digit.

                                                        + */ + ServiceSpecificCredentialId: string | undefined; } export namespace ResetServiceSpecificCredentialRequest { @@ -7448,6 +7448,18 @@ export namespace ResetServiceSpecificCredentialResponse { } export interface ResyncMFADeviceRequest { + /** + *

                                                        A subsequent authentication code emitted by the device.

                                                        + *

                                                        The format for this parameter is a sequence of six digits.

                                                        + */ + AuthenticationCode2: string | undefined; + + /** + *

                                                        An authentication code emitted by the device.

                                                        + *

                                                        The format for this parameter is a sequence of six digits.

                                                        + */ + AuthenticationCode1: string | undefined; + /** *

                                                        The name of the user whose MFA device you want to resynchronize.

                                                        *

                                                        This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric @@ -7461,27 +7473,22 @@ export interface ResyncMFADeviceRequest { * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                        */ SerialNumber: string | undefined; +} + +export namespace ResyncMFADeviceRequest { + export const filterSensitiveLog = (obj: ResyncMFADeviceRequest): any => ({ + ...obj, + }); +} +export interface SetDefaultPolicyVersionRequest { /** - *

                                                        An authentication code emitted by the device.

                                                        - *

                                                        The format for this parameter is a sequence of six digits.

                                                        - */ - AuthenticationCode1: string | undefined; - - /** - *

                                                        A subsequent authentication code emitted by the device.

                                                        - *

                                                        The format for this parameter is a sequence of six digits.

                                                        + *

                                                        The version of the policy to set as the default (operative) version.

                                                        + *

                                                        For more information about managed policy versions, see Versioning for Managed + * Policies in the IAM User Guide.

                                                        */ - AuthenticationCode2: string | undefined; -} - -export namespace ResyncMFADeviceRequest { - export const filterSensitiveLog = (obj: ResyncMFADeviceRequest): any => ({ - ...obj, - }); -} + VersionId: string | undefined; -export interface SetDefaultPolicyVersionRequest { /** *

                                                        The Amazon Resource Name (ARN) of the IAM policy whose default version you want to * set.

                                                        @@ -7489,13 +7496,6 @@ export interface SetDefaultPolicyVersionRequest { * Namespaces in the AWS General Reference.

                                                        */ PolicyArn: string | undefined; - - /** - *

                                                        The version of the policy to set as the default (operative) version.

                                                        - *

                                                        For more information about managed policy versions, see Versioning for Managed - * Policies in the IAM User Guide.

                                                        - */ - VersionId: string | undefined; } export namespace SetDefaultPolicyVersionRequest { @@ -7567,6 +7567,12 @@ export enum ContextKeyTypeEnum { *

                                                        This data type is used as an input parameter to SimulateCustomPolicy and SimulatePrincipalPolicy.

                                                        */ export interface ContextEntry { + /** + *

                                                        The full name of a condition context key, including the service prefix. For example, + * aws:SourceIp or s3:VersionId.

                                                        + */ + ContextKeyName?: string; + /** *

                                                        The data type of the value (or values) specified in the ContextKeyValues * parameter.

                                                        @@ -7579,12 +7585,6 @@ export interface ContextEntry { * input policy.

                                                        */ ContextKeyValues?: string[]; - - /** - *

                                                        The full name of a condition context key, including the service prefix. For example, - * aws:SourceIp or s3:VersionId.

                                                        - */ - ContextKeyName?: string; } export namespace ContextEntry { @@ -7595,36 +7595,37 @@ export namespace ContextEntry { export interface SimulateCustomPolicyRequest { /** - *

                                                        A list of context keys and corresponding values for the simulation to use. Whenever a - * context key is evaluated in one of the simulated IAM permissions policies, the - * corresponding value is supplied.

                                                        - */ - ContextEntries?: ContextEntry[]; - - /** - *

                                                        A list of names of API operations to evaluate in the simulation. Each operation is - * evaluated against each resource. Each operation must include the service identifier, such - * as iam:CreateUser. This operation does not support using wildcards (*) in an - * action name.

                                                        + *

                                                        A resource-based policy to include in the simulation provided as a string. Each resource + * in the simulation is treated as if it had this policy attached. You can include only one + * resource-based policy in a simulation.

                                                        + *

                                                        The regex pattern + * used to validate this parameter is a string of characters consisting of the following:

                                                        + *
                                                          + *
                                                        • + *

                                                          Any printable ASCII + * character ranging from the space character (\u0020) through the end of the ASCII character range

                                                          + *
                                                        • + *
                                                        • + *

                                                          The printable characters in the Basic Latin and Latin-1 Supplement character set + * (through \u00FF)

                                                          + *
                                                        • + *
                                                        • + *

                                                          The special characters tab (\u0009), line feed (\u000A), and + * carriage return (\u000D)

                                                          + *
                                                        • + *
                                                        */ - ActionNames: string[] | undefined; + ResourcePolicy?: string; /** - *

                                                        An ARN representing the AWS account ID that specifies the owner of any simulated - * resource that does not identify its owner in the resource ARN. Examples of resource ARNs - * include an S3 bucket or object. If ResourceOwner is specified, it is also used - * as the account owner of any ResourcePolicy included in the simulation. If the - * ResourceOwner parameter is not specified, then the owner of the resources - * and the resource policy defaults to the account of the identity provided in - * CallerArn. This parameter is required only if you specify a resource-based - * policy and account that owns the resource is different from the account that owns the - * simulated calling user CallerArn.

                                                        - *

                                                        The ARN for an account uses the following syntax: - * arn:aws:iam::AWS-account-ID:root. For example, to - * represent the account with the 112233445566 ID, use the following ARN: - * arn:aws:iam::112233445566-ID:root.

                                                        + *

                                                        The ARN of the IAM user that you want to use as the simulated caller of the API + * operations. CallerArn is required if you include a ResourcePolicy + * so that the policy's Principal element has a value to use in evaluating the + * policy.

                                                        + *

                                                        You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed + * role, federated user, or a service principal.

                                                        */ - ResourceOwner?: string; + CallerArn?: string; /** *

                                                        Specifies the type of simulation to run. Different API operations that support @@ -7682,39 +7683,28 @@ export interface SimulateCustomPolicyRequest { ResourceHandlingOption?: string; /** - *

                                                        Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                        - *

                                                        If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                        + *

                                                        A list of ARNs of AWS resources to include in the simulation. If this parameter is not + * provided, then the value defaults to * (all resources). Each API in the + * ActionNames parameter is evaluated for each resource in this list. The + * simulation determines the access result (allowed or denied) of each combination and reports + * it in the response.

                                                        + *

                                                        The simulation does not automatically retrieve policies for the specified resources. If + * you want to include a resource policy in the simulation, then you must include the policy + * as a string in the ResourcePolicy parameter.

                                                        + *

                                                        If you include a ResourcePolicy, then it must be applicable to all of the + * resources included in the simulation or you receive an invalid input error.

                                                        + *

                                                        For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service + * Namespaces in the AWS General Reference.

                                                        */ - MaxItems?: number; + ResourceArns?: string[]; /** - *

                                                        A resource-based policy to include in the simulation provided as a string. Each resource - * in the simulation is treated as if it had this policy attached. You can include only one - * resource-based policy in a simulation.

                                                        - *

                                                        The regex pattern - * used to validate this parameter is a string of characters consisting of the following:

                                                        - *
                                                          - *
                                                        • - *

                                                          Any printable ASCII - * character ranging from the space character (\u0020) through the end of the ASCII character range

                                                          - *
                                                        • - *
                                                        • - *

                                                          The printable characters in the Basic Latin and Latin-1 Supplement character set - * (through \u00FF)

                                                          - *
                                                        • - *
                                                        • - *

                                                          The special characters tab (\u0009), line feed (\u000A), and - * carriage return (\u000D)

                                                          - *
                                                        • - *
                                                        + *

                                                        A list of names of API operations to evaluate in the simulation. Each operation is + * evaluated against each resource. Each operation must include the service identifier, such + * as iam:CreateUser. This operation does not support using wildcards (*) in an + * action name.

                                                        */ - ResourcePolicy?: string; + ActionNames: string[] | undefined; /** *

                                                        A list of policy documents to include in the simulation. Each document is specified as a @@ -7752,32 +7742,6 @@ export interface SimulateCustomPolicyRequest { */ Marker?: string; - /** - *

                                                        The ARN of the IAM user that you want to use as the simulated caller of the API - * operations. CallerArn is required if you include a ResourcePolicy - * so that the policy's Principal element has a value to use in evaluating the - * policy.

                                                        - *

                                                        You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed - * role, federated user, or a service principal.

                                                        - */ - CallerArn?: string; - - /** - *

                                                        A list of ARNs of AWS resources to include in the simulation. If this parameter is not - * provided, then the value defaults to * (all resources). Each API in the - * ActionNames parameter is evaluated for each resource in this list. The - * simulation determines the access result (allowed or denied) of each combination and reports - * it in the response.

                                                        - *

                                                        The simulation does not automatically retrieve policies for the specified resources. If - * you want to include a resource policy in the simulation, then you must include the policy - * as a string in the ResourcePolicy parameter.

                                                        - *

                                                        If you include a ResourcePolicy, then it must be applicable to all of the - * resources included in the simulation or you receive an invalid input error.

                                                        - *

                                                        For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service - * Namespaces in the AWS General Reference.

                                                        - */ - ResourceArns?: string[]; - /** *

                                                        The IAM permissions boundary policy to simulate. The permissions boundary sets the * maximum permissions that an IAM entity can have. You can input only one permissions @@ -7804,6 +7768,42 @@ export interface SimulateCustomPolicyRequest { *

                                                      */ PermissionsBoundaryPolicyInputList?: string[]; + + /** + *

                                                      An ARN representing the AWS account ID that specifies the owner of any simulated + * resource that does not identify its owner in the resource ARN. Examples of resource ARNs + * include an S3 bucket or object. If ResourceOwner is specified, it is also used + * as the account owner of any ResourcePolicy included in the simulation. If the + * ResourceOwner parameter is not specified, then the owner of the resources + * and the resource policy defaults to the account of the identity provided in + * CallerArn. This parameter is required only if you specify a resource-based + * policy and account that owns the resource is different from the account that owns the + * simulated calling user CallerArn.

                                                      + *

                                                      The ARN for an account uses the following syntax: + * arn:aws:iam::AWS-account-ID:root. For example, to + * represent the account with the 112233445566 ID, use the following ARN: + * arn:aws:iam::112233445566-ID:root.

                                                      + */ + ResourceOwner?: string; + + /** + *

                                                      A list of context keys and corresponding values for the simulation to use. Whenever a + * context key is evaluated in one of the simulated IAM permissions policies, the + * corresponding value is supplied.

                                                      + */ + ContextEntries?: ContextEntry[]; + + /** + *

                                                      Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                      + *

                                                      If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                      + */ + MaxItems?: number; } export namespace SimulateCustomPolicyRequest { @@ -7862,25 +7862,25 @@ export enum PolicySourceType { */ export interface Statement { /** - *

                                                      The identifier of the policy that was provided as an input.

                                                      + *

                                                      The type of the policy.

                                                      */ - SourcePolicyId?: string; + SourcePolicyType?: PolicySourceType | string; /** *

                                                      The row and column of the end of a Statement in an IAM policy.

                                                      */ EndPosition?: Position; - /** - *

                                                      The type of the policy.

                                                      - */ - SourcePolicyType?: PolicySourceType | string; - /** *

                                                      The row and column of the beginning of the Statement in an IAM * policy.

                                                      */ StartPosition?: Position; + + /** + *

                                                      The identifier of the policy that was provided as an input.

                                                      + */ + SourcePolicyId?: string; } export namespace Statement { @@ -7937,31 +7937,6 @@ export namespace PermissionsBoundaryDecisionDetail { * type.

                                                      */ export interface ResourceSpecificResult { - /** - *

                                                      Contains information about the effect that a permissions boundary has on a policy - * simulation when that boundary is applied to an IAM entity.

                                                      - */ - PermissionsBoundaryDecisionDetail?: PermissionsBoundaryDecisionDetail; - - /** - *

                                                      A list of context keys that are required by the included input policies but that were - * not provided by one of the input parameters. This list is used when a list of ARNs is - * included in the ResourceArns parameter instead of "*". If you do not specify - * individual resources, by setting ResourceArns to "*" or by not including the - * ResourceArns parameter, then any missing context values are instead - * included under the EvaluationResults section. To discover the context keys - * used by a set of policies, you can call GetContextKeysForCustomPolicy or - * GetContextKeysForPrincipalPolicy.

                                                      - */ - MissingContextValues?: string[]; - - /** - *

                                                      Additional details about the results of the evaluation decision on a single resource. - * This parameter is returned only for cross-account simulations. This parameter explains how - * each policy type contributes to the resource-specific evaluation decision.

                                                      - */ - EvalDecisionDetails?: { [key: string]: PolicyEvaluationDecisionType | string }; - /** *

                                                      The name of the simulated resource, in Amazon Resource Name (ARN) format.

                                                      */ @@ -7981,69 +7956,52 @@ export interface ResourceSpecificResult { * EvalResourceName.

                                                      */ EvalResourceDecision: PolicyEvaluationDecisionType | string | undefined; -} -export namespace ResourceSpecificResult { - export const filterSensitiveLog = (obj: ResourceSpecificResult): any => ({ - ...obj, - }); -} - -/** - *

                                                      Contains the results of a simulation.

                                                      - *

                                                      This data type is used by the return parameter of - * SimulateCustomPolicy - * and - * SimulatePrincipalPolicy - * .

                                                      - */ -export interface EvaluationResult { /** - *

                                                      The result of the simulation.

                                                      - */ - EvalDecision: PolicyEvaluationDecisionType | string | undefined; - - /** - *

                                                      The name of the API operation tested on the indicated resource.

                                                      - */ - EvalActionName: string | undefined; - - /** - *

                                                      Additional details about the results of the cross-account evaluation decision. This - * parameter is populated for only cross-account simulations. It contains a brief summary of - * how each policy type contributes to the final evaluation decision.

                                                      - *

                                                      If the simulation evaluates policies within the same account and includes a resource - * ARN, then the parameter is present but the response is empty. If the simulation evaluates - * policies within the same account and specifies all resources (*), then the - * parameter is not returned.

                                                      - *

                                                      When you make a cross-account request, AWS evaluates the request in the trusting - * account and the trusted account. The request is allowed only if both evaluations return - * true. For more information about how policies are evaluated, see Evaluating Policies Within a Single Account.

                                                      - *

                                                      If an AWS Organizations SCP included in the evaluation denies access, the simulation ends. In - * this case, policy evaluation does not proceed any further and this parameter is not - * returned.

                                                      + *

                                                      Additional details about the results of the evaluation decision on a single resource. + * This parameter is returned only for cross-account simulations. This parameter explains how + * each policy type contributes to the resource-specific evaluation decision.

                                                      */ EvalDecisionDetails?: { [key: string]: PolicyEvaluationDecisionType | string }; /** - *

                                                      A structure that details how Organizations and its service control policies affect the results of - * the simulation. Only applies if the simulated user's account is part of an - * organization.

                                                      + *

                                                      Contains information about the effect that a permissions boundary has on a policy + * simulation when that boundary is applied to an IAM entity.

                                                      */ - OrganizationsDecisionDetail?: OrganizationsDecisionDetail; + PermissionsBoundaryDecisionDetail?: PermissionsBoundaryDecisionDetail; /** - *

                                                      The ARN of the resource that the indicated API operation was tested on.

                                                      + *

                                                      A list of context keys that are required by the included input policies but that were + * not provided by one of the input parameters. This list is used when a list of ARNs is + * included in the ResourceArns parameter instead of "*". If you do not specify + * individual resources, by setting ResourceArns to "*" or by not including the + * ResourceArns parameter, then any missing context values are instead + * included under the EvaluationResults section. To discover the context keys + * used by a set of policies, you can call GetContextKeysForCustomPolicy or + * GetContextKeysForPrincipalPolicy.

                                                      */ - EvalResourceName?: string; + MissingContextValues?: string[]; +} +export namespace ResourceSpecificResult { + export const filterSensitiveLog = (obj: ResourceSpecificResult): any => ({ + ...obj, + }); +} + +/** + *

                                                      Contains the results of a simulation.

                                                      + *

                                                      This data type is used by the return parameter of + * SimulateCustomPolicy + * and + * SimulatePrincipalPolicy + * .

                                                      + */ +export interface EvaluationResult { /** - *

                                                      A list of the statements in the input policies that determine the result for this - * scenario. Remember that even if multiple statements allow the operation on the resource, if - * only one statement denies that operation, then the explicit deny overrides any allow. In - * addition, the deny statement is the only entry included in the result.

                                                      + *

                                                      The name of the API operation tested on the indicated resource.

                                                      */ - MatchedStatements?: Statement[]; + EvalActionName: string | undefined; /** *

                                                      A list of context keys that are required by the included input policies but that were @@ -8061,11 +8019,53 @@ export interface EvaluationResult { */ PermissionsBoundaryDecisionDetail?: PermissionsBoundaryDecisionDetail; + /** + *

                                                      The result of the simulation.

                                                      + */ + EvalDecision: PolicyEvaluationDecisionType | string | undefined; + + /** + *

                                                      The ARN of the resource that the indicated API operation was tested on.

                                                      + */ + EvalResourceName?: string; + + /** + *

                                                      A structure that details how Organizations and its service control policies affect the results of + * the simulation. Only applies if the simulated user's account is part of an + * organization.

                                                      + */ + OrganizationsDecisionDetail?: OrganizationsDecisionDetail; + + /** + *

                                                      A list of the statements in the input policies that determine the result for this + * scenario. Remember that even if multiple statements allow the operation on the resource, if + * only one statement denies that operation, then the explicit deny overrides any allow. In + * addition, the deny statement is the only entry included in the result.

                                                      + */ + MatchedStatements?: Statement[]; + /** *

                                                      The individual results of the simulation of the API operation specified in * EvalActionName on each resource.

                                                      */ ResourceSpecificResults?: ResourceSpecificResult[]; + + /** + *

                                                      Additional details about the results of the cross-account evaluation decision. This + * parameter is populated for only cross-account simulations. It contains a brief summary of + * how each policy type contributes to the final evaluation decision.

                                                      + *

                                                      If the simulation evaluates policies within the same account and includes a resource + * ARN, then the parameter is present but the response is empty. If the simulation evaluates + * policies within the same account and specifies all resources (*), then the + * parameter is not returned.

                                                      + *

                                                      When you make a cross-account request, AWS evaluates the request in the trusting + * account and the trusted account. The request is allowed only if both evaluations return + * true. For more information about how policies are evaluated, see Evaluating Policies Within a Single Account.

                                                      + *

                                                      If an AWS Organizations SCP included in the evaluation denies access, the simulation ends. In + * this case, policy evaluation does not proceed any further and this parameter is not + * returned.

                                                      + */ + EvalDecisionDetails?: { [key: string]: PolicyEvaluationDecisionType | string }; } export namespace EvaluationResult { @@ -8079,6 +8079,11 @@ export namespace EvaluationResult { * SimulateCustomPolicy request.

                                                      */ export interface SimulatePolicyResponse { + /** + *

                                                      The results of the simulation.

                                                      + */ + EvaluationResults?: EvaluationResult[]; + /** *

                                                      A flag that indicates whether there are more items to return. If your * results were truncated, you can make a subsequent pagination request using the Marker @@ -8095,11 +8100,6 @@ export interface SimulatePolicyResponse { * pagination request.

                                                      */ Marker?: string; - - /** - *

                                                      The results of the simulation.

                                                      - */ - EvaluationResults?: EvaluationResult[]; } export namespace SimulatePolicyResponse { @@ -8109,122 +8109,6 @@ export namespace SimulatePolicyResponse { } export interface SimulatePrincipalPolicyRequest { - /** - *

                                                      A list of context keys and corresponding values for the simulation to use. Whenever a - * context key is evaluated in one of the simulated IAM permissions policies, the - * corresponding value is supplied.

                                                      - */ - ContextEntries?: ContextEntry[]; - - /** - *

                                                      The IAM permissions boundary policy to simulate. The permissions boundary sets the - * maximum permissions that the entity can have. You can input only one permissions boundary - * when you pass a policy to this operation. An IAM entity can only have one permissions - * boundary in effect at a time. For example, if a permissions boundary is attached to an - * entity and you pass in a different permissions boundary policy using this parameter, then - * the new permissions boundary policy is used for the simulation. For more information about - * permissions boundaries, see Permissions Boundaries for IAM - * Entities in the IAM User Guide. The policy input is - * specified as a string containing the complete, valid JSON text of a permissions boundary - * policy.

                                                      - *

                                                      The regex pattern - * used to validate this parameter is a string of characters consisting of the following:

                                                      - *
                                                        - *
                                                      • - *

                                                        Any printable ASCII - * character ranging from the space character (\u0020) through the end of the ASCII character range

                                                        - *
                                                      • - *
                                                      • - *

                                                        The printable characters in the Basic Latin and Latin-1 Supplement character set - * (through \u00FF)

                                                        - *
                                                      • - *
                                                      • - *

                                                        The special characters tab (\u0009), line feed (\u000A), and - * carriage return (\u000D)

                                                        - *
                                                      • - *
                                                      - */ - PermissionsBoundaryPolicyInputList?: string[]; - - /** - *

                                                      A list of ARNs of AWS resources to include in the simulation. If this parameter is not - * provided, then the value defaults to * (all resources). Each API in the - * ActionNames parameter is evaluated for each resource in this list. The - * simulation determines the access result (allowed or denied) of each combination and reports - * it in the response.

                                                      - *

                                                      The simulation does not automatically retrieve policies for the specified resources. If - * you want to include a resource policy in the simulation, then you must include the policy - * as a string in the ResourcePolicy parameter.

                                                      - *

                                                      For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service - * Namespaces in the AWS General Reference.

                                                      - */ - ResourceArns?: string[]; - - /** - *

                                                      The ARN of the IAM user that you want to specify as the simulated caller of the API - * operations. If you do not specify a CallerArn, it defaults to the ARN of the - * user that you specify in PolicySourceArn, if you specified a user. If you - * include both a PolicySourceArn (for example, - * arn:aws:iam::123456789012:user/David) and a CallerArn (for - * example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate - * calling the API operations as Bob, as if Bob had David's policies.

                                                      - *

                                                      You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed - * role, federated user, or a service principal.

                                                      - *

                                                      - * CallerArn is required if you include a ResourcePolicy and the - * PolicySourceArn is not the ARN for an IAM user. This is required so that - * the resource-based policy's Principal element has a value to use in evaluating - * the policy.

                                                      - *

                                                      For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service - * Namespaces in the AWS General Reference.

                                                      - */ - CallerArn?: string; - - /** - *

                                                      A resource-based policy to include in the simulation provided as a string. Each resource - * in the simulation is treated as if it had this policy attached. You can include only one - * resource-based policy in a simulation.

                                                      - *

                                                      The regex pattern - * used to validate this parameter is a string of characters consisting of the following:

                                                      - *
                                                        - *
                                                      • - *

                                                        Any printable ASCII - * character ranging from the space character (\u0020) through the end of the ASCII character range

                                                        - *
                                                      • - *
                                                      • - *

                                                        The printable characters in the Basic Latin and Latin-1 Supplement character set - * (through \u00FF)

                                                        - *
                                                      • - *
                                                      • - *

                                                        The special characters tab (\u0009), line feed (\u000A), and - * carriage return (\u000D)

                                                        - *
                                                      • - *
                                                      - */ - ResourcePolicy?: string; - - /** - *

                                                      The Amazon Resource Name (ARN) of a user, group, or role whose policies you want to - * include in the simulation. If you specify a user, group, or role, the simulation includes - * all policies that are associated with that entity. If you specify a user, the simulation - * also includes all policies that are attached to any groups the user belongs to.

                                                      - *

                                                      For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service - * Namespaces in the AWS General Reference.

                                                      - */ - PolicySourceArn: string | undefined; - - /** - *

                                                      Use this only when paginating results to indicate the - * maximum number of items you want in the response. If additional items exist beyond the maximum - * you specify, the IsTruncated response element is true.

                                                      - *

                                                      If you do not include this parameter, the number of items defaults to 100. Note that - * IAM might return fewer results, even when there are more results available. In that case, the - * IsTruncated response element returns true, and Marker - * contains a value to include in the subsequent call that tells the service where to continue - * from.

                                                      - */ - MaxItems?: number; - /** *

                                                      Use this parameter only when paginating results and only after * you receive a response indicating that the results are truncated. Set it to the value of the @@ -8295,6 +8179,78 @@ export interface SimulatePrincipalPolicyRequest { */ ActionNames: string[] | undefined; + /** + *

                                                      A resource-based policy to include in the simulation provided as a string. Each resource + * in the simulation is treated as if it had this policy attached. You can include only one + * resource-based policy in a simulation.

                                                      + *

                                                      The regex pattern + * used to validate this parameter is a string of characters consisting of the following:

                                                      + *
                                                        + *
                                                      • + *

                                                        Any printable ASCII + * character ranging from the space character (\u0020) through the end of the ASCII character range

                                                        + *
                                                      • + *
                                                      • + *

                                                        The printable characters in the Basic Latin and Latin-1 Supplement character set + * (through \u00FF)

                                                        + *
                                                      • + *
                                                      • + *

                                                        The special characters tab (\u0009), line feed (\u000A), and + * carriage return (\u000D)

                                                        + *
                                                      • + *
                                                      + */ + ResourcePolicy?: string; + + /** + *

                                                      Use this only when paginating results to indicate the + * maximum number of items you want in the response. If additional items exist beyond the maximum + * you specify, the IsTruncated response element is true.

                                                      + *

                                                      If you do not include this parameter, the number of items defaults to 100. Note that + * IAM might return fewer results, even when there are more results available. In that case, the + * IsTruncated response element returns true, and Marker + * contains a value to include in the subsequent call that tells the service where to continue + * from.

                                                      + */ + MaxItems?: number; + + /** + *

                                                      A list of context keys and corresponding values for the simulation to use. Whenever a + * context key is evaluated in one of the simulated IAM permissions policies, the + * corresponding value is supplied.

                                                      + */ + ContextEntries?: ContextEntry[]; + + /** + *

                                                      The IAM permissions boundary policy to simulate. The permissions boundary sets the + * maximum permissions that the entity can have. You can input only one permissions boundary + * when you pass a policy to this operation. An IAM entity can only have one permissions + * boundary in effect at a time. For example, if a permissions boundary is attached to an + * entity and you pass in a different permissions boundary policy using this parameter, then + * the new permissions boundary policy is used for the simulation. For more information about + * permissions boundaries, see Permissions Boundaries for IAM + * Entities in the IAM User Guide. The policy input is + * specified as a string containing the complete, valid JSON text of a permissions boundary + * policy.

                                                      + *

                                                      The regex pattern + * used to validate this parameter is a string of characters consisting of the following:

                                                      + *
                                                        + *
                                                      • + *

                                                        Any printable ASCII + * character ranging from the space character (\u0020) through the end of the ASCII character range

                                                        + *
                                                      • + *
                                                      • + *

                                                        The printable characters in the Basic Latin and Latin-1 Supplement character set + * (through \u00FF)

                                                        + *
                                                      • + *
                                                      • + *

                                                        The special characters tab (\u0009), line feed (\u000A), and + * carriage return (\u000D)

                                                        + *
                                                      • + *
                                                      + */ + PermissionsBoundaryPolicyInputList?: string[]; + /** *

                                                      An optional list of additional policy documents to include in the simulation. Each * document is specified as a string containing the complete, valid JSON text of an IAM @@ -8329,7 +8285,51 @@ export interface SimulatePrincipalPolicyRequest { * policy and account that owns the resource is different from the account that owns the * simulated calling user CallerArn.

                                                      */ - ResourceOwner?: string; + ResourceOwner?: string; + + /** + *

                                                      The Amazon Resource Name (ARN) of a user, group, or role whose policies you want to + * include in the simulation. If you specify a user, group, or role, the simulation includes + * all policies that are associated with that entity. If you specify a user, the simulation + * also includes all policies that are attached to any groups the user belongs to.

                                                      + *

                                                      For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service + * Namespaces in the AWS General Reference.

                                                      + */ + PolicySourceArn: string | undefined; + + /** + *

                                                      A list of ARNs of AWS resources to include in the simulation. If this parameter is not + * provided, then the value defaults to * (all resources). Each API in the + * ActionNames parameter is evaluated for each resource in this list. The + * simulation determines the access result (allowed or denied) of each combination and reports + * it in the response.

                                                      + *

                                                      The simulation does not automatically retrieve policies for the specified resources. If + * you want to include a resource policy in the simulation, then you must include the policy + * as a string in the ResourcePolicy parameter.

                                                      + *

                                                      For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service + * Namespaces in the AWS General Reference.

                                                      + */ + ResourceArns?: string[]; + + /** + *

                                                      The ARN of the IAM user that you want to specify as the simulated caller of the API + * operations. If you do not specify a CallerArn, it defaults to the ARN of the + * user that you specify in PolicySourceArn, if you specified a user. If you + * include both a PolicySourceArn (for example, + * arn:aws:iam::123456789012:user/David) and a CallerArn (for + * example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate + * calling the API operations as Bob, as if Bob had David's policies.

                                                      + *

                                                      You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed + * role, federated user, or a service principal.

                                                      + *

                                                      + * CallerArn is required if you include a ResourcePolicy and the + * PolicySourceArn is not the ARN for an IAM user. This is required so that + * the resource-based policy's Principal element has a value to use in evaluating + * the policy.

                                                      + *

                                                      For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service + * Namespaces in the AWS General Reference.

                                                      + */ + CallerArn?: string; } export namespace SimulatePrincipalPolicyRequest { @@ -8381,18 +8381,18 @@ export namespace TagUserRequest { } export interface UntagRoleRequest { + /** + *

                                                      A list of key names as a simple array of strings. The tags with matching keys are + * removed from the specified role.

                                                      + */ + TagKeys: string[] | undefined; + /** *

                                                      The name of the IAM role from which you want to remove tags.

                                                      *

                                                      This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                      */ RoleName: string | undefined; - - /** - *

                                                      A list of key names as a simple array of strings. The tags with matching keys are - * removed from the specified role.

                                                      - */ - TagKeys: string[] | undefined; } export namespace UntagRoleRequest { @@ -8402,18 +8402,18 @@ export namespace UntagRoleRequest { } export interface UntagUserRequest { + /** + *

                                                      A list of key names as a simple array of strings. The tags with matching keys are + * removed from the specified user.

                                                      + */ + TagKeys: string[] | undefined; + /** *

                                                      The name of the IAM user from which you want to remove tags.

                                                      *

                                                      This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric * characters with no spaces. You can also include any of the following characters: =,.@-

                                                      */ UserName: string | undefined; - - /** - *

                                                      A list of key names as a simple array of strings. The tags with matching keys are - * removed from the specified user.

                                                      - */ - TagKeys: string[] | undefined; } export namespace UntagUserRequest { @@ -8430,19 +8430,19 @@ export interface UpdateAccessKeyRequest { */ UserName?: string; - /** - *

                                                      The status you want to assign to the secret access key. Active means that - * the key can be used for API calls to AWS, while Inactive means that the key - * cannot be used.

                                                      - */ - Status: StatusType | string | undefined; - /** *

                                                      The access key ID of the secret access key you want to update.

                                                      *

                                                      This parameter allows (through its regex pattern) a string of characters that can * consist of any upper or lowercased letter or digit.

                                                      */ AccessKeyId: string | undefined; + + /** + *

                                                      The status you want to assign to the secret access key. Active means that + * the key can be used for API calls to AWS, while Inactive means that the key + * cannot be used.

                                                      + */ + Status: StatusType | string | undefined; } export namespace UpdateAccessKeyRequest { @@ -8452,6 +8452,24 @@ export namespace UpdateAccessKeyRequest { } export interface UpdateAccountPasswordPolicyRequest { + /** + *

                                                      Specifies whether IAM user passwords must contain at least one lowercase character + * from the ISO basic Latin alphabet (a to z).

                                                      + *

                                                      If you do not specify a value for this parameter, then the operation uses the default + * value of false. The result is that passwords do not require at least one + * lowercase character.

                                                      + */ + RequireLowercaseCharacters?: boolean; + + /** + *

                                                      Specifies the number of previous passwords that IAM users are prevented from + * reusing.

                                                      + *

                                                      If you do not specify a value for this parameter, then the operation uses the default + * value of 0. The result is that IAM users are not prevented from reusing + * previous passwords.

                                                      + */ + PasswordReusePrevention?: number; + /** *

                                                      Prevents IAM users from setting a new password after their password has expired. The * IAM user cannot be accessed until an administrator resets the password.

                                                      @@ -8462,22 +8480,20 @@ export interface UpdateAccountPasswordPolicyRequest { HardExpiry?: boolean; /** - *

                                                      Specifies whether IAM user passwords must contain at least one uppercase character - * from the ISO basic Latin alphabet (A to Z).

                                                      + *

                                                      The number of days that an IAM user password is valid.

                                                      *

                                                      If you do not specify a value for this parameter, then the operation uses the default - * value of false. The result is that passwords do not require at least one - * uppercase character.

                                                      + * value of 0. The result is that IAM user passwords never expire.

                                                      */ - RequireUppercaseCharacters?: boolean; + MaxPasswordAge?: number; /** - *

                                                      Specifies whether IAM user passwords must contain at least one numeric character (0 to - * 9).

                                                      + *

                                                      Specifies whether IAM user passwords must contain at least one uppercase character + * from the ISO basic Latin alphabet (A to Z).

                                                      *

                                                      If you do not specify a value for this parameter, then the operation uses the default * value of false. The result is that passwords do not require at least one - * numeric character.

                                                      + * uppercase character.

                                                      */ - RequireNumbers?: boolean; + RequireUppercaseCharacters?: boolean; /** *

                                                      Specifies whether IAM user passwords must contain at least one of the following @@ -8489,22 +8505,6 @@ export interface UpdateAccountPasswordPolicyRequest { */ RequireSymbols?: boolean; - /** - *

                                                      The minimum number of characters allowed in an IAM user password.

                                                      - *

                                                      If you do not specify a value for this parameter, then the operation uses the default - * value of 6.

                                                      - */ - MinimumPasswordLength?: number; - - /** - *

                                                      Specifies the number of previous passwords that IAM users are prevented from - * reusing.

                                                      - *

                                                      If you do not specify a value for this parameter, then the operation uses the default - * value of 0. The result is that IAM users are not prevented from reusing - * previous passwords.

                                                      - */ - PasswordReusePrevention?: number; - /** *

                                                      Allows all IAM users in your account to use the AWS Management Console to change their own * passwords. For more information, see Letting IAM Users Change Their Own @@ -8516,20 +8516,20 @@ export interface UpdateAccountPasswordPolicyRequest { AllowUsersToChangePassword?: boolean; /** - *

                                                      The number of days that an IAM user password is valid.

                                                      + *

                                                      Specifies whether IAM user passwords must contain at least one numeric character (0 to + * 9).

                                                      *

                                                      If you do not specify a value for this parameter, then the operation uses the default - * value of 0. The result is that IAM user passwords never expire.

                                                      + * value of false. The result is that passwords do not require at least one + * numeric character.

                                                      */ - MaxPasswordAge?: number; + RequireNumbers?: boolean; /** - *

                                                      Specifies whether IAM user passwords must contain at least one lowercase character - * from the ISO basic Latin alphabet (a to z).

                                                      + *

                                                      The minimum number of characters allowed in an IAM user password.

                                                      *

                                                      If you do not specify a value for this parameter, then the operation uses the default - * value of false. The result is that passwords do not require at least one - * lowercase character.

                                                      + * value of 6.

                                                      */ - RequireLowercaseCharacters?: boolean; + MinimumPasswordLength?: number; } export namespace UpdateAccountPasswordPolicyRequest { @@ -8539,6 +8539,13 @@ export namespace UpdateAccountPasswordPolicyRequest { } export interface UpdateAssumeRolePolicyRequest { + /** + *

                                                      The name of the role to update with the new policy.

                                                      + *

                                                      This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                      + */ + RoleName: string | undefined; + /** *

                                                      The policy that grants an entity permission to assume the role.

                                                      *

                                                      You must provide policies in JSON format in IAM. However, for AWS CloudFormation @@ -8563,13 +8570,6 @@ export interface UpdateAssumeRolePolicyRequest { *

                                                    */ PolicyDocument: string | undefined; - - /** - *

                                                    The name of the role to update with the new policy.

                                                    - *

                                                    This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                    - */ - RoleName: string | undefined; } export namespace UpdateAssumeRolePolicyRequest { @@ -8580,13 +8580,12 @@ export namespace UpdateAssumeRolePolicyRequest { export interface UpdateGroupRequest { /** - *

                                                    New path for the IAM group. Only include this if changing the group's path.

                                                    - *

                                                    This parameter allows (through its regex pattern) a string of characters consisting - * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. - * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including - * most punctuation characters, digits, and upper and lowercased letters.

                                                    + *

                                                    New name for the IAM group. Only include this if changing the group's name.

                                                    + *

                                                    IAM user, group, role, and policy names must be unique within the account. Names are + * not distinguished by case. For example, you cannot create resources named both "MyResource" + * and "myresource".

                                                    */ - NewPath?: string; + NewGroupName?: string; /** *

                                                    Name of the IAM group to update. If you're changing the name of the group, this is the @@ -8597,12 +8596,13 @@ export interface UpdateGroupRequest { GroupName: string | undefined; /** - *

                                                    New name for the IAM group. Only include this if changing the group's name.

                                                    - *

                                                    IAM user, group, role, and policy names must be unique within the account. Names are - * not distinguished by case. For example, you cannot create resources named both "MyResource" - * and "myresource".

                                                    + *

                                                    New path for the IAM group. Only include this if changing the group's path.

                                                    + *

                                                    This parameter allows (through its regex pattern) a string of characters consisting + * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. + * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including + * most punctuation characters, digits, and upper and lowercased letters.

                                                    */ - NewGroupName?: string; + NewPath?: string; } export namespace UpdateGroupRequest { @@ -8658,6 +8658,13 @@ export namespace UpdateLoginProfileRequest { } export interface UpdateOpenIDConnectProviderThumbprintRequest { + /** + *

                                                    A list of certificate thumbprints that are associated with the specified IAM OpenID + * Connect provider. For more information, see CreateOpenIDConnectProvider. + *

                                                    + */ + ThumbprintList: string[] | undefined; + /** *

                                                    The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for which you * want to update the thumbprint. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

                                                    @@ -8665,13 +8672,6 @@ export interface UpdateOpenIDConnectProviderThumbprintRequest { * Namespaces in the AWS General Reference.

                                                    */ OpenIDConnectProviderArn: string | undefined; - - /** - *

                                                    A list of certificate thumbprints that are associated with the specified IAM OpenID - * Connect provider. For more information, see CreateOpenIDConnectProvider. - *

                                                    - */ - ThumbprintList: string[] | undefined; } export namespace UpdateOpenIDConnectProviderThumbprintRequest { @@ -8681,11 +8681,6 @@ export namespace UpdateOpenIDConnectProviderThumbprintRequest { } export interface UpdateRoleRequest { - /** - *

                                                    The new description that you want to apply to the specified role.

                                                    - */ - Description?: string; - /** *

                                                    The maximum session duration (in seconds) that you want to set for the specified role. * If you do not specify a value for this setting, the default maximum of one hour is applied. @@ -8707,6 +8702,11 @@ export interface UpdateRoleRequest { *

                                                    The name of the role that you want to modify.

                                                    */ RoleName: string | undefined; + + /** + *

                                                    The new description that you want to apply to the specified role.

                                                    + */ + Description?: string; } export namespace UpdateRoleRequest { @@ -8725,14 +8725,14 @@ export namespace UpdateRoleResponse { export interface UpdateRoleDescriptionRequest { /** - *

                                                    The name of the role that you want to modify.

                                                    + *

                                                    The new description that you want to apply to the specified role.

                                                    */ - RoleName: string | undefined; + Description: string | undefined; /** - *

                                                    The new description that you want to apply to the specified role.

                                                    + *

                                                    The name of the role that you want to modify.

                                                    */ - Description: string | undefined; + RoleName: string | undefined; } export namespace UpdateRoleDescriptionRequest { @@ -8796,14 +8796,6 @@ export namespace UpdateSAMLProviderResponse { } export interface UpdateServerCertificateRequest { - /** - *

                                                    The new name for the server certificate. Include this only if you are updating the - * server certificate's name. The name of the certificate cannot contain any spaces.

                                                    - *

                                                    This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                    - */ - NewServerCertificateName?: string; - /** *

                                                    The new path for the server certificate. Include this only if you are updating the * server certificate's path.

                                                    @@ -8814,6 +8806,14 @@ export interface UpdateServerCertificateRequest { */ NewPath?: string; + /** + *

                                                    The new name for the server certificate. Include this only if you are updating the + * server certificate's name. The name of the certificate cannot contain any spaces.

                                                    + *

                                                    This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                    + */ + NewServerCertificateName?: string; + /** *

                                                    The name of the server certificate that you want to update.

                                                    *

                                                    This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric @@ -8830,9 +8830,11 @@ export namespace UpdateServerCertificateRequest { export interface UpdateServiceSpecificCredentialRequest { /** - *

                                                    The status to be assigned to the service-specific credential.

                                                    + *

                                                    The unique identifier of the service-specific credential.

                                                    + *

                                                    This parameter allows (through its regex pattern) a string of characters that can + * consist of any upper or lowercased letter or digit.

                                                    */ - Status: StatusType | string | undefined; + ServiceSpecificCredentialId: string | undefined; /** *

                                                    The name of the IAM user associated with the service-specific credential. If you do @@ -8844,11 +8846,9 @@ export interface UpdateServiceSpecificCredentialRequest { UserName?: string; /** - *

                                                    The unique identifier of the service-specific credential.

                                                    - *

                                                    This parameter allows (through its regex pattern) a string of characters that can - * consist of any upper or lowercased letter or digit.

                                                    + *

                                                    The status to be assigned to the service-specific credential.

                                                    */ - ServiceSpecificCredentialId: string | undefined; + Status: StatusType | string | undefined; } export namespace UpdateServiceSpecificCredentialRequest { @@ -8858,6 +8858,13 @@ export namespace UpdateServiceSpecificCredentialRequest { } export interface UpdateSigningCertificateRequest { + /** + *

                                                    The ID of the signing certificate you want to update.

                                                    + *

                                                    This parameter allows (through its regex pattern) a string of characters that can + * consist of any upper or lowercased letter or digit.

                                                    + */ + CertificateId: string | undefined; + /** *

                                                    The name of the IAM user the signing certificate belongs to.

                                                    *

                                                    This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric @@ -8871,13 +8878,6 @@ export interface UpdateSigningCertificateRequest { * certificate cannot be used.

                                                    */ Status: StatusType | string | undefined; - - /** - *

                                                    The ID of the signing certificate you want to update.

                                                    - *

                                                    This parameter allows (through its regex pattern) a string of characters that can - * consist of any upper or lowercased letter or digit.

                                                    - */ - CertificateId: string | undefined; } export namespace UpdateSigningCertificateRequest { @@ -8888,11 +8888,11 @@ export namespace UpdateSigningCertificateRequest { export interface UpdateSSHPublicKeyRequest { /** - *

                                                    The status to assign to the SSH public key. Active means that the key can - * be used for authentication with an AWS CodeCommit repository. Inactive means that the - * key cannot be used.

                                                    + *

                                                    The unique identifier for the SSH public key.

                                                    + *

                                                    This parameter allows (through its regex pattern) a string of characters that can + * consist of any upper or lowercased letter or digit.

                                                    */ - Status: StatusType | string | undefined; + SSHPublicKeyId: string | undefined; /** *

                                                    The name of the IAM user associated with the SSH public key.

                                                    @@ -8902,11 +8902,11 @@ export interface UpdateSSHPublicKeyRequest { UserName: string | undefined; /** - *

                                                    The unique identifier for the SSH public key.

                                                    - *

                                                    This parameter allows (through its regex pattern) a string of characters that can - * consist of any upper or lowercased letter or digit.

                                                    + *

                                                    The status to assign to the SSH public key. Active means that the key can + * be used for authentication with an AWS CodeCommit repository. Inactive means that the + * key cannot be used.

                                                    */ - SSHPublicKeyId: string | undefined; + Status: StatusType | string | undefined; } export namespace UpdateSSHPublicKeyRequest { @@ -8916,16 +8916,6 @@ export namespace UpdateSSHPublicKeyRequest { } export interface UpdateUserRequest { - /** - *

                                                    New path for the IAM user. Include this parameter only if you're changing the user's - * path.

                                                    - *

                                                    This parameter allows (through its regex pattern) a string of characters consisting - * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. - * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including - * most punctuation characters, digits, and upper and lowercased letters.

                                                    - */ - NewPath?: string; - /** *

                                                    Name of the user to update. If you're changing the name of the user, this is the * original user name.

                                                    @@ -8942,6 +8932,16 @@ export interface UpdateUserRequest { * and "myresource".

                                                    */ NewUserName?: string; + + /** + *

                                                    New path for the IAM user. Include this parameter only if you're changing the user's + * path.

                                                    + *

                                                    This parameter allows (through its regex pattern) a string of characters consisting + * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. + * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including + * most punctuation characters, digits, and upper and lowercased letters.

                                                    + */ + NewPath?: string; } export namespace UpdateUserRequest { diff --git a/clients/client-iam/models/models_1.ts b/clients/client-iam/models/models_1.ts index 1e80ef4453f4..8f9ca97580ea 100644 --- a/clients/client-iam/models/models_1.ts +++ b/clients/client-iam/models/models_1.ts @@ -4,7 +4,8 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface UploadServerCertificateRequest { /** - *

                                                    The contents of the private key in PEM-encoded format.

                                                    + *

                                                    The contents of the certificate chain. This is typically a concatenation of the + * PEM-encoded public key certificates of the chain.

                                                    *

                                                    The regex pattern * used to validate this parameter is a string of characters consisting of the following:

                                                    *
                                                      @@ -22,24 +23,15 @@ export interface UploadServerCertificateRequest { * *
                                                    */ - PrivateKey: string | undefined; + CertificateChain?: string; /** - *

                                                    The path for the server certificate. For more information about paths, see IAM - * Identifiers in the IAM User Guide.

                                                    - *

                                                    This parameter is optional. If it is not included, it defaults to a slash (/). - * This parameter allows (through its regex pattern) a string of characters consisting - * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. - * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including - * most punctuation characters, digits, and upper and lowercased letters.

                                                    - * - *

                                                    If you are uploading a server certificate specifically for use with Amazon - * CloudFront distributions, you must specify a path using the path parameter. - * The path must begin with /cloudfront and must include a trailing slash (for - * example, /cloudfront/test/).

                                                    - *
                                                    + *

                                                    The name for the server certificate. Do not include the path in this value. The name of + * the certificate cannot contain any spaces.

                                                    + *

                                                    This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric + * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                    */ - Path?: string; + ServerCertificateName: string | undefined; /** *

                                                    The contents of the public key certificate in PEM-encoded format.

                                                    @@ -63,8 +55,7 @@ export interface UploadServerCertificateRequest { CertificateBody: string | undefined; /** - *

                                                    The contents of the certificate chain. This is typically a concatenation of the - * PEM-encoded public key certificates of the chain.

                                                    + *

                                                    The contents of the private key in PEM-encoded format.

                                                    *

                                                    The regex pattern * used to validate this parameter is a string of characters consisting of the following:

                                                    *
                                                      @@ -82,15 +73,24 @@ export interface UploadServerCertificateRequest { * *
                                                    */ - CertificateChain?: string; + PrivateKey: string | undefined; /** - *

                                                    The name for the server certificate. Do not include the path in this value. The name of - * the certificate cannot contain any spaces.

                                                    - *

                                                    This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric - * characters with no spaces. You can also include any of the following characters: _+=,.@-

                                                    + *

                                                    The path for the server certificate. For more information about paths, see IAM + * Identifiers in the IAM User Guide.

                                                    + *

                                                    This parameter is optional. If it is not included, it defaults to a slash (/). + * This parameter allows (through its regex pattern) a string of characters consisting + * of either a forward slash (/) by itself or a string that must begin and end with forward slashes. + * In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including + * most punctuation characters, digits, and upper and lowercased letters.

                                                    + * + *

                                                    If you are uploading a server certificate specifically for use with Amazon + * CloudFront distributions, you must specify a path using the path parameter. + * The path must begin with /cloudfront and must include a trailing slash (for + * example, /cloudfront/test/).

                                                    + *
                                                    */ - ServerCertificateName: string | undefined; + Path?: string; } export namespace UploadServerCertificateRequest { diff --git a/clients/client-iam/protocols/Aws_query.ts b/clients/client-iam/protocols/Aws_query.ts index 850d9b81951a..7621c741876e 100644 --- a/clients/client-iam/protocols/Aws_query.ts +++ b/clients/client-iam/protocols/Aws_query.ts @@ -13017,12 +13017,12 @@ const serializeAws_queryAddClientIDToOpenIDConnectProviderRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientID !== undefined) { - entries["ClientID"] = input.ClientID; - } if (input.OpenIDConnectProviderArn !== undefined) { entries["OpenIDConnectProviderArn"] = input.OpenIDConnectProviderArn; } + if (input.ClientID !== undefined) { + entries["ClientID"] = input.ClientID; + } return entries; }; @@ -13031,34 +13031,34 @@ const serializeAws_queryAddRoleToInstanceProfileRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RoleName !== undefined) { - entries["RoleName"] = input.RoleName; - } if (input.InstanceProfileName !== undefined) { entries["InstanceProfileName"] = input.InstanceProfileName; } + if (input.RoleName !== undefined) { + entries["RoleName"] = input.RoleName; + } return entries; }; const serializeAws_queryAddUserToGroupRequest = (input: AddUserToGroupRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; - } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } return entries; }; const serializeAws_queryAttachGroupPolicyRequest = (input: AttachGroupPolicyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.PolicyArn !== undefined) { - entries["PolicyArn"] = input.PolicyArn; - } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } + if (input.PolicyArn !== undefined) { + entries["PolicyArn"] = input.PolicyArn; + } return entries; }; @@ -13086,12 +13086,12 @@ const serializeAws_queryAttachUserPolicyRequest = (input: AttachUserPolicyReques const serializeAws_queryChangePasswordRequest = (input: ChangePasswordRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.OldPassword !== undefined) { - entries["OldPassword"] = input.OldPassword; - } if (input.NewPassword !== undefined) { entries["NewPassword"] = input.NewPassword; } + if (input.OldPassword !== undefined) { + entries["OldPassword"] = input.OldPassword; + } return entries; }; @@ -13107,6 +13107,9 @@ const serializeAws_queryclientIDListType = (input: string[], context: __SerdeCon const serializeAws_queryContextEntry = (input: ContextEntry, context: __SerdeContext): any => { const entries: any = {}; + if (input.ContextKeyName !== undefined) { + entries["ContextKeyName"] = input.ContextKeyName; + } if (input.ContextKeyType !== undefined) { entries["ContextKeyType"] = input.ContextKeyType; } @@ -13117,9 +13120,6 @@ const serializeAws_queryContextEntry = (input: ContextEntry, context: __SerdeCon entries[loc] = value; }); } - if (input.ContextKeyName !== undefined) { - entries["ContextKeyName"] = input.ContextKeyName; - } return entries; }; @@ -13167,12 +13167,12 @@ const serializeAws_queryCreateAccountAliasRequest = ( const serializeAws_queryCreateGroupRequest = (input: CreateGroupRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; - } if (input.Path !== undefined) { entries["Path"] = input.Path; } + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; + } return entries; }; @@ -13181,12 +13181,12 @@ const serializeAws_queryCreateInstanceProfileRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.InstanceProfileName !== undefined) { - entries["InstanceProfileName"] = input.InstanceProfileName; - } if (input.Path !== undefined) { entries["Path"] = input.Path; } + if (input.InstanceProfileName !== undefined) { + entries["InstanceProfileName"] = input.InstanceProfileName; + } return entries; }; @@ -13195,15 +13195,15 @@ const serializeAws_queryCreateLoginProfileRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; - } if (input.Password !== undefined) { entries["Password"] = input.Password; } if (input.PasswordResetRequired !== undefined) { entries["PasswordResetRequired"] = input.PasswordResetRequired; } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } return entries; }; @@ -13215,17 +13215,17 @@ const serializeAws_queryCreateOpenIDConnectProviderRequest = ( if (input.Url !== undefined) { entries["Url"] = input.Url; } - if (input.ThumbprintList !== undefined) { - const memberEntries = serializeAws_querythumbprintListType(input.ThumbprintList, context); + if (input.ClientIDList !== undefined) { + const memberEntries = serializeAws_queryclientIDListType(input.ClientIDList, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ThumbprintList.${key}`; + const loc = `ClientIDList.${key}`; entries[loc] = value; }); } - if (input.ClientIDList !== undefined) { - const memberEntries = serializeAws_queryclientIDListType(input.ClientIDList, context); + if (input.ThumbprintList !== undefined) { + const memberEntries = serializeAws_querythumbprintListType(input.ThumbprintList, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ClientIDList.${key}`; + const loc = `ThumbprintList.${key}`; entries[loc] = value; }); } @@ -13234,18 +13234,18 @@ const serializeAws_queryCreateOpenIDConnectProviderRequest = ( const serializeAws_queryCreatePolicyRequest = (input: CreatePolicyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.PolicyName !== undefined) { - entries["PolicyName"] = input.PolicyName; - } - if (input.Path !== undefined) { - entries["Path"] = input.Path; - } if (input.PolicyDocument !== undefined) { entries["PolicyDocument"] = input.PolicyDocument; } + if (input.PolicyName !== undefined) { + entries["PolicyName"] = input.PolicyName; + } if (input.Description !== undefined) { entries["Description"] = input.Description; } + if (input.Path !== undefined) { + entries["Path"] = input.Path; + } return entries; }; @@ -13257,23 +13257,22 @@ const serializeAws_queryCreatePolicyVersionRequest = ( if (input.PolicyDocument !== undefined) { entries["PolicyDocument"] = input.PolicyDocument; } - if (input.SetAsDefault !== undefined) { - entries["SetAsDefault"] = input.SetAsDefault; - } if (input.PolicyArn !== undefined) { entries["PolicyArn"] = input.PolicyArn; } + if (input.SetAsDefault !== undefined) { + entries["SetAsDefault"] = input.SetAsDefault; + } return entries; }; const serializeAws_queryCreateRoleRequest = (input: CreateRoleRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Tags !== undefined) { - const memberEntries = serializeAws_querytagListType(input.Tags, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; - entries[loc] = value; - }); + if (input.PermissionsBoundary !== undefined) { + entries["PermissionsBoundary"] = input.PermissionsBoundary; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.Path !== undefined) { entries["Path"] = input.Path; @@ -13281,17 +13280,18 @@ const serializeAws_queryCreateRoleRequest = (input: CreateRoleRequest, context: if (input.MaxSessionDuration !== undefined) { entries["MaxSessionDuration"] = input.MaxSessionDuration; } - if (input.RoleName !== undefined) { - entries["RoleName"] = input.RoleName; - } - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.Tags !== undefined) { + const memberEntries = serializeAws_querytagListType(input.Tags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); } if (input.AssumeRolePolicyDocument !== undefined) { entries["AssumeRolePolicyDocument"] = input.AssumeRolePolicyDocument; } - if (input.PermissionsBoundary !== undefined) { - entries["PermissionsBoundary"] = input.PermissionsBoundary; + if (input.RoleName !== undefined) { + entries["RoleName"] = input.RoleName; } return entries; }; @@ -13315,15 +13315,15 @@ const serializeAws_queryCreateServiceLinkedRoleRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.CustomSuffix !== undefined) { + entries["CustomSuffix"] = input.CustomSuffix; + } if (input.AWSServiceName !== undefined) { entries["AWSServiceName"] = input.AWSServiceName; } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.CustomSuffix !== undefined) { - entries["CustomSuffix"] = input.CustomSuffix; - } return entries; }; @@ -13332,23 +13332,23 @@ const serializeAws_queryCreateServiceSpecificCredentialRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ServiceName !== undefined) { - entries["ServiceName"] = input.ServiceName; - } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } + if (input.ServiceName !== undefined) { + entries["ServiceName"] = input.ServiceName; + } return entries; }; const serializeAws_queryCreateUserRequest = (input: CreateUserRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Path !== undefined) { - entries["Path"] = input.Path; - } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } + if (input.Path !== undefined) { + entries["Path"] = input.Path; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_querytagListType(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -13392,12 +13392,12 @@ const serializeAws_queryDeactivateMFADeviceRequest = ( const serializeAws_queryDeleteAccessKeyRequest = (input: DeleteAccessKeyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; - } if (input.AccessKeyId !== undefined) { entries["AccessKeyId"] = input.AccessKeyId; } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } return entries; }; @@ -13414,12 +13414,12 @@ const serializeAws_queryDeleteAccountAliasRequest = ( const serializeAws_queryDeleteGroupPolicyRequest = (input: DeleteGroupPolicyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.PolicyName !== undefined) { - entries["PolicyName"] = input.PolicyName; - } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } + if (input.PolicyName !== undefined) { + entries["PolicyName"] = input.PolicyName; + } return entries; }; @@ -13499,12 +13499,12 @@ const serializeAws_queryDeleteRolePermissionsBoundaryRequest = ( const serializeAws_queryDeleteRolePolicyRequest = (input: DeleteRolePolicyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.PolicyName !== undefined) { - entries["PolicyName"] = input.PolicyName; - } if (input.RoleName !== undefined) { entries["RoleName"] = input.RoleName; } + if (input.PolicyName !== undefined) { + entries["PolicyName"] = input.PolicyName; + } return entries; }; @@ -13568,12 +13568,12 @@ const serializeAws_queryDeleteSigningCertificateRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; - } if (input.CertificateId !== undefined) { entries["CertificateId"] = input.CertificateId; } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } return entries; }; @@ -13582,12 +13582,12 @@ const serializeAws_queryDeleteSSHPublicKeyRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SSHPublicKeyId !== undefined) { - entries["SSHPublicKeyId"] = input.SSHPublicKeyId; - } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } + if (input.SSHPublicKeyId !== undefined) { + entries["SSHPublicKeyId"] = input.SSHPublicKeyId; + } return entries; }; @@ -13645,12 +13645,12 @@ const serializeAws_queryDetachGroupPolicyRequest = (input: DetachGroupPolicyRequ const serializeAws_queryDetachRolePolicyRequest = (input: DetachRolePolicyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.RoleName !== undefined) { - entries["RoleName"] = input.RoleName; - } if (input.PolicyArn !== undefined) { entries["PolicyArn"] = input.PolicyArn; } + if (input.RoleName !== undefined) { + entries["RoleName"] = input.RoleName; + } return entries; }; @@ -13667,17 +13667,17 @@ const serializeAws_queryDetachUserPolicyRequest = (input: DetachUserPolicyReques const serializeAws_queryEnableMFADeviceRequest = (input: EnableMFADeviceRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } if (input.SerialNumber !== undefined) { entries["SerialNumber"] = input.SerialNumber; } - if (input.AuthenticationCode1 !== undefined) { - entries["AuthenticationCode1"] = input.AuthenticationCode1; - } if (input.AuthenticationCode2 !== undefined) { entries["AuthenticationCode2"] = input.AuthenticationCode2; } - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; + if (input.AuthenticationCode1 !== undefined) { + entries["AuthenticationCode1"] = input.AuthenticationCode1; } return entries; }; @@ -13711,12 +13711,12 @@ const serializeAws_queryGenerateServiceLastAccessedDetailsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Arn !== undefined) { - entries["Arn"] = input.Arn; - } if (input.Granularity !== undefined) { entries["Granularity"] = input.Granularity; } + if (input.Arn !== undefined) { + entries["Arn"] = input.Arn; + } return entries; }; @@ -13772,9 +13772,6 @@ const serializeAws_queryGetContextKeysForPrincipalPolicyRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PolicySourceArn !== undefined) { - entries["PolicySourceArn"] = input.PolicySourceArn; - } if (input.PolicyInputList !== undefined) { const memberEntries = serializeAws_querySimulationPolicyListType(input.PolicyInputList, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -13782,31 +13779,34 @@ const serializeAws_queryGetContextKeysForPrincipalPolicyRequest = ( entries[loc] = value; }); } + if (input.PolicySourceArn !== undefined) { + entries["PolicySourceArn"] = input.PolicySourceArn; + } return entries; }; const serializeAws_queryGetGroupPolicyRequest = (input: GetGroupPolicyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.PolicyName !== undefined) { - entries["PolicyName"] = input.PolicyName; - } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } + if (input.PolicyName !== undefined) { + entries["PolicyName"] = input.PolicyName; + } return entries; }; const serializeAws_queryGetGroupRequest = (input: GetGroupRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } return entries; }; @@ -13845,17 +13845,17 @@ const serializeAws_queryGetOrganizationsAccessReportRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.SortKey !== undefined) { entries["SortKey"] = input.SortKey; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } if (input.JobId !== undefined) { entries["JobId"] = input.JobId; } - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } return entries; }; @@ -13870,23 +13870,23 @@ const serializeAws_queryGetPolicyRequest = (input: GetPolicyRequest, context: __ const serializeAws_queryGetPolicyVersionRequest = (input: GetPolicyVersionRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.VersionId !== undefined) { - entries["VersionId"] = input.VersionId; - } if (input.PolicyArn !== undefined) { entries["PolicyArn"] = input.PolicyArn; } + if (input.VersionId !== undefined) { + entries["VersionId"] = input.VersionId; + } return entries; }; const serializeAws_queryGetRolePolicyRequest = (input: GetRolePolicyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.PolicyName !== undefined) { - entries["PolicyName"] = input.PolicyName; - } if (input.RoleName !== undefined) { entries["RoleName"] = input.RoleName; } + if (input.PolicyName !== undefined) { + entries["PolicyName"] = input.PolicyName; + } return entries; }; @@ -13922,15 +13922,15 @@ const serializeAws_queryGetServiceLastAccessedDetailsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.JobId !== undefined) { entries["JobId"] = input.JobId; } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; @@ -13939,8 +13939,8 @@ const serializeAws_queryGetServiceLastAccessedDetailsWithEntitiesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.JobId !== undefined) { - entries["JobId"] = input.JobId; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.ServiceNamespace !== undefined) { entries["ServiceNamespace"] = input.ServiceNamespace; @@ -13948,8 +13948,8 @@ const serializeAws_queryGetServiceLastAccessedDetailsWithEntitiesRequest = ( if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.JobId !== undefined) { + entries["JobId"] = input.JobId; } return entries; }; @@ -13967,12 +13967,12 @@ const serializeAws_queryGetServiceLinkedRoleDeletionStatusRequest = ( const serializeAws_queryGetSSHPublicKeyRequest = (input: GetSSHPublicKeyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; - } if (input.SSHPublicKeyId !== undefined) { entries["SSHPublicKeyId"] = input.SSHPublicKeyId; } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } if (input.Encoding !== undefined) { entries["Encoding"] = input.Encoding; } @@ -14000,15 +14000,15 @@ const serializeAws_queryGetUserRequest = (input: GetUserRequest, context: __Serd const serializeAws_queryListAccessKeysRequest = (input: ListAccessKeysRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } return entries; }; @@ -14017,12 +14017,12 @@ const serializeAws_queryListAccountAliasesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } return entries; }; @@ -14031,18 +14031,18 @@ const serializeAws_queryListAttachedGroupPoliciesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; - } - if (input.PathPrefix !== undefined) { - entries["PathPrefix"] = input.PathPrefix; - } - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; + } + if (input.PathPrefix !== undefined) { + entries["PathPrefix"] = input.PathPrefix; + } return entries; }; @@ -14051,17 +14051,17 @@ const serializeAws_queryListAttachedRolePoliciesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PathPrefix !== undefined) { - entries["PathPrefix"] = input.PathPrefix; - } - if (input.RoleName !== undefined) { - entries["RoleName"] = input.RoleName; + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; + if (input.RoleName !== undefined) { + entries["RoleName"] = input.RoleName; + } + if (input.PathPrefix !== undefined) { + entries["PathPrefix"] = input.PathPrefix; } return entries; }; @@ -14074,15 +14074,15 @@ const serializeAws_queryListAttachedUserPoliciesRequest = ( if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } if (input.PathPrefix !== undefined) { entries["PathPrefix"] = input.PathPrefix; } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; - } return entries; }; @@ -14091,66 +14091,66 @@ const serializeAws_queryListEntitiesForPolicyRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PathPrefix !== undefined) { - entries["PathPrefix"] = input.PathPrefix; - } - if (input.PolicyUsageFilter !== undefined) { - entries["PolicyUsageFilter"] = input.PolicyUsageFilter; - } - if (input.EntityFilter !== undefined) { - entries["EntityFilter"] = input.EntityFilter; - } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.EntityFilter !== undefined) { + entries["EntityFilter"] = input.EntityFilter; + } if (input.PolicyArn !== undefined) { entries["PolicyArn"] = input.PolicyArn; } + if (input.PathPrefix !== undefined) { + entries["PathPrefix"] = input.PathPrefix; + } + if (input.PolicyUsageFilter !== undefined) { + entries["PolicyUsageFilter"] = input.PolicyUsageFilter; + } return entries; }; const serializeAws_queryListGroupPoliciesRequest = (input: ListGroupPoliciesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; const serializeAws_queryListGroupsForUserRequest = (input: ListGroupsForUserRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; } return entries; }; const serializeAws_queryListGroupsRequest = (input: ListGroupsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } if (input.PathPrefix !== undefined) { entries["PathPrefix"] = input.PathPrefix; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } return entries; }; @@ -14159,15 +14159,15 @@ const serializeAws_queryListInstanceProfilesForRoleRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RoleName !== undefined) { - entries["RoleName"] = input.RoleName; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } + if (input.RoleName !== undefined) { + entries["RoleName"] = input.RoleName; + } return entries; }; @@ -14176,29 +14176,29 @@ const serializeAws_queryListInstanceProfilesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } if (input.PathPrefix !== undefined) { entries["PathPrefix"] = input.PathPrefix; } - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } return entries; }; const serializeAws_queryListMFADevicesRequest = (input: ListMFADevicesRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } return entries; }; @@ -14215,9 +14215,6 @@ const serializeAws_queryListPoliciesGrantingServiceAccessRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Arn !== undefined) { - entries["Arn"] = input.Arn; - } if (input.ServiceNamespaces !== undefined) { const memberEntries = serializeAws_queryserviceNamespaceListType(input.ServiceNamespaces, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -14228,28 +14225,31 @@ const serializeAws_queryListPoliciesGrantingServiceAccessRequest = ( if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.Arn !== undefined) { + entries["Arn"] = input.Arn; + } return entries; }; const serializeAws_queryListPoliciesRequest = (input: ListPoliciesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.PolicyUsageFilter !== undefined) { entries["PolicyUsageFilter"] = input.PolicyUsageFilter; } + if (input.Scope !== undefined) { + entries["Scope"] = input.Scope; + } if (input.PathPrefix !== undefined) { entries["PathPrefix"] = input.PathPrefix; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } if (input.OnlyAttached !== undefined) { entries["OnlyAttached"] = input.OnlyAttached; } - if (input.Scope !== undefined) { - entries["Scope"] = input.Scope; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } return entries; }; @@ -14259,40 +14259,40 @@ const serializeAws_queryListPolicyVersionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } if (input.PolicyArn !== undefined) { entries["PolicyArn"] = input.PolicyArn; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; const serializeAws_queryListRolePoliciesRequest = (input: ListRolePoliciesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.RoleName !== undefined) { entries["RoleName"] = input.RoleName; } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; const serializeAws_queryListRolesRequest = (input: ListRolesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } if (input.PathPrefix !== undefined) { entries["PathPrefix"] = input.PathPrefix; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } @@ -14301,14 +14301,14 @@ const serializeAws_queryListRolesRequest = (input: ListRolesRequest, context: __ const serializeAws_queryListRoleTagsRequest = (input: ListRoleTagsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.RoleName !== undefined) { - entries["RoleName"] = input.RoleName; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.RoleName !== undefined) { + entries["RoleName"] = input.RoleName; } return entries; }; @@ -14323,12 +14323,12 @@ const serializeAws_queryListServerCertificatesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.PathPrefix !== undefined) { entries["PathPrefix"] = input.PathPrefix; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } @@ -14340,12 +14340,12 @@ const serializeAws_queryListServiceSpecificCredentialsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; - } if (input.ServiceName !== undefined) { entries["ServiceName"] = input.ServiceName; } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } return entries; }; @@ -14357,68 +14357,68 @@ const serializeAws_queryListSigningCertificatesRequest = ( if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } return entries; }; const serializeAws_queryListSSHPublicKeysRequest = (input: ListSSHPublicKeysRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } return entries; }; const serializeAws_queryListUserPoliciesRequest = (input: ListUserPoliciesRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; const serializeAws_queryListUsersRequest = (input: ListUsersRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } if (input.PathPrefix !== undefined) { entries["PathPrefix"] = input.PathPrefix; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } return entries; }; const serializeAws_queryListUserTagsRequest = (input: ListUserTagsRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } return entries; }; @@ -14427,14 +14427,14 @@ const serializeAws_queryListVirtualMFADevicesRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AssignmentStatus !== undefined) { - entries["AssignmentStatus"] = input.AssignmentStatus; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.AssignmentStatus !== undefined) { + entries["AssignmentStatus"] = input.AssignmentStatus; } return entries; }; @@ -14444,12 +14444,12 @@ const serializeAws_queryPutGroupPolicyRequest = (input: PutGroupPolicyRequest, c if (input.PolicyName !== undefined) { entries["PolicyName"] = input.PolicyName; } - if (input.GroupName !== undefined) { - entries["GroupName"] = input.GroupName; - } if (input.PolicyDocument !== undefined) { entries["PolicyDocument"] = input.PolicyDocument; } + if (input.GroupName !== undefined) { + entries["GroupName"] = input.GroupName; + } return entries; }; @@ -14458,23 +14458,23 @@ const serializeAws_queryPutRolePermissionsBoundaryRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PermissionsBoundary !== undefined) { - entries["PermissionsBoundary"] = input.PermissionsBoundary; - } if (input.RoleName !== undefined) { entries["RoleName"] = input.RoleName; } + if (input.PermissionsBoundary !== undefined) { + entries["PermissionsBoundary"] = input.PermissionsBoundary; + } return entries; }; const serializeAws_queryPutRolePolicyRequest = (input: PutRolePolicyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.PolicyName !== undefined) { - entries["PolicyName"] = input.PolicyName; - } if (input.RoleName !== undefined) { entries["RoleName"] = input.RoleName; } + if (input.PolicyName !== undefined) { + entries["PolicyName"] = input.PolicyName; + } if (input.PolicyDocument !== undefined) { entries["PolicyDocument"] = input.PolicyDocument; } @@ -14486,12 +14486,12 @@ const serializeAws_queryPutUserPermissionsBoundaryRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; - } if (input.PermissionsBoundary !== undefined) { entries["PermissionsBoundary"] = input.PermissionsBoundary; } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } return entries; }; @@ -14500,12 +14500,12 @@ const serializeAws_queryPutUserPolicyRequest = (input: PutUserPolicyRequest, con if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } - if (input.PolicyName !== undefined) { - entries["PolicyName"] = input.PolicyName; - } if (input.PolicyDocument !== undefined) { entries["PolicyDocument"] = input.PolicyDocument; } + if (input.PolicyName !== undefined) { + entries["PolicyName"] = input.PolicyName; + } return entries; }; @@ -14514,12 +14514,12 @@ const serializeAws_queryRemoveClientIDFromOpenIDConnectProviderRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClientID !== undefined) { - entries["ClientID"] = input.ClientID; - } if (input.OpenIDConnectProviderArn !== undefined) { entries["OpenIDConnectProviderArn"] = input.OpenIDConnectProviderArn; } + if (input.ClientID !== undefined) { + entries["ClientID"] = input.ClientID; + } return entries; }; @@ -14542,12 +14542,12 @@ const serializeAws_queryRemoveUserFromGroupRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; - } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } return entries; }; @@ -14556,12 +14556,12 @@ const serializeAws_queryResetServiceSpecificCredentialRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ServiceSpecificCredentialId !== undefined) { - entries["ServiceSpecificCredentialId"] = input.ServiceSpecificCredentialId; - } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } + if (input.ServiceSpecificCredentialId !== undefined) { + entries["ServiceSpecificCredentialId"] = input.ServiceSpecificCredentialId; + } return entries; }; @@ -14577,18 +14577,18 @@ const serializeAws_queryResourceNameListType = (input: string[], context: __Serd const serializeAws_queryResyncMFADeviceRequest = (input: ResyncMFADeviceRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.AuthenticationCode2 !== undefined) { + entries["AuthenticationCode2"] = input.AuthenticationCode2; + } + if (input.AuthenticationCode1 !== undefined) { + entries["AuthenticationCode1"] = input.AuthenticationCode1; + } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } if (input.SerialNumber !== undefined) { entries["SerialNumber"] = input.SerialNumber; } - if (input.AuthenticationCode1 !== undefined) { - entries["AuthenticationCode1"] = input.AuthenticationCode1; - } - if (input.AuthenticationCode2 !== undefined) { - entries["AuthenticationCode2"] = input.AuthenticationCode2; - } return entries; }; @@ -14607,12 +14607,12 @@ const serializeAws_querySetDefaultPolicyVersionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PolicyArn !== undefined) { - entries["PolicyArn"] = input.PolicyArn; - } if (input.VersionId !== undefined) { entries["VersionId"] = input.VersionId; } + if (input.PolicyArn !== undefined) { + entries["PolicyArn"] = input.PolicyArn; + } return entries; }; @@ -14632,10 +14632,19 @@ const serializeAws_querySimulateCustomPolicyRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ContextEntries !== undefined) { - const memberEntries = serializeAws_queryContextEntryListType(input.ContextEntries, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ContextEntries.${key}`; + if (input.ResourcePolicy !== undefined) { + entries["ResourcePolicy"] = input.ResourcePolicy; + } + if (input.CallerArn !== undefined) { + entries["CallerArn"] = input.CallerArn; + } + if (input.ResourceHandlingOption !== undefined) { + entries["ResourceHandlingOption"] = input.ResourceHandlingOption; + } + if (input.ResourceArns !== undefined) { + const memberEntries = serializeAws_queryResourceNameListType(input.ResourceArns, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ResourceArns.${key}`; entries[loc] = value; }); } @@ -14646,18 +14655,6 @@ const serializeAws_querySimulateCustomPolicyRequest = ( entries[loc] = value; }); } - if (input.ResourceOwner !== undefined) { - entries["ResourceOwner"] = input.ResourceOwner; - } - if (input.ResourceHandlingOption !== undefined) { - entries["ResourceHandlingOption"] = input.ResourceHandlingOption; - } - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } - if (input.ResourcePolicy !== undefined) { - entries["ResourcePolicy"] = input.ResourcePolicy; - } if (input.PolicyInputList !== undefined) { const memberEntries = serializeAws_querySimulationPolicyListType(input.PolicyInputList, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -14668,23 +14665,26 @@ const serializeAws_querySimulateCustomPolicyRequest = ( if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.CallerArn !== undefined) { - entries["CallerArn"] = input.CallerArn; - } - if (input.ResourceArns !== undefined) { - const memberEntries = serializeAws_queryResourceNameListType(input.ResourceArns, context); + if (input.PermissionsBoundaryPolicyInputList !== undefined) { + const memberEntries = serializeAws_querySimulationPolicyListType(input.PermissionsBoundaryPolicyInputList, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResourceArns.${key}`; + const loc = `PermissionsBoundaryPolicyInputList.${key}`; entries[loc] = value; }); } - if (input.PermissionsBoundaryPolicyInputList !== undefined) { - const memberEntries = serializeAws_querySimulationPolicyListType(input.PermissionsBoundaryPolicyInputList, context); + if (input.ResourceOwner !== undefined) { + entries["ResourceOwner"] = input.ResourceOwner; + } + if (input.ContextEntries !== undefined) { + const memberEntries = serializeAws_queryContextEntryListType(input.ContextEntries, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PermissionsBoundaryPolicyInputList.${key}`; + const loc = `ContextEntries.${key}`; entries[loc] = value; }); } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } return entries; }; @@ -14693,49 +14693,36 @@ const serializeAws_querySimulatePrincipalPolicyRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ContextEntries !== undefined) { - const memberEntries = serializeAws_queryContextEntryListType(input.ContextEntries, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ContextEntries.${key}`; - entries[loc] = value; - }); + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } - if (input.PermissionsBoundaryPolicyInputList !== undefined) { - const memberEntries = serializeAws_querySimulationPolicyListType(input.PermissionsBoundaryPolicyInputList, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PermissionsBoundaryPolicyInputList.${key}`; - entries[loc] = value; - }); + if (input.ResourceHandlingOption !== undefined) { + entries["ResourceHandlingOption"] = input.ResourceHandlingOption; } - if (input.ResourceArns !== undefined) { - const memberEntries = serializeAws_queryResourceNameListType(input.ResourceArns, context); + if (input.ActionNames !== undefined) { + const memberEntries = serializeAws_queryActionNameListType(input.ActionNames, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResourceArns.${key}`; + const loc = `ActionNames.${key}`; entries[loc] = value; }); } - if (input.CallerArn !== undefined) { - entries["CallerArn"] = input.CallerArn; - } if (input.ResourcePolicy !== undefined) { entries["ResourcePolicy"] = input.ResourcePolicy; } - if (input.PolicySourceArn !== undefined) { - entries["PolicySourceArn"] = input.PolicySourceArn; - } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.ResourceHandlingOption !== undefined) { - entries["ResourceHandlingOption"] = input.ResourceHandlingOption; + if (input.ContextEntries !== undefined) { + const memberEntries = serializeAws_queryContextEntryListType(input.ContextEntries, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ContextEntries.${key}`; + entries[loc] = value; + }); } - if (input.ActionNames !== undefined) { - const memberEntries = serializeAws_queryActionNameListType(input.ActionNames, context); + if (input.PermissionsBoundaryPolicyInputList !== undefined) { + const memberEntries = serializeAws_querySimulationPolicyListType(input.PermissionsBoundaryPolicyInputList, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ActionNames.${key}`; + const loc = `PermissionsBoundaryPolicyInputList.${key}`; entries[loc] = value; }); } @@ -14749,6 +14736,19 @@ const serializeAws_querySimulatePrincipalPolicyRequest = ( if (input.ResourceOwner !== undefined) { entries["ResourceOwner"] = input.ResourceOwner; } + if (input.PolicySourceArn !== undefined) { + entries["PolicySourceArn"] = input.PolicySourceArn; + } + if (input.ResourceArns !== undefined) { + const memberEntries = serializeAws_queryResourceNameListType(input.ResourceArns, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ResourceArns.${key}`; + entries[loc] = value; + }); + } + if (input.CallerArn !== undefined) { + entries["CallerArn"] = input.CallerArn; + } return entries; }; @@ -14764,12 +14764,12 @@ const serializeAws_querySimulationPolicyListType = (input: string[], context: __ const serializeAws_queryTag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Key !== undefined) { - entries["Key"] = input.Key; - } if (input.Value !== undefined) { entries["Value"] = input.Value; } + if (input.Key !== undefined) { + entries["Key"] = input.Key; + } return entries; }; @@ -14838,9 +14838,6 @@ const serializeAws_querythumbprintListType = (input: string[], context: __SerdeC const serializeAws_queryUntagRoleRequest = (input: UntagRoleRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.RoleName !== undefined) { - entries["RoleName"] = input.RoleName; - } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_querytagKeyListType(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -14848,14 +14845,14 @@ const serializeAws_queryUntagRoleRequest = (input: UntagRoleRequest, context: __ entries[loc] = value; }); } + if (input.RoleName !== undefined) { + entries["RoleName"] = input.RoleName; + } return entries; }; const serializeAws_queryUntagUserRequest = (input: UntagUserRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; - } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_querytagKeyListType(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -14863,6 +14860,9 @@ const serializeAws_queryUntagUserRequest = (input: UntagUserRequest, context: __ entries[loc] = value; }); } + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; + } return entries; }; @@ -14871,12 +14871,12 @@ const serializeAws_queryUpdateAccessKeyRequest = (input: UpdateAccessKeyRequest, if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } - if (input.Status !== undefined) { - entries["Status"] = input.Status; - } if (input.AccessKeyId !== undefined) { entries["AccessKeyId"] = input.AccessKeyId; } + if (input.Status !== undefined) { + entries["Status"] = input.Status; + } return entries; }; @@ -14885,32 +14885,32 @@ const serializeAws_queryUpdateAccountPasswordPolicyRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.RequireLowercaseCharacters !== undefined) { + entries["RequireLowercaseCharacters"] = input.RequireLowercaseCharacters; + } + if (input.PasswordReusePrevention !== undefined) { + entries["PasswordReusePrevention"] = input.PasswordReusePrevention; + } if (input.HardExpiry !== undefined) { entries["HardExpiry"] = input.HardExpiry; } + if (input.MaxPasswordAge !== undefined) { + entries["MaxPasswordAge"] = input.MaxPasswordAge; + } if (input.RequireUppercaseCharacters !== undefined) { entries["RequireUppercaseCharacters"] = input.RequireUppercaseCharacters; } - if (input.RequireNumbers !== undefined) { - entries["RequireNumbers"] = input.RequireNumbers; - } if (input.RequireSymbols !== undefined) { entries["RequireSymbols"] = input.RequireSymbols; } - if (input.MinimumPasswordLength !== undefined) { - entries["MinimumPasswordLength"] = input.MinimumPasswordLength; - } - if (input.PasswordReusePrevention !== undefined) { - entries["PasswordReusePrevention"] = input.PasswordReusePrevention; - } if (input.AllowUsersToChangePassword !== undefined) { entries["AllowUsersToChangePassword"] = input.AllowUsersToChangePassword; } - if (input.MaxPasswordAge !== undefined) { - entries["MaxPasswordAge"] = input.MaxPasswordAge; + if (input.RequireNumbers !== undefined) { + entries["RequireNumbers"] = input.RequireNumbers; } - if (input.RequireLowercaseCharacters !== undefined) { - entries["RequireLowercaseCharacters"] = input.RequireLowercaseCharacters; + if (input.MinimumPasswordLength !== undefined) { + entries["MinimumPasswordLength"] = input.MinimumPasswordLength; } return entries; }; @@ -14920,25 +14920,25 @@ const serializeAws_queryUpdateAssumeRolePolicyRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PolicyDocument !== undefined) { - entries["PolicyDocument"] = input.PolicyDocument; - } if (input.RoleName !== undefined) { entries["RoleName"] = input.RoleName; } + if (input.PolicyDocument !== undefined) { + entries["PolicyDocument"] = input.PolicyDocument; + } return entries; }; const serializeAws_queryUpdateGroupRequest = (input: UpdateGroupRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.NewPath !== undefined) { - entries["NewPath"] = input.NewPath; + if (input.NewGroupName !== undefined) { + entries["NewGroupName"] = input.NewGroupName; } if (input.GroupName !== undefined) { entries["GroupName"] = input.GroupName; } - if (input.NewGroupName !== undefined) { - entries["NewGroupName"] = input.NewGroupName; + if (input.NewPath !== undefined) { + entries["NewPath"] = input.NewPath; } return entries; }; @@ -14965,9 +14965,6 @@ const serializeAws_queryUpdateOpenIDConnectProviderThumbprintRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.OpenIDConnectProviderArn !== undefined) { - entries["OpenIDConnectProviderArn"] = input.OpenIDConnectProviderArn; - } if (input.ThumbprintList !== undefined) { const memberEntries = serializeAws_querythumbprintListType(input.ThumbprintList, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -14975,6 +14972,9 @@ const serializeAws_queryUpdateOpenIDConnectProviderThumbprintRequest = ( entries[loc] = value; }); } + if (input.OpenIDConnectProviderArn !== undefined) { + entries["OpenIDConnectProviderArn"] = input.OpenIDConnectProviderArn; + } return entries; }; @@ -14983,26 +14983,26 @@ const serializeAws_queryUpdateRoleDescriptionRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RoleName !== undefined) { - entries["RoleName"] = input.RoleName; - } if (input.Description !== undefined) { entries["Description"] = input.Description; } + if (input.RoleName !== undefined) { + entries["RoleName"] = input.RoleName; + } return entries; }; const serializeAws_queryUpdateRoleRequest = (input: UpdateRoleRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } if (input.MaxSessionDuration !== undefined) { entries["MaxSessionDuration"] = input.MaxSessionDuration; } if (input.RoleName !== undefined) { entries["RoleName"] = input.RoleName; } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } return entries; }; @@ -15025,12 +15025,12 @@ const serializeAws_queryUpdateServerCertificateRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NewServerCertificateName !== undefined) { - entries["NewServerCertificateName"] = input.NewServerCertificateName; - } if (input.NewPath !== undefined) { entries["NewPath"] = input.NewPath; } + if (input.NewServerCertificateName !== undefined) { + entries["NewServerCertificateName"] = input.NewServerCertificateName; + } if (input.ServerCertificateName !== undefined) { entries["ServerCertificateName"] = input.ServerCertificateName; } @@ -15042,14 +15042,14 @@ const serializeAws_queryUpdateServiceSpecificCredentialRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Status !== undefined) { - entries["Status"] = input.Status; + if (input.ServiceSpecificCredentialId !== undefined) { + entries["ServiceSpecificCredentialId"] = input.ServiceSpecificCredentialId; } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } - if (input.ServiceSpecificCredentialId !== undefined) { - entries["ServiceSpecificCredentialId"] = input.ServiceSpecificCredentialId; + if (input.Status !== undefined) { + entries["Status"] = input.Status; } return entries; }; @@ -15059,15 +15059,15 @@ const serializeAws_queryUpdateSigningCertificateRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.CertificateId !== undefined) { + entries["CertificateId"] = input.CertificateId; + } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } if (input.Status !== undefined) { entries["Status"] = input.Status; } - if (input.CertificateId !== undefined) { - entries["CertificateId"] = input.CertificateId; - } return entries; }; @@ -15076,29 +15076,29 @@ const serializeAws_queryUpdateSSHPublicKeyRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Status !== undefined) { - entries["Status"] = input.Status; + if (input.SSHPublicKeyId !== undefined) { + entries["SSHPublicKeyId"] = input.SSHPublicKeyId; } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } - if (input.SSHPublicKeyId !== undefined) { - entries["SSHPublicKeyId"] = input.SSHPublicKeyId; + if (input.Status !== undefined) { + entries["Status"] = input.Status; } return entries; }; const serializeAws_queryUpdateUserRequest = (input: UpdateUserRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.NewPath !== undefined) { - entries["NewPath"] = input.NewPath; - } if (input.UserName !== undefined) { entries["UserName"] = input.UserName; } if (input.NewUserName !== undefined) { entries["NewUserName"] = input.NewUserName; } + if (input.NewPath !== undefined) { + entries["NewPath"] = input.NewPath; + } return entries; }; @@ -15107,20 +15107,20 @@ const serializeAws_queryUploadServerCertificateRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PrivateKey !== undefined) { - entries["PrivateKey"] = input.PrivateKey; + if (input.CertificateChain !== undefined) { + entries["CertificateChain"] = input.CertificateChain; } - if (input.Path !== undefined) { - entries["Path"] = input.Path; + if (input.ServerCertificateName !== undefined) { + entries["ServerCertificateName"] = input.ServerCertificateName; } if (input.CertificateBody !== undefined) { entries["CertificateBody"] = input.CertificateBody; } - if (input.CertificateChain !== undefined) { - entries["CertificateChain"] = input.CertificateChain; + if (input.PrivateKey !== undefined) { + entries["PrivateKey"] = input.PrivateKey; } - if (input.ServerCertificateName !== undefined) { - entries["ServerCertificateName"] = input.ServerCertificateName; + if (input.Path !== undefined) { + entries["Path"] = input.Path; } return entries; }; @@ -15155,18 +15155,15 @@ const serializeAws_queryUploadSSHPublicKeyRequest = ( const deserializeAws_queryAccessDetail = (output: any, context: __SerdeContext): AccessDetail => { let contents: any = { - ServiceName: undefined, - EntityPath: undefined, + ServiceNamespace: undefined, TotalAuthenticatedEntities: undefined, Region: undefined, + ServiceName: undefined, + EntityPath: undefined, LastAuthenticatedTime: undefined, - ServiceNamespace: undefined, }; - if (output["ServiceName"] !== undefined) { - contents.ServiceName = output["ServiceName"]; - } - if (output["EntityPath"] !== undefined) { - contents.EntityPath = output["EntityPath"]; + if (output["ServiceNamespace"] !== undefined) { + contents.ServiceNamespace = output["ServiceNamespace"]; } if (output["TotalAuthenticatedEntities"] !== undefined) { contents.TotalAuthenticatedEntities = parseInt(output["TotalAuthenticatedEntities"]); @@ -15174,12 +15171,15 @@ const deserializeAws_queryAccessDetail = (output: any, context: __SerdeContext): if (output["Region"] !== undefined) { contents.Region = output["Region"]; } + if (output["ServiceName"] !== undefined) { + contents.ServiceName = output["ServiceName"]; + } + if (output["EntityPath"] !== undefined) { + contents.EntityPath = output["EntityPath"]; + } if (output["LastAuthenticatedTime"] !== undefined) { contents.LastAuthenticatedTime = new Date(output["LastAuthenticatedTime"]); } - if (output["ServiceNamespace"] !== undefined) { - contents.ServiceNamespace = output["ServiceNamespace"]; - } return contents; }; @@ -15189,66 +15189,66 @@ const deserializeAws_queryAccessDetails = (output: any, context: __SerdeContext) const deserializeAws_queryAccessKey = (output: any, context: __SerdeContext): AccessKey => { let contents: any = { - AccessKeyId: undefined, - Status: undefined, - SecretAccessKey: undefined, UserName: undefined, CreateDate: undefined, + SecretAccessKey: undefined, + AccessKeyId: undefined, + Status: undefined, }; - if (output["AccessKeyId"] !== undefined) { - contents.AccessKeyId = output["AccessKeyId"]; + if (output["UserName"] !== undefined) { + contents.UserName = output["UserName"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["CreateDate"] !== undefined) { + contents.CreateDate = new Date(output["CreateDate"]); } if (output["SecretAccessKey"] !== undefined) { contents.SecretAccessKey = output["SecretAccessKey"]; } - if (output["UserName"] !== undefined) { - contents.UserName = output["UserName"]; + if (output["AccessKeyId"] !== undefined) { + contents.AccessKeyId = output["AccessKeyId"]; } - if (output["CreateDate"] !== undefined) { - contents.CreateDate = new Date(output["CreateDate"]); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; const deserializeAws_queryAccessKeyLastUsed = (output: any, context: __SerdeContext): AccessKeyLastUsed => { let contents: any = { - ServiceName: undefined, - LastUsedDate: undefined, Region: undefined, + LastUsedDate: undefined, + ServiceName: undefined, }; - if (output["ServiceName"] !== undefined) { - contents.ServiceName = output["ServiceName"]; + if (output["Region"] !== undefined) { + contents.Region = output["Region"]; } if (output["LastUsedDate"] !== undefined) { contents.LastUsedDate = new Date(output["LastUsedDate"]); } - if (output["Region"] !== undefined) { - contents.Region = output["Region"]; + if (output["ServiceName"] !== undefined) { + contents.ServiceName = output["ServiceName"]; } return contents; }; const deserializeAws_queryAccessKeyMetadata = (output: any, context: __SerdeContext): AccessKeyMetadata => { let contents: any = { - AccessKeyId: undefined, UserName: undefined, - Status: undefined, CreateDate: undefined, + Status: undefined, + AccessKeyId: undefined, }; - if (output["AccessKeyId"] !== undefined) { - contents.AccessKeyId = output["AccessKeyId"]; - } if (output["UserName"] !== undefined) { contents.UserName = output["UserName"]; } + if (output["CreateDate"] !== undefined) { + contents.CreateDate = new Date(output["CreateDate"]); + } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["CreateDate"] !== undefined) { - contents.CreateDate = new Date(output["CreateDate"]); + if (output["AccessKeyId"] !== undefined) { + contents.AccessKeyId = output["AccessKeyId"]; } return contents; }; @@ -15270,15 +15270,15 @@ const deserializeAws_queryAttachedPermissionsBoundary = ( context: __SerdeContext ): AttachedPermissionsBoundary => { let contents: any = { - PermissionsBoundaryArn: undefined, PermissionsBoundaryType: undefined, + PermissionsBoundaryArn: undefined, }; - if (output["PermissionsBoundaryArn"] !== undefined) { - contents.PermissionsBoundaryArn = output["PermissionsBoundaryArn"]; - } if (output["PermissionsBoundaryType"] !== undefined) { contents.PermissionsBoundaryType = output["PermissionsBoundaryType"]; } + if (output["PermissionsBoundaryArn"] !== undefined) { + contents.PermissionsBoundaryArn = output["PermissionsBoundaryArn"]; + } return contents; }; @@ -15288,15 +15288,15 @@ const deserializeAws_queryattachedPoliciesListType = (output: any, context: __Se const deserializeAws_queryAttachedPolicy = (output: any, context: __SerdeContext): AttachedPolicy => { let contents: any = { - PolicyName: undefined, PolicyArn: undefined, + PolicyName: undefined, }; - if (output["PolicyName"] !== undefined) { - contents.PolicyName = output["PolicyName"]; - } if (output["PolicyArn"] !== undefined) { contents.PolicyArn = output["PolicyArn"]; } + if (output["PolicyName"] !== undefined) { + contents.PolicyName = output["PolicyName"]; + } return contents; }; @@ -15549,12 +15549,9 @@ const deserializeAws_queryDeletionTaskFailureReasonType = ( context: __SerdeContext ): DeletionTaskFailureReasonType => { let contents: any = { - Reason: undefined, RoleUsageList: undefined, + Reason: undefined, }; - if (output["Reason"] !== undefined) { - contents.Reason = output["Reason"]; - } if (output.RoleUsageList === "") { contents.RoleUsageList = []; } @@ -15564,6 +15561,9 @@ const deserializeAws_queryDeletionTaskFailureReasonType = ( context ); } + if (output["Reason"] !== undefined) { + contents.Reason = output["Reason"]; + } return contents; }; @@ -15626,26 +15626,26 @@ const deserializeAws_queryentityDetailsListType = (output: any, context: __Serde const deserializeAws_queryEntityInfo = (output: any, context: __SerdeContext): EntityInfo => { let contents: any = { - Name: undefined, - Id: undefined, + Type: undefined, Path: undefined, + Name: undefined, Arn: undefined, - Type: undefined, + Id: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; } if (output["Path"] !== undefined) { contents.Path = output["Path"]; } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } if (output["Arn"] !== undefined) { contents.Arn = output["Arn"]; } - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; } return contents; }; @@ -15665,15 +15665,15 @@ const deserializeAws_queryEntityTemporarilyUnmodifiableException = ( const deserializeAws_queryErrorDetails = (output: any, context: __SerdeContext): ErrorDetails => { let contents: any = { - Code: undefined, Message: undefined, + Code: undefined, }; - if (output["Code"] !== undefined) { - contents.Code = output["Code"]; - } if (output["Message"] !== undefined) { contents.Message = output["Message"]; } + if (output["Code"] !== undefined) { + contents.Code = output["Code"]; + } return contents; }; @@ -15692,40 +15692,46 @@ const deserializeAws_queryEvalDecisionDetailsType = ( const deserializeAws_queryEvaluationResult = (output: any, context: __SerdeContext): EvaluationResult => { let contents: any = { - EvalDecision: undefined, EvalActionName: undefined, - EvalDecisionDetails: undefined, - OrganizationsDecisionDetail: undefined, - EvalResourceName: undefined, - MatchedStatements: undefined, MissingContextValues: undefined, PermissionsBoundaryDecisionDetail: undefined, + EvalDecision: undefined, + EvalResourceName: undefined, + OrganizationsDecisionDetail: undefined, + MatchedStatements: undefined, ResourceSpecificResults: undefined, + EvalDecisionDetails: undefined, }; - if (output["EvalDecision"] !== undefined) { - contents.EvalDecision = output["EvalDecision"]; - } if (output["EvalActionName"] !== undefined) { contents.EvalActionName = output["EvalActionName"]; } - if (output.EvalDecisionDetails === "") { - contents.EvalDecisionDetails = {}; + if (output.MissingContextValues === "") { + contents.MissingContextValues = []; } - if (output["EvalDecisionDetails"] !== undefined && output["EvalDecisionDetails"]["entry"] !== undefined) { - contents.EvalDecisionDetails = deserializeAws_queryEvalDecisionDetailsType( - __getArrayIfSingleItem(output["EvalDecisionDetails"]["entry"]), + if (output["MissingContextValues"] !== undefined && output["MissingContextValues"]["member"] !== undefined) { + contents.MissingContextValues = deserializeAws_queryContextKeyNamesResultListType( + __getArrayIfSingleItem(output["MissingContextValues"]["member"]), context ); } - if (output["OrganizationsDecisionDetail"] !== undefined) { - contents.OrganizationsDecisionDetail = deserializeAws_queryOrganizationsDecisionDetail( - output["OrganizationsDecisionDetail"], + if (output["PermissionsBoundaryDecisionDetail"] !== undefined) { + contents.PermissionsBoundaryDecisionDetail = deserializeAws_queryPermissionsBoundaryDecisionDetail( + output["PermissionsBoundaryDecisionDetail"], context ); } + if (output["EvalDecision"] !== undefined) { + contents.EvalDecision = output["EvalDecision"]; + } if (output["EvalResourceName"] !== undefined) { contents.EvalResourceName = output["EvalResourceName"]; } + if (output["OrganizationsDecisionDetail"] !== undefined) { + contents.OrganizationsDecisionDetail = deserializeAws_queryOrganizationsDecisionDetail( + output["OrganizationsDecisionDetail"], + context + ); + } if (output.MatchedStatements === "") { contents.MatchedStatements = []; } @@ -15735,21 +15741,6 @@ const deserializeAws_queryEvaluationResult = (output: any, context: __SerdeConte context ); } - if (output.MissingContextValues === "") { - contents.MissingContextValues = []; - } - if (output["MissingContextValues"] !== undefined && output["MissingContextValues"]["member"] !== undefined) { - contents.MissingContextValues = deserializeAws_queryContextKeyNamesResultListType( - __getArrayIfSingleItem(output["MissingContextValues"]["member"]), - context - ); - } - if (output["PermissionsBoundaryDecisionDetail"] !== undefined) { - contents.PermissionsBoundaryDecisionDetail = deserializeAws_queryPermissionsBoundaryDecisionDetail( - output["PermissionsBoundaryDecisionDetail"], - context - ); - } if (output.ResourceSpecificResults === "") { contents.ResourceSpecificResults = []; } @@ -15759,6 +15750,15 @@ const deserializeAws_queryEvaluationResult = (output: any, context: __SerdeConte context ); } + if (output.EvalDecisionDetails === "") { + contents.EvalDecisionDetails = {}; + } + if (output["EvalDecisionDetails"] !== undefined && output["EvalDecisionDetails"]["entry"] !== undefined) { + contents.EvalDecisionDetails = deserializeAws_queryEvalDecisionDetailsType( + __getArrayIfSingleItem(output["EvalDecisionDetails"]["entry"]), + context + ); + } return contents; }; @@ -15771,15 +15771,15 @@ const deserializeAws_queryGenerateCredentialReportResponse = ( context: __SerdeContext ): GenerateCredentialReportResponse => { let contents: any = { - State: undefined, Description: undefined, + State: undefined, }; - if (output["State"] !== undefined) { - contents.State = output["State"]; - } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } + if (output["State"] !== undefined) { + contents.State = output["State"]; + } return contents; }; @@ -15814,15 +15814,15 @@ const deserializeAws_queryGetAccessKeyLastUsedResponse = ( context: __SerdeContext ): GetAccessKeyLastUsedResponse => { let contents: any = { - AccessKeyLastUsed: undefined, UserName: undefined, + AccessKeyLastUsed: undefined, }; - if (output["AccessKeyLastUsed"] !== undefined) { - contents.AccessKeyLastUsed = deserializeAws_queryAccessKeyLastUsed(output["AccessKeyLastUsed"], context); - } if (output["UserName"] !== undefined) { contents.UserName = output["UserName"]; } + if (output["AccessKeyLastUsed"] !== undefined) { + contents.AccessKeyLastUsed = deserializeAws_queryAccessKeyLastUsed(output["AccessKeyLastUsed"], context); + } return contents; }; @@ -15831,19 +15831,19 @@ const deserializeAws_queryGetAccountAuthorizationDetailsResponse = ( context: __SerdeContext ): GetAccountAuthorizationDetailsResponse => { let contents: any = { - RoleDetailList: undefined, + Policies: undefined, IsTruncated: undefined, UserDetailList: undefined, - Marker: undefined, - Policies: undefined, GroupDetailList: undefined, + Marker: undefined, + RoleDetailList: undefined, }; - if (output.RoleDetailList === "") { - contents.RoleDetailList = []; + if (output.Policies === "") { + contents.Policies = []; } - if (output["RoleDetailList"] !== undefined && output["RoleDetailList"]["member"] !== undefined) { - contents.RoleDetailList = deserializeAws_queryroleDetailListType( - __getArrayIfSingleItem(output["RoleDetailList"]["member"]), + if (output["Policies"] !== undefined && output["Policies"]["member"] !== undefined) { + contents.Policies = deserializeAws_queryManagedPolicyDetailListType( + __getArrayIfSingleItem(output["Policies"]["member"]), context ); } @@ -15859,18 +15859,6 @@ const deserializeAws_queryGetAccountAuthorizationDetailsResponse = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } - if (output.Policies === "") { - contents.Policies = []; - } - if (output["Policies"] !== undefined && output["Policies"]["member"] !== undefined) { - contents.Policies = deserializeAws_queryManagedPolicyDetailListType( - __getArrayIfSingleItem(output["Policies"]["member"]), - context - ); - } if (output.GroupDetailList === "") { contents.GroupDetailList = []; } @@ -15880,6 +15868,18 @@ const deserializeAws_queryGetAccountAuthorizationDetailsResponse = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } + if (output.RoleDetailList === "") { + contents.RoleDetailList = []; + } + if (output["RoleDetailList"] !== undefined && output["RoleDetailList"]["member"] !== undefined) { + contents.RoleDetailList = deserializeAws_queryroleDetailListType( + __getArrayIfSingleItem(output["RoleDetailList"]["member"]), + context + ); + } return contents; }; @@ -15940,35 +15940,35 @@ const deserializeAws_queryGetCredentialReportResponse = ( ): GetCredentialReportResponse => { let contents: any = { Content: undefined, - ReportFormat: undefined, GeneratedTime: undefined, + ReportFormat: undefined, }; if (output["Content"] !== undefined) { contents.Content = context.base64Decoder(output["Content"]); } - if (output["ReportFormat"] !== undefined) { - contents.ReportFormat = output["ReportFormat"]; - } if (output["GeneratedTime"] !== undefined) { contents.GeneratedTime = new Date(output["GeneratedTime"]); } + if (output["ReportFormat"] !== undefined) { + contents.ReportFormat = output["ReportFormat"]; + } return contents; }; const deserializeAws_queryGetGroupPolicyResponse = (output: any, context: __SerdeContext): GetGroupPolicyResponse => { let contents: any = { - PolicyDocument: undefined, - PolicyName: undefined, GroupName: undefined, + PolicyName: undefined, + PolicyDocument: undefined, }; - if (output["PolicyDocument"] !== undefined) { - contents.PolicyDocument = output["PolicyDocument"]; + if (output["GroupName"] !== undefined) { + contents.GroupName = output["GroupName"]; } if (output["PolicyName"] !== undefined) { contents.PolicyName = output["PolicyName"]; } - if (output["GroupName"] !== undefined) { - contents.GroupName = output["GroupName"]; + if (output["PolicyDocument"] !== undefined) { + contents.PolicyDocument = output["PolicyDocument"]; } return contents; }; @@ -15976,13 +15976,16 @@ const deserializeAws_queryGetGroupPolicyResponse = (output: any, context: __Serd const deserializeAws_queryGetGroupResponse = (output: any, context: __SerdeContext): GetGroupResponse => { let contents: any = { Group: undefined, + IsTruncated: undefined, Marker: undefined, Users: undefined, - IsTruncated: undefined, }; if (output["Group"] !== undefined) { contents.Group = deserializeAws_queryGroup(output["Group"], context); } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } @@ -15992,9 +15995,6 @@ const deserializeAws_queryGetGroupResponse = (output: any, context: __SerdeConte if (output["Users"] !== undefined && output["Users"]["member"] !== undefined) { contents.Users = deserializeAws_queryuserListType(__getArrayIfSingleItem(output["Users"]["member"]), context); } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } return contents; }; @@ -16026,32 +16026,32 @@ const deserializeAws_queryGetOpenIDConnectProviderResponse = ( context: __SerdeContext ): GetOpenIDConnectProviderResponse => { let contents: any = { - ThumbprintList: undefined, - Url: undefined, - CreateDate: undefined, ClientIDList: undefined, + CreateDate: undefined, + Url: undefined, + ThumbprintList: undefined, }; - if (output.ThumbprintList === "") { - contents.ThumbprintList = []; + if (output.ClientIDList === "") { + contents.ClientIDList = []; } - if (output["ThumbprintList"] !== undefined && output["ThumbprintList"]["member"] !== undefined) { - contents.ThumbprintList = deserializeAws_querythumbprintListType( - __getArrayIfSingleItem(output["ThumbprintList"]["member"]), + if (output["ClientIDList"] !== undefined && output["ClientIDList"]["member"] !== undefined) { + contents.ClientIDList = deserializeAws_queryclientIDListType( + __getArrayIfSingleItem(output["ClientIDList"]["member"]), context ); } - if (output["Url"] !== undefined) { - contents.Url = output["Url"]; - } if (output["CreateDate"] !== undefined) { contents.CreateDate = new Date(output["CreateDate"]); } - if (output.ClientIDList === "") { - contents.ClientIDList = []; + if (output["Url"] !== undefined) { + contents.Url = output["Url"]; } - if (output["ClientIDList"] !== undefined && output["ClientIDList"]["member"] !== undefined) { - contents.ClientIDList = deserializeAws_queryclientIDListType( - __getArrayIfSingleItem(output["ClientIDList"]["member"]), + if (output.ThumbprintList === "") { + contents.ThumbprintList = []; + } + if (output["ThumbprintList"] !== undefined && output["ThumbprintList"]["member"] !== undefined) { + contents.ThumbprintList = deserializeAws_querythumbprintListType( + __getArrayIfSingleItem(output["ThumbprintList"]["member"]), context ); } @@ -16063,40 +16063,31 @@ const deserializeAws_queryGetOrganizationsAccessReportResponse = ( context: __SerdeContext ): GetOrganizationsAccessReportResponse => { let contents: any = { - JobCreationDate: undefined, - JobStatus: undefined, - IsTruncated: undefined, - NumberOfServicesAccessible: undefined, Marker: undefined, ErrorDetails: undefined, - NumberOfServicesNotAccessed: undefined, + NumberOfServicesAccessible: undefined, JobCompletionDate: undefined, + NumberOfServicesNotAccessed: undefined, AccessDetails: undefined, + JobCreationDate: undefined, + IsTruncated: undefined, + JobStatus: undefined, }; - if (output["JobCreationDate"] !== undefined) { - contents.JobCreationDate = new Date(output["JobCreationDate"]); - } - if (output["JobStatus"] !== undefined) { - contents.JobStatus = output["JobStatus"]; - } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } - if (output["NumberOfServicesAccessible"] !== undefined) { - contents.NumberOfServicesAccessible = parseInt(output["NumberOfServicesAccessible"]); - } if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } if (output["ErrorDetails"] !== undefined) { contents.ErrorDetails = deserializeAws_queryErrorDetails(output["ErrorDetails"], context); } - if (output["NumberOfServicesNotAccessed"] !== undefined) { - contents.NumberOfServicesNotAccessed = parseInt(output["NumberOfServicesNotAccessed"]); + if (output["NumberOfServicesAccessible"] !== undefined) { + contents.NumberOfServicesAccessible = parseInt(output["NumberOfServicesAccessible"]); } if (output["JobCompletionDate"] !== undefined) { contents.JobCompletionDate = new Date(output["JobCompletionDate"]); } + if (output["NumberOfServicesNotAccessed"] !== undefined) { + contents.NumberOfServicesNotAccessed = parseInt(output["NumberOfServicesNotAccessed"]); + } if (output.AccessDetails === "") { contents.AccessDetails = []; } @@ -16106,6 +16097,15 @@ const deserializeAws_queryGetOrganizationsAccessReportResponse = ( context ); } + if (output["JobCreationDate"] !== undefined) { + contents.JobCreationDate = new Date(output["JobCreationDate"]); + } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } + if (output["JobStatus"] !== undefined) { + contents.JobStatus = output["JobStatus"]; + } return contents; }; @@ -16134,19 +16134,19 @@ const deserializeAws_queryGetPolicyVersionResponse = ( const deserializeAws_queryGetRolePolicyResponse = (output: any, context: __SerdeContext): GetRolePolicyResponse => { let contents: any = { + RoleName: undefined, PolicyName: undefined, PolicyDocument: undefined, - RoleName: undefined, }; + if (output["RoleName"] !== undefined) { + contents.RoleName = output["RoleName"]; + } if (output["PolicyName"] !== undefined) { contents.PolicyName = output["PolicyName"]; } if (output["PolicyDocument"] !== undefined) { contents.PolicyDocument = output["PolicyDocument"]; } - if (output["RoleName"] !== undefined) { - contents.RoleName = output["RoleName"]; - } return contents; }; @@ -16163,18 +16163,18 @@ const deserializeAws_queryGetRoleResponse = (output: any, context: __SerdeContex const deserializeAws_queryGetSAMLProviderResponse = (output: any, context: __SerdeContext): GetSAMLProviderResponse => { let contents: any = { ValidUntil: undefined, - SAMLMetadataDocument: undefined, CreateDate: undefined, + SAMLMetadataDocument: undefined, }; if (output["ValidUntil"] !== undefined) { contents.ValidUntil = new Date(output["ValidUntil"]); } - if (output["SAMLMetadataDocument"] !== undefined) { - contents.SAMLMetadataDocument = output["SAMLMetadataDocument"]; - } if (output["CreateDate"] !== undefined) { contents.CreateDate = new Date(output["CreateDate"]); } + if (output["SAMLMetadataDocument"] !== undefined) { + contents.SAMLMetadataDocument = output["SAMLMetadataDocument"]; + } return contents; }; @@ -16196,15 +16196,27 @@ const deserializeAws_queryGetServiceLastAccessedDetailsResponse = ( context: __SerdeContext ): GetServiceLastAccessedDetailsResponse => { let contents: any = { + JobCompletionDate: undefined, + Marker: undefined, + IsTruncated: undefined, + Error: undefined, JobCreationDate: undefined, ServicesLastAccessed: undefined, JobStatus: undefined, - IsTruncated: undefined, JobType: undefined, - Marker: undefined, - JobCompletionDate: undefined, - Error: undefined, }; + if (output["JobCompletionDate"] !== undefined) { + contents.JobCompletionDate = new Date(output["JobCompletionDate"]); + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } + if (output["Error"] !== undefined) { + contents.Error = deserializeAws_queryErrorDetails(output["Error"], context); + } if (output["JobCreationDate"] !== undefined) { contents.JobCreationDate = new Date(output["JobCreationDate"]); } @@ -16220,21 +16232,9 @@ const deserializeAws_queryGetServiceLastAccessedDetailsResponse = ( if (output["JobStatus"] !== undefined) { contents.JobStatus = output["JobStatus"]; } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } if (output["JobType"] !== undefined) { contents.JobType = output["JobType"]; } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } - if (output["JobCompletionDate"] !== undefined) { - contents.JobCompletionDate = new Date(output["JobCompletionDate"]); - } - if (output["Error"] !== undefined) { - contents.Error = deserializeAws_queryErrorDetails(output["Error"], context); - } return contents; }; @@ -16243,14 +16243,29 @@ const deserializeAws_queryGetServiceLastAccessedDetailsWithEntitiesResponse = ( context: __SerdeContext ): GetServiceLastAccessedDetailsWithEntitiesResponse => { let contents: any = { + EntityDetailsList: undefined, + JobStatus: undefined, + Marker: undefined, IsTruncated: undefined, Error: undefined, JobCompletionDate: undefined, - Marker: undefined, JobCreationDate: undefined, - JobStatus: undefined, - EntityDetailsList: undefined, }; + if (output.EntityDetailsList === "") { + contents.EntityDetailsList = []; + } + if (output["EntityDetailsList"] !== undefined && output["EntityDetailsList"]["member"] !== undefined) { + contents.EntityDetailsList = deserializeAws_queryentityDetailsListType( + __getArrayIfSingleItem(output["EntityDetailsList"]["member"]), + context + ); + } + if (output["JobStatus"] !== undefined) { + contents.JobStatus = output["JobStatus"]; + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output["IsTruncated"] !== undefined) { contents.IsTruncated = output["IsTruncated"] == "true"; } @@ -16260,24 +16275,9 @@ const deserializeAws_queryGetServiceLastAccessedDetailsWithEntitiesResponse = ( if (output["JobCompletionDate"] !== undefined) { contents.JobCompletionDate = new Date(output["JobCompletionDate"]); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output["JobCreationDate"] !== undefined) { contents.JobCreationDate = new Date(output["JobCreationDate"]); } - if (output["JobStatus"] !== undefined) { - contents.JobStatus = output["JobStatus"]; - } - if (output.EntityDetailsList === "") { - contents.EntityDetailsList = []; - } - if (output["EntityDetailsList"] !== undefined && output["EntityDetailsList"]["member"] !== undefined) { - contents.EntityDetailsList = deserializeAws_queryentityDetailsListType( - __getArrayIfSingleItem(output["EntityDetailsList"]["member"]), - context - ); - } return contents; }; @@ -16338,57 +16338,54 @@ const deserializeAws_queryGetUserResponse = (output: any, context: __SerdeContex const deserializeAws_queryGroup = (output: any, context: __SerdeContext): Group => { let contents: any = { - CreateDate: undefined, - GroupId: undefined, - GroupName: undefined, Arn: undefined, + GroupName: undefined, Path: undefined, + GroupId: undefined, + CreateDate: undefined, }; - if (output["CreateDate"] !== undefined) { - contents.CreateDate = new Date(output["CreateDate"]); - } - if (output["GroupId"] !== undefined) { - contents.GroupId = output["GroupId"]; + if (output["Arn"] !== undefined) { + contents.Arn = output["Arn"]; } if (output["GroupName"] !== undefined) { contents.GroupName = output["GroupName"]; } - if (output["Arn"] !== undefined) { - contents.Arn = output["Arn"]; - } if (output["Path"] !== undefined) { contents.Path = output["Path"]; } + if (output["GroupId"] !== undefined) { + contents.GroupId = output["GroupId"]; + } + if (output["CreateDate"] !== undefined) { + contents.CreateDate = new Date(output["CreateDate"]); + } return contents; }; const deserializeAws_queryGroupDetail = (output: any, context: __SerdeContext): GroupDetail => { let contents: any = { + GroupId: undefined, + CreateDate: undefined, Arn: undefined, - GroupPolicyList: undefined, Path: undefined, - CreateDate: undefined, - AttachedManagedPolicies: undefined, GroupName: undefined, - GroupId: undefined, + AttachedManagedPolicies: undefined, + GroupPolicyList: undefined, }; - if (output["Arn"] !== undefined) { - contents.Arn = output["Arn"]; + if (output["GroupId"] !== undefined) { + contents.GroupId = output["GroupId"]; } - if (output.GroupPolicyList === "") { - contents.GroupPolicyList = []; + if (output["CreateDate"] !== undefined) { + contents.CreateDate = new Date(output["CreateDate"]); } - if (output["GroupPolicyList"] !== undefined && output["GroupPolicyList"]["member"] !== undefined) { - contents.GroupPolicyList = deserializeAws_querypolicyDetailListType( - __getArrayIfSingleItem(output["GroupPolicyList"]["member"]), - context - ); + if (output["Arn"] !== undefined) { + contents.Arn = output["Arn"]; } if (output["Path"] !== undefined) { contents.Path = output["Path"]; } - if (output["CreateDate"] !== undefined) { - contents.CreateDate = new Date(output["CreateDate"]); + if (output["GroupName"] !== undefined) { + contents.GroupName = output["GroupName"]; } if (output.AttachedManagedPolicies === "") { contents.AttachedManagedPolicies = []; @@ -16399,11 +16396,14 @@ const deserializeAws_queryGroupDetail = (output: any, context: __SerdeContext): context ); } - if (output["GroupName"] !== undefined) { - contents.GroupName = output["GroupName"]; + if (output.GroupPolicyList === "") { + contents.GroupPolicyList = []; } - if (output["GroupId"] !== undefined) { - contents.GroupId = output["GroupId"]; + if (output["GroupPolicyList"] !== undefined && output["GroupPolicyList"]["member"] !== undefined) { + contents.GroupPolicyList = deserializeAws_querypolicyDetailListType( + __getArrayIfSingleItem(output["GroupPolicyList"]["member"]), + context + ); } return contents; }; @@ -16423,33 +16423,33 @@ const deserializeAws_querygroupNameListType = (output: any, context: __SerdeCont const deserializeAws_queryInstanceProfile = (output: any, context: __SerdeContext): InstanceProfile => { let contents: any = { Arn: undefined, - InstanceProfileName: undefined, - Path: undefined, - InstanceProfileId: undefined, CreateDate: undefined, + InstanceProfileName: undefined, Roles: undefined, + InstanceProfileId: undefined, + Path: undefined, }; if (output["Arn"] !== undefined) { contents.Arn = output["Arn"]; } - if (output["InstanceProfileName"] !== undefined) { - contents.InstanceProfileName = output["InstanceProfileName"]; - } - if (output["Path"] !== undefined) { - contents.Path = output["Path"]; - } - if (output["InstanceProfileId"] !== undefined) { - contents.InstanceProfileId = output["InstanceProfileId"]; - } if (output["CreateDate"] !== undefined) { contents.CreateDate = new Date(output["CreateDate"]); } + if (output["InstanceProfileName"] !== undefined) { + contents.InstanceProfileName = output["InstanceProfileName"]; + } if (output.Roles === "") { contents.Roles = []; } if (output["Roles"] !== undefined && output["Roles"]["member"] !== undefined) { contents.Roles = deserializeAws_queryroleListType(__getArrayIfSingleItem(output["Roles"]["member"]), context); } + if (output["InstanceProfileId"] !== undefined) { + contents.InstanceProfileId = output["InstanceProfileId"]; + } + if (output["Path"] !== undefined) { + contents.Path = output["Path"]; + } return contents; }; @@ -16544,10 +16544,13 @@ const deserializeAws_queryLimitExceededException = (output: any, context: __Serd const deserializeAws_queryListAccessKeysResponse = (output: any, context: __SerdeContext): ListAccessKeysResponse => { let contents: any = { - AccessKeyMetadata: undefined, Marker: undefined, + AccessKeyMetadata: undefined, IsTruncated: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.AccessKeyMetadata === "") { contents.AccessKeyMetadata = []; } @@ -16557,9 +16560,6 @@ const deserializeAws_queryListAccessKeysResponse = (output: any, context: __Serd context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output["IsTruncated"] !== undefined) { contents.IsTruncated = output["IsTruncated"] == "true"; } @@ -16571,13 +16571,10 @@ const deserializeAws_queryListAccountAliasesResponse = ( context: __SerdeContext ): ListAccountAliasesResponse => { let contents: any = { - IsTruncated: undefined, AccountAliases: undefined, + IsTruncated: undefined, Marker: undefined, }; - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } if (output.AccountAliases === "") { contents.AccountAliases = []; } @@ -16587,6 +16584,9 @@ const deserializeAws_queryListAccountAliasesResponse = ( context ); } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } @@ -16598,13 +16598,10 @@ const deserializeAws_queryListAttachedGroupPoliciesResponse = ( context: __SerdeContext ): ListAttachedGroupPoliciesResponse => { let contents: any = { - Marker: undefined, IsTruncated: undefined, AttachedPolicies: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output["IsTruncated"] !== undefined) { contents.IsTruncated = output["IsTruncated"] == "true"; } @@ -16617,6 +16614,9 @@ const deserializeAws_queryListAttachedGroupPoliciesResponse = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -16679,12 +16679,21 @@ const deserializeAws_queryListEntitiesForPolicyResponse = ( context: __SerdeContext ): ListEntitiesForPolicyResponse => { let contents: any = { + PolicyRoles: undefined, Marker: undefined, PolicyUsers: undefined, IsTruncated: undefined, - PolicyRoles: undefined, PolicyGroups: undefined, }; + if (output.PolicyRoles === "") { + contents.PolicyRoles = []; + } + if (output["PolicyRoles"] !== undefined && output["PolicyRoles"]["member"] !== undefined) { + contents.PolicyRoles = deserializeAws_queryPolicyRoleListType( + __getArrayIfSingleItem(output["PolicyRoles"]["member"]), + context + ); + } if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } @@ -16700,15 +16709,6 @@ const deserializeAws_queryListEntitiesForPolicyResponse = ( if (output["IsTruncated"] !== undefined) { contents.IsTruncated = output["IsTruncated"] == "true"; } - if (output.PolicyRoles === "") { - contents.PolicyRoles = []; - } - if (output["PolicyRoles"] !== undefined && output["PolicyRoles"]["member"] !== undefined) { - contents.PolicyRoles = deserializeAws_queryPolicyRoleListType( - __getArrayIfSingleItem(output["PolicyRoles"]["member"]), - context - ); - } if (output.PolicyGroups === "") { contents.PolicyGroups = []; } @@ -16726,10 +16726,13 @@ const deserializeAws_queryListGroupPoliciesResponse = ( context: __SerdeContext ): ListGroupPoliciesResponse => { let contents: any = { + IsTruncated: undefined, PolicyNames: undefined, Marker: undefined, - IsTruncated: undefined, }; + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } if (output.PolicyNames === "") { contents.PolicyNames = []; } @@ -16742,9 +16745,6 @@ const deserializeAws_queryListGroupPoliciesResponse = ( if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } return contents; }; @@ -16753,10 +16753,13 @@ const deserializeAws_queryListGroupsForUserResponse = ( context: __SerdeContext ): ListGroupsForUserResponse => { let contents: any = { + Marker: undefined, IsTruncated: undefined, Groups: undefined, - Marker: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output["IsTruncated"] !== undefined) { contents.IsTruncated = output["IsTruncated"] == "true"; } @@ -16766,30 +16769,27 @@ const deserializeAws_queryListGroupsForUserResponse = ( if (output["Groups"] !== undefined && output["Groups"]["member"] !== undefined) { contents.Groups = deserializeAws_querygroupListType(__getArrayIfSingleItem(output["Groups"]["member"]), context); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; const deserializeAws_queryListGroupsResponse = (output: any, context: __SerdeContext): ListGroupsResponse => { let contents: any = { + Groups: undefined, Marker: undefined, IsTruncated: undefined, - Groups: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } if (output.Groups === "") { contents.Groups = []; } if (output["Groups"] !== undefined && output["Groups"]["member"] !== undefined) { contents.Groups = deserializeAws_querygroupListType(__getArrayIfSingleItem(output["Groups"]["member"]), context); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } return contents; }; @@ -16798,10 +16798,13 @@ const deserializeAws_queryListInstanceProfilesForRoleResponse = ( context: __SerdeContext ): ListInstanceProfilesForRoleResponse => { let contents: any = { + IsTruncated: undefined, InstanceProfiles: undefined, Marker: undefined, - IsTruncated: undefined, }; + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } if (output.InstanceProfiles === "") { contents.InstanceProfiles = []; } @@ -16814,9 +16817,6 @@ const deserializeAws_queryListInstanceProfilesForRoleResponse = ( if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } return contents; }; @@ -16825,10 +16825,13 @@ const deserializeAws_queryListInstanceProfilesResponse = ( context: __SerdeContext ): ListInstanceProfilesResponse => { let contents: any = { + IsTruncated: undefined, Marker: undefined, InstanceProfiles: undefined, - IsTruncated: undefined, }; + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } @@ -16841,18 +16844,18 @@ const deserializeAws_queryListInstanceProfilesResponse = ( context ); } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } return contents; }; const deserializeAws_queryListMFADevicesResponse = (output: any, context: __SerdeContext): ListMFADevicesResponse => { let contents: any = { - MFADevices: undefined, Marker: undefined, + MFADevices: undefined, IsTruncated: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.MFADevices === "") { contents.MFADevices = []; } @@ -16862,9 +16865,6 @@ const deserializeAws_queryListMFADevicesResponse = (output: any, context: __Serd context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output["IsTruncated"] !== undefined) { contents.IsTruncated = output["IsTruncated"] == "true"; } @@ -16948,13 +16948,10 @@ const deserializeAws_queryListPoliciesGrantingServiceAccessResponse = ( const deserializeAws_queryListPoliciesResponse = (output: any, context: __SerdeContext): ListPoliciesResponse => { let contents: any = { - Marker: undefined, IsTruncated: undefined, Policies: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output["IsTruncated"] !== undefined) { contents.IsTruncated = output["IsTruncated"] == "true"; } @@ -16967,6 +16964,9 @@ const deserializeAws_queryListPoliciesResponse = (output: any, context: __SerdeC context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -16982,13 +16982,10 @@ const deserializeAws_queryListPolicyVersionsResponse = ( context: __SerdeContext ): ListPolicyVersionsResponse => { let contents: any = { - IsTruncated: undefined, Versions: undefined, Marker: undefined, + IsTruncated: undefined, }; - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } if (output.Versions === "") { contents.Versions = []; } @@ -17001,6 +16998,9 @@ const deserializeAws_queryListPolicyVersionsResponse = ( if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } return contents; }; @@ -17033,43 +17033,43 @@ const deserializeAws_queryListRolePoliciesResponse = ( const deserializeAws_queryListRolesResponse = (output: any, context: __SerdeContext): ListRolesResponse => { let contents: any = { - Marker: undefined, - IsTruncated: undefined, Roles: undefined, + IsTruncated: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } if (output.Roles === "") { contents.Roles = []; } if (output["Roles"] !== undefined && output["Roles"]["member"] !== undefined) { contents.Roles = deserializeAws_queryroleListType(__getArrayIfSingleItem(output["Roles"]["member"]), context); } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; const deserializeAws_queryListRoleTagsResponse = (output: any, context: __SerdeContext): ListRoleTagsResponse => { let contents: any = { + Tags: undefined, IsTruncated: undefined, Marker: undefined, - Tags: undefined, }; - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.Tags === "") { contents.Tags = []; } if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { contents.Tags = deserializeAws_querytagListType(__getArrayIfSingleItem(output["Tags"]["member"]), context); } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -17097,10 +17097,16 @@ const deserializeAws_queryListServerCertificatesResponse = ( context: __SerdeContext ): ListServerCertificatesResponse => { let contents: any = { - ServerCertificateMetadataList: undefined, IsTruncated: undefined, Marker: undefined, + ServerCertificateMetadataList: undefined, }; + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ServerCertificateMetadataList === "") { contents.ServerCertificateMetadataList = []; } @@ -17113,12 +17119,6 @@ const deserializeAws_queryListServerCertificatesResponse = ( context ); } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -17203,10 +17203,16 @@ const deserializeAws_queryListUserPoliciesResponse = ( context: __SerdeContext ): ListUserPoliciesResponse => { let contents: any = { - PolicyNames: undefined, IsTruncated: undefined, Marker: undefined, + PolicyNames: undefined, }; + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.PolicyNames === "") { contents.PolicyNames = []; } @@ -17216,21 +17222,18 @@ const deserializeAws_queryListUserPoliciesResponse = ( context ); } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; const deserializeAws_queryListUsersResponse = (output: any, context: __SerdeContext): ListUsersResponse => { let contents: any = { + IsTruncated: undefined, Users: undefined, Marker: undefined, - IsTruncated: undefined, }; + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } if (output.Users === "") { contents.Users = []; } @@ -17240,30 +17243,27 @@ const deserializeAws_queryListUsersResponse = (output: any, context: __SerdeCont if (output["Marker"] !== undefined) { contents.Marker = output["Marker"]; } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } return contents; }; const deserializeAws_queryListUserTagsResponse = (output: any, context: __SerdeContext): ListUserTagsResponse => { let contents: any = { - Tags: undefined, - IsTruncated: undefined, Marker: undefined, + IsTruncated: undefined, + Tags: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } if (output.Tags === "") { contents.Tags = []; } if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { contents.Tags = deserializeAws_querytagListType(__getArrayIfSingleItem(output["Tags"]["member"]), context); } - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -17272,10 +17272,13 @@ const deserializeAws_queryListVirtualMFADevicesResponse = ( context: __SerdeContext ): ListVirtualMFADevicesResponse => { let contents: any = { + Marker: undefined, IsTruncated: undefined, VirtualMFADevices: undefined, - Marker: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output["IsTruncated"] !== undefined) { contents.IsTruncated = output["IsTruncated"] == "true"; } @@ -17288,27 +17291,24 @@ const deserializeAws_queryListVirtualMFADevicesResponse = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; const deserializeAws_queryLoginProfile = (output: any, context: __SerdeContext): LoginProfile => { let contents: any = { CreateDate: undefined, - PasswordResetRequired: undefined, UserName: undefined, + PasswordResetRequired: undefined, }; if (output["CreateDate"] !== undefined) { contents.CreateDate = new Date(output["CreateDate"]); } - if (output["PasswordResetRequired"] !== undefined) { - contents.PasswordResetRequired = output["PasswordResetRequired"] == "true"; - } if (output["UserName"] !== undefined) { contents.UserName = output["UserName"]; } + if (output["PasswordResetRequired"] !== undefined) { + contents.PasswordResetRequired = output["PasswordResetRequired"] == "true"; + } return contents; }; @@ -17340,31 +17340,19 @@ const deserializeAws_queryMalformedPolicyDocumentException = ( const deserializeAws_queryManagedPolicyDetail = (output: any, context: __SerdeContext): ManagedPolicyDetail => { let contents: any = { - PolicyName: undefined, - CreateDate: undefined, - IsAttachable: undefined, - Path: undefined, Description: undefined, PermissionsBoundaryUsageCount: undefined, PolicyVersionList: undefined, Arn: undefined, - DefaultVersionId: undefined, UpdateDate: undefined, PolicyId: undefined, + IsAttachable: undefined, + CreateDate: undefined, AttachmentCount: undefined, + DefaultVersionId: undefined, + PolicyName: undefined, + Path: undefined, }; - if (output["PolicyName"] !== undefined) { - contents.PolicyName = output["PolicyName"]; - } - if (output["CreateDate"] !== undefined) { - contents.CreateDate = new Date(output["CreateDate"]); - } - if (output["IsAttachable"] !== undefined) { - contents.IsAttachable = output["IsAttachable"] == "true"; - } - if (output["Path"] !== undefined) { - contents.Path = output["Path"]; - } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } @@ -17383,18 +17371,30 @@ const deserializeAws_queryManagedPolicyDetail = (output: any, context: __SerdeCo if (output["Arn"] !== undefined) { contents.Arn = output["Arn"]; } - if (output["DefaultVersionId"] !== undefined) { - contents.DefaultVersionId = output["DefaultVersionId"]; - } if (output["UpdateDate"] !== undefined) { contents.UpdateDate = new Date(output["UpdateDate"]); } if (output["PolicyId"] !== undefined) { contents.PolicyId = output["PolicyId"]; } + if (output["IsAttachable"] !== undefined) { + contents.IsAttachable = output["IsAttachable"] == "true"; + } + if (output["CreateDate"] !== undefined) { + contents.CreateDate = new Date(output["CreateDate"]); + } if (output["AttachmentCount"] !== undefined) { contents.AttachmentCount = parseInt(output["AttachmentCount"]); } + if (output["DefaultVersionId"] !== undefined) { + contents.DefaultVersionId = output["DefaultVersionId"]; + } + if (output["PolicyName"] !== undefined) { + contents.PolicyName = output["PolicyName"]; + } + if (output["Path"] !== undefined) { + contents.Path = output["Path"]; + } return contents; }; @@ -17408,18 +17408,18 @@ const deserializeAws_queryManagedPolicyDetailListType = ( const deserializeAws_queryMFADevice = (output: any, context: __SerdeContext): MFADevice => { let contents: any = { UserName: undefined, - SerialNumber: undefined, EnableDate: undefined, + SerialNumber: undefined, }; if (output["UserName"] !== undefined) { contents.UserName = output["UserName"]; } - if (output["SerialNumber"] !== undefined) { - contents.SerialNumber = output["SerialNumber"]; - } if (output["EnableDate"] !== undefined) { contents.EnableDate = new Date(output["EnableDate"]); } + if (output["SerialNumber"] !== undefined) { + contents.SerialNumber = output["SerialNumber"]; + } return contents; }; @@ -17472,46 +17472,46 @@ const deserializeAws_queryOrganizationsDecisionDetail = ( const deserializeAws_queryPasswordPolicy = (output: any, context: __SerdeContext): PasswordPolicy => { let contents: any = { - RequireLowercaseCharacters: undefined, + RequireSymbols: undefined, + PasswordReusePrevention: undefined, + AllowUsersToChangePassword: undefined, MinimumPasswordLength: undefined, + RequireLowercaseCharacters: undefined, RequireNumbers: undefined, - ExpirePasswords: undefined, - PasswordReusePrevention: undefined, HardExpiry: undefined, - MaxPasswordAge: undefined, RequireUppercaseCharacters: undefined, - AllowUsersToChangePassword: undefined, - RequireSymbols: undefined, + MaxPasswordAge: undefined, + ExpirePasswords: undefined, }; - if (output["RequireLowercaseCharacters"] !== undefined) { - contents.RequireLowercaseCharacters = output["RequireLowercaseCharacters"] == "true"; + if (output["RequireSymbols"] !== undefined) { + contents.RequireSymbols = output["RequireSymbols"] == "true"; + } + if (output["PasswordReusePrevention"] !== undefined) { + contents.PasswordReusePrevention = parseInt(output["PasswordReusePrevention"]); + } + if (output["AllowUsersToChangePassword"] !== undefined) { + contents.AllowUsersToChangePassword = output["AllowUsersToChangePassword"] == "true"; } if (output["MinimumPasswordLength"] !== undefined) { contents.MinimumPasswordLength = parseInt(output["MinimumPasswordLength"]); } + if (output["RequireLowercaseCharacters"] !== undefined) { + contents.RequireLowercaseCharacters = output["RequireLowercaseCharacters"] == "true"; + } if (output["RequireNumbers"] !== undefined) { contents.RequireNumbers = output["RequireNumbers"] == "true"; } - if (output["ExpirePasswords"] !== undefined) { - contents.ExpirePasswords = output["ExpirePasswords"] == "true"; - } - if (output["PasswordReusePrevention"] !== undefined) { - contents.PasswordReusePrevention = parseInt(output["PasswordReusePrevention"]); - } if (output["HardExpiry"] !== undefined) { contents.HardExpiry = output["HardExpiry"] == "true"; } - if (output["MaxPasswordAge"] !== undefined) { - contents.MaxPasswordAge = parseInt(output["MaxPasswordAge"]); - } if (output["RequireUppercaseCharacters"] !== undefined) { contents.RequireUppercaseCharacters = output["RequireUppercaseCharacters"] == "true"; } - if (output["AllowUsersToChangePassword"] !== undefined) { - contents.AllowUsersToChangePassword = output["AllowUsersToChangePassword"] == "true"; + if (output["MaxPasswordAge"] !== undefined) { + contents.MaxPasswordAge = parseInt(output["MaxPasswordAge"]); } - if (output["RequireSymbols"] !== undefined) { - contents.RequireSymbols = output["RequireSymbols"] == "true"; + if (output["ExpirePasswords"] !== undefined) { + contents.ExpirePasswords = output["ExpirePasswords"] == "true"; } return contents; }; @@ -17544,41 +17544,32 @@ const deserializeAws_queryPermissionsBoundaryDecisionDetail = ( const deserializeAws_queryPolicy = (output: any, context: __SerdeContext): Policy => { let contents: any = { - Arn: undefined, - PolicyId: undefined, - CreateDate: undefined, + DefaultVersionId: undefined, AttachmentCount: undefined, - IsAttachable: undefined, PolicyName: undefined, Path: undefined, - DefaultVersionId: undefined, + PermissionsBoundaryUsageCount: undefined, UpdateDate: undefined, Description: undefined, - PermissionsBoundaryUsageCount: undefined, + Arn: undefined, + IsAttachable: undefined, + PolicyId: undefined, + CreateDate: undefined, }; - if (output["Arn"] !== undefined) { - contents.Arn = output["Arn"]; - } - if (output["PolicyId"] !== undefined) { - contents.PolicyId = output["PolicyId"]; - } - if (output["CreateDate"] !== undefined) { - contents.CreateDate = new Date(output["CreateDate"]); + if (output["DefaultVersionId"] !== undefined) { + contents.DefaultVersionId = output["DefaultVersionId"]; } if (output["AttachmentCount"] !== undefined) { contents.AttachmentCount = parseInt(output["AttachmentCount"]); } - if (output["IsAttachable"] !== undefined) { - contents.IsAttachable = output["IsAttachable"] == "true"; - } if (output["PolicyName"] !== undefined) { contents.PolicyName = output["PolicyName"]; } if (output["Path"] !== undefined) { contents.Path = output["Path"]; } - if (output["DefaultVersionId"] !== undefined) { - contents.DefaultVersionId = output["DefaultVersionId"]; + if (output["PermissionsBoundaryUsageCount"] !== undefined) { + contents.PermissionsBoundaryUsageCount = parseInt(output["PermissionsBoundaryUsageCount"]); } if (output["UpdateDate"] !== undefined) { contents.UpdateDate = new Date(output["UpdateDate"]); @@ -17586,8 +17577,17 @@ const deserializeAws_queryPolicy = (output: any, context: __SerdeContext): Polic if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output["PermissionsBoundaryUsageCount"] !== undefined) { - contents.PermissionsBoundaryUsageCount = parseInt(output["PermissionsBoundaryUsageCount"]); + if (output["Arn"] !== undefined) { + contents.Arn = output["Arn"]; + } + if (output["IsAttachable"] !== undefined) { + contents.IsAttachable = output["IsAttachable"] == "true"; + } + if (output["PolicyId"] !== undefined) { + contents.PolicyId = output["PolicyId"]; + } + if (output["CreateDate"] !== undefined) { + contents.CreateDate = new Date(output["CreateDate"]); } return contents; }; @@ -17632,23 +17632,23 @@ const deserializeAws_queryPolicyGrantingServiceAccess = ( context: __SerdeContext ): PolicyGrantingServiceAccess => { let contents: any = { + PolicyArn: undefined, PolicyType: undefined, - PolicyName: undefined, EntityName: undefined, - PolicyArn: undefined, + PolicyName: undefined, EntityType: undefined, }; + if (output["PolicyArn"] !== undefined) { + contents.PolicyArn = output["PolicyArn"]; + } if (output["PolicyType"] !== undefined) { contents.PolicyType = output["PolicyType"]; } - if (output["PolicyName"] !== undefined) { - contents.PolicyName = output["PolicyName"]; - } if (output["EntityName"] !== undefined) { contents.EntityName = output["EntityName"]; } - if (output["PolicyArn"] !== undefined) { - contents.PolicyArn = output["PolicyArn"]; + if (output["PolicyName"] !== undefined) { + contents.PolicyName = output["PolicyName"]; } if (output["EntityType"] !== undefined) { contents.EntityType = output["EntityType"]; @@ -17740,14 +17740,11 @@ const deserializeAws_queryPolicyUserListType = (output: any, context: __SerdeCon const deserializeAws_queryPolicyVersion = (output: any, context: __SerdeContext): PolicyVersion => { let contents: any = { - IsDefaultVersion: undefined, Document: undefined, CreateDate: undefined, VersionId: undefined, + IsDefaultVersion: undefined, }; - if (output["IsDefaultVersion"] !== undefined) { - contents.IsDefaultVersion = output["IsDefaultVersion"] == "true"; - } if (output["Document"] !== undefined) { contents.Document = output["Document"]; } @@ -17757,6 +17754,9 @@ const deserializeAws_queryPolicyVersion = (output: any, context: __SerdeContext) if (output["VersionId"] !== undefined) { contents.VersionId = output["VersionId"]; } + if (output["IsDefaultVersion"] !== undefined) { + contents.IsDefaultVersion = output["IsDefaultVersion"] == "true"; + } return contents; }; @@ -17805,28 +17805,28 @@ const deserializeAws_queryResetServiceSpecificCredentialResponse = ( const deserializeAws_queryResourceSpecificResult = (output: any, context: __SerdeContext): ResourceSpecificResult => { let contents: any = { - PermissionsBoundaryDecisionDetail: undefined, - MissingContextValues: undefined, - EvalDecisionDetails: undefined, EvalResourceName: undefined, MatchedStatements: undefined, EvalResourceDecision: undefined, + EvalDecisionDetails: undefined, + PermissionsBoundaryDecisionDetail: undefined, + MissingContextValues: undefined, }; - if (output["PermissionsBoundaryDecisionDetail"] !== undefined) { - contents.PermissionsBoundaryDecisionDetail = deserializeAws_queryPermissionsBoundaryDecisionDetail( - output["PermissionsBoundaryDecisionDetail"], - context - ); + if (output["EvalResourceName"] !== undefined) { + contents.EvalResourceName = output["EvalResourceName"]; } - if (output.MissingContextValues === "") { - contents.MissingContextValues = []; + if (output.MatchedStatements === "") { + contents.MatchedStatements = []; } - if (output["MissingContextValues"] !== undefined && output["MissingContextValues"]["member"] !== undefined) { - contents.MissingContextValues = deserializeAws_queryContextKeyNamesResultListType( - __getArrayIfSingleItem(output["MissingContextValues"]["member"]), + if (output["MatchedStatements"] !== undefined && output["MatchedStatements"]["member"] !== undefined) { + contents.MatchedStatements = deserializeAws_queryStatementListType( + __getArrayIfSingleItem(output["MatchedStatements"]["member"]), context ); } + if (output["EvalResourceDecision"] !== undefined) { + contents.EvalResourceDecision = output["EvalResourceDecision"]; + } if (output.EvalDecisionDetails === "") { contents.EvalDecisionDetails = {}; } @@ -17836,21 +17836,21 @@ const deserializeAws_queryResourceSpecificResult = (output: any, context: __Serd context ); } - if (output["EvalResourceName"] !== undefined) { - contents.EvalResourceName = output["EvalResourceName"]; + if (output["PermissionsBoundaryDecisionDetail"] !== undefined) { + contents.PermissionsBoundaryDecisionDetail = deserializeAws_queryPermissionsBoundaryDecisionDetail( + output["PermissionsBoundaryDecisionDetail"], + context + ); } - if (output.MatchedStatements === "") { - contents.MatchedStatements = []; + if (output.MissingContextValues === "") { + contents.MissingContextValues = []; } - if (output["MatchedStatements"] !== undefined && output["MatchedStatements"]["member"] !== undefined) { - contents.MatchedStatements = deserializeAws_queryStatementListType( - __getArrayIfSingleItem(output["MatchedStatements"]["member"]), + if (output["MissingContextValues"] !== undefined && output["MissingContextValues"]["member"] !== undefined) { + contents.MissingContextValues = deserializeAws_queryContextKeyNamesResultListType( + __getArrayIfSingleItem(output["MissingContextValues"]["member"]), context ); } - if (output["EvalResourceDecision"] !== undefined) { - contents.EvalResourceDecision = output["EvalResourceDecision"]; - } return contents; }; @@ -17863,95 +17863,125 @@ const deserializeAws_queryResourceSpecificResultListType = ( const deserializeAws_queryRole = (output: any, context: __SerdeContext): Role => { let contents: any = { - CreateDate: undefined, - Tags: undefined, - AssumeRolePolicyDocument: undefined, - RoleLastUsed: undefined, - RoleName: undefined, PermissionsBoundary: undefined, - Path: undefined, Description: undefined, + RoleName: undefined, + MaxSessionDuration: undefined, Arn: undefined, + Path: undefined, + AssumeRolePolicyDocument: undefined, RoleId: undefined, - MaxSessionDuration: undefined, + Tags: undefined, + RoleLastUsed: undefined, + CreateDate: undefined, }; - if (output["CreateDate"] !== undefined) { - contents.CreateDate = new Date(output["CreateDate"]); - } - if (output.Tags === "") { - contents.Tags = []; - } - if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { - contents.Tags = deserializeAws_querytagListType(__getArrayIfSingleItem(output["Tags"]["member"]), context); - } - if (output["AssumeRolePolicyDocument"] !== undefined) { - contents.AssumeRolePolicyDocument = output["AssumeRolePolicyDocument"]; - } - if (output["RoleLastUsed"] !== undefined) { - contents.RoleLastUsed = deserializeAws_queryRoleLastUsed(output["RoleLastUsed"], context); - } - if (output["RoleName"] !== undefined) { - contents.RoleName = output["RoleName"]; - } if (output["PermissionsBoundary"] !== undefined) { contents.PermissionsBoundary = deserializeAws_queryAttachedPermissionsBoundary( output["PermissionsBoundary"], context ); } - if (output["Path"] !== undefined) { - contents.Path = output["Path"]; - } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } + if (output["RoleName"] !== undefined) { + contents.RoleName = output["RoleName"]; + } + if (output["MaxSessionDuration"] !== undefined) { + contents.MaxSessionDuration = parseInt(output["MaxSessionDuration"]); + } if (output["Arn"] !== undefined) { contents.Arn = output["Arn"]; } + if (output["Path"] !== undefined) { + contents.Path = output["Path"]; + } + if (output["AssumeRolePolicyDocument"] !== undefined) { + contents.AssumeRolePolicyDocument = output["AssumeRolePolicyDocument"]; + } if (output["RoleId"] !== undefined) { contents.RoleId = output["RoleId"]; } - if (output["MaxSessionDuration"] !== undefined) { - contents.MaxSessionDuration = parseInt(output["MaxSessionDuration"]); + if (output.Tags === "") { + contents.Tags = []; + } + if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { + contents.Tags = deserializeAws_querytagListType(__getArrayIfSingleItem(output["Tags"]["member"]), context); + } + if (output["RoleLastUsed"] !== undefined) { + contents.RoleLastUsed = deserializeAws_queryRoleLastUsed(output["RoleLastUsed"], context); + } + if (output["CreateDate"] !== undefined) { + contents.CreateDate = new Date(output["CreateDate"]); } return contents; }; const deserializeAws_queryRoleDetail = (output: any, context: __SerdeContext): RoleDetail => { let contents: any = { - PermissionsBoundary: undefined, - RoleName: undefined, - Arn: undefined, - Path: undefined, + InstanceProfileList: undefined, AssumeRolePolicyDocument: undefined, CreateDate: undefined, - RolePolicyList: undefined, - AttachedManagedPolicies: undefined, + Tags: undefined, + PermissionsBoundary: undefined, RoleId: undefined, - InstanceProfileList: undefined, + Arn: undefined, RoleLastUsed: undefined, - Tags: undefined, + RoleName: undefined, + Path: undefined, + AttachedManagedPolicies: undefined, + RolePolicyList: undefined, }; + if (output.InstanceProfileList === "") { + contents.InstanceProfileList = []; + } + if (output["InstanceProfileList"] !== undefined && output["InstanceProfileList"]["member"] !== undefined) { + contents.InstanceProfileList = deserializeAws_queryinstanceProfileListType( + __getArrayIfSingleItem(output["InstanceProfileList"]["member"]), + context + ); + } + if (output["AssumeRolePolicyDocument"] !== undefined) { + contents.AssumeRolePolicyDocument = output["AssumeRolePolicyDocument"]; + } + if (output["CreateDate"] !== undefined) { + contents.CreateDate = new Date(output["CreateDate"]); + } + if (output.Tags === "") { + contents.Tags = []; + } + if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { + contents.Tags = deserializeAws_querytagListType(__getArrayIfSingleItem(output["Tags"]["member"]), context); + } if (output["PermissionsBoundary"] !== undefined) { contents.PermissionsBoundary = deserializeAws_queryAttachedPermissionsBoundary( output["PermissionsBoundary"], context ); } - if (output["RoleName"] !== undefined) { - contents.RoleName = output["RoleName"]; + if (output["RoleId"] !== undefined) { + contents.RoleId = output["RoleId"]; } if (output["Arn"] !== undefined) { contents.Arn = output["Arn"]; } + if (output["RoleLastUsed"] !== undefined) { + contents.RoleLastUsed = deserializeAws_queryRoleLastUsed(output["RoleLastUsed"], context); + } + if (output["RoleName"] !== undefined) { + contents.RoleName = output["RoleName"]; + } if (output["Path"] !== undefined) { contents.Path = output["Path"]; } - if (output["AssumeRolePolicyDocument"] !== undefined) { - contents.AssumeRolePolicyDocument = output["AssumeRolePolicyDocument"]; + if (output.AttachedManagedPolicies === "") { + contents.AttachedManagedPolicies = []; } - if (output["CreateDate"] !== undefined) { - contents.CreateDate = new Date(output["CreateDate"]); + if (output["AttachedManagedPolicies"] !== undefined && output["AttachedManagedPolicies"]["member"] !== undefined) { + contents.AttachedManagedPolicies = deserializeAws_queryattachedPoliciesListType( + __getArrayIfSingleItem(output["AttachedManagedPolicies"]["member"]), + context + ); } if (output.RolePolicyList === "") { contents.RolePolicyList = []; @@ -17962,36 +17992,6 @@ const deserializeAws_queryRoleDetail = (output: any, context: __SerdeContext): R context ); } - if (output.AttachedManagedPolicies === "") { - contents.AttachedManagedPolicies = []; - } - if (output["AttachedManagedPolicies"] !== undefined && output["AttachedManagedPolicies"]["member"] !== undefined) { - contents.AttachedManagedPolicies = deserializeAws_queryattachedPoliciesListType( - __getArrayIfSingleItem(output["AttachedManagedPolicies"]["member"]), - context - ); - } - if (output["RoleId"] !== undefined) { - contents.RoleId = output["RoleId"]; - } - if (output.InstanceProfileList === "") { - contents.InstanceProfileList = []; - } - if (output["InstanceProfileList"] !== undefined && output["InstanceProfileList"]["member"] !== undefined) { - contents.InstanceProfileList = deserializeAws_queryinstanceProfileListType( - __getArrayIfSingleItem(output["InstanceProfileList"]["member"]), - context - ); - } - if (output["RoleLastUsed"] !== undefined) { - contents.RoleLastUsed = deserializeAws_queryRoleLastUsed(output["RoleLastUsed"], context); - } - if (output.Tags === "") { - contents.Tags = []; - } - if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { - contents.Tags = deserializeAws_querytagListType(__getArrayIfSingleItem(output["Tags"]["member"]), context); - } return contents; }; @@ -18001,15 +18001,15 @@ const deserializeAws_queryroleDetailListType = (output: any, context: __SerdeCon const deserializeAws_queryRoleLastUsed = (output: any, context: __SerdeContext): RoleLastUsed => { let contents: any = { - Region: undefined, LastUsedDate: undefined, + Region: undefined, }; - if (output["Region"] !== undefined) { - contents.Region = output["Region"]; - } if (output["LastUsedDate"] !== undefined) { contents.LastUsedDate = new Date(output["LastUsedDate"]); } + if (output["Region"] !== undefined) { + contents.Region = output["Region"]; + } return contents; }; @@ -18065,22 +18065,22 @@ const deserializeAws_querySAMLProviderListType = (output: any, context: __SerdeC const deserializeAws_queryServerCertificate = (output: any, context: __SerdeContext): ServerCertificate => { let contents: any = { - ServerCertificateMetadata: undefined, - CertificateChain: undefined, CertificateBody: undefined, + CertificateChain: undefined, + ServerCertificateMetadata: undefined, }; + if (output["CertificateBody"] !== undefined) { + contents.CertificateBody = output["CertificateBody"]; + } + if (output["CertificateChain"] !== undefined) { + contents.CertificateChain = output["CertificateChain"]; + } if (output["ServerCertificateMetadata"] !== undefined) { contents.ServerCertificateMetadata = deserializeAws_queryServerCertificateMetadata( output["ServerCertificateMetadata"], context ); } - if (output["CertificateChain"] !== undefined) { - contents.CertificateChain = output["CertificateChain"]; - } - if (output["CertificateBody"] !== undefined) { - contents.CertificateBody = output["CertificateBody"]; - } return contents; }; @@ -18089,21 +18089,15 @@ const deserializeAws_queryServerCertificateMetadata = ( context: __SerdeContext ): ServerCertificateMetadata => { let contents: any = { - ServerCertificateId: undefined, - ServerCertificateName: undefined, - Expiration: undefined, + Arn: undefined, Path: undefined, UploadDate: undefined, - Arn: undefined, + ServerCertificateId: undefined, + Expiration: undefined, + ServerCertificateName: undefined, }; - if (output["ServerCertificateId"] !== undefined) { - contents.ServerCertificateId = output["ServerCertificateId"]; - } - if (output["ServerCertificateName"] !== undefined) { - contents.ServerCertificateName = output["ServerCertificateName"]; - } - if (output["Expiration"] !== undefined) { - contents.Expiration = new Date(output["Expiration"]); + if (output["Arn"] !== undefined) { + contents.Arn = output["Arn"]; } if (output["Path"] !== undefined) { contents.Path = output["Path"]; @@ -18111,8 +18105,14 @@ const deserializeAws_queryServerCertificateMetadata = ( if (output["UploadDate"] !== undefined) { contents.UploadDate = new Date(output["UploadDate"]); } - if (output["Arn"] !== undefined) { - contents.Arn = output["Arn"]; + if (output["ServerCertificateId"] !== undefined) { + contents.ServerCertificateId = output["ServerCertificateId"]; + } + if (output["Expiration"] !== undefined) { + contents.Expiration = new Date(output["Expiration"]); + } + if (output["ServerCertificateName"] !== undefined) { + contents.ServerCertificateName = output["ServerCertificateName"]; } return contents; }; @@ -18136,14 +18136,20 @@ const deserializeAws_queryServiceFailureException = (output: any, context: __Ser const deserializeAws_queryServiceLastAccessed = (output: any, context: __SerdeContext): ServiceLastAccessed => { let contents: any = { - TrackedActionsLastAccessed: undefined, - ServiceName: undefined, LastAuthenticated: undefined, + TotalAuthenticatedEntities: undefined, + TrackedActionsLastAccessed: undefined, + LastAuthenticatedEntity: undefined, LastAuthenticatedRegion: undefined, + ServiceName: undefined, ServiceNamespace: undefined, - LastAuthenticatedEntity: undefined, - TotalAuthenticatedEntities: undefined, }; + if (output["LastAuthenticated"] !== undefined) { + contents.LastAuthenticated = new Date(output["LastAuthenticated"]); + } + if (output["TotalAuthenticatedEntities"] !== undefined) { + contents.TotalAuthenticatedEntities = parseInt(output["TotalAuthenticatedEntities"]); + } if (output.TrackedActionsLastAccessed === "") { contents.TrackedActionsLastAccessed = []; } @@ -18156,24 +18162,18 @@ const deserializeAws_queryServiceLastAccessed = (output: any, context: __SerdeCo context ); } - if (output["ServiceName"] !== undefined) { - contents.ServiceName = output["ServiceName"]; - } - if (output["LastAuthenticated"] !== undefined) { - contents.LastAuthenticated = new Date(output["LastAuthenticated"]); + if (output["LastAuthenticatedEntity"] !== undefined) { + contents.LastAuthenticatedEntity = output["LastAuthenticatedEntity"]; } if (output["LastAuthenticatedRegion"] !== undefined) { contents.LastAuthenticatedRegion = output["LastAuthenticatedRegion"]; } + if (output["ServiceName"] !== undefined) { + contents.ServiceName = output["ServiceName"]; + } if (output["ServiceNamespace"] !== undefined) { contents.ServiceNamespace = output["ServiceNamespace"]; } - if (output["LastAuthenticatedEntity"] !== undefined) { - contents.LastAuthenticatedEntity = output["LastAuthenticatedEntity"]; - } - if (output["TotalAuthenticatedEntities"] !== undefined) { - contents.TotalAuthenticatedEntities = parseInt(output["TotalAuthenticatedEntities"]); - } return contents; }; @@ -18199,34 +18199,34 @@ const deserializeAws_queryServiceSpecificCredential = ( context: __SerdeContext ): ServiceSpecificCredential => { let contents: any = { - UserName: undefined, - CreateDate: undefined, - ServiceUserName: undefined, - Status: undefined, ServiceName: undefined, ServicePassword: undefined, + UserName: undefined, ServiceSpecificCredentialId: undefined, + CreateDate: undefined, + Status: undefined, + ServiceUserName: undefined, }; + if (output["ServiceName"] !== undefined) { + contents.ServiceName = output["ServiceName"]; + } + if (output["ServicePassword"] !== undefined) { + contents.ServicePassword = output["ServicePassword"]; + } if (output["UserName"] !== undefined) { contents.UserName = output["UserName"]; } + if (output["ServiceSpecificCredentialId"] !== undefined) { + contents.ServiceSpecificCredentialId = output["ServiceSpecificCredentialId"]; + } if (output["CreateDate"] !== undefined) { contents.CreateDate = new Date(output["CreateDate"]); } - if (output["ServiceUserName"] !== undefined) { - contents.ServiceUserName = output["ServiceUserName"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["ServiceName"] !== undefined) { - contents.ServiceName = output["ServiceName"]; - } - if (output["ServicePassword"] !== undefined) { - contents.ServicePassword = output["ServicePassword"]; - } - if (output["ServiceSpecificCredentialId"] !== undefined) { - contents.ServiceSpecificCredentialId = output["ServiceSpecificCredentialId"]; + if (output["ServiceUserName"] !== undefined) { + contents.ServiceUserName = output["ServiceUserName"]; } return contents; }; @@ -18236,31 +18236,31 @@ const deserializeAws_queryServiceSpecificCredentialMetadata = ( context: __SerdeContext ): ServiceSpecificCredentialMetadata => { let contents: any = { - ServiceSpecificCredentialId: undefined, + Status: undefined, ServiceUserName: undefined, + UserName: undefined, ServiceName: undefined, + ServiceSpecificCredentialId: undefined, CreateDate: undefined, - Status: undefined, - UserName: undefined, }; - if (output["ServiceSpecificCredentialId"] !== undefined) { - contents.ServiceSpecificCredentialId = output["ServiceSpecificCredentialId"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["ServiceUserName"] !== undefined) { contents.ServiceUserName = output["ServiceUserName"]; } + if (output["UserName"] !== undefined) { + contents.UserName = output["UserName"]; + } if (output["ServiceName"] !== undefined) { contents.ServiceName = output["ServiceName"]; } + if (output["ServiceSpecificCredentialId"] !== undefined) { + contents.ServiceSpecificCredentialId = output["ServiceSpecificCredentialId"]; + } if (output["CreateDate"] !== undefined) { contents.CreateDate = new Date(output["CreateDate"]); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["UserName"] !== undefined) { - contents.UserName = output["UserName"]; - } return contents; }; @@ -18273,14 +18273,17 @@ const deserializeAws_queryServiceSpecificCredentialsListType = ( const deserializeAws_querySigningCertificate = (output: any, context: __SerdeContext): SigningCertificate => { let contents: any = { - CertificateBody: undefined, + UploadDate: undefined, + UserName: undefined, CertificateId: undefined, Status: undefined, - UserName: undefined, - UploadDate: undefined, + CertificateBody: undefined, }; - if (output["CertificateBody"] !== undefined) { - contents.CertificateBody = output["CertificateBody"]; + if (output["UploadDate"] !== undefined) { + contents.UploadDate = new Date(output["UploadDate"]); + } + if (output["UserName"] !== undefined) { + contents.UserName = output["UserName"]; } if (output["CertificateId"] !== undefined) { contents.CertificateId = output["CertificateId"]; @@ -18288,27 +18291,18 @@ const deserializeAws_querySigningCertificate = (output: any, context: __SerdeCon if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["UserName"] !== undefined) { - contents.UserName = output["UserName"]; - } - if (output["UploadDate"] !== undefined) { - contents.UploadDate = new Date(output["UploadDate"]); + if (output["CertificateBody"] !== undefined) { + contents.CertificateBody = output["CertificateBody"]; } return contents; }; const deserializeAws_querySimulatePolicyResponse = (output: any, context: __SerdeContext): SimulatePolicyResponse => { let contents: any = { + EvaluationResults: undefined, IsTruncated: undefined, Marker: undefined, - EvaluationResults: undefined, }; - if (output["IsTruncated"] !== undefined) { - contents.IsTruncated = output["IsTruncated"] == "true"; - } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.EvaluationResults === "") { contents.EvaluationResults = []; } @@ -18318,35 +18312,41 @@ const deserializeAws_querySimulatePolicyResponse = (output: any, context: __Serd context ); } + if (output["IsTruncated"] !== undefined) { + contents.IsTruncated = output["IsTruncated"] == "true"; + } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; const deserializeAws_querySSHPublicKey = (output: any, context: __SerdeContext): SSHPublicKey => { let contents: any = { - UploadDate: undefined, - UserName: undefined, - Status: undefined, SSHPublicKeyBody: undefined, - Fingerprint: undefined, + UserName: undefined, + UploadDate: undefined, SSHPublicKeyId: undefined, + Fingerprint: undefined, + Status: undefined, }; - if (output["UploadDate"] !== undefined) { - contents.UploadDate = new Date(output["UploadDate"]); + if (output["SSHPublicKeyBody"] !== undefined) { + contents.SSHPublicKeyBody = output["SSHPublicKeyBody"]; } if (output["UserName"] !== undefined) { contents.UserName = output["UserName"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["UploadDate"] !== undefined) { + contents.UploadDate = new Date(output["UploadDate"]); } - if (output["SSHPublicKeyBody"] !== undefined) { - contents.SSHPublicKeyBody = output["SSHPublicKeyBody"]; + if (output["SSHPublicKeyId"] !== undefined) { + contents.SSHPublicKeyId = output["SSHPublicKeyId"]; } if (output["Fingerprint"] !== undefined) { contents.Fingerprint = output["Fingerprint"]; } - if (output["SSHPublicKeyId"] !== undefined) { - contents.SSHPublicKeyId = output["SSHPublicKeyId"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; @@ -18357,45 +18357,45 @@ const deserializeAws_querySSHPublicKeyListType = (output: any, context: __SerdeC const deserializeAws_querySSHPublicKeyMetadata = (output: any, context: __SerdeContext): SSHPublicKeyMetadata => { let contents: any = { - UploadDate: undefined, - Status: undefined, UserName: undefined, SSHPublicKeyId: undefined, + UploadDate: undefined, + Status: undefined, }; - if (output["UploadDate"] !== undefined) { - contents.UploadDate = new Date(output["UploadDate"]); - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["UserName"] !== undefined) { contents.UserName = output["UserName"]; } if (output["SSHPublicKeyId"] !== undefined) { contents.SSHPublicKeyId = output["SSHPublicKeyId"]; } + if (output["UploadDate"] !== undefined) { + contents.UploadDate = new Date(output["UploadDate"]); + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } return contents; }; const deserializeAws_queryStatement = (output: any, context: __SerdeContext): Statement => { let contents: any = { - SourcePolicyId: undefined, - EndPosition: undefined, SourcePolicyType: undefined, + EndPosition: undefined, StartPosition: undefined, + SourcePolicyId: undefined, }; - if (output["SourcePolicyId"] !== undefined) { - contents.SourcePolicyId = output["SourcePolicyId"]; + if (output["SourcePolicyType"] !== undefined) { + contents.SourcePolicyType = output["SourcePolicyType"]; } if (output["EndPosition"] !== undefined) { contents.EndPosition = deserializeAws_queryPosition(output["EndPosition"], context); } - if (output["SourcePolicyType"] !== undefined) { - contents.SourcePolicyType = output["SourcePolicyType"]; - } if (output["StartPosition"] !== undefined) { contents.StartPosition = deserializeAws_queryPosition(output["StartPosition"], context); } + if (output["SourcePolicyId"] !== undefined) { + contents.SourcePolicyId = output["SourcePolicyId"]; + } return contents; }; @@ -18415,15 +18415,15 @@ const deserializeAws_querysummaryMapType = (output: any, context: __SerdeContext const deserializeAws_queryTag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Key: undefined, Value: undefined, + Key: undefined, }; - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; + } return contents; }; @@ -18440,19 +18440,19 @@ const deserializeAws_queryTrackedActionLastAccessed = ( context: __SerdeContext ): TrackedActionLastAccessed => { let contents: any = { - LastAccessedTime: undefined, - LastAccessedEntity: undefined, LastAccessedRegion: undefined, + LastAccessedEntity: undefined, + LastAccessedTime: undefined, ActionName: undefined, }; - if (output["LastAccessedTime"] !== undefined) { - contents.LastAccessedTime = new Date(output["LastAccessedTime"]); + if (output["LastAccessedRegion"] !== undefined) { + contents.LastAccessedRegion = output["LastAccessedRegion"]; } if (output["LastAccessedEntity"] !== undefined) { contents.LastAccessedEntity = output["LastAccessedEntity"]; } - if (output["LastAccessedRegion"] !== undefined) { - contents.LastAccessedRegion = output["LastAccessedRegion"]; + if (output["LastAccessedTime"] !== undefined) { + contents.LastAccessedTime = new Date(output["LastAccessedTime"]); } if (output["ActionName"] !== undefined) { contents.ActionName = output["ActionName"]; @@ -18568,33 +18568,18 @@ const deserializeAws_queryUploadSSHPublicKeyResponse = ( const deserializeAws_queryUser = (output: any, context: __SerdeContext): User => { let contents: any = { - UserId: undefined, UserName: undefined, - PasswordLastUsed: undefined, - PermissionsBoundary: undefined, - Arn: undefined, Path: undefined, Tags: undefined, CreateDate: undefined, + Arn: undefined, + PasswordLastUsed: undefined, + PermissionsBoundary: undefined, + UserId: undefined, }; - if (output["UserId"] !== undefined) { - contents.UserId = output["UserId"]; - } if (output["UserName"] !== undefined) { contents.UserName = output["UserName"]; } - if (output["PasswordLastUsed"] !== undefined) { - contents.PasswordLastUsed = new Date(output["PasswordLastUsed"]); - } - if (output["PermissionsBoundary"] !== undefined) { - contents.PermissionsBoundary = deserializeAws_queryAttachedPermissionsBoundary( - output["PermissionsBoundary"], - context - ); - } - if (output["Arn"] !== undefined) { - contents.Arn = output["Arn"]; - } if (output["Path"] !== undefined) { contents.Path = output["Path"]; } @@ -18607,36 +18592,51 @@ const deserializeAws_queryUser = (output: any, context: __SerdeContext): User => if (output["CreateDate"] !== undefined) { contents.CreateDate = new Date(output["CreateDate"]); } + if (output["Arn"] !== undefined) { + contents.Arn = output["Arn"]; + } + if (output["PasswordLastUsed"] !== undefined) { + contents.PasswordLastUsed = new Date(output["PasswordLastUsed"]); + } + if (output["PermissionsBoundary"] !== undefined) { + contents.PermissionsBoundary = deserializeAws_queryAttachedPermissionsBoundary( + output["PermissionsBoundary"], + context + ); + } + if (output["UserId"] !== undefined) { + contents.UserId = output["UserId"]; + } return contents; }; const deserializeAws_queryUserDetail = (output: any, context: __SerdeContext): UserDetail => { let contents: any = { - Arn: undefined, - PermissionsBoundary: undefined, - Tags: undefined, - GroupList: undefined, - CreateDate: undefined, + UserId: undefined, UserPolicyList: undefined, + CreateDate: undefined, + GroupList: undefined, AttachedManagedPolicies: undefined, - UserName: undefined, + PermissionsBoundary: undefined, Path: undefined, - UserId: undefined, + Tags: undefined, + UserName: undefined, + Arn: undefined, }; - if (output["Arn"] !== undefined) { - contents.Arn = output["Arn"]; + if (output["UserId"] !== undefined) { + contents.UserId = output["UserId"]; } - if (output["PermissionsBoundary"] !== undefined) { - contents.PermissionsBoundary = deserializeAws_queryAttachedPermissionsBoundary( - output["PermissionsBoundary"], + if (output.UserPolicyList === "") { + contents.UserPolicyList = []; + } + if (output["UserPolicyList"] !== undefined && output["UserPolicyList"]["member"] !== undefined) { + contents.UserPolicyList = deserializeAws_querypolicyDetailListType( + __getArrayIfSingleItem(output["UserPolicyList"]["member"]), context ); } - if (output.Tags === "") { - contents.Tags = []; - } - if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { - contents.Tags = deserializeAws_querytagListType(__getArrayIfSingleItem(output["Tags"]["member"]), context); + if (output["CreateDate"] !== undefined) { + contents.CreateDate = new Date(output["CreateDate"]); } if (output.GroupList === "") { contents.GroupList = []; @@ -18647,18 +18647,6 @@ const deserializeAws_queryUserDetail = (output: any, context: __SerdeContext): U context ); } - if (output["CreateDate"] !== undefined) { - contents.CreateDate = new Date(output["CreateDate"]); - } - if (output.UserPolicyList === "") { - contents.UserPolicyList = []; - } - if (output["UserPolicyList"] !== undefined && output["UserPolicyList"]["member"] !== undefined) { - contents.UserPolicyList = deserializeAws_querypolicyDetailListType( - __getArrayIfSingleItem(output["UserPolicyList"]["member"]), - context - ); - } if (output.AttachedManagedPolicies === "") { contents.AttachedManagedPolicies = []; } @@ -18668,14 +18656,26 @@ const deserializeAws_queryUserDetail = (output: any, context: __SerdeContext): U context ); } - if (output["UserName"] !== undefined) { - contents.UserName = output["UserName"]; + if (output["PermissionsBoundary"] !== undefined) { + contents.PermissionsBoundary = deserializeAws_queryAttachedPermissionsBoundary( + output["PermissionsBoundary"], + context + ); } if (output["Path"] !== undefined) { contents.Path = output["Path"]; } - if (output["UserId"] !== undefined) { - contents.UserId = output["UserId"]; + if (output.Tags === "") { + contents.Tags = []; + } + if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { + contents.Tags = deserializeAws_querytagListType(__getArrayIfSingleItem(output["Tags"]["member"]), context); + } + if (output["UserName"] !== undefined) { + contents.UserName = output["UserName"]; + } + if (output["Arn"] !== undefined) { + contents.Arn = output["Arn"]; } return contents; }; @@ -18690,26 +18690,26 @@ const deserializeAws_queryuserListType = (output: any, context: __SerdeContext): const deserializeAws_queryVirtualMFADevice = (output: any, context: __SerdeContext): VirtualMFADevice => { let contents: any = { - QRCodePNG: undefined, - EnableDate: undefined, + User: undefined, SerialNumber: undefined, + EnableDate: undefined, Base32StringSeed: undefined, - User: undefined, + QRCodePNG: undefined, }; - if (output["QRCodePNG"] !== undefined) { - contents.QRCodePNG = context.base64Decoder(output["QRCodePNG"]); - } - if (output["EnableDate"] !== undefined) { - contents.EnableDate = new Date(output["EnableDate"]); + if (output["User"] !== undefined) { + contents.User = deserializeAws_queryUser(output["User"], context); } if (output["SerialNumber"] !== undefined) { contents.SerialNumber = output["SerialNumber"]; } + if (output["EnableDate"] !== undefined) { + contents.EnableDate = new Date(output["EnableDate"]); + } if (output["Base32StringSeed"] !== undefined) { contents.Base32StringSeed = context.base64Decoder(output["Base32StringSeed"]); } - if (output["User"] !== undefined) { - contents.User = deserializeAws_queryUser(output["User"], context); + if (output["QRCodePNG"] !== undefined) { + contents.QRCodePNG = context.base64Decoder(output["QRCodePNG"]); } return contents; }; diff --git a/clients/client-identitystore/.gitignore b/clients/client-identitystore/.gitignore new file mode 100644 index 000000000000..b41c05b597c4 --- /dev/null +++ b/clients/client-identitystore/.gitignore @@ -0,0 +1,14 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/types/ +/dist/ +*.tsbuildinfo +*.tgz +*.log +package-lock.json + +*.d.ts +*.js +*.js.map diff --git a/clients/client-identitystore/.npmignore b/clients/client-identitystore/.npmignore new file mode 100644 index 000000000000..b7ff81137c4a --- /dev/null +++ b/clients/client-identitystore/.npmignore @@ -0,0 +1,4 @@ +/coverage/ +/docs/ +tsconfig.test.json +*.tsbuildinfo diff --git a/clients/client-identitystore/Identitystore.ts b/clients/client-identitystore/Identitystore.ts new file mode 100644 index 000000000000..428e11c8801c --- /dev/null +++ b/clients/client-identitystore/Identitystore.ts @@ -0,0 +1,129 @@ +import { IdentitystoreClient } from "./IdentitystoreClient"; +import { + DescribeGroupCommand, + DescribeGroupCommandInput, + DescribeGroupCommandOutput, +} from "./commands/DescribeGroupCommand"; +import { + DescribeUserCommand, + DescribeUserCommandInput, + DescribeUserCommandOutput, +} from "./commands/DescribeUserCommand"; +import { ListGroupsCommand, ListGroupsCommandInput, ListGroupsCommandOutput } from "./commands/ListGroupsCommand"; +import { ListUsersCommand, ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand"; +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +export class Identitystore extends IdentitystoreClient { + /** + *

                                                    Retrieves the group metadata and attributes from GroupId in an identity store.

                                                    + */ + public describeGroup( + args: DescribeGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeGroup( + args: DescribeGroupCommandInput, + cb: (err: any, data?: DescribeGroupCommandOutput) => void + ): void; + public describeGroup( + args: DescribeGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeGroupCommandOutput) => void + ): void; + public describeGroup( + args: DescribeGroupCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeGroupCommandOutput) => void), + cb?: (err: any, data?: DescribeGroupCommandOutput) => void + ): Promise | void { + const command = new DescribeGroupCommand(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 user metadata and attributes from UserId in an identity store.

                                                    + */ + public describeUser( + args: DescribeUserCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeUser(args: DescribeUserCommandInput, cb: (err: any, data?: DescribeUserCommandOutput) => void): void; + public describeUser( + args: DescribeUserCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeUserCommandOutput) => void + ): void; + public describeUser( + args: DescribeUserCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeUserCommandOutput) => void), + cb?: (err: any, data?: DescribeUserCommandOutput) => void + ): Promise | void { + const command = new DescribeUserCommand(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 attribute name and value of the group that you specified in the search. We only support DisplayName as a valid filter attribute path currently, and filter is required. This API returns minimum attributes, including GroupId and group DisplayName in the response.

                                                    + */ + public listGroups(args: ListGroupsCommandInput, options?: __HttpHandlerOptions): Promise; + public listGroups(args: ListGroupsCommandInput, cb: (err: any, data?: ListGroupsCommandOutput) => void): void; + public listGroups( + args: ListGroupsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListGroupsCommandOutput) => void + ): void; + public listGroups( + args: ListGroupsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListGroupsCommandOutput) => void), + cb?: (err: any, data?: ListGroupsCommandOutput) => void + ): Promise | void { + const command = new ListGroupsCommand(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 attribute name and value of the user that you specified in the search. We only support UserName as a valid filter attribute path currently, and filter is required. This API returns minimum attributes, including UserId and UserName in the response.

                                                    + */ + public listUsers(args: ListUsersCommandInput, options?: __HttpHandlerOptions): Promise; + public listUsers(args: ListUsersCommandInput, cb: (err: any, data?: ListUsersCommandOutput) => void): void; + public listUsers( + args: ListUsersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListUsersCommandOutput) => void + ): void; + public listUsers( + args: ListUsersCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListUsersCommandOutput) => void), + cb?: (err: any, data?: ListUsersCommandOutput) => void + ): Promise | void { + const command = new ListUsersCommand(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-identitystore/IdentitystoreClient.ts b/clients/client-identitystore/IdentitystoreClient.ts new file mode 100644 index 000000000000..00f678bfeb20 --- /dev/null +++ b/clients/client-identitystore/IdentitystoreClient.ts @@ -0,0 +1,210 @@ +import { DescribeGroupCommandInput, DescribeGroupCommandOutput } from "./commands/DescribeGroupCommand"; +import { DescribeUserCommandInput, DescribeUserCommandOutput } from "./commands/DescribeUserCommand"; +import { ListGroupsCommandInput, ListGroupsCommandOutput } from "./commands/ListGroupsCommand"; +import { ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand"; +import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; +import { + EndpointsInputConfig, + EndpointsResolvedConfig, + RegionInputConfig, + RegionResolvedConfig, + resolveEndpointsConfig, + resolveRegionConfig, +} from "@aws-sdk/config-resolver"; +import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length"; +import { + HostHeaderInputConfig, + HostHeaderResolvedConfig, + getHostHeaderPlugin, + resolveHostHeaderConfig, +} from "@aws-sdk/middleware-host-header"; +import { getLoggerPlugin } from "@aws-sdk/middleware-logger"; +import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry"; +import { + AwsAuthInputConfig, + AwsAuthResolvedConfig, + getAwsAuthPlugin, + resolveAwsAuthConfig, +} from "@aws-sdk/middleware-signing"; +import { + UserAgentInputConfig, + UserAgentResolvedConfig, + getUserAgentPlugin, + resolveUserAgentConfig, +} from "@aws-sdk/middleware-user-agent"; +import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http"; +import { + Client as __Client, + SmithyConfiguration as __SmithyConfiguration, + SmithyResolvedConfiguration as __SmithyResolvedConfiguration, +} from "@aws-sdk/smithy-client"; +import { + RegionInfoProvider, + Credentials as __Credentials, + Decoder as __Decoder, + Encoder as __Encoder, + HashConstructor as __HashConstructor, + HttpHandlerOptions as __HttpHandlerOptions, + Logger as __Logger, + Provider as __Provider, + StreamCollector as __StreamCollector, + UrlParser as __UrlParser, +} from "@aws-sdk/types"; + +export type ServiceInputTypes = + | DescribeGroupCommandInput + | DescribeUserCommandInput + | ListGroupsCommandInput + | ListUsersCommandInput; + +export type ServiceOutputTypes = + | DescribeGroupCommandOutput + | DescribeUserCommandOutput + | ListGroupsCommandOutput + | ListUsersCommandOutput; + +export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { + /** + * The HTTP handler to use. Fetch in browser and Https in Nodejs. + */ + requestHandler?: __HttpHandler; + + /** + * A constructor for a class implementing the @aws-sdk/types.Hash interface + * that computes the SHA-256 HMAC or checksum of a string or binary buffer. + */ + sha256?: __HashConstructor; + + /** + * The function that will be used to convert strings into HTTP endpoints. + */ + urlParser?: __UrlParser; + + /** + * A function that can calculate the length of a request body. + */ + bodyLengthChecker?: (body: any) => number | undefined; + + /** + * A function that converts a stream into an array of bytes. + */ + streamCollector?: __StreamCollector; + + /** + * The function that will be used to convert a base64-encoded string to a byte array + */ + base64Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a base64-encoded string + */ + base64Encoder?: __Encoder; + + /** + * The function that will be used to convert a UTF8-encoded string to a byte array + */ + utf8Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a UTF-8 encoded string + */ + utf8Encoder?: __Encoder; + + /** + * The string that will be used to populate default value in 'User-Agent' header + */ + defaultUserAgent?: string; + + /** + * The runtime environment + */ + runtime?: string; + + /** + * Disable dyanamically changing the endpoint of the client based on the hostPrefix + * trait of an operation. + */ + disableHostPrefix?: boolean; + + /** + * The service name with which to sign requests. + */ + signingName?: string; + + /** + * Default credentials provider; Not available in browser runtime + */ + credentialDefaultProvider?: (input: any) => __Provider<__Credentials>; + + /** + * The AWS region to which this client will send requests + */ + region?: string | __Provider; + + /** + * Value for how many times a request will be made at most in case of retry. + */ + maxAttempts?: number | __Provider; + + /** + * Optional logger for logging debug/info/warn/error. + */ + logger?: __Logger; + + /** + * Fetch related hostname, signing name or signing region with given region. + */ + regionInfoProvider?: RegionInfoProvider; +} + +export type IdentitystoreClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & + ClientDefaults & + RegionInputConfig & + EndpointsInputConfig & + AwsAuthInputConfig & + RetryInputConfig & + UserAgentInputConfig & + HostHeaderInputConfig; + +export type IdentitystoreClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> & + Required & + RegionResolvedConfig & + EndpointsResolvedConfig & + AwsAuthResolvedConfig & + RetryResolvedConfig & + UserAgentResolvedConfig & + HostHeaderResolvedConfig; + +export class IdentitystoreClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + IdentitystoreClientResolvedConfig +> { + readonly config: IdentitystoreClientResolvedConfig; + + constructor(configuration: IdentitystoreClientConfig) { + let _config_0 = { + ...__ClientDefaultValues, + ...configuration, + }; + let _config_1 = resolveRegionConfig(_config_0); + let _config_2 = resolveEndpointsConfig(_config_1); + let _config_3 = resolveAwsAuthConfig(_config_2); + let _config_4 = resolveRetryConfig(_config_3); + let _config_5 = resolveUserAgentConfig(_config_4); + let _config_6 = resolveHostHeaderConfig(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use(getAwsAuthPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + } + + destroy(): void { + super.destroy(); + } +} diff --git a/clients/client-identitystore/LICENSE b/clients/client-identitystore/LICENSE new file mode 100644 index 000000000000..dd65ae06be7a --- /dev/null +++ b/clients/client-identitystore/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-identitystore/README.md b/clients/client-identitystore/README.md new file mode 100644 index 000000000000..ce044d05ae4c --- /dev/null +++ b/clients/client-identitystore/README.md @@ -0,0 +1,6 @@ +@aws-sdk/client-identitystore + +[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-identitystore/beta.svg)](https://www.npmjs.com/package/@aws-sdk/client-identitystore) +[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-identitystore.svg)](https://www.npmjs.com/package/@aws-sdk/client-identitystore) + +For SDK usage, please step to [SDK readme](https://github.com/aws/aws-sdk-js-v3). diff --git a/clients/client-identitystore/commands/DescribeGroupCommand.ts b/clients/client-identitystore/commands/DescribeGroupCommand.ts new file mode 100644 index 000000000000..2b6aba567f6f --- /dev/null +++ b/clients/client-identitystore/commands/DescribeGroupCommand.ts @@ -0,0 +1,70 @@ +import { IdentitystoreClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IdentitystoreClient"; +import { DescribeGroupRequest, DescribeGroupResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeGroupCommand, + serializeAws_json1_1DescribeGroupCommand, +} 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 DescribeGroupCommandInput = DescribeGroupRequest; +export type DescribeGroupCommandOutput = DescribeGroupResponse & __MetadataBearer; + +export class DescribeGroupCommand extends $Command< + DescribeGroupCommandInput, + DescribeGroupCommandOutput, + IdentitystoreClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeGroupCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IdentitystoreClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeGroupRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeGroupResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeGroupCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeGroupCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-identitystore/commands/DescribeUserCommand.ts b/clients/client-identitystore/commands/DescribeUserCommand.ts new file mode 100644 index 000000000000..ff184378186f --- /dev/null +++ b/clients/client-identitystore/commands/DescribeUserCommand.ts @@ -0,0 +1,70 @@ +import { IdentitystoreClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IdentitystoreClient"; +import { DescribeUserRequest, DescribeUserResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeUserCommand, + serializeAws_json1_1DescribeUserCommand, +} 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 DescribeUserCommandInput = DescribeUserRequest; +export type DescribeUserCommandOutput = DescribeUserResponse & __MetadataBearer; + +export class DescribeUserCommand extends $Command< + DescribeUserCommandInput, + DescribeUserCommandOutput, + IdentitystoreClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeUserCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IdentitystoreClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeUserRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeUserResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeUserCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeUserCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeUserCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-identitystore/commands/ListGroupsCommand.ts b/clients/client-identitystore/commands/ListGroupsCommand.ts new file mode 100644 index 000000000000..3a4ec1a9e9fc --- /dev/null +++ b/clients/client-identitystore/commands/ListGroupsCommand.ts @@ -0,0 +1,70 @@ +import { IdentitystoreClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IdentitystoreClient"; +import { ListGroupsRequest, ListGroupsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListGroupsCommand, + serializeAws_json1_1ListGroupsCommand, +} 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 ListGroupsCommandInput = ListGroupsRequest; +export type ListGroupsCommandOutput = ListGroupsResponse & __MetadataBearer; + +export class ListGroupsCommand extends $Command< + ListGroupsCommandInput, + ListGroupsCommandOutput, + IdentitystoreClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListGroupsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IdentitystoreClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListGroupsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListGroupsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListGroupsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListGroupsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListGroupsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-identitystore/commands/ListUsersCommand.ts b/clients/client-identitystore/commands/ListUsersCommand.ts new file mode 100644 index 000000000000..87804d0e1f38 --- /dev/null +++ b/clients/client-identitystore/commands/ListUsersCommand.ts @@ -0,0 +1,67 @@ +import { IdentitystoreClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IdentitystoreClient"; +import { ListUsersRequest, ListUsersResponse } from "../models/models_0"; +import { deserializeAws_json1_1ListUsersCommand, serializeAws_json1_1ListUsersCommand } 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 ListUsersCommandInput = ListUsersRequest; +export type ListUsersCommandOutput = ListUsersResponse & __MetadataBearer; + +export class ListUsersCommand extends $Command< + ListUsersCommandInput, + ListUsersCommandOutput, + IdentitystoreClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListUsersCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IdentitystoreClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListUsersRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListUsersResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListUsersCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListUsersCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListUsersCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-identitystore/endpoints.ts b/clients/client-identitystore/endpoints.ts new file mode 100644 index 000000000000..2054d04b9584 --- /dev/null +++ b/clients/client-identitystore/endpoints.ts @@ -0,0 +1,81 @@ +import { RegionInfo, RegionInfoProvider } from "@aws-sdk/types"; + +// Partition default templates +const AWS_TEMPLATE = "identitystore.{region}.amazonaws.com"; +const AWS_CN_TEMPLATE = "identitystore.{region}.amazonaws.com.cn"; +const AWS_ISO_TEMPLATE = "identitystore.{region}.c2s.ic.gov"; +const AWS_ISO_B_TEMPLATE = "identitystore.{region}.sc2s.sgov.gov"; +const AWS_US_GOV_TEMPLATE = "identitystore.{region}.amazonaws.com"; + +// Partition regions +const AWS_REGIONS = new Set([ + "ap-east-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-west-1", + "eu-west-2", + "eu-west-3", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2", +]); +const AWS_CN_REGIONS = new Set(["cn-north-1", "cn-northwest-1"]); +const AWS_ISO_REGIONS = new Set(["us-iso-east-1"]); +const AWS_ISO_B_REGIONS = new Set(["us-isob-east-1"]); +const AWS_US_GOV_REGIONS = new Set(["us-gov-east-1", "us-gov-west-1"]); + +export const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => { + let regionInfo: RegionInfo | undefined = undefined; + switch (region) { + // First, try to match exact region names. + // Next, try to match partition endpoints. + default: + if (AWS_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + if (AWS_CN_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_CN_TEMPLATE.replace("{region}", region), + partition: "aws-cn", + }; + } + if (AWS_ISO_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_TEMPLATE.replace("{region}", region), + partition: "aws-iso", + }; + } + if (AWS_ISO_B_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_B_TEMPLATE.replace("{region}", region), + partition: "aws-iso-b", + }; + } + if (AWS_US_GOV_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_US_GOV_TEMPLATE.replace("{region}", region), + partition: "aws-us-gov", + }; + } + // Finally, assume it's an AWS partition endpoint. + if (regionInfo === undefined) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + } + return Promise.resolve(regionInfo); +}; diff --git a/clients/client-identitystore/index.ts b/clients/client-identitystore/index.ts new file mode 100644 index 000000000000..ae6cda1763ea --- /dev/null +++ b/clients/client-identitystore/index.ts @@ -0,0 +1,10 @@ +export * from "./IdentitystoreClient"; +export * from "./Identitystore"; +export * from "./commands/DescribeGroupCommand"; +export * from "./commands/DescribeUserCommand"; +export * from "./commands/ListGroupsCommand"; +export * from "./pagination/ListGroupsPaginator"; +export * from "./commands/ListUsersCommand"; +export * from "./pagination/ListUsersPaginator"; +export * from "./pagination/Interfaces"; +export * from "./models/index"; diff --git a/clients/client-identitystore/models/index.ts b/clients/client-identitystore/models/index.ts new file mode 100644 index 000000000000..09c5d6e09b8c --- /dev/null +++ b/clients/client-identitystore/models/index.ts @@ -0,0 +1 @@ +export * from "./models_0"; diff --git a/clients/client-identitystore/models/models_0.ts b/clients/client-identitystore/models/models_0.ts new file mode 100644 index 000000000000..7d5e3da46cdd --- /dev/null +++ b/clients/client-identitystore/models/models_0.ts @@ -0,0 +1,347 @@ +import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; + +/** + *

                                                    You do not have sufficient access to perform this action.

                                                    + */ +export interface AccessDeniedException extends __SmithyException, $MetadataBearer { + name: "AccessDeniedException"; + $fault: "client"; + /** + *

                                                    The identifier for each request. This value is a globally unique ID that is generated by the Identity Store service for each sent request, and is then returned inside the exception if the request fails.

                                                    + */ + RequestId?: string; + + Message?: string; +} + +export namespace AccessDeniedException { + export const filterSensitiveLog = (obj: AccessDeniedException): any => ({ + ...obj, + }); +} + +export interface DescribeGroupRequest { + /** + *

                                                    The globally unique identifier for the identity store, such as d-1234567890. In this example, d- is a fixed prefix, and 1234567890 is a randomly generated string which contains number and lower case letters. This value is generated at the time that a new identity store is created.

                                                    + */ + IdentityStoreId: string | undefined; + + /** + *

                                                    The identifier for a group in the identity store.

                                                    + */ + GroupId: string | undefined; +} + +export namespace DescribeGroupRequest { + export const filterSensitiveLog = (obj: DescribeGroupRequest): any => ({ + ...obj, + }); +} + +export interface DescribeGroupResponse { + /** + *

                                                    Contains the group’s display name value. The length limit is 1024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space and non breaking space in this attribute. The characters “<>;:%” are excluded. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store.

                                                    + */ + DisplayName: string | undefined; + + /** + *

                                                    The identifier for a group in the identity store.

                                                    + */ + GroupId: string | undefined; +} + +export namespace DescribeGroupResponse { + export const filterSensitiveLog = (obj: DescribeGroupResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                    The request processing has failed because of an unknown error, exception or failure with an internal server.

                                                    + */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + Message?: string; + /** + *

                                                    The identifier for each request. This value is a globally unique ID that is generated by the Identity Store service for each sent request, and is then returned inside the exception if the request fails.

                                                    + */ + RequestId?: string; +} + +export namespace InternalServerException { + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +export enum ResourceType { + GROUP = "GROUP", + IDENTITY_STORE = "IDENTITY_STORE", + USER = "USER", +} + +/** + *

                                                    Indicates that a requested resource is not found.

                                                    + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + /** + *

                                                    The type of resource in the Identity Store service, which is an enum object. Valid values include USER, GROUP, and IDENTITY_STORE.

                                                    + */ + ResourceType?: ResourceType | string; + + /** + *

                                                    The identifier for each request. This value is a globally unique ID that is generated by the Identity Store service for each sent request, and is then returned inside the exception if the request fails.

                                                    + */ + RequestId?: string; + + Message?: string; + /** + *

                                                    The identifier for a resource in the identity store, which can be used as UserId or GroupId. The format for ResourceId is either UUID or 1234567890-UUID, where UUID is a randomly generated value for each resource when it is created and 1234567890 represents the IdentityStoreId string value. In the case that the identity store is migrated from a legacy SSO identity store, the ResourceId for that identity store will be in the format of UUID. Otherwise, it will be in the 1234567890-UUID format.

                                                    + */ + ResourceId?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +/** + *

                                                    Indicates that the principal has crossed the throttling limits of the API operations.

                                                    + */ +export interface ThrottlingException extends __SmithyException, $MetadataBearer { + name: "ThrottlingException"; + $fault: "client"; + Message?: string; + /** + *

                                                    The identifier for each request. This value is a globally unique ID that is generated by the Identity Store service for each sent request, and is then returned inside the exception if the request fails.

                                                    + */ + RequestId?: string; +} + +export namespace ThrottlingException { + export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + ...obj, + }); +} + +/** + *

                                                    The request failed because it contains a syntax error.

                                                    + */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + Message?: string; + /** + *

                                                    The identifier for each request. This value is a globally unique ID that is generated by the Identity Store service for each sent request, and is then returned inside the exception if the request fails.

                                                    + */ + RequestId?: string; +} + +export namespace ValidationException { + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +export interface DescribeUserRequest { + /** + *

                                                    The globally unique identifier for the identity store, such as d-1234567890. In this example, d- is a fixed prefix, and 1234567890 is a randomly generated string which contains number and lower case letters. This value is generated at the time that a new identity store is created.

                                                    + */ + IdentityStoreId: string | undefined; + + /** + *

                                                    The identifier for a user in the identity store.

                                                    + */ + UserId: string | undefined; +} + +export namespace DescribeUserRequest { + export const filterSensitiveLog = (obj: DescribeUserRequest): any => ({ + ...obj, + }); +} + +export interface DescribeUserResponse { + /** + *

                                                    Contains the user’s username value. The length limit is 128 characters. This value can consist of letters, accented characters, symbols, numbers and punctuation. The characters “<>;:%” are excluded. This value is specified at the time the user is created and stored as an attribute of the user object in the identity store.

                                                    + */ + UserName: string | undefined; + + /** + *

                                                    The identifier for a user in the identity store.

                                                    + */ + UserId: string | undefined; +} + +export namespace DescribeUserResponse { + export const filterSensitiveLog = (obj: DescribeUserResponse): any => ({ + ...obj, + ...(obj.UserName && { UserName: SENSITIVE_STRING }), + }); +} + +/** + *

                                                    A query filter used by ListUsers and ListGroup. This filter object provides the attribute name and attribute value to search users or groups.

                                                    + */ +export interface Filter { + /** + *

                                                    Represents the data for an attribute. Each attribute value is described as a name-value pair.

                                                    + */ + AttributeValue: string | undefined; + + /** + *

                                                    The attribute path used to specify which attribute name to search. Length limit is 255 characters. For example, UserName is a valid attribute path for the ListUsers API, and DisplayName is a valid attribute path for the ListGroups API.

                                                    + */ + AttributePath: string | undefined; +} + +export namespace Filter { + export const filterSensitiveLog = (obj: Filter): any => ({ + ...obj, + ...(obj.AttributeValue && { AttributeValue: SENSITIVE_STRING }), + }); +} + +export interface ListGroupsRequest { + /** + *

                                                    The globally unique identifier for the identity store, such as d-1234567890. In this example, d- is a fixed prefix, and 1234567890 is a randomly generated string which contains number and lower case letters. This value is generated at the time that a new identity store is created.

                                                    + */ + IdentityStoreId: string | undefined; + + /** + *

                                                    A list of Filter objects, which is used in the ListUsers and ListGroups request.

                                                    + */ + Filters?: Filter[]; + + /** + *

                                                    The pagination token used for the ListUsers and ListGroups APIs. This value is generated by the identity store service and is returned in the API response if the total results are more than the size of one page, and when this token is used in the API request to search for the next page.

                                                    + */ + NextToken?: string; + + /** + *

                                                    The maximum number of results to be returned per request, which is used in the ListUsers and ListGroups request to specify how many results to return in one page. The length limit is 50 characters.

                                                    + */ + MaxResults?: number; +} + +export namespace ListGroupsRequest { + export const filterSensitiveLog = (obj: ListGroupsRequest): any => ({ + ...obj, + ...(obj.Filters && { Filters: obj.Filters.map((item) => Filter.filterSensitiveLog(item)) }), + }); +} + +/** + *

                                                    A group object, which contains a specified group’s metadata and attributes.

                                                    + */ +export interface Group { + /** + *

                                                    The identifier for a group in the identity store.

                                                    + */ + GroupId: string | undefined; + + /** + *

                                                    Contains the group’s display name value. The length limit is 1024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space and non breaking space in this attribute. The characters “<>;:%” are excluded. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store.

                                                    + */ + DisplayName: string | undefined; +} + +export namespace Group { + export const filterSensitiveLog = (obj: Group): any => ({ + ...obj, + }); +} + +export interface ListGroupsResponse { + /** + *

                                                    The pagination token used for the ListUsers and ListGroups APIs. This value is generated by the identity store service and is returned in the API response if the total results are more than the size of one page, and when this token is used in the API request to search for the next page.

                                                    + */ + NextToken?: string; + + /** + *

                                                    A list of Group objects in the identity store.

                                                    + */ + Groups: Group[] | undefined; +} + +export namespace ListGroupsResponse { + export const filterSensitiveLog = (obj: ListGroupsResponse): any => ({ + ...obj, + }); +} + +export interface ListUsersRequest { + /** + *

                                                    The maximum number of results to be returned per request, which is used in the ListUsers and ListGroups request to specify how many results to return in one page. The length limit is 50 characters.

                                                    + */ + MaxResults?: number; + + /** + *

                                                    The globally unique identifier for the identity store, such as d-1234567890. In this example, d- is a fixed prefix, and 1234567890 is a randomly generated string which contains number and lower case letters. This value is generated at the time that a new identity store is created.

                                                    + */ + IdentityStoreId: string | undefined; + + /** + *

                                                    A list of Filter objects, which is used in the ListUsers and ListGroups request.

                                                    + */ + Filters?: Filter[]; + + /** + *

                                                    The pagination token used for the ListUsers and ListGroups APIs. This value is generated by the identity store service and is returned in the API response if the total results are more than the size of one page, and when this token is used in the API request to search for the next page.

                                                    + */ + NextToken?: string; +} + +export namespace ListUsersRequest { + export const filterSensitiveLog = (obj: ListUsersRequest): any => ({ + ...obj, + ...(obj.Filters && { Filters: obj.Filters.map((item) => Filter.filterSensitiveLog(item)) }), + }); +} + +/** + *

                                                    A user object, which contains a specified user’s metadata and attributes.

                                                    + */ +export interface User { + /** + *

                                                    Contains the user’s username value. The length limit is 128 characters. This value can consist of letters, accented characters, symbols, numbers and punctuation. The characters “<>;:%” are excluded. This value is specified at the time the user is created and stored as an attribute of the user object in the identity store.

                                                    + */ + UserName: string | undefined; + + /** + *

                                                    The identifier for a user in the identity store.

                                                    + */ + UserId: string | undefined; +} + +export namespace User { + export const filterSensitiveLog = (obj: User): any => ({ + ...obj, + ...(obj.UserName && { UserName: SENSITIVE_STRING }), + }); +} + +export interface ListUsersResponse { + /** + *

                                                    The pagination token used for the ListUsers and ListGroups APIs. This value is generated by the identity store service and is returned in the API response if the total results are more than the size of one page, and when this token is used in the API request to search for the next page.

                                                    + */ + NextToken?: string; + + /** + *

                                                    A list of User objects in the identity store.

                                                    + */ + Users: User[] | undefined; +} + +export namespace ListUsersResponse { + export const filterSensitiveLog = (obj: ListUsersResponse): any => ({ + ...obj, + ...(obj.Users && { Users: obj.Users.map((item) => User.filterSensitiveLog(item)) }), + }); +} diff --git a/clients/client-identitystore/package.json b/clients/client-identitystore/package.json new file mode 100644 index 000000000000..cb8446fb66f2 --- /dev/null +++ b/clients/client-identitystore/package.json @@ -0,0 +1,77 @@ +{ + "name": "@aws-sdk/client-identitystore", + "description": "@aws-sdk/client-identitystore client", + "version": "1.0.0-rc.1", + "scripts": { + "clean": "npm run remove-definitions && npm run remove-dist", + "build-documentation": "npm run clean && typedoc ./", + "prepublishOnly": "yarn build", + "pretest": "yarn build:cjs", + "remove-definitions": "rimraf ./types", + "remove-dist": "rimraf ./dist", + "remove-documentation": "rimraf ./docs", + "test": "yarn build && jest --coverage --passWithNoTests", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig.es.json", + "build": "yarn build:cjs && yarn build:es" + }, + "main": "./dist/cjs/index.js", + "types": "./types/index.d.ts", + "module": "./dist/es/index.js", + "browser": { + "./runtimeConfig": "./runtimeConfig.browser" + }, + "react-native": { + "./runtimeConfig": "./runtimeConfig.native" + }, + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0-alpha.0", + "@aws-crypto/sha256-js": "^1.0.0-alpha.0", + "@aws-sdk/config-resolver": "1.0.0-rc.1", + "@aws-sdk/credential-provider-node": "1.0.0-rc.1", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.1", + "@aws-sdk/hash-node": "1.0.0-rc.1", + "@aws-sdk/invalid-dependency": "1.0.0-rc.1", + "@aws-sdk/middleware-content-length": "1.0.0-rc.1", + "@aws-sdk/middleware-host-header": "1.0.0-rc.1", + "@aws-sdk/middleware-logger": "1.0.0-rc.1", + "@aws-sdk/middleware-retry": "1.0.0-rc.1", + "@aws-sdk/middleware-serde": "1.0.0-rc.1", + "@aws-sdk/middleware-signing": "1.0.0-rc.1", + "@aws-sdk/middleware-stack": "1.0.0-rc.1", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.1", + "@aws-sdk/node-config-provider": "1.0.0-rc.1", + "@aws-sdk/node-http-handler": "1.0.0-rc.1", + "@aws-sdk/protocol-http": "1.0.0-rc.1", + "@aws-sdk/smithy-client": "1.0.0-rc.1", + "@aws-sdk/types": "1.0.0-rc.1", + "@aws-sdk/url-parser-browser": "1.0.0-rc.1", + "@aws-sdk/url-parser-node": "1.0.0-rc.1", + "@aws-sdk/util-base64-browser": "1.0.0-rc.1", + "@aws-sdk/util-base64-node": "1.0.0-rc.1", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.1", + "@aws-sdk/util-body-length-node": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.1", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.1", + "@aws-sdk/util-utf8-node": "1.0.0-rc.1", + "tslib": "^2.0.0" + }, + "devDependencies": { + "@aws-sdk/client-documentation-generator": "1.0.0-rc.1", + "@types/node": "^12.7.5", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "typedoc": "^0.17.8", + "typescript": "~4.0.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0" +} diff --git a/clients/client-identitystore/pagination/Interfaces.ts b/clients/client-identitystore/pagination/Interfaces.ts new file mode 100644 index 000000000000..d84efeebd825 --- /dev/null +++ b/clients/client-identitystore/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { Identitystore } from "../Identitystore"; +import { IdentitystoreClient } from "../IdentitystoreClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface IdentitystorePaginationConfiguration extends PaginationConfiguration { + client: Identitystore | IdentitystoreClient; +} diff --git a/clients/client-identitystore/pagination/ListGroupsPaginator.ts b/clients/client-identitystore/pagination/ListGroupsPaginator.ts new file mode 100644 index 000000000000..764ffea3e45c --- /dev/null +++ b/clients/client-identitystore/pagination/ListGroupsPaginator.ts @@ -0,0 +1,47 @@ +import { Identitystore } from "../Identitystore"; +import { IdentitystoreClient } from "../IdentitystoreClient"; +import { ListGroupsCommand, ListGroupsCommandInput, ListGroupsCommandOutput } from "../commands/ListGroupsCommand"; +import { IdentitystorePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IdentitystoreClient, + input: ListGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Identitystore, + input: ListGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listGroups(input, ...args); +}; +export async function* listGroupsPaginate( + config: IdentitystorePaginationConfiguration, + input: ListGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListGroupsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Identitystore) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IdentitystoreClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Identitystore | IdentitystoreClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-identitystore/pagination/ListUsersPaginator.ts b/clients/client-identitystore/pagination/ListUsersPaginator.ts new file mode 100644 index 000000000000..c3bc57699e46 --- /dev/null +++ b/clients/client-identitystore/pagination/ListUsersPaginator.ts @@ -0,0 +1,47 @@ +import { Identitystore } from "../Identitystore"; +import { IdentitystoreClient } from "../IdentitystoreClient"; +import { ListUsersCommand, ListUsersCommandInput, ListUsersCommandOutput } from "../commands/ListUsersCommand"; +import { IdentitystorePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IdentitystoreClient, + input: ListUsersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListUsersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Identitystore, + input: ListUsersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listUsers(input, ...args); +}; +export async function* listUsersPaginate( + config: IdentitystorePaginationConfiguration, + input: ListUsersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListUsersCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Identitystore) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IdentitystoreClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Identitystore | IdentitystoreClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-identitystore/protocols/Aws_json1_1.ts b/clients/client-identitystore/protocols/Aws_json1_1.ts new file mode 100644 index 000000000000..3582f79bcf3e --- /dev/null +++ b/clients/client-identitystore/protocols/Aws_json1_1.ts @@ -0,0 +1,699 @@ +import { DescribeGroupCommandInput, DescribeGroupCommandOutput } from "../commands/DescribeGroupCommand"; +import { DescribeUserCommandInput, DescribeUserCommandOutput } from "../commands/DescribeUserCommand"; +import { ListGroupsCommandInput, ListGroupsCommandOutput } from "../commands/ListGroupsCommand"; +import { ListUsersCommandInput, ListUsersCommandOutput } from "../commands/ListUsersCommand"; +import { + AccessDeniedException, + DescribeGroupRequest, + DescribeGroupResponse, + DescribeUserRequest, + DescribeUserResponse, + Filter, + Group, + InternalServerException, + ListGroupsRequest, + ListGroupsResponse, + ListUsersRequest, + ListUsersResponse, + ResourceNotFoundException, + ThrottlingException, + User, + ValidationException, +} from "../models/models_0"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { + Endpoint as __Endpoint, + HeaderBag as __HeaderBag, + MetadataBearer as __MetadataBearer, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export const serializeAws_json1_1DescribeGroupCommand = async ( + input: DescribeGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSIdentityStore.DescribeGroup", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeGroupRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeUserCommand = async ( + input: DescribeUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSIdentityStore.DescribeUser", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeUserRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListGroupsCommand = async ( + input: ListGroupsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSIdentityStore.ListGroups", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListGroupsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListUsersCommand = async ( + input: ListUsersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSIdentityStore.ListUsers", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListUsersRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const deserializeAws_json1_1DescribeGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeGroupResponse(data, context); + const response: DescribeGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeGroupCommandError = 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.identitystore#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.identitystore#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.identitystore#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.identitystore#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.identitystore#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1DescribeUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeUserCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeUserResponse(data, context); + const response: DescribeUserCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeUserCommandError = 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.identitystore#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.identitystore#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.identitystore#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.identitystore#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.identitystore#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListGroupsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListGroupsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListGroupsResponse(data, context); + const response: ListGroupsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListGroupsCommandError = 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.identitystore#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.identitystore#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.identitystore#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.identitystore#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.identitystore#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListUsersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListUsersCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListUsersResponse(data, context); + const response: ListUsersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListUsersCommandError = 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.identitystore#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.identitystore#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.identitystore#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.identitystore#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.identitystore#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_json1_1AccessDeniedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1AccessDeniedException(body, context); + const contents: AccessDeniedException = { + name: "AccessDeniedException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InternalServerExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InternalServerException(body, context); + const contents: InternalServerException = { + name: "InternalServerException", + $fault: "server", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ResourceNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ResourceNotFoundException(body, context); + const contents: ResourceNotFoundException = { + name: "ResourceNotFoundException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ThrottlingExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ThrottlingException(body, context); + const contents: ThrottlingException = { + name: "ThrottlingException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ValidationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ValidationException(body, context); + const contents: ValidationException = { + name: "ValidationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const serializeAws_json1_1DescribeGroupRequest = (input: DescribeGroupRequest, context: __SerdeContext): any => { + return { + ...(input.GroupId !== undefined && { GroupId: input.GroupId }), + ...(input.IdentityStoreId !== undefined && { IdentityStoreId: input.IdentityStoreId }), + }; +}; + +const serializeAws_json1_1DescribeUserRequest = (input: DescribeUserRequest, context: __SerdeContext): any => { + return { + ...(input.IdentityStoreId !== undefined && { IdentityStoreId: input.IdentityStoreId }), + ...(input.UserId !== undefined && { UserId: input.UserId }), + }; +}; + +const serializeAws_json1_1Filter = (input: Filter, context: __SerdeContext): any => { + return { + ...(input.AttributePath !== undefined && { AttributePath: input.AttributePath }), + ...(input.AttributeValue !== undefined && { AttributeValue: input.AttributeValue }), + }; +}; + +const serializeAws_json1_1Filters = (input: Filter[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1Filter(entry, context)); +}; + +const serializeAws_json1_1ListGroupsRequest = (input: ListGroupsRequest, context: __SerdeContext): any => { + return { + ...(input.Filters !== undefined && { Filters: serializeAws_json1_1Filters(input.Filters, context) }), + ...(input.IdentityStoreId !== undefined && { IdentityStoreId: input.IdentityStoreId }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1ListUsersRequest = (input: ListUsersRequest, context: __SerdeContext): any => { + return { + ...(input.Filters !== undefined && { Filters: serializeAws_json1_1Filters(input.Filters, context) }), + ...(input.IdentityStoreId !== undefined && { IdentityStoreId: input.IdentityStoreId }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const deserializeAws_json1_1AccessDeniedException = (output: any, context: __SerdeContext): AccessDeniedException => { + 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_1DescribeGroupResponse = (output: any, context: __SerdeContext): DescribeGroupResponse => { + return { + DisplayName: output.DisplayName !== undefined && output.DisplayName !== null ? output.DisplayName : undefined, + GroupId: output.GroupId !== undefined && output.GroupId !== null ? output.GroupId : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeUserResponse = (output: any, context: __SerdeContext): DescribeUserResponse => { + return { + UserId: output.UserId !== undefined && output.UserId !== null ? output.UserId : undefined, + UserName: output.UserName !== undefined && output.UserName !== null ? output.UserName : undefined, + } as any; +}; + +const deserializeAws_json1_1Group = (output: any, context: __SerdeContext): Group => { + return { + DisplayName: output.DisplayName !== undefined && output.DisplayName !== null ? output.DisplayName : undefined, + GroupId: output.GroupId !== undefined && output.GroupId !== null ? output.GroupId : undefined, + } as any; +}; + +const deserializeAws_json1_1Groups = (output: any, context: __SerdeContext): Group[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1Group(entry, context)); +}; + +const deserializeAws_json1_1InternalServerException = ( + output: any, + context: __SerdeContext +): InternalServerException => { + 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_1ListGroupsResponse = (output: any, context: __SerdeContext): ListGroupsResponse => { + return { + Groups: + output.Groups !== undefined && output.Groups !== null + ? deserializeAws_json1_1Groups(output.Groups, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_1ListUsersResponse = (output: any, context: __SerdeContext): ListUsersResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + Users: + output.Users !== undefined && output.Users !== null + ? deserializeAws_json1_1Users(output.Users, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ResourceNotFoundException = ( + output: any, + context: __SerdeContext +): ResourceNotFoundException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + RequestId: output.RequestId !== undefined && output.RequestId !== null ? output.RequestId : undefined, + ResourceId: output.ResourceId !== undefined && output.ResourceId !== null ? output.ResourceId : undefined, + ResourceType: output.ResourceType !== undefined && output.ResourceType !== null ? output.ResourceType : undefined, + } as any; +}; + +const deserializeAws_json1_1ThrottlingException = (output: any, context: __SerdeContext): ThrottlingException => { + 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_1User = (output: any, context: __SerdeContext): User => { + return { + UserId: output.UserId !== undefined && output.UserId !== null ? output.UserId : undefined, + UserName: output.UserName !== undefined && output.UserName !== null ? output.UserName : undefined, + } as any; +}; + +const deserializeAws_json1_1Users = (output: any, context: __SerdeContext): User[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1User(entry, context)); +}; + +const deserializeAws_json1_1ValidationException = (output: any, context: __SerdeContext): ValidationException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + RequestId: output.RequestId !== undefined && output.RequestId !== null ? output.RequestId : undefined, + } as any; +}; + +const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ + httpStatusCode: output.statusCode, + httpHeaders: output.headers, + requestId: output.headers["x-amzn-requestid"], +}); + +// Collect low-level response body stream to Uint8Array. +const collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => { + if (streamBody instanceof Uint8Array) { + return Promise.resolve(streamBody); + } + return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); +}; + +// Encode Uint8Array data into string with utf-8. +const collectBodyString = (streamBody: any, context: __SerdeContext): Promise => + collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); + +const buildHttpRpcRequest = async ( + context: __SerdeContext, + headers: __HeaderBag, + path: string, + resolvedHostname: string | undefined, + body: any +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port } = await context.endpoint(); + const contents: any = { + protocol, + hostname, + port, + method: "POST", + path, + headers, + }; + if (resolvedHostname !== undefined) { + contents.hostname = resolvedHostname; + } + if (body !== undefined) { + contents.body = body; + } + return new __HttpRequest(contents); +}; + +const parseBody = (streamBody: any, context: __SerdeContext): any => + collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); diff --git a/clients/client-identitystore/runtimeConfig.browser.ts b/clients/client-identitystore/runtimeConfig.browser.ts new file mode 100644 index 000000000000..6c1535b3f1c5 --- /dev/null +++ b/clients/client-identitystore/runtimeConfig.browser.ts @@ -0,0 +1,31 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-browser"; +import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler"; +import { invalidFunction } from "@aws-sdk/invalid-dependency"; +import { DEFAULT_MAX_ATTEMPTS } from "@aws-sdk/middleware-retry"; +import { parseUrl } from "@aws-sdk/url-parser-browser"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-browser"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser"; +import { ClientDefaults } from "./IdentitystoreClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "browser", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider: invalidFunction("Credential is missing") as any, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: DEFAULT_MAX_ATTEMPTS, + region: invalidFunction("Region is missing") as any, + requestHandler: new FetchHttpHandler(), + sha256: Sha256, + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-identitystore/runtimeConfig.native.ts b/clients/client-identitystore/runtimeConfig.native.ts new file mode 100644 index 000000000000..a311e59d97fb --- /dev/null +++ b/clients/client-identitystore/runtimeConfig.native.ts @@ -0,0 +1,14 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-js"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { ClientDefaults } from "./IdentitystoreClient"; +import { ClientDefaultValues as BrowserDefaults } from "./runtimeConfig.browser"; + +export const ClientDefaultValues: Required = { + ...BrowserDefaults, + runtime: "react-native", + defaultUserAgent: `aws-sdk-js-v3-react-native-${packageInfo.name}/${packageInfo.version}`, + sha256: Sha256, + urlParser: parseUrl, +}; diff --git a/clients/client-identitystore/runtimeConfig.shared.ts b/clients/client-identitystore/runtimeConfig.shared.ts new file mode 100644 index 000000000000..2546ff004773 --- /dev/null +++ b/clients/client-identitystore/runtimeConfig.shared.ts @@ -0,0 +1,10 @@ +import { defaultRegionInfoProvider } from "./endpoints"; +import { Logger as __Logger } from "@aws-sdk/types"; + +export const ClientSharedValues = { + apiVersion: "2020-06-15", + disableHostPrefix: false, + logger: {} as __Logger, + regionInfoProvider: defaultRegionInfoProvider, + signingName: "identitystore", +}; diff --git a/clients/client-identitystore/runtimeConfig.ts b/clients/client-identitystore/runtimeConfig.ts new file mode 100644 index 000000000000..84117368195e --- /dev/null +++ b/clients/client-identitystore/runtimeConfig.ts @@ -0,0 +1,33 @@ +import packageInfo from "./package.json"; + +import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@aws-sdk/config-resolver"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; +import { Hash } from "@aws-sdk/hash-node"; +import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry"; +import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider"; +import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-node"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node"; +import { ClientDefaults } from "./IdentitystoreClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "node", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: new NodeHttpHandler(), + sha256: Hash.bind(null, "sha256"), + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-identitystore/tsconfig.es.json b/clients/client-identitystore/tsconfig.es.json new file mode 100644 index 000000000000..30df5d2e6986 --- /dev/null +++ b/clients/client-identitystore/tsconfig.es.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "target": "es5", + "module": "esnext", + "moduleResolution": "node", + "declaration": false, + "declarationDir": null, + "lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], + "outDir": "dist/es" + } +} diff --git a/clients/client-identitystore/tsconfig.json b/clients/client-identitystore/tsconfig.json new file mode 100644 index 000000000000..3b440583a9a2 --- /dev/null +++ b/clients/client-identitystore/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "alwaysStrict": true, + "target": "ES2018", + "module": "commonjs", + "declaration": true, + "strict": true, + "sourceMap": true, + "downlevelIteration": true, + "importHelpers": true, + "noEmitHelpers": true, + "incremental": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "declarationDir": "./types", + "outDir": "dist/cjs" + }, + "typedocOptions": { + "exclude": "**/node_modules/**", + "excludedNotExported": true, + "excludePrivate": true, + "hideGenerator": true, + "ignoreCompilerErrors": true, + "mode": "file", + "out": "./docs", + "plugin": "@aws-sdk/client-documentation-generator" + } +} diff --git a/clients/client-imagebuilder/Imagebuilder.ts b/clients/client-imagebuilder/Imagebuilder.ts index 5a87718823ba..fbac0c63877f 100644 --- a/clients/client-imagebuilder/Imagebuilder.ts +++ b/clients/client-imagebuilder/Imagebuilder.ts @@ -192,11 +192,15 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

                                                    EC2 Image Builder is a fully managed AWS service that makes it easier to automate the creation, management, and deployment of customized, secure, and up-to-date “golden” server images that are pre-installed and pre-configured with software and settings to meet specific IT standards.

                                                    + *

                                                    EC2 Image Builder is a fully managed AWS service that makes it easier to automate the + * creation, management, and deployment of customized, secure, and up-to-date “golden” server + * images that are pre-installed and pre-configured with software and settings to meet specific + * IT standards.

                                                    */ export class Imagebuilder extends ImagebuilderClient { /** - *

                                                    CancelImageCreation cancels the creation of Image. This operation can only be used on images in a non-terminal state.

                                                    + *

                                                    CancelImageCreation cancels the creation of Image. This operation can only be used on + * images in a non-terminal state.

                                                    */ public cancelImageCreation( args: CancelImageCreationCommandInput, @@ -228,7 +232,8 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Creates a new component that can be used to build, validate, test, and assess your image.

                                                    + *

                                                    Creates a new component that can be used to build, validate, test, and assess your + * image.

                                                    */ public createComponent( args: CreateComponentCommandInput, @@ -260,7 +265,8 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Creates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.

                                                    + *

                                                    Creates a new distribution configuration. Distribution configurations define and configure + * the outputs of your pipeline.

                                                    */ public createDistributionConfiguration( args: CreateDistributionConfigurationCommandInput, @@ -292,7 +298,8 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Creates a new image. This request will create a new image along with all of the configured output resources defined in the distribution configuration.

                                                    + *

                                                    Creates a new image. This request will create a new image along with all of the + * configured output resources defined in the distribution configuration.

                                                    */ public createImage(args: CreateImageCommandInput, options?: __HttpHandlerOptions): Promise; public createImage(args: CreateImageCommandInput, cb: (err: any, data?: CreateImageCommandOutput) => void): void; @@ -318,7 +325,8 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Creates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.

                                                    + *

                                                    Creates a new image pipeline. Image pipelines enable you to automate the creation and + * distribution of images.

                                                    */ public createImagePipeline( args: CreateImagePipelineCommandInput, @@ -350,7 +358,8 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Creates a new image recipe. Image recipes define how images are configured, tested, and assessed.

                                                    + *

                                                    Creates a new image recipe. Image recipes define how images are configured, tested, and + * assessed.

                                                    */ public createImageRecipe( args: CreateImageRecipeCommandInput, @@ -382,7 +391,8 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Creates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.

                                                    + *

                                                    Creates a new infrastructure configuration. An infrastructure configuration defines the + * environment in which your image will be built and tested.

                                                    */ public createInfrastructureConfiguration( args: CreateInfrastructureConfigurationCommandInput, @@ -1225,7 +1235,9 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutComponentPolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.

                                                    + *

                                                    Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API + * PutComponentPolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to + * all principals with whom the resource is shared.

                                                    */ public putComponentPolicy( args: PutComponentPolicyCommandInput, @@ -1257,7 +1269,9 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Applies a policy to an image. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutImagePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.

                                                    + *

                                                    Applies a policy to an image. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API + * PutImagePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to + * all principals with whom the resource is shared.

                                                    */ public putImagePolicy( args: PutImagePolicyCommandInput, @@ -1289,7 +1303,9 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Applies a policy to an image recipe. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutImageRecipePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.

                                                    + *

                                                    Applies a policy to an image recipe. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API + * PutImageRecipePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to + * all principals with whom the resource is shared.

                                                    */ public putImageRecipePolicy( args: PutImageRecipePolicyCommandInput, @@ -1411,7 +1427,8 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Updates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.

                                                    + *

                                                    Updates a new distribution configuration. Distribution configurations define and + * configure the outputs of your pipeline.

                                                    */ public updateDistributionConfiguration( args: UpdateDistributionConfigurationCommandInput, @@ -1443,7 +1460,8 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Updates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.

                                                    + *

                                                    Updates a new image pipeline. Image pipelines enable you to automate the creation and + * distribution of images.

                                                    */ public updateImagePipeline( args: UpdateImagePipelineCommandInput, @@ -1475,7 +1493,8 @@ export class Imagebuilder extends ImagebuilderClient { } /** - *

                                                    Updates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.

                                                    + *

                                                    Updates a new infrastructure configuration. An infrastructure configuration defines the + * environment in which your image will be built and tested.

                                                    */ public updateInfrastructureConfiguration( args: UpdateInfrastructureConfigurationCommandInput, diff --git a/clients/client-imagebuilder/ImagebuilderClient.ts b/clients/client-imagebuilder/ImagebuilderClient.ts index 4235845a9fc5..b55f618e4f23 100644 --- a/clients/client-imagebuilder/ImagebuilderClient.ts +++ b/clients/client-imagebuilder/ImagebuilderClient.ts @@ -353,7 +353,10 @@ export type ImagebuilderClientResolvedConfig = __SmithyResolvedConfiguration<__H HostHeaderResolvedConfig; /** - *

                                                    EC2 Image Builder is a fully managed AWS service that makes it easier to automate the creation, management, and deployment of customized, secure, and up-to-date “golden” server images that are pre-installed and pre-configured with software and settings to meet specific IT standards.

                                                    + *

                                                    EC2 Image Builder is a fully managed AWS service that makes it easier to automate the + * creation, management, and deployment of customized, secure, and up-to-date “golden” server + * images that are pre-installed and pre-configured with software and settings to meet specific + * IT standards.

                                                    */ export class ImagebuilderClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-imagebuilder/index.ts b/clients/client-imagebuilder/index.ts index 72edc3923871..4cc171fd302d 100644 --- a/clients/client-imagebuilder/index.ts +++ b/clients/client-imagebuilder/index.ts @@ -24,14 +24,23 @@ export * from "./commands/GetImageRecipePolicyCommand"; export * from "./commands/GetInfrastructureConfigurationCommand"; export * from "./commands/ImportComponentCommand"; export * from "./commands/ListComponentBuildVersionsCommand"; +export * from "./pagination/ListComponentBuildVersionsPaginator"; export * from "./commands/ListComponentsCommand"; +export * from "./pagination/ListComponentsPaginator"; export * from "./commands/ListDistributionConfigurationsCommand"; +export * from "./pagination/ListDistributionConfigurationsPaginator"; export * from "./commands/ListImageBuildVersionsCommand"; +export * from "./pagination/ListImageBuildVersionsPaginator"; export * from "./commands/ListImagePipelineImagesCommand"; +export * from "./pagination/ListImagePipelineImagesPaginator"; export * from "./commands/ListImagePipelinesCommand"; +export * from "./pagination/ListImagePipelinesPaginator"; export * from "./commands/ListImageRecipesCommand"; +export * from "./pagination/ListImageRecipesPaginator"; export * from "./commands/ListImagesCommand"; +export * from "./pagination/ListImagesPaginator"; export * from "./commands/ListInfrastructureConfigurationsCommand"; +export * from "./pagination/ListInfrastructureConfigurationsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/PutComponentPolicyCommand"; export * from "./commands/PutImagePolicyCommand"; @@ -42,4 +51,5 @@ export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateDistributionConfigurationCommand"; export * from "./commands/UpdateImagePipelineCommand"; export * from "./commands/UpdateInfrastructureConfigurationCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-imagebuilder/models/models_0.ts b/clients/client-imagebuilder/models/models_0.ts index 791e5c16b187..0fb37436dcd3 100644 --- a/clients/client-imagebuilder/models/models_0.ts +++ b/clients/client-imagebuilder/models/models_0.ts @@ -41,19 +41,19 @@ export namespace ImageState { */ export interface Ami { /** - *

                                                    The description of the EC2 AMI.

                                                    + *

                                                    Image state shows the image status and the reason for that status.

                                                    */ - description?: string; + state?: ImageState; /** - *

                                                    The AMI ID of the EC2 AMI.

                                                    + *

                                                    The description of the EC2 AMI.

                                                    */ - image?: string; + description?: string; /** - *

                                                    Image state shows the image status and the reason for that status.

                                                    + *

                                                    The AWS Region of the EC2 AMI.

                                                    */ - state?: ImageState; + region?: string; /** *

                                                    The name of the EC2 AMI.

                                                    @@ -61,9 +61,16 @@ export interface Ami { name?: string; /** - *

                                                    The AWS Region of the EC2 AMI.

                                                    + *

                                                    The AMI ID of the EC2 AMI.

                                                    */ - region?: string; + image?: string; + + /** + *

                                                    + * The account ID of the owner of the AMI. + *

                                                    + */ + accountId?: string; } export namespace Ami { @@ -73,7 +80,9 @@ export namespace Ami { } /** - *

                                                    Describes the configuration for a launch permission. The launch permission modification request is sent to the EC2 ModifyImageAttribute API on behalf of the user for each Region they have selected to distribute the AMI. To make an AMI public, set the launch permission authorized accounts to all. See the examples for making an AMI public at EC2 ModifyImageAttribute.

                                                    + *

                                                    Describes the configuration for a launch permission. The launch permission modification + * request is sent to the EC2 ModifyImageAttribute API on behalf of the user for each Region they have + * selected to distribute the AMI. To make an AMI public, set the launch permission authorized accounts to all. See the examples for making an AMI public at EC2 ModifyImageAttribute.

                                                    */ export interface LaunchPermissionConfiguration { /** @@ -98,14 +107,24 @@ export namespace LaunchPermissionConfiguration { */ export interface AmiDistributionConfiguration { /** - *

                                                    The tags to apply to AMIs distributed to this Region.

                                                    + *

                                                    + * The ID of an account to which you want to distribute an image. + *

                                                    */ - amiTags?: { [key: string]: string }; + targetAccountIds?: string[]; /** - *

                                                    The description of the distribution configuration.

                                                    + *

                                                    Launch permissions can be used to configure which AWS accounts can use the AMI to launch + * instances.

                                                    */ - description?: string; + launchPermission?: LaunchPermissionConfiguration; + + /** + *

                                                    + * The KMS key identifier used to encrypt the distributed image. + *

                                                    + */ + kmsKeyId?: string; /** *

                                                    The name of the distribution configuration.

                                                    @@ -113,14 +132,14 @@ export interface AmiDistributionConfiguration { name?: string; /** - *

                                                    Launch permissions can be used to configure which AWS accounts can use the AMI to launch instances.

                                                    + *

                                                    The tags to apply to AMIs distributed to this Region.

                                                    */ - launchPermission?: LaunchPermissionConfiguration; + amiTags?: { [key: string]: string }; /** - *

                                                    The KMS key identifier used to encrypt the distributed image.

                                                    + *

                                                    The description of the distribution configuration.

                                                    */ - kmsKeyId?: string; + description?: string; } export namespace AmiDistributionConfiguration { @@ -164,9 +183,9 @@ export namespace CancelImageCreationRequest { export interface CancelImageCreationResponse { /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image whose creation has been cancelled.

                                                    */ - requestId?: string; + imageBuildVersionArn?: string; /** *

                                                    The idempotency token used to make this request idempotent.

                                                    @@ -174,9 +193,9 @@ export interface CancelImageCreationResponse { clientToken?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the image whose creation has been cancelled.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - imageBuildVersionArn?: string; + requestId?: string; } export namespace CancelImageCreationResponse { @@ -186,7 +205,9 @@ export namespace CancelImageCreationResponse { } /** - *

                                                    These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an invalid resource identifier.

                                                    + *

                                                    These errors are usually caused by a client action, such as using an action or resource on + * behalf of a user that doesn't have permissions to use the action or resource, or specifying an + * invalid resource identifier.

                                                    */ export interface ClientException extends __SmithyException, $MetadataBearer { name: "ClientException"; @@ -216,7 +237,8 @@ export namespace ForbiddenException { } /** - *

                                                    You have specified a client token for an operation using parameter values that differ from a previous request that used the same client token.

                                                    + *

                                                    You have specified a client token for an operation using parameter values that differ from + * a previous request that used the same client token.

                                                    */ export interface IdempotentParameterMismatchException extends __SmithyException, $MetadataBearer { name: "IdempotentParameterMismatchException"; @@ -246,7 +268,8 @@ export namespace InvalidRequestException { } /** - *

                                                    The resource that you are trying to operate on is currently in use. Review the message details and retry later.

                                                    + *

                                                    The resource that you are trying to operate on is currently in use. Review the message + * details and retry later.

                                                    */ export interface ResourceInUseException extends __SmithyException, $MetadataBearer { name: "ResourceInUseException"; @@ -291,8 +314,8 @@ export namespace ServiceUnavailableException { } export enum Platform { - Linux = "Linux", - Windows = "Windows", + LINUX = "Linux", + WINDOWS = "Windows", } export enum ComponentType { @@ -305,74 +328,77 @@ export enum ComponentType { */ export interface Component { /** - *

                                                    The owner of the component.

                                                    + *

                                                    The operating system (OS) version supported by the component. If the OS information is + * available, a prefix match is performed against the parent image OS version during image recipe + * creation.

                                                    */ - owner?: string; + supportedOsVersions?: string[]; /** - *

                                                    The change description of the component.

                                                    + *

                                                    The KMS key identifier used to encrypt the component.

                                                    */ - changeDescription?: string; + kmsKeyId?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the component.

                                                    + *

                                                    The name of the component.

                                                    */ - arn?: string; + name?: string; /** - *

                                                    The tags associated with the component.

                                                    + *

                                                    The date that the component was created.

                                                    */ - tags?: { [key: string]: string }; + dateCreated?: string; /** - *

                                                    The type of the component denotes whether the component is used to build the image or only to test it.

                                                    + *

                                                    The change description of the component.

                                                    */ - type?: ComponentType | string; + changeDescription?: string; /** - *

                                                    The platform of the component.

                                                    + *

                                                    The owner of the component.

                                                    */ - platform?: Platform | string; + owner?: string; /** - *

                                                    The version of the component.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the component.

                                                    */ - version?: string; + arn?: string; /** - *

                                                    The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the parent image OS version during image recipe creation.

                                                    + *

                                                    The data of the component.

                                                    */ - supportedOsVersions?: string[]; + data?: string; /** - *

                                                    The date that the component was created.

                                                    + *

                                                    The platform of the component.

                                                    */ - dateCreated?: string; + platform?: Platform | string; /** - *

                                                    The description of the component.

                                                    + *

                                                    The encryption status of the component.

                                                    */ - description?: string; + encrypted?: boolean; /** - *

                                                    The KMS key identifier used to encrypt the component.

                                                    + *

                                                    The type of the component denotes whether the component is used to build the image or only + * to test it.

                                                    */ - kmsKeyId?: string; + type?: ComponentType | string; /** - *

                                                    The name of the component.

                                                    + *

                                                    The version of the component.

                                                    */ - name?: string; + version?: string; /** - *

                                                    The encryption status of the component.

                                                    + *

                                                    The tags associated with the component.

                                                    */ - encrypted?: boolean; + tags?: { [key: string]: string }; /** - *

                                                    The data of the component.

                                                    + *

                                                    The description of the component.

                                                    */ - data?: string; + description?: string; } export namespace Component { @@ -405,30 +431,37 @@ export enum ComponentFormat { *

                                                    A high-level summary of a component.

                                                    */ export interface ComponentSummary { + /** + *

                                                    The platform of the component.

                                                    + */ + platform?: Platform | string; + /** *

                                                    The name of the component.

                                                    */ name?: string; /** - *

                                                    The description of the component.

                                                    + *

                                                    The version of the component.

                                                    */ - description?: string; + version?: string; /** - *

                                                    The type of the component denotes whether the component is used to build the image or only to test it.

                                                    + *

                                                    The operating system (OS) version supported by the component. If the OS information is + * available, a prefix match is performed against the parent image OS version during image recipe + * creation.

                                                    */ - type?: ComponentType | string; + supportedOsVersions?: string[]; /** - *

                                                    The tags associated with the component.

                                                    + *

                                                    The owner of the component.

                                                    */ - tags?: { [key: string]: string }; + owner?: string; /** - *

                                                    The version of the component.

                                                    + *

                                                    The date that the component was created.

                                                    */ - version?: string; + dateCreated?: string; /** *

                                                    The Amazon Resource Name (ARN) of the component.

                                                    @@ -436,29 +469,25 @@ export interface ComponentSummary { arn?: string; /** - *

                                                    The platform of the component.

                                                    - */ - platform?: Platform | string; - - /** - *

                                                    The owner of the component.

                                                    + *

                                                    The change description of the component.

                                                    */ - owner?: string; + changeDescription?: string; /** - *

                                                    The change description of the component.

                                                    + *

                                                    The tags associated with the component.

                                                    */ - changeDescription?: string; + tags?: { [key: string]: string }; /** - *

                                                    The date that the component was created.

                                                    + *

                                                    The type of the component denotes whether the component is used to build the image or only + * to test it.

                                                    */ - dateCreated?: string; + type?: ComponentType | string; /** - *

                                                    The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the parent image OS version during image recipe creation.

                                                    + *

                                                    The description of the component.

                                                    */ - supportedOsVersions?: string[]; + description?: string; } export namespace ComponentSummary { @@ -472,49 +501,54 @@ export namespace ComponentSummary { */ export interface ComponentVersion { /** - *

                                                    The Amazon Resource Name (ARN) of the component.

                                                    + *

                                                    The name of the component.

                                                    */ - arn?: string; + name?: string; /** - *

                                                    The owner of the component.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the component.

                                                    */ - owner?: string; + arn?: string; /** - *

                                                    The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the parent image OS version during image recipe creation.

                                                    + *

                                                    The platform of the component.

                                                    */ - supportedOsVersions?: string[]; + platform?: Platform | string; /** - *

                                                    The semantic version of the component.

                                                    + *

                                                    The type of the component denotes whether the component is used to build the image or only + * to test it.

                                                    */ - version?: string; + type?: ComponentType | string; /** - *

                                                    The date that the component was created.

                                                    + *

                                                    The description of the component.

                                                    */ - dateCreated?: string; + description?: string; /** - *

                                                    The description of the component.

                                                    + *

                                                    + * The operating system (OS) version supported by the component. If the OS information is + * available, a prefix match is performed against the parent image OS version during image recipe + * creation. + *

                                                    */ - description?: string; + supportedOsVersions?: string[]; /** - *

                                                    The name of the component.

                                                    + *

                                                    The date that the component was created.

                                                    */ - name?: string; + dateCreated?: string; /** - *

                                                    The platform of the component.

                                                    + *

                                                    The semantic version of the component.

                                                    */ - platform?: Platform | string; + version?: string; /** - *

                                                    The type of the component denotes whether the component is used to build the image or only to test it.

                                                    + *

                                                    The owner of the component.

                                                    */ - type?: ComponentType | string; + owner?: string; } export namespace ComponentVersion { @@ -525,59 +559,68 @@ export namespace ComponentVersion { export interface CreateComponentRequest { /** - *

                                                    The tags of the component.

                                                    + *

                                                    The operating system (OS) version supported by the component. If the OS information is + * available, a prefix match is performed against the parent image OS version during image recipe + * creation.

                                                    */ - tags?: { [key: string]: string }; + supportedOsVersions?: string[]; /** - *

                                                    The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the parent image OS version during image recipe creation.

                                                    + *

                                                    The idempotency token of the component.

                                                    */ - supportedOsVersions?: string[]; + clientToken?: string; /** - *

                                                    The semantic version of the component. This version follows the semantic version syntax. For example, major.minor.patch. This could be versioned like software (2.0.1) or like a date (2019.12.01).

                                                    + *

                                                    The name of the component.

                                                    */ - semanticVersion: string | undefined; + name: string | undefined; /** - *

                                                    The ID of the KMS key that should be used to encrypt this component.

                                                    + *

                                                    The semantic version of the component. This version follows the semantic version syntax. + * For example, major.minor.patch. This could be versioned like software (2.0.1) or like a date + * (2019.12.01).

                                                    */ - kmsKeyId?: string; + semanticVersion: string | undefined; /** - *

                                                    The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of this component.

                                                    + *

                                                    The platform of the component.

                                                    */ - changeDescription?: string; + platform: Platform | string | undefined; /** - *

                                                    The uri of the component. Must be an S3 URL and the requester must have permission to access the S3 bucket. If you use S3, you can specify component content up to your service quota. Either data or uri can be used to specify the data within the component.

                                                    + *

                                                    The description of the component. Describes the contents of the component.

                                                    */ - uri?: string; + description?: string; /** - *

                                                    The name of the component.

                                                    + *

                                                    The data of the component. Used to specify the data inline. Either data or + * uri can be used to specify the data within the component.

                                                    */ - name: string | undefined; + data?: string; /** - *

                                                    The data of the component. Used to specify the data inline. Either data or uri can be used to specify the data within the component.

                                                    + *

                                                    The change description of the component. Describes what change has been made in this + * version, or what makes this version different from other versions of this component.

                                                    */ - data?: string; + changeDescription?: string; /** - *

                                                    The platform of the component.

                                                    + *

                                                    The tags of the component.

                                                    */ - platform: Platform | string | undefined; + tags?: { [key: string]: string }; /** - *

                                                    The idempotency token of the component.

                                                    + *

                                                    The ID of the KMS key that should be used to encrypt this component.

                                                    */ - clientToken?: string; + kmsKeyId?: string; /** - *

                                                    The description of the component. Describes the contents of the component.

                                                    + *

                                                    The uri of the component. Must be an S3 URL and the requester must have permission to + * access the S3 bucket. If you use S3, you can specify component content up to your service + * quota. Either data or uri can be used to specify the data within the + * component.

                                                    */ - description?: string; + uri?: string; } export namespace CreateComponentRequest { @@ -610,7 +653,8 @@ export namespace CreateComponentResponse { } /** - *

                                                    You have specified two or more mutually exclusive parameters. Review the error message for details.

                                                    + *

                                                    You have specified two or more mutually exclusive parameters. Review the error message for + * details.

                                                    */ export interface InvalidParameterCombinationException extends __SmithyException, $MetadataBearer { name: "InvalidParameterCombinationException"; @@ -664,14 +708,15 @@ export interface Distribution { amiDistributionConfiguration?: AmiDistributionConfiguration; /** - *

                                                    The License Manager Configuration to associate with the AMI in the specified Region.

                                                    + *

                                                    The target Region.

                                                    */ - licenseConfigurationArns?: string[]; + region: string | undefined; /** - *

                                                    The target Region.

                                                    + *

                                                    The License Manager Configuration to associate with the AMI in the specified + * Region.

                                                    */ - region: string | undefined; + licenseConfigurationArns?: string[]; } export namespace Distribution { @@ -681,11 +726,6 @@ export namespace Distribution { } export interface CreateDistributionConfigurationRequest { - /** - *

                                                    The description of the distribution configuration.

                                                    - */ - description?: string; - /** *

                                                    The idempotency token of the distribution configuration.

                                                    */ @@ -696,15 +736,20 @@ export interface CreateDistributionConfigurationRequest { */ name: string | undefined; + /** + *

                                                    The distributions of the distribution configuration.

                                                    + */ + distributions: Distribution[] | undefined; + /** *

                                                    The tags of the distribution configuration.

                                                    */ tags?: { [key: string]: string }; /** - *

                                                    The distributions of the distribution configuration.

                                                    + *

                                                    The description of the distribution configuration.

                                                    */ - distributions: Distribution[] | undefined; + description?: string; } export namespace CreateDistributionConfigurationRequest { @@ -715,9 +760,10 @@ export namespace CreateDistributionConfigurationRequest { export interface CreateDistributionConfigurationResponse { /** - *

                                                    The idempotency token used to make this request idempotent.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that was created by this + * request.

                                                    */ - clientToken?: string; + distributionConfigurationArn?: string; /** *

                                                    The request ID that uniquely identifies this request.

                                                    @@ -725,9 +771,9 @@ export interface CreateDistributionConfigurationResponse { requestId?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that was created by this request.

                                                    + *

                                                    The idempotency token used to make this request idempotent.

                                                    */ - distributionConfigurationArn?: string; + clientToken?: string; } export namespace CreateDistributionConfigurationResponse { @@ -774,24 +820,21 @@ export namespace ImageTestsConfiguration { export interface CreateImageRequest { /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your image will be built and tested.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that defines the + * environment in which your image will be built and tested.

                                                    */ infrastructureConfigurationArn: string | undefined; /** - *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your pipeline.

                                                    - */ - distributionConfigurationArn?: string; - - /** - *

                                                    Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

                                                    + *

                                                    The idempotency token used to make this request idempotent.

                                                    */ - enhancedImageMetadataEnabled?: boolean; + clientToken?: string; /** - *

                                                    The tags of the image.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that defines and + * configures the outputs of your pipeline.

                                                    */ - tags?: { [key: string]: string }; + distributionConfigurationArn?: string; /** *

                                                    The image tests configuration of the image.

                                                    @@ -799,14 +842,22 @@ export interface CreateImageRequest { imageTestsConfiguration?: ImageTestsConfiguration; /** - *

                                                    The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image recipe that defines how images are + * configured, tested, and assessed.

                                                    */ imageRecipeArn: string | undefined; /** - *

                                                    The idempotency token used to make this request idempotent.

                                                    + *

                                                    The tags of the image.

                                                    */ - clientToken?: string; + tags?: { [key: string]: string }; + + /** + *

                                                    Collects additional information about the image being created, including the operating + * system (OS) version and package list. This information is used to enhance the overall + * experience of using EC2 Image Builder. Enabled by default.

                                                    + */ + enhancedImageMetadataEnabled?: boolean; } export namespace CreateImageRequest { @@ -822,14 +873,14 @@ export interface CreateImageResponse { clientToken?: string; /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image that was created by this request.

                                                    */ - requestId?: string; + imageBuildVersionArn?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the image that was created by this request.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - imageBuildVersionArn?: string; + requestId?: string; } export namespace CreateImageResponse { @@ -848,14 +899,25 @@ export enum PipelineExecutionStartCondition { */ export interface Schedule { /** - *

                                                    The expression determines how often EC2 Image Builder evaluates your pipelineExecutionStartCondition.

                                                    + *

                                                    The condition configures when the pipeline should trigger a new image build. When the + * pipelineExecutionStartCondition is set to + * EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE, and you use semantic version + * filters on the source image or components in your image recipe, EC2 Image Builder will build a + * new image only when there are new versions of the image or components in your recipe that + * match the semantic version filter. When it is set to EXPRESSION_MATCH_ONLY, it + * will build a new image every time the CRON expression matches the current time. For semantic + * version syntax, see CreateComponent in the EC2 Image Builder API + * Reference.

                                                    */ - scheduleExpression?: string; + pipelineExecutionStartCondition?: PipelineExecutionStartCondition | string; /** - *

                                                    The condition configures when the pipeline should trigger a new image build. When the pipelineExecutionStartCondition is set to EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE, EC2 Image Builder will build a new image only when there are known changes pending. When it is set to EXPRESSION_MATCH_ONLY, it will build a new image every time the CRON expression matches the current time.

                                                    + *

                                                    The cron expression determines how often EC2 Image Builder evaluates your + * pipelineExecutionStartCondition.

                                                    + *

                                                    For information on how to format a cron expression in Image Builder, see Use cron + * expressions in EC2 Image Builder.

                                                    */ - pipelineExecutionStartCondition?: PipelineExecutionStartCondition | string; + scheduleExpression?: string; } export namespace Schedule { @@ -876,44 +938,42 @@ export interface CreateImagePipelineRequest { tags?: { [key: string]: string }; /** - *

                                                    The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image pipeline.

                                                    + *

                                                    The image test configuration of the image pipeline.

                                                    */ - imageRecipeArn: string | undefined; + imageTestsConfiguration?: ImageTestsConfiguration; /** *

                                                    The status of the image pipeline.

                                                    */ status?: PipelineStatus | string; - /** - *

                                                    The idempotency token used to make this request idempotent.

                                                    - */ - clientToken?: string; - /** *

                                                    The schedule of the image pipeline.

                                                    */ schedule?: Schedule; /** - *

                                                    The image test configuration of the image pipeline.

                                                    + *

                                                    The idempotency token used to make this request idempotent.

                                                    */ - imageTestsConfiguration?: ImageTestsConfiguration; + clientToken?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by this image pipeline.

                                                    + *

                                                    The description of the image pipeline.

                                                    */ - infrastructureConfigurationArn: string | undefined; + description?: string; /** - *

                                                    Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image recipe that will be used to configure images + * created by this image pipeline.

                                                    */ - enhancedImageMetadataEnabled?: boolean; + imageRecipeArn: string | undefined; /** - *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images created by this image pipeline.

                                                    + *

                                                    Collects additional information about the image being created, including the operating + * system (OS) version and package list. This information is used to enhance the overall + * experience of using EC2 Image Builder. Enabled by default.

                                                    */ - distributionConfigurationArn?: string; + enhancedImageMetadataEnabled?: boolean; /** *

                                                    The name of the image pipeline.

                                                    @@ -921,9 +981,16 @@ export interface CreateImagePipelineRequest { name: string | undefined; /** - *

                                                    The description of the image pipeline.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that will be used to + * configure and distribute images created by this image pipeline.

                                                    */ - description?: string; + distributionConfigurationArn?: string; + + /** + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to + * build images created by this image pipeline.

                                                    + */ + infrastructureConfigurationArn: string | undefined; } export namespace CreateImagePipelineRequest { @@ -939,14 +1006,15 @@ export interface CreateImagePipelineResponse { clientToken?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the image pipeline that was created by this request.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - imagePipelineArn?: string; + requestId?: string; /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image pipeline that was created by this request. + *

                                                    */ - requestId?: string; + imagePipelineArn?: string; } export namespace CreateImagePipelineResponse { @@ -956,11 +1024,12 @@ export namespace CreateImagePipelineResponse { } export enum EbsVolumeType { - gp2 = "gp2", - io1 = "io1", - sc1 = "sc1", - st1 = "st1", - standard = "standard", + GP2 = "gp2", + IO1 = "io1", + IO2 = "io2", + SC1 = "sc1", + ST1 = "st1", + STANDARD = "standard", } /** @@ -973,34 +1042,34 @@ export interface EbsInstanceBlockDeviceSpecification { deleteOnTermination?: boolean; /** - *

                                                    Use to override the device's volume type.

                                                    + *

                                                    Use to override the device's volume size.

                                                    */ - volumeType?: EbsVolumeType | string; + volumeSize?: number; /** - *

                                                    Use to configure the KMS key to use when encrypting the device.

                                                    + *

                                                    The snapshot that defines the device contents.

                                                    */ - kmsKeyId?: string; + snapshotId?: string; /** - *

                                                    Use to configure device IOPS.

                                                    + *

                                                    Use to configure device encryption.

                                                    */ - iops?: number; + encrypted?: boolean; /** - *

                                                    The snapshot that defines the device contents.

                                                    + *

                                                    Use to configure the KMS key to use when encrypting the device.

                                                    */ - snapshotId?: string; + kmsKeyId?: string; /** - *

                                                    Use to configure device encryption.

                                                    + *

                                                    Use to configure device IOPS.

                                                    */ - encrypted?: boolean; + iops?: number; /** - *

                                                    Use to override the device's volume size.

                                                    + *

                                                    Use to override the device's volume type.

                                                    */ - volumeSize?: number; + volumeType?: EbsVolumeType | string; } export namespace EbsInstanceBlockDeviceSpecification { @@ -1014,9 +1083,9 @@ export namespace EbsInstanceBlockDeviceSpecification { */ export interface InstanceBlockDeviceMapping { /** - *

                                                    Use to remove a mapping from the parent image.

                                                    + *

                                                    Use to manage instance ephemeral devices.

                                                    */ - noDevice?: string; + virtualName?: string; /** *

                                                    The device to which these mappings apply.

                                                    @@ -1029,9 +1098,9 @@ export interface InstanceBlockDeviceMapping { ebs?: EbsInstanceBlockDeviceSpecification; /** - *

                                                    Use to manage instance ephemeral devices.

                                                    + *

                                                    Use to remove a mapping from the parent image.

                                                    */ - virtualName?: string; + noDevice?: string; } export namespace InstanceBlockDeviceMapping { @@ -1047,44 +1116,49 @@ export interface CreateImageRecipeRequest { components: ComponentConfiguration[] | undefined; /** - *

                                                    The idempotency token used to make this request idempotent.

                                                    + *

                                                    The tags of the image recipe.

                                                    */ - clientToken?: string; + tags?: { [key: string]: string }; /** - *

                                                    The working directory to be used during build and test workflows.

                                                    + *

                                                    The name of the image recipe.

                                                    */ - workingDirectory?: string; + name: string | undefined; /** - *

                                                    The block device mappings of the image recipe.

                                                    + *

                                                    The description of the image recipe.

                                                    */ - blockDeviceMappings?: InstanceBlockDeviceMapping[]; + description?: string; /** - *

                                                    The parent image of the image recipe. The value of the string can be the ARN of the parent image or an AMI ID. The format for the ARN follows this example: arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/2019.x.x. The ARN ends with /20xx.x.x, which communicates to EC2 Image Builder that you want to use the latest AMI created in 20xx (year). You can provide the specific version that you want to use, or you can use a wildcard in all of the fields. If you enter an AMI ID for the string value, you must have access to the AMI, and the AMI must be in the same Region in which you are using Image Builder.

                                                    + *

                                                    The parent image of the image recipe. The value of the string can be the ARN of the parent + * image or an AMI ID. The format for the ARN follows this example: + * arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/xxxx.x.x. + * You can provide the specific version that you want to use, or you can use a wildcard in all of + * the fields. If you enter an AMI ID for the string value, you must have access to the AMI, and + * the AMI must be in the same Region in which you are using Image Builder.

                                                    */ parentImage: string | undefined; /** - *

                                                    The name of the image recipe.

                                                    + *

                                                    The semantic version of the image recipe.

                                                    */ - name: string | undefined; + semanticVersion: string | undefined; /** - *

                                                    The description of the image recipe.

                                                    + *

                                                    The block device mappings of the image recipe.

                                                    */ - description?: string; + blockDeviceMappings?: InstanceBlockDeviceMapping[]; /** - *

                                                    The tags of the image recipe.

                                                    + *

                                                    The working directory to be used during build and test workflows.

                                                    */ - tags?: { [key: string]: string }; + workingDirectory?: string; /** - *

                                                    The semantic version of the image recipe.

                                                    + *

                                                    The idempotency token used to make this request idempotent.

                                                    */ - semanticVersion: string | undefined; + clientToken?: string; } export namespace CreateImageRecipeRequest { @@ -1094,6 +1168,11 @@ export namespace CreateImageRecipeRequest { } export interface CreateImageRecipeResponse { + /** + *

                                                    The idempotency token used to make this request idempotent.

                                                    + */ + clientToken?: string; + /** *

                                                    The request ID that uniquely identifies this request.

                                                    */ @@ -1103,11 +1182,6 @@ export interface CreateImageRecipeResponse { *

                                                    The Amazon Resource Name (ARN) of the image recipe that was created by this request.

                                                    */ imageRecipeArn?: string; - - /** - *

                                                    The idempotency token used to make this request idempotent.

                                                    - */ - clientToken?: string; } export namespace CreateImageRecipeResponse { @@ -1121,14 +1195,14 @@ export namespace CreateImageRecipeResponse { */ export interface S3Logs { /** - *

                                                    The Amazon S3 path in which to store the logs.

                                                    + *

                                                    The Amazon S3 bucket in which to store the logs.

                                                    */ - s3KeyPrefix?: string; + s3BucketName?: string; /** - *

                                                    The Amazon S3 bucket in which to store the logs.

                                                    + *

                                                    The Amazon S3 path in which to store the logs.

                                                    */ - s3BucketName?: string; + s3KeyPrefix?: string; } export namespace S3Logs { @@ -1154,20 +1228,15 @@ export namespace Logging { } export interface CreateInfrastructureConfigurationRequest { - /** - *

                                                    The subnet ID in which to place the instance used to customize your EC2 AMI.

                                                    - */ - subnetId?: string; - /** *

                                                    The description of the infrastructure configuration.

                                                    */ description?: string; /** - *

                                                    The idempotency token used to make this request idempotent.

                                                    + *

                                                    The instance profile to associate with the instance used to customize your EC2 AMI.

                                                    */ - clientToken?: string; + instanceProfileName: string | undefined; /** *

                                                    The tags of the infrastructure configuration.

                                                    @@ -1175,49 +1244,59 @@ export interface CreateInfrastructureConfigurationRequest { tags?: { [key: string]: string }; /** - *

                                                    The terminate instance on failure setting of the infrastructure configuration. Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails.

                                                    + *

                                                    The security group IDs to associate with the instance used to customize your EC2 AMI.

                                                    */ - terminateInstanceOnFailure?: boolean; + securityGroupIds?: string[]; /** - *

                                                    The tags attached to the resource created by Image Builder.

                                                    + *

                                                    The subnet ID in which to place the instance used to customize your EC2 AMI.

                                                    */ - resourceTags?: { [key: string]: string }; + subnetId?: string; /** - *

                                                    The SNS topic on which to send image build events.

                                                    + *

                                                    The logging configuration of the infrastructure configuration.

                                                    */ - snsTopicArn?: string; + logging?: Logging; /** - *

                                                    The security group IDs to associate with the instance used to customize your EC2 AMI.

                                                    + *

                                                    The instance types of the infrastructure configuration. You can specify one or more + * instance types to use for this build. The service will pick one of these instance types based + * on availability.

                                                    */ - securityGroupIds?: string[]; + instanceTypes?: string[]; /** - *

                                                    The instance profile to associate with the instance used to customize your EC2 AMI.

                                                    + *

                                                    The idempotency token used to make this request idempotent.

                                                    */ - instanceProfileName: string | undefined; + clientToken?: string; /** - *

                                                    The key pair of the infrastructure configuration. This can be used to log on to and debug the instance used to create your image.

                                                    + *

                                                    The name of the infrastructure configuration.

                                                    */ - keyPair?: string; + name: string | undefined; /** - *

                                                    The logging configuration of the infrastructure configuration.

                                                    + *

                                                    The SNS topic on which to send image build events.

                                                    */ - logging?: Logging; + snsTopicArn?: string; /** - *

                                                    The name of the infrastructure configuration.

                                                    + *

                                                    The tags attached to the resource created by Image Builder.

                                                    */ - name: string | undefined; + resourceTags?: { [key: string]: string }; /** - *

                                                    The instance types of the infrastructure configuration. You can specify one or more instance types to use for this build. The service will pick one of these instance types based on availability.

                                                    + *

                                                    The terminate instance on failure setting of the infrastructure configuration. Set to + * false if you want Image Builder to retain the instance used to configure your AMI if the build + * or test phase of your workflow fails.

                                                    */ - instanceTypes?: string[]; + terminateInstanceOnFailure?: boolean; + + /** + *

                                                    The key pair of the infrastructure configuration. This can be used to log on to and debug + * the instance used to create your image.

                                                    + */ + keyPair?: string; } export namespace CreateInfrastructureConfigurationRequest { @@ -1227,6 +1306,12 @@ export namespace CreateInfrastructureConfigurationRequest { } export interface CreateInfrastructureConfigurationResponse { + /** + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that was created by + * this request.

                                                    + */ + infrastructureConfigurationArn?: string; + /** *

                                                    The idempotency token used to make this request idempotent.

                                                    */ @@ -1236,11 +1321,6 @@ export interface CreateInfrastructureConfigurationResponse { *

                                                    The request ID that uniquely identifies this request.

                                                    */ requestId?: string; - - /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that was created by this request.

                                                    - */ - infrastructureConfigurationArn?: string; } export namespace CreateInfrastructureConfigurationResponse { @@ -1264,14 +1344,14 @@ export namespace DeleteComponentRequest { export interface DeleteComponentResponse { /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the component build version that was deleted.

                                                    */ - requestId?: string; + componentBuildVersionArn?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the component build version that was deleted.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - componentBuildVersionArn?: string; + requestId?: string; } export namespace DeleteComponentResponse { @@ -1281,7 +1361,8 @@ export namespace DeleteComponentResponse { } /** - *

                                                    You have attempted to mutate or delete a resource with a dependency that prohibits this action. See the error message for more details.

                                                    + *

                                                    You have attempted to mutate or delete a resource with a dependency that prohibits this + * action. See the error message for more details.

                                                    */ export interface ResourceDependencyException extends __SmithyException, $MetadataBearer { name: "ResourceDependencyException"; @@ -1372,14 +1453,14 @@ export namespace DeleteImagePipelineRequest { export interface DeleteImagePipelineResponse { /** - *

                                                    The Amazon Resource Name (ARN) of the image pipeline that was deleted.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - imagePipelineArn?: string; + requestId?: string; /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image pipeline that was deleted.

                                                    */ - requestId?: string; + imagePipelineArn?: string; } export namespace DeleteImagePipelineResponse { @@ -1403,14 +1484,14 @@ export namespace DeleteImageRecipeRequest { export interface DeleteImageRecipeResponse { /** - *

                                                    The Amazon Resource Name (ARN) of the image recipe that was deleted.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - imageRecipeArn?: string; + requestId?: string; /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image recipe that was deleted.

                                                    */ - requestId?: string; + imageRecipeArn?: string; } export namespace DeleteImageRecipeResponse { @@ -1434,14 +1515,14 @@ export namespace DeleteInfrastructureConfigurationRequest { export interface DeleteInfrastructureConfigurationResponse { /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that was deleted.

                                                    */ - requestId?: string; + infrastructureConfigurationArn?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that was deleted.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - infrastructureConfigurationArn?: string; + requestId?: string; } export namespace DeleteInfrastructureConfigurationResponse { @@ -1455,9 +1536,14 @@ export namespace DeleteInfrastructureConfigurationResponse { */ export interface DistributionConfiguration { /** - *

                                                    The description of the distribution configuration.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the distribution configuration.

                                                    */ - description?: string; + arn?: string; + + /** + *

                                                    The date on which this distribution configuration was created.

                                                    + */ + dateCreated?: string; /** *

                                                    The maximum duration in minutes for this distribution configuration.

                                                    @@ -1470,9 +1556,9 @@ export interface DistributionConfiguration { name?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the distribution configuration.

                                                    + *

                                                    The description of the distribution configuration.

                                                    */ - arn?: string; + description?: string; /** *

                                                    The date on which this distribution configuration was last updated.

                                                    @@ -1488,11 +1574,6 @@ export interface DistributionConfiguration { *

                                                    The distributions of the distribution configuration.

                                                    */ distributions?: Distribution[]; - - /** - *

                                                    The date on which this distribution configuration was created.

                                                    - */ - dateCreated?: string; } export namespace DistributionConfiguration { @@ -1516,9 +1597,9 @@ export interface DistributionConfigurationSummary { dateUpdated?: string; /** - *

                                                    The date on which the distribution configuration was created.

                                                    + *

                                                    The name of the distribution configuration.

                                                    */ - dateCreated?: string; + name?: string; /** *

                                                    The description of the distribution configuration.

                                                    @@ -1526,14 +1607,14 @@ export interface DistributionConfigurationSummary { description?: string; /** - *

                                                    The name of the distribution configuration.

                                                    + *

                                                    The tags associated with the distribution configuration.

                                                    */ - name?: string; + tags?: { [key: string]: string }; /** - *

                                                    The tags associated with the distribution configuration.

                                                    + *

                                                    The date on which the distribution configuration was created.

                                                    */ - tags?: { [key: string]: string }; + dateCreated?: string; } export namespace DistributionConfigurationSummary { @@ -1543,7 +1624,9 @@ export namespace DistributionConfigurationSummary { } /** - *

                                                    A filter name and value pair that is used to return a more specific list of results from a list operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

                                                    + *

                                                    A filter name and value pair that is used to return a more specific list of results from a + * list operation. Filters can be used to match a set of resources by specific criteria, such as + * tags, attributes, or IDs.

                                                    */ export interface Filter { /** @@ -1565,7 +1648,8 @@ export namespace Filter { export interface GetComponentRequest { /** - *

                                                    The Amazon Resource Name (ARN) of the component that you want to retrieve. Regex requires "/\d+$" suffix.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the component that you want to retrieve. Regex requires + * "/\d+$" suffix.

                                                    */ componentBuildVersionArn: string | undefined; } @@ -1578,14 +1662,14 @@ export namespace GetComponentRequest { export interface GetComponentResponse { /** - *

                                                    The component object associated with the specified ARN.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - component?: Component; + requestId?: string; /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The component object associated with the specified ARN.

                                                    */ - requestId?: string; + component?: Component; } export namespace GetComponentResponse { @@ -1642,7 +1726,8 @@ export namespace ResourceNotFoundException { export interface GetDistributionConfigurationRequest { /** - *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that you want to retrieve.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that you want to + * retrieve.

                                                    */ distributionConfigurationArn: string | undefined; } @@ -1694,9 +1779,9 @@ export interface ImageRecipe { owner?: string; /** - *

                                                    The date on which this image recipe was created.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image recipe.

                                                    */ - dateCreated?: string; + arn?: string; /** *

                                                    The block device mappings to apply when creating images from this recipe.

                                                    @@ -1704,14 +1789,14 @@ export interface ImageRecipe { blockDeviceMappings?: InstanceBlockDeviceMapping[]; /** - *

                                                    The working directory to be used during build and test workflows.

                                                    + *

                                                    The date on which this image recipe was created.

                                                    */ - workingDirectory?: string; + dateCreated?: string; /** - *

                                                    The components of the image recipe.

                                                    + *

                                                    The tags of the image recipe.

                                                    */ - components?: ComponentConfiguration[]; + tags?: { [key: string]: string }; /** *

                                                    The description of the image recipe.

                                                    @@ -1719,19 +1804,19 @@ export interface ImageRecipe { description?: string; /** - *

                                                    The name of the image recipe.

                                                    + *

                                                    The platform of the image recipe.

                                                    */ - name?: string; + platform?: Platform | string; /** - *

                                                    The parent image of the image recipe.

                                                    + *

                                                    The name of the image recipe.

                                                    */ - parentImage?: string; + name?: string; /** - *

                                                    The tags of the image recipe.

                                                    + *

                                                    The working directory to be used during build and test workflows.

                                                    */ - tags?: { [key: string]: string }; + workingDirectory?: string; /** *

                                                    The version of the image recipe.

                                                    @@ -1739,14 +1824,14 @@ export interface ImageRecipe { version?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the image recipe.

                                                    + *

                                                    The components of the image recipe.

                                                    */ - arn?: string; + components?: ComponentConfiguration[]; /** - *

                                                    The platform of the image recipe.

                                                    + *

                                                    The parent image of the image recipe.

                                                    */ - platform?: Platform | string; + parentImage?: string; } export namespace ImageRecipe { @@ -1760,29 +1845,29 @@ export namespace ImageRecipe { */ export interface InfrastructureConfiguration { /** - *

                                                    The description of the infrastructure configuration.

                                                    + *

                                                    The EC2 key pair of the infrastructure configuration.

                                                    */ - description?: string; + keyPair?: string; /** - *

                                                    The security group IDs of the infrastructure configuration.

                                                    + *

                                                    The SNS topic Amazon Resource Name (ARN) of the infrastructure configuration.

                                                    */ - securityGroupIds?: string[]; + snsTopicArn?: string; /** - *

                                                    The tags of the infrastructure configuration.

                                                    + *

                                                    The date on which the infrastructure configuration was created.

                                                    */ - tags?: { [key: string]: string }; + dateCreated?: string; /** - *

                                                    The date on which the infrastructure configuration was last updated.

                                                    + *

                                                    The instance profile of the infrastructure configuration.

                                                    */ - dateUpdated?: string; + instanceProfileName?: string; /** - *

                                                    The terminate instance on failure configuration of the infrastructure configuration.

                                                    + *

                                                    The logging configuration of the infrastructure configuration.

                                                    */ - terminateInstanceOnFailure?: boolean; + logging?: Logging; /** *

                                                    The subnet ID of the infrastructure configuration.

                                                    @@ -1790,49 +1875,50 @@ export interface InfrastructureConfiguration { subnetId?: string; /** - *

                                                    The instance profile of the infrastructure configuration.

                                                    + *

                                                    The tags of the infrastructure configuration.

                                                    */ - instanceProfileName?: string; + tags?: { [key: string]: string }; /** - *

                                                    The EC2 key pair of the infrastructure configuration.

                                                    + *

                                                    The date on which the infrastructure configuration was last updated.

                                                    */ - keyPair?: string; + dateUpdated?: string; /** - *

                                                    The name of the infrastructure configuration.

                                                    + *

                                                    The description of the infrastructure configuration.

                                                    */ - name?: string; + description?: string; /** - *

                                                    The SNS topic Amazon Resource Name (ARN) of the infrastructure configuration.

                                                    + *

                                                    The security group IDs of the infrastructure configuration.

                                                    */ - snsTopicArn?: string; + securityGroupIds?: string[]; /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration.

                                                    + *

                                                    The instance types of the infrastructure configuration.

                                                    */ - arn?: string; + instanceTypes?: string[]; /** - *

                                                    The tags attached to the resource created by Image Builder.

                                                    + *

                                                    The terminate instance on failure configuration of the infrastructure + * configuration.

                                                    */ - resourceTags?: { [key: string]: string }; + terminateInstanceOnFailure?: boolean; /** - *

                                                    The date on which the infrastructure configuration was created.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration.

                                                    */ - dateCreated?: string; + arn?: string; /** - *

                                                    The logging configuration of the infrastructure configuration.

                                                    + *

                                                    The name of the infrastructure configuration.

                                                    */ - logging?: Logging; + name?: string; /** - *

                                                    The instance types of the infrastructure configuration.

                                                    + *

                                                    The tags attached to the resource created by Image Builder.

                                                    */ - instanceTypes?: string[]; + resourceTags?: { [key: string]: string }; } export namespace InfrastructureConfiguration { @@ -1862,14 +1948,19 @@ export namespace OutputResources { */ export interface Image { /** - *

                                                    The distribution configuration used when creating this image.

                                                    + *

                                                    The infrastructure used when creating this image.

                                                    */ - distributionConfiguration?: DistributionConfiguration; + infrastructureConfiguration?: InfrastructureConfiguration; /** - *

                                                    The name of the image pipeline that created this image.

                                                    + *

                                                    The image recipe used when creating the image.

                                                    */ - sourcePipelineName?: string; + imageRecipe?: ImageRecipe; + + /** + *

                                                    The image tests configuration used when creating this image.

                                                    + */ + imageTestsConfiguration?: ImageTestsConfiguration; /** *

                                                    The output resources produced when creating this image.

                                                    @@ -1877,49 +1968,51 @@ export interface Image { outputResources?: OutputResources; /** - *

                                                    The Amazon Resource Name (ARN) of the image pipeline that created this image.

                                                    + *

                                                    The date on which this image was created.

                                                    */ - sourcePipelineArn?: string; + dateCreated?: string; /** - *

                                                    The platform of the image.

                                                    + *

                                                    The distribution configuration used when creating this image.

                                                    */ - platform?: Platform | string; + distributionConfiguration?: DistributionConfiguration; /** - *

                                                    The tags of the image.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image pipeline that created this image.

                                                    */ - tags?: { [key: string]: string }; + sourcePipelineArn?: string; /** - *

                                                    The semantic version of the image.

                                                    + *

                                                    The tags of the image.

                                                    */ - version?: string; + tags?: { [key: string]: string }; /** - *

                                                    The image tests configuration used when creating this image.

                                                    + *

                                                    Collects additional information about the image being created, including the operating + * system (OS) version and package list. This information is used to enhance the overall + * experience of using EC2 Image Builder. Enabled by default.

                                                    */ - imageTestsConfiguration?: ImageTestsConfiguration; + enhancedImageMetadataEnabled?: boolean; /** - *

                                                    The infrastructure used when creating this image.

                                                    + *

                                                    The semantic version of the image.

                                                    */ - infrastructureConfiguration?: InfrastructureConfiguration; + version?: string; /** - *

                                                    The image recipe used when creating the image.

                                                    + *

                                                    The name of the image.

                                                    */ - imageRecipe?: ImageRecipe; + name?: string; /** - *

                                                    The date on which this image was created.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image.

                                                    */ - dateCreated?: string; + arn?: string; /** - *

                                                    The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

                                                    + *

                                                    The platform of the image.

                                                    */ - osVersion?: string; + platform?: Platform | string; /** *

                                                    The state of the image.

                                                    @@ -1927,19 +2020,15 @@ export interface Image { state?: ImageState; /** - *

                                                    The name of the image.

                                                    - */ - name?: string; - - /** - *

                                                    Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

                                                    + *

                                                    The name of the image pipeline that created this image.

                                                    */ - enhancedImageMetadataEnabled?: boolean; + sourcePipelineName?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the image.

                                                    + *

                                                    The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or + * Microsoft Windows Server 2019.

                                                    */ - arn?: string; + osVersion?: string; } export namespace Image { @@ -1984,84 +2073,89 @@ export namespace GetImagePipelineRequest { */ export interface ImagePipeline { /** - *

                                                    The Amazon Resource Name (ARN) of the image pipeline.

                                                    + *

                                                    The schedule of the image pipeline.

                                                    */ - arn?: string; + schedule?: Schedule; /** - *

                                                    The status of the image pipeline.

                                                    + *

                                                    The date on which this image pipeline was created.

                                                    */ - status?: PipelineStatus | string; + dateCreated?: string; /** - *

                                                    Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the distribution configuration associated with this + * image pipeline.

                                                    */ - enhancedImageMetadataEnabled?: boolean; + distributionConfigurationArn?: string; /** - *

                                                    The tags of this image pipeline.

                                                    + *

                                                    The date on which this image pipeline will next be run.

                                                    */ - tags?: { [key: string]: string }; + dateNextRun?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.

                                                    + *

                                                    The name of the image pipeline.

                                                    */ - distributionConfigurationArn?: string; + name?: string; /** - *

                                                    The date on which this image pipeline was created.

                                                    + *

                                                    Collects additional information about the image being created, including the operating + * system (OS) version and package list. This information is used to enhance the overall + * experience of using EC2 Image Builder. Enabled by default.

                                                    */ - dateCreated?: string; + enhancedImageMetadataEnabled?: boolean; /** - *

                                                    The schedule of the image pipeline.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image pipeline.

                                                    */ - schedule?: Schedule; + arn?: string; /** - *

                                                    The image tests configuration of the image pipeline.

                                                    + *

                                                    The status of the image pipeline.

                                                    */ - imageTestsConfiguration?: ImageTestsConfiguration; + status?: PipelineStatus | string; /** - *

                                                    The platform of the image pipeline.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration associated with this + * image pipeline.

                                                    */ - platform?: Platform | string; + infrastructureConfigurationArn?: string; /** - *

                                                    The date on which this image pipeline was last updated.

                                                    + *

                                                    The description of the image pipeline.

                                                    */ - dateUpdated?: string; + description?: string; /** - *

                                                    The name of the image pipeline.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image recipe associated with this image + * pipeline.

                                                    */ - name?: string; + imageRecipeArn?: string; /** - *

                                                    The date on which this image pipeline will next be run.

                                                    + *

                                                    The date on which this image pipeline was last run.

                                                    */ - dateNextRun?: string; + dateLastRun?: string; /** - *

                                                    The description of the image pipeline.

                                                    + *

                                                    The date on which this image pipeline was last updated.

                                                    */ - description?: string; + dateUpdated?: string; /** - *

                                                    The date on which this image pipeline was last run.

                                                    + *

                                                    The tags of this image pipeline.

                                                    */ - dateLastRun?: string; + tags?: { [key: string]: string }; /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.

                                                    + *

                                                    The image tests configuration of the image pipeline.

                                                    */ - infrastructureConfigurationArn?: string; + imageTestsConfiguration?: ImageTestsConfiguration; /** - *

                                                    The Amazon Resource Name (ARN) of the image recipe associated with this image pipeline.

                                                    + *

                                                    The platform of the image pipeline.

                                                    */ - imageRecipeArn?: string; + platform?: Platform | string; } export namespace ImagePipeline { @@ -2072,14 +2166,14 @@ export namespace ImagePipeline { export interface GetImagePipelineResponse { /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The image pipeline object.

                                                    */ - requestId?: string; + imagePipeline?: ImagePipeline; /** - *

                                                    The image pipeline object.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - imagePipeline?: ImagePipeline; + requestId?: string; } export namespace GetImagePipelineResponse { @@ -2186,7 +2280,8 @@ export namespace GetImageRecipePolicyResponse { */ export interface GetInfrastructureConfigurationRequest { /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that you want to retrieve.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that you want to + * retrieve.

                                                    */ infrastructureConfigurationArn: string | undefined; } @@ -2202,14 +2297,14 @@ export namespace GetInfrastructureConfigurationRequest { */ export interface GetInfrastructureConfigurationResponse { /** - *

                                                    The infrastructure configuration object.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - infrastructureConfiguration?: InfrastructureConfiguration; + requestId?: string; /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The infrastructure configuration object.

                                                    */ - requestId?: string; + infrastructureConfiguration?: InfrastructureConfiguration; } export namespace GetInfrastructureConfigurationResponse { @@ -2220,64 +2315,72 @@ export namespace GetInfrastructureConfigurationResponse { export interface ImportComponentRequest { /** - *

                                                    The semantic version of the component. This version follows the semantic version syntax. For example, major.minor.patch. This could be versioned like software (2.0.1) or like a date (2019.12.01).

                                                    + *

                                                    The semantic version of the component. This version follows the semantic version syntax. + * For example, major.minor.patch. This could be versioned like software (2.0.1) or like a date + * (2019.12.01).

                                                    */ semanticVersion: string | undefined; /** - *

                                                    The name of the component.

                                                    + *

                                                    The uri of the component. Must be an S3 URL and the requester must have permission to + * access the S3 bucket. If you use S3, you can specify component content up to your service + * quota. Either data or uri can be used to specify the data within the + * component.

                                                    */ - name: string | undefined; + uri?: string; /** - *

                                                    The uri of the component. Must be an S3 URL and the requester must have permission to access the S3 bucket. If you use S3, you can specify component content up to your service quota. Either data or uri can be used to specify the data within the component.

                                                    + *

                                                    The format of the resource that you want to import as a component.

                                                    */ - uri?: string; + format: ComponentFormat | string | undefined; /** - *

                                                    The platform of the component.

                                                    + *

                                                    The idempotency token of the component.

                                                    */ - platform: Platform | string | undefined; + clientToken?: string; /** - *

                                                    The type of the component denotes whether the component is used to build the image or only to test it.

                                                    + *

                                                    The name of the component.

                                                    */ - type: ComponentType | string | undefined; + name: string | undefined; /** - *

                                                    The description of the component. Describes the contents of the component.

                                                    + *

                                                    The change description of the component. Describes what change has been made in this + * version, or what makes this version different from other versions of this component.

                                                    */ - description?: string; + changeDescription?: string; /** - *

                                                    The tags of the component.

                                                    + *

                                                    The data of the component. Used to specify the data inline. Either data or + * uri can be used to specify the data within the component.

                                                    */ - tags?: { [key: string]: string }; + data?: string; /** - *

                                                    The idempotency token of the component.

                                                    + *

                                                    The ID of the KMS key that should be used to encrypt this component.

                                                    */ - clientToken?: string; + kmsKeyId?: string; /** - *

                                                    The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of this component.

                                                    + *

                                                    The tags of the component.

                                                    */ - changeDescription?: string; + tags?: { [key: string]: string }; /** - *

                                                    The ID of the KMS key that should be used to encrypt this component.

                                                    + *

                                                    The platform of the component.

                                                    */ - kmsKeyId?: string; + platform: Platform | string | undefined; /** - *

                                                    The format of the resource that you want to import as a component.

                                                    + *

                                                    The type of the component denotes whether the component is used to build the image or only + * to test it.

                                                    */ - format: ComponentFormat | string | undefined; + type: ComponentType | string | undefined; /** - *

                                                    The data of the component. Used to specify the data inline. Either data or uri can be used to specify the data within the component.

                                                    + *

                                                    The description of the component. Describes the contents of the component.

                                                    */ - data?: string; + description?: string; } export namespace ImportComponentRequest { @@ -2293,14 +2396,14 @@ export interface ImportComponentResponse { requestId?: string; /** - *

                                                    The idempotency token used to make this request idempotent.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the imported component.

                                                    */ - clientToken?: string; + componentBuildVersionArn?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the imported component.

                                                    + *

                                                    The idempotency token used to make this request idempotent.

                                                    */ - componentBuildVersionArn?: string; + clientToken?: string; } export namespace ImportComponentResponse { @@ -2326,19 +2429,20 @@ export namespace InvalidPaginationTokenException { export interface ListComponentBuildVersionsRequest { /** - *

                                                    The maximum items to return in a request.

                                                    + *

                                                    The component version Amazon Resource Name (ARN) whose versions you want to list.

                                                    */ - maxResults?: number; + componentVersionArn: string | undefined; /** - *

                                                    A token to specify where to start paginating. This is the NextToken from a previously truncated response.

                                                    + *

                                                    A token to specify where to start paginating. This is the NextToken from a previously + * truncated response.

                                                    */ nextToken?: string; /** - *

                                                    The component version Amazon Resource Name (ARN) whose versions you want to list.

                                                    + *

                                                    The maximum items to return in a request.

                                                    */ - componentVersionArn: string | undefined; + maxResults?: number; } export namespace ListComponentBuildVersionsRequest { @@ -2354,14 +2458,16 @@ export interface ListComponentBuildVersionsResponse { requestId?: string; /** - *

                                                    The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

                                                    + *

                                                    The list of component summaries for the specified semantic version.

                                                    */ - nextToken?: string; + componentSummaryList?: ComponentSummary[]; /** - *

                                                    The list of component summaries for the specified semantic version.

                                                    + *

                                                    The next token used for paginated responses. When this is not empty, there are additional + * elements that the service has not included in this request. Use this token with the next + * request to retrieve additional objects.

                                                    */ - componentSummaryList?: ComponentSummary[]; + nextToken?: string; } export namespace ListComponentBuildVersionsResponse { @@ -2371,31 +2477,35 @@ export namespace ListComponentBuildVersionsResponse { } export enum Ownership { - Amazon = "Amazon", - Self = "Self", - Shared = "Shared", + AMAZON = "Amazon", + SELF = "Self", + SHARED = "Shared", } export interface ListComponentsRequest { /** - *

                                                    The maximum items to return in a request.

                                                    - */ - maxResults?: number; - - /** - *

                                                    The owner defines which components you want to list. By default, this request will only show components owned by your account. You can use this field to specify if you want to view components owned by yourself, by Amazon, or those components that have been shared with you by other customers.

                                                    + *

                                                    The owner defines which components you want to list. By default, this request will only + * show components owned by your account. You can use this field to specify if you want to view + * components owned by yourself, by Amazon, or those components that have been shared with you by + * other customers.

                                                    */ owner?: Ownership | string; /** - *

                                                    A token to specify where to start paginating. This is the NextToken from a previously truncated response.

                                                    + *

                                                    The maximum items to return in a request.

                                                    */ - nextToken?: string; + maxResults?: number; /** *

                                                    The filters.

                                                    */ filters?: Filter[]; + + /** + *

                                                    A token to specify where to start paginating. This is the NextToken from a previously + * truncated response.

                                                    + */ + nextToken?: string; } export namespace ListComponentsRequest { @@ -2406,17 +2516,19 @@ export namespace ListComponentsRequest { export interface ListComponentsResponse { /** - *

                                                    The list of component semantic versions.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - componentVersionList?: ComponentVersion[]; + requestId?: string; /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The list of component semantic versions.

                                                    */ - requestId?: string; + componentVersionList?: ComponentVersion[]; /** - *

                                                    The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

                                                    + *

                                                    The next token used for paginated responses. When this is not empty, there are additional + * elements that the service has not included in this request. Use this token with the next + * request to retrieve additional objects.

                                                    */ nextToken?: string; } @@ -2434,12 +2546,19 @@ export interface ListDistributionConfigurationsRequest { maxResults?: number; /** - *

                                                    A token to specify where to start paginating. This is the NextToken from a previously truncated response.

                                                    + *

                                                    A token to specify where to start paginating. This is the NextToken from a previously + * truncated response.

                                                    */ nextToken?: string; /** - *

                                                    The filters.

                                                    • name - The name of this distribution configuration.

                                                    + *

                                                    The filters.

                                                    + *
                                                      + *
                                                    • + *

                                                      + * name - The name of this distribution configuration.

                                                      + *
                                                    • + *
                                                    */ filters?: Filter[]; } @@ -2452,19 +2571,21 @@ export namespace ListDistributionConfigurationsRequest { export interface ListDistributionConfigurationsResponse { /** - *

                                                    The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

                                                    + *

                                                    The next token used for paginated responses. When this is not empty, there are additional + * elements that the service has not included in this request. Use this token with the next + * request to retrieve additional objects.

                                                    */ nextToken?: string; /** - *

                                                    The list of distributions.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - distributionConfigurationSummaryList?: DistributionConfigurationSummary[]; + requestId?: string; /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The list of distributions.

                                                    */ - requestId?: string; + distributionConfigurationSummaryList?: DistributionConfigurationSummary[]; } export namespace ListDistributionConfigurationsResponse { @@ -2475,15 +2596,11 @@ export namespace ListDistributionConfigurationsResponse { export interface ListImageBuildVersionsRequest { /** - *

                                                    A token to specify where to start paginating. This is the NextToken from a previously truncated response.

                                                    + *

                                                    A token to specify where to start paginating. This is the NextToken from a previously + * truncated response.

                                                    */ nextToken?: string; - /** - *

                                                    The filters.

                                                    - */ - filters?: Filter[]; - /** *

                                                    The Amazon Resource Name (ARN) of the image whose build versions you want to retrieve.

                                                    */ @@ -2493,6 +2610,11 @@ export interface ListImageBuildVersionsRequest { *

                                                    The maximum items to return in a request.

                                                    */ maxResults?: number; + + /** + *

                                                    The filters.

                                                    + */ + filters?: Filter[]; } export namespace ListImageBuildVersionsRequest { @@ -2515,20 +2637,15 @@ export interface ImageSummary { */ outputResources?: OutputResources; - /** - *

                                                    The tags of the image.

                                                    - */ - tags?: { [key: string]: string }; - /** *

                                                    The owner of the image.

                                                    */ owner?: string; /** - *

                                                    The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

                                                    + *

                                                    The tags of the image.

                                                    */ - osVersion?: string; + tags?: { [key: string]: string }; /** *

                                                    The version of the image.

                                                    @@ -2536,9 +2653,9 @@ export interface ImageSummary { version?: string; /** - *

                                                    The platform of the image.

                                                    + *

                                                    The state of the image.

                                                    */ - platform?: Platform | string; + state?: ImageState; /** *

                                                    The Amazon Resource Name (ARN) of the image.

                                                    @@ -2551,9 +2668,15 @@ export interface ImageSummary { name?: string; /** - *

                                                    The state of the image.

                                                    + *

                                                    The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or + * Microsoft Windows Server 2019.

                                                    */ - state?: ImageState; + osVersion?: string; + + /** + *

                                                    The platform of the image.

                                                    + */ + platform?: Platform | string; } export namespace ImageSummary { @@ -2564,12 +2687,9 @@ export namespace ImageSummary { export interface ListImageBuildVersionsResponse { /** - *

                                                    The list of image build versions.

                                                    - */ - imageSummaryList?: ImageSummary[]; - - /** - *

                                                    The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

                                                    + *

                                                    The next token used for paginated responses. When this is not empty, there are additional + * elements that the service has not included in this request. Use this token with the next + * request to retrieve additional objects.

                                                    */ nextToken?: string; @@ -2577,6 +2697,11 @@ export interface ListImageBuildVersionsResponse { *

                                                    The request ID that uniquely identifies this request.

                                                    */ requestId?: string; + + /** + *

                                                    The list of image build versions.

                                                    + */ + imageSummaryList?: ImageSummary[]; } export namespace ListImageBuildVersionsResponse { @@ -2597,14 +2722,15 @@ export interface ListImagePipelineImagesRequest { imagePipelineArn: string | undefined; /** - *

                                                    The filters.

                                                    + *

                                                    A token to specify where to start paginating. This is the NextToken from a previously + * truncated response.

                                                    */ - filters?: Filter[]; + nextToken?: string; /** - *

                                                    A token to specify where to start paginating. This is the NextToken from a previously truncated response.

                                                    + *

                                                    The filters.

                                                    */ - nextToken?: string; + filters?: Filter[]; } export namespace ListImagePipelineImagesRequest { @@ -2615,19 +2741,21 @@ export namespace ListImagePipelineImagesRequest { export interface ListImagePipelineImagesResponse { /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The list of images built by this pipeline.

                                                    */ - requestId?: string; + imageSummaryList?: ImageSummary[]; /** - *

                                                    The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - nextToken?: string; + requestId?: string; /** - *

                                                    The list of images built by this pipeline.

                                                    + *

                                                    The next token used for paginated responses. When this is not empty, there are additional + * elements that the service has not included in this request. Use this token with the next + * request to retrieve additional objects.

                                                    */ - imageSummaryList?: ImageSummary[]; + nextToken?: string; } export namespace ListImagePipelineImagesResponse { @@ -2638,19 +2766,20 @@ export namespace ListImagePipelineImagesResponse { export interface ListImagePipelinesRequest { /** - *

                                                    A token to specify where to start paginating. This is the NextToken from a previously truncated response.

                                                    + *

                                                    The maximum items to return in a request.

                                                    */ - nextToken?: string; + maxResults?: number; /** - *

                                                    The filters.

                                                    + *

                                                    A token to specify where to start paginating. This is the NextToken from a previously + * truncated response.

                                                    */ - filters?: Filter[]; + nextToken?: string; /** - *

                                                    The maximum items to return in a request.

                                                    + *

                                                    The filters.

                                                    */ - maxResults?: number; + filters?: Filter[]; } export namespace ListImagePipelinesRequest { @@ -2666,14 +2795,16 @@ export interface ListImagePipelinesResponse { requestId?: string; /** - *

                                                    The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

                                                    + *

                                                    The list of image pipelines.

                                                    */ - nextToken?: string; + imagePipelineList?: ImagePipeline[]; /** - *

                                                    The list of image pipelines.

                                                    + *

                                                    The next token used for paginated responses. When this is not empty, there are additional + * elements that the service has not included in this request. Use this token with the next + * request to retrieve additional objects.

                                                    */ - imagePipelineList?: ImagePipeline[]; + nextToken?: string; } export namespace ListImagePipelinesResponse { @@ -2683,25 +2814,29 @@ export namespace ListImagePipelinesResponse { } export interface ListImageRecipesRequest { + /** + *

                                                    The owner defines which image recipes you want to list. By default, this request will only + * show image recipes owned by your account. You can use this field to specify if you want to + * view image recipes owned by yourself, by Amazon, or those image recipes that have been shared + * with you by other customers.

                                                    + */ + owner?: Ownership | string; + /** *

                                                    The maximum items to return in a request.

                                                    */ maxResults?: number; /** - *

                                                    The owner defines which image recipes you want to list. By default, this request will only show image recipes owned by your account. You can use this field to specify if you want to view image recipes owned by yourself, by Amazon, or those image recipes that have been shared with you by other customers.

                                                    + *

                                                    A token to specify where to start paginating. This is the NextToken from a previously + * truncated response.

                                                    */ - owner?: Ownership | string; + nextToken?: string; /** *

                                                    The filters.

                                                    */ filters?: Filter[]; - - /** - *

                                                    A token to specify where to start paginating. This is the NextToken from a previously truncated response.

                                                    - */ - nextToken?: string; } export namespace ListImageRecipesRequest { @@ -2714,30 +2849,25 @@ export namespace ListImageRecipesRequest { *

                                                    A summary of an image recipe.

                                                    */ export interface ImageRecipeSummary { - /** - *

                                                    The platform of the image recipe.

                                                    - */ - platform?: Platform | string; - /** *

                                                    The tags of the image recipe.

                                                    */ tags?: { [key: string]: string }; /** - *

                                                    The name of the image recipe.

                                                    + *

                                                    The platform of the image recipe.

                                                    */ - name?: string; + platform?: Platform | string; /** - *

                                                    The parent image of the image recipe.

                                                    + *

                                                    The owner of the image recipe.

                                                    */ - parentImage?: string; + owner?: string; /** - *

                                                    The owner of the image recipe.

                                                    + *

                                                    The date on which this image recipe was created.

                                                    */ - owner?: string; + dateCreated?: string; /** *

                                                    The Amazon Resource Name (ARN) of the image recipe.

                                                    @@ -2745,9 +2875,14 @@ export interface ImageRecipeSummary { arn?: string; /** - *

                                                    The date on which this image recipe was created.

                                                    + *

                                                    The parent image of the image recipe.

                                                    */ - dateCreated?: string; + parentImage?: string; + + /** + *

                                                    The name of the image recipe.

                                                    + */ + name?: string; } export namespace ImageRecipeSummary { @@ -2763,14 +2898,16 @@ export interface ListImageRecipesResponse { requestId?: string; /** - *

                                                    The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

                                                    + *

                                                    The list of image pipelines.

                                                    */ - nextToken?: string; + imageRecipeSummaryList?: ImageRecipeSummary[]; /** - *

                                                    The list of image pipelines.

                                                    + *

                                                    The next token used for paginated responses. When this is not empty, there are additional + * elements that the service has not included in this request. Use this token with the next + * request to retrieve additional objects.

                                                    */ - imageRecipeSummaryList?: ImageRecipeSummary[]; + nextToken?: string; } export namespace ListImageRecipesResponse { @@ -2781,24 +2918,28 @@ export namespace ListImageRecipesResponse { export interface ListImagesRequest { /** - *

                                                    A token to specify where to start paginating. This is the NextToken from a previously truncated response.

                                                    + *

                                                    The filters.

                                                    */ - nextToken?: string; + filters?: Filter[]; /** - *

                                                    The maximum items to return in a request.

                                                    + *

                                                    The owner defines which images you want to list. By default, this request will only show + * images owned by your account. You can use this field to specify if you want to view images + * owned by yourself, by Amazon, or those images that have been shared with you by other + * customers.

                                                    */ - maxResults?: number; + owner?: Ownership | string; /** - *

                                                    The owner defines which images you want to list. By default, this request will only show images owned by your account. You can use this field to specify if you want to view images owned by yourself, by Amazon, or those images that have been shared with you by other customers.

                                                    + *

                                                    A token to specify where to start paginating. This is the NextToken from a previously + * truncated response.

                                                    */ - owner?: Ownership | string; + nextToken?: string; /** - *

                                                    The filters.

                                                    + *

                                                    The maximum items to return in a request.

                                                    */ - filters?: Filter[]; + maxResults?: number; } export namespace ListImagesRequest { @@ -2812,24 +2953,27 @@ export namespace ListImagesRequest { */ export interface ImageVersion { /** - *

                                                    The platform of the image semantic version.

                                                    + *

                                                    The semantic version of the image semantic version.

                                                    */ - platform?: Platform | string; + version?: string; /** - *

                                                    The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

                                                    + *

                                                    + * The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or + * Microsoft Windows Server 2019. + *

                                                    */ osVersion?: string; /** - *

                                                    The name of the image semantic version.

                                                    + *

                                                    The platform of the image semantic version.

                                                    */ - name?: string; + platform?: Platform | string; /** - *

                                                    The semantic version of the image semantic version.

                                                    + *

                                                    The date at which this image semantic version was created.

                                                    */ - version?: string; + dateCreated?: string; /** *

                                                    The Amazon Resource Name (ARN) of the image semantic version.

                                                    @@ -2842,9 +2986,9 @@ export interface ImageVersion { owner?: string; /** - *

                                                    The date at which this image semantic version was created.

                                                    + *

                                                    The name of the image semantic version.

                                                    */ - dateCreated?: string; + name?: string; } export namespace ImageVersion { @@ -2860,14 +3004,16 @@ export interface ListImagesResponse { requestId?: string; /** - *

                                                    The list of image semantic versions.

                                                    + *

                                                    The next token used for paginated responses. When this is not empty, there are additional + * elements that the service has not included in this request. Use this token with the next + * request to retrieve additional objects.

                                                    */ - imageVersionList?: ImageVersion[]; + nextToken?: string; /** - *

                                                    The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

                                                    + *

                                                    The list of image semantic versions.

                                                    */ - nextToken?: string; + imageVersionList?: ImageVersion[]; } export namespace ListImagesResponse { @@ -2883,14 +3029,15 @@ export interface ListInfrastructureConfigurationsRequest { maxResults?: number; /** - *

                                                    The filters.

                                                    + *

                                                    A token to specify where to start paginating. This is the NextToken from a previously + * truncated response.

                                                    */ - filters?: Filter[]; + nextToken?: string; /** - *

                                                    A token to specify where to start paginating. This is the NextToken from a previously truncated response.

                                                    + *

                                                    The filters.

                                                    */ - nextToken?: string; + filters?: Filter[]; } export namespace ListInfrastructureConfigurationsRequest { @@ -2909,34 +3056,34 @@ export interface InfrastructureConfigurationSummary { description?: string; /** - *

                                                    The tags of the infrastructure configuration.

                                                    + *

                                                    The date on which the infrastructure configuration was created.

                                                    */ - tags?: { [key: string]: string }; + dateCreated?: string; /** - *

                                                    The date on which the infrastructure configuration was last updated.

                                                    + *

                                                    The tags attached to the image created by Image Builder.

                                                    */ - dateUpdated?: string; + resourceTags?: { [key: string]: string }; /** - *

                                                    The name of the infrastructure configuration.

                                                    + *

                                                    The tags of the infrastructure configuration.

                                                    */ - name?: string; + tags?: { [key: string]: string }; /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration.

                                                    + *

                                                    The date on which the infrastructure configuration was last updated.

                                                    */ - arn?: string; + dateUpdated?: string; /** - *

                                                    The tags attached to the image created by Image Builder.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration.

                                                    */ - resourceTags?: { [key: string]: string }; + arn?: string; /** - *

                                                    The date on which the infrastructure configuration was created.

                                                    + *

                                                    The name of the infrastructure configuration.

                                                    */ - dateCreated?: string; + name?: string; } export namespace InfrastructureConfigurationSummary { @@ -2946,20 +3093,22 @@ export namespace InfrastructureConfigurationSummary { } export interface ListInfrastructureConfigurationsResponse { - /** - *

                                                    The request ID that uniquely identifies this request.

                                                    - */ - requestId?: string; - /** *

                                                    The list of infrastructure configurations.

                                                    */ infrastructureConfigurationSummaryList?: InfrastructureConfigurationSummary[]; /** - *

                                                    The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

                                                    + *

                                                    The next token used for paginated responses. When this is not empty, there are additional + * elements that the service has not included in this request. Use this token with the next + * request to retrieve additional objects.

                                                    */ nextToken?: string; + + /** + *

                                                    The request ID that uniquely identifies this request.

                                                    + */ + requestId?: string; } export namespace ListInfrastructureConfigurationsResponse { @@ -2969,7 +3118,8 @@ export namespace ListInfrastructureConfigurationsResponse { } /** - *

                                                    The specified parameter is invalid. Review the available parameters for the API request.

                                                    + *

                                                    The specified parameter is invalid. Review the available parameters for the API + * request.

                                                    */ export interface InvalidParameterException extends __SmithyException, $MetadataBearer { name: "InvalidParameterException"; @@ -3026,14 +3176,14 @@ export namespace InvalidParameterValueException { export interface PutComponentPolicyRequest { /** - *

                                                    The policy to apply.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the component that this policy should be applied to.

                                                    */ - policy: string | undefined; + componentArn: string | undefined; /** - *

                                                    The Amazon Resource Name (ARN) of the component that this policy should be applied to.

                                                    + *

                                                    The policy to apply.

                                                    */ - componentArn: string | undefined; + policy: string | undefined; } export namespace PutComponentPolicyRequest { @@ -3134,14 +3284,14 @@ export namespace PutImageRecipePolicyResponse { export interface StartImagePipelineExecutionRequest { /** - *

                                                    The idempotency token used to make this request idempotent.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image pipeline that you want to manually invoke.

                                                    */ - clientToken?: string; + imagePipelineArn: string | undefined; /** - *

                                                    The Amazon Resource Name (ARN) of the image pipeline that you want to manually invoke.

                                                    + *

                                                    The idempotency token used to make this request idempotent.

                                                    */ - imagePipelineArn: string | undefined; + clientToken?: string; } export namespace StartImagePipelineExecutionRequest { @@ -3152,9 +3302,9 @@ export namespace StartImagePipelineExecutionRequest { export interface StartImagePipelineExecutionResponse { /** - *

                                                    The idempotency token used to make this request idempotent.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image that was created by this request.

                                                    */ - clientToken?: string; + imageBuildVersionArn?: string; /** *

                                                    The request ID that uniquely identifies this request.

                                                    @@ -3162,9 +3312,9 @@ export interface StartImagePipelineExecutionResponse { requestId?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the image that was created by this request.

                                                    + *

                                                    The idempotency token used to make this request idempotent.

                                                    */ - imageBuildVersionArn?: string; + clientToken?: string; } export namespace StartImagePipelineExecutionResponse { @@ -3175,14 +3325,14 @@ export namespace StartImagePipelineExecutionResponse { export interface TagResourceRequest { /** - *

                                                    The Amazon Resource Name (ARN) of the resource that you want to tag.

                                                    + *

                                                    The tags to apply to the resource.

                                                    */ - resourceArn: string | undefined; + tags: { [key: string]: string } | undefined; /** - *

                                                    The tags to apply to the resource.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the resource that you want to tag.

                                                    */ - tags: { [key: string]: string } | undefined; + resourceArn: string | undefined; } export namespace TagResourceRequest { @@ -3201,14 +3351,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                    The tag keys to remove from the resource.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the resource that you want to untag.

                                                    */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; /** - *

                                                    The Amazon Resource Name (ARN) of the resource that you want to untag.

                                                    + *

                                                    The tag keys to remove from the resource.

                                                    */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -3231,6 +3381,11 @@ export interface UpdateDistributionConfigurationRequest { */ distributionConfigurationArn: string | undefined; + /** + *

                                                    The idempotency token of the distribution configuration.

                                                    + */ + clientToken?: string; + /** *

                                                    The description of the distribution configuration.

                                                    */ @@ -3240,11 +3395,6 @@ export interface UpdateDistributionConfigurationRequest { *

                                                    The distributions of the distribution configuration.

                                                    */ distributions: Distribution[] | undefined; - - /** - *

                                                    The idempotency token of the distribution configuration.

                                                    - */ - clientToken?: string; } export namespace UpdateDistributionConfigurationRequest { @@ -3255,9 +3405,9 @@ export namespace UpdateDistributionConfigurationRequest { export interface UpdateDistributionConfigurationResponse { /** - *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that was updated by this request.

                                                    + *

                                                    The idempotency token used to make this request idempotent.

                                                    */ - distributionConfigurationArn?: string; + clientToken?: string; /** *

                                                    The request ID that uniquely identifies this request.

                                                    @@ -3265,9 +3415,10 @@ export interface UpdateDistributionConfigurationResponse { requestId?: string; /** - *

                                                    The idempotency token used to make this request idempotent.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that was updated by this + * request.

                                                    */ - clientToken?: string; + distributionConfigurationArn?: string; } export namespace UpdateDistributionConfigurationResponse { @@ -3293,29 +3444,34 @@ export interface UpdateImagePipelineRequest { status?: PipelineStatus | string; /** - *

                                                    The image test configuration of the image pipeline.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image recipe that will be used to configure images + * updated by this image pipeline.

                                                    */ - imageTestsConfiguration?: ImageTestsConfiguration; + imageRecipeArn: string | undefined; /** - *

                                                    Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image pipeline that you want to update.

                                                    */ - enhancedImageMetadataEnabled?: boolean; + imagePipelineArn: string | undefined; /** - *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images updated by this image pipeline.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the distribution configuration that will be used to + * configure and distribute images updated by this image pipeline.

                                                    */ distributionConfigurationArn?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images updated by this image pipeline.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to + * build images updated by this image pipeline.

                                                    */ infrastructureConfigurationArn: string | undefined; /** - *

                                                    The Amazon Resource Name (ARN) of the image pipeline that you want to update.

                                                    + *

                                                    Collects additional information about the image being created, including the operating + * system (OS) version and package list. This information is used to enhance the overall + * experience of using EC2 Image Builder. Enabled by default.

                                                    */ - imagePipelineArn: string | undefined; + enhancedImageMetadataEnabled?: boolean; /** *

                                                    The schedule of the image pipeline.

                                                    @@ -3323,9 +3479,9 @@ export interface UpdateImagePipelineRequest { schedule?: Schedule; /** - *

                                                    The Amazon Resource Name (ARN) of the image recipe that will be used to configure images updated by this image pipeline.

                                                    + *

                                                    The image test configuration of the image pipeline.

                                                    */ - imageRecipeArn: string | undefined; + imageTestsConfiguration?: ImageTestsConfiguration; } export namespace UpdateImagePipelineRequest { @@ -3341,14 +3497,14 @@ export interface UpdateImagePipelineResponse { clientToken?: string; /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the image pipeline that was updated by this request.

                                                    */ - requestId?: string; + imagePipelineArn?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the image pipeline that was updated by this request.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - imagePipelineArn?: string; + requestId?: string; } export namespace UpdateImagePipelineResponse { @@ -3359,7 +3515,9 @@ export namespace UpdateImagePipelineResponse { export interface UpdateInfrastructureConfigurationRequest { /** - *

                                                    The terminate instance on failure setting of the infrastructure configuration. Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails.

                                                    + *

                                                    The terminate instance on failure setting of the infrastructure configuration. Set to + * false if you want Image Builder to retain the instance used to configure your AMI if the build + * or test phase of your workflow fails.

                                                    */ terminateInstanceOnFailure?: boolean; @@ -3369,17 +3527,31 @@ export interface UpdateInfrastructureConfigurationRequest { resourceTags?: { [key: string]: string }; /** - *

                                                    The subnet ID to place the instance used to customize your EC2 AMI in.

                                                    + *

                                                    The security group IDs to associate with the instance used to customize your EC2 AMI.

                                                    */ - subnetId?: string; + securityGroupIds?: string[]; /** - *

                                                    The description of the infrastructure configuration.

                                                    + *

                                                    The SNS topic on which to send image build events.

                                                    */ - description?: string; + snsTopicArn?: string; + + /** + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that you want to + * update.

                                                    + */ + infrastructureConfigurationArn: string | undefined; + + /** + *

                                                    The instance types of the infrastructure configuration. You can specify one or more + * instance types to use for this build. The service will pick one of these instance types based + * on availability.

                                                    + */ + instanceTypes?: string[]; /** - *

                                                    The key pair of the infrastructure configuration. This can be used to log on to and debug the instance used to create your image.

                                                    + *

                                                    The key pair of the infrastructure configuration. This can be used to log on to and debug + * the instance used to create your image.

                                                    */ keyPair?: string; @@ -3399,24 +3571,14 @@ export interface UpdateInfrastructureConfigurationRequest { logging?: Logging; /** - *

                                                    The instance types of the infrastructure configuration. You can specify one or more instance types to use for this build. The service will pick one of these instance types based on availability.

                                                    - */ - instanceTypes?: string[]; - - /** - *

                                                    The SNS topic on which to send image build events.

                                                    - */ - snsTopicArn?: string; - - /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that you want to update.

                                                    + *

                                                    The description of the infrastructure configuration.

                                                    */ - infrastructureConfigurationArn: string | undefined; + description?: string; /** - *

                                                    The security group IDs to associate with the instance used to customize your EC2 AMI.

                                                    + *

                                                    The subnet ID to place the instance used to customize your EC2 AMI in.

                                                    */ - securityGroupIds?: string[]; + subnetId?: string; } export namespace UpdateInfrastructureConfigurationRequest { @@ -3432,14 +3594,15 @@ export interface UpdateInfrastructureConfigurationResponse { clientToken?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that was updated by this request.

                                                    + *

                                                    The request ID that uniquely identifies this request.

                                                    */ - infrastructureConfigurationArn?: string; + requestId?: string; /** - *

                                                    The request ID that uniquely identifies this request.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the infrastructure configuration that was updated by + * this request.

                                                    */ - requestId?: string; + infrastructureConfigurationArn?: string; } export namespace UpdateInfrastructureConfigurationResponse { diff --git a/clients/client-imagebuilder/pagination/Interfaces.ts b/clients/client-imagebuilder/pagination/Interfaces.ts new file mode 100644 index 000000000000..651f18f79ab6 --- /dev/null +++ b/clients/client-imagebuilder/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { Imagebuilder } from "../Imagebuilder"; +import { ImagebuilderClient } from "../ImagebuilderClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface ImagebuilderPaginationConfiguration extends PaginationConfiguration { + client: Imagebuilder | ImagebuilderClient; +} diff --git a/clients/client-imagebuilder/pagination/ListComponentBuildVersionsPaginator.ts b/clients/client-imagebuilder/pagination/ListComponentBuildVersionsPaginator.ts new file mode 100644 index 000000000000..25463b69ef7d --- /dev/null +++ b/clients/client-imagebuilder/pagination/ListComponentBuildVersionsPaginator.ts @@ -0,0 +1,51 @@ +import { Imagebuilder } from "../Imagebuilder"; +import { ImagebuilderClient } from "../ImagebuilderClient"; +import { + ListComponentBuildVersionsCommand, + ListComponentBuildVersionsCommandInput, + ListComponentBuildVersionsCommandOutput, +} from "../commands/ListComponentBuildVersionsCommand"; +import { ImagebuilderPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ImagebuilderClient, + input: ListComponentBuildVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListComponentBuildVersionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Imagebuilder, + input: ListComponentBuildVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listComponentBuildVersions(input, ...args); +}; +export async function* listComponentBuildVersionsPaginate( + config: ImagebuilderPaginationConfiguration, + input: ListComponentBuildVersionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListComponentBuildVersionsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Imagebuilder) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ImagebuilderClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-imagebuilder/pagination/ListComponentsPaginator.ts b/clients/client-imagebuilder/pagination/ListComponentsPaginator.ts new file mode 100644 index 000000000000..77adda526d1e --- /dev/null +++ b/clients/client-imagebuilder/pagination/ListComponentsPaginator.ts @@ -0,0 +1,51 @@ +import { Imagebuilder } from "../Imagebuilder"; +import { ImagebuilderClient } from "../ImagebuilderClient"; +import { + ListComponentsCommand, + ListComponentsCommandInput, + ListComponentsCommandOutput, +} from "../commands/ListComponentsCommand"; +import { ImagebuilderPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ImagebuilderClient, + input: ListComponentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListComponentsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Imagebuilder, + input: ListComponentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listComponents(input, ...args); +}; +export async function* listComponentsPaginate( + config: ImagebuilderPaginationConfiguration, + input: ListComponentsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListComponentsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Imagebuilder) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ImagebuilderClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-imagebuilder/pagination/ListDistributionConfigurationsPaginator.ts b/clients/client-imagebuilder/pagination/ListDistributionConfigurationsPaginator.ts new file mode 100644 index 000000000000..c2dabc8af3c3 --- /dev/null +++ b/clients/client-imagebuilder/pagination/ListDistributionConfigurationsPaginator.ts @@ -0,0 +1,51 @@ +import { Imagebuilder } from "../Imagebuilder"; +import { ImagebuilderClient } from "../ImagebuilderClient"; +import { + ListDistributionConfigurationsCommand, + ListDistributionConfigurationsCommandInput, + ListDistributionConfigurationsCommandOutput, +} from "../commands/ListDistributionConfigurationsCommand"; +import { ImagebuilderPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ImagebuilderClient, + input: ListDistributionConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListDistributionConfigurationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Imagebuilder, + input: ListDistributionConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listDistributionConfigurations(input, ...args); +}; +export async function* listDistributionConfigurationsPaginate( + config: ImagebuilderPaginationConfiguration, + input: ListDistributionConfigurationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListDistributionConfigurationsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Imagebuilder) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ImagebuilderClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-imagebuilder/pagination/ListImageBuildVersionsPaginator.ts b/clients/client-imagebuilder/pagination/ListImageBuildVersionsPaginator.ts new file mode 100644 index 000000000000..57117f152d6d --- /dev/null +++ b/clients/client-imagebuilder/pagination/ListImageBuildVersionsPaginator.ts @@ -0,0 +1,51 @@ +import { Imagebuilder } from "../Imagebuilder"; +import { ImagebuilderClient } from "../ImagebuilderClient"; +import { + ListImageBuildVersionsCommand, + ListImageBuildVersionsCommandInput, + ListImageBuildVersionsCommandOutput, +} from "../commands/ListImageBuildVersionsCommand"; +import { ImagebuilderPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ImagebuilderClient, + input: ListImageBuildVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListImageBuildVersionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Imagebuilder, + input: ListImageBuildVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listImageBuildVersions(input, ...args); +}; +export async function* listImageBuildVersionsPaginate( + config: ImagebuilderPaginationConfiguration, + input: ListImageBuildVersionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListImageBuildVersionsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Imagebuilder) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ImagebuilderClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-imagebuilder/pagination/ListImagePipelineImagesPaginator.ts b/clients/client-imagebuilder/pagination/ListImagePipelineImagesPaginator.ts new file mode 100644 index 000000000000..daa10881c320 --- /dev/null +++ b/clients/client-imagebuilder/pagination/ListImagePipelineImagesPaginator.ts @@ -0,0 +1,51 @@ +import { Imagebuilder } from "../Imagebuilder"; +import { ImagebuilderClient } from "../ImagebuilderClient"; +import { + ListImagePipelineImagesCommand, + ListImagePipelineImagesCommandInput, + ListImagePipelineImagesCommandOutput, +} from "../commands/ListImagePipelineImagesCommand"; +import { ImagebuilderPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ImagebuilderClient, + input: ListImagePipelineImagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListImagePipelineImagesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Imagebuilder, + input: ListImagePipelineImagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listImagePipelineImages(input, ...args); +}; +export async function* listImagePipelineImagesPaginate( + config: ImagebuilderPaginationConfiguration, + input: ListImagePipelineImagesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListImagePipelineImagesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Imagebuilder) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ImagebuilderClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-imagebuilder/pagination/ListImagePipelinesPaginator.ts b/clients/client-imagebuilder/pagination/ListImagePipelinesPaginator.ts new file mode 100644 index 000000000000..7228315fbd8d --- /dev/null +++ b/clients/client-imagebuilder/pagination/ListImagePipelinesPaginator.ts @@ -0,0 +1,51 @@ +import { Imagebuilder } from "../Imagebuilder"; +import { ImagebuilderClient } from "../ImagebuilderClient"; +import { + ListImagePipelinesCommand, + ListImagePipelinesCommandInput, + ListImagePipelinesCommandOutput, +} from "../commands/ListImagePipelinesCommand"; +import { ImagebuilderPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ImagebuilderClient, + input: ListImagePipelinesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListImagePipelinesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Imagebuilder, + input: ListImagePipelinesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listImagePipelines(input, ...args); +}; +export async function* listImagePipelinesPaginate( + config: ImagebuilderPaginationConfiguration, + input: ListImagePipelinesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListImagePipelinesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Imagebuilder) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ImagebuilderClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-imagebuilder/pagination/ListImageRecipesPaginator.ts b/clients/client-imagebuilder/pagination/ListImageRecipesPaginator.ts new file mode 100644 index 000000000000..7adfff4575b6 --- /dev/null +++ b/clients/client-imagebuilder/pagination/ListImageRecipesPaginator.ts @@ -0,0 +1,51 @@ +import { Imagebuilder } from "../Imagebuilder"; +import { ImagebuilderClient } from "../ImagebuilderClient"; +import { + ListImageRecipesCommand, + ListImageRecipesCommandInput, + ListImageRecipesCommandOutput, +} from "../commands/ListImageRecipesCommand"; +import { ImagebuilderPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ImagebuilderClient, + input: ListImageRecipesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListImageRecipesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Imagebuilder, + input: ListImageRecipesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listImageRecipes(input, ...args); +}; +export async function* listImageRecipesPaginate( + config: ImagebuilderPaginationConfiguration, + input: ListImageRecipesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListImageRecipesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Imagebuilder) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ImagebuilderClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-imagebuilder/pagination/ListImagesPaginator.ts b/clients/client-imagebuilder/pagination/ListImagesPaginator.ts new file mode 100644 index 000000000000..a694968967f6 --- /dev/null +++ b/clients/client-imagebuilder/pagination/ListImagesPaginator.ts @@ -0,0 +1,47 @@ +import { Imagebuilder } from "../Imagebuilder"; +import { ImagebuilderClient } from "../ImagebuilderClient"; +import { ListImagesCommand, ListImagesCommandInput, ListImagesCommandOutput } from "../commands/ListImagesCommand"; +import { ImagebuilderPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ImagebuilderClient, + input: ListImagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListImagesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Imagebuilder, + input: ListImagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listImages(input, ...args); +}; +export async function* listImagesPaginate( + config: ImagebuilderPaginationConfiguration, + input: ListImagesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListImagesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Imagebuilder) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ImagebuilderClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-imagebuilder/pagination/ListInfrastructureConfigurationsPaginator.ts b/clients/client-imagebuilder/pagination/ListInfrastructureConfigurationsPaginator.ts new file mode 100644 index 000000000000..bf0f64db1f70 --- /dev/null +++ b/clients/client-imagebuilder/pagination/ListInfrastructureConfigurationsPaginator.ts @@ -0,0 +1,51 @@ +import { Imagebuilder } from "../Imagebuilder"; +import { ImagebuilderClient } from "../ImagebuilderClient"; +import { + ListInfrastructureConfigurationsCommand, + ListInfrastructureConfigurationsCommandInput, + ListInfrastructureConfigurationsCommandOutput, +} from "../commands/ListInfrastructureConfigurationsCommand"; +import { ImagebuilderPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ImagebuilderClient, + input: ListInfrastructureConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInfrastructureConfigurationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Imagebuilder, + input: ListInfrastructureConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInfrastructureConfigurations(input, ...args); +}; +export async function* listInfrastructureConfigurationsPaginate( + config: ImagebuilderPaginationConfiguration, + input: ListInfrastructureConfigurationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListInfrastructureConfigurationsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Imagebuilder) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ImagebuilderClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-imagebuilder/protocols/Aws_restJson1.ts b/clients/client-imagebuilder/protocols/Aws_restJson1.ts index 93f3cd7da238..c63a15fd8c03 100644 --- a/clients/client-imagebuilder/protocols/Aws_restJson1.ts +++ b/clients/client-imagebuilder/protocols/Aws_restJson1.ts @@ -6369,13 +6369,12 @@ const serializeAws_restJson1AmiDistributionConfiguration = ( launchPermission: serializeAws_restJson1LaunchPermissionConfiguration(input.launchPermission, context), }), ...(input.name !== undefined && { name: input.name }), + ...(input.targetAccountIds !== undefined && { + targetAccountIds: serializeAws_restJson1AccountList(input.targetAccountIds, context), + }), }; }; -const serializeAws_restJson1ArnList = (input: string[], context: __SerdeContext): any => { - return input.map((entry) => entry); -}; - const serializeAws_restJson1ComponentConfiguration = (input: ComponentConfiguration, context: __SerdeContext): any => { return { ...(input.componentArn !== undefined && { componentArn: input.componentArn }), @@ -6398,7 +6397,10 @@ const serializeAws_restJson1Distribution = (input: Distribution, context: __Serd ), }), ...(input.licenseConfigurationArns !== undefined && { - licenseConfigurationArns: serializeAws_restJson1ArnList(input.licenseConfigurationArns, context), + licenseConfigurationArns: serializeAws_restJson1LicenseConfigurationArnList( + input.licenseConfigurationArns, + context + ), }), ...(input.region !== undefined && { region: input.region }), }; @@ -6483,6 +6485,10 @@ const serializeAws_restJson1LaunchPermissionConfiguration = ( }; }; +const serializeAws_restJson1LicenseConfigurationArnList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_restJson1Logging = (input: Logging, context: __SerdeContext): any => { return { ...(input.s3Logs !== undefined && { s3Logs: serializeAws_restJson1S3Logs(input.s3Logs, context) }), @@ -6543,6 +6549,7 @@ const deserializeAws_restJson1AccountList = (output: any, context: __SerdeContex const deserializeAws_restJson1Ami = (output: any, context: __SerdeContext): Ami => { return { + accountId: output.accountId !== undefined && output.accountId !== null ? output.accountId : undefined, description: output.description !== undefined && output.description !== null ? output.description : undefined, image: output.image !== undefined && output.image !== null ? output.image : undefined, name: output.name !== undefined && output.name !== null ? output.name : undefined, @@ -6570,6 +6577,10 @@ const deserializeAws_restJson1AmiDistributionConfiguration = ( ? deserializeAws_restJson1LaunchPermissionConfiguration(output.launchPermission, context) : undefined, name: output.name !== undefined && output.name !== null ? output.name : undefined, + targetAccountIds: + output.targetAccountIds !== undefined && output.targetAccountIds !== null + ? deserializeAws_restJson1AccountList(output.targetAccountIds, context) + : undefined, } as any; }; @@ -6577,10 +6588,6 @@ const deserializeAws_restJson1AmiList = (output: any, context: __SerdeContext): return (output || []).map((entry: any) => deserializeAws_restJson1Ami(entry, context)); }; -const deserializeAws_restJson1ArnList = (output: any, context: __SerdeContext): string[] => { - return (output || []).map((entry: any) => entry); -}; - const deserializeAws_restJson1Component = (output: any, context: __SerdeContext): Component => { return { arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, @@ -6683,7 +6690,7 @@ const deserializeAws_restJson1Distribution = (output: any, context: __SerdeConte : undefined, licenseConfigurationArns: output.licenseConfigurationArns !== undefined && output.licenseConfigurationArns !== null - ? deserializeAws_restJson1ArnList(output.licenseConfigurationArns, context) + ? deserializeAws_restJson1LicenseConfigurationArnList(output.licenseConfigurationArns, context) : undefined, region: output.region !== undefined && output.region !== null ? output.region : undefined, } as any; @@ -7078,6 +7085,10 @@ const deserializeAws_restJson1LaunchPermissionConfiguration = ( } as any; }; +const deserializeAws_restJson1LicenseConfigurationArnList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_restJson1Logging = (output: any, context: __SerdeContext): Logging => { return { s3Logs: diff --git a/clients/client-inspector/models/models_0.ts b/clients/client-inspector/models/models_0.ts index 195a9bb5f1dc..3fb9dbbeacf6 100644 --- a/clients/client-inspector/models/models_0.ts +++ b/clients/client-inspector/models/models_0.ts @@ -132,14 +132,14 @@ export interface InternalException extends __SmithyException, $MetadataBearer { name: "InternalException"; $fault: "server"; /** - *

                                                    Details of the exception error.

                                                    + *

                                                    You can immediately retry your request.

                                                    */ - message: string | undefined; + canRetry: boolean | undefined; /** - *

                                                    You can immediately retry your request.

                                                    + *

                                                    Details of the exception error.

                                                    */ - canRetry: boolean | undefined; + message: string | undefined; } export namespace InternalException { @@ -258,14 +258,14 @@ export interface NoSuchEntityException extends __SmithyException, $MetadataBeare canRetry: boolean | undefined; /** - *

                                                    Code that indicates the type of error that is generated.

                                                    + *

                                                    Details of the exception error.

                                                    */ - errorCode: NoSuchEntityErrorCode | string | undefined; + message: string | undefined; /** - *

                                                    Details of the exception error.

                                                    + *

                                                    Code that indicates the type of error that is generated.

                                                    */ - message: string | undefined; + errorCode: NoSuchEntityErrorCode | string | undefined; } export namespace NoSuchEntityException { @@ -362,11 +362,6 @@ export namespace AgentFilter { *

                                                    Used as a response element in the PreviewAgents action.

                                                    */ export interface AgentPreview { - /** - *

                                                    The health status of the Amazon Inspector Agent.

                                                    - */ - agentHealth?: AgentHealth | string; - /** *

                                                    The kernel version of the operating system running on the EC2 instance on which the * Amazon Inspector Agent is installed.

                                                    @@ -374,15 +369,15 @@ export interface AgentPreview { kernelVersion?: string; /** - *

                                                    The operating system running on the EC2 instance on which the Amazon Inspector Agent - * is installed.

                                                    + *

                                                    The Auto Scaling group for the EC2 instance where the agent is installed.

                                                    */ - operatingSystem?: string; + autoScalingGroup?: string; /** - *

                                                    The Auto Scaling group for the EC2 instance where the agent is installed.

                                                    + *

                                                    The operating system running on the EC2 instance on which the Amazon Inspector Agent + * is installed.

                                                    */ - autoScalingGroup?: string; + operatingSystem?: string; /** *

                                                    The version of the Amazon Inspector Agent.

                                                    @@ -401,6 +396,11 @@ export interface AgentPreview { */ hostname?: string; + /** + *

                                                    The health status of the Amazon Inspector Agent.

                                                    + */ + agentHealth?: AgentHealth | string; + /** *

                                                    The ID of the EC2 instance where the agent is installed.

                                                    */ @@ -426,9 +426,9 @@ export interface AgentsAlreadyRunningAssessmentException extends __SmithyExcepti agents: AgentAlreadyRunningAssessment[] | undefined; /** - *

                                                    + *

                                                    You can immediately retry your request.

                                                    */ - agentsTruncated: boolean | undefined; + canRetry: boolean | undefined; /** *

                                                    Details of the exception error.

                                                    @@ -436,9 +436,9 @@ export interface AgentsAlreadyRunningAssessmentException extends __SmithyExcepti message: string | undefined; /** - *

                                                    You can immediately retry your request.

                                                    + *

                                                    */ - canRetry: boolean | undefined; + agentsTruncated: boolean | undefined; } export namespace AgentsAlreadyRunningAssessmentException { @@ -476,9 +476,9 @@ export enum AssessmentRunNotificationSnsStatusCode { */ export interface AssessmentRunNotification { /** - *

                                                    The message included in the notification.

                                                    + *

                                                    The status code of the SNS notification.

                                                    */ - message?: string; + snsPublishStatusCode?: AssessmentRunNotificationSnsStatusCode | string; /** *

                                                    The date of the notification.

                                                    @@ -486,25 +486,25 @@ export interface AssessmentRunNotification { date: Date | undefined; /** - *

                                                    The status code of the SNS notification.

                                                    + *

                                                    The Boolean value that specifies whether the notification represents an + * error.

                                                    */ - snsPublishStatusCode?: AssessmentRunNotificationSnsStatusCode | string; + error: boolean | undefined; /** - *

                                                    The event for which a notification is sent.

                                                    + *

                                                    The SNS topic to which the SNS notification is sent.

                                                    */ - event: InspectorEvent | string | undefined; + snsTopicArn?: string; /** - *

                                                    The SNS topic to which the SNS notification is sent.

                                                    + *

                                                    The event for which a notification is sent.

                                                    */ - snsTopicArn?: string; + event: InspectorEvent | string | undefined; /** - *

                                                    The Boolean value that specifies whether the notification represents an - * error.

                                                    + *

                                                    The message included in the notification.

                                                    */ - error: boolean | undefined; + message?: string; } export namespace AssessmentRunNotification { @@ -559,83 +559,83 @@ export namespace AssessmentRunStateChange { */ export interface AssessmentRun { /** - *

                                                    Provides a total count of generated findings per severity.

                                                    + *

                                                    A Boolean value (true or false) that specifies whether the process of collecting data + * from the agents is completed.

                                                    */ - findingCounts: { [key: string]: number } | undefined; + dataCollected: boolean | undefined; /** - *

                                                    The user-defined attributes that are assigned to every generated finding.

                                                    + *

                                                    The ARN of the assessment run.

                                                    */ - userAttributesForFindings: Attribute[] | undefined; + arn: string | undefined; /** - *

                                                    The rules packages selected for the assessment run.

                                                    + *

                                                    The auto-generated name for the assessment run.

                                                    */ - rulesPackageArns: string[] | undefined; + name: string | undefined; /** - *

                                                    The ARN of the assessment template that is associated with the assessment - * run.

                                                    + *

                                                    The last time when the assessment run's state changed.

                                                    */ - assessmentTemplateArn: string | undefined; + stateChangedAt: Date | undefined; /** - *

                                                    A list of notifications for the event subscriptions. A notification about a - * particular generated finding is added to this list only once.

                                                    + *

                                                    A list of the assessment run state changes.

                                                    */ - notifications: AssessmentRunNotification[] | undefined; + stateChanges: AssessmentRunStateChange[] | undefined; /** - *

                                                    The state of the assessment run.

                                                    + *

                                                    The time when StartAssessmentRun was called.

                                                    */ - state: AssessmentRunState | string | undefined; + startedAt?: Date; /** - *

                                                    The assessment run completion time that corresponds to the rules packages evaluation - * completion time or failure.

                                                    + *

                                                    The time when StartAssessmentRun was called.

                                                    */ - completedAt?: Date; + createdAt: Date | undefined; /** - *

                                                    The last time when the assessment run's state changed.

                                                    + *

                                                    The duration of the assessment run.

                                                    */ - stateChangedAt: Date | undefined; + durationInSeconds: number | undefined; /** - *

                                                    The auto-generated name for the assessment run.

                                                    + *

                                                    The rules packages selected for the assessment run.

                                                    */ - name: string | undefined; + rulesPackageArns: string[] | undefined; /** - *

                                                    The ARN of the assessment run.

                                                    + *

                                                    The user-defined attributes that are assigned to every generated finding.

                                                    */ - arn: string | undefined; + userAttributesForFindings: Attribute[] | undefined; /** - *

                                                    The time when StartAssessmentRun was called.

                                                    + *

                                                    Provides a total count of generated findings per severity.

                                                    */ - startedAt?: Date; + findingCounts: { [key: string]: number } | undefined; /** - *

                                                    A list of the assessment run state changes.

                                                    + *

                                                    The ARN of the assessment template that is associated with the assessment + * run.

                                                    */ - stateChanges: AssessmentRunStateChange[] | undefined; + assessmentTemplateArn: string | undefined; /** - *

                                                    The duration of the assessment run.

                                                    + *

                                                    A list of notifications for the event subscriptions. A notification about a + * particular generated finding is added to this list only once.

                                                    */ - durationInSeconds: number | undefined; + notifications: AssessmentRunNotification[] | undefined; /** - *

                                                    The time when StartAssessmentRun was called.

                                                    + *

                                                    The state of the assessment run.

                                                    */ - createdAt: Date | undefined; + state: AssessmentRunState | string | undefined; /** - *

                                                    A Boolean value (true or false) that specifies whether the process of collecting data - * from the agents is completed.

                                                    + *

                                                    The assessment run completion time that corresponds to the rules packages evaluation + * completion time or failure.

                                                    */ - dataCollected: boolean | undefined; + completedAt?: Date; } export namespace AssessmentRun { @@ -655,15 +655,15 @@ export interface TelemetryMetadata { count: number | undefined; /** - *

                                                    The data size of messages that the agent sends to the Amazon Inspector - * service.

                                                    + *

                                                    A specific type of behavioral data that is collected by the agent.

                                                    */ - dataSize?: number; + messageType: string | undefined; /** - *

                                                    A specific type of behavioral data that is collected by the agent.

                                                    + *

                                                    The data size of messages that the agent sends to the Amazon Inspector + * service.

                                                    */ - messageType: string | undefined; + dataSize?: number; } export namespace TelemetryMetadata { @@ -682,11 +682,6 @@ export interface AssessmentRunAgent { */ assessmentRunArn: string | undefined; - /** - *

                                                    The detailed health state of the agent.

                                                    - */ - agentHealthCode: AgentHealthCode | string | undefined; - /** *

                                                    The Auto Scaling group of the EC2 instance that is specified by the agent * ID.

                                                    @@ -694,15 +689,20 @@ export interface AssessmentRunAgent { autoScalingGroup?: string; /** - *

                                                    The AWS account of the EC2 instance where the agent is installed.

                                                    + *

                                                    The detailed health state of the agent.

                                                    */ - agentId: string | undefined; + agentHealthCode: AgentHealthCode | string | undefined; /** *

                                                    The current health state of the agent.

                                                    */ agentHealth: AgentHealth | string | undefined; + /** + *

                                                    The AWS account of the EC2 instance where the agent is installed.

                                                    + */ + agentId: string | undefined; + /** *

                                                    The Amazon Inspector application data metrics that are collected by the * agent.

                                                    @@ -771,6 +771,13 @@ export namespace DurationRange { * action.

                                                    */ export interface AssessmentRunFilter { + /** + *

                                                    For a record to match a filter, the value that is specified for this data type + * property must inclusively match any value between the specified minimum and maximum values + * of the startTime property of the AssessmentRun data type.

                                                    + */ + startTimeRange?: TimestampRange; + /** *

                                                    For a record to match a filter, an explicit value or a string containing a wildcard * that is specified for this data type property must match the value of the assessmentRunName property of the AssessmentRun @@ -778,19 +785,12 @@ export interface AssessmentRunFilter { */ namePattern?: string; - /** - *

                                                    For a record to match a filter, one of the values specified for this data type - * property must be the exact match of the value of the assessmentRunState property of the AssessmentRun data - * type.

                                                    - */ - states?: (AssessmentRunState | string)[]; - /** *

                                                    For a record to match a filter, the value that is specified for this data type - * property must inclusively match any value between the specified minimum and maximum values - * of the startTime property of the AssessmentRun data type.

                                                    + * property must be contained in the list of values of the rulesPackages property of the AssessmentRun data + * type.

                                                    */ - startTimeRange?: TimestampRange; + rulesPackageArns?: string[]; /** *

                                                    For a record to match a filter, the value that is specified for this data type @@ -800,11 +800,11 @@ export interface AssessmentRunFilter { durationRange?: DurationRange; /** - *

                                                    For a record to match a filter, the value that is specified for this data type - * property must be contained in the list of values of the rulesPackages property of the AssessmentRun data + *

                                                    For a record to match a filter, one of the values specified for this data type + * property must be the exact match of the value of the assessmentRunState property of the AssessmentRun data * type.

                                                    */ - rulesPackageArns?: string[]; + states?: (AssessmentRunState | string)[]; /** *

                                                    For a record to match a filter, the value that is specified for this data type @@ -835,25 +835,25 @@ export interface AssessmentRunInProgressException extends __SmithyException, $Me name: "AssessmentRunInProgressException"; $fault: "client"; /** - *

                                                    The ARNs of the assessment runs that are currently in progress.

                                                    + *

                                                    You can immediately retry your request.

                                                    */ - assessmentRunArns: string[] | undefined; + canRetry: boolean | undefined; /** - *

                                                    Boolean value that indicates whether the ARN list of the assessment runs is - * truncated.

                                                    + *

                                                    Details of the exception error.

                                                    */ - assessmentRunArnsTruncated: boolean | undefined; + message: string | undefined; /** - *

                                                    You can immediately retry your request.

                                                    + *

                                                    The ARNs of the assessment runs that are currently in progress.

                                                    */ - canRetry: boolean | undefined; + assessmentRunArns: string[] | undefined; /** - *

                                                    Details of the exception error.

                                                    + *

                                                    Boolean value that indicates whether the ARN list of the assessment runs is + * truncated.

                                                    */ - message: string | undefined; + assessmentRunArnsTruncated: boolean | undefined; } export namespace AssessmentRunInProgressException { @@ -868,25 +868,25 @@ export namespace AssessmentRunInProgressException { */ export interface AssessmentTarget { /** - *

                                                    The ARN that specifies the Amazon Inspector assessment target.

                                                    + *

                                                    The time at which UpdateAssessmentTarget is called.

                                                    */ - arn: string | undefined; + updatedAt: Date | undefined; /** - *

                                                    The time at which UpdateAssessmentTarget is called.

                                                    + *

                                                    The name of the Amazon Inspector assessment target.

                                                    */ - updatedAt: Date | undefined; + name: string | undefined; /** - *

                                                    The ARN that specifies the resource group that is associated with the assessment - * target.

                                                    + *

                                                    The ARN that specifies the Amazon Inspector assessment target.

                                                    */ - resourceGroupArn?: string; + arn: string | undefined; /** - *

                                                    The name of the Amazon Inspector assessment target.

                                                    + *

                                                    The ARN that specifies the resource group that is associated with the assessment + * target.

                                                    */ - name: string | undefined; + resourceGroupArn?: string; /** *

                                                    The time at which the assessment target is created.

                                                    @@ -926,10 +926,11 @@ export namespace AssessmentTargetFilter { */ export interface AssessmentTemplate { /** - *

                                                    The ARN of the assessment target that corresponds to this assessment - * template.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the most recent assessment run associated with this + * assessment template. This value exists only when the value of assessmentRunCount is + * greaterpa than zero.

                                                    */ - assessmentTargetArn: string | undefined; + lastAssessmentRunArn?: string; /** *

                                                    The duration in seconds specified for this assessment template. The default value is @@ -938,11 +939,10 @@ export interface AssessmentTemplate { durationInSeconds: number | undefined; /** - *

                                                    The Amazon Resource Name (ARN) of the most recent assessment run associated with this - * assessment template. This value exists only when the value of assessmentRunCount is - * greaterpa than zero.

                                                    + *

                                                    The user-defined attributes that are assigned to every generated finding from the + * assessment run that uses this assessment template.

                                                    */ - lastAssessmentRunArn?: string; + userAttributesForFindings: Attribute[] | undefined; /** *

                                                    The time at which the assessment template is created.

                                                    @@ -950,31 +950,31 @@ export interface AssessmentTemplate { createdAt: Date | undefined; /** - *

                                                    The number of existing assessment runs associated with this assessment template. This - * value can be zero or a positive integer.

                                                    + *

                                                    The name of the assessment template.

                                                    */ - assessmentRunCount: number | undefined; + name: string | undefined; /** - *

                                                    The rules packages that are specified for this assessment template.

                                                    + *

                                                    The number of existing assessment runs associated with this assessment template. This + * value can be zero or a positive integer.

                                                    */ - rulesPackageArns: string[] | undefined; + assessmentRunCount: number | undefined; /** - *

                                                    The user-defined attributes that are assigned to every generated finding from the - * assessment run that uses this assessment template.

                                                    + *

                                                    The ARN of the assessment template.

                                                    */ - userAttributesForFindings: Attribute[] | undefined; + arn: string | undefined; /** - *

                                                    The ARN of the assessment template.

                                                    + *

                                                    The ARN of the assessment target that corresponds to this assessment + * template.

                                                    */ - arn: string | undefined; + assessmentTargetArn: string | undefined; /** - *

                                                    The name of the assessment template.

                                                    + *

                                                    The rules packages that are specified for this assessment template.

                                                    */ - name: string | undefined; + rulesPackageArns: string[] | undefined; } export namespace AssessmentTemplate { @@ -995,19 +995,19 @@ export interface AssessmentTemplateFilter { */ namePattern?: string; - /** - *

                                                    For a record to match a filter, the values that are specified for this data type - * property must be contained in the list of values of the rulesPackageArns property of the AssessmentTemplate data - * type.

                                                    - */ - rulesPackageArns?: string[]; - /** *

                                                    For a record to match a filter, the value specified for this data type property must * inclusively match any value between the specified minimum and maximum values of the * durationInSeconds property of the AssessmentTemplate data type.

                                                    */ durationRange?: DurationRange; + + /** + *

                                                    For a record to match a filter, the values that are specified for this data type + * property must be contained in the list of values of the rulesPackageArns property of the AssessmentTemplate data + * type.

                                                    + */ + rulesPackageArns?: string[]; } export namespace AssessmentTemplateFilter { @@ -1023,14 +1023,14 @@ export namespace AssessmentTemplateFilter { */ export interface PrivateIp { /** - *

                                                    The full IP address of the network inteface.

                                                    + *

                                                    The DNS name of the private IP address.

                                                    */ - privateIpAddress?: string; + privateDnsName?: string; /** - *

                                                    The DNS name of the private IP address.

                                                    + *

                                                    The full IP address of the network inteface.

                                                    */ - privateDnsName?: string; + privateIpAddress?: string; } export namespace PrivateIp { @@ -1045,45 +1045,29 @@ export namespace PrivateIp { * type.

                                                    */ export interface SecurityGroup { - /** - *

                                                    The name of the security group.

                                                    - */ - groupName?: string; - /** *

                                                    The ID of the security group.

                                                    */ groupId?: string; -} - -export namespace SecurityGroup { - export const filterSensitiveLog = (obj: SecurityGroup): any => ({ - ...obj, - }); -} - -/** - *

                                                    Contains information about the network interfaces interacting with an EC2 instance. - * This data type is used as one of the elements of the AssetAttributes data - * type.

                                                    - */ -export interface NetworkInterface { - /** - *

                                                    The ID of the network interface.

                                                    - */ - networkInterfaceId?: string; /** - *

                                                    The ID of a subnet associated with the network interface.

                                                    + *

                                                    The name of the security group.

                                                    */ - subnetId?: string; + groupName?: string; +} - /** - *

                                                    A list of the private IP addresses associated with the network interface. Includes - * the privateDnsName and privateIpAddress.

                                                    - */ - privateIpAddresses?: PrivateIp[]; +export namespace SecurityGroup { + export const filterSensitiveLog = (obj: SecurityGroup): any => ({ + ...obj, + }); +} +/** + *

                                                    Contains information about the network interfaces interacting with an EC2 instance. + * This data type is used as one of the elements of the AssetAttributes data + * type.

                                                    + */ +export interface NetworkInterface { /** *

                                                    The ID of a VPC associated with the network interface.

                                                    */ @@ -1094,6 +1078,11 @@ export interface NetworkInterface { */ ipv6Addresses?: string[]; + /** + *

                                                    The ID of the network interface.

                                                    + */ + networkInterfaceId?: string; + /** *

                                                    The public IP address from which the network interface is reachable.

                                                    */ @@ -1110,15 +1099,26 @@ export interface NetworkInterface { privateIpAddress?: string; /** - *

                                                    The name of a public DNS associated with the network interface.

                                                    + *

                                                    A list of the private IP addresses associated with the network interface. Includes + * the privateDnsName and privateIpAddress.

                                                    */ - publicDnsName?: string; + privateIpAddresses?: PrivateIp[]; + + /** + *

                                                    The ID of a subnet associated with the network interface.

                                                    + */ + subnetId?: string; /** *

                                                    A list of the security groups associated with the network interface. Includes the * groupId and groupName.

                                                    */ securityGroups?: SecurityGroup[]; + + /** + *

                                                    The name of a public DNS associated with the network interface.

                                                    + */ + publicDnsName?: string; } export namespace NetworkInterface { @@ -1152,6 +1152,11 @@ export namespace Tag { *

                                                    A collection of attributes of the host from which the finding is generated.

                                                    */ export interface AssetAttributes { + /** + *

                                                    The hostname of the EC2 instance where the finding is generated.

                                                    + */ + hostname?: string; + /** *

                                                    The ID of the Amazon Machine Image (AMI) that is installed on the EC2 instance where * the finding is generated.

                                                    @@ -1159,9 +1164,10 @@ export interface AssetAttributes { amiId?: string; /** - *

                                                    The hostname of the EC2 instance where the finding is generated.

                                                    + *

                                                    The ID of the agent that is installed on the EC2 instance where the finding is + * generated.

                                                    */ - hostname?: string; + agentId?: string; /** *

                                                    An array of the network interfaces interacting with the EC2 instance where the @@ -1170,21 +1176,15 @@ export interface AssetAttributes { networkInterfaces?: NetworkInterface[]; /** - *

                                                    The ID of the agent that is installed on the EC2 instance where the finding is - * generated.

                                                    + *

                                                    The Auto Scaling group of the EC2 instance where the finding is generated.

                                                    */ - agentId?: string; + autoScalingGroup?: string; /** *

                                                    The tags related to the EC2 instance where the finding is generated.

                                                    */ tags?: Tag[]; - /** - *

                                                    The Auto Scaling group of the EC2 instance where the finding is generated.

                                                    - */ - autoScalingGroup?: string; - /** *

                                                    The list of IP v4 addresses of the EC2 instance where the finding is * generated.

                                                    @@ -1259,14 +1259,14 @@ export interface InvalidCrossAccountRoleException extends __SmithyException, $Me message: string | undefined; /** - *

                                                    Code that indicates the type of error that is generated.

                                                    + *

                                                    You can immediately retry your request.

                                                    */ - errorCode: InvalidCrossAccountRoleErrorCode | string | undefined; + canRetry: boolean | undefined; /** - *

                                                    You can immediately retry your request.

                                                    + *

                                                    Code that indicates the type of error that is generated.

                                                    */ - canRetry: boolean | undefined; + errorCode: InvalidCrossAccountRoleErrorCode | string | undefined; } export namespace InvalidCrossAccountRoleException { @@ -1296,14 +1296,14 @@ export interface LimitExceededException extends __SmithyException, $MetadataBear message: string | undefined; /** - *

                                                    Code that indicates the type of error that is generated.

                                                    + *

                                                    You can immediately retry your request.

                                                    */ - errorCode: LimitExceededErrorCode | string | undefined; + canRetry: boolean | undefined; /** - *

                                                    You can immediately retry your request.

                                                    + *

                                                    Code that indicates the type of error that is generated.

                                                    */ - canRetry: boolean | undefined; + errorCode: LimitExceededErrorCode | string | undefined; } export namespace LimitExceededException { @@ -1313,12 +1313,6 @@ export namespace LimitExceededException { } export interface CreateAssessmentTemplateRequest { - /** - *

                                                    The ARNs that specify the rules packages that you want to attach to the assessment - * template.

                                                    - */ - rulesPackageArns: string[] | undefined; - /** *

                                                    The user-defined name that identifies the assessment template that you want to * create. You can create several assessment templates for an assessment target. The names of @@ -1327,6 +1321,12 @@ export interface CreateAssessmentTemplateRequest { */ assessmentTemplateName: string | undefined; + /** + *

                                                    The ARNs that specify the rules packages that you want to attach to the assessment + * template.

                                                    + */ + rulesPackageArns: string[] | undefined; + /** *

                                                    The ARN that specifies the assessment target for which you want to create the * assessment template.

                                                    @@ -1673,9 +1673,9 @@ export namespace Scope { */ export interface Exclusion { /** - *

                                                    The description of the exclusion.

                                                    + *

                                                    The ARN that specifies the exclusion.

                                                    */ - description: string | undefined; + arn: string | undefined; /** *

                                                    The AWS resources for which the exclusion pertains.

                                                    @@ -1688,19 +1688,19 @@ export interface Exclusion { attributes?: Attribute[]; /** - *

                                                    The recommendation for the exclusion.

                                                    + *

                                                    The description of the exclusion.

                                                    */ - recommendation: string | undefined; + description: string | undefined; /** - *

                                                    The ARN that specifies the exclusion.

                                                    + *

                                                    The name of the exclusion.

                                                    */ - arn: string | undefined; + title: string | undefined; /** - *

                                                    The name of the exclusion.

                                                    + *

                                                    The recommendation for the exclusion.

                                                    */ - title: string | undefined; + recommendation: string | undefined; } export namespace Exclusion { @@ -1751,11 +1751,6 @@ export namespace DescribeFindingsRequest { *

                                                    This data type is used in the Finding data type.

                                                    */ export interface InspectorServiceAttributes { - /** - *

                                                    The ARN of the assessment run during which the finding is generated.

                                                    - */ - assessmentRunArn?: string; - /** *

                                                    The schema version of this data type.

                                                    */ @@ -1765,6 +1760,11 @@ export interface InspectorServiceAttributes { *

                                                    The ARN of the rules package that is used to generate the finding.

                                                    */ rulesPackageArn?: string; + + /** + *

                                                    The ARN of the assessment run during which the finding is generated.

                                                    + */ + assessmentRunArn?: string; } export namespace InspectorServiceAttributes { @@ -1779,40 +1779,39 @@ export namespace InspectorServiceAttributes { */ export interface Finding { /** - *

                                                    The finding severity. Values can be set to High, Medium, Low, and - * Informational.

                                                    + *

                                                    A collection of attributes of the host from which the finding is generated.

                                                    */ - severity?: Severity | string; + assetAttributes?: AssetAttributes; /** - *

                                                    The numeric value of the finding severity.

                                                    + *

                                                    The type of the host from which the finding is generated.

                                                    */ - numericSeverity?: number; + assetType?: AssetType | string; /** - *

                                                    The name of the finding.

                                                    + *

                                                    The description of the finding.

                                                    */ - title?: string; + description?: string; /** - *

                                                    The ARN that specifies the finding.

                                                    + *

                                                    The data element is set to "Inspector".

                                                    */ - arn: string | undefined; + service?: string; /** - *

                                                    The type of the host from which the finding is generated.

                                                    + *

                                                    This data element is currently not used.

                                                    */ - assetType?: AssetType | string; + indicatorOfCompromise?: boolean; /** - *

                                                    The schema version of this data type.

                                                    + *

                                                    The numeric value of the finding severity.

                                                    */ - schemaVersion?: number; + numericSeverity?: number; /** - *

                                                    The ID of the finding.

                                                    + *

                                                    This data element is currently not used.

                                                    */ - id?: string; + confidence?: number; /** *

                                                    The time when AddAttributesToFindings is called.

                                                    @@ -1820,54 +1819,55 @@ export interface Finding { updatedAt: Date | undefined; /** - *

                                                    This data type is used in the Finding data type.

                                                    + *

                                                    The user-defined attributes that are assigned to the finding.

                                                    */ - serviceAttributes?: InspectorServiceAttributes; + userAttributes: Attribute[] | undefined; /** - *

                                                    The recommendation for the finding.

                                                    + *

                                                    The ID of the finding.

                                                    */ - recommendation?: string; + id?: string; /** - *

                                                    The user-defined attributes that are assigned to the finding.

                                                    + *

                                                    The finding severity. Values can be set to High, Medium, Low, and + * Informational.

                                                    */ - userAttributes: Attribute[] | undefined; + severity?: Severity | string; /** - *

                                                    The system-defined attributes for the finding.

                                                    + *

                                                    The ARN that specifies the finding.

                                                    */ - attributes: Attribute[] | undefined; + arn: string | undefined; /** - *

                                                    The time when the finding was generated.

                                                    + *

                                                    The name of the finding.

                                                    */ - createdAt: Date | undefined; + title?: string; /** - *

                                                    A collection of attributes of the host from which the finding is generated.

                                                    + *

                                                    The schema version of this data type.

                                                    */ - assetAttributes?: AssetAttributes; + schemaVersion?: number; /** - *

                                                    The data element is set to "Inspector".

                                                    + *

                                                    The recommendation for the finding.

                                                    */ - service?: string; + recommendation?: string; /** - *

                                                    This data element is currently not used.

                                                    + *

                                                    This data type is used in the Finding data type.

                                                    */ - indicatorOfCompromise?: boolean; + serviceAttributes?: InspectorServiceAttributes; /** - *

                                                    The description of the finding.

                                                    + *

                                                    The system-defined attributes for the finding.

                                                    */ - description?: string; + attributes: Attribute[] | undefined; /** - *

                                                    This data element is currently not used.

                                                    + *

                                                    The time when the finding was generated.

                                                    */ - confidence?: number; + createdAt: Date | undefined; } export namespace Finding { @@ -1877,16 +1877,16 @@ export namespace Finding { } export interface DescribeFindingsResponse { - /** - *

                                                    Information about the finding.

                                                    - */ - findings: Finding[] | undefined; - /** *

                                                    Finding details that cannot be described. An error code is provided for each failed * item.

                                                    */ failedItems: { [key: string]: FailedItemDetails } | undefined; + + /** + *

                                                    Information about the finding.

                                                    + */ + findings: Finding[] | undefined; } export namespace DescribeFindingsResponse { @@ -1916,15 +1916,15 @@ export namespace DescribeResourceGroupsRequest { */ export interface ResourceGroup { /** - *

                                                    The tags (key and value pairs) of the resource group. This data type property is used - * in the CreateResourceGroup action.

                                                    + *

                                                    The time at which resource group is created.

                                                    */ - tags: ResourceGroupTag[] | undefined; + createdAt: Date | undefined; /** - *

                                                    The time at which resource group is created.

                                                    + *

                                                    The tags (key and value pairs) of the resource group. This data type property is used + * in the CreateResourceGroup action.

                                                    */ - createdAt: Date | undefined; + tags: ResourceGroupTag[] | undefined; /** *

                                                    The ARN of the resource group.

                                                    @@ -1959,14 +1959,14 @@ export namespace DescribeResourceGroupsResponse { export interface DescribeRulesPackagesRequest { /** - *

                                                    The locale that you want to translate a rules package description into.

                                                    + *

                                                    The ARN that specifies the rules package that you want to describe.

                                                    */ - locale?: Locale | string; + rulesPackageArns: string[] | undefined; /** - *

                                                    The ARN that specifies the rules package that you want to describe.

                                                    + *

                                                    The locale that you want to translate a rules package description into.

                                                    */ - rulesPackageArns: string[] | undefined; + locale?: Locale | string; } export namespace DescribeRulesPackagesRequest { @@ -1980,6 +1980,11 @@ export namespace DescribeRulesPackagesRequest { * as the response element in the DescribeRulesPackages action.

                                                    */ export interface RulesPackage { + /** + *

                                                    The version ID of the rules package.

                                                    + */ + version: string | undefined; + /** *

                                                    The name of the rules package.

                                                    */ @@ -1990,11 +1995,6 @@ export interface RulesPackage { */ provider: string | undefined; - /** - *

                                                    The version ID of the rules package.

                                                    - */ - version: string | undefined; - /** *

                                                    The ARN of the rules package.

                                                    */ @@ -2013,16 +2013,16 @@ export namespace RulesPackage { } export interface DescribeRulesPackagesResponse { - /** - *

                                                    Information about the rules package.

                                                    - */ - rulesPackages: RulesPackage[] | undefined; - /** *

                                                    Rules package details that cannot be described. An error code is provided for each * failed item.

                                                    */ failedItems: { [key: string]: FailedItemDetails } | undefined; + + /** + *

                                                    Information about the rules package.

                                                    + */ + rulesPackages: RulesPackage[] | undefined; } export namespace DescribeRulesPackagesResponse { @@ -2059,14 +2059,14 @@ export namespace EventSubscription { */ export interface ExclusionPreview { /** - *

                                                    The description of the exclusion preview.

                                                    + *

                                                    The name of the exclusion preview.

                                                    */ - description: string | undefined; + title: string | undefined; /** - *

                                                    The recommendation for the exclusion preview.

                                                    + *

                                                    The description of the exclusion preview.

                                                    */ - recommendation: string | undefined; + description: string | undefined; /** *

                                                    The AWS resources for which the exclusion preview pertains.

                                                    @@ -2079,9 +2079,9 @@ export interface ExclusionPreview { attributes?: Attribute[]; /** - *

                                                    The name of the exclusion preview.

                                                    + *

                                                    The recommendation for the exclusion preview.

                                                    */ - title: string | undefined; + recommendation: string | undefined; } export namespace ExclusionPreview { @@ -2096,36 +2096,35 @@ export namespace ExclusionPreview { */ export interface FindingFilter { /** - *

                                                    For a record to match a filter, one of the values that is specified for this data - * type property must be the exact match of the value of the rulesPackageArn property of the Finding data - * type.

                                                    + *

                                                    The time range during which the finding is generated.

                                                    */ - rulesPackageArns?: string[]; + creationTimeRange?: TimestampRange; /** - *

                                                    For a record to match a filter, one of the values that is specified for this data - * type property must be the exact match of the value of the severity property of the Finding data type.

                                                    + *

                                                    For a record to match a filter, the value that is specified for this data type + * property must be contained in the list of values of the userAttributes property of the Finding data + * type.

                                                    */ - severities?: (Severity | string)[]; + userAttributes?: Attribute[]; /** - *

                                                    For a record to match a filter, one of the values that is specified for this data - * type property must be the exact match of the value of the ruleName property of the Finding data type.

                                                    + *

                                                    For a record to match a filter, the list of values that are specified for this data + * type property must be contained in the list of values of the attributes property of the Finding data type.

                                                    */ - ruleNames?: string[]; + attributes?: Attribute[]; /** *

                                                    For a record to match a filter, one of the values that is specified for this data - * type property must be the exact match of the value of the autoScalingGroup property of the Finding data - * type.

                                                    + * type property must be the exact match of the value of the severity property of the Finding data type.

                                                    */ - autoScalingGroups?: string[]; + severities?: (Severity | string)[]; /** - *

                                                    For a record to match a filter, the list of values that are specified for this data - * type property must be contained in the list of values of the attributes property of the Finding data type.

                                                    + *

                                                    For a record to match a filter, one of the values that is specified for this data + * type property must be the exact match of the value of the rulesPackageArn property of the Finding data + * type.

                                                    */ - attributes?: Attribute[]; + rulesPackageArns?: string[]; /** *

                                                    For a record to match a filter, one of the values that is specified for this data @@ -2134,16 +2133,17 @@ export interface FindingFilter { agentIds?: string[]; /** - *

                                                    For a record to match a filter, the value that is specified for this data type - * property must be contained in the list of values of the userAttributes property of the Finding data + *

                                                    For a record to match a filter, one of the values that is specified for this data + * type property must be the exact match of the value of the autoScalingGroup property of the Finding data * type.

                                                    */ - userAttributes?: Attribute[]; + autoScalingGroups?: string[]; /** - *

                                                    The time range during which the finding is generated.

                                                    + *

                                                    For a record to match a filter, one of the values that is specified for this data + * type property must be the exact match of the value of the ruleName property of the Finding data type.

                                                    */ - creationTimeRange?: TimestampRange; + ruleNames?: string[]; } export namespace FindingFilter { @@ -2164,10 +2164,11 @@ export enum ReportType { export interface GetAssessmentReportRequest { /** - *

                                                    Specifies the file format (html or pdf) of the assessment report that you want to - * generate.

                                                    + *

                                                    Specifies the type of the assessment report that you want to generate. There are two + * types of assessment reports: a finding report and a full report. For more information, see + * Assessment Reports.

                                                    */ - reportFileFormat: ReportFileFormat | string | undefined; + reportType: ReportType | string | undefined; /** *

                                                    The ARN that specifies the assessment run for which you want to generate a @@ -2176,11 +2177,10 @@ export interface GetAssessmentReportRequest { assessmentRunArn: string | undefined; /** - *

                                                    Specifies the type of the assessment report that you want to generate. There are two - * types of assessment reports: a finding report and a full report. For more information, see - * Assessment Reports.

                                                    + *

                                                    Specifies the file format (html or pdf) of the assessment report that you want to + * generate.

                                                    */ - reportType: ReportType | string | undefined; + reportFileFormat: ReportFileFormat | string | undefined; } export namespace GetAssessmentReportRequest { @@ -2196,16 +2196,16 @@ export enum ReportStatus { } export interface GetAssessmentReportResponse { - /** - *

                                                    Specifies the status of the request to generate an assessment report.

                                                    - */ - status: ReportStatus | string | undefined; - /** *

                                                    Specifies the URL where you can find the generated assessment report. This parameter * is only returned if the report is successfully generated.

                                                    */ url?: string; + + /** + *

                                                    Specifies the status of the request to generate an assessment report.

                                                    + */ + status: ReportStatus | string | undefined; } export namespace GetAssessmentReportResponse { @@ -2224,8 +2224,8 @@ export namespace GetAssessmentReportResponse { export interface UnsupportedFeatureException extends __SmithyException, $MetadataBearer { name: "UnsupportedFeatureException"; $fault: "client"; - canRetry: boolean | undefined; message: string | undefined; + canRetry: boolean | undefined; } export namespace UnsupportedFeatureException { @@ -2236,10 +2236,9 @@ export namespace UnsupportedFeatureException { export interface GetExclusionsPreviewRequest { /** - *

                                                    The ARN that specifies the assessment template for which the exclusions preview was - * requested.

                                                    + *

                                                    The unique identifier associated of the exclusions preview.

                                                    */ - assessmentTemplateArn: string | undefined; + previewToken: string | undefined; /** *

                                                    The locale into which you want to translate the exclusion's title, description, and @@ -2248,9 +2247,16 @@ export interface GetExclusionsPreviewRequest { locale?: Locale | string; /** - *

                                                    The unique identifier associated of the exclusions preview.

                                                    + *

                                                    The ARN that specifies the assessment template for which the exclusions preview was + * requested.

                                                    */ - previewToken: string | undefined; + assessmentTemplateArn: string | undefined; + + /** + *

                                                    You can use this parameter to indicate the maximum number of items you want in the + * response. The default value is 100. The maximum value is 500.

                                                    + */ + maxResults?: number; /** *

                                                    You can use this parameter when paginating results. Set the value of this parameter @@ -2259,12 +2265,6 @@ export interface GetExclusionsPreviewRequest { * response to continue listing data.

                                                    */ nextToken?: string; - - /** - *

                                                    You can use this parameter to indicate the maximum number of items you want in the - * response. The default value is 100. The maximum value is 500.

                                                    - */ - maxResults?: number; } export namespace GetExclusionsPreviewRequest { @@ -2279,11 +2279,6 @@ export enum PreviewStatus { } export interface GetExclusionsPreviewResponse { - /** - *

                                                    Information about the exclusions included in the preview.

                                                    - */ - exclusionPreviews?: ExclusionPreview[]; - /** *

                                                    When a response is generated, if there is more data to be listed, this parameters is * present in the response and contains the value to use for the nextToken parameter in a @@ -2292,6 +2287,11 @@ export interface GetExclusionsPreviewResponse { */ nextToken?: string; + /** + *

                                                    Information about the exclusions included in the preview.

                                                    + */ + exclusionPreviews?: ExclusionPreview[]; + /** *

                                                    Specifies the status of the request to generate an exclusions preview.

                                                    */ @@ -2369,17 +2369,17 @@ export namespace ListAssessmentRunAgentsRequest { } export interface ListAssessmentRunAgentsResponse { - /** - *

                                                    A list of ARNs that specifies the agents returned by the action.

                                                    - */ - assessmentRunAgents: AssessmentRunAgent[] | undefined; - /** *

                                                    When a response is generated, if there is more data to be listed, this parameter is * present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more * data to be listed, this parameter is set to null.

                                                    */ nextToken?: string; + + /** + *

                                                    A list of ARNs that specifies the agents returned by the action.

                                                    + */ + assessmentRunAgents: AssessmentRunAgent[] | undefined; } export namespace ListAssessmentRunAgentsResponse { @@ -2404,6 +2404,12 @@ export interface ListAssessmentRunsRequest { */ maxResults?: number; + /** + *

                                                    The ARNs that specify the assessment templates whose assessment runs you want to + * list.

                                                    + */ + assessmentTemplateArns?: string[]; + /** *

                                                    You can use this parameter when paginating results. Set the value of this parameter * to null on your first call to the ListAssessmentRuns @@ -2412,12 +2418,6 @@ export interface ListAssessmentRunsRequest { * response to continue listing data.

                                                    */ nextToken?: string; - - /** - *

                                                    The ARNs that specify the assessment templates whose assessment runs you want to - * list.

                                                    - */ - assessmentTemplateArns?: string[]; } export namespace ListAssessmentRunsRequest { @@ -2457,12 +2457,6 @@ export interface ListAssessmentTargetsRequest { */ nextToken?: string; - /** - *

                                                    You can use this parameter to indicate the maximum number of items you want in the - * response. The default value is 10. The maximum value is 500.

                                                    - */ - maxResults?: number; - /** *

                                                    You can use this parameter to specify a subset of data to be included in the action's * response.

                                                    @@ -2471,6 +2465,12 @@ export interface ListAssessmentTargetsRequest { * match.

                                                    */ filter?: AssessmentTargetFilter; + + /** + *

                                                    You can use this parameter to indicate the maximum number of items you want in the + * response. The default value is 10. The maximum value is 500.

                                                    + */ + maxResults?: number; } export namespace ListAssessmentTargetsRequest { @@ -2501,12 +2501,6 @@ export namespace ListAssessmentTargetsResponse { } export interface ListAssessmentTemplatesRequest { - /** - *

                                                    A list of ARNs that specifies the assessment targets whose assessment templates you - * want to list.

                                                    - */ - assessmentTargetArns?: string[]; - /** *

                                                    You can use this parameter to specify a subset of data to be included in the action's * response.

                                                    @@ -2516,6 +2510,12 @@ export interface ListAssessmentTemplatesRequest { */ filter?: AssessmentTemplateFilter; + /** + *

                                                    A list of ARNs that specifies the assessment targets whose assessment templates you + * want to list.

                                                    + */ + assessmentTargetArns?: string[]; + /** *

                                                    You can use this parameter to indicate the maximum number of items you want in the * response. The default value is 10. The maximum value is 500.

                                                    @@ -2539,18 +2539,18 @@ export namespace ListAssessmentTemplatesRequest { } export interface ListAssessmentTemplatesResponse { - /** - *

                                                    A list of ARNs that specifies the assessment templates returned by the - * action.

                                                    - */ - assessmentTemplateArns: string[] | undefined; - /** *

                                                    When a response is generated, if there is more data to be listed, this parameter is * present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more * data to be listed, this parameter is set to null.

                                                    */ nextToken?: string; + + /** + *

                                                    A list of ARNs that specifies the assessment templates returned by the + * action.

                                                    + */ + assessmentTemplateArns: string[] | undefined; } export namespace ListAssessmentTemplatesResponse { @@ -2561,13 +2561,10 @@ export namespace ListAssessmentTemplatesResponse { export interface ListEventSubscriptionsRequest { /** - *

                                                    You can use this parameter when paginating results. Set the value of this parameter - * to null on your first call to the ListEventSubscriptions - * action. Subsequent calls to the action fill nextToken in - * the request with the value of NextToken from the previous - * response to continue listing data.

                                                    + *

                                                    The ARN of the assessment template for which you want to list the existing event + * subscriptions.

                                                    */ - nextToken?: string; + resourceArn?: string; /** *

                                                    You can use this parameter to indicate the maximum number of items you want in the @@ -2576,10 +2573,13 @@ export interface ListEventSubscriptionsRequest { maxResults?: number; /** - *

                                                    The ARN of the assessment template for which you want to list the existing event - * subscriptions.

                                                    + *

                                                    You can use this parameter when paginating results. Set the value of this parameter + * to null on your first call to the ListEventSubscriptions + * action. Subsequent calls to the action fill nextToken in + * the request with the value of NextToken from the previous + * response to continue listing data.

                                                    */ - resourceArn?: string; + nextToken?: string; } export namespace ListEventSubscriptionsRequest { @@ -2638,10 +2638,10 @@ export namespace ListEventSubscriptionsResponse { export interface ListExclusionsRequest { /** - *

                                                    You can use this parameter to indicate the maximum number of items you want in the - * response. The default value is 100. The maximum value is 500.

                                                    + *

                                                    The ARN of the assessment run that generated the exclusions that you want to + * list.

                                                    */ - maxResults?: number; + assessmentRunArn: string | undefined; /** *

                                                    You can use this parameter when paginating results. Set the value of this parameter @@ -2652,10 +2652,10 @@ export interface ListExclusionsRequest { nextToken?: string; /** - *

                                                    The ARN of the assessment run that generated the exclusions that you want to - * list.

                                                    + *

                                                    You can use this parameter to indicate the maximum number of items you want in the + * response. The default value is 100. The maximum value is 500.

                                                    */ - assessmentRunArn: string | undefined; + maxResults?: number; } export namespace ListExclusionsRequest { @@ -2686,27 +2686,12 @@ export namespace ListExclusionsResponse { } export interface ListFindingsRequest { - /** - *

                                                    You can use this parameter when paginating results. Set the value of this parameter - * to null on your first call to the ListFindings action. - * Subsequent calls to the action fill nextToken in the - * request with the value of NextToken from the previous - * response to continue listing data.

                                                    - */ - nextToken?: string; - /** *

                                                    The ARNs of the assessment runs that generate the findings that you want to * list.

                                                    */ assessmentRunArns?: string[]; - /** - *

                                                    You can use this parameter to indicate the maximum number of items you want in the - * response. The default value is 10. The maximum value is 500.

                                                    - */ - maxResults?: number; - /** *

                                                    You can use this parameter to specify a subset of data to be included in the action's * response.

                                                    @@ -2715,6 +2700,21 @@ export interface ListFindingsRequest { * match.

                                                    */ filter?: FindingFilter; + + /** + *

                                                    You can use this parameter when paginating results. Set the value of this parameter + * to null on your first call to the ListFindings action. + * Subsequent calls to the action fill nextToken in the + * request with the value of NextToken from the previous + * response to continue listing data.

                                                    + */ + nextToken?: string; + + /** + *

                                                    You can use this parameter to indicate the maximum number of items you want in the + * response. The default value is 10. The maximum value is 500.

                                                    + */ + maxResults?: number; } export namespace ListFindingsRequest { @@ -2767,17 +2767,17 @@ export namespace ListRulesPackagesRequest { } export interface ListRulesPackagesResponse { + /** + *

                                                    The list of ARNs that specifies the rules packages returned by the action.

                                                    + */ + rulesPackageArns: string[] | undefined; + /** *

                                                    When a response is generated, if there is more data to be listed, this parameter is * present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more * data to be listed, this parameter is set to null.

                                                    */ nextToken?: string; - - /** - *

                                                    The list of ARNs that specifies the rules packages returned by the action.

                                                    - */ - rulesPackageArns: string[] | undefined; } export namespace ListRulesPackagesResponse { @@ -2813,17 +2813,17 @@ export namespace ListTagsForResourceResponse { } export interface PreviewAgentsRequest { - /** - *

                                                    The ARN of the assessment target whose agents you want to preview.

                                                    - */ - previewAgentsArn: string | undefined; - /** *

                                                    You can use this parameter to indicate the maximum number of items you want in the * response. The default value is 10. The maximum value is 500.

                                                    */ maxResults?: number; + /** + *

                                                    The ARN of the assessment target whose agents you want to preview.

                                                    + */ + previewAgentsArn: string | undefined; + /** *

                                                    You can use this parameter when paginating results. Set the value of this parameter * to null on your first call to the PreviewAgents action. @@ -2841,17 +2841,17 @@ export namespace PreviewAgentsRequest { } export interface PreviewAgentsResponse { + /** + *

                                                    The resulting list of agents.

                                                    + */ + agentPreviews: AgentPreview[] | undefined; + /** *

                                                    When a response is generated, if there is more data to be listed, this parameter is * present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more * data to be listed, this parameter is set to null.

                                                    */ nextToken?: string; - - /** - *

                                                    The resulting list of agents.

                                                    - */ - agentPreviews: AgentPreview[] | undefined; } export namespace PreviewAgentsResponse { @@ -2965,11 +2965,6 @@ export enum StopAction { } export interface StopAssessmentRunRequest { - /** - *

                                                    The ARN of the assessment run that you want to stop.

                                                    - */ - assessmentRunArn: string | undefined; - /** *

                                                    An input option that can be set to either START_EVALUATION or SKIP_EVALUATION. * START_EVALUATION (the default value), stops the AWS agent from collecting data and begins @@ -2977,6 +2972,11 @@ export interface StopAssessmentRunRequest { * assessment run immediately, after which no findings are generated.

                                                    */ stopAction?: StopAction | string; + + /** + *

                                                    The ARN of the assessment run that you want to stop.

                                                    + */ + assessmentRunArn: string | undefined; } export namespace StopAssessmentRunRequest { @@ -3010,6 +3010,11 @@ export namespace SubscribeToEventRequest { } export interface UnsubscribeFromEventRequest { + /** + *

                                                    The ARN of the SNS topic to which SNS notifications are sent.

                                                    + */ + topicArn: string | undefined; + /** *

                                                    The ARN of the assessment template that is used during the event for which you want * to stop receiving SNS notifications.

                                                    @@ -3020,11 +3025,6 @@ export interface UnsubscribeFromEventRequest { *

                                                    The event for which you want to stop receiving SNS notifications.

                                                    */ event: InspectorEvent | string | undefined; - - /** - *

                                                    The ARN of the SNS topic to which SNS notifications are sent.

                                                    - */ - topicArn: string | undefined; } export namespace UnsubscribeFromEventRequest { @@ -3034,6 +3034,11 @@ export namespace UnsubscribeFromEventRequest { } export interface UpdateAssessmentTargetRequest { + /** + *

                                                    The name of the assessment target that you want to update.

                                                    + */ + assessmentTargetName: string | undefined; + /** *

                                                    The ARN of the assessment target that you want to update.

                                                    */ @@ -3044,11 +3049,6 @@ export interface UpdateAssessmentTargetRequest { * associate with the assessment target.

                                                    */ resourceGroupArn?: string; - - /** - *

                                                    The name of the assessment target that you want to update.

                                                    - */ - assessmentTargetName: string | undefined; } export namespace UpdateAssessmentTargetRequest { diff --git a/clients/client-iot-1click-devices-service/models/models_0.ts b/clients/client-iot-1click-devices-service/models/models_0.ts index 2f6ca3e69016..15ddb27e7306 100644 --- a/clients/client-iot-1click-devices-service/models/models_0.ts +++ b/clients/client-iot-1click-devices-service/models/models_0.ts @@ -3,14 +3,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface DeviceDescription { /** - *

                                                    The unique identifier of the device.

                                                    + *

                                                    A Boolean value indicating whether or not the device is enabled.

                                                    */ - DeviceId?: string; + Enabled?: boolean; /** - *

                                                    The ARN of the device.

                                                    + *

                                                    The unique identifier of the device.

                                                    */ - Arn?: string; + DeviceId?: string; /** *

                                                    An array of zero or more elements of DeviceAttribute objects providing @@ -19,25 +19,25 @@ export interface DeviceDescription { Attributes?: { [key: string]: string }; /** - *

                                                    A Boolean value indicating whether or not the device is enabled.

                                                    + *

                                                    The type of the device, such as "button".

                                                    */ - Enabled?: boolean; + Type?: string; /** - *

                                                    A value between 0 and 1 inclusive, representing the fraction of life remaining for the - * device.

                                                    + *

                                                    The tags currently associated with the AWS IoT 1-Click device.

                                                    */ - RemainingLife?: number; + Tags?: { [key: string]: string }; /** - *

                                                    The tags currently associated with the AWS IoT 1-Click device.

                                                    + *

                                                    The ARN of the device.

                                                    */ - Tags?: { [key: string]: string }; + Arn?: string; /** - *

                                                    The type of the device, such as "button".

                                                    + *

                                                    A value between 0 and 1 inclusive, representing the fraction of life remaining for the + * device.

                                                    */ - Type?: string; + RemainingLife?: number; } export namespace DeviceDescription { @@ -55,11 +55,6 @@ export namespace Attributes { } export interface Device { - /** - *

                                                    The device type, such as "button".

                                                    - */ - Type?: string; - /** *

                                                    The unique identifier of the device.

                                                    */ @@ -69,6 +64,11 @@ export interface Device { *

                                                    The user specified attributes associated with the device for an event.

                                                    */ Attributes?: Attributes; + + /** + *

                                                    The device type, such as "button".

                                                    + */ + Type?: string; } export namespace Device { @@ -79,14 +79,14 @@ export namespace Device { export interface DeviceEvent { /** - *

                                                    An object representing the device associated with the event.

                                                    + *

                                                    A serialized JSON object representing the device-type specific event.

                                                    */ - Device?: Device; + StdEvent?: string; /** - *

                                                    A serialized JSON object representing the device-type specific event.

                                                    + *

                                                    An object representing the device associated with the event.

                                                    */ - StdEvent?: string; + Device?: Device; } export namespace DeviceEvent { @@ -127,16 +127,16 @@ export namespace ClaimDevicesByClaimCodeRequest { } export interface ClaimDevicesByClaimCodeResponse { - /** - *

                                                    The claim code provided by the device manufacturer.

                                                    - */ - ClaimCode?: string; - /** *

                                                    The total number of devices associated with the claim code that has been processed in * the claim request.

                                                    */ Total?: number; + + /** + *

                                                    The claim code provided by the device manufacturer.

                                                    + */ + ClaimCode?: string; } export namespace ClaimDevicesByClaimCodeResponse { @@ -235,14 +235,14 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB name: "ResourceNotFoundException"; $fault: "client"; /** - *

                                                    The requested device could not be found.

                                                    + *

                                                    404

                                                    */ - Message?: string; + Code?: string; /** - *

                                                    404

                                                    + *

                                                    The requested device could not be found.

                                                    */ - Code?: string; + Message?: string; } export namespace ResourceNotFoundException { @@ -252,11 +252,6 @@ export namespace ResourceNotFoundException { } export interface FinalizeDeviceClaimRequest { - /** - *

                                                    The unique identifier of the device.

                                                    - */ - DeviceId: string | undefined; - /** *

                                                    A collection of key/value pairs defining the resource tags. For example, { * "tags": {"key1": "value1", "key2": "value2"} }. For more information, see AWS @@ -265,6 +260,11 @@ export interface FinalizeDeviceClaimRequest { *

                                                    */ Tags?: { [key: string]: string }; + + /** + *

                                                    The unique identifier of the device.

                                                    + */ + DeviceId: string | undefined; } export namespace FinalizeDeviceClaimRequest { @@ -418,15 +418,15 @@ export interface RangeNotSatisfiableException extends __SmithyException, $Metada name: "RangeNotSatisfiableException"; $fault: "client"; /** - *

                                                    The requested number of results specified by nextToken cannot be - * satisfied.

                                                    + *

                                                    416

                                                    */ - Message?: string; + Code?: string; /** - *

                                                    416

                                                    + *

                                                    The requested number of results specified by nextToken cannot be + * satisfied.

                                                    */ - Code?: string; + Message?: string; } export namespace RangeNotSatisfiableException { @@ -437,9 +437,16 @@ export namespace RangeNotSatisfiableException { export interface ListDeviceEventsRequest { /** - *

                                                    The unique identifier of the device.

                                                    + *

                                                    The start date for the device event query, in ISO8061 format. For example, + * 2018-03-28T15:45:12.880Z + *

                                                    */ - DeviceId: string | undefined; + FromTimeStamp: Date | undefined; + + /** + *

                                                    The token to retrieve the next set of results.

                                                    + */ + NextToken?: string; /** *

                                                    The maximum number of results to return per request. If not set, a default value of @@ -448,11 +455,9 @@ export interface ListDeviceEventsRequest { MaxResults?: number; /** - *

                                                    The start date for the device event query, in ISO8061 format. For example, - * 2018-03-28T15:45:12.880Z - *

                                                    + *

                                                    The unique identifier of the device.

                                                    */ - FromTimeStamp: Date | undefined; + DeviceId: string | undefined; /** *

                                                    The end date for the device event query, in ISO8061 format. For example, @@ -460,11 +465,6 @@ export interface ListDeviceEventsRequest { *

                                                    */ ToTimeStamp: Date | undefined; - - /** - *

                                                    The token to retrieve the next set of results.

                                                    - */ - NextToken?: string; } export namespace ListDeviceEventsRequest { @@ -475,15 +475,15 @@ export namespace ListDeviceEventsRequest { export interface ListDeviceEventsResponse { /** - *

                                                    An array of zero or more elements describing the event(s) associated with the - * device.

                                                    + *

                                                    The token to retrieve the next set of results.

                                                    */ - Events?: DeviceEvent[]; + NextToken?: string; /** - *

                                                    The token to retrieve the next set of results.

                                                    + *

                                                    An array of zero or more elements describing the event(s) associated with the + * device.

                                                    */ - NextToken?: string; + Events?: DeviceEvent[]; } export namespace ListDeviceEventsResponse { @@ -518,14 +518,14 @@ export namespace ListDevicesRequest { export interface ListDevicesResponse { /** - *

                                                    The token to retrieve the next set of results.

                                                    + *

                                                    A list of devices.

                                                    */ - NextToken?: string; + Devices?: DeviceDescription[]; /** - *

                                                    A list of devices.

                                                    + *

                                                    The token to retrieve the next set of results.

                                                    */ - Devices?: DeviceDescription[]; + NextToken?: string; } export namespace ListDevicesResponse { @@ -565,11 +565,6 @@ export namespace ListTagsForResourceResponse { } export interface TagResourceRequest { - /** - *

                                                    The ARN of the resource.

                                                    - */ - ResourceArn: string | undefined; - /** *

                                                    A collection of key/value pairs defining the resource tags. For example, { * "tags": {"key1": "value1", "key2": "value2"} }. For more information, see AWS @@ -578,6 +573,11 @@ export interface TagResourceRequest { *

                                                    */ Tags: { [key: string]: string } | undefined; + + /** + *

                                                    The ARN of the resource.

                                                    + */ + ResourceArn: string | undefined; } export namespace TagResourceRequest { @@ -614,14 +614,14 @@ export namespace UnclaimDeviceResponse { export interface UntagResourceRequest { /** - *

                                                    The ARN of the resource.

                                                    + *

                                                    A collections of tag keys. For example, {"key1","key2"}

                                                    */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; /** - *

                                                    A collections of tag keys. For example, {"key1","key2"}

                                                    + *

                                                    The ARN of the resource.

                                                    */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -632,15 +632,15 @@ export namespace UntagResourceRequest { export interface UpdateDeviceStateRequest { /** - *

                                                    If true, the device is enabled. If false, the device is - * disabled.

                                                    + *

                                                    The unique identifier of the device.

                                                    */ - Enabled?: boolean; + DeviceId: string | undefined; /** - *

                                                    The unique identifier of the device.

                                                    + *

                                                    If true, the device is enabled. If false, the device is + * disabled.

                                                    */ - DeviceId: string | undefined; + Enabled?: boolean; } export namespace UpdateDeviceStateRequest { diff --git a/clients/client-iot-1click-devices-service/protocols/Aws_restJson1.ts b/clients/client-iot-1click-devices-service/protocols/Aws_restJson1.ts index aeb85e78f732..14acd8ea2204 100644 --- a/clients/client-iot-1click-devices-service/protocols/Aws_restJson1.ts +++ b/clients/client-iot-1click-devices-service/protocols/Aws_restJson1.ts @@ -256,14 +256,14 @@ export const serializeAws_restJson1ListDeviceEventsCommand = async ( throw new Error("No value provided for input HTTP label: DeviceId."); } const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.FromTimeStamp !== undefined && { fromTimeStamp: (input.FromTimeStamp.toISOString().split(".")[0] + "Z").toString(), }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.ToTimeStamp !== undefined && { toTimeStamp: (input.ToTimeStamp.toISOString().split(".")[0] + "Z").toString(), }), - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-iot-1click-projects/models/models_0.ts b/clients/client-iot-1click-projects/models/models_0.ts index 939887e8f1ec..ce32ca9f67ea 100644 --- a/clients/client-iot-1click-projects/models/models_0.ts +++ b/clients/client-iot-1click-projects/models/models_0.ts @@ -3,14 +3,19 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface AssociateDeviceWithPlacementRequest { /** - *

                                                    The name of the project containing the placement in which to associate the device.

                                                    + *

                                                    The name of the placement in which to associate the device.

                                                    */ - projectName: string | undefined; + placementName: string | undefined; /** - *

                                                    The name of the placement in which to associate the device.

                                                    + *

                                                    The device template name to associate with the device ID.

                                                    */ - placementName: string | undefined; + deviceTemplateName: string | undefined; + + /** + *

                                                    The name of the project containing the placement in which to associate the device.

                                                    + */ + projectName: string | undefined; /** *

                                                    The ID of the physical device to be associated with the given placement in the project. @@ -18,11 +23,6 @@ export interface AssociateDeviceWithPlacementRequest { * values.

                                                    */ deviceId: string | undefined; - - /** - *

                                                    The device template name to associate with the device ID.

                                                    - */ - deviceTemplateName: string | undefined; } export namespace AssociateDeviceWithPlacementRequest { @@ -61,8 +61,8 @@ export namespace InternalFailureException { export interface InvalidRequestException extends __SmithyException, $MetadataBearer { name: "InvalidRequestException"; $fault: "client"; - code: string | undefined; message: string | undefined; + code: string | undefined; } export namespace InvalidRequestException { @@ -77,8 +77,8 @@ export namespace InvalidRequestException { export interface ResourceConflictException extends __SmithyException, $MetadataBearer { name: "ResourceConflictException"; $fault: "client"; - code: string | undefined; message: string | undefined; + code: string | undefined; } export namespace ResourceConflictException { @@ -140,15 +140,15 @@ export namespace CreatePlacementResponse { */ export interface DeviceTemplate { /** - *

                                                    An optional Lambda function to invoke instead of the default Lambda function provided by - * the placement template.

                                                    + *

                                                    The device type, which currently must be "button".

                                                    */ - callbackOverrides?: { [key: string]: string }; + deviceType?: string; /** - *

                                                    The device type, which currently must be "button".

                                                    + *

                                                    An optional Lambda function to invoke instead of the default Lambda function provided by + * the placement template.

                                                    */ - deviceType?: string; + callbackOverrides?: { [key: string]: string }; } export namespace DeviceTemplate { @@ -186,11 +186,6 @@ export interface CreateProjectRequest { */ projectName: string | undefined; - /** - *

                                                    An optional description for the project.

                                                    - */ - description?: string; - /** *

                                                    The schema defining the placement to be created. A placement template defines placement * default attributes and device templates. You cannot add or remove device templates after the @@ -199,6 +194,11 @@ export interface CreateProjectRequest { */ placementTemplate?: PlacementTemplate; + /** + *

                                                    An optional description for the project.

                                                    + */ + description?: string; + /** *

                                                    Optional tags (metadata key/value pairs) to be associated with the project. For example, * { {"key1": "value1", "key2": "value2"} }. For more information, see AWS Tagging @@ -223,14 +223,14 @@ export namespace CreateProjectResponse { export interface DeletePlacementRequest { /** - *

                                                    The name of the empty placement to delete.

                                                    + *

                                                    The project containing the empty placement to delete.

                                                    */ - placementName: string | undefined; + projectName: string | undefined; /** - *

                                                    The project containing the empty placement to delete.

                                                    + *

                                                    The name of the empty placement to delete.

                                                    */ - projectName: string | undefined; + placementName: string | undefined; } export namespace DeletePlacementRequest { @@ -286,14 +286,14 @@ export namespace DeleteProjectResponse { export interface DescribePlacementRequest { /** - *

                                                    The name of the placement within a project.

                                                    + *

                                                    The project containing the placement to be described.

                                                    */ - placementName: string | undefined; + projectName: string | undefined; /** - *

                                                    The project containing the placement to be described.

                                                    + *

                                                    The name of the placement within a project.

                                                    */ - projectName: string | undefined; + placementName: string | undefined; } export namespace DescribePlacementRequest { @@ -307,20 +307,15 @@ export namespace DescribePlacementRequest { */ export interface PlacementDescription { /** - *

                                                    The date when the placement was initially created, in UNIX epoch time format.

                                                    + *

                                                    The name of the project containing the placement.

                                                    */ - createdDate: Date | undefined; + projectName: string | undefined; /** *

                                                    The name of the placement.

                                                    */ placementName: string | undefined; - /** - *

                                                    The user-defined attributes associated with the placement.

                                                    - */ - attributes: { [key: string]: string } | undefined; - /** *

                                                    The date when the placement was last updated, in UNIX epoch time format. If the placement * was not updated, then createdDate and updatedDate are the @@ -329,9 +324,14 @@ export interface PlacementDescription { updatedDate: Date | undefined; /** - *

                                                    The name of the project containing the placement.

                                                    + *

                                                    The date when the placement was initially created, in UNIX epoch time format.

                                                    */ - projectName: string | undefined; + createdDate: Date | undefined; + + /** + *

                                                    The user-defined attributes associated with the placement.

                                                    + */ + attributes: { [key: string]: string } | undefined; } export namespace PlacementDescription { @@ -371,25 +371,20 @@ export namespace DescribeProjectRequest { * account and region.

                                                    */ export interface ProjectDescription { - /** - *

                                                    The date when the project was originally created, in UNIX epoch time format.

                                                    - */ - createdDate: Date | undefined; - /** *

                                                    The name of the project for which to obtain information from.

                                                    */ projectName: string | undefined; /** - *

                                                    The tags (metadata key/value pairs) associated with the project.

                                                    + *

                                                    The ARN of the project.

                                                    */ - tags?: { [key: string]: string }; + arn?: string; /** - *

                                                    The ARN of the project.

                                                    + *

                                                    The description of the project.

                                                    */ - arn?: string; + description?: string; /** *

                                                    The date when the project was last updated, in UNIX epoch time format. If the project was @@ -398,14 +393,19 @@ export interface ProjectDescription { updatedDate: Date | undefined; /** - *

                                                    The description of the project.

                                                    + *

                                                    An object describing the project's placement specifications.

                                                    */ - description?: string; + placementTemplate?: PlacementTemplate; /** - *

                                                    An object describing the project's placement specifications.

                                                    + *

                                                    The tags (metadata key/value pairs) associated with the project.

                                                    */ - placementTemplate?: PlacementTemplate; + tags?: { [key: string]: string }; + + /** + *

                                                    The date when the project was originally created, in UNIX epoch time format.

                                                    + */ + createdDate: Date | undefined; } export namespace ProjectDescription { @@ -428,6 +428,11 @@ export namespace DescribeProjectResponse { } export interface DisassociateDeviceFromPlacementRequest { + /** + *

                                                    The name of the placement that the device should be removed from.

                                                    + */ + placementName: string | undefined; + /** *

                                                    The name of the project that contains the placement.

                                                    */ @@ -437,11 +442,6 @@ export interface DisassociateDeviceFromPlacementRequest { *

                                                    The device ID that should be removed from the placement.

                                                    */ deviceTemplateName: string | undefined; - - /** - *

                                                    The name of the placement that the device should be removed from.

                                                    - */ - placementName: string | undefined; } export namespace DisassociateDeviceFromPlacementRequest { @@ -460,14 +460,14 @@ export namespace DisassociateDeviceFromPlacementResponse { export interface GetDevicesInPlacementRequest { /** - *

                                                    The name of the project containing the placement.

                                                    + *

                                                    The name of the placement to get the devices from.

                                                    */ - projectName: string | undefined; + placementName: string | undefined; /** - *

                                                    The name of the placement to get the devices from.

                                                    + *

                                                    The name of the project containing the placement.

                                                    */ - placementName: string | undefined; + projectName: string | undefined; } export namespace GetDevicesInPlacementRequest { @@ -495,16 +495,16 @@ export interface ListPlacementsRequest { */ projectName: string | undefined; - /** - *

                                                    The token to retrieve the next set of results.

                                                    - */ - nextToken?: string; - /** *

                                                    The maximum number of results to return per request. If not set, a default value of 100 is * used.

                                                    */ maxResults?: number; + + /** + *

                                                    The token to retrieve the next set of results.

                                                    + */ + nextToken?: string; } export namespace ListPlacementsRequest { @@ -522,13 +522,6 @@ export interface PlacementSummary { */ createdDate: Date | undefined; - /** - *

                                                    The date when the placement was last updated, in UNIX epoch time format. If the placement - * was not updated, then createdDate and updatedDate are the - * same.

                                                    - */ - updatedDate: Date | undefined; - /** *

                                                    The name of the project containing the placement.

                                                    */ @@ -538,6 +531,13 @@ export interface PlacementSummary { *

                                                    The name of the placement being summarized.

                                                    */ placementName: string | undefined; + + /** + *

                                                    The date when the placement was last updated, in UNIX epoch time format. If the placement + * was not updated, then createdDate and updatedDate are the + * same.

                                                    + */ + updatedDate: Date | undefined; } export namespace PlacementSummary { @@ -548,15 +548,15 @@ export namespace PlacementSummary { export interface ListPlacementsResponse { /** - *

                                                    The token used to retrieve the next set of results - will be effectively empty if there - * are no further results.

                                                    + *

                                                    An object listing the requested placements.

                                                    */ - nextToken?: string; + placements: PlacementSummary[] | undefined; /** - *

                                                    An object listing the requested placements.

                                                    + *

                                                    The token used to retrieve the next set of results - will be effectively empty if there + * are no further results.

                                                    */ - placements: PlacementSummary[] | undefined; + nextToken?: string; } export namespace ListPlacementsResponse { @@ -599,6 +599,11 @@ export interface ProjectSummary { */ projectName: string | undefined; + /** + *

                                                    The tags (metadata key/value pairs) associated with the project.

                                                    + */ + tags?: { [key: string]: string }; + /** *

                                                    The date when the project was originally created, in UNIX epoch time format.

                                                    */ @@ -609,11 +614,6 @@ export interface ProjectSummary { * not updated, then createdDate and updatedDate are the same.

                                                    */ updatedDate: Date | undefined; - - /** - *

                                                    The tags (metadata key/value pairs) associated with the project.

                                                    - */ - tags?: { [key: string]: string }; } export namespace ProjectSummary { @@ -721,6 +721,12 @@ export namespace UntagResourceResponse { } export interface UpdatePlacementRequest { + /** + *

                                                    The user-defined object of attributes used to update the placement. The maximum number of + * key/value pairs is 50.

                                                    + */ + attributes?: { [key: string]: string }; + /** *

                                                    The name of the placement to update.

                                                    */ @@ -730,12 +736,6 @@ export interface UpdatePlacementRequest { *

                                                    The name of the project containing the placement to be updated.

                                                    */ projectName: string | undefined; - - /** - *

                                                    The user-defined object of attributes used to update the placement. The maximum number of - * key/value pairs is 50.

                                                    - */ - attributes?: { [key: string]: string }; } export namespace UpdatePlacementRequest { @@ -754,9 +754,9 @@ export namespace UpdatePlacementResponse { export interface UpdateProjectRequest { /** - *

                                                    An optional user-defined description for the project.

                                                    + *

                                                    The name of the project to be updated.

                                                    */ - description?: string; + projectName: string | undefined; /** *

                                                    An object defining the project update. Once a project has been created, you cannot add @@ -767,9 +767,9 @@ export interface UpdateProjectRequest { placementTemplate?: PlacementTemplate; /** - *

                                                    The name of the project to be updated.

                                                    + *

                                                    An optional user-defined description for the project.

                                                    */ - projectName: string | undefined; + description?: string; } export namespace UpdateProjectRequest { diff --git a/clients/client-iot-1click-projects/protocols/Aws_restJson1.ts b/clients/client-iot-1click-projects/protocols/Aws_restJson1.ts index 13ba447a872b..196131515683 100644 --- a/clients/client-iot-1click-projects/protocols/Aws_restJson1.ts +++ b/clients/client-iot-1click-projects/protocols/Aws_restJson1.ts @@ -59,15 +59,6 @@ export const serializeAws_restJson1AssociateDeviceWithPlacementCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}"; - if (input.projectName !== undefined) { - const labelValue: string = input.projectName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: projectName."); - } - resolvedPath = resolvedPath.replace("{projectName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: projectName."); - } if (input.placementName !== undefined) { const labelValue: string = input.placementName; if (labelValue.length <= 0) { @@ -86,6 +77,15 @@ export const serializeAws_restJson1AssociateDeviceWithPlacementCommand = async ( } else { throw new Error("No value provided for input HTTP label: deviceTemplateName."); } + if (input.projectName !== undefined) { + const labelValue: string = input.projectName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: projectName."); + } + resolvedPath = resolvedPath.replace("{projectName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: projectName."); + } let body: any; body = JSON.stringify({ ...(input.deviceId !== undefined && { deviceId: input.deviceId }), @@ -175,15 +175,6 @@ export const serializeAws_restJson1DeletePlacementCommand = async ( "Content-Type": "", }; let resolvedPath = "/projects/{projectName}/placements/{placementName}"; - if (input.placementName !== undefined) { - const labelValue: string = input.placementName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: placementName."); - } - resolvedPath = resolvedPath.replace("{placementName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: placementName."); - } if (input.projectName !== undefined) { const labelValue: string = input.projectName; if (labelValue.length <= 0) { @@ -193,6 +184,15 @@ export const serializeAws_restJson1DeletePlacementCommand = async ( } else { throw new Error("No value provided for input HTTP label: projectName."); } + if (input.placementName !== undefined) { + const labelValue: string = input.placementName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: placementName."); + } + resolvedPath = resolvedPath.replace("{placementName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: placementName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -244,15 +244,6 @@ export const serializeAws_restJson1DescribePlacementCommand = async ( "Content-Type": "", }; let resolvedPath = "/projects/{projectName}/placements/{placementName}"; - if (input.placementName !== undefined) { - const labelValue: string = input.placementName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: placementName."); - } - resolvedPath = resolvedPath.replace("{placementName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: placementName."); - } if (input.projectName !== undefined) { const labelValue: string = input.projectName; if (labelValue.length <= 0) { @@ -262,6 +253,15 @@ export const serializeAws_restJson1DescribePlacementCommand = async ( } else { throw new Error("No value provided for input HTTP label: projectName."); } + if (input.placementName !== undefined) { + const labelValue: string = input.placementName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: placementName."); + } + resolvedPath = resolvedPath.replace("{placementName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: placementName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -313,6 +313,15 @@ export const serializeAws_restJson1DisassociateDeviceFromPlacementCommand = asyn "Content-Type": "", }; let resolvedPath = "/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}"; + if (input.placementName !== undefined) { + const labelValue: string = input.placementName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: placementName."); + } + resolvedPath = resolvedPath.replace("{placementName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: placementName."); + } if (input.projectName !== undefined) { const labelValue: string = input.projectName; if (labelValue.length <= 0) { @@ -331,15 +340,6 @@ export const serializeAws_restJson1DisassociateDeviceFromPlacementCommand = asyn } else { throw new Error("No value provided for input HTTP label: deviceTemplateName."); } - if (input.placementName !== undefined) { - const labelValue: string = input.placementName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: placementName."); - } - resolvedPath = resolvedPath.replace("{placementName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: placementName."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -361,15 +361,6 @@ export const serializeAws_restJson1GetDevicesInPlacementCommand = async ( "Content-Type": "", }; let resolvedPath = "/projects/{projectName}/placements/{placementName}/devices"; - if (input.projectName !== undefined) { - const labelValue: string = input.projectName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: projectName."); - } - resolvedPath = resolvedPath.replace("{projectName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: projectName."); - } if (input.placementName !== undefined) { const labelValue: string = input.placementName; if (labelValue.length <= 0) { @@ -379,6 +370,15 @@ export const serializeAws_restJson1GetDevicesInPlacementCommand = async ( } else { throw new Error("No value provided for input HTTP label: placementName."); } + if (input.projectName !== undefined) { + const labelValue: string = input.projectName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: projectName."); + } + resolvedPath = resolvedPath.replace("{projectName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: projectName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -410,8 +410,8 @@ export const serializeAws_restJson1ListPlacementsCommand = async ( throw new Error("No value provided for input HTTP label: projectName."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-iot-data-plane/models/models_0.ts b/clients/client-iot-data-plane/models/models_0.ts index 4805edc6b3e8..c8a9bb7f8a0b 100644 --- a/clients/client-iot-data-plane/models/models_0.ts +++ b/clients/client-iot-data-plane/models/models_0.ts @@ -238,11 +238,6 @@ export namespace GetThingShadowResponse { } export interface ListNamedShadowsForThingRequest { - /** - *

                                                    The token to retrieve the next set of results.

                                                    - */ - nextToken?: string; - /** *

                                                    The name of the thing.

                                                    */ @@ -252,6 +247,11 @@ export interface ListNamedShadowsForThingRequest { *

                                                    The result page size.

                                                    */ pageSize?: number; + + /** + *

                                                    The token to retrieve the next set of results.

                                                    + */ + nextToken?: string; } export namespace ListNamedShadowsForThingRequest { @@ -261,11 +261,6 @@ export namespace ListNamedShadowsForThingRequest { } export interface ListNamedShadowsForThingResponse { - /** - *

                                                    The token for the next set of results, or null if there are no additional results.

                                                    - */ - nextToken?: string; - /** *

                                                    The list of shadows for the specified thing.

                                                    */ @@ -275,6 +270,11 @@ export interface ListNamedShadowsForThingResponse { *

                                                    The Epoch date and time the response was generated by AWS IoT.

                                                    */ timestamp?: number; + + /** + *

                                                    The token for the next set of results, or null if there are no additional results.

                                                    + */ + nextToken?: string; } export namespace ListNamedShadowsForThingResponse { diff --git a/clients/client-iot-data-plane/protocols/Aws_restJson1.ts b/clients/client-iot-data-plane/protocols/Aws_restJson1.ts index 8943bed9af20..7f315cbe9684 100644 --- a/clients/client-iot-data-plane/protocols/Aws_restJson1.ts +++ b/clients/client-iot-data-plane/protocols/Aws_restJson1.ts @@ -116,8 +116,8 @@ export const serializeAws_restJson1ListNamedShadowsForThingCommand = async ( throw new Error("No value provided for input HTTP label: thingName."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-iot-events-data/models/models_0.ts b/clients/client-iot-events-data/models/models_0.ts index e7b7595c4ff3..a0670e728346 100644 --- a/clients/client-iot-events-data/models/models_0.ts +++ b/clients/client-iot-events-data/models/models_0.ts @@ -12,15 +12,15 @@ export interface Message { messageId: string | undefined; /** - *

                                                    The payload of the message. This can be a JSON string or a Base-64-encoded string representing - * binary data (in which case you must decode it).

                                                    + *

                                                    The name of the input into which the message payload is transformed.

                                                    */ - payload: Uint8Array | undefined; + inputName: string | undefined; /** - *

                                                    The name of the input into which the message payload is transformed.

                                                    + *

                                                    The payload of the message. This can be a JSON string or a Base-64-encoded string representing + * binary data (in which case you must decode it).

                                                    */ - inputName: string | undefined; + payload: Uint8Array | undefined; } export namespace Message { @@ -56,6 +56,11 @@ export enum ErrorCode { *

                                                    Contains information about the errors encountered.

                                                    */ export interface BatchPutMessageErrorEntry { + /** + *

                                                    More information about the error.

                                                    + */ + errorMessage?: string; + /** *

                                                    The ID of the message that caused the error. (See the value corresponding to the * "messageId" key in the "message" object.)

                                                    @@ -66,11 +71,6 @@ export interface BatchPutMessageErrorEntry { *

                                                    The code associated with the error.

                                                    */ errorCode?: ErrorCode | string; - - /** - *

                                                    More information about the error.

                                                    - */ - errorMessage?: string; } export namespace BatchPutMessageErrorEntry { @@ -190,14 +190,14 @@ export namespace TimerDefinition { */ export interface VariableDefinition { /** - *

                                                    The new value of the variable.

                                                    + *

                                                    The name of the variable.

                                                    */ - value: string | undefined; + name: string | undefined; /** - *

                                                    The name of the variable.

                                                    + *

                                                    The new value of the variable.

                                                    */ - name: string | undefined; + value: string | undefined; } export namespace VariableDefinition { @@ -211,9 +211,9 @@ export namespace VariableDefinition { */ export interface DetectorStateDefinition { /** - *

                                                    The new values of the detector's variables. Any variable whose value isn't specified is cleared.

                                                    + *

                                                    The name of the new state of the detector (instance).

                                                    */ - variables: VariableDefinition[] | undefined; + stateName: string | undefined; /** *

                                                    The new values of the detector's timers. Any timer whose value isn't specified is @@ -222,9 +222,9 @@ export interface DetectorStateDefinition { timers: TimerDefinition[] | undefined; /** - *

                                                    The name of the new state of the detector (instance).

                                                    + *

                                                    The new values of the detector's variables. Any variable whose value isn't specified is cleared.

                                                    */ - stateName: string | undefined; + variables: VariableDefinition[] | undefined; } export namespace DetectorStateDefinition { @@ -238,15 +238,15 @@ export namespace DetectorStateDefinition { */ export interface UpdateDetectorRequest { /** - *

                                                    The ID to assign to the detector update "message". Each "messageId" - * must be unique within each batch sent.

                                                    + *

                                                    The new state, variable values, and timer settings of the detector (instance).

                                                    */ - messageId: string | undefined; + state: DetectorStateDefinition | undefined; /** - *

                                                    The new state, variable values, and timer settings of the detector (instance).

                                                    + *

                                                    The ID to assign to the detector update "message". Each "messageId" + * must be unique within each batch sent.

                                                    */ - state: DetectorStateDefinition | undefined; + messageId: string | undefined; /** *

                                                    The value of the input key attribute (identifying the device or system) that caused the creation @@ -283,6 +283,12 @@ export namespace BatchUpdateDetectorRequest { *

                                                    Information about the error that occured when attempting to update a detector.

                                                    */ export interface BatchUpdateDetectorErrorEntry { + /** + *

                                                    The "messageId" of the update request that caused the error. (The value of the + * "messageId" in the update request "Detector" object.)

                                                    + */ + messageId?: string; + /** *

                                                    A message describing the error.

                                                    */ @@ -292,12 +298,6 @@ export interface BatchUpdateDetectorErrorEntry { *

                                                    The code of the error.

                                                    */ errorCode?: ErrorCode | string; - - /** - *

                                                    The "messageId" of the update request that caused the error. (The value of the - * "messageId" in the update request "Detector" object.)

                                                    - */ - messageId?: string; } export namespace BatchUpdateDetectorErrorEntry { @@ -390,14 +390,14 @@ export interface DetectorState { stateName: string | undefined; /** - *

                                                    The current state of the detector's timers.

                                                    + *

                                                    The current values of the detector's variables.

                                                    */ - timers: Timer[] | undefined; + variables: Variable[] | undefined; /** - *

                                                    The current values of the detector's variables.

                                                    + *

                                                    The current state of the detector's timers.

                                                    */ - variables: Variable[] | undefined; + timers: Timer[] | undefined; } export namespace DetectorState { @@ -410,22 +410,11 @@ export namespace DetectorState { *

                                                    Information about the detector (instance).

                                                    */ export interface Detector { - /** - *

                                                    The time the detector (instance) was last updated.

                                                    - */ - lastUpdateTime?: Date; - /** *

                                                    The current state of the detector (instance).

                                                    */ state?: DetectorState; - /** - *

                                                    The value of the key (identifying the device or system) that caused the creation of this - * detector (instance).

                                                    - */ - keyValue?: string; - /** *

                                                    The time the detector (instance) was created.

                                                    */ @@ -436,10 +425,21 @@ export interface Detector { */ detectorModelName?: string; + /** + *

                                                    The time the detector (instance) was last updated.

                                                    + */ + lastUpdateTime?: Date; + /** *

                                                    The version of the detector model that created this detector (instance).

                                                    */ detectorModelVersion?: string; + + /** + *

                                                    The value of the key (identifying the device or system) that caused the creation of this + * detector (instance).

                                                    + */ + keyValue?: string; } export namespace Detector { @@ -505,15 +505,14 @@ export interface DetectorSummary { creationTime?: Date; /** - *

                                                    The current state of the detector (instance).

                                                    + *

                                                    The version of the detector model that created this detector (instance).

                                                    */ - state?: DetectorStateSummary; + detectorModelVersion?: string; /** - *

                                                    The value of the key (identifying the device or system) that caused the creation of this - * detector (instance).

                                                    + *

                                                    The name of the detector model that created this detector (instance).

                                                    */ - keyValue?: string; + detectorModelName?: string; /** *

                                                    The time the detector (instance) was last updated.

                                                    @@ -521,14 +520,15 @@ export interface DetectorSummary { lastUpdateTime?: Date; /** - *

                                                    The name of the detector model that created this detector (instance).

                                                    + *

                                                    The current state of the detector (instance).

                                                    */ - detectorModelName?: string; + state?: DetectorStateSummary; /** - *

                                                    The version of the detector model that created this detector (instance).

                                                    + *

                                                    The value of the key (identifying the device or system) that caused the creation of this + * detector (instance).

                                                    */ - detectorModelVersion?: string; + keyValue?: string; } export namespace DetectorSummary { @@ -538,6 +538,11 @@ export namespace DetectorSummary { } export interface ListDetectorsRequest { + /** + *

                                                    The maximum number of results to return at one time.

                                                    + */ + maxResults?: number; + /** *

                                                    A filter that limits results to those detectors (instances) in the given state.

                                                    */ @@ -552,11 +557,6 @@ export interface ListDetectorsRequest { *

                                                    The token for the next set of results.

                                                    */ nextToken?: string; - - /** - *

                                                    The maximum number of results to return at one time.

                                                    - */ - maxResults?: number; } export namespace ListDetectorsRequest { @@ -566,16 +566,16 @@ export namespace ListDetectorsRequest { } export interface ListDetectorsResponse { - /** - *

                                                    A list of summary information about the detectors (instances).

                                                    - */ - detectorSummaries?: DetectorSummary[]; - /** *

                                                    A token to retrieve the next set of results, or null if there are no additional * results.

                                                    */ nextToken?: string; + + /** + *

                                                    A list of summary information about the detectors (instances).

                                                    + */ + detectorSummaries?: DetectorSummary[]; } export namespace ListDetectorsResponse { diff --git a/clients/client-iot-events-data/protocols/Aws_restJson1.ts b/clients/client-iot-events-data/protocols/Aws_restJson1.ts index f973437fd62f..44a296f02a62 100644 --- a/clients/client-iot-events-data/protocols/Aws_restJson1.ts +++ b/clients/client-iot-events-data/protocols/Aws_restJson1.ts @@ -139,9 +139,9 @@ export const serializeAws_restJson1ListDetectorsCommand = async ( throw new Error("No value provided for input HTTP label: detectorModelName."); } const query: any = { + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.stateName !== undefined && { stateName: input.stateName }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-iot-events/models/models_0.ts b/clients/client-iot-events/models/models_0.ts index b8de95c90568..34d99a7fd71f 100644 --- a/clients/client-iot-events/models/models_0.ts +++ b/clients/client-iot-events/models/models_0.ts @@ -78,53 +78,43 @@ export namespace Payload { */ export interface DynamoDBAction { /** - *

                                                    The value of the range key (also called the sort key).

                                                    - */ - rangeKeyValue?: string; - - /** - *

                                                    The name of the DynamoDB column that receives the action payload.

                                                    - *

                                                    If you don't specify this parameter, the name of the DynamoDB column is - * payload.

                                                    - */ - payloadField?: string; - - /** - *

                                                    The name of the DynamoDB table.

                                                    - */ - tableName: string | undefined; - - /** - *

                                                    The value of the hash key (also called the partition key).

                                                    - */ - hashKeyValue: string | undefined; - - /** - *

                                                    Information needed to configure the payload.

                                                    - *

                                                    By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload - * contains all attribute-value pairs that have the information about the detector model instance - * and the event triggered the action. To configure the action payload, you can use - * contentExpression.

                                                    + *

                                                    The name of the range key (also called the sort key).

                                                    */ - payload?: Payload; + rangeKeyField?: string; /** - *

                                                    The data type for the hash key (also called the partition key). You can specify the - * following values:

                                                    + *

                                                    The type of operation to perform. You can specify the following values:

                                                    *
                                                      *
                                                    • *

                                                      - * STRING - The hash key is a string.

                                                      + * INSERT - Insert data as a new item into the DynamoDB table. This item uses + * the specified hash key as a partition key. If you specified a range key, the item uses the + * range key as a sort key.

                                                      *
                                                    • *
                                                    • *

                                                      - * NUMBER - The hash key is a number.

                                                      + * UPDATE - Update an existing item of the DynamoDB table with new data. This + * item's partition key must match the specified hash key. If you specified a range key, the + * range key must match the item's sort key.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * DELETE - Delete an existing item of the DynamoDB table. This item's + * partition key must match the specified hash key. If you specified a range key, the range + * key must match the item's sort key.

                                                      *
                                                    • *
                                                    - *

                                                    If you don't specify hashKeyType, the default value is - * STRING.

                                                    + *

                                                    If you don't specify this parameter, AWS IoT Events triggers the INSERT + * operation.

                                                    */ - hashKeyType?: string; + operation?: string; + + /** + *

                                                    The name of the DynamoDB column that receives the action payload.

                                                    + *

                                                    If you don't specify this parameter, the name of the DynamoDB column is + * payload.

                                                    + */ + payloadField?: string; /** *

                                                    The name of the hash key (also called the partition key).

                                                    @@ -150,36 +140,46 @@ export interface DynamoDBAction { rangeKeyType?: string; /** - *

                                                    The type of operation to perform. You can specify the following values:

                                                    + *

                                                    The data type for the hash key (also called the partition key). You can specify the + * following values:

                                                    *
                                                      *
                                                    • *

                                                      - * INSERT - Insert data as a new item into the DynamoDB table. This item uses - * the specified hash key as a partition key. If you specified a range key, the item uses the - * range key as a sort key.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * UPDATE - Update an existing item of the DynamoDB table with new data. This - * item's partition key must match the specified hash key. If you specified a range key, the - * range key must match the item's sort key.

                                                      + * STRING - The hash key is a string.

                                                      *
                                                    • *
                                                    • *

                                                      - * DELETE - Delete an existing item of the DynamoDB table. This item's - * partition key must match the specified hash key. If you specified a range key, the range - * key must match the item's sort key.

                                                      + * NUMBER - The hash key is a number.

                                                      *
                                                    • *
                                                    - *

                                                    If you don't specify this parameter, AWS IoT Events triggers the INSERT - * operation.

                                                    + *

                                                    If you don't specify hashKeyType, the default value is + * STRING.

                                                    */ - operation?: string; + hashKeyType?: string; /** - *

                                                    The name of the range key (also called the sort key).

                                                    + *

                                                    The name of the DynamoDB table.

                                                    */ - rangeKeyField?: string; + tableName: string | undefined; + + /** + *

                                                    The value of the range key (also called the sort key).

                                                    + */ + rangeKeyValue?: string; + + /** + *

                                                    Information needed to configure the payload.

                                                    + *

                                                    By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload + * contains all attribute-value pairs that have the information about the detector model instance + * and the event triggered the action. To configure the action payload, you can use + * contentExpression.

                                                    + */ + payload?: Payload; + + /** + *

                                                    The value of the hash key (also called the partition key).

                                                    + */ + hashKeyValue: string | undefined; } export namespace DynamoDBAction { @@ -231,18 +231,18 @@ export interface FirehoseAction { */ deliveryStreamName: string | undefined; - /** - *

                                                    You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery - * stream.

                                                    - */ - payload?: Payload; - /** *

                                                    A character separator that is used to separate records written to the Kinesis Data * Firehose delivery stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows * newline), ',' (comma).

                                                    */ separator?: string; + + /** + *

                                                    You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery + * stream.

                                                    + */ + payload?: Payload; } export namespace FirehoseAction { @@ -257,14 +257,14 @@ export namespace FirehoseAction { */ export interface IotEventsAction { /** - *

                                                    You can configure the action payload when you send a message to an AWS IoT Events input.

                                                    + *

                                                    The name of the AWS IoT Events input where the data is sent.

                                                    */ - payload?: Payload; + inputName: string | undefined; /** - *

                                                    The name of the AWS IoT Events input where the data is sent.

                                                    + *

                                                    You can configure the action payload when you send a message to an AWS IoT Events input.

                                                    */ - inputName: string | undefined; + payload?: Payload; } export namespace IotEventsAction { @@ -331,19 +331,6 @@ export namespace AssetPropertyTimestamp { *
                                                  */ export interface AssetPropertyVariant { - /** - *

                                                  The asset property value is a Boolean value that must be TRUE or - * FALSE. You can also specify an expression. If you use an expression, the - * evaluated result should be a Boolean value.

                                                  - */ - booleanValue?: string; - - /** - *

                                                  The asset property value is a double. You can also specify an expression. If you use an - * expression, the evaluated result should be a double.

                                                  - */ - doubleValue?: string; - /** *

                                                  The asset property value is a string. You can also specify an expression. If you use an * expression, the evaluated result should be a string.

                                                  @@ -355,6 +342,19 @@ export interface AssetPropertyVariant { * expression, the evaluated result should be an integer.

                                                  */ integerValue?: string; + + /** + *

                                                  The asset property value is a double. You can also specify an expression. If you use an + * expression, the evaluated result should be a double.

                                                  + */ + doubleValue?: string; + + /** + *

                                                  The asset property value is a Boolean value that must be TRUE or + * FALSE. You can also specify an expression. If you use an expression, the + * evaluated result should be a Boolean value.

                                                  + */ + booleanValue?: string; } export namespace AssetPropertyVariant { @@ -383,9 +383,10 @@ export namespace AssetPropertyVariant { */ export interface AssetPropertyValue { /** - *

                                                  The value to send to an asset property.

                                                  + *

                                                  The quality of the asset property value. The value must be GOOD, + * BAD, or UNCERTAIN. You can also specify an expression.

                                                  */ - value: AssetPropertyVariant | undefined; + quality?: string; /** *

                                                  The timestamp associated with the asset property value. The default is the current event @@ -394,10 +395,9 @@ export interface AssetPropertyValue { timestamp?: AssetPropertyTimestamp; /** - *

                                                  The quality of the asset property value. The value must be GOOD, - * BAD, or UNCERTAIN. You can also specify an expression.

                                                  + *

                                                  The value to send to an asset property.

                                                  */ - quality?: string; + value: AssetPropertyVariant | undefined; } export namespace AssetPropertyValue { @@ -434,11 +434,9 @@ export interface IotSiteWiseAction { propertyId?: string; /** - *

                                                  A unique identifier for this entry. You can use the entry ID to track which data entry - * causes an error in case of failure. The default is a new unique identifier. You can also - * specify an expression.

                                                  + *

                                                  The alias of the asset property. You can also specify an expression.

                                                  */ - entryId?: string; + propertyAlias?: string; /** *

                                                  The value to send to the asset property. This value contains timestamp, quality, and value @@ -447,9 +445,11 @@ export interface IotSiteWiseAction { propertyValue: AssetPropertyValue | undefined; /** - *

                                                  The alias of the asset property. You can also specify an expression.

                                                  + *

                                                  A unique identifier for this entry. You can use the entry ID to track which data entry + * causes an error in case of failure. The default is a new unique identifier. You can also + * specify an expression.

                                                  */ - propertyAlias?: string; + entryId?: string; /** *

                                                  The ID of the asset that has the specified property. You can specify an expression.

                                                  @@ -531,12 +531,6 @@ export namespace ResetTimerAction { *

                                                  Information needed to set the timer.

                                                  */ export interface SetTimerAction { - /** - *

                                                  The number of seconds until the timer expires. The minimum value is 60 seconds to ensure - * accuracy. The maximum value is 31622400 seconds.

                                                  - */ - seconds?: number; - /** *

                                                  The name of the timer.

                                                  */ @@ -550,6 +544,12 @@ export interface SetTimerAction { * The evaluated result of the duration is rounded down to the nearest whole number.

                                                  */ durationExpression?: string; + + /** + *

                                                  The number of seconds until the timer expires. The minimum value is 60 seconds to ensure + * accuracy. The maximum value is 31622400 seconds.

                                                  + */ + seconds?: number; } export namespace SetTimerAction { @@ -584,15 +584,15 @@ export namespace SetVariableAction { */ export interface SNSTopicPublishAction { /** - *

                                                  You can configure the action payload when you send a message as an Amazon SNS push - * notification.

                                                  + *

                                                  The ARN of the Amazon SNS target where the message is sent.

                                                  */ - payload?: Payload; + targetArn: string | undefined; /** - *

                                                  The ARN of the Amazon SNS target where the message is sent.

                                                  + *

                                                  You can configure the action payload when you send a message as an Amazon SNS push + * notification.

                                                  */ - targetArn: string | undefined; + payload?: Payload; } export namespace SNSTopicPublishAction { @@ -607,10 +607,9 @@ export namespace SNSTopicPublishAction { */ export interface SqsAction { /** - *

                                                  You can configure the action payload when you send a message to an Amazon SQS - * queue.

                                                  + *

                                                  The URL of the SQS queue where the data is written.

                                                  */ - payload?: Payload; + queueUrl: string | undefined; /** *

                                                  Set this to TRUE if you want the data to be base-64 encoded before it is written to the @@ -619,9 +618,10 @@ export interface SqsAction { useBase64?: boolean; /** - *

                                                  The URL of the SQS queue where the data is written.

                                                  + *

                                                  You can configure the action payload when you send a message to an Amazon SQS + * queue.

                                                  */ - queueUrl: string | undefined; + payload?: Payload; } export namespace SqsAction { @@ -635,15 +635,24 @@ export namespace SqsAction { */ export interface Action { /** - *

                                                  Sends information about the detector model instance and the event that triggered the - * action to an Amazon Kinesis Data Firehose delivery stream.

                                                  + *

                                                  Information needed to set the timer.

                                                  */ - firehose?: FirehoseAction; + setTimer?: SetTimerAction; /** - *

                                                  Publishes an MQTT message with the given topic to the AWS IoT message broker.

                                                  + *

                                                  Information needed to reset the timer.

                                                  */ - iotTopicPublish?: IotTopicPublishAction; + resetTimer?: ResetTimerAction; + + /** + *

                                                  Writes to the DynamoDB table that you created. The default action payload contains all + * attribute-value pairs that have the information about the detector model instance and the + * event that triggered the action. You can also customize the payload. One column of the + * DynamoDB table receives all attribute-value pairs in the payload that you specify. For more + * information, see Actions in + * AWS IoT Events Developer Guide.

                                                  + */ + dynamoDB?: DynamoDBAction; /** *

                                                  Writes to the DynamoDB table that you created. The default action payload contains all @@ -656,9 +665,9 @@ export interface Action { dynamoDBv2?: DynamoDBv2Action; /** - *

                                                  Information needed to set the timer.

                                                  + *

                                                  Sets a variable to a specified value.

                                                  */ - setTimer?: SetTimerAction; + setVariable?: SetVariableAction; /** *

                                                  Information needed to clear the timer.

                                                  @@ -666,53 +675,44 @@ export interface Action { clearTimer?: ClearTimerAction; /** - *

                                                  Writes to the DynamoDB table that you created. The default action payload contains all - * attribute-value pairs that have the information about the detector model instance and the - * event that triggered the action. You can also customize the payload. One column of the - * DynamoDB table receives all attribute-value pairs in the payload that you specify. For more - * information, see Actions in - * AWS IoT Events Developer Guide.

                                                  - */ - dynamoDB?: DynamoDBAction; - - /** - *

                                                  Information needed to reset the timer.

                                                  + *

                                                  Sends AWS IoT Events input, which passes information about the detector model instance and the + * event that triggered the action.

                                                  */ - resetTimer?: ResetTimerAction; + iotEvents?: IotEventsAction; /** - *

                                                  Sends an Amazon SNS message.

                                                  + *

                                                  Sends information about the detector model instance and the event that triggered the + * action to an Amazon SQS queue.

                                                  */ - sns?: SNSTopicPublishAction; + sqs?: SqsAction; /** - *

                                                  Sets a variable to a specified value.

                                                  + *

                                                  Publishes an MQTT message with the given topic to the AWS IoT message broker.

                                                  */ - setVariable?: SetVariableAction; + iotTopicPublish?: IotTopicPublishAction; /** *

                                                  Sends information about the detector model instance and the event that triggered the - * action to an Amazon SQS queue.

                                                  + * action to an asset property in AWS IoT SiteWise .

                                                  */ - sqs?: SqsAction; + iotSiteWise?: IotSiteWiseAction; /** - *

                                                  Calls a Lambda function, passing in information about the detector model instance and the - * event that triggered the action.

                                                  + *

                                                  Sends information about the detector model instance and the event that triggered the + * action to an Amazon Kinesis Data Firehose delivery stream.

                                                  */ - lambda?: LambdaAction; + firehose?: FirehoseAction; /** - *

                                                  Sends AWS IoT Events input, which passes information about the detector model instance and the - * event that triggered the action.

                                                  + *

                                                  Sends an Amazon SNS message.

                                                  */ - iotEvents?: IotEventsAction; + sns?: SNSTopicPublishAction; /** - *

                                                  Sends information about the detector model instance and the event that triggered the - * action to an asset property in AWS IoT SiteWise .

                                                  + *

                                                  Calls a Lambda function, passing in information about the detector model instance and the + * event that triggered the action.

                                                  */ - iotSiteWise?: IotSiteWiseAction; + lambda?: LambdaAction; } export namespace Action { @@ -752,9 +752,11 @@ export namespace Attribute { */ export interface Event { /** - *

                                                  The name of the event.

                                                  + *

                                                  Optional. The Boolean expression that, when TRUE, causes the actions to be + * performed. If not present, the actions are performed (=TRUE). If the expression result is not + * a Boolean value, the actions are not performed (=FALSE).

                                                  */ - eventName: string | undefined; + condition?: string; /** *

                                                  The actions to be performed.

                                                  @@ -762,11 +764,9 @@ export interface Event { actions?: Action[]; /** - *

                                                  Optional. The Boolean expression that, when TRUE, causes the actions to be - * performed. If not present, the actions are performed (=TRUE). If the expression result is not - * a Boolean value, the actions are not performed (=FALSE).

                                                  + *

                                                  The name of the event.

                                                  */ - condition?: string; + eventName: string | undefined; } export namespace Event { @@ -817,10 +817,9 @@ export namespace OnExitLifecycle { */ export interface TransitionEvent { /** - *

                                                  Required. A Boolean expression that when TRUE causes the actions to be performed and the - * nextState to be entered.

                                                  + *

                                                  The next state to enter.

                                                  */ - condition: string | undefined; + nextState: string | undefined; /** *

                                                  The name of the transition event.

                                                  @@ -833,9 +832,10 @@ export interface TransitionEvent { actions?: Action[]; /** - *

                                                  The next state to enter.

                                                  + *

                                                  Required. A Boolean expression that when TRUE causes the actions to be performed and the + * nextState to be entered.

                                                  */ - nextState: string | undefined; + condition: string | undefined; } export namespace TransitionEvent { @@ -870,6 +870,11 @@ export namespace OnInputLifecycle { *

                                                  Information that defines a state of a detector.

                                                  */ export interface State { + /** + *

                                                  The name of the state.

                                                  + */ + stateName: string | undefined; + /** *

                                                  When entering this state, perform these actions if the condition * is TRUE.

                                                  @@ -882,11 +887,6 @@ export interface State { */ onInput?: OnInputLifecycle; - /** - *

                                                  The name of the state.

                                                  - */ - stateName: string | undefined; - /** *

                                                  When exiting this state, perform these actions if the specified * condition is TRUE.

                                                  @@ -931,14 +931,14 @@ export enum EvaluationMethod { */ export interface Tag { /** - *

                                                  The tag's value.

                                                  + *

                                                  The tag's key.

                                                  */ - value: string | undefined; + key: string | undefined; /** - *

                                                  The tag's key.

                                                  + *

                                                  The tag's value.

                                                  */ - key: string | undefined; + value: string | undefined; } export namespace Tag { @@ -949,10 +949,19 @@ export namespace Tag { export interface CreateDetectorModelRequest { /** - *

                                                  Information about the order in which events are evaluated and how actions are executed. - *

                                                  + *

                                                  The ARN of the role that grants permission to AWS IoT Events to perform its operations.

                                                  */ - evaluationMethod?: EvaluationMethod | string; + roleArn: string | undefined; + + /** + *

                                                  A brief description of the detector model.

                                                  + */ + detectorModelDescription?: string; + + /** + *

                                                  Metadata that can be used to manage the detector model.

                                                  + */ + tags?: Tag[]; /** *

                                                  The input attribute key used to identify a device or system to create a detector (an @@ -963,30 +972,21 @@ export interface CreateDetectorModelRequest { */ key?: string; - /** - *

                                                  A brief description of the detector model.

                                                  - */ - detectorModelDescription?: string; - /** *

                                                  Information that defines how the detectors operate.

                                                  */ detectorModelDefinition: DetectorModelDefinition | undefined; /** - *

                                                  Metadata that can be used to manage the detector model.

                                                  - */ - tags?: Tag[]; - - /** - *

                                                  The ARN of the role that grants permission to AWS IoT Events to perform its operations.

                                                  + *

                                                  The name of the detector model.

                                                  */ - roleArn: string | undefined; + detectorModelName: string | undefined; /** - *

                                                  The name of the detector model.

                                                  + *

                                                  Information about the order in which events are evaluated and how actions are executed. + *

                                                  */ - detectorModelName: string | undefined; + evaluationMethod?: EvaluationMethod | string; } export namespace CreateDetectorModelRequest { @@ -1009,6 +1009,11 @@ export enum DetectorModelVersionStatus { *

                                                  Information about how the detector model is configured.

                                                  */ export interface DetectorModelConfiguration { + /** + *

                                                  The ARN of the role that grants permission to AWS IoT Events to perform its operations.

                                                  + */ + roleArn?: string; + /** *

                                                  The time the detector model was created.

                                                  */ @@ -1021,19 +1026,25 @@ export interface DetectorModelConfiguration { evaluationMethod?: EvaluationMethod | string; /** - *

                                                  The ARN of the role that grants permission to AWS IoT Events to perform its operations.

                                                  + *

                                                  The value used to identify a detector instance. When a device or system sends input, a new + * detector instance with a unique key value is created. AWS IoT Events can continue to route input to its + * corresponding detector instance based on this identifying information.

                                                  + *

                                                  This parameter uses a JSON-path expression to select the attribute-value pair in the + * message payload that is used for identification. To route the message to the correct detector + * instance, the device must send a message payload that contains the same + * attribute-value.

                                                  */ - roleArn?: string; + key?: string; /** - *

                                                  The version of the detector model.

                                                  + *

                                                  The time the detector model was last updated.

                                                  */ - detectorModelVersion?: string; + lastUpdateTime?: Date; /** - *

                                                  The ARN of the detector model.

                                                  + *

                                                  The version of the detector model.

                                                  */ - detectorModelArn?: string; + detectorModelVersion?: string; /** *

                                                  The name of the detector model.

                                                  @@ -1041,15 +1052,9 @@ export interface DetectorModelConfiguration { detectorModelName?: string; /** - *

                                                  The value used to identify a detector instance. When a device or system sends input, a new - * detector instance with a unique key value is created. AWS IoT Events can continue to route input to its - * corresponding detector instance based on this identifying information.

                                                  - *

                                                  This parameter uses a JSON-path expression to select the attribute-value pair in the - * message payload that is used for identification. To route the message to the correct detector - * instance, the device must send a message payload that contains the same - * attribute-value.

                                                  + *

                                                  The ARN of the detector model.

                                                  */ - key?: string; + detectorModelArn?: string; /** *

                                                  A brief description of the detector model.

                                                  @@ -1060,11 +1065,6 @@ export interface DetectorModelConfiguration { *

                                                  The status of the detector model.

                                                  */ status?: DetectorModelVersionStatus | string; - - /** - *

                                                  The time the detector model was last updated.

                                                  - */ - lastUpdateTime?: Date; } export namespace DetectorModelConfiguration { @@ -1152,14 +1152,14 @@ export interface ResourceAlreadyExistsException extends __SmithyException, $Meta resourceArn?: string; /** - *

                                                  The ID of the resource.

                                                  + *

                                                  The message for the exception.

                                                  */ - resourceId?: string; + message?: string; /** - *

                                                  The message for the exception.

                                                  + *

                                                  The ID of the resource.

                                                  */ - message?: string; + resourceId?: string; } export namespace ResourceAlreadyExistsException { @@ -1244,24 +1244,24 @@ export namespace InputDefinition { export interface CreateInputRequest { /** - *

                                                  A brief description of the input.

                                                  + *

                                                  Metadata that can be used to manage the input.

                                                  */ - inputDescription?: string; + tags?: Tag[]; /** - *

                                                  The name you want to give to the input.

                                                  + *

                                                  The definition of the input.

                                                  */ - inputName: string | undefined; + inputDefinition: InputDefinition | undefined; /** - *

                                                  Metadata that can be used to manage the input.

                                                  + *

                                                  The name you want to give to the input.

                                                  */ - tags?: Tag[]; + inputName: string | undefined; /** - *

                                                  The definition of the input.

                                                  + *

                                                  A brief description of the input.

                                                  */ - inputDefinition: InputDefinition | undefined; + inputDescription?: string; } export namespace CreateInputRequest { @@ -1282,14 +1282,14 @@ export enum InputStatus { */ export interface InputConfiguration { /** - *

                                                  The ARN of the input.

                                                  + *

                                                  The name of the input.

                                                  */ - inputArn: string | undefined; + inputName: string | undefined; /** - *

                                                  The name of the input.

                                                  + *

                                                  The last time the input was updated.

                                                  */ - inputName: string | undefined; + lastUpdateTime: Date | undefined; /** *

                                                  The status of the input.

                                                  @@ -1297,19 +1297,19 @@ export interface InputConfiguration { status: InputStatus | string | undefined; /** - *

                                                  The last time the input was updated.

                                                  + *

                                                  The time the input was created.

                                                  */ - lastUpdateTime: Date | undefined; + creationTime: Date | undefined; /** - *

                                                  A brief description of the input.

                                                  + *

                                                  The ARN of the input.

                                                  */ - inputDescription?: string; + inputArn: string | undefined; /** - *

                                                  The time the input was created.

                                                  + *

                                                  A brief description of the input.

                                                  */ - creationTime: Date | undefined; + inputDescription?: string; } export namespace InputConfiguration { @@ -1461,14 +1461,14 @@ export namespace DescribeInputRequest { */ export interface Input { /** - *

                                                  Information about the configuration of an input.

                                                  + *

                                                  The definition of the input.

                                                  */ - inputConfiguration?: InputConfiguration; + inputDefinition?: InputDefinition; /** - *

                                                  The definition of the input.

                                                  + *

                                                  Information about the configuration of an input.

                                                  */ - inputDefinition?: InputDefinition; + inputConfiguration?: InputConfiguration; } export namespace Input { @@ -1542,15 +1542,15 @@ export interface LoggingOptions { level: LoggingLevel | string | undefined; /** - *

                                                  Information that identifies those detector models and their detectors (instances) for - * which the logging level is given.

                                                  + *

                                                  If TRUE, logging is enabled for AWS IoT Events.

                                                  */ - detectorDebugOptions?: DetectorDebugOption[]; + enabled: boolean | undefined; /** - *

                                                  If TRUE, logging is enabled for AWS IoT Events.

                                                  + *

                                                  Information that identifies those detector models and their detectors (instances) for + * which the logging level is given.

                                                  */ - enabled: boolean | undefined; + detectorDebugOptions?: DetectorDebugOption[]; } export namespace LoggingOptions { @@ -1595,14 +1595,14 @@ export namespace UnsupportedOperationException { */ export interface DetectorModelSummary { /** - *

                                                  The time the detector model was created.

                                                  + *

                                                  A brief description of the detector model.

                                                  */ - creationTime?: Date; + detectorModelDescription?: string; /** - *

                                                  A brief description of the detector model.

                                                  + *

                                                  The time the detector model was created.

                                                  */ - detectorModelDescription?: string; + creationTime?: Date; /** *

                                                  The name of the detector model.

                                                  @@ -1621,19 +1621,19 @@ export namespace DetectorModelSummary { */ export interface DetectorModelVersionSummary { /** - *

                                                  The last time the detector model version was updated.

                                                  + *

                                                  The ARN of the detector model version.

                                                  */ - lastUpdateTime?: Date; + detectorModelArn?: string; /** - *

                                                  The status of the detector model version.

                                                  + *

                                                  The time the detector model version was created.

                                                  */ - status?: DetectorModelVersionStatus | string; + creationTime?: Date; /** - *

                                                  The ARN of the detector model version.

                                                  + *

                                                  The status of the detector model version.

                                                  */ - detectorModelArn?: string; + status?: DetectorModelVersionStatus | string; /** *

                                                  The name of the detector model.

                                                  @@ -1646,15 +1646,15 @@ export interface DetectorModelVersionSummary { detectorModelVersion?: string; /** - *

                                                  Information about the order in which events are evaluated and how actions are executed. - *

                                                  + *

                                                  The last time the detector model version was updated.

                                                  */ - evaluationMethod?: EvaluationMethod | string; + lastUpdateTime?: Date; /** - *

                                                  The time the detector model version was created.

                                                  + *

                                                  Information about the order in which events are evaluated and how actions are executed. + *

                                                  */ - creationTime?: Date; + evaluationMethod?: EvaluationMethod | string; /** *

                                                  The ARN of the role that grants the detector model permission to perform its tasks.

                                                  @@ -1673,14 +1673,14 @@ export namespace DetectorModelVersionSummary { */ export interface InputSummary { /** - *

                                                  The ARN of the input.

                                                  + *

                                                  The last time the input was updated.

                                                  */ - inputArn?: string; + lastUpdateTime?: Date; /** - *

                                                  The time the input was created.

                                                  + *

                                                  The ARN of the input.

                                                  */ - creationTime?: Date; + inputArn?: string; /** *

                                                  The name of the input.

                                                  @@ -1693,9 +1693,9 @@ export interface InputSummary { status?: InputStatus | string; /** - *

                                                  The last time the input was updated.

                                                  + *

                                                  The time the input was created.

                                                  */ - lastUpdateTime?: Date; + creationTime?: Date; /** *

                                                  A brief description of the input.

                                                  @@ -1711,14 +1711,14 @@ export namespace InputSummary { export interface ListDetectorModelsRequest { /** - *

                                                  The token for the next set of results.

                                                  + *

                                                  The maximum number of results to return at one time.

                                                  */ - nextToken?: string; + maxResults?: number; /** - *

                                                  The maximum number of results to return at one time.

                                                  + *

                                                  The token for the next set of results.

                                                  */ - maxResults?: number; + nextToken?: string; } export namespace ListDetectorModelsRequest { @@ -1748,14 +1748,14 @@ export namespace ListDetectorModelsResponse { export interface ListDetectorModelVersionsRequest { /** - *

                                                  The name of the detector model whose versions are returned.

                                                  + *

                                                  The token for the next set of results.

                                                  */ - detectorModelName: string | undefined; + nextToken?: string; /** - *

                                                  The token for the next set of results.

                                                  + *

                                                  The name of the detector model whose versions are returned.

                                                  */ - nextToken?: string; + detectorModelName: string | undefined; /** *

                                                  The maximum number of results to return at one time.

                                                  @@ -1892,14 +1892,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                  A list of the keys of the tags to be removed from the resource.

                                                  + *

                                                  The ARN of the resource.

                                                  */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; /** - *

                                                  The ARN of the resource.

                                                  + *

                                                  A list of the keys of the tags to be removed from the resource.

                                                  */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -1918,9 +1918,9 @@ export namespace UntagResourceResponse { export interface UpdateDetectorModelRequest { /** - *

                                                  A brief description of the detector model.

                                                  + *

                                                  The name of the detector model that is updated.

                                                  */ - detectorModelDescription?: string; + detectorModelName: string | undefined; /** *

                                                  Information that defines how a detector operates.

                                                  @@ -1928,9 +1928,9 @@ export interface UpdateDetectorModelRequest { detectorModelDefinition: DetectorModelDefinition | undefined; /** - *

                                                  The name of the detector model that is updated.

                                                  + *

                                                  A brief description of the detector model.

                                                  */ - detectorModelName: string | undefined; + detectorModelDescription?: string; /** *

                                                  Information about the order in which events are evaluated and how actions are executed. diff --git a/clients/client-iot-events/protocols/Aws_restJson1.ts b/clients/client-iot-events/protocols/Aws_restJson1.ts index 2275a3003889..db05c61c9466 100644 --- a/clients/client-iot-events/protocols/Aws_restJson1.ts +++ b/clients/client-iot-events/protocols/Aws_restJson1.ts @@ -311,8 +311,8 @@ export const serializeAws_restJson1ListDetectorModelsCommand = async ( }; let resolvedPath = "/detector-models"; const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -477,8 +477,8 @@ export const serializeAws_restJson1UntagResourceCommand = async ( }; let resolvedPath = "/tags"; const query: any = { - ...(input.tagKeys !== undefined && { tagKeys: (input.tagKeys || []).map((_entry) => _entry) }), ...(input.resourceArn !== undefined && { resourceArn: input.resourceArn }), + ...(input.tagKeys !== undefined && { tagKeys: (input.tagKeys || []).map((_entry) => _entry) }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-iot-jobs-data-plane/models/models_0.ts b/clients/client-iot-jobs-data-plane/models/models_0.ts index f87e7c91cb2c..6f88e65fc8a7 100644 --- a/clients/client-iot-jobs-data-plane/models/models_0.ts +++ b/clients/client-iot-jobs-data-plane/models/models_0.ts @@ -26,15 +26,15 @@ export interface DescribeJobExecutionRequest { jobId: string | undefined; /** - *

                                                  Optional. A number that identifies a particular job execution on a particular device. If not specified, - * the latest job execution is returned.

                                                  + *

                                                  The thing name associated with the device the job execution is running on.

                                                  */ - executionNumber?: number; + thingName: string | undefined; /** - *

                                                  The thing name associated with the device the job execution is running on.

                                                  + *

                                                  Optional. A number that identifies a particular job execution on a particular device. If not specified, + * the latest job execution is returned.

                                                  */ - thingName: string | undefined; + executionNumber?: number; /** *

                                                  Optional. When set to true, the response contains the job document. The default is false.

                                                  @@ -70,20 +70,14 @@ export interface JobExecution { versionNumber?: number; /** - *

                                                  The unique identifier you assigned to this job when it was created.

                                                  - */ - jobId?: string; - - /** - *

                                                  The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS", "FAILED", "SUCCESS", "CANCELED", - * "REJECTED", or "REMOVED".

                                                  + *

                                                  The content of the job document.

                                                  */ - status?: JobExecutionStatus | string; + jobDocument?: string; /** - *

                                                  The content of the job document.

                                                  + *

                                                  The unique identifier you assigned to this job when it was created.

                                                  */ - jobDocument?: string; + jobId?: string; /** *

                                                  The time, in milliseconds since the epoch, when the job execution was enqueued.

                                                  @@ -91,9 +85,10 @@ export interface JobExecution { queuedAt?: number; /** - *

                                                  A collection of name/value pairs that describe the status of the job execution.

                                                  + *

                                                  The estimated number of seconds that remain before the job execution status will be + * changed to TIMED_OUT.

                                                  */ - statusDetails?: { [key: string]: string }; + approximateSecondsBeforeTimedOut?: number; /** *

                                                  The time, in milliseconds since the epoch, when the job execution was started.

                                                  @@ -101,10 +96,15 @@ export interface JobExecution { startedAt?: number; /** - *

                                                  The estimated number of seconds that remain before the job execution status will be - * changed to TIMED_OUT.

                                                  + *

                                                  The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS", "FAILED", "SUCCESS", "CANCELED", + * "REJECTED", or "REMOVED".

                                                  */ - approximateSecondsBeforeTimedOut?: number; + status?: JobExecutionStatus | string; + + /** + *

                                                  The time, in milliseconds since the epoch, when the job execution was last updated.

                                                  + */ + lastUpdatedAt?: number; /** *

                                                  The name of the thing that is executing the job.

                                                  @@ -118,9 +118,9 @@ export interface JobExecution { executionNumber?: number; /** - *

                                                  The time, in milliseconds since the epoch, when the job execution was last updated.

                                                  + *

                                                  A collection of name/value pairs that describe the status of the job execution.

                                                  */ - lastUpdatedAt?: number; + statusDetails?: { [key: string]: string }; } export namespace JobExecution { @@ -251,15 +251,20 @@ export namespace GetPendingJobExecutionsRequest { *

                                                  Contains a subset of information about a job execution.

                                                  */ export interface JobExecutionSummary { + /** + *

                                                  The time, in milliseconds since the epoch, when the job execution was enqueued.

                                                  + */ + queuedAt?: number; + /** *

                                                  The unique identifier you assigned to this job when it was created.

                                                  */ jobId?: string; /** - *

                                                  The time, in milliseconds since the epoch, when the job execution was enqueued.

                                                  + *

                                                  The time, in milliseconds since the epoch, when the job execution started.

                                                  */ - queuedAt?: number; + startedAt?: number; /** *

                                                  The version of the job execution. Job execution versions are incremented each time AWS IoT Jobs receives @@ -268,19 +273,14 @@ export interface JobExecutionSummary { versionNumber?: number; /** - *

                                                  The time, in milliseconds since the epoch, when the job execution started.

                                                  + *

                                                  The time, in milliseconds since the epoch, when the job execution was last updated.

                                                  */ - startedAt?: number; + lastUpdatedAt?: number; /** *

                                                  A number that identifies a particular job execution on a particular device.

                                                  */ executionNumber?: number; - - /** - *

                                                  The time, in milliseconds since the epoch, when the job execution was last updated.

                                                  - */ - lastUpdatedAt?: number; } export namespace JobExecutionSummary { @@ -291,14 +291,14 @@ export namespace JobExecutionSummary { export interface GetPendingJobExecutionsResponse { /** - *

                                                  A list of JobExecutionSummary objects with status IN_PROGRESS.

                                                  + *

                                                  A list of JobExecutionSummary objects with status QUEUED.

                                                  */ - inProgressJobs?: JobExecutionSummary[]; + queuedJobs?: JobExecutionSummary[]; /** - *

                                                  A list of JobExecutionSummary objects with status QUEUED.

                                                  + *

                                                  A list of JobExecutionSummary objects with status IN_PROGRESS.

                                                  */ - queuedJobs?: JobExecutionSummary[]; + inProgressJobs?: JobExecutionSummary[]; } export namespace GetPendingJobExecutionsResponse { @@ -369,21 +369,9 @@ export namespace StartNextPendingJobExecutionResponse { export interface UpdateJobExecutionRequest { /** - *

                                                  The unique identifier assigned to this job when it was created.

                                                  - */ - jobId: string | undefined; - - /** - *

                                                  The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or REJECTED). This must be specified - * on every update.

                                                  - */ - status: JobExecutionStatus | string | undefined; - - /** - *

                                                  Optional. A collection of name/value pairs that describe the status of the job execution. If not - * specified, the statusDetails are unchanged.

                                                  + *

                                                  Optional. When set to true, the response contains the job document. The default is false.

                                                  */ - statusDetails?: { [key: string]: string }; + includeJobDocument?: boolean; /** *

                                                  Optional. The expected current version of the job execution. Each time you update the job execution, its @@ -395,15 +383,25 @@ export interface UpdateJobExecutionRequest { expectedVersion?: number; /** - *

                                                  Optional. When included and set to true, the response contains the JobExecutionState data. The default is - * false.

                                                  + *

                                                  The unique identifier assigned to this job when it was created.

                                                  */ - includeJobExecutionState?: boolean; + jobId: string | undefined; /** - *

                                                  Optional. When set to true, the response contains the job document. The default is false.

                                                  + *

                                                  The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or REJECTED). This must be specified + * on every update.

                                                  */ - includeJobDocument?: boolean; + status: JobExecutionStatus | string | undefined; + + /** + *

                                                  Optional. A number that identifies a particular job execution on a particular device.

                                                  + */ + executionNumber?: number; + + /** + *

                                                  The name of the thing associated with the device.

                                                  + */ + thingName: string | undefined; /** *

                                                  Specifies the amount of time this device has to finish execution of this job. If the job @@ -417,14 +415,16 @@ export interface UpdateJobExecutionRequest { stepTimeoutInMinutes?: number; /** - *

                                                  Optional. A number that identifies a particular job execution on a particular device.

                                                  + *

                                                  Optional. When included and set to true, the response contains the JobExecutionState data. The default is + * false.

                                                  */ - executionNumber?: number; + includeJobExecutionState?: boolean; /** - *

                                                  The name of the thing associated with the device.

                                                  + *

                                                  Optional. A collection of name/value pairs that describe the status of the job execution. If not + * specified, the statusDetails are unchanged.

                                                  */ - thingName: string | undefined; + statusDetails?: { [key: string]: string }; } export namespace UpdateJobExecutionRequest { @@ -438,9 +438,10 @@ export namespace UpdateJobExecutionRequest { */ export interface JobExecutionState { /** - *

                                                  A collection of name/value pairs that describe the status of the job execution.

                                                  + *

                                                  The version of the job execution. Job execution versions are incremented each time they are updated by a + * device.

                                                  */ - statusDetails?: { [key: string]: string }; + versionNumber?: number; /** *

                                                  The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS", "FAILED", "SUCCESS", "CANCELED", @@ -449,10 +450,9 @@ export interface JobExecutionState { status?: JobExecutionStatus | string; /** - *

                                                  The version of the job execution. Job execution versions are incremented each time they are updated by a - * device.

                                                  + *

                                                  A collection of name/value pairs that describe the status of the job execution.

                                                  */ - versionNumber?: number; + statusDetails?: { [key: string]: string }; } export namespace JobExecutionState { @@ -463,14 +463,14 @@ export namespace JobExecutionState { export interface UpdateJobExecutionResponse { /** - *

                                                  A JobExecutionState object.

                                                  + *

                                                  The contents of the Job Documents.

                                                  */ - executionState?: JobExecutionState; + jobDocument?: string; /** - *

                                                  The contents of the Job Documents.

                                                  + *

                                                  A JobExecutionState object.

                                                  */ - jobDocument?: string; + executionState?: JobExecutionState; } export namespace UpdateJobExecutionResponse { diff --git a/clients/client-iot/IoT.ts b/clients/client-iot/IoT.ts index 08515634c26d..f00c8c1d55c7 100644 --- a/clients/client-iot/IoT.ts +++ b/clients/client-iot/IoT.ts @@ -70,6 +70,11 @@ import { ConfirmTopicRuleDestinationCommandInput, ConfirmTopicRuleDestinationCommandOutput, } from "./commands/ConfirmTopicRuleDestinationCommand"; +import { + CreateAuditSuppressionCommand, + CreateAuditSuppressionCommandInput, + CreateAuditSuppressionCommandOutput, +} from "./commands/CreateAuditSuppressionCommand"; import { CreateAuthorizerCommand, CreateAuthorizerCommandInput, @@ -187,6 +192,11 @@ import { DeleteAccountAuditConfigurationCommandInput, DeleteAccountAuditConfigurationCommandOutput, } from "./commands/DeleteAccountAuditConfigurationCommand"; +import { + DeleteAuditSuppressionCommand, + DeleteAuditSuppressionCommandInput, + DeleteAuditSuppressionCommandOutput, +} from "./commands/DeleteAuditSuppressionCommand"; import { DeleteAuthorizerCommand, DeleteAuthorizerCommandInput, @@ -329,6 +339,11 @@ import { DescribeAuditMitigationActionsTaskCommandInput, DescribeAuditMitigationActionsTaskCommandOutput, } from "./commands/DescribeAuditMitigationActionsTaskCommand"; +import { + DescribeAuditSuppressionCommand, + DescribeAuditSuppressionCommandInput, + DescribeAuditSuppressionCommandOutput, +} from "./commands/DescribeAuditSuppressionCommand"; import { DescribeAuditTaskCommand, DescribeAuditTaskCommandInput, @@ -566,6 +581,11 @@ import { ListAuditMitigationActionsTasksCommandInput, ListAuditMitigationActionsTasksCommandOutput, } from "./commands/ListAuditMitigationActionsTasksCommand"; +import { + ListAuditSuppressionsCommand, + ListAuditSuppressionsCommandInput, + ListAuditSuppressionsCommandOutput, +} from "./commands/ListAuditSuppressionsCommand"; import { ListAuditTasksCommand, ListAuditTasksCommandInput, @@ -877,6 +897,11 @@ import { UpdateAccountAuditConfigurationCommandInput, UpdateAccountAuditConfigurationCommandOutput, } from "./commands/UpdateAccountAuditConfigurationCommand"; +import { + UpdateAuditSuppressionCommand, + UpdateAuditSuppressionCommandInput, + UpdateAuditSuppressionCommandOutput, +} from "./commands/UpdateAuditSuppressionCommand"; import { UpdateAuthorizerCommand, UpdateAuthorizerCommandInput, @@ -1498,6 +1523,40 @@ export class IoT extends IoTClient { } } + /** + *

                                                  + * Creates a Device Defender audit suppression. + *

                                                  + */ + public createAuditSuppression( + args: CreateAuditSuppressionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createAuditSuppression( + args: CreateAuditSuppressionCommandInput, + cb: (err: any, data?: CreateAuditSuppressionCommandOutput) => void + ): void; + public createAuditSuppression( + args: CreateAuditSuppressionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAuditSuppressionCommandOutput) => void + ): void; + public createAuditSuppression( + args: CreateAuditSuppressionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateAuditSuppressionCommandOutput) => void), + cb?: (err: any, data?: CreateAuditSuppressionCommandOutput) => void + ): Promise | void { + const command = new CreateAuditSuppressionCommand(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 authorizer.

                                                  */ @@ -1791,7 +1850,7 @@ export class IoT extends IoTClient { } /** - *

                                                  Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. Each mitigation action can apply only one type of change.

                                                  + *

                                                  Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. Only certain types of mitigation actions can be applied to specific check names. For more information, see Mitigation actions. Each mitigation action can apply only one type of change.

                                                  */ public createMitigationAction( args: CreateMitigationActionCommandInput, @@ -2348,6 +2407,40 @@ export class IoT extends IoTClient { } } + /** + *

                                                  + * Deletes a Device Defender audit suppression. + *

                                                  + */ + public deleteAuditSuppression( + args: DeleteAuditSuppressionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteAuditSuppression( + args: DeleteAuditSuppressionCommandInput, + cb: (err: any, data?: DeleteAuditSuppressionCommandOutput) => void + ): void; + public deleteAuditSuppression( + args: DeleteAuditSuppressionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAuditSuppressionCommandOutput) => void + ): void; + public deleteAuditSuppression( + args: DeleteAuditSuppressionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAuditSuppressionCommandOutput) => void), + cb?: (err: any, data?: DeleteAuditSuppressionCommandOutput) => void + ): Promise | void { + const command = new DeleteAuditSuppressionCommand(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 an authorizer.

                                                  */ @@ -3318,6 +3411,40 @@ export class IoT extends IoTClient { } } + /** + *

                                                  + * Gets information about a Device Defender audit suppression. + *

                                                  + */ + public describeAuditSuppression( + args: DescribeAuditSuppressionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeAuditSuppression( + args: DescribeAuditSuppressionCommandInput, + cb: (err: any, data?: DescribeAuditSuppressionCommandOutput) => void + ): void; + public describeAuditSuppression( + args: DescribeAuditSuppressionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAuditSuppressionCommandOutput) => void + ): void; + public describeAuditSuppression( + args: DescribeAuditSuppressionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeAuditSuppressionCommandOutput) => void), + cb?: (err: any, data?: DescribeAuditSuppressionCommandOutput) => void + ): Promise | void { + const command = new DescribeAuditSuppressionCommand(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 information about a Device Defender audit.

                                                  */ @@ -4796,7 +4923,7 @@ export class IoT extends IoTClient { /** *

                                                  Lists the findings (results) of a Device Defender audit or of the audits - * performed during a specified time period. (Findings are retained for 180 days.)

                                                  + * performed during a specified time period. (Findings are retained for 90 days.)

                                                  */ public listAuditFindings( args: ListAuditFindingsCommandInput, @@ -4891,6 +5018,40 @@ export class IoT extends IoTClient { } } + /** + *

                                                  + * Lists your Device Defender audit listings. + *

                                                  + */ + public listAuditSuppressions( + args: ListAuditSuppressionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAuditSuppressions( + args: ListAuditSuppressionsCommandInput, + cb: (err: any, data?: ListAuditSuppressionsCommandOutput) => void + ): void; + public listAuditSuppressions( + args: ListAuditSuppressionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAuditSuppressionsCommandOutput) => void + ): void; + public listAuditSuppressions( + args: ListAuditSuppressionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAuditSuppressionsCommandOutput) => void), + cb?: (err: any, data?: ListAuditSuppressionsCommandOutput) => void + ): Promise | void { + const command = new ListAuditSuppressionsCommand(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 Device Defender audits that have been performed during a given * time period.

                                                  @@ -6015,6 +6176,9 @@ export class IoT extends IoTClient { * For example, calling ListThings with attributeName=Color and * attributeValue=Red retrieves all things in the registry that contain an attribute * Color with the value Red.

                                                  + * + *

                                                  You will not be charged for calling this API if an Access denied error is returned. You will also not be charged if no attributes or pagination token was provided in request and no pagination token and no results were returned.

                                                  + *
                                                  */ public listThings(args: ListThingsCommandInput, options?: __HttpHandlerOptions): Promise; public listThings(args: ListThingsCommandInput, cb: (err: any, data?: ListThingsCommandOutput) => void): void; @@ -7064,6 +7228,40 @@ export class IoT extends IoTClient { } } + /** + *

                                                  + * Updates a Device Defender audit suppression. + *

                                                  + */ + public updateAuditSuppression( + args: UpdateAuditSuppressionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateAuditSuppression( + args: UpdateAuditSuppressionCommandInput, + cb: (err: any, data?: UpdateAuditSuppressionCommandOutput) => void + ): void; + public updateAuditSuppression( + args: UpdateAuditSuppressionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAuditSuppressionCommandOutput) => void + ): void; + public updateAuditSuppression( + args: UpdateAuditSuppressionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateAuditSuppressionCommandOutput) => void), + cb?: (err: any, data?: UpdateAuditSuppressionCommandOutput) => void + ): Promise | void { + const command = new UpdateAuditSuppressionCommand(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 authorizer.

                                                  */ @@ -7163,10 +7361,11 @@ export class IoT extends IoTClient { /** *

                                                  Updates the status of the specified certificate. This operation is * idempotent.

                                                  - *

                                                  Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect - * currently connected devices, but these devices will be unable to reconnect.

                                                  - *

                                                  The ACTIVE state is required to authenticate devices connecting to AWS IoT using a - * certificate.

                                                  + *

                                                  Certificates must be in the ACTIVE state to authenticate devices that use + * a certificate to connect to AWS IoT.

                                                  + *

                                                  Within a few minutes of updating a certificate from the ACTIVE state to any other + * state, AWS IoT disconnects all devices that used that certificate to connect. Devices cannot + * use a certificate that is not in the ACTIVE state to reconnect.

                                                  */ public updateCertificate( args: UpdateCertificateCommandInput, diff --git a/clients/client-iot/IoTClient.ts b/clients/client-iot/IoTClient.ts index 1e8164db9759..e33d157b09f3 100644 --- a/clients/client-iot/IoTClient.ts +++ b/clients/client-iot/IoTClient.ts @@ -46,6 +46,10 @@ import { ConfirmTopicRuleDestinationCommandInput, ConfirmTopicRuleDestinationCommandOutput, } from "./commands/ConfirmTopicRuleDestinationCommand"; +import { + CreateAuditSuppressionCommandInput, + CreateAuditSuppressionCommandOutput, +} from "./commands/CreateAuditSuppressionCommand"; import { CreateAuthorizerCommandInput, CreateAuthorizerCommandOutput } from "./commands/CreateAuthorizerCommand"; import { CreateBillingGroupCommandInput, CreateBillingGroupCommandOutput } from "./commands/CreateBillingGroupCommand"; import { @@ -110,6 +114,10 @@ import { DeleteAccountAuditConfigurationCommandInput, DeleteAccountAuditConfigurationCommandOutput, } from "./commands/DeleteAccountAuditConfigurationCommand"; +import { + DeleteAuditSuppressionCommandInput, + DeleteAuditSuppressionCommandOutput, +} from "./commands/DeleteAuditSuppressionCommand"; import { DeleteAuthorizerCommandInput, DeleteAuthorizerCommandOutput } from "./commands/DeleteAuthorizerCommand"; import { DeleteBillingGroupCommandInput, DeleteBillingGroupCommandOutput } from "./commands/DeleteBillingGroupCommand"; import { @@ -185,6 +193,10 @@ import { DescribeAuditMitigationActionsTaskCommandInput, DescribeAuditMitigationActionsTaskCommandOutput, } from "./commands/DescribeAuditMitigationActionsTaskCommand"; +import { + DescribeAuditSuppressionCommandInput, + DescribeAuditSuppressionCommandOutput, +} from "./commands/DescribeAuditSuppressionCommand"; import { DescribeAuditTaskCommandInput, DescribeAuditTaskCommandOutput } from "./commands/DescribeAuditTaskCommand"; import { DescribeAuthorizerCommandInput, DescribeAuthorizerCommandOutput } from "./commands/DescribeAuthorizerCommand"; import { @@ -309,6 +321,10 @@ import { ListAuditMitigationActionsTasksCommandInput, ListAuditMitigationActionsTasksCommandOutput, } from "./commands/ListAuditMitigationActionsTasksCommand"; +import { + ListAuditSuppressionsCommandInput, + ListAuditSuppressionsCommandOutput, +} from "./commands/ListAuditSuppressionsCommand"; import { ListAuditTasksCommandInput, ListAuditTasksCommandOutput } from "./commands/ListAuditTasksCommand"; import { ListAuthorizersCommandInput, ListAuthorizersCommandOutput } from "./commands/ListAuthorizersCommand"; import { ListBillingGroupsCommandInput, ListBillingGroupsCommandOutput } from "./commands/ListBillingGroupsCommand"; @@ -502,6 +518,10 @@ import { UpdateAccountAuditConfigurationCommandInput, UpdateAccountAuditConfigurationCommandOutput, } from "./commands/UpdateAccountAuditConfigurationCommand"; +import { + UpdateAuditSuppressionCommandInput, + UpdateAuditSuppressionCommandOutput, +} from "./commands/UpdateAuditSuppressionCommand"; import { UpdateAuthorizerCommandInput, UpdateAuthorizerCommandOutput } from "./commands/UpdateAuthorizerCommand"; import { UpdateBillingGroupCommandInput, UpdateBillingGroupCommandOutput } from "./commands/UpdateBillingGroupCommand"; import { @@ -624,6 +644,7 @@ export type ServiceInputTypes = | CancelJobExecutionCommandInput | ClearDefaultAuthorizerCommandInput | ConfirmTopicRuleDestinationCommandInput + | CreateAuditSuppressionCommandInput | CreateAuthorizerCommandInput | CreateBillingGroupCommandInput | CreateCertificateFromCsrCommandInput @@ -649,6 +670,7 @@ export type ServiceInputTypes = | CreateTopicRuleCommandInput | CreateTopicRuleDestinationCommandInput | DeleteAccountAuditConfigurationCommandInput + | DeleteAuditSuppressionCommandInput | DeleteAuthorizerCommandInput | DeleteBillingGroupCommandInput | DeleteCACertificateCommandInput @@ -679,6 +701,7 @@ export type ServiceInputTypes = | DescribeAccountAuditConfigurationCommandInput | DescribeAuditFindingCommandInput | DescribeAuditMitigationActionsTaskCommandInput + | DescribeAuditSuppressionCommandInput | DescribeAuditTaskCommandInput | DescribeAuthorizerCommandInput | DescribeBillingGroupCommandInput @@ -728,6 +751,7 @@ export type ServiceInputTypes = | ListAuditFindingsCommandInput | ListAuditMitigationActionsExecutionsCommandInput | ListAuditMitigationActionsTasksCommandInput + | ListAuditSuppressionsCommandInput | ListAuditTasksCommandInput | ListAuthorizersCommandInput | ListBillingGroupsCommandInput @@ -795,6 +819,7 @@ export type ServiceInputTypes = | TransferCertificateCommandInput | UntagResourceCommandInput | UpdateAccountAuditConfigurationCommandInput + | UpdateAuditSuppressionCommandInput | UpdateAuthorizerCommandInput | UpdateBillingGroupCommandInput | UpdateCACertificateCommandInput @@ -833,6 +858,7 @@ export type ServiceOutputTypes = | CancelJobExecutionCommandOutput | ClearDefaultAuthorizerCommandOutput | ConfirmTopicRuleDestinationCommandOutput + | CreateAuditSuppressionCommandOutput | CreateAuthorizerCommandOutput | CreateBillingGroupCommandOutput | CreateCertificateFromCsrCommandOutput @@ -858,6 +884,7 @@ export type ServiceOutputTypes = | CreateTopicRuleCommandOutput | CreateTopicRuleDestinationCommandOutput | DeleteAccountAuditConfigurationCommandOutput + | DeleteAuditSuppressionCommandOutput | DeleteAuthorizerCommandOutput | DeleteBillingGroupCommandOutput | DeleteCACertificateCommandOutput @@ -888,6 +915,7 @@ export type ServiceOutputTypes = | DescribeAccountAuditConfigurationCommandOutput | DescribeAuditFindingCommandOutput | DescribeAuditMitigationActionsTaskCommandOutput + | DescribeAuditSuppressionCommandOutput | DescribeAuditTaskCommandOutput | DescribeAuthorizerCommandOutput | DescribeBillingGroupCommandOutput @@ -937,6 +965,7 @@ export type ServiceOutputTypes = | ListAuditFindingsCommandOutput | ListAuditMitigationActionsExecutionsCommandOutput | ListAuditMitigationActionsTasksCommandOutput + | ListAuditSuppressionsCommandOutput | ListAuditTasksCommandOutput | ListAuthorizersCommandOutput | ListBillingGroupsCommandOutput @@ -1004,6 +1033,7 @@ export type ServiceOutputTypes = | TransferCertificateCommandOutput | UntagResourceCommandOutput | UpdateAccountAuditConfigurationCommandOutput + | UpdateAuditSuppressionCommandOutput | UpdateAuthorizerCommandOutput | UpdateBillingGroupCommandOutput | UpdateCACertificateCommandOutput diff --git a/clients/client-iot/commands/CreateAuditSuppressionCommand.ts b/clients/client-iot/commands/CreateAuditSuppressionCommand.ts new file mode 100644 index 000000000000..fef70aa2212c --- /dev/null +++ b/clients/client-iot/commands/CreateAuditSuppressionCommand.ts @@ -0,0 +1,70 @@ +import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; +import { CreateAuditSuppressionRequest, CreateAuditSuppressionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateAuditSuppressionCommand, + serializeAws_restJson1CreateAuditSuppressionCommand, +} 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 CreateAuditSuppressionCommandInput = CreateAuditSuppressionRequest; +export type CreateAuditSuppressionCommandOutput = CreateAuditSuppressionResponse & __MetadataBearer; + +export class CreateAuditSuppressionCommand extends $Command< + CreateAuditSuppressionCommandInput, + CreateAuditSuppressionCommandOutput, + IoTClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateAuditSuppressionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IoTClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateAuditSuppressionRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateAuditSuppressionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateAuditSuppressionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateAuditSuppressionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateAuditSuppressionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-iot/commands/DeleteAuditSuppressionCommand.ts b/clients/client-iot/commands/DeleteAuditSuppressionCommand.ts new file mode 100644 index 000000000000..6b279ec856c9 --- /dev/null +++ b/clients/client-iot/commands/DeleteAuditSuppressionCommand.ts @@ -0,0 +1,70 @@ +import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; +import { DeleteAuditSuppressionRequest, DeleteAuditSuppressionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteAuditSuppressionCommand, + serializeAws_restJson1DeleteAuditSuppressionCommand, +} 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 DeleteAuditSuppressionCommandInput = DeleteAuditSuppressionRequest; +export type DeleteAuditSuppressionCommandOutput = DeleteAuditSuppressionResponse & __MetadataBearer; + +export class DeleteAuditSuppressionCommand extends $Command< + DeleteAuditSuppressionCommandInput, + DeleteAuditSuppressionCommandOutput, + IoTClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAuditSuppressionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IoTClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteAuditSuppressionRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteAuditSuppressionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteAuditSuppressionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteAuditSuppressionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteAuditSuppressionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-iot/commands/DescribeAuditSuppressionCommand.ts b/clients/client-iot/commands/DescribeAuditSuppressionCommand.ts new file mode 100644 index 000000000000..e59f77ad2d25 --- /dev/null +++ b/clients/client-iot/commands/DescribeAuditSuppressionCommand.ts @@ -0,0 +1,70 @@ +import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; +import { DescribeAuditSuppressionRequest, DescribeAuditSuppressionResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeAuditSuppressionCommand, + serializeAws_restJson1DescribeAuditSuppressionCommand, +} 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 DescribeAuditSuppressionCommandInput = DescribeAuditSuppressionRequest; +export type DescribeAuditSuppressionCommandOutput = DescribeAuditSuppressionResponse & __MetadataBearer; + +export class DescribeAuditSuppressionCommand extends $Command< + DescribeAuditSuppressionCommandInput, + DescribeAuditSuppressionCommandOutput, + IoTClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeAuditSuppressionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IoTClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeAuditSuppressionRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeAuditSuppressionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeAuditSuppressionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeAuditSuppressionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeAuditSuppressionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-iot/commands/DescribeAuditTaskCommand.ts b/clients/client-iot/commands/DescribeAuditTaskCommand.ts index 783def601f53..a5f8a4e63256 100644 --- a/clients/client-iot/commands/DescribeAuditTaskCommand.ts +++ b/clients/client-iot/commands/DescribeAuditTaskCommand.ts @@ -1,5 +1,6 @@ import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; -import { DescribeAuditTaskRequest, DescribeAuditTaskResponse } from "../models/models_0"; +import { DescribeAuditTaskRequest } from "../models/models_0"; +import { DescribeAuditTaskResponse } from "../models/models_1"; import { deserializeAws_restJson1DescribeAuditTaskCommand, serializeAws_restJson1DescribeAuditTaskCommand, diff --git a/clients/client-iot/commands/DescribeAuthorizerCommand.ts b/clients/client-iot/commands/DescribeAuthorizerCommand.ts index 2c5154b284de..9296949de238 100644 --- a/clients/client-iot/commands/DescribeAuthorizerCommand.ts +++ b/clients/client-iot/commands/DescribeAuthorizerCommand.ts @@ -1,5 +1,5 @@ import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; -import { DescribeAuthorizerRequest, DescribeAuthorizerResponse } from "../models/models_0"; +import { DescribeAuthorizerRequest, DescribeAuthorizerResponse } from "../models/models_1"; import { deserializeAws_restJson1DescribeAuthorizerCommand, serializeAws_restJson1DescribeAuthorizerCommand, diff --git a/clients/client-iot/commands/DescribeBillingGroupCommand.ts b/clients/client-iot/commands/DescribeBillingGroupCommand.ts index 07283f95670b..4581ff6c52d5 100644 --- a/clients/client-iot/commands/DescribeBillingGroupCommand.ts +++ b/clients/client-iot/commands/DescribeBillingGroupCommand.ts @@ -1,5 +1,5 @@ import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; -import { DescribeBillingGroupRequest, DescribeBillingGroupResponse } from "../models/models_0"; +import { DescribeBillingGroupRequest, DescribeBillingGroupResponse } from "../models/models_1"; import { deserializeAws_restJson1DescribeBillingGroupCommand, serializeAws_restJson1DescribeBillingGroupCommand, diff --git a/clients/client-iot/commands/DescribeCACertificateCommand.ts b/clients/client-iot/commands/DescribeCACertificateCommand.ts index 3f1dd3b974bf..89d22c1f64c6 100644 --- a/clients/client-iot/commands/DescribeCACertificateCommand.ts +++ b/clients/client-iot/commands/DescribeCACertificateCommand.ts @@ -1,6 +1,5 @@ import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; -import { DescribeCACertificateRequest } from "../models/models_0"; -import { DescribeCACertificateResponse } from "../models/models_1"; +import { DescribeCACertificateRequest, DescribeCACertificateResponse } from "../models/models_1"; import { deserializeAws_restJson1DescribeCACertificateCommand, serializeAws_restJson1DescribeCACertificateCommand, diff --git a/clients/client-iot/commands/ListAuditSuppressionsCommand.ts b/clients/client-iot/commands/ListAuditSuppressionsCommand.ts new file mode 100644 index 000000000000..900e9b2f2658 --- /dev/null +++ b/clients/client-iot/commands/ListAuditSuppressionsCommand.ts @@ -0,0 +1,70 @@ +import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; +import { ListAuditSuppressionsRequest, ListAuditSuppressionsResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListAuditSuppressionsCommand, + serializeAws_restJson1ListAuditSuppressionsCommand, +} 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 ListAuditSuppressionsCommandInput = ListAuditSuppressionsRequest; +export type ListAuditSuppressionsCommandOutput = ListAuditSuppressionsResponse & __MetadataBearer; + +export class ListAuditSuppressionsCommand extends $Command< + ListAuditSuppressionsCommandInput, + ListAuditSuppressionsCommandOutput, + IoTClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAuditSuppressionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IoTClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListAuditSuppressionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAuditSuppressionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListAuditSuppressionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListAuditSuppressionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListAuditSuppressionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-iot/commands/TestInvokeAuthorizerCommand.ts b/clients/client-iot/commands/TestInvokeAuthorizerCommand.ts index 04931755f163..4a9812fcc5f9 100644 --- a/clients/client-iot/commands/TestInvokeAuthorizerCommand.ts +++ b/clients/client-iot/commands/TestInvokeAuthorizerCommand.ts @@ -1,5 +1,5 @@ import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; -import { TestInvokeAuthorizerRequest, TestInvokeAuthorizerResponse } from "../models/models_1"; +import { TestInvokeAuthorizerRequest, TestInvokeAuthorizerResponse } from "../models/models_2"; import { deserializeAws_restJson1TestInvokeAuthorizerCommand, serializeAws_restJson1TestInvokeAuthorizerCommand, diff --git a/clients/client-iot/commands/TransferCertificateCommand.ts b/clients/client-iot/commands/TransferCertificateCommand.ts index 19103800f7fb..e8986885e59d 100644 --- a/clients/client-iot/commands/TransferCertificateCommand.ts +++ b/clients/client-iot/commands/TransferCertificateCommand.ts @@ -1,5 +1,5 @@ import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; -import { TransferCertificateRequest, TransferCertificateResponse } from "../models/models_1"; +import { TransferCertificateRequest, TransferCertificateResponse } from "../models/models_2"; import { deserializeAws_restJson1TransferCertificateCommand, serializeAws_restJson1TransferCertificateCommand, diff --git a/clients/client-iot/commands/UntagResourceCommand.ts b/clients/client-iot/commands/UntagResourceCommand.ts index 375822fc705d..4f95a33ec1dc 100644 --- a/clients/client-iot/commands/UntagResourceCommand.ts +++ b/clients/client-iot/commands/UntagResourceCommand.ts @@ -1,5 +1,5 @@ import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; -import { UntagResourceRequest, UntagResourceResponse } from "../models/models_1"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_2"; import { deserializeAws_restJson1UntagResourceCommand, serializeAws_restJson1UntagResourceCommand, diff --git a/clients/client-iot/commands/UpdateAccountAuditConfigurationCommand.ts b/clients/client-iot/commands/UpdateAccountAuditConfigurationCommand.ts index 667f8200d3a5..0ec328f1adff 100644 --- a/clients/client-iot/commands/UpdateAccountAuditConfigurationCommand.ts +++ b/clients/client-iot/commands/UpdateAccountAuditConfigurationCommand.ts @@ -1,5 +1,5 @@ import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; -import { UpdateAccountAuditConfigurationRequest, UpdateAccountAuditConfigurationResponse } from "../models/models_1"; +import { UpdateAccountAuditConfigurationRequest, UpdateAccountAuditConfigurationResponse } from "../models/models_2"; import { deserializeAws_restJson1UpdateAccountAuditConfigurationCommand, serializeAws_restJson1UpdateAccountAuditConfigurationCommand, diff --git a/clients/client-iot/commands/UpdateAuditSuppressionCommand.ts b/clients/client-iot/commands/UpdateAuditSuppressionCommand.ts new file mode 100644 index 000000000000..18947626cdc2 --- /dev/null +++ b/clients/client-iot/commands/UpdateAuditSuppressionCommand.ts @@ -0,0 +1,70 @@ +import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; +import { UpdateAuditSuppressionRequest, UpdateAuditSuppressionResponse } from "../models/models_2"; +import { + deserializeAws_restJson1UpdateAuditSuppressionCommand, + serializeAws_restJson1UpdateAuditSuppressionCommand, +} 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 UpdateAuditSuppressionCommandInput = UpdateAuditSuppressionRequest; +export type UpdateAuditSuppressionCommandOutput = UpdateAuditSuppressionResponse & __MetadataBearer; + +export class UpdateAuditSuppressionCommand extends $Command< + UpdateAuditSuppressionCommandInput, + UpdateAuditSuppressionCommandOutput, + IoTClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateAuditSuppressionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IoTClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateAuditSuppressionRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateAuditSuppressionResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateAuditSuppressionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateAuditSuppressionCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateAuditSuppressionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-iot/commands/UpdateAuthorizerCommand.ts b/clients/client-iot/commands/UpdateAuthorizerCommand.ts index aca0c4e96631..0f8f8d137903 100644 --- a/clients/client-iot/commands/UpdateAuthorizerCommand.ts +++ b/clients/client-iot/commands/UpdateAuthorizerCommand.ts @@ -1,5 +1,5 @@ import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; -import { UpdateAuthorizerRequest, UpdateAuthorizerResponse } from "../models/models_1"; +import { UpdateAuthorizerRequest, UpdateAuthorizerResponse } from "../models/models_2"; import { deserializeAws_restJson1UpdateAuthorizerCommand, serializeAws_restJson1UpdateAuthorizerCommand, diff --git a/clients/client-iot/index.ts b/clients/client-iot/index.ts index e2e694cf1ab9..ce5d2737b4a7 100644 --- a/clients/client-iot/index.ts +++ b/clients/client-iot/index.ts @@ -15,6 +15,7 @@ export * from "./commands/CancelJobCommand"; export * from "./commands/CancelJobExecutionCommand"; export * from "./commands/ClearDefaultAuthorizerCommand"; export * from "./commands/ConfirmTopicRuleDestinationCommand"; +export * from "./commands/CreateAuditSuppressionCommand"; export * from "./commands/CreateAuthorizerCommand"; export * from "./commands/CreateBillingGroupCommand"; export * from "./commands/CreateCertificateFromCsrCommand"; @@ -40,6 +41,7 @@ export * from "./commands/CreateThingTypeCommand"; export * from "./commands/CreateTopicRuleCommand"; export * from "./commands/CreateTopicRuleDestinationCommand"; export * from "./commands/DeleteAccountAuditConfigurationCommand"; +export * from "./commands/DeleteAuditSuppressionCommand"; export * from "./commands/DeleteAuthorizerCommand"; export * from "./commands/DeleteBillingGroupCommand"; export * from "./commands/DeleteCACertificateCommand"; @@ -70,6 +72,7 @@ export * from "./commands/DeprecateThingTypeCommand"; export * from "./commands/DescribeAccountAuditConfigurationCommand"; export * from "./commands/DescribeAuditFindingCommand"; export * from "./commands/DescribeAuditMitigationActionsTaskCommand"; +export * from "./commands/DescribeAuditSuppressionCommand"; export * from "./commands/DescribeAuditTaskCommand"; export * from "./commands/DescribeAuthorizerCommand"; export * from "./commands/DescribeBillingGroupCommand"; @@ -115,53 +118,101 @@ export * from "./commands/GetTopicRuleCommand"; export * from "./commands/GetTopicRuleDestinationCommand"; export * from "./commands/GetV2LoggingOptionsCommand"; export * from "./commands/ListActiveViolationsCommand"; +export * from "./pagination/ListActiveViolationsPaginator"; export * from "./commands/ListAttachedPoliciesCommand"; +export * from "./pagination/ListAttachedPoliciesPaginator"; export * from "./commands/ListAuditFindingsCommand"; +export * from "./pagination/ListAuditFindingsPaginator"; export * from "./commands/ListAuditMitigationActionsExecutionsCommand"; +export * from "./pagination/ListAuditMitigationActionsExecutionsPaginator"; export * from "./commands/ListAuditMitigationActionsTasksCommand"; +export * from "./pagination/ListAuditMitigationActionsTasksPaginator"; +export * from "./commands/ListAuditSuppressionsCommand"; +export * from "./pagination/ListAuditSuppressionsPaginator"; export * from "./commands/ListAuditTasksCommand"; +export * from "./pagination/ListAuditTasksPaginator"; export * from "./commands/ListAuthorizersCommand"; +export * from "./pagination/ListAuthorizersPaginator"; export * from "./commands/ListBillingGroupsCommand"; +export * from "./pagination/ListBillingGroupsPaginator"; export * from "./commands/ListCACertificatesCommand"; +export * from "./pagination/ListCACertificatesPaginator"; export * from "./commands/ListCertificatesCommand"; +export * from "./pagination/ListCertificatesPaginator"; export * from "./commands/ListCertificatesByCACommand"; +export * from "./pagination/ListCertificatesByCAPaginator"; export * from "./commands/ListDimensionsCommand"; +export * from "./pagination/ListDimensionsPaginator"; export * from "./commands/ListDomainConfigurationsCommand"; +export * from "./pagination/ListDomainConfigurationsPaginator"; export * from "./commands/ListIndicesCommand"; +export * from "./pagination/ListIndicesPaginator"; export * from "./commands/ListJobExecutionsForJobCommand"; +export * from "./pagination/ListJobExecutionsForJobPaginator"; export * from "./commands/ListJobExecutionsForThingCommand"; +export * from "./pagination/ListJobExecutionsForThingPaginator"; export * from "./commands/ListJobsCommand"; +export * from "./pagination/ListJobsPaginator"; export * from "./commands/ListMitigationActionsCommand"; +export * from "./pagination/ListMitigationActionsPaginator"; export * from "./commands/ListOTAUpdatesCommand"; +export * from "./pagination/ListOTAUpdatesPaginator"; export * from "./commands/ListOutgoingCertificatesCommand"; +export * from "./pagination/ListOutgoingCertificatesPaginator"; export * from "./commands/ListPoliciesCommand"; +export * from "./pagination/ListPoliciesPaginator"; export * from "./commands/ListPolicyPrincipalsCommand"; +export * from "./pagination/ListPolicyPrincipalsPaginator"; export * from "./commands/ListPolicyVersionsCommand"; export * from "./commands/ListPrincipalPoliciesCommand"; +export * from "./pagination/ListPrincipalPoliciesPaginator"; export * from "./commands/ListPrincipalThingsCommand"; +export * from "./pagination/ListPrincipalThingsPaginator"; export * from "./commands/ListProvisioningTemplatesCommand"; +export * from "./pagination/ListProvisioningTemplatesPaginator"; export * from "./commands/ListProvisioningTemplateVersionsCommand"; +export * from "./pagination/ListProvisioningTemplateVersionsPaginator"; export * from "./commands/ListRoleAliasesCommand"; +export * from "./pagination/ListRoleAliasesPaginator"; export * from "./commands/ListScheduledAuditsCommand"; +export * from "./pagination/ListScheduledAuditsPaginator"; export * from "./commands/ListSecurityProfilesCommand"; +export * from "./pagination/ListSecurityProfilesPaginator"; export * from "./commands/ListSecurityProfilesForTargetCommand"; +export * from "./pagination/ListSecurityProfilesForTargetPaginator"; export * from "./commands/ListStreamsCommand"; +export * from "./pagination/ListStreamsPaginator"; export * from "./commands/ListTagsForResourceCommand"; +export * from "./pagination/ListTagsForResourcePaginator"; export * from "./commands/ListTargetsForPolicyCommand"; +export * from "./pagination/ListTargetsForPolicyPaginator"; export * from "./commands/ListTargetsForSecurityProfileCommand"; +export * from "./pagination/ListTargetsForSecurityProfilePaginator"; export * from "./commands/ListThingGroupsCommand"; +export * from "./pagination/ListThingGroupsPaginator"; export * from "./commands/ListThingGroupsForThingCommand"; +export * from "./pagination/ListThingGroupsForThingPaginator"; export * from "./commands/ListThingPrincipalsCommand"; export * from "./commands/ListThingRegistrationTaskReportsCommand"; +export * from "./pagination/ListThingRegistrationTaskReportsPaginator"; export * from "./commands/ListThingRegistrationTasksCommand"; +export * from "./pagination/ListThingRegistrationTasksPaginator"; export * from "./commands/ListThingsCommand"; +export * from "./pagination/ListThingsPaginator"; export * from "./commands/ListThingsInBillingGroupCommand"; +export * from "./pagination/ListThingsInBillingGroupPaginator"; export * from "./commands/ListThingsInThingGroupCommand"; +export * from "./pagination/ListThingsInThingGroupPaginator"; export * from "./commands/ListThingTypesCommand"; +export * from "./pagination/ListThingTypesPaginator"; export * from "./commands/ListTopicRuleDestinationsCommand"; +export * from "./pagination/ListTopicRuleDestinationsPaginator"; export * from "./commands/ListTopicRulesCommand"; +export * from "./pagination/ListTopicRulesPaginator"; export * from "./commands/ListV2LoggingLevelsCommand"; +export * from "./pagination/ListV2LoggingLevelsPaginator"; export * from "./commands/ListViolationEventsCommand"; +export * from "./pagination/ListViolationEventsPaginator"; export * from "./commands/RegisterCACertificateCommand"; export * from "./commands/RegisterCertificateCommand"; export * from "./commands/RegisterCertificateWithoutCACommand"; @@ -186,6 +237,7 @@ export * from "./commands/TestInvokeAuthorizerCommand"; export * from "./commands/TransferCertificateCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateAccountAuditConfigurationCommand"; +export * from "./commands/UpdateAuditSuppressionCommand"; export * from "./commands/UpdateAuthorizerCommand"; export * from "./commands/UpdateBillingGroupCommand"; export * from "./commands/UpdateCACertificateCommand"; @@ -207,4 +259,5 @@ export * from "./commands/UpdateThingGroupCommand"; export * from "./commands/UpdateThingGroupsForThingCommand"; export * from "./commands/UpdateTopicRuleDestinationCommand"; export * from "./commands/ValidateSecurityProfileBehaviorsCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-iot/models/models_0.ts b/clients/client-iot/models/models_0.ts index f1d34c076d01..aeceb719ba4c 100644 --- a/clients/client-iot/models/models_0.ts +++ b/clients/client-iot/models/models_0.ts @@ -16,17 +16,17 @@ export enum JobExecutionFailureType { *

                                                  The criteria that determine when and how a job abort takes place.

                                                  */ export interface AbortCriteria { - /** - *

                                                  The type of job action to take to initiate the job abort.

                                                  - */ - action: AbortAction | string | undefined; - /** *

                                                  The minimum number of things which must receive job execution notifications before the job * can be aborted.

                                                  */ minNumberOfExecutedThings: number | undefined; + /** + *

                                                  The type of job action to take to initiate the job abort.

                                                  + */ + action: AbortAction | string | undefined; + /** *

                                                  The type of job execution failures that can initiate a job abort.

                                                  */ @@ -66,15 +66,15 @@ export namespace AbortConfig { */ export interface AcceptCertificateTransferRequest { /** - *

                                                  The ID of the certificate. (The last part of the certificate ARN contains the - * certificate ID.)

                                                  + *

                                                  Specifies whether the certificate is active.

                                                  */ - certificateId: string | undefined; + setAsActive?: boolean; /** - *

                                                  Specifies whether the certificate is active.

                                                  + *

                                                  The ID of the certificate. (The last part of the certificate ARN contains the + * certificate ID.)

                                                  */ - setAsActive?: boolean; + certificateId: string | undefined; } export namespace AcceptCertificateTransferRequest { @@ -215,9 +215,10 @@ export namespace UnauthorizedException { */ export interface CloudwatchAlarmAction { /** - *

                                                  The CloudWatch alarm name.

                                                  + *

                                                  The value of the alarm state. Acceptable values are: OK, ALARM, + * INSUFFICIENT_DATA.

                                                  */ - alarmName: string | undefined; + stateValue: string | undefined; /** *

                                                  The IAM role that allows access to the CloudWatch alarm.

                                                  @@ -230,10 +231,9 @@ export interface CloudwatchAlarmAction { stateReason: string | undefined; /** - *

                                                  The value of the alarm state. Acceptable values are: OK, ALARM, - * INSUFFICIENT_DATA.

                                                  + *

                                                  The CloudWatch alarm name.

                                                  */ - stateValue: string | undefined; + alarmName: string | undefined; } export namespace CloudwatchAlarmAction { @@ -247,14 +247,14 @@ export namespace CloudwatchAlarmAction { */ export interface CloudwatchLogsAction { /** - *

                                                  The IAM role that allows access to the CloudWatch log.

                                                  + *

                                                  The CloudWatch log group to which the action sends data.

                                                  */ - roleArn: string | undefined; + logGroupName: string | undefined; /** - *

                                                  The CloudWatch log group to which the action sends data.

                                                  + *

                                                  The IAM role that allows access to the CloudWatch log.

                                                  */ - logGroupName: string | undefined; + roleArn: string | undefined; } export namespace CloudwatchLogsAction { @@ -268,15 +268,14 @@ export namespace CloudwatchLogsAction { */ export interface CloudwatchMetricAction { /** - *

                                                  The CloudWatch metric namespace name.

                                                  + *

                                                  The IAM role that allows access to the CloudWatch metric.

                                                  */ - metricNamespace: string | undefined; + roleArn: string | undefined; /** - *

                                                  The metric - * unit supported by CloudWatch.

                                                  + *

                                                  The CloudWatch metric value.

                                                  */ - metricUnit: string | undefined; + metricValue: string | undefined; /** *

                                                  The CloudWatch metric name.

                                                  @@ -284,19 +283,20 @@ export interface CloudwatchMetricAction { metricName: string | undefined; /** - *

                                                  The IAM role that allows access to the CloudWatch metric.

                                                  + *

                                                  The CloudWatch metric namespace name.

                                                  */ - roleArn: string | undefined; + metricNamespace: string | undefined; /** - *

                                                  An optional Unix timestamp.

                                                  + *

                                                  The metric + * unit supported by CloudWatch.

                                                  */ - metricTimestamp?: string; + metricUnit: string | undefined; /** - *

                                                  The CloudWatch metric value.

                                                  + *

                                                  An optional Unix timestamp.

                                                  */ - metricValue: string | undefined; + metricTimestamp?: string; } export namespace CloudwatchMetricAction { @@ -330,9 +330,14 @@ export enum DynamoKeyType { */ export interface DynamoDBAction { /** - *

                                                  The hash key value.

                                                  + *

                                                  The hash key type. Valid values are "STRING" or "NUMBER"

                                                  */ - hashKeyValue: string | undefined; + hashKeyType?: DynamoKeyType | string; + + /** + *

                                                  The hash key name.

                                                  + */ + hashKeyField: string | undefined; /** *

                                                  The range key name.

                                                  @@ -347,9 +352,9 @@ export interface DynamoDBAction { operation?: string; /** - *

                                                  The ARN of the IAM role that grants access to the DynamoDB table.

                                                  + *

                                                  The name of the DynamoDB table.

                                                  */ - roleArn: string | undefined; + tableName: string | undefined; /** *

                                                  The action payload. This name can be customized.

                                                  @@ -357,19 +362,14 @@ export interface DynamoDBAction { payloadField?: string; /** - *

                                                  The name of the DynamoDB table.

                                                  - */ - tableName: string | undefined; - - /** - *

                                                  The hash key type. Valid values are "STRING" or "NUMBER"

                                                  + *

                                                  The hash key value.

                                                  */ - hashKeyType?: DynamoKeyType | string; + hashKeyValue: string | undefined; /** - *

                                                  The hash key name.

                                                  + *

                                                  The range key type. Valid values are "STRING" or "NUMBER"

                                                  */ - hashKeyField: string | undefined; + rangeKeyType?: DynamoKeyType | string; /** *

                                                  The range key value.

                                                  @@ -377,9 +377,9 @@ export interface DynamoDBAction { rangeKeyValue?: string; /** - *

                                                  The range key type. Valid values are "STRING" or "NUMBER"

                                                  + *

                                                  The ARN of the IAM role that grants access to the DynamoDB table.

                                                  */ - rangeKeyType?: DynamoKeyType | string; + roleArn: string | undefined; } export namespace DynamoDBAction { @@ -446,24 +446,24 @@ export interface ElasticsearchAction { index: string | undefined; /** - *

                                                  The endpoint of your Elasticsearch domain.

                                                  + *

                                                  The unique identifier for the document you are storing.

                                                  */ - endpoint: string | undefined; + id: string | undefined; /** - *

                                                  The unique identifier for the document you are storing.

                                                  + *

                                                  The IAM role ARN that has access to Elasticsearch.

                                                  */ - id: string | undefined; + roleArn: string | undefined; /** - *

                                                  The type of document you are storing.

                                                  + *

                                                  The endpoint of your Elasticsearch domain.

                                                  */ - type: string | undefined; + endpoint: string | undefined; /** - *

                                                  The IAM role ARN that has access to Elasticsearch.

                                                  + *

                                                  The type of document you are storing.

                                                  */ - roleArn: string | undefined; + type: string | undefined; } export namespace ElasticsearchAction { @@ -504,11 +504,6 @@ export namespace FirehoseAction { *

                                                  Use Sig V4 authorization.

                                                  */ export interface SigV4Authorization { - /** - *

                                                  The service name to use while signing with Sig V4.

                                                  - */ - serviceName: string | undefined; - /** *

                                                  The signing region.

                                                  */ @@ -518,6 +513,11 @@ export interface SigV4Authorization { *

                                                  The ARN of the signing role.

                                                  */ roleArn: string | undefined; + + /** + *

                                                  The service name to use while signing with Sig V4.

                                                  + */ + serviceName: string | undefined; } export namespace SigV4Authorization { @@ -548,14 +548,14 @@ export namespace HttpAuthorization { */ export interface HttpActionHeader { /** - *

                                                  The HTTP header value. Substitution templates are supported.

                                                  + *

                                                  The HTTP header key.

                                                  */ - value: string | undefined; + key: string | undefined; /** - *

                                                  The HTTP header key.

                                                  + *

                                                  The HTTP header value. Substitution templates are supported.

                                                  */ - key: string | undefined; + value: string | undefined; } export namespace HttpActionHeader { @@ -569,9 +569,14 @@ export namespace HttpActionHeader { */ export interface HttpAction { /** - *

                                                  The HTTP headers to send with the message data.

                                                  + *

                                                  The URL to which AWS IoT sends a confirmation message. The value of the confirmation URL + * must be a prefix of the endpoint URL. If you do not specify a confirmation URL AWS IoT uses + * the endpoint URL as the confirmation URL. If you use substitution templates in the + * confirmationUrl, you must create and enable topic rule destinations that match each + * possible value of the substitution template before traffic is allowed to your endpoint + * URL.

                                                  */ - headers?: HttpActionHeader[]; + confirmationUrl?: string; /** *

                                                  The endpoint URL. If substitution templates are used in the URL, you must also specify a @@ -581,19 +586,14 @@ export interface HttpAction { url: string | undefined; /** - *

                                                  The authentication method to use when sending data to an HTTPS endpoint.

                                                  + *

                                                  The HTTP headers to send with the message data.

                                                  */ - auth?: HttpAuthorization; + headers?: HttpActionHeader[]; /** - *

                                                  The URL to which AWS IoT sends a confirmation message. The value of the confirmation URL - * must be a prefix of the endpoint URL. If you do not specify a confirmation URL AWS IoT uses - * the endpoint URL as the confirmation URL. If you use substitution templates in the - * confirmationUrl, you must create and enable topic rule destinations that match each - * possible value of the substitution template before traffic is allowed to your endpoint - * URL.

                                                  + *

                                                  The authentication method to use when sending data to an HTTPS endpoint.

                                                  */ - confirmationUrl?: string; + auth?: HttpAuthorization; } export namespace HttpAction { @@ -606,11 +606,6 @@ export namespace HttpAction { *

                                                  Sends message data to an AWS IoT Analytics channel.

                                                  */ export interface IotAnalyticsAction { - /** - *

                                                  The name of the IoT Analytics channel to which message data will be sent.

                                                  - */ - channelName?: string; - /** *

                                                  The ARN of the role which has a policy that grants IoT Analytics permission to send * message data via IoT Analytics (iotanalytics:BatchPutMessage).

                                                  @@ -622,6 +617,11 @@ export interface IotAnalyticsAction { * sent.

                                                  */ channelArn?: string; + + /** + *

                                                  The name of the IoT Analytics channel to which message data will be sent.

                                                  + */ + channelName?: string; } export namespace IotAnalyticsAction { @@ -641,15 +641,15 @@ export interface IotEventsAction { roleArn: string | undefined; /** - *

                                                  [Optional] Use this to ensure that only one input (message) with a given messageId will - * be processed by an AWS IoT Events detector.

                                                  + *

                                                  The name of the AWS IoT Events input.

                                                  */ - messageId?: string; + inputName: string | undefined; /** - *

                                                  The name of the AWS IoT Events input.

                                                  + *

                                                  [Optional] Use this to ensure that only one input (message) with a given messageId will + * be processed by an AWS IoT Events detector.

                                                  */ - inputName: string | undefined; + messageId?: string; } export namespace IotEventsAction { @@ -685,17 +685,18 @@ export namespace AssetPropertyTimestamp { *

                                                  Contains an asset property value (of a single type).

                                                  */ export interface AssetPropertyVariant { - /** - *

                                                  Optional. The string value of the value entry. Accepts substitution templates.

                                                  - */ - stringValue?: string; - /** *

                                                  Optional. A string that contains the integer value of the value entry. Accepts * substitution templates.

                                                  */ integerValue?: string; + /** + *

                                                  Optional. A string that contains the boolean value (true or + * false) of the value entry. Accepts substitution templates.

                                                  + */ + booleanValue?: string; + /** *

                                                  Optional. A string that contains the double value of the value entry. Accepts substitution * templates.

                                                  @@ -703,10 +704,9 @@ export interface AssetPropertyVariant { doubleValue?: string; /** - *

                                                  Optional. A string that contains the boolean value (true or - * false) of the value entry. Accepts substitution templates.

                                                  + *

                                                  Optional. The string value of the value entry. Accepts substitution templates.

                                                  */ - booleanValue?: string; + stringValue?: string; } export namespace AssetPropertyVariant { @@ -720,15 +720,15 @@ export namespace AssetPropertyVariant { */ export interface AssetPropertyValue { /** - *

                                                  Optional. A string that describes the quality of the value. Accepts substitution - * templates. Must be GOOD, BAD, or UNCERTAIN.

                                                  + *

                                                  The asset property value timestamp.

                                                  */ - quality?: string; + timestamp: AssetPropertyTimestamp | undefined; /** - *

                                                  The asset property value timestamp.

                                                  + *

                                                  Optional. A string that describes the quality of the value. Accepts substitution + * templates. Must be GOOD, BAD, or UNCERTAIN.

                                                  */ - timestamp: AssetPropertyTimestamp | undefined; + quality?: string; /** *

                                                  The value of the asset property.

                                                  @@ -747,17 +747,17 @@ export namespace AssetPropertyValue { */ export interface PutAssetPropertyValueEntry { /** - *

                                                  A list of property values to insert that each contain timestamp, quality, and value (TQV) - * information.

                                                  + *

                                                  The ID of the asset's property. You must specify either a propertyAlias or + * both an aliasId and a propertyId. Accepts substitution + * templates.

                                                  */ - propertyValues: AssetPropertyValue[] | undefined; + propertyId?: string; /** - *

                                                  Optional. A unique identifier for this entry that you can define to better track which - * message caused an error in case of failure. Accepts substitution templates. Defaults to a new - * UUID.

                                                  + *

                                                  A list of property values to insert that each contain timestamp, quality, and value (TQV) + * information.

                                                  */ - entryId?: string; + propertyValues: AssetPropertyValue[] | undefined; /** *

                                                  The ID of the AWS IoT SiteWise asset. You must specify either a propertyAlias @@ -766,19 +766,19 @@ export interface PutAssetPropertyValueEntry { */ assetId?: string; + /** + *

                                                  Optional. A unique identifier for this entry that you can define to better track which + * message caused an error in case of failure. Accepts substitution templates. Defaults to a new + * UUID.

                                                  + */ + entryId?: string; + /** *

                                                  The name of the property alias associated with your asset property. You must specify * either a propertyAlias or both an aliasId and a * propertyId. Accepts substitution templates.

                                                  */ propertyAlias?: string; - - /** - *

                                                  The ID of the asset's property. You must specify either a propertyAlias or - * both an aliasId and a propertyId. Accepts substitution - * templates.

                                                  - */ - propertyId?: string; } export namespace PutAssetPropertyValueEntry { @@ -815,11 +815,6 @@ export namespace IotSiteWiseAction { *

                                                  Describes an action to write data to an Amazon Kinesis stream.

                                                  */ export interface KinesisAction { - /** - *

                                                  The name of the Amazon Kinesis stream.

                                                  - */ - streamName: string | undefined; - /** *

                                                  The ARN of the IAM role that grants access to the Amazon Kinesis stream.

                                                  */ @@ -829,6 +824,11 @@ export interface KinesisAction { *

                                                  The partition key.

                                                  */ partitionKey?: string; + + /** + *

                                                  The name of the Amazon Kinesis stream.

                                                  + */ + streamName: string | undefined; } export namespace KinesisAction { @@ -858,9 +858,9 @@ export namespace LambdaAction { */ export interface RepublishAction { /** - *

                                                  The ARN of the IAM role that grants access.

                                                  + *

                                                  The name of the MQTT topic.

                                                  */ - roleArn: string | undefined; + topic: string | undefined; /** *

                                                  The Quality of Service (QoS) level to use when republishing messages. The default value @@ -869,9 +869,9 @@ export interface RepublishAction { qos?: number; /** - *

                                                  The name of the MQTT topic.

                                                  + *

                                                  The ARN of the IAM role that grants access.

                                                  */ - topic: string | undefined; + roleArn: string | undefined; } export namespace RepublishAction { @@ -895,11 +895,6 @@ export enum CannedAccessControlList { *

                                                  Describes an action to write data to an Amazon S3 bucket.

                                                  */ export interface S3Action { - /** - *

                                                  The object key.

                                                  - */ - key: string | undefined; - /** *

                                                  The ARN of the IAM role that grants access.

                                                  */ @@ -911,6 +906,11 @@ export interface S3Action { */ cannedAcl?: CannedAccessControlList | string; + /** + *

                                                  The object key.

                                                  + */ + key: string | undefined; + /** *

                                                  The Amazon S3 bucket.

                                                  */ @@ -928,19 +928,19 @@ export namespace S3Action { * Stream.

                                                  */ export interface SalesforceAction { + /** + *

                                                  The URL exposed by the Salesforce IoT Cloud Input Stream. The URL is available from + * the Salesforce IoT Cloud platform after creation of the Input Stream.

                                                  + */ + url: string | undefined; + /** *

                                                  The token used to authenticate access to the Salesforce IoT Cloud Input Stream. The * token is available from the Salesforce IoT Cloud platform after creation of the Input * Stream.

                                                  */ token: string | undefined; - - /** - *

                                                  The URL exposed by the Salesforce IoT Cloud Input Stream. The URL is available from - * the Salesforce IoT Cloud platform after creation of the Input Stream.

                                                  - */ - url: string | undefined; -} +} export namespace SalesforceAction { export const filterSensitiveLog = (obj: SalesforceAction): any => ({ @@ -962,6 +962,11 @@ export interface SnsAction { */ roleArn: string | undefined; + /** + *

                                                  The ARN of the SNS topic.

                                                  + */ + targetArn: string | undefined; + /** *

                                                  (Optional) The message format of the message to publish. Accepted values are "JSON" * and "RAW". The default value of the attribute is "RAW". SNS uses this setting to determine @@ -969,11 +974,6 @@ export interface SnsAction { * be extracted. To read more about SNS message formats, see https://docs.aws.amazon.com/sns/latest/dg/json-formats.html refer to their official documentation.

                                                  */ messageFormat?: MessageFormat | string; - - /** - *

                                                  The ARN of the SNS topic.

                                                  - */ - targetArn: string | undefined; } export namespace SnsAction { @@ -992,14 +992,14 @@ export interface SqsAction { roleArn: string | undefined; /** - *

                                                  Specifies whether to use Base64 encoding.

                                                  + *

                                                  The URL of the Amazon SQS queue.

                                                  */ - useBase64?: boolean; + queueUrl: string | undefined; /** - *

                                                  The URL of the Amazon SQS queue.

                                                  + *

                                                  Specifies whether to use Base64 encoding.

                                                  */ - queueUrl: string | undefined; + useBase64?: boolean; } export namespace SqsAction { @@ -1013,11 +1013,9 @@ export namespace SqsAction { */ export interface StepFunctionsAction { /** - *

                                                  (Optional) A name will be given to the state machine execution consisting of this - * prefix followed by a UUID. Step Functions automatically creates a unique name for each state - * machine execution if one is not provided.

                                                  + *

                                                  The name of the Step Functions state machine whose execution will be started.

                                                  */ - executionNamePrefix?: string; + stateMachineName: string | undefined; /** *

                                                  The ARN of the role that grants IoT permission to start execution of a state machine @@ -1026,9 +1024,11 @@ export interface StepFunctionsAction { roleArn: string | undefined; /** - *

                                                  The name of the Step Functions state machine whose execution will be started.

                                                  + *

                                                  (Optional) A name will be given to the state machine execution consisting of this + * prefix followed by a UUID. Step Functions automatically creates a unique name for each state + * machine execution if one is not provided.

                                                  */ - stateMachineName: string | undefined; + executionNamePrefix?: string; } export namespace StepFunctionsAction { @@ -1038,55 +1038,142 @@ export namespace StepFunctionsAction { } /** - *

                                                  Describes the actions associated with a rule.

                                                  + *

                                                  Metadata attributes of the time series that are written in each measure record.

                                                  */ -export interface Action { +export interface TimestreamDimension { /** - *

                                                  Starts execution of a Step Functions state machine.

                                                  + *

                                                  The value to write in this column of the database record.

                                                  */ - stepFunctions?: StepFunctionsAction; + value: string | undefined; /** - *

                                                  Write data to an Amazon Kinesis stream.

                                                  + *

                                                  The metadata dimension name. This is the name of the column in the + * Amazon Timestream database table record.

                                                  + *

                                                  Dimensions cannot be named: measure_name, + * measure_value, or time. + * These names are reserved. Dimension names cannot start + * with ts_ or measure_value and + * they cannot contain the colon (:) + * character.

                                                  */ - kinesis?: KinesisAction; + name: string | undefined; +} + +export namespace TimestreamDimension { + export const filterSensitiveLog = (obj: TimestreamDimension): any => ({ + ...obj, + }); +} +/** + *

                                                  Describes how to interpret an application-defined timestamp value from an MQTT message + * payload and the precision of that value.

                                                  + */ +export interface TimestreamTimestamp { /** - *

                                                  Write to an Amazon Kinesis Firehose stream.

                                                  + *

                                                  The precision of the timestamp value that results from the expression + * described in value.

                                                  + *

                                                  Valid values: SECONDS | MILLISECONDS | + * MICROSECONDS | NANOSECONDS. The default is + * MILLISECONDS.

                                                  */ - firehose?: FirehoseAction; + unit: string | undefined; /** - *

                                                  Write to an Amazon S3 bucket.

                                                  + *

                                                  An expression that returns a long epoch time value.

                                                  */ - s3?: S3Action; + value: string | undefined; +} + +export namespace TimestreamTimestamp { + export const filterSensitiveLog = (obj: TimestreamTimestamp): any => ({ + ...obj, + }); +} +/** + *

                                                  The Timestream rule action writes attributes (measures) from an MQTT message + * into an Amazon Timestream table. For more information, see the Timestream + * topic rule action documentation.

                                                  + */ +export interface TimestreamAction { /** - *

                                                  Write to a DynamoDB table. This is a new version of the DynamoDB action. It allows - * you to write each attribute in an MQTT message payload into a separate DynamoDB - * column.

                                                  + *

                                                  The name of an Amazon Timestream database.

                                                  */ - dynamoDBv2?: DynamoDBv2Action; + databaseName: string | undefined; + + /** + *

                                                  The ARN of the role that grants permission to write to the + * Amazon Timestream database table.

                                                  + */ + roleArn: string | undefined; + + /** + *

                                                  The name of the database table into which to write the measure records.

                                                  + */ + tableName: string | undefined; + + /** + *

                                                  Specifies an application-defined value to replace the default value assigned to the + * Timestream record's timestamp in the time column.

                                                  + *

                                                  You can use this property to specify the value and the precision of the Timestream + * record's timestamp. You can specify a value from the message payload or a value computed by + * a substitution template.

                                                  + *

                                                  If omitted, the topic rule action assigns the timestamp, in milliseconds, at the time it + * processed the rule.

                                                  + */ + timestamp?: TimestreamTimestamp; + + /** + *

                                                  Metadata attributes of the time series that are written in each measure record.

                                                  + */ + dimensions: TimestreamDimension[] | undefined; +} + +export namespace TimestreamAction { + export const filterSensitiveLog = (obj: TimestreamAction): any => ({ + ...obj, + }); +} + +/** + *

                                                  Describes the actions associated with a rule.

                                                  + */ +export interface Action { + /** + *

                                                  Invoke a Lambda function.

                                                  + */ + lambda?: LambdaAction; + + /** + *

                                                  Send a message to a Salesforce IoT Cloud Input Stream.

                                                  + */ + salesforce?: SalesforceAction; /** *

                                                  Capture a CloudWatch metric.

                                                  */ cloudwatchMetric?: CloudwatchMetricAction; + /** + *

                                                  Sends an input to an AWS IoT Events detector.

                                                  + */ + iotEvents?: IotEventsAction; + /** *

                                                  Publish to another MQTT topic.

                                                  */ republish?: RepublishAction; /** - *

                                                  Publish to an Amazon SNS topic.

                                                  + *

                                                  Change the state of a CloudWatch alarm.

                                                  */ - sns?: SnsAction; + cloudwatchAlarm?: CloudwatchAlarmAction; /** - *

                                                  Send data to an HTTPS endpoint.

                                                  + *

                                                  Publish to an Amazon SNS topic.

                                                  */ - http?: HttpAction; + sns?: SnsAction; /** *

                                                  Publish to an Amazon SQS queue.

                                                  @@ -1099,25 +1186,43 @@ export interface Action { elasticsearch?: ElasticsearchAction; /** - *

                                                  Invoke a Lambda function.

                                                  + *

                                                  Send data to an HTTPS endpoint.

                                                  */ - lambda?: LambdaAction; + http?: HttpAction; /** - *

                                                  Change the state of a CloudWatch alarm.

                                                  + *

                                                  The Timestream rule action writes attributes (measures) from an MQTT message + * into an Amazon Timestream table. For more information, see the Timestream + * topic rule action documentation.

                                                  */ - cloudwatchAlarm?: CloudwatchAlarmAction; + timestream?: TimestreamAction; /** - *

                                                  Sends an input to an AWS IoT Events detector.

                                                  + *

                                                  Write to a DynamoDB table.

                                                  */ - iotEvents?: IotEventsAction; + dynamoDB?: DynamoDBAction; /** - *

                                                  Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise asset - * properties.

                                                  + *

                                                  Sends message data to an AWS IoT Analytics channel.

                                                  */ - iotSiteWise?: IotSiteWiseAction; + iotAnalytics?: IotAnalyticsAction; + + /** + *

                                                  Write to a DynamoDB table. This is a new version of the DynamoDB action. It allows + * you to write each attribute in an MQTT message payload into a separate DynamoDB + * column.

                                                  + */ + dynamoDBv2?: DynamoDBv2Action; + + /** + *

                                                  Write to an Amazon Kinesis Firehose stream.

                                                  + */ + firehose?: FirehoseAction; + + /** + *

                                                  Write data to an Amazon Kinesis stream.

                                                  + */ + kinesis?: KinesisAction; /** *

                                                  Send data to CloudWatch Logs.

                                                  @@ -1125,19 +1230,20 @@ export interface Action { cloudwatchLogs?: CloudwatchLogsAction; /** - *

                                                  Send a message to a Salesforce IoT Cloud Input Stream.

                                                  + *

                                                  Starts execution of a Step Functions state machine.

                                                  */ - salesforce?: SalesforceAction; + stepFunctions?: StepFunctionsAction; /** - *

                                                  Write to a DynamoDB table.

                                                  + *

                                                  Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise asset + * properties.

                                                  */ - dynamoDB?: DynamoDBAction; + iotSiteWise?: IotSiteWiseAction; /** - *

                                                  Sends message data to an AWS IoT Analytics channel.

                                                  + *

                                                  Write to an Amazon S3 bucket.

                                                  */ - iotAnalytics?: IotAnalyticsAction; + s3?: S3Action; } export namespace Action { @@ -1191,6 +1297,12 @@ export namespace StatisticalThreshold { *

                                                  The value to be compared with the metric.

                                                  */ export interface MetricValue { + /** + *

                                                  If the comparisonOperator calls for a numeric value, use this + * to specify that numeric value to be compared with the metric.

                                                  + */ + count?: number; + /** *

                                                  If the comparisonOperator calls for a set of ports, use this * to specify that set to be compared with the metric.

                                                  @@ -1202,12 +1314,6 @@ export interface MetricValue { * to specify that set to be compared with the metric.

                                                  */ cidrs?: string[]; - - /** - *

                                                  If the comparisonOperator calls for a numeric value, use this - * to specify that numeric value to be compared with the metric.

                                                  - */ - count?: number; } export namespace MetricValue { @@ -1221,17 +1327,15 @@ export namespace MetricValue { */ export interface BehaviorCriteria { /** - *

                                                  If a device is in violation of the behavior for the specified number of consecutive - * datapoints, an alarm occurs. If not specified, the default is 1.

                                                  + *

                                                  The value to be compared with the metric.

                                                  */ - consecutiveDatapointsToAlarm?: number; + value?: MetricValue; /** - *

                                                  If an alarm has occurred and the offending device is no longer in violation of the behavior - * for the specified number of consecutive datapoints, the alarm is cleared. If not specified, - * the default is 1.

                                                  + *

                                                  The operator that relates the thing measured (metric) to the criteria + * (containing a value or statisticalThreshold).

                                                  */ - consecutiveDatapointsToClear?: number; + comparisonOperator?: ComparisonOperator | string; /** *

                                                  Use this to specify the time duration over which the behavior is evaluated, @@ -1244,21 +1348,23 @@ export interface BehaviorCriteria { durationSeconds?: number; /** - *

                                                  The value to be compared with the metric.

                                                  - */ - value?: MetricValue; - - /** - *

                                                  The operator that relates the thing measured (metric) to the criteria - * (containing a value or statisticalThreshold).

                                                  + *

                                                  If a device is in violation of the behavior for the specified number of consecutive + * datapoints, an alarm occurs. If not specified, the default is 1.

                                                  */ - comparisonOperator?: ComparisonOperator | string; + consecutiveDatapointsToAlarm?: number; /** *

                                                  A statistical ranking (percentile) which indicates a threshold value by which a behavior * is determined to be in compliance or in violation of the behavior.

                                                  */ statisticalThreshold?: StatisticalThreshold; + + /** + *

                                                  If an alarm has occurred and the offending device is no longer in violation of the behavior + * for the specified number of consecutive datapoints, the alarm is cleared. If not specified, + * the default is 1.

                                                  + */ + consecutiveDatapointsToClear?: number; } export namespace BehaviorCriteria { @@ -1297,6 +1403,11 @@ export namespace MetricDimension { *

                                                  A Device Defender security profile behavior.

                                                  */ export interface Behavior { + /** + *

                                                  The dimension for a metric in your behavior. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.

                                                  + */ + metricDimension?: MetricDimension; + /** *

                                                  The criteria that determine if a device is behaving normally in regard to * the metric.

                                                  @@ -1308,11 +1419,6 @@ export interface Behavior { */ name: string | undefined; - /** - *

                                                  The dimension for a metric in your behavior. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.

                                                  - */ - metricDimension?: MetricDimension; - /** *

                                                  What is measured by the behavior.

                                                  */ @@ -1330,19 +1436,14 @@ export namespace Behavior { */ export interface ActiveViolation { /** - *

                                                  The name of the thing responsible for the active violation.

                                                  - */ - thingName?: string; - - /** - *

                                                  The time the violation started.

                                                  + *

                                                  The behavior which is being violated.

                                                  */ - violationStartTime?: Date; + behavior?: Behavior; /** - *

                                                  The behavior which is being violated.

                                                  + *

                                                  The time the most recent violation occurred.

                                                  */ - behavior?: Behavior; + lastViolationTime?: Date; /** *

                                                  The ID of the active violation.

                                                  @@ -1355,14 +1456,19 @@ export interface ActiveViolation { securityProfileName?: string; /** - *

                                                  The value of the metric (the measurement) which caused the most recent violation.

                                                  + *

                                                  The name of the thing responsible for the active violation.

                                                  */ - lastViolationValue?: MetricValue; + thingName?: string; /** - *

                                                  The time the most recent violation occurred.

                                                  + *

                                                  The time the violation started.

                                                  */ - lastViolationTime?: Date; + violationStartTime?: Date; + + /** + *

                                                  The value of the metric (the measurement) which caused the most recent violation.

                                                  + */ + lastViolationValue?: MetricValue; } export namespace ActiveViolation { @@ -1415,9 +1521,9 @@ export namespace AddThingsToThingGroupParams { export interface AddThingToBillingGroupRequest { /** - *

                                                  The ARN of the billing group.

                                                  + *

                                                  The name of the billing group.

                                                  */ - billingGroupArn?: string; + billingGroupName?: string; /** *

                                                  The name of the thing to be added to the billing group.

                                                  @@ -1425,14 +1531,14 @@ export interface AddThingToBillingGroupRequest { thingName?: string; /** - *

                                                  The ARN of the thing to be added to the billing group.

                                                  + *

                                                  The ARN of the billing group.

                                                  */ - thingArn?: string; + billingGroupArn?: string; /** - *

                                                  The name of the billing group.

                                                  + *

                                                  The ARN of the thing to be added to the billing group.

                                                  */ - billingGroupName?: string; + thingArn?: string; } export namespace AddThingToBillingGroupRequest { @@ -1451,32 +1557,32 @@ export namespace AddThingToBillingGroupResponse { export interface AddThingToThingGroupRequest { /** - *

                                                  The name of the thing to add to a group.

                                                  + *

                                                  Override dynamic thing groups with static thing groups when 10-group limit is + * reached. If a thing belongs to 10 thing groups, and one or more of those groups are + * dynamic thing groups, adding a thing to a static group removes the thing from the last + * dynamic group.

                                                  */ - thingName?: string; + overrideDynamicGroups?: boolean; /** - *

                                                  The name of the group to which you are adding a thing.

                                                  + *

                                                  The ARN of the group to which you are adding a thing.

                                                  */ - thingGroupName?: string; + thingGroupArn?: string; /** - *

                                                  Override dynamic thing groups with static thing groups when 10-group limit is - * reached. If a thing belongs to 10 thing groups, and one or more of those groups are - * dynamic thing groups, adding a thing to a static group removes the thing from the last - * dynamic group.

                                                  + *

                                                  The ARN of the thing to add to a group.

                                                  */ - overrideDynamicGroups?: boolean; + thingArn?: string; /** - *

                                                  The ARN of the thing to add to a group.

                                                  + *

                                                  The name of the thing to add to a group.

                                                  */ - thingArn?: string; + thingName?: string; /** - *

                                                  The ARN of the group to which you are adding a thing.

                                                  + *

                                                  The name of the group to which you are adding a thing.

                                                  */ - thingGroupArn?: string; + thingGroupName?: string; } export namespace AddThingToThingGroupRequest { @@ -1497,16 +1603,16 @@ export namespace AddThingToThingGroupResponse { *

                                                  A structure containing the alert target ARN and the role ARN.

                                                  */ export interface AlertTarget { - /** - *

                                                  The ARN of the notification target to which alerts are sent.

                                                  - */ - alertTargetArn: string | undefined; - /** *

                                                  The ARN of the role that grants permission to send alerts to the * notification target.

                                                  */ roleArn: string | undefined; + + /** + *

                                                  The ARN of the notification target to which alerts are sent.

                                                  + */ + alertTargetArn: string | undefined; } export namespace AlertTarget { @@ -1557,11 +1663,6 @@ export namespace Allowed { } export interface AssociateTargetsWithJobRequest { - /** - *

                                                  The unique identifier you assigned to this job when it was created.

                                                  - */ - jobId: string | undefined; - /** *

                                                  A list of thing group ARNs that define the targets of the job.

                                                  */ @@ -1571,6 +1672,11 @@ export interface AssociateTargetsWithJobRequest { *

                                                  An optional comment string describing why the job was associated with the targets.

                                                  */ comment?: string; + + /** + *

                                                  The unique identifier you assigned to this job when it was created.

                                                  + */ + jobId: string | undefined; } export namespace AssociateTargetsWithJobRequest { @@ -1580,11 +1686,6 @@ export namespace AssociateTargetsWithJobRequest { } export interface AssociateTargetsWithJobResponse { - /** - *

                                                  An ARN identifying the job.

                                                  - */ - jobArn?: string; - /** *

                                                  A short text description of the job.

                                                  */ @@ -1594,6 +1695,11 @@ export interface AssociateTargetsWithJobResponse { *

                                                  The unique identifier you assigned to this job when it was created.

                                                  */ jobId?: string; + + /** + *

                                                  An ARN identifying the job.

                                                  + */ + jobArn?: string; } export namespace AssociateTargetsWithJobResponse { @@ -1622,14 +1728,14 @@ export namespace LimitExceededException { export interface AttachPolicyRequest { /** - *

                                                  The identity to which the policy is attached.

                                                  + *

                                                  The name of the policy to attach.

                                                  */ - target: string | undefined; + policyName: string | undefined; /** - *

                                                  The name of the policy to attach.

                                                  + *

                                                  The identity to which the policy is attached.

                                                  */ - policyName: string | undefined; + target: string | undefined; } export namespace AttachPolicyRequest { @@ -1642,16 +1748,16 @@ export namespace AttachPolicyRequest { *

                                                  The input for the AttachPrincipalPolicy operation.

                                                  */ export interface AttachPrincipalPolicyRequest { - /** - *

                                                  The policy name.

                                                  - */ - policyName: string | undefined; - /** *

                                                  The principal, which can be a certificate ARN (as returned from the CreateCertificate * operation) or an Amazon Cognito ID.

                                                  */ principal: string | undefined; + + /** + *

                                                  The policy name.

                                                  + */ + policyName: string | undefined; } export namespace AttachPrincipalPolicyRequest { @@ -1662,14 +1768,14 @@ export namespace AttachPrincipalPolicyRequest { export interface AttachSecurityProfileRequest { /** - *

                                                  The ARN of the target (thing group) to which the security profile is attached.

                                                  + *

                                                  The security profile that is attached.

                                                  */ - securityProfileTargetArn: string | undefined; + securityProfileName: string | undefined; /** - *

                                                  The security profile that is attached.

                                                  + *

                                                  The ARN of the target (thing group) to which the security profile is attached.

                                                  */ - securityProfileName: string | undefined; + securityProfileTargetArn: string | undefined; } export namespace AttachSecurityProfileRequest { @@ -1711,15 +1817,15 @@ export namespace VersionConflictException { */ export interface AttachThingPrincipalRequest { /** - *

                                                  The principal, which can be a certificate ARN (as returned from the - * CreateCertificate operation) or an Amazon Cognito ID.

                                                  + *

                                                  The name of the thing.

                                                  */ - principal: string | undefined; + thingName: string | undefined; /** - *

                                                  The name of the thing.

                                                  + *

                                                  The principal, which can be a certificate ARN (as returned from the + * CreateCertificate operation) or an Amazon Cognito ID.

                                                  */ - thingName: string | undefined; + principal: string | undefined; } export namespace AttachThingPrincipalRequest { @@ -1798,25 +1904,30 @@ export enum AuditCheckRunStatus { */ export interface AuditCheckDetails { /** - *

                                                  The number of resources that were found noncompliant during the check.

                                                  + *

                                                  The code of any error encountered when this check is performed during this audit. + * One of "INSUFFICIENT_PERMISSIONS" or "AUDIT_CHECK_DISABLED".

                                                  */ - nonCompliantResourcesCount?: number; + errorCode?: string; /** *

                                                  The message associated with any error encountered when this check is performed during this audit.

                                                  */ message?: string; + /** + *

                                                  The number of resources on which the check was performed.

                                                  + */ + totalResourcesCount?: number; + /** *

                                                  True if the check is complete and found all resources compliant.

                                                  */ checkCompliant?: boolean; /** - *

                                                  The code of any error encountered when this check is performed during this audit. - * One of "INSUFFICIENT_PERMISSIONS" or "AUDIT_CHECK_DISABLED".

                                                  + *

                                                  The number of resources that were found noncompliant during the check.

                                                  */ - errorCode?: string; + nonCompliantResourcesCount?: number; /** *

                                                  The completion status of this check. One of "IN_PROGRESS", "WAITING_FOR_DATA_COLLECTION", @@ -1825,9 +1936,11 @@ export interface AuditCheckDetails { checkRunStatus?: AuditCheckRunStatus | string; /** - *

                                                  The number of resources on which the check was performed.

                                                  + *

                                                  + * Describes how many of the non-compliant resources created during the evaluation of an audit check were marked as suppressed. + *

                                                  */ - totalResourcesCount?: number; + suppressedNonCompliantResourcesCount?: number; } export namespace AuditCheckDetails { @@ -1841,14 +1954,14 @@ export namespace AuditCheckDetails { */ export interface PolicyVersionIdentifier { /** - *

                                                  The name of the policy.

                                                  + *

                                                  The ID of the version of the policy associated with the resource.

                                                  */ - policyName?: string; + policyVersionId?: string; /** - *

                                                  The ID of the version of the policy associated with the resource.

                                                  + *

                                                  The name of the policy.

                                                  */ - policyVersionId?: string; + policyName?: string; } export namespace PolicyVersionIdentifier { @@ -1862,19 +1975,19 @@ export namespace PolicyVersionIdentifier { */ export interface ResourceIdentifier { /** - *

                                                  The version of the policy associated with the resource.

                                                  + *

                                                  The client ID.

                                                  */ - policyVersionIdentifier?: PolicyVersionIdentifier; + clientId?: string; /** - *

                                                  The account with which the resource is associated.

                                                  + *

                                                  The ID of the Amazon Cognito identity pool.

                                                  */ - account?: string; + cognitoIdentityPoolId?: string; /** - *

                                                  The ID of the certificate attached to the resource.

                                                  + *

                                                  The account with which the resource is associated.

                                                  */ - deviceCertificateId?: string; + account?: string; /** *

                                                  The ARN of the IAM role that has overly permissive actions.

                                                  @@ -1882,24 +1995,24 @@ export interface ResourceIdentifier { iamRoleArn?: string; /** - *

                                                  The ARN of the role alias that has overly permissive actions.

                                                  + *

                                                  The ID of the CA certificate used to authorize the certificate.

                                                  */ - roleAliasArn?: string; + caCertificateId?: string; /** - *

                                                  The client ID.

                                                  + *

                                                  The version of the policy associated with the resource.

                                                  */ - clientId?: string; + policyVersionIdentifier?: PolicyVersionIdentifier; /** - *

                                                  The ID of the CA certificate used to authorize the certificate.

                                                  + *

                                                  The ID of the certificate attached to the resource.

                                                  */ - caCertificateId?: string; + deviceCertificateId?: string; /** - *

                                                  The ID of the Amazon Cognito identity pool.

                                                  + *

                                                  The ARN of the role alias that has overly permissive actions.

                                                  */ - cognitoIdentityPoolId?: string; + roleAliasArn?: string; } export namespace ResourceIdentifier { @@ -1924,14 +2037,14 @@ export enum ResourceType { */ export interface NonCompliantResource { /** - *

                                                  Other information about the noncompliant resource.

                                                  + *

                                                  Information that identifies the noncompliant resource.

                                                  */ - additionalInfo?: { [key: string]: string }; + resourceIdentifier?: ResourceIdentifier; /** - *

                                                  Information that identifies the noncompliant resource.

                                                  + *

                                                  Other information about the noncompliant resource.

                                                  */ - resourceIdentifier?: ResourceIdentifier; + additionalInfo?: { [key: string]: string }; /** *

                                                  The type of the noncompliant resource.

                                                  @@ -1949,11 +2062,6 @@ export namespace NonCompliantResource { *

                                                  Information about a related resource.

                                                  */ export interface RelatedResource { - /** - *

                                                  Information that identifies the resource.

                                                  - */ - resourceIdentifier?: ResourceIdentifier; - /** *

                                                  Other information about the resource.

                                                  */ @@ -1963,6 +2071,11 @@ export interface RelatedResource { *

                                                  The type of resource.

                                                  */ resourceType?: ResourceType | string; + + /** + *

                                                  Information that identifies the resource.

                                                  + */ + resourceIdentifier?: ResourceIdentifier; } export namespace RelatedResource { @@ -1983,29 +2096,21 @@ export enum AuditFindingSeverity { */ export interface AuditFinding { /** - *

                                                  The audit check that generated this result.

                                                  - */ - checkName?: string; - - /** - *

                                                  The time the audit started.

                                                  - */ - taskStartTime?: Date; - - /** - *

                                                  The list of related resources.

                                                  + *

                                                  The severity of the result (finding).

                                                  */ - relatedResources?: RelatedResource[]; + severity?: AuditFindingSeverity | string; /** - *

                                                  The reason the resource was noncompliant.

                                                  + *

                                                  The audit check that generated this result.

                                                  */ - reasonForNonCompliance?: string; + checkName?: string; /** - *

                                                  The severity of the result (finding).

                                                  + *

                                                  + * Indicates whether the audit finding was suppressed or not during reporting. + *

                                                  */ - severity?: AuditFindingSeverity | string; + isSuppressed?: boolean; /** *

                                                  The time the result (finding) was discovered.

                                                  @@ -2018,9 +2123,9 @@ export interface AuditFinding { reasonForNonComplianceCode?: string; /** - *

                                                  The ID of the audit that generated this result (finding).

                                                  + *

                                                  The reason the resource was noncompliant.

                                                  */ - taskId?: string; + reasonForNonCompliance?: string; /** *

                                                  A unique identifier for this set of audit findings. This identifier is used to apply @@ -2033,6 +2138,21 @@ export interface AuditFinding { * audit check.

                                                  */ nonCompliantResource?: NonCompliantResource; + + /** + *

                                                  The list of related resources.

                                                  + */ + relatedResources?: RelatedResource[]; + + /** + *

                                                  The ID of the audit that generated this result (finding).

                                                  + */ + taskId?: string; + + /** + *

                                                  The time the audit started.

                                                  + */ + taskStartTime?: Date; } export namespace AuditFinding { @@ -2062,19 +2182,19 @@ export enum AuditMitigationActionsExecutionStatus { */ export interface AuditMitigationActionExecutionMetadata { /** - *

                                                  The unique identifier for the findings to which the task and associated mitigation action are applied.

                                                  + *

                                                  The friendly name of the mitigation action being applied by the task.

                                                  */ - findingId?: string; + actionName?: string; /** - *

                                                  The unique identifier for the mitigation action being applied by the task.

                                                  + *

                                                  The unique identifier for the task that applies the mitigation action.

                                                  */ - actionId?: string; + taskId?: string; /** - *

                                                  If an error occurred, the code that indicates which type of error occurred.

                                                  + *

                                                  The date and time when the task was completed or canceled. Blank if the task is still running.

                                                  */ - errorCode?: string; + endTime?: Date; /** *

                                                  The current status of the task being executed.

                                                  @@ -2082,29 +2202,29 @@ export interface AuditMitigationActionExecutionMetadata { status?: AuditMitigationActionsExecutionStatus | string; /** - *

                                                  If an error occurred, a message that describes the error.

                                                  + *

                                                  If an error occurred, the code that indicates which type of error occurred.

                                                  */ - message?: string; + errorCode?: string; /** - *

                                                  The date and time when the task was started.

                                                  + *

                                                  The unique identifier for the findings to which the task and associated mitigation action are applied.

                                                  */ - startTime?: Date; + findingId?: string; /** - *

                                                  The unique identifier for the task that applies the mitigation action.

                                                  + *

                                                  If an error occurred, a message that describes the error.

                                                  */ - taskId?: string; + message?: string; /** - *

                                                  The friendly name of the mitigation action being applied by the task.

                                                  + *

                                                  The date and time when the task was started.

                                                  */ - actionName?: string; + startTime?: Date; /** - *

                                                  The date and time when the task was completed or canceled. Blank if the task is still running.

                                                  + *

                                                  The unique identifier for the mitigation action being applied by the task.

                                                  */ - endTime?: Date; + actionId?: string; } export namespace AuditMitigationActionExecutionMetadata { @@ -2125,9 +2245,9 @@ export enum AuditMitigationActionsTaskStatus { */ export interface AuditMitigationActionsTaskMetadata { /** - *

                                                  The unique identifier for the task.

                                                  + *

                                                  The current state of the audit mitigation actions task.

                                                  */ - taskId?: string; + taskStatus?: AuditMitigationActionsTaskStatus | string; /** *

                                                  The time at which the audit mitigation actions task was started.

                                                  @@ -2135,9 +2255,9 @@ export interface AuditMitigationActionsTaskMetadata { startTime?: Date; /** - *

                                                  The current state of the audit mitigation actions task.

                                                  + *

                                                  The unique identifier for the task.

                                                  */ - taskStatus?: AuditMitigationActionsTaskStatus | string; + taskId?: string; } export namespace AuditMitigationActionsTaskMetadata { @@ -2150,21 +2270,11 @@ export namespace AuditMitigationActionsTaskMetadata { *

                                                  Provides summary counts of how many tasks for findings are in a particular state. This information is included in the response from DescribeAuditMitigationActionsTask.

                                                  */ export interface TaskStatisticsForAuditCheck { - /** - *

                                                  The number of findings for which at least one of the actions failed when applied.

                                                  - */ - failedFindingsCount?: number; - /** *

                                                  The number of findings to which the mitigation action task was canceled when applied.

                                                  */ canceledFindingsCount?: number; - /** - *

                                                  The number of findings for which all mitigation actions succeeded when applied.

                                                  - */ - succeededFindingsCount?: number; - /** *

                                                  The number of findings skipped because of filter conditions provided in the parameters to the command.

                                                  */ @@ -2174,6 +2284,16 @@ export interface TaskStatisticsForAuditCheck { *

                                                  The total number of findings to which a task is being applied.

                                                  */ totalFindingsCount?: number; + + /** + *

                                                  The number of findings for which at least one of the actions failed when applied.

                                                  + */ + failedFindingsCount?: number; + + /** + *

                                                  The number of findings for which all mitigation actions succeeded when applied.

                                                  + */ + succeededFindingsCount?: number; } export namespace TaskStatisticsForAuditCheck { @@ -2187,19 +2307,19 @@ export namespace TaskStatisticsForAuditCheck { */ export interface AuditMitigationActionsTaskTarget { /** - *

                                                  If the task will apply a mitigation action to one or more listed findings, this value uniquely identifies those findings.

                                                  + *

                                                  If the task will apply a mitigation action to findings from a specific audit, this value uniquely identifies the audit.

                                                  */ - findingIds?: string[]; + auditTaskId?: string; /** - *

                                                  Specifies a filter in the form of an audit check and set of reason codes that identify the findings from the audit to which the audit mitigation actions task apply.

                                                  + *

                                                  If the task will apply a mitigation action to one or more listed findings, this value uniquely identifies those findings.

                                                  */ - auditCheckToReasonCodeFilter?: { [key: string]: string[] }; + findingIds?: string[]; /** - *

                                                  If the task will apply a mitigation action to findings from a specific audit, this value uniquely identifies the audit.

                                                  + *

                                                  Specifies a filter in the form of an audit check and set of reason codes that identify the findings from the audit to which the audit mitigation actions task apply.

                                                  */ - auditTaskId?: string; + auditCheckToReasonCodeFilter?: { [key: string]: string[] }; } export namespace AuditMitigationActionsTaskTarget { @@ -2212,11 +2332,6 @@ export namespace AuditMitigationActionsTaskTarget { *

                                                  Information about the targets to which audit notifications are sent.

                                                  */ export interface AuditNotificationTarget { - /** - *

                                                  The ARN of the role that grants permission to send notifications to the target.

                                                  - */ - roleArn?: string; - /** *

                                                  The ARN of the target (SNS topic) to which audit notifications are sent.

                                                  */ @@ -2226,6 +2341,11 @@ export interface AuditNotificationTarget { *

                                                  True if notifications to the target are enabled.

                                                  */ enabled?: boolean; + + /** + *

                                                  The ARN of the role that grants permission to send notifications to the target.

                                                  + */ + roleArn?: string; } export namespace AuditNotificationTarget { @@ -2238,6 +2358,53 @@ export enum AuditNotificationType { SNS = "SNS", } +/** + *

                                                  + * Filters out specific findings of a Device Defender audit. + *

                                                  + */ +export interface AuditSuppression { + /** + *

                                                  Information that identifies the noncompliant resource.

                                                  + */ + resourceIdentifier: ResourceIdentifier | undefined; + + /** + *

                                                  + * Indicates whether a suppression should exist indefinitely or not. + *

                                                  + */ + suppressIndefinitely?: boolean; + + /** + *

                                                  An audit check name. Checks must be enabled + * for your account. (Use DescribeAccountAuditConfiguration to see the list + * of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + * to select which checks are enabled.)

                                                  + */ + checkName: string | undefined; + + /** + *

                                                  + * The description of the audit suppression. + *

                                                  + */ + description?: string; + + /** + *

                                                  + * The expiration date (epoch timestamp in seconds) that you want the suppression to adhere to. + *

                                                  + */ + expirationDate?: Date; +} + +export namespace AuditSuppression { + export const filterSensitiveLog = (obj: AuditSuppression): any => ({ + ...obj, + }); +} + export enum AuditTaskStatus { CANCELED = "CANCELED", COMPLETED = "COMPLETED", @@ -2255,10 +2422,9 @@ export enum AuditTaskType { */ export interface AuditTaskMetadata { /** - *

                                                  The status of this audit. One of "IN_PROGRESS", "COMPLETED", - * "FAILED", or "CANCELED".

                                                  + *

                                                  The type of this audit. One of "ON_DEMAND_AUDIT_TASK" or "SCHEDULED_AUDIT_TASK".

                                                  */ - taskStatus?: AuditTaskStatus | string; + taskType?: AuditTaskType | string; /** *

                                                  The ID of this audit.

                                                  @@ -2266,9 +2432,10 @@ export interface AuditTaskMetadata { taskId?: string; /** - *

                                                  The type of this audit. One of "ON_DEMAND_AUDIT_TASK" or "SCHEDULED_AUDIT_TASK".

                                                  + *

                                                  The status of this audit. One of "IN_PROGRESS", "COMPLETED", + * "FAILED", or "CANCELED".

                                                  */ - taskType?: AuditTaskType | string; + taskStatus?: AuditTaskStatus | string; } export namespace AuditTaskMetadata { @@ -2287,16 +2454,16 @@ export enum AuthDecision { *

                                                  A collection of authorization information.

                                                  */ export interface AuthInfo { - /** - *

                                                  The type of action for which the principal is being authorized.

                                                  - */ - actionType?: ActionType | string; - /** *

                                                  The resources for which the principal is being authorized to perform the specified * action.

                                                  */ resources: string[] | undefined; + + /** + *

                                                  The type of action for which the principal is being authorized.

                                                  + */ + actionType?: ActionType | string; } export namespace AuthInfo { @@ -2310,14 +2477,14 @@ export namespace AuthInfo { */ export interface AuthorizerConfig { /** - *

                                                  The name of the authorization service for a domain configuration.

                                                  + *

                                                  A Boolean that specifies whether the domain configuration's authorization service can be overridden.

                                                  */ - defaultAuthorizerName?: string; + allowAuthorizerOverride?: boolean; /** - *

                                                  A Boolean that specifies whether the domain configuration's authorization service can be overridden.

                                                  + *

                                                  The name of the authorization service for a domain configuration.

                                                  */ - allowAuthorizerOverride?: boolean; + defaultAuthorizerName?: string; } export namespace AuthorizerConfig { @@ -2341,14 +2508,9 @@ export interface AuthorizerDescription { status?: AuthorizerStatus | string; /** - *

                                                  The authorizer ARN.

                                                  - */ - authorizerArn?: string; - - /** - *

                                                  The UNIX timestamp of when the authorizer was last updated.

                                                  + *

                                                  The UNIX timestamp of when the authorizer was created.

                                                  */ - lastModifiedDate?: Date; + creationDate?: Date; /** *

                                                  The authorizer's Lambda function ARN.

                                                  @@ -2361,25 +2523,30 @@ export interface AuthorizerDescription { authorizerName?: string; /** - *

                                                  The public keys used to validate the token signature returned by your custom - * authentication service.

                                                  + *

                                                  Specifies whether AWS IoT validates the token signature in an authorization request.

                                                  */ - tokenSigningPublicKeys?: { [key: string]: string }; + signingDisabled?: boolean; /** - *

                                                  The UNIX timestamp of when the authorizer was created.

                                                  + *

                                                  The UNIX timestamp of when the authorizer was last updated.

                                                  */ - creationDate?: Date; + lastModifiedDate?: Date; /** - *

                                                  The key used to extract the token from the HTTP headers.

                                                  + *

                                                  The authorizer ARN.

                                                  */ - tokenKeyName?: string; + authorizerArn?: string; /** - *

                                                  Specifies whether AWS IoT validates the token signature in an authorization request.

                                                  + *

                                                  The public keys used to validate the token signature returned by your custom + * authentication service.

                                                  */ - signingDisabled?: boolean; + tokenSigningPublicKeys?: { [key: string]: string }; + + /** + *

                                                  The key used to extract the token from the HTTP headers.

                                                  + */ + tokenKeyName?: string; } export namespace AuthorizerDescription { @@ -2393,14 +2560,14 @@ export namespace AuthorizerDescription { */ export interface AuthorizerSummary { /** - *

                                                  The authorizer ARN.

                                                  + *

                                                  The authorizer name.

                                                  */ - authorizerArn?: string; + authorizerName?: string; /** - *

                                                  The authorizer name.

                                                  + *

                                                  The authorizer ARN.

                                                  */ - authorizerName?: string; + authorizerArn?: string; } export namespace AuthorizerSummary { @@ -2471,9 +2638,14 @@ export namespace Denied { */ export interface AuthResult { /** - *

                                                  The policies and statements that denied the specified action.

                                                  + *

                                                  Authorization information.

                                                  */ - denied?: Denied; + authInfo?: AuthInfo; + + /** + *

                                                  Contains any missing context values found while evaluating policy.

                                                  + */ + missingContextValues?: string[]; /** *

                                                  The final authorization decision of this scenario. Multiple statements are taken into @@ -2483,14 +2655,9 @@ export interface AuthResult { authDecision?: AuthDecision | string; /** - *

                                                  Authorization information.

                                                  - */ - authInfo?: AuthInfo; - - /** - *

                                                  Contains any missing context values found while evaluating policy.

                                                  + *

                                                  The policies and statements that denied the specified action.

                                                  */ - missingContextValues?: string[]; + denied?: Denied; /** *

                                                  The policies and statements that allowed the specified action.

                                                  @@ -2570,21 +2737,11 @@ export namespace CancelCertificateTransferRequest { } export interface CancelJobRequest { - /** - *

                                                  The unique identifier you assigned to this job when it was created.

                                                  - */ - jobId: string | undefined; - /** *

                                                  An optional comment string describing why the job was canceled.

                                                  */ comment?: string; - /** - *

                                                  (Optional)A reason code string that explains why the job was canceled.

                                                  - */ - reasonCode?: string; - /** *

                                                  (Optional) If true job executions with status "IN_PROGRESS" and "QUEUED" * are canceled, otherwise only job executions with status "QUEUED" are canceled. The default @@ -2594,6 +2751,16 @@ export interface CancelJobRequest { * device executing a job which is canceled is able to recover to a valid state.

                                                  */ force?: boolean; + + /** + *

                                                  The unique identifier you assigned to this job when it was created.

                                                  + */ + jobId: string | undefined; + + /** + *

                                                  (Optional)A reason code string that explains why the job was canceled.

                                                  + */ + reasonCode?: string; } export namespace CancelJobRequest { @@ -2603,6 +2770,11 @@ export namespace CancelJobRequest { } export interface CancelJobResponse { + /** + *

                                                  A short text description of the job.

                                                  + */ + description?: string; + /** *

                                                  The unique identifier you assigned to this job when it was created.

                                                  */ @@ -2612,11 +2784,6 @@ export interface CancelJobResponse { *

                                                  The job ARN.

                                                  */ jobArn?: string; - - /** - *

                                                  A short text description of the job.

                                                  - */ - description?: string; } export namespace CancelJobResponse { @@ -2627,10 +2794,14 @@ export namespace CancelJobResponse { export interface CancelJobExecutionRequest { /** - *

                                                  A collection of name/value pairs that describe the status of the job execution. If not - * specified, the statusDetails are unchanged. You can specify at most 10 name/value pairs.

                                                  + *

                                                  (Optional) The expected current version of the job execution. Each time you update the job + * execution, its version is incremented. If the version of the job execution stored in Jobs does + * not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that + * contains the current job execution status data is returned. (This makes it unnecessary to + * perform a separate DescribeJobExecution request in order to obtain the job execution status + * data.)

                                                  */ - statusDetails?: { [key: string]: string }; + expectedVersion?: number; /** *

                                                  (Optional) If true the job execution will be canceled if it has status @@ -2645,24 +2816,20 @@ export interface CancelJobExecutionRequest { force?: boolean; /** - *

                                                  (Optional) The expected current version of the job execution. Each time you update the job - * execution, its version is incremented. If the version of the job execution stored in Jobs does - * not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that - * contains the current job execution status data is returned. (This makes it unnecessary to - * perform a separate DescribeJobExecution request in order to obtain the job execution status - * data.)

                                                  + *

                                                  The name of the thing whose execution of the job will be canceled.

                                                  */ - expectedVersion?: number; + thingName: string | undefined; /** - *

                                                  The ID of the job to be canceled.

                                                  + *

                                                  A collection of name/value pairs that describe the status of the job execution. If not + * specified, the statusDetails are unchanged. You can specify at most 10 name/value pairs.

                                                  */ - jobId: string | undefined; + statusDetails?: { [key: string]: string }; /** - *

                                                  The name of the thing whose execution of the job will be canceled.

                                                  + *

                                                  The ID of the job to be canceled.

                                                  */ - thingName: string | undefined; + jobId: string | undefined; } export namespace CancelJobExecutionRequest { @@ -2765,6 +2932,91 @@ export namespace InternalException { }); } +export interface CreateAuditSuppressionRequest { + /** + *

                                                  An audit check name. Checks must be enabled + * for your account. (Use DescribeAccountAuditConfiguration to see the list + * of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + * to select which checks are enabled.)

                                                  + */ + checkName: string | undefined; + + /** + *

                                                  Information that identifies the noncompliant resource.

                                                  + */ + resourceIdentifier: ResourceIdentifier | undefined; + + /** + *

                                                  + * The description of the audit suppression. + *

                                                  + */ + description?: string; + + /** + *

                                                  + * Indicates whether a suppression should exist indefinitely or not. + *

                                                  + */ + suppressIndefinitely?: boolean; + + /** + *

                                                  + * The epoch timestamp in seconds at which this suppression expires. + *

                                                  + */ + clientRequestToken?: string; + + /** + *

                                                  + * The epoch timestamp in seconds at which this suppression expires. + *

                                                  + */ + expirationDate?: Date; +} + +export namespace CreateAuditSuppressionRequest { + export const filterSensitiveLog = (obj: CreateAuditSuppressionRequest): any => ({ + ...obj, + }); +} + +export interface CreateAuditSuppressionResponse {} + +export namespace CreateAuditSuppressionResponse { + export const filterSensitiveLog = (obj: CreateAuditSuppressionResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                  The resource already exists.

                                                  + */ +export interface ResourceAlreadyExistsException extends __SmithyException, $MetadataBearer { + name: "ResourceAlreadyExistsException"; + $fault: "client"; + /** + *

                                                  The message for the exception.

                                                  + */ + message?: string; + + /** + *

                                                  The ARN of the resource that caused the exception.

                                                  + */ + resourceArn?: string; + + /** + *

                                                  The ID of the resource that caused the exception.

                                                  + */ + resourceId?: string; +} + +export namespace ResourceAlreadyExistsException { + export const filterSensitiveLog = (obj: ResourceAlreadyExistsException): any => ({ + ...obj, + }); +} + /** *

                                                  A set of key/value pairs that are used to manage the resource.

                                                  */ @@ -2788,15 +3040,9 @@ export namespace Tag { export interface CreateAuthorizerRequest { /** - *

                                                  The public keys used to verify the digital signature returned by your custom - * authentication service.

                                                  - */ - tokenSigningPublicKeys?: { [key: string]: string }; - - /** - *

                                                  The name of the token key used to extract the token from the HTTP headers.

                                                  + *

                                                  The ARN of the authorizer's Lambda function.

                                                  */ - tokenKeyName?: string; + authorizerFunctionArn: string | undefined; /** *

                                                  Specifies whether AWS IoT validates the token signature in an authorization request.

                                                  @@ -2804,19 +3050,20 @@ export interface CreateAuthorizerRequest { signingDisabled?: boolean; /** - *

                                                  The authorizer name.

                                                  + *

                                                  The public keys used to verify the digital signature returned by your custom + * authentication service.

                                                  */ - authorizerName: string | undefined; + tokenSigningPublicKeys?: { [key: string]: string }; /** - *

                                                  The status of the create authorizer request.

                                                  + *

                                                  The name of the token key used to extract the token from the HTTP headers.

                                                  */ - status?: AuthorizerStatus | string; + tokenKeyName?: string; /** - *

                                                  The ARN of the authorizer's Lambda function.

                                                  + *

                                                  The authorizer name.

                                                  */ - authorizerFunctionArn: string | undefined; + authorizerName: string | undefined; /** *

                                                  Metadata which can be used to manage the custom authorizer.

                                                  @@ -2829,6 +3076,11 @@ export interface CreateAuthorizerRequest { * */ tags?: Tag[]; + + /** + *

                                                  The status of the create authorizer request.

                                                  + */ + status?: AuthorizerStatus | string; } export namespace CreateAuthorizerRequest { @@ -2838,47 +3090,19 @@ export namespace CreateAuthorizerRequest { } export interface CreateAuthorizerResponse { - /** - *

                                                  The authorizer ARN.

                                                  - */ - authorizerArn?: string; - /** *

                                                  The authorizer's name.

                                                  */ authorizerName?: string; -} - -export namespace CreateAuthorizerResponse { - export const filterSensitiveLog = (obj: CreateAuthorizerResponse): any => ({ - ...obj, - }); -} - -/** - *

                                                  The resource already exists.

                                                  - */ -export interface ResourceAlreadyExistsException extends __SmithyException, $MetadataBearer { - name: "ResourceAlreadyExistsException"; - $fault: "client"; - /** - *

                                                  The message for the exception.

                                                  - */ - message?: string; /** - *

                                                  The ID of the resource that caused the exception.

                                                  - */ - resourceId?: string; - - /** - *

                                                  The ARN of the resource that caused the exception.

                                                  + *

                                                  The authorizer ARN.

                                                  */ - resourceArn?: string; + authorizerArn?: string; } -export namespace ResourceAlreadyExistsException { - export const filterSensitiveLog = (obj: ResourceAlreadyExistsException): any => ({ +export namespace CreateAuthorizerResponse { + export const filterSensitiveLog = (obj: CreateAuthorizerResponse): any => ({ ...obj, }); } @@ -2900,11 +3124,6 @@ export namespace BillingGroupProperties { } export interface CreateBillingGroupRequest { - /** - *

                                                  Metadata which can be used to manage the billing group.

                                                  - */ - tags?: Tag[]; - /** *

                                                  The properties of the billing group.

                                                  */ @@ -2914,6 +3133,11 @@ export interface CreateBillingGroupRequest { *

                                                  The name you wish to give to the billing group.

                                                  */ billingGroupName: string | undefined; + + /** + *

                                                  Metadata which can be used to manage the billing group.

                                                  + */ + tags?: Tag[]; } export namespace CreateBillingGroupRequest { @@ -2924,9 +3148,9 @@ export namespace CreateBillingGroupRequest { export interface CreateBillingGroupResponse { /** - *

                                                  The ID of the billing group.

                                                  + *

                                                  The ARN of the billing group.

                                                  */ - billingGroupId?: string; + billingGroupArn?: string; /** *

                                                  The name you gave to the billing group.

                                                  @@ -2934,9 +3158,9 @@ export interface CreateBillingGroupResponse { billingGroupName?: string; /** - *

                                                  The ARN of the billing group.

                                                  + *

                                                  The ID of the billing group.

                                                  */ - billingGroupArn?: string; + billingGroupId?: string; } export namespace CreateBillingGroupResponse { @@ -2950,14 +3174,14 @@ export namespace CreateBillingGroupResponse { */ export interface CreateCertificateFromCsrRequest { /** - *

                                                  Specifies whether the certificate is active.

                                                  + *

                                                  The certificate signing request (CSR).

                                                  */ - setAsActive?: boolean; + certificateSigningRequest: string | undefined; /** - *

                                                  The certificate signing request (CSR).

                                                  + *

                                                  Specifies whether the certificate is active.

                                                  */ - certificateSigningRequest: string | undefined; + setAsActive?: boolean; } export namespace CreateCertificateFromCsrRequest { @@ -2970,11 +3194,6 @@ export namespace CreateCertificateFromCsrRequest { *

                                                  The output from the CreateCertificateFromCsr operation.

                                                  */ export interface CreateCertificateFromCsrResponse { - /** - *

                                                  The certificate data, in PEM format.

                                                  - */ - certificatePem?: string; - /** *

                                                  The ID of the certificate. Certificate management operations only take a * certificateId.

                                                  @@ -2986,6 +3205,11 @@ export interface CreateCertificateFromCsrResponse { * for policy operations.

                                                  */ certificateArn?: string; + + /** + *

                                                  The certificate data, in PEM format.

                                                  + */ + certificatePem?: string; } export namespace CreateCertificateFromCsrResponse { @@ -3000,19 +3224,19 @@ export enum DimensionType { export interface CreateDimensionRequest { /** - *

                                                  Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, "admin/#").

                                                  + *

                                                  A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

                                                  */ - stringValues: string[] | undefined; + name: string | undefined; /** - *

                                                  Metadata that can be used to manage the dimension.

                                                  + *

                                                  Each dimension must have a unique client request token. If you try to create a new dimension with the same token as a dimension that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

                                                  */ - tags?: Tag[]; + clientRequestToken?: string; /** - *

                                                  Each dimension must have a unique client request token. If you try to create a new dimension with the same token as a dimension that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

                                                  + *

                                                  Metadata that can be used to manage the dimension.

                                                  */ - clientRequestToken?: string; + tags?: Tag[]; /** *

                                                  Specifies the type of dimension. Supported types: TOPIC_FILTER. @@ -3021,9 +3245,9 @@ export interface CreateDimensionRequest { type: DimensionType | string | undefined; /** - *

                                                  A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

                                                  + *

                                                  Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, "admin/#").

                                                  */ - name: string | undefined; + stringValues: string[] | undefined; } export namespace CreateDimensionRequest { @@ -3034,14 +3258,14 @@ export namespace CreateDimensionRequest { export interface CreateDimensionResponse { /** - *

                                                  A unique identifier for the dimension.

                                                  + *

                                                  The ARN (Amazon resource name) of the created dimension.

                                                  */ - name?: string; + arn?: string; /** - *

                                                  The ARN (Amazon resource name) of the created dimension.

                                                  + *

                                                  A unique identifier for the dimension.

                                                  */ - arn?: string; + name?: string; } export namespace CreateDimensionResponse { @@ -3076,14 +3300,17 @@ export enum ServiceType { export interface CreateDomainConfigurationRequest { /** - *

                                                  The name of the domain configuration. This value must be unique to a region.

                                                  + *

                                                  The type of service delivered by the endpoint.

                                                  + * + *

                                                  AWS IoT Core currently supports only the DATA service type.

                                                  + *
                                                  */ - domainConfigurationName: string | undefined; + serviceType?: ServiceType | string; /** - *

                                                  The name of the domain.

                                                  + *

                                                  The name of the domain configuration. This value must be unique to a region.

                                                  */ - domainName?: string; + domainConfigurationName: string | undefined; /** *

                                                  The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. @@ -3091,24 +3318,15 @@ export interface CreateDomainConfigurationRequest { */ validationCertificateArn?: string; - /** - *

                                                  The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. - * This value is not required for AWS-managed domains.

                                                  - */ - serverCertificateArns?: string[]; - /** *

                                                  An object that specifies the authorization service for a domain.

                                                  */ authorizerConfig?: AuthorizerConfig; /** - *

                                                  The type of service delivered by the endpoint.

                                                  - * - *

                                                  AWS IoT Core currently supports only the DATA service type.

                                                  - *
                                                  + *

                                                  The name of the domain.

                                                  */ - serviceType?: ServiceType | string; + domainName?: string; /** *

                                                  Metadata which can be used to manage the domain configuration.

                                                  @@ -3121,6 +3339,12 @@ export interface CreateDomainConfigurationRequest { * */ tags?: Tag[]; + + /** + *

                                                  The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. + * This value is not required for AWS-managed domains.

                                                  + */ + serverCertificateArns?: string[]; } export namespace CreateDomainConfigurationRequest { @@ -3151,61 +3375,61 @@ export namespace CreateDomainConfigurationResponse { *

                                                  Thing group properties.

                                                  */ export interface ThingGroupProperties { - /** - *

                                                  The thing group description.

                                                  - */ - thingGroupDescription?: string; - /** *

                                                  The thing group attributes in JSON format.

                                                  */ attributePayload?: AttributePayload; -} -export namespace ThingGroupProperties { - export const filterSensitiveLog = (obj: ThingGroupProperties): any => ({ - ...obj, - }); -} - -export interface CreateDynamicThingGroupRequest { /** - *

                                                  The dynamic thing group query version.

                                                  - * - *

                                                  Currently one query version is supported: "2017-09-30". If not specified, the - * query version defaults to this value.

                                                  - *
                                                  + *

                                                  The thing group description.

                                                  */ - queryVersion?: string; + thingGroupDescription?: string; +} - /** - *

                                                  The dynamic thing group index name.

                                                  - * - *

                                                  Currently one index is supported: "AWS_Things".

                                                  - *
                                                  - */ - indexName?: string; +export namespace ThingGroupProperties { + export const filterSensitiveLog = (obj: ThingGroupProperties): any => ({ + ...obj, + }); +} +export interface CreateDynamicThingGroupRequest { /** *

                                                  The dynamic thing group properties.

                                                  */ thingGroupProperties?: ThingGroupProperties; + /** + *

                                                  Metadata which can be used to manage the dynamic thing group.

                                                  + */ + tags?: Tag[]; + /** *

                                                  The dynamic thing group search query string.

                                                  *

                                                  See Query Syntax for information about query string syntax.

                                                  */ queryString: string | undefined; + /** + *

                                                  The dynamic thing group index name.

                                                  + * + *

                                                  Currently one index is supported: "AWS_Things".

                                                  + *
                                                  + */ + indexName?: string; + /** *

                                                  The dynamic thing group name to create.

                                                  */ thingGroupName: string | undefined; /** - *

                                                  Metadata which can be used to manage the dynamic thing group.

                                                  + *

                                                  The dynamic thing group query version.

                                                  + * + *

                                                  Currently one query version is supported: "2017-09-30". If not specified, the + * query version defaults to this value.

                                                  + *
                                                  */ - tags?: Tag[]; + queryVersion?: string; } export namespace CreateDynamicThingGroupRequest { @@ -3216,9 +3440,9 @@ export namespace CreateDynamicThingGroupRequest { export interface CreateDynamicThingGroupResponse { /** - *

                                                  The dynamic thing group ARN.

                                                  + *

                                                  The dynamic thing group index name.

                                                  */ - thingGroupArn?: string; + indexName?: string; /** *

                                                  The dynamic thing group search query string.

                                                  @@ -3231,19 +3455,19 @@ export interface CreateDynamicThingGroupResponse { queryVersion?: string; /** - *

                                                  The dynamic thing group name.

                                                  + *

                                                  The dynamic thing group ID.

                                                  */ - thingGroupName?: string; + thingGroupId?: string; /** - *

                                                  The dynamic thing group index name.

                                                  + *

                                                  The dynamic thing group name.

                                                  */ - indexName?: string; + thingGroupName?: string; /** - *

                                                  The dynamic thing group ID.

                                                  + *

                                                  The dynamic thing group ARN.

                                                  */ - thingGroupId?: string; + thingGroupArn?: string; } export namespace CreateDynamicThingGroupResponse { @@ -3275,14 +3499,14 @@ export namespace InvalidQueryException { */ export interface RateIncreaseCriteria { /** - *

                                                  The threshold for number of notified things that will initiate the increase in rate of rollout.

                                                  + *

                                                  The threshold for number of succeeded things that will initiate the increase in rate of rollout.

                                                  */ - numberOfNotifiedThings?: number; + numberOfSucceededThings?: number; /** - *

                                                  The threshold for number of succeeded things that will initiate the increase in rate of rollout.

                                                  + *

                                                  The threshold for number of notified things that will initiate the increase in rate of rollout.

                                                  */ - numberOfSucceededThings?: number; + numberOfNotifiedThings?: number; } export namespace RateIncreaseCriteria { @@ -3297,7 +3521,6 @@ export namespace RateIncreaseCriteria { export interface ExponentialRolloutRate { /** *

                                                  The criteria to initiate the increase in rate of rollout for a job.

                                                  - *

                                                  AWS IoT supports up to one digit after the decimal (for example, 1.5, but not 1.55).

                                                  */ rateIncreaseCriteria: RateIncreaseCriteria | undefined; @@ -3309,6 +3532,7 @@ export interface ExponentialRolloutRate { /** *

                                                  The exponential factor to increase the rate of rollout for a job.

                                                  + *

                                                  AWS IoT supports up to one digit after the decimal (for example, 1.5, but not 1.55).

                                                  */ incrementFactor: number | undefined; } @@ -3323,17 +3547,17 @@ export namespace ExponentialRolloutRate { *

                                                  Allows you to create a staged rollout of a job.

                                                  */ export interface JobExecutionsRolloutConfig { - /** - *

                                                  The rate of increase for a job rollout. - * This parameter allows you to define an exponential rate for a job rollout.

                                                  - */ - exponentialRate?: ExponentialRolloutRate; - /** *

                                                  The maximum number of things that will be notified of a pending job, per minute. * This parameter allows you to create a staged rollout.

                                                  */ maximumPerMinute?: number; + + /** + *

                                                  The rate of increase for a job rollout. + * This parameter allows you to define an exponential rate for a job rollout.

                                                  + */ + exponentialRate?: ExponentialRolloutRate; } export namespace JobExecutionsRolloutConfig { @@ -3395,46 +3619,37 @@ export namespace TimeoutConfig { export interface CreateJobRequest { /** - *

                                                  The job document.

                                                  - * - *

                                                  If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document.

                                                  - *

                                                  The placeholder link is of the following form:

                                                  - *

                                                  - * ${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key} - *

                                                  - *

                                                  where bucket is your bucket name and key is the object in the bucket to which you are linking.

                                                  - *
                                                  + *

                                                  Configuration information for pre-signed S3 URLs.

                                                  */ - document?: string; + presignedUrlConfig?: PresignedUrlConfig; /** - *

                                                  A job identifier which must be unique for your AWS account. We recommend using a UUID. Alpha-numeric - * characters, "-" and "_" are valid for use here.

                                                  + *

                                                  A short text description of the job.

                                                  */ - jobId: string | undefined; + description?: string; /** - *

                                                  Specifies the amount of time each device has to finish its execution of the job. The timer - * is started when the job execution status is set to IN_PROGRESS. If the job - * execution status is not set to another terminal state before the time expires, it will be - * automatically set to TIMED_OUT.

                                                  + *

                                                  An S3 link to the job document.

                                                  */ - timeoutConfig?: TimeoutConfig; + documentSource?: string; /** - *

                                                  A list of things and thing groups to which the job should be sent.

                                                  + *

                                                  Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things + * specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing + * when a change is detected in a target. For example, a job will run on a thing when the thing is added to a + * target group, even after the job was completed by all things originally in the group.

                                                  */ - targets: string[] | undefined; + targetSelection?: TargetSelection | string; /** - *

                                                  Metadata which can be used to manage the job.

                                                  + *

                                                  Allows you to create a staged rollout of the job.

                                                  */ - tags?: Tag[]; + jobExecutionsRolloutConfig?: JobExecutionsRolloutConfig; /** - *

                                                  An S3 link to the job document.

                                                  + *

                                                  Metadata which can be used to manage the job.

                                                  */ - documentSource?: string; + tags?: Tag[]; /** *

                                                  Allows you to create criteria to abort a job.

                                                  @@ -3442,27 +3657,36 @@ export interface CreateJobRequest { abortConfig?: AbortConfig; /** - *

                                                  A short text description of the job.

                                                  + *

                                                  A job identifier which must be unique for your AWS account. We recommend using a UUID. Alpha-numeric + * characters, "-" and "_" are valid for use here.

                                                  */ - description?: string; + jobId: string | undefined; /** - *

                                                  Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things - * specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing - * when a change is detected in a target. For example, a job will run on a thing when the thing is added to a - * target group, even after the job was completed by all things originally in the group.

                                                  + *

                                                  A list of things and thing groups to which the job should be sent.

                                                  */ - targetSelection?: TargetSelection | string; + targets: string[] | undefined; /** - *

                                                  Allows you to create a staged rollout of the job.

                                                  + *

                                                  The job document.

                                                  + * + *

                                                  If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document.

                                                  + *

                                                  The placeholder link is of the following form:

                                                  + *

                                                  + * ${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key} + *

                                                  + *

                                                  where bucket is your bucket name and key is the object in the bucket to which you are linking.

                                                  + *
                                                  */ - jobExecutionsRolloutConfig?: JobExecutionsRolloutConfig; + document?: string; /** - *

                                                  Configuration information for pre-signed S3 URLs.

                                                  + *

                                                  Specifies the amount of time each device has to finish its execution of the job. The timer + * is started when the job execution status is set to IN_PROGRESS. If the job + * execution status is not set to another terminal state before the time expires, it will be + * automatically set to TIMED_OUT.

                                                  */ - presignedUrlConfig?: PresignedUrlConfig; + timeoutConfig?: TimeoutConfig; } export namespace CreateJobRequest { @@ -3537,25 +3761,25 @@ export namespace KeyPair { */ export interface CreateKeysAndCertificateResponse { /** - *

                                                  The ARN of the certificate.

                                                  + *

                                                  The ID of the certificate. AWS IoT issues a default subject name for the certificate + * (for example, AWS IoT Certificate).

                                                  */ - certificateArn?: string; + certificateId?: string; /** - *

                                                  The generated key pair.

                                                  + *

                                                  The certificate data, in PEM format.

                                                  */ - keyPair?: KeyPair; + certificatePem?: string; /** - *

                                                  The ID of the certificate. AWS IoT issues a default subject name for the certificate - * (for example, AWS IoT Certificate).

                                                  + *

                                                  The ARN of the certificate.

                                                  */ - certificateId?: string; + certificateArn?: string; /** - *

                                                  The certificate data, in PEM format.

                                                  + *

                                                  The generated key pair.

                                                  */ - certificatePem?: string; + keyPair?: KeyPair; } export namespace CreateKeysAndCertificateResponse { @@ -3578,14 +3802,14 @@ export enum LogLevel { */ export interface EnableIoTLoggingParams { /** - *

                                                  The ARN of the IAM role used for logging.

                                                  + *

                                                  Specifies the types of information to be logged.

                                                  */ - roleArnForLogging: string | undefined; + logLevel: LogLevel | string | undefined; /** - *

                                                  Specifies the types of information to be logged.

                                                  + *

                                                  The ARN of the IAM role used for logging.

                                                  */ - logLevel: LogLevel | string | undefined; + roleArnForLogging: string | undefined; } export namespace EnableIoTLoggingParams { @@ -3675,9 +3899,14 @@ export namespace UpdateDeviceCertificateParams { */ export interface MitigationActionParams { /** - *

                                                  Parameters to define a mitigation action that moves devices associated with a certificate to one or more specified thing groups, typically for quarantine.

                                                  + *

                                                  Parameters to define a mitigation action that changes the state of the CA certificate to inactive.

                                                  */ - addThingsToThingGroupParams?: AddThingsToThingGroupParams; + updateCACertificateParams?: UpdateCACertificateParams; + + /** + *

                                                  Parameters to define a mitigation action that adds a blank policy to restrict permissions.

                                                  + */ + replaceDefaultPolicyVersionParams?: ReplaceDefaultPolicyVersionParams; /** *

                                                  Parameters to define a mitigation action that changes the state of the device certificate to inactive.

                                                  @@ -3695,14 +3924,9 @@ export interface MitigationActionParams { publishFindingToSnsParams?: PublishFindingToSnsParams; /** - *

                                                  Parameters to define a mitigation action that changes the state of the CA certificate to inactive.

                                                  - */ - updateCACertificateParams?: UpdateCACertificateParams; - - /** - *

                                                  Parameters to define a mitigation action that adds a blank policy to restrict permissions.

                                                  + *

                                                  Parameters to define a mitigation action that moves devices associated with a certificate to one or more specified thing groups, typically for quarantine.

                                                  */ - replaceDefaultPolicyVersionParams?: ReplaceDefaultPolicyVersionParams; + addThingsToThingGroupParams?: AddThingsToThingGroupParams; } export namespace MitigationActionParams { @@ -3713,24 +3937,24 @@ export namespace MitigationActionParams { export interface CreateMitigationActionRequest { /** - *

                                                  Metadata that can be used to manage the mitigation action.

                                                  + *

                                                  The ARN of the IAM role that is used to apply the mitigation action.

                                                  */ - tags?: Tag[]; + roleArn: string | undefined; /** - *

                                                  A friendly name for the action. Choose a friendly name that accurately describes the action (for example, EnableLoggingAction).

                                                  + *

                                                  Defines the type of action and the parameters for that action.

                                                  */ - actionName: string | undefined; + actionParams: MitigationActionParams | undefined; /** - *

                                                  The ARN of the IAM role that is used to apply the mitigation action.

                                                  + *

                                                  A friendly name for the action. Choose a friendly name that accurately describes the action (for example, EnableLoggingAction).

                                                  */ - roleArn: string | undefined; + actionName: string | undefined; /** - *

                                                  Defines the type of action and the parameters for that action.

                                                  + *

                                                  Metadata that can be used to manage the mitigation action.

                                                  */ - actionParams: MitigationActionParams | undefined; + tags?: Tag[]; } export namespace CreateMitigationActionRequest { @@ -3741,14 +3965,14 @@ export namespace CreateMitigationActionRequest { export interface CreateMitigationActionResponse { /** - *

                                                  A unique identifier for the new mitigation action.

                                                  + *

                                                  The ARN for the new mitigation action.

                                                  */ - actionId?: string; + actionArn?: string; /** - *

                                                  The ARN for the new mitigation action.

                                                  + *

                                                  A unique identifier for the new mitigation action.

                                                  */ - actionArn?: string; + actionId?: string; } export namespace CreateMitigationActionResponse { @@ -3773,9 +3997,10 @@ export enum AwsJobAbortCriteriaFailureType { */ export interface AwsJobAbortCriteria { /** - *

                                                  The type of job action to take to initiate the job abort.

                                                  + *

                                                  The minimum number of things which must receive job execution notifications before the job + * can be aborted.

                                                  */ - action: AwsJobAbortCriteriaAbortAction | string | undefined; + minNumberOfExecutedThings: number | undefined; /** *

                                                  The type of job execution failures that can initiate a job abort.

                                                  @@ -3789,10 +4014,9 @@ export interface AwsJobAbortCriteria { thresholdPercentage: number | undefined; /** - *

                                                  The minimum number of things which must receive job execution notifications before the job - * can be aborted.

                                                  + *

                                                  The type of job action to take to initiate the job abort.

                                                  */ - minNumberOfExecutedThings: number | undefined; + action: AwsJobAbortCriteriaAbortAction | string | undefined; } export namespace AwsJobAbortCriteria { @@ -3845,18 +4069,18 @@ export namespace AwsJobRateIncreaseCriteria { * increase for a job rollout.

                                                  */ export interface AwsJobExponentialRolloutRate { - /** - *

                                                  The criteria to initiate the increase in rate of rollout for a job.

                                                  - *

                                                  AWS IoT supports up to one digit after the decimal (for example, 1.5, but not 1.55).

                                                  - */ - rateIncreaseCriteria: AwsJobRateIncreaseCriteria | undefined; - /** *

                                                  The rate of increase for a job rollout. The number of things notified is multiplied by this * factor.

                                                  */ incrementFactor: number | undefined; + /** + *

                                                  The criteria to initiate the increase in rate of rollout for a job.

                                                  + *

                                                  AWS IoT supports up to one digit after the decimal (for example, 1.5, but not 1.55).

                                                  + */ + rateIncreaseCriteria: AwsJobRateIncreaseCriteria | undefined; + /** *

                                                  The minimum number of things that will be notified of a pending job, per minute, at the start * of the job rollout. This is the initial rate of the rollout.

                                                  @@ -3874,16 +4098,16 @@ export namespace AwsJobExponentialRolloutRate { *

                                                  Configuration for the rollout of OTA updates.

                                                  */ export interface AwsJobExecutionsRolloutConfig { - /** - *

                                                  The maximum number of OTA update job executions started per minute.

                                                  - */ - maximumPerMinute?: number; - /** *

                                                  The rate of increase for a job rollout. This parameter allows you to define an exponential rate * increase for a job rollout.

                                                  */ exponentialRate?: AwsJobExponentialRolloutRate; + + /** + *

                                                  The maximum number of OTA update job executions started per minute.

                                                  + */ + maximumPerMinute?: number; } export namespace AwsJobExecutionsRolloutConfig { @@ -3938,14 +4162,14 @@ export namespace AwsJobTimeoutConfig { */ export interface CodeSigningCertificateChain { /** - *

                                                  The name of the certificate.

                                                  + *

                                                  A base64 encoded binary representation of the code signing certificate chain.

                                                  */ - certificateName?: string; + inlineDocument?: string; /** - *

                                                  A base64 encoded binary representation of the code signing certificate chain.

                                                  + *

                                                  The name of the certificate.

                                                  */ - inlineDocument?: string; + certificateName?: string; } export namespace CodeSigningCertificateChain { @@ -3975,9 +4199,9 @@ export namespace CodeSigningSignature { */ export interface CustomCodeSigning { /** - *

                                                  The signature algorithm used to code sign the file.

                                                  + *

                                                  The signature for the file.

                                                  */ - signatureAlgorithm?: string; + signature?: CodeSigningSignature; /** *

                                                  The certificate chain.

                                                  @@ -3990,9 +4214,9 @@ export interface CustomCodeSigning { hashAlgorithm?: string; /** - *

                                                  The signature for the file.

                                                  + *

                                                  The signature algorithm used to code sign the file.

                                                  */ - signature?: CodeSigningSignature; + signatureAlgorithm?: string; } export namespace CustomCodeSigning { @@ -4048,14 +4272,14 @@ export interface SigningProfileParameter { certificateArn?: string; /** - *

                                                  The location of the code-signing certificate on your device.

                                                  + *

                                                  The hardware platform of your device.

                                                  */ - certificatePathOnDevice?: string; + platform?: string; /** - *

                                                  The hardware platform of your device.

                                                  + *

                                                  The location of the code-signing certificate on your device.

                                                  */ - platform?: string; + certificatePathOnDevice?: string; } export namespace SigningProfileParameter { @@ -4069,14 +4293,14 @@ export namespace SigningProfileParameter { */ export interface StartSigningJobParameter { /** - *

                                                  Describes the code-signing profile.

                                                  + *

                                                  The code-signing profile name.

                                                  */ - signingProfileParameter?: SigningProfileParameter; + signingProfileName?: string; /** - *

                                                  The code-signing profile name.

                                                  + *

                                                  Describes the code-signing profile.

                                                  */ - signingProfileName?: string; + signingProfileParameter?: SigningProfileParameter; /** *

                                                  The location to write the code-signed file.

                                                  @@ -4094,11 +4318,6 @@ export namespace StartSigningJobParameter { *

                                                  Describes the method to use when code signing a file.

                                                  */ export interface CodeSigning { - /** - *

                                                  A custom method for code signing a file.

                                                  - */ - customCodeSigning?: CustomCodeSigning; - /** *

                                                  Describes the code-signing job.

                                                  */ @@ -4108,6 +4327,11 @@ export interface CodeSigning { *

                                                  The ID of the AWSSignerJob which was created to sign the file.

                                                  */ awsSignerJobId?: string; + + /** + *

                                                  A custom method for code signing a file.

                                                  + */ + customCodeSigning?: CustomCodeSigning; } export namespace CodeSigning { @@ -4121,9 +4345,9 @@ export namespace CodeSigning { */ export interface S3Location { /** - *

                                                  The S3 bucket.

                                                  + *

                                                  The S3 key.

                                                  */ - bucket?: string; + key?: string; /** *

                                                  The S3 bucket version.

                                                  @@ -4131,9 +4355,9 @@ export interface S3Location { version?: string; /** - *

                                                  The S3 key.

                                                  + *

                                                  The S3 bucket.

                                                  */ - key?: string; + bucket?: string; } export namespace S3Location { @@ -4147,14 +4371,14 @@ export namespace S3Location { */ export interface _Stream { /** - *

                                                  The ID of a file associated with a stream.

                                                  + *

                                                  The stream ID.

                                                  */ - fileId?: number; + streamId?: string; /** - *

                                                  The stream ID.

                                                  + *

                                                  The ID of a file associated with a stream.

                                                  */ - streamId?: string; + fileId?: number; } export namespace _Stream { @@ -4188,16 +4412,6 @@ export namespace FileLocation { *

                                                  Describes a file to be associated with an OTA update.

                                                  */ export interface OTAUpdateFile { - /** - *

                                                  A list of name/attribute pairs.

                                                  - */ - attributes?: { [key: string]: string }; - - /** - *

                                                  The file version.

                                                  - */ - fileVersion?: string; - /** *

                                                  The location of the updated firmware.

                                                  */ @@ -4208,10 +4422,20 @@ export interface OTAUpdateFile { */ fileName?: string; + /** + *

                                                  A list of name/attribute pairs.

                                                  + */ + attributes?: { [key: string]: string }; + /** *

                                                  The code signing method of the file.

                                                  */ codeSigning?: CodeSigning; + + /** + *

                                                  The file version.

                                                  + */ + fileVersion?: string; } export namespace OTAUpdateFile { @@ -4227,31 +4451,36 @@ export enum Protocol { export interface CreateOTAUpdateRequest { /** - *

                                                  Configuration for the rollout of OTA updates.

                                                  + *

                                                  Metadata which can be used to manage updates.

                                                  */ - awsJobExecutionsRolloutConfig?: AwsJobExecutionsRolloutConfig; + tags?: Tag[]; /** - *

                                                  The IAM role that grants AWS IoT access to the Amazon S3, AWS IoT jobs and AWS Code Signing resources - * to create an OTA update job.

                                                  + *

                                                  Specifies the amount of time each device has to finish its execution of the job. A timer is + * started when the job execution status is set to IN_PROGRESS. If the job execution + * status is not set to another terminal state before the timer expires, it will be automatically + * set to TIMED_OUT.

                                                  */ - roleArn: string | undefined; + awsJobTimeoutConfig?: AwsJobTimeoutConfig; /** - *

                                                  The devices targeted to receive OTA updates.

                                                  + *

                                                  The description of the OTA update.

                                                  */ - targets: string[] | undefined; + description?: string; /** - *

                                                  The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both - * HTTP and MQTT are specified, the target device can choose the protocol.

                                                  + *

                                                  The files to be streamed by the OTA update.

                                                  */ - protocols?: (Protocol | string)[]; + files: OTAUpdateFile[] | undefined; /** - *

                                                  Configuration information for pre-signed URLs.

                                                  + *

                                                  Specifies whether the update will continue to run (CONTINUOUS), or will be complete after all the things + * specified as targets have completed the update (SNAPSHOT). If continuous, the update may also be run on a + * thing when a change is detected in a target. For example, an update will run on a thing when the thing is + * added to a target group, even after the update was completed by all things originally in the group. Valid + * values: CONTINUOUS | SNAPSHOT.

                                                  */ - awsJobPresignedUrlConfig?: AwsJobPresignedUrlConfig; + targetSelection?: TargetSelection | string; /** *

                                                  The criteria that determine when and how a job abort takes place.

                                                  @@ -4259,46 +4488,41 @@ export interface CreateOTAUpdateRequest { awsJobAbortConfig?: AwsJobAbortConfig; /** - *

                                                  A list of additional OTA update parameters which are name-value pairs.

                                                  + *

                                                  The ID of the OTA update to be created.

                                                  */ - additionalParameters?: { [key: string]: string }; + otaUpdateId: string | undefined; /** - *

                                                  The description of the OTA update.

                                                  + *

                                                  The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both + * HTTP and MQTT are specified, the target device can choose the protocol.

                                                  */ - description?: string; + protocols?: (Protocol | string)[]; /** - *

                                                  Specifies the amount of time each device has to finish its execution of the job. A timer is - * started when the job execution status is set to IN_PROGRESS. If the job execution - * status is not set to another terminal state before the timer expires, it will be automatically - * set to TIMED_OUT.

                                                  + *

                                                  The devices targeted to receive OTA updates.

                                                  */ - awsJobTimeoutConfig?: AwsJobTimeoutConfig; + targets: string[] | undefined; /** - *

                                                  The files to be streamed by the OTA update.

                                                  + *

                                                  Configuration information for pre-signed URLs.

                                                  */ - files: OTAUpdateFile[] | undefined; + awsJobPresignedUrlConfig?: AwsJobPresignedUrlConfig; /** - *

                                                  Metadata which can be used to manage updates.

                                                  + *

                                                  The IAM role that grants AWS IoT access to the Amazon S3, AWS IoT jobs and AWS Code Signing resources + * to create an OTA update job.

                                                  */ - tags?: Tag[]; + roleArn: string | undefined; /** - *

                                                  Specifies whether the update will continue to run (CONTINUOUS), or will be complete after all the things - * specified as targets have completed the update (SNAPSHOT). If continuous, the update may also be run on a - * thing when a change is detected in a target. For example, an update will run on a thing when the thing is - * added to a target group, even after the update was completed by all things originally in the group. Valid - * values: CONTINUOUS | SNAPSHOT.

                                                  + *

                                                  Configuration for the rollout of OTA updates.

                                                  */ - targetSelection?: TargetSelection | string; + awsJobExecutionsRolloutConfig?: AwsJobExecutionsRolloutConfig; /** - *

                                                  The ID of the OTA update to be created.

                                                  + *

                                                  A list of additional OTA update parameters which are name-value pairs.

                                                  */ - otaUpdateId: string | undefined; + additionalParameters?: { [key: string]: string }; } export namespace CreateOTAUpdateRequest { @@ -4316,14 +4540,19 @@ export enum OTAUpdateStatus { export interface CreateOTAUpdateResponse { /** - *

                                                  The OTA update ID.

                                                  + *

                                                  The AWS IoT job ID associated with the OTA update.

                                                  */ - otaUpdateId?: string; + awsIotJobId?: string; /** - *

                                                  The AWS IoT job ID associated with the OTA update.

                                                  + *

                                                  The AWS IoT job ARN associated with the OTA update.

                                                  */ - awsIotJobId?: string; + awsIotJobArn?: string; + + /** + *

                                                  The OTA update ID.

                                                  + */ + otaUpdateId?: string; /** *

                                                  The OTA update ARN.

                                                  @@ -4334,11 +4563,6 @@ export interface CreateOTAUpdateResponse { *

                                                  The OTA update status.

                                                  */ otaUpdateStatus?: OTAUpdateStatus | string; - - /** - *

                                                  The AWS IoT job ARN associated with the OTA update.

                                                  - */ - awsIotJobArn?: string; } export namespace CreateOTAUpdateResponse { @@ -4351,6 +4575,17 @@ export namespace CreateOTAUpdateResponse { *

                                                  The input for the CreatePolicy operation.

                                                  */ export interface CreatePolicyRequest { + /** + *

                                                  The JSON document that describes the policy. policyDocument must have a minimum length of 1, with a maximum length of + * 2048, excluding whitespace.

                                                  + */ + policyDocument: string | undefined; + + /** + *

                                                  The policy name.

                                                  + */ + policyName: string | undefined; + /** *

                                                  Metadata which can be used to manage the policy.

                                                  * @@ -4362,17 +4597,6 @@ export interface CreatePolicyRequest { * */ tags?: Tag[]; - - /** - *

                                                  The policy name.

                                                  - */ - policyName: string | undefined; - - /** - *

                                                  The JSON document that describes the policy. policyDocument must have a minimum length of 1, with a maximum length of - * 2048, excluding whitespace.

                                                  - */ - policyDocument: string | undefined; } export namespace CreatePolicyRequest { @@ -4385,6 +4609,11 @@ export namespace CreatePolicyRequest { *

                                                  The output from the CreatePolicy operation.

                                                  */ export interface CreatePolicyResponse { + /** + *

                                                  The policy version ID.

                                                  + */ + policyVersionId?: string; + /** *

                                                  The JSON document that describes the policy.

                                                  */ @@ -4395,11 +4624,6 @@ export interface CreatePolicyResponse { */ policyName?: string; - /** - *

                                                  The policy version ID.

                                                  - */ - policyVersionId?: string; - /** *

                                                  The policy ARN.

                                                  */ @@ -4435,11 +4659,9 @@ export namespace MalformedPolicyException { */ export interface CreatePolicyVersionRequest { /** - *

                                                  Specifies whether the policy version is set as the default. When this parameter is - * true, the new policy version becomes the operative version (that is, the version that is in - * effect for the certificates to which the policy is attached).

                                                  + *

                                                  The policy name.

                                                  */ - setAsDefault?: boolean; + policyName: string | undefined; /** *

                                                  The JSON document that describes the policy. Minimum length of 1. Maximum length of @@ -4448,9 +4670,11 @@ export interface CreatePolicyVersionRequest { policyDocument: string | undefined; /** - *

                                                  The policy name.

                                                  + *

                                                  Specifies whether the policy version is set as the default. When this parameter is + * true, the new policy version becomes the operative version (that is, the version that is in + * effect for the certificates to which the policy is attached).

                                                  */ - policyName: string | undefined; + setAsDefault?: boolean; } export namespace CreatePolicyVersionRequest { @@ -4522,11 +4746,6 @@ export namespace CreateProvisioningClaimRequest { } export interface CreateProvisioningClaimResponse { - /** - *

                                                  The provisioning claim certificate.

                                                  - */ - certificatePem?: string; - /** *

                                                  The provisioning claim expiration time.

                                                  */ @@ -4537,6 +4756,11 @@ export interface CreateProvisioningClaimResponse { */ certificateId?: string; + /** + *

                                                  The provisioning claim certificate.

                                                  + */ + certificatePem?: string; + /** *

                                                  The provisioning claim key pair.

                                                  */ @@ -4577,16 +4801,6 @@ export namespace ProvisioningHook { } export interface CreateProvisioningTemplateRequest { - /** - *

                                                  The description of the fleet provisioning template.

                                                  - */ - description?: string; - - /** - *

                                                  True to enable the fleet provisioning template, otherwise false.

                                                  - */ - enabled?: boolean; - /** *

                                                  The role ARN for the role associated with the fleet provisioning template. This IoT role * grants permission to provision a device.

                                                  @@ -4605,20 +4819,30 @@ export interface CreateProvisioningTemplateRequest { */ tags?: Tag[]; + /** + *

                                                  True to enable the fleet provisioning template, otherwise false.

                                                  + */ + enabled?: boolean; + + /** + *

                                                  The JSON formatted contents of the fleet provisioning template.

                                                  + */ + templateBody: string | undefined; + /** *

                                                  Creates a pre-provisioning hook template.

                                                  */ preProvisioningHook?: ProvisioningHook; /** - *

                                                  The name of the fleet provisioning template.

                                                  + *

                                                  The description of the fleet provisioning template.

                                                  */ - templateName: string | undefined; + description?: string; /** - *

                                                  The JSON formatted contents of the fleet provisioning template.

                                                  + *

                                                  The name of the fleet provisioning template.

                                                  */ - templateBody: string | undefined; + templateName: string | undefined; } export namespace CreateProvisioningTemplateRequest { @@ -4629,9 +4853,9 @@ export namespace CreateProvisioningTemplateRequest { export interface CreateProvisioningTemplateResponse { /** - *

                                                  The name of the fleet provisioning template.

                                                  + *

                                                  The ARN that identifies the provisioning template.

                                                  */ - templateName?: string; + templateArn?: string; /** *

                                                  The default version of the fleet provisioning template.

                                                  @@ -4639,9 +4863,9 @@ export interface CreateProvisioningTemplateResponse { defaultVersionId?: number; /** - *

                                                  The ARN that identifies the provisioning template.

                                                  + *

                                                  The name of the fleet provisioning template.

                                                  */ - templateArn?: string; + templateName?: string; } export namespace CreateProvisioningTemplateResponse { @@ -4651,11 +4875,6 @@ export namespace CreateProvisioningTemplateResponse { } export interface CreateProvisioningTemplateVersionRequest { - /** - *

                                                  Sets a fleet provision template version as the default version.

                                                  - */ - setAsDefault?: boolean; - /** *

                                                  The name of the fleet provisioning template.

                                                  */ @@ -4665,6 +4884,11 @@ export interface CreateProvisioningTemplateVersionRequest { *

                                                  The JSON formatted contents of the fleet provisioning template.

                                                  */ templateBody: string | undefined; + + /** + *

                                                  Sets a fleet provision template version as the default version.

                                                  + */ + setAsDefault?: boolean; } export namespace CreateProvisioningTemplateVersionRequest { @@ -4674,12 +4898,6 @@ export namespace CreateProvisioningTemplateVersionRequest { } export interface CreateProvisioningTemplateVersionResponse { - /** - *

                                                  True if the fleet provisioning template version is the default version, otherwise - * false.

                                                  - */ - isDefaultVersion?: boolean; - /** *

                                                  The name of the fleet provisioning template.

                                                  */ @@ -4690,6 +4908,12 @@ export interface CreateProvisioningTemplateVersionResponse { */ versionId?: number; + /** + *

                                                  True if the fleet provisioning template version is the default version, otherwise + * false.

                                                  + */ + isDefaultVersion?: boolean; + /** *

                                                  The ARN that identifies the provisioning template.

                                                  */ @@ -4704,9 +4928,16 @@ export namespace CreateProvisioningTemplateVersionResponse { export interface CreateRoleAliasRequest { /** - *

                                                  The role ARN.

                                                  + *

                                                  Metadata which can be used to manage the role alias.

                                                  + * + *

                                                  For URI Request parameters use format: ...key1=value1&key2=value2...

                                                  + *

                                                  For the CLI command-line parameter use format: &&tags + * "key1=value1&key2=value2..."

                                                  + *

                                                  For the cli-input-json file use format: "tags": + * "key1=value1&key2=value2..."

                                                  + *
                                                  */ - roleArn: string | undefined; + tags?: Tag[]; /** *

                                                  How long (in seconds) the credentials will be valid.

                                                  @@ -4720,16 +4951,9 @@ export interface CreateRoleAliasRequest { roleAlias: string | undefined; /** - *

                                                  Metadata which can be used to manage the role alias.

                                                  - * - *

                                                  For URI Request parameters use format: ...key1=value1&key2=value2...

                                                  - *

                                                  For the CLI command-line parameter use format: &&tags - * "key1=value1&key2=value2..."

                                                  - *

                                                  For the cli-input-json file use format: "tags": - * "key1=value1&key2=value2..."

                                                  - *
                                                  + *

                                                  The role ARN.

                                                  */ - tags?: Tag[]; + roleArn: string | undefined; } export namespace CreateRoleAliasRequest { @@ -4767,6 +4991,14 @@ export enum DayOfWeek { } export interface CreateScheduledAuditRequest { + /** + *

                                                  Which checks are performed during the scheduled audit. Checks must be enabled + * for your account. (Use DescribeAccountAuditConfiguration to see the list + * of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + * to select which checks are enabled.)

                                                  + */ + targetCheckNames: string[] | undefined; + /** *

                                                  The day of the week on which the scheduled audit takes place. Can be one of * "SUN", "MON", "TUE", "WED", "THU", "FRI", or "SAT". This field is required if the @@ -4774,6 +5006,14 @@ export interface CreateScheduledAuditRequest { */ dayOfWeek?: DayOfWeek | string; + /** + *

                                                  The day of the month on which the scheduled audit takes place. Can be "1" + * through "31" or "LAST". This field is required if the "frequency" parameter is + * set to "MONTHLY". If days 29-31 are specified, and the month does not have that many + * days, the audit takes place on the "LAST" day of the month.

                                                  + */ + dayOfMonth?: string; + /** *

                                                  Metadata that can be used to manage the scheduled audit.

                                                  */ @@ -4786,26 +5026,10 @@ export interface CreateScheduledAuditRequest { */ frequency: AuditFrequency | string | undefined; - /** - *

                                                  The day of the month on which the scheduled audit takes place. Can be "1" - * through "31" or "LAST". This field is required if the "frequency" parameter is - * set to "MONTHLY". If days 29-31 are specified, and the month does not have that many - * days, the audit takes place on the "LAST" day of the month.

                                                  - */ - dayOfMonth?: string; - /** *

                                                  The name you want to give to the scheduled audit. (Max. 128 chars)

                                                  */ scheduledAuditName: string | undefined; - - /** - *

                                                  Which checks are performed during the scheduled audit. Checks must be enabled - * for your account. (Use DescribeAccountAuditConfiguration to see the list - * of all checks, including those that are enabled or use UpdateAccountAuditConfiguration - * to select which checks are enabled.)

                                                  - */ - targetCheckNames: string[] | undefined; } export namespace CreateScheduledAuditRequest { @@ -4829,10 +5053,9 @@ export namespace CreateScheduledAuditResponse { export interface CreateSecurityProfileRequest { /** - *

                                                  Specifies the destinations to which alerts are sent. (Alerts are always sent to the - * console.) Alerts are generated when a device (thing) violates a behavior.

                                                  + *

                                                  The name you are giving to the security profile.

                                                  */ - alertTargets?: { [key: string]: AlertTarget }; + securityProfileName: string | undefined; /** *

                                                  Metadata that can be used to manage the security profile.

                                                  @@ -4840,19 +5063,15 @@ export interface CreateSecurityProfileRequest { tags?: Tag[]; /** - *

                                                  A list of metrics whose data is retained (stored). By default, data is retained + *

                                                  + * Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead. + *

                                                  + *

                                                  A list of metrics whose data is retained (stored). By default, data is retained * for any metric used in the profile's behaviors, but it is also retained for * any metric specified here.

                                                  - *

                                                  - * Note: This API field is deprecated. Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

                                                  */ additionalMetricsToRetain?: string[]; - /** - *

                                                  The name you are giving to the security profile.

                                                  - */ - securityProfileName: string | undefined; - /** *

                                                  A description of the security profile.

                                                  */ @@ -4867,6 +5086,12 @@ export interface CreateSecurityProfileRequest { *

                                                  Specifies the behaviors that, when violated by a device (thing), cause an alert.

                                                  */ behaviors?: Behavior[]; + + /** + *

                                                  Specifies the destinations to which alerts are sent. (Alerts are always sent to the + * console.) Alerts are generated when a device (thing) violates a behavior.

                                                  + */ + alertTargets?: { [key: string]: AlertTarget }; } export namespace CreateSecurityProfileRequest { @@ -4916,14 +5141,9 @@ export namespace StreamFile { export interface CreateStreamRequest { /** - *

                                                  The stream ID.

                                                  - */ - streamId: string | undefined; - - /** - *

                                                  A description of the stream.

                                                  + *

                                                  An IAM role that allows the IoT service principal assumes to access your S3 files.

                                                  */ - description?: string; + roleArn: string | undefined; /** *

                                                  Metadata which can be used to manage streams.

                                                  @@ -4931,14 +5151,19 @@ export interface CreateStreamRequest { tags?: Tag[]; /** - *

                                                  An IAM role that allows the IoT service principal assumes to access your S3 files.

                                                  + *

                                                  The stream ID.

                                                  */ - roleArn: string | undefined; + streamId: string | undefined; /** *

                                                  The files to stream.

                                                  */ files: StreamFile[] | undefined; + + /** + *

                                                  A description of the stream.

                                                  + */ + description?: string; } export namespace CreateStreamRequest { @@ -4949,24 +5174,24 @@ export namespace CreateStreamRequest { export interface CreateStreamResponse { /** - *

                                                  The stream ARN.

                                                  + *

                                                  A description of the stream.

                                                  */ - streamArn?: string; + description?: string; /** - *

                                                  The stream ID.

                                                  + *

                                                  The version of the stream.

                                                  */ - streamId?: string; + streamVersion?: number; /** - *

                                                  A description of the stream.

                                                  + *

                                                  The stream ARN.

                                                  */ - description?: string; + streamArn?: string; /** - *

                                                  The version of the stream.

                                                  + *

                                                  The stream ID.

                                                  */ - streamVersion?: number; + streamId?: string; } export namespace CreateStreamResponse { @@ -5017,14 +5242,14 @@ export namespace CreateThingRequest { */ export interface CreateThingResponse { /** - *

                                                  The ARN of the new thing.

                                                  + *

                                                  The thing ID.

                                                  */ - thingArn?: string; + thingId?: string; /** - *

                                                  The thing ID.

                                                  + *

                                                  The ARN of the new thing.

                                                  */ - thingId?: string; + thingArn?: string; /** *

                                                  The name of the new thing.

                                                  @@ -5040,14 +5265,14 @@ export namespace CreateThingResponse { export interface CreateThingGroupRequest { /** - *

                                                  The name of the parent thing group.

                                                  + *

                                                  Metadata which can be used to manage the thing group.

                                                  */ - parentGroupName?: string; + tags?: Tag[]; /** - *

                                                  Metadata which can be used to manage the thing group.

                                                  + *

                                                  The name of the parent thing group.

                                                  */ - tags?: Tag[]; + parentGroupName?: string; /** *

                                                  The thing group properties.

                                                  @@ -5068,9 +5293,9 @@ export namespace CreateThingGroupRequest { export interface CreateThingGroupResponse { /** - *

                                                  The thing group ID.

                                                  + *

                                                  The thing group name.

                                                  */ - thingGroupId?: string; + thingGroupName?: string; /** *

                                                  The thing group ARN.

                                                  @@ -5078,9 +5303,9 @@ export interface CreateThingGroupResponse { thingGroupArn?: string; /** - *

                                                  The thing group name.

                                                  + *

                                                  The thing group ID.

                                                  */ - thingGroupName?: string; + thingGroupId?: string; } export namespace CreateThingGroupResponse { @@ -5115,6 +5340,11 @@ export namespace ThingTypeProperties { *

                                                  The input for the CreateThingType operation.

                                                  */ export interface CreateThingTypeRequest { + /** + *

                                                  The name of the thing type.

                                                  + */ + thingTypeName: string | undefined; + /** *

                                                  The ThingTypeProperties for the thing type to create. It contains information about * the new thing type including a description, and a list of searchable thing attribute @@ -5122,11 +5352,6 @@ export interface CreateThingTypeRequest { */ thingTypeProperties?: ThingTypeProperties; - /** - *

                                                  The name of the thing type.

                                                  - */ - thingTypeName: string | undefined; - /** *

                                                  Metadata which can be used to manage the thing type.

                                                  */ @@ -5143,11 +5368,6 @@ export namespace CreateThingTypeRequest { *

                                                  The output of the CreateThingType operation.

                                                  */ export interface CreateThingTypeResponse { - /** - *

                                                  The thing type ID.

                                                  - */ - thingTypeId?: string; - /** *

                                                  The name of the thing type.

                                                  */ @@ -5157,6 +5377,11 @@ export interface CreateThingTypeResponse { *

                                                  The Amazon Resource Name (ARN) of the thing type.

                                                  */ thingTypeArn?: string; + + /** + *

                                                  The thing type ID.

                                                  + */ + thingTypeId?: string; } export namespace CreateThingTypeResponse { @@ -5170,15 +5395,14 @@ export namespace CreateThingTypeResponse { */ export interface TopicRulePayload { /** - *

                                                  The SQL statement used to query the topic. For more information, see AWS IoT SQL - * Reference in the AWS IoT Developer Guide.

                                                  + *

                                                  The action to take when an error occurs.

                                                  */ - sql: string | undefined; + errorAction?: Action; /** - *

                                                  The version of the SQL rules engine to use when evaluating the rule.

                                                  + *

                                                  The description of the rule.

                                                  */ - awsIotSqlVersion?: string; + description?: string; /** *

                                                  Specifies whether the rule is disabled.

                                                  @@ -5186,19 +5410,20 @@ export interface TopicRulePayload { ruleDisabled?: boolean; /** - *

                                                  The actions associated with the rule.

                                                  + *

                                                  The version of the SQL rules engine to use when evaluating the rule.

                                                  */ - actions: Action[] | undefined; + awsIotSqlVersion?: string; /** - *

                                                  The action to take when an error occurs.

                                                  + *

                                                  The SQL statement used to query the topic. For more information, see AWS IoT SQL + * Reference in the AWS IoT Developer Guide.

                                                  */ - errorAction?: Action; + sql: string | undefined; /** - *

                                                  The description of the rule.

                                                  + *

                                                  The actions associated with the rule.

                                                  */ - description?: string; + actions: Action[] | undefined; } export namespace TopicRulePayload { @@ -5211,16 +5436,6 @@ export namespace TopicRulePayload { *

                                                  The input for the CreateTopicRule operation.

                                                  */ export interface CreateTopicRuleRequest { - /** - *

                                                  The rule payload.

                                                  - */ - topicRulePayload: TopicRulePayload | undefined; - - /** - *

                                                  The name of the rule.

                                                  - */ - ruleName: string | undefined; - /** *

                                                  Metadata which can be used to manage the topic rule.

                                                  * @@ -5232,6 +5447,16 @@ export interface CreateTopicRuleRequest { * */ tags?: string; + + /** + *

                                                  The rule payload.

                                                  + */ + topicRulePayload: TopicRulePayload | undefined; + + /** + *

                                                  The name of the rule.

                                                  + */ + ruleName: string | undefined; } export namespace CreateTopicRuleRequest { @@ -5331,16 +5556,21 @@ export enum TopicRuleDestinationStatus { *

                                                  A topic rule destination.

                                                  */ export interface TopicRuleDestination { + /** + *

                                                  Additional details or reason why the topic rule destination is in the current + * status.

                                                  + */ + statusReason?: string; + /** *

                                                  The topic rule destination URL.

                                                  */ arn?: string; /** - *

                                                  Additional details or reason why the topic rule destination is in the current - * status.

                                                  + *

                                                  Properties of the HTTP URL.

                                                  */ - statusReason?: string; + httpUrlProperties?: HttpUrlDestinationProperties; /** *

                                                  The status of the topic rule destination. Valid values are:

                                                  @@ -5377,11 +5607,6 @@ export interface TopicRuleDestination { * */ status?: TopicRuleDestinationStatus | string; - - /** - *

                                                  Properties of the HTTP URL.

                                                  - */ - httpUrlProperties?: HttpUrlDestinationProperties; } export namespace TopicRuleDestination { @@ -5424,6 +5649,35 @@ export namespace DeleteAccountAuditConfigurationResponse { }); } +export interface DeleteAuditSuppressionRequest { + /** + *

                                                  An audit check name. Checks must be enabled + * for your account. (Use DescribeAccountAuditConfiguration to see the list + * of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + * to select which checks are enabled.)

                                                  + */ + checkName: string | undefined; + + /** + *

                                                  Information that identifies the noncompliant resource.

                                                  + */ + resourceIdentifier: ResourceIdentifier | undefined; +} + +export namespace DeleteAuditSuppressionRequest { + export const filterSensitiveLog = (obj: DeleteAuditSuppressionRequest): any => ({ + ...obj, + }); +} + +export interface DeleteAuditSuppressionResponse {} + +export namespace DeleteAuditSuppressionResponse { + export const filterSensitiveLog = (obj: DeleteAuditSuppressionResponse): any => ({ + ...obj, + }); +} + export interface DeleteAuthorizerRequest { /** *

                                                  The name of the authorizer to delete.

                                                  @@ -5606,14 +5860,14 @@ export namespace DeleteDomainConfigurationResponse { export interface DeleteDynamicThingGroupRequest { /** - *

                                                  The expected version of the dynamic thing group to delete.

                                                  + *

                                                  The name of the dynamic thing group to delete.

                                                  */ - expectedVersion?: number; + thingGroupName: string | undefined; /** - *

                                                  The name of the dynamic thing group to delete.

                                                  + *

                                                  The expected version of the dynamic thing group to delete.

                                                  */ - thingGroupName: string | undefined; + expectedVersion?: number; } export namespace DeleteDynamicThingGroupRequest { @@ -5631,6 +5885,14 @@ export namespace DeleteDynamicThingGroupResponse { } export interface DeleteJobRequest { + /** + *

                                                  The ID of the job to be deleted.

                                                  + *

                                                  After a job deletion is completed, you may reuse this jobId when you create a new job. + * However, this is not recommended, and you must ensure that your devices are not using the + * jobId to refer to the deleted job.

                                                  + */ + jobId: string | undefined; + /** *

                                                  (Optional) When true, you can delete a job which is "IN_PROGRESS". Otherwise, you can * only delete a job which is in a terminal state ("COMPLETED" or "CANCELED") or an exception @@ -5643,14 +5905,6 @@ export interface DeleteJobRequest { * */ force?: boolean; - - /** - *

                                                  The ID of the job to be deleted.

                                                  - *

                                                  After a job deletion is completed, you may reuse this jobId when you create a new job. - * However, this is not recommended, and you must ensure that your devices are not using the - * jobId to refer to the deleted job.

                                                  - */ - jobId: string | undefined; } export namespace DeleteJobRequest { @@ -5665,6 +5919,11 @@ export interface DeleteJobExecutionRequest { */ jobId: string | undefined; + /** + *

                                                  The name of the thing whose job execution will be deleted.

                                                  + */ + thingName: string | undefined; + /** *

                                                  (Optional) When true, you can delete a job execution which is "IN_PROGRESS". Otherwise, * you can only delete a job execution which is in a terminal state ("SUCCEEDED", "FAILED", @@ -5677,11 +5936,6 @@ export interface DeleteJobExecutionRequest { */ force?: boolean; - /** - *

                                                  The name of the thing whose job execution will be deleted.

                                                  - */ - thingName: string | undefined; - /** *

                                                  The ID of the job execution to be deleted. The executionNumber refers to the * execution of a particular job on a particular device.

                                                  @@ -5720,9 +5974,9 @@ export namespace DeleteMitigationActionResponse { export interface DeleteOTAUpdateRequest { /** - *

                                                  Specifies if the stream associated with an OTA update should be deleted when the OTA update is deleted.

                                                  + *

                                                  The ID of the OTA update to delete.

                                                  */ - deleteStream?: boolean; + otaUpdateId: string | undefined; /** *

                                                  Specifies if the AWS Job associated with the OTA update should be deleted when the OTA update is deleted.

                                                  @@ -5730,9 +5984,9 @@ export interface DeleteOTAUpdateRequest { forceDeleteAWSJob?: boolean; /** - *

                                                  The ID of the OTA update to delete.

                                                  + *

                                                  Specifies if the stream associated with an OTA update should be deleted when the OTA update is deleted.

                                                  */ - otaUpdateId: string | undefined; + deleteStream?: boolean; } export namespace DeleteOTAUpdateRequest { @@ -5770,14 +6024,14 @@ export namespace DeletePolicyRequest { */ export interface DeletePolicyVersionRequest { /** - *

                                                  The policy version ID.

                                                  + *

                                                  The name of the policy.

                                                  */ - policyVersionId: string | undefined; + policyName: string | undefined; /** - *

                                                  The name of the policy.

                                                  + *

                                                  The policy version ID.

                                                  */ - policyName: string | undefined; + policyVersionId: string | undefined; } export namespace DeletePolicyVersionRequest { @@ -5898,17 +6152,17 @@ export namespace DeleteScheduledAuditResponse { } export interface DeleteSecurityProfileRequest { + /** + *

                                                  The name of the security profile to be deleted.

                                                  + */ + securityProfileName: string | undefined; + /** *

                                                  The expected version of the security profile. A new version is generated whenever * the security profile is updated. If you specify a value that is different from the actual * version, a VersionConflictException is thrown.

                                                  */ expectedVersion?: number; - - /** - *

                                                  The name of the security profile to be deleted.

                                                  - */ - securityProfileName: string | undefined; } export namespace DeleteSecurityProfileRequest { @@ -6078,15 +6332,15 @@ export enum LogTargetType { export interface DeleteV2LoggingLevelRequest { /** - *

                                                  The type of resource for which you are configuring logging. Must be - * THING_Group.

                                                  + *

                                                  The name of the resource for which you are configuring logging.

                                                  */ - targetType: LogTargetType | string | undefined; + targetName: string | undefined; /** - *

                                                  The name of the resource for which you are configuring logging.

                                                  + *

                                                  The type of resource for which you are configuring logging. Must be + * THING_Group.

                                                  */ - targetName: string | undefined; + targetType: LogTargetType | string | undefined; } export namespace DeleteV2LoggingLevelRequest { @@ -6207,11 +6461,6 @@ export namespace DescribeAuditMitigationActionsTaskRequest { *

                                                  Describes which changes should be applied as part of a mitigation action.

                                                  */ export interface MitigationAction { - /** - *

                                                  The set of parameters for this mitigation action. The parameters vary, depending on the kind of action you apply.

                                                  - */ - actionParams?: MitigationActionParams; - /** *

                                                  A unique identifier for the mitigation action.

                                                  */ @@ -6222,6 +6471,11 @@ export interface MitigationAction { */ roleArn?: string; + /** + *

                                                  The set of parameters for this mitigation action. The parameters vary, depending on the kind of action you apply.

                                                  + */ + actionParams?: MitigationActionParams; + /** *

                                                  A user-friendly name for the mitigation action.

                                                  */ @@ -6235,344 +6489,166 @@ export namespace MitigationAction { } export interface DescribeAuditMitigationActionsTaskResponse { - /** - *

                                                  Specifies the mitigation actions that should be applied to specific audit checks.

                                                  - */ - auditCheckToActionsMapping?: { [key: string]: string[] }; - - /** - *

                                                  The date and time when the task was completed or canceled.

                                                  - */ - endTime?: Date; - - /** - *

                                                  Identifies the findings to which the mitigation actions are applied. This can be by audit checks, by audit task, or a set of findings.

                                                  - */ - target?: AuditMitigationActionsTaskTarget; - /** *

                                                  Aggregate counts of the results when the mitigation tasks were applied to the findings for this audit mitigation actions task.

                                                  */ taskStatistics?: { [key: string]: TaskStatisticsForAuditCheck }; /** - *

                                                  The current status of the task.

                                                  - */ - taskStatus?: AuditMitigationActionsTaskStatus | string; - - /** - *

                                                  Specifies the mitigation actions and their parameters that are applied as part of this task.

                                                  + *

                                                  The date and time when the task was completed or canceled.

                                                  */ - actionsDefinition?: MitigationAction[]; + endTime?: Date; /** *

                                                  The date and time when the task was started.

                                                  */ startTime?: Date; -} - -export namespace DescribeAuditMitigationActionsTaskResponse { - export const filterSensitiveLog = (obj: DescribeAuditMitigationActionsTaskResponse): any => ({ - ...obj, - }); -} - -export interface DescribeAuditTaskRequest { - /** - *

                                                  The ID of the audit whose information you want to get.

                                                  - */ - taskId: string | undefined; -} - -export namespace DescribeAuditTaskRequest { - export const filterSensitiveLog = (obj: DescribeAuditTaskRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                  Statistics for the checks performed during the audit.

                                                  - */ -export interface TaskStatistics { - /** - *

                                                  The number of checks in this audit.

                                                  - */ - totalChecks?: number; - - /** - *

                                                  The number of checks that found compliant resources.

                                                  - */ - compliantChecks?: number; - - /** - *

                                                  The number of checks that found noncompliant resources.

                                                  - */ - nonCompliantChecks?: number; - - /** - *

                                                  The number of checks.

                                                  - */ - failedChecks?: number; - - /** - *

                                                  The number of checks waiting for data collection.

                                                  - */ - waitingForDataCollectionChecks?: number; - - /** - *

                                                  The number of checks in progress.

                                                  - */ - inProgressChecks?: number; - - /** - *

                                                  The number of checks that did not run because the audit was canceled.

                                                  - */ - canceledChecks?: number; -} - -export namespace TaskStatistics { - export const filterSensitiveLog = (obj: TaskStatistics): any => ({ - ...obj, - }); -} - -export interface DescribeAuditTaskResponse { - /** - *

                                                  Detailed information about each check performed during this audit.

                                                  - */ - auditDetails?: { [key: string]: AuditCheckDetails }; - - /** - *

                                                  The status of the audit: one of "IN_PROGRESS", "COMPLETED", - * "FAILED", or "CANCELED".

                                                  - */ - taskStatus?: AuditTaskStatus | string; - - /** - *

                                                  The name of the scheduled audit (only if the audit was a scheduled audit).

                                                  - */ - scheduledAuditName?: string; - - /** - *

                                                  The type of audit: "ON_DEMAND_AUDIT_TASK" or "SCHEDULED_AUDIT_TASK".

                                                  - */ - taskType?: AuditTaskType | string; /** - *

                                                  Statistical information about the audit.

                                                  + *

                                                  Specifies the mitigation actions and their parameters that are applied as part of this task.

                                                  */ - taskStatistics?: TaskStatistics; + actionsDefinition?: MitigationAction[]; /** - *

                                                  The time the audit started.

                                                  + *

                                                  Identifies the findings to which the mitigation actions are applied. This can be by audit checks, by audit task, or a set of findings.

                                                  */ - taskStartTime?: Date; -} - -export namespace DescribeAuditTaskResponse { - export const filterSensitiveLog = (obj: DescribeAuditTaskResponse): any => ({ - ...obj, - }); -} + target?: AuditMitigationActionsTaskTarget; -export interface DescribeAuthorizerRequest { /** - *

                                                  The name of the authorizer to describe.

                                                  + *

                                                  Specifies the mitigation actions that should be applied to specific audit checks.

                                                  */ - authorizerName: string | undefined; -} - -export namespace DescribeAuthorizerRequest { - export const filterSensitiveLog = (obj: DescribeAuthorizerRequest): any => ({ - ...obj, - }); -} + auditCheckToActionsMapping?: { [key: string]: string[] }; -export interface DescribeAuthorizerResponse { /** - *

                                                  The authorizer description.

                                                  + *

                                                  The current status of the task.

                                                  */ - authorizerDescription?: AuthorizerDescription; + taskStatus?: AuditMitigationActionsTaskStatus | string; } -export namespace DescribeAuthorizerResponse { - export const filterSensitiveLog = (obj: DescribeAuthorizerResponse): any => ({ +export namespace DescribeAuditMitigationActionsTaskResponse { + export const filterSensitiveLog = (obj: DescribeAuditMitigationActionsTaskResponse): any => ({ ...obj, }); } -export interface DescribeBillingGroupRequest { +export interface DescribeAuditSuppressionRequest { /** - *

                                                  The name of the billing group.

                                                  + *

                                                  Information that identifies the noncompliant resource.

                                                  */ - billingGroupName: string | undefined; -} - -export namespace DescribeBillingGroupRequest { - export const filterSensitiveLog = (obj: DescribeBillingGroupRequest): any => ({ - ...obj, - }); -} + resourceIdentifier: ResourceIdentifier | undefined; -/** - *

                                                  Additional information about the billing group.

                                                  - */ -export interface BillingGroupMetadata { /** - *

                                                  The date the billing group was created.

                                                  + *

                                                  An audit check name. Checks must be enabled + * for your account. (Use DescribeAccountAuditConfiguration to see the list + * of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + * to select which checks are enabled.)

                                                  */ - creationDate?: Date; + checkName: string | undefined; } -export namespace BillingGroupMetadata { - export const filterSensitiveLog = (obj: BillingGroupMetadata): any => ({ +export namespace DescribeAuditSuppressionRequest { + export const filterSensitiveLog = (obj: DescribeAuditSuppressionRequest): any => ({ ...obj, }); } -export interface DescribeBillingGroupResponse { - /** - *

                                                  The version of the billing group.

                                                  - */ - version?: number; - +export interface DescribeAuditSuppressionResponse { /** - *

                                                  The properties of the billing group.

                                                  - */ - billingGroupProperties?: BillingGroupProperties; - - /** - *

                                                  Additional information about the billing group.

                                                  + *

                                                  Information that identifies the noncompliant resource.

                                                  */ - billingGroupMetadata?: BillingGroupMetadata; + resourceIdentifier?: ResourceIdentifier; /** - *

                                                  The ID of the billing group.

                                                  + *

                                                  + * The description of the audit suppression. + *

                                                  */ - billingGroupId?: string; + description?: string; /** - *

                                                  The name of the billing group.

                                                  + *

                                                  + * Indicates whether a suppression should exist indefinitely or not. + *

                                                  */ - billingGroupName?: string; + suppressIndefinitely?: boolean; /** - *

                                                  The ARN of the billing group.

                                                  + *

                                                  + * The epoch timestamp in seconds at which this suppression expires. + *

                                                  */ - billingGroupArn?: string; -} - -export namespace DescribeBillingGroupResponse { - export const filterSensitiveLog = (obj: DescribeBillingGroupResponse): any => ({ - ...obj, - }); -} + expirationDate?: Date; -/** - *

                                                  The input for the DescribeCACertificate operation.

                                                  - */ -export interface DescribeCACertificateRequest { /** - *

                                                  The CA certificate identifier.

                                                  + *

                                                  An audit check name. Checks must be enabled + * for your account. (Use DescribeAccountAuditConfiguration to see the list + * of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + * to select which checks are enabled.)

                                                  */ - certificateId: string | undefined; + checkName?: string; } -export namespace DescribeCACertificateRequest { - export const filterSensitiveLog = (obj: DescribeCACertificateRequest): any => ({ +export namespace DescribeAuditSuppressionResponse { + export const filterSensitiveLog = (obj: DescribeAuditSuppressionResponse): any => ({ ...obj, }); } -export enum CACertificateStatus { - ACTIVE = "ACTIVE", - INACTIVE = "INACTIVE", -} - -/** - *

                                                  When the certificate is valid.

                                                  - */ -export interface CertificateValidity { - /** - *

                                                  The certificate is not valid after this date.

                                                  - */ - notAfter?: Date; - +export interface DescribeAuditTaskRequest { /** - *

                                                  The certificate is not valid before this date.

                                                  + *

                                                  The ID of the audit whose information you want to get.

                                                  */ - notBefore?: Date; + taskId: string | undefined; } -export namespace CertificateValidity { - export const filterSensitiveLog = (obj: CertificateValidity): any => ({ +export namespace DescribeAuditTaskRequest { + export const filterSensitiveLog = (obj: DescribeAuditTaskRequest): any => ({ ...obj, }); } /** - *

                                                  Describes a CA certificate.

                                                  + *

                                                  Statistics for the checks performed during the audit.

                                                  */ -export interface CACertificateDescription { - /** - *

                                                  When the CA certificate is valid.

                                                  - */ - validity?: CertificateValidity; - - /** - *

                                                  The status of a CA certificate.

                                                  - */ - status?: CACertificateStatus | string; - - /** - *

                                                  The date the CA certificate was created.

                                                  - */ - creationDate?: Date; - - /** - *

                                                  The owner of the CA certificate.

                                                  - */ - ownedBy?: string; - +export interface TaskStatistics { /** - *

                                                  The customer version of the CA certificate.

                                                  + *

                                                  The number of checks that found noncompliant resources.

                                                  */ - customerVersion?: number; + nonCompliantChecks?: number; /** - *

                                                  Whether the CA certificate configured for auto registration of device certificates. - * Valid values are "ENABLE" and "DISABLE"

                                                  + *

                                                  The number of checks in progress.

                                                  */ - autoRegistrationStatus?: AutoRegistrationStatus | string; + inProgressChecks?: number; /** - *

                                                  The CA certificate ARN.

                                                  + *

                                                  The number of checks waiting for data collection.

                                                  */ - certificateArn?: string; + waitingForDataCollectionChecks?: number; /** - *

                                                  The CA certificate data, in PEM format.

                                                  + *

                                                  The number of checks.

                                                  */ - certificatePem?: string; + failedChecks?: number; /** - *

                                                  The CA certificate ID.

                                                  + *

                                                  The number of checks that did not run because the audit was canceled.

                                                  */ - certificateId?: string; + canceledChecks?: number; /** - *

                                                  The date the CA certificate was last modified.

                                                  + *

                                                  The number of checks that found compliant resources.

                                                  */ - lastModifiedDate?: Date; + compliantChecks?: number; /** - *

                                                  The generation ID of the CA certificate.

                                                  + *

                                                  The number of checks in this audit.

                                                  */ - generationId?: string; + totalChecks?: number; } -export namespace CACertificateDescription { - export const filterSensitiveLog = (obj: CACertificateDescription): any => ({ +export namespace TaskStatistics { + export const filterSensitiveLog = (obj: TaskStatistics): any => ({ ...obj, }); } diff --git a/clients/client-iot/models/models_1.ts b/clients/client-iot/models/models_1.ts index 85bb0e1aaf34..c63c97744f09 100644 --- a/clients/client-iot/models/models_1.ts +++ b/clients/client-iot/models/models_1.ts @@ -3,7 +3,7 @@ import { Action, ActiveViolation, AlertTarget, - AuditCheckConfiguration, + AuditCheckDetails, AuditFinding, AuditFrequency, AuditMitigationActionExecutionMetadata, @@ -11,7 +11,7 @@ import { AuditMitigationActionsTaskMetadata, AuditMitigationActionsTaskStatus, AuditMitigationActionsTaskTarget, - AuditNotificationTarget, + AuditSuppression, AuditTaskMetadata, AuditTaskStatus, AuditTaskType, @@ -21,12 +21,11 @@ import { AuthorizerDescription, AuthorizerStatus, AuthorizerSummary, + AutoRegistrationStatus, AwsJobExecutionsRolloutConfig, AwsJobPresignedUrlConfig, Behavior, - CACertificateDescription, - CACertificateStatus, - CertificateValidity, + BillingGroupProperties, DayOfWeek, DimensionType, JobExecutionsRolloutConfig, @@ -46,6 +45,7 @@ import { StreamFile, Tag, TargetSelection, + TaskStatistics, ThingGroupProperties, ThingTypeProperties, TimeoutConfig, @@ -56,19 +56,260 @@ import { import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +export interface DescribeAuditTaskResponse { + /** + *

                                                  The time the audit started.

                                                  + */ + taskStartTime?: Date; + + /** + *

                                                  The type of audit: "ON_DEMAND_AUDIT_TASK" or "SCHEDULED_AUDIT_TASK".

                                                  + */ + taskType?: AuditTaskType | string; + + /** + *

                                                  Statistical information about the audit.

                                                  + */ + taskStatistics?: TaskStatistics; + + /** + *

                                                  The status of the audit: one of "IN_PROGRESS", "COMPLETED", + * "FAILED", or "CANCELED".

                                                  + */ + taskStatus?: AuditTaskStatus | string; + + /** + *

                                                  The name of the scheduled audit (only if the audit was a scheduled audit).

                                                  + */ + scheduledAuditName?: string; + + /** + *

                                                  Detailed information about each check performed during this audit.

                                                  + */ + auditDetails?: { [key: string]: AuditCheckDetails }; +} + +export namespace DescribeAuditTaskResponse { + export const filterSensitiveLog = (obj: DescribeAuditTaskResponse): any => ({ + ...obj, + }); +} + +export interface DescribeAuthorizerRequest { + /** + *

                                                  The name of the authorizer to describe.

                                                  + */ + authorizerName: string | undefined; +} + +export namespace DescribeAuthorizerRequest { + export const filterSensitiveLog = (obj: DescribeAuthorizerRequest): any => ({ + ...obj, + }); +} + +export interface DescribeAuthorizerResponse { + /** + *

                                                  The authorizer description.

                                                  + */ + authorizerDescription?: AuthorizerDescription; +} + +export namespace DescribeAuthorizerResponse { + export const filterSensitiveLog = (obj: DescribeAuthorizerResponse): any => ({ + ...obj, + }); +} + +export interface DescribeBillingGroupRequest { + /** + *

                                                  The name of the billing group.

                                                  + */ + billingGroupName: string | undefined; +} + +export namespace DescribeBillingGroupRequest { + export const filterSensitiveLog = (obj: DescribeBillingGroupRequest): any => ({ + ...obj, + }); +} + /** - *

                                                  The registration configuration.

                                                  + *

                                                  Additional information about the billing group.

                                                  */ -export interface RegistrationConfig { +export interface BillingGroupMetadata { /** - *

                                                  The template body.

                                                  + *

                                                  The date the billing group was created.

                                                  */ - templateBody?: string; + creationDate?: Date; +} + +export namespace BillingGroupMetadata { + export const filterSensitiveLog = (obj: BillingGroupMetadata): any => ({ + ...obj, + }); +} + +export interface DescribeBillingGroupResponse { + /** + *

                                                  The ARN of the billing group.

                                                  + */ + billingGroupArn?: string; + + /** + *

                                                  The properties of the billing group.

                                                  + */ + billingGroupProperties?: BillingGroupProperties; + + /** + *

                                                  Additional information about the billing group.

                                                  + */ + billingGroupMetadata?: BillingGroupMetadata; + + /** + *

                                                  The ID of the billing group.

                                                  + */ + billingGroupId?: string; + + /** + *

                                                  The name of the billing group.

                                                  + */ + billingGroupName?: string; + + /** + *

                                                  The version of the billing group.

                                                  + */ + version?: number; +} + +export namespace DescribeBillingGroupResponse { + export const filterSensitiveLog = (obj: DescribeBillingGroupResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                  The input for the DescribeCACertificate operation.

                                                  + */ +export interface DescribeCACertificateRequest { + /** + *

                                                  The CA certificate identifier.

                                                  + */ + certificateId: string | undefined; +} + +export namespace DescribeCACertificateRequest { + export const filterSensitiveLog = (obj: DescribeCACertificateRequest): any => ({ + ...obj, + }); +} + +export enum CACertificateStatus { + ACTIVE = "ACTIVE", + INACTIVE = "INACTIVE", +} + +/** + *

                                                  When the certificate is valid.

                                                  + */ +export interface CertificateValidity { + /** + *

                                                  The certificate is not valid before this date.

                                                  + */ + notBefore?: Date; + + /** + *

                                                  The certificate is not valid after this date.

                                                  + */ + notAfter?: Date; +} + +export namespace CertificateValidity { + export const filterSensitiveLog = (obj: CertificateValidity): any => ({ + ...obj, + }); +} + +/** + *

                                                  Describes a CA certificate.

                                                  + */ +export interface CACertificateDescription { + /** + *

                                                  The date the CA certificate was last modified.

                                                  + */ + lastModifiedDate?: Date; + + /** + *

                                                  The status of a CA certificate.

                                                  + */ + status?: CACertificateStatus | string; + + /** + *

                                                  Whether the CA certificate configured for auto registration of device certificates. + * Valid values are "ENABLE" and "DISABLE"

                                                  + */ + autoRegistrationStatus?: AutoRegistrationStatus | string; + + /** + *

                                                  The CA certificate ARN.

                                                  + */ + certificateArn?: string; + + /** + *

                                                  The customer version of the CA certificate.

                                                  + */ + customerVersion?: number; + + /** + *

                                                  When the CA certificate is valid.

                                                  + */ + validity?: CertificateValidity; + + /** + *

                                                  The CA certificate ID.

                                                  + */ + certificateId?: string; + /** + *

                                                  The owner of the CA certificate.

                                                  + */ + ownedBy?: string; + + /** + *

                                                  The date the CA certificate was created.

                                                  + */ + creationDate?: Date; + + /** + *

                                                  The generation ID of the CA certificate.

                                                  + */ + generationId?: string; + + /** + *

                                                  The CA certificate data, in PEM format.

                                                  + */ + certificatePem?: string; +} + +export namespace CACertificateDescription { + export const filterSensitiveLog = (obj: CACertificateDescription): any => ({ + ...obj, + }); +} + +/** + *

                                                  The registration configuration.

                                                  + */ +export interface RegistrationConfig { /** *

                                                  The ARN of the role.

                                                  */ roleArn?: string; + + /** + *

                                                  The template body.

                                                  + */ + templateBody?: string; } export namespace RegistrationConfig { @@ -82,14 +323,14 @@ export namespace RegistrationConfig { */ export interface DescribeCACertificateResponse { /** - *

                                                  Information about the registration configuration.

                                                  + *

                                                  The CA certificate description.

                                                  */ - registrationConfig?: RegistrationConfig; + certificateDescription?: CACertificateDescription; /** - *

                                                  The CA certificate description.

                                                  + *

                                                  Information about the registration configuration.

                                                  */ - certificateDescription?: CACertificateDescription; + registrationConfig?: RegistrationConfig; } export namespace DescribeCACertificateResponse { @@ -134,29 +375,29 @@ export enum CertificateStatus { */ export interface TransferData { /** - *

                                                  The date the transfer took place.

                                                  + *

                                                  The date the transfer was accepted.

                                                  */ - transferDate?: Date; + acceptDate?: Date; /** - *

                                                  The date the transfer was rejected.

                                                  + *

                                                  The date the transfer took place.

                                                  */ - rejectDate?: Date; + transferDate?: Date; /** - *

                                                  The reason why the transfer was rejected.

                                                  + *

                                                  The transfer message.

                                                  */ - rejectReason?: string; + transferMessage?: string; /** - *

                                                  The date the transfer was accepted.

                                                  + *

                                                  The date the transfer was rejected.

                                                  */ - acceptDate?: Date; + rejectDate?: Date; /** - *

                                                  The transfer message.

                                                  + *

                                                  The reason why the transfer was rejected.

                                                  */ - transferMessage?: string; + rejectReason?: string; } export namespace TransferData { @@ -170,54 +411,54 @@ export namespace TransferData { */ export interface CertificateDescription { /** - *

                                                  The mode of the certificate.

                                                  + *

                                                  The certificate ID of the CA certificate used to sign this certificate.

                                                  */ - certificateMode?: CertificateMode | string; + caCertificateId?: string; /** - *

                                                  The certificate data, in PEM format.

                                                  + *

                                                  The ID of the certificate.

                                                  */ - certificatePem?: string; + certificateId?: string; /** - *

                                                  The certificate ID of the CA certificate used to sign this certificate.

                                                  + *

                                                  The transfer data.

                                                  */ - caCertificateId?: string; + transferData?: TransferData; /** - *

                                                  The date and time the certificate was created.

                                                  + *

                                                  The ID of the AWS account that owns the certificate.

                                                  */ - creationDate?: Date; + ownedBy?: string; /** - *

                                                  The ID of the certificate.

                                                  + *

                                                  The customer version of the certificate.

                                                  */ - certificateId?: string; + customerVersion?: number; /** - *

                                                  The transfer data.

                                                  + *

                                                  The ARN of the certificate.

                                                  */ - transferData?: TransferData; + certificateArn?: string; /** - *

                                                  The ID of the AWS account of the previous owner of the certificate.

                                                  + *

                                                  The date and time the certificate was last modified.

                                                  */ - previousOwnedBy?: string; + lastModifiedDate?: Date; /** - *

                                                  The date and time the certificate was last modified.

                                                  + *

                                                  The certificate data, in PEM format.

                                                  */ - lastModifiedDate?: Date; + certificatePem?: string; /** - *

                                                  The generation ID of the certificate.

                                                  + *

                                                  When the certificate is valid.

                                                  */ - generationId?: string; + validity?: CertificateValidity; /** - *

                                                  The customer version of the certificate.

                                                  + *

                                                  The date and time the certificate was created.

                                                  */ - customerVersion?: number; + creationDate?: Date; /** *

                                                  The status of the certificate.

                                                  @@ -225,19 +466,19 @@ export interface CertificateDescription { status?: CertificateStatus | string; /** - *

                                                  The ID of the AWS account that owns the certificate.

                                                  + *

                                                  The ID of the AWS account of the previous owner of the certificate.

                                                  */ - ownedBy?: string; + previousOwnedBy?: string; /** - *

                                                  When the certificate is valid.

                                                  + *

                                                  The mode of the certificate.

                                                  */ - validity?: CertificateValidity; + certificateMode?: CertificateMode | string; /** - *

                                                  The ARN of the certificate.

                                                  + *

                                                  The generation ID of the certificate.

                                                  */ - certificateArn?: string; + generationId?: string; } export namespace CertificateDescription { @@ -298,19 +539,19 @@ export namespace DescribeDimensionRequest { export interface DescribeDimensionResponse { /** - *

                                                  The date the dimension was last modified.

                                                  + *

                                                  The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.

                                                  */ - lastModifiedDate?: Date; + stringValues?: string[]; /** - *

                                                  The type of the dimension.

                                                  + *

                                                  The unique identifier for the dimension.

                                                  */ - type?: DimensionType | string; + name?: string; /** - *

                                                  The unique identifier for the dimension.

                                                  + *

                                                  The date the dimension was last modified.

                                                  */ - name?: string; + lastModifiedDate?: Date; /** *

                                                  The date the dimension was created.

                                                  @@ -323,9 +564,9 @@ export interface DescribeDimensionResponse { arn?: string; /** - *

                                                  The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.

                                                  + *

                                                  The type of the dimension.

                                                  */ - stringValues?: string[]; + type?: DimensionType | string; } export namespace DescribeDimensionResponse { @@ -368,9 +609,9 @@ export enum ServerCertificateStatus { */ export interface ServerCertificateSummary { /** - *

                                                  Details that explain the status of the server certificate.

                                                  + *

                                                  The ARN of the server certificate.

                                                  */ - serverCertificateStatusDetail?: string; + serverCertificateArn?: string; /** *

                                                  The status of the server certificate.

                                                  @@ -378,9 +619,9 @@ export interface ServerCertificateSummary { serverCertificateStatus?: ServerCertificateStatus | string; /** - *

                                                  The ARN of the server certificate.

                                                  + *

                                                  Details that explain the status of the server certificate.

                                                  */ - serverCertificateArn?: string; + serverCertificateStatusDetail?: string; } export namespace ServerCertificateSummary { @@ -389,16 +630,26 @@ export namespace ServerCertificateSummary { }); } -export interface DescribeDomainConfigurationResponse { +export interface DescribeDomainConfigurationResponse { + /** + *

                                                  The ARN of the domain configuration.

                                                  + */ + domainConfigurationArn?: string; + /** *

                                                  An object that specifies the authorization service for a domain.

                                                  */ authorizerConfig?: AuthorizerConfig; /** - *

                                                  The name of the domain.

                                                  + *

                                                  The type of service delivered by the endpoint.

                                                  */ - domainName?: string; + serviceType?: ServiceType | string; + + /** + *

                                                  The date and time the domain configuration's status was last changed.

                                                  + */ + lastStatusChangeDate?: Date; /** *

                                                  A Boolean value that specifies the current state of the domain configuration.

                                                  @@ -411,9 +662,9 @@ export interface DescribeDomainConfigurationResponse { serverCertificates?: ServerCertificateSummary[]; /** - *

                                                  The ARN of the domain configuration.

                                                  + *

                                                  The name of the domain configuration.

                                                  */ - domainConfigurationArn?: string; + domainConfigurationName?: string; /** *

                                                  The type of the domain.

                                                  @@ -421,14 +672,9 @@ export interface DescribeDomainConfigurationResponse { domainType?: DomainType | string; /** - *

                                                  The type of service delivered by the endpoint.

                                                  - */ - serviceType?: ServiceType | string; - - /** - *

                                                  The name of the domain configuration.

                                                  + *

                                                  The name of the domain.

                                                  */ - domainConfigurationName?: string; + domainName?: string; } export namespace DescribeDomainConfigurationResponse { @@ -537,11 +783,6 @@ export namespace Configuration { } export interface DescribeEventConfigurationsResponse { - /** - *

                                                  The date the event configurations were last modified.

                                                  - */ - lastModifiedDate?: Date; - /** *

                                                  The event configurations.

                                                  */ @@ -551,6 +792,11 @@ export interface DescribeEventConfigurationsResponse { *

                                                  The creation date of the event configuration.

                                                  */ creationDate?: Date; + + /** + *

                                                  The date the event configurations were last modified.

                                                  + */ + lastModifiedDate?: Date; } export namespace DescribeEventConfigurationsResponse { @@ -580,14 +826,14 @@ export enum IndexStatus { export interface DescribeIndexResponse { /** - *

                                                  The index status.

                                                  + *

                                                  The index name.

                                                  */ - indexStatus?: IndexStatus | string; + indexName?: string; /** - *

                                                  The index name.

                                                  + *

                                                  The index status.

                                                  */ - indexName?: string; + indexStatus?: IndexStatus | string; /** *

                                                  Contains a value that specifies the type of indexing performed. Valid values @@ -636,19 +882,25 @@ export namespace DescribeJobRequest { */ export interface JobProcessDetails { /** - *

                                                  The number of things that rejected the job.

                                                  + *

                                                  The number of things that cancelled the job.

                                                  */ - numberOfRejectedThings?: number; + numberOfCanceledThings?: number; /** - *

                                                  The number of things whose job execution status is TIMED_OUT.

                                                  + *

                                                  The number of things which successfully completed the job.

                                                  */ - numberOfTimedOutThings?: number; + numberOfSucceededThings?: number; /** - *

                                                  The number of things currently executing the job.

                                                  + *

                                                  The number of things that are no longer scheduled to execute the job because they have been deleted or + * have been removed from the group that was a target of the job.

                                                  */ - numberOfInProgressThings?: number; + numberOfRemovedThings?: number; + + /** + *

                                                  The number of things that rejected the job.

                                                  + */ + numberOfRejectedThings?: number; /** *

                                                  The number of things that are awaiting execution of the job.

                                                  @@ -656,15 +908,14 @@ export interface JobProcessDetails { numberOfQueuedThings?: number; /** - *

                                                  The target devices to which the job execution is being rolled out. This value will be null after the job execution has finished rolling out to all the target devices.

                                                  + *

                                                  The number of things whose job execution status is TIMED_OUT.

                                                  */ - processingTargets?: string[]; + numberOfTimedOutThings?: number; /** - *

                                                  The number of things that are no longer scheduled to execute the job because they have been deleted or - * have been removed from the group that was a target of the job.

                                                  + *

                                                  The target devices to which the job execution is being rolled out. This value will be null after the job execution has finished rolling out to all the target devices.

                                                  */ - numberOfRemovedThings?: number; + processingTargets?: string[]; /** *

                                                  The number of things that failed executing the job.

                                                  @@ -672,14 +923,9 @@ export interface JobProcessDetails { numberOfFailedThings?: number; /** - *

                                                  The number of things which successfully completed the job.

                                                  - */ - numberOfSucceededThings?: number; - - /** - *

                                                  The number of things that cancelled the job.

                                                  + *

                                                  The number of things currently executing the job.

                                                  */ - numberOfCanceledThings?: number; + numberOfInProgressThings?: number; } export namespace JobProcessDetails { @@ -700,98 +946,98 @@ export enum JobStatus { */ export interface Job { /** - *

                                                  Configuration for pre-signed S3 URLs.

                                                  + *

                                                  An ARN identifying the job with format "arn:aws:iot:region:account:job/jobId".

                                                  */ - presignedUrlConfig?: PresignedUrlConfig; + jobArn?: string; /** - *

                                                  Allows you to create a staged rollout of a job.

                                                  + *

                                                  A list of IoT things and thing groups to which the job should be sent.

                                                  */ - jobExecutionsRolloutConfig?: JobExecutionsRolloutConfig; + targets?: string[]; /** - *

                                                  If the job was updated, provides the reason code for the update.

                                                  + *

                                                  The time, in seconds since the epoch, when the job was last updated.

                                                  */ - reasonCode?: string; + lastUpdatedAt?: Date; /** - *

                                                  A list of IoT things and thing groups to which the job should be sent.

                                                  + *

                                                  If the job was updated, describes the reason for the update.

                                                  */ - targets?: string[]; + comment?: string; /** - *

                                                  Details about the job process.

                                                  + *

                                                  The time, in seconds since the epoch, when the job was created.

                                                  */ - jobProcessDetails?: JobProcessDetails; + createdAt?: Date; /** - *

                                                  A short text description of the job.

                                                  + *

                                                  Configuration for pre-signed S3 URLs.

                                                  */ - description?: string; + presignedUrlConfig?: PresignedUrlConfig; /** - *

                                                  Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things - * specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing - * when a change is detected in a target. For example, a job will run on a device when the thing representing - * the device is added to a target group, even after the job was completed by all things originally in the - * group.

                                                  + *

                                                  The unique identifier you assigned to this job when it was created.

                                                  */ - targetSelection?: TargetSelection | string; + jobId?: string; /** - *

                                                  If the job was updated, describes the reason for the update.

                                                  + *

                                                  Will be true if the job was canceled with the optional force parameter set to + * true.

                                                  */ - comment?: string; + forceCanceled?: boolean; /** - *

                                                  The time, in seconds since the epoch, when the job was last updated.

                                                  + *

                                                  The time, in seconds since the epoch, when the job was completed.

                                                  */ - lastUpdatedAt?: Date; + completedAt?: Date; /** - *

                                                  An ARN identifying the job with format "arn:aws:iot:region:account:job/jobId".

                                                  + *

                                                  If the job was updated, provides the reason code for the update.

                                                  */ - jobArn?: string; + reasonCode?: string; /** - *

                                                  Specifies the amount of time each device has to finish its execution of the job. A timer - * is started when the job execution status is set to IN_PROGRESS. If the job - * execution status is not set to another terminal state before the timer expires, it will - * be automatically set to TIMED_OUT.

                                                  + *

                                                  The status of the job, one of IN_PROGRESS, CANCELED, + * DELETION_IN_PROGRESS or COMPLETED.

                                                  */ - timeoutConfig?: TimeoutConfig; + status?: JobStatus | string; /** - *

                                                  The time, in seconds since the epoch, when the job was created.

                                                  + *

                                                  Configuration for criteria to abort the job.

                                                  */ - createdAt?: Date; + abortConfig?: AbortConfig; /** - *

                                                  The time, in seconds since the epoch, when the job was completed.

                                                  + *

                                                  A short text description of the job.

                                                  */ - completedAt?: Date; + description?: string; /** - *

                                                  The unique identifier you assigned to this job when it was created.

                                                  + *

                                                  Specifies the amount of time each device has to finish its execution of the job. A timer + * is started when the job execution status is set to IN_PROGRESS. If the job + * execution status is not set to another terminal state before the timer expires, it will + * be automatically set to TIMED_OUT.

                                                  */ - jobId?: string; + timeoutConfig?: TimeoutConfig; /** - *

                                                  Will be true if the job was canceled with the optional force parameter set to - * true.

                                                  + *

                                                  Details about the job process.

                                                  */ - forceCanceled?: boolean; + jobProcessDetails?: JobProcessDetails; /** - *

                                                  The status of the job, one of IN_PROGRESS, CANCELED, - * DELETION_IN_PROGRESS or COMPLETED.

                                                  + *

                                                  Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things + * specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing + * when a change is detected in a target. For example, a job will run on a device when the thing representing + * the device is added to a target group, even after the job was completed by all things originally in the + * group.

                                                  */ - status?: JobStatus | string; + targetSelection?: TargetSelection | string; /** - *

                                                  Configuration for criteria to abort the job.

                                                  + *

                                                  Allows you to create a staged rollout of a job.

                                                  */ - abortConfig?: AbortConfig; + jobExecutionsRolloutConfig?: JobExecutionsRolloutConfig; } export namespace Job { @@ -819,11 +1065,6 @@ export namespace DescribeJobResponse { } export interface DescribeJobExecutionRequest { - /** - *

                                                  The unique identifier you assigned to this job when it was created.

                                                  - */ - jobId: string | undefined; - /** *

                                                  The name of the thing on which the job execution is running.

                                                  */ @@ -834,6 +1075,11 @@ export interface DescribeJobExecutionRequest { * on a particular device.

                                                  */ executionNumber?: number; + + /** + *

                                                  The unique identifier you assigned to this job when it was created.

                                                  + */ + jobId: string | undefined; } export namespace DescribeJobExecutionRequest { @@ -874,20 +1120,14 @@ export namespace JobExecutionStatusDetails { */ export interface JobExecution { /** - *

                                                  The version of the job execution. Job execution versions are incremented each time they are updated - * by a device.

                                                  - */ - versionNumber?: number; - - /** - *

                                                  The unique identifier you assigned to the job when it was created.

                                                  + *

                                                  The time, in seconds since the epoch, when the job execution was last updated.

                                                  */ - jobId?: string; + lastUpdatedAt?: Date; /** - *

                                                  The time, in seconds since the epoch, when the job execution was last updated.

                                                  + *

                                                  The time, in seconds since the epoch, when the job execution started.

                                                  */ - lastUpdatedAt?: Date; + startedAt?: Date; /** *

                                                  Will be true if the job execution was canceled with the optional force @@ -896,32 +1136,31 @@ export interface JobExecution { forceCanceled?: boolean; /** - *

                                                  A collection of name/value pairs that describe the status of the job execution.

                                                  + *

                                                  The version of the job execution. Job execution versions are incremented each time they are updated + * by a device.

                                                  */ - statusDetails?: JobExecutionStatusDetails; + versionNumber?: number; /** - *

                                                  The time, in seconds since the epoch, when the job execution started.

                                                  + *

                                                  The unique identifier you assigned to the job when it was created.

                                                  */ - startedAt?: Date; + jobId?: string; /** - *

                                                  A string (consisting of the digits "0" through "9") which identifies this particular job execution on - * this particular device. It can be used in commands which return or update job execution information. - *

                                                  + *

                                                  The status of the job execution (IN_PROGRESS, QUEUED, FAILED, SUCCEEDED, TIMED_OUT, + * CANCELED, or REJECTED).

                                                  */ - executionNumber?: number; + status?: JobExecutionStatus | string; /** - *

                                                  The ARN of the thing on which the job execution is running.

                                                  + *

                                                  A collection of name/value pairs that describe the status of the job execution.

                                                  */ - thingArn?: string; + statusDetails?: JobExecutionStatusDetails; /** - *

                                                  The status of the job execution (IN_PROGRESS, QUEUED, FAILED, SUCCEEDED, TIMED_OUT, - * CANCELED, or REJECTED).

                                                  + *

                                                  The time, in seconds since the epoch, when the job execution was queued.

                                                  */ - status?: JobExecutionStatus | string; + queuedAt?: Date; /** *

                                                  The estimated number of seconds that remain before the job execution status will be @@ -932,9 +1171,16 @@ export interface JobExecution { approximateSecondsBeforeTimedOut?: number; /** - *

                                                  The time, in seconds since the epoch, when the job execution was queued.

                                                  + *

                                                  A string (consisting of the digits "0" through "9") which identifies this particular job execution on + * this particular device. It can be used in commands which return or update job execution information. + *

                                                  */ - queuedAt?: Date; + executionNumber?: number; + + /** + *

                                                  The ARN of the thing on which the job execution is running.

                                                  + */ + thingArn?: string; } export namespace JobExecution { @@ -980,44 +1226,44 @@ export enum MitigationActionType { export interface DescribeMitigationActionResponse { /** - *

                                                  The ARN of the IAM role used to apply this action.

                                                  + *

                                                  The friendly name that uniquely identifies the mitigation action.

                                                  */ - roleArn?: string; + actionName?: string; /** - *

                                                  The ARN that identifies this migration action.

                                                  + *

                                                  The type of mitigation action.

                                                  */ - actionArn?: string; + actionType?: MitigationActionType | string; /** - *

                                                  The date and time when the mitigation action was last changed.

                                                  + *

                                                  The date and time when the mitigation action was added to your AWS account.

                                                  */ - lastModifiedDate?: Date; + creationDate?: Date; /** - *

                                                  Parameters that control how the mitigation action is applied, specific to the type of mitigation action.

                                                  + *

                                                  A unique identifier for this action.

                                                  */ - actionParams?: MitigationActionParams; + actionId?: string; /** - *

                                                  The friendly name that uniquely identifies the mitigation action.

                                                  + *

                                                  The ARN that identifies this migration action.

                                                  */ - actionName?: string; + actionArn?: string; /** - *

                                                  The type of mitigation action.

                                                  + *

                                                  The ARN of the IAM role used to apply this action.

                                                  */ - actionType?: MitigationActionType | string; + roleArn?: string; /** - *

                                                  The date and time when the mitigation action was added to your AWS account.

                                                  + *

                                                  Parameters that control how the mitigation action is applied, specific to the type of mitigation action.

                                                  */ - creationDate?: Date; + actionParams?: MitigationActionParams; /** - *

                                                  A unique identifier for this action.

                                                  + *

                                                  The date and time when the mitigation action was last changed.

                                                  */ - actionId?: string; + lastModifiedDate?: Date; } export namespace DescribeMitigationActionResponse { @@ -1041,19 +1287,20 @@ export namespace DescribeProvisioningTemplateRequest { export interface DescribeProvisioningTemplateResponse { /** - *

                                                  The description of the fleet provisioning template.

                                                  + *

                                                  True if the fleet provisioning template is enabled, otherwise false.

                                                  */ - description?: string; + enabled?: boolean; /** - *

                                                  The date when the fleet provisioning template was last modified.

                                                  + *

                                                  The ARN of the role associated with the provisioning template. This IoT role grants + * permission to provision a device.

                                                  */ - lastModifiedDate?: Date; + provisioningRoleArn?: string; /** - *

                                                  The ARN of the fleet provisioning template.

                                                  + *

                                                  The JSON formatted contents of the fleet provisioning template.

                                                  */ - templateArn?: string; + templateBody?: string; /** *

                                                  The date when the fleet provisioning template was created.

                                                  @@ -1061,35 +1308,34 @@ export interface DescribeProvisioningTemplateResponse { creationDate?: Date; /** - *

                                                  The ARN of the role associated with the provisioning template. This IoT role grants - * permission to provision a device.

                                                  + *

                                                  The ARN of the fleet provisioning template.

                                                  */ - provisioningRoleArn?: string; + templateArn?: string; /** - *

                                                  True if the fleet provisioning template is enabled, otherwise false.

                                                  + *

                                                  The default fleet template version ID.

                                                  */ - enabled?: boolean; + defaultVersionId?: number; /** - *

                                                  The name of the fleet provisioning template.

                                                  + *

                                                  Gets information about a pre-provisioned hook.

                                                  */ - templateName?: string; + preProvisioningHook?: ProvisioningHook; /** - *

                                                  Gets information about a pre-provisioned hook.

                                                  + *

                                                  The description of the fleet provisioning template.

                                                  */ - preProvisioningHook?: ProvisioningHook; + description?: string; /** - *

                                                  The JSON formatted contents of the fleet provisioning template.

                                                  + *

                                                  The name of the fleet provisioning template.

                                                  */ - templateBody?: string; + templateName?: string; /** - *

                                                  The default fleet template version ID.

                                                  + *

                                                  The date when the fleet provisioning template was last modified.

                                                  */ - defaultVersionId?: number; + lastModifiedDate?: Date; } export namespace DescribeProvisioningTemplateResponse { @@ -1118,24 +1364,24 @@ export namespace DescribeProvisioningTemplateVersionRequest { export interface DescribeProvisioningTemplateVersionResponse { /** - *

                                                  The JSON formatted contents of the fleet provisioning template version.

                                                  + *

                                                  True if the fleet provisioning template version is the default version.

                                                  */ - templateBody?: string; + isDefaultVersion?: boolean; /** - *

                                                  The date when the fleet provisioning template version was created.

                                                  + *

                                                  The fleet provisioning template version ID.

                                                  */ - creationDate?: Date; + versionId?: number; /** - *

                                                  True if the fleet provisioning template version is the default version.

                                                  + *

                                                  The JSON formatted contents of the fleet provisioning template version.

                                                  */ - isDefaultVersion?: boolean; + templateBody?: string; /** - *

                                                  The fleet provisioning template version ID.

                                                  + *

                                                  The date when the fleet provisioning template version was created.

                                                  */ - versionId?: number; + creationDate?: Date; } export namespace DescribeProvisioningTemplateVersionResponse { @@ -1161,6 +1407,16 @@ export namespace DescribeRoleAliasRequest { *

                                                  Role alias description.

                                                  */ export interface RoleAliasDescription { + /** + *

                                                  The UNIX timestamp of when the role alias was created.

                                                  + */ + creationDate?: Date; + + /** + *

                                                  The ARN of the role alias.

                                                  + */ + roleAliasArn?: string; + /** *

                                                  The role ARN.

                                                  */ @@ -1185,16 +1441,6 @@ export interface RoleAliasDescription { *

                                                  The number of seconds for which the credential is valid.

                                                  */ credentialDurationSeconds?: number; - - /** - *

                                                  The UNIX timestamp of when the role alias was created.

                                                  - */ - creationDate?: Date; - - /** - *

                                                  The ARN of the role alias.

                                                  - */ - roleAliasArn?: string; } export namespace RoleAliasDescription { @@ -1230,24 +1476,12 @@ export namespace DescribeScheduledAuditRequest { } export interface DescribeScheduledAuditResponse { - /** - *

                                                  How often the scheduled audit takes place. One of "DAILY", "WEEKLY", - * "BIWEEKLY", or "MONTHLY". The start time of each audit is determined by - * the system.

                                                  - */ - frequency?: AuditFrequency | string; - /** *

                                                  The day of the week on which the scheduled audit takes place. One of * "SUN", "MON", "TUE", "WED", "THU", "FRI", or "SAT".

                                                  */ dayOfWeek?: DayOfWeek | string; - /** - *

                                                  The ARN of the scheduled audit.

                                                  - */ - scheduledAuditArn?: string; - /** *

                                                  The day of the month on which the scheduled audit takes place. Will be "1" * through "31" or "LAST". If days 29-31 are specified, and the month does not have that many @@ -1255,11 +1489,6 @@ export interface DescribeScheduledAuditResponse { */ dayOfMonth?: string; - /** - *

                                                  The name of the scheduled audit.

                                                  - */ - scheduledAuditName?: string; - /** *

                                                  Which checks are performed during the scheduled audit. Checks must be * enabled for your account. (Use DescribeAccountAuditConfiguration to see the list @@ -1267,6 +1496,23 @@ export interface DescribeScheduledAuditResponse { * to select which checks are enabled.)

                                                  */ targetCheckNames?: string[]; + + /** + *

                                                  The name of the scheduled audit.

                                                  + */ + scheduledAuditName?: string; + + /** + *

                                                  How often the scheduled audit takes place. One of "DAILY", "WEEKLY", + * "BIWEEKLY", or "MONTHLY". The start time of each audit is determined by + * the system.

                                                  + */ + frequency?: AuditFrequency | string; + + /** + *

                                                  The ARN of the scheduled audit.

                                                  + */ + scheduledAuditArn?: string; } export namespace DescribeScheduledAuditResponse { @@ -1290,55 +1536,56 @@ export namespace DescribeSecurityProfileRequest { export interface DescribeSecurityProfileResponse { /** - *

                                                  The name of the security profile.

                                                  + *

                                                  A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

                                                  */ - securityProfileName?: string; + additionalMetricsToRetainV2?: MetricToRetain[]; /** - *

                                                  A list of metrics whose data is retained (stored). By default, data is retained - * for any metric used in the profile's behaviors, but it is also retained for - * any metric specified here.

                                                  - *

                                                  - * Note: This API field is deprecated. Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead.

                                                  + *

                                                  The time the security profile was created.

                                                  */ - additionalMetricsToRetain?: string[]; + creationDate?: Date; /** - *

                                                  A description of the security profile (associated with the security profile - * when it was created or updated).

                                                  + *

                                                  Where the alerts are sent. (Alerts are always sent to the console.)

                                                  */ - securityProfileDescription?: string; + alertTargets?: { [key: string]: AlertTarget }; /** - *

                                                  The version of the security profile. A new version is generated whenever the - * security profile is updated.

                                                  + *

                                                  + * Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead. + *

                                                  + *

                                                  A list of metrics whose data is retained (stored). By default, data is retained + * for any metric used in the profile's behaviors, but it is also retained for + * any metric specified here.

                                                  */ - version?: number; + additionalMetricsToRetain?: string[]; /** - *

                                                  The time the security profile was created.

                                                  + *

                                                  Specifies the behaviors that, when violated by a device (thing), cause an alert.

                                                  */ - creationDate?: Date; + behaviors?: Behavior[]; /** - *

                                                  Where the alerts are sent. (Alerts are always sent to the console.)

                                                  + *

                                                  The name of the security profile.

                                                  */ - alertTargets?: { [key: string]: AlertTarget }; + securityProfileName?: string; /** - *

                                                  Specifies the behaviors that, when violated by a device (thing), cause an alert.

                                                  + *

                                                  A description of the security profile (associated with the security profile + * when it was created or updated).

                                                  */ - behaviors?: Behavior[]; + securityProfileDescription?: string; /** - *

                                                  A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

                                                  + *

                                                  The time the security profile was last modified.

                                                  */ - additionalMetricsToRetainV2?: MetricToRetain[]; + lastModifiedDate?: Date; /** - *

                                                  The time the security profile was last modified.

                                                  + *

                                                  The version of the security profile. A new version is generated whenever the + * security profile is updated.

                                                  */ - lastModifiedDate?: Date; + version?: number; /** *

                                                  The ARN of the security profile.

                                                  @@ -1370,24 +1617,19 @@ export namespace DescribeStreamRequest { */ export interface StreamInfo { /** - *

                                                  The date when the stream was last updated.

                                                  - */ - lastUpdatedAt?: Date; - - /** - *

                                                  The files to stream.

                                                  + *

                                                  The description of the stream.

                                                  */ - files?: StreamFile[]; + description?: string; /** - *

                                                  The stream ID.

                                                  + *

                                                  An IAM role AWS IoT assumes to access your S3 files.

                                                  */ - streamId?: string; + roleArn?: string; /** - *

                                                  An IAM role AWS IoT assumes to access your S3 files.

                                                  + *

                                                  The files to stream.

                                                  */ - roleArn?: string; + files?: StreamFile[]; /** *

                                                  The date when the stream was created.

                                                  @@ -1395,19 +1637,24 @@ export interface StreamInfo { createdAt?: Date; /** - *

                                                  The stream ARN.

                                                  + *

                                                  The date when the stream was last updated.

                                                  */ - streamArn?: string; + lastUpdatedAt?: Date; /** - *

                                                  The description of the stream.

                                                  + *

                                                  The stream ID.

                                                  */ - description?: string; + streamId?: string; /** *

                                                  The stream version.

                                                  */ streamVersion?: number; + + /** + *

                                                  The stream ARN.

                                                  + */ + streamArn?: string; } export namespace StreamInfo { @@ -1450,14 +1697,14 @@ export namespace DescribeThingRequest { */ export interface DescribeThingResponse { /** - *

                                                  The ARN of the thing to describe.

                                                  + *

                                                  The thing type name.

                                                  */ - thingArn?: string; + thingTypeName?: string; /** - *

                                                  The thing type name.

                                                  + *

                                                  The name of the thing.

                                                  */ - thingTypeName?: string; + thingName?: string; /** *

                                                  The name of the billing group the thing belongs to.

                                                  @@ -1465,9 +1712,9 @@ export interface DescribeThingResponse { billingGroupName?: string; /** - *

                                                  The name of the thing.

                                                  + *

                                                  The thing attributes.

                                                  */ - thingName?: string; + attributes?: { [key: string]: string }; /** *

                                                  The default MQTT client ID. For a typical device, the thing name is also used as the default MQTT client ID. @@ -1477,11 +1724,6 @@ export interface DescribeThingResponse { */ defaultClientId?: string; - /** - *

                                                  The thing attributes.

                                                  - */ - attributes?: { [key: string]: string }; - /** *

                                                  The current version of the thing record in the registry.

                                                  * @@ -1496,6 +1738,11 @@ export interface DescribeThingResponse { *

                                                  The ID of the thing to describe.

                                                  */ thingId?: string; + + /** + *

                                                  The ARN of the thing to describe.

                                                  + */ + thingArn?: string; } export namespace DescribeThingResponse { @@ -1548,11 +1795,6 @@ export namespace GroupNameAndArn { *

                                                  Thing group metadata.

                                                  */ export interface ThingGroupMetadata { - /** - *

                                                  The UNIX timestamp of when the thing group was created.

                                                  - */ - creationDate?: Date; - /** *

                                                  The parent thing group name.

                                                  */ @@ -1562,6 +1804,11 @@ export interface ThingGroupMetadata { *

                                                  The root parent thing group.

                                                  */ rootToParentThingGroups?: GroupNameAndArn[]; + + /** + *

                                                  The UNIX timestamp of when the thing group was created.

                                                  + */ + creationDate?: Date; } export namespace ThingGroupMetadata { @@ -1572,54 +1819,54 @@ export namespace ThingGroupMetadata { export interface DescribeThingGroupResponse { /** - *

                                                  The dynamic thing group query version.

                                                  + *

                                                  The thing group properties.

                                                  */ - queryVersion?: string; + thingGroupProperties?: ThingGroupProperties; /** - *

                                                  The thing group ID.

                                                  + *

                                                  The name of the thing group.

                                                  */ - thingGroupId?: string; + thingGroupName?: string; /** - *

                                                  The dynamic thing group index name.

                                                  + *

                                                  The dynamic thing group search query string.

                                                  */ - indexName?: string; + queryString?: string; /** - *

                                                  The thing group ARN.

                                                  + *

                                                  The dynamic thing group status.

                                                  */ - thingGroupArn?: string; + status?: DynamicGroupStatus | string; /** - *

                                                  The name of the thing group.

                                                  + *

                                                  The thing group ARN.

                                                  */ - thingGroupName?: string; + thingGroupArn?: string; /** - *

                                                  Thing group metadata.

                                                  + *

                                                  The dynamic thing group query version.

                                                  */ - thingGroupMetadata?: ThingGroupMetadata; + queryVersion?: string; /** - *

                                                  The thing group properties.

                                                  + *

                                                  The version of the thing group.

                                                  */ - thingGroupProperties?: ThingGroupProperties; + version?: number; /** - *

                                                  The dynamic thing group status.

                                                  + *

                                                  The dynamic thing group index name.

                                                  */ - status?: DynamicGroupStatus | string; + indexName?: string; /** - *

                                                  The dynamic thing group search query string.

                                                  + *

                                                  Thing group metadata.

                                                  */ - queryString?: string; + thingGroupMetadata?: ThingGroupMetadata; /** - *

                                                  The version of the thing group.

                                                  + *

                                                  The thing group ID.

                                                  */ - version?: number; + thingGroupId?: string; } export namespace DescribeThingGroupResponse { @@ -1651,14 +1898,19 @@ export enum Status { export interface DescribeThingRegistrationTaskResponse { /** - *

                                                  The input file key.

                                                  + *

                                                  The progress of the bulk provisioning task expressed as a percentage.

                                                  + */ + percentageProgress?: number; + + /** + *

                                                  The task ID.

                                                  */ - inputFileKey?: string; + taskId?: string; /** - *

                                                  The date when the task was last modified.

                                                  + *

                                                  The task's template.

                                                  */ - lastModifiedDate?: Date; + templateBody?: string; /** *

                                                  The status of the bulk thing provisioning task.

                                                  @@ -1666,9 +1918,14 @@ export interface DescribeThingRegistrationTaskResponse { status?: Status | string; /** - *

                                                  The role ARN that grants access to the input file bucket.

                                                  + *

                                                  The message.

                                                  */ - roleArn?: string; + message?: string; + + /** + *

                                                  The date when the task was last modified.

                                                  + */ + lastModifiedDate?: Date; /** *

                                                  The number of things successfully provisioned.

                                                  @@ -1680,35 +1937,25 @@ export interface DescribeThingRegistrationTaskResponse { */ inputFileBucket?: string; - /** - *

                                                  The task's template.

                                                  - */ - templateBody?: string; - - /** - *

                                                  The message.

                                                  - */ - message?: string; - /** *

                                                  The number of things that failed to be provisioned.

                                                  */ failureCount?: number; /** - *

                                                  The progress of the bulk provisioning task expressed as a percentage.

                                                  + *

                                                  The role ARN that grants access to the input file bucket.

                                                  */ - percentageProgress?: number; + roleArn?: string; /** - *

                                                  The task ID.

                                                  + *

                                                  The task creation date.

                                                  */ - taskId?: string; + creationDate?: Date; /** - *

                                                  The task creation date.

                                                  + *

                                                  The input file key.

                                                  */ - creationDate?: Date; + inputFileKey?: string; } export namespace DescribeThingRegistrationTaskResponse { @@ -1740,15 +1987,15 @@ export namespace DescribeThingTypeRequest { */ export interface ThingTypeMetadata { /** - *

                                                  Whether the thing type is deprecated. If true, no new things could be - * associated with this type.

                                                  + *

                                                  The date and time when the thing type was created.

                                                  */ - deprecated?: boolean; + creationDate?: Date; /** - *

                                                  The date and time when the thing type was created.

                                                  + *

                                                  Whether the thing type is deprecated. If true, no new things could be + * associated with this type.

                                                  */ - creationDate?: Date; + deprecated?: boolean; /** *

                                                  The date and time when the thing type was deprecated.

                                                  @@ -1766,11 +2013,6 @@ export namespace ThingTypeMetadata { *

                                                  The output for the DescribeThingType operation.

                                                  */ export interface DescribeThingTypeResponse { - /** - *

                                                  The thing type ID.

                                                  - */ - thingTypeId?: string; - /** *

                                                  The ThingTypeMetadata contains additional information about the thing type * including: creation date and time, a value indicating whether the thing type is @@ -1778,6 +2020,12 @@ export interface DescribeThingTypeResponse { */ thingTypeMetadata?: ThingTypeMetadata; + /** + *

                                                  The ThingTypeProperties contains information about the thing type including + * description, and a list of searchable thing attribute names.

                                                  + */ + thingTypeProperties?: ThingTypeProperties; + /** *

                                                  The name of the thing type.

                                                  */ @@ -1789,10 +2037,9 @@ export interface DescribeThingTypeResponse { thingTypeArn?: string; /** - *

                                                  The ThingTypeProperties contains information about the thing type including - * description, and a list of searchable thing attribute names.

                                                  + *

                                                  The thing type ID.

                                                  */ - thingTypeProperties?: ThingTypeProperties; + thingTypeId?: string; } export namespace DescribeThingTypeResponse { @@ -1803,14 +2050,14 @@ export namespace DescribeThingTypeResponse { export interface DetachPolicyRequest { /** - *

                                                  The target from which the policy will be detached.

                                                  + *

                                                  The policy to detach.

                                                  */ - target: string | undefined; + policyName: string | undefined; /** - *

                                                  The policy to detach.

                                                  + *

                                                  The target from which the policy will be detached.

                                                  */ - policyName: string | undefined; + target: string | undefined; } export namespace DetachPolicyRequest { @@ -1824,16 +2071,15 @@ export namespace DetachPolicyRequest { */ export interface DetachPrincipalPolicyRequest { /** - *

                                                  The principal.

                                                  - *

                                                  If the principal is a certificate, specify the certificate ARN. If the principal is - * an Amazon Cognito identity, specify the identity ID.

                                                  + *

                                                  The name of the policy to detach.

                                                  */ - principal: string | undefined; + policyName: string | undefined; /** - *

                                                  The name of the policy to detach.

                                                  + *

                                                  The principal.

                                                  + *

                                                  Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

                                                  */ - policyName: string | undefined; + principal: string | undefined; } export namespace DetachPrincipalPolicyRequest { @@ -1872,17 +2118,17 @@ export namespace DetachSecurityProfileResponse { *

                                                  The input for the DetachThingPrincipal operation.

                                                  */ export interface DetachThingPrincipalRequest { - /** - *

                                                  The name of the thing.

                                                  - */ - thingName: string | undefined; - /** *

                                                  If the principal is a certificate, this value must be ARN of the certificate. If * the principal is an Amazon Cognito identity, this value must be the ID of the Amazon * Cognito identity.

                                                  */ principal: string | undefined; + + /** + *

                                                  The name of the thing.

                                                  + */ + thingName: string | undefined; } export namespace DetachThingPrincipalRequest { @@ -1936,9 +2182,9 @@ export namespace EnableTopicRuleRequest { export interface GetCardinalityRequest { /** - *

                                                  The query version.

                                                  + *

                                                  The field to aggregate.

                                                  */ - queryVersion?: string; + aggregationField?: string; /** *

                                                  The search query.

                                                  @@ -1946,9 +2192,9 @@ export interface GetCardinalityRequest { queryString: string | undefined; /** - *

                                                  The field to aggregate.

                                                  + *

                                                  The query version.

                                                  */ - aggregationField?: string; + queryVersion?: string; /** *

                                                  The name of the index to search.

                                                  @@ -2015,14 +2261,14 @@ export interface GetEffectivePoliciesRequest { thingName?: string; /** - *

                                                  The Cognito identity pool ID.

                                                  + *

                                                  The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

                                                  */ - cognitoIdentityPoolId?: string; + principal?: string; /** - *

                                                  The principal.

                                                  + *

                                                  The Cognito identity pool ID.

                                                  */ - principal?: string; + cognitoIdentityPoolId?: string; } export namespace GetEffectivePoliciesRequest { @@ -2089,14 +2335,14 @@ export enum FieldType { */ export interface Field { /** - *

                                                  The datatype of the field.

                                                  + *

                                                  The name of the field.

                                                  */ - type?: FieldType | string; + name?: string; /** - *

                                                  The name of the field.

                                                  + *

                                                  The datatype of the field.

                                                  */ - name?: string; + type?: FieldType | string; } export namespace Field { @@ -2120,17 +2366,17 @@ export interface ThingGroupIndexingConfiguration { */ managedFields?: Field[]; + /** + *

                                                  Thing group indexing mode.

                                                  + */ + thingGroupIndexingMode: ThingGroupIndexingMode | string | undefined; + /** *

                                                  A list of thing group fields to index. This list cannot contain any managed fields. Use * the GetIndexingConfiguration API to get a list of managed fields.

                                                  *

                                                  Contains custom field names and their data type.

                                                  */ customFields?: Field[]; - - /** - *

                                                  Thing group indexing mode.

                                                  - */ - thingGroupIndexingMode: ThingGroupIndexingMode | string | undefined; } export namespace ThingGroupIndexingConfiguration { @@ -2155,12 +2401,6 @@ export enum ThingIndexingMode { * Thing Indexing.

                                                  */ export interface ThingIndexingConfiguration { - /** - *

                                                  Contains fields that are indexed and whose types are already known by the Fleet Indexing - * service.

                                                  - */ - managedFields?: Field[]; - /** *

                                                  Thing indexing mode. Valid values are:

                                                  *
                                                    @@ -2195,6 +2435,12 @@ export interface ThingIndexingConfiguration { *

                                                    Contains custom field names and their data type.

                                                    */ customFields?: Field[]; + + /** + *

                                                    Contains fields that are indexed and whose types are already known by the Fleet Indexing + * service.

                                                    + */ + managedFields?: Field[]; } export namespace ThingIndexingConfiguration { @@ -2205,14 +2451,14 @@ export namespace ThingIndexingConfiguration { export interface GetIndexingConfigurationResponse { /** - *

                                                    Thing indexing configuration.

                                                    + *

                                                    The index configuration.

                                                    */ - thingIndexingConfiguration?: ThingIndexingConfiguration; + thingGroupIndexingConfiguration?: ThingGroupIndexingConfiguration; /** - *

                                                    The index configuration.

                                                    + *

                                                    Thing indexing configuration.

                                                    */ - thingGroupIndexingConfiguration?: ThingGroupIndexingConfiguration; + thingIndexingConfiguration?: ThingIndexingConfiguration; } export namespace GetIndexingConfigurationResponse { @@ -2318,54 +2564,54 @@ export namespace ErrorInfo { */ export interface OTAUpdateInfo { /** - *

                                                    The AWS IoT job ID associated with the OTA update.

                                                    - */ - awsIotJobId?: string; - - /** - *

                                                    A list of files associated with the OTA update.

                                                    + *

                                                    The AWS IoT job ARN associated with the OTA update.

                                                    */ - otaUpdateFiles?: OTAUpdateFile[]; + awsIotJobArn?: string; /** - *

                                                    A description of the OTA update.

                                                    + *

                                                    Specifies whether the OTA update will continue to run (CONTINUOUS), or will be complete after all those + * things specified as targets have completed the OTA update (SNAPSHOT). If continuous, the OTA update may also + * be run on a thing when a change is detected in a target. For example, an OTA update will run on a thing when + * the thing is added to a target group, even after the OTA update was completed by all things originally in + * the group.

                                                    */ - description?: string; + targetSelection?: TargetSelection | string; /** - *

                                                    The OTA update ARN.

                                                    + *

                                                    A collection of name/value pairs

                                                    */ - otaUpdateArn?: string; + additionalParameters?: { [key: string]: string }; /** - *

                                                    The date when the OTA update was last updated.

                                                    + *

                                                    The date when the OTA update was created.

                                                    */ - lastModifiedDate?: Date; + creationDate?: Date; /** - *

                                                    A collection of name/value pairs

                                                    + *

                                                    The OTA update ID.

                                                    */ - additionalParameters?: { [key: string]: string }; + otaUpdateId?: string; /** - *

                                                    Error information associated with the OTA update.

                                                    + *

                                                    A list of files associated with the OTA update.

                                                    */ - errorInfo?: ErrorInfo; + otaUpdateFiles?: OTAUpdateFile[]; /** - *

                                                    Configuration for the rollout of OTA updates.

                                                    + *

                                                    The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both + * HTTP and MQTT are specified, the target device can choose the protocol.

                                                    */ - awsJobExecutionsRolloutConfig?: AwsJobExecutionsRolloutConfig; + protocols?: (Protocol | string)[]; /** - *

                                                    The AWS IoT job ARN associated with the OTA update.

                                                    + *

                                                    The AWS IoT job ID associated with the OTA update.

                                                    */ - awsIotJobArn?: string; + awsIotJobId?: string; /** - *

                                                    The status of the OTA update.

                                                    + *

                                                    Configuration for the rollout of OTA updates.

                                                    */ - otaUpdateStatus?: OTAUpdateStatus | string; + awsJobExecutionsRolloutConfig?: AwsJobExecutionsRolloutConfig; /** *

                                                    Configuration information for pre-signed URLs. Valid when protocols @@ -2374,34 +2620,34 @@ export interface OTAUpdateInfo { awsJobPresignedUrlConfig?: AwsJobPresignedUrlConfig; /** - *

                                                    The OTA update ID.

                                                    + *

                                                    The targets of the OTA update.

                                                    */ - otaUpdateId?: string; + targets?: string[]; /** - *

                                                    The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both - * HTTP and MQTT are specified, the target device can choose the protocol.

                                                    + *

                                                    A description of the OTA update.

                                                    */ - protocols?: (Protocol | string)[]; + description?: string; /** - *

                                                    The date when the OTA update was created.

                                                    + *

                                                    Error information associated with the OTA update.

                                                    */ - creationDate?: Date; + errorInfo?: ErrorInfo; /** - *

                                                    The targets of the OTA update.

                                                    + *

                                                    The status of the OTA update.

                                                    */ - targets?: string[]; + otaUpdateStatus?: OTAUpdateStatus | string; /** - *

                                                    Specifies whether the OTA update will continue to run (CONTINUOUS), or will be complete after all those - * things specified as targets have completed the OTA update (SNAPSHOT). If continuous, the OTA update may also - * be run on a thing when a change is detected in a target. For example, an OTA update will run on a thing when - * the thing is added to a target group, even after the OTA update was completed by all things originally in - * the group.

                                                    + *

                                                    The OTA update ARN.

                                                    */ - targetSelection?: TargetSelection | string; + otaUpdateArn?: string; + + /** + *

                                                    The date when the OTA update was last updated.

                                                    + */ + lastModifiedDate?: Date; } export namespace OTAUpdateInfo { @@ -2425,14 +2671,14 @@ export namespace GetOTAUpdateResponse { export interface GetPercentilesRequest { /** - *

                                                    The percentile groups returned.

                                                    + *

                                                    The field to aggregate.

                                                    */ - percents?: number[]; + aggregationField?: string; /** - *

                                                    The name of the index to search.

                                                    + *

                                                    The query string.

                                                    */ - indexName?: string; + queryString: string | undefined; /** *

                                                    The query version.

                                                    @@ -2440,14 +2686,14 @@ export interface GetPercentilesRequest { queryVersion?: string; /** - *

                                                    The query string.

                                                    + *

                                                    The percentile groups returned.

                                                    */ - queryString: string | undefined; + percents?: number[]; /** - *

                                                    The field to aggregate.

                                                    + *

                                                    The name of the index to search.

                                                    */ - aggregationField?: string; + indexName?: string; } export namespace GetPercentilesRequest { @@ -2461,14 +2707,14 @@ export namespace GetPercentilesRequest { */ export interface PercentPair { /** - *

                                                    The percentile.

                                                    + *

                                                    The value of the percentile.

                                                    */ - percent?: number; + value?: number; /** - *

                                                    The value of the percentile.

                                                    + *

                                                    The percentile.

                                                    */ - value?: number; + percent?: number; } export namespace PercentPair { @@ -2510,11 +2756,6 @@ export namespace GetPolicyRequest { *

                                                    The output from the GetPolicy operation.

                                                    */ export interface GetPolicyResponse { - /** - *

                                                    The date the policy was created.

                                                    - */ - creationDate?: Date; - /** *

                                                    The policy name.

                                                    */ @@ -2526,24 +2767,29 @@ export interface GetPolicyResponse { lastModifiedDate?: Date; /** - *

                                                    The policy ARN.

                                                    + *

                                                    The default policy version ID.

                                                    */ - policyArn?: string; + defaultVersionId?: string; + + /** + *

                                                    The date the policy was created.

                                                    + */ + creationDate?: Date; /** - *

                                                    The generation ID of the policy.

                                                    + *

                                                    The JSON document that describes the policy.

                                                    */ - generationId?: string; + policyDocument?: string; /** - *

                                                    The default policy version ID.

                                                    + *

                                                    The generation ID of the policy.

                                                    */ - defaultVersionId?: string; + generationId?: string; /** - *

                                                    The JSON document that describes the policy.

                                                    + *

                                                    The policy ARN.

                                                    */ - policyDocument?: string; + policyArn?: string; } export namespace GetPolicyResponse { @@ -2557,14 +2803,14 @@ export namespace GetPolicyResponse { */ export interface GetPolicyVersionRequest { /** - *

                                                    The policy version ID.

                                                    + *

                                                    The name of the policy.

                                                    */ - policyVersionId: string | undefined; + policyName: string | undefined; /** - *

                                                    The name of the policy.

                                                    + *

                                                    The policy version ID.

                                                    */ - policyName: string | undefined; + policyVersionId: string | undefined; } export namespace GetPolicyVersionRequest { @@ -2578,9 +2824,9 @@ export namespace GetPolicyVersionRequest { */ export interface GetPolicyVersionResponse { /** - *

                                                    The policy version ID.

                                                    + *

                                                    The generation ID of the policy version.

                                                    */ - policyVersionId?: string; + generationId?: string; /** *

                                                    The policy ARN.

                                                    @@ -2603,19 +2849,19 @@ export interface GetPolicyVersionResponse { lastModifiedDate?: Date; /** - *

                                                    The generation ID of the policy version.

                                                    + *

                                                    The policy version ID.

                                                    */ - generationId?: string; + policyVersionId?: string; /** - *

                                                    The JSON document that describes the policy.

                                                    + *

                                                    The date the policy was created.

                                                    */ - policyDocument?: string; + creationDate?: Date; /** - *

                                                    The date the policy was created.

                                                    + *

                                                    The JSON document that describes the policy.

                                                    */ - creationDate?: Date; + policyDocument?: string; } export namespace GetPolicyVersionResponse { @@ -2653,25 +2899,25 @@ export namespace GetRegistrationCodeResponse { export interface GetStatisticsRequest { /** - *

                                                    The name of the index to search. The default value is AWS_Things.

                                                    + *

                                                    The aggregation field name.

                                                    */ - indexName?: string; + aggregationField?: string; /** - *

                                                    The query used to search. You can specify "*" for the query string to get the count of all - * indexed things in your AWS account.

                                                    + *

                                                    The version of the query used to search.

                                                    */ - queryString: string | undefined; + queryVersion?: string; /** - *

                                                    The version of the query used to search.

                                                    + *

                                                    The query used to search. You can specify "*" for the query string to get the count of all + * indexed things in your AWS account.

                                                    */ - queryVersion?: string; + queryString: string | undefined; /** - *

                                                    The aggregation field name.

                                                    + *

                                                    The name of the index to search. The default value is AWS_Things.

                                                    */ - aggregationField?: string; + indexName?: string; } export namespace GetStatisticsRequest { @@ -2686,19 +2932,24 @@ export namespace GetStatisticsRequest { */ export interface Statistics { /** - *

                                                    The maximum aggregated field value.

                                                    + *

                                                    The standard deviation of the aggregated field values.

                                                    */ - maximum?: number; + stdDeviation?: number; /** - *

                                                    The count of things that match the query.

                                                    + *

                                                    The sum of the squares of the aggregated field values.

                                                    */ - count?: number; + sumOfSquares?: number; /** - *

                                                    The standard deviation of the aggregated field values.

                                                    + *

                                                    The average of the aggregated field values.

                                                    */ - stdDeviation?: number; + average?: number; + + /** + *

                                                    The maximum aggregated field value.

                                                    + */ + maximum?: number; /** *

                                                    The sum of the aggregated field values.

                                                    @@ -2706,24 +2957,19 @@ export interface Statistics { sum?: number; /** - *

                                                    The sum of the squares of the aggregated field values.

                                                    + *

                                                    The variance of the aggregated field values.

                                                    */ - sumOfSquares?: number; + variance?: number; /** - *

                                                    The average of the aggregated field values.

                                                    + *

                                                    The count of things that match the query.

                                                    */ - average?: number; + count?: number; /** *

                                                    The minimum aggregated field value.

                                                    */ minimum?: number; - - /** - *

                                                    The variance of the aggregated field values.

                                                    - */ - variance?: number; } export namespace Statistics { @@ -2767,9 +3013,9 @@ export namespace GetTopicRuleRequest { */ export interface TopicRule { /** - *

                                                    Specifies whether the rule is disabled.

                                                    + *

                                                    The name of the rule.

                                                    */ - ruleDisabled?: boolean; + ruleName?: string; /** *

                                                    The SQL statement used to query the topic. When using a SQL query with multiple @@ -2778,14 +3024,14 @@ export interface TopicRule { sql?: string; /** - *

                                                    The actions associated with the rule.

                                                    + *

                                                    The version of the SQL rules engine to use when evaluating the rule.

                                                    */ - actions?: Action[]; + awsIotSqlVersion?: string; /** - *

                                                    The description of the rule.

                                                    + *

                                                    The actions associated with the rule.

                                                    */ - description?: string; + actions?: Action[]; /** *

                                                    The date and time the rule was created.

                                                    @@ -2793,19 +3039,19 @@ export interface TopicRule { createdAt?: Date; /** - *

                                                    The action to perform when an error occurs.

                                                    + *

                                                    Specifies whether the rule is disabled.

                                                    */ - errorAction?: Action; + ruleDisabled?: boolean; /** - *

                                                    The name of the rule.

                                                    + *

                                                    The action to perform when an error occurs.

                                                    */ - ruleName?: string; + errorAction?: Action; /** - *

                                                    The version of the SQL rules engine to use when evaluating the rule.

                                                    + *

                                                    The description of the rule.

                                                    */ - awsIotSqlVersion?: string; + description?: string; } export namespace TopicRule { @@ -2870,11 +3116,6 @@ export namespace GetV2LoggingOptionsRequest { } export interface GetV2LoggingOptionsResponse { - /** - *

                                                    The default log level.

                                                    - */ - defaultLogLevel?: LogLevel | string; - /** *

                                                    The IAM role ARN AWS IoT uses to write to your CloudWatch logs.

                                                    */ @@ -2884,6 +3125,11 @@ export interface GetV2LoggingOptionsResponse { *

                                                    Disables all logs.

                                                    */ disableAllLogs?: boolean; + + /** + *

                                                    The default log level.

                                                    + */ + defaultLogLevel?: LogLevel | string; } export namespace GetV2LoggingOptionsResponse { @@ -2912,9 +3158,9 @@ export namespace NotConfiguredException { export interface ListActiveViolationsRequest { /** - *

                                                    The name of the thing whose active violations are listed.

                                                    + *

                                                    The token for the next set of results.

                                                    */ - thingName?: string; + nextToken?: string; /** *

                                                    The maximum number of results to return at one time.

                                                    @@ -2922,14 +3168,14 @@ export interface ListActiveViolationsRequest { maxResults?: number; /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    The name of the Device Defender security profile for which violations are listed.

                                                    */ - nextToken?: string; + securityProfileName?: string; /** - *

                                                    The name of the Device Defender security profile for which violations are listed.

                                                    + *

                                                    The name of the thing whose active violations are listed.

                                                    */ - securityProfileName?: string; + thingName?: string; } export namespace ListActiveViolationsRequest { @@ -2959,24 +3205,24 @@ export namespace ListActiveViolationsResponse { export interface ListAttachedPoliciesRequest { /** - *

                                                    The token to retrieve the next set of results.

                                                    + *

                                                    When true, recursively list attached policies.

                                                    */ - marker?: string; + recursive?: boolean; /** - *

                                                    When true, recursively list attached policies.

                                                    + *

                                                    The group or principal for which the policies will be listed. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

                                                    */ - recursive?: boolean; + target: string | undefined; /** - *

                                                    The maximum number of results to be returned per request.

                                                    + *

                                                    The token to retrieve the next set of results.

                                                    */ - pageSize?: number; + marker?: string; /** - *

                                                    The group or principal for which the policies will be listed.

                                                    + *

                                                    The maximum number of results to be returned per request.

                                                    */ - target: string | undefined; + pageSize?: number; } export namespace ListAttachedPoliciesRequest { @@ -3006,25 +3252,27 @@ export namespace ListAttachedPoliciesResponse { export interface ListAuditFindingsRequest { /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    + * Boolean flag indicating whether only the suppressed findings or the unsuppressed findings should be listed. If this parameter isn't provided, the response will list both suppressed and unsuppressed findings. + *

                                                    */ - nextToken?: string; + listSuppressedFindings?: boolean; /** - *

                                                    A filter to limit results to those found after the specified time. You must + *

                                                    A filter to limit results to those found before the specified time. You must * specify either the startTime and endTime or the taskId, but not both.

                                                    */ - startTime?: Date; + endTime?: Date; /** - *

                                                    A filter to limit results to the findings for the specified audit check.

                                                    + *

                                                    Information identifying the noncompliant resource.

                                                    */ - checkName?: string; + resourceIdentifier?: ResourceIdentifier; /** - *

                                                    The maximum number of results to return at one time. The default is 25.

                                                    + *

                                                    A filter to limit results to the findings for the specified audit check.

                                                    */ - maxResults?: number; + checkName?: string; /** *

                                                    A filter to limit results to the audit with the specified ID. You must @@ -3033,15 +3281,20 @@ export interface ListAuditFindingsRequest { taskId?: string; /** - *

                                                    Information identifying the noncompliant resource.

                                                    + *

                                                    A filter to limit results to those found after the specified time. You must + * specify either the startTime and endTime or the taskId, but not both.

                                                    */ - resourceIdentifier?: ResourceIdentifier; + startTime?: Date; /** - *

                                                    A filter to limit results to those found before the specified time. You must - * specify either the startTime and endTime or the taskId, but not both.

                                                    + *

                                                    The maximum number of results to return at one time. The default is 25.

                                                    */ - endTime?: Date; + maxResults?: number; + + /** + *

                                                    The token for the next set of results.

                                                    + */ + nextToken?: string; } export namespace ListAuditFindingsRequest { @@ -3071,14 +3324,9 @@ export namespace ListAuditFindingsResponse { export interface ListAuditMitigationActionsExecutionsRequest { /** - *

                                                    Specify this filter to limit results to those that were applied to a specific audit finding.

                                                    - */ - findingId: string | undefined; - - /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    Specify this filter to limit results to actions for a specific audit mitigation actions task.

                                                    */ - nextToken?: string; + taskId: string | undefined; /** *

                                                    The maximum number of results to return at one time. The default is 25.

                                                    @@ -3086,14 +3334,19 @@ export interface ListAuditMitigationActionsExecutionsRequest { maxResults?: number; /** - *

                                                    Specify this filter to limit results to actions for a specific audit mitigation actions task.

                                                    + *

                                                    The token for the next set of results.

                                                    */ - taskId: string | undefined; + nextToken?: string; /** *

                                                    Specify this filter to limit results to those with a specific status.

                                                    */ actionStatus?: AuditMitigationActionsExecutionStatus | string; + + /** + *

                                                    Specify this filter to limit results to those that were applied to a specific audit finding.

                                                    + */ + findingId: string | undefined; } export namespace ListAuditMitigationActionsExecutionsRequest { @@ -3122,39 +3375,39 @@ export namespace ListAuditMitigationActionsExecutionsResponse { export interface ListAuditMitigationActionsTasksRequest { /** - *

                                                    Specify this filter to limit results to tasks that were applied to results for a specific audit.

                                                    + *

                                                    The maximum number of results to return at one time. The default is 25.

                                                    */ - auditTaskId?: string; + maxResults?: number; /** - *

                                                    Specify this filter to limit results to tasks that are in a specific state.

                                                    + *

                                                    Specify this filter to limit results to tasks that began on or after a specific date and time.

                                                    */ - taskStatus?: AuditMitigationActionsTaskStatus | string; + startTime: Date | undefined; /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    Specify this filter to limit results to tasks that were applied to results for a specific audit.

                                                    */ - nextToken?: string; + auditTaskId?: string; /** - *

                                                    The maximum number of results to return at one time. The default is 25.

                                                    + *

                                                    Specify this filter to limit results to tasks that were applied to a specific audit finding.

                                                    */ - maxResults?: number; + findingId?: string; /** - *

                                                    Specify this filter to limit results to tasks that began on or after a specific date and time.

                                                    + *

                                                    Specify this filter to limit results to tasks that are in a specific state.

                                                    */ - startTime: Date | undefined; + taskStatus?: AuditMitigationActionsTaskStatus | string; /** - *

                                                    Specify this filter to limit results to tasks that were applied to a specific audit finding.

                                                    + *

                                                    Specify this filter to limit results to tasks that were completed or canceled on or before a specific date and time.

                                                    */ - findingId?: string; + endTime: Date | undefined; /** - *

                                                    Specify this filter to limit results to tasks that were completed or canceled on or before a specific date and time.

                                                    + *

                                                    The token for the next set of results.

                                                    */ - endTime: Date | undefined; + nextToken?: string; } export namespace ListAuditMitigationActionsTasksRequest { @@ -3181,30 +3434,87 @@ export namespace ListAuditMitigationActionsTasksResponse { }); } +export interface ListAuditSuppressionsRequest { + /** + *

                                                    Information that identifies the noncompliant resource.

                                                    + */ + resourceIdentifier?: ResourceIdentifier; + + /** + *

                                                    An audit check name. Checks must be enabled + * for your account. (Use DescribeAccountAuditConfiguration to see the list + * of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + * to select which checks are enabled.)

                                                    + */ + checkName?: string; + + /** + *

                                                    + * The token for the next set of results. + *

                                                    + */ + nextToken?: string; + + /** + *

                                                    + * The maximum number of results to return at one time. The default is 25. + *

                                                    + */ + maxResults?: number; + + /** + *

                                                    + * Determines whether suppressions are listed in ascending order by expiration date or not. If parameter isn't provided, ascendingOrder=true. + *

                                                    + */ + ascendingOrder?: boolean; +} + +export namespace ListAuditSuppressionsRequest { + export const filterSensitiveLog = (obj: ListAuditSuppressionsRequest): any => ({ + ...obj, + }); +} + +export interface ListAuditSuppressionsResponse { + /** + *

                                                    + * List of audit suppressions. + *

                                                    + */ + suppressions?: AuditSuppression[]; + + /** + *

                                                    + * A token that can be used to retrieve the next set of results, or null if there are no additional results. + *

                                                    + */ + nextToken?: string; +} + +export namespace ListAuditSuppressionsResponse { + export const filterSensitiveLog = (obj: ListAuditSuppressionsResponse): any => ({ + ...obj, + }); +} + export interface ListAuditTasksRequest { /** - *

                                                    A filter to limit the output to the specified type of audit: can be one of - * "ON_DEMAND_AUDIT_TASK" or "SCHEDULED__AUDIT_TASK".

                                                    - */ - taskType?: AuditTaskType | string; - - /** - *

                                                    The end of the time period.

                                                    + *

                                                    The maximum number of results to return at one time. The default is 25.

                                                    */ - endTime: Date | undefined; + maxResults?: number; /** *

                                                    The beginning of the time period. Audit information is retained for a - * limited time (180 days). Requesting a start time prior to what is retained + * limited time (90 days). Requesting a start time prior to what is retained * results in an "InvalidRequestException".

                                                    */ startTime: Date | undefined; /** - *

                                                    A filter to limit the output to audits with the specified completion - * status: can be one of "IN_PROGRESS", "COMPLETED", "FAILED", or "CANCELED".

                                                    + *

                                                    The end of the time period.

                                                    */ - taskStatus?: AuditTaskStatus | string; + endTime: Date | undefined; /** *

                                                    The token for the next set of results.

                                                    @@ -3212,9 +3522,16 @@ export interface ListAuditTasksRequest { nextToken?: string; /** - *

                                                    The maximum number of results to return at one time. The default is 25.

                                                    + *

                                                    A filter to limit the output to the specified type of audit: can be one of + * "ON_DEMAND_AUDIT_TASK" or "SCHEDULED__AUDIT_TASK".

                                                    */ - maxResults?: number; + taskType?: AuditTaskType | string; + + /** + *

                                                    A filter to limit the output to audits with the specified completion + * status: can be one of "IN_PROGRESS", "COMPLETED", "FAILED", or "CANCELED".

                                                    + */ + taskStatus?: AuditTaskStatus | string; } export namespace ListAuditTasksRequest { @@ -3225,15 +3542,15 @@ export namespace ListAuditTasksRequest { export interface ListAuditTasksResponse { /** - *

                                                    A token that can be used to retrieve the next set of results, or null - * if there are no additional results.

                                                    + *

                                                    The audits that were performed during the specified time period.

                                                    */ - nextToken?: string; + tasks?: AuditTaskMetadata[]; /** - *

                                                    The audits that were performed during the specified time period.

                                                    + *

                                                    A token that can be used to retrieve the next set of results, or null + * if there are no additional results.

                                                    */ - tasks?: AuditTaskMetadata[]; + nextToken?: string; } export namespace ListAuditTasksResponse { @@ -3244,24 +3561,24 @@ export namespace ListAuditTasksResponse { export interface ListAuthorizersRequest { /** - *

                                                    The status of the list authorizers request.

                                                    + *

                                                    A marker used to get the next set of results.

                                                    */ - status?: AuthorizerStatus | string; + marker?: string; /** - *

                                                    A marker used to get the next set of results.

                                                    + *

                                                    Return the list of authorizers in ascending alphabetical order.

                                                    */ - marker?: string; + ascendingOrder?: boolean; /** - *

                                                    The maximum number of results to return at one time.

                                                    + *

                                                    The status of the list authorizers request.

                                                    */ - pageSize?: number; + status?: AuthorizerStatus | string; /** - *

                                                    Return the list of authorizers in ascending alphabetical order.

                                                    + *

                                                    The maximum number of results to return at one time.

                                                    */ - ascendingOrder?: boolean; + pageSize?: number; } export namespace ListAuthorizersRequest { @@ -3272,14 +3589,14 @@ export namespace ListAuthorizersRequest { export interface ListAuthorizersResponse { /** - *

                                                    The authorizers.

                                                    + *

                                                    A marker used to get the next set of results.

                                                    */ - authorizers?: AuthorizerSummary[]; + nextMarker?: string; /** - *

                                                    A marker used to get the next set of results.

                                                    + *

                                                    The authorizers.

                                                    */ - nextMarker?: string; + authorizers?: AuthorizerSummary[]; } export namespace ListAuthorizersResponse { @@ -3289,11 +3606,6 @@ export namespace ListAuthorizersResponse { } export interface ListBillingGroupsRequest { - /** - *

                                                    The maximum number of results to return per request.

                                                    - */ - maxResults?: number; - /** *

                                                    Limit the results to billing groups whose names have the given prefix.

                                                    */ @@ -3303,6 +3615,11 @@ export interface ListBillingGroupsRequest { *

                                                    The token to retrieve the next set of results.

                                                    */ nextToken?: string; + + /** + *

                                                    The maximum number of results to return per request.

                                                    + */ + maxResults?: number; } export namespace ListBillingGroupsRequest { @@ -3313,14 +3630,14 @@ export namespace ListBillingGroupsRequest { export interface ListBillingGroupsResponse { /** - *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    + *

                                                    The list of billing groups.

                                                    */ - nextToken?: string; + billingGroups?: GroupNameAndArn[]; /** - *

                                                    The list of billing groups.

                                                    + *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    */ - billingGroups?: GroupNameAndArn[]; + nextToken?: string; } export namespace ListBillingGroupsResponse { @@ -3333,6 +3650,11 @@ export namespace ListBillingGroupsResponse { *

                                                    Input for the ListCACertificates operation.

                                                    */ export interface ListCACertificatesRequest { + /** + *

                                                    The result page size.

                                                    + */ + pageSize?: number; + /** *

                                                    Determines the order of the results.

                                                    */ @@ -3342,11 +3664,6 @@ export interface ListCACertificatesRequest { *

                                                    The marker for the next set of results.

                                                    */ marker?: string; - - /** - *

                                                    The result page size.

                                                    - */ - pageSize?: number; } export namespace ListCACertificatesRequest { @@ -3360,14 +3677,14 @@ export namespace ListCACertificatesRequest { */ export interface CACertificate { /** - *

                                                    The ID of the CA certificate.

                                                    + *

                                                    The date the CA certificate was created.

                                                    */ - certificateId?: string; + creationDate?: Date; /** - *

                                                    The date the CA certificate was created.

                                                    + *

                                                    The ID of the CA certificate.

                                                    */ - creationDate?: Date; + certificateId?: string; /** *

                                                    The ARN of the CA certificate.

                                                    @@ -3392,14 +3709,14 @@ export namespace CACertificate { */ export interface ListCACertificatesResponse { /** - *

                                                    The CA certificates registered in your AWS account.

                                                    + *

                                                    The current position within the list of CA certificates.

                                                    */ - certificates?: CACertificate[]; + nextMarker?: string; /** - *

                                                    The current position within the list of CA certificates.

                                                    + *

                                                    The CA certificates registered in your AWS account.

                                                    */ - nextMarker?: string; + certificates?: CACertificate[]; } export namespace ListCACertificatesResponse { @@ -3412,6 +3729,11 @@ export namespace ListCACertificatesResponse { *

                                                    The input for the ListCertificates operation.

                                                    */ export interface ListCertificatesRequest { + /** + *

                                                    The marker for the next set of results.

                                                    + */ + marker?: string; + /** *

                                                    Specifies the order for results. If True, the results are returned in ascending * order, based on the creation date.

                                                    @@ -3422,11 +3744,6 @@ export interface ListCertificatesRequest { *

                                                    The result page size.

                                                    */ pageSize?: number; - - /** - *

                                                    The marker for the next set of results.

                                                    - */ - marker?: string; } export namespace ListCertificatesRequest { @@ -3440,26 +3757,26 @@ export namespace ListCertificatesRequest { */ export interface Certificate { /** - *

                                                    The ARN of the certificate.

                                                    + *

                                                    The date and time the certificate was created.

                                                    */ - certificateArn?: string; + creationDate?: Date; /** - *

                                                    The status of the certificate.

                                                    - *

                                                    The status value REGISTER_INACTIVE is deprecated and should not be used.

                                                    + *

                                                    The ID of the certificate. (The last part of the certificate ARN contains the + * certificate ID.)

                                                    */ - status?: CertificateStatus | string; + certificateId?: string; /** - *

                                                    The date and time the certificate was created.

                                                    + *

                                                    The status of the certificate.

                                                    + *

                                                    The status value REGISTER_INACTIVE is deprecated and should not be used.

                                                    */ - creationDate?: Date; + status?: CertificateStatus | string; /** - *

                                                    The ID of the certificate. (The last part of the certificate ARN contains the - * certificate ID.)

                                                    + *

                                                    The ARN of the certificate.

                                                    */ - certificateId?: string; + certificateArn?: string; /** *

                                                    The mode of the certificate.

                                                    @@ -3478,15 +3795,15 @@ export namespace Certificate { */ export interface ListCertificatesResponse { /** - *

                                                    The marker for the next set of results, or null if there are no additional - * results.

                                                    + *

                                                    The descriptions of the certificates.

                                                    */ - nextMarker?: string; + certificates?: Certificate[]; /** - *

                                                    The descriptions of the certificates.

                                                    + *

                                                    The marker for the next set of results, or null if there are no additional + * results.

                                                    */ - certificates?: Certificate[]; + nextMarker?: string; } export namespace ListCertificatesResponse { @@ -3500,9 +3817,10 @@ export namespace ListCertificatesResponse { */ export interface ListCertificatesByCARequest { /** - *

                                                    The result page size.

                                                    + *

                                                    The ID of the CA certificate. This operation will list all registered device + * certificate that were signed by this CA certificate.

                                                    */ - pageSize?: number; + caCertificateId: string | undefined; /** *

                                                    The marker for the next set of results.

                                                    @@ -3516,10 +3834,9 @@ export interface ListCertificatesByCARequest { ascendingOrder?: boolean; /** - *

                                                    The ID of the CA certificate. This operation will list all registered device - * certificate that were signed by this CA certificate.

                                                    + *

                                                    The result page size.

                                                    */ - caCertificateId: string | undefined; + pageSize?: number; } export namespace ListCertificatesByCARequest { @@ -3588,9 +3905,9 @@ export namespace ListDimensionsResponse { export interface ListDomainConfigurationsRequest { /** - *

                                                    The marker for the next set of results.

                                                    + *

                                                    The result page size.

                                                    */ - marker?: string; + pageSize?: number; /** *

                                                    The type of service delivered by the endpoint.

                                                    @@ -3598,9 +3915,9 @@ export interface ListDomainConfigurationsRequest { serviceType?: ServiceType | string; /** - *

                                                    The result page size.

                                                    + *

                                                    The marker for the next set of results.

                                                    */ - pageSize?: number; + marker?: string; } export namespace ListDomainConfigurationsRequest { @@ -3709,14 +4026,14 @@ export namespace ListIndicesResponse { export interface ListJobExecutionsForJobRequest { /** - *

                                                    The maximum number of results to be returned per request.

                                                    + *

                                                    The token to retrieve the next set of results.

                                                    */ - maxResults?: number; + nextToken?: string; /** - *

                                                    The unique identifier you assigned to this job when it was created.

                                                    + *

                                                    The maximum number of results to be returned per request.

                                                    */ - jobId: string | undefined; + maxResults?: number; /** *

                                                    The status of the job.

                                                    @@ -3724,9 +4041,9 @@ export interface ListJobExecutionsForJobRequest { status?: JobExecutionStatus | string; /** - *

                                                    The token to retrieve the next set of results.

                                                    + *

                                                    The unique identifier you assigned to this job when it was created.

                                                    */ - nextToken?: string; + jobId: string | undefined; } export namespace ListJobExecutionsForJobRequest { @@ -3739,16 +4056,6 @@ export namespace ListJobExecutionsForJobRequest { *

                                                    The job execution summary.

                                                    */ export interface JobExecutionSummary { - /** - *

                                                    The time, in seconds since the epoch, when the job execution was queued.

                                                    - */ - queuedAt?: Date; - - /** - *

                                                    The time, in seconds since the epoch, when the job execution was last updated.

                                                    - */ - lastUpdatedAt?: Date; - /** *

                                                    A string (consisting of the digits "0" through "9") which identifies this particular job execution on * this particular device. It can be used later in commands which return or update job execution @@ -3761,10 +4068,20 @@ export interface JobExecutionSummary { */ startedAt?: Date; + /** + *

                                                    The time, in seconds since the epoch, when the job execution was last updated.

                                                    + */ + lastUpdatedAt?: Date; + /** *

                                                    The status of the job execution.

                                                    */ status?: JobExecutionStatus | string; + + /** + *

                                                    The time, in seconds since the epoch, when the job execution was queued.

                                                    + */ + queuedAt?: Date; } export namespace JobExecutionSummary { @@ -3864,15 +4181,15 @@ export namespace JobExecutionSummaryForThing { export interface ListJobExecutionsForThingResponse { /** - *

                                                    The token for the next set of results, or null if there are no - * additional results.

                                                    + *

                                                    A list of job execution summaries.

                                                    */ - nextToken?: string; + executionSummaries?: JobExecutionSummaryForThing[]; /** - *

                                                    A list of job execution summaries.

                                                    + *

                                                    The token for the next set of results, or null if there are no + * additional results.

                                                    */ - executionSummaries?: JobExecutionSummaryForThing[]; + nextToken?: string; } export namespace ListJobExecutionsForThingResponse { @@ -3882,15 +4199,25 @@ export namespace ListJobExecutionsForThingResponse { } export interface ListJobsRequest { + /** + *

                                                    The maximum number of results to return per request.

                                                    + */ + maxResults?: number; + + /** + *

                                                    A filter that limits the returned jobs to those for the specified group.

                                                    + */ + thingGroupId?: string; + /** *

                                                    An optional filter that lets you search for jobs that have the specified status.

                                                    */ status?: JobStatus | string; /** - *

                                                    The token to retrieve the next set of results.

                                                    + *

                                                    A filter that limits the returned jobs to those for the specified group.

                                                    */ - nextToken?: string; + thingGroupName?: string; /** *

                                                    Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things @@ -3901,19 +4228,9 @@ export interface ListJobsRequest { targetSelection?: TargetSelection | string; /** - *

                                                    The maximum number of results to return per request.

                                                    - */ - maxResults?: number; - - /** - *

                                                    A filter that limits the returned jobs to those for the specified group.

                                                    - */ - thingGroupName?: string; - - /** - *

                                                    A filter that limits the returned jobs to those for the specified group.

                                                    + *

                                                    The token to retrieve the next set of results.

                                                    */ - thingGroupId?: string; + nextToken?: string; } export namespace ListJobsRequest { @@ -3927,47 +4244,47 @@ export namespace ListJobsRequest { */ export interface JobSummary { /** - *

                                                    Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things - * specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing - * when a change is detected in a target. For example, a job will run on a thing when the thing is added to a - * target group, even after the job was completed by all things originally in the group.

                                                    + *

                                                    The time, in seconds since the epoch, when the job was created.

                                                    */ - targetSelection?: TargetSelection | string; + createdAt?: Date; /** - *

                                                    The time, in seconds since the epoch, when the job was last updated.

                                                    + *

                                                    The job ARN.

                                                    */ - lastUpdatedAt?: Date; + jobArn?: string; /** - *

                                                    The job summary status.

                                                    + *

                                                    The time, in seconds since the epoch, when the job completed.

                                                    */ - status?: JobStatus | string; + completedAt?: Date; /** - *

                                                    The ID of the thing group.

                                                    + *

                                                    The unique identifier you assigned to this job when it was created.

                                                    */ - thingGroupId?: string; + jobId?: string; /** - *

                                                    The unique identifier you assigned to this job when it was created.

                                                    + *

                                                    The job summary status.

                                                    */ - jobId?: string; + status?: JobStatus | string; /** - *

                                                    The time, in seconds since the epoch, when the job was created.

                                                    + *

                                                    Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things + * specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing + * when a change is detected in a target. For example, a job will run on a thing when the thing is added to a + * target group, even after the job was completed by all things originally in the group.

                                                    */ - createdAt?: Date; + targetSelection?: TargetSelection | string; /** - *

                                                    The job ARN.

                                                    + *

                                                    The time, in seconds since the epoch, when the job was last updated.

                                                    */ - jobArn?: string; + lastUpdatedAt?: Date; /** - *

                                                    The time, in seconds since the epoch, when the job completed.

                                                    + *

                                                    The ID of the thing group.

                                                    */ - completedAt?: Date; + thingGroupId?: string; } export namespace JobSummary { @@ -3978,15 +4295,15 @@ export namespace JobSummary { export interface ListJobsResponse { /** - *

                                                    The token for the next set of results, or null if there are no - * additional results.

                                                    + *

                                                    A list of jobs.

                                                    */ - nextToken?: string; + jobs?: JobSummary[]; /** - *

                                                    A list of jobs.

                                                    + *

                                                    The token for the next set of results, or null if there are no + * additional results.

                                                    */ - jobs?: JobSummary[]; + nextToken?: string; } export namespace ListJobsResponse { @@ -3996,11 +4313,6 @@ export namespace ListJobsResponse { } export interface ListMitigationActionsRequest { - /** - *

                                                    Specify a value to limit the result to mitigation actions with a specific action type.

                                                    - */ - actionType?: MitigationActionType | string; - /** *

                                                    The maximum number of results to return at one time. The default is 25.

                                                    */ @@ -4010,6 +4322,11 @@ export interface ListMitigationActionsRequest { *

                                                    The token for the next set of results.

                                                    */ nextToken?: string; + + /** + *

                                                    Specify a value to limit the result to mitigation actions with a specific action type.

                                                    + */ + actionType?: MitigationActionType | string; } export namespace ListMitigationActionsRequest { @@ -4022,6 +4339,11 @@ export namespace ListMitigationActionsRequest { *

                                                    Information that identifies a mitigation action. This information is returned by ListMitigationActions.

                                                    */ export interface MitigationActionIdentifier { + /** + *

                                                    The date when this mitigation action was created.

                                                    + */ + creationDate?: Date; + /** *

                                                    The friendly name of the mitigation action.

                                                    */ @@ -4031,11 +4353,6 @@ export interface MitigationActionIdentifier { *

                                                    The IAM role ARN used to apply this mitigation action.

                                                    */ actionArn?: string; - - /** - *

                                                    The date when this mitigation action was created.

                                                    - */ - creationDate?: Date; } export namespace MitigationActionIdentifier { @@ -4046,14 +4363,14 @@ export namespace MitigationActionIdentifier { export interface ListMitigationActionsResponse { /** - *

                                                    A set of actions that matched the specified filter criteria.

                                                    + *

                                                    The token for the next set of results.

                                                    */ - actionIdentifiers?: MitigationActionIdentifier[]; + nextToken?: string; /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    A set of actions that matched the specified filter criteria.

                                                    */ - nextToken?: string; + actionIdentifiers?: MitigationActionIdentifier[]; } export namespace ListMitigationActionsResponse { @@ -4064,9 +4381,9 @@ export namespace ListMitigationActionsResponse { export interface ListOTAUpdatesRequest { /** - *

                                                    The OTA update job status.

                                                    + *

                                                    The maximum number of results to return at one time.

                                                    */ - otaUpdateStatus?: OTAUpdateStatus | string; + maxResults?: number; /** *

                                                    A token used to retrieve the next set of results.

                                                    @@ -4074,9 +4391,9 @@ export interface ListOTAUpdatesRequest { nextToken?: string; /** - *

                                                    The maximum number of results to return at one time.

                                                    + *

                                                    The OTA update job status.

                                                    */ - maxResults?: number; + otaUpdateStatus?: OTAUpdateStatus | string; } export namespace ListOTAUpdatesRequest { @@ -4095,14 +4412,14 @@ export interface OTAUpdateSummary { otaUpdateArn?: string; /** - *

                                                    The date when the OTA update was created.

                                                    + *

                                                    The OTA update ID.

                                                    */ - creationDate?: Date; + otaUpdateId?: string; /** - *

                                                    The OTA update ID.

                                                    + *

                                                    The date when the OTA update was created.

                                                    */ - otaUpdateId?: string; + creationDate?: Date; } export namespace OTAUpdateSummary { @@ -4113,14 +4430,14 @@ export namespace OTAUpdateSummary { export interface ListOTAUpdatesResponse { /** - *

                                                    A token to use to get the next set of results.

                                                    + *

                                                    A list of OTA update jobs.

                                                    */ - nextToken?: string; + otaUpdates?: OTAUpdateSummary[]; /** - *

                                                    A list of OTA update jobs.

                                                    + *

                                                    A token to use to get the next set of results.

                                                    */ - otaUpdates?: OTAUpdateSummary[]; + nextToken?: string; } export namespace ListOTAUpdatesResponse { @@ -4134,10 +4451,9 @@ export namespace ListOTAUpdatesResponse { */ export interface ListOutgoingCertificatesRequest { /** - *

                                                    Specifies the order for results. If True, the results are returned in ascending - * order, based on the creation date.

                                                    + *

                                                    The result page size.

                                                    */ - ascendingOrder?: boolean; + pageSize?: number; /** *

                                                    The marker for the next set of results.

                                                    @@ -4145,9 +4461,10 @@ export interface ListOutgoingCertificatesRequest { marker?: string; /** - *

                                                    The result page size.

                                                    + *

                                                    Specifies the order for results. If True, the results are returned in ascending + * order, based on the creation date.

                                                    */ - pageSize?: number; + ascendingOrder?: boolean; } export namespace ListOutgoingCertificatesRequest { @@ -4161,9 +4478,14 @@ export namespace ListOutgoingCertificatesRequest { */ export interface OutgoingCertificate { /** - *

                                                    The certificate ARN.

                                                    + *

                                                    The certificate creation date.

                                                    */ - certificateArn?: string; + creationDate?: Date; + + /** + *

                                                    The transfer message.

                                                    + */ + transferMessage?: string; /** *

                                                    The certificate ID.

                                                    @@ -4171,24 +4493,19 @@ export interface OutgoingCertificate { certificateId?: string; /** - *

                                                    The AWS account to which the transfer was made.

                                                    + *

                                                    The certificate ARN.

                                                    */ - transferredTo?: string; + certificateArn?: string; /** - *

                                                    The certificate creation date.

                                                    + *

                                                    The AWS account to which the transfer was made.

                                                    */ - creationDate?: Date; + transferredTo?: string; /** *

                                                    The date the transfer was initiated.

                                                    */ transferDate?: Date; - - /** - *

                                                    The transfer message.

                                                    - */ - transferMessage?: string; } export namespace OutgoingCertificate { @@ -4202,14 +4519,14 @@ export namespace OutgoingCertificate { */ export interface ListOutgoingCertificatesResponse { /** - *

                                                    The marker for the next set of results.

                                                    + *

                                                    The certificates that are being transferred but not yet accepted.

                                                    */ - nextMarker?: string; + outgoingCertificates?: OutgoingCertificate[]; /** - *

                                                    The certificates that are being transferred but not yet accepted.

                                                    + *

                                                    The marker for the next set of results.

                                                    */ - outgoingCertificates?: OutgoingCertificate[]; + nextMarker?: string; } export namespace ListOutgoingCertificatesResponse { @@ -4223,9 +4540,10 @@ export namespace ListOutgoingCertificatesResponse { */ export interface ListPoliciesRequest { /** - *

                                                    The result page size.

                                                    + *

                                                    Specifies the order for results. If true, the results are returned in ascending + * creation order.

                                                    */ - pageSize?: number; + ascendingOrder?: boolean; /** *

                                                    The marker for the next set of results.

                                                    @@ -4233,10 +4551,9 @@ export interface ListPoliciesRequest { marker?: string; /** - *

                                                    Specifies the order for results. If true, the results are returned in ascending - * creation order.

                                                    + *

                                                    The result page size.

                                                    */ - ascendingOrder?: boolean; + pageSize?: number; } export namespace ListPoliciesRequest { @@ -4272,25 +4589,25 @@ export namespace ListPoliciesResponse { */ export interface ListPolicyPrincipalsRequest { /** - *

                                                    The result page size.

                                                    + *

                                                    Specifies the order for results. If true, the results are returned in ascending + * creation order.

                                                    */ - pageSize?: number; + ascendingOrder?: boolean; /** - *

                                                    The policy name.

                                                    + *

                                                    The marker for the next set of results.

                                                    */ - policyName: string | undefined; + marker?: string; /** - *

                                                    Specifies the order for results. If true, the results are returned in ascending - * creation order.

                                                    + *

                                                    The result page size.

                                                    */ - ascendingOrder?: boolean; + pageSize?: number; /** - *

                                                    The marker for the next set of results.

                                                    + *

                                                    The policy name.

                                                    */ - marker?: string; + policyName: string | undefined; } export namespace ListPolicyPrincipalsRequest { @@ -4342,9 +4659,9 @@ export namespace ListPolicyVersionsRequest { */ export interface PolicyVersion { /** - *

                                                    The date and time the policy was created.

                                                    + *

                                                    The policy version ID.

                                                    */ - createDate?: Date; + versionId?: string; /** *

                                                    Specifies whether the policy version is the default.

                                                    @@ -4352,9 +4669,9 @@ export interface PolicyVersion { isDefaultVersion?: boolean; /** - *

                                                    The policy version ID.

                                                    + *

                                                    The date and time the policy was created.

                                                    */ - versionId?: string; + createDate?: Date; } export namespace PolicyVersion { @@ -4389,20 +4706,20 @@ export interface ListPrincipalPoliciesRequest { marker?: string; /** - *

                                                    The result page size.

                                                    + *

                                                    Specifies the order for results. If true, results are returned in ascending creation + * order.

                                                    */ - pageSize?: number; + ascendingOrder?: boolean; /** - *

                                                    The principal.

                                                    + *

                                                    The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

                                                    */ principal: string | undefined; /** - *

                                                    Specifies the order for results. If true, results are returned in ascending creation - * order.

                                                    + *

                                                    The result page size.

                                                    */ - ascendingOrder?: boolean; + pageSize?: number; } export namespace ListPrincipalPoliciesRequest { @@ -4438,9 +4755,9 @@ export namespace ListPrincipalPoliciesResponse { */ export interface ListPrincipalThingsRequest { /** - *

                                                    The principal.

                                                    + *

                                                    The token to retrieve the next set of results.

                                                    */ - principal: string | undefined; + nextToken?: string; /** *

                                                    The maximum number of results to return in this operation.

                                                    @@ -4448,9 +4765,9 @@ export interface ListPrincipalThingsRequest { maxResults?: number; /** - *

                                                    The token to retrieve the next set of results.

                                                    + *

                                                    The principal.

                                                    */ - nextToken?: string; + principal: string | undefined; } export namespace ListPrincipalThingsRequest { @@ -4464,14 +4781,14 @@ export namespace ListPrincipalThingsRequest { */ export interface ListPrincipalThingsResponse { /** - *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    + *

                                                    The things.

                                                    */ - nextToken?: string; + things?: string[]; /** - *

                                                    The things.

                                                    + *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    */ - things?: string[]; + nextToken?: string; } export namespace ListPrincipalThingsResponse { @@ -4502,11 +4819,6 @@ export namespace ListProvisioningTemplatesRequest { *

                                                    A summary of information about a fleet provisioning template.

                                                    */ export interface ProvisioningTemplateSummary { - /** - *

                                                    True if the fleet provision template is enabled, otherwise false.

                                                    - */ - enabled?: boolean; - /** *

                                                    The date when the fleet provisioning template summary was created.

                                                    */ @@ -4518,9 +4830,9 @@ export interface ProvisioningTemplateSummary { templateArn?: string; /** - *

                                                    The description of the fleet provisioning template.

                                                    + *

                                                    The date when the fleet provisioning template summary was last modified.

                                                    */ - description?: string; + lastModifiedDate?: Date; /** *

                                                    The name of the fleet provisioning template.

                                                    @@ -4528,9 +4840,14 @@ export interface ProvisioningTemplateSummary { templateName?: string; /** - *

                                                    The date when the fleet provisioning template summary was last modified.

                                                    + *

                                                    True if the fleet provision template is enabled, otherwise false.

                                                    */ - lastModifiedDate?: Date; + enabled?: boolean; + + /** + *

                                                    The description of the fleet provisioning template.

                                                    + */ + description?: string; } export namespace ProvisioningTemplateSummary { @@ -4541,14 +4858,14 @@ export namespace ProvisioningTemplateSummary { export interface ListProvisioningTemplatesResponse { /** - *

                                                    A token to retrieve the next set of results.

                                                    + *

                                                    A list of fleet provisioning templates

                                                    */ - nextToken?: string; + templates?: ProvisioningTemplateSummary[]; /** - *

                                                    A list of fleet provisioning templates

                                                    + *

                                                    A token to retrieve the next set of results.

                                                    */ - templates?: ProvisioningTemplateSummary[]; + nextToken?: string; } export namespace ListProvisioningTemplatesResponse { @@ -4558,6 +4875,11 @@ export namespace ListProvisioningTemplatesResponse { } export interface ListProvisioningTemplateVersionsRequest { + /** + *

                                                    The maximum number of results to return at one time.

                                                    + */ + maxResults?: number; + /** *

                                                    A token to retrieve the next set of results.

                                                    */ @@ -4567,11 +4889,6 @@ export interface ListProvisioningTemplateVersionsRequest { *

                                                    The name of the fleet provisioning template.

                                                    */ templateName: string | undefined; - - /** - *

                                                    The maximum number of results to return at one time.

                                                    - */ - maxResults?: number; } export namespace ListProvisioningTemplateVersionsRequest { @@ -4585,9 +4902,9 @@ export namespace ListProvisioningTemplateVersionsRequest { */ export interface ProvisioningTemplateVersionSummary { /** - *

                                                    The ID of the fleet privisioning template version.

                                                    + *

                                                    The date when the fleet provisioning template version was created

                                                    */ - versionId?: number; + creationDate?: Date; /** *

                                                    True if the fleet provisioning template version is the default version, otherwise @@ -4596,9 +4913,9 @@ export interface ProvisioningTemplateVersionSummary { isDefaultVersion?: boolean; /** - *

                                                    The date when the fleet provisioning template version was created

                                                    + *

                                                    The ID of the fleet privisioning template version.

                                                    */ - creationDate?: Date; + versionId?: number; } export namespace ProvisioningTemplateVersionSummary { @@ -4609,14 +4926,14 @@ export namespace ProvisioningTemplateVersionSummary { export interface ListProvisioningTemplateVersionsResponse { /** - *

                                                    A token to retrieve the next set of results.

                                                    + *

                                                    The list of fleet provisioning template versions.

                                                    */ - nextToken?: string; + versions?: ProvisioningTemplateVersionSummary[]; /** - *

                                                    The list of fleet provisioning template versions.

                                                    + *

                                                    A token to retrieve the next set of results.

                                                    */ - versions?: ProvisioningTemplateVersionSummary[]; + nextToken?: string; } export namespace ListProvisioningTemplateVersionsResponse { @@ -4626,6 +4943,11 @@ export namespace ListProvisioningTemplateVersionsResponse { } export interface ListRoleAliasesRequest { + /** + *

                                                    A marker used to get the next set of results.

                                                    + */ + marker?: string; + /** *

                                                    Return the list of role aliases in ascending alphabetical order.

                                                    */ @@ -4635,11 +4957,6 @@ export interface ListRoleAliasesRequest { *

                                                    The maximum number of results to return at one time.

                                                    */ pageSize?: number; - - /** - *

                                                    A marker used to get the next set of results.

                                                    - */ - marker?: string; } export namespace ListRoleAliasesRequest { @@ -4650,14 +4967,14 @@ export namespace ListRoleAliasesRequest { export interface ListRoleAliasesResponse { /** - *

                                                    The role aliases.

                                                    + *

                                                    A marker used to get the next set of results.

                                                    */ - roleAliases?: string[]; + nextMarker?: string; /** - *

                                                    A marker used to get the next set of results.

                                                    + *

                                                    The role aliases.

                                                    */ - nextMarker?: string; + roleAliases?: string[]; } export namespace ListRoleAliasesResponse { @@ -4668,14 +4985,14 @@ export namespace ListRoleAliasesResponse { export interface ListScheduledAuditsRequest { /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    The maximum number of results to return at one time. The default is 25.

                                                    */ - nextToken?: string; + maxResults?: number; /** - *

                                                    The maximum number of results to return at one time. The default is 25.

                                                    + *

                                                    The token for the next set of results.

                                                    */ - maxResults?: number; + nextToken?: string; } export namespace ListScheduledAuditsRequest { @@ -4689,12 +5006,9 @@ export namespace ListScheduledAuditsRequest { */ export interface ScheduledAuditMetadata { /** - *

                                                    The day of the month on which the scheduled audit is run (if the - * frequency is "MONTHLY"). - * If days 29-31 are specified, and the month does not have that many - * days, the audit takes place on the "LAST" day of the month.

                                                    + *

                                                    The name of the scheduled audit.

                                                    */ - dayOfMonth?: string; + scheduledAuditName?: string; /** *

                                                    The day of the week on which the scheduled audit is run (if the @@ -4703,19 +5017,22 @@ export interface ScheduledAuditMetadata { dayOfWeek?: DayOfWeek | string; /** - *

                                                    The ARN of the scheduled audit.

                                                    + *

                                                    The day of the month on which the scheduled audit is run (if the + * frequency is "MONTHLY"). + * If days 29-31 are specified, and the month does not have that many + * days, the audit takes place on the "LAST" day of the month.

                                                    */ - scheduledAuditArn?: string; + dayOfMonth?: string; /** - *

                                                    The name of the scheduled audit.

                                                    + *

                                                    How often the scheduled audit occurs.

                                                    */ - scheduledAuditName?: string; + frequency?: AuditFrequency | string; /** - *

                                                    How often the scheduled audit occurs.

                                                    + *

                                                    The ARN of the scheduled audit.

                                                    */ - frequency?: AuditFrequency | string; + scheduledAuditArn?: string; } export namespace ScheduledAuditMetadata { @@ -4726,15 +5043,15 @@ export namespace ScheduledAuditMetadata { export interface ListScheduledAuditsResponse { /** - *

                                                    A token that can be used to retrieve the next set of results, - * or null if there are no additional results.

                                                    + *

                                                    The list of scheduled audits.

                                                    */ - nextToken?: string; + scheduledAudits?: ScheduledAuditMetadata[]; /** - *

                                                    The list of scheduled audits.

                                                    + *

                                                    A token that can be used to retrieve the next set of results, + * or null if there are no additional results.

                                                    */ - scheduledAudits?: ScheduledAuditMetadata[]; + nextToken?: string; } export namespace ListScheduledAuditsResponse { @@ -4745,9 +5062,9 @@ export namespace ListScheduledAuditsResponse { export interface ListSecurityProfilesRequest { /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    A filter to limit results to the security profiles that use the defined dimension.

                                                    */ - nextToken?: string; + dimensionName?: string; /** *

                                                    The maximum number of results to return at one time.

                                                    @@ -4755,9 +5072,9 @@ export interface ListSecurityProfilesRequest { maxResults?: number; /** - *

                                                    A filter to limit results to the security profiles that use the defined dimension.

                                                    + *

                                                    The token for the next set of results.

                                                    */ - dimensionName?: string; + nextToken?: string; } export namespace ListSecurityProfilesRequest { @@ -4808,9 +5125,9 @@ export namespace ListSecurityProfilesResponse { export interface ListSecurityProfilesForTargetRequest { /** - *

                                                    The maximum number of results to return at one time.

                                                    + *

                                                    The token for the next set of results.

                                                    */ - maxResults?: number; + nextToken?: string; /** *

                                                    If true, return child groups too.

                                                    @@ -4818,14 +5135,14 @@ export interface ListSecurityProfilesForTargetRequest { recursive?: boolean; /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    The ARN of the target (thing group) whose attached security profiles you want to get.

                                                    */ - nextToken?: string; + securityProfileTargetArn: string | undefined; /** - *

                                                    The ARN of the target (thing group) whose attached security profiles you want to get.

                                                    + *

                                                    The maximum number of results to return at one time.

                                                    */ - securityProfileTargetArn: string | undefined; + maxResults?: number; } export namespace ListSecurityProfilesForTargetRequest { @@ -4856,14 +5173,14 @@ export namespace SecurityProfileTarget { */ export interface SecurityProfileTargetMapping { /** - *

                                                    Information about the target (thing group) associated with the security profile.

                                                    + *

                                                    Information that identifies the security profile.

                                                    */ - target?: SecurityProfileTarget; + securityProfileIdentifier?: SecurityProfileIdentifier; /** - *

                                                    Information that identifies the security profile.

                                                    + *

                                                    Information about the target (thing group) associated with the security profile.

                                                    */ - securityProfileIdentifier?: SecurityProfileIdentifier; + target?: SecurityProfileTarget; } export namespace SecurityProfileTargetMapping { @@ -4874,15 +5191,15 @@ export namespace SecurityProfileTargetMapping { export interface ListSecurityProfilesForTargetResponse { /** - *

                                                    A token that can be used to retrieve the next set of results, or null if there are no - * additional results.

                                                    + *

                                                    A list of security profiles and their associated targets.

                                                    */ - nextToken?: string; + securityProfileTargetMappings?: SecurityProfileTargetMapping[]; /** - *

                                                    A list of security profiles and their associated targets.

                                                    + *

                                                    A token that can be used to retrieve the next set of results, or null if there are no + * additional results.

                                                    */ - securityProfileTargetMappings?: SecurityProfileTargetMapping[]; + nextToken?: string; } export namespace ListSecurityProfilesForTargetResponse { @@ -4918,11 +5235,6 @@ export namespace ListStreamsRequest { *

                                                    A summary of a stream.

                                                    */ export interface StreamSummary { - /** - *

                                                    The stream ID.

                                                    - */ - streamId?: string; - /** *

                                                    A description of the stream.

                                                    */ @@ -4937,6 +5249,11 @@ export interface StreamSummary { *

                                                    The stream version.

                                                    */ streamVersion?: number; + + /** + *

                                                    The stream ID.

                                                    + */ + streamId?: string; } export namespace StreamSummary { @@ -5006,14 +5323,14 @@ export interface ListTargetsForPolicyRequest { policyName: string | undefined; /** - *

                                                    The maximum number of results to return at one time.

                                                    + *

                                                    A marker used to get the next set of results.

                                                    */ - pageSize?: number; + marker?: string; /** - *

                                                    A marker used to get the next set of results.

                                                    + *

                                                    The maximum number of results to return at one time.

                                                    */ - marker?: string; + pageSize?: number; } export namespace ListTargetsForPolicyRequest { @@ -5024,14 +5341,14 @@ export namespace ListTargetsForPolicyRequest { export interface ListTargetsForPolicyResponse { /** - *

                                                    The policy targets.

                                                    + *

                                                    A marker used to get the next set of results.

                                                    */ - targets?: string[]; + nextMarker?: string; /** - *

                                                    A marker used to get the next set of results.

                                                    + *

                                                    The policy targets.

                                                    */ - nextMarker?: string; + targets?: string[]; } export namespace ListTargetsForPolicyResponse { @@ -5047,14 +5364,14 @@ export interface ListTargetsForSecurityProfileRequest { securityProfileName: string | undefined; /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    The maximum number of results to return at one time.

                                                    */ - nextToken?: string; + maxResults?: number; /** - *

                                                    The maximum number of results to return at one time.

                                                    + *

                                                    The token for the next set of results.

                                                    */ - maxResults?: number; + nextToken?: string; } export namespace ListTargetsForSecurityProfileRequest { @@ -5065,15 +5382,15 @@ export namespace ListTargetsForSecurityProfileRequest { export interface ListTargetsForSecurityProfileResponse { /** - *

                                                    A token that can be used to retrieve the next set of results, or null if there are no - * additional results.

                                                    + *

                                                    The thing groups to which the security profile is attached.

                                                    */ - nextToken?: string; + securityProfileTargets?: SecurityProfileTarget[]; /** - *

                                                    The thing groups to which the security profile is attached.

                                                    + *

                                                    A token that can be used to retrieve the next set of results, or null if there are no + * additional results.

                                                    */ - securityProfileTargets?: SecurityProfileTarget[]; + nextToken?: string; } export namespace ListTargetsForSecurityProfileResponse { @@ -5117,7 +5434,7 @@ export namespace ListThingGroupsRequest { export interface ListThingGroupsResponse { /** - *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    + *

                                                    The token used to get the next set of results. Will not be returned if operation has returned all results.

                                                    */ nextToken?: string; @@ -5134,11 +5451,6 @@ export namespace ListThingGroupsResponse { } export interface ListThingGroupsForThingRequest { - /** - *

                                                    The maximum number of results to return at one time.

                                                    - */ - maxResults?: number; - /** *

                                                    The thing name.

                                                    */ @@ -5148,6 +5460,11 @@ export interface ListThingGroupsForThingRequest { *

                                                    The token to retrieve the next set of results.

                                                    */ nextToken?: string; + + /** + *

                                                    The maximum number of results to return at one time.

                                                    + */ + maxResults?: number; } export namespace ListThingGroupsForThingRequest { @@ -5212,11 +5529,6 @@ export enum ReportType { } export interface ListThingRegistrationTaskReportsRequest { - /** - *

                                                    The maximum number of results to return per request.

                                                    - */ - maxResults?: number; - /** *

                                                    The token to retrieve the next set of results.

                                                    */ @@ -5231,6 +5543,11 @@ export interface ListThingRegistrationTaskReportsRequest { *

                                                    The type of task report.

                                                    */ reportType: ReportType | string | undefined; + + /** + *

                                                    The maximum number of results to return per request.

                                                    + */ + maxResults?: number; } export namespace ListThingRegistrationTaskReportsRequest { @@ -5240,11 +5557,6 @@ export namespace ListThingRegistrationTaskReportsRequest { } export interface ListThingRegistrationTaskReportsResponse { - /** - *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    - */ - nextToken?: string; - /** *

                                                    The type of task report.

                                                    */ @@ -5254,6 +5566,11 @@ export interface ListThingRegistrationTaskReportsResponse { *

                                                    Links to the task resources.

                                                    */ resourceLinks?: string[]; + + /** + *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    + */ + nextToken?: string; } export namespace ListThingRegistrationTaskReportsResponse { @@ -5287,14 +5604,14 @@ export namespace ListThingRegistrationTasksRequest { export interface ListThingRegistrationTasksResponse { /** - *

                                                    A list of bulk thing provisioning task IDs.

                                                    + *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    */ - taskIds?: string[]; + nextToken?: string; /** - *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    + *

                                                    A list of bulk thing provisioning task IDs.

                                                    */ - nextToken?: string; + taskIds?: string[]; } export namespace ListThingRegistrationTasksResponse { @@ -5307,11 +5624,6 @@ export namespace ListThingRegistrationTasksResponse { *

                                                    The input for the ListThings operation.

                                                    */ export interface ListThingsRequest { - /** - *

                                                    The attribute value used to search for things.

                                                    - */ - attributeValue?: string; - /** *

                                                    The name of the thing type used to search for things.

                                                    */ @@ -5327,6 +5639,11 @@ export interface ListThingsRequest { */ nextToken?: string; + /** + *

                                                    The attribute value used to search for things.

                                                    + */ + attributeValue?: string; + /** *

                                                    The attribute name used to search for things.

                                                    */ @@ -5345,19 +5662,19 @@ export namespace ListThingsRequest { */ export interface ThingAttribute { /** - *

                                                    The version of the thing record in the registry.

                                                    + *

                                                    The name of the thing type, if the thing has been associated with a type.

                                                    */ - version?: number; + thingTypeName?: string; /** - *

                                                    The name of the thing.

                                                    + *

                                                    A list of thing attributes which are name-value pairs.

                                                    */ - thingName?: string; + attributes?: { [key: string]: string }; /** - *

                                                    The name of the thing type, if the thing has been associated with a type.

                                                    + *

                                                    The name of the thing.

                                                    */ - thingTypeName?: string; + thingName?: string; /** *

                                                    The thing ARN.

                                                    @@ -5365,9 +5682,9 @@ export interface ThingAttribute { thingArn?: string; /** - *

                                                    A list of thing attributes which are name-value pairs.

                                                    + *

                                                    The version of the thing record in the registry.

                                                    */ - attributes?: { [key: string]: string }; + version?: number; } export namespace ThingAttribute { @@ -5381,14 +5698,14 @@ export namespace ThingAttribute { */ export interface ListThingsResponse { /** - *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    + *

                                                    The things.

                                                    */ - nextToken?: string; + things?: ThingAttribute[]; /** - *

                                                    The things.

                                                    + *

                                                    The token used to get the next set of results. Will not be returned if operation has returned all results.

                                                    */ - things?: ThingAttribute[]; + nextToken?: string; } export namespace ListThingsResponse { @@ -5398,11 +5715,6 @@ export namespace ListThingsResponse { } export interface ListThingsInBillingGroupRequest { - /** - *

                                                    The name of the billing group.

                                                    - */ - billingGroupName: string | undefined; - /** *

                                                    The token to retrieve the next set of results.

                                                    */ @@ -5412,6 +5724,11 @@ export interface ListThingsInBillingGroupRequest { *

                                                    The maximum number of results to return per request.

                                                    */ maxResults?: number; + + /** + *

                                                    The name of the billing group.

                                                    + */ + billingGroupName: string | undefined; } export namespace ListThingsInBillingGroupRequest { @@ -5422,14 +5739,14 @@ export namespace ListThingsInBillingGroupRequest { export interface ListThingsInBillingGroupResponse { /** - *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    + *

                                                    A list of things in the billing group.

                                                    */ - nextToken?: string; + things?: string[]; /** - *

                                                    A list of things in the billing group.

                                                    + *

                                                    The token used to get the next set of results. Will not be returned if operation has returned all results.

                                                    */ - things?: string[]; + nextToken?: string; } export namespace ListThingsInBillingGroupResponse { @@ -5440,25 +5757,25 @@ export namespace ListThingsInBillingGroupResponse { export interface ListThingsInThingGroupRequest { /** - *

                                                    The token to retrieve the next set of results.

                                                    + *

                                                    The maximum number of results to return at one time.

                                                    */ - nextToken?: string; + maxResults?: number; /** - *

                                                    When true, list things in this thing group and in all child groups as - * well.

                                                    + *

                                                    The thing group name.

                                                    */ - recursive?: boolean; + thingGroupName: string | undefined; /** - *

                                                    The thing group name.

                                                    + *

                                                    The token to retrieve the next set of results.

                                                    */ - thingGroupName: string | undefined; + nextToken?: string; /** - *

                                                    The maximum number of results to return at one time.

                                                    + *

                                                    When true, list things in this thing group and in all child groups as + * well.

                                                    */ - maxResults?: number; + recursive?: boolean; } export namespace ListThingsInThingGroupRequest { @@ -5489,11 +5806,6 @@ export namespace ListThingsInThingGroupResponse { *

                                                    The input for the ListThingTypes operation.

                                                    */ export interface ListThingTypesRequest { - /** - *

                                                    The name of the thing type.

                                                    - */ - thingTypeName?: string; - /** *

                                                    The token to retrieve the next set of results.

                                                    */ @@ -5503,6 +5815,11 @@ export interface ListThingTypesRequest { *

                                                    The maximum number of results to return in this operation.

                                                    */ maxResults?: number; + + /** + *

                                                    The name of the thing type.

                                                    + */ + thingTypeName?: string; } export namespace ListThingTypesRequest { @@ -5515,11 +5832,6 @@ export namespace ListThingTypesRequest { *

                                                    The definition of the thing type, including thing type name and description.

                                                    */ export interface ThingTypeDefinition { - /** - *

                                                    The name of the thing type.

                                                    - */ - thingTypeName?: string; - /** *

                                                    The ThingTypeMetadata contains additional information about the thing type including: creation date and * time, a value indicating whether the thing type is deprecated, and a date and time when it was @@ -5528,14 +5840,19 @@ export interface ThingTypeDefinition { thingTypeMetadata?: ThingTypeMetadata; /** - *

                                                    The thing type ARN.

                                                    + *

                                                    The ThingTypeProperties for the thing type.

                                                    */ - thingTypeArn?: string; + thingTypeProperties?: ThingTypeProperties; /** - *

                                                    The ThingTypeProperties for the thing type.

                                                    + *

                                                    The name of the thing type.

                                                    */ - thingTypeProperties?: ThingTypeProperties; + thingTypeName?: string; + + /** + *

                                                    The thing type ARN.

                                                    + */ + thingTypeArn?: string; } export namespace ThingTypeDefinition { @@ -5549,15 +5866,14 @@ export namespace ThingTypeDefinition { */ export interface ListThingTypesResponse { /** - *

                                                    The thing types.

                                                    + *

                                                    The token for the next set of results. Will not be returned if operation has returned all results.

                                                    */ - thingTypes?: ThingTypeDefinition[]; + nextToken?: string; /** - *

                                                    The token for the next set of results, or null if - * there are no additional results.

                                                    + *

                                                    The thing types.

                                                    */ - nextToken?: string; + thingTypes?: ThingTypeDefinition[]; } export namespace ListThingTypesResponse { @@ -5568,14 +5884,14 @@ export namespace ListThingTypesResponse { export interface ListTopicRuleDestinationsRequest { /** - *

                                                    The token to retrieve the next set of results.

                                                    + *

                                                    The maximum number of results to return at one time.

                                                    */ - nextToken?: string; + maxResults?: number; /** - *

                                                    The maximum number of results to return at one time.

                                                    + *

                                                    The token to retrieve the next set of results.

                                                    */ - maxResults?: number; + nextToken?: string; } export namespace ListTopicRuleDestinationsRequest { @@ -5641,11 +5957,6 @@ export interface TopicRuleDestinationSummary { */ status?: TopicRuleDestinationStatus | string; - /** - *

                                                    The topic rule destination ARN.

                                                    - */ - arn?: string; - /** *

                                                    Information about the HTTP URL.

                                                    */ @@ -5655,6 +5966,11 @@ export interface TopicRuleDestinationSummary { *

                                                    The reason the topic rule destination is in the current status.

                                                    */ statusReason?: string; + + /** + *

                                                    The topic rule destination ARN.

                                                    + */ + arn?: string; } export namespace TopicRuleDestinationSummary { @@ -5665,14 +5981,14 @@ export namespace TopicRuleDestinationSummary { export interface ListTopicRuleDestinationsResponse { /** - *

                                                    Information about a topic rule destination.

                                                    + *

                                                    The token to retrieve the next set of results.

                                                    */ - destinationSummaries?: TopicRuleDestinationSummary[]; + nextToken?: string; /** - *

                                                    The token to retrieve the next set of results.

                                                    + *

                                                    Information about a topic rule destination.

                                                    */ - nextToken?: string; + destinationSummaries?: TopicRuleDestinationSummary[]; } export namespace ListTopicRuleDestinationsResponse { @@ -5685,6 +6001,11 @@ export namespace ListTopicRuleDestinationsResponse { *

                                                    The input for the ListTopicRules operation.

                                                    */ export interface ListTopicRulesRequest { + /** + *

                                                    Specifies whether the rule is disabled.

                                                    + */ + ruleDisabled?: boolean; + /** *

                                                    The topic.

                                                    */ @@ -5695,11 +6016,6 @@ export interface ListTopicRulesRequest { */ nextToken?: string; - /** - *

                                                    Specifies whether the rule is disabled.

                                                    - */ - ruleDisabled?: boolean; - /** *

                                                    The maximum number of results to return.

                                                    */ @@ -5717,14 +6033,14 @@ export namespace ListTopicRulesRequest { */ export interface TopicRuleListItem { /** - *

                                                    Specifies whether the rule is disabled.

                                                    + *

                                                    The name of the rule.

                                                    */ - ruleDisabled?: boolean; + ruleName?: string; /** - *

                                                    The name of the rule.

                                                    + *

                                                    Specifies whether the rule is disabled.

                                                    */ - ruleName?: string; + ruleDisabled?: boolean; /** *

                                                    The date and time the rule was created.

                                                    @@ -5770,6 +6086,12 @@ export namespace ListTopicRulesResponse { } export interface ListV2LoggingLevelsRequest { + /** + *

                                                    The type of resource for which you are configuring logging. Must be + * THING_Group.

                                                    + */ + targetType?: LogTargetType | string; + /** *

                                                    The token used to get the next set of results, or null if there are no additional results.

                                                    */ @@ -5779,12 +6101,6 @@ export interface ListV2LoggingLevelsRequest { *

                                                    The maximum number of results to return at one time.

                                                    */ maxResults?: number; - - /** - *

                                                    The type of resource for which you are configuring logging. Must be - * THING_Group.

                                                    - */ - targetType?: LogTargetType | string; } export namespace ListV2LoggingLevelsRequest { @@ -5798,14 +6114,14 @@ export namespace ListV2LoggingLevelsRequest { */ export interface LogTarget { /** - *

                                                    The target name.

                                                    + *

                                                    The target type.

                                                    */ - targetName?: string; + targetType: LogTargetType | string | undefined; /** - *

                                                    The target type.

                                                    + *

                                                    The target name.

                                                    */ - targetType: LogTargetType | string | undefined; + targetName?: string; } export namespace LogTarget { @@ -5855,25 +6171,15 @@ export namespace ListV2LoggingLevelsResponse { export interface ListViolationEventsRequest { /** - *

                                                    The maximum number of results to return at one time.

                                                    - */ - maxResults?: number; - - /** - *

                                                    The end time for the alerts to be listed.

                                                    + *

                                                    A filter to limit results to those alerts caused by the specified thing.

                                                    */ - endTime: Date | undefined; + thingName?: string; /** *

                                                    A filter to limit results to those alerts generated by the specified security profile.

                                                    */ securityProfileName?: string; - /** - *

                                                    A filter to limit results to those alerts caused by the specified thing.

                                                    - */ - thingName?: string; - /** *

                                                    The start time for the alerts to be listed.

                                                    */ @@ -5883,6 +6189,16 @@ export interface ListViolationEventsRequest { *

                                                    The token for the next set of results.

                                                    */ nextToken?: string; + + /** + *

                                                    The maximum number of results to return at one time.

                                                    + */ + maxResults?: number; + + /** + *

                                                    The end time for the alerts to be listed.

                                                    + */ + endTime: Date | undefined; } export namespace ListViolationEventsRequest { @@ -5902,24 +6218,24 @@ export enum ViolationEventType { */ export interface ViolationEvent { /** - *

                                                    The time the violation event occurred.

                                                    + *

                                                    The value of the metric (the measurement).

                                                    */ - violationEventTime?: Date; + metricValue?: MetricValue; /** - *

                                                    The ID of the violation event.

                                                    + *

                                                    The name of the thing responsible for the violation event.

                                                    */ - violationId?: string; + thingName?: string; /** - *

                                                    The behavior which was violated.

                                                    + *

                                                    The type of violation event.

                                                    */ - behavior?: Behavior; + violationEventType?: ViolationEventType | string; /** - *

                                                    The value of the metric (the measurement).

                                                    + *

                                                    The time the violation event occurred.

                                                    */ - metricValue?: MetricValue; + violationEventTime?: Date; /** *

                                                    The name of the security profile whose behavior was violated.

                                                    @@ -5927,14 +6243,14 @@ export interface ViolationEvent { securityProfileName?: string; /** - *

                                                    The name of the thing responsible for the violation event.

                                                    + *

                                                    The ID of the violation event.

                                                    */ - thingName?: string; + violationId?: string; /** - *

                                                    The type of violation event.

                                                    + *

                                                    The behavior which was violated.

                                                    */ - violationEventType?: ViolationEventType | string; + behavior?: Behavior; } export namespace ViolationEvent { @@ -5968,16 +6284,15 @@ export namespace ListViolationEventsResponse { */ export interface RegisterCACertificateRequest { /** - *

                                                    Metadata which can be used to manage the CA certificate.

                                                    - * - *

                                                    For URI Request parameters use format: ...key1=value1&key2=value2...

                                                    - *

                                                    For the CLI command-line parameter use format: &&tags - * "key1=value1&key2=value2..."

                                                    - *

                                                    For the cli-input-json file use format: "tags": - * "key1=value1&key2=value2..."

                                                    - *
                                                    + *

                                                    Allows this CA certificate to be used for auto registration of device + * certificates.

                                                    */ - tags?: Tag[]; + allowAutoRegistration?: boolean; + + /** + *

                                                    The private key verification certificate.

                                                    + */ + verificationCertificate: string | undefined; /** *

                                                    Information about the registration configuration.

                                                    @@ -5990,20 +6305,21 @@ export interface RegisterCACertificateRequest { caCertificate: string | undefined; /** - *

                                                    The private key verification certificate.

                                                    - */ - verificationCertificate: string | undefined; - - /** - *

                                                    Allows this CA certificate to be used for auto registration of device - * certificates.

                                                    + *

                                                    A boolean value that specifies if the CA certificate is set to active.

                                                    */ - allowAutoRegistration?: boolean; + setAsActive?: boolean; /** - *

                                                    A boolean value that specifies if the CA certificate is set to active.

                                                    + *

                                                    Metadata which can be used to manage the CA certificate.

                                                    + * + *

                                                    For URI Request parameters use format: ...key1=value1&key2=value2...

                                                    + *

                                                    For the CLI command-line parameter use format: &&tags + * "key1=value1&key2=value2..."

                                                    + *

                                                    For the cli-input-json file use format: "tags": + * "key1=value1&key2=value2..."

                                                    + *
                                                    */ - setAsActive?: boolean; + tags?: Tag[]; } export namespace RegisterCACertificateRequest { @@ -6075,6 +6391,11 @@ export namespace CertificateConflictException { *

                                                    The input to the RegisterCertificate operation.

                                                    */ export interface RegisterCertificateRequest { + /** + *

                                                    The certificate data, in PEM format.

                                                    + */ + certificatePem: string | undefined; + /** *

                                                    The status of the register certificate request.

                                                    */ @@ -6089,11 +6410,6 @@ export interface RegisterCertificateRequest { *

                                                    The CA certificate used to sign the device certificate being registered.

                                                    */ caCertificatePem?: string; - - /** - *

                                                    The certificate data, in PEM format.

                                                    - */ - certificatePem: string | undefined; } export namespace RegisterCertificateRequest { @@ -6107,14 +6423,14 @@ export namespace RegisterCertificateRequest { */ export interface RegisterCertificateResponse { /** - *

                                                    The certificate ARN.

                                                    + *

                                                    The certificate identifier.

                                                    */ - certificateArn?: string; + certificateId?: string; /** - *

                                                    The certificate identifier.

                                                    + *

                                                    The certificate ARN.

                                                    */ - certificateId?: string; + certificateArn?: string; } export namespace RegisterCertificateResponse { @@ -6125,14 +6441,14 @@ export namespace RegisterCertificateResponse { export interface RegisterCertificateWithoutCARequest { /** - *

                                                    The certificate data, in PEM format.

                                                    + *

                                                    The status of the register certificate request.

                                                    */ - certificatePem: string | undefined; + status?: CertificateStatus | string; /** - *

                                                    The status of the register certificate request.

                                                    + *

                                                    The certificate data, in PEM format.

                                                    */ - status?: CertificateStatus | string; + certificatePem: string | undefined; } export namespace RegisterCertificateWithoutCARequest { @@ -6143,15 +6459,15 @@ export namespace RegisterCertificateWithoutCARequest { export interface RegisterCertificateWithoutCAResponse { /** - *

                                                    The ID of the registered certificate. (The last part of the certificate ARN contains the - * certificate ID.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the registered certificate.

                                                    */ - certificateId?: string; + certificateArn?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the registered certificate.

                                                    + *

                                                    The ID of the registered certificate. (The last part of the certificate ARN contains the + * certificate ID.

                                                    */ - certificateArn?: string; + certificateId?: string; } export namespace RegisterCertificateWithoutCAResponse { @@ -6238,9 +6554,9 @@ export namespace RejectCertificateTransferRequest { export interface RemoveThingFromBillingGroupRequest { /** - *

                                                    The ARN of the thing to be removed from the billing group.

                                                    + *

                                                    The ARN of the billing group.

                                                    */ - thingArn?: string; + billingGroupArn?: string; /** *

                                                    The name of the thing to be removed from the billing group.

                                                    @@ -6248,9 +6564,9 @@ export interface RemoveThingFromBillingGroupRequest { thingName?: string; /** - *

                                                    The ARN of the billing group.

                                                    + *

                                                    The ARN of the thing to be removed from the billing group.

                                                    */ - billingGroupArn?: string; + thingArn?: string; /** *

                                                    The name of the billing group.

                                                    @@ -6273,25 +6589,25 @@ export namespace RemoveThingFromBillingGroupResponse { } export interface RemoveThingFromThingGroupRequest { - /** - *

                                                    The ARN of the thing to remove from the group.

                                                    - */ - thingArn?: string; - /** *

                                                    The name of the thing to remove from the group.

                                                    */ thingName?: string; /** - *

                                                    The group name.

                                                    + *

                                                    The ARN of the thing to remove from the group.

                                                    */ - thingGroupName?: string; + thingArn?: string; /** *

                                                    The group ARN.

                                                    */ thingGroupArn?: string; + + /** + *

                                                    The group name.

                                                    + */ + thingGroupName?: string; } export namespace RemoveThingFromThingGroupRequest { @@ -6346,15 +6662,15 @@ export interface SearchIndexRequest { indexName?: string; /** - *

                                                    The token used to get the next set of results, or null if there are no additional - * results.

                                                    + *

                                                    The maximum number of results to return at one time.

                                                    */ - nextToken?: string; + maxResults?: number; /** - *

                                                    The maximum number of results to return at one time.

                                                    + *

                                                    The token used to get the next set of results, or null if there are no additional + * results.

                                                    */ - maxResults?: number; + nextToken?: string; } export namespace SearchIndexRequest { @@ -6368,9 +6684,9 @@ export namespace SearchIndexRequest { */ export interface ThingGroupDocument { /** - *

                                                    The thing group ID.

                                                    + *

                                                    The thing group name.

                                                    */ - thingGroupId?: string; + thingGroupName?: string; /** *

                                                    The thing group attributes.

                                                    @@ -6378,19 +6694,19 @@ export interface ThingGroupDocument { attributes?: { [key: string]: string }; /** - *

                                                    The thing group description.

                                                    + *

                                                    Parent group names.

                                                    */ - thingGroupDescription?: string; + parentGroupNames?: string[]; /** - *

                                                    Parent group names.

                                                    + *

                                                    The thing group description.

                                                    */ - parentGroupNames?: string[]; + thingGroupDescription?: string; /** - *

                                                    The thing group name.

                                                    + *

                                                    The thing group ID.

                                                    */ - thingGroupName?: string; + thingGroupId?: string; } export namespace ThingGroupDocument { @@ -6427,39 +6743,39 @@ export namespace ThingConnectivity { */ export interface ThingDocument { /** - *

                                                    Thing group names.

                                                    + *

                                                    The thing type name.

                                                    */ - thingGroupNames?: string[]; + thingTypeName?: string; /** - *

                                                    The shadow.

                                                    + *

                                                    The thing name.

                                                    */ - shadow?: string; + thingName?: string; /** - *

                                                    Indicates whether the thing is connected to the AWS IoT service.

                                                    + *

                                                    The attributes.

                                                    */ - connectivity?: ThingConnectivity; + attributes?: { [key: string]: string }; /** - *

                                                    The thing type name.

                                                    + *

                                                    The shadow.

                                                    */ - thingTypeName?: string; + shadow?: string; /** - *

                                                    The thing name.

                                                    + *

                                                    The thing ID.

                                                    */ - thingName?: string; + thingId?: string; /** - *

                                                    The attributes.

                                                    + *

                                                    Indicates whether the thing is connected to the AWS IoT service.

                                                    */ - attributes?: { [key: string]: string }; + connectivity?: ThingConnectivity; /** - *

                                                    The thing ID.

                                                    + *

                                                    Thing group names.

                                                    */ - thingId?: string; + thingGroupNames?: string[]; } export namespace ThingDocument { @@ -6476,14 +6792,14 @@ export interface SearchIndexResponse { nextToken?: string; /** - *

                                                    The things that match the search query.

                                                    + *

                                                    The thing groups that match the search query.

                                                    */ - things?: ThingDocument[]; + thingGroups?: ThingGroupDocument[]; /** - *

                                                    The thing groups that match the search query.

                                                    + *

                                                    The things that match the search query.

                                                    */ - thingGroups?: ThingGroupDocument[]; + things?: ThingDocument[]; } export namespace SearchIndexResponse { @@ -6549,14 +6865,14 @@ export namespace SetDefaultPolicyVersionRequest { */ export interface LoggingOptionsPayload { /** - *

                                                    The ARN of the IAM role that grants access.

                                                    + *

                                                    The log level.

                                                    */ - roleArn: string | undefined; + logLevel?: LogLevel | string; /** - *

                                                    The log level.

                                                    + *

                                                    The ARN of the IAM role that grants access.

                                                    */ - logLevel?: LogLevel | string; + roleArn: string | undefined; } export namespace LoggingOptionsPayload { @@ -6606,14 +6922,14 @@ export interface SetV2LoggingOptionsRequest { defaultLogLevel?: LogLevel | string; /** - *

                                                    The ARN of the role that allows IoT to write to Cloudwatch logs.

                                                    + *

                                                    If true all logs are disabled. The default is false.

                                                    */ - roleArn?: string; + disableAllLogs?: boolean; /** - *

                                                    If true all logs are disabled. The default is false.

                                                    + *

                                                    The ARN of the role that allows IoT to write to Cloudwatch logs.

                                                    */ - disableAllLogs?: boolean; + roleArn?: string; } export namespace SetV2LoggingOptionsRequest { @@ -6624,24 +6940,24 @@ export namespace SetV2LoggingOptionsRequest { export interface StartAuditMitigationActionsTaskRequest { /** - *

                                                    Each audit mitigation task must have a unique client request token. If you try to start a new task with the same token as a task that already exists, an exception occurs. If you omit this value, a unique client request token is generated automatically.

                                                    + *

                                                    Specifies the audit findings to which the mitigation actions are applied. You can apply them to a type of audit check, to all findings from an audit, or to a speecific set of findings.

                                                    */ - clientRequestToken?: string; + target: AuditMitigationActionsTaskTarget | undefined; /** - *

                                                    Specifies the audit findings to which the mitigation actions are applied. You can apply them to a type of audit check, to all findings from an audit, or to a speecific set of findings.

                                                    + *

                                                    For an audit check, specifies which mitigation actions to apply. Those actions must be defined in your AWS account.

                                                    */ - target: AuditMitigationActionsTaskTarget | undefined; + auditCheckToActionsMapping: { [key: string]: string[] } | undefined; /** - *

                                                    A unique identifier for the task. You can use this identifier to check the status of the task or to cancel it.

                                                    + *

                                                    Each audit mitigation task must have a unique client request token. If you try to start a new task with the same token as a task that already exists, an exception occurs. If you omit this value, a unique client request token is generated automatically.

                                                    */ - taskId: string | undefined; + clientRequestToken?: string; /** - *

                                                    For an audit check, specifies which mitigation actions to apply. Those actions must be defined in your AWS account.

                                                    + *

                                                    A unique identifier for the task. You can use this identifier to check the status of the task or to cancel it.

                                                    */ - auditCheckToActionsMapping: { [key: string]: string[] } | undefined; + taskId: string | undefined; } export namespace StartAuditMitigationActionsTaskRequest { @@ -6708,11 +7024,6 @@ export namespace StartOnDemandAuditTaskResponse { } export interface StartThingRegistrationTaskRequest { - /** - *

                                                    The IAM role ARN that grants permission the input file.

                                                    - */ - roleArn: string | undefined; - /** *

                                                    The name of input file within the S3 bucket. This file contains a newline delimited * JSON file. Each line contains the parameter values to provision one device @@ -6720,15 +7031,20 @@ export interface StartThingRegistrationTaskRequest { */ inputFileKey: string | undefined; + /** + *

                                                    The provisioning template.

                                                    + */ + templateBody: string | undefined; + /** *

                                                    The S3 bucket that contains the input file.

                                                    */ inputFileBucket: string | undefined; /** - *

                                                    The provisioning template.

                                                    + *

                                                    The IAM role ARN that grants permission the input file.

                                                    */ - templateBody: string | undefined; + roleArn: string | undefined; } export namespace StartThingRegistrationTaskRequest { @@ -6798,12 +7114,6 @@ export namespace TagResourceResponse { } export interface TestAuthorizationRequest { - /** - *

                                                    When testing custom authorization, the policies specified here are treated as if they - * are attached to the principal being authorized.

                                                    - */ - policyNamesToAdd?: string[]; - /** *

                                                    When testing custom authorization, the policies specified here are treated as if they * are not attached to the principal being authorized.

                                                    @@ -6811,7 +7121,7 @@ export interface TestAuthorizationRequest { policyNamesToSkip?: string[]; /** - *

                                                    The principal.

                                                    + *

                                                    The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

                                                    */ principal?: string; @@ -6825,6 +7135,12 @@ export interface TestAuthorizationRequest { */ clientId?: string; + /** + *

                                                    When testing custom authorization, the policies specified here are treated as if they + * are attached to the principal being authorized.

                                                    + */ + policyNamesToAdd?: string[]; + /** *

                                                    A list of authorization info objects. Simulating authorization will create a response * for each authInfo object in the list.

                                                    @@ -6895,14 +7211,14 @@ export namespace HttpContext { */ export interface MqttContext { /** - *

                                                    The value of the username key in an MQTT authorization request.

                                                    + *

                                                    The value of the clientId key in an MQTT authorization request.

                                                    */ - username?: string; + clientId?: string; /** - *

                                                    The value of the clientId key in an MQTT authorization request.

                                                    + *

                                                    The value of the username key in an MQTT authorization request.

                                                    */ - clientId?: string; + username?: string; /** *

                                                    The value of the password key in an MQTT authorization request.

                                                    @@ -6915,271 +7231,3 @@ export namespace MqttContext { ...obj, }); } - -/** - *

                                                    Specifies the TLS context to use for the test authorizer request.

                                                    - */ -export interface TlsContext { - /** - *

                                                    The value of the serverName key in a TLS authorization request.

                                                    - */ - serverName?: string; -} - -export namespace TlsContext { - export const filterSensitiveLog = (obj: TlsContext): any => ({ - ...obj, - }); -} - -export interface TestInvokeAuthorizerRequest { - /** - *

                                                    The token returned by your custom authentication service.

                                                    - */ - token?: string; - - /** - *

                                                    The signature made with the token and your custom authentication service's private - * key. This value must be Base-64-encoded.

                                                    - */ - tokenSignature?: string; - - /** - *

                                                    Specifies a test MQTT authorization request.

                                                    - */ - mqttContext?: MqttContext; - - /** - *

                                                    The custom authorizer name.

                                                    - */ - authorizerName: string | undefined; - - /** - *

                                                    Specifies a test TLS authorization request.

                                                    - */ - tlsContext?: TlsContext; - - /** - *

                                                    Specifies a test HTTP authorization request.

                                                    - */ - httpContext?: HttpContext; -} - -export namespace TestInvokeAuthorizerRequest { - export const filterSensitiveLog = (obj: TestInvokeAuthorizerRequest): any => ({ - ...obj, - }); -} - -export interface TestInvokeAuthorizerResponse { - /** - *

                                                    IAM policy documents.

                                                    - */ - policyDocuments?: string[]; - - /** - *

                                                    The number of seconds after which the temporary credentials are refreshed.

                                                    - */ - refreshAfterInSeconds?: number; - - /** - *

                                                    True if the token is authenticated, otherwise false.

                                                    - */ - isAuthenticated?: boolean; - - /** - *

                                                    The number of seconds after which the connection is terminated.

                                                    - */ - disconnectAfterInSeconds?: number; - - /** - *

                                                    The principal ID.

                                                    - */ - principalId?: string; -} - -export namespace TestInvokeAuthorizerResponse { - export const filterSensitiveLog = (obj: TestInvokeAuthorizerResponse): any => ({ - ...obj, - }); -} - -/** - *

                                                    The input for the TransferCertificate operation.

                                                    - */ -export interface TransferCertificateRequest { - /** - *

                                                    The ID of the certificate. (The last part of the certificate ARN contains the - * certificate ID.)

                                                    - */ - certificateId: string | undefined; - - /** - *

                                                    The transfer message.

                                                    - */ - transferMessage?: string; - - /** - *

                                                    The AWS account.

                                                    - */ - targetAwsAccount: string | undefined; -} - -export namespace TransferCertificateRequest { - export const filterSensitiveLog = (obj: TransferCertificateRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                    The output from the TransferCertificate operation.

                                                    - */ -export interface TransferCertificateResponse { - /** - *

                                                    The ARN of the certificate.

                                                    - */ - transferredCertificateArn?: string; -} - -export namespace TransferCertificateResponse { - export const filterSensitiveLog = (obj: TransferCertificateResponse): any => ({ - ...obj, - }); -} - -/** - *

                                                    You can't transfer the certificate because authorization policies are still - * attached.

                                                    - */ -export interface TransferConflictException extends __SmithyException, $MetadataBearer { - name: "TransferConflictException"; - $fault: "client"; - /** - *

                                                    The message for the exception.

                                                    - */ - message?: string; -} - -export namespace TransferConflictException { - export const filterSensitiveLog = (obj: TransferConflictException): any => ({ - ...obj, - }); -} - -export interface UntagResourceRequest { - /** - *

                                                    A list of the keys of the tags to be removed from the resource.

                                                    - */ - tagKeys: string[] | undefined; - - /** - *

                                                    The ARN of the resource.

                                                    - */ - resourceArn: 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, - }); -} - -export interface UpdateAccountAuditConfigurationRequest { - /** - *

                                                    Specifies which audit checks are enabled and disabled for this account. Use - * DescribeAccountAuditConfiguration to see the list of all checks, including those - * that are currently enabled.

                                                    - *

                                                    Some data collection might start immediately when certain checks are enabled. - * When a check is disabled, any data collected so far in relation to the check is deleted.

                                                    - *

                                                    You cannot disable a check if it is used by any scheduled audit. You must first delete the check - * from the scheduled audit or delete the scheduled audit itself.

                                                    - *

                                                    On the first call to UpdateAccountAuditConfiguration, - * this parameter is required and must specify at least one enabled check.

                                                    - */ - auditCheckConfigurations?: { [key: string]: AuditCheckConfiguration }; - - /** - *

                                                    Information about the targets to which audit notifications are sent.

                                                    - */ - auditNotificationTargetConfigurations?: { [key: string]: AuditNotificationTarget }; - - /** - *

                                                    The ARN of the role that grants permission to AWS IoT to access information - * about your devices, policies, certificates and other items as required when - * performing an audit.

                                                    - */ - roleArn?: string; -} - -export namespace UpdateAccountAuditConfigurationRequest { - export const filterSensitiveLog = (obj: UpdateAccountAuditConfigurationRequest): any => ({ - ...obj, - }); -} - -export interface UpdateAccountAuditConfigurationResponse {} - -export namespace UpdateAccountAuditConfigurationResponse { - export const filterSensitiveLog = (obj: UpdateAccountAuditConfigurationResponse): any => ({ - ...obj, - }); -} - -export interface UpdateAuthorizerRequest { - /** - *

                                                    The ARN of the authorizer's Lambda function.

                                                    - */ - authorizerFunctionArn?: string; - - /** - *

                                                    The key used to extract the token from the HTTP headers.

                                                    - */ - tokenKeyName?: string; - - /** - *

                                                    The public keys used to verify the token signature.

                                                    - */ - tokenSigningPublicKeys?: { [key: string]: string }; - - /** - *

                                                    The status of the update authorizer request.

                                                    - */ - status?: AuthorizerStatus | string; - - /** - *

                                                    The authorizer name.

                                                    - */ - authorizerName: string | undefined; -} - -export namespace UpdateAuthorizerRequest { - export const filterSensitiveLog = (obj: UpdateAuthorizerRequest): any => ({ - ...obj, - }); -} - -export interface UpdateAuthorizerResponse { - /** - *

                                                    The authorizer name.

                                                    - */ - authorizerName?: string; - - /** - *

                                                    The authorizer ARN.

                                                    - */ - authorizerArn?: string; -} - -export namespace UpdateAuthorizerResponse { - export const filterSensitiveLog = (obj: UpdateAuthorizerResponse): any => ({ - ...obj, - }); -} diff --git a/clients/client-iot/models/models_2.ts b/clients/client-iot/models/models_2.ts index 80c122ae858a..962e811f0bd5 100644 --- a/clients/client-iot/models/models_2.ts +++ b/clients/client-iot/models/models_2.ts @@ -2,12 +2,14 @@ import { AbortConfig, AlertTarget, AttributePayload, + AuditCheckConfiguration, AuditFrequency, + AuditNotificationTarget, AuthorizerConfig, + AuthorizerStatus, AutoRegistrationStatus, Behavior, BillingGroupProperties, - CACertificateStatus, DayOfWeek, DimensionType, JobExecutionsRolloutConfig, @@ -15,20 +17,343 @@ import { MitigationActionParams, PresignedUrlConfig, ProvisioningHook, + ResourceIdentifier, StreamFile, ThingGroupProperties, TimeoutConfig, TopicRuleDestinationStatus, } from "./models_0"; import { + CACertificateStatus, CertificateStatus, Configuration, DomainConfigurationStatus, + HttpContext, + MqttContext, RegistrationConfig, ThingGroupIndexingConfiguration, ThingIndexingConfiguration, } from "./models_1"; -import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; + +/** + *

                                                    Specifies the TLS context to use for the test authorizer request.

                                                    + */ +export interface TlsContext { + /** + *

                                                    The value of the serverName key in a TLS authorization request.

                                                    + */ + serverName?: string; +} + +export namespace TlsContext { + export const filterSensitiveLog = (obj: TlsContext): any => ({ + ...obj, + }); +} + +export interface TestInvokeAuthorizerRequest { + /** + *

                                                    The custom authorizer name.

                                                    + */ + authorizerName: string | undefined; + + /** + *

                                                    Specifies a test MQTT authorization request.

                                                    + */ + mqttContext?: MqttContext; + + /** + *

                                                    Specifies a test TLS authorization request.

                                                    + */ + tlsContext?: TlsContext; + + /** + *

                                                    The token returned by your custom authentication service.

                                                    + */ + token?: string; + + /** + *

                                                    Specifies a test HTTP authorization request.

                                                    + */ + httpContext?: HttpContext; + + /** + *

                                                    The signature made with the token and your custom authentication service's private + * key. This value must be Base-64-encoded.

                                                    + */ + tokenSignature?: string; +} + +export namespace TestInvokeAuthorizerRequest { + export const filterSensitiveLog = (obj: TestInvokeAuthorizerRequest): any => ({ + ...obj, + }); +} + +export interface TestInvokeAuthorizerResponse { + /** + *

                                                    The number of seconds after which the temporary credentials are refreshed.

                                                    + */ + refreshAfterInSeconds?: number; + + /** + *

                                                    True if the token is authenticated, otherwise false.

                                                    + */ + isAuthenticated?: boolean; + + /** + *

                                                    The number of seconds after which the connection is terminated.

                                                    + */ + disconnectAfterInSeconds?: number; + + /** + *

                                                    The principal ID.

                                                    + */ + principalId?: string; + + /** + *

                                                    IAM policy documents.

                                                    + */ + policyDocuments?: string[]; +} + +export namespace TestInvokeAuthorizerResponse { + export const filterSensitiveLog = (obj: TestInvokeAuthorizerResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                    The input for the TransferCertificate operation.

                                                    + */ +export interface TransferCertificateRequest { + /** + *

                                                    The AWS account.

                                                    + */ + targetAwsAccount: string | undefined; + + /** + *

                                                    The ID of the certificate. (The last part of the certificate ARN contains the + * certificate ID.)

                                                    + */ + certificateId: string | undefined; + + /** + *

                                                    The transfer message.

                                                    + */ + transferMessage?: string; +} + +export namespace TransferCertificateRequest { + export const filterSensitiveLog = (obj: TransferCertificateRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                    The output from the TransferCertificate operation.

                                                    + */ +export interface TransferCertificateResponse { + /** + *

                                                    The ARN of the certificate.

                                                    + */ + transferredCertificateArn?: string; +} + +export namespace TransferCertificateResponse { + export const filterSensitiveLog = (obj: TransferCertificateResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                    You can't transfer the certificate because authorization policies are still + * attached.

                                                    + */ +export interface TransferConflictException extends __SmithyException, $MetadataBearer { + name: "TransferConflictException"; + $fault: "client"; + /** + *

                                                    The message for the exception.

                                                    + */ + message?: string; +} + +export namespace TransferConflictException { + export const filterSensitiveLog = (obj: TransferConflictException): any => ({ + ...obj, + }); +} + +export interface UntagResourceRequest { + /** + *

                                                    A list of the keys of the tags to be removed from the resource.

                                                    + */ + tagKeys: string[] | undefined; + + /** + *

                                                    The ARN of the resource.

                                                    + */ + resourceArn: 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, + }); +} + +export interface UpdateAccountAuditConfigurationRequest { + /** + *

                                                    The ARN of the role that grants permission to AWS IoT to access information + * about your devices, policies, certificates and other items as required when + * performing an audit.

                                                    + */ + roleArn?: string; + + /** + *

                                                    Information about the targets to which audit notifications are sent.

                                                    + */ + auditNotificationTargetConfigurations?: { [key: string]: AuditNotificationTarget }; + + /** + *

                                                    Specifies which audit checks are enabled and disabled for this account. Use + * DescribeAccountAuditConfiguration to see the list of all checks, including those + * that are currently enabled.

                                                    + *

                                                    Some data collection might start immediately when certain checks are enabled. + * When a check is disabled, any data collected so far in relation to the check is deleted.

                                                    + *

                                                    You cannot disable a check if it is used by any scheduled audit. You must first delete the check + * from the scheduled audit or delete the scheduled audit itself.

                                                    + *

                                                    On the first call to UpdateAccountAuditConfiguration, + * this parameter is required and must specify at least one enabled check.

                                                    + */ + auditCheckConfigurations?: { [key: string]: AuditCheckConfiguration }; +} + +export namespace UpdateAccountAuditConfigurationRequest { + export const filterSensitiveLog = (obj: UpdateAccountAuditConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface UpdateAccountAuditConfigurationResponse {} + +export namespace UpdateAccountAuditConfigurationResponse { + export const filterSensitiveLog = (obj: UpdateAccountAuditConfigurationResponse): any => ({ + ...obj, + }); +} + +export interface UpdateAuditSuppressionRequest { + /** + *

                                                    + * Indicates whether a suppression should exist indefinitely or not. + *

                                                    + */ + suppressIndefinitely?: boolean; + + /** + *

                                                    An audit check name. Checks must be enabled + * for your account. (Use DescribeAccountAuditConfiguration to see the list + * of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + * to select which checks are enabled.)

                                                    + */ + checkName: string | undefined; + + /** + *

                                                    Information that identifies the noncompliant resource.

                                                    + */ + resourceIdentifier: ResourceIdentifier | undefined; + + /** + *

                                                    + * The description of the audit suppression. + *

                                                    + */ + description?: string; + + /** + *

                                                    + * The expiration date (epoch timestamp in seconds) that you want the suppression to adhere to. + *

                                                    + */ + expirationDate?: Date; +} + +export namespace UpdateAuditSuppressionRequest { + export const filterSensitiveLog = (obj: UpdateAuditSuppressionRequest): any => ({ + ...obj, + }); +} + +export interface UpdateAuditSuppressionResponse {} + +export namespace UpdateAuditSuppressionResponse { + export const filterSensitiveLog = (obj: UpdateAuditSuppressionResponse): any => ({ + ...obj, + }); +} + +export interface UpdateAuthorizerRequest { + /** + *

                                                    The status of the update authorizer request.

                                                    + */ + status?: AuthorizerStatus | string; + + /** + *

                                                    The authorizer name.

                                                    + */ + authorizerName: string | undefined; + + /** + *

                                                    The key used to extract the token from the HTTP headers.

                                                    + */ + tokenKeyName?: string; + + /** + *

                                                    The public keys used to verify the token signature.

                                                    + */ + tokenSigningPublicKeys?: { [key: string]: string }; + + /** + *

                                                    The ARN of the authorizer's Lambda function.

                                                    + */ + authorizerFunctionArn?: string; +} + +export namespace UpdateAuthorizerRequest { + export const filterSensitiveLog = (obj: UpdateAuthorizerRequest): any => ({ + ...obj, + }); +} + +export interface UpdateAuthorizerResponse { + /** + *

                                                    The authorizer ARN.

                                                    + */ + authorizerArn?: string; + + /** + *

                                                    The authorizer name.

                                                    + */ + authorizerName?: string; +} + +export namespace UpdateAuthorizerResponse { + export const filterSensitiveLog = (obj: UpdateAuthorizerResponse): any => ({ + ...obj, + }); +} export interface UpdateBillingGroupRequest { /** @@ -74,9 +399,10 @@ export namespace UpdateBillingGroupResponse { */ export interface UpdateCACertificateRequest { /** - *

                                                    If true, removes auto registration.

                                                    + *

                                                    The new value for the auto registration status. Valid values are: "ENABLE" or + * "DISABLE".

                                                    */ - removeAutoRegistration?: boolean; + newAutoRegistrationStatus?: AutoRegistrationStatus | string; /** *

                                                    The CA certificate identifier.

                                                    @@ -84,23 +410,22 @@ export interface UpdateCACertificateRequest { certificateId: string | undefined; /** - *

                                                    The updated status of the CA certificate.

                                                    - *

                                                    - * Note: The status value REGISTER_INACTIVE is deprecated and - * should not be used.

                                                    + *

                                                    Information about the registration configuration.

                                                    */ - newStatus?: CACertificateStatus | string; + registrationConfig?: RegistrationConfig; /** - *

                                                    The new value for the auto registration status. Valid values are: "ENABLE" or - * "DISABLE".

                                                    + *

                                                    If true, removes auto registration.

                                                    */ - newAutoRegistrationStatus?: AutoRegistrationStatus | string; + removeAutoRegistration?: boolean; /** - *

                                                    Information about the registration configuration.

                                                    + *

                                                    The updated status of the CA certificate.

                                                    + *

                                                    + * Note: The status value REGISTER_INACTIVE is deprecated and + * should not be used.

                                                    */ - registrationConfig?: RegistrationConfig; + newStatus?: CACertificateStatus | string; } export namespace UpdateCACertificateRequest { @@ -113,12 +438,6 @@ export namespace UpdateCACertificateRequest { *

                                                    The input for the UpdateCertificate operation.

                                                    */ export interface UpdateCertificateRequest { - /** - *

                                                    The ID of the certificate. (The last part of the certificate ARN contains the - * certificate ID.)

                                                    - */ - certificateId: string | undefined; - /** *

                                                    The new status.

                                                    *

                                                    @@ -130,6 +449,12 @@ export interface UpdateCertificateRequest { * should not be used.

                                                    */ newStatus: CertificateStatus | string | undefined; + + /** + *

                                                    The ID of the certificate. (The last part of the certificate ARN contains the + * certificate ID.)

                                                    + */ + certificateId: string | undefined; } export namespace UpdateCertificateRequest { @@ -140,14 +465,14 @@ export namespace UpdateCertificateRequest { export interface UpdateDimensionRequest { /** - *

                                                    A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

                                                    + *

                                                    Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, "admin/#").

                                                    */ - name: string | undefined; + stringValues: string[] | undefined; /** - *

                                                    Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, "admin/#").

                                                    + *

                                                    A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

                                                    */ - stringValues: string[] | undefined; + name: string | undefined; } export namespace UpdateDimensionRequest { @@ -158,34 +483,34 @@ export namespace UpdateDimensionRequest { export interface UpdateDimensionResponse { /** - *

                                                    The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.

                                                    + *

                                                    The date and time, in milliseconds since epoch, when the dimension was initially created.

                                                    */ - stringValues?: string[]; + creationDate?: Date; /** - *

                                                    The type of the dimension.

                                                    + *

                                                    The ARN (Amazon resource name) of the created dimension.

                                                    */ - type?: DimensionType | string; + arn?: string; /** - *

                                                    The date and time, in milliseconds since epoch, when the dimension was initially created.

                                                    + *

                                                    The date and time, in milliseconds since epoch, when the dimension was most recently updated.

                                                    */ - creationDate?: Date; + lastModifiedDate?: Date; /** - *

                                                    A unique identifier for the dimension.

                                                    + *

                                                    The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.

                                                    */ - name?: string; + stringValues?: string[]; /** - *

                                                    The ARN (Amazon resource name) of the created dimension.

                                                    + *

                                                    A unique identifier for the dimension.

                                                    */ - arn?: string; + name?: string; /** - *

                                                    The date and time, in milliseconds since epoch, when the dimension was most recently updated.

                                                    + *

                                                    The type of the dimension.

                                                    */ - lastModifiedDate?: Date; + type?: DimensionType | string; } export namespace UpdateDimensionResponse { @@ -196,9 +521,9 @@ export namespace UpdateDimensionResponse { export interface UpdateDomainConfigurationRequest { /** - *

                                                    The name of the domain configuration to be updated.

                                                    + *

                                                    An object that specifies the authorization service for a domain.

                                                    */ - domainConfigurationName: string | undefined; + authorizerConfig?: AuthorizerConfig; /** *

                                                    The status to which the domain configuration should be updated.

                                                    @@ -206,9 +531,9 @@ export interface UpdateDomainConfigurationRequest { domainConfigurationStatus?: DomainConfigurationStatus | string; /** - *

                                                    An object that specifies the authorization service for a domain.

                                                    + *

                                                    The name of the domain configuration to be updated.

                                                    */ - authorizerConfig?: AuthorizerConfig; + domainConfigurationName: string | undefined; /** *

                                                    Removes the authorization configuration from a domain.

                                                    @@ -240,12 +565,7 @@ export namespace UpdateDomainConfigurationResponse { }); } -export interface UpdateDynamicThingGroupRequest { - /** - *

                                                    The name of the dynamic thing group to update.

                                                    - */ - thingGroupName: string | undefined; - +export interface UpdateDynamicThingGroupRequest { /** *

                                                    The dynamic thing group properties to update.

                                                    */ @@ -256,14 +576,6 @@ export interface UpdateDynamicThingGroupRequest { */ expectedVersion?: number; - /** - *

                                                    The dynamic thing group index to update.

                                                    - * - *

                                                    Currently one index is supported: 'AWS_Things'.

                                                    - *
                                                    - */ - indexName?: string; - /** *

                                                    The dynamic thing group search query string to update.

                                                    */ @@ -277,6 +589,19 @@ export interface UpdateDynamicThingGroupRequest { * */ queryVersion?: string; + + /** + *

                                                    The name of the dynamic thing group to update.

                                                    + */ + thingGroupName: string | undefined; + + /** + *

                                                    The dynamic thing group index to update.

                                                    + * + *

                                                    Currently one index is supported: 'AWS_Things'.

                                                    + *
                                                    + */ + indexName?: string; } export namespace UpdateDynamicThingGroupRequest { @@ -321,14 +646,14 @@ export namespace UpdateEventConfigurationsResponse { export interface UpdateIndexingConfigurationRequest { /** - *

                                                    Thing indexing configuration.

                                                    + *

                                                    Thing group indexing configuration.

                                                    */ - thingIndexingConfiguration?: ThingIndexingConfiguration; + thingGroupIndexingConfiguration?: ThingGroupIndexingConfiguration; /** - *

                                                    Thing group indexing configuration.

                                                    + *

                                                    Thing indexing configuration.

                                                    */ - thingGroupIndexingConfiguration?: ThingGroupIndexingConfiguration; + thingIndexingConfiguration?: ThingIndexingConfiguration; } export namespace UpdateIndexingConfigurationRequest { @@ -346,21 +671,15 @@ export namespace UpdateIndexingConfigurationResponse { } export interface UpdateJobRequest { - /** - *

                                                    The ID of the job to be updated.

                                                    - */ - jobId: string | undefined; - /** *

                                                    Configuration information for pre-signed S3 URLs.

                                                    */ presignedUrlConfig?: PresignedUrlConfig; /** - *

                                                    Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. - * If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT.

                                                    + *

                                                    Allows you to create a staged rollout of the job.

                                                    */ - timeoutConfig?: TimeoutConfig; + jobExecutionsRolloutConfig?: JobExecutionsRolloutConfig; /** *

                                                    A short text description of the job.

                                                    @@ -368,9 +687,15 @@ export interface UpdateJobRequest { description?: string; /** - *

                                                    Allows you to create a staged rollout of the job.

                                                    + *

                                                    The ID of the job to be updated.

                                                    */ - jobExecutionsRolloutConfig?: JobExecutionsRolloutConfig; + jobId: string | undefined; + + /** + *

                                                    Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. + * If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT.

                                                    + */ + timeoutConfig?: TimeoutConfig; /** *

                                                    Allows you to create criteria to abort a job.

                                                    @@ -385,6 +710,11 @@ export namespace UpdateJobRequest { } export interface UpdateMitigationActionRequest { + /** + *

                                                    The friendly name for the mitigation action. You can't change the name by using UpdateMitigationAction. Instead, you must delete and re-create the mitigation action with the new name.

                                                    + */ + actionName: string | undefined; + /** *

                                                    The ARN of the IAM role that is used to apply the mitigation action.

                                                    */ @@ -394,11 +724,6 @@ export interface UpdateMitigationActionRequest { *

                                                    Defines the type of action and the parameters for that action.

                                                    */ actionParams?: MitigationActionParams; - - /** - *

                                                    The friendly name for the mitigation action. You can't change the name by using UpdateMitigationAction. Instead, you must delete and re-create the mitigation action with the new name.

                                                    - */ - actionName: string | undefined; } export namespace UpdateMitigationActionRequest { @@ -409,14 +734,14 @@ export namespace UpdateMitigationActionRequest { export interface UpdateMitigationActionResponse { /** - *

                                                    A unique identifier for the mitigation action.

                                                    + *

                                                    The ARN for the new mitigation action.

                                                    */ - actionId?: string; + actionArn?: string; /** - *

                                                    The ARN for the new mitigation action.

                                                    + *

                                                    A unique identifier for the mitigation action.

                                                    */ - actionArn?: string; + actionId?: string; } export namespace UpdateMitigationActionResponse { @@ -426,16 +751,6 @@ export namespace UpdateMitigationActionResponse { } export interface UpdateProvisioningTemplateRequest { - /** - *

                                                    The name of the fleet provisioning template.

                                                    - */ - templateName: string | undefined; - - /** - *

                                                    True to enable the fleet provisioning template, otherwise false.

                                                    - */ - enabled?: boolean; - /** *

                                                    Removes pre-provisioning hook template.

                                                    */ @@ -446,6 +761,11 @@ export interface UpdateProvisioningTemplateRequest { */ preProvisioningHook?: ProvisioningHook; + /** + *

                                                    The name of the fleet provisioning template.

                                                    + */ + templateName: string | undefined; + /** *

                                                    The ID of the default provisioning template version.

                                                    */ @@ -461,6 +781,11 @@ export interface UpdateProvisioningTemplateRequest { * permission to provision a device.

                                                    */ provisioningRoleArn?: string; + + /** + *

                                                    True to enable the fleet provisioning template, otherwise false.

                                                    + */ + enabled?: boolean; } export namespace UpdateProvisioningTemplateRequest { @@ -479,9 +804,9 @@ export namespace UpdateProvisioningTemplateResponse { export interface UpdateRoleAliasRequest { /** - *

                                                    The role ARN.

                                                    + *

                                                    The number of seconds the credential will be valid.

                                                    */ - roleArn?: string; + credentialDurationSeconds?: number; /** *

                                                    The role alias to update.

                                                    @@ -489,9 +814,9 @@ export interface UpdateRoleAliasRequest { roleAlias: string | undefined; /** - *

                                                    The number of seconds the credential will be valid.

                                                    + *

                                                    The role ARN.

                                                    */ - credentialDurationSeconds?: number; + roleArn?: string; } export namespace UpdateRoleAliasRequest { @@ -502,14 +827,14 @@ export namespace UpdateRoleAliasRequest { export interface UpdateRoleAliasResponse { /** - *

                                                    The role alias ARN.

                                                    + *

                                                    The role alias.

                                                    */ - roleAliasArn?: string; + roleAlias?: string; /** - *

                                                    The role alias.

                                                    + *

                                                    The role alias ARN.

                                                    */ - roleAlias?: string; + roleAliasArn?: string; } export namespace UpdateRoleAliasResponse { @@ -519,13 +844,6 @@ export namespace UpdateRoleAliasResponse { } export interface UpdateScheduledAuditRequest { - /** - *

                                                    The day of the week on which the scheduled audit takes place. Can be one of - * "SUN", "MON", "TUE", "WED", "THU", "FRI", or "SAT". This field is required if the - * "frequency" parameter is set to "WEEKLY" or "BIWEEKLY".

                                                    - */ - dayOfWeek?: DayOfWeek | string; - /** *

                                                    The name of the scheduled audit. (Max. 128 chars)

                                                    */ @@ -553,6 +871,13 @@ export interface UpdateScheduledAuditRequest { * the system.

                                                    */ frequency?: AuditFrequency | string; + + /** + *

                                                    The day of the week on which the scheduled audit takes place. Can be one of + * "SUN", "MON", "TUE", "WED", "THU", "FRI", or "SAT". This field is required if the + * "frequency" parameter is set to "WEEKLY" or "BIWEEKLY".

                                                    + */ + dayOfWeek?: DayOfWeek | string; } export namespace UpdateScheduledAuditRequest { @@ -575,35 +900,18 @@ export namespace UpdateScheduledAuditResponse { } export interface UpdateSecurityProfileRequest { - /** - *

                                                    If true, delete all behaviors defined for this security profile. - * If any behaviors are defined in the current invocation, an exception occurs.

                                                    - */ - deleteBehaviors?: boolean; - /** *

                                                    A description of the security profile.

                                                    */ securityProfileDescription?: string; /** - *

                                                    The expected version of the security profile. A new version is generated whenever - * the security profile is updated. If you specify a value that is different from the actual - * version, a VersionConflictException is thrown.

                                                    - */ - expectedVersion?: number; - - /** - *

                                                    The name of the security profile you want to update.

                                                    - */ - securityProfileName: string | undefined; - - /** - *

                                                    A list of metrics whose data is retained (stored). By default, data is retained + *

                                                    + * Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead. + *

                                                    + *

                                                    A list of metrics whose data is retained (stored). By default, data is retained * for any metric used in the profile's behaviors, but it is also retained for * any metric specified here.

                                                    - *

                                                    - * Note: This API field is deprecated. Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

                                                    */ additionalMetricsToRetain?: string[]; @@ -619,6 +927,16 @@ export interface UpdateSecurityProfileRequest { */ behaviors?: Behavior[]; + /** + *

                                                    Where the alerts are sent. (Alerts are always sent to the console.)

                                                    + */ + alertTargets?: { [key: string]: AlertTarget }; + + /** + *

                                                    The name of the security profile you want to update.

                                                    + */ + securityProfileName: string | undefined; + /** *

                                                    If true, delete all alertTargets defined for this security profile. * If any alertTargets are defined in the current invocation, an exception occurs.

                                                    @@ -626,14 +944,22 @@ export interface UpdateSecurityProfileRequest { deleteAlertTargets?: boolean; /** - *

                                                    Where the alerts are sent. (Alerts are always sent to the console.)

                                                    + *

                                                    A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

                                                    */ - alertTargets?: { [key: string]: AlertTarget }; + additionalMetricsToRetainV2?: MetricToRetain[]; /** - *

                                                    A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

                                                    + *

                                                    The expected version of the security profile. A new version is generated whenever + * the security profile is updated. If you specify a value that is different from the actual + * version, a VersionConflictException is thrown.

                                                    */ - additionalMetricsToRetainV2?: MetricToRetain[]; + expectedVersion?: number; + + /** + *

                                                    If true, delete all behaviors defined for this security profile. + * If any behaviors are defined in the current invocation, an exception occurs.

                                                    + */ + deleteBehaviors?: boolean; } export namespace UpdateSecurityProfileRequest { @@ -644,58 +970,59 @@ export namespace UpdateSecurityProfileRequest { export interface UpdateSecurityProfileResponse { /** - *

                                                    A list of metrics whose data is retained (stored). By default, data is retained - * for any metric used in the security profile's behaviors, but it is also retained for - * any metric specified here.

                                                    - *

                                                    - * Note: This API field is deprecated. Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead.

                                                    + *

                                                    Specifies the behaviors that, when violated by a device (thing), cause an alert.

                                                    */ - additionalMetricsToRetain?: string[]; + behaviors?: Behavior[]; /** - *

                                                    The time the security profile was created.

                                                    + *

                                                    The ARN of the security profile that was updated.

                                                    */ - creationDate?: Date; + securityProfileArn?: string; /** - *

                                                    A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

                                                    + *

                                                    The description of the security profile.

                                                    */ - additionalMetricsToRetainV2?: MetricToRetain[]; + securityProfileDescription?: string; /** - *

                                                    Specifies the behaviors that, when violated by a device (thing), cause an alert.

                                                    + *

                                                    Where the alerts are sent. (Alerts are always sent to the console.)

                                                    */ - behaviors?: Behavior[]; + alertTargets?: { [key: string]: AlertTarget }; /** - *

                                                    The name of the security profile that was updated.

                                                    + *

                                                    A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

                                                    */ - securityProfileName?: string; + additionalMetricsToRetainV2?: MetricToRetain[]; /** - *

                                                    The description of the security profile.

                                                    + *

                                                    The time the security profile was last modified.

                                                    */ - securityProfileDescription?: string; + lastModifiedDate?: Date; /** - *

                                                    The ARN of the security profile that was updated.

                                                    + *

                                                    The name of the security profile that was updated.

                                                    */ - securityProfileArn?: string; + securityProfileName?: string; /** - *

                                                    The time the security profile was last modified.

                                                    + *

                                                    + * Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead. + *

                                                    + *

                                                    A list of metrics whose data is retained (stored). By default, data is retained + * for any metric used in the security profile's behaviors, but it is also retained for + * any metric specified here.

                                                    */ - lastModifiedDate?: Date; + additionalMetricsToRetain?: string[]; /** - *

                                                    The updated version of the security profile.

                                                    + *

                                                    The time the security profile was created.

                                                    */ - version?: number; + creationDate?: Date; /** - *

                                                    Where the alerts are sent. (Alerts are always sent to the console.)

                                                    + *

                                                    The updated version of the security profile.

                                                    */ - alertTargets?: { [key: string]: AlertTarget }; + version?: number; } export namespace UpdateSecurityProfileResponse { @@ -739,9 +1066,9 @@ export interface UpdateStreamResponse { streamId?: string; /** - *

                                                    The stream ARN.

                                                    + *

                                                    The stream version.

                                                    */ - streamArn?: string; + streamVersion?: number; /** *

                                                    A description of the stream.

                                                    @@ -749,9 +1076,9 @@ export interface UpdateStreamResponse { description?: string; /** - *

                                                    The stream version.

                                                    + *

                                                    The stream ARN.

                                                    */ - streamVersion?: number; + streamArn?: string; } export namespace UpdateStreamResponse { @@ -764,11 +1091,6 @@ export namespace UpdateStreamResponse { *

                                                    The input for the UpdateThing operation.

                                                    */ export interface UpdateThingRequest { - /** - *

                                                    The name of the thing type.

                                                    - */ - thingTypeName?: string; - /** *

                                                    The expected version of the thing record in the registry. If the version of the * record in the registry does not match the expected version specified in the request, the @@ -777,6 +1099,11 @@ export interface UpdateThingRequest { */ expectedVersion?: number; + /** + *

                                                    The name of the thing type.

                                                    + */ + thingTypeName?: string; + /** *

                                                    The name of the thing to update.

                                                    *

                                                    You can't change a thing's name. To change a thing's name, you must create a @@ -820,9 +1147,9 @@ export namespace UpdateThingResponse { export interface UpdateThingGroupRequest { /** - *

                                                    The thing group to update.

                                                    + *

                                                    The thing group properties.

                                                    */ - thingGroupName: string | undefined; + thingGroupProperties: ThingGroupProperties | undefined; /** *

                                                    The expected version of the thing group. If this does not match the version of the @@ -831,9 +1158,9 @@ export interface UpdateThingGroupRequest { expectedVersion?: number; /** - *

                                                    The thing group properties.

                                                    + *

                                                    The thing group to update.

                                                    */ - thingGroupProperties: ThingGroupProperties | undefined; + thingGroupName: string | undefined; } export namespace UpdateThingGroupRequest { @@ -857,12 +1184,9 @@ export namespace UpdateThingGroupResponse { export interface UpdateThingGroupsForThingRequest { /** - *

                                                    Override dynamic thing groups with static thing groups when 10-group limit is - * reached. If a thing belongs to 10 thing groups, and one or more of those groups are - * dynamic thing groups, adding a thing to a static group removes the thing from the last - * dynamic group.

                                                    + *

                                                    The thing whose group memberships will be updated.

                                                    */ - overrideDynamicGroups?: boolean; + thingName?: string; /** *

                                                    The groups from which the thing will be removed.

                                                    @@ -870,9 +1194,12 @@ export interface UpdateThingGroupsForThingRequest { thingGroupsToRemove?: string[]; /** - *

                                                    The thing whose group memberships will be updated.

                                                    + *

                                                    Override dynamic thing groups with static thing groups when 10-group limit is + * reached. If a thing belongs to 10 thing groups, and one or more of those groups are + * dynamic thing groups, adding a thing to a static group removes the thing from the last + * dynamic group.

                                                    */ - thingName?: string; + overrideDynamicGroups?: boolean; /** *

                                                    The groups to which the thing will be added.

                                                    @@ -895,11 +1222,6 @@ export namespace UpdateThingGroupsForThingResponse { } export interface UpdateTopicRuleDestinationRequest { - /** - *

                                                    The ARN of the topic rule destination.

                                                    - */ - arn: string | undefined; - /** *

                                                    The status of the topic rule destination. Valid values are:

                                                    *
                                                    @@ -935,6 +1257,11 @@ export interface UpdateTopicRuleDestinationRequest { *
                                                    */ status: TopicRuleDestinationStatus | string | undefined; + + /** + *

                                                    The ARN of the topic rule destination.

                                                    + */ + arn: string | undefined; } export namespace UpdateTopicRuleDestinationRequest { diff --git a/clients/client-iot/pagination/Interfaces.ts b/clients/client-iot/pagination/Interfaces.ts new file mode 100644 index 000000000000..a2871d7980d5 --- /dev/null +++ b/clients/client-iot/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface IoTPaginationConfiguration extends PaginationConfiguration { + client: IoT | IoTClient; +} diff --git a/clients/client-iot/pagination/ListActiveViolationsPaginator.ts b/clients/client-iot/pagination/ListActiveViolationsPaginator.ts new file mode 100644 index 000000000000..e26339dae26e --- /dev/null +++ b/clients/client-iot/pagination/ListActiveViolationsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListActiveViolationsCommand, + ListActiveViolationsCommandInput, + ListActiveViolationsCommandOutput, +} from "../commands/ListActiveViolationsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListActiveViolationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListActiveViolationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListActiveViolationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listActiveViolations(input, ...args); +}; +export async function* listActiveViolationsPaginate( + config: IoTPaginationConfiguration, + input: ListActiveViolationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListActiveViolationsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListAttachedPoliciesPaginator.ts b/clients/client-iot/pagination/ListAttachedPoliciesPaginator.ts new file mode 100644 index 000000000000..6b0b09866ed0 --- /dev/null +++ b/clients/client-iot/pagination/ListAttachedPoliciesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListAttachedPoliciesCommand, + ListAttachedPoliciesCommandInput, + ListAttachedPoliciesCommandOutput, +} from "../commands/ListAttachedPoliciesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListAttachedPoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAttachedPoliciesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListAttachedPoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAttachedPolicies(input, ...args); +}; +export async function* listAttachedPoliciesPaginate( + config: IoTPaginationConfiguration, + input: ListAttachedPoliciesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAttachedPoliciesCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListAuditFindingsPaginator.ts b/clients/client-iot/pagination/ListAuditFindingsPaginator.ts new file mode 100644 index 000000000000..0b542c6d4641 --- /dev/null +++ b/clients/client-iot/pagination/ListAuditFindingsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListAuditFindingsCommand, + ListAuditFindingsCommandInput, + ListAuditFindingsCommandOutput, +} from "../commands/ListAuditFindingsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListAuditFindingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAuditFindingsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListAuditFindingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAuditFindings(input, ...args); +}; +export async function* listAuditFindingsPaginate( + config: IoTPaginationConfiguration, + input: ListAuditFindingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAuditFindingsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListAuditMitigationActionsExecutionsPaginator.ts b/clients/client-iot/pagination/ListAuditMitigationActionsExecutionsPaginator.ts new file mode 100644 index 000000000000..f849ff1339cd --- /dev/null +++ b/clients/client-iot/pagination/ListAuditMitigationActionsExecutionsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListAuditMitigationActionsExecutionsCommand, + ListAuditMitigationActionsExecutionsCommandInput, + ListAuditMitigationActionsExecutionsCommandOutput, +} from "../commands/ListAuditMitigationActionsExecutionsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListAuditMitigationActionsExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAuditMitigationActionsExecutionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListAuditMitigationActionsExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAuditMitigationActionsExecutions(input, ...args); +}; +export async function* listAuditMitigationActionsExecutionsPaginate( + config: IoTPaginationConfiguration, + input: ListAuditMitigationActionsExecutionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAuditMitigationActionsExecutionsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListAuditMitigationActionsTasksPaginator.ts b/clients/client-iot/pagination/ListAuditMitigationActionsTasksPaginator.ts new file mode 100644 index 000000000000..4bc1b2690638 --- /dev/null +++ b/clients/client-iot/pagination/ListAuditMitigationActionsTasksPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListAuditMitigationActionsTasksCommand, + ListAuditMitigationActionsTasksCommandInput, + ListAuditMitigationActionsTasksCommandOutput, +} from "../commands/ListAuditMitigationActionsTasksCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListAuditMitigationActionsTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAuditMitigationActionsTasksCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListAuditMitigationActionsTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAuditMitigationActionsTasks(input, ...args); +}; +export async function* listAuditMitigationActionsTasksPaginate( + config: IoTPaginationConfiguration, + input: ListAuditMitigationActionsTasksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAuditMitigationActionsTasksCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListAuditSuppressionsPaginator.ts b/clients/client-iot/pagination/ListAuditSuppressionsPaginator.ts new file mode 100644 index 000000000000..fa8410d64f25 --- /dev/null +++ b/clients/client-iot/pagination/ListAuditSuppressionsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListAuditSuppressionsCommand, + ListAuditSuppressionsCommandInput, + ListAuditSuppressionsCommandOutput, +} from "../commands/ListAuditSuppressionsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListAuditSuppressionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAuditSuppressionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListAuditSuppressionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAuditSuppressions(input, ...args); +}; +export async function* listAuditSuppressionsPaginate( + config: IoTPaginationConfiguration, + input: ListAuditSuppressionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAuditSuppressionsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListAuditTasksPaginator.ts b/clients/client-iot/pagination/ListAuditTasksPaginator.ts new file mode 100644 index 000000000000..3d4ce9b6f19f --- /dev/null +++ b/clients/client-iot/pagination/ListAuditTasksPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListAuditTasksCommand, + ListAuditTasksCommandInput, + ListAuditTasksCommandOutput, +} from "../commands/ListAuditTasksCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListAuditTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAuditTasksCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListAuditTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAuditTasks(input, ...args); +}; +export async function* listAuditTasksPaginate( + config: IoTPaginationConfiguration, + input: ListAuditTasksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAuditTasksCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListAuthorizersPaginator.ts b/clients/client-iot/pagination/ListAuthorizersPaginator.ts new file mode 100644 index 000000000000..1914c16570f7 --- /dev/null +++ b/clients/client-iot/pagination/ListAuthorizersPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListAuthorizersCommand, + ListAuthorizersCommandInput, + ListAuthorizersCommandOutput, +} from "../commands/ListAuthorizersCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListAuthorizersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAuthorizersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListAuthorizersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAuthorizers(input, ...args); +}; +export async function* listAuthorizersPaginate( + config: IoTPaginationConfiguration, + input: ListAuthorizersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAuthorizersCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListBillingGroupsPaginator.ts b/clients/client-iot/pagination/ListBillingGroupsPaginator.ts new file mode 100644 index 000000000000..a327d05c6804 --- /dev/null +++ b/clients/client-iot/pagination/ListBillingGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListBillingGroupsCommand, + ListBillingGroupsCommandInput, + ListBillingGroupsCommandOutput, +} from "../commands/ListBillingGroupsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListBillingGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListBillingGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListBillingGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listBillingGroups(input, ...args); +}; +export async function* listBillingGroupsPaginate( + config: IoTPaginationConfiguration, + input: ListBillingGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListBillingGroupsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListCACertificatesPaginator.ts b/clients/client-iot/pagination/ListCACertificatesPaginator.ts new file mode 100644 index 000000000000..38f2b12774ac --- /dev/null +++ b/clients/client-iot/pagination/ListCACertificatesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListCACertificatesCommand, + ListCACertificatesCommandInput, + ListCACertificatesCommandOutput, +} from "../commands/ListCACertificatesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListCACertificatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListCACertificatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListCACertificatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listCACertificates(input, ...args); +}; +export async function* listCACertificatesPaginate( + config: IoTPaginationConfiguration, + input: ListCACertificatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListCACertificatesCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListCertificatesByCAPaginator.ts b/clients/client-iot/pagination/ListCertificatesByCAPaginator.ts new file mode 100644 index 000000000000..347765777cb7 --- /dev/null +++ b/clients/client-iot/pagination/ListCertificatesByCAPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListCertificatesByCACommand, + ListCertificatesByCACommandInput, + ListCertificatesByCACommandOutput, +} from "../commands/ListCertificatesByCACommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListCertificatesByCACommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListCertificatesByCACommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListCertificatesByCACommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listCertificatesByCA(input, ...args); +}; +export async function* listCertificatesByCAPaginate( + config: IoTPaginationConfiguration, + input: ListCertificatesByCACommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListCertificatesByCACommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListCertificatesPaginator.ts b/clients/client-iot/pagination/ListCertificatesPaginator.ts new file mode 100644 index 000000000000..ce7c01804d2f --- /dev/null +++ b/clients/client-iot/pagination/ListCertificatesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListCertificatesCommand, + ListCertificatesCommandInput, + ListCertificatesCommandOutput, +} from "../commands/ListCertificatesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListCertificatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListCertificatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListCertificatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listCertificates(input, ...args); +}; +export async function* listCertificatesPaginate( + config: IoTPaginationConfiguration, + input: ListCertificatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListCertificatesCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListDimensionsPaginator.ts b/clients/client-iot/pagination/ListDimensionsPaginator.ts new file mode 100644 index 000000000000..920726b5b3ab --- /dev/null +++ b/clients/client-iot/pagination/ListDimensionsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListDimensionsCommand, + ListDimensionsCommandInput, + ListDimensionsCommandOutput, +} from "../commands/ListDimensionsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListDimensionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListDimensionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListDimensionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listDimensions(input, ...args); +}; +export async function* listDimensionsPaginate( + config: IoTPaginationConfiguration, + input: ListDimensionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListDimensionsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListDomainConfigurationsPaginator.ts b/clients/client-iot/pagination/ListDomainConfigurationsPaginator.ts new file mode 100644 index 000000000000..8cd1f85259ee --- /dev/null +++ b/clients/client-iot/pagination/ListDomainConfigurationsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListDomainConfigurationsCommand, + ListDomainConfigurationsCommandInput, + ListDomainConfigurationsCommandOutput, +} from "../commands/ListDomainConfigurationsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListDomainConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListDomainConfigurationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListDomainConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listDomainConfigurations(input, ...args); +}; +export async function* listDomainConfigurationsPaginate( + config: IoTPaginationConfiguration, + input: ListDomainConfigurationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListDomainConfigurationsCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListIndicesPaginator.ts b/clients/client-iot/pagination/ListIndicesPaginator.ts new file mode 100644 index 000000000000..9b2f86773fc4 --- /dev/null +++ b/clients/client-iot/pagination/ListIndicesPaginator.ts @@ -0,0 +1,47 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { ListIndicesCommand, ListIndicesCommandInput, ListIndicesCommandOutput } from "../commands/ListIndicesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListIndicesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListIndicesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListIndicesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listIndices(input, ...args); +}; +export async function* listIndicesPaginate( + config: IoTPaginationConfiguration, + input: ListIndicesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListIndicesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListJobExecutionsForJobPaginator.ts b/clients/client-iot/pagination/ListJobExecutionsForJobPaginator.ts new file mode 100644 index 000000000000..c9e68811a1da --- /dev/null +++ b/clients/client-iot/pagination/ListJobExecutionsForJobPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListJobExecutionsForJobCommand, + ListJobExecutionsForJobCommandInput, + ListJobExecutionsForJobCommandOutput, +} from "../commands/ListJobExecutionsForJobCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListJobExecutionsForJobCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListJobExecutionsForJobCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListJobExecutionsForJobCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listJobExecutionsForJob(input, ...args); +}; +export async function* listJobExecutionsForJobPaginate( + config: IoTPaginationConfiguration, + input: ListJobExecutionsForJobCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListJobExecutionsForJobCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListJobExecutionsForThingPaginator.ts b/clients/client-iot/pagination/ListJobExecutionsForThingPaginator.ts new file mode 100644 index 000000000000..973f9bca2394 --- /dev/null +++ b/clients/client-iot/pagination/ListJobExecutionsForThingPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListJobExecutionsForThingCommand, + ListJobExecutionsForThingCommandInput, + ListJobExecutionsForThingCommandOutput, +} from "../commands/ListJobExecutionsForThingCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListJobExecutionsForThingCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListJobExecutionsForThingCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListJobExecutionsForThingCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listJobExecutionsForThing(input, ...args); +}; +export async function* listJobExecutionsForThingPaginate( + config: IoTPaginationConfiguration, + input: ListJobExecutionsForThingCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListJobExecutionsForThingCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListJobsPaginator.ts b/clients/client-iot/pagination/ListJobsPaginator.ts new file mode 100644 index 000000000000..005561c6ca0b --- /dev/null +++ b/clients/client-iot/pagination/ListJobsPaginator.ts @@ -0,0 +1,47 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { ListJobsCommand, ListJobsCommandInput, ListJobsCommandOutput } from "../commands/ListJobsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListJobsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listJobs(input, ...args); +}; +export async function* listJobsPaginate( + config: IoTPaginationConfiguration, + input: ListJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListJobsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListMitigationActionsPaginator.ts b/clients/client-iot/pagination/ListMitigationActionsPaginator.ts new file mode 100644 index 000000000000..1c3f02b93e5c --- /dev/null +++ b/clients/client-iot/pagination/ListMitigationActionsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListMitigationActionsCommand, + ListMitigationActionsCommandInput, + ListMitigationActionsCommandOutput, +} from "../commands/ListMitigationActionsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListMitigationActionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListMitigationActionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListMitigationActionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listMitigationActions(input, ...args); +}; +export async function* listMitigationActionsPaginate( + config: IoTPaginationConfiguration, + input: ListMitigationActionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListMitigationActionsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListOTAUpdatesPaginator.ts b/clients/client-iot/pagination/ListOTAUpdatesPaginator.ts new file mode 100644 index 000000000000..8f8a028c0a56 --- /dev/null +++ b/clients/client-iot/pagination/ListOTAUpdatesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListOTAUpdatesCommand, + ListOTAUpdatesCommandInput, + ListOTAUpdatesCommandOutput, +} from "../commands/ListOTAUpdatesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListOTAUpdatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListOTAUpdatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListOTAUpdatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listOTAUpdates(input, ...args); +}; +export async function* listOTAUpdatesPaginate( + config: IoTPaginationConfiguration, + input: ListOTAUpdatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListOTAUpdatesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListOutgoingCertificatesPaginator.ts b/clients/client-iot/pagination/ListOutgoingCertificatesPaginator.ts new file mode 100644 index 000000000000..393b27e5fe31 --- /dev/null +++ b/clients/client-iot/pagination/ListOutgoingCertificatesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListOutgoingCertificatesCommand, + ListOutgoingCertificatesCommandInput, + ListOutgoingCertificatesCommandOutput, +} from "../commands/ListOutgoingCertificatesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListOutgoingCertificatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListOutgoingCertificatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListOutgoingCertificatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listOutgoingCertificates(input, ...args); +}; +export async function* listOutgoingCertificatesPaginate( + config: IoTPaginationConfiguration, + input: ListOutgoingCertificatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListOutgoingCertificatesCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListPoliciesPaginator.ts b/clients/client-iot/pagination/ListPoliciesPaginator.ts new file mode 100644 index 000000000000..e817a7ff90ff --- /dev/null +++ b/clients/client-iot/pagination/ListPoliciesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListPoliciesCommand, + ListPoliciesCommandInput, + ListPoliciesCommandOutput, +} from "../commands/ListPoliciesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListPoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPoliciesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListPoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPolicies(input, ...args); +}; +export async function* listPoliciesPaginate( + config: IoTPaginationConfiguration, + input: ListPoliciesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPoliciesCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListPolicyPrincipalsPaginator.ts b/clients/client-iot/pagination/ListPolicyPrincipalsPaginator.ts new file mode 100644 index 000000000000..0e3164f2b74d --- /dev/null +++ b/clients/client-iot/pagination/ListPolicyPrincipalsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListPolicyPrincipalsCommand, + ListPolicyPrincipalsCommandInput, + ListPolicyPrincipalsCommandOutput, +} from "../commands/ListPolicyPrincipalsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListPolicyPrincipalsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPolicyPrincipalsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListPolicyPrincipalsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPolicyPrincipals(input, ...args); +}; +export async function* listPolicyPrincipalsPaginate( + config: IoTPaginationConfiguration, + input: ListPolicyPrincipalsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPolicyPrincipalsCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListPrincipalPoliciesPaginator.ts b/clients/client-iot/pagination/ListPrincipalPoliciesPaginator.ts new file mode 100644 index 000000000000..c00c54e3ad32 --- /dev/null +++ b/clients/client-iot/pagination/ListPrincipalPoliciesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListPrincipalPoliciesCommand, + ListPrincipalPoliciesCommandInput, + ListPrincipalPoliciesCommandOutput, +} from "../commands/ListPrincipalPoliciesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListPrincipalPoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPrincipalPoliciesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListPrincipalPoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPrincipalPolicies(input, ...args); +}; +export async function* listPrincipalPoliciesPaginate( + config: IoTPaginationConfiguration, + input: ListPrincipalPoliciesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPrincipalPoliciesCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListPrincipalThingsPaginator.ts b/clients/client-iot/pagination/ListPrincipalThingsPaginator.ts new file mode 100644 index 000000000000..f8a04e25c7fa --- /dev/null +++ b/clients/client-iot/pagination/ListPrincipalThingsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListPrincipalThingsCommand, + ListPrincipalThingsCommandInput, + ListPrincipalThingsCommandOutput, +} from "../commands/ListPrincipalThingsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListPrincipalThingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPrincipalThingsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListPrincipalThingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPrincipalThings(input, ...args); +}; +export async function* listPrincipalThingsPaginate( + config: IoTPaginationConfiguration, + input: ListPrincipalThingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPrincipalThingsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListProvisioningTemplateVersionsPaginator.ts b/clients/client-iot/pagination/ListProvisioningTemplateVersionsPaginator.ts new file mode 100644 index 000000000000..1d6ff93e5f58 --- /dev/null +++ b/clients/client-iot/pagination/ListProvisioningTemplateVersionsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListProvisioningTemplateVersionsCommand, + ListProvisioningTemplateVersionsCommandInput, + ListProvisioningTemplateVersionsCommandOutput, +} from "../commands/ListProvisioningTemplateVersionsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListProvisioningTemplateVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListProvisioningTemplateVersionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListProvisioningTemplateVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listProvisioningTemplateVersions(input, ...args); +}; +export async function* listProvisioningTemplateVersionsPaginate( + config: IoTPaginationConfiguration, + input: ListProvisioningTemplateVersionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListProvisioningTemplateVersionsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListProvisioningTemplatesPaginator.ts b/clients/client-iot/pagination/ListProvisioningTemplatesPaginator.ts new file mode 100644 index 000000000000..10dde4bd66dd --- /dev/null +++ b/clients/client-iot/pagination/ListProvisioningTemplatesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListProvisioningTemplatesCommand, + ListProvisioningTemplatesCommandInput, + ListProvisioningTemplatesCommandOutput, +} from "../commands/ListProvisioningTemplatesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListProvisioningTemplatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListProvisioningTemplatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListProvisioningTemplatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listProvisioningTemplates(input, ...args); +}; +export async function* listProvisioningTemplatesPaginate( + config: IoTPaginationConfiguration, + input: ListProvisioningTemplatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListProvisioningTemplatesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListRoleAliasesPaginator.ts b/clients/client-iot/pagination/ListRoleAliasesPaginator.ts new file mode 100644 index 000000000000..39d4a38cd706 --- /dev/null +++ b/clients/client-iot/pagination/ListRoleAliasesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListRoleAliasesCommand, + ListRoleAliasesCommandInput, + ListRoleAliasesCommandOutput, +} from "../commands/ListRoleAliasesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListRoleAliasesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListRoleAliasesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListRoleAliasesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listRoleAliases(input, ...args); +}; +export async function* listRoleAliasesPaginate( + config: IoTPaginationConfiguration, + input: ListRoleAliasesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListRoleAliasesCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListScheduledAuditsPaginator.ts b/clients/client-iot/pagination/ListScheduledAuditsPaginator.ts new file mode 100644 index 000000000000..5058b38e5d8f --- /dev/null +++ b/clients/client-iot/pagination/ListScheduledAuditsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListScheduledAuditsCommand, + ListScheduledAuditsCommandInput, + ListScheduledAuditsCommandOutput, +} from "../commands/ListScheduledAuditsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListScheduledAuditsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListScheduledAuditsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListScheduledAuditsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listScheduledAudits(input, ...args); +}; +export async function* listScheduledAuditsPaginate( + config: IoTPaginationConfiguration, + input: ListScheduledAuditsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListScheduledAuditsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListSecurityProfilesForTargetPaginator.ts b/clients/client-iot/pagination/ListSecurityProfilesForTargetPaginator.ts new file mode 100644 index 000000000000..69f6f21d6b03 --- /dev/null +++ b/clients/client-iot/pagination/ListSecurityProfilesForTargetPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListSecurityProfilesForTargetCommand, + ListSecurityProfilesForTargetCommandInput, + ListSecurityProfilesForTargetCommandOutput, +} from "../commands/ListSecurityProfilesForTargetCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListSecurityProfilesForTargetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSecurityProfilesForTargetCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListSecurityProfilesForTargetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSecurityProfilesForTarget(input, ...args); +}; +export async function* listSecurityProfilesForTargetPaginate( + config: IoTPaginationConfiguration, + input: ListSecurityProfilesForTargetCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListSecurityProfilesForTargetCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListSecurityProfilesPaginator.ts b/clients/client-iot/pagination/ListSecurityProfilesPaginator.ts new file mode 100644 index 000000000000..27b3e2b1ca0a --- /dev/null +++ b/clients/client-iot/pagination/ListSecurityProfilesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListSecurityProfilesCommand, + ListSecurityProfilesCommandInput, + ListSecurityProfilesCommandOutput, +} from "../commands/ListSecurityProfilesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListSecurityProfilesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSecurityProfilesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListSecurityProfilesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSecurityProfiles(input, ...args); +}; +export async function* listSecurityProfilesPaginate( + config: IoTPaginationConfiguration, + input: ListSecurityProfilesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListSecurityProfilesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListStreamsPaginator.ts b/clients/client-iot/pagination/ListStreamsPaginator.ts new file mode 100644 index 000000000000..8479a87d99df --- /dev/null +++ b/clients/client-iot/pagination/ListStreamsPaginator.ts @@ -0,0 +1,47 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { ListStreamsCommand, ListStreamsCommandInput, ListStreamsCommandOutput } from "../commands/ListStreamsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListStreamsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListStreamsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListStreamsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listStreams(input, ...args); +}; +export async function* listStreamsPaginate( + config: IoTPaginationConfiguration, + input: ListStreamsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListStreamsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListTagsForResourcePaginator.ts b/clients/client-iot/pagination/ListTagsForResourcePaginator.ts new file mode 100644 index 000000000000..fe80d43ecb8d --- /dev/null +++ b/clients/client-iot/pagination/ListTagsForResourcePaginator.ts @@ -0,0 +1,50 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListTagsForResourceCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListTagsForResourceCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListTagsForResourceCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listTagsForResource(input, ...args); +}; +export async function* listTagsForResourcePaginate( + config: IoTPaginationConfiguration, + input: ListTagsForResourceCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListTagsForResourceCommandOutput; + while (hasNext) { + input["nextToken"] = token; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListTargetsForPolicyPaginator.ts b/clients/client-iot/pagination/ListTargetsForPolicyPaginator.ts new file mode 100644 index 000000000000..724a5b53dabb --- /dev/null +++ b/clients/client-iot/pagination/ListTargetsForPolicyPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListTargetsForPolicyCommand, + ListTargetsForPolicyCommandInput, + ListTargetsForPolicyCommandOutput, +} from "../commands/ListTargetsForPolicyCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListTargetsForPolicyCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListTargetsForPolicyCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListTargetsForPolicyCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listTargetsForPolicy(input, ...args); +}; +export async function* listTargetsForPolicyPaginate( + config: IoTPaginationConfiguration, + input: ListTargetsForPolicyCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListTargetsForPolicyCommandOutput; + while (hasNext) { + input["marker"] = token; + input["pageSize"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextMarker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListTargetsForSecurityProfilePaginator.ts b/clients/client-iot/pagination/ListTargetsForSecurityProfilePaginator.ts new file mode 100644 index 000000000000..9149347b27ed --- /dev/null +++ b/clients/client-iot/pagination/ListTargetsForSecurityProfilePaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListTargetsForSecurityProfileCommand, + ListTargetsForSecurityProfileCommandInput, + ListTargetsForSecurityProfileCommandOutput, +} from "../commands/ListTargetsForSecurityProfileCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListTargetsForSecurityProfileCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListTargetsForSecurityProfileCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListTargetsForSecurityProfileCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listTargetsForSecurityProfile(input, ...args); +}; +export async function* listTargetsForSecurityProfilePaginate( + config: IoTPaginationConfiguration, + input: ListTargetsForSecurityProfileCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListTargetsForSecurityProfileCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListThingGroupsForThingPaginator.ts b/clients/client-iot/pagination/ListThingGroupsForThingPaginator.ts new file mode 100644 index 000000000000..3795db605a93 --- /dev/null +++ b/clients/client-iot/pagination/ListThingGroupsForThingPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListThingGroupsForThingCommand, + ListThingGroupsForThingCommandInput, + ListThingGroupsForThingCommandOutput, +} from "../commands/ListThingGroupsForThingCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListThingGroupsForThingCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListThingGroupsForThingCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListThingGroupsForThingCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listThingGroupsForThing(input, ...args); +}; +export async function* listThingGroupsForThingPaginate( + config: IoTPaginationConfiguration, + input: ListThingGroupsForThingCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListThingGroupsForThingCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListThingGroupsPaginator.ts b/clients/client-iot/pagination/ListThingGroupsPaginator.ts new file mode 100644 index 000000000000..f4b175411c26 --- /dev/null +++ b/clients/client-iot/pagination/ListThingGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListThingGroupsCommand, + ListThingGroupsCommandInput, + ListThingGroupsCommandOutput, +} from "../commands/ListThingGroupsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListThingGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListThingGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListThingGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listThingGroups(input, ...args); +}; +export async function* listThingGroupsPaginate( + config: IoTPaginationConfiguration, + input: ListThingGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListThingGroupsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListThingRegistrationTaskReportsPaginator.ts b/clients/client-iot/pagination/ListThingRegistrationTaskReportsPaginator.ts new file mode 100644 index 000000000000..1e2138cc2a6c --- /dev/null +++ b/clients/client-iot/pagination/ListThingRegistrationTaskReportsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListThingRegistrationTaskReportsCommand, + ListThingRegistrationTaskReportsCommandInput, + ListThingRegistrationTaskReportsCommandOutput, +} from "../commands/ListThingRegistrationTaskReportsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListThingRegistrationTaskReportsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListThingRegistrationTaskReportsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListThingRegistrationTaskReportsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listThingRegistrationTaskReports(input, ...args); +}; +export async function* listThingRegistrationTaskReportsPaginate( + config: IoTPaginationConfiguration, + input: ListThingRegistrationTaskReportsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListThingRegistrationTaskReportsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListThingRegistrationTasksPaginator.ts b/clients/client-iot/pagination/ListThingRegistrationTasksPaginator.ts new file mode 100644 index 000000000000..2a7a90d63431 --- /dev/null +++ b/clients/client-iot/pagination/ListThingRegistrationTasksPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListThingRegistrationTasksCommand, + ListThingRegistrationTasksCommandInput, + ListThingRegistrationTasksCommandOutput, +} from "../commands/ListThingRegistrationTasksCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListThingRegistrationTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListThingRegistrationTasksCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListThingRegistrationTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listThingRegistrationTasks(input, ...args); +}; +export async function* listThingRegistrationTasksPaginate( + config: IoTPaginationConfiguration, + input: ListThingRegistrationTasksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListThingRegistrationTasksCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListThingTypesPaginator.ts b/clients/client-iot/pagination/ListThingTypesPaginator.ts new file mode 100644 index 000000000000..4cf02a289670 --- /dev/null +++ b/clients/client-iot/pagination/ListThingTypesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListThingTypesCommand, + ListThingTypesCommandInput, + ListThingTypesCommandOutput, +} from "../commands/ListThingTypesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListThingTypesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListThingTypesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListThingTypesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listThingTypes(input, ...args); +}; +export async function* listThingTypesPaginate( + config: IoTPaginationConfiguration, + input: ListThingTypesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListThingTypesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListThingsInBillingGroupPaginator.ts b/clients/client-iot/pagination/ListThingsInBillingGroupPaginator.ts new file mode 100644 index 000000000000..dd322a036b0c --- /dev/null +++ b/clients/client-iot/pagination/ListThingsInBillingGroupPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListThingsInBillingGroupCommand, + ListThingsInBillingGroupCommandInput, + ListThingsInBillingGroupCommandOutput, +} from "../commands/ListThingsInBillingGroupCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListThingsInBillingGroupCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListThingsInBillingGroupCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListThingsInBillingGroupCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listThingsInBillingGroup(input, ...args); +}; +export async function* listThingsInBillingGroupPaginate( + config: IoTPaginationConfiguration, + input: ListThingsInBillingGroupCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListThingsInBillingGroupCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListThingsInThingGroupPaginator.ts b/clients/client-iot/pagination/ListThingsInThingGroupPaginator.ts new file mode 100644 index 000000000000..3dfc7cecac8d --- /dev/null +++ b/clients/client-iot/pagination/ListThingsInThingGroupPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListThingsInThingGroupCommand, + ListThingsInThingGroupCommandInput, + ListThingsInThingGroupCommandOutput, +} from "../commands/ListThingsInThingGroupCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListThingsInThingGroupCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListThingsInThingGroupCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListThingsInThingGroupCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listThingsInThingGroup(input, ...args); +}; +export async function* listThingsInThingGroupPaginate( + config: IoTPaginationConfiguration, + input: ListThingsInThingGroupCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListThingsInThingGroupCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListThingsPaginator.ts b/clients/client-iot/pagination/ListThingsPaginator.ts new file mode 100644 index 000000000000..929a880564dd --- /dev/null +++ b/clients/client-iot/pagination/ListThingsPaginator.ts @@ -0,0 +1,47 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { ListThingsCommand, ListThingsCommandInput, ListThingsCommandOutput } from "../commands/ListThingsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListThingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListThingsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListThingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listThings(input, ...args); +}; +export async function* listThingsPaginate( + config: IoTPaginationConfiguration, + input: ListThingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListThingsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListTopicRuleDestinationsPaginator.ts b/clients/client-iot/pagination/ListTopicRuleDestinationsPaginator.ts new file mode 100644 index 000000000000..b660356cd6d5 --- /dev/null +++ b/clients/client-iot/pagination/ListTopicRuleDestinationsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListTopicRuleDestinationsCommand, + ListTopicRuleDestinationsCommandInput, + ListTopicRuleDestinationsCommandOutput, +} from "../commands/ListTopicRuleDestinationsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListTopicRuleDestinationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListTopicRuleDestinationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListTopicRuleDestinationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listTopicRuleDestinations(input, ...args); +}; +export async function* listTopicRuleDestinationsPaginate( + config: IoTPaginationConfiguration, + input: ListTopicRuleDestinationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListTopicRuleDestinationsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListTopicRulesPaginator.ts b/clients/client-iot/pagination/ListTopicRulesPaginator.ts new file mode 100644 index 000000000000..2eb7f3aa6e06 --- /dev/null +++ b/clients/client-iot/pagination/ListTopicRulesPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListTopicRulesCommand, + ListTopicRulesCommandInput, + ListTopicRulesCommandOutput, +} from "../commands/ListTopicRulesCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListTopicRulesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListTopicRulesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListTopicRulesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listTopicRules(input, ...args); +}; +export async function* listTopicRulesPaginate( + config: IoTPaginationConfiguration, + input: ListTopicRulesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListTopicRulesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListV2LoggingLevelsPaginator.ts b/clients/client-iot/pagination/ListV2LoggingLevelsPaginator.ts new file mode 100644 index 000000000000..2eb2874f9d92 --- /dev/null +++ b/clients/client-iot/pagination/ListV2LoggingLevelsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListV2LoggingLevelsCommand, + ListV2LoggingLevelsCommandInput, + ListV2LoggingLevelsCommandOutput, +} from "../commands/ListV2LoggingLevelsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListV2LoggingLevelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListV2LoggingLevelsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListV2LoggingLevelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listV2LoggingLevels(input, ...args); +}; +export async function* listV2LoggingLevelsPaginate( + config: IoTPaginationConfiguration, + input: ListV2LoggingLevelsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListV2LoggingLevelsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/pagination/ListViolationEventsPaginator.ts b/clients/client-iot/pagination/ListViolationEventsPaginator.ts new file mode 100644 index 000000000000..65d013201f60 --- /dev/null +++ b/clients/client-iot/pagination/ListViolationEventsPaginator.ts @@ -0,0 +1,51 @@ +import { IoT } from "../IoT"; +import { IoTClient } from "../IoTClient"; +import { + ListViolationEventsCommand, + ListViolationEventsCommandInput, + ListViolationEventsCommandOutput, +} from "../commands/ListViolationEventsCommand"; +import { IoTPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IoTClient, + input: ListViolationEventsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListViolationEventsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: IoT, + input: ListViolationEventsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listViolationEvents(input, ...args); +}; +export async function* listViolationEventsPaginate( + config: IoTPaginationConfiguration, + input: ListViolationEventsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListViolationEventsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof IoT) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IoTClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected IoT | IoTClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-iot/protocols/Aws_restJson1.ts b/clients/client-iot/protocols/Aws_restJson1.ts index c2f8c63a4b19..5d63e9e9f263 100644 --- a/clients/client-iot/protocols/Aws_restJson1.ts +++ b/clients/client-iot/protocols/Aws_restJson1.ts @@ -46,6 +46,10 @@ import { ConfirmTopicRuleDestinationCommandInput, ConfirmTopicRuleDestinationCommandOutput, } from "../commands/ConfirmTopicRuleDestinationCommand"; +import { + CreateAuditSuppressionCommandInput, + CreateAuditSuppressionCommandOutput, +} from "../commands/CreateAuditSuppressionCommand"; import { CreateAuthorizerCommandInput, CreateAuthorizerCommandOutput } from "../commands/CreateAuthorizerCommand"; import { CreateBillingGroupCommandInput, CreateBillingGroupCommandOutput } from "../commands/CreateBillingGroupCommand"; import { @@ -110,6 +114,10 @@ import { DeleteAccountAuditConfigurationCommandInput, DeleteAccountAuditConfigurationCommandOutput, } from "../commands/DeleteAccountAuditConfigurationCommand"; +import { + DeleteAuditSuppressionCommandInput, + DeleteAuditSuppressionCommandOutput, +} from "../commands/DeleteAuditSuppressionCommand"; import { DeleteAuthorizerCommandInput, DeleteAuthorizerCommandOutput } from "../commands/DeleteAuthorizerCommand"; import { DeleteBillingGroupCommandInput, DeleteBillingGroupCommandOutput } from "../commands/DeleteBillingGroupCommand"; import { @@ -185,6 +193,10 @@ import { DescribeAuditMitigationActionsTaskCommandInput, DescribeAuditMitigationActionsTaskCommandOutput, } from "../commands/DescribeAuditMitigationActionsTaskCommand"; +import { + DescribeAuditSuppressionCommandInput, + DescribeAuditSuppressionCommandOutput, +} from "../commands/DescribeAuditSuppressionCommand"; import { DescribeAuditTaskCommandInput, DescribeAuditTaskCommandOutput } from "../commands/DescribeAuditTaskCommand"; import { DescribeAuthorizerCommandInput, DescribeAuthorizerCommandOutput } from "../commands/DescribeAuthorizerCommand"; import { @@ -309,6 +321,10 @@ import { ListAuditMitigationActionsTasksCommandInput, ListAuditMitigationActionsTasksCommandOutput, } from "../commands/ListAuditMitigationActionsTasksCommand"; +import { + ListAuditSuppressionsCommandInput, + ListAuditSuppressionsCommandOutput, +} from "../commands/ListAuditSuppressionsCommand"; import { ListAuditTasksCommandInput, ListAuditTasksCommandOutput } from "../commands/ListAuditTasksCommand"; import { ListAuthorizersCommandInput, ListAuthorizersCommandOutput } from "../commands/ListAuthorizersCommand"; import { ListBillingGroupsCommandInput, ListBillingGroupsCommandOutput } from "../commands/ListBillingGroupsCommand"; @@ -502,6 +518,10 @@ import { UpdateAccountAuditConfigurationCommandInput, UpdateAccountAuditConfigurationCommandOutput, } from "../commands/UpdateAccountAuditConfigurationCommand"; +import { + UpdateAuditSuppressionCommandInput, + UpdateAuditSuppressionCommandOutput, +} from "../commands/UpdateAuditSuppressionCommand"; import { UpdateAuthorizerCommandInput, UpdateAuthorizerCommandOutput } from "../commands/UpdateAuthorizerCommand"; import { UpdateBillingGroupCommandInput, UpdateBillingGroupCommandOutput } from "../commands/UpdateBillingGroupCommand"; import { @@ -580,6 +600,7 @@ import { AuditMitigationActionsTaskTarget, AuditNotificationTarget, AuditNotificationType, + AuditSuppression, AuditTaskMetadata, AuthInfo, AuthResult, @@ -595,12 +616,9 @@ import { AwsJobTimeoutConfig, Behavior, BehaviorCriteria, - BillingGroupMetadata, BillingGroupProperties, - CACertificateDescription, CertificateStateException, CertificateValidationException, - CertificateValidity, CloudwatchAlarmAction, CloudwatchLogsAction, CloudwatchMetricAction, @@ -683,6 +701,9 @@ import { ThingTypeProperties, ThrottlingException, TimeoutConfig, + TimestreamAction, + TimestreamDimension, + TimestreamTimestamp, TopicRuleDestination, TopicRuleDestinationConfiguration, TopicRulePayload, @@ -695,10 +716,13 @@ import { _Stream, } from "../models/models_0"; import { + BillingGroupMetadata, CACertificate, + CACertificateDescription, Certificate, CertificateConflictException, CertificateDescription, + CertificateValidity, Configuration, DomainConfigurationSummary, EffectivePolicy, @@ -754,15 +778,13 @@ import { ThingIndexingConfiguration, ThingTypeDefinition, ThingTypeMetadata, - TlsContext, TopicRule, TopicRuleDestinationSummary, TopicRuleListItem, - TransferConflictException, TransferData, ViolationEvent, } from "../models/models_1"; -import { ValidationError } from "../models/models_2"; +import { TlsContext, TransferConflictException, ValidationError } from "../models/models_2"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { SmithyException as __SmithyException, @@ -1164,15 +1186,6 @@ export const serializeAws_restJson1CancelJobExecutionCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/things/{thingName}/jobs/{jobId}/cancel"; - if (input.jobId !== undefined) { - const labelValue: string = input.jobId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: jobId."); - } - resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: jobId."); - } if (input.thingName !== undefined) { const labelValue: string = input.thingName; if (labelValue.length <= 0) { @@ -1182,6 +1195,15 @@ export const serializeAws_restJson1CancelJobExecutionCommand = async ( } else { throw new Error("No value provided for input HTTP label: thingName."); } + if (input.jobId !== undefined) { + const labelValue: string = input.jobId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: jobId."); + } + resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: jobId."); + } const query: any = { ...(input.force !== undefined && { force: input.force.toString() }), }; @@ -1263,6 +1285,37 @@ export const serializeAws_restJson1ConfirmTopicRuleDestinationCommand = async ( }); }; +export const serializeAws_restJson1CreateAuditSuppressionCommand = async ( + input: CreateAuditSuppressionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/audit/suppressions/create"; + let body: any; + body = JSON.stringify({ + ...(input.checkName !== undefined && { checkName: input.checkName }), + clientRequestToken: input.clientRequestToken ?? generateIdempotencyToken(), + ...(input.description !== undefined && { description: input.description }), + ...(input.expirationDate !== undefined && { expirationDate: Math.round(input.expirationDate.getTime() / 1000) }), + ...(input.resourceIdentifier !== undefined && { + resourceIdentifier: serializeAws_restJson1ResourceIdentifier(input.resourceIdentifier, context), + }), + ...(input.suppressIndefinitely !== undefined && { suppressIndefinitely: input.suppressIndefinitely }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateAuthorizerCommand = async ( input: CreateAuthorizerCommandInput, context: __SerdeContext @@ -2196,6 +2249,33 @@ export const serializeAws_restJson1DeleteAccountAuditConfigurationCommand = asyn }); }; +export const serializeAws_restJson1DeleteAuditSuppressionCommand = async ( + input: DeleteAuditSuppressionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/audit/suppressions/delete"; + let body: any; + body = JSON.stringify({ + ...(input.checkName !== undefined && { checkName: input.checkName }), + ...(input.resourceIdentifier !== undefined && { + resourceIdentifier: serializeAws_restJson1ResourceIdentifier(input.resourceIdentifier, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DeleteAuthorizerCommand = async ( input: DeleteAuthorizerCommandInput, context: __SerdeContext @@ -2552,8 +2632,8 @@ export const serializeAws_restJson1DeleteOTAUpdateCommand = async ( throw new Error("No value provided for input HTTP label: otaUpdateId."); } const query: any = { - ...(input.deleteStream !== undefined && { deleteStream: input.deleteStream.toString() }), ...(input.forceDeleteAWSJob !== undefined && { forceDeleteAWSJob: input.forceDeleteAWSJob.toString() }), + ...(input.deleteStream !== undefined && { deleteStream: input.deleteStream.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2607,15 +2687,6 @@ export const serializeAws_restJson1DeletePolicyVersionCommand = async ( "Content-Type": "", }; let resolvedPath = "/policies/{policyName}/version/{policyVersionId}"; - if (input.policyVersionId !== undefined) { - const labelValue: string = input.policyVersionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: policyVersionId."); - } - resolvedPath = resolvedPath.replace("{policyVersionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: policyVersionId."); - } if (input.policyName !== undefined) { const labelValue: string = input.policyName; if (labelValue.length <= 0) { @@ -2625,6 +2696,15 @@ export const serializeAws_restJson1DeletePolicyVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: policyName."); } + if (input.policyVersionId !== undefined) { + const labelValue: string = input.policyVersionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: policyVersionId."); + } + resolvedPath = resolvedPath.replace("{policyVersionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: policyVersionId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3026,8 +3106,8 @@ export const serializeAws_restJson1DeleteV2LoggingLevelCommand = async ( }; let resolvedPath = "/v2LoggingLevel"; const query: any = { - ...(input.targetType !== undefined && { targetType: input.targetType }), ...(input.targetName !== undefined && { targetName: input.targetName }), + ...(input.targetType !== undefined && { targetType: input.targetType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3158,6 +3238,33 @@ export const serializeAws_restJson1DescribeAuditMitigationActionsTaskCommand = a }); }; +export const serializeAws_restJson1DescribeAuditSuppressionCommand = async ( + input: DescribeAuditSuppressionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/audit/suppressions/describe"; + let body: any; + body = JSON.stringify({ + ...(input.checkName !== undefined && { checkName: input.checkName }), + ...(input.resourceIdentifier !== undefined && { + resourceIdentifier: serializeAws_restJson1ResourceIdentifier(input.resourceIdentifier, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DescribeAuditTaskCommand = async ( input: DescribeAuditTaskCommandInput, context: __SerdeContext @@ -3505,15 +3612,6 @@ export const serializeAws_restJson1DescribeJobExecutionCommand = async ( "Content-Type": "", }; let resolvedPath = "/things/{thingName}/jobs/{jobId}"; - if (input.jobId !== undefined) { - const labelValue: string = input.jobId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: jobId."); - } - resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: jobId."); - } if (input.thingName !== undefined) { const labelValue: string = input.thingName; if (labelValue.length <= 0) { @@ -3523,6 +3621,15 @@ export const serializeAws_restJson1DescribeJobExecutionCommand = async ( } else { throw new Error("No value provided for input HTTP label: thingName."); } + if (input.jobId !== undefined) { + const labelValue: string = input.jobId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: jobId."); + } + resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: jobId."); + } const query: any = { ...(input.executionNumber !== undefined && { executionNumber: input.executionNumber.toString() }), }; @@ -4294,15 +4401,6 @@ export const serializeAws_restJson1GetPolicyVersionCommand = async ( "Content-Type": "", }; let resolvedPath = "/policies/{policyName}/version/{policyVersionId}"; - if (input.policyVersionId !== undefined) { - const labelValue: string = input.policyVersionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: policyVersionId."); - } - resolvedPath = resolvedPath.replace("{policyVersionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: policyVersionId."); - } if (input.policyName !== undefined) { const labelValue: string = input.policyName; if (labelValue.length <= 0) { @@ -4312,6 +4410,15 @@ export const serializeAws_restJson1GetPolicyVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: policyName."); } + if (input.policyVersionId !== undefined) { + const labelValue: string = input.policyVersionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: policyVersionId."); + } + resolvedPath = resolvedPath.replace("{policyVersionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: policyVersionId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -4471,10 +4578,10 @@ export const serializeAws_restJson1ListActiveViolationsCommand = async ( }; let resolvedPath = "/active-violations"; const query: any = { - ...(input.thingName !== undefined && { thingName: input.thingName }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.securityProfileName !== undefined && { securityProfileName: input.securityProfileName }), + ...(input.thingName !== undefined && { thingName: input.thingName }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4508,8 +4615,8 @@ export const serializeAws_restJson1ListAttachedPoliciesCommand = async ( throw new Error("No value provided for input HTTP label: target."); } const query: any = { - ...(input.marker !== undefined && { marker: input.marker }), ...(input.recursive !== undefined && { recursive: input.recursive.toString() }), + ...(input.marker !== undefined && { marker: input.marker }), ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), }; let body: any; @@ -4538,6 +4645,7 @@ export const serializeAws_restJson1ListAuditFindingsCommand = async ( body = JSON.stringify({ ...(input.checkName !== undefined && { checkName: input.checkName }), ...(input.endTime !== undefined && { endTime: Math.round(input.endTime.getTime() / 1000) }), + ...(input.listSuppressedFindings !== undefined && { listSuppressedFindings: input.listSuppressedFindings }), ...(input.maxResults !== undefined && { maxResults: input.maxResults }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.resourceIdentifier !== undefined && { @@ -4567,11 +4675,11 @@ export const serializeAws_restJson1ListAuditMitigationActionsExecutionsCommand = }; let resolvedPath = "/audit/mitigationactions/executions"; const query: any = { - ...(input.findingId !== undefined && { findingId: input.findingId }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.taskId !== undefined && { taskId: input.taskId }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.actionStatus !== undefined && { actionStatus: input.actionStatus }), + ...(input.findingId !== undefined && { findingId: input.findingId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4596,13 +4704,13 @@ export const serializeAws_restJson1ListAuditMitigationActionsTasksCommand = asyn }; let resolvedPath = "/audit/mitigationactions/tasks"; const query: any = { - ...(input.auditTaskId !== undefined && { auditTaskId: input.auditTaskId }), - ...(input.taskStatus !== undefined && { taskStatus: input.taskStatus }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.startTime !== undefined && { startTime: (input.startTime.toISOString().split(".")[0] + "Z").toString() }), + ...(input.auditTaskId !== undefined && { auditTaskId: input.auditTaskId }), ...(input.findingId !== undefined && { findingId: input.findingId }), + ...(input.taskStatus !== undefined && { taskStatus: input.taskStatus }), ...(input.endTime !== undefined && { endTime: (input.endTime.toISOString().split(".")[0] + "Z").toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4618,6 +4726,36 @@ export const serializeAws_restJson1ListAuditMitigationActionsTasksCommand = asyn }); }; +export const serializeAws_restJson1ListAuditSuppressionsCommand = async ( + input: ListAuditSuppressionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/audit/suppressions/list"; + let body: any; + body = JSON.stringify({ + ...(input.ascendingOrder !== undefined && { ascendingOrder: input.ascendingOrder }), + ...(input.checkName !== undefined && { checkName: input.checkName }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.resourceIdentifier !== undefined && { + resourceIdentifier: serializeAws_restJson1ResourceIdentifier(input.resourceIdentifier, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1ListAuditTasksCommand = async ( input: ListAuditTasksCommandInput, context: __SerdeContext @@ -4627,12 +4765,12 @@ export const serializeAws_restJson1ListAuditTasksCommand = async ( }; let resolvedPath = "/audit/tasks"; const query: any = { - ...(input.taskType !== undefined && { taskType: input.taskType }), - ...(input.endTime !== undefined && { endTime: (input.endTime.toISOString().split(".")[0] + "Z").toString() }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.startTime !== undefined && { startTime: (input.startTime.toISOString().split(".")[0] + "Z").toString() }), - ...(input.taskStatus !== undefined && { taskStatus: input.taskStatus }), + ...(input.endTime !== undefined && { endTime: (input.endTime.toISOString().split(".")[0] + "Z").toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.taskType !== undefined && { taskType: input.taskType }), + ...(input.taskStatus !== undefined && { taskStatus: input.taskStatus }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4657,10 +4795,10 @@ export const serializeAws_restJson1ListAuthorizersCommand = async ( }; let resolvedPath = "/authorizers"; const query: any = { - ...(input.status !== undefined && { status: input.status }), ...(input.marker !== undefined && { marker: input.marker }), - ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), ...(input.ascendingOrder !== undefined && { isAscendingOrder: input.ascendingOrder.toString() }), + ...(input.status !== undefined && { status: input.status }), + ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4685,9 +4823,9 @@ export const serializeAws_restJson1ListBillingGroupsCommand = async ( }; let resolvedPath = "/billing-groups"; const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.namePrefixFilter !== undefined && { namePrefixFilter: input.namePrefixFilter }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4712,9 +4850,9 @@ export const serializeAws_restJson1ListCACertificatesCommand = async ( }; let resolvedPath = "/cacertificates"; const query: any = { + ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), ...(input.ascendingOrder !== undefined && { isAscendingOrder: input.ascendingOrder.toString() }), ...(input.marker !== undefined && { marker: input.marker }), - ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4739,9 +4877,9 @@ export const serializeAws_restJson1ListCertificatesCommand = async ( }; let resolvedPath = "/certificates"; const query: any = { + ...(input.marker !== undefined && { marker: input.marker }), ...(input.ascendingOrder !== undefined && { isAscendingOrder: input.ascendingOrder.toString() }), ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), - ...(input.marker !== undefined && { marker: input.marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4775,9 +4913,9 @@ export const serializeAws_restJson1ListCertificatesByCACommand = async ( throw new Error("No value provided for input HTTP label: caCertificateId."); } const query: any = { - ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), ...(input.marker !== undefined && { marker: input.marker }), ...(input.ascendingOrder !== undefined && { isAscendingOrder: input.ascendingOrder.toString() }), + ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4828,9 +4966,9 @@ export const serializeAws_restJson1ListDomainConfigurationsCommand = async ( }; let resolvedPath = "/domainConfigurations"; const query: any = { - ...(input.marker !== undefined && { marker: input.marker }), - ...(input.serviceType !== undefined && { serviceType: input.serviceType }), ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), + ...(input.serviceType !== undefined && { serviceType: input.serviceType }), + ...(input.marker !== undefined && { marker: input.marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4890,9 +5028,9 @@ export const serializeAws_restJson1ListJobExecutionsForJobCommand = async ( throw new Error("No value provided for input HTTP label: jobId."); } const query: any = { + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.status !== undefined && { status: input.status }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4953,12 +5091,12 @@ export const serializeAws_restJson1ListJobsCommand = async ( }; let resolvedPath = "/jobs"; const query: any = { - ...(input.status !== undefined && { status: input.status }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.targetSelection !== undefined && { targetSelection: input.targetSelection }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.thingGroupName !== undefined && { thingGroupName: input.thingGroupName }), ...(input.thingGroupId !== undefined && { thingGroupId: input.thingGroupId }), + ...(input.status !== undefined && { status: input.status }), + ...(input.thingGroupName !== undefined && { thingGroupName: input.thingGroupName }), + ...(input.targetSelection !== undefined && { targetSelection: input.targetSelection }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -4983,9 +5121,9 @@ export const serializeAws_restJson1ListMitigationActionsCommand = async ( }; let resolvedPath = "/mitigationactions/actions"; const query: any = { - ...(input.actionType !== undefined && { actionType: input.actionType }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.actionType !== undefined && { actionType: input.actionType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5010,9 +5148,9 @@ export const serializeAws_restJson1ListOTAUpdatesCommand = async ( }; let resolvedPath = "/otaUpdates"; const query: any = { - ...(input.otaUpdateStatus !== undefined && { otaUpdateStatus: input.otaUpdateStatus }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.otaUpdateStatus !== undefined && { otaUpdateStatus: input.otaUpdateStatus }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5037,9 +5175,9 @@ export const serializeAws_restJson1ListOutgoingCertificatesCommand = async ( }; let resolvedPath = "/certificates-out-going"; const query: any = { - ...(input.ascendingOrder !== undefined && { isAscendingOrder: input.ascendingOrder.toString() }), - ...(input.marker !== undefined && { marker: input.marker }), ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), + ...(input.marker !== undefined && { marker: input.marker }), + ...(input.ascendingOrder !== undefined && { isAscendingOrder: input.ascendingOrder.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5064,9 +5202,9 @@ export const serializeAws_restJson1ListPoliciesCommand = async ( }; let resolvedPath = "/policies"; const query: any = { - ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), - ...(input.marker !== undefined && { marker: input.marker }), ...(input.ascendingOrder !== undefined && { isAscendingOrder: input.ascendingOrder.toString() }), + ...(input.marker !== undefined && { marker: input.marker }), + ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5092,9 +5230,9 @@ export const serializeAws_restJson1ListPolicyPrincipalsCommand = async ( }; let resolvedPath = "/policy-principals"; const query: any = { - ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), ...(input.ascendingOrder !== undefined && { isAscendingOrder: input.ascendingOrder.toString() }), ...(input.marker !== undefined && { marker: input.marker }), + ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5151,8 +5289,8 @@ export const serializeAws_restJson1ListPrincipalPoliciesCommand = async ( let resolvedPath = "/principal-policies"; const query: any = { ...(input.marker !== undefined && { marker: input.marker }), - ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), ...(input.ascendingOrder !== undefined && { isAscendingOrder: input.ascendingOrder.toString() }), + ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5178,8 +5316,8 @@ export const serializeAws_restJson1ListPrincipalThingsCommand = async ( }; let resolvedPath = "/principals/things"; 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(); @@ -5239,8 +5377,8 @@ export const serializeAws_restJson1ListProvisioningTemplateVersionsCommand = asy throw new Error("No value provided for input HTTP label: templateName."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5265,9 +5403,9 @@ export const serializeAws_restJson1ListRoleAliasesCommand = async ( }; let resolvedPath = "/role-aliases"; const query: any = { + ...(input.marker !== undefined && { marker: input.marker }), ...(input.ascendingOrder !== undefined && { isAscendingOrder: input.ascendingOrder.toString() }), ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), - ...(input.marker !== undefined && { marker: input.marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5292,8 +5430,8 @@ export const serializeAws_restJson1ListScheduledAuditsCommand = async ( }; let resolvedPath = "/audit/scheduledaudits"; const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5318,9 +5456,9 @@ export const serializeAws_restJson1ListSecurityProfilesCommand = async ( }; let resolvedPath = "/security-profiles"; const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.dimensionName !== undefined && { dimensionName: input.dimensionName }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5345,10 +5483,10 @@ export const serializeAws_restJson1ListSecurityProfilesForTargetCommand = async }; let resolvedPath = "/security-profiles-for-target"; const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.recursive !== undefined && { recursive: input.recursive.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.recursive !== undefined && { recursive: input.recursive.toString() }), ...(input.securityProfileTargetArn !== undefined && { securityProfileTargetArn: input.securityProfileTargetArn }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5435,8 +5573,8 @@ export const serializeAws_restJson1ListTargetsForPolicyCommand = async ( throw new Error("No value provided for input HTTP label: policyName."); } const query: any = { - ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), ...(input.marker !== undefined && { marker: input.marker }), + ...(input.pageSize !== undefined && { pageSize: input.pageSize.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5470,8 +5608,8 @@ export const serializeAws_restJson1ListTargetsForSecurityProfileCommand = async throw new Error("No value provided for input HTTP label: securityProfileName."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5534,8 +5672,8 @@ export const serializeAws_restJson1ListThingGroupsForThingCommand = async ( throw new Error("No value provided for input HTTP label: thingName."); } 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(); @@ -5599,9 +5737,9 @@ export const serializeAws_restJson1ListThingRegistrationTaskReportsCommand = asy throw new Error("No value provided for input HTTP label: taskId."); } const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.reportType !== undefined && { reportType: input.reportType }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5653,10 +5791,10 @@ export const serializeAws_restJson1ListThingsCommand = async ( }; let resolvedPath = "/things"; const query: any = { - ...(input.attributeValue !== undefined && { attributeValue: input.attributeValue }), ...(input.thingTypeName !== undefined && { thingTypeName: input.thingTypeName }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.attributeValue !== undefined && { attributeValue: input.attributeValue }), ...(input.attributeName !== undefined && { attributeName: input.attributeName }), }; let body: any; @@ -5726,9 +5864,9 @@ export const serializeAws_restJson1ListThingsInThingGroupCommand = async ( throw new Error("No value provided for input HTTP label: thingGroupName."); } const query: any = { + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.recursive !== undefined && { recursive: input.recursive.toString() }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5753,9 +5891,9 @@ export const serializeAws_restJson1ListThingTypesCommand = async ( }; let resolvedPath = "/thing-types"; const query: any = { - ...(input.thingTypeName !== undefined && { thingTypeName: input.thingTypeName }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.thingTypeName !== undefined && { thingTypeName: input.thingTypeName }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5780,8 +5918,8 @@ export const serializeAws_restJson1ListTopicRuleDestinationsCommand = async ( }; let resolvedPath = "/destinations"; const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5806,9 +5944,9 @@ export const serializeAws_restJson1ListTopicRulesCommand = async ( }; let resolvedPath = "/rules"; const query: any = { + ...(input.ruleDisabled !== undefined && { ruleDisabled: input.ruleDisabled.toString() }), ...(input.topic !== undefined && { topic: input.topic }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.ruleDisabled !== undefined && { ruleDisabled: input.ruleDisabled.toString() }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; @@ -5834,9 +5972,9 @@ export const serializeAws_restJson1ListV2LoggingLevelsCommand = async ( }; let resolvedPath = "/v2LoggingLevel"; const query: any = { + ...(input.targetType !== undefined && { targetType: input.targetType }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.targetType !== undefined && { targetType: input.targetType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -5861,12 +5999,12 @@ export const serializeAws_restJson1ListViolationEventsCommand = async ( }; let resolvedPath = "/violation-events"; const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.endTime !== undefined && { endTime: (input.endTime.toISOString().split(".")[0] + "Z").toString() }), - ...(input.securityProfileName !== undefined && { securityProfileName: input.securityProfileName }), ...(input.thingName !== undefined && { thingName: input.thingName }), + ...(input.securityProfileName !== undefined && { securityProfileName: input.securityProfileName }), ...(input.startTime !== undefined && { startTime: (input.startTime.toISOString().split(".")[0] + "Z").toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.endTime !== undefined && { endTime: (input.endTime.toISOString().split(".")[0] + "Z").toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -6612,6 +6750,36 @@ export const serializeAws_restJson1UpdateAccountAuditConfigurationCommand = asyn }); }; +export const serializeAws_restJson1UpdateAuditSuppressionCommand = async ( + input: UpdateAuditSuppressionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/audit/suppressions/update"; + let body: any; + body = JSON.stringify({ + ...(input.checkName !== undefined && { checkName: input.checkName }), + ...(input.description !== undefined && { description: input.description }), + ...(input.expirationDate !== undefined && { expirationDate: Math.round(input.expirationDate.getTime() / 1000) }), + ...(input.resourceIdentifier !== undefined && { + resourceIdentifier: serializeAws_restJson1ResourceIdentifier(input.resourceIdentifier, context), + }), + ...(input.suppressIndefinitely !== undefined && { suppressIndefinitely: input.suppressIndefinitely }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PATCH", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1UpdateAuthorizerCommand = async ( input: UpdateAuthorizerCommandInput, context: __SerdeContext @@ -6704,10 +6872,10 @@ export const serializeAws_restJson1UpdateCACertificateCommand = async ( throw new Error("No value provided for input HTTP label: certificateId."); } const query: any = { - ...(input.newStatus !== undefined && { newStatus: input.newStatus }), ...(input.newAutoRegistrationStatus !== undefined && { newAutoRegistrationStatus: input.newAutoRegistrationStatus, }), + ...(input.newStatus !== undefined && { newStatus: input.newStatus }), }; let body: any; body = JSON.stringify({ @@ -8515,7 +8683,98 @@ const deserializeAws_restJson1CancelJobExecutionCommandError = async ( case "VersionConflictException": case "com.amazonaws.iot#VersionConflictException": response = { - ...(await deserializeAws_restJson1VersionConflictExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1VersionConflictExceptionResponse(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_restJson1ClearDefaultAuthorizerCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ClearDefaultAuthorizerCommandError(output, context); + } + const contents: ClearDefaultAuthorizerCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ClearDefaultAuthorizerCommandError = 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 "InternalFailureException": + case "com.amazonaws.iot#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.iot#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.iot#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.iot#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.iot#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedException": + case "com.amazonaws.iot#UnauthorizedException": + response = { + ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -8537,24 +8796,24 @@ const deserializeAws_restJson1CancelJobExecutionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ClearDefaultAuthorizerCommand = async ( +export const deserializeAws_restJson1ConfirmTopicRuleDestinationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ClearDefaultAuthorizerCommandError(output, context); + return deserializeAws_restJson1ConfirmTopicRuleDestinationCommandError(output, context); } - const contents: ClearDefaultAuthorizerCommandOutput = { + const contents: ConfirmTopicRuleDestinationCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ClearDefaultAuthorizerCommandError = async ( +const deserializeAws_restJson1ConfirmTopicRuleDestinationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8563,26 +8822,26 @@ const deserializeAws_restJson1ClearDefaultAuthorizerCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "InternalFailureException": - case "com.amazonaws.iot#InternalFailureException": + case "ConflictingResourceUpdateException": + case "com.amazonaws.iot#ConflictingResourceUpdateException": response = { - ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ConflictingResourceUpdateExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InvalidRequestException": - case "com.amazonaws.iot#InvalidRequestException": + case "InternalException": + case "com.amazonaws.iot#InternalException": response = { - ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.iot#ResourceNotFoundException": + case "InvalidRequestException": + case "com.amazonaws.iot#InvalidRequestException": response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -8595,14 +8854,6 @@ const deserializeAws_restJson1ClearDefaultAuthorizerCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.iot#ThrottlingException": - response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "UnauthorizedException": case "com.amazonaws.iot#UnauthorizedException": response = { @@ -8628,24 +8879,24 @@ const deserializeAws_restJson1ClearDefaultAuthorizerCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ConfirmTopicRuleDestinationCommand = async ( +export const deserializeAws_restJson1CreateAuditSuppressionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ConfirmTopicRuleDestinationCommandError(output, context); + return deserializeAws_restJson1CreateAuditSuppressionCommandError(output, context); } - const contents: ConfirmTopicRuleDestinationCommandOutput = { + const contents: CreateAuditSuppressionCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ConfirmTopicRuleDestinationCommandError = async ( +const deserializeAws_restJson1CreateAuditSuppressionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -8654,42 +8905,42 @@ const deserializeAws_restJson1ConfirmTopicRuleDestinationCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ConflictingResourceUpdateException": - case "com.amazonaws.iot#ConflictingResourceUpdateException": + case "InternalFailureException": + case "com.amazonaws.iot#InternalFailureException": response = { - ...(await deserializeAws_restJson1ConflictingResourceUpdateExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InternalException": - case "com.amazonaws.iot#InternalException": + case "InvalidRequestException": + case "com.amazonaws.iot#InvalidRequestException": response = { - ...(await deserializeAws_restJson1InternalExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InvalidRequestException": - case "com.amazonaws.iot#InvalidRequestException": + case "LimitExceededException": + case "com.amazonaws.iot#LimitExceededException": response = { - ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ServiceUnavailableException": - case "com.amazonaws.iot#ServiceUnavailableException": + case "ResourceAlreadyExistsException": + case "com.amazonaws.iot#ResourceAlreadyExistsException": response = { - ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "UnauthorizedException": - case "com.amazonaws.iot#UnauthorizedException": + case "ThrottlingException": + case "com.amazonaws.iot#ThrottlingException": response = { - ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -11266,6 +11517,73 @@ const deserializeAws_restJson1DeleteAccountAuditConfigurationCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DeleteAuditSuppressionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteAuditSuppressionCommandError(output, context); + } + const contents: DeleteAuditSuppressionCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteAuditSuppressionCommandError = 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 "InternalFailureException": + case "com.amazonaws.iot#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.iot#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.iot#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_restJson1DeleteAuthorizerCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -12443,6 +12761,14 @@ const deserializeAws_restJson1DeleteProvisioningTemplateCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "ConflictingResourceUpdateException": + case "com.amazonaws.iot#ConflictingResourceUpdateException": + response = { + ...(await deserializeAws_restJson1ConflictingResourceUpdateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "DeleteConflictException": case "com.amazonaws.iot#DeleteConflictException": response = { @@ -12534,6 +12860,14 @@ const deserializeAws_restJson1DeleteProvisioningTemplateVersionCommandError = as let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "ConflictingResourceUpdateException": + case "com.amazonaws.iot#ConflictingResourceUpdateException": + response = { + ...(await deserializeAws_restJson1ConflictingResourceUpdateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "DeleteConflictException": case "com.amazonaws.iot#DeleteConflictException": response = { @@ -13714,10 +14048,119 @@ export const deserializeAws_restJson1DescribeAuditFindingCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeAuditFindingCommandError = async ( +const deserializeAws_restJson1DescribeAuditFindingCommandError = 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 "InternalFailureException": + case "com.amazonaws.iot#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.iot#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.iot#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.iot#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_restJson1DescribeAuditMitigationActionsTaskCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeAuditMitigationActionsTaskCommandError(output, context); + } + const contents: DescribeAuditMitigationActionsTaskCommandOutput = { + $metadata: deserializeMetadata(output), + actionsDefinition: undefined, + auditCheckToActionsMapping: undefined, + endTime: undefined, + startTime: undefined, + target: undefined, + taskStatistics: undefined, + taskStatus: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.actionsDefinition !== undefined && data.actionsDefinition !== null) { + contents.actionsDefinition = deserializeAws_restJson1MitigationActionList(data.actionsDefinition, context); + } + if (data.auditCheckToActionsMapping !== undefined && data.auditCheckToActionsMapping !== null) { + contents.auditCheckToActionsMapping = deserializeAws_restJson1AuditCheckToActionsMapping( + data.auditCheckToActionsMapping, + context + ); + } + if (data.endTime !== undefined && data.endTime !== null) { + contents.endTime = new Date(Math.round(data.endTime * 1000)); + } + if (data.startTime !== undefined && data.startTime !== null) { + contents.startTime = new Date(Math.round(data.startTime * 1000)); + } + if (data.target !== undefined && data.target !== null) { + contents.target = deserializeAws_restJson1AuditMitigationActionsTaskTarget(data.target, context); + } + if (data.taskStatistics !== undefined && data.taskStatistics !== null) { + contents.taskStatistics = deserializeAws_restJson1AuditMitigationActionsTaskStatistics( + data.taskStatistics, + context + ); + } + if (data.taskStatus !== undefined && data.taskStatus !== null) { + contents.taskStatus = data.taskStatus; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeAuditMitigationActionsTaskCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -13775,58 +14218,44 @@ const deserializeAws_restJson1DescribeAuditFindingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeAuditMitigationActionsTaskCommand = async ( +export const deserializeAws_restJson1DescribeAuditSuppressionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeAuditMitigationActionsTaskCommandError(output, context); + return deserializeAws_restJson1DescribeAuditSuppressionCommandError(output, context); } - const contents: DescribeAuditMitigationActionsTaskCommandOutput = { + const contents: DescribeAuditSuppressionCommandOutput = { $metadata: deserializeMetadata(output), - actionsDefinition: undefined, - auditCheckToActionsMapping: undefined, - endTime: undefined, - startTime: undefined, - target: undefined, - taskStatistics: undefined, - taskStatus: undefined, + checkName: undefined, + description: undefined, + expirationDate: undefined, + resourceIdentifier: undefined, + suppressIndefinitely: undefined, }; const data: any = await parseBody(output.body, context); - if (data.actionsDefinition !== undefined && data.actionsDefinition !== null) { - contents.actionsDefinition = deserializeAws_restJson1MitigationActionList(data.actionsDefinition, context); - } - if (data.auditCheckToActionsMapping !== undefined && data.auditCheckToActionsMapping !== null) { - contents.auditCheckToActionsMapping = deserializeAws_restJson1AuditCheckToActionsMapping( - data.auditCheckToActionsMapping, - context - ); - } - if (data.endTime !== undefined && data.endTime !== null) { - contents.endTime = new Date(Math.round(data.endTime * 1000)); + if (data.checkName !== undefined && data.checkName !== null) { + contents.checkName = data.checkName; } - if (data.startTime !== undefined && data.startTime !== null) { - contents.startTime = new Date(Math.round(data.startTime * 1000)); + if (data.description !== undefined && data.description !== null) { + contents.description = data.description; } - if (data.target !== undefined && data.target !== null) { - contents.target = deserializeAws_restJson1AuditMitigationActionsTaskTarget(data.target, context); + if (data.expirationDate !== undefined && data.expirationDate !== null) { + contents.expirationDate = new Date(Math.round(data.expirationDate * 1000)); } - if (data.taskStatistics !== undefined && data.taskStatistics !== null) { - contents.taskStatistics = deserializeAws_restJson1AuditMitigationActionsTaskStatistics( - data.taskStatistics, - context - ); + if (data.resourceIdentifier !== undefined && data.resourceIdentifier !== null) { + contents.resourceIdentifier = deserializeAws_restJson1ResourceIdentifier(data.resourceIdentifier, context); } - if (data.taskStatus !== undefined && data.taskStatus !== null) { - contents.taskStatus = data.taskStatus; + if (data.suppressIndefinitely !== undefined && data.suppressIndefinitely !== null) { + contents.suppressIndefinitely = data.suppressIndefinitely; } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeAuditMitigationActionsTaskCommandError = async ( +const deserializeAws_restJson1DescribeAuditSuppressionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -14589,6 +15018,7 @@ export const deserializeAws_restJson1DescribeDomainConfigurationCommand = async domainConfigurationStatus: undefined, domainName: undefined, domainType: undefined, + lastStatusChangeDate: undefined, serverCertificates: undefined, serviceType: undefined, }; @@ -14611,6 +15041,9 @@ export const deserializeAws_restJson1DescribeDomainConfigurationCommand = async if (data.domainType !== undefined && data.domainType !== null) { contents.domainType = data.domainType; } + if (data.lastStatusChangeDate !== undefined && data.lastStatusChangeDate !== null) { + contents.lastStatusChangeDate = new Date(Math.round(data.lastStatusChangeDate * 1000)); + } if (data.serverCertificates !== undefined && data.serverCertificates !== null) { contents.serverCertificates = deserializeAws_restJson1ServerCertificates(data.serverCertificates, context); } @@ -18639,6 +19072,81 @@ const deserializeAws_restJson1ListAuditMitigationActionsTasksCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListAuditSuppressionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListAuditSuppressionsCommandError(output, context); + } + const contents: ListAuditSuppressionsCommandOutput = { + $metadata: deserializeMetadata(output), + nextToken: undefined, + suppressions: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + if (data.suppressions !== undefined && data.suppressions !== null) { + contents.suppressions = deserializeAws_restJson1AuditSuppressionList(data.suppressions, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListAuditSuppressionsCommandError = 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 "InternalFailureException": + case "com.amazonaws.iot#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.iot#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.iot#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_restJson1ListAuditTasksCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -23606,6 +24114,14 @@ const deserializeAws_restJson1SetV2LoggingLevelCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "LimitExceededException": + case "com.amazonaws.iot#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "NotConfiguredException": case "com.amazonaws.iot#NotConfiguredException": response = { @@ -24592,6 +25108,81 @@ const deserializeAws_restJson1UpdateAccountAuditConfigurationCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1UpdateAuditSuppressionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateAuditSuppressionCommandError(output, context); + } + const contents: UpdateAuditSuppressionCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateAuditSuppressionCommandError = 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 "InternalFailureException": + case "com.amazonaws.iot#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.iot#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.iot#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.iot#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_restJson1UpdateAuthorizerCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -27068,6 +27659,9 @@ const serializeAws_restJson1Action = (input: Action, context: __SerdeContext): a ...(input.stepFunctions !== undefined && { stepFunctions: serializeAws_restJson1StepFunctionsAction(input.stepFunctions, context), }), + ...(input.timestream !== undefined && { + timestream: serializeAws_restJson1TimestreamAction(input.timestream, context), + }), }; }; @@ -28176,6 +28770,38 @@ const serializeAws_restJson1TimeoutConfig = (input: TimeoutConfig, context: __Se }; }; +const serializeAws_restJson1TimestreamAction = (input: TimestreamAction, context: __SerdeContext): any => { + return { + ...(input.databaseName !== undefined && { databaseName: input.databaseName }), + ...(input.dimensions !== undefined && { + dimensions: serializeAws_restJson1TimestreamDimensionList(input.dimensions, context), + }), + ...(input.roleArn !== undefined && { roleArn: input.roleArn }), + ...(input.tableName !== undefined && { tableName: input.tableName }), + ...(input.timestamp !== undefined && { + timestamp: serializeAws_restJson1TimestreamTimestamp(input.timestamp, context), + }), + }; +}; + +const serializeAws_restJson1TimestreamDimension = (input: TimestreamDimension, context: __SerdeContext): any => { + return { + ...(input.name !== undefined && { name: input.name }), + ...(input.value !== undefined && { value: input.value }), + }; +}; + +const serializeAws_restJson1TimestreamDimensionList = (input: TimestreamDimension[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1TimestreamDimension(entry, context)); +}; + +const serializeAws_restJson1TimestreamTimestamp = (input: TimestreamTimestamp, context: __SerdeContext): any => { + return { + ...(input.unit !== undefined && { unit: input.unit }), + ...(input.value !== undefined && { value: input.value }), + }; +}; + const serializeAws_restJson1TlsContext = (input: TlsContext, context: __SerdeContext): any => { return { ...(input.serverName !== undefined && { serverName: input.serverName }), @@ -28326,6 +28952,10 @@ const deserializeAws_restJson1Action = (output: any, context: __SerdeContext): A output.stepFunctions !== undefined && output.stepFunctions !== null ? deserializeAws_restJson1StepFunctionsAction(output.stepFunctions, context) : undefined, + timestream: + output.timestream !== undefined && output.timestream !== null + ? deserializeAws_restJson1TimestreamAction(output.timestream, context) + : undefined, } as any; }; @@ -28534,6 +29164,10 @@ const deserializeAws_restJson1AuditCheckDetails = (output: any, context: __Serde output.nonCompliantResourcesCount !== undefined && output.nonCompliantResourcesCount !== null ? output.nonCompliantResourcesCount : undefined, + suppressedNonCompliantResourcesCount: + output.suppressedNonCompliantResourcesCount !== undefined && output.suppressedNonCompliantResourcesCount !== null + ? output.suppressedNonCompliantResourcesCount + : undefined, totalResourcesCount: output.totalResourcesCount !== undefined && output.totalResourcesCount !== null ? output.totalResourcesCount @@ -28588,6 +29222,7 @@ const deserializeAws_restJson1AuditFinding = (output: any, context: __SerdeConte output.findingTime !== undefined && output.findingTime !== null ? new Date(Math.round(output.findingTime * 1000)) : undefined, + isSuppressed: output.isSuppressed !== undefined && output.isSuppressed !== null ? output.isSuppressed : undefined, nonCompliantResource: output.nonCompliantResource !== undefined && output.nonCompliantResource !== null ? deserializeAws_restJson1NonCompliantResource(output.nonCompliantResource, context) @@ -28722,6 +29357,29 @@ const deserializeAws_restJson1AuditNotificationTargetConfigurations = ( ); }; +const deserializeAws_restJson1AuditSuppression = (output: any, context: __SerdeContext): AuditSuppression => { + return { + checkName: output.checkName !== undefined && output.checkName !== null ? output.checkName : undefined, + description: output.description !== undefined && output.description !== null ? output.description : undefined, + expirationDate: + output.expirationDate !== undefined && output.expirationDate !== null + ? new Date(Math.round(output.expirationDate * 1000)) + : undefined, + resourceIdentifier: + output.resourceIdentifier !== undefined && output.resourceIdentifier !== null + ? deserializeAws_restJson1ResourceIdentifier(output.resourceIdentifier, context) + : undefined, + suppressIndefinitely: + output.suppressIndefinitely !== undefined && output.suppressIndefinitely !== null + ? output.suppressIndefinitely + : undefined, + } as any; +}; + +const deserializeAws_restJson1AuditSuppressionList = (output: any, context: __SerdeContext): AuditSuppression[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AuditSuppression(entry, context)); +}; + const deserializeAws_restJson1AuditTaskMetadata = (output: any, context: __SerdeContext): AuditTaskMetadata => { return { taskId: output.taskId !== undefined && output.taskId !== null ? output.taskId : undefined, @@ -30925,6 +31583,43 @@ const deserializeAws_restJson1TimeoutConfig = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_restJson1TimestreamAction = (output: any, context: __SerdeContext): TimestreamAction => { + return { + databaseName: output.databaseName !== undefined && output.databaseName !== null ? output.databaseName : undefined, + dimensions: + output.dimensions !== undefined && output.dimensions !== null + ? deserializeAws_restJson1TimestreamDimensionList(output.dimensions, context) + : undefined, + roleArn: output.roleArn !== undefined && output.roleArn !== null ? output.roleArn : undefined, + tableName: output.tableName !== undefined && output.tableName !== null ? output.tableName : undefined, + timestamp: + output.timestamp !== undefined && output.timestamp !== null + ? deserializeAws_restJson1TimestreamTimestamp(output.timestamp, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1TimestreamDimension = (output: any, context: __SerdeContext): TimestreamDimension => { + return { + name: output.name !== undefined && output.name !== null ? output.name : undefined, + value: output.value !== undefined && output.value !== null ? output.value : undefined, + } as any; +}; + +const deserializeAws_restJson1TimestreamDimensionList = ( + output: any, + context: __SerdeContext +): TimestreamDimension[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1TimestreamDimension(entry, context)); +}; + +const deserializeAws_restJson1TimestreamTimestamp = (output: any, context: __SerdeContext): TimestreamTimestamp => { + return { + unit: output.unit !== undefined && output.unit !== null ? output.unit : undefined, + value: output.value !== undefined && output.value !== null ? output.value : undefined, + } as any; +}; + const deserializeAws_restJson1TopicRule = (output: any, context: __SerdeContext): TopicRule => { return { actions: diff --git a/clients/client-iot/runtimeConfig.shared.ts b/clients/client-iot/runtimeConfig.shared.ts index 560444d866e6..dcb32ad643e5 100644 --- a/clients/client-iot/runtimeConfig.shared.ts +++ b/clients/client-iot/runtimeConfig.shared.ts @@ -6,5 +6,5 @@ export const ClientSharedValues = { disableHostPrefix: false, logger: {} as __Logger, regionInfoProvider: defaultRegionInfoProvider, - signingName: "execute-api", + signingName: "iot", }; diff --git a/clients/client-iotanalytics/models/models_0.ts b/clients/client-iotanalytics/models/models_0.ts index 0b18c8297b55..ff2e29884c88 100644 --- a/clients/client-iotanalytics/models/models_0.ts +++ b/clients/client-iotanalytics/models/models_0.ts @@ -5,11 +5,6 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; *

                                                    An activity that adds other attributes based on existing attributes in the message.

                                                    */ export interface AddAttributesActivity { - /** - *

                                                    The name of the 'addAttributes' activity.

                                                    - */ - name: string | undefined; - /** *

                                                    A list of 1-50 "AttributeNameMapping" * objects that map an existing attribute to a new attribute.

                                                    @@ -25,6 +20,11 @@ export interface AddAttributesActivity { *

                                                    The next activity in the pipeline.

                                                    */ next?: string; + + /** + *

                                                    The name of the 'addAttributes' activity.

                                                    + */ + name: string | undefined; } export namespace AddAttributesActivity { @@ -37,17 +37,17 @@ export namespace AddAttributesActivity { *

                                                    Information about a message.

                                                    */ export interface Message { - /** - *

                                                    The ID you wish to assign to the message. Each "messageId" must be unique - * within each batch sent.

                                                    - */ - messageId: string | undefined; - /** *

                                                    The payload of the message. This may be a JSON string or a Base64-encoded string * representing binary data (in which case you must decode it by means of a pipeline activity).

                                                    */ payload: Uint8Array | undefined; + + /** + *

                                                    The ID you wish to assign to the message. Each "messageId" must be unique + * within each batch sent.

                                                    + */ + messageId: string | undefined; } export namespace Message { @@ -57,6 +57,11 @@ export namespace Message { } export interface BatchPutMessageRequest { + /** + *

                                                    The name of the channel where the messages are sent.

                                                    + */ + channelName: string | undefined; + /** *

                                                    The list of messages to be sent. Each message has format: * '{ "messageId": "string", "payload": "string"}'.

                                                    @@ -88,11 +93,6 @@ export interface BatchPutMessageRequest { * {"01_temp": 29} or {"__temp_01": 29} are invalid in message payloads.

                                                    */ messages: Message[] | undefined; - - /** - *

                                                    The name of the channel where the messages are sent.

                                                    - */ - channelName: string | undefined; } export namespace BatchPutMessageRequest { @@ -253,17 +253,17 @@ export interface CustomerManagedChannelS3Storage { */ bucket: string | undefined; + /** + *

                                                    The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

                                                    + */ + roleArn: string | undefined; + /** *

                                                    [Optional] The prefix used to create the keys of the channel data objects. Each object in * an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in * a bucket has exactly one key). The prefix must end with a '/'.

                                                    */ keyPrefix?: string; - - /** - *

                                                    The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

                                                    - */ - roleArn: string | undefined; } export namespace CustomerManagedChannelS3Storage { @@ -355,13 +355,6 @@ export namespace Tag { } export interface CreateChannelRequest { - /** - *

                                                    Where channel data is stored. You may choose one of "serviceManagedS3" or "customerManagedS3" - * storage. If not specified, the default is "serviceManagedS3". This cannot be changed after creation - * of the channel.

                                                    - */ - channelStorage?: ChannelStorage; - /** *

                                                    How long, in days, message data is kept for the channel. When "customerManagedS3" storage is * selected, this parameter is ignored.

                                                    @@ -377,6 +370,13 @@ export interface CreateChannelRequest { *

                                                    The name of the channel.

                                                    */ channelName: string | undefined; + + /** + *

                                                    Where channel data is stored. You may choose one of "serviceManagedS3" or "customerManagedS3" + * storage. If not specified, the default is "serviceManagedS3". This cannot be changed after creation + * of the channel.

                                                    + */ + channelStorage?: ChannelStorage; } export namespace CreateChannelRequest { @@ -387,14 +387,14 @@ export namespace CreateChannelRequest { export interface CreateChannelResponse { /** - *

                                                    How long, in days, message data is kept for the channel.

                                                    + *

                                                    The ARN of the channel.

                                                    */ - retentionPeriod?: RetentionPeriod; + channelArn?: string; /** - *

                                                    The ARN of the channel.

                                                    + *

                                                    How long, in days, message data is kept for the channel.

                                                    */ - channelArn?: string; + retentionPeriod?: RetentionPeriod; /** *

                                                    The name of the channel.

                                                    @@ -429,12 +429,12 @@ export namespace LimitExceededException { export interface ResourceAlreadyExistsException extends __SmithyException, $MetadataBearer { name: "ResourceAlreadyExistsException"; $fault: "client"; - message?: string; /** *

                                                    The ID of the resource.

                                                    */ resourceId?: string; + message?: string; /** *

                                                    The ARN of the resource.

                                                    */ @@ -456,17 +456,17 @@ export enum ComputeType { *

                                                    The configuration of the resource used to execute the "containerAction".

                                                    */ export interface ResourceConfiguration { - /** - *

                                                    The size (in GB) of the persistent storage available to the resource instance used to - * execute the "containerAction" (min: 1, max: 50).

                                                    - */ - volumeSizeInGB: number | undefined; - /** *

                                                    The type of the compute resource used to execute the "containerAction". Possible values * are: ACU_1 (vCPU=4, memory=16GiB) or ACU_2 (vCPU=8, memory=32GiB).

                                                    */ computeType: ComputeType | string | undefined; + + /** + *

                                                    The size (in GB) of the persistent storage available to the resource instance used to + * execute the "containerAction" (min: 1, max: 50).

                                                    + */ + volumeSizeInGB: number | undefined; } export namespace ResourceConfiguration { @@ -516,11 +516,6 @@ export namespace OutputFileUriValue { * "outputFileUriValue".

                                                    */ export interface Variable { - /** - *

                                                    The value of the variable as a string.

                                                    - */ - stringValue?: string; - /** *

                                                    The value of the variable as a structure that specifies an output file URI.

                                                    */ @@ -531,15 +526,20 @@ export interface Variable { */ doubleValue?: number; + /** + *

                                                    The name of the variable.

                                                    + */ + name: string | undefined; + /** *

                                                    The value of the variable as a structure that specifies a data set content version.

                                                    */ datasetContentVersionValue?: DatasetContentVersionValue; /** - *

                                                    The name of the variable.

                                                    + *

                                                    The value of the variable as a string.

                                                    */ - name: string | undefined; + stringValue?: string; } export namespace Variable { @@ -552,13 +552,6 @@ export namespace Variable { *

                                                    Information needed to run the "containerAction" to produce data set contents.

                                                    */ export interface ContainerDatasetAction { - /** - *

                                                    The ARN of the role which gives permission to the system to access needed resources in order - * to run the "containerAction". This includes, at minimum, permission to retrieve the data set - * contents which are the input to the containerized application.

                                                    - */ - executionRoleArn: string | undefined; - /** *

                                                    The values of variables used within the context of the execution of the containerized * application (basically, parameters passed to the application). Each variable must have a @@ -577,6 +570,13 @@ export interface ContainerDatasetAction { * application and needed support libraries and is used to generate data set contents.

                                                    */ image: string | undefined; + + /** + *

                                                    The ARN of the role which gives permission to the system to access needed resources in order + * to run the "containerAction". This includes, at minimum, permission to retrieve the data set + * contents which are the input to the containerized application.

                                                    + */ + executionRoleArn: string | undefined; } export namespace ContainerDatasetAction { @@ -656,6 +656,11 @@ export namespace SqlQueryDatasetAction { *

                                                    A "DatasetAction" object that specifies how data set contents are automatically created.

                                                    */ export interface DatasetAction { + /** + *

                                                    An "SqlQueryDatasetAction" object that uses an SQL query to automatically create data set contents.

                                                    + */ + queryAction?: SqlQueryDatasetAction; + /** *

                                                    Information which allows the system to run a containerized application in order to create * the data set contents. The application must be in a Docker container along with any needed @@ -663,11 +668,6 @@ export interface DatasetAction { */ containerAction?: ContainerDatasetAction; - /** - *

                                                    An "SqlQueryDatasetAction" object that uses an SQL query to automatically create data set contents.

                                                    - */ - queryAction?: SqlQueryDatasetAction; - /** *

                                                    The name of the data set action by which data set contents are automatically created.

                                                    */ @@ -685,15 +685,15 @@ export namespace DatasetAction { */ export interface IotEventsDestinationConfiguration { /** - *

                                                    The ARN of the role which grants AWS IoT Analytics permission to deliver data set contents - * to an AWS IoT Events input.

                                                    + *

                                                    The name of the AWS IoT Events input to which data set contents are delivered.

                                                    */ - roleArn: string | undefined; + inputName: string | undefined; /** - *

                                                    The name of the AWS IoT Events input to which data set contents are delivered.

                                                    + *

                                                    The ARN of the role which grants AWS IoT Analytics permission to deliver data set contents + * to an AWS IoT Events input.

                                                    */ - inputName: string | undefined; + roleArn: string | undefined; } export namespace IotEventsDestinationConfiguration { @@ -731,18 +731,18 @@ export namespace GlueConfiguration { *

                                                    Configuration information for delivery of data set contents to Amazon S3.

                                                    */ export interface S3DestinationConfiguration { - /** - *

                                                    Configuration information for coordination with the AWS Glue ETL (extract, transform and - * load) service.

                                                    - */ - glueConfiguration?: GlueConfiguration; - /** *

                                                    The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 * and AWS Glue resources.

                                                    */ roleArn: string | undefined; + /** + *

                                                    Configuration information for coordination with the AWS Glue ETL (extract, transform and + * load) service.

                                                    + */ + glueConfiguration?: GlueConfiguration; + /** *

                                                    The key of the data set contents object. Each object in an Amazon S3 bucket has a key that is * its unique identifier within the bucket (each object in a bucket has exactly one key). To produce @@ -769,14 +769,14 @@ export namespace S3DestinationConfiguration { */ export interface DatasetContentDeliveryDestination { /** - *

                                                    Configuration information for delivery of data set contents to Amazon S3.

                                                    + *

                                                    Configuration information for delivery of data set contents to AWS IoT Events.

                                                    */ - s3DestinationConfiguration?: S3DestinationConfiguration; + iotEventsDestinationConfiguration?: IotEventsDestinationConfiguration; /** - *

                                                    Configuration information for delivery of data set contents to AWS IoT Events.

                                                    + *

                                                    Configuration information for delivery of data set contents to Amazon S3.

                                                    */ - iotEventsDestinationConfiguration?: IotEventsDestinationConfiguration; + s3DestinationConfiguration?: S3DestinationConfiguration; } export namespace DatasetContentDeliveryDestination { @@ -848,14 +848,14 @@ export namespace Schedule { */ export interface DatasetTrigger { /** - *

                                                    The "Schedule" when the trigger is initiated.

                                                    + *

                                                    The data set whose content creation triggers the creation of this data set's contents.

                                                    */ - schedule?: Schedule; + dataset?: TriggeringDataset; /** - *

                                                    The data set whose content creation triggers the creation of this data set's contents.

                                                    + *

                                                    The "Schedule" when the trigger is initiated.

                                                    */ - dataset?: TriggeringDataset; + schedule?: Schedule; } export namespace DatasetTrigger { @@ -869,14 +869,14 @@ export namespace DatasetTrigger { */ export interface VersioningConfiguration { /** - *

                                                    How many versions of data set contents will be kept. The "unlimited" parameter must be false.

                                                    + *

                                                    If true, unlimited versions of data set contents will be kept.

                                                    */ - maxVersions?: number; + unlimited?: boolean; /** - *

                                                    If true, unlimited versions of data set contents will be kept.

                                                    + *

                                                    How many versions of data set contents will be kept. The "unlimited" parameter must be false.

                                                    */ - unlimited?: boolean; + maxVersions?: number; } export namespace VersioningConfiguration { @@ -886,6 +886,11 @@ export namespace VersioningConfiguration { } export interface CreateDatasetRequest { + /** + *

                                                    Metadata which can be used to manage the data set.

                                                    + */ + tags?: Tag[]; + /** *

                                                    [Optional] How many versions of data set contents are kept. If not specified or set to null, only the * latest version plus the latest succeeded version (if they are different) are kept for @@ -894,32 +899,20 @@ export interface CreateDatasetRequest { */ versioningConfiguration?: VersioningConfiguration; - /** - *

                                                    A list of actions that create the data set contents.

                                                    - */ - actions: DatasetAction[] | undefined; - /** *

                                                    When data set contents are created they are delivered to destinations specified here.

                                                    */ contentDeliveryRules?: DatasetContentDeliveryRule[]; /** - *

                                                    The name of the data set.

                                                    - */ - datasetName: string | undefined; - - /** - *

                                                    A list of triggers. A trigger causes data set contents to be populated at a specified - * time interval or when another data set's contents are created. The list of triggers can - * be empty or contain up to five DataSetTrigger objects.

                                                    + *

                                                    A list of actions that create the data set contents.

                                                    */ - triggers?: DatasetTrigger[]; + actions: DatasetAction[] | undefined; /** - *

                                                    Metadata which can be used to manage the data set.

                                                    + *

                                                    The name of the data set.

                                                    */ - tags?: Tag[]; + datasetName: string | undefined; /** *

                                                    [Optional] How long, in days, versions of data set contents are kept for the data set. If @@ -929,6 +922,13 @@ export interface CreateDatasetRequest { * https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

                                                    */ retentionPeriod?: RetentionPeriod; + + /** + *

                                                    A list of triggers. A trigger causes data set contents to be populated at a specified + * time interval or when another data set's contents are created. The list of triggers can + * be empty or contain up to five DataSetTrigger objects.

                                                    + */ + triggers?: DatasetTrigger[]; } export namespace CreateDatasetRequest { @@ -939,14 +939,14 @@ export namespace CreateDatasetRequest { export interface CreateDatasetResponse { /** - *

                                                    How long, in days, data set contents are kept for the data set.

                                                    + *

                                                    The name of the data set.

                                                    */ - retentionPeriod?: RetentionPeriod; + datasetName?: string; /** - *

                                                    The name of the data set.

                                                    + *

                                                    How long, in days, data set contents are kept for the data set.

                                                    */ - datasetName?: string; + retentionPeriod?: RetentionPeriod; /** *

                                                    The ARN of the data set.

                                                    @@ -992,11 +992,6 @@ export namespace CreateDatasetContentResponse { * S3 storage cannot be changed after creation of the data store.

                                                    */ export interface CustomerManagedDatastoreS3Storage { - /** - *

                                                    The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

                                                    - */ - roleArn: string | undefined; - /** *

                                                    [Optional] The prefix used to create the keys of the data store data objects. Each object in * an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a @@ -1004,6 +999,11 @@ export interface CustomerManagedDatastoreS3Storage { */ keyPrefix?: string; + /** + *

                                                    The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

                                                    + */ + roleArn: string | undefined; + /** *

                                                    The name of the Amazon S3 bucket in which data store data is stored.

                                                    */ @@ -1035,19 +1035,19 @@ export namespace ServiceManagedDatastoreS3Storage { * store is created.

                                                    */ export interface DatastoreStorage { - /** - *

                                                    Use this to store data store data in an S3 bucket that you manage. When customer managed storage is - * selected, the "retentionPeriod" parameter is ignored. The choice of service-managed or customer-managed - * S3 storage cannot be changed after creation of the data store.

                                                    - */ - customerManagedS3?: CustomerManagedDatastoreS3Storage; - /** *

                                                    Use this to store data store data in an S3 bucket managed by the AWS IoT Analytics service. * The choice of service-managed or customer-managed S3 storage cannot be changed after creation * of the data store.

                                                    */ serviceManagedS3?: ServiceManagedDatastoreS3Storage; + + /** + *

                                                    Use this to store data store data in an S3 bucket that you manage. When customer managed storage is + * selected, the "retentionPeriod" parameter is ignored. The choice of service-managed or customer-managed + * S3 storage cannot be changed after creation of the data store.

                                                    + */ + customerManagedS3?: CustomerManagedDatastoreS3Storage; } export namespace DatastoreStorage { @@ -1089,14 +1089,14 @@ export namespace CreateDatastoreRequest { export interface CreateDatastoreResponse { /** - *

                                                    The ARN of the data store.

                                                    + *

                                                    How long, in days, message data is kept for the data store.

                                                    */ - datastoreArn?: string; + retentionPeriod?: RetentionPeriod; /** - *

                                                    How long, in days, message data is kept for the data store.

                                                    + *

                                                    The ARN of the data store.

                                                    */ - retentionPeriod?: RetentionPeriod; + datastoreArn?: string; /** *

                                                    The name of the data store.

                                                    @@ -1114,11 +1114,6 @@ export namespace CreateDatastoreResponse { *

                                                    The activity that determines the source of the messages to be processed.

                                                    */ export interface ChannelActivity { - /** - *

                                                    The name of the 'channel' activity.

                                                    - */ - name: string | undefined; - /** *

                                                    The name of the channel from which the messages are processed.

                                                    */ @@ -1128,6 +1123,11 @@ export interface ChannelActivity { *

                                                    The next activity in the pipeline.

                                                    */ next?: string; + + /** + *

                                                    The name of the 'channel' activity.

                                                    + */ + name: string | undefined; } export namespace ChannelActivity { @@ -1141,14 +1141,14 @@ export namespace ChannelActivity { */ export interface DatastoreActivity { /** - *

                                                    The name of the data store where processed messages are stored.

                                                    + *

                                                    The name of the 'datastore' activity.

                                                    */ - datastoreName: string | undefined; + name: string | undefined; /** - *

                                                    The name of the 'datastore' activity.

                                                    + *

                                                    The name of the data store where processed messages are stored.

                                                    */ - name: string | undefined; + datastoreName: string | undefined; } export namespace DatastoreActivity { @@ -1161,26 +1161,26 @@ export namespace DatastoreActivity { *

                                                    An activity that adds data from the AWS IoT device registry to your message.

                                                    */ export interface DeviceRegistryEnrichActivity { - /** - *

                                                    The name of the attribute that is added to the message.

                                                    - */ - attribute: string | undefined; - /** *

                                                    The ARN of the role that allows access to the device's registry information.

                                                    */ roleArn: string | undefined; /** - *

                                                    The name of the 'deviceRegistryEnrich' activity.

                                                    + *

                                                    The name of the attribute that is added to the message.

                                                    */ - name: string | undefined; + attribute: string | undefined; /** *

                                                    The name of the IoT device whose registry information is added to the message.

                                                    */ thingName: string | undefined; + /** + *

                                                    The name of the 'deviceRegistryEnrich' activity.

                                                    + */ + name: string | undefined; + /** *

                                                    The next activity in the pipeline.

                                                    */ @@ -1197,11 +1197,6 @@ export namespace DeviceRegistryEnrichActivity { *

                                                    An activity that adds information from the AWS IoT Device Shadows service to a message.

                                                    */ export interface DeviceShadowEnrichActivity { - /** - *

                                                    The name of the 'deviceShadowEnrich' activity.

                                                    - */ - name: string | undefined; - /** *

                                                    The name of the IoT device whose shadow information is added to * the message.

                                                    @@ -1222,6 +1217,11 @@ export interface DeviceShadowEnrichActivity { *

                                                    The next activity in the pipeline.

                                                    */ next?: string; + + /** + *

                                                    The name of the 'deviceShadowEnrich' activity.

                                                    + */ + name: string | undefined; } export namespace DeviceShadowEnrichActivity { @@ -1260,11 +1260,6 @@ export namespace FilterActivity { *

                                                    An activity that runs a Lambda function to modify the message.

                                                    */ export interface LambdaActivity { - /** - *

                                                    The next activity in the pipeline.

                                                    - */ - next?: string; - /** *

                                                    The number of messages passed to the Lambda function for processing.

                                                    *

                                                    The AWS Lambda function must be able to process all of these messages within @@ -1273,14 +1268,19 @@ export interface LambdaActivity { batchSize: number | undefined; /** - *

                                                    The name of the 'lambda' activity.

                                                    + *

                                                    The next activity in the pipeline.

                                                    */ - name: string | undefined; + next?: string; /** *

                                                    The name of the Lambda function that is run on the message.

                                                    */ lambdaName: string | undefined; + + /** + *

                                                    The name of the 'lambda' activity.

                                                    + */ + name: string | undefined; } export namespace LambdaActivity { @@ -1294,14 +1294,14 @@ export namespace LambdaActivity { */ export interface MathActivity { /** - *

                                                    The name of the attribute that contains the result of the math operation.

                                                    + *

                                                    An expression that uses one or more existing attributes and must return an integer value.

                                                    */ - attribute: string | undefined; + math: string | undefined; /** - *

                                                    An expression that uses one or more existing attributes and must return an integer value.

                                                    + *

                                                    The name of the attribute that contains the result of the math operation.

                                                    */ - math: string | undefined; + attribute: string | undefined; /** *

                                                    The name of the 'math' activity.

                                                    @@ -1324,6 +1324,11 @@ export namespace MathActivity { *

                                                    An activity that removes attributes from a message.

                                                    */ export interface RemoveAttributesActivity { + /** + *

                                                    The name of the 'removeAttributes' activity.

                                                    + */ + name: string | undefined; + /** *

                                                    The next activity in the pipeline.

                                                    */ @@ -1333,11 +1338,6 @@ export interface RemoveAttributesActivity { *

                                                    A list of 1-50 attributes to remove from the message.

                                                    */ attributes: string[] | undefined; - - /** - *

                                                    The name of the 'removeAttributes' activity.

                                                    - */ - name: string | undefined; } export namespace RemoveAttributesActivity { @@ -1351,11 +1351,6 @@ export namespace RemoveAttributesActivity { * from the original message.

                                                    */ export interface SelectAttributesActivity { - /** - *

                                                    The name of the 'selectAttributes' activity.

                                                    - */ - name: string | undefined; - /** *

                                                    A list of the attributes to select from the message.

                                                    */ @@ -1365,6 +1360,11 @@ export interface SelectAttributesActivity { *

                                                    The next activity in the pipeline.

                                                    */ next?: string; + + /** + *

                                                    The name of the 'selectAttributes' activity.

                                                    + */ + name: string | undefined; } export namespace SelectAttributesActivity { @@ -1378,14 +1378,9 @@ export namespace SelectAttributesActivity { */ export interface PipelineActivity { /** - *

                                                    Adds information from the AWS IoT Device Shadows service to a message.

                                                    - */ - deviceShadowEnrich?: DeviceShadowEnrichActivity; - - /** - *

                                                    Filters a message based on its attributes.

                                                    + *

                                                    Runs a Lambda function to modify the message.

                                                    */ - filter?: FilterActivity; + lambda?: LambdaActivity; /** *

                                                    Computes an arithmetic expression using the message's attributes and adds @@ -1394,14 +1389,15 @@ export interface PipelineActivity { math?: MathActivity; /** - *

                                                    Removes attributes from a message.

                                                    + *

                                                    Filters a message based on its attributes.

                                                    */ - removeAttributes?: RemoveAttributesActivity; + filter?: FilterActivity; /** - *

                                                    Runs a Lambda function to modify the message.

                                                    + *

                                                    Creates a new message using only the specified attributes from the original message. + *

                                                    */ - lambda?: LambdaActivity; + selectAttributes?: SelectAttributesActivity; /** *

                                                    Determines the source of the messages to be processed.

                                                    @@ -1409,25 +1405,29 @@ export interface PipelineActivity { channel?: ChannelActivity; /** - *

                                                    Adds other attributes based on existing attributes in the message.

                                                    + *

                                                    Removes attributes from a message.

                                                    */ - addAttributes?: AddAttributesActivity; + removeAttributes?: RemoveAttributesActivity; /** - *

                                                    Specifies where to store the processed message data.

                                                    + *

                                                    Adds information from the AWS IoT Device Shadows service to a message.

                                                    */ - datastore?: DatastoreActivity; + deviceShadowEnrich?: DeviceShadowEnrichActivity; /** - *

                                                    Creates a new message using only the specified attributes from the original message. - *

                                                    + *

                                                    Adds data from the AWS IoT device registry to your message.

                                                    */ - selectAttributes?: SelectAttributesActivity; + deviceRegistryEnrich?: DeviceRegistryEnrichActivity; /** - *

                                                    Adds data from the AWS IoT device registry to your message.

                                                    + *

                                                    Specifies where to store the processed message data.

                                                    */ - deviceRegistryEnrich?: DeviceRegistryEnrichActivity; + datastore?: DatastoreActivity; + + /** + *

                                                    Adds other attributes based on existing attributes in the message.

                                                    + */ + addAttributes?: AddAttributesActivity; } export namespace PipelineActivity { @@ -1437,11 +1437,6 @@ export namespace PipelineActivity { } export interface CreatePipelineRequest { - /** - *

                                                    Metadata which can be used to manage the pipeline.

                                                    - */ - tags?: Tag[]; - /** *

                                                    A list of "PipelineActivity" objects. Activities perform transformations on your messages, * such as removing, renaming or adding message attributes; filtering messages based on attribute @@ -1468,6 +1463,11 @@ export interface CreatePipelineRequest { *

                                                    The name of the pipeline.

                                                    */ pipelineName: string | undefined; + + /** + *

                                                    Metadata which can be used to manage the pipeline.

                                                    + */ + tags?: Tag[]; } export namespace CreatePipelineRequest { @@ -1478,14 +1478,14 @@ export namespace CreatePipelineRequest { export interface CreatePipelineResponse { /** - *

                                                    The name of the pipeline.

                                                    + *

                                                    The ARN of the pipeline.

                                                    */ - pipelineName?: string; + pipelineArn?: string; /** - *

                                                    The ARN of the pipeline.

                                                    + *

                                                    The name of the pipeline.

                                                    */ - pipelineArn?: string; + pipelineName?: string; } export namespace CreatePipelineResponse { @@ -1597,9 +1597,9 @@ export enum ChannelStatus { */ export interface Channel { /** - *

                                                    When the channel was last updated.

                                                    + *

                                                    The ARN of the channel.

                                                    */ - lastUpdateTime?: Date; + arn?: string; /** *

                                                    Where channel data is stored. You may choose one of "serviceManagedS3" or "customerManagedS3" @@ -1608,26 +1608,26 @@ export interface Channel { */ storage?: ChannelStorage; + /** + *

                                                    When the channel was last updated.

                                                    + */ + lastUpdateTime?: Date; + /** *

                                                    The name of the channel.

                                                    */ name?: string; /** - *

                                                    The ARN of the channel.

                                                    + *

                                                    How long, in days, message data is kept for the channel.

                                                    */ - arn?: string; + retentionPeriod?: RetentionPeriod; /** *

                                                    The status of the channel.

                                                    */ status?: ChannelStatus | string; - /** - *

                                                    How long, in days, message data is kept for the channel.

                                                    - */ - retentionPeriod?: RetentionPeriod; - /** *

                                                    When the channel was created.

                                                    */ @@ -1719,14 +1719,6 @@ export enum DatasetStatus { *

                                                    Information about a data set.

                                                    */ export interface Dataset { - /** - *

                                                    [Optional] How many versions of data set contents are kept. If not specified or set to null, only the - * latest version plus the latest succeeded version (if they are different) are kept for - * the time period specified by the "retentionPeriod" parameter. (For more information, see - * https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

                                                    - */ - versioningConfiguration?: VersioningConfiguration; - /** *

                                                    The status of the data set.

                                                    */ @@ -1739,9 +1731,14 @@ export interface Dataset { triggers?: DatasetTrigger[]; /** - *

                                                    [Optional] How long, in days, message data is kept for the data set.

                                                    + *

                                                    The last time the data set was updated.

                                                    */ - retentionPeriod?: RetentionPeriod; + lastUpdateTime?: Date; + + /** + *

                                                    The ARN of the data set.

                                                    + */ + arn?: string; /** *

                                                    The name of the data set.

                                                    @@ -1754,19 +1751,22 @@ export interface Dataset { actions?: DatasetAction[]; /** - *

                                                    The ARN of the data set.

                                                    + *

                                                    When data set contents are created they are delivered to destinations specified here.

                                                    */ - arn?: string; + contentDeliveryRules?: DatasetContentDeliveryRule[]; /** - *

                                                    The last time the data set was updated.

                                                    + *

                                                    [Optional] How long, in days, message data is kept for the data set.

                                                    */ - lastUpdateTime?: Date; + retentionPeriod?: RetentionPeriod; /** - *

                                                    When data set contents are created they are delivered to destinations specified here.

                                                    + *

                                                    [Optional] How many versions of data set contents are kept. If not specified or set to null, only the + * latest version plus the latest succeeded version (if they are different) are kept for + * the time period specified by the "retentionPeriod" parameter. (For more information, see + * https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

                                                    */ - contentDeliveryRules?: DatasetContentDeliveryRule[]; + versioningConfiguration?: VersioningConfiguration; /** *

                                                    When the data set was created.

                                                    @@ -1822,38 +1822,17 @@ export enum DatastoreStatus { *

                                                    Information about a data store.

                                                    */ export interface Datastore { - /** - *

                                                    Where data store data is stored. You may choose one of "serviceManagedS3" or "customerManagedS3" - * storage. If not specified, the default is "serviceManagedS3". This cannot be changed after the data - * store is created.

                                                    - */ - storage?: DatastoreStorage; - - /** - *

                                                    When the data store was created.

                                                    - */ - creationTime?: Date; - - /** - *

                                                    The name of the data store.

                                                    - */ - name?: string; - /** *

                                                    The ARN of the data store.

                                                    */ arn?: string; /** - *

                                                    The last time the data store was updated.

                                                    - */ - lastUpdateTime?: Date; - - /** - *

                                                    How long, in days, message data is kept for the data store. When "customerManagedS3" storage - * is selected, this parameter is ignored.

                                                    + *

                                                    Where data store data is stored. You may choose one of "serviceManagedS3" or "customerManagedS3" + * storage. If not specified, the default is "serviceManagedS3". This cannot be changed after the data + * store is created.

                                                    */ - retentionPeriod?: RetentionPeriod; + storage?: DatastoreStorage; /** *

                                                    The status of a data store:

                                                    @@ -1872,7 +1851,28 @@ export interface Datastore { * * */ - status?: DatastoreStatus | string; + status?: DatastoreStatus | string; + + /** + *

                                                    When the data store was created.

                                                    + */ + creationTime?: Date; + + /** + *

                                                    The last time the data store was updated.

                                                    + */ + lastUpdateTime?: Date; + + /** + *

                                                    The name of the data store.

                                                    + */ + name?: string; + + /** + *

                                                    How long, in days, message data is kept for the data store. When "customerManagedS3" storage + * is selected, this parameter is ignored.

                                                    + */ + retentionPeriod?: RetentionPeriod; } export namespace Datastore { @@ -1933,9 +1933,10 @@ export enum LoggingLevel { */ export interface LoggingOptions { /** - *

                                                    The logging level. Currently, only "ERROR" is supported.

                                                    + *

                                                    The ARN of the role that grants permission to AWS IoT Analytics to + * perform logging.

                                                    */ - level: LoggingLevel | string | undefined; + roleArn: string | undefined; /** *

                                                    If true, logging is enabled for AWS IoT Analytics.

                                                    @@ -1943,10 +1944,9 @@ export interface LoggingOptions { enabled: boolean | undefined; /** - *

                                                    The ARN of the role that grants permission to AWS IoT Analytics to - * perform logging.

                                                    + *

                                                    The logging level. Currently, only "ERROR" is supported.

                                                    */ - roleArn: string | undefined; + level: LoggingLevel | string | undefined; } export namespace LoggingOptions { @@ -1992,6 +1992,11 @@ export enum ReprocessingStatus { *

                                                    Information about pipeline reprocessing.

                                                    */ export interface ReprocessingSummary { + /** + *

                                                    The time the pipeline reprocessing was created.

                                                    + */ + creationTime?: Date; + /** *

                                                    The status of the pipeline reprocessing.

                                                    */ @@ -2001,11 +2006,6 @@ export interface ReprocessingSummary { *

                                                    The 'reprocessingId' returned by "StartPipelineReprocessing".

                                                    */ id?: string; - - /** - *

                                                    The time the pipeline reprocessing was created.

                                                    - */ - creationTime?: Date; } export namespace ReprocessingSummary { @@ -2018,6 +2018,11 @@ export namespace ReprocessingSummary { *

                                                    Contains information about a pipeline.

                                                    */ export interface Pipeline { + /** + *

                                                    The name of the pipeline.

                                                    + */ + name?: string; + /** *

                                                    When the pipeline was created.

                                                    */ @@ -2033,11 +2038,6 @@ export interface Pipeline { */ arn?: string; - /** - *

                                                    The name of the pipeline.

                                                    - */ - name?: string; - /** *

                                                    The last time the pipeline was updated.

                                                    */ @@ -2095,14 +2095,14 @@ export namespace GetDatasetContentRequest { */ export interface DatasetEntry { /** - *

                                                    The name of the data set item.

                                                    + *

                                                    The pre-signed URI of the data set item.

                                                    */ - entryName?: string; + dataURI?: string; /** - *

                                                    The pre-signed URI of the data set item.

                                                    + *

                                                    The name of the data set item.

                                                    */ - dataURI?: string; + entryName?: string; } export namespace DatasetEntry { @@ -2164,15 +2164,15 @@ export namespace GetDatasetContentResponse { export interface ListChannelsRequest { /** - *

                                                    The maximum number of results to return in this request.

                                                    - *

                                                    The default value is 100.

                                                    + *

                                                    The token for the next set of results.

                                                    */ - maxResults?: number; + nextToken?: string; /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    The maximum number of results to return in this request.

                                                    + *

                                                    The default value is 100.

                                                    */ - nextToken?: string; + maxResults?: number; } export namespace ListChannelsRequest { @@ -2185,12 +2185,6 @@ export namespace ListChannelsRequest { *

                                                    Used to store channel data in an S3 bucket that you manage.

                                                    */ export interface CustomerManagedChannelS3StorageSummary { - /** - *

                                                    The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon - * S3 resources.

                                                    - */ - roleArn?: string; - /** *

                                                    [Optional] The prefix used to create the keys of the channel data objects. Each object in * an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in @@ -2202,6 +2196,12 @@ export interface CustomerManagedChannelS3StorageSummary { *

                                                    The name of the Amazon S3 bucket in which channel data is stored.

                                                    */ bucket?: string; + + /** + *

                                                    The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon + * S3 resources.

                                                    + */ + roleArn?: string; } export namespace CustomerManagedChannelS3StorageSummary { @@ -2246,11 +2246,6 @@ export namespace ChannelStorageSummary { *

                                                    A summary of information about a channel.

                                                    */ export interface ChannelSummary { - /** - *

                                                    The status of the channel.

                                                    - */ - status?: ChannelStatus | string; - /** *

                                                    When the channel was created.

                                                    */ @@ -2266,6 +2261,11 @@ export interface ChannelSummary { */ channelName?: string; + /** + *

                                                    The status of the channel.

                                                    + */ + status?: ChannelStatus | string; + /** *

                                                    The last time the channel was updated.

                                                    */ @@ -2299,14 +2299,19 @@ export namespace ListChannelsResponse { export interface ListDatasetContentsRequest { /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    The name of the data set whose contents information you want to list.

                                                    */ - nextToken?: string; + datasetName: string | undefined; /** - *

                                                    The name of the data set whose contents information you want to list.

                                                    + *

                                                    The maximum number of results to return in this request.

                                                    */ - datasetName: string | undefined; + maxResults?: number; + + /** + *

                                                    The token for the next set of results.

                                                    + */ + nextToken?: string; /** *

                                                    A filter to limit results to those data set contents whose creation is scheduled on or @@ -2315,11 +2320,6 @@ export interface ListDatasetContentsRequest { */ scheduledOnOrAfter?: Date; - /** - *

                                                    The maximum number of results to return in this request.

                                                    - */ - maxResults?: number; - /** *

                                                    A filter to limit results to those data set contents whose creation is scheduled before the * given time. See the field triggers.schedule in the CreateDataset request. (timestamp)

                                                    @@ -2338,29 +2338,29 @@ export namespace ListDatasetContentsRequest { */ export interface DatasetContentSummary { /** - *

                                                    The status of the data set contents.

                                                    + *

                                                    The time the creation of the data set contents was scheduled to start.

                                                    */ - status?: DatasetContentStatus; + scheduleTime?: Date; /** - *

                                                    The version of the data set contents.

                                                    + *

                                                    The actual time the creation of the data set contents was started.

                                                    */ - version?: string; + creationTime?: Date; /** - *

                                                    The time the dataset content status was updated to SUCCEEDED or FAILED.

                                                    + *

                                                    The version of the data set contents.

                                                    */ - completionTime?: Date; + version?: string; /** - *

                                                    The time the creation of the data set contents was scheduled to start.

                                                    + *

                                                    The status of the data set contents.

                                                    */ - scheduleTime?: Date; + status?: DatasetContentStatus; /** - *

                                                    The actual time the creation of the data set contents was started.

                                                    + *

                                                    The time the dataset content status was updated to SUCCEEDED or FAILED.

                                                    */ - creationTime?: Date; + completionTime?: Date; } export namespace DatasetContentSummary { @@ -2389,16 +2389,16 @@ export namespace ListDatasetContentsResponse { } export interface ListDatasetsRequest { - /** - *

                                                    The token for the next set of results.

                                                    - */ - nextToken?: string; - /** *

                                                    The maximum number of results to return in this request.

                                                    *

                                                    The default value is 100.

                                                    */ maxResults?: number; + + /** + *

                                                    The token for the next set of results.

                                                    + */ + nextToken?: string; } export namespace ListDatasetsRequest { @@ -2438,21 +2438,19 @@ export namespace DatasetActionSummary { */ export interface DatasetSummary { /** - *

                                                    The time the data set was created.

                                                    + *

                                                    The status of the data set.

                                                    */ - creationTime?: Date; + status?: DatasetStatus | string; /** - *

                                                    The status of the data set.

                                                    + *

                                                    The time the data set was created.

                                                    */ - status?: DatasetStatus | string; + creationTime?: Date; /** - *

                                                    A list of triggers. A trigger causes data set content to be populated at a specified time - * interval or when another data set is populated. The list of triggers can be empty or contain up - * to five DataSetTrigger objects

                                                    + *

                                                    The name of the data set.

                                                    */ - triggers?: DatasetTrigger[]; + datasetName?: string; /** *

                                                    The last time the data set was updated.

                                                    @@ -2460,9 +2458,11 @@ export interface DatasetSummary { lastUpdateTime?: Date; /** - *

                                                    The name of the data set.

                                                    + *

                                                    A list of triggers. A trigger causes data set content to be populated at a specified time + * interval or when another data set is populated. The list of triggers can be empty or contain up + * to five DataSetTrigger objects

                                                    */ - datasetName?: string; + triggers?: DatasetTrigger[]; /** *

                                                    A list of "DataActionSummary" objects.

                                                    @@ -2523,17 +2523,17 @@ export interface CustomerManagedDatastoreS3StorageSummary { */ bucket?: string; + /** + *

                                                    The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

                                                    + */ + roleArn?: string; + /** *

                                                    [Optional] The prefix used to create the keys of the data store data objects. Each object in * an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a * bucket has exactly one key). The prefix must end with a '/'.

                                                    */ keyPrefix?: string; - - /** - *

                                                    The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

                                                    - */ - roleArn?: string; } export namespace CustomerManagedDatastoreS3StorageSummary { @@ -2558,14 +2558,14 @@ export namespace ServiceManagedDatastoreS3StorageSummary { */ export interface DatastoreStorageSummary { /** - *

                                                    Used to store data store data in an S3 bucket that you manage.

                                                    + *

                                                    Used to store data store data in an S3 bucket managed by the AWS IoT Analytics service.

                                                    */ - customerManagedS3?: CustomerManagedDatastoreS3StorageSummary; + serviceManagedS3?: ServiceManagedDatastoreS3StorageSummary; /** - *

                                                    Used to store data store data in an S3 bucket managed by the AWS IoT Analytics service.

                                                    + *

                                                    Used to store data store data in an S3 bucket that you manage.

                                                    */ - serviceManagedS3?: ServiceManagedDatastoreS3StorageSummary; + customerManagedS3?: CustomerManagedDatastoreS3StorageSummary; } export namespace DatastoreStorageSummary { @@ -2578,11 +2578,6 @@ export namespace DatastoreStorageSummary { *

                                                    A summary of information about a data store.

                                                    */ export interface DatastoreSummary { - /** - *

                                                    Where data store data is stored.

                                                    - */ - datastoreStorage?: DatastoreStorageSummary; - /** *

                                                    When the data store was created.

                                                    */ @@ -2593,6 +2588,11 @@ export interface DatastoreSummary { */ status?: DatastoreStatus | string; + /** + *

                                                    Where data store data is stored.

                                                    + */ + datastoreStorage?: DatastoreStorageSummary; + /** *

                                                    The last time the data store was updated.

                                                    */ @@ -2653,14 +2653,14 @@ export namespace ListPipelinesRequest { */ export interface PipelineSummary { /** - *

                                                    When the pipeline was created.

                                                    + *

                                                    When the pipeline was last updated.

                                                    */ - creationTime?: Date; + lastUpdateTime?: Date; /** - *

                                                    When the pipeline was last updated.

                                                    + *

                                                    When the pipeline was created.

                                                    */ - lastUpdateTime?: Date; + creationTime?: Date; /** *

                                                    A summary of information about the pipeline reprocessing.

                                                    @@ -2681,15 +2681,15 @@ export namespace PipelineSummary { export interface ListPipelinesResponse { /** - *

                                                    The token to retrieve the next set of results, or null if there are no - * more results.

                                                    + *

                                                    A list of "PipelineSummary" objects.

                                                    */ - nextToken?: string; + pipelineSummaries?: PipelineSummary[]; /** - *

                                                    A list of "PipelineSummary" objects.

                                                    + *

                                                    The token to retrieve the next set of results, or null if there are no + * more results.

                                                    */ - pipelineSummaries?: PipelineSummary[]; + nextToken?: string; } export namespace ListPipelinesResponse { @@ -2781,25 +2781,25 @@ export namespace RunPipelineActivityResponse { export interface SampleChannelDataRequest { /** - *

                                                    The end of the time window from which sample messages are retrieved.

                                                    + *

                                                    The name of the channel whose message samples are retrieved.

                                                    */ - endTime?: Date; + channelName: string | undefined; /** *

                                                    The start of the time window from which sample messages are retrieved.

                                                    */ startTime?: Date; - /** - *

                                                    The name of the channel whose message samples are retrieved.

                                                    - */ - channelName: string | undefined; - /** *

                                                    The number of sample messages to be retrieved. The limit is 10, the default * is also 10.

                                                    */ maxMessages?: number; + + /** + *

                                                    The end of the time window from which sample messages are retrieved.

                                                    + */ + endTime?: Date; } export namespace SampleChannelDataRequest { @@ -2824,9 +2824,9 @@ export namespace SampleChannelDataResponse { export interface StartPipelineReprocessingRequest { /** - *

                                                    The end time (exclusive) of raw message data that is reprocessed.

                                                    + *

                                                    The start time (inclusive) of raw message data that is reprocessed.

                                                    */ - endTime?: Date; + startTime?: Date; /** *

                                                    The name of the pipeline on which to start reprocessing.

                                                    @@ -2834,9 +2834,9 @@ export interface StartPipelineReprocessingRequest { pipelineName: string | undefined; /** - *

                                                    The start time (inclusive) of raw message data that is reprocessed.

                                                    + *

                                                    The end time (exclusive) of raw message data that is reprocessed.

                                                    */ - startTime?: Date; + endTime?: Date; } export namespace StartPipelineReprocessingRequest { @@ -2860,14 +2860,14 @@ export namespace StartPipelineReprocessingResponse { export interface TagResourceRequest { /** - *

                                                    The new or modified tags for the resource.

                                                    + *

                                                    The ARN of the resource whose tags you want to modify.

                                                    */ - tags: Tag[] | undefined; + resourceArn: string | undefined; /** - *

                                                    The ARN of the resource whose tags you want to modify.

                                                    + *

                                                    The new or modified tags for the resource.

                                                    */ - resourceArn: string | undefined; + tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -2912,9 +2912,11 @@ export namespace UntagResourceResponse { export interface UpdateChannelRequest { /** - *

                                                    The name of the channel to be updated.

                                                    + *

                                                    Where channel data is stored. You may choose one of "serviceManagedS3" or "customerManagedS3" + * storage. If not specified, the default is "serviceManagedS3". This cannot be changed after creation + * of the channel.

                                                    */ - channelName: string | undefined; + channelStorage?: ChannelStorage; /** *

                                                    How long, in days, message data is kept for the channel. The retention period cannot be updated @@ -2923,11 +2925,9 @@ export interface UpdateChannelRequest { retentionPeriod?: RetentionPeriod; /** - *

                                                    Where channel data is stored. You may choose one of "serviceManagedS3" or "customerManagedS3" - * storage. If not specified, the default is "serviceManagedS3". This cannot be changed after creation - * of the channel.

                                                    + *

                                                    The name of the channel to be updated.

                                                    */ - channelStorage?: ChannelStorage; + channelName: string | undefined; } export namespace UpdateChannelRequest { @@ -2942,6 +2942,11 @@ export interface UpdateDatasetRequest { */ datasetName: string | undefined; + /** + *

                                                    A list of "DatasetAction" objects.

                                                    + */ + actions: DatasetAction[] | undefined; + /** *

                                                    [Optional] How many versions of data set contents are kept. If not specified or set to null, only the * latest version plus the latest succeeded version (if they are different) are kept for @@ -2955,11 +2960,6 @@ export interface UpdateDatasetRequest { */ contentDeliveryRules?: DatasetContentDeliveryRule[]; - /** - *

                                                    A list of "DatasetAction" objects.

                                                    - */ - actions: DatasetAction[] | undefined; - /** *

                                                    How long, in days, data set contents are kept for the data set.

                                                    */ @@ -3005,11 +3005,6 @@ export namespace UpdateDatastoreRequest { } export interface UpdatePipelineRequest { - /** - *

                                                    The name of the pipeline to update.

                                                    - */ - pipelineName: string | undefined; - /** *

                                                    A list of "PipelineActivity" objects. Activities perform transformations on your messages, * such as removing, renaming or adding message attributes; filtering messages based on attribute @@ -3031,6 +3026,11 @@ export interface UpdatePipelineRequest { *

                                                    */ pipelineActivities: PipelineActivity[] | undefined; + + /** + *

                                                    The name of the pipeline to update.

                                                    + */ + pipelineName: string | undefined; } export namespace UpdatePipelineRequest { diff --git a/clients/client-iotanalytics/protocols/Aws_restJson1.ts b/clients/client-iotanalytics/protocols/Aws_restJson1.ts index d3011b359955..df17683fe875 100644 --- a/clients/client-iotanalytics/protocols/Aws_restJson1.ts +++ b/clients/client-iotanalytics/protocols/Aws_restJson1.ts @@ -706,8 +706,8 @@ export const serializeAws_restJson1ListChannelsCommand = async ( }; let resolvedPath = "/channels"; 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(); @@ -741,11 +741,11 @@ export const serializeAws_restJson1ListDatasetContentsCommand = async ( throw new Error("No value provided for input HTTP label: datasetName."); } const query: any = { + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.scheduledOnOrAfter !== undefined && { scheduledOnOrAfter: (input.scheduledOnOrAfter.toISOString().split(".")[0] + "Z").toString(), }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.scheduledBefore !== undefined && { scheduledBefore: (input.scheduledBefore.toISOString().split(".")[0] + "Z").toString(), }), @@ -773,8 +773,8 @@ export const serializeAws_restJson1ListDatasetsCommand = async ( }; let resolvedPath = "/datasets"; const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -938,9 +938,9 @@ export const serializeAws_restJson1SampleChannelDataCommand = async ( throw new Error("No value provided for input HTTP label: channelName."); } const query: any = { - ...(input.endTime !== undefined && { endTime: (input.endTime.toISOString().split(".")[0] + "Z").toString() }), ...(input.startTime !== undefined && { startTime: (input.startTime.toISOString().split(".")[0] + "Z").toString() }), ...(input.maxMessages !== undefined && { maxMessages: input.maxMessages.toString() }), + ...(input.endTime !== undefined && { endTime: (input.endTime.toISOString().split(".")[0] + "Z").toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-iotsecuretunneling/models/models_0.ts b/clients/client-iotsecuretunneling/models/models_0.ts index eea8a75d09fd..af8d00eac09c 100644 --- a/clients/client-iotsecuretunneling/models/models_0.ts +++ b/clients/client-iotsecuretunneling/models/models_0.ts @@ -2,16 +2,16 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface CloseTunnelRequest { - /** - *

                                                    The ID of the tunnel to close.

                                                    - */ - tunnelId: string | undefined; - /** *

                                                    When set to true, AWS IoT Secure Tunneling deletes the tunnel data * immediately.

                                                    */ delete?: boolean; + + /** + *

                                                    The ID of the tunnel to close.

                                                    + */ + tunnelId: string | undefined; } export namespace CloseTunnelRequest { @@ -53,15 +53,15 @@ export enum ConnectionStatus { */ export interface ConnectionState { /** - *

                                                    The connection status of the tunnel. Valid values are CONNECTED and - * DISCONNECTED.

                                                    + *

                                                    The last time the connection status was updated.

                                                    */ - status?: ConnectionStatus | string; + lastUpdatedAt?: Date; /** - *

                                                    The last time the connection status was updated.

                                                    + *

                                                    The connection status of the tunnel. Valid values are CONNECTED and + * DISCONNECTED.

                                                    */ - lastUpdatedAt?: Date; + status?: ConnectionStatus | string; } export namespace ConnectionState { @@ -119,14 +119,14 @@ export enum TunnelStatus { */ export interface Tag { /** - *

                                                    The key of the tag.

                                                    + *

                                                    The value of the tag.

                                                    */ - key: string | undefined; + value: string | undefined; /** - *

                                                    The value of the tag.

                                                    + *

                                                    The key of the tag.

                                                    */ - value: string | undefined; + key: string | undefined; } export namespace Tag { @@ -158,14 +158,9 @@ export namespace TimeoutConfig { */ export interface Tunnel { /** - *

                                                    The time when the tunnel was created.

                                                    - */ - createdAt?: Date; - - /** - *

                                                    Timeout configuration for the tunnel.

                                                    + *

                                                    A description of the tunnel.

                                                    */ - timeoutConfig?: TimeoutConfig; + description?: string; /** *

                                                    The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is @@ -179,15 +174,20 @@ export interface Tunnel { */ lastUpdatedAt?: Date; + /** + *

                                                    A list of tag metadata associated with the secure tunnel.

                                                    + */ + tags?: Tag[]; + /** *

                                                    The connection state of the source application.

                                                    */ sourceConnectionState?: ConnectionState; /** - *

                                                    A unique alpha-numeric ID that identifies a tunnel.

                                                    + *

                                                    The status of a tunnel. Valid values are: Open and Closed.

                                                    */ - tunnelId?: string; + status?: TunnelStatus | string; /** *

                                                    The connection state of the destination application.

                                                    @@ -195,14 +195,14 @@ export interface Tunnel { destinationConnectionState?: ConnectionState; /** - *

                                                    A description of the tunnel.

                                                    + *

                                                    A unique alpha-numeric ID that identifies a tunnel.

                                                    */ - description?: string; + tunnelId?: string; /** - *

                                                    The status of a tunnel. Valid values are: Open and Closed.

                                                    + *

                                                    Timeout configuration for the tunnel.

                                                    */ - status?: TunnelStatus | string; + timeoutConfig?: TimeoutConfig; /** *

                                                    The destination configuration that specifies the thing name of the destination @@ -212,9 +212,9 @@ export interface Tunnel { destinationConfig?: DestinationConfig; /** - *

                                                    A list of tag metadata associated with the secure tunnel.

                                                    + *

                                                    The time when the tunnel was created.

                                                    */ - tags?: Tag[]; + createdAt?: Date; } export namespace Tunnel { @@ -264,9 +264,9 @@ export namespace ListTagsForResourceResponse { export interface ListTunnelsRequest { /** - *

                                                    The name of the IoT thing associated with the destination device.

                                                    + *

                                                    A token to retrieve the next set of results.

                                                    */ - thingName?: string; + nextToken?: string; /** *

                                                    The maximum number of results to return at once.

                                                    @@ -274,9 +274,9 @@ export interface ListTunnelsRequest { maxResults?: number; /** - *

                                                    A token to retrieve the next set of results.

                                                    + *

                                                    The name of the IoT thing associated with the destination device.

                                                    */ - nextToken?: string; + thingName?: string; } export namespace ListTunnelsRequest { @@ -290,15 +290,20 @@ export namespace ListTunnelsRequest { */ export interface TunnelSummary { /** - *

                                                    The time the tunnel was last updated.

                                                    + *

                                                    The unique alpha-numeric identifier for the tunnel.

                                                    */ - lastUpdatedAt?: Date; + tunnelId?: string; /** *

                                                    The status of a tunnel. Valid values are: Open and Closed.

                                                    */ status?: TunnelStatus | string; + /** + *

                                                    A description of the tunnel.

                                                    + */ + description?: string; + /** *

                                                    The Amazon Resource Name of the tunnel. The tunnel ARN format is * arn:aws:tunnel:::tunnel/ @@ -307,19 +312,14 @@ export interface TunnelSummary { tunnelArn?: string; /** - *

                                                    A description of the tunnel.

                                                    + *

                                                    The time the tunnel was last updated.

                                                    */ - description?: string; + lastUpdatedAt?: Date; /** *

                                                    The time the tunnel was created.

                                                    */ createdAt?: Date; - - /** - *

                                                    The unique alpha-numeric identifier for the tunnel.

                                                    - */ - tunnelId?: string; } export namespace TunnelSummary { @@ -363,9 +363,9 @@ export namespace LimitExceededException { export interface OpenTunnelRequest { /** - *

                                                    A collection of tag metadata.

                                                    + *

                                                    A short text description of the tunnel.

                                                    */ - tags?: Tag[]; + description?: string; /** *

                                                    Timeout configuration for a tunnel.

                                                    @@ -378,9 +378,9 @@ export interface OpenTunnelRequest { destinationConfig?: DestinationConfig; /** - *

                                                    A short text description of the tunnel.

                                                    + *

                                                    A collection of tag metadata.

                                                    */ - description?: string; + tags?: Tag[]; } export namespace OpenTunnelRequest { @@ -391,48 +391,48 @@ export namespace OpenTunnelRequest { export interface OpenTunnelResponse { /** - *

                                                    The Amazon Resource Name for the tunnel. The tunnel ARN format is - * arn:aws:tunnel:::tunnel/ - *

                                                    + *

                                                    A unique alpha-numeric tunnel ID.

                                                    */ - tunnelArn?: string; + tunnelId?: string; /** - *

                                                    The access token the destination local proxy uses to connect to AWS IoT Secure + *

                                                    The access token the source local proxy uses to connect to AWS IoT Secure * Tunneling.

                                                    */ - destinationAccessToken?: string; + sourceAccessToken?: string; /** - *

                                                    The access token the source local proxy uses to connect to AWS IoT Secure - * Tunneling.

                                                    + *

                                                    The Amazon Resource Name for the tunnel. The tunnel ARN format is + * arn:aws:tunnel:::tunnel/ + *

                                                    */ - sourceAccessToken?: string; + tunnelArn?: string; /** - *

                                                    A unique alpha-numeric tunnel ID.

                                                    + *

                                                    The access token the destination local proxy uses to connect to AWS IoT Secure + * Tunneling.

                                                    */ - tunnelId?: string; + destinationAccessToken?: string; } export namespace OpenTunnelResponse { export const filterSensitiveLog = (obj: OpenTunnelResponse): any => ({ ...obj, - ...(obj.destinationAccessToken && { destinationAccessToken: SENSITIVE_STRING }), ...(obj.sourceAccessToken && { sourceAccessToken: SENSITIVE_STRING }), + ...(obj.destinationAccessToken && { destinationAccessToken: SENSITIVE_STRING }), }); } export interface TagResourceRequest { /** - *

                                                    The tags for the resource.

                                                    + *

                                                    The ARN of the resource.

                                                    */ - tags: Tag[] | undefined; + resourceArn: string | undefined; /** - *

                                                    The ARN of the resource.

                                                    + *

                                                    The tags for the resource.

                                                    */ - resourceArn: string | undefined; + tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -451,14 +451,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                    The keys of the tags to remove.

                                                    + *

                                                    The resource ARN.

                                                    */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; /** - *

                                                    The resource ARN.

                                                    + *

                                                    The keys of the tags to remove.

                                                    */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { diff --git a/clients/client-iotsitewise/IoTSiteWise.ts b/clients/client-iotsitewise/IoTSiteWise.ts index 1689176c1818..ec7eeb930d69 100644 --- a/clients/client-iotsitewise/IoTSiteWise.ts +++ b/clients/client-iotsitewise/IoTSiteWise.ts @@ -45,6 +45,11 @@ import { CreatePortalCommandInput, CreatePortalCommandOutput, } from "./commands/CreatePortalCommand"; +import { + CreatePresignedPortalUrlCommand, + CreatePresignedPortalUrlCommandInput, + CreatePresignedPortalUrlCommandOutput, +} from "./commands/CreatePresignedPortalUrlCommand"; import { CreateProjectCommand, CreateProjectCommandInput, @@ -254,7 +259,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; export class IoTSiteWise extends IoTSiteWiseClient { /** *

                                                    Associates a child asset with the given parent asset through a hierarchy defined in the - * parent asset's model. For more information, see Associating Assets in the + * parent asset's model. For more information, see Associating assets in the * AWS IoT SiteWise User Guide.

                                                    */ public associateAssets( @@ -352,8 +357,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { /** *

                                                    Sends a list of asset property values to AWS IoT SiteWise. Each value is a timestamp-quality-value - * (TQV) data point. For more information, see Ingesting - * Data Using the API in the AWS IoT SiteWise User Guide.

                                                    + * (TQV) data point. For more information, see Ingesting data using the API in the + * AWS IoT SiteWise User Guide.

                                                    *

                                                    To identify an asset property, you must specify one of the following:

                                                    *
                                                      *
                                                    • @@ -373,6 +378,9 @@ export class IoTSiteWise extends IoTSiteWiseClient { * TQV has a different quality. For example, if you store a TQV {T1, GOOD, V1}, * then storing {T1, GOOD, V2} replaces the existing TQV.

                                                      * + *

                                                      AWS IoT SiteWise authorizes access to each BatchPutAssetPropertyValue entry individually. + * For more information, see BatchPutAssetPropertyValue authorization in the + * AWS IoT SiteWise User Guide.

                                                      */ public batchPutAssetPropertyValue( args: BatchPutAssetPropertyValueCommandInput, @@ -404,8 +412,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                      Creates an access policy that grants the specified AWS Single Sign-On user or group access to the - * specified AWS IoT SiteWise Monitor portal or project resource.

                                                      + *

                                                      Creates an access policy that grants the specified identity (AWS SSO user, AWS SSO group, or + * IAM user) access to the specified AWS IoT SiteWise Monitor portal or project resource.

                                                      */ public createAccessPolicy( args: CreateAccessPolicyCommandInput, @@ -437,7 +445,7 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                      Creates an asset from an existing asset model. For more information, see Creating Assets in the + *

                                                      Creates an asset from an existing asset model. For more information, see Creating assets in the * AWS IoT SiteWise User Guide.

                                                      */ public createAsset(args: CreateAssetCommandInput, options?: __HttpHandlerOptions): Promise; @@ -467,7 +475,7 @@ export class IoTSiteWise extends IoTSiteWiseClient { *

                                                      Creates an asset model from specified property and hierarchy definitions. You create * assets from asset models. With asset models, you can easily create assets of the same type * that have standardized definitions. Each asset created from a model inherits the asset model's - * property and hierarchy definitions. For more information, see Defining Asset Models in the + * property and hierarchy definitions. For more information, see Defining asset models in the * AWS IoT SiteWise User Guide.

                                                      */ public createAssetModel( @@ -566,14 +574,12 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                      Creates a portal, which can contain projects and dashboards. Before you can create a - * portal, you must configure AWS Single Sign-On in the current Region. AWS IoT SiteWise Monitor uses AWS SSO to manage - * user permissions. For more information, see Enabling AWS SSO in the - * AWS IoT SiteWise User Guide.

                                                      + *

                                                      Creates a portal, which can contain projects and dashboards. AWS IoT SiteWise Monitor uses AWS SSO or IAM + * to authenticate portal users and manage user permissions.

                                                      * - *

                                                      Before you can sign in to a new portal, you must add at least one AWS SSO user or group to - * that portal. For more information, see Adding or Removing Portal - * Administrators in the AWS IoT SiteWise User Guide.

                                                      + *

                                                      Before you can sign in to a new portal, you must add at least one identity to that + * portal. For more information, see Adding or removing portal + * administrators in the AWS IoT SiteWise User Guide.

                                                      *
                                                      */ public createPortal( @@ -602,6 +608,41 @@ export class IoTSiteWise extends IoTSiteWiseClient { } } + /** + *

                                                      Creates a pre-signed URL to a portal. Use this operation to create URLs to portals that + * use AWS Identity and Access Management (IAM) to authenticate users. An IAM user with access to a portal can call this API + * to get a URL to that portal. The URL contains a session token that lets the IAM user access + * the portal.

                                                      + */ + public createPresignedPortalUrl( + args: CreatePresignedPortalUrlCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createPresignedPortalUrl( + args: CreatePresignedPortalUrlCommandInput, + cb: (err: any, data?: CreatePresignedPortalUrlCommandOutput) => void + ): void; + public createPresignedPortalUrl( + args: CreatePresignedPortalUrlCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreatePresignedPortalUrlCommandOutput) => void + ): void; + public createPresignedPortalUrl( + args: CreatePresignedPortalUrlCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreatePresignedPortalUrlCommandOutput) => void), + cb?: (err: any, data?: CreatePresignedPortalUrlCommandOutput) => void + ): Promise | void { + const command = new CreatePresignedPortalUrlCommand(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 project in the specified portal.

                                                      */ @@ -635,8 +676,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                      Deletes an access policy that grants the specified AWS Single Sign-On identity access to the - * specified AWS IoT SiteWise Monitor resource. You can use this operation to revoke access to an AWS IoT SiteWise Monitor + *

                                                      Deletes an access policy that grants the specified identity access to the specified + * AWS IoT SiteWise Monitor resource. You can use this operation to revoke access to an AWS IoT SiteWise Monitor * resource.

                                                      */ public deleteAccessPolicy( @@ -669,8 +710,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                      Deletes an asset. This action can't be undone. For more information, see Deleting Assets and Models in the - * AWS IoT SiteWise User Guide. + *

                                                      Deletes an asset. This action can't be undone. For more information, see Deleting assets and + * models in the AWS IoT SiteWise User Guide. *

                                                      * *

                                                      You can't delete an asset that's associated to another asset. For more information, see @@ -704,7 +745,7 @@ export class IoTSiteWise extends IoTSiteWiseClient { *

                                                      Deletes an asset model. This action can't be undone. You must delete all assets created * from an asset model before you can delete the model. Also, you can't delete an asset model if * a parent asset model exists that contains a property formula expression that depends on the - * asset model that you want to delete. For more information, see Deleting Assets and Models in the + * asset model that you want to delete. For more information, see Deleting assets and models in the * AWS IoT SiteWise User Guide.

                                                      */ public deleteAssetModel( @@ -770,8 +811,7 @@ export class IoTSiteWise extends IoTSiteWiseClient { /** *

                                                      Deletes a gateway from AWS IoT SiteWise. When you delete a gateway, some of the gateway's files remain - * in your gateway's file system. For more information, see Data retention in the - * AWS IoT SiteWise User Guide.

                                                      + * in your gateway's file system.

                                                      */ public deleteGateway( args: DeleteGatewayCommandInput, @@ -864,8 +904,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                      Describes an access policy, which specifies an AWS SSO user or group's access to an - * AWS IoT SiteWise Monitor portal or project.

                                                      + *

                                                      Describes an access policy, which specifies an identity's access to an AWS IoT SiteWise Monitor portal or + * project.

                                                      */ public describeAccessPolicy( args: DescribeAccessPolicyCommandInput, @@ -961,7 +1001,14 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                      Retrieves information about an asset's property.

                                                      + *

                                                      Retrieves information about an asset property.

                                                      + * + *

                                                      When you call this operation for an attribute property, this response includes the + * default attribute value that you define in the asset model. If you update the default value + * in the model, this operation's response includes the new default value.

                                                      + *
                                                      + *

                                                      This operation doesn't return the value of the asset property. To get the value of an + * asset property, use GetAssetPropertyValue.

                                                      */ public describeAssetProperty( args: DescribeAssetPropertyCommandInput, @@ -1224,8 +1271,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                      Gets aggregated values for an asset property. For more information, see Querying Aggregated Property - * Values in the AWS IoT SiteWise User Guide.

                                                      + *

                                                      Gets aggregated values for an asset property. For more information, see Querying + * aggregates in the AWS IoT SiteWise User Guide.

                                                      *

                                                      To identify an asset property, you must specify one of the following:

                                                      *
                                                        *
                                                      • @@ -1267,8 +1314,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                        Gets an asset property's current value. For more information, see Querying Current Property - * Values in the AWS IoT SiteWise User Guide.

                                                        + *

                                                        Gets an asset property's current value. For more information, see Querying + * current values in the AWS IoT SiteWise User Guide.

                                                        *

                                                        To identify an asset property, you must specify one of the following:

                                                        *
                                                          *
                                                        • @@ -1310,8 +1357,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                          Gets the history of an asset property's values. For more information, see Querying Historical Property - * Values in the AWS IoT SiteWise User Guide.

                                                          + *

                                                          Gets the history of an asset property's values. For more information, see Querying + * historical values in the AWS IoT SiteWise User Guide.

                                                          *

                                                          To identify an asset property, you must specify one of the following:

                                                          *
                                                            *
                                                          • @@ -1353,8 +1400,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                            Retrieves a paginated list of access policies for an AWS SSO identity (a user or group) or - * an AWS IoT SiteWise Monitor resource (a portal or project).

                                                            + *

                                                            Retrieves a paginated list of access policies for an identity (an AWS SSO user, an AWS SSO + * group, or an IAM user) or an AWS IoT SiteWise Monitor resource (a portal or project).

                                                            */ public listAccessPolicies( args: ListAccessPoliciesCommandInput, @@ -1429,9 +1476,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { *
                                                          • *
                                                          *

                                                          You can't use this operation to list all assets. To retrieve summaries for all of your - * assets, use ListAssetModels to get - * all of your asset model IDs. Then, use ListAssets to get all assets for each asset - * model.

                                                          + * assets, use ListAssetModels to get all of your asset model IDs. Then, use ListAssets to get all + * assets for each asset model.

                                                          */ public listAssets(args: ListAssetsCommandInput, options?: __HttpHandlerOptions): Promise; public listAssets(args: ListAssetsCommandInput, cb: (err: any, data?: ListAssetsCommandOutput) => void): void; @@ -1457,8 +1503,16 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                          Retrieves a paginated list of the assets associated to a parent asset - * (assetId) by a given hierarchy (hierarchyId).

                                                          + *

                                                          Retrieves a paginated list of associated assets.

                                                          + *

                                                          You can use this operation to do the following:

                                                          + *
                                                            + *
                                                          • + *

                                                            List child assets associated to a parent asset by a hierarchy that you specify.

                                                            + *
                                                          • + *
                                                          • + *

                                                            List an asset's parent asset.

                                                            + *
                                                          • + *
                                                          */ public listAssociatedAssets( args: ListAssociatedAssetsCommandInput, @@ -1761,8 +1815,8 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                          Updates an existing access policy that specifies an AWS SSO user or group's access to an - * AWS IoT SiteWise Monitor portal or project resource.

                                                          + *

                                                          Updates an existing access policy that specifies an identity's access to an AWS IoT SiteWise Monitor + * portal or project resource.

                                                          */ public updateAccessPolicy( args: UpdateAccessPolicyCommandInput, @@ -1794,7 +1848,7 @@ export class IoTSiteWise extends IoTSiteWiseClient { } /** - *

                                                          Updates an asset's name. For more information, see Updating Assets and Models in the + *

                                                          Updates an asset's name. For more information, see Updating assets and models in the * AWS IoT SiteWise User Guide.

                                                          */ public updateAsset(args: UpdateAssetCommandInput, options?: __HttpHandlerOptions): Promise; @@ -1823,16 +1877,16 @@ export class IoTSiteWise extends IoTSiteWiseClient { /** *

                                                          Updates an asset model and all of the assets that were created from the model. Each asset * created from the model inherits the updated asset model's property and hierarchy definitions. - * For more information, see Updating - * Assets and Models in the AWS IoT SiteWise User Guide.

                                                          + * For more information, see Updating assets and models in the + * AWS IoT SiteWise User Guide.

                                                          * *

                                                          This operation overwrites the existing model with the provided model. To avoid deleting * your asset model's properties or hierarchies, you must include their IDs and definitions in * the updated asset model payload. For more information, see DescribeAssetModel.

                                                          - *

                                                          If you remove a property from an asset model or update a property's formula expression, - * AWS IoT SiteWise deletes all previous data for that property. If you remove a hierarchy definition from - * an asset model, AWS IoT SiteWise disassociates every asset associated with that hierarchy. You can't - * change the type or data type of an existing property.

                                                          + *

                                                          If you remove a property from an asset model, AWS IoT SiteWise deletes all previous data for that + * property. If you remove a hierarchy definition from an asset model, AWS IoT SiteWise disassociates every + * asset associated with that hierarchy. You can't change the type or data type of an existing + * property.

                                                          *
                                                          */ public updateAssetModel( diff --git a/clients/client-iotsitewise/IoTSiteWiseClient.ts b/clients/client-iotsitewise/IoTSiteWiseClient.ts index 9aa53d5dfd68..9270c81743cb 100644 --- a/clients/client-iotsitewise/IoTSiteWiseClient.ts +++ b/clients/client-iotsitewise/IoTSiteWiseClient.ts @@ -17,6 +17,10 @@ import { CreateAssetModelCommandInput, CreateAssetModelCommandOutput } from "./c import { CreateDashboardCommandInput, CreateDashboardCommandOutput } from "./commands/CreateDashboardCommand"; import { CreateGatewayCommandInput, CreateGatewayCommandOutput } from "./commands/CreateGatewayCommand"; import { CreatePortalCommandInput, CreatePortalCommandOutput } from "./commands/CreatePortalCommand"; +import { + CreatePresignedPortalUrlCommandInput, + CreatePresignedPortalUrlCommandOutput, +} from "./commands/CreatePresignedPortalUrlCommand"; import { CreateProjectCommandInput, CreateProjectCommandOutput } from "./commands/CreateProjectCommand"; import { DeleteAccessPolicyCommandInput, DeleteAccessPolicyCommandOutput } from "./commands/DeleteAccessPolicyCommand"; import { DeleteAssetCommandInput, DeleteAssetCommandOutput } from "./commands/DeleteAssetCommand"; @@ -154,6 +158,7 @@ export type ServiceInputTypes = | CreateDashboardCommandInput | CreateGatewayCommandInput | CreatePortalCommandInput + | CreatePresignedPortalUrlCommandInput | CreateProjectCommandInput | DeleteAccessPolicyCommandInput | DeleteAssetCommandInput @@ -210,6 +215,7 @@ export type ServiceOutputTypes = | CreateDashboardCommandOutput | CreateGatewayCommandOutput | CreatePortalCommandOutput + | CreatePresignedPortalUrlCommandOutput | CreateProjectCommandOutput | DeleteAccessPolicyCommandOutput | DeleteAssetCommandOutput diff --git a/clients/client-iotsitewise/commands/CreatePresignedPortalUrlCommand.ts b/clients/client-iotsitewise/commands/CreatePresignedPortalUrlCommand.ts new file mode 100644 index 000000000000..7e3bff568f23 --- /dev/null +++ b/clients/client-iotsitewise/commands/CreatePresignedPortalUrlCommand.ts @@ -0,0 +1,70 @@ +import { IoTSiteWiseClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTSiteWiseClient"; +import { CreatePresignedPortalUrlRequest, CreatePresignedPortalUrlResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreatePresignedPortalUrlCommand, + serializeAws_restJson1CreatePresignedPortalUrlCommand, +} 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 CreatePresignedPortalUrlCommandInput = CreatePresignedPortalUrlRequest; +export type CreatePresignedPortalUrlCommandOutput = CreatePresignedPortalUrlResponse & __MetadataBearer; + +export class CreatePresignedPortalUrlCommand extends $Command< + CreatePresignedPortalUrlCommandInput, + CreatePresignedPortalUrlCommandOutput, + IoTSiteWiseClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreatePresignedPortalUrlCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IoTSiteWiseClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreatePresignedPortalUrlRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreatePresignedPortalUrlResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreatePresignedPortalUrlCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreatePresignedPortalUrlCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreatePresignedPortalUrlCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-iotsitewise/index.ts b/clients/client-iotsitewise/index.ts index 581f68bf5c66..18872999288f 100644 --- a/clients/client-iotsitewise/index.ts +++ b/clients/client-iotsitewise/index.ts @@ -10,6 +10,7 @@ export * from "./commands/CreateAssetModelCommand"; export * from "./commands/CreateDashboardCommand"; export * from "./commands/CreateGatewayCommand"; export * from "./commands/CreatePortalCommand"; +export * from "./commands/CreatePresignedPortalUrlCommand"; export * from "./commands/CreateProjectCommand"; export * from "./commands/DeleteAccessPolicyCommand"; export * from "./commands/DeleteAssetCommand"; diff --git a/clients/client-iotsitewise/models/models_0.ts b/clients/client-iotsitewise/models/models_0.ts index c989f6710c1a..2f3a4a3b61a4 100644 --- a/clients/client-iotsitewise/models/models_0.ts +++ b/clients/client-iotsitewise/models/models_0.ts @@ -17,6 +17,29 @@ export namespace GroupIdentity { }); } +/** + *

                                                          Contains information about an AWS Identity and Access Management (IAM) user.

                                                          + */ +export interface IAMUserIdentity { + /** + *

                                                          The ARN of the IAM user. IAM users must have the + * iotsitewise:CreatePresignedPortalUrl permission to sign in to the portal. For more information, see IAM + * ARNs in the IAM User Guide.

                                                          + * + *

                                                          If you delete the IAM user, access policies that contain this identity include an + * empty arn. You can delete the access policy for the IAM user that no longer + * exists.

                                                          + *
                                                          + */ + arn: string | undefined; +} + +export namespace IAMUserIdentity { + export const filterSensitiveLog = (obj: IAMUserIdentity): any => ({ + ...obj, + }); +} + /** *

                                                          Contains information for a user identity in an access policy.

                                                          */ @@ -34,7 +57,7 @@ export namespace UserIdentity { } /** - *

                                                          Contains an AWS SSO identity ID for a user or group.

                                                          + *

                                                          Contains an identity that can access an AWS IoT SiteWise Monitor resource.

                                                          * *

                                                          Currently, you can't use AWS APIs to retrieve AWS SSO identity IDs. You can find the AWS SSO * identity IDs in the URL of user and group pages in the AWS SSO console.

                                                          @@ -42,14 +65,19 @@ export namespace UserIdentity { */ export interface Identity { /** - *

                                                          A group identity.

                                                          + *

                                                          An IAM user identity.

                                                          */ - group?: GroupIdentity; + iamUser?: IAMUserIdentity; /** - *

                                                          A user identity.

                                                          + *

                                                          An AWS SSO user identity.

                                                          */ user?: UserIdentity; + + /** + *

                                                          An AWS SSO group identity.

                                                          + */ + group?: GroupIdentity; } export namespace Identity { @@ -117,7 +145,7 @@ export namespace Resource { } /** - *

                                                          Contains an access policy that defines an AWS SSO identity's access to an AWS IoT SiteWise Monitor + *

                                                          Contains an access policy that defines an identity's access to an AWS IoT SiteWise Monitor * resource.

                                                          */ export interface AccessPolicySummary { @@ -131,11 +159,6 @@ export interface AccessPolicySummary { */ lastUpdateDate?: Date; - /** - *

                                                          The AWS SSO identity (a user or group).

                                                          - */ - identity: Identity | undefined; - /** *

                                                          The permissions for the access policy. Note that a project ADMINISTRATOR is * also known as a project owner.

                                                          @@ -143,14 +166,19 @@ export interface AccessPolicySummary { permission: Permission | string | undefined; /** - *

                                                          The ID of the access policy.

                                                          + *

                                                          The identity (an AWS SSO user, an AWS SSO group, or an IAM user).

                                                          */ - id: string | undefined; + identity: Identity | undefined; /** *

                                                          The date the access policy was created, in Unix epoch time.

                                                          */ creationDate?: Date; + + /** + *

                                                          The ID of the access policy.

                                                          + */ + id: string | undefined; } export namespace AccessPolicySummary { @@ -169,11 +197,6 @@ export enum Quality { *

                                                          Contains the (pre-calculated) aggregate values for an asset property.

                                                          */ export interface Aggregates { - /** - *

                                                          The sum of the time series over a time interval window.

                                                          - */ - sum?: number; - /** *

                                                          The average (mean) value of the time series over a time interval window.

                                                          */ @@ -185,9 +208,9 @@ export interface Aggregates { maximum?: number; /** - *

                                                          The count of data points in the time series over a time interval window.

                                                          + *

                                                          The sum of the time series over a time interval window.

                                                          */ - count?: number; + sum?: number; /** *

                                                          The standard deviation of the time series over a time interval window.

                                                          @@ -198,6 +221,11 @@ export interface Aggregates { *

                                                          The minimum value of the time series over a time interval window.

                                                          */ minimum?: number; + + /** + *

                                                          The count of data points in the time series over a time interval window.

                                                          + */ + count?: number; } export namespace Aggregates { @@ -211,11 +239,6 @@ export namespace Aggregates { * maximum).

                                                          */ export interface AggregatedValue { - /** - *

                                                          The value of the aggregates.

                                                          - */ - value: Aggregates | undefined; - /** *

                                                          The date the aggregating computations occurred, in Unix epoch time.

                                                          */ @@ -225,6 +248,11 @@ export interface AggregatedValue { *

                                                          The quality of the aggregated data.

                                                          */ quality?: Quality | string; + + /** + *

                                                          The value of the aggregates.

                                                          + */ + value: Aggregates | undefined; } export namespace AggregatedValue { @@ -251,14 +279,14 @@ export enum AssetErrorCode { */ export interface AssetErrorDetails { /** - *

                                                          The error code.

                                                          + *

                                                          The error message.

                                                          */ - code: AssetErrorCode | string | undefined; + message: string | undefined; /** - *

                                                          The error message.

                                                          + *

                                                          The error code.

                                                          */ - message: string | undefined; + code: AssetErrorCode | string | undefined; /** *

                                                          The ID of the asset.

                                                          @@ -277,14 +305,15 @@ export namespace AssetErrorDetails { */ export interface AssetHierarchy { /** - *

                                                          The hierarchy name provided in the CreateAssetModel or UpdateAssetModel API.

                                                          + *

                                                          The ID of the hierarchy. This ID is a hierarchyId.

                                                          */ - name: string | undefined; + id?: string; /** - *

                                                          The ID of the hierarchy. This ID is a hierarchyId.

                                                          + *

                                                          The hierarchy name provided in the CreateAssetModel or UpdateAssetModel + * API operation.

                                                          */ - id?: string; + name: string | undefined; } export namespace AssetHierarchy { @@ -299,18 +328,19 @@ export namespace AssetHierarchy { */ export interface AssetModelHierarchy { /** - *

                                                          The ID of the asset model. All assets in this hierarchy must be instances of the - * childAssetModelId asset model.

                                                          + *

                                                          The ID of the asset model hierarchy. This ID is a hierarchyId.

                                                          */ - childAssetModelId: string | undefined; + id?: string; /** - *

                                                          The ID of the asset model hierarchy. This ID is a hierarchyId.

                                                          + *

                                                          The ID of the asset model. All assets in this hierarchy must be instances of the + * childAssetModelId asset model.

                                                          */ - id?: string; + childAssetModelId: string | undefined; /** - *

                                                          The name of the asset model hierarchy that you specify by using the CreateAssetModel or UpdateAssetModel API.

                                                          + *

                                                          The name of the asset model hierarchy that you specify by using the CreateAssetModel or + * UpdateAssetModel API operation.

                                                          */ name: string | undefined; } @@ -327,14 +357,15 @@ export namespace AssetModelHierarchy { */ export interface AssetModelHierarchyDefinition { /** - *

                                                          The ID of an asset model for this hierarchy.

                                                          + *

                                                          The name of the asset model hierarchy definition (as specified in the CreateAssetModel or + * UpdateAssetModel API operation).

                                                          */ - childAssetModelId: string | undefined; + name: string | undefined; /** - *

                                                          The name of the asset model hierarchy definition (as specified in CreateAssetModel or UpdateAssetModel).

                                                          + *

                                                          The ID of an asset model for this hierarchy.

                                                          */ - name: string | undefined; + childAssetModelId: string | undefined; } export namespace AssetModelHierarchyDefinition { @@ -358,7 +389,7 @@ export interface Attribute { /** *

                                                          The default value of the asset model property attribute. All assets that you create from * the asset model contain this attribute value. You can update an attribute's value after you - * create an asset. For more information, see Updating Attribute Values in the + * create an asset. For more information, see Updating attribute values in the * AWS IoT SiteWise User Guide.

                                                          */ defaultValue?: string; @@ -398,7 +429,7 @@ export interface VariableValue { *

                                                          You use a hierarchy ID instead of a model ID because you can have several hierarchies * using the same model and therefore the same propertyId. For example, you might * have separately grouped assets that come from the same asset model. For more information, see - * Asset Hierarchies in the AWS IoT SiteWise User Guide.

                                                          + * Asset hierarchies in the AWS IoT SiteWise User Guide.

                                                          */ hierarchyId?: string; } @@ -483,6 +514,14 @@ export namespace MetricWindow { *

                                                          For more information, see Metrics in the AWS IoT SiteWise User Guide.

                                                          */ export interface Metric { + /** + *

                                                          The mathematical expression that defines the metric aggregation function. You can specify + * up to 10 variables per expression. You can specify up to 10 functions + * per expression.

                                                          + *

                                                          For more information, see Quotas in the AWS IoT SiteWise User Guide.

                                                          + */ + expression: string | undefined; + /** *

                                                          The window (time interval) over which AWS IoT SiteWise computes the metric's aggregation expression. * AWS IoT SiteWise computes one data point per window.

                                                          @@ -493,15 +532,6 @@ export interface Metric { *

                                                          The list of variables used in the expression.

                                                          */ variables: ExpressionVariable[] | undefined; - - /** - *

                                                          The mathematical expression that defines the metric aggregation function. You can specify - * up to 10 variables per expression. You can specify up to 10 functions - * per expression.

                                                          - *

                                                          For more information, see Quotas in the - * AWS IoT SiteWise User Guide.

                                                          - */ - expression: string | undefined; } export namespace Metric { @@ -523,8 +553,7 @@ export interface Transform { *

                                                          The mathematical expression that defines the transformation function. You can specify up * to 10 variables per expression. You can specify up to 10 functions per * expression.

                                                          - *

                                                          For more information, see Quotas in the - * AWS IoT SiteWise User Guide.

                                                          + *

                                                          For more information, see Quotas in the AWS IoT SiteWise User Guide.

                                                          */ expression: string | undefined; @@ -545,12 +574,6 @@ export namespace Transform { * measurement, metric, or transform.

                                                          */ export interface PropertyType { - /** - *

                                                          Specifies an asset measurement property. A measurement represents a device's raw sensor - * data stream, such as timestamped temperature values or timestamped power values.

                                                          - */ - measurement?: Measurement; - /** *

                                                          Specifies an asset metric property. A metric contains a mathematical expression that uses * aggregate functions to process all input data points over a time interval and output a single @@ -558,6 +581,12 @@ export interface PropertyType { */ metric?: Metric; + /** + *

                                                          Specifies an asset measurement property. A measurement represents a device's raw sensor + * data stream, such as timestamped temperature values or timestamped power values.

                                                          + */ + measurement?: Measurement; + /** *

                                                          Specifies an asset attribute property. An attribute generally contains static information, * such as the serial number of an IIoT wind turbine.

                                                          @@ -583,15 +612,14 @@ export namespace PropertyType { */ export interface AssetModelProperty { /** - *

                                                          The ID of the asset model property.

                                                          + *

                                                          The data type of the asset model property.

                                                          */ - id?: string; + dataType: PropertyDataType | string | undefined; /** - *

                                                          The unit of the asset model property, such as Newtons or - * RPM.

                                                          + *

                                                          The property type (see PropertyType).

                                                          */ - unit?: string; + type: PropertyType | undefined; /** *

                                                          The name of the asset model property.

                                                          @@ -599,14 +627,15 @@ export interface AssetModelProperty { name: string | undefined; /** - *

                                                          The property type (see PropertyType).

                                                          + *

                                                          The ID of the asset model property.

                                                          */ - type: PropertyType | undefined; + id?: string; /** - *

                                                          The data type of the asset model property.

                                                          + *

                                                          The unit of the asset model property, such as Newtons or + * RPM.

                                                          */ - dataType: PropertyDataType | string | undefined; + unit?: string; } export namespace AssetModelProperty { @@ -631,16 +660,16 @@ export interface AssetModelPropertyDefinition { */ dataType: PropertyDataType | string | undefined; - /** - *

                                                          The name of the property definition.

                                                          - */ - name: string | undefined; - /** *

                                                          The unit of the property definition, such as Newtons or * RPM.

                                                          */ unit?: string; + + /** + *

                                                          The name of the property definition.

                                                          + */ + name: string | undefined; } export namespace AssetModelPropertyDefinition { @@ -668,14 +697,14 @@ export enum ErrorCode { */ export interface ErrorDetails { /** - *

                                                          The error code.

                                                          + *

                                                          The error message.

                                                          */ - code: ErrorCode | string | undefined; + message: string | undefined; /** - *

                                                          The error message.

                                                          + *

                                                          The error code.

                                                          */ - message: string | undefined; + code: ErrorCode | string | undefined; } export namespace ErrorDetails { @@ -685,8 +714,8 @@ export namespace ErrorDetails { } /** - *

                                                          Contains current status information for an asset model. For more information, see Asset and Model States in the - * AWS IoT SiteWise User Guide.

                                                          + *

                                                          Contains current status information for an asset model. For more information, see Asset and model + * states in the AWS IoT SiteWise User Guide.

                                                          */ export interface AssetModelStatus { /** @@ -711,22 +740,9 @@ export namespace AssetModelStatus { */ export interface AssetModelSummary { /** - *

                                                          The date the asset model was created, in Unix epoch time.

                                                          - */ - creationDate: Date | undefined; - - /** - *

                                                          The ARN of the asset model, which has the following format.

                                                          - *

                                                          - * arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} - *

                                                          - */ - arn: string | undefined; - - /** - *

                                                          The ID of the asset model (used with AWS IoT SiteWise APIs).

                                                          + *

                                                          The date the asset model was last updated, in Unix epoch time.

                                                          */ - id: string | undefined; + lastUpdateDate: Date | undefined; /** *

                                                          The name of the asset model.

                                                          @@ -744,9 +760,22 @@ export interface AssetModelSummary { status: AssetModelStatus | undefined; /** - *

                                                          The date the asset model was last updated, in Unix epoch time.

                                                          + *

                                                          The ID of the asset model (used with AWS IoT SiteWise APIs).

                                                          */ - lastUpdateDate: Date | undefined; + id: string | undefined; + + /** + *

                                                          The ARN of the asset model, which has the following format.

                                                          + *

                                                          + * arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} + *

                                                          + */ + arn: string | undefined; + + /** + *

                                                          The date the asset model was created, in Unix epoch time.

                                                          + */ + creationDate: Date | undefined; } export namespace AssetModelSummary { @@ -762,18 +791,18 @@ export enum PropertyNotificationState { /** *

                                                          Contains asset property value notification information. When the notification state is enabled, AWS IoT SiteWise publishes property value - * updates to a unique MQTT topic. For more information, see Interacting with Other Services in the AWS IoT SiteWise User Guide.

                                                          + * updates to a unique MQTT topic. For more information, see Interacting with other services in the AWS IoT SiteWise User Guide.

                                                          */ export interface PropertyNotification { /** - *

                                                          The current notification state.

                                                          + *

                                                          The MQTT topic to which AWS IoT SiteWise publishes property value update notifications.

                                                          */ - state: PropertyNotificationState | string | undefined; + topic: string | undefined; /** - *

                                                          The MQTT topic to which AWS IoT SiteWise publishes property value update notifications.

                                                          + *

                                                          The current notification state.

                                                          */ - topic: string | undefined; + state: PropertyNotificationState | string | undefined; } export namespace PropertyNotification { @@ -787,38 +816,37 @@ export namespace PropertyNotification { */ export interface AssetProperty { /** - *

                                                          The asset property's notification topic and state. For more information, see UpdateAssetProperty - *

                                                          + *

                                                          The property alias that identifies the property, such as an OPC-UA server data stream path + * (for example, /company/windfarm/3/turbine/7/temperature). For more information, see + * Mapping industrial data streams to asset properties in the + * AWS IoT SiteWise User Guide.

                                                          */ - notification?: PropertyNotification; + alias?: string; /** - *

                                                          The data type of the asset property.

                                                          + *

                                                          The name of the property.

                                                          */ - dataType: PropertyDataType | string | undefined; + name: string | undefined; /** - *

                                                          The unit (such as Newtons or RPM) of the asset property.

                                                          + *

                                                          The ID of the asset property.

                                                          */ - unit?: string; + id: string | undefined; /** - *

                                                          The property alias that identifies the property, such as an OPC-UA server data stream path - * (for example, /company/windfarm/3/turbine/7/temperature). For more information, see - * Mapping Industrial Data Streams to Asset Properties in the - * AWS IoT SiteWise User Guide.

                                                          + *

                                                          The unit (such as Newtons or RPM) of the asset property.

                                                          */ - alias?: string; + unit?: string; /** - *

                                                          The ID of the asset property.

                                                          + *

                                                          The data type of the asset property.

                                                          */ - id: string | undefined; + dataType: PropertyDataType | string | undefined; /** - *

                                                          The name of the property.

                                                          + *

                                                          The asset property's notification topic and state. For more information, see UpdateAssetProperty.

                                                          */ - name: string | undefined; + notification?: PropertyNotification; } export namespace AssetProperty { @@ -858,11 +886,6 @@ export interface Variant { */ stringValue?: string; - /** - *

                                                          Asset property data of type Boolean (true or false).

                                                          - */ - booleanValue?: boolean; - /** *

                                                          Asset property data of type integer (whole number).

                                                          */ @@ -872,6 +895,11 @@ export interface Variant { *

                                                          Asset property data of type double (floating point number).

                                                          */ doubleValue?: number; + + /** + *

                                                          Asset property data of type Boolean (true or false).

                                                          + */ + booleanValue?: boolean; } export namespace Variant { @@ -885,9 +913,9 @@ export namespace Variant { */ export interface AssetPropertyValue { /** - *

                                                          The value of the asset property (see Variant).

                                                          + *

                                                          The quality of the asset property value.

                                                          */ - value: Variant | undefined; + quality?: Quality | string; /** *

                                                          The timestamp of the asset property value.

                                                          @@ -895,9 +923,9 @@ export interface AssetPropertyValue { timestamp: TimeInNanos | undefined; /** - *

                                                          The quality of the asset property value.

                                                          + *

                                                          The value of the asset property (see Variant).

                                                          */ - quality?: Quality | string; + value: Variant | undefined; } export namespace AssetPropertyValue { @@ -916,8 +944,8 @@ export enum AssetState { /** *

                                                          Contains information about the current status of an asset. For more information, see - * Asset and Model States in the - * AWS IoT SiteWise User Guide.

                                                          + * Asset and model + * states in the AWS IoT SiteWise User Guide.

                                                          */ export interface AssetStatus { /** @@ -942,19 +970,14 @@ export namespace AssetStatus { */ export interface AssetSummary { /** - *

                                                          A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

                                                          - */ - hierarchies: AssetHierarchy[] | undefined; - - /** - *

                                                          The ID of the asset.

                                                          + *

                                                          The date the asset was last updated, in Unix epoch time.

                                                          */ - id: string | undefined; + lastUpdateDate: Date | undefined; /** - *

                                                          The name of the asset.

                                                          + *

                                                          The date the asset was created, in Unix epoch time.

                                                          */ - name: string | undefined; + creationDate: Date | undefined; /** *

                                                          The ARN of the asset, which has the following format.

                                                          @@ -965,9 +988,9 @@ export interface AssetSummary { arn: string | undefined; /** - *

                                                          The date the asset was created, in Unix epoch time.

                                                          + *

                                                          The ID of the asset model used to create this asset.

                                                          */ - creationDate: Date | undefined; + assetModelId: string | undefined; /** *

                                                          The current status of the asset.

                                                          @@ -975,14 +998,19 @@ export interface AssetSummary { status: AssetStatus | undefined; /** - *

                                                          The ID of the asset model used to create this asset.

                                                          + *

                                                          The name of the asset.

                                                          */ - assetModelId: string | undefined; + name: string | undefined; /** - *

                                                          The date the asset was last updated, in Unix epoch time.

                                                          + *

                                                          The ID of the asset.

                                                          */ - lastUpdateDate: Date | undefined; + id: string | undefined; + + /** + *

                                                          A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

                                                          + */ + hierarchies: AssetHierarchy[] | undefined; } export namespace AssetSummary { @@ -993,14 +1021,14 @@ export namespace AssetSummary { export interface AssociateAssetsRequest { /** - *

                                                          The ID of the child asset to be associated.

                                                          + *

                                                          The ID of the parent asset.

                                                          */ - childAssetId: string | undefined; + assetId: string | undefined; /** *

                                                          The ID of a hierarchy in the parent asset's model. Hierarchies allow different groupings * of assets to be formed that all come from the same asset model. For more information, see - * Asset Hierarchies in the AWS IoT SiteWise User Guide.

                                                          + * Asset hierarchies in the AWS IoT SiteWise User Guide.

                                                          */ hierarchyId: string | undefined; @@ -1010,9 +1038,9 @@ export interface AssociateAssetsRequest { clientToken?: string; /** - *

                                                          The ID of the parent asset.

                                                          + *

                                                          The ID of the child asset to be associated.

                                                          */ - assetId: string | undefined; + childAssetId: string | undefined; } export namespace AssociateAssetsRequest { @@ -1029,14 +1057,14 @@ export interface ConflictingOperationException extends __SmithyException, $Metad name: "ConflictingOperationException"; $fault: "client"; /** - *

                                                          The ID of the resource that conflicts with this operation.

                                                          + *

                                                          The ARN of the resource that conflicts with this operation.

                                                          */ - resourceId: string | undefined; + resourceArn: string | undefined; /** - *

                                                          The ARN of the resource that conflicts with this operation.

                                                          + *

                                                          The ID of the resource that conflicts with this operation.

                                                          */ - resourceArn: string | undefined; + resourceId: string | undefined; message: string | undefined; } @@ -1134,47 +1162,47 @@ export namespace ThrottlingException { */ export interface AssociatedAssetsSummary { /** - *

                                                          The date the asset was created, in Unix epoch time.

                                                          + *

                                                          The ID of the asset.

                                                          */ - creationDate: Date | undefined; + id: string | undefined; /** - *

                                                          The ID of the asset model used to create the asset.

                                                          + *

                                                          A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

                                                          */ - assetModelId: string | undefined; + hierarchies: AssetHierarchy[] | undefined; /** - *

                                                          The name of the asset.

                                                          + *

                                                          The date the asset was last updated, in Unix epoch time.

                                                          */ - name: string | undefined; + lastUpdateDate: Date | undefined; /** - *

                                                          The ARN of the asset, which has the following format.

                                                          - *

                                                          - * arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} - *

                                                          + *

                                                          The current status of the asset.

                                                          */ - arn: string | undefined; + status: AssetStatus | undefined; /** - *

                                                          The date the asset was last updated, in Unix epoch time.

                                                          + *

                                                          The ID of the asset model used to create the asset.

                                                          */ - lastUpdateDate: Date | undefined; + assetModelId: string | undefined; /** - *

                                                          The current status of the asset.

                                                          + *

                                                          The name of the asset.

                                                          */ - status: AssetStatus | undefined; + name: string | undefined; /** - *

                                                          A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

                                                          + *

                                                          The ARN of the asset, which has the following format.

                                                          + *

                                                          + * arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} + *

                                                          */ - hierarchies: AssetHierarchy[] | undefined; + arn: string | undefined; /** - *

                                                          The ID of the asset.

                                                          + *

                                                          The date the asset was created, in Unix epoch time.

                                                          */ - id: string | undefined; + creationDate: Date | undefined; } export namespace AssociatedAssetsSummary { @@ -1183,12 +1211,12 @@ export namespace AssociatedAssetsSummary { }); } -export interface BatchAssociateProjectAssetsRequest { - /** - *

                                                          The IDs of the assets to be associated to the project.

                                                          - */ - assetIds: string[] | undefined; +export enum AuthMode { + IAM = "IAM", + SSO = "SSO", +} +export interface BatchAssociateProjectAssetsRequest { /** *

                                                          The ID of the project to which to associate the assets.

                                                          */ @@ -1198,6 +1226,11 @@ export interface BatchAssociateProjectAssetsRequest { *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          */ clientToken?: string; + + /** + *

                                                          The IDs of the assets to be associated to the project.

                                                          + */ + assetIds: string[] | undefined; } export namespace BatchAssociateProjectAssetsRequest { @@ -1257,22 +1290,10 @@ export namespace BatchDisassociateProjectAssetsResponse { /** *

                                                          Contains a list of value updates for an asset property in the list of asset entries - * consumed by the BatchPutAssetPropertyValue API.

                                                          + * consumed by the BatchPutAssetPropertyValue API + * operation.

                                                          */ export interface PutAssetPropertyValueEntry { - /** - *

                                                          The ID of the asset property for this entry.

                                                          - */ - propertyId?: string; - - /** - *

                                                          The property alias that identifies the property, such as an OPC-UA server data stream path - * (for example, /company/windfarm/3/turbine/7/temperature). For more information, see - * Mapping Industrial Data Streams to Asset Properties in the - * AWS IoT SiteWise User Guide.

                                                          - */ - propertyAlias?: string; - /** *

                                                          The list of property values to upload. You can specify up to 10 * propertyValues array elements.

                                                          @@ -1289,6 +1310,19 @@ export interface PutAssetPropertyValueEntry { *

                                                          The ID of the asset to update.

                                                          */ assetId?: string; + + /** + *

                                                          The property alias that identifies the property, such as an OPC-UA server data stream path + * (for example, /company/windfarm/3/turbine/7/temperature). For more information, see + * Mapping industrial data streams to asset properties in the + * AWS IoT SiteWise User Guide.

                                                          + */ + propertyAlias?: string; + + /** + *

                                                          The ID of the asset property for this entry.

                                                          + */ + propertyId?: string; } export namespace PutAssetPropertyValueEntry { @@ -1328,9 +1362,9 @@ export enum BatchPutAssetPropertyValueErrorCode { */ export interface BatchPutAssetPropertyError { /** - *

                                                          A list of timestamps for each error, if any.

                                                          + *

                                                          The associated error message.

                                                          */ - timestamps: TimeInNanos[] | undefined; + errorMessage: string | undefined; /** *

                                                          The error code.

                                                          @@ -1338,9 +1372,9 @@ export interface BatchPutAssetPropertyError { errorCode: BatchPutAssetPropertyValueErrorCode | string | undefined; /** - *

                                                          The associated error message.

                                                          + *

                                                          A list of timestamps for each error, if any.

                                                          */ - errorMessage: string | undefined; + timestamps: TimeInNanos[] | undefined; } export namespace BatchPutAssetPropertyError { @@ -1401,18 +1435,13 @@ export namespace ServiceUnavailableException { } export interface CreateAccessPolicyRequest { - /** - *

                                                          The identity for this access policy. Choose either a user or a group but not both.

                                                          - */ - accessPolicyIdentity: Identity | undefined; - /** *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          */ clientToken?: string; /** - *

                                                          The AWS IoT SiteWise Monitor resource for this access policy. Choose either portal or project but not both.

                                                          + *

                                                          The AWS IoT SiteWise Monitor resource for this access policy. Choose either a portal or a project.

                                                          */ accessPolicyResource: Resource | undefined; @@ -1423,10 +1452,15 @@ export interface CreateAccessPolicyRequest { /** *

                                                          A list of key-value pairs that contain metadata for the access policy. For more - * information, see Tagging your AWS IoT SiteWise - * resources in the AWS IoT SiteWise User Guide.

                                                          + * information, see Tagging your + * AWS IoT SiteWise resources in the AWS IoT SiteWise User Guide.

                                                          */ tags?: { [key: string]: string }; + + /** + *

                                                          The identity for this access policy. Choose an AWS SSO user, an AWS SSO group, or an IAM user.

                                                          + */ + accessPolicyIdentity: Identity | undefined; } export namespace CreateAccessPolicyRequest { @@ -1457,11 +1491,6 @@ export namespace CreateAccessPolicyResponse { } export interface CreateAssetRequest { - /** - *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          - */ - clientToken?: string; - /** *

                                                          The ID of the asset model from which to create the asset.

                                                          */ @@ -1469,8 +1498,8 @@ export interface CreateAssetRequest { /** *

                                                          A list of key-value pairs that contain metadata for the asset. For more information, see - * Tagging your AWS IoT SiteWise resources in the - * AWS IoT SiteWise User Guide.

                                                          + * Tagging your AWS IoT SiteWise + * resources in the AWS IoT SiteWise User Guide.

                                                          */ tags?: { [key: string]: string }; @@ -1478,6 +1507,11 @@ export interface CreateAssetRequest { *

                                                          A unique, friendly name for the asset.

                                                          */ assetName: string | undefined; + + /** + *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          + */ + clientToken?: string; } export namespace CreateAssetRequest { @@ -1487,12 +1521,6 @@ export namespace CreateAssetRequest { } export interface CreateAssetResponse { - /** - *

                                                          The ID of the asset. This ID uniquely identifies the asset within AWS IoT SiteWise and can be used with other - * AWS IoT SiteWise APIs.

                                                          - */ - assetId: string | undefined; - /** *

                                                          The status of the asset, which contains a state (CREATING after successfully * calling this operation) and any error message.

                                                          @@ -1506,6 +1534,12 @@ export interface CreateAssetResponse { *

                                                          */ assetArn: string | undefined; + + /** + *

                                                          The ID of the asset. This ID uniquely identifies the asset within AWS IoT SiteWise and can be used with other + * AWS IoT SiteWise APIs.

                                                          + */ + assetId: string | undefined; } export namespace CreateAssetResponse { @@ -1520,6 +1554,7 @@ export namespace CreateAssetResponse { export interface ResourceAlreadyExistsException extends __SmithyException, $MetadataBearer { name: "ResourceAlreadyExistsException"; $fault: "client"; + message: string | undefined; /** *

                                                          The ID of the resource that already exists.

                                                          */ @@ -1529,8 +1564,6 @@ export interface ResourceAlreadyExistsException extends __SmithyException, $Meta *

                                                          The ARN of the resource that already exists.

                                                          */ resourceArn: string | undefined; - - message: string | undefined; } export namespace ResourceAlreadyExistsException { @@ -1545,18 +1578,27 @@ export interface CreateAssetModelRequest { */ assetModelDescription?: string; + /** + *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          + */ + clientToken?: string; + /** *

                                                          The property definitions of the asset model. For more information, see - * Asset Properties in the AWS IoT SiteWise User Guide.

                                                          + * Asset properties in the AWS IoT SiteWise User Guide.

                                                          *

                                                          You can specify up to 200 properties per asset model. For more * information, see Quotas in the AWS IoT SiteWise User Guide.

                                                          */ assetModelProperties?: AssetModelPropertyDefinition[]; /** - *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          + *

                                                          The hierarchy definitions of the asset model. Each hierarchy specifies an asset model + * whose assets can be children of any other assets created from this asset model. For more + * information, see Asset hierarchies in the AWS IoT SiteWise User Guide.

                                                          + *

                                                          You can specify up to 10 hierarchies per asset model. For more + * information, see Quotas in the AWS IoT SiteWise User Guide.

                                                          */ - clientToken?: string; + assetModelHierarchies?: AssetModelHierarchyDefinition[]; /** *

                                                          A unique, friendly name for the asset model.

                                                          @@ -1565,19 +1607,10 @@ export interface CreateAssetModelRequest { /** *

                                                          A list of key-value pairs that contain metadata for the asset model. For more information, - * see Tagging your AWS IoT SiteWise resources in the - * AWS IoT SiteWise User Guide.

                                                          + * see Tagging your AWS IoT SiteWise + * resources in the AWS IoT SiteWise User Guide.

                                                          */ tags?: { [key: string]: string }; - - /** - *

                                                          The hierarchy definitions of the asset model. Each hierarchy specifies an asset model - * whose assets can be children of any other assets created from this asset model. For more - * information, see Asset Hierarchies in the AWS IoT SiteWise User Guide.

                                                          - *

                                                          You can specify up to 10 hierarchies per asset model. For more - * information, see Quotas in the AWS IoT SiteWise User Guide.

                                                          - */ - assetModelHierarchies?: AssetModelHierarchyDefinition[]; } export namespace CreateAssetModelRequest { @@ -1587,6 +1620,12 @@ export namespace CreateAssetModelRequest { } export interface CreateAssetModelResponse { + /** + *

                                                          The status of the asset model, which contains a state (CREATING after + * successfully calling this operation) and any error message.

                                                          + */ + assetModelStatus: AssetModelStatus | undefined; + /** *

                                                          The ARN of the asset model, which has the following format.

                                                          *

                                                          @@ -1595,12 +1634,6 @@ export interface CreateAssetModelResponse { */ assetModelArn: string | undefined; - /** - *

                                                          The status of the asset model, which contains a state (CREATING after - * successfully calling this operation) and any error message.

                                                          - */ - assetModelStatus: AssetModelStatus | undefined; - /** *

                                                          The ID of the asset model. You can use this ID when you call other AWS IoT SiteWise APIs.

                                                          */ @@ -1615,22 +1648,25 @@ export namespace CreateAssetModelResponse { export interface CreateDashboardRequest { /** - *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          + *

                                                          The ID of the project in which to create the dashboard.

                                                          */ - clientToken?: string; + projectId: string | undefined; + + /** + *

                                                          A description for the dashboard.

                                                          + */ + dashboardDescription?: string; /** *

                                                          The dashboard definition specified in a JSON literal. For detailed information, see - * Creating Dashboards (CLI) in the AWS IoT SiteWise User Guide.

                                                          + * Creating dashboards (CLI) in the AWS IoT SiteWise User Guide.

                                                          */ dashboardDefinition: string | undefined; /** - *

                                                          A list of key-value pairs that contain metadata for the dashboard. For more information, - * see Tagging your AWS IoT SiteWise resources in the - * AWS IoT SiteWise User Guide.

                                                          + *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          */ - tags?: { [key: string]: string }; + clientToken?: string; /** *

                                                          A friendly name for the dashboard.

                                                          @@ -1638,14 +1674,11 @@ export interface CreateDashboardRequest { dashboardName: string | undefined; /** - *

                                                          The ID of the project in which to create the dashboard.

                                                          - */ - projectId: string | undefined; - - /** - *

                                                          A description for the dashboard.

                                                          + *

                                                          A list of key-value pairs that contain metadata for the dashboard. For more information, + * see Tagging your AWS IoT SiteWise + * resources in the AWS IoT SiteWise User Guide.

                                                          */ - dashboardDescription?: string; + tags?: { [key: string]: string }; } export namespace CreateDashboardRequest { @@ -1678,14 +1711,14 @@ export namespace CreateDashboardResponse { /** *

                                                          Contains details for a gateway that runs on AWS IoT Greengrass. To create a gateway that runs on AWS IoT Greengrass, * you must add the IoT SiteWise connector to a Greengrass group and deploy it. Your Greengrass - * group must also have permissions to upload data to AWS IoT SiteWise. For more information, see Ingesting data using a gateway in the - * AWS IoT SiteWise User Guide.

                                                          + * group must also have permissions to upload data to AWS IoT SiteWise. For more information, see Ingesting data using a + * gateway in the AWS IoT SiteWise User Guide.

                                                          */ export interface Greengrass { /** *

                                                          The ARN of the Greengrass group. For more information about how to find a group's - * ARN, see ListGroups and GetGroup in - * the AWS IoT Greengrass API Reference.

                                                          + * ARN, see ListGroups and GetGroup in the + * AWS IoT Greengrass API Reference.

                                                          */ groupArn: string | undefined; } @@ -1713,15 +1746,10 @@ export namespace GatewayPlatform { } export interface CreateGatewayRequest { - /** - *

                                                          The gateway's platform. You can only specify one platform in a gateway.

                                                          - */ - gatewayPlatform: GatewayPlatform | undefined; - /** *

                                                          A list of key-value pairs that contain metadata for the gateway. For more information, see - * Tagging your AWS IoT SiteWise resources in the - * AWS IoT SiteWise User Guide.

                                                          + * Tagging your AWS IoT SiteWise + * resources in the AWS IoT SiteWise User Guide.

                                                          */ tags?: { [key: string]: string }; @@ -1729,6 +1757,11 @@ export interface CreateGatewayRequest { *

                                                          A unique, friendly name for the gateway.

                                                          */ gatewayName: string | undefined; + + /** + *

                                                          The gateway's platform. You can only specify one platform in a gateway.

                                                          + */ + gatewayPlatform: GatewayPlatform | undefined; } export namespace CreateGatewayRequest { @@ -1738,11 +1771,6 @@ export namespace CreateGatewayRequest { } export interface CreateGatewayResponse { - /** - *

                                                          The ID of the gateway device. You can use this ID when you call other AWS IoT SiteWise APIs.

                                                          - */ - gatewayId: string | undefined; - /** *

                                                          The ARN of the gateway, which has the following format.

                                                          *

                                                          @@ -1750,6 +1778,11 @@ export interface CreateGatewayResponse { *

                                                          */ gatewayArn: string | undefined; + + /** + *

                                                          The ID of the gateway device. You can use this ID when you call other AWS IoT SiteWise APIs.

                                                          + */ + gatewayId: string | undefined; } export namespace CreateGatewayResponse { @@ -1767,15 +1800,15 @@ export enum ImageFileType { */ export interface ImageFile { /** - *

                                                          The image file contents, represented as a base64-encoded string. The file size must be - * less than 1 MB.

                                                          + *

                                                          The file type of the image.

                                                          */ - data: Uint8Array | undefined; + type: ImageFileType | string | undefined; /** - *

                                                          The file type of the image.

                                                          + *

                                                          The image file contents, represented as a base64-encoded string. The file size must be + * less than 1 MB.

                                                          */ - type: ImageFileType | string | undefined; + data: Uint8Array | undefined; } export namespace ImageFile { @@ -1786,21 +1819,9 @@ export namespace ImageFile { export interface CreatePortalRequest { /** - *

                                                          A list of key-value pairs that contain metadata for the portal. For more information, see - * Tagging your AWS IoT SiteWise resources in the - * AWS IoT SiteWise User Guide.

                                                          - */ - tags?: { [key: string]: string }; - - /** - *

                                                          A friendly name for the portal.

                                                          - */ - portalName: string | undefined; - - /** - *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          + *

                                                          The AWS administrator's contact email address.

                                                          */ - clientToken?: string; + portalContactEmail: string | undefined; /** *

                                                          The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise @@ -1810,9 +1831,14 @@ export interface CreatePortalRequest { roleArn: string | undefined; /** - *

                                                          The AWS administrator's contact email address.

                                                          + *

                                                          A description for the portal.

                                                          */ - portalContactEmail: string | undefined; + portalDescription?: string; + + /** + *

                                                          A friendly name for the portal.

                                                          + */ + portalName: string | undefined; /** *

                                                          A logo image to display in the portal. Upload a square, high-resolution image. The @@ -1821,9 +1847,41 @@ export interface CreatePortalRequest { portalLogoImageFile?: ImageFile; /** - *

                                                          A description for the portal.

                                                          + *

                                                          The service to use to authenticate users to the portal. Choose from the following + * options:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * SSO – The portal uses AWS Single Sign-On to authenticate users and manage + * user permissions. Before you can create a portal that uses AWS SSO, you must enable AWS SSO. + * For more information, see Enabling AWS SSO in the + * AWS IoT SiteWise User Guide. This option is only available in AWS Regions other + * than the China Regions.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * IAM – The portal uses AWS Identity and Access Management (IAM) to authenticate users and manage + * user permissions. IAM users must have the + * iotsitewise:CreatePresignedPortalUrl permission to sign in to the portal. This option is only available in the China Regions.

                                                            + *
                                                          • + *
                                                          + *

                                                          You can't change this value after you create a portal.

                                                          + *

                                                          Default: SSO + *

                                                          */ - portalDescription?: string; + portalAuthMode?: AuthMode | string; + + /** + *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          + */ + clientToken?: string; + + /** + *

                                                          A list of key-value pairs that contain metadata for the portal. For more information, see + * Tagging your AWS IoT SiteWise + * resources in the AWS IoT SiteWise User Guide.

                                                          + */ + tags?: { [key: string]: string }; } export namespace CreatePortalRequest { @@ -1834,6 +1892,8 @@ export namespace CreatePortalRequest { export enum MonitorErrorCode { INTERNAL_FAILURE = "INTERNAL_FAILURE", + LIMIT_EXCEEDED = "LIMIT_EXCEEDED", + VALIDATION_ERROR = "VALIDATION_ERROR", } /** @@ -1841,14 +1901,14 @@ export enum MonitorErrorCode { */ export interface MonitorErrorDetails { /** - *

                                                          The error message.

                                                          + *

                                                          The error code.

                                                          */ - message?: string; + code?: MonitorErrorCode | string; /** - *

                                                          The error code.

                                                          + *

                                                          The error message.

                                                          */ - code?: MonitorErrorCode | string; + message?: string; } export namespace MonitorErrorDetails { @@ -1870,14 +1930,14 @@ export enum PortalState { */ export interface PortalStatus { /** - *

                                                          Contains associated error information, if any.

                                                          + *

                                                          The current state of the portal.

                                                          */ - error?: MonitorErrorDetails; + state: PortalState | string | undefined; /** - *

                                                          The current state of the portal.

                                                          + *

                                                          Contains associated error information, if any.

                                                          */ - state: PortalState | string | undefined; + error?: MonitorErrorDetails; } export namespace PortalStatus { @@ -1888,9 +1948,9 @@ export namespace PortalStatus { export interface CreatePortalResponse { /** - *

                                                          The associated AWS SSO application Id.

                                                          + *

                                                          The ID of the created portal.

                                                          */ - ssoApplicationId: string | undefined; + portalId: string | undefined; /** *

                                                          The status of the portal, which contains a state (CREATING after successfully @@ -1907,14 +1967,16 @@ export interface CreatePortalResponse { portalArn: string | undefined; /** - *

                                                          The public URL for the AWS IoT SiteWise Monitor portal.

                                                          + *

                                                          The associated AWS SSO application ID, if the portal uses AWS SSO.

                                                          */ - portalStartUrl: string | undefined; + ssoApplicationId: string | undefined; /** - *

                                                          The ID of the created portal.

                                                          + *

                                                          The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to access portals that + * use AWS SSO for authentication. For portals that use IAM for authentication, you must use the + * CreatePresignedPortalUrl operation to create a URL that you can use to access the portal.

                                                          */ - portalId: string | undefined; + portalStartUrl: string | undefined; } export namespace CreatePortalResponse { @@ -1923,24 +1985,43 @@ export namespace CreatePortalResponse { }); } -export interface CreateProjectRequest { +export interface CreatePresignedPortalUrlRequest { /** - *

                                                          A list of key-value pairs that contain metadata for the project. For more information, see - * Tagging your AWS IoT SiteWise resources in the - * AWS IoT SiteWise User Guide.

                                                          + *

                                                          The duration (in seconds) for which the session at the URL is valid.

                                                          + *

                                                          Default: 900 seconds (15 minutes)

                                                          */ - tags?: { [key: string]: string }; + sessionDurationSeconds?: number; /** - *

                                                          A description for the project.

                                                          + *

                                                          The ID of the portal to access.

                                                          */ - projectDescription?: string; + portalId: string | undefined; +} + +export namespace CreatePresignedPortalUrlRequest { + export const filterSensitiveLog = (obj: CreatePresignedPortalUrlRequest): any => ({ + ...obj, + }); +} +export interface CreatePresignedPortalUrlResponse { /** - *

                                                          A friendly name for the project.

                                                          + *

                                                          The pre-signed URL to the portal. The URL contains the portal ID and a session token that + * lets you access the portal. The URL has the following format.

                                                          + *

                                                          + * https://.app.iotsitewise.aws/auth?token= + *

                                                          */ - projectName: string | undefined; + presignedPortalUrl: string | undefined; +} + +export namespace CreatePresignedPortalUrlResponse { + export const filterSensitiveLog = (obj: CreatePresignedPortalUrlResponse): any => ({ + ...obj, + }); +} +export interface CreateProjectRequest { /** *

                                                          The ID of the portal in which to create the project.

                                                          */ @@ -1950,6 +2031,23 @@ export interface CreateProjectRequest { *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          */ clientToken?: string; + + /** + *

                                                          A description for the project.

                                                          + */ + projectDescription?: string; + + /** + *

                                                          A list of key-value pairs that contain metadata for the project. For more information, see + * Tagging your AWS IoT SiteWise + * resources in the AWS IoT SiteWise User Guide.

                                                          + */ + tags?: { [key: string]: string }; + + /** + *

                                                          A friendly name for the project.

                                                          + */ + projectName: string | undefined; } export namespace CreateProjectRequest { @@ -2007,14 +2105,14 @@ export namespace DeleteAccessPolicyResponse { export interface DeleteAssetRequest { /** - *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          + *

                                                          The ID of the asset to delete.

                                                          */ - clientToken?: string; + assetId: string | undefined; /** - *

                                                          The ID of the asset to delete.

                                                          + *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          */ - assetId: string | undefined; + clientToken?: string; } export namespace DeleteAssetRequest { @@ -2142,14 +2240,14 @@ export namespace DeletePortalResponse { export interface DeleteProjectRequest { /** - *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          + *

                                                          The ID of the project.

                                                          */ - clientToken?: string; + projectId: string | undefined; /** - *

                                                          The ID of the project.

                                                          + *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          */ - projectId: string | undefined; + clientToken?: string; } export namespace DeleteProjectRequest { @@ -2180,6 +2278,17 @@ export namespace DescribeAccessPolicyRequest { } export interface DescribeAccessPolicyResponse { + /** + *

                                                          The ID of the access policy.

                                                          + */ + accessPolicyId: string | undefined; + + /** + *

                                                          The access policy permission. Note that a project ADMINISTRATOR is also known + * as a project owner.

                                                          + */ + accessPolicyPermission: Permission | string | undefined; + /** *

                                                          The date the access policy was created, in Unix epoch time.

                                                          */ @@ -2190,12 +2299,6 @@ export interface DescribeAccessPolicyResponse { */ accessPolicyLastUpdateDate: Date | undefined; - /** - *

                                                          The access policy permission. Note that a project ADMINISTRATOR is also known - * as a project owner.

                                                          - */ - accessPolicyPermission: Permission | string | undefined; - /** *

                                                          The ARN of the access policy, which has the following format.

                                                          *

                                                          @@ -2211,12 +2314,8 @@ export interface DescribeAccessPolicyResponse { accessPolicyResource: Resource | undefined; /** - *

                                                          The ID of the access policy.

                                                          - */ - accessPolicyId: string | undefined; - - /** - *

                                                          The AWS SSO identity (user or group) to which this access policy applies.

                                                          + *

                                                          The identity (AWS SSO user, AWS SSO group, or IAM user) to which this access policy + * applies.

                                                          */ accessPolicyIdentity: Identity | undefined; } @@ -2242,14 +2341,9 @@ export namespace DescribeAssetRequest { export interface DescribeAssetResponse { /** - *

                                                          A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

                                                          - */ - assetHierarchies: AssetHierarchy[] | undefined; - - /** - *

                                                          The date the asset was last updated, in Unix epoch time.

                                                          + *

                                                          The ID of the asset.

                                                          */ - assetLastUpdateDate: Date | undefined; + assetId: string | undefined; /** *

                                                          The date the asset was created, in Unix epoch time.

                                                          @@ -2265,9 +2359,14 @@ export interface DescribeAssetResponse { assetArn: string | undefined; /** - *

                                                          The name of the asset.

                                                          + *

                                                          The date the asset was last updated, in Unix epoch time.

                                                          */ - assetName: string | undefined; + assetLastUpdateDate: Date | undefined; + + /** + *

                                                          The current status of the asset, which contains a state and any error message.

                                                          + */ + assetStatus: AssetStatus | undefined; /** *

                                                          The ID of the asset model that was used to create the asset.

                                                          @@ -2275,9 +2374,9 @@ export interface DescribeAssetResponse { assetModelId: string | undefined; /** - *

                                                          The current status of the asset, which contains a state and any error message.

                                                          + *

                                                          The name of the asset.

                                                          */ - assetStatus: AssetStatus | undefined; + assetName: string | undefined; /** *

                                                          The list of asset properties for the asset.

                                                          @@ -2285,9 +2384,9 @@ export interface DescribeAssetResponse { assetProperties: AssetProperty[] | undefined; /** - *

                                                          The ID of the asset.

                                                          + *

                                                          A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

                                                          */ - assetId: string | undefined; + assetHierarchies: AssetHierarchy[] | undefined; } export namespace DescribeAssetResponse { @@ -2311,26 +2410,27 @@ export namespace DescribeAssetModelRequest { export interface DescribeAssetModelResponse { /** - *

                                                          A list of asset model hierarchies that each contain a childAssetModelId and a - * hierarchyId (named id). A hierarchy specifies allowed parent/child - * asset relationships for an asset model.

                                                          + *

                                                          The current status of the asset model, which contains a state and any error + * message.

                                                          */ - assetModelHierarchies: AssetModelHierarchy[] | undefined; + assetModelStatus: AssetModelStatus | undefined; /** - *

                                                          The ID of the asset model.

                                                          + *

                                                          The date the asset model was last updated, in Unix epoch time.

                                                          */ - assetModelId: string | undefined; + assetModelLastUpdateDate: Date | undefined; /** - *

                                                          The name of the asset model.

                                                          + *

                                                          A list of asset model hierarchies that each contain a childAssetModelId and a + * hierarchyId (named id). A hierarchy specifies allowed parent/child + * asset relationships for an asset model.

                                                          */ - assetModelName: string | undefined; + assetModelHierarchies: AssetModelHierarchy[] | undefined; /** - *

                                                          The date the asset model was last updated, in Unix epoch time.

                                                          + *

                                                          The list of asset properties for the asset model.

                                                          */ - assetModelLastUpdateDate: Date | undefined; + assetModelProperties: AssetModelProperty[] | undefined; /** *

                                                          The ARN of the asset model, which has the following format.

                                                          @@ -2341,25 +2441,24 @@ export interface DescribeAssetModelResponse { assetModelArn: string | undefined; /** - *

                                                          The list of asset properties for the asset model.

                                                          + *

                                                          The asset model's description.

                                                          */ - assetModelProperties: AssetModelProperty[] | undefined; + assetModelDescription: string | undefined; /** - *

                                                          The asset model's description.

                                                          + *

                                                          The date the asset model was created, in Unix epoch time.

                                                          */ - assetModelDescription: string | undefined; + assetModelCreationDate: Date | undefined; /** - *

                                                          The current status of the asset model, which contains a state and any error - * message.

                                                          + *

                                                          The name of the asset model.

                                                          */ - assetModelStatus: AssetModelStatus | undefined; + assetModelName: string | undefined; /** - *

                                                          The date the asset model was created, in Unix epoch time.

                                                          + *

                                                          The ID of the asset model.

                                                          */ - assetModelCreationDate: Date | undefined; + assetModelId: string | undefined; } export namespace DescribeAssetModelResponse { @@ -2390,44 +2489,43 @@ export namespace DescribeAssetPropertyRequest { *

                                                          Contains asset property information.

                                                          */ export interface Property { + /** + *

                                                          The ID of the asset property.

                                                          + */ + id: string | undefined; + /** *

                                                          The property alias that identifies the property, such as an OPC-UA server data stream path * (for example, /company/windfarm/3/turbine/7/temperature). For more information, see - * Mapping Industrial Data Streams to Asset Properties in the + * Mapping industrial data streams to asset properties in the * AWS IoT SiteWise User Guide.

                                                          */ alias?: string; /** - *

                                                          The property data type.

                                                          + *

                                                          The unit (such as Newtons or RPM) of the asset property.

                                                          */ - dataType: PropertyDataType | string | undefined; + unit?: string; /** - *

                                                          The asset property's notification topic and state. For more information, see UpdateAssetProperty - *

                                                          + *

                                                          The property data type.

                                                          */ - notification?: PropertyNotification; + dataType: PropertyDataType | string | undefined; /** - *

                                                          The unit (such as Newtons or RPM) of the asset property.

                                                          + *

                                                          The asset property's notification topic and state. For more information, see UpdateAssetProperty.

                                                          */ - unit?: string; + notification?: PropertyNotification; /** - *

                                                          The ID of the asset property.

                                                          + *

                                                          The name of the property.

                                                          */ - id: string | undefined; + name: string | undefined; /** *

                                                          The property type (see PropertyType). A property contains one type.

                                                          */ type?: PropertyType; - - /** - *

                                                          The name of the property.

                                                          - */ - name: string | undefined; } export namespace Property { @@ -2437,6 +2535,11 @@ export namespace Property { } export interface DescribeAssetPropertyResponse { + /** + *

                                                          The asset property's definition, alias, and notification state.

                                                          + */ + assetProperty: Property | undefined; + /** *

                                                          The ID of the asset.

                                                          */ @@ -2447,11 +2550,6 @@ export interface DescribeAssetPropertyResponse { */ assetModelId: string | undefined; - /** - *

                                                          The asset property's definition, alias, and notification state.

                                                          - */ - assetProperty: Property | undefined; - /** *

                                                          The name of the asset.

                                                          */ @@ -2478,20 +2576,25 @@ export namespace DescribeDashboardRequest { } export interface DescribeDashboardResponse { + /** + *

                                                          The name of the dashboard.

                                                          + */ + dashboardName: string | undefined; + /** *

                                                          The ID of the project that the dashboard is in.

                                                          */ projectId: string | undefined; /** - *

                                                          The date the dashboard was created, in Unix epoch time.

                                                          + *

                                                          The date the dashboard was last updated, in Unix epoch time.

                                                          */ - dashboardCreationDate: Date | undefined; + dashboardLastUpdateDate: Date | undefined; /** - *

                                                          The ID of the dashboard.

                                                          + *

                                                          The date the dashboard was created, in Unix epoch time.

                                                          */ - dashboardId: string | undefined; + dashboardCreationDate: Date | undefined; /** *

                                                          The dashboard's description.

                                                          @@ -2499,13 +2602,13 @@ export interface DescribeDashboardResponse { dashboardDescription?: string; /** - *

                                                          The date the dashboard was last updated, in Unix epoch time.

                                                          + *

                                                          The ID of the dashboard.

                                                          */ - dashboardLastUpdateDate: Date | undefined; + dashboardId: string | undefined; /** - *

                                                          The dashboard's definition JSON literal. For detailed information, see Creating Dashboards (CLI) in - * the AWS IoT SiteWise User Guide.

                                                          + *

                                                          The dashboard's definition JSON literal. For detailed information, see Creating + * dashboards (CLI) in the AWS IoT SiteWise User Guide.

                                                          */ dashboardDefinition: string | undefined; @@ -2516,11 +2619,6 @@ export interface DescribeDashboardResponse { *

                                                          */ dashboardArn: string | undefined; - - /** - *

                                                          The name of the dashboard.

                                                          - */ - dashboardName: string | undefined; } export namespace DescribeDashboardResponse { @@ -2552,15 +2650,6 @@ export enum CapabilitySyncStatus { *

                                                          Contains a summary of a gateway capability configuration.

                                                          */ export interface GatewayCapabilitySummary { - /** - *

                                                          The namespace of the capability configuration. - * For example, if you configure OPC-UA - * sources from the AWS IoT SiteWise console, your OPC-UA capability configuration has the namespace - * iotsitewise:opcuacollector:version, where version is a number such as - * 1.

                                                          - */ - capabilityNamespace: string | undefined; - /** *

                                                          The synchronization status of the capability configuration. The sync status can be one of the following:

                                                          *
                                                            @@ -2579,19 +2668,28 @@ export interface GatewayCapabilitySummary { *
                                                          */ capabilitySyncStatus: CapabilitySyncStatus | string | undefined; -} -export namespace GatewayCapabilitySummary { - export const filterSensitiveLog = (obj: GatewayCapabilitySummary): any => ({ - ...obj, - }); + /** + *

                                                          The namespace of the capability configuration. + * For example, if you configure OPC-UA + * sources from the AWS IoT SiteWise console, your OPC-UA capability configuration has the namespace + * iotsitewise:opcuacollector:version, where version is a number such as + * 1.

                                                          + */ + capabilityNamespace: string | undefined; +} + +export namespace GatewayCapabilitySummary { + export const filterSensitiveLog = (obj: GatewayCapabilitySummary): any => ({ + ...obj, + }); } export interface DescribeGatewayResponse { /** - *

                                                          The name of the gateway.

                                                          + *

                                                          The date the gateway was last updated, in Unix epoch time.

                                                          */ - gatewayName: string | undefined; + lastUpdateDate: Date | undefined; /** *

                                                          The ARN of the gateway, which has the following format.

                                                          @@ -2602,14 +2700,21 @@ export interface DescribeGatewayResponse { gatewayArn: string | undefined; /** - *

                                                          The ID of the gateway device.

                                                          + *

                                                          The name of the gateway.

                                                          */ - gatewayId: string | undefined; + gatewayName: string | undefined; /** - *

                                                          The date the gateway was last updated, in Unix epoch time.

                                                          + *

                                                          A list of gateway capability summaries that each contain a namespace and status. Each + * gateway capability defines data sources for the gateway. To retrieve a capability + * configuration's definition, use DescribeGatewayCapabilityConfiguration.

                                                          */ - lastUpdateDate: Date | undefined; + gatewayCapabilitySummaries: GatewayCapabilitySummary[] | undefined; + + /** + *

                                                          The ID of the gateway device.

                                                          + */ + gatewayId: string | undefined; /** *

                                                          The gateway's platform.

                                                          @@ -2620,13 +2725,6 @@ export interface DescribeGatewayResponse { *

                                                          The date the gateway was created, in Unix epoch time.

                                                          */ creationDate: Date | undefined; - - /** - *

                                                          A list of gateway capability summaries that each contain a namespace and status. Each - * gateway capability defines data sources for the gateway. To retrieve a capability - * configuration's definition, use DescribeGatewayCapabilityConfiguration.

                                                          - */ - gatewayCapabilitySummaries: GatewayCapabilitySummary[] | undefined; } export namespace DescribeGatewayResponse { @@ -2659,15 +2757,14 @@ export namespace DescribeGatewayCapabilityConfigurationRequest { export interface DescribeGatewayCapabilityConfigurationResponse { /** - *

                                                          The namespace of the gateway capability.

                                                          + *

                                                          The ID of the gateway that defines the capability configuration.

                                                          */ - capabilityNamespace: string | undefined; + gatewayId: string | undefined; /** - *

                                                          The JSON document that defines the gateway capability's configuration. For more - * information, see Configuring data sources (CLI) in the AWS IoT SiteWise User Guide.

                                                          + *

                                                          The namespace of the gateway capability.

                                                          */ - capabilityConfiguration: string | undefined; + capabilityNamespace: string | undefined; /** *

                                                          The synchronization status of the capability configuration. The sync status can be one of the following:

                                                          @@ -2689,9 +2786,10 @@ export interface DescribeGatewayCapabilityConfigurationResponse { capabilitySyncStatus: CapabilitySyncStatus | string | undefined; /** - *

                                                          The ID of the gateway that defines the capability configuration.

                                                          + *

                                                          The JSON document that defines the gateway capability's configuration. For more + * information, see Configuring data sources (CLI) in the AWS IoT SiteWise User Guide.

                                                          */ - gatewayId: string | undefined; + capabilityConfiguration: string | undefined; } export namespace DescribeGatewayCapabilityConfigurationResponse { @@ -2780,32 +2878,31 @@ export namespace ImageLocation { export interface DescribePortalResponse { /** - *

                                                          The date the portal was created, in Unix epoch time.

                                                          + *

                                                          The portal's logo image, which is available at a URL.

                                                          */ - portalCreationDate: Date | undefined; + portalLogoImageLocation?: ImageLocation; /** - *

                                                          The date the portal was last updated, in Unix epoch time.

                                                          + *

                                                          The date the portal was created, in Unix epoch time.

                                                          */ - portalLastUpdateDate: Date | undefined; + portalCreationDate: Date | undefined; /** - *

                                                          The ARN of the portal, which has the following format.

                                                          - *

                                                          - * arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId} - *

                                                          + *

                                                          The portal's description.

                                                          */ - portalArn: string | undefined; + portalDescription?: string; /** - *

                                                          The portal's logo image, which is available at a URL.

                                                          + *

                                                          The ARN of the service role that allows the portal's users to access your AWS IoT SiteWise + * resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the + * AWS IoT SiteWise User Guide.

                                                          */ - portalLogoImageLocation?: ImageLocation; + roleArn?: string; /** - *

                                                          The AWS SSO application generated client ID (used with AWS SSO APIs).

                                                          + *

                                                          The name of the portal.

                                                          */ - portalClientId: string | undefined; + portalName: string | undefined; /** *

                                                          The AWS administrator's contact email address.

                                                          @@ -2813,26 +2910,35 @@ export interface DescribePortalResponse { portalContactEmail: string | undefined; /** - *

                                                          The ID of the portal.

                                                          + *

                                                          The service to use to authenticate users to the portal.

                                                          */ - portalId: string | undefined; + portalAuthMode?: AuthMode | string; /** - *

                                                          The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal.

                                                          + *

                                                          The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to access portals that + * use AWS SSO for authentication. For portals that use IAM for authentication, you must use the + * CreatePresignedPortalUrl operation to create a URL that you can use to access the portal.

                                                          */ portalStartUrl: string | undefined; /** - *

                                                          The ARN of the service role that allows the portal's users to access your AWS IoT SiteWise - * resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the - * AWS IoT SiteWise User Guide.

                                                          + *

                                                          The ID of the portal.

                                                          */ - roleArn?: string; + portalId: string | undefined; /** - *

                                                          The name of the portal.

                                                          + *

                                                          The ARN of the portal, which has the following format.

                                                          + *

                                                          + * arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId} + *

                                                          */ - portalName: string | undefined; + portalArn: string | undefined; + + /** + *

                                                          The AWS SSO application generated client ID (used with AWS SSO APIs). AWS IoT SiteWise includes + * portalClientId for only portals that use AWS SSO to authenticate users.

                                                          + */ + portalClientId: string | undefined; /** *

                                                          The current status of the portal, which contains a state and any error message.

                                                          @@ -2840,9 +2946,9 @@ export interface DescribePortalResponse { portalStatus: PortalStatus | undefined; /** - *

                                                          The portal's description.

                                                          + *

                                                          The date the portal was last updated, in Unix epoch time.

                                                          */ - portalDescription?: string; + portalLastUpdateDate: Date | undefined; } export namespace DescribePortalResponse { @@ -2866,9 +2972,14 @@ export namespace DescribeProjectRequest { export interface DescribeProjectResponse { /** - *

                                                          The date the project was last updated, in Unix epoch time.

                                                          + *

                                                          The project's description.

                                                          */ - projectLastUpdateDate: Date | undefined; + projectDescription?: string; + + /** + *

                                                          The ID of the project.

                                                          + */ + projectId: string | undefined; /** *

                                                          The ID of the portal that the project is in.

                                                          @@ -2876,25 +2987,15 @@ export interface DescribeProjectResponse { portalId: string | undefined; /** - *

                                                          The project's description.

                                                          + *

                                                          The date the project was last updated, in Unix epoch time.

                                                          */ - projectDescription?: string; + projectLastUpdateDate: Date | undefined; /** *

                                                          The date the project was created, in Unix epoch time.

                                                          */ projectCreationDate: Date | undefined; - /** - *

                                                          The name of the project.

                                                          - */ - projectName: string | undefined; - - /** - *

                                                          The ID of the project.

                                                          - */ - projectId: string | undefined; - /** *

                                                          The ARN of the project, which has the following format.

                                                          *

                                                          @@ -2902,6 +3003,11 @@ export interface DescribeProjectResponse { *

                                                          */ projectArn: string | undefined; + + /** + *

                                                          The name of the project.

                                                          + */ + projectName: string | undefined; } export namespace DescribeProjectResponse { @@ -2911,28 +3017,28 @@ export namespace DescribeProjectResponse { } export interface DisassociateAssetsRequest { - /** - *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          - */ - clientToken?: string; - /** *

                                                          The ID of a hierarchy in the parent asset's model. Hierarchies allow different groupings * of assets to be formed that all come from the same asset model. You can use the hierarchy ID * to identify the correct asset to disassociate. For more information, see - * Asset Hierarchies in the AWS IoT SiteWise User Guide.

                                                          + * Asset hierarchies in the AWS IoT SiteWise User Guide.

                                                          */ hierarchyId: string | undefined; + /** + *

                                                          The ID of the child asset to disassociate.

                                                          + */ + childAssetId: string | undefined; + /** *

                                                          The ID of the parent asset from which to disassociate the child asset.

                                                          */ assetId: string | undefined; /** - *

                                                          The ID of the child asset to disassociate.

                                                          + *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          */ - childAssetId: string | undefined; + clientToken?: string; } export namespace DisassociateAssetsRequest { @@ -2948,39 +3054,31 @@ export enum TimeOrdering { export interface GetAssetPropertyAggregatesRequest { /** - *

                                                          The ID of the asset property.

                                                          - */ - propertyId?: string; - - /** - *

                                                          The exclusive start of the range from which to query historical data, expressed in seconds in Unix epoch time.

                                                          - */ - startDate: Date | undefined; - - /** - *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          The chronological sorting order of the requested information.

                                                          + *

                                                          Default: ASCENDING + *

                                                          */ - maxResults?: number; + timeOrdering?: TimeOrdering | string; /** - *

                                                          The inclusive end of the range from which to query historical data, expressed in seconds in Unix epoch time.

                                                          + *

                                                          The ID of the asset property.

                                                          */ - endDate: Date | undefined; + propertyId?: string; /** - *

                                                          The data aggregating function.

                                                          + *

                                                          The token to be used for the next set of paginated results.

                                                          */ - aggregateTypes: (AggregateType | string)[] | undefined; + nextToken?: string; /** - *

                                                          The ID of the asset.

                                                          + *

                                                          The exclusive start of the range from which to query historical data, expressed in seconds in Unix epoch time.

                                                          */ - assetId?: string; + startDate: Date | undefined; /** *

                                                          The property alias that identifies the property, such as an OPC-UA server data stream path * (for example, /company/windfarm/3/turbine/7/temperature). For more information, see - * Mapping Industrial Data Streams to Asset Properties in the + * Mapping industrial data streams to asset properties in the * AWS IoT SiteWise User Guide.

                                                          */ propertyAlias?: string; @@ -2991,19 +3089,30 @@ export interface GetAssetPropertyAggregatesRequest { resolution: string | undefined; /** - *

                                                          The token to be used for the next set of paginated results.

                                                          + *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 100

                                                          */ - nextToken?: string; + maxResults?: number; /** - *

                                                          The chronological sorting order of the requested information.

                                                          + *

                                                          The ID of the asset.

                                                          */ - timeOrdering?: TimeOrdering | string; + assetId?: string; + + /** + *

                                                          The data aggregating function.

                                                          + */ + aggregateTypes: (AggregateType | string)[] | undefined; /** *

                                                          The quality by which to filter asset data.

                                                          */ qualities?: (Quality | string)[]; + + /** + *

                                                          The inclusive end of the range from which to query historical data, expressed in seconds in Unix epoch time.

                                                          + */ + endDate: Date | undefined; } export namespace GetAssetPropertyAggregatesRequest { @@ -3031,6 +3140,11 @@ export namespace GetAssetPropertyAggregatesResponse { } export interface GetAssetPropertyValueRequest { + /** + *

                                                          The ID of the asset property.

                                                          + */ + propertyId?: string; + /** *

                                                          The ID of the asset.

                                                          */ @@ -3039,15 +3153,10 @@ export interface GetAssetPropertyValueRequest { /** *

                                                          The property alias that identifies the property, such as an OPC-UA server data stream path * (for example, /company/windfarm/3/turbine/7/temperature). For more information, see - * Mapping Industrial Data Streams to Asset Properties in the + * Mapping industrial data streams to asset properties in the * AWS IoT SiteWise User Guide.

                                                          */ propertyAlias?: string; - - /** - *

                                                          The ID of the asset property.

                                                          - */ - propertyId?: string; } export namespace GetAssetPropertyValueRequest { @@ -3071,27 +3180,25 @@ export namespace GetAssetPropertyValueResponse { export interface GetAssetPropertyValueHistoryRequest { /** - *

                                                          The quality by which to filter asset data.

                                                          + *

                                                          The ID of the asset.

                                                          */ - qualities?: (Quality | string)[]; + assetId?: string; /** - *

                                                          The chronological sorting order of the requested information.

                                                          + *

                                                          The inclusive end of the range from which to query historical data, expressed in seconds in Unix epoch time.

                                                          */ - timeOrdering?: TimeOrdering | string; + endDate?: Date; /** - *

                                                          The property alias that identifies the property, such as an OPC-UA server data stream path - * (for example, /company/windfarm/3/turbine/7/temperature). For more information, see - * Mapping Industrial Data Streams to Asset Properties in the - * AWS IoT SiteWise User Guide.

                                                          + *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 100

                                                          */ - propertyAlias?: string; + maxResults?: number; /** - *

                                                          The ID of the asset property.

                                                          + *

                                                          The quality by which to filter asset data.

                                                          */ - propertyId?: string; + qualities?: (Quality | string)[]; /** *

                                                          The exclusive start of the range from which to query historical data, expressed in seconds in Unix epoch time.

                                                          @@ -3099,19 +3206,24 @@ export interface GetAssetPropertyValueHistoryRequest { startDate?: Date; /** - *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          The property alias that identifies the property, such as an OPC-UA server data stream path + * (for example, /company/windfarm/3/turbine/7/temperature). For more information, see + * Mapping industrial data streams to asset properties in the + * AWS IoT SiteWise User Guide.

                                                          */ - maxResults?: number; + propertyAlias?: string; /** - *

                                                          The ID of the asset.

                                                          + *

                                                          The ID of the asset property.

                                                          */ - assetId?: string; + propertyId?: string; /** - *

                                                          The inclusive end of the range from which to query historical data, expressed in seconds in Unix epoch time.

                                                          + *

                                                          The chronological sorting order of the requested information.

                                                          + *

                                                          Default: ASCENDING + *

                                                          */ - endDate?: Date; + timeOrdering?: TimeOrdering | string; /** *

                                                          The token to be used for the next set of paginated results.

                                                          @@ -3127,14 +3239,14 @@ export namespace GetAssetPropertyValueHistoryRequest { export interface GetAssetPropertyValueHistoryResponse { /** - *

                                                          The asset property's value history.

                                                          + *

                                                          The token for the next set of results, or null if there are no additional results.

                                                          */ - assetPropertyValueHistory: AssetPropertyValue[] | undefined; + nextToken?: string; /** - *

                                                          The token for the next set of results, or null if there are no additional results.

                                                          + *

                                                          The asset property's value history.

                                                          */ - nextToken?: string; + assetPropertyValueHistory: AssetPropertyValue[] | undefined; } export namespace GetAssetPropertyValueHistoryResponse { @@ -3145,6 +3257,7 @@ export namespace GetAssetPropertyValueHistoryResponse { export enum IdentityType { GROUP = "GROUP", + IAM = "IAM", USER = "USER", } @@ -3155,27 +3268,33 @@ export enum ResourceType { export interface ListAccessPoliciesRequest { /** - *

                                                          The ID of the identity. This parameter is required if you specify - * identityType.

                                                          + *

                                                          The ID of the identity. This parameter is required if you specify USER or + * GROUP for identityType.

                                                          */ identityId?: string; /** - *

                                                          The type of identity (user or group). This parameter is required if you specify - * identityId.

                                                          + *

                                                          The ID of the resource. This parameter is required if you specify + * resourceType.

                                                          + */ + resourceId?: string; + + /** + *

                                                          The type of identity (AWS SSO user, AWS SSO group, or IAM user). This parameter is required + * if you specify identityId.

                                                          */ identityType?: IdentityType | string; /** - *

                                                          The token to be used for the next set of paginated results.

                                                          + *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 50

                                                          */ - nextToken?: string; + maxResults?: number; /** - *

                                                          The ID of the resource. This parameter is required if you specify - * resourceType.

                                                          + *

                                                          The token to be used for the next set of paginated results.

                                                          */ - resourceId?: string; + nextToken?: string; /** *

                                                          The type of resource (portal or project). This parameter is required if you specify @@ -3184,9 +3303,11 @@ export interface ListAccessPoliciesRequest { resourceType?: ResourceType | string; /** - *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          The ARN of the IAM user. For more information, see IAM ARNs in the + * IAM User Guide. This parameter is required if you specify + * IAM for identityType.

                                                          */ - maxResults?: number; + iamArn?: string; } export namespace ListAccessPoliciesRequest { @@ -3215,14 +3336,15 @@ export namespace ListAccessPoliciesResponse { export interface ListAssetModelsRequest { /** - *

                                                          The token to be used for the next set of paginated results.

                                                          + *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 50

                                                          */ - nextToken?: string; + maxResults?: number; /** - *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          The token to be used for the next set of paginated results.

                                                          */ - maxResults?: number; + nextToken?: string; } export namespace ListAssetModelsRequest { @@ -3256,14 +3378,13 @@ export enum ListAssetsFilter { export interface ListAssetsRequest { /** - *

                                                          The ID of the asset model by which to filter the list of assets. This parameter is - * required if you choose ALL for filter.

                                                          + *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 50

                                                          */ - assetModelId?: string; + maxResults?: number; /** - *

                                                          The filter for the requested list of assets. Choose one of the following options. Defaults - * to ALL.

                                                          + *

                                                          The filter for the requested list of assets. Choose one of the following options:

                                                          *
                                                            *
                                                          • *

                                                            @@ -3277,6 +3398,8 @@ export interface ListAssetsRequest { * hierarchy tree.

                                                            *
                                                          • *
                                                          + *

                                                          Default: ALL + *

                                                          */ filter?: ListAssetsFilter | string; @@ -3286,9 +3409,10 @@ export interface ListAssetsRequest { nextToken?: string; /** - *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          The ID of the asset model by which to filter the list of assets. This parameter is + * required if you choose ALL for filter.

                                                          */ - maxResults?: number; + assetModelId?: string; } export namespace ListAssetsRequest { @@ -3315,30 +3439,55 @@ export namespace ListAssetsResponse { }); } +export enum TraversalDirection { + CHILD = "CHILD", + PARENT = "PARENT", +} + export interface ListAssociatedAssetsRequest { /** - *

                                                          The ID of the parent asset.

                                                          + *

                                                          The ID of the asset to query.

                                                          */ assetId: string | undefined; /** - *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          The ID of the hierarchy by which child assets are associated to the asset. To find a + * hierarchy ID, use the DescribeAsset or DescribeAssetModel operations. This + * parameter is required if you choose CHILD for + * traversalDirection.

                                                          + *

                                                          For more information, see Asset hierarchies in the AWS IoT SiteWise User Guide.

                                                          */ - maxResults?: number; + hierarchyId?: string; /** - *

                                                          The hierarchy ID (of the parent asset model) whose associated assets are returned. To find - * a hierarchy ID, use the DescribeAsset - * or DescribeAssetModel - * actions.

                                                          - *

                                                          For more information, see Asset Hierarchies in the AWS IoT SiteWise User Guide.

                                                          + *

                                                          The direction to list associated assets. Choose one of the following options:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * CHILD – The list includes all child assets associated to the + * asset. The hierarchyId parameter is required if you choose + * CHILD.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * PARENT – The list includes the asset's parent asset.

                                                            + *
                                                          • + *
                                                          + *

                                                          Default: CHILD + *

                                                          */ - hierarchyId: string | undefined; + traversalDirection?: TraversalDirection | string; /** *

                                                          The token to be used for the next set of paginated results.

                                                          */ nextToken?: string; + + /** + *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 50

                                                          + */ + maxResults?: number; } export namespace ListAssociatedAssetsRequest { @@ -3349,14 +3498,14 @@ export namespace ListAssociatedAssetsRequest { export interface ListAssociatedAssetsResponse { /** - *

                                                          The token for the next set of results, or null if there are no additional results.

                                                          + *

                                                          A list that summarizes the associated assets.

                                                          */ - nextToken?: string; + assetSummaries: AssociatedAssetsSummary[] | undefined; /** - *

                                                          A list that summarizes the associated assets.

                                                          + *

                                                          The token for the next set of results, or null if there are no additional results.

                                                          */ - assetSummaries: AssociatedAssetsSummary[] | undefined; + nextToken?: string; } export namespace ListAssociatedAssetsResponse { @@ -3366,6 +3515,11 @@ export namespace ListAssociatedAssetsResponse { } export interface ListDashboardsRequest { + /** + *

                                                          The token to be used for the next set of paginated results.

                                                          + */ + nextToken?: string; + /** *

                                                          The ID of the project.

                                                          */ @@ -3373,13 +3527,9 @@ export interface ListDashboardsRequest { /** *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 50

                                                          */ maxResults?: number; - - /** - *

                                                          The token to be used for the next set of paginated results.

                                                          - */ - nextToken?: string; } export namespace ListDashboardsRequest { @@ -3397,11 +3547,6 @@ export interface DashboardSummary { */ id: string | undefined; - /** - *

                                                          The date the dashboard was created, in Unix epoch time.

                                                          - */ - creationDate?: Date; - /** *

                                                          The date the dashboard was last updated, in Unix epoch time.

                                                          */ @@ -3416,6 +3561,11 @@ export interface DashboardSummary { *

                                                          The name of the dashboard

                                                          */ name: string | undefined; + + /** + *

                                                          The date the dashboard was created, in Unix epoch time.

                                                          + */ + creationDate?: Date; } export namespace DashboardSummary { @@ -3444,14 +3594,15 @@ export namespace ListDashboardsResponse { export interface ListGatewaysRequest { /** - *

                                                          The token to be used for the next set of paginated results.

                                                          + *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 50

                                                          */ - nextToken?: string; + maxResults?: number; /** - *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          The token to be used for the next set of paginated results.

                                                          */ - maxResults?: number; + nextToken?: string; } export namespace ListGatewaysRequest { @@ -3464,6 +3615,13 @@ export namespace ListGatewaysRequest { *

                                                          Contains a summary of a gateway.

                                                          */ export interface GatewaySummary { + /** + *

                                                          A list of gateway capability summaries that each contain a namespace and status. Each + * gateway capability defines data sources for the gateway. To retrieve a capability + * configuration's definition, use DescribeGatewayCapabilityConfiguration.

                                                          + */ + gatewayCapabilitySummaries?: GatewayCapabilitySummary[]; + /** *

                                                          The date the gateway was last updated, in Unix epoch time.

                                                          */ @@ -3479,13 +3637,6 @@ export interface GatewaySummary { */ creationDate: Date | undefined; - /** - *

                                                          A list of gateway capability summaries that each contain a namespace and status. Each - * gateway capability defines data sources for the gateway. To retrieve a capability - * configuration's definition, use DescribeGatewayCapabilityConfiguration.

                                                          - */ - gatewayCapabilitySummaries?: GatewayCapabilitySummary[]; - /** *

                                                          The ID of the gateway device.

                                                          */ @@ -3500,14 +3651,14 @@ export namespace GatewaySummary { export interface ListGatewaysResponse { /** - *

                                                          A list that summarizes each gateway.

                                                          + *

                                                          The token for the next set of results, or null if there are no additional results.

                                                          */ - gatewaySummaries: GatewaySummary[] | undefined; + nextToken?: string; /** - *

                                                          The token for the next set of results, or null if there are no additional results.

                                                          + *

                                                          A list that summarizes each gateway.

                                                          */ - nextToken?: string; + gatewaySummaries: GatewaySummary[] | undefined; } export namespace ListGatewaysResponse { @@ -3518,14 +3669,15 @@ export namespace ListGatewaysResponse { export interface ListPortalsRequest { /** - *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          The token to be used for the next set of paginated results.

                                                          */ - maxResults?: number; + nextToken?: string; /** - *

                                                          The token to be used for the next set of paginated results.

                                                          + *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 50

                                                          */ - nextToken?: string; + maxResults?: number; } export namespace ListPortalsRequest { @@ -3538,42 +3690,49 @@ export namespace ListPortalsRequest { *

                                                          Contains a portal summary.

                                                          */ export interface PortalSummary { + /** + *

                                                          The name of the portal.

                                                          + */ + name: string | undefined; + /** *

                                                          The portal's description.

                                                          */ description?: string; /** - *

                                                          The date the portal was last updated, in Unix epoch time.

                                                          + *

                                                          The ID of the portal.

                                                          */ - lastUpdateDate?: Date; + id: string | undefined; /** - *

                                                          The ARN of the service role that allows the portal's users to access your AWS IoT SiteWise - * resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the - * AWS IoT SiteWise User Guide.

                                                          + *

                                                          The date the portal was created, in Unix epoch time.

                                                          */ - roleArn?: string; + creationDate?: Date; /** - *

                                                          The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal.

                                                          + *

                                                          Contains information about the current status of a portal.

                                                          */ - startUrl: string | undefined; + status: PortalStatus | undefined; /** - *

                                                          The name of the portal.

                                                          + *

                                                          The date the portal was last updated, in Unix epoch time.

                                                          */ - name: string | undefined; + lastUpdateDate?: Date; /** - *

                                                          The ID of the portal.

                                                          + *

                                                          The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to access portals that + * use AWS SSO for authentication. For portals that use IAM for authentication, you must use the + * CreatePresignedPortalUrl operation to create a URL that you can use to access the portal.

                                                          */ - id: string | undefined; + startUrl: string | undefined; /** - *

                                                          The date the portal was created, in Unix epoch time.

                                                          + *

                                                          The ARN of the service role that allows the portal's users to access your AWS IoT SiteWise + * resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the + * AWS IoT SiteWise User Guide.

                                                          */ - creationDate?: Date; + roleArn?: string; } export namespace PortalSummary { @@ -3601,8 +3760,14 @@ export namespace ListPortalsResponse { } export interface ListProjectAssetsRequest { + /** + *

                                                          The token to be used for the next set of paginated results.

                                                          + */ + nextToken?: string; + /** *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 50

                                                          */ maxResults?: number; @@ -3610,11 +3775,6 @@ export interface ListProjectAssetsRequest { *

                                                          The ID of the project.

                                                          */ projectId: string | undefined; - - /** - *

                                                          The token to be used for the next set of paginated results.

                                                          - */ - nextToken?: string; } export namespace ListProjectAssetsRequest { @@ -3625,14 +3785,14 @@ export namespace ListProjectAssetsRequest { export interface ListProjectAssetsResponse { /** - *

                                                          The token for the next set of results, or null if there are no additional results.

                                                          + *

                                                          A list that contains the IDs of each asset associated with the project.

                                                          */ - nextToken?: string; + assetIds: string[] | undefined; /** - *

                                                          A list that contains the IDs of each asset associated with the project.

                                                          + *

                                                          The token for the next set of results, or null if there are no additional results.

                                                          */ - assetIds: string[] | undefined; + nextToken?: string; } export namespace ListProjectAssetsResponse { @@ -3643,9 +3803,10 @@ export namespace ListProjectAssetsResponse { export interface ListProjectsRequest { /** - *

                                                          The ID of the portal.

                                                          + *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          Default: 50

                                                          */ - portalId: string | undefined; + maxResults?: number; /** *

                                                          The token to be used for the next set of paginated results.

                                                          @@ -3653,9 +3814,9 @@ export interface ListProjectsRequest { nextToken?: string; /** - *

                                                          The maximum number of results to be returned per paginated request.

                                                          + *

                                                          The ID of the portal.

                                                          */ - maxResults?: number; + portalId: string | undefined; } export namespace ListProjectsRequest { @@ -3669,19 +3830,19 @@ export namespace ListProjectsRequest { */ export interface ProjectSummary { /** - *

                                                          The project's description.

                                                          + *

                                                          The name of the project.

                                                          */ - description?: string; + name: string | undefined; /** - *

                                                          The date the project was last updated, in Unix epoch time.

                                                          + *

                                                          The ID of the project.

                                                          */ - lastUpdateDate?: Date; + id: string | undefined; /** - *

                                                          The ID of the project.

                                                          + *

                                                          The date the project was last updated, in Unix epoch time.

                                                          */ - id: string | undefined; + lastUpdateDate?: Date; /** *

                                                          The date the project was created, in Unix epoch time.

                                                          @@ -3689,9 +3850,9 @@ export interface ProjectSummary { creationDate?: Date; /** - *

                                                          The name of the project.

                                                          + *

                                                          The project's description.

                                                          */ - name: string | undefined; + description?: string; } export namespace ProjectSummary { @@ -3734,8 +3895,8 @@ export namespace ListTagsForResourceRequest { export interface ListTagsForResourceResponse { /** *

                                                          The list of key-value pairs that contain metadata for the resource. For more information, - * see Tagging your AWS IoT SiteWise resources in the - * AWS IoT SiteWise User Guide.

                                                          + * see Tagging your AWS IoT SiteWise + * resources in the AWS IoT SiteWise User Guide.

                                                          */ tags?: { [key: string]: string }; } @@ -3769,16 +3930,16 @@ export namespace PutLoggingOptionsResponse { export interface TagResourceRequest { /** - *

                                                          The ARN of the resource to tag.

                                                          + *

                                                          A list of key-value pairs that contain metadata for the resource. For more information, + * see Tagging your AWS IoT SiteWise + * resources in the AWS IoT SiteWise User Guide.

                                                          */ - resourceArn: string | undefined; + tags: { [key: string]: string } | undefined; /** - *

                                                          A list of key-value pairs that contain metadata for the resource. For more information, - * see Tagging your AWS IoT SiteWise resources in the - * AWS IoT SiteWise User Guide.

                                                          + *

                                                          The ARN of the resource to tag.

                                                          */ - tags: { [key: string]: string } | undefined; + resourceArn: string | undefined; } export namespace TagResourceRequest { @@ -3797,8 +3958,8 @@ export namespace TagResourceResponse { /** *

                                                          You've reached the limit for the number of tags allowed for a resource. For more - * information, see Tag naming limits - * and requirements in the AWS General Reference.

                                                          + * information, see Tag naming limits and + * requirements in the AWS General Reference.

                                                          */ export interface TooManyTagsException extends __SmithyException, $MetadataBearer { name: "TooManyTagsException"; @@ -3818,14 +3979,14 @@ export namespace TooManyTagsException { export interface UntagResourceRequest { /** - *

                                                          A list of keys for tags to remove from the resource.

                                                          + *

                                                          The ARN of the resource to untag.

                                                          */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; /** - *

                                                          The ARN of the resource to untag.

                                                          + *

                                                          A list of keys for tags to remove from the resource.

                                                          */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -3843,6 +4004,11 @@ export namespace UntagResourceResponse { } export interface UpdateAccessPolicyRequest { + /** + *

                                                          The AWS IoT SiteWise Monitor resource for this access policy. Choose either a portal or a project.

                                                          + */ + accessPolicyResource: Resource | undefined; + /** *

                                                          The permission level for this access policy. Note that a project ADMINISTRATOR is also known as a project owner.

                                                          */ @@ -3859,12 +4025,7 @@ export interface UpdateAccessPolicyRequest { accessPolicyId: string | undefined; /** - *

                                                          The AWS IoT SiteWise Monitor resource for this access policy. Choose either portal or project but not both.

                                                          - */ - accessPolicyResource: Resource | undefined; - - /** - *

                                                          The identity for this access policy. Choose either a user or a group but not both.

                                                          + *

                                                          The identity for this access policy. Choose an AWS SSO user, an AWS SSO group, or an IAM user.

                                                          */ accessPolicyIdentity: Identity | undefined; } @@ -3885,14 +4046,14 @@ export namespace UpdateAccessPolicyResponse { export interface UpdateAssetRequest { /** - *

                                                          A unique, friendly name for the asset.

                                                          + *

                                                          The ID of the asset to update.

                                                          */ - assetName: string | undefined; + assetId: string | undefined; /** - *

                                                          The ID of the asset to update.

                                                          + *

                                                          A unique, friendly name for the asset.

                                                          */ - assetId: string | undefined; + assetName: string | undefined; /** *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          @@ -3922,14 +4083,17 @@ export namespace UpdateAssetResponse { export interface UpdateAssetModelRequest { /** - *

                                                          The ID of the asset model to update.

                                                          + *

                                                          The updated property definitions of the asset model. For more information, see + * Asset properties in the AWS IoT SiteWise User Guide.

                                                          + *

                                                          You can specify up to 200 properties per asset model. For more + * information, see Quotas in the AWS IoT SiteWise User Guide.

                                                          */ - assetModelId: string | undefined; + assetModelProperties?: AssetModelProperty[]; /** - *

                                                          A unique, friendly name for the asset model.

                                                          + *

                                                          A description for the asset model.

                                                          */ - assetModelName: string | undefined; + assetModelDescription?: string; /** *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          @@ -3937,26 +4101,23 @@ export interface UpdateAssetModelRequest { clientToken?: string; /** - *

                                                          A description for the asset model.

                                                          + *

                                                          The updated hierarchy definitions of the asset model. Each hierarchy specifies an asset + * model whose assets can be children of any other assets created from this asset model. For more + * information, see Asset hierarchies in the AWS IoT SiteWise User Guide.

                                                          + *

                                                          You can specify up to 10 hierarchies per asset model. For more + * information, see Quotas in the AWS IoT SiteWise User Guide.

                                                          */ - assetModelDescription?: string; + assetModelHierarchies?: AssetModelHierarchy[]; /** - *

                                                          The updated property definitions of the asset model. For more information, see - * Asset Properties in the AWS IoT SiteWise User Guide.

                                                          - *

                                                          You can specify up to 200 properties per asset model. For more - * information, see Quotas in the AWS IoT SiteWise User Guide.

                                                          + *

                                                          The ID of the asset model to update.

                                                          */ - assetModelProperties?: AssetModelProperty[]; + assetModelId: string | undefined; /** - *

                                                          The updated hierarchy definitions of the asset model. Each hierarchy specifies an asset - * model whose assets can be children of any other assets created from this asset model. For more - * information, see Asset Hierarchies in the AWS IoT SiteWise User Guide.

                                                          - *

                                                          You can specify up to 10 hierarchies per asset model. For more - * information, see Quotas in the AWS IoT SiteWise User Guide.

                                                          + *

                                                          A unique, friendly name for the asset model.

                                                          */ - assetModelHierarchies?: AssetModelHierarchy[]; + assetModelName: string | undefined; } export namespace UpdateAssetModelRequest { @@ -3980,15 +4141,10 @@ export namespace UpdateAssetModelResponse { } export interface UpdateAssetPropertyRequest { - /** - *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          - */ - clientToken?: string; - /** *

                                                          The property alias that identifies the property, such as an OPC-UA server data stream path * (for example, /company/windfarm/3/turbine/7/temperature). For more information, see - * Mapping Industrial Data Streams to Asset Properties in the + * Mapping industrial data streams to asset properties in the * AWS IoT SiteWise User Guide.

                                                          *

                                                          If you omit this parameter, the alias is removed from the property.

                                                          */ @@ -4004,10 +4160,15 @@ export interface UpdateAssetPropertyRequest { */ assetId: string | undefined; + /** + *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          + */ + clientToken?: string; + /** *

                                                          The MQTT notification state (enabled or disabled) for this asset property. * When the notification state is enabled, AWS IoT SiteWise publishes property value - * updates to a unique MQTT topic. For more information, see Interacting with Other Services in the AWS IoT SiteWise User Guide.

                                                          + * updates to a unique MQTT topic. For more information, see Interacting with other services in the AWS IoT SiteWise User Guide.

                                                          *

                                                          If you omit this parameter, the notification state is set to DISABLED.

                                                          */ propertyNotificationState?: PropertyNotificationState | string; @@ -4021,14 +4182,15 @@ export namespace UpdateAssetPropertyRequest { export interface UpdateDashboardRequest { /** - *

                                                          A new friendly name for the dashboard.

                                                          + *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          */ - dashboardName: string | undefined; + clientToken?: string; /** - *

                                                          The ID of the dashboard to update.

                                                          + *

                                                          The new dashboard definition, as specified in a JSON literal. For detailed information, + * see Creating dashboards (CLI) in the AWS IoT SiteWise User Guide.

                                                          */ - dashboardId: string | undefined; + dashboardDefinition: string | undefined; /** *

                                                          A new description for the dashboard.

                                                          @@ -4036,15 +4198,14 @@ export interface UpdateDashboardRequest { dashboardDescription?: string; /** - *

                                                          The new dashboard definition, as specified in a JSON literal. For detailed information, - * see Creating Dashboards (CLI) in the AWS IoT SiteWise User Guide.

                                                          + *

                                                          The ID of the dashboard to update.

                                                          */ - dashboardDefinition: string | undefined; + dashboardId: string | undefined; /** - *

                                                          A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                          + *

                                                          A new friendly name for the dashboard.

                                                          */ - clientToken?: string; + dashboardName: string | undefined; } export namespace UpdateDashboardRequest { @@ -4108,6 +4269,11 @@ export namespace UpdateGatewayCapabilityConfigurationRequest { } export interface UpdateGatewayCapabilityConfigurationResponse { + /** + *

                                                          The namespace of the gateway capability.

                                                          + */ + capabilityNamespace: string | undefined; + /** *

                                                          The synchronization status of the capability configuration. The sync status can be one of the following:

                                                          *
                                                            @@ -4129,11 +4295,6 @@ export interface UpdateGatewayCapabilityConfigurationResponse { * configuration.

                                                            */ capabilitySyncStatus: CapabilitySyncStatus | string | undefined; - - /** - *

                                                            The namespace of the gateway capability.

                                                            - */ - capabilityNamespace: string | undefined; } export namespace UpdateGatewayCapabilityConfigurationResponse { @@ -4173,14 +4334,26 @@ export namespace Image { export interface UpdatePortalRequest { /** - *

                                                            A new friendly name for the portal.

                                                            + *

                                                            A new description for the portal.

                                                            */ - portalName: string | undefined; + portalDescription?: string; /** - *

                                                            A new description for the portal.

                                                            + *

                                                            The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise + * resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the + * AWS IoT SiteWise User Guide.

                                                            */ - portalDescription?: string; + roleArn: string | undefined; + + /** + *

                                                            The ID of the portal to update.

                                                            + */ + portalId: string | undefined; + + /** + *

                                                            A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                            + */ + clientToken?: string; /** *

                                                            Contains an image that is one of the following:

                                                            @@ -4195,27 +4368,15 @@ export interface UpdatePortalRequest { */ portalLogoImage?: Image; - /** - *

                                                            A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

                                                            - */ - clientToken?: string; - - /** - *

                                                            The ID of the portal to update.

                                                            - */ - portalId: string | undefined; - /** *

                                                            The AWS administrator's contact email address.

                                                            */ portalContactEmail: string | undefined; /** - *

                                                            The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise - * resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the - * AWS IoT SiteWise User Guide.

                                                            + *

                                                            A new friendly name for the portal.

                                                            */ - roleArn: string | undefined; + portalName: string | undefined; } export namespace UpdatePortalRequest { @@ -4240,14 +4401,14 @@ export namespace UpdatePortalResponse { export interface UpdateProjectRequest { /** - *

                                                            A new description for the project.

                                                            + *

                                                            A new friendly name for the project.

                                                            */ - projectDescription?: string; + projectName: string | undefined; /** - *

                                                            A new friendly name for the project.

                                                            + *

                                                            A new description for the project.

                                                            */ - projectName: string | undefined; + projectDescription?: string; /** *

                                                            The ID of the project to update.

                                                            diff --git a/clients/client-iotsitewise/protocols/Aws_restJson1.ts b/clients/client-iotsitewise/protocols/Aws_restJson1.ts index 6688865578b6..2c96295612b2 100644 --- a/clients/client-iotsitewise/protocols/Aws_restJson1.ts +++ b/clients/client-iotsitewise/protocols/Aws_restJson1.ts @@ -17,6 +17,10 @@ import { CreateAssetModelCommandInput, CreateAssetModelCommandOutput } from "../ import { CreateDashboardCommandInput, CreateDashboardCommandOutput } from "../commands/CreateDashboardCommand"; import { CreateGatewayCommandInput, CreateGatewayCommandOutput } from "../commands/CreateGatewayCommand"; import { CreatePortalCommandInput, CreatePortalCommandOutput } from "../commands/CreatePortalCommand"; +import { + CreatePresignedPortalUrlCommandInput, + CreatePresignedPortalUrlCommandOutput, +} from "../commands/CreatePresignedPortalUrlCommand"; import { CreateProjectCommandInput, CreateProjectCommandOutput } from "../commands/CreateProjectCommand"; import { DeleteAccessPolicyCommandInput, DeleteAccessPolicyCommandOutput } from "../commands/DeleteAccessPolicyCommand"; import { DeleteAssetCommandInput, DeleteAssetCommandOutput } from "../commands/DeleteAssetCommand"; @@ -123,6 +127,7 @@ import { GatewaySummary, Greengrass, GroupIdentity, + IAMUserIdentity, Identity, Image, ImageFile, @@ -526,6 +531,7 @@ export const serializeAws_restJson1CreatePortalCommand = async ( let body: any; body = JSON.stringify({ clientToken: input.clientToken ?? generateIdempotencyToken(), + ...(input.portalAuthMode !== undefined && { portalAuthMode: input.portalAuthMode }), ...(input.portalContactEmail !== undefined && { portalContactEmail: input.portalContactEmail }), ...(input.portalDescription !== undefined && { portalDescription: input.portalDescription }), ...(input.portalLogoImageFile !== undefined && { @@ -554,6 +560,49 @@ export const serializeAws_restJson1CreatePortalCommand = async ( }); }; +export const serializeAws_restJson1CreatePresignedPortalUrlCommand = async ( + input: CreatePresignedPortalUrlCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/portals/{portalId}/presigned-url"; + if (input.portalId !== undefined) { + const labelValue: string = input.portalId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: portalId."); + } + resolvedPath = resolvedPath.replace("{portalId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: portalId."); + } + const query: any = { + ...(input.sessionDurationSeconds !== undefined && { + sessionDurationSeconds: input.sessionDurationSeconds.toString(), + }), + }; + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "monitor." + 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: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restJson1CreateProjectCommand = async ( input: CreateProjectCommandInput, context: __SerdeContext @@ -1303,17 +1352,17 @@ export const serializeAws_restJson1GetAssetPropertyAggregatesCommand = async ( }; let resolvedPath = "/properties/aggregates"; const query: any = { + ...(input.timeOrdering !== undefined && { timeOrdering: input.timeOrdering }), ...(input.propertyId !== undefined && { propertyId: input.propertyId }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.startDate !== undefined && { startDate: (input.startDate.toISOString().split(".")[0] + "Z").toString() }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.endDate !== undefined && { endDate: (input.endDate.toISOString().split(".")[0] + "Z").toString() }), - ...(input.aggregateTypes !== undefined && { aggregateTypes: (input.aggregateTypes || []).map((_entry) => _entry) }), - ...(input.assetId !== undefined && { assetId: input.assetId }), ...(input.propertyAlias !== undefined && { propertyAlias: input.propertyAlias }), ...(input.resolution !== undefined && { resolution: input.resolution }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.timeOrdering !== undefined && { timeOrdering: input.timeOrdering }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.assetId !== undefined && { assetId: input.assetId }), + ...(input.aggregateTypes !== undefined && { aggregateTypes: (input.aggregateTypes || []).map((_entry) => _entry) }), ...(input.qualities !== undefined && { qualities: (input.qualities || []).map((_entry) => _entry) }), + ...(input.endDate !== undefined && { endDate: (input.endDate.toISOString().split(".")[0] + "Z").toString() }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1345,9 +1394,9 @@ export const serializeAws_restJson1GetAssetPropertyValueCommand = async ( }; let resolvedPath = "/properties/latest"; const query: any = { + ...(input.propertyId !== undefined && { propertyId: input.propertyId }), ...(input.assetId !== undefined && { assetId: input.assetId }), ...(input.propertyAlias !== undefined && { propertyAlias: input.propertyAlias }), - ...(input.propertyId !== undefined && { propertyId: input.propertyId }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1379,14 +1428,14 @@ export const serializeAws_restJson1GetAssetPropertyValueHistoryCommand = async ( }; let resolvedPath = "/properties/history"; const query: any = { + ...(input.assetId !== undefined && { assetId: input.assetId }), + ...(input.endDate !== undefined && { endDate: (input.endDate.toISOString().split(".")[0] + "Z").toString() }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.qualities !== undefined && { qualities: (input.qualities || []).map((_entry) => _entry) }), - ...(input.timeOrdering !== undefined && { timeOrdering: input.timeOrdering }), + ...(input.startDate !== undefined && { startDate: (input.startDate.toISOString().split(".")[0] + "Z").toString() }), ...(input.propertyAlias !== undefined && { propertyAlias: input.propertyAlias }), ...(input.propertyId !== undefined && { propertyId: input.propertyId }), - ...(input.startDate !== undefined && { startDate: (input.startDate.toISOString().split(".")[0] + "Z").toString() }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.assetId !== undefined && { assetId: input.assetId }), - ...(input.endDate !== undefined && { endDate: (input.endDate.toISOString().split(".")[0] + "Z").toString() }), + ...(input.timeOrdering !== undefined && { timeOrdering: input.timeOrdering }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; @@ -1420,11 +1469,12 @@ export const serializeAws_restJson1ListAccessPoliciesCommand = async ( let resolvedPath = "/access-policies"; const query: any = { ...(input.identityId !== undefined && { identityId: input.identityId }), + ...(input.resourceId !== undefined && { resourceId: input.resourceId }), ...(input.identityType !== undefined && { identityType: input.identityType }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.resourceId !== undefined && { resourceId: input.resourceId }), ...(input.resourceType !== undefined && { resourceType: input.resourceType }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.iamArn !== undefined && { iamArn: input.iamArn }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1456,8 +1506,8 @@ export const serializeAws_restJson1ListAssetModelsCommand = async ( }; let resolvedPath = "/asset-models"; const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1489,10 +1539,10 @@ export const serializeAws_restJson1ListAssetsCommand = async ( }; let resolvedPath = "/assets"; const query: any = { - ...(input.assetModelId !== undefined && { assetModelId: input.assetModelId }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.filter !== undefined && { filter: input.filter }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.assetModelId !== undefined && { assetModelId: input.assetModelId }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1533,9 +1583,10 @@ export const serializeAws_restJson1ListAssociatedAssetsCommand = async ( throw new Error("No value provided for input HTTP label: assetId."); } const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.hierarchyId !== undefined && { hierarchyId: input.hierarchyId }), + ...(input.traversalDirection !== undefined && { traversalDirection: input.traversalDirection }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1567,9 +1618,9 @@ export const serializeAws_restJson1ListDashboardsCommand = async ( }; let resolvedPath = "/dashboards"; const query: any = { + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.projectId !== undefined && { projectId: input.projectId }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1601,8 +1652,8 @@ export const serializeAws_restJson1ListGatewaysCommand = async ( }; let resolvedPath = "/20200301/gateways"; const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1634,8 +1685,8 @@ export const serializeAws_restJson1ListPortalsCommand = async ( }; let resolvedPath = "/portals"; 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; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1676,8 +1727,8 @@ export const serializeAws_restJson1ListProjectAssetsCommand = async ( throw new Error("No value provided for input HTTP label: projectId."); } 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; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1709,9 +1760,9 @@ export const serializeAws_restJson1ListProjectsCommand = async ( }; let resolvedPath = "/projects"; const query: any = { - ...(input.portalId !== undefined && { portalId: input.portalId }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.portalId !== undefined && { portalId: input.portalId }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1829,8 +1880,8 @@ export const serializeAws_restJson1UntagResourceCommand = async ( }; let resolvedPath = "/tags"; const query: any = { - ...(input.tagKeys !== undefined && { tagKeys: (input.tagKeys || []).map((_entry) => _entry) }), ...(input.resourceArn !== undefined && { resourceArn: input.resourceArn }), + ...(input.tagKeys !== undefined && { tagKeys: (input.tagKeys || []).map((_entry) => _entry) }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3206,6 +3257,77 @@ const deserializeAws_restJson1CreatePortalCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1CreatePresignedPortalUrlCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreatePresignedPortalUrlCommandError(output, context); + } + const contents: CreatePresignedPortalUrlCommandOutput = { + $metadata: deserializeMetadata(output), + presignedPortalUrl: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.presignedPortalUrl !== undefined && data.presignedPortalUrl !== null) { + contents.presignedPortalUrl = data.presignedPortalUrl; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreatePresignedPortalUrlCommandError = 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 "InternalFailureException": + case "com.amazonaws.iotsitewise#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.iotsitewise#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.iotsitewise#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_restJson1CreateProjectCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4667,6 +4789,7 @@ export const deserializeAws_restJson1DescribePortalCommand = async ( const contents: DescribePortalCommandOutput = { $metadata: deserializeMetadata(output), portalArn: undefined, + portalAuthMode: undefined, portalClientId: undefined, portalContactEmail: undefined, portalCreationDate: undefined, @@ -4683,6 +4806,9 @@ export const deserializeAws_restJson1DescribePortalCommand = async ( if (data.portalArn !== undefined && data.portalArn !== null) { contents.portalArn = data.portalArn; } + if (data.portalAuthMode !== undefined && data.portalAuthMode !== null) { + contents.portalAuthMode = data.portalAuthMode; + } if (data.portalClientId !== undefined && data.portalClientId !== null) { contents.portalClientId = data.portalClientId; } @@ -7306,9 +7432,16 @@ const serializeAws_restJson1GroupIdentity = (input: GroupIdentity, context: __Se }; }; +const serializeAws_restJson1IAMUserIdentity = (input: IAMUserIdentity, context: __SerdeContext): any => { + return { + ...(input.arn !== undefined && { arn: input.arn }), + }; +}; + const serializeAws_restJson1Identity = (input: Identity, context: __SerdeContext): any => { return { ...(input.group !== undefined && { group: serializeAws_restJson1GroupIdentity(input.group, context) }), + ...(input.iamUser !== undefined && { iamUser: serializeAws_restJson1IAMUserIdentity(input.iamUser, context) }), ...(input.user !== undefined && { user: serializeAws_restJson1UserIdentity(input.user, context) }), }; }; @@ -7894,12 +8027,22 @@ const deserializeAws_restJson1GroupIdentity = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_restJson1IAMUserIdentity = (output: any, context: __SerdeContext): IAMUserIdentity => { + return { + arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + } as any; +}; + const deserializeAws_restJson1Identity = (output: any, context: __SerdeContext): Identity => { return { group: output.group !== undefined && output.group !== null ? deserializeAws_restJson1GroupIdentity(output.group, context) : undefined, + iamUser: + output.iamUser !== undefined && output.iamUser !== null + ? deserializeAws_restJson1IAMUserIdentity(output.iamUser, context) + : undefined, user: output.user !== undefined && output.user !== null ? deserializeAws_restJson1UserIdentity(output.user, context) @@ -7989,6 +8132,10 @@ const deserializeAws_restJson1PortalSummary = (output: any, context: __SerdeCont name: output.name !== undefined && output.name !== null ? output.name : undefined, roleArn: output.roleArn !== undefined && output.roleArn !== null ? output.roleArn : undefined, startUrl: output.startUrl !== undefined && output.startUrl !== null ? output.startUrl : undefined, + status: + output.status !== undefined && output.status !== null + ? deserializeAws_restJson1PortalStatus(output.status, context) + : undefined, } as any; }; diff --git a/clients/client-iotthingsgraph/models/models_0.ts b/clients/client-iotthingsgraph/models/models_0.ts index e5bb9239d762..9b9a15d1b005 100644 --- a/clients/client-iotthingsgraph/models/models_0.ts +++ b/clients/client-iotthingsgraph/models/models_0.ts @@ -105,14 +105,14 @@ export enum DefinitionLanguage { */ export interface DefinitionDocument { /** - *

                                                            The language used to define the entity. GRAPHQL is the only valid value.

                                                            + *

                                                            The GraphQL text that defines the entity.

                                                            */ - language: DefinitionLanguage | string | undefined; + text: string | undefined; /** - *

                                                            The GraphQL text that defines the entity.

                                                            + *

                                                            The language used to define the entity. GRAPHQL is the only valid value.

                                                            */ - text: string | undefined; + language: DefinitionLanguage | string | undefined; } export namespace DefinitionDocument { @@ -144,11 +144,6 @@ export namespace CreateFlowTemplateRequest { *

                                                            An object that contains summary information about a workflow.

                                                            */ export interface FlowTemplateSummary { - /** - *

                                                            The date when the workflow was created.

                                                            - */ - createdAt?: Date; - /** *

                                                            The revision number of the workflow.

                                                            */ @@ -163,6 +158,11 @@ export interface FlowTemplateSummary { *

                                                            The ARN of the workflow.

                                                            */ arn?: string; + + /** + *

                                                            The date when the workflow was created.

                                                            + */ + createdAt?: Date; } export namespace FlowTemplateSummary { @@ -219,14 +219,14 @@ export namespace ResourceAlreadyExistsException { */ export interface MetricsConfiguration { /** - *

                                                            The ARN of the role that is used to collect cloud metrics.

                                                            + *

                                                            A Boolean that specifies whether cloud metrics are collected.

                                                            */ - metricRuleRoleArn?: string; + cloudMetricEnabled?: boolean; /** - *

                                                            A Boolean that specifies whether cloud metrics are collected.

                                                            + *

                                                            The ARN of the role that is used to collect cloud metrics.

                                                            */ - cloudMetricEnabled?: boolean; + metricRuleRoleArn?: string; } export namespace MetricsConfiguration { @@ -240,14 +240,14 @@ export namespace MetricsConfiguration { */ export interface Tag { /** - *

                                                            The optional value of the tag. The string value can be from 1 to 256 Unicode characters in length.

                                                            + *

                                                            The required name of the tag. The string value can be from 1 to 128 Unicode characters in length.

                                                            */ - value: string | undefined; + key: string | undefined; /** - *

                                                            The required name of the tag. The string value can be from 1 to 128 Unicode characters in length.

                                                            + *

                                                            The optional value of the tag. The string value can be from 1 to 256 Unicode characters in length.

                                                            */ - key: string | undefined; + value: string | undefined; } export namespace Tag { @@ -262,17 +262,6 @@ export enum DeploymentTarget { } export interface CreateSystemInstanceRequest { - /** - *

                                                            The name of the Amazon Simple Storage Service bucket that will be used to store and deploy the system instance's resource file. This value is required if - * the value of the target parameter is GREENGRASS.

                                                            - */ - s3BucketName?: string; - - /** - *

                                                            An object that specifies whether cloud metrics are collected in a deployment and, if so, what role is used to collect metrics.

                                                            - */ - metricsConfiguration?: MetricsConfiguration; - /** *

                                                            The name of the Greengrass group where the system instance will be deployed. This value is required if * the value of the target parameter is GREENGRASS.

                                                            @@ -300,6 +289,17 @@ export interface CreateSystemInstanceRequest { * value is required if the value of the target parameter is CLOUD.

                                                            */ flowActionsRoleArn?: string; + + /** + *

                                                            An object that specifies whether cloud metrics are collected in a deployment and, if so, what role is used to collect metrics.

                                                            + */ + metricsConfiguration?: MetricsConfiguration; + + /** + *

                                                            The name of the Amazon Simple Storage Service bucket that will be used to store and deploy the system instance's resource file. This value is required if + * the value of the target parameter is GREENGRASS.

                                                            + */ + s3BucketName?: string; } export namespace CreateSystemInstanceRequest { @@ -324,31 +324,29 @@ export enum SystemInstanceDeploymentStatus { */ export interface SystemInstanceSummary { /** - *

                                                            The ID of the Greengrass group where the system instance is deployed.

                                                            + *

                                                            The target of the system instance.

                                                            */ - greengrassGroupId?: string; + target?: DeploymentTarget | string; /** - *

                                                            The date when the system instance was created.

                                                            + *

                                                            The version of the Greengrass group where the system instance is deployed.

                                                            */ - createdAt?: Date; + greengrassGroupVersionId?: string; /** - *

                                                            The version of the Greengrass group where the system instance is deployed.

                                                            + *

                                                            The date when the system instance was created.

                                                            */ - greengrassGroupVersionId?: string; + createdAt?: Date; /** - *

                                                            The ARN of the system instance.

                                                            + *

                                                            The ID of the system instance.

                                                            */ - arn?: string; + id?: string; /** - *

                                                            - * - * The date and time when the system instance was last updated.

                                                            + *

                                                            The ID of the Greengrass group where the system instance is deployed.

                                                            */ - updatedAt?: Date; + greengrassGroupId?: string; /** *

                                                            The status of the system instance.

                                                            @@ -356,14 +354,16 @@ export interface SystemInstanceSummary { status?: SystemInstanceDeploymentStatus | string; /** - *

                                                            The ID of the system instance.

                                                            + *

                                                            + * + * The date and time when the system instance was last updated.

                                                            */ - id?: string; + updatedAt?: Date; /** - *

                                                            The target of the system instance.

                                                            + *

                                                            The ARN of the system instance.

                                                            */ - target?: DeploymentTarget | string; + arn?: string; /** *

                                                            The ID of the Greengrass group where the system instance is deployed.

                                                            @@ -391,16 +391,16 @@ export namespace CreateSystemInstanceResponse { } export interface CreateSystemTemplateRequest { - /** - *

                                                            The DefinitionDocument used to create the system.

                                                            - */ - definition: DefinitionDocument | undefined; - /** *

                                                            The namespace version in which the system is to be created.

                                                            *

                                                            If no value is specified, the latest version is used by default.

                                                            */ compatibleNamespaceVersion?: number; + + /** + *

                                                            The DefinitionDocument used to create the system.

                                                            + */ + definition: DefinitionDocument | undefined; } export namespace CreateSystemTemplateRequest { @@ -413,11 +413,6 @@ export namespace CreateSystemTemplateRequest { *

                                                            An object that contains information about a system.

                                                            */ export interface SystemTemplateSummary { - /** - *

                                                            The revision number of the system.

                                                            - */ - revisionNumber?: number; - /** *

                                                            The ID of the system.

                                                            */ @@ -432,6 +427,11 @@ export interface SystemTemplateSummary { *

                                                            The date when the system was created.

                                                            */ createdAt?: Date; + + /** + *

                                                            The revision number of the system.

                                                            + */ + revisionNumber?: number; } export namespace SystemTemplateSummary { @@ -690,25 +690,25 @@ export interface DescribeNamespaceResponse { */ trackingNamespaceVersion?: number; - /** - *

                                                            The name of the public namespace that the latest namespace version is tracking.

                                                            - */ - trackingNamespaceName?: string; - /** *

                                                            The version of the user's namespace to describe.

                                                            */ namespaceVersion?: number; /** - *

                                                            The name of the namespace.

                                                            + *

                                                            The name of the public namespace that the latest namespace version is tracking.

                                                            */ - namespaceName?: string; + trackingNamespaceName?: string; /** *

                                                            The ARN of the namespace.

                                                            */ namespaceArn?: string; + + /** + *

                                                            The name of the namespace.

                                                            + */ + namespaceName?: string; } export namespace DescribeNamespaceResponse { @@ -760,16 +760,6 @@ export namespace DissociateEntityFromThingResponse { *

                                                            Describes the properties of an entity.

                                                            */ export interface EntityDescription { - /** - *

                                                            The entity ID.

                                                            - */ - id?: string; - - /** - *

                                                            The entity ARN.

                                                            - */ - arn?: string; - /** *

                                                            The time at which the entity was created.

                                                            */ @@ -784,6 +774,16 @@ export interface EntityDescription { *

                                                            The definition document of the entity.

                                                            */ definition?: DefinitionDocument; + + /** + *

                                                            The entity ID.

                                                            + */ + id?: string; + + /** + *

                                                            The entity ARN.

                                                            + */ + arn?: string; } export namespace EntityDescription { @@ -805,16 +805,16 @@ export enum EntityFilterName { * the value of REFERENCED_ENTITY_ID.

                                                            */ export interface EntityFilter { - /** - *

                                                            An array of string values for the search filter field. Multiple values function as AND criteria in the search.

                                                            - */ - value?: string[]; - /** *

                                                            The name of the entity search filter field. REFERENCED_ENTITY_ID filters on entities that are used by the entity in the result set. For example, * you can filter on the ID of a property that is used in a state.

                                                            */ name?: EntityFilterName | string; + + /** + *

                                                            An array of string values for the search filter field. Multiple values function as AND criteria in the search.

                                                            + */ + value?: string[]; } export namespace EntityFilter { @@ -847,11 +847,6 @@ export enum FlowExecutionEventType { *

                                                            An object that contains information about a flow event.

                                                            */ export interface FlowExecutionMessage { - /** - *

                                                            The type of flow event .

                                                            - */ - eventType?: FlowExecutionEventType | string; - /** *

                                                            The unique identifier of the message.

                                                            */ @@ -862,6 +857,11 @@ export interface FlowExecutionMessage { */ payload?: string; + /** + *

                                                            The type of flow event .

                                                            + */ + eventType?: FlowExecutionEventType | string; + /** *

                                                            The date and time when the message was last updated.

                                                            */ @@ -886,20 +886,15 @@ export enum FlowExecutionStatus { */ export interface FlowExecutionSummary { /** - *

                                                            The ID of the flow.

                                                            + *

                                                            The date and time when the flow execution summary was created.

                                                            */ - flowTemplateId?: string; + createdAt?: Date; /** *

                                                            The date and time when the flow execution summary was last updated.

                                                            */ updatedAt?: Date; - /** - *

                                                            The date and time when the flow execution summary was created.

                                                            - */ - createdAt?: Date; - /** *

                                                            The ID of the flow execution.

                                                            */ @@ -914,6 +909,11 @@ export interface FlowExecutionSummary { *

                                                            The current status of the flow execution.

                                                            */ status?: FlowExecutionStatus | string; + + /** + *

                                                            The ID of the flow.

                                                            + */ + flowTemplateId?: string; } export namespace FlowExecutionSummary { @@ -957,14 +957,14 @@ export enum FlowTemplateFilterName { */ export interface FlowTemplateFilter { /** - *

                                                            An array of string values for the search filter field. Multiple values function as AND criteria in the search.

                                                            + *

                                                            The name of the search filter field.

                                                            */ - value: string[] | undefined; + name: FlowTemplateFilterName | string | undefined; /** - *

                                                            The name of the search filter field.

                                                            + *

                                                            An array of string values for the search filter field. Multiple values function as AND criteria in the search.

                                                            */ - name: FlowTemplateFilterName | string | undefined; + value: string[] | undefined; } export namespace FlowTemplateFilter { @@ -974,11 +974,6 @@ export namespace FlowTemplateFilter { } export interface GetEntitiesRequest { - /** - *

                                                            The version of the user's namespace. Defaults to the latest version of the user's namespace.

                                                            - */ - namespaceVersion?: number; - /** *

                                                            An array of entity IDs.

                                                            *

                                                            The IDs should be in the following format.

                                                            @@ -987,6 +982,11 @@ export interface GetEntitiesRequest { *

                                                            */ ids: string[] | undefined; + + /** + *

                                                            The version of the user's namespace. Defaults to the latest version of the user's namespace.

                                                            + */ + namespaceVersion?: number; } export namespace GetEntitiesRequest { @@ -1072,14 +1072,14 @@ export namespace GetFlowTemplateRevisionsRequest { export interface GetFlowTemplateRevisionsResponse { /** - *

                                                            An array of objects that provide summary data about each revision.

                                                            + *

                                                            The string to specify as nextToken when you request the next page of results.

                                                            */ - summaries?: FlowTemplateSummary[]; + nextToken?: string; /** - *

                                                            The string to specify as nextToken when you request the next page of results.

                                                            + *

                                                            An array of objects that provide summary data about each revision.

                                                            */ - nextToken?: string; + summaries?: FlowTemplateSummary[]; } export namespace GetFlowTemplateRevisionsResponse { @@ -1108,24 +1108,24 @@ export enum NamespaceDeletionStatus { export interface GetNamespaceDeletionStatusResponse { /** - *

                                                            The name of the namespace that is being deleted.

                                                            + *

                                                            The status of the deletion request.

                                                            */ - namespaceName?: string; + status?: NamespaceDeletionStatus | string; /** - *

                                                            An error code returned by the namespace deletion task.

                                                            + *

                                                            The ARN of the namespace that is being deleted.

                                                            */ - errorCode?: NamespaceDeletionStatusErrorCodes | string; + namespaceArn?: string; /** - *

                                                            The status of the deletion request.

                                                            + *

                                                            An error code returned by the namespace deletion task.

                                                            */ - status?: NamespaceDeletionStatus | string; + errorCode?: NamespaceDeletionStatusErrorCodes | string; /** - *

                                                            The ARN of the namespace that is being deleted.

                                                            + *

                                                            The name of the namespace that is being deleted.

                                                            */ - namespaceArn?: string; + namespaceName?: string; /** *

                                                            An error code returned by the namespace deletion task.

                                                            @@ -1160,6 +1160,13 @@ export namespace GetSystemInstanceRequest { *

                                                            An object that contains a system instance definition and summary information.

                                                            */ export interface SystemInstanceDescription { + /** + *

                                                            The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph assumes during flow execution in a + * cloud deployment. This role must have read and write permissionss to AWS Lambda and AWS IoT and to any other + * AWS services that the flow uses.

                                                            + */ + flowActionsRoleArn?: string; + /** *

                                                            A list of objects that contain all of the IDs and revision numbers of workflows and systems that are used in a system instance.

                                                            */ @@ -1171,16 +1178,14 @@ export interface SystemInstanceDescription { s3BucketName?: string; /** - *

                                                            The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph assumes during flow execution in a - * cloud deployment. This role must have read and write permissionss to AWS Lambda and AWS IoT and to any other - * AWS services that the flow uses.

                                                            + *

                                                            An object that specifies whether cloud metrics are collected in a deployment and, if so, what role is used to collect metrics.

                                                            */ - flowActionsRoleArn?: string; + metricsConfiguration?: MetricsConfiguration; /** - *

                                                            An object that specifies whether cloud metrics are collected in a deployment and, if so, what role is used to collect metrics.

                                                            + *

                                                            A document that defines an entity.

                                                            */ - metricsConfiguration?: MetricsConfiguration; + definition?: DefinitionDocument; /** *

                                                            The version of the user's namespace against which the system instance was validated.

                                                            @@ -1191,11 +1196,6 @@ export interface SystemInstanceDescription { *

                                                            An object that contains summary information about a system instance.

                                                            */ summary?: SystemInstanceSummary; - - /** - *

                                                            A document that defines an entity.

                                                            - */ - definition?: DefinitionDocument; } export namespace SystemInstanceDescription { @@ -1218,11 +1218,6 @@ export namespace GetSystemInstanceResponse { } export interface GetSystemTemplateRequest { - /** - *

                                                            The number that specifies the revision of the system to get.

                                                            - */ - revisionNumber?: number; - /** *

                                                            The ID of the system to get. This ID must be in the user's namespace.

                                                            *

                                                            The ID should be in the following format.

                                                            @@ -1231,6 +1226,11 @@ export interface GetSystemTemplateRequest { *

                                                            */ id: string | undefined; + + /** + *

                                                            The number that specifies the revision of the system to get.

                                                            + */ + revisionNumber?: number; } export namespace GetSystemTemplateRequest { @@ -1249,14 +1249,14 @@ export interface SystemTemplateDescription { validatedNamespaceVersion?: number; /** - *

                                                            The definition document of a system.

                                                            + *

                                                            An object that contains summary information about a system.

                                                            */ - definition?: DefinitionDocument; + summary?: SystemTemplateSummary; /** - *

                                                            An object that contains summary information about a system.

                                                            + *

                                                            The definition document of a system.

                                                            */ - summary?: SystemTemplateSummary; + definition?: DefinitionDocument; } export namespace SystemTemplateDescription { @@ -1280,13 +1280,9 @@ export namespace GetSystemTemplateResponse { export interface GetSystemTemplateRevisionsRequest { /** - *

                                                            The ID of the system template.

                                                            - *

                                                            The ID should be in the following format.

                                                            - *

                                                            - * urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME - *

                                                            + *

                                                            The string that specifies the next page of results. Use this when you're paginating results.

                                                            */ - id: string | undefined; + nextToken?: string; /** *

                                                            The maximum number of results to return in the response.

                                                            @@ -1294,9 +1290,13 @@ export interface GetSystemTemplateRevisionsRequest { maxResults?: number; /** - *

                                                            The string that specifies the next page of results. Use this when you're paginating results.

                                                            + *

                                                            The ID of the system template.

                                                            + *

                                                            The ID should be in the following format.

                                                            + *

                                                            + * urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME + *

                                                            */ - nextToken?: string; + id: string | undefined; } export namespace GetSystemTemplateRevisionsRequest { @@ -1344,9 +1344,9 @@ export enum UploadStatus { export interface GetUploadStatusResponse { /** - *

                                                            The ARN of the upload.

                                                            + *

                                                            The status of the upload. The initial status is IN_PROGRESS. The response show all validation failures if the upload fails.

                                                            */ - namespaceArn?: string; + uploadStatus: UploadStatus | string | undefined; /** *

                                                            The reason for an upload failure.

                                                            @@ -1359,9 +1359,9 @@ export interface GetUploadStatusResponse { uploadId: string | undefined; /** - *

                                                            The name of the upload's namespace.

                                                            + *

                                                            The date at which the upload was created.

                                                            */ - namespaceName?: string; + createdDate: Date | undefined; /** *

                                                            The version of the user's namespace. Defaults to the latest version of the user's namespace.

                                                            @@ -1369,14 +1369,14 @@ export interface GetUploadStatusResponse { namespaceVersion?: number; /** - *

                                                            The status of the upload. The initial status is IN_PROGRESS. The response show all validation failures if the upload fails.

                                                            + *

                                                            The name of the upload's namespace.

                                                            */ - uploadStatus: UploadStatus | string | undefined; + namespaceName?: string; /** - *

                                                            The date at which the upload was created.

                                                            + *

                                                            The ARN of the upload.

                                                            */ - createdDate: Date | undefined; + namespaceArn?: string; } export namespace GetUploadStatusResponse { @@ -1392,14 +1392,14 @@ export interface ListFlowExecutionMessagesRequest { maxResults?: number; /** - *

                                                            The ID of the flow execution.

                                                            + *

                                                            The string that specifies the next page of results. Use this when you're paginating results.

                                                            */ - flowExecutionId: string | undefined; + nextToken?: string; /** - *

                                                            The string that specifies the next page of results. Use this when you're paginating results.

                                                            + *

                                                            The ID of the flow execution.

                                                            */ - nextToken?: string; + flowExecutionId: string | undefined; } export namespace ListFlowExecutionMessagesRequest { @@ -1469,13 +1469,9 @@ export namespace ListTagsForResourceResponse { export interface SearchEntitiesRequest { /** - *

                                                            Optional filter to apply to the search. Valid filters are NAME - * NAMESPACE, SEMANTIC_TYPE_PATH and REFERENCED_ENTITY_ID. - * REFERENCED_ENTITY_ID filters on entities that are used by the entity in the result set. For example, - * you can filter on the ID of a property that is used in a state.

                                                            - *

                                                            Multiple filters function as OR criteria in the query. Multiple values passed inside the filter function as AND criteria.

                                                            + *

                                                            The string that specifies the next page of results. Use this when you're paginating results.

                                                            */ - filters?: EntityFilter[]; + nextToken?: string; /** *

                                                            The entity types for which to search.

                                                            @@ -1483,9 +1479,13 @@ export interface SearchEntitiesRequest { entityTypes: (EntityType | string)[] | undefined; /** - *

                                                            The version of the user's namespace. Defaults to the latest version of the user's namespace.

                                                            + *

                                                            Optional filter to apply to the search. Valid filters are NAME + * NAMESPACE, SEMANTIC_TYPE_PATH and REFERENCED_ENTITY_ID. + * REFERENCED_ENTITY_ID filters on entities that are used by the entity in the result set. For example, + * you can filter on the ID of a property that is used in a state.

                                                            + *

                                                            Multiple filters function as OR criteria in the query. Multiple values passed inside the filter function as AND criteria.

                                                            */ - namespaceVersion?: number; + filters?: EntityFilter[]; /** *

                                                            The maximum number of results to return in the response.

                                                            @@ -1493,9 +1493,9 @@ export interface SearchEntitiesRequest { maxResults?: number; /** - *

                                                            The string that specifies the next page of results. Use this when you're paginating results.

                                                            + *

                                                            The version of the user's namespace. Defaults to the latest version of the user's namespace.

                                                            */ - nextToken?: string; + namespaceVersion?: number; } export namespace SearchEntitiesRequest { @@ -1529,9 +1529,9 @@ export interface SearchFlowExecutionsRequest { maxResults?: number; /** - *

                                                            The date and time of the earliest flow execution to return.

                                                            + *

                                                            The string that specifies the next page of results. Use this when you're paginating results.

                                                            */ - startTime?: Date; + nextToken?: string; /** *

                                                            The ID of a flow execution.

                                                            @@ -1539,9 +1539,9 @@ export interface SearchFlowExecutionsRequest { flowExecutionId?: string; /** - *

                                                            The string that specifies the next page of results. Use this when you're paginating results.

                                                            + *

                                                            The date and time of the earliest flow execution to return.

                                                            */ - nextToken?: string; + startTime?: Date; /** *

                                                            The ID of the system instance that contains the flow.

                                                            @@ -1562,14 +1562,14 @@ export namespace SearchFlowExecutionsRequest { export interface SearchFlowExecutionsResponse { /** - *

                                                            The string to specify as nextToken when you request the next page of results.

                                                            + *

                                                            An array of objects that contain summary information about each workflow execution in the result set.

                                                            */ - nextToken?: string; + summaries?: FlowExecutionSummary[]; /** - *

                                                            An array of objects that contain summary information about each workflow execution in the result set.

                                                            + *

                                                            The string to specify as nextToken when you request the next page of results.

                                                            */ - summaries?: FlowExecutionSummary[]; + nextToken?: string; } export namespace SearchFlowExecutionsResponse { @@ -1585,14 +1585,14 @@ export interface SearchFlowTemplatesRequest { nextToken?: string; /** - *

                                                            The maximum number of results to return in the response.

                                                            + *

                                                            An array of objects that limit the result set. The only valid filter is DEVICE_MODEL_ID.

                                                            */ - maxResults?: number; + filters?: FlowTemplateFilter[]; /** - *

                                                            An array of objects that limit the result set. The only valid filter is DEVICE_MODEL_ID.

                                                            + *

                                                            The maximum number of results to return in the response.

                                                            */ - filters?: FlowTemplateFilter[]; + maxResults?: number; } export namespace SearchFlowTemplatesRequest { @@ -1632,14 +1632,14 @@ export enum SystemInstanceFilterName { */ export interface SystemInstanceFilter { /** - *

                                                            An array of string values for the search filter field. Multiple values function as AND criteria in the search.

                                                            + *

                                                            The name of the search filter field.

                                                            */ - value?: string[]; + name?: SystemInstanceFilterName | string; /** - *

                                                            The name of the search filter field.

                                                            + *

                                                            An array of string values for the search filter field. Multiple values function as AND criteria in the search.

                                                            */ - name?: SystemInstanceFilterName | string; + value?: string[]; } export namespace SystemInstanceFilter { @@ -1675,14 +1675,14 @@ export namespace SearchSystemInstancesRequest { export interface SearchSystemInstancesResponse { /** - *

                                                            The string to specify as nextToken when you request the next page of results.

                                                            + *

                                                            An array of objects that contain summary data abour the system instances in the result set.

                                                            */ - nextToken?: string; + summaries?: SystemInstanceSummary[]; /** - *

                                                            An array of objects that contain summary data abour the system instances in the result set.

                                                            + *

                                                            The string to specify as nextToken when you request the next page of results.

                                                            */ - summaries?: SystemInstanceSummary[]; + nextToken?: string; } export namespace SearchSystemInstancesResponse { @@ -1723,14 +1723,14 @@ export interface SearchSystemTemplatesRequest { nextToken?: string; /** - *

                                                            An array of filters that limit the result set. The only valid filter is FLOW_TEMPLATE_ID.

                                                            + *

                                                            The maximum number of results to return in the response.

                                                            */ - filters?: SystemTemplateFilter[]; + maxResults?: number; /** - *

                                                            The maximum number of results to return in the response.

                                                            + *

                                                            An array of filters that limit the result set. The only valid filter is FLOW_TEMPLATE_ID.

                                                            */ - maxResults?: number; + filters?: SystemTemplateFilter[]; } export namespace SearchSystemTemplatesRequest { @@ -1758,6 +1758,11 @@ export namespace SearchSystemTemplatesResponse { } export interface SearchThingsRequest { + /** + *

                                                            The maximum number of results to return in the response.

                                                            + */ + maxResults?: number; + /** *

                                                            The ID of the entity to which the things are associated.

                                                            *

                                                            The IDs should be in the following format.

                                                            @@ -1767,11 +1772,6 @@ export interface SearchThingsRequest { */ entityId: string | undefined; - /** - *

                                                            The maximum number of results to return in the response.

                                                            - */ - maxResults?: number; - /** *

                                                            The string that specifies the next page of results. Use this when you're paginating results.

                                                            */ @@ -1812,14 +1812,14 @@ export namespace Thing { export interface SearchThingsResponse { /** - *

                                                            An array of things in the result set.

                                                            + *

                                                            The string to specify as nextToken when you request the next page of results.

                                                            */ - things?: Thing[]; + nextToken?: string; /** - *

                                                            The string to specify as nextToken when you request the next page of results.

                                                            + *

                                                            An array of things in the result set.

                                                            */ - nextToken?: string; + things?: Thing[]; } export namespace SearchThingsResponse { @@ -1909,9 +1909,13 @@ export namespace UntagResourceResponse { export interface UpdateFlowTemplateRequest { /** - *

                                                            The DefinitionDocument that contains the updated workflow definition.

                                                            + *

                                                            The ID of the workflow to be updated.

                                                            + *

                                                            The ID should be in the following format.

                                                            + *

                                                            + * urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME + *

                                                            */ - definition: DefinitionDocument | undefined; + id: string | undefined; /** *

                                                            The version of the user's namespace.

                                                            @@ -1921,13 +1925,9 @@ export interface UpdateFlowTemplateRequest { compatibleNamespaceVersion?: number; /** - *

                                                            The ID of the workflow to be updated.

                                                            - *

                                                            The ID should be in the following format.

                                                            - *

                                                            - * urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME - *

                                                            + *

                                                            The DefinitionDocument that contains the updated workflow definition.

                                                            */ - id: string | undefined; + definition: DefinitionDocument | undefined; } export namespace UpdateFlowTemplateRequest { @@ -1991,6 +1991,11 @@ export namespace UpdateSystemTemplateResponse { } export interface UploadEntityDefinitionsRequest { + /** + *

                                                            A Boolean that specifies whether to synchronize with the latest version of the public namespace. If set to true, the upload will create a new namespace version.

                                                            + */ + syncWithPublicNamespace?: boolean; + /** *

                                                            A Boolean that specifies whether to deprecate all entities in the latest version before uploading the new DefinitionDocument. * If set to true, the upload will create a new namespace version.

                                                            @@ -2001,11 +2006,6 @@ export interface UploadEntityDefinitionsRequest { *

                                                            The DefinitionDocument that defines the updated entities.

                                                            */ document?: DefinitionDocument; - - /** - *

                                                            A Boolean that specifies whether to synchronize with the latest version of the public namespace. If set to true, the upload will create a new namespace version.

                                                            - */ - syncWithPublicNamespace?: boolean; } export namespace UploadEntityDefinitionsRequest { diff --git a/clients/client-ivs/Ivs.ts b/clients/client-ivs/Ivs.ts index fba7498b9c9f..4eca2a37f83b 100644 --- a/clients/client-ivs/Ivs.ts +++ b/clients/client-ivs/Ivs.ts @@ -24,23 +24,43 @@ import { DeleteChannelCommandInput, DeleteChannelCommandOutput, } from "./commands/DeleteChannelCommand"; +import { + DeletePlaybackKeyPairCommand, + DeletePlaybackKeyPairCommandInput, + DeletePlaybackKeyPairCommandOutput, +} from "./commands/DeletePlaybackKeyPairCommand"; import { DeleteStreamKeyCommand, DeleteStreamKeyCommandInput, DeleteStreamKeyCommandOutput, } from "./commands/DeleteStreamKeyCommand"; import { GetChannelCommand, GetChannelCommandInput, GetChannelCommandOutput } from "./commands/GetChannelCommand"; +import { + GetPlaybackKeyPairCommand, + GetPlaybackKeyPairCommandInput, + GetPlaybackKeyPairCommandOutput, +} from "./commands/GetPlaybackKeyPairCommand"; import { GetStreamCommand, GetStreamCommandInput, GetStreamCommandOutput } from "./commands/GetStreamCommand"; import { GetStreamKeyCommand, GetStreamKeyCommandInput, GetStreamKeyCommandOutput, } from "./commands/GetStreamKeyCommand"; +import { + ImportPlaybackKeyPairCommand, + ImportPlaybackKeyPairCommandInput, + ImportPlaybackKeyPairCommandOutput, +} from "./commands/ImportPlaybackKeyPairCommand"; import { ListChannelsCommand, ListChannelsCommandInput, ListChannelsCommandOutput, } from "./commands/ListChannelsCommand"; +import { + ListPlaybackKeyPairsCommand, + ListPlaybackKeyPairsCommandInput, + ListPlaybackKeyPairsCommandOutput, +} from "./commands/ListPlaybackKeyPairsCommand"; import { ListStreamKeysCommand, ListStreamKeysCommandInput, @@ -160,17 +180,23 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *
                                                              *
                                                            • *

                                                              Channel — Stores configuration data related to your live stream. You first create a - * channel and then use the channel’s stream key to start your live stream. See the Channel endpoints for more information.

                                                              + * channel and then use the channel’s stream key to start your live stream. See the Channel endpoints for more information.

                                                              *
                                                            • *
                                                            • *

                                                              Stream key — An identifier assigned by Amazon IVS when you create a channel, which is - * then used to authorize streaming. See the StreamKey endpoints for more + * then used to authorize streaming. See the StreamKey endpoints for more * information. * Treat the stream key like a secret, since it * allows anyone to stream to the channel. * *

                                                              *
                                                            • + *
                                                            • + *

                                                              Playback key pair — Video playback may be restricted using playback-authorization tokens, + * which use public-key encryption. + * A playback key pair is the public-private pair of keys used to sign and validate the playback-authorization token. + * See the PlaybackKeyPair endpoints for more information.

                                                              + *
                                                            • *
                                                            * * @@ -191,14 +217,11 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * Access Tags).

                                                            * *

                                                            The Amazon IVS API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following - * resources support tagging: Channels and Stream Keys.

                                                            + * resources support tagging: Channels, Stream Keys, and Playback Key Pairs.

                                                            * *

                                                            - * API Endpoints + * Channel Endpoints *

                                                            - * - *

                                                            - * Channel:

                                                            *
                                                              *
                                                            • *

                                                              @@ -234,7 +257,8 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

                                                            * *

                                                            - * StreamKey:

                                                            + * StreamKey Endpoints + *

                                                            *
                                                              *
                                                            • *

                                                              @@ -265,7 +289,8 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * * *

                                                              - * Stream:

                                                              + * Stream Endpoints + *

                                                              *
                                                                *
                                                              • *

                                                                @@ -290,11 +315,41 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

                                                              • *
                                                              * - * + *

                                                              + * PlaybackKeyPair Endpoints + *

                                                              + *
                                                                + *
                                                              • + *

                                                                + * ImportPlaybackKeyPair — Imports the public portion of a new + * key pair and returns its arn and fingerprint. The + * privateKey can then be used to generate viewer authorization + * tokens, to grant viewers access to authorized channels.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * GetPlaybackKeyPair — Gets a specified playback + * authorization key pair and returns the arn and + * fingerprint. The privateKey held by the caller can + * be used to generate viewer authorization tokens, to grant viewers access to + * authorized channels.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * ListPlaybackKeyPairs — Gets summary information about + * playback key pairs.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * DeletePlaybackKeyPair — Deletes a specified authorization + * key pair. This invalidates future viewer tokens generated using the key pair’s + * privateKey.

                                                                + *
                                                              • + *
                                                              * *

                                                              - * AWS - * Tags:

                                                              + * AWS Tags Endpoints + *

                                                              *
                                                                *
                                                              • *

                                                                @@ -474,6 +529,39 @@ export class Ivs extends IvsClient { } } + /** + *

                                                                Deletes a specified authorization key pair. This invalidates future viewer tokens + * generated using the key pair’s privateKey.

                                                                + */ + public deletePlaybackKeyPair( + args: DeletePlaybackKeyPairCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deletePlaybackKeyPair( + args: DeletePlaybackKeyPairCommandInput, + cb: (err: any, data?: DeletePlaybackKeyPairCommandOutput) => void + ): void; + public deletePlaybackKeyPair( + args: DeletePlaybackKeyPairCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePlaybackKeyPairCommandOutput) => void + ): void; + public deletePlaybackKeyPair( + args: DeletePlaybackKeyPairCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeletePlaybackKeyPairCommandOutput) => void), + cb?: (err: any, data?: DeletePlaybackKeyPairCommandOutput) => void + ): Promise | void { + const command = new DeletePlaybackKeyPairCommand(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 stream key for the specified ARN, so it can no longer be used to * stream.

                                                                @@ -533,6 +621,40 @@ export class Ivs extends IvsClient { } } + /** + *

                                                                Gets a specified playback authorization key pair and returns the arn and + * fingerprint. The privateKey held by the caller can be used to + * generate viewer authorization tokens, to grant viewers access to authorized channels.

                                                                + */ + public getPlaybackKeyPair( + args: GetPlaybackKeyPairCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getPlaybackKeyPair( + args: GetPlaybackKeyPairCommandInput, + cb: (err: any, data?: GetPlaybackKeyPairCommandOutput) => void + ): void; + public getPlaybackKeyPair( + args: GetPlaybackKeyPairCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetPlaybackKeyPairCommandOutput) => void + ): void; + public getPlaybackKeyPair( + args: GetPlaybackKeyPairCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetPlaybackKeyPairCommandOutput) => void), + cb?: (err: any, data?: GetPlaybackKeyPairCommandOutput) => void + ): Promise | void { + const command = new GetPlaybackKeyPairCommand(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 information about the active (live) stream on a specified channel.

                                                                */ @@ -588,6 +710,40 @@ export class Ivs extends IvsClient { } } + /** + *

                                                                Imports the public portion of a new key pair and returns its arn and + * fingerprint. The privateKey can then be used to generate viewer + * authorization tokens, to grant viewers access to authorized channels.

                                                                + */ + public importPlaybackKeyPair( + args: ImportPlaybackKeyPairCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public importPlaybackKeyPair( + args: ImportPlaybackKeyPairCommandInput, + cb: (err: any, data?: ImportPlaybackKeyPairCommandOutput) => void + ): void; + public importPlaybackKeyPair( + args: ImportPlaybackKeyPairCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ImportPlaybackKeyPairCommandOutput) => void + ): void; + public importPlaybackKeyPair( + args: ImportPlaybackKeyPairCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ImportPlaybackKeyPairCommandOutput) => void), + cb?: (err: any, data?: ImportPlaybackKeyPairCommandOutput) => void + ): Promise | void { + const command = new ImportPlaybackKeyPairCommand(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 summary information about all channels in your account, in the AWS region where the * API request is processed. This list can be filtered to match a specified string.

                                                                @@ -618,6 +774,38 @@ export class Ivs extends IvsClient { } } + /** + *

                                                                Gets summary information about playback key pairs.

                                                                + */ + public listPlaybackKeyPairs( + args: ListPlaybackKeyPairsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listPlaybackKeyPairs( + args: ListPlaybackKeyPairsCommandInput, + cb: (err: any, data?: ListPlaybackKeyPairsCommandOutput) => void + ): void; + public listPlaybackKeyPairs( + args: ListPlaybackKeyPairsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPlaybackKeyPairsCommandOutput) => void + ): void; + public listPlaybackKeyPairs( + args: ListPlaybackKeyPairsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListPlaybackKeyPairsCommandOutput) => void), + cb?: (err: any, data?: ListPlaybackKeyPairsCommandOutput) => void + ): Promise | void { + const command = new ListPlaybackKeyPairsCommand(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 summary information about stream keys for the specified channel.

                                                                */ diff --git a/clients/client-ivs/IvsClient.ts b/clients/client-ivs/IvsClient.ts index 15fc39adafd7..8dadaee4722d 100644 --- a/clients/client-ivs/IvsClient.ts +++ b/clients/client-ivs/IvsClient.ts @@ -3,11 +3,24 @@ import { BatchGetStreamKeyCommandInput, BatchGetStreamKeyCommandOutput } from ". import { CreateChannelCommandInput, CreateChannelCommandOutput } from "./commands/CreateChannelCommand"; import { CreateStreamKeyCommandInput, CreateStreamKeyCommandOutput } from "./commands/CreateStreamKeyCommand"; import { DeleteChannelCommandInput, DeleteChannelCommandOutput } from "./commands/DeleteChannelCommand"; +import { + DeletePlaybackKeyPairCommandInput, + DeletePlaybackKeyPairCommandOutput, +} from "./commands/DeletePlaybackKeyPairCommand"; import { DeleteStreamKeyCommandInput, DeleteStreamKeyCommandOutput } from "./commands/DeleteStreamKeyCommand"; import { GetChannelCommandInput, GetChannelCommandOutput } from "./commands/GetChannelCommand"; +import { GetPlaybackKeyPairCommandInput, GetPlaybackKeyPairCommandOutput } from "./commands/GetPlaybackKeyPairCommand"; import { GetStreamCommandInput, GetStreamCommandOutput } from "./commands/GetStreamCommand"; import { GetStreamKeyCommandInput, GetStreamKeyCommandOutput } from "./commands/GetStreamKeyCommand"; +import { + ImportPlaybackKeyPairCommandInput, + ImportPlaybackKeyPairCommandOutput, +} from "./commands/ImportPlaybackKeyPairCommand"; import { ListChannelsCommandInput, ListChannelsCommandOutput } from "./commands/ListChannelsCommand"; +import { + ListPlaybackKeyPairsCommandInput, + ListPlaybackKeyPairsCommandOutput, +} from "./commands/ListPlaybackKeyPairsCommand"; import { ListStreamKeysCommandInput, ListStreamKeysCommandOutput } from "./commands/ListStreamKeysCommand"; import { ListStreamsCommandInput, ListStreamsCommandOutput } from "./commands/ListStreamsCommand"; import { @@ -74,11 +87,15 @@ export type ServiceInputTypes = | CreateChannelCommandInput | CreateStreamKeyCommandInput | DeleteChannelCommandInput + | DeletePlaybackKeyPairCommandInput | DeleteStreamKeyCommandInput | GetChannelCommandInput + | GetPlaybackKeyPairCommandInput | GetStreamCommandInput | GetStreamKeyCommandInput + | ImportPlaybackKeyPairCommandInput | ListChannelsCommandInput + | ListPlaybackKeyPairsCommandInput | ListStreamKeysCommandInput | ListStreamsCommandInput | ListTagsForResourceCommandInput @@ -94,11 +111,15 @@ export type ServiceOutputTypes = | CreateChannelCommandOutput | CreateStreamKeyCommandOutput | DeleteChannelCommandOutput + | DeletePlaybackKeyPairCommandOutput | DeleteStreamKeyCommandOutput | GetChannelCommandOutput + | GetPlaybackKeyPairCommandOutput | GetStreamCommandOutput | GetStreamKeyCommandOutput + | ImportPlaybackKeyPairCommandOutput | ListChannelsCommandOutput + | ListPlaybackKeyPairsCommandOutput | ListStreamKeysCommandOutput | ListStreamsCommandOutput | ListTagsForResourceCommandOutput @@ -313,17 +334,23 @@ export type IvsClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle *
                                                                  *
                                                                • *

                                                                  Channel — Stores configuration data related to your live stream. You first create a - * channel and then use the channel’s stream key to start your live stream. See the Channel endpoints for more information.

                                                                  + * channel and then use the channel’s stream key to start your live stream. See the Channel endpoints for more information.

                                                                  *
                                                                • *
                                                                • *

                                                                  Stream key — An identifier assigned by Amazon IVS when you create a channel, which is - * then used to authorize streaming. See the StreamKey endpoints for more + * then used to authorize streaming. See the StreamKey endpoints for more * information. * Treat the stream key like a secret, since it * allows anyone to stream to the channel. * *

                                                                  *
                                                                • + *
                                                                • + *

                                                                  Playback key pair — Video playback may be restricted using playback-authorization tokens, + * which use public-key encryption. + * A playback key pair is the public-private pair of keys used to sign and validate the playback-authorization token. + * See the PlaybackKeyPair endpoints for more information.

                                                                  + *
                                                                • *
                                                                * * @@ -344,14 +371,11 @@ export type IvsClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle * Access Tags).

                                                                * *

                                                                The Amazon IVS API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following - * resources support tagging: Channels and Stream Keys.

                                                                + * resources support tagging: Channels, Stream Keys, and Playback Key Pairs.

                                                                * *

                                                                - * API Endpoints + * Channel Endpoints *

                                                                - * - *

                                                                - * Channel:

                                                                *
                                                                  *
                                                                • *

                                                                  @@ -387,7 +411,8 @@ export type IvsClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle *

                                                                * *

                                                                - * StreamKey:

                                                                + * StreamKey Endpoints + *

                                                                *
                                                                  *
                                                                • *

                                                                  @@ -418,7 +443,8 @@ export type IvsClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle * * *

                                                                  - * Stream:

                                                                  + * Stream Endpoints + *

                                                                  *
                                                                    *
                                                                  • *

                                                                    @@ -443,11 +469,41 @@ export type IvsClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle *

                                                                  • *
                                                                  * - * + *

                                                                  + * PlaybackKeyPair Endpoints + *

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * ImportPlaybackKeyPair — Imports the public portion of a new + * key pair and returns its arn and fingerprint. The + * privateKey can then be used to generate viewer authorization + * tokens, to grant viewers access to authorized channels.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * GetPlaybackKeyPair — Gets a specified playback + * authorization key pair and returns the arn and + * fingerprint. The privateKey held by the caller can + * be used to generate viewer authorization tokens, to grant viewers access to + * authorized channels.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * ListPlaybackKeyPairs — Gets summary information about + * playback key pairs.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * DeletePlaybackKeyPair — Deletes a specified authorization + * key pair. This invalidates future viewer tokens generated using the key pair’s + * privateKey.

                                                                    + *
                                                                  • + *
                                                                  * *

                                                                  - * AWS - * Tags:

                                                                  + * AWS Tags Endpoints + *

                                                                  *
                                                                    *
                                                                  • *

                                                                    diff --git a/clients/client-ivs/commands/DeletePlaybackKeyPairCommand.ts b/clients/client-ivs/commands/DeletePlaybackKeyPairCommand.ts new file mode 100644 index 000000000000..4270a420e652 --- /dev/null +++ b/clients/client-ivs/commands/DeletePlaybackKeyPairCommand.ts @@ -0,0 +1,70 @@ +import { IvsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IvsClient"; +import { DeletePlaybackKeyPairRequest, DeletePlaybackKeyPairResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeletePlaybackKeyPairCommand, + serializeAws_restJson1DeletePlaybackKeyPairCommand, +} 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 DeletePlaybackKeyPairCommandInput = DeletePlaybackKeyPairRequest; +export type DeletePlaybackKeyPairCommandOutput = DeletePlaybackKeyPairResponse & __MetadataBearer; + +export class DeletePlaybackKeyPairCommand extends $Command< + DeletePlaybackKeyPairCommandInput, + DeletePlaybackKeyPairCommandOutput, + IvsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeletePlaybackKeyPairCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IvsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeletePlaybackKeyPairRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeletePlaybackKeyPairResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeletePlaybackKeyPairCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeletePlaybackKeyPairCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeletePlaybackKeyPairCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ivs/commands/GetPlaybackKeyPairCommand.ts b/clients/client-ivs/commands/GetPlaybackKeyPairCommand.ts new file mode 100644 index 000000000000..875e8d592d61 --- /dev/null +++ b/clients/client-ivs/commands/GetPlaybackKeyPairCommand.ts @@ -0,0 +1,70 @@ +import { IvsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IvsClient"; +import { GetPlaybackKeyPairRequest, GetPlaybackKeyPairResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetPlaybackKeyPairCommand, + serializeAws_restJson1GetPlaybackKeyPairCommand, +} 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 GetPlaybackKeyPairCommandInput = GetPlaybackKeyPairRequest; +export type GetPlaybackKeyPairCommandOutput = GetPlaybackKeyPairResponse & __MetadataBearer; + +export class GetPlaybackKeyPairCommand extends $Command< + GetPlaybackKeyPairCommandInput, + GetPlaybackKeyPairCommandOutput, + IvsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetPlaybackKeyPairCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IvsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetPlaybackKeyPairRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetPlaybackKeyPairResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetPlaybackKeyPairCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetPlaybackKeyPairCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1GetPlaybackKeyPairCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ivs/commands/ImportPlaybackKeyPairCommand.ts b/clients/client-ivs/commands/ImportPlaybackKeyPairCommand.ts new file mode 100644 index 000000000000..6e6daa5d69c7 --- /dev/null +++ b/clients/client-ivs/commands/ImportPlaybackKeyPairCommand.ts @@ -0,0 +1,70 @@ +import { IvsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IvsClient"; +import { ImportPlaybackKeyPairRequest, ImportPlaybackKeyPairResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ImportPlaybackKeyPairCommand, + serializeAws_restJson1ImportPlaybackKeyPairCommand, +} 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 ImportPlaybackKeyPairCommandInput = ImportPlaybackKeyPairRequest; +export type ImportPlaybackKeyPairCommandOutput = ImportPlaybackKeyPairResponse & __MetadataBearer; + +export class ImportPlaybackKeyPairCommand extends $Command< + ImportPlaybackKeyPairCommandInput, + ImportPlaybackKeyPairCommandOutput, + IvsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ImportPlaybackKeyPairCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IvsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ImportPlaybackKeyPairRequest.filterSensitiveLog, + outputFilterSensitiveLog: ImportPlaybackKeyPairResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ImportPlaybackKeyPairCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ImportPlaybackKeyPairCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ImportPlaybackKeyPairCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ivs/commands/ListPlaybackKeyPairsCommand.ts b/clients/client-ivs/commands/ListPlaybackKeyPairsCommand.ts new file mode 100644 index 000000000000..a195b15c4272 --- /dev/null +++ b/clients/client-ivs/commands/ListPlaybackKeyPairsCommand.ts @@ -0,0 +1,70 @@ +import { IvsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IvsClient"; +import { ListPlaybackKeyPairsRequest, ListPlaybackKeyPairsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListPlaybackKeyPairsCommand, + serializeAws_restJson1ListPlaybackKeyPairsCommand, +} 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 ListPlaybackKeyPairsCommandInput = ListPlaybackKeyPairsRequest; +export type ListPlaybackKeyPairsCommandOutput = ListPlaybackKeyPairsResponse & __MetadataBearer; + +export class ListPlaybackKeyPairsCommand extends $Command< + ListPlaybackKeyPairsCommandInput, + ListPlaybackKeyPairsCommandOutput, + IvsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListPlaybackKeyPairsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: IvsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListPlaybackKeyPairsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListPlaybackKeyPairsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListPlaybackKeyPairsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListPlaybackKeyPairsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListPlaybackKeyPairsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ivs/index.ts b/clients/client-ivs/index.ts index 38d12275b385..4df3be040110 100644 --- a/clients/client-ivs/index.ts +++ b/clients/client-ivs/index.ts @@ -5,12 +5,17 @@ export * from "./commands/BatchGetStreamKeyCommand"; export * from "./commands/CreateChannelCommand"; export * from "./commands/CreateStreamKeyCommand"; export * from "./commands/DeleteChannelCommand"; +export * from "./commands/DeletePlaybackKeyPairCommand"; export * from "./commands/DeleteStreamKeyCommand"; export * from "./commands/GetChannelCommand"; +export * from "./commands/GetPlaybackKeyPairCommand"; export * from "./commands/GetStreamCommand"; export * from "./commands/GetStreamKeyCommand"; +export * from "./commands/ImportPlaybackKeyPairCommand"; export * from "./commands/ListChannelsCommand"; export * from "./pagination/ListChannelsPaginator"; +export * from "./commands/ListPlaybackKeyPairsCommand"; +export * from "./pagination/ListPlaybackKeyPairsPaginator"; export * from "./commands/ListStreamKeysCommand"; export * from "./pagination/ListStreamKeysPaginator"; export * from "./commands/ListStreamsCommand"; diff --git a/clients/client-ivs/models/models_0.ts b/clients/client-ivs/models/models_0.ts index 38d2497eb095..746a39d08bff 100644 --- a/clients/client-ivs/models/models_0.ts +++ b/clients/client-ivs/models/models_0.ts @@ -43,11 +43,6 @@ export enum ChannelType { *

                                                                    Object specifying a channel.

                                                                    */ export interface Channel { - /** - *

                                                                    Channel playback URL.

                                                                    - */ - playbackUrl?: string; - /** *

                                                                    Channel type, which determines the allowable resolution and bitrate. If you * exceed the allowable resolution or bitrate, the stream probably will disconnect @@ -71,10 +66,14 @@ export interface Channel { type?: ChannelType | string; /** - *

                                                                    Channel ingest endpoint, part of the definition of an ingest server, used when you set up - * streaming software.

                                                                    + *

                                                                    Channel playback URL.

                                                                    */ - ingestEndpoint?: string; + playbackUrl?: string; + + /** + *

                                                                    Whether the channel is authorized.

                                                                    + */ + authorized?: boolean; /** *

                                                                    Channel ARN.

                                                                    @@ -82,9 +81,15 @@ export interface Channel { arn?: string; /** - *

                                                                    Array of 1-50 maps, each of the form string:string (key:value).

                                                                    + *

                                                                    Channel latency mode. Default: LOW.

                                                                    */ - tags?: { [key: string]: string }; + latencyMode?: ChannelLatencyMode | string; + + /** + *

                                                                    Channel ingest endpoint, part of the definition of an ingest server, used when you set up + * streaming software.

                                                                    + */ + ingestEndpoint?: string; /** *

                                                                    Channel name.

                                                                    @@ -92,9 +97,9 @@ export interface Channel { name?: string; /** - *

                                                                    Channel latency mode. Default: LOW.

                                                                    + *

                                                                    Array of 1-50 maps, each of the form string:string (key:value).

                                                                    */ - latencyMode?: ChannelLatencyMode | string; + tags?: { [key: string]: string }; } export namespace Channel { @@ -108,9 +113,9 @@ export namespace Channel { */ export interface BatchError { /** - *

                                                                    Error code.

                                                                    + *

                                                                    Error message, determined by the application.

                                                                    */ - code?: string; + message?: string; /** *

                                                                    Channel ARN.

                                                                    @@ -118,9 +123,9 @@ export interface BatchError { arn?: string; /** - *

                                                                    Error message, determined by the application.

                                                                    + *

                                                                    Error code.

                                                                    */ - message?: string; + code?: string; } export namespace BatchError { @@ -130,12 +135,11 @@ export namespace BatchError { } export interface BatchGetChannelResponse { + channels?: Channel[]; /** *

                                                                    Each error object is related to a specific ARN in the request.

                                                                    */ errors?: BatchError[]; - - channels?: Channel[]; } export namespace BatchGetChannelResponse { @@ -166,6 +170,11 @@ export interface StreamKey { */ channelArn?: string; + /** + *

                                                                    Array of 1-50 maps, each of the form string:string (key:value).

                                                                    + */ + tags?: { [key: string]: string }; + /** *

                                                                    Stream-key ARN.

                                                                    */ @@ -175,12 +184,6 @@ export interface StreamKey { *

                                                                    Stream-key value.

                                                                    */ value?: string; - - /** - *

                                                                    Array of 1-50 maps, each of the form string:string (key:value) - *

                                                                    - */ - tags?: { [key: string]: string }; } export namespace StreamKey { @@ -202,14 +205,14 @@ export namespace BatchGetStreamKeyResponse { export interface CreateChannelRequest { /** - *

                                                                    Channel name.

                                                                    + *

                                                                    Whether the channel is authorized. Default: false.

                                                                    */ - name?: string; + authorized?: boolean; /** - *

                                                                    See Channel$tags.

                                                                    + *

                                                                    Channel latency mode. Default: LOW.

                                                                    */ - tags?: { [key: string]: string }; + latencyMode?: ChannelLatencyMode | string; /** *

                                                                    Channel type, which determines the allowable resolution and bitrate. If you @@ -234,9 +237,14 @@ export interface CreateChannelRequest { type?: ChannelType | string; /** - *

                                                                    Channel latency mode. Default: LOW.

                                                                    + *

                                                                    See Channel$tags.

                                                                    */ - latencyMode?: ChannelLatencyMode | string; + tags?: { [key: string]: string }; + + /** + *

                                                                    Channel name.

                                                                    + */ + name?: string; } export namespace CreateChannelRequest { @@ -310,14 +318,14 @@ export namespace ValidationException { export interface CreateStreamKeyRequest { /** - *

                                                                    ARN of the channel for which to create the stream key.

                                                                    + *

                                                                    See Channel$tags.

                                                                    */ - channelArn: string | undefined; + tags?: { [key: string]: string }; /** - *

                                                                    See Channel$tags.

                                                                    + *

                                                                    ARN of the channel for which to create the stream key.

                                                                    */ - tags?: { [key: string]: string }; + channelArn: string | undefined; } export namespace CreateStreamKeyRequest { @@ -382,6 +390,27 @@ export namespace DeleteChannelRequest { }); } +export interface DeletePlaybackKeyPairRequest { + /** + *

                                                                    ARN of the key pair to be deleted.

                                                                    + */ + arn: string | undefined; +} + +export namespace DeletePlaybackKeyPairRequest { + export const filterSensitiveLog = (obj: DeletePlaybackKeyPairRequest): any => ({ + ...obj, + }); +} + +export interface DeletePlaybackKeyPairResponse {} + +export namespace DeletePlaybackKeyPairResponse { + export const filterSensitiveLog = (obj: DeletePlaybackKeyPairResponse): any => ({ + ...obj, + }); +} + export interface DeleteStreamKeyRequest { /** *

                                                                    ARN of the stream key to be deleted.

                                                                    @@ -421,6 +450,63 @@ export namespace GetChannelResponse { }); } +export interface GetPlaybackKeyPairRequest { + /** + *

                                                                    ARN of the key pair to be returned.

                                                                    + */ + arn: string | undefined; +} + +export namespace GetPlaybackKeyPairRequest { + export const filterSensitiveLog = (obj: GetPlaybackKeyPairRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                    A key pair used to sign and validate a playback authorization token.

                                                                    + */ +export interface PlaybackKeyPair { + /** + *

                                                                    Key-pair ARN.

                                                                    + */ + arn?: string; + + /** + *

                                                                    Key-pair name.

                                                                    + */ + name?: string; + + /** + *

                                                                    Array of 1-50 maps, each of the form string:string (key:value).

                                                                    + */ + tags?: { [key: string]: string }; + + /** + *

                                                                    Key-pair identifier.

                                                                    + */ + fingerprint?: string; +} + +export namespace PlaybackKeyPair { + export const filterSensitiveLog = (obj: PlaybackKeyPair): any => ({ + ...obj, + }); +} + +export interface GetPlaybackKeyPairResponse { + /** + *

                                                                    A key pair used to sign and validate a playback authorization token.

                                                                    + */ + keyPair?: PlaybackKeyPair; +} + +export namespace GetPlaybackKeyPairResponse { + export const filterSensitiveLog = (obj: GetPlaybackKeyPairResponse): any => ({ + ...obj, + }); +} + export interface ChannelNotBroadcasting extends __SmithyException, $MetadataBearer { name: "ChannelNotBroadcasting"; $fault: "client"; @@ -465,9 +551,9 @@ export enum StreamState { */ export interface _Stream { /** - *

                                                                    ISO-8601 formatted timestamp of the stream’s start.

                                                                    + *

                                                                    Channel ARN for the stream.

                                                                    */ - startTime?: Date; + channelArn?: string; /** *

                                                                    URL of the video master manifest, required by the video player to play the HLS @@ -475,6 +561,11 @@ export interface _Stream { */ playbackUrl?: string; + /** + *

                                                                    The stream’s health.

                                                                    + */ + health?: StreamHealth | string; + /** *

                                                                    The stream’s state.

                                                                    */ @@ -486,14 +577,9 @@ export interface _Stream { viewerCount?: number; /** - *

                                                                    Channel ARN for the stream.

                                                                    - */ - channelArn?: string; - - /** - *

                                                                    The stream’s health.

                                                                    + *

                                                                    ISO-8601 formatted timestamp of the stream’s start.

                                                                    */ - health?: StreamHealth | string; + startTime?: Date; } export namespace _Stream { @@ -541,7 +627,49 @@ export namespace GetStreamKeyResponse { }); } +export interface ImportPlaybackKeyPairRequest { + /** + *

                                                                    Any tags provided with the request are added to the playback key pair tags.

                                                                    + */ + tags?: { [key: string]: string }; + + /** + *

                                                                    An arbitrary string (a nickname) assigned to a playback key pair that helps the customer + * identify that resource. The value does not need to be unique.

                                                                    + */ + name?: string; + + /** + *

                                                                    The public portion of a customer-generated key pair.

                                                                    + */ + publicKeyMaterial: string | undefined; +} + +export namespace ImportPlaybackKeyPairRequest { + export const filterSensitiveLog = (obj: ImportPlaybackKeyPairRequest): any => ({ + ...obj, + }); +} + +export interface ImportPlaybackKeyPairResponse { + /** + *

                                                                    A key pair used to sign and validate a playback authorization token.

                                                                    + */ + keyPair?: PlaybackKeyPair; +} + +export namespace ImportPlaybackKeyPairResponse { + export const filterSensitiveLog = (obj: ImportPlaybackKeyPairResponse): any => ({ + ...obj, + }); +} + export interface ListChannelsRequest { + /** + *

                                                                    Filters the channel list to match the specified name.

                                                                    + */ + filterByName?: string; + /** *

                                                                    Maximum number of channels to return.

                                                                    */ @@ -552,11 +680,6 @@ export interface ListChannelsRequest { * response field.

                                                                    */ nextToken?: string; - - /** - *

                                                                    Filters the channel list to match the specified name.

                                                                    - */ - filterByName?: string; } export namespace ListChannelsRequest { @@ -570,14 +693,14 @@ export namespace ListChannelsRequest { */ export interface ChannelSummary { /** - *

                                                                    Channel ARN.

                                                                    + *

                                                                    Channel latency mode. Default: LOW.

                                                                    */ - arn?: string; + latencyMode?: ChannelLatencyMode | string; /** - *

                                                                    Channel latency mode. Default: LOW.

                                                                    + *

                                                                    Whether the channel is authorized.

                                                                    */ - latencyMode?: ChannelLatencyMode | string; + authorized?: boolean; /** *

                                                                    Array of 1-50 maps, each of the form string:string (key:value).

                                                                    @@ -588,6 +711,11 @@ export interface ChannelSummary { *

                                                                    Channel name.

                                                                    */ name?: string; + + /** + *

                                                                    Channel ARN.

                                                                    + */ + arn?: string; } export namespace ChannelSummary { @@ -615,22 +743,87 @@ export namespace ListChannelsResponse { }); } -export interface ListStreamKeysRequest { +export interface ListPlaybackKeyPairsRequest { /** - *

                                                                    Channel ARN used to filter the list.

                                                                    + *

                                                                    The first key pair to retrieve. This is used for pagination; see the + * nextToken response field.

                                                                    */ - channelArn: string | undefined; + maxResults?: number; /** - *

                                                                    Maximum number of streamKeys to return.

                                                                    + *

                                                                    Maximum number of key pairs to return.

                                                                    */ - maxResults?: number; + nextToken?: string; +} + +export namespace ListPlaybackKeyPairsRequest { + export const filterSensitiveLog = (obj: ListPlaybackKeyPairsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                    Summary information about a playback key pair.

                                                                    + */ +export interface PlaybackKeyPairSummary { + /** + *

                                                                    Key-pair name.

                                                                    + */ + name?: string; + + /** + *

                                                                    Key-pair ARN.

                                                                    + */ + arn?: string; + + /** + *

                                                                    Array of 1-50 maps, each of the form string:string (key:value) + *

                                                                    + */ + tags?: { [key: string]: string }; +} + +export namespace PlaybackKeyPairSummary { + export const filterSensitiveLog = (obj: PlaybackKeyPairSummary): any => ({ + ...obj, + }); +} + +export interface ListPlaybackKeyPairsResponse { + /** + *

                                                                    List of key pairs.

                                                                    + */ + keyPairs: PlaybackKeyPairSummary[] | undefined; + + /** + *

                                                                    If there are more key pairs than maxResults, use nextToken in + * the request to get the next set.

                                                                    + */ + nextToken?: string; +} + +export namespace ListPlaybackKeyPairsResponse { + export const filterSensitiveLog = (obj: ListPlaybackKeyPairsResponse): any => ({ + ...obj, + }); +} + +export interface ListStreamKeysRequest { + /** + *

                                                                    Channel ARN used to filter the list.

                                                                    + */ + channelArn: string | undefined; /** *

                                                                    The first stream key to retrieve. This is used for pagination; see the * nextToken response field.

                                                                    */ nextToken?: string; + + /** + *

                                                                    Maximum number of streamKeys to return.

                                                                    + */ + maxResults?: number; } export namespace ListStreamKeysRequest { @@ -649,8 +842,7 @@ export interface StreamKeySummary { channelArn?: string; /** - *

                                                                    Array of 1-50 maps, each of the form string:string (key:value) - *

                                                                    + *

                                                                    Array of 1-50 maps, each of the form string:string (key:value).

                                                                    */ tags?: { [key: string]: string }; @@ -709,29 +901,29 @@ export namespace ListStreamsRequest { */ export interface StreamSummary { /** - *

                                                                    The stream’s state.

                                                                    + *

                                                                    Channel ARN for the stream.

                                                                    */ - state?: StreamState | string; + channelArn?: string; /** - *

                                                                    The stream’s health.

                                                                    + *

                                                                    ISO-8601 formatted timestamp of the stream’s start.

                                                                    */ - health?: StreamHealth | string; + startTime?: Date; /** - *

                                                                    Channel ARN for the stream.

                                                                    + *

                                                                    Number of current viewers of the stream.

                                                                    */ - channelArn?: string; + viewerCount?: number; /** - *

                                                                    Number of current viewers of the stream.

                                                                    + *

                                                                    The stream’s health.

                                                                    */ - viewerCount?: number; + health?: StreamHealth | string; /** - *

                                                                    ISO-8601 formatted timestamp of the stream’s start.

                                                                    + *

                                                                    The stream’s state.

                                                                    */ - startTime?: Date; + state?: StreamState | string; } export namespace StreamSummary { @@ -776,10 +968,9 @@ export namespace InternalServerException { export interface ListTagsForResourceRequest { /** - *

                                                                    The first tag to retrieve. This is used for pagination; see the nextToken - * response field.

                                                                    + *

                                                                    The ARN of the resource to be retrieved.

                                                                    */ - nextToken?: string; + resourceArn: string | undefined; /** *

                                                                    Maximum number of tags to return.

                                                                    @@ -787,9 +978,10 @@ export interface ListTagsForResourceRequest { maxResults?: number; /** - *

                                                                    The ARN of the resource to be retrieved.

                                                                    + *

                                                                    The first tag to retrieve. This is used for pagination; see the nextToken + * response field.

                                                                    */ - resourceArn: string | undefined; + nextToken?: string; } export namespace ListTagsForResourceRequest { @@ -799,13 +991,12 @@ export namespace ListTagsForResourceRequest { } export interface ListTagsForResourceResponse { + tags: { [key: string]: string } | undefined; /** *

                                                                    If there are more tags than maxResults, use nextToken in the * request to get the next set.

                                                                    */ nextToken?: string; - - tags: { [key: string]: string } | undefined; } export namespace ListTagsForResourceResponse { @@ -815,16 +1006,16 @@ export namespace ListTagsForResourceResponse { } export interface PutMetadataRequest { - /** - *

                                                                    Metadata to insert into the stream. Maximum: 1 KB per request.

                                                                    - */ - metadata: string | undefined; - /** *

                                                                    ARN of the channel into which metadata is inserted. This channel must have an active * stream.

                                                                    */ channelArn: string | undefined; + + /** + *

                                                                    Metadata to insert into the stream. Maximum: 1 KB per request.

                                                                    + */ + metadata: string | undefined; } export namespace PutMetadataRequest { @@ -886,14 +1077,14 @@ export namespace StreamUnavailable { export interface TagResourceRequest { /** - *

                                                                    ARN of the resource for which tags are to be added or updated.

                                                                    + *

                                                                    Array of tags to be added or updated.

                                                                    */ - resourceArn: string | undefined; + tags: { [key: string]: string } | undefined; /** - *

                                                                    Array of tags to be added or updated.

                                                                    + *

                                                                    ARN of the resource for which tags are to be added or updated.

                                                                    */ - tags: { [key: string]: string } | undefined; + resourceArn: string | undefined; } export namespace TagResourceRequest { @@ -943,9 +1134,9 @@ export interface UpdateChannelRequest { latencyMode?: ChannelLatencyMode | string; /** - *

                                                                    ARN of the channel to be updated.

                                                                    + *

                                                                    Whether the channel is authorized. Default: false.

                                                                    */ - arn: string | undefined; + authorized?: boolean; /** *

                                                                    Channel name.

                                                                    @@ -973,6 +1164,11 @@ export interface UpdateChannelRequest { *

                                                                    Default: STANDARD.

                                                                    */ type?: ChannelType | string; + + /** + *

                                                                    ARN of the channel to be updated.

                                                                    + */ + arn: string | undefined; } export namespace UpdateChannelRequest { diff --git a/clients/client-ivs/pagination/ListPlaybackKeyPairsPaginator.ts b/clients/client-ivs/pagination/ListPlaybackKeyPairsPaginator.ts new file mode 100644 index 000000000000..41d12a4572cb --- /dev/null +++ b/clients/client-ivs/pagination/ListPlaybackKeyPairsPaginator.ts @@ -0,0 +1,51 @@ +import { Ivs } from "../Ivs"; +import { IvsClient } from "../IvsClient"; +import { + ListPlaybackKeyPairsCommand, + ListPlaybackKeyPairsCommandInput, + ListPlaybackKeyPairsCommandOutput, +} from "../commands/ListPlaybackKeyPairsCommand"; +import { IvsPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: IvsClient, + input: ListPlaybackKeyPairsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPlaybackKeyPairsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Ivs, + input: ListPlaybackKeyPairsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPlaybackKeyPairs(input, ...args); +}; +export async function* listPlaybackKeyPairsPaginate( + config: IvsPaginationConfiguration, + input: ListPlaybackKeyPairsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPlaybackKeyPairsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Ivs) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof IvsClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Ivs | IvsClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ivs/protocols/Aws_restJson1.ts b/clients/client-ivs/protocols/Aws_restJson1.ts index 10702c3b8aea..cc7e8b8e57d3 100644 --- a/clients/client-ivs/protocols/Aws_restJson1.ts +++ b/clients/client-ivs/protocols/Aws_restJson1.ts @@ -3,11 +3,24 @@ import { BatchGetStreamKeyCommandInput, BatchGetStreamKeyCommandOutput } from ". import { CreateChannelCommandInput, CreateChannelCommandOutput } from "../commands/CreateChannelCommand"; import { CreateStreamKeyCommandInput, CreateStreamKeyCommandOutput } from "../commands/CreateStreamKeyCommand"; import { DeleteChannelCommandInput, DeleteChannelCommandOutput } from "../commands/DeleteChannelCommand"; +import { + DeletePlaybackKeyPairCommandInput, + DeletePlaybackKeyPairCommandOutput, +} from "../commands/DeletePlaybackKeyPairCommand"; import { DeleteStreamKeyCommandInput, DeleteStreamKeyCommandOutput } from "../commands/DeleteStreamKeyCommand"; import { GetChannelCommandInput, GetChannelCommandOutput } from "../commands/GetChannelCommand"; +import { GetPlaybackKeyPairCommandInput, GetPlaybackKeyPairCommandOutput } from "../commands/GetPlaybackKeyPairCommand"; import { GetStreamCommandInput, GetStreamCommandOutput } from "../commands/GetStreamCommand"; import { GetStreamKeyCommandInput, GetStreamKeyCommandOutput } from "../commands/GetStreamKeyCommand"; +import { + ImportPlaybackKeyPairCommandInput, + ImportPlaybackKeyPairCommandOutput, +} from "../commands/ImportPlaybackKeyPairCommand"; import { ListChannelsCommandInput, ListChannelsCommandOutput } from "../commands/ListChannelsCommand"; +import { + ListPlaybackKeyPairsCommandInput, + ListPlaybackKeyPairsCommandOutput, +} from "../commands/ListPlaybackKeyPairsCommand"; import { ListStreamKeysCommandInput, ListStreamKeysCommandOutput } from "../commands/ListStreamKeysCommand"; import { ListStreamsCommandInput, ListStreamsCommandOutput } from "../commands/ListStreamsCommand"; import { @@ -28,6 +41,8 @@ import { ConflictException, InternalServerException, PendingVerification, + PlaybackKeyPair, + PlaybackKeyPairSummary, ResourceNotFoundException, ServiceQuotaExceededException, StreamKey, @@ -108,6 +123,7 @@ export const serializeAws_restJson1CreateChannelCommand = async ( let resolvedPath = "/CreateChannel"; let body: any; body = JSON.stringify({ + ...(input.authorized !== undefined && { authorized: input.authorized }), ...(input.latencyMode !== undefined && { latencyMode: input.latencyMode }), ...(input.name !== undefined && { name: input.name }), ...(input.tags !== undefined && { tags: serializeAws_restJson1Tags(input.tags, context) }), @@ -174,6 +190,30 @@ export const serializeAws_restJson1DeleteChannelCommand = async ( }); }; +export const serializeAws_restJson1DeletePlaybackKeyPairCommand = async ( + input: DeletePlaybackKeyPairCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/DeletePlaybackKeyPair"; + let body: any; + body = JSON.stringify({ + ...(input.arn !== undefined && { arn: input.arn }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DeleteStreamKeyCommand = async ( input: DeleteStreamKeyCommandInput, context: __SerdeContext @@ -222,6 +262,30 @@ export const serializeAws_restJson1GetChannelCommand = async ( }); }; +export const serializeAws_restJson1GetPlaybackKeyPairCommand = async ( + input: GetPlaybackKeyPairCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/GetPlaybackKeyPair"; + let body: any; + body = JSON.stringify({ + ...(input.arn !== undefined && { arn: input.arn }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1GetStreamCommand = async ( input: GetStreamCommandInput, context: __SerdeContext @@ -270,6 +334,32 @@ export const serializeAws_restJson1GetStreamKeyCommand = async ( }); }; +export const serializeAws_restJson1ImportPlaybackKeyPairCommand = async ( + input: ImportPlaybackKeyPairCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/ImportPlaybackKeyPair"; + let body: any; + body = JSON.stringify({ + ...(input.name !== undefined && { name: input.name }), + ...(input.publicKeyMaterial !== undefined && { publicKeyMaterial: input.publicKeyMaterial }), + ...(input.tags !== undefined && { tags: serializeAws_restJson1Tags(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_restJson1ListChannelsCommand = async ( input: ListChannelsCommandInput, context: __SerdeContext @@ -296,6 +386,31 @@ export const serializeAws_restJson1ListChannelsCommand = async ( }); }; +export const serializeAws_restJson1ListPlaybackKeyPairsCommand = async ( + input: ListPlaybackKeyPairsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/ListPlaybackKeyPairs"; + let body: any; + body = JSON.stringify({ + ...(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", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1ListStreamKeysCommand = async ( input: ListStreamKeysCommandInput, context: __SerdeContext @@ -508,6 +623,7 @@ export const serializeAws_restJson1UpdateChannelCommand = async ( let body: any; body = JSON.stringify({ ...(input.arn !== undefined && { arn: input.arn }), + ...(input.authorized !== undefined && { authorized: input.authorized }), ...(input.latencyMode !== undefined && { latencyMode: input.latencyMode }), ...(input.name !== undefined && { name: input.name }), ...(input.type !== undefined && { type: input.type }), @@ -879,6 +995,81 @@ const deserializeAws_restJson1DeleteChannelCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DeletePlaybackKeyPairCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeletePlaybackKeyPairCommandError(output, context); + } + const contents: DeletePlaybackKeyPairCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeletePlaybackKeyPairCommandError = 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.ivs#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "PendingVerification": + case "com.amazonaws.ivs#PendingVerification": + response = { + ...(await deserializeAws_restJson1PendingVerificationResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ivs#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ivs#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_restJson1DeleteStreamKeyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1025,6 +1216,77 @@ const deserializeAws_restJson1GetChannelCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1GetPlaybackKeyPairCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetPlaybackKeyPairCommandError(output, context); + } + const contents: GetPlaybackKeyPairCommandOutput = { + $metadata: deserializeMetadata(output), + keyPair: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.keyPair !== undefined && data.keyPair !== null) { + contents.keyPair = deserializeAws_restJson1PlaybackKeyPair(data.keyPair, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetPlaybackKeyPairCommandError = 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.ivs#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ivs#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ivs#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_restJson1GetStreamCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1175,6 +1437,93 @@ const deserializeAws_restJson1GetStreamKeyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ImportPlaybackKeyPairCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ImportPlaybackKeyPairCommandError(output, context); + } + const contents: ImportPlaybackKeyPairCommandOutput = { + $metadata: deserializeMetadata(output), + keyPair: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.keyPair !== undefined && data.keyPair !== null) { + contents.keyPair = deserializeAws_restJson1PlaybackKeyPair(data.keyPair, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ImportPlaybackKeyPairCommandError = 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.ivs#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ivs#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "PendingVerification": + case "com.amazonaws.ivs#PendingVerification": + response = { + ...(await deserializeAws_restJson1PendingVerificationResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.ivs#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ivs#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_restJson1ListChannelsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1242,6 +1591,73 @@ const deserializeAws_restJson1ListChannelsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListPlaybackKeyPairsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListPlaybackKeyPairsCommandError(output, context); + } + const contents: ListPlaybackKeyPairsCommandOutput = { + $metadata: deserializeMetadata(output), + keyPairs: undefined, + nextToken: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.keyPairs !== undefined && data.keyPairs !== null) { + contents.keyPairs = deserializeAws_restJson1PlaybackKeyPairList(data.keyPairs, context); + } + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListPlaybackKeyPairsCommandError = 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.ivs#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ivs#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_restJson1ListStreamKeysCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2041,6 +2457,7 @@ const deserializeAws_restJson1BatchErrors = (output: any, context: __SerdeContex const deserializeAws_restJson1Channel = (output: any, context: __SerdeContext): Channel => { return { arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + authorized: output.authorized !== undefined && output.authorized !== null ? output.authorized : undefined, ingestEndpoint: output.ingestEndpoint !== undefined && output.ingestEndpoint !== null ? output.ingestEndpoint : undefined, latencyMode: output.latencyMode !== undefined && output.latencyMode !== null ? output.latencyMode : undefined, @@ -2065,6 +2482,7 @@ const deserializeAws_restJson1Channels = (output: any, context: __SerdeContext): const deserializeAws_restJson1ChannelSummary = (output: any, context: __SerdeContext): ChannelSummary => { return { arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + authorized: output.authorized !== undefined && output.authorized !== null ? output.authorized : undefined, latencyMode: output.latencyMode !== undefined && output.latencyMode !== null ? output.latencyMode : undefined, name: output.name !== undefined && output.name !== null ? output.name : undefined, tags: @@ -2074,6 +2492,39 @@ const deserializeAws_restJson1ChannelSummary = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_restJson1PlaybackKeyPair = (output: any, context: __SerdeContext): PlaybackKeyPair => { + return { + arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + fingerprint: output.fingerprint !== undefined && output.fingerprint !== null ? output.fingerprint : undefined, + name: output.name !== undefined && output.name !== null ? output.name : undefined, + tags: + output.tags !== undefined && output.tags !== null + ? deserializeAws_restJson1Tags(output.tags, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1PlaybackKeyPairList = ( + output: any, + context: __SerdeContext +): PlaybackKeyPairSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1PlaybackKeyPairSummary(entry, context)); +}; + +const deserializeAws_restJson1PlaybackKeyPairSummary = ( + output: any, + context: __SerdeContext +): PlaybackKeyPairSummary => { + return { + arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + name: output.name !== undefined && output.name !== null ? output.name : undefined, + tags: + output.tags !== undefined && output.tags !== null + ? deserializeAws_restJson1Tags(output.tags, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1_Stream = (output: any, context: __SerdeContext): _Stream => { return { channelArn: output.channelArn !== undefined && output.channelArn !== null ? output.channelArn : undefined, diff --git a/clients/client-kafka/Kafka.ts b/clients/client-kafka/Kafka.ts index 91792aaa575d..6eb8a13058aa 100644 --- a/clients/client-kafka/Kafka.ts +++ b/clients/client-kafka/Kafka.ts @@ -1,4 +1,14 @@ import { KafkaClient } from "./KafkaClient"; +import { + BatchAssociateScramSecretCommand, + BatchAssociateScramSecretCommandInput, + BatchAssociateScramSecretCommandOutput, +} from "./commands/BatchAssociateScramSecretCommand"; +import { + BatchDisassociateScramSecretCommand, + BatchDisassociateScramSecretCommandInput, + BatchDisassociateScramSecretCommandOutput, +} from "./commands/BatchDisassociateScramSecretCommand"; import { CreateClusterCommand, CreateClusterCommandInput, @@ -14,6 +24,11 @@ import { DeleteClusterCommandInput, DeleteClusterCommandOutput, } from "./commands/DeleteClusterCommand"; +import { + DeleteConfigurationCommand, + DeleteConfigurationCommandInput, + DeleteConfigurationCommandOutput, +} from "./commands/DeleteConfigurationCommand"; import { DescribeClusterCommand, DescribeClusterCommandInput, @@ -70,6 +85,11 @@ import { ListKafkaVersionsCommandOutput, } from "./commands/ListKafkaVersionsCommand"; import { ListNodesCommand, ListNodesCommandInput, ListNodesCommandOutput } from "./commands/ListNodesCommand"; +import { + ListScramSecretsCommand, + ListScramSecretsCommandInput, + ListScramSecretsCommandOutput, +} from "./commands/ListScramSecretsCommand"; import { ListTagsForResourceCommand, ListTagsForResourceCommandInput, @@ -106,6 +126,11 @@ import { UpdateClusterKafkaVersionCommandInput, UpdateClusterKafkaVersionCommandOutput, } from "./commands/UpdateClusterKafkaVersionCommand"; +import { + UpdateConfigurationCommand, + UpdateConfigurationCommandInput, + UpdateConfigurationCommandOutput, +} from "./commands/UpdateConfigurationCommand"; import { UpdateMonitoringCommand, UpdateMonitoringCommandInput, @@ -117,6 +142,70 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

                                                                    The operations for managing an Amazon MSK cluster.

                                                                    */ export class Kafka extends KafkaClient { + /** + *

                                                                    Associates one or more Scram Secrets with an Amazon MSK cluster.

                                                                    + */ + public batchAssociateScramSecret( + args: BatchAssociateScramSecretCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public batchAssociateScramSecret( + args: BatchAssociateScramSecretCommandInput, + cb: (err: any, data?: BatchAssociateScramSecretCommandOutput) => void + ): void; + public batchAssociateScramSecret( + args: BatchAssociateScramSecretCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: BatchAssociateScramSecretCommandOutput) => void + ): void; + public batchAssociateScramSecret( + args: BatchAssociateScramSecretCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchAssociateScramSecretCommandOutput) => void), + cb?: (err: any, data?: BatchAssociateScramSecretCommandOutput) => void + ): Promise | void { + const command = new BatchAssociateScramSecretCommand(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 one or more Scram Secrets from an Amazon MSK cluster.

                                                                    + */ + public batchDisassociateScramSecret( + args: BatchDisassociateScramSecretCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public batchDisassociateScramSecret( + args: BatchDisassociateScramSecretCommandInput, + cb: (err: any, data?: BatchDisassociateScramSecretCommandOutput) => void + ): void; + public batchDisassociateScramSecret( + args: BatchDisassociateScramSecretCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: BatchDisassociateScramSecretCommandOutput) => void + ): void; + public batchDisassociateScramSecret( + args: BatchDisassociateScramSecretCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchDisassociateScramSecretCommandOutput) => void), + cb?: (err: any, data?: BatchDisassociateScramSecretCommandOutput) => void + ): Promise | void { + const command = new BatchDisassociateScramSecretCommand(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 MSK cluster.

                                                                    */ @@ -213,6 +302,38 @@ export class Kafka extends KafkaClient { } } + /** + *

                                                                    Deletes an MSK Configuration.

                                                                    + */ + public deleteConfiguration( + args: DeleteConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteConfiguration( + args: DeleteConfigurationCommandInput, + cb: (err: any, data?: DeleteConfigurationCommandOutput) => void + ): void; + public deleteConfiguration( + args: DeleteConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteConfigurationCommandOutput) => void + ): void; + public deleteConfiguration( + args: DeleteConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteConfigurationCommandOutput) => void), + cb?: (err: any, data?: DeleteConfigurationCommandOutput) => void + ): Promise | void { + const command = new DeleteConfigurationCommand(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 description of the MSK cluster whose Amazon Resource Name (ARN) is specified in the request.

                                                                    */ @@ -588,6 +709,38 @@ export class Kafka extends KafkaClient { } } + /** + *

                                                                    Returns a list of the Scram Secrets associated with an Amazon MSK cluster.

                                                                    + */ + public listScramSecrets( + args: ListScramSecretsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listScramSecrets( + args: ListScramSecretsCommandInput, + cb: (err: any, data?: ListScramSecretsCommandOutput) => void + ): void; + public listScramSecrets( + args: ListScramSecretsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListScramSecretsCommandOutput) => void + ): void; + public listScramSecrets( + args: ListScramSecretsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListScramSecretsCommandOutput) => void), + cb?: (err: any, data?: ListScramSecretsCommandOutput) => void + ): Promise | void { + const command = new ListScramSecretsCommand(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 tags associated with the specified resource.

                                                                    */ @@ -835,6 +988,38 @@ export class Kafka extends KafkaClient { } } + /** + *

                                                                    Updates an MSK configuration.

                                                                    + */ + public updateConfiguration( + args: UpdateConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateConfiguration( + args: UpdateConfigurationCommandInput, + cb: (err: any, data?: UpdateConfigurationCommandOutput) => void + ): void; + public updateConfiguration( + args: UpdateConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateConfigurationCommandOutput) => void + ): void; + public updateConfiguration( + args: UpdateConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateConfigurationCommandOutput) => void), + cb?: (err: any, data?: UpdateConfigurationCommandOutput) => void + ): Promise | void { + const command = new UpdateConfigurationCommand(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 monitoring settings for the cluster. You can use this operation to specify which Apache Kafka metrics you want Amazon MSK to send to Amazon CloudWatch. You can also specify settings for open monitoring with Prometheus.

                                                                    */ diff --git a/clients/client-kafka/KafkaClient.ts b/clients/client-kafka/KafkaClient.ts index 73cc90e90638..aa54fc28d928 100644 --- a/clients/client-kafka/KafkaClient.ts +++ b/clients/client-kafka/KafkaClient.ts @@ -1,9 +1,21 @@ +import { + BatchAssociateScramSecretCommandInput, + BatchAssociateScramSecretCommandOutput, +} from "./commands/BatchAssociateScramSecretCommand"; +import { + BatchDisassociateScramSecretCommandInput, + BatchDisassociateScramSecretCommandOutput, +} from "./commands/BatchDisassociateScramSecretCommand"; import { CreateClusterCommandInput, CreateClusterCommandOutput } from "./commands/CreateClusterCommand"; import { CreateConfigurationCommandInput, CreateConfigurationCommandOutput, } from "./commands/CreateConfigurationCommand"; import { DeleteClusterCommandInput, DeleteClusterCommandOutput } from "./commands/DeleteClusterCommand"; +import { + DeleteConfigurationCommandInput, + DeleteConfigurationCommandOutput, +} from "./commands/DeleteConfigurationCommand"; import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "./commands/DescribeClusterCommand"; import { DescribeClusterOperationCommandInput, @@ -37,6 +49,7 @@ import { import { ListConfigurationsCommandInput, ListConfigurationsCommandOutput } from "./commands/ListConfigurationsCommand"; import { ListKafkaVersionsCommandInput, ListKafkaVersionsCommandOutput } from "./commands/ListKafkaVersionsCommand"; import { ListNodesCommandInput, ListNodesCommandOutput } from "./commands/ListNodesCommand"; +import { ListScramSecretsCommandInput, ListScramSecretsCommandOutput } from "./commands/ListScramSecretsCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, @@ -57,6 +70,10 @@ import { UpdateClusterKafkaVersionCommandInput, UpdateClusterKafkaVersionCommandOutput, } from "./commands/UpdateClusterKafkaVersionCommand"; +import { + UpdateConfigurationCommandInput, + UpdateConfigurationCommandOutput, +} from "./commands/UpdateConfigurationCommand"; import { UpdateMonitoringCommandInput, UpdateMonitoringCommandOutput } from "./commands/UpdateMonitoringCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; import { @@ -108,9 +125,12 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | BatchAssociateScramSecretCommandInput + | BatchDisassociateScramSecretCommandInput | CreateClusterCommandInput | CreateConfigurationCommandInput | DeleteClusterCommandInput + | DeleteConfigurationCommandInput | DescribeClusterCommandInput | DescribeClusterOperationCommandInput | DescribeConfigurationCommandInput @@ -123,6 +143,7 @@ export type ServiceInputTypes = | ListConfigurationsCommandInput | ListKafkaVersionsCommandInput | ListNodesCommandInput + | ListScramSecretsCommandInput | ListTagsForResourceCommandInput | RebootBrokerCommandInput | TagResourceCommandInput @@ -131,12 +152,16 @@ export type ServiceInputTypes = | UpdateBrokerStorageCommandInput | UpdateClusterConfigurationCommandInput | UpdateClusterKafkaVersionCommandInput + | UpdateConfigurationCommandInput | UpdateMonitoringCommandInput; export type ServiceOutputTypes = + | BatchAssociateScramSecretCommandOutput + | BatchDisassociateScramSecretCommandOutput | CreateClusterCommandOutput | CreateConfigurationCommandOutput | DeleteClusterCommandOutput + | DeleteConfigurationCommandOutput | DescribeClusterCommandOutput | DescribeClusterOperationCommandOutput | DescribeConfigurationCommandOutput @@ -149,6 +174,7 @@ export type ServiceOutputTypes = | ListConfigurationsCommandOutput | ListKafkaVersionsCommandOutput | ListNodesCommandOutput + | ListScramSecretsCommandOutput | ListTagsForResourceCommandOutput | RebootBrokerCommandOutput | TagResourceCommandOutput @@ -157,6 +183,7 @@ export type ServiceOutputTypes = | UpdateBrokerStorageCommandOutput | UpdateClusterConfigurationCommandOutput | UpdateClusterKafkaVersionCommandOutput + | UpdateConfigurationCommandOutput | UpdateMonitoringCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { diff --git a/clients/client-kafka/commands/BatchAssociateScramSecretCommand.ts b/clients/client-kafka/commands/BatchAssociateScramSecretCommand.ts new file mode 100644 index 000000000000..cc7876719951 --- /dev/null +++ b/clients/client-kafka/commands/BatchAssociateScramSecretCommand.ts @@ -0,0 +1,73 @@ +import { KafkaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KafkaClient"; +import { BatchAssociateScramSecretRequest, BatchAssociateScramSecretResponse } from "../models/models_0"; +import { + deserializeAws_restJson1BatchAssociateScramSecretCommand, + serializeAws_restJson1BatchAssociateScramSecretCommand, +} 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 BatchAssociateScramSecretCommandInput = BatchAssociateScramSecretRequest; +export type BatchAssociateScramSecretCommandOutput = BatchAssociateScramSecretResponse & __MetadataBearer; + +export class BatchAssociateScramSecretCommand extends $Command< + BatchAssociateScramSecretCommandInput, + BatchAssociateScramSecretCommandOutput, + KafkaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchAssociateScramSecretCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KafkaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: BatchAssociateScramSecretRequest.filterSensitiveLog, + outputFilterSensitiveLog: BatchAssociateScramSecretResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: BatchAssociateScramSecretCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1BatchAssociateScramSecretCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1BatchAssociateScramSecretCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kafka/commands/BatchDisassociateScramSecretCommand.ts b/clients/client-kafka/commands/BatchDisassociateScramSecretCommand.ts new file mode 100644 index 000000000000..83204eb100d8 --- /dev/null +++ b/clients/client-kafka/commands/BatchDisassociateScramSecretCommand.ts @@ -0,0 +1,73 @@ +import { KafkaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KafkaClient"; +import { BatchDisassociateScramSecretRequest, BatchDisassociateScramSecretResponse } from "../models/models_0"; +import { + deserializeAws_restJson1BatchDisassociateScramSecretCommand, + serializeAws_restJson1BatchDisassociateScramSecretCommand, +} 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 BatchDisassociateScramSecretCommandInput = BatchDisassociateScramSecretRequest; +export type BatchDisassociateScramSecretCommandOutput = BatchDisassociateScramSecretResponse & __MetadataBearer; + +export class BatchDisassociateScramSecretCommand extends $Command< + BatchDisassociateScramSecretCommandInput, + BatchDisassociateScramSecretCommandOutput, + KafkaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchDisassociateScramSecretCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KafkaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: BatchDisassociateScramSecretRequest.filterSensitiveLog, + outputFilterSensitiveLog: BatchDisassociateScramSecretResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: BatchDisassociateScramSecretCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1BatchDisassociateScramSecretCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1BatchDisassociateScramSecretCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kafka/commands/DeleteConfigurationCommand.ts b/clients/client-kafka/commands/DeleteConfigurationCommand.ts new file mode 100644 index 000000000000..e516e9c97adb --- /dev/null +++ b/clients/client-kafka/commands/DeleteConfigurationCommand.ts @@ -0,0 +1,70 @@ +import { KafkaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KafkaClient"; +import { DeleteConfigurationRequest, DeleteConfigurationResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteConfigurationCommand, + serializeAws_restJson1DeleteConfigurationCommand, +} 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 DeleteConfigurationCommandInput = DeleteConfigurationRequest; +export type DeleteConfigurationCommandOutput = DeleteConfigurationResponse & __MetadataBearer; + +export class DeleteConfigurationCommand extends $Command< + DeleteConfigurationCommandInput, + DeleteConfigurationCommandOutput, + KafkaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KafkaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteConfigurationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteConfigurationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteConfigurationCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kafka/commands/ListScramSecretsCommand.ts b/clients/client-kafka/commands/ListScramSecretsCommand.ts new file mode 100644 index 000000000000..3c7a4a64350b --- /dev/null +++ b/clients/client-kafka/commands/ListScramSecretsCommand.ts @@ -0,0 +1,70 @@ +import { KafkaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KafkaClient"; +import { ListScramSecretsRequest, ListScramSecretsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListScramSecretsCommand, + serializeAws_restJson1ListScramSecretsCommand, +} 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 ListScramSecretsCommandInput = ListScramSecretsRequest; +export type ListScramSecretsCommandOutput = ListScramSecretsResponse & __MetadataBearer; + +export class ListScramSecretsCommand extends $Command< + ListScramSecretsCommandInput, + ListScramSecretsCommandOutput, + KafkaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListScramSecretsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KafkaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListScramSecretsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListScramSecretsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListScramSecretsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListScramSecretsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListScramSecretsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kafka/commands/UpdateConfigurationCommand.ts b/clients/client-kafka/commands/UpdateConfigurationCommand.ts new file mode 100644 index 000000000000..cbcc93c153bf --- /dev/null +++ b/clients/client-kafka/commands/UpdateConfigurationCommand.ts @@ -0,0 +1,70 @@ +import { KafkaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../KafkaClient"; +import { UpdateConfigurationRequest, UpdateConfigurationResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateConfigurationCommand, + serializeAws_restJson1UpdateConfigurationCommand, +} 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 UpdateConfigurationCommandInput = UpdateConfigurationRequest; +export type UpdateConfigurationCommandOutput = UpdateConfigurationResponse & __MetadataBearer; + +export class UpdateConfigurationCommand extends $Command< + UpdateConfigurationCommandInput, + UpdateConfigurationCommandOutput, + KafkaClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: KafkaClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateConfigurationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateConfigurationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateConfigurationCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-kafka/index.ts b/clients/client-kafka/index.ts index 41a837ed64c3..bc4de92e5396 100644 --- a/clients/client-kafka/index.ts +++ b/clients/client-kafka/index.ts @@ -1,8 +1,11 @@ export * from "./KafkaClient"; export * from "./Kafka"; +export * from "./commands/BatchAssociateScramSecretCommand"; +export * from "./commands/BatchDisassociateScramSecretCommand"; export * from "./commands/CreateClusterCommand"; export * from "./commands/CreateConfigurationCommand"; export * from "./commands/DeleteClusterCommand"; +export * from "./commands/DeleteConfigurationCommand"; export * from "./commands/DescribeClusterCommand"; export * from "./commands/DescribeClusterOperationCommand"; export * from "./commands/DescribeConfigurationCommand"; @@ -10,11 +13,19 @@ export * from "./commands/DescribeConfigurationRevisionCommand"; export * from "./commands/GetBootstrapBrokersCommand"; export * from "./commands/GetCompatibleKafkaVersionsCommand"; export * from "./commands/ListClusterOperationsCommand"; +export * from "./pagination/ListClusterOperationsPaginator"; export * from "./commands/ListClustersCommand"; +export * from "./pagination/ListClustersPaginator"; export * from "./commands/ListConfigurationRevisionsCommand"; +export * from "./pagination/ListConfigurationRevisionsPaginator"; export * from "./commands/ListConfigurationsCommand"; +export * from "./pagination/ListConfigurationsPaginator"; export * from "./commands/ListKafkaVersionsCommand"; +export * from "./pagination/ListKafkaVersionsPaginator"; export * from "./commands/ListNodesCommand"; +export * from "./pagination/ListNodesPaginator"; +export * from "./commands/ListScramSecretsCommand"; +export * from "./pagination/ListScramSecretsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/RebootBrokerCommand"; export * from "./commands/TagResourceCommand"; @@ -23,5 +34,7 @@ export * from "./commands/UpdateBrokerCountCommand"; export * from "./commands/UpdateBrokerStorageCommand"; export * from "./commands/UpdateClusterConfigurationCommand"; export * from "./commands/UpdateClusterKafkaVersionCommand"; +export * from "./commands/UpdateConfigurationCommand"; export * from "./commands/UpdateMonitoringCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-kafka/models/models_0.ts b/clients/client-kafka/models/models_0.ts index 18618b2c5b04..3ec7940bd5a9 100644 --- a/clients/client-kafka/models/models_0.ts +++ b/clients/client-kafka/models/models_0.ts @@ -6,14 +6,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface BrokerEBSVolumeInfo { /** - *

                                                                    The ID of the broker to update.

                                                                    + *

                                                                    Size of the EBS volume to update.

                                                                    */ - KafkaBrokerNodeId: string | undefined; + VolumeSizeGB: number | undefined; /** - *

                                                                    Size of the EBS volume to update.

                                                                    + *

                                                                    The ID of the broker to update.

                                                                    */ - VolumeSizeGB: number | undefined; + KafkaBrokerNodeId: string | undefined; } export namespace BrokerEBSVolumeInfo { @@ -63,15 +63,9 @@ export namespace StorageInfo { */ export interface BrokerNodeGroupInfo { /** - *

                                                                    The list of subnets to connect to in the client virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data. Client subnets can't be in Availability Zone us-east-1e.

                                                                    - */ - ClientSubnets: string[] | undefined; - - /** - *

                                                                    The type of Amazon EC2 instances to use for Kafka brokers. The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, - * kafka.m5.4xlarge, kafka.m5.12xlarge, and kafka.m5.24xlarge.

                                                                    + *

                                                                    The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC.

                                                                    */ - InstanceType: string | undefined; + SecurityGroups?: string[]; /** *

                                                                    Contains information about storage volumes attached to MSK broker nodes.

                                                                    @@ -85,9 +79,15 @@ export interface BrokerNodeGroupInfo { BrokerAZDistribution?: BrokerAZDistribution | string; /** - *

                                                                    The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC.

                                                                    + *

                                                                    The list of subnets to connect to in the client virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data. Client subnets can't be in Availability Zone us-east-1e.

                                                                    */ - SecurityGroups?: string[]; + ClientSubnets: string[] | undefined; + + /** + *

                                                                    The type of Amazon EC2 instances to use for Kafka brokers. The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, + * kafka.m5.4xlarge, kafka.m5.12xlarge, and kafka.m5.24xlarge.

                                                                    + */ + InstanceType: string | undefined; } export namespace BrokerNodeGroupInfo { @@ -96,6 +96,38 @@ export namespace BrokerNodeGroupInfo { }); } +/** + *

                                                                    Details for SASL/SCRAM client authentication.

                                                                    + */ +export interface Scram { + /** + *

                                                                    SASL/SCRAM authentication is enabled or not.

                                                                    + */ + Enabled?: boolean; +} + +export namespace Scram { + export const filterSensitiveLog = (obj: Scram): any => ({ + ...obj, + }); +} + +/** + *

                                                                    Details for client authentication using SASL.

                                                                    + */ +export interface Sasl { + /** + *

                                                                    Details for SASL/SCRAM client authentication.

                                                                    + */ + Scram?: Scram; +} + +export namespace Sasl { + export const filterSensitiveLog = (obj: Sasl): any => ({ + ...obj, + }); +} + /** *

                                                                    Details for client authentication using TLS.

                                                                    */ @@ -120,6 +152,11 @@ export interface ClientAuthentication { *

                                                                    Details for ClientAuthentication using TLS.

                                                                    */ Tls?: Tls; + + /** + *

                                                                    Details for ClientAuthentication using SASL.

                                                                    + */ + Sasl?: Sasl; } export namespace ClientAuthentication { @@ -138,14 +175,14 @@ export interface BrokerSoftwareInfo { KafkaVersion?: string; /** - *

                                                                    The revision of the configuration to use. This field isn't visible in this preview release.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the configuration used for the cluster. This field isn't visible in this preview release.

                                                                    */ - ConfigurationRevision?: number; + ConfigurationArn?: string; /** - *

                                                                    The Amazon Resource Name (ARN) of the configuration used for the cluster. This field isn't visible in this preview release.

                                                                    + *

                                                                    The revision of the configuration to use. This field isn't visible in this preview release.

                                                                    */ - ConfigurationArn?: string; + ConfigurationRevision?: number; } export namespace BrokerSoftwareInfo { @@ -180,6 +217,12 @@ export enum ClientBroker { *

                                                                    The settings for encrypting data in transit.

                                                                    */ export interface EncryptionInTransit { + /** + *

                                                                    When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.

                                                                    + *

                                                                    The default value is true.

                                                                    + */ + InCluster?: boolean; + /** *

                                                                    Indicates the encryption setting for data in transit between clients and brokers. The following are the possible values.

                                                                    *

                                                                    @@ -191,12 +234,6 @@ export interface EncryptionInTransit { *

                                                                    The default value is TLS_PLAINTEXT.

                                                                    */ ClientBroker?: ClientBroker | string; - - /** - *

                                                                    When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.

                                                                    - *

                                                                    The default value is true.

                                                                    - */ - InCluster?: boolean; } export namespace EncryptionInTransit { @@ -210,14 +247,14 @@ export namespace EncryptionInTransit { */ export interface EncryptionInfo { /** - *

                                                                    The details for encryption in transit.

                                                                    + *

                                                                    The data-volume encryption details.

                                                                    */ - EncryptionInTransit?: EncryptionInTransit; + EncryptionAtRest?: EncryptionAtRest; /** - *

                                                                    The data-volume encryption details.

                                                                    + *

                                                                    The details for encryption in transit.

                                                                    */ - EncryptionAtRest?: EncryptionAtRest; + EncryptionInTransit?: EncryptionInTransit; } export namespace EncryptionInfo { @@ -255,9 +292,9 @@ export namespace Firehose { } export interface S3 { - Prefix?: string; Enabled: boolean | undefined; Bucket?: string; + Prefix?: string; } export namespace S3 { @@ -267,9 +304,9 @@ export namespace S3 { } export interface BrokerLogs { + S3?: S3; Firehose?: Firehose; CloudWatchLogs?: CloudWatchLogs; - S3?: S3; } export namespace BrokerLogs { @@ -366,8 +403,8 @@ export enum ClusterState { } export interface StateInfo { - Code?: string; Message?: string; + Code?: string; } export namespace StateInfo { @@ -380,82 +417,87 @@ export namespace StateInfo { *

                                                                    Returns information about a cluster.

                                                                    */ export interface ClusterInfo { - LoggingInfo?: LoggingInfo; /** - *

                                                                    Includes all encryption-related information.

                                                                    + *

                                                                    The connection string to use to connect to zookeeper cluster on Tls port.

                                                                    */ - EncryptionInfo?: EncryptionInfo; + ZookeeperConnectStringTls?: string; /** - *

                                                                    The number of broker nodes in the cluster.

                                                                    + *

                                                                    Arn of active cluster operation.

                                                                    */ - NumberOfBrokerNodes?: number; + ActiveOperationArn?: string; /** - *

                                                                    Information about the version of software currently deployed on the Kafka brokers in the cluster.

                                                                    + *

                                                                    Information about the broker nodes.

                                                                    */ - CurrentBrokerSoftwareInfo?: BrokerSoftwareInfo; + BrokerNodeGroupInfo?: BrokerNodeGroupInfo; /** - *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    + *

                                                                    The name of the cluster.

                                                                    */ - ClusterArn?: string; + ClusterName?: string; /** - *

                                                                    The connection string to use to connect to the Apache ZooKeeper cluster.

                                                                    + *

                                                                    Tags attached to the cluster.

                                                                    */ - ZookeeperConnectString?: string; + Tags?: { [key: string]: string }; /** - *

                                                                    Settings for open monitoring using Prometheus.

                                                                    + *

                                                                    Includes all client authentication information.

                                                                    */ - OpenMonitoring?: OpenMonitoring; + ClientAuthentication?: ClientAuthentication; /** - *

                                                                    Arn of active cluster operation.

                                                                    + *

                                                                    The current version of the MSK cluster.

                                                                    */ - ActiveOperationArn?: string; + CurrentVersion?: string; + StateInfo?: StateInfo; /** - *

                                                                    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.

                                                                    + *

                                                                    The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

                                                                    */ - EnhancedMonitoring?: EnhancedMonitoring | string; + State?: ClusterState | string; /** - *

                                                                    Information about the broker nodes.

                                                                    + *

                                                                    The number of broker nodes in the cluster.

                                                                    */ - BrokerNodeGroupInfo?: BrokerNodeGroupInfo; + NumberOfBrokerNodes?: number; /** - *

                                                                    The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

                                                                    + *

                                                                    Includes all encryption-related information.

                                                                    */ - State?: ClusterState | string; + EncryptionInfo?: EncryptionInfo; /** - *

                                                                    The current version of the MSK cluster.

                                                                    + *

                                                                    Settings for open monitoring using Prometheus.

                                                                    */ - CurrentVersion?: string; + OpenMonitoring?: OpenMonitoring; - StateInfo?: StateInfo; + LoggingInfo?: LoggingInfo; /** - *

                                                                    Includes all client authentication information.

                                                                    + *

                                                                    Information about the version of software currently deployed on the Kafka brokers in the cluster.

                                                                    */ - ClientAuthentication?: ClientAuthentication; + CurrentBrokerSoftwareInfo?: BrokerSoftwareInfo; /** - *

                                                                    Tags attached to the cluster.

                                                                    + *

                                                                    The connection string to use to connect to the Apache ZooKeeper cluster.

                                                                    */ - Tags?: { [key: string]: string }; + ZookeeperConnectString?: string; /** - *

                                                                    The name of the cluster.

                                                                    + *

                                                                    The time when the cluster was created.

                                                                    */ - ClusterName?: string; + CreationTime?: Date; /** - *

                                                                    The time when the cluster was created.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    */ - CreationTime?: Date; + 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.

                                                                    + */ + EnhancedMonitoring?: EnhancedMonitoring | string; } export namespace ClusterInfo { @@ -506,14 +548,14 @@ export namespace ClusterOperationStepInfo { */ export interface ClusterOperationStep { /** - *

                                                                    The name of the step.

                                                                    + *

                                                                    Information about the step and its status.

                                                                    */ - StepName?: string; + StepInfo?: ClusterOperationStepInfo; /** - *

                                                                    Information about the step and its status.

                                                                    + *

                                                                    The name of the step.

                                                                    */ - StepInfo?: ClusterOperationStepInfo; + StepName?: string; } export namespace ClusterOperationStep { @@ -527,14 +569,14 @@ export namespace ClusterOperationStep { */ export interface ConfigurationInfo { /** - *

                                                                    The revision of the configuration to use.

                                                                    + *

                                                                    ARN of the configuration to use.

                                                                    */ - Revision: number | undefined; + Arn: string | undefined; /** - *

                                                                    ARN of the configuration to use.

                                                                    + *

                                                                    The revision of the configuration to use.

                                                                    */ - Arn: string | undefined; + Revision: number | undefined; } export namespace ConfigurationInfo { @@ -547,26 +589,26 @@ export namespace ConfigurationInfo { *

                                                                    Information about cluster attributes that can be updated via update APIs.

                                                                    */ export interface MutableClusterInfo { - LoggingInfo?: LoggingInfo; /** - *

                                                                    Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

                                                                    + *

                                                                    The settings for open monitoring.

                                                                    */ - EnhancedMonitoring?: EnhancedMonitoring | string; + OpenMonitoring?: OpenMonitoring; /** - *

                                                                    The settings for open monitoring.

                                                                    + *

                                                                    Information about the changes in the configuration of the brokers.

                                                                    */ - OpenMonitoring?: OpenMonitoring; + ConfigurationInfo?: ConfigurationInfo; + LoggingInfo?: LoggingInfo; /** - *

                                                                    The Kafka version.

                                                                    + *

                                                                    Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

                                                                    */ - KafkaVersion?: string; + EnhancedMonitoring?: EnhancedMonitoring | string; /** - *

                                                                    The number of broker nodes in the cluster.

                                                                    + *

                                                                    The Kafka version.

                                                                    */ - NumberOfBrokerNodes?: number; + KafkaVersion?: string; /** *

                                                                    Specifies the size of the EBS volume and the ID of the associated broker.

                                                                    @@ -574,9 +616,9 @@ export interface MutableClusterInfo { BrokerEBSVolumeInfo?: BrokerEBSVolumeInfo[]; /** - *

                                                                    Information about the changes in the configuration of the brokers.

                                                                    + *

                                                                    The number of broker nodes in the cluster.

                                                                    */ - ConfigurationInfo?: ConfigurationInfo; + NumberOfBrokerNodes?: number; } export namespace MutableClusterInfo { @@ -600,49 +642,49 @@ export interface ClusterOperationInfo { ClientRequestId?: string; /** - *

                                                                    Information about cluster attributes before a cluster is updated.

                                                                    + *

                                                                    Steps completed during the operation.

                                                                    */ - SourceClusterInfo?: MutableClusterInfo; + OperationSteps?: ClusterOperationStep[]; /** - *

                                                                    Describes the error if the operation fails.

                                                                    + *

                                                                    The time at which the operation finished.

                                                                    */ - ErrorInfo?: ErrorInfo; + EndTime?: Date; /** - *

                                                                    Type of the cluster operation.

                                                                    + *

                                                                    Information about cluster attributes before a cluster is updated.

                                                                    */ - OperationType?: string; + SourceClusterInfo?: MutableClusterInfo; /** - *

                                                                    State of the cluster operation.

                                                                    + *

                                                                    Describes the error if the operation fails.

                                                                    */ - OperationState?: string; + ErrorInfo?: ErrorInfo; /** - *

                                                                    The time that the operation was created.

                                                                    + *

                                                                    ARN of the cluster.

                                                                    */ - CreationTime?: Date; + ClusterArn?: string; /** - *

                                                                    ARN of the cluster.

                                                                    + *

                                                                    The time that the operation was created.

                                                                    */ - ClusterArn?: string; + CreationTime?: Date; /** - *

                                                                    The time at which the operation finished.

                                                                    + *

                                                                    Information about cluster attributes after a cluster is updated.

                                                                    */ - EndTime?: Date; + TargetClusterInfo?: MutableClusterInfo; /** - *

                                                                    Steps completed during the operation.

                                                                    + *

                                                                    Type of the cluster operation.

                                                                    */ - OperationSteps?: ClusterOperationStep[]; + OperationType?: string; /** - *

                                                                    Information about cluster attributes after a cluster is updated.

                                                                    + *

                                                                    State of the cluster operation.

                                                                    */ - TargetClusterInfo?: MutableClusterInfo; + OperationState?: string; } export namespace ClusterOperationInfo { @@ -677,9 +719,9 @@ export namespace CompatibleKafkaVersion { */ export interface ConfigurationRevision { /** - *

                                                                    The time when the configuration revision was created.

                                                                    + *

                                                                    The revision number.

                                                                    */ - CreationTime: Date | undefined; + Revision: number | undefined; /** *

                                                                    The description of the configuration revision.

                                                                    @@ -687,9 +729,9 @@ export interface ConfigurationRevision { Description?: string; /** - *

                                                                    The revision number.

                                                                    + *

                                                                    The time when the configuration revision was created.

                                                                    */ - Revision: number | undefined; + CreationTime: Date | undefined; } export namespace ConfigurationRevision { @@ -698,19 +740,25 @@ export namespace ConfigurationRevision { }); } +export enum ConfigurationState { + ACTIVE = "ACTIVE", + DELETE_FAILED = "DELETE_FAILED", + DELETING = "DELETING", +} + /** *

                                                                    Represents an MSK Configuration.

                                                                    */ export interface Configuration { /** - *

                                                                    Latest revision of the configuration.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the configuration.

                                                                    */ - LatestRevision: ConfigurationRevision | undefined; + Arn: string | undefined; /** - *

                                                                    The description of the configuration.

                                                                    + *

                                                                    The time when the configuration was created.

                                                                    */ - Description: string | undefined; + CreationTime: Date | undefined; /** *

                                                                    The name of the configuration.

                                                                    @@ -723,17 +771,22 @@ export interface Configuration { KafkaVersions: string[] | undefined; /** - *

                                                                    The Amazon Resource Name (ARN) of the configuration.

                                                                    + *

                                                                    Latest revision of the configuration.

                                                                    */ - Arn: string | undefined; + LatestRevision: ConfigurationRevision | undefined; /** - *

                                                                    The time when the configuration was created.

                                                                    + *

                                                                    The description of the configuration.

                                                                    */ - CreationTime: Date | undefined; -} + Description: string | undefined; -export namespace Configuration { + /** + *

                                                                    The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

                                                                    + */ + State: ConfigurationState | string | undefined; +} + +export namespace Configuration { export const filterSensitiveLog = (obj: Configuration): any => ({ ...obj, }); @@ -745,8 +798,8 @@ export enum KafkaVersionStatus { } export interface KafkaVersion { - Status?: KafkaVersionStatus | string; Version?: string; + Status?: KafkaVersionStatus | string; } export namespace KafkaVersion { @@ -759,20 +812,25 @@ export namespace KafkaVersion { *

                                                                    BrokerNodeInfo

                                                                    */ export interface BrokerNodeInfo { + /** + *

                                                                    The attached elastic network interface of the broker.

                                                                    + */ + AttachedENIId?: string; + /** *

                                                                    Information about the version of software currently deployed on the Kafka brokers in the cluster.

                                                                    */ CurrentBrokerSoftwareInfo?: BrokerSoftwareInfo; /** - *

                                                                    The attached elastic network interface of the broker.

                                                                    + *

                                                                    The ID of the broker.

                                                                    */ - AttachedENIId?: string; + BrokerId?: number; /** - *

                                                                    Endpoints for accessing the broker.

                                                                    + *

                                                                    The client subnet to which this broker node belongs.

                                                                    */ - Endpoints?: string[]; + ClientSubnet?: string; /** *

                                                                    The virtual private cloud (VPC) of the client.

                                                                    @@ -780,14 +838,9 @@ export interface BrokerNodeInfo { ClientVpcIpAddress?: string; /** - *

                                                                    The ID of the broker.

                                                                    - */ - BrokerId?: number; - - /** - *

                                                                    The client subnet to which this broker node belongs.

                                                                    + *

                                                                    Endpoints for accessing the broker.

                                                                    */ - ClientSubnet?: string; + Endpoints?: string[]; } export namespace BrokerNodeInfo { @@ -810,24 +863,24 @@ export interface ZookeeperNodeInfo { ZookeeperId?: number; /** - *

                                                                    The virtual private cloud (VPC) IP address of the client.

                                                                    + *

                                                                    The attached elastic network interface of the broker.

                                                                    */ - ClientVpcIpAddress?: string; + AttachedENIId?: string; /** - *

                                                                    The version of Zookeeper.

                                                                    + *

                                                                    The virtual private cloud (VPC) IP address of the client.

                                                                    */ - ZookeeperVersion?: string; + ClientVpcIpAddress?: string; /** - *

                                                                    The attached elastic network interface of the broker.

                                                                    + *

                                                                    Endpoints for accessing the ZooKeeper.

                                                                    */ - AttachedENIId?: string; + Endpoints?: string[]; /** - *

                                                                    Endpoints for accessing the ZooKeeper.

                                                                    + *

                                                                    The version of Zookeeper.

                                                                    */ - Endpoints?: string[]; + ZookeeperVersion?: string; } export namespace ZookeeperNodeInfo { @@ -846,19 +899,19 @@ export interface NodeInfo { NodeType?: NodeType | string; /** - *

                                                                    The start time.

                                                                    + *

                                                                    The ZookeeperNodeInfo.

                                                                    */ - AddedToClusterTime?: string; + ZookeeperNodeInfo?: ZookeeperNodeInfo; /** - *

                                                                    The instance type.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the node.

                                                                    */ - InstanceType?: string; + NodeARN?: string; /** - *

                                                                    The Amazon Resource Name (ARN) of the node.

                                                                    + *

                                                                    The start time.

                                                                    */ - NodeARN?: string; + AddedToClusterTime?: string; /** *

                                                                    The broker node info.

                                                                    @@ -866,9 +919,9 @@ export interface NodeInfo { BrokerNodeInfo?: BrokerNodeInfo; /** - *

                                                                    The ZookeeperNodeInfo.

                                                                    + *

                                                                    The instance type.

                                                                    */ - ZookeeperNodeInfo?: ZookeeperNodeInfo; + InstanceType?: string; } export namespace NodeInfo { @@ -878,24 +931,27 @@ export namespace NodeInfo { } /** - *

                                                                    Returns information about an error.

                                                                    + *

                                                                    Error info for scram secret associate/disassociate failure.

                                                                    */ -export interface BadRequestException extends __SmithyException, $MetadataBearer { - name: "BadRequestException"; - $fault: "client"; +export interface UnprocessedScramSecret { /** - *

                                                                    The parameter that caused the error.

                                                                    + *

                                                                    Error message for associate/disassociate failure.

                                                                    */ - InvalidParameter?: string; + ErrorMessage?: string; /** - *

                                                                    The description of the error.

                                                                    + *

                                                                    Error code for associate/disassociate failure.

                                                                    */ - Message?: string; + ErrorCode?: string; + + /** + *

                                                                    AWS Secrets Manager secret ARN.

                                                                    + */ + SecretArn?: string; } -export namespace BadRequestException { - export const filterSensitiveLog = (obj: BadRequestException): any => ({ +export namespace UnprocessedScramSecret { + export const filterSensitiveLog = (obj: UnprocessedScramSecret): any => ({ ...obj, }); } @@ -903,8 +959,8 @@ export namespace BadRequestException { /** *

                                                                    Returns information about an error.

                                                                    */ -export interface ConflictException extends __SmithyException, $MetadataBearer { - name: "ConflictException"; +export interface BadRequestException extends __SmithyException, $MetadataBearer { + name: "BadRequestException"; $fault: "client"; /** *

                                                                    The parameter that caused the error.

                                                                    @@ -917,159 +973,224 @@ export interface ConflictException extends __SmithyException, $MetadataBearer { Message?: string; } -export namespace ConflictException { - export const filterSensitiveLog = (obj: ConflictException): any => ({ +export namespace BadRequestException { + export const filterSensitiveLog = (obj: BadRequestException): any => ({ ...obj, }); } /** - *

                                                                    Indicates whether you want to enable or disable the JMX Exporter.

                                                                    + *

                                                                    Associates sasl scram secrets to cluster.

                                                                    */ -export interface JmxExporterInfo { +export interface BatchAssociateScramSecretRequest { /** - *

                                                                    Indicates whether you want to enable or disable the JMX Exporter.

                                                                    + *

                                                                    List of AWS Secrets Manager secret ARNs.

                                                                    */ - EnabledInBroker: boolean | undefined; + SecretArnList: string[] | undefined; + + /** + *

                                                                    The Amazon Resource Name (ARN) of the cluster to be updated.

                                                                    + */ + ClusterArn: string | undefined; } -export namespace JmxExporterInfo { - export const filterSensitiveLog = (obj: JmxExporterInfo): any => ({ +export namespace BatchAssociateScramSecretRequest { + export const filterSensitiveLog = (obj: BatchAssociateScramSecretRequest): any => ({ ...obj, }); } -/** - *

                                                                    Indicates whether you want to enable or disable the Node Exporter.

                                                                    - */ -export interface NodeExporterInfo { +export interface BatchAssociateScramSecretResponse { /** - *

                                                                    Indicates whether you want to enable or disable the Node Exporter.

                                                                    + *

                                                                    List of errors when associating secrets to cluster.

                                                                    */ - EnabledInBroker: boolean | undefined; + UnprocessedScramSecrets?: UnprocessedScramSecret[]; + + /** + *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    + */ + ClusterArn?: string; } -export namespace NodeExporterInfo { - export const filterSensitiveLog = (obj: NodeExporterInfo): any => ({ +export namespace BatchAssociateScramSecretResponse { + export const filterSensitiveLog = (obj: BatchAssociateScramSecretResponse): any => ({ ...obj, }); } /** - *

                                                                    Prometheus settings.

                                                                    + *

                                                                    Returns information about an error.

                                                                    */ -export interface PrometheusInfo { +export interface ForbiddenException extends __SmithyException, $MetadataBearer { + name: "ForbiddenException"; + $fault: "client"; /** - *

                                                                    Indicates whether you want to enable or disable the Node Exporter.

                                                                    + *

                                                                    The parameter that caused the error.

                                                                    */ - NodeExporter?: NodeExporterInfo; + InvalidParameter?: string; /** - *

                                                                    Indicates whether you want to enable or disable the JMX Exporter.

                                                                    + *

                                                                    The description of the error.

                                                                    */ - JmxExporter?: JmxExporterInfo; + Message?: string; } -export namespace PrometheusInfo { - export const filterSensitiveLog = (obj: PrometheusInfo): any => ({ +export namespace ForbiddenException { + export const filterSensitiveLog = (obj: ForbiddenException): any => ({ ...obj, }); } /** - *

                                                                    JMX and Node monitoring for the MSK cluster.

                                                                    + *

                                                                    Returns information about an error.

                                                                    */ -export interface OpenMonitoringInfo { +export interface InternalServerErrorException extends __SmithyException, $MetadataBearer { + name: "InternalServerErrorException"; + $fault: "server"; /** - *

                                                                    Prometheus settings.

                                                                    + *

                                                                    The parameter that caused the error.

                                                                    */ - Prometheus: PrometheusInfo | undefined; + InvalidParameter?: string; + + /** + *

                                                                    The description of the error.

                                                                    + */ + Message?: string; } -export namespace OpenMonitoringInfo { - export const filterSensitiveLog = (obj: OpenMonitoringInfo): any => ({ +export namespace InternalServerErrorException { + export const filterSensitiveLog = (obj: InternalServerErrorException): any => ({ ...obj, }); } -export interface CreateClusterRequest { +/** + *

                                                                    Returns information about an error.

                                                                    + */ +export interface NotFoundException extends __SmithyException, $MetadataBearer { + name: "NotFoundException"; + $fault: "client"; /** - *

                                                                    Includes all client authentication related information.

                                                                    + *

                                                                    The parameter that caused the error.

                                                                    */ - ClientAuthentication?: ClientAuthentication; + InvalidParameter?: string; /** - *

                                                                    The version of Apache Kafka.

                                                                    + *

                                                                    The description of the error.

                                                                    */ - KafkaVersion: string | undefined; + Message?: string; +} - /** - *

                                                                    The name of the cluster.

                                                                    - */ - ClusterName: string | undefined; +export namespace NotFoundException { + export const filterSensitiveLog = (obj: NotFoundException): any => ({ + ...obj, + }); +} +/** + *

                                                                    Returns information about an error.

                                                                    + */ +export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer { + name: "ServiceUnavailableException"; + $fault: "server"; /** - *

                                                                    Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.

                                                                    + *

                                                                    The description of the error.

                                                                    */ - EnhancedMonitoring?: EnhancedMonitoring | string; + Message?: string; /** - *

                                                                    Create tags when creating the cluster.

                                                                    + *

                                                                    The parameter that caused the error.

                                                                    */ - Tags?: { [key: string]: string }; + InvalidParameter?: string; +} - /** - *

                                                                    Represents the configuration that you want MSK to use for the brokers in a cluster.

                                                                    - */ - ConfigurationInfo?: ConfigurationInfo; +export namespace ServiceUnavailableException { + export const filterSensitiveLog = (obj: ServiceUnavailableException): any => ({ + ...obj, + }); +} +/** + *

                                                                    Returns information about an error.

                                                                    + */ +export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { + name: "TooManyRequestsException"; + $fault: "client"; /** - *

                                                                    The number of broker nodes in the cluster.

                                                                    + *

                                                                    The description of the error.

                                                                    */ - NumberOfBrokerNodes: number | undefined; + Message?: string; - LoggingInfo?: LoggingInfo; /** - *

                                                                    Information about the broker nodes in the cluster.

                                                                    + *

                                                                    The parameter that caused the error.

                                                                    */ - BrokerNodeGroupInfo: BrokerNodeGroupInfo | undefined; + InvalidParameter?: string; +} +export namespace TooManyRequestsException { + export const filterSensitiveLog = (obj: TooManyRequestsException): any => ({ + ...obj, + }); +} + +/** + *

                                                                    Returns information about an error.

                                                                    + */ +export interface UnauthorizedException extends __SmithyException, $MetadataBearer { + name: "UnauthorizedException"; + $fault: "client"; /** - *

                                                                    Includes all encryption-related information.

                                                                    + *

                                                                    The description of the error.

                                                                    */ - EncryptionInfo?: EncryptionInfo; + Message?: string; /** - *

                                                                    The settings for open monitoring.

                                                                    + *

                                                                    The parameter that caused the error.

                                                                    */ - OpenMonitoring?: OpenMonitoringInfo; + InvalidParameter?: string; } -export namespace CreateClusterRequest { - export const filterSensitiveLog = (obj: CreateClusterRequest): any => ({ +export namespace UnauthorizedException { + export const filterSensitiveLog = (obj: UnauthorizedException): any => ({ ...obj, }); } -export interface CreateClusterResponse { +/** + *

                                                                    Disassociates sasl scram secrets to cluster.

                                                                    + */ +export interface BatchDisassociateScramSecretRequest { /** - *

                                                                    The name of the MSK cluster.

                                                                    + *

                                                                    List of AWS Secrets Manager secret ARNs.

                                                                    */ - ClusterName?: string; + SecretArnList: string[] | undefined; /** - *

                                                                    The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster to be updated.

                                                                    */ - State?: ClusterState | string; + ClusterArn: string | undefined; +} +export namespace BatchDisassociateScramSecretRequest { + export const filterSensitiveLog = (obj: BatchDisassociateScramSecretRequest): any => ({ + ...obj, + }); +} + +export interface BatchDisassociateScramSecretResponse { /** *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    */ ClusterArn?: string; + + /** + *

                                                                    List of errors when disassociating secrets to cluster.

                                                                    + */ + UnprocessedScramSecrets?: UnprocessedScramSecret[]; } -export namespace CreateClusterResponse { - export const filterSensitiveLog = (obj: CreateClusterResponse): any => ({ +export namespace BatchDisassociateScramSecretResponse { + export const filterSensitiveLog = (obj: BatchDisassociateScramSecretResponse): any => ({ ...obj, }); } @@ -1077,119 +1198,183 @@ export namespace CreateClusterResponse { /** *

                                                                    Returns information about an error.

                                                                    */ -export interface ForbiddenException extends __SmithyException, $MetadataBearer { - name: "ForbiddenException"; +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; $fault: "client"; /** - *

                                                                    The parameter that caused the error.

                                                                    + *

                                                                    The description of the error.

                                                                    */ - InvalidParameter?: string; + Message?: string; /** - *

                                                                    The description of the error.

                                                                    + *

                                                                    The parameter that caused the error.

                                                                    */ - Message?: string; + InvalidParameter?: string; } -export namespace ForbiddenException { - export const filterSensitiveLog = (obj: ForbiddenException): any => ({ +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ ...obj, }); } /** - *

                                                                    Returns information about an error.

                                                                    + *

                                                                    Indicates whether you want to enable or disable the JMX Exporter.

                                                                    */ -export interface InternalServerErrorException extends __SmithyException, $MetadataBearer { - name: "InternalServerErrorException"; - $fault: "server"; +export interface JmxExporterInfo { /** - *

                                                                    The description of the error.

                                                                    + *

                                                                    Indicates whether you want to enable or disable the JMX Exporter.

                                                                    */ - Message?: string; + EnabledInBroker: boolean | undefined; +} + +export namespace JmxExporterInfo { + export const filterSensitiveLog = (obj: JmxExporterInfo): any => ({ + ...obj, + }); +} +/** + *

                                                                    Indicates whether you want to enable or disable the Node Exporter.

                                                                    + */ +export interface NodeExporterInfo { /** - *

                                                                    The parameter that caused the error.

                                                                    + *

                                                                    Indicates whether you want to enable or disable the Node Exporter.

                                                                    */ - InvalidParameter?: string; + EnabledInBroker: boolean | undefined; } -export namespace InternalServerErrorException { - export const filterSensitiveLog = (obj: InternalServerErrorException): any => ({ +export namespace NodeExporterInfo { + export const filterSensitiveLog = (obj: NodeExporterInfo): any => ({ ...obj, }); } /** - *

                                                                    Returns information about an error.

                                                                    + *

                                                                    Prometheus settings.

                                                                    */ -export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer { - name: "ServiceUnavailableException"; - $fault: "server"; +export interface PrometheusInfo { /** - *

                                                                    The description of the error.

                                                                    + *

                                                                    Indicates whether you want to enable or disable the JMX Exporter.

                                                                    */ - Message?: string; + JmxExporter?: JmxExporterInfo; /** - *

                                                                    The parameter that caused the error.

                                                                    + *

                                                                    Indicates whether you want to enable or disable the Node Exporter.

                                                                    */ - InvalidParameter?: string; + NodeExporter?: NodeExporterInfo; } -export namespace ServiceUnavailableException { - export const filterSensitiveLog = (obj: ServiceUnavailableException): any => ({ +export namespace PrometheusInfo { + export const filterSensitiveLog = (obj: PrometheusInfo): any => ({ ...obj, }); } /** - *

                                                                    Returns information about an error.

                                                                    + *

                                                                    JMX and Node monitoring for the MSK cluster.

                                                                    */ -export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { - name: "TooManyRequestsException"; - $fault: "client"; +export interface OpenMonitoringInfo { /** - *

                                                                    The description of the error.

                                                                    + *

                                                                    Prometheus settings.

                                                                    */ - Message?: string; + Prometheus: PrometheusInfo | undefined; +} + +export namespace OpenMonitoringInfo { + export const filterSensitiveLog = (obj: OpenMonitoringInfo): any => ({ + ...obj, + }); +} +export interface CreateClusterRequest { /** - *

                                                                    The parameter that caused the error.

                                                                    + *

                                                                    The version of Apache Kafka.

                                                                    */ - InvalidParameter?: string; + KafkaVersion: string | undefined; + + /** + *

                                                                    Create tags when creating the cluster.

                                                                    + */ + Tags?: { [key: string]: string }; + + /** + *

                                                                    Information about the broker nodes in the cluster.

                                                                    + */ + BrokerNodeGroupInfo: BrokerNodeGroupInfo | undefined; + + /** + *

                                                                    Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.

                                                                    + */ + EnhancedMonitoring?: EnhancedMonitoring | string; + + /** + *

                                                                    The settings for open monitoring.

                                                                    + */ + OpenMonitoring?: OpenMonitoringInfo; + + /** + *

                                                                    Represents the configuration that you want MSK to use for the brokers in a cluster.

                                                                    + */ + ConfigurationInfo?: ConfigurationInfo; + + /** + *

                                                                    The name of the cluster.

                                                                    + */ + ClusterName: string | undefined; + + /** + *

                                                                    Includes all encryption-related information.

                                                                    + */ + EncryptionInfo?: EncryptionInfo; + + /** + *

                                                                    The number of broker nodes in the cluster.

                                                                    + */ + NumberOfBrokerNodes: number | undefined; + + LoggingInfo?: LoggingInfo; + /** + *

                                                                    Includes all client authentication related information.

                                                                    + */ + ClientAuthentication?: ClientAuthentication; } -export namespace TooManyRequestsException { - export const filterSensitiveLog = (obj: TooManyRequestsException): any => ({ +export namespace CreateClusterRequest { + export const filterSensitiveLog = (obj: CreateClusterRequest): any => ({ ...obj, }); } -/** - *

                                                                    Returns information about an error.

                                                                    - */ -export interface UnauthorizedException extends __SmithyException, $MetadataBearer { - name: "UnauthorizedException"; - $fault: "client"; +export interface CreateClusterResponse { /** - *

                                                                    The parameter that caused the error.

                                                                    + *

                                                                    The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

                                                                    */ - InvalidParameter?: string; + State?: ClusterState | string; /** - *

                                                                    The description of the error.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    */ - Message?: string; + ClusterArn?: string; + + /** + *

                                                                    The name of the MSK cluster.

                                                                    + */ + ClusterName?: string; } -export namespace UnauthorizedException { - export const filterSensitiveLog = (obj: UnauthorizedException): any => ({ +export namespace CreateClusterResponse { + export const filterSensitiveLog = (obj: CreateClusterResponse): any => ({ ...obj, }); } export interface CreateConfigurationRequest { + /** + *

                                                                    The description of the configuration.

                                                                    + */ + Description?: string; + /** *

                                                                    Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. * When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

                                                                    @@ -1201,11 +1386,6 @@ export interface CreateConfigurationRequest { */ KafkaVersions?: string[]; - /** - *

                                                                    The description of the configuration.

                                                                    - */ - Description?: string; - /** *

                                                                    The name of the configuration.

                                                                    */ @@ -1220,24 +1400,29 @@ export namespace CreateConfigurationRequest { export interface CreateConfigurationResponse { /** - *

                                                                    The name of the configuration.

                                                                    + *

                                                                    Latest revision of the configuration.

                                                                    */ - Name?: string; + LatestRevision?: ConfigurationRevision; /** - *

                                                                    The Amazon Resource Name (ARN) of the configuration.

                                                                    + *

                                                                    The time when the configuration was created.

                                                                    */ - Arn?: string; + CreationTime?: Date; /** - *

                                                                    The time when the configuration was created.

                                                                    + *

                                                                    The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

                                                                    */ - CreationTime?: Date; + State?: ConfigurationState | string; /** - *

                                                                    Latest revision of the configuration.

                                                                    + *

                                                                    The name of the configuration.

                                                                    */ - LatestRevision?: ConfigurationRevision; + Name?: string; + + /** + *

                                                                    The Amazon Resource Name (ARN) of the configuration.

                                                                    + */ + Arn?: string; } export namespace CreateConfigurationResponse { @@ -1248,14 +1433,14 @@ export namespace CreateConfigurationResponse { export interface DeleteClusterRequest { /** - *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    + *

                                                                    The current version of the MSK cluster.

                                                                    */ - ClusterArn: string | undefined; + CurrentVersion?: string; /** - *

                                                                    The current version of the MSK cluster.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    */ - CurrentVersion?: string; + ClusterArn: string | undefined; } export namespace DeleteClusterRequest { @@ -1266,14 +1451,14 @@ export namespace DeleteClusterRequest { export interface DeleteClusterResponse { /** - *

                                                                    The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    */ - State?: ClusterState | string; + ClusterArn?: string; /** - *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    + *

                                                                    The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

                                                                    */ - ClusterArn?: string; + State?: ClusterState | string; } export namespace DeleteClusterResponse { @@ -1282,25 +1467,33 @@ export namespace DeleteClusterResponse { }); } -/** - *

                                                                    Returns information about an error.

                                                                    - */ -export interface NotFoundException extends __SmithyException, $MetadataBearer { - name: "NotFoundException"; - $fault: "client"; +export interface DeleteConfigurationRequest { /** - *

                                                                    The description of the error.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration.

                                                                    */ - Message?: string; + Arn: string | undefined; +} +export namespace DeleteConfigurationRequest { + export const filterSensitiveLog = (obj: DeleteConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface DeleteConfigurationResponse { /** - *

                                                                    The parameter that caused the error.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration.

                                                                    */ - InvalidParameter?: string; + Arn?: string; + + /** + *

                                                                    The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

                                                                    + */ + State?: ConfigurationState | string; } -export namespace NotFoundException { - export const filterSensitiveLog = (obj: NotFoundException): any => ({ +export namespace DeleteConfigurationResponse { + export const filterSensitiveLog = (obj: DeleteConfigurationResponse): any => ({ ...obj, }); } @@ -1372,9 +1565,14 @@ export namespace DescribeConfigurationRequest { export interface DescribeConfigurationResponse { /** - *

                                                                    The versions of Apache Kafka with which you can use this MSK configuration.

                                                                    + *

                                                                    The time when the configuration was created.

                                                                    */ - KafkaVersions?: string[]; + CreationTime?: Date; + + /** + *

                                                                    The name of the configuration.

                                                                    + */ + Name?: string; /** *

                                                                    Latest revision of the configuration.

                                                                    @@ -1382,24 +1580,24 @@ export interface DescribeConfigurationResponse { LatestRevision?: ConfigurationRevision; /** - *

                                                                    The description of the configuration.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the configuration.

                                                                    */ - Description?: string; + Arn?: string; /** - *

                                                                    The Amazon Resource Name (ARN) of the configuration.

                                                                    + *

                                                                    The versions of Apache Kafka with which you can use this MSK configuration.

                                                                    */ - Arn?: string; + KafkaVersions?: string[]; /** - *

                                                                    The name of the configuration.

                                                                    + *

                                                                    The state of the configuration. The possible states are ACTIVE, DELETING, and DELETE_FAILED.

                                                                    */ - Name?: string; + State?: ConfigurationState | string; /** - *

                                                                    The time when the configuration was created.

                                                                    + *

                                                                    The description of the configuration.

                                                                    */ - CreationTime?: Date; + Description?: string; } export namespace DescribeConfigurationResponse { @@ -1410,14 +1608,14 @@ export namespace DescribeConfigurationResponse { export interface DescribeConfigurationRevisionRequest { /** - *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

                                                                    + *

                                                                    A string that uniquely identifies a revision of an MSK configuration.

                                                                    */ - Arn: string | undefined; + Revision: number | undefined; /** - *

                                                                    A string that uniquely identifies a revision of an MSK configuration.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

                                                                    */ - Revision: number | undefined; + Arn: string | undefined; } export namespace DescribeConfigurationRevisionRequest { @@ -1428,14 +1626,10 @@ export namespace DescribeConfigurationRevisionRequest { export interface DescribeConfigurationRevisionResponse { /** - *

                                                                    The Amazon Resource Name (ARN) of the configuration.

                                                                    - */ - Arn?: string; - - /** - *

                                                                    The time when the configuration was created.

                                                                    + *

                                                                    Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. + * When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

                                                                    */ - CreationTime?: Date; + ServerProperties?: Uint8Array; /** *

                                                                    The description of the configuration.

                                                                    @@ -1448,10 +1642,14 @@ export interface DescribeConfigurationRevisionResponse { Revision?: number; /** - *

                                                                    Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. - * When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the configuration.

                                                                    */ - ServerProperties?: Uint8Array; + Arn?: string; + + /** + *

                                                                    The time when the configuration was created.

                                                                    + */ + CreationTime?: Date; } export namespace DescribeConfigurationRevisionResponse { @@ -1475,14 +1673,19 @@ export namespace GetBootstrapBrokersRequest { export interface GetBootstrapBrokersResponse { /** - *

                                                                    A string containing one or more DNS names (or IP) and TLS port pairs.

                                                                    + *

                                                                    A string containing one or more DNS names (or IP) and Sasl Scram port pairs.

                                                                    */ - BootstrapBrokerStringTls?: string; + BootstrapBrokerStringSaslScram?: string; /** *

                                                                    A string containing one or more hostname:port pairs.

                                                                    */ BootstrapBrokerString?: string; + + /** + *

                                                                    A string containing one or more DNS names (or IP) and TLS port pairs.

                                                                    + */ + BootstrapBrokerStringTls?: string; } export namespace GetBootstrapBrokersResponse { @@ -1519,10 +1722,9 @@ export namespace GetCompatibleKafkaVersionsResponse { export interface ListClusterOperationsRequest { /** - *

                                                                    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. - * To get the next batch, provide this token in your next request.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    */ - NextToken?: string; + ClusterArn: string | undefined; /** *

                                                                    The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

                                                                    @@ -1530,9 +1732,10 @@ export interface ListClusterOperationsRequest { MaxResults?: number; /** - *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    + *

                                                                    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. + * To get the next batch, provide this token in your next request.

                                                                    */ - ClusterArn: string | undefined; + NextToken?: string; } export namespace ListClusterOperationsRequest { @@ -1543,14 +1746,14 @@ export namespace ListClusterOperationsRequest { export interface ListClusterOperationsResponse { /** - *

                                                                    An array of cluster operation information objects.

                                                                    + *

                                                                    If the response of ListClusterOperations is truncated, it returns a NextToken in the response. This Nexttoken should be sent in the subsequent request to ListClusterOperations.

                                                                    */ - ClusterOperationInfoList?: ClusterOperationInfo[]; + NextToken?: string; /** - *

                                                                    If the response of ListClusterOperations is truncated, it returns a NextToken in the response. This Nexttoken should be sent in the subsequent request to ListClusterOperations.

                                                                    + *

                                                                    An array of cluster operation information objects.

                                                                    */ - NextToken?: string; + ClusterOperationInfoList?: ClusterOperationInfo[]; } export namespace ListClusterOperationsResponse { @@ -1567,14 +1770,14 @@ export interface ListClustersRequest { NextToken?: string; /** - *

                                                                    Specify a prefix of the name of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.

                                                                    + *

                                                                    The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

                                                                    */ - ClusterNameFilter?: string; + MaxResults?: number; /** - *

                                                                    The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

                                                                    + *

                                                                    Specify a prefix of the name of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.

                                                                    */ - MaxResults?: number; + ClusterNameFilter?: string; } export namespace ListClustersRequest { @@ -1584,16 +1787,16 @@ export namespace ListClustersRequest { } export interface ListClustersResponse { - /** - *

                                                                    Information on each of the MSK clusters in the response.

                                                                    - */ - ClusterInfoList?: ClusterInfo[]; - /** *

                                                                    The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. * To get another batch of clusters, provide this token in your next request.

                                                                    */ NextToken?: string; + + /** + *

                                                                    Information on each of the MSK clusters in the response.

                                                                    + */ + ClusterInfoList?: ClusterInfo[]; } export namespace ListClustersResponse { @@ -1603,6 +1806,11 @@ export namespace ListClustersResponse { } export interface ListConfigurationRevisionsRequest { + /** + *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

                                                                    + */ + Arn: string | undefined; + /** *

                                                                    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. * To get the next batch, provide this token in your next request.

                                                                    @@ -1613,11 +1821,6 @@ export interface ListConfigurationRevisionsRequest { *

                                                                    The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

                                                                    */ MaxResults?: number; - - /** - *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

                                                                    - */ - Arn: string | undefined; } export namespace ListConfigurationRevisionsRequest { @@ -1628,14 +1831,14 @@ export namespace ListConfigurationRevisionsRequest { export interface ListConfigurationRevisionsResponse { /** - *

                                                                    Paginated results marker.

                                                                    + *

                                                                    List of ConfigurationRevision objects.

                                                                    */ - NextToken?: string; + Revisions?: ConfigurationRevision[]; /** - *

                                                                    List of ConfigurationRevision objects.

                                                                    + *

                                                                    Paginated results marker.

                                                                    */ - Revisions?: ConfigurationRevision[]; + NextToken?: string; } export namespace ListConfigurationRevisionsResponse { @@ -1713,10 +1916,9 @@ export namespace ListKafkaVersionsResponse { export interface ListNodesRequest { /** - *

                                                                    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. - * To get the next batch, provide this token in your next request.

                                                                    + *

                                                                    The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

                                                                    */ - NextToken?: string; + MaxResults?: number; /** *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    @@ -1724,9 +1926,10 @@ export interface ListNodesRequest { ClusterArn: string | undefined; /** - *

                                                                    The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

                                                                    + *

                                                                    The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. + * To get the next batch, provide this token in your next request.

                                                                    */ - MaxResults?: number; + NextToken?: string; } export namespace ListNodesRequest { @@ -1754,6 +1957,47 @@ export namespace ListNodesResponse { }); } +export interface ListScramSecretsRequest { + /** + *

                                                                    The nextToken of the query.

                                                                    + */ + NextToken?: string; + + /** + *

                                                                    The maxResults of the query.

                                                                    + */ + MaxResults?: number; + + /** + *

                                                                    The arn of the cluster.

                                                                    + */ + ClusterArn: string | undefined; +} + +export namespace ListScramSecretsRequest { + export const filterSensitiveLog = (obj: ListScramSecretsRequest): any => ({ + ...obj, + }); +} + +export interface ListScramSecretsResponse { + /** + *

                                                                    Paginated results marker.

                                                                    + */ + NextToken?: string; + + /** + *

                                                                    The list of scram secrets associated with the cluster.

                                                                    + */ + SecretArnList?: string[]; +} + +export namespace ListScramSecretsResponse { + export const filterSensitiveLog = (obj: ListScramSecretsResponse): any => ({ + ...obj, + }); +} + export interface ListTagsForResourceRequest { /** *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.

                                                                    @@ -1785,7 +2029,7 @@ export namespace ListTagsForResourceResponse { */ export interface RebootBrokerRequest { /** - *

                                                                    The list of broker IDs to be rebooted.

                                                                    + *

                                                                    The list of broker IDs to be rebooted. The reboot-broker operation supports rebooting one broker at a time.

                                                                    */ BrokerIds: string[] | undefined; @@ -1803,14 +2047,14 @@ export namespace RebootBrokerRequest { export interface RebootBrokerResponse { /** - *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster operation.

                                                                    */ - ClusterArn?: string; + ClusterOperationArn?: string; /** - *

                                                                    The Amazon Resource Name (ARN) of the cluster operation.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    */ - ClusterOperationArn?: string; + ClusterArn?: string; } export namespace RebootBrokerResponse { @@ -1881,14 +2125,14 @@ export interface UpdateBrokerCountRequest { CurrentVersion: string | undefined; /** - *

                                                                    The number of broker nodes that you want the cluster to have after this operation completes successfully.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    */ - TargetNumberOfBrokerNodes: number | undefined; + ClusterArn: string | undefined; /** - *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    + *

                                                                    The number of broker nodes that you want the cluster to have after this operation completes successfully.

                                                                    */ - ClusterArn: string | undefined; + TargetNumberOfBrokerNodes: number | undefined; } export namespace UpdateBrokerCountRequest { @@ -1899,14 +2143,14 @@ export namespace UpdateBrokerCountRequest { export interface UpdateBrokerCountResponse { /** - *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster operation.

                                                                    */ - ClusterArn?: string; + ClusterOperationArn?: string; /** - *

                                                                    The Amazon Resource Name (ARN) of the cluster operation.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    */ - ClusterOperationArn?: string; + ClusterArn?: string; } export namespace UpdateBrokerCountResponse { @@ -1917,9 +2161,9 @@ export namespace UpdateBrokerCountResponse { export interface UpdateBrokerStorageRequest { /** - *

                                                                    Describes the target volume size and the ID of the broker to apply the update to.

                                                                    + *

                                                                    The version of cluster to update from. A successful operation will then generate a new version.

                                                                    */ - TargetBrokerEBSVolumeInfo: BrokerEBSVolumeInfo[] | undefined; + CurrentVersion: string | undefined; /** *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    @@ -1927,9 +2171,9 @@ export interface UpdateBrokerStorageRequest { ClusterArn: string | undefined; /** - *

                                                                    The version of cluster to update from. A successful operation will then generate a new version.

                                                                    + *

                                                                    Describes the target volume size and the ID of the broker to apply the update to.

                                                                    */ - CurrentVersion: string | undefined; + TargetBrokerEBSVolumeInfo: BrokerEBSVolumeInfo[] | undefined; } export namespace UpdateBrokerStorageRequest { @@ -1958,9 +2202,9 @@ export namespace UpdateBrokerStorageResponse { export interface UpdateClusterConfigurationRequest { /** - *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    + *

                                                                    Represents the configuration that you want MSK to use for the brokers in a cluster.

                                                                    */ - ClusterArn: string | undefined; + ConfigurationInfo: ConfigurationInfo | undefined; /** *

                                                                    The version of the cluster that needs to be updated.

                                                                    @@ -1968,9 +2212,9 @@ export interface UpdateClusterConfigurationRequest { CurrentVersion: string | undefined; /** - *

                                                                    Represents the configuration that you want MSK to use for the brokers in a cluster.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    */ - ConfigurationInfo: ConfigurationInfo | undefined; + ClusterArn: string | undefined; } export namespace UpdateClusterConfigurationRequest { @@ -1981,14 +2225,14 @@ export namespace UpdateClusterConfigurationRequest { export interface UpdateClusterConfigurationResponse { /** - *

                                                                    The Amazon Resource Name (ARN) of the cluster operation.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    */ - ClusterOperationArn?: string; + ClusterArn?: string; /** - *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster operation.

                                                                    */ - ClusterArn?: string; + ClusterOperationArn?: string; } export namespace UpdateClusterConfigurationResponse { @@ -2003,6 +2247,11 @@ export interface UpdateClusterKafkaVersionRequest { */ ClusterArn: string | undefined; + /** + *

                                                                    The custom configuration that should be applied on the new version of cluster.

                                                                    + */ + ConfigurationInfo?: ConfigurationInfo; + /** *

                                                                    Current cluster version.

                                                                    */ @@ -2012,11 +2261,6 @@ export interface UpdateClusterKafkaVersionRequest { *

                                                                    Target Kafka version.

                                                                    */ TargetKafkaVersion: string | undefined; - - /** - *

                                                                    The custom configuration that should be applied on the new version of cluster.

                                                                    - */ - ConfigurationInfo?: ConfigurationInfo; } export namespace UpdateClusterKafkaVersionRequest { @@ -2027,14 +2271,14 @@ export namespace UpdateClusterKafkaVersionRequest { export interface UpdateClusterKafkaVersionResponse { /** - *

                                                                    The Amazon Resource Name (ARN) of the cluster operation.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    */ - ClusterOperationArn?: string; + ClusterArn?: string; /** - *

                                                                    The Amazon Resource Name (ARN) of the cluster.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the cluster operation.

                                                                    */ - ClusterArn?: string; + ClusterOperationArn?: string; } export namespace UpdateClusterKafkaVersionResponse { @@ -2043,30 +2287,73 @@ export namespace UpdateClusterKafkaVersionResponse { }); } +export interface UpdateConfigurationRequest { + /** + *

                                                                    The description of the configuration revision.

                                                                    + */ + Description?: string; + + /** + *

                                                                    Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. + * When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

                                                                    + */ + ServerProperties: Uint8Array | undefined; + + /** + *

                                                                    The Amazon Resource Name (ARN) of the configuration.

                                                                    + */ + Arn: string | undefined; +} + +export namespace UpdateConfigurationRequest { + export const filterSensitiveLog = (obj: UpdateConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface UpdateConfigurationResponse { + /** + *

                                                                    The Amazon Resource Name (ARN) of the configuration.

                                                                    + */ + Arn?: string; + + /** + *

                                                                    Latest revision of the configuration.

                                                                    + */ + LatestRevision?: ConfigurationRevision; +} + +export namespace UpdateConfigurationResponse { + export const filterSensitiveLog = (obj: UpdateConfigurationResponse): any => ({ + ...obj, + }); +} + /** * Request body for UpdateMonitoring. */ export interface UpdateMonitoringRequest { /** - *

                                                                    Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

                                                                    + *

                                                                    The settings for open monitoring.

                                                                    */ - EnhancedMonitoring?: EnhancedMonitoring | string; + OpenMonitoring?: OpenMonitoringInfo; - LoggingInfo?: LoggingInfo; /** *

                                                                    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

                                                                    */ ClusterArn: string | undefined; /** - *

                                                                    The settings for open monitoring.

                                                                    + *

                                                                    The version of the MSK cluster to update. Cluster versions aren't simple numbers. You can describe an MSK cluster to find its version. When this update operation is successful, it generates a new cluster version.

                                                                    */ - OpenMonitoring?: OpenMonitoringInfo; + CurrentVersion: string | undefined; /** - *

                                                                    The version of the MSK cluster to update. Cluster versions aren't simple numbers. You can describe an MSK cluster to find its version. When this update operation is successful, it generates a new cluster version.

                                                                    + *

                                                                    Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

                                                                    */ - CurrentVersion: string | undefined; + EnhancedMonitoring?: EnhancedMonitoring | string; + + LoggingInfo?: LoggingInfo; } export namespace UpdateMonitoringRequest { diff --git a/clients/client-kafka/pagination/Interfaces.ts b/clients/client-kafka/pagination/Interfaces.ts new file mode 100644 index 000000000000..e0a58c739ebd --- /dev/null +++ b/clients/client-kafka/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { Kafka } from "../Kafka"; +import { KafkaClient } from "../KafkaClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface KafkaPaginationConfiguration extends PaginationConfiguration { + client: Kafka | KafkaClient; +} diff --git a/clients/client-kafka/pagination/ListClusterOperationsPaginator.ts b/clients/client-kafka/pagination/ListClusterOperationsPaginator.ts new file mode 100644 index 000000000000..3daaa39752c3 --- /dev/null +++ b/clients/client-kafka/pagination/ListClusterOperationsPaginator.ts @@ -0,0 +1,51 @@ +import { Kafka } from "../Kafka"; +import { KafkaClient } from "../KafkaClient"; +import { + ListClusterOperationsCommand, + ListClusterOperationsCommandInput, + ListClusterOperationsCommandOutput, +} from "../commands/ListClusterOperationsCommand"; +import { KafkaPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: KafkaClient, + input: ListClusterOperationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListClusterOperationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Kafka, + input: ListClusterOperationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listClusterOperations(input, ...args); +}; +export async function* listClusterOperationsPaginate( + config: KafkaPaginationConfiguration, + input: ListClusterOperationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListClusterOperationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Kafka) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof KafkaClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Kafka | KafkaClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-kafka/pagination/ListClustersPaginator.ts b/clients/client-kafka/pagination/ListClustersPaginator.ts new file mode 100644 index 000000000000..584139dc6e78 --- /dev/null +++ b/clients/client-kafka/pagination/ListClustersPaginator.ts @@ -0,0 +1,51 @@ +import { Kafka } from "../Kafka"; +import { KafkaClient } from "../KafkaClient"; +import { + ListClustersCommand, + ListClustersCommandInput, + ListClustersCommandOutput, +} from "../commands/ListClustersCommand"; +import { KafkaPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: KafkaClient, + input: ListClustersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListClustersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Kafka, + input: ListClustersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listClusters(input, ...args); +}; +export async function* listClustersPaginate( + config: KafkaPaginationConfiguration, + input: ListClustersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListClustersCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Kafka) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof KafkaClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Kafka | KafkaClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-kafka/pagination/ListConfigurationRevisionsPaginator.ts b/clients/client-kafka/pagination/ListConfigurationRevisionsPaginator.ts new file mode 100644 index 000000000000..743bd4a494c0 --- /dev/null +++ b/clients/client-kafka/pagination/ListConfigurationRevisionsPaginator.ts @@ -0,0 +1,51 @@ +import { Kafka } from "../Kafka"; +import { KafkaClient } from "../KafkaClient"; +import { + ListConfigurationRevisionsCommand, + ListConfigurationRevisionsCommandInput, + ListConfigurationRevisionsCommandOutput, +} from "../commands/ListConfigurationRevisionsCommand"; +import { KafkaPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: KafkaClient, + input: ListConfigurationRevisionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListConfigurationRevisionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Kafka, + input: ListConfigurationRevisionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listConfigurationRevisions(input, ...args); +}; +export async function* listConfigurationRevisionsPaginate( + config: KafkaPaginationConfiguration, + input: ListConfigurationRevisionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListConfigurationRevisionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Kafka) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof KafkaClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Kafka | KafkaClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-kafka/pagination/ListConfigurationsPaginator.ts b/clients/client-kafka/pagination/ListConfigurationsPaginator.ts new file mode 100644 index 000000000000..049c19ee808c --- /dev/null +++ b/clients/client-kafka/pagination/ListConfigurationsPaginator.ts @@ -0,0 +1,51 @@ +import { Kafka } from "../Kafka"; +import { KafkaClient } from "../KafkaClient"; +import { + ListConfigurationsCommand, + ListConfigurationsCommandInput, + ListConfigurationsCommandOutput, +} from "../commands/ListConfigurationsCommand"; +import { KafkaPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: KafkaClient, + input: ListConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListConfigurationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Kafka, + input: ListConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listConfigurations(input, ...args); +}; +export async function* listConfigurationsPaginate( + config: KafkaPaginationConfiguration, + input: ListConfigurationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListConfigurationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Kafka) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof KafkaClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Kafka | KafkaClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-kafka/pagination/ListKafkaVersionsPaginator.ts b/clients/client-kafka/pagination/ListKafkaVersionsPaginator.ts new file mode 100644 index 000000000000..f298aeb765c0 --- /dev/null +++ b/clients/client-kafka/pagination/ListKafkaVersionsPaginator.ts @@ -0,0 +1,51 @@ +import { Kafka } from "../Kafka"; +import { KafkaClient } from "../KafkaClient"; +import { + ListKafkaVersionsCommand, + ListKafkaVersionsCommandInput, + ListKafkaVersionsCommandOutput, +} from "../commands/ListKafkaVersionsCommand"; +import { KafkaPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: KafkaClient, + input: ListKafkaVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListKafkaVersionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Kafka, + input: ListKafkaVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listKafkaVersions(input, ...args); +}; +export async function* listKafkaVersionsPaginate( + config: KafkaPaginationConfiguration, + input: ListKafkaVersionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListKafkaVersionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Kafka) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof KafkaClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Kafka | KafkaClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-kafka/pagination/ListNodesPaginator.ts b/clients/client-kafka/pagination/ListNodesPaginator.ts new file mode 100644 index 000000000000..a34af5f725c4 --- /dev/null +++ b/clients/client-kafka/pagination/ListNodesPaginator.ts @@ -0,0 +1,47 @@ +import { Kafka } from "../Kafka"; +import { KafkaClient } from "../KafkaClient"; +import { ListNodesCommand, ListNodesCommandInput, ListNodesCommandOutput } from "../commands/ListNodesCommand"; +import { KafkaPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: KafkaClient, + input: ListNodesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListNodesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Kafka, + input: ListNodesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listNodes(input, ...args); +}; +export async function* listNodesPaginate( + config: KafkaPaginationConfiguration, + input: ListNodesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListNodesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Kafka) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof KafkaClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Kafka | KafkaClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-kafka/pagination/ListScramSecretsPaginator.ts b/clients/client-kafka/pagination/ListScramSecretsPaginator.ts new file mode 100644 index 000000000000..76426c91014e --- /dev/null +++ b/clients/client-kafka/pagination/ListScramSecretsPaginator.ts @@ -0,0 +1,51 @@ +import { Kafka } from "../Kafka"; +import { KafkaClient } from "../KafkaClient"; +import { + ListScramSecretsCommand, + ListScramSecretsCommandInput, + ListScramSecretsCommandOutput, +} from "../commands/ListScramSecretsCommand"; +import { KafkaPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: KafkaClient, + input: ListScramSecretsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListScramSecretsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Kafka, + input: ListScramSecretsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listScramSecrets(input, ...args); +}; +export async function* listScramSecretsPaginate( + config: KafkaPaginationConfiguration, + input: ListScramSecretsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListScramSecretsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Kafka) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof KafkaClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Kafka | KafkaClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-kafka/protocols/Aws_restJson1.ts b/clients/client-kafka/protocols/Aws_restJson1.ts index b5a4d686b62a..3fb3cc7e9900 100644 --- a/clients/client-kafka/protocols/Aws_restJson1.ts +++ b/clients/client-kafka/protocols/Aws_restJson1.ts @@ -1,9 +1,21 @@ +import { + BatchAssociateScramSecretCommandInput, + BatchAssociateScramSecretCommandOutput, +} from "../commands/BatchAssociateScramSecretCommand"; +import { + BatchDisassociateScramSecretCommandInput, + BatchDisassociateScramSecretCommandOutput, +} from "../commands/BatchDisassociateScramSecretCommand"; import { CreateClusterCommandInput, CreateClusterCommandOutput } from "../commands/CreateClusterCommand"; import { CreateConfigurationCommandInput, CreateConfigurationCommandOutput, } from "../commands/CreateConfigurationCommand"; import { DeleteClusterCommandInput, DeleteClusterCommandOutput } from "../commands/DeleteClusterCommand"; +import { + DeleteConfigurationCommandInput, + DeleteConfigurationCommandOutput, +} from "../commands/DeleteConfigurationCommand"; import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "../commands/DescribeClusterCommand"; import { DescribeClusterOperationCommandInput, @@ -37,6 +49,7 @@ import { import { ListConfigurationsCommandInput, ListConfigurationsCommandOutput } from "../commands/ListConfigurationsCommand"; import { ListKafkaVersionsCommandInput, ListKafkaVersionsCommandOutput } from "../commands/ListKafkaVersionsCommand"; import { ListNodesCommandInput, ListNodesCommandOutput } from "../commands/ListNodesCommand"; +import { ListScramSecretsCommandInput, ListScramSecretsCommandOutput } from "../commands/ListScramSecretsCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, @@ -57,6 +70,10 @@ import { UpdateClusterKafkaVersionCommandInput, UpdateClusterKafkaVersionCommandOutput, } from "../commands/UpdateClusterKafkaVersionCommand"; +import { + UpdateConfigurationCommandInput, + UpdateConfigurationCommandOutput, +} from "../commands/UpdateConfigurationCommand"; import { UpdateMonitoringCommandInput, UpdateMonitoringCommandOutput } from "../commands/UpdateMonitoringCommand"; import { BadRequestException, @@ -98,12 +115,15 @@ import { Prometheus, PrometheusInfo, S3, + Sasl, + Scram, ServiceUnavailableException, StateInfo, StorageInfo, Tls, TooManyRequestsException, UnauthorizedException, + UnprocessedScramSecret, ZookeeperNodeInfo, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; @@ -118,6 +138,76 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; +export const serializeAws_restJson1BatchAssociateScramSecretCommand = async ( + input: BatchAssociateScramSecretCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/v1/clusters/{ClusterArn}/scram-secrets"; + if (input.ClusterArn !== undefined) { + const labelValue: string = input.ClusterArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ClusterArn."); + } + resolvedPath = resolvedPath.replace("{ClusterArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ClusterArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.SecretArnList !== undefined && { + secretArnList: serializeAws_restJson1__listOf__string(input.SecretArnList, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1BatchDisassociateScramSecretCommand = async ( + input: BatchDisassociateScramSecretCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/v1/clusters/{ClusterArn}/scram-secrets"; + if (input.ClusterArn !== undefined) { + const labelValue: string = input.ClusterArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ClusterArn."); + } + resolvedPath = resolvedPath.replace("{ClusterArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ClusterArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.SecretArnList !== undefined && { + secretArnList: serializeAws_restJson1__listOf__string(input.SecretArnList, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PATCH", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateClusterCommand = async ( input: CreateClusterCommandInput, context: __SerdeContext @@ -227,6 +317,36 @@ export const serializeAws_restJson1DeleteClusterCommand = async ( }); }; +export const serializeAws_restJson1DeleteConfigurationCommand = async ( + input: DeleteConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v1/configurations/{Arn}"; + if (input.Arn !== undefined) { + const labelValue: string = input.Arn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Arn."); + } + resolvedPath = resolvedPath.replace("{Arn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Arn."); + } + 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_restJson1DescribeClusterCommand = async ( input: DescribeClusterCommandInput, context: __SerdeContext @@ -325,15 +445,6 @@ export const serializeAws_restJson1DescribeConfigurationRevisionCommand = async "Content-Type": "", }; let resolvedPath = "/v1/configurations/{Arn}/revisions/{Revision}"; - if (input.Arn !== undefined) { - const labelValue: string = input.Arn; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Arn."); - } - resolvedPath = resolvedPath.replace("{Arn}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Arn."); - } if (input.Revision !== undefined) { const labelValue: string = input.Revision.toString(); if (labelValue.length <= 0) { @@ -343,6 +454,15 @@ export const serializeAws_restJson1DescribeConfigurationRevisionCommand = async } else { throw new Error("No value provided for input HTTP label: Revision."); } + if (input.Arn !== undefined) { + const labelValue: string = input.Arn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Arn."); + } + resolvedPath = resolvedPath.replace("{Arn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Arn."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -429,8 +549,8 @@ export const serializeAws_restJson1ListClusterOperationsCommand = async ( throw new Error("No value provided for input HTTP label: ClusterArn."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -456,8 +576,8 @@ export const serializeAws_restJson1ListClustersCommand = async ( let resolvedPath = "/v1/clusters"; const query: any = { ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.ClusterNameFilter !== undefined && { clusterNameFilter: input.ClusterNameFilter }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.ClusterNameFilter !== undefined && { clusterNameFilter: input.ClusterNameFilter }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -577,6 +697,41 @@ export const serializeAws_restJson1ListNodesCommand = async ( } else { throw new Error("No value provided for input HTTP label: ClusterArn."); } + const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: 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_restJson1ListScramSecretsCommand = async ( + input: ListScramSecretsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v1/clusters/{ClusterArn}/scram-secrets"; + if (input.ClusterArn !== undefined) { + const labelValue: string = input.ClusterArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ClusterArn."); + } + resolvedPath = resolvedPath.replace("{ClusterArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ClusterArn."); + } const query: any = { ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), @@ -875,6 +1030,40 @@ export const serializeAws_restJson1UpdateClusterKafkaVersionCommand = async ( }); }; +export const serializeAws_restJson1UpdateConfigurationCommand = async ( + input: UpdateConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/v1/configurations/{Arn}"; + if (input.Arn !== undefined) { + const labelValue: string = input.Arn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Arn."); + } + resolvedPath = resolvedPath.replace("{Arn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Arn."); + } + let body: any; + body = JSON.stringify({ + ...(input.Description !== undefined && { description: input.Description }), + ...(input.ServerProperties !== undefined && { serverProperties: context.base64Encoder(input.ServerProperties) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1UpdateMonitoringCommand = async ( input: UpdateMonitoringCommandInput, context: __SerdeContext @@ -915,6 +1104,226 @@ export const serializeAws_restJson1UpdateMonitoringCommand = async ( }); }; +export const deserializeAws_restJson1BatchAssociateScramSecretCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchAssociateScramSecretCommandError(output, context); + } + const contents: BatchAssociateScramSecretCommandOutput = { + $metadata: deserializeMetadata(output), + ClusterArn: undefined, + UnprocessedScramSecrets: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.clusterArn !== undefined && data.clusterArn !== null) { + contents.ClusterArn = data.clusterArn; + } + if (data.unprocessedScramSecrets !== undefined && data.unprocessedScramSecrets !== null) { + contents.UnprocessedScramSecrets = deserializeAws_restJson1__listOfUnprocessedScramSecret( + data.unprocessedScramSecrets, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1BatchAssociateScramSecretCommandError = 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.kafka#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.kafka#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.kafka#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.kafka#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.kafka#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.kafka#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedException": + case "com.amazonaws.kafka#UnauthorizedException": + response = { + ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(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_restJson1BatchDisassociateScramSecretCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchDisassociateScramSecretCommandError(output, context); + } + const contents: BatchDisassociateScramSecretCommandOutput = { + $metadata: deserializeMetadata(output), + ClusterArn: undefined, + UnprocessedScramSecrets: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.clusterArn !== undefined && data.clusterArn !== null) { + contents.ClusterArn = data.clusterArn; + } + if (data.unprocessedScramSecrets !== undefined && data.unprocessedScramSecrets !== null) { + contents.UnprocessedScramSecrets = deserializeAws_restJson1__listOfUnprocessedScramSecret( + data.unprocessedScramSecrets, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1BatchDisassociateScramSecretCommandError = 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.kafka#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.kafka#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.kafka#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.kafka#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.kafka#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.kafka#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedException": + case "com.amazonaws.kafka#UnauthorizedException": + response = { + ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(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_restJson1CreateClusterCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1039,6 +1448,7 @@ export const deserializeAws_restJson1CreateConfigurationCommand = async ( CreationTime: undefined, LatestRevision: undefined, Name: undefined, + State: undefined, }; const data: any = await parseBody(output.body, context); if (data.arn !== undefined && data.arn !== null) { @@ -1053,6 +1463,9 @@ export const deserializeAws_restJson1CreateConfigurationCommand = async ( if (data.name !== undefined && data.name !== null) { contents.Name = data.name; } + if (data.state !== undefined && data.state !== null) { + contents.State = data.state; + } return Promise.resolve(contents); }; @@ -1103,23 +1516,106 @@ const deserializeAws_restJson1CreateConfigurationCommandError = async ( case "ServiceUnavailableException": case "com.amazonaws.kafka#ServiceUnavailableException": response = { - ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.kafka#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedException": + case "com.amazonaws.kafka#UnauthorizedException": + response = { + ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(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_restJson1DeleteClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteClusterCommandError(output, context); + } + const contents: DeleteClusterCommandOutput = { + $metadata: deserializeMetadata(output), + ClusterArn: undefined, + State: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.clusterArn !== undefined && data.clusterArn !== null) { + contents.ClusterArn = data.clusterArn; + } + if (data.state !== undefined && data.state !== null) { + contents.State = data.state; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteClusterCommandError = 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.kafka#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.kafka#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "TooManyRequestsException": - case "com.amazonaws.kafka#TooManyRequestsException": + case "InternalServerErrorException": + case "com.amazonaws.kafka#InternalServerErrorException": response = { - ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "UnauthorizedException": - case "com.amazonaws.kafka#UnauthorizedException": + case "NotFoundException": + case "com.amazonaws.kafka#NotFoundException": response = { - ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1141,21 +1637,21 @@ const deserializeAws_restJson1CreateConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteClusterCommand = async ( +export const deserializeAws_restJson1DeleteConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteClusterCommandError(output, context); + return deserializeAws_restJson1DeleteConfigurationCommandError(output, context); } - const contents: DeleteClusterCommandOutput = { + const contents: DeleteConfigurationCommandOutput = { $metadata: deserializeMetadata(output), - ClusterArn: undefined, + Arn: undefined, State: undefined, }; const data: any = await parseBody(output.body, context); - if (data.clusterArn !== undefined && data.clusterArn !== null) { - contents.ClusterArn = data.clusterArn; + if (data.arn !== undefined && data.arn !== null) { + contents.Arn = data.arn; } if (data.state !== undefined && data.state !== null) { contents.State = data.state; @@ -1163,10 +1659,10 @@ export const deserializeAws_restJson1DeleteClusterCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteClusterCommandError = async ( +const deserializeAws_restJson1DeleteConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1413,6 +1909,7 @@ export const deserializeAws_restJson1DescribeConfigurationCommand = async ( KafkaVersions: undefined, LatestRevision: undefined, Name: undefined, + State: undefined, }; const data: any = await parseBody(output.body, context); if (data.arn !== undefined && data.arn !== null) { @@ -1433,6 +1930,9 @@ export const deserializeAws_restJson1DescribeConfigurationCommand = async ( if (data.name !== undefined && data.name !== null) { contents.Name = data.name; } + if (data.state !== undefined && data.state !== null) { + contents.State = data.state; + } return Promise.resolve(contents); }; @@ -1634,12 +2134,16 @@ export const deserializeAws_restJson1GetBootstrapBrokersCommand = async ( const contents: GetBootstrapBrokersCommandOutput = { $metadata: deserializeMetadata(output), BootstrapBrokerString: undefined, + BootstrapBrokerStringSaslScram: undefined, BootstrapBrokerStringTls: undefined, }; const data: any = await parseBody(output.body, context); if (data.bootstrapBrokerString !== undefined && data.bootstrapBrokerString !== null) { contents.BootstrapBrokerString = data.bootstrapBrokerString; } + if (data.bootstrapBrokerStringSaslScram !== undefined && data.bootstrapBrokerStringSaslScram !== null) { + contents.BootstrapBrokerStringSaslScram = data.bootstrapBrokerStringSaslScram; + } if (data.bootstrapBrokerStringTls !== undefined && data.bootstrapBrokerStringTls !== null) { contents.BootstrapBrokerStringTls = data.bootstrapBrokerStringTls; } @@ -2346,6 +2850,113 @@ const deserializeAws_restJson1ListNodesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListScramSecretsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListScramSecretsCommandError(output, context); + } + const contents: ListScramSecretsCommandOutput = { + $metadata: deserializeMetadata(output), + NextToken: undefined, + SecretArnList: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.NextToken = data.nextToken; + } + if (data.secretArnList !== undefined && data.secretArnList !== null) { + contents.SecretArnList = deserializeAws_restJson1__listOf__string(data.secretArnList, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListScramSecretsCommandError = 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.kafka#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.kafka#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.kafka#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.kafka#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.kafka#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.kafka#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedException": + case "com.amazonaws.kafka#UnauthorizedException": + response = { + ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(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_restJson1ListTagsForResourceCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3046,6 +3657,105 @@ const deserializeAws_restJson1UpdateClusterKafkaVersionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1UpdateConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateConfigurationCommandError(output, context); + } + const contents: UpdateConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + Arn: undefined, + LatestRevision: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.Arn = data.arn; + } + if (data.latestRevision !== undefined && data.latestRevision !== null) { + contents.LatestRevision = deserializeAws_restJson1ConfigurationRevision(data.latestRevision, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateConfigurationCommandError = 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.kafka#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.kafka#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.kafka#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.kafka#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.kafka#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedException": + case "com.amazonaws.kafka#UnauthorizedException": + response = { + ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(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_restJson1UpdateMonitoringCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3361,6 +4071,7 @@ const serializeAws_restJson1BrokerNodeGroupInfo = (input: BrokerNodeGroupInfo, c const serializeAws_restJson1ClientAuthentication = (input: ClientAuthentication, context: __SerdeContext): any => { return { + ...(input.Sasl !== undefined && { sasl: serializeAws_restJson1Sasl(input.Sasl, context) }), ...(input.Tls !== undefined && { tls: serializeAws_restJson1Tls(input.Tls, context) }), }; }; @@ -3461,6 +4172,18 @@ const serializeAws_restJson1S3 = (input: S3, context: __SerdeContext): any => { }; }; +const serializeAws_restJson1Sasl = (input: Sasl, context: __SerdeContext): any => { + return { + ...(input.Scram !== undefined && { scram: serializeAws_restJson1Scram(input.Scram, context) }), + }; +}; + +const serializeAws_restJson1Scram = (input: Scram, context: __SerdeContext): any => { + return { + ...(input.Enabled !== undefined && { enabled: input.Enabled }), + }; +}; + const serializeAws_restJson1StorageInfo = (input: StorageInfo, context: __SerdeContext): any => { return { ...(input.EbsStorageInfo !== undefined && { @@ -3532,6 +4255,13 @@ const deserializeAws_restJson1__listOfNodeInfo = (output: any, context: __SerdeC return (output || []).map((entry: any) => deserializeAws_restJson1NodeInfo(entry, context)); }; +const deserializeAws_restJson1__listOfUnprocessedScramSecret = ( + output: any, + context: __SerdeContext +): UnprocessedScramSecret[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1UnprocessedScramSecret(entry, context)); +}; + const deserializeAws_restJson1__mapOf__string = (output: any, context: __SerdeContext): { [key: string]: string } => { return Object.entries(output).reduce( (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ @@ -3623,6 +4353,10 @@ const deserializeAws_restJson1BrokerSoftwareInfo = (output: any, context: __Serd const deserializeAws_restJson1ClientAuthentication = (output: any, context: __SerdeContext): ClientAuthentication => { return { + Sasl: + output.sasl !== undefined && output.sasl !== null + ? deserializeAws_restJson1Sasl(output.sasl, context) + : undefined, Tls: output.tls !== undefined && output.tls !== null ? deserializeAws_restJson1Tls(output.tls, context) : undefined, } as any; }; @@ -3691,6 +4425,10 @@ const deserializeAws_restJson1ClusterInfo = (output: any, context: __SerdeContex output.zookeeperConnectString !== undefined && output.zookeeperConnectString !== null ? output.zookeeperConnectString : undefined, + ZookeeperConnectStringTls: + output.zookeeperConnectStringTls !== undefined && output.zookeeperConnectStringTls !== null + ? output.zookeeperConnectStringTls + : undefined, } as any; }; @@ -3774,6 +4512,7 @@ const deserializeAws_restJson1Configuration = (output: any, context: __SerdeCont ? deserializeAws_restJson1ConfigurationRevision(output.latestRevision, context) : undefined, Name: output.name !== undefined && output.name !== null ? output.name : undefined, + State: output.state !== undefined && output.state !== null ? output.state : undefined, } as any; }; @@ -3953,6 +4692,21 @@ const deserializeAws_restJson1S3 = (output: any, context: __SerdeContext): S3 => } as any; }; +const deserializeAws_restJson1Sasl = (output: any, context: __SerdeContext): Sasl => { + return { + Scram: + output.scram !== undefined && output.scram !== null + ? deserializeAws_restJson1Scram(output.scram, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1Scram = (output: any, context: __SerdeContext): Scram => { + return { + Enabled: output.enabled !== undefined && output.enabled !== null ? output.enabled : undefined, + } as any; +}; + const deserializeAws_restJson1StateInfo = (output: any, context: __SerdeContext): StateInfo => { return { Code: output.code !== undefined && output.code !== null ? output.code : undefined, @@ -3978,6 +4732,17 @@ const deserializeAws_restJson1Tls = (output: any, context: __SerdeContext): Tls } as any; }; +const deserializeAws_restJson1UnprocessedScramSecret = ( + output: any, + context: __SerdeContext +): UnprocessedScramSecret => { + return { + ErrorCode: output.errorCode !== undefined && output.errorCode !== null ? output.errorCode : undefined, + ErrorMessage: output.errorMessage !== undefined && output.errorMessage !== null ? output.errorMessage : undefined, + SecretArn: output.secretArn !== undefined && output.secretArn !== null ? output.secretArn : undefined, + } as any; +}; + const deserializeAws_restJson1ZookeeperNodeInfo = (output: any, context: __SerdeContext): ZookeeperNodeInfo => { return { AttachedENIId: diff --git a/clients/client-kendra/Kendra.ts b/clients/client-kendra/Kendra.ts index 43faa2c1858c..2fa7127e1c6c 100644 --- a/clients/client-kendra/Kendra.ts +++ b/clients/client-kendra/Kendra.ts @@ -162,10 +162,9 @@ export class Kendra extends KendraClient { /** *

                                                                    Creates a data source that you use to with an Amazon Kendra index.

                                                                    - *

                                                                    You specify a name, connector type and description for your data source. You can choose - * between an S3 connector, a SharePoint Online connector, and a database connector.

                                                                    - *

                                                                    You also specify configuration information such as document metadata (author, source URI, - * and so on) and user context information.

                                                                    + *

                                                                    You specify a name, data source connector type and description for your data source. You + * also specify configuration information such as document metadata (author, source URI, and so + * on) and user context information.

                                                                    *

                                                                    * CreateDataSource is a synchronous operation. The operation returns 200 if the * data source was successfully created. Otherwise, an exception is raised.

                                                                    @@ -605,6 +604,7 @@ export class Kendra extends KendraClient { *
                                                                  *

                                                                  You can specify that the query return only one type of result using the * QueryResultTypeConfig parameter.

                                                                  + *

                                                                  Each query returns the 100 most relevant results.

                                                                  */ public query(args: QueryCommandInput, options?: __HttpHandlerOptions): Promise; public query(args: QueryCommandInput, cb: (err: any, data?: QueryCommandOutput) => void): void; diff --git a/clients/client-kendra/models/models_0.ts b/clients/client-kendra/models/models_0.ts index 0bdf2decce39..1718ebbab5aa 100644 --- a/clients/client-kendra/models/models_0.ts +++ b/clients/client-kendra/models/models_0.ts @@ -64,14 +64,14 @@ export interface Highlight { TopAnswer?: boolean; /** - *

                                                                  The zero-based location in the response string where the highlight ends.

                                                                  + *

                                                                  The zero-based location in the response string where the highlight starts.

                                                                  */ - EndOffset: number | undefined; + BeginOffset: number | undefined; /** - *

                                                                  The zero-based location in the response string where the highlight starts.

                                                                  + *

                                                                  The zero-based location in the response string where the highlight ends.

                                                                  */ - BeginOffset: number | undefined; + EndOffset: number | undefined; } export namespace Highlight { @@ -127,9 +127,9 @@ export enum AdditionalResultAttributeValueType { */ export interface AdditionalResultAttribute { /** - *

                                                                  The key that identifies the attribute.

                                                                  + *

                                                                  The data type of the Value property.

                                                                  */ - Key: string | undefined; + ValueType: AdditionalResultAttributeValueType | string | undefined; /** *

                                                                  An object that contains the attribute value.

                                                                  @@ -137,9 +137,9 @@ export interface AdditionalResultAttribute { Value: AdditionalResultAttributeValue | undefined; /** - *

                                                                  The data type of the Value property.

                                                                  + *

                                                                  The key that identifies the attribute.

                                                                  */ - ValueType: AdditionalResultAttributeValueType | string | undefined; + Key: string | undefined; } export namespace AdditionalResultAttribute { @@ -153,6 +153,11 @@ export namespace AdditionalResultAttribute { * attribute.

                                                                  */ export interface DocumentAttributeValue { + /** + *

                                                                  A list of strings.

                                                                  + */ + StringListValue?: string[]; + /** *

                                                                  A string, such as "department".

                                                                  */ @@ -167,11 +172,6 @@ export interface DocumentAttributeValue { *

                                                                  A long integer value.

                                                                  */ LongValue?: number; - - /** - *

                                                                  A list of strings.

                                                                  - */ - StringListValue?: string[]; } export namespace DocumentAttributeValue { @@ -229,14 +229,14 @@ export interface BatchDeleteDocumentRequest { IndexId: string | undefined; /** - *

                                                                  Maps a particular data source sync job to a particular data source.

                                                                  + *

                                                                  One or more identifiers for documents to delete from the index.

                                                                  */ - DataSourceSyncJobMetricTarget?: DataSourceSyncJobMetricTarget; + DocumentIdList: string[] | undefined; /** - *

                                                                  One or more identifiers for documents to delete from the index.

                                                                  + *

                                                                  Maps a particular data source sync job to a particular data source.

                                                                  */ - DocumentIdList: string[] | undefined; + DataSourceSyncJobMetricTarget?: DataSourceSyncJobMetricTarget; } export namespace BatchDeleteDocumentRequest { @@ -261,14 +261,14 @@ export interface BatchDeleteDocumentResponseFailedDocument { ErrorCode?: ErrorCode | string; /** - *

                                                                  An explanation for why the document couldn't be removed from the index.

                                                                  + *

                                                                  The identifier of the document that couldn't be removed from the index.

                                                                  */ - ErrorMessage?: string; + Id?: string; /** - *

                                                                  The identifier of the document that couldn't be removed from the index.

                                                                  + *

                                                                  An explanation for why the document couldn't be removed from the index.

                                                                  */ - Id?: string; + ErrorMessage?: string; } export namespace BatchDeleteDocumentResponseFailedDocument { @@ -436,9 +436,21 @@ export namespace S3Path { */ export interface Document { /** - *

                                                                  Information to use for user context filtering.

                                                                  + *

                                                                  Custom attributes to apply to the document. Use the custom attributes to provide + * additional information for searching, to provide facets for refining searches, and to + * provide additional information in the query response.

                                                                  */ - AccessControlList?: Principal[]; + Attributes?: DocumentAttribute[]; + + /** + *

                                                                  The title of the document.

                                                                  + */ + Title?: string; + + /** + *

                                                                  Information required to find a specific file in an Amazon S3 bucket.

                                                                  + */ + S3Path?: S3Path; /** *

                                                                  The file type of the document in the Blob field.

                                                                  @@ -451,9 +463,9 @@ export interface Document { Id: string | undefined; /** - *

                                                                  Information required to find a specific file in an Amazon S3 bucket.

                                                                  + *

                                                                  Information to use for user context filtering.

                                                                  */ - S3Path?: S3Path; + AccessControlList?: Principal[]; /** *

                                                                  The contents of the document.

                                                                  @@ -463,18 +475,6 @@ export interface Document { * must base64 encode the contents before sending.

                                                                  */ Blob?: Uint8Array; - - /** - *

                                                                  Custom attributes to apply to the document. Use the custom attributes to provide - * additional information for searching, to provide facets for refining searches, and to - * provide additional information in the query response.

                                                                  - */ - Attributes?: DocumentAttribute[]; - - /** - *

                                                                  The title of the document.

                                                                  - */ - Title?: string; } export namespace Document { @@ -503,18 +503,18 @@ export interface BatchPutDocumentRequest { */ Documents: Document[] | undefined; + /** + *

                                                                  The identifier of the index to add the documents to. You need to create the index first + * using the CreateIndex operation.

                                                                  + */ + IndexId: string | undefined; + /** *

                                                                  The Amazon Resource Name (ARN) of a role that is allowed to run the * BatchPutDocument operation. For more information, see IAM Roles for * Amazon Kendra.

                                                                  */ RoleArn?: string; - - /** - *

                                                                  The identifier of the index to add the documents to. You need to create the index first - * using the CreateIndex operation.

                                                                  - */ - IndexId: string | undefined; } export namespace BatchPutDocumentRequest { @@ -533,14 +533,14 @@ export interface BatchPutDocumentResponseFailedDocument { ErrorCode?: ErrorCode | string; /** - *

                                                                  A description of the reason why the document could not be indexed.

                                                                  + *

                                                                  The unique identifier of the document.

                                                                  */ - ErrorMessage?: string; + Id?: string; /** - *

                                                                  The unique identifier of the document.

                                                                  + *

                                                                  A description of the reason why the document could not be indexed.

                                                                  */ - Id?: string; + ErrorMessage?: string; } export namespace BatchPutDocumentResponseFailedDocument { @@ -588,6 +588,11 @@ export namespace ServiceQuotaExceededException { * the fields in the index using the UpdateIndex operation.

                                                                  */ export interface DataSourceToIndexFieldMapping { + /** + *

                                                                  The name of the field in the index.

                                                                  + */ + IndexFieldName: string | undefined; + /** *

                                                                  The name of the column or attribute in the data source.

                                                                  */ @@ -597,11 +602,6 @@ export interface DataSourceToIndexFieldMapping { *

                                                                  The type of data stored in the column or attribute.

                                                                  */ DateFieldFormat?: string; - - /** - *

                                                                  The name of the field in the index.

                                                                  - */ - IndexFieldName: string | undefined; } export namespace DataSourceToIndexFieldMapping { @@ -625,6 +625,12 @@ export interface ColumnConfiguration { */ DocumentDataColumnName: string | undefined; + /** + *

                                                                  An array of objects that map database column names to the corresponding fields in an + * index. You must first create the fields in the index using the UpdateIndex operation.

                                                                  + */ + FieldMappings?: DataSourceToIndexFieldMapping[]; + /** *

                                                                  The column that contains the title of the document.

                                                                  */ @@ -634,12 +640,6 @@ export interface ColumnConfiguration { *

                                                                  The column that provides the document's unique identifier.

                                                                  */ DocumentIdColumnName: string | undefined; - - /** - *

                                                                  An array of objects that map database column names to the corresponding fields in an - * index. You must first create the fields in the index using the UpdateIndex operation.

                                                                  - */ - FieldMappings?: DataSourceToIndexFieldMapping[]; } export namespace ColumnConfiguration { @@ -663,9 +663,10 @@ export interface ConnectionConfiguration { SecretArn: string | undefined; /** - *

                                                                  The name of the database containing the document data.

                                                                  + *

                                                                  The name of the host for the database. Can be either a string + * (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

                                                                  */ - DatabaseName: string | undefined; + DatabaseHost: string | undefined; /** *

                                                                  The port that the database uses for connections.

                                                                  @@ -673,15 +674,14 @@ export interface ConnectionConfiguration { DatabasePort: number | undefined; /** - *

                                                                  The name of the host for the database. Can be either a string - * (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

                                                                  + *

                                                                  The name of the table that contains the document data.

                                                                  */ - DatabaseHost: string | undefined; + TableName: string | undefined; /** - *

                                                                  The name of the table that contains the document data.

                                                                  + *

                                                                  The name of the database containing the document data.

                                                                  */ - TableName: string | undefined; + DatabaseName: string | undefined; } export namespace ConnectionConfiguration { @@ -707,16 +707,16 @@ export enum QueryIdentifiersEnclosingOption { */ export interface SqlConfiguration { /** - *

                                                                  Determines whether Amazon Kendra encloses SQL identifiers in double quotes (") when making a - * database query.

                                                                  + *

                                                                  Determines whether Amazon Kendra encloses SQL identifiers for tables and column names in + * double quotes (") when making a database query.

                                                                  *

                                                                  By default, Amazon Kendra passes SQL identifiers the way that they are entered into the data * source configuration. It does not change the case of identifiers or enclose them in * quotes.

                                                                  *

                                                                  PostgreSQL internally converts uppercase characters to lower case characters in * identifiers unless they are quoted. Choosing this option encloses identifiers in quotes * so that PostgreSQL does not convert the character's case.

                                                                  - *

                                                                  For MySQL databases, you must enable the ansi_quotes option when you - * choose this option.

                                                                  + *

                                                                  For MySQL databases, you must enable the ansi_quotes option when you set + * this field to DOUBLE_QUOTES.

                                                                  */ QueryIdentifiersEnclosingOption?: QueryIdentifiersEnclosingOption | string; } @@ -731,18 +731,18 @@ export namespace SqlConfiguration { *

                                                                  Provides information for connecting to an Amazon VPC.

                                                                  */ export interface DataSourceVpcConfiguration { - /** - *

                                                                  A list of identifiers of security groups within your Amazon VPC. The security groups - * should enable Amazon Kendra to connect to the data source.

                                                                  - */ - SecurityGroupIds: string[] | undefined; - /** *

                                                                  A list of identifiers for subnets within your Amazon VPC. The subnets should be able * to connect to each other in the VPC, and they should have outgoing access to the * Internet through a NAT device.

                                                                  */ SubnetIds: string[] | undefined; + + /** + *

                                                                  A list of identifiers of security groups within your Amazon VPC. The security groups + * should enable Amazon Kendra to connect to the data source.

                                                                  + */ + SecurityGroupIds: string[] | undefined; } export namespace DataSourceVpcConfiguration { @@ -756,9 +756,15 @@ export namespace DataSourceVpcConfiguration { */ export interface DatabaseConfiguration { /** - *

                                                                  The information necessary to connect to a database.

                                                                  + *

                                                                  Provides information about how Amazon Kendra uses quote marks around SQL identifiers when + * querying a database data source.

                                                                  */ - ConnectionConfiguration: ConnectionConfiguration | undefined; + SqlConfiguration?: SqlConfiguration; + + /** + *

                                                                  The type of database engine that runs the database.

                                                                  + */ + DatabaseEngineType: DatabaseEngineType | string | undefined; /** *

                                                                  Information about where the index should get the document information from the @@ -766,6 +772,11 @@ export interface DatabaseConfiguration { */ ColumnConfiguration: ColumnConfiguration | undefined; + /** + *

                                                                  The information necessary to connect to a database.

                                                                  + */ + ConnectionConfiguration: ConnectionConfiguration | undefined; + /** *

                                                                  Provides information for connecting to an Amazon VPC.

                                                                  */ @@ -776,17 +787,6 @@ export interface DatabaseConfiguration { * filtering.

                                                                  */ AclConfiguration?: AclConfiguration; - - /** - *

                                                                  The type of database engine that runs the database.

                                                                  - */ - DatabaseEngineType: DatabaseEngineType | string | undefined; - - /** - *

                                                                  Provides information about how Amazon Kendra uses quote marks around SQL identifiers when - * querying a database data source.

                                                                  - */ - SqlConfiguration?: SqlConfiguration; } export namespace DatabaseConfiguration { @@ -799,6 +799,12 @@ export namespace DatabaseConfiguration { *

                                                                  User accounts whose documents should be indexed.

                                                                  */ export interface OneDriveUsers { + /** + *

                                                                  The S3 bucket location of a file containing a list of users whose documents should be + * indexed.

                                                                  + */ + OneDriveUserS3Path?: S3Path; + /** *

                                                                  A list of users whose documents should be indexed. Specify the user names in email * format, for example, username@tenantdomain. If you need to index the @@ -806,12 +812,6 @@ export interface OneDriveUsers { * specify the location of a file containing a list of users.

                                                                  */ OneDriveUserList?: string[]; - - /** - *

                                                                  The S3 bucket location of a file containing a list of users whose documents should be - * indexed.

                                                                  - */ - OneDriveUserS3Path?: S3Path; } export namespace OneDriveUsers { @@ -824,19 +824,6 @@ export namespace OneDriveUsers { *

                                                                  Provides configuration information for data sources that connect to OneDrive.

                                                                  */ export interface OneDriveConfiguration { - /** - *

                                                                  The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the user - * name and password to connect to OneDrive. The user namd should be the application ID for - * the OneDrive application, and the password is the application key for the OneDrive - * application.

                                                                  - */ - SecretArn: string | undefined; - - /** - *

                                                                  Tha Azure Active Directory domain of the organization.

                                                                  - */ - TenantDomain: string | undefined; - /** *

                                                                  List of regular expressions applied to documents. Items that match the exclusion * pattern are not indexed. If you provide both an inclusion pattern and an exclusion @@ -850,6 +837,19 @@ export interface OneDriveConfiguration { */ OneDriveUsers: OneDriveUsers | undefined; + /** + *

                                                                  Tha Azure Active Directory domain of the organization.

                                                                  + */ + TenantDomain: string | undefined; + + /** + *

                                                                  The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the user + * name and password to connect to OneDrive. The user namd should be the application ID for + * the OneDrive application, and the password is the application key for the OneDrive + * application.

                                                                  + */ + SecretArn: string | undefined; + /** *

                                                                  A list of regular expression patterns. Documents that match the pattern are included * in the index. Documents that don't match the pattern are excluded from the index. If a @@ -899,18 +899,9 @@ export namespace DocumentsMetadataConfiguration { */ export interface S3DataSourceConfiguration { /** - *

                                                                  A list of glob patterns for documents that should not be indexed. If a document that - * matches an inclusion prefix also matches an exclusion pattern, the document is not - * indexed.

                                                                  - *

                                                                  For more information about glob patterns, see glob (programming) in - * Wikipedia.

                                                                  - */ - ExclusionPatterns?: string[]; - - /** - *

                                                                  A list of S3 prefixes for the documents that should be included in the index.

                                                                  + *

                                                                  The name of the bucket that contains the documents.

                                                                  */ - InclusionPrefixes?: string[]; + BucketName: string | undefined; /** *

                                                                  Provides the path to the S3 bucket that contains the user context filtering files for @@ -918,17 +909,26 @@ export interface S3DataSourceConfiguration { */ AccessControlListConfiguration?: AccessControlListConfiguration; - /** - *

                                                                  The name of the bucket that contains the documents.

                                                                  - */ - BucketName: string | undefined; - /** *

                                                                  Document metadata files that contain information such as the document access control * information, source URI, document author, and custom attributes. Each metadata file * contains metadata about a single document.

                                                                  */ DocumentsMetadataConfiguration?: DocumentsMetadataConfiguration; + + /** + *

                                                                  A list of S3 prefixes for the documents that should be included in the index.

                                                                  + */ + InclusionPrefixes?: string[]; + + /** + *

                                                                  A list of glob patterns for documents that should not be indexed. If a document that + * matches an inclusion prefix also matches an exclusion pattern, the document is not + * indexed.

                                                                  + *

                                                                  For more information about glob patterns, see glob (programming) in + * Wikipedia.

                                                                  + */ + ExclusionPatterns?: string[]; } export namespace S3DataSourceConfiguration { @@ -947,6 +947,12 @@ export enum SalesforceChatterFeedIncludeFilterType { * object comes from the Salesforce FeedItem table.

                                                                  */ export interface SalesforceChatterFeedConfiguration { + /** + *

                                                                  The name of the column in the Salesforce FeedItem table that contains the title of the + * document. This is typically the Title collumn.

                                                                  + */ + DocumentTitleFieldName?: string; + /** *

                                                                  Filters the documents in the feed based on status of the user. When you specify * ACTIVE_USERS only documents from users who have an active account are @@ -956,22 +962,16 @@ export interface SalesforceChatterFeedConfiguration { IncludeFilterTypes?: (SalesforceChatterFeedIncludeFilterType | string)[]; /** - *

                                                                  The name of the column in the Salesforce FeedItem table that contains the content to - * index. Typically this is the Body column.

                                                                  + *

                                                                  Maps fields from a Salesforce chatter feed into Amazon Kendra index fields.

                                                                  */ - DocumentDataFieldName: string | undefined; + FieldMappings?: DataSourceToIndexFieldMapping[]; /** - *

                                                                  The name of the column in the Salesforce FeedItem table that contains the title of the - * document. This is typically the Title collumn.

                                                                  + *

                                                                  The name of the column in the Salesforce FeedItem table that contains the content to + * index. Typically this is the Body column.

                                                                  */ - DocumentTitleFieldName?: string; - - /** - *

                                                                  Maps fields from a Salesforce chatter feed into Amazon Kendra index fields.

                                                                  - */ - FieldMappings?: DataSourceToIndexFieldMapping[]; -} + DocumentDataFieldName: string | undefined; +} export namespace SalesforceChatterFeedConfiguration { export const filterSensitiveLog = (obj: SalesforceChatterFeedConfiguration): any => ({ @@ -984,10 +984,10 @@ export namespace SalesforceChatterFeedConfiguration { */ export interface SalesforceCustomKnowledgeArticleTypeConfiguration { /** - *

                                                                  One or more objects that map fields in the custom knowledge article to fields in the - * Amazon Kendra index.

                                                                  + *

                                                                  The name of the field in the custom knowledge article that contains the document + * title.

                                                                  */ - FieldMappings?: DataSourceToIndexFieldMapping[]; + DocumentTitleFieldName?: string; /** *

                                                                  The name of the field in the custom knowledge article that contains the document data @@ -1001,10 +1001,10 @@ export interface SalesforceCustomKnowledgeArticleTypeConfiguration { Name: string | undefined; /** - *

                                                                  The name of the field in the custom knowledge article that contains the document - * title.

                                                                  + *

                                                                  One or more objects that map fields in the custom knowledge article to fields in the + * Amazon Kendra index.

                                                                  */ - DocumentTitleFieldName?: string; + FieldMappings?: DataSourceToIndexFieldMapping[]; } export namespace SalesforceCustomKnowledgeArticleTypeConfiguration { @@ -1023,17 +1023,17 @@ export enum SalesforceKnowledgeArticleState { *

                                                                  Provides configuration information for standard Salesforce knowledge articles.

                                                                  */ export interface SalesforceStandardKnowledgeArticleTypeConfiguration { - /** - *

                                                                  The name of the field that contains the document title.

                                                                  - */ - DocumentTitleFieldName?: string; - /** *

                                                                  One or more objects that map fields in the knowledge article to Amazon Kendra index fields. * The index field must exist before you can map a Salesforce field to it.

                                                                  */ FieldMappings?: DataSourceToIndexFieldMapping[]; + /** + *

                                                                  The name of the field that contains the document title.

                                                                  + */ + DocumentTitleFieldName?: string; + /** *

                                                                  The name of the field that contains the document data to index.

                                                                  */ @@ -1053,11 +1053,6 @@ export namespace SalesforceStandardKnowledgeArticleTypeConfiguration { *

                                                                  */ export interface SalesforceKnowledgeArticleConfiguration { - /** - *

                                                                  Provides configuration information for standard Salesforce knowledge articles.

                                                                  - */ - StandardKnowledgeArticleTypeConfiguration?: SalesforceStandardKnowledgeArticleTypeConfiguration; - /** *

                                                                  Specifies the document states that should be included when Amazon Kendra indexes knowledge * articles. You must specify at least one state.

                                                                  @@ -1068,6 +1063,11 @@ export interface SalesforceKnowledgeArticleConfiguration { *

                                                                  Provides configuration information for custom Salesforce knowledge articles.

                                                                  */ CustomKnowledgeArticleTypeConfigurations?: SalesforceCustomKnowledgeArticleTypeConfiguration[]; + + /** + *

                                                                  Provides configuration information for standard Salesforce knowledge articles.

                                                                  + */ + StandardKnowledgeArticleTypeConfiguration?: SalesforceStandardKnowledgeArticleTypeConfiguration; } export namespace SalesforceKnowledgeArticleConfiguration { @@ -1124,15 +1124,15 @@ export enum SalesforceStandardObjectName { export interface SalesforceStandardObjectConfiguration { /** *

                                                                  The name of the field in the standard object table that contains the document - * titleB.

                                                                  + * contents.

                                                                  */ - DocumentTitleFieldName?: string; + DocumentDataFieldName: string | undefined; /** - *

                                                                  One or more objects that map fields in the standard object to Amazon Kendra index fields. - * The index field must exist before you can map a Salesforce field to it.

                                                                  + *

                                                                  The name of the field in the standard object table that contains the document + * titleB.

                                                                  */ - FieldMappings?: DataSourceToIndexFieldMapping[]; + DocumentTitleFieldName?: string; /** *

                                                                  The name of the standard object.

                                                                  @@ -1140,10 +1140,10 @@ export interface SalesforceStandardObjectConfiguration { Name: SalesforceStandardObjectName | string | undefined; /** - *

                                                                  The name of the field in the standard object table that contains the document - * contents.

                                                                  + *

                                                                  One or more objects that map fields in the standard object to Amazon Kendra index fields. + * The index field must exist before you can map a Salesforce field to it.

                                                                  */ - DocumentDataFieldName: string | undefined; + FieldMappings?: DataSourceToIndexFieldMapping[]; } export namespace SalesforceStandardObjectConfiguration { @@ -1156,6 +1156,11 @@ export namespace SalesforceStandardObjectConfiguration { *

                                                                  Provides configuration information for connecting to a Salesforce data source.

                                                                  */ export interface SalesforceConfiguration { + /** + *

                                                                  Indicates whether Amazon Kendra should index attachments to Salesforce objects.

                                                                  + */ + CrawlAttachments?: boolean; + /** *

                                                                  A list of regular expression patterns. Documents that match the patterns are included * in the index. Documents that don't match the patterns are excluded from the index. If a @@ -1165,6 +1170,38 @@ export interface SalesforceConfiguration { */ IncludeAttachmentFilePatterns?: string[]; + /** + *

                                                                  A list of regular expression patterns. Documents that match the patterns are excluded + * from the index. Documents that don't match the patterns are included in the index. If a + * document matches both an exclusion pattern and an inclusion pattern, the document is not + * included in the index.

                                                                  + *

                                                                  The regex is applied to the name of the attached file.

                                                                  + */ + ExcludeAttachmentFilePatterns?: string[]; + + /** + *

                                                                  Specifies configuration information for the knowlege article types that Amazon Kendra + * indexes. Amazon Kendra indexes standard knowledge articles and the standard fields of + * knowledge articles, or the custom fields of custom knowledge articles, but not + * both.

                                                                  + */ + KnowledgeArticleConfiguration?: SalesforceKnowledgeArticleConfiguration; + + /** + *

                                                                  Specifies configuration information for Salesforce chatter feeds.

                                                                  + */ + ChatterFeedConfiguration?: SalesforceChatterFeedConfiguration; + + /** + *

                                                                  Specifies the Salesforce standard objects that Amazon Kendra indexes.

                                                                  + */ + StandardObjectConfigurations?: SalesforceStandardObjectConfiguration[]; + + /** + *

                                                                  The instance URL for the Salesforce site that you want to index.

                                                                  + */ + ServerUrl: string | undefined; + /** *

                                                                  The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the * key/value pairs required to connect to your Salesforce instance. The secret must contain @@ -1198,48 +1235,11 @@ export interface SalesforceConfiguration { */ SecretArn: string | undefined; - /** - *

                                                                  The instance URL for the Salesforce site that you want to index.

                                                                  - */ - ServerUrl: string | undefined; - - /** - *

                                                                  Indicates whether Amazon Kendra should index attachments to Salesforce objects.

                                                                  - */ - CrawlAttachments?: boolean; - - /** - *

                                                                  Specifies configuration information for the knowlege article types that Amazon Kendra - * indexes. Amazon Kendra indexes standard knowledge articles and the standard fields of - * knowledge articles, or the custom fields of custom knowledge articles, but not - * both.

                                                                  - */ - KnowledgeArticleConfiguration?: SalesforceKnowledgeArticleConfiguration; - /** *

                                                                  Provides configuration information for processing attachments to Salesforce standard * objects.

                                                                  */ StandardObjectAttachmentConfiguration?: SalesforceStandardObjectAttachmentConfiguration; - - /** - *

                                                                  A list of regular expression patterns. Documents that match the patterns are excluded - * from the index. Documents that don't match the patterns are included in the index. If a - * document matches both an exclusion pattern and an inclusion pattern, the document is not - * included in the index.

                                                                  - *

                                                                  The regex is applied to the name of the attached file.

                                                                  - */ - ExcludeAttachmentFilePatterns?: string[]; - - /** - *

                                                                  Specifies the Salesforce standard objects that Amazon Kendra indexes.

                                                                  - */ - StandardObjectConfigurations?: SalesforceStandardObjectConfiguration[]; - - /** - *

                                                                  Specifies configuration information for Salesforce chatter feeds.

                                                                  - */ - ChatterFeedConfiguration?: SalesforceChatterFeedConfiguration; } export namespace SalesforceConfiguration { @@ -1254,18 +1254,16 @@ export namespace SalesforceConfiguration { */ export interface ServiceNowKnowledgeArticleConfiguration { /** - *

                                                                  The name of the ServiceNow field that is mapped to the index document title - * field.

                                                                  + *

                                                                  Indicates whether Amazon Kendra should index attachments to knowledge articles.

                                                                  */ - DocumentTitleFieldName?: string; + CrawlAttachments?: boolean; /** *

                                                                  List of regular expressions applied to knowledge articles. Items that don't match the * inclusion pattern are not indexed. The regex is applied to the field specified in the - * PatternTargetField - *

                                                                  + * PatternTargetField.

                                                                  */ - ExcludeAttachmentFilePatterns?: string[]; + IncludeAttachmentFilePatterns?: string[]; /** *

                                                                  The name of the ServiceNow field that is mapped to the index document contents field @@ -1273,11 +1271,6 @@ export interface ServiceNowKnowledgeArticleConfiguration { */ DocumentDataFieldName: string | undefined; - /** - *

                                                                  Indicates whether Amazon Kendra should index attachments to knowledge articles.

                                                                  - */ - CrawlAttachments?: boolean; - /** *

                                                                  Mapping between ServiceNow fields and Amazon Kendra index fields. You must create the index * field before you map the field.

                                                                  @@ -1287,9 +1280,16 @@ export interface ServiceNowKnowledgeArticleConfiguration { /** *

                                                                  List of regular expressions applied to knowledge articles. Items that don't match the * inclusion pattern are not indexed. The regex is applied to the field specified in the - * PatternTargetField.

                                                                  + * PatternTargetField + *

                                                                  */ - IncludeAttachmentFilePatterns?: string[]; + ExcludeAttachmentFilePatterns?: string[]; + + /** + *

                                                                  The name of the ServiceNow field that is mapped to the index document title + * field.

                                                                  + */ + DocumentTitleFieldName?: string; } export namespace ServiceNowKnowledgeArticleConfiguration { @@ -1304,10 +1304,9 @@ export namespace ServiceNowKnowledgeArticleConfiguration { */ export interface ServiceNowServiceCatalogConfiguration { /** - *

                                                                  The name of the ServiceNow field that is mapped to the index document title - * field.

                                                                  + *

                                                                  Determines the types of file attachments that are included in the index.

                                                                  */ - DocumentTitleFieldName?: string; + IncludeAttachmentFilePatterns?: string[]; /** *

                                                                  The name of the ServiceNow field that is mapped to the index document contents field @@ -1316,10 +1315,10 @@ export interface ServiceNowServiceCatalogConfiguration { DocumentDataFieldName: string | undefined; /** - *

                                                                  Indicates whether Amazon Kendra should crawl attachments to the service catalog items. - *

                                                                  + *

                                                                  The name of the ServiceNow field that is mapped to the index document title + * field.

                                                                  */ - CrawlAttachments?: boolean; + DocumentTitleFieldName?: string; /** *

                                                                  Determines the types of file attachments that are excluded from the index.

                                                                  @@ -1327,9 +1326,10 @@ export interface ServiceNowServiceCatalogConfiguration { ExcludeAttachmentFilePatterns?: string[]; /** - *

                                                                  Determines the types of file attachments that are included in the index.

                                                                  + *

                                                                  Indicates whether Amazon Kendra should crawl attachments to the service catalog items. + *

                                                                  */ - IncludeAttachmentFilePatterns?: string[]; + CrawlAttachments?: boolean; /** *

                                                                  Mapping between ServiceNow fields and Amazon Kendra index fields. You must create the index @@ -1355,10 +1355,10 @@ export enum ServiceNowBuildVersionType { */ export interface ServiceNowConfiguration { /** - *

                                                                  The identifier of the release that the ServiceNow host is running. If the host is not - * running the LONDON release, use OTHERS.

                                                                  + *

                                                                  Provides configuration information for crawling knowledge articles in the ServiceNow + * site.

                                                                  */ - ServiceNowBuildVersion: ServiceNowBuildVersionType | string | undefined; + KnowledgeArticleConfiguration?: ServiceNowKnowledgeArticleConfiguration; /** *

                                                                  Provides configuration information for crawling service catalogs in the ServiceNow @@ -1367,10 +1367,10 @@ export interface ServiceNowConfiguration { ServiceCatalogConfiguration?: ServiceNowServiceCatalogConfiguration; /** - *

                                                                  The Amazon Resource Name (ARN) of the AWS Secret Manager secret that contains the user - * name and password required to connect to the ServiceNow instance.

                                                                  + *

                                                                  The identifier of the release that the ServiceNow host is running. If the host is not + * running the LONDON release, use OTHERS.

                                                                  */ - SecretArn: string | undefined; + ServiceNowBuildVersion: ServiceNowBuildVersionType | string | undefined; /** *

                                                                  The ServiceNow instance that the data source connects to. The host endpoint should @@ -1380,10 +1380,10 @@ export interface ServiceNowConfiguration { HostUrl: string | undefined; /** - *

                                                                  Provides configuration information for crawling knowledge articles in the ServiceNow - * site.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the AWS Secret Manager secret that contains the user + * name and password required to connect to the ServiceNow instance.

                                                                  */ - KnowledgeArticleConfiguration?: ServiceNowKnowledgeArticleConfiguration; + SecretArn: string | undefined; } export namespace ServiceNowConfiguration { @@ -1402,28 +1402,9 @@ export enum SharePointVersion { */ export interface SharePointConfiguration { /** - *

                                                                  A list of regular expression patterns. Documents that match the patterns are excluded - * from the index. Documents that don't match the patterns are included in the index. If a - * document matches both an exclusion pattern and an inclusion pattern, the document is not - * included in the index.

                                                                  - *

                                                                  The regex is applied to the display URL of the SharePoint document.

                                                                  - */ - ExclusionPatterns?: string[]; - - /** - *

                                                                  The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. The - * credentials should be a user/password pair. For more information, see Using a - * Microsoft SharePoint Data Source. For more information about AWS Secrets - * Manager, see What Is AWS Secrets Manager - * in the AWS Secrets Manager user guide.

                                                                  - */ - SecretArn: string | undefined; - - /** - *

                                                                  The URLs of the Microsoft SharePoint site that contains the documents that should be - * indexed.

                                                                  + *

                                                                  Provides information for connecting to an Amazon VPC.

                                                                  */ - Urls: string[] | undefined; + VpcConfiguration?: DataSourceVpcConfiguration; /** *

                                                                  @@ -1433,12 +1414,13 @@ export interface SharePointConfiguration { CrawlAttachments?: boolean; /** - *

                                                                  Set to TRUE to use the Microsoft SharePoint change log to determine the - * documents that need to be updated in the index. Depending on the size of the SharePoint - * change log, it may take longer for Amazon Kendra to use the change log than it takes it - * to determine the changed documents using the Amazon Kendra document crawler.

                                                                  + *

                                                                  A list of regular expression patterns. Documents that match the patterns are included + * in the index. Documents that don't match the patterns are excluded from the index. If a + * document matches both an inclusion pattern and an exclusion pattern, the document is not + * included in the index.

                                                                  + *

                                                                  The regex is applied to the display URL of the SharePoint document.

                                                                  */ - UseChangeLog?: boolean; + InclusionPatterns?: string[]; /** *

                                                                  A list of DataSourceToIndexFieldMapping objects that map Microsoft @@ -1449,9 +1431,21 @@ export interface SharePointConfiguration { FieldMappings?: DataSourceToIndexFieldMapping[]; /** - *

                                                                  The version of Microsoft SharePoint that you are using as a data source.

                                                                  + *

                                                                  Set to TRUE to use the Microsoft SharePoint change log to determine the + * documents that need to be updated in the index. Depending on the size of the SharePoint + * change log, it may take longer for Amazon Kendra to use the change log than it takes it + * to determine the changed documents using the Amazon Kendra document crawler.

                                                                  */ - SharePointVersion: SharePointVersion | string | undefined; + UseChangeLog?: boolean; + + /** + *

                                                                  A list of regular expression patterns. Documents that match the patterns are excluded + * from the index. Documents that don't match the patterns are included in the index. If a + * document matches both an exclusion pattern and an inclusion pattern, the document is not + * included in the index.

                                                                  + *

                                                                  The regex is applied to the display URL of the SharePoint document.

                                                                  + */ + ExclusionPatterns?: string[]; /** *

                                                                  The Microsoft SharePoint attribute field that contains the title of the @@ -1460,18 +1454,24 @@ export interface SharePointConfiguration { DocumentTitleFieldName?: string; /** - *

                                                                  Provides information for connecting to an Amazon VPC.

                                                                  + *

                                                                  The version of Microsoft SharePoint that you are using as a data source.

                                                                  */ - VpcConfiguration?: DataSourceVpcConfiguration; + SharePointVersion: SharePointVersion | string | undefined; /** - *

                                                                  A list of regular expression patterns. Documents that match the patterns are included - * in the index. Documents that don't match the patterns are excluded from the index. If a - * document matches both an inclusion pattern and an exclusion pattern, the document is not - * included in the index.

                                                                  - *

                                                                  The regex is applied to the display URL of the SharePoint document.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. The + * credentials should be a user/password pair. For more information, see Using a + * Microsoft SharePoint Data Source. For more information about AWS Secrets + * Manager, see What Is AWS Secrets Manager + * in the AWS Secrets Manager user guide.

                                                                  */ - InclusionPatterns?: string[]; + SecretArn: string | undefined; + + /** + *

                                                                  The URLs of the Microsoft SharePoint site that contains the documents that should be + * indexed.

                                                                  + */ + Urls: string[] | undefined; } export namespace SharePointConfiguration { @@ -1485,7 +1485,12 @@ export namespace SharePointConfiguration { */ export interface DataSourceConfiguration { /** - *

                                                                  Provides information necessary to create a connector for a Microsoft SharePoint + *

                                                                  Provides configuration for data sources that connect to ServiceNow instances.

                                                                  + */ + ServiceNowConfiguration?: ServiceNowConfiguration; + + /** + *

                                                                  Provides information necessary to create a data source connector for a Microsoft SharePoint * site.

                                                                  */ SharePointConfiguration?: SharePointConfiguration; @@ -1497,25 +1502,20 @@ export interface DataSourceConfiguration { SalesforceConfiguration?: SalesforceConfiguration; /** - *

                                                                  Provides configuration for data sources that connect to ServiceNow instances.

                                                                  - */ - ServiceNowConfiguration?: ServiceNowConfiguration; - - /** - *

                                                                  Provided configuration for data sources that connect to Microsoft OneDrive.

                                                                  + *

                                                                  Provides information to create a data source connector for a document repository in an Amazon S3 + * bucket.

                                                                  */ - OneDriveConfiguration?: OneDriveConfiguration; + S3Configuration?: S3DataSourceConfiguration; /** - *

                                                                  Provides information necessary to create a connector for a database.

                                                                  + *

                                                                  Provides information necessary to create a data source connector for a database.

                                                                  */ DatabaseConfiguration?: DatabaseConfiguration; /** - *

                                                                  Provides information to create a connector for a document repository in an Amazon S3 - * bucket.

                                                                  + *

                                                                  Provided configuration for data sources that connect to Microsoft OneDrive.

                                                                  */ - S3Configuration?: S3DataSourceConfiguration; + OneDriveConfiguration?: OneDriveConfiguration; } export namespace DataSourceConfiguration { @@ -1560,9 +1560,9 @@ export enum DataSourceType { export interface CreateDataSourceRequest { /** - *

                                                                  A description for the data source.

                                                                  + *

                                                                  The identifier of the index that should be associated with this data source.

                                                                  */ - Description?: string; + IndexId: string | undefined; /** *

                                                                  The type of repository that contains the data source.

                                                                  @@ -1570,8 +1570,8 @@ export interface CreateDataSourceRequest { Type: DataSourceType | string | undefined; /** - *

                                                                  A list of key-value pairs that identify the data source. You can use the tags - * to identify and organize your resources and to control access to resources.

                                                                  + *

                                                                  A list of key-value pairs that identify the data source. You can use the tags to identify + * and organize your resources and to control access to resources.

                                                                  */ Tags?: Tag[]; @@ -1582,6 +1582,11 @@ export interface CreateDataSourceRequest { */ RoleArn: string | undefined; + /** + *

                                                                  The data source connector configuration information that is required to access the repository.

                                                                  + */ + Configuration: DataSourceConfiguration | undefined; + /** *

                                                                  A unique name for the data source. A data source name can't be changed without deleting * and recreating the data source.

                                                                  @@ -1597,14 +1602,9 @@ export interface CreateDataSourceRequest { Schedule?: string; /** - *

                                                                  The identifier of the index that should be associated with this data source.

                                                                  - */ - IndexId: string | undefined; - - /** - *

                                                                  The connector configuration information that is required to access the repository.

                                                                  + *

                                                                  A description for the data source.

                                                                  */ - Configuration: DataSourceConfiguration | undefined; + Description?: string; } export namespace CreateDataSourceRequest { @@ -1641,6 +1641,12 @@ export namespace ResourceAlreadyExistException { }); } +export enum FaqFileFormat { + CSV = "CSV", + CSV_WITH_HEADER = "CSV_WITH_HEADER", + JSON = "JSON", +} + export interface CreateFaqRequest { /** *

                                                                  The name that should be associated with the FAQ.

                                                                  @@ -1648,15 +1654,27 @@ export interface CreateFaqRequest { Name: string | undefined; /** - *

                                                                  A list of key-value pairs that identify the FAQ. You can use the tags - * to identify and organize your resources and to control access to resources.

                                                                  + *

                                                                  The format of the input file. You can choose between a basic CSV format, a CSV format + * that includes customs attributes in a header, and a JSON format that includes custom + * attributes.

                                                                  + *

                                                                  The format must match the format of the file stored in the S3 bucket identified in the + * S3Path parameter.

                                                                  + *

                                                                  For more information, see Adding questions and + * answers.

                                                                  */ - Tags?: Tag[]; + FileFormat?: FaqFileFormat | string; /** - *

                                                                  The identifier of the index that contains the FAQ.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of a role with permission to access the S3 bucket that + * contains the FAQs. For more information, see IAM Roles for Amazon Kendra.

                                                                  */ - IndexId: string | undefined; + RoleArn: string | undefined; + + /** + *

                                                                  A list of key-value pairs that identify the FAQ. You can use the tags to identify and + * organize your resources and to control access to resources.

                                                                  + */ + Tags?: Tag[]; /** *

                                                                  The S3 location of the FAQ input data.

                                                                  @@ -1669,11 +1687,9 @@ export interface CreateFaqRequest { Description?: string; /** - *

                                                                  The Amazon Resource Name (ARN) of a role with permission to - * access the S3 bucket that contains the FAQs. For more information, see IAM Roles for - * Amazon Kendra.

                                                                  + *

                                                                  The identifier of the index that contains the FAQ.

                                                                  */ - RoleArn: string | undefined; + IndexId: string | undefined; } export namespace CreateFaqRequest { @@ -1727,42 +1743,44 @@ export interface CreateIndexRequest { ServerSideEncryptionConfiguration?: ServerSideEncryptionConfiguration; /** - *

                                                                  The name for the new index.

                                                                  + *

                                                                  A description for the index.

                                                                  */ - Name: string | undefined; + Description?: string; /** - *

                                                                  A list of key-value pairs that identify the index. You can use the tags to identify and - * organize your resources and to control access to resources.

                                                                  + *

                                                                  A token that you provide to identify the request to create an index. Multiple calls to the + * CreateIndex operation with the same client token will create only one + * index.”

                                                                  */ - Tags?: Tag[]; + ClientToken?: string; + + /** + *

                                                                  An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and + * metrics. This is also the role used when you use the BatchPutDocument operation + * to index documents from an Amazon S3 bucket.

                                                                  + */ + RoleArn: string | undefined; /** *

                                                                  The Amazon Kendra edition to use for the index. Choose DEVELOPER_EDITION for * indexes intended for development, testing, or proof of concept. Use * ENTERPRISE_EDITION for your production databases. Once you set the edition for * an index, it can't be changed.

                                                                  + *

                                                                  The Edition parameter is optional. If you don't supply a value, the default + * is ENTERPRISE_EDITION.

                                                                  */ Edition?: IndexEdition | string; /** - *

                                                                  A description for the index.

                                                                  - */ - Description?: string; - - /** - *

                                                                  An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and - * metrics. This is also the role used when you use the BatchPutDocument operation - * to index documents from an Amazon S3 bucket.

                                                                  + *

                                                                  A list of key-value pairs that identify the index. You can use the tags to identify and + * organize your resources and to control access to resources.

                                                                  */ - RoleArn: string | undefined; + Tags?: Tag[]; /** - *

                                                                  A token that you provide to identify the request to create an index. Multiple calls to the - * CreateIndex operation with the same client token will create only one - * index.”

                                                                  + *

                                                                  The name for the new index.

                                                                  */ - ClientToken?: string; + Name: string | undefined; } export namespace CreateIndexRequest { @@ -1792,14 +1810,14 @@ export namespace CreateIndexResponse { export interface DeleteDataSourceRequest { /** - *

                                                                  The unique identifier of the data source to delete.

                                                                  + *

                                                                  The unique identifier of the index associated with the data source.

                                                                  */ - Id: string | undefined; + IndexId: string | undefined; /** - *

                                                                  The unique identifier of the index associated with the data source.

                                                                  + *

                                                                  The unique identifier of the data source to delete.

                                                                  */ - IndexId: string | undefined; + Id: string | undefined; } export namespace DeleteDataSourceRequest { @@ -1841,14 +1859,14 @@ export namespace DeleteIndexRequest { export interface DescribeDataSourceRequest { /** - *

                                                                  The unique identifier of the data source to describe.

                                                                  + *

                                                                  The identifier of the index that contains the data source.

                                                                  */ - Id: string | undefined; + IndexId: string | undefined; /** - *

                                                                  The identifier of the index that contains the data source.

                                                                  + *

                                                                  The unique identifier of the data source to describe.

                                                                  */ - IndexId: string | undefined; + Id: string | undefined; } export namespace DescribeDataSourceRequest { @@ -1867,43 +1885,41 @@ export enum DataSourceStatus { export interface DescribeDataSourceResponse { /** - *

                                                                  The identifier of the index that contains the data source.

                                                                  + *

                                                                  The type of the data source.

                                                                  */ - IndexId?: string; + Type?: DataSourceType | string; /** - *

                                                                  The current status of the data source. When the status is ACTIVE the data - * source is ready to use. When the status is FAILED, the ErrorMessage - * field contains the reason that the data source failed.

                                                                  + *

                                                                  The identifier of the index that contains the data source.

                                                                  */ - Status?: DataSourceStatus | string; + IndexId?: string; /** - *

                                                                  The description of the data source.

                                                                  + *

                                                                  Information that describes where the data source is located and how the data source is + * configured. The specific information in the description depends on the data source + * provider.

                                                                  */ - Description?: string; + Configuration?: DataSourceConfiguration; /** - *

                                                                  The identifier of the data source.

                                                                  + *

                                                                  The name that you gave the data source when it was created.

                                                                  */ - Id?: string; + Name?: string; /** - *

                                                                  The schedule that Amazon Kendra will update the data source.

                                                                  + *

                                                                  The description of the data source.

                                                                  */ - Schedule?: string; + Description?: string; /** - *

                                                                  The Unix timestamp of when the data source was created.

                                                                  + *

                                                                  The Unix timestamp of when the data source was last updated.

                                                                  */ - CreatedAt?: Date; + UpdatedAt?: Date; /** - *

                                                                  Information that describes where the data source is located and how the data source is - * configured. The specific information in the description depends on the data source - * provider.

                                                                  + *

                                                                  The identifier of the data source.

                                                                  */ - Configuration?: DataSourceConfiguration; + Id?: string; /** *

                                                                  When the Status field value is FAILED, the @@ -1913,25 +1929,27 @@ export interface DescribeDataSourceResponse { ErrorMessage?: string; /** - *

                                                                  The Unix timestamp of when the data source was last updated.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the role that enables the data source to access its + * resources.

                                                                  */ - UpdatedAt?: Date; + RoleArn?: string; /** - *

                                                                  The name that you gave the data source when it was created.

                                                                  + *

                                                                  The Unix timestamp of when the data source was created.

                                                                  */ - Name?: string; + CreatedAt?: Date; /** - *

                                                                  The type of the data source.

                                                                  + *

                                                                  The schedule that Amazon Kendra will update the data source.

                                                                  */ - Type?: DataSourceType | string; + Schedule?: string; /** - *

                                                                  The Amazon Resource Name (ARN) of the role that enables the data source to access its - * resources.

                                                                  + *

                                                                  The current status of the data source. When the status is ACTIVE the data + * source is ready to use. When the status is FAILED, the ErrorMessage + * field contains the reason that the data source failed.

                                                                  */ - RoleArn?: string; + Status?: DataSourceStatus | string; } export namespace DescribeDataSourceResponse { @@ -1942,14 +1960,14 @@ export namespace DescribeDataSourceResponse { export interface DescribeFaqRequest { /** - *

                                                                  The unique identifier of the FAQ.

                                                                  + *

                                                                  The identifier of the index that contains the FAQ.

                                                                  */ - Id: string | undefined; + IndexId: string | undefined; /** - *

                                                                  The identifier of the index that contains the FAQ.

                                                                  + *

                                                                  The unique identifier of the FAQ.

                                                                  */ - IndexId: string | undefined; + Id: string | undefined; } export namespace DescribeFaqRequest { @@ -1968,9 +1986,10 @@ export enum FaqStatus { export interface DescribeFaqResponse { /** - *

                                                                  The identifier of the FAQ.

                                                                  + *

                                                                  If the Status field is FAILED, the ErrorMessage + * field contains the reason why the FAQ failed.

                                                                  */ - Id?: string; + ErrorMessage?: string; /** *

                                                                  The description of the FAQ that you provided when it was created.

                                                                  @@ -1978,14 +1997,20 @@ export interface DescribeFaqResponse { Description?: string; /** - *

                                                                  Information required to find a specific file in an Amazon S3 bucket.

                                                                  + *

                                                                  The identifier of the FAQ.

                                                                  */ - S3Path?: S3Path; + Id?: string; /** - *

                                                                  The date and time that the FAQ was created.

                                                                  + *

                                                                  The date and time that the FAQ was last updated.

                                                                  */ - CreatedAt?: Date; + UpdatedAt?: Date; + + /** + *

                                                                  The Amazon Resource Name (ARN) of the role that provides access to the S3 bucket + * containing the input files for the FAQ.

                                                                  + */ + RoleArn?: string; /** *

                                                                  The identifier of the index that contains the FAQ.

                                                                  @@ -1993,32 +2018,30 @@ export interface DescribeFaqResponse { IndexId?: string; /** - *

                                                                  The status of the FAQ. It is ready to use when the status is - * ACTIVE.

                                                                  + *

                                                                  Information required to find a specific file in an Amazon S3 bucket.

                                                                  */ - Status?: FaqStatus | string; + S3Path?: S3Path; /** - *

                                                                  The name that you gave the FAQ when it was created.

                                                                  + *

                                                                  The file format used by the input files for the FAQ.

                                                                  */ - Name?: string; + FileFormat?: FaqFileFormat | string; /** - *

                                                                  The Amazon Resource Name (ARN) of the role that provides access to - * the S3 bucket containing the input files for the FAQ.

                                                                  + *

                                                                  The name that you gave the FAQ when it was created.

                                                                  */ - RoleArn?: string; + Name?: string; /** - *

                                                                  If the Status field is FAILED, the ErrorMessage - * field contains the reason why the FAQ failed.

                                                                  + *

                                                                  The date and time that the FAQ was created.

                                                                  */ - ErrorMessage?: string; + CreatedAt?: Date; /** - *

                                                                  The date and time that the FAQ was last updated.

                                                                  + *

                                                                  The status of the FAQ. It is ready to use when the status is + * ACTIVE.

                                                                  */ - UpdatedAt?: Date; + Status?: FaqStatus | string; } export namespace DescribeFaqResponse { @@ -2045,17 +2068,17 @@ export namespace DescribeIndexRequest { * units to tune an index to your requirements.

                                                                  */ export interface CapacityUnitsConfiguration { - /** - *

                                                                  The amount of extra query capacity for an index. Each capacity unit provides 0.5 - * queries per second and 40,000 queries per day.

                                                                  - */ - QueryCapacityUnits: number | undefined; - /** *

                                                                  The amount of extra storage capacity for an index. Each capacity unit provides 150 Gb * of storage space or 500,000 documents, whichever is reached first.

                                                                  */ StorageCapacityUnits: number | undefined; + + /** + *

                                                                  The amount of extra query capacity for an index. Each capacity unit provides 0.5 + * queries per second and 40,000 queries per day.

                                                                  + */ + QueryCapacityUnits: number | undefined; } export namespace CapacityUnitsConfiguration { @@ -2083,6 +2106,18 @@ export interface Relevance { */ Freshness?: boolean; + /** + *

                                                                  Determines how values should be interpreted.

                                                                  + *

                                                                  When the RankOrder field is ASCENDING, higher numbers are + * better. For example, a document with a rating score of 10 is higher ranking than a + * document with a rating score of 1.

                                                                  + *

                                                                  When the RankOrder field is DESCENDING, lower numbers are + * better. For example, in a task tracking application, a priority 1 task is more important + * than a priority 5 task.

                                                                  + *

                                                                  Only applies to LONG and DOUBLE fields.

                                                                  + */ + RankOrder?: Order | string; + /** *

                                                                  A list of values that should be given a different boost when they appear in the result * list. For example, if you are boosting a field called "department," query terms that @@ -2106,18 +2141,6 @@ export interface Relevance { */ Duration?: string; - /** - *

                                                                  Determines how values should be interpreted.

                                                                  - *

                                                                  When the RankOrder field is ASCENDING, higher numbers are - * better. For example, a document with a rating score of 10 is higher ranking than a - * document with a rating score of 1.

                                                                  - *

                                                                  When the RankOrder field is DESCENDING, lower numbers are - * better. For example, in a task tracking application, a priority 1 task is more important - * than a priority 5 task.

                                                                  - *

                                                                  Only applies to LONG and DOUBLE fields.

                                                                  - */ - RankOrder?: Order | string; - /** *

                                                                  The relative importance of the field in the search. Larger numbers provide more of a * boost than smaller numbers.

                                                                  @@ -2135,6 +2158,14 @@ export namespace Relevance { *

                                                                  Provides information about how a custom index field is used during a search.

                                                                  */ export interface Search { + /** + *

                                                                  Determines whether the field is used in the search. If the Searchable + * field is true, you can use relevance tuning to manually tune how Amazon Kendra + * weights the field in the search. The default is true for string fields and + * false for number and date fields.

                                                                  + */ + Searchable?: boolean; + /** *

                                                                  Indicates that the field can be used to create search facets, a count of results for * each value in the field. The default is false .

                                                                  @@ -2154,14 +2185,6 @@ export interface Search { * false.

                                                                  */ Sortable?: boolean; - - /** - *

                                                                  Determines whether the field is used in the search. If the Searchable - * field is true, you can use relevance tuning to manually tune how Amazon Kendra - * weights the field in the search. The default is true for string fields and - * false for number and date fields.

                                                                  - */ - Searchable?: boolean; } export namespace Search { @@ -2182,9 +2205,9 @@ export enum DocumentAttributeValueType { */ export interface DocumentMetadataConfiguration { /** - *

                                                                  Provides information about how the field is used during a search.

                                                                  + *

                                                                  The data type of the index field.

                                                                  */ - Search?: Search; + Type: DocumentAttributeValueType | string | undefined; /** *

                                                                  The name of the index field.

                                                                  @@ -2198,9 +2221,9 @@ export interface DocumentMetadataConfiguration { Relevance?: Relevance; /** - *

                                                                  The data type of the index field.

                                                                  + *

                                                                  Provides information about how the field is used during a search.

                                                                  */ - Type: DocumentAttributeValueType | string | undefined; + Search?: Search; } export namespace DocumentMetadataConfiguration { @@ -2253,14 +2276,14 @@ export namespace TextDocumentStatistics { */ export interface IndexStatistics { /** - *

                                                                  The number of question and answer topics in the index.

                                                                  + *

                                                                  The number of text documents indexed.

                                                                  */ - FaqStatistics: FaqStatistics | undefined; + TextDocumentStatistics: TextDocumentStatistics | undefined; /** - *

                                                                  The number of text documents indexed.

                                                                  + *

                                                                  The number of question and answer topics in the index.

                                                                  */ - TextDocumentStatistics: TextDocumentStatistics | undefined; + FaqStatistics: FaqStatistics | undefined; } export namespace IndexStatistics { @@ -2280,10 +2303,16 @@ export enum IndexStatus { export interface DescribeIndexResponse { /** - *

                                                                  When th eStatus field value is FAILED, the + *

                                                                  The Unix datetime that the index was created.

                                                                  + */ + CreatedAt?: Date; + + /** + *

                                                                  The current status of the index. When the value is ACTIVE, the index is ready + * for use. If the Status field value is FAILED, the * ErrorMessage field contains a message that explains why.

                                                                  */ - ErrorMessage?: string; + Status?: IndexStatus | string; /** *

                                                                  The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission to write @@ -2296,16 +2325,6 @@ export interface DescribeIndexResponse { */ DocumentMetadataConfigurations?: DocumentMetadataConfiguration[]; - /** - *

                                                                  the name of the index.

                                                                  - */ - Id?: string; - - /** - *

                                                                  The description of the index.

                                                                  - */ - Description?: string; - /** *

                                                                  For enterprise edtion indexes, you can choose to use additional capacity to meet the needs * of your application. This contains the capacity units used for the index. A 0 for the query @@ -2314,6 +2333,12 @@ export interface DescribeIndexResponse { */ CapacityUnits?: CapacityUnitsConfiguration; + /** + *

                                                                  When th eStatus field value is FAILED, the + * ErrorMessage field contains a message that explains why.

                                                                  + */ + ErrorMessage?: string; + /** *

                                                                  Provides information about the number of FAQ questions and answers and the number of text * documents indexed.

                                                                  @@ -2321,9 +2346,20 @@ export interface DescribeIndexResponse { IndexStatistics?: IndexStatistics; /** - *

                                                                  The Unix datetime that the index was created.

                                                                  + *

                                                                  The description of the index.

                                                                  */ - CreatedAt?: Date; + Description?: string; + + /** + *

                                                                  the name of the index.

                                                                  + */ + Id?: string; + + /** + *

                                                                  The Amazon Kendra edition used for the index. You decide the edition when you create the + * index.

                                                                  + */ + Edition?: IndexEdition | string; /** *

                                                                  The Unix datetime that the index was last updated.

                                                                  @@ -2335,24 +2371,11 @@ export interface DescribeIndexResponse { */ Name?: string; - /** - *

                                                                  The Amazon Kendra edition used for the index. You decide the edition when you create the - * index.

                                                                  - */ - Edition?: IndexEdition | string; - /** *

                                                                  The identifier of the AWS KMS customer master key (CMK) used to encrypt your data. * Amazon Kendra doesn't support asymmetric CMKs.

                                                                  */ ServerSideEncryptionConfiguration?: ServerSideEncryptionConfiguration; - - /** - *

                                                                  The current status of the index. When the value is ACTIVE, the index is ready - * for use. If the Status field value is FAILED, the - * ErrorMessage field contains a message that explains why.

                                                                  - */ - Status?: IndexStatus | string; } export namespace DescribeIndexResponse { @@ -2396,35 +2419,35 @@ export namespace ListDataSourcesRequest { */ export interface DataSourceSummary { /** - *

                                                                  The unique identifier for the data source.

                                                                  + *

                                                                  The UNIX datetime that the data source was created.

                                                                  */ - Id?: string; + CreatedAt?: Date; /** - *

                                                                  The UNIX datetime that the data source was lasted updated.

                                                                  + *

                                                                  The status of the data source. When the status is ATIVE the data source + * is ready to use.

                                                                  */ - UpdatedAt?: Date; + Status?: DataSourceStatus | string; /** - *

                                                                  The name of the data source.

                                                                  + *

                                                                  The type of the data source.

                                                                  */ - Name?: string; + Type?: DataSourceType | string; /** - *

                                                                  The type of the data source.

                                                                  + *

                                                                  The UNIX datetime that the data source was lasted updated.

                                                                  */ - Type?: DataSourceType | string; + UpdatedAt?: Date; /** - *

                                                                  The status of the data source. When the status is ATIVE the data source - * is ready to use.

                                                                  + *

                                                                  The name of the data source.

                                                                  */ - Status?: DataSourceStatus | string; + Name?: string; /** - *

                                                                  The UNIX datetime that the data source was created.

                                                                  + *

                                                                  The unique identifier for the data source.

                                                                  */ - CreatedAt?: Date; + Id?: string; } export namespace DataSourceSummary { @@ -2435,15 +2458,15 @@ export namespace DataSourceSummary { export interface ListDataSourcesResponse { /** - *

                                                                  If the response is truncated, Amazon Kendra returns this token that you can use in the - * subsequent request to retrieve the next set of data sources.

                                                                  + *

                                                                  An array of summary information for one or more data sources.

                                                                  */ - NextToken?: string; + SummaryItems?: DataSourceSummary[]; /** - *

                                                                  An array of summary information for one or more data sources.

                                                                  + *

                                                                  If the response is truncated, Amazon Kendra returns this token that you can use in the + * subsequent request to retrieve the next set of data sources.

                                                                  */ - SummaryItems?: DataSourceSummary[]; + NextToken?: string; } export namespace ListDataSourcesResponse { @@ -2484,28 +2507,22 @@ export enum DataSourceSyncJobStatus { } export interface ListDataSourceSyncJobsRequest { - /** - *

                                                                  The identifier of the data source.

                                                                  - */ - Id: string | undefined; - /** *

                                                                  The identifier of the index that contains the data source.

                                                                  */ IndexId: string | undefined; - /** - *

                                                                  If the result of the previous request to GetDataSourceSyncJobHistory was - * truncated, include the NextToken to fetch the next set of jobs.

                                                                  - */ - NextToken?: string; - /** *

                                                                  The maximum number of synchronization jobs to return in the response. If there are fewer * results in the list, this response contains only the actual results.

                                                                  */ MaxResults?: number; + /** + *

                                                                  The identifier of the data source.

                                                                  + */ + Id: string | undefined; + /** *

                                                                  When specified, the synchronization jobs returned in the list are limited to jobs between * the specified dates.

                                                                  @@ -2517,6 +2534,12 @@ export interface ListDataSourceSyncJobsRequest { * to the specified status.

                                                                  */ StatusFilter?: DataSourceSyncJobStatus | string; + + /** + *

                                                                  If the result of the previous request to GetDataSourceSyncJobHistory was + * truncated, include the NextToken to fetch the next set of jobs.

                                                                  + */ + NextToken?: string; } export namespace ListDataSourceSyncJobsRequest { @@ -2527,7 +2550,7 @@ export namespace ListDataSourceSyncJobsRequest { /** *

                                                                  Maps a batch delete document request to a specific data source sync job. This is - * optional and should only be supplied when documents are deleted by a connector.

                                                                  + * optional and should only be supplied when documents are deleted by a data source connector.

                                                                  */ export interface DataSourceSyncJobMetrics { /** @@ -2542,12 +2565,6 @@ export interface DataSourceSyncJobMetrics { */ DocumentsModified?: string; - /** - *

                                                                  The current number of documents crawled by the current sync job in the data - * source.

                                                                  - */ - DocumentsScanned?: string; - /** *

                                                                  The number of documents deleted from the data source up to now in the data source sync * run.

                                                                  @@ -2559,6 +2576,12 @@ export interface DataSourceSyncJobMetrics { * sync.

                                                                  */ DocumentsAdded?: string; + + /** + *

                                                                  The current number of documents crawled by the current sync job in the data + * source.

                                                                  + */ + DocumentsScanned?: string; } export namespace DataSourceSyncJobMetrics { @@ -2577,9 +2600,11 @@ export interface DataSourceSyncJob { StartTime?: Date; /** - *

                                                                  A unique identifier for the synchronization job.

                                                                  + *

                                                                  If the Status field is set to FAILED, the + * ErrorCode field contains a the reason that the synchronization + * failed.

                                                                  */ - ExecutionId?: string; + ErrorCode?: ErrorCode | string; /** *

                                                                  If the reason that the synchronization failed is due to an error with the underlying @@ -2595,10 +2620,9 @@ export interface DataSourceSyncJob { ErrorMessage?: string; /** - *

                                                                  Maps a batch delete document request to a specific data source sync job. This is - * optional and should only be supplied when documents are deleted by a connector.

                                                                  + *

                                                                  A unique identifier for the synchronization job.

                                                                  */ - Metrics?: DataSourceSyncJobMetrics; + ExecutionId?: string; /** *

                                                                  The execution status of the synchronization job. When the Status field is @@ -2609,16 +2633,15 @@ export interface DataSourceSyncJob { Status?: DataSourceSyncJobStatus | string; /** - *

                                                                  The UNIX datetime that the synchronization job was completed.

                                                                  + *

                                                                  Maps a batch delete document request to a specific data source sync job. This is + * optional and should only be supplied when documents are deleted by a data source connector.

                                                                  */ - EndTime?: Date; + Metrics?: DataSourceSyncJobMetrics; /** - *

                                                                  If the Status field is set to FAILED, the - * ErrorCode field contains a the reason that the synchronization - * failed.

                                                                  + *

                                                                  The UNIX datetime that the synchronization job was completed.

                                                                  */ - ErrorCode?: ErrorCode | string; + EndTime?: Date; } export namespace DataSourceSyncJob { @@ -2628,11 +2651,6 @@ export namespace DataSourceSyncJob { } export interface ListDataSourceSyncJobsResponse { - /** - *

                                                                  A history of synchronization jobs for the data source.

                                                                  - */ - History?: DataSourceSyncJob[]; - /** *

                                                                  The GetDataSourceSyncJobHistory operation returns a page of vocabularies at a * time. The maximum size of the page is set by the MaxResults parameter. If there @@ -2641,6 +2659,11 @@ export interface ListDataSourceSyncJobsResponse { * return in the next page of jobs.

                                                                  */ NextToken?: string; + + /** + *

                                                                  A history of synchronization jobs for the data source.

                                                                  + */ + History?: DataSourceSyncJob[]; } export namespace ListDataSourceSyncJobsResponse { @@ -2655,17 +2678,17 @@ export interface ListFaqsRequest { */ IndexId: string | undefined; - /** - *

                                                                  The maximum number of FAQs to return in the response. If there are fewer results in - * the list, this response contains only the actual results.

                                                                  - */ - MaxResults?: number; - /** *

                                                                  If the result of the previous request to ListFaqs was truncated, include * the NextToken to fetch the next set of FAQs.

                                                                  */ NextToken?: string; + + /** + *

                                                                  The maximum number of FAQs to return in the response. If there are fewer results in + * the list, this response contains only the actual results.

                                                                  + */ + MaxResults?: number; } export namespace ListFaqsRequest { @@ -2680,30 +2703,35 @@ export namespace ListFaqsRequest { */ export interface FaqSummary { /** - *

                                                                  The UNIX datetime that the FAQ was last updated.

                                                                  + *

                                                                  The UNIX datetime that the FAQ was added to the index.

                                                                  */ - UpdatedAt?: Date; + CreatedAt?: Date; /** - *

                                                                  The unique identifier of the FAQ.

                                                                  + *

                                                                  The current status of the FAQ. When the status is ACTIVE the FAQ is ready + * for use.

                                                                  */ - Id?: string; + Status?: FaqStatus | string; /** - *

                                                                  The name that you assigned the FAQ when you created or updated the FAQ.

                                                                  + *

                                                                  The UNIX datetime that the FAQ was last updated.

                                                                  */ - Name?: string; + UpdatedAt?: Date; /** - *

                                                                  The current status of the FAQ. When the status is ACTIVE the FAQ is ready - * for use.

                                                                  + *

                                                                  The file type used to create the FAQ.

                                                                  + */ + FileFormat?: FaqFileFormat | string; + + /** + *

                                                                  The name that you assigned the FAQ when you created or updated the FAQ.

                                                                  */ - Status?: FaqStatus | string; + Name?: string; /** - *

                                                                  The UNIX datetime that the FAQ was added to the index.

                                                                  + *

                                                                  The unique identifier of the FAQ.

                                                                  */ - CreatedAt?: Date; + Id?: string; } export namespace FaqSummary { @@ -2713,11 +2741,6 @@ export namespace FaqSummary { } export interface ListFaqsResponse { - /** - *

                                                                  information about the FAQs associated with the specified index.

                                                                  - */ - FaqSummaryItems?: FaqSummary[]; - /** *

                                                                  The ListFaqs operation returns a page of FAQs at a time. The maximum size * of the page is set by the MaxResults parameter. If there are more jobs in @@ -2726,6 +2749,11 @@ export interface ListFaqsResponse { * the next page of FAQs.

                                                                  */ NextToken?: string; + + /** + *

                                                                  information about the FAQs associated with the specified index.

                                                                  + */ + FaqSummaryItems?: FaqSummary[]; } export namespace ListFaqsResponse { @@ -2735,17 +2763,17 @@ export namespace ListFaqsResponse { } export interface ListIndicesRequest { + /** + *

                                                                  The maximum number of data sources to return.

                                                                  + */ + MaxResults?: number; + /** *

                                                                  If the previous response was incomplete (because there is more data to retrieve), * Amazon Kendra returns a pagination token in the response. You can use this pagination token to * retrieve the next set of indexes (DataSourceSummaryItems).

                                                                  */ NextToken?: string; - - /** - *

                                                                  The maximum number of data sources to return.

                                                                  - */ - MaxResults?: number; } export namespace ListIndicesRequest { @@ -2765,33 +2793,33 @@ export interface IndexConfigurationSummary { */ Id?: string; - /** - *

                                                                  The Unix timestamp when the index was last updated by the UpdateIndex - * operation.

                                                                  - */ - UpdatedAt: Date | undefined; - /** *

                                                                  Indicates whether the index is a enterprise edition index or a developer edition * index.

                                                                  */ Edition?: IndexEdition | string; + /** + *

                                                                  The current status of the index. When the status is ACTIVE, the index is + * ready to search.

                                                                  + */ + Status: IndexStatus | string | undefined; + /** *

                                                                  The name of the index.

                                                                  */ Name?: string; /** - *

                                                                  The Unix timestamp when the index was created.

                                                                  + *

                                                                  The Unix timestamp when the index was last updated by the UpdateIndex + * operation.

                                                                  */ - CreatedAt: Date | undefined; + UpdatedAt: Date | undefined; /** - *

                                                                  The current status of the index. When the status is ACTIVE, the index is - * ready to search.

                                                                  + *

                                                                  The Unix timestamp when the index was created.

                                                                  */ - Status: IndexStatus | string | undefined; + CreatedAt: Date | undefined; } export namespace IndexConfigurationSummary { @@ -2893,6 +2921,24 @@ export enum SortOrder { * specify a single attribute for sorting. The attribute must have the * Sortable flag set to true, otherwise Amazon Kendra returns an * exception.

                                                                  + *

                                                                  You can sort attributes of the following types.

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    Date value

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Long value

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    String value

                                                                    + *
                                                                  • + *
                                                                  + *

                                                                  You can't sort attributes of the following type.

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    String list value

                                                                    + *
                                                                  • + *
                                                                  */ export interface SortingConfiguration { /** @@ -2970,6 +3016,12 @@ export interface FacetResult { * provided in the query.

                                                                  */ DocumentAttributeKey?: string; + + /** + *

                                                                  The data type of the facet value. This is the same as the type defined for the index + * field when it was created.

                                                                  + */ + DocumentAttributeValueType?: DocumentAttributeValueType | string; } export namespace FacetResult { @@ -2978,6 +3030,30 @@ export namespace FacetResult { }); } +export enum ScoreConfidence { + HIGH = "HIGH", + LOW = "LOW", + MEDIUM = "MEDIUM", + VERY_HIGH = "VERY_HIGH", +} + +/** + *

                                                                  Provides a relative ranking that indicates how confident Amazon Kendra is that the response + * matches the query.

                                                                  + */ +export interface ScoreAttributes { + /** + *

                                                                  A relative ranking for how well the response matches the query.

                                                                  + */ + ScoreConfidence?: ScoreConfidence | string; +} + +export namespace ScoreAttributes { + export const filterSensitiveLog = (obj: ScoreAttributes): any => ({ + ...obj, + }); +} + /** *

                                                                  A single query result.

                                                                  *

                                                                  A query result contains information about a document returned by the query. This @@ -2986,15 +3062,9 @@ export namespace FacetResult { */ export interface QueryResultItem { /** - *

                                                                  The unique identifier for the query result.

                                                                  - */ - Id?: string; - - /** - *

                                                                  The title of the document. Contains the text of the title and information for - * highlighting the relevant terms in the title.

                                                                  + *

                                                                  The type of document.

                                                                  */ - DocumentTitle?: TextWithHighlights; + Type?: QueryResultType | string; /** *

                                                                  The URI of the original location of the document.

                                                                  @@ -3008,25 +3078,43 @@ export interface QueryResultItem { DocumentAttributes?: DocumentAttribute[]; /** - *

                                                                  The type of document.

                                                                  + *

                                                                  The title of the document. Contains the text of the title and information for + * highlighting the relevant terms in the title.

                                                                  */ - Type?: QueryResultType | string; + DocumentTitle?: TextWithHighlights; /** - *

                                                                  The unique identifier for the document.

                                                                  + *

                                                                  The unique identifier for the query result.

                                                                  */ - DocumentId?: string; + Id?: string; /** - *

                                                                  One or more additional attribues associated with the query result.

                                                                  + *

                                                                  The unique identifier for the document.

                                                                  */ - AdditionalAttributes?: AdditionalResultAttribute[]; + DocumentId?: string; /** *

                                                                  An extract of the text in the document. Contains information about highlighting the * relevant terms in the excerpt.

                                                                  */ DocumentExcerpt?: TextWithHighlights; + + /** + *

                                                                  One or more additional attributes associated with the query result.

                                                                  + */ + AdditionalAttributes?: AdditionalResultAttribute[]; + + /** + *

                                                                  Indicates the confidence that Amazon Kendra has that a result matches the query that you + * provided. Each result is placed into a bin that indicates the confidence, + * VERY_HIGH, HIGH, MEDIUM and LOW. You + * can use the score to determine if a response meets the confidence needed for your + * application.

                                                                  + *

                                                                  The field is only set to LOW when the Type field is set to + * DOCUMENT and Amazon Kendra is not confident that the result matches the + * query.

                                                                  + */ + ScoreAttributes?: ScoreAttributes; } export namespace QueryResultItem { @@ -3041,6 +3129,12 @@ export interface QueryResult { */ ResultItems?: QueryResultItem[]; + /** + *

                                                                  The unique identifier for the search. You use QueryId to identify the + * search when using the feedback API.

                                                                  + */ + QueryId?: string; + /** *

                                                                  Contains the facet results. A FacetResult contains the counts for each * attribute key that was specified in the Facets input parameter.

                                                                  @@ -3048,16 +3142,11 @@ export interface QueryResult { FacetResults?: FacetResult[]; /** - *

                                                                  The number of items returned by the search. Use this to determine when you have - * requested the last set of results.

                                                                  + *

                                                                  The total number of items found by the search; however, you can only retrieve up to 100 + * items. For example, if the search found 192 items, you can only retrieve the first 100 of + * the items.

                                                                  */ TotalNumberOfResults?: number; - - /** - *

                                                                  The unique identifier for the search. You use QueryId to identify the - * search when using the feedback API.

                                                                  - */ - QueryId?: string; } export namespace QueryResult { @@ -3137,14 +3226,14 @@ export namespace StopDataSourceSyncJobRequest { */ export interface ClickFeedback { /** - *

                                                                  The Unix timestamp of the date and time that the result was clicked.

                                                                  + *

                                                                  The unique identifier of the search result that was clicked.

                                                                  */ - ClickTime: Date | undefined; + ResultId: string | undefined; /** - *

                                                                  The unique identifier of the search result that was clicked.

                                                                  + *

                                                                  The Unix timestamp of the date and time that the result was clicked.

                                                                  */ - ResultId: string | undefined; + ClickTime: Date | undefined; } export namespace ClickFeedback { @@ -3182,17 +3271,17 @@ export namespace RelevanceFeedback { } export interface SubmitFeedbackRequest { - /** - *

                                                                  The identifier of the index that was queried.

                                                                  - */ - IndexId: string | undefined; - /** *

                                                                  The identifier of the specific query for which you are submitting feedback. The * query ID is returned in the response to the operation.

                                                                  */ QueryId: string | undefined; + /** + *

                                                                  The identifier of the index that was queried.

                                                                  + */ + IndexId: string | undefined; + /** *

                                                                  Provides Amazon Kendra with relevant or not relevant feedback for whether a particular * item was relevant to the search.

                                                                  @@ -3279,6 +3368,16 @@ export interface UpdateDataSourceRequest { */ RoleArn?: string; + /** + *

                                                                  Configuration information for a Amazon Kendra data source.

                                                                  + */ + Configuration?: DataSourceConfiguration; + + /** + *

                                                                  The new update schedule for the data source.

                                                                  + */ + Schedule?: string; + /** *

                                                                  The name of the data source to update. The name of the data source can't be updated. To * rename a data source you must delete the data source and re-create it.

                                                                  @@ -3294,16 +3393,6 @@ export interface UpdateDataSourceRequest { *

                                                                  The new description for the data source.

                                                                  */ Description?: string; - - /** - *

                                                                  Configuration information for a Amazon Kendra data source.

                                                                  - */ - Configuration?: DataSourceConfiguration; - - /** - *

                                                                  The new update schedule for the data source.

                                                                  - */ - Schedule?: string; } export namespace UpdateDataSourceRequest { @@ -3314,17 +3403,14 @@ export namespace UpdateDataSourceRequest { export interface UpdateIndexRequest { /** - *

                                                                  Sets the number of addtional storage and query capacity units that should be - * used by the index. You can change the capacity of the index up to 5 times per day.

                                                                  - *

                                                                  If you are using extra storage units, you can't reduce the storage capacity - * below that required to meet the storage needs for your index.

                                                                  + *

                                                                  The identifier of the index to update.

                                                                  */ - CapacityUnits?: CapacityUnitsConfiguration; + Id: string | undefined; /** - *

                                                                  The identifier of the index to update.

                                                                  + *

                                                                  A new description for the index.

                                                                  */ - Id: string | undefined; + Description?: string; /** *

                                                                  The document metadata to update.

                                                                  @@ -3332,20 +3418,23 @@ export interface UpdateIndexRequest { DocumentMetadataConfigurationUpdates?: DocumentMetadataConfiguration[]; /** - *

                                                                  A new description for the index.

                                                                  + *

                                                                  Sets the number of addtional storage and query capacity units that should be used by the + * index. You can change the capacity of the index up to 5 times per day.

                                                                  + *

                                                                  If you are using extra storage units, you can't reduce the storage capacity below that + * required to meet the storage needs for your index.

                                                                  */ - Description?: string; + CapacityUnits?: CapacityUnitsConfiguration; /** - *

                                                                  A new IAM role that gives Amazon Kendra permission to access your Amazon CloudWatch - * logs.

                                                                  + *

                                                                  The name of the index to update.

                                                                  */ - RoleArn?: string; + Name?: string; /** - *

                                                                  The name of the index to update.

                                                                  + *

                                                                  A new IAM role that gives Amazon Kendra permission to access your Amazon CloudWatch + * logs.

                                                                  */ - Name?: string; + RoleArn?: string; } export namespace UpdateIndexRequest { @@ -3378,43 +3467,43 @@ export namespace UpdateIndexRequest { */ export interface AttributeFilter { /** - *

                                                                  Performs an equals operation on two document attributes.

                                                                  + *

                                                                  Performs a greater than operation on two document attributes. Use with a document + * attribute of type Integer or Long.

                                                                  */ - EqualsTo?: DocumentAttribute; + GreaterThan?: DocumentAttribute; /** - *

                                                                  Performs a logical AND operation on all supplied filters.

                                                                  + *

                                                                  Returns true when a document contains any of the specified document attributes. This + * filter is only applicable to StringListValue metadata.

                                                                  */ - AndAllFilters?: AttributeFilter[]; + ContainsAny?: DocumentAttribute; /** - *

                                                                  Performs a greater than operation on two document attributes. Use with a document - * attribute of type Integer or Long.

                                                                  + *

                                                                  Performs an equals operation on two document attributes.

                                                                  */ - GreaterThan?: DocumentAttribute; + EqualsTo?: DocumentAttribute; /** - *

                                                                  Returns true when a document contains any of the specified document attributes.This - * filter is only appicable to StringListValue metadata.

                                                                  + *

                                                                  Performs a logical AND operation on all supplied filters.

                                                                  */ - ContainsAny?: DocumentAttribute; + AndAllFilters?: AttributeFilter[]; /** - *

                                                                  Performs a less than or equals operation on two document attributes. Use with a document - * attribute of type Integer or Long.

                                                                  + *

                                                                  Returns true when a document contains all of the specified document attributes. This + * filter is only applicable to StringListValue metadata.

                                                                  */ - LessThanOrEquals?: DocumentAttribute; + ContainsAll?: DocumentAttribute; /** - *

                                                                  Performs a logical NOT operation on all supplied filters.

                                                                  + *

                                                                  Performs a less than operation on two document attributes. Use with a document attribute + * of type Integer or Long.

                                                                  */ - NotFilter?: AttributeFilter; + LessThan?: DocumentAttribute; /** - *

                                                                  Performs a greater or equals than operation on two document attributes. Use with a - * document attribute of type Integer or Long.

                                                                  + *

                                                                  Performs a logical NOT operation on all supplied filters.

                                                                  */ - GreaterThanOrEquals?: DocumentAttribute; + NotFilter?: AttributeFilter; /** *

                                                                  Performs a logical OR operation on all supplied filters.

                                                                  @@ -3422,16 +3511,16 @@ export interface AttributeFilter { OrAllFilters?: AttributeFilter[]; /** - *

                                                                  Returns true when a document contains all of the specified document attributes. This - * filter is only appicable to StringListValue metadata.

                                                                  + *

                                                                  Performs a greater or equals than operation on two document attributes. Use with a + * document attribute of type Integer or Long.

                                                                  */ - ContainsAll?: DocumentAttribute; + GreaterThanOrEquals?: DocumentAttribute; /** - *

                                                                  Performs a less than operation on two document attributes. Use with a document attribute - * of type Integer or Long.

                                                                  + *

                                                                  Performs a less than or equals operation on two document attributes. Use with a document + * attribute of type Integer or Long.

                                                                  */ - LessThan?: DocumentAttribute; + LessThanOrEquals?: DocumentAttribute; } export namespace AttributeFilter { @@ -3452,16 +3541,28 @@ export interface QueryRequest { SortingConfiguration?: SortingConfiguration; /** - *

                                                                  The unique identifier of the index to search. The identifier is returned in the response - * from the operation.

                                                                  + *

                                                                  Sets the number of results that are returned in each page of results. The default page + * size is 10. The maximum number of results returned is 100. If you ask for more than 100 + * results, only 100 are returned.

                                                                  */ - IndexId: string | undefined; + PageSize?: number; /** *

                                                                  The text to search for.

                                                                  */ QueryText: string | undefined; + /** + *

                                                                  An array of documents attributes. Amazon Kendra returns a count for each attribute key + * specified. You can use this information to help narrow the search for your user.

                                                                  + */ + Facets?: Facet[]; + + /** + *

                                                                  Sets the type of query. Only results for the specified query type are returned.

                                                                  + */ + QueryResultTypeFilter?: QueryResultType | string; + /** *

                                                                  Enables filtered searches based on document attributes. You can only provide one * attribute filter; however, the AndAllFilters, NotFilter, and @@ -3478,30 +3579,18 @@ export interface QueryRequest { */ PageNumber?: number; - /** - *

                                                                  Sets the number of results that are returned in each page of results. The default page - * size is 10. The maximum number of results returned is 100. If you ask for more than 100 - * results, only 100 are returned.

                                                                  - */ - PageSize?: number; - - /** - *

                                                                  An array of documents attributes. Amazon Kendra returns a count for each attribute key - * specified. You can use this information to help narrow the search for your user.

                                                                  - */ - Facets?: Facet[]; - - /** - *

                                                                  Sets the type of query. Only results for the specified query type are returned.

                                                                  - */ - QueryResultTypeFilter?: QueryResultType | string; - /** *

                                                                  An array of document attributes to include in the response. No other document attributes * are included in the response. By default all document attributes are included in the * response.

                                                                  */ RequestedDocumentAttributes?: string[]; + + /** + *

                                                                  The unique identifier of the index to search. The identifier is returned in the response + * from the operation.

                                                                  + */ + IndexId: string | undefined; } export namespace QueryRequest { diff --git a/clients/client-kendra/protocols/Aws_json1_1.ts b/clients/client-kendra/protocols/Aws_json1_1.ts index ce9b31eebdd9..31c661ab1dff 100644 --- a/clients/client-kendra/protocols/Aws_json1_1.ts +++ b/clients/client-kendra/protocols/Aws_json1_1.ts @@ -125,6 +125,7 @@ import { SalesforceStandardKnowledgeArticleTypeConfiguration, SalesforceStandardObjectAttachmentConfiguration, SalesforceStandardObjectConfiguration, + ScoreAttributes, Search, ServerSideEncryptionConfiguration, ServiceNowConfiguration, @@ -3000,6 +3001,7 @@ const serializeAws_json1_1CreateDataSourceRequest = (input: CreateDataSourceRequ const serializeAws_json1_1CreateFaqRequest = (input: CreateFaqRequest, context: __SerdeContext): any => { return { ...(input.Description !== undefined && { Description: input.Description }), + ...(input.FileFormat !== undefined && { FileFormat: input.FileFormat }), ...(input.IndexId !== undefined && { IndexId: input.IndexId }), ...(input.Name !== undefined && { Name: input.Name }), ...(input.RoleArn !== undefined && { RoleArn: input.RoleArn }), @@ -4261,6 +4263,7 @@ const deserializeAws_json1_1DescribeFaqResponse = (output: any, context: __Serde : undefined, Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, ErrorMessage: output.ErrorMessage !== undefined && output.ErrorMessage !== null ? output.ErrorMessage : undefined, + FileFormat: output.FileFormat !== undefined && output.FileFormat !== null ? output.FileFormat : undefined, Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, IndexId: output.IndexId !== undefined && output.IndexId !== null ? output.IndexId : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, @@ -4410,6 +4413,10 @@ const deserializeAws_json1_1FacetResult = (output: any, context: __SerdeContext) output.DocumentAttributeValueCountPairs !== undefined && output.DocumentAttributeValueCountPairs !== null ? deserializeAws_json1_1DocumentAttributeValueCountPairList(output.DocumentAttributeValueCountPairs, context) : undefined, + DocumentAttributeValueType: + output.DocumentAttributeValueType !== undefined && output.DocumentAttributeValueType !== null + ? output.DocumentAttributeValueType + : undefined, } as any; }; @@ -4432,6 +4439,7 @@ const deserializeAws_json1_1FaqSummary = (output: any, context: __SerdeContext): output.CreatedAt !== undefined && output.CreatedAt !== null ? new Date(Math.round(output.CreatedAt * 1000)) : undefined, + FileFormat: output.FileFormat !== undefined && output.FileFormat !== null ? output.FileFormat : undefined, Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, @@ -4644,6 +4652,10 @@ const deserializeAws_json1_1QueryResultItem = (output: any, context: __SerdeCont : undefined, DocumentURI: output.DocumentURI !== undefined && output.DocumentURI !== null ? output.DocumentURI : undefined, Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + ScoreAttributes: + output.ScoreAttributes !== undefined && output.ScoreAttributes !== null + ? deserializeAws_json1_1ScoreAttributes(output.ScoreAttributes, context) + : undefined, Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, } as any; }; @@ -4932,6 +4944,13 @@ const deserializeAws_json1_1SalesforceStandardObjectConfigurationList = ( ); }; +const deserializeAws_json1_1ScoreAttributes = (output: any, context: __SerdeContext): ScoreAttributes => { + return { + ScoreConfidence: + output.ScoreConfidence !== undefined && output.ScoreConfidence !== null ? output.ScoreConfidence : undefined, + } as any; +}; + const deserializeAws_json1_1Search = (output: any, context: __SerdeContext): Search => { return { Displayable: output.Displayable !== undefined && output.Displayable !== null ? output.Displayable : undefined, diff --git a/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2.ts b/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2.ts index 818beb789d38..e2bdbaa6f37d 100644 --- a/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2.ts +++ b/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2.ts @@ -128,8 +128,8 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

                                                                  Amazon Kinesis Data Analytics is a fully managed service that you can use to process and analyze streaming data using SQL or Java. The service - * enables you to quickly author and run SQL or Java code against streaming sources to perform time + *

                                                                  Amazon Kinesis Data Analytics is a fully managed service that you can use to process and analyze streaming data using Java, SQL, or Scala. The service + * enables you to quickly author and run Java, SQL, or Scala code against streaming sources to perform time * series analytics, feed real-time dashboards, and create real-time metrics.

                                                                  */ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { @@ -169,7 +169,7 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { /** *

                                                                  - * Adds a streaming source to your SQL-based Amazon Kinesis Data Analytics application. + * Adds a streaming source to your SQL-based Kinesis Data Analytics application. *

                                                                  *

                                                                  You can add a streaming source when you create an application, or you can use this * operation to add a streaming source after you create an application. For more information, see @@ -209,9 +209,9 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Adds an InputProcessingConfiguration to an SQL-based Kinesis Data - * Analytics application. An input processor pre-processes records on the input stream before the - * application's SQL code executes. Currently, the only input processor available is AWS Lambda.

                                                                  + *

                                                                  Adds an InputProcessingConfiguration to a SQL-based Kinesis Data Analytics application. An input processor pre-processes records + * on the input stream before the + * application's SQL code executes. Currently, the only input processor available is AWS Lambda.

                                                                  */ public addApplicationInputProcessingConfiguration( args: AddApplicationInputProcessingConfigurationCommandInput, @@ -245,7 +245,7 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Adds an external destination to your SQL-based Amazon Kinesis Data Analytics application.

                                                                  + *

                                                                  Adds an external destination to your SQL-based Kinesis Data Analytics application.

                                                                  *

                                                                  If you want Kinesis Data Analytics to deliver data from an in-application stream within * your application to an external destination (such as an Kinesis data stream, a Kinesis Data * Firehose delivery stream, or an AWS Lambda function), you add the relevant configuration to @@ -289,7 +289,7 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Adds a reference data source to an existing SQL-based Amazon Kinesis Data Analytics application.

                                                                  + *

                                                                  Adds a reference data source to an existing SQL-based Kinesis Data Analytics application.

                                                                  *

                                                                  Kinesis Data Analytics reads reference data (that is, an Amazon S3 object) and creates an * in-application table within your application. In the request, you provide the source (S3 * bucket name and object key name), name of the in-application table to create, and the @@ -326,14 +326,16 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Adds a Virtual Private Cloud (VPC) configuration to the application. Applications can use VPCs to store and access resources securely.

                                                                  + *

                                                                  Adds a Virtual Private Cloud (VPC) configuration to the application. Applications can use VPCs to store + * and access resources securely.

                                                                  *

                                                                  Note the following about VPC configurations for Kinesis Data Analytics applications:

                                                                  *
                                                                    *
                                                                  • *

                                                                    VPC configurations are not supported for SQL applications.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    When a VPC is added to a Kinesis Data Analytics application, the application can no longer be accessed from the Internet directly. To enable Internet access to the application, add an Internet gateway to your VPC.

                                                                    + *

                                                                    When a VPC is added to a Kinesis Data Analytics application, the application can no longer be accessed from the + * Internet directly. To enable Internet access to the application, add an Internet gateway to your VPC.

                                                                    *
                                                                  • *
                                                                  */ @@ -367,10 +369,9 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Creates an Amazon Kinesis Data Analytics application. For information about creating a - * Kinesis Data Analytics application, see Creating an - * Application. - *

                                                                  + *

                                                                  Creates a Kinesis Data Analytics application. For information about creating a + * Kinesis Data Analytics application, see Creating an + * Application.

                                                                  */ public createApplication( args: CreateApplicationCommandInput, @@ -466,7 +467,7 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Deletes an Amazon CloudWatch log stream from an Amazon Kinesis Data Analytics application.

                                                                  + *

                                                                  Deletes an Amazon CloudWatch log stream from an Kinesis Data Analytics application.

                                                                  */ public deleteApplicationCloudWatchLoggingOption( args: DeleteApplicationCloudWatchLoggingOptionCommandInput, @@ -534,8 +535,8 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Deletes the output destination configuration from your SQL-based Amazon Kinesis Data - * Analytics application's configuration. Kinesis Data Analytics will no longer write data from + *

                                                                  Deletes the output destination configuration from your SQL-based Kinesis Data Analytics application's configuration. + * Kinesis Data Analytics will no longer write data from * the corresponding in-application stream to the external output destination.

                                                                  */ public deleteApplicationOutput( @@ -568,7 +569,7 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Deletes a reference data source configuration from the specified SQL-based Amazon Kinesis Data Analytics application's configuration.

                                                                  + *

                                                                  Deletes a reference data source configuration from the specified SQL-based Kinesis Data Analytics application's configuration.

                                                                  *

                                                                  If the application is running, Kinesis Data Analytics immediately removes the in-application table * that you created using the AddApplicationReferenceDataSource operation.

                                                                  */ @@ -666,7 +667,7 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Returns information about a specific Amazon Kinesis Data Analytics application.

                                                                  + *

                                                                  Returns information about a specific Kinesis Data Analytics application.

                                                                  *

                                                                  If you want to retrieve a list of all applications in your account, * use the ListApplications operation.

                                                                  */ @@ -732,7 +733,7 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Infers a schema for an SQL-based Amazon Kinesis Data Analytics application by evaluating + *

                                                                  Infers a schema for a SQL-based Kinesis Data Analytics application by evaluating * sample records on the specified streaming source (Kinesis data stream or Kinesis Data Firehose * delivery stream) or Amazon S3 object. In the response, the operation returns the inferred * schema and also the sample records that the operation used to infer the schema.

                                                                  @@ -770,7 +771,7 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Returns a list of Amazon Kinesis Data Analytics applications in your account. For each + *

                                                                  Returns a list of Kinesis Data Analytics applications in your account. For each * application, the response includes the application name, Amazon Resource Name (ARN), and * status.

                                                                  *

                                                                  If you want detailed information about a specific application, use @@ -838,7 +839,8 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Retrieves the list of key-value tags assigned to the application. For more information, see Using Tagging.

                                                                  + *

                                                                  Retrieves the list of key-value tags assigned to the application. For more information, see + * Using Tagging.

                                                                  */ public listTagsForResource( args: ListTagsForResourceCommandInput, @@ -870,7 +872,7 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Starts the specified Amazon Kinesis Data Analytics application. After creating an application, you must exclusively call this operation to + *

                                                                  Starts the specified Kinesis Data Analytics application. After creating an application, you must exclusively call this operation to * start your application.

                                                                  */ public startApplication( @@ -938,7 +940,8 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Adds one or more key-value tags to a Kinesis Analytics application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. + *

                                                                  Adds one or more key-value tags to a Kinesis Data Analytics 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.

                                                                  */ public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; @@ -965,7 +968,8 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Removes one or more tags from a Kinesis Analytics application. For more information, see Using Tagging.

                                                                  + *

                                                                  Removes one or more tags from a Kinesis Data Analytics application. For more information, see + * Using Tagging.

                                                                  */ public untagResource( args: UntagResourceCommandInput, @@ -997,10 +1001,15 @@ export class KinesisAnalyticsV2 extends KinesisAnalyticsV2Client { } /** - *

                                                                  Updates an existing Amazon Kinesis Data Analytics application. Using this operation, you + *

                                                                  Updates an existing Kinesis Data Analytics application. Using this operation, you * can update application code, input configuration, and output configuration.

                                                                  *

                                                                  Kinesis Data Analytics updates the ApplicationVersionId each time you update * your application.

                                                                  + * + *

                                                                  You cannot update the RuntimeEnvironment of an existing application. If you + * need to update an application's RuntimeEnvironment, you must delete the application + * and create it again.

                                                                  + *
                                                                  */ public updateApplication( args: UpdateApplicationCommandInput, diff --git a/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2Client.ts b/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2Client.ts index c1862c897ba3..b9a06ef1b0d6 100644 --- a/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2Client.ts +++ b/clients/client-kinesis-analytics-v2/KinesisAnalyticsV2Client.ts @@ -296,8 +296,8 @@ export type KinesisAnalyticsV2ClientResolvedConfig = __SmithyResolvedConfigurati HostHeaderResolvedConfig; /** - *

                                                                  Amazon Kinesis Data Analytics is a fully managed service that you can use to process and analyze streaming data using SQL or Java. The service - * enables you to quickly author and run SQL or Java code against streaming sources to perform time + *

                                                                  Amazon Kinesis Data Analytics is a fully managed service that you can use to process and analyze streaming data using Java, SQL, or Scala. The service + * enables you to quickly author and run Java, SQL, or Scala code against streaming sources to perform time * series analytics, feed real-time dashboards, and create real-time metrics.

                                                                  */ export class KinesisAnalyticsV2Client extends __Client< diff --git a/clients/client-kinesis-analytics-v2/models/models_0.ts b/clients/client-kinesis-analytics-v2/models/models_0.ts index b3f7912d376b..4640c2431ced 100644 --- a/clients/client-kinesis-analytics-v2/models/models_0.ts +++ b/clients/client-kinesis-analytics-v2/models/models_0.ts @@ -20,9 +20,10 @@ export namespace CloudWatchLoggingOption { export interface AddApplicationCloudWatchLoggingOptionRequest { /** - *

                                                                  Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN).

                                                                  + *

                                                                  The version ID of the Kinesis Data Analytics application. You can retrieve the application version ID using + * DescribeApplication.

                                                                  */ - CloudWatchLoggingOption: CloudWatchLoggingOption | undefined; + CurrentApplicationVersionId: number | undefined; /** *

                                                                  The Kinesis Data Analytics application name.

                                                                  @@ -30,9 +31,9 @@ export interface AddApplicationCloudWatchLoggingOptionRequest { ApplicationName: string | undefined; /** - *

                                                                  The version ID of the Kinesis Data Analytics application. You can retrieve the application version ID using DescribeApplication.

                                                                  + *

                                                                  Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN).

                                                                  */ - CurrentApplicationVersionId: number | undefined; + CloudWatchLoggingOption: CloudWatchLoggingOption | undefined; } export namespace AddApplicationCloudWatchLoggingOptionRequest { @@ -50,12 +51,6 @@ 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.

                                                                  * @@ -64,6 +59,12 @@ export interface CloudWatchLoggingOptionDescription { * */ RoleARN?: string; + + /** + *

                                                                  The Amazon Resource Name (ARN) of the CloudWatch log to receive application + * messages.

                                                                  + */ + LogStreamARN: string | undefined; } export namespace CloudWatchLoggingOptionDescription { @@ -78,17 +79,17 @@ export interface AddApplicationCloudWatchLoggingOptionResponse { */ ApplicationARN?: string; - /** - *

                                                                  The descriptions of the current CloudWatch logging options for the Kinesis Data Analytics application.

                                                                  - */ - CloudWatchLoggingOptionDescriptions?: CloudWatchLoggingOptionDescription[]; - /** *

                                                                  The new version ID of the Kinesis Data Analytics application. Kinesis Data Analytics * updates the ApplicationVersionId each time you change the CloudWatch logging * options.

                                                                  */ ApplicationVersionId?: number; + + /** + *

                                                                  The descriptions of the current CloudWatch logging options for the Kinesis Data Analytics application.

                                                                  + */ + CloudWatchLoggingOptionDescriptions?: CloudWatchLoggingOptionDescription[]; } export namespace AddApplicationCloudWatchLoggingOptionResponse { @@ -190,7 +191,7 @@ export namespace ResourceNotFoundException { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, describes the number of + *

                                                                  For a SQL-based Kinesis Data Analytics application, describes the number of * in-application streams to create for a given streaming source.

                                                                  */ export interface InputParallelism { @@ -208,14 +209,13 @@ export namespace InputParallelism { /** *

                                                                  An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is - * used to preprocess records in the stream in an SQL-based Amazon Kinesis Data Analytics - * application.

                                                                  + * used to preprocess records in the stream in a SQL-based Kinesis Data Analytics application.

                                                                  */ export interface InputLambdaProcessor { /** *

                                                                  The ARN of the AWS Lambda function that operates on records in the stream.

                                                                  * - *

                                                                  To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda + *

                                                                  To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda *

                                                                  *
                                                                  */ @@ -229,9 +229,9 @@ export namespace InputLambdaProcessor { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, describes a processor that is + *

                                                                  For a SQL-based Kinesis Data Analytics application, describes a processor that is * used to preprocess the records in the stream before being processed by your application code. - * Currently, the only input processor available is AWS Lambda.

                                                                  + * Currently, the only input processor available is AWS Lambda.

                                                                  */ export interface InputProcessingConfiguration { /** @@ -248,17 +248,17 @@ export namespace InputProcessingConfiguration { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, describes the mapping of each + *

                                                                  For a SQL-based Kinesis Data Analytics application, describes the mapping of each * data element in the streaming source to the corresponding column in the in-application * stream.

                                                                  *

                                                                  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.

                                                                  + *

                                                                  A reference to the data element in the streaming input or the reference data + * source.

                                                                  */ - Name: string | undefined; + Mapping?: string; /** *

                                                                  The type of column created in the in-application input stream or reference table.

                                                                  @@ -266,10 +266,10 @@ export interface RecordColumn { SqlType: string | undefined; /** - *

                                                                  A reference to the data element in the streaming input or the reference data - * source.

                                                                  + *

                                                                  The name of the column that is created in the in-application input stream or reference + * table.

                                                                  */ - Mapping?: string; + Name: string | undefined; } export namespace RecordColumn { @@ -279,7 +279,7 @@ export namespace RecordColumn { } /** - *

                                                                  For an SQL-based application, provides additional mapping information when the record + *

                                                                  For a SQL-based Kinesis Data Analytics application, provides additional mapping information when the record * format uses delimiters, such as CSV. For example, the following sample records use CSV format, * where the records use the '\n' as the row delimiter and a comma (",") as * the column delimiter:

                                                                  @@ -292,17 +292,17 @@ export namespace RecordColumn { *

                                                                  */ export interface CSVMappingParameters { - /** - *

                                                                  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; + + /** + *

                                                                  The row delimiter. For example, in a CSV format, '\n' is the typical + * row delimiter.

                                                                  + */ + RecordRowDelimiter: string | undefined; } export namespace CSVMappingParameters { @@ -312,7 +312,7 @@ export namespace CSVMappingParameters { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, provides additional mapping + *

                                                                  For a SQL-based Kinesis Data Analytics application, provides additional mapping * information when JSON is the record format on the streaming source.

                                                                  */ export interface JSONMappingParameters { @@ -329,22 +329,22 @@ export namespace JSONMappingParameters { } /** - *

                                                                  When you configure an SQL-based Amazon Kinesis Data Analytics application's input at the + *

                                                                  When you configure a SQL-based Kinesis Data Analytics application's 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.

                                                                  */ export interface MappingParameters { /** - *

                                                                  Provides additional mapping information when the record format uses delimiters - * (for example, CSV).

                                                                  + *

                                                                  Provides additional mapping information when JSON is the record format on the streaming source.

                                                                  */ - CSVMappingParameters?: CSVMappingParameters; + JSONMappingParameters?: JSONMappingParameters; /** - *

                                                                  Provides additional mapping information when JSON is the record format on the streaming source.

                                                                  + *

                                                                  Provides additional mapping information when the record format uses delimiters + * (for example, CSV).

                                                                  */ - JSONMappingParameters?: JSONMappingParameters; + CSVMappingParameters?: CSVMappingParameters; } export namespace MappingParameters { @@ -359,22 +359,22 @@ export enum RecordFormatType { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, describes the record format + *

                                                                  For a SQL-based Kinesis Data Analytics application, describes the record format * and relevant mapping information that should be applied to schematize the records on the * 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 { @@ -384,15 +384,15 @@ export namespace RecordFormat { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, describes the format of the + *

                                                                  For a SQL-based Kinesis Data Analytics application, 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.

                                                                  */ export interface SourceSchema { /** - *

                                                                  Specifies the format of the records on the streaming source.

                                                                  + *

                                                                  A list of RecordColumn objects.

                                                                  */ - RecordFormat: RecordFormat | undefined; + RecordColumns: RecordColumn[] | undefined; /** *

                                                                  Specifies the encoding of the records in the streaming source. For example, UTF-8.

                                                                  @@ -400,9 +400,9 @@ export interface SourceSchema { RecordEncoding?: string; /** - *

                                                                  A list of RecordColumn objects.

                                                                  + *

                                                                  Specifies the format of the records on the streaming source.

                                                                  */ - RecordColumns: RecordColumn[] | undefined; + RecordFormat: RecordFormat | undefined; } export namespace SourceSchema { @@ -412,7 +412,7 @@ export namespace SourceSchema { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, identifies a Kinesis Data + *

                                                                  For a SQL-based Kinesis Data Analytics application, identifies a Kinesis Data * Firehose delivery stream as the streaming source. You provide the delivery stream's Amazon * Resource Name (ARN).

                                                                  */ @@ -430,7 +430,7 @@ export namespace KinesisFirehoseInput { } /** - *

                                                                  Identifies an Amazon Kinesis data stream as the streaming source. You provide the + *

                                                                  Identifies a Kinesis data stream as the streaming source. You provide the * stream's Amazon Resource Name (ARN).

                                                                  */ export interface KinesisStreamsInput { @@ -447,17 +447,15 @@ export namespace KinesisStreamsInput { } /** - *

                                                                  When you configure the application input for an SQL-based Amazon Kinesis Data Analytics - * application, you specify the streaming source, the in-application stream name that is created, + *

                                                                  When you configure the application input for a SQL-based Kinesis Data Analytics application, you specify the streaming source, the in-application stream + * name that is created, * and the mapping between the two.

                                                                  */ export interface Input { /** - *

                                                                  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.

                                                                  + *

                                                                  Describes the number of in-application streams to create.

                                                                  */ - InputSchema: SourceSchema | undefined; + InputParallelism?: InputParallelism; /** *

                                                                  If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN).

                                                                  @@ -474,21 +472,23 @@ 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.

                                                                  + *

                                                                  If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream's ARN.

                                                                  */ - InputProcessingConfiguration?: InputProcessingConfiguration; + KinesisFirehoseInput?: KinesisFirehoseInput; /** - *

                                                                  If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream's ARN.

                                                                  + *

                                                                  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.

                                                                  */ - KinesisFirehoseInput?: KinesisFirehoseInput; + InputSchema: SourceSchema | undefined; /** - *

                                                                  Describes the number of in-application streams to create.

                                                                  + *

                                                                  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.

                                                                  */ - InputParallelism?: InputParallelism; + InputProcessingConfiguration?: InputProcessingConfiguration; } export namespace Input { @@ -498,11 +498,6 @@ export namespace Input { } export interface AddApplicationInputRequest { - /** - *

                                                                  The Input to add.

                                                                  - */ - Input: Input | undefined; - /** *

                                                                  The name of your existing application to which you want to add the streaming * source.

                                                                  @@ -513,6 +508,11 @@ export interface AddApplicationInputRequest { *

                                                                  The current version of your application. You can use the DescribeApplication operation to find the current application version.

                                                                  */ CurrentApplicationVersionId: number | undefined; + + /** + *

                                                                  The Input to add.

                                                                  + */ + Input: Input | undefined; } export namespace AddApplicationInputRequest { @@ -522,7 +522,7 @@ export namespace AddApplicationInputRequest { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, an object that contains the + *

                                                                  For a SQL-based Kinesis Data Analytics application, an object that contains the * Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in * the stream.

                                                                  */ @@ -531,7 +531,7 @@ export interface InputLambdaProcessorDescription { *

                                                                  The ARN of the AWS Lambda function that is used to preprocess the records in the * stream.

                                                                  * - *

                                                                  To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda + *

                                                                  To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda *

                                                                  *
                                                                  */ @@ -555,8 +555,8 @@ export namespace InputLambdaProcessorDescription { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, provides the configuration - * information about an input processor. Currently, the only input processor available is AWS Lambda.

                                                                  + *

                                                                  For a SQL-based Kinesis Data Analytics application, provides the configuration + * information about an input processor. Currently, the only input processor available is AWS Lambda.

                                                                  */ export interface InputProcessingConfigurationDescription { /** @@ -619,6 +619,11 @@ export namespace InputStartingPositionConfiguration { * in the application input configuration.

                                                                  */ export interface KinesisFirehoseInputDescription { + /** + *

                                                                  The Amazon Resource Name (ARN) of the delivery stream.

                                                                  + */ + ResourceARN: string | undefined; + /** *

                                                                  The ARN of the IAM role that Kinesis Data Analytics assumes to access the stream.

                                                                  * @@ -628,11 +633,6 @@ export interface KinesisFirehoseInputDescription { * */ RoleARN?: string; - - /** - *

                                                                  The Amazon Resource Name (ARN) of the delivery stream.

                                                                  - */ - ResourceARN: string | undefined; } export namespace KinesisFirehoseInputDescription { @@ -642,15 +642,10 @@ export namespace KinesisFirehoseInputDescription { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, describes the Kinesis data + *

                                                                  For a SQL-based Kinesis Data Analytics application, describes the Kinesis data * 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.

                                                                  @@ -661,6 +656,11 @@ export interface KinesisStreamsInputDescription { * */ RoleARN?: string; + + /** + *

                                                                  The Amazon Resource Name (ARN) of the Kinesis data stream.

                                                                  + */ + ResourceARN: string | undefined; } export namespace KinesisStreamsInputDescription { @@ -670,31 +670,29 @@ export namespace KinesisStreamsInputDescription { } /** - *

                                                                  Describes the application input configuration for an SQL-based Amazon Kinesis Data - * Analytics application.

                                                                  + *

                                                                  Describes the application input configuration for a SQL-based Kinesis Data Analytics application.

                                                                  */ export interface InputDescription { /** - *

                                                                  If a Kinesis data stream is configured as a streaming source, provides the Kinesis data - * stream's Amazon Resource Name (ARN).

                                                                  + *

                                                                  The input ID that is associated with the application input. This is the ID that Kinesis Data Analytics assigns to each input + * configuration that you add to your application.

                                                                  */ - KinesisStreamsInputDescription?: KinesisStreamsInputDescription; + InputId?: string; /** - *

                                                                  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.

                                                                  + *

                                                                  If a Kinesis Data Firehose delivery stream is configured as a streaming source, provides the delivery stream's ARN.

                                                                  */ - InputSchema?: SourceSchema; + KinesisFirehoseInputDescription?: KinesisFirehoseInputDescription; /** - *

                                                                  Describes the configured parallelism (number of in-application streams mapped to the streaming source).

                                                                  + *

                                                                  The description of the preprocessor that executes on records in this input before the application's code is run.

                                                                  */ - InputParallelism?: InputParallelism; + InputProcessingConfigurationDescription?: InputProcessingConfigurationDescription; /** - *

                                                                  The input ID that is associated with the application input. This is the ID that Kinesis - * Data Analytics assigns to each input configuration that you add to your application.

                                                                  + *

                                                                  The point at which the application is configured to read from the input stream.

                                                                  */ - InputId?: string; + InputStartingPositionConfiguration?: InputStartingPositionConfiguration; /** *

                                                                  Returns the in-application stream names that are mapped to the stream source.

                                                                  @@ -702,24 +700,26 @@ export interface InputDescription { InAppStreamNames?: string[]; /** - *

                                                                  The point at which the application is configured to read from the input stream.

                                                                  + *

                                                                  The in-application name prefix.

                                                                  */ - InputStartingPositionConfiguration?: InputStartingPositionConfiguration; + NamePrefix?: string; /** - *

                                                                  The in-application name prefix.

                                                                  + *

                                                                  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.

                                                                  */ - NamePrefix?: string; + InputSchema?: SourceSchema; /** - *

                                                                  If a Kinesis Data Firehose delivery stream is configured as a streaming source, provides the delivery stream's ARN.

                                                                  + *

                                                                  If a Kinesis data stream is configured as a streaming source, provides the Kinesis data + * stream's Amazon Resource Name (ARN).

                                                                  */ - KinesisFirehoseInputDescription?: KinesisFirehoseInputDescription; + KinesisStreamsInputDescription?: KinesisStreamsInputDescription; /** - *

                                                                  The description of the preprocessor that executes on records in this input before the application's code is run.

                                                                  + *

                                                                  Describes the configured parallelism (number of in-application streams mapped to the streaming source).

                                                                  */ - InputProcessingConfigurationDescription?: InputProcessingConfigurationDescription; + InputParallelism?: InputParallelism; } export namespace InputDescription { @@ -738,14 +738,14 @@ export interface AddApplicationInputResponse { InputDescriptions?: InputDescription[]; /** - *

                                                                  Provides the current application version.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the application.

                                                                  */ - ApplicationVersionId?: number; + ApplicationARN?: string; /** - *

                                                                  The Amazon Resource Name (ARN) of the application.

                                                                  + *

                                                                  Provides the current application version.

                                                                  */ - ApplicationARN?: string; + ApplicationVersionId?: number; } export namespace AddApplicationInputResponse { @@ -780,9 +780,10 @@ export interface AddApplicationInputProcessingConfigurationRequest { CurrentApplicationVersionId: number | undefined; /** - *

                                                                  The InputProcessingConfiguration to add to the application.

                                                                  + *

                                                                  The name of the application to which you want to add the input processing + * configuration.

                                                                  */ - InputProcessingConfiguration: InputProcessingConfiguration | undefined; + ApplicationName: string | undefined; /** *

                                                                  The ID of the input configuration to add the input processing configuration to. You @@ -791,10 +792,9 @@ export interface AddApplicationInputProcessingConfigurationRequest { InputId: string | undefined; /** - *

                                                                  The name of the application to which you want to add the input processing - * configuration.

                                                                  + *

                                                                  The InputProcessingConfiguration to add to the application.

                                                                  */ - ApplicationName: string | undefined; + InputProcessingConfiguration: InputProcessingConfiguration | undefined; } export namespace AddApplicationInputProcessingConfigurationRequest { @@ -805,26 +805,26 @@ export namespace AddApplicationInputProcessingConfigurationRequest { export interface AddApplicationInputProcessingConfigurationResponse { /** - *

                                                                  The description of the preprocessor that executes on records in this input before the application's code is run.

                                                                  + *

                                                                  Provides the current application version.

                                                                  */ - InputProcessingConfigurationDescription?: InputProcessingConfigurationDescription; + ApplicationVersionId?: number; /** - *

                                                                  The Amazon Resource Name (ARN) of the application.

                                                                  + *

                                                                  The input ID that is associated with the application input. This is the ID that Kinesis Data Analytics assigns + * to each input configuration that you add to your + * application.

                                                                  */ - ApplicationARN?: string; + InputId?: string; /** - *

                                                                  Provides the current application version.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the application.

                                                                  */ - ApplicationVersionId?: number; + ApplicationARN?: string; /** - *

                                                                  The input ID that is associated with the application input. This is the ID that Amazon - * Kinesis Data Analytics assigns to each input configuration that you add to your - * application.

                                                                  + *

                                                                  The description of the preprocessor that executes on records in this input before the application's code is run.

                                                                  */ - InputId?: string; + InputProcessingConfigurationDescription?: InputProcessingConfigurationDescription; } export namespace AddApplicationInputProcessingConfigurationResponse { @@ -834,8 +834,7 @@ export namespace AddApplicationInputProcessingConfigurationResponse { } /** - *

                                                                  Describes the data format when records are written to the destination in an SQL-based - * Amazon Kinesis Data Analytics application.

                                                                  + *

                                                                  Describes the data format when records are written to the destination in a SQL-based Kinesis Data Analytics application.

                                                                  */ export interface DestinationSchema { /** @@ -851,7 +850,7 @@ export namespace DestinationSchema { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, when configuring application + *

                                                                  For a SQL-based Kinesis Data Analytics application, when configuring application * output, identifies a Kinesis Data Firehose delivery stream as the destination. You provide the * stream Amazon Resource Name (ARN) of the delivery stream.

                                                                  */ @@ -869,7 +868,7 @@ export namespace KinesisFirehoseOutput { } /** - *

                                                                  When you configure an SQL-based Amazon Kinesis Data Analytics application's output, + *

                                                                  When you configure a SQL-based Kinesis Data Analytics application's output, * identifies a Kinesis data stream as the destination. You provide the stream Amazon Resource * Name (ARN).

                                                                  */ @@ -887,7 +886,7 @@ export namespace KinesisStreamsOutput { } /** - *

                                                                  When you configure an SQL-based Amazon Kinesis Data Analytics application's output, + *

                                                                  When you configure a SQL-based Kinesis Data Analytics application's output, * identifies an AWS Lambda function as the destination. You provide the function Amazon Resource * Name (ARN) of the Lambda function.

                                                                  */ @@ -895,7 +894,7 @@ export interface LambdaOutput { /** *

                                                                  The Amazon Resource Name (ARN) of the destination Lambda function to write to.

                                                                  * - *

                                                                  To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda + *

                                                                  To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda *

                                                                  *
                                                                  */ @@ -909,7 +908,7 @@ export namespace LambdaOutput { } /** - *

                                                                  Describes an SQL-based Amazon Kinesis Data Analytics application's output configuration, + *

                                                                  Describes a SQL-based Kinesis Data Analytics application's output configuration, * in which you identify an in-application stream and a destination where you want the * in-application stream data to be written. The destination can be a Kinesis data stream or a * Kinesis Data Firehose delivery stream.

                                                                  @@ -918,31 +917,31 @@ export namespace LambdaOutput { */ export interface Output { /** - *

                                                                  Identifies an Amazon Kinesis Data Firehose delivery stream as the destination.

                                                                  + *

                                                                  Identifies an AWS Lambda function as the destination.

                                                                  */ - KinesisFirehoseOutput?: KinesisFirehoseOutput; + LambdaOutput?: LambdaOutput; /** - *

                                                                  Identifies an AWS Lambda function as the destination.

                                                                  + *

                                                                  The name of the in-application stream.

                                                                  */ - LambdaOutput?: LambdaOutput; + Name: string | undefined; /** - *

                                                                  Identifies an Amazon Kinesis data stream + *

                                                                  Identifies a Kinesis data stream * as the destination.

                                                                  */ KinesisStreamsOutput?: KinesisStreamsOutput; /** - *

                                                                  Describes the data format when records are written to the destination. - *

                                                                  + *

                                                                  Identifies a Kinesis Data Firehose delivery stream as the destination.

                                                                  */ - DestinationSchema: DestinationSchema | undefined; + KinesisFirehoseOutput?: KinesisFirehoseOutput; /** - *

                                                                  The name of the in-application stream.

                                                                  + *

                                                                  Describes the data format when records are written to the destination. + *

                                                                  */ - Name: string | undefined; + DestinationSchema: DestinationSchema | undefined; } export namespace Output { @@ -952,6 +951,14 @@ export namespace Output { } export interface AddApplicationOutputRequest { + /** + *

                                                                  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 + * version. If the version specified is not the current version, the + * ConcurrentModificationException is returned.

                                                                  + */ + CurrentApplicationVersionId: number | undefined; + /** *

                                                                  The name of the application to which you want to add the output configuration.

                                                                  */ @@ -964,14 +971,6 @@ export interface AddApplicationOutputRequest { * record the formation to use when writing to the destination.

                                                                  */ Output: Output | 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 - * version. If the version specified is not the current version, the - * ConcurrentModificationException is returned.

                                                                  - */ - CurrentApplicationVersionId: number | undefined; } export namespace AddApplicationOutputRequest { @@ -981,7 +980,7 @@ export namespace AddApplicationOutputRequest { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application's output, describes the Kinesis + *

                                                                  For a SQL-based Kinesis Data Analytics application's output, describes the Kinesis * Data Firehose delivery stream that is configured as its destination.

                                                                  */ export interface KinesisFirehoseOutputDescription { @@ -1009,7 +1008,7 @@ export namespace KinesisFirehoseOutputDescription { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application's output, describes the Kinesis + *

                                                                  For an SQL-based Kinesis Data Analytics application's output, describes the Kinesis * data stream that is configured as its destination.

                                                                  */ export interface KinesisStreamsOutputDescription { @@ -1037,7 +1036,7 @@ export namespace KinesisStreamsOutputDescription { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application output, describes the AWS + *

                                                                  For a SQL-based Kinesis Data Analytics application's output, describes the AWS * Lambda function that is configured as its destination.

                                                                  */ export interface LambdaOutputDescription { @@ -1065,44 +1064,44 @@ export namespace LambdaOutputDescription { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, describes the application + *

                                                                  For a SQL-based Kinesis Data Analytics application, describes the application * output configuration, which includes the in-application stream name and the destination where * the stream data is written. The destination can be a Kinesis data stream or a Kinesis Data * Firehose delivery stream.

                                                                  */ export interface OutputDescription { /** - *

                                                                  Describes the Kinesis data stream that is configured as the destination where output is - * written.

                                                                  + *

                                                                  A unique identifier for the output configuration.

                                                                  */ - KinesisStreamsOutputDescription?: KinesisStreamsOutputDescription; + OutputId?: string; /** - *

                                                                  Describes the Kinesis Data Firehose delivery stream that is configured as the destination - * where output is written.

                                                                  + *

                                                                  The name of the in-application stream that is configured as output.

                                                                  */ - KinesisFirehoseOutputDescription?: KinesisFirehoseOutputDescription; + Name?: string; /** - *

                                                                  The data format used for writing data to the destination.

                                                                  + *

                                                                  Describes the Lambda function that is configured as the destination where output is + * written.

                                                                  */ - DestinationSchema?: DestinationSchema; + LambdaOutputDescription?: LambdaOutputDescription; /** - *

                                                                  A unique identifier for the output configuration.

                                                                  + *

                                                                  The data format used for writing data to the destination.

                                                                  */ - OutputId?: string; + DestinationSchema?: DestinationSchema; /** - *

                                                                  The name of the in-application stream that is configured as output.

                                                                  + *

                                                                  Describes the Kinesis Data Firehose delivery stream that is configured as the destination + * where output is written.

                                                                  */ - Name?: string; + KinesisFirehoseOutputDescription?: KinesisFirehoseOutputDescription; /** - *

                                                                  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; + KinesisStreamsOutputDescription?: KinesisStreamsOutputDescription; } export namespace OutputDescription { @@ -1112,12 +1111,6 @@ export namespace OutputDescription { } export interface AddApplicationOutputResponse { - /** - *

                                                                  The updated application version ID. Kinesis Data Analytics increments this ID when the - * application is updated.

                                                                  - */ - ApplicationVersionId?: number; - /** *

                                                                  The application Amazon Resource Name (ARN).

                                                                  */ @@ -1131,6 +1124,12 @@ 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 { @@ -1140,21 +1139,22 @@ export namespace AddApplicationOutputResponse { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, identifies the Amazon S3 + *

                                                                  For a SQL-based Kinesis Data Analytics application, identifies the Amazon S3 * bucket and object that contains the reference data.

                                                                  * - *

                                                                  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.

                                                                  + *

                                                                  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.

                                                                  */ export interface S3ReferenceDataSource { /** - *

                                                                  The Amazon Resource Name (ARN) of the S3 bucket.

                                                                  + *

                                                                  The object key name containing the reference data.

                                                                  */ - BucketARN?: string; + FileKey?: string; /** - *

                                                                  The object key name containing the reference data.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the S3 bucket.

                                                                  */ - FileKey?: string; + BucketARN?: string; } export namespace S3ReferenceDataSource { @@ -1164,12 +1164,19 @@ export namespace S3ReferenceDataSource { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, describes the reference data + *

                                                                  For a SQL-based Kinesis Data Analytics application, describes the reference data * source by providing the source information (Amazon S3 bucket name and object key name), the * resulting in-application table name that is created, and the necessary schema to map the data * elements in the Amazon S3 object to the in-application table.

                                                                  */ export interface ReferenceDataSource { + /** + *

                                                                  Identifies the S3 bucket and object that contains the reference data. + * + * 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.

                                                                  + */ + S3ReferenceDataSource?: S3ReferenceDataSource; + /** *

                                                                  The name of the in-application table to create.

                                                                  */ @@ -1179,13 +1186,6 @@ export interface ReferenceDataSource { *

                                                                  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.

                                                                  */ ReferenceSchema: SourceSchema | undefined; - - /** - *

                                                                  Identifies the S3 bucket and object that contains the reference data. - * - * 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.

                                                                  - */ - S3ReferenceDataSource?: S3ReferenceDataSource; } export namespace ReferenceDataSource { @@ -1195,18 +1195,19 @@ export namespace ReferenceDataSource { } export interface AddApplicationReferenceDataSourceRequest { - /** - *

                                                                  The name of an existing application.

                                                                  - */ - ApplicationName: string | 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 + * 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.

                                                                  + */ + ApplicationName: string | undefined; + /** *

                                                                  The version of the application for which you are adding the reference data source. You can * use the DescribeApplication operation to get the current application @@ -1223,20 +1224,10 @@ export namespace AddApplicationReferenceDataSourceRequest { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, provides the bucket name and + *

                                                                  For a SQL-based Kinesis Data Analytics application, provides the bucket name and * object key name that stores the reference data.

                                                                  */ export interface S3ReferenceDataSourceDescription { - /** - *

                                                                  Amazon S3 object key name.

                                                                  - */ - FileKey: string | undefined; - - /** - *

                                                                  The Amazon Resource Name (ARN) of the S3 bucket.

                                                                  - */ - BucketARN: string | undefined; - /** *

                                                                  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.

                                                                  @@ -1247,6 +1238,16 @@ export interface S3ReferenceDataSourceDescription { * */ ReferenceRoleARN?: string; + + /** + *

                                                                  Amazon S3 object key name.

                                                                  + */ + FileKey: string | undefined; + + /** + *

                                                                  The Amazon Resource Name (ARN) of the S3 bucket.

                                                                  + */ + BucketARN: string | undefined; } export namespace S3ReferenceDataSourceDescription { @@ -1256,14 +1257,14 @@ export namespace S3ReferenceDataSourceDescription { } /** - *

                                                                  For an SQL-based Amazon Kinesis Data Analytics application, describes the reference data + *

                                                                  For a SQL-based Kinesis Data Analytics application, describes the reference data * source configured for an application.

                                                                  */ export interface ReferenceDataSourceDescription { /** - *

                                                                  Provides the Amazon S3 bucket name, the object key name that contains the reference data.

                                                                  + *

                                                                  The in-application table name created by the specific reference data source configuration.

                                                                  */ - S3ReferenceDataSourceDescription: S3ReferenceDataSourceDescription | undefined; + 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.

                                                                  @@ -1277,9 +1278,9 @@ export interface ReferenceDataSourceDescription { ReferenceId: string | undefined; /** - *

                                                                  The in-application table name created by the specific reference data source configuration.

                                                                  + *

                                                                  Provides the Amazon S3 bucket name, the object key name that contains the reference data.

                                                                  */ - TableName: string | undefined; + S3ReferenceDataSourceDescription: S3ReferenceDataSourceDescription | undefined; } export namespace ReferenceDataSourceDescription { @@ -1289,12 +1290,6 @@ export namespace ReferenceDataSourceDescription { } export interface AddApplicationReferenceDataSourceResponse { - /** - *

                                                                  The updated application version ID. Amazon Kinesis Data Analytics increments this ID when - * the application is updated.

                                                                  - */ - ApplicationVersionId?: number; - /** *

                                                                  Describes reference data sources configured for the application. * @@ -1304,6 +1299,12 @@ export interface AddApplicationReferenceDataSourceResponse { */ ReferenceDataSourceDescriptions?: ReferenceDataSourceDescription[]; + /** + *

                                                                  The updated application version ID. Kinesis Data Analytics increments this ID when + * the application is updated.

                                                                  + */ + ApplicationVersionId?: number; + /** *

                                                                  The application Amazon Resource Name (ARN).

                                                                  */ @@ -1321,14 +1322,16 @@ export namespace AddApplicationReferenceDataSourceResponse { */ export interface VpcConfiguration { /** - *

                                                                  The array of Subnet IDs used by the VPC configuration.

                                                                  + *

                                                                  The array of SecurityGroup + * IDs used by the VPC configuration.

                                                                  */ - SubnetIds: string[] | undefined; + SecurityGroupIds: string[] | undefined; /** - *

                                                                  The array of SecurityGroup IDs used by the VPC configuration.

                                                                  + *

                                                                  The array of Subnet IDs + * used by the VPC configuration.

                                                                  */ - SecurityGroupIds: string[] | undefined; + SubnetIds: string[] | undefined; } export namespace VpcConfiguration { @@ -1338,6 +1341,14 @@ export namespace VpcConfiguration { } export interface AddApplicationVpcConfigurationRequest { + /** + *

                                                                  The version of the application to which you want to add the VPC + * configuration. You can use the DescribeApplication operation to get the + * current application version. If the version specified is not the current version, the + * ConcurrentModificationException is returned.

                                                                  + */ + CurrentApplicationVersionId: number | undefined; + /** *

                                                                  The name of an existing application.

                                                                  */ @@ -1347,14 +1358,6 @@ export interface AddApplicationVpcConfigurationRequest { *

                                                                  Description of the VPC to add to the application.

                                                                  */ VpcConfiguration: VpcConfiguration | 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 - * current application version. If the version specified is not the current version, the - * ConcurrentModificationException is returned.

                                                                  - */ - CurrentApplicationVersionId: number | undefined; } export namespace AddApplicationVpcConfigurationRequest { @@ -1368,10 +1371,17 @@ export namespace AddApplicationVpcConfigurationRequest { */ export interface VpcConfigurationDescription { /** - *

                                                                  The array of Subnet IDs used by the VPC configuration.

                                                                  + *

                                                                  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; + /** *

                                                                  The ID of the associated VPC.

                                                                  */ @@ -1381,11 +1391,6 @@ export interface VpcConfigurationDescription { *

                                                                  The ID of the VPC configuration.

                                                                  */ VpcConfigurationId: string | undefined; - - /** - *

                                                                  The array of SecurityGroup IDs used by the VPC configuration.

                                                                  - */ - SecurityGroupIds: string[] | undefined; } export namespace VpcConfigurationDescription { @@ -1395,11 +1400,6 @@ export namespace VpcConfigurationDescription { } 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.

                                                                  */ @@ -1409,6 +1409,11 @@ export interface AddApplicationVpcConfigurationResponse { *

                                                                  The ARN of the application.

                                                                  */ ApplicationARN?: string; + + /** + *

                                                                  Provides the current application version. Kinesis Data Analytics updates the ApplicationVersionId each time you update the application.

                                                                  + */ + ApplicationVersionId?: number; } export namespace AddApplicationVpcConfigurationResponse { @@ -1418,21 +1423,21 @@ export namespace AddApplicationVpcConfigurationResponse { } /** - *

                                                                  For a Java-based Amazon Kinesis Data Analytics application, provides a + *

                                                                  For a Flink-based Kinesis Data Analytics application, provides a * description of an Amazon S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, * the name of the Amazon S3 object that contains the data, and the version number of the Amazon * S3 object that contains the data.

                                                                  */ export interface S3ContentLocation { /** - *

                                                                  The version of the object containing the application code.

                                                                  + *

                                                                  The file key for the object containing the application code.

                                                                  */ - ObjectVersion?: string; + FileKey: string | undefined; /** - *

                                                                  The file key for the object containing the application code.

                                                                  + *

                                                                  The version of the object containing the application code.

                                                                  */ - FileKey: string | undefined; + ObjectVersion?: string; /** *

                                                                  The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                                                                  @@ -1448,23 +1453,23 @@ export namespace S3ContentLocation { /** *

                                                                  Specifies either the application code, or the location of the application code, for a - * Java-based Amazon Kinesis Data Analytics application.

                                                                  + * Flink-based Kinesis Data Analytics application.

                                                                  */ export interface CodeContent { /** - *

                                                                  The zip-format code for a Java-based Kinesis Data Analytics application.

                                                                  + *

                                                                  Information about the Amazon S3 bucket containing the application code.

                                                                  */ - ZipFileContent?: Uint8Array; + S3ContentLocation?: S3ContentLocation; /** - *

                                                                  The text-format code for a Java-based Kinesis Data Analytics application.

                                                                  + *

                                                                  The zip-format code for a Flink-based Kinesis Data Analytics application.

                                                                  */ - TextContent?: string; + ZipFileContent?: Uint8Array; /** - *

                                                                  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; } export namespace CodeContent { @@ -1479,19 +1484,18 @@ export enum CodeContentType { } /** - *

                                                                  Describes code configuration for a Java-based Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Describes code configuration for a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface ApplicationCodeConfiguration { /** - *

                                                                  Specifies whether the code content is in text or zip format.

                                                                  + *

                                                                  The location and type of the application code.

                                                                  */ - CodeContentType: CodeContentType | string | undefined; + CodeContent?: CodeContent; /** - *

                                                                  The location and type of the application code.

                                                                  + *

                                                                  Specifies whether the code content is in text or zip format.

                                                                  */ - CodeContent?: CodeContent; + CodeContentType: CodeContentType | string | undefined; } export namespace ApplicationCodeConfiguration { @@ -1501,15 +1505,9 @@ export namespace ApplicationCodeConfiguration { } /** - *

                                                                  Describes the location of a Java-based Amazon Kinesis Data Analytics - * application's code stored in an S3 bucket.

                                                                  + *

                                                                  Describes the location of a Flink-based Kinesis Data Analytics application's code stored in an S3 bucket.

                                                                  */ export interface S3ApplicationCodeLocationDescription { - /** - *

                                                                  The version of the object containing the application code.

                                                                  - */ - ObjectVersion?: string; - /** *

                                                                  The file key for the object containing the application code.

                                                                  */ @@ -1519,6 +1517,11 @@ export interface S3ApplicationCodeLocationDescription { *

                                                                  The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                                                                  */ BucketARN: string | undefined; + + /** + *

                                                                  The version of the object containing the application code.

                                                                  + */ + ObjectVersion?: string; } export namespace S3ApplicationCodeLocationDescription { @@ -1528,14 +1531,13 @@ export namespace S3ApplicationCodeLocationDescription { } /** - *

                                                                  Describes details about the application code for a Java-based Kinesis Data - * Analytics application.

                                                                  + *

                                                                  Describes details about the application code for a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface CodeContentDescription { /** - *

                                                                  The size in bytes of the application code. Can be used to validate zip-format code.

                                                                  + *

                                                                  The text-format code

                                                                  */ - CodeSize?: number; + TextContent?: string; /** *

                                                                  The S3 bucket Amazon Resource Name (ARN), file key, and object version of the application @@ -1544,9 +1546,9 @@ export interface CodeContentDescription { S3ApplicationCodeLocationDescription?: S3ApplicationCodeLocationDescription; /** - *

                                                                  The text-format code

                                                                  + *

                                                                  The size in bytes of the application code. Can be used to validate zip-format code.

                                                                  */ - TextContent?: string; + CodeSize?: number; /** *

                                                                  The checksum that can be used to validate zip-format code.

                                                                  @@ -1561,8 +1563,7 @@ export namespace CodeContentDescription { } /** - *

                                                                  Describes code configuration for a Java-based Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Describes code configuration for a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface ApplicationCodeConfigurationDescription { /** @@ -1583,15 +1584,10 @@ export namespace ApplicationCodeConfigurationDescription { } /** - *

                                                                  Describes an update for the Amazon S3 code content location for a Java-based - * Amazon Kinesis Data Analytics application.

                                                                  + *

                                                                  Describes an update for the Amazon S3 code content location for a + * Flink-based Kinesis Data Analytics application.

                                                                  */ 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.

                                                                  */ @@ -1601,6 +1597,11 @@ export interface S3ContentLocationUpdate { *

                                                                  The new Amazon Resource Name (ARN) for the S3 bucket containing the application code.

                                                                  */ BucketARNUpdate?: string; + + /** + *

                                                                  The new file key for the object containing the application code.

                                                                  + */ + FileKeyUpdate?: string; } export namespace S3ContentLocationUpdate { @@ -1610,19 +1611,18 @@ export namespace S3ContentLocationUpdate { } /** - *

                                                                  Describes an update to the code of a Java-based Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Describes an update to the code of a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface CodeContentUpdate { /** - *

                                                                  Describes an update to the zipped code for an application.

                                                                  + *

                                                                  Describes an update to the text code for an application.

                                                                  */ - ZipFileContentUpdate?: Uint8Array; + TextContentUpdate?: string; /** - *

                                                                  Describes an update to the text code for an application.

                                                                  + *

                                                                  Describes an update to the zipped code for an application.

                                                                  */ - TextContentUpdate?: string; + ZipFileContentUpdate?: Uint8Array; /** *

                                                                  Describes an update to the location of code for an application.

                                                                  @@ -1637,8 +1637,7 @@ export namespace CodeContentUpdate { } /** - *

                                                                  Describes updates to a Java-based Amazon Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Describes code configuration updates to a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface ApplicationCodeConfigurationUpdate { /** @@ -1659,11 +1658,11 @@ export namespace ApplicationCodeConfigurationUpdate { } /** - *

                                                                  Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

                                                                  + *

                                                                  Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface ApplicationSnapshotConfiguration { /** - *

                                                                  Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

                                                                  + *

                                                                  Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                                                                  */ SnapshotsEnabled: boolean | undefined; } @@ -1675,19 +1674,18 @@ export namespace ApplicationSnapshotConfiguration { } /** - *

                                                                  Property key-value pairs passed into a Java-based Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Property key-value pairs passed into a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface PropertyGroup { /** - *

                                                                  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; /** - *

                                                                  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; } export namespace PropertyGroup { @@ -1697,8 +1695,7 @@ export namespace PropertyGroup { } /** - *

                                                                  Describes execution properties for a Java-based Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Describes execution properties for a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface EnvironmentProperties { /** @@ -1719,24 +1716,50 @@ export enum ConfigurationType { } /** - *

                                                                  Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance. + *

                                                                  Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault + * tolerance. * For more information, see - * + * * Checkpoints for Fault Tolerance in the - * Apache Flink Documentation.

                                                                  + * 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.

                                                                  + * 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 the application uses Amazon Kinesis Data Analytics' default checkpointing behavior. + *

                                                                  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 * CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints parameters.

                                                                  * @@ -1759,29 +1782,6 @@ export interface CheckpointConfiguration { * */ ConfigurationType: ConfigurationType | string | undefined; - - /** - *

                                                                  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 whether checkpointing is enabled for a Java-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; } export namespace CheckpointConfiguration { @@ -1805,17 +1805,13 @@ export enum MetricsLevel { } /** - *

                                                                  Describes configuration parameters for Amazon CloudWatch logging for a Java-based + *

                                                                  Describes configuration parameters for Amazon CloudWatch logging for a Flink-based * Kinesis Data Analytics application. For more information about CloudWatch logging, see Monitoring.

                                                                  */ export interface MonitoringConfiguration { /** - *

                                                                  Describes the verbosity of the CloudWatch Logs for an application.

                                                                  - */ - LogLevel?: LogLevel | string; - - /** - *

                                                                  Describes the granularity of the CloudWatch Logs for an application.

                                                                  + *

                                                                  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; @@ -1825,6 +1821,11 @@ export interface MonitoringConfiguration { * MetricsLevel parameters.

                                                                  */ ConfigurationType: ConfigurationType | string | undefined; + + /** + *

                                                                  Describes the verbosity of the CloudWatch Logs for an application.

                                                                  + */ + LogLevel?: LogLevel | string; } export namespace MonitoringConfiguration { @@ -1834,39 +1835,40 @@ export namespace MonitoringConfiguration { } /** - *

                                                                  Describes parameters for how a Java-based Amazon Kinesis Data Analytics + *

                                                                  Describes parameters for how a Flink-based Kinesis Data Analytics application * application executes multiple tasks simultaneously. For more information about parallelism, - * see Parallel Execution in the Apache Flink + * see Parallel Execution in the Apache Flink * Documentation.

                                                                  */ export interface ParallelismConfiguration { /** - *

                                                                  Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

                                                                  + *

                                                                  Describes whether the application uses the default parallelism for the Kinesis Data Analytics service. You must set this property to CUSTOM + * in order to change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties.

                                                                  */ - AutoScalingEnabled?: boolean; + ConfigurationType: ConfigurationType | string | undefined; /** - *

                                                                  Describes the number of parallel tasks that a Java-based Kinesis Data Analytics - * application can perform per Kinesis Processing Unit (KPU) used by the application. For more + *

                                                                  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 application uses the default parallelism for the Kinesis Data - * Analytics service. You must set this property to CUSTOM - * in order to change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties.

                                                                  + *

                                                                  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 + * load. The service can increase the CurrentParallelism value 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 can + * reduce the CurrentParallelism value down to the Parallelism setting.

                                                                  */ - ConfigurationType: ConfigurationType | string | undefined; + Parallelism?: number; /** - *

                                                                  Describes the initial number of parallel tasks that a Java-based Kinesis Data Analytics - * application can perform. If AutoScalingEnabled is set to True, Kinesis Data Analytics increases the CurrentParallelism value in response to application - * load. The service can increase the CurrentParallelism value 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 can - * reduce the CurrentParallelism value down to the Parallelism setting.

                                                                  + *

                                                                  Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

                                                                  */ - Parallelism?: number; + AutoScalingEnabled?: boolean; } export namespace ParallelismConfiguration { @@ -1876,17 +1878,16 @@ export namespace ParallelismConfiguration { } /** - *

                                                                  Describes configuration parameters for a Java-based Amazon Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Describes configuration parameters for a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface FlinkApplicationConfiguration { /** *

                                                                  Describes an application's checkpointing configuration. Checkpointing is the * process of persisting application state for fault tolerance. * For more information, see - * + * * Checkpoints for Fault Tolerance in the - * Apache Flink Documentation.

                                                                  + * Apache Flink Documentation.

                                                                  */ CheckpointConfiguration?: CheckpointConfiguration; @@ -1909,8 +1910,7 @@ export namespace FlinkApplicationConfiguration { } /** - *

                                                                  Describes the inputs, outputs, and reference data sources for an SQL-based Kinesis Data - * Analytics application.

                                                                  + *

                                                                  Describes the inputs, outputs, and reference data sources for a SQL-based Kinesis Data Analytics application.

                                                                  */ export interface SqlApplicationConfiguration { /** @@ -1939,41 +1939,38 @@ export namespace SqlApplicationConfiguration { } /** - *

                                                                  Specifies the creation parameters for an Amazon Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Specifies the creation parameters for a Kinesis Data Analytics application.

                                                                  */ export interface ApplicationConfiguration { /** - *

                                                                  The code location and type parameters for a Java-based Kinesis Data Analytics application.

                                                                  + *

                                                                  Describes execution properties for a Flink-based Kinesis Data Analytics application.

                                                                  */ - ApplicationCodeConfiguration: ApplicationCodeConfiguration | undefined; + EnvironmentProperties?: EnvironmentProperties; /** - *

                                                                  The creation and update parameters for a Java-based Kinesis Data Analytics - * application.

                                                                  + *

                                                                  The code location and type parameters for a Flink-based Kinesis Data Analytics application.

                                                                  */ - FlinkApplicationConfiguration?: FlinkApplicationConfiguration; + ApplicationCodeConfiguration: ApplicationCodeConfiguration | undefined; /** - *

                                                                  Describes execution properties for a Java-based Kinesis Data Analytics application.

                                                                  + *

                                                                  The array of descriptions of VPC configurations available to the application.

                                                                  */ - EnvironmentProperties?: EnvironmentProperties; + VpcConfigurations?: VpcConfiguration[]; /** - *

                                                                  Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

                                                                  + *

                                                                  The creation and update parameters for a SQL-based Kinesis Data Analytics application.

                                                                  */ - ApplicationSnapshotConfiguration?: ApplicationSnapshotConfiguration; + SqlApplicationConfiguration?: SqlApplicationConfiguration; /** - *

                                                                  The array of descriptions of VPC configurations available to the application.

                                                                  + *

                                                                  The creation and update parameters for a Flink-based Kinesis Data Analytics application.

                                                                  */ - VpcConfigurations?: VpcConfiguration[]; + FlinkApplicationConfiguration?: FlinkApplicationConfiguration; /** - *

                                                                  The creation and update parameters for an SQL-based Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                                                                  */ - SqlApplicationConfiguration?: SqlApplicationConfiguration; + ApplicationSnapshotConfiguration?: ApplicationSnapshotConfiguration; } export namespace ApplicationConfiguration { @@ -1983,11 +1980,11 @@ export namespace ApplicationConfiguration { } /** - *

                                                                  Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

                                                                  + *

                                                                  Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface ApplicationSnapshotConfigurationDescription { /** - *

                                                                  Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

                                                                  + *

                                                                  Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                                                                  */ SnapshotsEnabled: boolean | undefined; } @@ -1999,8 +1996,7 @@ export namespace ApplicationSnapshotConfigurationDescription { } /** - *

                                                                  Describes the execution properties for a Java-based Amazon Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Describes the execution properties for a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface EnvironmentPropertyDescriptions { /** @@ -2016,43 +2012,24 @@ export namespace EnvironmentPropertyDescriptions { } /** - *

                                                                  Describes checkpointing parameters for a Java-based Amazon Kinesis Data Analytics - * application.

                                                                  + *

                                                                  Describes checkpointing parameters for a Flink-based Kinesis Data Analytics application.

                                                                  */ export interface CheckpointConfigurationDescription { /** - *

                                                                  Describes whether checkpointing is enabled for a Java-based Kinesis Data Analytics application.

                                                                  + *

                                                                  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.

                                                                  + * 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 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.

                                                                  - *
                                                                  - */ - MinPauseBetweenCheckpoints?: number; - - /** - *

                                                                  Describes the interval in milliseconds between checkpoint operations.

                                                                  + *

                                                                  Describes whether the application uses the default checkpointing behavior in Kinesis Data Analytics.

                                                                  * - *

                                                                  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 the application uses the default checkpointing behavior in Kinesis Data - * Analytics.

                                                                  - * - *

                                                                  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 + *

                                                                  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 * application code:

                                                                  *
                                                                    *
                                                                  • @@ -2071,6 +2048,27 @@ export interface CheckpointConfigurationDescription { * */ ConfigurationType?: ConfigurationType | string; + + /** + *

                                                                    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 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 CheckpointConfigurationDescription { @@ -2080,19 +2078,19 @@ export namespace CheckpointConfigurationDescription { } /** - *

                                                                    Describes configuration parameters for CloudWatch logging for a Java-based + *

                                                                    Describes configuration parameters for CloudWatch logging for a Flink-based * Kinesis Data Analytics application.

                                                                    */ export interface MonitoringConfigurationDescription { /** - *

                                                                    Describes the verbosity of the CloudWatch Logs for an application.

                                                                    + *

                                                                    Describes whether to use the default CloudWatch logging configuration for an application.

                                                                    */ - LogLevel?: LogLevel | string; + ConfigurationType?: ConfigurationType | string; /** - *

                                                                    Describes whether to use the default CloudWatch logging configuration for an application.

                                                                    + *

                                                                    Describes the verbosity of the CloudWatch Logs for an application.

                                                                    */ - ConfigurationType?: ConfigurationType | string; + LogLevel?: LogLevel | string; /** *

                                                                    Describes the granularity of the CloudWatch Logs for an application.

                                                                    @@ -2107,41 +2105,41 @@ export namespace MonitoringConfigurationDescription { } /** - *

                                                                    Describes parameters for how a Java-based Kinesis Data Analytics application + *

                                                                    Describes parameters for how a Flink-based Kinesis Data Analytics application * 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 Java-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 + *

                                                                    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 * 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 can * reduce the CurrentParallelism value down to the Parallelism setting.

                                                                    */ Parallelism?: 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 + * load. The service can increase this value 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 can reduce + * the CurrentParallelism value down to the Parallelism setting.

                                                                    + */ + CurrentParallelism?: number; + /** *

                                                                    Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

                                                                    */ AutoScalingEnabled?: boolean; /** - *

                                                                    Describes the current number of parallel tasks that a Java-based Kinesis Data Analytics - * application can perform. If AutoScalingEnabled is set to True, Kinesis Data Analytics can increase this value in response to application - * load. The service can increase this value 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 can reduce - * the CurrentParallelism value down to the Parallelism setting.

                                                                    + *

                                                                    Describes whether the application uses the default parallelism for the Kinesis Data Analytics service.

                                                                    */ - CurrentParallelism?: number; + ConfigurationType?: ConfigurationType | string; /** - *

                                                                    Describes the number of parallel tasks that a Java-based Kinesis Data Analytics - * application can perform per Kinesis Processing Unit (KPU) used by the application.

                                                                    + *

                                                                    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; } @@ -2153,20 +2151,19 @@ export namespace ParallelismConfigurationDescription { } /** - *

                                                                    Describes configuration parameters for a Java-based Amazon Kinesis Data Analytics - * application.

                                                                    + *

                                                                    Describes configuration parameters for a Flink-based Kinesis Data Analytics application.

                                                                    */ export interface FlinkApplicationConfigurationDescription { /** - *

                                                                    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.

                                                                    + *

                                                                    Describes parameters for how an application executes multiple tasks simultaneously.

                                                                    */ - JobPlanDescription?: string; + ParallelismConfigurationDescription?: ParallelismConfigurationDescription; /** - *

                                                                    Describes parameters for how an application executes multiple tasks simultaneously.

                                                                    + *

                                                                    Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state + * for fault tolerance.

                                                                    */ - ParallelismConfigurationDescription?: ParallelismConfigurationDescription; + CheckpointConfigurationDescription?: CheckpointConfigurationDescription; /** *

                                                                    Describes configuration parameters for Amazon CloudWatch logging for an @@ -2175,9 +2172,10 @@ export interface FlinkApplicationConfigurationDescription { MonitoringConfigurationDescription?: MonitoringConfigurationDescription; /** - *

                                                                    Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance.

                                                                    + *

                                                                    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.

                                                                    */ - CheckpointConfigurationDescription?: CheckpointConfigurationDescription; + JobPlanDescription?: string; } export namespace FlinkApplicationConfigurationDescription { @@ -2197,15 +2195,16 @@ export enum ApplicationRestoreType { */ export interface ApplicationRestoreConfiguration { /** - *

                                                                    The identifier of an existing snapshot of application state to use to restart an application. - * The application uses this value if RESTORE_FROM_CUSTOM_SNAPSHOT is specified for the ApplicationRestoreType.

                                                                    + *

                                                                    Specifies how the application should be restored.

                                                                    */ - SnapshotName?: string; + ApplicationRestoreType: ApplicationRestoreType | string | undefined; /** - *

                                                                    Specifies how the application should be restored.

                                                                    + *

                                                                    The identifier of an existing snapshot of application state to use to restart an application. + * The application uses this value if RESTORE_FROM_CUSTOM_SNAPSHOT is specified for the + * ApplicationRestoreType.

                                                                    */ - ApplicationRestoreType: ApplicationRestoreType | string | undefined; + SnapshotName?: string; } export namespace ApplicationRestoreConfiguration { @@ -2214,6 +2213,34 @@ export namespace ApplicationRestoreConfiguration { }); } +/** + *

                                                                    Describes the starting parameters for a Flink-based Kinesis Data Analytics application.

                                                                    + */ +export interface FlinkRunConfiguration { + /** + *

                                                                    When restoring from a snapshot, specifies whether the runtime is allowed to skip a state that cannot + * be mapped to the new program. + * This will happen if the program is updated between snapshots to remove stateful parameters, and + * state data in the snapshot no longer + * corresponds to valid application data. For more information, see + * + * Allowing Non-Restored State in the Apache Flink + * documentation.

                                                                    + * + *

                                                                    This value defaults to false. If you update your application without + * specifying this parameter, AllowNonRestoredState will be set to false, + * even if it was previously set to true.

                                                                    + *
                                                                    + */ + AllowNonRestoredState?: boolean; +} + +export namespace FlinkRunConfiguration { + export const filterSensitiveLog = (obj: FlinkRunConfiguration): any => ({ + ...obj, + }); +} + /** *

                                                                    Describes the starting properties for a Kinesis Data Analytics application.

                                                                    */ @@ -2222,6 +2249,11 @@ export interface RunConfigurationDescription { *

                                                                    Describes the restore behavior of a restarting application.

                                                                    */ ApplicationRestoreConfigurationDescription?: ApplicationRestoreConfiguration; + + /** + *

                                                                    Describes the starting parameters for a Flink-based Kinesis Data Analytics application.

                                                                    + */ + FlinkRunConfigurationDescription?: FlinkRunConfiguration; } export namespace RunConfigurationDescription { @@ -2231,22 +2263,21 @@ export namespace RunConfigurationDescription { } /** - *

                                                                    Describes the inputs, outputs, and reference data sources for an SQL-based Kinesis Data - * Analytics application.

                                                                    + *

                                                                    Describes the inputs, outputs, and reference data sources for a SQL-based Kinesis Data Analytics application.

                                                                    */ export interface SqlApplicationConfigurationDescription { - /** - *

                                                                    The array of OutputDescription objects describing the destination - * streams used by the application.

                                                                    - */ - OutputDescriptions?: OutputDescription[]; - /** *

                                                                    The array of ReferenceDataSourceDescription objects describing the * reference data sources used by the application.

                                                                    */ ReferenceDataSourceDescriptions?: ReferenceDataSourceDescription[]; + /** + *

                                                                    The array of OutputDescription objects describing the destination + * streams used by the application.

                                                                    + */ + OutputDescriptions?: OutputDescription[]; + /** *

                                                                    The array of InputDescription objects describing the input streams used * by the application.

                                                                    @@ -2261,20 +2292,13 @@ export namespace SqlApplicationConfigurationDescription { } /** - *

                                                                    Describes details about the application code and starting parameters for an Amazon Kinesis - * Data Analytics application.

                                                                    + *

                                                                    Describes details about the application code and starting parameters for a Kinesis Data Analytics application.

                                                                    */ export interface ApplicationConfigurationDescription { /** - *

                                                                    The details about a Java-based Kinesis Data Analytics application.

                                                                    + *

                                                                    The details about the application code for a Flink-based Kinesis Data Analytics application.

                                                                    */ - FlinkApplicationConfigurationDescription?: FlinkApplicationConfigurationDescription; - - /** - *

                                                                    Describes execution properties for a Java-based Kinesis Data Analytics - * application.

                                                                    - */ - EnvironmentPropertyDescriptions?: EnvironmentPropertyDescriptions; + ApplicationCodeConfigurationDescription?: ApplicationCodeConfigurationDescription; /** *

                                                                    The array of descriptions of VPC configurations available to the application.

                                                                    @@ -2282,15 +2306,14 @@ export interface ApplicationConfigurationDescription { VpcConfigurationDescriptions?: VpcConfigurationDescription[]; /** - *

                                                                    Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

                                                                    + *

                                                                    Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                                                                    */ ApplicationSnapshotConfigurationDescription?: ApplicationSnapshotConfigurationDescription; /** - *

                                                                    The details about the application code for a Java-based Kinesis Data Analytics - * application.

                                                                    + *

                                                                    The details about inputs, outputs, and reference data sources for a SQL-based Kinesis Data Analytics application.

                                                                    */ - ApplicationCodeConfigurationDescription?: ApplicationCodeConfigurationDescription; + SqlApplicationConfigurationDescription?: SqlApplicationConfigurationDescription; /** *

                                                                    The details about the starting properties for a Kinesis Data Analytics application.

                                                                    @@ -2298,10 +2321,14 @@ export interface ApplicationConfigurationDescription { RunConfigurationDescription?: RunConfigurationDescription; /** - *

                                                                    The details about inputs, outputs, and reference data sources for an SQL-based Kinesis - * Data Analytics application.

                                                                    + *

                                                                    The details about a Flink-based Kinesis Data Analytics application.

                                                                    */ - SqlApplicationConfigurationDescription?: SqlApplicationConfigurationDescription; + FlinkApplicationConfigurationDescription?: FlinkApplicationConfigurationDescription; + + /** + *

                                                                    Describes execution properties for a Flink-based Kinesis Data Analytics application.

                                                                    + */ + EnvironmentPropertyDescriptions?: EnvironmentPropertyDescriptions; } export namespace ApplicationConfigurationDescription { @@ -2311,11 +2338,11 @@ export namespace ApplicationConfigurationDescription { } /** - *

                                                                    Describes updates to whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

                                                                    + *

                                                                    Describes updates to whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                                                                    */ export interface ApplicationSnapshotConfigurationUpdate { /** - *

                                                                    Describes updates to whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

                                                                    + *

                                                                    Describes updates to whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                                                                    */ SnapshotsEnabledUpdate: boolean | undefined; } @@ -2327,8 +2354,7 @@ export namespace ApplicationSnapshotConfigurationUpdate { } /** - *

                                                                    Describes updates to the execution property groups for a Java-based Amazon - * Kinesis Data Analytics application.

                                                                    + *

                                                                    Describes updates to the execution property groups for a Flink-based Kinesis Data Analytics application.

                                                                    */ export interface EnvironmentPropertyUpdates { /** @@ -2344,27 +2370,19 @@ export namespace EnvironmentPropertyUpdates { } /** - *

                                                                    Describes updates to the checkpointing parameters for a Java-based Amazon Kinesis - * Data Analytics application.

                                                                    + *

                                                                    Describes updates to the checkpointing parameters for a Flink-based Kinesis Data Analytics application.

                                                                    */ export interface CheckpointConfigurationUpdate { /** - *

                                                                    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.

                                                                    + *

                                                                    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 CheckpointInterval vaue of 60000, 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.

                                                                    *
                                                                    */ - CheckpointIntervalUpdate?: number; + MinPauseBetweenCheckpointsUpdate?: number; /** *

                                                                    Describes updates to whether the application uses the default checkpointing behavior of @@ -2372,7 +2390,8 @@ export interface CheckpointConfigurationUpdate { * CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints parameters. *

                                                                    * - *

                                                                    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 + *

                                                                    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 * application code:

                                                                    *
                                                                      *
                                                                    • @@ -2393,14 +2412,24 @@ export interface CheckpointConfigurationUpdate { ConfigurationTypeUpdate?: ConfigurationType | string; /** - *

                                                                      Describes updates to the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation - * can start.

                                                                      + *

                                                                      Describes updates to the interval in milliseconds between checkpoint operations.

                                                                      * *

                                                                      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.

                                                                      + * 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.

                                                                      *
                                                                      */ - MinPauseBetweenCheckpointsUpdate?: number; + CheckpointIntervalUpdate?: number; + + /** + *

                                                                      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; } export namespace CheckpointConfigurationUpdate { @@ -2410,18 +2439,19 @@ export namespace CheckpointConfigurationUpdate { } /** - *

                                                                      Describes updates to configuration parameters for Amazon CloudWatch logging for a Java-based Kinesis Data Analytics application.

                                                                      + *

                                                                      Describes updates to configuration parameters for Amazon CloudWatch logging for a Flink-based Kinesis Data Analytics application.

                                                                      */ export interface MonitoringConfigurationUpdate { /** - *

                                                                      Describes updates to the granularity of the CloudWatch Logs for an application.

                                                                      + *

                                                                      Describes updates to the verbosity of the CloudWatch Logs for an application.

                                                                      */ - MetricsLevelUpdate?: MetricsLevel | string; + LogLevelUpdate?: LogLevel | string; /** - *

                                                                      Describes updates to the verbosity of the CloudWatch Logs for an application.

                                                                      + *

                                                                      Describes updates to 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.

                                                                      */ - LogLevelUpdate?: LogLevel | string; + MetricsLevelUpdate?: MetricsLevel | string; /** *

                                                                      Describes updates to whether to use the default CloudWatch logging configuration for @@ -2432,30 +2462,15 @@ export interface MonitoringConfigurationUpdate { } export namespace MonitoringConfigurationUpdate { - export const filterSensitiveLog = (obj: MonitoringConfigurationUpdate): any => ({ - ...obj, - }); -} - -/** - *

                                                                      Describes updates to parameters for how a Java-based Kinesis Data Analytics - * application executes multiple tasks simultaneously.

                                                                      - */ -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 const filterSensitiveLog = (obj: MonitoringConfigurationUpdate): any => ({ + ...obj, + }); +} +/** + *

                                                                      Describes updates to parameters for how a Flink-based Kinesis Data Analytics application executes multiple tasks simultaneously.

                                                                      + */ +export interface ParallelismConfigurationUpdate { /** *

                                                                      Describes updates to whether the application uses the default parallelism for the Kinesis Data Analytics service, or if a custom parallelism is used. * You must set this property to CUSTOM @@ -2467,6 +2482,20 @@ export interface ParallelismConfigurationUpdate { *

                                                                      Describes updates to the number of parallel tasks an application can perform per Kinesis Processing Unit (KPU) used by the application.

                                                                      */ ParallelismPerKPUUpdate?: number; + + /** + *

                                                                      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 { @@ -2476,15 +2505,9 @@ export namespace ParallelismConfigurationUpdate { } /** - *

                                                                      Describes updates to the configuration parameters for a Java-based Amazon Kinesis - * Data Analytics application.

                                                                      + *

                                                                      Describes updates to the configuration parameters for a Flink-based Kinesis Data Analytics application.

                                                                      */ export interface FlinkApplicationConfigurationUpdate { - /** - *

                                                                      Describes updates to the parameters for how an application executes multiple tasks simultaneously.

                                                                      - */ - ParallelismConfigurationUpdate?: ParallelismConfigurationUpdate; - /** *

                                                                      Describes updates to the configuration parameters for Amazon CloudWatch logging for an * application.

                                                                      @@ -2492,9 +2515,15 @@ export interface FlinkApplicationConfigurationUpdate { MonitoringConfigurationUpdate?: MonitoringConfigurationUpdate; /** - *

                                                                      Describes updates to an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance.

                                                                      + *

                                                                      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 parameters for how an application executes multiple tasks simultaneously.

                                                                      + */ + ParallelismConfigurationUpdate?: ParallelismConfigurationUpdate; } export namespace FlinkApplicationConfigurationUpdate { @@ -2504,7 +2533,7 @@ export namespace FlinkApplicationConfigurationUpdate { } /** - *

                                                                      For an SQL-based Amazon Kinesis Data Analytics application, provides updates to the + *

                                                                      For a SQL-based Kinesis Data Analytics application, provides updates to the * parallelism count.

                                                                      */ export interface InputParallelismUpdate { @@ -2521,7 +2550,7 @@ export namespace InputParallelismUpdate { } /** - *

                                                                      For an SQL-based Amazon Kinesis Data Analytics application, represents an update to the + *

                                                                      For a SQL-based Kinesis Data Analytics application, represents an update to the * InputLambdaProcessor that is used to preprocess the records in the * stream.

                                                                      */ @@ -2530,7 +2559,7 @@ export interface InputLambdaProcessorUpdate { *

                                                                      The Amazon Resource Name (ARN) of the new AWS Lambda function that is used to preprocess * the records in the stream.

                                                                      * - *

                                                                      To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda + *

                                                                      To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda *

                                                                      *
                                                                      */ @@ -2544,7 +2573,7 @@ export namespace InputLambdaProcessorUpdate { } /** - *

                                                                      For an SQL-based Amazon Kinesis Data Analytics application, describes updates to an InputProcessingConfiguration.

                                                                      + *

                                                                      For a SQL-based Kinesis Data Analytics application, describes updates to an InputProcessingConfiguration.

                                                                      */ export interface InputProcessingConfigurationUpdate { /** @@ -2560,7 +2589,7 @@ export namespace InputProcessingConfigurationUpdate { } /** - *

                                                                      Describes updates for an SQL-based Amazon Kinesis Data Analytics application's input + *

                                                                      Describes updates for an SQL-based Kinesis Data Analytics application's input * schema.

                                                                      */ export interface InputSchemaUpdate { @@ -2571,14 +2600,14 @@ export interface InputSchemaUpdate { RecordColumnUpdates?: RecordColumn[]; /** - *

                                                                      Specifies the format of the records on the streaming source.

                                                                      + *

                                                                      Specifies the encoding of the records in the streaming source; for example, UTF-8.

                                                                      */ - RecordFormatUpdate?: RecordFormat; + RecordEncodingUpdate?: string; /** - *

                                                                      Specifies the encoding of the records in the streaming source; for example, UTF-8.

                                                                      + *

                                                                      Specifies the format of the records on the streaming source.

                                                                      */ - RecordEncodingUpdate?: string; + RecordFormatUpdate?: RecordFormat; } export namespace InputSchemaUpdate { @@ -2588,7 +2617,7 @@ export namespace InputSchemaUpdate { } /** - *

                                                                      For an SQL-based Amazon Kinesis Data Analytics application, when updating application + *

                                                                      For a SQL-based Kinesis Data Analytics application, when updating application * input configuration, provides information about a Kinesis Data Firehose delivery stream as the * streaming source.

                                                                      */ @@ -2606,8 +2635,8 @@ export namespace KinesisFirehoseInputUpdate { } /** - *

                                                                      When you update the input configuration for an SQL-based Amazon Kinesis Data Analytics - * application, provides information about an Amazon Kinesis stream as the streaming + *

                                                                      When you update the input configuration for a SQL-based Kinesis Data Analytics application, provides information about a + * Kinesis stream as the streaming * source.

                                                                      */ export interface KinesisStreamsInputUpdate { @@ -2624,10 +2653,16 @@ export namespace KinesisStreamsInputUpdate { } /** - *

                                                                      For an SQL-based Amazon Kinesis Data Analytics application, describes updates to a + *

                                                                      For a SQL-based Kinesis Data Analytics application, describes updates to a * 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.

                                                                      @@ -2635,10 +2670,9 @@ export interface InputUpdate { InputSchemaUpdate?: InputSchemaUpdate; /** - *

                                                                      If a Kinesis Data Firehose delivery stream is the streaming source to be - * updated, provides an updated stream ARN.

                                                                      + *

                                                                      The input ID of the application input to be updated.

                                                                      */ - KinesisFirehoseInputUpdate?: KinesisFirehoseInputUpdate; + InputId: string | undefined; /** *

                                                                      The name prefix for in-application streams that Kinesis Data Analytics creates for the @@ -2646,27 +2680,21 @@ export interface InputUpdate { */ NamePrefixUpdate?: string; - /** - *

                                                                      If a Kinesis data stream is the streaming source to be updated, provides an - * updated stream Amazon Resource Name (ARN).

                                                                      - */ - KinesisStreamsInputUpdate?: KinesisStreamsInputUpdate; - /** *

                                                                      Describes updates to an InputProcessingConfiguration.

                                                                      */ InputProcessingConfigurationUpdate?: InputProcessingConfigurationUpdate; /** - *

                                                                      Describes the parallelism updates (the number of in-application streams Kinesis Data - * Analytics creates for the specific streaming source).

                                                                      + *

                                                                      Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for the specific streaming source).

                                                                      */ InputParallelismUpdate?: InputParallelismUpdate; /** - *

                                                                      The input ID of the application input to be updated.

                                                                      + *

                                                                      If a Kinesis data stream is the streaming source to be updated, provides an + * updated stream Amazon Resource Name (ARN).

                                                                      */ - InputId: string | undefined; + KinesisStreamsInputUpdate?: KinesisStreamsInputUpdate; } export namespace InputUpdate { @@ -2676,7 +2704,7 @@ export namespace InputUpdate { } /** - *

                                                                      For an SQL-based Amazon Kinesis Data Analytics application, when updating an output + *

                                                                      For a SQL-based Kinesis Data Analytics application, when updating an output * configuration using the UpdateApplication operation, provides information * about a Kinesis Data Firehose delivery stream that is configured as the destination.

                                                                      */ @@ -2694,7 +2722,7 @@ export namespace KinesisFirehoseOutputUpdate { } /** - *

                                                                      When you update an SQL-based Amazon Kinesis Data Analytics application's output + *

                                                                      When you update a SQL-based Kinesis Data Analytics application's output * configuration using the UpdateApplication operation, provides information * about a Kinesis data stream that is configured as the destination.

                                                                      */ @@ -2713,7 +2741,7 @@ export namespace KinesisStreamsOutputUpdate { } /** - *

                                                                      When you update an SQL-based Amazon Kinesis Data Analytics application's output + *

                                                                      When you update an SQL-based Kinesis Data Analytics application's output * configuration using the UpdateApplication operation, provides information * about an AWS Lambda function that is configured as the destination.

                                                                      */ @@ -2721,7 +2749,7 @@ export interface LambdaOutputUpdate { /** *

                                                                      The Amazon Resource Name (ARN) of the destination AWS Lambda function.

                                                                      * - *

                                                                      To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda + *

                                                                      To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda *

                                                                      *
                                                                      */ @@ -2735,19 +2763,16 @@ export namespace LambdaOutputUpdate { } /** - *

                                                                      For an SQL-based Amazon Kinesis Data Analytics application, describes updates to the + *

                                                                      For a SQL-based Kinesis Data Analytics application, describes updates to the * output configuration identified by the OutputId.

                                                                      */ export interface OutputUpdate { /** - *

                                                                      Identifies the specific output configuration that you want to update.

                                                                      - */ - OutputId: string | undefined; - - /** - *

                                                                      Describes an AWS Lambda function as the destination for the output.

                                                                      + *

                                                                      If you want to specify a different in-application stream + * for this output configuration, use this field to + * specify the new in-application stream name.

                                                                      */ - LambdaOutputUpdate?: LambdaOutputUpdate; + NameUpdate?: string; /** *

                                                                      Describes a Kinesis data stream as the destination for the output.

                                                                      @@ -2760,6 +2785,11 @@ export interface OutputUpdate { */ 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.

                                                                      @@ -2767,11 +2797,9 @@ export interface OutputUpdate { KinesisFirehoseOutputUpdate?: KinesisFirehoseOutputUpdate; /** - *

                                                                      If you want to specify a different in-application stream - * for this output configuration, use this field to - * specify the new in-application stream name.

                                                                      + *

                                                                      Describes an AWS Lambda function as the destination for the output.

                                                                      */ - NameUpdate?: string; + LambdaOutputUpdate?: LambdaOutputUpdate; } export namespace OutputUpdate { @@ -2781,19 +2809,19 @@ export namespace OutputUpdate { } /** - *

                                                                      For an SQL-based Amazon Kinesis Data Analytics application, describes the Amazon S3 bucket + *

                                                                      For a SQL-based Kinesis Data Analytics application, describes the Amazon S3 bucket * name and object key name for an in-application reference table.

                                                                      */ export interface S3ReferenceDataSourceUpdate { /** - *

                                                                      The object key name.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the S3 bucket.

                                                                      */ - FileKeyUpdate?: string; + BucketARNUpdate?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the S3 bucket.

                                                                      + *

                                                                      The object key name.

                                                                      */ - BucketARNUpdate?: string; + FileKeyUpdate?: string; } export namespace S3ReferenceDataSourceUpdate { @@ -2804,31 +2832,33 @@ export namespace S3ReferenceDataSourceUpdate { /** *

                                                                      When you update a reference data source configuration for a - * SQL-based Amazon Kinesis Data Analytics application, this object provides all the updated values + * SQL-based Kinesis Data Analytics application, this object provides all the updated values * (such as the source bucket name and object key name), the in-application table name that is created, * and updated mapping information that maps the data in the Amazon S3 object to the in-application * reference table that is created.

                                                                      */ export interface ReferenceDataSourceUpdate { /** - *

                                                                      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 that is created by this update.

                                                                      */ - ReferenceSchemaUpdate?: SourceSchema; + TableNameUpdate?: string; /** - *

                                                                      The ID of the reference data source that is being updated. You can use the DescribeApplication operation to get this value.

                                                                      + *

                                                                      Describes the S3 bucket name, object key name, and IAM role that Kinesis Data Analytics can assume to read the + * Amazon S3 object on your behalf and populate the in-application reference table.

                                                                      */ - ReferenceId: string | undefined; + S3ReferenceDataSourceUpdate?: S3ReferenceDataSourceUpdate; /** - *

                                                                      Describes the S3 bucket name, object key name, and IAM role that Kinesis Data Analytics can assume to read the Amazon S3 object on your behalf and populate the in-application reference table.

                                                                      + *

                                                                      The ID of the reference data source that is being updated. You can use the DescribeApplication operation to get this value.

                                                                      */ - S3ReferenceDataSourceUpdate?: S3ReferenceDataSourceUpdate; + ReferenceId: string | undefined; /** - *

                                                                      The in-application table name that is created by this update.

                                                                      + *

                                                                      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.

                                                                      */ - TableNameUpdate?: string; + ReferenceSchemaUpdate?: SourceSchema; } export namespace ReferenceDataSourceUpdate { @@ -2839,15 +2869,9 @@ export namespace ReferenceDataSourceUpdate { /** *

                                                                      Describes updates to the input streams, destination streams, and reference data sources - * for an SQL-based Kinesis Data Analytics application.

                                                                      + * 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.

                                                                      @@ -2859,6 +2883,12 @@ 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 { @@ -2877,15 +2907,17 @@ export interface VpcConfigurationUpdate { VpcConfigurationId: string | undefined; /** - *

                                                                      Describes updates to the array of Subnet IDs - * used by the VPC configuration.

                                                                      + *

                                                                      Describes updates to the array of + * SecurityGroup IDs used by the VPC configuration.

                                                                      */ - SubnetIdUpdates?: string[]; + SecurityGroupIdUpdates?: string[]; /** - *

                                                                      Describes updates to the array of SecurityGroup IDs used by the VPC configuration.

                                                                      + *

                                                                      Describes updates to the array of Subnet + * IDs + * used by the VPC configuration.

                                                                      */ - SecurityGroupIdUpdates?: string[]; + SubnetIdUpdates?: string[]; } export namespace VpcConfigurationUpdate { @@ -2899,34 +2931,34 @@ export namespace VpcConfigurationUpdate { */ export interface ApplicationConfigurationUpdate { /** - *

                                                                      Describes updates to a Java-based Kinesis Data Analytics application's code - * configuration.

                                                                      + *

                                                                      Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application.

                                                                      */ - ApplicationCodeConfigurationUpdate?: ApplicationCodeConfigurationUpdate; + EnvironmentPropertyUpdates?: EnvironmentPropertyUpdates; /** - *

                                                                      Updates to the array of descriptions of VPC configurations available to the application.

                                                                      + *

                                                                      Describes updates to a Flink-based Kinesis Data Analytics application's code + * configuration.

                                                                      */ - VpcConfigurationUpdates?: VpcConfigurationUpdate[]; + ApplicationCodeConfigurationUpdate?: ApplicationCodeConfigurationUpdate; /** - *

                                                                      Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

                                                                      + *

                                                                      Describes updates to a SQL-based Kinesis Data Analytics application's + * configuration.

                                                                      */ - ApplicationSnapshotConfigurationUpdate?: ApplicationSnapshotConfigurationUpdate; + SqlApplicationConfigurationUpdate?: SqlApplicationConfigurationUpdate; /** - *

                                                                      Describes updates to an SQL-based Kinesis Data Analytics application's - * configuration.

                                                                      + *

                                                                      Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

                                                                      */ - SqlApplicationConfigurationUpdate?: SqlApplicationConfigurationUpdate; + ApplicationSnapshotConfigurationUpdate?: ApplicationSnapshotConfigurationUpdate; /** - *

                                                                      Describes updates to the environment properties for a Java-based Kinesis Data Analytics application.

                                                                      + *

                                                                      Updates to the array of descriptions of VPC configurations available to the application.

                                                                      */ - EnvironmentPropertyUpdates?: EnvironmentPropertyUpdates; + VpcConfigurationUpdates?: VpcConfigurationUpdate[]; /** - *

                                                                      Describes updates to a Java-based Kinesis Data Analytics application's configuration.

                                                                      + *

                                                                      Describes updates to a Flink-based Kinesis Data Analytics application's configuration.

                                                                      */ FlinkApplicationConfigurationUpdate?: FlinkApplicationConfigurationUpdate; } @@ -2938,7 +2970,9 @@ export namespace ApplicationConfigurationUpdate { } export enum ApplicationStatus { + AUTOSCALING = "AUTOSCALING", DELETING = "DELETING", + FORCE_STOPPING = "FORCE_STOPPING", READY = "READY", RUNNING = "RUNNING", STARTING = "STARTING", @@ -2958,60 +2992,60 @@ export enum RuntimeEnvironment { */ export interface ApplicationDetail { /** - *

                                                                      The current timestamp when the application was last updated.

                                                                      + *

                                                                      The runtime environment for the application (SQL-1.0, FLINK-1_6, or FLINK-1_8).

                                                                      */ - LastUpdateTimestamp?: Date; + RuntimeEnvironment: RuntimeEnvironment | string | undefined; /** - *

                                                                      The status of the application.

                                                                      + *

                                                                      Specifies the IAM role that the application uses to access external resources.

                                                                      */ - ApplicationStatus: ApplicationStatus | string | undefined; + ServiceExecutionRole?: string; /** - *

                                                                      The description of the application.

                                                                      + *

                                                                      The current timestamp when the application was last updated.

                                                                      */ - ApplicationDescription?: string; + LastUpdateTimestamp?: Date; /** - *

                                                                      Provides details about the application's SQL or Java code and starting parameters.

                                                                      + *

                                                                      Provides the current application version. Kinesis Data Analytics updates the + * ApplicationVersionId each time you update the application.

                                                                      */ - ApplicationConfigurationDescription?: ApplicationConfigurationDescription; + ApplicationVersionId: number | undefined; /** - *

                                                                      Describes the application Amazon CloudWatch logging options.

                                                                      + *

                                                                      The name of the application.

                                                                      */ - CloudWatchLoggingOptionDescriptions?: CloudWatchLoggingOptionDescription[]; + ApplicationName: string | undefined; /** - *

                                                                      The ARN of the application.

                                                                      + *

                                                                      The current timestamp when the application was created.

                                                                      */ - ApplicationARN: string | undefined; + CreateTimestamp?: Date; /** - *

                                                                      Provides the current application version. Kinesis Data Analytics updates the - * ApplicationVersionId each time you update the application.

                                                                      + *

                                                                      The description of the application.

                                                                      */ - ApplicationVersionId: number | undefined; + ApplicationDescription?: string; /** - *

                                                                      Specifies the IAM role that the application uses to access external resources.

                                                                      + *

                                                                      Describes the application Amazon CloudWatch logging options.

                                                                      */ - ServiceExecutionRole?: string; + CloudWatchLoggingOptionDescriptions?: CloudWatchLoggingOptionDescription[]; /** - *

                                                                      The runtime environment for the application (SQL-1.0 or FLINK-1_6).

                                                                      + *

                                                                      The status of the application.

                                                                      */ - RuntimeEnvironment: RuntimeEnvironment | string | undefined; + ApplicationStatus: ApplicationStatus | string | undefined; /** - *

                                                                      The current timestamp when the application was created.

                                                                      + *

                                                                      Provides details about the application's Java, SQL, or Scala code and starting parameters.

                                                                      */ - CreateTimestamp?: Date; + ApplicationConfigurationDescription?: ApplicationConfigurationDescription; /** - *

                                                                      The name of the application.

                                                                      + *

                                                                      The ARN of the application.

                                                                      */ - ApplicationName: string | undefined; + ApplicationARN: string | undefined; } export namespace ApplicationDetail { @@ -3030,24 +3064,24 @@ export interface ApplicationSummary { ApplicationStatus: ApplicationStatus | string | undefined; /** - *

                                                                      The runtime environment for the application (SQL-1.0 or FLINK-1_6).

                                                                      + *

                                                                      The ARN of the application.

                                                                      */ - RuntimeEnvironment: RuntimeEnvironment | string | undefined; + ApplicationARN: string | undefined; /** - *

                                                                      The name of the application.

                                                                      + *

                                                                      Provides the current application version.

                                                                      */ - ApplicationName: string | undefined; + ApplicationVersionId: number | undefined; /** - *

                                                                      The ARN of the application.

                                                                      + *

                                                                      The runtime environment for the application (SQL-1.0, FLINK-1_6, or FLINK-1_8).

                                                                      */ - ApplicationARN: string | undefined; + RuntimeEnvironment: RuntimeEnvironment | string | undefined; /** - *

                                                                      Provides the current application version.

                                                                      + *

                                                                      The name of the application.

                                                                      */ - ApplicationVersionId: number | undefined; + ApplicationName: string | undefined; } export namespace ApplicationSummary { @@ -3060,16 +3094,16 @@ export namespace ApplicationSummary { *

                                                                      Describes the Amazon CloudWatch logging option updates.

                                                                      */ export interface CloudWatchLoggingOptionUpdate { - /** - *

                                                                      The ID of the CloudWatch logging option to update

                                                                      - */ - CloudWatchLoggingOptionId: string | undefined; - /** *

                                                                      The Amazon Resource Name (ARN) of the CloudWatch log to receive application * messages.

                                                                      */ LogStreamARNUpdate?: string; + + /** + *

                                                                      The ID of the CloudWatch logging option to update

                                                                      + */ + CloudWatchLoggingOptionId: string | undefined; } export namespace CloudWatchLoggingOptionUpdate { @@ -3079,9 +3113,13 @@ export namespace CloudWatchLoggingOptionUpdate { } /** - *

                                                                      A key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. 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 key-value pair (the value is optional) that you can define and assign to AWS resources. + * If you specify a tag that already exists, the tag value is replaced with the value that you + * specify in the request. 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.

                                                                      */ export interface Tag { /** @@ -3103,43 +3141,46 @@ export namespace Tag { export interface CreateApplicationRequest { /** - *

                                                                      The name of your application (for example, sample-app).

                                                                      + *

                                                                      Use this parameter to configure the application.

                                                                      */ - ApplicationName: string | undefined; + ApplicationConfiguration?: ApplicationConfiguration; /** - *

                                                                      The runtime environment for the application (SQL-1.0 or FLINK-1_6).

                                                                      + *

                                                                      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.

                                                                      */ - RuntimeEnvironment: RuntimeEnvironment | string | undefined; + Tags?: Tag[]; /** - *

                                                                      A summary description of the application.

                                                                      + *

                                                                      Use this parameter to configure an Amazon CloudWatch log stream to monitor application + * configuration errors. + *

                                                                      */ - ApplicationDescription?: string; + CloudWatchLoggingOptions?: CloudWatchLoggingOption[]; /** - *

                                                                      Use this parameter to configure the application.

                                                                      + *

                                                                      The name of your application (for example, sample-app).

                                                                      */ - ApplicationConfiguration?: ApplicationConfiguration; + ApplicationName: string | undefined; /** - *

                                                                      The IAM role used by the application to access Kinesis data streams, Kinesis Data Firehose - * delivery streams, Amazon S3 objects, and other external resources.

                                                                      + *

                                                                      The runtime environment for the application (SQL-1.0, FLINK-1_6, or FLINK-1_8).

                                                                      */ - ServiceExecutionRole: string | undefined; + RuntimeEnvironment: RuntimeEnvironment | string | undefined; /** - *

                                                                      Use this parameter to configure an Amazon CloudWatch log stream to monitor application - * configuration errors. - *

                                                                      + *

                                                                      The IAM role used by the application to access Kinesis data streams, Kinesis Data Firehose + * delivery streams, Amazon S3 objects, and other external resources.

                                                                      */ - CloudWatchLoggingOptions?: CloudWatchLoggingOption[]; + ServiceExecutionRole: 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; } export namespace CreateApplicationRequest { @@ -3178,7 +3219,8 @@ export namespace LimitExceededException { } /** - *

                                                                      Application created with too many tags, or too many tags added to an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

                                                                      + *

                                                                      Application created with too many tags, or too many tags added to an application. Note that the maximum + * number of application tags includes system tags. The maximum number of user-defined application tags is 50.

                                                                      */ export interface TooManyTagsException extends __SmithyException, $MetadataBearer { name: "TooManyTagsException"; @@ -3219,7 +3261,8 @@ export namespace CreateApplicationSnapshotResponse { } /** - *

                                                                      The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation.

                                                                      + *

                                                                      The request was rejected because a specified parameter is not supported or a specified resource is not valid for this + * operation.

                                                                      */ export interface UnsupportedOperationException extends __SmithyException, $MetadataBearer { name: "UnsupportedOperationException"; @@ -3265,33 +3308,26 @@ export interface DeleteApplicationCloudWatchLoggingOptionRequest { */ ApplicationName: string | undefined; - /** - *

                                                                      The CloudWatchLoggingOptionId of the Amazon CloudWatch logging option to - * delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation.

                                                                      - */ - CloudWatchLoggingOptionId: string | undefined; - /** *

                                                                      The version ID of the application. You can retrieve the application version ID using * DescribeApplication.

                                                                      */ CurrentApplicationVersionId: number | undefined; -} - -export namespace DeleteApplicationCloudWatchLoggingOptionRequest { - export const filterSensitiveLog = (obj: DeleteApplicationCloudWatchLoggingOptionRequest): any => ({ - ...obj, - }); -} -export interface DeleteApplicationCloudWatchLoggingOptionResponse { /** - *

                                                                      The version ID of the application. Kinesis Data Analytics updates the - * ApplicationVersionId each time you change the CloudWatch logging - * options.

                                                                      + *

                                                                      The CloudWatchLoggingOptionId of the Amazon CloudWatch logging option to + * delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation.

                                                                      */ - ApplicationVersionId?: number; + CloudWatchLoggingOptionId: string | undefined; +} + +export namespace DeleteApplicationCloudWatchLoggingOptionRequest { + export const filterSensitiveLog = (obj: DeleteApplicationCloudWatchLoggingOptionRequest): any => ({ + ...obj, + }); +} +export interface DeleteApplicationCloudWatchLoggingOptionResponse { /** *

                                                                      The descriptions of the remaining CloudWatch logging options for the application.

                                                                      */ @@ -3301,6 +3337,13 @@ export interface DeleteApplicationCloudWatchLoggingOptionResponse { *

                                                                      The application's Amazon Resource Name (ARN).

                                                                      */ ApplicationARN?: string; + + /** + *

                                                                      The version ID of the application. Kinesis Data Analytics updates the + * ApplicationVersionId each time you change the CloudWatch logging + * options.

                                                                      + */ + ApplicationVersionId?: number; } export namespace DeleteApplicationCloudWatchLoggingOptionResponse { @@ -3310,6 +3353,11 @@ export namespace DeleteApplicationCloudWatchLoggingOptionResponse { } export interface DeleteApplicationInputProcessingConfigurationRequest { + /** + *

                                                                      The name of the application.

                                                                      + */ + 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.

                                                                      @@ -3324,11 +3372,6 @@ export interface DeleteApplicationInputProcessingConfigurationRequest { *

                                                                      */ CurrentApplicationVersionId: number | undefined; - - /** - *

                                                                      The name of the application.

                                                                      - */ - ApplicationName: string | undefined; } export namespace DeleteApplicationInputProcessingConfigurationRequest { @@ -3339,14 +3382,14 @@ export namespace DeleteApplicationInputProcessingConfigurationRequest { export interface DeleteApplicationInputProcessingConfigurationResponse { /** - *

                                                                      The current application version ID.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the application.

                                                                      */ - ApplicationVersionId?: number; + ApplicationARN?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the application.

                                                                      + *

                                                                      The current application version ID.

                                                                      */ - ApplicationARN?: string; + ApplicationVersionId?: number; } export namespace DeleteApplicationInputProcessingConfigurationResponse { @@ -3356,15 +3399,6 @@ export namespace DeleteApplicationInputProcessingConfigurationResponse { } export interface DeleteApplicationOutputRequest { - /** - *

                                                                      The ID of the configuration to delete. Each output configuration that is added to the - * application (either when the application is created or later) using the AddApplicationOutput operation has a unique ID. You need to provide the ID to - * uniquely identify the output configuration that you want to delete from the application - * configuration. You can use the DescribeApplication operation to get the - * specific OutputId.

                                                                      - */ - OutputId: string | undefined; - /** *

                                                                      The application name.

                                                                      */ @@ -3378,6 +3412,15 @@ export interface DeleteApplicationOutputRequest { *

                                                                      */ CurrentApplicationVersionId: number | undefined; + + /** + *

                                                                      The ID of the configuration to delete. Each output configuration that is added to the + * application (either when the application is created or later) using the AddApplicationOutput operation has a unique ID. You need to provide the ID to + * uniquely identify the output configuration that you want to delete from the application + * configuration. You can use the DescribeApplication operation to get the + * specific OutputId.

                                                                      + */ + OutputId: string | undefined; } export namespace DeleteApplicationOutputRequest { @@ -3388,14 +3431,14 @@ export namespace DeleteApplicationOutputRequest { export interface DeleteApplicationOutputResponse { /** - *

                                                                      The current application version ID.

                                                                      + *

                                                                      The application Amazon Resource Name (ARN).

                                                                      */ - ApplicationVersionId?: number; + ApplicationARN?: string; /** - *

                                                                      The application Amazon Resource Name (ARN).

                                                                      + *

                                                                      The current application version ID.

                                                                      */ - ApplicationARN?: string; + ApplicationVersionId?: number; } export namespace DeleteApplicationOutputResponse { @@ -3405,10 +3448,18 @@ export namespace DeleteApplicationOutputResponse { } export interface DeleteApplicationReferenceDataSourceRequest { + /** + *

                                                                      The current application version. + * You can use the DescribeApplication operation to get the current application version. + * If the version specified + * is not the current version, the ConcurrentModificationException is returned.

                                                                      + */ + CurrentApplicationVersionId: number | undefined; + /** *

                                                                      The ID of the reference data source. When you add a reference data source to your - * application using the AddApplicationReferenceDataSource, Kinesis Data - * Analytics assigns an ID. You can use the DescribeApplication operation to + * application using the AddApplicationReferenceDataSource, Kinesis Data Analytics assigns an ID. + * You can use the DescribeApplication operation to * get the reference ID.

                                                                      */ ReferenceId: string | undefined; @@ -3417,14 +3468,6 @@ 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. - * If the version specified - * is not the current version, the ConcurrentModificationException is returned.

                                                                      - */ - CurrentApplicationVersionId: number | undefined; } export namespace DeleteApplicationReferenceDataSourceRequest { @@ -3435,14 +3478,14 @@ export namespace DeleteApplicationReferenceDataSourceRequest { export interface DeleteApplicationReferenceDataSourceResponse { /** - *

                                                                      The updated version ID of the application.

                                                                      + *

                                                                      The application Amazon Resource Name (ARN).

                                                                      */ - ApplicationVersionId?: number; + ApplicationARN?: string; /** - *

                                                                      The application Amazon Resource Name (ARN).

                                                                      + *

                                                                      The updated version ID of the application.

                                                                      */ - ApplicationARN?: string; + ApplicationVersionId?: number; } export namespace DeleteApplicationReferenceDataSourceResponse { @@ -3453,10 +3496,9 @@ export namespace DeleteApplicationReferenceDataSourceResponse { export interface DeleteApplicationSnapshotRequest { /** - *

                                                                      The creation timestamp of the application snapshot to delete. You can retrieve this value using - * or .

                                                                      + *

                                                                      The identifier for the snapshot delete.

                                                                      */ - SnapshotCreationTimestamp: Date | undefined; + SnapshotName: string | undefined; /** *

                                                                      The name of an existing application.

                                                                      @@ -3464,9 +3506,11 @@ export interface DeleteApplicationSnapshotRequest { ApplicationName: string | undefined; /** - *

                                                                      The identifier for the snapshot delete.

                                                                      + *

                                                                      The creation timestamp of the application snapshot to delete. You can retrieve this value + * using + * or .

                                                                      */ - SnapshotName: string | undefined; + SnapshotCreationTimestamp: Date | undefined; } export namespace DeleteApplicationSnapshotRequest { @@ -3485,7 +3529,8 @@ export namespace DeleteApplicationSnapshotResponse { export interface DeleteApplicationVpcConfigurationRequest { /** - *

                                                                      The current application version ID. You can retrieve the application version ID using DescribeApplication.

                                                                      + *

                                                                      The current application version ID. You can retrieve the application version ID using + * DescribeApplication.

                                                                      */ CurrentApplicationVersionId: number | undefined; @@ -3508,14 +3553,14 @@ export namespace DeleteApplicationVpcConfigurationRequest { export interface DeleteApplicationVpcConfigurationResponse { /** - *

                                                                      The ARN of the Kinesis Data Analytics application.

                                                                      + *

                                                                      The updated version ID of the application.

                                                                      */ - ApplicationARN?: string; + ApplicationVersionId?: number; /** - *

                                                                      The updated version ID of the application.

                                                                      + *

                                                                      The ARN of the Kinesis Data Analytics application.

                                                                      */ - ApplicationVersionId?: number; + ApplicationARN?: string; } export namespace DeleteApplicationVpcConfigurationResponse { @@ -3526,14 +3571,14 @@ export namespace DeleteApplicationVpcConfigurationResponse { export interface DescribeApplicationRequest { /** - *

                                                                      Displays verbose information about a Kinesis Data Analytics application, including the application's job plan.

                                                                      + *

                                                                      The name of the application.

                                                                      */ - IncludeAdditionalDetails?: boolean; + ApplicationName: string | undefined; /** - *

                                                                      The name of the application.

                                                                      + *

                                                                      Displays verbose information about a Kinesis Data Analytics application, including the application's job plan.

                                                                      */ - ApplicationName: string | undefined; + IncludeAdditionalDetails?: boolean; } export namespace DescribeApplicationRequest { @@ -3563,7 +3608,8 @@ export interface DescribeApplicationSnapshotRequest { ApplicationName: string | undefined; /** - *

                                                                      The identifier of an application snapshot. You can retrieve this value using .

                                                                      + *

                                                                      The identifier of an application snapshot. You can retrieve this value using + * .

                                                                      */ SnapshotName: string | undefined; } @@ -3586,24 +3632,24 @@ export enum SnapshotStatus { */ export interface SnapshotDetails { /** - *

                                                                      The timestamp of the application snapshot.

                                                                      + *

                                                                      The current application version ID when the snapshot was created.

                                                                      */ - SnapshotCreationTimestamp?: Date; + ApplicationVersionId: number | undefined; /** - *

                                                                      The status of the application snapshot.

                                                                      + *

                                                                      The identifier for the application snapshot.

                                                                      */ - SnapshotStatus: SnapshotStatus | string | undefined; + SnapshotName: string | undefined; /** - *

                                                                      The identifier for the application snapshot.

                                                                      + *

                                                                      The status of the application snapshot.

                                                                      */ - SnapshotName: string | undefined; + SnapshotStatus: SnapshotStatus | string | undefined; /** - *

                                                                      The current application version ID when the snapshot was created.

                                                                      + *

                                                                      The timestamp of the application snapshot.

                                                                      */ - ApplicationVersionId: number | undefined; + SnapshotCreationTimestamp?: Date; } export namespace SnapshotDetails { @@ -3626,7 +3672,7 @@ export namespace DescribeApplicationSnapshotResponse { } /** - *

                                                                      For an SQL-based Amazon Kinesis Data Analytics application, provides a description of an + *

                                                                      For a SQL-based Kinesis Data Analytics application, provides a description of an * Amazon S3 data source, including the Amazon Resource Name (ARN) of the S3 bucket and the name * of the Amazon S3 object that contains the data.

                                                                      */ @@ -3649,11 +3695,6 @@ export namespace S3Configuration { } export interface DiscoverInputSchemaRequest { - /** - *

                                                                      The Amazon Resource Name (ARN) of the streaming source.

                                                                      - */ - ResourceARN?: string; - /** *

                                                                      Specify this parameter to discover a schema from data in an Amazon S3 * object.

                                                                      @@ -3661,20 +3702,26 @@ export interface DiscoverInputSchemaRequest { S3Configuration?: S3Configuration; /** - *

                                                                      The ARN of the role that is used to access the streaming source.

                                                                      + *

                                                                      The point at which you want Kinesis Data Analytics to start reading records from the + * specified streaming source discovery purposes.

                                                                      */ - ServiceExecutionRole: string | undefined; + InputStartingPositionConfiguration?: InputStartingPositionConfiguration; /** - *

                                                                      The InputProcessingConfiguration to use to preprocess the records before discovering the schema of the records.

                                                                      + *

                                                                      The InputProcessingConfiguration to use to preprocess the records + * before discovering the schema of the records.

                                                                      */ InputProcessingConfiguration?: InputProcessingConfiguration; /** - *

                                                                      The point at which you want Kinesis Data Analytics to start reading records from the - * specified streaming source discovery purposes.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the streaming source.

                                                                      */ - InputStartingPositionConfiguration?: InputStartingPositionConfiguration; + ResourceARN?: string; + + /** + *

                                                                      The ARN of the role that is used to access the streaming source.

                                                                      + */ + ServiceExecutionRole: string | undefined; } export namespace DiscoverInputSchemaRequest { @@ -3692,10 +3739,10 @@ export interface DiscoverInputSchemaResponse { InputSchema?: SourceSchema; /** - *

                                                                      The stream data that was modified by the processor specified in the - * InputProcessingConfiguration parameter.

                                                                      + *

                                                                      An array of elements, where each element corresponds to a row in a stream record + * (a stream record can have more than one row).

                                                                      */ - ProcessedInputRecords?: string[]; + ParsedInputRecords?: string[][]; /** *

                                                                      The raw stream data that was sampled to infer the schema.

                                                                      @@ -3703,9 +3750,10 @@ export interface DiscoverInputSchemaResponse { RawInputRecords?: string[]; /** - *

                                                                      An array of elements, where each element corresponds to a row in a stream record (a stream record can have more than one row).

                                                                      + *

                                                                      The stream data that was modified by the processor specified in the + * InputProcessingConfiguration parameter.

                                                                      */ - ParsedInputRecords?: string[][]; + ProcessedInputRecords?: string[]; } export namespace DiscoverInputSchemaResponse { @@ -3715,7 +3763,7 @@ export namespace DiscoverInputSchemaResponse { } /** - *

                                                                      Discovery failed to get a record from the streaming source because of the Amazon Kinesis + *

                                                                      Discovery failed to get a record from the streaming source because of the Kinesis * Streams ProvisionedThroughputExceededException. For more information, see GetRecords in the Amazon Kinesis Streams API Reference.

                                                                      */ export interface ResourceProvisionedThroughputExceededException extends __SmithyException, $MetadataBearer { @@ -3746,48 +3794,26 @@ export namespace ServiceUnavailableException { } /** - *

                                                                      The data format is not valid. Amazon Kinesis Data Analytics cannot detect the schema for + *

                                                                      The data format is not valid. Kinesis Data Analytics cannot detect the schema for * the given streaming source.

                                                                      */ export interface UnableToDetectSchemaException extends __SmithyException, $MetadataBearer { name: "UnableToDetectSchemaException"; $fault: "client"; - /** - *

                                                                      Raw stream data that was sampled to infer the schema.

                                                                      - */ - RawInputRecords?: string[]; - + Message?: string; /** *

                                                                      Stream data that was modified by the processor specified in the InputProcessingConfiguration parameter.

                                                                      */ ProcessedInputRecords?: string[]; - Message?: string; -} - -export namespace UnableToDetectSchemaException { - export const filterSensitiveLog = (obj: UnableToDetectSchemaException): any => ({ - ...obj, - }); -} - -/** - *

                                                                      Describes the starting parameters for an Apache Flink-based Kinesis Data Analytics application.

                                                                      - */ -export interface FlinkRunConfiguration { /** - *

                                                                      When restoring from a savepoint, specifies whether the runtime is allowed to skip a state that cannot be mapped to the new program. - * This will happen if the program is updated between savepoints to remove stateful parameters, and state data in the savepoint no longer - * corresponds to valid application data. For more information, see - * - * Allowing Non-Restored State in the Apache Flink - * documentation.

                                                                      + *

                                                                      Raw stream data that was sampled to infer the schema.

                                                                      */ - AllowNonRestoredState?: boolean; + RawInputRecords?: string[]; } -export namespace FlinkRunConfiguration { - export const filterSensitiveLog = (obj: FlinkRunConfiguration): any => ({ +export namespace UnableToDetectSchemaException { + export const filterSensitiveLog = (obj: UnableToDetectSchemaException): any => ({ ...obj, }); } @@ -3836,20 +3862,21 @@ export namespace ListApplicationsResponse { export interface ListApplicationSnapshotsRequest { /** - *

                                                                      The maximum number of application snapshots to list.

                                                                      + *

                                                                      The name of an existing application.

                                                                      */ - Limit?: number; + ApplicationName: string | undefined; /** *

                                                                      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.

                                                                      + * 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 name of an existing application.

                                                                      + *

                                                                      The maximum number of application snapshots to list.

                                                                      */ - ApplicationName: string | undefined; + Limit?: number; } export namespace ListApplicationSnapshotsRequest { @@ -3860,14 +3887,14 @@ export namespace ListApplicationSnapshotsRequest { export interface ListApplicationSnapshotsResponse { /** - *

                                                                      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; /** - *

                                                                      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[]; } export namespace ListApplicationSnapshotsResponse { @@ -3903,20 +3930,19 @@ export namespace ListTagsForResourceResponse { } /** - *

                                                                      Describes the starting parameters for an SQL-based Kinesis Data Analytics - * application.

                                                                      + *

                                                                      Describes the starting parameters for a SQL-based Kinesis Data Analytics application.

                                                                      */ export interface SqlRunConfiguration { /** - *

                                                                      The point at which you want the application to start processing records from the streaming - * source.

                                                                      + *

                                                                      The input source ID. You can get this ID by calling the DescribeApplication operation.

                                                                      */ - InputStartingPositionConfiguration: InputStartingPositionConfiguration | undefined; + InputId: string | undefined; /** - *

                                                                      The input source ID. You can get this ID by calling the DescribeApplication operation.

                                                                      + *

                                                                      The point at which you want the application to start processing records from the streaming + * source.

                                                                      */ - InputId: string | undefined; + InputStartingPositionConfiguration: InputStartingPositionConfiguration | undefined; } export namespace SqlRunConfiguration { @@ -3926,24 +3952,24 @@ export namespace SqlRunConfiguration { } /** - *

                                                                      Describes the starting parameters for an Amazon Kinesis Data Analytics application.

                                                                      + *

                                                                      Describes the starting parameters for an Kinesis Data Analytics application.

                                                                      */ export interface RunConfiguration { /** - *

                                                                      Describes the restore behavior of a restarting application.

                                                                      + *

                                                                      Describes the starting parameters for a SQL-based Kinesis Data Analytics application + * application.

                                                                      */ - ApplicationRestoreConfiguration?: ApplicationRestoreConfiguration; + SqlRunConfigurations?: SqlRunConfiguration[]; /** - *

                                                                      Describes the starting parameters for an Apache Flink-based Kinesis Data Analytics application.

                                                                      + *

                                                                      Describes the starting parameters for a Flink-based Kinesis Data Analytics application.

                                                                      */ FlinkRunConfiguration?: FlinkRunConfiguration; /** - *

                                                                      Describes the starting parameters for an SQL-based Kinesis Data Analytics - * application.

                                                                      + *

                                                                      Describes the restore behavior of a restarting application.

                                                                      */ - SqlRunConfigurations?: SqlRunConfiguration[]; + ApplicationRestoreConfiguration?: ApplicationRestoreConfiguration; } export namespace RunConfiguration { @@ -3954,14 +3980,14 @@ export namespace RunConfiguration { export interface StartApplicationRequest { /** - *

                                                                      The name of the application.

                                                                      + *

                                                                      Identifies the run configuration (start parameters) of a Kinesis Data Analytics application.

                                                                      */ - ApplicationName: string | undefined; + RunConfiguration: RunConfiguration | undefined; /** - *

                                                                      Identifies the run configuration (start parameters) of a Kinesis Data Analytics application.

                                                                      + *

                                                                      The name of the application.

                                                                      */ - RunConfiguration: RunConfiguration | undefined; + ApplicationName: string | undefined; } export namespace StartApplicationRequest { @@ -3979,6 +4005,16 @@ export namespace StartApplicationResponse { } export interface StopApplicationRequest { + /** + *

                                                                      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.

                                                                      + *

                                                                      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.

                                                                      + */ + Force?: boolean; + /** *

                                                                      The name of the running application to stop.

                                                                      */ @@ -4001,14 +4037,14 @@ export namespace StopApplicationResponse { export interface TagResourceRequest { /** - *

                                                                      The key-value tags to assign to the application.

                                                                      + *

                                                                      The ARN of the application to assign the tags.

                                                                      */ - Tags: Tag[] | undefined; + ResourceARN: string | undefined; /** - *

                                                                      The ARN of the application to assign the tags.

                                                                      + *

                                                                      The key-value tags to assign to the application.

                                                                      */ - ResourceARN: string | undefined; + Tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -4027,14 +4063,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                                      The ARN of the Kinesis 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; /** - *

                                                                      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; } export namespace UntagResourceRequest { @@ -4052,19 +4088,18 @@ export namespace UntagResourceResponse { } /** - *

                                                                      Describes the updates to the starting parameters for a Kinesis Data Analytics - * application.

                                                                      + *

                                                                      Describes the updates to the starting parameters for a Kinesis Data Analytics application.

                                                                      */ export interface RunConfigurationUpdate { /** - *

                                                                      Describes the starting parameters for an Apache Flink-based Kinesis Data Analytics application.

                                                                      + *

                                                                      Describes updates to the restore behavior of a restarting application.

                                                                      */ - FlinkRunConfiguration?: FlinkRunConfiguration; + ApplicationRestoreConfiguration?: ApplicationRestoreConfiguration; /** - *

                                                                      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; } export namespace RunConfigurationUpdate { @@ -4082,19 +4117,20 @@ export interface UpdateApplicationRequest { CloudWatchLoggingOptionUpdates?: CloudWatchLoggingOptionUpdate[]; /** - *

                                                                      The current application version ID. You can retrieve the application version ID using DescribeApplication.

                                                                      + *

                                                                      Describes updates to the service execution role.

                                                                      */ - CurrentApplicationVersionId: number | undefined; + ServiceExecutionRoleUpdate?: string; /** - *

                                                                      Describes updates to the application's starting parameters.

                                                                      + *

                                                                      The name of the application to update.

                                                                      */ - RunConfigurationUpdate?: RunConfigurationUpdate; + ApplicationName: string | undefined; /** - *

                                                                      The name of the application to update.

                                                                      + *

                                                                      The current application version ID. You can retrieve the application version ID using + * DescribeApplication.

                                                                      */ - ApplicationName: string | undefined; + CurrentApplicationVersionId: number | undefined; /** *

                                                                      Describes application configuration updates.

                                                                      @@ -4102,9 +4138,9 @@ export interface UpdateApplicationRequest { ApplicationConfigurationUpdate?: ApplicationConfigurationUpdate; /** - *

                                                                      Describes updates to the service execution role.

                                                                      + *

                                                                      Describes updates to the application's starting parameters.

                                                                      */ - ServiceExecutionRoleUpdate?: string; + RunConfigurationUpdate?: RunConfigurationUpdate; } 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 0fcd04eb46c7..ac045240afe8 100644 --- a/clients/client-kinesis-analytics-v2/protocols/Aws_json1_1.ts +++ b/clients/client-kinesis-analytics-v2/protocols/Aws_json1_1.ts @@ -1077,6 +1077,14 @@ const deserializeAws_json1_1AddApplicationVpcConfigurationCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidApplicationConfigurationException": + case "com.amazonaws.kinesisanalyticsv2#InvalidApplicationConfigurationException": + response = { + ...(await deserializeAws_json1_1InvalidApplicationConfigurationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidArgumentException": case "com.amazonaws.kinesisanalyticsv2#InvalidArgumentException": response = { @@ -1251,6 +1259,14 @@ const deserializeAws_json1_1CreateApplicationSnapshotCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InvalidApplicationConfigurationException": + case "com.amazonaws.kinesisanalyticsv2#InvalidApplicationConfigurationException": + response = { + ...(await deserializeAws_json1_1InvalidApplicationConfigurationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidArgumentException": case "com.amazonaws.kinesisanalyticsv2#InvalidArgumentException": response = { @@ -1892,6 +1908,14 @@ const deserializeAws_json1_1DeleteApplicationVpcConfigurationCommandError = asyn $metadata: deserializeMetadata(output), }; break; + case "InvalidApplicationConfigurationException": + case "com.amazonaws.kinesisanalyticsv2#InvalidApplicationConfigurationException": + response = { + ...(await deserializeAws_json1_1InvalidApplicationConfigurationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidArgumentException": case "com.amazonaws.kinesisanalyticsv2#InvalidArgumentException": response = { @@ -2468,6 +2492,14 @@ const deserializeAws_json1_1StopApplicationCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "ConcurrentModificationException": + case "com.amazonaws.kinesisanalyticsv2#ConcurrentModificationException": + response = { + ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidApplicationConfigurationException": case "com.amazonaws.kinesisanalyticsv2#InvalidApplicationConfigurationException": response = { @@ -4124,6 +4156,7 @@ const serializeAws_json1_1StartApplicationRequest = (input: StartApplicationRequ const serializeAws_json1_1StopApplicationRequest = (input: StopApplicationRequest, context: __SerdeContext): any => { return { ...(input.ApplicationName !== undefined && { ApplicationName: input.ApplicationName }), + ...(input.Force !== undefined && { Force: input.Force }), }; }; @@ -4780,6 +4813,15 @@ const deserializeAws_json1_1FlinkApplicationConfigurationDescription = ( } as any; }; +const deserializeAws_json1_1FlinkRunConfiguration = (output: any, context: __SerdeContext): FlinkRunConfiguration => { + return { + AllowNonRestoredState: + output.AllowNonRestoredState !== undefined && output.AllowNonRestoredState !== null + ? output.AllowNonRestoredState + : undefined, + } as any; +}; + const deserializeAws_json1_1InAppStreamNames = (output: any, context: __SerdeContext): string[] => { return (output || []).map((entry: any) => entry); }; @@ -5198,6 +5240,10 @@ const deserializeAws_json1_1RunConfigurationDescription = ( context ) : undefined, + FlinkRunConfigurationDescription: + output.FlinkRunConfigurationDescription !== undefined && output.FlinkRunConfigurationDescription !== null + ? deserializeAws_json1_1FlinkRunConfiguration(output.FlinkRunConfigurationDescription, context) + : undefined, } as any; }; diff --git a/clients/client-kinesis-analytics/models/models_0.ts b/clients/client-kinesis-analytics/models/models_0.ts index 190169f3eb91..02f581c9a15a 100644 --- a/clients/client-kinesis-analytics/models/models_0.ts +++ b/clients/client-kinesis-analytics/models/models_0.ts @@ -6,17 +6,17 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; * Amazon Resource Name (ARN) and the role ARN.

                                                                      */ export interface CloudWatchLoggingOption { - /** - *

                                                                      ARN of the CloudWatch log to receive application messages.

                                                                      - */ - LogStreamARN: string | undefined; - /** *

                                                                      IAM ARN of the role to use to send application messages. Note: To write application * messages to CloudWatch, the IAM role that is used must have the * PutLogEvents policy action enabled.

                                                                      */ RoleARN: string | undefined; + + /** + *

                                                                      ARN of the CloudWatch log to receive application messages.

                                                                      + */ + LogStreamARN: string | undefined; } export namespace CloudWatchLoggingOption { @@ -26,11 +26,6 @@ export namespace CloudWatchLoggingOption { } export interface AddApplicationCloudWatchLoggingOptionRequest { - /** - *

                                                                      The Kinesis Analytics application name.

                                                                      - */ - ApplicationName: string | undefined; - /** *

                                                                      The version ID of the Kinesis Analytics application.

                                                                      */ @@ -42,6 +37,11 @@ export interface AddApplicationCloudWatchLoggingOptionRequest { * the PutLogEvents policy action enabled.

                                                                      */ CloudWatchLoggingOption: CloudWatchLoggingOption | undefined; + + /** + *

                                                                      The Kinesis Analytics application name.

                                                                      + */ + ApplicationName: string | undefined; } export namespace AddApplicationCloudWatchLoggingOptionRequest { @@ -172,6 +172,11 @@ export namespace InputParallelism { * access the AWS Lambda function.

                                                                      */ export interface InputLambdaProcessor { + /** + *

                                                                      The ARN of the IAM role that is used to access the AWS Lambda function.

                                                                      + */ + RoleARN: string | undefined; + /** *

                                                                      The ARN of the AWS Lambda function that operates * on records in the stream.

                                                                      @@ -181,11 +186,6 @@ export interface InputLambdaProcessor { * */ ResourceARN: string | undefined; - - /** - *

                                                                      The ARN of the IAM role that is used to access the AWS Lambda function.

                                                                      - */ - RoleARN: string | undefined; } export namespace InputLambdaProcessor { @@ -221,10 +221,9 @@ export namespace InputProcessingConfiguration { */ export interface RecordColumn { /** - *

                                                                      Reference to the data element in the streaming input or the reference data source. This element - * is required if the RecordFormatType is JSON.

                                                                      + *

                                                                      Type of column created in the in-application input stream or reference table.

                                                                      */ - Mapping?: string; + SqlType: string | undefined; /** *

                                                                      Name of the column created in the in-application input stream or reference table.

                                                                      @@ -232,9 +231,10 @@ export interface RecordColumn { Name: string | undefined; /** - *

                                                                      Type of column created in the in-application input stream or reference table.

                                                                      + *

                                                                      Reference to the data element in the streaming input or the reference data source. This element + * is required if the RecordFormatType is JSON.

                                                                      */ - SqlType: string | undefined; + Mapping?: string; } export namespace RecordColumn { @@ -350,9 +350,9 @@ export namespace RecordFormat { */ export interface SourceSchema { /** - *

                                                                      Specifies the encoding of the records in the streaming source. For example, UTF-8.

                                                                      + *

                                                                      Specifies the format of the records on the streaming source.

                                                                      */ - RecordEncoding?: string; + RecordFormat: RecordFormat | undefined; /** *

                                                                      A list of RecordColumn objects.

                                                                      @@ -360,9 +360,9 @@ export interface SourceSchema { RecordColumns: RecordColumn[] | undefined; /** - *

                                                                      Specifies the format of the records on the streaming source.

                                                                      + *

                                                                      Specifies the encoding of the records in the streaming source. For example, UTF-8.

                                                                      */ - RecordFormat: RecordFormat | undefined; + RecordEncoding?: string; } export namespace SourceSchema { @@ -427,11 +427,20 @@ export namespace KinesisStreamsInput { */ export interface Input { /** - *

                                                                      Describes the number of in-application streams to create.

                                                                      - *

                                                                      Data from your source is routed to these in-application input streams.

                                                                      - *

                                                                      (see Configuring Application Input.

                                                                      + *

                                                                      Name prefix to use when creating an in-application stream. Suppose that you specify + * a prefix "MyInApplicationStream." Amazon Kinesis Analytics then creates one or more (as + * per the InputParallelism count you specified) in-application streams with + * names "MyInApplicationStream_001," "MyInApplicationStream_002," and so on.

                                                                      */ - InputParallelism?: InputParallelism; + 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 stream, @@ -441,14 +450,6 @@ export interface Input { */ KinesisStreamsInput?: KinesisStreamsInput; - /** - *

                                                                      Name prefix to use when creating an in-application stream. Suppose that you specify - * a prefix "MyInApplicationStream." Amazon Kinesis Analytics then creates one or more (as - * per the InputParallelism count you specified) in-application streams with - * names "MyInApplicationStream_001," "MyInApplicationStream_002," and so on.

                                                                      - */ - NamePrefix: string | undefined; - /** *

                                                                      If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies * the delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to @@ -464,12 +465,11 @@ export interface Input { 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.

                                                                      + *

                                                                      Describes the number of in-application streams to create.

                                                                      + *

                                                                      Data from your source is routed to these in-application input streams.

                                                                      + *

                                                                      (see Configuring Application Input.

                                                                      */ - InputProcessingConfiguration?: InputProcessingConfiguration; + InputParallelism?: InputParallelism; } export namespace Input { @@ -482,12 +482,6 @@ export namespace Input { *

                                                                      */ export interface AddApplicationInputRequest { - /** - *

                                                                      Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation - * to find the current application version.

                                                                      - */ - CurrentApplicationVersionId: number | undefined; - /** *

                                                                      Name of your existing Amazon Kinesis Analytics application to which you want to add the streaming source.

                                                                      */ @@ -497,6 +491,12 @@ export interface AddApplicationInputRequest { *

                                                                      The Input to add.

                                                                      */ Input: Input | undefined; + + /** + *

                                                                      Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation + * to find the current application version.

                                                                      + */ + CurrentApplicationVersionId: number | undefined; } export namespace AddApplicationInputRequest { @@ -542,17 +542,17 @@ export interface AddApplicationInputProcessingConfigurationRequest { */ CurrentApplicationVersionId: number | undefined; - /** - *

                                                                      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.

                                                                      */ InputId: string | undefined; + /** + *

                                                                      Name of the application to which you want to add the input processing configuration.

                                                                      + */ + ApplicationName: string | undefined; + /** *

                                                                      The InputProcessingConfiguration to add to the application.

                                                                      */ @@ -684,11 +684,6 @@ export namespace LambdaOutput { *

                                                                      */ export interface Output { - /** - *

                                                                      Name of the in-application stream.

                                                                      - */ - Name: string | undefined; - /** *

                                                                      Identifies an Amazon Kinesis Firehose delivery stream as the destination.

                                                                      */ @@ -699,6 +694,11 @@ export interface Output { */ LambdaOutput?: LambdaOutput; + /** + *

                                                                      Name of the in-application stream.

                                                                      + */ + Name: string | undefined; + /** *

                                                                      Identifies an Amazon Kinesis stream * as the destination.

                                                                      @@ -729,11 +729,6 @@ export interface AddApplicationOutputRequest { */ CurrentApplicationVersionId: number | undefined; - /** - *

                                                                      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, @@ -741,6 +736,11 @@ export interface AddApplicationOutputRequest { * function), and record the formation to use when writing to the destination.

                                                                      */ Output: Output | undefined; + + /** + *

                                                                      Name of the application to which you want to add the output configuration.

                                                                      + */ + ApplicationName: string | undefined; } export namespace AddApplicationOutputRequest { @@ -767,6 +767,11 @@ export namespace AddApplicationOutputResponse { * reloading of data into your application.

                                                                      */ export interface S3ReferenceDataSource { + /** + *

                                                                      ARN of the IAM role that the service can assume to read data on your behalf. This role must have permission for the s3:GetObject action on the object and trust policy that allows Amazon Kinesis Analytics service principal to assume this role.

                                                                      + */ + ReferenceRoleARN: string | undefined; + /** *

                                                                      Amazon Resource Name (ARN) of the S3 bucket.

                                                                      */ @@ -776,11 +781,6 @@ export interface S3ReferenceDataSource { *

                                                                      Object key name containing reference data.

                                                                      */ FileKey: string | undefined; - - /** - *

                                                                      ARN of the IAM role that the service can assume to read data on your behalf. This role must have permission for the s3:GetObject action on the object and trust policy that allows Amazon Kinesis Analytics service principal to assume this role.

                                                                      - */ - ReferenceRoleARN: string | undefined; } export namespace S3ReferenceDataSource { @@ -794,11 +794,9 @@ export namespace S3ReferenceDataSource { */ export interface ReferenceDataSource { /** - *

                                                                      Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf. - * - * An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

                                                                      + *

                                                                      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.

                                                                      */ - S3ReferenceDataSource?: S3ReferenceDataSource; + ReferenceSchema: SourceSchema | undefined; /** *

                                                                      Name of the in-application table to create.

                                                                      @@ -806,9 +804,11 @@ export interface ReferenceDataSource { 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.

                                                                      + *

                                                                      Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf. + * + * An Amazon Kinesis 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: SourceSchema | undefined; + S3ReferenceDataSource?: S3ReferenceDataSource; } export namespace ReferenceDataSource { @@ -821,6 +821,11 @@ export namespace ReferenceDataSource { *

                                                                      */ export interface AddApplicationReferenceDataSourceRequest { + /** + *

                                                                      Name of an existing application.

                                                                      + */ + ApplicationName: string | undefined; + /** *

                                                                      Version of the application for which you are adding the reference data source. * You can use the DescribeApplication operation to get the current application version. @@ -833,11 +838,6 @@ export interface AddApplicationReferenceDataSourceRequest { *

                                                                      The reference data source can be an object in your Amazon S3 bucket. Amazon Kinesis 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. You must also provide an IAM role with the necessary permissions that Amazon Kinesis Analytics can assume to read the object from your S3 bucket on your behalf.

                                                                      */ ReferenceDataSource: ReferenceDataSource | undefined; - - /** - *

                                                                      Name of an existing application.

                                                                      - */ - ApplicationName: string | undefined; } export namespace AddApplicationReferenceDataSourceRequest { @@ -982,14 +982,14 @@ export namespace InputStartingPositionConfiguration { */ export interface KinesisFirehoseInputDescription { /** - *

                                                                      Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream.

                                                                      + *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics assumes to access the stream.

                                                                      */ - ResourceARN?: string; + RoleARN?: string; /** - *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics assumes to access the stream.

                                                                      + *

                                                                      Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream.

                                                                      */ - RoleARN?: string; + ResourceARN?: string; } export namespace KinesisFirehoseInputDescription { @@ -1006,14 +1006,14 @@ export namespace KinesisFirehoseInputDescription { */ export interface KinesisStreamsInputDescription { /** - *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream.

                                                                      + *

                                                                      Amazon Resource Name (ARN) of the Amazon Kinesis stream.

                                                                      */ - RoleARN?: string; + ResourceARN?: string; /** - *

                                                                      Amazon Resource Name (ARN) of the Amazon Kinesis stream.

                                                                      + *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream.

                                                                      */ - ResourceARN?: string; + RoleARN?: string; } export namespace KinesisStreamsInputDescription { @@ -1030,34 +1030,35 @@ export namespace KinesisStreamsInputDescription { */ export interface InputDescription { /** - *

                                                                      If an Amazon Kinesis stream is configured as streaming source, provides Amazon - * Kinesis stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis - * Analytics to access the stream on your behalf.

                                                                      + *

                                                                      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.

                                                                      */ - KinesisStreamsInputDescription?: KinesisStreamsInputDescription; + InputSchema?: SourceSchema; /** - *

                                                                      Point at which the application is configured to read from the input stream.

                                                                      + *

                                                                      Describes the configured parallelism (number of in-application streams + * mapped to the streaming source).

                                                                      */ - InputStartingPositionConfiguration?: InputStartingPositionConfiguration; + InputParallelism?: InputParallelism; /** - *

                                                                      If an Amazon Kinesis Firehose delivery stream is configured as a streaming source, - * provides the delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics - * to access the stream on your behalf.

                                                                      + *

                                                                      Input ID associated with the application input. + * This is the ID that Amazon Kinesis Analytics assigns to each + * input configuration you add to your application.

                                                                      */ - KinesisFirehoseInputDescription?: KinesisFirehoseInputDescription; + InputId?: string; /** - *

                                                                      Returns the in-application stream names that are mapped to the - * stream source.

                                                                      + *

                                                                      If an Amazon Kinesis stream is configured as streaming source, provides Amazon + * Kinesis stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis + * Analytics to access the stream on your behalf.

                                                                      */ - InAppStreamNames?: string[]; + KinesisStreamsInputDescription?: KinesisStreamsInputDescription; /** - *

                                                                      In-application name prefix.

                                                                      + *

                                                                      Point at which the application is configured to read from the input stream.

                                                                      */ - NamePrefix?: string; + InputStartingPositionConfiguration?: InputStartingPositionConfiguration; /** *

                                                                      The description of the preprocessor that executes on records in this input before the application's code is run.

                                                                      @@ -1065,23 +1066,22 @@ export interface InputDescription { InputProcessingConfigurationDescription?: InputProcessingConfigurationDescription; /** - *

                                                                      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.

                                                                      + *

                                                                      If an Amazon Kinesis Firehose delivery stream is configured as a streaming source, + * provides the delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics + * to access the stream on your behalf.

                                                                      */ - InputSchema?: SourceSchema; + KinesisFirehoseInputDescription?: KinesisFirehoseInputDescription; /** - *

                                                                      Input ID associated with the application input. - * This is the ID that Amazon Kinesis Analytics assigns to each - * input configuration you add to your application.

                                                                      + *

                                                                      In-application name prefix.

                                                                      */ - InputId?: string; + NamePrefix?: string; /** - *

                                                                      Describes the configured parallelism (number of in-application streams - * mapped to the streaming source).

                                                                      + *

                                                                      Returns the in-application stream names that are mapped to the + * stream source.

                                                                      */ - InputParallelism?: InputParallelism; + InAppStreamNames?: string[]; } export namespace InputDescription { @@ -1098,14 +1098,14 @@ export namespace InputDescription { */ export interface KinesisFirehoseOutputDescription { /** - *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream.

                                                                      + *

                                                                      Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream.

                                                                      */ - RoleARN?: string; + ResourceARN?: string; /** - *

                                                                      Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream.

                                                                      + *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream.

                                                                      */ - ResourceARN?: string; + RoleARN?: string; } export namespace KinesisFirehoseOutputDescription { @@ -1144,14 +1144,14 @@ export namespace KinesisStreamsOutputDescription { */ export interface LambdaOutputDescription { /** - *

                                                                      Amazon Resource Name (ARN) of the destination Lambda function.

                                                                      + *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function.

                                                                      */ - ResourceARN?: string; + RoleARN?: string; /** - *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function.

                                                                      + *

                                                                      Amazon Resource Name (ARN) of the destination Lambda function.

                                                                      */ - RoleARN?: string; + ResourceARN?: string; } export namespace LambdaOutputDescription { @@ -1169,21 +1169,10 @@ export namespace LambdaOutputDescription { */ export interface OutputDescription { /** - *

                                                                      Describes the Amazon Kinesis Firehose delivery stream configured as the + *

                                                                      Describes Amazon Kinesis stream configured as the * destination where output is written.

                                                                      */ - KinesisFirehoseOutputDescription?: KinesisFirehoseOutputDescription; - - /** - *

                                                                      Name of the in-application stream configured as output.

                                                                      - */ - Name?: string; - - /** - *

                                                                      Describes the AWS Lambda function configured as the destination where output is - * written.

                                                                      - */ - LambdaOutputDescription?: LambdaOutputDescription; + KinesisStreamsOutputDescription?: KinesisStreamsOutputDescription; /** *

                                                                      Data format used for writing data to the destination.

                                                                      @@ -1196,10 +1185,21 @@ export interface OutputDescription { OutputId?: string; /** - *

                                                                      Describes Amazon Kinesis stream configured as the - * destination where output is written.

                                                                      + *

                                                                      Name of the in-application stream configured as output.

                                                                      */ - KinesisStreamsOutputDescription?: KinesisStreamsOutputDescription; + Name?: string; + + /** + *

                                                                      Describes the Amazon Kinesis Firehose delivery stream configured as the + * destination where output is written.

                                                                      + */ + KinesisFirehoseOutputDescription?: KinesisFirehoseOutputDescription; + + /** + *

                                                                      Describes the AWS Lambda function configured as the destination where output is + * written.

                                                                      + */ + LambdaOutputDescription?: LambdaOutputDescription; } export namespace OutputDescription { @@ -1213,9 +1213,9 @@ export namespace OutputDescription { */ export interface S3ReferenceDataSourceDescription { /** - *

                                                                      Amazon S3 object key name.

                                                                      + *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object on your behalf to populate the in-application reference table.

                                                                      */ - FileKey: string | undefined; + ReferenceRoleARN: string | undefined; /** *

                                                                      Amazon Resource Name (ARN) of the S3 bucket.

                                                                      @@ -1223,9 +1223,9 @@ export interface S3ReferenceDataSourceDescription { BucketARN: string | undefined; /** - *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object on your behalf to populate the in-application reference table.

                                                                      + *

                                                                      Amazon S3 object key name.

                                                                      */ - ReferenceRoleARN: string | undefined; + FileKey: string | undefined; } export namespace S3ReferenceDataSourceDescription { @@ -1238,16 +1238,6 @@ export namespace S3ReferenceDataSourceDescription { *

                                                                      Describes the reference data source configured for an application.

                                                                      */ export interface ReferenceDataSourceDescription { - /** - *

                                                                      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.

                                                                      - */ - ReferenceSchema?: SourceSchema; - - /** - *

                                                                      The in-application table name created by the specific reference data source configuration.

                                                                      - */ - TableName: string | undefined; - /** *

                                                                      ID of the reference data source. This is the ID * that Amazon Kinesis Analytics assigns when you add the reference data source @@ -1255,10 +1245,20 @@ export interface ReferenceDataSourceDescription { */ 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.

                                                                      + */ + ReferenceSchema?: SourceSchema; + /** *

                                                                      Provides the S3 bucket name, the object key name that contains the reference data. It also provides the Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object and populate the in-application reference table.

                                                                      */ S3ReferenceDataSourceDescription: S3ReferenceDataSourceDescription | undefined; + + /** + *

                                                                      The in-application table name created by the specific reference data source configuration.

                                                                      + */ + TableName: string | undefined; } export namespace ReferenceDataSourceDescription { @@ -1275,28 +1275,19 @@ export namespace ReferenceDataSourceDescription { */ export interface ApplicationDetail { /** - *

                                                                      Describes the application input configuration. - * For more information, - * see Configuring Application Input. - * - *

                                                                      - */ - InputDescriptions?: InputDescription[]; - - /** - *

                                                                      Name of the application.

                                                                      + *

                                                                      Status of the application.

                                                                      */ - ApplicationName: string | undefined; + ApplicationStatus: ApplicationStatus | string | undefined; /** - *

                                                                      Time stamp when the application version was created.

                                                                      + *

                                                                      Returns the application code that you provided to perform data analysis on any of the in-application streams in your application.

                                                                      */ - CreateTimestamp?: Date; + ApplicationCode?: string; /** - *

                                                                      Provides the current application version.

                                                                      + *

                                                                      ARN of the application.

                                                                      */ - ApplicationVersionId: number | undefined; + ApplicationARN: string | undefined; /** *

                                                                      Time stamp when the application was last updated.

                                                                      @@ -1304,14 +1295,12 @@ export interface ApplicationDetail { LastUpdateTimestamp?: Date; /** - *

                                                                      Status of the application.

                                                                      - */ - ApplicationStatus: ApplicationStatus | string | undefined; - - /** - *

                                                                      Returns the application code that you provided to perform data analysis on any of the in-application streams in your application.

                                                                      + *

                                                                      Describes the CloudWatch log streams that are configured to receive application + * messages. For more information about using CloudWatch log streams with Amazon Kinesis + * Analytics applications, see Working with Amazon + * CloudWatch Logs.

                                                                      */ - ApplicationCode?: string; + CloudWatchLoggingOptionDescriptions?: CloudWatchLoggingOptionDescription[]; /** *

                                                                      Description of the application.

                                                                      @@ -1319,27 +1308,38 @@ export interface ApplicationDetail { ApplicationDescription?: string; /** - *

                                                                      Describes reference data sources configured for the application. - * + *

                                                                      Describes the application input configuration. * For more information, * see Configuring Application Input. * *

                                                                      */ - ReferenceDataSourceDescriptions?: ReferenceDataSourceDescription[]; + InputDescriptions?: InputDescription[]; /** - *

                                                                      ARN of the application.

                                                                      + *

                                                                      Name of the application.

                                                                      */ - ApplicationARN: string | undefined; + ApplicationName: string | undefined; /** - *

                                                                      Describes the CloudWatch log streams that are configured to receive application - * messages. For more information about using CloudWatch log streams with Amazon Kinesis - * Analytics applications, see Working with Amazon - * CloudWatch Logs.

                                                                      + *

                                                                      Provides the current application version.

                                                                      */ - CloudWatchLoggingOptionDescriptions?: CloudWatchLoggingOptionDescription[]; + ApplicationVersionId: number | undefined; + + /** + *

                                                                      Time stamp when the application version was created.

                                                                      + */ + CreateTimestamp?: Date; + + /** + *

                                                                      Describes reference data sources configured for the application. + * + * For more information, + * see Configuring Application Input. + * + *

                                                                      + */ + ReferenceDataSourceDescriptions?: ReferenceDataSourceDescription[]; /** *

                                                                      Describes the application output configuration. @@ -1365,14 +1365,14 @@ export namespace ApplicationDetail { */ export interface ApplicationSummary { /** - *

                                                                      ARN of the application.

                                                                      + *

                                                                      Status of the application.

                                                                      */ - ApplicationARN: string | undefined; + ApplicationStatus: ApplicationStatus | string | undefined; /** - *

                                                                      Status of the application.

                                                                      + *

                                                                      ARN of the application.

                                                                      */ - ApplicationStatus: ApplicationStatus | string | undefined; + ApplicationARN: string | undefined; /** *

                                                                      Name of the application.

                                                                      @@ -1433,12 +1433,6 @@ export namespace InputParallelismUpdate { *

                                                                      Represents an update to the InputLambdaProcessor that is used to preprocess the records in the stream.

                                                                      */ export interface InputLambdaProcessorUpdate { - /** - *

                                                                      The ARN of the new IAM role that is used to access the AWS Lambda - * function.

                                                                      - */ - RoleARNUpdate?: string; - /** *

                                                                      The Amazon Resource Name (ARN) of the new AWS Lambda function that * is used to preprocess the records in the stream.

                                                                      @@ -1448,6 +1442,12 @@ export interface InputLambdaProcessorUpdate { * */ ResourceARNUpdate?: string; + + /** + *

                                                                      The ARN of the new IAM role that is used to access the AWS Lambda + * function.

                                                                      + */ + RoleARNUpdate?: string; } export namespace InputLambdaProcessorUpdate { @@ -1477,14 +1477,14 @@ export namespace InputProcessingConfigurationUpdate { */ export interface InputSchemaUpdate { /** - *

                                                                      Specifies the encoding of the records in the streaming source. For example, UTF-8.

                                                                      + *

                                                                      Specifies the format of the records on the streaming source.

                                                                      */ - RecordEncodingUpdate?: string; + RecordFormatUpdate?: RecordFormat; /** - *

                                                                      Specifies the format of the records on the streaming source.

                                                                      + *

                                                                      Specifies the encoding of the records in the streaming source. For example, UTF-8.

                                                                      */ - RecordFormatUpdate?: RecordFormat; + RecordEncodingUpdate?: string; /** *

                                                                      A list of RecordColumn objects. Each object describes the mapping @@ -1550,12 +1550,6 @@ export namespace KinesisStreamsInputUpdate { * InputId of an application).

                                                                      */ export interface InputUpdate { - /** - *

                                                                      Name prefix for in-application streams that Amazon Kinesis Analytics creates - * for the specific streaming source.

                                                                      - */ - NamePrefixUpdate?: string; - /** *

                                                                      Input ID of the application input to be updated.

                                                                      */ @@ -1573,10 +1567,10 @@ export interface InputUpdate { InputProcessingConfigurationUpdate?: InputProcessingConfigurationUpdate; /** - *

                                                                      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.

                                                                      + *

                                                                      Name prefix for in-application streams that Amazon Kinesis Analytics creates + * for the specific streaming source.

                                                                      */ - InputSchemaUpdate?: InputSchemaUpdate; + NamePrefixUpdate?: string; /** *

                                                                      If an Amazon Kinesis Firehose delivery stream is the streaming source to be @@ -1589,6 +1583,12 @@ export interface InputUpdate { * streams Amazon Kinesis Analytics creates for the specific streaming source).

                                                                      */ InputParallelismUpdate?: InputParallelismUpdate; + + /** + *

                                                                      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; } export namespace InputUpdate { @@ -1606,16 +1606,16 @@ export namespace InputUpdate { *

                                                                      */ export interface KinesisFirehoseOutputUpdate { - /** - *

                                                                      Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream to write to.

                                                                      - */ - ResourceARNUpdate?: string; - /** *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream * on your behalf. You need to grant the necessary permissions to this role.

                                                                      */ RoleARNUpdate?: string; + + /** + *

                                                                      Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream to write to.

                                                                      + */ + ResourceARNUpdate?: string; } export namespace KinesisFirehoseOutputUpdate { @@ -1685,11 +1685,9 @@ export namespace LambdaOutputUpdate { */ export interface OutputUpdate { /** - *

                                                                      If you want to specify a different in-application stream - * for this output configuration, use this field to - * specify the new in-application stream name.

                                                                      + *

                                                                      Describes an AWS Lambda function as the destination for the output.

                                                                      */ - NameUpdate?: string; + LambdaOutputUpdate?: LambdaOutputUpdate; /** *

                                                                      Describes an Amazon Kinesis Firehose delivery stream as the destination for the @@ -1698,24 +1696,26 @@ export interface OutputUpdate { KinesisFirehoseOutputUpdate?: KinesisFirehoseOutputUpdate; /** - *

                                                                      Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

                                                                      + *

                                                                      Describes an Amazon Kinesis stream as the destination for the output.

                                                                      */ - DestinationSchemaUpdate?: DestinationSchema; + KinesisStreamsOutputUpdate?: KinesisStreamsOutputUpdate; /** - *

                                                                      Describes an AWS Lambda function as the destination for the output.

                                                                      + *

                                                                      Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

                                                                      */ - LambdaOutputUpdate?: LambdaOutputUpdate; + DestinationSchemaUpdate?: DestinationSchema; /** - *

                                                                      Describes an Amazon Kinesis stream as the destination for the output.

                                                                      + *

                                                                      Identifies the specific output configuration that you want to update.

                                                                      */ - KinesisStreamsOutputUpdate?: KinesisStreamsOutputUpdate; + OutputId: string | undefined; /** - *

                                                                      Identifies the specific output configuration that you want to update.

                                                                      + *

                                                                      If you want to specify a different in-application stream + * for this output configuration, use this field to + * specify the new in-application stream name.

                                                                      */ - OutputId: string | undefined; + NameUpdate?: string; } export namespace OutputUpdate { @@ -1729,14 +1729,14 @@ export namespace OutputUpdate { */ export interface S3ReferenceDataSourceUpdate { /** - *

                                                                      Amazon Resource Name (ARN) of the S3 bucket.

                                                                      + *

                                                                      Object key name.

                                                                      */ - BucketARNUpdate?: string; + FileKeyUpdate?: string; /** - *

                                                                      Object key name.

                                                                      + *

                                                                      Amazon Resource Name (ARN) of the S3 bucket.

                                                                      */ - FileKeyUpdate?: string; + BucketARNUpdate?: string; /** *

                                                                      ARN of the IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object and populate the in-application.

                                                                      @@ -1755,25 +1755,25 @@ export namespace S3ReferenceDataSourceUpdate { */ export interface ReferenceDataSourceUpdate { /** - *

                                                                      ID of the reference data source being updated. You can use the - * DescribeApplication operation to get this value.

                                                                      + *

                                                                      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: string | undefined; + ReferenceSchemaUpdate?: SourceSchema; /** - *

                                                                      In-application table name that is created by this update.

                                                                      + *

                                                                      Describes the S3 bucket name, object key name, and IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object on your behalf and populate the in-application reference table.

                                                                      */ - TableNameUpdate?: string; + S3ReferenceDataSourceUpdate?: S3ReferenceDataSourceUpdate; /** - *

                                                                      Describes the S3 bucket name, object key name, and IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object on your behalf and populate the in-application reference table.

                                                                      + *

                                                                      In-application table name that is created by this update.

                                                                      */ - S3ReferenceDataSourceUpdate?: S3ReferenceDataSourceUpdate; + TableNameUpdate?: string; /** - *

                                                                      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.

                                                                      + *

                                                                      ID of the reference data source being updated. You can use the + * DescribeApplication operation to get this value.

                                                                      */ - ReferenceSchemaUpdate?: SourceSchema; + ReferenceId: string | undefined; } export namespace ReferenceDataSourceUpdate { @@ -1787,14 +1787,14 @@ export namespace ReferenceDataSourceUpdate { */ export interface ApplicationUpdate { /** - *

                                                                      Describes application input configuration updates.

                                                                      + *

                                                                      Describes application reference data source updates.

                                                                      */ - InputUpdates?: InputUpdate[]; + ReferenceDataSourceUpdates?: ReferenceDataSourceUpdate[]; /** - *

                                                                      Describes application code updates.

                                                                      + *

                                                                      Describes application output configuration updates.

                                                                      */ - ApplicationCodeUpdate?: string; + OutputUpdates?: OutputUpdate[]; /** *

                                                                      Describes application CloudWatch logging option updates.

                                                                      @@ -1802,14 +1802,14 @@ export interface ApplicationUpdate { CloudWatchLoggingOptionUpdates?: CloudWatchLoggingOptionUpdate[]; /** - *

                                                                      Describes application reference data source updates.

                                                                      + *

                                                                      Describes application input configuration updates.

                                                                      */ - ReferenceDataSourceUpdates?: ReferenceDataSourceUpdate[]; + InputUpdates?: InputUpdate[]; /** - *

                                                                      Describes application output configuration updates.

                                                                      + *

                                                                      Describes application code updates.

                                                                      */ - OutputUpdates?: OutputUpdate[]; + ApplicationCodeUpdate?: string; } export namespace ApplicationUpdate { @@ -1845,6 +1845,34 @@ export namespace Tag { *

                                                                      TBD

                                                                      */ export interface CreateApplicationRequest { + /** + *

                                                                      Name of your Amazon Kinesis Analytics application (for example, sample-app).

                                                                      + */ + ApplicationName: string | undefined; + + /** + *

                                                                      Use this parameter to configure a CloudWatch log stream to monitor application + * configuration errors. For more information, see Working with Amazon + * CloudWatch Logs.

                                                                      + */ + CloudWatchLoggingOptions?: CloudWatchLoggingOption[]; + + /** + *

                                                                      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.

                                                                      + */ + Tags?: Tag[]; + + /** + *

                                                                      Use this parameter to configure the application input.

                                                                      + *

                                                                      You can configure your application to receive input from a single streaming source. In this configuration, you map this streaming source to an in-application stream that is created. Your application code can then query the in-application stream like a table (you can think of it as a constantly updating table).

                                                                      + *

                                                                      For the streaming source, you provide its Amazon Resource Name (ARN) and format of + * data on the stream (for example, JSON, CSV, etc.). You also must provide an IAM role + * that Amazon Kinesis Analytics can assume to read this stream on your behalf.

                                                                      + *

                                                                      To create the in-application stream, you need to specify a schema to transform your data into a schematized version used in SQL. In the schema, you provide the necessary mapping of the data elements in the streaming source to record columns in the in-app stream.

                                                                      + */ + Inputs?: Input[]; + /** *

                                                                      Summary description of the application.

                                                                      */ @@ -1882,34 +1910,6 @@ export interface CreateApplicationRequest { * Amazon Kinesis Analytics can assume to write to the stream or Lambda function on your behalf.

                                                                      */ Outputs?: Output[]; - - /** - *

                                                                      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.

                                                                      - */ - Tags?: Tag[]; - - /** - *

                                                                      Use this parameter to configure a CloudWatch log stream to monitor application - * configuration errors. For more information, see Working with Amazon - * CloudWatch Logs.

                                                                      - */ - CloudWatchLoggingOptions?: CloudWatchLoggingOption[]; - - /** - *

                                                                      Name of your Amazon Kinesis Analytics application (for example, sample-app).

                                                                      - */ - ApplicationName: string | undefined; - - /** - *

                                                                      Use this parameter to configure the application input.

                                                                      - *

                                                                      You can configure your application to receive input from a single streaming source. In this configuration, you map this streaming source to an in-application stream that is created. Your application code can then query the in-application stream like a table (you can think of it as a constantly updating table).

                                                                      - *

                                                                      For the streaming source, you provide its Amazon Resource Name (ARN) and format of - * data on the stream (for example, JSON, CSV, etc.). You also must provide an IAM role - * that Amazon Kinesis Analytics can assume to read this stream on your behalf.

                                                                      - *

                                                                      To create the in-application stream, you need to specify a schema to transform your data into a schematized version used in SQL. In the schema, you provide the necessary mapping of the data elements in the streaming source to record columns in the in-app stream.

                                                                      - */ - Inputs?: Input[]; } export namespace CreateApplicationRequest { @@ -2004,6 +2004,12 @@ export namespace DeleteApplicationResponse { } export interface DeleteApplicationCloudWatchLoggingOptionRequest { + /** + *

                                                                      The CloudWatchLoggingOptionId of the CloudWatch logging option to + * delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation.

                                                                      + */ + CloudWatchLoggingOptionId: string | undefined; + /** *

                                                                      The version ID of the Kinesis Analytics application.

                                                                      */ @@ -2013,12 +2019,6 @@ export interface DeleteApplicationCloudWatchLoggingOptionRequest { *

                                                                      The Kinesis Analytics application name.

                                                                      */ ApplicationName: string | undefined; - - /** - *

                                                                      The CloudWatchLoggingOptionId of the CloudWatch logging option to - * delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation.

                                                                      - */ - CloudWatchLoggingOptionId: string | undefined; } export namespace DeleteApplicationCloudWatchLoggingOptionRequest { @@ -2036,11 +2036,6 @@ export namespace DeleteApplicationCloudWatchLoggingOptionResponse { } export interface DeleteApplicationInputProcessingConfigurationRequest { - /** - *

                                                                      The Kinesis Analytics application name.

                                                                      - */ - ApplicationName: string | undefined; - /** *

                                                                      The version ID of the Kinesis Analytics application.

                                                                      */ @@ -2051,6 +2046,11 @@ export interface DeleteApplicationInputProcessingConfigurationRequest { * configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation.

                                                                      */ InputId: string | undefined; + + /** + *

                                                                      The Kinesis Analytics application name.

                                                                      + */ + ApplicationName: string | undefined; } export namespace DeleteApplicationInputProcessingConfigurationRequest { @@ -2080,11 +2080,6 @@ export interface DeleteApplicationOutputRequest { */ CurrentApplicationVersionId: number | undefined; - /** - *

                                                                      Amazon Kinesis Analytics application name.

                                                                      - */ - ApplicationName: string | undefined; - /** *

                                                                      The ID of the configuration to delete. * Each output configuration that is added to the application, either when the application is @@ -2096,6 +2091,11 @@ export interface DeleteApplicationOutputRequest { *

                                                                      */ OutputId: string | undefined; + + /** + *

                                                                      Amazon Kinesis Analytics application name.

                                                                      + */ + ApplicationName: string | undefined; } export namespace DeleteApplicationOutputRequest { @@ -2117,9 +2117,12 @@ export namespace DeleteApplicationOutputResponse { export interface DeleteApplicationReferenceDataSourceRequest { /** - *

                                                                      Name of an existing application.

                                                                      + *

                                                                      Version of the application. + * You can use the DescribeApplication operation to get the current application version. + * If the version specified + * is not the current version, the ConcurrentModificationException is returned.

                                                                      */ - ApplicationName: string | undefined; + CurrentApplicationVersionId: number | undefined; /** *

                                                                      ID of the reference data source. When you add a reference data source to your @@ -2131,12 +2134,9 @@ export interface DeleteApplicationReferenceDataSourceRequest { ReferenceId: string | undefined; /** - *

                                                                      Version of the application. - * You can use the DescribeApplication operation to get the current application version. - * If the version specified - * is not the current version, the ConcurrentModificationException is returned.

                                                                      + *

                                                                      Name of an existing application.

                                                                      */ - CurrentApplicationVersionId: number | undefined; + ApplicationName: string | undefined; } export namespace DeleteApplicationReferenceDataSourceRequest { @@ -2191,6 +2191,11 @@ export namespace DescribeApplicationResponse { * and the name of the Amazon S3 object that contains the data.

                                                                      */ export interface S3Configuration { + /** + *

                                                                      IAM ARN of the role used to access the data.

                                                                      + */ + RoleARN: string | undefined; + /** *

                                                                      ARN of the S3 bucket that contains the data.

                                                                      */ @@ -2200,11 +2205,6 @@ export interface S3Configuration { *

                                                                      The name of the object that contains the data.

                                                                      */ FileKey: string | undefined; - - /** - *

                                                                      IAM ARN of the role used to access the data.

                                                                      - */ - RoleARN: string | undefined; } export namespace S3Configuration { @@ -2224,6 +2224,11 @@ export interface DiscoverInputSchemaRequest { */ InputProcessingConfiguration?: InputProcessingConfiguration; + /** + *

                                                                      Amazon Resource Name (ARN) of the streaming source.

                                                                      + */ + ResourceARN?: string; + /** *

                                                                      Point at which you want Amazon Kinesis Analytics to start reading records from the specified streaming source discovery purposes.

                                                                      */ @@ -2234,11 +2239,6 @@ export interface DiscoverInputSchemaRequest { * object.

                                                                      */ S3Configuration?: S3Configuration; - - /** - *

                                                                      Amazon Resource Name (ARN) of the streaming source.

                                                                      - */ - ResourceARN?: string; } export namespace DiscoverInputSchemaRequest { @@ -2252,9 +2252,9 @@ export namespace DiscoverInputSchemaRequest { */ export interface DiscoverInputSchemaResponse { /** - *

                                                                      An array of elements, where each element corresponds to a row in a stream record (a stream record can have more than one row).

                                                                      + *

                                                                      Raw stream data that was sampled to infer the schema.

                                                                      */ - ParsedInputRecords?: string[][]; + RawInputRecords?: string[]; /** *

                                                                      Stream data that was modified by the processor specified in the InputProcessingConfiguration parameter.

                                                                      @@ -2262,14 +2262,14 @@ export interface DiscoverInputSchemaResponse { ProcessedInputRecords?: string[]; /** - *

                                                                      Schema inferred from the streaming source. It identifies the format of the data in the streaming source and how each data element maps to corresponding columns in the in-application stream that you can create.

                                                                      + *

                                                                      An array of elements, where each element corresponds to a row in a stream record (a stream record can have more than one row).

                                                                      */ - InputSchema?: SourceSchema; + ParsedInputRecords?: string[][]; /** - *

                                                                      Raw stream data that was sampled to infer the schema.

                                                                      + *

                                                                      Schema inferred from the streaming source. It identifies the format of the data in the streaming source and how each data element maps to corresponding columns in the in-application stream that you can create.

                                                                      */ - RawInputRecords?: string[]; + InputSchema?: SourceSchema; } export namespace DiscoverInputSchemaResponse { @@ -2319,9 +2319,9 @@ export namespace ServiceUnavailableException { export interface UnableToDetectSchemaException extends __SmithyException, $MetadataBearer { name: "UnableToDetectSchemaException"; $fault: "client"; - message?: string; - RawInputRecords?: string[]; ProcessedInputRecords?: string[]; + RawInputRecords?: string[]; + message?: string; } export namespace UnableToDetectSchemaException { @@ -2446,14 +2446,14 @@ export namespace ListTagsForResourceResponse { */ export interface StartApplicationRequest { /** - *

                                                                      Identifies the specific input, by ID, that the application starts consuming. Amazon Kinesis Analytics starts reading the streaming source associated with the input. You can also specify where in the streaming source you want Amazon Kinesis Analytics to start reading.

                                                                      + *

                                                                      Name of the application.

                                                                      */ - InputConfigurations: InputConfiguration[] | undefined; + ApplicationName: string | undefined; /** - *

                                                                      Name of the application.

                                                                      + *

                                                                      Identifies the specific input, by ID, that the application starts consuming. Amazon Kinesis Analytics starts reading the streaming source associated with the input. You can also specify where in the streaming source you want Amazon Kinesis Analytics to start reading.

                                                                      */ - ApplicationName: string | undefined; + InputConfigurations: InputConfiguration[] | undefined; } export namespace StartApplicationRequest { @@ -2554,9 +2554,10 @@ export namespace UntagResourceResponse { export interface UpdateApplicationRequest { /** - *

                                                                      Name of the Amazon Kinesis Analytics application to update.

                                                                      + *

                                                                      The current application version ID. You can use the + * DescribeApplication operation to get this value.

                                                                      */ - ApplicationName: string | undefined; + CurrentApplicationVersionId: number | undefined; /** *

                                                                      Describes application updates.

                                                                      @@ -2564,10 +2565,9 @@ export interface UpdateApplicationRequest { ApplicationUpdate: ApplicationUpdate | undefined; /** - *

                                                                      The current application version ID. You can use the - * DescribeApplication operation to get this value.

                                                                      + *

                                                                      Name of the Amazon Kinesis Analytics application to update.

                                                                      */ - CurrentApplicationVersionId: number | undefined; + ApplicationName: string | undefined; } export namespace UpdateApplicationRequest { diff --git a/clients/client-kinesis-video-archived-media/models/models_0.ts b/clients/client-kinesis-video-archived-media/models/models_0.ts index 70df456fadc9..33bbddbc131b 100644 --- a/clients/client-kinesis-video-archived-media/models/models_0.ts +++ b/clients/client-kinesis-video-archived-media/models/models_0.ts @@ -30,15 +30,6 @@ export enum ClipFragmentSelectorType { * but continue past it, are included in the session.

                                                                      */ export interface ClipTimestampRange { - /** - *

                                                                      The starting timestamp in the range of timestamps for which to return fragments.

                                                                      - *

                                                                      This value is inclusive. Fragments that start before the StartTimestamp - * and continue past it are included in the session. If FragmentSelectorType - * is SERVER_TIMESTAMP, the StartTimestamp must be later than the - * stream head.

                                                                      - */ - StartTimestamp: Date | undefined; - /** *

                                                                      The end of the timestamp range for the requested media.

                                                                      *

                                                                      This value must be within 3 hours of the specified StartTimestamp, and it @@ -50,6 +41,15 @@ export interface ClipTimestampRange { * value and continue past it are included in the session.

                                                                      */ EndTimestamp: Date | undefined; + + /** + *

                                                                      The starting timestamp in the range of timestamps for which to return fragments.

                                                                      + *

                                                                      This value is inclusive. Fragments that start before the StartTimestamp + * and continue past it are included in the session. If FragmentSelectorType + * is SERVER_TIMESTAMP, the StartTimestamp must be later than the + * stream head.

                                                                      + */ + StartTimestamp: Date | undefined; } export namespace ClipTimestampRange { @@ -329,13 +329,6 @@ export namespace DASHTimestampRange { * timestamps.

                                                                      */ export interface DASHFragmentSelector { - /** - *

                                                                      The start and end of the timestamp range for the requested media.

                                                                      - *

                                                                      This value should not be present if PlaybackType is - * LIVE.

                                                                      - */ - TimestampRange?: DASHTimestampRange; - /** *

                                                                      The source of the timestamps for the requested media.

                                                                      *

                                                                      When FragmentSelectorType is set to PRODUCER_TIMESTAMP and @@ -360,6 +353,13 @@ export interface DASHFragmentSelector { *

                                                                      The default is SERVER_TIMESTAMP.

                                                                      */ FragmentSelectorType?: DASHFragmentSelectorType | string; + + /** + *

                                                                      The start and end of the timestamp range for the requested media.

                                                                      + *

                                                                      This value should not be present if PlaybackType is + * LIVE.

                                                                      + */ + TimestampRange?: DASHTimestampRange; } export namespace DASHFragmentSelector { @@ -393,84 +393,6 @@ export interface GetDASHStreamingSessionURLInput { */ StreamARN?: string; - /** - *

                                                                      Per the MPEG-DASH specification, the wall-clock time of fragments in the manifest file - * can be derived using attributes in the manifest itself. However, typically, MPEG-DASH - * compatible media players do not properly handle gaps in the media timeline. Kinesis - * Video Streams adjusts the media timeline in the manifest file to enable playback of - * media with discontinuities. Therefore, the wall-clock time derived from the manifest - * file may be inaccurate. If DisplayFragmentTimestamp is set to ALWAYS, the - * accurate fragment timestamp is added to each S element in the manifest file with the - * attribute name “kvs:ts”. A custom MPEG-DASH media player is necessary to leverage this - * custom attribute.

                                                                      - *

                                                                      The default value is NEVER. When DASHFragmentSelector - * is SERVER_TIMESTAMP, the timestamps will be the server start timestamps. - * Similarly, when DASHFragmentSelector is - * PRODUCER_TIMESTAMP, the timestamps will be the producer start - * timestamps.

                                                                      - */ - DisplayFragmentTimestamp?: DASHDisplayFragmentTimestamp | string; - - /** - *

                                                                      The time range of the requested fragment and the source of the timestamps.

                                                                      - *

                                                                      This parameter is required if PlaybackMode is ON_DEMAND or - * LIVE_REPLAY. This parameter is optional if PlaybackMode is - * LIVE. If PlaybackMode is LIVE, the - * FragmentSelectorType can be set, but the TimestampRange - * should not be set. If PlaybackMode is ON_DEMAND or - * LIVE_REPLAY, both FragmentSelectorType and - * TimestampRange must be set.

                                                                      - */ - DASHFragmentSelector?: DASHFragmentSelector; - - /** - *

                                                                      The name of the stream for which to retrieve the MPEG-DASH manifest URL.

                                                                      - *

                                                                      You must specify either the StreamName or the - * StreamARN.

                                                                      - */ - StreamName?: string; - - /** - *

                                                                      Fragments are identified in the manifest file based on their sequence number in the - * session. If DisplayFragmentNumber is set to ALWAYS, the Kinesis Video - * Streams fragment number is added to each S element in the manifest file with the - * attribute name “kvs:fn”. These fragment numbers can be used for logging or for use with - * other APIs (e.g. GetMedia and GetMediaForFragmentList). A - * custom MPEG-DASH media player is necessary to leverage these this custom - * attribute.

                                                                      - *

                                                                      The default value is NEVER.

                                                                      - */ - DisplayFragmentNumber?: DASHDisplayFragmentNumber | string; - - /** - *

                                                                      The time in seconds until the requested session expires. This value can be between 300 - * (5 minutes) and 43200 (12 hours).

                                                                      - *

                                                                      When a session expires, no new calls to GetDashManifest, - * GetMP4InitFragment, or GetMP4MediaFragment can be made for - * that session.

                                                                      - *

                                                                      The default is 300 (5 minutes).

                                                                      - */ - Expires?: number; - - /** - *

                                                                      The maximum number of fragments that are returned in the MPEG-DASH manifest.

                                                                      - *

                                                                      When the PlaybackMode is LIVE, the most recent fragments are - * returned up to this value. When the PlaybackMode is ON_DEMAND, - * the oldest fragments are returned, up to this maximum number.

                                                                      - *

                                                                      When there are a higher number of fragments available in a live MPEG-DASH manifest, - * video players often buffer content before starting playback. Increasing the buffer size - * increases the playback latency, but it decreases the likelihood that rebuffering will - * occur during playback. We recommend that a live MPEG-DASH manifest have a minimum of 3 - * fragments and a maximum of 10 fragments.

                                                                      - *

                                                                      The default is 5 fragments if PlaybackMode is LIVE or - * LIVE_REPLAY, and 1,000 if PlaybackMode is - * ON_DEMAND.

                                                                      - *

                                                                      The maximum value of 1,000 fragments corresponds to more than 16 minutes of video on - * streams with 1-second fragments, and more than 2 1/2 hours of video on streams with - * 10-second fragments.

                                                                      - */ - MaxManifestFragmentResults?: number; - /** *

                                                                      Whether to retrieve live, live replay, or archived, on-demand data.

                                                                      *

                                                                      Features of the three types of sessions include the following:

                                                                      @@ -535,6 +457,84 @@ export interface GetDASHStreamingSessionURLInput { *

                                                                      The default is LIVE.

                                                                      */ PlaybackMode?: DASHPlaybackMode | string; + + /** + *

                                                                      Fragments are identified in the manifest file based on their sequence number in the + * session. If DisplayFragmentNumber is set to ALWAYS, the Kinesis Video + * Streams fragment number is added to each S element in the manifest file with the + * attribute name “kvs:fn”. These fragment numbers can be used for logging or for use with + * other APIs (e.g. GetMedia and GetMediaForFragmentList). A + * custom MPEG-DASH media player is necessary to leverage these this custom + * attribute.

                                                                      + *

                                                                      The default value is NEVER.

                                                                      + */ + DisplayFragmentNumber?: DASHDisplayFragmentNumber | string; + + /** + *

                                                                      The name of the stream for which to retrieve the MPEG-DASH manifest URL.

                                                                      + *

                                                                      You must specify either the StreamName or the + * StreamARN.

                                                                      + */ + StreamName?: string; + + /** + *

                                                                      The time in seconds until the requested session expires. This value can be between 300 + * (5 minutes) and 43200 (12 hours).

                                                                      + *

                                                                      When a session expires, no new calls to GetDashManifest, + * GetMP4InitFragment, or GetMP4MediaFragment can be made for + * that session.

                                                                      + *

                                                                      The default is 300 (5 minutes).

                                                                      + */ + Expires?: number; + + /** + *

                                                                      The maximum number of fragments that are returned in the MPEG-DASH manifest.

                                                                      + *

                                                                      When the PlaybackMode is LIVE, the most recent fragments are + * returned up to this value. When the PlaybackMode is ON_DEMAND, + * the oldest fragments are returned, up to this maximum number.

                                                                      + *

                                                                      When there are a higher number of fragments available in a live MPEG-DASH manifest, + * video players often buffer content before starting playback. Increasing the buffer size + * increases the playback latency, but it decreases the likelihood that rebuffering will + * occur during playback. We recommend that a live MPEG-DASH manifest have a minimum of 3 + * fragments and a maximum of 10 fragments.

                                                                      + *

                                                                      The default is 5 fragments if PlaybackMode is LIVE or + * LIVE_REPLAY, and 1,000 if PlaybackMode is + * ON_DEMAND.

                                                                      + *

                                                                      The maximum value of 1,000 fragments corresponds to more than 16 minutes of video on + * streams with 1-second fragments, and more than 2 1/2 hours of video on streams with + * 10-second fragments.

                                                                      + */ + MaxManifestFragmentResults?: number; + + /** + *

                                                                      Per the MPEG-DASH specification, the wall-clock time of fragments in the manifest file + * can be derived using attributes in the manifest itself. However, typically, MPEG-DASH + * compatible media players do not properly handle gaps in the media timeline. Kinesis + * Video Streams adjusts the media timeline in the manifest file to enable playback of + * media with discontinuities. Therefore, the wall-clock time derived from the manifest + * file may be inaccurate. If DisplayFragmentTimestamp is set to ALWAYS, the + * accurate fragment timestamp is added to each S element in the manifest file with the + * attribute name “kvs:ts”. A custom MPEG-DASH media player is necessary to leverage this + * custom attribute.

                                                                      + *

                                                                      The default value is NEVER. When DASHFragmentSelector + * is SERVER_TIMESTAMP, the timestamps will be the server start timestamps. + * Similarly, when DASHFragmentSelector is + * PRODUCER_TIMESTAMP, the timestamps will be the producer start + * timestamps.

                                                                      + */ + DisplayFragmentTimestamp?: DASHDisplayFragmentTimestamp | string; + + /** + *

                                                                      The time range of the requested fragment and the source of the timestamps.

                                                                      + *

                                                                      This parameter is required if PlaybackMode is ON_DEMAND or + * LIVE_REPLAY. This parameter is optional if PlaybackMode is + * LIVE. If PlaybackMode is LIVE, the + * FragmentSelectorType can be set, but the TimestampRange + * should not be set. If PlaybackMode is ON_DEMAND or + * LIVE_REPLAY, both FragmentSelectorType and + * TimestampRange must be set.

                                                                      + */ + DASHFragmentSelector?: DASHFragmentSelector; } export namespace GetDASHStreamingSessionURLInput { @@ -589,19 +589,6 @@ export enum HLSFragmentSelectorType { * */ export interface HLSTimestampRange { - /** - *

                                                                      The start of the timestamp range for the requested media.

                                                                      - *

                                                                      If the HLSTimestampRange value is specified, the - * StartTimestamp value is required.

                                                                      - * - *

                                                                      This value is inclusive. Fragments that start before the - * StartTimestamp and continue past it are included in the session. If - * FragmentSelectorType is SERVER_TIMESTAMP, the - * StartTimestamp must be later than the stream head.

                                                                      - *
                                                                      - */ - StartTimestamp?: Date; - /** *

                                                                      The end of the timestamp range for the requested media. This value must be within 3 * hours of the specified StartTimestamp, and it must be later than the @@ -620,6 +607,19 @@ export interface HLSTimestampRange { * */ EndTimestamp?: Date; + + /** + *

                                                                      The start of the timestamp range for the requested media.

                                                                      + *

                                                                      If the HLSTimestampRange value is specified, the + * StartTimestamp value is required.

                                                                      + * + *

                                                                      This value is inclusive. Fragments that start before the + * StartTimestamp and continue past it are included in the session. If + * FragmentSelectorType is SERVER_TIMESTAMP, the + * StartTimestamp must be later than the stream head.

                                                                      + *
                                                                      + */ + StartTimestamp?: Date; } export namespace HLSTimestampRange { @@ -679,95 +679,6 @@ export enum HLSPlaybackMode { } export interface GetHLSStreamingSessionURLInput { - /** - *

                                                                      Specifies when flags marking discontinuities between fragments are added to the media - * playlists.

                                                                      - *

                                                                      Media players typically build a timeline of media content to play, based on the - * timestamps of each fragment. This means that if there is any overlap or gap between - * fragments (as is typical if HLSFragmentSelector is set to - * SERVER_TIMESTAMP), the media player timeline will also have small gaps - * between fragments in some places, and will overwrite frames in other places. Gaps in the - * media player timeline can cause playback to stall and overlaps can cause playback to be - * jittery. When there are discontinuity flags between fragments, the media player is - * expected to reset the timeline, resulting in the next fragment being played immediately - * after the previous fragment.

                                                                      - *

                                                                      The following modes are supported:

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        - * ALWAYS: a discontinuity marker is placed between every fragment - * in the HLS media playlist. It is recommended to use a value of - * ALWAYS if the fragment timestamps are not accurate.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        - * NEVER: no discontinuity markers are placed anywhere. It is - * recommended to use a value of NEVER to ensure the media player - * timeline most accurately maps to the producer timestamps.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        - * ON_DISCONTIUNITY: a discontinuity marker is placed between - * fragments that have a gap or overlap of more than 50 milliseconds. For most - * playback scenarios, it is recommended to use a value of - * ON_DISCONTINUITY so that the media player timeline is only - * reset when there is a significant issue with the media timeline (e.g. a missing - * fragment).

                                                                        - *
                                                                      • - *
                                                                      - *

                                                                      The default is ALWAYS when HLSFragmentSelector is set - * to SERVER_TIMESTAMP, and NEVER when it is set to - * PRODUCER_TIMESTAMP.

                                                                      - */ - DiscontinuityMode?: HLSDiscontinuityMode | string; - - /** - *

                                                                      Specifies which format should be used for packaging the media. Specifying the - * FRAGMENTED_MP4 container format packages the media into MP4 fragments - * (fMP4 or CMAF). This is the recommended packaging because there is minimal packaging - * overhead. The other container format option is MPEG_TS. HLS has supported - * MPEG TS chunks since it was released and is sometimes the only supported packaging on - * older HLS players. MPEG TS typically has a 5-25 percent packaging overhead. This means - * MPEG TS typically requires 5-25 percent more bandwidth and cost than fMP4.

                                                                      - *

                                                                      The default is FRAGMENTED_MP4.

                                                                      - */ - ContainerFormat?: ContainerFormat | string; - - /** - *

                                                                      Specifies when the fragment start timestamps should be included in the HLS media - * playlist. Typically, media players report the playhead position as a time relative to - * the start of the first fragment in the playback session. However, when the start - * timestamps are included in the HLS media playlist, some media players might report the - * current playhead as an absolute time based on the fragment timestamps. This can be - * useful for creating a playback experience that shows viewers the wall-clock time of the - * media.

                                                                      - *

                                                                      The default is NEVER. When HLSFragmentSelector is - * SERVER_TIMESTAMP, the timestamps will be the server start timestamps. - * Similarly, when HLSFragmentSelector is - * PRODUCER_TIMESTAMP, the timestamps will be the producer start timestamps. - *

                                                                      - */ - DisplayFragmentTimestamp?: HLSDisplayFragmentTimestamp | string; - - /** - *

                                                                      The maximum number of fragments that are returned in the HLS media playlists.

                                                                      - *

                                                                      When the PlaybackMode is LIVE, the most recent fragments are - * returned up to this value. When the PlaybackMode is ON_DEMAND, - * the oldest fragments are returned, up to this maximum number.

                                                                      - *

                                                                      When there are a higher number of fragments available in a live HLS media playlist, - * video players often buffer content before starting playback. Increasing the buffer size - * increases the playback latency, but it decreases the likelihood that rebuffering will - * occur during playback. We recommend that a live HLS media playlist have a minimum of 3 - * fragments and a maximum of 10 fragments.

                                                                      - *

                                                                      The default is 5 fragments if PlaybackMode is LIVE or - * LIVE_REPLAY, and 1,000 if PlaybackMode is - * ON_DEMAND.

                                                                      - *

                                                                      The maximum value of 1,000 fragments corresponds to more than 16 minutes of video on - * streams with 1-second fragments, and more than 2 1/2 hours of video on streams with - * 10-second fragments.

                                                                      - */ - MaxMediaPlaylistFragmentResults?: number; - /** *

                                                                      The Amazon Resource Name (ARN) of the stream for which to retrieve the HLS master * playlist URL.

                                                                      @@ -776,13 +687,6 @@ export interface GetHLSStreamingSessionURLInput { */ StreamARN?: string; - /** - *

                                                                      The name of the stream for which to retrieve the HLS master playlist URL.

                                                                      - *

                                                                      You must specify either the StreamName or the - * StreamARN.

                                                                      - */ - StreamName?: string; - /** *

                                                                      Whether to retrieve live, live replay, or archived, on-demand data.

                                                                      *

                                                                      Features of the three types of sessions include the following:

                                                                      @@ -859,6 +763,13 @@ export interface GetHLSStreamingSessionURLInput { */ Expires?: number; + /** + *

                                                                      The name of the stream for which to retrieve the HLS master playlist URL.

                                                                      + *

                                                                      You must specify either the StreamName or the + * StreamARN.

                                                                      + */ + StreamName?: string; + /** *

                                                                      The time range of the requested fragment and the source of the timestamps.

                                                                      *

                                                                      This parameter is required if PlaybackMode is ON_DEMAND or @@ -870,6 +781,95 @@ export interface GetHLSStreamingSessionURLInput { * TimestampRange must be set.

                                                                      */ HLSFragmentSelector?: HLSFragmentSelector; + + /** + *

                                                                      The maximum number of fragments that are returned in the HLS media playlists.

                                                                      + *

                                                                      When the PlaybackMode is LIVE, the most recent fragments are + * returned up to this value. When the PlaybackMode is ON_DEMAND, + * the oldest fragments are returned, up to this maximum number.

                                                                      + *

                                                                      When there are a higher number of fragments available in a live HLS media playlist, + * video players often buffer content before starting playback. Increasing the buffer size + * increases the playback latency, but it decreases the likelihood that rebuffering will + * occur during playback. We recommend that a live HLS media playlist have a minimum of 3 + * fragments and a maximum of 10 fragments.

                                                                      + *

                                                                      The default is 5 fragments if PlaybackMode is LIVE or + * LIVE_REPLAY, and 1,000 if PlaybackMode is + * ON_DEMAND.

                                                                      + *

                                                                      The maximum value of 1,000 fragments corresponds to more than 16 minutes of video on + * streams with 1-second fragments, and more than 2 1/2 hours of video on streams with + * 10-second fragments.

                                                                      + */ + MaxMediaPlaylistFragmentResults?: number; + + /** + *

                                                                      Specifies when flags marking discontinuities between fragments are added to the media + * playlists.

                                                                      + *

                                                                      Media players typically build a timeline of media content to play, based on the + * timestamps of each fragment. This means that if there is any overlap or gap between + * fragments (as is typical if HLSFragmentSelector is set to + * SERVER_TIMESTAMP), the media player timeline will also have small gaps + * between fragments in some places, and will overwrite frames in other places. Gaps in the + * media player timeline can cause playback to stall and overlaps can cause playback to be + * jittery. When there are discontinuity flags between fragments, the media player is + * expected to reset the timeline, resulting in the next fragment being played immediately + * after the previous fragment.

                                                                      + *

                                                                      The following modes are supported:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        + * ALWAYS: a discontinuity marker is placed between every fragment + * in the HLS media playlist. It is recommended to use a value of + * ALWAYS if the fragment timestamps are not accurate.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * NEVER: no discontinuity markers are placed anywhere. It is + * recommended to use a value of NEVER to ensure the media player + * timeline most accurately maps to the producer timestamps.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * ON_DISCONTIUNITY: a discontinuity marker is placed between + * fragments that have a gap or overlap of more than 50 milliseconds. For most + * playback scenarios, it is recommended to use a value of + * ON_DISCONTINUITY so that the media player timeline is only + * reset when there is a significant issue with the media timeline (e.g. a missing + * fragment).

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      The default is ALWAYS when HLSFragmentSelector is set + * to SERVER_TIMESTAMP, and NEVER when it is set to + * PRODUCER_TIMESTAMP.

                                                                      + */ + DiscontinuityMode?: HLSDiscontinuityMode | string; + + /** + *

                                                                      Specifies which format should be used for packaging the media. Specifying the + * FRAGMENTED_MP4 container format packages the media into MP4 fragments + * (fMP4 or CMAF). This is the recommended packaging because there is minimal packaging + * overhead. The other container format option is MPEG_TS. HLS has supported + * MPEG TS chunks since it was released and is sometimes the only supported packaging on + * older HLS players. MPEG TS typically has a 5-25 percent packaging overhead. This means + * MPEG TS typically requires 5-25 percent more bandwidth and cost than fMP4.

                                                                      + *

                                                                      The default is FRAGMENTED_MP4.

                                                                      + */ + ContainerFormat?: ContainerFormat | string; + + /** + *

                                                                      Specifies when the fragment start timestamps should be included in the HLS media + * playlist. Typically, media players report the playhead position as a time relative to + * the start of the first fragment in the playback session. However, when the start + * timestamps are included in the HLS media playlist, some media players might report the + * current playhead as an absolute time based on the fragment timestamps. This can be + * useful for creating a playback experience that shows viewers the wall-clock time of the + * media.

                                                                      + *

                                                                      The default is NEVER. When HLSFragmentSelector is + * SERVER_TIMESTAMP, the timestamps will be the server start timestamps. + * Similarly, when HLSFragmentSelector is + * PRODUCER_TIMESTAMP, the timestamps will be the producer start timestamps. + *

                                                                      + */ + DisplayFragmentTimestamp?: HLSDisplayFragmentTimestamp | string; } export namespace GetHLSStreamingSessionURLInput { @@ -893,16 +893,16 @@ export namespace GetHLSStreamingSessionURLOutput { } export interface GetMediaForFragmentListInput { - /** - *

                                                                      The name of the stream from which to retrieve fragment media.

                                                                      - */ - StreamName: string | undefined; - /** *

                                                                      A list of the numbers of fragments for which to retrieve media. You retrieve these * values with ListFragments.

                                                                      */ Fragments: string[] | undefined; + + /** + *

                                                                      The name of the stream from which to retrieve fragment media.

                                                                      + */ + StreamName: string | undefined; } export namespace GetMediaForFragmentListInput { @@ -912,11 +912,6 @@ export namespace GetMediaForFragmentListInput { } export interface GetMediaForFragmentListOutput { - /** - *

                                                                      The content type of the requested media.

                                                                      - */ - ContentType?: string; - /** *

                                                                      The payload that Kinesis Video Streams returns is a sequence of chunks from the * specified stream. For information about the chunks, see PutMedia. The chunks that @@ -953,6 +948,11 @@ export interface GetMediaForFragmentListOutput { *

                                                                    */ Payload?: Readable | ReadableStream | Blob; + + /** + *

                                                                    The content type of the requested media.

                                                                    + */ + ContentType?: string; } export namespace GetMediaForFragmentListOutput { @@ -971,15 +971,15 @@ export enum FragmentSelectorType { */ export interface TimestampRange { /** - *

                                                                    The starting timestamp in the range of timestamps for which to return - * fragments.

                                                                    + *

                                                                    The ending timestamp in the range of timestamps for which to return fragments.

                                                                    */ - StartTimestamp: Date | undefined; + EndTimestamp: Date | undefined; /** - *

                                                                    The ending timestamp in the range of timestamps for which to return fragments.

                                                                    + *

                                                                    The starting timestamp in the range of timestamps for which to return + * fragments.

                                                                    */ - EndTimestamp: Date | undefined; + StartTimestamp: Date | undefined; } export namespace TimestampRange { @@ -1030,9 +1030,10 @@ export namespace FragmentSelector { export interface ListFragmentsInput { /** - *

                                                                    The name of the stream from which to retrieve a fragment list.

                                                                    + *

                                                                    Describes the timestamp range and timestamp origin for the range of fragments to + * return.

                                                                    */ - StreamName: string | undefined; + FragmentSelector?: FragmentSelector; /** *

                                                                    The total number of fragments to return. If the total number of fragments available is @@ -1048,10 +1049,9 @@ export interface ListFragmentsInput { NextToken?: string; /** - *

                                                                    Describes the timestamp range and timestamp origin for the range of fragments to - * return.

                                                                    + *

                                                                    The name of the stream from which to retrieve a fragment list.

                                                                    */ - FragmentSelector?: FragmentSelector; + StreamName: string | undefined; } export namespace ListFragmentsInput { @@ -1070,26 +1070,26 @@ export interface Fragment { ServerTimestamp?: Date; /** - *

                                                                    The playback duration or other time value associated with the fragment.

                                                                    + *

                                                                    The unique identifier of the fragment. This value monotonically increases based on the + * ingestion order.

                                                                    */ - FragmentLengthInMilliseconds?: number; + FragmentNumber?: string; /** - *

                                                                    The total fragment size, including information about the fragment and contained media - * data.

                                                                    + *

                                                                    The timestamp from the producer corresponding to the fragment.

                                                                    */ - FragmentSizeInBytes?: number; + ProducerTimestamp?: Date; /** - *

                                                                    The unique identifier of the fragment. This value monotonically increases based on the - * ingestion order.

                                                                    + *

                                                                    The playback duration or other time value associated with the fragment.

                                                                    */ - FragmentNumber?: string; + FragmentLengthInMilliseconds?: number; /** - *

                                                                    The timestamp from the producer corresponding to the fragment.

                                                                    + *

                                                                    The total fragment size, including information about the fragment and contained media + * data.

                                                                    */ - ProducerTimestamp?: Date; + FragmentSizeInBytes?: number; } export namespace Fragment { diff --git a/clients/client-kinesis-video-media/models/models_0.ts b/clients/client-kinesis-video-media/models/models_0.ts index c93dc119f226..9a88c33d5637 100644 --- a/clients/client-kinesis-video-media/models/models_0.ts +++ b/clients/client-kinesis-video-media/models/models_0.ts @@ -65,26 +65,6 @@ export enum StartSelectorType { *
                                                                  */ export interface StartSelector { - /** - *

                                                                  Continuation token that Kinesis Video Streams returned in the previous - * GetMedia response. The GetMedia API then starts with the chunk - * identified by the continuation token.

                                                                  - */ - ContinuationToken?: string; - - /** - *

                                                                  A timestamp value. This value is required if you choose the PRODUCER_TIMESTAMP or the - * SERVER_TIMESTAMP as the startSelectorType. The GetMedia API then - * starts with the chunk containing the fragment that has the specified timestamp.

                                                                  - */ - StartTimestamp?: Date; - - /** - *

                                                                  Specifies the fragment number from where you want the GetMedia API to - * start returning the fragments.

                                                                  - */ - AfterFragmentNumber?: string; - /** *

                                                                  Identifies the fragment on the Kinesis video stream where you want to start getting the * data from.

                                                                  @@ -115,6 +95,26 @@ export interface StartSelector { *
                                                                  */ StartSelectorType: StartSelectorType | string | undefined; + + /** + *

                                                                  Continuation token that Kinesis Video Streams returned in the previous + * GetMedia response. The GetMedia API then starts with the chunk + * identified by the continuation token.

                                                                  + */ + ContinuationToken?: string; + + /** + *

                                                                  A timestamp value. This value is required if you choose the PRODUCER_TIMESTAMP or the + * SERVER_TIMESTAMP as the startSelectorType. The GetMedia API then + * starts with the chunk containing the fragment that has the specified timestamp.

                                                                  + */ + StartTimestamp?: Date; + + /** + *

                                                                  Specifies the fragment number from where you want the GetMedia API to + * start returning the fragments.

                                                                  + */ + AfterFragmentNumber?: string; } export namespace StartSelector { @@ -125,10 +125,9 @@ export namespace StartSelector { export interface GetMediaInput { /** - *

                                                                  The ARN of the stream from where you want to get the media content. If you don't - * specify the streamARN, you must specify the streamName.

                                                                  + *

                                                                  Identifies the starting chunk to get from the specified stream.

                                                                  */ - StreamARN?: string; + StartSelector: StartSelector | undefined; /** *

                                                                  The Kinesis video stream name from where you want to get the media content. If you @@ -138,9 +137,10 @@ export interface GetMediaInput { StreamName?: string; /** - *

                                                                  Identifies the starting chunk to get from the specified stream.

                                                                  + *

                                                                  The ARN of the stream from where you want to get the media content. If you don't + * specify the streamARN, you must specify the streamName.

                                                                  */ - StartSelector: StartSelector | undefined; + StreamARN?: string; } export namespace GetMediaInput { @@ -150,11 +150,6 @@ export namespace GetMediaInput { } export interface GetMediaOutput { - /** - *

                                                                  The content type of the requested media.

                                                                  - */ - ContentType?: string; - /** *

                                                                  The payload Kinesis Video Streams returns is a sequence of chunks from the specified * stream. For information about the chunks, see . The @@ -226,6 +221,11 @@ export interface GetMediaOutput { *

                                                                */ Payload?: Readable | ReadableStream | Blob; + + /** + *

                                                                The content type of the requested media.

                                                                + */ + ContentType?: string; } export namespace GetMediaOutput { diff --git a/clients/client-kinesis-video-signaling/models/models_0.ts b/clients/client-kinesis-video-signaling/models/models_0.ts index 4905c219ca88..723ad00c7476 100644 --- a/clients/client-kinesis-video-signaling/models/models_0.ts +++ b/clients/client-kinesis-video-signaling/models/models_0.ts @@ -23,10 +23,9 @@ export enum Service { export interface GetIceServerConfigRequest { /** - *

                                                                Specifies the desired service. Currently, TURN is the only valid - * value.

                                                                + *

                                                                An optional user ID to be associated with the credentials.

                                                                */ - Service?: Service | string; + Username?: string; /** *

                                                                Unique identifier for the viewer. Must be unique within the signaling channel.

                                                                @@ -34,9 +33,10 @@ export interface GetIceServerConfigRequest { ClientId?: string; /** - *

                                                                An optional user ID to be associated with the credentials.

                                                                + *

                                                                Specifies the desired service. Currently, TURN is the only valid + * value.

                                                                */ - Username?: string; + Service?: Service | string; /** *

                                                                The ARN of the signaling channel to be used for the peer-to-peer connection between @@ -61,12 +61,6 @@ export interface IceServer { */ Ttl?: number; - /** - *

                                                                An array of URIs, in the form specified in the I-D.petithuguenin-behave-turn-uris spec. These URIs provide the different - * addresses and/or protocols that can be used to reach the TURN server.

                                                                - */ - Uris?: string[]; - /** *

                                                                A password to login to the ICE server.

                                                                */ @@ -76,6 +70,12 @@ export interface IceServer { *

                                                                A username to login to the ICE server.

                                                                */ Username?: string; + + /** + *

                                                                An array of URIs, in the form specified in the I-D.petithuguenin-behave-turn-uris spec. These URIs provide the different + * addresses and/or protocols that can be used to reach the TURN server.

                                                                + */ + Uris?: string[]; } export namespace IceServer { diff --git a/clients/client-kinesis-video/models/models_0.ts b/clients/client-kinesis-video/models/models_0.ts index c9ca5e0119b2..72c0c35e8386 100644 --- a/clients/client-kinesis-video/models/models_0.ts +++ b/clients/client-kinesis-video/models/models_0.ts @@ -91,19 +91,14 @@ export namespace SingleMasterConfiguration { */ export interface ChannelInfo { /** - *

                                                                Current status of the signaling channel.

                                                                - */ - ChannelStatus?: Status | string; - - /** - *

                                                                The Amazon Resource Name (ARN) of the signaling channel.

                                                                + *

                                                                The current version of the signaling channel.

                                                                */ - ChannelARN?: string; + Version?: string; /** - *

                                                                The current version of the signaling channel.

                                                                + *

                                                                The type of the signaling channel.

                                                                */ - Version?: string; + ChannelType?: ChannelType | string; /** *

                                                                The time at which the signaling channel was created.

                                                                @@ -122,9 +117,14 @@ export interface ChannelInfo { SingleMasterConfiguration?: SingleMasterConfiguration; /** - *

                                                                The type of the signaling channel.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the signaling channel.

                                                                */ - ChannelType?: ChannelType | string; + ChannelARN?: string; + + /** + *

                                                                Current status of the signaling channel.

                                                                + */ + ChannelStatus?: Status | string; } export namespace ChannelInfo { @@ -144,16 +144,16 @@ export enum ComparisonOperator { * ChannelNameCondition.

                                                                */ export interface ChannelNameCondition { - /** - *

                                                                A value to compare.

                                                                - */ - ComparisonValue?: string; - /** *

                                                                A comparison operator. Currently, you can only specify the BEGINS_WITH * operator, which finds signaling channels whose names begin with a given prefix.

                                                                */ ComparisonOperator?: ComparisonOperator | string; + + /** + *

                                                                A value to compare.

                                                                + */ + ComparisonValue?: string; } export namespace ChannelNameCondition { @@ -193,14 +193,14 @@ export namespace ClientLimitExceededException { */ export interface Tag { /** - *

                                                                The value of the tag that is associated with the specified signaling channel.

                                                                + *

                                                                The key of the tag that is associated with the specified signaling channel.

                                                                */ - Value: string | undefined; + Key: string | undefined; /** - *

                                                                The key of the tag that is associated with the specified signaling channel.

                                                                + *

                                                                The value of the tag that is associated with the specified signaling channel.

                                                                */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -211,15 +211,15 @@ export namespace Tag { export interface CreateSignalingChannelInput { /** - *

                                                                A name for the signaling channel that you are creating. It must be unique for each AWS - * account and AWS Region.

                                                                + *

                                                                A set of tags (key-value pairs) that you want to associate with this channel.

                                                                */ - ChannelName: string | undefined; + Tags?: Tag[]; /** - *

                                                                A set of tags (key-value pairs) that you want to associate with this channel.

                                                                + *

                                                                A name for the signaling channel that you are creating. It must be unique for each AWS + * account and AWS Region.

                                                                */ - Tags?: Tag[]; + ChannelName: string | undefined; /** *

                                                                A structure containing the configuration for the SINGLE_MASTER channel @@ -300,6 +300,32 @@ export namespace TagsPerResourceExceededLimitException { } export interface CreateStreamInput { + /** + *

                                                                A list of tags to associate with the specified stream. Each tag is a key-value pair + * (the value is optional).

                                                                + */ + Tags?: { [key: string]: string }; + + /** + *

                                                                The name of the device that is writing to the stream.

                                                                + * + *

                                                                In the current implementation, Kinesis Video Streams does not use this + * name.

                                                                + *
                                                                + */ + DeviceName?: string; + + /** + *

                                                                The number of hours that you want to retain the data 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.

                                                                + *

                                                                When the DataRetentionInHours value is 0, consumers can still consume + * the fragments that remain in the service host buffer, which has a retention time limit + * of 5 minutes and a retention memory limit of 200 MB. Fragments are removed from the + * buffer when either limit is reached.

                                                                + */ + DataRetentionInHours?: number; + /** *

                                                                The media type of the stream. Consumers of the stream can use this information when * processing the stream. For more information about media types, see Media @@ -327,32 +353,6 @@ export interface CreateStreamInput { *

                                                                For more information, see DescribeKey.

                                                                */ KmsKeyId?: string; - - /** - *

                                                                The number of hours that you want to retain the data 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.

                                                                - *

                                                                When the DataRetentionInHours value is 0, consumers can still consume - * the fragments that remain in the service host buffer, which has a retention time limit - * of 5 minutes and a retention memory limit of 200 MB. Fragments are removed from the - * buffer when either limit is reached.

                                                                - */ - DataRetentionInHours?: number; - - /** - *

                                                                The name of the device that is writing to the stream.

                                                                - * - *

                                                                In the current implementation, Kinesis Video Streams does not use this - * name.

                                                                - *
                                                                - */ - DeviceName?: string; - - /** - *

                                                                A list of tags to associate with the specified stream. Each tag is a key-value pair - * (the value is optional).

                                                                - */ - Tags?: { [key: string]: string }; } export namespace CreateStreamInput { @@ -406,18 +406,18 @@ export namespace InvalidDeviceException { } export interface DeleteSignalingChannelInput { - /** - *

                                                                The Amazon Resource Name (ARN) of the signaling channel that you want to - * delete.

                                                                - */ - ChannelARN: string | undefined; - /** *

                                                                The current version of the signaling channel that you want to delete. You can obtain * the current version by invoking the DescribeSignalingChannel or * ListSignalingChannels API operations.

                                                                */ CurrentVersion?: string; + + /** + *

                                                                The Amazon Resource Name (ARN) of the signaling channel that you want to + * delete.

                                                                + */ + ChannelARN: string | undefined; } export namespace DeleteSignalingChannelInput { @@ -513,14 +513,14 @@ export namespace NotAuthorizedException { export interface DescribeSignalingChannelInput { /** - *

                                                                The ARN of the signaling channel that you want to describe.

                                                                + *

                                                                The name of the signaling channel that you want to describe.

                                                                */ - ChannelARN?: string; + ChannelName?: string; /** - *

                                                                The name of the signaling channel that you want to describe.

                                                                + *

                                                                The ARN of the signaling channel that you want to describe.

                                                                */ - ChannelName?: string; + ChannelARN?: string; } export namespace DescribeSignalingChannelInput { @@ -566,9 +566,19 @@ export namespace DescribeStreamInput { */ export interface StreamInfo { /** - *

                                                                The MediaType of the stream.

                                                                + *

                                                                The name of the device that is associated with the stream.

                                                                */ - MediaType?: string; + DeviceName?: string; + + /** + *

                                                                The Amazon Resource Name (ARN) of the stream.

                                                                + */ + StreamARN?: string; + + /** + *

                                                                How long the stream retains data, in hours.

                                                                + */ + DataRetentionInHours?: number; /** *

                                                                A time stamp that indicates when the stream was created.

                                                                @@ -592,24 +602,14 @@ export interface StreamInfo { Version?: string; /** - *

                                                                The status of the stream.

                                                                - */ - Status?: Status | string; - - /** - *

                                                                The Amazon Resource Name (ARN) of the stream.

                                                                - */ - StreamARN?: string; - - /** - *

                                                                The name of the device that is associated with the stream.

                                                                + *

                                                                The MediaType of the stream.

                                                                */ - DeviceName?: string; + MediaType?: string; /** - *

                                                                How long the stream retains data, in hours.

                                                                + *

                                                                The status of the stream.

                                                                */ - DataRetentionInHours?: number; + Status?: Status | string; } export namespace StreamInfo { @@ -633,11 +633,9 @@ export namespace DescribeStreamOutput { export interface GetDataEndpointInput { /** - *

                                                                The Amazon Resource Name (ARN) of the stream that you want to get the endpoint for. - * You must specify either this parameter or a StreamName in the request. - *

                                                                + *

                                                                The name of the API action for which to get an endpoint.

                                                                */ - StreamARN?: string; + APIName: APIName | string | undefined; /** *

                                                                The name of the stream that you want to get the endpoint for. You must specify @@ -646,9 +644,11 @@ export interface GetDataEndpointInput { StreamName?: string; /** - *

                                                                The name of the API action for which to get an endpoint.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the stream that you want to get the endpoint for. + * You must specify either this parameter or a StreamName in the request. + *

                                                                */ - APIName: APIName | string | undefined; + StreamARN?: string; } export namespace GetDataEndpointInput { @@ -676,14 +676,6 @@ export namespace GetDataEndpointOutput { * channel type.

                                                                */ export interface SingleMasterChannelEndpointConfiguration { - /** - *

                                                                This property is used to determine the nature of communication over this - * SINGLE_MASTER signaling channel. If WSS is specified, this - * API returns a websocket endpoint. If HTTPS is specified, this API returns - * an HTTPS endpoint.

                                                                - */ - Protocols?: (ChannelProtocol | string)[]; - /** *

                                                                This property is used to determine messaging permissions in this * SINGLE_MASTER signaling channel. If MASTER is specified, @@ -693,6 +685,14 @@ export interface SingleMasterChannelEndpointConfiguration { * another MASTER client on this signaling channel.

                                                                */ Role?: ChannelRole | string; + + /** + *

                                                                This property is used to determine the nature of communication over this + * SINGLE_MASTER signaling channel. If WSS is specified, this + * API returns a websocket endpoint. If HTTPS is specified, this API returns + * an HTTPS endpoint.

                                                                + */ + Protocols?: (ChannelProtocol | string)[]; } export namespace SingleMasterChannelEndpointConfiguration { @@ -702,17 +702,17 @@ export namespace SingleMasterChannelEndpointConfiguration { } export interface GetSignalingChannelEndpointInput { - /** - *

                                                                A structure containing the endpoint configuration for the SINGLE_MASTER - * channel type.

                                                                - */ - SingleMasterChannelEndpointConfiguration?: SingleMasterChannelEndpointConfiguration; - /** *

                                                                The Amazon Resource Name (ARN) of the signalling channel for which you want to get an * endpoint.

                                                                */ ChannelARN: string | undefined; + + /** + *

                                                                A structure containing the endpoint configuration for the SINGLE_MASTER + * channel type.

                                                                + */ + SingleMasterChannelEndpointConfiguration?: SingleMasterChannelEndpointConfiguration; } export namespace GetSignalingChannelEndpointInput { @@ -775,9 +775,9 @@ export namespace InvalidResourceFormatException { export interface ListSignalingChannelsInput { /** - *

                                                                Optional: Returns only the channels that satisfy a specific condition.

                                                                + *

                                                                The maximum number of channels to return in the response. The default is 500.

                                                                */ - ChannelNameCondition?: ChannelNameCondition; + MaxResults?: number; /** *

                                                                If you specify this parameter, when the result of a ListSignalingChannels @@ -787,9 +787,9 @@ export interface ListSignalingChannelsInput { NextToken?: string; /** - *

                                                                The maximum number of channels to return in the response. The default is 500.

                                                                + *

                                                                Optional: Returns only the channels that satisfy a specific condition.

                                                                */ - MaxResults?: number; + ChannelNameCondition?: ChannelNameCondition; } export namespace ListSignalingChannelsInput { @@ -843,12 +843,6 @@ export namespace StreamNameCondition { } export interface ListStreamsInput { - /** - *

                                                                The maximum number of streams to return in the response. The default is - * 10,000.

                                                                - */ - MaxResults?: number; - /** *

                                                                If you specify this parameter, when the result of a ListStreams * operation is truncated, the call returns the NextToken in the response. To @@ -861,6 +855,12 @@ export interface ListStreamsInput { * can specify only the prefix of a stream name as a condition.

                                                                */ StreamNameCondition?: StreamNameCondition; + + /** + *

                                                                The maximum number of streams to return in the response. The default is + * 10,000.

                                                                + */ + MaxResults?: number; } export namespace ListStreamsInput { @@ -871,15 +871,15 @@ export namespace ListStreamsInput { export interface ListStreamsOutput { /** - *

                                                                If the response is truncated, the call returns this element with a token. To get - * the next batch of streams, use this token in your next request.

                                                                + *

                                                                An array of StreamInfo objects.

                                                                */ - NextToken?: string; + StreamInfoList?: StreamInfo[]; /** - *

                                                                An array of StreamInfo objects.

                                                                + *

                                                                If the response is truncated, the call returns this element with a token. To get + * the next batch of streams, use this token in your next request.

                                                                */ - StreamInfoList?: StreamInfo[]; + NextToken?: string; } export namespace ListStreamsOutput { @@ -910,17 +910,17 @@ export namespace ListTagsForResourceInput { } export interface ListTagsForResourceOutput { - /** - *

                                                                A map of tag keys and values associated with the specified signaling channel.

                                                                - */ - Tags?: { [key: string]: string }; - /** *

                                                                If you specify this parameter and the result of a ListTagsForResource * call is truncated, the response includes a token that you can use in the next request to * fetch the next set of tags.

                                                                */ NextToken?: string; + + /** + *

                                                                A map of tag keys and values associated with the specified signaling channel.

                                                                + */ + Tags?: { [key: string]: string }; } export namespace ListTagsForResourceOutput { @@ -931,10 +931,11 @@ export namespace ListTagsForResourceOutput { export interface ListTagsForStreamInput { /** - *

                                                                The Amazon Resource Name (ARN) of the stream that you want to list tags - * for.

                                                                + *

                                                                If you specify this parameter and the result of a ListTagsForStream + * call is truncated, the response includes a token that you can use in the next request to + * fetch the next batch of tags.

                                                                */ - StreamARN?: string; + NextToken?: string; /** *

                                                                The name of the stream that you want to list tags for.

                                                                @@ -942,11 +943,10 @@ export interface ListTagsForStreamInput { StreamName?: string; /** - *

                                                                If you specify this parameter and the result of a ListTagsForStream - * call is truncated, the response includes a token that you can use in the next request to - * fetch the next batch of tags.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the stream that you want to list tags + * for.

                                                                */ - NextToken?: string; + StreamARN?: string; } export namespace ListTagsForStreamInput { @@ -1005,10 +1005,10 @@ export namespace TagResourceOutput { export interface TagStreamInput { /** - *

                                                                The Amazon Resource Name (ARN) of the resource that you want to add the tag or tags - * to.

                                                                + *

                                                                A list of tags to associate with the specified stream. Each tag is a key-value pair + * (the value is optional).

                                                                */ - StreamARN?: string; + Tags: { [key: string]: string } | undefined; /** *

                                                                The name of the stream that you want to add the tag or tags to.

                                                                @@ -1016,10 +1016,10 @@ export interface TagStreamInput { StreamName?: string; /** - *

                                                                A list of tags to associate with the specified stream. Each tag is a key-value pair - * (the value is optional).

                                                                + *

                                                                The Amazon Resource Name (ARN) of the resource that you want to add the tag or tags + * to.

                                                                */ - Tags: { [key: string]: string } | undefined; + StreamARN?: string; } export namespace TagStreamInput { @@ -1037,16 +1037,16 @@ export namespace TagStreamOutput { } export interface UntagResourceInput { - /** - *

                                                                A list of the keys of the tags that you want to remove.

                                                                - */ - TagKeyList: string[] | undefined; - /** *

                                                                The Amazon Resource Name (ARN) of the signaling channel from which you want to remove * tags.

                                                                */ ResourceARN: string | undefined; + + /** + *

                                                                A list of the keys of the tags that you want to remove.

                                                                + */ + TagKeyList: string[] | undefined; } export namespace UntagResourceInput { @@ -1064,6 +1064,11 @@ export namespace UntagResourceOutput { } export interface UntagStreamInput { + /** + *

                                                                The name of the stream that you want to remove tags from.

                                                                + */ + StreamName?: string; + /** *

                                                                The Amazon Resource Name (ARN) of the stream that you want to remove tags * from.

                                                                @@ -1074,11 +1079,6 @@ export interface UntagStreamInput { *

                                                                A list of the keys of the tags that you want to remove.

                                                                */ TagKeyList: string[] | undefined; - - /** - *

                                                                The name of the stream that you want to remove tags from.

                                                                - */ - StreamName?: string; } export namespace UntagStreamInput { @@ -1101,6 +1101,17 @@ export enum UpdateDataRetentionOperation { } export interface UpdateDataRetentionInput { + /** + *

                                                                The Amazon Resource Name (ARN) of the stream whose retention period you want to + * change.

                                                                + */ + StreamARN?: string; + + /** + *

                                                                Indicates whether you want to increase or decrease the retention period.

                                                                + */ + Operation: UpdateDataRetentionOperation | string | undefined; + /** *

                                                                The name of the stream whose retention period you want to change.

                                                                */ @@ -1118,17 +1129,6 @@ export interface UpdateDataRetentionInput { * The maximum value for this parameter is 87600 (ten years).

                                                                */ DataRetentionChangeInHours: number | undefined; - - /** - *

                                                                Indicates whether you want to increase or decrease the retention period.

                                                                - */ - Operation: UpdateDataRetentionOperation | string | undefined; - - /** - *

                                                                The Amazon Resource Name (ARN) of the stream whose retention period you want to - * change.

                                                                - */ - StreamARN?: string; } export namespace UpdateDataRetentionInput { @@ -1147,10 +1147,9 @@ export namespace UpdateDataRetentionOutput { export interface UpdateSignalingChannelInput { /** - *

                                                                The structure containing the configuration for the SINGLE_MASTER type of - * the signaling channel that you want to update.

                                                                + *

                                                                The current version of the signaling channel that you want to update.

                                                                */ - SingleMasterConfiguration?: SingleMasterConfiguration; + CurrentVersion: string | undefined; /** *

                                                                The Amazon Resource Name (ARN) of the signaling channel that you want to @@ -1159,9 +1158,10 @@ export interface UpdateSignalingChannelInput { ChannelARN: string | undefined; /** - *

                                                                The current version of the signaling channel that you want to update.

                                                                + *

                                                                The structure containing the configuration for the SINGLE_MASTER type of + * the signaling channel that you want to update.

                                                                */ - CurrentVersion: string | undefined; + SingleMasterConfiguration?: SingleMasterConfiguration; } export namespace UpdateSignalingChannelInput { @@ -1179,11 +1179,6 @@ export namespace UpdateSignalingChannelOutput { } export interface UpdateStreamInput { - /** - *

                                                                The ARN of the stream whose metadata you want to update.

                                                                - */ - StreamARN?: string; - /** *

                                                                The version of the stream whose metadata you want to update.

                                                                */ @@ -1216,6 +1211,11 @@ export interface UpdateStreamInput { * account and region.

                                                                */ StreamName?: string; + + /** + *

                                                                The ARN of the stream whose metadata you want to update.

                                                                + */ + StreamARN?: string; } export namespace UpdateStreamInput { diff --git a/clients/client-kinesis/Kinesis.ts b/clients/client-kinesis/Kinesis.ts index b00dfa25c595..4ee8317164c5 100644 --- a/clients/client-kinesis/Kinesis.ts +++ b/clients/client-kinesis/Kinesis.ts @@ -124,8 +124,8 @@ export class Kinesis extends KinesisClient { * this operation, you can specify up to 10 tags. If you want to add more than 10 tags to * your stream, you can invoke this operation multiple times. In total, each stream can * have up to 50 tags.

                                                                - *

                                                                If tags have already been assigned to the stream, AddTagsToStream overwrites - * any existing tags that correspond to the specified tag keys.

                                                                + *

                                                                If tags have already been assigned to the stream, AddTagsToStream + * overwrites any existing tags that correspond to the specified tag keys.

                                                                *

                                                                * AddTagsToStream has a limit of five transactions per second per * account.

                                                                @@ -166,8 +166,8 @@ export class Kinesis extends KinesisClient { * identified groups of data records in a stream.

                                                                *

                                                                You specify and control the number of shards that a stream is composed of. Each * shard can support reads up to five transactions per second, up to a maximum data read - * total of 2 MB per second. Each shard can support writes up to 1,000 records per second, - * up to a maximum data write total of 1 MB per second. If the amount of data input + * total of 2 MiB per second. Each shard can support writes up to 1,000 records per second, + * up to a maximum data write total of 1 MiB per second. If the amount of data input * increases or decreases, you can add or remove shards.

                                                                *

                                                                The stream name identifies the stream. The name is scoped to the AWS account used * by the application. It is also scoped by AWS Region. That is, two streams in two @@ -183,19 +183,21 @@ export class Kinesis extends KinesisClient { * CreateStream request when you try to do one of the following:

                                                                *
                                                                  *
                                                                • - *

                                                                  Have more than five streams in the CREATING state at any point in - * time.

                                                                  + * + *

                                                                  Have more than five streams in the CREATING state at any point + * in time.

                                                                  *
                                                                • *
                                                                • - *

                                                                  Create more shards than are authorized for your account.

                                                                  + * + *

                                                                  Create more shards than are authorized for your account.

                                                                  *
                                                                • *
                                                                *

                                                                For the default shard limit for an AWS account, see Amazon Kinesis Data Streams * Limits in the Amazon Kinesis Data Streams Developer * Guide. To increase this limit, contact AWS * Support.

                                                                - *

                                                                You can use DescribeStream to check the stream status, which is returned in - * StreamStatus.

                                                                + *

                                                                You can use DescribeStream to check the stream status, which is + * returned in StreamStatus.

                                                                *

                                                                * CreateStream has a limit of five transactions per second per * account.

                                                                @@ -230,7 +232,9 @@ export class Kinesis extends KinesisClient { *

                                                                Decreases the Kinesis data stream's retention period, which is the length of time * data records are accessible after they are added to the stream. The minimum value of a * stream's retention period is 24 hours.

                                                                - *

                                                                This operation may result in lost data. For example, if the stream's retention period is 48 hours and is decreased to 24 hours, any data already in the stream that is older than 24 hours is inaccessible.

                                                                + *

                                                                This operation may result in lost data. For example, if the stream's retention + * period is 48 hours and is decreased to 24 hours, any data already in the stream that is + * older than 24 hours is inaccessible.

                                                                */ public decreaseStreamRetentionPeriod( args: DecreaseStreamRetentionPeriodCommandInput, @@ -274,9 +278,10 @@ export class Kinesis extends KinesisClient { * Note: Kinesis Data Streams might continue to accept * data read and write operations, such as PutRecord, PutRecords, and GetRecords, on a stream in the * DELETING state until the stream deletion is complete.

                                                                - *

                                                                When you delete a stream, any shards in that stream are also deleted, and any tags are dissociated from the stream.

                                                                - *

                                                                You can use the DescribeStream operation to check the state of the stream, which - * is returned in StreamStatus.

                                                                + *

                                                                When you delete a stream, any shards in that stream are also deleted, and any tags + * are dissociated from the stream.

                                                                + *

                                                                You can use the DescribeStream operation to check the state of + * the stream, which is returned in StreamStatus.

                                                                *

                                                                * DeleteStream has a limit of five transactions per second per * account.

                                                                @@ -315,7 +320,7 @@ export class Kinesis extends KinesisClient { * ListStreamConsumers operation to get a list of the descriptions of * all the consumers that are currently registered with a given data stream. The * description of a consumer contains its name and ARN.

                                                                - *

                                                                This operation has a limit of five transactions per second per account.

                                                                + *

                                                                This operation has a limit of five transactions per second per stream.

                                                                */ public deregisterStreamConsumer( args: DeregisterStreamConsumerCommandInput, @@ -348,7 +353,8 @@ export class Kinesis extends KinesisClient { /** *

                                                                Describes the shard limits and usage for the account.

                                                                - *

                                                                If you update your account limits, the old limits might be returned for a few minutes.

                                                                + *

                                                                If you update your account limits, the old limits might be returned for a few + * minutes.

                                                                *

                                                                This operation has a limit of one transaction per second per account.

                                                                */ public describeLimits( @@ -383,19 +389,20 @@ export class Kinesis extends KinesisClient { /** *

                                                                Describes the specified Kinesis data stream.

                                                                * - *

                                                                The information returned includes the stream name, Amazon Resource Name (ARN), creation - * time, enhanced metric configuration, and shard map. The shard map is an array of shard objects. - * For each shard object, there is the hash key and sequence number ranges that the shard spans, - * and the IDs of any earlier shards that played in a role in creating the shard. Every record - * ingested in the stream is identified by a sequence number, which is assigned when the record - * is put into the stream.

                                                                + *

                                                                The information returned includes the stream name, Amazon Resource Name (ARN), + * creation time, enhanced metric configuration, and shard map. The shard map is an array + * of shard objects. For each shard object, there is the hash key and sequence number + * ranges that the shard spans, and the IDs of any earlier shards that played in a role in + * creating the shard. Every record ingested in the stream is identified by a sequence + * number, which is assigned when the record is put into the stream.

                                                                * *

                                                                You can limit the number of shards returned by each call. For more information, see - * Retrieving + * Retrieving * Shards from a Stream in the Amazon Kinesis Data Streams Developer - * Guide.

                                                                - *

                                                                There are no guarantees about the chronological order shards returned. To process shards in chronological - * order, use the ID of the parent shard to track the lineage to the oldest shard.

                                                                + * Guide
                                                                .

                                                                + *

                                                                There are no guarantees about the chronological order shards returned. To process + * shards in chronological order, use the ID of the parent shard to track the lineage to + * the oldest shard.

                                                                *

                                                                This operation has a limit of 10 transactions per second per account.

                                                                */ public describeStream( @@ -435,7 +442,7 @@ export class Kinesis extends KinesisClient { * that you want to describe, you can use the ListStreamConsumers * operation to get a list of the descriptions of all the consumers that are currently * registered with a given data stream.

                                                                - *

                                                                This operation has a limit of 20 transactions per second per account.

                                                                + *

                                                                This operation has a limit of 20 transactions per second per stream.

                                                                */ public describeStreamConsumer( args: DescribeStreamConsumerCommandInput, @@ -469,8 +476,12 @@ export class Kinesis extends KinesisClient { /** *

                                                                Provides a summarized description of the specified Kinesis data stream without the * shard list.

                                                                - *

                                                                The information returned includes the stream name, Amazon Resource Name (ARN), status, record retention period, approximate creation - * time, monitoring, encryption details, and open shard count.

                                                                + *

                                                                The information returned includes the stream name, Amazon Resource Name (ARN), + * status, record retention period, approximate creation time, monitoring, encryption + * details, and open shard count.

                                                                + *

                                                                + * DescribeStreamSummary has a limit of 20 transactions per second + * per account.

                                                                */ public describeStreamSummary( args: DescribeStreamSummaryCommandInput, @@ -575,11 +586,11 @@ export class Kinesis extends KinesisClient { *

                                                                You can scale by provisioning multiple shards per stream while considering service * limits (for more information, see Amazon Kinesis Data Streams * Limits in the Amazon Kinesis Data Streams Developer - * Guide). Your application should have one thread per shard, each reading + * Guide). Your application should have one thread per shard, each reading * continuously from its stream. To read from a stream continually, call GetRecords in a loop. Use GetShardIterator to get the * shard iterator to specify in the first GetRecords call. GetRecords returns a new shard iterator in - * NextShardIterator. Specify the shard iterator returned in - * NextShardIterator in subsequent calls to GetRecords. + * NextShardIterator. Specify the shard iterator returned in + * NextShardIterator in subsequent calls to GetRecords. * If the shard has been closed, the shard iterator can't return more data and GetRecords returns null in NextShardIterator. * You can terminate the loop when the shard is closed, or when the shard iterator reaches * the record with the sequence number or other attribute that marks it as the last record @@ -600,11 +611,11 @@ export class Kinesis extends KinesisClient { * reason, we recommend that you wait 1 second between calls to GetRecords. However, it's possible that the application will get exceptions for longer than 1 * second.

                                                                *

                                                                To detect whether the application is falling behind in processing, you can use the - * MillisBehindLatest response attribute. You can also monitor the stream + * MillisBehindLatest response attribute. You can also monitor the stream * using CloudWatch metrics and other mechanisms (see Monitoring in the Amazon - * Kinesis Data Streams Developer Guide).

                                                                + * Kinesis Data Streams Developer Guide).

                                                                *

                                                                Each Amazon Kinesis record includes a value, - * ApproximateArrivalTimestamp, that is set when a stream successfully + * ApproximateArrivalTimestamp, that is set when a stream successfully * receives and stores a record. This is commonly referred to as a server-side time stamp, * whereas a client-side time stamp is set when a data producer creates or sends the record * to a stream (a data producer is any data source putting data records into a stream, for @@ -612,7 +623,7 @@ export class Kinesis extends KinesisClient { * There are no guarantees about the time stamp accuracy, or that the time stamp is always * increasing. For example, records in a shard or across a stream might have time stamps * that are out of order.

                                                                - *

                                                                This operation has a limit of five transactions per second per account.

                                                                + *

                                                                This operation has a limit of five transactions per second per shard.

                                                                */ public getRecords(args: GetRecordsCommandInput, options?: __HttpHandlerOptions): Promise; public getRecords(args: GetRecordsCommandInput, cb: (err: any, data?: GetRecordsCommandOutput) => void): void; @@ -640,32 +651,35 @@ export class Kinesis extends KinesisClient { /** *

                                                                Gets an Amazon Kinesis shard iterator. A shard iterator expires 5 minutes after it * is returned to the requester.

                                                                - *

                                                                A shard iterator specifies the shard position from which to start reading data records sequentially. The position is specified using the sequence number of a data record in a shard. A sequence number is the identifier associated with every record ingested in the stream, and is assigned when a record is put into the stream. Each stream has one or more shards.

                                                                + *

                                                                A shard iterator specifies the shard position from which to start reading data + * records sequentially. The position is specified using the sequence number of a data + * record in a shard. A sequence number is the identifier associated with every record + * ingested in the stream, and is assigned when a record is put into the stream. Each + * stream has one or more shards.

                                                                *

                                                                You must specify the shard iterator type. For example, you can set the - * ShardIteratorType parameter to read exactly from the position denoted + * ShardIteratorType parameter to read exactly from the position denoted * by a specific sequence number by using the AT_SEQUENCE_NUMBER shard * iterator type. Alternatively, the parameter can read right after the sequence number by * using the AFTER_SEQUENCE_NUMBER shard iterator type, using sequence numbers * returned by earlier calls to PutRecord, PutRecords, - * GetRecords, or DescribeStream. In the request, + * GetRecords, or DescribeStream. In the request, * you can specify the shard iterator type AT_TIMESTAMP to read records from * an arbitrary point in time, TRIM_HORIZON to cause - * ShardIterator to point to the last untrimmed record in the shard in the + * ShardIterator to point to the last untrimmed record in the shard in the * system (the oldest data record in the shard), or LATEST so that you always * read the most recent data in the shard.

                                                                - *

                                                                When you read repeatedly from a stream, use a GetShardIterator request to get the - * first shard iterator for use in your first GetRecords request and for subsequent - * reads use the shard iterator returned by the GetRecords request in - * NextShardIterator. A new shard iterator is returned by every - * GetRecords request in NextShardIterator, which you use in the - * ShardIterator parameter of the next GetRecords request.

                                                                + *

                                                                When you read repeatedly from a stream, use a GetShardIterator + * request to get the first shard iterator for use in your first GetRecords request and for subsequent reads use the shard iterator returned by the GetRecords request in NextShardIterator. A new shard + * iterator is returned by every GetRecords request in + * NextShardIterator, which you use in the ShardIterator + * parameter of the next GetRecords request.

                                                                *

                                                                If a GetShardIterator request is made too often, you receive a - * ProvisionedThroughputExceededException. For more information about + * ProvisionedThroughputExceededException. For more information about * throughput limits, see GetRecords, and Streams Limits in the - * Amazon Kinesis Data Streams Developer Guide.

                                                                + * Amazon Kinesis Data Streams Developer Guide.

                                                                *

                                                                If the shard is closed, GetShardIterator returns a valid iterator * for the last sequence number of the shard. A shard can be closed as a result of using - * SplitShard or MergeShards.

                                                                + * SplitShard or MergeShards.

                                                                *

                                                                * GetShardIterator has a limit of five transactions per second per * account per open shard.

                                                                @@ -700,7 +714,7 @@ export class Kinesis extends KinesisClient { } /** - *

                                                                Increases the Kinesis data stream's retention period, which is the length of time + *

                                                                Increases the Kinesis data stream's retention period, which is the length of time * data records are accessible after they are added to the stream. The maximum value of a * stream's retention period is 168 hours (7 days).

                                                                *

                                                                If you choose a longer stream retention period, this operation increases the time @@ -776,7 +790,7 @@ export class Kinesis extends KinesisClient { /** *

                                                                Lists the consumers registered to receive data from a stream using enhanced fan-out, * and provides information about each consumer.

                                                                - *

                                                                This operation has a limit of 10 transactions per second per account.

                                                                + *

                                                                This operation has a limit of 5 transactions per second per stream.

                                                                */ public listStreamConsumers( args: ListStreamConsumersCommandInput, @@ -897,13 +911,13 @@ export class Kinesis extends KinesisClient { * merging shards, see Merge Two * Shards in the Amazon Kinesis Data Streams Developer * Guide.

                                                                - *

                                                                If the stream is in the ACTIVE state, you can call MergeShards. - * If a stream is in the CREATING, UPDATING, or - * DELETING state, MergeShards returns a - * ResourceInUseException. If the specified stream does not exist, + *

                                                                If the stream is in the ACTIVE state, you can call + * MergeShards. If a stream is in the CREATING, + * UPDATING, or DELETING state, MergeShards + * returns a ResourceInUseException. If the specified stream does not exist, * MergeShards returns a ResourceNotFoundException.

                                                                - *

                                                                You can use DescribeStream to check the state of the stream, which is returned in - * StreamStatus.

                                                                + *

                                                                You can use DescribeStream to check the state of the stream, + * which is returned in StreamStatus.

                                                                *

                                                                * MergeShards is an asynchronous operation. Upon receiving a * MergeShards request, Amazon Kinesis Data Streams immediately returns a @@ -911,8 +925,8 @@ export class Kinesis extends KinesisClient { * operation is completed, Kinesis Data Streams sets the StreamStatus to * ACTIVE. Read and write operations continue to work while the stream is * in the UPDATING state.

                                                                - *

                                                                You use DescribeStream to determine the shard IDs that are specified in the - * MergeShards request.

                                                                + *

                                                                You use DescribeStream to determine the shard IDs that are + * specified in the MergeShards request.

                                                                *

                                                                If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards, * or SplitShard, you receive a LimitExceededException.

                                                                *

                                                                @@ -946,9 +960,11 @@ export class Kinesis extends KinesisClient { *

                                                                Writes a single data record into an Amazon Kinesis data stream. Call * PutRecord to send data into the stream for real-time ingestion and * subsequent processing, one record at a time. Each shard can support writes up to 1,000 - * records per second, up to a maximum data write total of 1 MB per second.

                                                                - *

                                                                You must specify the name of the stream that captures, stores, and transports the data; a partition key; and the data blob itself.

                                                                - *

                                                                The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

                                                                + * records per second, up to a maximum data write total of 1 MiB per second.

                                                                + *

                                                                You must specify the name of the stream that captures, stores, and transports the + * data; a partition key; and the data blob itself.

                                                                + *

                                                                The data blob can be any type of data; for example, a segment from a log file, + * geographic/location data, website clickstream data, and so on.

                                                                *

                                                                The partition key is used by Kinesis Data Streams to distribute data across shards. * Kinesis Data Streams segregates the data records that belong to a stream into multiple * shards, using the partition key associated with each data record to determine the shard @@ -968,12 +984,15 @@ export class Kinesis extends KinesisClient { * serially to a shard and use the SequenceNumberForOrdering parameter. For * more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams * Developer Guide.

                                                                + * + *

                                                                After you write a record to a stream, you cannot modify that record or its order + * within the stream.

                                                                + *
                                                                *

                                                                If a PutRecord request cannot be processed because of insufficient * provisioned throughput on the shard involved in the request, PutRecord * throws ProvisionedThroughputExceededException.

                                                                - *

                                                                By default, data records are accessible for 24 hours from the time that they are added to a stream. - * You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod - * to modify this retention period.

                                                                + *

                                                                By default, data records are accessible for 24 hours from the time that they are + * added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

                                                                */ public putRecord(args: PutRecordCommandInput, options?: __HttpHandlerOptions): Promise; public putRecord(args: PutRecordCommandInput, cb: (err: any, data?: PutRecordCommandOutput) => void): void; @@ -1002,12 +1021,16 @@ export class Kinesis extends KinesisClient { *

                                                                Writes multiple data records into a Kinesis data stream in a single call (also * referred to as a PutRecords request). Use this operation to send data into * the stream for data ingestion and processing.

                                                                - *

                                                                Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MB, up to a limit of 5 MB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second.

                                                                - *

                                                                You must specify the name of the stream that captures, stores, and transports the data; - * and an array of request Records, with each record in the array requiring a - * partition key and data blob. The record size limit applies to the total size of the - * partition key and data blob.

                                                                - *

                                                                The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

                                                                + *

                                                                Each PutRecords request can support up to 500 records. Each record in + * the request can be as large as 1 MiB, up to a limit of 5 MiB for the entire request, + * including partition keys. Each shard can support writes up to 1,000 records per second, + * up to a maximum data write total of 1 MiB per second.

                                                                + *

                                                                You must specify the name of the stream that captures, stores, and transports the + * data; and an array of request Records, with each record in the array + * requiring a partition key and data blob. The record size limit applies to the total size + * of the partition key and data blob.

                                                                + *

                                                                The data blob can be any type of data; for example, a segment from a log file, + * geographic/location data, website clickstream data, and so on.

                                                                *

                                                                The partition key is used by Kinesis Data Streams as input to a hash function that * maps the partition key and associated data to a specific shard. An MD5 hash function is * used to map partition keys to 128-bit integer values and to map associated data records @@ -1019,15 +1042,18 @@ export class Kinesis extends KinesisClient { * This parameter allows a data producer to determine explicitly the shard where the record * is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis * Data Streams Developer Guide.

                                                                - *

                                                                The PutRecords response includes an array of response Records. - * Each record in the response array directly correlates with a record in the request array - * using natural ordering, from the top to the bottom of the request and response. The - * response Records array always includes the same number of records as the - * request array.

                                                                + *

                                                                The PutRecords response includes an array of response + * Records. Each record in the response array directly correlates with a + * record in the request array using natural ordering, from the top to the bottom of the + * request and response. The response Records array always includes the same + * number of records as the request array.

                                                                *

                                                                The response Records array includes both successfully and * unsuccessfully processed records. Kinesis Data Streams attempts to process all records * in each PutRecords request. A single record failure does not stop the - * processing of subsequent records.

                                                                + * processing of subsequent records. As a result, PutRecords doesn't guarantee the ordering + * of records. If you need to read records in the same order they are written to the + * stream, use PutRecord instead of PutRecords, and write to + * the same shard.

                                                                *

                                                                A successfully processed record includes ShardId and * SequenceNumber values. The ShardId parameter identifies * the shard in the stream where the record is stored. The SequenceNumber @@ -1042,9 +1068,12 @@ export class Kinesis extends KinesisClient { * ID, stream name, and shard ID of the record that was throttled. For more information * about partially successful responses, see Adding Multiple Records with PutRecords in the Amazon Kinesis * Data Streams Developer Guide.

                                                                - *

                                                                By default, data records are accessible for 24 hours from the time that they are added to a stream. - * You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod - * to modify this retention period.

                                                                + * + *

                                                                After you write a record to a stream, you cannot modify that record or its order + * within the stream.

                                                                + *
                                                                + *

                                                                By default, data records are accessible for 24 hours from the time that they are + * added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

                                                                */ public putRecords(args: PutRecordsCommandInput, options?: __HttpHandlerOptions): Promise; public putRecords(args: PutRecordsCommandInput, cb: (err: any, data?: PutRecordsCommandOutput) => void): void; @@ -1071,12 +1100,19 @@ export class Kinesis extends KinesisClient { /** *

                                                                Registers a consumer with a Kinesis data stream. When you use this operation, the - * consumer you register can read data from the stream at a rate of up to 2 MiB per second. - * This rate is unaffected by the total number of consumers that read from the same - * stream.

                                                                - *

                                                                You can register up to 5 consumers per stream. A given consumer can only be registered - * with one stream.

                                                                - *

                                                                This operation has a limit of five transactions per second per account.

                                                                + * consumer you register can then call SubscribeToShard to receive data + * from the stream using enhanced fan-out, at a rate of up to 2 MiB per second for every + * shard you subscribe to. This rate is unaffected by the total number of consumers that + * read from the same stream.

                                                                + *

                                                                You can register up to 20 consumers per stream. A given consumer can only be + * registered with one stream at a time.

                                                                + *

                                                                For an example of how to use this operations, see Enhanced Fan-Out + * Using the Kinesis Data Streams API.

                                                                + *

                                                                The use of this operation has a limit of five transactions per second per account. + * Also, only 5 consumers can be created simultaneously. In other words, you cannot have + * more than 5 consumers in a CREATING status at the same time. Registering a + * 6th consumer while there are 5 in a CREATING status results in a + * LimitExceededException.

                                                                */ public registerStreamConsumer( args: RegisterStreamConsumerCommandInput, @@ -1161,9 +1197,9 @@ export class Kinesis extends KinesisClient { * the range being mapped into the shard. For more information, see Split a * Shard in the Amazon Kinesis Data Streams Developer * Guide.

                                                                - *

                                                                You can use DescribeStream to determine the shard ID and hash key values for the - * ShardToSplit and NewStartingHashKey parameters that are - * specified in the SplitShard request.

                                                                + *

                                                                You can use DescribeStream to determine the shard ID and hash key + * values for the ShardToSplit and NewStartingHashKey parameters + * that are specified in the SplitShard request.

                                                                *

                                                                * SplitShard is an asynchronous operation. Upon receiving a * SplitShard request, Kinesis Data Streams immediately returns a response @@ -1182,8 +1218,7 @@ export class Kinesis extends KinesisClient { * Limits in the Amazon Kinesis Data Streams Developer * Guide. To increase this limit, contact AWS * Support.

                                                                - *

                                                                If you try to operate on too many streams simultaneously using CreateStream, - * DeleteStream, MergeShards, and/or SplitShard, you receive a + *

                                                                If you try to operate on too many streams simultaneously using CreateStream, DeleteStream, MergeShards, and/or SplitShard, you receive a * LimitExceededException.

                                                                *

                                                                * SplitShard has a limit of five transactions per second per @@ -1213,7 +1248,8 @@ export class Kinesis extends KinesisClient { } /** - *

                                                                Enables or updates server-side encryption using an AWS KMS key for a specified stream.

                                                                + *

                                                                Enables or updates server-side encryption using an AWS KMS key for a specified + * stream.

                                                                *

                                                                Starting encryption is an asynchronous operation. Upon receiving the request, * Kinesis Data Streams returns immediately and sets the status of the stream to * UPDATING. After the update is complete, Kinesis Data Streams sets the @@ -1306,15 +1342,28 @@ export class Kinesis extends KinesisClient { } /** - *

                                                                Call this operation from your consumer after you call RegisterStreamConsumer to register the consumer with Kinesis Data - * Streams. If the call succeeds, your consumer starts receiving events of type SubscribeToShardEvent for up to 5 minutes, after which time you need to - * call SubscribeToShard again to renew the subscription if you want to - * continue to receive records.

                                                                - *

                                                                You can make one call to SubscribeToShard per second per - * ConsumerARN. If your call succeeds, and then you call the operation - * again less than 5 seconds later, the second call generates a ResourceInUseException. If you call the operation a second time more - * than 5 seconds after the first call succeeds, the second call succeeds and the first - * connection gets shut down.

                                                                + *

                                                                This operation establishes an HTTP/2 connection between the consumer you specify in + * the ConsumerARN parameter and the shard you specify in the + * ShardId parameter. After the connection is successfully established, + * Kinesis Data Streams pushes records from the shard to the consumer over this connection. + * Before you call this operation, call RegisterStreamConsumer to + * register the consumer with Kinesis Data Streams.

                                                                + *

                                                                When the SubscribeToShard call succeeds, your consumer starts receiving + * events of type SubscribeToShardEvent over the HTTP/2 connection for up + * to 5 minutes, after which time you need to call SubscribeToShard again to + * renew the subscription if you want to continue to receive records.

                                                                + *

                                                                You can make one call to SubscribeToShard per second per registered + * consumer per shard. For example, if you have a 4000 shard stream and two registered + * stream consumers, you can make one SubscribeToShard request per second for + * each combination of shard and registered consumer, allowing you to subscribe both + * consumers to all 4000 shards in one second.

                                                                + *

                                                                If you call SubscribeToShard again with the same ConsumerARN + * and ShardId within 5 seconds of a successful call, you'll get a + * ResourceInUseException. If you call SubscribeToShard 5 + * seconds or more after a successful call, the first connection will expire and the second + * call will take over the subscription.

                                                                + *

                                                                For an example of how to use this operations, see Enhanced Fan-Out + * Using the Kinesis Data Streams API.

                                                                */ public subscribeToShard( args: SubscribeToShardCommandInput, @@ -1346,7 +1395,8 @@ export class Kinesis extends KinesisClient { } /** - *

                                                                Updates the shard count of the specified stream to the specified number of shards.

                                                                + *

                                                                Updates the shard count of the specified stream to the specified number of + * shards.

                                                                *

                                                                Updating the shard count is an asynchronous operation. Upon receiving the request, * Kinesis Data Streams returns immediately and sets the status of the stream to * UPDATING. After the update is complete, Kinesis Data Streams sets the @@ -1355,29 +1405,34 @@ export class Kinesis extends KinesisClient { * write data to your stream while its status is UPDATING.

                                                                *

                                                                To update the shard count, Kinesis Data Streams performs splits or merges on * individual shards. This can cause short-lived shards to be created, in addition to the - * final shards. We recommend that you double or halve the shard count, as this results in - * the fewest number of splits or merges.

                                                                + * final shards. These short-lived shards count towards your total shard limit for your + * account in the Region.

                                                                + *

                                                                When using this operation, we recommend that you specify a target shard count that + * is a multiple of 25% (25%, 50%, 75%, 100%). You can specify any target value within your + * shard limit. However, if you specify a target that isn't a multiple of 25%, the scaling + * action might take longer to complete.

                                                                *

                                                                This operation has the following default limits. By default, you cannot do the * following:

                                                                *
                                                                  *
                                                                • - *

                                                                  Scale more than twice per rolling 24-hour period per stream

                                                                  + *

                                                                  Scale more than ten times per rolling 24-hour period per stream

                                                                  *
                                                                • *
                                                                • - *

                                                                  Scale up to more than double your current shard count for a stream

                                                                  + *

                                                                  Scale up to more than double your current shard count for a + * stream

                                                                  *
                                                                • *
                                                                • - *

                                                                  Scale down below half your current shard count for a stream

                                                                  + *

                                                                  Scale down below half your current shard count for a stream

                                                                  *
                                                                • *
                                                                • - *

                                                                  Scale up to more than 500 shards in a stream

                                                                  + *

                                                                  Scale up to more than 500 shards in a stream

                                                                  *
                                                                • *
                                                                • - *

                                                                  Scale a stream with more than 500 shards down unless the result is less than 500 - * shards

                                                                  + *

                                                                  Scale a stream with more than 500 shards down unless the result is less + * than 500 shards

                                                                  *
                                                                • *
                                                                • - *

                                                                  Scale up to more than the shard limit for your account

                                                                  + *

                                                                  Scale up to more than the shard limit for your account

                                                                  *
                                                                • *
                                                                *

                                                                For the default limits for an AWS account, see Streams Limits in the diff --git a/clients/client-kinesis/models/models_0.ts b/clients/client-kinesis/models/models_0.ts index 7286f4539422..cc1e8c2ba923 100644 --- a/clients/client-kinesis/models/models_0.ts +++ b/clients/client-kinesis/models/models_0.ts @@ -6,14 +6,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface AddTagsToStreamInput { /** - *

                                                                The name of the stream.

                                                                + *

                                                                A set of up to 10 key-value pairs to use to create the tags.

                                                                */ - StreamName: string | undefined; + Tags: { [key: string]: string } | undefined; /** - *

                                                                A set of up to 10 key-value pairs to use to create the tags.

                                                                + *

                                                                The name of the stream.

                                                                */ - Tags: { [key: string]: string } | undefined; + StreamName: string | undefined; } export namespace AddTagsToStreamInput { @@ -23,7 +23,8 @@ export namespace AddTagsToStreamInput { } /** - *

                                                                A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message.

                                                                + *

                                                                A specified parameter exceeds its restrictions, is not supported, or can't be used. + * For more information, see the returned message.

                                                                */ export interface InvalidArgumentException extends __SmithyException, $MetadataBearer { name: "InvalidArgumentException"; @@ -41,7 +42,8 @@ export namespace InvalidArgumentException { } /** - *

                                                                The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed.

                                                                + *

                                                                The requested resource exceeds the maximum number allowed, or the number of + * concurrent stream requests exceeds the maximum number allowed.

                                                                */ export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; @@ -78,7 +80,8 @@ export namespace ResourceInUseException { } /** - *

                                                                The requested resource could not be found. The stream might not be specified correctly.

                                                                + *

                                                                The requested resource could not be found. The stream might not be specified + * correctly.

                                                                */ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; @@ -95,6 +98,44 @@ export namespace ResourceNotFoundException { }); } +/** + *

                                                                The range of possible hash key values for the shard, which is a set of ordered + * contiguous positive integers.

                                                                + */ +export interface HashKeyRange { + /** + *

                                                                The starting hash key of the hash key range.

                                                                + */ + StartingHashKey: string | undefined; + + /** + *

                                                                The ending hash key of the hash key range.

                                                                + */ + EndingHashKey: string | undefined; +} + +export namespace HashKeyRange { + export const filterSensitiveLog = (obj: HashKeyRange): any => ({ + ...obj, + }); +} + +export interface ChildShard { + ParentShards: string[] | undefined; + ShardId: string | undefined; + /** + *

                                                                The range of possible hash key values for the shard, which is a set of ordered + * contiguous positive integers.

                                                                + */ + HashKeyRange: HashKeyRange | undefined; +} + +export namespace ChildShard { + export const filterSensitiveLog = (obj: ChildShard): any => ({ + ...obj, + }); +} + export enum ConsumerStatus { ACTIVE = "ACTIVE", CREATING = "CREATING", @@ -102,9 +143,16 @@ export enum ConsumerStatus { } /** - *

                                                                An object that represents the details of the consumer you registered.

                                                                + *

                                                                An object that represents the details of the consumer you registered. This type of + * object is returned by RegisterStreamConsumer.

                                                                */ export interface Consumer { + /** + *

                                                                The name of the consumer is something you choose when you register the + * consumer.

                                                                + */ + ConsumerName: string | undefined; + /** *

                                                                When you register a consumer, Kinesis Data Streams generates an ARN for it. You need * this ARN to be able to call SubscribeToShard.

                                                                @@ -115,15 +163,11 @@ export interface Consumer { ConsumerARN: string | undefined; /** - *

                                                                A consumer can't read data while in the CREATING or DELETING states.

                                                                + *

                                                                A consumer can't read data while in the CREATING or DELETING + * states.

                                                                */ ConsumerStatus: ConsumerStatus | string | undefined; - /** - *

                                                                The name of the consumer is something you choose when you register the consumer.

                                                                - */ - ConsumerName: string | undefined; - /** *

                                                                */ @@ -137,24 +181,20 @@ export namespace Consumer { } /** - *

                                                                An object that represents the details of a registered consumer.

                                                                + *

                                                                An object that represents the details of a registered consumer. This type of object is + * returned by DescribeStreamConsumer.

                                                                */ export interface ConsumerDescription { - /** - *

                                                                - */ - ConsumerCreationTimestamp: Date | undefined; - /** *

                                                                The ARN of the stream with which you registered the consumer.

                                                                */ StreamARN: string | undefined; /** - *

                                                                A consumer can't read data while in the CREATING or DELETING - * states.

                                                                + *

                                                                The name of the consumer is something you choose when you register the + * consumer.

                                                                */ - ConsumerStatus: ConsumerStatus | string | undefined; + ConsumerName: string | undefined; /** *

                                                                When you register a consumer, Kinesis Data Streams generates an ARN for it. You need @@ -166,9 +206,15 @@ export interface ConsumerDescription { ConsumerARN: string | undefined; /** - *

                                                                The name of the consumer is something you choose when you register the consumer.

                                                                + *

                                                                A consumer can't read data while in the CREATING or DELETING + * states.

                                                                */ - ConsumerName: string | undefined; + ConsumerStatus: ConsumerStatus | string | undefined; + + /** + *

                                                                + */ + ConsumerCreationTimestamp: Date | undefined; } export namespace ConsumerDescription { @@ -181,12 +227,6 @@ export namespace ConsumerDescription { *

                                                                Represents the input for CreateStream.

                                                                */ export interface CreateStreamInput { - /** - *

                                                                The number of shards that the stream will use. The throughput of the stream is a function of the number of shards; more shards are required for greater provisioned throughput.

                                                                - *

                                                                DefaultShardLimit;

                                                                - */ - ShardCount: number | undefined; - /** *

                                                                A name to identify the stream. The stream name is scoped to the AWS account used by * the application that creates the stream. It is also scoped by AWS Region. That is, two @@ -194,6 +234,13 @@ export interface CreateStreamInput { * AWS account but in two different Regions can also have the same name.

                                                                */ StreamName: string | undefined; + + /** + *

                                                                The number of shards that the stream will use. The throughput of the stream is a + * function of the number of shards; more shards are required for greater provisioned + * throughput.

                                                                + */ + ShardCount: number | undefined; } export namespace CreateStreamInput { @@ -207,14 +254,15 @@ export namespace CreateStreamInput { */ export interface DecreaseStreamRetentionPeriodInput { /** - *

                                                                The name of the stream to modify.

                                                                + *

                                                                The new retention period of the stream, in hours. Must be less than the current + * retention period.

                                                                */ - StreamName: string | undefined; + RetentionPeriodHours: number | undefined; /** - *

                                                                The new retention period of the stream, in hours. Must be less than the current retention period.

                                                                + *

                                                                The name of the stream to modify.

                                                                */ - RetentionPeriodHours: number | undefined; + StreamName: string | undefined; } export namespace DecreaseStreamRetentionPeriodInput { @@ -253,6 +301,11 @@ export interface DeregisterStreamConsumerInput { */ StreamARN?: string; + /** + *

                                                                The name that you gave to the consumer.

                                                                + */ + ConsumerName?: string; + /** *

                                                                The ARN returned by Kinesis Data Streams when you registered the consumer. If you * don't know the ARN of the consumer that you want to deregister, you can use the @@ -261,11 +314,6 @@ export interface DeregisterStreamConsumerInput { * contains its ARN.

                                                                */ ConsumerARN?: string; - - /** - *

                                                                The name that you gave to the consumer.

                                                                - */ - ConsumerName?: string; } export namespace DeregisterStreamConsumerInput { @@ -305,10 +353,9 @@ export namespace DescribeLimitsOutput { */ export interface DescribeStreamInput { /** - *

                                                                The maximum number of shards to return in a single call. The default value is 100. - * If you specify a value greater than 100, at most 100 shards are returned.

                                                                + *

                                                                The name of the stream to describe.

                                                                */ - Limit?: number; + StreamName: string | undefined; /** *

                                                                The shard ID of the shard to start with.

                                                                @@ -316,9 +363,10 @@ export interface DescribeStreamInput { ExclusiveStartShardId?: string; /** - *

                                                                The name of the stream to describe.

                                                                + *

                                                                The maximum number of shards to return in a single call. The default value is 100. + * If you specify a value greater than 100, at most 100 shards are returned.

                                                                */ - StreamName: string | undefined; + Limit?: number; } export namespace DescribeStreamInput { @@ -349,48 +397,48 @@ export enum MetricsName { export interface EnhancedMetrics { /** *

                                                                List of shard-level metrics.

                                                                - *

                                                                The following are the valid shard-level metrics. The value "ALL" enhances - * every metric.

                                                                + *

                                                                The following are the valid shard-level metrics. The value "ALL" + * enhances every metric.

                                                                *
                                                                  *
                                                                • *

                                                                  - * IncomingBytes - *

                                                                  + * IncomingBytes + *

                                                                  *
                                                                • *
                                                                • *

                                                                  - * IncomingRecords - *

                                                                  + * IncomingRecords + *

                                                                  *
                                                                • *
                                                                • *

                                                                  - * OutgoingBytes - *

                                                                  + * OutgoingBytes + *

                                                                  *
                                                                • *
                                                                • *

                                                                  - * OutgoingRecords - *

                                                                  + * OutgoingRecords + *

                                                                  *
                                                                • *
                                                                • *

                                                                  - * WriteProvisionedThroughputExceeded - *

                                                                  + * WriteProvisionedThroughputExceeded + *

                                                                  *
                                                                • *
                                                                • *

                                                                  - * ReadProvisionedThroughputExceeded - *

                                                                  + * ReadProvisionedThroughputExceeded + *

                                                                  *
                                                                • *
                                                                • *

                                                                  - * IteratorAgeMilliseconds - *

                                                                  + * IteratorAgeMilliseconds + *

                                                                  *
                                                                • *
                                                                • *

                                                                  - * ALL - *

                                                                  + * ALL + *

                                                                  *
                                                                • *
                                                                *

                                                                For more information, see Monitoring the Amazon @@ -407,40 +455,19 @@ export namespace EnhancedMetrics { } /** - *

                                                                The range of possible hash key values for the shard, which is a set of ordered contiguous positive integers.

                                                                + *

                                                                The range of possible sequence numbers for the shard.

                                                                */ -export interface HashKeyRange { - /** - *

                                                                The ending hash key of the hash key range.

                                                                - */ - EndingHashKey: string | undefined; - +export interface SequenceNumberRange { /** - *

                                                                The starting hash key of the hash key range.

                                                                + *

                                                                The starting sequence number for the range.

                                                                */ - StartingHashKey: string | undefined; -} - -export namespace HashKeyRange { - export const filterSensitiveLog = (obj: HashKeyRange): any => ({ - ...obj, - }); -} + StartingSequenceNumber: string | undefined; -/** - *

                                                                The range of possible sequence numbers for the shard.

                                                                - */ -export interface SequenceNumberRange { /** *

                                                                The ending sequence number for the range. Shards that are in the OPEN state have an * ending sequence number of null.

                                                                */ EndingSequenceNumber?: string; - - /** - *

                                                                The starting sequence number for the range.

                                                                - */ - StartingSequenceNumber: string | undefined; } export namespace SequenceNumberRange { @@ -454,29 +481,30 @@ export namespace SequenceNumberRange { */ export interface Shard { /** - *

                                                                The shard ID of the shard's parent.

                                                                + *

                                                                The range of possible sequence numbers for the shard.

                                                                */ - ParentShardId?: string; + SequenceNumberRange: SequenceNumberRange | undefined; /** - *

                                                                The shard ID of the shard adjacent to the shard's parent.

                                                                + *

                                                                The unique identifier of the shard within the stream.

                                                                */ - AdjacentParentShardId?: string; + ShardId: string | undefined; /** - *

                                                                The range of possible sequence numbers for the shard.

                                                                + *

                                                                The range of possible hash key values for the shard, which is a set of ordered + * contiguous positive integers.

                                                                */ - SequenceNumberRange: SequenceNumberRange | undefined; + HashKeyRange: HashKeyRange | undefined; /** - *

                                                                The range of possible hash key values for the shard, which is a set of ordered contiguous positive integers.

                                                                + *

                                                                The shard ID of the shard adjacent to the shard's parent.

                                                                */ - HashKeyRange: HashKeyRange | undefined; + AdjacentParentShardId?: string; /** - *

                                                                The unique identifier of the shard within the stream.

                                                                + *

                                                                The shard ID of the shard's parent.

                                                                */ - ShardId: string | undefined; + ParentShardId?: string; } export namespace Shard { @@ -497,33 +525,51 @@ export enum StreamStatus { */ export interface StreamDescription { /** - *

                                                                The server-side encryption type used on the stream. This parameter can be one of the following values:

                                                                + *

                                                                The server-side encryption type used on the stream. This parameter can be one of + * the following values:

                                                                *
                                                                  *
                                                                • - *

                                                                  + *

                                                                  * NONE: Do not encrypt the records in the stream.

                                                                  *
                                                                • *
                                                                • - *

                                                                  - * KMS: Use server-side encryption on the records in the stream using a - * customer-managed AWS KMS key.

                                                                  + *

                                                                  + * KMS: Use server-side encryption on the records in the stream + * using a customer-managed AWS KMS key.

                                                                  *
                                                                • *
                                                                */ EncryptionType?: EncryptionType | string; + /** + *

                                                                Represents the current enhanced monitoring settings of the stream.

                                                                + */ + EnhancedMonitoring: EnhancedMetrics[] | undefined; + /** *

                                                                The name of the stream being described.

                                                                */ StreamName: string | undefined; /** - *

                                                                The approximate time that the stream was created.

                                                                + *

                                                                The Amazon Resource Name (ARN) for the stream being described.

                                                                */ - StreamCreationTimestamp: Date | undefined; + StreamARN: string | undefined; + + /** + *

                                                                The shards that comprise the stream.

                                                                + */ + Shards: Shard[] | undefined; + + /** + *

                                                                The current retention period, in hours. Minimum value of 24. Maximum value of + * 168.

                                                                + */ + RetentionPeriodHours: number | undefined; /** - *

                                                                If set to true, more shards in the stream are available to describe.

                                                                + *

                                                                If set to true, more shards in the stream are available to + * describe.

                                                                */ HasMoreShards: boolean | undefined; @@ -534,25 +580,27 @@ export interface StreamDescription { * Streams by specifying the alias aws/kinesis.

                                                                *
                                                                  *
                                                                • - *

                                                                  Key ARN example: + *

                                                                  Key ARN example: * arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 *

                                                                  *
                                                                • *
                                                                • - *

                                                                  Alias ARN example: - * arn:aws:kms:us-east-1:123456789012:alias/MyAliasName + *

                                                                  Alias ARN example: + * arn:aws:kms:us-east-1:123456789012:alias/MyAliasName *

                                                                  *
                                                                • *
                                                                • - *

                                                                  Globally unique key ID example: 12345678-1234-1234-1234-123456789012 + *

                                                                  Globally unique key ID example: + * 12345678-1234-1234-1234-123456789012 *

                                                                  *
                                                                • *
                                                                • - *

                                                                  Alias name example: alias/MyAliasName + *

                                                                  Alias name example: alias/MyAliasName *

                                                                  *
                                                                • *
                                                                • - *

                                                                  Master key owned by Kinesis Data Streams: alias/aws/kinesis + *

                                                                  Master key owned by Kinesis Data Streams: + * alias/aws/kinesis *

                                                                  *
                                                                • *
                                                                @@ -560,29 +608,30 @@ export interface StreamDescription { KeyId?: string; /** - *

                                                                The current status of the stream being described. The stream status is one of the following states:

                                                                + *

                                                                The current status of the stream being described. The stream status is one of the + * following states:

                                                                *
                                                                  *
                                                                • - *

                                                                  + *

                                                                  * CREATING - The stream is being created. Kinesis Data Streams * immediately returns and sets StreamStatus to * CREATING.

                                                                  *
                                                                • *
                                                                • - *

                                                                  + *

                                                                  * DELETING - The stream is being deleted. The specified stream is in * the DELETING state until Kinesis Data Streams completes the * deletion.

                                                                  *
                                                                • *
                                                                • - *

                                                                  - * ACTIVE - The stream exists and is ready for read and write + *

                                                                  + * ACTIVE - The stream exists and is ready for read and write * operations or deletion. You should perform read and write operations only on an * ACTIVE stream.

                                                                  *
                                                                • *
                                                                • - *

                                                                  - * UPDATING - Shards in the stream are being merged or split. Read and + *

                                                                  + * UPDATING - Shards in the stream are being merged or split. Read and * write operations continue to work while the stream is in the * UPDATING state.

                                                                  *
                                                                • @@ -591,24 +640,9 @@ export interface StreamDescription { StreamStatus: StreamStatus | string | undefined; /** - *

                                                                  The shards that comprise the stream.

                                                                  - */ - Shards: Shard[] | undefined; - - /** - *

                                                                  The Amazon Resource Name (ARN) for the stream being described.

                                                                  - */ - StreamARN: string | undefined; - - /** - *

                                                                  The current retention period, in hours.

                                                                  - */ - RetentionPeriodHours: number | undefined; - - /** - *

                                                                  Represents the current enhanced monitoring settings of the stream.

                                                                  + *

                                                                  The approximate time that the stream was created.

                                                                  */ - EnhancedMonitoring: EnhancedMetrics[] | undefined; + StreamCreationTimestamp: Date | undefined; } export namespace StreamDescription { @@ -636,17 +670,17 @@ export namespace DescribeStreamOutput { } export interface DescribeStreamConsumerInput { - /** - *

                                                                  The name that you gave to the consumer.

                                                                  - */ - ConsumerName?: string; - /** *

                                                                  The ARN of the Kinesis data stream that the consumer is registered with. For more * information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                                  */ StreamARN?: string; + /** + *

                                                                  The name that you gave to the consumer.

                                                                  + */ + ConsumerName?: string; + /** *

                                                                  The ARN returned by Kinesis Data Streams when you registered the consumer.

                                                                  */ @@ -697,25 +731,27 @@ export interface StreamDescriptionSummary { * Streams by specifying the alias aws/kinesis.

                                                                  *
                                                                    *
                                                                  • - *

                                                                    Key ARN example: + *

                                                                    Key ARN example: * arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 *

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Alias ARN example: - * arn:aws:kms:us-east-1:123456789012:alias/MyAliasName + *

                                                                    Alias ARN example: + * arn:aws:kms:us-east-1:123456789012:alias/MyAliasName *

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Globally unique key ID example: 12345678-1234-1234-1234-123456789012 + *

                                                                    Globally unique key ID example: + * 12345678-1234-1234-1234-123456789012 *

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Alias name example: alias/MyAliasName + *

                                                                    Alias name example: alias/MyAliasName *

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Master key owned by Kinesis Data Streams: alias/aws/kinesis + *

                                                                    Master key owned by Kinesis Data Streams: + * alias/aws/kinesis *

                                                                    *
                                                                  • *
                                                                  @@ -723,32 +759,33 @@ export interface StreamDescriptionSummary { KeyId?: string; /** - *

                                                                  The current status of the stream being described. The stream status is one of the following states:

                                                                  - *
                                                                    + *

                                                                    The current status of the stream being described. The stream status is one of the + * following states:

                                                                    + *
                                                                      *
                                                                    • - *

                                                                      + *

                                                                      * CREATING - The stream is being created. Kinesis Data Streams * immediately returns and sets StreamStatus to * CREATING.

                                                                      - *
                                                                    • + * *
                                                                    • - *

                                                                      + *

                                                                      * DELETING - The stream is being deleted. The specified stream is in * the DELETING state until Kinesis Data Streams completes the * deletion.

                                                                      - *
                                                                    • + * *
                                                                    • - *

                                                                      - * ACTIVE - The stream exists and is ready for read and write - * operations or deletion. You should perform read and write operations only on an + *

                                                                      + * ACTIVE - The stream exists and is ready for read and write + * operations or deletion. You should perform read and write operations only on an * ACTIVE stream.

                                                                      - *
                                                                    • + * *
                                                                    • - *

                                                                      - * UPDATING - Shards in the stream are being merged or split. Read and - * write operations continue to work while the stream is in the + *

                                                                      + * UPDATING - Shards in the stream are being merged or split. Read and + * write operations continue to work while the stream is in the * UPDATING state.

                                                                      - *
                                                                    • + * *
                                                                    */ StreamStatus: StreamStatus | string | undefined; @@ -759,25 +796,30 @@ export interface StreamDescriptionSummary { StreamARN: string | undefined; /** - *

                                                                    The current retention period, in hours.

                                                                    + *

                                                                    The number of enhanced fan-out consumers registered with the stream.

                                                                    */ - RetentionPeriodHours: number | undefined; + ConsumerCount?: number; /** - *

                                                                    Represents the current enhanced monitoring settings of the stream.

                                                                    + *

                                                                    The number of open shards in the stream.

                                                                    */ - EnhancedMonitoring: EnhancedMetrics[] | undefined; + OpenShardCount: number | undefined; + + /** + *

                                                                    The approximate time that the stream was created.

                                                                    + */ + StreamCreationTimestamp: Date | undefined; /** *

                                                                    The encryption type used. This value is one of the following:

                                                                    *
                                                                      *
                                                                    • - *

                                                                      + *

                                                                      * KMS *

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      + *

                                                                      * NONE *

                                                                      *
                                                                    • @@ -791,19 +833,14 @@ export interface StreamDescriptionSummary { StreamName: string | undefined; /** - *

                                                                      The approximate time that the stream was created.

                                                                      - */ - StreamCreationTimestamp: Date | undefined; - - /** - *

                                                                      The number of enhanced fan-out consumers registered with the stream.

                                                                      + *

                                                                      The current retention period, in hours.

                                                                      */ - ConsumerCount?: number; + RetentionPeriodHours: number | undefined; /** - *

                                                                      The number of open shards in the stream.

                                                                      + *

                                                                      Represents the current enhanced monitoring settings of the stream.

                                                                      */ - OpenShardCount: number | undefined; + EnhancedMonitoring: EnhancedMetrics[] | undefined; } export namespace StreamDescriptionSummary { @@ -814,7 +851,8 @@ export namespace StreamDescriptionSummary { export interface DescribeStreamSummaryOutput { /** - *

                                                                      A StreamDescriptionSummary containing information about the stream.

                                                                      + *

                                                                      A StreamDescriptionSummary containing information about the + * stream.

                                                                      */ StreamDescriptionSummary: StreamDescriptionSummary | undefined; } @@ -829,56 +867,50 @@ export namespace DescribeStreamSummaryOutput { *

                                                                      Represents the input for DisableEnhancedMonitoring.

                                                                      */ export interface DisableEnhancedMonitoringInput { - /** - *

                                                                      The name of the Kinesis data stream for which to disable enhanced - * monitoring.

                                                                      - */ - StreamName: string | undefined; - /** *

                                                                      List of shard-level metrics to disable.

                                                                      - *

                                                                      The following are the valid shard-level metrics. The value "ALL" disables - * every metric.

                                                                      + *

                                                                      The following are the valid shard-level metrics. The value "ALL" + * disables every metric.

                                                                      *
                                                                        *
                                                                      • *

                                                                        - * IncomingBytes - *

                                                                        + * IncomingBytes + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * IncomingRecords - *

                                                                        + * IncomingRecords + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * OutgoingBytes - *

                                                                        + * OutgoingBytes + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * OutgoingRecords - *

                                                                        + * OutgoingRecords + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * WriteProvisionedThroughputExceeded - *

                                                                        + * WriteProvisionedThroughputExceeded + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * ReadProvisionedThroughputExceeded - *

                                                                        + * ReadProvisionedThroughputExceeded + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * IteratorAgeMilliseconds - *

                                                                        + * IteratorAgeMilliseconds + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * ALL - *

                                                                        + * ALL + *

                                                                        *
                                                                      • *
                                                                      *

                                                                      For more information, see Monitoring the Amazon @@ -886,6 +918,12 @@ export interface DisableEnhancedMonitoringInput { * Kinesis Data Streams Developer Guide.

                                                                      */ ShardLevelMetrics: (MetricsName | string)[] | undefined; + + /** + *

                                                                      The name of the Kinesis data stream for which to disable enhanced + * monitoring.

                                                                      + */ + StreamName: string | undefined; } export namespace DisableEnhancedMonitoringInput { @@ -895,24 +933,25 @@ export namespace DisableEnhancedMonitoringInput { } /** - *

                                                                      Represents the output for EnableEnhancedMonitoring and - * DisableEnhancedMonitoring.

                                                                      + *

                                                                      Represents the output for EnableEnhancedMonitoring and DisableEnhancedMonitoring.

                                                                      */ export interface EnhancedMonitoringOutput { /** - *

                                                                      The name of the Kinesis data stream.

                                                                      + *

                                                                      Represents the list of all the metrics that would be in the enhanced state after + * the operation.

                                                                      */ - StreamName?: string; + DesiredShardLevelMetrics?: (MetricsName | string)[]; /** - *

                                                                      Represents the current state of the metrics that are in the enhanced state before the operation.

                                                                      + *

                                                                      The name of the Kinesis data stream.

                                                                      */ - CurrentShardLevelMetrics?: (MetricsName | string)[]; + StreamName?: string; /** - *

                                                                      Represents the list of all the metrics that would be in the enhanced state after the operation.

                                                                      + *

                                                                      Represents the current state of the metrics that are in the enhanced state before + * the operation.

                                                                      */ - DesiredShardLevelMetrics?: (MetricsName | string)[]; + CurrentShardLevelMetrics?: (MetricsName | string)[]; } export namespace EnhancedMonitoringOutput { @@ -932,48 +971,48 @@ export interface EnableEnhancedMonitoringInput { /** *

                                                                      List of shard-level metrics to enable.

                                                                      - *

                                                                      The following are the valid shard-level metrics. The value "ALL" enables - * every metric.

                                                                      + *

                                                                      The following are the valid shard-level metrics. The value "ALL" + * enables every metric.

                                                                      *
                                                                        *
                                                                      • *

                                                                        - * IncomingBytes - *

                                                                        + * IncomingBytes + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * IncomingRecords - *

                                                                        + * IncomingRecords + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * OutgoingBytes - *

                                                                        + * OutgoingBytes + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * OutgoingRecords - *

                                                                        + * OutgoingRecords + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * WriteProvisionedThroughputExceeded - *

                                                                        + * WriteProvisionedThroughputExceeded + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * ReadProvisionedThroughputExceeded - *

                                                                        + * ReadProvisionedThroughputExceeded + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * IteratorAgeMilliseconds - *

                                                                        + * IteratorAgeMilliseconds + *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        - * ALL - *

                                                                        + * ALL + *

                                                                        *
                                                                      • *
                                                                      *

                                                                      For more information, see Monitoring the Amazon @@ -1027,16 +1066,18 @@ export namespace ExpiredNextTokenException { */ export interface GetRecordsInput { /** - *

                                                                      The maximum number of records to return. Specify a value of up to 10,000. If you specify - * a value that is greater than 10,000, GetRecords throws - * InvalidArgumentException.

                                                                      + *

                                                                      The position in the shard from which you want to start sequentially reading data + * records. A shard iterator specifies this position using the sequence number of a data + * record in the shard.

                                                                      */ - Limit?: number; + ShardIterator: string | undefined; /** - *

                                                                      The position in the shard from which you want to start sequentially reading data records. A shard iterator specifies this position using the sequence number of a data record in the shard.

                                                                      + *

                                                                      The maximum number of records to return. Specify a value of up to 10,000. If you + * specify a value that is greater than 10,000, GetRecords throws + * InvalidArgumentException. The default value is 10,000.

                                                                      */ - ShardIterator: string | undefined; + Limit?: number; } export namespace GetRecordsInput { @@ -1050,44 +1091,45 @@ export namespace GetRecordsInput { * number, a partition key, and a data blob.

                                                                      */ export interface _Record { - /** - *

                                                                      Identifies which shard in the stream the data record is assigned to.

                                                                      - */ - PartitionKey: string | undefined; - - /** - *

                                                                      The data blob. The data in the blob is both opaque and immutable to Kinesis Data - * Streams, which does not inspect, interpret, or change the data in the blob in any way. - * When the data blob (the payload before base64-encoding) is added to the partition key - * size, the total size must not exceed the maximum record size (1 MB).

                                                                      - */ - Data: Uint8Array | undefined; - /** *

                                                                      The unique identifier of the record within its shard.

                                                                      */ SequenceNumber: string | undefined; /** - *

                                                                      The encryption type used on the record. This parameter can be one of the following values:

                                                                      + *

                                                                      The encryption type used on the record. This parameter can be one of the following + * values:

                                                                      *
                                                                        *
                                                                      • - *

                                                                        + *

                                                                        * NONE: Do not encrypt the records in the stream.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        - * KMS: Use server-side encryption on the records in the stream using a - * customer-managed AWS KMS key.

                                                                        + *

                                                                        + * KMS: Use server-side encryption on the records in the stream + * using a customer-managed AWS KMS key.

                                                                        *
                                                                      • *
                                                                      */ EncryptionType?: EncryptionType | string; + /** + *

                                                                      The data blob. The data in the blob is both opaque and immutable to Kinesis Data + * Streams, which does not inspect, interpret, or change the data in the blob in any way. + * When the data blob (the payload before base64-encoding) is added to the partition key + * size, the total size must not exceed the maximum record size (1 MiB).

                                                                      + */ + Data: Uint8Array | undefined; + /** *

                                                                      The approximate time that the record was inserted into the stream.

                                                                      */ ApproximateArrivalTimestamp?: Date; + + /** + *

                                                                      Identifies which shard in the stream the data record is assigned to.

                                                                      + */ + PartitionKey: string | undefined; } export namespace _Record { @@ -1100,14 +1142,6 @@ export namespace _Record { *

                                                                      Represents the output for GetRecords.

                                                                      */ export interface GetRecordsOutput { - /** - *

                                                                      The number of milliseconds the GetRecords response is from the - * tip of the stream, indicating how far behind current time the consumer is. A value of - * zero indicates that record processing is caught up, and there are no new records to - * process at this moment.

                                                                      - */ - MillisBehindLatest?: number; - /** *

                                                                      The next position in the shard from which to start sequentially reading data * records. If set to null, the shard has been closed and the requested @@ -1119,6 +1153,16 @@ export interface GetRecordsOutput { *

                                                                      The data records retrieved from the shard.

                                                                      */ Records: _Record[] | undefined; + + /** + *

                                                                      The number of milliseconds the GetRecords response is from the + * tip of the stream, indicating how far behind current time the consumer is. A value of + * zero indicates that record processing is caught up, and there are no new records to + * process at this moment.

                                                                      + */ + MillisBehindLatest?: number; + + ChildShards?: ChildShard[]; } export namespace GetRecordsOutput { @@ -1128,7 +1172,8 @@ export namespace GetRecordsOutput { } /** - *

                                                                      The ciphertext references a key that doesn't exist or that you don't have access to.

                                                                      + *

                                                                      The ciphertext references a key that doesn't exist or that you don't have access + * to.

                                                                      */ export interface KMSAccessDeniedException extends __SmithyException, $MetadataBearer { name: "KMSAccessDeniedException"; @@ -1165,9 +1210,10 @@ export namespace KMSDisabledException { } /** - *

                                                                      The request was rejected because the state of the specified resource isn't valid for this request. For more information, see - * How Key State Affects Use of a Customer Master Key in the - * AWS Key Management Service Developer Guide.

                                                                      + *

                                                                      The request was rejected because the state of the specified resource isn't valid + * for this request. For more information, see How Key State Affects Use of a + * Customer Master Key in the AWS Key Management Service Developer + * Guide.

                                                                      */ export interface KMSInvalidStateException extends __SmithyException, $MetadataBearer { name: "KMSInvalidStateException"; @@ -1222,8 +1268,9 @@ export namespace KMSOptInRequired { } /** - *

                                                                      The request was denied due to request throttling. For more information about throttling, see Limits in the - * AWS Key Management Service Developer Guide.

                                                                      + *

                                                                      The request was denied due to request throttling. For more information about + * throttling, see Limits in + * the AWS Key Management Service Developer Guide.

                                                                      */ export interface KMSThrottlingException extends __SmithyException, $MetadataBearer { name: "KMSThrottlingException"; @@ -1276,41 +1323,57 @@ export enum ShardIteratorType { */ export interface GetShardIteratorInput { /** - *

                                                                      The name of the Amazon Kinesis data stream.

                                                                      - */ - StreamName: string | undefined; - - /** - *

                                                                      Determines how the shard iterator is used to start reading data records from the shard.

                                                                      + *

                                                                      Determines how the shard iterator is used to start reading data records from the + * shard.

                                                                      *

                                                                      The following are the valid Amazon Kinesis shard iterator types:

                                                                      *
                                                                        *
                                                                      • - *

                                                                        AT_SEQUENCE_NUMBER - Start reading from the position denoted by a specific sequence - * number, provided in the value StartingSequenceNumber.

                                                                        + * + *

                                                                        AT_SEQUENCE_NUMBER - Start reading from the position denoted by a specific + * sequence number, provided in the value + * StartingSequenceNumber.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a specific - * sequence number, provided in the value StartingSequenceNumber.

                                                                        + * + *

                                                                        AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a + * specific sequence number, provided in the value + * StartingSequenceNumber.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        AT_TIMESTAMP - Start reading from the position denoted by a specific time stamp, provided - * in the value Timestamp.

                                                                        + * + *

                                                                        AT_TIMESTAMP - Start reading from the position denoted by a specific time + * stamp, provided in the value Timestamp.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        TRIM_HORIZON - Start reading at the last untrimmed record in the shard in the system, which is the oldest data record in the shard.

                                                                        + * + *

                                                                        TRIM_HORIZON - Start reading at the last untrimmed record in the shard in + * the system, which is the oldest data record in the shard.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        LATEST - Start reading just after the most recent record in the shard, so that you always read the most recent data in the shard.

                                                                        + * + *

                                                                        LATEST - Start reading just after the most recent record in the shard, so + * that you always read the most recent data in the shard.

                                                                        *
                                                                      • *
                                                                      */ ShardIteratorType: ShardIteratorType | string | undefined; + /** + *

                                                                      The shard ID of the Kinesis Data Streams shard to get the iterator for.

                                                                      + */ + ShardId: string | undefined; + + /** + *

                                                                      The sequence number of the data record in the shard from which to start reading. + * Used with shard iterator type AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER.

                                                                      + */ + StartingSequenceNumber?: string; + /** *

                                                                      The time stamp of the data record from which to start reading. Used with shard * iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date with precision in * milliseconds. For example, 2016-04-04T19:58:46.480-00:00 or - * 1459799926.480. If a record with this exact time stamp does not exist, + * 1459799926.480. If a record with this exact time stamp does not exist, * the iterator returned is for the next (later) record. If the time stamp is older than * the current trim horizon, the iterator returned is for the oldest untrimmed data record * (TRIM_HORIZON).

                                                                      @@ -1318,14 +1381,9 @@ export interface GetShardIteratorInput { Timestamp?: Date; /** - *

                                                                      The shard ID of the Kinesis Data Streams shard to get the iterator for.

                                                                      - */ - ShardId: string | undefined; - - /** - *

                                                                      The sequence number of the data record in the shard from which to start reading. Used with shard iterator type AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER.

                                                                      + *

                                                                      The name of the Amazon Kinesis data stream.

                                                                      */ - StartingSequenceNumber?: string; + StreamName: string | undefined; } export namespace GetShardIteratorInput { @@ -1339,7 +1397,9 @@ export namespace GetShardIteratorInput { */ export interface GetShardIteratorOutput { /** - *

                                                                      The position in the shard from which to start reading data records sequentially. A shard iterator specifies this position using the sequence number of a data record in a shard.

                                                                      + *

                                                                      The position in the shard from which to start reading data records sequentially. A + * shard iterator specifies this position using the sequence number of a data record in a + * shard.

                                                                      */ ShardIterator?: string; } @@ -1355,7 +1415,8 @@ export namespace GetShardIteratorOutput { */ export interface IncreaseStreamRetentionPeriodInput { /** - *

                                                                      The new retention period of the stream, in hours. Must be more than the current retention period.

                                                                      + *

                                                                      The new retention period of the stream, in hours. Must be more than the current + * retention period.

                                                                      */ RetentionPeriodHours: number | undefined; @@ -1371,6 +1432,10 @@ export namespace IncreaseStreamRetentionPeriodInput { }); } +/** + *

                                                                      The processing of the request failed because of an unknown error, exception, or + * failure.

                                                                      + */ export interface InternalFailureException extends __SmithyException { name: "InternalFailureException"; $fault: "server"; @@ -1383,10 +1448,31 @@ export namespace InternalFailureException { }); } +export enum ShardFilterType { + AFTER_SHARD_ID = "AFTER_SHARD_ID", + AT_LATEST = "AT_LATEST", + AT_TIMESTAMP = "AT_TIMESTAMP", + AT_TRIM_HORIZON = "AT_TRIM_HORIZON", + FROM_TIMESTAMP = "FROM_TIMESTAMP", + FROM_TRIM_HORIZON = "FROM_TRIM_HORIZON", +} + +export interface ShardFilter { + ShardId?: string; + Timestamp?: Date; + Type: ShardFilterType | string | undefined; +} + +export namespace ShardFilter { + export const filterSensitiveLog = (obj: ShardFilter): any => ({ + ...obj, + }); +} + export interface ListShardsInput { /** *

                                                                      The maximum number of shards to return in a single call to ListShards. - * The minimum value you can specify for this parameter is 1, and the maximum is 1,000, + * The minimum value you can specify for this parameter is 1, and the maximum is 10,000, * which is also the default.

                                                                      *

                                                                      When the number of shards to be listed is greater than the value of * MaxResults, the response contains a NextToken value that @@ -1395,6 +1481,16 @@ export interface ListShardsInput { */ MaxResults?: number; + /** + *

                                                                      Specify this input parameter to distinguish data streams that have the same name. + * For example, if you create a data stream and then delete it, and you later create + * another data stream with the same name, you can use this input parameter to specify + * which of the two streams you want to list the shards for.

                                                                      + *

                                                                      You cannot specify this parameter if you specify the NextToken + * parameter.

                                                                      + */ + StreamCreationTimestamp?: Date; + /** *

                                                                      When the number of shards in the data stream is greater than the default value for * the MaxResults parameter, or if you explicitly specify a value for @@ -1412,32 +1508,26 @@ export interface ListShardsInput { * value. You can use the new NextToken value in a subsequent call to the * ListShards operation.

                                                                      * - *

                                                                      Tokens expire after 300 seconds. When you obtain a value for NextToken in the - * response to a call to ListShards, you have 300 seconds to use that - * value. If you specify an expired token in a call to ListShards, you get - * ExpiredNextTokenException.

                                                                      - *
                                                                      + *

                                                                      Tokens expire after 300 seconds. When you obtain a value for + * NextToken in the response to a call to ListShards, you + * have 300 seconds to use that value. If you specify an expired token in a call to + * ListShards, you get + * ExpiredNextTokenException.

                                                                      + * */ NextToken?: string; - /** - *

                                                                      Specify this input parameter to distinguish data streams that have the same name. - * For example, if you create a data stream and then delete it, and you later create - * another data stream with the same name, you can use this input parameter to specify - * which of the two streams you want to list the shards for.

                                                                      - *

                                                                      You cannot specify this parameter if you specify the NextToken - * parameter.

                                                                      - */ - StreamCreationTimestamp?: Date; - /** *

                                                                      Specify this parameter to indicate that you want to list the shards starting with * the shard whose ID immediately follows ExclusiveStartShardId.

                                                                      - *

                                                                      If you don't specify this parameter, the default behavior is for ListShards to list the shards starting with the first one in the stream.

                                                                      + *

                                                                      If you don't specify this parameter, the default behavior is for + * ListShards to list the shards starting with the first one in the + * stream.

                                                                      *

                                                                      You cannot specify this parameter if you specify NextToken.

                                                                      */ ExclusiveStartShardId?: string; + ShardFilter?: ShardFilter; /** *

                                                                      The name of the data stream whose shards you want to list.

                                                                      *

                                                                      You cannot specify this parameter if you specify the NextToken @@ -1462,17 +1552,20 @@ export interface ListShardsOutput { * list the next set of shards. For more information about the use of this pagination token * when calling the ListShards operation, see ListShardsInput$NextToken.

                                                                      * - *

                                                                      Tokens expire after 300 seconds. When you obtain a value for NextToken in the - * response to a call to ListShards, you have 300 seconds to use that - * value. If you specify an expired token in a call to ListShards, you get - * ExpiredNextTokenException.

                                                                      - *
                                                                      + *

                                                                      Tokens expire after 300 seconds. When you obtain a value for + * NextToken in the response to a call to ListShards, you + * have 300 seconds to use that value. If you specify an expired token in a call to + * ListShards, you get + * ExpiredNextTokenException.

                                                                      + * */ NextToken?: string; /** - *

                                                                      An array of JSON objects. Each object represents one shard and specifies the IDs of the shard, the shard's parent, - * and the shard that's adjacent to the shard's parent. Each object also contains the starting and ending hash keys and the starting and ending sequence numbers for the shard.

                                                                      + *

                                                                      An array of JSON objects. Each object represents one shard and specifies the IDs of + * the shard, the shard's parent, and the shard that's adjacent to the shard's parent. Each + * object also contains the starting and ending hash keys and the starting and ending + * sequence numbers for the shard.

                                                                      */ Shards?: Shard[]; } @@ -1484,6 +1577,33 @@ export namespace ListShardsOutput { } export interface ListStreamConsumersInput { + /** + *

                                                                      When the number of consumers that are registered with the data stream is greater than + * the default value for the MaxResults parameter, or if you explicitly + * specify a value for MaxResults that is less than the number of consumers + * that are registered with the data stream, the response includes a pagination token named + * NextToken. You can specify this NextToken value in a + * subsequent call to ListStreamConsumers to list the next set of registered + * consumers.

                                                                      + *

                                                                      Don't specify StreamName or StreamCreationTimestamp if you + * specify NextToken because the latter unambiguously identifies the + * stream.

                                                                      + *

                                                                      You can optionally specify a value for the MaxResults parameter when you + * specify NextToken. If you specify a MaxResults value that is + * less than the number of consumers that the operation returns if you don't specify + * MaxResults, the response will contain a new NextToken + * value. You can use the new NextToken value in a subsequent call to the + * ListStreamConsumers operation to list the next set of consumers.

                                                                      + * + *

                                                                      Tokens expire after 300 seconds. When you obtain a value for + * NextToken in the response to a call to + * ListStreamConsumers, you have 300 seconds to use that value. If you + * specify an expired token in a call to ListStreamConsumers, you get + * ExpiredNextTokenException.

                                                                      + *
                                                                      + */ + NextToken?: string; + /** *

                                                                      Specify this input parameter to distinguish data streams that have the same name. For * example, if you create a data stream and then delete it, and you later create another @@ -1494,41 +1614,16 @@ export interface ListStreamConsumersInput { StreamCreationTimestamp?: Date; /** - *

                                                                      When the number of consumers that are registered with the data stream is greater than the default value for - * the MaxResults parameter, or if you explicitly specify a value for - * MaxResults that is less than the number of consumers that are registered with the data stream, - * the response includes a pagination token named NextToken. You can specify - * this NextToken value in a subsequent call to ListStreamConsumers to - * list the next set of registered consumers.

                                                                      - *

                                                                      Don't specify StreamName or StreamCreationTimestamp if - * you specify NextToken because the latter unambiguously identifies the - * stream.

                                                                      - *

                                                                      You can optionally specify a value for the MaxResults parameter when - * you specify NextToken. If you specify a MaxResults value that - * is less than the number of consumers that the operation returns if you don't specify - * MaxResults, the response will contain a new NextToken - * value. You can use the new NextToken value in a subsequent call to the - * ListStreamConsumers operation to list the next set of consumers.

                                                                      - * - *

                                                                      Tokens expire after 300 seconds. When you obtain a value for NextToken in the - * response to a call to ListStreamConsumers, you have 300 seconds to use that - * value. If you specify an expired token in a call to ListStreamConsumers, you get - * ExpiredNextTokenException.

                                                                      - *
                                                                      + *

                                                                      The ARN of the Kinesis data stream for which you want to list the registered + * consumers. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                                      */ - NextToken?: string; + StreamARN: string | undefined; /** *

                                                                      The maximum number of consumers that you want a single call of * ListStreamConsumers to return.

                                                                      */ MaxResults?: number; - - /** - *

                                                                      The ARN of the Kinesis data stream for which you want to list the registered - * consumers. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                                      - */ - StreamARN: string | undefined; } export namespace ListStreamConsumersInput { @@ -1539,26 +1634,28 @@ export namespace ListStreamConsumersInput { export interface ListStreamConsumersOutput { /** - *

                                                                      When the number of consumers that are registered with the data stream is greater than the default value for - * the MaxResults parameter, or if you explicitly specify a value for - * MaxResults that is less than the number of registered consumers, - * the response includes a pagination token named NextToken. You can specify - * this NextToken value in a subsequent call to ListStreamConsumers to - * list the next set of registered consumers. For more information about the use of this pagination token - * when calling the ListStreamConsumers operation, see ListStreamConsumersInput$NextToken.

                                                                      - * - *

                                                                      Tokens expire after 300 seconds. When you obtain a value for NextToken in the - * response to a call to ListStreamConsumers, you have 300 seconds to use that - * value. If you specify an expired token in a call to ListStreamConsumers, you get - * ExpiredNextTokenException.

                                                                      - *
                                                                      + *

                                                                      An array of JSON objects. Each object represents one registered consumer.

                                                                      */ - NextToken?: string; + Consumers?: Consumer[]; /** - *

                                                                      An array of JSON objects. Each object represents one registered consumer.

                                                                      + *

                                                                      When the number of consumers that are registered with the data stream is greater than + * the default value for the MaxResults parameter, or if you explicitly + * specify a value for MaxResults that is less than the number of registered + * consumers, the response includes a pagination token named NextToken. You + * can specify this NextToken value in a subsequent call to + * ListStreamConsumers to list the next set of registered consumers. For + * more information about the use of this pagination token when calling the + * ListStreamConsumers operation, see ListStreamConsumersInput$NextToken.

                                                                      + * + *

                                                                      Tokens expire after 300 seconds. When you obtain a value for + * NextToken in the response to a call to + * ListStreamConsumers, you have 300 seconds to use that value. If you + * specify an expired token in a call to ListStreamConsumers, you get + * ExpiredNextTokenException.

                                                                      + *
                                                                      */ - Consumers?: Consumer[]; + NextToken?: string; } export namespace ListStreamConsumersOutput { @@ -1572,14 +1669,14 @@ export namespace ListStreamConsumersOutput { */ export interface ListStreamsInput { /** - *

                                                                      The name of the stream to start the list with.

                                                                      + *

                                                                      The maximum number of streams to list.

                                                                      */ - ExclusiveStartStreamName?: string; + Limit?: number; /** - *

                                                                      The maximum number of streams to list.

                                                                      + *

                                                                      The name of the stream to start the list with.

                                                                      */ - Limit?: number; + ExclusiveStartStreamName?: string; } export namespace ListStreamsInput { @@ -1592,16 +1689,16 @@ export namespace ListStreamsInput { *

                                                                      Represents the output for ListStreams.

                                                                      */ export interface ListStreamsOutput { - /** - *

                                                                      If set to true, there are more streams available to list.

                                                                      - */ - HasMoreStreams: boolean | undefined; - /** *

                                                                      The names of the streams that are associated with the AWS account making the * ListStreams request.

                                                                      */ StreamNames: string[] | undefined; + + /** + *

                                                                      If set to true, there are more streams available to list.

                                                                      + */ + HasMoreStreams: boolean | undefined; } export namespace ListStreamsOutput { @@ -1614,11 +1711,6 @@ export namespace ListStreamsOutput { *

                                                                      Represents the input for ListTagsForStream.

                                                                      */ export interface ListTagsForStreamInput { - /** - *

                                                                      The name of the stream.

                                                                      - */ - StreamName: string | undefined; - /** *

                                                                      The number of tags to return. If this number is less than the total number of tags * associated with the stream, HasMoreTags is set to true. To @@ -1628,11 +1720,16 @@ export interface ListTagsForStreamInput { Limit?: number; /** - *

                                                                      The key to use as the starting point for the list of tags. If this parameter is set, - * ListTagsForStream gets all tags that occur after + *

                                                                      The key to use as the starting point for the list of tags. If this parameter is + * set, ListTagsForStream gets all tags that occur after * ExclusiveStartTagKey.

                                                                      */ ExclusiveStartTagKey?: string; + + /** + *

                                                                      The name of the stream.

                                                                      + */ + StreamName: string | undefined; } export namespace ListTagsForStreamInput { @@ -1646,14 +1743,17 @@ export namespace ListTagsForStreamInput { */ export interface Tag { /** - *

                                                                      A unique identifier for the tag. Maximum length: 128 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @

                                                                      + *

                                                                      An optional string, typically used to describe or define the tag. Maximum length: + * 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % + * @

                                                                      */ - Key: string | undefined; + Value?: string; /** - *

                                                                      An optional string, typically used to describe or define the tag. Maximum length: 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @

                                                                      + *

                                                                      A unique identifier for the tag. Maximum length: 128 characters. Valid characters: + * Unicode letters, digits, white space, _ . / = + - % @

                                                                      */ - Value?: string; + Key: string | undefined; } export namespace Tag { @@ -1667,16 +1767,17 @@ export namespace Tag { */ export interface ListTagsForStreamOutput { /** - *

                                                                      If set to true, more tags are available. To request additional tags, set - * ExclusiveStartTagKey to the key of the last tag returned.

                                                                      + *

                                                                      A list of tags associated with StreamName, starting with the first tag + * after ExclusiveStartTagKey and up to the specified Limit. + *

                                                                      */ - HasMoreTags: boolean | undefined; + Tags: Tag[] | undefined; /** - *

                                                                      A list of tags associated with StreamName, starting with the first tag after - * ExclusiveStartTagKey and up to the specified Limit.

                                                                      + *

                                                                      If set to true, more tags are available. To request additional tags, + * set ExclusiveStartTagKey to the key of the last tag returned.

                                                                      */ - Tags: Tag[] | undefined; + HasMoreTags: boolean | undefined; } export namespace ListTagsForStreamOutput { @@ -1695,14 +1796,15 @@ export interface MergeShardsInput { AdjacentShardToMerge: string | undefined; /** - *

                                                                      The shard ID of the shard to combine with the adjacent shard for the merge.

                                                                      + *

                                                                      The name of the stream for the merge.

                                                                      */ - ShardToMerge: string | undefined; + StreamName: string | undefined; /** - *

                                                                      The name of the stream for the merge.

                                                                      + *

                                                                      The shard ID of the shard to combine with the adjacent shard for the + * merge.

                                                                      */ - StreamName: string | undefined; + ShardToMerge: string | undefined; } export namespace MergeShardsInput { @@ -1715,25 +1817,26 @@ export namespace MergeShardsInput { *

                                                                      Represents the input for PutRecord.

                                                                      */ export interface PutRecordInput { - /** - *

                                                                      Guarantees strictly increasing sequence numbers, for puts from the same client and - * to the same partition key. Usage: set the SequenceNumberForOrdering of - * record n to the sequence number of record n-1 - * (as returned in the result when putting record n-1). If this - * parameter is not set, records are coarsely ordered based on arrival time.

                                                                      - */ - SequenceNumberForOrdering?: string; - /** *

                                                                      The name of the stream to put the data record into.

                                                                      */ StreamName: string | undefined; /** - *

                                                                      The hash value used to explicitly determine the shard the data record is assigned to by overriding the partition key hash.

                                                                      + *

                                                                      The hash value used to explicitly determine the shard the data record is assigned + * to by overriding the partition key hash.

                                                                      */ ExplicitHashKey?: string; + /** + *

                                                                      Guarantees strictly increasing sequence numbers, for puts from the same client and + * to the same partition key. Usage: set the SequenceNumberForOrdering of + * record n to the sequence number of record n-1 + * (as returned in the result when putting record n-1). If this + * parameter is not set, records are coarsely ordered based on arrival time.

                                                                      + */ + SequenceNumberForOrdering?: string; + /** *

                                                                      Determines which shard in the stream the data record is assigned to. Partition keys * are Unicode strings with a maximum length limit of 256 characters for each key. Amazon @@ -1746,7 +1849,10 @@ export interface PutRecordInput { PartitionKey: string | undefined; /** - *

                                                                      The data blob to put into the record, which is base64-encoded when the blob is serialized. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MB).

                                                                      + *

                                                                      The data blob to put into the record, which is base64-encoded when the blob is + * serialized. When the data blob (the payload before base64-encoding) is added to the + * partition key size, the total size must not exceed the maximum record size (1 + * MiB).

                                                                      */ Data: Uint8Array | undefined; } @@ -1762,30 +1868,33 @@ export namespace PutRecordInput { */ export interface PutRecordOutput { /** - *

                                                                      The encryption type to use on the record. This parameter can be one of the following values:

                                                                      + *

                                                                      The shard ID of the shard where the data record was placed.

                                                                      + */ + ShardId: string | undefined; + + /** + *

                                                                      The sequence number identifier that was assigned to the put data record. The + * sequence number for the record is unique across all records in the stream. A sequence + * number is the identifier associated with every record put into the stream.

                                                                      + */ + SequenceNumber: string | undefined; + + /** + *

                                                                      The encryption type to use on the record. This parameter can be one of the + * following values:

                                                                      *
                                                                        *
                                                                      • - *

                                                                        + *

                                                                        * NONE: Do not encrypt the records in the stream.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        - * KMS: Use server-side encryption on the records in the stream using a - * customer-managed AWS KMS key.

                                                                        + *

                                                                        + * KMS: Use server-side encryption on the records in the stream + * using a customer-managed AWS KMS key.

                                                                        *
                                                                      • *
                                                                      */ EncryptionType?: EncryptionType | string; - - /** - *

                                                                      The shard ID of the shard where the data record was placed.

                                                                      - */ - ShardId: string | undefined; - - /** - *

                                                                      The sequence number identifier that was assigned to the put data record. The sequence number for the record is unique across all records in the stream. A sequence number is the identifier associated with every record put into the stream.

                                                                      - */ - SequenceNumber: string | undefined; } export namespace PutRecordOutput { @@ -1799,8 +1908,16 @@ export namespace PutRecordOutput { */ export interface PutRecordsRequestEntry { /** - *

                                                                      Determines which shard in the stream the data record is assigned to. Partition keys - * are Unicode strings with a maximum length limit of 256 characters for each key. Amazon + *

                                                                      The data blob to put into the record, which is base64-encoded when the blob is + * serialized. When the data blob (the payload before base64-encoding) is added to the + * partition key size, the total size must not exceed the maximum record size (1 + * MiB).

                                                                      + */ + Data: Uint8Array | undefined; + + /** + *

                                                                      Determines which shard in the stream the data record is assigned to. Partition keys + * are Unicode strings with a maximum length limit of 256 characters for each key. Amazon * Kinesis Data Streams uses the partition key as input to a hash function that maps the * partition key and associated data to a specific shard. Specifically, an MD5 hash * function is used to map partition keys to 128-bit integer values and to map associated @@ -1810,12 +1927,8 @@ export interface PutRecordsRequestEntry { PartitionKey: string | undefined; /** - *

                                                                      The data blob to put into the record, which is base64-encoded when the blob is serialized. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MB).

                                                                      - */ - Data: Uint8Array | undefined; - - /** - *

                                                                      The hash value used to determine explicitly the shard that the data record is assigned to by overriding the partition key hash.

                                                                      + *

                                                                      The hash value used to determine explicitly the shard that the data record is + * assigned to by overriding the partition key hash.

                                                                      */ ExplicitHashKey?: string; } @@ -1831,14 +1944,14 @@ export namespace PutRecordsRequestEntry { */ export interface PutRecordsInput { /** - *

                                                                      The stream name associated with the request.

                                                                      + *

                                                                      The records associated with the request.

                                                                      */ - StreamName: string | undefined; + Records: PutRecordsRequestEntry[] | undefined; /** - *

                                                                      The records associated with the request.

                                                                      + *

                                                                      The stream name associated with the request.

                                                                      */ - Records: PutRecordsRequestEntry[] | undefined; + StreamName: string | undefined; } export namespace PutRecordsInput { @@ -1848,37 +1961,38 @@ export namespace PutRecordsInput { } /** - *

                                                                      Represents the result of an individual record from a PutRecords request. A - * record that is successfully added to a stream includes SequenceNumber and - * ShardId in the result. A record that fails to be added to the stream - * includes ErrorCode and ErrorMessage in the result.

                                                                      + *

                                                                      Represents the result of an individual record from a PutRecords + * request. A record that is successfully added to a stream includes + * SequenceNumber and ShardId in the result. A record that + * fails to be added to the stream includes ErrorCode and + * ErrorMessage in the result.

                                                                      */ export interface PutRecordsResultEntry { /** - *

                                                                      The shard ID for an individual record result.

                                                                      - */ - ShardId?: string; - - /** - *

                                                                      The sequence number for an individual record result.

                                                                      + *

                                                                      The error code for an individual record result. ErrorCodes can be + * either ProvisionedThroughputExceededException or + * InternalFailure.

                                                                      */ - SequenceNumber?: string; + ErrorCode?: string; /** - *

                                                                      The error code for an individual record result. ErrorCodes can be either - * ProvisionedThroughputExceededException or - * InternalFailure.

                                                                      + *

                                                                      The shard ID for an individual record result.

                                                                      */ - ErrorCode?: string; + ShardId?: string; /** - *

                                                                      The error message for an individual record result. An ErrorCode value of - * ProvisionedThroughputExceededException has an error message that + *

                                                                      The error message for an individual record result. An ErrorCode value + * of ProvisionedThroughputExceededException has an error message that * includes the account ID, stream name, and shard ID. An ErrorCode value of * InternalFailure has the error message "Internal Service * Failure".

                                                                      */ ErrorMessage?: string; + + /** + *

                                                                      The sequence number for an individual record result.

                                                                      + */ + SequenceNumber?: string; } export namespace PutRecordsResultEntry { @@ -1893,34 +2007,36 @@ export namespace PutRecordsResultEntry { */ export interface PutRecordsOutput { /** - *

                                                                      The encryption type used on the records. This parameter can be one of the following values:

                                                                      + *

                                                                      An array of successfully and unsuccessfully processed record results, correlated + * with the request by natural ordering. A record that is successfully added to a stream + * includes SequenceNumber and ShardId in the result. A record + * that fails to be added to a stream includes ErrorCode and + * ErrorMessage in the result.

                                                                      + */ + Records: PutRecordsResultEntry[] | undefined; + + /** + *

                                                                      The encryption type used on the records. This parameter can be one of the following + * values:

                                                                      *
                                                                        *
                                                                      • - *

                                                                        + *

                                                                        * NONE: Do not encrypt the records.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        - * KMS: Use server-side encryption on the records using a customer-managed AWS - * KMS key.

                                                                        + *

                                                                        + * KMS: Use server-side encryption on the records using a + * customer-managed AWS KMS key.

                                                                        *
                                                                      • *
                                                                      */ EncryptionType?: EncryptionType | string; /** - *

                                                                      The number of unsuccessfully processed records in a PutRecords request.

                                                                      + *

                                                                      The number of unsuccessfully processed records in a PutRecords + * request.

                                                                      */ FailedRecordCount?: number; - - /** - *

                                                                      An array of successfully and unsuccessfully processed record results, correlated with the - * request by natural ordering. A record that is successfully added to a stream includes - * SequenceNumber and ShardId in the result. A record that - * fails to be added to a stream includes ErrorCode and - * ErrorMessage in the result.

                                                                      - */ - Records: PutRecordsResultEntry[] | undefined; } export namespace PutRecordsOutput { @@ -1931,15 +2047,16 @@ export namespace PutRecordsOutput { export interface RegisterStreamConsumerInput { /** - *

                                                                      The ARN of the Kinesis data stream that you want to register the consumer with. - * For more info, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                                      + *

                                                                      For a given Kinesis data stream, each consumer must have a unique name. However, + * consumer names don't have to be unique across data streams.

                                                                      */ - StreamARN: string | undefined; + ConsumerName: string | undefined; /** - *

                                                                      For a given Kinesis data stream, each consumer must have a unique name. However, consumer names don't have to be unique across data streams.

                                                                      + *

                                                                      The ARN of the Kinesis data stream that you want to register the consumer with. For + * more info, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

                                                                      */ - ConsumerName: string | undefined; + StreamARN: string | undefined; } export namespace RegisterStreamConsumerInput { @@ -1988,8 +2105,13 @@ export namespace RemoveTagsFromStreamInput { */ export interface SplitShardInput { /** - *

                                                                      A hash key value for the starting hash key of one of the child shards created by the - * split. The hash key range for a given shard constitutes a set of ordered contiguous + *

                                                                      The shard ID of the shard to split.

                                                                      + */ + ShardToSplit: string | undefined; + + /** + *

                                                                      A hash key value for the starting hash key of one of the child shards created by + * the split. The hash key range for a given shard constitutes a set of ordered contiguous * positive integers. The value for NewStartingHashKey must be in the range of * hash keys being mapped into the shard. The NewStartingHashKey hash key * value and all higher hash key values in hash key range are distributed to one of the @@ -1998,11 +2120,6 @@ export interface SplitShardInput { */ NewStartingHashKey: string | undefined; - /** - *

                                                                      The shard ID of the shard to split.

                                                                      - */ - ShardToSplit: string | undefined; - /** *

                                                                      The name of the stream for the shard split.

                                                                      */ @@ -2016,6 +2133,16 @@ export namespace SplitShardInput { } export interface StartStreamEncryptionInput { + /** + *

                                                                      The name of the stream for which to start encrypting records.

                                                                      + */ + StreamName: string | undefined; + + /** + *

                                                                      The encryption type to use. The only valid value is KMS.

                                                                      + */ + EncryptionType: EncryptionType | string | undefined; + /** *

                                                                      The GUID for the customer-managed AWS KMS key to use for encryption. This value can * be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either @@ -2024,40 +2151,32 @@ export interface StartStreamEncryptionInput { * aws/kinesis.

                                                                      *
                                                                        *
                                                                      • - *

                                                                        Key ARN example: + *

                                                                        Key ARN example: * arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 *

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        Alias ARN example: - * arn:aws:kms:us-east-1:123456789012:alias/MyAliasName + *

                                                                        Alias ARN example: + * arn:aws:kms:us-east-1:123456789012:alias/MyAliasName *

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        Globally unique key ID example: 12345678-1234-1234-1234-123456789012 + *

                                                                        Globally unique key ID example: + * 12345678-1234-1234-1234-123456789012 *

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        Alias name example: alias/MyAliasName + *

                                                                        Alias name example: alias/MyAliasName *

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        Master key owned by Kinesis Data Streams: alias/aws/kinesis + *

                                                                        Master key owned by Kinesis Data Streams: + * alias/aws/kinesis *

                                                                        *
                                                                      • *
                                                                      */ KeyId: string | undefined; - - /** - *

                                                                      The encryption type to use. The only valid value is KMS.

                                                                      - */ - EncryptionType: EncryptionType | string | undefined; - - /** - *

                                                                      The name of the stream for which to start encrypting records.

                                                                      - */ - StreamName: string | undefined; } export namespace StartStreamEncryptionInput { @@ -2067,6 +2186,16 @@ export namespace StartStreamEncryptionInput { } export interface StopStreamEncryptionInput { + /** + *

                                                                      The name of the stream on which to stop encrypting records.

                                                                      + */ + StreamName: string | undefined; + + /** + *

                                                                      The encryption type. The only valid value is KMS.

                                                                      + */ + EncryptionType: EncryptionType | string | undefined; + /** *

                                                                      The GUID for the customer-managed AWS KMS key to use for encryption. This value can * be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either @@ -2075,40 +2204,32 @@ export interface StopStreamEncryptionInput { * aws/kinesis.

                                                                      *
                                                                        *
                                                                      • - *

                                                                        Key ARN example: + *

                                                                        Key ARN example: * arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 *

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        Alias ARN example: - * arn:aws:kms:us-east-1:123456789012:alias/MyAliasName + *

                                                                        Alias ARN example: + * arn:aws:kms:us-east-1:123456789012:alias/MyAliasName *

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        Globally unique key ID example: 12345678-1234-1234-1234-123456789012 + *

                                                                        Globally unique key ID example: + * 12345678-1234-1234-1234-123456789012 *

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        Alias name example: alias/MyAliasName + *

                                                                        Alias name example: alias/MyAliasName *

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        Master key owned by Kinesis Data Streams: alias/aws/kinesis + *

                                                                        Master key owned by Kinesis Data Streams: + * alias/aws/kinesis *

                                                                        *
                                                                      • *
                                                                      */ KeyId: string | undefined; - - /** - *

                                                                      The name of the stream on which to stop encrypting records.

                                                                      - */ - StreamName: string | undefined; - - /** - *

                                                                      The encryption type. The only valid value is KMS.

                                                                      - */ - EncryptionType: EncryptionType | string | undefined; } export namespace StopStreamEncryptionInput { @@ -2117,10 +2238,47 @@ export namespace StopStreamEncryptionInput { }); } +/** + *

                                                                      + */ export interface StartingPosition { + /** + *

                                                                      The time stamp of the data record from which to start reading. To specify a time + * stamp, set StartingPosition to Type AT_TIMESTAMP. A time stamp + * is the Unix epoch date with precision in milliseconds. For example, + * 2016-04-04T19:58:46.480-00:00 or 1459799926.480. If a + * record with this exact time stamp does not exist, records will be streamed from the next + * (later) record. If the time stamp is older than the current trim horizon, records will + * be streamed from the oldest untrimmed data record (TRIM_HORIZON).

                                                                      + */ + Timestamp?: Date; + + /** + *

                                                                      The sequence number of the data record in the shard from which to start streaming. To + * specify a sequence number, set StartingPosition to + * AT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER.

                                                                      + */ SequenceNumber?: string; + + /** + *

                                                                      You can set the starting position to one of the following values:

                                                                      + *

                                                                      + * AT_SEQUENCE_NUMBER: Start streaming from the position denoted by the + * sequence number specified in the SequenceNumber field.

                                                                      + *

                                                                      + * AFTER_SEQUENCE_NUMBER: Start streaming right after the position denoted + * by the sequence number specified in the SequenceNumber field.

                                                                      + *

                                                                      + * AT_TIMESTAMP: Start streaming from the position denoted by the time stamp + * specified in the Timestamp field.

                                                                      + *

                                                                      + * TRIM_HORIZON: Start streaming at the last untrimmed record in the shard, + * which is the oldest data record in the shard.

                                                                      + *

                                                                      + * LATEST: Start streaming just after the most recent record in the shard, + * so that you always read the most recent data in the shard.

                                                                      + */ Type: ShardIteratorType | string | undefined; - Timestamp?: Date; } export namespace StartingPosition { @@ -2130,18 +2288,21 @@ export namespace StartingPosition { } export interface SubscribeToShardInput { - /** - *

                                                                      For this parameter, use the value you obtained when you called RegisterStreamConsumer.

                                                                      - */ - ConsumerARN: string | undefined; - /** *

                                                                      The ID of the shard you want to subscribe to. To see a list of all the shards for a * given stream, use ListShards.

                                                                      */ ShardId: string | undefined; + /** + *

                                                                      + */ StartingPosition: StartingPosition | undefined; + + /** + *

                                                                      For this parameter, use the value you obtained when you called RegisterStreamConsumer.

                                                                      + */ + ConsumerARN: string | undefined; } export namespace SubscribeToShardInput { @@ -2151,24 +2312,31 @@ export namespace SubscribeToShardInput { } /** - *

                                                                      After you call SubscribeToShard, Kinesis Data Streams sends events of this type to your consumer.

                                                                      + *

                                                                      After you call SubscribeToShard, Kinesis Data Streams sends events + * of this type over an HTTP/2 connection to your consumer.

                                                                      */ export interface SubscribeToShardEvent { - /** - *

                                                                      The number of milliseconds the read records are from the tip of the stream, indicating how far behind current time the consumer is. - * A value of zero indicates that record processing is caught up, and there are no new records to process at this moment.

                                                                      - */ - MillisBehindLatest: number | undefined; - /** *

                                                                      */ Records: _Record[] | undefined; /** - *

                                                                      Use this as StartingSequenceNumber in the next call to SubscribeToShard.

                                                                      + *

                                                                      Use this as SequenceNumber in the next call to SubscribeToShard, with StartingPosition set to + * AT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER. Use + * ContinuationSequenceNumber for checkpointing because it captures your + * shard progress even when no data is written to the shard.

                                                                      */ ContinuationSequenceNumber: string | undefined; + + /** + *

                                                                      The number of milliseconds the read records are from the tip of the stream, indicating + * how far behind current time the consumer is. A value of zero indicates that record + * processing is caught up, and there are no new records to process at this moment.

                                                                      + */ + MillisBehindLatest: number | undefined; + + ChildShards?: ChildShard[]; } export namespace SubscribeToShardEvent { @@ -2177,6 +2345,10 @@ export namespace SubscribeToShardEvent { }); } +/** + *

                                                                      This is a tagged union for all of the types of events an enhanced fan-out consumer can + * receive over HTTP/2 after a call to SubscribeToShard.

                                                                      + */ export type SubscribeToShardEventStream = | SubscribeToShardEventStream.InternalFailureExceptionMember | SubscribeToShardEventStream.KMSAccessDeniedExceptionMember @@ -2192,208 +2364,222 @@ export type SubscribeToShardEventStream = export namespace SubscribeToShardEventStream { /** - *

                                                                      The request was denied due to request throttling. For more information about throttling, see Limits in the - * AWS Key Management Service Developer Guide.

                                                                      + *

                                                                      The request was denied due to request throttling. For more information about + * throttling, see Limits in + * the AWS Key Management Service Developer Guide.

                                                                      */ export interface KMSThrottlingExceptionMember { KMSThrottlingException: KMSThrottlingException; + InternalFailureException?: never; + ResourceInUseException?: never; + KMSOptInRequired?: never; KMSDisabledException?: never; KMSAccessDeniedException?: never; KMSInvalidStateException?: never; KMSNotFoundException?: never; ResourceNotFoundException?: never; SubscribeToShardEvent?: never; - ResourceInUseException?: never; - InternalFailureException?: never; - KMSOptInRequired?: never; $unknown?: never; } /** - *

                                                                      The request was rejected because the specified customer master key (CMK) isn't - * enabled.

                                                                      + *

                                                                      The processing of the request failed because of an unknown error, exception, or + * failure.

                                                                      */ - export interface KMSDisabledExceptionMember { + export interface InternalFailureExceptionMember { KMSThrottlingException?: never; - KMSDisabledException: KMSDisabledException; + InternalFailureException: InternalFailureException; + ResourceInUseException?: never; + KMSOptInRequired?: never; + KMSDisabledException?: never; KMSAccessDeniedException?: never; KMSInvalidStateException?: never; KMSNotFoundException?: never; ResourceNotFoundException?: never; SubscribeToShardEvent?: never; - ResourceInUseException?: never; - InternalFailureException?: never; - KMSOptInRequired?: never; $unknown?: never; } /** - *

                                                                      The ciphertext references a key that doesn't exist or that you don't have access to.

                                                                      + *

                                                                      The resource is not available for this operation. For successful operation, the + * resource must be in the ACTIVE state.

                                                                      */ - export interface KMSAccessDeniedExceptionMember { + export interface ResourceInUseExceptionMember { KMSThrottlingException?: never; + InternalFailureException?: never; + ResourceInUseException: ResourceInUseException; + KMSOptInRequired?: never; KMSDisabledException?: never; - KMSAccessDeniedException: KMSAccessDeniedException; + KMSAccessDeniedException?: never; KMSInvalidStateException?: never; KMSNotFoundException?: never; ResourceNotFoundException?: never; SubscribeToShardEvent?: never; - ResourceInUseException?: never; - InternalFailureException?: never; - KMSOptInRequired?: never; $unknown?: never; } /** - *

                                                                      The request was rejected because the state of the specified resource isn't valid for this request. For more information, see - * How Key State Affects Use of a Customer Master Key in the - * AWS Key Management Service Developer Guide.

                                                                      + *

                                                                      The AWS access key ID needs a subscription for the service.

                                                                      */ - export interface KMSInvalidStateExceptionMember { + export interface KMSOptInRequiredMember { KMSThrottlingException?: never; + InternalFailureException?: never; + ResourceInUseException?: never; + KMSOptInRequired: KMSOptInRequired; KMSDisabledException?: never; KMSAccessDeniedException?: never; - KMSInvalidStateException: KMSInvalidStateException; + KMSInvalidStateException?: never; KMSNotFoundException?: never; ResourceNotFoundException?: never; SubscribeToShardEvent?: never; - ResourceInUseException?: never; - InternalFailureException?: never; - KMSOptInRequired?: never; $unknown?: never; } /** - *

                                                                      The request was rejected because the specified entity or resource can't be - * found.

                                                                      + *

                                                                      The request was rejected because the specified customer master key (CMK) isn't + * enabled.

                                                                      */ - export interface KMSNotFoundExceptionMember { + export interface KMSDisabledExceptionMember { KMSThrottlingException?: never; - KMSDisabledException?: never; + InternalFailureException?: never; + ResourceInUseException?: never; + KMSOptInRequired?: never; + KMSDisabledException: KMSDisabledException; KMSAccessDeniedException?: never; KMSInvalidStateException?: never; - KMSNotFoundException: KMSNotFoundException; + KMSNotFoundException?: never; ResourceNotFoundException?: never; SubscribeToShardEvent?: never; - ResourceInUseException?: never; - InternalFailureException?: never; - KMSOptInRequired?: never; $unknown?: never; } /** - *

                                                                      The requested resource could not be found. The stream might not be specified correctly.

                                                                      + *

                                                                      The ciphertext references a key that doesn't exist or that you don't have access + * to.

                                                                      */ - export interface ResourceNotFoundExceptionMember { + export interface KMSAccessDeniedExceptionMember { KMSThrottlingException?: never; + InternalFailureException?: never; + ResourceInUseException?: never; + KMSOptInRequired?: never; KMSDisabledException?: never; - KMSAccessDeniedException?: never; + KMSAccessDeniedException: KMSAccessDeniedException; KMSInvalidStateException?: never; KMSNotFoundException?: never; - ResourceNotFoundException: ResourceNotFoundException; + ResourceNotFoundException?: never; SubscribeToShardEvent?: never; - ResourceInUseException?: never; - InternalFailureException?: never; - KMSOptInRequired?: never; $unknown?: never; } /** - *

                                                                      After you call SubscribeToShard, Kinesis Data Streams sends events of this type to your consumer.

                                                                      + *

                                                                      The request was rejected because the state of the specified resource isn't valid + * for this request. For more information, see How Key State Affects Use of a + * Customer Master Key in the AWS Key Management Service Developer + * Guide.

                                                                      */ - export interface SubscribeToShardEventMember { + export interface KMSInvalidStateExceptionMember { KMSThrottlingException?: never; + InternalFailureException?: never; + ResourceInUseException?: never; + KMSOptInRequired?: never; KMSDisabledException?: never; KMSAccessDeniedException?: never; - KMSInvalidStateException?: never; + KMSInvalidStateException: KMSInvalidStateException; KMSNotFoundException?: never; ResourceNotFoundException?: never; - SubscribeToShardEvent: SubscribeToShardEvent; - ResourceInUseException?: never; - InternalFailureException?: never; - KMSOptInRequired?: never; + SubscribeToShardEvent?: never; $unknown?: never; } /** - *

                                                                      The resource is not available for this operation. For successful operation, the - * resource must be in the ACTIVE state.

                                                                      + *

                                                                      The request was rejected because the specified entity or resource can't be + * found.

                                                                      */ - export interface ResourceInUseExceptionMember { + export interface KMSNotFoundExceptionMember { KMSThrottlingException?: never; + InternalFailureException?: never; + ResourceInUseException?: never; + KMSOptInRequired?: never; KMSDisabledException?: never; KMSAccessDeniedException?: never; KMSInvalidStateException?: never; - KMSNotFoundException?: never; + KMSNotFoundException: KMSNotFoundException; ResourceNotFoundException?: never; SubscribeToShardEvent?: never; - ResourceInUseException: ResourceInUseException; - InternalFailureException?: never; - KMSOptInRequired?: never; $unknown?: never; } - export interface InternalFailureExceptionMember { + /** + *

                                                                      The requested resource could not be found. The stream might not be specified + * correctly.

                                                                      + */ + export interface ResourceNotFoundExceptionMember { KMSThrottlingException?: never; + InternalFailureException?: never; + ResourceInUseException?: never; + KMSOptInRequired?: never; KMSDisabledException?: never; KMSAccessDeniedException?: never; KMSInvalidStateException?: never; KMSNotFoundException?: never; - ResourceNotFoundException?: never; + ResourceNotFoundException: ResourceNotFoundException; SubscribeToShardEvent?: never; - ResourceInUseException?: never; - InternalFailureException: InternalFailureException; - KMSOptInRequired?: never; $unknown?: never; } /** - *

                                                                      The AWS access key ID needs a subscription for the service.

                                                                      + *

                                                                      After you call SubscribeToShard, Kinesis Data Streams sends events + * of this type to your consumer. For an example of how to handle these events, see Enhanced Fan-Out + * Using the Kinesis Data Streams API.

                                                                      */ - export interface KMSOptInRequiredMember { + export interface SubscribeToShardEventMember { KMSThrottlingException?: never; + InternalFailureException?: never; + ResourceInUseException?: never; + KMSOptInRequired?: never; KMSDisabledException?: never; KMSAccessDeniedException?: never; KMSInvalidStateException?: never; KMSNotFoundException?: never; ResourceNotFoundException?: never; - SubscribeToShardEvent?: never; - ResourceInUseException?: never; - InternalFailureException?: never; - KMSOptInRequired: KMSOptInRequired; + SubscribeToShardEvent: SubscribeToShardEvent; $unknown?: never; } export interface $UnknownMember { KMSThrottlingException?: never; + InternalFailureException?: never; + ResourceInUseException?: never; + KMSOptInRequired?: never; KMSDisabledException?: never; KMSAccessDeniedException?: never; KMSInvalidStateException?: never; KMSNotFoundException?: never; ResourceNotFoundException?: never; SubscribeToShardEvent?: never; - ResourceInUseException?: never; - InternalFailureException?: never; - KMSOptInRequired?: never; $unknown: [string, any]; } export interface Visitor { KMSThrottlingException: (value: KMSThrottlingException) => T; + InternalFailureException: (value: InternalFailureException) => T; + ResourceInUseException: (value: ResourceInUseException) => T; + KMSOptInRequired: (value: KMSOptInRequired) => T; KMSDisabledException: (value: KMSDisabledException) => T; KMSAccessDeniedException: (value: KMSAccessDeniedException) => T; KMSInvalidStateException: (value: KMSInvalidStateException) => T; KMSNotFoundException: (value: KMSNotFoundException) => T; ResourceNotFoundException: (value: ResourceNotFoundException) => T; SubscribeToShardEvent: (value: SubscribeToShardEvent) => T; - ResourceInUseException: (value: ResourceInUseException) => T; - InternalFailureException: (value: InternalFailureException) => T; - KMSOptInRequired: (value: KMSOptInRequired) => T; _: (name: string, value: any) => T; } export const visit = (value: SubscribeToShardEventStream, visitor: Visitor): T => { if (value.KMSThrottlingException !== undefined) return visitor.KMSThrottlingException(value.KMSThrottlingException); + if (value.InternalFailureException !== undefined) + return visitor.InternalFailureException(value.InternalFailureException); + if (value.ResourceInUseException !== undefined) return visitor.ResourceInUseException(value.ResourceInUseException); + if (value.KMSOptInRequired !== undefined) return visitor.KMSOptInRequired(value.KMSOptInRequired); if (value.KMSDisabledException !== undefined) return visitor.KMSDisabledException(value.KMSDisabledException); if (value.KMSAccessDeniedException !== undefined) return visitor.KMSAccessDeniedException(value.KMSAccessDeniedException); @@ -2403,16 +2589,18 @@ export namespace SubscribeToShardEventStream { if (value.ResourceNotFoundException !== undefined) return visitor.ResourceNotFoundException(value.ResourceNotFoundException); if (value.SubscribeToShardEvent !== undefined) return visitor.SubscribeToShardEvent(value.SubscribeToShardEvent); - if (value.ResourceInUseException !== undefined) return visitor.ResourceInUseException(value.ResourceInUseException); - if (value.InternalFailureException !== undefined) - return visitor.InternalFailureException(value.InternalFailureException); - if (value.KMSOptInRequired !== undefined) return visitor.KMSOptInRequired(value.KMSOptInRequired); return visitor._(value.$unknown[0], value.$unknown[1]); }; export const filterSensitiveLog = (obj: SubscribeToShardEventStream): any => { if (obj.KMSThrottlingException !== undefined) return { KMSThrottlingException: KMSThrottlingException.filterSensitiveLog(obj.KMSThrottlingException) }; + if (obj.InternalFailureException !== undefined) + return { InternalFailureException: InternalFailureException.filterSensitiveLog(obj.InternalFailureException) }; + if (obj.ResourceInUseException !== undefined) + return { ResourceInUseException: ResourceInUseException.filterSensitiveLog(obj.ResourceInUseException) }; + if (obj.KMSOptInRequired !== undefined) + return { KMSOptInRequired: KMSOptInRequired.filterSensitiveLog(obj.KMSOptInRequired) }; if (obj.KMSDisabledException !== undefined) return { KMSDisabledException: KMSDisabledException.filterSensitiveLog(obj.KMSDisabledException) }; if (obj.KMSAccessDeniedException !== undefined) @@ -2425,12 +2613,6 @@ export namespace SubscribeToShardEventStream { return { ResourceNotFoundException: ResourceNotFoundException.filterSensitiveLog(obj.ResourceNotFoundException) }; if (obj.SubscribeToShardEvent !== undefined) return { SubscribeToShardEvent: SubscribeToShardEvent.filterSensitiveLog(obj.SubscribeToShardEvent) }; - if (obj.ResourceInUseException !== undefined) - return { ResourceInUseException: ResourceInUseException.filterSensitiveLog(obj.ResourceInUseException) }; - if (obj.InternalFailureException !== undefined) - return { InternalFailureException: InternalFailureException.filterSensitiveLog(obj.InternalFailureException) }; - if (obj.KMSOptInRequired !== undefined) - return { KMSOptInRequired: KMSOptInRequired.filterSensitiveLog(obj.KMSOptInRequired) }; if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; }; } @@ -2455,19 +2637,38 @@ export enum ScalingType { export interface UpdateShardCountInput { /** - *

                                                                      The name of the stream.

                                                                      + *

                                                                      The scaling type. Uniform scaling creates shards of equal size.

                                                                      */ - StreamName: string | undefined; + ScalingType: ScalingType | string | undefined; /** - *

                                                                      The new number of shards.

                                                                      + *

                                                                      The name of the stream.

                                                                      */ - TargetShardCount: number | undefined; + StreamName: string | undefined; /** - *

                                                                      The scaling type. Uniform scaling creates shards of equal size.

                                                                      + *

                                                                      The new number of shards. This value has the following default limits. By default, + * you cannot do the following:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Set this value to more than double your current shard count for a + * stream.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Set this value below half your current shard count for a stream.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Set this value to more than 500 shards in a stream (the default limit for + * shard count per stream is 500 per account per region), unless you request a + * limit increase.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Scale a stream with more than 500 shards down unless you set this value to + * less than 500 shards.

                                                                        + *
                                                                      • + *
                                                                      */ - ScalingType: ScalingType | string | undefined; + TargetShardCount: number | undefined; } export namespace UpdateShardCountInput { @@ -2477,11 +2678,6 @@ export namespace UpdateShardCountInput { } export interface UpdateShardCountOutput { - /** - *

                                                                      The current number of shards.

                                                                      - */ - CurrentShardCount?: number; - /** *

                                                                      The name of the stream.

                                                                      */ @@ -2491,6 +2687,11 @@ export interface UpdateShardCountOutput { *

                                                                      The updated number of shards.

                                                                      */ TargetShardCount?: number; + + /** + *

                                                                      The current number of shards.

                                                                      + */ + CurrentShardCount?: number; } export namespace UpdateShardCountOutput { diff --git a/clients/client-kinesis/protocols/Aws_json1_1.ts b/clients/client-kinesis/protocols/Aws_json1_1.ts index 894a3a7e8ede..8ad9cb8c5427 100644 --- a/clients/client-kinesis/protocols/Aws_json1_1.ts +++ b/clients/client-kinesis/protocols/Aws_json1_1.ts @@ -64,6 +64,7 @@ import { SubscribeToShardCommandInput, SubscribeToShardCommandOutput } from "../ import { UpdateShardCountCommandInput, UpdateShardCountCommandOutput } from "../commands/UpdateShardCountCommand"; import { AddTagsToStreamInput, + ChildShard, Consumer, ConsumerDescription, CreateStreamInput, @@ -123,6 +124,7 @@ import { ResourceNotFoundException, SequenceNumberRange, Shard, + ShardFilter, SplitShardInput, StartStreamEncryptionInput, StartingPosition, @@ -3080,6 +3082,9 @@ const serializeAws_json1_1ListShardsInput = (input: ListShardsInput, context: __ ...(input.ExclusiveStartShardId !== undefined && { ExclusiveStartShardId: input.ExclusiveStartShardId }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.ShardFilter !== undefined && { + ShardFilter: serializeAws_json1_1ShardFilter(input.ShardFilter, context), + }), ...(input.StreamCreationTimestamp !== undefined && { StreamCreationTimestamp: Math.round(input.StreamCreationTimestamp.getTime() / 1000), }), @@ -3184,6 +3189,14 @@ const serializeAws_json1_1RemoveTagsFromStreamInput = ( }; }; +const serializeAws_json1_1ShardFilter = (input: ShardFilter, context: __SerdeContext): any => { + return { + ...(input.ShardId !== undefined && { ShardId: input.ShardId }), + ...(input.Timestamp !== undefined && { Timestamp: Math.round(input.Timestamp.getTime() / 1000) }), + ...(input.Type !== undefined && { Type: input.Type }), + }; +}; + const serializeAws_json1_1SplitShardInput = (input: SplitShardInput, context: __SerdeContext): any => { return { ...(input.NewStartingHashKey !== undefined && { NewStartingHashKey: input.NewStartingHashKey }), @@ -3254,6 +3267,24 @@ const serializeAws_json1_1UpdateShardCountInput = (input: UpdateShardCountInput, }; }; +const deserializeAws_json1_1ChildShard = (output: any, context: __SerdeContext): ChildShard => { + return { + HashKeyRange: + output.HashKeyRange !== undefined && output.HashKeyRange !== null + ? deserializeAws_json1_1HashKeyRange(output.HashKeyRange, context) + : undefined, + ParentShards: + output.ParentShards !== undefined && output.ParentShards !== null + ? deserializeAws_json1_1ShardIdList(output.ParentShards, context) + : undefined, + ShardId: output.ShardId !== undefined && output.ShardId !== null ? output.ShardId : undefined, + } as any; +}; + +const deserializeAws_json1_1ChildShardList = (output: any, context: __SerdeContext): ChildShard[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ChildShard(entry, context)); +}; + const deserializeAws_json1_1Consumer = (output: any, context: __SerdeContext): Consumer => { return { ConsumerARN: output.ConsumerARN !== undefined && output.ConsumerARN !== null ? output.ConsumerARN : undefined, @@ -3376,6 +3407,10 @@ const deserializeAws_json1_1ExpiredNextTokenException = ( const deserializeAws_json1_1GetRecordsOutput = (output: any, context: __SerdeContext): GetRecordsOutput => { return { + ChildShards: + output.ChildShards !== undefined && output.ChildShards !== null + ? deserializeAws_json1_1ChildShardList(output.ChildShards, context) + : undefined, MillisBehindLatest: output.MillisBehindLatest !== undefined && output.MillisBehindLatest !== null ? output.MillisBehindLatest @@ -3654,6 +3689,10 @@ const deserializeAws_json1_1Shard = (output: any, context: __SerdeContext): Shar } as any; }; +const deserializeAws_json1_1ShardIdList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1ShardList = (output: any, context: __SerdeContext): Shard[] => { return (output || []).map((entry: any) => deserializeAws_json1_1Shard(entry, context)); }; @@ -3723,6 +3762,10 @@ const deserializeAws_json1_1StreamNameList = (output: any, context: __SerdeConte const deserializeAws_json1_1SubscribeToShardEvent = (output: any, context: __SerdeContext): SubscribeToShardEvent => { return { + ChildShards: + output.ChildShards !== undefined && output.ChildShards !== null + ? deserializeAws_json1_1ChildShardList(output.ChildShards, context) + : undefined, ContinuationSequenceNumber: output.ContinuationSequenceNumber !== undefined && output.ContinuationSequenceNumber !== null ? output.ContinuationSequenceNumber diff --git a/clients/client-kms/models/models_0.ts b/clients/client-kms/models/models_0.ts index 3f0a7bafc7e2..3e9621b97536 100644 --- a/clients/client-kms/models/models_0.ts +++ b/clients/client-kms/models/models_0.ts @@ -388,14 +388,6 @@ export enum ConnectionStateType { } export interface CreateAliasRequest { - /** - *

                                                                      Specifies the alias name. This value must begin with alias/ followed by a - * name, such as alias/ExampleAlias. The alias name cannot begin with - * alias/aws/. The alias/aws/ prefix is reserved for AWS managed - * CMKs.

                                                                      - */ - AliasName: string | undefined; - /** *

                                                                      Identifies the CMK to which the alias refers. Specify the key ID or the Amazon Resource * Name (ARN) of the CMK. You cannot specify another alias. For help finding the key ID and ARN, @@ -403,6 +395,14 @@ export interface CreateAliasRequest { * ARN in the AWS Key Management Service Developer Guide.

                                                                      */ TargetKeyId: string | undefined; + + /** + *

                                                                      Specifies the alias name. This value must begin with alias/ followed by a + * name, such as alias/ExampleAlias. The alias name cannot begin with + * alias/aws/. The alias/aws/ prefix is reserved for AWS managed + * CMKs.

                                                                      + */ + AliasName: string | undefined; } export namespace CreateAliasRequest { @@ -443,25 +443,12 @@ export namespace LimitExceededException { } export interface CreateCustomKeyStoreRequest { - /** - *

                                                                      Identifies the AWS CloudHSM cluster for the custom key store. Enter the cluster ID of any active - * AWS CloudHSM cluster that is not already associated with a custom key store. To find the cluster ID, - * use the DescribeClusters operation.

                                                                      - */ - CloudHsmClusterId: string | undefined; - /** *

                                                                      Specifies a friendly name for the custom key store. The name must be unique in your AWS * account.

                                                                      */ CustomKeyStoreName: string | undefined; - /** - *

                                                                      Enter the content of the trust anchor certificate for the cluster. This is the content of - * the customerCA.crt file that you created when you initialized the cluster.

                                                                      - */ - TrustAnchorCertificate: string | undefined; - /** *

                                                                      Enter the password of the * kmsuser crypto user @@ -472,6 +459,19 @@ export interface CreateCustomKeyStoreRequest { * the password in the AWS CloudHSM cluster.

                                                                      */ KeyStorePassword: string | undefined; + + /** + *

                                                                      Identifies the AWS CloudHSM cluster for the custom key store. Enter the cluster ID of any active + * AWS CloudHSM cluster that is not already associated with a custom key store. To find the cluster ID, + * use the DescribeClusters operation.

                                                                      + */ + CloudHsmClusterId: string | undefined; + + /** + *

                                                                      Enter the content of the trust anchor certificate for the cluster. This is the content of + * the customerCA.crt file that you created when you initialized the cluster.

                                                                      + */ + TrustAnchorCertificate: string | undefined; } export namespace CreateCustomKeyStoreRequest { @@ -591,17 +591,40 @@ export enum GrantOperation { export interface CreateGrantRequest { /** - *

                                                                      A list of grant tokens.

                                                                      - *

                                                                      For more information, see Grant Tokens in the - * AWS Key Management Service Developer Guide.

                                                                      + *

                                                                      The unique identifier for the customer master key (CMK) that the grant applies to.

                                                                      + * + *

                                                                      Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a + * different AWS account, you must use the key ARN.

                                                                      + *

                                                                      For example:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + *

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + *

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

                                                                      */ - GrantTokens?: string[]; + KeyId: string | undefined; /** *

                                                                      A list of operations that the grant permits.

                                                                      */ Operations: (GrantOperation | string)[] | undefined; + /** + *

                                                                      The principal that is given permission to retire the grant by using RetireGrant operation.

                                                                      + *

                                                                      To specify the principal, use the Amazon Resource Name (ARN) of an AWS + * principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and + * assumed role users. For examples of the ARN syntax to use for specifying a principal, see + * AWS Identity and Access Management (IAM) in the Example ARNs section of the + * AWS General Reference.

                                                                      + */ + RetiringPrincipal?: string; + /** *

                                                                      The principal that is given permission to perform the operations that the grant * permits.

                                                                      @@ -615,14 +638,13 @@ export interface CreateGrantRequest { GranteePrincipal: string | undefined; /** - *

                                                                      The principal that is given permission to retire the grant by using RetireGrant operation.

                                                                      - *

                                                                      To specify the principal, use the Amazon Resource Name (ARN) of an AWS - * principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and - * assumed role users. For examples of the ARN syntax to use for specifying a principal, see - * AWS Identity and Access Management (IAM) in the Example ARNs section of the - * AWS General Reference.

                                                                      + *

                                                                      Allows a cryptographic operation only when the encryption context matches or includes the encryption + * context specified in this structure. For more information about encryption context, see Encryption + * Context in the + * AWS Key Management Service Developer Guide + * .

                                                                      */ - RetiringPrincipal?: string; + Constraints?: GrantConstraints; /** *

                                                                      A friendly name for identifying the grant. Use this value to prevent the unintended @@ -639,33 +661,11 @@ export interface CreateGrantRequest { Name?: string; /** - *

                                                                      The unique identifier for the customer master key (CMK) that the grant applies to.

                                                                      - * - *

                                                                      Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a - * different AWS account, you must use the key ARN.

                                                                      - *

                                                                      For example:

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab - *

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab - *

                                                                        - *
                                                                      • - *
                                                                      - *

                                                                      To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

                                                                      - */ - KeyId: string | undefined; - - /** - *

                                                                      Allows a cryptographic operation only when the encryption context matches or includes the encryption - * context specified in this structure. For more information about encryption context, see Encryption - * Context in the - * AWS Key Management Service Developer Guide - * .

                                                                      + *

                                                                      A list of grant tokens.

                                                                      + *

                                                                      For more information, see Grant Tokens in the + * AWS Key Management Service Developer Guide.

                                                                      */ - Constraints?: GrantConstraints; + GrantTokens?: string[]; } export namespace CreateGrantRequest { @@ -773,6 +773,26 @@ export namespace Tag { } export interface CreateKeyRequest { + /** + *

                                                                      Determines the cryptographic operations for which you can use the CMK. The default value + * is ENCRYPT_DECRYPT. This parameter is required only for asymmetric CMKs. You + * can't change the KeyUsage value after the CMK is created.

                                                                      + *

                                                                      Select only one valid value.

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        For symmetric CMKs, omit the parameter or specify ENCRYPT_DECRYPT.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        For asymmetric CMKs with RSA key material, specify ENCRYPT_DECRYPT or + * SIGN_VERIFY.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        For asymmetric CMKs with ECC key material, specify SIGN_VERIFY.

                                                                        + *
                                                                      • + *
                                                                      + */ + KeyUsage?: KeyUsageType | string; + /** *

                                                                      The source of the key material for the CMK. You cannot change the origin after you create * the CMK. The default is AWS_KMS, which means AWS KMS creates the key @@ -789,32 +809,52 @@ export interface CreateKeyRequest { Origin?: OriginType | string; /** - *

                                                                      The key policy to attach to the CMK.

                                                                      - *

                                                                      If you provide a key policy, it must meet the following criteria:

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy - * must allow the principal that is making the CreateKey request to make a - * subsequent PutKeyPolicy request on the CMK. This reduces the risk that - * the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the - * AWS Key Management Service Developer Guide - * .

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        Each statement in the key policy must contain one or more principals. The principals - * in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal - * (for example, an IAM user or role), you might need to enforce a delay before including the - * new principal in a key policy because the new principal might not be immediately visible - * to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS - * Identity and Access Management User Guide.

                                                                        - *
                                                                      • - *
                                                                      - *

                                                                      If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. For - * more information, see Default Key Policy in the - * AWS Key Management Service Developer Guide.

                                                                      - *

                                                                      The key policy size quota is 32 kilobytes (32768 bytes).

                                                                      + *

                                                                      A description of the CMK.

                                                                      + *

                                                                      Use a description that helps you decide whether the CMK is appropriate for a task.

                                                                      */ - Policy?: string; + Description?: string; + + /** + *

                                                                      One or more tags. Each tag consists of a tag key and a tag value. Both the tag key and the + * tag value are required, but the tag value can be an empty (null) string.

                                                                      + *

                                                                      When you add tags to an AWS resource, AWS generates a cost allocation + * report with usage and costs aggregated by tags. For information about adding, changing, deleting and listing tags for CMKs, + * see Tagging Keys.

                                                                      + *

                                                                      Use this parameter to tag the CMK when it is created. To add tags to an + * existing CMK, use the TagResource operation.

                                                                      + */ + Tags?: Tag[]; + + /** + *

                                                                      A flag to indicate whether to bypass the key policy lockout safety check.

                                                                      + * + *

                                                                      Setting this value to true increases the risk that the CMK becomes unmanageable. Do not + * set this value to true indiscriminately.

                                                                      + *

                                                                      For more information, refer to the scenario in the Default Key Policy section in the + * AWS Key Management Service Developer Guide + * .

                                                                      + *
                                                                      + *

                                                                      Use this parameter only when you include a policy in the request and you intend to prevent + * the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

                                                                      + *

                                                                      The default value is false.

                                                                      + */ + BypassPolicyLockoutSafetyCheck?: boolean; + + /** + *

                                                                      Creates the CMK in the specified custom key store and the key material in its associated + * AWS CloudHSM cluster. To create a CMK in a custom key store, you must also specify the + * Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster + * that is associated with the custom key store must have at least two active HSMs, each in a + * different Availability Zone in the Region.

                                                                      + *

                                                                      This parameter is valid only for symmetric CMKs. You cannot create an asymmetric CMK in a + * custom key store.

                                                                      + *

                                                                      To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

                                                                      + *

                                                                      The response includes the custom key store ID and the ID of the AWS CloudHSM cluster.

                                                                      + *

                                                                      This operation is part of the Custom Key Store feature feature in AWS KMS, which + * combines the convenience and extensive integration of AWS KMS with the isolation and control of a + * single-tenant key store.

                                                                      + */ + CustomKeyStoreId?: string; /** *

                                                                      Specifies the type of CMK to create. The default value, SYMMETRIC_DEFAULT, @@ -900,72 +940,32 @@ export interface CreateKeyRequest { CustomerMasterKeySpec?: CustomerMasterKeySpec | string; /** - *

                                                                      A description of the CMK.

                                                                      - *

                                                                      Use a description that helps you decide whether the CMK is appropriate for a task.

                                                                      - */ - Description?: string; - - /** - *

                                                                      A flag to indicate whether to bypass the key policy lockout safety check.

                                                                      - * - *

                                                                      Setting this value to true increases the risk that the CMK becomes unmanageable. Do not - * set this value to true indiscriminately.

                                                                      - *

                                                                      For more information, refer to the scenario in the Default Key Policy section in the - * AWS Key Management Service Developer Guide - * .

                                                                      - *
                                                                      - *

                                                                      Use this parameter only when you include a policy in the request and you intend to prevent - * the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

                                                                      - *

                                                                      The default value is false.

                                                                      - */ - BypassPolicyLockoutSafetyCheck?: boolean; - - /** - *

                                                                      Determines the cryptographic operations for which you can use the CMK. The default value - * is ENCRYPT_DECRYPT. This parameter is required only for asymmetric CMKs. You - * can't change the KeyUsage value after the CMK is created.

                                                                      - *

                                                                      Select only one valid value.

                                                                      + *

                                                                      The key policy to attach to the CMK.

                                                                      + *

                                                                      If you provide a key policy, it must meet the following criteria:

                                                                      *
                                                                        *
                                                                      • - *

                                                                        For symmetric CMKs, omit the parameter or specify ENCRYPT_DECRYPT.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        For asymmetric CMKs with RSA key material, specify ENCRYPT_DECRYPT or - * SIGN_VERIFY.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        For asymmetric CMKs with ECC key material, specify SIGN_VERIFY.

                                                                        - *
                                                                      • - *
                                                                      - */ - KeyUsage?: KeyUsageType | string; - - /** - *

                                                                      Creates the CMK in the specified custom key store and the key material in its associated - * AWS CloudHSM cluster. To create a CMK in a custom key store, you must also specify the - * Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster - * that is associated with the custom key store must have at least two active HSMs, each in a - * different Availability Zone in the Region.

                                                                      - *

                                                                      This parameter is valid only for symmetric CMKs. You cannot create an asymmetric CMK in a - * custom key store.

                                                                      - *

                                                                      To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

                                                                      - *

                                                                      The response includes the custom key store ID and the ID of the AWS CloudHSM cluster.

                                                                      - *

                                                                      This operation is part of the Custom Key Store feature feature in AWS KMS, which - * combines the convenience and extensive integration of AWS KMS with the isolation and control of a - * single-tenant key store.

                                                                      - */ - CustomKeyStoreId?: string; - - /** - *

                                                                      One or more tags. Each tag consists of a tag key and a tag value. Both the tag key and the - * tag value are required, but the tag value can be an empty (null) string.

                                                                      - *

                                                                      When you add tags to an AWS resource, AWS generates a cost allocation - * report with usage and costs aggregated by tags. For information about adding, changing, deleting and listing tags for CMKs, - * see Tagging Keys.

                                                                      - *

                                                                      Use this parameter to tag the CMK when it is created. To add tags to an - * existing CMK, use the TagResource operation.

                                                                      + *

                                                                      If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy + * must allow the principal that is making the CreateKey request to make a + * subsequent PutKeyPolicy request on the CMK. This reduces the risk that + * the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the + * AWS Key Management Service Developer Guide + * .

                                                                      + * + *
                                                                    • + *

                                                                      Each statement in the key policy must contain one or more principals. The principals + * in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal + * (for example, an IAM user or role), you might need to enforce a delay before including the + * new principal in a key policy because the new principal might not be immediately visible + * to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS + * Identity and Access Management User Guide.

                                                                      + *
                                                                    • + *
                                                                    + *

                                                                    If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. For + * more information, see Default Key Policy in the + * AWS Key Management Service Developer Guide.

                                                                    + *

                                                                    The key policy size quota is 32 kilobytes (32768 bytes).

                                                                    */ - Tags?: Tag[]; + Policy?: string; } export namespace CreateKeyRequest { @@ -1016,15 +1016,16 @@ export enum SigningAlgorithmSpec { */ export interface KeyMetadata { /** - *

                                                                    Specifies whether the CMK's key material expires. This value is present only when - * Origin is EXTERNAL, otherwise this value is omitted.

                                                                    + *

                                                                    The current status of the CMK.

                                                                    + *

                                                                    For more information about how key state affects the use of a CMK, see Key state: Effect on your CMK in the AWS Key Management Service Developer Guide.

                                                                    */ - ExpirationModel?: ExpirationModelType | string; + KeyState?: KeyState | string; /** - *

                                                                    The globally unique identifier for the CMK.

                                                                    + *

                                                                    The date and time after which AWS KMS deletes the CMK. This value is present only when + * KeyState is PendingDeletion.

                                                                    */ - KeyId: string | undefined; + DeletionDate?: Date; /** *

                                                                    The date and time when the CMK was created.

                                                                    @@ -1032,53 +1033,62 @@ export interface KeyMetadata { CreationDate?: Date; /** - *

                                                                    The cluster ID of the AWS CloudHSM cluster that contains the key material for the CMK. When you - * create a CMK in a custom key store, AWS KMS creates the key material for the CMK in the - * associated AWS CloudHSM cluster. This value is present only when the CMK is created in a custom key - * store.

                                                                    + *

                                                                    The globally unique identifier for the CMK.

                                                                    */ - CloudHsmClusterId?: string; + KeyId: string | undefined; /** - *

                                                                    The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management Service - * (AWS KMS) in the Example ARNs section of the AWS General - * Reference.

                                                                    + *

                                                                    The source of the CMK's key material. When this value is AWS_KMS, AWS KMS + * created the key material. When this value is EXTERNAL, the key material was + * imported from your existing key management infrastructure or the CMK lacks key material. When + * this value is AWS_CLOUDHSM, the key material was created in the AWS CloudHSM cluster + * associated with a custom key store.

                                                                    */ - Arn?: string; + Origin?: OriginType | string; /** - *

                                                                    The manager of the CMK. CMKs in your AWS account are either customer managed or AWS - * managed. For more information about the difference, see Customer Master Keys in the - * AWS Key Management Service Developer Guide.

                                                                    + *

                                                                    The description of the CMK.

                                                                    */ - KeyManager?: KeyManagerType | string; + Description?: string; /** - *

                                                                    The current status of the CMK.

                                                                    - *

                                                                    For more information about how key state affects the use of a CMK, see Key state: Effect on your CMK in the AWS Key Management Service Developer Guide.

                                                                    + *

                                                                    The twelve-digit account ID of the AWS account that owns the CMK.

                                                                    */ - KeyState?: KeyState | string; + AWSAccountId?: string; /** - *

                                                                    The cryptographic operations for which you can use the CMK.

                                                                    + *

                                                                    The signing algorithms that the CMK supports. You cannot use the CMK with other + * signing algorithms within AWS KMS.

                                                                    + *

                                                                    This field appears only when the KeyUsage of the CMK is + * SIGN_VERIFY.

                                                                    */ - KeyUsage?: KeyUsageType | string; + SigningAlgorithms?: (SigningAlgorithmSpec | string)[]; /** - *

                                                                    A unique identifier for the custom key store that contains the CMK. This value is present - * only when the CMK is created in a custom key store.

                                                                    + *

                                                                    Describes the type of key material in the CMK.

                                                                    */ - CustomKeyStoreId?: string; + CustomerMasterKeySpec?: CustomerMasterKeySpec | string; /** - *

                                                                    The twelve-digit account ID of the AWS account that owns the CMK.

                                                                    + *

                                                                    The time at which the imported key material expires. When the key material expires, AWS KMS + * deletes the key material and the CMK becomes unusable. This value is present only for CMKs + * whose Origin is EXTERNAL and whose ExpirationModel is + * KEY_MATERIAL_EXPIRES, otherwise this value is omitted.

                                                                    */ - AWSAccountId?: string; + ValidTo?: Date; /** - *

                                                                    The description of the CMK.

                                                                    + *

                                                                    The cluster ID of the AWS CloudHSM cluster that contains the key material for the CMK. When you + * create a CMK in a custom key store, AWS KMS creates the key material for the CMK in the + * associated AWS CloudHSM cluster. This value is present only when the CMK is created in a custom key + * store.

                                                                    */ - Description?: string; + CloudHsmClusterId?: string; + + /** + *

                                                                    The cryptographic operations for which you can use the CMK.

                                                                    + */ + KeyUsage?: KeyUsageType | string; /** *

                                                                    The encryption algorithms that the CMK supports. You cannot use the CMK with other @@ -1089,46 +1099,36 @@ export interface KeyMetadata { EncryptionAlgorithms?: (EncryptionAlgorithmSpec | string)[]; /** - *

                                                                    The time at which the imported key material expires. When the key material expires, AWS KMS - * deletes the key material and the CMK becomes unusable. This value is present only for CMKs - * whose Origin is EXTERNAL and whose ExpirationModel is - * KEY_MATERIAL_EXPIRES, otherwise this value is omitted.

                                                                    - */ - ValidTo?: Date; - - /** - *

                                                                    Specifies whether the CMK is enabled. When KeyState is Enabled - * this value is true, otherwise it is false.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management Service + * (AWS KMS) in the Example ARNs section of the AWS General + * Reference.

                                                                    */ - Enabled?: boolean; + Arn?: string; /** - *

                                                                    The signing algorithms that the CMK supports. You cannot use the CMK with other - * signing algorithms within AWS KMS.

                                                                    - *

                                                                    This field appears only when the KeyUsage of the CMK is - * SIGN_VERIFY.

                                                                    + *

                                                                    Specifies whether the CMK's key material expires. This value is present only when + * Origin is EXTERNAL, otherwise this value is omitted.

                                                                    */ - SigningAlgorithms?: (SigningAlgorithmSpec | string)[]; + ExpirationModel?: ExpirationModelType | string; /** - *

                                                                    Describes the type of key material in the CMK.

                                                                    + *

                                                                    The manager of the CMK. CMKs in your AWS account are either customer managed or AWS + * managed. For more information about the difference, see Customer Master Keys in the + * AWS Key Management Service Developer Guide.

                                                                    */ - CustomerMasterKeySpec?: CustomerMasterKeySpec | string; + KeyManager?: KeyManagerType | string; /** - *

                                                                    The source of the CMK's key material. When this value is AWS_KMS, AWS KMS - * created the key material. When this value is EXTERNAL, the key material was - * imported from your existing key management infrastructure or the CMK lacks key material. When - * this value is AWS_CLOUDHSM, the key material was created in the AWS CloudHSM cluster - * associated with a custom key store.

                                                                    + *

                                                                    Specifies whether the CMK is enabled. When KeyState is Enabled + * this value is true, otherwise it is false.

                                                                    */ - Origin?: OriginType | string; + Enabled?: boolean; /** - *

                                                                    The date and time after which AWS KMS deletes the CMK. This value is present only when - * KeyState is PendingDeletion.

                                                                    + *

                                                                    A unique identifier for the custom key store that contains the CMK. This value is present + * only when the CMK is created in a custom key store.

                                                                    */ - DeletionDate?: Date; + CustomKeyStoreId?: string; } export namespace KeyMetadata { @@ -1218,16 +1218,6 @@ export namespace CustomKeyStoreHasCMKsException { *

                                                                    Contains information about each custom key store in the custom key store list.

                                                                    */ export interface CustomKeyStoresListEntry { - /** - *

                                                                    The date and time when the custom key store was created.

                                                                    - */ - CreationDate?: Date; - - /** - *

                                                                    The user-specified friendly name for the custom key store.

                                                                    - */ - CustomKeyStoreName?: string; - /** *

                                                                    Describes the connection error. This field appears in the response only when the ConnectionState is FAILED. For help resolving these errors, see How to Fix a Connection Failure in AWS Key Management Service Developer Guide.

                                                                    *

                                                                    Valid values are:

                                                                    @@ -1292,18 +1282,6 @@ export interface CustomKeyStoresListEntry { */ ConnectionErrorCode?: ConnectionErrorCodeType | string; - /** - *

                                                                    A unique identifier for the custom key store.

                                                                    - */ - CustomKeyStoreId?: string; - - /** - *

                                                                    The trust anchor certificate of the associated AWS CloudHSM cluster. When you initialize the - * cluster, you create this certificate and save it in the customerCA.crt - * file.

                                                                    - */ - TrustAnchorCertificate?: string; - /** *

                                                                    Indicates whether the custom key store is connected to its AWS CloudHSM cluster.

                                                                    *

                                                                    You can create and use CMKs in your custom key stores only when its connection state is @@ -1318,11 +1296,33 @@ export interface CustomKeyStoresListEntry { */ ConnectionState?: ConnectionStateType | string; + /** + *

                                                                    The trust anchor certificate of the associated AWS CloudHSM cluster. When you initialize the + * cluster, you create this certificate and save it in the customerCA.crt + * file.

                                                                    + */ + TrustAnchorCertificate?: string; + + /** + *

                                                                    The user-specified friendly name for the custom key store.

                                                                    + */ + CustomKeyStoreName?: string; + + /** + *

                                                                    The date and time when the custom key store was created.

                                                                    + */ + CreationDate?: Date; + /** *

                                                                    A unique identifier for the AWS CloudHSM cluster that is associated with the custom key * store.

                                                                    */ CloudHsmClusterId?: string; + + /** + *

                                                                    A unique identifier for the custom key store.

                                                                    + */ + CustomKeyStoreId?: string; } export namespace CustomKeyStoresListEntry { @@ -1347,6 +1347,38 @@ export enum DataKeySpec { } export interface DecryptRequest { + /** + *

                                                                    Specifies the encryption algorithm that will be used to decrypt the ciphertext. Specify + * the same algorithm that was used to encrypt the data. If you specify a different algorithm, + * the Decrypt operation fails.

                                                                    + *

                                                                    This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. + * The default value, SYMMETRIC_DEFAULT, represents the only supported algorithm + * that is valid for symmetric CMKs.

                                                                    + */ + EncryptionAlgorithm?: EncryptionAlgorithmSpec | string; + + /** + *

                                                                    Specifies the encryption context to use when decrypting the data. + * An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.

                                                                    + *

                                                                    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

                                                                    + *

                                                                    For more information, see + * Encryption + * Context in the AWS Key Management Service Developer Guide.

                                                                    + */ + EncryptionContext?: { [key: string]: string }; + + /** + *

                                                                    A list of grant tokens.

                                                                    + *

                                                                    For more information, see Grant Tokens in the + * AWS Key Management Service Developer Guide.

                                                                    + */ + GrantTokens?: string[]; + + /** + *

                                                                    Ciphertext to be decrypted. The blob includes metadata.

                                                                    + */ + CiphertextBlob: Uint8Array | undefined; + /** *

                                                                    Specifies the customer master key (CMK) that AWS KMS will use to decrypt the ciphertext. * Enter a key ID of the CMK that was used to encrypt the ciphertext.

                                                                    @@ -1379,38 +1411,6 @@ export interface DecryptRequest { *

                                                                    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

                                                                    */ KeyId?: string; - - /** - *

                                                                    Specifies the encryption algorithm that will be used to decrypt the ciphertext. Specify - * the same algorithm that was used to encrypt the data. If you specify a different algorithm, - * the Decrypt operation fails.

                                                                    - *

                                                                    This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. - * The default value, SYMMETRIC_DEFAULT, represents the only supported algorithm - * that is valid for symmetric CMKs.

                                                                    - */ - EncryptionAlgorithm?: EncryptionAlgorithmSpec | string; - - /** - *

                                                                    A list of grant tokens.

                                                                    - *

                                                                    For more information, see Grant Tokens in the - * AWS Key Management Service Developer Guide.

                                                                    - */ - GrantTokens?: string[]; - - /** - *

                                                                    Ciphertext to be decrypted. The blob includes metadata.

                                                                    - */ - CiphertextBlob: Uint8Array | undefined; - - /** - *

                                                                    Specifies the encryption context to use when decrypting the data. - * An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.

                                                                    - *

                                                                    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

                                                                    - *

                                                                    For more information, see - * Encryption - * Context in the AWS Key Management Service Developer Guide.

                                                                    - */ - EncryptionContext?: { [key: string]: string }; } export namespace DecryptRequest { @@ -1421,14 +1421,14 @@ export namespace DecryptRequest { export interface DecryptResponse { /** - *

                                                                    The encryption algorithm that was used to decrypt the ciphertext.

                                                                    + *

                                                                    Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

                                                                    */ - EncryptionAlgorithm?: EncryptionAlgorithmSpec | string; + Plaintext?: Uint8Array; /** - *

                                                                    Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

                                                                    + *

                                                                    The encryption algorithm that was used to decrypt the ciphertext.

                                                                    */ - Plaintext?: Uint8Array; + EncryptionAlgorithm?: EncryptionAlgorithmSpec | string; /** *

                                                                    The Amazon Resource Name (key ARN) of the CMK that was used to decrypt the ciphertext.

                                                                    @@ -1588,18 +1588,15 @@ export namespace DeleteImportedKeyMaterialRequest { export const filterSensitiveLog = (obj: DeleteImportedKeyMaterialRequest): any => ({ ...obj, }); -} - -export interface DescribeCustomKeyStoresRequest { - /** - *

                                                                    Gets only information about the specified custom key store. Enter the friendly name of the - * custom key store.

                                                                    - *

                                                                    By default, this operation gets information about all custom key stores in the account and - * region. To limit the output to a particular custom key store, you can use either the - * CustomKeyStoreId or CustomKeyStoreName parameter, but not - * both.

                                                                    +} + +export interface DescribeCustomKeyStoresRequest { + /** + *

                                                                    Use this parameter to specify the maximum number of items to return. When this + * value is present, AWS KMS does not return more than the specified number of items, but it might + * return fewer.

                                                                    */ - CustomKeyStoreName?: string; + Limit?: number; /** *

                                                                    Use this parameter in a subsequent request after you receive a response with @@ -1609,11 +1606,14 @@ export interface DescribeCustomKeyStoresRequest { Marker?: string; /** - *

                                                                    Use this parameter to specify the maximum number of items to return. When this - * value is present, AWS KMS does not return more than the specified number of items, but it might - * return fewer.

                                                                    + *

                                                                    Gets only information about the specified custom key store. Enter the friendly name of the + * custom key store.

                                                                    + *

                                                                    By default, this operation gets information about all custom key stores in the account and + * region. To limit the output to a particular custom key store, you can use either the + * CustomKeyStoreId or CustomKeyStoreName parameter, but not + * both.

                                                                    */ - Limit?: number; + CustomKeyStoreName?: string; /** *

                                                                    Gets only information about the specified custom key store. Enter the key store ID.

                                                                    @@ -1659,13 +1659,6 @@ export namespace DescribeCustomKeyStoresResponse { } export interface DescribeKeyRequest { - /** - *

                                                                    A list of grant tokens.

                                                                    - *

                                                                    For more information, see Grant Tokens in the - * AWS Key Management Service Developer Guide.

                                                                    - */ - GrantTokens?: string[]; - /** *

                                                                    Describes the specified customer master key (CMK).

                                                                    *

                                                                    If you specify a predefined AWS alias (an AWS alias with no key ID), KMS associates the @@ -1695,6 +1688,13 @@ export interface DescribeKeyRequest { *

                                                                    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

                                                                    */ KeyId: string | undefined; + + /** + *

                                                                    A list of grant tokens.

                                                                    + *

                                                                    For more information, see Grant Tokens in the + * AWS Key Management Service Developer Guide.

                                                                    + */ + GrantTokens?: string[]; } export namespace DescribeKeyRequest { @@ -1845,6 +1845,21 @@ export namespace EnableKeyRotationRequest { } export interface EncryptRequest { + /** + *

                                                                    Data to be encrypted.

                                                                    + */ + Plaintext: Uint8Array | undefined; + + /** + *

                                                                    Specifies the encryption context that will be used to encrypt the data. + * An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.

                                                                    + *

                                                                    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

                                                                    + *

                                                                    For more information, see + * Encryption + * Context in the AWS Key Management Service Developer Guide.

                                                                    + */ + EncryptionContext?: { [key: string]: string }; + /** *

                                                                    A list of grant tokens.

                                                                    *

                                                                    For more information, see Grant Tokens in the @@ -1852,6 +1867,15 @@ export interface EncryptRequest { */ GrantTokens?: string[]; + /** + *

                                                                    Specifies the encryption algorithm that AWS KMS will use to encrypt the plaintext message. + * The algorithm must be compatible with the CMK that you specify.

                                                                    + *

                                                                    This parameter is required only for asymmetric CMKs. The default value, + * SYMMETRIC_DEFAULT, is the algorithm used for symmetric CMKs. If you are using + * an asymmetric CMK, we recommend RSAES_OAEP_SHA_256.

                                                                    + */ + EncryptionAlgorithm?: EncryptionAlgorithmSpec | string; + /** *

                                                                    A unique identifier for the customer master key (CMK).

                                                                    *

                                                                    To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

                                                                    @@ -1877,30 +1901,6 @@ export interface EncryptRequest { *

                                                                    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

                                                                    */ KeyId: string | undefined; - - /** - *

                                                                    Specifies the encryption algorithm that AWS KMS will use to encrypt the plaintext message. - * The algorithm must be compatible with the CMK that you specify.

                                                                    - *

                                                                    This parameter is required only for asymmetric CMKs. The default value, - * SYMMETRIC_DEFAULT, is the algorithm used for symmetric CMKs. If you are using - * an asymmetric CMK, we recommend RSAES_OAEP_SHA_256.

                                                                    - */ - EncryptionAlgorithm?: EncryptionAlgorithmSpec | string; - - /** - *

                                                                    Specifies the encryption context that will be used to encrypt the data. - * An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.

                                                                    - *

                                                                    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

                                                                    - *

                                                                    For more information, see - * Encryption - * Context in the AWS Key Management Service Developer Guide.

                                                                    - */ - EncryptionContext?: { [key: string]: string }; - - /** - *

                                                                    Data to be encrypted.

                                                                    - */ - Plaintext: Uint8Array | undefined; } export namespace EncryptRequest { @@ -1912,9 +1912,9 @@ export namespace EncryptRequest { export interface EncryptResponse { /** - *

                                                                    The Amazon Resource Name (key ARN) of the CMK that was used to encrypt the plaintext.

                                                                    + *

                                                                    The encryption algorithm that was used to encrypt the plaintext.

                                                                    */ - KeyId?: string; + EncryptionAlgorithm?: EncryptionAlgorithmSpec | string; /** *

                                                                    The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

                                                                    @@ -1922,9 +1922,9 @@ export interface EncryptResponse { CiphertextBlob?: Uint8Array; /** - *

                                                                    The encryption algorithm that was used to encrypt the plaintext.

                                                                    + *

                                                                    The Amazon Resource Name (key ARN) of the CMK that was used to encrypt the plaintext.

                                                                    */ - EncryptionAlgorithm?: EncryptionAlgorithmSpec | string; + KeyId?: string; } export namespace EncryptResponse { @@ -1960,13 +1960,11 @@ export interface GenerateDataKeyRequest { NumberOfBytes?: number; /** - *

                                                                    Specifies the encryption context that will be used when encrypting the data key.

                                                                    - *

                                                                    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

                                                                    - *

                                                                    For more information, see - * Encryption - * Context in the AWS Key Management Service Developer Guide.

                                                                    + *

                                                                    A list of grant tokens.

                                                                    + *

                                                                    For more information, see Grant Tokens in the + * AWS Key Management Service Developer Guide.

                                                                    */ - EncryptionContext?: { [key: string]: string }; + GrantTokens?: string[]; /** *

                                                                    Identifies the symmetric CMK that encrypts the data key.

                                                                    @@ -1995,13 +1993,6 @@ export interface GenerateDataKeyRequest { */ KeyId: string | undefined; - /** - *

                                                                    A list of grant tokens.

                                                                    - *

                                                                    For more information, see Grant Tokens in the - * AWS Key Management Service Developer Guide.

                                                                    - */ - GrantTokens?: string[]; - /** *

                                                                    Specifies the length of the data key. Use AES_128 to generate a 128-bit * symmetric key, or AES_256 to generate a 256-bit symmetric key.

                                                                    @@ -2009,6 +2000,15 @@ export interface GenerateDataKeyRequest { * parameter (but not both) in every GenerateDataKey request.

                                                                    */ KeySpec?: DataKeySpec | string; + + /** + *

                                                                    Specifies the encryption context that will be used when encrypting the data key.

                                                                    + *

                                                                    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

                                                                    + *

                                                                    For more information, see + * Encryption + * Context in the AWS Key Management Service Developer Guide.

                                                                    + */ + EncryptionContext?: { [key: string]: string }; } export namespace GenerateDataKeyRequest { @@ -2043,6 +2043,13 @@ export namespace GenerateDataKeyResponse { } export interface GenerateDataKeyPairRequest { + /** + *

                                                                    A list of grant tokens.

                                                                    + *

                                                                    For more information, see Grant Tokens in the + * AWS Key Management Service Developer Guide.

                                                                    + */ + GrantTokens?: string[]; + /** *

                                                                    Specifies the encryption context that will be used when encrypting the private key in the * data key pair.

                                                                    @@ -2054,11 +2061,10 @@ export interface GenerateDataKeyPairRequest { EncryptionContext?: { [key: string]: string }; /** - *

                                                                    A list of grant tokens.

                                                                    - *

                                                                    For more information, see Grant Tokens in the - * AWS Key Management Service Developer Guide.

                                                                    + *

                                                                    Determines the type of data key pair that is generated.

                                                                    + *

                                                                    The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.

                                                                    */ - GrantTokens?: string[]; + KeyPairSpec: DataKeyPairSpec | string | undefined; /** *

                                                                    Specifies the symmetric CMK that encrypts the private key in the data key pair. You cannot @@ -2087,12 +2093,6 @@ export interface GenerateDataKeyPairRequest { *

                                                                    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

                                                                    */ KeyId: string | undefined; - - /** - *

                                                                    Determines the type of data key pair that is generated.

                                                                    - *

                                                                    The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.

                                                                    - */ - KeyPairSpec: DataKeyPairSpec | string | undefined; } export namespace GenerateDataKeyPairRequest { @@ -2103,14 +2103,9 @@ export namespace GenerateDataKeyPairRequest { export interface GenerateDataKeyPairResponse { /** - *

                                                                    The encrypted copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

                                                                    - */ - PrivateKeyCiphertextBlob?: Uint8Array; - - /** - *

                                                                    The Amazon Resource Name (key ARN) of the CMK that encrypted the private key.

                                                                    + *

                                                                    The public key (in plaintext).

                                                                    */ - KeyId?: string; + PublicKey?: Uint8Array; /** *

                                                                    The type of data key pair that was generated.

                                                                    @@ -2123,9 +2118,14 @@ export interface GenerateDataKeyPairResponse { PrivateKeyPlaintext?: Uint8Array; /** - *

                                                                    The public key (in plaintext).

                                                                    + *

                                                                    The encrypted copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

                                                                    */ - PublicKey?: Uint8Array; + PrivateKeyCiphertextBlob?: Uint8Array; + + /** + *

                                                                    The Amazon Resource Name (key ARN) of the CMK that encrypted the private key.

                                                                    + */ + KeyId?: string; } export namespace GenerateDataKeyPairResponse { @@ -2136,6 +2136,12 @@ export namespace GenerateDataKeyPairResponse { } export interface GenerateDataKeyPairWithoutPlaintextRequest { + /** + *

                                                                    Determines the type of data key pair that is generated.

                                                                    + *

                                                                    The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.

                                                                    + */ + KeyPairSpec: DataKeyPairSpec | string | undefined; + /** *

                                                                    Specifies the CMK that encrypts the private key in the data key pair. You must specify a * symmetric CMK. You cannot use an asymmetric CMK or a CMK in a custom key store. To get the @@ -2165,10 +2171,11 @@ export interface GenerateDataKeyPairWithoutPlaintextRequest { KeyId: string | undefined; /** - *

                                                                    Determines the type of data key pair that is generated.

                                                                    - *

                                                                    The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.

                                                                    + *

                                                                    A list of grant tokens.

                                                                    + *

                                                                    For more information, see Grant Tokens in the + * AWS Key Management Service Developer Guide.

                                                                    */ - KeyPairSpec: DataKeyPairSpec | string | undefined; + GrantTokens?: string[]; /** *

                                                                    Specifies the encryption context that will be used when encrypting the private key in the @@ -2179,13 +2186,6 @@ export interface GenerateDataKeyPairWithoutPlaintextRequest { * Context in the AWS Key Management Service Developer Guide.

                                                                    */ EncryptionContext?: { [key: string]: string }; - - /** - *

                                                                    A list of grant tokens.

                                                                    - *

                                                                    For more information, see Grant Tokens in the - * AWS Key Management Service Developer Guide.

                                                                    - */ - GrantTokens?: string[]; } export namespace GenerateDataKeyPairWithoutPlaintextRequest { @@ -2223,15 +2223,6 @@ export namespace GenerateDataKeyPairWithoutPlaintextResponse { } export interface GenerateDataKeyWithoutPlaintextRequest { - /** - *

                                                                    Specifies the encryption context that will be used when encrypting the data key.

                                                                    - *

                                                                    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

                                                                    - *

                                                                    For more information, see - * Encryption - * Context in the AWS Key Management Service Developer Guide.

                                                                    - */ - EncryptionContext?: { [key: string]: string }; - /** *

                                                                    The identifier of the symmetric customer master key (CMK) that encrypts the data * key.

                                                                    @@ -2259,6 +2250,13 @@ export interface GenerateDataKeyWithoutPlaintextRequest { */ KeyId: string | undefined; + /** + *

                                                                    The length of the data key in bytes. For example, use the value 64 to generate a 512-bit + * data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), + * we recommend that you use the KeySpec field instead of this one.

                                                                    + */ + NumberOfBytes?: number; + /** *

                                                                    A list of grant tokens.

                                                                    *

                                                                    For more information, see Grant Tokens in the @@ -2273,11 +2271,13 @@ export interface GenerateDataKeyWithoutPlaintextRequest { KeySpec?: DataKeySpec | string; /** - *

                                                                    The length of the data key in bytes. For example, use the value 64 to generate a 512-bit - * data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), - * we recommend that you use the KeySpec field instead of this one.

                                                                    + *

                                                                    Specifies the encryption context that will be used when encrypting the data key.

                                                                    + *

                                                                    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

                                                                    + *

                                                                    For more information, see + * Encryption + * Context in the AWS Key Management Service Developer Guide.

                                                                    */ - NumberOfBytes?: number; + EncryptionContext?: { [key: string]: string }; } export namespace GenerateDataKeyWithoutPlaintextRequest { @@ -2338,12 +2338,6 @@ export namespace GenerateRandomResponse { } export interface GetKeyPolicyRequest { - /** - *

                                                                    Specifies the name of the key policy. The only valid name is default. To get - * the names of key policies, use ListKeyPolicies.

                                                                    - */ - PolicyName: string | undefined; - /** *

                                                                    A unique identifier for the customer master key (CMK).

                                                                    *

                                                                    Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

                                                                    @@ -2361,6 +2355,12 @@ export interface GetKeyPolicyRequest { *

                                                                    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

                                                                    */ KeyId: string | undefined; + + /** + *

                                                                    Specifies the name of the key policy. The only valid name is default. To get + * the names of key policies, use ListKeyPolicies.

                                                                    + */ + PolicyName: string | undefined; } export namespace GetKeyPolicyRequest { @@ -2466,13 +2466,6 @@ export namespace GetParametersForImportRequest { } export interface GetParametersForImportResponse { - /** - *

                                                                    The Amazon Resource Name (key ARN) of the CMK to use in a subsequent ImportKeyMaterial - * request. This is the same CMK specified in the GetParametersForImport - * request.

                                                                    - */ - KeyId?: string; - /** *

                                                                    The import token to send in a subsequent ImportKeyMaterial * request.

                                                                    @@ -2490,6 +2483,13 @@ export interface GetParametersForImportResponse { * another GetParametersForImport request to get new ones.

                                                                    */ ParametersValidTo?: Date; + + /** + *

                                                                    The Amazon Resource Name (key ARN) of the CMK to use in a subsequent ImportKeyMaterial + * request. This is the same CMK specified in the GetParametersForImport + * request.

                                                                    + */ + KeyId?: string; } export namespace GetParametersForImportResponse { @@ -2543,12 +2543,18 @@ export namespace GetPublicKeyRequest { export interface GetPublicKeyResponse { /** - *

                                                                    The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or - * SIGN_VERIFY.

                                                                    - *

                                                                    This information is critical. If a public key with SIGN_VERIFY key usage - * encrypts data outside of AWS KMS, the ciphertext cannot be decrypted.

                                                                    + *

                                                                    The encryption algorithms that AWS KMS supports for this key.

                                                                    + *

                                                                    This information is critical. If a public key encrypts data outside of AWS KMS by using an + * unsupported encryption algorithm, the ciphertext cannot be decrypted.

                                                                    + *

                                                                    This field appears in the response only when the KeyUsage of the public key + * is ENCRYPT_DECRYPT.

                                                                    */ - KeyUsage?: KeyUsageType | string; + EncryptionAlgorithms?: (EncryptionAlgorithmSpec | string)[]; + + /** + *

                                                                    The type of the of the public key that was downloaded.

                                                                    + */ + CustomerMasterKeySpec?: CustomerMasterKeySpec | string; /** *

                                                                    The exported public key.

                                                                    @@ -2558,11 +2564,6 @@ export interface GetPublicKeyResponse { */ PublicKey?: Uint8Array; - /** - *

                                                                    The type of the of the public key that was downloaded.

                                                                    - */ - CustomerMasterKeySpec?: CustomerMasterKeySpec | string; - /** *

                                                                    The signing algorithms that AWS KMS supports for this key.

                                                                    *

                                                                    This field appears in the response only when the KeyUsage of the public key @@ -2573,16 +2574,15 @@ export interface GetPublicKeyResponse { /** *

                                                                    The Amazon Resource Name (key ARN) of the asymmetric CMK from which the public key was downloaded.

                                                                    */ - KeyId?: string; - - /** - *

                                                                    The encryption algorithms that AWS KMS supports for this key.

                                                                    - *

                                                                    This information is critical. If a public key encrypts data outside of AWS KMS by using an - * unsupported encryption algorithm, the ciphertext cannot be decrypted.

                                                                    - *

                                                                    This field appears in the response only when the KeyUsage of the public key - * is ENCRYPT_DECRYPT.

                                                                    - */ - EncryptionAlgorithms?: (EncryptionAlgorithmSpec | string)[]; + KeyId?: string; + + /** + *

                                                                    The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or + * SIGN_VERIFY.

                                                                    + *

                                                                    This information is critical. If a public key with SIGN_VERIFY key usage + * encrypts data outside of AWS KMS, the ciphertext cannot be decrypted.

                                                                    + */ + KeyUsage?: KeyUsageType | string; } export namespace GetPublicKeyResponse { @@ -2596,55 +2596,55 @@ export namespace GetPublicKeyResponse { */ export interface GrantListEntry { /** - *

                                                                    The AWS account under which the grant was issued.

                                                                    + *

                                                                    The unique identifier for the customer master key (CMK) to which the grant applies.

                                                                    */ - IssuingAccount?: string; + KeyId?: string; /** - *

                                                                    The identity that gets the permissions in the grant.

                                                                    - *

                                                                    The GranteePrincipal field in the ListGrants response usually contains the - * user or role designated as the grantee principal in the grant. However, when the grantee - * principal in the grant is an AWS service, the GranteePrincipal field contains - * the service - * principal, which might represent several different grantee principals.

                                                                    + *

                                                                    The unique identifier for the grant.

                                                                    */ - GranteePrincipal?: string; + GrantId?: string; /** *

                                                                    The list of operations permitted by the grant.

                                                                    */ Operations?: (GrantOperation | string)[]; + /** + *

                                                                    The AWS account under which the grant was issued.

                                                                    + */ + IssuingAccount?: string; + /** *

                                                                    The friendly name that identifies the grant. If a name was provided in the CreateGrant request, that name is returned. Otherwise this value is null.

                                                                    */ Name?: string; /** - *

                                                                    The principal that can retire the grant.

                                                                    + *

                                                                    The identity that gets the permissions in the grant.

                                                                    + *

                                                                    The GranteePrincipal field in the ListGrants response usually contains the + * user or role designated as the grantee principal in the grant. However, when the grantee + * principal in the grant is an AWS service, the GranteePrincipal field contains + * the service + * principal, which might represent several different grantee principals.

                                                                    */ - RetiringPrincipal?: string; + GranteePrincipal?: string; /** - *

                                                                    The unique identifier for the customer master key (CMK) to which the grant applies.

                                                                    + *

                                                                    The date and time when the grant was created.

                                                                    */ - KeyId?: string; + CreationDate?: Date; /** - *

                                                                    The unique identifier for the grant.

                                                                    + *

                                                                    The principal that can retire the grant.

                                                                    */ - GrantId?: string; + RetiringPrincipal?: string; /** *

                                                                    A list of key-value pairs that must be present in the encryption context of certain * subsequent operations that the grant allows.

                                                                    */ Constraints?: GrantConstraints; - - /** - *

                                                                    The date and time when the grant was created.

                                                                    - */ - CreationDate?: Date; } export namespace GrantListEntry { @@ -2654,6 +2654,14 @@ export namespace GrantListEntry { } export interface ImportKeyMaterialRequest { + /** + *

                                                                    The time at which the imported key material expires. When the key material expires, AWS KMS + * deletes the key material and the CMK becomes unusable. You must omit this parameter when the + * ExpirationModel parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE. + * Otherwise it is required.

                                                                    + */ + ValidTo?: Date; + /** *

                                                                    The import token that you received in the response to a previous GetParametersForImport request. It must be from the same response that contained * the public key that you used to encrypt the key material.

                                                                    @@ -2695,14 +2703,6 @@ export interface ImportKeyMaterialRequest { * omit the ValidTo parameter.

                                                                    */ ExpirationModel?: ExpirationModelType | string; - - /** - *

                                                                    The time at which the imported key material expires. When the key material expires, AWS KMS - * deletes the key material and the CMK becomes unusable. You must omit this parameter when the - * ExpirationModel parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE. - * Otherwise it is required.

                                                                    - */ - ValidTo?: Date; } export namespace ImportKeyMaterialRequest { @@ -2822,15 +2822,6 @@ export namespace KMSInvalidSignatureException { } export interface ListAliasesRequest { - /** - *

                                                                    Lists only aliases that refer to the specified CMK. The value of this parameter can be the - * ID or Amazon Resource Name (ARN) of a CMK in the caller's account and region. You cannot use - * an alias name or alias ARN in this value.

                                                                    - *

                                                                    This parameter is optional. If you omit it, ListAliases returns all aliases - * in the account and region.

                                                                    - */ - KeyId?: string; - /** *

                                                                    Use this parameter in a subsequent request after you receive a response with * truncated results. Set it to the value of NextMarker from the truncated response @@ -2846,6 +2837,15 @@ export interface ListAliasesRequest { * and 100, inclusive. If you do not include a value, it defaults to 50.

                                                                    */ Limit?: number; + + /** + *

                                                                    Lists only aliases that refer to the specified CMK. The value of this parameter can be the + * ID or Amazon Resource Name (ARN) of a CMK in the caller's account and region. You cannot use + * an alias name or alias ARN in this value.

                                                                    + *

                                                                    This parameter is optional. If you omit it, ListAliases returns all aliases + * in the account and region.

                                                                    + */ + KeyId?: string; } export namespace ListAliasesRequest { @@ -2855,12 +2855,6 @@ export namespace ListAliasesRequest { } export interface ListAliasesResponse { - /** - *

                                                                    When Truncated is true, this element is present and contains the - * value to use for the Marker parameter in a subsequent request.

                                                                    - */ - NextMarker?: string; - /** *

                                                                    A list of aliases.

                                                                    */ @@ -2873,6 +2867,12 @@ export interface ListAliasesResponse { * subsequent request.

                                                                    */ Truncated?: boolean; + + /** + *

                                                                    When Truncated is true, this element is present and contains the + * value to use for the Marker parameter in a subsequent request.

                                                                    + */ + NextMarker?: string; } export namespace ListAliasesResponse { @@ -2925,17 +2925,17 @@ export namespace ListGrantsRequest { } export interface ListGrantsResponse { - /** - *

                                                                    A list of grants.

                                                                    - */ - Grants?: GrantListEntry[]; - /** *

                                                                    When Truncated is true, this element is present and contains the * value to use for the Marker parameter in a subsequent request.

                                                                    */ NextMarker?: string; + /** + *

                                                                    A list of grants.

                                                                    + */ + Grants?: GrantListEntry[]; + /** *

                                                                    A flag that indicates whether there are more items in the list. When this * value is true, the list in this response is truncated. To get more items, pass the value of @@ -2953,14 +2953,11 @@ export namespace ListGrantsResponse { export interface ListKeyPoliciesRequest { /** - *

                                                                    Use this parameter to specify the maximum number of items to return. When this - * value is present, AWS KMS does not return more than the specified number of items, but it might - * return fewer.

                                                                    - *

                                                                    This value is optional. If you include a value, it must be between - * 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

                                                                    - *

                                                                    Only one policy can be attached to a key.

                                                                    + *

                                                                    Use this parameter in a subsequent request after you receive a response with + * truncated results. Set it to the value of NextMarker from the truncated response + * you just received.

                                                                    */ - Limit?: number; + Marker?: string; /** *

                                                                    A unique identifier for the customer master key (CMK).

                                                                    @@ -2981,11 +2978,14 @@ export interface ListKeyPoliciesRequest { KeyId: string | undefined; /** - *

                                                                    Use this parameter in a subsequent request after you receive a response with - * truncated results. Set it to the value of NextMarker from the truncated response - * you just received.

                                                                    + *

                                                                    Use this parameter to specify the maximum number of items to return. When this + * value is present, AWS KMS does not return more than the specified number of items, but it might + * return fewer.

                                                                    + *

                                                                    This value is optional. If you include a value, it must be between + * 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

                                                                    + *

                                                                    Only one policy can be attached to a key.

                                                                    */ - Marker?: string; + Limit?: number; } export namespace ListKeyPoliciesRequest { @@ -2995,6 +2995,12 @@ export namespace ListKeyPoliciesRequest { } export interface ListKeyPoliciesResponse { + /** + *

                                                                    When Truncated is true, this element is present and contains the + * value to use for the Marker parameter in a subsequent request.

                                                                    + */ + NextMarker?: string; + /** *

                                                                    A list of key policy names. The only valid value is default.

                                                                    */ @@ -3007,12 +3013,6 @@ export interface ListKeyPoliciesResponse { * subsequent request.

                                                                    */ Truncated?: boolean; - - /** - *

                                                                    When Truncated is true, this element is present and contains the - * value to use for the Marker parameter in a subsequent request.

                                                                    - */ - NextMarker?: string; } export namespace ListKeyPoliciesResponse { @@ -3046,12 +3046,6 @@ export namespace ListKeysRequest { } export interface ListKeysResponse { - /** - *

                                                                    When Truncated is true, this element is present and contains the - * value to use for the Marker parameter in a subsequent request.

                                                                    - */ - NextMarker?: string; - /** *

                                                                    A flag that indicates whether there are more items in the list. When this * value is true, the list in this response is truncated. To get more items, pass the value of @@ -3060,6 +3054,12 @@ export interface ListKeysResponse { */ Truncated?: boolean; + /** + *

                                                                    When Truncated is true, this element is present and contains the + * value to use for the Marker parameter in a subsequent request.

                                                                    + */ + NextMarker?: string; + /** *

                                                                    A list of customer master keys (CMKs).

                                                                    */ @@ -3073,6 +3073,15 @@ export namespace ListKeysResponse { } export interface ListResourceTagsRequest { + /** + *

                                                                    Use this parameter in a subsequent request after you receive a response with + * truncated results. Set it to the value of NextMarker from the truncated response + * you just received.

                                                                    + *

                                                                    Do not attempt to construct this value. Use only the value of NextMarker from + * the truncated response you just received.

                                                                    + */ + Marker?: string; + /** *

                                                                    Use this parameter to specify the maximum number of items to return. When this * value is present, AWS KMS does not return more than the specified number of items, but it might @@ -3099,15 +3108,6 @@ export interface ListResourceTagsRequest { *

                                                                    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

                                                                    */ KeyId: string | undefined; - - /** - *

                                                                    Use this parameter in a subsequent request after you receive a response with - * truncated results. Set it to the value of NextMarker from the truncated response - * you just received.

                                                                    - *

                                                                    Do not attempt to construct this value. Use only the value of NextMarker from - * the truncated response you just received.

                                                                    - */ - Marker?: string; } export namespace ListResourceTagsRequest { @@ -3117,13 +3117,6 @@ export namespace ListResourceTagsRequest { } export interface ListResourceTagsResponse { - /** - *

                                                                    When Truncated is true, this element is present and contains the - * value to use for the Marker parameter in a subsequent request.

                                                                    - *

                                                                    Do not assume or infer any information from this value.

                                                                    - */ - NextMarker?: string; - /** *

                                                                    A flag that indicates whether there are more items in the list. When this * value is true, the list in this response is truncated. To get more items, pass the value of @@ -3132,6 +3125,13 @@ export interface ListResourceTagsResponse { */ Truncated?: boolean; + /** + *

                                                                    When Truncated is true, this element is present and contains the + * value to use for the Marker parameter in a subsequent request.

                                                                    + *

                                                                    Do not assume or infer any information from this value.

                                                                    + */ + NextMarker?: string; + /** *

                                                                    A list of tags. Each tag consists of a tag key and a tag value.

                                                                    */ @@ -3145,6 +3145,13 @@ export namespace ListResourceTagsResponse { } export interface ListRetirableGrantsRequest { + /** + *

                                                                    Use this parameter in a subsequent request after you receive a response with + * truncated results. Set it to the value of NextMarker from the truncated response + * you just received.

                                                                    + */ + Marker?: string; + /** *

                                                                    Use this parameter to specify the maximum number of items to return. When this * value is present, AWS KMS does not return more than the specified number of items, but it might @@ -3154,13 +3161,6 @@ export interface ListRetirableGrantsRequest { */ Limit?: number; - /** - *

                                                                    Use this parameter in a subsequent request after you receive a response with - * truncated results. Set it to the value of NextMarker from the truncated response - * you just received.

                                                                    - */ - Marker?: string; - /** *

                                                                    The retiring principal for which to list grants.

                                                                    *

                                                                    To specify the retiring principal, use the Amazon Resource Name (ARN) of an AWS @@ -3215,6 +3215,11 @@ export interface PutKeyPolicyRequest { */ BypassPolicyLockoutSafetyCheck?: boolean; + /** + *

                                                                    The name of the key policy. The only valid value is default.

                                                                    + */ + PolicyName: string | undefined; + /** *

                                                                    The key policy to attach to the CMK.

                                                                    *

                                                                    The key policy must meet the following criteria:

                                                                    @@ -3237,11 +3242,6 @@ export interface PutKeyPolicyRequest { *

                                                                    The key policy cannot exceed 32 kilobytes (32768 bytes). For more information, see Resource Quotas in the AWS Key Management Service Developer Guide.

                                                                    */ Policy: string | undefined; - - /** - *

                                                                    The name of the key policy. The only valid value is default.

                                                                    - */ - PolicyName: string | undefined; } export namespace PutKeyPolicyRequest { @@ -3252,34 +3252,18 @@ export namespace PutKeyPolicyRequest { export interface ReEncryptRequest { /** - *

                                                                    Ciphertext of the data to reencrypt.

                                                                    - */ - CiphertextBlob: Uint8Array | undefined; - - /** - *

                                                                    Specifies that encryption context to use when the reencrypting the data.

                                                                    - *

                                                                    A destination encryption context is valid only when the destination CMK is a symmetric - * CMK. The standard ciphertext format for asymmetric CMKs does not include fields for - * metadata.

                                                                    - *

                                                                    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

                                                                    - *

                                                                    For more information, see - * Encryption - * Context in the AWS Key Management Service Developer Guide.

                                                                    + *

                                                                    A list of grant tokens.

                                                                    + *

                                                                    For more information, see Grant Tokens in the + * AWS Key Management Service Developer Guide.

                                                                    */ - DestinationEncryptionContext?: { [key: string]: string }; + GrantTokens?: string[]; /** - *

                                                                    A unique identifier for the CMK that is used to decrypt the ciphertext before it - * reencrypts it using the destination CMK.

                                                                    - *

                                                                    This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. - * Otherwise, AWS KMS uses the metadata that it adds to the ciphertext blob to determine which - * CMK was used to encrypt the ciphertext. However, you can use this parameter to ensure that a - * particular CMK (of any kind) is used to decrypt the ciphertext before it is - * reencrypted.

                                                                    - *

                                                                    If you specify a KeyId value, the decrypt part of the ReEncrypt - * operation succeeds only if the specified CMK was used to encrypt the ciphertext.

                                                                    - * - *

                                                                    To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/".

                                                                    + *

                                                                    A unique identifier for the CMK that is used to reencrypt the data. Specify a symmetric or + * asymmetric CMK with a KeyUsage value of ENCRYPT_DECRYPT. To find the + * KeyUsage value of a CMK, use the DescribeKey + * operation.

                                                                    + *

                                                                    To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

                                                                    *

                                                                    For example:

                                                                    *
                                                                      *
                                                                    • @@ -3301,14 +3285,12 @@ export interface ReEncryptRequest { *
                                                                    *

                                                                    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

                                                                    */ - SourceKeyId?: string; + DestinationKeyId: string | undefined; /** - *

                                                                    A list of grant tokens.

                                                                    - *

                                                                    For more information, see Grant Tokens in the - * AWS Key Management Service Developer Guide.

                                                                    + *

                                                                    Ciphertext of the data to reencrypt.

                                                                    */ - GrantTokens?: string[]; + CiphertextBlob: Uint8Array | undefined; /** *

                                                                    Specifies the encryption algorithm that AWS KMS will use to reecrypt the data after it has @@ -3337,14 +3319,32 @@ export interface ReEncryptRequest { *

                                                                    This parameter is required only when the ciphertext was encrypted under an asymmetric * CMK.

                                                                    */ - SourceEncryptionAlgorithm?: EncryptionAlgorithmSpec | string; + SourceEncryptionAlgorithm?: EncryptionAlgorithmSpec | string; + + /** + *

                                                                    Specifies that encryption context to use when the reencrypting the data.

                                                                    + *

                                                                    A destination encryption context is valid only when the destination CMK is a symmetric + * CMK. The standard ciphertext format for asymmetric CMKs does not include fields for + * metadata.

                                                                    + *

                                                                    An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

                                                                    + *

                                                                    For more information, see + * Encryption + * Context in the AWS Key Management Service Developer Guide.

                                                                    + */ + DestinationEncryptionContext?: { [key: string]: string }; /** - *

                                                                    A unique identifier for the CMK that is used to reencrypt the data. Specify a symmetric or - * asymmetric CMK with a KeyUsage value of ENCRYPT_DECRYPT. To find the - * KeyUsage value of a CMK, use the DescribeKey - * operation.

                                                                    - *

                                                                    To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

                                                                    + *

                                                                    A unique identifier for the CMK that is used to decrypt the ciphertext before it + * reencrypts it using the destination CMK.

                                                                    + *

                                                                    This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. + * Otherwise, AWS KMS uses the metadata that it adds to the ciphertext blob to determine which + * CMK was used to encrypt the ciphertext. However, you can use this parameter to ensure that a + * particular CMK (of any kind) is used to decrypt the ciphertext before it is + * reencrypted.

                                                                    + *

                                                                    If you specify a KeyId value, the decrypt part of the ReEncrypt + * operation succeeds only if the specified CMK was used to encrypt the ciphertext.

                                                                    + * + *

                                                                    To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/".

                                                                    *

                                                                    For example:

                                                                    *
                                                                      *
                                                                    • @@ -3366,7 +3366,7 @@ export interface ReEncryptRequest { *
                                                                    *

                                                                    To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

                                                                    */ - DestinationKeyId: string | undefined; + SourceKeyId?: string; } export namespace ReEncryptRequest { @@ -3376,6 +3376,11 @@ export namespace ReEncryptRequest { } export interface ReEncryptResponse { + /** + *

                                                                    The encryption algorithm that was used to reencrypt the data.

                                                                    + */ + DestinationEncryptionAlgorithm?: EncryptionAlgorithmSpec | string; + /** *

                                                                    The Amazon Resource Name (key ARN) of the CMK that was used to reencrypt the data.

                                                                    */ @@ -3386,21 +3391,16 @@ export interface ReEncryptResponse { */ SourceKeyId?: string; - /** - *

                                                                    The reencrypted data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

                                                                    - */ - CiphertextBlob?: Uint8Array; - - /** - *

                                                                    The encryption algorithm that was used to reencrypt the data.

                                                                    - */ - DestinationEncryptionAlgorithm?: EncryptionAlgorithmSpec | string; - /** *

                                                                    The encryption algorithm that was used to decrypt the ciphertext before it was * reencrypted.

                                                                    */ SourceEncryptionAlgorithm?: EncryptionAlgorithmSpec | string; + + /** + *

                                                                    The reencrypted data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

                                                                    + */ + CiphertextBlob?: Uint8Array; } export namespace ReEncryptResponse { @@ -3410,18 +3410,6 @@ export namespace ReEncryptResponse { } export interface RetireGrantRequest { - /** - *

                                                                    Token that identifies the grant to be retired.

                                                                    - */ - GrantToken?: string; - - /** - *

                                                                    The Amazon Resource Name (ARN) of the CMK associated with the grant.

                                                                    - *

                                                                    For example: arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab - *

                                                                    - */ - KeyId?: string; - /** *

                                                                    Unique identifier of the grant to retire. The grant ID is returned in the response to a * CreateGrant operation.

                                                                    @@ -3433,6 +3421,18 @@ export interface RetireGrantRequest { *
                                                                  */ GrantId?: string; + + /** + *

                                                                  Token that identifies the grant to be retired.

                                                                  + */ + GrantToken?: string; + + /** + *

                                                                  The Amazon Resource Name (ARN) of the CMK associated with the grant.

                                                                  + *

                                                                  For example: arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab + *

                                                                  + */ + KeyId?: string; } export namespace RetireGrantRequest { @@ -3475,6 +3475,14 @@ export namespace RevokeGrantRequest { } export interface ScheduleKeyDeletionRequest { + /** + *

                                                                  The waiting period, specified in number of days. After the waiting period ends, AWS KMS + * deletes the customer master key (CMK).

                                                                  + *

                                                                  This value is optional. If you include a value, it must be between 7 and 30, inclusive. If + * you do not include a value, it defaults to 30.

                                                                  + */ + PendingWindowInDays?: number; + /** *

                                                                  The unique identifier of the customer master key (CMK) to delete.

                                                                  * @@ -3493,14 +3501,6 @@ export interface ScheduleKeyDeletionRequest { *

                                                                  To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

                                                                  */ KeyId: string | undefined; - - /** - *

                                                                  The waiting period, specified in number of days. After the waiting period ends, AWS KMS - * deletes the customer master key (CMK).

                                                                  - *

                                                                  This value is optional. If you include a value, it must be between 7 and 30, inclusive. If - * you do not include a value, it defaults to 30.

                                                                  - */ - PendingWindowInDays?: number; } export namespace ScheduleKeyDeletionRequest { @@ -3528,6 +3528,28 @@ export namespace ScheduleKeyDeletionResponse { } export interface SignRequest { + /** + *

                                                                  Specifies the message or message digest to sign. Messages can be 0-4096 bytes. To sign a + * larger message, provide the message digest.

                                                                  + *

                                                                  If you provide a message, AWS KMS generates a hash digest of the message and then signs + * it.

                                                                  + */ + Message: Uint8Array | undefined; + + /** + *

                                                                  Tells AWS KMS whether the value of the Message parameter is a message or + * message digest. The default value, RAW, indicates a message. To indicate a message digest, + * enter DIGEST.

                                                                  + */ + MessageType?: MessageType | string; + + /** + *

                                                                  A list of grant tokens.

                                                                  + *

                                                                  For more information, see Grant Tokens in the + * AWS Key Management Service Developer Guide.

                                                                  + */ + GrantTokens?: string[]; + /** *

                                                                  Identifies an asymmetric CMK. AWS KMS uses the private key in the asymmetric CMK to sign the * message. The KeyUsage type of the CMK must be SIGN_VERIFY. To find @@ -3563,28 +3585,6 @@ export interface SignRequest { * CMK.

                                                                  */ SigningAlgorithm: SigningAlgorithmSpec | string | undefined; - - /** - *

                                                                  A list of grant tokens.

                                                                  - *

                                                                  For more information, see Grant Tokens in the - * AWS Key Management Service Developer Guide.

                                                                  - */ - GrantTokens?: string[]; - - /** - *

                                                                  Tells AWS KMS whether the value of the Message parameter is a message or - * message digest. The default value, RAW, indicates a message. To indicate a message digest, - * enter DIGEST.

                                                                  - */ - MessageType?: MessageType | string; - - /** - *

                                                                  Specifies the message or message digest to sign. Messages can be 0-4096 bytes. To sign a - * larger message, provide the message digest.

                                                                  - *

                                                                  If you provide a message, AWS KMS generates a hash digest of the message and then signs - * it.

                                                                  - */ - Message: Uint8Array | undefined; } export namespace SignRequest { @@ -3596,9 +3596,10 @@ export namespace SignRequest { export interface SignResponse { /** - *

                                                                  The signing algorithm that was used to sign the message.

                                                                  + *

                                                                  The Amazon Resource Name (key ARN) of the asymmetric CMK that was used to sign the + * message.

                                                                  */ - SigningAlgorithm?: SigningAlgorithmSpec | string; + KeyId?: string; /** *

                                                                  The cryptographic signature that was generated for the message.

                                                                  @@ -3621,10 +3622,9 @@ export interface SignResponse { Signature?: Uint8Array; /** - *

                                                                  The Amazon Resource Name (key ARN) of the asymmetric CMK that was used to sign the - * message.

                                                                  + *

                                                                  The signing algorithm that was used to sign the message.

                                                                  */ - KeyId?: string; + SigningAlgorithm?: SigningAlgorithmSpec | string; } export namespace SignResponse { @@ -3634,6 +3634,11 @@ export namespace SignResponse { } export interface TagResourceRequest { + /** + *

                                                                  One or more tags. Each tag consists of a tag key and a tag value.

                                                                  + */ + Tags: Tag[] | undefined; + /** *

                                                                  A unique identifier for the CMK you are tagging.

                                                                  *

                                                                  Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

                                                                  @@ -3651,11 +3656,6 @@ export interface TagResourceRequest { *

                                                                  To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

                                                                  */ KeyId: string | undefined; - - /** - *

                                                                  One or more tags. Each tag consists of a tag key and a tag value.

                                                                  - */ - Tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -3665,6 +3665,11 @@ export namespace TagResourceRequest { } export interface UntagResourceRequest { + /** + *

                                                                  One or more tag keys. Specify only the tag keys, not the tag values.

                                                                  + */ + TagKeys: string[] | undefined; + /** *

                                                                  A unique identifier for the CMK from which you are removing tags.

                                                                  * @@ -3683,11 +3688,6 @@ export interface UntagResourceRequest { *

                                                                  To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

                                                                  */ KeyId: string | undefined; - - /** - *

                                                                  One or more tag keys. Specify only the tag keys, not the tag values.

                                                                  - */ - TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -3697,6 +3697,13 @@ export namespace UntagResourceRequest { } export interface UpdateAliasRequest { + /** + *

                                                                  Identifies the alias that is changing its CMK. This value must begin with + * alias/ followed by the alias name, such as alias/ExampleAlias. You + * cannot use UpdateAlias to change the alias name.

                                                                  + */ + AliasName: string | undefined; + /** *

                                                                  Identifies the CMK to associate with the alias. When the update operation completes, the * alias will point to this CMK.

                                                                  @@ -3720,13 +3727,6 @@ export interface UpdateAliasRequest { * is mapped to the correct CMK, use ListAliases.

                                                                  */ TargetKeyId: string | undefined; - - /** - *

                                                                  Identifies the alias that is changing its CMK. This value must begin with - * alias/ followed by the alias name, such as alias/ExampleAlias. You - * cannot use UpdateAlias to change the alias name.

                                                                  - */ - AliasName: string | undefined; } export namespace UpdateAliasRequest { @@ -3737,15 +3737,12 @@ export namespace UpdateAliasRequest { export interface UpdateCustomKeyStoreRequest { /** - *

                                                                  Associates the custom key store with a related AWS CloudHSM cluster.

                                                                  - *

                                                                  Enter the cluster ID of the cluster that you used to create the custom key store or a - * cluster that shares a backup history and has the same cluster certificate as the original - * cluster. You cannot use this parameter to associate a custom key store with an unrelated - * cluster. In addition, the replacement cluster must fulfill the requirements for - * a cluster associated with a custom key store. To view the cluster certificate of a cluster, - * use the DescribeClusters operation.

                                                                  + *

                                                                  Enter the current password of the kmsuser crypto user (CU) in the AWS CloudHSM + * cluster that is associated with the custom key store.

                                                                  + *

                                                                  This parameter tells AWS KMS the current password of the kmsuser crypto user + * (CU). It does not set or change the password of any users in the AWS CloudHSM cluster.

                                                                  */ - CloudHsmClusterId?: string; + KeyStorePassword?: string; /** *

                                                                  Identifies the custom key store that you want to update. Enter the ID of the custom key @@ -3760,12 +3757,15 @@ export interface UpdateCustomKeyStoreRequest { NewCustomKeyStoreName?: string; /** - *

                                                                  Enter the current password of the kmsuser crypto user (CU) in the AWS CloudHSM - * cluster that is associated with the custom key store.

                                                                  - *

                                                                  This parameter tells AWS KMS the current password of the kmsuser crypto user - * (CU). It does not set or change the password of any users in the AWS CloudHSM cluster.

                                                                  + *

                                                                  Associates the custom key store with a related AWS CloudHSM cluster.

                                                                  + *

                                                                  Enter the cluster ID of the cluster that you used to create the custom key store or a + * cluster that shares a backup history and has the same cluster certificate as the original + * cluster. You cannot use this parameter to associate a custom key store with an unrelated + * cluster. In addition, the replacement cluster must fulfill the requirements for + * a cluster associated with a custom key store. To view the cluster certificate of a cluster, + * use the DescribeClusters operation.

                                                                  */ - KeyStorePassword?: string; + CloudHsmClusterId?: string; } export namespace UpdateCustomKeyStoreRequest { @@ -3784,11 +3784,6 @@ export namespace UpdateCustomKeyStoreResponse { } export interface UpdateKeyDescriptionRequest { - /** - *

                                                                  New description for the CMK.

                                                                  - */ - Description: string | undefined; - /** *

                                                                  A unique identifier for the customer master key (CMK).

                                                                  *

                                                                  Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

                                                                  @@ -3806,6 +3801,11 @@ export interface UpdateKeyDescriptionRequest { *

                                                                  To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

                                                                  */ KeyId: string | undefined; + + /** + *

                                                                  New description for the CMK.

                                                                  + */ + Description: string | undefined; } export namespace UpdateKeyDescriptionRequest { @@ -3815,6 +3815,13 @@ export namespace UpdateKeyDescriptionRequest { } export interface VerifyRequest { + /** + *

                                                                  A list of grant tokens.

                                                                  + *

                                                                  For more information, see Grant Tokens in the + * AWS Key Management Service Developer Guide.

                                                                  + */ + GrantTokens?: string[]; + /** *

                                                                  Tells AWS KMS whether the value of the Message parameter is a message or * message digest. The default value, RAW, indicates a message. To indicate a message digest, @@ -3827,6 +3834,17 @@ export interface VerifyRequest { */ MessageType?: MessageType | string; + /** + *

                                                                  The signing algorithm that was used to sign the message. If you submit a different + * algorithm, the signature verification fails.

                                                                  + */ + SigningAlgorithm: SigningAlgorithmSpec | string | undefined; + + /** + *

                                                                  The signature that the Sign operation generated.

                                                                  + */ + Signature: Uint8Array | undefined; + /** *

                                                                  Specifies the message that was signed. You can submit a raw message of up to 4096 bytes, * or a hash digest of the message. If you submit a digest, use the MessageType @@ -3837,19 +3855,6 @@ export interface VerifyRequest { */ Message: Uint8Array | undefined; - /** - *

                                                                  The signing algorithm that was used to sign the message. If you submit a different - * algorithm, the signature verification fails.

                                                                  - */ - SigningAlgorithm: SigningAlgorithmSpec | string | undefined; - - /** - *

                                                                  A list of grant tokens.

                                                                  - *

                                                                  For more information, see Grant Tokens in the - * AWS Key Management Service Developer Guide.

                                                                  - */ - GrantTokens?: string[]; - /** *

                                                                  Identifies the asymmetric CMK that will be used to verify the signature. This must be the * same CMK that was used to generate the signature. If you specify a different CMK, the @@ -3878,11 +3883,6 @@ export interface VerifyRequest { *

                                                                  To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

                                                                  */ KeyId: string | undefined; - - /** - *

                                                                  The signature that the Sign operation generated.

                                                                  - */ - Signature: Uint8Array | undefined; } export namespace VerifyRequest { @@ -3893,11 +3893,6 @@ export namespace VerifyRequest { } export interface VerifyResponse { - /** - *

                                                                  The Amazon Resource Name (key ARN) of the asymmetric CMK that was used to verify the signature.

                                                                  - */ - KeyId?: string; - /** *

                                                                  The signing algorithm that was used to verify the signature.

                                                                  */ @@ -3911,6 +3906,11 @@ export interface VerifyResponse { * operation fails with a KMSInvalidSignatureException exception.

                                                                  */ SignatureValid?: boolean; + + /** + *

                                                                  The Amazon Resource Name (key ARN) of the asymmetric CMK that was used to verify the signature.

                                                                  + */ + KeyId?: string; } export namespace VerifyResponse { diff --git a/clients/client-lakeformation/models/models_0.ts b/clients/client-lakeformation/models/models_0.ts index 3bb1b845155a..98cebf2e078b 100644 --- a/clients/client-lakeformation/models/models_0.ts +++ b/clients/client-lakeformation/models/models_0.ts @@ -85,14 +85,14 @@ export namespace DatabaseResource { */ export interface DataLocationResource { /** - *

                                                                  The identifier for the Data Catalog where the location is registered with AWS Lake Formation. By default, it is the account ID of the caller.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) that uniquely identifies the data location resource.

                                                                  */ - CatalogId?: string; + ResourceArn: string | undefined; /** - *

                                                                  The Amazon Resource Name (ARN) that uniquely identifies the data location resource.

                                                                  + *

                                                                  The identifier for the Data Catalog where the location is registered with AWS Lake Formation. By default, it is the account ID of the caller.

                                                                  */ - ResourceArn: string | undefined; + CatalogId?: string; } export namespace DataLocationResource { @@ -117,26 +117,26 @@ export namespace TableWildcard { */ export interface TableResource { /** - *

                                                                  A wildcard object representing every table under a database.

                                                                  - * - *

                                                                  At least one of TableResource$Name or TableResource$TableWildcard is required.

                                                                  + *

                                                                  The identifier for the Data Catalog. By default, it is the account ID of the caller.

                                                                  */ - TableWildcard?: TableWildcard; + CatalogId?: string; /** - *

                                                                  The name of the database for the table. Unique to a Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal.

                                                                  + *

                                                                  The name of the table.

                                                                  */ - DatabaseName: string | undefined; + Name?: string; /** - *

                                                                  The name of the table.

                                                                  + *

                                                                  The name of the database for the table. Unique to a Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal.

                                                                  */ - Name?: string; + DatabaseName: string | undefined; /** - *

                                                                  The identifier for the Data Catalog. By default, it is the account ID of the caller.

                                                                  + *

                                                                  A wildcard object representing every table under a database.

                                                                  + * + *

                                                                  At least one of TableResource$Name or TableResource$TableWildcard is required.

                                                                  */ - CatalogId?: string; + TableWildcard?: TableWildcard; } export namespace TableResource { @@ -166,6 +166,11 @@ export namespace ColumnWildcard { *

                                                                  This object must take a value for at least one of ColumnsNames, ColumnsIndexes, or ColumnsWildcard.

                                                                  */ export interface TableWithColumnsResource { + /** + *

                                                                  The identifier for the Data Catalog. By default, it is the account ID of the caller.

                                                                  + */ + CatalogId?: string; + /** *

                                                                  The name of the database for the table with columns resource. Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal.

                                                                  */ @@ -176,20 +181,15 @@ export interface TableWithColumnsResource { */ ColumnNames?: string[]; - /** - *

                                                                  A wildcard specified by a ColumnWildcard object. At least one of ColumnNames or ColumnWildcard is required.

                                                                  - */ - ColumnWildcard?: ColumnWildcard; - /** *

                                                                  The name of the table resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.

                                                                  */ Name: string | undefined; /** - *

                                                                  The identifier for the Data Catalog. By default, it is the account ID of the caller.

                                                                  + *

                                                                  A wildcard specified by a ColumnWildcard object. At least one of ColumnNames or ColumnWildcard is required.

                                                                  */ - CatalogId?: string; + ColumnWildcard?: ColumnWildcard; } export namespace TableWithColumnsResource { @@ -202,26 +202,26 @@ export namespace TableWithColumnsResource { *

                                                                  A structure for the resource.

                                                                  */ export interface Resource { - /** - *

                                                                  The table with columns for the resource. A principal with permissions to this resource can select metadata from the columns of a table in the Data Catalog and the underlying data in Amazon S3.

                                                                  - */ - TableWithColumns?: TableWithColumnsResource; - /** *

                                                                  The location of an Amazon S3 path where permissions are granted or revoked.

                                                                  */ DataLocation?: DataLocationResource; /** - *

                                                                  The table for the resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.

                                                                  + *

                                                                  The table with columns for the resource. A principal with permissions to this resource can select metadata from the columns of a table in the Data Catalog and the underlying data in Amazon S3.

                                                                  */ - Table?: TableResource; + TableWithColumns?: TableWithColumnsResource; /** *

                                                                  The database for the resource. Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database permissions to a principal.

                                                                  */ Database?: DatabaseResource; + /** + *

                                                                  The table for the resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.

                                                                  + */ + Table?: TableResource; + /** *

                                                                  The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

                                                                  */ @@ -239,9 +239,9 @@ export namespace Resource { */ export interface BatchPermissionsRequestEntry { /** - *

                                                                  Indicates if the option to pass permissions is granted.

                                                                  + *

                                                                  A unique identifier for the batch permissions request entry.

                                                                  */ - PermissionsWithGrantOption?: (Permission | string)[]; + Id: string | undefined; /** *

                                                                  The principal to be granted a permission.

                                                                  @@ -249,9 +249,9 @@ export interface BatchPermissionsRequestEntry { Principal?: DataLakePrincipal; /** - *

                                                                  A unique identifier for the batch permissions request entry.

                                                                  + *

                                                                  The permissions to be granted.

                                                                  */ - Id: string | undefined; + Permissions?: (Permission | string)[]; /** *

                                                                  The resource to which the principal is to be granted a permission.

                                                                  @@ -259,9 +259,9 @@ export interface BatchPermissionsRequestEntry { Resource?: Resource; /** - *

                                                                  The permissions to be granted.

                                                                  + *

                                                                  Indicates if the option to pass permissions is granted.

                                                                  */ - Permissions?: (Permission | string)[]; + PermissionsWithGrantOption?: (Permission | string)[]; } export namespace BatchPermissionsRequestEntry { @@ -485,14 +485,14 @@ export namespace DescribeResourceRequest { */ export interface ResourceInfo { /** - *

                                                                  The IAM role that registered a resource.

                                                                  + *

                                                                  The date and time the resource was last modified.

                                                                  */ - RoleArn?: string; + LastModified?: Date; /** - *

                                                                  The date and time the resource was last modified.

                                                                  + *

                                                                  The IAM role that registered a resource.

                                                                  */ - LastModified?: Date; + RoleArn?: string; /** *

                                                                  The Amazon Resource Name (ARN) of the resource.

                                                                  @@ -567,17 +567,17 @@ export interface DataLakeSettings { */ CreateDatabaseDefaultPermissions?: PrincipalPermissions[]; - /** - *

                                                                  A list of AWS Lake Formation principals. Supported principals are IAM users or IAM roles.

                                                                  - */ - DataLakeAdmins?: DataLakePrincipal[]; - /** *

                                                                  A list of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs). The user ARNs can be logged in the resource owner's AWS CloudTrail log.

                                                                  * *

                                                                  You may want to specify this property when you are in a high-trust boundary, such as the same team or company.

                                                                  */ TrustedResourceOwners?: string[]; + + /** + *

                                                                  A list of AWS Lake Formation principals. Supported principals are IAM users or IAM roles.

                                                                  + */ + DataLakeAdmins?: DataLakePrincipal[]; } export namespace DataLakeSettings { @@ -628,28 +628,51 @@ export namespace GetEffectivePermissionsForPathRequest { } /** - *

                                                                  The permissions granted or revoked on a resource.

                                                                  + *

                                                                  A structure containing the additional details to be returned in the AdditionalDetails attribute of PrincipalResourcePermissions.

                                                                  + * + *

                                                                  If a catalog resource is shared through AWS Resource Access Manager (AWS RAM), then there will exist a corresponding RAM share resource ARN.

                                                                  */ -export interface PrincipalResourcePermissions { +export interface DetailsMap { /** - *

                                                                  The resource where permissions are to be granted or revoked.

                                                                  + *

                                                                  A share resource ARN for a catalog resource shared through AWS Resource Access Manager (AWS RAM).

                                                                  */ - Resource?: Resource; + ResourceShare?: string[]; +} - /** - *

                                                                  The permissions to be granted or revoked on the resource.

                                                                  - */ - Permissions?: (Permission | string)[]; +export namespace DetailsMap { + export const filterSensitiveLog = (obj: DetailsMap): any => ({ + ...obj, + }); +} +/** + *

                                                                  The permissions granted or revoked on a resource.

                                                                  + */ +export interface PrincipalResourcePermissions { /** *

                                                                  Indicates whether to grant the ability to grant permissions (as a subset of permissions granted).

                                                                  */ PermissionsWithGrantOption?: (Permission | string)[]; + /** + *

                                                                  This attribute can be used to return any additional details of PrincipalResourcePermissions. Currently returns only as a RAM share resource ARN.

                                                                  + */ + AdditionalDetails?: DetailsMap; + /** *

                                                                  The Data Lake principal to be granted or revoked permissions.

                                                                  */ Principal?: DataLakePrincipal; + + /** + *

                                                                  The permissions to be granted or revoked on the resource.

                                                                  + */ + Permissions?: (Permission | string)[]; + + /** + *

                                                                  The resource where permissions are to be granted or revoked.

                                                                  + */ + Resource?: Resource; } export namespace PrincipalResourcePermissions { @@ -660,14 +683,14 @@ export namespace PrincipalResourcePermissions { export interface GetEffectivePermissionsForPathResponse { /** - *

                                                                  A list of the permissions for the specified table or database resource located at the path in Amazon S3.

                                                                  + *

                                                                  A continuation token, if this is not the first call to retrieve this list.

                                                                  */ - Permissions?: PrincipalResourcePermissions[]; + NextToken?: string; /** - *

                                                                  A continuation token, if this is not the first call to retrieve this list.

                                                                  + *

                                                                  A list of the permissions for the specified table or database resource located at the path in Amazon S3.

                                                                  */ - NextToken?: string; + Permissions?: PrincipalResourcePermissions[]; } export namespace GetEffectivePermissionsForPathResponse { @@ -701,9 +724,9 @@ export interface GrantPermissionsRequest { Permissions: (Permission | string)[] | undefined; /** - *

                                                                  The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

                                                                  + *

                                                                  Indicates a list of the granted permissions that the principal may pass to other users. These permissions may only be a subset of the permissions granted in the Privileges.

                                                                  */ - CatalogId?: string; + PermissionsWithGrantOption?: (Permission | string)[]; /** *

                                                                  The principal to be granted the permissions on the resource. Supported principals are IAM users or IAM roles, and they are defined by their principal type and their ARN.

                                                                  @@ -712,9 +735,9 @@ export interface GrantPermissionsRequest { Principal: DataLakePrincipal | undefined; /** - *

                                                                  Indicates a list of the granted permissions that the principal may pass to other users. These permissions may only be a subset of the permissions granted in the Privileges.

                                                                  + *

                                                                  The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

                                                                  */ - PermissionsWithGrantOption?: (Permission | string)[]; + CatalogId?: string; /** *

                                                                  The resource to which permissions are to be granted. Resources in AWS Lake Formation are the Data Catalog, databases, and tables.

                                                                  @@ -749,6 +772,11 @@ export interface ListPermissionsRequest { */ NextToken?: string; + /** + *

                                                                  Specifies a principal to filter the permissions returned.

                                                                  + */ + Principal?: DataLakePrincipal; + /** *

                                                                  Specifies a resource type to filter the permissions returned.

                                                                  */ @@ -759,11 +787,6 @@ export interface ListPermissionsRequest { */ CatalogId?: string; - /** - *

                                                                  Specifies a principal to filter the permissions returned.

                                                                  - */ - Principal?: DataLakePrincipal; - /** *

                                                                  The maximum number of results to return.

                                                                  */ @@ -825,14 +848,14 @@ export enum FieldNameString { */ export interface FilterCondition { /** - *

                                                                  The field to filter in the filter condition.

                                                                  + *

                                                                  The comparison operator used in the filter condition.

                                                                  */ - Field?: FieldNameString | string; + ComparisonOperator?: ComparisonOperator | string; /** - *

                                                                  The comparison operator used in the filter condition.

                                                                  + *

                                                                  The field to filter in the filter condition.

                                                                  */ - ComparisonOperator?: ComparisonOperator | string; + Field?: FieldNameString | string; /** *

                                                                  A string with values used in evaluating the filter condition.

                                                                  @@ -853,14 +876,14 @@ export interface ListResourcesRequest { MaxResults?: number; /** - *

                                                                  A continuation token, if this is not the first call to retrieve these resources.

                                                                  + *

                                                                  Any applicable row-level and/or column-level filtering conditions for the resources.

                                                                  */ - NextToken?: string; + FilterConditionList?: FilterCondition[]; /** - *

                                                                  Any applicable row-level and/or column-level filtering conditions for the resources.

                                                                  + *

                                                                  A continuation token, if this is not the first call to retrieve these resources.

                                                                  */ - FilterConditionList?: FilterCondition[]; + NextToken?: string; } export namespace ListResourcesRequest { @@ -871,14 +894,14 @@ export namespace ListResourcesRequest { export interface ListResourcesResponse { /** - *

                                                                  A summary of the data lake resources.

                                                                  + *

                                                                  A continuation token, if this is not the first call to retrieve these resources.

                                                                  */ - ResourceInfoList?: ResourceInfo[]; + NextToken?: string; /** - *

                                                                  A continuation token, if this is not the first call to retrieve these resources.

                                                                  + *

                                                                  A summary of the data lake resources.

                                                                  */ - NextToken?: string; + ResourceInfoList?: ResourceInfo[]; } export namespace ListResourcesResponse { @@ -953,25 +976,25 @@ export interface RevokePermissionsRequest { CatalogId?: string; /** - *

                                                                  The principal to be revoked permissions on the resource.

                                                                  + *

                                                                  The permissions revoked to the principal on the resource. For information about permissions, see Security + * and Access Control to Metadata and Data.

                                                                  */ - Principal: DataLakePrincipal | undefined; + Permissions: (Permission | string)[] | undefined; /** - *

                                                                  Indicates a list of permissions for which to revoke the grant option allowing the principal to pass permissions to other principals.

                                                                  + *

                                                                  The resource to which permissions are to be revoked.

                                                                  */ - PermissionsWithGrantOption?: (Permission | string)[]; + Resource: Resource | undefined; /** - *

                                                                  The permissions revoked to the principal on the resource. For information about permissions, see Security - * and Access Control to Metadata and Data.

                                                                  + *

                                                                  Indicates a list of permissions for which to revoke the grant option allowing the principal to pass permissions to other principals.

                                                                  */ - Permissions: (Permission | string)[] | undefined; + PermissionsWithGrantOption?: (Permission | string)[]; /** - *

                                                                  The resource to which permissions are to be revoked.

                                                                  + *

                                                                  The principal to be revoked permissions on the resource.

                                                                  */ - Resource: Resource | undefined; + Principal: DataLakePrincipal | undefined; } export namespace RevokePermissionsRequest { diff --git a/clients/client-lakeformation/protocols/Aws_json1_1.ts b/clients/client-lakeformation/protocols/Aws_json1_1.ts index b24228db8ff3..f742555b63d6 100644 --- a/clients/client-lakeformation/protocols/Aws_json1_1.ts +++ b/clients/client-lakeformation/protocols/Aws_json1_1.ts @@ -45,6 +45,7 @@ import { DeregisterResourceResponse, DescribeResourceRequest, DescribeResourceResponse, + DetailsMap, EntityNotFoundException, ErrorDetail, FilterCondition, @@ -1780,6 +1781,15 @@ const deserializeAws_json1_1DescribeResourceResponse = ( } as any; }; +const deserializeAws_json1_1DetailsMap = (output: any, context: __SerdeContext): DetailsMap => { + return { + ResourceShare: + output.ResourceShare !== undefined && output.ResourceShare !== null + ? deserializeAws_json1_1ResourceShareList(output.ResourceShare, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1EntityNotFoundException = ( output: any, context: __SerdeContext @@ -1904,6 +1914,10 @@ const deserializeAws_json1_1PrincipalResourcePermissions = ( context: __SerdeContext ): PrincipalResourcePermissions => { return { + AdditionalDetails: + output.AdditionalDetails !== undefined && output.AdditionalDetails !== null + ? deserializeAws_json1_1DetailsMap(output.AdditionalDetails, context) + : undefined, Permissions: output.Permissions !== undefined && output.Permissions !== null ? deserializeAws_json1_1PermissionList(output.Permissions, context) @@ -1984,6 +1998,10 @@ const deserializeAws_json1_1ResourceInfoList = (output: any, context: __SerdeCon return (output || []).map((entry: any) => deserializeAws_json1_1ResourceInfo(entry, context)); }; +const deserializeAws_json1_1ResourceShareList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1RevokePermissionsResponse = ( output: any, context: __SerdeContext diff --git a/clients/client-lambda/Lambda.ts b/clients/client-lambda/Lambda.ts index 40905458f1bf..d9d1a4a8a8b1 100644 --- a/clients/client-lambda/Lambda.ts +++ b/clients/client-lambda/Lambda.ts @@ -327,13 +327,13 @@ export class Lambda extends LambdaClient { *
                                                                • *

                                                                  * Using AWS Lambda with Amazon - * DynamoDB + * DynamoDB *

                                                                  *
                                                                • *
                                                                • *

                                                                  * Using AWS Lambda with Amazon - * Kinesis + * Kinesis *

                                                                  *
                                                                • *
                                                                • @@ -342,6 +342,12 @@ export class Lambda extends LambdaClient { * SQS *

                                                                  *
                                                                • + *
                                                                • + *

                                                                  + * Using AWS Lambda with Amazon + * MSK + *

                                                                  + *
                                                                • *
                                                                *

                                                                The following error handling options are only available for stream sources (DynamoDB and Kinesis):

                                                                *
                                                                  @@ -355,11 +361,11 @@ export class Lambda extends LambdaClient { * *
                                                                • *

                                                                  - * MaximumRecordAgeInSeconds - Discard records older than the specified age.

                                                                  + * MaximumRecordAgeInSeconds - Discard records older than the specified age. Default -1 (infinite). Minimum 60. Maximum 604800.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * MaximumRetryAttempts - Discard records after the specified number of retries.

                                                                  + * MaximumRetryAttempts - Discard records after the specified number of retries. Default -1 (infinite). Minimum 0. Maximum 10000. When infinite, failed records will be retried until the record expires.

                                                                  *
                                                                • *
                                                                • *

                                                                  @@ -484,7 +490,7 @@ export class Lambda extends LambdaClient { /** *

                                                                  Deletes an event source - * mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

                                                                  + * mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

                                                                  *

                                                                  When you delete an event source mapping, it enters a Deleting state and might not be completely * deleted for several seconds.

                                                                  */ @@ -745,7 +751,7 @@ export class Lambda extends LambdaClient { /** *

                                                                  Returns details about an event source mapping. You can get the identifier of a mapping from the output of - * ListEventSourceMappings.

                                                                  + * ListEventSourceMappings.

                                                                  */ public getEventSourceMapping( args: GetEventSourceMappingCommandInput, @@ -1781,11 +1787,11 @@ export class Lambda extends LambdaClient { *
                                                                • *
                                                                • *

                                                                  - * MaximumRecordAgeInSeconds - Discard records older than the specified age.

                                                                  + * MaximumRecordAgeInSeconds - Discard records older than the specified age. Default -1 (infinite). Minimum 60. Maximum 604800.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * MaximumRetryAttempts - Discard records after the specified number of retries.

                                                                  + * MaximumRetryAttempts - Discard records after the specified number of retries. Default -1 (infinite). Minimum 0. Maximum 10000. When infinite, failed records will be retried until the record expires.

                                                                  *
                                                                • *
                                                                • *

                                                                  diff --git a/clients/client-lambda/models/models_0.ts b/clients/client-lambda/models/models_0.ts index 2b9e3db4590e..ccb74243f797 100644 --- a/clients/client-lambda/models/models_0.ts +++ b/clients/client-lambda/models/models_0.ts @@ -6,16 +6,6 @@ import { Readable } from "stream"; *

                                                                  Limits that are related to concurrency and storage. All file and storage sizes are in bytes.

                                                                  */ export interface AccountLimit { - /** - *

                                                                  The maximum number of simultaneous function executions.

                                                                  - */ - ConcurrentExecutions?: number; - - /** - *

                                                                  The amount of storage space that you can use for all deployment packages and layer archives.

                                                                  - */ - TotalCodeSize?: number; - /** *

                                                                  The maximum size of a deployment package when it's uploaded directly to AWS Lambda. Use Amazon S3 for larger * files.

                                                                  @@ -28,10 +18,20 @@ export interface AccountLimit { */ UnreservedConcurrentExecutions?: number; + /** + *

                                                                  The amount of storage space that you can use for all deployment packages and layer archives.

                                                                  + */ + TotalCodeSize?: number; + /** *

                                                                  The maximum size of a function's deployment package and layers when they're extracted.

                                                                  */ CodeSizeUnzipped?: number; + + /** + *

                                                                  The maximum number of simultaneous function executions.

                                                                  + */ + ConcurrentExecutions?: number; } export namespace AccountLimit { @@ -45,14 +45,14 @@ export namespace AccountLimit { */ export interface AccountUsage { /** - *

                                                                  The number of Lambda functions.

                                                                  + *

                                                                  The amount of storage space, in bytes, that's being used by deployment packages and layer archives.

                                                                  */ - FunctionCount?: number; + TotalCodeSize?: number; /** - *

                                                                  The amount of storage space, in bytes, that's being used by deployment packages and layer archives.

                                                                  + *

                                                                  The number of Lambda functions.

                                                                  */ - TotalCodeSize?: number; + FunctionCount?: number; } export namespace AccountUsage { @@ -63,14 +63,10 @@ export namespace AccountUsage { export interface AddLayerVersionPermissionRequest { /** - *

                                                                  The API action that grants access to the layer. For example, lambda:GetLayerVersion.

                                                                  - */ - Action: string | undefined; - - /** - *

                                                                  An identifier that distinguishes the policy from others on the same layer version.

                                                                  + *

                                                                  Only update the policy if the revision ID matches the ID specified. Use this option to avoid modifying a + * policy that has changed since you last read it.

                                                                  */ - StatementId: string | undefined; + RevisionId?: string; /** *

                                                                  An account ID, or * to grant permission to all AWS accounts.

                                                                  @@ -78,15 +74,15 @@ export interface AddLayerVersionPermissionRequest { Principal: string | undefined; /** - *

                                                                  Only update the policy if the revision ID matches the ID specified. Use this option to avoid modifying a - * policy that has changed since you last read it.

                                                                  + *

                                                                  An identifier that distinguishes the policy from others on the same layer version.

                                                                  */ - RevisionId?: string; + StatementId: string | undefined; /** - *

                                                                  The version number.

                                                                  + *

                                                                  With the principal set to *, grant permission to all accounts in the specified + * organization.

                                                                  */ - VersionNumber: number | undefined; + OrganizationId?: string; /** *

                                                                  The name or Amazon Resource Name (ARN) of the layer.

                                                                  @@ -94,10 +90,14 @@ export interface AddLayerVersionPermissionRequest { LayerName: string | undefined; /** - *

                                                                  With the principal set to *, grant permission to all accounts in the specified - * organization.

                                                                  + *

                                                                  The version number.

                                                                  */ - OrganizationId?: string; + VersionNumber: number | undefined; + + /** + *

                                                                  The API action that grants access to the layer. For example, lambda:GetLayerVersion.

                                                                  + */ + Action: string | undefined; } export namespace AddLayerVersionPermissionRequest { @@ -108,14 +108,14 @@ export namespace AddLayerVersionPermissionRequest { export interface AddLayerVersionPermissionResponse { /** - *

                                                                  A unique identifier for the current revision of the policy.

                                                                  + *

                                                                  The permission statement.

                                                                  */ - RevisionId?: string; + Statement?: string; /** - *

                                                                  The permission statement.

                                                                  + *

                                                                  A unique identifier for the current revision of the policy.

                                                                  */ - Statement?: string; + RevisionId?: string; } export namespace AddLayerVersionPermissionResponse { @@ -154,8 +154,8 @@ export namespace InvalidParameterValueException { export interface PolicyLengthExceededException extends __SmithyException, $MetadataBearer { name: "PolicyLengthExceededException"; $fault: "client"; - message?: string; Type?: string; + message?: string; } export namespace PolicyLengthExceededException { @@ -196,14 +196,14 @@ export interface ResourceConflictException extends __SmithyException, $MetadataB name: "ResourceConflictException"; $fault: "client"; /** - *

                                                                  The exception type.

                                                                  + *

                                                                  The exception message.

                                                                  */ - Type?: string; + message?: string; /** - *

                                                                  The exception message.

                                                                  + *

                                                                  The exception type.

                                                                  */ - message?: string; + Type?: string; } export namespace ResourceConflictException { @@ -258,7 +258,6 @@ export enum ThrottleReason { export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { name: "TooManyRequestsException"; $fault: "client"; - message?: string; /** *

                                                                  The number of seconds the caller should wait before retrying.

                                                                  */ @@ -266,6 +265,7 @@ export interface TooManyRequestsException extends __SmithyException, $MetadataBe Type?: string; Reason?: ThrottleReason | string; + message?: string; } export namespace TooManyRequestsException { @@ -275,6 +275,16 @@ export namespace TooManyRequestsException { } export interface AddPermissionRequest { + /** + *

                                                                  For Alexa Smart Home functions, a token that must be supplied by the invoker.

                                                                  + */ + EventSourceToken?: string; + + /** + *

                                                                  Specify a version or alias to add permissions to a published version of the function.

                                                                  + */ + Qualifier?: string; + /** *

                                                                  The action that the principal can use on the function. For example, lambda:InvokeFunction or * lambda:GetFunction.

                                                                  @@ -299,6 +309,18 @@ export interface AddPermissionRequest { */ StatementId: string | undefined; + /** + *

                                                                  Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a + * policy that has changed since you last read it.

                                                                  + */ + RevisionId?: string; + + /** + *

                                                                  The AWS service or account that invokes the function. If you specify a service, use SourceArn or + * SourceAccount to limit who can invoke the function through that service.

                                                                  + */ + Principal: string | undefined; + /** *

                                                                  The name of the Lambda function, version, or alias.

                                                                  *

                                                                  @@ -322,28 +344,6 @@ export interface AddPermissionRequest { * If you specify only the function name, it is limited to 64 characters in length.

                                                                  */ FunctionName: string | undefined; - - /** - *

                                                                  For Alexa Smart Home functions, a token that must be supplied by the invoker.

                                                                  - */ - EventSourceToken?: string; - - /** - *

                                                                  Specify a version or alias to add permissions to a published version of the function.

                                                                  - */ - Qualifier?: string; - - /** - *

                                                                  The AWS service or account that invokes the function. If you specify a service, use SourceArn or - * SourceAccount to limit who can invoke the function through that service.

                                                                  - */ - Principal: string | undefined; - - /** - *

                                                                  Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a - * policy that has changed since you last read it.

                                                                  - */ - RevisionId?: string; } export namespace AddPermissionRequest { @@ -386,20 +386,19 @@ export namespace AliasRoutingConfiguration { */ export interface AliasConfiguration { /** - *

                                                                  The routing - * configuration of the alias.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the alias.

                                                                  */ - RoutingConfig?: AliasRoutingConfiguration; + AliasArn?: string; /** - *

                                                                  The name of the alias.

                                                                  + *

                                                                  The function version that the alias invokes.

                                                                  */ - Name?: string; + FunctionVersion?: string; /** - *

                                                                  The Amazon Resource Name (ARN) of the alias.

                                                                  + *

                                                                  A description of the alias.

                                                                  */ - AliasArn?: string; + Description?: string; /** *

                                                                  A unique identifier that changes when you update the alias.

                                                                  @@ -407,14 +406,15 @@ export interface AliasConfiguration { RevisionId?: string; /** - *

                                                                  The function version that the alias invokes.

                                                                  + *

                                                                  The routing + * configuration of the alias.

                                                                  */ - FunctionVersion?: string; + RoutingConfig?: AliasRoutingConfiguration; /** - *

                                                                  A description of the alias.

                                                                  + *

                                                                  The name of the alias.

                                                                  */ - Description?: string; + Name?: string; } export namespace AliasConfiguration { @@ -424,12 +424,22 @@ export namespace AliasConfiguration { } export interface CreateAliasRequest { + /** + *

                                                                  The name of the alias.

                                                                  + */ + Name: string | undefined; + /** *

                                                                  The routing * configuration of the alias.

                                                                  */ RoutingConfig?: AliasRoutingConfiguration; + /** + *

                                                                  A description of the alias.

                                                                  + */ + Description?: string; + /** *

                                                                  The name of the Lambda function.

                                                                  *

                                                                  @@ -454,20 +464,10 @@ export interface CreateAliasRequest { */ FunctionName: string | undefined; - /** - *

                                                                  A description of the alias.

                                                                  - */ - Description?: string; - /** *

                                                                  The function version that the alias invokes.

                                                                  */ FunctionVersion: string | undefined; - - /** - *

                                                                  The name of the alias.

                                                                  - */ - Name: string | undefined; } export namespace CreateAliasRequest { @@ -513,14 +513,14 @@ export namespace OnSuccess { */ export interface DestinationConfig { /** - *

                                                                  The destination configuration for successful invocations.

                                                                  + *

                                                                  The destination configuration for failed invocations.

                                                                  */ - OnSuccess?: OnSuccess; + OnFailure?: OnFailure; /** - *

                                                                  The destination configuration for failed invocations.

                                                                  + *

                                                                  The destination configuration for successful invocations.

                                                                  */ - OnFailure?: OnFailure; + OnSuccess?: OnSuccess; } export namespace DestinationConfig { @@ -537,30 +537,44 @@ export enum EventSourcePosition { export interface CreateEventSourceMappingRequest { /** - *

                                                                  Disables the event source mapping to pause polling and invocation.

                                                                  + *

                                                                  If true, the event source mapping is active. Set to false to pause polling and invocation.

                                                                  */ Enabled?: boolean; /** - *

                                                                  (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

                                                                  - */ - DestinationConfig?: DestinationConfig; - - /** - *

                                                                  (Streams) If the function returns an error, split the batch in two and retry.

                                                                  + *

                                                                  (Streams) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records will be retried until the record expires.

                                                                  */ - BisectBatchOnFunctionError?: boolean; + MaximumRetryAttempts?: number; /** - *

                                                                  With StartingPosition set to AT_TIMESTAMP, the time from which to start - * reading.

                                                                  + *

                                                                  + * (MSK) The name of the Kafka topic. + *

                                                                  */ - StartingPositionTimestamp?: Date; + Topics?: string[]; /** - *

                                                                  (Streams) The number of batches to process from each shard concurrently.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the event source.

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * Amazon Kinesis - The ARN of the data stream or a stream consumer.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * Amazon DynamoDB Streams - The ARN of the stream.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * Amazon Simple Queue Service - The ARN of the queue.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * Amazon Managed Streaming for Apache Kafka - The ARN of the cluster.

                                                                    + *
                                                                  • + *
                                                                  */ - ParallelizationFactor?: number; + EventSourceArn: string | undefined; /** *

                                                                  The maximum number of items to retrieve in a single batch.

                                                                  @@ -577,15 +591,14 @@ export interface CreateEventSourceMappingRequest { *

                                                                  * Amazon Simple Queue Service - Default 10. Max 10.

                                                                  *
                                                                • + *
                                                                • + *

                                                                  + * Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000.

                                                                  + *
                                                                • *
                                                                */ BatchSize?: number; - /** - *

                                                                (Streams) The maximum number of times to retry when the function returns an error.

                                                                - */ - MaximumRetryAttempts?: number; - /** *

                                                                The name of the Lambda function.

                                                                *

                                                                @@ -615,39 +628,41 @@ export interface CreateEventSourceMappingRequest { FunctionName: string | undefined; /** - *

                                                                (Streams) The maximum age of a record that Lambda sends to a function for processing.

                                                                + *

                                                                (Streams) The number of batches to process from each shard concurrently.

                                                                */ - MaximumRecordAgeInSeconds?: number; + ParallelizationFactor?: number; /** - *

                                                                The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams + *

                                                                (Streams) If the function returns an error, split the batch in two and retry.

                                                                + */ + BisectBatchOnFunctionError?: boolean; + + /** + *

                                                                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; + /** + *

                                                                (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

                                                                + */ + DestinationConfig?: DestinationConfig; + /** *

                                                                (Streams) The maximum amount of time to gather records before invoking the function, in seconds.

                                                                */ MaximumBatchingWindowInSeconds?: number; /** - *

                                                                The Amazon Resource Name (ARN) of the event source.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * Amazon Kinesis - The ARN of the data stream or a stream consumer.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Amazon DynamoDB Streams - The ARN of the stream.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Amazon Simple Queue Service - The ARN of the queue.

                                                                  - *
                                                                • - *
                                                                + *

                                                                With StartingPosition set to AT_TIMESTAMP, the time from which to start + * reading.

                                                                */ - EventSourceArn: string | undefined; + StartingPositionTimestamp?: Date; + + /** + *

                                                                (Streams) Discard records older than the specified age. The default value is infinite (-1).

                                                                + */ + MaximumRecordAgeInSeconds?: number; } export namespace CreateEventSourceMappingRequest { @@ -662,41 +677,41 @@ export namespace CreateEventSourceMappingRequest { */ export interface EventSourceMappingConfiguration { /** - *

                                                                The state of the event source mapping. It can be one of the following: Creating, - * Enabling, Enabled, Disabling, Disabled, - * Updating, or Deleting.

                                                                + *

                                                                + * (MSK) The name of the Kafka topic. + *

                                                                */ - State?: string; + Topics?: string[]; /** - *

                                                                (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

                                                                + *

                                                                The ARN of the Lambda function.

                                                                */ - DestinationConfig?: DestinationConfig; + FunctionArn?: string; /** - *

                                                                (Streams) The maximum amount of time to gather records before invoking the function, in seconds.

                                                                + *

                                                                The maximum number of items to retrieve in a single batch.

                                                                */ - MaximumBatchingWindowInSeconds?: number; + BatchSize?: number; /** - *

                                                                (Streams) The maximum number of times to retry when the function returns an error.

                                                                + *

                                                                (Streams) The number of batches to process from each shard concurrently.

                                                                */ - MaximumRetryAttempts?: number; + ParallelizationFactor?: number; /** - *

                                                                The maximum number of items to retrieve in a single batch.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the event source.

                                                                */ - BatchSize?: number; + EventSourceArn?: string; /** - *

                                                                The result of the last AWS Lambda invocation of your Lambda function.

                                                                + *

                                                                The date that the event source mapping was last updated, or its state changed.

                                                                */ - LastProcessingResult?: string; + LastModified?: Date; /** - *

                                                                (Streams) The number of batches to process from each shard concurrently.

                                                                + *

                                                                (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

                                                                */ - ParallelizationFactor?: number; + DestinationConfig?: DestinationConfig; /** *

                                                                (Streams) If the function returns an error, split the batch in two and retry.

                                                                @@ -704,10 +719,11 @@ export interface EventSourceMappingConfiguration { BisectBatchOnFunctionError?: boolean; /** - *

                                                                Indicates whether the last change to the event source mapping was made by a user, or by the Lambda - * service.

                                                                + *

                                                                The state of the event source mapping. It can be one of the following: Creating, + * Enabling, Enabled, Disabling, Disabled, + * Updating, or Deleting.

                                                                */ - StateTransitionReason?: string; + State?: string; /** *

                                                                (Streams) The maximum age of a record that Lambda sends to a function for processing.

                                                                @@ -715,24 +731,30 @@ export interface EventSourceMappingConfiguration { MaximumRecordAgeInSeconds?: number; /** - *

                                                                The date that the event source mapping was last updated, or its state changed.

                                                                + *

                                                                (Streams) The maximum amount of time to gather records before invoking the function, in seconds.

                                                                */ - LastModified?: Date; + MaximumBatchingWindowInSeconds?: number; /** - *

                                                                The ARN of the Lambda function.

                                                                + *

                                                                The identifier of the event source mapping.

                                                                */ - FunctionArn?: string; + UUID?: string; /** - *

                                                                The Amazon Resource Name (ARN) of the event source.

                                                                + *

                                                                The result of the last AWS Lambda invocation of your Lambda function.

                                                                */ - EventSourceArn?: string; + LastProcessingResult?: string; /** - *

                                                                The identifier of the event source mapping.

                                                                + *

                                                                (Streams) The maximum number of times to retry when the function returns an error.

                                                                */ - UUID?: string; + MaximumRetryAttempts?: number; + + /** + *

                                                                Indicates whether the last change to the event source mapping was made by a user, or by the Lambda + * service.

                                                                + */ + StateTransitionReason?: string; } export namespace EventSourceMappingConfiguration { @@ -748,11 +770,12 @@ export namespace EventSourceMappingConfiguration { export interface CodeStorageExceededException extends __SmithyException, $MetadataBearer { name: "CodeStorageExceededException"; $fault: "client"; - message?: string; /** *

                                                                The exception type.

                                                                */ Type?: string; + + message?: string; } export namespace CodeStorageExceededException { @@ -766,6 +789,12 @@ export namespace CodeStorageExceededException { * package directly.

                                                                */ export interface FunctionCode { + /** + *

                                                                The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for + * you.

                                                                + */ + ZipFile?: Uint8Array; + /** *

                                                                For versioned objects, the version of the deployment package object to use.

                                                                */ @@ -780,12 +809,6 @@ export interface FunctionCode { *

                                                                The Amazon S3 key of the deployment package.

                                                                */ S3Key?: string; - - /** - *

                                                                The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for - * you.

                                                                - */ - ZipFile?: Uint8Array; } export namespace FunctionCode { @@ -834,14 +857,14 @@ export namespace Environment { */ export interface FileSystemConfig { /** - *

                                                                The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.

                                                                + *

                                                                The path where the function can access the file system, starting with /mnt/.

                                                                */ - Arn: string | undefined; + LocalMountPath: string | undefined; /** - *

                                                                The path where the function can access the file system, starting with /mnt/.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.

                                                                */ - LocalMountPath: string | undefined; + Arn: string | undefined; } export namespace FileSystemConfig { @@ -858,6 +881,7 @@ export enum Runtime { go1x = "go1.x", java11 = "java11", java8 = "java8", + java8al2 = "java8.al2", nodejs = "nodejs", nodejs10x = "nodejs10.x", nodejs12x = "nodejs12.x", @@ -866,6 +890,7 @@ export enum Runtime { nodejs610 = "nodejs6.10", nodejs810 = "nodejs8.10", provided = "provided", + providedal2 = "provided.al2", python27 = "python2.7", python36 = "python3.6", python37 = "python3.7", @@ -901,14 +926,14 @@ export namespace TracingConfig { */ export interface VpcConfig { /** - *

                                                                A list of VPC subnet IDs.

                                                                + *

                                                                A list of VPC security groups IDs.

                                                                */ - SubnetIds?: string[]; + SecurityGroupIds?: string[]; /** - *

                                                                A list of VPC security groups IDs.

                                                                + *

                                                                A list of VPC subnet IDs.

                                                                */ - SecurityGroupIds?: string[]; + SubnetIds?: string[]; } export namespace VpcConfig { @@ -919,126 +944,126 @@ export namespace VpcConfig { export interface CreateFunctionRequest { /** - *

                                                                For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. - * When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more - * information, see VPC Settings.

                                                                + *

                                                                A list of tags to apply to the + * function.

                                                                */ - VpcConfig?: VpcConfig; + Tags?: { [key: string]: string }; /** - *

                                                                A description of the function.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the function's execution role.

                                                                */ - Description?: string; + Role: string | undefined; /** - *

                                                                The amount of memory that your function has access to. Increasing the function's memory also increases its CPU - * allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

                                                                + *

                                                                The name of the Lambda function.

                                                                + *

                                                                + * Name formats + *

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * Function name - my-function.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Partial ARN - 123456789012:function:my-function.

                                                                  + *
                                                                • + *
                                                                + *

                                                                The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 + * characters in length.

                                                                */ - MemorySize?: number; + FunctionName: string | undefined; /** - *

                                                                The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment - * variables. If it's not provided, AWS Lambda uses a default service key.

                                                                + *

                                                                Connection settings for an Amazon EFS file system.

                                                                */ - KMSKeyArn?: string; + FileSystemConfigs?: FileSystemConfig[]; /** - *

                                                                A list of function layers - * to add to the function's execution environment. Specify each layer by its ARN, including the version.

                                                                + *

                                                                The identifier of the function's runtime.

                                                                */ - Layers?: string[]; + Runtime: Runtime | string | undefined; /** - *

                                                                Set to true to publish the first version of the function during creation.

                                                                + *

                                                                Environment variables that are accessible from function code during execution.

                                                                */ - Publish?: boolean; + Environment?: Environment; /** - *

                                                                Set Mode to Active to sample and trace a subset of incoming requests with AWS - * X-Ray.

                                                                + *

                                                                Set to true to publish the first version of the function during creation.

                                                                */ - TracingConfig?: TracingConfig; + Publish?: boolean; /** - *

                                                                The name of the method within your code that Lambda calls to execute your function. The format includes the - * file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, - * see Programming Model.

                                                                + *

                                                                The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment + * variables. If it's not provided, AWS Lambda uses a default service key.

                                                                */ - Handler: string | undefined; + KMSKeyArn?: string; /** - *

                                                                The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The - * maximum allowed value is 900 seconds.

                                                                + *

                                                                A list of function layers + * to add to the function's execution environment. Specify each layer by its ARN, including the version.

                                                                */ - Timeout?: number; + Layers?: string[]; /** - *

                                                                The code for the function.

                                                                + *

                                                                A description of the function.

                                                                */ - Code: FunctionCode | undefined; + Description?: string; /** - *

                                                                The identifier of the function's runtime.

                                                                + *

                                                                For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. + * When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more + * information, see VPC Settings.

                                                                */ - Runtime: Runtime | string | undefined; + VpcConfig?: VpcConfig; /** - *

                                                                Connection settings for an Amazon EFS file system.

                                                                + *

                                                                Set Mode to Active to sample and trace a subset of incoming requests with AWS + * X-Ray.

                                                                */ - FileSystemConfigs?: FileSystemConfig[]; + TracingConfig?: TracingConfig; /** - *

                                                                The Amazon Resource Name (ARN) of the function's execution role.

                                                                + *

                                                                The amount of memory that your function has access to. Increasing the function's memory also increases its CPU + * allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

                                                                */ - Role: string | undefined; + MemorySize?: number; /** - *

                                                                Environment variables that are accessible from function code during execution.

                                                                + *

                                                                A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events + * when they fail processing. For more information, see Dead Letter Queues.

                                                                */ - Environment?: Environment; + DeadLetterConfig?: DeadLetterConfig; /** - *

                                                                A list of tags to apply to the - * function.

                                                                + *

                                                                The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The + * maximum allowed value is 900 seconds.

                                                                */ - Tags?: { [key: string]: string }; + Timeout?: number; /** - *

                                                                The name of the Lambda function.

                                                                - *

                                                                - * Name formats - *

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * Function name - my-function.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Partial ARN - 123456789012:function:my-function.

                                                                  - *
                                                                • - *
                                                                - *

                                                                The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 - * characters in length.

                                                                + *

                                                                The code for the function.

                                                                */ - FunctionName: string | undefined; + Code: FunctionCode | undefined; /** - *

                                                                A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events - * when they fail processing. For more information, see Dead Letter Queues.

                                                                + *

                                                                The name of the method within your code that Lambda calls to execute your function. The format includes the + * file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, + * see Programming Model.

                                                                */ - DeadLetterConfig?: DeadLetterConfig; + Handler: string | undefined; } export namespace CreateFunctionRequest { export const filterSensitiveLog = (obj: CreateFunctionRequest): any => ({ ...obj, - ...(obj.Code && { Code: FunctionCode.filterSensitiveLog(obj.Code) }), ...(obj.Environment && { Environment: Environment.filterSensitiveLog(obj.Environment) }), + ...(obj.Code && { Code: FunctionCode.filterSensitiveLog(obj.Code) }), }); } @@ -1047,14 +1072,14 @@ export namespace CreateFunctionRequest { */ export interface EnvironmentError { /** - *

                                                                The error message.

                                                                + *

                                                                The error code.

                                                                */ - Message?: string; + ErrorCode?: string; /** - *

                                                                The error code.

                                                                + *

                                                                The error message.

                                                                */ - ErrorCode?: string; + Message?: string; } export namespace EnvironmentError { @@ -1070,21 +1095,21 @@ export namespace EnvironmentError { */ export interface EnvironmentResponse { /** - *

                                                                Environment variable key-value pairs.

                                                                + *

                                                                Error messages for environment variables that couldn't be applied.

                                                                */ - Variables?: { [key: string]: string }; + Error?: EnvironmentError; /** - *

                                                                Error messages for environment variables that couldn't be applied.

                                                                + *

                                                                Environment variable key-value pairs.

                                                                */ - Error?: EnvironmentError; + Variables?: { [key: string]: string }; } export namespace EnvironmentResponse { export const filterSensitiveLog = (obj: EnvironmentResponse): any => ({ ...obj, - ...(obj.Variables && { Variables: SENSITIVE_STRING }), ...(obj.Error && { Error: EnvironmentError.filterSensitiveLog(obj.Error) }), + ...(obj.Variables && { Variables: SENSITIVE_STRING }), }); } @@ -1172,14 +1197,14 @@ export interface VpcConfigResponse { SubnetIds?: string[]; /** - *

                                                                A list of VPC security groups IDs.

                                                                + *

                                                                The ID of the VPC.

                                                                */ - SecurityGroupIds?: string[]; + VpcId?: string; /** - *

                                                                The ID of the VPC.

                                                                + *

                                                                A list of VPC security groups IDs.

                                                                */ - VpcId?: string; + SecurityGroupIds?: string[]; } export namespace VpcConfigResponse { @@ -1193,25 +1218,25 @@ export namespace VpcConfigResponse { */ export interface FunctionConfiguration { /** - *

                                                                The name of the function.

                                                                + *

                                                                The current state of the function. When the state is Inactive, you can reactivate the function by + * invoking it.

                                                                */ - FunctionName?: string; + State?: State | string; /** - *

                                                                The latest updated revision of the function or alias.

                                                                + *

                                                                The function's environment variables.

                                                                */ - RevisionId?: string; + Environment?: EnvironmentResponse; /** - *

                                                                For Lambda@Edge functions, the ARN of the master function.

                                                                + *

                                                                The reason for the last update that was performed on the function.

                                                                */ - MasterArn?: string; + LastUpdateStatusReason?: string; /** - *

                                                                The status of the last update that was performed on the function. This is first set to Successful - * after function creation completes.

                                                                + *

                                                                For Lambda@Edge functions, the ARN of the master function.

                                                                */ - LastUpdateStatus?: LastUpdateStatus | string; + MasterArn?: string; /** *

                                                                The function's @@ -1220,19 +1245,20 @@ export interface FunctionConfiguration { Layers?: Layer[]; /** - *

                                                                Connection settings for an Amazon EFS file system.

                                                                + *

                                                                The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've + * configured a customer managed CMK.

                                                                */ - FileSystemConfigs?: FileSystemConfig[]; + KMSKeyArn?: string; /** - *

                                                                The function's networking configuration.

                                                                + *

                                                                The function's execution role.

                                                                */ - VpcConfig?: VpcConfigResponse; + Role?: string; /** - *

                                                                The runtime environment for the Lambda function.

                                                                + *

                                                                Connection settings for an Amazon EFS file system.

                                                                */ - Runtime?: Runtime | string; + FileSystemConfigs?: FileSystemConfig[]; /** *

                                                                The SHA256 hash of the function's deployment package.

                                                                @@ -1240,24 +1266,14 @@ export interface FunctionConfiguration { CodeSha256?: string; /** - *

                                                                The date and time that the function was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

                                                                - */ - LastModified?: string; - - /** - *

                                                                The memory that's allocated to the function.

                                                                - */ - MemorySize?: number; - - /** - *

                                                                The version of the Lambda function.

                                                                + *

                                                                The function's networking configuration.

                                                                */ - Version?: string; + VpcConfig?: VpcConfigResponse; /** - *

                                                                The amount of time in seconds that Lambda allows a function to run before stopping it.

                                                                + *

                                                                The name of the function.

                                                                */ - Timeout?: number; + FunctionName?: string; /** *

                                                                The size of the function's deployment package, in bytes.

                                                                @@ -1265,29 +1281,30 @@ export interface FunctionConfiguration { CodeSize?: number; /** - *

                                                                The function's Amazon Resource Name (ARN).

                                                                + *

                                                                The version of the Lambda function.

                                                                */ - FunctionArn?: string; + Version?: string; /** - *

                                                                The function's environment variables.

                                                                + *

                                                                The status of the last update that was performed on the function. This is first set to Successful + * after function creation completes.

                                                                */ - Environment?: EnvironmentResponse; + LastUpdateStatus?: LastUpdateStatus | string; /** - *

                                                                The reason for the last update that was performed on the function.

                                                                + *

                                                                The reason code for the last update that was performed on the function.

                                                                */ - LastUpdateStatusReason?: string; + LastUpdateStatusReasonCode?: LastUpdateStatusReasonCode | string; /** - *

                                                                The function that Lambda calls to begin executing your function.

                                                                + *

                                                                The function's AWS X-Ray tracing configuration.

                                                                */ - Handler?: string; + TracingConfig?: TracingConfigResponse; /** - *

                                                                The function's AWS X-Ray tracing configuration.

                                                                + *

                                                                The runtime environment for the Lambda function.

                                                                */ - TracingConfig?: TracingConfigResponse; + Runtime?: Runtime | string; /** *

                                                                The reason code for the function's current state. When the code is Creating, you can't invoke or @@ -1296,9 +1313,9 @@ export interface FunctionConfiguration { StateReasonCode?: StateReasonCode | string; /** - *

                                                                The reason code for the last update that was performed on the function.

                                                                + *

                                                                The amount of time in seconds that Lambda allows a function to run before stopping it.

                                                                */ - LastUpdateStatusReasonCode?: LastUpdateStatusReasonCode | string; + Timeout?: number; /** *

                                                                The function's description.

                                                                @@ -1306,15 +1323,14 @@ export interface FunctionConfiguration { Description?: string; /** - *

                                                                The function's execution role.

                                                                + *

                                                                The memory that's allocated to the function.

                                                                */ - Role?: string; + MemorySize?: number; /** - *

                                                                The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've - * configured a customer managed CMK.

                                                                + *

                                                                The reason for the function's current state.

                                                                */ - KMSKeyArn?: string; + StateReason?: string; /** *

                                                                The function's dead letter queue.

                                                                @@ -1322,15 +1338,24 @@ export interface FunctionConfiguration { DeadLetterConfig?: DeadLetterConfig; /** - *

                                                                The reason for the function's current state.

                                                                + *

                                                                The function's Amazon Resource Name (ARN).

                                                                */ - StateReason?: string; + FunctionArn?: string; /** - *

                                                                The current state of the function. When the state is Inactive, you can reactivate the function by - * invoking it.

                                                                + *

                                                                The date and time that the function was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

                                                                */ - State?: State | string; + LastModified?: string; + + /** + *

                                                                The function that Lambda calls to begin executing your function.

                                                                + */ + Handler?: string; + + /** + *

                                                                The latest updated revision of the function or alias.

                                                                + */ + RevisionId?: string; } export namespace FunctionConfiguration { @@ -1397,8 +1422,8 @@ export namespace DeleteEventSourceMappingRequest { export interface ResourceInUseException extends __SmithyException, $MetadataBearer { name: "ResourceInUseException"; $fault: "client"; - Type?: string; Message?: string; + Type?: string; } export namespace ResourceInUseException { @@ -1477,11 +1502,6 @@ export namespace DeleteFunctionConcurrencyRequest { } export interface DeleteFunctionEventInvokeConfigRequest { - /** - *

                                                                A version number or alias name.

                                                                - */ - Qualifier?: string; - /** *

                                                                The name of the Lambda function, version, or alias.

                                                                *

                                                                @@ -1505,6 +1525,11 @@ export interface DeleteFunctionEventInvokeConfigRequest { * If you specify only the function name, it is limited to 64 characters in length.

                                                                */ FunctionName: string | undefined; + + /** + *

                                                                A version number or alias name.

                                                                + */ + Qualifier?: string; } export namespace DeleteFunctionEventInvokeConfigRequest { @@ -1515,14 +1540,14 @@ export namespace DeleteFunctionEventInvokeConfigRequest { export interface DeleteLayerVersionRequest { /** - *

                                                                The name or Amazon Resource Name (ARN) of the layer.

                                                                + *

                                                                The version number.

                                                                */ - LayerName: string | undefined; + VersionNumber: number | undefined; /** - *

                                                                The version number.

                                                                + *

                                                                The name or Amazon Resource Name (ARN) of the layer.

                                                                */ - VersionNumber: number | undefined; + LayerName: string | undefined; } export namespace DeleteLayerVersionRequest { @@ -1578,14 +1603,14 @@ export namespace GetAccountSettingsRequest { export interface GetAccountSettingsResponse { /** - *

                                                                Limits that are related to concurrency and code storage.

                                                                + *

                                                                The number of functions and amount of storage in use.

                                                                */ - AccountLimit?: AccountLimit; + AccountUsage?: AccountUsage; /** - *

                                                                The number of functions and amount of storage in use.

                                                                + *

                                                                Limits that are related to concurrency and code storage.

                                                                */ - AccountUsage?: AccountUsage; + AccountLimit?: AccountLimit; } export namespace GetAccountSettingsResponse { @@ -1595,6 +1620,11 @@ export namespace GetAccountSettingsResponse { } export interface GetAliasRequest { + /** + *

                                                                The name of the alias.

                                                                + */ + Name: string | undefined; + /** *

                                                                The name of the Lambda function.

                                                                *

                                                                @@ -1618,11 +1648,6 @@ export interface GetAliasRequest { * characters in length.

                                                                */ FunctionName: string | undefined; - - /** - *

                                                                The name of the alias.

                                                                - */ - Name: string | undefined; } export namespace GetAliasRequest { @@ -1686,14 +1711,14 @@ export namespace GetFunctionRequest { */ export interface FunctionCodeLocation { /** - *

                                                                A presigned URL that you can use to download the deployment package.

                                                                + *

                                                                The service that's hosting the file.

                                                                */ - Location?: string; + RepositoryType?: string; /** - *

                                                                The service that's hosting the file.

                                                                + *

                                                                A presigned URL that you can use to download the deployment package.

                                                                */ - RepositoryType?: string; + Location?: string; } export namespace FunctionCodeLocation { @@ -1717,25 +1742,25 @@ export namespace Concurrency { export interface GetFunctionResponse { /** - *

                                                                The function's tags.

                                                                + *

                                                                The function's reserved + * concurrency.

                                                                */ - Tags?: { [key: string]: string }; + Concurrency?: Concurrency; /** - *

                                                                The deployment package of the function or version.

                                                                + *

                                                                The function's tags.

                                                                */ - Code?: FunctionCodeLocation; + Tags?: { [key: string]: string }; /** - *

                                                                The function's reserved - * concurrency.

                                                                + *

                                                                The configuration of the function or version.

                                                                */ - Concurrency?: Concurrency; + Configuration?: FunctionConfiguration; /** - *

                                                                The configuration of the function or version.

                                                                + *

                                                                The deployment package of the function or version.

                                                                */ - Configuration?: FunctionConfiguration; + Code?: FunctionCodeLocation; } export namespace GetFunctionResponse { @@ -1791,6 +1816,11 @@ export namespace GetFunctionConcurrencyResponse { } export interface GetFunctionConfigurationRequest { + /** + *

                                                                Specify a version or alias to get details about a published version of the function.

                                                                + */ + Qualifier?: string; + /** *

                                                                The name of the Lambda function, version, or alias.

                                                                *

                                                                @@ -1814,11 +1844,6 @@ export interface GetFunctionConfigurationRequest { * If you specify only the function name, it is limited to 64 characters in length.

                                                                */ FunctionName: string | undefined; - - /** - *

                                                                Specify a version or alias to get details about a published version of the function.

                                                                - */ - Qualifier?: string; } export namespace GetFunctionConfigurationRequest { @@ -1829,9 +1854,19 @@ export namespace GetFunctionConfigurationRequest { export interface FunctionEventInvokeConfig { /** - *

                                                                The maximum age of a request that Lambda sends to a function for processing.

                                                                + *

                                                                The date and time that the configuration was last updated.

                                                                */ - MaximumEventAgeInSeconds?: number; + LastModified?: Date; + + /** + *

                                                                The Amazon Resource Name (ARN) of the function.

                                                                + */ + FunctionArn?: string; + + /** + *

                                                                The maximum number of times to retry when the function returns an error.

                                                                + */ + MaximumRetryAttempts?: number; /** *

                                                                A destination for events after they have been sent to a function for processing.

                                                                @@ -1860,19 +1895,9 @@ export interface FunctionEventInvokeConfig { DestinationConfig?: DestinationConfig; /** - *

                                                                The date and time that the configuration was last updated.

                                                                - */ - LastModified?: Date; - - /** - *

                                                                The maximum number of times to retry when the function returns an error.

                                                                - */ - MaximumRetryAttempts?: number; - - /** - *

                                                                The Amazon Resource Name (ARN) of the function.

                                                                + *

                                                                The maximum age of a request that Lambda sends to a function for processing.

                                                                */ - FunctionArn?: string; + MaximumEventAgeInSeconds?: number; } export namespace FunctionEventInvokeConfig { @@ -1882,11 +1907,6 @@ export namespace FunctionEventInvokeConfig { } export interface GetFunctionEventInvokeConfigRequest { - /** - *

                                                                A version number or alias name.

                                                                - */ - Qualifier?: string; - /** *

                                                                The name of the Lambda function, version, or alias.

                                                                *

                                                                @@ -1910,6 +1930,11 @@ export interface GetFunctionEventInvokeConfigRequest { * If you specify only the function name, it is limited to 64 characters in length.

                                                                */ FunctionName: string | undefined; + + /** + *

                                                                A version number or alias name.

                                                                + */ + Qualifier?: string; } export namespace GetFunctionEventInvokeConfigRequest { @@ -1920,14 +1945,14 @@ export namespace GetFunctionEventInvokeConfigRequest { export interface GetLayerVersionRequest { /** - *

                                                                The name or Amazon Resource Name (ARN) of the layer.

                                                                + *

                                                                The version number.

                                                                */ - LayerName: string | undefined; + VersionNumber: number | undefined; /** - *

                                                                The version number.

                                                                + *

                                                                The name or Amazon Resource Name (ARN) of the layer.

                                                                */ - VersionNumber: number | undefined; + LayerName: string | undefined; } export namespace GetLayerVersionRequest { @@ -1941,11 +1966,6 @@ export namespace GetLayerVersionRequest { * layer.

                                                                */ export interface LayerVersionContentOutput { - /** - *

                                                                The SHA-256 hash of the layer archive.

                                                                - */ - CodeSha256?: string; - /** *

                                                                The size of the layer archive in bytes.

                                                                */ @@ -1955,6 +1975,11 @@ export interface LayerVersionContentOutput { *

                                                                A link to the layer archive in Amazon S3 that is valid for 10 minutes.

                                                                */ Location?: string; + + /** + *

                                                                The SHA-256 hash of the layer archive.

                                                                + */ + CodeSha256?: string; } export namespace LayerVersionContentOutput { @@ -1965,24 +1990,24 @@ export namespace LayerVersionContentOutput { export interface GetLayerVersionResponse { /** - *

                                                                The layer's software license.

                                                                + *

                                                                The ARN of the layer version.

                                                                */ - LicenseInfo?: string; + LayerVersionArn?: string; /** - *

                                                                The layer's compatible runtimes.

                                                                + *

                                                                The ARN of the layer.

                                                                */ - CompatibleRuntimes?: (Runtime | string)[]; + LayerArn?: string; /** - *

                                                                The description of the version.

                                                                + *

                                                                The layer's software license.

                                                                */ - Description?: string; + LicenseInfo?: string; /** - *

                                                                The ARN of the layer version.

                                                                + *

                                                                The layer's compatible runtimes.

                                                                */ - LayerVersionArn?: string; + CompatibleRuntimes?: (Runtime | string)[]; /** *

                                                                The version number.

                                                                @@ -1995,14 +2020,14 @@ export interface GetLayerVersionResponse { Content?: LayerVersionContentOutput; /** - *

                                                                The date that the layer version was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

                                                                + *

                                                                The description of the version.

                                                                */ - CreatedDate?: string; + Description?: string; /** - *

                                                                The ARN of the layer.

                                                                + *

                                                                The date that the layer version was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

                                                                */ - LayerArn?: string; + CreatedDate?: string; } export namespace GetLayerVersionResponse { @@ -2044,14 +2069,14 @@ export namespace GetLayerVersionPolicyRequest { export interface GetLayerVersionPolicyResponse { /** - *

                                                                The policy document.

                                                                + *

                                                                A unique identifier for the current revision of the policy.

                                                                */ - Policy?: string; + RevisionId?: string; /** - *

                                                                A unique identifier for the current revision of the policy.

                                                                + *

                                                                The policy document.

                                                                */ - RevisionId?: string; + Policy?: string; } export namespace GetLayerVersionPolicyResponse { @@ -2061,6 +2086,11 @@ export namespace GetLayerVersionPolicyResponse { } export interface GetPolicyRequest { + /** + *

                                                                Specify a version or alias to get the policy for that resource.

                                                                + */ + Qualifier?: string; + /** *

                                                                The name of the Lambda function, version, or alias.

                                                                *

                                                                @@ -2084,11 +2114,6 @@ export interface GetPolicyRequest { * If you specify only the function name, it is limited to 64 characters in length.

                                                                */ FunctionName: string | undefined; - - /** - *

                                                                Specify a version or alias to get the policy for that resource.

                                                                - */ - Qualifier?: string; } export namespace GetPolicyRequest { @@ -2098,15 +2123,15 @@ export namespace GetPolicyRequest { } export interface GetPolicyResponse { - /** - *

                                                                The resource-based policy.

                                                                - */ - Policy?: string; - /** *

                                                                A unique identifier for the current revision of the policy.

                                                                */ RevisionId?: string; + + /** + *

                                                                The resource-based policy.

                                                                + */ + Policy?: string; } export namespace GetPolicyResponse { @@ -2116,11 +2141,6 @@ export namespace GetPolicyResponse { } export interface GetProvisionedConcurrencyConfigRequest { - /** - *

                                                                The version number or alias name.

                                                                - */ - Qualifier: string | undefined; - /** *

                                                                The name of the Lambda function.

                                                                *

                                                                @@ -2144,6 +2164,11 @@ export interface GetProvisionedConcurrencyConfigRequest { * characters in length.

                                                                */ FunctionName: string | undefined; + + /** + *

                                                                The version number or alias name.

                                                                + */ + Qualifier: string | undefined; } export namespace GetProvisionedConcurrencyConfigRequest { @@ -2160,34 +2185,34 @@ export enum ProvisionedConcurrencyStatusEnum { export interface GetProvisionedConcurrencyConfigResponse { /** - *

                                                                The amount of provisioned concurrency requested.

                                                                + *

                                                                The status of the allocation process.

                                                                */ - RequestedProvisionedConcurrentExecutions?: number; + Status?: ProvisionedConcurrencyStatusEnum | string; /** - *

                                                                The amount of provisioned concurrency available.

                                                                + *

                                                                The date and time that a user last updated the configuration, in ISO 8601 format.

                                                                */ - AvailableProvisionedConcurrentExecutions?: number; + LastModified?: string; /** - *

                                                                For failed allocations, the reason that provisioned concurrency could not be allocated.

                                                                + *

                                                                The amount of provisioned concurrency available.

                                                                */ - StatusReason?: string; + AvailableProvisionedConcurrentExecutions?: number; /** - *

                                                                The date and time that a user last updated the configuration, in ISO 8601 format.

                                                                + *

                                                                The amount of provisioned concurrency allocated.

                                                                */ - LastModified?: string; + AllocatedProvisionedConcurrentExecutions?: number; /** - *

                                                                The status of the allocation process.

                                                                + *

                                                                For failed allocations, the reason that provisioned concurrency could not be allocated.

                                                                */ - Status?: ProvisionedConcurrencyStatusEnum | string; + StatusReason?: string; /** - *

                                                                The amount of provisioned concurrency allocated.

                                                                + *

                                                                The amount of provisioned concurrency requested.

                                                                */ - AllocatedProvisionedConcurrentExecutions?: number; + RequestedProvisionedConcurrentExecutions?: number; } export namespace GetProvisionedConcurrencyConfigResponse { @@ -2202,8 +2227,8 @@ export namespace GetProvisionedConcurrencyConfigResponse { export interface ProvisionedConcurrencyConfigNotFoundException extends __SmithyException, $MetadataBearer { name: "ProvisionedConcurrencyConfigNotFoundException"; $fault: "client"; - message?: string; Type?: string; + message?: string; } export namespace ProvisionedConcurrencyConfigNotFoundException { @@ -2218,8 +2243,8 @@ export namespace ProvisionedConcurrencyConfigNotFoundException { export interface EC2AccessDeniedException extends __SmithyException, $MetadataBearer { name: "EC2AccessDeniedException"; $fault: "server"; - Type?: string; Message?: string; + Type?: string; } export namespace EC2AccessDeniedException { @@ -2235,8 +2260,8 @@ export namespace EC2AccessDeniedException { export interface EC2ThrottledException extends __SmithyException, $MetadataBearer { name: "EC2ThrottledException"; $fault: "server"; - Type?: string; Message?: string; + Type?: string; } export namespace EC2ThrottledException { @@ -2251,9 +2276,9 @@ export namespace EC2ThrottledException { export interface EC2UnexpectedException extends __SmithyException, $MetadataBearer { name: "EC2UnexpectedException"; $fault: "server"; + Message?: string; Type?: string; EC2ErrorCode?: string; - Message?: string; } export namespace EC2UnexpectedException { @@ -2268,8 +2293,8 @@ export namespace EC2UnexpectedException { export interface EFSIOException extends __SmithyException, $MetadataBearer { name: "EFSIOException"; $fault: "client"; - Message?: string; Type?: string; + Message?: string; } export namespace EFSIOException { @@ -2284,8 +2309,8 @@ export namespace EFSIOException { export interface EFSMountConnectivityException extends __SmithyException, $MetadataBearer { name: "EFSMountConnectivityException"; $fault: "client"; - Type?: string; Message?: string; + Type?: string; } export namespace EFSMountConnectivityException { @@ -2300,8 +2325,8 @@ export namespace EFSMountConnectivityException { export interface EFSMountFailureException extends __SmithyException, $MetadataBearer { name: "EFSMountFailureException"; $fault: "client"; - Message?: string; Type?: string; + Message?: string; } export namespace EFSMountFailureException { @@ -2317,8 +2342,8 @@ export namespace EFSMountFailureException { export interface EFSMountTimeoutException extends __SmithyException, $MetadataBearer { name: "EFSMountTimeoutException"; $fault: "client"; - Type?: string; Message?: string; + Type?: string; } export namespace EFSMountTimeoutException { @@ -2334,8 +2359,8 @@ export namespace EFSMountTimeoutException { export interface ENILimitReachedException extends __SmithyException, $MetadataBearer { name: "ENILimitReachedException"; $fault: "server"; - Message?: string; Type?: string; + Message?: string; } export namespace ENILimitReachedException { @@ -2405,8 +2430,8 @@ export namespace InvalidSecurityGroupIDException { export interface InvalidSubnetIDException extends __SmithyException, $MetadataBearer { name: "InvalidSubnetIDException"; $fault: "server"; - Type?: string; Message?: string; + Type?: string; } export namespace InvalidSubnetIDException { @@ -2421,8 +2446,8 @@ export namespace InvalidSubnetIDException { export interface InvalidZipFileException extends __SmithyException, $MetadataBearer { name: "InvalidZipFileException"; $fault: "server"; - Message?: string; Type?: string; + Message?: string; } export namespace InvalidZipFileException { @@ -2444,43 +2469,44 @@ export enum LogType { export interface InvocationRequest { /** - *

                                                                Choose from the following options.

                                                                + *

                                                                Specify a version or alias to invoke a published version of the function.

                                                                + */ + Qualifier?: string; + + /** + *

                                                                Set to Tail to include the execution log in the response.

                                                                + */ + LogType?: LogType | string; + + /** + *

                                                                The name of the Lambda function, version, or alias.

                                                                + *

                                                                + * Name formats + *

                                                                *
                                                                  *
                                                                • *

                                                                  - * RequestResponse (default) - Invoke the function synchronously. Keep the connection open until - * the function returns a response or times out. The API response includes the function response and additional - * data.

                                                                  + * Function name - my-function (name-only), my-function:v1 (with alias).

                                                                  *
                                                                • *
                                                                • *

                                                                  - * Event - Invoke the function asynchronously. Send events that fail multiple times to the - * function's dead-letter queue (if it's configured). The API response only includes a status code.

                                                                  + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * DryRun - Validate parameter values and verify that the user or role has permission to invoke - * the function.

                                                                  + * Partial ARN - 123456789012:function:my-function.

                                                                  *
                                                                • *
                                                                + *

                                                                You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. + * If you specify only the function name, it is limited to 64 characters in length.

                                                                */ - InvocationType?: InvocationType | string; - - /** - *

                                                                Set to Tail to include the execution log in the response.

                                                                - */ - LogType?: LogType | string; + FunctionName: string | undefined; /** *

                                                                The JSON that you want to provide to your Lambda function as input.

                                                                */ Payload?: Uint8Array; - /** - *

                                                                Specify a version or alias to invoke a published version of the function.

                                                                - */ - Qualifier?: string; - /** *

                                                                Up to 3583 bytes of base64-encoded data about the invoking client to pass to the function in the context * object.

                                                                @@ -2488,28 +2514,27 @@ export interface InvocationRequest { ClientContext?: string; /** - *

                                                                The name of the Lambda function, version, or alias.

                                                                - *

                                                                - * Name formats - *

                                                                + *

                                                                Choose from the following options.

                                                                *
                                                                  *
                                                                • *

                                                                  - * Function name - my-function (name-only), my-function:v1 (with alias).

                                                                  + * RequestResponse (default) - Invoke the function synchronously. Keep the connection open until + * the function returns a response or times out. The API response includes the function response and additional + * data.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

                                                                  + * Event - Invoke the function asynchronously. Send events that fail multiple times to the + * function's dead-letter queue (if it's configured). The API response only includes a status code.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * Partial ARN - 123456789012:function:my-function.

                                                                  + * DryRun - Validate parameter values and verify that the user or role has permission to invoke + * the function.

                                                                  *
                                                                • *
                                                                - *

                                                                You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. - * If you specify only the function name, it is limited to 64 characters in length.

                                                                */ - FunctionName: string | undefined; + InvocationType?: InvocationType | string; } export namespace InvocationRequest { @@ -2526,9 +2551,10 @@ export interface InvocationResponse { LogResult?: string; /** - *

                                                                The response from the function, or an error object.

                                                                + *

                                                                If present, indicates that an error occurred during function execution. Details about the error are included + * in the response payload.

                                                                */ - Payload?: Uint8Array; + FunctionError?: string; /** *

                                                                The version of the function that executed. When you invoke a function with an alias, this indicates which @@ -2537,10 +2563,16 @@ export interface InvocationResponse { ExecutedVersion?: string; /** - *

                                                                If present, indicates that an error occurred during function execution. Details about the error are included - * in the response payload.

                                                                + *

                                                                The HTTP status code is in the 200 range for a successful request. For the RequestResponse + * invocation type, this status code is 200. For the Event invocation type, this status code is 202. For + * the DryRun invocation type, the status code is 204.

                                                                */ - FunctionError?: string; + StatusCode?: number; + + /** + *

                                                                The response from the function, or an error object.

                                                                + */ + Payload?: Uint8Array; } export namespace InvocationResponse { @@ -2591,8 +2623,8 @@ export namespace KMSDisabledException { export interface KMSInvalidStateException extends __SmithyException, $MetadataBearer { name: "KMSInvalidStateException"; $fault: "server"; - Type?: string; Message?: string; + Type?: string; } export namespace KMSInvalidStateException { @@ -2608,8 +2640,8 @@ export namespace KMSInvalidStateException { export interface KMSNotFoundException extends __SmithyException, $MetadataBearer { name: "KMSNotFoundException"; $fault: "server"; - Type?: string; Message?: string; + Type?: string; } export namespace KMSNotFoundException { @@ -2625,8 +2657,8 @@ export namespace KMSNotFoundException { export interface RequestTooLargeException extends __SmithyException, $MetadataBearer { name: "RequestTooLargeException"; $fault: "client"; - Type?: string; message?: string; + Type?: string; } export namespace RequestTooLargeException { @@ -2643,14 +2675,14 @@ export interface ResourceNotReadyException extends __SmithyException, $MetadataB name: "ResourceNotReadyException"; $fault: "server"; /** - *

                                                                The exception message.

                                                                + *

                                                                The exception type.

                                                                */ - message?: string; + Type?: string; /** - *

                                                                The exception type.

                                                                + *

                                                                The exception message.

                                                                */ - Type?: string; + message?: string; } export namespace ResourceNotReadyException { @@ -2666,8 +2698,8 @@ export namespace ResourceNotReadyException { export interface SubnetIPAddressLimitReachedException extends __SmithyException, $MetadataBearer { name: "SubnetIPAddressLimitReachedException"; $fault: "server"; - Type?: string; Message?: string; + Type?: string; } export namespace SubnetIPAddressLimitReachedException { @@ -2693,11 +2725,6 @@ export namespace UnsupportedMediaTypeException { } export interface InvokeAsyncRequest { - /** - *

                                                                The JSON that you want to provide to your Lambda function as input.

                                                                - */ - InvokeArgs: Readable | ReadableStream | Blob | undefined; - /** *

                                                                The name of the Lambda function.

                                                                *

                                                                @@ -2721,6 +2748,11 @@ export interface InvokeAsyncRequest { * characters in length.

                                                                */ FunctionName: string | undefined; + + /** + *

                                                                The JSON that you want to provide to your Lambda function as input.

                                                                + */ + InvokeArgs: Readable | ReadableStream | Blob | undefined; } export namespace InvokeAsyncRequest { @@ -2732,7 +2764,12 @@ export namespace InvokeAsyncRequest { /** *

                                                                A success response (202 Accepted) indicates that the request is queued for invocation.

                                                                */ -export interface InvokeAsyncResponse {} +export interface InvokeAsyncResponse { + /** + *

                                                                The status code.

                                                                + */ + Status?: number; +} export namespace InvokeAsyncResponse { export const filterSensitiveLog = (obj: InvokeAsyncResponse): any => ({ @@ -2746,6 +2783,11 @@ export interface ListAliasesRequest { */ Marker?: string; + /** + *

                                                                Specify a function version to only list aliases that invoke that version.

                                                                + */ + FunctionVersion?: string; + /** *

                                                                Limit the number of aliases returned.

                                                                */ @@ -2774,11 +2816,6 @@ export interface ListAliasesRequest { * characters in length.

                                                                */ FunctionName: string | undefined; - - /** - *

                                                                Specify a function version to only list aliases that invoke that version.

                                                                - */ - FunctionVersion?: string; } export namespace ListAliasesRequest { @@ -2789,14 +2826,14 @@ export namespace ListAliasesRequest { export interface ListAliasesResponse { /** - *

                                                                A list of aliases.

                                                                + *

                                                                The pagination token that's included if more results are available.

                                                                */ - Aliases?: AliasConfiguration[]; + NextMarker?: string; /** - *

                                                                The pagination token that's included if more results are available.

                                                                + *

                                                                A list of aliases.

                                                                */ - NextMarker?: string; + Aliases?: AliasConfiguration[]; } export namespace ListAliasesResponse { @@ -2817,51 +2854,55 @@ export interface ListEventSourceMappingsRequest { MaxItems?: number; /** - *

                                                                The name of the Lambda function.

                                                                - *

                                                                - * Name formats - *

                                                                + *

                                                                The Amazon Resource Name (ARN) of the event source.

                                                                *
                                                                  *
                                                                • *

                                                                  - * Function name - MyFunction.

                                                                  + * Amazon Kinesis - The ARN of the data stream or a stream consumer.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

                                                                  + * Amazon DynamoDB Streams - The ARN of the stream.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

                                                                  + * Amazon Simple Queue Service - The ARN of the queue.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * Partial ARN - 123456789012:function:MyFunction.

                                                                  + * Amazon Managed Streaming for Apache Kafka - The ARN of the cluster.

                                                                  *
                                                                • *
                                                                - *

                                                                The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 - * characters in length.

                                                                */ - FunctionName?: string; + EventSourceArn?: string; /** - *

                                                                The Amazon Resource Name (ARN) of the event source.

                                                                + *

                                                                The name of the Lambda function.

                                                                + *

                                                                + * Name formats + *

                                                                *
                                                                  *
                                                                • *

                                                                  - * Amazon Kinesis - The ARN of the data stream or a stream consumer.

                                                                  + * Function name - MyFunction.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * Amazon DynamoDB Streams - The ARN of the stream.

                                                                  + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * Amazon Simple Queue Service - The ARN of the queue.

                                                                  + * Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Partial ARN - 123456789012:function:MyFunction.

                                                                  *
                                                                • *
                                                                + *

                                                                The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 + * characters in length.

                                                                */ - EventSourceArn?: string; + FunctionName?: string; } export namespace ListEventSourceMappingsRequest { @@ -2914,14 +2955,14 @@ export interface ListFunctionEventInvokeConfigsRequest { FunctionName: string | undefined; /** - *

                                                                The maximum number of configurations to return.

                                                                + *

                                                                Specify the pagination token that's returned by a previous request to retrieve the next page of results.

                                                                */ - MaxItems?: number; + Marker?: string; /** - *

                                                                Specify the pagination token that's returned by a previous request to retrieve the next page of results.

                                                                + *

                                                                The maximum number of configurations to return.

                                                                */ - Marker?: string; + MaxItems?: number; } export namespace ListFunctionEventInvokeConfigsRequest { @@ -2954,14 +2995,14 @@ export enum FunctionVersion { export interface ListFunctionsRequest { /** - *

                                                                Set to ALL to include entries for all published versions of each function.

                                                                + *

                                                                Specify the pagination token that's returned by a previous request to retrieve the next page of results.

                                                                */ - FunctionVersion?: FunctionVersion | string; + Marker?: string; /** - *

                                                                The maximum number of functions to return.

                                                                + *

                                                                Set to ALL to include entries for all published versions of each function.

                                                                */ - MaxItems?: number; + FunctionVersion?: FunctionVersion | string; /** *

                                                                For Lambda@Edge functions, the AWS Region of the master function. For example, us-east-1 filters @@ -2971,9 +3012,9 @@ export interface ListFunctionsRequest { MasterRegion?: string; /** - *

                                                                Specify the pagination token that's returned by a previous request to retrieve the next page of results.

                                                                + *

                                                                The maximum number of functions to return.

                                                                */ - Marker?: string; + MaxItems?: number; } export namespace ListFunctionsRequest { @@ -3011,14 +3052,14 @@ export interface ListLayersRequest { MaxItems?: number; /** - *

                                                                A runtime identifier. For example, go1.x.

                                                                + *

                                                                A pagination token returned by a previous call.

                                                                */ - CompatibleRuntime?: Runtime | string; + Marker?: string; /** - *

                                                                A pagination token returned by a previous call.

                                                                + *

                                                                A runtime identifier. For example, go1.x.

                                                                */ - Marker?: string; + CompatibleRuntime?: Runtime | string; } export namespace ListLayersRequest { @@ -3032,35 +3073,35 @@ export namespace ListLayersRequest { * layer.

                                                                */ export interface LayerVersionsListItem { - /** - *

                                                                The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000.

                                                                - */ - CreatedDate?: string; - /** *

                                                                The version number.

                                                                */ Version?: number; /** - *

                                                                The layer's open-source license.

                                                                + *

                                                                The description of the version.

                                                                */ - LicenseInfo?: string; + Description?: string; /** - *

                                                                The layer's compatible runtimes.

                                                                + *

                                                                The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000.

                                                                */ - CompatibleRuntimes?: (Runtime | string)[]; + CreatedDate?: string; /** - *

                                                                The description of the version.

                                                                + *

                                                                The ARN of the layer version.

                                                                */ - Description?: string; + LayerVersionArn?: string; /** - *

                                                                The ARN of the layer version.

                                                                + *

                                                                The layer's compatible runtimes.

                                                                */ - LayerVersionArn?: string; + CompatibleRuntimes?: (Runtime | string)[]; + + /** + *

                                                                The layer's open-source license.

                                                                + */ + LicenseInfo?: string; } export namespace LayerVersionsListItem { @@ -3080,14 +3121,14 @@ export interface LayersListItem { LayerArn?: string; /** - *

                                                                The name of the layer.

                                                                + *

                                                                The newest version of the layer.

                                                                */ - LayerName?: string; + LatestMatchingVersion?: LayerVersionsListItem; /** - *

                                                                The newest version of the layer.

                                                                + *

                                                                The name of the layer.

                                                                */ - LatestMatchingVersion?: LayerVersionsListItem; + LayerName?: string; } export namespace LayersListItem { @@ -3126,14 +3167,14 @@ export interface ListLayerVersionsRequest { Marker?: string; /** - *

                                                                The name or Amazon Resource Name (ARN) of the layer.

                                                                + *

                                                                The maximum number of versions to return.

                                                                */ - LayerName: string | undefined; + MaxItems?: number; /** - *

                                                                The maximum number of versions to return.

                                                                + *

                                                                The name or Amazon Resource Name (ARN) of the layer.

                                                                */ - MaxItems?: number; + LayerName: string | undefined; } export namespace ListLayerVersionsRequest { @@ -3144,14 +3185,14 @@ export namespace ListLayerVersionsRequest { export interface ListLayerVersionsResponse { /** - *

                                                                A pagination token returned when the response doesn't contain all versions.

                                                                + *

                                                                A list of versions.

                                                                */ - NextMarker?: string; + LayerVersions?: LayerVersionsListItem[]; /** - *

                                                                A list of versions.

                                                                + *

                                                                A pagination token returned when the response doesn't contain all versions.

                                                                */ - LayerVersions?: LayerVersionsListItem[]; + NextMarker?: string; } export namespace ListLayerVersionsResponse { @@ -3161,16 +3202,6 @@ export namespace ListLayerVersionsResponse { } export interface ListProvisionedConcurrencyConfigsRequest { - /** - *

                                                                Specify the pagination token that's returned by a previous request to retrieve the next page of results.

                                                                - */ - Marker?: string; - - /** - *

                                                                Specify a number to limit the number of configurations returned.

                                                                - */ - MaxItems?: number; - /** *

                                                                The name of the Lambda function.

                                                                *

                                                                @@ -3194,6 +3225,16 @@ export interface ListProvisionedConcurrencyConfigsRequest { * characters in length.

                                                                */ FunctionName: string | undefined; + + /** + *

                                                                Specify a number to limit the number of configurations returned.

                                                                + */ + MaxItems?: number; + + /** + *

                                                                Specify the pagination token that's returned by a previous request to retrieve the next page of results.

                                                                + */ + Marker?: string; } export namespace ListProvisionedConcurrencyConfigsRequest { @@ -3207,14 +3248,14 @@ export namespace ListProvisionedConcurrencyConfigsRequest { */ export interface ProvisionedConcurrencyConfigListItem { /** - *

                                                                The date and time that a user last updated the configuration, in ISO 8601 format.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the alias or version.

                                                                */ - LastModified?: string; + FunctionArn?: string; /** - *

                                                                The amount of provisioned concurrency allocated.

                                                                + *

                                                                For failed allocations, the reason that provisioned concurrency could not be allocated.

                                                                */ - AllocatedProvisionedConcurrentExecutions?: number; + StatusReason?: string; /** *

                                                                The status of the allocation process.

                                                                @@ -3222,24 +3263,24 @@ export interface ProvisionedConcurrencyConfigListItem { Status?: ProvisionedConcurrencyStatusEnum | string; /** - *

                                                                The amount of provisioned concurrency available.

                                                                + *

                                                                The amount of provisioned concurrency requested.

                                                                */ - AvailableProvisionedConcurrentExecutions?: number; + RequestedProvisionedConcurrentExecutions?: number; /** - *

                                                                For failed allocations, the reason that provisioned concurrency could not be allocated.

                                                                + *

                                                                The date and time that a user last updated the configuration, in ISO 8601 format.

                                                                */ - StatusReason?: string; + LastModified?: string; /** - *

                                                                The amount of provisioned concurrency requested.

                                                                + *

                                                                The amount of provisioned concurrency available.

                                                                */ - RequestedProvisionedConcurrentExecutions?: number; + AvailableProvisionedConcurrentExecutions?: number; /** - *

                                                                The Amazon Resource Name (ARN) of the alias or version.

                                                                + *

                                                                The amount of provisioned concurrency allocated.

                                                                */ - FunctionArn?: string; + AllocatedProvisionedConcurrentExecutions?: number; } export namespace ProvisionedConcurrencyConfigListItem { @@ -3250,14 +3291,14 @@ export namespace ProvisionedConcurrencyConfigListItem { export interface ListProvisionedConcurrencyConfigsResponse { /** - *

                                                                A list of provisioned concurrency configurations.

                                                                + *

                                                                The pagination token that's included if more results are available.

                                                                */ - ProvisionedConcurrencyConfigs?: ProvisionedConcurrencyConfigListItem[]; + NextMarker?: string; /** - *

                                                                The pagination token that's included if more results are available.

                                                                + *

                                                                A list of provisioned concurrency configurations.

                                                                */ - NextMarker?: string; + ProvisionedConcurrencyConfigs?: ProvisionedConcurrencyConfigListItem[]; } export namespace ListProvisionedConcurrencyConfigsResponse { @@ -3293,11 +3334,6 @@ export namespace ListTagsResponse { } export interface ListVersionsByFunctionRequest { - /** - *

                                                                Specify the pagination token that's returned by a previous request to retrieve the next page of results.

                                                                - */ - Marker?: string; - /** *

                                                                The name of the Lambda function.

                                                                *

                                                                @@ -3326,6 +3362,11 @@ export interface ListVersionsByFunctionRequest { *

                                                                The maximum number of versions to return.

                                                                */ MaxItems?: number; + + /** + *

                                                                Specify the pagination token that's returned by a previous request to retrieve the next page of results.

                                                                + */ + Marker?: string; } export namespace ListVersionsByFunctionRequest { @@ -3336,14 +3377,14 @@ export namespace ListVersionsByFunctionRequest { export interface ListVersionsByFunctionResponse { /** - *

                                                                A list of Lambda function versions.

                                                                + *

                                                                The pagination token that's included if more results are available.

                                                                */ - Versions?: FunctionConfiguration[]; + NextMarker?: string; /** - *

                                                                The pagination token that's included if more results are available.

                                                                + *

                                                                A list of Lambda function versions.

                                                                */ - NextMarker?: string; + Versions?: FunctionConfiguration[]; } export namespace ListVersionsByFunctionResponse { @@ -3360,25 +3401,25 @@ export namespace ListVersionsByFunctionResponse { */ export interface LayerVersionContentInput { /** - *

                                                                The Amazon S3 bucket of the layer archive.

                                                                + *

                                                                The Amazon S3 key of the layer archive.

                                                                */ - S3Bucket?: string; + S3Key?: string; /** - *

                                                                For versioned objects, the version of the layer archive object to use.

                                                                + *

                                                                The base64-encoded contents of the layer archive. AWS SDK and AWS CLI clients handle the encoding for + * you.

                                                                */ - S3ObjectVersion?: string; + ZipFile?: Uint8Array; /** - *

                                                                The Amazon S3 key of the layer archive.

                                                                + *

                                                                The Amazon S3 bucket of the layer archive.

                                                                */ - S3Key?: string; + S3Bucket?: string; /** - *

                                                                The base64-encoded contents of the layer archive. AWS SDK and AWS CLI clients handle the encoding for - * you.

                                                                + *

                                                                For versioned objects, the version of the layer archive object to use.

                                                                */ - ZipFile?: Uint8Array; + S3ObjectVersion?: string; } export namespace LayerVersionContentInput { @@ -3389,27 +3430,11 @@ export namespace LayerVersionContentInput { } export interface PublishLayerVersionRequest { - /** - *

                                                                The function layer archive.

                                                                - */ - Content: LayerVersionContentInput | undefined; - /** *

                                                                The description of the version.

                                                                */ Description?: string; - /** - *

                                                                The name or Amazon Resource Name (ARN) of the layer.

                                                                - */ - LayerName: string | undefined; - - /** - *

                                                                A list of compatible function - * runtimes. Used for filtering with ListLayers and ListLayerVersions.

                                                                - */ - CompatibleRuntimes?: (Runtime | string)[]; - /** *

                                                                The layer's software license. It can be any of the following:

                                                                *
                                                                  @@ -3427,6 +3452,22 @@ export interface PublishLayerVersionRequest { *
                                                                */ LicenseInfo?: string; + + /** + *

                                                                A list of compatible function + * runtimes. Used for filtering with ListLayers and ListLayerVersions.

                                                                + */ + CompatibleRuntimes?: (Runtime | string)[]; + + /** + *

                                                                The function layer archive.

                                                                + */ + Content: LayerVersionContentInput | undefined; + + /** + *

                                                                The name or Amazon Resource Name (ARN) of the layer.

                                                                + */ + LayerName: string | undefined; } export namespace PublishLayerVersionRequest { @@ -3438,29 +3479,29 @@ export namespace PublishLayerVersionRequest { export interface PublishLayerVersionResponse { /** - *

                                                                The description of the version.

                                                                + *

                                                                The ARN of the layer version.

                                                                */ - Description?: string; + LayerVersionArn?: string; /** - *

                                                                The ARN of the layer version.

                                                                + *

                                                                The layer's software license.

                                                                */ - LayerVersionArn?: string; + LicenseInfo?: string; /** - *

                                                                The version number.

                                                                + *

                                                                The layer's compatible runtimes.

                                                                */ - Version?: number; + CompatibleRuntimes?: (Runtime | string)[]; /** - *

                                                                The date that the layer version was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

                                                                + *

                                                                The description of the version.

                                                                */ - CreatedDate?: string; + Description?: string; /** - *

                                                                The ARN of the layer.

                                                                + *

                                                                The version number.

                                                                */ - LayerArn?: string; + Version?: number; /** *

                                                                Details about the layer version.

                                                                @@ -3468,14 +3509,14 @@ export interface PublishLayerVersionResponse { Content?: LayerVersionContentOutput; /** - *

                                                                The layer's compatible runtimes.

                                                                + *

                                                                The ARN of the layer.

                                                                */ - CompatibleRuntimes?: (Runtime | string)[]; + LayerArn?: string; /** - *

                                                                The layer's software license.

                                                                + *

                                                                The date that the layer version was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

                                                                */ - LicenseInfo?: string; + CreatedDate?: string; } export namespace PublishLayerVersionResponse { @@ -3491,18 +3532,6 @@ export interface PublishVersionRequest { */ RevisionId?: string; - /** - *

                                                                A description for the version to override the description in the function configuration.

                                                                - */ - Description?: string; - - /** - *

                                                                Only publish a version if the hash value matches the value that's specified. Use this option to avoid - * publishing a version if the function code has changed since you last updated it. You can get the hash for the - * version that you uploaded from the output of UpdateFunctionCode.

                                                                - */ - CodeSha256?: string; - /** *

                                                                The name of the Lambda function.

                                                                *

                                                                @@ -3526,6 +3555,18 @@ export interface PublishVersionRequest { * characters in length.

                                                                */ FunctionName: string | undefined; + + /** + *

                                                                Only publish a version if the hash value matches the value that's specified. Use this option to avoid + * publishing a version if the function code has changed since you last updated it. You can get the hash for the + * version that you uploaded from the output of UpdateFunctionCode.

                                                                + */ + CodeSha256?: string; + + /** + *

                                                                A description for the version to override the description in the function configuration.

                                                                + */ + Description?: string; } export namespace PublishVersionRequest { @@ -3573,14 +3614,9 @@ export namespace PutFunctionConcurrencyRequest { export interface PutFunctionEventInvokeConfigRequest { /** - *

                                                                A version number or alias name.

                                                                - */ - Qualifier?: string; - - /** - *

                                                                The maximum number of times to retry when the function returns an error.

                                                                + *

                                                                The maximum age of a request that Lambda sends to a function for processing.

                                                                */ - MaximumRetryAttempts?: number; + MaximumEventAgeInSeconds?: number; /** *

                                                                A destination for events after they have been sent to a function for processing.

                                                                @@ -3609,9 +3645,9 @@ export interface PutFunctionEventInvokeConfigRequest { DestinationConfig?: DestinationConfig; /** - *

                                                                The maximum age of a request that Lambda sends to a function for processing.

                                                                + *

                                                                The maximum number of times to retry when the function returns an error.

                                                                */ - MaximumEventAgeInSeconds?: number; + MaximumRetryAttempts?: number; /** *

                                                                The name of the Lambda function, version, or alias.

                                                                @@ -3636,6 +3672,11 @@ export interface PutFunctionEventInvokeConfigRequest { * If you specify only the function name, it is limited to 64 characters in length.

                                                                */ FunctionName: string | undefined; + + /** + *

                                                                A version number or alias name.

                                                                + */ + Qualifier?: string; } export namespace PutFunctionEventInvokeConfigRequest { @@ -3645,6 +3686,16 @@ export namespace PutFunctionEventInvokeConfigRequest { } export interface PutProvisionedConcurrencyConfigRequest { + /** + *

                                                                The amount of provisioned concurrency to allocate for the version or alias.

                                                                + */ + ProvisionedConcurrentExecutions: number | undefined; + + /** + *

                                                                The version number or alias name.

                                                                + */ + Qualifier: string | undefined; + /** *

                                                                The name of the Lambda function.

                                                                *

                                                                @@ -3668,16 +3719,6 @@ export interface PutProvisionedConcurrencyConfigRequest { * characters in length.

                                                                */ FunctionName: string | undefined; - - /** - *

                                                                The amount of provisioned concurrency to allocate for the version or alias.

                                                                - */ - ProvisionedConcurrentExecutions: number | undefined; - - /** - *

                                                                The version number or alias name.

                                                                - */ - Qualifier: string | undefined; } export namespace PutProvisionedConcurrencyConfigRequest { @@ -3688,34 +3729,34 @@ export namespace PutProvisionedConcurrencyConfigRequest { export interface PutProvisionedConcurrencyConfigResponse { /** - *

                                                                The amount of provisioned concurrency available.

                                                                + *

                                                                The amount of provisioned concurrency allocated.

                                                                */ - AvailableProvisionedConcurrentExecutions?: number; + AllocatedProvisionedConcurrentExecutions?: number; /** - *

                                                                The status of the allocation process.

                                                                + *

                                                                The date and time that a user last updated the configuration, in ISO 8601 format.

                                                                */ - Status?: ProvisionedConcurrencyStatusEnum | string; + LastModified?: string; /** - *

                                                                For failed allocations, the reason that provisioned concurrency could not be allocated.

                                                                + *

                                                                The amount of provisioned concurrency available.

                                                                */ - StatusReason?: string; + AvailableProvisionedConcurrentExecutions?: number; /** - *

                                                                The amount of provisioned concurrency requested.

                                                                + *

                                                                For failed allocations, the reason that provisioned concurrency could not be allocated.

                                                                */ - RequestedProvisionedConcurrentExecutions?: number; + StatusReason?: string; /** - *

                                                                The amount of provisioned concurrency allocated.

                                                                + *

                                                                The amount of provisioned concurrency requested.

                                                                */ - AllocatedProvisionedConcurrentExecutions?: number; + RequestedProvisionedConcurrentExecutions?: number; /** - *

                                                                The date and time that a user last updated the configuration, in ISO 8601 format.

                                                                + *

                                                                The status of the allocation process.

                                                                */ - LastModified?: string; + Status?: ProvisionedConcurrencyStatusEnum | string; } export namespace PutProvisionedConcurrencyConfigResponse { @@ -3731,9 +3772,10 @@ export interface RemoveLayerVersionPermissionRequest { VersionNumber: number | undefined; /** - *

                                                                The name or Amazon Resource Name (ARN) of the layer.

                                                                + *

                                                                Only update the policy if the revision ID matches the ID specified. Use this option to avoid modifying a + * policy that has changed since you last read it.

                                                                */ - LayerName: string | undefined; + RevisionId?: string; /** *

                                                                The identifier that was specified when the statement was added.

                                                                @@ -3741,10 +3783,9 @@ export interface RemoveLayerVersionPermissionRequest { StatementId: string | undefined; /** - *

                                                                Only update the policy if the revision ID matches the ID specified. Use this option to avoid modifying a - * policy that has changed since you last read it.

                                                                + *

                                                                The name or Amazon Resource Name (ARN) of the layer.

                                                                */ - RevisionId?: string; + LayerName: string | undefined; } export namespace RemoveLayerVersionPermissionRequest { @@ -3754,6 +3795,17 @@ export namespace RemoveLayerVersionPermissionRequest { } export interface RemovePermissionRequest { + /** + *

                                                                Specify a version or alias to remove permissions from a published version of the function.

                                                                + */ + Qualifier?: string; + + /** + *

                                                                Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a + * policy that has changed since you last read it.

                                                                + */ + RevisionId?: string; + /** *

                                                                The name of the Lambda function, version, or alias.

                                                                *

                                                                @@ -3782,17 +3834,6 @@ export interface RemovePermissionRequest { *

                                                                Statement ID of the permission to remove.

                                                                */ StatementId: string | undefined; - - /** - *

                                                                Specify a version or alias to remove permissions from a published version of the function.

                                                                - */ - Qualifier?: string; - - /** - *

                                                                Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a - * policy that has changed since you last read it.

                                                                - */ - RevisionId?: string; } export namespace RemovePermissionRequest { @@ -3838,32 +3879,15 @@ export namespace UntagResourceRequest { } export interface UpdateAliasRequest { - /** - *

                                                                The name of the alias.

                                                                - */ - Name: string | undefined; - /** *

                                                                The function version that the alias invokes.

                                                                */ FunctionVersion?: string; /** - *

                                                                The routing - * configuration of the alias.

                                                                - */ - RoutingConfig?: AliasRoutingConfiguration; - - /** - *

                                                                Only update the alias if the revision ID matches the ID that's specified. Use this option to avoid modifying - * an alias that has changed since you last read it.

                                                                - */ - RevisionId?: string; - - /** - *

                                                                A description of the alias.

                                                                + *

                                                                The name of the alias.

                                                                */ - Description?: string; + Name: string | undefined; /** *

                                                                The name of the Lambda function.

                                                                @@ -3888,6 +3912,23 @@ export interface UpdateAliasRequest { * characters in length.

                                                                */ FunctionName: string | undefined; + + /** + *

                                                                The routing + * configuration of the alias.

                                                                + */ + RoutingConfig?: AliasRoutingConfiguration; + + /** + *

                                                                Only update the alias if the revision ID matches the ID that's specified. Use this option to avoid modifying + * an alias that has changed since you last read it.

                                                                + */ + RevisionId?: string; + + /** + *

                                                                A description of the alias.

                                                                + */ + Description?: string; } export namespace UpdateAliasRequest { @@ -3898,14 +3939,9 @@ export namespace UpdateAliasRequest { export interface UpdateEventSourceMappingRequest { /** - *

                                                                Disables the event source mapping to pause polling and invocation.

                                                                - */ - Enabled?: boolean; - - /** - *

                                                                (Streams) The maximum amount of time to gather records before invoking the function, in seconds.

                                                                + *

                                                                (Streams) If the function returns an error, split the batch in two and retry.

                                                                */ - MaximumBatchingWindowInSeconds?: number; + BisectBatchOnFunctionError?: boolean; /** *

                                                                (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

                                                                @@ -3913,9 +3949,9 @@ export interface UpdateEventSourceMappingRequest { DestinationConfig?: DestinationConfig; /** - *

                                                                The identifier of the event source mapping.

                                                                + *

                                                                (Streams) Discard records older than the specified age. The default value is infinite (-1).

                                                                */ - UUID: string | undefined; + MaximumRecordAgeInSeconds?: number; /** *

                                                                The maximum number of items to retrieve in a single batch.

                                                                @@ -3932,6 +3968,10 @@ export interface UpdateEventSourceMappingRequest { *

                                                                * Amazon Simple Queue Service - Default 10. Max 10.

                                                                *
                                                              • + *
                                                              • + *

                                                                + * Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000.

                                                                + *
                                                              • *
                                                              */ BatchSize?: number; @@ -3965,9 +4005,9 @@ export interface UpdateEventSourceMappingRequest { FunctionName?: string; /** - *

                                                              (Streams) The maximum age of a record that Lambda sends to a function for processing.

                                                              + *

                                                              If true, the event source mapping is active. Set to false to pause polling and invocation.

                                                              */ - MaximumRecordAgeInSeconds?: number; + Enabled?: boolean; /** *

                                                              (Streams) The number of batches to process from each shard concurrently.

                                                              @@ -3975,14 +4015,19 @@ export interface UpdateEventSourceMappingRequest { ParallelizationFactor?: number; /** - *

                                                              (Streams) The maximum number of times to retry when the function returns an error.

                                                              + *

                                                              (Streams) The maximum amount of time to gather records before invoking the function, in seconds.

                                                              */ - MaximumRetryAttempts?: number; + MaximumBatchingWindowInSeconds?: number; /** - *

                                                              (Streams) If the function returns an error, split the batch in two and retry.

                                                              + *

                                                              The identifier of the event source mapping.

                                                              */ - BisectBatchOnFunctionError?: boolean; + UUID: string | undefined; + + /** + *

                                                              (Streams) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records will be retried until the record expires.

                                                              + */ + MaximumRetryAttempts?: number; } export namespace UpdateEventSourceMappingRequest { @@ -3993,25 +4038,26 @@ export namespace UpdateEventSourceMappingRequest { export interface UpdateFunctionCodeRequest { /** - *

                                                              An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

                                                              + *

                                                              For versioned objects, the version of the deployment package object to use.

                                                              */ - S3Bucket?: string; + S3ObjectVersion?: string; /** - *

                                                              The Amazon S3 key of the deployment package.

                                                              + *

                                                              Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a + * function that has changed since you last read it.

                                                              */ - S3Key?: string; + RevisionId?: string; /** - *

                                                              For versioned objects, the version of the deployment package object to use.

                                                              + *

                                                              Set to true to publish a new version of the function after updating the code. This has the same effect as + * calling PublishVersion separately.

                                                              */ - S3ObjectVersion?: string; + Publish?: boolean; /** - *

                                                              The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for - * you.

                                                              + *

                                                              An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

                                                              */ - ZipFile?: Uint8Array; + S3Bucket?: string; /** *

                                                              Set to true to validate the request parameters and access permissions without modifying the function @@ -4019,6 +4065,17 @@ export interface UpdateFunctionCodeRequest { */ DryRun?: boolean; + /** + *

                                                              The Amazon S3 key of the deployment package.

                                                              + */ + S3Key?: string; + + /** + *

                                                              The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for + * you.

                                                              + */ + ZipFile?: Uint8Array; + /** *

                                                              The name of the Lambda function.

                                                              *

                                                              @@ -4042,18 +4099,6 @@ export interface UpdateFunctionCodeRequest { * characters in length.

                                                              */ FunctionName: string | undefined; - - /** - *

                                                              Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a - * function that has changed since you last read it.

                                                              - */ - RevisionId?: string; - - /** - *

                                                              Set to true to publish a new version of the function after updating the code. This has the same effect as - * calling PublishVersion separately.

                                                              - */ - Publish?: boolean; } export namespace UpdateFunctionCodeRequest { @@ -4065,109 +4110,109 @@ export namespace UpdateFunctionCodeRequest { export interface UpdateFunctionConfigurationRequest { /** - *

                                                              Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a - * function that has changed since you last read it.

                                                              + *

                                                              The name of the Lambda function.

                                                              + *

                                                              + * Name formats + *

                                                              + *
                                                                + *
                                                              • + *

                                                                + * Function name - my-function.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * Partial ARN - 123456789012:function:my-function.

                                                                + *
                                                              • + *
                                                              + *

                                                              The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 + * characters in length.

                                                              */ - RevisionId?: string; + FunctionName: string | undefined; /** - *

                                                              The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment - * variables. If it's not provided, AWS Lambda uses a default service key.

                                                              + *

                                                              For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. + * When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more + * information, see VPC Settings.

                                                              */ - KMSKeyArn?: string; + VpcConfig?: VpcConfig; /** - *

                                                              The amount of memory that your function has access to. Increasing the function's memory also increases its CPU - * allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

                                                              + *

                                                              A description of the function.

                                                              */ - MemorySize?: number; + Description?: string; /** - *

                                                              A description of the function.

                                                              + *

                                                              The identifier of the function's runtime.

                                                              */ - Description?: string; + Runtime?: Runtime | string; /** - *

                                                              A list of function layers - * to add to the function's execution environment. Specify each layer by its ARN, including the version.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the function's execution role.

                                                              */ - Layers?: string[]; + Role?: string; /** - *

                                                              The name of the method within your code that Lambda calls to execute your function. The format includes the - * file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, - * see Programming Model.

                                                              + *

                                                              Connection settings for an Amazon EFS file system.

                                                              */ - Handler?: string; + FileSystemConfigs?: FileSystemConfig[]; /** - *

                                                              Set Mode to Active to sample and trace a subset of incoming requests with AWS - * X-Ray.

                                                              + *

                                                              The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment + * variables. If it's not provided, AWS Lambda uses a default service key.

                                                              */ - TracingConfig?: TracingConfig; + KMSKeyArn?: string; /** - *

                                                              The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The - * maximum allowed value is 900 seconds.

                                                              + *

                                                              Environment variables that are accessible from function code during execution.

                                                              */ - Timeout?: number; + Environment?: Environment; /** - *

                                                              Connection settings for an Amazon EFS file system.

                                                              + *

                                                              Set Mode to Active to sample and trace a subset of incoming requests with AWS + * X-Ray.

                                                              */ - FileSystemConfigs?: FileSystemConfig[]; + TracingConfig?: TracingConfig; /** - *

                                                              The Amazon Resource Name (ARN) of the function's execution role.

                                                              + *

                                                              A list of function layers + * to add to the function's execution environment. Specify each layer by its ARN, including the version.

                                                              */ - Role?: string; + Layers?: string[]; /** - *

                                                              The name of the Lambda function.

                                                              - *

                                                              - * Name formats - *

                                                              - *
                                                                - *
                                                              • - *

                                                                - * Function name - my-function.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * Partial ARN - 123456789012:function:my-function.

                                                                - *
                                                              • - *
                                                              - *

                                                              The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 - * characters in length.

                                                              + *

                                                              The amount of memory that your function has access to. Increasing the function's memory also increases its CPU + * allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

                                                              */ - FunctionName: string | undefined; + MemorySize?: number; /** - *

                                                              The identifier of the function's runtime.

                                                              + *

                                                              A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events + * when they fail processing. For more information, see Dead Letter Queues.

                                                              */ - Runtime?: Runtime | string; + DeadLetterConfig?: DeadLetterConfig; /** - *

                                                              Environment variables that are accessible from function code during execution.

                                                              + *

                                                              The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The + * maximum allowed value is 900 seconds.

                                                              */ - Environment?: Environment; + Timeout?: number; /** - *

                                                              A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events - * when they fail processing. For more information, see Dead Letter Queues.

                                                              + *

                                                              The name of the method within your code that Lambda calls to execute your function. The format includes the + * file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, + * see Programming Model.

                                                              */ - DeadLetterConfig?: DeadLetterConfig; + Handler?: string; /** - *

                                                              For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. - * When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more - * information, see VPC Settings.

                                                              + *

                                                              Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a + * function that has changed since you last read it.

                                                              */ - VpcConfig?: VpcConfig; + RevisionId?: string; } export namespace UpdateFunctionConfigurationRequest { @@ -4202,21 +4247,6 @@ export interface UpdateFunctionEventInvokeConfigRequest { */ FunctionName: string | undefined; - /** - *

                                                              The maximum age of a request that Lambda sends to a function for processing.

                                                              - */ - MaximumEventAgeInSeconds?: number; - - /** - *

                                                              A version number or alias name.

                                                              - */ - Qualifier?: string; - - /** - *

                                                              The maximum number of times to retry when the function returns an error.

                                                              - */ - MaximumRetryAttempts?: number; - /** *

                                                              A destination for events after they have been sent to a function for processing.

                                                              *

                                                              @@ -4242,6 +4272,21 @@ export interface UpdateFunctionEventInvokeConfigRequest { *

                                                            */ DestinationConfig?: DestinationConfig; + + /** + *

                                                            The maximum age of a request that Lambda sends to a function for processing.

                                                            + */ + MaximumEventAgeInSeconds?: number; + + /** + *

                                                            The maximum number of times to retry when the function returns an error.

                                                            + */ + MaximumRetryAttempts?: number; + + /** + *

                                                            A version number or alias name.

                                                            + */ + Qualifier?: string; } export namespace UpdateFunctionEventInvokeConfigRequest { diff --git a/clients/client-lambda/protocols/Aws_restJson1.ts b/clients/client-lambda/protocols/Aws_restJson1.ts index c6bb7a347244..6cb5ca7037b9 100644 --- a/clients/client-lambda/protocols/Aws_restJson1.ts +++ b/clients/client-lambda/protocols/Aws_restJson1.ts @@ -204,15 +204,6 @@ export const serializeAws_restJson1AddLayerVersionPermissionCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy"; - if (input.VersionNumber !== undefined) { - const labelValue: string = input.VersionNumber.toString(); - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VersionNumber."); - } - resolvedPath = resolvedPath.replace("{VersionNumber}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: VersionNumber."); - } if (input.LayerName !== undefined) { const labelValue: string = input.LayerName; if (labelValue.length <= 0) { @@ -222,6 +213,15 @@ export const serializeAws_restJson1AddLayerVersionPermissionCommand = async ( } else { throw new Error("No value provided for input HTTP label: LayerName."); } + if (input.VersionNumber !== undefined) { + const labelValue: string = input.VersionNumber.toString(); + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VersionNumber."); + } + resolvedPath = resolvedPath.replace("{VersionNumber}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VersionNumber."); + } const query: any = { ...(input.RevisionId !== undefined && { RevisionId: input.RevisionId }), }; @@ -358,6 +358,7 @@ export const serializeAws_restJson1CreateEventSourceMappingCommand = async ( ...(input.StartingPositionTimestamp !== undefined && { StartingPositionTimestamp: Math.round(input.StartingPositionTimestamp.getTime() / 1000), }), + ...(input.Topics !== undefined && { Topics: serializeAws_restJson1Topics(input.Topics, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -594,15 +595,6 @@ export const serializeAws_restJson1DeleteLayerVersionCommand = async ( "Content-Type": "", }; let resolvedPath = "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}"; - if (input.LayerName !== undefined) { - const labelValue: string = input.LayerName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: LayerName."); - } - resolvedPath = resolvedPath.replace("{LayerName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: LayerName."); - } if (input.VersionNumber !== undefined) { const labelValue: string = input.VersionNumber.toString(); if (labelValue.length <= 0) { @@ -612,6 +604,15 @@ export const serializeAws_restJson1DeleteLayerVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: VersionNumber."); } + if (input.LayerName !== undefined) { + const labelValue: string = input.LayerName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: LayerName."); + } + resolvedPath = resolvedPath.replace("{LayerName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: LayerName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -689,15 +690,6 @@ export const serializeAws_restJson1GetAliasCommand = async ( "Content-Type": "", }; let resolvedPath = "/2015-03-31/functions/{FunctionName}/aliases/{Name}"; - if (input.FunctionName !== undefined) { - const labelValue: string = input.FunctionName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: FunctionName."); - } - resolvedPath = resolvedPath.replace("{FunctionName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: FunctionName."); - } if (input.Name !== undefined) { const labelValue: string = input.Name; if (labelValue.length <= 0) { @@ -707,6 +699,15 @@ export const serializeAws_restJson1GetAliasCommand = async ( } else { throw new Error("No value provided for input HTTP label: Name."); } + if (input.FunctionName !== undefined) { + const labelValue: string = input.FunctionName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: FunctionName."); + } + resolvedPath = resolvedPath.replace("{FunctionName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: FunctionName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -890,15 +891,6 @@ export const serializeAws_restJson1GetLayerVersionCommand = async ( "Content-Type": "", }; let resolvedPath = "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}"; - if (input.LayerName !== undefined) { - const labelValue: string = input.LayerName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: LayerName."); - } - resolvedPath = resolvedPath.replace("{LayerName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: LayerName."); - } if (input.VersionNumber !== undefined) { const labelValue: string = input.VersionNumber.toString(); if (labelValue.length <= 0) { @@ -908,6 +900,15 @@ export const serializeAws_restJson1GetLayerVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: VersionNumber."); } + if (input.LayerName !== undefined) { + const labelValue: string = input.LayerName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: LayerName."); + } + resolvedPath = resolvedPath.replace("{LayerName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: LayerName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1060,9 +1061,9 @@ export const serializeAws_restJson1InvokeCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/octet-stream", - ...(isSerializableHeaderValue(input.InvocationType) && { "X-Amz-Invocation-Type": input.InvocationType! }), ...(isSerializableHeaderValue(input.LogType) && { "X-Amz-Log-Type": input.LogType! }), ...(isSerializableHeaderValue(input.ClientContext) && { "X-Amz-Client-Context": input.ClientContext! }), + ...(isSerializableHeaderValue(input.InvocationType) && { "X-Amz-Invocation-Type": input.InvocationType! }), }; let resolvedPath = "/2015-03-31/functions/{FunctionName}/invocations"; if (input.FunctionName !== undefined) { @@ -1146,8 +1147,8 @@ export const serializeAws_restJson1ListAliasesCommand = async ( } const query: any = { ...(input.Marker !== undefined && { Marker: input.Marker }), - ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), ...(input.FunctionVersion !== undefined && { FunctionVersion: input.FunctionVersion }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1174,8 +1175,8 @@ export const serializeAws_restJson1ListEventSourceMappingsCommand = async ( const query: any = { ...(input.Marker !== undefined && { Marker: input.Marker }), ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), - ...(input.FunctionName !== undefined && { FunctionName: input.FunctionName }), ...(input.EventSourceArn !== undefined && { EventSourceArn: input.EventSourceArn }), + ...(input.FunctionName !== undefined && { FunctionName: input.FunctionName }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1209,8 +1210,8 @@ export const serializeAws_restJson1ListFunctionEventInvokeConfigsCommand = async throw new Error("No value provided for input HTTP label: FunctionName."); } const query: any = { - ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1235,10 +1236,10 @@ export const serializeAws_restJson1ListFunctionsCommand = async ( }; let resolvedPath = "/2015-03-31/functions"; const query: any = { + ...(input.Marker !== undefined && { Marker: input.Marker }), ...(input.FunctionVersion !== undefined && { FunctionVersion: input.FunctionVersion }), - ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), ...(input.MasterRegion !== undefined && { MasterRegion: input.MasterRegion }), - ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1264,8 +1265,8 @@ export const serializeAws_restJson1ListLayersCommand = async ( let resolvedPath = "/2018-10-31/layers"; const query: any = { ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), - ...(input.CompatibleRuntime !== undefined && { CompatibleRuntime: input.CompatibleRuntime }), ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.CompatibleRuntime !== undefined && { CompatibleRuntime: input.CompatibleRuntime }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1336,8 +1337,8 @@ export const serializeAws_restJson1ListProvisionedConcurrencyConfigsCommand = as } const query: any = { List: "ALL", - ...(input.Marker !== undefined && { Marker: input.Marker }), ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), + ...(input.Marker !== undefined && { Marker: input.Marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1401,8 +1402,8 @@ export const serializeAws_restJson1ListVersionsByFunctionCommand = async ( throw new Error("No value provided for input HTTP label: FunctionName."); } const query: any = { - ...(input.Marker !== undefined && { Marker: input.Marker }), ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), + ...(input.Marker !== undefined && { Marker: input.Marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1625,15 +1626,6 @@ export const serializeAws_restJson1RemoveLayerVersionPermissionCommand = async ( } else { throw new Error("No value provided for input HTTP label: VersionNumber."); } - if (input.LayerName !== undefined) { - const labelValue: string = input.LayerName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: LayerName."); - } - resolvedPath = resolvedPath.replace("{LayerName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: LayerName."); - } if (input.StatementId !== undefined) { const labelValue: string = input.StatementId; if (labelValue.length <= 0) { @@ -1643,6 +1635,15 @@ export const serializeAws_restJson1RemoveLayerVersionPermissionCommand = async ( } else { throw new Error("No value provided for input HTTP label: StatementId."); } + if (input.LayerName !== undefined) { + const labelValue: string = input.LayerName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: LayerName."); + } + resolvedPath = resolvedPath.replace("{LayerName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: LayerName."); + } const query: any = { ...(input.RevisionId !== undefined && { RevisionId: input.RevisionId }), }; @@ -2340,6 +2341,7 @@ export const deserializeAws_restJson1CreateEventSourceMappingCommand = async ( ParallelizationFactor: undefined, State: undefined, StateTransitionReason: undefined, + Topics: undefined, UUID: undefined, }; const data: any = await parseBody(output.body, context); @@ -2382,6 +2384,9 @@ export const deserializeAws_restJson1CreateEventSourceMappingCommand = async ( if (data.StateTransitionReason !== undefined && data.StateTransitionReason !== null) { contents.StateTransitionReason = data.StateTransitionReason; } + if (data.Topics !== undefined && data.Topics !== null) { + contents.Topics = deserializeAws_restJson1Topics(data.Topics, context); + } if (data.UUID !== undefined && data.UUID !== null) { contents.UUID = data.UUID; } @@ -2753,6 +2758,7 @@ export const deserializeAws_restJson1DeleteEventSourceMappingCommand = async ( ParallelizationFactor: undefined, State: undefined, StateTransitionReason: undefined, + Topics: undefined, UUID: undefined, }; const data: any = await parseBody(output.body, context); @@ -2795,6 +2801,9 @@ export const deserializeAws_restJson1DeleteEventSourceMappingCommand = async ( if (data.StateTransitionReason !== undefined && data.StateTransitionReason !== null) { contents.StateTransitionReason = data.StateTransitionReason; } + if (data.Topics !== undefined && data.Topics !== null) { + contents.Topics = deserializeAws_restJson1Topics(data.Topics, context); + } if (data.UUID !== undefined && data.UUID !== null) { contents.UUID = data.UUID; } @@ -3441,6 +3450,7 @@ export const deserializeAws_restJson1GetEventSourceMappingCommand = async ( ParallelizationFactor: undefined, State: undefined, StateTransitionReason: undefined, + Topics: undefined, UUID: undefined, }; const data: any = await parseBody(output.body, context); @@ -3483,6 +3493,9 @@ export const deserializeAws_restJson1GetEventSourceMappingCommand = async ( if (data.StateTransitionReason !== undefined && data.StateTransitionReason !== null) { contents.StateTransitionReason = data.StateTransitionReason; } + if (data.Topics !== undefined && data.Topics !== null) { + contents.Topics = deserializeAws_restJson1Topics(data.Topics, context); + } if (data.UUID !== undefined && data.UUID !== null) { contents.UUID = data.UUID; } @@ -4507,16 +4520,17 @@ export const deserializeAws_restJson1InvokeCommand = async ( FunctionError: undefined, LogResult: undefined, Payload: undefined, + StatusCode: undefined, }; if (output.headers["x-amz-log-result"] !== undefined) { contents.LogResult = output.headers["x-amz-log-result"]; } - if (output.headers["x-amz-executed-version"] !== undefined) { - contents.ExecutedVersion = output.headers["x-amz-executed-version"]; - } if (output.headers["x-amz-function-error"] !== undefined) { contents.FunctionError = output.headers["x-amz-function-error"]; } + if (output.headers["x-amz-executed-version"] !== undefined) { + contents.ExecutedVersion = output.headers["x-amz-executed-version"]; + } const data: any = await collectBody(output.body, context); contents.Payload = data; return Promise.resolve(contents); @@ -4768,6 +4782,7 @@ export const deserializeAws_restJson1InvokeAsyncCommand = async ( } const contents: InvokeAsyncCommandOutput = { $metadata: deserializeMetadata(output), + Status: undefined, }; await collectBody(output.body, context); return Promise.resolve(contents); @@ -6664,6 +6679,7 @@ export const deserializeAws_restJson1UpdateEventSourceMappingCommand = async ( ParallelizationFactor: undefined, State: undefined, StateTransitionReason: undefined, + Topics: undefined, UUID: undefined, }; const data: any = await parseBody(output.body, context); @@ -6706,6 +6722,9 @@ export const deserializeAws_restJson1UpdateEventSourceMappingCommand = async ( if (data.StateTransitionReason !== undefined && data.StateTransitionReason !== null) { contents.StateTransitionReason = data.StateTransitionReason; } + if (data.Topics !== undefined && data.Topics !== null) { + contents.Topics = deserializeAws_restJson1Topics(data.Topics, context); + } if (data.UUID !== undefined && data.UUID !== null) { contents.UUID = data.UUID; } @@ -8078,6 +8097,10 @@ const serializeAws_restJson1Tags = (input: { [key: string]: string }, context: _ ); }; +const serializeAws_restJson1Topics = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_restJson1TracingConfig = (input: TracingConfig, context: __SerdeContext): any => { return { ...(input.Mode !== undefined && { Mode: input.Mode }), @@ -8276,6 +8299,10 @@ const deserializeAws_restJson1EventSourceMappingConfiguration = ( output.StateTransitionReason !== undefined && output.StateTransitionReason !== null ? output.StateTransitionReason : undefined, + Topics: + output.Topics !== undefined && output.Topics !== null + ? deserializeAws_restJson1Topics(output.Topics, context) + : undefined, UUID: output.UUID !== undefined && output.UUID !== null ? output.UUID : undefined, } as any; }; @@ -8523,6 +8550,10 @@ const deserializeAws_restJson1Tags = (output: any, context: __SerdeContext): { [ ); }; +const deserializeAws_restJson1Topics = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_restJson1TracingConfigResponse = (output: any, context: __SerdeContext): TracingConfigResponse => { return { Mode: output.Mode !== undefined && output.Mode !== null ? output.Mode : undefined, 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 3f8520f6fd83..c65414c49c49 100644 --- a/clients/client-lex-model-building-service/models/models_0.ts +++ b/clients/client-lex-model-building-service/models/models_0.ts @@ -33,12 +33,6 @@ 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.

                                                            - */ - 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 @@ -47,6 +41,12 @@ export interface CreateBotVersionRequest { * version.

                                                            */ checksum?: string; + + /** + *

                                                            The name of the bot that you want to create a new version of. The name is case + * sensitive.

                                                            + */ + name: string | undefined; } export namespace CreateBotVersionRequest { @@ -66,9 +66,10 @@ export enum ContentType { */ export interface Message { /** - *

                                                            The text of the message.

                                                            + *

                                                            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.

                                                            */ - content: string | undefined; + groupNumber?: number; /** *

                                                            The content type of the message string.

                                                            @@ -76,10 +77,9 @@ export interface Message { contentType: ContentType | 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.

                                                            + *

                                                            The text of the message.

                                                            */ - groupNumber?: number; + content: string | undefined; } export namespace Message { @@ -120,11 +120,9 @@ export namespace Statement { */ export interface Prompt { /** - *

                                                            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.

                                                            + *

                                                            The number of times to prompt the user for information.

                                                            */ - responseCard?: string; + maxAttempts: number | undefined; /** *

                                                            An array of objects, each of which provides a message string and its type. You can @@ -134,9 +132,11 @@ export interface Prompt { messages: Message[] | undefined; /** - *

                                                            The number of times to prompt the user for information.

                                                            + *

                                                            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.

                                                            */ - maxAttempts: number | undefined; + responseCard?: string; } export namespace Prompt { @@ -168,8 +168,10 @@ export namespace Intent { export enum Locale { DE_DE = "de-DE", + EN_AU = "en-AU", EN_GB = "en-GB", EN_US = "en-US", + ES_US = "es-US", } export enum Status { @@ -182,15 +184,58 @@ export enum Status { export interface CreateBotVersionResponse { /** - *

                                                            The version of the bot.

                                                            + *

                                                            If status is FAILED, Amazon Lex provides the reason that it failed + * to build the bot.

                                                            */ - version?: string; + failureReason?: string; + + /** + *

                                                            The date when the $LATEST version of this bot was updated.

                                                            + */ + lastUpdatedDate?: Date; + + /** + *

                                                            The date when the bot version was created.

                                                            + */ + createdDate?: Date; + + /** + *

                                                            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.

                                                            + */ + voiceId?: string; /** *

                                                            An array of Intent objects. For more information, see PutBot.

                                                            */ intents?: Intent[]; + /** + *

                                                            Indicates whether utterances entered by the user should be sent to Amazon Comprehend for + * sentiment analysis.

                                                            + */ + detectSentiment?: boolean; + + /** + *

                                                            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; + + /** + *

                                                            Specifies the target locale for the bot.

                                                            + */ + 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 @@ -216,15 +261,9 @@ export interface CreateBotVersionResponse { childDirected?: boolean; /** - *

                                                            Checksum identifying the version of the bot that was created.

                                                            - */ - checksum?: string; - - /** - *

                                                            Indicates whether utterances entered by the user should be sent to Amazon Comprehend for - * sentiment analysis.

                                                            + *

                                                            The version of the bot.

                                                            */ - detectSentiment?: boolean; + version?: string; /** *

                                                            A description of the bot.

                                                            @@ -232,23 +271,10 @@ export interface CreateBotVersionResponse { description?: string; /** - *

                                                            The message that Amazon Lex uses to abort a conversation. For more information, see PutBot.

                                                            - */ - abortStatement?: Statement; - - /** - *

                                                            Specifies the target locale for the bot.

                                                            - */ - locale?: Locale | string; - - /** - *

                                                            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.

                                                            + *

                                                            Indicates whether the bot uses accuracy improvements. true + * indicates that the bot is using the improvements, otherwise, false.

                                                            */ - status?: Status | string; + enableModelImprovements?: boolean; /** *

                                                            The message that Amazon Lex uses when it doesn't understand the user's request. For more @@ -257,32 +283,14 @@ export interface CreateBotVersionResponse { clarificationPrompt?: Prompt; /** - *

                                                            The Amazon Polly voice ID that Amazon Lex uses for voice interactions with the - * user.

                                                            - */ - voiceId?: string; - - /** - *

                                                            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.

                                                            - */ - lastUpdatedDate?: Date; - - /** - *

                                                            The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For - * more information, see PutBot.

                                                            + *

                                                            The message that Amazon Lex uses to cancel a conversation. For more information, see PutBot.

                                                            */ - idleSessionTTLInSeconds?: number; + abortStatement?: Statement; /** - *

                                                            The date when the bot version was created.

                                                            + *

                                                            Checksum identifying the version of the bot that was created.

                                                            */ - createdDate?: Date; + checksum?: string; /** *

                                                            The name of the bot.

                                                            @@ -412,15 +420,15 @@ export namespace CodeHook { */ export interface FollowUpPrompt { /** - *

                                                            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.

                                                            + *

                                                            Prompts for information from the user.

                                                            */ - rejectionStatement: Statement | undefined; + prompt: Prompt | undefined; /** - *

                                                            Prompts for information from the user.

                                                            + *

                                                            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.

                                                            */ - prompt: Prompt | undefined; + rejectionStatement: Statement | undefined; } export namespace FollowUpPrompt { @@ -489,14 +497,6 @@ export interface KendraConfiguration { */ 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.

                                                            - */ - role: string | undefined; - /** *

                                                            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 @@ -504,6 +504,14 @@ export interface KendraConfiguration { * call the PutIntent operation.

                                                            */ kendraIndex: string | undefined; + + /** + *

                                                            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; } export namespace KendraConfiguration { @@ -532,34 +540,20 @@ export interface Slot { description?: string; /** - *

                                                            The name of the slot.

                                                            - */ - name: string | undefined; - - /** - *

                                                            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 .

                                                            + *

                                                            Specifies whether the slot is required or optional.

                                                            */ - obfuscationSetting?: ObfuscationSetting | string; + slotConstraint: SlotConstraint | string | undefined; /** - *

                                                            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.

                                                            + *

                                                            The version of the slot type.

                                                            */ - priority?: number; + slotTypeVersion?: string; /** - *

                                                            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.

                                                            + *

                                                            The type of the slot, either a custom slot type that you defined or one of the built-in + * slot types.

                                                            */ - sampleUtterances?: string[]; + slotType?: string; /** *

                                                            A set of possible responses for the slot type used by text-based clients. A user @@ -573,20 +567,34 @@ export interface Slot { valueElicitationPrompt?: Prompt; /** - *

                                                            The version of the slot type.

                                                            + *

                                                            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.

                                                            */ - slotTypeVersion?: string; + sampleUtterances?: string[]; /** - *

                                                            Specifies whether the slot is required or optional.

                                                            + *

                                                            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.

                                                            */ - slotConstraint: SlotConstraint | string | undefined; + priority?: number; /** - *

                                                            The type of the slot, either a custom slot type that you defined or one of the built-in - * slot types.

                                                            + *

                                                            The name of the slot.

                                                            */ - slotType?: string; + name: string | undefined; + + /** + *

                                                            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; } export namespace Slot { @@ -597,7 +605,28 @@ export namespace Slot { export interface CreateIntentVersionResponse { /** - *

                                                            Configuration information, if any, for connectin an Amazon Kendra index with the + *

                                                            The name of the intent.

                                                            + */ + name?: string; + + /** + *

                                                            If defined, Amazon Lex invokes this Lambda function for each user input.

                                                            + */ + dialogCodeHook?: CodeHook; + + /** + *

                                                            A unique identifier for a built-in intent.

                                                            + */ + parentIntentSignature?: string; + + /** + *

                                                            After the Lambda function specified in the fulfillmentActivity field + * fulfills the intent, Amazon Lex conveys this statement to the user.

                                                            + */ + conclusionStatement?: Statement; + + /** + *

                                                            Configuration information, if any, for connecting an Amazon Kendra index with the * AMAZON.KendraSearchIntent intent.

                                                            */ kendraConfiguration?: KendraConfiguration; @@ -608,9 +637,10 @@ export interface CreateIntentVersionResponse { checksum?: string; /** - *

                                                            A description of the intent.

                                                            + *

                                                            If defined, the prompt that Amazon Lex uses to confirm the user's intent before + * fulfilling it.

                                                            */ - description?: string; + confirmationPrompt?: Prompt; /** *

                                                            Describes how the intent is fulfilled.

                                                            @@ -618,10 +648,21 @@ export interface CreateIntentVersionResponse { fulfillmentActivity?: FulfillmentActivity; /** - *

                                                            If defined, the prompt that Amazon Lex uses to confirm the user's intent before - * fulfilling it.

                                                            + *

                                                            The version number assigned to the new version of the intent.

                                                            */ - confirmationPrompt?: Prompt; + version?: string; + + /** + *

                                                            An array of slot types that defines the information required to fulfill the + * intent.

                                                            + */ + slots?: Slot[]; + + /** + *

                                                            If defined, Amazon Lex uses this prompt to solicit additional user activity after the + * intent is fulfilled.

                                                            + */ + followUpPrompt?: FollowUpPrompt; /** *

                                                            The date that the intent was created.

                                                            @@ -634,53 +675,20 @@ export interface CreateIntentVersionResponse { */ rejectionStatement?: Statement; - /** - *

                                                            A unique identifier for a built-in intent.

                                                            - */ - parentIntentSignature?: string; - /** *

                                                            An array of sample utterances configured for the intent.

                                                            */ sampleUtterances?: string[]; /** - *

                                                            If defined, Amazon Lex invokes this Lambda function for each user input.

                                                            - */ - dialogCodeHook?: CodeHook; - - /** - *

                                                            An array of slot types that defines the information required to fulfill the - * intent.

                                                            - */ - slots?: Slot[]; - - /** - *

                                                            The name of the intent.

                                                            - */ - name?: string; - - /** - *

                                                            After the Lambda function specified in the fulfillmentActivity field - * fulfills the intent, Amazon Lex conveys this statement to the user.

                                                            + *

                                                            A description of the intent.

                                                            */ - conclusionStatement?: Statement; + description?: string; /** *

                                                            The date that the intent was updated.

                                                            */ lastUpdatedDate?: Date; - - /** - *

                                                            If defined, Amazon Lex uses this prompt to solicit additional user activity after the - * intent is fulfilled.

                                                            - */ - followUpPrompt?: FollowUpPrompt; - - /** - *

                                                            The version number assigned to the new version of the intent.

                                                            - */ - version?: string; } export namespace CreateIntentVersionResponse { @@ -731,14 +739,14 @@ export namespace CreateSlotTypeVersionRequest { */ export interface EnumerationValue { /** - *

                                                            The value of the slot type.

                                                            + *

                                                            Additional values related to the slot type value.

                                                            */ - value: string | undefined; + synonyms?: string[]; /** - *

                                                            Additional values related to the slot type value.

                                                            + *

                                                            The value of the slot type.

                                                            */ - synonyms?: string[]; + value: string | undefined; } export namespace EnumerationValue { @@ -810,10 +818,9 @@ export enum SlotValueSelectionStrategy { export interface CreateSlotTypeVersionResponse { /** - *

                                                            The strategy that Amazon Lex uses to determine the value of the slot. For more information, - * see PutSlotType.

                                                            + *

                                                            The date that the slot type was created.

                                                            */ - valueSelectionStrategy?: SlotValueSelectionStrategy | string; + createdDate?: Date; /** *

                                                            Configuration information that extends the parent built-in slot type.

                                                            @@ -821,30 +828,31 @@ export interface CreateSlotTypeVersionResponse { slotTypeConfigurations?: SlotTypeConfiguration[]; /** - *

                                                            The date that the slot type was created.

                                                            + *

                                                            The version assigned to the new slot type version.

                                                            */ - createdDate?: Date; + version?: string; /** - *

                                                            The built-in slot type used a the parent of the slot type.

                                                            + *

                                                            The strategy that Amazon Lex uses to determine the value of the slot. For more information, + * see PutSlotType.

                                                            */ - parentSlotTypeSignature?: string; + valueSelectionStrategy?: SlotValueSelectionStrategy | string; /** - *

                                                            The date that the slot type was updated. When you create a resource, the creation date - * and last update date are the same.

                                                            + *

                                                            A list of EnumerationValue objects that defines the values that the slot + * type can take.

                                                            */ - lastUpdatedDate?: Date; + enumerationValues?: EnumerationValue[]; /** - *

                                                            The name of the slot type.

                                                            + *

                                                            Checksum of the $LATEST version of the slot type.

                                                            */ - name?: string; + checksum?: string; /** - *

                                                            Checksum of the $LATEST version of the slot type.

                                                            + *

                                                            The name of the slot type.

                                                            */ - checksum?: string; + name?: string; /** *

                                                            A description of the slot type.

                                                            @@ -852,15 +860,15 @@ export interface CreateSlotTypeVersionResponse { description?: string; /** - *

                                                            A list of EnumerationValue objects that defines the values that the slot - * type can take.

                                                            + *

                                                            The built-in slot type used a the parent of the slot type.

                                                            */ - enumerationValues?: EnumerationValue[]; + parentSlotTypeSignature?: string; /** - *

                                                            The version assigned to the new slot type version.

                                                            + *

                                                            The date that the slot type was updated. When you create a resource, the creation date + * and last update date are the same.

                                                            */ - version?: string; + lastUpdatedDate?: Date; } export namespace CreateSlotTypeVersionResponse { @@ -932,13 +940,14 @@ export enum ReferenceType { export interface ResourceInUseException extends __SmithyException, $MetadataBearer { name: "ResourceInUseException"; $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. *

                                                            */ exampleReference?: ResourceReference; + + referenceType?: ReferenceType | string; } export namespace ResourceInUseException { @@ -949,14 +958,14 @@ export namespace ResourceInUseException { export interface DeleteBotAliasRequest { /** - *

                                                            The name of the bot that the alias points to.

                                                            + *

                                                            The name of the alias to delete. The name is case sensitive.

                                                            */ - botName: string | undefined; + name: string | undefined; /** - *

                                                            The name of the alias to delete. The name is case sensitive.

                                                            + *

                                                            The name of the bot that the alias points to.

                                                            */ - name: string | undefined; + botName: string | undefined; } export namespace DeleteBotAliasRequest { @@ -966,11 +975,6 @@ export namespace DeleteBotAliasRequest { } export interface DeleteBotChannelAssociationRequest { - /** - *

                                                            The name of the Amazon Lex bot.

                                                            - */ - botName: string | undefined; - /** *

                                                            An alias that points to the specific version of the Amazon Lex bot to which this association * is being made.

                                                            @@ -981,6 +985,11 @@ export interface DeleteBotChannelAssociationRequest { *

                                                            The name of the association. The name is case sensitive.

                                                            */ name: string | undefined; + + /** + *

                                                            The name of the Amazon Lex bot.

                                                            + */ + botName: string | undefined; } export namespace DeleteBotChannelAssociationRequest { @@ -990,17 +999,17 @@ export namespace DeleteBotChannelAssociationRequest { } export interface DeleteBotVersionRequest { + /** + *

                                                            The name of the bot.

                                                            + */ + 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 * operation.

                                                            */ version: string | undefined; - - /** - *

                                                            The name of the bot.

                                                            - */ - name: string | undefined; } export namespace DeleteBotVersionRequest { @@ -1023,16 +1032,16 @@ export namespace DeleteIntentRequest { } export interface DeleteIntentVersionRequest { - /** - *

                                                            The name of the intent.

                                                            - */ - 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.

                                                            */ version: string | undefined; + + /** + *

                                                            The name of the intent.

                                                            + */ + name: string | undefined; } export namespace DeleteIntentVersionRequest { @@ -1113,27 +1122,27 @@ export namespace GetBotRequest { export interface GetBotResponse { /** - *

                                                            The message that Amazon Lex returns when the user elects to end the conversation without - * completing it. For more information, see PutBot.

                                                            + *

                                                            The message Amazon Lex uses when it doesn't understand the user's request. For more + * information, see PutBot.

                                                            */ - abortStatement?: Statement; + clarificationPrompt?: Prompt; /** - *

                                                            The version of the bot. For a new bot, the version is always - * $LATEST.

                                                            + *

                                                            The date that the bot was updated. When you create a resource, the creation date and + * last updated date are the same.

                                                            */ - version?: string; + lastUpdatedDate?: Date; /** - *

                                                            An array of intent objects. For more information, see PutBot.

                                                            + *

                                                            Indicates whether user utterances should be sent to Amazon Comprehend for sentiment + * analysis.

                                                            */ - intents?: Intent[]; + detectSentiment?: boolean; /** - *

                                                            Checksum of the bot used to identify a specific revision of the bot's - * $LATEST version.

                                                            + *

                                                            A description of the bot.

                                                            */ - checksum?: string; + description?: string; /** *

                                                            The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For @@ -1142,22 +1151,9 @@ export interface GetBotResponse { idleSessionTTLInSeconds?: number; /** - *

                                                            The name of the bot.

                                                            - */ - name?: string; - - /** - *

                                                            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.

                                                            + *

                                                            The target locale for the bot.

                                                            */ - status?: Status | string; + locale?: Locale | string; /** *

                                                            If status is FAILED, Amazon Lex explains why it failed to build @@ -1166,10 +1162,33 @@ export interface GetBotResponse { failureReason?: string; /** - *

                                                            The message Amazon Lex uses when it doesn't understand the user's request. For more - * information, see PutBot.

                                                            + *

                                                            The version of the bot. For a new bot, the version is always + * $LATEST.

                                                            */ - clarificationPrompt?: Prompt; + version?: string; + + /** + *

                                                            An array of intent objects. For more information, see PutBot.

                                                            + */ + intents?: Intent[]; + + /** + *

                                                            The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more + * information, see PutBot.

                                                            + */ + voiceId?: string; + + /** + *

                                                            The message that Amazon Lex returns when the user elects to end the conversation without + * completing it. For more information, see PutBot.

                                                            + */ + abortStatement?: Statement; + + /** + *

                                                            Indicates whether the bot uses accuracy improvements. true + * indicates that the bot is using the improvements, otherwise, false.

                                                            + */ + enableModelImprovements?: boolean; /** *

                                                            For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify @@ -1196,37 +1215,43 @@ export interface GetBotResponse { childDirected?: boolean; /** - *

                                                            The date that the bot was created.

                                                            - */ - createdDate?: Date; - - /** - *

                                                            The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more - * information, see PutBot.

                                                            + *

                                                            The name of the bot.

                                                            */ - voiceId?: string; + name?: string; /** - *

                                                            A description of the bot.

                                                            + *

                                                            Checksum of the bot used to identify a specific revision of the bot's + * $LATEST version.

                                                            */ - description?: string; + checksum?: string; /** - *

                                                            The target locale for the bot.

                                                            + *

                                                            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.

                                                            */ - locale?: Locale | string; + status?: Status | string; /** - *

                                                            Indicates whether user utterances should be sent to Amazon Comprehend for sentiment - * analysis.

                                                            + *

                                                            The date that the bot was created.

                                                            */ - detectSentiment?: boolean; + createdDate?: Date; /** - *

                                                            The date that the bot was updated. When you create a resource, the creation date and - * last updated date are the same.

                                                            + *

                                                            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.

                                                            */ - lastUpdatedDate?: Date; + nluIntentConfidenceThreshold?: number; } export namespace GetBotResponse { @@ -1237,14 +1262,14 @@ export namespace GetBotResponse { export interface GetBotAliasRequest { /** - *

                                                            The name of the bot.

                                                            + *

                                                            The name of the bot alias. The name is case sensitive.

                                                            */ - botName: string | undefined; + name: string | undefined; /** - *

                                                            The name of the bot alias. The name is case sensitive.

                                                            + *

                                                            The name of the bot.

                                                            */ - name: string | undefined; + botName: string | undefined; } export namespace GetBotAliasRequest { @@ -1274,27 +1299,27 @@ export interface LogSettingsResponse { kmsKeyArn?: string; /** - *

                                                            The type of logging that is enabled.

                                                            + *

                                                            The destination where logs are delivered.

                                                            */ - logType?: LogType | string; + destination?: Destination | 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 Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the + * logs are delivered.

                                                            */ - resourcePrefix?: string; + resourceArn?: string; /** - *

                                                            The destination where logs are delivered.

                                                            + *

                                                            The type of logging that is enabled.

                                                            */ - destination?: Destination | string; + logType?: LogType | string; /** - *

                                                            The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the - * logs are delivered.

                                                            + *

                                                            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.

                                                            */ - resourceArn?: string; + resourcePrefix?: string; } export namespace LogSettingsResponse { @@ -1308,15 +1333,15 @@ export namespace LogSettingsResponse { */ export interface ConversationLogsResponse { /** - *

                                                            The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs - * or an S3 bucket.

                                                            + *

                                                            The settings for your conversation logs. You can log text, audio, or both.

                                                            */ - iamRoleArn?: string; + logSettings?: LogSettingsResponse[]; /** - *

                                                            The settings for your conversation logs. You can log text, audio, or both.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs + * or an S3 bucket.

                                                            */ - logSettings?: LogSettingsResponse[]; + iamRoleArn?: string; } export namespace ConversationLogsResponse { @@ -1327,45 +1352,45 @@ export namespace ConversationLogsResponse { export interface GetBotAliasResponse { /** - *

                                                            A description of the bot alias.

                                                            + *

                                                            Checksum of the bot alias.

                                                            */ - description?: string; + checksum?: string; /** - *

                                                            The name of the bot that the alias points to.

                                                            + *

                                                            The name of the bot alias.

                                                            */ - botName?: string; + name?: 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 created.

                                                            */ - lastUpdatedDate?: Date; + createdDate?: Date; /** - *

                                                            The version of the bot that the alias points to.

                                                            + *

                                                            The settings that determine how Amazon Lex uses conversation logs for the alias.

                                                            */ - botVersion?: string; + conversationLogs?: ConversationLogsResponse; /** - *

                                                            The date that the bot alias was created.

                                                            + *

                                                            The version of the bot that the alias points to.

                                                            */ - createdDate?: Date; + botVersion?: string; /** - *

                                                            Checksum of the bot alias.

                                                            + *

                                                            A description of the bot alias.

                                                            */ - checksum?: string; + description?: string; /** - *

                                                            The settings that determine how Amazon Lex uses conversation logs for the alias.

                                                            + *

                                                            The name of the bot that the alias points to.

                                                            */ - conversationLogs?: ConversationLogsResponse; + botName?: string; /** - *

                                                            The name of the bot alias.

                                                            + *

                                                            The date that the bot alias was updated. When you create a resource, the creation date + * and the last updated date are the same.

                                                            */ - name?: string; + lastUpdatedDate?: Date; } export namespace GetBotAliasResponse { @@ -1382,12 +1407,6 @@ export interface GetBotAliasesRequest { */ nextToken?: string; - /** - *

                                                            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; - /** *

                                                            The maximum number of aliases to return in the response. The default is 50. . *

                                                            @@ -1398,6 +1417,12 @@ export interface GetBotAliasesRequest { *

                                                            The name of the bot.

                                                            */ botName: string | undefined; + + /** + *

                                                            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; } export namespace GetBotAliasesRequest { @@ -1421,35 +1446,35 @@ export interface BotAliasMetadata { description?: string; /** - *

                                                            The name of the bot to which the alias points.

                                                            + *

                                                            The name of the bot alias.

                                                            */ - botName?: string; + name?: string; /** - *

                                                            The version of the Amazon Lex bot to which the alias points.

                                                            + *

                                                            Checksum of the bot alias.

                                                            */ - botVersion?: string; + checksum?: 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 created.

                                                            */ - lastUpdatedDate?: Date; + createdDate?: Date; /** - *

                                                            The date that the bot alias was created.

                                                            + *

                                                            The date that the bot alias was updated. When you create a resource, the creation date + * and last updated date are the same.

                                                            */ - createdDate?: Date; + lastUpdatedDate?: Date; /** - *

                                                            The name of the bot alias.

                                                            + *

                                                            The version of the Amazon Lex bot to which the alias points.

                                                            */ - name?: string; + botVersion?: string; /** - *

                                                            Checksum of the bot alias.

                                                            + *

                                                            The name of the bot to which the alias points.

                                                            */ - checksum?: string; + botName?: string; } export namespace BotAliasMetadata { @@ -1459,18 +1484,18 @@ export namespace BotAliasMetadata { } export interface GetBotAliasesResponse { - /** - *

                                                            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.

                                                            */ nextToken?: string; + + /** + *

                                                            An array of BotAliasMetadata objects, each describing a bot + * alias.

                                                            + */ + BotAliases?: BotAliasMetadata[]; } export namespace GetBotAliasesResponse { @@ -1481,10 +1506,9 @@ 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 Amazon Lex bot.

                                                            */ - name: string | undefined; + botName: string | undefined; /** *

                                                            An alias pointing to the specific version of the Amazon Lex bot to which this association is @@ -1493,9 +1517,10 @@ export interface GetBotChannelAssociationRequest { botAlias: string | undefined; /** - *

                                                            The name of the Amazon Lex bot.

                                                            + *

                                                            The name of the association between the bot and the channel. The name is case + * sensitive.

                                                            */ - botName: string | undefined; + name: string | undefined; } export namespace GetBotChannelAssociationRequest { @@ -1525,31 +1550,15 @@ export interface GetBotChannelAssociationResponse { botAlias?: string; /** - *

                                                            A description of the association between the bot and the channel.

                                                            - */ - description?: string; - - /** - *

                                                            The name of the Amazon Lex bot.

                                                            - */ - botName?: string; - - /** - *

                                                            If status is FAILED, Amazon Lex provides the reason that it failed - * to create the association.

                                                            + *

                                                            The name of the association between the bot and the channel.

                                                            */ - failureReason?: string; + name?: string; /** *

                                                            The date that the association between the bot and the channel was created.

                                                            */ createdDate?: Date; - /** - *

                                                            The type of the messaging platform.

                                                            - */ - type?: ChannelType | string; - /** *

                                                            Provides information that the messaging platform needs to communicate with the Amazon Lex * bot.

                                                            @@ -1577,9 +1586,25 @@ export interface GetBotChannelAssociationResponse { status?: ChannelStatus | string; /** - *

                                                            The name of the association between the bot and the channel.

                                                            + *

                                                            If status is FAILED, Amazon Lex provides the reason that it failed + * to create the association.

                                                            */ - name?: string; + failureReason?: string; + + /** + *

                                                            The type of the messaging platform.

                                                            + */ + type?: ChannelType | string; + + /** + *

                                                            The name of the Amazon Lex bot.

                                                            + */ + botName?: string; + + /** + *

                                                            A description of the association between the bot and the channel.

                                                            + */ + description?: string; } export namespace GetBotChannelAssociationResponse { @@ -1609,18 +1634,18 @@ 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.

                                                            - */ - 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.

                                                            */ nextToken?: string; + + /** + *

                                                            An alias pointing to the specific version of the Amazon Lex bot to which this association is + * being made.

                                                            + */ + botAlias: string | undefined; } export namespace GetBotChannelAssociationsRequest { @@ -1634,6 +1659,17 @@ export namespace GetBotChannelAssociationsRequest { * platform.

                                                            */ export interface BotChannelAssociation { + /** + *

                                                            Provides information necessary to communicate with the messaging platform.

                                                            + */ + botConfiguration?: { [key: string]: string }; + + /** + *

                                                            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; + /** *

                                                            The status of the bot channel.

                                                            *
                                                              @@ -1661,10 +1697,16 @@ export interface BotChannelAssociation { failureReason?: string; /** - *

                                                              Specifies the type of association by indicating the type of channel being established - * between the Amazon Lex bot and the external messaging platform.

                                                              + *

                                                              The date that the association between the Amazon Lex bot and the channel was created. + *

                                                              */ - type?: ChannelType | string; + createdDate?: Date; + + /** + *

                                                              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.

                                                              @@ -1675,32 +1717,15 @@ export interface BotChannelAssociation { */ botName?: string; - /** - *

                                                              A text description of the association you are creating.

                                                              - */ - description?: string; - - /** - *

                                                              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 association between the bot and the channel.

                                                              */ name?: string; /** - *

                                                              The date that the association between the Amazon Lex bot and the channel was created. - *

                                                              - */ - createdDate?: Date; - - /** - *

                                                              Provides information necessary to communicate with the messaging platform.

                                                              + *

                                                              A text description of the association you are creating.

                                                              */ - botConfiguration?: { [key: string]: string }; + description?: string; } export namespace BotChannelAssociation { @@ -1742,17 +1767,17 @@ export interface GetBotsRequest { */ nextToken?: string; - /** - *

                                                              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; - /** *

                                                              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."

                                                              + */ + nameContains?: string; } export namespace GetBotsRequest { @@ -1766,36 +1791,36 @@ export namespace GetBotsRequest { */ export interface BotMetadata { /** - *

                                                              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 created.

                                                              */ - lastUpdatedDate?: Date; + createdDate?: Date; /** - *

                                                              The status of the bot.

                                                              + *

                                                              The name of the bot.

                                                              */ - status?: Status | string; + name?: string; /** - *

                                                              A description of the bot.

                                                              + *

                                                              The version of the bot. For a new bot, the version is always + * $LATEST.

                                                              */ - description?: string; + version?: string; /** - *

                                                              The date that the bot was created.

                                                              + *

                                                              The status of the bot.

                                                              */ - createdDate?: Date; + status?: Status | string; /** - *

                                                              The version of the bot. For a new bot, the version is always - * $LATEST.

                                                              + *

                                                              A description of the bot.

                                                              */ - version?: string; + description?: string; /** - *

                                                              The name of the bot.

                                                              + *

                                                              The date that the bot was updated. When you create a bot, the creation date and last + * updated date are the same.

                                                              */ - name?: string; + lastUpdatedDate?: Date; } export namespace BotMetadata { @@ -1832,15 +1857,15 @@ export interface GetBotVersionsRequest { nextToken?: string; /** - *

                                                              The maximum number of bot versions to return in the response. The default is - * 10.

                                                              + *

                                                              The name of the bot for which versions should be returned.

                                                              */ - maxResults?: number; + name: string | undefined; /** - *

                                                              The name of the bot for which versions should be returned.

                                                              + *

                                                              The maximum number of bot versions to return in the response. The default is + * 10.

                                                              */ - name: string | undefined; + maxResults?: number; } export namespace GetBotVersionsRequest { @@ -1850,21 +1875,21 @@ 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.

                                                              - */ - 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.

                                                              */ nextToken?: string; -} -export namespace GetBotVersionsResponse { + /** + *

                                                              An array of BotMetadata objects, one for each numbered version of the bot + * plus one for the $LATEST version.

                                                              + */ + bots?: BotMetadata[]; +} + +export namespace GetBotVersionsResponse { export const filterSensitiveLog = (obj: GetBotVersionsResponse): any => ({ ...obj, }); @@ -1902,10 +1927,9 @@ export namespace BuiltinIntentSlot { export interface GetBuiltinIntentResponse { /** - *

                                                              An array of BuiltinIntentSlot objects, one entry for each slot type in the - * intent.

                                                              + *

                                                              A list of locales that the intent supports.

                                                              */ - slots?: BuiltinIntentSlot[]; + supportedLocales?: (Locale | string)[]; /** *

                                                              The unique identifier for a built-in intent.

                                                              @@ -1913,9 +1937,10 @@ export interface GetBuiltinIntentResponse { signature?: string; /** - *

                                                              A list of locales that the intent supports.

                                                              + *

                                                              An array of BuiltinIntentSlot objects, one entry for each slot type in the + * intent.

                                                              */ - supportedLocales?: (Locale | string)[]; + slots?: BuiltinIntentSlot[]; } export namespace GetBuiltinIntentResponse { @@ -1926,28 +1951,28 @@ export namespace GetBuiltinIntentResponse { export interface GetBuiltinIntentsRequest { /** - *

                                                              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.

                                                              + *

                                                              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.

                                                              */ - nextToken?: string; + signatureContains?: string; /** - *

                                                              A list of locales that the intent supports.

                                                              + *

                                                              The maximum number of intents to return in the response. The default is 10.

                                                              */ - locale?: Locale | string; + maxResults?: number; /** - *

                                                              The maximum number of intents to return in the response. The default is 10.

                                                              + *

                                                              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.

                                                              */ - maxResults?: number; + nextToken?: 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.

                                                              + *

                                                              A list of locales that the intent supports.

                                                              */ - signatureContains?: string; + locale?: Locale | string; } export namespace GetBuiltinIntentsRequest { @@ -2001,9 +2026,11 @@ export namespace GetBuiltinIntentsResponse { export interface GetBuiltinSlotTypesRequest { /** - *

                                                              A list of locales that the slot type supports.

                                                              + *

                                                              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.

                                                              */ - locale?: Locale | string; + nextToken?: string; /** *

                                                              Substring to match in built-in slot type signatures. A slot type will be returned if @@ -2019,11 +2046,9 @@ export interface GetBuiltinSlotTypesRequest { maxResults?: number; /** - *

                                                              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 list of locales that the slot type supports.

                                                              */ - nextToken?: string; + locale?: Locale | string; } export namespace GetBuiltinSlotTypesRequest { @@ -2097,14 +2122,14 @@ export interface GetExportRequest { version: string | undefined; /** - *

                                                              The name of the bot to export.

                                                              + *

                                                              The type of resource to export.

                                                              */ - name: string | undefined; + resourceType: ResourceType | string | undefined; /** - *

                                                              The type of resource to export.

                                                              + *

                                                              The name of the bot to export.

                                                              */ - resourceType: ResourceType | string | undefined; + name: string | undefined; } export namespace GetExportRequest { @@ -2131,16 +2156,10 @@ export interface GetExportResponse { exportType?: ExportType | 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.

                                                              - */ - url?: string; - - /** - *

                                                              The type of the exported resource.

                                                              + *

                                                              If status is FAILED, Amazon Lex provides the reason that it failed + * to export the resource.

                                                              */ - resourceType?: ResourceType | string; + failureReason?: string; /** *

                                                              The status of the export.

                                                              @@ -2161,16 +2180,22 @@ export interface GetExportResponse { */ exportStatus?: ExportStatus | string; + /** + *

                                                              The type of the exported resource.

                                                              + */ + resourceType?: ResourceType | string; + /** *

                                                              The version of the bot being exported.

                                                              */ version?: string; /** - *

                                                              If status is FAILED, Amazon Lex provides the reason that it failed - * to export the resource.

                                                              + *

                                                              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.

                                                              */ - failureReason?: string; + url?: string; } export namespace GetExportResponse { @@ -2205,15 +2230,15 @@ export enum MergeStrategy { export interface GetImportResponse { /** - *

                                                              The name given to the import job.

                                                              + *

                                                              The action taken when there was a conflict between an existing resource and a resource + * in the import file.

                                                              */ - name?: string; + mergeStrategy?: MergeStrategy | 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 identifier for the specific import job.

                                                              */ - importStatus?: ImportStatus | string; + importId?: string; /** *

                                                              The type of resource imported.

                                                              @@ -2221,25 +2246,25 @@ export interface GetImportResponse { resourceType?: ResourceType | string; /** - *

                                                              A timestamp for the date and time that the import job was created.

                                                              + *

                                                              A string that describes why an import job failed to complete.

                                                              */ - createdDate?: Date; + failureReason?: string[]; /** - *

                                                              The action taken when there was a conflict between an existing resource and a resource - * in the import file.

                                                              + *

                                                              The name given to the import job.

                                                              */ - mergeStrategy?: MergeStrategy | string; + name?: string; /** - *

                                                              A string that describes why an import job failed to complete.

                                                              + *

                                                              A timestamp for the date and time that the import job was created.

                                                              */ - failureReason?: string[]; + createdDate?: Date; /** - *

                                                              The identifier for the specific import job.

                                                              + *

                                                              The status of the import job. If the status is FAILED, you can get the + * reason for the failure from the failureReason field.

                                                              */ - importId?: string; + importStatus?: ImportStatus | string; } export namespace GetImportResponse { @@ -2250,14 +2275,14 @@ export namespace GetImportResponse { export interface GetIntentRequest { /** - *

                                                              The name of the intent. The name is case sensitive.

                                                              + *

                                                              The version of the intent.

                                                              */ - name: string | undefined; + version: string | undefined; /** - *

                                                              The version of the intent.

                                                              + *

                                                              The name of the intent. The name is case sensitive.

                                                              */ - version: string | undefined; + name: string | undefined; } export namespace GetIntentRequest { @@ -2268,80 +2293,74 @@ export namespace GetIntentRequest { export interface GetIntentResponse { /** - *

                                                              A description of the intent.

                                                              - */ - description?: string; - - /** - *

                                                              Configuration information, if any, to connect to an Amazon Kendra index with the - * AMAZON.KendraSearchIntent intent.

                                                              + *

                                                              The name of the intent.

                                                              */ - kendraConfiguration?: KendraConfiguration; + name?: string; /** - *

                                                              A unique identifier for a built-in intent.

                                                              + *

                                                              If the user answers "no" to the question defined in confirmationPrompt, + * Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                                                              */ - parentIntentSignature?: string; + rejectionStatement?: Statement; /** - *

                                                              After the Lambda function specified in the fulfillmentActivity element - * fulfills the intent, Amazon Lex conveys this statement to the user.

                                                              + *

                                                              If defined in the bot, Amazon Amazon Lex invokes this Lambda function for each user input. + * For more information, see PutIntent.

                                                              */ - conclusionStatement?: Statement; + dialogCodeHook?: CodeHook; /** - *

                                                              An array of sample utterances configured for the intent.

                                                              + *

                                                              The date that the intent was created.

                                                              */ - sampleUtterances?: string[]; + createdDate?: Date; /** - *

                                                              The date that the intent was created.

                                                              + *

                                                              An array of intent slots configured for the intent.

                                                              */ - createdDate?: Date; + slots?: Slot[]; /** - *

                                                              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 defined in the bot, Amazon Lex uses prompt to confirm the intent before fulfilling the + * user's request. For more information, see PutIntent.

                                                              */ - rejectionStatement?: Statement; + confirmationPrompt?: Prompt; /** - *

                                                              Checksum of the intent.

                                                              + *

                                                              A unique identifier for a built-in intent.

                                                              */ - checksum?: string; + parentIntentSignature?: string; /** - *

                                                              If defined in the bot, Amazon Amazon Lex invokes this Lambda function for each user input. - * For more information, see PutIntent.

                                                              + *

                                                              Configuration information, if any, to connect to an Amazon Kendra index with the + * AMAZON.KendraSearchIntent intent.

                                                              */ - dialogCodeHook?: CodeHook; + kendraConfiguration?: KendraConfiguration; /** - *

                                                              An array of intent slots configured for the intent.

                                                              + *

                                                              After the Lambda function specified in the fulfillmentActivity element + * fulfills the intent, Amazon Lex conveys this statement to the user.

                                                              */ - slots?: Slot[]; + conclusionStatement?: Statement; /** - *

                                                              The name of the intent.

                                                              + *

                                                              A description of the intent.

                                                              */ - name?: string; + description?: string; /** - *

                                                              The date that the intent was updated. When you create a resource, the creation date and - * the last updated date are the same.

                                                              + *

                                                              Checksum of the intent.

                                                              */ - lastUpdatedDate?: Date; + checksum?: 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.

                                                              + *

                                                              The version of the intent.

                                                              */ - confirmationPrompt?: Prompt; + version?: string; /** - *

                                                              Describes how the intent is fulfilled. For more information, see PutIntent.

                                                              + *

                                                              An array of sample utterances configured for the intent.

                                                              */ - fulfillmentActivity?: FulfillmentActivity; + sampleUtterances?: string[]; /** *

                                                              If defined in the bot, Amazon Lex uses this prompt to solicit additional user activity after @@ -2350,9 +2369,15 @@ export interface GetIntentResponse { followUpPrompt?: FollowUpPrompt; /** - *

                                                              The version of the intent.

                                                              + *

                                                              The date that the intent was updated. When you create a resource, the creation date and + * the last updated date are the same.

                                                              */ - version?: string; + lastUpdatedDate?: Date; + + /** + *

                                                              Describes how the intent is fulfilled. For more information, see PutIntent.

                                                              + */ + fulfillmentActivity?: FulfillmentActivity; } export namespace GetIntentResponse { @@ -2363,11 +2388,10 @@ 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.

                                                              + *

                                                              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."

                                                              */ - nextToken?: string; + nameContains?: string; /** *

                                                              The maximum number of intents to return in the response. The default is 10.

                                                              @@ -2375,10 +2399,11 @@ export interface GetIntentsRequest { 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."

                                                              + *

                                                              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.

                                                              */ - nameContains?: string; + nextToken?: string; } export namespace GetIntentsRequest { @@ -2392,9 +2417,10 @@ export namespace GetIntentsRequest { */ export interface IntentMetadata { /** - *

                                                              The date that the intent was created.

                                                              + *

                                                              The date that the intent was updated. When you create an intent, the creation date and + * last updated date are the same.

                                                              */ - createdDate?: Date; + lastUpdatedDate?: Date; /** *

                                                              The version of the intent.

                                                              @@ -2402,20 +2428,19 @@ export interface IntentMetadata { version?: 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 created.

                                                              */ - lastUpdatedDate?: Date; + createdDate?: Date; /** - *

                                                              The name of the intent.

                                                              + *

                                                              A description of the intent.

                                                              */ - name?: string; + description?: string; /** - *

                                                              A description of the intent.

                                                              + *

                                                              The name of the intent.

                                                              */ - description?: string; + name?: string; } export namespace IntentMetadata { @@ -2425,16 +2450,16 @@ export namespace IntentMetadata { } export interface GetIntentsResponse { - /** - *

                                                              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.

                                                              */ nextToken?: string; + + /** + *

                                                              An array of Intent objects. For more information, see PutBot.

                                                              + */ + intents?: IntentMetadata[]; } export namespace GetIntentsResponse { @@ -2444,11 +2469,6 @@ export namespace GetIntentsResponse { } export interface GetIntentVersionsRequest { - /** - *

                                                              The name of the intent for which versions should be returned.

                                                              - */ - name: string | undefined; - /** *

                                                              The maximum number of intent versions to return in the response. The default is * 10.

                                                              @@ -2461,6 +2481,11 @@ export interface GetIntentVersionsRequest { * page of versions, specify the pagination token in the next request.

                                                              */ nextToken?: string; + + /** + *

                                                              The name of the intent for which versions should be returned.

                                                              + */ + name: string | undefined; } export namespace GetIntentVersionsRequest { @@ -2492,14 +2517,14 @@ export namespace GetIntentVersionsResponse { export interface GetSlotTypeRequest { /** - *

                                                              The name of the slot type. The name is case sensitive.

                                                              + *

                                                              The version of the slot type.

                                                              */ - name: string | undefined; + version: string | undefined; /** - *

                                                              The version of the slot type.

                                                              + *

                                                              The name of the slot type. The name is case sensitive.

                                                              */ - version: string | undefined; + name: string | undefined; } export namespace GetSlotTypeRequest { @@ -2509,6 +2534,11 @@ export namespace GetSlotTypeRequest { } export interface GetSlotTypeResponse { + /** + *

                                                              The version of the slot type.

                                                              + */ + version?: string; + /** *

                                                              The date that the slot type was updated. When you create a resource, the creation date * and last update date are the same.

                                                              @@ -2516,9 +2546,9 @@ export interface GetSlotTypeResponse { lastUpdatedDate?: Date; /** - *

                                                              The version of the slot type.

                                                              + *

                                                              The built-in slot type used as a parent for the slot type.

                                                              */ - version?: string; + parentSlotTypeSignature?: string; /** *

                                                              The date that the slot type was created.

                                                              @@ -2526,14 +2556,15 @@ export interface GetSlotTypeResponse { createdDate?: Date; /** - *

                                                              Configuration information that extends the parent built-in slot type.

                                                              + *

                                                              A description of the slot type.

                                                              */ - slotTypeConfigurations?: SlotTypeConfiguration[]; + description?: string; /** - *

                                                              A description of the slot type.

                                                              + *

                                                              A list of EnumerationValue objects that defines the values that the slot + * type can take.

                                                              */ - description?: string; + enumerationValues?: EnumerationValue[]; /** *

                                                              The strategy that Amazon Lex uses to determine the value of the slot. For more information, @@ -2542,9 +2573,9 @@ export interface GetSlotTypeResponse { valueSelectionStrategy?: SlotValueSelectionStrategy | string; /** - *

                                                              Checksum of the $LATEST version of the slot type.

                                                              + *

                                                              Configuration information that extends the parent built-in slot type.

                                                              */ - checksum?: string; + slotTypeConfigurations?: SlotTypeConfiguration[]; /** *

                                                              The name of the slot type.

                                                              @@ -2552,15 +2583,9 @@ export interface GetSlotTypeResponse { name?: string; /** - *

                                                              A list of EnumerationValue objects that defines the values that the slot - * type can take.

                                                              - */ - enumerationValues?: EnumerationValue[]; - - /** - *

                                                              The built-in slot type used as a parent for the slot type.

                                                              + *

                                                              Checksum of the $LATEST version of the slot type.

                                                              */ - parentSlotTypeSignature?: string; + checksum?: string; } export namespace GetSlotTypeResponse { @@ -2606,15 +2631,15 @@ export interface SlotTypeMetadata { createdDate?: Date; /** - *

                                                              The date that the slot type was updated. When you create a resource, the creation date - * and last updated date are the same.

                                                              + *

                                                              The version of the slot type.

                                                              */ - lastUpdatedDate?: Date; + version?: string; /** - *

                                                              The version of the slot type.

                                                              + *

                                                              The date that the slot type was updated. When you create a resource, the creation date + * and last updated date are the same.

                                                              */ - version?: string; + lastUpdatedDate?: Date; /** *

                                                              A description of the slot type.

                                                              @@ -2654,6 +2679,13 @@ export namespace GetSlotTypesResponse { } export interface GetSlotTypeVersionsRequest { + /** + *

                                                              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.

                                                              @@ -2664,13 +2696,6 @@ export interface GetSlotTypeVersionsRequest { *

                                                              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.

                                                              - */ - nextToken?: string; } export namespace GetSlotTypeVersionsRequest { @@ -2706,6 +2731,11 @@ export enum StatusType { } export interface GetUtterancesViewRequest { + /** + *

                                                              The name of the bot for which utterance information should be returned.

                                                              + */ + botName: string | undefined; + /** *

                                                              To return utterances that were recognized and handled, use Detected. To * return utterances that were not recognized, use Missed.

                                                              @@ -2717,11 +2747,6 @@ export interface GetUtterancesViewRequest { * is 5 versions per request.

                                                              */ botVersions: string[] | undefined; - - /** - *

                                                              The name of the bot for which utterance information should be returned.

                                                              - */ - botName: string | undefined; } export namespace GetUtterancesViewRequest { @@ -2741,24 +2766,24 @@ export interface UtteranceData { utteranceString?: string; /** - *

                                                              The date that the utterance was first recorded.

                                                              + *

                                                              The date that the utterance was last recorded.

                                                              */ - firstUtteredDate?: Date; + lastUtteredDate?: Date; /** - *

                                                              The total number of individuals that used the utterance.

                                                              + *

                                                              The number of times that the utterance was processed.

                                                              */ - distinctUsers?: number; + count?: number; /** - *

                                                              The number of times that the utterance was processed.

                                                              + *

                                                              The total number of individuals that used the utterance.

                                                              */ - count?: number; + distinctUsers?: number; /** - *

                                                              The date that the utterance was last recorded.

                                                              + *

                                                              The date that the utterance was first recorded.

                                                              */ - lastUtteredDate?: Date; + firstUtteredDate?: Date; } export namespace UtteranceData { @@ -2773,15 +2798,15 @@ export namespace UtteranceData { */ export interface UtteranceList { /** - *

                                                              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.

                                                              + *

                                                              The version of the bot that processed the list.

                                                              */ - utterances?: UtteranceData[]; + botVersion?: string; /** - *

                                                              The version of the bot that processed the list.

                                                              + *

                                                              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.

                                                              */ - botVersion?: string; + utterances?: UtteranceData[]; } export namespace UtteranceList { @@ -2866,95 +2891,6 @@ export enum ProcessBehavior { } export interface PutBotRequest { - /** - *

                                                              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; - - /** - *

                                                              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; - - /** - *

                                                              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; - - /** - *

                                                              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 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 aborts 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 abort statement will not be sent to the user, - * the fallback intent is used instead. For more information, see AMAZON.FallbackIntent.

                                                              - */ - abortStatement?: Statement; - - /** - *

                                                              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; - - /** - *

                                                              The name of the bot. The name is not case sensitive.

                                                              - */ - name: string | undefined; - /** *

                                                              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 @@ -2992,11 +2928,9 @@ export interface PutBotRequest { clarificationPrompt?: Prompt; /** - *

                                                              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.

                                                              + *

                                                              A description of the bot.

                                                              */ - intents?: Intent[]; + description?: string; /** *

                                                              The Amazon Polly voice ID that you want Amazon Lex to use for voice interactions with the @@ -3006,11 +2940,6 @@ export interface PutBotRequest { */ voiceId?: string; - /** - *

                                                              A description of the bot.

                                                              - */ - description?: string; - /** *

                                                              When set to true user utterances are sent to Amazon Comprehend for sentiment * analysis. If you don't specify detectSentiment, the default is @@ -3019,63 +2948,16 @@ export interface PutBotRequest { detectSentiment?: boolean; /** - *

                                                              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; - - /** - *

                                                              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[]; -} - -export namespace PutBotRequest { - export const filterSensitiveLog = (obj: PutBotRequest): any => ({ - ...obj, - }); -} - -export interface PutBotResponse { - /** - *

                                                              The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more - * information, see PutBot.

                                                              - */ - voiceId?: string; - - /** - *

                                                              The prompts that Amazon Lex uses when it doesn't understand the user's intent. For more - * information, see PutBot.

                                                              - */ - clarificationPrompt?: Prompt; - - /** - *

                                                              - * 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; - - /** - *

                                                              Checksum of the bot that you created.

                                                              + *

                                                              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; - /** - *

                                                              A description of the bot.

                                                              - */ - description?: string; - - /** - *

                                                              The target locale for the bot.

                                                              - */ - 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 @@ -3098,29 +2980,203 @@ export interface PutBotResponse { * whole or in part, to children under age 13, see the Amazon Lex FAQ. *

                                                              */ - childDirected?: boolean; + childDirected: boolean | undefined; /** - *

                                                              A list of tags associated with the bot.

                                                              + *

                                                              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[]; + + /** + *

                                                              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; + + /** + *

                                                              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)

                                                                + *
                                                              • + *
                                                              • + *

                                                                US West (Oregon) (us-west-2)

                                                                + *
                                                              • + *
                                                              • + *

                                                                Asia Pacific (Sydney) (ap-southeast-2)

                                                                + *
                                                              • + *
                                                              • + *

                                                                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)

                                                                + *
                                                              • + *
                                                              + */ + enableModelImprovements?: boolean; + + /** + *

                                                              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; + + /** + *

                                                              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.

                                                              + *
                                                                + *
                                                              • + *

                                                                US East (N. Virginia) (us-east-1)

                                                                + *
                                                              • + *
                                                              • + *

                                                                US West (Oregon) (us-west-2)

                                                                + *
                                                              • + *
                                                              • + *

                                                                Asia Pacific (Sydney) (ap-southeast-2)

                                                                + *
                                                              • + *
                                                              • + *

                                                                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:

                                                              + *
                                                                + *
                                                              • + *

                                                                AMAZON.FallbackIntent

                                                                + *
                                                              • + *
                                                              • + *

                                                                IntentA

                                                                + *
                                                              • + *
                                                              • + *

                                                                IntentB

                                                                + *
                                                              • + *
                                                              • + *

                                                                IntentC

                                                                + *
                                                              • + *
                                                              + */ + nluIntentConfidenceThreshold?: number; + + /** + *

                                                              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 name of the bot. The name is not case sensitive.

                                                              + */ + name: string | undefined; + + /** + *

                                                              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[]; /** - *

                                                              If status is FAILED, Amazon Lex provides the reason that it failed - * to build 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.

                                                              */ - failureReason?: string; + locale: Locale | string | undefined; /** - *

                                                              An array of Intent objects. For more information, see PutBot.

                                                              + *

                                                              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.

                                                              */ - intents?: Intent[]; + createVersion?: boolean; +} + +export namespace PutBotRequest { + export const filterSensitiveLog = (obj: PutBotRequest): any => ({ + ...obj, + }); +} +export interface PutBotResponse { /** - *

                                                              The version of the bot. For a new bot, the version is always - * $LATEST.

                                                              + *

                                                              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.

                                                              */ - version?: string; + nluIntentConfidenceThreshold?: number; + + /** + *

                                                              + * 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?: boolean; + + /** + *

                                                              The target locale for the bot.

                                                              + */ + locale?: Locale | string; /** *

                                                              The maximum length of time that Amazon Lex retains the data gathered in a conversation. For @@ -3129,14 +3185,56 @@ export interface PutBotResponse { idleSessionTTLInSeconds?: number; /** - *

                                                              The name of the bot.

                                                              + *

                                                              The version of the bot. For a new bot, the version is always + * $LATEST.

                                                              */ - name?: string; + version?: string; /** - *

                                                              The message that Amazon Lex uses to abort a conversation. For more information, see PutBot.

                                                              + *

                                                              An array of Intent objects. For more information, see PutBot.

                                                              */ - abortStatement?: Statement; + intents?: Intent[]; + + /** + *

                                                              The date that the bot was updated. When you create a resource, the creation date and + * last updated date are the same.

                                                              + */ + lastUpdatedDate?: Date; + + /** + *

                                                              A description of the bot.

                                                              + */ + description?: string; + + /** + *

                                                              A list of tags associated with the bot.

                                                              + */ + tags?: Tag[]; + + /** + *

                                                              + * 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; + + /** + *

                                                              The prompts that Amazon Lex uses when it doesn't understand the user's intent. For more + * information, see PutBot.

                                                              + */ + clarificationPrompt?: Prompt; + + /** + *

                                                              The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more + * information, see PutBot.

                                                              + */ + voiceId?: string; + + /** + *

                                                              The date that the bot was created.

                                                              + */ + createdDate?: Date; /** *

                                                              When you send a request to create a bot with processBehavior set to @@ -3155,23 +3253,55 @@ export interface PutBotResponse { status?: Status | string; /** - *

                                                              The date that the bot was updated. When you create a resource, the creation date and - * last updated date are the same.

                                                              + *

                                                              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. + *

                                                              */ - lastUpdatedDate?: Date; + childDirected?: boolean; /** - *

                                                              - * 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.

                                                              + *

                                                              If status is FAILED, Amazon Lex provides the reason that it failed + * to build the bot.

                                                              */ - createVersion?: boolean; + failureReason?: string; /** - *

                                                              The date that the bot was created.

                                                              + *

                                                              Indicates whether the bot uses accuracy improvements. true + * indicates that the bot is using the improvements, otherwise, false.

                                                              */ - createdDate?: Date; + enableModelImprovements?: boolean; + + /** + *

                                                              The name of the bot.

                                                              + */ + name?: string; + + /** + *

                                                              Checksum of the bot that you created.

                                                              + */ + checksum?: string; + + /** + *

                                                              The message that Amazon Lex uses to cancel a conversation. For more information, see PutBot.

                                                              + */ + abortStatement?: Statement; } export namespace PutBotResponse { @@ -3184,6 +3314,12 @@ export namespace PutBotResponse { *

                                                              Settings used to configure delivery mode and destination for conversation logs.

                                                              */ export interface LogSettingsRequest { + /** + *

                                                              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 CloudWatch Logs log group or S3 bucket where the * logs should be delivered.

                                                              @@ -3191,10 +3327,10 @@ export interface LogSettingsRequest { resourceArn: string | undefined; /** - *

                                                              Where the logs will be delivered. Text logs are delivered to a CloudWatch Logs log group. + *

                                                              The type of logging to enable. Text logs are delivered to a CloudWatch Logs log group. * Audio logs are delivered to an S3 bucket.

                                                              */ - destination: Destination | string | undefined; + logType: LogType | string | undefined; /** *

                                                              The Amazon Resource Name (ARN) of the AWS KMS customer managed key for encrypting audio @@ -3202,12 +3338,6 @@ export interface LogSettingsRequest { * S3 buckets.

                                                              */ kmsKeyArn?: string; - - /** - *

                                                              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; } export namespace LogSettingsRequest { @@ -3220,6 +3350,12 @@ export namespace LogSettingsRequest { *

                                                              Provides the settings needed for conversation logs.

                                                              */ export interface ConversationLogsRequest { + /** + *

                                                              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 @@ -3228,12 +3364,6 @@ export interface ConversationLogsRequest { * for Conversation Logs.

                                                              */ iamRoleArn: string | undefined; - - /** - *

                                                              The settings for your conversation logs. You can log the conversation text, conversation - * audio, or both.

                                                              - */ - logSettings: LogSettingsRequest[] | undefined; } export namespace ConversationLogsRequest { @@ -3249,9 +3379,9 @@ export interface PutBotAliasRequest { botName: string | undefined; /** - *

                                                              The version of the bot.

                                                              + *

                                                              Settings for conversation logs for the alias.

                                                              */ - botVersion: string | undefined; + conversationLogs?: ConversationLogsRequest; /** *

                                                              A description of the alias.

                                                              @@ -3282,9 +3412,9 @@ export interface PutBotAliasRequest { tags?: Tag[]; /** - *

                                                              Settings for conversation logs for the alias.

                                                              + *

                                                              The version of the bot.

                                                              */ - conversationLogs?: ConversationLogsRequest; + botVersion: string | undefined; } export namespace PutBotAliasRequest { @@ -3305,40 +3435,40 @@ export interface PutBotAliasResponse { conversationLogs?: ConversationLogsResponse; /** - *

                                                              The date that the bot alias was updated. When you create a resource, the creation date - * and the last updated date are the same.

                                                              + *

                                                              A list of tags associated with a bot.

                                                              */ - lastUpdatedDate?: Date; + tags?: Tag[]; /** - *

                                                              The name of the bot that the alias points to.

                                                              + *

                                                              The version of the bot that the alias points to.

                                                              */ - botName?: string; + botVersion?: string; /** - *

                                                              The date that the bot alias was created.

                                                              + *

                                                              The name of the alias.

                                                              */ - createdDate?: Date; + name?: string; /** - *

                                                              The version of the bot that the alias points to.

                                                              + *

                                                              The checksum for the current version of the alias.

                                                              */ - botVersion?: string; + checksum?: string; /** - *

                                                              The checksum for the current version of the alias.

                                                              + *

                                                              The date that the bot alias was created.

                                                              */ - checksum?: string; + createdDate?: Date; /** - *

                                                              The name of the alias.

                                                              + *

                                                              The date that the bot alias was updated. When you create a resource, the creation date + * and the last updated date are the same.

                                                              */ - name?: string; + lastUpdatedDate?: Date; /** - *

                                                              A list of tags associated with a bot.

                                                              + *

                                                              The name of the bot that the alias points to.

                                                              */ - tags?: Tag[]; + botName?: string; } export namespace PutBotAliasResponse { @@ -3349,37 +3479,17 @@ export namespace PutBotAliasResponse { export interface PutIntentRequest { /** - *

                                                              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; - - /** - *

                                                              Configuration information required to use the AMAZON.KendraSearchIntent - * intent to connect to an Amazon Kendra index. For more information, see - * AMAZON.KendraSearchIntent.

                                                              - */ - kendraConfiguration?: KendraConfiguration; - - /** - *

                                                              A description of the intent.

                                                              - */ - description?: string; - - /** - *

                                                              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).

                                                              + *

                                                              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.

                                                              + *
                                                              */ - fulfillmentActivity?: FulfillmentActivity; + conclusionStatement?: Statement; /** *

                                                              When set to true a new numbered version of the intent is created. This is @@ -3396,13 +3506,6 @@ export interface PutIntentRequest { */ sampleUtterances?: 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. - *

                                                              - */ - slots?: Slot[]; - /** *

                                                              When the user answers "no" to the question defined in confirmationPrompt, * Amazon Lex responds with this statement to acknowledge that the intent was canceled.

                                                              @@ -3414,14 +3517,17 @@ export interface PutIntentRequest { rejectionStatement?: Statement; /** - *

                                                              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.

                                                              + *

                                                              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.

                                                              */ - name: string | undefined; + parentIntentSignature?: 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. + *

                                                              + */ + slots?: Slot[]; /** *

                                                              Specifies a Lambda function to invoke for each user input. You can invoke this Lambda @@ -3434,6 +3540,64 @@ export interface PutIntentRequest { */ dialogCodeHook?: CodeHook; + /** + *

                                                              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; + + /** + *

                                                              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; + + /** + *

                                                              Configuration information required to use the AMAZON.KendraSearchIntent + * intent to connect to an Amazon Kendra index. For more information, see + * AMAZON.KendraSearchIntent.

                                                              + */ + kendraConfiguration?: KendraConfiguration; + + /** + *

                                                              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 description of the intent.

                                                              + */ + description?: 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.

                                                              + * + *

                                                              You you must provide both the rejectionStatement and the + * confirmationPrompt, or neither.

                                                              + *
                                                              + */ + confirmationPrompt?: Prompt; + /** *

                                                              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 @@ -3462,40 +3626,6 @@ export interface PutIntentRequest { * are mutually exclusive. You can specify only one.

                                                              */ followUpPrompt?: FollowUpPrompt; - - /** - *

                                                              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; - - /** - *

                                                              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.

                                                              - *
                                                              - */ - conclusionStatement?: Statement; - - /** - *

                                                              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.

                                                              - *
                                                              - */ - confirmationPrompt?: Prompt; } export namespace PutIntentRequest { @@ -3506,29 +3636,14 @@ export namespace PutIntentRequest { export interface PutIntentResponse { /** - *

                                                              After the Lambda function specified in thefulfillmentActivityintent - * fulfills the intent, Amazon Lex conveys this statement to the user.

                                                              - */ - conclusionStatement?: Statement; - - /** - *

                                                              - * 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; - - /** - *

                                                              An array of sample utterances that are configured for the intent.

                                                              + *

                                                              The date that the intent was created.

                                                              */ - sampleUtterances?: string[]; + createdDate?: Date; /** - *

                                                              The version of the intent. For a new intent, the version is always - * $LATEST.

                                                              + *

                                                              An array of intent slots that are configured for the intent.

                                                              */ - version?: string; + slots?: Slot[]; /** *

                                                              The date that the intent was updated. When you create a resource, the creation date and @@ -3536,6 +3651,12 @@ export interface PutIntentResponse { */ lastUpdatedDate?: Date; + /** + *

                                                              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; + /** *

                                                              If defined in the intent, Amazon Lex uses this prompt to solicit additional user activity * after the intent is fulfilled.

                                                              @@ -3543,20 +3664,25 @@ export interface PutIntentResponse { followUpPrompt?: FollowUpPrompt; /** - *

                                                              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.

                                                              + *

                                                              A description of the intent.

                                                              */ - fulfillmentActivity?: FulfillmentActivity; + description?: string; /** - *

                                                              A description of the intent.

                                                              + *

                                                              The name of the intent.

                                                              */ - description?: string; + name?: string; /** - *

                                                              An array of intent slots that are configured for the intent.

                                                              + *

                                                              Checksum of the $LATESTversion of the intent created or updated.

                                                              */ - slots?: Slot[]; + checksum?: string; + + /** + *

                                                              If defined in the intent, Amazon Lex invokes this Lambda function for each user + * input.

                                                              + */ + dialogCodeHook?: CodeHook; /** *

                                                              If the user answers "no" to the question defined in confirmationPrompt @@ -3565,42 +3691,46 @@ export interface PutIntentResponse { rejectionStatement?: Statement; /** - *

                                                              The date that the intent was created.

                                                              + *

                                                              + * 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.

                                                              */ - createdDate?: Date; + createVersion?: boolean; /** - *

                                                              If defined in the intent, Amazon Lex prompts the user to confirm the intent before - * fulfilling it.

                                                              + *

                                                              An array of sample utterances that are configured for the intent.

                                                              */ - confirmationPrompt?: Prompt; + sampleUtterances?: string[]; /** - *

                                                              If defined in the intent, Amazon Lex invokes this Lambda function for each user - * input.

                                                              + *

                                                              After the Lambda function specified in thefulfillmentActivityintent + * fulfills the intent, Amazon Lex conveys this statement to the user.

                                                              */ - dialogCodeHook?: CodeHook; + conclusionStatement?: Statement; /** - *

                                                              The name of the intent.

                                                              + *

                                                              A unique identifier for the built-in intent that this intent is based on.

                                                              */ - name?: string; + parentIntentSignature?: string; /** - *

                                                              Checksum of the $LATESTversion of the intent created or updated.

                                                              + *

                                                              Configuration information, if any, required to connect to an Amazon Kendra index and use + * the AMAZON.KendraSearchIntent intent.

                                                              */ - checksum?: string; + kendraConfiguration?: KendraConfiguration; /** - *

                                                              Configuration information, if any, required to connect to an Amazon Kendra - * index and use the AMAZON.KendraSearchIntent intent.

                                                              + *

                                                              The version of the intent. For a new intent, the version is always + * $LATEST.

                                                              */ - kendraConfiguration?: KendraConfiguration; + version?: string; /** - *

                                                              A unique identifier for the built-in intent that this intent is based on.

                                                              + *

                                                              If defined in the intent, Amazon Lex prompts the user to confirm the intent before + * fulfilling it.

                                                              */ - parentIntentSignature?: string; + confirmationPrompt?: Prompt; } export namespace PutIntentResponse { @@ -3617,6 +3747,39 @@ export interface PutSlotTypeRequest { */ 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.

                                                              + *

                                                              Only AMAZON.AlphaNumeric is supported.

                                                              + */ + parentSlotTypeSignature?: 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.

                                                              + */ + enumerationValues?: EnumerationValue[]; + + /** + *

                                                              A description of the slot type.

                                                              + */ + description?: string; + + /** + *

                                                              Configuration information that extends the parent built-in slot type. The configuration is + * added to the settings for the parent slot type.

                                                              + */ + slotTypeConfigurations?: SlotTypeConfiguration[]; + /** *

                                                              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:

                                                              @@ -3639,10 +3802,14 @@ export interface PutSlotTypeRequest { valueSelectionStrategy?: SlotValueSelectionStrategy | string; /** - *

                                                              Configuration information that extends the parent built-in slot type. The configuration is - * added to the settings for the parent slot type.

                                                              + *

                                                              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.

                                                              */ - slotTypeConfigurations?: SlotTypeConfiguration[]; + name: string | undefined; /** *

                                                              Identifies a specific revision of the $LATEST version.

                                                              @@ -3654,41 +3821,6 @@ export interface PutSlotTypeRequest { * version, you get a PreconditionFailedException exception.

                                                              */ checksum?: string; - - /** - *

                                                              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; - - /** - *

                                                              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.

                                                              - *

                                                              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[]; - - /** - *

                                                              A description of the slot type.

                                                              - */ - description?: string; - - /** - *

                                                              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; } export namespace PutSlotTypeRequest { @@ -3704,10 +3836,9 @@ export interface PutSlotTypeResponse { slotTypeConfigurations?: SlotTypeConfiguration[]; /** - *

                                                              The slot resolution strategy that Amazon Lex uses to determine the value of the slot. For - * more information, see PutSlotType.

                                                              + *

                                                              The date that the slot type was created.

                                                              */ - valueSelectionStrategy?: SlotValueSelectionStrategy | string; + createdDate?: Date; /** *

                                                              The date that the slot type was updated. When you create a slot type, the creation date @@ -3716,49 +3847,50 @@ export interface PutSlotTypeResponse { lastUpdatedDate?: Date; /** - *

                                                              A description of the slot type.

                                                              + *

                                                              The slot resolution strategy that Amazon Lex uses to determine the value of the slot. For + * more information, see PutSlotType.

                                                              */ - description?: string; + valueSelectionStrategy?: SlotValueSelectionStrategy | string; /** - *

                                                              Checksum of the $LATEST version of the slot type.

                                                              + *

                                                              A list of EnumerationValue objects that defines the values that the slot + * type can take.

                                                              */ - checksum?: string; + enumerationValues?: EnumerationValue[]; /** - *

                                                              The name of the slot type.

                                                              + *

                                                              + * 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.

                                                              */ - name?: string; + createVersion?: boolean; /** - *

                                                              The version of the slot type. For a new slot type, the version is always - * $LATEST.

                                                              + *

                                                              The built-in slot type used as the parent of the slot type.

                                                              */ - version?: string; + parentSlotTypeSignature?: string; /** - *

                                                              The date that the slot type was created.

                                                              + *

                                                              A description of the slot type.

                                                              */ - createdDate?: Date; + description?: 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.

                                                              + *

                                                              The name of the slot type.

                                                              */ - createVersion?: boolean; + name?: string; /** - *

                                                              The built-in slot type used as the parent of the slot type.

                                                              + *

                                                              Checksum of the $LATEST version of the slot type.

                                                              */ - parentSlotTypeSignature?: string; + checksum?: string; /** - *

                                                              A list of EnumerationValue objects that defines the values that the slot - * type can take.

                                                              + *

                                                              The version of the slot type. For a new slot type, the version is always + * $LATEST.

                                                              */ - enumerationValues?: EnumerationValue[]; + version?: string; } export namespace PutSlotTypeResponse { @@ -3788,13 +3920,6 @@ export interface StartImportRequest { */ resourceType: ResourceType | string | undefined; - /** - *

                                                              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 action that the StartImport operation should take when there * is an existing resource with the same name.

                                                              @@ -3811,6 +3936,13 @@ export interface StartImportRequest { *
                                                            */ mergeStrategy: MergeStrategy | string | undefined; + + /** + *

                                                            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; } export namespace StartImportRequest { @@ -3820,11 +3952,6 @@ export namespace StartImportRequest { } export interface StartImportResponse { - /** - *

                                                            The identifier for the specific import job.

                                                            - */ - 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.

                                                            @@ -3832,14 +3959,19 @@ export interface StartImportResponse { importStatus?: ImportStatus | string; /** - *

                                                            A list of tags added to the imported bot.

                                                            + *

                                                            The identifier for the specific import job.

                                                            */ - tags?: Tag[]; + importId?: string; /** - *

                                                            The type of resource to import.

                                                            + *

                                                            A timestamp for the date and time that the import job was requested.

                                                            */ - resourceType?: ResourceType | string; + createdDate?: Date; + + /** + *

                                                            The action to take when there is a merge conflict.

                                                            + */ + mergeStrategy?: MergeStrategy | string; /** *

                                                            The name given to the import job.

                                                            @@ -3847,14 +3979,14 @@ export interface StartImportResponse { name?: string; /** - *

                                                            A timestamp for the date and time that the import job was requested.

                                                            + *

                                                            A list of tags added to the imported bot.

                                                            */ - createdDate?: Date; + tags?: Tag[]; /** - *

                                                            The action to take when there is a merge conflict.

                                                            + *

                                                            The type of resource to import.

                                                            */ - mergeStrategy?: MergeStrategy | string; + resourceType?: ResourceType | string; } export namespace StartImportResponse { @@ -3891,16 +4023,16 @@ export namespace TagResourceResponse { } export interface UntagResourceRequest { - /** - *

                                                            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.

                                                            */ tagKeys: string[] | undefined; + + /** + *

                                                            The Amazon Resource Name (ARN) of the resource to remove the tags from.

                                                            + */ + resourceArn: string | undefined; } export namespace UntagResourceRequest { 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 1206d6726945..1484ca9b1c50 100644 --- a/clients/client-lex-model-building-service/protocols/Aws_restJson1.ts +++ b/clients/client-lex-model-building-service/protocols/Aws_restJson1.ts @@ -254,15 +254,6 @@ export const serializeAws_restJson1DeleteBotAliasCommand = async ( "Content-Type": "", }; let resolvedPath = "/bots/{botName}/aliases/{name}"; - 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.name !== undefined) { const labelValue: string = input.name; if (labelValue.length <= 0) { @@ -272,6 +263,15 @@ export const serializeAws_restJson1DeleteBotAliasCommand = async ( } else { throw new Error("No value provided for input HTTP label: name."); } + 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({ @@ -293,15 +293,6 @@ export const serializeAws_restJson1DeleteBotChannelAssociationCommand = async ( "Content-Type": "", }; let resolvedPath = "/bots/{botName}/aliases/{botAlias}/channels/{name}"; - 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) { @@ -320,6 +311,15 @@ export const serializeAws_restJson1DeleteBotChannelAssociationCommand = async ( } else { throw new Error("No value provided for input HTTP label: name."); } + 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({ @@ -341,15 +341,6 @@ export const serializeAws_restJson1DeleteBotVersionCommand = async ( "Content-Type": "", }; let resolvedPath = "/bots/{name}/versions/{version}"; - if (input.version !== undefined) { - const labelValue: string = input.version; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: version."); - } - resolvedPath = resolvedPath.replace("{version}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: version."); - } if (input.name !== undefined) { const labelValue: string = input.name; if (labelValue.length <= 0) { @@ -359,6 +350,15 @@ export const serializeAws_restJson1DeleteBotVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: name."); } + if (input.version !== undefined) { + const labelValue: string = input.version; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: version."); + } + resolvedPath = resolvedPath.replace("{version}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: version."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -410,15 +410,6 @@ export const serializeAws_restJson1DeleteIntentVersionCommand = async ( "Content-Type": "", }; let resolvedPath = "/intents/{name}/versions/{version}"; - if (input.name !== undefined) { - const labelValue: string = input.name; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: name."); - } - resolvedPath = resolvedPath.replace("{name}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: name."); - } if (input.version !== undefined) { const labelValue: string = input.version; if (labelValue.length <= 0) { @@ -428,6 +419,15 @@ export const serializeAws_restJson1DeleteIntentVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: version."); } + if (input.name !== undefined) { + const labelValue: string = input.name; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: name."); + } + resolvedPath = resolvedPath.replace("{name}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: name."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -596,15 +596,6 @@ export const serializeAws_restJson1GetBotAliasCommand = async ( "Content-Type": "", }; let resolvedPath = "/bots/{botName}/aliases/{name}"; - 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.name !== undefined) { const labelValue: string = input.name; if (labelValue.length <= 0) { @@ -614,6 +605,15 @@ export const serializeAws_restJson1GetBotAliasCommand = async ( } else { throw new Error("No value provided for input HTTP label: name."); } + 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({ @@ -646,8 +646,8 @@ export const serializeAws_restJson1GetBotAliasesCommand = async ( } const query: any = { ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.nameContains !== undefined && { nameContains: input.nameContains }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nameContains !== undefined && { nameContains: input.nameContains }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -671,14 +671,14 @@ export const serializeAws_restJson1GetBotChannelAssociationCommand = async ( "Content-Type": "", }; let resolvedPath = "/bots/{botName}/aliases/{botAlias}/channels/{name}"; - if (input.name !== undefined) { - const labelValue: string = input.name; + if (input.botName !== undefined) { + const labelValue: string = input.botName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: name."); + throw new Error("Empty value provided for input HTTP label: botName."); } - resolvedPath = resolvedPath.replace("{name}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: name."); + throw new Error("No value provided for input HTTP label: botName."); } if (input.botAlias !== undefined) { const labelValue: string = input.botAlias; @@ -689,14 +689,14 @@ export const serializeAws_restJson1GetBotChannelAssociationCommand = async ( } else { throw new Error("No value provided for input HTTP label: botAlias."); } - if (input.botName !== undefined) { - const labelValue: string = input.botName; + if (input.name !== undefined) { + const labelValue: string = input.name; 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: name."); } - resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{name}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: botName."); + throw new Error("No value provided for input HTTP label: name."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -766,8 +766,8 @@ export const serializeAws_restJson1GetBotsCommand = async ( let resolvedPath = "/bots"; const query: any = { ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.nameContains !== undefined && { nameContains: input.nameContains }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nameContains !== undefined && { nameContains: input.nameContains }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -857,10 +857,10 @@ export const serializeAws_restJson1GetBuiltinIntentsCommand = async ( }; let resolvedPath = "/builtins/intents"; const query: any = { + ...(input.signatureContains !== undefined && { signatureContains: input.signatureContains }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.locale !== undefined && { locale: input.locale }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.signatureContains !== undefined && { signatureContains: input.signatureContains }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -885,10 +885,10 @@ export const serializeAws_restJson1GetBuiltinSlotTypesCommand = async ( }; let resolvedPath = "/builtins/slottypes"; const query: any = { - ...(input.locale !== undefined && { locale: input.locale }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.signatureContains !== undefined && { signatureContains: input.signatureContains }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.locale !== undefined && { locale: input.locale }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -915,8 +915,8 @@ export const serializeAws_restJson1GetExportCommand = async ( const query: any = { ...(input.exportType !== undefined && { exportType: input.exportType }), ...(input.version !== undefined && { version: input.version }), - ...(input.name !== undefined && { name: input.name }), ...(input.resourceType !== undefined && { resourceType: input.resourceType }), + ...(input.name !== undefined && { name: input.name }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -970,15 +970,6 @@ export const serializeAws_restJson1GetIntentCommand = async ( "Content-Type": "", }; let resolvedPath = "/intents/{name}/versions/{version}"; - if (input.name !== undefined) { - const labelValue: string = input.name; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: name."); - } - resolvedPath = resolvedPath.replace("{name}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: name."); - } if (input.version !== undefined) { const labelValue: string = input.version; if (labelValue.length <= 0) { @@ -988,6 +979,15 @@ export const serializeAws_restJson1GetIntentCommand = async ( } else { throw new Error("No value provided for input HTTP label: version."); } + if (input.name !== undefined) { + const labelValue: string = input.name; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: name."); + } + resolvedPath = resolvedPath.replace("{name}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: name."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1010,9 +1010,9 @@ export const serializeAws_restJson1GetIntentsCommand = async ( }; let resolvedPath = "/intents"; const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nameContains !== undefined && { nameContains: input.nameContains }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1071,15 +1071,6 @@ export const serializeAws_restJson1GetSlotTypeCommand = async ( "Content-Type": "", }; let resolvedPath = "/slottypes/{name}/versions/{version}"; - if (input.name !== undefined) { - const labelValue: string = input.name; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: name."); - } - resolvedPath = resolvedPath.replace("{name}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: name."); - } if (input.version !== undefined) { const labelValue: string = input.version; if (labelValue.length <= 0) { @@ -1089,6 +1080,15 @@ export const serializeAws_restJson1GetSlotTypeCommand = async ( } else { throw new Error("No value provided for input HTTP label: version."); } + if (input.name !== undefined) { + const labelValue: string = input.name; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: name."); + } + resolvedPath = resolvedPath.replace("{name}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: name."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1147,8 +1147,8 @@ export const serializeAws_restJson1GetSlotTypeVersionsCommand = async ( throw new Error("No value provided for input HTTP label: name."); } 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(); @@ -1260,9 +1260,13 @@ export const serializeAws_restJson1PutBotCommand = async ( ...(input.createVersion !== undefined && { createVersion: input.createVersion }), ...(input.description !== undefined && { description: input.description }), ...(input.detectSentiment !== undefined && { detectSentiment: input.detectSentiment }), + ...(input.enableModelImprovements !== undefined && { enableModelImprovements: input.enableModelImprovements }), ...(input.idleSessionTTLInSeconds !== undefined && { idleSessionTTLInSeconds: input.idleSessionTTLInSeconds }), ...(input.intents !== undefined && { intents: serializeAws_restJson1IntentList(input.intents, context) }), ...(input.locale !== undefined && { locale: input.locale }), + ...(input.nluIntentConfidenceThreshold !== undefined && { + nluIntentConfidenceThreshold: input.nluIntentConfidenceThreshold, + }), ...(input.processBehavior !== undefined && { processBehavior: input.processBehavior }), ...(input.tags !== undefined && { tags: serializeAws_restJson1TagList(input.tags, context) }), ...(input.voiceId !== undefined && { voiceId: input.voiceId }), @@ -1541,6 +1545,7 @@ export const deserializeAws_restJson1CreateBotVersionCommand = async ( createdDate: undefined, description: undefined, detectSentiment: undefined, + enableModelImprovements: undefined, failureReason: undefined, idleSessionTTLInSeconds: undefined, intents: undefined, @@ -1573,6 +1578,9 @@ export const deserializeAws_restJson1CreateBotVersionCommand = async ( if (data.detectSentiment !== undefined && data.detectSentiment !== null) { contents.detectSentiment = data.detectSentiment; } + if (data.enableModelImprovements !== undefined && data.enableModelImprovements !== null) { + contents.enableModelImprovements = data.enableModelImprovements; + } if (data.failureReason !== undefined && data.failureReason !== null) { contents.failureReason = data.failureReason; } @@ -2780,12 +2788,14 @@ export const deserializeAws_restJson1GetBotCommand = async ( createdDate: undefined, description: undefined, detectSentiment: undefined, + enableModelImprovements: undefined, failureReason: undefined, idleSessionTTLInSeconds: undefined, intents: undefined, lastUpdatedDate: undefined, locale: undefined, name: undefined, + nluIntentConfidenceThreshold: undefined, status: undefined, version: undefined, voiceId: undefined, @@ -2812,6 +2822,9 @@ export const deserializeAws_restJson1GetBotCommand = async ( if (data.detectSentiment !== undefined && data.detectSentiment !== null) { contents.detectSentiment = data.detectSentiment; } + if (data.enableModelImprovements !== undefined && data.enableModelImprovements !== null) { + contents.enableModelImprovements = data.enableModelImprovements; + } if (data.failureReason !== undefined && data.failureReason !== null) { contents.failureReason = data.failureReason; } @@ -2830,6 +2843,9 @@ export const deserializeAws_restJson1GetBotCommand = async ( if (data.name !== undefined && data.name !== null) { contents.name = data.name; } + if (data.nluIntentConfidenceThreshold !== undefined && data.nluIntentConfidenceThreshold !== null) { + contents.nluIntentConfidenceThreshold = data.nluIntentConfidenceThreshold; + } if (data.status !== undefined && data.status !== null) { contents.status = data.status; } @@ -4643,12 +4659,14 @@ export const deserializeAws_restJson1PutBotCommand = async ( createdDate: undefined, description: undefined, detectSentiment: undefined, + enableModelImprovements: undefined, failureReason: undefined, idleSessionTTLInSeconds: undefined, intents: undefined, lastUpdatedDate: undefined, locale: undefined, name: undefined, + nluIntentConfidenceThreshold: undefined, status: undefined, tags: undefined, version: undefined, @@ -4679,6 +4697,9 @@ export const deserializeAws_restJson1PutBotCommand = async ( if (data.detectSentiment !== undefined && data.detectSentiment !== null) { contents.detectSentiment = data.detectSentiment; } + if (data.enableModelImprovements !== undefined && data.enableModelImprovements !== null) { + contents.enableModelImprovements = data.enableModelImprovements; + } if (data.failureReason !== undefined && data.failureReason !== null) { contents.failureReason = data.failureReason; } @@ -4697,6 +4718,9 @@ export const deserializeAws_restJson1PutBotCommand = async ( if (data.name !== undefined && data.name !== null) { contents.name = data.name; } + if (data.nluIntentConfidenceThreshold !== undefined && data.nluIntentConfidenceThreshold !== null) { + contents.nluIntentConfidenceThreshold = data.nluIntentConfidenceThreshold; + } if (data.status !== undefined && data.status !== null) { contents.status = data.status; } diff --git a/clients/client-lex-runtime-service/models/models_0.ts b/clients/client-lex-runtime-service/models/models_0.ts index d6ccfaf18577..d201d166df19 100644 --- a/clients/client-lex-runtime-service/models/models_0.ts +++ b/clients/client-lex-runtime-service/models/models_0.ts @@ -38,6 +38,11 @@ export namespace ConflictException { } export interface DeleteSessionRequest { + /** + *

                                                            The alias in use for the bot that contains the session data.

                                                            + */ + botAlias: string | undefined; + /** *

                                                            The identifier of the user associated with the session data.

                                                            */ @@ -47,11 +52,6 @@ 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.

                                                            - */ - botAlias: string | undefined; } export namespace DeleteSessionRequest { @@ -66,11 +66,6 @@ export interface DeleteSessionResponse { */ botAlias?: string; - /** - *

                                                            The unique identifier for the session.

                                                            - */ - sessionId?: string; - /** *

                                                            The ID of the client application user.

                                                            */ @@ -80,6 +75,11 @@ export interface DeleteSessionResponse { *

                                                            The name of the bot associated with the session data.

                                                            */ botName?: string; + + /** + *

                                                            The unique identifier for the session.

                                                            + */ + sessionId?: string; } export namespace DeleteSessionResponse { @@ -136,6 +136,17 @@ export namespace NotFoundException { } export interface GetSessionRequest { + /** + *

                                                            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; + /** *

                                                            The name of the bot that contains the session data.

                                                            */ @@ -148,17 +159,6 @@ export interface GetSessionRequest { * to that string are returned.

                                                            */ checkpointLabelFilter?: string; - - /** - *

                                                            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; } export namespace GetSessionRequest { @@ -196,49 +196,43 @@ export enum DialogActionType { */ export interface DialogAction { /** - *

                                                            The name of the slot that should be elicited from the user.

                                                            - */ - slotToElicit?: string; - - /** - *

                                                            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.

                                                            + *

                                                            Map of the slots that have been gathered and their values.

                                                            */ - message?: string; + slots?: { [key: string]: 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.

                                                                + * 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; + messageFormat?: MessageFormatType | string; + + /** + *

                                                              The name of the intent.

                                                              + */ + intentName?: string; + + /** + *

                                                              The name of the slot that should be elicited from the user.

                                                              + */ + slotToElicit?: string; /** *

                                                              The fulfillment state of the intent. The possible values are:

                                                              @@ -263,45 +257,51 @@ export interface DialogAction { fulfillmentState?: FulfillmentState | string; /** - *

                                                              Map of the slots that have been gathered and their values.

                                                              - */ - slots?: { [key: string]: string }; - - /** - *

                                                              The name of the intent.

                                                              - */ - intentName?: 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 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; } export namespace DialogAction { export const filterSensitiveLog = (obj: DialogAction): any => ({ ...obj, - ...(obj.message && { message: SENSITIVE_STRING }), ...(obj.slots && { slots: SENSITIVE_STRING }), + ...(obj.message && { message: SENSITIVE_STRING }), }); } @@ -317,6 +317,48 @@ export enum ConfirmationStatus { * intent to its previous state.

                                                                */ export interface IntentSummary { + /** + *

                                                                A user-defined label that identifies a particular intent. You can use this label to return + * to a previous intent.

                                                                + *

                                                                Use the checkpointLabelFilter parameter of the GetSessionRequest + * operation to filter the intents returned by the operation to those with only the specified + * label.

                                                                + */ + checkpointLabel?: 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 + * intent, Amazon Lex sets this value to Denied. The possible values are:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * Confirmed - The user has responded "Yes" to the confirmation prompt, + * confirming that the intent is complete and that it is ready to be fulfilled.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Denied - The user has responded "No" to the confirmation prompt.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * None - The user has never been prompted for confirmation; or, the user + * was prompted but did not confirm or deny the prompt.

                                                                  + *
                                                                • + *
                                                                + */ + confirmationStatus?: ConfirmationStatus | string; + + /** + *

                                                                The name of the intent.

                                                                + */ + intentName?: string; + + /** + *

                                                                Map of the slots that have been gathered and their values.

                                                                + */ + slots?: { [key: string]: string }; + /** *

                                                                The fulfillment state of the intent. The possible values are:

                                                                *
                                                                  @@ -339,6 +381,12 @@ export interface IntentSummary { */ fulfillmentState?: FulfillmentState | string; + /** + *

                                                                  The next slot to elicit from the user. If there is not slot to elicit, the field is + * blank.

                                                                  + */ + slotToElicit?: string; + /** *

                                                                  The next action that the bot should take in its interaction with the user. The possible * values are:

                                                                  @@ -368,54 +416,6 @@ export interface IntentSummary { *
                                                                */ dialogActionType: DialogActionType | string | undefined; - - /** - *

                                                                A user-defined label that identifies a particular intent. You can use this label to return - * to a previous intent.

                                                                - *

                                                                Use the checkpointLabelFilter parameter of the GetSessionRequest - * operation to filter the intents returned by the operation to those with only the specified - * label.

                                                                - */ - checkpointLabel?: string; - - /** - *

                                                                The next slot to elicit from the user. If there is not slot to elicit, the field is - * blank.

                                                                - */ - slotToElicit?: 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 - * intent, Amazon Lex sets this value to Denied. The possible values are:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * Confirmed - The user has responded "Yes" to the confirmation prompt, - * confirming that the intent is complete and that it is ready to be fulfilled.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Denied - The user has responded "No" to the confirmation prompt.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * None - The user has never been prompted for confirmation; or, the user - * was prompted but did not confirm or deny the prompt.

                                                                  - *
                                                                • - *
                                                                - */ - confirmationStatus?: ConfirmationStatus | string; - - /** - *

                                                                The name of the intent.

                                                                - */ - intentName?: string; } export namespace IntentSummary { @@ -431,11 +431,6 @@ export interface GetSessionResponse { */ dialogAction?: DialogAction; - /** - *

                                                                A unique identifier for the session.

                                                                - */ - sessionId?: string; - /** *

                                                                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 @@ -446,6 +441,11 @@ export interface GetSessionResponse { */ recentIntentSummaryView?: IntentSummary[]; + /** + *

                                                                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.

                                                                @@ -539,17 +539,40 @@ export namespace NotAcceptableException { export interface PostContentRequest { /** - *

                                                                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.

                                                                + *

                                                                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.

                                                                */ - inputStream: Readable | ReadableStream | Blob | undefined; + requestAttributes?: __LazyJsonString | string; /** - *

                                                                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 + *

                                                                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.

                                                                + */ + 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.

                                                                @@ -559,61 +582,33 @@ export interface PostContentRequest { 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 Accept HTTP header.

                                                                - *

                                                                The message Amazon Lex returns in the response can be either text or speech based on the - * Accept HTTP header value in the request.

                                                                + *

                                                                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.

                                                                + *

                                                                To decide the user ID to use for your application, consider the following factors.

                                                                *
                                                                  *
                                                                • - *

                                                                  If the value is text/plain; charset=utf-8, Amazon Lex returns text in the - * response.

                                                                  + *

                                                                  The userID field must not contain any personally identifiable information + * of the user, for example, name, personal identification numbers, or other end user + * personal information.

                                                                  *
                                                                • *
                                                                • - *

                                                                  If the value begins with audio/, Amazon Lex returns speech in the response. - * Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in the - * Accept header). For example, if you specify audio/mpeg as the - * value, Amazon Lex returns speech in the MPEG format.

                                                                  + *

                                                                  If you want a user to start a conversation on one device and continue on another + * device, use a user-specific identifier.

                                                                  *
                                                                • *
                                                                • - *

                                                                  If the value is audio/pcm, the speech returned is audio/pcm - * in 16-bit, little endian format. - *

                                                                  + *

                                                                  If you want the same user to be able to have two independent conversations on two + * different devices, choose a device-specific identifier.

                                                                  *
                                                                • *
                                                                • - *

                                                                  The following are the accepted values:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    audio/mpeg

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    audio/ogg

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    audio/pcm

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    text/plain; charset=utf-8

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    audio/* (defaults to mpeg)

                                                                    - *
                                                                  • - *
                                                                  + *

                                                                  A user can't have two independent conversations with two different versions of the + * same bot. For example, a user can't have a conversation with the PROD and BETA versions of + * the same bot. If you anticipate that a user will need to have conversation with two + * different versions, for example, while testing, include the bot alias in the user ID to + * separate the two conversations.

                                                                  *
                                                                • *
                                                                */ - accept?: string; + userId: string | undefined; /** *

                                                                You pass this value as the Content-Type HTTP header.

                                                                @@ -657,50 +652,55 @@ export interface PostContentRequest { contentType: 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.

                                                                - *

                                                                To decide the user ID to use for your application, consider the following factors.

                                                                + *

                                                                You pass this value as the Accept HTTP header.

                                                                + *

                                                                The message Amazon Lex returns in the response can be either text or speech based on the + * Accept HTTP header value in the request.

                                                                *
                                                                  *
                                                                • - *

                                                                  The userID field must not contain any personally identifiable information - * of the user, for example, name, personal identification numbers, or other end user - * personal information.

                                                                  + *

                                                                  If the value is text/plain; charset=utf-8, Amazon Lex returns text in the + * response.

                                                                  *
                                                                • *
                                                                • - *

                                                                  If you want a user to start a conversation on one device and continue on another - * device, use a user-specific identifier.

                                                                  + *

                                                                  If the value begins with audio/, Amazon Lex returns speech in the response. + * Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in the + * Accept header). For example, if you specify audio/mpeg as the + * value, Amazon Lex returns speech in the MPEG format.

                                                                  *
                                                                • *
                                                                • - *

                                                                  If you want the same user to be able to have two independent conversations on two - * different devices, choose a device-specific identifier.

                                                                  + *

                                                                  If the value is audio/pcm, the speech returned is audio/pcm + * in 16-bit, little endian format. + *

                                                                  *
                                                                • *
                                                                • - *

                                                                  A user can't have two independent conversations with two different versions of the - * same bot. For example, a user can't have a conversation with the PROD and BETA versions of - * the same bot. If you anticipate that a user will need to have conversation with two - * different versions, for example, while testing, include the bot alias in the user ID to - * separate the two conversations.

                                                                  + *

                                                                  The following are the accepted values:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    audio/mpeg

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    audio/ogg

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    audio/pcm

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    text/plain; charset=utf-8

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    audio/* (defaults to mpeg)

                                                                    + *
                                                                  • + *
                                                                  *
                                                                • *
                                                                */ - userId: string | undefined; - - /** - *

                                                                Name of the Amazon Lex bot.

                                                                - */ - botName: string | undefined; - - /** - *

                                                                Alias of the Amazon Lex bot.

                                                                - */ - botAlias: string | undefined; + accept?: string; } export namespace PostContentRequest { export const filterSensitiveLog = (obj: PostContentRequest): any => ({ ...obj, - ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), ...(obj.requestAttributes && { requestAttributes: SENSITIVE_STRING }), + ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), }); } @@ -714,6 +714,53 @@ 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.

                                                                @@ -731,6 +778,22 @@ export interface PostContentResponse { */ message?: 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 an utterance.

                                                                + *

                                                                When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, + * this field contains the result of the analysis.

                                                                + */ + sentimentResponse?: string; + /** *

                                                                Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input * during the conversation. The field is base-64 encoded.

                                                                @@ -746,14 +809,29 @@ export interface PostContentResponse { slots?: __LazyJsonString | 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.

                                                                + *

                                                                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.

                                                                */ - audioStream?: Readable | ReadableStream | Blob; + inputTranscript?: string; + + /** + *

                                                                If the dialogState value is ElicitSlot, returns the name of the + * slot for which Amazon Lex is eliciting a value.

                                                                + */ + slotToElicit?: string; + + /** + *

                                                                Map of key/value pairs representing the session-specific context information.

                                                                + */ + sessionAttributes?: __LazyJsonString | string; + + /** + *

                                                                The unique identifier for the session.

                                                                + */ + sessionId?: string; /** *

                                                                Identifies the current state of the user interaction. Amazon Lex returns one of the following @@ -813,66 +891,12 @@ export interface PostContentResponse { intentName?: 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.

                                                                - */ - inputTranscript?: 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.

                                                                + *

                                                                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.

                                                                */ - contentType?: string; - - /** - *

                                                                The unique identifier for the session.

                                                                - */ - sessionId?: string; - - /** - *

                                                                Map of key/value pairs representing the session-specific context information.

                                                                - */ - sessionAttributes?: __LazyJsonString | 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?: string; - - /** - *

                                                                If the dialogState value is ElicitSlot, returns the name of the - * slot for which Amazon Lex is eliciting a value.

                                                                - */ - slotToElicit?: string; + nluIntentConfidence?: __LazyJsonString | string; } export namespace PostContentResponse { @@ -943,19 +967,23 @@ export interface PostTextRequest { userId: string | undefined; /** - *

                                                                The text that the user entered (Amazon Lex interprets this text).

                                                                + *

                                                                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 + * request attributes with the prefix x-amz-lex:.

                                                                + *

                                                                For more information, see Setting Request + * Attributes.

                                                                */ - inputText: string | undefined; + requestAttributes?: { [key: string]: string }; /** - *

                                                                The name of the Amazon Lex bot.

                                                                + *

                                                                The alias of the Amazon Lex bot.

                                                                */ - botName: string | undefined; + botAlias: string | undefined; /** - *

                                                                The alias of the Amazon Lex bot.

                                                                + *

                                                                The text that the user entered (Amazon Lex interprets this text).

                                                                */ - botAlias: string | undefined; + inputText: string | undefined; /** *

                                                                Application-specific information passed between Amazon Lex and a client application.

                                                                @@ -965,21 +993,64 @@ export interface PostTextRequest { 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 - * request attributes with the prefix x-amz-lex:.

                                                                - *

                                                                For more information, see Setting Request - * Attributes.

                                                                + *

                                                                The name of the Amazon Lex bot.

                                                                */ - requestAttributes?: { [key: string]: string }; + botName: string | undefined; } export namespace PostTextRequest { export const filterSensitiveLog = (obj: PostTextRequest): any => ({ ...obj, + ...(obj.requestAttributes && { requestAttributes: SENSITIVE_STRING }), ...(obj.inputText && { inputText: SENSITIVE_STRING }), ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING }), - ...(obj.requestAttributes && { requestAttributes: SENSITIVE_STRING }), + }); +} + +/** + *

                                                                Provides a score that indicates the confidence that Amazon Lex has that an intent is the one + * that satisfies the user's intent.

                                                                + */ +export interface IntentConfidence { + /** + *

                                                                A score that indicates how confident Amazon Lex is that an intent satisfies the user's intent. + * Ranges between 0.00 and 1.00. Higher scores indicate higher confidence.

                                                                + */ + score?: number; +} + +export namespace IntentConfidence { + export const filterSensitiveLog = (obj: IntentConfidence): any => ({ + ...obj, + }); +} + +/** + *

                                                                An intent that Amazon Lex suggests satisfies the user's intent. Includes the name of the + * intent, the confidence that Amazon Lex has that the user's intent is satisfied, and the slots + * defined for the intent.

                                                                + */ +export interface PredictedIntent { + /** + *

                                                                The slot and slot values associated with the predicted intent.

                                                                + */ + slots?: { [key: string]: string }; + + /** + *

                                                                Indicates how confident Amazon Lex is that an intent satisfies the user's intent.

                                                                + */ + nluIntentConfidence?: IntentConfidence; + + /** + *

                                                                The name of the intent that Amazon Lex suggests satisfies the user's intent.

                                                                + */ + intentName?: string; +} + +export namespace PredictedIntent { + export const filterSensitiveLog = (obj: PredictedIntent): any => ({ + ...obj, + ...(obj.slots && { slots: SENSITIVE_STRING }), }); } @@ -992,15 +1063,15 @@ export enum ContentType { */ export interface Button { /** - *

                                                                The value sent to Amazon Lex when a user chooses the button. For example, consider button - * text "NYC." When the user chooses the button, the value sent can be "New York City."

                                                                + *

                                                                Text that is visible to the user on the button.

                                                                */ - value: string | undefined; + text: string | undefined; /** - *

                                                                Text that is visible to the user on the button.

                                                                + *

                                                                The value sent to Amazon Lex when a user chooses the button. For example, consider button + * text "NYC." When the user chooses the button, the value sent can be "New York City."

                                                                */ - text: string | undefined; + value: string | undefined; } export namespace Button { @@ -1015,9 +1086,9 @@ export namespace Button { */ export interface GenericAttachment { /** - *

                                                                The title of the option.

                                                                + *

                                                                The subtitle shown below the title.

                                                                */ - title?: string; + subTitle?: string; /** *

                                                                The URL of an attachment to the response card.

                                                                @@ -1025,19 +1096,19 @@ export interface GenericAttachment { attachmentLinkUrl?: 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[]; /** - *

                                                                The list of options to show to the user.

                                                                + *

                                                                The title of the option.

                                                                */ - buttons?: Button[]; + title?: string; /** - *

                                                                The subtitle shown below the title.

                                                                + *

                                                                The URL of an image that is displayed to the user.

                                                                */ - subTitle?: string; + imageUrl?: string; } export namespace GenericAttachment { @@ -1053,6 +1124,11 @@ export namespace GenericAttachment { * on an intent).

                                                                */ export interface ResponseCard { + /** + *

                                                                The content type of the response.

                                                                + */ + contentType?: ContentType | string; + /** *

                                                                The version of the response card format.

                                                                */ @@ -1062,93 +1138,38 @@ export interface ResponseCard { *

                                                                An array of attachment objects representing options.

                                                                */ genericAttachments?: GenericAttachment[]; - - /** - *

                                                                The content type of the response.

                                                                - */ - contentType?: ContentType | string; } export namespace ResponseCard { export const filterSensitiveLog = (obj: ResponseCard): any => ({ ...obj, - }); -} - -/** - *

                                                                The sentiment expressed in an utterance.

                                                                - *

                                                                When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, - * this field structure contains the result of the analysis.

                                                                - */ -export interface SentimentResponse { - /** - *

                                                                The likelihood that the sentiment was correctly inferred.

                                                                - */ - sentimentScore?: string; - - /** - *

                                                                The inferred sentiment that Amazon Comprehend has the highest confidence in.

                                                                - */ - sentimentLabel?: string; -} - -export namespace SentimentResponse { - export const filterSensitiveLog = (obj: SentimentResponse): any => ({ - ...obj, - }); -} - -export interface PostTextResponse { - /** - *

                                                                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 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.

                                                                - */ - message?: 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.

                                                                - */ - slots?: { [key: string]: string }; + }); +} +/** + *

                                                                The sentiment expressed in an utterance.

                                                                + *

                                                                When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, + * this field structure contains the result of the analysis.

                                                                + */ +export interface SentimentResponse { /** - *

                                                                Represents the options that the user has to respond to the current prompt. Response Card - * can come from the bot configuration (in the Amazon Lex console, choose the settings button next - * to a slot) or from a code hook (Lambda function).

                                                                + *

                                                                The inferred sentiment that Amazon Comprehend has the highest confidence in.

                                                                */ - responseCard?: ResponseCard; + sentimentLabel?: 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.

                                                                + *

                                                                The likelihood that the sentiment was correctly inferred.

                                                                */ - sentimentResponse?: SentimentResponse; + sentimentScore?: string; +} - /** - *

                                                                If the dialogState value is ElicitSlot, returns the name of the - * slot for which Amazon Lex is eliciting a value.

                                                                - */ - slotToElicit?: string; +export namespace SentimentResponse { + export const filterSensitiveLog = (obj: SentimentResponse): any => ({ + ...obj, + }); +} +export interface PostTextResponse { /** *

                                                                The format of the response message. One of the following values:

                                                                *
                                                                  @@ -1176,14 +1197,33 @@ export interface PostTextResponse { messageFormat?: MessageFormatType | string; /** - *

                                                                  A unique identifier for the session.

                                                                  + *

                                                                  The current user intent that Amazon Lex is aware of.

                                                                  */ - sessionId?: string; + intentName?: string; /** - *

                                                                  A map of key-value pairs representing the session-specific context information.

                                                                  + *

                                                                  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.

                                                                  */ - sessionAttributes?: { [key: string]: string }; + alternativeIntents?: PredictedIntent[]; + + /** + *

                                                                  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 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.

                                                                  + */ + message?: string; /** *

                                                                  Identifies the current state of the user interaction. Amazon Lex returns one of the following @@ -1237,71 +1277,81 @@ export interface PostTextResponse { dialogState?: DialogState | string; /** - *

                                                                  The current user intent that Amazon Lex is aware of.

                                                                  + *

                                                                  A unique identifier for the session.

                                                                  */ - intentName?: string; -} + sessionId?: string; -export namespace PostTextResponse { - export const filterSensitiveLog = (obj: PostTextResponse): any => ({ - ...obj, - ...(obj.message && { message: SENSITIVE_STRING }), - ...(obj.slots && { slots: SENSITIVE_STRING }), - ...(obj.sessionAttributes && { sessionAttributes: SENSITIVE_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; -export interface PutSessionRequest { /** - *

                                                                  The ID of the client application user. Amazon Lex uses this to identify a user's conversation - * with your bot.

                                                                  + *

                                                                  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.

                                                                  */ - userId: string | undefined; + sentimentResponse?: SentimentResponse; /** - *

                                                                  The name of the bot that contains the session data.

                                                                  + *

                                                                  Represents the options that the user has to respond to the current prompt. Response Card + * can come from the bot configuration (in the Amazon Lex console, choose the settings button next + * to a slot) or from a code hook (Lambda function).

                                                                  */ - botName: string | undefined; + responseCard?: ResponseCard; /** - *

                                                                  The alias in use for the bot that contains the session data.

                                                                  + *

                                                                  A map of key-value pairs representing the session-specific context information.

                                                                  */ - botAlias: string | undefined; + sessionAttributes?: { [key: string]: string }; /** - *

                                                                  Sets the next action that the bot should take to fulfill the conversation.

                                                                  + *

                                                                  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.

                                                                  */ - dialogAction?: DialogAction; + nluIntentConfidence?: IntentConfidence; /** - *

                                                                  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.

                                                                  + *

                                                                  If the dialogState value is ElicitSlot, returns the name of the + * slot for which Amazon Lex is eliciting a value.

                                                                  */ - recentIntentSummaryView?: IntentSummary[]; + slotToElicit?: 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.

                                                                  + */ + slots?: { [key: string]: string }; +} + +export namespace PostTextResponse { + export const filterSensitiveLog = (obj: PostTextResponse): any => ({ + ...obj, + ...(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 }), + }); +} +export interface PutSessionRequest { /** *

                                                                  The message that Amazon Lex returns in the response can be either text or speech based * depending on the value of this field.

                                                                  @@ -1353,11 +1403,61 @@ 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.

                                                                  + */ + 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; } export namespace PutSessionRequest { @@ -1373,18 +1473,14 @@ export namespace PutSessionRequest { export interface PutSessionResponse { /** - *

                                                                  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.

                                                                  + *

                                                                  Content type as specified in the Accept HTTP header in the request.

                                                                  */ - slots?: __LazyJsonString | string; + contentType?: string; + + /** + *

                                                                  The name of the current intent.

                                                                  + */ + intentName?: string; /** *

                                                                  The format of the response message. One of the following values:

                                                                  @@ -1412,9 +1508,9 @@ export interface PutSessionResponse { messageFormat?: MessageFormatType | string; /** - *

                                                                  The name of the current intent.

                                                                  + *

                                                                  Map of key/value pairs representing session-specific context information.

                                                                  */ - intentName?: string; + sessionAttributes?: __LazyJsonString | string; /** *

                                                                  A unique identifier for the session.

                                                                  @@ -1422,9 +1518,29 @@ export interface PutSessionResponse { sessionId?: string; /** - *

                                                                  Map of key/value pairs representing session-specific context information.

                                                                  + *

                                                                  If the dialogState is ElicitSlot, returns the name of the slot + * for which Amazon Lex is eliciting a value.

                                                                  */ - sessionAttributes?: __LazyJsonString | string; + 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; /** *

                                                                  @@ -1467,22 +1583,6 @@ export interface PutSessionResponse { *

                                                                  The audio version of the message to convey to the user.

                                                                  */ audioStream?: Readable | ReadableStream | Blob; - - /** - *

                                                                  The next message that should be presented to the user.

                                                                  - */ - message?: string; - - /** - *

                                                                  Content type as specified in the Accept HTTP header in the request.

                                                                  - */ - contentType?: string; - - /** - *

                                                                  If the dialogState is ElicitSlot, returns the name of the slot - * for which Amazon Lex is eliciting a value.

                                                                  - */ - slotToElicit?: string; } export namespace PutSessionResponse { diff --git a/clients/client-lex-runtime-service/protocols/Aws_restJson1.ts b/clients/client-lex-runtime-service/protocols/Aws_restJson1.ts index 39fd10a8ddc3..c302025e9ab5 100644 --- a/clients/client-lex-runtime-service/protocols/Aws_restJson1.ts +++ b/clients/client-lex-runtime-service/protocols/Aws_restJson1.ts @@ -11,12 +11,14 @@ import { DependencyFailedException, DialogAction, GenericAttachment, + IntentConfidence, IntentSummary, InternalFailureException, LimitExceededException, LoopDetectedException, NotAcceptableException, NotFoundException, + PredictedIntent, RequestTimeoutException, ResponseCard, SentimentResponse, @@ -43,6 +45,15 @@ export const serializeAws_restJson1DeleteSessionCommand = async ( "Content-Type": "", }; let resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/session"; + 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) { @@ -61,15 +72,6 @@ export const serializeAws_restJson1DeleteSessionCommand = 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."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -91,15 +93,6 @@ 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) { @@ -118,6 +111,15 @@ 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 }), }; @@ -142,24 +144,24 @@ export const serializeAws_restJson1PostContentCommand = async ( const headers: any = { "Content-Type": "application/octet-stream", "x-amz-content-sha256": "UNSIGNED-PAYLOAD", - ...(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.accept) && { Accept: input.accept! }), + ...(isSerializableHeaderValue(input.sessionAttributes) && { + "x-amz-lex-session-attributes": __LazyJsonString.fromObject(input.sessionAttributes!), + }), ...(isSerializableHeaderValue(input.contentType) && { "Content-Type": input.contentType! }), + ...(isSerializableHeaderValue(input.accept) && { Accept: input.accept! }), }; let resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/content"; - if (input.userId !== undefined) { - const labelValue: string = input.userId; + if (input.botAlias !== undefined) { + const labelValue: string = input.botAlias; 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: botAlias."); } - resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{botAlias}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: userId."); + throw new Error("No value provided for input HTTP label: botAlias."); } if (input.botName !== undefined) { const labelValue: string = input.botName; @@ -170,14 +172,14 @@ 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 (input.userId !== undefined) { + const labelValue: string = input.userId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: botAlias."); + throw new Error("Empty value provided for input HTTP label: userId."); } - resolvedPath = resolvedPath.replace("{botAlias}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: botAlias."); + throw new Error("No value provided for input HTTP label: userId."); } let body: any; if (input.inputStream !== undefined) { @@ -212,15 +214,6 @@ export const serializeAws_restJson1PostTextCommand = 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."); - } if (input.botAlias !== undefined) { const labelValue: string = input.botAlias; if (labelValue.length <= 0) { @@ -230,6 +223,15 @@ 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 (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; body = JSON.stringify({ ...(input.inputText !== undefined && { inputText: input.inputText }), @@ -270,15 +272,6 @@ export const serializeAws_restJson1PutSessionCommand = 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."); - } if (input.botAlias !== undefined) { const labelValue: string = input.botAlias; if (labelValue.length <= 0) { @@ -288,6 +281,15 @@ 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 (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; body = JSON.stringify({ ...(input.dialogAction !== undefined && { @@ -511,51 +513,63 @@ export const deserializeAws_restJson1PostContentCommand = async ( } const contents: PostContentCommandOutput = { $metadata: deserializeMetadata(output), + alternativeIntents: undefined, audioStream: undefined, + botVersion: undefined, contentType: undefined, dialogState: undefined, inputTranscript: undefined, intentName: undefined, message: undefined, messageFormat: undefined, + nluIntentConfidence: undefined, sentimentResponse: undefined, sessionAttributes: undefined, sessionId: undefined, slotToElicit: undefined, slots: undefined, }; + 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["content-type"] !== undefined) { + contents.contentType = output.headers["content-type"]; + } if (output.headers["x-amz-lex-message"] !== undefined) { contents.message = output.headers["x-amz-lex-message"]; } - if (output.headers["x-amz-lex-slots"] !== undefined) { - contents.slots = new __LazyJsonString(output.headers["x-amz-lex-slots"]); + if (output.headers["x-amz-lex-bot-version"] !== undefined) { + contents.botVersion = output.headers["x-amz-lex-bot-version"]; } - if (output.headers["x-amz-lex-dialog-state"] !== undefined) { - contents.dialogState = output.headers["x-amz-lex-dialog-state"]; + if (output.headers["x-amz-lex-sentiment"] !== undefined) { + contents.sentimentResponse = output.headers["x-amz-lex-sentiment"]; } - if (output.headers["x-amz-lex-intent-name"] !== undefined) { - contents.intentName = output.headers["x-amz-lex-intent-name"]; + if (output.headers["x-amz-lex-slots"] !== undefined) { + contents.slots = new __LazyJsonString(output.headers["x-amz-lex-slots"]); } if (output.headers["x-amz-lex-input-transcript"] !== undefined) { contents.inputTranscript = output.headers["x-amz-lex-input-transcript"]; } - if (output.headers["x-amz-lex-message-format"] !== undefined) { - contents.messageFormat = output.headers["x-amz-lex-message-format"]; + if (output.headers["x-amz-lex-slot-to-elicit"] !== undefined) { + contents.slotToElicit = output.headers["x-amz-lex-slot-to-elicit"]; } - 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-session-id"] !== undefined) { contents.sessionId = output.headers["x-amz-lex-session-id"]; } - 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-dialog-state"] !== undefined) { + contents.dialogState = output.headers["x-amz-lex-dialog-state"]; } - if (output.headers["x-amz-lex-sentiment"] !== undefined) { - contents.sentimentResponse = output.headers["x-amz-lex-sentiment"]; + if (output.headers["x-amz-lex-intent-name"] !== undefined) { + contents.intentName = output.headers["x-amz-lex-intent-name"]; } - 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-nlu-intent-confidence"] !== undefined) { + contents.nluIntentConfidence = new __LazyJsonString(output.headers["x-amz-lex-nlu-intent-confidence"]); } const data: any = output.body; contents.audioStream = data; @@ -688,10 +702,13 @@ export const deserializeAws_restJson1PostTextCommand = async ( } const contents: PostTextCommandOutput = { $metadata: deserializeMetadata(output), + alternativeIntents: undefined, + botVersion: undefined, dialogState: undefined, intentName: undefined, message: undefined, messageFormat: undefined, + nluIntentConfidence: undefined, responseCard: undefined, sentimentResponse: undefined, sessionAttributes: undefined, @@ -700,6 +717,12 @@ export const deserializeAws_restJson1PostTextCommand = async ( slots: undefined, }; const data: any = await parseBody(output.body, context); + if (data.alternativeIntents !== undefined && data.alternativeIntents !== null) { + contents.alternativeIntents = deserializeAws_restJson1IntentList(data.alternativeIntents, context); + } + if (data.botVersion !== undefined && data.botVersion !== null) { + contents.botVersion = data.botVersion; + } if (data.dialogState !== undefined && data.dialogState !== null) { contents.dialogState = data.dialogState; } @@ -712,6 +735,9 @@ export const deserializeAws_restJson1PostTextCommand = async ( if (data.messageFormat !== undefined && data.messageFormat !== null) { contents.messageFormat = data.messageFormat; } + if (data.nluIntentConfidence !== undefined && data.nluIntentConfidence !== null) { + contents.nluIntentConfidence = deserializeAws_restJson1IntentConfidence(data.nluIntentConfidence, context); + } if (data.responseCard !== undefined && data.responseCard !== null) { contents.responseCard = deserializeAws_restJson1ResponseCard(data.responseCard, context); } @@ -846,32 +872,32 @@ export const deserializeAws_restJson1PutSessionCommand = async ( slotToElicit: undefined, slots: undefined, }; - 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-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-intent-name"] !== undefined) { - contents.intentName = output.headers["x-amz-lex-intent-name"]; + 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-session-attributes"] !== undefined) { - contents.sessionAttributes = new __LazyJsonString(output.headers["x-amz-lex-session-attributes"]); + 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-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-message"] !== undefined) { contents.message = output.headers["x-amz-lex-message"]; } - if (output.headers["content-type"] !== undefined) { - contents.contentType = output.headers["content-type"]; - } - 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-dialog-state"] !== undefined) { + contents.dialogState = output.headers["x-amz-lex-dialog-state"]; } const data: any = output.body; contents.audioStream = data; @@ -1244,6 +1270,16 @@ const deserializeAws_restJson1genericAttachmentList = (output: any, context: __S return (output || []).map((entry: any) => deserializeAws_restJson1GenericAttachment(entry, context)); }; +const deserializeAws_restJson1IntentConfidence = (output: any, context: __SerdeContext): IntentConfidence => { + return { + score: output.score !== undefined && output.score !== null ? output.score : undefined, + } as any; +}; + +const deserializeAws_restJson1IntentList = (output: any, context: __SerdeContext): PredictedIntent[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1PredictedIntent(entry, context)); +}; + const deserializeAws_restJson1IntentSummary = (output: any, context: __SerdeContext): IntentSummary => { return { checkpointLabel: @@ -1273,6 +1309,20 @@ const deserializeAws_restJson1listOfButtons = (output: any, context: __SerdeCont return (output || []).map((entry: any) => deserializeAws_restJson1Button(entry, context)); }; +const deserializeAws_restJson1PredictedIntent = (output: any, context: __SerdeContext): PredictedIntent => { + return { + intentName: output.intentName !== undefined && output.intentName !== null ? output.intentName : undefined, + nluIntentConfidence: + output.nluIntentConfidence !== undefined && output.nluIntentConfidence !== null + ? deserializeAws_restJson1IntentConfidence(output.nluIntentConfidence, context) + : undefined, + slots: + output.slots !== undefined && output.slots !== null + ? deserializeAws_restJson1StringMap(output.slots, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1ResponseCard = (output: any, context: __SerdeContext): ResponseCard => { return { contentType: output.contentType !== undefined && output.contentType !== null ? output.contentType : undefined, diff --git a/clients/client-license-manager/LicenseManager.ts b/clients/client-license-manager/LicenseManager.ts index 464140d3dba1..0d10a521a7cf 100644 --- a/clients/client-license-manager/LicenseManager.ts +++ b/clients/client-license-manager/LicenseManager.ts @@ -88,8 +88,8 @@ export class LicenseManager extends LicenseManagerClient { *

                                                                  A license configuration is an abstraction of a customer license agreement that can be * consumed and enforced by License Manager. Components include specifications for the license * type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, - * Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM - * must be associated with a host), and the number of licenses purchased and used.

                                                                  + * Dedicated Instance, Dedicated Host, or all of these), license affinity to host (how long a + * license must be associated with a host), and the number of licenses purchased and used.

                                                                  */ public createLicenseConfiguration( args: CreateLicenseConfigurationCommandInput, @@ -510,11 +510,6 @@ export class LicenseManager extends LicenseManagerClient { /** *

                                                                  Modifies the attributes of an existing license configuration.

                                                                  - *

                                                                  A license configuration is an abstraction of a customer license agreement that can be - * consumed and enforced by License Manager. Components include specifications for the license - * type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, - * Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM - * must be associated with a host), and the number of licenses purchased and used.

                                                                  */ public updateLicenseConfiguration( args: UpdateLicenseConfigurationCommandInput, diff --git a/clients/client-license-manager/models/models_0.ts b/clients/client-license-manager/models/models_0.ts index 632341126202..96ccaaebb220 100644 --- a/clients/client-license-manager/models/models_0.ts +++ b/clients/client-license-manager/models/models_0.ts @@ -60,14 +60,14 @@ export enum LicenseCountingType { */ export interface ProductInformationFilter { /** - *

                                                                  Logical operator.

                                                                  + *

                                                                  Filter value.

                                                                  */ - ProductInformationFilterComparator: string | undefined; + ProductInformationFilterValue: string[] | undefined; /** - *

                                                                  Filter value.

                                                                  + *

                                                                  Logical operator.

                                                                  */ - ProductInformationFilterValue: string[] | undefined; + ProductInformationFilterComparator: string | undefined; /** *

                                                                  Filter name.

                                                                  @@ -86,8 +86,14 @@ export namespace ProductInformationFilter { */ export interface ProductInformation { /** - *

                                                                  Product information filters. The following filters and logical operators - * are supported:

                                                                  + *

                                                                  Resource type. The possible values are SSM_MANAGED | RDS.

                                                                  + */ + ResourceType: string | undefined; + + /** + *

                                                                  Product information filters.

                                                                  + *

                                                                  The following filters and logical operators are supported when the resource type + * is SSM_MANAGED:

                                                                  *
                                                                    *
                                                                  • *

                                                                    @@ -118,19 +124,34 @@ export interface ProductInformation { *

                                                                    * License Included - The type of license included. * Logical operators are EQUALS and NOT_EQUALS. - * Possible values are sql-server-enterprise | + * Possible values are: sql-server-enterprise | * sql-server-standard | * sql-server-web | * windows-server-datacenter.

                                                                    *
                                                                  • *
                                                                  + *

                                                                  The following filters and logical operators are supported when the resource type + * is RDS:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * Engine Edition - The edition of the database engine. + * Logical operator is EQUALS. + * Possible values are: oracle-ee | oracle-se | oracle-se1 | oracle-se2.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * License Pack - The license pack. + * Logical operator is EQUALS. + * Possible values are: data guard | + * diagnostic pack sqlt | + * tuning pack sqlt | + * ols | + * olap.

                                                                    + *
                                                                  • + *
                                                                  */ ProductInformationFilterList: ProductInformationFilter[] | undefined; - - /** - *

                                                                  Resource type. The value is SSM_MANAGED.

                                                                  - */ - ResourceType: string | undefined; } export namespace ProductInformation { @@ -161,6 +182,11 @@ export namespace Tag { } export interface CreateLicenseConfigurationRequest { + /** + *

                                                                  Description of the license configuration.

                                                                  + */ + Description?: string; + /** *

                                                                  Indicates whether hard or soft license enforcement is used. Exceeding a hard limit * blocks the launch of new instances.

                                                                  @@ -168,11 +194,39 @@ export interface CreateLicenseConfigurationRequest { LicenseCountHardLimit?: boolean; /** - *

                                                                  License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). Available rules vary by dimension.

                                                                  + *

                                                                  Product information.

                                                                  + */ + ProductInformationList?: ProductInformation[]; + + /** + *

                                                                  Dimension used to track the license inventory.

                                                                  + */ + LicenseCountingType: LicenseCountingType | string | undefined; + + /** + *

                                                                  Number of licenses managed by the license configuration.

                                                                  + */ + LicenseCount?: number; + + /** + *

                                                                  Name of the license configuration.

                                                                  + */ + Name: string | undefined; + + /** + *

                                                                  Tags to add to the license configuration.

                                                                  + */ + Tags?: Tag[]; + + /** + *

                                                                  License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). The available rules + * vary by dimension, as follows.

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * Cores dimension: allowedTenancy | maximumCores | minimumCores + * Cores dimension: allowedTenancy | + * licenseAffinityToHost | + * maximumCores | minimumCores *

                                                                    *
                                                                  • *
                                                                  • @@ -185,47 +239,25 @@ export interface CreateLicenseConfigurationRequest { *
                                                                  • *
                                                                  • *

                                                                    - * Sockets dimension: allowedTenancy | maximumSockets | minimumSockets + * Sockets dimension: allowedTenancy | + * licenseAffinityToHost | + * maximumSockets | minimumSockets *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * vCPUs dimension: allowedTenancy | honorVcpuOptimization | maximumVcpus | minimumVcpus + * vCPUs dimension: allowedTenancy | + * honorVcpuOptimization | + * maximumVcpus | minimumVcpus *

                                                                    *
                                                                  • *
                                                                  + *

                                                                  The unit for licenseAffinityToHost is days and the range is 1 to 180. The possible + * values for allowedTenancy are EC2-Default, EC2-DedicatedHost, and + * EC2-DedicatedInstance. The possible values for honorVcpuOptimization are + * True and False.

                                                                  */ LicenseRules?: string[]; - - /** - *

                                                                  Product information.

                                                                  - */ - ProductInformationList?: ProductInformation[]; - - /** - *

                                                                  Description of the license configuration.

                                                                  - */ - Description?: string; - - /** - *

                                                                  Number of licenses managed by the license configuration.

                                                                  - */ - LicenseCount?: number; - - /** - *

                                                                  Name of the license configuration.

                                                                  - */ - Name: string | undefined; - - /** - *

                                                                  Dimension used to track the license inventory.

                                                                  - */ - LicenseCountingType: LicenseCountingType | string | undefined; - - /** - *

                                                                  Tags to add to the license configuration.

                                                                  - */ - Tags?: Tag[]; } export namespace CreateLicenseConfigurationRequest { @@ -375,14 +407,14 @@ export namespace ConsumedLicenseSummary { */ export interface ManagedResourceSummary { /** - *

                                                                  Number of resources associated with licenses.

                                                                  + *

                                                                  Type of resource associated with a license.

                                                                  */ - AssociationCount?: number; + ResourceType?: ResourceType | string; /** - *

                                                                  Type of resource associated with a license.

                                                                  + *

                                                                  Number of resources associated with licenses.

                                                                  */ - ResourceType?: ResourceType | string; + AssociationCount?: number; } export namespace ManagedResourceSummary { @@ -393,59 +425,59 @@ export namespace ManagedResourceSummary { export interface GetLicenseConfigurationResponse { /** - *

                                                                  Summaries of the managed resources.

                                                                  + *

                                                                  Product information.

                                                                  */ - ManagedResourceSummaryList?: ManagedResourceSummary[]; + ProductInformationList?: ProductInformation[]; /** - *

                                                                  Product information.

                                                                  + *

                                                                  Account ID of the owner of the license configuration.

                                                                  */ - ProductInformationList?: ProductInformation[]; + OwnerAccountId?: string; /** - *

                                                                  Number of available licenses.

                                                                  + *

                                                                  Unique ID for the license configuration.

                                                                  */ - LicenseCount?: number; + LicenseConfigurationId?: string; /** - *

                                                                  Tags for the license configuration.

                                                                  + *

                                                                  Name of the license configuration.

                                                                  */ - Tags?: Tag[]; + Name?: string; /** - *

                                                                  Dimension on which the licenses are counted.

                                                                  + *

                                                                  Summaries of the managed resources.

                                                                  */ - LicenseCountingType?: LicenseCountingType | string; + ManagedResourceSummaryList?: ManagedResourceSummary[]; /** - *

                                                                  Account ID of the owner of the license configuration.

                                                                  + *

                                                                  Dimension on which the licenses are counted.

                                                                  */ - OwnerAccountId?: string; + LicenseCountingType?: LicenseCountingType | string; /** - *

                                                                  Name of the license configuration.

                                                                  + *

                                                                  Tags for the license configuration.

                                                                  */ - Name?: string; + Tags?: Tag[]; /** - *

                                                                  Amazon Resource Name (ARN) of the license configuration.

                                                                  + *

                                                                  Automated discovery information.

                                                                  */ - LicenseConfigurationArn?: string; + AutomatedDiscoveryInformation?: AutomatedDiscoveryInformation; /** - *

                                                                  Unique ID for the license configuration.

                                                                  + *

                                                                  Number of available licenses.

                                                                  */ - LicenseConfigurationId?: string; + LicenseCount?: number; /** - *

                                                                  Summaries of the licenses consumed by resources.

                                                                  + *

                                                                  License rules.

                                                                  */ - ConsumedLicenseSummaryList?: ConsumedLicenseSummary[]; + LicenseRules?: string[]; /** - *

                                                                  License configuration status.

                                                                  + *

                                                                  Sets the number of available licenses as a hard limit.

                                                                  */ - Status?: string; + LicenseCountHardLimit?: boolean; /** *

                                                                  Description of the license configuration.

                                                                  @@ -453,24 +485,24 @@ export interface GetLicenseConfigurationResponse { Description?: string; /** - *

                                                                  Number of licenses assigned to resources.

                                                                  + *

                                                                  License configuration status.

                                                                  */ - ConsumedLicenses?: number; + Status?: string; /** - *

                                                                  Automated discovery information.

                                                                  + *

                                                                  Number of licenses assigned to resources.

                                                                  */ - AutomatedDiscoveryInformation?: AutomatedDiscoveryInformation; + ConsumedLicenses?: number; /** - *

                                                                  License rules.

                                                                  + *

                                                                  Amazon Resource Name (ARN) of the license configuration.

                                                                  */ - LicenseRules?: string[]; + LicenseConfigurationArn?: string; /** - *

                                                                  Sets the number of available licenses as a hard limit.

                                                                  + *

                                                                  Summaries of the licenses consumed by resources.

                                                                  */ - LicenseCountHardLimit?: boolean; + ConsumedLicenseSummaryList?: ConsumedLicenseSummary[]; } export namespace GetLicenseConfigurationResponse { @@ -523,14 +555,14 @@ export interface GetServiceSettingsResponse { LicenseManagerResourceShareArn?: string; /** - *

                                                                  SNS topic configured to receive notifications from License Manager.

                                                                  + *

                                                                  Indicates whether cross-account discovery has been enabled.

                                                                  */ - SnsTopicArn?: string; + EnableCrossAccountsDiscovery?: boolean; /** - *

                                                                  Indicates whether cross-account discovery has been enabled.

                                                                  + *

                                                                  SNS topic configured to receive notifications from License Manager.

                                                                  */ - EnableCrossAccountsDiscovery?: boolean; + SnsTopicArn?: string; } export namespace GetServiceSettingsResponse { @@ -561,14 +593,14 @@ export interface ListAssociationsForLicenseConfigurationRequest { LicenseConfigurationArn: string | undefined; /** - *

                                                                  Token for the next set of results.

                                                                  + *

                                                                  Maximum number of results to return in a single call.

                                                                  */ - NextToken?: string; + MaxResults?: number; /** - *

                                                                  Maximum number of results to return in a single call.

                                                                  + *

                                                                  Token for the next set of results.

                                                                  */ - MaxResults?: number; + NextToken?: string; } export namespace ListAssociationsForLicenseConfigurationRequest { @@ -581,25 +613,25 @@ export namespace ListAssociationsForLicenseConfigurationRequest { *

                                                                  Describes an association with a license configuration.

                                                                  */ export interface LicenseConfigurationAssociation { - /** - *

                                                                  ID of the AWS account that owns the resource consuming licenses.

                                                                  - */ - ResourceOwnerId?: string; - /** *

                                                                  Amazon Resource Name (ARN) of the resource.

                                                                  */ ResourceArn?: string; /** - *

                                                                  Type of server resource.

                                                                  + *

                                                                  ID of the AWS account that owns the resource consuming licenses.

                                                                  */ - ResourceType?: ResourceType | string; + ResourceOwnerId?: string; /** *

                                                                  Time when the license configuration was associated with the resource.

                                                                  */ AssociationTime?: Date; + + /** + *

                                                                  Type of server resource.

                                                                  + */ + ResourceType?: ResourceType | string; } export namespace LicenseConfigurationAssociation { @@ -610,14 +642,14 @@ export namespace LicenseConfigurationAssociation { export interface ListAssociationsForLicenseConfigurationResponse { /** - *

                                                                  Token for the next set of results.

                                                                  + *

                                                                  Information about the associations for the license configuration.

                                                                  */ - NextToken?: string; + LicenseConfigurationAssociations?: LicenseConfigurationAssociation[]; /** - *

                                                                  Information about the associations for the license configuration.

                                                                  + *

                                                                  Token for the next set of results.

                                                                  */ - LicenseConfigurationAssociations?: LicenseConfigurationAssociation[]; + NextToken?: string; } export namespace ListAssociationsForLicenseConfigurationResponse { @@ -627,6 +659,11 @@ export namespace ListAssociationsForLicenseConfigurationResponse { } export interface ListFailuresForLicenseConfigurationOperationsRequest { + /** + *

                                                                  Amazon Resource Name of the license configuration.

                                                                  + */ + LicenseConfigurationArn: string | undefined; + /** *

                                                                  Token for the next set of results.

                                                                  */ @@ -636,11 +673,6 @@ export interface ListFailuresForLicenseConfigurationOperationsRequest { *

                                                                  Maximum number of results to return in a single call.

                                                                  */ MaxResults?: number; - - /** - *

                                                                  Amazon Resource Name of the license configuration.

                                                                  - */ - LicenseConfigurationArn: string | undefined; } export namespace ListFailuresForLicenseConfigurationOperationsRequest { @@ -675,44 +707,44 @@ export namespace Metadata { */ export interface LicenseOperationFailure { /** - *

                                                                  Name of the operation.

                                                                  + *

                                                                  Resource type.

                                                                  */ - OperationName?: string; + ResourceType?: ResourceType | string; /** - *

                                                                  Error message.

                                                                  + *

                                                                  Name of the operation.

                                                                  */ - ErrorMessage?: string; + OperationName?: string; /** - *

                                                                  Failure time.

                                                                  + *

                                                                  The requester is "License Manager Automated Discovery".

                                                                  */ - FailureTime?: Date; + OperationRequestedBy?: string; /** - *

                                                                  ID of the AWS account that owns the resource.

                                                                  + *

                                                                  Error message.

                                                                  */ - ResourceOwnerId?: string; + ErrorMessage?: string; /** - *

                                                                  Amazon Resource Name (ARN) of the resource.

                                                                  + *

                                                                  Reserved.

                                                                  */ - ResourceArn?: string; + MetadataList?: Metadata[]; /** - *

                                                                  The requester is "License Manager Automated Discovery".

                                                                  + *

                                                                  Failure time.

                                                                  */ - OperationRequestedBy?: string; + FailureTime?: Date; /** - *

                                                                  Resource type.

                                                                  + *

                                                                  Amazon Resource Name (ARN) of the resource.

                                                                  */ - ResourceType?: ResourceType | string; + ResourceArn?: string; /** - *

                                                                  Reserved.

                                                                  + *

                                                                  ID of the AWS account that owns the resource.

                                                                  */ - MetadataList?: Metadata[]; + ResourceOwnerId?: string; } export namespace LicenseOperationFailure { @@ -763,18 +795,14 @@ export namespace Filter { } export interface ListLicenseConfigurationsRequest { - /** - *

                                                                  Maximum number of results to return in a single call.

                                                                  - */ - MaxResults?: number; - /** *

                                                                  Filters to scope the results. The following filters and logical operators * are supported:

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * licenseCountingType - The dimension on which licenses are counted (vCPU). + * licenseCountingType - The dimension on which licenses are counted. + * Possible values are vCPU | Instance | Core | Socket. * Logical operators are EQUALS | NOT_EQUALS.

                                                                    *
                                                                  • *
                                                                  • @@ -796,6 +824,11 @@ export interface ListLicenseConfigurationsRequest { */ LicenseConfigurationArns?: string[]; + /** + *

                                                                    Maximum number of results to return in a single call.

                                                                    + */ + MaxResults?: number; + /** *

                                                                    Token for the next set of results.

                                                                    */ @@ -817,39 +850,39 @@ export namespace ListLicenseConfigurationsRequest { */ export interface LicenseConfiguration { /** - *

                                                                    Number of available licenses as a hard limit.

                                                                    + *

                                                                    Number of licenses managed by the license configuration.

                                                                    */ - LicenseCountHardLimit?: boolean; + LicenseCount?: number; /** - *

                                                                    Description of the license configuration.

                                                                    + *

                                                                    Automated discovery information.

                                                                    */ - Description?: string; + AutomatedDiscoveryInformation?: AutomatedDiscoveryInformation; /** - *

                                                                    Amazon Resource Name (ARN) of the license configuration.

                                                                    + *

                                                                    Status of the license configuration.

                                                                    */ - LicenseConfigurationArn?: string; + Status?: string; /** - *

                                                                    Number of licenses consumed.

                                                                    + *

                                                                    Number of available licenses as a hard limit.

                                                                    */ - ConsumedLicenses?: number; + LicenseCountHardLimit?: boolean; /** - *

                                                                    Unique ID of the license configuration.

                                                                    + *

                                                                    Product information.

                                                                    */ - LicenseConfigurationId?: string; + ProductInformationList?: ProductInformation[]; /** - *

                                                                    Summaries for licenses consumed by various resources.

                                                                    + *

                                                                    License rules.

                                                                    */ - ConsumedLicenseSummaryList?: ConsumedLicenseSummary[]; + LicenseRules?: string[]; /** - *

                                                                    Dimension to use to track the license inventory.

                                                                    + *

                                                                    Unique ID of the license configuration.

                                                                    */ - LicenseCountingType?: LicenseCountingType | string; + LicenseConfigurationId?: string; /** *

                                                                    Account ID of the license configuration's owner.

                                                                    @@ -857,9 +890,9 @@ export interface LicenseConfiguration { OwnerAccountId?: string; /** - *

                                                                    Product information.

                                                                    + *

                                                                    Summaries for managed resources.

                                                                    */ - ProductInformationList?: ProductInformation[]; + ManagedResourceSummaryList?: ManagedResourceSummary[]; /** *

                                                                    Name of the license configuration.

                                                                    @@ -867,29 +900,29 @@ export interface LicenseConfiguration { Name?: string; /** - *

                                                                    Summaries for managed resources.

                                                                    + *

                                                                    Dimension to use to track the license inventory.

                                                                    */ - ManagedResourceSummaryList?: ManagedResourceSummary[]; + LicenseCountingType?: LicenseCountingType | string; /** - *

                                                                    License rules.

                                                                    + *

                                                                    Number of licenses consumed.

                                                                    */ - LicenseRules?: string[]; + ConsumedLicenses?: number; /** - *

                                                                    Number of licenses managed by the license configuration.

                                                                    + *

                                                                    Amazon Resource Name (ARN) of the license configuration.

                                                                    */ - LicenseCount?: number; + LicenseConfigurationArn?: string; /** - *

                                                                    Automated discovery information.

                                                                    + *

                                                                    Summaries for licenses consumed by various resources.

                                                                    */ - AutomatedDiscoveryInformation?: AutomatedDiscoveryInformation; + ConsumedLicenseSummaryList?: ConsumedLicenseSummary[]; /** - *

                                                                    Status of the license configuration.

                                                                    + *

                                                                    Description of the license configuration.

                                                                    */ - Status?: string; + Description?: string; } export namespace LicenseConfiguration { @@ -1005,14 +1038,14 @@ export interface InventoryFilter { Value?: string; /** - *

                                                                    Name of the filter.

                                                                    + *

                                                                    Condition of the filter.

                                                                    */ - Name: string | undefined; + Condition: InventoryFilterCondition | string | undefined; /** - *

                                                                    Condition of the filter.

                                                                    + *

                                                                    Name of the filter.

                                                                    */ - Condition: InventoryFilterCondition | string | undefined; + Name: string | undefined; } export namespace InventoryFilter { @@ -1027,11 +1060,6 @@ export interface ListResourceInventoryRequest { */ MaxResults?: number; - /** - *

                                                                    Token for the next set of results.

                                                                    - */ - NextToken?: string; - /** *

                                                                    Filters to scope the results. The following filters and logical operators * are supported:

                                                                    @@ -1068,6 +1096,11 @@ export interface ListResourceInventoryRequest { *
                                                                  */ Filters?: InventoryFilter[]; + + /** + *

                                                                  Token for the next set of results.

                                                                  + */ + NextToken?: string; } export namespace ListResourceInventoryRequest { @@ -1081,34 +1114,34 @@ export namespace ListResourceInventoryRequest { */ export interface ResourceInventory { /** - *

                                                                  ID of the account that owns the resource.

                                                                  + *

                                                                  Type of resource.

                                                                  */ - ResourceOwningAccountId?: string; + ResourceType?: ResourceType | string; /** - *

                                                                  Amazon Resource Name (ARN) of the resource.

                                                                  + *

                                                                  ID of the resource.

                                                                  */ - ResourceArn?: string; + ResourceId?: string; /** - *

                                                                  ID of the resource.

                                                                  + *

                                                                  Platform of the resource.

                                                                  */ - ResourceId?: string; + Platform?: string; /** - *

                                                                  Type of resource.

                                                                  + *

                                                                  ID of the account that owns the resource.

                                                                  */ - ResourceType?: ResourceType | string; + ResourceOwningAccountId?: string; /** - *

                                                                  Platform version of the resource in the inventory.

                                                                  + *

                                                                  Amazon Resource Name (ARN) of the resource.

                                                                  */ - PlatformVersion?: string; + ResourceArn?: string; /** - *

                                                                  Platform of the resource.

                                                                  + *

                                                                  Platform version of the resource in the inventory.

                                                                  */ - Platform?: string; + PlatformVersion?: string; } export namespace ResourceInventory { @@ -1163,9 +1196,14 @@ export namespace ListTagsForResourceResponse { export interface ListUsageForLicenseConfigurationRequest { /** - *

                                                                  Maximum number of results to return in a single call.

                                                                  + *

                                                                  Amazon Resource Name (ARN) of the license configuration.

                                                                  */ - MaxResults?: number; + LicenseConfigurationArn: string | undefined; + + /** + *

                                                                  Token for the next set of results.

                                                                  + */ + NextToken?: string; /** *

                                                                  Filters to scope the results. The following filters and logical operators @@ -1191,14 +1229,9 @@ export interface ListUsageForLicenseConfigurationRequest { Filters?: Filter[]; /** - *

                                                                  Token for the next set of results.

                                                                  - */ - NextToken?: string; - - /** - *

                                                                  Amazon Resource Name (ARN) of the license configuration.

                                                                  + *

                                                                  Maximum number of results to return in a single call.

                                                                  */ - LicenseConfigurationArn: string | undefined; + MaxResults?: number; } export namespace ListUsageForLicenseConfigurationRequest { @@ -1268,14 +1301,14 @@ export namespace ListUsageForLicenseConfigurationResponse { export interface TagResourceRequest { /** - *

                                                                  One or more tags.

                                                                  + *

                                                                  Amazon Resource Name (ARN) of the license configuration.

                                                                  */ - Tags: Tag[] | undefined; + ResourceArn: string | undefined; /** - *

                                                                  Amazon Resource Name (ARN) of the license configuration.

                                                                  + *

                                                                  One or more tags.

                                                                  */ - ResourceArn: string | undefined; + Tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -1324,6 +1357,11 @@ export enum LicenseConfigurationStatus { } export interface UpdateLicenseConfigurationRequest { + /** + *

                                                                  New description of the license configuration.

                                                                  + */ + Description?: string; + /** *

                                                                  New hard limit of the number of available licenses.

                                                                  */ @@ -1335,17 +1373,8 @@ export interface UpdateLicenseConfigurationRequest { ProductInformationList?: ProductInformation[]; /** - *

                                                                  New description of the license configuration.

                                                                  - */ - Description?: string; - - /** - *

                                                                  Amazon Resource Name (ARN) of the license configuration.

                                                                  - */ - LicenseConfigurationArn: string | undefined; - - /** - *

                                                                  New license rules.

                                                                  + *

                                                                  New license rule. The only rule that you can add after you create a license + * configuration is licenseAffinityToHost.

                                                                  */ LicenseRules?: string[]; @@ -1354,6 +1383,11 @@ export interface UpdateLicenseConfigurationRequest { */ LicenseCount?: number; + /** + *

                                                                  Amazon Resource Name (ARN) of the license configuration.

                                                                  + */ + LicenseConfigurationArn: string | undefined; + /** *

                                                                  New status of the license configuration.

                                                                  */ @@ -1443,25 +1477,25 @@ export namespace UpdateLicenseSpecificationsForResourceResponse { } export interface UpdateServiceSettingsRequest { - /** - *

                                                                  Amazon Resource Name (ARN) of the Amazon SNS topic used for License Manager alerts.

                                                                  - */ - SnsTopicArn?: string; - /** *

                                                                  Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager information is stored.

                                                                  */ S3BucketArn?: string; /** - *

                                                                  Activates cross-account discovery.

                                                                  + *

                                                                  Amazon Resource Name (ARN) of the Amazon SNS topic used for License Manager alerts.

                                                                  */ - EnableCrossAccountsDiscovery?: boolean; + SnsTopicArn?: string; /** *

                                                                  Enables integration with AWS Organizations for cross-account discovery.

                                                                  */ OrganizationConfiguration?: OrganizationConfiguration; + + /** + *

                                                                  Activates cross-account discovery.

                                                                  + */ + EnableCrossAccountsDiscovery?: boolean; } export namespace UpdateServiceSettingsRequest { diff --git a/clients/client-lightsail/models/models_0.ts b/clients/client-lightsail/models/models_0.ts index 3fc14f63edab..7340eecfe026 100644 --- a/clients/client-lightsail/models/models_0.ts +++ b/clients/client-lightsail/models/models_0.ts @@ -8,10 +8,10 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; $fault: "client"; - tip?: string; - message?: string; code?: string; + message?: string; docs?: string; + tip?: string; } export namespace AccessDeniedException { @@ -32,9 +32,9 @@ export enum AccessDirection { export interface AccountSetupInProgressException extends __SmithyException, $MetadataBearer { name: "AccountSetupInProgressException"; $fault: "client"; - docs?: string; - code?: string; tip?: string; + code?: string; + docs?: string; message?: string; } @@ -48,6 +48,11 @@ export namespace AccountSetupInProgressException { *

                                                                  Describes an add-on that is enabled for an Amazon Lightsail resource.

                                                                  */ export interface AddOn { + /** + *

                                                                  The status of the add-on.

                                                                  + */ + status?: string; + /** *

                                                                  The next daily time an automatic snapshot will be created.

                                                                  *

                                                                  The time shown is in HH:00 format, and in Coordinated Universal Time @@ -57,11 +62,6 @@ export interface AddOn { */ nextSnapshotTimeOfDay?: string; - /** - *

                                                                  The name of the add-on.

                                                                  - */ - name?: string; - /** *

                                                                  The daily time when an automatic snapshot is created.

                                                                  *

                                                                  The time shown is in HH:00 format, and in Coordinated Universal Time @@ -72,9 +72,9 @@ export interface AddOn { snapshotTimeOfDay?: string; /** - *

                                                                  The status of the add-on.

                                                                  + *

                                                                  The name of the add-on.

                                                                  */ - status?: string; + name?: string; } export namespace AddOn { @@ -210,14 +210,14 @@ export enum RegionName { */ export interface ResourceLocation { /** - *

                                                                  The Availability Zone. Follows the format us-east-2a (case-sensitive).

                                                                  + *

                                                                  The AWS Region name.

                                                                  */ - availabilityZone?: string; + regionName?: RegionName | string; /** - *

                                                                  The AWS Region name.

                                                                  + *

                                                                  The Availability Zone. Follows the format us-east-2a (case-sensitive).

                                                                  */ - regionName?: RegionName | string; + availabilityZone?: string; } export namespace ResourceLocation { @@ -282,6 +282,13 @@ export enum ResourceType { * in Amazon Lightsail.

                                                                  */ export interface MonitoredResourceInfo { + /** + *

                                                                  The Lightsail resource type of the resource being monitored.

                                                                  + *

                                                                  Instances, load balancers, and relational databases are the only Lightsail resources + * that can currently be monitored by alarms.

                                                                  + */ + resourceType?: ResourceType | string; + /** *

                                                                  The name of the Lightsail resource being monitored.

                                                                  */ @@ -291,13 +298,6 @@ export interface MonitoredResourceInfo { *

                                                                  The Amazon Resource Name (ARN) of the resource being monitored.

                                                                  */ arn?: string; - - /** - *

                                                                  The Lightsail resource type of the resource being monitored.

                                                                  - *

                                                                  Instances, load balancers, and relational databases are the only Lightsail resources - * that can currently be monitored by alarms.

                                                                  - */ - resourceType?: ResourceType | string; } export namespace MonitoredResourceInfo { @@ -364,76 +364,15 @@ export enum MetricUnit { * in Amazon Lightsail.

                                                                  */ export interface Alarm { - /** - *

                                                                  The current state of the alarm.

                                                                  - *

                                                                  An alarm has the following possible states:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * ALARM - The metric is outside of the defined threshold.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * INSUFFICIENT_DATA - The alarm has just started, the metric is not - * available, or not enough data is available for the metric to determine the alarm - * state.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * OK - The metric is within the defined threshold.

                                                                    - *
                                                                  • - *
                                                                  - */ - state?: AlarmState | string; - - /** - *

                                                                  An object that lists information about the location of the alarm.

                                                                  - */ - location?: ResourceLocation; - - /** - *

                                                                  The value against which the specified statistic is compared.

                                                                  - */ - threshold?: number; - /** *

                                                                  The alarm states that trigger a notification.

                                                                  */ notificationTriggers?: (AlarmState | string)[]; /** - *

                                                                  The unit of the metric associated with the alarm.

                                                                  - */ - unit?: MetricUnit | string; - - /** - *

                                                                  The name of the metric associated with the alarm.

                                                                  - */ - metricName?: MetricName | string; - - /** - *

                                                                  The contact protocols for the alarm, such as Email, SMS (text - * messaging), or both.

                                                                  - */ - contactProtocols?: (ContactProtocol | string)[]; - - /** - *

                                                                  The arithmetic operation used when comparing the specified statistic and threshold.

                                                                  - */ - comparisonOperator?: ComparisonOperator | string; - - /** - *

                                                                  The number of data points that must not within the specified threshold to trigger the - * alarm.

                                                                  - */ - datapointsToAlarm?: number; - - /** - *

                                                                  The support code. Include this code in your email to support when you have questions about - * your Lightsail alarm. This code enables our support team to look up your Lightsail - * information more easily.

                                                                  + *

                                                                  The timestamp when the alarm was created.

                                                                  */ - supportCode?: string; + createdAt?: Date; /** *

                                                                  The Lightsail resource type (e.g., Alarm).

                                                                  @@ -441,24 +380,42 @@ export interface Alarm { resourceType?: ResourceType | string; /** - *

                                                                  The name of the alarm.

                                                                  - */ - name?: string; - - /** - *

                                                                  The number of periods over which data is compared to the specified threshold.

                                                                  + *

                                                                  The unit of the metric associated with the alarm.

                                                                  */ - evaluationPeriods?: number; + unit?: MetricUnit | string; /** - *

                                                                  The Amazon Resource Name (ARN) of the alarm.

                                                                  + *

                                                                  The name of the alarm.

                                                                  */ - arn?: string; + name?: string; /** - *

                                                                  Indicates whether the alarm is enabled.

                                                                  + *

                                                                  Specifies how the alarm handles missing data points.

                                                                  + *

                                                                  An alarm can treat missing data in the following ways:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * breaching - Assume the missing data is not within the threshold. Missing + * data counts towards the number of times the metric is not within the threshold.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * notBreaching - Assume the missing data is within the threshold. Missing + * data does not count towards the number of times the metric is not within the + * threshold.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * ignore - Ignore the missing data. Maintains the current alarm + * state.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * missing - Missing data is treated as missing.

                                                                    + *
                                                                  • + *
                                                                  */ - notificationEnabled?: boolean; + treatMissingData?: TreatMissingData | string; /** *

                                                                  The period, in seconds, over which the statistic is applied.

                                                                  @@ -501,42 +458,85 @@ export interface Alarm { statistic?: MetricStatistic | string; /** - *

                                                                  The timestamp when the alarm was created.

                                                                  + *

                                                                  An object that lists information about the location of the alarm.

                                                                  */ - createdAt?: Date; + location?: ResourceLocation; /** - *

                                                                  Specifies how the alarm handles missing data points.

                                                                  - *

                                                                  An alarm can treat missing data in the following ways:

                                                                  + *

                                                                  The number of periods over which data is compared to the specified threshold.

                                                                  + */ + evaluationPeriods?: number; + + /** + *

                                                                  The arithmetic operation used when comparing the specified statistic and threshold.

                                                                  + */ + comparisonOperator?: ComparisonOperator | string; + + /** + *

                                                                  Indicates whether the alarm is enabled.

                                                                  + */ + notificationEnabled?: boolean; + + /** + *

                                                                  An object that lists information about the resource monitored by the alarm.

                                                                  + */ + monitoredResourceInfo?: MonitoredResourceInfo; + + /** + *

                                                                  The support code. Include this code in your email to support when you have questions about + * your Lightsail alarm. This code enables our support team to look up your Lightsail + * information more easily.

                                                                  + */ + supportCode?: string; + + /** + *

                                                                  The Amazon Resource Name (ARN) of the alarm.

                                                                  + */ + arn?: string; + + /** + *

                                                                  The current state of the alarm.

                                                                  + *

                                                                  An alarm has the following possible states:

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * breaching - Assume the missing data is not within the threshold. Missing - * data counts towards the number of times the metric is not within the threshold.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * notBreaching - Assume the missing data is within the threshold. Missing - * data does not count towards the number of times the metric is not within the - * threshold.

                                                                    + * ALARM - The metric is outside of the defined threshold.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * ignore - Ignore the missing data. Maintains the current alarm + * INSUFFICIENT_DATA - The alarm has just started, the metric is not + * available, or not enough data is available for the metric to determine the alarm * state.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * missing - Missing data is treated as missing.

                                                                    + * OK - The metric is within the defined threshold.

                                                                    *
                                                                  • *
                                                                  */ - treatMissingData?: TreatMissingData | string; + state?: AlarmState | string; /** - *

                                                                  An object that lists information about the resource monitored by the alarm.

                                                                  + *

                                                                  The value against which the specified statistic is compared.

                                                                  */ - monitoredResourceInfo?: MonitoredResourceInfo; + threshold?: number; + + /** + *

                                                                  The number of data points that must not within the specified threshold to trigger the + * alarm.

                                                                  + */ + datapointsToAlarm?: number; + + /** + *

                                                                  The contact protocols for the alarm, such as Email, SMS (text + * messaging), or both.

                                                                  + */ + contactProtocols?: (ContactProtocol | string)[]; + + /** + *

                                                                  The name of the metric associated with the alarm.

                                                                  + */ + metricName?: MetricName | string; } export namespace Alarm { @@ -638,19 +638,24 @@ export enum OperationStatus { */ export interface Operation { /** - *

                                                                  The timestamp when the status was changed (e.g., 1479816991.349).

                                                                  + *

                                                                  A Boolean value indicating whether the operation is terminal.

                                                                  */ - statusChangedAt?: Date; + isTerminal?: boolean; /** - *

                                                                  The resource type.

                                                                  + *

                                                                  The error code.

                                                                  */ - resourceType?: ResourceType | string; + errorCode?: string; /** - *

                                                                  The ID of the operation.

                                                                  + *

                                                                  The type of operation.

                                                                  */ - id?: string; + operationType?: OperationType | string; + + /** + *

                                                                  The resource name.

                                                                  + */ + resourceName?: string; /** *

                                                                  The AWS Region and Availability Zone.

                                                                  @@ -658,24 +663,30 @@ export interface Operation { location?: ResourceLocation; /** - *

                                                                  A Boolean value indicating whether the operation is terminal.

                                                                  + *

                                                                  The ID of the operation.

                                                                  */ - isTerminal?: boolean; + id?: string; /** - *

                                                                  Details about the operation (e.g., Debian-1GB-Ohio-1).

                                                                  + *

                                                                  The timestamp when the operation was initialized (e.g., + * 1479816991.349).

                                                                  */ - operationDetails?: string; + createdAt?: Date; /** - *

                                                                  The type of operation.

                                                                  + *

                                                                  The timestamp when the status was changed (e.g., 1479816991.349).

                                                                  */ - operationType?: OperationType | string; + statusChangedAt?: Date; /** - *

                                                                  The resource name.

                                                                  + *

                                                                  The resource type.

                                                                  */ - resourceName?: string; + resourceType?: ResourceType | string; + + /** + *

                                                                  Details about the operation (e.g., Debian-1GB-Ohio-1).

                                                                  + */ + operationDetails?: string; /** *

                                                                  The status of the operation.

                                                                  @@ -686,17 +697,6 @@ export interface Operation { *

                                                                  The error details.

                                                                  */ errorDetails?: string; - - /** - *

                                                                  The timestamp when the operation was initialized (e.g., - * 1479816991.349).

                                                                  - */ - createdAt?: Date; - - /** - *

                                                                  The error code.

                                                                  - */ - errorCode?: string; } export namespace Operation { @@ -730,10 +730,10 @@ export namespace AllocateStaticIpResult { export interface InvalidInputException extends __SmithyException, $MetadataBearer { name: "InvalidInputException"; $fault: "client"; - tip?: string; - code?: string; docs?: string; message?: string; + code?: string; + tip?: string; } export namespace InvalidInputException { @@ -748,10 +748,10 @@ export namespace InvalidInputException { export interface NotFoundException extends __SmithyException, $MetadataBearer { name: "NotFoundException"; $fault: "client"; + code?: string; + docs?: string; tip?: string; message?: string; - docs?: string; - code?: string; } export namespace NotFoundException { @@ -766,10 +766,10 @@ export namespace NotFoundException { export interface OperationFailureException extends __SmithyException, $MetadataBearer { name: "OperationFailureException"; $fault: "client"; + docs?: string; + tip?: string; code?: string; message?: string; - tip?: string; - docs?: string; } export namespace OperationFailureException { @@ -784,10 +784,10 @@ export namespace OperationFailureException { export interface ServiceException extends __SmithyException, $MetadataBearer { name: "ServiceException"; $fault: "server"; - message?: string; - docs?: string; tip?: string; + message?: string; code?: string; + docs?: string; } export namespace ServiceException { @@ -802,10 +802,10 @@ export namespace ServiceException { export interface UnauthenticatedException extends __SmithyException, $MetadataBearer { name: "UnauthenticatedException"; $fault: "client"; - tip?: string; - code?: string; docs?: string; message?: string; + tip?: string; + code?: string; } export namespace UnauthenticatedException { @@ -864,11 +864,6 @@ export namespace AttachCertificateToDistributionResult { } export interface AttachDiskRequest { - /** - *

                                                                  The disk path to expose to the instance (e.g., /dev/xvdf).

                                                                  - */ - diskPath: string | undefined; - /** *

                                                                  The name of the Lightsail instance where you want to utilize the storage disk.

                                                                  */ @@ -878,6 +873,11 @@ export interface AttachDiskRequest { *

                                                                  The unique Lightsail disk name (e.g., my-disk).

                                                                  */ diskName: string | undefined; + + /** + *

                                                                  The disk path to expose to the instance (e.g., /dev/xvdf).

                                                                  + */ + diskPath: string | undefined; } export namespace AttachDiskRequest { @@ -906,14 +906,14 @@ export namespace AttachDiskResult { */ export interface AttachedDisk { /** - *

                                                                  The path of the disk (e.g., /dev/xvdf).

                                                                  + *

                                                                  The size of the disk in GB.

                                                                  */ - path?: string; + sizeInGb?: number; /** - *

                                                                  The size of the disk in GB.

                                                                  + *

                                                                  The path of the disk (e.g., /dev/xvdf).

                                                                  */ - sizeInGb?: number; + path?: string; } export namespace AttachedDisk { @@ -945,6 +945,11 @@ export namespace DiskMap { } export interface AttachInstancesToLoadBalancerRequest { + /** + *

                                                                  The name of the load balancer.

                                                                  + */ + loadBalancerName: string | undefined; + /** *

                                                                  An array of strings representing the instance name(s) you want to attach to your load * balancer.

                                                                  @@ -955,11 +960,6 @@ export interface AttachInstancesToLoadBalancerRequest { * (20).

                                                                  */ instanceNames: string[] | undefined; - - /** - *

                                                                  The name of the load balancer.

                                                                  - */ - loadBalancerName: string | undefined; } export namespace AttachInstancesToLoadBalancerRequest { @@ -1019,14 +1019,14 @@ export namespace AttachLoadBalancerTlsCertificateResult { export interface AttachStaticIpRequest { /** - *

                                                                  The name of the static IP.

                                                                  + *

                                                                  The instance name to which you want to attach the static IP address.

                                                                  */ - staticIpName: string | undefined; + instanceName: string | undefined; /** - *

                                                                  The instance name to which you want to attach the static IP address.

                                                                  + *

                                                                  The name of the static IP.

                                                                  */ - instanceName: string | undefined; + staticIpName: string | undefined; } export namespace AttachStaticIpRequest { @@ -1060,11 +1060,6 @@ export enum AutoSnapshotStatus { *

                                                                  Describes an automatic snapshot.

                                                                  */ export interface AutoSnapshotDetails { - /** - *

                                                                  The status of the automatic snapshot.

                                                                  - */ - status?: AutoSnapshotStatus | string; - /** *

                                                                  An array of objects that describe the block storage disks attached to the instance when * the automatic snapshot was created.

                                                                  @@ -1072,14 +1067,19 @@ export interface AutoSnapshotDetails { fromAttachedDisks?: AttachedDisk[]; /** - *

                                                                  The timestamp when the automatic snapshot was created.

                                                                  + *

                                                                  The status of the automatic snapshot.

                                                                  */ - createdAt?: Date; + status?: AutoSnapshotStatus | string; /** *

                                                                  The date of the automatic snapshot in YYYY-MM-DD format.

                                                                  */ date?: string; + + /** + *

                                                                  The timestamp when the automatic snapshot was created.

                                                                  + */ + createdAt?: Date; } export namespace AutoSnapshotDetails { @@ -1130,73 +1130,73 @@ export enum BlueprintType { */ export interface Blueprint { /** - *

                                                                  The friendly name of the blueprint (e.g., Amazon Linux).

                                                                  + *

                                                                  The type of the blueprint (e.g., os or app).

                                                                  */ - name?: string; + type?: BlueprintType | string; /** - *

                                                                  A Boolean value indicating whether the blueprint is active. Inactive blueprints are listed - * to support customers with existing instances but are not necessarily available for launch of - * new instances. Blueprints are marked inactive when they become outdated due to operating - * system updates or new application releases.

                                                                  + *

                                                                  The minimum bundle power required to run this blueprint. For example, you need a bundle + * with a power value of 500 or more to create an instance that uses a blueprint with a minimum + * power value of 500. 0 indicates that the blueprint runs on all instance sizes. + *

                                                                  */ - isActive?: boolean; + minPower?: number; /** - *

                                                                  The end-user license agreement URL for the image or blueprint.

                                                                  + *

                                                                  The version code.

                                                                  */ - licenseUrl?: string; + versionCode?: string; /** - *

                                                                  The version number of the operating system, application, or stack (e.g., - * 2016.03.0).

                                                                  + *

                                                                  The ID for the virtual private server image (e.g., app_wordpress_4_4 or + * app_lamp_7_0).

                                                                  */ - version?: string; + blueprintId?: string; /** - *

                                                                  The product URL to learn more about the image or blueprint.

                                                                  + *

                                                                  The description of the blueprint.

                                                                  */ - productUrl?: string; + description?: string; /** - *

                                                                  The type of the blueprint (e.g., os or app).

                                                                  + *

                                                                  The operating system platform (either Linux/Unix-based or Windows Server-based) of the + * blueprint.

                                                                  */ - type?: BlueprintType | string; + platform?: InstancePlatform | string; /** - *

                                                                  The minimum bundle power required to run this blueprint. For example, you need a bundle - * with a power value of 500 or more to create an instance that uses a blueprint with a minimum - * power value of 500. 0 indicates that the blueprint runs on all instance sizes. - *

                                                                  + *

                                                                  The group name of the blueprint (e.g., amazon-linux).

                                                                  */ - minPower?: number; + group?: string; /** - *

                                                                  The group name of the blueprint (e.g., amazon-linux).

                                                                  + *

                                                                  The product URL to learn more about the image or blueprint.

                                                                  */ - group?: string; + productUrl?: string; /** - *

                                                                  The version code.

                                                                  + *

                                                                  The friendly name of the blueprint (e.g., Amazon Linux).

                                                                  */ - versionCode?: string; + name?: string; /** - *

                                                                  The operating system platform (either Linux/Unix-based or Windows Server-based) of the - * blueprint.

                                                                  + *

                                                                  A Boolean value indicating whether the blueprint is active. Inactive blueprints are listed + * to support customers with existing instances but are not necessarily available for launch of + * new instances. Blueprints are marked inactive when they become outdated due to operating + * system updates or new application releases.

                                                                  */ - platform?: InstancePlatform | string; + isActive?: boolean; /** - *

                                                                  The description of the blueprint.

                                                                  + *

                                                                  The version number of the operating system, application, or stack (e.g., + * 2016.03.0).

                                                                  */ - description?: string; + version?: string; /** - *

                                                                  The ID for the virtual private server image (e.g., app_wordpress_4_4 or - * app_lamp_7_0).

                                                                  + *

                                                                  The end-user license agreement URL for the image or blueprint.

                                                                  */ - blueprintId?: string; + licenseUrl?: string; } export namespace Blueprint { @@ -1211,14 +1211,9 @@ export namespace Blueprint { */ export interface Bundle { /** - *

                                                                  The number of vCPUs included in the bundle (e.g., 2).

                                                                  - */ - cpuCount?: number; - - /** - *

                                                                  The price in US dollars (e.g., 5.0) of the bundle.

                                                                  + *

                                                                  A friendly name for the bundle (e.g., Micro).

                                                                  */ - price?: number; + name?: string; /** *

                                                                  The Amazon EC2 instance type (e.g., t2.micro).

                                                                  @@ -1226,14 +1221,9 @@ export interface Bundle { instanceType?: string; /** - *

                                                                  A Boolean value indicating whether the bundle is active.

                                                                  - */ - isActive?: boolean; - - /** - *

                                                                  The data transfer rate per month in GB (e.g., 2000).

                                                                  + *

                                                                  The bundle ID (e.g., micro_1_0).

                                                                  */ - transferPerMonthInGb?: number; + bundleId?: string; /** *

                                                                  A numeric value that represents the power of the bundle (e.g., 500). You can @@ -1244,15 +1234,35 @@ export interface Bundle { */ power?: number; + /** + *

                                                                  The number of vCPUs included in the bundle (e.g., 2).

                                                                  + */ + cpuCount?: number; + + /** + *

                                                                  The amount of RAM in GB (e.g., 2.0).

                                                                  + */ + ramSizeInGb?: number; + + /** + *

                                                                  The price in US dollars (e.g., 5.0) of the bundle.

                                                                  + */ + price?: number; + + /** + *

                                                                  The data transfer rate per month in GB (e.g., 2000).

                                                                  + */ + transferPerMonthInGb?: number; + /** *

                                                                  The size of the SSD (e.g., 30).

                                                                  */ diskSizeInGb?: number; /** - *

                                                                  The bundle ID (e.g., micro_1_0).

                                                                  + *

                                                                  A Boolean value indicating whether the bundle is active.

                                                                  */ - bundleId?: string; + isActive?: boolean; /** *

                                                                  The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle @@ -1261,16 +1271,6 @@ export interface Bundle { * LINUX_UNIX bundle.

                                                                  */ supportedPlatforms?: (InstancePlatform | string)[]; - - /** - *

                                                                  A friendly name for the bundle (e.g., Micro).

                                                                  - */ - name?: string; - - /** - *

                                                                  The amount of RAM in GB (e.g., 2.0).

                                                                  - */ - ramSizeInGb?: number; } export namespace Bundle { @@ -1489,11 +1489,6 @@ export enum HeaderEnum { *

                                                                  */ export interface HeaderObject { - /** - *

                                                                  The specific headers to forward to your distribution's origin.

                                                                  - */ - headersAllowList?: (HeaderEnum | string)[]; - /** *

                                                                  The headers that you want your distribution to forward to your origin and base caching * on.

                                                                  @@ -1524,6 +1519,11 @@ export interface HeaderObject { *
                                                                */ option?: ForwardValues | string; + + /** + *

                                                                The specific headers to forward to your distribution's origin.

                                                                + */ + headersAllowList?: (HeaderEnum | string)[]; } export namespace HeaderObject { @@ -1541,6 +1541,11 @@ export namespace HeaderObject { * requests.

                                                                */ export interface QueryStringObject { + /** + *

                                                                Indicates whether the distribution forwards and caches based on query strings.

                                                                + */ + option?: boolean; + /** *

                                                                The specific query strings that the distribution forwards to the origin.

                                                                * @@ -1551,11 +1556,6 @@ export interface QueryStringObject { * parameter.

                                                                */ queryStringsAllowList?: string[]; - - /** - *

                                                                Indicates whether the distribution forwards and caches based on query strings.

                                                                - */ - option?: boolean; } export namespace QueryStringObject { @@ -1573,6 +1573,32 @@ export namespace QueryStringObject { * cache.

                                                                */ export interface CacheSettings { + /** + *

                                                                An object that describes the query strings that are forwarded to the origin. Your content + * is cached based on the query strings that are forwarded.

                                                                + */ + forwardedQueryStrings?: QueryStringObject; + + /** + *

                                                                The HTTP method responses that are cached by your distribution.

                                                                + * + *

                                                                You can specify the following options:

                                                                + * + *
                                                                  + *
                                                                • + *

                                                                  + * GET,HEAD - The distribution caches responses to the GET and + * HEAD methods.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * GET,HEAD,OPTIONS - The distribution caches responses to the + * GET, HEAD, and OPTIONS methods.

                                                                  + *
                                                                • + *
                                                                + */ + cachedHTTPMethods?: string; + /** *

                                                                An object that describes the headers that are forwarded to the origin. Your content is * cached based on the headers that are forwarded.

                                                                @@ -1580,8 +1606,14 @@ export interface CacheSettings { forwardedHeaders?: HeaderObject; /** - *

                                                                The default amount of time that objects stay in the distribution's cache before the - * distribution forwards another request to the origin to determine whether the content has been + *

                                                                An object that describes the cookies that are forwarded to the origin. Your content is + * cached based on the cookies that are forwarded.

                                                                + */ + forwardedCookies?: CookieObject; + + /** + *

                                                                The default amount of time that objects stay in the distribution's cache before the + * distribution forwards another request to the origin to determine whether the content has been * updated.

                                                                * * @@ -1593,10 +1625,15 @@ export interface CacheSettings { defaultTTL?: number; /** - *

                                                                An object that describes the cookies that are forwarded to the origin. Your content is - * cached based on the cookies that are forwarded.

                                                                + *

                                                                The maximum amount of time that objects stay in the distribution's cache before the + * distribution forwards another request to the origin to determine whether the object has been + * updated.

                                                                + * + *

                                                                The value specified applies only when the origin adds HTTP headers such as + * Cache-Control max-age, Cache-Control s-maxage, and + * Expires to objects.

                                                                */ - forwardedCookies?: CookieObject; + maximumTTL?: number; /** *

                                                                The minimum amount of time that objects stay in the distribution's cache before the @@ -1637,43 +1674,6 @@ export interface CacheSettings { * not want users to have permission to delete objects from your origin.

                                                                */ allowedHTTPMethods?: string; - - /** - *

                                                                The HTTP method responses that are cached by your distribution.

                                                                - * - *

                                                                You can specify the following options:

                                                                - * - *
                                                                  - *
                                                                • - *

                                                                  - * GET,HEAD - The distribution caches responses to the GET and - * HEAD methods.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * GET,HEAD,OPTIONS - The distribution caches responses to the - * GET, HEAD, and OPTIONS methods.

                                                                  - *
                                                                • - *
                                                                - */ - cachedHTTPMethods?: string; - - /** - *

                                                                The maximum amount of time that objects stay in the distribution's cache before the - * distribution forwards another request to the origin to determine whether the object has been - * updated.

                                                                - * - *

                                                                The value specified applies only when the origin adds HTTP headers such as - * Cache-Control max-age, Cache-Control s-maxage, and - * Expires to objects.

                                                                - */ - maximumTTL?: number; - - /** - *

                                                                An object that describes the query strings that are forwarded to the origin. Your content - * is cached based on the query strings that are forwarded.

                                                                - */ - forwardedQueryStrings?: QueryStringObject; } export namespace CacheSettings { @@ -1693,14 +1693,14 @@ export interface ResourceRecord { name?: string; /** - *

                                                                The value for the DNS record.

                                                                + *

                                                                The DNS record type.

                                                                */ - value?: string; + type?: string; /** - *

                                                                The DNS record type.

                                                                + *

                                                                The value for the DNS record.

                                                                */ - type?: string; + value?: string; } export namespace ResourceRecord { @@ -1744,14 +1744,9 @@ export enum RenewalStatus { */ export interface RenewalSummary { /** - *

                                                                The timestamp when the certificate was last updated.

                                                                - */ - updatedAt?: Date; - - /** - *

                                                                An array of objects that describe the domain validation records of the certificate.

                                                                + *

                                                                The reason for the renewal status of the certificate.

                                                                */ - domainValidationRecords?: DomainValidationRecord[]; + renewalStatusReason?: string; /** *

                                                                The renewal status of the certificate.

                                                                @@ -1799,9 +1794,14 @@ export interface RenewalSummary { renewalStatus?: RenewalStatus | string; /** - *

                                                                The reason for the renewal status of the certificate.

                                                                + *

                                                                The timestamp when the certificate was last updated.

                                                                */ - renewalStatusReason?: string; + updatedAt?: Date; + + /** + *

                                                                An array of objects that describe the domain validation records of the certificate.

                                                                + */ + domainValidationRecords?: DomainValidationRecord[]; } export namespace RenewalSummary { @@ -1827,18 +1827,18 @@ export enum CertificateStatus { */ export interface Tag { /** - *

                                                                The value of the tag.

                                                                - *

                                                                Constraints: Tag values accept a maximum of 256 letters, numbers, spaces in UTF-8, or the + *

                                                                The key of the tag.

                                                                + *

                                                                Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in UTF-8, or the * following characters: + - = . _ : / @

                                                                */ - value?: string; + key?: string; /** - *

                                                                The key of the tag.

                                                                - *

                                                                Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in UTF-8, or the + *

                                                                The value of the tag.

                                                                + *

                                                                Constraints: Tag values accept a maximum of 256 letters, numbers, spaces in UTF-8, or the * following characters: + - = . _ : / @

                                                                */ - key?: string; + value?: string; } export namespace Tag { @@ -1858,10 +1858,34 @@ export namespace Tag { */ export interface Certificate { /** - *

                                                                The timestamp when the certificate was revoked. This value is present only when the - * certificate status is REVOKED.

                                                                + *

                                                                The timestamp when the certificate is first valid.

                                                                */ - revokedAt?: Date; + notBefore?: Date; + + /** + *

                                                                The name of the certificate (e.g., my-certificate).

                                                                + */ + name?: string; + + /** + *

                                                                The renewal eligibility of the certificate.

                                                                + */ + eligibleToRenew?: string; + + /** + *

                                                                The certificate authority that issued the certificate.

                                                                + */ + issuerCA?: string; + + /** + *

                                                                An array of objects that describe the domain validation records of the certificate.

                                                                + */ + domainValidationRecords?: DomainValidationRecord[]; + + /** + *

                                                                The timestamp when the certificate expires.

                                                                + */ + notAfter?: Date; /** *

                                                                The tag keys and optional values for the resource. For more information about tags in @@ -1882,15 +1906,33 @@ export interface Certificate { revocationReason?: string; /** - *

                                                                The timestamp when the certificate was created.

                                                                + *

                                                                The serial number of the certificate.

                                                                */ - createdAt?: Date; + serialNumber?: string; /** - *

                                                                An array of strings that specify the alternate domains (e.g., example2.com) - * and subdomains (e.g., blog.example.com) of the certificate.

                                                                + *

                                                                The timestamp when the certificate was revoked. This value is present only when the + * certificate status is REVOKED.

                                                                */ - subjectAlternativeNames?: string[]; + revokedAt?: Date; + + /** + *

                                                                The support code. Include this code in your email to support when you have questions about + * your Lightsail certificate. This code enables our support team to look up your Lightsail + * information more easily.

                                                                + */ + supportCode?: string; + + /** + *

                                                                An object that describes the status of the certificate renewal managed by + * Lightsail.

                                                                + */ + renewalSummary?: RenewalSummary; + + /** + *

                                                                The Amazon Resource Name (ARN) of the certificate.

                                                                + */ + arn?: string; /** *

                                                                The domain name of the certificate.

                                                                @@ -1903,20 +1945,15 @@ export interface Certificate { inUseResourceCount?: number; /** - *

                                                                The timestamp when the certificate was issued.

                                                                - */ - issuedAt?: Date; - - /** - *

                                                                The renewal eligibility of the certificate.

                                                                + *

                                                                An array of strings that specify the alternate domains (e.g., example2.com) + * and subdomains (e.g., blog.example.com) of the certificate.

                                                                */ - eligibleToRenew?: string; + subjectAlternativeNames?: string[]; /** - *

                                                                An object that describes the status of the certificate renewal managed by - * Lightsail.

                                                                + *

                                                                The timestamp when the certificate was issued.

                                                                */ - renewalSummary?: RenewalSummary; + issuedAt?: Date; /** *

                                                                The validation failure reason, if any, of the certificate.

                                                                @@ -1987,52 +2024,15 @@ export interface Certificate { requestFailureReason?: string; /** - *

                                                                The name of the certificate (e.g., my-certificate).

                                                                + *

                                                                The timestamp when the certificate was created.

                                                                */ - name?: string; + createdAt?: Date; /** *

                                                                The algorithm used to generate the key pair (the public and private key) of the * certificate.

                                                                */ keyAlgorithm?: string; - - /** - *

                                                                The support code. Include this code in your email to support when you have questions about - * your Lightsail certificate. This code enables our support team to look up your Lightsail - * information more easily.

                                                                - */ - supportCode?: string; - - /** - *

                                                                The Amazon Resource Name (ARN) of the certificate.

                                                                - */ - arn?: string; - - /** - *

                                                                The timestamp when the certificate is first valid.

                                                                - */ - notBefore?: Date; - - /** - *

                                                                An array of objects that describe the domain validation records of the certificate.

                                                                - */ - domainValidationRecords?: DomainValidationRecord[]; - - /** - *

                                                                The certificate authority that issued the certificate.

                                                                - */ - issuerCA?: string; - - /** - *

                                                                The serial number of the certificate.

                                                                - */ - serialNumber?: string; - - /** - *

                                                                The timestamp when the certificate expires.

                                                                - */ - notAfter?: Date; } export namespace Certificate { @@ -2046,9 +2046,9 @@ export namespace Certificate { */ export interface CertificateSummary { /** - *

                                                                The domain name of the certificate.

                                                                + *

                                                                An object that describes a certificate in detail.

                                                                */ - domainName?: string; + certificateDetail?: Certificate; /** *

                                                                The tag keys and optional values for the resource. For more information about tags in @@ -2058,19 +2058,19 @@ export interface CertificateSummary { tags?: Tag[]; /** - *

                                                                The Amazon Resource Name (ARN) of the certificate.

                                                                + *

                                                                The domain name of the certificate.

                                                                */ - certificateArn?: string; + domainName?: string; /** - *

                                                                An object that describes a certificate in detail.

                                                                + *

                                                                The name of the certificate.

                                                                */ - certificateDetail?: Certificate; + certificateName?: string; /** - *

                                                                The name of the certificate.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the certificate.

                                                                */ - certificateName?: string; + certificateArn?: string; } export namespace CertificateSummary { @@ -2092,31 +2092,21 @@ export enum NetworkProtocol { */ export interface PortInfo { /** - *

                                                                An alias that defines access for a preconfigured range of IP addresses.

                                                                - *

                                                                The only alias currently supported is lightsail-connect, which allows IP - * addresses of the browser-based RDP/SSH client in the Lightsail console to connect to your - * instance.

                                                                - */ - cidrListAliases?: string[]; - - /** - *

                                                                The IP address, or range of IP addresses in CIDR notation, that are allowed to connect to - * an instance through the ports, and the protocol. Lightsail supports IPv4 addresses.

                                                                - *

                                                                Examples:

                                                                + *

                                                                The first port in a range of open ports on an instance.

                                                                + *

                                                                Allowed ports:

                                                                *
                                                                  *
                                                                • - *

                                                                  To allow the IP address 192.0.2.44, specify 192.0.2.44 or - * 192.0.2.44/32.

                                                                  + *

                                                                  TCP and UDP - 0 to 65535 + *

                                                                  *
                                                                • *
                                                                • - *

                                                                  To allow the IP addresses 192.0.2.0 to 192.0.2.255, specify - * 192.0.2.0/24.

                                                                  + *

                                                                  ICMP - The ICMP type. For example, specify 8 as the fromPort + * (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP + * Ping. For more information, see Control Messages on Wikipedia.

                                                                  *
                                                                • *
                                                                - *

                                                                For more information about CIDR block notation, see Classless - * Inter-Domain Routing on Wikipedia.

                                                                */ - cidrs?: string[]; + fromPort?: number; /** *

                                                                The IP protocol name.

                                                                @@ -2158,21 +2148,23 @@ export interface PortInfo { protocol?: NetworkProtocol | string; /** - *

                                                                The first port in a range of open ports on an instance.

                                                                - *

                                                                Allowed ports:

                                                                + *

                                                                The IP address, or range of IP addresses in CIDR notation, that are allowed to connect to + * an instance through the ports, and the protocol. Lightsail supports IPv4 addresses.

                                                                + *

                                                                Examples:

                                                                *
                                                                  *
                                                                • - *

                                                                  TCP and UDP - 0 to 65535 - *

                                                                  + *

                                                                  To allow the IP address 192.0.2.44, specify 192.0.2.44 or + * 192.0.2.44/32.

                                                                  *
                                                                • *
                                                                • - *

                                                                  ICMP - The ICMP type. For example, specify 8 as the fromPort - * (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP - * Ping. For more information, see Control Messages on Wikipedia.

                                                                  + *

                                                                  To allow the IP addresses 192.0.2.0 to 192.0.2.255, specify + * 192.0.2.0/24.

                                                                  *
                                                                • *
                                                                + *

                                                                For more information about CIDR block notation, see Classless + * Inter-Domain Routing on Wikipedia.

                                                                */ - fromPort?: number; + cidrs?: string[]; /** *

                                                                The last port in a range of open ports on an instance.

                                                                @@ -2190,6 +2182,14 @@ export interface PortInfo { *
                                                              */ toPort?: number; + + /** + *

                                                              An alias that defines access for a preconfigured range of IP addresses.

                                                              + *

                                                              The only alias currently supported is lightsail-connect, which allows IP + * addresses of the browser-based RDP/SSH client in the Lightsail console to connect to your + * instance.

                                                              + */ + cidrListAliases?: string[]; } export namespace PortInfo { @@ -2235,14 +2235,14 @@ export namespace CloseInstancePublicPortsResult { */ export interface DestinationInfo { /** - *

                                                              The destination service of the record.

                                                              + *

                                                              The ID of the resource created at the destination.

                                                              */ - service?: string; + id?: string; /** - *

                                                              The ID of the resource created at the destination.

                                                              + *

                                                              The destination service of the record.

                                                              */ - id?: string; + service?: string; } export namespace DestinationInfo { @@ -2260,6 +2260,11 @@ export enum CloudFormationStackRecordSourceType { * record).

                                                              */ export interface CloudFormationStackRecordSourceInfo { + /** + *

                                                              The Amazon Resource Name (ARN) of the export snapshot record.

                                                              + */ + arn?: string; + /** *

                                                              The Lightsail resource type (e.g., ExportSnapshotRecord).

                                                              */ @@ -2269,11 +2274,6 @@ export interface CloudFormationStackRecordSourceInfo { *

                                                              The name of the record.

                                                              */ name?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) of the export snapshot record.

                                                              - */ - arn?: string; } export namespace CloudFormationStackRecordSourceInfo { @@ -2296,15 +2296,9 @@ export enum RecordState { */ export interface CloudFormationStackRecord { /** - *

                                                              The Lightsail resource type (e.g., CloudFormationStackRecord).

                                                              - */ - resourceType?: ResourceType | string; - - /** - *

                                                              A list of objects describing the Availability Zone and AWS Region of the CloudFormation - * stack record.

                                                              + *

                                                              A list of objects describing the source of the CloudFormation stack record.

                                                              */ - location?: ResourceLocation; + sourceInfo?: CloudFormationStackRecordSourceInfo[]; /** *

                                                              The date when the CloudFormation stack record was created.

                                                              @@ -2318,25 +2312,31 @@ export interface CloudFormationStackRecord { destinationInfo?: DestinationInfo; /** - *

                                                              The current state of the CloudFormation stack record.

                                                              + *

                                                              A list of objects describing the Availability Zone and AWS Region of the CloudFormation + * stack record.

                                                              */ - state?: RecordState | string; + location?: ResourceLocation; /** - *

                                                              The Amazon Resource Name (ARN) of the CloudFormation stack record.

                                                              + *

                                                              The current state of the CloudFormation stack record.

                                                              */ - arn?: string; + state?: RecordState | string; /** - *

                                                              A list of objects describing the source of the CloudFormation stack record.

                                                              + *

                                                              The Lightsail resource type (e.g., CloudFormationStackRecord).

                                                              */ - sourceInfo?: CloudFormationStackRecordSourceInfo[]; + resourceType?: ResourceType | string; /** *

                                                              The name of the CloudFormation stack record. It starts with * CloudFormationStackRecord followed by a GUID.

                                                              */ name?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the CloudFormation stack record.

                                                              + */ + arn?: string; } export namespace CloudFormationStackRecord { @@ -2357,32 +2357,9 @@ export enum ContactMethodStatus { */ export interface ContactMethod { /** - *

                                                              The Amazon Resource Name (ARN) of the contact method.

                                                              - */ - arn?: string; - - /** - *

                                                              The protocol of the contact method, such as email or SMS (text messaging).

                                                              - */ - protocol?: ContactProtocol | string; - - /** - *

                                                              The support code. Include this code in your email to support when you have questions about - * your Lightsail contact method. This code enables our support team to look up your - * Lightsail information more easily.

                                                              - */ - supportCode?: string; - - /** - *

                                                              The timestamp when the contact method was created.

                                                              - */ - createdAt?: Date; - - /** - *

                                                              The destination of the contact method, such as an email address or a mobile phone - * number.

                                                              + *

                                                              Describes the resource location.

                                                              */ - contactEndpoint?: string; + location?: ResourceLocation; /** *

                                                              The current status of the contact method.

                                                              @@ -2407,9 +2384,20 @@ export interface ContactMethod { status?: ContactMethodStatus | string; /** - *

                                                              Describes the resource location.

                                                              + *

                                                              The destination of the contact method, such as an email address or a mobile phone + * number.

                                                              */ - location?: ResourceLocation; + contactEndpoint?: string; + + /** + *

                                                              The timestamp when the contact method was created.

                                                              + */ + createdAt?: Date; + + /** + *

                                                              The protocol of the contact method, such as email or SMS (text messaging).

                                                              + */ + protocol?: ContactProtocol | string; /** *

                                                              The Lightsail resource type (e.g., ContactMethod).

                                                              @@ -2420,6 +2408,18 @@ export interface ContactMethod { *

                                                              The name of the contact method.

                                                              */ name?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the contact method.

                                                              + */ + arn?: string; + + /** + *

                                                              The support code. Include this code in your email to support when you have questions about + * your Lightsail contact method. This code enables our support team to look up your + * Lightsail information more easily.

                                                              + */ + supportCode?: string; } export namespace ContactMethod { @@ -2434,22 +2434,26 @@ export enum ContactMethodVerificationProtocol { export interface CopySnapshotRequest { /** - *

                                                              The AWS Region where the source manual or automatic snapshot is located.

                                                              + *

                                                              The name of the source manual snapshot to copy.

                                                              + *

                                                              Constraint:

                                                              + *
                                                                + *
                                                              • + *

                                                                Define this parameter only when copying a manual snapshot as another manual + * snapshot.

                                                                + *
                                                              • + *
                                                              */ - sourceRegion: RegionName | string | undefined; + sourceSnapshotName?: string; /** - *

                                                              The date of the source automatic snapshot to copy. Use the get auto snapshots - * operation to identify the dates of the available automatic snapshots.

                                                              + *

                                                              A Boolean value to indicate whether to use the latest available automatic snapshot of the + * specified source instance or disk.

                                                              *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                Must be specified in YYYY-MM-DD format.

                                                                - *
                                                              • - *
                                                              • - *

                                                                This parameter cannot be defined together with the use latest restorable auto - * snapshot parameter. The restore date and use latest restorable - * auto snapshot parameters are mutually exclusive.

                                                                + *

                                                                This parameter cannot be defined together with the restore date + * parameter. The use latest restorable auto snapshot and restore + * date parameters are mutually exclusive.

                                                                *
                                                              • *
                                                              • *

                                                                Define this parameter only when copying an automatic snapshot as a manual snapshot. @@ -2457,17 +2461,20 @@ export interface CopySnapshotRequest { *

                                                              • *
                                                              */ - restoreDate?: string; + useLatestRestorableAutoSnapshot?: boolean; /** - *

                                                              A Boolean value to indicate whether to use the latest available automatic snapshot of the - * specified source instance or disk.

                                                              + *

                                                              The date of the source automatic snapshot to copy. Use the get auto snapshots + * operation to identify the dates of the available automatic snapshots.

                                                              *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                This parameter cannot be defined together with the restore date - * parameter. The use latest restorable auto snapshot and restore - * date parameters are mutually exclusive.

                                                                + *

                                                                Must be specified in YYYY-MM-DD format.

                                                                + *
                                                              • + *
                                                              • + *

                                                                This parameter cannot be defined together with the use latest restorable auto + * snapshot parameter. The restore date and use latest restorable + * auto snapshot parameters are mutually exclusive.

                                                                *
                                                              • *
                                                              • *

                                                                Define this parameter only when copying an automatic snapshot as a manual snapshot. @@ -2475,24 +2482,17 @@ export interface CopySnapshotRequest { *

                                                              • *
                                                              */ - useLatestRestorableAutoSnapshot?: boolean; + restoreDate?: string; /** - *

                                                              The name of the new manual snapshot to be created as a copy.

                                                              + *

                                                              The AWS Region where the source manual or automatic snapshot is located.

                                                              */ - targetSnapshotName: string | undefined; + sourceRegion: RegionName | string | undefined; /** - *

                                                              The name of the source manual snapshot to copy.

                                                              - *

                                                              Constraint:

                                                              - *
                                                                - *
                                                              • - *

                                                                Define this parameter only when copying a manual snapshot as another manual - * snapshot.

                                                                - *
                                                              • - *
                                                              + *

                                                              The name of the new manual snapshot to be created as a copy.

                                                              */ - sourceSnapshotName?: string; + targetSnapshotName: string | undefined; /** *

                                                              The name of the source instance or disk from which the source automatic snapshot was @@ -2530,16 +2530,9 @@ export namespace CopySnapshotResult { export interface CreateCertificateRequest { /** - *

                                                              The tag keys and optional values to add to the certificate during create.

                                                              - * - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              - */ - tags?: Tag[]; - - /** - *

                                                              The name for the certificate.

                                                              + *

                                                              The domain name (e.g., example.com) for the certificate.

                                                              */ - certificateName: string | undefined; + domainName: string | undefined; /** *

                                                              An array of strings that specify the alternate domains (e.g., example2.com) @@ -2553,9 +2546,16 @@ export interface CreateCertificateRequest { subjectAlternativeNames?: string[]; /** - *

                                                              The domain name (e.g., example.com) for the certificate.

                                                              + *

                                                              The name for the certificate.

                                                              */ - domainName: string | undefined; + certificateName: string | undefined; + + /** + *

                                                              The tag keys and optional values to add to the certificate during create.

                                                              + * + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + */ + tags?: Tag[]; } export namespace CreateCertificateRequest { @@ -2565,16 +2565,16 @@ export namespace CreateCertificateRequest { } export interface CreateCertificateResult { - /** - *

                                                              An object that describes the certificate created.

                                                              - */ - certificate?: CertificateSummary; - /** *

                                                              An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

                                                              */ operations?: Operation[]; + + /** + *

                                                              An object that describes the certificate created.

                                                              + */ + certificate?: CertificateSummary; } export namespace CreateCertificateResult { @@ -2595,6 +2595,11 @@ export enum PortInfoSourceType { * create cloud formation stack operation.

                                                              */ export interface InstanceEntry { + /** + *

                                                              The Availability Zone for the new Amazon EC2 instance.

                                                              + */ + availabilityZone: string | undefined; + /** *

                                                              The name of the export snapshot record, which contains the exported Lightsail instance * snapshot that will be used as the source of the new Amazon EC2 instance.

                                                              @@ -2650,11 +2655,6 @@ export interface InstanceEntry { * */ userData?: string; - - /** - *

                                                              The Availability Zone for the new Amazon EC2 instance.

                                                              - */ - availabilityZone: string | undefined; } export namespace InstanceEntry { @@ -2758,9 +2758,9 @@ export namespace CreateContactMethodResult { export interface CreateDiskRequest { /** - *

                                                              The size of the disk in GB (e.g., 32).

                                                              + *

                                                              The unique Lightsail disk name (e.g., my-disk).

                                                              */ - sizeInGb: number | undefined; + diskName: string | undefined; /** *

                                                              An array of objects that represent the add-ons to enable for the new disk.

                                                              @@ -2768,9 +2768,10 @@ export interface CreateDiskRequest { addOns?: AddOnRequest[]; /** - *

                                                              The unique Lightsail disk name (e.g., my-disk).

                                                              + *

                                                              The tag keys and optional values to add to the resource during create.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              */ - diskName: string | undefined; + tags?: Tag[]; /** *

                                                              The Availability Zone where you want to create the disk (e.g., us-east-2a). @@ -2782,10 +2783,9 @@ export interface CreateDiskRequest { availabilityZone: string | undefined; /** - *

                                                              The tag keys and optional values to add to the resource during create.

                                                              - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + *

                                                              The size of the disk in GB (e.g., 32).

                                                              */ - tags?: Tag[]; + sizeInGb: number | undefined; } export namespace CreateDiskRequest { @@ -2810,13 +2810,18 @@ export namespace CreateDiskResult { export interface CreateDiskFromSnapshotRequest { /** - *

                                                              The name of the source disk from which the source automatic snapshot was created.

                                                              + *

                                                              The date of the automatic snapshot to use for the new disk. Use the get auto + * snapshots operation to identify the dates of the available automatic + * snapshots.

                                                              *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                This parameter cannot be defined together with the disk snapshot name - * parameter. The source disk name and disk snapshot name - * parameters are mutually exclusive.

                                                                + *

                                                                Must be specified in YYYY-MM-DD format.

                                                                + *
                                                              • + *
                                                              • + *

                                                                This parameter cannot be defined together with the use latest restorable auto + * snapshot parameter. The restore date and use latest restorable + * auto snapshot parameters are mutually exclusive.

                                                                *
                                                              • *
                                                              • *

                                                                Define this parameter only when creating a new disk from an automatic snapshot. For @@ -2824,12 +2829,7 @@ export interface CreateDiskFromSnapshotRequest { *

                                                              • *
                                                              */ - sourceDiskName?: string; - - /** - *

                                                              The unique Lightsail disk name (e.g., my-disk).

                                                              - */ - diskName: string | undefined; + restoreDate?: string; /** *

                                                              The size of the disk in GB (e.g., 32).

                                                              @@ -2837,23 +2837,26 @@ export interface CreateDiskFromSnapshotRequest { sizeInGb: number | undefined; /** - *

                                                              An array of objects that represent the add-ons to enable for the new disk.

                                                              - */ - addOns?: AddOnRequest[]; - - /** - *

                                                              The name of the disk snapshot (e.g., my-snapshot) from which to create the - * new storage disk.

                                                              - *

                                                              Constraint:

                                                              + *

                                                              The name of the source disk from which the source automatic snapshot was created.

                                                              + *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                This parameter cannot be defined together with the source disk name - * parameter. The disk snapshot name and source disk name + *

                                                                This parameter cannot be defined together with the disk snapshot name + * parameter. The source disk name and disk snapshot name * parameters are mutually exclusive.

                                                                *
                                                              • + *
                                                              • + *

                                                                Define this parameter only when creating a new disk from an automatic snapshot. For + * more information, see the Lightsail Dev Guide.

                                                                + *
                                                              • *
                                                              */ - diskSnapshotName?: string; + sourceDiskName?: string; + + /** + *

                                                              The unique Lightsail disk name (e.g., my-disk).

                                                              + */ + diskName: string | undefined; /** *

                                                              A Boolean value to indicate whether to use the latest available automatic snapshot.

                                                              @@ -2872,12 +2875,6 @@ export interface CreateDiskFromSnapshotRequest { */ useLatestRestorableAutoSnapshot?: boolean; - /** - *

                                                              The tag keys and optional values to add to the resource during create.

                                                              - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              - */ - tags?: Tag[]; - /** *

                                                              The Availability Zone where you want to create the disk (e.g., us-east-2a). * Choose the same Availability Zone as the Lightsail instance where you want to create the @@ -2888,26 +2885,29 @@ export interface CreateDiskFromSnapshotRequest { availabilityZone: string | undefined; /** - *

                                                              The date of the automatic snapshot to use for the new disk. Use the get auto - * snapshots operation to identify the dates of the available automatic - * snapshots.

                                                              - *

                                                              Constraints:

                                                              + *

                                                              An array of objects that represent the add-ons to enable for the new disk.

                                                              + */ + addOns?: AddOnRequest[]; + + /** + *

                                                              The tag keys and optional values to add to the resource during create.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + */ + tags?: Tag[]; + + /** + *

                                                              The name of the disk snapshot (e.g., my-snapshot) from which to create the + * new storage disk.

                                                              + *

                                                              Constraint:

                                                              *
                                                                *
                                                              • - *

                                                                Must be specified in YYYY-MM-DD format.

                                                                - *
                                                              • - *
                                                              • - *

                                                                This parameter cannot be defined together with the use latest restorable auto - * snapshot parameter. The restore date and use latest restorable - * auto snapshot parameters are mutually exclusive.

                                                                - *
                                                              • - *
                                                              • - *

                                                                Define this parameter only when creating a new disk from an automatic snapshot. For - * more information, see the Lightsail Dev Guide.

                                                                + *

                                                                This parameter cannot be defined together with the source disk name + * parameter. The disk snapshot name and source disk name + * parameters are mutually exclusive.

                                                                *
                                                              • *
                                                              */ - restoreDate?: string; + diskSnapshotName?: string; } export namespace CreateDiskFromSnapshotRequest { @@ -2932,14 +2932,10 @@ export namespace CreateDiskFromSnapshotResult { export interface CreateDiskSnapshotRequest { /** - *

                                                              The unique name of the source disk (e.g., Disk-Virginia-1).

                                                              - * - *

                                                              This parameter cannot be defined together with the instance name parameter. - * The disk name and instance name parameters are mutually - * exclusive.

                                                              - *
                                                              + *

                                                              The name of the destination disk snapshot (e.g., my-disk-snapshot) based on + * the source disk.

                                                              */ - diskName?: string; + diskSnapshotName: string | undefined; /** *

                                                              The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). @@ -2959,10 +2955,14 @@ export interface CreateDiskSnapshotRequest { tags?: Tag[]; /** - *

                                                              The name of the destination disk snapshot (e.g., my-disk-snapshot) based on - * the source disk.

                                                              + *

                                                              The unique name of the source disk (e.g., Disk-Virginia-1).

                                                              + * + *

                                                              This parameter cannot be defined together with the instance name parameter. + * The disk name and instance name parameters are mutually + * exclusive.

                                                              + *
                                                              */ - diskSnapshotName: string | undefined; + diskName?: string; } export namespace CreateDiskSnapshotRequest { @@ -2999,11 +2999,6 @@ export enum OriginProtocolPolicyEnum { * servers.

                                                              */ export interface InputOrigin { - /** - *

                                                              The AWS Region name of the origin resource.

                                                              - */ - regionName?: RegionName | string; - /** *

                                                              The protocol that your Amazon Lightsail distribution uses when establishing a connection * with your origin to pull content.

                                                              @@ -3014,6 +3009,11 @@ export interface InputOrigin { *

                                                              The name of the origin resource.

                                                              */ name?: string; + + /** + *

                                                              The AWS Region name of the origin resource.

                                                              + */ + regionName?: RegionName | string; } export namespace InputOrigin { @@ -3024,31 +3024,35 @@ export namespace InputOrigin { export interface CreateDistributionRequest { /** - *

                                                              The tag keys and optional values to add to the distribution during create.

                                                              - * - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + *

                                                              An object that describes the cache behavior settings for the distribution.

                                                              */ - tags?: Tag[]; + cacheBehaviorSettings?: CacheSettings; /** - *

                                                              The name for the distribution.

                                                              + *

                                                              The bundle ID to use for the distribution.

                                                              + * + *

                                                              A distribution bundle describes the specifications of your distribution, such as the + * monthly cost and monthly network transfer quota.

                                                              + * + *

                                                              Use the GetDistributionBundles action to get a list of distribution bundle + * IDs that you can specify.

                                                              */ - distributionName: string | undefined; + bundleId: string | undefined; /** - *

                                                              An array of objects that describe the per-path cache behavior for the distribution.

                                                              + *

                                                              An object that describes the default cache behavior for the distribution.

                                                              */ - cacheBehaviors?: CacheBehaviorPerPath[]; + defaultCacheBehavior: CacheBehavior | undefined; /** - *

                                                              An object that describes the cache behavior settings for the distribution.

                                                              + *

                                                              The name for the distribution.

                                                              */ - cacheBehaviorSettings?: CacheSettings; + distributionName: string | undefined; /** - *

                                                              An object that describes the default cache behavior for the distribution.

                                                              + *

                                                              An array of objects that describe the per-path cache behavior for the distribution.

                                                              */ - defaultCacheBehavior: CacheBehavior | undefined; + cacheBehaviors?: CacheBehaviorPerPath[]; /** *

                                                              An object that describes the origin resource for the distribution, such as a Lightsail @@ -3059,15 +3063,11 @@ export interface CreateDistributionRequest { origin: InputOrigin | undefined; /** - *

                                                              The bundle ID to use for the distribution.

                                                              - * - *

                                                              A distribution bundle describes the specifications of your distribution, such as the - * monthly cost and monthly network transfer quota.

                                                              + *

                                                              The tag keys and optional values to add to the distribution during create.

                                                              * - *

                                                              Use the GetDistributionBundles action to get a list of distribution bundle - * IDs that you can specify.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              */ - bundleId: string | undefined; + tags?: Tag[]; } export namespace CreateDistributionRequest { @@ -3085,17 +3085,17 @@ export namespace CreateDistributionRequest { * servers.

                                                              */ export interface Origin { - /** - *

                                                              The AWS Region name of the origin resource.

                                                              - */ - regionName?: RegionName | string; - /** *

                                                              The protocol that your Amazon Lightsail distribution uses when establishing a connection * with your origin to pull content.

                                                              */ protocolPolicy?: OriginProtocolPolicyEnum | string; + /** + *

                                                              The AWS Region name of the origin resource.

                                                              + */ + regionName?: RegionName | string; + /** *

                                                              The name of the origin resource.

                                                              */ @@ -3118,92 +3118,94 @@ export namespace Origin { */ export interface LightsailDistribution { /** - *

                                                              An array of objects that describe the per-path cache behavior of the distribution.

                                                              + *

                                                              The public DNS of the origin.

                                                              */ - cacheBehaviors?: CacheBehaviorPerPath[]; + originPublicDNS?: string; /** - *

                                                              An object that describes the location of the distribution, such as the AWS Region and - * Availability Zone.

                                                              - * - *

                                                              Lightsail distributions are global resources that can reference an origin in any AWS - * Region, and distribute its content globally. However, all distributions are located in the - * us-east-1 Region.

                                                              - *
                                                              + *

                                                              The timestamp when the distribution was created.

                                                              */ - location?: ResourceLocation; + createdAt?: Date; /** - *

                                                              The status of the distribution.

                                                              + *

                                                              The alternate domain names of the distribution.

                                                              */ - status?: string; + alternativeDomainNames?: string[]; /** - *

                                                              An object that describes the origin resource of the distribution, such as a Lightsail - * instance or load balancer.

                                                              - * - *

                                                              The distribution pulls, caches, and serves content from the origin.

                                                              + *

                                                              Indicates whether the distribution is enabled.

                                                              */ - origin?: Origin; + isEnabled?: boolean; /** - *

                                                              An object that describes the cache behavior settings of the distribution.

                                                              + *

                                                              The domain name of the distribution.

                                                              */ - cacheBehaviorSettings?: CacheSettings; + domainName?: string; /** - *

                                                              The public DNS of the origin.

                                                              + *

                                                              Indicates whether the bundle that is currently applied to your distribution, specified + * using the distributionName parameter, can be changed to another bundle.

                                                              + * + *

                                                              Use the UpdateDistributionBundle action to change your distribution's + * bundle.

                                                              */ - originPublicDNS?: string; + ableToUpdateBundle?: boolean; /** - *

                                                              The Lightsail resource type (e.g., Distribution).

                                                              + *

                                                              The ID of the bundle currently applied to the distribution.

                                                              */ - resourceType?: ResourceType | string; + bundleId?: string; /** - *

                                                              An object that describes the default cache behavior of the distribution.

                                                              + *

                                                              The name of the SSL/TLS certificate attached to the distribution, if any.

                                                              */ - defaultCacheBehavior?: CacheBehavior; + certificateName?: string; /** - *

                                                              The timestamp when the distribution was created.

                                                              + *

                                                              The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                              */ - createdAt?: Date; + tags?: Tag[]; /** - *

                                                              The Amazon Resource Name (ARN) of the distribution.

                                                              + *

                                                              An object that describes the default cache behavior of the distribution.

                                                              */ - arn?: string; + defaultCacheBehavior?: CacheBehavior; /** - *

                                                              Indicates whether the distribution is enabled.

                                                              + *

                                                              An object that describes the origin resource of the distribution, such as a Lightsail + * instance or load balancer.

                                                              + * + *

                                                              The distribution pulls, caches, and serves content from the origin.

                                                              */ - isEnabled?: boolean; + origin?: Origin; /** - *

                                                              The name of the SSL/TLS certificate attached to the distribution, if any.

                                                              + *

                                                              An object that describes the location of the distribution, such as the AWS Region and + * Availability Zone.

                                                              + * + *

                                                              Lightsail distributions are global resources that can reference an origin in any AWS + * Region, and distribute its content globally. However, all distributions are located in the + * us-east-1 Region.

                                                              + *
                                                              */ - certificateName?: string; + location?: ResourceLocation; /** - *

                                                              The domain name of the distribution.

                                                              + *

                                                              An array of objects that describe the per-path cache behavior of the distribution.

                                                              */ - domainName?: string; + cacheBehaviors?: CacheBehaviorPerPath[]; /** - *

                                                              Indicates whether the bundle that is currently applied to your distribution, specified - * using the distributionName parameter, can be changed to another bundle.

                                                              - * - *

                                                              Use the UpdateDistributionBundle action to change your distribution's - * bundle.

                                                              + *

                                                              The name of the distribution.

                                                              */ - ableToUpdateBundle?: boolean; + name?: string; /** - *

                                                              The name of the distribution.

                                                              + *

                                                              An object that describes the cache behavior settings of the distribution.

                                                              */ - name?: string; + cacheBehaviorSettings?: CacheSettings; /** *

                                                              The support code. Include this code in your email to support when you have questions about @@ -3213,21 +3215,19 @@ export interface LightsailDistribution { supportCode?: string; /** - *

                                                              The alternate domain names of the distribution.

                                                              + *

                                                              The status of the distribution.

                                                              */ - alternativeDomainNames?: string[]; + status?: string; /** - *

                                                              The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the distribution.

                                                              */ - tags?: Tag[]; + arn?: string; /** - *

                                                              The ID of the bundle currently applied to the distribution.

                                                              + *

                                                              The Lightsail resource type (e.g., Distribution).

                                                              */ - bundleId?: string; + resourceType?: ResourceType | string; } export namespace LightsailDistribution { @@ -3238,15 +3238,15 @@ export namespace LightsailDistribution { export interface CreateDistributionResult { /** - *

                                                              An array of objects that describe the result of the action, such as the status of the - * request, the timestamp of the request, and the resources affected by the request.

                                                              + *

                                                              An object that describes the distribution created.

                                                              */ - operation?: Operation; + distribution?: LightsailDistribution; /** - *

                                                              An object that describes the distribution created.

                                                              + *

                                                              An array of objects that describe the result of the action, such as the status of the + * request, the timestamp of the request, and the resources affected by the request.

                                                              */ - distribution?: LightsailDistribution; + operation?: Operation; } export namespace CreateDistributionResult { @@ -3256,6 +3256,12 @@ export namespace CreateDistributionResult { } export interface CreateDomainRequest { + /** + *

                                                              The tag keys and optional values to add to the resource during create.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + */ + tags?: Tag[]; + /** *

                                                              The domain name to manage (e.g., example.com).

                                                              * @@ -3266,12 +3272,6 @@ export interface CreateDomainRequest { * */ domainName: string | undefined; - - /** - *

                                                              The tag keys and optional values to add to the resource during create.

                                                              - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              - */ - tags?: Tag[]; } export namespace CreateDomainRequest { @@ -3298,20 +3298,6 @@ export namespace CreateDomainResult { *

                                                              Describes a domain recordset entry.

                                                              */ export interface DomainEntry { - /** - *

                                                              The target AWS name server (e.g., ns-111.awsdns-22.com.).

                                                              - *

                                                              For Lightsail load balancers, the value looks like - * ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. Be sure - * to also set isAlias to true when setting up an A record for a load - * balancer.

                                                              - */ - target?: string; - - /** - *

                                                              The ID of the domain recordset entry.

                                                              - */ - id?: string; - /** *

                                                              The name of the domain.

                                                              */ @@ -3326,6 +3312,11 @@ export interface DomainEntry { */ options?: { [key: string]: string }; + /** + *

                                                              The ID of the domain recordset entry.

                                                              + */ + id?: string; + /** *

                                                              When true, specifies whether the domain entry is an alias used by the * Lightsail load balancer. You can include an alias (A type) record in your request, which @@ -3333,6 +3324,15 @@ export interface DomainEntry { */ isAlias?: boolean; + /** + *

                                                              The target AWS name server (e.g., ns-111.awsdns-22.com.).

                                                              + *

                                                              For Lightsail load balancers, the value looks like + * ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. Be sure + * to also set isAlias to true when setting up an A record for a load + * balancer.

                                                              + */ + target?: string; + /** *

                                                              The type of domain entry, such as address (A), canonical name (CNAME), mail exchanger * (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT).

                                                              @@ -3385,16 +3385,16 @@ export namespace DomainEntry { } export interface CreateDomainEntryRequest { - /** - *

                                                              An array of key-value pairs containing information about the domain entry request.

                                                              - */ - domainEntry: DomainEntry | undefined; - /** *

                                                              The domain name (e.g., example.com) for which you want to create the domain * entry.

                                                              */ domainName: string | undefined; + + /** + *

                                                              An array of key-value pairs containing information about the domain entry request.

                                                              + */ + domainEntry: DomainEntry | undefined; } export namespace CreateDomainEntryRequest { @@ -3419,22 +3419,12 @@ export namespace CreateDomainEntryResult { export interface CreateInstancesRequest { /** - *

                                                              The ID for a virtual private server image (e.g., app_wordpress_4_4 or - * app_lamp_7_0). Use the get blueprints operation to return a list - * of available images (or blueprints).

                                                              - * - *

                                                              Use active blueprints when creating new instances. Inactive blueprints are listed to - * support customers with existing instances and are not necessarily available to create new - * instances. Blueprints are marked inactive when they become outdated due to operating system - * updates or new application releases.

                                                              - *
                                                              - */ - blueprintId: string | undefined; - - /** - *

                                                              The name of your key pair.

                                                              + *

                                                              The names to use for your new Lightsail instances. Separate multiple values using + * quotation marks and commas, for example: + * ["MyFirstInstance","MySecondInstance"] + *

                                                              */ - keyPairName?: string; + instanceNames: string[] | undefined; /** *

                                                              The bundle of specification information for your virtual private server (or @@ -3443,6 +3433,17 @@ export interface CreateInstancesRequest { */ bundleId: string | undefined; + /** + *

                                                              The tag keys and optional values to add to the resource during create.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + */ + tags?: Tag[]; + + /** + *

                                                              The name of your key pair.

                                                              + */ + keyPairName?: string; + /** *

                                                              The Availability Zone in which to create your instance. Use the following format: * us-east-2a (case sensitive). You can get a list of Availability Zones by using @@ -3453,18 +3454,26 @@ export interface CreateInstancesRequest { availabilityZone: string | undefined; /** - *

                                                              The names to use for your new Lightsail instances. Separate multiple values using - * quotation marks and commas, for example: - * ["MyFirstInstance","MySecondInstance"] - *

                                                              + *

                                                              (Deprecated) The name for your custom image.

                                                              + * + *

                                                              In releases prior to June 12, 2017, this parameter was ignored by the API. It is now + * deprecated.

                                                              + *
                                                              */ - instanceNames: string[] | undefined; + customImageName?: string; /** - *

                                                              The tag keys and optional values to add to the resource during create.

                                                              - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + *

                                                              The ID for a virtual private server image (e.g., app_wordpress_4_4 or + * app_lamp_7_0). Use the get blueprints operation to return a list + * of available images (or blueprints).

                                                              + * + *

                                                              Use active blueprints when creating new instances. Inactive blueprints are listed to + * support customers with existing instances and are not necessarily available to create new + * instances. Blueprints are marked inactive when they become outdated due to operating system + * updates or new application releases.

                                                              + *
                                                              */ - tags?: Tag[]; + blueprintId: string | undefined; /** *

                                                              A launch script you can create that configures a server with additional user data. For @@ -3482,15 +3491,6 @@ export interface CreateInstancesRequest { *

                                                              An array of objects representing the add-ons to enable for the new instance.

                                                              */ addOns?: AddOnRequest[]; - - /** - *

                                                              (Deprecated) The name for your custom image.

                                                              - * - *

                                                              In releases prior to June 12, 2017, this parameter was ignored by the API. It is now - * deprecated.

                                                              - *
                                                              - */ - customImageName?: string; } export namespace CreateInstancesRequest { @@ -3515,23 +3515,13 @@ export namespace CreateInstancesResult { export interface CreateInstancesFromSnapshotRequest { /** - *

                                                              The name for your key pair.

                                                              - */ - keyPairName?: string; - - /** - *

                                                              The date of the automatic snapshot to use for the new instance. Use the get auto - * snapshots operation to identify the dates of the available automatic - * snapshots.

                                                              + *

                                                              A Boolean value to indicate whether to use the latest available automatic snapshot.

                                                              *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                Must be specified in YYYY-MM-DD format.

                                                                - *
                                                              • - *
                                                              • - *

                                                                This parameter cannot be defined together with the use latest restorable auto - * snapshot parameter. The restore date and use latest restorable - * auto snapshot parameters are mutually exclusive.

                                                                + *

                                                                This parameter cannot be defined together with the restore date + * parameter. The use latest restorable auto snapshot and restore + * date parameters are mutually exclusive.

                                                                *
                                                              • *
                                                              • *

                                                                Define this parameter only when creating a new instance from an automatic snapshot. @@ -3539,14 +3529,18 @@ export interface CreateInstancesFromSnapshotRequest { *

                                                              • *
                                                              */ - restoreDate?: string; + useLatestRestorableAutoSnapshot?: boolean; /** - *

                                                              The bundle of specification information for your virtual private server (or - * instance), including the pricing plan (e.g., - * micro_1_0).

                                                              + *

                                                              The names for your new instances.

                                                              */ - bundleId: string | undefined; + instanceNames: string[] | undefined; + + /** + *

                                                              The tag keys and optional values to add to the resource during create.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + */ + tags?: Tag[]; /** *

                                                              The name of the source instance from which the source automatic snapshot was @@ -3567,13 +3561,16 @@ export interface CreateInstancesFromSnapshotRequest { sourceInstanceName?: string; /** - *

                                                              The Availability Zone where you want to create your instances. Use the following - * formatting: us-east-2a (case sensitive). You can get a list of Availability Zones - * by using the get - * regions operation. Be sure to add the include Availability Zones - * parameter to your request.

                                                              + *

                                                              You can create a launch script that configures a server with additional user data. For + * example, apt-get -y update.

                                                              + * + *

                                                              Depending on the machine image you choose, the command to get software on your instance + * varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use + * apt-get, and FreeBSD uses pkg. For a complete list, see the + * Dev Guide.

                                                              + *
                                                              */ - availabilityZone: string | undefined; + userData?: string; /** *

                                                              An object containing information about one or more disk mappings.

                                                              @@ -3581,33 +3578,18 @@ export interface CreateInstancesFromSnapshotRequest { attachedDiskMapping?: { [key: string]: DiskMap[] }; /** - *

                                                              The name of the instance snapshot on which you are basing your new instances. Use the get - * instance snapshots operation to return information about your existing snapshots.

                                                              - *

                                                              Constraint:

                                                              + *

                                                              The date of the automatic snapshot to use for the new instance. Use the get auto + * snapshots operation to identify the dates of the available automatic + * snapshots.

                                                              + *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                This parameter cannot be defined together with the source instance name - * parameter. The instance snapshot name and source instance name - * parameters are mutually exclusive.

                                                                + *

                                                                Must be specified in YYYY-MM-DD format.

                                                                *
                                                              • - *
                                                              - */ - instanceSnapshotName?: string; - - /** - *

                                                              The tag keys and optional values to add to the resource during create.

                                                              - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              - */ - tags?: Tag[]; - - /** - *

                                                              A Boolean value to indicate whether to use the latest available automatic snapshot.

                                                              - *

                                                              Constraints:

                                                              - *
                                                                *
                                                              • - *

                                                                This parameter cannot be defined together with the restore date - * parameter. The use latest restorable auto snapshot and restore - * date parameters are mutually exclusive.

                                                                + *

                                                                This parameter cannot be defined together with the use latest restorable auto + * snapshot parameter. The restore date and use latest restorable + * auto snapshot parameters are mutually exclusive.

                                                                *
                                                              • *
                                                              • *

                                                                Define this parameter only when creating a new instance from an automatic snapshot. @@ -3615,29 +3597,47 @@ export interface CreateInstancesFromSnapshotRequest { *

                                                              • *
                                                              */ - useLatestRestorableAutoSnapshot?: boolean; + restoreDate?: string; /** - *

                                                              You can create a launch script that configures a server with additional user data. For - * example, apt-get -y update.

                                                              - * - *

                                                              Depending on the machine image you choose, the command to get software on your instance - * varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use - * apt-get, and FreeBSD uses pkg. For a complete list, see the - * Dev Guide.

                                                              - *
                                                              + *

                                                              The Availability Zone where you want to create your instances. Use the following + * formatting: us-east-2a (case sensitive). You can get a list of Availability Zones + * by using the get + * regions operation. Be sure to add the include Availability Zones + * parameter to your request.

                                                              */ - userData?: string; + availabilityZone: string | undefined; /** - *

                                                              The names for your new instances.

                                                              + *

                                                              The name for your key pair.

                                                              */ - instanceNames: string[] | undefined; + keyPairName?: string; + + /** + *

                                                              The bundle of specification information for your virtual private server (or + * instance), including the pricing plan (e.g., + * micro_1_0).

                                                              + */ + bundleId: string | undefined; /** *

                                                              An array of objects representing the add-ons to enable for the new instance.

                                                              */ addOns?: AddOnRequest[]; + + /** + *

                                                              The name of the instance snapshot on which you are basing your new instances. Use the get + * instance snapshots operation to return information about your existing snapshots.

                                                              + *

                                                              Constraint:

                                                              + *
                                                                + *
                                                              • + *

                                                                This parameter cannot be defined together with the source instance name + * parameter. The instance snapshot name and source instance name + * parameters are mutually exclusive.

                                                                + *
                                                              • + *
                                                              + */ + instanceSnapshotName?: string; } export namespace CreateInstancesFromSnapshotRequest { @@ -3661,6 +3661,11 @@ export namespace CreateInstancesFromSnapshotResult { } export interface CreateInstanceSnapshotRequest { + /** + *

                                                              The Lightsail instance on which to base your snapshot.

                                                              + */ + instanceName: string | undefined; + /** *

                                                              The name for your new snapshot.

                                                              */ @@ -3671,11 +3676,6 @@ export interface CreateInstanceSnapshotRequest { *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              */ tags?: Tag[]; - - /** - *

                                                              The Lightsail instance on which to base your snapshot.

                                                              - */ - instanceName: string | undefined; } export namespace CreateInstanceSnapshotRequest { @@ -3700,15 +3700,15 @@ export namespace CreateInstanceSnapshotResult { export interface CreateKeyPairRequest { /** - *

                                                              The tag keys and optional values to add to the resource during create.

                                                              - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + *

                                                              The name for your new key pair.

                                                              */ - tags?: Tag[]; + keyPairName: string | undefined; /** - *

                                                              The name for your new key pair.

                                                              + *

                                                              The tag keys and optional values to add to the resource during create.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              */ - keyPairName: string | undefined; + tags?: Tag[]; } export namespace CreateKeyPairRequest { @@ -3722,20 +3722,21 @@ export namespace CreateKeyPairRequest { */ export interface KeyPair { /** - *

                                                              The friendly name of the SSH key pair.

                                                              + *

                                                              The timestamp when the key pair was created (e.g., 1479816991.349).

                                                              */ - name?: string; + createdAt?: Date; /** - *

                                                              The RSA fingerprint of the key pair.

                                                              + *

                                                              The resource type (usually KeyPair).

                                                              */ - fingerprint?: string; + resourceType?: ResourceType | string; /** - *

                                                              The Amazon Resource Name (ARN) of the key pair (e.g., - * arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).

                                                              + *

                                                              The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                              */ - arn?: string; + tags?: Tag[]; /** *

                                                              The support code. Include this code in your email to support when you have questions about @@ -3745,16 +3746,15 @@ export interface KeyPair { supportCode?: string; /** - *

                                                              The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                              + *

                                                              The friendly name of the SSH key pair.

                                                              */ - tags?: Tag[]; + name?: string; /** - *

                                                              The resource type (usually KeyPair).

                                                              + *

                                                              The Amazon Resource Name (ARN) of the key pair (e.g., + * arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).

                                                              */ - resourceType?: ResourceType | string; + arn?: string; /** *

                                                              The region name and Availability Zone where the key pair was created.

                                                              @@ -3762,9 +3762,9 @@ export interface KeyPair { location?: ResourceLocation; /** - *

                                                              The timestamp when the key pair was created (e.g., 1479816991.349).

                                                              + *

                                                              The RSA fingerprint of the key pair.

                                                              */ - createdAt?: Date; + fingerprint?: string; } export namespace KeyPair { @@ -3775,26 +3775,26 @@ export namespace KeyPair { export interface CreateKeyPairResult { /** - *

                                                              An array of objects that describe the result of the action, such as the status of the - * request, the timestamp of the request, and the resources affected by the request.

                                                              + *

                                                              An array of key-value pairs containing information about the new key pair you just + * created.

                                                              */ - operation?: Operation; + keyPair?: KeyPair; /** - *

                                                              A base64-encoded RSA private key.

                                                              + *

                                                              A base64-encoded public key of the ssh-rsa type.

                                                              */ - privateKeyBase64?: string; + publicKeyBase64?: string; /** - *

                                                              An array of key-value pairs containing information about the new key pair you just - * created.

                                                              + *

                                                              An array of objects that describe the result of the action, such as the status of the + * request, the timestamp of the request, and the resources affected by the request.

                                                              */ - keyPair?: KeyPair; + operation?: Operation; /** - *

                                                              A base64-encoded public key of the ssh-rsa type.

                                                              + *

                                                              A base64-encoded RSA private key.

                                                              */ - publicKeyBase64?: string; + privateKeyBase64?: string; } export namespace CreateKeyPairResult { @@ -3804,11 +3804,6 @@ export namespace CreateKeyPairResult { } export interface CreateLoadBalancerRequest { - /** - *

                                                              The instance port where you're creating your load balancer.

                                                              - */ - instancePort: number | undefined; - /** *

                                                              The path you provided to perform the load balancer health check. If you didn't specify a * health check path, Lightsail uses the root path of your website (e.g., @@ -3818,6 +3813,11 @@ export interface CreateLoadBalancerRequest { */ healthCheckPath?: string; + /** + *

                                                              The name of your load balancer.

                                                              + */ + loadBalancerName: string | undefined; + /** *

                                                              The domain name with which your certificate is associated (e.g., * example.com).

                                                              @@ -3827,16 +3827,10 @@ export interface CreateLoadBalancerRequest { certificateDomainName?: string; /** - *

                                                              The name of your load balancer.

                                                              - */ - loadBalancerName: string | undefined; - - /** - *

                                                              The name of the SSL/TLS certificate.

                                                              - *

                                                              If you specify certificateName, then certificateDomainName is - * required (and vice-versa).

                                                              + *

                                                              The tag keys and optional values to add to the resource during create.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              */ - certificateName?: string; + tags?: Tag[]; /** *

                                                              The optional alternative domains and subdomains to use with your SSL/TLS certificate @@ -3846,10 +3840,16 @@ export interface CreateLoadBalancerRequest { certificateAlternativeNames?: string[]; /** - *

                                                              The tag keys and optional values to add to the resource during create.

                                                              - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + *

                                                              The instance port where you're creating your load balancer.

                                                              */ - tags?: Tag[]; + instancePort: number | undefined; + + /** + *

                                                              The name of the SSL/TLS certificate.

                                                              + *

                                                              If you specify certificateName, then certificateDomainName is + * required (and vice-versa).

                                                              + */ + certificateName?: string; } export namespace CreateLoadBalancerRequest { @@ -3874,12 +3874,9 @@ export namespace CreateLoadBalancerResult { export interface CreateLoadBalancerTlsCertificateRequest { /** - *

                                                              An array of strings listing alternative domains and subdomains for your SSL/TLS - * certificate. Lightsail will de-dupe the names for you. You can have a maximum of 9 - * alternative names (in addition to the 1 primary domain). We do not support wildcards (e.g., - * *.example.com).

                                                              + *

                                                              The load balancer name where you want to create the SSL/TLS certificate.

                                                              */ - certificateAlternativeNames?: string[]; + loadBalancerName: string | undefined; /** *

                                                              The domain name (e.g., example.com) for your SSL/TLS certificate.

                                                              @@ -3887,15 +3884,12 @@ export interface CreateLoadBalancerTlsCertificateRequest { certificateDomainName: string | undefined; /** - *

                                                              The tag keys and optional values to add to the resource during create.

                                                              - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              - */ - tags?: Tag[]; - - /** - *

                                                              The load balancer name where you want to create the SSL/TLS certificate.

                                                              + *

                                                              An array of strings listing alternative domains and subdomains for your SSL/TLS + * certificate. Lightsail will de-dupe the names for you. You can have a maximum of 9 + * alternative names (in addition to the 1 primary domain). We do not support wildcards (e.g., + * *.example.com).

                                                              */ - loadBalancerName: string | undefined; + certificateAlternativeNames?: string[]; /** *

                                                              The SSL/TLS certificate name.

                                                              @@ -3905,6 +3899,12 @@ export interface CreateLoadBalancerTlsCertificateRequest { * information, see Limits.

                                                              */ certificateName: string | undefined; + + /** + *

                                                              The tag keys and optional values to add to the resource during create.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + */ + tags?: Tag[]; } export namespace CreateLoadBalancerTlsCertificateRequest { @@ -3929,51 +3929,60 @@ export namespace CreateLoadBalancerTlsCertificateResult { export interface CreateRelationalDatabaseRequest { /** - *

                                                              The daily time range during which automated backups are created for your new database if - * automated backups are enabled.

                                                              - *

                                                              The default is a 30-minute window selected at random from an 8-hour block of time for each - * AWS Region. For more information about the preferred backup window time blocks for each - * region, see the Working With Backups guide in the Amazon Relational Database Service (Amazon RDS) documentation.

                                                              + *

                                                              The master user name for your new database.

                                                              *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                Must be in the hh24:mi-hh24:mi format.

                                                                - *

                                                                Example: 16:00-16:30 - *

                                                                + *

                                                                Master user name is required.

                                                                *
                                                              • *
                                                              • - *

                                                                Specified in Coordinated Universal Time (UTC).

                                                                + *

                                                                Must contain from 1 to 16 alphanumeric characters.

                                                                *
                                                              • *
                                                              • - *

                                                                Must not conflict with the preferred maintenance window.

                                                                + *

                                                                The first character must be a letter.

                                                                *
                                                              • *
                                                              • - *

                                                                Must be at least 30 minutes.

                                                                + *

                                                                Cannot be a reserved word for the database engine you choose.

                                                                + *

                                                                For more information about reserved words in MySQL 5.6 or 5.7, see the Keywords and + * Reserved Words articles for MySQL 5.6 or MySQL 5.7 + * respectively.

                                                                *
                                                              • *
                                                              */ - preferredBackupWindow?: string; + masterUsername: string | undefined; /** - *

                                                              The name to use for your new database.

                                                              + *

                                                              The weekly time range during which system maintenance can occur on your new + * database.

                                                              + *

                                                              The default is a 30-minute window selected at random from an 8-hour block of time for each + * AWS Region, occurring on a random day of the week.

                                                              *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                Must contain from 2 to 255 alphanumeric characters, or hyphens.

                                                                + *

                                                                Must be in the ddd:hh24:mi-ddd:hh24:mi format.

                                                                *
                                                              • *
                                                              • - *

                                                                The first and last character must be a letter or number.

                                                                + *

                                                                Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                                                + *
                                                              • + *
                                                              • + *

                                                                Must be at least 30 minutes.

                                                                + *
                                                              • + *
                                                              • + *

                                                                Specified in Coordinated Universal Time (UTC).

                                                                + *
                                                              • + *
                                                              • + *

                                                                Example: Tue:17:00-Tue:17:30 + *

                                                                *
                                                              • *
                                                              */ - relationalDatabaseName: string | undefined; + preferredMaintenanceWindow?: string; /** - *

                                                              The password for the master user of your new database. The password can include any - * printable ASCII character except "/", """, or "@".

                                                              - *

                                                              Constraints: Must contain 8 to 41 characters.

                                                              + *

                                                              The tag keys and optional values to add to the resource during create.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              */ - masterUserPassword?: string; + tags?: Tag[]; /** *

                                                              The name of the master database created when the Lightsail database resource is @@ -3991,57 +4000,61 @@ export interface CreateRelationalDatabaseRequest { masterDatabaseName: string | undefined; /** - *

                                                              The bundle ID for your new database. A bundle describes the performance specifications for - * your database.

                                                              - *

                                                              You can get a list of database bundle IDs by using the get relational database - * bundles operation.

                                                              + *

                                                              The password for the master user of your new database. The password can include any + * printable ASCII character except "/", """, or "@".

                                                              + *

                                                              Constraints: Must contain 8 to 41 characters.

                                                              */ - relationalDatabaseBundleId: string | undefined; + masterUserPassword?: string; /** - *

                                                              Specifies the accessibility options for your new database. A value of true - * specifies a database that is available to resources outside of your Lightsail account. A - * value of false specifies a database that is available only to your Lightsail - * resources in the same region as your database.

                                                              + *

                                                              The blueprint ID for your new database. A blueprint describes the major engine version of + * a database.

                                                              + *

                                                              You can get a list of database blueprints IDs by using the get relational database + * blueprints operation.

                                                              */ - publiclyAccessible?: boolean; + relationalDatabaseBlueprintId: string | undefined; /** - *

                                                              The tag keys and optional values to add to the resource during create.

                                                              - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + *

                                                              The bundle ID for your new database. A bundle describes the performance specifications for + * your database.

                                                              + *

                                                              You can get a list of database bundle IDs by using the get relational database + * bundles operation.

                                                              */ - tags?: Tag[]; + relationalDatabaseBundleId: string | undefined; /** - *

                                                              The master user name for your new database.

                                                              + *

                                                              The daily time range during which automated backups are created for your new database if + * automated backups are enabled.

                                                              + *

                                                              The default is a 30-minute window selected at random from an 8-hour block of time for each + * AWS Region. For more information about the preferred backup window time blocks for each + * region, see the Working With Backups guide in the Amazon Relational Database Service (Amazon RDS) documentation.

                                                              *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                Master user name is required.

                                                                + *

                                                                Must be in the hh24:mi-hh24:mi format.

                                                                + *

                                                                Example: 16:00-16:30 + *

                                                                *
                                                              • *
                                                              • - *

                                                                Must contain from 1 to 16 alphanumeric characters.

                                                                + *

                                                                Specified in Coordinated Universal Time (UTC).

                                                                *
                                                              • *
                                                              • - *

                                                                The first character must be a letter.

                                                                + *

                                                                Must not conflict with the preferred maintenance window.

                                                                *
                                                              • *
                                                              • - *

                                                                Cannot be a reserved word for the database engine you choose.

                                                                - *

                                                                For more information about reserved words in MySQL 5.6 or 5.7, see the Keywords and - * Reserved Words articles for MySQL 5.6 or MySQL 5.7 - * respectively.

                                                                + *

                                                                Must be at least 30 minutes.

                                                                *
                                                              • *
                                                              */ - masterUsername: string | undefined; + preferredBackupWindow?: string; /** - *

                                                              The blueprint ID for your new database. A blueprint describes the major engine version of - * a database.

                                                              - *

                                                              You can get a list of database blueprints IDs by using the get relational database - * blueprints operation.

                                                              + *

                                                              Specifies the accessibility options for your new database. A value of true + * specifies a database that is available to resources outside of your Lightsail account. A + * value of false specifies a database that is available only to your Lightsail + * resources in the same region as your database.

                                                              */ - relationalDatabaseBlueprintId: string | undefined; + publiclyAccessible?: boolean; /** *

                                                              The Availability Zone in which to create your new database. Use the @@ -4053,31 +4066,18 @@ export interface CreateRelationalDatabaseRequest { availabilityZone?: string; /** - *

                                                              The weekly time range during which system maintenance can occur on your new - * database.

                                                              - *

                                                              The default is a 30-minute window selected at random from an 8-hour block of time for each - * AWS Region, occurring on a random day of the week.

                                                              + *

                                                              The name to use for your new database.

                                                              *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                Must be in the ddd:hh24:mi-ddd:hh24:mi format.

                                                                - *
                                                              • - *
                                                              • - *

                                                                Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                                                - *
                                                              • - *
                                                              • - *

                                                                Must be at least 30 minutes.

                                                                - *
                                                              • - *
                                                              • - *

                                                                Specified in Coordinated Universal Time (UTC).

                                                                + *

                                                                Must contain from 2 to 255 alphanumeric characters, or hyphens.

                                                                *
                                                              • *
                                                              • - *

                                                                Example: Tue:17:00-Tue:17:30 - *

                                                                + *

                                                                The first and last character must be a letter or number.

                                                                *
                                                              • *
                                                              */ - preferredMaintenanceWindow?: string; + relationalDatabaseName: string | undefined; } export namespace CreateRelationalDatabaseRequest { @@ -4103,31 +4103,27 @@ export namespace CreateRelationalDatabaseResult { export interface CreateRelationalDatabaseFromSnapshotRequest { /** - *

                                                              Specifies the accessibility options for your new database. A value of true - * specifies a database that is available to resources outside of your Lightsail account. A - * value of false specifies a database that is available only to your Lightsail - * resources in the same region as your database.

                                                              - */ - publiclyAccessible?: boolean; - - /** - *

                                                              The name to use for your new database.

                                                              + *

                                                              The date and time to restore your database from.

                                                              *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                Must contain from 2 to 255 alphanumeric characters, or hyphens.

                                                                + *

                                                                Must be before the latest restorable time for the database.

                                                                *
                                                              • *
                                                              • - *

                                                                The first and last character must be a letter or number.

                                                                + *

                                                                Cannot be specified if the use latest restorable time parameter is + * true.

                                                                + *
                                                              • + *
                                                              • + *

                                                                Specified in Coordinated Universal Time (UTC).

                                                                + *
                                                              • + *
                                                              • + *

                                                                Specified in the Unix time format.

                                                                + *

                                                                For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then + * you input 1538424000 as the restore time.

                                                                *
                                                              • *
                                                              */ - relationalDatabaseName: string | undefined; - - /** - *

                                                              The name of the database snapshot from which to create your new database.

                                                              - */ - relationalDatabaseSnapshotName?: string; + restoreTime?: Date; /** *

                                                              The bundle ID for your new database. A bundle describes the performance specifications for @@ -4140,38 +4136,46 @@ export interface CreateRelationalDatabaseFromSnapshotRequest { relationalDatabaseBundleId?: string; /** - *

                                                              The date and time to restore your database from.

                                                              + *

                                                              The name of the source database.

                                                              + */ + sourceRelationalDatabaseName?: string; + + /** + *

                                                              Specifies the accessibility options for your new database. A value of true + * specifies a database that is available to resources outside of your Lightsail account. A + * value of false specifies a database that is available only to your Lightsail + * resources in the same region as your database.

                                                              + */ + publiclyAccessible?: boolean; + + /** + *

                                                              The name to use for your new database.

                                                              *

                                                              Constraints:

                                                              *
                                                                *
                                                              • - *

                                                                Must be before the latest restorable time for the database.

                                                                - *
                                                              • - *
                                                              • - *

                                                                Cannot be specified if the use latest restorable time parameter is - * true.

                                                                - *
                                                              • - *
                                                              • - *

                                                                Specified in Coordinated Universal Time (UTC).

                                                                + *

                                                                Must contain from 2 to 255 alphanumeric characters, or hyphens.

                                                                *
                                                              • *
                                                              • - *

                                                                Specified in the Unix time format.

                                                                - *

                                                                For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then - * you input 1538424000 as the restore time.

                                                                + *

                                                                The first and last character must be a letter or number.

                                                                *
                                                              • *
                                                              */ - restoreTime?: Date; + relationalDatabaseName: string | undefined; /** - *

                                                              The tag keys and optional values to add to the resource during create.

                                                              - *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              + *

                                                              Specifies whether your database is restored from the latest backup time. A value of + * true restores from the latest backup time.

                                                              + *

                                                              Default: false + *

                                                              + *

                                                              Constraints: Cannot be specified if the restore time parameter is + * provided.

                                                              */ - tags?: Tag[]; + useLatestRestorableTime?: boolean; /** - *

                                                              The name of the source database.

                                                              + *

                                                              The name of the database snapshot from which to create your new database.

                                                              */ - sourceRelationalDatabaseName?: string; + relationalDatabaseSnapshotName?: string; /** *

                                                              The Availability Zone in which to create your new database. Use the @@ -4183,14 +4187,10 @@ export interface CreateRelationalDatabaseFromSnapshotRequest { availabilityZone?: string; /** - *

                                                              Specifies whether your database is restored from the latest backup time. A value of - * true restores from the latest backup time.

                                                              - *

                                                              Default: false - *

                                                              - *

                                                              Constraints: Cannot be specified if the restore time parameter is - * provided.

                                                              + *

                                                              The tag keys and optional values to add to the resource during create.

                                                              + *

                                                              Use the TagResource action to tag a resource after it's created.

                                                              */ - useLatestRestorableTime?: boolean; + tags?: Tag[]; } export namespace CreateRelationalDatabaseFromSnapshotRequest { @@ -4288,18 +4288,18 @@ export namespace DeleteAlarmResult { } export interface DeleteAutoSnapshotRequest { - /** - *

                                                              The name of the source instance or disk from which to delete the automatic - * snapshot.

                                                              - */ - resourceName: string | undefined; - /** *

                                                              The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the * get auto snapshots operation to get the available automatic snapshots for a * resource.

                                                              */ date: string | undefined; + + /** + *

                                                              The name of the source instance or disk from which to delete the automatic + * snapshot.

                                                              + */ + resourceName: string | undefined; } export namespace DeleteAutoSnapshotRequest { @@ -4534,16 +4534,16 @@ export namespace DeleteDomainEntryResult { }); } -export interface DeleteInstanceRequest { - /** - *

                                                              The name of the instance to delete.

                                                              - */ - instanceName: string | undefined; - +export interface DeleteInstanceRequest { /** *

                                                              A Boolean value to indicate whether to delete the enabled add-ons for the disk.

                                                              */ forceDeleteAddOns?: boolean; + + /** + *

                                                              The name of the instance to delete.

                                                              + */ + instanceName: string | undefined; } export namespace DeleteInstanceRequest { @@ -4715,11 +4715,6 @@ export namespace DeleteLoadBalancerTlsCertificateResult { } export interface DeleteRelationalDatabaseRequest { - /** - *

                                                              The name of the database that you are deleting.

                                                              - */ - relationalDatabaseName: string | undefined; - /** *

                                                              The name of the database snapshot created if skip final snapshot is * false, which is the default value for that parameter.

                                                              @@ -4749,6 +4744,11 @@ export interface DeleteRelationalDatabaseRequest { *

                                                              */ skipFinalSnapshot?: boolean; + + /** + *

                                                              The name of the database that you are deleting.

                                                              + */ + relationalDatabaseName: string | undefined; } export namespace DeleteRelationalDatabaseRequest { @@ -4961,103 +4961,103 @@ export enum DiskState { */ export interface Disk { /** - *

                                                              (Deprecated) The attachment state of the disk.

                                                              - * - *

                                                              In releases prior to November 14, 2017, this parameter returned attached - * for system disks in the API response. It is now deprecated, but still included in the - * response. Use isAttached instead.

                                                              - *
                                                              + *

                                                              An array of objects representing the add-ons enabled on the disk.

                                                              */ - attachmentState?: string; + addOns?: AddOn[]; /** - *

                                                              (Deprecated) The number of GB in use by the disk.

                                                              - * - *

                                                              In releases prior to November 14, 2017, this parameter was not included in the API - * response. It is now deprecated.

                                                              - *
                                                              + *

                                                              The support code. Include this code in your email to support when you have questions about + * an instance or another resource in Lightsail. This code enables our support team to look up + * your Lightsail information more easily.

                                                              */ - gbInUse?: number; + supportCode?: string; /** - *

                                                              The date when the disk was created.

                                                              + *

                                                              A Boolean value indicating whether the disk is attached.

                                                              */ - createdAt?: Date; + isAttached?: boolean; /** - *

                                                              The input/output operations per second (IOPS) of the disk.

                                                              + *

                                                              The AWS Region and Availability Zone where the disk is located.

                                                              */ - iops?: number; + location?: ResourceLocation; /** - *

                                                              The disk path.

                                                              + *

                                                              Describes the status of the disk.

                                                              */ - path?: string; + state?: DiskState | string; /** - *

                                                              The resources to which the disk is attached.

                                                              + *

                                                              The input/output operations per second (IOPS) of the disk.

                                                              */ - attachedTo?: string; + iops?: number; /** - *

                                                              The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                              + *

                                                              The Lightsail resource type (e.g., Disk).

                                                              */ - tags?: Tag[]; + resourceType?: ResourceType | string; /** - *

                                                              Describes the status of the disk.

                                                              + *

                                                              (Deprecated) The number of GB in use by the disk.

                                                              + * + *

                                                              In releases prior to November 14, 2017, this parameter was not included in the API + * response. It is now deprecated.

                                                              + *
                                                              */ - state?: DiskState | string; + gbInUse?: number; /** - *

                                                              The AWS Region and Availability Zone where the disk is located.

                                                              + *

                                                              The unique name of the disk.

                                                              */ - location?: ResourceLocation; + name?: string; /** - *

                                                              A Boolean value indicating whether this disk is a system disk (has an operating system - * loaded on it).

                                                              + *

                                                              The Amazon Resource Name (ARN) of the disk.

                                                              */ - isSystemDisk?: boolean; + arn?: string; /** - *

                                                              The size of the disk in GB.

                                                              + *

                                                              The resources to which the disk is attached.

                                                              */ - sizeInGb?: number; + attachedTo?: string; /** - *

                                                              An array of objects representing the add-ons enabled on the disk.

                                                              + *

                                                              The disk path.

                                                              */ - addOns?: AddOn[]; + path?: string; /** - *

                                                              The support code. Include this code in your email to support when you have questions about - * an instance or another resource in Lightsail. This code enables our support team to look up - * your Lightsail information more easily.

                                                              + *

                                                              The size of the disk in GB.

                                                              */ - supportCode?: string; + sizeInGb?: number; /** - *

                                                              The Amazon Resource Name (ARN) of the disk.

                                                              + *

                                                              The date when the disk was created.

                                                              */ - arn?: string; + createdAt?: Date; /** - *

                                                              The Lightsail resource type (e.g., Disk).

                                                              + *

                                                              (Deprecated) The attachment state of the disk.

                                                              + * + *

                                                              In releases prior to November 14, 2017, this parameter returned attached + * for system disks in the API response. It is now deprecated, but still included in the + * response. Use isAttached instead.

                                                              + *
                                                              */ - resourceType?: ResourceType | string; + attachmentState?: string; /** - *

                                                              The unique name of the disk.

                                                              + *

                                                              A Boolean value indicating whether this disk is a system disk (has an operating system + * loaded on it).

                                                              */ - name?: string; + isSystemDisk?: boolean; /** - *

                                                              A Boolean value indicating whether the disk is attached.

                                                              + *

                                                              The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                              */ - isAttached?: boolean; + tags?: Tag[]; } export namespace Disk { @@ -5071,10 +5071,9 @@ export namespace Disk { */ export interface DiskInfo { /** - *

                                                              A Boolean value indicating whether this disk is a system disk (has an operating system - * loaded on it).

                                                              + *

                                                              The size of the disk in GB (e.g., 32).

                                                              */ - isSystemDisk?: boolean; + sizeInGb?: number; /** *

                                                              The disk path.

                                                              @@ -5082,14 +5081,15 @@ export interface DiskInfo { path?: string; /** - *

                                                              The disk name.

                                                              + *

                                                              A Boolean value indicating whether this disk is a system disk (has an operating system + * loaded on it).

                                                              */ - name?: string; + isSystemDisk?: boolean; /** - *

                                                              The size of the disk in GB (e.g., 32).

                                                              + *

                                                              The disk name.

                                                              */ - sizeInGb?: number; + name?: string; } export namespace DiskInfo { @@ -5110,11 +5110,14 @@ export enum DiskSnapshotState { */ export interface DiskSnapshot { /** - *

                                                              The support code. Include this code in your email to support when you have questions about - * an instance or another resource in Lightsail. This code enables our support team to look up - * your Lightsail information more easily.

                                                              + *

                                                              The status of the disk snapshot operation.

                                                              */ - supportCode?: string; + state?: DiskSnapshotState | string; + + /** + *

                                                              The size of the disk in GB.

                                                              + */ + sizeInGb?: number; /** *

                                                              The AWS Region and Availability Zone where the disk snapshot was created.

                                                              @@ -5122,20 +5125,22 @@ export interface DiskSnapshot { location?: ResourceLocation; /** - *

                                                              The status of the disk snapshot operation.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the source disk from which the disk snapshot was + * created.

                                                              */ - state?: DiskSnapshotState | string; + fromDiskArn?: string; /** - *

                                                              The Lightsail resource type (e.g., DiskSnapshot).

                                                              + *

                                                              The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                              */ - resourceType?: ResourceType | string; + tags?: Tag[]; /** - *

                                                              The unique name of the source instance from which the disk (system volume) snapshot was - * created.

                                                              + *

                                                              The name of the disk snapshot (e.g., my-disk-snapshot).

                                                              */ - fromInstanceName?: string; + name?: string; /** *

                                                              The progress of the disk snapshot operation.

                                                              @@ -5143,20 +5148,20 @@ export interface DiskSnapshot { progress?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the source instance from which the disk (system volume) - * snapshot was created.

                                                              + *

                                                              The unique name of the source disk from which the disk snapshot was created.

                                                              */ - fromInstanceArn?: string; + fromDiskName?: string; /** - *

                                                              The name of the disk snapshot (e.g., my-disk-snapshot).

                                                              + *

                                                              The unique name of the source instance from which the disk (system volume) snapshot was + * created.

                                                              */ - name?: string; + fromInstanceName?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the disk snapshot.

                                                              + *

                                                              The date when the disk snapshot was created.

                                                              */ - arn?: string; + createdAt?: Date; /** *

                                                              A Boolean value indicating whether the snapshot was created from an automatic @@ -5165,32 +5170,27 @@ export interface DiskSnapshot { isFromAutoSnapshot?: boolean; /** - *

                                                              The date when the disk snapshot was created.

                                                              - */ - createdAt?: Date; - - /** - *

                                                              The size of the disk in GB.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the source instance from which the disk (system volume) + * snapshot was created.

                                                              */ - sizeInGb?: number; + fromInstanceArn?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the source disk from which the disk snapshot was - * created.

                                                              + *

                                                              The Lightsail resource type (e.g., DiskSnapshot).

                                                              */ - fromDiskArn?: string; + resourceType?: ResourceType | string; /** - *

                                                              The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the disk snapshot.

                                                              */ - tags?: Tag[]; + arn?: string; /** - *

                                                              The unique name of the source disk from which the disk snapshot was created.

                                                              + *

                                                              The support code. Include this code in your email to support when you have questions about + * an instance or another resource in Lightsail. This code enables our support team to look up + * your Lightsail information more easily.

                                                              */ - fromDiskName?: string; + supportCode?: string; } export namespace DiskSnapshot { @@ -5220,14 +5220,10 @@ export namespace DiskSnapshotInfo { */ export interface DistributionBundle { /** - *

                                                              The name of the distribution bundle.

                                                              - */ - name?: string; - - /** - *

                                                              The ID of the bundle.

                                                              + *

                                                              Indicates whether the bundle is active, and can be specified for a new + * distribution.

                                                              */ - bundleId?: string; + isActive?: boolean; /** *

                                                              The monthly network transfer quota of the bundle.

                                                              @@ -5235,15 +5231,19 @@ export interface DistributionBundle { transferPerMonthInGb?: number; /** - *

                                                              Indicates whether the bundle is active, and can be specified for a new - * distribution.

                                                              + *

                                                              The name of the distribution bundle.

                                                              */ - isActive?: boolean; + name?: string; /** *

                                                              The monthly price, in US dollars, of the bundle.

                                                              */ price?: number; + + /** + *

                                                              The ID of the bundle.

                                                              + */ + bundleId?: string; } export namespace DistributionBundle { @@ -5266,14 +5266,11 @@ export enum DistributionMetricName { */ export interface Domain { /** - *

                                                              The AWS Region and Availability Zones where the domain recordset was created.

                                                              - */ - location?: ResourceLocation; - - /** - *

                                                              An array of key-value pairs containing information about the domain entries.

                                                              + *

                                                              The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                              */ - domainEntries?: DomainEntry[]; + tags?: Tag[]; /** *

                                                              The date when the domain recordset was created.

                                                              @@ -5286,29 +5283,32 @@ export interface Domain { resourceType?: ResourceType | string; /** - *

                                                              The support code. Include this code in your email to support when you have questions about - * an instance or another resource in Lightsail. This code enables our support team to look up - * your Lightsail information more easily.

                                                              + *

                                                              The AWS Region and Availability Zones where the domain recordset was created.

                                                              */ - supportCode?: string; + location?: ResourceLocation; /** - *

                                                              The name of the domain.

                                                              + *

                                                              An array of key-value pairs containing information about the domain entries.

                                                              */ - name?: string; + domainEntries?: DomainEntry[]; /** - *

                                                              The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                              + *

                                                              The support code. Include this code in your email to support when you have questions about + * an instance or another resource in Lightsail. This code enables our support team to look up + * your Lightsail information more easily.

                                                              */ - tags?: Tag[]; + supportCode?: string; /** *

                                                              The Amazon Resource Name (ARN) of the domain recordset (e.g., * arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).

                                                              */ arn?: string; + + /** + *

                                                              The name of the domain.

                                                              + */ + name?: string; } export namespace Domain { @@ -5345,14 +5345,14 @@ export namespace DownloadDefaultKeyPairResult { export interface EnableAddOnRequest { /** - *

                                                              An array of strings representing the add-on to enable or modify.

                                                              + *

                                                              The name of the source resource for which to enable or modify the add-on.

                                                              */ - addOnRequest: AddOnRequest | undefined; + resourceName: string | undefined; /** - *

                                                              The name of the source resource for which to enable or modify the add-on.

                                                              + *

                                                              An array of strings representing the add-on to enable or modify.

                                                              */ - resourceName: string | undefined; + addOnRequest: AddOnRequest | undefined; } export namespace EnableAddOnRequest { @@ -5407,9 +5407,10 @@ export namespace ExportSnapshotResult { */ export interface InstanceSnapshotInfo { /** - *

                                                              The blueprint ID from which the source instance (e.g., os_debian_8_3).

                                                              + *

                                                              The bundle ID from which the source instance was created (e.g., + * micro_1_0).

                                                              */ - fromBlueprintId?: string; + fromBundleId?: string; /** *

                                                              A list of objects describing the disks that were attached to the source instance.

                                                              @@ -5417,10 +5418,9 @@ export interface InstanceSnapshotInfo { fromDiskInfo?: DiskInfo[]; /** - *

                                                              The bundle ID from which the source instance was created (e.g., - * micro_1_0).

                                                              + *

                                                              The blueprint ID from which the source instance (e.g., os_debian_8_3).

                                                              */ - fromBundleId?: string; + fromBlueprintId?: string; } export namespace InstanceSnapshotInfo { @@ -5439,14 +5439,14 @@ export enum ExportSnapshotRecordSourceType { */ export interface ExportSnapshotRecordSourceInfo { /** - *

                                                              A list of objects describing an instance snapshot.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the snapshot's source instance or disk.

                                                              */ - instanceSnapshotInfo?: InstanceSnapshotInfo; + fromResourceArn?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the source instance or disk snapshot.

                                                              + *

                                                              The date when the source instance or disk snapshot was created.

                                                              */ - arn?: string; + createdAt?: Date; /** *

                                                              The name of the snapshot's source instance or disk.

                                                              @@ -5454,24 +5454,24 @@ export interface ExportSnapshotRecordSourceInfo { fromResourceName?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the snapshot's source instance or disk.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the source instance or disk snapshot.

                                                              */ - fromResourceArn?: string; + arn?: string; /** - *

                                                              The date when the source instance or disk snapshot was created.

                                                              + *

                                                              A list of objects describing an instance snapshot.

                                                              */ - createdAt?: Date; + instanceSnapshotInfo?: InstanceSnapshotInfo; /** - *

                                                              The name of the source instance or disk snapshot.

                                                              + *

                                                              A list of objects describing a disk snapshot.

                                                              */ - name?: string; + diskSnapshotInfo?: DiskSnapshotInfo; /** - *

                                                              A list of objects describing a disk snapshot.

                                                              + *

                                                              The name of the source instance or disk snapshot.

                                                              */ - diskSnapshotInfo?: DiskSnapshotInfo; + name?: string; /** *

                                                              The Lightsail resource type (e.g., InstanceSnapshot or @@ -5491,19 +5491,19 @@ export namespace ExportSnapshotRecordSourceInfo { */ export interface ExportSnapshotRecord { /** - *

                                                              The Amazon Resource Name (ARN) of the export snapshot record.

                                                              + *

                                                              The AWS Region and Availability Zone where the export snapshot record is located.

                                                              */ - arn?: string; + location?: ResourceLocation; /** - *

                                                              A list of objects describing the source of the export snapshot record.

                                                              + *

                                                              The state of the export snapshot record.

                                                              */ - sourceInfo?: ExportSnapshotRecordSourceInfo; + state?: RecordState | string; /** - *

                                                              The state of the export snapshot record.

                                                              + *

                                                              The date when the export snapshot record was created.

                                                              */ - state?: RecordState | string; + createdAt?: Date; /** *

                                                              A list of objects describing the destination of the export snapshot record.

                                                              @@ -5511,19 +5511,19 @@ export interface ExportSnapshotRecord { destinationInfo?: DestinationInfo; /** - *

                                                              The date when the export snapshot record was created.

                                                              + *

                                                              A list of objects describing the source of the export snapshot record.

                                                              */ - createdAt?: Date; + sourceInfo?: ExportSnapshotRecordSourceInfo; /** - *

                                                              The Lightsail resource type (e.g., ExportSnapshotRecord).

                                                              + *

                                                              The Amazon Resource Name (ARN) of the export snapshot record.

                                                              */ - resourceType?: ResourceType | string; + arn?: string; /** - *

                                                              The AWS Region and Availability Zone where the export snapshot record is located.

                                                              + *

                                                              The Lightsail resource type (e.g., ExportSnapshotRecord).

                                                              */ - location?: ResourceLocation; + resourceType?: ResourceType | string; /** *

                                                              The export snapshot record name.

                                                              @@ -5554,6 +5554,11 @@ export namespace GetActiveNamesRequest { } export interface GetActiveNamesResult { + /** + *

                                                              The list of active names returned by the get active names request.

                                                              + */ + activeNames?: string[]; + /** *

                                                              The token to advance to the next page of resutls from your request.

                                                              *

                                                              A next page token is not returned if there are no more results to display.

                                                              @@ -5561,11 +5566,6 @@ export interface GetActiveNamesResult { * specify the next page token using the pageToken parameter.

                                                              */ nextPageToken?: string; - - /** - *

                                                              The list of active names returned by the get active names request.

                                                              - */ - activeNames?: string[]; } export namespace GetActiveNamesResult { @@ -5575,13 +5575,6 @@ export namespace GetActiveNamesResult { } export interface GetAlarmsRequest { - /** - *

                                                              The name of the Lightsail resource being monitored by the alarm.

                                                              - *

                                                              Specify a monitored resource name to return information about all alarms for a specific - * resource.

                                                              - */ - monitoredResourceName?: string; - /** *

                                                              The token to advance to the next page of results from your request.

                                                              *

                                                              To get a page token, perform an initial GetAlarms request. If your results @@ -5595,6 +5588,13 @@ export interface GetAlarmsRequest { *

                                                              Specify an alarm name to return information about a specific alarm.

                                                              */ alarmName?: string; + + /** + *

                                                              The name of the Lightsail resource being monitored by the alarm.

                                                              + *

                                                              Specify a monitored resource name to return information about all alarms for a specific + * resource.

                                                              + */ + monitoredResourceName?: string; } export namespace GetAlarmsRequest { @@ -5640,10 +5640,9 @@ export namespace GetAutoSnapshotsRequest { export interface GetAutoSnapshotsResult { /** - *

                                                              An array of objects that describe the automatic snapshots that are available for the - * specified source instance or disk.

                                                              + *

                                                              The name of the source instance or disk for the automatic snapshots.

                                                              */ - autoSnapshots?: AutoSnapshotDetails[]; + resourceName?: string; /** *

                                                              The resource type (e.g., Instance or Disk).

                                                              @@ -5651,9 +5650,10 @@ export interface GetAutoSnapshotsResult { resourceType?: ResourceType | string; /** - *

                                                              The name of the source instance or disk for the automatic snapshots.

                                                              + *

                                                              An array of objects that describe the automatic snapshots that are available for the + * specified source instance or disk.

                                                              */ - resourceName?: string; + autoSnapshots?: AutoSnapshotDetails[]; } export namespace GetAutoSnapshotsResult { @@ -5663,6 +5663,11 @@ export namespace GetAutoSnapshotsResult { } export interface GetBlueprintsRequest { + /** + *

                                                              A Boolean value indicating whether to include inactive results in your request.

                                                              + */ + includeInactive?: boolean; + /** *

                                                              The token to advance to the next page of results from your request.

                                                              *

                                                              To get a page token, perform an initial GetBlueprints request. If your @@ -5670,11 +5675,6 @@ export interface GetBlueprintsRequest { * page token in a subsequent request.

                                                              */ pageToken?: string; - - /** - *

                                                              A Boolean value indicating whether to include inactive results in your request.

                                                              - */ - includeInactive?: boolean; } export namespace GetBlueprintsRequest { @@ -5706,6 +5706,12 @@ export namespace GetBlueprintsResult { } export interface GetBundlesRequest { + /** + *

                                                              A Boolean value that indicates whether to include inactive bundle results in your + * request.

                                                              + */ + includeInactive?: boolean; + /** *

                                                              The token to advance to the next page of results from your request.

                                                              *

                                                              To get a page token, perform an initial GetBundles request. If your results @@ -5713,12 +5719,6 @@ export interface GetBundlesRequest { * token in a subsequent request.

                                                              */ pageToken?: string; - - /** - *

                                                              A Boolean value that indicates whether to include inactive bundle results in your - * request.

                                                              - */ - includeInactive?: boolean; } export namespace GetBundlesRequest { @@ -5728,11 +5728,6 @@ export namespace GetBundlesRequest { } export interface GetBundlesResult { - /** - *

                                                              An array of key-value pairs that contains information about the available bundles.

                                                              - */ - bundles?: Bundle[]; - /** *

                                                              The token to advance to the next page of resutls from your request.

                                                              *

                                                              A next page token is not returned if there are no more results to display.

                                                              @@ -5740,6 +5735,11 @@ export interface GetBundlesResult { * specify the next page token using the pageToken parameter.

                                                              */ nextPageToken?: string; + + /** + *

                                                              An array of key-value pairs that contains information about the available bundles.

                                                              + */ + bundles?: Bundle[]; } export namespace GetBundlesResult { @@ -5750,13 +5750,15 @@ export namespace GetBundlesResult { export interface GetCertificatesRequest { /** - *

                                                              Indicates whether to include detailed information about the certificates in the - * response.

                                                              + *

                                                              The status of the certificates for which to return information.

                                                              * - *

                                                              When omitted, the response includes only the certificate names, Amazon Resource Names - * (ARNs), domain names, and tags.

                                                              + *

                                                              For example, specify ISSUED to return only certificates with an + * ISSUED status.

                                                              + * + *

                                                              When omitted, the response includes all of your certificates in the AWS region where the + * request is made, regardless of their current status.

                                                              */ - includeCertificateDetails?: boolean; + certificateStatuses?: (CertificateStatus | string)[]; /** *

                                                              The name for the certificate for which to return information.

                                                              @@ -5767,15 +5769,13 @@ export interface GetCertificatesRequest { certificateName?: string; /** - *

                                                              The status of the certificates for which to return information.

                                                              - * - *

                                                              For example, specify ISSUED to return only certificates with an - * ISSUED status.

                                                              + *

                                                              Indicates whether to include detailed information about the certificates in the + * response.

                                                              * - *

                                                              When omitted, the response includes all of your certificates in the AWS region where the - * request is made, regardless of their current status.

                                                              + *

                                                              When omitted, the response includes only the certificate names, Amazon Resource Names + * (ARNs), domain names, and tags.

                                                              */ - certificateStatuses?: (CertificateStatus | string)[]; + includeCertificateDetails?: boolean; } export namespace GetCertificatesRequest { @@ -6051,6 +6051,66 @@ export namespace GetDistributionLatestCacheResetResult { } export interface GetDistributionMetricDataRequest { + /** + *

                                                              The statistic for the metric.

                                                              + *

                                                              The following statistics are available:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * Minimum - The lowest value observed during the specified period. Use this + * value to determine low volumes of activity for your application.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * Maximum - The highest value observed during the specified period. Use + * this value to determine high volumes of activity for your application.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * Sum - All values submitted for the matching metric added together. You + * can use this statistic to determine the total volume of a metric.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * Average - The value of Sum / SampleCount during the specified period. By + * comparing this statistic with the Minimum and Maximum values, you can determine the full + * scope of a metric and how close the average use is to the Minimum and Maximum values. This + * comparison helps you to know when to increase or decrease your resources.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * SampleCount - The count, or number, of data points used for the + * statistical calculation.

                                                                + *
                                                              • + *
                                                              + */ + statistics: (MetricStatistic | string)[] | undefined; + + /** + *

                                                              The end of the time interval for which to get metric data.

                                                              + *

                                                              Constraints:

                                                              + *
                                                                + *
                                                              • + *

                                                                Specified in Coordinated Universal Time (UTC).

                                                                + *
                                                              • + *
                                                              • + *

                                                                Specified in the Unix time format.

                                                                + *

                                                                For example, if you wish to use an end time of October 1, 2018, at 9 PM UTC, specify + * 1538427600 as the end time.

                                                                + *
                                                              • + *
                                                              + *

                                                              You can convert a human-friendly time to Unix time format using a converter like Epoch converter.

                                                              + */ + endTime: Date | undefined; + + /** + *

                                                              The unit for the metric data request.

                                                              + * + *

                                                              Valid units depend on the metric data being requested. For the valid units with each + * available metric, see the metricName parameter.

                                                              + */ + unit: MetricUnit | string | undefined; + /** *

                                                              The metric for which you want to return information.

                                                              * @@ -6114,78 +6174,39 @@ export interface GetDistributionMetricDataRequest { * client or client viewer may have made an error. For example, a status code of 404 (Not * Found) means that the client requested an object that could not be found.

                                                              *

                                                              - * Statistics: The most useful statistic is Average.

                                                              - *

                                                              - * Unit: The published unit is Percent.

                                                              - * - *
                                                            • - *

                                                              - * - * 5xxErrorRate - * - The percentage of all - * viewer requests for which the response's HTTP status code was 5xx. In these cases, the - * origin server did not satisfy the requests. For example, a status code of 503 (Service - * Unavailable) means that the origin server is currently unavailable.

                                                              - *

                                                              - * Statistics: The most useful statistic is Average.

                                                              - *

                                                              - * Unit: The published unit is Percent.

                                                              - *
                                                            • - *
                                                            - */ - metricName: DistributionMetricName | string | undefined; - - /** - *

                                                            The end of the time interval for which to get metric data.

                                                            - *

                                                            Constraints:

                                                            - *
                                                              - *
                                                            • - *

                                                              Specified in Coordinated Universal Time (UTC).

                                                              - *
                                                            • - *
                                                            • - *

                                                              Specified in the Unix time format.

                                                              - *

                                                              For example, if you wish to use an end time of October 1, 2018, at 9 PM UTC, specify - * 1538427600 as the end time.

                                                              - *
                                                            • - *
                                                            - *

                                                            You can convert a human-friendly time to Unix time format using a converter like Epoch converter.

                                                            - */ - endTime: Date | undefined; - - /** - *

                                                            The statistic for the metric.

                                                            - *

                                                            The following statistics are available:

                                                            - *
                                                              - *
                                                            • - *

                                                              - * Minimum - The lowest value observed during the specified period. Use this - * value to determine low volumes of activity for your application.

                                                              - *
                                                            • - *
                                                            • + * Statistics: The most useful statistic is Average.

                                                              *

                                                              - * Maximum - The highest value observed during the specified period. Use - * this value to determine high volumes of activity for your application.

                                                              + * Unit: The published unit is Percent.

                                                              *
                                                            • *
                                                            • *

                                                              - * Sum - All values submitted for the matching metric added together. You - * can use this statistic to determine the total volume of a metric.

                                                              - *
                                                            • - *
                                                            • + * + * 5xxErrorRate + * - The percentage of all + * viewer requests for which the response's HTTP status code was 5xx. In these cases, the + * origin server did not satisfy the requests. For example, a status code of 503 (Service + * Unavailable) means that the origin server is currently unavailable.

                                                              *

                                                              - * Average - The value of Sum / SampleCount during the specified period. By - * comparing this statistic with the Minimum and Maximum values, you can determine the full - * scope of a metric and how close the average use is to the Minimum and Maximum values. This - * comparison helps you to know when to increase or decrease your resources.

                                                              - *
                                                            • - *
                                                            • + * Statistics: The most useful statistic is Average.

                                                              *

                                                              - * SampleCount - The count, or number, of data points used for the - * statistical calculation.

                                                              + * Unit: The published unit is Percent.

                                                              *
                                                            • *
                                                            */ - statistics: (MetricStatistic | string)[] | undefined; + metricName: DistributionMetricName | string | undefined; + + /** + *

                                                            The name of the distribution for which to get metric data.

                                                            + * + *

                                                            Use the GetDistributions action to get a list of distribution names that you + * can specify.

                                                            + */ + distributionName: string | undefined; + + /** + *

                                                            The granularity, in seconds, for the metric data points that will be returned.

                                                            + */ + period: number | undefined; /** *

                                                            The start of the time interval for which to get metric data.

                                                            @@ -6203,27 +6224,6 @@ export interface GetDistributionMetricDataRequest { *

                                                            You can convert a human-friendly time to Unix time format using a converter like Epoch converter.

                                                            */ startTime: Date | undefined; - - /** - *

                                                            The unit for the metric data request.

                                                            - * - *

                                                            Valid units depend on the metric data being requested. For the valid units with each - * available metric, see the metricName parameter.

                                                            - */ - unit: MetricUnit | string | undefined; - - /** - *

                                                            The granularity, in seconds, for the metric data points that will be returned.

                                                            - */ - period: number | undefined; - - /** - *

                                                            The name of the distribution for which to get metric data.

                                                            - * - *

                                                            Use the GetDistributions action to get a list of distribution names that you - * can specify.

                                                            - */ - distributionName: string | undefined; } export namespace GetDistributionMetricDataRequest { @@ -6236,11 +6236,6 @@ export namespace GetDistributionMetricDataRequest { *

                                                            Describes the metric data point.

                                                            */ export interface MetricDatapoint { - /** - *

                                                            The maximum.

                                                            - */ - maximum?: number; - /** *

                                                            The sample count.

                                                            */ @@ -6251,6 +6246,16 @@ export interface MetricDatapoint { */ timestamp?: Date; + /** + *

                                                            The minimum.

                                                            + */ + minimum?: number; + + /** + *

                                                            The sum.

                                                            + */ + sum?: number; + /** *

                                                            The unit.

                                                            */ @@ -6262,14 +6267,9 @@ export interface MetricDatapoint { average?: number; /** - *

                                                            The minimum.

                                                            - */ - minimum?: number; - - /** - *

                                                            The sum.

                                                            + *

                                                            The maximum.

                                                            */ - sum?: number; + maximum?: number; } export namespace MetricDatapoint { @@ -6280,14 +6280,14 @@ export namespace MetricDatapoint { export interface GetDistributionMetricDataResult { /** - *

                                                            An array of objects that describe the metric data returned.

                                                            + *

                                                            The name of the metric returned.

                                                            */ - metricData?: MetricDatapoint[]; + metricName?: DistributionMetricName | string; /** - *

                                                            The name of the metric returned.

                                                            + *

                                                            An array of objects that describe the metric data returned.

                                                            */ - metricName?: DistributionMetricName | string; + metricData?: MetricDatapoint[]; } export namespace GetDistributionMetricDataResult { @@ -6297,15 +6297,6 @@ export namespace GetDistributionMetricDataResult { } export interface GetDistributionsRequest { - /** - *

                                                            The token to advance to the next page of results from your request.

                                                            - * - *

                                                            To get a page token, perform an initial GetDistributions request. If your - * results are paginated, the response will return a next page token that you can specify as the - * page token in a subsequent request.

                                                            - */ - pageToken?: string; - /** *

                                                            The name of the distribution for which to return information.

                                                            * @@ -6316,6 +6307,15 @@ export interface GetDistributionsRequest { * the request is made.

                                                            */ distributionName?: string; + + /** + *

                                                            The token to advance to the next page of results from your request.

                                                            + * + *

                                                            To get a page token, perform an initial GetDistributions request. If your + * results are paginated, the response will return a next page token that you can specify as the + * page token in a subsequent request.

                                                            + */ + pageToken?: string; } export namespace GetDistributionsRequest { @@ -6427,11 +6427,6 @@ export namespace GetExportSnapshotRecordsRequest { } export interface GetExportSnapshotRecordsResult { - /** - *

                                                            A list of objects describing the export snapshot records.

                                                            - */ - exportSnapshotRecords?: ExportSnapshotRecord[]; - /** *

                                                            The token to advance to the next page of resutls from your request.

                                                            *

                                                            A next page token is not returned if there are no more results to display.

                                                            @@ -6439,6 +6434,11 @@ export interface GetExportSnapshotRecordsResult { * request and specify the next page token using the pageToken parameter.

                                                            */ nextPageToken?: string; + + /** + *

                                                            A list of objects describing the export snapshot records.

                                                            + */ + exportSnapshotRecords?: ExportSnapshotRecord[]; } export namespace GetExportSnapshotRecordsResult { @@ -6465,9 +6465,9 @@ export namespace GetInstanceRequest { */ export interface InstanceHardware { /** - *

                                                            The disks attached to the instance.

                                                            + *

                                                            The amount of RAM in GB on the instance (e.g., 1.0).

                                                            */ - disks?: Disk[]; + ramSizeInGb?: number; /** *

                                                            The number of vCPUs the instance has.

                                                            @@ -6475,9 +6475,9 @@ export interface InstanceHardware { cpuCount?: number; /** - *

                                                            The amount of RAM in GB on the instance (e.g., 1.0).

                                                            + *

                                                            The disks attached to the instance.

                                                            */ - ramSizeInGb?: number; + disks?: Disk[]; } export namespace InstanceHardware { @@ -6513,20 +6513,17 @@ export enum PortAccessType { */ export interface InstancePortInfo { /** - *

                                                            An alias that defines access for a preconfigured range of IP addresses.

                                                            - *

                                                            The only alias currently supported is lightsail-connect, which allows IP - * addresses of the browser-based RDP/SSH client in the Lightsail console to connect to your - * instance.

                                                            + *

                                                            The IP address, or range of IP addresses in CIDR notation, that are allowed to connect to + * an instance through the ports, and the protocol. Lightsail supports IPv4 addresses.

                                                            + *

                                                            For more information about CIDR block notation, see Classless + * Inter-Domain Routing on Wikipedia.

                                                            */ - cidrListAliases?: string[]; + cidrs?: string[]; /** - *

                                                            The access direction (inbound or outbound).

                                                            - * - *

                                                            Lightsail currently supports only inbound access direction.

                                                            - *
                                                            + *

                                                            The common name of the port information.

                                                            */ - accessDirection?: AccessDirection | string; + commonName?: string; /** *

                                                            The type of access (Public or Private).

                                                            @@ -6534,20 +6531,15 @@ export interface InstancePortInfo { accessType?: PortAccessType | string; /** - *

                                                            The common name of the port information.

                                                            - */ - commonName?: string; - - /** - *

                                                            The IP address, or range of IP addresses in CIDR notation, that are allowed to connect to - * an instance through the ports, and the protocol. Lightsail supports IPv4 addresses.

                                                            - *

                                                            For more information about CIDR block notation, see Classless - * Inter-Domain Routing on Wikipedia.

                                                            + *

                                                            An alias that defines access for a preconfigured range of IP addresses.

                                                            + *

                                                            The only alias currently supported is lightsail-connect, which allows IP + * addresses of the browser-based RDP/SSH client in the Lightsail console to connect to your + * instance.

                                                            */ - cidrs?: string[]; + cidrListAliases?: string[]; /** - *

                                                            The last port in a range of open ports on an instance.

                                                            + *

                                                            The first port in a range of open ports on an instance.

                                                            *

                                                            Allowed ports:

                                                            *
                                                              *
                                                            • @@ -6555,16 +6547,22 @@ export interface InstancePortInfo { *

                                                              *
                                                            • *
                                                            • - *

                                                              ICMP - The ICMP code. For example, specify 8 as the fromPort + *

                                                              ICMP - The ICMP type. For example, specify 8 as the fromPort * (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP * Ping. For more information, see Control Messages on Wikipedia.

                                                              *
                                                            • *
                                                            */ - toPort?: number; + fromPort?: number; /** - *

                                                            The first port in a range of open ports on an instance.

                                                            + *

                                                            The location from which access is allowed. For example, Anywhere (0.0.0.0/0), + * or Custom if a specific IP address or range of IP addresses is allowed.

                                                            + */ + accessFrom?: string; + + /** + *

                                                            The last port in a range of open ports on an instance.

                                                            *

                                                            Allowed ports:

                                                            *
                                                              *
                                                            • @@ -6572,19 +6570,21 @@ export interface InstancePortInfo { *

                                                              *
                                                            • *
                                                            • - *

                                                              ICMP - The ICMP type. For example, specify 8 as the fromPort + *

                                                              ICMP - The ICMP code. For example, specify 8 as the fromPort * (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP * Ping. For more information, see Control Messages on Wikipedia.

                                                              *
                                                            • *
                                                            */ - fromPort?: number; + toPort?: number; /** - *

                                                            The location from which access is allowed. For example, Anywhere (0.0.0.0/0), - * or Custom if a specific IP address or range of IP addresses is allowed.

                                                            + *

                                                            The access direction (inbound or outbound).

                                                            + * + *

                                                            Lightsail currently supports only inbound access direction.

                                                            + *
                                                            */ - accessFrom?: string; + accessDirection?: AccessDirection | string; /** *

                                                            The IP protocol name.

                                                            @@ -6637,14 +6637,14 @@ export namespace InstancePortInfo { */ export interface InstanceNetworking { /** - *

                                                            The amount of data in GB allocated for monthly data transfers.

                                                            + *

                                                            An array of key-value pairs containing information about the ports on the instance.

                                                            */ - monthlyTransfer?: MonthlyTransfer; + ports?: InstancePortInfo[]; /** - *

                                                            An array of key-value pairs containing information about the ports on the instance.

                                                            + *

                                                            The amount of data in GB allocated for monthly data transfers.

                                                            */ - ports?: InstancePortInfo[]; + monthlyTransfer?: MonthlyTransfer; } export namespace InstanceNetworking { @@ -6679,76 +6679,76 @@ export namespace InstanceState { */ export interface Instance { /** - *

                                                            A Boolean value indicating whether this instance has a static IP assigned to it.

                                                            + *

                                                            An array of objects representing the add-ons enabled on the instance.

                                                            */ - isStaticIp?: boolean; + addOns?: AddOn[]; /** - *

                                                            Information about the public ports and monthly data transfer rates for the - * instance.

                                                            + *

                                                            The support code. Include this code in your email to support when you have questions about + * an instance or another resource in Lightsail. This code enables our support team to look up + * your Lightsail information more easily.

                                                            */ - networking?: InstanceNetworking; + supportCode?: string; /** - *

                                                            The timestamp when the instance was created (e.g., 1479734909.17) in Unix - * time format.

                                                            + *

                                                            The IPv6 address of the instance.

                                                            */ - createdAt?: Date; + ipv6Address?: string; /** - *

                                                            The Amazon Resource Name (ARN) of the instance (e.g., - * arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).

                                                            + *

                                                            The public IP address of the instance.

                                                            */ - arn?: string; + publicIpAddress?: string; /** - *

                                                            The support code. Include this code in your email to support when you have questions about - * an instance or another resource in Lightsail. This code enables our support team to look up - * your Lightsail information more easily.

                                                            + *

                                                            Information about the public ports and monthly data transfer rates for the + * instance.

                                                            */ - supportCode?: string; + networking?: InstanceNetworking; /** - *

                                                            The user name for connecting to the instance (e.g., ec2-user).

                                                            + *

                                                            The private IP address of the instance.

                                                            */ - username?: string; + privateIpAddress?: string; /** - *

                                                            The size of the vCPU and the amount of RAM for the instance.

                                                            + *

                                                            A Boolean value indicating whether this instance has a static IP assigned to it.

                                                            */ - hardware?: InstanceHardware; + isStaticIp?: boolean; /** - *

                                                            The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).

                                                            + *

                                                            The bundle for the instance (e.g., micro_1_0).

                                                            */ - name?: string; + bundleId?: string; /** - *

                                                            The type of resource (usually Instance).

                                                            + *

                                                            The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                            */ - resourceType?: ResourceType | string; + tags?: Tag[]; /** - *

                                                            The IPv6 address of the instance.

                                                            + *

                                                            The user name for connecting to the instance (e.g., ec2-user).

                                                            */ - ipv6Address?: string; + username?: string; /** - *

                                                            The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                            + *

                                                            The blueprint ID (e.g., os_amlinux_2016_03).

                                                            */ - tags?: Tag[]; + blueprintId?: string; /** - *

                                                            The private IP address of the instance.

                                                            + *

                                                            The name of the SSH key being used to connect to the instance (e.g., + * LightsailDefaultKeyPair).

                                                            */ - privateIpAddress?: string; + sshKeyName?: string; /** - *

                                                            The status code and the state (e.g., running) for the instance.

                                                            + *

                                                            The timestamp when the instance was created (e.g., 1479734909.17) in Unix + * time format.

                                                            */ - state?: InstanceState; + createdAt?: Date; /** *

                                                            The region name and Availability Zone where the instance is located.

                                                            @@ -6756,9 +6756,9 @@ export interface Instance { location?: ResourceLocation; /** - *

                                                            The public IP address of the instance.

                                                            + *

                                                            The status code and the state (e.g., running) for the instance.

                                                            */ - publicIpAddress?: string; + state?: InstanceState; /** *

                                                            The friendly name of the blueprint (e.g., Amazon Linux).

                                                            @@ -6766,25 +6766,25 @@ export interface Instance { blueprintName?: string; /** - *

                                                            An array of objects representing the add-ons enabled on the instance.

                                                            + *

                                                            The type of resource (usually Instance).

                                                            */ - addOns?: AddOn[]; + resourceType?: ResourceType | string; /** - *

                                                            The bundle for the instance (e.g., micro_1_0).

                                                            + *

                                                            The size of the vCPU and the amount of RAM for the instance.

                                                            */ - bundleId?: string; + hardware?: InstanceHardware; /** - *

                                                            The name of the SSH key being used to connect to the instance (e.g., - * LightsailDefaultKeyPair).

                                                            + *

                                                            The Amazon Resource Name (ARN) of the instance (e.g., + * arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).

                                                            */ - sshKeyName?: string; + arn?: string; /** - *

                                                            The blueprint ID (e.g., os_amlinux_2016_03).

                                                            + *

                                                            The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).

                                                            */ - blueprintId?: string; + name?: string; } export namespace Instance { @@ -6833,25 +6833,6 @@ export namespace GetInstanceAccessDetailsRequest { *

                                                            Describes the public SSH host keys or the RDP certificate.

                                                            */ export interface HostKeyAttributes { - /** - *

                                                            The SSH host key algorithm or the RDP certificate format.

                                                            - *

                                                            For SSH host keys, the algorithm may be ssh-rsa, - * ecdsa-sha2-nistp256, ssh-ed25519, etc. For RDP certificates, the - * algorithm is always x509-cert.

                                                            - */ - algorithm?: string; - - /** - *

                                                            The returned RDP certificate is not valid after this point in time.

                                                            - *

                                                            This value is listed only for RDP certificates.

                                                            - */ - notValidAfter?: Date; - - /** - *

                                                            The public SSH host key or the RDP certificate.

                                                            - */ - publicKey?: string; - /** *

                                                            The SHA-256 fingerprint of the returned SSH host key or RDP certificate.

                                                            *
                                                              @@ -6871,6 +6852,17 @@ export interface HostKeyAttributes { */ fingerprintSHA256?: string; + /** + *

                                                              The public SSH host key or the RDP certificate.

                                                              + */ + publicKey?: string; + + /** + *

                                                              The returned RDP certificate is valid after this point in time.

                                                              + *

                                                              This value is listed only for RDP certificates.

                                                              + */ + notValidBefore?: Date; + /** *

                                                              The SHA-1 fingerprint of the returned SSH host key or RDP certificate.

                                                              *
                                                                @@ -6891,15 +6883,23 @@ export interface HostKeyAttributes { fingerprintSHA1?: string; /** - *

                                                                The returned RDP certificate is valid after this point in time.

                                                                + *

                                                                The returned RDP certificate is not valid after this point in time.

                                                                *

                                                                This value is listed only for RDP certificates.

                                                                */ - notValidBefore?: Date; + notValidAfter?: Date; /** *

                                                                The time that the SSH host key or RDP certificate was recorded by Lightsail.

                                                                */ witnessedAt?: Date; + + /** + *

                                                                The SSH host key algorithm or the RDP certificate format.

                                                                + *

                                                                For SSH host keys, the algorithm may be ssh-rsa, + * ecdsa-sha2-nistp256, ssh-ed25519, etc. For RDP certificates, the + * algorithm is always x509-cert.

                                                                + */ + algorithm?: string; } export namespace HostKeyAttributes { @@ -6913,6 +6913,16 @@ export namespace HostKeyAttributes { * key pair name.

                                                                */ export interface PasswordData { + /** + *

                                                                The name of the key pair that you used when creating your instance. If no key pair name + * was specified when creating the instance, Lightsail uses the default key pair + * (LightsailDefaultKeyPair).

                                                                + *

                                                                If you are using a custom key pair, you need to use your own means of decrypting your + * password using the ciphertext. Lightsail creates the ciphertext by encrypting + * your password with the public key part of this key pair.

                                                                + */ + keyPairName?: string; + /** *

                                                                The encrypted password. Ciphertext will be an empty string if access to your new instance * is not ready yet. When you create an instance, it can take up to 15 minutes for the instance @@ -6927,16 +6937,6 @@ export interface PasswordData { * */ ciphertext?: string; - - /** - *

                                                                The name of the key pair that you used when creating your instance. If no key pair name - * was specified when creating the instance, Lightsail uses the default key pair - * (LightsailDefaultKeyPair).

                                                                - *

                                                                If you are using a custom key pair, you need to use your own means of decrypting your - * password using the ciphertext. Lightsail creates the ciphertext by encrypting - * your password with the public key part of this key pair.

                                                                - */ - keyPairName?: string; } export namespace PasswordData { @@ -6951,29 +6951,20 @@ export namespace PasswordData { */ export interface InstanceAccessDetails { /** - *

                                                                For RDP access, the password for your Amazon Lightsail instance. Password will be an empty - * string if the password for your new instance is not ready yet. When you create an instance, it - * can take up to 15 minutes for the instance to be ready.

                                                                - * - *

                                                                If you create an instance using any key pair other than the default - * (LightsailDefaultKeyPair), password will always be an empty - * string.

                                                                - *

                                                                If you change the Administrator password on the instance, Lightsail will continue to - * return the original password value. When accessing the instance using RDP, you need to - * manually enter the Administrator password after changing it from the default.

                                                                - *
                                                                + *

                                                                The name of this Amazon Lightsail instance.

                                                                */ - password?: string; + instanceName?: string; /** - *

                                                                For SSH access, the date on which the temporary keys expire.

                                                                + *

                                                                For SSH access, the public key to use when accessing your instance For OpenSSH clients + * (e.g., command line SSH), you should save this value to tempkey-cert.pub.

                                                                */ - expiresAt?: Date; + certKey?: string; /** - *

                                                                The public IP address of the Amazon Lightsail instance.

                                                                + *

                                                                Describes the public SSH host keys or the RDP certificate.

                                                                */ - ipAddress?: string; + hostKeys?: HostKeyAttributes[]; /** *

                                                                The protocol for these Amazon Lightsail instance access details.

                                                                @@ -6981,14 +6972,14 @@ export interface InstanceAccessDetails { protocol?: InstanceAccessProtocol | string; /** - *

                                                                Describes the public SSH host keys or the RDP certificate.

                                                                + *

                                                                The public IP address of the Amazon Lightsail instance.

                                                                */ - hostKeys?: HostKeyAttributes[]; + ipAddress?: string; /** - *

                                                                The name of this Amazon Lightsail instance.

                                                                + *

                                                                For SSH access, the date on which the temporary keys expire.

                                                                */ - instanceName?: string; + expiresAt?: Date; /** *

                                                                The user name to use when logging in to the Amazon Lightsail instance.

                                                                @@ -6996,10 +6987,19 @@ export interface InstanceAccessDetails { username?: string; /** - *

                                                                For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), - * you should save this value to tempkey).

                                                                + *

                                                                For RDP access, the password for your Amazon Lightsail instance. Password will be an empty + * string if the password for your new instance is not ready yet. When you create an instance, it + * can take up to 15 minutes for the instance to be ready.

                                                                + * + *

                                                                If you create an instance using any key pair other than the default + * (LightsailDefaultKeyPair), password will always be an empty + * string.

                                                                + *

                                                                If you change the Administrator password on the instance, Lightsail will continue to + * return the original password value. When accessing the instance using RDP, you need to + * manually enter the Administrator password after changing it from the default.

                                                                + *
                                                                */ - privateKey?: string; + password?: string; /** *

                                                                For a Windows Server-based instance, an object with the data you can use to retrieve your @@ -7010,10 +7010,10 @@ export interface InstanceAccessDetails { passwordData?: PasswordData; /** - *

                                                                For SSH access, the public key to use when accessing your instance For OpenSSH clients - * (e.g., command line SSH), you should save this value to tempkey-cert.pub.

                                                                + *

                                                                For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), + * you should save this value to tempkey).

                                                                */ - certKey?: string; + privateKey?: string; } export namespace InstanceAccessDetails { @@ -7048,72 +7048,11 @@ export enum InstanceMetricName { } export interface GetInstanceMetricDataRequest { - /** - *

                                                                The start time of the time period.

                                                                - */ - startTime: Date | undefined; - - /** - *

                                                                The statistic for the metric.

                                                                - *

                                                                The following statistics are available:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * Minimum - The lowest value observed during the specified period. Use this - * value to determine low volumes of activity for your application.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Maximum - The highest value observed during the specified period. Use - * this value to determine high volumes of activity for your application.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Sum - All values submitted for the matching metric added together. You - * can use this statistic to determine the total volume of a metric.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Average - The value of Sum / SampleCount during the specified period. By - * comparing this statistic with the Minimum and Maximum values, you can determine the full - * scope of a metric and how close the average use is to the Minimum and Maximum values. This - * comparison helps you to know when to increase or decrease your resources.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * SampleCount - The count, or number, of data points used for the - * statistical calculation.

                                                                  - *
                                                                • - *
                                                                - */ - statistics: (MetricStatistic | string)[] | undefined; - /** *

                                                                The end time of the time period.

                                                                */ endTime: Date | undefined; - /** - *

                                                                The unit for the metric data request. Valid units depend on the metric data being - * requested. For the valid units to specify with each available metric, see the - * metricName parameter.

                                                                - */ - unit: MetricUnit | string | undefined; - - /** - *

                                                                The name of the instance for which you want to get metrics data.

                                                                - */ - instanceName: string | undefined; - - /** - *

                                                                The granularity, in seconds, of the returned data points.

                                                                - *

                                                                The StatusCheckFailed, StatusCheckFailed_Instance, and - * StatusCheckFailed_System instance metric data is available in 1-minute (60 - * seconds) granularity. All other instance metric data is available in 5-minute (300 seconds) - * granularity.

                                                                - */ - period: number | undefined; - /** *

                                                                The metric for which you want to return information.

                                                                *

                                                                Valid instance metric names are listed below, along with the most useful @@ -7225,20 +7164,81 @@ export interface GetInstanceMetricDataRequest { * *

                                                              • *

                                                                - * - * StatusCheckFailed_System - * - Reports - * whether the instance passed or failed the system status check. This metric can be either 0 - * (passed) or 1 (failed). This metric data is available in 1-minute (60 seconds) - * granularity.

                                                                + * + * StatusCheckFailed_System + * - Reports + * whether the instance passed or failed the system status check. This metric can be either 0 + * (passed) or 1 (failed). This metric data is available in 1-minute (60 seconds) + * granularity.

                                                                + *

                                                                + * Statistics: The most useful statistic is Sum.

                                                                + *

                                                                + * Unit: The published unit is Count.

                                                                + *
                                                              • + *
                                                              + */ + metricName: InstanceMetricName | string | undefined; + + /** + *

                                                              The unit for the metric data request. Valid units depend on the metric data being + * requested. For the valid units to specify with each available metric, see the + * metricName parameter.

                                                              + */ + unit: MetricUnit | string | undefined; + + /** + *

                                                              The granularity, in seconds, of the returned data points.

                                                              + *

                                                              The StatusCheckFailed, StatusCheckFailed_Instance, and + * StatusCheckFailed_System instance metric data is available in 1-minute (60 + * seconds) granularity. All other instance metric data is available in 5-minute (300 seconds) + * granularity.

                                                              + */ + period: number | undefined; + + /** + *

                                                              The start time of the time period.

                                                              + */ + startTime: Date | undefined; + + /** + *

                                                              The name of the instance for which you want to get metrics data.

                                                              + */ + instanceName: string | undefined; + + /** + *

                                                              The statistic for the metric.

                                                              + *

                                                              The following statistics are available:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * Minimum - The lowest value observed during the specified period. Use this + * value to determine low volumes of activity for your application.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * Maximum - The highest value observed during the specified period. Use + * this value to determine high volumes of activity for your application.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * Sum - All values submitted for the matching metric added together. You + * can use this statistic to determine the total volume of a metric.

                                                                + *
                                                              • + *
                                                              • *

                                                                - * Statistics: The most useful statistic is Sum.

                                                                + * Average - The value of Sum / SampleCount during the specified period. By + * comparing this statistic with the Minimum and Maximum values, you can determine the full + * scope of a metric and how close the average use is to the Minimum and Maximum values. This + * comparison helps you to know when to increase or decrease your resources.

                                                                + *
                                                              • + *
                                                              • *

                                                                - * Unit: The published unit is Count.

                                                                + * SampleCount - The count, or number, of data points used for the + * statistical calculation.

                                                                *
                                                              • *
                                                              */ - metricName: InstanceMetricName | string | undefined; + statistics: (MetricStatistic | string)[] | undefined; } export namespace GetInstanceMetricDataRequest { @@ -7249,14 +7249,14 @@ export namespace GetInstanceMetricDataRequest { export interface GetInstanceMetricDataResult { /** - *

                                                              An array of objects that describe the metric data returned.

                                                              + *

                                                              The name of the metric returned.

                                                              */ - metricData?: MetricDatapoint[]; + metricName?: InstanceMetricName | string; /** - *

                                                              The name of the metric returned.

                                                              + *

                                                              An array of objects that describe the metric data returned.

                                                              */ - metricName?: InstanceMetricName | string; + metricData?: MetricDatapoint[]; } export namespace GetInstanceMetricDataResult { @@ -7289,12 +7289,29 @@ export enum PortState { */ export interface InstancePortState { /** - *

                                                              An alias that defines access for a preconfigured range of IP addresses.

                                                              - *

                                                              The only alias currently supported is lightsail-connect, which allows IP - * addresses of the browser-based RDP/SSH client in the Lightsail console to connect to your - * instance.

                                                              + *

                                                              The last port in a range of open ports on an instance.

                                                              + *

                                                              Allowed ports:

                                                              + *
                                                                + *
                                                              • + *

                                                                TCP and UDP - 0 to 65535 + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                ICMP - The ICMP code. For example, specify 8 as the fromPort + * (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP + * Ping. For more information, see Control Messages on Wikipedia.

                                                                + *
                                                              • + *
                                                              */ - cidrListAliases?: string[]; + toPort?: number; + + /** + *

                                                              Specifies whether the instance port is open or closed.

                                                              + * + *

                                                              The port state for Lightsail instances is always open.

                                                              + *
                                                              + */ + state?: PortState | string; /** *

                                                              The IP address, or range of IP addresses in CIDR notation, that are allowed to connect to @@ -7304,6 +7321,14 @@ export interface InstancePortState { */ cidrs?: string[]; + /** + *

                                                              An alias that defines access for a preconfigured range of IP addresses.

                                                              + *

                                                              The only alias currently supported is lightsail-connect, which allows IP + * addresses of the browser-based RDP/SSH client in the Lightsail console to connect to your + * instance.

                                                              + */ + cidrListAliases?: string[]; + /** *

                                                              The IP protocol name.

                                                              *

                                                              The name can be one of the following:

                                                              @@ -7343,31 +7368,6 @@ export interface InstancePortState { */ protocol?: NetworkProtocol | string; - /** - *

                                                              Specifies whether the instance port is open or closed.

                                                              - * - *

                                                              The port state for Lightsail instances is always open.

                                                              - *
                                                              - */ - state?: PortState | string; - - /** - *

                                                              The last port in a range of open ports on an instance.

                                                              - *

                                                              Allowed ports:

                                                              - *
                                                                - *
                                                              • - *

                                                                TCP and UDP - 0 to 65535 - *

                                                                - *
                                                              • - *
                                                              • - *

                                                                ICMP - The ICMP code. For example, specify 8 as the fromPort - * (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP - * Ping. For more information, see Control Messages on Wikipedia.

                                                                - *
                                                              • - *
                                                              - */ - toPort?: number; - /** *

                                                              The first port in a range of open ports on an instance.

                                                              *

                                                              Allowed ports:

                                                              @@ -7423,11 +7423,6 @@ export namespace GetInstancesRequest { } export interface GetInstancesResult { - /** - *

                                                              An array of key-value pairs containing information about your instances.

                                                              - */ - instances?: Instance[]; - /** *

                                                              The token to advance to the next page of resutls from your request.

                                                              *

                                                              A next page token is not returned if there are no more results to display.

                                                              @@ -7435,6 +7430,11 @@ export interface GetInstancesResult { * specify the next page token using the pageToken parameter.

                                                              */ nextPageToken?: string; + + /** + *

                                                              An array of key-value pairs containing information about your instances.

                                                              + */ + instances?: Instance[]; } export namespace GetInstancesResult { @@ -7467,14 +7467,16 @@ export enum InstanceSnapshotState { */ export interface InstanceSnapshot { /** - *

                                                              The size in GB of the SSD.

                                                              + *

                                                              The blueprint ID from which you created the snapshot (e.g., os_debian_8_3). A + * blueprint is a virtual private server (or instance) image used to create + * instances quickly.

                                                              */ - sizeInGb?: number; + fromBlueprintId?: string; /** - *

                                                              The state the snapshot is in.

                                                              + *

                                                              The instance from which the snapshot was created.

                                                              */ - state?: InstanceSnapshotState | string; + fromInstanceName?: string; /** *

                                                              The timestamp when the snapshot was created (e.g., 1479907467.024).

                                                              @@ -7482,36 +7484,36 @@ export interface InstanceSnapshot { createdAt?: Date; /** - *

                                                              The region name and Availability Zone where you created the snapshot.

                                                              + *

                                                              The bundle ID from which you created the snapshot (e.g., micro_1_0).

                                                              */ - location?: ResourceLocation; + fromBundleId?: string; /** - *

                                                              The type of resource (usually InstanceSnapshot).

                                                              + *

                                                              An array of disk objects containing information about all block storage disks.

                                                              */ - resourceType?: ResourceType | string; + fromAttachedDisks?: Disk[]; /** - *

                                                              A Boolean value indicating whether the snapshot was created from an automatic - * snapshot.

                                                              + *

                                                              The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                              */ - isFromAutoSnapshot?: boolean; + tags?: Tag[]; /** - *

                                                              The progress of the snapshot.

                                                              + *

                                                              The region name and Availability Zone where you created the snapshot.

                                                              */ - progress?: string; + location?: ResourceLocation; /** - *

                                                              The instance from which the snapshot was created.

                                                              + *

                                                              The state the snapshot is in.

                                                              */ - fromInstanceName?: string; + state?: InstanceSnapshotState | string; /** - *

                                                              The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., - * arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).

                                                              + *

                                                              The size in GB of the SSD.

                                                              */ - fromInstanceArn?: string; + sizeInGb?: number; /** *

                                                              The support code. Include this code in your email to support when you have questions about @@ -7521,39 +7523,37 @@ export interface InstanceSnapshot { supportCode?: string; /** - *

                                                              The name of the snapshot.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., + * arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).

                                                              */ - name?: string; + fromInstanceArn?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the snapshot (e.g., - * arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).

                                                              + *

                                                              A Boolean value indicating whether the snapshot was created from an automatic + * snapshot.

                                                              */ - arn?: string; + isFromAutoSnapshot?: boolean; /** - *

                                                              The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                              + *

                                                              The progress of the snapshot.

                                                              */ - tags?: Tag[]; + progress?: string; /** - *

                                                              The blueprint ID from which you created the snapshot (e.g., os_debian_8_3). A - * blueprint is a virtual private server (or instance) image used to create - * instances quickly.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the snapshot (e.g., + * arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).

                                                              */ - fromBlueprintId?: string; + arn?: string; /** - *

                                                              An array of disk objects containing information about all block storage disks.

                                                              + *

                                                              The name of the snapshot.

                                                              */ - fromAttachedDisks?: Disk[]; + name?: string; /** - *

                                                              The bundle ID from which you created the snapshot (e.g., micro_1_0).

                                                              + *

                                                              The type of resource (usually InstanceSnapshot).

                                                              */ - fromBundleId?: string; + resourceType?: ResourceType | string; } export namespace InstanceSnapshot { @@ -7755,6 +7755,11 @@ export interface InstanceHealthSummary { */ instanceName?: string; + /** + *

                                                              Describes the overall instance health. Valid values are below.

                                                              + */ + instanceHealth?: InstanceHealthState | string; + /** *

                                                              More information about the instance health. If the instanceHealth is * healthy, then an instanceHealthReason value is not @@ -7879,11 +7884,6 @@ export interface InstanceHealthSummary { *

                                                            */ instanceHealthReason?: InstanceHealthReason | string; - - /** - *

                                                            Describes the overall instance health. Valid values are below.

                                                            - */ - instanceHealth?: InstanceHealthState | string; } export namespace InstanceHealthSummary { @@ -7909,16 +7909,16 @@ export enum LoadBalancerState { *

                                                            Provides a summary of SSL/TLS certificate metadata.

                                                            */ export interface LoadBalancerTlsCertificateSummary { - /** - *

                                                            The name of the SSL/TLS certificate.

                                                            - */ - name?: string; - /** *

                                                            When true, the SSL/TLS certificate is attached to the Lightsail load * balancer.

                                                            */ isAttached?: boolean; + + /** + *

                                                            The name of the SSL/TLS certificate.

                                                            + */ + name?: string; } export namespace LoadBalancerTlsCertificateSummary { @@ -7932,15 +7932,15 @@ export namespace LoadBalancerTlsCertificateSummary { */ export interface LoadBalancer { /** - *

                                                            The path you specified to perform your health checks. If no path is specified, the load - * balancer tries to make a request to the default (root) page.

                                                            + *

                                                            An array of InstanceHealthSummary objects describing the health of the load + * balancer.

                                                            */ - healthCheckPath?: string; + instanceHealthSummary?: InstanceHealthSummary[]; /** - *

                                                            The date when your load balancer was created.

                                                            + *

                                                            The DNS name of your Lightsail load balancer.

                                                            */ - createdAt?: Date; + dnsName?: string; /** *

                                                            An array of LoadBalancerTlsCertificateSummary objects that provide additional information @@ -7950,17 +7950,14 @@ export interface LoadBalancer { tlsCertificateSummaries?: LoadBalancerTlsCertificateSummary[]; /** - *

                                                            The protocol you have enabled for your load balancer. Valid values are below.

                                                            - *

                                                            You can't just have HTTP_HTTPS, but you can have just - * HTTP.

                                                            + *

                                                            The name of the load balancer (e.g., my-load-balancer).

                                                            */ - protocol?: LoadBalancerProtocol | string; + name?: string; /** - *

                                                            An array of InstanceHealthSummary objects describing the health of the load - * balancer.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the load balancer.

                                                            */ - instanceHealthSummary?: InstanceHealthSummary[]; + arn?: string; /** *

                                                            The resource type (e.g., LoadBalancer.

                                                            @@ -7968,62 +7965,65 @@ export interface LoadBalancer { resourceType?: ResourceType | string; /** - *

                                                            The name of the load balancer (e.g., my-load-balancer).

                                                            + *

                                                            The protocol you have enabled for your load balancer. Valid values are below.

                                                            + *

                                                            You can't just have HTTP_HTTPS, but you can have just + * HTTP.

                                                            */ - name?: string; + protocol?: LoadBalancerProtocol | string; /** - *

                                                            The port where the load balancer will direct traffic to your Lightsail instances. For - * HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.

                                                            + *

                                                            The date when your load balancer was created.

                                                            */ - instancePort?: number; + createdAt?: Date; /** - *

                                                            The status of your load balancer. Valid values are below.

                                                            + *

                                                            The AWS Region where your load balancer was created (e.g., us-east-2a). + * Lightsail automatically creates your load balancer across Availability Zones.

                                                            */ - state?: LoadBalancerState | string; + location?: ResourceLocation; /** - *

                                                            The support code. Include this code in your email to support when you have questions about - * your Lightsail load balancer. This code enables our support team to look up your Lightsail - * information more easily.

                                                            + *

                                                            A string to string map of the configuration options for your load balancer. Valid values + * are listed below.

                                                            */ - supportCode?: string; + configurationOptions?: { [key: string]: string }; /** - *

                                                            The Amazon Resource Name (ARN) of the load balancer.

                                                            + *

                                                            The status of your load balancer. Valid values are below.

                                                            */ - arn?: string; + state?: LoadBalancerState | string; /** - *

                                                            The DNS name of your Lightsail load balancer.

                                                            + *

                                                            The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                            */ - dnsName?: string; + tags?: Tag[]; /** - *

                                                            An array of public port settings for your load balancer. For HTTP, use port 80. For HTTPS, - * use port 443.

                                                            + *

                                                            The path you specified to perform your health checks. If no path is specified, the load + * balancer tries to make a request to the default (root) page.

                                                            */ - publicPorts?: number[]; + healthCheckPath?: string; /** - *

                                                            The AWS Region where your load balancer was created (e.g., us-east-2a). - * Lightsail automatically creates your load balancer across Availability Zones.

                                                            + *

                                                            The support code. Include this code in your email to support when you have questions about + * your Lightsail load balancer. This code enables our support team to look up your Lightsail + * information more easily.

                                                            */ - location?: ResourceLocation; + supportCode?: string; /** - *

                                                            The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                            + *

                                                            The port where the load balancer will direct traffic to your Lightsail instances. For + * HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.

                                                            */ - tags?: Tag[]; + instancePort?: number; /** - *

                                                            A string to string map of the configuration options for your load balancer. Valid values - * are listed below.

                                                            + *

                                                            An array of public port settings for your load balancer. For HTTP, use port 80. For HTTPS, + * use port 443.

                                                            */ - configurationOptions?: { [key: string]: string }; + publicPorts?: number[]; } export namespace LoadBalancer { @@ -8061,6 +8061,58 @@ export enum LoadBalancerMetricName { } export interface GetLoadBalancerMetricDataRequest { + /** + *

                                                            The start time of the period.

                                                            + */ + startTime: Date | undefined; + + /** + *

                                                            The end time of the period.

                                                            + */ + endTime: Date | undefined; + + /** + *

                                                            The statistic for the metric.

                                                            + *

                                                            The following statistics are available:

                                                            + *
                                                              + *
                                                            • + *

                                                              + * Minimum - The lowest value observed during the specified period. Use this + * value to determine low volumes of activity for your application.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * Maximum - The highest value observed during the specified period. Use + * this value to determine high volumes of activity for your application.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * Sum - All values submitted for the matching metric added together. You + * can use this statistic to determine the total volume of a metric.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * Average - The value of Sum / SampleCount during the specified period. By + * comparing this statistic with the Minimum and Maximum values, you can determine the full + * scope of a metric and how close the average use is to the Minimum and Maximum values. This + * comparison helps you to know when to increase or decrease your resources.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * SampleCount - The count, or number, of data points used for the + * statistical calculation.

                                                              + *
                                                            • + *
                                                            + */ + statistics: (MetricStatistic | string)[] | undefined; + + /** + *

                                                            The unit for the metric data request. Valid units depend on the metric data being + * requested. For the valid units with each available metric, see the metricName + * parameter.

                                                            + */ + unit: MetricUnit | string | undefined; + /** *

                                                            The granularity, in seconds, of the returned data points.

                                                            */ @@ -8239,62 +8291,10 @@ export interface GetLoadBalancerMetricDataRequest { */ metricName: LoadBalancerMetricName | string | undefined; - /** - *

                                                            The start time of the period.

                                                            - */ - startTime: Date | undefined; - - /** - *

                                                            The statistic for the metric.

                                                            - *

                                                            The following statistics are available:

                                                            - *
                                                              - *
                                                            • - *

                                                              - * Minimum - The lowest value observed during the specified period. Use this - * value to determine low volumes of activity for your application.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * Maximum - The highest value observed during the specified period. Use - * this value to determine high volumes of activity for your application.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * Sum - All values submitted for the matching metric added together. You - * can use this statistic to determine the total volume of a metric.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * Average - The value of Sum / SampleCount during the specified period. By - * comparing this statistic with the Minimum and Maximum values, you can determine the full - * scope of a metric and how close the average use is to the Minimum and Maximum values. This - * comparison helps you to know when to increase or decrease your resources.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * SampleCount - The count, or number, of data points used for the - * statistical calculation.

                                                              - *
                                                            • - *
                                                            - */ - statistics: (MetricStatistic | string)[] | undefined; - /** *

                                                            The name of the load balancer.

                                                            */ loadBalancerName: string | undefined; - - /** - *

                                                            The end time of the period.

                                                            - */ - endTime: Date | undefined; - - /** - *

                                                            The unit for the metric data request. Valid units depend on the metric data being - * requested. For the valid units with each available metric, see the metricName - * parameter.

                                                            - */ - unit: MetricUnit | string | undefined; } export namespace GetLoadBalancerMetricDataRequest { @@ -8381,11 +8381,6 @@ export enum LoadBalancerTlsCertificateDomainStatus { *

                                                            Describes the validation record of each domain name in the SSL/TLS certificate.

                                                            */ export interface LoadBalancerTlsCertificateDomainValidationRecord { - /** - *

                                                            The value for that type.

                                                            - */ - value?: string; - /** *

                                                            A fully qualified domain name in the certificate. For example, * example.com.

                                                            @@ -8398,15 +8393,20 @@ export interface LoadBalancerTlsCertificateDomainValidationRecord { domainName?: string; /** - *

                                                            The type of validation record. For example, CNAME for domain - * validation.

                                                            + *

                                                            The value for that type.

                                                            */ - type?: string; + value?: string; /** *

                                                            The validation status. Valid values are listed below.

                                                            */ validationStatus?: LoadBalancerTlsCertificateDomainStatus | string; + + /** + *

                                                            The type of validation record. For example, CNAME for domain + * validation.

                                                            + */ + type?: string; } export namespace LoadBalancerTlsCertificateDomainValidationRecord { @@ -8587,26 +8587,138 @@ export enum LoadBalancerTlsCertificateStatus { */ export interface LoadBalancerTlsCertificate { /** - *

                                                            The issuer of the certificate.

                                                            + *

                                                            The AWS Region and Availability Zone where you created your certificate.

                                                            */ - issuer?: string; + location?: ResourceLocation; /** - *

                                                            The name of the entity that is associated with the public key contained in the - * certificate.

                                                            + *

                                                            The validation status of the SSL/TLS certificate. Valid values are below.

                                                            */ - subject?: string; + status?: LoadBalancerTlsCertificateStatus | string; /** - *

                                                            The reason the certificate was revoked. This value is present only when the certificate - * status is REVOKED.

                                                            + *

                                                            The serial number of the certificate.

                                                            + */ + serial?: string; + + /** + *

                                                            The load balancer name where your SSL/TLS certificate is attached.

                                                            + */ + loadBalancerName?: string; + + /** + *

                                                            The support code. Include this code in your email to support when you have questions about + * your Lightsail load balancer or SSL/TLS certificate. This code enables our support team to + * look up your Lightsail information more easily.

                                                            + */ + supportCode?: string; + + /** + *

                                                            The name of the SSL/TLS certificate (e.g., my-certificate).

                                                            + */ + name?: string; + + /** + *

                                                            An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing the + * records.

                                                            + */ + domainValidationRecords?: LoadBalancerTlsCertificateDomainValidationRecord[]; + + /** + *

                                                            The algorithm that was used to sign the certificate.

                                                            + */ + signatureAlgorithm?: string; + + /** + *

                                                            The timestamp when the SSL/TLS certificate expires.

                                                            + */ + notAfter?: Date; + + /** + *

                                                            When true, the SSL/TLS certificate is attached to the Lightsail load + * balancer.

                                                            + */ + isAttached?: boolean; + + /** + *

                                                            The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                            + */ + tags?: Tag[]; + + /** + *

                                                            The validation failure reason, if any, of the certificate.

                                                            + * + *

                                                            The following failure reasons are possible:

                                                            + *
                                                              + *
                                                            • + *

                                                              + * + * NO_AVAILABLE_CONTACTS + * - This failure + * applies to email validation, which is not available for Lightsail certificates.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * + * ADDITIONAL_VERIFICATION_REQUIRED + * - + * Lightsail requires additional information to process this certificate request. This can + * happen as a fraud-protection measure, such as when the domain ranks within the Alexa top + * 1000 websites. To provide the required information, use the AWS Support Center to contact + * AWS Support.

                                                              + * + *

                                                              You cannot request a certificate for Amazon-owned domain names such as those ending + * in amazonaws.com, cloudfront.net, or elasticbeanstalk.com.

                                                              + *
                                                              + *
                                                            • + *
                                                            • + *

                                                              + * + * DOMAIN_NOT_ALLOWED + * - One or more of the + * domain names in the certificate request was reported as an unsafe domain by VirusTotal. To correct the + * problem, search for your domain name on the VirusTotal website. If your domain + * is reported as suspicious, see Google Help for Hacked + * Websites to learn what you can do.

                                                              + *

                                                              If you believe that the result is a false positive, notify the organization that is + * reporting the domain. VirusTotal is an aggregate of several antivirus and URL scanners and + * cannot remove your domain from a block list itself. After you correct the problem and the + * VirusTotal registry has been updated, request a new certificate.

                                                              + *

                                                              If you see this error and your domain is not included in the VirusTotal list, visit + * the AWS Support Center + * and create a case.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * + * INVALID_PUBLIC_DOMAIN + * - One or more of + * the domain names in the certificate request is not valid. Typically, this is because a + * domain name in the request is not a valid top-level domain. Try to request a certificate + * again, correcting any spelling errors or typos that were in the failed request, and ensure + * that all domain names in the request are for valid top-level domains. For example, you + * cannot request a certificate for example.invalidpublicdomain because + * invalidpublicdomain is not a valid top-level domain.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * + * OTHER + * - Typically, this failure occurs + * when there is a typographical error in one or more of the domain names in the certificate + * request. Try to request a certificate again, correcting any spelling errors or typos that + * were in the failed request.

                                                              + *
                                                            • + *
                                                            */ - revocationReason?: LoadBalancerTlsCertificateRevocationReason | string; + failureReason?: LoadBalancerTlsCertificateFailureReason | string; /** - *

                                                            The timestamp when the SSL/TLS certificate expires.

                                                            + *

                                                            The domain name for your SSL/TLS certificate.

                                                            */ - notAfter?: Date; + domainName?: string; /** *

                                                            An array of strings that specify the alternate domains (e.g., example2.com) @@ -8615,46 +8727,10 @@ export interface LoadBalancerTlsCertificate { subjectAlternativeNames?: string[]; /** - *

                                                            The algorithm used to generate the key pair (the public and private key).

                                                            - */ - keyAlgorithm?: string; - - /** - *

                                                            The timestamp when the SSL/TLS certificate is first valid.

                                                            - */ - notBefore?: Date; - - /** - *

                                                            An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing the - * records.

                                                            - */ - domainValidationRecords?: LoadBalancerTlsCertificateDomainValidationRecord[]; - - /** - *

                                                            The load balancer name where your SSL/TLS certificate is attached.

                                                            - */ - loadBalancerName?: string; - - /** - *

                                                            The time when you created your SSL/TLS certificate.

                                                            - */ - createdAt?: Date; - - /** - *

                                                            An object that describes the status of the certificate renewal managed by - * Lightsail.

                                                            - */ - renewalSummary?: LoadBalancerTlsCertificateRenewalSummary; - - /** - *

                                                            The time when the SSL/TLS certificate was issued.

                                                            - */ - issuedAt?: Date; - - /** - *

                                                            The Amazon Resource Name (ARN) of the SSL/TLS certificate.

                                                            + *

                                                            The reason the certificate was revoked. This value is present only when the certificate + * status is REVOKED.

                                                            */ - arn?: string; + revocationReason?: LoadBalancerTlsCertificateRevocationReason | string; /** *

                                                            The timestamp when the certificate was revoked. This value is present only when the @@ -8662,23 +8738,6 @@ export interface LoadBalancerTlsCertificate { */ revokedAt?: Date; - /** - *

                                                            The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                            - */ - tags?: Tag[]; - - /** - *

                                                            The AWS Region and Availability Zone where you created your certificate.

                                                            - */ - location?: ResourceLocation; - - /** - *

                                                            The algorithm that was used to sign the certificate.

                                                            - */ - signatureAlgorithm?: string; - /** *

                                                            The resource type (e.g., LoadBalancerTlsCertificate).

                                                            *
                                                              @@ -8754,105 +8813,46 @@ export interface LoadBalancerTlsCertificate { resourceType?: ResourceType | string; /** - *

                                                              The validation failure reason, if any, of the certificate.

                                                              - * - *

                                                              The following failure reasons are possible:

                                                              - *
                                                                - *
                                                              • - *

                                                                - * - * NO_AVAILABLE_CONTACTS - * - This failure - * applies to email validation, which is not available for Lightsail certificates.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * - * ADDITIONAL_VERIFICATION_REQUIRED - * - - * Lightsail requires additional information to process this certificate request. This can - * happen as a fraud-protection measure, such as when the domain ranks within the Alexa top - * 1000 websites. To provide the required information, use the AWS Support Center to contact - * AWS Support.

                                                                - * - *

                                                                You cannot request a certificate for Amazon-owned domain names such as those ending - * in amazonaws.com, cloudfront.net, or elasticbeanstalk.com.

                                                                - *
                                                                - *
                                                              • - *
                                                              • - *

                                                                - * - * DOMAIN_NOT_ALLOWED - * - One or more of the - * domain names in the certificate request was reported as an unsafe domain by VirusTotal. To correct the - * problem, search for your domain name on the VirusTotal website. If your domain - * is reported as suspicious, see Google Help for Hacked - * Websites to learn what you can do.

                                                                - *

                                                                If you believe that the result is a false positive, notify the organization that is - * reporting the domain. VirusTotal is an aggregate of several antivirus and URL scanners and - * cannot remove your domain from a block list itself. After you correct the problem and the - * VirusTotal registry has been updated, request a new certificate.

                                                                - *

                                                                If you see this error and your domain is not included in the VirusTotal list, visit - * the AWS Support Center - * and create a case.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * - * INVALID_PUBLIC_DOMAIN - * - One or more of - * the domain names in the certificate request is not valid. Typically, this is because a - * domain name in the request is not a valid top-level domain. Try to request a certificate - * again, correcting any spelling errors or typos that were in the failed request, and ensure - * that all domain names in the request are for valid top-level domains. For example, you - * cannot request a certificate for example.invalidpublicdomain because - * invalidpublicdomain is not a valid top-level domain.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * - * OTHER - * - Typically, this failure occurs - * when there is a typographical error in one or more of the domain names in the certificate - * request. Try to request a certificate again, correcting any spelling errors or typos that - * were in the failed request.

                                                                - *
                                                              • - *
                                                              + *

                                                              The name of the entity that is associated with the public key contained in the + * certificate.

                                                              */ - failureReason?: LoadBalancerTlsCertificateFailureReason | string; + subject?: string; /** - *

                                                              The domain name for your SSL/TLS certificate.

                                                              + *

                                                              The algorithm used to generate the key pair (the public and private key).

                                                              */ - domainName?: string; + keyAlgorithm?: string; /** - *

                                                              The serial number of the certificate.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the SSL/TLS certificate.

                                                              */ - serial?: string; + arn?: string; /** - *

                                                              When true, the SSL/TLS certificate is attached to the Lightsail load - * balancer.

                                                              + *

                                                              The time when the SSL/TLS certificate was issued.

                                                              */ - isAttached?: boolean; + issuedAt?: Date; /** - *

                                                              The validation status of the SSL/TLS certificate. Valid values are below.

                                                              + *

                                                              An object that describes the status of the certificate renewal managed by + * Lightsail.

                                                              */ - status?: LoadBalancerTlsCertificateStatus | string; + renewalSummary?: LoadBalancerTlsCertificateRenewalSummary; /** - *

                                                              The support code. Include this code in your email to support when you have questions about - * your Lightsail load balancer or SSL/TLS certificate. This code enables our support team to - * look up your Lightsail information more easily.

                                                              + *

                                                              The issuer of the certificate.

                                                              */ - supportCode?: string; + issuer?: string; /** - *

                                                              The name of the SSL/TLS certificate (e.g., my-certificate).

                                                              + *

                                                              The time when you created your SSL/TLS certificate.

                                                              */ - name?: string; + createdAt?: Date; + + /** + *

                                                              The timestamp when the SSL/TLS certificate is first valid.

                                                              + */ + notBefore?: Date; } export namespace LoadBalancerTlsCertificate { @@ -8919,12 +8919,6 @@ export namespace GetOperationsRequest { } export interface GetOperationsResult { - /** - *

                                                              An array of objects that describe the result of the action, such as the status of the - * request, the timestamp of the request, and the resources affected by the request.

                                                              - */ - operations?: Operation[]; - /** *

                                                              The token to advance to the next page of resutls from your request.

                                                              *

                                                              A next page token is not returned if there are no more results to display.

                                                              @@ -8932,6 +8926,12 @@ export interface GetOperationsResult { * specify the next page token using the pageToken parameter.

                                                              */ nextPageToken?: string; + + /** + *

                                                              An array of objects that describe the result of the action, such as the status of the + * request, the timestamp of the request, and the resources affected by the request.

                                                              + */ + operations?: Operation[]; } export namespace GetOperationsResult { @@ -8941,6 +8941,11 @@ export namespace GetOperationsResult { } export interface GetOperationsForResourceRequest { + /** + *

                                                              The name of the resource for which you are requesting information.

                                                              + */ + resourceName: string | undefined; + /** *

                                                              The token to advance to the next page of results from your request.

                                                              *

                                                              To get a page token, perform an initial GetOperationsForResource request. If @@ -8948,11 +8953,6 @@ export interface GetOperationsForResourceRequest { * the page token in a subsequent request.

                                                              */ pageToken?: string; - - /** - *

                                                              The name of the resource for which you are requesting information.

                                                              - */ - resourceName: string | undefined; } export namespace GetOperationsForResourceRequest { @@ -8962,14 +8962,6 @@ export namespace GetOperationsForResourceRequest { } export interface GetOperationsForResourceResult { - /** - *

                                                              The token to advance to the next page of resutls from your request.

                                                              - *

                                                              A next page token is not returned if there are no more results to display.

                                                              - *

                                                              To get the next page of results, perform another GetOperationsForResource - * request and specify the next page token using the pageToken parameter.

                                                              - */ - nextPageToken?: string; - /** *

                                                              (Deprecated) Returns the number of pages of results that remain.

                                                              * @@ -8985,6 +8977,14 @@ export interface GetOperationsForResourceResult { * request, the timestamp of the request, and the resources affected by the request.

                                                              */ operations?: Operation[]; + + /** + *

                                                              The token to advance to the next page of resutls from your request.

                                                              + *

                                                              A next page token is not returned if there are no more results to display.

                                                              + *

                                                              To get the next page of results, perform another GetOperationsForResource + * request and specify the next page token using the pageToken parameter.

                                                              + */ + nextPageToken?: string; } export namespace GetOperationsForResourceResult { @@ -9018,11 +9018,6 @@ export namespace GetRegionsRequest { *

                                                              Describes the AWS Region.

                                                              */ export interface Region { - /** - *

                                                              The continent code (e.g., NA, meaning North America).

                                                              - */ - continentCode?: string; - /** *

                                                              The display name (e.g., Ohio).

                                                              */ @@ -9035,21 +9030,26 @@ export interface Region { relationalDatabaseAvailabilityZones?: AvailabilityZone[]; /** - *

                                                              The region name (e.g., us-east-2).

                                                              + *

                                                              The continent code (e.g., NA, meaning North America).

                                                              */ - name?: RegionName | string; + continentCode?: string; /** - *

                                                              The description of the AWS Region (e.g., This region is recommended to serve users - * in the eastern United States and eastern Canada).

                                                              + *

                                                              The region name (e.g., us-east-2).

                                                              */ - description?: string; + name?: RegionName | string; /** *

                                                              The Availability Zones. Follows the format us-east-2a * (case-sensitive).

                                                              */ availabilityZones?: AvailabilityZone[]; + + /** + *

                                                              The description of the AWS Region (e.g., This region is recommended to serve users + * in the eastern United States and eastern Canada).

                                                              + */ + description?: string; } export namespace Region { @@ -9089,14 +9089,14 @@ export namespace GetRelationalDatabaseRequest { */ export interface RelationalDatabaseHardware { /** - *

                                                              The amount of RAM in GB for the database.

                                                              + *

                                                              The number of vCPUs for the database.

                                                              */ - ramSizeInGb?: number; + cpuCount?: number; /** - *

                                                              The number of vCPUs for the database.

                                                              + *

                                                              The amount of RAM in GB for the database.

                                                              */ - cpuCount?: number; + ramSizeInGb?: number; /** *

                                                              The size of the disk for the database.

                                                              @@ -9115,14 +9115,14 @@ export namespace RelationalDatabaseHardware { */ export interface RelationalDatabaseEndpoint { /** - *

                                                              Specifies the port that the database is listening on.

                                                              + *

                                                              Specifies the DNS address of the database.

                                                              */ - port?: number; + address?: string; /** - *

                                                              Specifies the DNS address of the database.

                                                              + *

                                                              Specifies the port that the database is listening on.

                                                              */ - address?: string; + port?: number; } export namespace RelationalDatabaseEndpoint { @@ -9135,11 +9135,6 @@ export namespace RelationalDatabaseEndpoint { *

                                                              Describes a pending database maintenance action.

                                                              */ export interface PendingMaintenanceAction { - /** - *

                                                              The effective date of the pending database maintenance action.

                                                              - */ - currentApplyDate?: Date; - /** *

                                                              The type of pending database maintenance action.

                                                              */ @@ -9149,6 +9144,11 @@ export interface PendingMaintenanceAction { *

                                                              Additional detail about the pending database maintenance action.

                                                              */ description?: string; + + /** + *

                                                              The effective date of the pending database maintenance action.

                                                              + */ + currentApplyDate?: Date; } export namespace PendingMaintenanceAction { diff --git a/clients/client-lightsail/models/models_1.ts b/clients/client-lightsail/models/models_1.ts index 5aac16f19a98..4e50aacf4b8e 100644 --- a/clients/client-lightsail/models/models_1.ts +++ b/clients/client-lightsail/models/models_1.ts @@ -30,14 +30,14 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; */ export interface PendingModifiedRelationalDatabaseValues { /** - *

                                                              The database engine version.

                                                              + *

                                                              A Boolean value indicating whether automated backup retention is enabled.

                                                              */ - engineVersion?: string; + backupRetentionEnabled?: boolean; /** - *

                                                              A Boolean value indicating whether automated backup retention is enabled.

                                                              + *

                                                              The database engine version.

                                                              */ - backupRetentionEnabled?: boolean; + engineVersion?: string; /** *

                                                              The password for the master user of the database.

                                                              @@ -56,149 +56,149 @@ export namespace PendingModifiedRelationalDatabaseValues { */ export interface RelationalDatabase { /** - *

                                                              The database software (for example, MySQL).

                                                              + *

                                                              Describes the secondary Availability Zone of a high availability database.

                                                              + *

                                                              The secondary database is used for failover support of a high availability + * database.

                                                              */ - engine?: string; + secondaryAvailabilityZone?: string; /** - *

                                                              A Boolean value indicating whether automated backup retention is enabled for the - * database.

                                                              + *

                                                              Describes pending database value modifications.

                                                              */ - backupRetentionEnabled?: boolean; + pendingModifiedValues?: PendingModifiedRelationalDatabaseValues; /** - *

                                                              The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                              + *

                                                              The timestamp when the database was created. Formatted in Unix time.

                                                              */ - tags?: Tag[]; + createdAt?: Date; /** - *

                                                              The database engine version (for example, 5.7.23).

                                                              + *

                                                              The Amazon Resource Name (ARN) of the database.

                                                              */ - engineVersion?: string; + arn?: string; /** - *

                                                              The daily time range during which automated backups are created for the database (for - * example, 16:00-16:30).

                                                              + *

                                                              The latest point in time to which the database can be restored. Formatted in Unix + * time.

                                                              */ - preferredBackupWindow?: string; + latestRestorableTime?: Date; /** - *

                                                              The master user name of the database.

                                                              + *

                                                              The weekly time range during which system maintenance can occur on the database.

                                                              + *

                                                              In the format ddd:hh24:mi-ddd:hh24:mi. For example, + * Tue:17:00-Tue:17:30.

                                                              */ - masterUsername?: string; + preferredMaintenanceWindow?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the database.

                                                              + *

                                                              The unique name of the database resource in Lightsail.

                                                              */ - arn?: string; + name?: string; /** - *

                                                              The timestamp when the database was created. Formatted in Unix time.

                                                              + *

                                                              Describes the current state of the database.

                                                              */ - createdAt?: Date; + state?: string; /** - *

                                                              Describes the pending maintenance actions for the database.

                                                              + *

                                                              The Lightsail resource type for the database (for example, + * RelationalDatabase).

                                                              */ - pendingMaintenanceActions?: PendingMaintenanceAction[]; + resourceType?: ResourceType | string; /** - *

                                                              The name of the master database created when the Lightsail database resource is - * created.

                                                              + *

                                                              The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                              */ - masterDatabaseName?: string; + tags?: Tag[]; /** - *

                                                              Describes the secondary Availability Zone of a high availability database.

                                                              - *

                                                              The secondary database is used for failover support of a high availability - * database.

                                                              + *

                                                              The Region name and Availability Zone where the database is located.

                                                              */ - secondaryAvailabilityZone?: string; + location?: ResourceLocation; /** - *

                                                              The certificate associated with the database.

                                                              + *

                                                              The blueprint ID for the database. A blueprint describes the major engine version of a + * database.

                                                              */ - caCertificateIdentifier?: string; + relationalDatabaseBlueprintId?: string; /** - *

                                                              Describes the hardware of the database.

                                                              + *

                                                              The master user name of the database.

                                                              */ - hardware?: RelationalDatabaseHardware; + masterUsername?: string; /** - *

                                                              A Boolean value indicating whether the database is publicly accessible.

                                                              + *

                                                              The database engine version (for example, 5.7.23).

                                                              */ - publiclyAccessible?: boolean; + engineVersion?: string; /** - *

                                                              The latest point in time to which the database can be restored. Formatted in Unix - * time.

                                                              + *

                                                              The name of the master database created when the Lightsail database resource is + * created.

                                                              */ - latestRestorableTime?: Date; + masterDatabaseName?: string; /** - *

                                                              The status of parameter updates for the database.

                                                              + *

                                                              The support code for the database. Include this code in your email to support when you + * have questions about a database in Lightsail. This code enables our support team to look up + * your Lightsail information more easily.

                                                              */ - parameterApplyStatus?: string; + supportCode?: string; /** - *

                                                              Describes the current state of the database.

                                                              + *

                                                              The database software (for example, MySQL).

                                                              */ - state?: string; + engine?: string; /** - *

                                                              The blueprint ID for the database. A blueprint describes the major engine version of a - * database.

                                                              + *

                                                              A Boolean value indicating whether the database is publicly accessible.

                                                              */ - relationalDatabaseBlueprintId?: string; + publiclyAccessible?: boolean; /** - *

                                                              Describes pending database value modifications.

                                                              + *

                                                              A Boolean value indicating whether automated backup retention is enabled for the + * database.

                                                              */ - pendingModifiedValues?: PendingModifiedRelationalDatabaseValues; + backupRetentionEnabled?: boolean; /** - *

                                                              The weekly time range during which system maintenance can occur on the database.

                                                              - *

                                                              In the format ddd:hh24:mi-ddd:hh24:mi. For example, - * Tue:17:00-Tue:17:30.

                                                              + *

                                                              Describes the hardware of the database.

                                                              */ - preferredMaintenanceWindow?: string; + hardware?: RelationalDatabaseHardware; /** - *

                                                              The master endpoint for the database.

                                                              + *

                                                              Describes the pending maintenance actions for the database.

                                                              */ - masterEndpoint?: RelationalDatabaseEndpoint; + pendingMaintenanceActions?: PendingMaintenanceAction[]; /** - *

                                                              The bundle ID for the database. A bundle describes the performance specifications for your - * database.

                                                              + *

                                                              The certificate associated with the database.

                                                              */ - relationalDatabaseBundleId?: string; + caCertificateIdentifier?: string; /** - *

                                                              The support code for the database. Include this code in your email to support when you - * have questions about a database in Lightsail. This code enables our support team to look up - * your Lightsail information more easily.

                                                              + *

                                                              The status of parameter updates for the database.

                                                              */ - supportCode?: string; + parameterApplyStatus?: string; /** - *

                                                              The Lightsail resource type for the database (for example, - * RelationalDatabase).

                                                              + *

                                                              The master endpoint for the database.

                                                              */ - resourceType?: ResourceType | string; + masterEndpoint?: RelationalDatabaseEndpoint; /** - *

                                                              The Region name and Availability Zone where the database is located.

                                                              + *

                                                              The daily time range during which automated backups are created for the database (for + * example, 16:00-16:30).

                                                              */ - location?: ResourceLocation; + preferredBackupWindow?: string; /** - *

                                                              The unique name of the database resource in Lightsail.

                                                              + *

                                                              The bundle ID for the database. A bundle describes the performance specifications for your + * database.

                                                              */ - name?: string; + relationalDatabaseBundleId?: string; } export namespace RelationalDatabase { @@ -245,6 +245,16 @@ export enum RelationalDatabaseEngine { * of a database.

                                                              */ export interface RelationalDatabaseBlueprint { + /** + *

                                                              The description of the database engine for the database blueprint.

                                                              + */ + engineDescription?: string; + + /** + *

                                                              The ID for the database blueprint.

                                                              + */ + blueprintId?: string; + /** *

                                                              The database engine version for the database blueprint (for example, * 5.7.23).

                                                              @@ -266,16 +276,6 @@ export interface RelationalDatabaseBlueprint { *

                                                              The database software of the database blueprint (for example, MySQL).

                                                              */ engine?: RelationalDatabaseEngine | string; - - /** - *

                                                              The ID for the database blueprint.

                                                              - */ - blueprintId?: string; - - /** - *

                                                              The description of the database engine for the database blueprint.

                                                              - */ - engineDescription?: string; } export namespace RelationalDatabaseBlueprint { @@ -285,11 +285,6 @@ export namespace RelationalDatabaseBlueprint { } export interface GetRelationalDatabaseBlueprintsResult { - /** - *

                                                              An object describing the result of your get relational database blueprints request.

                                                              - */ - blueprints?: RelationalDatabaseBlueprint[]; - /** *

                                                              The token to advance to the next page of resutls from your request.

                                                              *

                                                              A next page token is not returned if there are no more results to display.

                                                              @@ -298,6 +293,11 @@ export interface GetRelationalDatabaseBlueprintsResult { * the pageToken parameter.

                                                              */ nextPageToken?: string; + + /** + *

                                                              An object describing the result of your get relational database blueprints request.

                                                              + */ + blueprints?: RelationalDatabaseBlueprint[]; } export namespace GetRelationalDatabaseBlueprintsResult { @@ -328,19 +328,19 @@ export namespace GetRelationalDatabaseBundlesRequest { */ export interface RelationalDatabaseBundle { /** - *

                                                              The ID for the database bundle.

                                                              + *

                                                              The amount of RAM in GB (for example, 2.0) for the database bundle.

                                                              */ - bundleId?: string; + ramSizeInGb?: number; /** - *

                                                              The name for the database bundle.

                                                              + *

                                                              The number of virtual CPUs (vCPUs) for the database bundle.

                                                              */ - name?: string; + cpuCount?: number; /** - *

                                                              A Boolean value indicating whether the database bundle is active.

                                                              + *

                                                              The data transfer rate per month in GB for the database bundle.

                                                              */ - isActive?: boolean; + transferPerMonthInGb?: number; /** *

                                                              The size of the disk for the database bundle.

                                                              @@ -348,29 +348,29 @@ export interface RelationalDatabaseBundle { diskSizeInGb?: number; /** - *

                                                              The data transfer rate per month in GB for the database bundle.

                                                              + *

                                                              A Boolean value indicating whether the database bundle is encrypted.

                                                              */ - transferPerMonthInGb?: number; + isEncrypted?: boolean; /** - *

                                                              A Boolean value indicating whether the database bundle is encrypted.

                                                              + *

                                                              The name for the database bundle.

                                                              */ - isEncrypted?: boolean; + name?: string; /** - *

                                                              The cost of the database bundle in US currency.

                                                              + *

                                                              The ID for the database bundle.

                                                              */ - price?: number; + bundleId?: string; /** - *

                                                              The amount of RAM in GB (for example, 2.0) for the database bundle.

                                                              + *

                                                              The cost of the database bundle in US currency.

                                                              */ - ramSizeInGb?: number; + price?: number; /** - *

                                                              The number of virtual CPUs (vCPUs) for the database bundle.

                                                              + *

                                                              A Boolean value indicating whether the database bundle is active.

                                                              */ - cpuCount?: number; + isActive?: boolean; } export namespace RelationalDatabaseBundle { @@ -380,6 +380,11 @@ export namespace RelationalDatabaseBundle { } export interface GetRelationalDatabaseBundlesResult { + /** + *

                                                              An object describing the result of your get relational database bundles request.

                                                              + */ + bundles?: RelationalDatabaseBundle[]; + /** *

                                                              The token to advance to the next page of resutls from your request.

                                                              *

                                                              A next page token is not returned if there are no more results to display.

                                                              @@ -387,11 +392,6 @@ export interface GetRelationalDatabaseBundlesResult { * request and specify the next page token using the pageToken parameter.

                                                              */ nextPageToken?: string; - - /** - *

                                                              An object describing the result of your get relational database bundles request.

                                                              - */ - bundles?: RelationalDatabaseBundle[]; } export namespace GetRelationalDatabaseBundlesResult { @@ -401,14 +401,6 @@ export namespace GetRelationalDatabaseBundlesResult { } export interface GetRelationalDatabaseEventsRequest { - /** - *

                                                              The token to advance to the next page of results from your request.

                                                              - *

                                                              To get a page token, perform an initial GetRelationalDatabaseEvents request. - * If your results are paginated, the response will return a next page token that you can specify - * as the page token in a subsequent request.

                                                              - */ - pageToken?: string; - /** *

                                                              The number of minutes in the past from which to retrieve events. For example, to get all * events from the past 2 hours, enter 120.

                                                              @@ -418,6 +410,14 @@ export interface GetRelationalDatabaseEventsRequest { */ durationInMinutes?: number; + /** + *

                                                              The token to advance to the next page of results from your request.

                                                              + *

                                                              To get a page token, perform an initial GetRelationalDatabaseEvents request. + * If your results are paginated, the response will return a next page token that you can specify + * as the page token in a subsequent request.

                                                              + */ + pageToken?: string; + /** *

                                                              The name of the database from which to get events.

                                                              */ @@ -435,24 +435,24 @@ export namespace GetRelationalDatabaseEventsRequest { */ export interface RelationalDatabaseEvent { /** - *

                                                              The timestamp when the database event was created.

                                                              + *

                                                              The category that the database event belongs to.

                                                              */ - createdAt?: Date; + eventCategories?: string[]; /** - *

                                                              The database that the database event relates to.

                                                              + *

                                                              The message of the database event.

                                                              */ - resource?: string; + message?: string; /** - *

                                                              The category that the database event belongs to.

                                                              + *

                                                              The timestamp when the database event was created.

                                                              */ - eventCategories?: string[]; + createdAt?: Date; /** - *

                                                              The message of the database event.

                                                              + *

                                                              The database that the database event relates to.

                                                              */ - message?: string; + resource?: string; } export namespace RelationalDatabaseEvent { @@ -462,11 +462,6 @@ export namespace RelationalDatabaseEvent { } export interface GetRelationalDatabaseEventsResult { - /** - *

                                                              An object describing the result of your get relational database events request.

                                                              - */ - relationalDatabaseEvents?: RelationalDatabaseEvent[]; - /** *

                                                              The token to advance to the next page of resutls from your request.

                                                              *

                                                              A next page token is not returned if there are no more results to display.

                                                              @@ -474,6 +469,11 @@ export interface GetRelationalDatabaseEventsResult { * request and specify the next page token using the pageToken parameter.

                                                              */ nextPageToken?: string; + + /** + *

                                                              An object describing the result of your get relational database events request.

                                                              + */ + relationalDatabaseEvents?: RelationalDatabaseEvent[]; } export namespace GetRelationalDatabaseEventsResult { @@ -483,6 +483,25 @@ export namespace GetRelationalDatabaseEventsResult { } export interface GetRelationalDatabaseLogEventsRequest { + /** + *

                                                              Parameter to specify if the log should start from head or tail. If true is + * specified, the log event starts from the head of the log. If false is specified, + * the log event starts from the tail of the log.

                                                              + * + *

                                                              For PostgreSQL, the default value of false is the only option + * available.

                                                              + *
                                                              + */ + startFromHead?: boolean; + + /** + *

                                                              The token to advance to the next or previous page of results from your request.

                                                              + *

                                                              To get a page token, perform an initial GetRelationalDatabaseLogEvents + * request. If your results are paginated, the response will return a next forward token and/or + * next backward token that you can specify as the page token in a subsequent request.

                                                              + */ + pageToken?: string; + /** *

                                                              The end of the time interval from which to get log events.

                                                              *

                                                              Constraints:

                                                              @@ -500,6 +519,13 @@ export interface GetRelationalDatabaseLogEventsRequest { */ endTime?: Date; + /** + *

                                                              The name of the log stream.

                                                              + *

                                                              Use the get relational database log streams operation to get a list of + * available log streams.

                                                              + */ + logStreamName: string | undefined; + /** *

                                                              The name of your database for which to get log events.

                                                              */ @@ -520,32 +546,6 @@ export interface GetRelationalDatabaseLogEventsRequest { *
                                                            */ startTime?: Date; - - /** - *

                                                            The token to advance to the next or previous page of results from your request.

                                                            - *

                                                            To get a page token, perform an initial GetRelationalDatabaseLogEvents - * request. If your results are paginated, the response will return a next forward token and/or - * next backward token that you can specify as the page token in a subsequent request.

                                                            - */ - pageToken?: string; - - /** - *

                                                            Parameter to specify if the log should start from head or tail. If true is - * specified, the log event starts from the head of the log. If false is specified, - * the log event starts from the tail of the log.

                                                            - * - *

                                                            For PostgreSQL, the default value of false is the only option - * available.

                                                            - *
                                                            - */ - startFromHead?: boolean; - - /** - *

                                                            The name of the log stream.

                                                            - *

                                                            Use the get relational database log streams operation to get a list of - * available log streams.

                                                            - */ - logStreamName: string | undefined; } export namespace GetRelationalDatabaseLogEventsRequest { @@ -559,14 +559,14 @@ export namespace GetRelationalDatabaseLogEventsRequest { */ export interface LogEvent { /** - *

                                                            The timestamp when the database log event was created.

                                                            + *

                                                            The message of the database log event.

                                                            */ - createdAt?: Date; + message?: string; /** - *

                                                            The message of the database log event.

                                                            + *

                                                            The timestamp when the database log event was created.

                                                            */ - message?: string; + createdAt?: Date; } export namespace LogEvent { @@ -576,6 +576,12 @@ export namespace LogEvent { } export interface GetRelationalDatabaseLogEventsResult { + /** + *

                                                            A token used for advancing to the next page of results from your get relational database + * log events request.

                                                            + */ + nextForwardToken?: string; + /** *

                                                            An object describing the result of your get relational database log events request.

                                                            */ @@ -586,12 +592,6 @@ export interface GetRelationalDatabaseLogEventsResult { * database log events request.

                                                            */ nextBackwardToken?: string; - - /** - *

                                                            A token used for advancing to the next page of results from your get relational database - * log events request.

                                                            - */ - nextForwardToken?: string; } export namespace GetRelationalDatabaseLogEventsResult { @@ -634,6 +634,11 @@ export enum RelationalDatabasePasswordVersion { } export interface GetRelationalDatabaseMasterUserPasswordRequest { + /** + *

                                                            The name of your database for which to get the master user password.

                                                            + */ + relationalDatabaseName: string | undefined; + /** *

                                                            The password version to return.

                                                            *

                                                            Specifying CURRENT or PREVIOUS returns the current or previous @@ -645,11 +650,6 @@ export interface GetRelationalDatabaseMasterUserPasswordRequest { *

                                                            */ passwordVersion?: RelationalDatabasePasswordVersion | string; - - /** - *

                                                            The name of your database for which to get the master user password.

                                                            - */ - relationalDatabaseName: string | undefined; } export namespace GetRelationalDatabaseMasterUserPasswordRequest { @@ -660,14 +660,14 @@ export namespace GetRelationalDatabaseMasterUserPasswordRequest { export interface GetRelationalDatabaseMasterUserPasswordResult { /** - *

                                                            The timestamp when the specified version of the master user password was created.

                                                            + *

                                                            The master user password for the password version specified.

                                                            */ - createdAt?: Date; + masterUserPassword?: string; /** - *

                                                            The master user password for the password version specified.

                                                            + *

                                                            The timestamp when the specified version of the master user password was created.

                                                            */ - masterUserPassword?: string; + createdAt?: Date; } export namespace GetRelationalDatabaseMasterUserPasswordResult { @@ -687,6 +687,59 @@ export enum RelationalDatabaseMetricName { } export interface GetRelationalDatabaseMetricDataRequest { + /** + *

                                                            The granularity, in seconds, of the returned data points.

                                                            + *

                                                            All relational database metric data is available in 1-minute (60 seconds) + * granularity.

                                                            + */ + period: number | undefined; + + /** + *

                                                            The start of the time interval from which to get metric data.

                                                            + *

                                                            Constraints:

                                                            + *
                                                              + *
                                                            • + *

                                                              Specified in Coordinated Universal Time (UTC).

                                                              + *
                                                            • + *
                                                            • + *

                                                              Specified in the Unix time format.

                                                              + *

                                                              For example, if you wish to use a start time of October 1, 2018, at 8 PM UTC, then you + * input 1538424000 as the start time.

                                                              + * + *
                                                            • + *
                                                            + */ + startTime: Date | undefined; + + /** + *

                                                            The unit for the metric data request. Valid units depend on the metric data being + * requested. For the valid units with each available metric, see the metricName + * parameter.

                                                            + */ + unit: MetricUnit | string | undefined; + + /** + *

                                                            The name of your database from which to get metric data.

                                                            + */ + relationalDatabaseName: string | undefined; + + /** + *

                                                            The end of the time interval from which to get metric data.

                                                            + *

                                                            Constraints:

                                                            + *
                                                              + *
                                                            • + *

                                                              Specified in Coordinated Universal Time (UTC).

                                                              + *
                                                            • + *
                                                            • + *

                                                              Specified in the Unix time format.

                                                              + *

                                                              For example, if you wish to use an end time of October 1, 2018, at 8 PM UTC, then you + * input 1538424000 as the end time.

                                                              + * + *
                                                            • + *
                                                            + */ + endTime: Date | undefined; + /** *

                                                            The metric for which you want to return information.

                                                            *

                                                            Valid relational database metric names are listed below, along with the most useful @@ -759,55 +812,14 @@ export interface GetRelationalDatabaseMetricDataRequest { * - The outgoing * (Transmit) network traffic on the database, including both customer database traffic and * AWS traffic used for monitoring and replication.

                                                            - *

                                                            - * Statistics: The most useful statistic is Average.

                                                            - *

                                                            - * Unit: The published unit is Bytes/Second.

                                                            - * - *
                                                          - */ - metricName: RelationalDatabaseMetricName | string | undefined; - - /** - *

                                                          The end of the time interval from which to get metric data.

                                                          - *

                                                          Constraints:

                                                          - *
                                                            - *
                                                          • - *

                                                            Specified in Coordinated Universal Time (UTC).

                                                            - *
                                                          • - *
                                                          • - *

                                                            Specified in the Unix time format.

                                                            - *

                                                            For example, if you wish to use an end time of October 1, 2018, at 8 PM UTC, then you - * input 1538424000 as the end time.

                                                            - * - *
                                                          • - *
                                                          - */ - endTime: Date | undefined; - - /** - *

                                                          The unit for the metric data request. Valid units depend on the metric data being - * requested. For the valid units with each available metric, see the metricName - * parameter.

                                                          - */ - unit: MetricUnit | string | undefined; - - /** - *

                                                          The start of the time interval from which to get metric data.

                                                          - *

                                                          Constraints:

                                                          - *
                                                            - *
                                                          • - *

                                                            Specified in Coordinated Universal Time (UTC).

                                                            - *
                                                          • - *
                                                          • - *

                                                            Specified in the Unix time format.

                                                            - *

                                                            For example, if you wish to use a start time of October 1, 2018, at 8 PM UTC, then you - * input 1538424000 as the start time.

                                                            - * + *

                                                            + * Statistics: The most useful statistic is Average.

                                                            + *

                                                            + * Unit: The published unit is Bytes/Second.

                                                            *
                                                          • *
                                                          */ - startTime: Date | undefined; + metricName: RelationalDatabaseMetricName | string | undefined; /** *

                                                          The statistic for the metric.

                                                          @@ -843,18 +855,6 @@ export interface GetRelationalDatabaseMetricDataRequest { *
                                                        */ statistics: (MetricStatistic | string)[] | undefined; - - /** - *

                                                        The name of your database from which to get metric data.

                                                        - */ - relationalDatabaseName: string | undefined; - - /** - *

                                                        The granularity, in seconds, of the returned data points.

                                                        - *

                                                        All relational database metric data is available in 1-minute (60 seconds) - * granularity.

                                                        - */ - period: number | undefined; } export namespace GetRelationalDatabaseMetricDataRequest { @@ -865,14 +865,14 @@ export namespace GetRelationalDatabaseMetricDataRequest { export interface GetRelationalDatabaseMetricDataResult { /** - *

                                                        An array of objects that describe the metric data returned.

                                                        + *

                                                        The name of the metric returned.

                                                        */ - metricData?: MetricDatapoint[]; + metricName?: RelationalDatabaseMetricName | string; /** - *

                                                        The name of the metric returned.

                                                        + *

                                                        An array of objects that describe the metric data returned.

                                                        */ - metricName?: RelationalDatabaseMetricName | string; + metricData?: MetricDatapoint[]; } export namespace GetRelationalDatabaseMetricDataResult { @@ -882,6 +882,11 @@ export namespace GetRelationalDatabaseMetricDataResult { } export interface GetRelationalDatabaseParametersRequest { + /** + *

                                                        The name of your database for which to get parameters.

                                                        + */ + relationalDatabaseName: string | undefined; + /** *

                                                        The token to advance to the next page of results from your request.

                                                        *

                                                        To get a page token, perform an initial GetRelationalDatabaseParameters @@ -889,11 +894,6 @@ export interface GetRelationalDatabaseParametersRequest { * can specify as the page token in a subsequent request.

                                                        */ pageToken?: string; - - /** - *

                                                        The name of your database for which to get parameters.

                                                        - */ - relationalDatabaseName: string | undefined; } export namespace GetRelationalDatabaseParametersRequest { @@ -907,19 +907,19 @@ export namespace GetRelationalDatabaseParametersRequest { */ export interface RelationalDatabaseParameter { /** - *

                                                        Specifies the name of the parameter.

                                                        + *

                                                        Specifies the valid range of values for the parameter.

                                                        */ - parameterName?: string; + allowedValues?: string; /** - *

                                                        Provides a description of the parameter.

                                                        + *

                                                        A Boolean value indicating whether the parameter can be modified.

                                                        */ - description?: string; + isModifiable?: boolean; /** - *

                                                        Specifies the valid data type for the parameter.

                                                        + *

                                                        Specifies the value of the parameter.

                                                        */ - dataType?: string; + parameterValue?: string; /** *

                                                        Indicates when parameter updates are applied.

                                                        @@ -928,24 +928,24 @@ export interface RelationalDatabaseParameter { applyMethod?: string; /** - *

                                                        Specifies the valid range of values for the parameter.

                                                        + *

                                                        Specifies the engine-specific parameter type.

                                                        */ - allowedValues?: string; + applyType?: string; /** - *

                                                        A Boolean value indicating whether the parameter can be modified.

                                                        + *

                                                        Provides a description of the parameter.

                                                        */ - isModifiable?: boolean; + description?: string; /** - *

                                                        Specifies the engine-specific parameter type.

                                                        + *

                                                        Specifies the name of the parameter.

                                                        */ - applyType?: string; + parameterName?: string; /** - *

                                                        Specifies the value of the parameter.

                                                        + *

                                                        Specifies the valid data type for the parameter.

                                                        */ - parameterValue?: string; + dataType?: string; } export namespace RelationalDatabaseParameter { @@ -1031,87 +1031,87 @@ export namespace GetRelationalDatabaseSnapshotRequest { */ export interface RelationalDatabaseSnapshot { /** - *

                                                        The size of the disk in GB (for example, 32) for the database - * snapshot.

                                                        + *

                                                        The timestamp when the database snapshot was created.

                                                        */ - sizeInGb?: number; + createdAt?: Date; /** - *

                                                        The Region name and Availability Zone where the database snapshot is located.

                                                        + *

                                                        The Lightsail resource type.

                                                        */ - location?: ResourceLocation; + resourceType?: ResourceType | string; /** - *

                                                        The bundle ID of the database from which the database snapshot was created.

                                                        + *

                                                        The name of the database snapshot.

                                                        */ - fromRelationalDatabaseBundleId?: string; + name?: string; /** - *

                                                        The database engine version for the database snapshot (for example, - * 5.7.23).

                                                        + *

                                                        The software of the database snapshot (for example, MySQL)

                                                        */ - engineVersion?: string; + engine?: string; /** - *

                                                        The timestamp when the database snapshot was created.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the database from which the database snapshot was + * created.

                                                        */ - createdAt?: Date; + fromRelationalDatabaseArn?: string; /** - *

                                                        The tag keys and optional values for the resource. For more information about tags in - * Lightsail, see the Lightsail - * Dev Guide.

                                                        + *

                                                        The support code for the database snapshot. Include this code in your email to support + * when you have questions about a database snapshot in Lightsail. This code enables our + * support team to look up your Lightsail information more easily.

                                                        */ - tags?: Tag[]; + supportCode?: string; /** - *

                                                        The blueprint ID of the database from which the database snapshot was created. A blueprint - * describes the major engine version of a database.

                                                        + *

                                                        The state of the database snapshot.

                                                        */ - fromRelationalDatabaseBlueprintId?: string; + state?: string; /** - *

                                                        The name of the source database from which the database snapshot was created.

                                                        + *

                                                        The size of the disk in GB (for example, 32) for the database + * snapshot.

                                                        */ - fromRelationalDatabaseName?: string; + sizeInGb?: number; /** - *

                                                        The name of the database snapshot.

                                                        + *

                                                        The bundle ID of the database from which the database snapshot was created.

                                                        */ - name?: string; + fromRelationalDatabaseBundleId?: string; /** - *

                                                        The Lightsail resource type.

                                                        + *

                                                        The name of the source database from which the database snapshot was created.

                                                        */ - resourceType?: ResourceType | string; + fromRelationalDatabaseName?: string; /** - *

                                                        The support code for the database snapshot. Include this code in your email to support - * when you have questions about a database snapshot in Lightsail. This code enables our - * support team to look up your Lightsail information more easily.

                                                        + *

                                                        The database engine version for the database snapshot (for example, + * 5.7.23).

                                                        */ - supportCode?: string; + engineVersion?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the database snapshot.

                                                        + *

                                                        The tag keys and optional values for the resource. For more information about tags in + * Lightsail, see the Lightsail + * Dev Guide.

                                                        */ - arn?: string; + tags?: Tag[]; /** - *

                                                        The state of the database snapshot.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the database snapshot.

                                                        */ - state?: string; + arn?: string; /** - *

                                                        The software of the database snapshot (for example, MySQL)

                                                        + *

                                                        The Region name and Availability Zone where the database snapshot is located.

                                                        */ - engine?: string; + location?: ResourceLocation; /** - *

                                                        The Amazon Resource Name (ARN) of the database from which the database snapshot was - * created.

                                                        + *

                                                        The blueprint ID of the database from which the database snapshot was created. A blueprint + * describes the major engine version of a database.

                                                        */ - fromRelationalDatabaseArn?: string; + fromRelationalDatabaseBlueprintId?: string; } export namespace RelationalDatabaseSnapshot { @@ -1189,19 +1189,19 @@ export namespace GetStaticIpRequest { */ export interface StaticIp { /** - *

                                                        The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).

                                                        + *

                                                        The resource type (usually StaticIp).

                                                        */ - name?: string; + resourceType?: ResourceType | string; /** - *

                                                        The static IP address.

                                                        + *

                                                        The timestamp when the static IP was created (e.g., 1479735304.222).

                                                        */ - ipAddress?: string; + createdAt?: Date; /** - *

                                                        A Boolean value indicating whether the static IP is attached.

                                                        + *

                                                        The region and Availability Zone where the static IP was created.

                                                        */ - isAttached?: boolean; + location?: ResourceLocation; /** *

                                                        The instance where the static IP is attached (e.g., @@ -1210,14 +1210,19 @@ export interface StaticIp { attachedTo?: string; /** - *

                                                        The region and Availability Zone where the static IP was created.

                                                        + *

                                                        The static IP address.

                                                        */ - location?: ResourceLocation; + ipAddress?: string; /** - *

                                                        The timestamp when the static IP was created (e.g., 1479735304.222).

                                                        + *

                                                        A Boolean value indicating whether the static IP is attached.

                                                        */ - createdAt?: Date; + isAttached?: boolean; + + /** + *

                                                        The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).

                                                        + */ + name?: string; /** *

                                                        The Amazon Resource Name (ARN) of the static IP (e.g., @@ -1231,11 +1236,6 @@ export interface StaticIp { * your Lightsail information more easily.

                                                        */ supportCode?: string; - - /** - *

                                                        The resource type (usually StaticIp).

                                                        - */ - resourceType?: ResourceType | string; } export namespace StaticIp { @@ -1274,12 +1274,6 @@ export namespace GetStaticIpsRequest { } export interface GetStaticIpsResult { - /** - *

                                                        An array of key-value pairs containing information about your get static IPs - * request.

                                                        - */ - staticIps?: StaticIp[]; - /** *

                                                        The token to advance to the next page of resutls from your request.

                                                        *

                                                        A next page token is not returned if there are no more results to display.

                                                        @@ -1287,6 +1281,12 @@ export interface GetStaticIpsResult { * specify the next page token using the pageToken parameter.

                                                        */ nextPageToken?: string; + + /** + *

                                                        An array of key-value pairs containing information about your get static IPs + * request.

                                                        + */ + staticIps?: StaticIp[]; } export namespace GetStaticIpsResult { @@ -1297,14 +1297,14 @@ export namespace GetStaticIpsResult { export interface ImportKeyPairRequest { /** - *

                                                        A base64-encoded public key of the ssh-rsa type.

                                                        + *

                                                        The name of the key pair for which you want to import the public key.

                                                        */ - publicKeyBase64: string | undefined; + keyPairName: string | undefined; /** - *

                                                        The name of the key pair for which you want to import the public key.

                                                        + *

                                                        A base64-encoded public key of the ssh-rsa type.

                                                        */ - keyPairName: string | undefined; + publicKeyBase64: string | undefined; } export namespace ImportKeyPairRequest { @@ -1405,11 +1405,46 @@ export namespace PeerVpcResult { export interface PutAlarmRequest { /** - *

                                                        The name of the Lightsail resource that will be monitored.

                                                        - *

                                                        Instances, load balancers, and relational databases are the only Lightsail resources - * that can currently be monitored by alarms.

                                                        + *

                                                        The number of data points that must be not within the specified threshold to trigger the + * alarm. If you are setting an "M out of N" alarm, this value (datapointsToAlarm) + * is the M.

                                                        */ - monitoredResourceName: string | undefined; + datapointsToAlarm?: number; + + /** + *

                                                        Sets how this alarm will handle missing data points.

                                                        + *

                                                        An alarm can treat missing data in the following ways:

                                                        + *
                                                          + *
                                                        • + *

                                                          + * breaching - Assume the missing data is not within the threshold. Missing + * data counts towards the number of times the metric is not within the threshold.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * notBreaching - Assume the missing data is within the threshold. Missing + * data does not count towards the number of times the metric is not within the + * threshold.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * ignore - Ignore the missing data. Maintains the current alarm + * state.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * missing - Missing data is treated as missing.

                                                          + *
                                                        • + *
                                                        + *

                                                        If treatMissingData is not specified, the default behavior of + * missing is used.

                                                        + */ + treatMissingData?: TreatMissingData | string; + + /** + *

                                                        The value against which the specified statistic is compared.

                                                        + */ + threshold: number | undefined; /** *

                                                        The alarm states that trigger a notification.

                                                        @@ -1452,15 +1487,11 @@ export interface PutAlarmRequest { notificationTriggers?: (AlarmState | string)[]; /** - *

                                                        The value against which the specified statistic is compared.

                                                        - */ - threshold: number | undefined; - - /** - *

                                                        Indicates whether the alarm is enabled.

                                                        - *

                                                        Notifications are enabled by default if you don't specify this parameter.

                                                        + *

                                                        The name of the Lightsail resource that will be monitored.

                                                        + *

                                                        Instances, load balancers, and relational databases are the only Lightsail resources + * that can currently be monitored by alarms.

                                                        */ - notificationEnabled?: boolean; + monitoredResourceName: string | undefined; /** *

                                                        The number of most recent periods over which data is compared to the specified threshold. @@ -1476,6 +1507,18 @@ export interface PutAlarmRequest { */ evaluationPeriods: number | undefined; + /** + *

                                                        The arithmetic operation to use when comparing the specified statistic to the threshold. + * The specified statistic value is used as the first operand.

                                                        + */ + comparisonOperator: ComparisonOperator | string | undefined; + + /** + *

                                                        Indicates whether the alarm is enabled.

                                                        + *

                                                        Notifications are enabled by default if you don't specify this parameter.

                                                        + */ + notificationEnabled?: boolean; + /** *

                                                        The name for the alarm. Specify the name of an existing alarm to update, and overwrite the * previous configuration of the alarm.

                                                        @@ -1529,49 +1572,6 @@ export interface PutAlarmRequest { *

                                                        For more information about these metrics, see Metrics available in Lightsail.

                                                        */ metricName: MetricName | string | undefined; - - /** - *

                                                        The arithmetic operation to use when comparing the specified statistic to the threshold. - * The specified statistic value is used as the first operand.

                                                        - */ - comparisonOperator: ComparisonOperator | string | undefined; - - /** - *

                                                        The number of data points that must be not within the specified threshold to trigger the - * alarm. If you are setting an "M out of N" alarm, this value (datapointsToAlarm) - * is the M.

                                                        - */ - datapointsToAlarm?: number; - - /** - *

                                                        Sets how this alarm will handle missing data points.

                                                        - *

                                                        An alarm can treat missing data in the following ways:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * breaching - Assume the missing data is not within the threshold. Missing - * data counts towards the number of times the metric is not within the threshold.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * notBreaching - Assume the missing data is within the threshold. Missing - * data does not count towards the number of times the metric is not within the - * threshold.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * ignore - Ignore the missing data. Maintains the current alarm - * state.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * missing - Missing data is treated as missing.

                                                          - *
                                                        • - *
                                                        - *

                                                        If treatMissingData is not specified, the default behavior of - * missing is used.

                                                        - */ - treatMissingData?: TreatMissingData | string; } export namespace PutAlarmRequest { @@ -1725,10 +1725,9 @@ export namespace ResetDistributionCacheRequest { export interface ResetDistributionCacheResult { /** - *

                                                        The timestamp of the reset cache request (e.g., 1479734909.17) in Unix time - * format.

                                                        + *

                                                        The status of the reset cache request.

                                                        */ - createTime?: Date; + status?: string; /** *

                                                        An array of objects that describe the result of the action, such as the status of the @@ -1737,9 +1736,10 @@ export interface ResetDistributionCacheResult { operation?: Operation; /** - *

                                                        The status of the reset cache request.

                                                        + *

                                                        The timestamp of the reset cache request (e.g., 1479734909.17) in Unix time + * format.

                                                        */ - status?: string; + createTime?: Date; } export namespace ResetDistributionCacheResult { @@ -1901,11 +1901,6 @@ export namespace StopRelationalDatabaseResult { } export interface TagResourceRequest { - /** - *

                                                        The Amazon Resource Name (ARN) of the resource to which you want to add a tag.

                                                        - */ - resourceArn?: string; - /** *

                                                        The name of the resource to which you are adding tags.

                                                        */ @@ -1915,6 +1910,11 @@ export interface TagResourceRequest { *

                                                        The tag key and optional value.

                                                        */ tags: Tag[] | undefined; + + /** + *

                                                        The Amazon Resource Name (ARN) of the resource to which you want to add a tag.

                                                        + */ + resourceArn?: string; } export namespace TagResourceRequest { @@ -1938,6 +1938,11 @@ export namespace TagResourceResult { } export interface TestAlarmRequest { + /** + *

                                                        The name of the alarm to test.

                                                        + */ + alarmName: string | undefined; + /** *

                                                        The alarm state to test.

                                                        *

                                                        An alarm has the following possible states that can be tested:

                                                        @@ -1959,11 +1964,6 @@ export interface TestAlarmRequest { *
                                                      */ state: AlarmState | string | undefined; - - /** - *

                                                      The name of the alarm to test.

                                                      - */ - alarmName: string | undefined; } export namespace TestAlarmRequest { @@ -2010,14 +2010,14 @@ export namespace UnpeerVpcResult { export interface UntagResourceRequest { /** - *

                                                      The name of the resource from which you are removing a tag.

                                                      + *

                                                      The tag keys to delete from the specified resource.

                                                      */ - resourceName: string | undefined; + tagKeys: string[] | undefined; /** - *

                                                      The tag keys to delete from the specified resource.

                                                      + *

                                                      The name of the resource from which you are removing a tag.

                                                      */ - tagKeys: string[] | undefined; + resourceName: string | undefined; /** *

                                                      The Amazon Resource Name (ARN) of the resource from which you want to remove a tag.

                                                      @@ -2047,45 +2047,45 @@ export namespace UntagResourceResult { export interface UpdateDistributionRequest { /** - *

                                                      An object that describes the default cache behavior for the distribution.

                                                      + *

                                                      An object that describes the origin resource for the distribution, such as a Lightsail + * instance or load balancer.

                                                      + * + *

                                                      The distribution pulls, caches, and serves content from the origin.

                                                      */ - defaultCacheBehavior?: CacheBehavior; + origin?: InputOrigin; /** - *

                                                      An object that describes the cache behavior settings for the distribution.

                                                      - * - *

                                                      The cacheBehaviorSettings specified in your - * UpdateDistributionRequest will replace your distribution's existing - * settings.

                                                      - *
                                                      + *

                                                      The name of the distribution to update.

                                                      + * + *

                                                      Use the GetDistributions action to get a list of distribution names that you + * can specify.

                                                      */ - cacheBehaviorSettings?: CacheSettings; + distributionName: string | undefined; /** - *

                                                      An array of objects that describe the per-path cache behavior for the distribution.

                                                      + *

                                                      Indicates whether to enable the distribution.

                                                      */ - cacheBehaviors?: CacheBehaviorPerPath[]; + isEnabled?: boolean; /** - *

                                                      Indicates whether to enable the distribution.

                                                      + *

                                                      An array of objects that describe the per-path cache behavior for the distribution.

                                                      */ - isEnabled?: boolean; + cacheBehaviors?: CacheBehaviorPerPath[]; /** - *

                                                      An object that describes the origin resource for the distribution, such as a Lightsail - * instance or load balancer.

                                                      - * - *

                                                      The distribution pulls, caches, and serves content from the origin.

                                                      + *

                                                      An object that describes the default cache behavior for the distribution.

                                                      */ - origin?: InputOrigin; + defaultCacheBehavior?: CacheBehavior; /** - *

                                                      The name of the distribution to update.

                                                      - * - *

                                                      Use the GetDistributions action to get a list of distribution names that you - * can specify.

                                                      + *

                                                      An object that describes the cache behavior settings for the distribution.

                                                      + * + *

                                                      The cacheBehaviorSettings specified in your + * UpdateDistributionRequest will replace your distribution's existing + * settings.

                                                      + *
                                                      */ - distributionName: string | undefined; + cacheBehaviorSettings?: CacheSettings; } export namespace UpdateDistributionRequest { @@ -2109,13 +2109,6 @@ export namespace UpdateDistributionResult { } export interface UpdateDistributionBundleRequest { - /** - *

                                                      The bundle ID of the new bundle to apply to your distribution.

                                                      - *

                                                      Use the GetDistributionBundles action to get a list of distribution bundle - * IDs that you can specify.

                                                      - */ - bundleId?: string; - /** *

                                                      The name of the distribution for which to update the bundle.

                                                      * @@ -2123,6 +2116,13 @@ export interface UpdateDistributionBundleRequest { * can specify.

                                                      */ distributionName?: string; + + /** + *

                                                      The bundle ID of the new bundle to apply to your distribution.

                                                      + *

                                                      Use the GetDistributionBundles action to get a list of distribution bundle + * IDs that you can specify.

                                                      + */ + bundleId?: string; } export namespace UpdateDistributionBundleRequest { @@ -2146,14 +2146,14 @@ export namespace UpdateDistributionBundleResult { export interface UpdateDomainEntryRequest { /** - *

                                                      An array of key-value pairs containing information about the domain entry.

                                                      + *

                                                      The name of the domain recordset to update.

                                                      */ - domainEntry: DomainEntry | undefined; + domainName: string | undefined; /** - *

                                                      The name of the domain recordset to update.

                                                      + *

                                                      An array of key-value pairs containing information about the domain entry.

                                                      */ - domainName: string | undefined; + domainEntry: DomainEntry | undefined; } export namespace UpdateDomainEntryRequest { @@ -2215,6 +2215,40 @@ export namespace UpdateLoadBalancerAttributeResult { } export interface UpdateRelationalDatabaseRequest { + /** + *

                                                      The weekly time range during which system maintenance can occur on your database.

                                                      + *

                                                      The default is a 30-minute window selected at random from an 8-hour block of time for each + * AWS Region, occurring on a random day of the week.

                                                      + *

                                                      Constraints:

                                                      + *
                                                        + *
                                                      • + *

                                                        Must be in the ddd:hh24:mi-ddd:hh24:mi format.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Must be at least 30 minutes.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Specified in Coordinated Universal Time (UTC).

                                                        + *
                                                      • + *
                                                      • + *

                                                        Example: Tue:17:00-Tue:17:30 + *

                                                        + *
                                                      • + *
                                                      + */ + preferredMaintenanceWindow?: string; + + /** + *

                                                      When true, applies changes immediately. When false, applies + * changes during the preferred maintenance window. Some changes may cause an outage.

                                                      + *

                                                      Default: false + *

                                                      + */ + applyImmediately?: boolean; + /** *

                                                      The daily time range during which automated backups are created for your database if * automated backups are enabled.

                                                      @@ -2244,17 +2278,12 @@ export interface UpdateRelationalDatabaseRequest { relationalDatabaseName: string | undefined; /** - *

                                                      Indicates the certificate that needs to be associated with the database.

                                                      - */ - caCertificateIdentifier?: string; - - /** - *

                                                      When true, the master user password is changed to a new strong password - * generated by Lightsail.

                                                      - *

                                                      Use the get relational database master user password operation to get the new - * password.

                                                      + *

                                                      Specifies the accessibility options for your database. A value of true + * specifies a database that is available to resources outside of your Lightsail account. A + * value of false specifies a database that is available only to your Lightsail + * resources in the same region as your database.

                                                      */ - rotateMasterUserPassword?: boolean; + publiclyAccessible?: boolean; /** *

                                                      When true, enables automated backup retention for your database.

                                                      @@ -2264,45 +2293,12 @@ export interface UpdateRelationalDatabaseRequest { enableBackupRetention?: boolean; /** - *

                                                      When true, applies changes immediately. When false, applies - * changes during the preferred maintenance window. Some changes may cause an outage.

                                                      - *

                                                      Default: false - *

                                                      - */ - applyImmediately?: boolean; - - /** - *

                                                      The weekly time range during which system maintenance can occur on your database.

                                                      - *

                                                      The default is a 30-minute window selected at random from an 8-hour block of time for each - * AWS Region, occurring on a random day of the week.

                                                      - *

                                                      Constraints:

                                                      - *
                                                        - *
                                                      • - *

                                                        Must be in the ddd:hh24:mi-ddd:hh24:mi format.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Must be at least 30 minutes.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Specified in Coordinated Universal Time (UTC).

                                                        - *
                                                      • - *
                                                      • - *

                                                        Example: Tue:17:00-Tue:17:30 - *

                                                        - *
                                                      • - *
                                                      - */ - preferredMaintenanceWindow?: string; - - /** - *

                                                      The password for the master user of your database. The password can include any printable - * ASCII character except "/", """, or "@".

                                                      - *

                                                      Constraints: Must contain 8 to 41 characters.

                                                      + *

                                                      When true, the master user password is changed to a new strong password + * generated by Lightsail.

                                                      + *

                                                      Use the get relational database master user password operation to get the new + * password.

                                                      */ - masterUserPassword?: string; + rotateMasterUserPassword?: boolean; /** *

                                                      When true, disables automated backup retention for your database.

                                                      @@ -2315,12 +2311,16 @@ export interface UpdateRelationalDatabaseRequest { disableBackupRetention?: boolean; /** - *

                                                      Specifies the accessibility options for your database. A value of true - * specifies a database that is available to resources outside of your Lightsail account. A - * value of false specifies a database that is available only to your Lightsail - * resources in the same region as your database.

                                                      + *

                                                      Indicates the certificate that needs to be associated with the database.

                                                      */ - publiclyAccessible?: boolean; + caCertificateIdentifier?: string; + + /** + *

                                                      The password for the master user of your database. The password can include any printable + * ASCII character except "/", """, or "@".

                                                      + *

                                                      Constraints: Must contain 8 to 41 characters.

                                                      + */ + masterUserPassword?: string; } export namespace UpdateRelationalDatabaseRequest { diff --git a/clients/client-machine-learning/models/models_0.ts b/clients/client-machine-learning/models/models_0.ts index f3deb46d05a3..c1a72776c147 100644 --- a/clients/client-machine-learning/models/models_0.ts +++ b/clients/client-machine-learning/models/models_0.ts @@ -13,14 +13,14 @@ export enum TaggableResourceType { */ export interface Tag { /** - *

                                                      A unique identifier for the tag. Valid characters include Unicode letters, digits, white space, _, ., /, =, +, -, %, and @.

                                                      + *

                                                      An optional string, typically used to describe or define the tag. Valid characters include Unicode letters, digits, white space, _, ., /, =, +, -, %, and @.

                                                      */ - Key?: string; + Value?: string; /** - *

                                                      An optional string, typically used to describe or define the tag. Valid characters include Unicode letters, digits, white space, _, ., /, =, +, -, %, and @.

                                                      + *

                                                      A unique identifier for the tag. Valid characters include Unicode letters, digits, white space, _, ., /, =, +, -, %, and @.

                                                      */ - Value?: string; + Key?: string; } export namespace Tag { @@ -36,14 +36,14 @@ export interface AddTagsInput { ResourceType: TaggableResourceType | string | undefined; /** - *

                                                      The key-value pairs to use to create tags. If you specify a key without specifying a value, Amazon ML creates a tag with the specified key and a value of null.

                                                      + *

                                                      The ID of the ML object to tag. For example, exampleModelId.

                                                      */ - Tags: Tag[] | undefined; + ResourceId: string | undefined; /** - *

                                                      The ID of the ML object to tag. For example, exampleModelId.

                                                      + *

                                                      The key-value pairs to use to create tags. If you specify a key without specifying a value, Amazon ML creates a tag with the specified key and a value of null.

                                                      */ - ResourceId: string | undefined; + Tags: Tag[] | undefined; } export namespace AddTagsInput { @@ -126,8 +126,8 @@ export namespace InvalidTagException { export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; - message?: string; code?: number; + message?: string; } export namespace ResourceNotFoundException { @@ -163,25 +163,25 @@ export interface CreateBatchPredictionInput { BatchPredictionId: string | undefined; /** - *

                                                      The location of an Amazon Simple Storage Service (Amazon S3) bucket or directory to store the batch prediction results. The following substrings are not allowed in the s3 key portion of the outputURI field: ':', '//', '/./', '/../'.

                                                      - *

                                                      Amazon ML needs permissions to store and retrieve the logs on your behalf. For information about how to set permissions, see the Amazon Machine Learning Developer Guide.

                                                      + *

                                                      The ID of the DataSource that points to the group of observations to predict.

                                                      */ - OutputUri: string | undefined; + BatchPredictionDataSourceId: string | undefined; /** - *

                                                      A user-supplied name or description of the BatchPrediction. BatchPredictionName can only use the UTF-8 character set.

                                                      + *

                                                      The ID of the MLModel that will generate predictions for the group of observations.

                                                      */ - BatchPredictionName?: string; + MLModelId: string | undefined; /** - *

                                                      The ID of the DataSource that points to the group of observations to predict.

                                                      + *

                                                      A user-supplied name or description of the BatchPrediction. BatchPredictionName can only use the UTF-8 character set.

                                                      */ - BatchPredictionDataSourceId: string | undefined; + BatchPredictionName?: string; /** - *

                                                      The ID of the MLModel that will generate predictions for the group of observations.

                                                      + *

                                                      The location of an Amazon Simple Storage Service (Amazon S3) bucket or directory to store the batch prediction results. The following substrings are not allowed in the s3 key portion of the outputURI field: ':', '//', '/./', '/../'.

                                                      + *

                                                      Amazon ML needs permissions to store and retrieve the logs on your behalf. For information about how to set permissions, see the Amazon Machine Learning Developer Guide.

                                                      */ - MLModelId: string | undefined; + OutputUri: string | undefined; } export namespace CreateBatchPredictionInput { @@ -216,8 +216,8 @@ export namespace CreateBatchPredictionOutput { export interface IdempotentParameterMismatchException extends __SmithyException, $MetadataBearer { name: "IdempotentParameterMismatchException"; $fault: "client"; - message?: string; code?: number; + message?: string; } export namespace IdempotentParameterMismatchException { @@ -254,14 +254,14 @@ export namespace RDSDatabaseCredentials { */ export interface RDSDatabase { /** - *

                                                      The name of a database hosted on an RDS DB instance.

                                                      + *

                                                      The ID of an RDS DB instance.

                                                      */ - DatabaseName: string | undefined; + InstanceIdentifier: string | undefined; /** - *

                                                      The ID of an RDS DB instance.

                                                      + *

                                                      The name of a database hosted on an RDS DB instance.

                                                      */ - InstanceIdentifier: string | undefined; + DatabaseName: string | undefined; } export namespace RDSDatabase { @@ -274,25 +274,15 @@ export namespace RDSDatabase { *

                                                      The data specification of an Amazon Relational Database Service (Amazon RDS) DataSource.

                                                      */ export interface RDSDataSpec { - /** - *

                                                      The subnet ID to be used to access a VPC-based RDS DB instance. This attribute is used by Data Pipeline to carry out the copy task from Amazon RDS to Amazon S3.

                                                      - */ - SubnetId: string | undefined; - - /** - *

                                                      The role (DataPipelineDefaultRole) assumed by AWS Data Pipeline service to monitor the progress of the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines.

                                                      - */ - ServiceRole: string | undefined; - /** *

                                                      The role (DataPipelineDefaultResourceRole) assumed by an Amazon Elastic Compute Cloud (Amazon EC2) instance to carry out the copy operation from Amazon RDS to an Amazon S3 task. For more information, see Role templates for data pipelines.

                                                      */ ResourceRole: string | undefined; /** - *

                                                      The security group IDs to be used to access a VPC-based RDS DB instance. Ensure that there are appropriate ingress rules set up to allow access to the RDS DB instance. This attribute is used by Data Pipeline to carry out the copy operation from Amazon RDS to an Amazon S3 task.

                                                      + *

                                                      The role (DataPipelineDefaultRole) assumed by AWS Data Pipeline service to monitor the progress of the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines.

                                                      */ - SecurityGroupIds: string[] | undefined; + ServiceRole: string | undefined; /** *

                                                      A JSON string that represents the schema for an Amazon RDS @@ -318,9 +308,24 @@ export interface RDSDataSpec { DataSchema?: string; /** - *

                                                      The Amazon S3 location of the DataSchema.

                                                      + *

                                                      The security group IDs to be used to access a VPC-based RDS DB instance. Ensure that there are appropriate ingress rules set up to allow access to the RDS DB instance. This attribute is used by Data Pipeline to carry out the copy operation from Amazon RDS to an Amazon S3 task.

                                                      */ - DataSchemaUri?: string; + SecurityGroupIds: string[] | undefined; + + /** + *

                                                      The Amazon S3 location for staging Amazon RDS data. The data retrieved from Amazon RDS using SelectSqlQuery is stored in this location.

                                                      + */ + S3StagingLocation: string | undefined; + + /** + *

                                                      The query that is used to retrieve the observation data for the DataSource.

                                                      + */ + SelectSqlQuery: string | undefined; + + /** + *

                                                      Describes the DatabaseName and InstanceIdentifier of an Amazon RDS database.

                                                      + */ + DatabaseInformation: RDSDatabase | undefined; /** *

                                                      A JSON string that represents the splitting and rearrangement @@ -413,9 +418,9 @@ export interface RDSDataSpec { DataRearrangement?: string; /** - *

                                                      The query that is used to retrieve the observation data for the DataSource.

                                                      + *

                                                      The Amazon S3 location of the DataSchema.

                                                      */ - SelectSqlQuery: string | undefined; + DataSchemaUri?: string; /** *

                                                      The AWS Identity and Access Management (IAM) credentials that are used connect to the Amazon RDS database.

                                                      @@ -423,14 +428,9 @@ export interface RDSDataSpec { DatabaseCredentials: RDSDatabaseCredentials | undefined; /** - *

                                                      The Amazon S3 location for staging Amazon RDS data. The data retrieved from Amazon RDS using SelectSqlQuery is stored in this location.

                                                      - */ - S3StagingLocation: string | undefined; - - /** - *

                                                      Describes the DatabaseName and InstanceIdentifier of an Amazon RDS database.

                                                      + *

                                                      The subnet ID to be used to access a VPC-based RDS DB instance. This attribute is used by Data Pipeline to carry out the copy task from Amazon RDS to Amazon S3.

                                                      */ - DatabaseInformation: RDSDatabase | undefined; + SubnetId: string | undefined; } export namespace RDSDataSpec { @@ -446,21 +446,6 @@ export interface CreateDataSourceFromRDSInput { */ DataSourceId: string | undefined; - /** - *

                                                      The compute statistics for a DataSource. The statistics are generated from the observation data referenced by - * a DataSource. Amazon ML uses the statistics internally during MLModel training. - * This parameter must be set to true if the DataSource needs to be used for MLModel training. - *

                                                      - */ - ComputeStatistics?: boolean; - - /** - *

                                                      The role that Amazon ML assumes on behalf of the user to create and activate a data - * pipeline in the user's account and copy data using the SelectSqlQuery query from Amazon RDS to Amazon S3.

                                                      - *

                                                      - */ - RoleARN: string | undefined; - /** *

                                                      The data specification of an Amazon RDS DataSource:

                                                      *
                                                        @@ -517,6 +502,21 @@ export interface CreateDataSourceFromRDSInput { *

                                                        A user-supplied name or description of the DataSource.

                                                        */ DataSourceName?: string; + + /** + *

                                                        The role that Amazon ML assumes on behalf of the user to create and activate a data + * pipeline in the user's account and copy data using the SelectSqlQuery query from Amazon RDS to Amazon S3.

                                                        + *

                                                        + */ + RoleARN: string | undefined; + + /** + *

                                                        The compute statistics for a DataSource. The statistics are generated from the observation data referenced by + * a DataSource. Amazon ML uses the statistics internally during MLModel training. + * This parameter must be set to true if the DataSource needs to be used for MLModel training. + *

                                                        + */ + ComputeStatistics?: boolean; } export namespace CreateDataSourceFromRDSInput { @@ -552,17 +552,17 @@ export namespace CreateDataSourceFromRDSOutput { *

                                                        Describes the database credentials for connecting to a database on an Amazon Redshift cluster.

                                                        */ export interface RedshiftDatabaseCredentials { - /** - *

                                                        A username to be used by Amazon Machine Learning (Amazon ML)to connect to a database on an Amazon Redshift cluster. - * The username should have sufficient permissions to execute the RedshiftSelectSqlQuery query. The username should be valid for an Amazon Redshift USER.

                                                        - */ - Username: string | undefined; - /** *

                                                        A password to be used by Amazon ML to connect to a database on an Amazon Redshift cluster. * The password should have sufficient permissions to execute a RedshiftSelectSqlQuery query. The password should be valid for an Amazon Redshift USER.

                                                        */ Password: string | undefined; + + /** + *

                                                        A username to be used by Amazon Machine Learning (Amazon ML)to connect to a database on an Amazon Redshift cluster. + * The username should have sufficient permissions to execute the RedshiftSelectSqlQuery query. The username should be valid for an Amazon Redshift USER.

                                                        + */ + Username: string | undefined; } export namespace RedshiftDatabaseCredentials { @@ -686,31 +686,11 @@ export interface RedshiftDataSpec { */ DataRearrangement?: string; - /** - *

                                                        Describes the SQL Query to execute on an Amazon Redshift database for an Amazon Redshift DataSource.

                                                        - */ - SelectSqlQuery: string | undefined; - /** *

                                                        Describes the schema location for an Amazon Redshift DataSource.

                                                        */ DataSchemaUri?: string; - /** - *

                                                        Describes AWS Identity and Access Management (IAM) credentials that are used connect to the Amazon Redshift database.

                                                        - */ - DatabaseCredentials: RedshiftDatabaseCredentials | undefined; - - /** - *

                                                        Describes the DatabaseName and ClusterIdentifier for an Amazon Redshift DataSource.

                                                        - */ - DatabaseInformation: RedshiftDatabase | undefined; - - /** - *

                                                        Describes an Amazon S3 location to store the result set of the SelectSqlQuery query.

                                                        - */ - S3StagingLocation: string | undefined; - /** *

                                                        A JSON string that represents the schema for an Amazon Redshift * DataSource. The DataSchema @@ -732,6 +712,26 @@ export interface RedshiftDataSpec { *

                                                        "excludedAttributeNames": [ "F6" ] }

                                                        */ DataSchema?: string; + + /** + *

                                                        Describes AWS Identity and Access Management (IAM) credentials that are used connect to the Amazon Redshift database.

                                                        + */ + DatabaseCredentials: RedshiftDatabaseCredentials | undefined; + + /** + *

                                                        Describes the SQL Query to execute on an Amazon Redshift database for an Amazon Redshift DataSource.

                                                        + */ + SelectSqlQuery: string | undefined; + + /** + *

                                                        Describes an Amazon S3 location to store the result set of the SelectSqlQuery query.

                                                        + */ + S3StagingLocation: string | undefined; + + /** + *

                                                        Describes the DatabaseName and ClusterIdentifier for an Amazon Redshift DataSource.

                                                        + */ + DatabaseInformation: RedshiftDatabase | undefined; } export namespace RedshiftDataSpec { @@ -746,19 +746,6 @@ export interface CreateDataSourceFromRedshiftInput { */ DataSourceId: string | undefined; - /** - *

                                                        The compute statistics for a DataSource. The statistics are generated from the observation data referenced by - * a DataSource. Amazon ML uses the statistics internally during MLModel training. - * This parameter must be set to true if the DataSource needs to - * be used for MLModel training.

                                                        - */ - ComputeStatistics?: boolean; - - /** - *

                                                        A user-supplied name or description of the DataSource.

                                                        - */ - DataSourceName?: string; - /** *

                                                        The data specification of an Amazon Redshift DataSource:

                                                        *
                                                          @@ -817,6 +804,19 @@ export interface CreateDataSourceFromRedshiftInput { *
                                                        */ RoleARN: string | undefined; + + /** + *

                                                        A user-supplied name or description of the DataSource.

                                                        + */ + DataSourceName?: string; + + /** + *

                                                        The compute statistics for a DataSource. The statistics are generated from the observation data referenced by + * a DataSource. Amazon ML uses the statistics internally during MLModel training. + * This parameter must be set to true if the DataSource needs to + * be used for MLModel training.

                                                        + */ + ComputeStatistics?: boolean; } export namespace CreateDataSourceFromRedshiftInput { @@ -945,6 +945,12 @@ export interface S3DataSpec { */ DataSchemaLocationS3?: string; + /** + *

                                                        The location of the data file(s) used by a DataSource. The URI specifies a data file or + * an Amazon Simple Storage Service (Amazon S3) directory or bucket containing data files.

                                                        + */ + DataLocationS3: string | undefined; + /** *

                                                        A JSON string that represents the schema for an Amazon S3 * DataSource. The DataSchema @@ -965,12 +971,6 @@ export interface S3DataSpec { *

                                                        "excludedAttributeNames": [ "F6" ] }

                                                        */ DataSchema?: string; - - /** - *

                                                        The location of the data file(s) used by a DataSource. The URI specifies a data file or - * an Amazon Simple Storage Service (Amazon S3) directory or bucket containing data files.

                                                        - */ - DataLocationS3: string | undefined; } export namespace S3DataSpec { @@ -990,13 +990,6 @@ export interface CreateDataSourceFromS3Input { */ DataSourceName?: string; - /** - *

                                                        The compute statistics for a DataSource. The statistics are generated from the observation data referenced by - * a DataSource. Amazon ML uses the statistics internally during MLModel training. - * This parameter must be set to true if the DataSource needs to be used for MLModel training.

                                                        - */ - ComputeStatistics?: boolean; - /** *

                                                        The data specification of a DataSource:

                                                        *
                                                          @@ -1018,6 +1011,13 @@ export interface CreateDataSourceFromS3Input { *
                                                        */ DataSpec: S3DataSpec | undefined; + + /** + *

                                                        The compute statistics for a DataSource. The statistics are generated from the observation data referenced by + * a DataSource. Amazon ML uses the statistics internally during MLModel training. + * This parameter must be set to true if the DataSource needs to be used for MLModel training.

                                                        + */ + ComputeStatistics?: boolean; } export namespace CreateDataSourceFromS3Input { @@ -1047,11 +1047,6 @@ export namespace CreateDataSourceFromS3Output { } export interface CreateEvaluationInput { - /** - *

                                                        A user-supplied ID that uniquely identifies the Evaluation.

                                                        - */ - EvaluationId: string | undefined; - /** *

                                                        The ID of the DataSource for the evaluation. The schema of the DataSource * must match the schema used to create the MLModel.

                                                        @@ -1059,15 +1054,20 @@ export interface CreateEvaluationInput { EvaluationDataSourceId: string | undefined; /** - *

                                                        The ID of the MLModel to evaluate.

                                                        - *

                                                        The schema used in creating the MLModel must match the schema of the DataSource used in the Evaluation.

                                                        + *

                                                        A user-supplied ID that uniquely identifies the Evaluation.

                                                        */ - MLModelId: string | undefined; + EvaluationId: string | undefined; /** *

                                                        A user-supplied name or description of the Evaluation.

                                                        */ EvaluationName?: string; + + /** + *

                                                        The ID of the MLModel to evaluate.

                                                        + *

                                                        The schema used in creating the MLModel must match the schema of the DataSource used in the Evaluation.

                                                        + */ + MLModelId: string | undefined; } export namespace CreateEvaluationInput { @@ -1111,20 +1111,37 @@ export interface CreateMLModelInput { RecipeUri?: string; /** - *

                                                        The DataSource that points to the training data.

                                                        + *

                                                        A user-supplied ID that uniquely identifies the MLModel.

                                                        */ - TrainingDataSourceId: string | undefined; + MLModelId: string | undefined; /** - *

                                                        A list of the training parameters in the MLModel. The list is implemented as - * a map of key-value pairs.

                                                        - *

                                                        The following is the current set of training parameters:

                                                        - *
                                                          + *

                                                          The category of supervised learning that this MLModel will address. Choose from the following types:

                                                          + *
                                                            *
                                                          • - *

                                                            - * sgd.maxMLModelSizeInBytes - The maximum allowed size of the model. Depending on the - * input data, the size of the model might affect its performance.

                                                            - *

                                                            The value is an integer that ranges from 100000 to 2147483648. The default value is 33554432.

                                                            + *

                                                            Choose REGRESSION if the MLModel will be used to predict a numeric value.

                                                            + *
                                                          • + *
                                                          • + *

                                                            Choose BINARY if the MLModel result has two possible values.

                                                            + *
                                                          • + *
                                                          • + *

                                                            Choose MULTICLASS if the MLModel result has a limited number of values.

                                                            + *
                                                          • + *
                                                          + *

                                                          For more information, see the Amazon Machine Learning Developer Guide.

                                                          + */ + MLModelType: MLModelType | string | undefined; + + /** + *

                                                          A list of the training parameters in the MLModel. The list is implemented as + * a map of key-value pairs.

                                                          + *

                                                          The following is the current set of training parameters:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * sgd.maxMLModelSizeInBytes - The maximum allowed size of the model. Depending on the + * input data, the size of the model might affect its performance.

                                                            + *

                                                            The value is an integer that ranges from 100000 to 2147483648. The default value is 33554432.

                                                            *
                                                          • *
                                                          • *

                                                            @@ -1164,28 +1181,6 @@ export interface CreateMLModelInput { */ Parameters?: { [key: string]: string }; - /** - *

                                                            A user-supplied name or description of the MLModel.

                                                            - */ - MLModelName?: string; - - /** - *

                                                            The category of supervised learning that this MLModel will address. Choose from the following types:

                                                            - *
                                                              - *
                                                            • - *

                                                              Choose REGRESSION if the MLModel will be used to predict a numeric value.

                                                              - *
                                                            • - *
                                                            • - *

                                                              Choose BINARY if the MLModel result has two possible values.

                                                              - *
                                                            • - *
                                                            • - *

                                                              Choose MULTICLASS if the MLModel result has a limited number of values.

                                                              - *
                                                            • - *
                                                            - *

                                                            For more information, see the Amazon Machine Learning Developer Guide.

                                                            - */ - MLModelType: MLModelType | string | undefined; - /** *

                                                            The data recipe for creating the MLModel. You must specify either the recipe * or its URI. If you don't specify a recipe or its URI, Amazon ML creates a default.

                                                            @@ -1193,9 +1188,14 @@ export interface CreateMLModelInput { Recipe?: string; /** - *

                                                            A user-supplied ID that uniquely identifies the MLModel.

                                                            + *

                                                            A user-supplied name or description of the MLModel.

                                                            */ - MLModelId: string | undefined; + MLModelName?: string; + + /** + *

                                                            The DataSource that points to the training data.

                                                            + */ + TrainingDataSourceId: string | undefined; } export namespace CreateMLModelInput { @@ -1249,6 +1249,16 @@ export enum RealtimeEndpointStatus { *

                                                            Describes the real-time endpoint information for an MLModel.

                                                            */ export interface RealtimeEndpointInfo { + /** + *

                                                            The time that the request to create the real-time endpoint for the MLModel was received. The time is expressed in epoch time.

                                                            + */ + CreatedAt?: Date; + + /** + *

                                                            The maximum processing rate for the real-time endpoint for MLModel, measured in incoming requests per second.

                                                            + */ + PeakRequestsPerSecond?: number; + /** *

                                                            The current status of the real-time endpoint for the MLModel. This element can have one of the following values:

                                                            *
                                                              @@ -1274,16 +1284,6 @@ export interface RealtimeEndpointInfo { * Note: The application must wait until the real-time endpoint is ready before using this URI.

                                                              */ EndpointUrl?: string; - - /** - *

                                                              The maximum processing rate for the real-time endpoint for MLModel, measured in incoming requests per second.

                                                              - */ - PeakRequestsPerSecond?: number; - - /** - *

                                                              The time that the request to create the real-time endpoint for the MLModel was received. The time is expressed in epoch time.

                                                              - */ - CreatedAt?: Date; } export namespace RealtimeEndpointInfo { @@ -1554,11 +1554,6 @@ export interface DescribeBatchPredictionsInput { */ SortOrder?: SortOrder | string; - /** - *

                                                              The not equal to operator. The BatchPrediction results will have FilterVariable values not equal to the value specified with NE.

                                                              - */ - NE?: string; - /** *

                                                              A string that is found at the beginning of a variable, such as Name or Id.

                                                              *

                                                              For example, a Batch Prediction operation could have the Name @@ -1582,31 +1577,27 @@ export interface DescribeBatchPredictionsInput { Prefix?: string; /** - *

                                                              The number of pages of information to include in the result. The range of acceptable values is 1 through 100. The default value is 100.

                                                              - */ - Limit?: number; - - /** - *

                                                              The less than or equal to operator. The BatchPrediction results will have FilterVariable values that are less than or equal to the value specified with LE.

                                                              + *

                                                              The greater than operator. The BatchPrediction results will + * have FilterVariable values that are greater than the value specified with GT.

                                                              */ - LE?: string; + GT?: string; /** - *

                                                              The less than operator. The BatchPrediction results will - * have FilterVariable values that are less than the value specified with LT.

                                                              + *

                                                              The greater than or equal to operator. The BatchPrediction results will have FilterVariable values that are greater than or equal to the value specified with GE. + *

                                                              */ - LT?: string; + GE?: string; /** - *

                                                              An ID of the page in the paginated results.

                                                              + *

                                                              The number of pages of information to include in the result. The range of acceptable values is 1 through 100. The default value is 100.

                                                              */ - NextToken?: string; + Limit?: number; /** - *

                                                              The greater than or equal to operator. The BatchPrediction results will have FilterVariable values that are greater than or equal to the value specified with GE. - *

                                                              + *

                                                              The equal to operator. The BatchPrediction results will have + * FilterVariable values that exactly match the value specified with EQ.

                                                              */ - GE?: string; + EQ?: string; /** *

                                                              Use one of the following variables to filter a list of BatchPrediction:

                                                              @@ -1646,16 +1637,25 @@ export interface DescribeBatchPredictionsInput { FilterVariable?: BatchPredictionFilterVariable | string; /** - *

                                                              The equal to operator. The BatchPrediction results will have - * FilterVariable values that exactly match the value specified with EQ.

                                                              + *

                                                              The less than or equal to operator. The BatchPrediction results will have FilterVariable values that are less than or equal to the value specified with LE.

                                                              */ - EQ?: string; + LE?: string; /** - *

                                                              The greater than operator. The BatchPrediction results will - * have FilterVariable values that are greater than the value specified with GT.

                                                              + *

                                                              The not equal to operator. The BatchPrediction results will have FilterVariable values not equal to the value specified with NE.

                                                              */ - GT?: string; + NE?: string; + + /** + *

                                                              The less than operator. The BatchPrediction results will + * have FilterVariable values that are less than the value specified with LT.

                                                              + */ + LT?: string; + + /** + *

                                                              An ID of the page in the paginated results.

                                                              + */ + NextToken?: string; } export namespace DescribeBatchPredictionsInput { @@ -1678,6 +1678,48 @@ export enum EntityStatus { * Batch Prediction.

                                                              */ export interface BatchPrediction { + /** + *

                                                              The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                              + */ + InputDataLocationS3?: string; + + /** + *

                                                              The location of an Amazon S3 bucket or directory to receive the operation results. The following substrings are not allowed in the s3 key portion of the outputURI field: ':', '//', '/./', '/../'.

                                                              + */ + OutputUri?: string; + + /** + *

                                                              A timestamp represented in epoch time.

                                                              + */ + FinishedAt?: Date; + + /** + *

                                                              Long integer type that is a 64-bit signed number.

                                                              + */ + ComputeTime?: number; + + /** + *

                                                              A description of the most recent details about processing the batch prediction request.

                                                              + */ + Message?: string; + + /** + *

                                                              The ID assigned to the BatchPrediction at creation. This value should be identical to the value of the BatchPredictionID + * in the request. + *

                                                              + */ + BatchPredictionId?: string; + + /** + *

                                                              A timestamp represented in epoch time.

                                                              + */ + StartedAt?: Date; + + /** + *

                                                              The time that the BatchPrediction was created. The time is expressed in epoch time.

                                                              + */ + CreatedAt?: Date; + /** *

                                                              The status of the BatchPrediction. This element can have one of the following values:

                                                              *
                                                                @@ -1711,76 +1753,34 @@ export interface BatchPrediction { TotalRecordCount?: number; /** - *

                                                                The time of the most recent edit to the BatchPrediction. The time is expressed in epoch time.

                                                                - */ - LastUpdatedAt?: Date; - - /** - *

                                                                A description of the most recent details about processing the batch prediction request.

                                                                - */ - Message?: string; - - /** - *

                                                                The time that the BatchPrediction was created. The time is expressed in epoch time.

                                                                - */ - CreatedAt?: Date; - - /** - *

                                                                Long integer type that is a 64-bit signed number.

                                                                - */ - InvalidRecordCount?: number; - - /** - *

                                                                The location of an Amazon S3 bucket or directory to receive the operation results. The following substrings are not allowed in the s3 key portion of the outputURI field: ':', '//', '/./', '/../'.

                                                                + *

                                                                The ID of the DataSource that points to the group of observations to predict.

                                                                */ - OutputUri?: string; + BatchPredictionDataSourceId?: string; /** *

                                                                The ID of the MLModel that generated predictions for the BatchPrediction request.

                                                                */ MLModelId?: string; - /** - *

                                                                The ID of the DataSource that points to the group of observations to predict.

                                                                - */ - BatchPredictionDataSourceId?: string; - /** *

                                                                A user-supplied name or description of the BatchPrediction.

                                                                */ Name?: string; /** - *

                                                                The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                                + *

                                                                The AWS user account that invoked the BatchPrediction. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                */ - InputDataLocationS3?: string; + CreatedByIamUser?: string; /** *

                                                                Long integer type that is a 64-bit signed number.

                                                                */ - ComputeTime?: number; - - /** - *

                                                                A timestamp represented in epoch time.

                                                                - */ - FinishedAt?: Date; - - /** - *

                                                                The ID assigned to the BatchPrediction at creation. This value should be identical to the value of the BatchPredictionID - * in the request. - *

                                                                - */ - BatchPredictionId?: string; - - /** - *

                                                                A timestamp represented in epoch time.

                                                                - */ - StartedAt?: Date; + InvalidRecordCount?: number; /** - *

                                                                The AWS user account that invoked the BatchPrediction. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                + *

                                                                The time of the most recent edit to the BatchPrediction. The time is expressed in epoch time.

                                                                */ - CreatedByIamUser?: string; + LastUpdatedAt?: Date; } export namespace BatchPrediction { @@ -1794,15 +1794,15 @@ export namespace BatchPrediction { */ export interface DescribeBatchPredictionsOutput { /** - *

                                                                A list of BatchPrediction objects that meet the search criteria. - *

                                                                + *

                                                                The ID of the next page in the paginated results that indicates at least one more page follows.

                                                                */ - Results?: BatchPrediction[]; + NextToken?: string; /** - *

                                                                The ID of the next page in the paginated results that indicates at least one more page follows.

                                                                + *

                                                                A list of BatchPrediction objects that meet the search criteria. + *

                                                                */ - NextToken?: string; + Results?: BatchPrediction[]; } export namespace DescribeBatchPredictionsOutput { @@ -1822,25 +1822,16 @@ export enum DataSourceFilterVariable { export interface DescribeDataSourcesInput { /** - *

                                                                The not equal to operator. The DataSource results will have FilterVariable values not equal to the value specified with NE.

                                                                + *

                                                                The greater than operator. The DataSource results will + * have FilterVariable values that are greater than the value specified with GT.

                                                                */ - NE?: string; + GT?: string; /** - *

                                                                A two-value parameter that determines the sequence of the resulting list of DataSource.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * asc - Arranges the list in ascending order (A-Z, 0-9).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * dsc - Arranges the list in descending order (Z-A, 9-0).

                                                                  - *
                                                                • - *
                                                                - *

                                                                Results are sorted by FilterVariable.

                                                                + *

                                                                The greater than or equal to operator. The DataSource results will have FilterVariable values that are greater than or equal to the value specified with GE. + *

                                                                */ - SortOrder?: SortOrder | string; + GE?: string; /** *

                                                                The less than or equal to operator. The DataSource results will have FilterVariable values that are less than or equal to the value specified with LE.

                                                                @@ -1848,20 +1839,37 @@ export interface DescribeDataSourcesInput { LE?: string; /** - *

                                                                The less than operator. The DataSource results will - * have FilterVariable values that are less than the value specified with LT.

                                                                - */ - LT?: string; - - /** - *

                                                                The ID of the page in the paginated results.

                                                                + *

                                                                The maximum number of DataSource to include in the result.

                                                                */ - NextToken?: string; + Limit?: number; /** - *

                                                                The maximum number of DataSource to include in the result.

                                                                + *

                                                                Use one of the following variables to filter a list of DataSource:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * CreatedAt - Sets the search criteria to DataSource creation dates.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Status - Sets the search criteria to DataSource statuses.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Name - Sets the search criteria to the contents of DataSource + * Name.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * DataUri - Sets the search criteria to the URI of data files used to create the DataSource. The URI can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * IAMUser - Sets the search criteria to the user account that invoked the DataSource creation.

                                                                  + *
                                                                • + *
                                                                */ - Limit?: number; + FilterVariable?: DataSourceFilterVariable | string; /** *

                                                                A string that is found at the beginning of a variable, such as Name or Id.

                                                                @@ -1886,50 +1894,42 @@ export interface DescribeDataSourcesInput { Prefix?: string; /** - *

                                                                The greater than operator. The DataSource results will - * have FilterVariable values that are greater than the value specified with GT.

                                                                + *

                                                                The equal to operator. The DataSource results will have + * FilterVariable values that exactly match the value specified with EQ.

                                                                */ - GT?: string; + EQ?: string; /** - *

                                                                Use one of the following variables to filter a list of DataSource:

                                                                + *

                                                                A two-value parameter that determines the sequence of the resulting list of DataSource.

                                                                *
                                                                  *
                                                                • *

                                                                  - * CreatedAt - Sets the search criteria to DataSource creation dates.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Status - Sets the search criteria to DataSource statuses.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Name - Sets the search criteria to the contents of DataSource - * Name.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * DataUri - Sets the search criteria to the URI of data files used to create the DataSource. The URI can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory.

                                                                  + * asc - Arranges the list in ascending order (A-Z, 0-9).

                                                                  *
                                                                • *
                                                                • *

                                                                  - * IAMUser - Sets the search criteria to the user account that invoked the DataSource creation.

                                                                  + * dsc - Arranges the list in descending order (Z-A, 9-0).

                                                                  *
                                                                • *
                                                                + *

                                                                Results are sorted by FilterVariable.

                                                                */ - FilterVariable?: DataSourceFilterVariable | string; + SortOrder?: SortOrder | string; /** - *

                                                                The equal to operator. The DataSource results will have - * FilterVariable values that exactly match the value specified with EQ.

                                                                + *

                                                                The not equal to operator. The DataSource results will have FilterVariable values not equal to the value specified with NE.

                                                                */ - EQ?: string; + NE?: string; /** - *

                                                                The greater than or equal to operator. The DataSource results will have FilterVariable values that are greater than or equal to the value specified with GE. - *

                                                                + *

                                                                The less than operator. The DataSource results will + * have FilterVariable values that are less than the value specified with LT.

                                                                */ - GE?: string; + LT?: string; + + /** + *

                                                                The ID of the page in the paginated results.

                                                                + */ + NextToken?: string; } export namespace DescribeDataSourcesInput { @@ -1943,20 +1943,19 @@ export namespace DescribeDataSourcesInput { */ export interface RDSMetadata { /** - *

                                                                The role (DataPipelineDefaultResourceRole) assumed by an Amazon EC2 instance to carry out the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines.

                                                                + *

                                                                The role (DataPipelineDefaultRole) assumed by the Data Pipeline service to monitor the progress of the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines.

                                                                */ - ResourceRole?: string; + ServiceRole?: string; /** - *

                                                                The role (DataPipelineDefaultRole) assumed by the Data Pipeline service to monitor the progress of the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines.

                                                                + *

                                                                The role (DataPipelineDefaultResourceRole) assumed by an Amazon EC2 instance to carry out the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines.

                                                                */ - ServiceRole?: string; + ResourceRole?: string; /** - *

                                                                The username to be used by Amazon ML to connect to database on an Amazon RDS instance. - * The username should have sufficient permissions to execute an RDSSelectSqlQuery query.

                                                                + *

                                                                The database details required to connect to an Amazon RDS.

                                                                */ - DatabaseUserName?: string; + Database?: RDSDatabase; /** *

                                                                The ID of the Data Pipeline instance that is used to carry to copy data from Amazon RDS to Amazon S3. You can use the ID to find details about the instance in the Data Pipeline console.

                                                                @@ -1969,9 +1968,10 @@ export interface RDSMetadata { SelectSqlQuery?: string; /** - *

                                                                The database details required to connect to an Amazon RDS.

                                                                + *

                                                                The username to be used by Amazon ML to connect to database on an Amazon RDS instance. + * The username should have sufficient permissions to execute an RDSSelectSqlQuery query.

                                                                */ - Database?: RDSDatabase; + DatabaseUserName?: string; } export namespace RDSMetadata { @@ -1985,9 +1985,10 @@ export namespace RDSMetadata { */ export interface RedshiftMetadata { /** - *

                                                                The SQL query that is specified during CreateDataSourceFromRedshift. Returns only if Verbose is true in GetDataSourceInput.

                                                                + *

                                                                A username to be used by Amazon Machine Learning (Amazon ML)to connect to a database on an Amazon Redshift cluster. + * The username should have sufficient permissions to execute the RedshiftSelectSqlQuery query. The username should be valid for an Amazon Redshift USER.

                                                                */ - SelectSqlQuery?: string; + DatabaseUserName?: string; /** *

                                                                Describes the database details required to connect to an Amazon Redshift database.

                                                                @@ -1995,10 +1996,9 @@ export interface RedshiftMetadata { RedshiftDatabase?: RedshiftDatabase; /** - *

                                                                A username to be used by Amazon Machine Learning (Amazon ML)to connect to a database on an Amazon Redshift cluster. - * The username should have sufficient permissions to execute the RedshiftSelectSqlQuery query. The username should be valid for an Amazon Redshift USER.

                                                                + *

                                                                The SQL query that is specified during CreateDataSourceFromRedshift. Returns only if Verbose is true in GetDataSourceInput.

                                                                */ - DatabaseUserName?: string; + SelectSqlQuery?: string; } export namespace RedshiftMetadata { @@ -2013,30 +2013,47 @@ export namespace RedshiftMetadata { */ export interface DataSource { /** - *

                                                                The location and name of the data in Amazon Simple Storage Service (Amazon S3) that is used by a DataSource.

                                                                + *

                                                                The time that the DataSource was created. The time is expressed in epoch time.

                                                                */ - DataLocationS3?: string; + CreatedAt?: Date; /** - *

                                                                The number of data files referenced by the DataSource.

                                                                + *

                                                                The current status of the DataSource. This element can have one of the following values:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  PENDING - Amazon Machine Learning (Amazon ML) submitted a request to create a DataSource.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  INPROGRESS - The creation process is underway.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  FAILED - The request to create a DataSource did not run to completion. It is not usable.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  COMPLETED - The creation process completed successfully.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  DELETED - The DataSource is marked as deleted. It is not usable.

                                                                  + *
                                                                • + *
                                                                */ - NumberOfFiles?: number; + Status?: EntityStatus | string; /** - *

                                                                Describes the DataSource details specific to Amazon Redshift.

                                                                + *

                                                                The Amazon Resource Name (ARN) of an AWS IAM Role, such as the following: arn:aws:iam::account:role/rolename.

                                                                */ - RedshiftMetadata?: RedshiftMetadata; + RoleARN?: string; /** - *

                                                                A JSON string that represents the splitting and rearrangement requirement used when this DataSource - * was created.

                                                                + *

                                                                The time of the most recent edit to the + * BatchPrediction. The time is expressed in epoch time.

                                                                */ - DataRearrangement?: string; + LastUpdatedAt?: Date; /** - *

                                                                Long integer type that is a 64-bit signed number.

                                                                + *

                                                                The AWS user account from which the DataSource was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                */ - ComputeTime?: number; + CreatedByIamUser?: string; /** *

                                                                A timestamp represented in epoch time.

                                                                @@ -2044,84 +2061,67 @@ export interface DataSource { FinishedAt?: Date; /** - *

                                                                - * The parameter is true if statistics need to be generated from the observation data. - *

                                                                + *

                                                                A timestamp represented in epoch time.

                                                                */ - ComputeStatistics?: boolean; + StartedAt?: Date; /** - *

                                                                The total number of observations contained in the data files that the DataSource references.

                                                                + *

                                                                Long integer type that is a 64-bit signed number.

                                                                */ - DataSizeInBytes?: number; + ComputeTime?: number; /** - *

                                                                The datasource details that are specific to Amazon RDS.

                                                                + *

                                                                The number of data files referenced by the DataSource.

                                                                */ - RDSMetadata?: RDSMetadata; + NumberOfFiles?: number; /** - *

                                                                A timestamp represented in epoch time.

                                                                + *

                                                                The ID that is assigned to the DataSource during creation.

                                                                */ - StartedAt?: Date; + DataSourceId?: string; /** - *

                                                                A description of the most recent details about creating the DataSource.

                                                                + *

                                                                The total number of observations contained in the data files that the DataSource references.

                                                                */ - Message?: string; + DataSizeInBytes?: number; /** - *

                                                                The current status of the DataSource. This element can have one of the following values:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  PENDING - Amazon Machine Learning (Amazon ML) submitted a request to create a DataSource.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  INPROGRESS - The creation process is underway.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  FAILED - The request to create a DataSource did not run to completion. It is not usable.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  COMPLETED - The creation process completed successfully.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  DELETED - The DataSource is marked as deleted. It is not usable.

                                                                  - *
                                                                • - *
                                                                + *

                                                                A user-supplied name or description of the DataSource.

                                                                */ - Status?: EntityStatus | string; + Name?: string; /** - *

                                                                The Amazon Resource Name (ARN) of an AWS IAM Role, such as the following: arn:aws:iam::account:role/rolename.

                                                                + *

                                                                + * The parameter is true if statistics need to be generated from the observation data. + *

                                                                */ - RoleARN?: string; + ComputeStatistics?: boolean; /** - *

                                                                The ID that is assigned to the DataSource during creation.

                                                                + *

                                                                The datasource details that are specific to Amazon RDS.

                                                                */ - DataSourceId?: string; + RDSMetadata?: RDSMetadata; /** - *

                                                                A user-supplied name or description of the DataSource.

                                                                + *

                                                                A description of the most recent details about creating the DataSource.

                                                                */ - Name?: string; + Message?: string; /** - *

                                                                The AWS user account from which the DataSource was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                + *

                                                                A JSON string that represents the splitting and rearrangement requirement used when this DataSource + * was created.

                                                                */ - CreatedByIamUser?: string; + DataRearrangement?: string; /** - *

                                                                The time of the most recent edit to the - * BatchPrediction. The time is expressed in epoch time.

                                                                + *

                                                                The location and name of the data in Amazon Simple Storage Service (Amazon S3) that is used by a DataSource.

                                                                */ - LastUpdatedAt?: Date; + DataLocationS3?: string; /** - *

                                                                The time that the DataSource was created. The time is expressed in epoch time.

                                                                + *

                                                                Describes the DataSource details specific to Amazon Redshift.

                                                                */ - CreatedAt?: Date; + RedshiftMetadata?: RedshiftMetadata; } export namespace DataSource { @@ -2164,11 +2164,6 @@ export enum EvaluationFilterVariable { } export interface DescribeEvaluationsInput { - /** - *

                                                                The ID of the page in the paginated results.

                                                                - */ - NextToken?: string; - /** *

                                                                The greater than or equal to operator. The Evaluation results will have FilterVariable values that are greater than or equal to the value specified with GE. *

                                                                @@ -2176,36 +2171,58 @@ export interface DescribeEvaluationsInput { GE?: string; /** - *

                                                                A two-value parameter that determines the sequence of the resulting list of Evaluation.

                                                                + *

                                                                A string that is found at the beginning of a variable, such as Name or Id.

                                                                + *

                                                                For example, an Evaluation could have the Name + * 2014-09-09-HolidayGiftMailer. To search for + * this Evaluation, select Name for the FilterVariable and any of the following strings for the + * Prefix: + *

                                                                + * *
                                                                  *
                                                                • - *

                                                                  - * asc - Arranges the list in ascending order (A-Z, 0-9).

                                                                  + *

                                                                  2014-09

                                                                  *
                                                                • *
                                                                • - *

                                                                  - * dsc - Arranges the list in descending order (Z-A, 9-0).

                                                                  + *

                                                                  2014-09-09

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  2014-09-09-Holiday

                                                                  *
                                                                • *
                                                                - *

                                                                Results are sorted by FilterVariable.

                                                                */ - SortOrder?: SortOrder | string; + Prefix?: string; /** - *

                                                                The greater than operator. The Evaluation results will - * have FilterVariable values that are greater than the value specified with GT.

                                                                + *

                                                                The less than or equal to operator. The Evaluation results will have FilterVariable values that are less than or equal to the value specified with LE.

                                                                */ - GT?: string; + LE?: string; /** - *

                                                                Use one of the following variable to filter a list of Evaluation objects:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * CreatedAt - Sets the search criteria to the Evaluation creation date.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  + *

                                                                  The less than operator. The Evaluation results will + * have FilterVariable values that are less than the value specified with LT.

                                                                  + */ + LT?: string; + + /** + *

                                                                  The not equal to operator. The Evaluation results will have FilterVariable values not equal to the value specified with NE.

                                                                  + */ + NE?: string; + + /** + *

                                                                  The greater than operator. The Evaluation results will + * have FilterVariable values that are greater than the value specified with GT.

                                                                  + */ + GT?: string; + + /** + *

                                                                  Use one of the following variable to filter a list of Evaluation objects:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * CreatedAt - Sets the search criteria to the Evaluation creation date.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    * Status - Sets the search criteria to the Evaluation status.

                                                                    *
                                                                  • *
                                                                  • @@ -2234,28 +2251,6 @@ export interface DescribeEvaluationsInput { */ FilterVariable?: EvaluationFilterVariable | string; - /** - *

                                                                    A string that is found at the beginning of a variable, such as Name or Id.

                                                                    - *

                                                                    For example, an Evaluation could have the Name - * 2014-09-09-HolidayGiftMailer. To search for - * this Evaluation, select Name for the FilterVariable and any of the following strings for the - * Prefix: - *

                                                                    - * - *
                                                                      - *
                                                                    • - *

                                                                      2014-09

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      2014-09-09

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      2014-09-09-Holiday

                                                                      - *
                                                                    • - *
                                                                    - */ - Prefix?: string; - /** *

                                                                    The equal to operator. The Evaluation results will have * FilterVariable values that exactly match the value specified with EQ.

                                                                    @@ -2263,25 +2258,30 @@ export interface DescribeEvaluationsInput { EQ?: string; /** - *

                                                                    The maximum number of Evaluation to include in the result.

                                                                    - */ - Limit?: number; - - /** - *

                                                                    The less than or equal to operator. The Evaluation results will have FilterVariable values that are less than or equal to the value specified with LE.

                                                                    + *

                                                                    The ID of the page in the paginated results.

                                                                    */ - LE?: string; + NextToken?: string; /** - *

                                                                    The less than operator. The Evaluation results will - * have FilterVariable values that are less than the value specified with LT.

                                                                    + *

                                                                    A two-value parameter that determines the sequence of the resulting list of Evaluation.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * asc - Arranges the list in ascending order (A-Z, 0-9).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * dsc - Arranges the list in descending order (Z-A, 9-0).

                                                                      + *
                                                                    • + *
                                                                    + *

                                                                    Results are sorted by FilterVariable.

                                                                    */ - LT?: string; + SortOrder?: SortOrder | string; /** - *

                                                                    The not equal to operator. The Evaluation results will have FilterVariable values not equal to the value specified with NE.

                                                                    + *

                                                                    The maximum number of Evaluation to include in the result.

                                                                    */ - NE?: string; + Limit?: number; } export namespace DescribeEvaluationsInput { @@ -2328,45 +2328,19 @@ export namespace PerformanceMetrics { */ export interface Evaluation { /** - *

                                                                    Measurements of how well the MLModel performed, using observations referenced - * by the DataSource. One of the following metrics is returned, based on the type of the MLModel: - *

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      BinaryAUC: A binary MLModel uses the Area Under the Curve (AUC) technique to measure performance.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      RegressionRMSE: A regression MLModel uses the Root Mean Square Error (RMSE) technique to measure performance. RMSE measures the difference between predicted and actual values for a single variable.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      MulticlassAvgFScore: A multiclass MLModel uses the F1 score technique to measure performance.

                                                                      - *
                                                                    • - *
                                                                    - *

                                                                    - * For more information about performance metrics, please see the Amazon Machine Learning Developer Guide. - *

                                                                    - */ - PerformanceMetrics?: PerformanceMetrics; - - /** - *

                                                                    The time that the Evaluation was created. The time is expressed in epoch time.

                                                                    - */ - CreatedAt?: Date; - - /** - *

                                                                    The ID of the MLModel that is the focus of the evaluation.

                                                                    + *

                                                                    A user-supplied name or description of the Evaluation.

                                                                    */ - MLModelId?: string; + Name?: string; /** - *

                                                                    The time of the most recent edit to the Evaluation. The time is expressed in epoch time.

                                                                    + *

                                                                    The ID of the DataSource that is used to evaluate the MLModel.

                                                                    */ - LastUpdatedAt?: Date; + EvaluationDataSourceId?: string; /** - *

                                                                    The ID of the DataSource that is used to evaluate the MLModel.

                                                                    + *

                                                                    A timestamp represented in epoch time.

                                                                    */ - EvaluationDataSourceId?: string; + StartedAt?: Date; /** *

                                                                    The AWS user account that invoked the evaluation. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                    @@ -2374,24 +2348,24 @@ export interface Evaluation { CreatedByIamUser?: string; /** - *

                                                                    A user-supplied name or description of the Evaluation.

                                                                    + *

                                                                    Long integer type that is a 64-bit signed number.

                                                                    */ - Name?: string; + ComputeTime?: number; /** - *

                                                                    Long integer type that is a 64-bit signed number.

                                                                    + *

                                                                    A timestamp represented in epoch time.

                                                                    */ - ComputeTime?: number; + FinishedAt?: Date; /** - *

                                                                    A description of the most recent details about evaluating the MLModel.

                                                                    + *

                                                                    The location and name of the data in Amazon Simple Storage Server (Amazon S3) that is used in the evaluation.

                                                                    */ - Message?: string; + InputDataLocationS3?: string; /** - *

                                                                    The ID that is assigned to the Evaluation at creation.

                                                                    + *

                                                                    The ID of the MLModel that is the focus of the evaluation.

                                                                    */ - EvaluationId?: string; + MLModelId?: string; /** *

                                                                    The status of the evaluation. This element can have one of the following values:

                                                                    @@ -2421,19 +2395,45 @@ export interface Evaluation { Status?: EntityStatus | string; /** - *

                                                                    The location and name of the data in Amazon Simple Storage Server (Amazon S3) that is used in the evaluation.

                                                                    + *

                                                                    Measurements of how well the MLModel performed, using observations referenced + * by the DataSource. One of the following metrics is returned, based on the type of the MLModel: + *

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      BinaryAUC: A binary MLModel uses the Area Under the Curve (AUC) technique to measure performance.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      RegressionRMSE: A regression MLModel uses the Root Mean Square Error (RMSE) technique to measure performance. RMSE measures the difference between predicted and actual values for a single variable.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      MulticlassAvgFScore: A multiclass MLModel uses the F1 score technique to measure performance.

                                                                      + *
                                                                    • + *
                                                                    + *

                                                                    + * For more information about performance metrics, please see the Amazon Machine Learning Developer Guide. + *

                                                                    */ - InputDataLocationS3?: string; + PerformanceMetrics?: PerformanceMetrics; /** - *

                                                                    A timestamp represented in epoch time.

                                                                    + *

                                                                    A description of the most recent details about evaluating the MLModel.

                                                                    */ - StartedAt?: Date; + Message?: string; /** - *

                                                                    A timestamp represented in epoch time.

                                                                    + *

                                                                    The ID that is assigned to the Evaluation at creation.

                                                                    */ - FinishedAt?: Date; + EvaluationId?: string; + + /** + *

                                                                    The time that the Evaluation was created. The time is expressed in epoch time.

                                                                    + */ + CreatedAt?: Date; + + /** + *

                                                                    The time of the most recent edit to the Evaluation. The time is expressed in epoch time.

                                                                    + */ + LastUpdatedAt?: Date; } export namespace Evaluation { @@ -2483,6 +2483,11 @@ export interface DescribeMLModelsInput { */ NE?: string; + /** + *

                                                                    The ID of the page in the paginated results.

                                                                    + */ + NextToken?: string; + /** *

                                                                    The less than operator. The MLModel results will * have FilterVariable values that are less than the value specified with LT.

                                                                    @@ -2490,26 +2495,20 @@ export interface DescribeMLModelsInput { LT?: string; /** - *

                                                                    A string that is found at the beginning of a variable, such as Name or Id.

                                                                    - *

                                                                    For example, an MLModel could have the Name - * 2014-09-09-HolidayGiftMailer. To search for - * this MLModel, select Name for the FilterVariable and any of the following strings for the - * Prefix: - *

                                                                    - * + *

                                                                    A two-value parameter that determines the sequence of the resulting list of MLModel.

                                                                    *
                                                                      *
                                                                    • - *

                                                                      2014-09

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      2014-09-09

                                                                      + *

                                                                      + * asc - Arranges the list in ascending order (A-Z, 0-9).

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      2014-09-09-Holiday

                                                                      + *

                                                                      + * dsc - Arranges the list in descending order (Z-A, 9-0).

                                                                      *
                                                                    • *
                                                                    + *

                                                                    Results are sorted by FilterVariable.

                                                                    */ - Prefix?: string; + SortOrder?: SortOrder | string; /** *

                                                                    The less than or equal to operator. The MLModel results will have FilterVariable values that are less than or equal to the value specified with LE.

                                                                    @@ -2517,36 +2516,49 @@ export interface DescribeMLModelsInput { LE?: string; /** - *

                                                                    A two-value parameter that determines the sequence of the resulting list of MLModel.

                                                                    + *

                                                                    The number of pages of information to include in the result. The range of acceptable values is 1 through 100. The default value is 100.

                                                                    + */ + Limit?: number; + + /** + *

                                                                    A string that is found at the beginning of a variable, such as Name or Id.

                                                                    + *

                                                                    For example, an MLModel could have the Name + * 2014-09-09-HolidayGiftMailer. To search for + * this MLModel, select Name for the FilterVariable and any of the following strings for the + * Prefix: + *

                                                                    + * *
                                                                      *
                                                                    • - *

                                                                      - * asc - Arranges the list in ascending order (A-Z, 0-9).

                                                                      + *

                                                                      2014-09

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      - * dsc - Arranges the list in descending order (Z-A, 9-0).

                                                                      + *

                                                                      2014-09-09

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      2014-09-09-Holiday

                                                                      *
                                                                    • *
                                                                    - *

                                                                    Results are sorted by FilterVariable.

                                                                    */ - SortOrder?: SortOrder | string; + Prefix?: string; /** - *

                                                                    The ID of the page in the paginated results.

                                                                    + *

                                                                    The equal to operator. The MLModel results will have + * FilterVariable values that exactly match the value specified with EQ.

                                                                    */ - NextToken?: string; + EQ?: string; /** - *

                                                                    The number of pages of information to include in the result. The range of acceptable values is 1 through 100. The default value is 100.

                                                                    + *

                                                                    The greater than operator. The MLModel results will + * have FilterVariable values that are greater than the value specified with GT.

                                                                    */ - Limit?: number; + GT?: string; /** - *

                                                                    The equal to operator. The MLModel results will have - * FilterVariable values that exactly match the value specified with EQ.

                                                                    + *

                                                                    The greater than or equal to operator. The MLModel results will have FilterVariable values that are greater than or equal to the value specified with GE. + *

                                                                    */ - EQ?: string; + GE?: string; /** *

                                                                    Use one of the following variables to filter a list of MLModel:

                                                                    @@ -2592,18 +2604,6 @@ export interface DescribeMLModelsInput { *
                                                                  */ FilterVariable?: MLModelFilterVariable | string; - - /** - *

                                                                  The greater than operator. The MLModel results will - * have FilterVariable values that are greater than the value specified with GT.

                                                                  - */ - GT?: string; - - /** - *

                                                                  The greater than or equal to operator. The MLModel results will have FilterVariable values that are greater than or equal to the value specified with GE. - *

                                                                  - */ - GE?: string; } export namespace DescribeMLModelsInput { @@ -2618,95 +2618,14 @@ export namespace DescribeMLModelsInput { */ export interface MLModel { /** - *

                                                                  The time that the MLModel was created. The time is expressed in epoch time.

                                                                  + *

                                                                  The current endpoint of the MLModel.

                                                                  */ - CreatedAt?: Date; + EndpointInfo?: RealtimeEndpointInfo; /** - *

                                                                  A timestamp represented in epoch time.

                                                                  + *

                                                                  The time of the most recent edit to the ScoreThreshold. The time is expressed in epoch time.

                                                                  */ - StartedAt?: Date; - - /** - *

                                                                  The ID of the training DataSource. The CreateMLModel operation uses the TrainingDataSourceId.

                                                                  - */ - TrainingDataSourceId?: string; - - /** - *

                                                                  The time of the most recent edit to the MLModel. The time is expressed in epoch time.

                                                                  - */ - LastUpdatedAt?: Date; - - /** - *

                                                                  The current status of an MLModel. This element can have one of the following values:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * PENDING - Amazon Machine Learning (Amazon ML) submitted a request to create an MLModel.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * INPROGRESS - The creation process is underway.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * FAILED - The request to create an MLModel didn't run to - * completion. The model isn't usable.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * COMPLETED - The creation process completed successfully.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * DELETED - The MLModel is marked as deleted. It isn't - * usable.

                                                                    - *
                                                                  • - *
                                                                  - */ - Status?: EntityStatus | string; - - /** - *

                                                                  A user-supplied name or description of the MLModel.

                                                                  - */ - Name?: string; - - /** - *

                                                                  The ID assigned to the MLModel at creation.

                                                                  - */ - MLModelId?: string; - - /** - *

                                                                  A description of the most recent details about accessing the MLModel.

                                                                  - */ - Message?: string; - - /** - *

                                                                  Identifies the MLModel category. The following are the available types:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * REGRESSION - Produces a numeric result. For example, "What price should a - * house be listed at?"

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * BINARY - Produces one of two possible results. For example, "Is this a - * child-friendly web site?".

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * MULTICLASS - Produces one of several possible results. For example, "Is - * this a HIGH-, LOW-, or MEDIUM-risk trade?".

                                                                    - *
                                                                  • - *
                                                                  - */ - MLModelType?: MLModelType | string; - - /** - *

                                                                  The current endpoint of the MLModel.

                                                                  - */ - EndpointInfo?: RealtimeEndpointInfo; + ScoreThresholdLastUpdatedAt?: Date; /** *

                                                                  A list of the training parameters in the MLModel. The list is implemented as @@ -2760,48 +2679,129 @@ export interface MLModel { /** *

                                                                  Long integer type that is a 64-bit signed number.

                                                                  */ - SizeInBytes?: number; + ComputeTime?: number; /** - *

                                                                  The time of the most recent edit to the ScoreThreshold. The time is expressed in epoch time.

                                                                  + *

                                                                  A timestamp represented in epoch time.

                                                                  */ - ScoreThresholdLastUpdatedAt?: Date; + FinishedAt?: Date; /** - *

                                                                  The algorithm used to train the MLModel. The following algorithm is supported:

                                                                  + *

                                                                  The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                                  + */ + InputDataLocationS3?: string; + + /** + *

                                                                  A timestamp represented in epoch time.

                                                                  + */ + StartedAt?: Date; + + /** + *

                                                                  The current status of an MLModel. This element can have one of the following values:

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * SGD -- Stochastic gradient descent. The goal of SGD is to minimize the gradient of the loss function.

                                                                    + * PENDING - Amazon Machine Learning (Amazon ML) submitted a request to create an MLModel.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * INPROGRESS - The creation process is underway.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * FAILED - The request to create an MLModel didn't run to + * completion. The model isn't usable.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * COMPLETED - The creation process completed successfully.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * DELETED - The MLModel is marked as deleted. It isn't + * usable.

                                                                    *
                                                                  • *
                                                                  */ - Algorithm?: Algorithm | string; + Status?: EntityStatus | string; /** - *

                                                                  The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                                  + *

                                                                  The ID of the training DataSource. The CreateMLModel operation uses the TrainingDataSourceId.

                                                                  */ - InputDataLocationS3?: string; + TrainingDataSourceId?: string; /** - *

                                                                  The score threshold for the MLModel.

                                                                  + *

                                                                  The time that the MLModel was created. The time is expressed in epoch time.

                                                                  */ - ScoreThreshold?: number; + CreatedAt?: Date; /** - *

                                                                  A timestamp represented in epoch time.

                                                                  + *

                                                                  The ID assigned to the MLModel at creation.

                                                                  */ - FinishedAt?: Date; + MLModelId?: string; /** - *

                                                                  Long integer type that is a 64-bit signed number.

                                                                  + *

                                                                  A description of the most recent details about accessing the MLModel.

                                                                  */ - ComputeTime?: number; + Message?: string; /** *

                                                                  The AWS user account from which the MLModel was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                  */ CreatedByIamUser?: string; + + /** + *

                                                                  A user-supplied name or description of the MLModel.

                                                                  + */ + Name?: string; + + /** + *

                                                                  The score threshold for the MLModel.

                                                                  + */ + ScoreThreshold?: number; + + /** + *

                                                                  The time of the most recent edit to the MLModel. The time is expressed in epoch time.

                                                                  + */ + LastUpdatedAt?: Date; + + /** + *

                                                                  The algorithm used to train the MLModel. The following algorithm is supported:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * SGD -- Stochastic gradient descent. The goal of SGD is to minimize the gradient of the loss function.

                                                                    + *
                                                                  • + *
                                                                  + */ + Algorithm?: Algorithm | string; + + /** + *

                                                                  Identifies the MLModel category. The following are the available types:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * REGRESSION - Produces a numeric result. For example, "What price should a + * house be listed at?"

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * BINARY - Produces one of two possible results. For example, "Is this a + * child-friendly web site?".

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * MULTICLASS - Produces one of several possible results. For example, "Is + * this a HIGH-, LOW-, or MEDIUM-risk trade?".

                                                                    + *
                                                                  • + *
                                                                  + */ + MLModelType?: MLModelType | string; + + /** + *

                                                                  Long integer type that is a 64-bit signed number.

                                                                  + */ + SizeInBytes?: number; } export namespace MLModel { @@ -2859,14 +2859,14 @@ export interface DescribeTagsOutput { Tags?: Tag[]; /** - *

                                                                  The type of the tagged ML object.

                                                                  + *

                                                                  The ID of the tagged ML object.

                                                                  */ - ResourceType?: TaggableResourceType | string; + ResourceId?: string; /** - *

                                                                  The ID of the tagged ML object.

                                                                  + *

                                                                  The type of the tagged ML object.

                                                                  */ - ResourceId?: string; + ResourceType?: TaggableResourceType | string; } export namespace DescribeTagsOutput { @@ -2892,16 +2892,67 @@ export namespace GetBatchPredictionInput { *

                                                                  Represents the output of a GetBatchPrediction operation and describes a BatchPrediction.

                                                                  */ export interface GetBatchPredictionOutput { + /** + *

                                                                  A link to the file that contains logs of the CreateBatchPrediction operation.

                                                                  + */ + LogUri?: string; + + /** + *

                                                                  The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the BatchPrediction, normalized and scaled on computation resources. ComputeTime is only available if the BatchPrediction is in the COMPLETED state.

                                                                  + */ + ComputeTime?: number; + + /** + *

                                                                  The location of an Amazon S3 bucket or directory to receive the operation results.

                                                                  + */ + OutputUri?: string; + + /** + *

                                                                  The AWS user account that invoked the BatchPrediction. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                  + */ + CreatedByIamUser?: string; + + /** + *

                                                                  The ID of the DataSource that was used to create the BatchPrediction. + *

                                                                  + */ + BatchPredictionDataSourceId?: string; + + /** + *

                                                                  A user-supplied name or description of the BatchPrediction.

                                                                  + */ + Name?: string; + + /** + *

                                                                  The number of total records that Amazon Machine Learning saw while processing the BatchPrediction.

                                                                  + */ + TotalRecordCount?: number; + + /** + *

                                                                  The number of invalid records that Amazon Machine Learning saw while processing the BatchPrediction.

                                                                  + */ + InvalidRecordCount?: number; + /** *

                                                                  The ID of the MLModel that generated predictions for the BatchPrediction request.

                                                                  */ MLModelId?: string; + /** + *

                                                                  The time of the most recent edit to BatchPrediction. The time is expressed in epoch time.

                                                                  + */ + LastUpdatedAt?: Date; + /** *

                                                                  The time when the BatchPrediction was created. The time is expressed in epoch time.

                                                                  */ CreatedAt?: Date; + /** + *

                                                                  A description of the most recent details about processing the batch prediction request.

                                                                  + */ + Message?: string; + /** *

                                                                  The status of the BatchPrediction, which can be one of the following values:

                                                                  *
                                                                    @@ -2930,24 +2981,9 @@ export interface GetBatchPredictionOutput { Status?: EntityStatus | string; /** - *

                                                                    The time of the most recent edit to BatchPrediction. The time is expressed in epoch time.

                                                                    - */ - LastUpdatedAt?: Date; - - /** - *

                                                                    The number of total records that Amazon Machine Learning saw while processing the BatchPrediction.

                                                                    - */ - TotalRecordCount?: number; - - /** - *

                                                                    The number of invalid records that Amazon Machine Learning saw while processing the BatchPrediction.

                                                                    - */ - InvalidRecordCount?: number; - - /** - *

                                                                    The epoch time when Amazon Machine Learning marked the BatchPrediction as INPROGRESS. StartedAt isn't available if the BatchPrediction is in the PENDING state.

                                                                    + *

                                                                    The epoch time when Amazon Machine Learning marked the BatchPrediction as COMPLETED or FAILED. FinishedAt is only available when the BatchPrediction is in the COMPLETED or FAILED state.

                                                                    */ - StartedAt?: Date; + FinishedAt?: Date; /** *

                                                                    An ID assigned to the BatchPrediction at creation. This value should be identical to the value of the BatchPredictionID @@ -2956,50 +2992,14 @@ export interface GetBatchPredictionOutput { BatchPredictionId?: string; /** - *

                                                                    The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the BatchPrediction, normalized and scaled on computation resources. ComputeTime is only available if the BatchPrediction is in the COMPLETED state.

                                                                    - */ - ComputeTime?: number; - - /** - *

                                                                    The AWS user account that invoked the BatchPrediction. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                    - */ - CreatedByIamUser?: string; - - /** - *

                                                                    The epoch time when Amazon Machine Learning marked the BatchPrediction as COMPLETED or FAILED. FinishedAt is only available when the BatchPrediction is in the COMPLETED or FAILED state.

                                                                    + *

                                                                    The epoch time when Amazon Machine Learning marked the BatchPrediction as INPROGRESS. StartedAt isn't available if the BatchPrediction is in the PENDING state.

                                                                    */ - FinishedAt?: Date; + StartedAt?: Date; /** *

                                                                    The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                                    */ InputDataLocationS3?: string; - - /** - *

                                                                    A link to the file that contains logs of the CreateBatchPrediction operation.

                                                                    - */ - LogUri?: string; - - /** - *

                                                                    A description of the most recent details about processing the batch prediction request.

                                                                    - */ - Message?: string; - - /** - *

                                                                    The ID of the DataSource that was used to create the BatchPrediction. - *

                                                                    - */ - BatchPredictionDataSourceId?: string; - - /** - *

                                                                    A user-supplied name or description of the BatchPrediction.

                                                                    - */ - Name?: string; - - /** - *

                                                                    The location of an Amazon S3 bucket or directory to receive the operation results.

                                                                    - */ - OutputUri?: string; } export namespace GetBatchPredictionOutput { @@ -3009,17 +3009,17 @@ export namespace GetBatchPredictionOutput { } export interface GetDataSourceInput { - /** - *

                                                                    The ID assigned to the DataSource at creation.

                                                                    - */ - DataSourceId: string | undefined; - /** *

                                                                    Specifies whether the GetDataSource operation should return DataSourceSchema.

                                                                    *

                                                                    If true, DataSourceSchema is returned.

                                                                    *

                                                                    If false, DataSourceSchema is not returned.

                                                                    */ Verbose?: boolean; + + /** + *

                                                                    The ID assigned to the DataSource at creation.

                                                                    + */ + DataSourceId: string | undefined; } export namespace GetDataSourceInput { @@ -3033,31 +3033,24 @@ export namespace GetDataSourceInput { */ export interface GetDataSourceOutput { /** - *

                                                                    The epoch time when Amazon Machine Learning marked the DataSource as INPROGRESS. StartedAt isn't available if the DataSource is in the PENDING state.

                                                                    - */ - StartedAt?: Date; - - /** - *

                                                                    The schema used by all of the data files of this DataSource.

                                                                    - *

                                                                    - * Note: This parameter is provided as part of the verbose format.

                                                                    + *

                                                                    Describes the DataSource details specific to Amazon Redshift.

                                                                    */ - DataSourceSchema?: string; + RedshiftMetadata?: RedshiftMetadata; /** - *

                                                                    The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the DataSource, normalized and scaled on computation resources. ComputeTime is only available if the DataSource is in the COMPLETED state and the ComputeStatistics is set to true.

                                                                    + *

                                                                    The time of the most recent edit to the DataSource. The time is expressed in epoch time.

                                                                    */ - ComputeTime?: number; + LastUpdatedAt?: Date; /** - *

                                                                    A user-supplied name or description of the DataSource.

                                                                    + *

                                                                    The time that the DataSource was created. The time is expressed in epoch time.

                                                                    */ - Name?: string; + CreatedAt?: Date; /** - *

                                                                    The ID assigned to the DataSource at creation. This value should be identical to the value of the DataSourceId in the request.

                                                                    + *

                                                                    The number of data files referenced by the DataSource.

                                                                    */ - DataSourceId?: string; + NumberOfFiles?: number; /** *

                                                                    The AWS user account from which the DataSource was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                    @@ -3070,26 +3063,26 @@ export interface GetDataSourceOutput { Message?: string; /** - *

                                                                    The total size of observations in the data files.

                                                                    + *

                                                                    The schema used by all of the data files of this DataSource.

                                                                    + *

                                                                    + * Note: This parameter is provided as part of the verbose format.

                                                                    */ - DataSizeInBytes?: number; + DataSourceSchema?: string; /** - *

                                                                    - * The parameter is true if statistics need to be generated from the observation data. - *

                                                                    + *

                                                                    The ID assigned to the DataSource at creation. This value should be identical to the value of the DataSourceId in the request.

                                                                    */ - ComputeStatistics?: boolean; + DataSourceId?: string; /** - *

                                                                    The epoch time when Amazon Machine Learning marked the DataSource as COMPLETED or FAILED. FinishedAt is only available when the DataSource is in the COMPLETED or FAILED state.

                                                                    + *

                                                                    A user-supplied name or description of the DataSource.

                                                                    */ - FinishedAt?: Date; + Name?: string; /** - *

                                                                    A link to the file containing logs of CreateDataSourceFrom* operations.

                                                                    + *

                                                                    The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the DataSource, normalized and scaled on computation resources. ComputeTime is only available if the DataSource is in the COMPLETED state and the ComputeStatistics is set to true.

                                                                    */ - LogUri?: string; + ComputeTime?: number; /** *

                                                                    The current status of the DataSource. This element can have one of the following values:

                                                                    @@ -3119,45 +3112,52 @@ export interface GetDataSourceOutput { Status?: EntityStatus | string; /** - *

                                                                    The datasource details that are specific to Amazon RDS.

                                                                    + *

                                                                    The epoch time when Amazon Machine Learning marked the DataSource as COMPLETED or FAILED. FinishedAt is only available when the DataSource is in the COMPLETED or FAILED state.

                                                                    */ - RDSMetadata?: RDSMetadata; + FinishedAt?: Date; /** - *

                                                                    The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                                    + *

                                                                    The epoch time when Amazon Machine Learning marked the DataSource as INPROGRESS. StartedAt isn't available if the DataSource is in the PENDING state.

                                                                    */ - DataLocationS3?: string; + StartedAt?: Date; /** - *

                                                                    Describes the DataSource details specific to Amazon Redshift.

                                                                    + *

                                                                    A link to the file containing logs of CreateDataSourceFrom* operations.

                                                                    */ - RedshiftMetadata?: RedshiftMetadata; + LogUri?: string; /** - *

                                                                    The number of data files referenced by the DataSource.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of an AWS IAM Role, such as the following: arn:aws:iam::account:role/rolename.

                                                                    */ - NumberOfFiles?: number; + RoleARN?: string; /** - *

                                                                    The Amazon Resource Name (ARN) of an AWS IAM Role, such as the following: arn:aws:iam::account:role/rolename.

                                                                    + *

                                                                    A JSON string that represents the splitting and rearrangement requirement used when this DataSource + * was created.

                                                                    */ - RoleARN?: string; + DataRearrangement?: string; /** - *

                                                                    The time that the DataSource was created. The time is expressed in epoch time.

                                                                    + *

                                                                    + * The parameter is true if statistics need to be generated from the observation data. + *

                                                                    */ - CreatedAt?: Date; + ComputeStatistics?: boolean; /** - *

                                                                    A JSON string that represents the splitting and rearrangement requirement used when this DataSource - * was created.

                                                                    + *

                                                                    The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                                    */ - DataRearrangement?: string; + DataLocationS3?: string; /** - *

                                                                    The time of the most recent edit to the DataSource. The time is expressed in epoch time.

                                                                    + *

                                                                    The total size of observations in the data files.

                                                                    */ - LastUpdatedAt?: Date; + DataSizeInBytes?: number; + + /** + *

                                                                    The datasource details that are specific to Amazon RDS.

                                                                    + */ + RDSMetadata?: RDSMetadata; } export namespace GetDataSourceOutput { @@ -3184,49 +3184,9 @@ export namespace GetEvaluationInput { */ export interface GetEvaluationOutput { /** - *

                                                                    The evaluation ID which is same as the EvaluationId in the request.

                                                                    - */ - EvaluationId?: string; - - /** - *

                                                                    The epoch time when Amazon Machine Learning marked the Evaluation as INPROGRESS. StartedAt isn't available if the Evaluation is in the PENDING state.

                                                                    - */ - StartedAt?: Date; - - /** - *

                                                                    A user-supplied name or description of the Evaluation.

                                                                    - */ - Name?: string; - - /** - *

                                                                    The AWS user account that invoked the evaluation. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                    - */ - CreatedByIamUser?: string; - - /** - *

                                                                    A description of the most recent details about evaluating the MLModel.

                                                                    - */ - Message?: string; - - /** - *

                                                                    The DataSource used for this evaluation.

                                                                    - */ - EvaluationDataSourceId?: string; - - /** - *

                                                                    The epoch time when Amazon Machine Learning marked the Evaluation as COMPLETED or FAILED. FinishedAt is only available when the Evaluation is in the COMPLETED or FAILED state.

                                                                    - */ - FinishedAt?: Date; - - /** - *

                                                                    The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the Evaluation, normalized and scaled on computation resources. ComputeTime is only available if the Evaluation is in the COMPLETED state.

                                                                    - */ - ComputeTime?: number; - - /** - *

                                                                    The time that the Evaluation was created. The time is expressed in epoch time.

                                                                    + *

                                                                    The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                                    */ - CreatedAt?: Date; + InputDataLocationS3?: string; /** *

                                                                    The time of the most recent edit to the Evaluation. The time is expressed in epoch time.

                                                                    @@ -3238,11 +3198,6 @@ export interface GetEvaluationOutput { */ MLModelId?: string; - /** - *

                                                                    The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                                    - */ - InputDataLocationS3?: string; - /** *

                                                                    Measurements of how well the MLModel performed using observations referenced by the DataSource. One of the following metric is returned based on the type of the MLModel: *

                                                                    @@ -3261,7 +3216,32 @@ export interface GetEvaluationOutput { * For more information about performance metrics, please see the Amazon Machine Learning Developer Guide. *

                                                                    */ - PerformanceMetrics?: PerformanceMetrics; + PerformanceMetrics?: PerformanceMetrics; + + /** + *

                                                                    A user-supplied name or description of the Evaluation.

                                                                    + */ + Name?: string; + + /** + *

                                                                    A description of the most recent details about evaluating the MLModel.

                                                                    + */ + Message?: string; + + /** + *

                                                                    The epoch time when Amazon Machine Learning marked the Evaluation as INPROGRESS. StartedAt isn't available if the Evaluation is in the PENDING state.

                                                                    + */ + StartedAt?: Date; + + /** + *

                                                                    The evaluation ID which is same as the EvaluationId in the request.

                                                                    + */ + EvaluationId?: string; + + /** + *

                                                                    The DataSource used for this evaluation.

                                                                    + */ + EvaluationDataSourceId?: string; /** *

                                                                    The status of the evaluation. This element can have one of the following values:

                                                                    @@ -3290,10 +3270,30 @@ export interface GetEvaluationOutput { */ Status?: EntityStatus | string; + /** + *

                                                                    The time that the Evaluation was created. The time is expressed in epoch time.

                                                                    + */ + CreatedAt?: Date; + /** *

                                                                    A link to the file that contains logs of the CreateEvaluation operation.

                                                                    */ LogUri?: string; + + /** + *

                                                                    The epoch time when Amazon Machine Learning marked the Evaluation as COMPLETED or FAILED. FinishedAt is only available when the Evaluation is in the COMPLETED or FAILED state.

                                                                    + */ + FinishedAt?: Date; + + /** + *

                                                                    The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the Evaluation, normalized and scaled on computation resources. ComputeTime is only available if the Evaluation is in the COMPLETED state.

                                                                    + */ + ComputeTime?: number; + + /** + *

                                                                    The AWS user account that invoked the evaluation. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                    + */ + CreatedByIamUser?: string; } export namespace GetEvaluationOutput { @@ -3303,17 +3303,17 @@ export namespace GetEvaluationOutput { } export interface GetMLModelInput { + /** + *

                                                                    The ID assigned to the MLModel at creation.

                                                                    + */ + MLModelId: string | undefined; + /** *

                                                                    Specifies whether the GetMLModel operation should return Recipe.

                                                                    *

                                                                    If true, Recipe is returned.

                                                                    *

                                                                    If false, Recipe is not returned.

                                                                    */ Verbose?: boolean; - - /** - *

                                                                    The ID assigned to the MLModel at creation.

                                                                    - */ - MLModelId: string | undefined; } export namespace GetMLModelInput { @@ -3326,67 +3326,6 @@ export namespace GetMLModelInput { *

                                                                    Represents the output of a GetMLModel operation, and provides detailed information about a MLModel.

                                                                    */ export interface GetMLModelOutput { - /** - *

                                                                    The recipe to use when training the MLModel. The Recipe - * provides detailed information about the observation data to use during training, and - * manipulations to perform on the observation data during training.

                                                                    - *

                                                                    - * Note: This parameter is provided as part of the verbose format.

                                                                    - */ - Recipe?: string; - - /** - *

                                                                    A user-supplied name or description of the MLModel.

                                                                    - */ - Name?: string; - - /** - *

                                                                    A description of the most recent details about accessing the MLModel.

                                                                    - */ - Message?: string; - - /** - *

                                                                    The AWS user account from which the MLModel was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                    - */ - CreatedByIamUser?: string; - - /** - *

                                                                    The MLModel ID, - * which is same as the MLModelId in the request.

                                                                    - */ - MLModelId?: string; - - /** - *

                                                                    The time of the most recent edit to the MLModel. The time is expressed in epoch time.

                                                                    - */ - LastUpdatedAt?: Date; - - /** - *

                                                                    The time of the most recent edit to the ScoreThreshold. The time is expressed in epoch time.

                                                                    - */ - ScoreThresholdLastUpdatedAt?: Date; - - /** - *

                                                                    The time that the MLModel was created. The time is expressed in epoch time.

                                                                    - */ - CreatedAt?: Date; - - /** - *

                                                                    The current endpoint of the MLModel - *

                                                                    - */ - EndpointInfo?: RealtimeEndpointInfo; - - /** - *

                                                                    The ID of the training DataSource.

                                                                    - */ - TrainingDataSourceId?: string; - - /** - *

                                                                    Long integer type that is a 64-bit signed number.

                                                                    - */ - SizeInBytes?: number; - /** *

                                                                    Identifies the MLModel category. The following are the available types:

                                                                    *
                                                                      @@ -3453,19 +3392,25 @@ export interface GetMLModelOutput { TrainingParameters?: { [key: string]: string }; /** - *

                                                                      The scoring threshold is used in binary classification MLModel - * models. It marks the boundary between a positive prediction and a - * negative prediction.

                                                                      - *

                                                                      Output values greater than or equal to the threshold receive a positive result from the MLModel, such as - * true. Output values less than the threshold receive a negative response from the MLModel, - * such as false.

                                                                      + *

                                                                      The current endpoint of the MLModel + *

                                                                      */ - ScoreThreshold?: number; + EndpointInfo?: RealtimeEndpointInfo; /** - *

                                                                      A link to the file that contains logs of the CreateMLModel operation.

                                                                      + *

                                                                      The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                                      */ - LogUri?: string; + InputDataLocationS3?: string; + + /** + *

                                                                      Long integer type that is a 64-bit signed number.

                                                                      + */ + SizeInBytes?: number; + + /** + *

                                                                      The time of the most recent edit to the ScoreThreshold. The time is expressed in epoch time.

                                                                      + */ + ScoreThresholdLastUpdatedAt?: Date; /** *

                                                                      The schema used by all of the data files referenced by the DataSource.

                                                                      @@ -3475,14 +3420,44 @@ export interface GetMLModelOutput { Schema?: string; /** - *

                                                                      The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the MLModel, normalized and scaled on computation resources. ComputeTime is only available if the MLModel is in the COMPLETED state.

                                                                      + *

                                                                      A link to the file that contains logs of the CreateMLModel operation.

                                                                      */ - ComputeTime?: number; + LogUri?: string; /** - *

                                                                      The epoch time when Amazon Machine Learning marked the MLModel as COMPLETED or FAILED. FinishedAt is only available when the MLModel is in the COMPLETED or FAILED state.

                                                                      + *

                                                                      The MLModel ID, + * which is same as the MLModelId in the request.

                                                                      */ - FinishedAt?: Date; + MLModelId?: string; + + /** + *

                                                                      A description of the most recent details about accessing the MLModel.

                                                                      + */ + Message?: string; + + /** + *

                                                                      The recipe to use when training the MLModel. The Recipe + * provides detailed information about the observation data to use during training, and + * manipulations to perform on the observation data during training.

                                                                      + *

                                                                      + * Note: This parameter is provided as part of the verbose format.

                                                                      + */ + Recipe?: string; + + /** + *

                                                                      The ID of the training DataSource.

                                                                      + */ + TrainingDataSourceId?: string; + + /** + *

                                                                      A user-supplied name or description of the MLModel.

                                                                      + */ + Name?: string; + + /** + *

                                                                      The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the MLModel, normalized and scaled on computation resources. ComputeTime is only available if the MLModel is in the COMPLETED state.

                                                                      + */ + ComputeTime?: number; /** *

                                                                      The current status of the MLModel. This element can have one of the following values:

                                                                      @@ -3514,14 +3489,39 @@ export interface GetMLModelOutput { Status?: EntityStatus | string; /** - *

                                                                      The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

                                                                      + *

                                                                      The epoch time when Amazon Machine Learning marked the MLModel as COMPLETED or FAILED. FinishedAt is only available when the MLModel is in the COMPLETED or FAILED state.

                                                                      */ - InputDataLocationS3?: string; + FinishedAt?: Date; /** *

                                                                      The epoch time when Amazon Machine Learning marked the MLModel as INPROGRESS. StartedAt isn't available if the MLModel is in the PENDING state.

                                                                      */ StartedAt?: Date; + + /** + *

                                                                      The time of the most recent edit to the MLModel. The time is expressed in epoch time.

                                                                      + */ + LastUpdatedAt?: Date; + + /** + *

                                                                      The scoring threshold is used in binary classification MLModel + * models. It marks the boundary between a positive prediction and a + * negative prediction.

                                                                      + *

                                                                      Output values greater than or equal to the threshold receive a positive result from the MLModel, such as + * true. Output values less than the threshold receive a negative response from the MLModel, + * such as false.

                                                                      + */ + ScoreThreshold?: number; + + /** + *

                                                                      The time that the MLModel was created. The time is expressed in epoch time.

                                                                      + */ + CreatedAt?: Date; + + /** + *

                                                                      The AWS user account from which the MLModel was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

                                                                      + */ + CreatedByIamUser?: string; } export namespace GetMLModelOutput { @@ -3536,8 +3536,8 @@ export namespace GetMLModelOutput { export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; $fault: "client"; - message?: string; code?: number; + message?: string; } export namespace LimitExceededException { @@ -3553,14 +3553,14 @@ export interface PredictInput { Record: { [key: string]: string } | undefined; /** - *

                                                                      A unique identifier of the MLModel.

                                                                      + *

                                                                      The predicted endpoint for the input.

                                                                      */ - MLModelId: string | undefined; + PredictEndpoint: string | undefined; /** - *

                                                                      The predicted endpoint for the input.

                                                                      + *

                                                                      A unique identifier of the MLModel.

                                                                      */ - PredictEndpoint: string | undefined; + MLModelId: string | undefined; } export namespace PredictInput { @@ -3621,26 +3621,26 @@ export enum DetailsAttributes { */ export interface Prediction { /** - *

                                                                      Provides any additional details regarding the prediction.

                                                                      + *

                                                                      Provides the raw classification score corresponding to each label.

                                                                      */ - details?: { [key: string]: string }; + predictedScores?: { [key: string]: number }; /** - *

                                                                      The prediction label for either a BINARY or MULTICLASS + *

                                                                      The prediction value for REGRESSION * MLModel.

                                                                      */ - predictedLabel?: string; + predictedValue?: number; /** - *

                                                                      The prediction value for REGRESSION + *

                                                                      The prediction label for either a BINARY or MULTICLASS * MLModel.

                                                                      */ - predictedValue?: number; + predictedLabel?: string; /** - *

                                                                      Provides the raw classification score corresponding to each label.

                                                                      + *

                                                                      Provides any additional details regarding the prediction.

                                                                      */ - predictedScores?: { [key: string]: number }; + details?: { [key: string]: string }; } export namespace Prediction { @@ -3691,14 +3691,14 @@ export namespace PredictOutput { export interface UpdateBatchPredictionInput { /** - *

                                                                      A new user-supplied name or description of the BatchPrediction.

                                                                      + *

                                                                      The ID assigned to the BatchPrediction during creation.

                                                                      */ - BatchPredictionName: string | undefined; + BatchPredictionId: string | undefined; /** - *

                                                                      The ID assigned to the BatchPrediction during creation.

                                                                      + *

                                                                      A new user-supplied name or description of the BatchPrediction.

                                                                      */ - BatchPredictionId: string | undefined; + BatchPredictionName: string | undefined; } export namespace UpdateBatchPredictionInput { @@ -3727,14 +3727,14 @@ export namespace UpdateBatchPredictionOutput { export interface UpdateDataSourceInput { /** - *

                                                                      The ID assigned to the DataSource during creation.

                                                                      + *

                                                                      A new user-supplied name or description of the DataSource that will replace the current description.

                                                                      */ - DataSourceId: string | undefined; + DataSourceName: string | undefined; /** - *

                                                                      A new user-supplied name or description of the DataSource that will replace the current description.

                                                                      + *

                                                                      The ID assigned to the DataSource during creation.

                                                                      */ - DataSourceName: string | undefined; + DataSourceId: string | undefined; } export namespace UpdateDataSourceInput { @@ -3763,14 +3763,14 @@ export namespace UpdateDataSourceOutput { export interface UpdateEvaluationInput { /** - *

                                                                      A new user-supplied name or description of the Evaluation that will replace the current content.

                                                                      + *

                                                                      The ID assigned to the Evaluation during creation.

                                                                      */ - EvaluationName: string | undefined; + EvaluationId: string | undefined; /** - *

                                                                      The ID assigned to the Evaluation during creation.

                                                                      + *

                                                                      A new user-supplied name or description of the Evaluation that will replace the current content.

                                                                      */ - EvaluationId: string | undefined; + EvaluationName: string | undefined; } export namespace UpdateEvaluationInput { @@ -3799,10 +3799,9 @@ export namespace UpdateEvaluationOutput { export interface UpdateMLModelInput { /** - *

                                                                      The ScoreThreshold used in binary classification MLModel that marks the boundary between a positive prediction and a negative prediction.

                                                                      - *

                                                                      Output values greater than or equal to the ScoreThreshold receive a positive result from the MLModel, such as true. Output values less than the ScoreThreshold receive a negative response from the MLModel, such as false.

                                                                      + *

                                                                      The ID assigned to the MLModel during creation.

                                                                      */ - ScoreThreshold?: number; + MLModelId: string | undefined; /** *

                                                                      A user-supplied name or description of the MLModel.

                                                                      @@ -3810,9 +3809,10 @@ export interface UpdateMLModelInput { MLModelName?: string; /** - *

                                                                      The ID assigned to the MLModel during creation.

                                                                      + *

                                                                      The ScoreThreshold used in binary classification MLModel that marks the boundary between a positive prediction and a negative prediction.

                                                                      + *

                                                                      Output values greater than or equal to the ScoreThreshold receive a positive result from the MLModel, such as true. Output values less than the ScoreThreshold receive a negative response from the MLModel, such as false.

                                                                      */ - MLModelId: string | undefined; + ScoreThreshold?: number; } export namespace UpdateMLModelInput { diff --git a/clients/client-macie/models/models_0.ts b/clients/client-macie/models/models_0.ts index 7e1fdcc85e0d..0d27af1d82e3 100644 --- a/clients/client-macie/models/models_0.ts +++ b/clients/client-macie/models/models_0.ts @@ -7,12 +7,11 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; $fault: "client"; + message?: string; /** * Resource type that caused the exception */ resourceType?: string; - - message?: string; } export namespace AccessDeniedException { @@ -66,11 +65,12 @@ export interface InvalidInputException extends __SmithyException, $MetadataBeare */ fieldName?: string; - message?: string; /** * Error code for the exception */ errorCode?: string; + + message?: string; } export namespace InvalidInputException { @@ -86,7 +86,6 @@ export namespace InvalidInputException { export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; $fault: "client"; - message?: string; /** * Error code for the exception */ @@ -96,6 +95,8 @@ export interface LimitExceededException extends __SmithyException, $MetadataBear * Resource type that caused the exception */ resourceType?: string; + + message?: string; } export namespace LimitExceededException { @@ -150,17 +151,17 @@ export interface S3ResourceClassification { */ prefix?: string; - /** - *

                                                                      The classification type that you want to specify for the resource associated with - * Amazon Macie Classic.

                                                                      - */ - classificationType: ClassificationType | undefined; - /** *

                                                                      The name of the S3 bucket that you want to associate with Amazon Macie * Classic.

                                                                      */ bucketName: string | undefined; + + /** + *

                                                                      The classification type that you want to specify for the resource associated with + * Amazon Macie Classic.

                                                                      + */ + classificationType: ClassificationType | undefined; } export namespace S3ResourceClassification { @@ -196,14 +197,14 @@ export namespace AssociateS3ResourcesRequest { */ export interface S3Resource { /** - *

                                                                      The prefix of the S3 bucket.

                                                                      + *

                                                                      The name of the S3 bucket.

                                                                      */ - prefix?: string; + bucketName: string | undefined; /** - *

                                                                      The name of the S3 bucket.

                                                                      + *

                                                                      The prefix of the S3 bucket.

                                                                      */ - bucketName: string | undefined; + prefix?: string; } export namespace S3Resource { @@ -222,14 +223,14 @@ export interface FailedS3Resource { errorCode?: string; /** - *

                                                                      The failed S3 resources.

                                                                      + *

                                                                      The error message of a failed item.

                                                                      */ - failedItem?: S3Resource; + errorMessage?: string; /** - *

                                                                      The error message of a failed item.

                                                                      + *

                                                                      The failed S3 resources.

                                                                      */ - errorMessage?: string; + failedItem?: S3Resource; } export namespace FailedS3Resource { @@ -328,12 +329,6 @@ export namespace DisassociateS3ResourcesResult { } export interface ListMemberAccountsRequest { - /** - *

                                                                      Use this parameter to indicate the maximum number of items that you want in the - * response. The default value is 250.

                                                                      - */ - maxResults?: number; - /** *

                                                                      Use this parameter when paginating results. Set the value of this parameter to null on * your first call to the ListMemberAccounts action. Subsequent calls to the action fill @@ -341,6 +336,12 @@ export interface ListMemberAccountsRequest { * listing data.

                                                                      */ nextToken?: string; + + /** + *

                                                                      Use this parameter to indicate the maximum number of items that you want in the + * response. The default value is 250.

                                                                      + */ + maxResults?: number; } export namespace ListMemberAccountsRequest { @@ -394,18 +395,18 @@ export interface ListS3ResourcesRequest { */ memberAccountId?: string; + /** + *

                                                                      Use this parameter to indicate the maximum number of items that you want in the + * response. The default value is 250.

                                                                      + */ + maxResults?: number; + /** *

                                                                      Use this parameter when paginating results. Set its value to null on your first call to * the ListS3Resources action. Subsequent calls to the action fill nextToken in the request with * the value of nextToken from the previous response to continue listing data.

                                                                      */ nextToken?: string; - - /** - *

                                                                      Use this parameter to indicate the maximum number of items that you want in the - * response. The default value is 250.

                                                                      - */ - maxResults?: number; } export namespace ListS3ResourcesRequest { @@ -441,10 +442,9 @@ export namespace ListS3ResourcesResult { */ export interface S3ResourceClassificationUpdate { /** - *

                                                                      The classification type that you want to update for the resource associated with Amazon - * Macie Classic.

                                                                      + *

                                                                      The prefix of the S3 bucket whose classification types you want to update.

                                                                      */ - classificationTypeUpdate: ClassificationTypeUpdate | undefined; + prefix?: string; /** *

                                                                      The name of the S3 bucket whose classification types you want to update.

                                                                      @@ -452,9 +452,10 @@ export interface S3ResourceClassificationUpdate { bucketName: string | undefined; /** - *

                                                                      The prefix of the S3 bucket whose classification types you want to update.

                                                                      + *

                                                                      The classification type that you want to update for the resource associated with Amazon + * Macie Classic.

                                                                      */ - prefix?: string; + classificationTypeUpdate: ClassificationTypeUpdate | undefined; } export namespace S3ResourceClassificationUpdate { @@ -464,16 +465,16 @@ export namespace S3ResourceClassificationUpdate { } export interface UpdateS3ResourcesRequest { - /** - *

                                                                      The S3 resources whose classification types you want to update.

                                                                      - */ - s3ResourcesUpdate: S3ResourceClassificationUpdate[] | undefined; - /** *

                                                                      The AWS ID of the Amazon Macie Classic member account whose S3 resources' * classification types you want to update.

                                                                      */ memberAccountId?: string; + + /** + *

                                                                      The S3 resources whose classification types you want to update.

                                                                      + */ + s3ResourcesUpdate: S3ResourceClassificationUpdate[] | undefined; } export namespace UpdateS3ResourcesRequest { diff --git a/clients/client-macie2/Macie2.ts b/clients/client-macie2/Macie2.ts index 24fc10ad78de..6fd7ae06b17b 100644 --- a/clients/client-macie2/Macie2.ts +++ b/clients/client-macie2/Macie2.ts @@ -683,7 +683,7 @@ export class Macie2 extends Macie2Client { } /** - *

                                                                      Retrieves information about the status and settings for a classification job.

                                                                      + *

                                                                      Retrieves the status and settings for a classification job.

                                                                      */ public describeClassificationJob( args: DescribeClassificationJobCommandInput, @@ -715,7 +715,7 @@ export class Macie2 extends Macie2Client { } /** - *

                                                                      Retrieves information about the Amazon Macie configuration settings for an AWS organization.

                                                                      + *

                                                                      Retrieves the Amazon Macie configuration settings for an AWS organization.

                                                                      */ public describeOrganizationConfiguration( args: DescribeOrganizationConfigurationCommandInput, @@ -994,7 +994,7 @@ export class Macie2 extends Macie2Client { } /** - *

                                                                      Retrieves information about the criteria and other settings for a custom data identifier.

                                                                      + *

                                                                      Retrieves the criteria and other settings for a custom data identifier.

                                                                      */ public getCustomDataIdentifier( args: GetCustomDataIdentifierCommandInput, @@ -1026,7 +1026,7 @@ export class Macie2 extends Macie2Client { } /** - *

                                                                      Retrieves information about one or more findings.

                                                                      + *

                                                                      Retrieves the details of one or more findings.

                                                                      */ public getFindings(args: GetFindingsCommandInput, options?: __HttpHandlerOptions): Promise; public getFindings(args: GetFindingsCommandInput, cb: (err: any, data?: GetFindingsCommandOutput) => void): void; @@ -1052,7 +1052,7 @@ export class Macie2 extends Macie2Client { } /** - *

                                                                      Retrieves information about the criteria and other settings for a findings filter.

                                                                      + *

                                                                      Retrieves the criteria and other settings for a findings filter.

                                                                      */ public getFindingsFilter( args: GetFindingsFilterCommandInput, @@ -1148,7 +1148,7 @@ export class Macie2 extends Macie2Client { } /** - *

                                                                      Retrieves information about the current status and configuration settings for an Amazon Macie account.

                                                                      + *

                                                                      Retrieves the current status and configuration settings for an Amazon Macie account.

                                                                      */ public getMacieSession( args: GetMacieSessionCommandInput, @@ -1671,7 +1671,7 @@ export class Macie2 extends Macie2Client { } /** - *

                                                                      Cancels a classification job.

                                                                      + *

                                                                      Changes the status of a classification job.

                                                                      */ public updateClassificationJob( args: UpdateClassificationJobCommandInput, diff --git a/clients/client-macie2/index.ts b/clients/client-macie2/index.ts index c84f041888be..e8eafe08d72a 100644 --- a/clients/client-macie2/index.ts +++ b/clients/client-macie2/index.ts @@ -14,6 +14,7 @@ export * from "./commands/DeleteFindingsFilterCommand"; export * from "./commands/DeleteInvitationsCommand"; export * from "./commands/DeleteMemberCommand"; export * from "./commands/DescribeBucketsCommand"; +export * from "./pagination/DescribeBucketsPaginator"; export * from "./commands/DescribeClassificationJobCommand"; export * from "./commands/DescribeOrganizationConfigurationCommand"; export * from "./commands/DisableMacieCommand"; @@ -33,14 +34,22 @@ export * from "./commands/GetMacieSessionCommand"; export * from "./commands/GetMasterAccountCommand"; export * from "./commands/GetMemberCommand"; export * from "./commands/GetUsageStatisticsCommand"; +export * from "./pagination/GetUsageStatisticsPaginator"; export * from "./commands/GetUsageTotalsCommand"; export * from "./commands/ListClassificationJobsCommand"; +export * from "./pagination/ListClassificationJobsPaginator"; export * from "./commands/ListCustomDataIdentifiersCommand"; +export * from "./pagination/ListCustomDataIdentifiersPaginator"; export * from "./commands/ListFindingsCommand"; +export * from "./pagination/ListFindingsPaginator"; export * from "./commands/ListFindingsFiltersCommand"; +export * from "./pagination/ListFindingsFiltersPaginator"; export * from "./commands/ListInvitationsCommand"; +export * from "./pagination/ListInvitationsPaginator"; export * from "./commands/ListMembersCommand"; +export * from "./pagination/ListMembersPaginator"; export * from "./commands/ListOrganizationAdminAccountsCommand"; +export * from "./pagination/ListOrganizationAdminAccountsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/PutClassificationExportConfigurationCommand"; export * from "./commands/TagResourceCommand"; @@ -51,4 +60,5 @@ export * from "./commands/UpdateFindingsFilterCommand"; export * from "./commands/UpdateMacieSessionCommand"; export * from "./commands/UpdateMemberSessionCommand"; export * from "./commands/UpdateOrganizationConfigurationCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-macie2/models/models_0.ts b/clients/client-macie2/models/models_0.ts index e1e40f0bb0d7..eac02b15a5ab 100644 --- a/clients/client-macie2/models/models_0.ts +++ b/clients/client-macie2/models/models_0.ts @@ -32,34 +32,34 @@ export namespace AdminAccount { */ export interface BatchGetCustomDataIdentifierSummary { /** - *

                                                                      The Amazon Resource Name (ARN) of the custom data identifier.

                                                                      + *

                                                                      The custom name of the custom data identifier.

                                                                      */ - arn?: string; + name?: string; /** - *

                                                                      The unique identifier for the custom data identifier.

                                                                      + *

                                                                      The custom description of the custom data identifier.

                                                                      */ - id?: string; + description?: string; /** - *

                                                                      Specifies whether the custom data identifier was deleted. If you delete a custom data identifier, Amazon Macie doesn't delete it permanently. Instead, it soft deletes the identifier.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the custom data identifier.

                                                                      */ - deleted?: boolean; + arn?: string; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

                                                                      + *

                                                                      Specifies whether the custom data identifier was deleted. If you delete a custom data identifier, Amazon Macie doesn't delete it permanently. Instead, it soft deletes the identifier.

                                                                      */ - createdAt?: Date; + deleted?: boolean; /** - *

                                                                      The custom description of the custom data identifier.

                                                                      + *

                                                                      The unique identifier for the custom data identifier.

                                                                      */ - description?: string; + id?: string; /** - *

                                                                      The custom name of the custom data identifier.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

                                                                      */ - name?: string; + createdAt?: Date; } export namespace BatchGetCustomDataIdentifierSummary { @@ -73,24 +73,24 @@ export namespace BatchGetCustomDataIdentifierSummary { */ export interface ObjectCountByEncryptionType { /** - *

                                                                      The total number of objects that aren't encrypted or use client-side 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 KMS AWS-managed (AWS-KMS) encryption or AWS KMS customer-managed (SSE-KMS) encryption.

                                                                      */ - unencrypted?: number; + kmsManaged?: number; /** - *

                                                                      The total number of objects that are encrypted using a customer-managed key. The objects use customer-provided server-side (SSE-C) encryption.

                                                                      + *

                                                                      The total number of objects that are encrypted using an Amazon S3-managed key. The objects use Amazon S3-managed (SSE-S3) encryption.

                                                                      */ - customerManaged?: number; + s3Managed?: 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 a customer-managed key. The objects use customer-provided server-side (SSE-C) encryption.

                                                                      */ - s3Managed?: number; + 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 aren't encrypted or use client-side encryption.

                                                                      */ - kmsManaged?: number; + unencrypted?: number; } export namespace ObjectCountByEncryptionType { @@ -102,6 +102,7 @@ export namespace ObjectCountByEncryptionType { export enum EffectivePermission { NOT_PUBLIC = "NOT_PUBLIC", PUBLIC = "PUBLIC", + UNKNOWN = "UNKNOWN", } /** @@ -109,9 +110,9 @@ export enum EffectivePermission { */ export interface BlockPublicAccess { /** - *

                                                                      Specifies whether Amazon S3 restricts public bucket policies for the bucket.

                                                                      + *

                                                                      Specifies whether Amazon S3 ignores public ACLs for the bucket and objects in the bucket.

                                                                      */ - restrictPublicBuckets?: boolean; + ignorePublicAcls?: boolean; /** *

                                                                      Specifies whether Amazon S3 blocks public access control lists (ACLs) for the bucket and objects in the bucket.

                                                                      @@ -119,9 +120,9 @@ export interface BlockPublicAccess { blockPublicAcls?: boolean; /** - *

                                                                      Specifies whether Amazon S3 ignores public ACLs for the bucket and objects in the bucket.

                                                                      + *

                                                                      Specifies whether Amazon S3 restricts public bucket policies for the bucket.

                                                                      */ - ignorePublicAcls?: boolean; + restrictPublicBuckets?: boolean; /** *

                                                                      Specifies whether Amazon S3 blocks public bucket policies for the bucket.

                                                                      @@ -194,9 +195,14 @@ export namespace BucketPolicy { } /** - *

                                                                      Provides information about bucket-level permissions settings for an S3 bucket.

                                                                      + *

                                                                      Provides information about the bucket-level permissions settings for an S3 bucket.

                                                                      */ export interface BucketLevelPermissions { + /** + *

                                                                      The permissions settings of the bucket policy for the bucket. This value is null if a bucket policy hasn't been defined for the bucket.

                                                                      + */ + bucketPolicy?: BucketPolicy; + /** *

                                                                      The permissions settings of the access control list (ACL) for the bucket. This value is null if an ACL hasn't been defined for the bucket.

                                                                      */ @@ -206,11 +212,6 @@ export interface BucketLevelPermissions { *

                                                                      The block public access settings for the bucket.

                                                                      */ blockPublicAccess?: BlockPublicAccess; - - /** - *

                                                                      The permissions settings of the bucket policy for the bucket. This value is null if a bucket policy hasn't been defined for the bucket.

                                                                      - */ - bucketPolicy?: BucketPolicy; } export namespace BucketLevelPermissions { @@ -220,18 +221,18 @@ export namespace BucketLevelPermissions { } /** - *

                                                                      The account-level and bucket-level permissions settings for an S3 bucket.

                                                                      + *

                                                                      Provides information about the account-level and bucket-level permissions settings for an S3 bucket.

                                                                      */ export interface BucketPermissionConfiguration { /** - *

                                                                      The bucket-level permissions settings for the bucket.

                                                                      + *

                                                                      The account-level permissions settings that apply to the bucket.

                                                                      */ - bucketLevelPermissions?: BucketLevelPermissions; + accountLevelPermissions?: AccountLevelPermissions; /** - *

                                                                      The account-level permissions settings that apply to the bucket.

                                                                      + *

                                                                      The bucket-level permissions settings for the bucket.

                                                                      */ - accountLevelPermissions?: AccountLevelPermissions; + bucketLevelPermissions?: BucketLevelPermissions; } export namespace BucketPermissionConfiguration { @@ -241,18 +242,18 @@ export namespace BucketPermissionConfiguration { } /** - *

                                                                      Provides information about permissions settings that determine whether an S3 bucket is publicly accessible.

                                                                      + *

                                                                      Provides information about the permissions settings that determine whether an S3 bucket is publicly accessible.

                                                                      */ export interface BucketPublicAccess { /** - *

                                                                      Specifies whether the bucket is publicly accessible due to the combination of permissions settings that apply to the bucket. Possible values are: PUBLIC, the bucket is publicly accessible; and, NOT_PUBLIC, the bucket isn't publicly accessible.

                                                                      + *

                                                                      The account-level and bucket-level permissions for the bucket.

                                                                      */ - effectivePermission?: EffectivePermission | string; + permissionConfiguration?: BucketPermissionConfiguration; /** - *

                                                                      The account-level and bucket-level permissions for the bucket.

                                                                      + *

                                                                      Specifies whether the bucket is publicly accessible due to the combination of permissions settings that apply to the bucket. Possible values are:

                                                                      • NOT_PUBLIC - The bucket isn't publicly accessible.

                                                                      • PUBLIC - The bucket is publicly accessible.

                                                                      • UNKNOWN - Amazon Macie can't determine whether the bucket is publicly accessible.

                                                                      */ - permissionConfiguration?: BucketPermissionConfiguration; + effectivePermission?: EffectivePermission | string; } export namespace BucketPublicAccess { @@ -266,12 +267,7 @@ export namespace BucketPublicAccess { */ export interface ReplicationDetails { /** - *

                                                                      Specifies whether the bucket is configured to replicate one or more objects to any destination.

                                                                      - */ - replicated?: boolean; - - /** - *

                                                                      Specifies whether the bucket is configured to replicate one or more objects to an AWS account that isn't part of the Amazon Macie organization.

                                                                      + *

                                                                      Specifies whether the bucket is configured to replicate one or more objects to an AWS account that isn't part of the same Amazon Macie organization.

                                                                      */ replicatedExternally?: boolean; @@ -279,6 +275,11 @@ export interface ReplicationDetails { *

                                                                      An array of AWS account IDs, one for each AWS account that the bucket is configured to replicate one or more objects to.

                                                                      */ replicationAccounts?: string[]; + + /** + *

                                                                      Specifies whether the bucket is configured to replicate one or more objects to any destination.

                                                                      + */ + replicated?: boolean; } export namespace ReplicationDetails { @@ -291,6 +292,7 @@ export enum SharedAccess { EXTERNAL = "EXTERNAL", INTERNAL = "INTERNAL", NOT_SHARED = "NOT_SHARED", + UNKNOWN = "UNKNOWN", } /** @@ -315,88 +317,129 @@ export namespace KeyValuePair { } /** - *

                                                                      Provides information about an S3 bucket that Amazon Macie monitors and analyzes.

                                                                      + *

                                                                      Provides information about the total storage size (in bytes) or number of objects that Amazon Macie can't analyze in one or more S3 buckets. In a BucketMetadata object, this data is for a specific bucket. In a GetBucketStatisticsResponse object, this data is aggregated for all the buckets in the query results.

                                                                      */ -export interface BucketMetadata { +export interface ObjectLevelStatistics { /** - *

                                                                      The total number of objects in the bucket.

                                                                      + *

                                                                      The total storage size (in bytes) or number of objects that Amazon Macie can't analyze because the objects use an unsupported storage class or don't have a file name extension for a supported file or storage format.

                                                                      */ - objectCount?: number; + total?: number; /** - *

                                                                      The total number of objects that Amazon Macie can analyze in the bucket. These objects use a file format, file extension, or content type that Amazon Macie supports.

                                                                      + *

                                                                      The total storage size (in bytes) or number of objects that Amazon Macie can't analyze because the objects use an unsupported storage class.

                                                                      */ - classifiableObjectCount?: number; + storageClass?: number; /** - *

                                                                      The total storage size, in bytes, of the bucket.

                                                                      + *

                                                                      The total storage size (in bytes) or number of objects that Amazon Macie can't analyze because the objects don't have a file name extension for a supported file or storage format.

                                                                      */ - sizeInBytes?: number; + fileType?: number; +} +export namespace ObjectLevelStatistics { + export const filterSensitiveLog = (obj: ObjectLevelStatistics): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Provides information about an S3 bucket that Amazon Macie monitors and analyzes.

                                                                      + */ +export interface BucketMetadata { /** - *

                                                                      Specifies whether the bucket is shared with another AWS account. Valid values are:

                                                                      • EXTERNAL - The bucket is shared with an AWS account that isn’t part of the same Amazon Macie organization.

                                                                      • INTERNAL - The bucket is shared with an AWS account that's part of the same Amazon Macie organization.

                                                                      • NOT_SHARED - The bucket isn't shared with other AWS accounts.

                                                                      + *

                                                                      Specifies whether the bucket is shared with another AWS account. Possible values are:

                                                                      • EXTERNAL - The bucket is shared with an AWS account that isn't part of the same Amazon Macie organization.

                                                                      • INTERNAL - The bucket is shared with an AWS account that's part of the same Amazon Macie organization.

                                                                      • NOT_SHARED - The bucket isn't shared with other AWS accounts.

                                                                      • UNKNOWN - Amazon Macie wasn't able to evaluate the shared access settings for the bucket.

                                                                      */ sharedAccess?: SharedAccess | string; /** - *

                                                                      The name of the bucket.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when Amazon Macie most recently retrieved data about the bucket from Amazon S3.

                                                                      */ - bucketName?: string; + lastUpdated?: Date; /** - *

                                                                      The total number of objects that are in the bucket, grouped by server-side encryption type. This includes a grouping that reports the total number of objects that aren't encrypted or use client-side encryption.

                                                                      + *

                                                                      The total number of objects that Amazon Macie can analyze in the bucket. These objects use a supported storage class and have a file name extension for a supported file or storage format.

                                                                      */ - objectCountByEncryptionType?: ObjectCountByEncryptionType; + classifiableObjectCount?: number; /** - *

                                                                      Specifies whether the bucket is configured to replicate one or more objects to buckets for other AWS accounts and, if so, which accounts.

                                                                      + *

                                                                      The total number of objects in the bucket.

                                                                      */ - replicationDetails?: ReplicationDetails; + objectCount?: number; /** *

                                                                      The AWS Region that hosts the bucket.

                                                                      */ region?: string; - /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the bucket was created.

                                                                      - */ - bucketCreatedAt?: Date; - /** *

                                                                      The total compressed storage size, in bytes, of the bucket.

                                                                      */ sizeInBytesCompressed?: number; /** - *

                                                                      The unique identifier for the AWS account that's associated with the bucket.

                                                                      + *

                                                                      The total storage size, in bytes, of the objects that Amazon Macie can't analyze in the bucket. These objects don't use a supported storage class or don't have a file name extension for a supported file or storage format.

                                                                      */ - accountId?: string; + unclassifiableObjectSizeInBytes?: ObjectLevelStatistics; /** - *

                                                                      The Amazon Resource Name (ARN) of the bucket.

                                                                      + *

                                                                      The unique identifier for the AWS account that owns the bucket.

                                                                      */ - bucketArn?: string; + accountId?: string; /** *

                                                                      An array that specifies the tags (keys and values) that are associated with the bucket.

                                                                      */ tags?: KeyValuePair[]; + /** + *

                                                                      The total number of objects that Amazon Macie can't analyze in the bucket. These objects don't use a supported storage class or don't have a file name extension for a supported file or storage format.

                                                                      + */ + unclassifiableObjectCount?: ObjectLevelStatistics; + + /** + *

                                                                      Specifies whether the bucket is configured to replicate one or more objects to buckets for other AWS accounts and, if so, which accounts.

                                                                      + */ + replicationDetails?: ReplicationDetails; + + /** + *

                                                                      The name of the bucket.

                                                                      + */ + bucketName?: string; + /** *

                                                                      Specifies whether the bucket is publicly accessible. If this value is true, an access control list (ACL), bucket policy, or block public access settings allow the bucket to be accessed by the general public.

                                                                      */ publicAccess?: BucketPublicAccess; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when Amazon Macie last analyzed the bucket.

                                                                      + *

                                                                      The total number of objects that are in the bucket, grouped by server-side encryption type. This includes a grouping that reports the total number of objects that aren't encrypted or use client-side encryption.

                                                                      */ - lastUpdated?: Date; + objectCountByEncryptionType?: ObjectCountByEncryptionType; + + /** + *

                                                                      The total storage size, in bytes, of the bucket.

                                                                      + */ + sizeInBytes?: number; + + /** + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the bucket was created.

                                                                      + */ + bucketCreatedAt?: Date; /** *

                                                                      Specifies whether versioning is enabled for the bucket.

                                                                      */ versioning?: boolean; + + /** + *

                                                                      The Amazon Resource Name (ARN) of the bucket.

                                                                      + */ + bucketArn?: string; + + /** + *

                                                                      The total storage size, in bytes, of the objects that Amazon Macie can analyze in the bucket. These objects use a supported storage class and have a file name extension for a supported file or storage format.

                                                                      + */ + classifiableSizeInBytes?: number; } export namespace BucketMetadata { @@ -410,19 +453,19 @@ export namespace BucketMetadata { */ export interface CustomDataIdentifierSummary { /** - *

                                                                      The custom name of the custom data identifier.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

                                                                      */ - name?: string; + createdAt?: Date; /** - *

                                                                      The custom description of the custom data identifier.

                                                                      + *

                                                                      The unique identifier for the custom data identifier.

                                                                      */ - description?: string; + id?: string; /** - *

                                                                      The unique identifier for the custom data identifier.

                                                                      + *

                                                                      The custom name of the custom data identifier.

                                                                      */ - id?: string; + name?: string; /** *

                                                                      The Amazon Resource Name (ARN) of the custom data identifier.

                                                                      @@ -430,9 +473,9 @@ export interface CustomDataIdentifierSummary { arn?: string; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

                                                                      + *

                                                                      The custom description of the custom data identifier.

                                                                      */ - createdAt?: Date; + description?: string; } export namespace CustomDataIdentifierSummary { @@ -447,13 +490,148 @@ export enum FindingCategory { } /** - *

                                                                      Provides information about a custom data identifier that produced a sensitive data finding, and the number of occurrences of the data that it detected for the finding.

                                                                      + *

                                                                      Specifies the location of an occurrence of sensitive data in a Microsoft Excel workbook, CSV file, or TSV file.

                                                                      + */ +export interface Cell { + /** + *

                                                                      The row number of the row that contains the data.

                                                                      + */ + row?: number; + + /** + *

                                                                      The column number of the column that contains the data. For a Microsoft Excel workbook, this value correlates to the alphabetical character(s) for a column identifier. For example, 1 for column A, 2 for column B, and so on.

                                                                      + */ + column?: number; + + /** + *

                                                                      The location of the cell, as an absolute cell reference, that contains the data. For example, Sheet2!C5 for cell C5 on Sheet2 in a Microsoft Excel workbook. This value is null for CSV and TSV files.

                                                                      + */ + cellReference?: string; + + /** + *

                                                                      The name of the column that contains the data, if available.

                                                                      + */ + columnName?: string; +} + +export namespace Cell { + export const filterSensitiveLog = (obj: Cell): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Provides details about the location of an occurrence of sensitive data in an Adobe Portable Document Format file, Apache Avro object container, Microsoft Word document, or non-binary text file.

                                                                      + */ +export interface Range { + /** + *

                                                                      The column number for the column that contains the data, if the file contains structured data.

                                                                      + */ + startColumn?: number; + + /** + *

                                                                      Possible values are:

                                                                      • In an Occurrences.lineRanges array, the number of lines from the start of the file.

                                                                      • In an Occurrences.offsetRanges array, the number of characters from the start of the file.

                                                                      • In a Page object, the number of lines (lineRange) or characters (offsetRange) from the start of the page.

                                                                      + */ + start?: number; + + /** + *

                                                                      Possible values are:

                                                                      • In an Occurrences.lineRanges array, the number of lines from the end of the file.

                                                                      • In an Occurrences.offsetRanges array, the number of characters from the end of the file.

                                                                      • In a Page object, the number of lines (lineRange) or characters (offsetRange) from the end of the page.

                                                                      + */ + end?: number; +} + +export namespace Range { + export const filterSensitiveLog = (obj: Range): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Specifies the location of an occurrence of sensitive data in an Adobe Portable Document Format file.

                                                                      + */ +export interface Page { + /** + *

                                                                      The page number of the page that contains the data.

                                                                      + */ + pageNumber?: number; + + /** + *

                                                                      The line that contains the data, and the position of the data on that line.

                                                                      + */ + lineRange?: Range; + + /** + *

                                                                      The position of the data on the page, relative to the start and end of the page.

                                                                      + */ + offsetRange?: Range; +} + +export namespace Page { + export const filterSensitiveLog = (obj: Page): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Specifies the location of an occurrence of sensitive data in an Apache Parquet file.

                                                                      + */ +export interface _Record { + /** + *

                                                                      The row index, starting from 0, for the row that contains the data.

                                                                      + */ + recordIndex?: number; +} + +export namespace _Record { + export const filterSensitiveLog = (obj: _Record): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Provides the location of 1-15 occurrences of sensitive data that was detected by managed data identifiers or a custom data identifier and produced a sensitive data finding.

                                                                      + */ +export interface Occurrences { + /** + *

                                                                      An array of objects, one for each occurrence of sensitive data in an Apache Parquet file. Each object specifies the row that contains the data. This value is null for all other types of files.

                                                                      + */ + records?: _Record[]; + + /** + *

                                                                      An array of objects, one for each occurrence of sensitive data in an Adobe Portable Document Format file. Each object specifies the page that contains the data, and the position of the data on that page. This value is null for all other types of files.

                                                                      + */ + pages?: Page[]; + + /** + *

                                                                      An array of objects, one for each occurrence of sensitive data in an Apache Avro object container, Microsoft Word document, or non-binary text file, such as an HTML, JSON, TXT, or XML file. Each object specifies the line that contains the data, and the position of the data on that line.

                                                                      This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions are the locations of: full names and addresses in a Microsoft Excel workbook, CSV file, or TSV file; data in unstructured sections of an otherwise structured file, such as a comment in a file; and, data in a malformed file that Amazon Macie analyzes as plain text.

                                                                      + */ + lineRanges?: Range[]; + + /** + *

                                                                      An array of objects, one for each occurrence of sensitive data in a Microsoft Excel workbook, CSV file, or TSV file. Each object specifies the cell that contains the data. This value is null for all other types of files.

                                                                      + */ + cells?: Cell[]; + + /** + *

                                                                      An array of objects, one for each occurrence of sensitive data in a binary text file. Each object specifies the position of the data relative to the start of the file.

                                                                      This value is typically null. For binary text files, Macie adds location data to a lineRanges.Range or Page object, depending on the file type.

                                                                      + */ + offsetRanges?: Range[]; +} + +export namespace Occurrences { + export const filterSensitiveLog = (obj: Occurrences): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Provides information about a custom data identifier that produced a sensitive data finding, and the sensitive data that it detected for the finding.

                                                                      */ export interface CustomDetection { /** - *

                                                                      The total number of occurrences of the data that the custom data identifier detected for the finding.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the custom data identifier.

                                                                      */ - count?: number; + arn?: string; /** *

                                                                      The name of the custom data identifier.

                                                                      @@ -461,9 +639,14 @@ export interface CustomDetection { name?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the custom data identifier.

                                                                      + *

                                                                      The location of 1-15 occurrences of the sensitive data that the custom data identifier detected. A finding includes location data for a maximum of 15 occurrences of sensitive data.

                                                                      */ - arn?: string; + occurrences?: Occurrences; + + /** + *

                                                                      The total number of occurrences of the sensitive data that the custom data identifier detected.

                                                                      + */ + count?: number; } export namespace CustomDetection { @@ -477,14 +660,14 @@ export namespace CustomDetection { */ export interface CustomDataIdentifiers { /** - *

                                                                      The custom data identifiers that detected the data, and the number of occurrences of the data that each identifier detected.

                                                                      + *

                                                                      The total number of occurrences of the data that was detected by the custom data identifiers and produced the finding.

                                                                      */ - detections?: CustomDetection[]; + totalCount?: number; /** - *

                                                                      The total number of occurrences of the data that was detected by the custom data identifiers and produced the finding.

                                                                      + *

                                                                      The custom data identifiers that detected the data, and the number of occurrences of the data that each identifier detected.

                                                                      */ - totalCount?: number; + detections?: CustomDetection[]; } export namespace CustomDataIdentifiers { @@ -501,18 +684,23 @@ export enum SensitiveDataItemCategory { } /** - *

                                                                      Provides information about sensitive data that was detected by managed data identifiers and produced a sensitive data finding.

                                                                      + *

                                                                      Provides information about a type of sensitive data that was detected by managed data identifiers and produced a sensitive data finding.

                                                                      */ export interface DefaultDetection { /** - *

                                                                      The total number of occurrences of the type of data that was detected.

                                                                      + *

                                                                      The type of sensitive data that was detected. For example, AWS_CREDENTIALS, PHONE_NUMBER, or ADDRESS.

                                                                      */ - count?: number; + type?: string; /** - *

                                                                      The type of data that was detected. For example, AWS_CREDENTIALS, PHONE_NUMBER, or ADDRESS.

                                                                      + *

                                                                      The location of 1-15 occurrences of the sensitive data that was detected. A finding includes location data for a maximum of 15 occurrences of sensitive data.

                                                                      */ - type?: string; + occurrences?: Occurrences; + + /** + *

                                                                      The total number of occurrences of the type of sensitive data that was detected.

                                                                      + */ + count?: number; } export namespace DefaultDetection { @@ -522,23 +710,23 @@ export namespace DefaultDetection { } /** - *

                                                                      Provides information about the category, type, and number of occurrences of sensitive data that produced a finding.

                                                                      + *

                                                                      Provides information about the category, types, and occurrences of sensitive data that produced a sensitive data finding.

                                                                      */ export interface SensitiveDataItem { /** - *

                                                                      The total number of occurrences of the sensitive data that was detected.

                                                                      + *

                                                                      The category of sensitive data that was detected. For example: FINANCIAL_INFORMATION, for financial information such as credit card numbers; PERSONAL_INFORMATION, for personally identifiable information, such as full names and mailing addresses, or personal health information; or, CUSTOM_IDENTIFIER, for data that was detected by a custom data identifier.

                                                                      */ - totalCount?: number; + category?: SensitiveDataItemCategory | string; /** - *

                                                                      The category of sensitive data that was detected. For example: FINANCIAL_INFORMATION, for financial information such as credit card numbers; PERSONAL_INFORMATION, for personally identifiable information such as full names and mailing addresses; or, CUSTOM_IDENTIFIER, for data that was detected by a custom data identifier.

                                                                      + *

                                                                      An array of objects, one for each type of sensitive data that was detected. Each object reports the number of occurrences of a specific type of sensitive data that was detected, and the location of up to 15 of those occurrences.

                                                                      */ - category?: SensitiveDataItemCategory | string; + detections?: DefaultDetection[]; /** - *

                                                                      An array of objects, one for each type of sensitive data that was detected. Each object reports the number of occurrences of a specific type of sensitive data that was detected.

                                                                      + *

                                                                      The total number of occurrences of the sensitive data that was detected.

                                                                      */ - detections?: DefaultDetection[]; + totalCount?: number; } export namespace SensitiveDataItem { @@ -552,14 +740,14 @@ export namespace SensitiveDataItem { */ export interface ClassificationResultStatus { /** - *

                                                                      The status of the finding, such as COMPLETE.

                                                                      + *

                                                                      A brief description of the status of the finding. Amazon Macie uses this value to notify you of any errors, warnings, or considerations that might impact your analysis of the finding.

                                                                      */ - code?: string; + reason?: string; /** - *

                                                                      A brief description of the status of the finding. Amazon Macie uses this value to notify you of any errors, warnings, or considerations that might impact your analysis of the finding.

                                                                      + *

                                                                      The status of the finding. Possible values are:

                                                                      • COMPLETE - Amazon Macie successfully completed its analysis of the object that the finding applies to.

                                                                      • PARTIAL - Macie was able to analyze only a subset of the data in the object that the finding applies to. For example, the object is a compressed or archive file that contains files in an unsupported format.

                                                                      • SKIPPED - Macie wasn't able to analyze the object that the finding applies to. For example, the object is a malformed file or a file that uses an unsupported format.

                                                                      */ - reason?: string; + code?: string; } export namespace ClassificationResultStatus { @@ -569,23 +757,28 @@ export namespace ClassificationResultStatus { } /** - *

                                                                      Provides detailed information about a sensitive data finding, including the types and number of occurrences of the sensitive data that was found.

                                                                      + *

                                                                      Provides the details of a sensitive data finding, including the types, number of occurrences, and locations of the sensitive data that was detected.

                                                                      */ export interface ClassificationResult { /** - *

                                                                      The category and number of occurrences of the sensitive data that produced the finding.

                                                                      + *

                                                                      The category, types, and number of occurrences of the sensitive data that produced the finding.

                                                                      */ sensitiveData?: SensitiveDataItem[]; /** - *

                                                                      The type of content, expressed as a MIME type, that the finding applies to. For example, application/gzip, for a GNU Gzip compressed archive file, or application/pdf, for an Adobe PDF file.

                                                                      + *

                                                                      The custom data identifiers that detected the sensitive data and the number of occurrences of the data that they detected.

                                                                      */ - mimeType?: string; + customDataIdentifiers?: CustomDataIdentifiers; /** - *

                                                                      The total size, in bytes, of the data that the finding applies to.

                                                                      + *

                                                                      Specifies whether Amazon Macie detected additional occurrences of sensitive data in the S3 object. A finding includes location data for a maximum of 15 occurrences of sensitive data.

                                                                      This value can help you to determine whether to investigate additional occurrences of sensitive data in an object. You can do this by referring to the corresponding sensitive data discovery result for the finding (ClassificationDetails.detailedResultsLocation).

                                                                      */ - sizeClassified?: number; + additionalOccurrences?: boolean; + + /** + *

                                                                      The type of content, as a MIME type, that the finding applies to. For example, application/gzip, for a GNU Gzip compressed archive file, or application/pdf, for an Adobe Portable Document Format file.

                                                                      + */ + mimeType?: string; /** *

                                                                      The status of the finding.

                                                                      @@ -593,9 +786,9 @@ export interface ClassificationResult { status?: ClassificationResultStatus; /** - *

                                                                      The number of occurrences of the data that produced the finding, and the custom data identifiers that detected the data.

                                                                      + *

                                                                      The total size, in bytes, of the data that the finding applies to.

                                                                      */ - customDataIdentifiers?: CustomDataIdentifiers; + sizeClassified?: number; } export namespace ClassificationResult { @@ -609,19 +802,19 @@ export namespace ClassificationResult { */ export interface ClassificationDetails { /** - *

                                                                      The Amazon Resource Name (ARN) of the classification job that produced the finding.

                                                                      + *

                                                                      The status and other details for the finding.

                                                                      */ - jobArn?: string; + result?: ClassificationResult; /** - *

                                                                      The Amazon Resource Name (ARN) of the file that contains the detailed record, including offsets, for the finding.

                                                                      + *

                                                                      The path to the folder or file (in Amazon S3) that contains the corresponding sensitive data discovery result for the finding. If a finding applies to a large archive or compressed file, this value is the path to a folder. Otherwise, this value is the path to a file.

                                                                      */ detailedResultsLocation?: string; /** - *

                                                                      The status and detailed results of the finding.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the classification job that produced the finding.

                                                                      */ - result?: ClassificationResult; + jobArn?: string; /** *

                                                                      The unique identifier for the classification job that produced the finding.

                                                                      @@ -643,6 +836,11 @@ export enum FindingActionType { *

                                                                      Provides information about an API operation that an entity invoked for an affected resource.

                                                                      */ export interface ApiCallDetails { + /** + *

                                                                      The URL of the AWS service that provides the operation, for example: s3.amazonaws.com.

                                                                      + */ + apiServiceName?: string; + /** *

                                                                      The most recent date and time, in UTC and extended ISO 8601 format, when the specified operation (api) was invoked and produced the finding.

                                                                      */ @@ -653,11 +851,6 @@ export interface ApiCallDetails { */ firstSeen?: Date; - /** - *

                                                                      The URL of the AWS service that provides the operation, for example: s3.amazonaws.com.

                                                                      - */ - apiServiceName?: string; - /** *

                                                                      The name of the operation that was invoked most recently and produced the finding.

                                                                      */ @@ -675,14 +868,14 @@ export namespace ApiCallDetails { */ export interface FindingAction { /** - *

                                                                      The type of action that occurred for the affected resource. This value is typically AWS_API_CALL, which indicates that an entity invoked an API operation for the resource.

                                                                      + *

                                                                      The invocation details of the API operation that an entity invoked for the affected resource, if the value for the actionType property is AWS_API_CALL.

                                                                      */ - actionType?: FindingActionType | string; + apiCallDetails?: ApiCallDetails; /** - *

                                                                      The invocation details of the API operation that an entity invoked for the affected resource, if the value for the actionType property is AWS_API_CALL.

                                                                      + *

                                                                      The type of action that occurred for the affected resource. This value is typically AWS_API_CALL, which indicates that an entity invoked an API operation for the resource.

                                                                      */ - apiCallDetails?: ApiCallDetails; + actionType?: FindingActionType | string; } export namespace FindingAction { @@ -728,14 +921,14 @@ export namespace IpCity { */ export interface IpCountry { /** - *

                                                                      The two-character code, in ISO 3166-1 alpha-2 format, for the country that the IP address originated from. For example, US for the United States.

                                                                      + *

                                                                      The name of the country that the IP address originated from.

                                                                      */ - code?: string; + name?: string; /** - *

                                                                      The name of the country that the IP address originated from.

                                                                      + *

                                                                      The two-character code, in ISO 3166-1 alpha-2 format, for the country that the IP address originated from. For example, US for the United States.

                                                                      */ - name?: string; + code?: string; } export namespace IpCountry { @@ -769,6 +962,11 @@ export namespace IpGeoLocation { *

                                                                      Provides information about the registered owner of an IP address.

                                                                      */ export interface IpOwner { + /** + *

                                                                      The name of the organization that owned the IP address.

                                                                      + */ + org?: string; + /** *

                                                                      The name of the internet service provider (ISP) that owned the IP address.

                                                                      */ @@ -779,11 +977,6 @@ export interface IpOwner { */ asn?: string; - /** - *

                                                                      The name of the organization that owned the IP address.

                                                                      - */ - org?: string; - /** *

                                                                      The organization identifier that's associated with the autonomous system number (ASN) for the autonomous system that included the IP address.

                                                                      */ @@ -801,9 +994,9 @@ export namespace IpOwner { */ export interface IpAddressDetails { /** - *

                                                                      The city that the IP address originated from.

                                                                      + *

                                                                      The country that the IP address originated from.

                                                                      */ - ipCity?: IpCity; + ipCountry?: IpCountry; /** *

                                                                      The geographic coordinates of the location that the IP address originated from.

                                                                      @@ -811,19 +1004,19 @@ export interface IpAddressDetails { ipGeoLocation?: IpGeoLocation; /** - *

                                                                      The country that the IP address originated from.

                                                                      + *

                                                                      The Internet Protocol version 4 (IPv4) address of the device.

                                                                      */ - ipCountry?: IpCountry; + ipAddressV4?: string; /** - *

                                                                      The registered owner of the IP address.

                                                                      + *

                                                                      The city that the IP address originated from.

                                                                      */ - ipOwner?: IpOwner; + ipCity?: IpCity; /** - *

                                                                      The Internet Protocol version 4 (IPv4) address of the device.

                                                                      + *

                                                                      The registered owner of the IP address.

                                                                      */ - ipAddressV4?: string; + ipOwner?: IpOwner; } export namespace IpAddressDetails { @@ -837,14 +1030,14 @@ export namespace IpAddressDetails { */ export interface SessionContextAttributes { /** - *

                                                                      Specifies whether the credentials were authenticated with a multi-factor authentication (MFA) device.

                                                                      + *

                                                                      The date and time, in UTC and ISO 8601 format, when the credentials were issued.

                                                                      */ - mfaAuthenticated?: boolean; + creationDate?: Date; /** - *

                                                                      The date and time, in UTC and ISO 8601 format, when the credentials were issued.

                                                                      + *

                                                                      Specifies whether the credentials were authenticated with a multi-factor authentication (MFA) device.

                                                                      */ - creationDate?: Date; + mfaAuthenticated?: boolean; } export namespace SessionContextAttributes { @@ -858,9 +1051,14 @@ export namespace SessionContextAttributes { */ export interface SessionIssuer { /** - *

                                                                      The unique identifier for the AWS account that owns the entity that was used to get the credentials.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the source account, IAM user, or role that was used to get the credentials.

                                                                      */ - accountId?: string; + arn?: string; + + /** + *

                                                                      The unique identifier for the entity that was used to get the credentials.

                                                                      + */ + principalId?: string; /** *

                                                                      The source of the temporary security credentials, such as Root, IAMUser, or Role.

                                                                      @@ -873,14 +1071,9 @@ export interface SessionIssuer { userName?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the source account, IAM user, or role that was used to get the credentials.

                                                                      - */ - arn?: string; - - /** - *

                                                                      The unique identifier for the entity that was used to get the credentials.

                                                                      + *

                                                                      The unique identifier for the AWS account that owns the entity that was used to get the credentials.

                                                                      */ - principalId?: string; + accountId?: string; } export namespace SessionIssuer { @@ -894,14 +1087,14 @@ export namespace SessionIssuer { */ export interface SessionContext { /** - *

                                                                      The date and time when the credentials were issued, and whether the credentials were authenticated with a multi-factor authentication (MFA) device.

                                                                      + *

                                                                      The source and type of credentials that were issued to the entity.

                                                                      */ - attributes?: SessionContextAttributes; + sessionIssuer?: SessionIssuer; /** - *

                                                                      The source and type of credentials that were issued to the entity.

                                                                      + *

                                                                      The date and time when the credentials were issued, and whether the credentials were authenticated with a multi-factor authentication (MFA) device.

                                                                      */ - sessionIssuer?: SessionIssuer; + attributes?: SessionContextAttributes; } export namespace SessionContext { @@ -914,16 +1107,6 @@ export namespace SessionContext { *

                                                                      Provides information about an identity that performed an action on an affected resource by using temporary security credentials. The credentials were obtained using the AssumeRole operation of the AWS Security Token Service (AWS STS) API.

                                                                      */ export interface AssumedRole { - /** - *

                                                                      The unique identifier for the entity that was used to get the credentials.

                                                                      - */ - principalId?: string; - - /** - *

                                                                      The AWS access key ID that identifies the credentials.

                                                                      - */ - accessKeyId?: string; - /** *

                                                                      The unique identifier for the AWS account that owns the entity that was used to get the credentials.

                                                                      */ @@ -938,6 +1121,16 @@ export interface AssumedRole { *

                                                                      The Amazon Resource Name (ARN) of the entity that was used to get the credentials.

                                                                      */ arn?: string; + + /** + *

                                                                      The unique identifier for the entity that was used to get the credentials.

                                                                      + */ + principalId?: string; + + /** + *

                                                                      The AWS access key ID that identifies the credentials.

                                                                      + */ + accessKeyId?: string; } export namespace AssumedRole { @@ -951,14 +1144,14 @@ export namespace AssumedRole { */ export interface AwsAccount { /** - *

                                                                      The unique identifier for the entity that performed the action.

                                                                      + *

                                                                      The unique identifier for the AWS account.

                                                                      */ - principalId?: string; + accountId?: string; /** - *

                                                                      The unique identifier for the AWS account.

                                                                      + *

                                                                      The unique identifier for the entity that performed the action.

                                                                      */ - accountId?: string; + principalId?: string; } export namespace AwsAccount { @@ -988,15 +1181,20 @@ export namespace AwsService { */ export interface FederatedUser { /** - *

                                                                      The details of the session that was created for the credentials, including the entity that issued the session.

                                                                      + *

                                                                      The AWS access key ID that identifies the credentials.

                                                                      */ - sessionContext?: SessionContext; + accessKeyId?: string; /** *

                                                                      The unique identifier for the AWS account that owns the entity that was used to get the credentials.

                                                                      */ accountId?: string; + /** + *

                                                                      The details of the session that was created for the credentials, including the entity that issued the session.

                                                                      + */ + sessionContext?: SessionContext; + /** *

                                                                      The Amazon Resource Name (ARN) of the entity that was used to get the credentials.

                                                                      */ @@ -1006,11 +1204,6 @@ export interface FederatedUser { *

                                                                      The unique identifier for the entity that was used to get the credentials.

                                                                      */ principalId?: string; - - /** - *

                                                                      The AWS access key ID that identifies the credentials.

                                                                      - */ - accessKeyId?: string; } export namespace FederatedUser { @@ -1024,24 +1217,24 @@ export namespace FederatedUser { */ export interface IamUser { /** - *

                                                                      The user name of the IAM user who performed the action.

                                                                      + *

                                                                      The unique identifier for the IAM user who performed the action.

                                                                      */ - userName?: string; + principalId?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the principal that performed the action. The last section of the ARN contains the name of the user who performed the action.

                                                                      + *

                                                                      The unique identifier for the AWS account that's associated with the IAM user who performed the action.

                                                                      */ - arn?: string; + accountId?: string; /** - *

                                                                      The unique identifier for the AWS account that's associated with the IAM user who performed the action.

                                                                      + *

                                                                      The user name of the IAM user who performed the action.

                                                                      */ - accountId?: string; + userName?: string; /** - *

                                                                      The unique identifier for the IAM user who performed the action.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the principal that performed the action. The last section of the ARN contains the name of the user who performed the action.

                                                                      */ - principalId?: string; + arn?: string; } export namespace IamUser { @@ -1090,14 +1283,14 @@ export enum UserIdentityType { */ export interface UserIdentity { /** - *

                                                                      If the action was performed with temporary security credentials that were obtained using the AssumeRole operation of the AWS Security Token Service (AWS STS) API, the identifiers, session context, and other details about the identity.

                                                                      + *

                                                                      If the action was performed by an AWS account that belongs to an AWS service, the name of the service.

                                                                      */ - assumedRole?: AssumedRole; + awsService?: AwsService; /** - *

                                                                      If the action was performed using the credentials for another AWS account, the details of that account.

                                                                      + *

                                                                      If the action was performed with temporary security credentials that were obtained using the GetFederationToken operation of the AWS Security Token Service (AWS STS) API, the identifiers, session context, and other details about the identity.

                                                                      */ - awsAccount?: AwsAccount; + federatedUser?: FederatedUser; /** *

                                                                      The type of entity that performed the action.

                                                                      @@ -1105,19 +1298,19 @@ export interface UserIdentity { type?: UserIdentityType | string; /** - *

                                                                      If the action was performed by an AWS account that belongs to an AWS service, the name of the service.

                                                                      + *

                                                                      If the action was performed using the credentials for an AWS Identity and Access Management (IAM) user, the name and other details about the user.

                                                                      */ - awsService?: AwsService; + iamUser?: IamUser; /** - *

                                                                      If the action was performed using the credentials for an AWS Identity and Access Management (IAM) user, the name and other details about the user.

                                                                      + *

                                                                      If the action was performed using the credentials for another AWS account, the details of that account.

                                                                      */ - iamUser?: IamUser; + awsAccount?: AwsAccount; /** - *

                                                                      If the action was performed with temporary security credentials that were obtained using the GetFederationToken operation of the AWS Security Token Service (AWS STS) API, the identifiers, session context, and other details about the identity.

                                                                      + *

                                                                      If the action was performed with temporary security credentials that were obtained using the AssumeRole operation of the AWS Security Token Service (AWS STS) API, the identifiers, session context, and other details about the identity.

                                                                      */ - federatedUser?: FederatedUser; + assumedRole?: AssumedRole; /** *

                                                                      If the action was performed using the credentials for your AWS account, the details of your account.

                                                                      @@ -1135,6 +1328,11 @@ export namespace UserIdentity { *

                                                                      Provides information about an entity that performed an action that produced a policy finding for a resource.

                                                                      */ export interface FindingActor { + /** + *

                                                                      The type and other characteristics of the entity that performed the action on the affected resource.

                                                                      + */ + userIdentity?: UserIdentity; + /** *

                                                                      The domain name of the device that the entity used to perform the action on the affected resource.

                                                                      */ @@ -1144,11 +1342,6 @@ export interface FindingActor { *

                                                                      The IP address of the device that the entity used to perform the action on the affected resource. This object also provides information such as the owner and geographic location for the IP address.

                                                                      */ ipAddressDetails?: IpAddressDetails; - - /** - *

                                                                      The type and other characteristics of the entity that performed the action on the affected resource.

                                                                      - */ - userIdentity?: UserIdentity; } export namespace FindingActor { @@ -1159,17 +1352,17 @@ export namespace FindingActor { /** *

                                                                      Provides the details of a policy finding.

                                                                      - */ -export interface PolicyDetails { - /** - *

                                                                      The entity that performed the action that produced the finding.

                                                                      - */ - actor?: FindingActor; - + */ +export interface PolicyDetails { /** *

                                                                      The action that produced the finding.

                                                                      */ action?: FindingAction; + + /** + *

                                                                      The entity that performed the action that produced the finding.

                                                                      + */ + actor?: FindingActor; } export namespace PolicyDetails { @@ -1186,18 +1379,18 @@ export enum EncryptionType { } /** - *

                                                                      Provides information about the server-side encryption settings for an S3 bucket or object.

                                                                      + *

                                                                      Provides information about the server-side encryption settings for an S3 bucket or S3 object.

                                                                      */ export interface ServerSideEncryption { /** - *

                                                                      The server-side encryption algorithm that's used when storing data in the bucket or object. If encryption is disabled for the bucket or object, this value is NONE.

                                                                      + *

                                                                      The unique identifier for the AWS Key Management Service (AWS KMS) master key that's used to encrypt the bucket or object. This value is null if AWS KMS isn't used to encrypt the bucket or object.

                                                                      */ - encryptionType?: EncryptionType | string; + kmsMasterKeyId?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) master key that's used to encrypt the bucket or object. This value is null if KMS isn't used to encrypt the bucket or object.

                                                                      + *

                                                                      The server-side encryption algorithm that's used when storing data in the bucket or object. If encryption is disabled for the bucket or object, this value is NONE.

                                                                      */ - kmsMasterKeyId?: string; + encryptionType?: EncryptionType | string; } export namespace ServerSideEncryption { @@ -1211,14 +1404,14 @@ export namespace ServerSideEncryption { */ export interface S3BucketOwner { /** - *

                                                                      The AWS account ID for the user who owns the bucket.

                                                                      + *

                                                                      The display name of the user who owns the bucket.

                                                                      */ - id?: string; + displayName?: string; /** - *

                                                                      The display name of the user who owns the bucket.

                                                                      + *

                                                                      The AWS account ID for the user who owns the bucket.

                                                                      */ - displayName?: string; + id?: string; } export namespace S3BucketOwner { @@ -1232,34 +1425,34 @@ export namespace S3BucketOwner { */ export interface S3Bucket { /** - *

                                                                      The display name and account identifier for the user who owns the bucket.

                                                                      + *

                                                                      The name of the bucket.

                                                                      */ - owner?: S3BucketOwner; + name?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the bucket.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the bucket was created.

                                                                      */ - arn?: string; + createdAt?: Date; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the bucket was created.

                                                                      + *

                                                                      The type of server-side encryption that's used by default to encrypt objects in the bucket.

                                                                      */ - createdAt?: Date; + defaultServerSideEncryption?: ServerSideEncryption; /** - *

                                                                      The permissions settings that determine whether the bucket is publicly accessible.

                                                                      + *

                                                                      The display name and account identifier for the user who owns the bucket.

                                                                      */ - publicAccess?: BucketPublicAccess; + owner?: S3BucketOwner; /** - *

                                                                      The name of the bucket.

                                                                      + *

                                                                      The permissions settings that determine whether the bucket is publicly accessible.

                                                                      */ - name?: string; + publicAccess?: BucketPublicAccess; /** - *

                                                                      The server-side encryption settings for the bucket.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the bucket.

                                                                      */ - defaultServerSideEncryption?: ServerSideEncryption; + arn?: string; /** *

                                                                      The tags that are associated with the bucket.

                                                                      @@ -1288,64 +1481,64 @@ export enum StorageClass { */ export interface S3Object { /** - *

                                                                      The Amazon Resource Name (ARN) of the bucket that contains the object.

                                                                      + *

                                                                      The type of server-side encryption that's used for the object.

                                                                      */ - bucketArn?: string; + serverSideEncryption?: ServerSideEncryption; /** - *

                                                                      The file extension of the object. If the object doesn't have a file extension, this value is "".

                                                                      + *

                                                                      The path to the object, including the full key (name).

                                                                      */ - extension?: string; + path?: string; /** - *

                                                                      The identifier for the affected version of the object.

                                                                      + *

                                                                      Specifies whether the object is publicly accessible due to the combination of permissions settings that apply to the object.

                                                                      */ - versionId?: string; + publicAccess?: boolean; /** - *

                                                                      The entity tag (ETag) that identifies the affected version of the object. If the object was overwritten or changed after Amazon Macie produced the finding, this value might be different from the current ETag for the object.

                                                                      + *

                                                                      The full key (name) that's assigned to the object.

                                                                      */ - eTag?: string; + key?: string; /** - *

                                                                      The path to the object, including the full key (name).

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the bucket that contains the object.

                                                                      */ - path?: string; + bucketArn?: string; /** - *

                                                                      The total storage size, in bytes, of the object.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the object was last modified.

                                                                      */ - size?: number; + lastModified?: Date; /** - *

                                                                      Specifies whether the object is publicly accessible due to the combination of permissions settings that apply to the object.

                                                                      + *

                                                                      The total storage size, in bytes, of the object.

                                                                      */ - publicAccess?: boolean; + size?: number; /** - *

                                                                      The storage class of the object.

                                                                      + *

                                                                      The entity tag (ETag) that identifies the affected version of the object. If the object was overwritten or changed after Amazon Macie produced the finding, this value might be different from the current ETag for the object.

                                                                      */ - storageClass?: StorageClass | string; + eTag?: string; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the object was last modified.

                                                                      + *

                                                                      The identifier for the affected version of the object.

                                                                      */ - lastModified?: Date; + versionId?: string; /** - *

                                                                      The server-side encryption settings for the object.

                                                                      + *

                                                                      The tags that are associated with the object.

                                                                      */ - serverSideEncryption?: ServerSideEncryption; + tags?: KeyValuePair[]; /** - *

                                                                      The tags that are associated with the object.

                                                                      + *

                                                                      The storage class of the object.

                                                                      */ - tags?: KeyValuePair[]; + storageClass?: StorageClass | string; /** - *

                                                                      The full key (name) that's assigned to the object.

                                                                      + *

                                                                      The file name extension of the object. If the object doesn't have a file name extension, this value is "".

                                                                      */ - key?: string; + extension?: string; } export namespace S3Object { @@ -1359,14 +1552,14 @@ export namespace S3Object { */ export interface ResourcesAffected { /** - *

                                                                      An array of objects, one for each S3 bucket that the finding applies to. Each object provides a set of metadata about an affected S3 bucket.

                                                                      + *

                                                                      An array of objects, one for each S3 object that the finding applies to. Each object provides a set of metadata about an affected S3 object.

                                                                      */ - s3Bucket?: S3Bucket; + s3Object?: S3Object; /** - *

                                                                      An array of objects, one for each S3 object that the finding applies to. Each object provides a set of metadata about an affected S3 object.

                                                                      + *

                                                                      An array of objects, one for each S3 bucket that the finding applies to. Each object provides a set of metadata about an affected S3 bucket.

                                                                      */ - s3Object?: S3Object; + s3Bucket?: S3Bucket; } export namespace ResourcesAffected { @@ -1382,18 +1575,18 @@ export enum SeverityDescription { } /** - *

                                                                      Provides the numeric score and textual representation of a severity value.

                                                                      + *

                                                                      Provides the numerical and qualitative representations of a finding's severity.

                                                                      */ export interface Severity { /** - *

                                                                      The textual representation of the severity value, such as Low or High.

                                                                      + *

                                                                      The numerical representation of the finding's severity, ranging from 1 (least severe) to 3 (most severe).

                                                                      */ - description?: SeverityDescription | string; + score?: number; /** - *

                                                                      The numeric score for the severity value, ranging from 0 (least severe) to 4 (most severe).

                                                                      + *

                                                                      The qualitative representation of the finding's severity, ranging from Low (least severe) to High (most severe).

                                                                      */ - score?: number; + description?: SeverityDescription | string; } export namespace Severity { @@ -1416,23 +1609,23 @@ export enum FindingType { } /** - *

                                                                      Provides information about a finding.

                                                                      + *

                                                                      Provides the details of a finding.

                                                                      */ export interface Finding { /** - *

                                                                      The unique identifier for the finding. This is a random string that Amazon Macie generates and assigns to a finding when it creates the finding.

                                                                      + *

                                                                      The resources that the finding applies to.

                                                                      */ - id?: string; + resourcesAffected?: ResourcesAffected; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the finding was last updated. For sensitive data findings, this value is the same as the value for the createdAt property. Sensitive data findings aren't updated.

                                                                      + *

                                                                      The AWS Region that Amazon Macie created the finding in.

                                                                      */ - updatedAt?: Date; + region?: string; /** - *

                                                                      The details of a sensitive data finding. This value is null for a policy finding.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the finding was last updated. For sensitive data findings, this value is the same as the value for the createdAt property. All sensitive data findings are considered new (unique) because they derive from individual classification jobs.

                                                                      */ - classificationDetails?: ClassificationDetails; + updatedAt?: Date; /** *

                                                                      The category of the finding. Possible values are: CLASSIFICATION, for a sensitive data finding; and, POLICY, for a policy finding.

                                                                      @@ -1440,9 +1633,14 @@ export interface Finding { category?: FindingCategory | string; /** - *

                                                                      The resources that the finding applies to.

                                                                      + *

                                                                      The unique identifier for the AWS account that the finding applies to. This is typically the account that owns the affected resource.

                                                                      */ - resourcesAffected?: ResourcesAffected; + accountId?: string; + + /** + *

                                                                      The details of a sensitive data finding. This value is null for a policy finding.

                                                                      + */ + classificationDetails?: ClassificationDetails; /** *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the finding was created.

                                                                      @@ -1460,54 +1658,49 @@ export interface Finding { schemaVersion?: string; /** - *

                                                                      The brief description of the finding.

                                                                      - */ - title?: string; - - /** - *

                                                                      The total number of occurrences of this finding.

                                                                      + *

                                                                      Specifies whether the finding is a sample finding. A sample finding is a finding that uses example data to demonstrate what a finding might contain.

                                                                      */ - count?: number; + sample?: boolean; /** - *

                                                                      The AWS Region that Amazon Macie created the finding in.

                                                                      + *

                                                                      The type of the finding.

                                                                      */ - region?: string; + type?: FindingType | string; /** - *

                                                                      The unique identifier for the AWS account that the finding applies to. This is typically the account that owns the affected resource.

                                                                      + *

                                                                      The severity level and score for the finding.

                                                                      */ - accountId?: string; + severity?: Severity; /** - *

                                                                      Specifies whether the finding is a sample finding. A sample finding is a finding that uses example data to demonstrate what a finding might contain.

                                                                      + *

                                                                      The details of a policy finding. This value is null for a sensitive data finding.

                                                                      */ - sample?: boolean; + policyDetails?: PolicyDetails; /** - *

                                                                      The description of the finding.

                                                                      + *

                                                                      The brief description of the finding.

                                                                      */ - description?: string; + title?: string; /** - *

                                                                      The type of the finding.

                                                                      + *

                                                                      The unique identifier for the finding. This is a random string that Amazon Macie generates and assigns to a finding when it creates the finding.

                                                                      */ - type?: FindingType | string; + id?: string; /** - *

                                                                      The severity of the finding.

                                                                      + *

                                                                      Specifies whether the finding is archived.

                                                                      */ - severity?: Severity; + archived?: boolean; /** - *

                                                                      Specifies whether the finding is archived.

                                                                      + *

                                                                      The description of the finding.

                                                                      */ - archived?: boolean; + description?: string; /** - *

                                                                      The details of a policy finding. This value is null for a sensitive data finding.

                                                                      + *

                                                                      The total number of occurrences of the finding.

                                                                      */ - policyDetails?: PolicyDetails; + count?: number; } export namespace Finding { @@ -1525,11 +1718,6 @@ export enum FindingsFilterAction { *

                                                                      Provides information about a findings filter.

                                                                      */ export interface FindingsFilterListItem { - /** - *

                                                                      The action that's performed on findings that meet the filter criteria. Possible values are: ARCHIVE, suppress (automatically archive) the findings; and, NOOP, don't perform any action on the findings.

                                                                      - */ - action?: FindingsFilterAction | string; - /** *

                                                                      The custom name of the filter.

                                                                      */ @@ -1541,14 +1729,19 @@ export interface FindingsFilterListItem { arn?: string; /** - *

                                                                      The unique identifier for the filter.

                                                                      + *

                                                                      The action that's performed on findings that meet the filter criteria. Possible values are: ARCHIVE, suppress (automatically archive) the findings; and, NOOP, don't perform any action on the findings.

                                                                      */ - id?: string; + action?: FindingsFilterAction | string; /** *

                                                                      A map of key-value pairs that identifies the tags (keys and values) that are associated with the filter.

                                                                      */ tags?: { [key: string]: string }; + + /** + *

                                                                      The unique identifier for the filter.

                                                                      + */ + id?: string; } export namespace FindingsFilterListItem { @@ -1562,14 +1755,14 @@ export namespace FindingsFilterListItem { */ export interface GroupCount { /** - *

                                                                      The name of the property that defines the group in the query results, as specified by the groupBy property in the query request.

                                                                      + *

                                                                      The total number of findings in the group of query results.

                                                                      */ - groupKey?: string; + count?: number; /** - *

                                                                      The total number of findings in the group of query results.

                                                                      + *

                                                                      The name of the property that defines the group in the query results, as specified by the groupBy property in the query request.

                                                                      */ - count?: number; + groupKey?: string; } export namespace GroupCount { @@ -1596,24 +1789,24 @@ export enum RelationshipStatus { */ export interface Invitation { /** - *

                                                                      The AWS account ID for the account that sent the invitation.

                                                                      + *

                                                                      The status of the relationship between the account that sent the invitation (inviter account) and the account that received the invitation (invitee account).

                                                                      */ - accountId?: string; + relationshipStatus?: RelationshipStatus | string; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the invitation was sent.

                                                                      + *

                                                                      The unique identifier for the invitation. Amazon Macie uses this identifier to validate the inviter account with the invitee account.

                                                                      */ - invitedAt?: Date; + invitationId?: string; /** - *

                                                                      The status of the relationship between the account that sent the invitation (inviter account) and the account that received the invitation (invitee account).

                                                                      + *

                                                                      The AWS account ID for the account that sent the invitation.

                                                                      */ - relationshipStatus?: RelationshipStatus | string; + accountId?: string; /** - *

                                                                      The unique identifier for the invitation. Amazon Macie uses this identifier to validate the inviter account with the invitee account.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the invitation was sent.

                                                                      */ - invitationId?: string; + invitedAt?: Date; } export namespace Invitation { @@ -1645,19 +1838,19 @@ export enum ScopeFilterKey { */ export interface SimpleScopeTerm { /** - *

                                                                      The operator to use in the condition.

                                                                      + *

                                                                      The object property to use in the condition.

                                                                      */ - comparator?: JobComparator | string; + key?: ScopeFilterKey | string; /** - *

                                                                      An array that lists one or more values to use in the condition.

                                                                      + *

                                                                      The operator to use in the condition. Valid operators for each supported property (key) are:

                                                                      • OBJECT_EXTENSION - EQ (equals) or NE (not equals)

                                                                      • OBJECT_LAST_MODIFIED_DATE - Any operator except CONTAINS

                                                                      • OBJECT_SIZE - Any operator except CONTAINS

                                                                      • TAG - EQ (equals) or NE (not equals)

                                                                      */ - values?: string[]; + comparator?: JobComparator | string; /** - *

                                                                      The property to use in the condition.

                                                                      + *

                                                                      An array that lists the values to use in the condition. If the value for the key property is OBJECT_EXTENSION, this array can specify multiple values and Amazon Macie uses an OR operator to join the values. Otherwise, this array can specify only one value. Valid values for each supported property (key) are:

                                                                      • OBJECT_EXTENSION - A string that represents the file name extension of an object. For example: doc, docx, pdf

                                                                      • OBJECT_LAST_MODIFIED_DATE - The date and time (in UTC and extended ISO 8601 format) when an object was created or last changed, whichever is latest. For example: 2020-09-28T14:31:13Z

                                                                      • OBJECT_SIZE - An integer that represents the storage size (in bytes) of an object.

                                                                      • TAG - A string that represents a tag key for an object. For advanced options, use a TagScopeTerm object, instead of a SimpleScopeTerm object, to define a tag-based condition for the job.

                                                                      */ - key?: ScopeFilterKey | string; + values?: string[]; } export namespace SimpleScopeTerm { @@ -1667,11 +1860,11 @@ export namespace SimpleScopeTerm { } /** - *

                                                                      Specifies a tag key and value, as a pair, to use in a tag-based condition for a classification job.

                                                                      + *

                                                                      Specifies a tag key or tag key and value pair to use in a tag-based condition for a classification job.

                                                                      */ export interface TagValuePair { /** - *

                                                                      The tag value, associated with the specified tag key, to use in the condition.

                                                                      + *

                                                                      The tag value, associated with the specified tag key (key), to use in the condition. To specify only a tag key for a condition, specify the tag key for the key property and set this value to an empty string.

                                                                      */ value?: string; @@ -1696,9 +1889,9 @@ export enum TagTarget { */ export interface TagScopeTerm { /** - *

                                                                      The tag key and value pairs to use in the condition.

                                                                      + *

                                                                      The type of object to apply the condition to.

                                                                      */ - tagValues?: TagValuePair[]; + target?: TagTarget | string; /** *

                                                                      The tag key to use in the condition.

                                                                      @@ -1706,14 +1899,14 @@ export interface TagScopeTerm { key?: string; /** - *

                                                                      The type of object to apply the condition to.

                                                                      + *

                                                                      The operator to use in the condition. Valid operators are EQ (equals) or NE (not equals).

                                                                      */ - target?: TagTarget | string; + comparator?: JobComparator | string; /** - *

                                                                      The operator to use in the condition.

                                                                      + *

                                                                      The tag keys or tag key and value pairs to use in the condition.

                                                                      */ - comparator?: JobComparator | string; + tagValues?: TagValuePair[]; } export namespace TagScopeTerm { @@ -1727,14 +1920,14 @@ export namespace TagScopeTerm { */ export interface JobScopeTerm { /** - *

                                                                      A tag-based condition that defines the operator and a tag key or tag keys and values for including or excluding an object from the job.

                                                                      + *

                                                                      A property-based condition that defines a property, operator, and one or more values for including or excluding an object from the job.

                                                                      */ - tagScopeTerm?: TagScopeTerm; + simpleScopeTerm?: SimpleScopeTerm; /** - *

                                                                      A property-based condition that defines a property, operator, and one or more values for including or excluding an object from the job.

                                                                      + *

                                                                      A tag-based condition that defines the operator and tag keys or tag key and value pairs for including or excluding an object from the job.

                                                                      */ - simpleScopeTerm?: SimpleScopeTerm; + tagScopeTerm?: TagScopeTerm; } export namespace JobScopeTerm { @@ -1748,14 +1941,14 @@ export namespace JobScopeTerm { */ export interface S3BucketDefinitionForJob { /** - *

                                                                      An array that lists the names of the buckets.

                                                                      + *

                                                                      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.

                                                                      */ - buckets?: string[]; + accountId?: string; /** - *

                                                                      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.

                                                                      + *

                                                                      An array that lists the names of the buckets.

                                                                      */ - accountId?: string; + buckets?: string[]; } export namespace S3BucketDefinitionForJob { @@ -1770,6 +1963,7 @@ export enum JobStatus { IDLE = "IDLE", PAUSED = "PAUSED", RUNNING = "RUNNING", + USER_PAUSED = "USER_PAUSED", } export enum JobType { @@ -1778,38 +1972,69 @@ export enum JobType { } /** - *

                                                                      Provides information about a classification job, including the current status of the job.

                                                                      + *

                                                                      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.

                                                                      */ -export interface JobSummary { +export interface UserPausedDetails { /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the job was created.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the job will expire and be cancelled if you don't resume it first. If you don't resume a job within 30 days of pausing it, the job expires and Amazon Macie cancels it.

                                                                      */ - createdAt?: Date; + jobExpiresAt?: Date; /** - *

                                                                      The schedule for running the job. Possible values are:

                                                                      • ONE_TIME - The job ran or will run only once.

                                                                      • SCHEDULED - The job runs on a daily, weekly, or monthly basis.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when you paused the job.

                                                                      */ - jobType?: JobType | string; + jobPausedAt?: Date; + + /** + *

                                                                      The Amazon Resource Name (ARN) of the AWS Health event that Amazon Macie sent to notify you of the job's pending expiration and cancellation. This value is null if a job has been paused for less than 23 days.

                                                                      + */ + jobImminentExpirationHealthEventArn?: string; +} + +export namespace UserPausedDetails { + export const filterSensitiveLog = (obj: UserPausedDetails): any => ({ + ...obj, + }); +} +/** + *

                                                                      Provides information about a classification job, including the current status of the job.

                                                                      + */ +export interface JobSummary { /** *

                                                                      The unique identifier for the job.

                                                                      */ jobId?: string; /** - *

                                                                      The current status of the job. Possible values are:

                                                                      • CANCELLED - The job was cancelled by you or a user of the master account for your organization. A job might also be cancelled if ownership of an S3 bucket changed while the job was running, and that change affected the job's access to the bucket.

                                                                      • COMPLETE - Amazon Macie finished processing all the data specified for the job.

                                                                      • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to jobs that occur only once.

                                                                      • PAUSED - Amazon Macie started the job, but completion of the job would exceed one or more quotas for your account.

                                                                      • RUNNING - The job is in progress.

                                                                      + *

                                                                      If the current status of the job is USER_PAUSED, specifies when the job was paused and when the job will expire and be cancelled if it isn't resumed. This value is present only if the value for jobStatus is USER_PAUSED.

                                                                      */ - jobStatus?: JobStatus | string; + userPausedDetails?: UserPausedDetails; /** - *

                                                                      The custom name of the job.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the job was created.

                                                                      */ - name?: string; + createdAt?: Date; /** *

                                                                      The S3 buckets that the job is configured to analyze.

                                                                      */ - bucketDefinitions?: S3BucketDefinitionForJob[]; + bucketDefinitions?: S3BucketDefinitionForJob[]; + + /** + *

                                                                      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.

                                                                      + */ + jobStatus?: JobStatus | string; + + /** + *

                                                                      The schedule for running the job. Possible values are:

                                                                      • ONE_TIME - The job runs only once.

                                                                      • SCHEDULED - The job runs on a daily, weekly, or monthly basis.

                                                                      + */ + jobType?: JobType | string; + + /** + *

                                                                      The custom name of the job.

                                                                      + */ + name?: string; } export namespace JobSummary { @@ -1829,11 +2054,6 @@ export enum ListJobsFilterKey { *

                                                                      Specifies a condition that filters the results of a request for information about classification jobs. Each condition consists of a property, an operator, and one or more values.

                                                                      */ export interface ListJobsFilterTerm { - /** - *

                                                                      The property to use to filter the results.

                                                                      - */ - key?: ListJobsFilterKey | string; - /** *

                                                                      The operator to use to filter the results.

                                                                      */ @@ -1843,6 +2063,11 @@ export interface ListJobsFilterTerm { *

                                                                      An array that lists one or more values to use to filter the results.

                                                                      */ values?: string[]; + + /** + *

                                                                      The property to use to filter the results.

                                                                      + */ + key?: ListJobsFilterKey | string; } export namespace ListJobsFilterTerm { @@ -1856,29 +2081,24 @@ export namespace ListJobsFilterTerm { */ export interface Member { /** - *

                                                                      A map of key-value pairs that identifies the tags (keys and values) that are associated with the account in Amazon Macie.

                                                                      - */ - tags?: { [key: string]: string }; - - /** - *

                                                                      The current status of the relationship between the account and the master account.

                                                                      + *

                                                                      The AWS account ID for the account.

                                                                      */ - relationshipStatus?: RelationshipStatus | string; + accountId?: string; /** - *

                                                                      The email address for the account.

                                                                      + *

                                                                      The AWS account ID for the master account.

                                                                      */ - email?: string; + masterAccountId?: string; /** - *

                                                                      The AWS account ID for the master account.

                                                                      + *

                                                                      A map of key-value pairs that identifies the tags (keys and values) that are associated with the account in Amazon Macie.

                                                                      */ - masterAccountId?: string; + tags?: { [key: string]: string }; /** - *

                                                                      The AWS account ID for the account.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, of the most recent change to the status of the relationship between the account and the master account.

                                                                      */ - accountId?: string; + updatedAt?: Date; /** *

                                                                      The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie membership invitation was last sent to the account. This value is null if a Macie invitation hasn't been sent to the account.

                                                                      @@ -1886,14 +2106,19 @@ export interface Member { invitedAt?: Date; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, of the most recent change to the status of the relationship between the account and the master account.

                                                                      + *

                                                                      The email address for the account.

                                                                      */ - updatedAt?: Date; + email?: string; /** *

                                                                      The Amazon Resource Name (ARN) of the account.

                                                                      */ arn?: string; + + /** + *

                                                                      The current status of the relationship between the account and the master account.

                                                                      + */ + relationshipStatus?: RelationshipStatus | string; } export namespace Member { @@ -1911,11 +2136,6 @@ export enum ErrorCode { *

                                                                      Provides information about an account-related request that hasn't been processed.

                                                                      */ export interface UnprocessedAccount { - /** - *

                                                                      The AWS account ID for the account that the request applies to.

                                                                      - */ - accountId?: string; - /** *

                                                                      The reason why the request hasn't been processed.

                                                                      */ @@ -1925,6 +2145,11 @@ export interface UnprocessedAccount { *

                                                                      The source of the issue or delay in processing the request.

                                                                      */ errorCode?: ErrorCode | string; + + /** + *

                                                                      The AWS account ID for the account that the request applies to.

                                                                      + */ + accountId?: string; } export namespace UnprocessedAccount { @@ -1945,6 +2170,11 @@ export enum Unit { *

                                                                      Specifies a current quota for an account.

                                                                      */ export interface ServiceLimit { + /** + *

                                                                      The value for the metric specified by the UsageByAccount.type field in the response.

                                                                      + */ + value?: number; + /** *

                                                                      Specifies whether the account has met the quota that corresponds to the metric specified by the UsageByAccount.type field in the response.

                                                                      */ @@ -1954,11 +2184,6 @@ export interface ServiceLimit { *

                                                                      The unit of measurement for the value specified by the value field.

                                                                      */ unit?: Unit | string; - - /** - *

                                                                      The value for the metric specified by the UsageByAccount.type field in the response.

                                                                      - */ - value?: number; } export namespace ServiceLimit { @@ -1977,24 +2202,24 @@ export enum UsageType { */ export interface UsageByAccount { /** - *

                                                                      The estimated value for the metric.

                                                                      + *

                                                                      The current value for the quota that corresponds to the metric specified by the type field.

                                                                      */ - estimatedCost?: string; + serviceLimit?: ServiceLimit; /** - *

                                                                      The type of currency that the value for the metric (estimatedCost) is reported in.

                                                                      + *

                                                                      The name of the metric. Possible values are: DATA_INVENTORY_EVALUATION, for monitoring S3 buckets; and, SENSITIVE_DATA_DISCOVERY, for analyzing sensitive data.

                                                                      */ - currency?: Currency | string; + type?: UsageType | string; /** - *

                                                                      The current value for the quota that corresponds to the metric specified by the type field.

                                                                      + *

                                                                      The estimated value for the metric.

                                                                      */ - serviceLimit?: ServiceLimit; + estimatedCost?: string; /** - *

                                                                      The name of the metric. Possible values are: DATA_INVENTORY_EVALUATION, for monitoring S3 buckets; and, SENSITIVE_DATA_DISCOVERY, for analyzing sensitive data.

                                                                      + *

                                                                      The type of currency that the value for the metric (estimatedCost) is reported in.

                                                                      */ - type?: UsageType | string; + currency?: Currency | string; } export namespace UsageByAccount { @@ -2007,11 +2232,6 @@ export namespace UsageByAccount { *

                                                                      Provides quota and aggregated usage data for an account.

                                                                      */ export interface UsageRecord { - /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the free trial started for the account.

                                                                      - */ - freeTrialStartDate?: Date; - /** *

                                                                      The unique identifier for the AWS account that the data applies to.

                                                                      */ @@ -2021,6 +2241,11 @@ export interface UsageRecord { *

                                                                      An array of objects that contains usage data and quotas for the account. Each object contains the data for a specific usage metric and the corresponding quota.

                                                                      */ usage?: UsageByAccount[]; + + /** + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the free trial started for the account.

                                                                      + */ + freeTrialStartDate?: Date; } export namespace UsageRecord { @@ -2050,11 +2275,6 @@ export enum UsageStatisticsFilterKey { *

                                                                      Specifies a condition for filtering the results of a query for account quotas and usage data.

                                                                      */ export interface UsageStatisticsFilter { - /** - *

                                                                      An array that lists values to use in the condition, based on the value for the field specified by the key property. If the value for the key property is accountId, this array can specify multiple values. Otherwise, this array can specify only one value.

                                                                      Valid values for each supported field are:

                                                                      • accountId - The unique identifier for an AWS account.

                                                                      • freeTrialStartDate - The date and time, in UTC and extended ISO 8601 format, when the free trial started for an account.

                                                                      • serviceLimit - A Boolean (true or false) value that indicates whether an account has reached its monthly quota.

                                                                      • total - A string that represents the current, estimated month-to-date cost for an account.

                                                                      - */ - values?: string[]; - /** *

                                                                      The field to use in the condition.

                                                                      */ @@ -2064,6 +2284,11 @@ export interface UsageStatisticsFilter { *

                                                                      The operator to use in the condition. If the value for the key property is accountId, this value must be CONTAINS. If the value for the key property is any other supported field, this value can be EQ, GT, GTE, LT, LTE, or NE.

                                                                      */ comparator?: UsageStatisticsFilterComparator | string; + + /** + *

                                                                      An array that lists values to use in the condition, based on the value for the field specified by the key property. If the value for the key property is accountId, this array can specify multiple values. Otherwise, this array can specify only one value.

                                                                      Valid values for each supported field are:

                                                                      • accountId - The unique identifier for an AWS account.

                                                                      • freeTrialStartDate - The date and time, in UTC and extended ISO 8601 format, when the free trial started for an account.

                                                                      • serviceLimit - A Boolean (true or false) value that indicates whether an account has reached its monthly quota.

                                                                      • total - A string that represents the current, estimated month-to-date cost for an account.

                                                                      + */ + values?: string[]; } export namespace UsageStatisticsFilter { @@ -2076,6 +2301,11 @@ export namespace UsageStatisticsFilter { *

                                                                      Provides aggregated data for a usage metric. The value for the metric reports usage data for an account during the past 30 days.

                                                                      */ export interface UsageTotal { + /** + *

                                                                      The name of the metric. Possible values are: DATA_INVENTORY_EVALUATION, for monitoring S3 buckets; and, SENSITIVE_DATA_DISCOVERY, for analyzing sensitive data.

                                                                      + */ + type?: UsageType | string; + /** *

                                                                      The type of currency that the value for the metric (estimatedCost) is reported in.

                                                                      */ @@ -2085,11 +2315,6 @@ export interface UsageTotal { *

                                                                      The estimated value for the metric.

                                                                      */ estimatedCost?: string; - - /** - *

                                                                      The name of the metric. Possible values are: DATA_INVENTORY_EVALUATION, for monitoring S3 buckets; and, SENSITIVE_DATA_DISCOVERY, for analyzing sensitive data.

                                                                      - */ - type?: UsageType | string; } export namespace UsageTotal { @@ -2100,14 +2325,14 @@ export namespace UsageTotal { export interface AcceptInvitationRequest { /** - *

                                                                      The unique identifier for the invitation to accept.

                                                                      + *

                                                                      The AWS account ID for the account that sent the invitation.

                                                                      */ - invitationId: string | undefined; + masterAccount: string | undefined; /** - *

                                                                      The AWS account ID for the account that sent the invitation.

                                                                      + *

                                                                      The unique identifier for the invitation to accept.

                                                                      */ - masterAccount: string | undefined; + invitationId: string | undefined; } export namespace AcceptInvitationRequest { @@ -2286,14 +2511,14 @@ export namespace BatchGetCustomDataIdentifiersRequest { export interface BatchGetCustomDataIdentifiersResponse { /** - *

                                                                      An array of objects, one for each custom data identifier that meets the criteria specified in the request.

                                                                      + *

                                                                      An array of identifiers, one for each identifier that was specified in the request, but doesn't correlate to an existing custom data identifier.

                                                                      */ - customDataIdentifiers?: BatchGetCustomDataIdentifierSummary[]; + notFoundIdentifierIds?: string[]; /** - *

                                                                      An array of identifiers, one for each identifier that was specified in the request, but doesn't correlate to an existing custom data identifier.

                                                                      + *

                                                                      An array of objects, one for each custom data identifier that meets the criteria specified in the request.

                                                                      */ - notFoundIdentifierIds?: string[]; + customDataIdentifiers?: BatchGetCustomDataIdentifierSummary[]; } export namespace BatchGetCustomDataIdentifiersResponse { @@ -2307,9 +2532,9 @@ export namespace BatchGetCustomDataIdentifiersResponse { */ export interface BucketCountByEffectivePermission { /** - *

                                                                      The total number of buckets that allow the general public to have read or write access to the bucket.

                                                                      + *

                                                                      The total number of buckets that allow the general public to have write access to the bucket.

                                                                      */ - publiclyAccessible?: number; + publiclyWritable?: number; /** *

                                                                      The total number of buckets that allow the general public to have read access to the bucket.

                                                                      @@ -2317,9 +2542,14 @@ export interface BucketCountByEffectivePermission { publiclyReadable?: number; /** - *

                                                                      The total number of buckets that allow the general public to have write access to the bucket.

                                                                      + *

                                                                      The total number of buckets that Amazon Macie wasn't able to evaluate permissions settings for. Macie can't determine whether these buckets are publicly accessible.

                                                                      */ - publiclyWritable?: number; + unknown?: number; + + /** + *

                                                                      The total number of buckets that allow the general public to have read or write access to the bucket.

                                                                      + */ + publiclyAccessible?: number; } export namespace BucketCountByEffectivePermission { @@ -2333,14 +2563,14 @@ 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 don't encrypt objects by default. Default encryption is disabled for these buckets.

                                                                      */ - kmsManaged?: number; + unencrypted?: number; /** - *

                                                                      The total number of buckets that don't encrypt objects by default. Default encryption is disabled for these buckets.

                                                                      + *

                                                                      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.

                                                                      */ - unencrypted?: number; + 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.

                                                                      @@ -2358,15 +2588,20 @@ export namespace BucketCountByEncryptionType { *

                                                                      Provides information about the number of S3 buckets that are shared with other AWS accounts.

                                                                      */ export interface BucketCountBySharedAccessType { + /** + *

                                                                      The total number of buckets that aren't shared with other AWS accounts.

                                                                      + */ + notShared?: number; + /** *

                                                                      The total number of buckets that are shared with an AWS account that isn't part of the same Amazon Macie organization.

                                                                      */ external?: number; /** - *

                                                                      The total number of buckets that aren't shared with any other AWS accounts.

                                                                      + *

                                                                      The total number of buckets that Amazon Macie wasn't able to evaluate shared access settings for. Macie can't determine whether these buckets are shared with other AWS accounts.

                                                                      */ - notShared?: number; + unknown?: number; /** *

                                                                      The total number of buckets that are shared with an AWS account that's part of the same Amazon Macie organization.

                                                                      @@ -2385,14 +2620,19 @@ export namespace BucketCountBySharedAccessType { */ export interface BucketCriteriaAdditionalProperties { /** - *

                                                                      An equal to condition to apply to a specified attribute value for buckets.

                                                                      + *

                                                                      The prefix of the buckets to include in the results.

                                                                      */ - eq?: string[]; + prefix?: string; /** - *

                                                                      The prefix of the buckets to include in the results.

                                                                      + *

                                                                      A not equal to condition to apply to a specified attribute value for buckets.

                                                                      */ - prefix?: string; + neq?: string[]; + + /** + *

                                                                      An equal to condition to apply to a specified attribute value for buckets.

                                                                      + */ + eq?: string[]; /** *

                                                                      A less than or equal to condition to apply to a specified attribute value for buckets.

                                                                      @@ -2409,11 +2649,6 @@ export interface BucketCriteriaAdditionalProperties { */ lt?: number; - /** - *

                                                                      A not equal to condition to apply to a specified attribute value for buckets.

                                                                      - */ - neq?: string[]; - /** *

                                                                      A greater than or equal to condition to apply to a specified attribute value for buckets.

                                                                      */ @@ -2436,14 +2671,14 @@ export enum OrderBy { */ export interface BucketSortCriteria { /** - *

                                                                      The name of the attribute to sort the results by. This value can be the name of any property that Amazon Macie defines as bucket metadata, such as bucketName, accountId, or lastUpdated.

                                                                      + *

                                                                      The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

                                                                      */ - attributeName?: string; + orderBy?: OrderBy | string; /** - *

                                                                      The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

                                                                      + *

                                                                      The name of the attribute to sort the results by. This value can be the name of any property that Amazon Macie defines as bucket metadata, such as bucketName or accountId.

                                                                      */ - orderBy?: OrderBy | string; + attributeName?: string; } export namespace BucketSortCriteria { @@ -2456,6 +2691,11 @@ export namespace BucketSortCriteria { *

                                                                      Specifies an S3 bucket to store data classification results in, and the encryption settings to use when storing results in that bucket.

                                                                      */ export interface S3Destination { + /** + *

                                                                      The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for encryption of the results. This must be the ARN of an existing CMK that's in the same AWS Region as the bucket.

                                                                      + */ + kmsKeyArn: string | undefined; + /** *

                                                                      The name of the bucket.

                                                                      */ @@ -2465,11 +2705,6 @@ export interface S3Destination { *

                                                                      The path prefix to use in the path to the location in the bucket. This prefix specifies where to store classification results in the bucket.

                                                                      */ keyPrefix?: string; - - /** - *

                                                                      The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for encryption of the results. This must be the ARN of an existing CMK that's in the same AWS Region as the bucket.

                                                                      - */ - kmsKeyArn: string | undefined; } export namespace S3Destination { @@ -2495,7 +2730,7 @@ export namespace ClassificationExportConfiguration { } /** - *

                                                                      Specifies one or more property- and tag-based conditions that define criteria for including or excluding objects from a classification job.

                                                                      + *

                                                                      Specifies one or more property- and tag-based conditions that define criteria for including or excluding objects from a classification job. If you specify more than one condition, Amazon Macie uses an AND operator to join the conditions.

                                                                      */ export interface JobScopingBlock { /** @@ -2511,18 +2746,18 @@ export namespace JobScopingBlock { } /** - *

                                                                      Specifies one or more property- and tag-based conditions that refine the scope of a classification job. These conditions define criteria that determine which objects a job analyzes.

                                                                      + *

                                                                      Specifies one or more property- and tag-based conditions that refine the scope of a classification job. These conditions define criteria that determine which objects a job analyzes. Exclude conditions take precedence over include conditions.

                                                                      */ export interface Scoping { /** - *

                                                                      The property- or tag-based conditions that determine which objects to exclude from the analysis.

                                                                      + *

                                                                      The property- or tag-based conditions that determine which objects to include in the analysis.

                                                                      */ - excludes?: JobScopingBlock; + includes?: JobScopingBlock; /** - *

                                                                      The property- or tag-based conditions that determine which objects to include in the analysis.

                                                                      + *

                                                                      The property- or tag-based conditions that determine which objects to exclude from the analysis.

                                                                      */ - includes?: JobScopingBlock; + excludes?: JobScopingBlock; } export namespace Scoping { @@ -2536,14 +2771,14 @@ export namespace Scoping { */ export interface S3JobDefinition { /** - *

                                                                      An array of objects, one for each bucket that contains objects to analyze.

                                                                      + *

                                                                      The property- and tag-based conditions that determine which objects to include or exclude from the analysis.

                                                                      */ - bucketDefinitions?: S3BucketDefinitionForJob[]; + scoping?: Scoping; /** - *

                                                                      The property- and tag-based conditions that determine which objects to include or exclude from the analysis.

                                                                      + *

                                                                      An array of objects, one for each bucket that contains objects to analyze.

                                                                      */ - scoping?: Scoping; + bucketDefinitions?: S3BucketDefinitionForJob[]; } export namespace S3JobDefinition { @@ -2568,7 +2803,7 @@ export namespace DailySchedule { */ export interface MonthlySchedule { /** - *

                                                                      The numeric day of the month when Amazon Macie runs the job. This value can be an integer from 1 through 30.

                                                                      + *

                                                                      The numeric day of the month when Amazon Macie runs the job. This value can be an integer from 1 through 31.

                                                                      If this value exceeds the number of days in a certain month, Macie runs the job on the last day of that month. For example, if this value is 31 and a month has only 30 days, Macie runs the job on day 30 of that month.

                                                                      */ dayOfMonth?: number; } @@ -2609,6 +2844,11 @@ export namespace WeeklySchedule { *

                                                                      Specifies the recurrence pattern for running a classification job.

                                                                      */ export interface JobScheduleFrequency { + /** + *

                                                                      Specifies a daily recurrence pattern for running the job.

                                                                      + */ + dailySchedule?: DailySchedule; + /** *

                                                                      Specifies a weekly recurrence pattern for running the job.

                                                                      */ @@ -2618,11 +2858,6 @@ export interface JobScheduleFrequency { *

                                                                      Specifies a monthly recurrence pattern for running the job.

                                                                      */ monthlySchedule?: MonthlySchedule; - - /** - *

                                                                      Specifies a daily recurrence pattern for running the job.

                                                                      - */ - dailySchedule?: DailySchedule; } export namespace JobScheduleFrequency { @@ -2633,34 +2868,34 @@ export namespace JobScheduleFrequency { export interface CreateClassificationJobRequest { /** - *

                                                                      A map of key-value pairs that specifies the tags to associate with the job.

                                                                      A job can have a maximum of 50 tags. Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

                                                                      + *

                                                                      The schedule for running the job. Valid values are:

                                                                      • ONE_TIME - Run the job only once. If you specify this value, don't specify a value for the scheduleFrequency property.

                                                                      • SCHEDULED - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the scheduleFrequency property to define the recurrence pattern for the job.

                                                                      */ - tags?: { [key: string]: string }; + jobType: JobType | string | undefined; /** - *

                                                                      The S3 buckets that contain the objects to analyze, and the scope of that analysis.

                                                                      + *

                                                                      Specifies whether to analyze all existing, eligible objects immediately after the job is created.

                                                                      */ - s3JobDefinition: S3JobDefinition | undefined; + initialRun?: boolean; /** - *

                                                                      A custom description of the job. The description can contain as many as 200 characters.

                                                                      + *

                                                                      The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.

                                                                      */ - description?: string; + samplingPercentage?: number; /** - *

                                                                      A custom name for the job. The name can contain as many as 500 characters.

                                                                      + *

                                                                      The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the jobType property to ONE_TIME.

                                                                      */ - name: string | undefined; + scheduleFrequency?: JobScheduleFrequency; /** - *

                                                                      Specifies whether to run the job immediately, after it's created.

                                                                      + *

                                                                      A custom name for the job. The name can contain as many as 500 characters.

                                                                      */ - initialRun?: boolean; + name: string | undefined; /** - *

                                                                      The schedule for running the job. Valid values are:

                                                                      • ONE_TIME - Run the job only once. If you specify this value, don't specify a value for the scheduleFrequency property.

                                                                      • SCHEDULED - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the scheduleFrequency property to define the recurrence pattern for the job.

                                                                      + *

                                                                      The S3 buckets that contain the objects to analyze, and the scope of that analysis.

                                                                      */ - jobType: JobType | string | undefined; + s3JobDefinition: S3JobDefinition | undefined; /** *

                                                                      A unique, case-sensitive token that you provide to ensure the idempotency of the request.

                                                                      @@ -2668,19 +2903,19 @@ export interface CreateClassificationJobRequest { clientToken?: string; /** - *

                                                                      The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value of the jobType property to ONE_TIME.

                                                                      + *

                                                                      A map of key-value pairs that specifies the tags to associate with the job.

                                                                      A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

                                                                      */ - scheduleFrequency?: JobScheduleFrequency; + tags?: { [key: string]: string }; /** - *

                                                                      The custom data identifiers to use for data analysis and classification.

                                                                      + *

                                                                      A custom description of the job. The description can contain as many as 200 characters.

                                                                      */ - customDataIdentifierIds?: string[]; + description?: string; /** - *

                                                                      The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If the value is less than 100, Amazon Macie randomly selects the objects to analyze, up to the specified percentage.

                                                                      + *

                                                                      The custom data identifiers to use for data analysis and classification.

                                                                      */ - samplingPercentage?: number; + customDataIdentifierIds?: string[]; } export namespace CreateClassificationJobRequest { @@ -2691,14 +2926,14 @@ export namespace CreateClassificationJobRequest { export interface CreateClassificationJobResponse { /** - *

                                                                      The Amazon Resource Name (ARN) of the job.

                                                                      + *

                                                                      The unique identifier for the job.

                                                                      */ - jobArn?: string; + jobId?: string; /** - *

                                                                      The unique identifier for the job.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the job.

                                                                      */ - jobId?: string; + jobArn?: string; } export namespace CreateClassificationJobResponse { @@ -2709,24 +2944,34 @@ export namespace CreateClassificationJobResponse { export interface CreateCustomDataIdentifierRequest { /** - *

                                                                      A custom name for the custom data identifier. The name can contain as many as 128 characters.

                                                                      We strongly recommend that you avoid including any sensitive data in the name of a custom data identifier. Other users of your account might be able to see the identifier's name, depending on the actions that they're allowed to perform in Amazon Macie.

                                                                      + *

                                                                      A unique, case-sensitive token that you provide to ensure the idempotency of the request.

                                                                      */ - name?: string; + clientToken?: string; + + /** + *

                                                                      An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore words. Each ignore word can contain 4 - 90 characters. Ignore words are case sensitive.

                                                                      + */ + ignoreWords?: string[]; /** *

                                                                      A custom description of the custom data identifier. The description can contain as many as 512 characters.

                                                                      We strongly recommend that you avoid including any sensitive data in the description of a custom data identifier. Other users of your account might be able to see the identifier's description, depending on the actions that they're allowed to perform in Amazon Macie.

                                                                      */ - description?: string; + description?: string; + + /** + *

                                                                      The maximum number of characters that can exist between text that matches the regex pattern and the character sequences specified by the keywords array. Macie includes or excludes a result based on the proximity of a keyword to text that matches the regex pattern. The distance can be 1 - 300 characters. The default value is 50.

                                                                      + */ + maximumMatchDistance?: number; /** - *

                                                                      A map of key-value pairs that specifies the tags to associate with the custom data identifier.

                                                                      A custom data identifier can have a maximum of 50 tags. Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

                                                                      + *

                                                                      A map of key-value pairs that specifies the tags to associate with the custom data identifier.

                                                                      A custom data identifier can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

                                                                      */ tags?: { [key: string]: string }; /** - *

                                                                      A unique, case-sensitive token that you provide to ensure the idempotency of the request.

                                                                      + *

                                                                      A custom name for the custom data identifier. The name can contain as many as 128 characters.

                                                                      We strongly recommend that you avoid including any sensitive data in the name of a custom data identifier. Other users of your account might be able to see the identifier's name, depending on the actions that they're allowed to perform in Amazon Macie.

                                                                      */ - clientToken?: string; + name?: string; /** *

                                                                      The regular expression (regex) that defines the pattern to match. The expression can contain as many as 512 characters.

                                                                      @@ -2734,19 +2979,9 @@ export interface CreateCustomDataIdentifierRequest { regex?: string; /** - *

                                                                      The maximum number of characters that can exist between text that matches the regex pattern and the character sequences specified by the keywords array. Macie includes or excludes a result based on the proximity of a keyword to text that matches the regex pattern. The distance can be 1 - 300 characters. The default value is 50.

                                                                      - */ - maximumMatchDistance?: number; - - /** - *

                                                                      An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 4 - 90 characters.

                                                                      + *

                                                                      An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 4 - 90 characters. Keywords aren't case sensitive.

                                                                      */ keywords?: string[]; - - /** - *

                                                                      An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore words. Each ignore word can contain 4 - 90 characters.

                                                                      - */ - ignoreWords?: string[]; } export namespace CreateCustomDataIdentifierRequest { @@ -2773,34 +3008,34 @@ export namespace CreateCustomDataIdentifierResponse { */ export interface CriterionAdditionalProperties { /** - *

                                                                      An equal to condition to apply to a specified property value for findings.

                                                                      + *

                                                                      A greater than or equal to condition to apply to a specified property value for findings.

                                                                      */ - eq?: string[]; + gte?: number; /** - *

                                                                      A less than or equal to condition to apply to a specified property value for findings.

                                                                      + *

                                                                      A less than condition to apply to a specified property value for findings.

                                                                      */ - lte?: number; + lt?: number; /** - *

                                                                      A greater than condition to apply to a specified property value for findings.

                                                                      + *

                                                                      A less than or equal to condition to apply to a specified property value for findings.

                                                                      */ - gt?: number; + lte?: number; /** - *

                                                                      A less than condition to apply to a specified property value for findings.

                                                                      + *

                                                                      A not equal to condition to apply to a specified property value for findings.

                                                                      */ - lt?: number; + neq?: string[]; /** - *

                                                                      A not equal to condition to apply to a specified property value for findings.

                                                                      + *

                                                                      An equal to condition to apply to a specified property value for findings.

                                                                      */ - neq?: string[]; + eq?: string[]; /** - *

                                                                      A greater than or equal to condition to apply to a specified property value for findings.

                                                                      + *

                                                                      A greater than condition to apply to a specified property value for findings.

                                                                      */ - gte?: number; + gt?: number; } export namespace CriterionAdditionalProperties { @@ -2827,7 +3062,7 @@ export namespace FindingCriteria { export interface CreateFindingsFilterRequest { /** - *

                                                                      A map of key-value pairs that specifies the tags to associate with the filter.

                                                                      A findings filter can have a maximum of 50 tags. Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

                                                                      + *

                                                                      A map of key-value pairs that specifies the tags to associate with the filter.

                                                                      A findings filter can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

                                                                      */ tags?: { [key: string]: string }; @@ -2836,20 +3071,15 @@ export interface CreateFindingsFilterRequest { */ description?: string; - /** - *

                                                                      The criteria to use to filter findings.

                                                                      - */ - findingCriteria: FindingCriteria | undefined; - /** *

                                                                      A unique, case-sensitive token that you provide to ensure the idempotency of the request.

                                                                      */ clientToken?: string; /** - *

                                                                      The action to perform on findings that meet the filter criteria (findingCriteria). Valid values are: ARCHIVE, suppress (automatically archive) the findings; and, NOOP, don't perform any action on the findings.

                                                                      + *

                                                                      The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

                                                                      */ - action: FindingsFilterAction | string | undefined; + position?: number; /** *

                                                                      A custom name for the filter. The name must contain at least 3 characters and can contain as many as 64 characters.

                                                                      We strongly recommend that you avoid including any sensitive data in the name of a filter. Other users of your account might be able to see the filter's name, depending on the actions that they're allowed to perform in Amazon Macie.

                                                                      @@ -2857,9 +3087,14 @@ export interface CreateFindingsFilterRequest { name: string | undefined; /** - *

                                                                      The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

                                                                      + *

                                                                      The action to perform on findings that meet the filter criteria (findingCriteria). Valid values are: ARCHIVE, suppress (automatically archive) the findings; and, NOOP, don't perform any action on the findings.

                                                                      */ - position?: number; + action: FindingsFilterAction | string | undefined; + + /** + *

                                                                      The criteria to use to filter findings.

                                                                      + */ + findingCriteria: FindingCriteria | undefined; } export namespace CreateFindingsFilterRequest { @@ -2870,14 +3105,14 @@ export namespace CreateFindingsFilterRequest { export interface CreateFindingsFilterResponse { /** - *

                                                                      The unique identifier for the filter that was created.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the filter that was created.

                                                                      */ - id?: string; + arn?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the filter that was created.

                                                                      + *

                                                                      The unique identifier for the filter that was created.

                                                                      */ - arn?: string; + id?: string; } export namespace CreateFindingsFilterResponse { @@ -2888,14 +3123,14 @@ export namespace CreateFindingsFilterResponse { export interface CreateInvitationsRequest { /** - *

                                                                      A custom message to include in the invitation. Amazon Macie adds this message to the standard content that it sends for an invitation.

                                                                      + *

                                                                      Specifies whether to send an email notification to the root user of each account that the invitation will be sent to. This notification is in addition to an alert that the root user receives in AWS Personal Health Dashboard. To send an email notification to the root user of each account, set this value to true.

                                                                      */ - message?: string; + disableEmailNotification?: boolean; /** - *

                                                                      Specifies whether to send an email notification to the root user of each account that the invitation will be sent to. This notification is in addition to an alert that the root user receives in AWS Personal Health Dashboard. To send an email notification to the root user of each account, set this value to true.

                                                                      + *

                                                                      A custom message to include in the invitation. Amazon Macie adds this message to the standard content that it sends for an invitation.

                                                                      */ - disableEmailNotification?: boolean; + message?: string; /** *

                                                                      An array that lists AWS account IDs, one for each account to send the invitation to.

                                                                      @@ -2924,14 +3159,14 @@ export namespace CreateInvitationsResponse { export interface CreateMemberRequest { /** - *

                                                                      A map of key-value pairs that specifies the tags to associate with the account in Amazon Macie.

                                                                      An account can have a maximum of 50 tags. Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

                                                                      + *

                                                                      The details for the account to associate with the master account.

                                                                      */ - tags?: { [key: string]: string }; + account: AccountDetail | undefined; /** - *

                                                                      The details for the account to associate with the master account.

                                                                      + *

                                                                      A map of key-value pairs that specifies the tags to associate with the account in Amazon Macie.

                                                                      An account can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

                                                                      */ - account: AccountDetail | undefined; + tags?: { [key: string]: string }; } export namespace CreateMemberRequest { @@ -3091,24 +3326,24 @@ export namespace DeleteMemberResponse { export interface DescribeBucketsRequest { /** - *

                                                                      The criteria to use to sort the query results.

                                                                      + *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      */ - sortCriteria?: BucketSortCriteria; + nextToken?: string; /** - *

                                                                      The maximum number of items to include in each page of the response. The default value is 50.

                                                                      + *

                                                                      The criteria to use to filter the query results.

                                                                      */ - maxResults?: number; + criteria?: { [key: string]: BucketCriteriaAdditionalProperties }; /** - *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      + *

                                                                      The criteria to use to sort the query results.

                                                                      */ - nextToken?: string; + sortCriteria?: BucketSortCriteria; /** - *

                                                                      The criteria to use to filter the query results.

                                                                      + *

                                                                      The maximum number of items to include in each page of the response. The default value is 50.

                                                                      */ - criteria?: { [key: string]: BucketCriteriaAdditionalProperties }; + maxResults?: number; } export namespace DescribeBucketsRequest { @@ -3153,14 +3388,14 @@ export namespace DescribeClassificationJobRequest { */ export interface Statistics { /** - *

                                                                      The approximate number of objects that the job has yet to process during its current run.

                                                                      + *

                                                                      The number of times that the job has run.

                                                                      */ - approximateNumberOfObjectsToProcess?: number; + numberOfRuns?: number; /** - *

                                                                      The number of times that the job has run.

                                                                      + *

                                                                      The approximate number of objects that the job has yet to process during its current run.

                                                                      */ - numberOfRuns?: number; + approximateNumberOfObjectsToProcess?: number; } export namespace Statistics { @@ -3171,29 +3406,29 @@ export namespace Statistics { export interface DescribeClassificationJobResponse { /** - *

                                                                      The schedule for running the job. Possible values are:

                                                                      • ONE_TIME - The job ran or will run only once.

                                                                      • SCHEDULED - The job runs on a daily, weekly, or monthly basis. The scheduleFrequency property indicates the recurrence pattern for the job.

                                                                      + *

                                                                      A map of key-value pairs that specifies which tags (keys and values) are associated with the classification job.

                                                                      */ - jobType?: JobType | string; + tags?: { [key: string]: string }; /** - *

                                                                      The token that was provided to ensure the idempotency of the request to create the job.

                                                                      + *

                                                                      The S3 buckets that the job is configured to analyze, and the scope of that analysis.

                                                                      */ - clientToken?: string; + s3JobDefinition?: S3JobDefinition; /** - *

                                                                      The custom data identifiers that the job uses to analyze data.

                                                                      + *

                                                                      The token that was provided to ensure the idempotency of the request to create the job.

                                                                      */ - customDataIdentifierIds?: string[]; + clientToken?: string; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the job last ran.

                                                                      + *

                                                                      The number of times that the job has run and processing statistics for the job's current run.

                                                                      */ - lastRunTime?: Date; + statistics?: Statistics; /** - *

                                                                      The Amazon Resource Name (ARN) of the job.

                                                                      + *

                                                                      If the current status of the job is USER_PAUSED, specifies when the job was paused and when the job will expire and be cancelled if it isn't resumed. This value is present only if the value for jobStatus is USER_PAUSED.

                                                                      */ - jobArn?: string; + userPausedDetails?: UserPausedDetails; /** *

                                                                      The custom description of the job.

                                                                      @@ -3201,44 +3436,44 @@ export interface DescribeClassificationJobResponse { description?: string; /** - *

                                                                      A map of key-value pairs that identifies the tags (keys and values) that are associated with the classification job.

                                                                      + *

                                                                      Specifies whether the job is configured to analyze all existing, eligible objects immediately after it's created.

                                                                      */ - tags?: { [key: string]: string }; + initialRun?: boolean; /** - *

                                                                      The sampling depth, as a percentage, that the job applies when it processes objects.

                                                                      + *

                                                                      The sampling depth, as a percentage, that determines the percentage of eligible objects that the job analyzes.

                                                                      */ samplingPercentage?: number; /** - *

                                                                      Specifies whether the job has run for the first time.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the job.

                                                                      */ - initialRun?: boolean; + jobArn?: string; /** - *

                                                                      The current status of the job. Possible values are:

                                                                      • CANCELLED - The job was cancelled by you or a user of the master account for your organization. A job might also be cancelled if ownership of an S3 bucket changed while the job was running, and that change affected the job's access to the bucket.

                                                                      • COMPLETE - Amazon Macie finished processing all the data specified for the job.

                                                                      • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to jobs that occur only once.

                                                                      • PAUSED - Amazon Macie started the job, but completion of the job would exceed one or more quotas for your account.

                                                                      • RUNNING - The job is in progress.

                                                                      + *

                                                                      The custom data identifiers that the job uses to analyze data.

                                                                      */ - jobStatus?: JobStatus | string; + customDataIdentifierIds?: string[]; /** - *

                                                                      The S3 buckets that the job is configured to analyze, and the scope of that analysis.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the job was created.

                                                                      */ - s3JobDefinition?: S3JobDefinition; + createdAt?: Date; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the job was created.

                                                                      + *

                                                                      The unique identifier for the job.

                                                                      */ - createdAt?: Date; + jobId?: string; /** - *

                                                                      The recurrence pattern for running the job. If the job is configured to run only once, this value is null.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the job last ran.

                                                                      */ - scheduleFrequency?: JobScheduleFrequency; + lastRunTime?: Date; /** - *

                                                                      The unique identifier for the job.

                                                                      + *

                                                                      The schedule for running the job. Possible values are:

                                                                      • ONE_TIME - The job runs only once.

                                                                      • SCHEDULED - The job runs on a daily, weekly, or monthly basis. The scheduleFrequency property indicates the recurrence pattern for the job.

                                                                      */ - jobId?: string; + jobType?: JobType | string; /** *

                                                                      The custom name of the job.

                                                                      @@ -3246,9 +3481,14 @@ export interface DescribeClassificationJobResponse { name?: string; /** - *

                                                                      The number of times that the job has run and processing statistics for the job's most recent run.

                                                                      + *

                                                                      The recurrence pattern for running the job. If the job is configured to run only once, this value is null.

                                                                      */ - statistics?: Statistics; + scheduleFrequency?: JobScheduleFrequency; + + /** + *

                                                                      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.

                                                                      + */ + jobStatus?: JobStatus | string; } export namespace DescribeClassificationJobResponse { @@ -3369,6 +3609,11 @@ export enum MacieStatus { } export interface EnableMacieRequest { + /** + *

                                                                      Specifies the status for the account. To enable Amazon Macie and start all Amazon Macie activities for the account, set this value to ENABLED.

                                                                      + */ + status?: MacieStatus | string; + /** *

                                                                      A unique, case-sensitive token that you provide to ensure the idempotency of the request.

                                                                      */ @@ -3378,11 +3623,6 @@ export interface EnableMacieRequest { * Specifies how often to publish updates to policy findings for the account. This includes publishing updates to AWS Security Hub and Amazon EventBridge (formerly called Amazon CloudWatch Events). */ findingPublishingFrequency?: FindingPublishingFrequency | string; - - /** - *

                                                                      Specifies the status for the account. To enable Amazon Macie and start all Amazon Macie activities for the account, set this value to ENABLED.

                                                                      - */ - status?: MacieStatus | string; } export namespace EnableMacieRequest { @@ -3401,14 +3641,14 @@ export namespace EnableMacieResponse { export interface EnableOrganizationAdminAccountRequest { /** - *

                                                                      A unique, case-sensitive token that you provide to ensure the idempotency of the request.

                                                                      + *

                                                                      The AWS account ID for the account.

                                                                      */ - clientToken?: string; + adminAccountId: string | undefined; /** - *

                                                                      The AWS account ID for the account.

                                                                      + *

                                                                      A unique, case-sensitive token that you provide to ensure the idempotency of the request.

                                                                      */ - adminAccountId: string | undefined; + clientToken?: string; } export namespace EnableOrganizationAdminAccountRequest { @@ -3435,14 +3675,14 @@ export enum FindingStatisticsSortAttributeName { */ export interface FindingStatisticsSortCriteria { /** - *

                                                                      The grouping to sort the results by. Valid values are: count, sort the results by the number of findings in each group of results; and, groupKey, sort the results by the name of each group of results.

                                                                      + *

                                                                      The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

                                                                      */ - attributeName?: FindingStatisticsSortAttributeName | string; + orderBy?: OrderBy | string; /** - *

                                                                      The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

                                                                      + *

                                                                      The grouping to sort the results by. Valid values are: count, sort the results by the number of findings in each group of results; and, groupKey, sort the results by the name of each group of results.

                                                                      */ - orderBy?: OrderBy | string; + attributeName?: FindingStatisticsSortAttributeName | string; } export namespace FindingStatisticsSortCriteria { @@ -3466,39 +3706,54 @@ export namespace GetBucketStatisticsRequest { export interface GetBucketStatisticsResponse { /** - *

                                                                      The total number of buckets, grouped by server-side encryption type. This object also reports the total number of buckets that aren't encrypted.

                                                                      + *

                                                                      The total number of objects that Amazon Macie can't analyze in the buckets. These objects don't use a supported storage class or don't have a file name extension for a supported file or storage format.

                                                                      */ - bucketCountByEncryptionType?: BucketCountByEncryptionType; + unclassifiableObjectCount?: ObjectLevelStatistics; /** - *

                                                                      The total storage size, in bytes, of all the buckets.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when Amazon Macie most recently retrieved data about the buckets from Amazon S3.

                                                                      */ - sizeInBytes?: number; + lastUpdated?: Date; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when Amazon Macie last analyzed the buckets.

                                                                      + *

                                                                      The total number of buckets.

                                                                      */ - lastUpdated?: Date; + bucketCount?: number; + + /** + *

                                                                      The total number of buckets that are publicly accessible based on a combination of permissions settings for each bucket.

                                                                      + */ + bucketCountByEffectivePermission?: BucketCountByEffectivePermission; /** - *

                                                                      The total number of objects that Amazon Macie can analyze in all the buckets. These objects use a file format, file extension, or content type that Amazon Macie supports.

                                                                      + *

                                                                      The total number of objects that Amazon Macie can analyze in the buckets. These objects use a supported storage class and have a file name extension for a supported file or storage format.

                                                                      */ classifiableObjectCount?: number; /** - *

                                                                      The total number of buckets that are publicly accessible based on a combination of permissions settings for each bucket.

                                                                      + *

                                                                      The total storage size, in bytes, of all the objects that Amazon Macie can't analyze in the buckets. These objects don't use a supported storage class or don't have a file name extension for a supported file or storage format.

                                                                      */ - bucketCountByEffectivePermission?: BucketCountByEffectivePermission; + unclassifiableObjectSizeInBytes?: ObjectLevelStatistics; /** - *

                                                                      The total number of objects in all the buckets.

                                                                      + *

                                                                      The total number of objects in the buckets.

                                                                      */ objectCount?: number; /** - *

                                                                      The total compressed storage size, in bytes, of all the buckets.

                                                                      + *

                                                                      The total number of buckets, grouped by server-side encryption type. This object also reports the total number of buckets that don't encrypt objects by default.

                                                                      */ - sizeInBytesCompressed?: number; + bucketCountByEncryptionType?: BucketCountByEncryptionType; + + /** + *

                                                                      The total storage size, in bytes, of all the objects that Amazon Macie can analyze in the buckets. These objects use a supported storage class and have a file name extension for a supported file or storage format.

                                                                      + */ + classifiableSizeInBytes?: number; + + /** + *

                                                                      The total storage size, in bytes, of the buckets.

                                                                      + */ + sizeInBytes?: number; /** *

                                                                      The total number of buckets that are shared with another AWS account.

                                                                      @@ -3506,9 +3761,9 @@ export interface GetBucketStatisticsResponse { bucketCountBySharedAccessType?: BucketCountBySharedAccessType; /** - *

                                                                      The total number of buckets.

                                                                      + *

                                                                      The total compressed storage size, in bytes, of the buckets.

                                                                      */ - bucketCount?: number; + sizeInBytesCompressed?: number; } export namespace GetBucketStatisticsResponse { @@ -3553,24 +3808,24 @@ export namespace GetCustomDataIdentifierRequest { export interface GetCustomDataIdentifierResponse { /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

                                                                      + *

                                                                      An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. Keywords aren't case sensitive.

                                                                      */ - createdAt?: Date; + keywords?: string[]; /** - *

                                                                      The regular expression (regex) that defines the pattern to match.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the custom data identifier.

                                                                      */ - regex?: string; + arn?: string; /** - *

                                                                      A map of key-value pairs that identifies the tags (keys and values) that are associated with the custom data identifier.

                                                                      + *

                                                                      The maximum number of characters that can exist between text that matches the regex pattern and the character sequences specified by the keywords array. Macie includes or excludes a result based on the proximity of a keyword to text that matches the regex pattern.

                                                                      */ - tags?: { [key: string]: string }; + maximumMatchDistance?: number; /** - *

                                                                      The custom description of the custom data identifier.

                                                                      + *

                                                                      The unique identifier for the custom data identifier.

                                                                      */ - description?: string; + id?: string; /** *

                                                                      Specifies whether the custom data identifier was deleted. If you delete a custom data identifier, Amazon Macie doesn't delete it permanently. Instead, it soft deletes the identifier.

                                                                      @@ -3578,34 +3833,34 @@ export interface GetCustomDataIdentifierResponse { deleted?: boolean; /** - *

                                                                      The maximum number of characters that can exist between text that matches the regex pattern and the character sequences specified by the keywords array. Macie includes or excludes a result based on the proximity of a keyword to text that matches the regex pattern.

                                                                      + *

                                                                      The custom name of the custom data identifier.

                                                                      */ - maximumMatchDistance?: number; + name?: string; /** - *

                                                                      The custom name of the custom data identifier.

                                                                      + *

                                                                      The regular expression (regex) that defines the pattern to match.

                                                                      */ - name?: string; + regex?: string; /** - *

                                                                      An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match.

                                                                      + *

                                                                      The custom description of the custom data identifier.

                                                                      */ - keywords?: string[]; + description?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the custom data identifier.

                                                                      + *

                                                                      A map of key-value pairs that identifies the tags (keys and values) that are associated with the custom data identifier.

                                                                      */ - arn?: string; + tags?: { [key: string]: string }; /** - *

                                                                      An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it.

                                                                      + *

                                                                      An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it. Ignore words are case sensitive.

                                                                      */ ignoreWords?: string[]; /** - *

                                                                      The unique identifier for the custom data identifier.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

                                                                      */ - id?: string; + createdAt?: Date; } export namespace GetCustomDataIdentifierResponse { @@ -3615,18 +3870,18 @@ export namespace GetCustomDataIdentifierResponse { } /** - *

                                                                      Specifies criteria for sorting the results of a request for information about findings.

                                                                      + *

                                                                      Specifies criteria for sorting the results of a request for findings.

                                                                      */ export interface SortCriteria { /** - *

                                                                      The name of the property to sort the results by. This value can be the name of any property that Amazon Macie defines for a finding.

                                                                      + *

                                                                      The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

                                                                      */ - attributeName?: string; + orderBy?: OrderBy | string; /** - *

                                                                      The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

                                                                      + *

                                                                      The name of the property to sort the results by. This value can be the name of any property that Amazon Macie defines for a finding.

                                                                      */ - orderBy?: OrderBy | string; + attributeName?: string; } export namespace SortCriteria { @@ -3637,14 +3892,14 @@ export namespace SortCriteria { export interface GetFindingsRequest { /** - *

                                                                      The criteria for sorting the results of the request.

                                                                      + *

                                                                      An array of strings that lists the unique identifiers for the findings to retrieve.

                                                                      */ - sortCriteria?: SortCriteria; + findingIds: string[] | undefined; /** - *

                                                                      An array of strings that lists the unique identifiers for the findings to retrieve information about.

                                                                      + *

                                                                      The criteria for sorting the results of the request.

                                                                      */ - findingIds: string[] | undefined; + sortCriteria?: SortCriteria; } export namespace GetFindingsRequest { @@ -3681,9 +3936,14 @@ export namespace GetFindingsFilterRequest { export interface GetFindingsFilterResponse { /** - *

                                                                      The Amazon Resource Name (ARN) of the filter.

                                                                      + *

                                                                      The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

                                                                      */ - arn?: string; + position?: number; + + /** + *

                                                                      The custom description of the filter.

                                                                      + */ + description?: string; /** *

                                                                      The unique identifier for the filter.

                                                                      @@ -3696,29 +3956,24 @@ export interface GetFindingsFilterResponse { action?: FindingsFilterAction | string; /** - *

                                                                      The custom description of the filter.

                                                                      + *

                                                                      The criteria that's used to filter findings.

                                                                      */ - description?: string; + findingCriteria?: FindingCriteria; /** - *

                                                                      The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the filter.

                                                                      */ - position?: number; + arn?: string; /** - *

                                                                      The criteria that's used to filter findings.

                                                                      + *

                                                                      A map of key-value pairs that identifies the tags (keys and values) that are associated with the filter.

                                                                      */ - findingCriteria?: FindingCriteria; + tags?: { [key: string]: string }; /** *

                                                                      The custom name of the filter.

                                                                      */ name?: string; - - /** - *

                                                                      A map of key-value pairs that identifies the tags (keys and values) that are associated with the filter.

                                                                      - */ - tags?: { [key: string]: string }; } export namespace GetFindingsFilterResponse { @@ -3736,24 +3991,24 @@ export enum GroupBy { export interface GetFindingStatisticsRequest { /** - *

                                                                      The maximum number of items to include in each page of the response.

                                                                      + *

                                                                      The finding property to use to group the query results. Valid values are:

                                                                      • classificationDetails.jobId - The unique identifier for the classification job that produced the finding.

                                                                      • resourcesAffected.s3Bucket.name - The name of the S3 bucket that the finding applies to.

                                                                      • severity.description - The severity level of the finding, such as High or Medium.

                                                                      • type - The type of finding, such as Policy:IAMUser/S3BucketPublic and SensitiveData:S3Object/Personal.

                                                                      */ - size?: number; + groupBy: GroupBy | string | undefined; /** - *

                                                                      The criteria to use to sort the query results.

                                                                      + *

                                                                      The criteria to use to filter the query results.

                                                                      */ - sortCriteria?: FindingStatisticsSortCriteria; + findingCriteria?: FindingCriteria; /** - *

                                                                      The finding property to use to group the query results. Valid values are:

                                                                      • classificationDetails.jobId - The unique identifier for the classification job that produced the finding.

                                                                      • resourcesAffected.s3Bucket.name - The name of the S3 bucket that the finding applies to.

                                                                      • severity.description - The severity of the finding, such as High or Medium.

                                                                      • type - The type of finding, such as Policy:IAMUser/S3BucketPublic and SensitiveData:S3Object/Personal.

                                                                      + *

                                                                      The maximum number of items to include in each page of the response.

                                                                      */ - groupBy: GroupBy | string | undefined; + size?: number; /** - *

                                                                      The criteria to use to filter the query results.

                                                                      + *

                                                                      The criteria to use to sort the query results.

                                                                      */ - findingCriteria?: FindingCriteria; + sortCriteria?: FindingStatisticsSortCriteria; } export namespace GetFindingStatisticsRequest { @@ -3806,29 +4061,29 @@ export namespace GetMacieSessionRequest { export interface GetMacieSessionResponse { /** - *

                                                                      The current status of the Amazon Macie account. Possible values are: PAUSED, the account is enabled but all Amazon Macie activities are suspended (paused) for the account; and, ENABLED, the account is enabled and all Amazon Macie activities are enabled for the account.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the Amazon Macie account was created.

                                                                      */ - status?: MacieStatus | string; + createdAt?: Date; /** - *

                                                                      The frequency with which Amazon Macie publishes updates to policy findings for the account. This includes publishing updates to AWS Security Hub and Amazon EventBridge (formerly called Amazon CloudWatch Events).

                                                                      + *

                                                                      The current status of the Amazon Macie account. Possible values are: PAUSED, the account is enabled but all Amazon Macie activities are suspended (paused) for the account; and, ENABLED, the account is enabled and all Amazon Macie activities are enabled for the account.

                                                                      */ - findingPublishingFrequency?: FindingPublishingFrequency | string; + status?: MacieStatus | string; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, of the most recent change to the status of the Amazon Macie account.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the service-linked role that allows Amazon Macie to monitor and analyze data in AWS resources for the account.

                                                                      */ - updatedAt?: Date; + serviceRole?: string; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when the Amazon Macie account was created.

                                                                      + *

                                                                      The frequency with which Amazon Macie publishes updates to policy findings for the account. This includes publishing updates to AWS Security Hub and Amazon EventBridge (formerly called Amazon CloudWatch Events).

                                                                      */ - createdAt?: Date; + findingPublishingFrequency?: FindingPublishingFrequency | string; /** - *

                                                                      The Amazon Resource Name (ARN) of the service-linked role that allows Amazon Macie to monitor and analyze data in AWS resources for the account.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, of the most recent change to the status of the Amazon Macie account.

                                                                      */ - serviceRole?: string; + updatedAt?: Date; } export namespace GetMacieSessionResponse { @@ -3872,6 +4127,11 @@ export namespace GetMemberRequest { } export interface GetMemberResponse { + /** + *

                                                                      The current status of the relationship between the account and the master account.

                                                                      + */ + relationshipStatus?: RelationshipStatus | string; + /** *

                                                                      The AWS account ID for the account.

                                                                      */ @@ -3883,34 +4143,29 @@ export interface GetMemberResponse { arn?: string; /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie membership invitation was last sent to the account. This value is null if a Macie invitation hasn't been sent to the account.

                                                                      - */ - invitedAt?: Date; - - /** - *

                                                                      The date and time, in UTC and extended ISO 8601 format, of the most recent change to the status of the relationship between the account and the master account.

                                                                      + *

                                                                      A map of key-value pairs that identifies the tags (keys and values) that are associated with the member account in Amazon Macie.

                                                                      */ - updatedAt?: Date; + tags?: { [key: string]: string }; /** - *

                                                                      The email address for the account.

                                                                      + *

                                                                      The AWS account ID for the master account.

                                                                      */ - email?: string; + masterAccountId?: string; /** - *

                                                                      The current status of the relationship between the account and the master account.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie membership invitation was last sent to the account. This value is null if a Macie invitation hasn't been sent to the account.

                                                                      */ - relationshipStatus?: RelationshipStatus | string; + invitedAt?: Date; /** - *

                                                                      A map of key-value pairs that identifies the tags (keys and values) that are associated with the member account in Amazon Macie.

                                                                      + *

                                                                      The email address for the account.

                                                                      */ - tags?: { [key: string]: string }; + email?: string; /** - *

                                                                      The AWS account ID for the master account.

                                                                      + *

                                                                      The date and time, in UTC and extended ISO 8601 format, of the most recent change to the status of the relationship between the account and the master account.

                                                                      */ - masterAccountId?: string; + updatedAt?: Date; } export namespace GetMemberResponse { @@ -3948,11 +4203,6 @@ export namespace UsageStatisticsSortBy { } export interface GetUsageStatisticsRequest { - /** - *

                                                                      An array of objects, one for each condition to use to filter the query results. If the array contains more than one object, Amazon Macie uses an AND operator to join the conditions specified by the objects.

                                                                      - */ - filterBy?: UsageStatisticsFilter[]; - /** *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      */ @@ -3967,6 +4217,11 @@ export interface GetUsageStatisticsRequest { *

                                                                      The criteria to use to sort the query results.

                                                                      */ sortBy?: UsageStatisticsSortBy; + + /** + *

                                                                      An array of objects, one for each condition to use to filter the query results. If the array contains more than one object, Amazon Macie uses an AND operator to join the conditions specified by the objects.

                                                                      + */ + filterBy?: UsageStatisticsFilter[]; } export namespace GetUsageStatisticsRequest { @@ -4064,6 +4319,11 @@ export namespace ListJobsSortCriteria { } export interface ListClassificationJobsRequest { + /** + *

                                                                      The criteria to use to sort the results.

                                                                      + */ + sortCriteria?: ListJobsSortCriteria; + /** *

                                                                      The criteria to use to filter the results.

                                                                      */ @@ -4074,11 +4334,6 @@ export interface ListClassificationJobsRequest { */ maxResults?: number; - /** - *

                                                                      The criteria to use to sort the results.

                                                                      - */ - sortCriteria?: ListJobsSortCriteria; - /** *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      */ @@ -4111,14 +4366,14 @@ export namespace ListClassificationJobsResponse { export interface ListCustomDataIdentifiersRequest { /** - *

                                                                      The maximum number of items to include in each page of the response.

                                                                      + *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      */ - maxResults?: number; + nextToken?: string; /** - *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      + *

                                                                      The maximum number of items to include in each page of the response.

                                                                      */ - nextToken?: string; + maxResults?: number; } export namespace ListCustomDataIdentifiersRequest { @@ -4147,24 +4402,24 @@ export namespace ListCustomDataIdentifiersResponse { export interface ListFindingsRequest { /** - *

                                                                      The maximum number of items to include in each page of the response.

                                                                      + *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      */ - maxResults?: number; + nextToken?: string; /** - *

                                                                      The criteria to use to sort the results.

                                                                      + *

                                                                      The criteria to use to filter the results.

                                                                      */ - sortCriteria?: SortCriteria; + findingCriteria?: FindingCriteria; /** - *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      + *

                                                                      The criteria to use to sort the results.

                                                                      */ - nextToken?: string; + sortCriteria?: SortCriteria; /** - *

                                                                      The criteria to use to filter the results.

                                                                      + *

                                                                      The maximum number of items to include in each page of the response.

                                                                      */ - findingCriteria?: FindingCriteria; + maxResults?: number; } export namespace ListFindingsRequest { @@ -4175,14 +4430,14 @@ export namespace ListFindingsRequest { export interface ListFindingsResponse { /** - *

                                                                      An array of strings, where each string is the unique identifier for a finding that meets the filter criteria specified in the request.

                                                                      + *

                                                                      The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                                      */ - findingIds?: string[]; + nextToken?: string; /** - *

                                                                      The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                                      + *

                                                                      An array of strings, where each string is the unique identifier for a finding that meets the filter criteria specified in the request.

                                                                      */ - nextToken?: string; + findingIds?: string[]; } export namespace ListFindingsResponse { @@ -4193,14 +4448,14 @@ export namespace ListFindingsResponse { export interface ListFindingsFiltersRequest { /** - *

                                                                      The maximum number of items to include in each page of a paginated response.

                                                                      + *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      */ - maxResults?: number; + nextToken?: string; /** - *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      + *

                                                                      The maximum number of items to include in each page of a paginated response.

                                                                      */ - nextToken?: string; + maxResults?: number; } export namespace ListFindingsFiltersRequest { @@ -4229,14 +4484,14 @@ export namespace ListFindingsFiltersResponse { export interface ListInvitationsRequest { /** - *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      + *

                                                                      The maximum number of items to include in each page of a paginated response.

                                                                      */ - nextToken?: string; + maxResults?: number; /** - *

                                                                      The maximum number of items to include in each page of a paginated response.

                                                                      + *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      */ - maxResults?: number; + nextToken?: string; } export namespace ListInvitationsRequest { @@ -4247,14 +4502,14 @@ export namespace ListInvitationsRequest { export interface ListInvitationsResponse { /** - *

                                                                      An array of objects, one for each invitation that was received by the account.

                                                                      + *

                                                                      The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                                      */ - invitations?: Invitation[]; + nextToken?: string; /** - *

                                                                      The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                                      + *

                                                                      An array of objects, one for each invitation that was received by the account.

                                                                      */ - nextToken?: string; + invitations?: Invitation[]; } export namespace ListInvitationsResponse { @@ -4270,14 +4525,14 @@ export interface ListMembersRequest { maxResults?: number; /** - *

                                                                      Specifies which accounts to include in the response, based on the status of an account's relationship with the master account. By default, the response includes only current member accounts. To include all accounts, set the value for this parameter to false.

                                                                      + *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      */ - onlyAssociated?: string; + nextToken?: string; /** - *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      + *

                                                                      Specifies which accounts to include in the response, based on the status of an account's relationship with the master account. By default, the response includes only current member accounts. To include all accounts, set the value for this parameter to false.

                                                                      */ - nextToken?: string; + onlyAssociated?: string; } export namespace ListMembersRequest { @@ -4288,14 +4543,14 @@ export namespace ListMembersRequest { export interface ListMembersResponse { /** - *

                                                                      An array of objects, one for each account that's associated with the master account and meets the criteria specified by the onlyAssociated request parameter.

                                                                      + *

                                                                      The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                                      */ - members?: Member[]; + nextToken?: string; /** - *

                                                                      The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                                      + *

                                                                      An array of objects, one for each account that's associated with the master account and meets the criteria specified by the onlyAssociated request parameter.

                                                                      */ - nextToken?: string; + members?: Member[]; } export namespace ListMembersResponse { @@ -4306,14 +4561,14 @@ export namespace ListMembersResponse { export interface ListOrganizationAdminAccountsRequest { /** - *

                                                                      The maximum number of items to include in each page of a paginated response.

                                                                      + *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      */ - maxResults?: number; + nextToken?: string; /** - *

                                                                      The nextToken string that specifies which page of results to return in a paginated response.

                                                                      + *

                                                                      The maximum number of items to include in each page of a paginated response.

                                                                      */ - nextToken?: string; + maxResults?: number; } export namespace ListOrganizationAdminAccountsRequest { @@ -4324,14 +4579,14 @@ export namespace ListOrganizationAdminAccountsRequest { export interface ListOrganizationAdminAccountsResponse { /** - *

                                                                      An array of objects, one for each account that's designated as a delegated administrator of Amazon Macie for the AWS organization. Of those accounts, only one can have a status of ENABLED.

                                                                      + *

                                                                      The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                                      */ - adminAccounts?: AdminAccount[]; + nextToken?: string; /** - *

                                                                      The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                                      + *

                                                                      An array of objects, one for each account that's designated as a delegated administrator of Amazon Macie for the AWS organization. Of those accounts, only one can have a status of ENABLED.

                                                                      */ - nextToken?: string; + adminAccounts?: AdminAccount[]; } export namespace ListOrganizationAdminAccountsResponse { @@ -4394,14 +4649,14 @@ export namespace PutClassificationExportConfigurationResponse { export interface TagResourceRequest { /** - *

                                                                      A map of key-value pairs that specifies the tags to associate with the resource.

                                                                      A resource can have a maximum of 50 tags. Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the classification job, custom data identifier, findings filter, or member account.

                                                                      */ - tags: { [key: string]: string } | undefined; + resourceArn: string | undefined; /** - *

                                                                      The Amazon Resource Name (ARN) of the classification job, custom data identifier, findings filter, or member account.

                                                                      + *

                                                                      A map of key-value pairs that specifies the tags to associate with the resource.

                                                                      A resource can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

                                                                      */ - resourceArn: string | undefined; + tags: { [key: string]: string } | undefined; } export namespace TagResourceRequest { @@ -4420,29 +4675,29 @@ export namespace TagResourceResponse { export interface TestCustomDataIdentifierRequest { /** - *

                                                                      The regular expression (regex) that defines the pattern to match. The expression can contain as many as 512 characters.

                                                                      - */ - regex: string | undefined; - - /** - *

                                                                      An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore words. Each ignore word can contain 4 - 90 characters.

                                                                      + *

                                                                      The maximum number of characters that can exist between text that matches the regex pattern and the character sequences specified by the keywords array. Macie includes or excludes a result based on the proximity of a keyword to text that matches the regex pattern. The distance can be 1 - 300 characters. The default value is 50.

                                                                      */ - ignoreWords?: string[]; + maximumMatchDistance?: number; /** - *

                                                                      An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 4 - 90 characters.

                                                                      + *

                                                                      An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 4 - 90 characters. Keywords aren't case sensitive.

                                                                      */ keywords?: string[]; /** - *

                                                                      The maximum number of characters that can exist between text that matches the regex pattern and the character sequences specified by the keywords array. Macie includes or excludes a result based on the proximity of a keyword to text that matches the regex pattern. The distance can be 1 - 300 characters. The default value is 50.

                                                                      + *

                                                                      An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore words. Each ignore word can contain 4 - 90 characters. Ignore words are case sensitive.

                                                                      */ - maximumMatchDistance?: number; + ignoreWords?: string[]; /** *

                                                                      The sample text to inspect by using the custom data identifier. The text can contain as many as 1,000 characters.

                                                                      */ sampleText: string | undefined; + + /** + *

                                                                      The regular expression (regex) that defines the pattern to match. The expression can contain as many as 512 characters.

                                                                      + */ + regex: string | undefined; } export namespace TestCustomDataIdentifierRequest { @@ -4466,14 +4721,14 @@ export namespace TestCustomDataIdentifierResponse { export interface UntagResourceRequest { /** - *

                                                                      The Amazon Resource Name (ARN) of the classification job, custom data identifier, findings filter, or member account.

                                                                      + *

                                                                      The key of the tag to remove from the resource. To remove multiple tags, append the tagKeys parameter and argument for each additional tag to remove, separated by an ampersand (&).

                                                                      */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; /** - *

                                                                      The key of the tag to remove from the resource. To remove multiple tags, append the tagKeys parameter and argument for each additional tag to remove, separated by an ampersand (&).

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the classification job, custom data identifier, findings filter, or member account.

                                                                      */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -4497,7 +4752,7 @@ export interface UpdateClassificationJobRequest { jobId: string | undefined; /** - *

                                                                      The status to change the job's status to. The only supported value is CANCELLED, which cancels the job completely.

                                                                      + *

                                                                      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.

                                                                      */ jobStatus: JobStatus | string | undefined; } @@ -4518,9 +4773,9 @@ export namespace UpdateClassificationJobResponse { export interface UpdateFindingsFilterRequest { /** - *

                                                                      A custom description of the filter. The description can contain as many as 512 characters.

                                                                      We strongly recommend that you avoid including any sensitive data in the description of a filter. Other users might be able to see the filter's description, depending on the actions that they're allowed to perform in Amazon Macie.

                                                                      + *

                                                                      The unique identifier for the Amazon Macie resource or account that the request applies to.

                                                                      */ - description?: string; + id: string | undefined; /** *

                                                                      The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

                                                                      @@ -4528,24 +4783,24 @@ export interface UpdateFindingsFilterRequest { position?: number; /** - *

                                                                      A custom name for the filter. The name must contain at least 3 characters and can contain as many as 64 characters.

                                                                      We strongly recommend that you avoid including any sensitive data in the name of a filter. Other users might be able to see the filter's name, depending on the actions that they're allowed to perform in Amazon Macie.

                                                                      + *

                                                                      The action to perform on findings that meet the filter criteria (findingCriteria). Valid values are: ARCHIVE, suppress (automatically archive) the findings; and, NOOP, don't perform any action on the findings.

                                                                      */ - name?: string; + action?: FindingsFilterAction | string; /** - *

                                                                      The unique identifier for the Amazon Macie resource or account that the request applies to.

                                                                      + *

                                                                      A custom description of the filter. The description can contain as many as 512 characters.

                                                                      We strongly recommend that you avoid including any sensitive data in the description of a filter. Other users might be able to see the filter's description, depending on the actions that they're allowed to perform in Amazon Macie.

                                                                      */ - id: string | undefined; + description?: string; /** - *

                                                                      The action to perform on findings that meet the filter criteria (findingCriteria). Valid values are: ARCHIVE, suppress (automatically archive) the findings; and, NOOP, don't perform any action on the findings.

                                                                      + *

                                                                      The criteria to use to filter findings.

                                                                      */ - action?: FindingsFilterAction | string; + findingCriteria?: FindingCriteria; /** - *

                                                                      The criteria to use to filter findings.

                                                                      + *

                                                                      A custom name for the filter. The name must contain at least 3 characters and can contain as many as 64 characters.

                                                                      We strongly recommend that you avoid including any sensitive data in the name of a filter. Other users might be able to see the filter's name, depending on the actions that they're allowed to perform in Amazon Macie.

                                                                      */ - findingCriteria?: FindingCriteria; + name?: string; } export namespace UpdateFindingsFilterRequest { @@ -4556,14 +4811,14 @@ export namespace UpdateFindingsFilterRequest { export interface UpdateFindingsFilterResponse { /** - *

                                                                      The unique identifier for the filter that was updated.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the filter that was updated.

                                                                      */ - id?: string; + arn?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the filter that was updated.

                                                                      + *

                                                                      The unique identifier for the filter that was updated.

                                                                      */ - arn?: string; + id?: string; } export namespace UpdateFindingsFilterResponse { @@ -4600,14 +4855,14 @@ export namespace UpdateMacieSessionResponse { export interface UpdateMemberSessionRequest { /** - *

                                                                      Specifies the new status for the account. Valid values are: ENABLED, resume all Amazon Macie activities for the account; and, PAUSED, suspend all Macie activities for the account.

                                                                      + *

                                                                      The unique identifier for the Amazon Macie resource or account that the request applies to.

                                                                      */ - status: MacieStatus | string | undefined; + id: string | undefined; /** - *

                                                                      The unique identifier for the Amazon Macie resource or account that the request applies to.

                                                                      + *

                                                                      Specifies the new status for the account. Valid values are: ENABLED, resume all Amazon Macie activities for the account; and, PAUSED, suspend all Macie activities for the account.

                                                                      */ - id: string | undefined; + status: MacieStatus | string | undefined; } export namespace UpdateMemberSessionRequest { diff --git a/clients/client-macie2/pagination/DescribeBucketsPaginator.ts b/clients/client-macie2/pagination/DescribeBucketsPaginator.ts new file mode 100644 index 000000000000..579718dd4577 --- /dev/null +++ b/clients/client-macie2/pagination/DescribeBucketsPaginator.ts @@ -0,0 +1,51 @@ +import { Macie2 } from "../Macie2"; +import { Macie2Client } from "../Macie2Client"; +import { + DescribeBucketsCommand, + DescribeBucketsCommandInput, + DescribeBucketsCommandOutput, +} from "../commands/DescribeBucketsCommand"; +import { Macie2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Macie2Client, + input: DescribeBucketsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeBucketsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Macie2, + input: DescribeBucketsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeBuckets(input, ...args); +}; +export async function* describeBucketsPaginate( + config: Macie2PaginationConfiguration, + input: DescribeBucketsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeBucketsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Macie2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Macie2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Macie2 | Macie2Client"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-macie2/pagination/GetUsageStatisticsPaginator.ts b/clients/client-macie2/pagination/GetUsageStatisticsPaginator.ts new file mode 100644 index 000000000000..51ed503308e4 --- /dev/null +++ b/clients/client-macie2/pagination/GetUsageStatisticsPaginator.ts @@ -0,0 +1,51 @@ +import { Macie2 } from "../Macie2"; +import { Macie2Client } from "../Macie2Client"; +import { + GetUsageStatisticsCommand, + GetUsageStatisticsCommandInput, + GetUsageStatisticsCommandOutput, +} from "../commands/GetUsageStatisticsCommand"; +import { Macie2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Macie2Client, + input: GetUsageStatisticsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetUsageStatisticsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Macie2, + input: GetUsageStatisticsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getUsageStatistics(input, ...args); +}; +export async function* getUsageStatisticsPaginate( + config: Macie2PaginationConfiguration, + input: GetUsageStatisticsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetUsageStatisticsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Macie2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Macie2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Macie2 | Macie2Client"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-macie2/pagination/Interfaces.ts b/clients/client-macie2/pagination/Interfaces.ts new file mode 100644 index 000000000000..f3004146c20f --- /dev/null +++ b/clients/client-macie2/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { Macie2 } from "../Macie2"; +import { Macie2Client } from "../Macie2Client"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface Macie2PaginationConfiguration extends PaginationConfiguration { + client: Macie2 | Macie2Client; +} diff --git a/clients/client-macie2/pagination/ListClassificationJobsPaginator.ts b/clients/client-macie2/pagination/ListClassificationJobsPaginator.ts new file mode 100644 index 000000000000..6f8e8c6652bf --- /dev/null +++ b/clients/client-macie2/pagination/ListClassificationJobsPaginator.ts @@ -0,0 +1,51 @@ +import { Macie2 } from "../Macie2"; +import { Macie2Client } from "../Macie2Client"; +import { + ListClassificationJobsCommand, + ListClassificationJobsCommandInput, + ListClassificationJobsCommandOutput, +} from "../commands/ListClassificationJobsCommand"; +import { Macie2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Macie2Client, + input: ListClassificationJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListClassificationJobsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Macie2, + input: ListClassificationJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listClassificationJobs(input, ...args); +}; +export async function* listClassificationJobsPaginate( + config: Macie2PaginationConfiguration, + input: ListClassificationJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListClassificationJobsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Macie2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Macie2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Macie2 | Macie2Client"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-macie2/pagination/ListCustomDataIdentifiersPaginator.ts b/clients/client-macie2/pagination/ListCustomDataIdentifiersPaginator.ts new file mode 100644 index 000000000000..960569048410 --- /dev/null +++ b/clients/client-macie2/pagination/ListCustomDataIdentifiersPaginator.ts @@ -0,0 +1,51 @@ +import { Macie2 } from "../Macie2"; +import { Macie2Client } from "../Macie2Client"; +import { + ListCustomDataIdentifiersCommand, + ListCustomDataIdentifiersCommandInput, + ListCustomDataIdentifiersCommandOutput, +} from "../commands/ListCustomDataIdentifiersCommand"; +import { Macie2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Macie2Client, + input: ListCustomDataIdentifiersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListCustomDataIdentifiersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Macie2, + input: ListCustomDataIdentifiersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listCustomDataIdentifiers(input, ...args); +}; +export async function* listCustomDataIdentifiersPaginate( + config: Macie2PaginationConfiguration, + input: ListCustomDataIdentifiersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListCustomDataIdentifiersCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Macie2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Macie2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Macie2 | Macie2Client"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-macie2/pagination/ListFindingsFiltersPaginator.ts b/clients/client-macie2/pagination/ListFindingsFiltersPaginator.ts new file mode 100644 index 000000000000..f7143655eeb5 --- /dev/null +++ b/clients/client-macie2/pagination/ListFindingsFiltersPaginator.ts @@ -0,0 +1,51 @@ +import { Macie2 } from "../Macie2"; +import { Macie2Client } from "../Macie2Client"; +import { + ListFindingsFiltersCommand, + ListFindingsFiltersCommandInput, + ListFindingsFiltersCommandOutput, +} from "../commands/ListFindingsFiltersCommand"; +import { Macie2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Macie2Client, + input: ListFindingsFiltersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListFindingsFiltersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Macie2, + input: ListFindingsFiltersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listFindingsFilters(input, ...args); +}; +export async function* listFindingsFiltersPaginate( + config: Macie2PaginationConfiguration, + input: ListFindingsFiltersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListFindingsFiltersCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Macie2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Macie2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Macie2 | Macie2Client"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-macie2/pagination/ListFindingsPaginator.ts b/clients/client-macie2/pagination/ListFindingsPaginator.ts new file mode 100644 index 000000000000..31790451018f --- /dev/null +++ b/clients/client-macie2/pagination/ListFindingsPaginator.ts @@ -0,0 +1,51 @@ +import { Macie2 } from "../Macie2"; +import { Macie2Client } from "../Macie2Client"; +import { + ListFindingsCommand, + ListFindingsCommandInput, + ListFindingsCommandOutput, +} from "../commands/ListFindingsCommand"; +import { Macie2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Macie2Client, + input: ListFindingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListFindingsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Macie2, + input: ListFindingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listFindings(input, ...args); +}; +export async function* listFindingsPaginate( + config: Macie2PaginationConfiguration, + input: ListFindingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListFindingsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Macie2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Macie2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Macie2 | Macie2Client"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-macie2/pagination/ListInvitationsPaginator.ts b/clients/client-macie2/pagination/ListInvitationsPaginator.ts new file mode 100644 index 000000000000..09a6a8b2f8e9 --- /dev/null +++ b/clients/client-macie2/pagination/ListInvitationsPaginator.ts @@ -0,0 +1,51 @@ +import { Macie2 } from "../Macie2"; +import { Macie2Client } from "../Macie2Client"; +import { + ListInvitationsCommand, + ListInvitationsCommandInput, + ListInvitationsCommandOutput, +} from "../commands/ListInvitationsCommand"; +import { Macie2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Macie2Client, + input: ListInvitationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInvitationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Macie2, + input: ListInvitationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInvitations(input, ...args); +}; +export async function* listInvitationsPaginate( + config: Macie2PaginationConfiguration, + input: ListInvitationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListInvitationsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Macie2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Macie2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Macie2 | Macie2Client"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-macie2/pagination/ListMembersPaginator.ts b/clients/client-macie2/pagination/ListMembersPaginator.ts new file mode 100644 index 000000000000..1ef0916c7bc0 --- /dev/null +++ b/clients/client-macie2/pagination/ListMembersPaginator.ts @@ -0,0 +1,47 @@ +import { Macie2 } from "../Macie2"; +import { Macie2Client } from "../Macie2Client"; +import { ListMembersCommand, ListMembersCommandInput, ListMembersCommandOutput } from "../commands/ListMembersCommand"; +import { Macie2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Macie2Client, + input: ListMembersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListMembersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Macie2, + input: ListMembersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listMembers(input, ...args); +}; +export async function* listMembersPaginate( + config: Macie2PaginationConfiguration, + input: ListMembersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListMembersCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Macie2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Macie2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Macie2 | Macie2Client"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-macie2/pagination/ListOrganizationAdminAccountsPaginator.ts b/clients/client-macie2/pagination/ListOrganizationAdminAccountsPaginator.ts new file mode 100644 index 000000000000..97ad0d2b9d3a --- /dev/null +++ b/clients/client-macie2/pagination/ListOrganizationAdminAccountsPaginator.ts @@ -0,0 +1,51 @@ +import { Macie2 } from "../Macie2"; +import { Macie2Client } from "../Macie2Client"; +import { + ListOrganizationAdminAccountsCommand, + ListOrganizationAdminAccountsCommandInput, + ListOrganizationAdminAccountsCommandOutput, +} from "../commands/ListOrganizationAdminAccountsCommand"; +import { Macie2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Macie2Client, + input: ListOrganizationAdminAccountsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListOrganizationAdminAccountsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Macie2, + input: ListOrganizationAdminAccountsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listOrganizationAdminAccounts(input, ...args); +}; +export async function* listOrganizationAdminAccountsPaginate( + config: Macie2PaginationConfiguration, + input: ListOrganizationAdminAccountsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListOrganizationAdminAccountsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Macie2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Macie2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Macie2 | Macie2Client"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-macie2/protocols/Aws_restJson1.ts b/clients/client-macie2/protocols/Aws_restJson1.ts index 9eba6fe49648..d5376652f7f7 100644 --- a/clients/client-macie2/protocols/Aws_restJson1.ts +++ b/clients/client-macie2/protocols/Aws_restJson1.ts @@ -155,6 +155,7 @@ import { BucketPolicy, BucketPublicAccess, BucketSortCriteria, + Cell, ClassificationDetails, ClassificationExportConfiguration, ClassificationResult, @@ -195,7 +196,11 @@ import { Member, MonthlySchedule, ObjectCountByEncryptionType, + ObjectLevelStatistics, + Occurrences, + Page, PolicyDetails, + Range, ReplicationDetails, ResourceNotFoundException, ResourcesAffected, @@ -228,8 +233,10 @@ import { UsageTotal, UserIdentity, UserIdentityRoot, + UserPausedDetails, ValidationException, WeeklySchedule, + _Record, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { @@ -1260,8 +1267,8 @@ export const serializeAws_restJson1ListFindingsFiltersCommand = async ( }; let resolvedPath = "/findingsfilters"; 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(); @@ -1286,8 +1293,8 @@ export const serializeAws_restJson1ListInvitationsCommand = async ( }; let resolvedPath = "/invitations"; const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1313,8 +1320,8 @@ export const serializeAws_restJson1ListMembersCommand = async ( let resolvedPath = "/members"; const query: any = { ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.onlyAssociated !== undefined && { onlyAssociated: input.onlyAssociated }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.onlyAssociated !== undefined && { onlyAssociated: input.onlyAssociated }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1339,8 +1346,8 @@ export const serializeAws_restJson1ListOrganizationAdminAccountsCommand = async }; let resolvedPath = "/admin"; 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(); @@ -3140,6 +3147,7 @@ export const deserializeAws_restJson1DescribeClassificationJobCommand = async ( scheduleFrequency: undefined, statistics: undefined, tags: undefined, + userPausedDetails: undefined, }; const data: any = await parseBody(output.body, context); if (data.clientToken !== undefined && data.clientToken !== null) { @@ -3190,6 +3198,9 @@ export const deserializeAws_restJson1DescribeClassificationJobCommand = async ( if (data.tags !== undefined && data.tags !== null) { contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } + if (data.userPausedDetails !== undefined && data.userPausedDetails !== null) { + contents.userPausedDetails = deserializeAws_restJson1UserPausedDetails(data.userPausedDetails, context); + } return Promise.resolve(contents); }; @@ -3993,10 +4004,13 @@ export const deserializeAws_restJson1GetBucketStatisticsCommand = async ( bucketCountByEncryptionType: undefined, bucketCountBySharedAccessType: undefined, classifiableObjectCount: undefined, + classifiableSizeInBytes: undefined, lastUpdated: undefined, objectCount: undefined, sizeInBytes: undefined, sizeInBytesCompressed: undefined, + unclassifiableObjectCount: undefined, + unclassifiableObjectSizeInBytes: undefined, }; const data: any = await parseBody(output.body, context); if (data.bucketCount !== undefined && data.bucketCount !== null) { @@ -4023,6 +4037,9 @@ export const deserializeAws_restJson1GetBucketStatisticsCommand = async ( if (data.classifiableObjectCount !== undefined && data.classifiableObjectCount !== null) { contents.classifiableObjectCount = data.classifiableObjectCount; } + if (data.classifiableSizeInBytes !== undefined && data.classifiableSizeInBytes !== null) { + contents.classifiableSizeInBytes = data.classifiableSizeInBytes; + } if (data.lastUpdated !== undefined && data.lastUpdated !== null) { contents.lastUpdated = new Date(data.lastUpdated); } @@ -4035,6 +4052,18 @@ export const deserializeAws_restJson1GetBucketStatisticsCommand = async ( if (data.sizeInBytesCompressed !== undefined && data.sizeInBytesCompressed !== null) { contents.sizeInBytesCompressed = data.sizeInBytesCompressed; } + if (data.unclassifiableObjectCount !== undefined && data.unclassifiableObjectCount !== null) { + contents.unclassifiableObjectCount = deserializeAws_restJson1ObjectLevelStatistics( + data.unclassifiableObjectCount, + context + ); + } + if (data.unclassifiableObjectSizeInBytes !== undefined && data.unclassifiableObjectSizeInBytes !== null) { + contents.unclassifiableObjectSizeInBytes = deserializeAws_restJson1ObjectLevelStatistics( + data.unclassifiableObjectSizeInBytes, + context + ); + } return Promise.resolve(contents); }; @@ -7588,6 +7617,7 @@ const deserializeAws_restJson1BucketCountByEffectivePermission = ( output.publiclyReadable !== undefined && output.publiclyReadable !== null ? output.publiclyReadable : undefined, publiclyWritable: output.publiclyWritable !== undefined && output.publiclyWritable !== null ? output.publiclyWritable : undefined, + unknown: output.unknown !== undefined && output.unknown !== null ? output.unknown : undefined, } as any; }; @@ -7610,6 +7640,7 @@ const deserializeAws_restJson1BucketCountBySharedAccessType = ( external: output.external !== undefined && output.external !== null ? output.external : undefined, internal: output.internal !== undefined && output.internal !== null ? output.internal : undefined, notShared: output.notShared !== undefined && output.notShared !== null ? output.notShared : undefined, + unknown: output.unknown !== undefined && output.unknown !== null ? output.unknown : undefined, } as any; }; @@ -7646,6 +7677,10 @@ const deserializeAws_restJson1BucketMetadata = (output: any, context: __SerdeCon output.classifiableObjectCount !== undefined && output.classifiableObjectCount !== null ? output.classifiableObjectCount : undefined, + classifiableSizeInBytes: + output.classifiableSizeInBytes !== undefined && output.classifiableSizeInBytes !== null + ? output.classifiableSizeInBytes + : undefined, lastUpdated: output.lastUpdated !== undefined && output.lastUpdated !== null ? new Date(output.lastUpdated) : undefined, objectCount: output.objectCount !== undefined && output.objectCount !== null ? output.objectCount : undefined, @@ -7672,6 +7707,14 @@ const deserializeAws_restJson1BucketMetadata = (output: any, context: __SerdeCon output.tags !== undefined && output.tags !== null ? deserializeAws_restJson1__listOfKeyValuePair(output.tags, context) : undefined, + unclassifiableObjectCount: + output.unclassifiableObjectCount !== undefined && output.unclassifiableObjectCount !== null + ? deserializeAws_restJson1ObjectLevelStatistics(output.unclassifiableObjectCount, context) + : undefined, + unclassifiableObjectSizeInBytes: + output.unclassifiableObjectSizeInBytes !== undefined && output.unclassifiableObjectSizeInBytes !== null + ? deserializeAws_restJson1ObjectLevelStatistics(output.unclassifiableObjectSizeInBytes, context) + : undefined, versioning: output.versioning !== undefined && output.versioning !== null ? output.versioning : undefined, } as any; }; @@ -7718,6 +7761,20 @@ const deserializeAws_restJson1BucketPublicAccess = (output: any, context: __Serd } as any; }; +const deserializeAws_restJson1Cell = (output: any, context: __SerdeContext): Cell => { + return { + cellReference: + output.cellReference !== undefined && output.cellReference !== null ? output.cellReference : undefined, + column: output.column !== undefined && output.column !== null ? output.column : undefined, + columnName: output.columnName !== undefined && output.columnName !== null ? output.columnName : undefined, + row: output.row !== undefined && output.row !== null ? output.row : undefined, + } as any; +}; + +const deserializeAws_restJson1Cells = (output: any, context: __SerdeContext): Cell[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Cell(entry, context)); +}; + const deserializeAws_restJson1ClassificationDetails = (output: any, context: __SerdeContext): ClassificationDetails => { return { detailedResultsLocation: @@ -7747,6 +7804,10 @@ const deserializeAws_restJson1ClassificationExportConfiguration = ( const deserializeAws_restJson1ClassificationResult = (output: any, context: __SerdeContext): ClassificationResult => { return { + additionalOccurrences: + output.additionalOccurrences !== undefined && output.additionalOccurrences !== null + ? output.additionalOccurrences + : undefined, customDataIdentifiers: output.customDataIdentifiers !== undefined && output.customDataIdentifiers !== null ? deserializeAws_restJson1CustomDataIdentifiers(output.customDataIdentifiers, context) @@ -7836,6 +7897,10 @@ const deserializeAws_restJson1CustomDetection = (output: any, context: __SerdeCo arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, count: output.count !== undefined && output.count !== null ? output.count : undefined, name: output.name !== undefined && output.name !== null ? output.name : undefined, + occurrences: + output.occurrences !== undefined && output.occurrences !== null + ? deserializeAws_restJson1Occurrences(output.occurrences, context) + : undefined, } as any; }; @@ -7850,6 +7915,10 @@ const deserializeAws_restJson1DailySchedule = (output: any, context: __SerdeCont const deserializeAws_restJson1DefaultDetection = (output: any, context: __SerdeContext): DefaultDetection => { return { count: output.count !== undefined && output.count !== null ? output.count : undefined, + occurrences: + output.occurrences !== undefined && output.occurrences !== null + ? deserializeAws_restJson1Occurrences(output.occurrences, context) + : undefined, type: output.type !== undefined && output.type !== null ? output.type : undefined, } as any; }; @@ -8094,6 +8163,10 @@ const deserializeAws_restJson1JobSummary = (output: any, context: __SerdeContext jobStatus: output.jobStatus !== undefined && output.jobStatus !== null ? output.jobStatus : undefined, jobType: output.jobType !== undefined && output.jobType !== null ? output.jobType : undefined, name: output.name !== undefined && output.name !== null ? output.name : undefined, + userPausedDetails: + output.userPausedDetails !== undefined && output.userPausedDetails !== null + ? deserializeAws_restJson1UserPausedDetails(output.userPausedDetails, context) + : undefined, } as any; }; @@ -8147,6 +8220,57 @@ const deserializeAws_restJson1ObjectCountByEncryptionType = ( } as any; }; +const deserializeAws_restJson1ObjectLevelStatistics = (output: any, context: __SerdeContext): ObjectLevelStatistics => { + return { + fileType: output.fileType !== undefined && output.fileType !== null ? output.fileType : undefined, + storageClass: output.storageClass !== undefined && output.storageClass !== null ? output.storageClass : undefined, + total: output.total !== undefined && output.total !== null ? output.total : undefined, + } as any; +}; + +const deserializeAws_restJson1Occurrences = (output: any, context: __SerdeContext): Occurrences => { + return { + cells: + output.cells !== undefined && output.cells !== null + ? deserializeAws_restJson1Cells(output.cells, context) + : undefined, + lineRanges: + output.lineRanges !== undefined && output.lineRanges !== null + ? deserializeAws_restJson1Ranges(output.lineRanges, context) + : undefined, + offsetRanges: + output.offsetRanges !== undefined && output.offsetRanges !== null + ? deserializeAws_restJson1Ranges(output.offsetRanges, context) + : undefined, + pages: + output.pages !== undefined && output.pages !== null + ? deserializeAws_restJson1Pages(output.pages, context) + : undefined, + records: + output.records !== undefined && output.records !== null + ? deserializeAws_restJson1Records(output.records, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1Page = (output: any, context: __SerdeContext): Page => { + return { + lineRange: + output.lineRange !== undefined && output.lineRange !== null + ? deserializeAws_restJson1Range(output.lineRange, context) + : undefined, + offsetRange: + output.offsetRange !== undefined && output.offsetRange !== null + ? deserializeAws_restJson1Range(output.offsetRange, context) + : undefined, + pageNumber: output.pageNumber !== undefined && output.pageNumber !== null ? output.pageNumber : undefined, + } as any; +}; + +const deserializeAws_restJson1Pages = (output: any, context: __SerdeContext): Page[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Page(entry, context)); +}; + const deserializeAws_restJson1PolicyDetails = (output: any, context: __SerdeContext): PolicyDetails => { return { action: @@ -8160,6 +8284,28 @@ const deserializeAws_restJson1PolicyDetails = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_restJson1Range = (output: any, context: __SerdeContext): Range => { + return { + end: output.end !== undefined && output.end !== null ? output.end : undefined, + start: output.start !== undefined && output.start !== null ? output.start : undefined, + startColumn: output.startColumn !== undefined && output.startColumn !== null ? output.startColumn : undefined, + } as any; +}; + +const deserializeAws_restJson1Ranges = (output: any, context: __SerdeContext): Range[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Range(entry, context)); +}; + +const deserializeAws_restJson1_Record = (output: any, context: __SerdeContext): _Record => { + return { + recordIndex: output.recordIndex !== undefined && output.recordIndex !== null ? output.recordIndex : undefined, + } as any; +}; + +const deserializeAws_restJson1Records = (output: any, context: __SerdeContext): _Record[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1_Record(entry, context)); +}; + const deserializeAws_restJson1ReplicationDetails = (output: any, context: __SerdeContext): ReplicationDetails => { return { replicated: output.replicated !== undefined && output.replicated !== null ? output.replicated : undefined, @@ -8496,6 +8642,19 @@ const deserializeAws_restJson1UserIdentityRoot = (output: any, context: __SerdeC } as any; }; +const deserializeAws_restJson1UserPausedDetails = (output: any, context: __SerdeContext): UserPausedDetails => { + return { + jobExpiresAt: + output.jobExpiresAt !== undefined && output.jobExpiresAt !== null ? new Date(output.jobExpiresAt) : undefined, + jobImminentExpirationHealthEventArn: + output.jobImminentExpirationHealthEventArn !== undefined && output.jobImminentExpirationHealthEventArn !== null + ? output.jobImminentExpirationHealthEventArn + : undefined, + jobPausedAt: + output.jobPausedAt !== undefined && output.jobPausedAt !== null ? new Date(output.jobPausedAt) : undefined, + } as any; +}; + const deserializeAws_restJson1WeeklySchedule = (output: any, context: __SerdeContext): WeeklySchedule => { return { dayOfWeek: output.dayOfWeek !== undefined && output.dayOfWeek !== null ? output.dayOfWeek : undefined, diff --git a/clients/client-managedblockchain/ManagedBlockchain.ts b/clients/client-managedblockchain/ManagedBlockchain.ts index cd64dba42953..dca1bd3c52d3 100644 --- a/clients/client-managedblockchain/ManagedBlockchain.ts +++ b/clients/client-managedblockchain/ManagedBlockchain.ts @@ -349,7 +349,7 @@ export class ManagedBlockchain extends ManagedBlockchainClient { } /** - *

                                                                      Returns a listing of all invitations made on the specified network.

                                                                      + *

                                                                      Returns a listing of all invitations for the current AWS account.

                                                                      */ public listInvitations( args: ListInvitationsCommandInput, diff --git a/clients/client-managedblockchain/models/models_0.ts b/clients/client-managedblockchain/models/models_0.ts index 1b3f0f32481a..d64768b7420d 100644 --- a/clients/client-managedblockchain/models/models_0.ts +++ b/clients/client-managedblockchain/models/models_0.ts @@ -25,9 +25,9 @@ export enum ThresholdComparator { */ export interface ApprovalThresholdPolicy { /** - *

                                                                      The duration from the time that a proposal is created until it expires. If members cast neither the required number of YES votes to approve the proposal nor the number of NO votes required to reject it before the duration expires, the proposal is EXPIRED and ProposalActions are not carried out.

                                                                      + *

                                                                      Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.

                                                                      */ - ProposalDurationInHours?: number; + ThresholdComparator?: ThresholdComparator | string; /** *

                                                                      The percentage of votes among all members that must be YES for a proposal to be approved. For example, a ThresholdPercentage value of 50 indicates 50%. The ThresholdComparator determines the precise comparison. If a ThresholdPercentage value of 50 is specified on a network with 10 members, along with a ThresholdComparator value of GREATER_THAN, this indicates that 6 YES votes are required for the proposal to be approved.

                                                                      @@ -35,9 +35,9 @@ export interface ApprovalThresholdPolicy { ThresholdPercentage?: number; /** - *

                                                                      Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.

                                                                      + *

                                                                      The duration from the time that a proposal is created until it expires. If members cast neither the required number of YES votes to approve the proposal nor the number of NO votes required to reject it before the duration expires, the proposal is EXPIRED and ProposalActions are not carried out.

                                                                      */ - ThresholdComparator?: ThresholdComparator | string; + ProposalDurationInHours?: number; } export namespace ApprovalThresholdPolicy { @@ -51,14 +51,14 @@ export namespace ApprovalThresholdPolicy { */ export interface MemberFabricConfiguration { /** - *

                                                                      The password for the member's initial administrative user. The AdminPassword must be at least eight characters long and no more than 32 characters. It must contain at least one uppercase letter, one lowercase letter, and one digit. It cannot have a single quote(‘), double quote(“), forward slash(/), backward slash(\), @, or a space.

                                                                      + *

                                                                      The user name for the member's initial administrative user.

                                                                      */ - AdminPassword: string | undefined; + AdminUsername: string | undefined; /** - *

                                                                      The user name for the member's initial administrative user.

                                                                      + *

                                                                      The password for the member's initial administrative user. The AdminPassword must be at least eight characters long and no more than 32 characters. It must contain at least one uppercase letter, one lowercase letter, and one digit. It cannot have a single quote(‘), double quote(“), forward slash(/), backward slash(\), @, or a space.

                                                                      */ - AdminUsername: string | undefined; + AdminPassword: string | undefined; } export namespace MemberFabricConfiguration { @@ -154,9 +154,9 @@ export namespace MemberLogPublishingConfiguration { */ export interface MemberConfiguration { /** - *

                                                                      Configuration properties of the blockchain framework relevant to the member.

                                                                      + *

                                                                      Configuration properties for logging events associated with a member of a Managed Blockchain network.

                                                                      */ - FrameworkConfiguration: MemberFrameworkConfiguration | undefined; + LogPublishingConfiguration?: MemberLogPublishingConfiguration; /** *

                                                                      An optional description of the member.

                                                                      @@ -164,14 +164,14 @@ export interface MemberConfiguration { Description?: string; /** - *

                                                                      The name of the member.

                                                                      + *

                                                                      Configuration properties of the blockchain framework relevant to the member.

                                                                      */ - Name: string | undefined; + FrameworkConfiguration: MemberFrameworkConfiguration | undefined; /** - *

                                                                      + *

                                                                      The name of the member.

                                                                      */ - LogPublishingConfiguration?: MemberLogPublishingConfiguration; + Name: string | undefined; } export namespace MemberConfiguration { @@ -189,11 +189,6 @@ export interface CreateMemberInput { */ NetworkId: string | undefined; - /** - *

                                                                      Member configuration parameters.

                                                                      - */ - MemberConfiguration: MemberConfiguration | undefined; - /** *

                                                                      The unique identifier of the invitation that is sent to the member to join the network.

                                                                      */ @@ -203,14 +198,16 @@ export interface CreateMemberInput { *

                                                                      A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

                                                                      */ ClientRequestToken?: string; + + /** + *

                                                                      Member configuration parameters.

                                                                      + */ + MemberConfiguration: MemberConfiguration | undefined; } export namespace CreateMemberInput { export const filterSensitiveLog = (obj: CreateMemberInput): any => ({ ...obj, - ...(obj.MemberConfiguration && { - MemberConfiguration: MemberConfiguration.filterSensitiveLog(obj.MemberConfiguration), - }), }); } @@ -395,9 +392,11 @@ export namespace VotingPolicy { export interface CreateNetworkInput { /** - *

                                                                      A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

                                                                      + *

                                                                      + * Configuration properties of the blockchain framework relevant to the network configuration. + *

                                                                      */ - ClientRequestToken?: string; + FrameworkConfiguration?: NetworkFrameworkConfiguration; /** *

                                                                      An optional description for the network.

                                                                      @@ -405,14 +404,14 @@ export interface CreateNetworkInput { Description?: string; /** - *

                                                                      The name of the network.

                                                                      + *

                                                                      Configuration properties for the first member within the network.

                                                                      */ - Name: string | undefined; + MemberConfiguration: MemberConfiguration | undefined; /** - *

                                                                      Configuration properties for the first member within the network.

                                                                      + *

                                                                      A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

                                                                      */ - MemberConfiguration: MemberConfiguration | undefined; + ClientRequestToken?: string; /** *

                                                                      @@ -427,11 +426,9 @@ export interface CreateNetworkInput { Framework: Framework | string | undefined; /** - *

                                                                      - * Configuration properties of the blockchain framework relevant to the network configuration. - *

                                                                      + *

                                                                      The name of the network.

                                                                      */ - FrameworkConfiguration?: NetworkFrameworkConfiguration; + Name: string | undefined; /** *

                                                                      The version of the blockchain framework that the network uses.

                                                                      @@ -442,9 +439,6 @@ export interface CreateNetworkInput { export namespace CreateNetworkInput { export const filterSensitiveLog = (obj: CreateNetworkInput): any => ({ ...obj, - ...(obj.MemberConfiguration && { - MemberConfiguration: MemberConfiguration.filterSensitiveLog(obj.MemberConfiguration), - }), }); } @@ -471,14 +465,14 @@ export namespace CreateNetworkOutput { */ export interface NodeFabricLogPublishingConfiguration { /** - *

                                                                      Configuration properties for a peer node log. Peer node logs contain messages generated when your client submits transaction proposals to peer nodes, requests to join channels, enrolls an admin peer, and lists the chaincode instances on a peer node.

                                                                      + *

                                                                      Configuration properties for logging events associated with chaincode execution on a peer node. Chaincode logs contain the results of instantiating, invoking, and querying the chaincode. A peer can run multiple instances of chaincode. When enabled, a log stream is created for all chaincodes, with an individual log stream for each chaincode.

                                                                      */ - PeerLogs?: LogConfigurations; + ChaincodeLogs?: LogConfigurations; /** - *

                                                                      Configuration properties for logging events associated with chaincode execution on a peer node. Chaincode logs contain the results of instantiating, invoking, and querying the chaincode. A peer can run multiple instances of chaincode. When enabled, a log stream is created for all chaincodes, with an individual log stream for each chaincode.

                                                                      + *

                                                                      Configuration properties for a peer node log. Peer node logs contain messages generated when your client submits transaction proposals to peer nodes, requests to join channels, enrolls an admin peer, and lists the chaincode instances on a peer node.

                                                                      */ - ChaincodeLogs?: LogConfigurations; + PeerLogs?: LogConfigurations; } export namespace NodeFabricLogPublishingConfiguration { @@ -503,14 +497,20 @@ export namespace NodeLogPublishingConfiguration { }); } +export enum StateDBType { + CouchDB = "CouchDB", + LevelDB = "LevelDB", +} + /** *

                                                                      Configuration properties of a peer node.

                                                                      */ export interface NodeConfiguration { /** - *

                                                                      The Availability Zone in which the node exists.

                                                                      + *

                                                                      Configuration properties for logging events associated with a peer node owned by a member in a Managed Blockchain network. + *

                                                                      */ - AvailabilityZone: string | undefined; + LogPublishingConfiguration?: NodeLogPublishingConfiguration; /** *

                                                                      The Amazon Managed Blockchain instance type for the node.

                                                                      @@ -518,9 +518,14 @@ export interface NodeConfiguration { InstanceType: string | undefined; /** - *

                                                                      + *

                                                                      The state database that the node uses. Values are LevelDB or CouchDB. When using an Amazon Managed Blockchain network with Hyperledger Fabric version 1.4 or later, the default is CouchDB.

                                                                      */ - LogPublishingConfiguration?: NodeLogPublishingConfiguration; + StateDB?: StateDBType | string; + + /** + *

                                                                      The Availability Zone in which the node exists.

                                                                      + */ + AvailabilityZone: string | undefined; } export namespace NodeConfiguration { @@ -531,14 +536,14 @@ export namespace NodeConfiguration { export interface CreateNodeInput { /** - *

                                                                      A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

                                                                      + *

                                                                      The unique identifier of the member that owns this node.

                                                                      */ - ClientRequestToken?: string; + MemberId: string | undefined; /** - *

                                                                      The unique identifier of the member that owns this node.

                                                                      + *

                                                                      A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

                                                                      */ - MemberId: string | undefined; + ClientRequestToken?: string; /** *

                                                                      The properties of a node configuration.

                                                                      @@ -630,17 +635,17 @@ export namespace ProposalActions { } export interface CreateProposalInput { - /** - *

                                                                      A description for the proposal that is visible to voting members, for example, "Proposal to add Example Corp. as member."

                                                                      - */ - Description?: string; - /** *

                                                                      * The unique identifier of the network for which the proposal is made.

                                                                      */ NetworkId: string | undefined; + /** + *

                                                                      A description for the proposal that is visible to voting members, for example, "Proposal to add Example Corp. as member."

                                                                      + */ + Description?: string; + /** *

                                                                      A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

                                                                      */ @@ -703,6 +708,11 @@ export namespace DeleteMemberOutput { } export interface DeleteNodeInput { + /** + *

                                                                      The unique identifier of the member that owns this node.

                                                                      + */ + MemberId: string | undefined; + /** *

                                                                      The unique identifier of the network that the node belongs to.

                                                                      */ @@ -712,11 +722,6 @@ export interface DeleteNodeInput { *

                                                                      The unique identifier of the node.

                                                                      */ NodeId: string | undefined; - - /** - *

                                                                      The unique identifier of the member that owns this node.

                                                                      - */ - MemberId: string | undefined; } export namespace DeleteNodeInput { @@ -735,14 +740,14 @@ export namespace DeleteNodeOutput { export interface GetMemberInput { /** - *

                                                                      The unique identifier of the member.

                                                                      + *

                                                                      The unique identifier of the network to which the member belongs.

                                                                      */ - MemberId: string | undefined; + NetworkId: string | undefined; /** - *

                                                                      The unique identifier of the network to which the member belongs.

                                                                      + *

                                                                      The unique identifier of the member.

                                                                      */ - NetworkId: string | undefined; + MemberId: string | undefined; } export namespace GetMemberInput { @@ -807,14 +812,9 @@ export interface Member { Id?: string; /** - *

                                                                      An optional description for the member.

                                                                      - */ - Description?: string; - - /** - *

                                                                      The name of the member.

                                                                      + *

                                                                      The unique identifier of the network to which the member belongs.

                                                                      */ - Name?: string; + NetworkId?: string; /** *

                                                                      Configuration properties for logging events associated with a member.

                                                                      @@ -822,14 +822,14 @@ export interface Member { LogPublishingConfiguration?: MemberLogPublishingConfiguration; /** - *

                                                                      The unique identifier of the network to which the member belongs.

                                                                      + *

                                                                      The name of the member.

                                                                      */ - NetworkId?: string; + Name?: string; /** - *

                                                                      Attributes relevant to a member for the blockchain framework that the Managed Blockchain network uses.

                                                                      + *

                                                                      The date and time that the member was created.

                                                                      */ - FrameworkAttributes?: MemberFrameworkAttributes; + CreationDate?: Date; /** *

                                                                      The status of a member.

                                                                      @@ -861,9 +861,14 @@ export interface Member { Status?: MemberStatus | string; /** - *

                                                                      The date and time that the member was created.

                                                                      + *

                                                                      An optional description for the member.

                                                                      */ - CreationDate?: Date; + Description?: string; + + /** + *

                                                                      Attributes relevant to a member for the blockchain framework that the Managed Blockchain network uses.

                                                                      + */ + FrameworkAttributes?: MemberFrameworkAttributes; } export namespace Member { @@ -948,9 +953,9 @@ export enum NetworkStatus { */ export interface Network { /** - *

                                                                      The voting rules for the network to decide if a proposal is accepted.

                                                                      + *

                                                                      The current status of the network.

                                                                      */ - VotingPolicy?: VotingPolicy; + Status?: NetworkStatus | string; /** *

                                                                      The VPC endpoint service name of the VPC endpoint service of the network. Members use the VPC endpoint service name to create a VPC endpoint to access network resources.

                                                                      @@ -958,14 +963,14 @@ export interface Network { VpcEndpointServiceName?: string; /** - *

                                                                      Attributes of the blockchain framework that the network uses.

                                                                      + *

                                                                      The blockchain framework that the network uses.

                                                                      */ - FrameworkAttributes?: NetworkFrameworkAttributes; + Framework?: Framework | string; /** - *

                                                                      The current status of the network.

                                                                      + *

                                                                      The voting rules for the network to decide if a proposal is accepted.

                                                                      */ - Status?: NetworkStatus | string; + VotingPolicy?: VotingPolicy; /** *

                                                                      The name of the network.

                                                                      @@ -973,14 +978,9 @@ export interface Network { Name?: string; /** - *

                                                                      The blockchain framework that the network uses.

                                                                      - */ - Framework?: Framework | string; - - /** - *

                                                                      The unique identifier of the network.

                                                                      + *

                                                                      Attributes of the blockchain framework that the network uses.

                                                                      */ - Id?: string; + FrameworkAttributes?: NetworkFrameworkAttributes; /** *

                                                                      Attributes of the blockchain framework for the network.

                                                                      @@ -992,6 +992,11 @@ export interface Network { */ FrameworkVersion?: string; + /** + *

                                                                      The unique identifier of the network.

                                                                      + */ + Id?: string; + /** *

                                                                      The date and time that the network was created.

                                                                      */ @@ -1018,6 +1023,11 @@ export namespace GetNetworkOutput { } export interface GetNodeInput { + /** + *

                                                                      The unique identifier of the network to which the node belongs.

                                                                      + */ + NetworkId: string | undefined; + /** *

                                                                      The unique identifier of the node.

                                                                      */ @@ -1027,11 +1037,6 @@ export interface GetNodeInput { *

                                                                      The unique identifier of the member that owns the node.

                                                                      */ MemberId: string | undefined; - - /** - *

                                                                      The unique identifier of the network to which the node belongs.

                                                                      - */ - NetworkId: string | undefined; } export namespace GetNodeInput { @@ -1102,9 +1107,9 @@ export interface Node { Id?: string; /** - *

                                                                      + *

                                                                      The state database that the node uses. Values are LevelDB or CouchDB.

                                                                      */ - LogPublishingConfiguration?: NodeLogPublishingConfiguration; + StateDB?: StateDBType | string; /** *

                                                                      The unique identifier of the network that the node is in.

                                                                      @@ -1112,20 +1117,15 @@ export interface Node { NetworkId?: string; /** - *

                                                                      Attributes of the blockchain framework being used.

                                                                      + *

                                                                      Configuration properties for logging events associated with a peer node owned by a member in a Managed Blockchain network.

                                                                      */ - FrameworkAttributes?: NodeFrameworkAttributes; + LogPublishingConfiguration?: NodeLogPublishingConfiguration; /** *

                                                                      The unique identifier of the member to which the node belongs.

                                                                      */ MemberId?: string; - /** - *

                                                                      The Availability Zone in which the node exists.

                                                                      - */ - AvailabilityZone?: string; - /** *

                                                                      The date and time that the node was created.

                                                                      */ @@ -1135,6 +1135,16 @@ export interface Node { *

                                                                      The status of the node.

                                                                      */ Status?: NodeStatus | string; + + /** + *

                                                                      The Availability Zone in which the node exists.

                                                                      + */ + AvailabilityZone?: string; + + /** + *

                                                                      Attributes of the blockchain framework being used.

                                                                      + */ + FrameworkAttributes?: NodeFrameworkAttributes; } export namespace Node { @@ -1158,14 +1168,14 @@ export namespace GetNodeOutput { export interface GetProposalInput { /** - *

                                                                      The unique identifier of the proposal.

                                                                      + *

                                                                      The unique identifier of the network for which the proposal is made.

                                                                      */ - ProposalId: string | undefined; + NetworkId: string | undefined; /** - *

                                                                      The unique identifier of the network for which the proposal is made.

                                                                      + *

                                                                      The unique identifier of the proposal.

                                                                      */ - NetworkId: string | undefined; + ProposalId: string | undefined; } export namespace GetProposalInput { @@ -1188,24 +1198,22 @@ export enum ProposalStatus { export interface Proposal { /** *

                                                                      - * The current total of NO votes cast on the proposal by members. + * The number of votes remaining to be cast on the proposal by members. In other words, the number of members minus the sum of YES votes and NO votes. *

                                                                      */ - NoVoteCount?: number; + OutstandingVoteCount?: number; /** - *

                                                                      - * The date and time that the proposal was created. - *

                                                                      + *

                                                                      The description of the proposal.

                                                                      */ - CreationDate?: Date; + Description?: string; /** *

                                                                      - * The number of votes remaining to be cast on the proposal by members. In other words, the number of members minus the sum of YES votes and NO votes. + * The current total of NO votes cast on the proposal by members. *

                                                                      */ - OutstandingVoteCount?: number; + NoVoteCount?: number; /** *

                                                                      The unique identifier of the member that created the proposal.

                                                                      @@ -1219,37 +1227,39 @@ export interface Proposal { /** *

                                                                      - * The current total of YES votes cast on the proposal by members. + * The date and time that the proposal was created. *

                                                                      */ - YesVoteCount?: number; + CreationDate?: Date; /** - *

                                                                      The unique identifier of the network for which the proposal is made.

                                                                      + *

                                                                      The actions to perform on the network if the proposal is APPROVED.

                                                                      */ - NetworkId?: string; + Actions?: ProposalActions; /** - *

                                                                      The description of the proposal.

                                                                      + *

                                                                      + * The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members have not cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions are not carried out. + *

                                                                      */ - Description?: string; + ExpirationDate?: Date; /** - *

                                                                      The unique identifier of the proposal.

                                                                      + *

                                                                      The unique identifier of the network for which the proposal is made.

                                                                      */ - ProposalId?: string; + NetworkId?: string; /** *

                                                                      - * The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members have not cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions are not carried out. + * The current total of YES votes cast on the proposal by members. *

                                                                      */ - ExpirationDate?: Date; + YesVoteCount?: number; /** - *

                                                                      The actions to perform on the network if the proposal is APPROVED.

                                                                      + *

                                                                      The unique identifier of the proposal.

                                                                      */ - Actions?: ProposalActions; + ProposalId?: string; /** *

                                                                      The status of the proposal. Values are as follows:

                                                                      @@ -1318,9 +1328,9 @@ export namespace IllegalActionException { */ export interface NetworkSummary { /** - *

                                                                      The unique identifier of the network.

                                                                      + *

                                                                      The name of the network.

                                                                      */ - Id?: string; + Name?: string; /** *

                                                                      The version of the blockchain framework that the network uses.

                                                                      @@ -1328,9 +1338,9 @@ export interface NetworkSummary { FrameworkVersion?: string; /** - *

                                                                      The date and time that the network was created.

                                                                      + *

                                                                      The blockchain framework that the network uses.

                                                                      */ - CreationDate?: Date; + Framework?: Framework | string; /** *

                                                                      The current status of the network.

                                                                      @@ -1338,19 +1348,19 @@ export interface NetworkSummary { Status?: NetworkStatus | string; /** - *

                                                                      An optional description of the network.

                                                                      + *

                                                                      The date and time that the network was created.

                                                                      */ - Description?: string; + CreationDate?: Date; /** - *

                                                                      The name of the network.

                                                                      + *

                                                                      An optional description of the network.

                                                                      */ - Name?: string; + Description?: string; /** - *

                                                                      The blockchain framework that the network uses.

                                                                      + *

                                                                      The unique identifier of the network.

                                                                      */ - Framework?: Framework | string; + Id?: string; } export namespace NetworkSummary { @@ -1376,16 +1386,6 @@ export interface Invitation { */ ExpirationDate?: Date; - /** - *

                                                                      The date and time that the invitation was created.

                                                                      - */ - CreationDate?: Date; - - /** - *

                                                                      A summary of network configuration properties.

                                                                      - */ - NetworkSummary?: NetworkSummary; - /** *

                                                                      The status of the invitation:

                                                                      *
                                                                        @@ -1413,6 +1413,16 @@ export interface Invitation { */ Status?: InvitationStatus | string; + /** + *

                                                                        A summary of network configuration properties.

                                                                        + */ + NetworkSummary?: NetworkSummary; + + /** + *

                                                                        The date and time that the invitation was created.

                                                                        + */ + CreationDate?: Date; + /** *

                                                                        The unique identifier for the invitation.

                                                                        */ @@ -1445,14 +1455,14 @@ export namespace ListInvitationsInput { export interface ListInvitationsOutput { /** - *

                                                                        The invitations for the network.

                                                                        + *

                                                                        The pagination token that indicates the next set of results to retrieve.

                                                                        */ - Invitations?: Invitation[]; + NextToken?: string; /** - *

                                                                        The pagination token that indicates the next set of results to retrieve.

                                                                        + *

                                                                        The invitations for the network.

                                                                        */ - NextToken?: string; + Invitations?: Invitation[]; } export namespace ListInvitationsOutput { @@ -1467,11 +1477,6 @@ export interface ListMembersInput { */ NextToken?: string; - /** - *

                                                                        The unique identifier of the network for which to list members.

                                                                        - */ - NetworkId: string | undefined; - /** *

                                                                        An optional Boolean value. If provided, the request is limited either to * members that the current AWS account owns (true) or that other AWS accounts @@ -1484,6 +1489,11 @@ export interface ListMembersInput { */ Name?: string; + /** + *

                                                                        The unique identifier of the network for which to list members.

                                                                        + */ + NetworkId: string | undefined; + /** *

                                                                        The maximum number of members to return in the request.

                                                                        */ @@ -1505,15 +1515,20 @@ export namespace ListMembersInput { *

                                                                        A summary of configuration properties for a member.

                                                                        */ export interface MemberSummary { + /** + *

                                                                        The name of the member.

                                                                        + */ + Name?: string; + /** *

                                                                        An indicator of whether the member is owned by your AWS account or a different AWS account.

                                                                        */ IsOwned?: boolean; /** - *

                                                                        The name of the member.

                                                                        + *

                                                                        The unique identifier of the member.

                                                                        */ - Name?: string; + Id?: string; /** *

                                                                        An optional description of the member.

                                                                        @@ -1549,11 +1564,6 @@ export interface MemberSummary { */ Status?: MemberStatus | string; - /** - *

                                                                        The unique identifier of the member.

                                                                        - */ - Id?: string; - /** *

                                                                        The date and time that the member was created.

                                                                        */ @@ -1568,14 +1578,14 @@ export namespace MemberSummary { export interface ListMembersOutput { /** - *

                                                                        The pagination token that indicates the next set of results to retrieve.

                                                                        + *

                                                                        An array of MemberSummary objects. Each object contains details about a network member.

                                                                        */ - NextToken?: string; + Members?: MemberSummary[]; /** - *

                                                                        An array of MemberSummary objects. Each object contains details about a network member.

                                                                        + *

                                                                        The pagination token that indicates the next set of results to retrieve.

                                                                        */ - Members?: MemberSummary[]; + NextToken?: string; } export namespace ListMembersOutput { @@ -1601,14 +1611,14 @@ export interface ListNetworksInput { Name?: string; /** - *

                                                                        The maximum number of networks to list.

                                                                        + *

                                                                        The pagination token that indicates the next set of results to retrieve.

                                                                        */ - MaxResults?: number; + NextToken?: string; /** - *

                                                                        The pagination token that indicates the next set of results to retrieve.

                                                                        + *

                                                                        The maximum number of networks to list.

                                                                        */ - NextToken?: string; + MaxResults?: number; } export namespace ListNetworksInput { @@ -1619,14 +1629,14 @@ export namespace ListNetworksInput { export interface ListNetworksOutput { /** - *

                                                                        The pagination token that indicates the next set of results to retrieve.

                                                                        + *

                                                                        An array of NetworkSummary objects that contain configuration properties for each network.

                                                                        */ - NextToken?: string; + Networks?: NetworkSummary[]; /** - *

                                                                        An array of NetworkSummary objects that contain configuration properties for each network.

                                                                        + *

                                                                        The pagination token that indicates the next set of results to retrieve.

                                                                        */ - Networks?: NetworkSummary[]; + NextToken?: string; } export namespace ListNetworksOutput { @@ -1637,14 +1647,14 @@ export namespace ListNetworksOutput { export interface ListNodesInput { /** - *

                                                                        The unique identifier of the member who owns the nodes to list.

                                                                        + *

                                                                        An optional status specifier. If provided, only nodes currently in this status are listed.

                                                                        */ - MemberId: string | undefined; + Status?: NodeStatus | string; /** - *

                                                                        An optional status specifier. If provided, only nodes currently in this status are listed.

                                                                        + *

                                                                        The unique identifier of the member who owns the nodes to list.

                                                                        */ - Status?: NodeStatus | string; + MemberId: string | undefined; /** *

                                                                        The unique identifier of the network for which to list nodes.

                                                                        @@ -1673,9 +1683,9 @@ export namespace ListNodesInput { */ export interface NodeSummary { /** - *

                                                                        The Availability Zone in which the node exists.

                                                                        + *

                                                                        The status of the node.

                                                                        */ - AvailabilityZone?: string; + Status?: NodeStatus | string; /** *

                                                                        The unique identifier of the node.

                                                                        @@ -1688,9 +1698,9 @@ export interface NodeSummary { InstanceType?: string; /** - *

                                                                        The status of the node.

                                                                        + *

                                                                        The Availability Zone in which the node exists.

                                                                        */ - Status?: NodeStatus | string; + AvailabilityZone?: string; /** *

                                                                        The date and time that the node was created.

                                                                        @@ -1755,6 +1765,13 @@ export namespace ListProposalsInput { *

                                                                        Properties of a proposal.

                                                                        */ export interface ProposalSummary { + /** + *

                                                                        + * The description of the proposal. + *

                                                                        + */ + Description?: string; + /** *

                                                                        The status of the proposal. Values are as follows:

                                                                        *
                                                                          @@ -1791,17 +1808,10 @@ export interface ProposalSummary { /** *

                                                                          - * The description of the proposal. - *

                                                                          - */ - Description?: string; - - /** - *

                                                                          - * The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members have not cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions are not carried out. + * The unique identifier of the member that created the proposal. *

                                                                          */ - ExpirationDate?: Date; + ProposedByMemberId?: string; /** *

                                                                          @@ -1812,10 +1822,10 @@ export interface ProposalSummary { /** *

                                                                          - * The unique identifier of the member that created the proposal. + * The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members have not cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions are not carried out. *

                                                                          */ - ProposedByMemberId?: string; + ExpirationDate?: Date; /** *

                                                                          @@ -1852,24 +1862,24 @@ export namespace ListProposalsOutput { export interface ListProposalVotesInput { /** *

                                                                          - * The unique identifier of the network. + * The maximum number of votes to return. *

                                                                          */ - NetworkId: string | undefined; + MaxResults?: number; /** *

                                                                          - * The pagination token that indicates the next set of results to retrieve. + * The unique identifier of the network. *

                                                                          */ - NextToken?: string; + NetworkId: string | undefined; /** *

                                                                          - * The maximum number of votes to return. + * The pagination token that indicates the next set of results to retrieve. *

                                                                          */ - MaxResults?: number; + NextToken?: string; /** *

                                                                          @@ -1927,17 +1937,17 @@ export namespace VoteSummary { export interface ListProposalVotesOutput { /** *

                                                                          - * The pagination token that indicates the next set of results to retrieve. + * The listing of votes. *

                                                                          */ - NextToken?: string; + ProposalVotes?: VoteSummary[]; /** *

                                                                          - * The listing of votes. + * The pagination token that indicates the next set of results to retrieve. *

                                                                          */ - ProposalVotes?: VoteSummary[]; + NextToken?: string; } export namespace ListProposalVotesOutput { @@ -1968,11 +1978,6 @@ export namespace RejectInvitationOutput { } export interface UpdateMemberInput { - /** - *

                                                                          The unique ID of the Managed Blockchain network to which the member belongs.

                                                                          - */ - NetworkId: string | undefined; - /** *

                                                                          The unique ID of the member.

                                                                          */ @@ -1982,6 +1987,11 @@ export interface UpdateMemberInput { *

                                                                          Configuration properties for publishing to Amazon CloudWatch Logs.

                                                                          */ LogPublishingConfiguration?: MemberLogPublishingConfiguration; + + /** + *

                                                                          The unique ID of the Managed Blockchain network to which the member belongs.

                                                                          + */ + NetworkId: string | undefined; } export namespace UpdateMemberInput { @@ -2010,14 +2020,14 @@ export interface UpdateNodeInput { MemberId: string | undefined; /** - *

                                                                          Configuration properties for publishing to Amazon CloudWatch Logs.

                                                                          + *

                                                                          The unique ID of the Managed Blockchain network to which the node belongs.

                                                                          */ - LogPublishingConfiguration?: NodeLogPublishingConfiguration; + NetworkId: string | undefined; /** - *

                                                                          The unique ID of the Managed Blockchain network to which the node belongs.

                                                                          + *

                                                                          Configuration properties for publishing to Amazon CloudWatch Logs.

                                                                          */ - NetworkId: string | undefined; + LogPublishingConfiguration?: NodeLogPublishingConfiguration; } export namespace UpdateNodeInput { @@ -2037,17 +2047,17 @@ export namespace UpdateNodeOutput { export interface VoteOnProposalInput { /** *

                                                                          - * The unique identifier of the network. + * The value of the vote. *

                                                                          */ - NetworkId: string | undefined; + Vote: VoteValue | string | undefined; /** *

                                                                          - * The value of the vote. + * The unique identifier of the network. *

                                                                          */ - Vote: VoteValue | string | undefined; + NetworkId: string | undefined; /** *

                                                                          The unique identifier of the member casting the vote. diff --git a/clients/client-managedblockchain/protocols/Aws_restJson1.ts b/clients/client-managedblockchain/protocols/Aws_restJson1.ts index ea5bb68ea08f..0e369a86da5c 100644 --- a/clients/client-managedblockchain/protocols/Aws_restJson1.ts +++ b/clients/client-managedblockchain/protocols/Aws_restJson1.ts @@ -280,6 +280,15 @@ export const serializeAws_restJson1DeleteNodeCommand = async ( "Content-Type": "", }; let resolvedPath = "/networks/{NetworkId}/members/{MemberId}/nodes/{NodeId}"; + 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."); + } if (input.NetworkId !== undefined) { const labelValue: string = input.NetworkId; if (labelValue.length <= 0) { @@ -298,15 +307,6 @@ export const serializeAws_restJson1DeleteNodeCommand = async ( } else { throw new Error("No value provided for input HTTP label: NodeId."); } - 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(); return new __HttpRequest({ @@ -328,15 +328,6 @@ export const serializeAws_restJson1GetMemberCommand = async ( "Content-Type": "", }; let resolvedPath = "/networks/{NetworkId}/members/{MemberId}"; - 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."); - } if (input.NetworkId !== undefined) { const labelValue: string = input.NetworkId; if (labelValue.length <= 0) { @@ -346,6 +337,15 @@ export const serializeAws_restJson1GetMemberCommand = async ( } else { throw new Error("No value provided for input HTTP label: NetworkId."); } + 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(); return new __HttpRequest({ @@ -397,6 +397,15 @@ export const serializeAws_restJson1GetNodeCommand = async ( "Content-Type": "", }; let resolvedPath = "/networks/{NetworkId}/members/{MemberId}/nodes/{NodeId}"; + if (input.NetworkId !== undefined) { + const labelValue: string = input.NetworkId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: NetworkId."); + } + resolvedPath = resolvedPath.replace("{NetworkId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: NetworkId."); + } if (input.NodeId !== undefined) { const labelValue: string = input.NodeId; if (labelValue.length <= 0) { @@ -415,15 +424,6 @@ export const serializeAws_restJson1GetNodeCommand = async ( } else { throw new Error("No value provided for input HTTP label: MemberId."); } - if (input.NetworkId !== undefined) { - const labelValue: string = input.NetworkId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: NetworkId."); - } - resolvedPath = resolvedPath.replace("{NetworkId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: NetworkId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -445,15 +445,6 @@ export const serializeAws_restJson1GetProposalCommand = async ( "Content-Type": "", }; let resolvedPath = "/networks/{NetworkId}/proposals/{ProposalId}"; - if (input.ProposalId !== undefined) { - const labelValue: string = input.ProposalId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ProposalId."); - } - resolvedPath = resolvedPath.replace("{ProposalId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ProposalId."); - } if (input.NetworkId !== undefined) { const labelValue: string = input.NetworkId; if (labelValue.length <= 0) { @@ -463,6 +454,15 @@ export const serializeAws_restJson1GetProposalCommand = async ( } else { throw new Error("No value provided for input HTTP label: NetworkId."); } + if (input.ProposalId !== undefined) { + const labelValue: string = input.ProposalId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ProposalId."); + } + resolvedPath = resolvedPath.replace("{ProposalId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ProposalId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -552,8 +552,8 @@ export const serializeAws_restJson1ListNetworksCommand = async ( ...(input.Status !== undefined && { status: input.Status }), ...(input.Framework !== undefined && { framework: input.Framework }), ...(input.Name !== undefined && { name: input.Name }), - ...(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(); @@ -676,8 +676,8 @@ export const serializeAws_restJson1ListProposalVotesCommand = async ( throw new Error("No value provided for input HTTP label: ProposalId."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -731,15 +731,6 @@ export const serializeAws_restJson1UpdateMemberCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/networks/{NetworkId}/members/{MemberId}"; - if (input.NetworkId !== undefined) { - const labelValue: string = input.NetworkId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: NetworkId."); - } - resolvedPath = resolvedPath.replace("{NetworkId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: NetworkId."); - } if (input.MemberId !== undefined) { const labelValue: string = input.MemberId; if (labelValue.length <= 0) { @@ -749,6 +740,15 @@ export const serializeAws_restJson1UpdateMemberCommand = async ( } else { throw new Error("No value provided for input HTTP label: MemberId."); } + if (input.NetworkId !== undefined) { + const labelValue: string = input.NetworkId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: NetworkId."); + } + resolvedPath = resolvedPath.replace("{NetworkId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: NetworkId."); + } let body: any; body = JSON.stringify({ ...(input.LogPublishingConfiguration !== undefined && { @@ -2948,6 +2948,7 @@ const serializeAws_restJson1NodeConfiguration = (input: NodeConfiguration, conte context ), }), + ...(input.StateDB !== undefined && { StateDB: input.StateDB }), }; }; @@ -3237,6 +3238,7 @@ const deserializeAws_restJson1Node = (output: any, context: __SerdeContext): Nod : undefined, MemberId: output.MemberId !== undefined && output.MemberId !== null ? output.MemberId : undefined, NetworkId: output.NetworkId !== undefined && output.NetworkId !== null ? output.NetworkId : undefined, + StateDB: output.StateDB !== undefined && output.StateDB !== null ? output.StateDB : undefined, Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, } as any; }; diff --git a/clients/client-marketplace-catalog/MarketplaceCatalog.ts b/clients/client-marketplace-catalog/MarketplaceCatalog.ts index 7dfa9a38897b..94a65fe4d7d9 100644 --- a/clients/client-marketplace-catalog/MarketplaceCatalog.ts +++ b/clients/client-marketplace-catalog/MarketplaceCatalog.ts @@ -33,7 +33,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** *

                                                                          Catalog API actions allow you to manage your entities through list, describe, and update - * capabilities. An entity can be a product or an offer on AWS Marketplace.

                                                                          + * capabilities. An entity can be a product or an offer on AWS Marketplace.

                                                                          * *

                                                                          You can automate your entity update process by integrating the AWS Marketplace Catalog * API with your AWS Marketplace product build or deployment pipelines. You can also create diff --git a/clients/client-marketplace-catalog/MarketplaceCatalogClient.ts b/clients/client-marketplace-catalog/MarketplaceCatalogClient.ts index 49aed4f54b0b..a001da89c72d 100644 --- a/clients/client-marketplace-catalog/MarketplaceCatalogClient.ts +++ b/clients/client-marketplace-catalog/MarketplaceCatalogClient.ts @@ -183,7 +183,7 @@ export type MarketplaceCatalogClientResolvedConfig = __SmithyResolvedConfigurati /** *

                                                                          Catalog API actions allow you to manage your entities through list, describe, and update - * capabilities. An entity can be a product or an offer on AWS Marketplace.

                                                                          + * capabilities. An entity can be a product or an offer on AWS Marketplace.

                                                                          * *

                                                                          You can automate your entity update process by integrating the AWS Marketplace Catalog * API with your AWS Marketplace product build or deployment pipelines. You can also create diff --git a/clients/client-marketplace-catalog/models/models_0.ts b/clients/client-marketplace-catalog/models/models_0.ts index cfa5af43e106..d97281db8a9a 100644 --- a/clients/client-marketplace-catalog/models/models_0.ts +++ b/clients/client-marketplace-catalog/models/models_0.ts @@ -130,18 +130,18 @@ export namespace ValidationException { } export interface DescribeChangeSetRequest { + /** + *

                                                                          Required. The unique identifier for the StartChangeSet request that you + * want to describe the details for.

                                                                          + */ + ChangeSetId: string | undefined; + /** *

                                                                          Required. The catalog related to the request. Fixed value: * AWSMarketplace *

                                                                          */ Catalog: string | undefined; - - /** - *

                                                                          Required. The unique identifier for the StartChangeSet request that you - * want to describe the details for.

                                                                          - */ - ChangeSetId: string | undefined; } export namespace DescribeChangeSetRequest { @@ -156,14 +156,14 @@ export namespace DescribeChangeSetRequest { */ export interface Entity { /** - *

                                                                          The identifier for the entity.

                                                                          + *

                                                                          The type of entity.

                                                                          */ - Identifier?: string; + Type: string | undefined; /** - *

                                                                          The type of entity.

                                                                          + *

                                                                          The identifier for the entity.

                                                                          */ - Type: string | undefined; + Identifier?: string; } export namespace Entity { @@ -199,25 +199,25 @@ export namespace ErrorDetail { */ export interface ChangeSummary { /** - *

                                                                          This object contains details specific to the change type of the requested - * change.

                                                                          + *

                                                                          The type of the change.

                                                                          */ - Details?: string; + ChangeType?: string; /** - *

                                                                          The entity to be changed.

                                                                          + *

                                                                          An array of ErrorDetail objects associated with the change.

                                                                          */ - Entity?: Entity; + ErrorDetailList?: ErrorDetail[]; /** - *

                                                                          An array of ErrorDetail objects associated with the change.

                                                                          + *

                                                                          The entity to be changed.

                                                                          */ - ErrorDetailList?: ErrorDetail[]; + Entity?: Entity; /** - *

                                                                          The type of the change.

                                                                          + *

                                                                          This object contains details specific to the change type of the requested + * change.

                                                                          */ - ChangeType?: string; + Details?: string; } export namespace ChangeSummary { @@ -226,6 +226,11 @@ export namespace ChangeSummary { }); } +export enum FailureCode { + ClientError = "CLIENT_ERROR", + ServerFault = "SERVER_FAULT", +} + export enum ChangeStatus { APPLYING = "APPLYING", CANCELLED = "CANCELLED", @@ -236,22 +241,20 @@ export enum ChangeStatus { export interface DescribeChangeSetResponse { /** - *

                                                                          The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request transitioned - * to a terminal state. The change cannot transition to a different state. Null if the - * request is not in a terminal state.

                                                                          + *

                                                                          The status of the change request.

                                                                          */ - EndTime?: string; + Status?: ChangeStatus | string; /** - *

                                                                          The optional name provided in the StartChangeSet request. If you do not - * provide a name, one is set by default.

                                                                          + *

                                                                          Returned if there is a failure on the change set, but that failure is not related to + * any of the changes in the request.

                                                                          */ - ChangeSetName?: string; + FailureDescription?: string; /** - *

                                                                          The status of the change request.

                                                                          + *

                                                                          An array of ChangeSummary objects.

                                                                          */ - Status?: ChangeStatus | string; + ChangeSet?: ChangeSummary[]; /** *

                                                                          Required. The unique identifier for the change set referenced in this request.

                                                                          @@ -259,10 +262,11 @@ export interface DescribeChangeSetResponse { ChangeSetId?: string; /** - *

                                                                          The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request started. - *

                                                                          + *

                                                                          The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request transitioned + * to a terminal state. The change cannot transition to a different state. Null if the + * request is not in a terminal state.

                                                                          */ - StartTime?: string; + EndTime?: string; /** *

                                                                          The ARN associated with the unique identifier for the change set referenced in this @@ -271,15 +275,24 @@ export interface DescribeChangeSetResponse { ChangeSetArn?: string; /** - *

                                                                          Returned if there is a failure on the change set, but that failure is not related to - * any of the changes in the request.

                                                                          + *

                                                                          Returned if the change set is in FAILED status. Can be either + * CLIENT_ERROR, which means that there are issues with the request (see the + * ErrorDetailList), or SERVER_FAULT, which means that there is a + * problem in the system, and you should retry your request.

                                                                          */ - FailureDescription?: string; + FailureCode?: FailureCode | string; /** - *

                                                                          An array of ChangeSummary objects.

                                                                          + *

                                                                          The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request started. + *

                                                                          */ - ChangeSet?: ChangeSummary[]; + StartTime?: string; + + /** + *

                                                                          The optional name provided in the StartChangeSet request. If you do not + * provide a name, one is set by default.

                                                                          + */ + ChangeSetName?: string; } export namespace DescribeChangeSetResponse { @@ -309,17 +322,6 @@ export namespace DescribeEntityRequest { } export interface DescribeEntityResponse { - /** - *

                                                                          The last modified date of the entity, in ISO 8601 format - * (2018-02-27T13:45:22Z).

                                                                          - */ - LastModifiedDate?: string; - - /** - *

                                                                          The named type of the entity, in the format of EntityType@Version.

                                                                          - */ - EntityType?: string; - /** *

                                                                          The identifier of the entity, in the format of * EntityId@RevisionId.

                                                                          @@ -336,6 +338,17 @@ export interface DescribeEntityResponse { * request.

                                                                          */ EntityArn?: string; + + /** + *

                                                                          The last modified date of the entity, in ISO 8601 format + * (2018-02-27T13:45:22Z).

                                                                          + */ + LastModifiedDate?: string; + + /** + *

                                                                          The named type of the entity, in the format of EntityType@Version.

                                                                          + */ + EntityType?: string; } export namespace DescribeEntityResponse { @@ -364,6 +377,13 @@ export namespace ResourceNotSupportedException { * ListEntities and ListChangeSets actions.

                                                                          */ export interface Filter { + /** + *

                                                                          For ListEntities, the supported value for this is an + * EntityId.

                                                                          + *

                                                                          For ListChangeSets, the supported values are as follows:

                                                                          + */ + Name?: string; + /** *

                                                                          * ListEntities - This is a list of unique EntityIds.

                                                                          @@ -411,13 +431,6 @@ export interface Filter { *
                                                                        */ ValueList?: string[]; - - /** - *

                                                                        For ListEntities, the supported value for this is an - * EntityId.

                                                                        - *

                                                                        For ListChangeSets, the supported values are as follows:

                                                                        - */ - Name?: string; } export namespace Filter { @@ -460,18 +473,6 @@ export namespace Sort { } export interface ListChangeSetsRequest { - /** - *

                                                                        The token value retrieved from a previous call to access the next page of - * results.

                                                                        - */ - NextToken?: string; - - /** - *

                                                                        An object that contains two attributes, SortBy and - * SortOrder.

                                                                        - */ - Sort?: Sort; - /** *

                                                                        An array of filter objects.

                                                                        */ @@ -483,12 +484,24 @@ export interface ListChangeSetsRequest { */ Catalog: string | undefined; + /** + *

                                                                        The token value retrieved from a previous call to access the next page of + * results.

                                                                        + */ + NextToken?: string; + /** *

                                                                        The maximum number of results returned by a single call. This value must be provided * in the next call to retrieve the next set of results. By default, this value is * 20.

                                                                        */ MaxResults?: number; + + /** + *

                                                                        An object that contains two attributes, SortBy and + * SortOrder.

                                                                        + */ + Sort?: Sort; } export namespace ListChangeSetsRequest { @@ -503,20 +516,15 @@ export namespace ListChangeSetsRequest { */ export interface ChangeSetSummaryListItem { /** - *

                                                                        The unique identifier for a change set.

                                                                        - */ - ChangeSetId?: string; - - /** - *

                                                                        The non-unique name for the change set.

                                                                        + *

                                                                        The ARN associated with the unique identifier for the change set referenced in this + * request.

                                                                        */ - ChangeSetName?: string; + ChangeSetArn?: string; /** - *

                                                                        This object is a list of entity IDs (string) that are a part of a change set. The - * entity ID list is a maximum of 20 entities. It must contain at least one entity.

                                                                        + *

                                                                        The current status of the change set.

                                                                        */ - EntityIdList?: string[]; + Status?: ChangeStatus | string; /** *

                                                                        The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set was @@ -525,10 +533,14 @@ export interface ChangeSetSummaryListItem { StartTime?: string; /** - *

                                                                        The ARN associated with the unique identifier for the change set referenced in this - * request.

                                                                        + *

                                                                        The unique identifier for a change set.

                                                                        */ - ChangeSetArn?: string; + ChangeSetId?: string; + + /** + *

                                                                        The non-unique name for the change set.

                                                                        + */ + ChangeSetName?: string; /** *

                                                                        The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set was @@ -537,9 +549,18 @@ export interface ChangeSetSummaryListItem { EndTime?: string; /** - *

                                                                        The current status of the change set.

                                                                        + *

                                                                        This object is a list of entity IDs (string) that are a part of a change set. The + * entity ID list is a maximum of 20 entities. It must contain at least one entity.

                                                                        */ - Status?: ChangeStatus | string; + EntityIdList?: string[]; + + /** + *

                                                                        Returned if the change set is in FAILED status. Can be either + * CLIENT_ERROR, which means that there are issues with the request (see the + * ErrorDetailList of DescribeChangeSet), or SERVER_FAULT, + * which means that there is a problem in the system, and you should retry your request.

                                                                        + */ + FailureCode?: FailureCode | string; } export namespace ChangeSetSummaryListItem { @@ -550,14 +571,14 @@ export namespace ChangeSetSummaryListItem { export interface ListChangeSetsResponse { /** - *

                                                                        The value of the next token, if it exists. Null if there are no more results.

                                                                        + *

                                                                        Array of ChangeSetSummaryListItem objects.

                                                                        */ - NextToken?: string; + ChangeSetSummaryList?: ChangeSetSummaryListItem[]; /** - *

                                                                        Array of ChangeSetSummaryListItem objects.

                                                                        + *

                                                                        The value of the next token, if it exists. Null if there are no more results.

                                                                        */ - ChangeSetSummaryList?: ChangeSetSummaryListItem[]; + NextToken?: string; } export namespace ListChangeSetsResponse { @@ -568,38 +589,38 @@ export namespace ListChangeSetsResponse { export interface ListEntitiesRequest { /** - *

                                                                        The type of entities to retrieve.

                                                                        + *

                                                                        The value of the next token, if it exists. Null if there are no more results.

                                                                        */ - EntityType: string | undefined; + NextToken?: string; /** - *

                                                                        The catalog related to the request. Fixed value: AWSMarketplace - *

                                                                        + *

                                                                        An object that contains two attributes, SortBy and + * SortOrder.

                                                                        */ - Catalog: string | undefined; + Sort?: Sort; /** - *

                                                                        The value of the next token, if it exists. Null if there are no more results.

                                                                        + *

                                                                        An array of filter objects. Each filter object contains two attributes, + * filterName and filterValues.

                                                                        */ - NextToken?: string; + FilterList?: Filter[]; /** - *

                                                                        Specifies the upper limit of the elements on a single page. If a value isn't provided, - * the default value is 20.

                                                                        + *

                                                                        The catalog related to the request. Fixed value: AWSMarketplace + *

                                                                        */ - MaxResults?: number; + Catalog: string | undefined; /** - *

                                                                        An object that contains two attributes, SortBy and - * SortOrder.

                                                                        + *

                                                                        Specifies the upper limit of the elements on a single page. If a value isn't provided, + * the default value is 20.

                                                                        */ - Sort?: Sort; + MaxResults?: number; /** - *

                                                                        An array of filter objects. Each filter object contains two attributes, - * filterName and filterValues.

                                                                        + *

                                                                        The type of entities to retrieve.

                                                                        */ - FilterList?: Filter[]; + EntityType: string | undefined; } export namespace ListEntitiesRequest { @@ -614,12 +635,6 @@ export namespace ListEntitiesRequest { * common across all entities.

                                                                        */ export interface EntitySummary { - /** - *

                                                                        The name for the entity. This value is not unique. It is defined by the - * seller.

                                                                        - */ - Name?: string; - /** *

                                                                        The visibility status of the entity to * buyers. @@ -632,12 +647,6 @@ export interface EntitySummary { */ Visibility?: string; - /** - *

                                                                        The last time the entity was published, using ISO 8601 format - * (2018-02-27T13:45:22Z).

                                                                        - */ - LastModifiedDate?: string; - /** *

                                                                        The ARN associated with the unique identifier for the entity.

                                                                        */ @@ -648,6 +657,18 @@ export interface EntitySummary { */ EntityType?: string; + /** + *

                                                                        The last time the entity was published, using ISO 8601 format + * (2018-02-27T13:45:22Z).

                                                                        + */ + LastModifiedDate?: string; + + /** + *

                                                                        The name for the entity. This value is not unique. It is defined by the + * seller.

                                                                        + */ + Name?: string; + /** *

                                                                        The unique identifier for the entity.

                                                                        */ @@ -662,14 +683,14 @@ export namespace EntitySummary { export interface ListEntitiesResponse { /** - *

                                                                        Array of EntitySummary object.

                                                                        + *

                                                                        The value of the next token if it exists. Null if there is no more result.

                                                                        */ - EntitySummaryList?: EntitySummary[]; + NextToken?: string; /** - *

                                                                        The value of the next token if it exists. Null if there is no more result.

                                                                        + *

                                                                        Array of EntitySummary object.

                                                                        */ - NextToken?: string; + EntitySummaryList?: EntitySummary[]; } export namespace ListEntitiesResponse { @@ -724,11 +745,6 @@ export namespace Change { } export interface StartChangeSetRequest { - /** - *

                                                                        Array of change object.

                                                                        - */ - ChangeSet: Change[] | undefined; - /** *

                                                                        Optional case sensitive string of up to 100 ASCII characters. The change set name can * be used to filter the list of change sets.

                                                                        @@ -740,6 +756,11 @@ export interface StartChangeSetRequest { */ ClientRequestToken?: string; + /** + *

                                                                        Array of change object.

                                                                        + */ + ChangeSet: Change[] | undefined; + /** *

                                                                        The catalog related to the request. Fixed value: AWSMarketplace *

                                                                        diff --git a/clients/client-marketplace-catalog/protocols/Aws_restJson1.ts b/clients/client-marketplace-catalog/protocols/Aws_restJson1.ts index 5c0a8a4915cd..6b8ed4e60cd6 100644 --- a/clients/client-marketplace-catalog/protocols/Aws_restJson1.ts +++ b/clients/client-marketplace-catalog/protocols/Aws_restJson1.ts @@ -69,8 +69,8 @@ export const serializeAws_restJson1DescribeChangeSetCommand = async ( }; let resolvedPath = "/DescribeChangeSet"; const query: any = { - ...(input.Catalog !== undefined && { catalog: input.Catalog }), ...(input.ChangeSetId !== undefined && { changeSetId: input.ChangeSetId }), + ...(input.Catalog !== undefined && { catalog: input.Catalog }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -311,6 +311,7 @@ export const deserializeAws_restJson1DescribeChangeSetCommand = async ( ChangeSetId: undefined, ChangeSetName: undefined, EndTime: undefined, + FailureCode: undefined, FailureDescription: undefined, StartTime: undefined, Status: undefined, @@ -331,6 +332,9 @@ export const deserializeAws_restJson1DescribeChangeSetCommand = async ( if (data.EndTime !== undefined && data.EndTime !== null) { contents.EndTime = data.EndTime; } + if (data.FailureCode !== undefined && data.FailureCode !== null) { + contents.FailureCode = data.FailureCode; + } if (data.FailureDescription !== undefined && data.FailureDescription !== null) { contents.FailureDescription = data.FailureDescription; } @@ -1006,6 +1010,7 @@ const deserializeAws_restJson1ChangeSetSummaryListItem = ( output.EntityIdList !== undefined && output.EntityIdList !== null ? deserializeAws_restJson1ResourceIdList(output.EntityIdList, context) : undefined, + FailureCode: output.FailureCode !== undefined && output.FailureCode !== null ? output.FailureCode : undefined, StartTime: output.StartTime !== undefined && output.StartTime !== null ? output.StartTime : undefined, Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, } as any; diff --git a/clients/client-marketplace-commerce-analytics/models/models_0.ts b/clients/client-marketplace-commerce-analytics/models/models_0.ts index 58ae0cf3447f..3659f3ff0f3a 100644 --- a/clients/client-marketplace-commerce-analytics/models/models_0.ts +++ b/clients/client-marketplace-commerce-analytics/models/models_0.ts @@ -64,11 +64,6 @@ export interface GenerateDataSetRequest { */ destinationS3Prefix?: string; - /** - * The name (friendly name, not ARN) of the destination S3 bucket. - */ - destinationS3BucketName: string | undefined; - /** *

                                                                        The desired data set type.

                                                                        *

                                                                        @@ -162,6 +157,11 @@ export interface GenerateDataSetRequest { */ dataSetType: DataSetType | string | undefined; + /** + * The name (friendly name, not ARN) of the destination S3 bucket. + */ + destinationS3BucketName: string | undefined; + /** * The Amazon Resource Name (ARN) of the Role with an attached permissions policy to interact with the provided * AWS services. @@ -216,16 +216,25 @@ export type SupportDataSetType = "customer_support_contacts_data" | "test_custom * Container for the parameters to the StartSupportDataExport operation. */ export interface StartSupportDataExportRequest { + /** + * Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data set has been published or if an + * error has occurred. + */ + snsTopicArn: string | undefined; + /** * The start date from which to retrieve the data set in UTC. This parameter only affects the customer_support_contacts_data data set type. */ fromDate: Date | undefined; /** - * Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data set has been published or if an - * error has occurred. + * (Optional) The desired S3 prefix for the published data set, similar to a directory path in standard file systems. + * For example, if given the bucket name "mybucket" and the prefix "myprefix/mydatasets", the output file + * "outputfile" would be published to "s3://mybucket/myprefix/mydatasets/outputfile". + * If the prefix directory structure does not exist, it will be created. + * If no prefix is provided, the data set will be published to the S3 bucket root. */ - snsTopicArn: string | undefined; + destinationS3Prefix?: string; /** *

                                                                        @@ -250,24 +259,15 @@ export interface StartSupportDataExportRequest { customerDefinedValues?: { [key: string]: string }; /** - * (Optional) The desired S3 prefix for the published data set, similar to a directory path in standard file systems. - * For example, if given the bucket name "mybucket" and the prefix "myprefix/mydatasets", the output file - * "outputfile" would be published to "s3://mybucket/myprefix/mydatasets/outputfile". - * If the prefix directory structure does not exist, it will be created. - * If no prefix is provided, the data set will be published to the S3 bucket root. + * The Amazon Resource Name (ARN) of the Role with an attached permissions policy to interact with the provided + * AWS services. */ - destinationS3Prefix?: string; + roleNameArn: string | undefined; /** * The name (friendly name, not ARN) of the destination S3 bucket. */ destinationS3BucketName: string | undefined; - - /** - * The Amazon Resource Name (ARN) of the Role with an attached permissions policy to interact with the provided - * AWS services. - */ - roleNameArn: string | undefined; } export namespace StartSupportDataExportRequest { diff --git a/clients/client-marketplace-entitlement-service/models/models_0.ts b/clients/client-marketplace-entitlement-service/models/models_0.ts index a7461ed36c42..4ea7caa653bc 100644 --- a/clients/client-marketplace-entitlement-service/models/models_0.ts +++ b/clients/client-marketplace-entitlement-service/models/models_0.ts @@ -11,6 +11,12 @@ export enum GetEntitlementFilterName { * operation.

                                                                        */ export interface GetEntitlementsRequest { + /** + *

                                                                        For paginated calls to GetEntitlements, pass the NextToken from the previous + * GetEntitlementsResult.

                                                                        + */ + NextToken?: string; + /** *

                                                                        The maximum number of items to retrieve from the GetEntitlements operation. For * pagination, use the NextToken field in subsequent calls to GetEntitlements.

                                                                        @@ -18,10 +24,10 @@ export interface GetEntitlementsRequest { MaxResults?: number; /** - *

                                                                        For paginated calls to GetEntitlements, pass the NextToken from the previous - * GetEntitlementsResult.

                                                                        + *

                                                                        Product code is used to uniquely identify a product in AWS Marketplace. The product code + * will be provided by AWS Marketplace when the product listing is created.

                                                                        */ - NextToken?: string; + ProductCode: string | undefined; /** *

                                                                        Filter is used to return entitlements for a specific customer or for a specific @@ -30,12 +36,6 @@ export interface GetEntitlementsRequest { * intersected for each filter key.

                                                                        */ Filter?: { [key: string]: string[] }; - - /** - *

                                                                        Product code is used to uniquely identify a product in AWS Marketplace. The product code - * will be provided by AWS Marketplace when the product listing is created.

                                                                        - */ - ProductCode: string | undefined; } export namespace GetEntitlementsRequest { @@ -93,13 +93,6 @@ export interface Entitlement { */ Dimension?: string; - /** - *

                                                                        The customer identifier is a handle to each unique customer in an application. Customer - * identifiers are obtained through the ResolveCustomer operation in AWS Marketplace Metering - * Service.

                                                                        - */ - CustomerIdentifier?: string; - /** *

                                                                        The product code for which the given entitlement applies. Product codes are provided by * AWS Marketplace when the product listing is created.

                                                                        @@ -114,6 +107,13 @@ export interface Entitlement { */ ExpirationDate?: Date; + /** + *

                                                                        The customer identifier is a handle to each unique customer in an application. Customer + * identifiers are obtained through the ResolveCustomer operation in AWS Marketplace Metering + * Service.

                                                                        + */ + CustomerIdentifier?: string; + /** *

                                                                        The EntitlementValue represents the amount of capacity that the customer is entitled to * for the product.

                                                                        diff --git a/clients/client-marketplace-metering/models/models_0.ts b/clients/client-marketplace-metering/models/models_0.ts index 9af5ab92c953..d0ea10ed5ed2 100644 --- a/clients/client-marketplace-metering/models/models_0.ts +++ b/clients/client-marketplace-metering/models/models_0.ts @@ -8,13 +8,6 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; * prevent double charges.

                                                                        */ export interface UsageRecord { - /** - *

                                                                        Timestamp, in UTC, for which the usage is being reported.

                                                                        - *

                                                                        Your application can meter usage for up to one hour in the past. Make sure the - * timestamp value is not before the start of the software usage.

                                                                        - */ - Timestamp: Date | undefined; - /** *

                                                                        The quantity of usage consumed by the customer for the given dimension and time. * Defaults to 0 if not specified.

                                                                        @@ -28,6 +21,13 @@ export interface UsageRecord { */ Dimension: string | undefined; + /** + *

                                                                        Timestamp, in UTC, for which the usage is being reported.

                                                                        + *

                                                                        Your application can meter usage for up to one hour in the past. Make sure the + * timestamp value is not before the start of the software usage.

                                                                        + */ + Timestamp: Date | undefined; + /** *

                                                                        The CustomerIdentifier is obtained through the ResolveCustomer operation and * represents an individual buyer in your application.

                                                                        @@ -78,9 +78,9 @@ export enum UsageRecordResultStatus { */ export interface UsageRecordResult { /** - *

                                                                        The MeteringRecordId is a unique identifier for this metering event.

                                                                        + *

                                                                        The UsageRecord that was part of the BatchMeterUsage request.

                                                                        */ - MeteringRecordId?: string; + UsageRecord?: UsageRecord; /** *

                                                                        The UsageRecordResult Status indicates the status of an individual UsageRecord @@ -109,9 +109,9 @@ export interface UsageRecordResult { Status?: UsageRecordResultStatus | string; /** - *

                                                                        The UsageRecord that was part of the BatchMeterUsage request.

                                                                        + *

                                                                        The MeteringRecordId is a unique identifier for this metering event.

                                                                        */ - UsageRecord?: UsageRecord; + MeteringRecordId?: string; } export namespace UsageRecordResult { @@ -407,6 +407,12 @@ export namespace PlatformNotSupportedException { } export interface RegisterUsageRequest { + /** + *

                                                                        (Optional) To scope down the registration to a specific running software instance + * and guard against replay attacks.

                                                                        + */ + Nonce?: string; + /** *

                                                                        Product code is used to uniquely identify a product in AWS Marketplace. The product * code should be the same as the one used during the publishing of a new @@ -414,12 +420,6 @@ export interface RegisterUsageRequest { */ ProductCode: string | undefined; - /** - *

                                                                        (Optional) To scope down the registration to a specific running software instance - * and guard against replay attacks.

                                                                        - */ - Nonce?: string; - /** *

                                                                        Public Key Version provided by AWS Marketplace

                                                                        */ @@ -507,19 +507,19 @@ export namespace ResolveCustomerRequest { * product code.

                                                                        */ export interface ResolveCustomerResult { - /** - *

                                                                        The product code is returned to confirm that the buyer is registering for your - * product. Subsequent BatchMeterUsage calls should be made using this product - * code.

                                                                        - */ - ProductCode?: string; - /** *

                                                                        The CustomerIdentifier is used to identify an individual customer in your * application. Calls to BatchMeterUsage require CustomerIdentifiers for each * UsageRecord.

                                                                        */ CustomerIdentifier?: string; + + /** + *

                                                                        The product code is returned to confirm that the buyer is registering for your + * product. Subsequent BatchMeterUsage calls should be made using this product + * code.

                                                                        + */ + ProductCode?: string; } export namespace ResolveCustomerResult { diff --git a/clients/client-mediaconnect/MediaConnect.ts b/clients/client-mediaconnect/MediaConnect.ts index 6625fc829c75..8dad6cbfd389 100644 --- a/clients/client-mediaconnect/MediaConnect.ts +++ b/clients/client-mediaconnect/MediaConnect.ts @@ -21,6 +21,16 @@ import { DescribeFlowCommandInput, DescribeFlowCommandOutput, } from "./commands/DescribeFlowCommand"; +import { + DescribeOfferingCommand, + DescribeOfferingCommandInput, + DescribeOfferingCommandOutput, +} from "./commands/DescribeOfferingCommand"; +import { + DescribeReservationCommand, + DescribeReservationCommandInput, + DescribeReservationCommandOutput, +} from "./commands/DescribeReservationCommand"; import { GrantFlowEntitlementsCommand, GrantFlowEntitlementsCommandInput, @@ -32,11 +42,26 @@ import { ListEntitlementsCommandOutput, } from "./commands/ListEntitlementsCommand"; import { ListFlowsCommand, ListFlowsCommandInput, ListFlowsCommandOutput } from "./commands/ListFlowsCommand"; +import { + ListOfferingsCommand, + ListOfferingsCommandInput, + ListOfferingsCommandOutput, +} from "./commands/ListOfferingsCommand"; +import { + ListReservationsCommand, + ListReservationsCommandInput, + ListReservationsCommandOutput, +} from "./commands/ListReservationsCommand"; import { ListTagsForResourceCommand, ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + PurchaseOfferingCommand, + PurchaseOfferingCommandInput, + PurchaseOfferingCommandOutput, +} from "./commands/PurchaseOfferingCommand"; import { RemoveFlowOutputCommand, RemoveFlowOutputCommandInput, @@ -264,6 +289,70 @@ export class MediaConnect extends MediaConnectClient { } } + /** + * Displays the details of an offering. The response includes the offering description, duration, outbound bandwidth, price, and Amazon Resource Name (ARN). + */ + public describeOffering( + args: DescribeOfferingCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeOffering( + args: DescribeOfferingCommandInput, + cb: (err: any, data?: DescribeOfferingCommandOutput) => void + ): void; + public describeOffering( + args: DescribeOfferingCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeOfferingCommandOutput) => void + ): void; + public describeOffering( + args: DescribeOfferingCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeOfferingCommandOutput) => void), + cb?: (err: any, data?: DescribeOfferingCommandOutput) => void + ): Promise | void { + const command = new DescribeOfferingCommand(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); + } + } + + /** + * Displays the details of a reservation. The response includes the reservation name, state, start date and time, and the details of the offering that make up the rest of the reservation (such as price, duration, and outbound bandwidth). + */ + public describeReservation( + args: DescribeReservationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeReservation( + args: DescribeReservationCommandInput, + cb: (err: any, data?: DescribeReservationCommandOutput) => void + ): void; + public describeReservation( + args: DescribeReservationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeReservationCommandOutput) => void + ): void; + public describeReservation( + args: DescribeReservationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeReservationCommandOutput) => void), + cb?: (err: any, data?: DescribeReservationCommandOutput) => void + ): Promise | void { + const command = new DescribeReservationCommand(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); + } + } + /** * Grants entitlements to an existing flow. */ @@ -354,6 +443,70 @@ export class MediaConnect extends MediaConnectClient { } } + /** + * Displays a list of all offerings that are available to this account in the current AWS Region. If you have an active reservation (which means you've purchased an offering that has already started and hasn't expired yet), your account isn't eligible for other offerings. + */ + public listOfferings( + args: ListOfferingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listOfferings( + args: ListOfferingsCommandInput, + cb: (err: any, data?: ListOfferingsCommandOutput) => void + ): void; + public listOfferings( + args: ListOfferingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListOfferingsCommandOutput) => void + ): void; + public listOfferings( + args: ListOfferingsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListOfferingsCommandOutput) => void), + cb?: (err: any, data?: ListOfferingsCommandOutput) => void + ): Promise | void { + const command = new ListOfferingsCommand(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); + } + } + + /** + * Displays a list of all reservations that have been purchased by this account in the current AWS Region. This list includes all reservations in all states (such as active and expired). + */ + public listReservations( + args: ListReservationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listReservations( + args: ListReservationsCommandInput, + cb: (err: any, data?: ListReservationsCommandOutput) => void + ): void; + public listReservations( + args: ListReservationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListReservationsCommandOutput) => void + ): void; + public listReservations( + args: ListReservationsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListReservationsCommandOutput) => void), + cb?: (err: any, data?: ListReservationsCommandOutput) => void + ): Promise | void { + const command = new ListReservationsCommand(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 tags on an AWS Elemental MediaConnect resource */ @@ -386,6 +539,38 @@ export class MediaConnect extends MediaConnectClient { } } + /** + * Submits a request to purchase an offering. If you already have an active reservation, you can't purchase another offering. + */ + public purchaseOffering( + args: PurchaseOfferingCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public purchaseOffering( + args: PurchaseOfferingCommandInput, + cb: (err: any, data?: PurchaseOfferingCommandOutput) => void + ): void; + public purchaseOffering( + args: PurchaseOfferingCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PurchaseOfferingCommandOutput) => void + ): void; + public purchaseOffering( + args: PurchaseOfferingCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PurchaseOfferingCommandOutput) => void), + cb?: (err: any, data?: PurchaseOfferingCommandOutput) => void + ): Promise | void { + const command = new PurchaseOfferingCommand(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 an output from an existing flow. This request can be made only on an output that does not have an entitlement associated with it. If the output has an entitlement, you must revoke the entitlement instead. When an entitlement is revoked from a flow, the service automatically removes the associated output. */ diff --git a/clients/client-mediaconnect/MediaConnectClient.ts b/clients/client-mediaconnect/MediaConnectClient.ts index 242ed41d834d..a928dd9dce2d 100644 --- a/clients/client-mediaconnect/MediaConnectClient.ts +++ b/clients/client-mediaconnect/MediaConnectClient.ts @@ -7,16 +7,24 @@ import { import { CreateFlowCommandInput, CreateFlowCommandOutput } from "./commands/CreateFlowCommand"; import { DeleteFlowCommandInput, DeleteFlowCommandOutput } from "./commands/DeleteFlowCommand"; import { DescribeFlowCommandInput, DescribeFlowCommandOutput } from "./commands/DescribeFlowCommand"; +import { DescribeOfferingCommandInput, DescribeOfferingCommandOutput } from "./commands/DescribeOfferingCommand"; +import { + DescribeReservationCommandInput, + DescribeReservationCommandOutput, +} from "./commands/DescribeReservationCommand"; import { GrantFlowEntitlementsCommandInput, GrantFlowEntitlementsCommandOutput, } from "./commands/GrantFlowEntitlementsCommand"; import { ListEntitlementsCommandInput, ListEntitlementsCommandOutput } from "./commands/ListEntitlementsCommand"; import { ListFlowsCommandInput, ListFlowsCommandOutput } from "./commands/ListFlowsCommand"; +import { ListOfferingsCommandInput, ListOfferingsCommandOutput } from "./commands/ListOfferingsCommand"; +import { ListReservationsCommandInput, ListReservationsCommandOutput } from "./commands/ListReservationsCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { PurchaseOfferingCommandInput, PurchaseOfferingCommandOutput } from "./commands/PurchaseOfferingCommand"; import { RemoveFlowOutputCommandInput, RemoveFlowOutputCommandOutput } from "./commands/RemoveFlowOutputCommand"; import { RemoveFlowSourceCommandInput, RemoveFlowSourceCommandOutput } from "./commands/RemoveFlowSourceCommand"; import { @@ -94,10 +102,15 @@ export type ServiceInputTypes = | CreateFlowCommandInput | DeleteFlowCommandInput | DescribeFlowCommandInput + | DescribeOfferingCommandInput + | DescribeReservationCommandInput | GrantFlowEntitlementsCommandInput | ListEntitlementsCommandInput | ListFlowsCommandInput + | ListOfferingsCommandInput + | ListReservationsCommandInput | ListTagsForResourceCommandInput + | PurchaseOfferingCommandInput | RemoveFlowOutputCommandInput | RemoveFlowSourceCommandInput | RemoveFlowVpcInterfaceCommandInput @@ -118,10 +131,15 @@ export type ServiceOutputTypes = | CreateFlowCommandOutput | DeleteFlowCommandOutput | DescribeFlowCommandOutput + | DescribeOfferingCommandOutput + | DescribeReservationCommandOutput | GrantFlowEntitlementsCommandOutput | ListEntitlementsCommandOutput | ListFlowsCommandOutput + | ListOfferingsCommandOutput + | ListReservationsCommandOutput | ListTagsForResourceCommandOutput + | PurchaseOfferingCommandOutput | RemoveFlowOutputCommandOutput | RemoveFlowSourceCommandOutput | RemoveFlowVpcInterfaceCommandOutput diff --git a/clients/client-mediaconnect/commands/DescribeOfferingCommand.ts b/clients/client-mediaconnect/commands/DescribeOfferingCommand.ts new file mode 100644 index 000000000000..3c915620bee8 --- /dev/null +++ b/clients/client-mediaconnect/commands/DescribeOfferingCommand.ts @@ -0,0 +1,70 @@ +import { MediaConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConnectClient"; +import { DescribeOfferingRequest, DescribeOfferingResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeOfferingCommand, + serializeAws_restJson1DescribeOfferingCommand, +} 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 DescribeOfferingCommandInput = DescribeOfferingRequest; +export type DescribeOfferingCommandOutput = DescribeOfferingResponse & __MetadataBearer; + +export class DescribeOfferingCommand extends $Command< + DescribeOfferingCommandInput, + DescribeOfferingCommandOutput, + MediaConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeOfferingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeOfferingRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeOfferingResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeOfferingCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeOfferingCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeOfferingCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-mediaconnect/commands/DescribeReservationCommand.ts b/clients/client-mediaconnect/commands/DescribeReservationCommand.ts new file mode 100644 index 000000000000..cb9bcbfa2db6 --- /dev/null +++ b/clients/client-mediaconnect/commands/DescribeReservationCommand.ts @@ -0,0 +1,70 @@ +import { MediaConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConnectClient"; +import { DescribeReservationRequest, DescribeReservationResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeReservationCommand, + serializeAws_restJson1DescribeReservationCommand, +} 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 DescribeReservationCommandInput = DescribeReservationRequest; +export type DescribeReservationCommandOutput = DescribeReservationResponse & __MetadataBearer; + +export class DescribeReservationCommand extends $Command< + DescribeReservationCommandInput, + DescribeReservationCommandOutput, + MediaConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeReservationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeReservationRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeReservationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeReservationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeReservationCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeReservationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-mediaconnect/commands/ListOfferingsCommand.ts b/clients/client-mediaconnect/commands/ListOfferingsCommand.ts new file mode 100644 index 000000000000..8a0ed6e2ff48 --- /dev/null +++ b/clients/client-mediaconnect/commands/ListOfferingsCommand.ts @@ -0,0 +1,70 @@ +import { MediaConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConnectClient"; +import { ListOfferingsRequest, ListOfferingsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListOfferingsCommand, + serializeAws_restJson1ListOfferingsCommand, +} 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 ListOfferingsCommandInput = ListOfferingsRequest; +export type ListOfferingsCommandOutput = ListOfferingsResponse & __MetadataBearer; + +export class ListOfferingsCommand extends $Command< + ListOfferingsCommandInput, + ListOfferingsCommandOutput, + MediaConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListOfferingsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListOfferingsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListOfferingsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListOfferingsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListOfferingsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListOfferingsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-mediaconnect/commands/ListReservationsCommand.ts b/clients/client-mediaconnect/commands/ListReservationsCommand.ts new file mode 100644 index 000000000000..5538010ac299 --- /dev/null +++ b/clients/client-mediaconnect/commands/ListReservationsCommand.ts @@ -0,0 +1,70 @@ +import { MediaConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConnectClient"; +import { ListReservationsRequest, ListReservationsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListReservationsCommand, + serializeAws_restJson1ListReservationsCommand, +} 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 ListReservationsCommandInput = ListReservationsRequest; +export type ListReservationsCommandOutput = ListReservationsResponse & __MetadataBearer; + +export class ListReservationsCommand extends $Command< + ListReservationsCommandInput, + ListReservationsCommandOutput, + MediaConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListReservationsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListReservationsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListReservationsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListReservationsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListReservationsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListReservationsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-mediaconnect/commands/PurchaseOfferingCommand.ts b/clients/client-mediaconnect/commands/PurchaseOfferingCommand.ts new file mode 100644 index 000000000000..6b6a09c7535b --- /dev/null +++ b/clients/client-mediaconnect/commands/PurchaseOfferingCommand.ts @@ -0,0 +1,70 @@ +import { MediaConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConnectClient"; +import { PurchaseOfferingRequest, PurchaseOfferingResponse } from "../models/models_0"; +import { + deserializeAws_restJson1PurchaseOfferingCommand, + serializeAws_restJson1PurchaseOfferingCommand, +} 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 PurchaseOfferingCommandInput = PurchaseOfferingRequest; +export type PurchaseOfferingCommandOutput = PurchaseOfferingResponse & __MetadataBearer; + +export class PurchaseOfferingCommand extends $Command< + PurchaseOfferingCommandInput, + PurchaseOfferingCommandOutput, + MediaConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PurchaseOfferingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: PurchaseOfferingRequest.filterSensitiveLog, + outputFilterSensitiveLog: PurchaseOfferingResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: PurchaseOfferingCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1PurchaseOfferingCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1PurchaseOfferingCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-mediaconnect/index.ts b/clients/client-mediaconnect/index.ts index b50b796f993c..5a7d572aa05a 100644 --- a/clients/client-mediaconnect/index.ts +++ b/clients/client-mediaconnect/index.ts @@ -6,10 +6,19 @@ export * from "./commands/AddFlowVpcInterfacesCommand"; export * from "./commands/CreateFlowCommand"; export * from "./commands/DeleteFlowCommand"; export * from "./commands/DescribeFlowCommand"; +export * from "./commands/DescribeOfferingCommand"; +export * from "./commands/DescribeReservationCommand"; export * from "./commands/GrantFlowEntitlementsCommand"; export * from "./commands/ListEntitlementsCommand"; +export * from "./pagination/ListEntitlementsPaginator"; export * from "./commands/ListFlowsCommand"; +export * from "./pagination/ListFlowsPaginator"; +export * from "./commands/ListOfferingsCommand"; +export * from "./pagination/ListOfferingsPaginator"; +export * from "./commands/ListReservationsCommand"; +export * from "./pagination/ListReservationsPaginator"; export * from "./commands/ListTagsForResourceCommand"; +export * from "./commands/PurchaseOfferingCommand"; export * from "./commands/RemoveFlowOutputCommand"; export * from "./commands/RemoveFlowSourceCommand"; export * from "./commands/RemoveFlowVpcInterfaceCommand"; @@ -22,4 +31,5 @@ export * from "./commands/UpdateFlowCommand"; export * from "./commands/UpdateFlowEntitlementCommand"; export * from "./commands/UpdateFlowOutputCommand"; export * from "./commands/UpdateFlowSourceCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-mediaconnect/models/models_0.ts b/clients/client-mediaconnect/models/models_0.ts index dc4ed562caf5..3863637980a6 100644 --- a/clients/client-mediaconnect/models/models_0.ts +++ b/clients/client-mediaconnect/models/models_0.ts @@ -17,49 +17,49 @@ export enum KeyType { */ export interface Encryption { /** - * The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption. + * The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption. */ - SecretArn?: string; + Region?: string; /** - * The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key). + * A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption. */ - KeyType?: KeyType | string; + ConstantInitializationVector?: string; /** - * An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption. + * The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256). */ - ResourceId?: string; + Algorithm: Algorithm | string | undefined; /** - * The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption. + * An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption. */ - DeviceId?: string; + ResourceId?: string; /** - * The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption. + * The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity). */ - Region?: string; + RoleArn: string | undefined; /** - * A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption. + * The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption. */ - ConstantInitializationVector?: string; + Url?: string; /** - * The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256). + * The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption. */ - Algorithm: Algorithm | string | undefined; + DeviceId?: string; /** - * The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity). + * The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key). */ - RoleArn: string | undefined; + KeyType?: KeyType | string; /** - * The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption. + * The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption. */ - Url?: string; + SecretArn?: string; } export namespace Encryption { @@ -97,64 +97,64 @@ export namespace VpcInterfaceAttachment { */ export interface AddOutputRequest { /** - * A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user. + * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams. */ - Description?: string; + StreamId?: string; /** - * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key). + * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams. */ - Encryption?: Encryption; + SmoothingLatency?: number; /** - * The name of the VPC interface attachment to use for this output. + * The protocol to use for the output. */ - VpcInterfaceAttachment?: VpcInterfaceAttachment; + Protocol: Protocol | string | undefined; /** - * The remote ID for the Zixi-pull output stream. + * The IP address from which video will be sent to output destinations. */ - RemoteId?: string; + Destination?: string; /** - * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams. + * The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. */ - SmoothingLatency?: number; + CidrAllowList?: string[]; /** - * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams. + * The name of the output. This value must be unique within the current flow. */ - StreamId?: string; + Name?: string; /** - * The port to use when content is distributed to this output. + * The remote ID for the Zixi-pull output stream. */ - Port?: number; + RemoteId?: string; /** - * The protocol to use for the output. + * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key). */ - Protocol: Protocol | string | undefined; + Encryption?: Encryption; /** - * The IP address from which video will be sent to output destinations. + * The port to use when content is distributed to this output. */ - Destination?: string; + Port?: number; /** - * The name of the output. This value must be unique within the current flow. + * The maximum latency in milliseconds for Zixi-based streams. */ - Name?: string; + MaxLatency?: number; /** - * The maximum latency in milliseconds for Zixi-based streams. + * A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user. */ - MaxLatency?: number; + Description?: string; /** - * The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. + * The name of the VPC interface attachment to use for this output. */ - CidrAllowList?: string[]; + VpcInterfaceAttachment?: VpcInterfaceAttachment; } export namespace AddOutputRequest { @@ -173,25 +173,15 @@ export enum EntitlementStatus { */ export interface Entitlement { /** - * An indication of whether the entitlement is enabled. - */ - EntitlementStatus?: EntitlementStatus | string; - - /** - * The ARN of the entitlement. + * The name of the entitlement. */ - EntitlementArn: string | undefined; + Name: string | undefined; /** * The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source. */ Subscribers: string[] | undefined; - /** - * The name of the entitlement. - */ - Name: string | undefined; - /** * The type of encryption that will be used on the output that is associated with this entitlement. */ @@ -206,6 +196,16 @@ export interface Entitlement { * Percentage from 0-100 of the data transfer cost to be billed to the subscriber. */ DataTransferSubscriberFeePercent?: number; + + /** + * An indication of whether the entitlement is enabled. + */ + EntitlementStatus?: EntitlementStatus | string; + + /** + * The ARN of the entitlement. + */ + EntitlementArn: string | undefined; } export namespace Entitlement { @@ -218,11 +218,6 @@ export namespace Entitlement { * The entitlements that you want to grant on a flow. */ export interface GrantEntitlementRequest { - /** - * The name of the entitlement. This value must be unique within the current flow. - */ - Name?: string; - /** * The type of encryption that will be used on the output that is associated with this entitlement. */ @@ -239,14 +234,19 @@ export interface GrantEntitlementRequest { Description?: string; /** - * An indication of whether the new entitlement should be enabled or disabled as soon as it is created. If you don’t specify the entitlementStatus field in your request, MediaConnect sets it to ENABLED. + * The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source. */ - EntitlementStatus?: EntitlementStatus | string; + Subscribers: string[] | undefined; /** - * The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source. + * The name of the entitlement. This value must be unique within the current flow. */ - Subscribers: string[] | undefined; + Name?: string; + + /** + * An indication of whether the new entitlement should be enabled or disabled as soon as it is created. If you don’t specify the entitlementStatus field in your request, MediaConnect sets it to ENABLED. + */ + EntitlementStatus?: EntitlementStatus | string; } export namespace GrantEntitlementRequest { @@ -259,6 +259,11 @@ export namespace GrantEntitlementRequest { * An entitlement that has been granted to you from other AWS accounts. */ export interface ListedEntitlement { + /** + * Percentage from 0-100 of the data transfer cost to be billed to the subscriber. + */ + DataTransferSubscriberFeePercent?: number; + /** * The name of the entitlement. */ @@ -268,11 +273,6 @@ export interface ListedEntitlement { * The ARN of the entitlement. */ EntitlementArn: string | undefined; - - /** - * Percentage from 0-100 of the data transfer cost to be billed to the subscriber. - */ - DataTransferSubscriberFeePercent?: number; } export namespace ListedEntitlement { @@ -301,19 +301,19 @@ export enum Status { */ export interface ListedFlow { /** - * The Availability Zone that the flow was created in. + * A description of the flow. */ - AvailabilityZone: string | undefined; + Description: string | undefined; /** - * A description of the flow. + * The current status of the flow. */ - Description: string | undefined; + Status: Status | string | undefined; /** - * The ARN of the flow. + * The type of source. This value is either owned (originated somewhere other than an AWS Elemental MediaConnect flow owned by another AWS account) or entitled (originated at an AWS Elemental MediaConnect flow owned by another AWS account). */ - FlowArn: string | undefined; + SourceType: SourceType | string | undefined; /** * The name of the flow. @@ -321,14 +321,14 @@ export interface ListedFlow { Name: string | undefined; /** - * The current status of the flow. + * The Availability Zone that the flow was created in. */ - Status: Status | string | undefined; + AvailabilityZone: string | undefined; /** - * The type of source. This value is either owned (originated somewhere other than an AWS Elemental MediaConnect flow owned by another AWS account) or entitled (originated at an AWS Elemental MediaConnect flow owned by another AWS account). + * The ARN of the flow. */ - SourceType: SourceType | string | undefined; + FlowArn: string | undefined; } export namespace ListedFlow { @@ -337,44 +337,128 @@ export namespace ListedFlow { }); } +export enum DurationUnits { + MONTHS = "MONTHS", +} + +export enum PriceUnits { + HOURLY = "HOURLY", +} + +export enum ResourceType { + Mbps_Outbound_Bandwidth = "Mbps_Outbound_Bandwidth", +} + /** - * Attributes related to the transport stream that are used in a source or output. + * A definition of what is being billed for, including the type and amount. */ -export interface Transport { +export interface ResourceSpecification { /** - * The remote ID for the Zixi-pull stream. + * The amount of outbound bandwidth that is discounted in the offering. */ - RemoteId?: string; + ReservedBitrate?: number; /** - * The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. + * The type of resource and the unit that is being billed for. */ - CidrAllowList?: string[]; + ResourceType: ResourceType | string | undefined; +} + +export namespace ResourceSpecification { + export const filterSensitiveLog = (obj: ResourceSpecification): any => ({ + ...obj, + }); +} +/** + * A savings plan that reserves a certain amount of outbound bandwidth usage at a discounted rate each month over a period of time. + */ +export interface Offering { /** - * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams. + * The unit of measurement that is used for billing. This value, in combination with pricePerUnit, makes up the rate. */ - MaxLatency?: number; + PriceUnits: PriceUnits | string | undefined; /** - * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams. + * A definition of the amount of outbound bandwidth that you would be reserving if you purchase the offering. */ - SmoothingLatency?: number; + ResourceSpecification: ResourceSpecification | undefined; /** - * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams. + * A description of the offering. */ - StreamId?: string; + OfferingDescription: string | undefined; + /** + * The length of time that your reservation would be active. + */ + Duration: number | undefined; + + /** + * The cost of a single unit. This value, in combination with priceUnits, makes up the rate. + */ + PricePerUnit: string | undefined; + + /** + * The Amazon Resource Name (ARN) that MediaConnect assigns to the offering. + */ + OfferingArn: string | undefined; + + /** + * The unit of measurement for the duration of the offering. + */ + DurationUnits: DurationUnits | string | undefined; + + /** + * The type of currency that is used for billing. The currencyCode used for all reservations is US dollars. + */ + CurrencyCode: string | undefined; +} + +export namespace Offering { + export const filterSensitiveLog = (obj: Offering): any => ({ + ...obj, + }); +} + +/** + * Attributes related to the transport stream that are used in a source or output. + */ +export interface Transport { /** * The protocol that is used by the source or output. */ Protocol: Protocol | string | undefined; + /** + * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams. + */ + MaxLatency?: number; + + /** + * The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. + */ + CidrAllowList?: string[]; + /** * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams. */ MaxBitrate?: number; + + /** + * The remote ID for the Zixi-pull stream. + */ + RemoteId?: string; + + /** + * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams. + */ + StreamId?: string; + + /** + * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams. + */ + SmoothingLatency?: number; } export namespace Transport { @@ -388,9 +472,14 @@ export namespace Transport { */ export interface Output { /** - * The address where you want to send the output. + * The name of the output. This value must be unique within the current flow. */ - Destination?: string; + Name: string | undefined; + + /** + * The port to use when content is distributed to this output. + */ + Port?: number; /** * The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that were added by creating a MediaLive input. @@ -398,53 +487,131 @@ export interface Output { MediaLiveInputArn?: string; /** - * Attributes related to the transport stream that are used in the output. + * A description of the output. */ - Transport?: Transport; + Description?: string; + + /** + * Percentage from 0-100 of the data transfer cost to be billed to the subscriber. + */ + DataTransferSubscriberFeePercent?: number; /** * The ARN of the output. */ OutputArn: string | undefined; + /** + * The name of the VPC interface attachment to use for this output. + */ + VpcInterfaceAttachment?: VpcInterfaceAttachment; + + /** + * The ARN of the entitlement on the originator''s flow. This value is relevant only on entitled flows. + */ + EntitlementArn?: string; + /** * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key). */ Encryption?: Encryption; /** - * The name of the VPC interface attachment to use for this output. + * Attributes related to the transport stream that are used in the output. */ - VpcInterfaceAttachment?: VpcInterfaceAttachment; + Transport?: Transport; /** - * A description of the output. + * The address where you want to send the output. */ - Description?: string; + Destination?: string; +} + +export namespace Output { + export const filterSensitiveLog = (obj: Output): any => ({ + ...obj, + }); +} + +export enum ReservationState { + ACTIVE = "ACTIVE", + CANCELED = "CANCELED", + EXPIRED = "EXPIRED", + PROCESSING = "PROCESSING", +} +/** + * A pricing agreement for a discounted rate for a specific outbound bandwidth that your MediaConnect account will use each month over a specific time period. The discounted rate in the reservation applies to outbound bandwidth for all flows from your account until your account reaches the amount of bandwidth in your reservation. If you use more outbound bandwidth than the agreed upon amount in a single month, the overage is charged at the on-demand rate. + */ +export interface Reservation { /** - * Percentage from 0-100 of the data transfer cost to be billed to the subscriber. + * A description of the offering. MediaConnect defines this value in the offering. */ - DataTransferSubscriberFeePercent?: number; + OfferingDescription: string | undefined; /** - * The name of the output. This value must be unique within the current flow. + * The Amazon Resource Name (ARN) that MediaConnect assigns to the reservation when you purchase an offering. */ - Name: string | undefined; + ReservationArn: string | undefined; /** - * The port to use when content is distributed to this output. + * The length of time that this reservation is active. MediaConnect defines this value in the offering. */ - Port?: number; + Duration: number | undefined; /** - * The ARN of the entitlement on the originator''s flow. This value is relevant only on entitled flows. + * A definition of the amount of outbound bandwidth that you would be reserving if you purchase the offering. MediaConnect defines the values that make up the resourceSpecification in the offering. */ - EntitlementArn?: string; + ResourceSpecification: ResourceSpecification | undefined; + + /** + * The cost of a single unit. This value, in combination with priceUnits, makes up the rate. MediaConnect defines this value in the offering. + */ + PricePerUnit: string | undefined; + + /** + * The Amazon Resource Name (ARN) that MediaConnect assigns to the offering. + */ + OfferingArn: string | undefined; + + /** + * The day and time that this reservation expires. This value is calculated based on the start date and time that you set and the offering's duration. + */ + End: string | undefined; + + /** + * The status of your reservation. + */ + ReservationState: ReservationState | string | undefined; + + /** + * The unit of measurement for the duration of the reservation. MediaConnect defines this value in the offering. + */ + DurationUnits: DurationUnits | string | undefined; + + /** + * The name that you assigned to the reservation when you purchased the offering. + */ + ReservationName: string | undefined; + + /** + * The unit of measurement that is used for billing. This value, in combination with pricePerUnit, makes up the rate. MediaConnect defines this value in the offering. + */ + PriceUnits: PriceUnits | string | undefined; + + /** + * The day and time that the reservation becomes active. You set this value when you purchase the offering. + */ + Start: string | undefined; + + /** + * The type of currency that is used for billing. The currencyCode used for your reservation is US dollars. + */ + CurrencyCode: string | undefined; } -export namespace Output { - export const filterSensitiveLog = (obj: Output): any => ({ +export namespace Reservation { + export const filterSensitiveLog = (obj: Reservation): any => ({ ...obj, }); } @@ -453,15 +620,20 @@ export namespace Output { * The settings for the source of the flow. */ export interface SetSourceRequest { + /** + * The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow. + */ + EntitlementArn?: string; + /** * The name of the VPC interface to use for this source. */ VpcInterfaceName?: string; /** - * The port that the flow will be listening on for incoming content. + * The protocol that is used by the source. */ - IngestPort?: number; + Protocol?: Protocol | string; /** * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams. @@ -469,9 +641,14 @@ export interface SetSourceRequest { MaxBitrate?: number; /** - * The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow. + * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account. */ - EntitlementArn?: string; + Description?: string; + + /** + * The name of the source. + */ + Name?: string; /** * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams. @@ -483,30 +660,20 @@ export interface SetSourceRequest { */ WhitelistCidr?: string; - /** - * The name of the source. - */ - Name?: string; - /** * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams. */ StreamId?: string; /** - * The type of encryption that is used on the content ingested from this source. - */ - Decryption?: Encryption; - - /** - * The protocol that is used by the source. + * The port that the flow will be listening on for incoming content. */ - Protocol?: Protocol | string; + IngestPort?: number; /** - * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account. + * The type of encryption that is used on the content ingested from this source. */ - Description?: string; + Decryption?: Encryption; } export namespace SetSourceRequest { @@ -520,29 +687,39 @@ export namespace SetSourceRequest { */ export interface Source { /** - * The ARN of the source. + * The IP address that the flow will be listening on for incoming content. */ - SourceArn: string | undefined; + IngestIp?: string; /** - * The name of the source. + * The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator's flow. + */ + EntitlementArn?: string; + + /** + * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account. */ - Name: string | undefined; + Description?: string; /** * Percentage from 0-100 of the data transfer cost to be billed to the subscriber. */ DataTransferSubscriberFeePercent?: number; + /** + * The ARN of the source. + */ + SourceArn: string | undefined; + /** * The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. */ WhitelistCidr?: string; /** - * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account. + * The port that the flow will be listening on for incoming content. */ - Description?: string; + IngestPort?: number; /** * The name of the VPC Interface this Source is configured with. @@ -560,19 +737,9 @@ export interface Source { Decryption?: Encryption; /** - * The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator's flow. - */ - EntitlementArn?: string; - - /** - * The port that the flow will be listening on for incoming content. - */ - IngestPort?: number; - - /** - * The IP address that the flow will be listening on for incoming content. + * The name of the source. */ - IngestIp?: string; + Name: string | undefined; } export namespace Source { @@ -585,15 +752,20 @@ export namespace Source { * The settings for a VPC Source. */ export interface VpcInterface { + /** + * IDs of the network interfaces created in customer's account by MediaConnect. + */ + NetworkInterfaceIds: string[] | undefined; + /** * Immutable and has to be a unique against other VpcInterfaces in this Flow */ Name: string | undefined; /** - * IDs of the network interfaces created in customer's account by MediaConnect. + * Role Arn MediaConnect can assumes to create ENIs in customer's account */ - NetworkInterfaceIds: string[] | undefined; + RoleArn: string | undefined; /** * Security Group IDs to be used on ENI. @@ -604,11 +776,6 @@ export interface VpcInterface { * Subnet must be in the AZ of the Flow */ SubnetId: string | undefined; - - /** - * Role Arn MediaConnect can assumes to create ENIs in customer's account - */ - RoleArn: string | undefined; } export namespace VpcInterface { @@ -622,9 +789,9 @@ export namespace VpcInterface { */ export interface VpcInterfaceRequest { /** - * Subnet must be in the AZ of the Flow + * Role Arn MediaConnect can assumes to create ENIs in customer's account */ - SubnetId: string | undefined; + RoleArn: string | undefined; /** * Security Group IDs to be used on ENI. @@ -632,14 +799,14 @@ export interface VpcInterfaceRequest { SecurityGroupIds: string[] | undefined; /** - * Role Arn MediaConnect can assumes to create ENIs in customer's account + * The name of the VPC Interface. This value must be unique within the current flow. */ - RoleArn: string | undefined; + Name: string | undefined; /** - * The name of the VPC Interface. This value must be unique within the current flow. + * Subnet must be in the AZ of the Flow */ - Name: string | undefined; + SubnetId: string | undefined; } export namespace VpcInterfaceRequest { @@ -689,14 +856,14 @@ export namespace AddFlowOutputsRequest { export interface AddFlowOutputsResponse { /** - * The ARN of the flow that these outputs were added to. + * The details of the newly added outputs. */ - FlowArn?: string; + Outputs?: Output[]; /** - * The details of the newly added outputs. + * The ARN of the flow that these outputs were added to. */ - Outputs?: Output[]; + FlowArn?: string; } export namespace AddFlowOutputsResponse { @@ -836,14 +1003,14 @@ export namespace AddFlowSourcesRequest { export interface AddFlowSourcesResponse { /** - * The ARN of the flow that these sources were added to. + * The details of the newly added sources. */ - FlowArn?: string; + Sources?: Source[]; /** - * The details of the newly added sources. + * The ARN of the flow that these sources were added to. */ - Sources?: Source[]; + FlowArn?: string; } export namespace AddFlowSourcesResponse { @@ -935,10 +1102,11 @@ export namespace FailoverConfig { * Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and entitlements (up to 50). */ export interface CreateFlowRequest { + Sources?: SetSourceRequest[]; /** - * The VPC interfaces you want on the flow. + * The settings for the source of the flow. */ - VpcInterfaces?: VpcInterfaceRequest[]; + Source?: SetSourceRequest; /** * The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region. @@ -946,30 +1114,29 @@ export interface CreateFlowRequest { AvailabilityZone?: string; /** - * The settings for source failover + * The outputs that you want to add to this flow. */ - SourceFailoverConfig?: FailoverConfig; + Outputs?: AddOutputRequest[]; /** - * The entitlements that you want to grant on a flow. + * The name of the flow. */ - Entitlements?: GrantEntitlementRequest[]; + Name: string | undefined; - Sources?: SetSourceRequest[]; /** - * The outputs that you want to add to this flow. + * The entitlements that you want to grant on a flow. */ - Outputs?: AddOutputRequest[]; + Entitlements?: GrantEntitlementRequest[]; /** - * The name of the flow. + * The VPC interfaces you want on the flow. */ - Name: string | undefined; + VpcInterfaces?: VpcInterfaceRequest[]; /** - * The settings for the source of the flow. + * The settings for source failover */ - Source?: SetSourceRequest; + SourceFailoverConfig?: FailoverConfig; } export namespace CreateFlowRequest { @@ -983,60 +1150,60 @@ export namespace CreateFlowRequest { */ export interface Flow { /** - * The settings for the source of the flow. + * The IP address from which video will be sent to output destinations. */ - Source: Source | undefined; + EgressIp?: string; /** - * The name of the flow. + * The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow. */ - Name: string | undefined; + FlowArn: string | undefined; /** - * The entitlements in this flow. + * A description of the flow. This value is not used or seen outside of the current AWS Elemental MediaConnect account. */ - Entitlements: Entitlement[] | undefined; + Description?: string; - Sources?: Source[]; /** * The VPC Interfaces for this flow. */ VpcInterfaces?: VpcInterface[]; /** - * The IP address from which video will be sent to output destinations. + * The current status of the flow. */ - EgressIp?: string; + Status: Status | string | undefined; /** - * The settings for source failover + * The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS. */ - SourceFailoverConfig?: FailoverConfig; + AvailabilityZone: string | undefined; /** - * The outputs in this flow. + * The entitlements in this flow. */ - Outputs: Output[] | undefined; + Entitlements: Entitlement[] | undefined; + Sources?: Source[]; /** - * A description of the flow. This value is not used or seen outside of the current AWS Elemental MediaConnect account. + * The settings for source failover */ - Description?: string; + SourceFailoverConfig?: FailoverConfig; /** - * The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow. + * The settings for the source of the flow. */ - FlowArn: string | undefined; + Source: Source | undefined; /** - * The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS. + * The name of the flow. */ - AvailabilityZone: string | undefined; + Name: string | undefined; /** - * The current status of the flow. + * The outputs in this flow. */ - Status: Status | string | undefined; + Outputs: Output[] | undefined; } export namespace Flow { @@ -1120,14 +1287,14 @@ export namespace Messages { export interface DescribeFlowResponse { /** - * Messages that provide the state of the flow. + * The settings for a flow, including its source, outputs, and entitlements. */ - Messages?: Messages; + Flow?: Flow; /** - * The settings for a flow, including its source, outputs, and entitlements. + * Messages that provide the state of the flow. */ - Flow?: Flow; + Messages?: Messages; } export namespace DescribeFlowResponse { @@ -1136,6 +1303,58 @@ export namespace DescribeFlowResponse { }); } +export interface DescribeOfferingRequest { + /** + * The Amazon Resource Name (ARN) of the offering. + */ + OfferingArn: string | undefined; +} + +export namespace DescribeOfferingRequest { + export const filterSensitiveLog = (obj: DescribeOfferingRequest): any => ({ + ...obj, + }); +} + +export interface DescribeOfferingResponse { + /** + * A savings plan that reserves a certain amount of outbound bandwidth usage at a discounted rate each month over a period of time. + */ + Offering?: Offering; +} + +export namespace DescribeOfferingResponse { + export const filterSensitiveLog = (obj: DescribeOfferingResponse): any => ({ + ...obj, + }); +} + +export interface DescribeReservationRequest { + /** + * The Amazon Resource Name (ARN) of the reservation. + */ + ReservationArn: string | undefined; +} + +export namespace DescribeReservationRequest { + export const filterSensitiveLog = (obj: DescribeReservationRequest): any => ({ + ...obj, + }); +} + +export interface DescribeReservationResponse { + /** + * A pricing agreement for a discounted rate for a specific outbound bandwidth that your MediaConnect account will use each month over a specific time period. The discounted rate in the reservation applies to outbound bandwidth for all flows from your account until your account reaches the amount of bandwidth in your reservation. If you use more outbound bandwidth than the agreed upon amount in a single month, the overage is charged at the on-demand rate. + */ + Reservation?: Reservation; +} + +export namespace DescribeReservationResponse { + export const filterSensitiveLog = (obj: DescribeReservationResponse): any => ({ + ...obj, + }); +} + /** * Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception. */ @@ -1159,14 +1378,14 @@ export namespace GrantFlowEntitlements420Exception { */ export interface GrantFlowEntitlementsRequest { /** - * The list of entitlements that you want to grant. + * The flow that you want to grant entitlements on. */ - Entitlements: GrantEntitlementRequest[] | undefined; + FlowArn: string | undefined; /** - * The flow that you want to grant entitlements on. + * The list of entitlements that you want to grant. */ - FlowArn: string | undefined; + Entitlements: GrantEntitlementRequest[] | undefined; } export namespace GrantFlowEntitlementsRequest { @@ -1176,91 +1395,163 @@ export namespace GrantFlowEntitlementsRequest { } export interface GrantFlowEntitlementsResponse { + /** + * The ARN of the flow that these entitlements were granted to. + */ + FlowArn?: string; + /** * The entitlements that were just granted. */ - Entitlements?: Entitlement[]; + Entitlements?: Entitlement[]; +} + +export namespace GrantFlowEntitlementsResponse { + export const filterSensitiveLog = (obj: GrantFlowEntitlementsResponse): any => ({ + ...obj, + }); +} + +export interface ListEntitlementsRequest { + /** + * The maximum number of results to return per API request. For example, you submit a ListEntitlements request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 20 results per page. + */ + MaxResults?: number; + + /** + * The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value. + */ + NextToken?: string; +} + +export namespace ListEntitlementsRequest { + export const filterSensitiveLog = (obj: ListEntitlementsRequest): any => ({ + ...obj, + }); +} + +export interface ListEntitlementsResponse { + /** + * A list of entitlements that have been granted to you from other AWS accounts. + */ + Entitlements?: ListedEntitlement[]; + + /** + * The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value. + */ + NextToken?: string; +} + +export namespace ListEntitlementsResponse { + export const filterSensitiveLog = (obj: ListEntitlementsResponse): any => ({ + ...obj, + }); +} + +export interface ListFlowsRequest { + /** + * The maximum number of results to return per API request. For example, you submit a ListFlows request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page. + */ + MaxResults?: number; + + /** + * The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value. + */ + NextToken?: string; +} + +export namespace ListFlowsRequest { + export const filterSensitiveLog = (obj: ListFlowsRequest): any => ({ + ...obj, + }); +} + +export interface ListFlowsResponse { + /** + * A list of flow summaries. + */ + Flows?: ListedFlow[]; /** - * The ARN of the flow that these entitlements were granted to. + * The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value. */ - FlowArn?: string; + NextToken?: string; } -export namespace GrantFlowEntitlementsResponse { - export const filterSensitiveLog = (obj: GrantFlowEntitlementsResponse): any => ({ +export namespace ListFlowsResponse { + export const filterSensitiveLog = (obj: ListFlowsResponse): any => ({ ...obj, }); } -export interface ListEntitlementsRequest { +export interface ListOfferingsRequest { /** - * The maximum number of results to return per API request. For example, you submit a ListEntitlements request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 20 results per page. + * The token that identifies which batch of results that you want to see. For example, you submit a ListOfferings request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListOfferings request a second time and specify the NextToken value. */ - MaxResults?: number; + NextToken?: string; /** - * The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value. + * The maximum number of results to return per API request. For example, you submit a ListOfferings request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page. */ - NextToken?: string; + MaxResults?: number; } -export namespace ListEntitlementsRequest { - export const filterSensitiveLog = (obj: ListEntitlementsRequest): any => ({ +export namespace ListOfferingsRequest { + export const filterSensitiveLog = (obj: ListOfferingsRequest): any => ({ ...obj, }); } -export interface ListEntitlementsResponse { +export interface ListOfferingsResponse { /** - * A list of entitlements that have been granted to you from other AWS accounts. + * The token that identifies which batch of results that you want to see. For example, you submit a ListOfferings request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListOfferings request a second time and specify the NextToken value. */ - Entitlements?: ListedEntitlement[]; + NextToken?: string; /** - * The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value. + * A list of offerings that are available to this account in the current AWS Region. */ - NextToken?: string; + Offerings?: Offering[]; } -export namespace ListEntitlementsResponse { - export const filterSensitiveLog = (obj: ListEntitlementsResponse): any => ({ +export namespace ListOfferingsResponse { + export const filterSensitiveLog = (obj: ListOfferingsResponse): any => ({ ...obj, }); } -export interface ListFlowsRequest { +export interface ListReservationsRequest { /** - * The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value. + * The maximum number of results to return per API request. For example, you submit a ListReservations request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page. */ - NextToken?: string; + MaxResults?: number; /** - * The maximum number of results to return per API request. For example, you submit a ListFlows request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page. + * The token that identifies which batch of results that you want to see. For example, you submit a ListReservations request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListOfferings request a second time and specify the NextToken value. */ - MaxResults?: number; + NextToken?: string; } -export namespace ListFlowsRequest { - export const filterSensitiveLog = (obj: ListFlowsRequest): any => ({ +export namespace ListReservationsRequest { + export const filterSensitiveLog = (obj: ListReservationsRequest): any => ({ ...obj, }); } -export interface ListFlowsResponse { +export interface ListReservationsResponse { /** - * A list of flow summaries. + * A list of all reservations that have been purchased by this account in the current AWS Region. */ - Flows?: ListedFlow[]; + Reservations?: Reservation[]; /** - * The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value. + * The token that identifies which batch of results that you want to see. For example, you submit a ListReservations request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListReservations request a second time and specify the NextToken value. */ NextToken?: string; } -export namespace ListFlowsResponse { - export const filterSensitiveLog = (obj: ListFlowsResponse): any => ({ +export namespace ListReservationsResponse { + export const filterSensitiveLog = (obj: ListReservationsResponse): any => ({ ...obj, }); } @@ -1291,6 +1582,45 @@ export namespace ListTagsForResourceResponse { }); } +/** + * A request to purchase a offering. + */ +export interface PurchaseOfferingRequest { + /** + * The Amazon Resource Name (ARN) of the offering. + */ + OfferingArn: string | undefined; + + /** + * The date and time that you want the reservation to begin, in Coordinated Universal Time (UTC). You can specify any date and time between 12:00am on the first day of the current month to the current time on today's date, inclusive. Specify the start in a 24-hour notation. Use the following format: YYYY-MM-DDTHH:mm:SSZ, where T and Z are literal characters. For example, to specify 11:30pm on March 5, 2020, enter 2020-03-05T23:30:00Z. + */ + Start: string | undefined; + + /** + * The name that you want to use for the reservation. + */ + ReservationName: string | undefined; +} + +export namespace PurchaseOfferingRequest { + export const filterSensitiveLog = (obj: PurchaseOfferingRequest): any => ({ + ...obj, + }); +} + +export interface PurchaseOfferingResponse { + /** + * A pricing agreement for a discounted rate for a specific outbound bandwidth that your MediaConnect account will use each month over a specific time period. The discounted rate in the reservation applies to outbound bandwidth for all flows from your account until your account reaches the amount of bandwidth in your reservation. If you use more outbound bandwidth than the agreed upon amount in a single month, the overage is charged at the on-demand rate. + */ + Reservation?: Reservation; +} + +export namespace PurchaseOfferingResponse { + export const filterSensitiveLog = (obj: PurchaseOfferingResponse): any => ({ + ...obj, + }); +} + export interface RemoveFlowOutputRequest { /** * The flow that you want to remove an output from. @@ -1311,14 +1641,14 @@ export namespace RemoveFlowOutputRequest { export interface RemoveFlowOutputResponse { /** - * The ARN of the flow that is associated with the output you removed. + * The ARN of the output that was removed. */ - FlowArn?: string; + OutputArn?: string; /** - * The ARN of the output that was removed. + * The ARN of the flow that is associated with the output you removed. */ - OutputArn?: string; + FlowArn?: string; } export namespace RemoveFlowOutputResponse { @@ -1383,9 +1713,9 @@ export namespace RemoveFlowVpcInterfaceRequest { export interface RemoveFlowVpcInterfaceResponse { /** - * The ARN of the flow that is associated with the VPC interface you removed. + * IDs of network interfaces associated with the removed VPC interface that Media Connect was unable to remove. */ - FlowArn?: string; + NonDeletedNetworkInterfaceIds?: string[]; /** * The name of the VPC interface that was removed. @@ -1393,9 +1723,9 @@ export interface RemoveFlowVpcInterfaceResponse { VpcInterfaceName?: string; /** - * IDs of network interfaces associated with the removed VPC interface that Media Connect was unable to remove. + * The ARN of the flow that is associated with the VPC interface you removed. */ - NonDeletedNetworkInterfaceIds?: string[]; + FlowArn?: string; } export namespace RemoveFlowVpcInterfaceResponse { @@ -1406,14 +1736,14 @@ export namespace RemoveFlowVpcInterfaceResponse { export interface RevokeFlowEntitlementRequest { /** - * The ARN of the entitlement that you want to revoke. + * The flow that you want to revoke an entitlement from. */ - EntitlementArn: string | undefined; + FlowArn: string | undefined; /** - * The flow that you want to revoke an entitlement from. + * The ARN of the entitlement that you want to revoke. */ - FlowArn: string | undefined; + EntitlementArn: string | undefined; } export namespace RevokeFlowEntitlementRequest { @@ -1507,14 +1837,14 @@ export namespace StopFlowResponse { */ export interface TagResourceRequest { /** - * A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters. + * The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource to which to add tags. */ - Tags: { [key: string]: string } | undefined; + ResourceArn: string | undefined; /** - * The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource to which to add tags. + * A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters. */ - ResourceArn: string | undefined; + Tags: { [key: string]: string } | undefined; } export namespace TagResourceRequest { @@ -1525,14 +1855,14 @@ export namespace TagResourceRequest { export interface UntagResourceRequest { /** - * The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource from which to delete tags. + * The keys of the tags to be removed. */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; /** - * The keys of the tags to be removed. + * The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource from which to delete tags. */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -1563,14 +1893,14 @@ export namespace UpdateFailoverConfig { */ export interface UpdateFlowRequest { /** - * The settings for source failover + * The flow that you want to update. */ - SourceFailoverConfig?: UpdateFailoverConfig; + FlowArn: string | undefined; /** - * The flow that you want to update. + * The settings for source failover */ - FlowArn: string | undefined; + SourceFailoverConfig?: UpdateFailoverConfig; } export namespace UpdateFlowRequest { @@ -1602,20 +1932,25 @@ export interface UpdateEncryption { Region?: string; /** - * The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity). + * The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption. */ - RoleArn?: string; + Url?: string; /** - * The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption. + * The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity). */ - Url?: string; + RoleArn?: string; /** * The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256). */ Algorithm?: Algorithm | string; + /** + * The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption. + */ + SecretArn?: string; + /** * The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key). */ @@ -1635,11 +1970,6 @@ export interface UpdateEncryption { * An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption. */ ResourceId?: string; - - /** - * The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption. - */ - SecretArn?: string; } export namespace UpdateEncryption { @@ -1653,14 +1983,9 @@ export namespace UpdateEncryption { */ export interface UpdateFlowEntitlementRequest { /** - * An indication of whether you want to enable the entitlement to allow access, or disable it to stop streaming content to the subscriber’s flow temporarily. If you don’t specify the entitlementStatus field in your request, MediaConnect leaves the value unchanged. - */ - EntitlementStatus?: EntitlementStatus | string; - - /** - * The type of encryption that will be used on the output associated with this entitlement. + * The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source. */ - Encryption?: UpdateEncryption; + Subscribers?: string[]; /** * A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user. @@ -1668,9 +1993,9 @@ export interface UpdateFlowEntitlementRequest { Description?: string; /** - * The flow that is associated with the entitlement that you want to update. + * An indication of whether you want to enable the entitlement to allow access, or disable it to stop streaming content to the subscriber’s flow temporarily. If you don’t specify the entitlementStatus field in your request, MediaConnect leaves the value unchanged. */ - FlowArn: string | undefined; + EntitlementStatus?: EntitlementStatus | string; /** * The ARN of the entitlement that you want to update. @@ -1678,9 +2003,14 @@ export interface UpdateFlowEntitlementRequest { EntitlementArn: string | undefined; /** - * The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source. + * The flow that is associated with the entitlement that you want to update. */ - Subscribers?: string[]; + FlowArn: string | undefined; + + /** + * The type of encryption that will be used on the output associated with this entitlement. + */ + Encryption?: UpdateEncryption; } export namespace UpdateFlowEntitlementRequest { @@ -1691,14 +2021,14 @@ export namespace UpdateFlowEntitlementRequest { export interface UpdateFlowEntitlementResponse { /** - * The settings for a flow entitlement. + * The ARN of the flow that this entitlement was granted on. */ - Entitlement?: Entitlement; + FlowArn?: string; /** - * The ARN of the flow that this entitlement was granted on. + * The new configuration of the entitlement that you updated. */ - FlowArn?: string; + Entitlement?: Entitlement; } export namespace UpdateFlowEntitlementResponse { @@ -1712,54 +2042,54 @@ export namespace UpdateFlowEntitlementResponse { */ export interface UpdateFlowOutputRequest { /** - * The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. + * The maximum latency in milliseconds for Zixi-based streams. */ - CidrAllowList?: string[]; + MaxLatency?: number; /** - * The IP address where you want to send the output. + * The protocol to use for the output. */ - Destination?: string; + Protocol?: Protocol | string; /** - * A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user. + * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key). */ - Description?: string; + Encryption?: UpdateEncryption; /** - * The ARN of the output that you want to update. + * The port to use when content is distributed to this output. */ - OutputArn: string | undefined; + Port?: number; /** - * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key). + * The remote ID for the Zixi-pull stream. */ - Encryption?: UpdateEncryption; + RemoteId?: string; /** - * The port to use when content is distributed to this output. + * The IP address where you want to send the output. */ - Port?: number; + Destination?: string; /** - * The flow that is associated with the output that you want to update. + * A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user. */ - FlowArn: string | undefined; + Description?: string; /** - * The remote ID for the Zixi-pull stream. + * The ARN of the output that you want to update. */ - RemoteId?: string; + OutputArn: string | undefined; /** - * The maximum latency in milliseconds for Zixi-based streams. + * The flow that is associated with the output that you want to update. */ - MaxLatency?: number; + FlowArn: string | undefined; /** - * The protocol to use for the output. + * The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. */ - Protocol?: Protocol | string; + CidrAllowList?: string[]; /** * The name of the VPC interface attachment to use for this output. @@ -1767,14 +2097,14 @@ export interface UpdateFlowOutputRequest { VpcInterfaceAttachment?: VpcInterfaceAttachment; /** - * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams. + * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams. */ - SmoothingLatency?: number; + StreamId?: string; /** - * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams. + * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams. */ - StreamId?: string; + SmoothingLatency?: number; } export namespace UpdateFlowOutputRequest { @@ -1785,14 +2115,14 @@ export namespace UpdateFlowOutputRequest { export interface UpdateFlowOutputResponse { /** - * The settings for an output. + * The ARN of the flow that is associated with the updated output. */ - Output?: Output; + FlowArn?: string; /** - * The ARN of the flow that is associated with the updated output. + * The new settings of the output that you updated. */ - FlowArn?: string; + Output?: Output; } export namespace UpdateFlowOutputResponse { @@ -1806,24 +2136,19 @@ export namespace UpdateFlowOutputResponse { */ export interface UpdateFlowSourceRequest { /** - * The name of the VPC Interface to configure this Source with. - */ - VpcInterfaceName?: string; - - /** - * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account. + * The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow. */ - Description?: string; + EntitlementArn?: string; /** - * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams. + * The ARN of the source that you want to update. */ - MaxBitrate?: number; + SourceArn: string | undefined; /** - * The ARN of the source that you want to update. + * The flow that is associated with the source that you want to update. */ - SourceArn: string | undefined; + FlowArn: string | undefined; /** * The type of encryption used on the content ingested from this source. @@ -1836,14 +2161,19 @@ export interface UpdateFlowSourceRequest { StreamId?: string; /** - * The protocol that is used by the source. + * The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. */ - Protocol?: Protocol | string; + WhitelistCidr?: string; /** - * The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow. + * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams. */ - EntitlementArn?: string; + MaxBitrate?: number; + + /** + * The port that the flow will be listening on for incoming content. + */ + IngestPort?: number; /** * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams. @@ -1851,19 +2181,19 @@ export interface UpdateFlowSourceRequest { MaxLatency?: number; /** - * The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. + * The protocol that is used by the source. */ - WhitelistCidr?: string; + Protocol?: Protocol | string; /** - * The port that the flow will be listening on for incoming content. + * The name of the VPC Interface to configure this Source with. */ - IngestPort?: number; + VpcInterfaceName?: string; /** - * The flow that is associated with the source that you want to update. + * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account. */ - FlowArn: string | undefined; + Description?: string; } export namespace UpdateFlowSourceRequest { diff --git a/clients/client-mediaconnect/pagination/Interfaces.ts b/clients/client-mediaconnect/pagination/Interfaces.ts new file mode 100644 index 000000000000..0e14bc36c52f --- /dev/null +++ b/clients/client-mediaconnect/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { MediaConnect } from "../MediaConnect"; +import { MediaConnectClient } from "../MediaConnectClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface MediaConnectPaginationConfiguration extends PaginationConfiguration { + client: MediaConnect | MediaConnectClient; +} diff --git a/clients/client-mediaconnect/pagination/ListEntitlementsPaginator.ts b/clients/client-mediaconnect/pagination/ListEntitlementsPaginator.ts new file mode 100644 index 000000000000..0d76ea75457b --- /dev/null +++ b/clients/client-mediaconnect/pagination/ListEntitlementsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaConnect } from "../MediaConnect"; +import { MediaConnectClient } from "../MediaConnectClient"; +import { + ListEntitlementsCommand, + ListEntitlementsCommandInput, + ListEntitlementsCommandOutput, +} from "../commands/ListEntitlementsCommand"; +import { MediaConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaConnectClient, + input: ListEntitlementsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListEntitlementsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaConnect, + input: ListEntitlementsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listEntitlements(input, ...args); +}; +export async function* listEntitlementsPaginate( + config: MediaConnectPaginationConfiguration, + input: ListEntitlementsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListEntitlementsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaConnect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaConnect | MediaConnectClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediaconnect/pagination/ListFlowsPaginator.ts b/clients/client-mediaconnect/pagination/ListFlowsPaginator.ts new file mode 100644 index 000000000000..144eaf0d8b40 --- /dev/null +++ b/clients/client-mediaconnect/pagination/ListFlowsPaginator.ts @@ -0,0 +1,47 @@ +import { MediaConnect } from "../MediaConnect"; +import { MediaConnectClient } from "../MediaConnectClient"; +import { ListFlowsCommand, ListFlowsCommandInput, ListFlowsCommandOutput } from "../commands/ListFlowsCommand"; +import { MediaConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaConnectClient, + input: ListFlowsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListFlowsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaConnect, + input: ListFlowsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listFlows(input, ...args); +}; +export async function* listFlowsPaginate( + config: MediaConnectPaginationConfiguration, + input: ListFlowsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListFlowsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaConnect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaConnect | MediaConnectClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediaconnect/pagination/ListOfferingsPaginator.ts b/clients/client-mediaconnect/pagination/ListOfferingsPaginator.ts new file mode 100644 index 000000000000..7de2c2769db9 --- /dev/null +++ b/clients/client-mediaconnect/pagination/ListOfferingsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaConnect } from "../MediaConnect"; +import { MediaConnectClient } from "../MediaConnectClient"; +import { + ListOfferingsCommand, + ListOfferingsCommandInput, + ListOfferingsCommandOutput, +} from "../commands/ListOfferingsCommand"; +import { MediaConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaConnectClient, + input: ListOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListOfferingsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaConnect, + input: ListOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listOfferings(input, ...args); +}; +export async function* listOfferingsPaginate( + config: MediaConnectPaginationConfiguration, + input: ListOfferingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListOfferingsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaConnect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaConnect | MediaConnectClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediaconnect/pagination/ListReservationsPaginator.ts b/clients/client-mediaconnect/pagination/ListReservationsPaginator.ts new file mode 100644 index 000000000000..111738fc5be5 --- /dev/null +++ b/clients/client-mediaconnect/pagination/ListReservationsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaConnect } from "../MediaConnect"; +import { MediaConnectClient } from "../MediaConnectClient"; +import { + ListReservationsCommand, + ListReservationsCommandInput, + ListReservationsCommandOutput, +} from "../commands/ListReservationsCommand"; +import { MediaConnectPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaConnectClient, + input: ListReservationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListReservationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaConnect, + input: ListReservationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listReservations(input, ...args); +}; +export async function* listReservationsPaginate( + config: MediaConnectPaginationConfiguration, + input: ListReservationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListReservationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaConnect) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaConnect | MediaConnectClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediaconnect/protocols/Aws_restJson1.ts b/clients/client-mediaconnect/protocols/Aws_restJson1.ts index 63b0b8b6bb0e..78c15bc45a8e 100644 --- a/clients/client-mediaconnect/protocols/Aws_restJson1.ts +++ b/clients/client-mediaconnect/protocols/Aws_restJson1.ts @@ -7,16 +7,24 @@ import { import { CreateFlowCommandInput, CreateFlowCommandOutput } from "../commands/CreateFlowCommand"; import { DeleteFlowCommandInput, DeleteFlowCommandOutput } from "../commands/DeleteFlowCommand"; import { DescribeFlowCommandInput, DescribeFlowCommandOutput } from "../commands/DescribeFlowCommand"; +import { DescribeOfferingCommandInput, DescribeOfferingCommandOutput } from "../commands/DescribeOfferingCommand"; +import { + DescribeReservationCommandInput, + DescribeReservationCommandOutput, +} from "../commands/DescribeReservationCommand"; import { GrantFlowEntitlementsCommandInput, GrantFlowEntitlementsCommandOutput, } from "../commands/GrantFlowEntitlementsCommand"; import { ListEntitlementsCommandInput, ListEntitlementsCommandOutput } from "../commands/ListEntitlementsCommand"; import { ListFlowsCommandInput, ListFlowsCommandOutput } from "../commands/ListFlowsCommand"; +import { ListOfferingsCommandInput, ListOfferingsCommandOutput } from "../commands/ListOfferingsCommand"; +import { ListReservationsCommandInput, ListReservationsCommandOutput } from "../commands/ListReservationsCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; +import { PurchaseOfferingCommandInput, PurchaseOfferingCommandOutput } from "../commands/PurchaseOfferingCommand"; import { RemoveFlowOutputCommandInput, RemoveFlowOutputCommandOutput } from "../commands/RemoveFlowOutputCommand"; import { RemoveFlowSourceCommandInput, RemoveFlowSourceCommandOutput } from "../commands/RemoveFlowSourceCommand"; import { @@ -55,7 +63,10 @@ import { ListedFlow, Messages, NotFoundException, + Offering, Output, + Reservation, + ResourceSpecification, ServiceUnavailableException, SetSourceRequest, Source, @@ -285,6 +296,66 @@ export const serializeAws_restJson1DescribeFlowCommand = async ( }); }; +export const serializeAws_restJson1DescribeOfferingCommand = async ( + input: DescribeOfferingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v1/offerings/{OfferingArn}"; + if (input.OfferingArn !== undefined) { + const labelValue: string = input.OfferingArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: OfferingArn."); + } + resolvedPath = resolvedPath.replace("{OfferingArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: OfferingArn."); + } + 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_restJson1DescribeReservationCommand = async ( + input: DescribeReservationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v1/reservations/{ReservationArn}"; + if (input.ReservationArn !== undefined) { + const labelValue: string = input.ReservationArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ReservationArn."); + } + resolvedPath = resolvedPath.replace("{ReservationArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ReservationArn."); + } + 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_restJson1GrantFlowEntitlementsCommand = async ( input: GrantFlowEntitlementsCommandInput, context: __SerdeContext @@ -354,6 +425,32 @@ export const serializeAws_restJson1ListFlowsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/flows"; + const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: 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_restJson1ListOfferingsCommand = async ( + input: ListOfferingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v1/offerings"; const query: any = { ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), @@ -372,6 +469,32 @@ export const serializeAws_restJson1ListFlowsCommand = async ( }); }; +export const serializeAws_restJson1ListReservationsCommand = async ( + input: ListReservationsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v1/reservations"; + const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: 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_restJson1ListTagsForResourceCommand = async ( input: ListTagsForResourceCommandInput, context: __SerdeContext @@ -402,6 +525,40 @@ export const serializeAws_restJson1ListTagsForResourceCommand = async ( }); }; +export const serializeAws_restJson1PurchaseOfferingCommand = async ( + input: PurchaseOfferingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/v1/offerings/{OfferingArn}"; + if (input.OfferingArn !== undefined) { + const labelValue: string = input.OfferingArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: OfferingArn."); + } + resolvedPath = resolvedPath.replace("{OfferingArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: OfferingArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.ReservationName !== undefined && { reservationName: input.ReservationName }), + ...(input.Start !== undefined && { start: input.Start }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1RemoveFlowOutputCommand = async ( input: RemoveFlowOutputCommandInput, context: __SerdeContext @@ -527,15 +684,6 @@ export const serializeAws_restJson1RevokeFlowEntitlementCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/flows/{FlowArn}/entitlements/{EntitlementArn}"; - if (input.EntitlementArn !== undefined) { - const labelValue: string = input.EntitlementArn; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: EntitlementArn."); - } - resolvedPath = resolvedPath.replace("{EntitlementArn}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: EntitlementArn."); - } if (input.FlowArn !== undefined) { const labelValue: string = input.FlowArn; if (labelValue.length <= 0) { @@ -545,6 +693,15 @@ export const serializeAws_restJson1RevokeFlowEntitlementCommand = async ( } else { throw new Error("No value provided for input HTTP label: FlowArn."); } + if (input.EntitlementArn !== undefined) { + const labelValue: string = input.EntitlementArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EntitlementArn."); + } + resolvedPath = resolvedPath.replace("{EntitlementArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EntitlementArn."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -728,15 +885,6 @@ export const serializeAws_restJson1UpdateFlowEntitlementCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v1/flows/{FlowArn}/entitlements/{EntitlementArn}"; - if (input.FlowArn !== undefined) { - const labelValue: string = input.FlowArn; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: FlowArn."); - } - resolvedPath = resolvedPath.replace("{FlowArn}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: FlowArn."); - } if (input.EntitlementArn !== undefined) { const labelValue: string = input.EntitlementArn; if (labelValue.length <= 0) { @@ -746,6 +894,15 @@ export const serializeAws_restJson1UpdateFlowEntitlementCommand = async ( } else { throw new Error("No value provided for input HTTP label: EntitlementArn."); } + if (input.FlowArn !== undefined) { + const labelValue: string = input.FlowArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: FlowArn."); + } + resolvedPath = resolvedPath.replace("{FlowArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: FlowArn."); + } let body: any; body = JSON.stringify({ ...(input.Description !== undefined && { description: input.Description }), @@ -1234,7 +1391,371 @@ const deserializeAws_restJson1CreateFlowCommandError = async ( case "ForbiddenException": case "com.amazonaws.mediaconnect#ForbiddenException": response = { - ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.mediaconnect#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.mediaconnect#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.mediaconnect#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1DeleteFlowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteFlowCommandError(output, context); + } + const contents: DeleteFlowCommandOutput = { + $metadata: deserializeMetadata(output), + FlowArn: undefined, + Status: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.flowArn !== undefined && data.flowArn !== null) { + contents.FlowArn = data.flowArn; + } + if (data.status !== undefined && data.status !== null) { + contents.Status = data.status; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteFlowCommandError = 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.mediaconnect#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.mediaconnect#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.mediaconnect#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.mediaconnect#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.mediaconnect#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.mediaconnect#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1DescribeFlowCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeFlowCommandError(output, context); + } + const contents: DescribeFlowCommandOutput = { + $metadata: deserializeMetadata(output), + Flow: undefined, + Messages: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.flow !== undefined && data.flow !== null) { + contents.Flow = deserializeAws_restJson1Flow(data.flow, context); + } + if (data.messages !== undefined && data.messages !== null) { + contents.Messages = deserializeAws_restJson1Messages(data.messages, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeFlowCommandError = 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.mediaconnect#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.mediaconnect#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.mediaconnect#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.mediaconnect#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.mediaconnect#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.mediaconnect#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1DescribeOfferingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeOfferingCommandError(output, context); + } + const contents: DescribeOfferingCommandOutput = { + $metadata: deserializeMetadata(output), + Offering: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.offering !== undefined && data.offering !== null) { + contents.Offering = deserializeAws_restJson1Offering(data.offering, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeOfferingCommandError = 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.mediaconnect#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.mediaconnect#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.mediaconnect#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.mediaconnect#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.mediaconnect#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1DescribeReservationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeReservationCommandError(output, context); + } + const contents: DescribeReservationCommandOutput = { + $metadata: deserializeMetadata(output), + Reservation: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.reservation !== undefined && data.reservation !== null) { + contents.Reservation = deserializeAws_restJson1Reservation(data.reservation, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeReservationCommandError = 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.mediaconnect#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1247,6 +1768,14 @@ const deserializeAws_restJson1CreateFlowCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.mediaconnect#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceUnavailableException": case "com.amazonaws.mediaconnect#ServiceUnavailableException": response = { @@ -1280,32 +1809,32 @@ const deserializeAws_restJson1CreateFlowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteFlowCommand = async ( +export const deserializeAws_restJson1GrantFlowEntitlementsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 202 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteFlowCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GrantFlowEntitlementsCommandError(output, context); } - const contents: DeleteFlowCommandOutput = { + const contents: GrantFlowEntitlementsCommandOutput = { $metadata: deserializeMetadata(output), + Entitlements: undefined, FlowArn: undefined, - Status: undefined, }; const data: any = await parseBody(output.body, context); + if (data.entitlements !== undefined && data.entitlements !== null) { + contents.Entitlements = deserializeAws_restJson1__listOfEntitlement(data.entitlements, context); + } if (data.flowArn !== undefined && data.flowArn !== null) { contents.FlowArn = data.flowArn; } - if (data.status !== undefined && data.status !== null) { - contents.Status = data.status; - } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteFlowCommandError = async ( +const deserializeAws_restJson1GrantFlowEntitlementsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1330,6 +1859,14 @@ const deserializeAws_restJson1DeleteFlowCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "GrantFlowEntitlements420Exception": + case "com.amazonaws.mediaconnect#GrantFlowEntitlements420Exception": + response = { + ...(await deserializeAws_restJson1GrantFlowEntitlements420ExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerErrorException": case "com.amazonaws.mediaconnect#InternalServerErrorException": response = { @@ -1379,32 +1916,32 @@ const deserializeAws_restJson1DeleteFlowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeFlowCommand = async ( +export const deserializeAws_restJson1ListEntitlementsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeFlowCommandError(output, context); + return deserializeAws_restJson1ListEntitlementsCommandError(output, context); } - const contents: DescribeFlowCommandOutput = { + const contents: ListEntitlementsCommandOutput = { $metadata: deserializeMetadata(output), - Flow: undefined, - Messages: undefined, + Entitlements: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.flow !== undefined && data.flow !== null) { - contents.Flow = deserializeAws_restJson1Flow(data.flow, context); + if (data.entitlements !== undefined && data.entitlements !== null) { + contents.Entitlements = deserializeAws_restJson1__listOfListedEntitlement(data.entitlements, context); } - if (data.messages !== undefined && data.messages !== null) { - contents.Messages = deserializeAws_restJson1Messages(data.messages, context); + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.NextToken = data.nextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeFlowCommandError = async ( +const deserializeAws_restJson1ListEntitlementsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1421,14 +1958,6 @@ const deserializeAws_restJson1DescribeFlowCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ForbiddenException": - case "com.amazonaws.mediaconnect#ForbiddenException": - response = { - ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerErrorException": case "com.amazonaws.mediaconnect#InternalServerErrorException": response = { @@ -1437,14 +1966,6 @@ const deserializeAws_restJson1DescribeFlowCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.mediaconnect#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceUnavailableException": case "com.amazonaws.mediaconnect#ServiceUnavailableException": response = { @@ -1478,32 +1999,32 @@ const deserializeAws_restJson1DescribeFlowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GrantFlowEntitlementsCommand = async ( +export const deserializeAws_restJson1ListFlowsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GrantFlowEntitlementsCommandError(output, context); + return deserializeAws_restJson1ListFlowsCommandError(output, context); } - const contents: GrantFlowEntitlementsCommandOutput = { + const contents: ListFlowsCommandOutput = { $metadata: deserializeMetadata(output), - Entitlements: undefined, - FlowArn: undefined, + Flows: undefined, + NextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.entitlements !== undefined && data.entitlements !== null) { - contents.Entitlements = deserializeAws_restJson1__listOfEntitlement(data.entitlements, context); + if (data.flows !== undefined && data.flows !== null) { + contents.Flows = deserializeAws_restJson1__listOfListedFlow(data.flows, context); } - if (data.flowArn !== undefined && data.flowArn !== null) { - contents.FlowArn = data.flowArn; + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.NextToken = data.nextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1GrantFlowEntitlementsCommandError = async ( +const deserializeAws_restJson1ListFlowsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1520,22 +2041,6 @@ const deserializeAws_restJson1GrantFlowEntitlementsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ForbiddenException": - case "com.amazonaws.mediaconnect#ForbiddenException": - response = { - ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "GrantFlowEntitlements420Exception": - case "com.amazonaws.mediaconnect#GrantFlowEntitlements420Exception": - response = { - ...(await deserializeAws_restJson1GrantFlowEntitlements420ExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerErrorException": case "com.amazonaws.mediaconnect#InternalServerErrorException": response = { @@ -1544,14 +2049,6 @@ const deserializeAws_restJson1GrantFlowEntitlementsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NotFoundException": - case "com.amazonaws.mediaconnect#NotFoundException": - response = { - ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceUnavailableException": case "com.amazonaws.mediaconnect#ServiceUnavailableException": response = { @@ -1585,32 +2082,32 @@ const deserializeAws_restJson1GrantFlowEntitlementsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListEntitlementsCommand = async ( +export const deserializeAws_restJson1ListOfferingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListEntitlementsCommandError(output, context); + return deserializeAws_restJson1ListOfferingsCommandError(output, context); } - const contents: ListEntitlementsCommandOutput = { + const contents: ListOfferingsCommandOutput = { $metadata: deserializeMetadata(output), - Entitlements: undefined, NextToken: undefined, + Offerings: undefined, }; const data: any = await parseBody(output.body, context); - if (data.entitlements !== undefined && data.entitlements !== null) { - contents.Entitlements = deserializeAws_restJson1__listOfListedEntitlement(data.entitlements, context); - } if (data.nextToken !== undefined && data.nextToken !== null) { contents.NextToken = data.nextToken; } + if (data.offerings !== undefined && data.offerings !== null) { + contents.Offerings = deserializeAws_restJson1__listOfOffering(data.offerings, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListEntitlementsCommandError = async ( +const deserializeAws_restJson1ListOfferingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1668,32 +2165,32 @@ const deserializeAws_restJson1ListEntitlementsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListFlowsCommand = async ( +export const deserializeAws_restJson1ListReservationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListFlowsCommandError(output, context); + return deserializeAws_restJson1ListReservationsCommandError(output, context); } - const contents: ListFlowsCommandOutput = { + const contents: ListReservationsCommandOutput = { $metadata: deserializeMetadata(output), - Flows: undefined, NextToken: undefined, + Reservations: undefined, }; const data: any = await parseBody(output.body, context); - if (data.flows !== undefined && data.flows !== null) { - contents.Flows = deserializeAws_restJson1__listOfListedFlow(data.flows, context); - } if (data.nextToken !== undefined && data.nextToken !== null) { contents.NextToken = data.nextToken; } + if (data.reservations !== undefined && data.reservations !== null) { + contents.Reservations = deserializeAws_restJson1__listOfReservation(data.reservations, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListFlowsCommandError = async ( +const deserializeAws_restJson1ListReservationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1822,6 +2319,101 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1PurchaseOfferingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1PurchaseOfferingCommandError(output, context); + } + const contents: PurchaseOfferingCommandOutput = { + $metadata: deserializeMetadata(output), + Reservation: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.reservation !== undefined && data.reservation !== null) { + contents.Reservation = deserializeAws_restJson1Reservation(data.reservation, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1PurchaseOfferingCommandError = 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.mediaconnect#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.mediaconnect#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.mediaconnect#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.mediaconnect#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.mediaconnect#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.mediaconnect#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1RemoveFlowOutputCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3275,10 +3867,18 @@ const deserializeAws_restJson1__listOfListedFlow = (output: any, context: __Serd return (output || []).map((entry: any) => deserializeAws_restJson1ListedFlow(entry, context)); }; +const deserializeAws_restJson1__listOfOffering = (output: any, context: __SerdeContext): Offering[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Offering(entry, context)); +}; + const deserializeAws_restJson1__listOfOutput = (output: any, context: __SerdeContext): Output[] => { return (output || []).map((entry: any) => deserializeAws_restJson1Output(entry, context)); }; +const deserializeAws_restJson1__listOfReservation = (output: any, context: __SerdeContext): Reservation[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Reservation(entry, context)); +}; + const deserializeAws_restJson1__listOfSource = (output: any, context: __SerdeContext): Source[] => { return (output || []).map((entry: any) => deserializeAws_restJson1Source(entry, context)); }; @@ -3417,6 +4017,26 @@ const deserializeAws_restJson1Messages = (output: any, context: __SerdeContext): } as any; }; +const deserializeAws_restJson1Offering = (output: any, context: __SerdeContext): Offering => { + return { + CurrencyCode: output.currencyCode !== undefined && output.currencyCode !== null ? output.currencyCode : undefined, + Duration: output.duration !== undefined && output.duration !== null ? output.duration : undefined, + DurationUnits: + output.durationUnits !== undefined && output.durationUnits !== null ? output.durationUnits : undefined, + OfferingArn: output.offeringArn !== undefined && output.offeringArn !== null ? output.offeringArn : undefined, + OfferingDescription: + output.offeringDescription !== undefined && output.offeringDescription !== null + ? output.offeringDescription + : undefined, + PricePerUnit: output.pricePerUnit !== undefined && output.pricePerUnit !== null ? output.pricePerUnit : undefined, + PriceUnits: output.priceUnits !== undefined && output.priceUnits !== null ? output.priceUnits : undefined, + ResourceSpecification: + output.resourceSpecification !== undefined && output.resourceSpecification !== null + ? deserializeAws_restJson1ResourceSpecification(output.resourceSpecification, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1Output = (output: any, context: __SerdeContext): Output => { return { DataTransferSubscriberFeePercent: @@ -3449,6 +4069,42 @@ const deserializeAws_restJson1Output = (output: any, context: __SerdeContext): O } as any; }; +const deserializeAws_restJson1Reservation = (output: any, context: __SerdeContext): Reservation => { + return { + CurrencyCode: output.currencyCode !== undefined && output.currencyCode !== null ? output.currencyCode : undefined, + Duration: output.duration !== undefined && output.duration !== null ? output.duration : undefined, + DurationUnits: + output.durationUnits !== undefined && output.durationUnits !== null ? output.durationUnits : undefined, + End: output.end !== undefined && output.end !== null ? output.end : undefined, + OfferingArn: output.offeringArn !== undefined && output.offeringArn !== null ? output.offeringArn : undefined, + OfferingDescription: + output.offeringDescription !== undefined && output.offeringDescription !== null + ? output.offeringDescription + : undefined, + PricePerUnit: output.pricePerUnit !== undefined && output.pricePerUnit !== null ? output.pricePerUnit : undefined, + PriceUnits: output.priceUnits !== undefined && output.priceUnits !== null ? output.priceUnits : undefined, + ReservationArn: + output.reservationArn !== undefined && output.reservationArn !== null ? output.reservationArn : undefined, + ReservationName: + output.reservationName !== undefined && output.reservationName !== null ? output.reservationName : undefined, + ReservationState: + output.reservationState !== undefined && output.reservationState !== null ? output.reservationState : undefined, + ResourceSpecification: + output.resourceSpecification !== undefined && output.resourceSpecification !== null + ? deserializeAws_restJson1ResourceSpecification(output.resourceSpecification, context) + : undefined, + Start: output.start !== undefined && output.start !== null ? output.start : undefined, + } as any; +}; + +const deserializeAws_restJson1ResourceSpecification = (output: any, context: __SerdeContext): ResourceSpecification => { + return { + ReservedBitrate: + output.reservedBitrate !== undefined && output.reservedBitrate !== null ? output.reservedBitrate : undefined, + ResourceType: output.resourceType !== undefined && output.resourceType !== null ? output.resourceType : undefined, + } as any; +}; + const deserializeAws_restJson1Source = (output: any, context: __SerdeContext): Source => { return { DataTransferSubscriberFeePercent: diff --git a/clients/client-mediaconvert/index.ts b/clients/client-mediaconvert/index.ts index 9b776d85439d..04c9b76d121b 100644 --- a/clients/client-mediaconvert/index.ts +++ b/clients/client-mediaconvert/index.ts @@ -10,19 +10,25 @@ export * from "./commands/DeleteJobTemplateCommand"; export * from "./commands/DeletePresetCommand"; export * from "./commands/DeleteQueueCommand"; export * from "./commands/DescribeEndpointsCommand"; +export * from "./pagination/DescribeEndpointsPaginator"; export * from "./commands/DisassociateCertificateCommand"; export * from "./commands/GetJobCommand"; export * from "./commands/GetJobTemplateCommand"; export * from "./commands/GetPresetCommand"; export * from "./commands/GetQueueCommand"; export * from "./commands/ListJobsCommand"; +export * from "./pagination/ListJobsPaginator"; export * from "./commands/ListJobTemplatesCommand"; +export * from "./pagination/ListJobTemplatesPaginator"; export * from "./commands/ListPresetsCommand"; +export * from "./pagination/ListPresetsPaginator"; export * from "./commands/ListQueuesCommand"; +export * from "./pagination/ListQueuesPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateJobTemplateCommand"; export * from "./commands/UpdatePresetCommand"; export * from "./commands/UpdateQueueCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-mediaconvert/models/models_0.ts b/clients/client-mediaconvert/models/models_0.ts index 7b171f25879d..b5ebab3afc80 100644 --- a/clients/client-mediaconvert/models/models_0.ts +++ b/clients/client-mediaconvert/models/models_0.ts @@ -1,5 +1,39 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +export enum AudioChannelTag { + C = "C", + CS = "CS", + L = "L", + LC = "LC", + LFE = "LFE", + LS = "LS", + LSD = "LSD", + R = "R", + RC = "RC", + RS = "RS", + RSD = "RSD", + TCS = "TCS", + VHC = "VHC", + VHL = "VHL", + VHR = "VHR", +} + +/** + * When you mimic a multi-channel audio layout with multiple mono-channel tracks, you can tag each channel layout manually. For example, you would tag the tracks that contain your left, right, and center audio with Left (L), Right (R), and Center (C), respectively. When you don't specify a value, MediaConvert labels your track as Center (C) by default. To use audio layout tagging, your output must be in a QuickTime (.mov) container; your audio codec must be AAC, WAV, or AIFF; and you must set up your audio track to have only one channel. + */ +export interface AudioChannelTaggingSettings { + /** + * You can add a tag for this mono-channel audio track to mimic its placement in a multi-channel layout. For example, if this track is the left surround channel, choose Left surround (LS). + */ + ChannelTag?: AudioChannelTag | string; +} + +export namespace AudioChannelTaggingSettings { + export const filterSensitiveLog = (obj: AudioChannelTaggingSettings): any => ({ + ...obj, + }); +} + export enum AudioNormalizationAlgorithm { ITU_BS_1770_1 = "ITU_BS_1770_1", ITU_BS_1770_2 = "ITU_BS_1770_2", @@ -27,9 +61,9 @@ export enum AudioNormalizationPeakCalculation { */ export interface AudioNormalizationSettings { /** - * Content measuring above this level will be corrected to the target level. Content measuring below this level will not be corrected. + * Choose one of the following audio normalization algorithms: ITU-R BS.1770-1: Ungated loudness. A measurement of ungated average loudness for an entire piece of content, suitable for measurement of short-form content under ATSC recommendation A/85. Supports up to 5.1 audio channels. ITU-R BS.1770-2: Gated loudness. A measurement of gated average loudness compliant with the requirements of EBU-R128. Supports up to 5.1 audio channels. ITU-R BS.1770-3: Modified peak. The same loudness measurement algorithm as 1770-2, with an updated true peak measurement. ITU-R BS.1770-4: Higher channel count. Allows for more audio channels than the other algorithms, including configurations such as 7.1. */ - CorrectionGateLevel?: number; + Algorithm?: AudioNormalizationAlgorithm | string; /** * When enabled the output audio is corrected using the chosen algorithm. If disabled, the audio will be measured but not adjusted. @@ -37,19 +71,19 @@ export interface AudioNormalizationSettings { AlgorithmControl?: AudioNormalizationAlgorithmControl | string; /** - * Choose one of the following audio normalization algorithms: ITU-R BS.1770-1: Ungated loudness. A measurement of ungated average loudness for an entire piece of content, suitable for measurement of short-form content under ATSC recommendation A/85. Supports up to 5.1 audio channels. ITU-R BS.1770-2: Gated loudness. A measurement of gated average loudness compliant with the requirements of EBU-R128. Supports up to 5.1 audio channels. ITU-R BS.1770-3: Modified peak. The same loudness measurement algorithm as 1770-2, with an updated true peak measurement. ITU-R BS.1770-4: Higher channel count. Allows for more audio channels than the other algorithms, including configurations such as 7.1. + * When you use Audio normalization (AudioNormalizationSettings), optionally use this setting to specify a target loudness. If you don't specify a value here, the encoder chooses a value for you, based on the algorithm that you choose for Algorithm (algorithm). If you choose algorithm 1770-1, the encoder will choose -24 LKFS; otherwise, the encoder will choose -23 LKFS. */ - Algorithm?: AudioNormalizationAlgorithm | string; + TargetLkfs?: number; /** - * If set to LOG, log each output's audio track loudness to a CSV file. + * Content measuring above this level will be corrected to the target level. Content measuring below this level will not be corrected. */ - LoudnessLogging?: AudioNormalizationLoudnessLogging | string; + CorrectionGateLevel?: number; /** - * When you use Audio normalization (AudioNormalizationSettings), optionally use this setting to specify a target loudness. If you don't specify a value here, the encoder chooses a value for you, based on the algorithm that you choose for Algorithm (algorithm). If you choose algorithm 1770-1, the encoder will choose -24 LKFS; otherwise, the encoder will choose -23 LKFS. + * If set to LOG, log each output's audio track loudness to a CSV file. */ - TargetLkfs?: number; + LoudnessLogging?: AudioNormalizationLoudnessLogging | string; /** * If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio track loudness. @@ -113,20 +147,25 @@ export enum AacVbrQuality { * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AAC. The service accepts one of two mutually exclusive groups of AAC settings--VBR and CBR. To select one of these modes, set the value of Bitrate control mode (rateControlMode) to "VBR" or "CBR". In VBR mode, you control the audio quality with the setting VBR quality (vbrQuality). In CBR mode, you use the setting Bitrate (bitrate). Defaults and valid values depend on the rate control mode. */ export interface AacSettings { + /** + * VBR Quality Level - Only used if rate_control_mode is VBR. + */ + VbrQuality?: AacVbrQuality | string; + /** * Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose "No container" for the output container. */ RawFormat?: AacRawFormat | string; /** - * Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers. + * AAC Profile. */ - Specification?: AacSpecification | string; + CodecProfile?: AacCodecProfile | string; /** - * VBR Quality Level - Only used if rate_control_mode is VBR. + * Sample rate in Hz. Valid values depend on rate control mode and profile. */ - VbrQuality?: AacVbrQuality | string; + SampleRate?: number; /** * Rate Control Mode. @@ -138,25 +177,20 @@ export interface AacSettings { */ CodingMode?: AacCodingMode | string; - /** - * AAC Profile. - */ - CodecProfile?: AacCodecProfile | string; - /** * Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a stereo pair. The value for AudioType will be set to 3, which signals to downstream systems that this stream contains "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any values you provide in AudioType and FollowInputAudioType. Choose NORMAL when the input does not contain pre-mixed audio + audio description (AD). In this case, the encoder will use any values you provide for AudioType and FollowInputAudioType. */ AudioDescriptionBroadcasterMix?: AacAudioDescriptionBroadcasterMix | string; /** - * Sample rate in Hz. Valid values depend on rate control mode and profile. + * Specify the average bitrate in bits per second. The set of valid values for this setting is: 6000, 8000, 10000, 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000, 896000, 1024000. The value you set is also constrained by the values that you choose for Profile (codecProfile), Bitrate control mode (codingMode), and Sample rate (sampleRate). Default values depend on Bitrate control mode and Profile. */ - SampleRate?: number; + Bitrate?: number; /** - * Specify the average bitrate in bits per second. The set of valid values for this setting is: 6000, 8000, 10000, 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000, 896000, 1024000. The value you set is also constrained by the values that you choose for Profile (codecProfile), Bitrate control mode (codingMode), and Sample rate (sampleRate). Default values depend on Bitrate control mode and Profile. + * Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers. */ - Bitrate?: number; + Specification?: AacSpecification | string; } export namespace AacSettings { @@ -203,29 +237,29 @@ export enum Ac3MetadataControl { */ export interface Ac3Settings { /** - * Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode. + * Specify the average bitrate in bits per second. Valid bitrates depend on the coding mode. */ - LfeFilter?: Ac3LfeFilter | string; + Bitrate?: number; /** - * Specify the bitstream mode for the AC-3 stream that the encoder emits. For more information about the AC3 bitstream mode, see ATSC A/52-2012 (Annex E). + * Dolby Digital coding mode. Determines number of channels. */ - BitstreamMode?: Ac3BitstreamMode | string; + CodingMode?: Ac3CodingMode | string; /** - * Specify the average bitrate in bits per second. Valid bitrates depend on the coding mode. + * Sets the dialnorm for the output. If blank and input audio is Dolby Digital, dialnorm will be passed through. */ - Bitrate?: number; + Dialnorm?: number; /** - * If set to FILM_STANDARD, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification. + * Specify the bitstream mode for the AC-3 stream that the encoder emits. For more information about the AC3 bitstream mode, see ATSC A/52-2012 (Annex E). */ - DynamicRangeCompressionProfile?: Ac3DynamicRangeCompressionProfile | string; + BitstreamMode?: Ac3BitstreamMode | string; /** - * Dolby Digital coding mode. Determines number of channels. + * If set to FILM_STANDARD, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification. */ - CodingMode?: Ac3CodingMode | string; + DynamicRangeCompressionProfile?: Ac3DynamicRangeCompressionProfile | string; /** * When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used. @@ -238,9 +272,9 @@ export interface Ac3Settings { SampleRate?: number; /** - * Sets the dialnorm for the output. If blank and input audio is Dolby Digital, dialnorm will be passed through. + * Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode. */ - Dialnorm?: number; + LfeFilter?: Ac3LfeFilter | string; } export namespace Ac3Settings { @@ -259,14 +293,14 @@ export interface AiffSettings { SampleRate?: number; /** - * Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track. + * Specify the number of channels in this output audio track. Valid values are 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up to 64. */ - BitDepth?: number; + Channels?: number; /** - * Specify the number of channels in this output audio track. Valid values are 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up to 64. + * Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track. */ - Channels?: number; + BitDepth?: number; } export namespace AiffSettings { @@ -346,24 +380,29 @@ export enum Eac3AtmosSurroundExMode { */ export interface Eac3AtmosSettings { /** - * Specify a value for the following Dolby Atmos setting: Left total/Right total center mix (Lt/Rt center). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0. + * Specify a value for the following Dolby Atmos setting: Left total/Right total surround mix (Lt/Rt surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. */ - LtRtCenterMixLevel?: number; + LtRtSurroundMixLevel?: number; /** - * Choose how the service does stereo downmixing. + * Specify a value for the following Dolby Atmos setting: Left only/Right only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. */ - StereoDownmix?: Eac3AtmosStereoDownmix | string; + LoRoSurroundMixLevel?: number; /** - * Specify a value for the following Dolby Atmos setting: Left only/Right only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. + * Specify the absolute peak level for a signal with dynamic range compression. */ - LoRoSurroundMixLevel?: number; + DynamicRangeCompressionLine?: Eac3AtmosDynamicRangeCompressionLine | string; /** - * Specify whether your input audio has an additional center rear surround channel matrix encoded into your left and right surround channels. + * Specify a value for the following Dolby Atmos setting: Left total/Right total center mix (Lt/Rt center). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0. */ - SurroundExMode?: Eac3AtmosSurroundExMode | string; + LtRtCenterMixLevel?: number; + + /** + * Choose how the service meters the loudness of your audio. + */ + MeteringMode?: Eac3AtmosMeteringMode | string; /** * Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E). @@ -371,33 +410,29 @@ export interface Eac3AtmosSettings { BitstreamMode?: Eac3AtmosBitstreamMode | string; /** - * The coding mode for Dolby Digital Plus JOC (Atmos) is always 9.1.6 (CODING_MODE_9_1_6). + * Specify how the service limits the audio dynamic range when compressing the audio. */ - CodingMode?: Eac3AtmosCodingMode | string; + DynamicRangeCompressionRf?: Eac3AtmosDynamicRangeCompressionRf | string; /** - * Specify the average bitrate in bits per second. - * Valid values: 384k, 448k, 640k, 768k + * This value is always 48000. It represents the sample rate in Hz. */ - Bitrate?: number; + SampleRate?: number; /** - * Specify a value for the following Dolby Atmos setting: Left total/Right total surround mix (Lt/Rt surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. + * The coding mode for Dolby Digital Plus JOC (Atmos) is always 9.1.6 (CODING_MODE_9_1_6). */ - LtRtSurroundMixLevel?: number; + CodingMode?: Eac3AtmosCodingMode | string; /** - * Specify a value for the following Dolby Atmos setting: Left only/Right only center mix - * (Lo/Ro center). MediaConvert uses this value for downmixing. How the service uses this - * value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). - * Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0. + * Choose how the service does stereo downmixing. */ - LoRoCenterMixLevel?: number; + StereoDownmix?: Eac3AtmosStereoDownmix | string; /** - * Enable Dolby Dialogue Intelligence to adjust loudness based on dialogue analysis. + * Specify whether your input audio has an additional center rear surround channel matrix encoded into your left and right surround channels. */ - DialogueIntelligence?: Eac3AtmosDialogueIntelligence | string; + SurroundExMode?: Eac3AtmosSurroundExMode | string; /** * Specify the percentage of audio content that must be speech before the encoder uses the measured speech loudness as the overall program loudness. @@ -405,24 +440,23 @@ export interface Eac3AtmosSettings { SpeechThreshold?: number; /** - * Specify the absolute peak level for a signal with dynamic range compression. - */ - DynamicRangeCompressionLine?: Eac3AtmosDynamicRangeCompressionLine | string; - - /** - * Choose how the service meters the loudness of your audio. + * Specify a value for the following Dolby Atmos setting: Left only/Right only center mix + * (Lo/Ro center). MediaConvert uses this value for downmixing. How the service uses this + * value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). + * Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0. */ - MeteringMode?: Eac3AtmosMeteringMode | string; + LoRoCenterMixLevel?: number; /** - * Specify how the service limits the audio dynamic range when compressing the audio. + * Enable Dolby Dialogue Intelligence to adjust loudness based on dialogue analysis. */ - DynamicRangeCompressionRf?: Eac3AtmosDynamicRangeCompressionRf | string; + DialogueIntelligence?: Eac3AtmosDialogueIntelligence | string; /** - * This value is always 48000. It represents the sample rate in Hz. + * Specify the average bitrate in bits per second. + * Valid values: 384k, 448k, 640k, 768k */ - SampleRate?: number; + Bitrate?: number; } export namespace Eac3AtmosSettings { @@ -522,109 +556,109 @@ export enum Eac3SurroundMode { */ export interface Eac3Settings { /** - * Choose how the service does stereo downmixing. This setting only applies if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Stereo downmix (Eac3StereoDownmix). + * When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels. */ - StereoDownmix?: Eac3StereoDownmix | string; + SurroundExMode?: Eac3SurroundExMode | string; /** - * Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E). + * Specify a value for the following Dolby Digital Plus setting: Left total/Right total center mix (Lt/Rt center). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left total/Right total center (ltRtCenterMixLevel). */ - BitstreamMode?: Eac3BitstreamMode | string; + LtRtCenterMixLevel?: number; /** - * Specify a value for the following Dolby Digital Plus setting: Left only/Right only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left only/Right only surround (loRoSurroundMixLevel). + * Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through. */ - LoRoSurroundMixLevel?: number; + Dialnorm?: number; /** - * Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through. + * Specify a value for the following Dolby Digital Plus setting: Left only/Right only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left only/Right only surround (loRoSurroundMixLevel). */ - Dialnorm?: number; + LoRoSurroundMixLevel?: number; /** - * Dolby Digital Plus coding mode. Determines number of channels. + * Specify a value for the following Dolby Digital Plus setting: Left total/Right total surround mix (Lt/Rt surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left total/Right total surround (ltRtSurroundMixLevel). */ - CodingMode?: Eac3CodingMode | string; + LtRtSurroundMixLevel?: number; /** - * Specify a value for the following Dolby Digital Plus setting: Left total/Right total center mix (Lt/Rt center). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left total/Right total center (ltRtCenterMixLevel). + * Specify the absolute peak level for a signal with dynamic range compression. */ - LtRtCenterMixLevel?: number; + DynamicRangeCompressionLine?: Eac3DynamicRangeCompressionLine | string; /** - * Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode. + * When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used. */ - PhaseControl?: Eac3PhaseControl | string; + MetadataControl?: Eac3MetadataControl | string; /** - * If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode. + * Specify the average bitrate in bits per second. Valid bitrates depend on the coding mode. */ - AttenuationControl?: Eac3AttenuationControl | string; + Bitrate?: number; /** - * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels. + * Specify a value for the following Dolby Digital Plus setting: Left only/Right only center mix (Lo/Ro center). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left only/Right only center (loRoCenterMixLevel). */ - SurroundMode?: Eac3SurroundMode | string; + LoRoCenterMixLevel?: number; /** - * Activates a DC highpass filter for all input channels. + * Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode. */ - DcFilter?: Eac3DcFilter | string; + LfeFilter?: Eac3LfeFilter | string; /** - * This value is always 48000. It represents the sample rate in Hz. + * When encoding 3/2 audio, controls whether the LFE channel is enabled */ - SampleRate?: number; + LfeControl?: Eac3LfeControl | string; /** - * Specify a value for the following Dolby Digital Plus setting: Left only/Right only center mix (Lo/Ro center). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left only/Right only center (loRoCenterMixLevel). + * Specify how the service limits the audio dynamic range when compressing the audio. */ - LoRoCenterMixLevel?: number; + DynamicRangeCompressionRf?: Eac3DynamicRangeCompressionRf | string; /** - * When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels. + * When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding. */ - SurroundExMode?: Eac3SurroundExMode | string; + PassthroughControl?: Eac3PassthroughControl | string; /** - * Specify how the service limits the audio dynamic range when compressing the audio. + * Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode. */ - DynamicRangeCompressionRf?: Eac3DynamicRangeCompressionRf | string; + PhaseControl?: Eac3PhaseControl | string; /** - * Specify the absolute peak level for a signal with dynamic range compression. + * Dolby Digital Plus coding mode. Determines number of channels. */ - DynamicRangeCompressionLine?: Eac3DynamicRangeCompressionLine | string; + CodingMode?: Eac3CodingMode | string; /** - * When encoding 3/2 audio, controls whether the LFE channel is enabled + * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels. */ - LfeControl?: Eac3LfeControl | string; + SurroundMode?: Eac3SurroundMode | string; /** - * When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used. + * This value is always 48000. It represents the sample rate in Hz. */ - MetadataControl?: Eac3MetadataControl | string; + SampleRate?: number; /** - * When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding. + * Choose how the service does stereo downmixing. This setting only applies if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Stereo downmix (Eac3StereoDownmix). */ - PassthroughControl?: Eac3PassthroughControl | string; + StereoDownmix?: Eac3StereoDownmix | string; /** - * Specify a value for the following Dolby Digital Plus setting: Left total/Right total surround mix (Lt/Rt surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left total/Right total surround (ltRtSurroundMixLevel). + * Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E). */ - LtRtSurroundMixLevel?: number; + BitstreamMode?: Eac3BitstreamMode | string; /** - * Specify the average bitrate in bits per second. Valid bitrates depend on the coding mode. + * If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode. */ - Bitrate?: number; + AttenuationControl?: Eac3AttenuationControl | string; /** - * Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode. + * Activates a DC highpass filter for all input channels. */ - LfeFilter?: Eac3LfeFilter | string; + DcFilter?: Eac3DcFilter | string; } export namespace Eac3Settings { @@ -637,6 +671,11 @@ export namespace Eac3Settings { * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value MP2. */ export interface Mp2Settings { + /** + * Specify the average bitrate in bits per second. + */ + Bitrate?: number; + /** * Set Channels to specify the number of channels in this output audio track. Choosing Mono in the console will give you 1 output channel; choosing Stereo will give you 2. In the API, valid values are 1 and 2. */ @@ -646,11 +685,6 @@ export interface Mp2Settings { * Sample rate in hz. */ SampleRate?: number; - - /** - * Specify the average bitrate in bits per second. - */ - Bitrate?: number; } export namespace Mp2Settings { @@ -668,6 +702,11 @@ export enum Mp3RateControlMode { * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3. */ export interface Mp3Settings { + /** + * Specify the number of channels in this output audio track. Choosing Mono on the console gives you 1 output channel; choosing Stereo gives you 2. In the API, valid values are 1 and 2. + */ + Channels?: number; + /** * Specify whether the service encodes this MP3 audio output with a constant bitrate (CBR) or a variable bitrate (VBR). */ @@ -687,12 +726,7 @@ export interface Mp3Settings { * Specify the average bitrate in bits per second. */ Bitrate?: number; - - /** - * Specify the number of channels in this output audio track. Choosing Mono on the console gives you 1 output channel; choosing Stereo gives you 2. In the API, valid values are 1 and 2. - */ - Channels?: number; -} +} export namespace Mp3Settings { export const filterSensitiveLog = (obj: Mp3Settings): any => ({ @@ -731,9 +765,9 @@ export namespace OpusSettings { */ export interface VorbisSettings { /** - * Optional. Specify the variable audio quality of this Vorbis output from -1 (lowest quality, ~45 kbit/s) to 10 (highest quality, ~500 kbit/s). The default value is 4 (~128 kbit/s). Values 5 and 6 are approximately 160 and 192 kbit/s, respectively. + * Optional. Specify the audio sample rate in Hz. Valid values are 22050, 32000, 44100, and 48000. The default value is 48000. */ - VbrQuality?: number; + SampleRate?: number; /** * Optional. Specify the number of channels in this output audio track. Choosing Mono on the console gives you 1 output channel; choosing Stereo gives you 2. In the API, valid values are 1 and 2. The default value is 2. @@ -741,9 +775,9 @@ export interface VorbisSettings { Channels?: number; /** - * Optional. Specify the audio sample rate in Hz. Valid values are 22050, 32000, 44100, and 48000. The default value is 48000. + * Optional. Specify the variable audio quality of this Vorbis output from -1 (lowest quality, ~45 kbit/s) to 10 (highest quality, ~500 kbit/s). The default value is 4 (~128 kbit/s). Values 5 and 6 are approximately 160 and 192 kbit/s, respectively. */ - SampleRate?: number; + VbrQuality?: number; } export namespace VorbisSettings { @@ -762,24 +796,24 @@ export enum WavFormat { */ export interface WavSettings { /** - * Specify the number of channels in this output audio track. Valid values are 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up to 64. + * Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track. */ - Channels?: number; + BitDepth?: number; /** - * The service defaults to using RIFF for WAV outputs. If your output audio is likely to exceed 4 GB in file size, or if you otherwise need the extended support of the RF64 format, set your output WAV file format to RF64. + * Sample rate in Hz. */ - Format?: WavFormat | string; + SampleRate?: number; /** - * Sample rate in Hz. + * The service defaults to using RIFF for WAV outputs. If your output audio is likely to exceed 4 GB in file size, or if you otherwise need the extended support of the RF64 format, set your output WAV file format to RF64. */ - SampleRate?: number; + Format?: WavFormat | string; /** - * Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track. + * Specify the number of channels in this output audio track. Valid values are 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up to 64. */ - BitDepth?: number; + Channels?: number; } export namespace WavSettings { @@ -792,35 +826,25 @@ export namespace WavSettings { * Audio codec settings (CodecSettings) under (AudioDescriptions) contains the group of settings related to audio encoding. The settings in this group vary depending on the value that you choose for Audio codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings * MP3, Mp3Settings * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings * VORBIS, VorbisSettings * OPUS, OpusSettings */ export interface AudioCodecSettings { - /** - * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3. - */ - Mp3Settings?: Mp3Settings; - - /** - * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value MP2. - */ - Mp2Settings?: Mp2Settings; - /** * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AAC. The service accepts one of two mutually exclusive groups of AAC settings--VBR and CBR. To select one of these modes, set the value of Bitrate control mode (rateControlMode) to "VBR" or "CBR". In VBR mode, you control the audio quality with the setting VBR quality (vbrQuality). In CBR mode, you use the setting Bitrate (bitrate). Defaults and valid values depend on the rate control mode. */ AacSettings?: AacSettings; /** - * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS. + * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AC3. */ - OpusSettings?: OpusSettings; + Ac3Settings?: Ac3Settings; /** - * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AC3. + * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value WAV. */ - Ac3Settings?: Ac3Settings; + WavSettings?: WavSettings; /** - * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value EAC3. + * Type of Audio codec. */ - Eac3Settings?: Eac3Settings; + Codec?: AudioCodec | string; /** * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value Vorbis. @@ -828,14 +852,19 @@ export interface AudioCodecSettings { VorbisSettings?: VorbisSettings; /** - * Type of Audio codec. + * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AIFF. */ - Codec?: AudioCodec | string; + AiffSettings?: AiffSettings; /** - * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AIFF. + * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value MP2. */ - AiffSettings?: AiffSettings; + Mp2Settings?: Mp2Settings; + + /** + * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS. + */ + OpusSettings?: OpusSettings; /** * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value EAC3_ATMOS. @@ -843,9 +872,14 @@ export interface AudioCodecSettings { Eac3AtmosSettings?: Eac3AtmosSettings; /** - * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value WAV. + * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3. */ - WavSettings?: WavSettings; + Mp3Settings?: Mp3Settings; + + /** + * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value EAC3. + */ + Eac3Settings?: Eac3Settings; } export namespace AudioCodecSettings { @@ -1090,14 +1124,14 @@ export namespace ChannelMapping { */ export interface RemixSettings { /** - * Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8... 64. (1 and even numbers to 64.) + * Specify the number of audio channels from your input that you want to use in your output. With remixing, you might combine or split the data in these channels, so the number of channels in your final output might be different. */ - ChannelsOut?: number; + ChannelsIn?: number; /** - * Specify the number of audio channels from your input that you want to use in your output. With remixing, you might combine or split the data in these channels, so the number of channels in your final output might be different. + * Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8... 64. (1 and even numbers to 64.) */ - ChannelsIn?: number; + ChannelsOut?: number; /** * Channel mapping (ChannelMapping) contains the group of fields that hold the remixing value for each channel. Units are in dB. Acceptable values are within the range from -60 (mute) through 6. A setting of 0 passes the input channel unchanged to the output channel (no attenuation or amplification). @@ -1115,30 +1149,20 @@ export namespace RemixSettings { * Description of audio output */ export interface AudioDescription { - /** - * Audio codec settings (CodecSettings) under (AudioDescriptions) contains the group of settings related to audio encoding. The settings in this group vary depending on the value that you choose for Audio codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings * MP3, Mp3Settings * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings * VORBIS, VorbisSettings * OPUS, OpusSettings - */ - CodecSettings?: AudioCodecSettings; - - /** - * Indicates the language of the audio output track. The ISO 639 language specified in the 'Language Code' drop down will be used when 'Follow Input Language Code' is not selected or when 'Follow Input Language Code' is selected but there is no ISO 639 language code specified by the input. - */ - LanguageCode?: LanguageCode | string; - /** * Applies only if Follow Input Audio Type is unchecked (false). A number between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary, 4-255 = Reserved. */ AudioType?: number; /** - * Advanced audio remixing settings. + * Specifies which audio data to use from each input. In the simplest case, specify an "Audio Selector":#inputs-audio_selector by name based on its order within each input. For example if you specify "Audio Selector 3", then the third audio selector will be used from each input. If an input does not have an "Audio Selector 3", then the audio selector marked as "default" in that input will be used. If there is no audio selector marked as "default", silence will be inserted for the duration of that input. Alternatively, an "Audio Selector Group":#inputs-audio_selector_group name may be specified, with similar default/silence behavior. If no audio_source_name is specified, then "Audio Selector 1" will be chosen automatically. */ - RemixSettings?: RemixSettings; + AudioSourceName?: string; /** - * When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD. + * When you mimic a multi-channel audio layout with multiple mono-channel tracks, you can tag each channel layout manually. For example, you would tag the tracks that contain your left, right, and center audio with Left (L), Right (R), and Center (C), respectively. When you don't specify a value, MediaConvert labels your track as Center (C) by default. To use audio layout tagging, your output must be in a QuickTime (.mov) container; your audio codec must be AAC, WAV, or AIFF; and you must set up your audio track to have only one channel. */ - AudioTypeControl?: AudioTypeControl | string; + AudioChannelTaggingSettings?: AudioChannelTaggingSettings; /** * Specify which source for language code takes precedence for this audio track. When you choose Follow input (FOLLOW_INPUT), the service uses the language code from the input track if it's present. If there's no languge code on the input track, the service uses the code that you specify in the setting Language code (languageCode or customLanguageCode). When you choose Use configured (USE_CONFIGURED), the service uses the language code that you specify. @@ -1151,19 +1175,34 @@ export interface AudioDescription { AudioNormalizationSettings?: AudioNormalizationSettings; /** - * Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control (AudioLanguageCodeControl) to Use configured (USE_CONFIGURED). The service also uses your specified custom language code when you set Language code control (AudioLanguageCodeControl) to Follow input (FOLLOW_INPUT), but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming. + * Indicates the language of the audio output track. The ISO 639 language specified in the 'Language Code' drop down will be used when 'Follow Input Language Code' is not selected or when 'Follow Input Language Code' is selected but there is no ISO 639 language code specified by the input. */ - CustomLanguageCode?: string; + LanguageCode?: LanguageCode | string; /** - * Specifies which audio data to use from each input. In the simplest case, specify an "Audio Selector":#inputs-audio_selector by name based on its order within each input. For example if you specify "Audio Selector 3", then the third audio selector will be used from each input. If an input does not have an "Audio Selector 3", then the audio selector marked as "default" in that input will be used. If there is no audio selector marked as "default", silence will be inserted for the duration of that input. Alternatively, an "Audio Selector Group":#inputs-audio_selector_group name may be specified, with similar default/silence behavior. If no audio_source_name is specified, then "Audio Selector 1" will be chosen automatically. + * Advanced audio remixing settings. */ - AudioSourceName?: string; + RemixSettings?: RemixSettings; /** * Specify a label for this output audio stream. For example, "English", "Director commentary", or "track_2". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting. */ StreamName?: string; + + /** + * Audio codec settings (CodecSettings) under (AudioDescriptions) contains the group of settings related to audio encoding. The settings in this group vary depending on the value that you choose for Audio codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings * MP3, Mp3Settings * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings * VORBIS, VorbisSettings * OPUS, OpusSettings + */ + CodecSettings?: AudioCodecSettings; + + /** + * Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control (AudioLanguageCodeControl) to Use configured (USE_CONFIGURED). The service also uses your specified custom language code when you set Language code control (AudioLanguageCodeControl) to Follow input (FOLLOW_INPUT), but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming. + */ + CustomLanguageCode?: string; + + /** + * When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD. + */ + AudioTypeControl?: AudioTypeControl | string; } export namespace AudioDescription { @@ -1223,9 +1262,19 @@ export enum BurninSubtitleTeletextSpacing { */ export interface BurninDestinationSettings { /** - * A positive integer indicates the exact font size in points. Set to 0 for automatic font size selection. All burn-in and DVB-Sub font settings must match. + * Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match. */ - FontSize?: number; + ShadowYOffset?: number; + + /** + * Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit x_position is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + */ + XPosition?: number; + + /** + * Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption. + */ + TeletextSpacing?: BurninSubtitleTeletextSpacing | string; /** * Specifies the color of the rectangle behind the captions. @@ -1234,39 +1283,40 @@ export interface BurninDestinationSettings { BackgroundColor?: BurninSubtitleBackgroundColor | string; /** - * Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit y_position is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * A positive integer indicates the exact font size in points. Set to 0 for automatic font size selection. All burn-in and DVB-Sub font settings must match. */ - YPosition?: number; + FontSize?: number; /** - * Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption. + * If no explicit x_position or y_position is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ - TeletextSpacing?: BurninSubtitleTeletextSpacing | string; + Alignment?: BurninSubtitleAlignment | string; /** - * Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match. + * Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match. */ - ShadowYOffset?: number; + ShadowXOffset?: number; /** - * Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit x_position is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ - XPosition?: number; + FontColor?: BurninSubtitleFontColor | string; /** - * If no explicit x_position or y_position is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * Specifies the color of the shadow cast by the captions. + * All burn-in and DVB-Sub font settings must match. */ - Alignment?: BurninSubtitleAlignment | string; + ShadowColor?: BurninSubtitleShadowColor | string; /** - * Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. + * Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ - BackgroundOpacity?: number; + OutlineColor?: BurninSubtitleOutlineColor | string; /** - * Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match. + * Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. */ - ShadowXOffset?: number; + ShadowOpacity?: number; /** * Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. @@ -1274,16 +1324,20 @@ export interface BurninDestinationSettings { OutlineSize?: number; /** - * Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. - * All burn-in and DVB-Sub font settings must match. + * Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. */ - FontOpacity?: number; + BackgroundOpacity?: number; /** - * Specifies the color of the shadow cast by the captions. + * Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit y_position is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + */ + YPosition?: number; + + /** + * Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. * All burn-in and DVB-Sub font settings must match. */ - ShadowColor?: BurninSubtitleShadowColor | string; + FontOpacity?: number; /** * Font resolution in DPI (dots per inch); default is 96 dpi. @@ -1295,21 +1349,6 @@ export interface BurninDestinationSettings { * Provide the font script, using an ISO 15924 script code, if the LanguageCode is not sufficient for determining the script type. Where LanguageCode or CustomLanguageCode is sufficient, use "AUTOMATIC" or leave unset. This is used to help determine the appropriate font for rendering burn-in captions. */ FontScript?: FontScript | string; - - /** - * Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. - */ - OutlineColor?: BurninSubtitleOutlineColor | string; - - /** - * Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. - */ - ShadowOpacity?: number; - - /** - * Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. - */ - FontColor?: BurninSubtitleFontColor | string; } export namespace BurninDestinationSettings { @@ -1387,16 +1426,30 @@ export interface DvbSubDestinationSettings { */ BackgroundOpacity?: number; + /** + * Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + */ + OutlineSize?: number; + + /** + * Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. + */ + ShadowOpacity?: number; + + /** + * A positive integer indicates the exact font size in points. Set to 0 for automatic font size selection. All burn-in and DVB-Sub font settings must match. + */ + FontSize?: number; + /** * Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ OutlineColor?: DvbSubtitleOutlineColor | string; /** - * Font resolution in DPI (dots per inch); default is 96 dpi. - * All burn-in and DVB-Sub font settings must match. + * Specify whether your DVB subtitles are standard or for hearing impaired. Choose hearing impaired if your subtitles include audio descriptions and dialogue. Choose standard if your subtitles include only dialogue. */ - FontResolution?: number; + SubtitlingType?: DvbSubtitlingType | string; /** * Specifies the color of the shadow cast by the captions. @@ -1405,32 +1458,25 @@ export interface DvbSubDestinationSettings { ShadowColor?: DvbSubtitleShadowColor | string; /** - * Provide the font script, using an ISO 15924 script code, if the LanguageCode is not sufficient for determining the script type. Where LanguageCode or CustomLanguageCode is sufficient, use "AUTOMATIC" or leave unset. This is used to help determine the appropriate font for rendering DVB-Sub captions. + * Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match. */ - FontScript?: FontScript | string; + ShadowYOffset?: number; /** - * Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. - * All burn-in and DVB-Sub font settings must match. + * Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption. */ - FontOpacity?: number; + TeletextSpacing?: DvbSubtitleTeletextSpacing | string; /** - * Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ - OutlineSize?: number; + FontColor?: DvbSubtitleFontColor | string; /** * Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match. */ ShadowXOffset?: number; - /** - * Specifies the color of the rectangle behind the captions. - * All burn-in and DVB-Sub font settings must match. - */ - BackgroundColor?: DvbSubtitleBackgroundColor | string; - /** * Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit x_position is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ @@ -1442,40 +1488,33 @@ export interface DvbSubDestinationSettings { Alignment?: DvbSubtitleAlignment | string; /** - * Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit y_position is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * Specifies the color of the rectangle behind the captions. + * All burn-in and DVB-Sub font settings must match. */ - YPosition?: number; + BackgroundColor?: DvbSubtitleBackgroundColor | string; /** - * Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption. + * Provide the font script, using an ISO 15924 script code, if the LanguageCode is not sufficient for determining the script type. Where LanguageCode or CustomLanguageCode is sufficient, use "AUTOMATIC" or leave unset. This is used to help determine the appropriate font for rendering DVB-Sub captions. */ - TeletextSpacing?: DvbSubtitleTeletextSpacing | string; + FontScript?: FontScript | string; /** - * Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match. + * Font resolution in DPI (dots per inch); default is 96 dpi. + * All burn-in and DVB-Sub font settings must match. */ - ShadowYOffset?: number; + FontResolution?: number; /** - * A positive integer indicates the exact font size in points. Set to 0 for automatic font size selection. All burn-in and DVB-Sub font settings must match. + * Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit y_position is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ - FontSize?: number; + YPosition?: number; /** - * Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. + * Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. + * All burn-in and DVB-Sub font settings must match. */ - ShadowOpacity?: number; - - /** - * Specify whether your DVB subtitles are standard or for hearing impaired. Choose hearing impaired if your subtitles include audio descriptions and dialogue. Choose standard if your subtitles include only dialogue. - */ - SubtitlingType?: DvbSubtitlingType | string; - - /** - * Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. - */ - FontColor?: DvbSubtitleFontColor | string; -} + FontOpacity?: number; +} export namespace DvbSubDestinationSettings { export const filterSensitiveLog = (obj: DvbSubDestinationSettings): any => ({ @@ -1604,44 +1643,44 @@ export namespace TtmlDestinationSettings { */ export interface CaptionDestinationSettings { /** - * Specify the format for this set of captions on this output. The default format is embedded without SCTE-20. Other options are embedded with SCTE-20, burn-in, DVB-sub, IMSC, SCC, SRT, teletext, TTML, and web-VTT. If you are using SCTE-20, choose SCTE-20 plus embedded (SCTE20_PLUS_EMBEDDED) to create an output that complies with the SCTE-43 spec. To create a non-compliant output where the embedded captions come first, choose Embedded plus SCTE-20 (EMBEDDED_PLUS_SCTE20). + * Settings specific to IMSC caption outputs. */ - DestinationType?: CaptionDestinationType | string; + ImscDestinationSettings?: ImscDestinationSettings; /** - * Settings specific to IMSC caption outputs. + * Settings specific to TTML caption outputs, including Pass style information (TtmlStylePassthrough). */ - ImscDestinationSettings?: ImscDestinationSettings; + TtmlDestinationSettings?: TtmlDestinationSettings; /** - * Settings for Teletext caption output + * Burn-In Destination Settings. */ - TeletextDestinationSettings?: TeletextDestinationSettings; + BurninDestinationSettings?: BurninDestinationSettings; /** - * Settings specific to embedded/ancillary caption outputs, including 608/708 Channel destination number. + * Specify the format for this set of captions on this output. The default format is embedded without SCTE-20. Other options are embedded with SCTE-20, burn-in, DVB-sub, IMSC, SCC, SRT, teletext, TTML, and web-VTT. If you are using SCTE-20, choose SCTE-20 plus embedded (SCTE20_PLUS_EMBEDDED) to create an output that complies with the SCTE-43 spec. To create a non-compliant output where the embedded captions come first, choose Embedded plus SCTE-20 (EMBEDDED_PLUS_SCTE20). */ - EmbeddedDestinationSettings?: EmbeddedDestinationSettings; + DestinationType?: CaptionDestinationType | string; /** - * DVB-Sub Destination Settings + * Settings for SCC caption output. */ - DvbSubDestinationSettings?: DvbSubDestinationSettings; + SccDestinationSettings?: SccDestinationSettings; /** - * Burn-In Destination Settings. + * Settings specific to embedded/ancillary caption outputs, including 608/708 Channel destination number. */ - BurninDestinationSettings?: BurninDestinationSettings; + EmbeddedDestinationSettings?: EmbeddedDestinationSettings; /** - * Settings specific to TTML caption outputs, including Pass style information (TtmlStylePassthrough). + * DVB-Sub Destination Settings */ - TtmlDestinationSettings?: TtmlDestinationSettings; + DvbSubDestinationSettings?: DvbSubDestinationSettings; /** - * Settings for SCC caption output. + * Settings for Teletext caption output */ - SccDestinationSettings?: SccDestinationSettings; + TeletextDestinationSettings?: TeletextDestinationSettings; } export namespace CaptionDestinationSettings { @@ -1655,9 +1694,9 @@ export namespace CaptionDestinationSettings { */ export interface CaptionDescription { /** - * Specific settings required by destination type. Note that burnin_destination_settings are not available if the source of the caption data is Embedded or Teletext. + * Specifies which "Caption Selector":#inputs-caption_selector to use from each input when generating captions. The name should be of the format "Caption Selector ", which denotes that the Nth Caption Selector will be used from each input. */ - DestinationSettings?: CaptionDestinationSettings; + CaptionSelectorName?: string; /** * Specify the language of this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text. @@ -1670,14 +1709,14 @@ export interface CaptionDescription { LanguageDescription?: string; /** - * Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming. + * Specific settings required by destination type. Note that burnin_destination_settings are not available if the source of the caption data is Embedded or Teletext. */ - CustomLanguageCode?: string; + DestinationSettings?: CaptionDestinationSettings; /** - * Specifies which "Caption Selector":#inputs-caption_selector to use from each input when generating captions. The name should be of the format "Caption Selector ", which denotes that the Nth Caption Selector will be used from each input. + * Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming. */ - CaptionSelectorName?: string; + CustomLanguageCode?: string; } export namespace CaptionDescription { @@ -1691,9 +1730,9 @@ export namespace CaptionDescription { */ export interface CaptionDescriptionPreset { /** - * Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming. + * Specify the language of this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text. */ - CustomLanguageCode?: string; + LanguageCode?: LanguageCode | string; /** * Specific settings required by destination type. Note that burnin_destination_settings are not available if the source of the caption data is Embedded or Teletext. @@ -1701,9 +1740,9 @@ export interface CaptionDescriptionPreset { DestinationSettings?: CaptionDestinationSettings; /** - * Specify the language of this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text. + * Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming. */ - LanguageCode?: LanguageCode | string; + CustomLanguageCode?: string; /** * Specify a label for this set of output captions. For example, "English", "Director commentary", or "track_2". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting. @@ -1722,14 +1761,14 @@ export namespace CaptionDescriptionPreset { */ export interface CmafAdditionalManifest { /** - * Specify a name modifier that the service adds to the name of this manifest to make it different from the file names of the other main manifests in the output group. For example, say that the default main manifest for your HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file name the service generates for this top-level manifest is film-name-no-premium.m3u8. For HLS output groups, specify a manifestNameModifier that is different from the nameModifier of the output. The service uses the output name modifier to create unique names for the individual variant manifests. + * Specify the outputs that you want this additional top-level manifest to reference. */ - ManifestNameModifier?: string; + SelectedOutputs?: string[]; /** - * Specify the outputs that you want this additional top-level manifest to reference. + * Specify a name modifier that the service adds to the name of this manifest to make it different from the file names of the other main manifests in the output group. For example, say that the default main manifest for your HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file name the service generates for this top-level manifest is film-name-no-premium.m3u8. For HLS output groups, specify a manifestNameModifier that is different from the nameModifier of the output. The service uses the output name modifier to create unique names for the individual variant manifests. */ - SelectedOutputs?: string[]; + ManifestNameModifier?: string; } export namespace CmafAdditionalManifest { @@ -1743,14 +1782,14 @@ export namespace CmafAdditionalManifest { */ export interface DashAdditionalManifest { /** - * Specify a name modifier that the service adds to the name of this manifest to make it different from the file names of the other main manifests in the output group. For example, say that the default main manifest for your DASH group is film-name.mpd. If you enter "-no-premium" for this setting, then the file name the service generates for this top-level manifest is film-name-no-premium.mpd. + * Specify the outputs that you want this additional top-level manifest to reference. */ - ManifestNameModifier?: string; + SelectedOutputs?: string[]; /** - * Specify the outputs that you want this additional top-level manifest to reference. + * Specify a name modifier that the service adds to the name of this manifest to make it different from the file names of the other main manifests in the output group. For example, say that the default main manifest for your DASH group is film-name.mpd. If you enter "-no-premium" for this setting, then the file name the service generates for this top-level manifest is film-name-no-premium.mpd. */ - SelectedOutputs?: string[]; + ManifestNameModifier?: string; } export namespace DashAdditionalManifest { @@ -1780,14 +1819,14 @@ export namespace Endpoint { */ export interface HlsAdditionalManifest { /** - * Specify the outputs that you want this additional top-level manifest to reference. + * Specify a name modifier that the service adds to the name of this manifest to make it different from the file names of the other main manifests in the output group. For example, say that the default main manifest for your HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file name the service generates for this top-level manifest is film-name-no-premium.m3u8. For HLS output groups, specify a manifestNameModifier that is different from the nameModifier of the output. The service uses the output name modifier to create unique names for the individual variant manifests. */ - SelectedOutputs?: string[]; + ManifestNameModifier?: string; /** - * Specify a name modifier that the service adds to the name of this manifest to make it different from the file names of the other main manifests in the output group. For example, say that the default main manifest for your HLS group is film-name.m3u8. If you enter "-no-premium" for this setting, then the file name the service generates for this top-level manifest is film-name-no-premium.m3u8. For HLS output groups, specify a manifestNameModifier that is different from the nameModifier of the output. The service uses the output name modifier to create unique names for the individual variant manifests. + * Specify the outputs that you want this additional top-level manifest to reference. */ - ManifestNameModifier?: string; + SelectedOutputs?: string[]; } export namespace HlsAdditionalManifest { @@ -1816,14 +1855,14 @@ export interface HlsCaptionLanguageMapping { CaptionChannel?: number; /** - * Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php. + * Caption language description. */ - LanguageCode?: LanguageCode | string; + LanguageDescription?: string; /** - * Caption language description. + * Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php. */ - LanguageDescription?: string; + LanguageCode?: LanguageCode | string; } export namespace HlsCaptionLanguageMapping { @@ -1836,11 +1875,6 @@ export namespace HlsCaptionLanguageMapping { * Optional. Configuration for a destination queue to which the job can hop once a customer-defined minimum wait time has passed. */ export interface HopDestination { - /** - * Optional. When you set up a job to use queue hopping, you can specify a different relative priority for the job in the destination queue. If you don't specify, the relative priority will remain the same as in the previous queue. - */ - Priority?: number; - /** * Required for setting up a job to use queue hopping. Minimum wait time in minutes until the job can hop to the destination queue. Valid range is 1 to 1440 minutes, inclusive. */ @@ -1850,6 +1884,11 @@ export interface HopDestination { * Optional unless the job is submitted on the default queue. When you set up a job to use queue hopping, you can specify a destination queue. This queue cannot be the original queue to which the job is submitted. If the original queue isn't the default queue and you don't specify the destination queue, the job will move to the default queue. */ Queue?: string; + + /** + * Optional. When you set up a job to use queue hopping, you can specify a different relative priority for the job in the destination queue. If you don't specify, the relative priority will remain the same as in the previous queue. + */ + Priority?: number; } export namespace HopDestination { @@ -1916,49 +1955,49 @@ export interface AudioSelector { LanguageCode?: LanguageCode | string; /** - * Selects a specific PID from within an audio source (e.g. 257 selects PID 0x101). + * Specifies a time delta in milliseconds to offset the audio from the input video. */ - Pids?: number[]; + Offset?: number; /** - * Identify a track from the input audio to include in this selector by entering the track index number. To include several tracks in a single audio selector, specify multiple tracks as follows. Using the console, enter a comma-separated list. For examle, type "1,2,3" to include tracks 1 through 3. Specifying directly in your JSON job file, provide the track numbers in an array. For example, "tracks": [1,2,3]. + * Enable this setting on one audio selector to set it as the default for the job. The service uses this default for outputs where it can't find the specified input audio. If you don't set a default, those outputs have no audio. */ - Tracks?: number[]; + DefaultSelection?: AudioDefaultSelection | string; /** - * Selects a specific language code from within an audio source, using the ISO 639-2 or ISO 639-3 three-letter language code + * Selects a specific PID from within an audio source (e.g. 257 selects PID 0x101). */ - CustomLanguageCode?: string; + Pids?: number[]; /** - * Use this setting for input streams that contain Dolby E, to have the service extract specific program data from the track. To select multiple programs, create multiple selectors with the same Track and different Program numbers. In the console, this setting is visible when you set Selector type to Track. Choose the program number from the dropdown list. If you are sending a JSON file, provide the program ID, which is part of the audio metadata. If your input file has incorrect metadata, you can choose All channels instead of a program number to have the service ignore the program IDs and include all the programs in the track. + * Identify a track from the input audio to include in this selector by entering the track index number. To include several tracks in a single audio selector, specify multiple tracks as follows. Using the console, enter a comma-separated list. For examle, type "1,2,3" to include tracks 1 through 3. Specifying directly in your JSON job file, provide the track numbers in an array. For example, "tracks": [1,2,3]. */ - ProgramSelection?: number; + Tracks?: number[]; /** - * Specifies a time delta in milliseconds to offset the audio from the input video. + * Use these settings to reorder the audio channels of one input to match those of another input. This allows you to combine the two files into a single output, one after the other. */ - Offset?: number; + RemixSettings?: RemixSettings; /** - * Enable this setting on one audio selector to set it as the default for the job. The service uses this default for outputs where it can't find the specified input audio. If you don't set a default, those outputs have no audio. + * Specifies the type of the audio selector. */ - DefaultSelection?: AudioDefaultSelection | string; + SelectorType?: AudioSelectorType | string; /** - * Specifies audio data from an external file source. + * Selects a specific language code from within an audio source, using the ISO 639-2 or ISO 639-3 three-letter language code */ - ExternalAudioFileInput?: string; + CustomLanguageCode?: string; /** - * Use these settings to reorder the audio channels of one input to match those of another input. This allows you to combine the two files into a single output, one after the other. + * Specifies audio data from an external file source. */ - RemixSettings?: RemixSettings; + ExternalAudioFileInput?: string; /** - * Specifies the type of the audio selector. + * Use this setting for input streams that contain Dolby E, to have the service extract specific program data from the track. To select multiple programs, create multiple selectors with the same Track and different Program numbers. In the console, this setting is visible when you set Selector type to Track. Choose the program number from the dropdown list. If you are sending a JSON file, provide the program ID, which is part of the audio metadata. If your input file has incorrect metadata, you can choose All channels instead of a program number to have the service ignore the program IDs and include all the programs in the track. */ - SelectorType?: AudioSelectorType | string; + ProgramSelection?: number; } export namespace AudioSelector { @@ -1981,6 +2020,11 @@ export enum AncillaryTerminateCaptions { * Settings for ancillary captions source. */ export interface AncillarySourceSettings { + /** + * By default, the service terminates any unterminated captions at the end of each input. If you want the caption to continue onto your next input, disable this setting. + */ + TerminateCaptions?: AncillaryTerminateCaptions | string; + /** * Specifies the 608 channel number in the ancillary data track from which to extract captions. Unused for passthrough. */ @@ -1990,11 +2034,6 @@ export interface AncillarySourceSettings { * Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708. */ Convert608To708?: AncillaryConvert608To708 | string; - - /** - * By default, the service terminates any unterminated captions at the end of each input. If you want the caption to continue onto your next input, disable this setting. - */ - TerminateCaptions?: AncillaryTerminateCaptions | string; } export namespace AncillarySourceSettings { @@ -2091,9 +2130,9 @@ export namespace CaptionSourceFramerate { */ export interface FileSourceSettings { /** - * External caption file used for loading captions. Accepted file extensions are 'scc', 'ttml', 'dfxp', 'stl', 'srt', 'xml', and 'smi'. + * Ignore this setting unless your input captions format is SCC. To have the service compensate for differing frame rates between your input captions and input video, specify the frame rate of the captions file. Specify this value as a fraction, using the settings Framerate numerator (framerateNumerator) and Framerate denominator (framerateDenominator). For example, you might specify 24 / 1 for 24 fps, 25 / 1 for 25 fps, 24000 / 1001 for 23.976 fps, or 30000 / 1001 for 29.97 fps. */ - SourceFile?: string; + Framerate?: CaptionSourceFramerate; /** * Specifies a time delta in seconds to offset the captions from the source file. @@ -2101,14 +2140,14 @@ export interface FileSourceSettings { TimeDelta?: number; /** - * Ignore this setting unless your input captions format is SCC. To have the service compensate for differing frame rates between your input captions and input video, specify the frame rate of the captions file. Specify this value as a fraction, using the settings Framerate numerator (framerateNumerator) and Framerate denominator (framerateDenominator). For example, you might specify 24 / 1 for 24 fps, 25 / 1 for 25 fps, 24000 / 1001 for 23.976 fps, or 30000 / 1001 for 29.97 fps. + * Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708. */ - Framerate?: CaptionSourceFramerate; + Convert608To708?: FileSourceConvert608To708 | string; /** - * Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708. + * External caption file used for loading captions. Accepted file extensions are 'scc', 'ttml', 'dfxp', 'stl', 'srt', 'xml', and 'smi'. */ - Convert608To708?: FileSourceConvert608To708 | string; + SourceFile?: string; } export namespace FileSourceSettings { @@ -2169,19 +2208,14 @@ export namespace TrackSourceSettings { */ export interface CaptionSourceSettings { /** - * Settings specific to Teletext caption sources, including Page number. - */ - TeletextSourceSettings?: TeletextSourceSettings; - - /** - * If your input captions are SCC, SMI, SRT, STL, TTML, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings. + * DVB Sub Source Settings */ - FileSourceSettings?: FileSourceSettings; + DvbSubSourceSettings?: DvbSubSourceSettings; /** - * Settings specific to caption sources that are specified by track number. Currently, this is only IMSC captions in an IMF package. If your caption source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead of TrackSourceSettings. + * Settings for embedded captions Source */ - TrackSourceSettings?: TrackSourceSettings; + EmbeddedSourceSettings?: EmbeddedSourceSettings; /** * Use Source (SourceType) to identify the format of your input captions. The service cannot auto-detect caption format. @@ -2194,14 +2228,19 @@ export interface CaptionSourceSettings { AncillarySourceSettings?: AncillarySourceSettings; /** - * DVB Sub Source Settings + * Settings specific to caption sources that are specified by track number. Currently, this is only IMSC captions in an IMF package. If your caption source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead of TrackSourceSettings. */ - DvbSubSourceSettings?: DvbSubSourceSettings; + TrackSourceSettings?: TrackSourceSettings; /** - * Settings for embedded captions Source + * If your input captions are SCC, SMI, SRT, STL, TTML, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings. */ - EmbeddedSourceSettings?: EmbeddedSourceSettings; + FileSourceSettings?: FileSourceSettings; + + /** + * Settings specific to Teletext caption sources, including Page number. + */ + TeletextSourceSettings?: TeletextSourceSettings; } export namespace CaptionSourceSettings { @@ -2214,11 +2253,6 @@ export namespace CaptionSourceSettings { * Set up captions in your outputs by first selecting them from your input here. */ export interface CaptionSelector { - /** - * The specific language to extract from source. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions. - */ - LanguageCode?: LanguageCode | string; - /** * The specific language to extract from source, using the ISO 639-2 or ISO 639-3 three-letter language code. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions. */ @@ -2228,6 +2262,11 @@ export interface CaptionSelector { * If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml file, specify the URI of the input captions source file. If your input captions are IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings. */ SourceSettings?: CaptionSourceSettings; + + /** + * The specific language to extract from source. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions. + */ + LanguageCode?: LanguageCode | string; } export namespace CaptionSelector { @@ -2241,24 +2280,24 @@ export namespace CaptionSelector { */ export interface Rectangle { /** - * The distance, in pixels, between the rectangle and the top edge of the video frame. Specify only even numbers. + * The distance, in pixels, between the rectangle and the left edge of the video frame. Specify only even numbers. */ - Y?: number; + X?: number; /** - * The distance, in pixels, between the rectangle and the left edge of the video frame. Specify only even numbers. + * Width of rectangle in pixels. Specify only even numbers. */ - X?: number; + Width?: number; /** - * Height of rectangle in pixels. Specify only even numbers. + * The distance, in pixels, between the rectangle and the top edge of the video frame. Specify only even numbers. */ - Height?: number; + Y?: number; /** - * Width of rectangle in pixels. Specify only even numbers. + * Height of rectangle in pixels. Specify only even numbers. */ - Width?: number; + Height?: number; } export namespace Rectangle { @@ -2283,24 +2322,24 @@ export enum DecryptionMode { */ export interface InputDecryptionSettings { /** - * Specify the encryption mode that you used to encrypt your input files. + * Specify the initialization vector that you used when you encrypted your content before uploading it to Amazon S3. You can use a 16-byte initialization vector with any encryption mode. Or, you can use a 12-byte initialization vector with GCM or CTR. MediaConvert accepts only initialization vectors that are base64-encoded. */ - DecryptionMode?: DecryptionMode | string; + InitializationVector?: string; /** - * Warning! Don't provide your encryption key in plaintext. Your job settings could be intercepted, making your encrypted content vulnerable. Specify the encrypted version of the data key that you used to encrypt your content. The data key must be encrypted by AWS Key Management Service (KMS). The key can be 128, 192, or 256 bits. + * Specify the AWS Region for AWS Key Management Service (KMS) that you used to encrypt your data key, if that Region is different from the one you are using for AWS Elemental MediaConvert. */ - EncryptedDecryptionKey?: string; + KmsKeyRegion?: string; /** - * Specify the initialization vector that you used when you encrypted your content before uploading it to Amazon S3. You can use a 16-byte initialization vector with any encryption mode. Or, you can use a 12-byte initialization vector with GCM or CTR. MediaConvert accepts only initialization vectors that are base64-encoded. + * Warning! Don't provide your encryption key in plaintext. Your job settings could be intercepted, making your encrypted content vulnerable. Specify the encrypted version of the data key that you used to encrypt your content. The data key must be encrypted by AWS Key Management Service (KMS). The key can be 128, 192, or 256 bits. */ - InitializationVector?: string; + EncryptedDecryptionKey?: string; /** - * Specify the AWS Region for AWS Key Management Service (KMS) that you used to encrypt your data key, if that Region is different from the one you are using for AWS Elemental MediaConvert. + * Specify the encryption mode that you used to encrypt your input files. */ - KmsKeyRegion?: string; + DecryptionMode?: DecryptionMode | string; } export namespace InputDecryptionSettings { @@ -2324,36 +2363,21 @@ export enum InputFilterEnable { * Settings that specify how your still graphic overlay appears. */ export interface InsertableImage { - /** - * Specify the distance, in pixels, between the overlaid image and the top edge of the video frame. Required for any image overlay that you specify. - */ - ImageY?: number; - /** * Specify how overlapping inserted images appear. Images with higher values for Layer appear on top of images with lower values for Layer. */ Layer?: number; /** - * Specify the distance, in pixels, between the inserted image and the left edge of the video frame. Required for any image overlay that you specify. - */ - ImageX?: number; - - /** - * Use Opacity (Opacity) to specify how much of the underlying video shows through the inserted image. 0 is transparent and 100 is fully opaque. Default is 50. + * Specify the time, in milliseconds, for the image to remain on the output video. This duration includes fade-in time but not fade-out time. */ - Opacity?: number; + Duration?: number; /** * Specify the timecode of the frame that you want the overlay to first appear on. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF) format. Remember to take into account your timecode source settings. */ StartTime?: string; - /** - * Specify the length of time, in milliseconds, between the end of the time that you have specified for the image overlay Duration and when the overlaid image has faded to total transparency. If you don't specify a value for Fade-out, the image will disappear abruptly at the end of the inserted image duration. - */ - FadeOut?: number; - /** * Specify the length of time, in milliseconds, between the Start time that you specify for the image insertion and the time that the image appears at full opacity. Full opacity is the level that you specify for the opacity setting. If you don't specify a value for Fade-in, the image will appear abruptly at the overlay start time. */ @@ -2370,15 +2394,30 @@ export interface InsertableImage { Height?: number; /** - * Specify the time, in milliseconds, for the image to remain on the output video. This duration includes fade-in time but not fade-out time. + * Specify the distance, in pixels, between the inserted image and the left edge of the video frame. Required for any image overlay that you specify. */ - Duration?: number; + ImageX?: number; /** - * Specify the HTTP, HTTPS, or Amazon S3 location of the image that you want to overlay on the video. Use a PNG or TGA file. + * Use Opacity (Opacity) to specify how much of the underlying video shows through the inserted image. 0 is transparent and 100 is fully opaque. Default is 50. */ - ImageInserterInput?: string; -} + Opacity?: number; + + /** + * Specify the HTTP, HTTPS, or Amazon S3 location of the image that you want to overlay on the video. Use a PNG or TGA file. + */ + ImageInserterInput?: string; + + /** + * Specify the length of time, in milliseconds, between the end of the time that you have specified for the image overlay Duration and when the overlaid image has faded to total transparency. If you don't specify a value for Fade-out, the image will disappear abruptly at the end of the inserted image duration. + */ + FadeOut?: number; + + /** + * Specify the distance, in pixels, between the overlaid image and the top edge of the video frame. Required for any image overlay that you specify. + */ + ImageY?: number; +} export namespace InsertableImage { export const filterSensitiveLog = (obj: InsertableImage): any => ({ @@ -2423,6 +2462,11 @@ export namespace InputClipping { }); } +export enum InputScanType { + AUTO = "AUTO", + PSF = "PSF", +} + export enum InputPsiControl { IGNORE_PSI = "IGNORE_PSI", USE_PSI = "USE_PSI", @@ -2457,24 +2501,24 @@ export enum ColorSpaceUsage { */ export interface Hdr10Metadata { /** - * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. + * Nominal maximum mastering display luminance in units of of 0.0001 candelas per square meter. */ - WhitePointY?: number; + MaxLuminance?: number; /** * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. */ - RedPrimaryY?: number; + BluePrimaryX?: number; /** - * Maximum light level among all samples in the coded video sequence, in units of candelas per square meter. This setting doesn't have a default value; you must specify a value that is suitable for the content. + * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. */ - MaxContentLightLevel?: number; + BluePrimaryY?: number; /** - * Nominal minimum mastering display luminance in units of of 0.0001 candelas per square meter + * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. */ - MinLuminance?: number; + WhitePointY?: number; /** * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. @@ -2482,24 +2526,24 @@ export interface Hdr10Metadata { RedPrimaryX?: number; /** - * Nominal maximum mastering display luminance in units of of 0.0001 candelas per square meter. + * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. */ - MaxLuminance?: number; + WhitePointX?: number; /** - * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. + * Nominal minimum mastering display luminance in units of of 0.0001 candelas per square meter */ - WhitePointX?: number; + MinLuminance?: number; /** * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. */ - GreenPrimaryX?: number; + RedPrimaryY?: number; /** * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. */ - BluePrimaryX?: number; + GreenPrimaryY?: number; /** * Maximum average light level of any frame in the coded video sequence, in units of candelas per square meter. This setting doesn't have a default value; you must specify a value that is suitable for the content. @@ -2509,12 +2553,12 @@ export interface Hdr10Metadata { /** * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. */ - GreenPrimaryY?: number; + GreenPrimaryX?: number; /** - * HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction. + * Maximum light level among all samples in the coded video sequence, in units of candelas per square meter. This setting doesn't have a default value; you must specify a value that is suitable for the content. */ - BluePrimaryY?: number; + MaxContentLightLevel?: number; } export namespace Hdr10Metadata { @@ -2536,19 +2580,19 @@ export enum InputRotate { */ export interface VideoSelector { /** - * Ignore this setting unless this input is a QuickTime animation with an alpha channel. Use this setting to create separate Key and Fill outputs. In each output, specify which part of the input MediaConvert uses. Leave this setting at the default value DISCARD to delete the alpha channel and preserve the video. Set it to REMAP_TO_LUMA to delete the video and map the alpha channel to the luma channel of your outputs. + * Use these settings to provide HDR 10 metadata that is missing or inaccurate in your input video. Appropriate values vary depending on the input video and must be provided by a color grader. The color grader generates these values during the HDR 10 mastering process. The valid range for each of these settings is 0 to 50,000. Each increment represents 0.00002 in CIE1931 color coordinate. Related settings - When you specify these values, you must also set Color space (ColorSpace) to HDR 10 (HDR10). To specify whether the the values you specify here take precedence over the values in the metadata of your input file, set Color space usage (ColorSpaceUsage). To specify whether color metadata is included in an output, set Color metadata (ColorMetadata). For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. */ - AlphaBehavior?: AlphaBehavior | string; + Hdr10Metadata?: Hdr10Metadata; /** - * If your input video has accurate color space metadata, or if you don't know about color space, leave this set to the default value Follow (FOLLOW). The service will automatically detect your input color space. If your input video has metadata indicating the wrong color space, specify the accurate color space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display Color Volume static metadata isn't present in your video stream, or if that metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. + * Selects a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. */ - ColorSpace?: ColorSpace | string; + ProgramNumber?: number; /** - * Use these settings to provide HDR 10 metadata that is missing or inaccurate in your input video. Appropriate values vary depending on the input video and must be provided by a color grader. The color grader generates these values during the HDR 10 mastering process. The valid range for each of these settings is 0 to 50,000. Each increment represents 0.00002 in CIE1931 color coordinate. Related settings - When you specify these values, you must also set Color space (ColorSpace) to HDR 10 (HDR10). To specify whether the the values you specify here take precedence over the values in the metadata of your input file, set Color space usage (ColorSpaceUsage). To specify whether color metadata is included in an output, set Color metadata (ColorMetadata). For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. + * Ignore this setting unless this input is a QuickTime animation with an alpha channel. Use this setting to create separate Key and Fill outputs. In each output, specify which part of the input MediaConvert uses. Leave this setting at the default value DISCARD to delete the alpha channel and preserve the video. Set it to REMAP_TO_LUMA to delete the video and map the alpha channel to the luma channel of your outputs. */ - Hdr10Metadata?: Hdr10Metadata; + AlphaBehavior?: AlphaBehavior | string; /** * There are two sources for color metadata, the input file and the job input settings Color space (ColorSpace) and HDR master display information settings(Hdr10Metadata). The Color space usage setting determines which takes precedence. Choose Force (FORCE) to use color metadata from the input job settings. If you don't specify values for those settings, the service defaults to using metadata from your input. FALLBACK - Choose Fallback (FALLBACK) to use color metadata from the source when it is present. If there's no color metadata in your input file, the service defaults to using values you specify in the input settings. @@ -2556,14 +2600,14 @@ export interface VideoSelector { ColorSpaceUsage?: ColorSpaceUsage | string; /** - * Use PID (Pid) to select specific video data from an input file. Specify this value as an integer; the system automatically converts it to the hexidecimal value. For example, 257 selects PID 0x101. A PID, or packet identifier, is an identifier for a set of data in an MPEG-2 transport stream container. + * If your input video has accurate color space metadata, or if you don't know about color space, leave this set to the default value Follow (FOLLOW). The service will automatically detect your input color space. If your input video has metadata indicating the wrong color space, specify the accurate color space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display Color Volume static metadata isn't present in your video stream, or if that metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. */ - Pid?: number; + ColorSpace?: ColorSpace | string; /** - * Selects a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. + * Use PID (Pid) to select specific video data from an input file. Specify this value as an integer; the system automatically converts it to the hexidecimal value. For example, 257 selects PID 0x101. A PID, or packet identifier, is an identifier for a set of data in an MPEG-2 transport stream container. */ - ProgramNumber?: number; + Pid?: number; /** * Use Rotate (InputRotate) to specify how the service rotates your video. You can choose automatic rotation or specify a rotation. You can specify a clockwise rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or .mp4 and your input has rotation metadata, you can choose Automatic to have the service rotate your video according to the rotation specified in the metadata. The rotation must be within one degree of 90, 180, or 270 degrees. If the rotation metadata specifies any other rotation, the service will default to no rotation. By default, the service does no rotation, even if your input video has rotation metadata. The service doesn't pass through rotation metadata. @@ -2582,59 +2626,59 @@ export namespace VideoSelector { */ export interface Input { /** - * Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video inputs. + * Use Program (programNumber) to select a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. Default is the first program within the transport stream. If the program you specify doesn't exist, the transcoding service will use this default. */ - DenoiseFilter?: InputDenoiseFilter | string; + ProgramNumber?: number; /** - * Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0. + * Use Audio selectors (AudioSelectors) to specify a track or set of tracks from the input that you will use in your outputs. You can use multiple Audio selectors per input. */ - FilterStrength?: number; + AudioSelectors?: { [key: string]: AudioSelector }; /** - * Use Cropping selection (crop) to specify the video area that the service will include in the output video frame. If you specify a value here, it will override any value that you specify in the output setting Cropping selection (crop). + * Use captions selectors to specify the captions data from your input that you use in your outputs. You can use up to 20 captions selectors per input. */ - Crop?: Rectangle; + CaptionSelectors?: { [key: string]: CaptionSelector }; /** - * Use Audio selectors (AudioSelectors) to specify a track or set of tracks from the input that you will use in your outputs. You can use multiple Audio selectors per input. + * Set PSI control (InputPsiControl) for transport stream inputs to specify which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio and video. * Use PSI - Scan only PSI data. */ - AudioSelectors?: { [key: string]: AudioSelector }; + PsiControl?: InputPsiControl | string; /** - * Use Program (programNumber) to select a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. Default is the first program within the transport stream. If the program you specify doesn't exist, the transcoding service will use this default. + * Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video inputs. */ - ProgramNumber?: number; + DenoiseFilter?: InputDenoiseFilter | string; /** - * Use captions selectors to specify the captions data from your input that you use in your outputs. You can use up to 20 captions selectors per input. + * Use this Timecode source setting, located under the input settings (InputTimecodeSource), to specify how the service counts input video frames. This input frame count affects only the behavior of features that apply to a single input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded (EMBEDDED) to use the timecodes in your input video. Choose Start at zero (ZEROBASED) to start the first frame at zero. Choose Specified start (SPECIFIEDSTART) to start the first frame at the timecode that you specify in the setting Start timecode (timecodeStart). If you don't specify a value for Timecode source, the service will use Embedded by default. For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode. */ - CaptionSelectors?: { [key: string]: CaptionSelector }; + TimecodeSource?: InputTimecodeSource | string; /** - * Set PSI control (InputPsiControl) for transport stream inputs to specify which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio and video. * Use PSI - Scan only PSI data. + * Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0. */ - PsiControl?: InputPsiControl | string; + FilterStrength?: number; /** - * Use Selection placement (position) to define the video area in your output frame. The area outside of the rectangle that you specify here is black. If you specify a value here, it will override any value that you specify in the output setting Selection placement (position). If you specify a value here, this will override any AFD values in your input, even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If you specify a value here, this will ignore anything that you specify for the setting Scaling Behavior (scalingBehavior). + * Specifies set of audio selectors within an input to combine. An input may have multiple audio selector groups. See "Audio Selector Group":#inputs-audio_selector_group for more information. */ - Position?: Rectangle; + AudioSelectorGroups?: { [key: string]: AudioSelectorGroup }; /** - * Provide a list of any necessary supplemental IMPs. You need supplemental IMPs if the CPL that you're using for your input is in an incomplete IMP. Specify either the supplemental IMP directories with a trailing slash or the ASSETMAP.xml files. For example ["s3://bucket/ov/", "s3://bucket/vf2/ASSETMAP.xml"]. You don't need to specify the IMP that contains your input CPL, because the service automatically detects it. + * (InputClippings) contains sets of start and end times that together specify a portion of the input to be used in the outputs. If you provide only a start time, the clip will be the entire input from that point to the end. If you provide only an end time, it will be the entire input up to that point. When you specify more than one input clip, the transcoding service creates the job outputs by stringing the clips together in the order you specify them. */ - SupplementalImps?: string[]; + InputClippings?: InputClipping[]; /** - * Selector for video. + * Specify the timecode that you want the service to use for this input's initial frame. To use this setting, you must set the Timecode source setting, located under the input settings (InputTimecodeSource), to Specified start (SPECIFIEDSTART). For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode. */ - VideoSelector?: VideoSelector; + TimecodeStart?: string; /** - * Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. Default is disabled. Only manually controllable for MPEG2 and uncompressed video inputs. + * When you have a progressive segmented frame (PsF) input, use this setting to flag the input as PsF. MediaConvert doesn't automatically detect PsF. Therefore, flagging your input as PsF results in better preservation of video quality when you do deinterlacing and frame rate conversion. If you don't specify, the default value is Auto (AUTO). Auto is the correct setting for all inputs that are not PsF. Don't set this value to PsF when your input is interlaced. Doing so creates horizontal interlacing artifacts. */ - DeblockFilter?: InputDeblockFilter | string; + InputScanType?: InputScanType | string; /** * Enable the image inserter feature to include a graphic overlay on your video. Enable or disable this feature for each input individually. This setting is disabled by default. @@ -2642,39 +2686,44 @@ export interface Input { ImageInserter?: ImageInserter; /** - * (InputClippings) contains sets of start and end times that together specify a portion of the input to be used in the outputs. If you provide only a start time, the clip will be the entire input from that point to the end. If you provide only an end time, it will be the entire input up to that point. When you specify more than one input clip, the transcoding service creates the job outputs by stringing the clips together in the order you specify them. + * Specify the source file for your transcoding job. You can use multiple inputs in a single job. The service concatenates these inputs, in the order that you specify them in the job, to create the outputs. If your input format is IMF, specify your input by providing the path to your CPL. For example, "s3://bucket/vf/cpl.xml". If the CPL is in an incomplete IMP, make sure to use *Supplemental IMPs* (SupplementalImps) to specify any supplemental IMPs that contain assets referenced by the CPL. */ - InputClippings?: InputClipping[]; + FileInput?: string; + + /** + * Settings for decrypting any input files that you encrypt before you upload them to Amazon S3. MediaConvert can decrypt files only when you use AWS Key Management Service (KMS) to encrypt the data key that you use to encrypt your content. + */ + DecryptionSettings?: InputDecryptionSettings; /** - * Use Filter enable (InputFilterEnable) to specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The in put is filtered regardless of input type. + * Specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The input is filtered regardless of input type. */ FilterEnable?: InputFilterEnable | string; /** - * Specify the source file for your transcoding job. You can use multiple inputs in a single job. The service concatenates these inputs, in the order that you specify them in the job, to create the outputs. If your input format is IMF, specify your input by providing the path to your CPL. For example, "s3://bucket/vf/cpl.xml". If the CPL is in an incomplete IMP, make sure to use *Supplemental IMPs* (SupplementalImps) to specify any supplemental IMPs that contain assets referenced by the CPL. + * Use Cropping selection (crop) to specify the video area that the service will include in the output video frame. If you specify a value here, it will override any value that you specify in the output setting Cropping selection (crop). */ - FileInput?: string; + Crop?: Rectangle; /** - * Settings for decrypting any input files that you encrypt before you upload them to Amazon S3. MediaConvert can decrypt files only when you use AWS Key Management Service (KMS) to encrypt the data key that you use to encrypt your content. + * Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. Default is disabled. Only manually controllable for MPEG2 and uncompressed video inputs. */ - DecryptionSettings?: InputDecryptionSettings; + DeblockFilter?: InputDeblockFilter | string; /** - * Specifies set of audio selectors within an input to combine. An input may have multiple audio selector groups. See "Audio Selector Group":#inputs-audio_selector_group for more information. + * Use Selection placement (position) to define the video area in your output frame. The area outside of the rectangle that you specify here is black. If you specify a value here, it will override any value that you specify in the output setting Selection placement (position). If you specify a value here, this will override any AFD values in your input, even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If you specify a value here, this will ignore anything that you specify for the setting Scaling Behavior (scalingBehavior). */ - AudioSelectorGroups?: { [key: string]: AudioSelectorGroup }; + Position?: Rectangle; /** - * Specify the timecode that you want the service to use for this input's initial frame. To use this setting, you must set the Timecode source setting, located under the input settings (InputTimecodeSource), to Specified start (SPECIFIEDSTART). For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode. + * Provide a list of any necessary supplemental IMPs. You need supplemental IMPs if the CPL that you're using for your input is in an incomplete IMP. Specify either the supplemental IMP directories with a trailing slash or the ASSETMAP.xml files. For example ["s3://bucket/ov/", "s3://bucket/vf2/ASSETMAP.xml"]. You don't need to specify the IMP that contains your input CPL, because the service automatically detects it. */ - TimecodeStart?: string; + SupplementalImps?: string[]; /** - * Use this Timecode source setting, located under the input settings (InputTimecodeSource), to specify how the service counts input video frames. This input frame count affects only the behavior of features that apply to a single input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded (EMBEDDED) to use the timecodes in your input video. Choose Start at zero (ZEROBASED) to start the first frame at zero. Choose Specified start (SPECIFIEDSTART) to start the first frame at the timecode that you specify in the setting Start timecode (timecodeStart). If you don't specify a value for Timecode source, the service will use Embedded by default. For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode. + * Selector for video. */ - TimecodeSource?: InputTimecodeSource | string; + VideoSelector?: VideoSelector; } export namespace Input { @@ -2688,9 +2737,14 @@ export namespace Input { */ export interface InputTemplate { /** - * Specify the timecode that you want the service to use for this input's initial frame. To use this setting, you must set the Timecode source setting, located under the input settings (InputTimecodeSource), to Specified start (SPECIFIEDSTART). For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode. + * Specifies set of audio selectors within an input to combine. An input may have multiple audio selector groups. See "Audio Selector Group":#inputs-audio_selector_group for more information. */ - TimecodeStart?: string; + AudioSelectorGroups?: { [key: string]: AudioSelectorGroup }; + + /** + * Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. Default is disabled. Only manually controllable for MPEG2 and uncompressed video inputs. + */ + DeblockFilter?: InputDeblockFilter | string; /** * (InputClippings) contains sets of start and end times that together specify a portion of the input to be used in the outputs. If you provide only a start time, the clip will be the entire input from that point to the end. If you provide only an end time, it will be the entire input up to that point. When you specify more than one input clip, the transcoding service creates the job outputs by stringing the clips together in the order you specify them. @@ -2698,9 +2752,14 @@ export interface InputTemplate { InputClippings?: InputClipping[]; /** - * Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. Default is disabled. Only manually controllable for MPEG2 and uncompressed video inputs. + * Specify the timecode that you want the service to use for this input's initial frame. To use this setting, you must set the Timecode source setting, located under the input settings (InputTimecodeSource), to Specified start (SPECIFIEDSTART). For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode. */ - DeblockFilter?: InputDeblockFilter | string; + TimecodeStart?: string; + + /** + * When you have a progressive segmented frame (PsF) input, use this setting to flag the input as PsF. MediaConvert doesn't automatically detect PsF. Therefore, flagging your input as PsF results in better preservation of video quality when you do deinterlacing and frame rate conversion. If you don't specify, the default value is Auto (AUTO). Auto is the correct setting for all inputs that are not PsF. Don't set this value to PsF when your input is interlaced. Doing so creates horizontal interlacing artifacts. + */ + InputScanType?: InputScanType | string; /** * Enable the image inserter feature to include a graphic overlay on your video. Enable or disable this feature for each input individually. This setting is disabled by default. @@ -2708,19 +2767,19 @@ export interface InputTemplate { ImageInserter?: ImageInserter; /** - * Use Cropping selection (crop) to specify the video area that the service will include in the output video frame. If you specify a value here, it will override any value that you specify in the output setting Cropping selection (crop). + * Use Program (programNumber) to select a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. Default is the first program within the transport stream. If the program you specify doesn't exist, the transcoding service will use this default. */ - Crop?: Rectangle; + ProgramNumber?: number; /** - * Selector for video. + * Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0. */ - VideoSelector?: VideoSelector; + FilterStrength?: number; /** - * Use Filter enable (InputFilterEnable) to specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The in put is filtered regardless of input type. + * Use Selection placement (position) to define the video area in your output frame. The area outside of the rectangle that you specify here is black. If you specify a value here, it will override any value that you specify in the output setting Selection placement (position). If you specify a value here, this will override any AFD values in your input, even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If you specify a value here, this will ignore anything that you specify for the setting Scaling Behavior (scalingBehavior). */ - FilterEnable?: InputFilterEnable | string; + Position?: Rectangle; /** * Set PSI control (InputPsiControl) for transport stream inputs to specify which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio and video. * Use PSI - Scan only PSI data. @@ -2728,9 +2787,9 @@ export interface InputTemplate { PsiControl?: InputPsiControl | string; /** - * Use Program (programNumber) to select a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. Default is the first program within the transport stream. If the program you specify doesn't exist, the transcoding service will use this default. + * Use this Timecode source setting, located under the input settings (InputTimecodeSource), to specify how the service counts input video frames. This input frame count affects only the behavior of features that apply to a single input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded (EMBEDDED) to use the timecodes in your input video. Choose Start at zero (ZEROBASED) to start the first frame at zero. Choose Specified start (SPECIFIEDSTART) to start the first frame at the timecode that you specify in the setting Start timecode (timecodeStart). If you don't specify a value for Timecode source, the service will use Embedded by default. For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode. */ - ProgramNumber?: number; + TimecodeSource?: InputTimecodeSource | string; /** * Use Audio selectors (AudioSelectors) to specify a track or set of tracks from the input that you will use in your outputs. You can use multiple Audio selectors per input. @@ -2743,9 +2802,9 @@ export interface InputTemplate { CaptionSelectors?: { [key: string]: CaptionSelector }; /** - * Use Selection placement (position) to define the video area in your output frame. The area outside of the rectangle that you specify here is black. If you specify a value here, it will override any value that you specify in the output setting Selection placement (position). If you specify a value here, this will override any AFD values in your input, even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If you specify a value here, this will ignore anything that you specify for the setting Scaling Behavior (scalingBehavior). + * Selector for video. */ - Position?: Rectangle; + VideoSelector?: VideoSelector; /** * Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video inputs. @@ -2753,19 +2812,14 @@ export interface InputTemplate { DenoiseFilter?: InputDenoiseFilter | string; /** - * Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0. - */ - FilterStrength?: number; - - /** - * Use this Timecode source setting, located under the input settings (InputTimecodeSource), to specify how the service counts input video frames. This input frame count affects only the behavior of features that apply to a single input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded (EMBEDDED) to use the timecodes in your input video. Choose Start at zero (ZEROBASED) to start the first frame at zero. Choose Specified start (SPECIFIEDSTART) to start the first frame at the timecode that you specify in the setting Start timecode (timecodeStart). If you don't specify a value for Timecode source, the service will use Embedded by default. For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode. + * Specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The input is filtered regardless of input type. */ - TimecodeSource?: InputTimecodeSource | string; + FilterEnable?: InputFilterEnable | string; /** - * Specifies set of audio selectors within an input to combine. An input may have multiple audio selector groups. See "Audio Selector Group":#inputs-audio_selector_group for more information. + * Use Cropping selection (crop) to specify the video area that the service will include in the output video frame. If you specify a value here, it will override any value that you specify in the output setting Cropping selection (crop). */ - AudioSelectorGroups?: { [key: string]: AudioSelectorGroup }; + Crop?: Rectangle; } export namespace InputTemplate { @@ -2863,14 +2917,14 @@ export namespace VideoDetail { */ export interface OutputDetail { /** - * Contains details about the output's video stream + * Duration in milliseconds */ - VideoDetails?: VideoDetail; + DurationInMs?: number; /** - * Duration in milliseconds + * Contains details about the output's video stream */ - DurationInMs?: number; + VideoDetails?: VideoDetail; } export namespace OutputDetail { @@ -2899,11 +2953,6 @@ export namespace OutputGroupDetail { * Description of the source and destination queues between which the job has moved, along with the timestamp of the move */ export interface QueueTransition { - /** - * The queue that the job was on after the transition. - */ - DestinationQueue?: string; - /** * The time, in Unix epoch format, that the job moved from the source queue to the destination queue. */ @@ -2913,6 +2962,11 @@ export interface QueueTransition { * The queue that the job was on before the transition. */ SourceQueue?: string; + + /** + * The queue that the job was on after the transition. + */ + DestinationQueue?: string; } export namespace QueueTransition { @@ -3000,14 +3054,14 @@ export namespace EsamSettings { */ export interface MotionImageInsertionFramerate { /** - * The top of the fraction that expresses your overlay frame rate. For example, if your frame rate is 24 fps, set this value to 24. + * The bottom of the fraction that expresses your overlay frame rate. For example, if your frame rate is 24 fps, set this value to 1. */ - FramerateNumerator?: number; + FramerateDenominator?: number; /** - * The bottom of the fraction that expresses your overlay frame rate. For example, if your frame rate is 24 fps, set this value to 1. + * The top of the fraction that expresses your overlay frame rate. For example, if your frame rate is 24 fps, set this value to 24. */ - FramerateDenominator?: number; + FramerateNumerator?: number; } export namespace MotionImageInsertionFramerate { @@ -3026,14 +3080,14 @@ export enum MotionImageInsertionMode { */ export interface MotionImageInsertionOffset { /** - * Set the distance, in pixels, between the overlay and the top edge of the video frame. + * Set the distance, in pixels, between the overlay and the left edge of the video frame. */ - ImageY?: number; + ImageX?: number; /** - * Set the distance, in pixels, between the overlay and the left edge of the video frame. + * Set the distance, in pixels, between the overlay and the top edge of the video frame. */ - ImageX?: number; + ImageY?: number; } export namespace MotionImageInsertionOffset { @@ -3052,9 +3106,9 @@ export enum MotionImagePlayback { */ export interface MotionImageInserter { /** - * Specify whether your motion graphic overlay repeats on a loop or plays only once. + * Specify the .mov file or series of .png files that you want to overlay on your video. For .png files, provide the file name of the first file in the series. Make sure that the names of the .png files end with sequential numbers that specify the order that they are played in. For example, overlay_000.png, overlay_001.png, overlay_002.png, and so on. The sequence must start at zero, and each image file name must have the same number of digits. Pad your initial file names with enough zeros to complete the sequence. For example, if the first image is overlay_0.png, there can be only 10 images in the sequence, with the last image being overlay_9.png. But if the first image is overlay_00.png, there can be 100 images in the sequence. */ - Playback?: MotionImagePlayback | string; + Input?: string; /** * Use Offset to specify the placement of your motion graphic overlay on the video frame. Specify in pixels, from the upper-left corner of the frame. If you don't specify an offset, the service scales your overlay to the full size of the frame. Otherwise, the service inserts the overlay at its native resolution and scales the size up or down with any video scaling. @@ -3062,24 +3116,24 @@ export interface MotionImageInserter { Offset?: MotionImageInsertionOffset; /** - * Specify the .mov file or series of .png files that you want to overlay on your video. For .png files, provide the file name of the first file in the series. Make sure that the names of the .png files end with sequential numbers that specify the order that they are played in. For example, overlay_000.png, overlay_001.png, overlay_002.png, and so on. The sequence must start at zero, and each image file name must have the same number of digits. Pad your initial file names with enough zeros to complete the sequence. For example, if the first image is overlay_0.png, there can be only 10 images in the sequence, with the last image being overlay_9.png. But if the first image is overlay_00.png, there can be 100 images in the sequence. + * Choose the type of motion graphic asset that you are providing for your overlay. You can choose either a .mov file or a series of .png files. */ - Input?: string; + InsertionMode?: MotionImageInsertionMode | string; /** - * Specify when the motion overlay begins. Use timecode format (HH:MM:SS:FF or HH:MM:SS;FF). Make sure that the timecode you provide here takes into account how you have set up your timecode configuration under both job settings and input settings. The simplest way to do that is to set both to start at 0. If you need to set up your job to follow timecodes embedded in your source that don't start at zero, make sure that you specify a start time that is after the first embedded timecode. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/setting-up-timecode.html Find job-wide and input timecode configuration settings in your JSON job settings specification at settings>timecodeConfig>source and settings>inputs>timecodeSource. + * If your motion graphic asset is a .mov file, keep this setting unspecified. If your motion graphic asset is a series of .png files, specify the frame rate of the overlay in frames per second, as a fraction. For example, specify 24 fps as 24/1. Make sure that the number of images in your series matches the frame rate and your intended overlay duration. For example, if you want a 30-second overlay at 30 fps, you should have 900 .png images. This overlay frame rate doesn't need to match the frame rate of the underlying video. */ - StartTime?: string; + Framerate?: MotionImageInsertionFramerate; /** - * Choose the type of motion graphic asset that you are providing for your overlay. You can choose either a .mov file or a series of .png files. + * Specify when the motion overlay begins. Use timecode format (HH:MM:SS:FF or HH:MM:SS;FF). Make sure that the timecode you provide here takes into account how you have set up your timecode configuration under both job settings and input settings. The simplest way to do that is to set both to start at 0. If you need to set up your job to follow timecodes embedded in your source that don't start at zero, make sure that you specify a start time that is after the first embedded timecode. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/setting-up-timecode.html Find job-wide and input timecode configuration settings in your JSON job settings specification at settings>timecodeConfig>source and settings>inputs>timecodeSource. */ - InsertionMode?: MotionImageInsertionMode | string; + StartTime?: string; /** - * If your motion graphic asset is a .mov file, keep this setting unspecified. If your motion graphic asset is a series of .png files, specify the frame rate of the overlay in frames per second, as a fraction. For example, specify 24 fps as 24/1. Make sure that the number of images in your series matches the frame rate and your intended overlay duration. For example, if you want a 30-second overlay at 30 fps, you should have 900 .png images. This overlay frame rate doesn't need to match the frame rate of the underlying video. + * Specify whether your motion graphic overlay repeats on a loop or plays only once. */ - Framerate?: MotionImageInsertionFramerate; + Playback?: MotionImagePlayback | string; } export namespace MotionImageInserter { @@ -3093,14 +3147,14 @@ export namespace MotionImageInserter { */ export interface NielsenConfiguration { /** - * Nielsen has discontinued the use of breakout code functionality. If you must include this property, set the value to zero. + * Use Distributor ID (DistributorID) to specify the distributor ID that is assigned to your organization by Neilsen. */ - BreakoutCode?: number; + DistributorId?: string; /** - * Use Distributor ID (DistributorID) to specify the distributor ID that is assigned to your organization by Neilsen. + * Nielsen has discontinued the use of breakout code functionality. If you must include this property, set the value to zero. */ - DistributorId?: string; + BreakoutCode?: number; } export namespace NielsenConfiguration { @@ -3109,12 +3163,94 @@ export namespace NielsenConfiguration { }); } -export enum CmafClientCache { - DISABLED = "DISABLED", - ENABLED = "ENABLED", +export enum NielsenActiveWatermarkProcessType { + CBET = "CBET", + NAES2_AND_NW = "NAES2_AND_NW", + NAES2_AND_NW_AND_CBET = "NAES2_AND_NW_AND_CBET", } -export enum CmafCodecSpecification { +export enum NielsenSourceWatermarkStatusType { + CLEAN = "CLEAN", + WATERMARKED = "WATERMARKED", +} + +export enum NielsenUniqueTicPerAudioTrackType { + RESERVE_UNIQUE_TICS_PER_TRACK = "RESERVE_UNIQUE_TICS_PER_TRACK", + SAME_TICS_PER_TRACK = "SAME_TICS_PER_TRACK", +} + +/** + * Ignore these settings unless you are using Nielsen non-linear watermarking. Specify the values that MediaConvert uses to generate and place Nielsen watermarks in your output audio. In addition to specifying these values, you also need to set up your cloud TIC server. These settings apply to every output in your job. The MediaConvert implementation is currently with the following Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0] + */ +export interface NielsenNonLinearWatermarkSettings { + /** + * Specify the endpoint for the TIC server that you have deployed and configured in the AWS Cloud. Required for all Nielsen non-linear watermarking. MediaConvert can't connect directly to a TIC server. Instead, you must use API Gateway to provide a RESTful interface between MediaConvert and a TIC server that you deploy in your AWS account. For more information on deploying a TIC server in your AWS account and the required API Gateway, contact Nielsen support. + */ + TicServerUrl?: string; + + /** + * Use the SID that Nielsen provides to you. This source ID should be unique to your Nielsen account but common to all of your output assets. Required for all Nielsen non-linear watermarking. This ID should be unique to your Nielsen account but common to all of your output assets. Required for all Nielsen non-linear watermarking. + */ + SourceId?: number; + + /** + * To create assets that have the same TIC values in each audio track, keep the default value Share TICs (SAME_TICS_PER_TRACK). To create assets that have unique TIC values for each audio track, choose Use unique TICs (RESERVE_UNIQUE_TICS_PER_TRACK). + */ + UniqueTicPerAudioTrack?: NielsenUniqueTicPerAudioTrackType | string; + + /** + * Use the CSID that Nielsen provides to you. This CBET source ID should be unique to your Nielsen account but common to all of your output assets that have CBET watermarking. Required when you choose a value for the setting Watermark types (ActiveWatermarkProcess) that includes CBET. + */ + CbetSourceId?: string; + + /** + * Optional. If this asset uses an episode ID with Nielsen, provide it here. + */ + EpisodeId?: string; + + /** + * Choose the type of Nielsen watermarks that you want in your outputs. When you choose NAES 2 and NW (NAES2_AND_NW), you must provide a value for the setting SID (sourceId). When you choose CBET (CBET), you must provide a value for the setting CSID (cbetSourceId). When you choose NAES 2, NW, and CBET (NAES2_AND_NW_AND_CBET), you must provide values for both of these settings. + */ + ActiveWatermarkProcess?: NielsenActiveWatermarkProcessType | string; + + /** + * Optional. Use this setting when you want the service to include an ADI file in the Nielsen metadata .zip file. To provide an ADI file, store it in Amazon S3 and provide a URL to it here. The URL should be in the following format: S3://bucket/path/ADI-file. For more information about the metadata .zip file, see the setting Metadata destination (metadataDestination). + */ + AdiFilename?: string; + + /** + * Required. Specify whether your source content already contains Nielsen non-linear watermarks. When you set this value to Watermarked (WATERMARKED), the service fails the job. Nielsen requires that you add non-linear watermarking to only clean content that doesn't already have non-linear Nielsen watermarks. + */ + SourceWatermarkStatus?: NielsenSourceWatermarkStatusType | string; + + /** + * Specify the Amazon S3 location where you want MediaConvert to save your Nielsen non-linear metadata .zip file. This Amazon S3 bucket must be in the same Region as the one where you do your MediaConvert transcoding. If you want to include an ADI file in this .zip file, use the setting ADI file (adiFilename) to specify it. MediaConvert delivers the Nielsen metadata .zip files only to your metadata destination Amazon S3 bucket. It doesn't deliver the .zip files to Nielsen. You are responsible for delivering the metadata .zip files to Nielsen. + */ + MetadataDestination?: string; + + /** + * Use the asset name that you provide to Nielsen for this asset. Required for all Nielsen non-linear watermarking. + */ + AssetName?: string; + + /** + * Use the asset ID that you provide to Nielsen to uniquely identify this asset. Required for all Nielsen non-linear watermarking. + */ + AssetId?: string; +} + +export namespace NielsenNonLinearWatermarkSettings { + export const filterSensitiveLog = (obj: NielsenNonLinearWatermarkSettings): any => ({ + ...obj, + }); +} + +export enum CmafClientCache { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +export enum CmafCodecSpecification { RFC_4281 = "RFC_4281", RFC_6381 = "RFC_6381", } @@ -3220,9 +3356,9 @@ export enum CmafInitializationVectorInManifest { */ export interface SpekeKeyProviderCmaf { /** - * Specify the DRM system ID that you want signaled in the HLS manifest that MediaConvert creates as part of this CMAF package. The HLS manifest can currently signal only one system ID. For more information, see https://dashif.org/identifiers/content_protection/. + * Specify the URL to the key server that your SPEKE-compliant DRM key provider uses to provide keys for encrypting your content. */ - HlsSignaledSystemIds?: string[]; + Url?: string; /** * Specify the resource ID that your SPEKE-compliant key provider uses to identify this content. @@ -3230,19 +3366,19 @@ export interface SpekeKeyProviderCmaf { ResourceId?: string; /** - * Specify the DRM system IDs that you want signaled in the DASH manifest that MediaConvert creates as part of this CMAF package. The DASH manifest can currently signal up to three system IDs. For more information, see https://dashif.org/identifiers/content_protection/. + * If you want your key provider to encrypt the content keys that it provides to MediaConvert, set up a certificate with a master key using AWS Certificate Manager. Specify the certificate's Amazon Resource Name (ARN) here. */ - DashSignaledSystemIds?: string[]; + CertificateArn?: string; /** - * Specify the URL to the key server that your SPEKE-compliant DRM key provider uses to provide keys for encrypting your content. + * Specify the DRM system IDs that you want signaled in the DASH manifest that MediaConvert creates as part of this CMAF package. The DASH manifest can currently signal up to three system IDs. For more information, see https://dashif.org/identifiers/content_protection/. */ - Url?: string; + DashSignaledSystemIds?: string[]; /** - * If you want your key provider to encrypt the content keys that it provides to MediaConvert, set up a certificate with a master key using AWS Certificate Manager. Specify the certificate's Amazon Resource Name (ARN) here. + * Specify the DRM system ID that you want signaled in the HLS manifest that MediaConvert creates as part of this CMAF package. The HLS manifest can currently signal only one system ID. For more information, see https://dashif.org/identifiers/content_protection/. */ - CertificateArn?: string; + HlsSignaledSystemIds?: string[]; } export namespace SpekeKeyProviderCmaf { @@ -3256,24 +3392,24 @@ export namespace SpekeKeyProviderCmaf { */ export interface StaticKeyProvider { /** - * Relates to DRM implementation. Use a 32-character hexidecimal string to specify Key Value (StaticKeyValue). + * Relates to DRM implementation. Either a single positive integer version value or a slash delimited list of version values (1/2/3). */ - StaticKeyValue?: string; + KeyFormatVersions?: string; /** - * Relates to DRM implementation. The location of the license server used for protecting content. + * Relates to DRM implementation. Sets the value of the KEYFORMAT attribute. Must be 'identity' or a reverse DNS string. May be omitted to indicate an implicit value of 'identity'. */ - Url?: string; + KeyFormat?: string; /** - * Relates to DRM implementation. Sets the value of the KEYFORMAT attribute. Must be 'identity' or a reverse DNS string. May be omitted to indicate an implicit value of 'identity'. + * Relates to DRM implementation. The location of the license server used for protecting content. */ - KeyFormat?: string; + Url?: string; /** - * Relates to DRM implementation. Either a single positive integer version value or a slash delimited list of version values (1/2/3). + * Relates to DRM implementation. Use a 32-character hexidecimal string to specify Key Value (StaticKeyValue). */ - KeyFormatVersions?: string; + StaticKeyValue?: string; } export namespace StaticKeyProvider { @@ -3292,34 +3428,34 @@ export enum CmafKeyProviderType { */ export interface CmafEncryptionSettings { /** - * Specify whether your DRM encryption key is static or from a key provider that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html. + * This is a 128-bit, 16-byte hex value represented by a 32-character text string. If this parameter is not set then the Initialization Vector will follow the segment number by default. */ - Type?: CmafKeyProviderType | string; + ConstantInitializationVector?: string; /** - * Use these settings to set up encryption with a static key provider. + * If your output group type is CMAF, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is HLS, DASH, or Microsoft Smooth, use the SpekeKeyProvider settings instead. */ - StaticKeyProvider?: StaticKeyProvider; + SpekeKeyProvider?: SpekeKeyProviderCmaf; /** - * Specify the encryption scheme that you want the service to use when encrypting your CMAF segments. Choose AES-CBC subsample (SAMPLE-AES) or AES_CTR (AES-CTR). + * When you use DRM with CMAF outputs, choose whether the service writes the 128-bit encryption initialization vector in the HLS and DASH manifests. */ - EncryptionMethod?: CmafEncryptionType | string; + InitializationVectorInManifest?: CmafInitializationVectorInManifest | string; /** - * This is a 128-bit, 16-byte hex value represented by a 32-character text string. If this parameter is not set then the Initialization Vector will follow the segment number by default. + * Use these settings to set up encryption with a static key provider. */ - ConstantInitializationVector?: string; + StaticKeyProvider?: StaticKeyProvider; /** - * If your output group type is CMAF, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is HLS, DASH, or Microsoft Smooth, use the SpekeKeyProvider settings instead. + * Specify whether your DRM encryption key is static or from a key provider that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html. */ - SpekeKeyProvider?: SpekeKeyProviderCmaf; + Type?: CmafKeyProviderType | string; /** - * When you use DRM with CMAF outputs, choose whether the service writes the 128-bit encryption initialization vector in the HLS and DASH manifests. + * Specify the encryption scheme that you want the service to use when encrypting your CMAF segments. Choose AES-CBC subsample (SAMPLE-AES) or AES_CTR (AES-CTR). */ - InitializationVectorInManifest?: CmafInitializationVectorInManifest | string; + EncryptionMethod?: CmafEncryptionType | string; } export namespace CmafEncryptionSettings { @@ -3373,14 +3509,14 @@ export enum CmafWriteSegmentTimelineInRepresentation { */ export interface CmafGroupSettings { /** - * When you enable Precise segment duration in DASH manifests (writeSegmentTimelineInRepresentation), your DASH manifest shows precise segment durations. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When this feature isn't enabled, the segment durations in your DASH manifest are approximate. The segment duration information appears in the duration attribute of the SegmentTemplate element. + * By default, the service creates one top-level .m3u8 HLS manifest and one top -level .mpd DASH manifest for each CMAF output group in your job. These default manifests reference every output in the output group. To create additional top-level manifests that reference a subset of the outputs in the output group, specify a list of them here. For each additional manifest that you specify, the service creates one HLS manifest and one DASH manifest. */ - WriteSegmentTimelineInRepresentation?: CmafWriteSegmentTimelineInRepresentation | string; + AdditionalManifests?: CmafAdditionalManifest[]; /** - * By default, the service creates one top-level .m3u8 HLS manifest and one top -level .mpd DASH manifest for each CMAF output group in your job. These default manifests reference every output in the output group. To create additional top-level manifests that reference a subset of the outputs in the output group, specify a list of them here. For each additional manifest that you specify, the service creates one HLS manifest and one DASH manifest. + * When set to GZIP, compresses HLS playlist. */ - AdditionalManifests?: CmafAdditionalManifest[]; + ManifestCompression?: CmafManifestCompression | string; /** * Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types. @@ -3388,54 +3524,54 @@ export interface CmafGroupSettings { FragmentLength?: number; /** - * Indicates whether the output manifest should use floating point values for segment duration. + * A partial URI prefix that will be put in the manifest file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file. */ - ManifestDurationFormat?: CmafManifestDurationFormat | string; + BaseUrl?: string; /** - * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest. + * When you enable Precise segment duration in DASH manifests (writeSegmentTimelineInRepresentation), your DASH manifest shows precise segment durations. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When this feature isn't enabled, the segment durations in your DASH manifest are approximate. The segment duration information appears in the duration attribute of the SegmentTemplate element. */ - StreamInfResolution?: CmafStreamInfResolution | string; + WriteSegmentTimelineInRepresentation?: CmafWriteSegmentTimelineInRepresentation | string; /** - * DRM settings. + * When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created. */ - Encryption?: CmafEncryptionSettings; + SegmentControl?: CmafSegmentControl | string; /** - * Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE). + * When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay. */ - MpdProfile?: CmafMpdProfile | string; + ClientCache?: CmafClientCache | string; /** - * Settings associated with the destination. Will vary based on the type of destination + * Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file. */ - DestinationSettings?: DestinationSettings; + Destination?: string; /** - * When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created. + * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation. */ - SegmentControl?: CmafSegmentControl | string; + CodecSpecification?: CmafCodecSpecification | string; /** - * When set to ENABLED, a DASH MPD manifest will be generated for this output. + * Use this setting to specify the length, in seconds, of each individual CMAF segment. This value applies to the whole package; that is, to every output in the output group. Note that segments end on the first keyframe after this number of seconds, so the actual segment length might be slightly longer. If you set Segment control (CmafSegmentControl) to single file, the service puts the content of each output in a single file that has metadata that marks these segments. If you set it to segmented files, the service creates multiple files for each output, each with the content of one segment. */ - WriteDashManifest?: CmafWriteDASHManifest | string; + SegmentLength?: number; /** - * When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay. + * Minimum time of initially buffered media that is needed to ensure smooth playout. */ - ClientCache?: CmafClientCache | string; + MinBufferTime?: number; /** - * When set to ENABLED, an Apple HLS manifest will be generated for this output. + * Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE). */ - WriteHlsManifest?: CmafWriteHLSManifest | string; + MpdProfile?: CmafMpdProfile | string; /** - * A partial URI prefix that will be put in the manifest file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file. + * Settings associated with the destination. Will vary based on the type of destination */ - BaseUrl?: string; + DestinationSettings?: DestinationSettings; /** * Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds. @@ -3443,29 +3579,29 @@ export interface CmafGroupSettings { MinFinalSegmentLength?: number; /** - * Use this setting to specify the length, in seconds, of each individual CMAF segment. This value applies to the whole package; that is, to every output in the output group. Note that segments end on the first keyframe after this number of seconds, so the actual segment length might be slightly longer. If you set Segment control (CmafSegmentControl) to single file, the service puts the content of each output in a single file that has metadata that marks these segments. If you set it to segmented files, the service creates multiple files for each output, each with the content of one segment. + * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest. */ - SegmentLength?: number; + StreamInfResolution?: CmafStreamInfResolution | string; /** - * Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file. + * When set to ENABLED, an Apple HLS manifest will be generated for this output. */ - Destination?: string; + WriteHlsManifest?: CmafWriteHLSManifest | string; /** - * When set to GZIP, compresses HLS playlist. + * DRM settings. */ - ManifestCompression?: CmafManifestCompression | string; + Encryption?: CmafEncryptionSettings; /** - * Minimum time of initially buffered media that is needed to ensure smooth playout. + * When set to ENABLED, a DASH MPD manifest will be generated for this output. */ - MinBufferTime?: number; + WriteDashManifest?: CmafWriteDASHManifest | string; /** - * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation. + * Indicates whether the output manifest should use floating point values for segment duration. */ - CodecSpecification?: CmafCodecSpecification | string; + ManifestDurationFormat?: CmafManifestDurationFormat | string; } export namespace CmafGroupSettings { @@ -3483,11 +3619,6 @@ export enum DashIsoPlaybackDeviceCompatibility { * If your output group type is HLS, DASH, or Microsoft Smooth, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is CMAF, use the SpekeKeyProviderCmaf settings instead. */ export interface SpekeKeyProvider { - /** - * Specify the resource ID that your SPEKE-compliant key provider uses to identify this content. - */ - ResourceId?: string; - /** * Relates to SPEKE implementation. DRM system identifiers. DASH output groups support a max of two system ids. Other group types support one system id. See * https://dashif.org/identifiers/content_protection/ for more details. @@ -3495,14 +3626,19 @@ export interface SpekeKeyProvider { SystemIds?: string[]; /** - * Specify the URL to the key server that your SPEKE-compliant DRM key provider uses to provide keys for encrypting your content. + * Specify the resource ID that your SPEKE-compliant key provider uses to identify this content. */ - Url?: string; + ResourceId?: string; /** * If you want your key provider to encrypt the content keys that it provides to MediaConvert, set up a certificate with a master key using AWS Certificate Manager. Specify the certificate's Amazon Resource Name (ARN) here. */ CertificateArn?: string; + + /** + * Specify the URL to the key server that your SPEKE-compliant DRM key provider uses to provide keys for encrypting your content. + */ + Url?: string; } export namespace SpekeKeyProvider { @@ -3557,14 +3693,19 @@ export enum DashIsoWriteSegmentTimelineInRepresentation { */ export interface DashIsoGroupSettings { /** - * When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created. + * Settings associated with the destination. Will vary based on the type of destination */ - SegmentControl?: DashIsoSegmentControl | string; + DestinationSettings?: DestinationSettings; /** - * Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file. + * If you get an HTTP error in the 400 range when you play back your DASH output, enable this setting and run your transcoding job again. When you enable this setting, the service writes precise segment durations in the DASH manifest. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When you don't enable this setting, the service writes approximate segment durations in your DASH manifest. */ - Destination?: string; + WriteSegmentTimelineInRepresentation?: DashIsoWriteSegmentTimelineInRepresentation | string; + + /** + * Minimum time of initially buffered media that is needed to ensure smooth playout. + */ + MinBufferTime?: number; /** * DRM settings. @@ -3572,24 +3713,24 @@ export interface DashIsoGroupSettings { Encryption?: DashIsoEncryptionSettings; /** - * A partial URI prefix that will be put in the manifest (.mpd) file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file. + * Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file. */ - BaseUrl?: string; + Destination?: string; /** - * Settings associated with the destination. Will vary based on the type of destination + * Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE). */ - DestinationSettings?: DestinationSettings; + MpdProfile?: DashIsoMpdProfile | string; /** - * If you get an HTTP error in the 400 range when you play back your DASH output, enable this setting and run your transcoding job again. When you enable this setting, the service writes precise segment durations in the DASH manifest. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When you don't enable this setting, the service writes approximate segment durations in your DASH manifest. + * A partial URI prefix that will be put in the manifest (.mpd) file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file. */ - WriteSegmentTimelineInRepresentation?: DashIsoWriteSegmentTimelineInRepresentation | string; + BaseUrl?: string; /** - * By default, the service creates one .mpd DASH manifest for each DASH ISO output group in your job. This default manifest references every output in the output group. To create additional DASH manifests that reference a subset of the outputs in the output group, specify a list of them here. + * Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types. */ - AdditionalManifests?: DashAdditionalManifest[]; + FragmentLength?: number; /** * Length of mpd segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer. When Emit Single File is checked, the segmentation is internal to a single output file and it does not cause the creation of many output files as in other output types. @@ -3597,24 +3738,19 @@ export interface DashIsoGroupSettings { SegmentLength?: number; /** - * Supports HbbTV specification as indicated - */ - HbbtvCompliance?: DashIsoHbbtvCompliance | string; - - /** - * Minimum time of initially buffered media that is needed to ensure smooth playout. + * When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created. */ - MinBufferTime?: number; + SegmentControl?: DashIsoSegmentControl | string; /** - * Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types. + * By default, the service creates one .mpd DASH manifest for each DASH ISO output group in your job. This default manifest references every output in the output group. To create additional DASH manifests that reference a subset of the outputs in the output group, specify a list of them here. */ - FragmentLength?: number; + AdditionalManifests?: DashAdditionalManifest[]; /** - * Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE). + * Supports HbbTV specification as indicated */ - MpdProfile?: DashIsoMpdProfile | string; + HbbtvCompliance?: DashIsoHbbtvCompliance | string; } export namespace DashIsoGroupSettings { @@ -3644,6 +3780,11 @@ export namespace FileGroupSettings { }); } +export enum HlsAudioOnlyHeader { + EXCLUDE = "EXCLUDE", + INCLUDE = "INCLUDE", +} + export enum HlsCaptionLanguageSetting { INSERT = "INSERT", NONE = "NONE", @@ -3689,21 +3830,11 @@ export enum HlsKeyProviderType { * Settings for HLS encryption */ export interface HlsEncryptionSettings { - /** - * Enable this setting to insert the EXT-X-SESSION-KEY element into the master playlist. This allows for offline Apple HLS FairPlay content protection. - */ - OfflineEncrypted?: HlsOfflineEncrypted | string; - /** * Encrypts the segments with the given encryption scheme. Leave blank to disable. Selecting 'Disabled' in the web interface also disables encryption. */ EncryptionMethod?: HlsEncryptionType | string; - /** - * If your output group type is HLS, DASH, or Microsoft Smooth, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is CMAF, use the SpekeKeyProviderCmaf settings instead. - */ - SpekeKeyProvider?: SpekeKeyProvider; - /** * Use these settings to set up encryption with a static key provider. */ @@ -3720,14 +3851,24 @@ export interface HlsEncryptionSettings { ConstantInitializationVector?: string; /** - * The Initialization Vector is a 128-bit number used in conjunction with the key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed in the manifest. Otherwise Initialization Vector is not in the manifest. + * If your output group type is HLS, DASH, or Microsoft Smooth, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is CMAF, use the SpekeKeyProviderCmaf settings instead. */ - InitializationVectorInManifest?: HlsInitializationVectorInManifest | string; -} + SpekeKeyProvider?: SpekeKeyProvider; -export namespace HlsEncryptionSettings { - export const filterSensitiveLog = (obj: HlsEncryptionSettings): any => ({ - ...obj, + /** + * Enable this setting to insert the EXT-X-SESSION-KEY element into the master playlist. This allows for offline Apple HLS FairPlay content protection. + */ + OfflineEncrypted?: HlsOfflineEncrypted | string; + + /** + * The Initialization Vector is a 128-bit number used in conjunction with the key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed in the manifest. Otherwise Initialization Vector is not in the manifest. + */ + InitializationVectorInManifest?: HlsInitializationVectorInManifest | string; +} + +export namespace HlsEncryptionSettings { + export const filterSensitiveLog = (obj: HlsEncryptionSettings): any => ({ + ...obj, }); } @@ -3772,29 +3913,34 @@ export enum HlsTimedMetadataId3Frame { */ export interface HlsGroupSettings { /** - * Indicates ID3 frame that has the timecode. + * Provides an extra millisecond delta offset to fine tune the timestamps. */ - TimedMetadataId3Frame?: HlsTimedMetadataId3Frame | string; + TimestampDeltaMilliseconds?: number; /** - * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestamp_offset. + * Settings associated with the destination. Will vary based on the type of destination */ - ProgramDateTime?: HlsProgramDateTime | string; + DestinationSettings?: DestinationSettings; /** - * Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds. + * Indicates whether segments should be placed in subdirectories. */ - MinFinalSegmentLength?: number; + DirectoryStructure?: HlsDirectoryStructure | string; /** - * Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. + * Choose one or more ad marker types to decorate your Apple HLS manifest. This setting does not determine whether SCTE-35 markers appear in the outputs themselves. */ - ProgramDateTimePeriod?: number; + AdMarkers?: (HlsAdMarkers | string)[]; /** - * When set to SINGLE_FILE, emits program as a single media resource (.ts) file, uses #EXT-X-BYTERANGE tags to index segment for playback. + * Indicates whether the output manifest should use floating point values for segment duration. */ - SegmentControl?: HlsSegmentControl | string; + ManifestDurationFormat?: HlsManifestDurationFormat | string; + + /** + * A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file. + */ + BaseUrl?: string; /** * Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. None: Include CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS line from the manifest. @@ -3807,94 +3953,94 @@ export interface HlsGroupSettings { CodecSpecification?: HlsCodecSpecification | string; /** - * Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file. + * When set to SINGLE_FILE, emits program as a single media resource (.ts) file, uses #EXT-X-BYTERANGE tags to index segment for playback. */ - Destination?: string; + SegmentControl?: HlsSegmentControl | string; /** - * When set to GZIP, compresses HLS playlist. + * Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file. */ - ManifestCompression?: HlsManifestCompression | string; + Destination?: string; /** - * Length of MPEG-2 Transport Stream segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer. + * When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay. */ - SegmentLength?: number; + ClientCache?: HlsClientCache | string; /** - * A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file. + * Language to be used on Caption outputs */ - BaseUrl?: string; + CaptionLanguageMappings?: HlsCaptionLanguageMapping[]; /** - * Choose one or more ad marker types to decorate your Apple HLS manifest. This setting does not determine whether SCTE-35 markers appear in the outputs themselves. + * Indicates ID3 frame that has the timecode. */ - AdMarkers?: (HlsAdMarkers | string)[]; + TimedMetadataId3Frame?: HlsTimedMetadataId3Frame | string; /** - * Provides an extra millisecond delta offset to fine tune the timestamps. + * Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds. */ - TimestampDeltaMilliseconds?: number; + MinFinalSegmentLength?: number; /** - * Settings associated with the destination. Will vary based on the type of destination + * Indicates whether the .m3u8 manifest file should be generated for this HLS output group. */ - DestinationSettings?: DestinationSettings; + OutputSelection?: HlsOutputSelection | string; /** - * When set, Minimum Segment Size is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed. + * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest. */ - MinSegmentLength?: number; + StreamInfResolution?: HlsStreamInfResolution | string; /** - * When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay. + * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestamp_offset. */ - ClientCache?: HlsClientCache | string; + ProgramDateTime?: HlsProgramDateTime | string; /** - * Indicates whether segments should be placed in subdirectories. + * DRM settings. */ - DirectoryStructure?: HlsDirectoryStructure | string; + Encryption?: HlsEncryptionSettings; /** - * Timed Metadata interval in seconds. + * When set to GZIP, compresses HLS playlist. */ - TimedMetadataId3Period?: number; + ManifestCompression?: HlsManifestCompression | string; /** - * Number of segments to write to a subdirectory before starting a new one. directoryStructure must be SINGLE_DIRECTORY for this setting to have an effect. + * By default, the service creates one top-level .m3u8 HLS manifest for each HLS output group in your job. This default manifest references every output in the output group. To create additional top-level manifests that reference a subset of the outputs in the output group, specify a list of them here. */ - SegmentsPerSubdirectory?: number; + AdditionalManifests?: HlsAdditionalManifest[]; /** - * Language to be used on Caption outputs + * Length of MPEG-2 Transport Stream segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer. */ - CaptionLanguageMappings?: HlsCaptionLanguageMapping[]; + SegmentLength?: number; /** - * By default, the service creates one top-level .m3u8 HLS manifest for each HLS output group in your job. This default manifest references every output in the output group. To create additional top-level manifests that reference a subset of the outputs in the output group, specify a list of them here. + * Number of segments to write to a subdirectory before starting a new one. directoryStructure must be SINGLE_DIRECTORY for this setting to have an effect. */ - AdditionalManifests?: HlsAdditionalManifest[]; + SegmentsPerSubdirectory?: number; /** - * DRM settings. + * Timed Metadata interval in seconds. */ - Encryption?: HlsEncryptionSettings; + TimedMetadataId3Period?: number; /** - * Indicates whether the .m3u8 manifest file should be generated for this HLS output group. + * When set, Minimum Segment Size is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed. */ - OutputSelection?: HlsOutputSelection | string; + MinSegmentLength?: number; /** - * Indicates whether the output manifest should use floating point values for segment duration. + * Ignore this setting unless you are using FairPlay DRM with Verimatrix and you encounter playback issues. Keep the default value, Include (INCLUDE), to output audio-only headers. Choose Exclude (EXCLUDE) to remove the audio-only headers from your audio segments. */ - ManifestDurationFormat?: HlsManifestDurationFormat | string; + AudioOnlyHeader?: HlsAudioOnlyHeader | string; /** - * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest. + * Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. */ - StreamInfResolution?: HlsStreamInfResolution | string; + ProgramDateTimePeriod?: number; } export namespace HlsGroupSettings { @@ -3955,19 +4101,14 @@ export enum MsSmoothManifestEncoding { */ export interface MsSmoothGroupSettings { /** - * Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in seconds. Fragment length must be compatible with GOP size and frame rate. - */ - FragmentLength?: number; - - /** - * If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify the value SpekeKeyProvider. + * Settings associated with the destination. Will vary based on the type of destination */ - Encryption?: MsSmoothEncryptionSettings; + DestinationSettings?: DestinationSettings; /** - * Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding format for the server and client manifest. Valid options are utf8 and utf16. + * Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in seconds. Fragment length must be compatible with GOP size and frame rate. */ - ManifestEncoding?: MsSmoothManifestEncoding | string; + FragmentLength?: number; /** * By default, the service creates one .ism Microsoft Smooth Streaming manifest for each Microsoft Smooth Streaming output group in your job. This default manifest references every output in the output group. To create additional manifests that reference a subset of the outputs in the output group, specify a list of them here. @@ -3975,9 +4116,9 @@ export interface MsSmoothGroupSettings { AdditionalManifests?: MsSmoothAdditionalManifest[]; /** - * Settings associated with the destination. Will vary based on the type of destination + * Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file. */ - DestinationSettings?: DestinationSettings; + Destination?: string; /** * COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across a Microsoft Smooth output group into a single audio stream. @@ -3985,9 +4126,14 @@ export interface MsSmoothGroupSettings { AudioDeduplication?: MsSmoothAudioDeduplication | string; /** - * Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file. + * Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding format for the server and client manifest. Valid options are utf8 and utf16. */ - Destination?: string; + ManifestEncoding?: MsSmoothManifestEncoding | string; + + /** + * If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify the value SpekeKeyProvider. + */ + Encryption?: MsSmoothEncryptionSettings; } export namespace MsSmoothGroupSettings { @@ -4014,15 +4160,20 @@ export interface OutputGroupSettings { Type?: OutputGroupType | string; /** - * Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to HLS_GROUP_SETTINGS. + * Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain a single video, audio, or caption output. */ - HlsGroupSettings?: HlsGroupSettings; + CmafGroupSettings?: CmafGroupSettings; /** * Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to FILE_GROUP_SETTINGS. */ FileGroupSettings?: FileGroupSettings; + /** + * Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to HLS_GROUP_SETTINGS. + */ + HlsGroupSettings?: HlsGroupSettings; + /** * Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to DASH_ISO_GROUP_SETTINGS. */ @@ -4032,11 +4183,6 @@ export interface OutputGroupSettings { * Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to MS_SMOOTH_GROUP_SETTINGS. */ MsSmoothGroupSettings?: MsSmoothGroupSettings; - - /** - * Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain a single video, audio, or caption output. - */ - CmafGroupSettings?: CmafGroupSettings; } export namespace OutputGroupSettings { @@ -4060,14 +4206,14 @@ export enum CmfcScte35Source { */ export interface CmfcSettings { /** - * Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want those SCTE-35 markers in this output. + * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). */ - Scte35Source?: CmfcScte35Source | string; + Scte35Esam?: CmfcScte35Esam | string; /** - * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). + * Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want those SCTE-35 markers in this output. */ - Scte35Esam?: CmfcScte35Esam | string; + Scte35Source?: CmfcScte35Source | string; } export namespace CmfcSettings { @@ -4125,6 +4271,11 @@ export enum M2tsBufferModel { * Inserts DVB Network Information Table (NIT) at the specified table repetition interval. */ export interface DvbNitSettings { + /** + * The number of milliseconds between instances of this table in the output transport stream. + */ + NitInterval?: number; + /** * The numeric value placed in the Network Information Table (NIT). */ @@ -4134,11 +4285,6 @@ export interface DvbNitSettings { * The network name text placed in the network_name_descriptor inside the Network Information Table. Maximum length is 256 characters. */ NetworkName?: string; - - /** - * The number of milliseconds between instances of this table in the output transport stream. - */ - NitInterval?: number; } export namespace DvbNitSettings { @@ -4159,14 +4305,14 @@ export enum OutputSdt { */ export interface DvbSdtSettings { /** - * The number of milliseconds between instances of this table in the output transport stream. + * The service name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters. */ - SdtInterval?: number; + ServiceName?: string; /** - * The service name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters. + * The service provider name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters. */ - ServiceName?: string; + ServiceProviderName?: string; /** * Selects method of inserting SDT information into output stream. "Follow input SDT" copies SDT information from input stream to output stream. "Follow input SDT if present" copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. Enter "SDT Manually" means user will enter the SDT information. "No SDT" means output stream will not contain SDT information. @@ -4174,9 +4320,9 @@ export interface DvbSdtSettings { OutputSdt?: OutputSdt | string; /** - * The service provider name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters. + * The number of milliseconds between instances of this table in the output transport stream. */ - ServiceProviderName?: string; + SdtInterval?: number; } export namespace DvbSdtSettings { @@ -4276,184 +4422,184 @@ export enum M2tsSegmentationStyle { */ export interface M2tsSettings { /** - * Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets. + * Specify the length, in seconds, of each segment. Required unless markers is set to _none_. */ - NullPacketBitrate?: number; + SegmentationTime?: number; /** - * Specify the number of milliseconds between instances of the program map table (PMT) in the output transport stream. + * The number of audio frames to insert for each PES packet. */ - PmtInterval?: number; + AudioFramesPerPes?: number; /** - * Specify the packet identifiers (PIDs) for DVB subtitle data included in this output. Specify multiple PIDs as a JSON array. Default is the range 460-479. + * Specify the packet identifier (PID) for the program clock reference (PCR) in this output. If you do not specify a value, the service will use the value for Video PID (VideoPid). */ - DvbSubPids?: number[]; + PcrPid?: number; /** - * When set to CBR, inserts null packets into transport stream to fill specified bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but the output will not be padded up to that bitrate. + * Specify the packet identifier (PID) of the private metadata stream. Default is 503. */ - RateMode?: M2tsRateMode | string; + PrivateMetadataPid?: number; /** - * Controls whether to include the ES Rate field in the PES header. + * Specify the packet identifier (PID) of the SCTE-35 stream in the transport stream. */ - EsRateInPes?: M2tsEsRateInPes | string; + Scte35Pid?: number; /** - * The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. When a segmentation style of "reset_cadence" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of of $segmentation_time seconds. When a segmentation style of "maintain_cadence" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentation_time seconds. Note that EBP lookahead is a slight exception to this rule. + * The length, in seconds, of each fragment. Only used with EBP markers. */ - SegmentationStyle?: M2tsSegmentationStyle | string; + FragmentTime?: number; /** - * Include this in your job settings to put SCTE-35 markers in your HLS and transport stream outputs at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). + * Inserts DVB Service Description Table (NIT) at the specified table repetition interval. */ - Scte35Esam?: M2tsScte35Esam; + DvbSdtSettings?: DvbSdtSettings; /** - * The number of milliseconds between instances of this table in the output transport stream. + * When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is "stretched" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate. */ - PatInterval?: number; + MinEbpInterval?: number; /** - * Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the transport stream. + * Selects between the DVB and ATSC buffer models for Dolby Digital audio. */ - MaxPcrInterval?: number; + AudioBufferModel?: M2tsAudioBufferModel | string; /** - * Specify the packet identifiers (PIDs) for any elementary audio streams you include in this output. Specify multiple PIDs as a JSON array. Default is the range 482-492. + * Keep the default value (DEFAULT) unless you know that your audio EBP markers are incorrectly appearing before your video EBP markers. To correct this problem, set this value to Force (FORCE). */ - AudioPids?: number[]; + ForceTsVideoEbpOrder?: M2tsForceTsVideoEbpOrder | string; /** - * Inserts DVB Network Information Table (NIT) at the specified table repetition interval. + * Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower latency, but low-memory devices may not be able to play back the stream without interruptions. */ - DvbNitSettings?: DvbNitSettings; + BufferModel?: M2tsBufferModel | string; /** - * Inserts DVB Service Description Table (NIT) at the specified table repetition interval. + * Specify the packet identifier (PID) of the elementary video stream in the transport stream. */ - DvbSdtSettings?: DvbSdtSettings; + VideoPid?: number; /** - * Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower latency, but low-memory devices may not be able to play back the stream without interruptions. + * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. */ - BufferModel?: M2tsBufferModel | string; + NielsenId3?: M2tsNielsenId3 | string; /** - * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM XML document-- Choose None (NONE). Also provide the ESAM XML as a string in the setting Signal processing notification XML (sccXml). Also enable ESAM SCTE-35 (include the property scte35Esam). + * When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. When set to VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY). */ - Scte35Source?: M2tsScte35Source | string; + EbpAudioInterval?: M2tsEbpAudioInterval | string; /** - * Specify the packet identifier (PID) of the private metadata stream. Default is 503. + * Specify the output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. Other common values are 3750000, 7500000, and 15000000. */ - PrivateMetadataPid?: number; + Bitrate?: number; /** - * Selects between the DVB and ATSC buffer models for Dolby Digital audio. + * Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the transport stream. */ - AudioBufferModel?: M2tsAudioBufferModel | string; + MaxPcrInterval?: number; /** - * Keep the default value (DEFAULT) unless you know that your audio EBP markers are incorrectly appearing before your video EBP markers. To correct this problem, set this value to Force (FORCE). + * Specify the packet identifier (PID) for DVB teletext data you include in this output. Default is 499. */ - ForceTsVideoEbpOrder?: M2tsForceTsVideoEbpOrder | string; + DvbTeletextPid?: number; /** - * When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This is effective only when the PCR PID is the same as the video or audio elementary stream. + * Selects which PIDs to place EBP markers on. They can either be placed only on the video PID, or on both the video PID and all audio PIDs. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY). */ - PcrControl?: M2tsPcrControl | string; + EbpPlacement?: M2tsEbpPlacement | string; /** - * Specify the packet identifier (PID) for timed metadata in this output. Default is 502. + * Specify the packet identifiers (PIDs) for DVB subtitle data included in this output. Specify multiple PIDs as a JSON array. Default is the range 460-479. */ - TimedMetadataPid?: number; + DvbSubPids?: number[]; /** - * Specify the packet identifier (PID) for the program clock reference (PCR) in this output. If you do not specify a value, the service will use the value for Video PID (VideoPid). + * Include this in your job settings to put SCTE-35 markers in your HLS and transport stream outputs at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). */ - PcrPid?: number; + Scte35Esam?: M2tsScte35Esam; /** - * Specify the length, in seconds, of each segment. Required unless markers is set to _none_. + * Specify the packet identifier (PID) for timed metadata in this output. Default is 502. */ - SegmentationTime?: number; + TimedMetadataPid?: number; /** - * Specify the packet identifier (PID) for DVB teletext data you include in this output. Default is 499. + * Specify the number of milliseconds between instances of the program map table (PMT) in the output transport stream. */ - DvbTeletextPid?: number; + PmtInterval?: number; /** - * The length, in seconds, of each fragment. Only used with EBP markers. + * Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets. */ - FragmentTime?: number; + NullPacketBitrate?: number; /** - * Specify the packet identifier (PID) for the program map table (PMT) itself. Default is 480. + * When set to CBR, inserts null packets into transport stream to fill specified bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but the output will not be padded up to that bitrate. */ - PmtPid?: number; + RateMode?: M2tsRateMode | string; /** - * Specify the output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. Other common values are 3750000, 7500000, and 15000000. + * When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This is effective only when the PCR PID is the same as the video or audio elementary stream. */ - Bitrate?: number; + PcrControl?: M2tsPcrControl | string; /** - * Inserts segmentation markers at each segmentation_time period. rai_segstart sets the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI bit and adds the current timecode in the private data bytes. psi_segstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format. + * Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. */ - SegmentationMarkers?: M2tsSegmentationMarkers | string; + DvbTdtSettings?: DvbTdtSettings; /** - * The number of audio frames to insert for each PES packet. + * Use Program number (programNumber) to specify the program number used in the program map table (PMT) for this output. Default is 1. Program numbers and program map tables are parts of MPEG-2 transport stream containers, used for organizing data. */ - AudioFramesPerPes?: number; + ProgramNumber?: number; /** - * When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. When set to VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY). + * Specify the packet identifiers (PIDs) for any elementary audio streams you include in this output. Specify multiple PIDs as a JSON array. Default is the range 482-492. */ - EbpAudioInterval?: M2tsEbpAudioInterval | string; + AudioPids?: number[]; /** - * Selects which PIDs to place EBP markers on. They can either be placed only on the video PID, or on both the video PID and all audio PIDs. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY). + * Specify the ID for the transport stream itself in the program map table for this output. Transport stream IDs and program map tables are parts of MPEG-2 transport stream containers, used for organizing data. */ - EbpPlacement?: M2tsEbpPlacement | string; + TransportStreamId?: number; /** - * Specify the ID for the transport stream itself in the program map table for this output. Transport stream IDs and program map tables are parts of MPEG-2 transport stream containers, used for organizing data. + * Inserts DVB Network Information Table (NIT) at the specified table repetition interval. */ - TransportStreamId?: number; + DvbNitSettings?: DvbNitSettings; /** - * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. + * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM XML document-- Choose None (NONE). Also provide the ESAM XML as a string in the setting Signal processing notification XML (sccXml). Also enable ESAM SCTE-35 (include the property scte35Esam). */ - NielsenId3?: M2tsNielsenId3 | string; + Scte35Source?: M2tsScte35Source | string; /** - * Specify the packet identifier (PID) of the elementary video stream in the transport stream. + * Specify the packet identifier (PID) for the program map table (PMT) itself. Default is 480. */ - VideoPid?: number; + PmtPid?: number; /** - * When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is "stretched" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate. + * The number of milliseconds between instances of this table in the output transport stream. */ - MinEbpInterval?: number; + PatInterval?: number; /** - * Specify the packet identifier (PID) of the SCTE-35 stream in the transport stream. + * Controls whether to include the ES Rate field in the PES header. */ - Scte35Pid?: number; + EsRateInPes?: M2tsEsRateInPes | string; /** - * Use Program number (programNumber) to specify the program number used in the program map table (PMT) for this output. Default is 1. Program numbers and program map tables are parts of MPEG-2 transport stream containers, used for organizing data. + * Inserts segmentation markers at each segmentation_time period. rai_segstart sets the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI bit and adds the current timecode in the private data bytes. psi_segstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format. */ - ProgramNumber?: number; + SegmentationMarkers?: M2tsSegmentationMarkers | string; /** - * Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. + * The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. When a segmentation style of "reset_cadence" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of of $segmentation_time seconds. When a segmentation style of "maintain_cadence" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentation_time seconds. Note that EBP lookahead is a slight exception to this rule. */ - DvbTdtSettings?: DvbTdtSettings; + SegmentationStyle?: M2tsSegmentationStyle | string; } export namespace M2tsSettings { @@ -4487,39 +4633,34 @@ export enum TimedMetadata { */ export interface M3u8Settings { /** - * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. - */ - PcrControl?: M3u8PcrControl | string; - - /** - * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. + * The number of milliseconds between instances of this table in the output transport stream. */ - PcrPid?: number; + PmtInterval?: number; /** - * The number of milliseconds between instances of this table in the output transport stream. + * The number of audio frames to insert for each PES packet. */ - PatInterval?: number; + AudioFramesPerPes?: number; /** - * The number of milliseconds between instances of this table in the output transport stream. + * Packet Identifier (PID) of the timed metadata stream in the transport stream. */ - PmtInterval?: number; + TimedMetadataPid?: number; /** - * The number of audio frames to insert for each PES packet. + * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. */ - AudioFramesPerPes?: number; + PcrControl?: M3u8PcrControl | string; /** - * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. + * The number of milliseconds between instances of this table in the output transport stream. */ - AudioPids?: number[]; + PatInterval?: number; /** - * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. + * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. */ - NielsenId3?: M3u8NielsenId3 | string; + PcrPid?: number; /** * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM XML document-- Choose None (NONE) if you don't want manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers (adMarkers) if you do want manifest conditioning. In both cases, also provide the ESAM XML as a string in the setting Signal processing notification XML (sccXml). @@ -4527,24 +4668,34 @@ export interface M3u8Settings { Scte35Source?: M3u8Scte35Source | string; /** - * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. + * The value of the transport stream ID field in the Program Map Table. */ - PmtPid?: number; + TransportStreamId?: number; /** * Packet Identifier (PID) of the elementary video stream in the transport stream. */ VideoPid?: number; + /** + * Applies only to HLS outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output. + */ + TimedMetadata?: TimedMetadata | string; + + /** + * The value of the program number field in the Program Map Table. + */ + ProgramNumber?: number; + /** * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. */ Scte35Pid?: number; /** - * Applies only to HLS outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output. + * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. */ - TimedMetadata?: TimedMetadata | string; + PmtPid?: number; /** * Packet Identifier (PID) of the private metadata stream in the transport stream. @@ -4552,19 +4703,14 @@ export interface M3u8Settings { PrivateMetadataPid?: number; /** - * The value of the transport stream ID field in the Program Map Table. - */ - TransportStreamId?: number; - - /** - * Packet Identifier (PID) of the timed metadata stream in the transport stream. + * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. */ - TimedMetadataPid?: number; + AudioPids?: number[]; /** - * The value of the program number field in the Program Map Table. + * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. */ - ProgramNumber?: number; + NielsenId3?: M3u8NielsenId3 | string; } export namespace M3u8Settings { @@ -4603,9 +4749,9 @@ export enum MovReference { */ export interface MovSettings { /** - * When set to XDCAM, writes MPEG2 video streams into the QuickTime file using XDCAM fourcc codes. This increases compatibility with Apple editors and players, but may decrease compatibility with other players. Only applicable when the video codec is MPEG2. + * When enabled, include 'clap' atom if appropriate for the video output settings. */ - Mpeg2FourCCControl?: MovMpeg2FourCCControl | string; + ClapAtom?: MovClapAtom | string; /** * Always keep the default value (SELF_CONTAINED) for this setting. @@ -4613,14 +4759,14 @@ export interface MovSettings { Reference?: MovReference | string; /** - * When enabled, include 'clap' atom if appropriate for the video output settings. + * To make this output compatible with Omenon, keep the default value, OMNEON. Unless you need Omneon compatibility, set this value to NONE. When you keep the default value, OMNEON, MediaConvert increases the length of the edit list atom. This might cause file rejections when a recipient of the output file doesn't expct this extra padding. */ - ClapAtom?: MovClapAtom | string; + PaddingControl?: MovPaddingControl | string; /** - * If set to OMNEON, inserts Omneon-compatible padding + * When set to XDCAM, writes MPEG2 video streams into the QuickTime file using XDCAM fourcc codes. This increases compatibility with Apple editors and players, but may decrease compatibility with other players. Only applicable when the video codec is MPEG2. */ - PaddingControl?: MovPaddingControl | string; + Mpeg2FourCCControl?: MovMpeg2FourCCControl | string; /** * When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools. @@ -4654,29 +4800,29 @@ export enum Mp4MoovPlacement { */ export interface Mp4Settings { /** - * Inserts a free-space box immediately after the moov box. + * Ignore this setting unless compliance to the CTTS box version specification matters in your workflow. Specify a value of 1 to set your CTTS box version to 1 and make your output compliant with the specification. When you specify a value of 1, you must also set CSLG atom (cslgAtom) to the value INCLUDE. Keep the default value 0 to set your CTTS box version to 0. This can provide backward compatibility for some players and packagers. */ - FreeSpaceBox?: Mp4FreeSpaceBox | string; + CttsVersion?: number; /** - * If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning of the archive as required for progressive downloading. Otherwise it is placed normally at the end. + * Inserts a free-space box immediately after the moov box. */ - MoovPlacement?: Mp4MoovPlacement | string; + FreeSpaceBox?: Mp4FreeSpaceBox | string; /** - * When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools. + * Overrides the "Major Brand" field in the output file. Usually not necessary to specify. */ - CslgAtom?: Mp4CslgAtom | string; + Mp4MajorBrand?: string; /** - * Overrides the "Major Brand" field in the output file. Usually not necessary to specify. + * If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning of the archive as required for progressive downloading. Otherwise it is placed normally at the end. */ - Mp4MajorBrand?: string; + MoovPlacement?: Mp4MoovPlacement | string; /** - * Ignore this setting unless compliance to the CTTS box version specification matters in your workflow. Specify a value of 1 to set your CTTS box version to 1 and make your output compliant with the specification. When you specify a value of 1, you must also set CSLG atom (cslgAtom) to the value INCLUDE. Keep the default value 0 to set your CTTS box version to 0. This can provide backward compatibility for some players and packagers. + * When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools. */ - CttsVersion?: number; + CslgAtom?: Mp4CslgAtom | string; } export namespace Mp4Settings { @@ -4710,14 +4856,14 @@ export interface MpdSettings { CaptionContainerType?: MpdCaptionContainerType | string; /** - * Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want those SCTE-35 markers in this output. + * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). */ - Scte35Source?: MpdScte35Source | string; + Scte35Esam?: MpdScte35Esam | string; /** - * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). + * Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want those SCTE-35 markers in this output. */ - Scte35Esam?: MpdScte35Esam | string; + Scte35Source?: MpdScte35Source | string; } export namespace MpdSettings { @@ -4731,6 +4877,12 @@ export enum MxfAfdSignaling { NO_COPY = "NO_COPY", } +export enum MxfProfile { + D_10 = "D_10", + OP1A = "OP1A", + XDCAM = "XDCAM", +} + /** * MXF settings */ @@ -4739,6 +4891,11 @@ export interface MxfSettings { * Optional. When you have AFD signaling set up in your output video stream, use this setting to choose whether to also include it in the MXF wrapper. Choose Don't copy (NO_COPY) to exclude AFD signaling from the MXF wrapper. Choose Copy from video stream (COPY_FROM_VIDEO) to copy the AFD values from the video stream for this output to the MXF wrapper. Regardless of which option you choose, the AFD values remain in the video stream. Related settings: To set up your output to include or exclude AFD values, see AfdSignaling, under VideoDescription. On the console, find AFD signaling under the output's video encoding settings. */ AfdSignaling?: MxfAfdSignaling | string; + + /** + * Specify the MXF profile, also called shim, for this output. When you choose Auto, MediaConvert chooses a profile based on the video codec and resolution. For a list of codecs supported with each MXF profile, see https://docs.aws.amazon.com/mediaconvert/latest/ug/codecs-supported-with-each-mxf-profile.html. For more information about the automatic selection behavior, see https://docs.aws.amazon.com/mediaconvert/latest/ug/default-automatic-selection-of-mxf-profiles.html. + */ + Profile?: MxfProfile | string; } export namespace MxfSettings { @@ -4752,24 +4909,24 @@ export namespace MxfSettings { */ export interface ContainerSettings { /** - * Settings for TS segments in HLS + * MPEG-2 TS container settings. These apply to outputs in a File output group when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). In these assets, data is organized by the program map table (PMT). Each transport stream program contains subsets of data, including audio, video, and metadata. Each of these subsets of data has a numerical label called a packet identifier (PID). Each transport stream program corresponds to one MediaConvert output. The PMT lists the types of data in a program along with their PID. Downstream systems and players use the program map table to look up the PID for each type of data it accesses and then uses the PIDs to locate specific data within the asset. */ - M3u8Settings?: M3u8Settings; + M2tsSettings?: M2tsSettings; /** - * MXF settings + * Container for this output. Some containers require a container settings object. If not specified, the default object will be created. */ - MxfSettings?: MxfSettings; + Container?: ContainerType | string; /** - * Settings for MP4 segments in CMAF + * Settings for F4v container */ - CmfcSettings?: CmfcSettings; + F4vSettings?: F4vSettings; /** - * Settings for F4v container + * MXF settings */ - F4vSettings?: F4vSettings; + MxfSettings?: MxfSettings; /** * Settings for MP4 segments in DASH @@ -4777,24 +4934,24 @@ export interface ContainerSettings { MpdSettings?: MpdSettings; /** - * Settings for MOV Container. + * Settings for MP4 container. You can create audio-only AAC outputs with this container. */ - MovSettings?: MovSettings; + Mp4Settings?: Mp4Settings; /** - * Container for this output. Some containers require a container settings object. If not specified, the default object will be created. + * Settings for TS segments in HLS */ - Container?: ContainerType | string; + M3u8Settings?: M3u8Settings; /** - * MPEG-2 TS container settings. These apply to outputs in a File output group when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). In these assets, data is organized by the program map table (PMT). Each transport stream program contains subsets of data, including audio, video, and metadata. Each of these subsets of data has a numerical label called a packet identifier (PID). Each transport stream program corresponds to one MediaConvert output. The PMT lists the types of data in a program along with their PID. Downstream systems and players use the program map table to look up the PID for each type of data it accesses and then uses the PIDs to locate specific data within the asset. + * Settings for MOV Container. */ - M2tsSettings?: M2tsSettings; + MovSettings?: MovSettings; /** - * Settings for MP4 container. You can create audio-only AAC outputs with this container. + * Settings for MP4 segments in CMAF */ - Mp4Settings?: Mp4Settings; + CmfcSettings?: CmfcSettings; } export namespace ContainerSettings { @@ -4824,11 +4981,6 @@ export enum HlsIFrameOnlyManifest { * Settings for HLS output groups */ export interface HlsSettings { - /** - * Use this setting to add an identifying string to the filename of each segment. The service adds this string between the name modifier and segment index number. You can use format identifiers in the string. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html - */ - SegmentModifier?: string; - /** * Specifies the group to which the audio Rendition belongs. */ @@ -4839,6 +4991,11 @@ export interface HlsSettings { */ IFrameOnlyManifest?: HlsIFrameOnlyManifest | string; + /** + * Use this setting to add an identifying string to the filename of each segment. The service adds this string between the name modifier and segment index number. You can use format identifiers in the string. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html + */ + SegmentModifier?: string; + /** * Four types of audio-only tracks are supported: Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO */ @@ -4904,6 +5061,7 @@ export enum Av1FramerateControl { export enum Av1FramerateConversionAlgorithm { DUPLICATE_DROP = "DUPLICATE_DROP", + FRAMEFORMER = "FRAMEFORMER", INTERPOLATE = "INTERPOLATE", } @@ -4942,34 +5100,34 @@ export enum Av1SpatialAdaptiveQuantization { */ export interface Av1Settings { /** - * Specify the GOP length (keyframe interval) in frames. With AV1, MediaConvert doesn't support GOP length in seconds. This value must be greater than zero and preferably equal to 1 + ((numberBFrames + 1) * x), where x is an integer value. + * Settings for quality-defined variable bitrate encoding with the AV1 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode. */ - GopSize?: number; + QvbrSettings?: Av1QvbrSettings; /** - * Optional. Specify how the transcoder performs framerate conversion. The default behavior is to use duplicate drop conversion. + * Specify the GOP length (keyframe interval) in frames. With AV1, MediaConvert doesn't support GOP length in seconds. This value must be greater than zero and preferably equal to 1 + ((numberBFrames + 1) * x), where x is an integer value. */ - FramerateConversionAlgorithm?: Av1FramerateConversionAlgorithm | string; + GopSize?: number; /** - * 'With AV1 outputs, for rate control mode, MediaConvert supports only quality-defined variable bitrate (QVBR). You can''t use CBR or VBR.' + * Specify the number of B-frames. With AV1, MediaConvert supports only 7 or 15. */ - RateControlMode?: Av1RateControlMode | string; + NumberBFramesBetweenReferenceFrames?: number; /** - * Settings for quality-defined variable bitrate encoding with the AV1 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode. + * Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR. */ - QvbrSettings?: Av1QvbrSettings; + MaxBitrate?: number; /** - * Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR. + * Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to 30 fps. For numerically complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence, use FrameFormer (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. */ - MaxBitrate?: number; + FramerateConversionAlgorithm?: Av1FramerateConversionAlgorithm | string; /** - * Adjust quantization within each frame based on spatial variation of content complexity. + * Specify the strength of any adaptive quantization filters that you enable. The value that you choose here applies to Spatial adaptive quantization (spatialAdaptiveQuantization). */ - SpatialAdaptiveQuantization?: Av1SpatialAdaptiveQuantization | string; + AdaptiveQuantization?: Av1AdaptiveQuantization | string; /** * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. @@ -4977,29 +5135,29 @@ export interface Av1Settings { FramerateDenominator?: number; /** - * Specify the number of B-frames. With AV1, MediaConvert supports only 7 or 15. + * Specify the number of slices per picture. This value must be 1, 2, 4, 8, 16, or 32. For progressive pictures, this value must be less than or equal to the number of macroblock rows. For interlaced pictures, this value must be less than or equal to half the number of macroblock rows. */ - NumberBFramesBetweenReferenceFrames?: number; + Slices?: number; /** - * Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. + * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. */ - AdaptiveQuantization?: Av1AdaptiveQuantization | string; + FramerateControl?: Av1FramerateControl | string; /** - * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. + * Keep the default value, Enabled (ENABLED), to adjust quantization within each frame based on spatial variation of content complexity. When you enable this feature, the encoder uses fewer bits on areas that can sustain more distortion with no noticeable visual degradation and uses more bits on areas where any small distortion will be noticeable. For example, complex textured blocks are encoded with fewer bits and smooth textured blocks are encoded with more bits. Enabling this feature will almost always improve your video quality. Note, though, that this feature doesn't take into account where the viewer's attention is likely to be. If viewers are likely to be focusing their attention on a part of the screen with a lot of complex texture, you might choose to disable this feature. Related setting: When you enable spatial adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization) depending on your content. For homogeneous content, such as cartoons and video games, set it to Low. For content with a wider variety of textures, set it to High or Higher. */ - FramerateNumerator?: number; + SpatialAdaptiveQuantization?: Av1SpatialAdaptiveQuantization | string; /** - * Specify the number of slices per picture. This value must be 1, 2, 4, 8, 16, or 32. For progressive pictures, this value must be less than or equal to the number of macroblock rows. For interlaced pictures, this value must be less than or equal to half the number of macroblock rows. + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ - Slices?: number; + FramerateNumerator?: number; /** - * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. + * 'With AV1 outputs, for rate control mode, MediaConvert supports only quality-defined variable bitrate (QVBR). You can''t use CBR or VBR.' */ - FramerateControl?: Av1FramerateControl | string; + RateControlMode?: Av1RateControlMode | string; } export namespace Av1Settings { @@ -5008,13 +5166,101 @@ export namespace Av1Settings { }); } -export enum VideoCodec { - AV1 = "AV1", - FRAME_CAPTURE = "FRAME_CAPTURE", - H_264 = "H_264", - H_265 = "H_265", +export enum AvcIntraClass { + CLASS_100 = "CLASS_100", + CLASS_200 = "CLASS_200", + CLASS_50 = "CLASS_50", +} + +export enum AvcIntraFramerateControl { + INITIALIZE_FROM_SOURCE = "INITIALIZE_FROM_SOURCE", + SPECIFIED = "SPECIFIED", +} + +export enum AvcIntraFramerateConversionAlgorithm { + DUPLICATE_DROP = "DUPLICATE_DROP", + FRAMEFORMER = "FRAMEFORMER", + INTERPOLATE = "INTERPOLATE", +} + +export enum AvcIntraInterlaceMode { + BOTTOM_FIELD = "BOTTOM_FIELD", + FOLLOW_BOTTOM_FIELD = "FOLLOW_BOTTOM_FIELD", + FOLLOW_TOP_FIELD = "FOLLOW_TOP_FIELD", + PROGRESSIVE = "PROGRESSIVE", + TOP_FIELD = "TOP_FIELD", +} + +export enum AvcIntraSlowPal { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +export enum AvcIntraTelecine { + HARD = "HARD", + NONE = "NONE", +} + +/** + * Required when you set your output video codec to AVC-Intra. For more information about the AVC-I settings, see the relevant specification. For detailed information about SD and HD in AVC-I, see https://ieeexplore.ieee.org/document/7290936. + */ +export interface AvcIntraSettings { + /** + * Specify the AVC-Intra class of your output. The AVC-Intra class selection determines the output video bit rate depending on the frame rate of the output. Outputs with higher class values have higher bitrates and improved image quality. + */ + AvcIntraClass?: AvcIntraClass | string; + + /** + * Choose the scan line type for the output. Keep the default value, Progressive (PROGRESSIVE) to create a progressive output, regardless of the scan type of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) to create an output that's interlaced with the same field polarity throughout. Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the source. For jobs that have multiple inputs, the output field polarity might change over the course of the output. Follow behavior depends on the input scan type. If the source is interlaced, the output will be interlaced with the same polarity as the source. If the source is progressive, the output will be interlaced with top field bottom field first, depending on which of the Follow options you choose. + */ + InterlaceMode?: AvcIntraInterlaceMode | string; + + /** + * Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to 30 fps. For numerically complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence, use FrameFormer (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. + */ + FramerateConversionAlgorithm?: AvcIntraFramerateConversionAlgorithm | string; + + /** + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. + */ + FramerateDenominator?: number; + + /** + * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. + */ + FramerateControl?: AvcIntraFramerateControl | string; + + /** + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. + */ + FramerateNumerator?: number; + + /** + * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 fps, and your output scan type is interlaced, you can optionally enable hard telecine (HARD) to create a smoother picture. When you keep the default value, None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without doing anything with the field polarity to create a smoother picture. + */ + Telecine?: AvcIntraTelecine | string; + + /** + * Ignore this setting unless your input frame rate is 23.976 or 24 frames per second (fps). Enable slow PAL to create a 25 fps output. When you enable slow PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio to keep it synchronized with the video. Note that enabling this setting will slightly reduce the duration of your video. Required settings: You must also set Framerate to 25. In your JSON job specification, set (framerateControl) to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. + */ + SlowPal?: AvcIntraSlowPal | string; +} + +export namespace AvcIntraSettings { + export const filterSensitiveLog = (obj: AvcIntraSettings): any => ({ + ...obj, + }); +} + +export enum VideoCodec { + AV1 = "AV1", + AVC_INTRA = "AVC_INTRA", + FRAME_CAPTURE = "FRAME_CAPTURE", + H_264 = "H_264", + H_265 = "H_265", MPEG2 = "MPEG2", PRORES = "PRORES", + VC3 = "VC3", VP8 = "VP8", VP9 = "VP9", } @@ -5024,24 +5270,24 @@ export enum VideoCodec { */ export interface FrameCaptureSettings { /** - * Frame capture will encode the first frame of the output stream, then one frame every framerateDenominator/framerateNumerator seconds. For example, settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of 1/3 frame per second) will capture the first frame, then 1 frame every 3s. Files will be named as filename.NNNNNNN.jpg where N is the 0-based frame sequence number zero padded to 7 decimal places. + * Frame capture will encode the first frame of the output stream, then one frame every framerateDenominator/framerateNumerator seconds. For example, settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of 1/3 frame per second) will capture the first frame, then 1 frame every 3s. Files will be named as filename.n.jpg where n is the 0-based sequence number of each Capture. */ - FramerateNumerator?: number; + FramerateDenominator?: number; /** - * JPEG Quality - a higher value equals higher quality. + * Maximum number of captures (encoded jpg output files). */ - Quality?: number; + MaxCaptures?: number; /** - * Frame capture will encode the first frame of the output stream, then one frame every framerateDenominator/framerateNumerator seconds. For example, settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of 1/3 frame per second) will capture the first frame, then 1 frame every 3s. Files will be named as filename.n.jpg where n is the 0-based sequence number of each Capture. + * JPEG Quality - a higher value equals higher quality. */ - FramerateDenominator?: number; + Quality?: number; /** - * Maximum number of captures (encoded jpg output files). + * Frame capture will encode the first frame of the output stream, then one frame every framerateDenominator/framerateNumerator seconds. For example, settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of 1/3 frame per second) will capture the first frame, then 1 frame every 3s. Files will be named as filename.NNNNNNN.jpg where N is the 0-based frame sequence number zero padded to 7 decimal places. */ - MaxCaptures?: number; + FramerateNumerator?: number; } export namespace FrameCaptureSettings { @@ -5115,6 +5361,7 @@ export enum H264FramerateControl { export enum H264FramerateConversionAlgorithm { DUPLICATE_DROP = "DUPLICATE_DROP", + FRAMEFORMER = "FRAMEFORMER", INTERPOLATE = "INTERPOLATE", } @@ -5127,318 +5374,3 @@ export enum H264GopSizeUnits { FRAMES = "FRAMES", SECONDS = "SECONDS", } - -export enum H264InterlaceMode { - BOTTOM_FIELD = "BOTTOM_FIELD", - FOLLOW_BOTTOM_FIELD = "FOLLOW_BOTTOM_FIELD", - FOLLOW_TOP_FIELD = "FOLLOW_TOP_FIELD", - PROGRESSIVE = "PROGRESSIVE", - TOP_FIELD = "TOP_FIELD", -} - -export enum H264ParControl { - INITIALIZE_FROM_SOURCE = "INITIALIZE_FROM_SOURCE", - SPECIFIED = "SPECIFIED", -} - -export enum H264QualityTuningLevel { - MULTI_PASS_HQ = "MULTI_PASS_HQ", - SINGLE_PASS = "SINGLE_PASS", - SINGLE_PASS_HQ = "SINGLE_PASS_HQ", -} - -/** - * Settings for quality-defined variable bitrate encoding with the H.264 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode. - */ -export interface H264QvbrSettings { - /** - * Optional. Specify a value here to set the QVBR quality to a level that is between whole numbers. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality level to the nearest third of a whole number. For example, if you set qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your actual QVBR quality level is 7.33. - */ - QvbrQualityLevelFineTune?: number; - - /** - * Required when you use QVBR rate control mode. That is, when you specify qvbrSettings within h264Settings. Specify the general target quality level for this output, from 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly lossless compression. The quality level for most broadcast-quality transcodes is between 6 and 9. Optionally, to specify a value between whole numbers, also provide a value for the setting qvbrQualityLevelFineTune. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33. - */ - QvbrQualityLevel?: number; - - /** - * Use this setting only when Rate control mode is QVBR and Quality tuning level is Multi-pass HQ. For Max average bitrate values suited to the complexity of your input video, the service limits the average bitrate of the video part of this output to the value that you choose. That is, the total size of the video element is less than or equal to the value you set multiplied by the number of seconds of encoded output. - */ - MaxAverageBitrate?: number; -} - -export namespace H264QvbrSettings { - export const filterSensitiveLog = (obj: H264QvbrSettings): any => ({ - ...obj, - }); -} - -export enum H264RateControlMode { - CBR = "CBR", - QVBR = "QVBR", - VBR = "VBR", -} - -export enum H264RepeatPps { - DISABLED = "DISABLED", - ENABLED = "ENABLED", -} - -export enum H264SceneChangeDetect { - DISABLED = "DISABLED", - ENABLED = "ENABLED", - TRANSITION_DETECTION = "TRANSITION_DETECTION", -} - -export enum H264SlowPal { - DISABLED = "DISABLED", - ENABLED = "ENABLED", -} - -export enum H264SpatialAdaptiveQuantization { - DISABLED = "DISABLED", - ENABLED = "ENABLED", -} - -export enum H264Syntax { - DEFAULT = "DEFAULT", - RP2027 = "RP2027", -} - -export enum H264Telecine { - HARD = "HARD", - NONE = "NONE", - SOFT = "SOFT", -} - -export enum H264TemporalAdaptiveQuantization { - DISABLED = "DISABLED", - ENABLED = "ENABLED", -} - -export enum H264UnregisteredSeiTimecode { - DISABLED = "DISABLED", - ENABLED = "ENABLED", -} - -/** - * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value H_264. - */ -export interface H264Settings { - /** - * GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. - */ - GopSize?: number; - - /** - * Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly. - */ - SlowPal?: H264SlowPal | string; - - /** - * Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. - */ - HrdBufferSize?: number; - - /** - * Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type, as follows. - * - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of "top field first" and "bottom field first". - * - If the source is progressive, the output will be interlaced with "top field first" or "bottom field first" polarity, depending on which of the Follow options you chose. - */ - InterlaceMode?: H264InterlaceMode | string; - - /** - * Number of B-frames between reference frames. - */ - NumberBFramesBetweenReferenceFrames?: number; - - /** - * If enable, use reference B frames for GOP structures that have B frames > 1. - */ - GopBReference?: H264GopBReference | string; - - /** - * Produces a bitstream compliant with SMPTE RP-2027. - */ - Syntax?: H264Syntax | string; - - /** - * Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). - */ - DynamicSubGop?: H264DynamicSubGop | string; - - /** - * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. - */ - ParNumerator?: number; - - /** - * Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs. - */ - FieldEncoding?: H264FieldEncoding | string; - - /** - * H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the AVC-I License. - */ - CodecProfile?: H264CodecProfile | string; - - /** - * Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures. - */ - Slices?: number; - - /** - * Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR. - */ - MaxBitrate?: number; - - /** - * Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time. - */ - GopSizeUnits?: H264GopSizeUnits | string; - - /** - * Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default. If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION) for further video quality improvement. For more information about QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr. - */ - SceneChangeDetect?: H264SceneChangeDetect | string; - - /** - * Places a PPS header on each encoded picture, even if repeated. - */ - RepeatPps?: H264RepeatPps | string; - - /** - * Inserts timecode for each frame as 4 bytes of an unregistered SEI message. - */ - UnregisteredSeiTimecode?: H264UnregisteredSeiTimecode | string; - - /** - * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, single-pass encoding. - */ - QualityTuningLevel?: H264QualityTuningLevel | string; - - /** - * Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC. - */ - EntropyEncoding?: H264EntropyEncoding | string; - - /** - * Percentage of the buffer that should initially be filled (HRD buffer model). - */ - HrdBufferInitialFillPercentage?: number; - - /** - * Optional. Specify how the transcoder performs framerate conversion. The default behavior is to use duplicate drop conversion. - */ - FramerateConversionAlgorithm?: H264FramerateConversionAlgorithm | string; - - /** - * Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR). - */ - RateControlMode?: H264RateControlMode | string; - - /** - * Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. - */ - NumberReferenceFrames?: number; - - /** - * Adjust quantization within each frame based on temporal variation of content complexity. - */ - TemporalAdaptiveQuantization?: H264TemporalAdaptiveQuantization | string; - - /** - * Adjust quantization within each frame based on spatial variation of content complexity. - */ - SpatialAdaptiveQuantization?: H264SpatialAdaptiveQuantization | string; - - /** - * Adjust quantization within each frame to reduce flicker or 'pop' on I-frames. - */ - FlickerAdaptiveQuantization?: H264FlickerAdaptiveQuantization | string; - - /** - * This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i. - */ - Telecine?: H264Telecine | string; - - /** - * Optional. Specify how the service determines the pixel aspect ratio (PAR) for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your output. To specify a different PAR in the console, choose any value other than Follow source. To specify a different PAR by editing the JSON job specification, choose SPECIFIED. When you choose SPECIFIED for this setting, you must also specify values for the parNumerator and parDenominator settings. - */ - ParControl?: H264ParControl | string; - - /** - * Settings for quality-defined variable bitrate encoding with the H.264 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode. - */ - QvbrSettings?: H264QvbrSettings; - - /** - * Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. - */ - Softness?: number; - - /** - * Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 fps. - */ - FramerateNumerator?: number; - - /** - * Specify the average bitrate in bits per second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000. - */ - Bitrate?: number; - - /** - * Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting. - */ - GopClosedCadence?: number; - - /** - * Specify an H.264 level that is consistent with your output video settings. If you aren't sure what level to specify, choose Auto (AUTO). - */ - CodecLevel?: H264CodecLevel | string; - - /** - * Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. - */ - AdaptiveQuantization?: H264AdaptiveQuantization | string; - - /** - * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. - */ - FramerateDenominator?: number; - - /** - * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. - */ - FramerateControl?: H264FramerateControl | string; - - /** - * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. - */ - ParDenominator?: number; - - /** - * Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 - */ - MinIInterval?: number; -} - -export namespace H264Settings { - export const filterSensitiveLog = (obj: H264Settings): any => ({ - ...obj, - }); -} - -export enum H265AdaptiveQuantization { - HIGH = "HIGH", - HIGHER = "HIGHER", - LOW = "LOW", - MAX = "MAX", - MEDIUM = "MEDIUM", - OFF = "OFF", -} - -export enum H265AlternateTransferFunctionSei { - DISABLED = "DISABLED", - ENABLED = "ENABLED", -} diff --git a/clients/client-mediaconvert/models/models_1.ts b/clients/client-mediaconvert/models/models_1.ts index c61ddabd2ae6..d85fd364b71a 100644 --- a/clients/client-mediaconvert/models/models_1.ts +++ b/clients/client-mediaconvert/models/models_1.ts @@ -6,6 +6,7 @@ import { AudioDescription, Av1Settings, AvailBlanking, + AvcIntraSettings, BillingTagsSource, CaptionDescription, CaptionDescriptionPreset, @@ -13,9 +14,17 @@ import { Endpoint, EsamSettings, FrameCaptureSettings, - H264Settings, - H265AdaptiveQuantization, - H265AlternateTransferFunctionSei, + H264AdaptiveQuantization, + H264CodecLevel, + H264CodecProfile, + H264DynamicSubGop, + H264EntropyEncoding, + H264FieldEncoding, + H264FlickerAdaptiveQuantization, + H264FramerateControl, + H264FramerateConversionAlgorithm, + H264GopBReference, + H264GopSizeUnits, Hdr10Metadata, HopDestination, Id3Insertion, @@ -26,6 +35,7 @@ import { JobPhase, MotionImageInserter, NielsenConfiguration, + NielsenNonLinearWatermarkSettings, OutputGroupDetail, OutputGroupSettings, OutputSettings, @@ -36,6 +46,319 @@ import { import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +export enum H264InterlaceMode { + BOTTOM_FIELD = "BOTTOM_FIELD", + FOLLOW_BOTTOM_FIELD = "FOLLOW_BOTTOM_FIELD", + FOLLOW_TOP_FIELD = "FOLLOW_TOP_FIELD", + PROGRESSIVE = "PROGRESSIVE", + TOP_FIELD = "TOP_FIELD", +} + +export enum H264ParControl { + INITIALIZE_FROM_SOURCE = "INITIALIZE_FROM_SOURCE", + SPECIFIED = "SPECIFIED", +} + +export enum H264QualityTuningLevel { + MULTI_PASS_HQ = "MULTI_PASS_HQ", + SINGLE_PASS = "SINGLE_PASS", + SINGLE_PASS_HQ = "SINGLE_PASS_HQ", +} + +/** + * Settings for quality-defined variable bitrate encoding with the H.264 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode. + */ +export interface H264QvbrSettings { + /** + * Use this setting only when Rate control mode is QVBR and Quality tuning level is Multi-pass HQ. For Max average bitrate values suited to the complexity of your input video, the service limits the average bitrate of the video part of this output to the value that you choose. That is, the total size of the video element is less than or equal to the value you set multiplied by the number of seconds of encoded output. + */ + MaxAverageBitrate?: number; + + /** + * Optional. Specify a value here to set the QVBR quality to a level that is between whole numbers. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality level to the nearest third of a whole number. For example, if you set qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your actual QVBR quality level is 7.33. + */ + QvbrQualityLevelFineTune?: number; + + /** + * Required when you use QVBR rate control mode. That is, when you specify qvbrSettings within h264Settings. Specify the general target quality level for this output, from 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly lossless compression. The quality level for most broadcast-quality transcodes is between 6 and 9. Optionally, to specify a value between whole numbers, also provide a value for the setting qvbrQualityLevelFineTune. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33. + */ + QvbrQualityLevel?: number; +} + +export namespace H264QvbrSettings { + export const filterSensitiveLog = (obj: H264QvbrSettings): any => ({ + ...obj, + }); +} + +export enum H264RateControlMode { + CBR = "CBR", + QVBR = "QVBR", + VBR = "VBR", +} + +export enum H264RepeatPps { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +export enum H264SceneChangeDetect { + DISABLED = "DISABLED", + ENABLED = "ENABLED", + TRANSITION_DETECTION = "TRANSITION_DETECTION", +} + +export enum H264SlowPal { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +export enum H264SpatialAdaptiveQuantization { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +export enum H264Syntax { + DEFAULT = "DEFAULT", + RP2027 = "RP2027", +} + +export enum H264Telecine { + HARD = "HARD", + NONE = "NONE", + SOFT = "SOFT", +} + +export enum H264TemporalAdaptiveQuantization { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +export enum H264UnregisteredSeiTimecode { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +/** + * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value H_264. + */ +export interface H264Settings { + /** + * Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. + */ + NumberReferenceFrames?: number; + + /** + * Inserts timecode for each frame as 4 bytes of an unregistered SEI message. + */ + UnregisteredSeiTimecode?: H264UnregisteredSeiTimecode | string; + + /** + * Keep the default value, Enabled (ENABLED), to adjust quantization within each frame based on temporal variation of content complexity. When you enable this feature, the encoder uses fewer bits on areas of the frame that aren't moving and uses more bits on complex objects with sharp edges that move a lot. For example, this feature improves the readability of text tickers on newscasts and scoreboards on sports matches. Enabling this feature will almost always improve your video quality. Note, though, that this feature doesn't take into account where the viewer's attention is likely to be. If viewers are likely to be focusing their attention on a part of the screen that doesn't have moving objects with sharp edges, such as sports athletes' faces, you might choose to disable this feature. Related setting: When you enable temporal quantization, adjust the strength of the filter with the setting Adaptive quantization (adaptiveQuantization). + */ + TemporalAdaptiveQuantization?: H264TemporalAdaptiveQuantization | string; + + /** + * Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to 30 fps. For numerically complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence, use FrameFormer (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. + */ + FramerateConversionAlgorithm?: H264FramerateConversionAlgorithm | string; + + /** + * Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC. + */ + EntropyEncoding?: H264EntropyEncoding | string; + + /** + * Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default. If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION) for further video quality improvement. For more information about QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr. + */ + SceneChangeDetect?: H264SceneChangeDetect | string; + + /** + * Places a PPS header on each encoded picture, even if repeated. + */ + RepeatPps?: H264RepeatPps | string; + + /** + * Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR. + */ + MaxBitrate?: number; + + /** + * Keep the default value, PAFF, to have MediaConvert use PAFF encoding for interlaced outputs. Choose Force field (FORCE_FIELD) to disable PAFF encoding and create separate interlaced fields. + */ + FieldEncoding?: H264FieldEncoding | string; + + /** + * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. + */ + ParDenominator?: number; + + /** + * Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 + */ + MinIInterval?: number; + + /** + * Percentage of the buffer that should initially be filled (HRD buffer model). + */ + HrdBufferInitialFillPercentage?: number; + + /** + * H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the AVC-I License. + */ + CodecProfile?: H264CodecProfile | string; + + /** + * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. + */ + ParNumerator?: number; + + /** + * Specify the strength of any adaptive quantization filters that you enable. The value that you choose here applies to the following settings: Flicker adaptive quantization (flickerAdaptiveQuantization), Spatial adaptive quantization (spatialAdaptiveQuantization), and Temporal adaptive quantization (temporalAdaptiveQuantization). + */ + AdaptiveQuantization?: H264AdaptiveQuantization | string; + + /** + * If enable, use reference B frames for GOP structures that have B frames > 1. + */ + GopBReference?: H264GopBReference | string; + + /** + * Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting. + */ + GopClosedCadence?: number; + + /** + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. + */ + FramerateDenominator?: number; + + /** + * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 fps, and your output scan type is interlaced, you can optionally enable hard or soft telecine to create a smoother picture. Hard telecine (HARD) produces a 29.97i output. Soft telecine (SOFT) produces an output with a 23.976 output that signals to the video player device to do the conversion during play back. When you keep the default value, None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without doing anything with the field polarity to create a smoother picture. + */ + Telecine?: H264Telecine | string; + + /** + * Specify the average bitrate in bits per second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000. + */ + Bitrate?: number; + + /** + * Specify an H.264 level that is consistent with your output video settings. If you aren't sure what level to specify, choose Auto (AUTO). + */ + CodecLevel?: H264CodecLevel | string; + + /** + * Settings for quality-defined variable bitrate encoding with the H.264 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode. + */ + QvbrSettings?: H264QvbrSettings; + + /** + * Choose the scan line type for the output. Keep the default value, Progressive (PROGRESSIVE) to create a progressive output, regardless of the scan type of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) to create an output that's interlaced with the same field polarity throughout. Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the source. For jobs that have multiple inputs, the output field polarity might change over the course of the output. Follow behavior depends on the input scan type. If the source is interlaced, the output will be interlaced with the same polarity as the source. If the source is progressive, the output will be interlaced with top field bottom field first, depending on which of the Follow options you choose. + */ + InterlaceMode?: H264InterlaceMode | string; + + /** + * Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. + */ + HrdBufferSize?: number; + + /** + * Keep the default value, Enabled (ENABLED), to adjust quantization within each frame based on spatial variation of content complexity. When you enable this feature, the encoder uses fewer bits on areas that can sustain more distortion with no noticeable visual degradation and uses more bits on areas where any small distortion will be noticeable. For example, complex textured blocks are encoded with fewer bits and smooth textured blocks are encoded with more bits. Enabling this feature will almost always improve your video quality. Note, though, that this feature doesn't take into account where the viewer's attention is likely to be. If viewers are likely to be focusing their attention on a part of the screen with a lot of complex texture, you might choose to disable this feature. Related setting: When you enable spatial adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization) depending on your content. For homogeneous content, such as cartoons and video games, set it to Low. For content with a wider variety of textures, set it to High or Higher. + */ + SpatialAdaptiveQuantization?: H264SpatialAdaptiveQuantization | string; + + /** + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. + */ + FramerateNumerator?: number; + + /** + * Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR). + */ + RateControlMode?: H264RateControlMode | string; + + /** + * Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time. + */ + GopSizeUnits?: H264GopSizeUnits | string; + + /** + * Optional. Specify how the service determines the pixel aspect ratio (PAR) for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your output. To specify a different PAR in the console, choose any value other than Follow source. To specify a different PAR by editing the JSON job specification, choose SPECIFIED. When you choose SPECIFIED for this setting, you must also specify values for the parNumerator and parDenominator settings. + */ + ParControl?: H264ParControl | string; + + /** + * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. + */ + FramerateControl?: H264FramerateControl | string; + + /** + * Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures. + */ + Slices?: number; + + /** + * Ignore this setting unless your input frame rate is 23.976 or 24 frames per second (fps). Enable slow PAL to create a 25 fps output. When you enable slow PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio to keep it synchronized with the video. Note that enabling this setting will slightly reduce the duration of your video. Required settings: You must also set Framerate to 25. In your JSON job specification, set (framerateControl) to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. + */ + SlowPal?: H264SlowPal | string; + + /** + * GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. + */ + GopSize?: number; + + /** + * Produces a bitstream compliant with SMPTE RP-2027. + */ + Syntax?: H264Syntax | string; + + /** + * Number of B-frames between reference frames. + */ + NumberBFramesBetweenReferenceFrames?: number; + + /** + * Enable this setting to have the encoder reduce I-frame pop. I-frame pop appears as a visual flicker that can arise when the encoder saves bits by copying some macroblocks many times from frame to frame, and then refreshes them at the I-frame. When you enable this setting, the encoder updates these macroblocks slightly more often to smooth out the flicker. This setting is disabled by default. Related setting: In addition to enabling this setting, you must also set adaptiveQuantization to a value other than Off (OFF). + */ + FlickerAdaptiveQuantization?: H264FlickerAdaptiveQuantization | string; + + /** + * Ignore this setting unless you need to comply with a specification that requires a specific value. If you don't have a specification requirement, we recommend that you adjust the softness of your output by using a lower value for the setting Sharpness (sharpness) or by enabling a noise reducer filter (noiseReducerFilter). The Softness (softness) setting specifies the quantization matrices that the encoder uses. Keep the default value, 0, for flat quantization. Choose the value 1 or 16 to use the default JVT softening quantization matricies from the H.264 specification. Choose a value from 17 to 128 to use planar interpolation. Increasing values from 17 to 128 result in increasing reduction of high-frequency data. The value 128 results in the softest video. + */ + Softness?: number; + + /** + * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, single-pass encoding. + */ + QualityTuningLevel?: H264QualityTuningLevel | string; + + /** + * Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). + */ + DynamicSubGop?: H264DynamicSubGop | string; +} + +export namespace H264Settings { + export const filterSensitiveLog = (obj: H264Settings): any => ({ + ...obj, + }); +} + +export enum H265AdaptiveQuantization { + HIGH = "HIGH", + HIGHER = "HIGHER", + LOW = "LOW", + MAX = "MAX", + MEDIUM = "MEDIUM", + OFF = "OFF", +} + +export enum H265AlternateTransferFunctionSei { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + export enum H265CodecLevel { AUTO = "AUTO", LEVEL_1 = "LEVEL_1", @@ -81,6 +404,7 @@ export enum H265FramerateControl { export enum H265FramerateConversionAlgorithm { DUPLICATE_DROP = "DUPLICATE_DROP", + FRAMEFORMER = "FRAMEFORMER", INTERPOLATE = "INTERPOLATE", } @@ -203,199 +527,199 @@ export enum H265WriteMp4PackagingType { */ export interface H265Settings { /** - * Choose the scan line type for the output. Choose Progressive (PROGRESSIVE) to create a progressive output, regardless of the scan type of your input. Choose Top Field First (TOP_FIELD) or Bottom Field First (BOTTOM_FIELD) to create an output that's interlaced with the same field polarity throughout. Choose Follow, Default Top (FOLLOW_TOP_FIELD) or Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) to create an interlaced output with the same field polarity as the source. If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of "top field first" and "bottom field first". If the source is progressive, your output will be interlaced with "top field first" or "bottom field first" polarity, depending on which of the Follow options you chose. If you don't choose a value, the service will default to Progressive (PROGRESSIVE). + * Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default. If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION) for further video quality improvement. For more information about QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr. */ - InterlaceMode?: H265InterlaceMode | string; + SceneChangeDetect?: H265SceneChangeDetect | string; /** - * H.265 Level. + * Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 */ - CodecLevel?: H265CodecLevel | string; + MinIInterval?: number; /** - * If the location of parameter set NAL units doesn't matter in your workflow, ignore this setting. Use this setting only with CMAF or DASH outputs, or with standalone file outputs in an MPEG-4 container (MP4 outputs). Choose HVC1 to mark your output as HVC1. This makes your output compliant with the following specification: ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service stores parameter set NAL units in the sample headers but not in the samples directly. For MP4 outputs, when you choose HVC1, your output video might not work properly with some downstream systems and video players. The service defaults to marking your output as HEV1. For these outputs, the service writes parameter set NAL units directly into the samples. + * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, single-pass encoding. */ - WriteMp4PackagingType?: H265WriteMp4PackagingType | string; + QualityTuningLevel?: H265QualityTuningLevel | string; /** - * GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. + * Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR. */ - GopSize?: number; + MaxBitrate?: number; /** - * If enable, use reference B frames for GOP structures that have B frames > 1. + * Percentage of the buffer that should initially be filled (HRD buffer model). */ - GopBReference?: H265GopBReference | string; + HrdBufferInitialFillPercentage?: number; /** - * Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly. + * Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR). */ - SlowPal?: H265SlowPal | string; + RateControlMode?: H265RateControlMode | string; /** - * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. + * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. */ - ParDenominator?: number; + ParNumerator?: number; /** - * Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. + * Specify the strength of any adaptive quantization filters that you enable. The value that you choose here applies to the following settings: Flicker adaptive quantization (flickerAdaptiveQuantization), Spatial adaptive quantization (spatialAdaptiveQuantization), and Temporal adaptive quantization (temporalAdaptiveQuantization). */ - HrdBufferSize?: number; + AdaptiveQuantization?: H265AdaptiveQuantization | string; /** - * Optional. Specify how the service determines the pixel aspect ratio (PAR) for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your output. To specify a different PAR in the console, choose any value other than Follow source. To specify a different PAR by editing the JSON job specification, choose SPECIFIED. When you choose SPECIFIED for this setting, you must also specify values for the parNumerator and parDenominator settings. + * Enables Alternate Transfer Function SEI message for outputs using Hybrid Log Gamma (HLG) Electro-Optical Transfer Function (EOTF). */ - ParControl?: H265ParControl | string; + AlternateTransferFunctionSei?: H265AlternateTransferFunctionSei | string; /** - * Adjust quantization within each frame based on spatial variation of content complexity. + * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. */ - SpatialAdaptiveQuantization?: H265SpatialAdaptiveQuantization | string; + ParDenominator?: number; /** - * Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 fps. + * Number of B-frames between reference frames. */ - FramerateNumerator?: number; + NumberBFramesBetweenReferenceFrames?: number; /** - * Frame rate denominator. + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ FramerateDenominator?: number; /** - * Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers are supported depending on GOP structure: I- and P-frames form one layer, reference B-frames can form a second layer and non-reference b-frames can form a third layer. Decoders can optionally decode only the lower temporal layers to generate a lower frame rate output. For example, given a bitstream with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder could decode all the frames for full frame rate output or only the I and P frames (lowest temporal layer) for a half frame rate output. + * Represents the Profile and Tier, per the HEVC (H.265) specification. Selections are grouped as [Profile] / [Tier], so "Main/High" represents Main Profile with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License. */ - TemporalIds?: H265TemporalIds | string; + CodecProfile?: H265CodecProfile | string; /** - * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. + * Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers are supported depending on GOP structure: I- and P-frames form one layer, reference B-frames can form a second layer and non-reference b-frames can form a third layer. Decoders can optionally decode only the lower temporal layers to generate a lower frame rate output. For example, given a bitstream with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder could decode all the frames for full frame rate output or only the I and P frames (lowest temporal layer) for a half frame rate output. */ - FramerateControl?: H265FramerateControl | string; + TemporalIds?: H265TemporalIds | string; /** - * Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting. + * Enable this setting to have the encoder reduce I-frame pop. I-frame pop appears as a visual flicker that can arise when the encoder saves bits by copying some macroblocks many times from frame to frame, and then refreshes them at the I-frame. When you enable this setting, the encoder updates these macroblocks slightly more often to smooth out the flicker. This setting is disabled by default. Related setting: In addition to enabling this setting, you must also set adaptiveQuantization to a value other than Off (OFF). */ - GopClosedCadence?: number; + FlickerAdaptiveQuantization?: H265FlickerAdaptiveQuantization | string; /** - * Specify the average bitrate in bits per second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000. + * Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically selects best strength based on content */ - Bitrate?: number; + SampleAdaptiveOffsetFilterMode?: H265SampleAdaptiveOffsetFilterMode | string; /** - * This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i. + * Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). */ - Telecine?: H265Telecine | string; + DynamicSubGop?: H265DynamicSubGop | string; /** - * Enables Alternate Transfer Function SEI message for outputs using Hybrid Log Gamma (HLG) Electro-Optical Transfer Function (EOTF). + * Inserts timecode for each frame as 4 bytes of an unregistered SEI message. */ - AlternateTransferFunctionSei?: H265AlternateTransferFunctionSei | string; + UnregisteredSeiTimecode?: H265UnregisteredSeiTimecode | string; /** - * Settings for quality-defined variable bitrate encoding with the H.265 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode. + * Keep the default value, Enabled (ENABLED), to adjust quantization within each frame based on temporal variation of content complexity. When you enable this feature, the encoder uses fewer bits on areas of the frame that aren't moving and uses more bits on complex objects with sharp edges that move a lot. For example, this feature improves the readability of text tickers on newscasts and scoreboards on sports matches. Enabling this feature will almost always improve your video quality. Note, though, that this feature doesn't take into account where the viewer's attention is likely to be. If viewers are likely to be focusing their attention on a part of the screen that doesn't have moving objects with sharp edges, such as sports athletes' faces, you might choose to disable this feature. Related setting: When you enable temporal quantization, adjust the strength of the filter with the setting Adaptive quantization (adaptiveQuantization). */ - QvbrSettings?: H265QvbrSettings; + TemporalAdaptiveQuantization?: H265TemporalAdaptiveQuantization | string; /** - * Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default. If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION) for further video quality improvement. For more information about QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr. + * Choose the scan line type for the output. Keep the default value, Progressive (PROGRESSIVE) to create a progressive output, regardless of the scan type of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) to create an output that's interlaced with the same field polarity throughout. Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the source. For jobs that have multiple inputs, the output field polarity might change over the course of the output. Follow behavior depends on the input scan type. If the source is interlaced, the output will be interlaced with the same polarity as the source. If the source is progressive, the output will be interlaced with top field bottom field first, depending on which of the Follow options you choose. */ - SceneChangeDetect?: H265SceneChangeDetect | string; + InterlaceMode?: H265InterlaceMode | string; /** - * Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR). + * H.265 Level. */ - RateControlMode?: H265RateControlMode | string; + CodecLevel?: H265CodecLevel | string; /** - * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. + * GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. */ - ParNumerator?: number; + GopSize?: number; /** - * Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 + * Ignore this setting unless your input frame rate is 23.976 or 24 frames per second (fps). Enable slow PAL to create a 25 fps output. When you enable slow PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio to keep it synchronized with the video. Note that enabling this setting will slightly reduce the duration of your video. Required settings: You must also set Framerate to 25. In your JSON job specification, set (framerateControl) to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. */ - MinIInterval?: number; + SlowPal?: H265SlowPal | string; /** - * Percentage of the buffer that should initially be filled (HRD buffer model). + * Specify the average bitrate in bits per second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000. */ - HrdBufferInitialFillPercentage?: number; + Bitrate?: number; /** - * Enable use of tiles, allowing horizontal as well as vertical subdivision of the encoded pictures. + * If the location of parameter set NAL units doesn't matter in your workflow, ignore this setting. Use this setting only with CMAF or DASH outputs, or with standalone file outputs in an MPEG-4 container (MP4 outputs). Choose HVC1 to mark your output as HVC1. This makes your output compliant with the following specification: ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service stores parameter set NAL units in the sample headers but not in the samples directly. For MP4 outputs, when you choose HVC1, your output video might not work properly with some downstream systems and video players. The service defaults to marking your output as HEV1. For these outputs, the service writes parameter set NAL units directly into the samples. */ - Tiles?: H265Tiles | string; + WriteMp4PackagingType?: H265WriteMp4PackagingType | string; /** - * Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. + * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. */ - AdaptiveQuantization?: H265AdaptiveQuantization | string; + FramerateControl?: H265FramerateControl | string; /** - * Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time. + * Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures. */ - GopSizeUnits?: H265GopSizeUnits | string; + Slices?: number; /** - * Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. + * Optional. Specify how the service determines the pixel aspect ratio (PAR) for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your output. To specify a different PAR in the console, choose any value other than Follow source. To specify a different PAR by editing the JSON job specification, choose SPECIFIED. When you choose SPECIFIED for this setting, you must also specify values for the parNumerator and parDenominator settings. */ - NumberReferenceFrames?: number; + ParControl?: H265ParControl | string; /** - * Adjust quantization within each frame based on temporal variation of content complexity. + * Settings for quality-defined variable bitrate encoding with the H.265 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode. */ - TemporalAdaptiveQuantization?: H265TemporalAdaptiveQuantization | string; + QvbrSettings?: H265QvbrSettings; /** - * Adjust quantization within each frame to reduce flicker or 'pop' on I-frames. + * This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i. */ - FlickerAdaptiveQuantization?: H265FlickerAdaptiveQuantization | string; + Telecine?: H265Telecine | string; /** - * Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically selects best strength based on content + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ - SampleAdaptiveOffsetFilterMode?: H265SampleAdaptiveOffsetFilterMode | string; + FramerateNumerator?: number; /** - * Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR. + * Keep the default value, Enabled (ENABLED), to adjust quantization within each frame based on spatial variation of content complexity. When you enable this feature, the encoder uses fewer bits on areas that can sustain more distortion with no noticeable visual degradation and uses more bits on areas where any small distortion will be noticeable. For example, complex textured blocks are encoded with fewer bits and smooth textured blocks are encoded with more bits. Enabling this feature will almost always improve your video quality. Note, though, that this feature doesn't take into account where the viewer's attention is likely to be. If viewers are likely to be focusing their attention on a part of the screen with a lot of complex texture, you might choose to disable this feature. Related setting: When you enable spatial adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization) depending on your content. For homogeneous content, such as cartoons and video games, set it to Low. For content with a wider variety of textures, set it to High or Higher. */ - MaxBitrate?: number; + SpatialAdaptiveQuantization?: H265SpatialAdaptiveQuantization | string; /** - * Optional. Specify how the transcoder performs framerate conversion. The default behavior is to use duplicate drop conversion. + * Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting. */ - FramerateConversionAlgorithm?: H265FramerateConversionAlgorithm | string; + GopClosedCadence?: number; /** - * Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). + * Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. */ - DynamicSubGop?: H265DynamicSubGop | string; + NumberReferenceFrames?: number; /** - * Represents the Profile and Tier, per the HEVC (H.265) specification. Selections are grouped as [Profile] / [Tier], so "Main/High" represents Main Profile with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License. + * Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to 30 fps. For numerically complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence, use FrameFormer (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. */ - CodecProfile?: H265CodecProfile | string; + FramerateConversionAlgorithm?: H265FramerateConversionAlgorithm | string; /** - * Inserts timecode for each frame as 4 bytes of an unregistered SEI message. + * If enable, use reference B frames for GOP structures that have B frames > 1. */ - UnregisteredSeiTimecode?: H265UnregisteredSeiTimecode | string; + GopBReference?: H265GopBReference | string; /** - * Number of B-frames between reference frames. + * Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time. */ - NumberBFramesBetweenReferenceFrames?: number; + GopSizeUnits?: H265GopSizeUnits | string; /** - * Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures. + * Enable use of tiles, allowing horizontal as well as vertical subdivision of the encoded pictures. */ - Slices?: number; + Tiles?: H265Tiles | string; /** - * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, single-pass encoding. + * Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. */ - QualityTuningLevel?: H265QualityTuningLevel | string; + HrdBufferSize?: number; } export namespace H265Settings { @@ -436,6 +760,7 @@ export enum Mpeg2FramerateControl { export enum Mpeg2FramerateConversionAlgorithm { DUPLICATE_DROP = "DUPLICATE_DROP", + FRAMEFORMER = "FRAMEFORMER", INTERPOLATE = "INTERPOLATE", } @@ -511,51 +836,54 @@ export enum Mpeg2TemporalAdaptiveQuantization { */ export interface Mpeg2Settings { /** - * Only use Telecine (Mpeg2Telecine) when you set Framerate (Framerate) to 29.970. Set Telecine (Mpeg2Telecine) to Hard (hard) to produce a 29.97i output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave converstion to the player. + * Number of B-frames between reference frames. */ - Telecine?: Mpeg2Telecine | string; + NumberBFramesBetweenReferenceFrames?: number; /** - * Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. + * Keep the default value, Enabled (ENABLED), to adjust quantization within each frame based on spatial variation of content complexity. When you enable this feature, the encoder uses fewer bits on areas that can sustain more distortion with no noticeable visual degradation and uses more bits on areas where any small distortion will be noticeable. For example, complex textured blocks are encoded with fewer bits and smooth textured blocks are encoded with more bits. Enabling this feature will almost always improve your video quality. Note, though, that this feature doesn't take into account where the viewer's attention is likely to be. If viewers are likely to be focusing their attention on a part of the screen with a lot of complex texture, you might choose to disable this feature. Related setting: When you enable spatial adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization) depending on your content. For homogeneous content, such as cartoons and video games, set it to Low. For content with a wider variety of textures, set it to High or Higher. */ - Softness?: number; + SpatialAdaptiveQuantization?: Mpeg2SpatialAdaptiveQuantization | string; /** - * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. + * Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting. */ - ParDenominator?: number; + GopClosedCadence?: number; /** - * Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output. + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ - CodecProfile?: Mpeg2CodecProfile | string; + FramerateDenominator?: number; /** - * Optional. Specify how the transcoder performs framerate conversion. The default behavior is to use duplicate drop conversion. + * Specify the strength of any adaptive quantization filters that you enable. The value that you choose here applies to the following settings: Spatial adaptive quantization (spatialAdaptiveQuantization), and Temporal adaptive quantization (temporalAdaptiveQuantization). */ - FramerateConversionAlgorithm?: Mpeg2FramerateConversionAlgorithm | string; + AdaptiveQuantization?: Mpeg2AdaptiveQuantization | string; /** - * Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type. - * - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of "top field first" and "bottom field first". - * - If the source is progressive, the output will be interlaced with "top field first" or "bottom field first" polarity, depending on which of the Follow options you chose. + * Specify whether this output's video uses the D10 syntax. Keep the default value to not use the syntax. Related settings: When you choose D10 (D_10) for your MXF profile (profile), you must also set this value to to D10 (D_10). */ - InterlaceMode?: Mpeg2InterlaceMode | string; + Syntax?: Mpeg2Syntax | string; /** - * GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. + * Optional. Specify how the service determines the pixel aspect ratio (PAR) for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your output. To specify a different PAR in the console, choose any value other than Follow source. To specify a different PAR by editing the JSON job specification, choose SPECIFIED. When you choose SPECIFIED for this setting, you must also specify values for the parNumerator and parDenominator settings. */ - GopSize?: number; + ParControl?: Mpeg2ParControl | string; /** - * Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ - MinIInterval?: number; + FramerateNumerator?: number; /** - * Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. + * Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate is variable (vbr) or constant (cbr). */ - MaxBitrate?: number; + RateControlMode?: Mpeg2RateControlMode | string; + + /** + * Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). + */ + DynamicSubGop?: Mpeg2DynamicSubGop | string; /** * Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default. @@ -563,9 +891,9 @@ export interface Mpeg2Settings { SceneChangeDetect?: Mpeg2SceneChangeDetect | string; /** - * Indicates if the GOP Size in MPEG2 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time. + * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, single-pass encoding. */ - GopSizeUnits?: Mpeg2GopSizeUnits | string; + QualityTuningLevel?: Mpeg2QualityTuningLevel | string; /** * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. @@ -573,69 +901,64 @@ export interface Mpeg2Settings { FramerateControl?: Mpeg2FramerateControl | string; /** - * Specify the average bitrate in bits per second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000. + * Keep the default value, Enabled (ENABLED), to adjust quantization within each frame based on temporal variation of content complexity. When you enable this feature, the encoder uses fewer bits on areas of the frame that aren't moving and uses more bits on complex objects with sharp edges that move a lot. For example, this feature improves the readability of text tickers on newscasts and scoreboards on sports matches. Enabling this feature will almost always improve your video quality. Note, though, that this feature doesn't take into account where the viewer's attention is likely to be. If viewers are likely to be focusing their attention on a part of the screen that doesn't have moving objects with sharp edges, such as sports athletes' faces, you might choose to disable this feature. Related setting: When you enable temporal quantization, adjust the strength of the filter with the setting Adaptive quantization (adaptiveQuantization). */ - Bitrate?: number; - - /** - * Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output. - */ - CodecLevel?: Mpeg2CodecLevel | string; + TemporalAdaptiveQuantization?: Mpeg2TemporalAdaptiveQuantization | string; /** - * Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate is variable (vbr) or constant (cbr). + * Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 */ - RateControlMode?: Mpeg2RateControlMode | string; + MinIInterval?: number; /** - * Adjust quantization within each frame based on spatial variation of content complexity. + * GOP Length (keyframe interval) in frames or seconds. Must be greater than zero. */ - SpatialAdaptiveQuantization?: Mpeg2SpatialAdaptiveQuantization | string; + GopSize?: number; /** - * Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting. + * Ignore this setting unless you need to comply with a specification that requires a specific value. If you don't have a specification requirement, we recommend that you adjust the softness of your output by using a lower value for the setting Sharpness (sharpness) or by enabling a noise reducer filter (noiseReducerFilter). The Softness (softness) setting specifies the quantization matrices that the encoder uses. Keep the default value, 0, to use the AWS Elemental default matrices. Choose a value from 17 to 128 to use planar interpolation. Increasing values from 17 to 128 result in increasing reduction of high-frequency data. The value 128 results in the softest video. */ - GopClosedCadence?: number; + Softness?: number; /** - * Optional. Specify how the service determines the pixel aspect ratio (PAR) for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your output. To specify a different PAR in the console, choose any value other than Follow source. To specify a different PAR by editing the JSON job specification, choose SPECIFIED. When you choose SPECIFIED for this setting, you must also specify values for the parNumerator and parDenominator settings. + * Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output. */ - ParControl?: Mpeg2ParControl | string; + CodecLevel?: Mpeg2CodecLevel | string; /** - * Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision for intra-block DC coefficients. If you choose the value auto, the service will automatically select the precision based on the per-frame compression ratio. + * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. */ - IntraDcPrecision?: Mpeg2IntraDcPrecision | string; + ParDenominator?: number; /** - * Produces a Type D-10 compatible bitstream (SMPTE 356M-2001). + * Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output. */ - Syntax?: Mpeg2Syntax | string; + CodecProfile?: Mpeg2CodecProfile | string; /** - * Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 fps. + * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 fps, and your output scan type is interlaced, you can optionally enable hard or soft telecine to create a smoother picture. Hard telecine (HARD) produces a 29.97i output. Soft telecine (SOFT) produces an output with a 23.976 output that signals to the video player device to do the conversion during play back. When you keep the default value, None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without doing anything with the field polarity to create a smoother picture. */ - FramerateNumerator?: number; + Telecine?: Mpeg2Telecine | string; /** - * Number of B-frames between reference frames. + * Specify the average bitrate in bits per second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000. */ - NumberBFramesBetweenReferenceFrames?: number; + Bitrate?: number; /** - * Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. + * Indicates if the GOP Size in MPEG2 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time. */ - HrdBufferSize?: number; + GopSizeUnits?: Mpeg2GopSizeUnits | string; /** - * Frame rate denominator. + * Ignore this setting unless your input frame rate is 23.976 or 24 frames per second (fps). Enable slow PAL to create a 25 fps output. When you enable slow PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio to keep it synchronized with the video. Note that enabling this setting will slightly reduce the duration of your video. Required settings: You must also set Framerate to 25. In your JSON job specification, set (framerateControl) to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. */ - FramerateDenominator?: number; + SlowPal?: Mpeg2SlowPal | string; /** - * Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. + * Percentage of the buffer that should initially be filled (HRD buffer model). */ - AdaptiveQuantization?: Mpeg2AdaptiveQuantization | string; + HrdBufferInitialFillPercentage?: number; /** * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. @@ -643,29 +966,29 @@ export interface Mpeg2Settings { ParNumerator?: number; /** - * Percentage of the buffer that should initially be filled (HRD buffer model). + * Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. */ - HrdBufferInitialFillPercentage?: number; + HrdBufferSize?: number; /** - * Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly. + * Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. */ - SlowPal?: Mpeg2SlowPal | string; + MaxBitrate?: number; /** - * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, single-pass encoding. + * Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to 30 fps. For numerically complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence, use FrameFormer (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. */ - QualityTuningLevel?: Mpeg2QualityTuningLevel | string; + FramerateConversionAlgorithm?: Mpeg2FramerateConversionAlgorithm | string; /** - * Adjust quantization within each frame based on temporal variation of content complexity. + * Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision for intra-block DC coefficients. If you choose the value auto, the service will automatically select the precision based on the per-frame compression ratio. */ - TemporalAdaptiveQuantization?: Mpeg2TemporalAdaptiveQuantization | string; + IntraDcPrecision?: Mpeg2IntraDcPrecision | string; /** - * Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames). + * Choose the scan line type for the output. Keep the default value, Progressive (PROGRESSIVE) to create a progressive output, regardless of the scan type of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) to create an output that's interlaced with the same field polarity throughout. Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the source. For jobs that have multiple inputs, the output field polarity might change over the course of the output. Follow behavior depends on the input scan type. If the source is interlaced, the output will be interlaced with the same polarity as the source. If the source is progressive, the output will be interlaced with top field bottom field first, depending on which of the Follow options you choose. */ - DynamicSubGop?: Mpeg2DynamicSubGop | string; + InterlaceMode?: Mpeg2InterlaceMode | string; } export namespace Mpeg2Settings { @@ -688,6 +1011,7 @@ export enum ProresFramerateControl { export enum ProresFramerateConversionAlgorithm { DUPLICATE_DROP = "DUPLICATE_DROP", + FRAMEFORMER = "FRAMEFORMER", INTERPOLATE = "INTERPOLATE", } @@ -718,17 +1042,50 @@ export enum ProresTelecine { * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value PRORES. */ export interface ProresSettings { + /** + * Optional. Specify how the service determines the pixel aspect ratio (PAR) for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your output. To specify a different PAR in the console, choose any value other than Follow source. To specify a different PAR by editing the JSON job specification, choose SPECIFIED. When you choose SPECIFIED for this setting, you must also specify values for the parNumerator and parDenominator settings. + */ + ParControl?: ProresParControl | string; + + /** + * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 fps, and your output scan type is interlaced, you can optionally enable hard telecine (HARD) to create a smoother picture. When you keep the default value, None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without doing anything with the field polarity to create a smoother picture. + */ + Telecine?: ProresTelecine | string; + + /** + * Ignore this setting unless your input frame rate is 23.976 or 24 frames per second (fps). Enable slow PAL to create a 25 fps output. When you enable slow PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio to keep it synchronized with the video. Note that enabling this setting will slightly reduce the duration of your video. Required settings: You must also set Framerate to 25. In your JSON job specification, set (framerateControl) to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. + */ + SlowPal?: ProresSlowPal | string; + + /** + * Choose the scan line type for the output. Keep the default value, Progressive (PROGRESSIVE) to create a progressive output, regardless of the scan type of your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) to create an output that's interlaced with the same field polarity throughout. Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the source. For jobs that have multiple inputs, the output field polarity might change over the course of the output. Follow behavior depends on the input scan type. If the source is interlaced, the output will be interlaced with the same polarity as the source. If the source is progressive, the output will be interlaced with top field bottom field first, depending on which of the Follow options you choose. + */ + InterlaceMode?: ProresInterlaceMode | string; + /** * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. */ ParDenominator?: number; /** - * Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type. - * - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of "top field first" and "bottom field first". - * - If the source is progressive, the output will be interlaced with "top field first" or "bottom field first" polarity, depending on which of the Follow options you chose. + * Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to 30 fps. For numerically complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence, use FrameFormer (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. */ - InterlaceMode?: ProresInterlaceMode | string; + FramerateConversionAlgorithm?: ProresFramerateConversionAlgorithm | string; + + /** + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. + */ + FramerateDenominator?: number; + + /** + * Use Profile (ProResCodecProfile) to specifiy the type of Apple ProRes codec to use for this output. + */ + CodecProfile?: ProresCodecProfile | string; + + /** + * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. + */ + FramerateControl?: ProresFramerateControl | string; /** * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. @@ -736,48 +1093,96 @@ export interface ProresSettings { ParNumerator?: number; /** - * Optional. Specify how the transcoder performs framerate conversion. The default behavior is to use duplicate drop conversion. + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ - FramerateConversionAlgorithm?: ProresFramerateConversionAlgorithm | string; + FramerateNumerator?: number; +} + +export namespace ProresSettings { + export const filterSensitiveLog = (obj: ProresSettings): any => ({ + ...obj, + }); +} + +export enum Vc3FramerateControl { + INITIALIZE_FROM_SOURCE = "INITIALIZE_FROM_SOURCE", + SPECIFIED = "SPECIFIED", +} + +export enum Vc3FramerateConversionAlgorithm { + DUPLICATE_DROP = "DUPLICATE_DROP", + FRAMEFORMER = "FRAMEFORMER", + INTERPOLATE = "INTERPOLATE", +} + +export enum Vc3InterlaceMode { + INTERLACED = "INTERLACED", + PROGRESSIVE = "PROGRESSIVE", +} +export enum Vc3SlowPal { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +export enum Vc3Telecine { + HARD = "HARD", + NONE = "NONE", +} + +export enum Vc3Class { + CLASS_145_8BIT = "CLASS_145_8BIT", + CLASS_220_10BIT = "CLASS_220_10BIT", + CLASS_220_8BIT = "CLASS_220_8BIT", +} + +/** + * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value VC3 + */ +export interface Vc3Settings { /** - * Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly. + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ - SlowPal?: ProresSlowPal | string; + FramerateNumerator?: number; /** - * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. + * Ignore this setting unless your input frame rate is 23.976 or 24 frames per second (fps). Enable slow PAL to create a 25 fps output by relabeling the video frames and resampling your audio. Note that enabling this setting will slightly reduce the duration of your video. Related settings: You must also set Framerate to 25. In your JSON job specification, set (framerateControl) to (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. */ - FramerateNumerator?: number; + SlowPal?: Vc3SlowPal | string; /** - * Only use Telecine (ProresTelecine) when you set Framerate (Framerate) to 29.970. Set Telecine (ProresTelecine) to Hard (hard) to produce a 29.97i output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave converstion to the player. + * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 fps, and your output scan type is interlaced, you can optionally enable hard telecine (HARD) to create a smoother picture. When you keep the default value, None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without doing anything with the field polarity to create a smoother picture. */ - Telecine?: ProresTelecine | string; + Telecine?: Vc3Telecine | string; /** - * Optional. Specify how the service determines the pixel aspect ratio (PAR) for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your output. To specify a different PAR in the console, choose any value other than Follow source. To specify a different PAR by editing the JSON job specification, choose SPECIFIED. When you choose SPECIFIED for this setting, you must also specify values for the parNumerator and parDenominator settings. + * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. */ - ParControl?: ProresParControl | string; + FramerateControl?: Vc3FramerateControl | string; /** - * Use Profile (ProResCodecProfile) to specifiy the type of Apple ProRes codec to use for this output. + * Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to 30 fps. For numerically complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence, use FrameFormer (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. */ - CodecProfile?: ProresCodecProfile | string; + FramerateConversionAlgorithm?: Vc3FramerateConversionAlgorithm | string; /** - * Frame rate denominator. + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ FramerateDenominator?: number; /** - * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. + * Specify the VC3 class to choose the quality characteristics for this output. VC3 class, together with the settings Framerate (framerateNumerator and framerateDenominator) and Resolution (height and width), determine your output bitrate. For example, say that your video resolution is 1920x1080 and your framerate is 29.97. Then Class 145 (CLASS_145) gives you an output with a bitrate of approximately 145 Mbps and Class 220 (CLASS_220) gives you and output with a bitrate of approximately 220 Mbps. VC3 class also specifies the color bit depth of your output. */ - FramerateControl?: ProresFramerateControl | string; + Vc3Class?: Vc3Class | string; + + /** + * Optional. Choose the scan line type for this output. If you don't specify a value, MediaConvert will create a progressive output. + */ + InterlaceMode?: Vc3InterlaceMode | string; } -export namespace ProresSettings { - export const filterSensitiveLog = (obj: ProresSettings): any => ({ +export namespace Vc3Settings { + export const filterSensitiveLog = (obj: Vc3Settings): any => ({ ...obj, }); } @@ -789,6 +1194,7 @@ export enum Vp8FramerateControl { export enum Vp8FramerateConversionAlgorithm { DUPLICATE_DROP = "DUPLICATE_DROP", + FRAMEFORMER = "FRAMEFORMER", INTERPOLATE = "INTERPOLATE", } @@ -811,39 +1217,39 @@ export enum Vp8RateControlMode { */ export interface Vp8Settings { /** - * Optional. Specify how the service determines the pixel aspect ratio (PAR) for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your output. To specify a different PAR in the console, choose any value other than Follow source. To specify a different PAR by editing the JSON job specification, choose SPECIFIED. When you choose SPECIFIED for this setting, you must also specify values for the parNumerator and parDenominator settings. + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ - ParControl?: Vp8ParControl | string; + FramerateDenominator?: number; /** - * Target bitrate in bits/second. For example, enter five megabits per second as 5000000. + * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. */ - Bitrate?: number; + ParNumerator?: number; /** - * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. + * With the VP8 codec, you can use only the variable bitrate (VBR) rate control mode. */ - FramerateNumerator?: number; + RateControlMode?: Vp8RateControlMode | string; /** - * With the VP8 codec, you can use only the variable bitrate (VBR) rate control mode. + * Target bitrate in bits/second. For example, enter five megabits per second as 5000000. */ - RateControlMode?: Vp8RateControlMode | string; + Bitrate?: number; /** - * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. + * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, multi-pass encoding. */ - ParNumerator?: number; + QualityTuningLevel?: Vp8QualityTuningLevel | string; /** - * Optional. Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. + * GOP Length (keyframe interval) in frames. Must be greater than zero. */ - HrdBufferSize?: number; + GopSize?: number; /** - * Optional. Specify how the transcoder performs framerate conversion. The default behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. + * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. */ - FramerateConversionAlgorithm?: Vp8FramerateConversionAlgorithm | string; + ParDenominator?: number; /** * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. @@ -851,29 +1257,29 @@ export interface Vp8Settings { FramerateControl?: Vp8FramerateControl | string; /** - * Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. The default behavior uses twice the target bitrate as the maximum bitrate. + * Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to 30 fps. For numerically complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence, use FrameFormer (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. */ - MaxBitrate?: number; + FramerateConversionAlgorithm?: Vp8FramerateConversionAlgorithm | string; /** - * GOP Length (keyframe interval) in frames. Must be greater than zero. + * Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. The default behavior uses twice the target bitrate as the maximum bitrate. */ - GopSize?: number; + MaxBitrate?: number; /** - * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, multi-pass encoding. + * Optional. Specify how the service determines the pixel aspect ratio (PAR) for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses the PAR from your input video for your output. To specify a different PAR in the console, choose any value other than Follow source. To specify a different PAR by editing the JSON job specification, choose SPECIFIED. When you choose SPECIFIED for this setting, you must also specify values for the parNumerator and parDenominator settings. */ - QualityTuningLevel?: Vp8QualityTuningLevel | string; + ParControl?: Vp8ParControl | string; /** - * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ - FramerateDenominator?: number; + FramerateNumerator?: number; /** - * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. + * Optional. Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. */ - ParDenominator?: number; + HrdBufferSize?: number; } export namespace Vp8Settings { @@ -889,6 +1295,7 @@ export enum Vp9FramerateControl { export enum Vp9FramerateConversionAlgorithm { DUPLICATE_DROP = "DUPLICATE_DROP", + FRAMEFORMER = "FRAMEFORMER", INTERPOLATE = "INTERPOLATE", } @@ -911,69 +1318,69 @@ export enum Vp9RateControlMode { */ export interface Vp9Settings { /** - * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ - ParDenominator?: number; + FramerateNumerator?: number; /** - * Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. + * Optional. Specify how the service determines the pixel aspect ratio for this output. The default behavior is to use the same pixel aspect ratio as your input video. */ - HrdBufferSize?: number; + ParControl?: Vp9ParControl | string; /** - * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. + * Target bitrate in bits/second. For example, enter five megabits per second as 5000000. */ - FramerateNumerator?: number; + Bitrate?: number; /** - * Optional. Specify how the service determines the pixel aspect ratio for this output. The default behavior is to use the same pixel aspect ratio as your input video. + * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. */ - ParControl?: Vp9ParControl | string; + FramerateControl?: Vp9FramerateControl | string; /** - * Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. The default behavior uses twice the target bitrate as the maximum bitrate. + * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. */ - MaxBitrate?: number; + FramerateDenominator?: number; /** - * Optional. Specify how the transcoder performs framerate conversion. The default behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. + * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33. */ - FramerateConversionAlgorithm?: Vp9FramerateConversionAlgorithm | string; + ParDenominator?: number; /** - * GOP Length (keyframe interval) in frames. Must be greater than zero. + * Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. The default behavior uses twice the target bitrate as the maximum bitrate. */ - GopSize?: number; + MaxBitrate?: number; /** - * With the VP9 codec, you can use only the variable bitrate (VBR) rate control mode. + * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, multi-pass encoding. */ - RateControlMode?: Vp9RateControlMode | string; + QualityTuningLevel?: Vp9QualityTuningLevel | string; /** - * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. + * GOP Length (keyframe interval) in frames. Must be greater than zero. */ - ParNumerator?: number; + GopSize?: number; /** - * When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. + * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. */ - FramerateDenominator?: number; + ParNumerator?: number; /** - * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. + * With the VP9 codec, you can use only the variable bitrate (VBR) rate control mode. */ - FramerateControl?: Vp9FramerateControl | string; + RateControlMode?: Vp9RateControlMode | string; /** - * Target bitrate in bits/second. For example, enter five megabits per second as 5000000. + * Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to 30 fps. For numerically complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence, use FrameFormer (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. */ - Bitrate?: number; + FramerateConversionAlgorithm?: Vp9FramerateConversionAlgorithm | string; /** - * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, multi-pass encoding. + * Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000. */ - QualityTuningLevel?: Vp9QualityTuningLevel | string; + HrdBufferSize?: number; } export namespace Vp9Settings { @@ -983,43 +1390,48 @@ export namespace Vp9Settings { } /** - * Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * VP9, Vp9Settings + * Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AV1, Av1Settings * AVC_INTRA, AvcIntraSettings * FRAME_CAPTURE, FrameCaptureSettings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VC3, Vc3Settings * VP8, Vp8Settings * VP9, Vp9Settings */ export interface VideoCodecSettings { /** - * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value PRORES. + * Required when you set Codec, under VideoDescription>CodecSettings to the value AV1. */ - ProresSettings?: ProresSettings; + Av1Settings?: Av1Settings; /** - * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value FRAME_CAPTURE. + * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value MPEG2. */ - FrameCaptureSettings?: FrameCaptureSettings; + Mpeg2Settings?: Mpeg2Settings; /** - * Settings for H265 codec + * Required when you set your output video codec to AVC-Intra. For more information about the AVC-I settings, see the relevant specification. For detailed information about SD and HD in AVC-I, see https://ieeexplore.ieee.org/document/7290936. */ - H265Settings?: H265Settings; + AvcIntraSettings?: AvcIntraSettings; /** - * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value MPEG2. + * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value PRORES. */ - Mpeg2Settings?: Mpeg2Settings; + ProresSettings?: ProresSettings; /** - * Specifies the video codec. This must be equal to one of the enum values defined by the object VideoCodec. + * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value VP9. */ - Codec?: VideoCodec | string; + Vp9Settings?: Vp9Settings; /** - * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value VP9. + * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value VC3 */ - Vp9Settings?: Vp9Settings; + Vc3Settings?: Vc3Settings; /** - * Required when you set Codec, under VideoDescription>CodecSettings to the value AV1. + * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value FRAME_CAPTURE. */ - Av1Settings?: Av1Settings; + FrameCaptureSettings?: FrameCaptureSettings; + + /** + * Settings for H265 codec + */ + H265Settings?: H265Settings; /** * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value VP8. @@ -1030,6 +1442,11 @@ export interface VideoCodecSettings { * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value H_264. */ H264Settings?: H264Settings; + + /** + * Specifies the video codec. This must be equal to one of the enum values defined by the object VideoCodec. + */ + Codec?: VideoCodec | string; } export namespace VideoCodecSettings { @@ -1077,19 +1494,19 @@ export enum ColorSpaceConversion { */ export interface ColorCorrector { /** - * Contrast level. + * Hue in degrees. */ - Contrast?: number; + Hue?: number; /** - * Use these settings when you convert to the HDR 10 color space. Specify the SMPTE ST 2086 Mastering Display Color Volume static metadata that you want signaled in the output. These values don't affect the pixel values that are encoded in the video stream. They are intended to help the downstream video player display content in a way that reflects the intentions of the the content creator. When you set Color space conversion (ColorSpaceConversion) to HDR 10 (FORCE_HDR10), these settings are required. You must set values for Max frame average light level (maxFrameAverageLightLevel) and Max content light level (maxContentLightLevel); these settings don't have a default value. The default values for the other HDR 10 metadata settings are defined by the P3D65 color space. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. + * Contrast level. */ - Hdr10Metadata?: Hdr10Metadata; + Contrast?: number; /** - * Brightness level. + * Saturation level. */ - Brightness?: number; + Saturation?: number; /** * Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, from SDR to HDR, and from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output. HDR to SDR conversion uses Elemental tone mapping technology to approximate the outcome of manually regrading from HDR to SDR. @@ -1097,14 +1514,14 @@ export interface ColorCorrector { ColorSpaceConversion?: ColorSpaceConversion | string; /** - * Saturation level. + * Brightness level. */ - Saturation?: number; + Brightness?: number; /** - * Hue in degrees. + * Use these settings when you convert to the HDR 10 color space. Specify the SMPTE ST 2086 Mastering Display Color Volume static metadata that you want signaled in the output. These values don't affect the pixel values that are encoded in the video stream. They are intended to help the downstream video player display content in a way that reflects the intentions of the the content creator. When you set Color space conversion (ColorSpaceConversion) to HDR 10 (FORCE_HDR10), these settings are required. You must set values for Max frame average light level (maxFrameAverageLightLevel) and Max content light level (maxContentLightLevel); these settings don't have a default value. The default values for the other HDR 10 metadata settings are defined by the P3D65 color space. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. */ - Hue?: number; + Hdr10Metadata?: Hdr10Metadata; } export namespace ColorCorrector { @@ -1136,9 +1553,9 @@ export enum DeinterlacerMode { */ export interface Deinterlacer { /** - * - When set to NORMAL (default), the deinterlacer does not convert frames that are tagged in metadata as progressive. It will only convert those that are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer converts every frame to progressive - even those that are already tagged as progressive. Turn Force mode on only if there is a good chance that the metadata has tagged frames as progressive when they are not progressive. Do not turn on otherwise; processing frames that are already progressive into progressive will probably result in lower quality video. + * Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing. Default is Deinterlace. - Deinterlace converts interlaced to progressive. - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p. - Adaptive auto-detects and converts to progressive. */ - Control?: DeinterlacerControl | string; + Mode?: DeinterlacerMode | string; /** * Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE) or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER) OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling headline at the bottom of the frame. @@ -1146,9 +1563,9 @@ export interface Deinterlacer { Algorithm?: DeinterlaceAlgorithm | string; /** - * Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing. Default is Deinterlace. - Deinterlace converts interlaced to progressive. - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p. - Adaptive auto-detects and converts to progressive. + * - When set to NORMAL (default), the deinterlacer does not convert frames that are tagged in metadata as progressive. It will only convert those that are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer converts every frame to progressive - even those that are already tagged as progressive. Turn Force mode on only if there is a good chance that the metadata has tagged frames as progressive when they are not progressive. Do not turn on otherwise; processing frames that are already progressive into progressive will probably result in lower quality video. */ - Mode?: DeinterlacerMode | string; + Control?: DeinterlacerControl | string; } export namespace Deinterlacer { @@ -1192,11 +1609,6 @@ export enum DolbyVisionProfile { * Settings for Dolby Vision */ export interface DolbyVision { - /** - * Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies. - */ - L6Mode?: DolbyVisionLevel6Mode | string; - /** * In the current MediaConvert implementation, the Dolby Vision profile is always 5 (PROFILE_5). Therefore, all of your inputs must contain Dolby Vision frame interleaved data. */ @@ -1206,6 +1618,11 @@ export interface DolbyVision { * Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values in your input with new values. */ L6Metadata?: DolbyVisionLevel6Metadata; + + /** + * Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies. + */ + L6Mode?: DolbyVisionLevel6Mode | string; } export namespace DolbyVision { @@ -1251,14 +1668,14 @@ export interface NoiseReducerSpatialFilterSettings { PostFilterSharpenStrength?: number; /** - * The speed of the filter, from -2 (lower speed) to 3 (higher speed), with 0 being the nominal value. + * Relative strength of noise reducing filter. Higher values produce stronger filtering. */ - Speed?: number; + Strength?: number; /** - * Relative strength of noise reducing filter. Higher values produce stronger filtering. + * The speed of the filter, from -2 (lower speed) to 3 (higher speed), with 0 being the nominal value. */ - Strength?: number; + Speed?: number; } export namespace NoiseReducerSpatialFilterSettings { @@ -1277,6 +1694,11 @@ export enum NoiseFilterPostTemporalSharpening { * Noise reducer filter settings for temporal filter. */ export interface NoiseReducerTemporalFilterSettings { + /** + * The speed of the filter (higher number is faster). Low setting reduces bit rate at the cost of transcode time, high setting improves transcode time at the cost of bit rate. + */ + Speed?: number; + /** * Use Aggressive mode for content that has complex motion. Higher values produce stronger temporal filtering. This filters highly complex scenes more aggressively and creates better VQ for low bitrate outputs. */ @@ -1288,12 +1710,7 @@ export interface NoiseReducerTemporalFilterSettings { Strength?: number; /** - * The speed of the filter (higher number is faster). Low setting reduces bit rate at the cost of transcode time, high setting improves transcode time at the cost of bit rate. - */ - Speed?: number; - - /** - * Optional. When you set Noise reducer (noiseReducer) to Temporal (TEMPORAL), you can optionally use this setting to apply additional sharpening. The default behavior, Auto (AUTO) allows the transcoder to determine whether to apply filtering, depending on input type and quality. + * Optional. When you set Noise reducer (noiseReducer) to Temporal (TEMPORAL), you can use this setting to apply sharpening. The default behavior, Auto (AUTO), allows the transcoder to determine whether to apply filtering, depending on input type and quality. When you set Noise reducer to Temporal, your output bandwidth is reduced. When Post temporal sharpening is also enabled, that bandwidth reduction is smaller. */ PostTemporalSharpening?: NoiseFilterPostTemporalSharpening | string; } @@ -1309,9 +1726,9 @@ export namespace NoiseReducerTemporalFilterSettings { */ export interface NoiseReducer { /** - * Noise reducer filter settings for temporal filter. + * Noise reducer filter settings for spatial filter. */ - TemporalFilterSettings?: NoiseReducerTemporalFilterSettings; + SpatialFilterSettings?: NoiseReducerSpatialFilterSettings; /** * Use Noise reducer filter (NoiseReducerFilter) to select one of the following spatial image filtering functions. To use this setting, you must also enable Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing noise. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution filtering. * Conserve does min/max noise reduction. * Spatial does frequency-domain filtering based on JND principles. * Temporal optimizes video quality for complex motion. @@ -1319,14 +1736,14 @@ export interface NoiseReducer { Filter?: NoiseReducerFilter | string; /** - * Noise reducer filter settings for spatial filter. + * Settings for a noise reducer filter */ - SpatialFilterSettings?: NoiseReducerSpatialFilterSettings; + FilterSettings?: NoiseReducerFilterSettings; /** - * Settings for a noise reducer filter + * Noise reducer filter settings for temporal filter. */ - FilterSettings?: NoiseReducerFilterSettings; + TemporalFilterSettings?: NoiseReducerTemporalFilterSettings; } export namespace NoiseReducer { @@ -1348,24 +1765,24 @@ export enum WatermarkingStrength { */ export interface NexGuardFileMarkerSettings { /** - * Optional. Ignore this setting unless Nagra support directs you to specify a value. When you don't specify a value here, the Nagra NexGuard library uses its default value. + * Enter one of the watermarking preset strings that Nagra provides you. Required when you include Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings) in your job. */ - Strength?: WatermarkingStrength | string; + Preset?: string; /** - * Enter one of the watermarking preset strings that Nagra provides you. Required when you include Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings) in your job. + * Use the base64 license string that Nagra provides you. Enter it directly in your JSON job specification or in the console. Required when you include Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings) in your job. */ - Preset?: string; + License?: string; /** - * Specify the payload ID that you want associated with this output. Valid values vary depending on your Nagra NexGuard forensic watermarking workflow. Required when you include Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings) in your job. For PreRelease Content (NGPR/G2), specify an integer from 1 through 4,194,303. You must generate a unique ID for each asset you watermark, and keep a record of which ID you have assigned to each asset. Neither Nagra nor MediaConvert keep track of the relationship between output files and your IDs. For OTT Streaming, create two adaptive bitrate (ABR) stacks for each asset. Do this by setting up two output groups. For one output group, set the value of Payload ID (payload) to 0 in every output. For the other output group, set Payload ID (payload) to 1 in every output. + * Optional. Ignore this setting unless Nagra support directs you to specify a value. When you don't specify a value here, the Nagra NexGuard library uses its default value. */ - Payload?: number; + Strength?: WatermarkingStrength | string; /** - * Use the base64 license string that Nagra provides you. Enter it directly in your JSON job specification or in the console. Required when you include Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings) in your job. + * Specify the payload ID that you want associated with this output. Valid values vary depending on your Nagra NexGuard forensic watermarking workflow. Required when you include Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings) in your job. For PreRelease Content (NGPR/G2), specify an integer from 1 through 4,194,303. You must generate a unique ID for each asset you watermark, and keep a record of which ID you have assigned to each asset. Neither Nagra nor MediaConvert keep track of the relationship between output files and your IDs. For OTT Streaming, create two adaptive bitrate (ABR) stacks for each asset. Do this by setting up two output groups. For one output group, set the value of Payload ID (payload) to 0 in every output. For the other output group, set Payload ID (payload) to 1 in every output. */ - License?: string; + Payload?: number; } export namespace NexGuardFileMarkerSettings { @@ -1412,14 +1829,14 @@ export interface TimecodeBurnin { Prefix?: string; /** - * Use Font Size (FontSize) to set the font size of any burned-in timecode. Valid values are 10, 16, 32, 48. + * Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to specify the location the burned-in timecode on output video. */ - FontSize?: number; + Position?: TimecodeBurninPosition | string; /** - * Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to specify the location the burned-in timecode on output video. + * Use Font Size (FontSize) to set the font size of any burned-in timecode. Valid values are 10, 16, 32, 48. */ - Position?: TimecodeBurninPosition | string; + FontSize?: number; } export namespace TimecodeBurnin { @@ -1433,39 +1850,39 @@ export namespace TimecodeBurnin { */ export interface VideoPreprocessor { /** - * Use Deinterlacer (Deinterlacer) to produce smoother motion and a clearer picture. + * Enable the Noise reducer (NoiseReducer) feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. */ - Deinterlacer?: Deinterlacer; + NoiseReducer?: NoiseReducer; /** - * Enable Dolby Vision feature to produce Dolby Vision compatible video output. + * Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified prefix into the output. */ - DolbyVision?: DolbyVision; + TimecodeBurnin?: TimecodeBurnin; /** - * Enable the Color corrector (ColorCorrector) feature if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. + * If you work with a third party video watermarking partner, use the group of settings that correspond with your watermarking partner to include watermarks in your output. */ - ColorCorrector?: ColorCorrector; + PartnerWatermarking?: PartnerWatermarking; /** - * Enable the Image inserter (ImageInserter) feature to include a graphic overlay on your video. Enable or disable this feature for each output individually. This setting is disabled by default. + * Use Deinterlacer (Deinterlacer) to produce smoother motion and a clearer picture. */ - ImageInserter?: ImageInserter; + Deinterlacer?: Deinterlacer; /** - * If you work with a third party video watermarking partner, use the group of settings that correspond with your watermarking partner to include watermarks in your output. + * Enable the Color corrector (ColorCorrector) feature if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. */ - PartnerWatermarking?: PartnerWatermarking; + ColorCorrector?: ColorCorrector; /** - * Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified prefix into the output. + * Enable Dolby Vision feature to produce Dolby Vision compatible video output. */ - TimecodeBurnin?: TimecodeBurnin; + DolbyVision?: DolbyVision; /** - * Enable the Noise reducer (NoiseReducer) feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. + * Enable the Image inserter (ImageInserter) feature to include a graphic overlay on your video. Enable or disable this feature for each output individually. This setting is disabled by default. */ - NoiseReducer?: NoiseReducer; + ImageInserter?: ImageInserter; } export namespace VideoPreprocessor { @@ -1484,39 +1901,39 @@ export interface VideoDescription { Position?: Rectangle; /** - * Find additional transcoding features under Preprocessors (VideoPreprocessors). Enable the features at each output individually. These features are disabled by default. + * Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use Fixed (FixedAfd) to specify a four-bit AFD value which the service will write on all frames of this video output. */ - VideoPreprocessors?: VideoPreprocessor; + FixedAfd?: number; /** - * Use Respond to AFD (RespondToAfd) to specify how the service changes the video itself in response to AFD values in the input. * Choose Respond to clip the input video frame according to the AFD value, input display aspect ratio, and output display aspect ratio. * Choose Passthrough to include the input AFD values. Do not choose this when AfdSignaling is set to (NONE). A preferred implementation of this workflow is to set RespondToAfd to (NONE) and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this output. + * The anti-alias filter is automatically applied to all outputs. The service no longer accepts the value DISABLED for AntiAlias. If you specify that in your job, the service will ignore the setting. */ - RespondToAfd?: RespondToAfd | string; + AntiAlias?: AntiAlias | string; /** - * Use the Height (Height) setting to define the video resolution height for this output. Specify in pixels. If you don't provide a value here, the service will use the input height. + * Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AV1, Av1Settings * AVC_INTRA, AvcIntraSettings * FRAME_CAPTURE, FrameCaptureSettings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VC3, Vc3Settings * VP8, Vp8Settings * VP9, Vp9Settings */ - Height?: number; + CodecSettings?: VideoCodecSettings; /** - * Specify how the service handles outputs that have a different aspect ratio from the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the service stretch your video image to fit. Keep the setting Default (DEFAULT) to have the service letterbox your video instead. This setting overrides any value that you specify for the setting Selection placement (position) in this output. + * Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing. This setting changes the width of the anti-alias filter kernel used for scaling. Sharpness only applies if your output resolution is different from your input resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content. */ - ScalingBehavior?: ScalingBehavior | string; + Sharpness?: number; /** - * Applies only to 29.97 fps outputs. When this feature is enabled, the service will use drop-frame timecode on outputs. If it is not possible to use drop-frame timecode, the system will fall back to non-drop-frame. This setting is enabled by default when Timecode insertion (TimecodeInsertion) is enabled. + * This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD signaling (AfdSignaling) to specify whether the service includes AFD values in the output video data and what those values are. * Choose None to remove all AFD values from this output. * Choose Fixed to ignore input AFD values and instead encode the value specified in the job. * Choose Auto to calculate output AFD values based on the input AFD scaler data. */ - DropFrameTimecode?: DropFrameTimecode | string; + AfdSignaling?: AfdSignaling | string; /** - * Use Width (Width) to define the video resolution width, in pixels, for this output. If you don't provide a value here, the service will use the input width. + * Use Cropping selection (crop) to specify the video area that the service will include in the output video frame. */ - Width?: number; + Crop?: Rectangle; /** - * Use Cropping selection (crop) to specify the video area that the service will include in the output video frame. + * Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode insertion when the input frame rate is identical to the output frame rate. To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. When the service inserts timecodes in an output, by default, it uses any embedded timecodes from the input. If none are present, the service will set the timecode for the first output frame to zero. To change this default behavior, adjust the settings under Timecode configuration (TimecodeConfig). In the console, these settings are located under Job > Job settings > Timecode configuration. Note - Timecode source under input settings (InputTimecodeSource) does not affect the timecodes that are inserted in the output. Source under Job settings > Timecode configuration (TimecodeSource) does. */ - Crop?: Rectangle; + TimecodeInsertion?: VideoTimecodeInsertion | string; /** * Choose Insert (INSERT) for this setting to include color metadata in this output. Choose Ignore (IGNORE) to exclude color metadata from this output. If you don't specify a value, the service sets this to Insert by default. @@ -1524,34 +1941,34 @@ export interface VideoDescription { ColorMetadata?: ColorMetadata | string; /** - * Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode insertion when the input frame rate is identical to the output frame rate. To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. When the service inserts timecodes in an output, by default, it uses any embedded timecodes from the input. If none are present, the service will set the timecode for the first output frame to zero. To change this default behavior, adjust the settings under Timecode configuration (TimecodeConfig). In the console, these settings are located under Job > Job settings > Timecode configuration. Note - Timecode source under input settings (InputTimecodeSource) does not affect the timecodes that are inserted in the output. Source under Job settings > Timecode configuration (TimecodeSource) does. + * Specify how the service handles outputs that have a different aspect ratio from the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the service stretch your video image to fit. Keep the setting Default (DEFAULT) to have the service letterbox your video instead. This setting overrides any value that you specify for the setting Selection placement (position) in this output. */ - TimecodeInsertion?: VideoTimecodeInsertion | string; + ScalingBehavior?: ScalingBehavior | string; /** - * This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD signaling (AfdSignaling) to specify whether the service includes AFD values in the output video data and what those values are. * Choose None to remove all AFD values from this output. * Choose Fixed to ignore input AFD values and instead encode the value specified in the job. * Choose Auto to calculate output AFD values based on the input AFD scaler data. + * Use Respond to AFD (RespondToAfd) to specify how the service changes the video itself in response to AFD values in the input. * Choose Respond to clip the input video frame according to the AFD value, input display aspect ratio, and output display aspect ratio. * Choose Passthrough to include the input AFD values. Do not choose this when AfdSignaling is set to (NONE). A preferred implementation of this workflow is to set RespondToAfd to (NONE) and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this output. */ - AfdSignaling?: AfdSignaling | string; + RespondToAfd?: RespondToAfd | string; /** - * Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing. This setting changes the width of the anti-alias filter kernel used for scaling. Sharpness only applies if your output resolution is different from your input resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content. + * Use the Height (Height) setting to define the video resolution height for this output. Specify in pixels. If you don't provide a value here, the service will use the input height. */ - Sharpness?: number; + Height?: number; /** - * Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * VP9, Vp9Settings + * Applies only to 29.97 fps outputs. When this feature is enabled, the service will use drop-frame timecode on outputs. If it is not possible to use drop-frame timecode, the system will fall back to non-drop-frame. This setting is enabled by default when Timecode insertion (TimecodeInsertion) is enabled. */ - CodecSettings?: VideoCodecSettings; + DropFrameTimecode?: DropFrameTimecode | string; /** - * Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use Fixed (FixedAfd) to specify a four-bit AFD value which the service will write on all frames of this video output. + * Find additional transcoding features under Preprocessors (VideoPreprocessors). Enable the features at each output individually. These features are disabled by default. */ - FixedAfd?: number; + VideoPreprocessors?: VideoPreprocessor; /** - * The anti-alias filter is automatically applied to all outputs. The service no longer accepts the value DISABLED for AntiAlias. If you specify that in your job, the service will ignore the setting. + * Use Width (Width) to define the video resolution width, in pixels, for this output. If you don't provide a value here, the service will use the input width. */ - AntiAlias?: AntiAlias | string; + Width?: number; } export namespace VideoDescription { @@ -1565,9 +1982,9 @@ export namespace VideoDescription { */ export interface Output { /** - * Use Preset (Preset) to specifiy a preset for your transcoding settings. Provide the system or custom preset name. You can specify either Preset (Preset) or Container settings (ContainerSettings), but not both. + * (VideoDescription) contains a group of video encoding settings. The specific video settings depend on the video codec that you choose when you specify a value for Video codec (codec). Include one instance of (VideoDescription) per output. */ - Preset?: string; + VideoDescription?: VideoDescription; /** * (CaptionDescriptions) contains groups of captions settings. For each output that has captions, include one instance of (CaptionDescriptions). (CaptionDescriptions) can contain multiple groups of captions settings. @@ -1575,34 +1992,34 @@ export interface Output { CaptionDescriptions?: CaptionDescription[]; /** - * Container specific settings. + * Use Extension (Extension) to specify the file extension for outputs in File output groups. If you do not specify a value, the service will use default extensions by container type as follows * MPEG-2 transport stream, m2ts * Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * WebM container, webm * No Container, the service will use codec extensions (e.g. AAC, H265, H265, AC3) */ - ContainerSettings?: ContainerSettings; + Extension?: string; /** - * Specific settings for this type of output. + * Container specific settings. */ - OutputSettings?: OutputSettings; + ContainerSettings?: ContainerSettings; /** - * Use Name modifier (NameModifier) to have the service add a string to the end of each output filename. You specify the base filename as part of your destination URI. When you create multiple outputs in the same output group, Name modifier (NameModifier) is required. Name modifier also accepts format identifiers. For DASH ISO outputs, if you use the format identifiers $Number$ or $Time$ in one output, you must use them in the same way in all outputs of the output group. + * (AudioDescriptions) contains groups of audio encoding settings organized by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions) can contain multiple groups of encoding settings. */ - NameModifier?: string; + AudioDescriptions?: AudioDescription[]; /** - * Use Extension (Extension) to specify the file extension for outputs in File output groups. If you do not specify a value, the service will use default extensions by container type as follows * MPEG-2 transport stream, m2ts * Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * WebM container, webm * No Container, the service will use codec extensions (e.g. AAC, H265, H265, AC3) + * Specific settings for this type of output. */ - Extension?: string; + OutputSettings?: OutputSettings; /** - * (VideoDescription) contains a group of video encoding settings. The specific video settings depend on the video codec that you choose when you specify a value for Video codec (codec). Include one instance of (VideoDescription) per output. + * Use Name modifier (NameModifier) to have the service add a string to the end of each output filename. You specify the base filename as part of your destination URI. When you create multiple outputs in the same output group, Name modifier (NameModifier) is required. Name modifier also accepts format identifiers. For DASH ISO outputs, if you use the format identifiers $Number$ or $Time$ in one output, you must use them in the same way in all outputs of the output group. */ - VideoDescription?: VideoDescription; + NameModifier?: string; /** - * (AudioDescriptions) contains groups of audio encoding settings organized by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions) can contain multiple groups of encoding settings. + * Use Preset (Preset) to specifiy a preset for your transcoding settings. Provide the system or custom preset name. You can specify either Preset (Preset) or Container settings (ContainerSettings), but not both. */ - AudioDescriptions?: AudioDescription[]; + Preset?: string; } export namespace Output { @@ -1616,9 +2033,9 @@ export namespace Output { */ export interface OutputGroup { /** - * Output Group settings, including type + * This object holds groups of encoding settings, one group of settings per output. */ - OutputGroupSettings?: OutputGroupSettings; + Outputs?: Output[]; /** * Use Custom Group Name (CustomName) to specify a name for the output group. This value is displayed on the console and can make your job settings JSON more human-readable. It does not affect your outputs. Use up to twelve characters that are either letters, numbers, spaces, or underscores. @@ -1626,14 +2043,14 @@ export interface OutputGroup { CustomName?: string; /** - * Name of the output group + * Output Group settings, including type */ - Name?: string; + OutputGroupSettings?: OutputGroupSettings; /** - * This object holds groups of encoding settings, one group of settings per output. + * Name of the output group */ - Outputs?: Output[]; + Name?: string; } export namespace OutputGroup { @@ -1653,14 +2070,14 @@ export enum TimecodeSource { */ export interface TimecodeConfig { /** - * Use Source (TimecodeSource) to set how timecodes are handled within this job. To make sure that your video, audio, captions, and markers are synchronized and that time-based features, such as image inserter, work correctly, choose the Timecode source option that matches your assets. All timecodes are in a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) - Use the timecode that is in the input video. If no embedded timecode is in the source, the service will use Start at 0 (ZEROBASED) instead. * Start at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00. * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame to a value other than zero. You use Start timecode (Start) to provide this value. + * Only use when you set Source (TimecodeSource) to Specified start (SPECIFIEDSTART). Use Start timecode (Start) to specify the timecode for the initial frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF). */ - Source?: TimecodeSource | string; + Start?: string; /** - * Only use when you set Source (TimecodeSource) to Specified start (SPECIFIEDSTART). Use Start timecode (Start) to specify the timecode for the initial frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF). + * Only applies to outputs that support program-date-time stamp. Use Timestamp offset (TimestampOffset) to overwrite the timecode date without affecting the time and frame number. Provide the new date as a string in the format "yyyy-mm-dd". To use Time stamp offset, you must also enable Insert program-date-time (InsertProgramDateTime) in the output settings. For example, if the date part of your timecodes is 2002-1-25 and you want to change it to one year later, set Timestamp offset (TimestampOffset) to 2003-1-25. */ - Start?: string; + TimestampOffset?: string; /** * If you use an editing platform that relies on an anchor timecode, use Anchor Timecode (Anchor) to specify a timecode that will match the input video frame to the output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for Anchor Timecode varies depending on your setting for Source (TimecodeSource). * If Source (TimecodeSource) is set to Specified Start (SPECIFIEDSTART), the first input frame is the specified value in Start Timecode (Start). Anchor Timecode (Anchor) and Start Timecode (Start) are used calculate output timecode. * If Source (TimecodeSource) is set to Start at 0 (ZEROBASED) the first frame is 00:00:00:00. * If Source (TimecodeSource) is set to Embedded (EMBEDDED), the first frame is the timecode value on the first input frame of the input. @@ -1668,9 +2085,9 @@ export interface TimecodeConfig { Anchor?: string; /** - * Only applies to outputs that support program-date-time stamp. Use Timestamp offset (TimestampOffset) to overwrite the timecode date without affecting the time and frame number. Provide the new date as a string in the format "yyyy-mm-dd". To use Time stamp offset, you must also enable Insert program-date-time (InsertProgramDateTime) in the output settings. For example, if the date part of your timecodes is 2002-1-25 and you want to change it to one year later, set Timestamp offset (TimestampOffset) to 2003-1-25. + * Use Source (TimecodeSource) to set how timecodes are handled within this job. To make sure that your video, audio, captions, and markers are synchronized and that time-based features, such as image inserter, work correctly, choose the Timecode source option that matches your assets. All timecodes are in a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) - Use the timecode that is in the input video. If no embedded timecode is in the source, the service will use Start at 0 (ZEROBASED) instead. * Start at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00. * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame to a value other than zero. You use Start timecode (Start) to provide this value. */ - TimestampOffset?: string; + Source?: TimecodeSource | string; } export namespace TimecodeConfig { @@ -1680,7 +2097,7 @@ export namespace TimecodeConfig { } /** - * Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in your job. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects. + * Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in any HLS outputs. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects. */ export interface TimedMetadataInsertion { /** @@ -1700,49 +2117,54 @@ export namespace TimedMetadataInsertion { */ export interface JobSettings { /** - * Contains settings used to acquire and adjust timecode information from inputs. + * Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails. */ - TimecodeConfig?: TimecodeConfig; + AvailBlanking?: AvailBlanking; /** - * Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in your job. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects. + * Settings for your Nielsen configuration. If you don't do Nielsen measurement and analytics, ignore these settings. When you enable Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs in the job. To enable Nielsen configuration programmatically, include an instance of nielsenConfiguration in your JSON job specification. Even if you don't include any children of nielsenConfiguration, you still enable the setting. */ - TimedMetadataInsertion?: TimedMetadataInsertion; + NielsenConfiguration?: NielsenConfiguration; /** - * Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails. + * Settings for Event Signaling And Messaging (ESAM). */ - AvailBlanking?: AvailBlanking; + Esam?: EsamSettings; /** - * Overlay motion graphics on top of your video. The motion graphics that you specify here appear on all outputs in all output groups. + * Contains settings used to acquire and adjust timecode information from inputs. */ - MotionImageInserter?: MotionImageInserter; + TimecodeConfig?: TimecodeConfig; /** - * (OutputGroups) contains one group of settings for each set of outputs that share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no container) are grouped in a single output group as well. Required in (OutputGroups) is a group of settings that apply to the whole group. This required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings). Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings + * Ignore these settings unless you are using Nielsen non-linear watermarking. Specify the values that MediaConvert uses to generate and place Nielsen watermarks in your output audio. In addition to specifying these values, you also need to set up your cloud TIC server. These settings apply to every output in your job. The MediaConvert implementation is currently with the following Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0] */ - OutputGroups?: OutputGroup[]; + NielsenNonLinearWatermark?: NielsenNonLinearWatermarkSettings; /** - * Use Inputs (inputs) to define source file used in the transcode job. There can be multiple inputs add in a job. These inputs will be concantenated together to create the output. + * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. */ - Inputs?: Input[]; + AdAvailOffset?: number; /** - * Settings for your Nielsen configuration. If you don't do Nielsen measurement and analytics, ignore these settings. When you enable Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs in the job. To enable Nielsen configuration programmatically, include an instance of nielsenConfiguration in your JSON job specification. Even if you don't include any children of nielsenConfiguration, you still enable the setting. + * Overlay motion graphics on top of your video. The motion graphics that you specify here appear on all outputs in all output groups. */ - NielsenConfiguration?: NielsenConfiguration; + MotionImageInserter?: MotionImageInserter; /** - * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. + * Use Inputs (inputs) to define source file used in the transcode job. There can be multiple inputs add in a job. These inputs will be concantenated together to create the output. */ - AdAvailOffset?: number; + Inputs?: Input[]; /** - * Settings for Event Signaling And Messaging (ESAM). + * (OutputGroups) contains one group of settings for each set of outputs that share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no container) are grouped in a single output group as well. Required in (OutputGroups) is a group of settings that apply to the whole group. This required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings). Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings */ - Esam?: EsamSettings; + OutputGroups?: OutputGroup[]; + + /** + * Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in any HLS outputs. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects. + */ + TimedMetadataInsertion?: TimedMetadataInsertion; } export namespace JobSettings { @@ -1786,11 +2208,6 @@ export enum StatusUpdateInterval { * Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds. */ export interface Timing { - /** - * The time, in Unix epoch format, that transcoding for the job began. - */ - StartTime?: Date; - /** * The time, in Unix epoch format, that you submitted the job. */ @@ -1800,6 +2217,11 @@ export interface Timing { * The time, in Unix epoch format, that the transcoding job finished */ FinishTime?: Date; + + /** + * The time, in Unix epoch format, that transcoding for the job began. + */ + StartTime?: Date; } export namespace Timing { @@ -1809,33 +2231,38 @@ export namespace Timing { } /** - * Each job converts an input file into an output file or files. For more information, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html + * Each job converts an input file into an output file or files. For more information, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html */ export interface Job { /** - * Error code for the job + * The job's queue hopping history. + */ + QueueTransitions?: QueueTransition[]; + + /** + * User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs. */ - ErrorCode?: number; + UserMetadata?: { [key: string]: string }; /** - * JobSettings contains all the transcode settings for a job. + * Accelerated transcoding can significantly speed up jobs with long, visually complex content. */ - Settings: JobSettings | undefined; + AccelerationSettings?: AccelerationSettings; /** - * The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html + * An estimate of how far your job has progressed. This estimate is shown as a percentage of the total time from when your job leaves its queue to when your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the response to GetJob and ListJobs requests. The jobPercentComplete estimate is reliable for the following input containers: Quicktime, Transport Stream, MP4, and MXF. For some jobs, the service can't provide information about job progress. In those cases, jobPercentComplete returns a null value. */ - Role: string | undefined; + JobPercentComplete?: number; /** - * Describes whether the current job is running with accelerated transcoding. For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. AccelerationStatus is IN_PROGRESS initially, while the service determines whether the input files and job settings are compatible with accelerated transcoding. If they are, AcclerationStatus is ACCELERATED. If your input files and job settings aren't compatible with accelerated transcoding, the service either fails your job or runs it without accelerated transcoding, depending on how you set Acceleration (AccelerationMode). When the service runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED. + * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. */ - AccelerationStatus?: AccelerationStatus | string; + StatusUpdateInterval?: StatusUpdateInterval | string; /** - * Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default. + * The tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up. */ - SimulateReservedQueue?: SimulateReservedQueue | string; + BillingTagsSource?: BillingTagsSource | string; /** * Relative priority on the job. @@ -1848,34 +2275,29 @@ export interface Job { CurrentPhase?: JobPhase | string; /** - * A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR. - */ - Status?: JobStatus | string; - - /** - * The tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up. + * The number of times that the service automatically attempted to process your job after encountering an error. */ - BillingTagsSource?: BillingTagsSource | string; + RetryCount?: number; /** - * Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds. + * When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html */ - Timing?: Timing; + Queue?: string; /** - * A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources + * Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default. */ - Id?: string; + SimulateReservedQueue?: SimulateReservedQueue | string; /** - * Provides messages from the service about jobs that you have already successfully submitted. + * JobSettings contains all the transcode settings for a job. */ - Messages?: JobMessages; + Settings: JobSettings | undefined; /** - * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. + * Error code for the job */ - StatusUpdateInterval?: StatusUpdateInterval | string; + ErrorCode?: number; /** * Optional list of hop destinations. @@ -1883,59 +2305,59 @@ export interface Job { HopDestinations?: HopDestination[]; /** - * The time, in Unix epoch format in seconds, when the job got created. + * List of output group details */ - CreatedAt?: Date; + OutputGroupDetails?: OutputGroupDetail[]; /** - * The job template that the job is created from, if it is created from a job template. + * A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources */ - JobTemplate?: string; + Id?: string; /** - * An estimate of how far your job has progressed. This estimate is shown as a percentage of the total time from when your job leaves its queue to when your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the response to GetJob and ListJobs requests. The jobPercentComplete estimate is reliable for the following input containers: Quicktime, Transport Stream, MP4, and MXF. For some jobs, the service can't provide information about job progress. In those cases, jobPercentComplete returns a null value. + * The job template that the job is created from, if it is created from a job template. */ - JobPercentComplete?: number; + JobTemplate?: string; /** - * User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs. + * Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds. */ - UserMetadata?: { [key: string]: string }; + Timing?: Timing; /** - * When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html + * Provides messages from the service about jobs that you have already successfully submitted. */ - Queue?: string; + Messages?: JobMessages; /** - * Accelerated transcoding can significantly speed up jobs with long, visually complex content. + * Describes whether the current job is running with accelerated transcoding. For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. AccelerationStatus is IN_PROGRESS initially, while the service determines whether the input files and job settings are compatible with accelerated transcoding. If they are, AcclerationStatus is ACCELERATED. If your input files and job settings aren't compatible with accelerated transcoding, the service either fails your job or runs it without accelerated transcoding, depending on how you set Acceleration (AccelerationMode). When the service runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED. */ - AccelerationSettings?: AccelerationSettings; + AccelerationStatus?: AccelerationStatus | string; /** - * An identifier for this resource that is unique within all of AWS. + * The time, in Unix epoch format in seconds, when the job got created. */ - Arn?: string; + CreatedAt?: Date; /** - * Error message of Job + * The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html */ - ErrorMessage?: string; + Role: string | undefined; /** - * List of output group details + * A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR. */ - OutputGroupDetails?: OutputGroupDetail[]; + Status?: JobStatus | string; /** - * The number of times that the service automatically attempted to process your job after encountering an error. + * An identifier for this resource that is unique within all of AWS. */ - RetryCount?: number; + Arn?: string; /** - * The job's queue hopping history. + * Error message of Job */ - QueueTransitions?: QueueTransition[]; + ErrorMessage?: string; } export namespace Job { @@ -1949,19 +2371,19 @@ export namespace Job { */ export interface JobTemplateSettings { /** - * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. + * Use Inputs (inputs) to define the source file used in the transcode job. There can only be one input in a job template. Using the API, you can include multiple inputs when referencing a job template. */ - AdAvailOffset?: number; + Inputs?: InputTemplate[]; /** - * Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in your job. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects. + * Overlay motion graphics on top of your video. The motion graphics that you specify here appear on all outputs in all output groups. */ - TimedMetadataInsertion?: TimedMetadataInsertion; + MotionImageInserter?: MotionImageInserter; /** - * Settings for Event Signaling And Messaging (ESAM). + * Ignore these settings unless you are using Nielsen non-linear watermarking. Specify the values that MediaConvert uses to generate and place Nielsen watermarks in your output audio. In addition to specifying these values, you also need to set up your cloud TIC server. These settings apply to every output in your job. The MediaConvert implementation is currently with the following Nielsen versions: Nielsen Watermark SDK Version 5.2.1 Nielsen NLM Watermark Engine Version 1.2.7 Nielsen Watermark Authenticator [SID_TIC] Version [5.0.0] */ - Esam?: EsamSettings; + NielsenNonLinearWatermark?: NielsenNonLinearWatermarkSettings; /** * Contains settings used to acquire and adjust timecode information from inputs. @@ -1974,24 +2396,29 @@ export interface JobTemplateSettings { OutputGroups?: OutputGroup[]; /** - * Overlay motion graphics on top of your video. The motion graphics that you specify here appear on all outputs in all output groups. + * Settings for your Nielsen configuration. If you don't do Nielsen measurement and analytics, ignore these settings. When you enable Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs in the job. To enable Nielsen configuration programmatically, include an instance of nielsenConfiguration in your JSON job specification. Even if you don't include any children of nielsenConfiguration, you still enable the setting. */ - MotionImageInserter?: MotionImageInserter; + NielsenConfiguration?: NielsenConfiguration; /** - * Use Inputs (inputs) to define the source file used in the transcode job. There can only be one input in a job template. Using the API, you can include multiple inputs when referencing a job template. + * Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails. */ - Inputs?: InputTemplate[]; + AvailBlanking?: AvailBlanking; /** - * Settings for your Nielsen configuration. If you don't do Nielsen measurement and analytics, ignore these settings. When you enable Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs in the job. To enable Nielsen configuration programmatically, include an instance of nielsenConfiguration in your JSON job specification. Even if you don't include any children of nielsenConfiguration, you still enable the setting. + * Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in any HLS outputs. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects. */ - NielsenConfiguration?: NielsenConfiguration; + TimedMetadataInsertion?: TimedMetadataInsertion; /** - * Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails. + * Settings for Event Signaling And Messaging (ESAM). */ - AvailBlanking?: AvailBlanking; + Esam?: EsamSettings; + + /** + * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. + */ + AdAvailOffset?: number; } export namespace JobTemplateSettings { @@ -2015,64 +2442,64 @@ export interface JobTemplate { HopDestinations?: HopDestination[]; /** - * A name you create for each job template. Each name must be unique within your account. + * Accelerated transcoding can significantly speed up jobs with long, visually complex content. */ - Name: string | undefined; + AccelerationSettings?: AccelerationSettings; /** - * The timestamp in epoch seconds when the Job template was last updated. + * A job template can be of two types: system or custom. System or built-in job templates can't be modified or deleted by the user. */ - LastUpdated?: Date; + Type?: Type | string; /** - * JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it. + * A name you create for each job template. Each name must be unique within your account. */ - Settings: JobTemplateSettings | undefined; + Name: string | undefined; /** - * Relative priority on the job. + * Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue. */ - Priority?: number; + Queue?: string; /** - * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. + * The timestamp in epoch seconds for Job template creation. */ - StatusUpdateInterval?: StatusUpdateInterval | string; + CreatedAt?: Date; /** - * An identifier for this resource that is unique within all of AWS. + * An optional description you create for each job template. */ - Arn?: string; + Description?: string; /** - * A job template can be of two types: system or custom. System or built-in job templates can't be modified or deleted by the user. + * An optional category you create to organize your job templates. */ - Type?: Type | string; + Category?: string; /** - * The timestamp in epoch seconds for Job template creation. + * An identifier for this resource that is unique within all of AWS. */ - CreatedAt?: Date; + Arn?: string; /** - * Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue. + * JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it. */ - Queue?: string; + Settings: JobTemplateSettings | undefined; /** - * Accelerated transcoding can significantly speed up jobs with long, visually complex content. + * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. */ - AccelerationSettings?: AccelerationSettings; + StatusUpdateInterval?: StatusUpdateInterval | string; /** - * An optional category you create to organize your job templates. + * The timestamp in epoch seconds when the Job template was last updated. */ - Category?: string; + LastUpdated?: Date; /** - * An optional description you create for each job template. + * Relative priority on the job. */ - Description?: string; + Priority?: number; } export namespace JobTemplate { @@ -2086,9 +2513,9 @@ export namespace JobTemplate { */ export interface PresetSettings { /** - * Caption settings for this preset. There can be multiple caption settings in a single output. + * (AudioDescriptions) contains groups of audio encoding settings organized by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions) can contain multiple groups of encoding settings. */ - CaptionDescriptions?: CaptionDescriptionPreset[]; + AudioDescriptions?: AudioDescription[]; /** * (VideoDescription) contains a group of video encoding settings. The specific video settings depend on the video codec that you choose when you specify a value for Video codec (codec). Include one instance of (VideoDescription) per output. @@ -2096,14 +2523,14 @@ export interface PresetSettings { VideoDescription?: VideoDescription; /** - * (AudioDescriptions) contains groups of audio encoding settings organized by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions) can contain multiple groups of encoding settings. + * Container specific settings. */ - AudioDescriptions?: AudioDescription[]; + ContainerSettings?: ContainerSettings; /** - * Container specific settings. + * Caption settings for this preset. There can be multiple caption settings in a single output. */ - ContainerSettings?: ContainerSettings; + CaptionDescriptions?: CaptionDescriptionPreset[]; } export namespace PresetSettings { @@ -2116,6 +2543,11 @@ export namespace PresetSettings { * A preset is a collection of preconfigured media conversion settings that you want MediaConvert to apply to the output during the conversion process. */ export interface Preset { + /** + * An identifier for this resource that is unique within all of AWS. + */ + Arn?: string; + /** * The timestamp in epoch seconds when the preset was last updated. */ @@ -2131,6 +2563,11 @@ export interface Preset { */ Settings: PresetSettings | undefined; + /** + * A preset can be of two types: system or custom. System or built-in preset can't be modified or deleted by the user. + */ + Type?: Type | string; + /** * The timestamp in epoch seconds for preset creation. */ @@ -2145,16 +2582,6 @@ export interface Preset { * An optional category you create to organize your presets. */ Category?: string; - - /** - * A preset can be of two types: system or custom. System or built-in preset can't be modified or deleted by the user. - */ - Type?: Type | string; - - /** - * An identifier for this resource that is unique within all of AWS. - */ - Arn?: string; } export namespace Preset { @@ -2186,35 +2613,35 @@ export enum ReservationPlanStatus { * Details about the pricing plan for your reserved queue. Required for reserved queues and not applicable to on-demand queues. */ export interface ReservationPlan { + /** + * Specifies whether the pricing plan for your reserved queue is ACTIVE or EXPIRED. + */ + Status?: ReservationPlanStatus | string; + /** * The timestamp in epoch seconds for when you set up the current pricing plan for this reserved queue. */ PurchasedAt?: Date; /** - * The length of the term of your reserved queue pricing plan commitment. + * The timestamp in epoch seconds for when the current pricing plan term for this reserved queue expires. */ - Commitment?: Commitment | string; + ExpiresAt?: Date; /** - * Specifies whether the pricing plan for your reserved queue is ACTIVE or EXPIRED. + * Specifies whether the term of your reserved queue pricing plan is automatically extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. */ - Status?: ReservationPlanStatus | string; + RenewalType?: RenewalType | string; /** - * The timestamp in epoch seconds for when the current pricing plan term for this reserved queue expires. + * The length of the term of your reserved queue pricing plan commitment. */ - ExpiresAt?: Date; + Commitment?: Commitment | string; /** * Specifies the number of reserved transcode slots (RTS) for this queue. The number of RTS determines how many jobs the queue can process in parallel; each RTS can process one job at a time. When you increase this number, you extend your existing commitment with a new 12-month commitment for a larger number of RTS. The new commitment begins when you purchase the additional capacity. You can't decrease the number of RTS in your reserved queue. */ ReservedSlots?: number; - - /** - * Specifies whether the term of your reserved queue pricing plan is automatically extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. - */ - RenewalType?: RenewalType | string; } export namespace ReservationPlan { @@ -2233,19 +2660,19 @@ export enum QueueStatus { */ export interface Queue { /** - * The estimated number of jobs with a SUBMITTED status. + * Specifies whether this on-demand queue is system or custom. System queues are built in. You can't modify or delete system queues. You can create and modify custom queues. */ - SubmittedJobsCount?: number; + Type?: Type | string; /** - * An optional description that you create for each queue. + * Queues can be ACTIVE or PAUSED. If you pause a queue, the service won't begin processing jobs in that queue. Jobs that are running when you pause the queue continue to run until they finish or result in an error. */ - Description?: string; + Status?: QueueStatus | string; /** - * An identifier for this resource that is unique within all of AWS. + * An optional description that you create for each queue. */ - Arn?: string; + Description?: string; /** * The timestamp in epoch seconds for when you created the queue. @@ -2253,39 +2680,39 @@ export interface Queue { CreatedAt?: Date; /** - * A name that you create for each queue. Each name must be unique within your account. + * Specifies whether the pricing plan for the queue is on-demand or reserved. For on-demand, you pay per minute, billed in increments of .01 minute. For reserved, you pay for the transcoding capacity of the entire queue, regardless of how much or how little you use it. Reserved pricing requires a 12-month commitment. */ - Name: string | undefined; + PricingPlan?: PricingPlan | string; /** - * The estimated number of jobs with a PROGRESSING status. + * The timestamp in epoch seconds for when you most recently updated the queue. */ - ProgressingJobsCount?: number; + LastUpdated?: Date; /** - * Specifies whether this on-demand queue is system or custom. System queues are built in. You can't modify or delete system queues. You can create and modify custom queues. + * Details about the pricing plan for your reserved queue. Required for reserved queues and not applicable to on-demand queues. */ - Type?: Type | string; + ReservationPlan?: ReservationPlan; /** - * Specifies whether the pricing plan for the queue is on-demand or reserved. For on-demand, you pay per minute, billed in increments of .01 minute. For reserved, you pay for the transcoding capacity of the entire queue, regardless of how much or how little you use it. Reserved pricing requires a 12-month commitment. + * The estimated number of jobs with a SUBMITTED status. */ - PricingPlan?: PricingPlan | string; + SubmittedJobsCount?: number; /** - * Queues can be ACTIVE or PAUSED. If you pause a queue, the service won't begin processing jobs in that queue. Jobs that are running when you pause the queue continue to run until they finish or result in an error. + * An identifier for this resource that is unique within all of AWS. */ - Status?: QueueStatus | string; + Arn?: string; /** - * The timestamp in epoch seconds for when you most recently updated the queue. + * A name that you create for each queue. Each name must be unique within your account. */ - LastUpdated?: Date; + Name: string | undefined; /** - * Details about the pricing plan for your reserved queue. Required for reserved queues and not applicable to on-demand queues. + * The estimated number of jobs with a PROGRESSING status. */ - ReservationPlan?: ReservationPlan; + ProgressingJobsCount?: number; } export namespace Queue { @@ -2428,9 +2855,9 @@ export namespace CancelJobResponse { export interface CreateJobRequest { /** - * Optional. Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide. + * Required. The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html. */ - AccelerationSettings?: AccelerationSettings; + Role: string | undefined; /** * Optional. Use queue hopping to avoid overly long waits in the backlog of the queue that you submit your job to. Specify an alternate queue and the maximum time that your job will wait in the initial queue before hopping. For more information about this feature, see the AWS Elemental MediaConvert User Guide. @@ -2448,24 +2875,24 @@ export interface CreateJobRequest { Tags?: { [key: string]: string }; /** - * JobSettings contains all the transcode settings for a job. + * Optional. User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs. */ - Settings: JobSettings | undefined; + UserMetadata?: { [key: string]: string }; /** - * Required. The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html. + * Optional. Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. */ - Role: string | undefined; + StatusUpdateInterval?: StatusUpdateInterval | string; /** - * Optional. Idempotency token for CreateJob operation. + * Optional. Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0. */ - ClientRequestToken?: string; + Priority?: number; /** - * Optional. When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html. + * Optional. Choose a tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up. Any transcoding outputs that don't have an associated tag will appear in your billing report unsorted. If you don't choose a valid value for this field, your job outputs will appear on the billing report unsorted. */ - Queue?: string; + BillingTagsSource?: BillingTagsSource | string; /** * Optional. When you create a job, you can either specify a job template or specify the transcoding settings individually. @@ -2473,24 +2900,24 @@ export interface CreateJobRequest { JobTemplate?: string; /** - * Optional. Choose a tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up. Any transcoding outputs that don't have an associated tag will appear in your billing report unsorted. If you don't choose a valid value for this field, your job outputs will appear on the billing report unsorted. + * JobSettings contains all the transcode settings for a job. */ - BillingTagsSource?: BillingTagsSource | string; + Settings: JobSettings | undefined; /** - * Optional. Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0. + * Optional. When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html. */ - Priority?: number; + Queue?: string; /** - * Optional. User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs. + * Optional. Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide. */ - UserMetadata?: { [key: string]: string }; + AccelerationSettings?: AccelerationSettings; /** - * Optional. Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. + * Optional. Idempotency token for CreateJob operation. */ - StatusUpdateInterval?: StatusUpdateInterval | string; + ClientRequestToken?: string; } export namespace CreateJobRequest { @@ -2501,7 +2928,7 @@ export namespace CreateJobRequest { export interface CreateJobResponse { /** - * Each job converts an input file into an output file or files. For more information, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html + * Each job converts an input file into an output file or files. For more information, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html */ Job?: Job; } @@ -2514,29 +2941,29 @@ export namespace CreateJobResponse { export interface CreateJobTemplateRequest { /** - * The name of the job template you are creating. + * Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide. */ - Name: string | undefined; + AccelerationSettings?: AccelerationSettings; /** - * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. + * Optional. A description of the job template you are creating. */ - StatusUpdateInterval?: StatusUpdateInterval | string; + Description?: string; /** - * Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue. + * Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0. */ - Queue?: string; + Priority?: number; /** - * Optional. A description of the job template you are creating. + * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. */ - Description?: string; + StatusUpdateInterval?: StatusUpdateInterval | string; /** - * Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide. + * Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue. */ - AccelerationSettings?: AccelerationSettings; + Queue?: string; /** * Optional. A category for the job template you are creating @@ -2549,19 +2976,19 @@ export interface CreateJobTemplateRequest { Tags?: { [key: string]: string }; /** - * Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0. + * JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it. */ - Priority?: number; + Settings: JobTemplateSettings | undefined; /** - * Optional. Use queue hopping to avoid overly long waits in the backlog of the queue that you submit your job to. Specify an alternate queue and the maximum time that your job will wait in the initial queue before hopping. For more information about this feature, see the AWS Elemental MediaConvert User Guide. + * The name of the job template you are creating. */ - HopDestinations?: HopDestination[]; + Name: string | undefined; /** - * JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it. + * Optional. Use queue hopping to avoid overly long waits in the backlog of the queue that you submit your job to. Specify an alternate queue and the maximum time that your job will wait in the initial queue before hopping. For more information about this feature, see the AWS Elemental MediaConvert User Guide. */ - Settings: JobTemplateSettings | undefined; + HopDestinations?: HopDestination[]; } export namespace CreateJobTemplateRequest { @@ -2589,11 +3016,6 @@ export interface CreatePresetRequest { */ Description?: string; - /** - * Optional. A category for the preset you are creating. - */ - Category?: string; - /** * The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key. */ @@ -2608,6 +3030,11 @@ export interface CreatePresetRequest { * Settings for preset */ Settings: PresetSettings | undefined; + + /** + * Optional. A category for the preset you are creating. + */ + Category?: string; } export namespace CreatePresetRequest { @@ -2634,9 +3061,9 @@ export namespace CreatePresetResponse { */ export interface ReservationPlanSettings { /** - * Specifies whether the term of your reserved queue pricing plan is automatically extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. When your term is auto renewed, you extend your commitment by 12 months from the auto renew date. You can cancel this commitment. + * Specifies the number of reserved transcode slots (RTS) for this queue. The number of RTS determines how many jobs the queue can process in parallel; each RTS can process one job at a time. You can't decrease the number of RTS in your reserved queue. You can increase the number of RTS by extending your existing commitment with a new 12-month commitment for the larger number. The new commitment begins when you purchase the additional capacity. You can't cancel your commitment or revert to your original commitment after you increase the capacity. */ - RenewalType: RenewalType | string | undefined; + ReservedSlots: number | undefined; /** * The length of the term of your reserved queue pricing plan commitment. @@ -2644,9 +3071,9 @@ export interface ReservationPlanSettings { Commitment: Commitment | string | undefined; /** - * Specifies the number of reserved transcode slots (RTS) for this queue. The number of RTS determines how many jobs the queue can process in parallel; each RTS can process one job at a time. You can't decrease the number of RTS in your reserved queue. You can increase the number of RTS by extending your existing commitment with a new 12-month commitment for the larger number. The new commitment begins when you purchase the additional capacity. You can't cancel your commitment or revert to your original commitment after you increase the capacity. + * Specifies whether the term of your reserved queue pricing plan is automatically extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. When your term is auto renewed, you extend your commitment by 12 months from the auto renew date. You can cancel this commitment. */ - ReservedSlots: number | undefined; + RenewalType: RenewalType | string | undefined; } export namespace ReservationPlanSettings { @@ -2671,6 +3098,11 @@ export interface CreateQueueRequest { */ ReservationPlanSettings?: ReservationPlanSettings; + /** + * Specifies whether the pricing plan for the queue is on-demand or reserved. For on-demand, you pay per minute, billed in increments of .01 minute. For reserved, you pay for the transcoding capacity of the entire queue, regardless of how much or how little you use it. Reserved pricing requires a 12-month commitment. When you use the API to create a queue, the default is on-demand. + */ + PricingPlan?: PricingPlan | string; + /** * The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key. */ @@ -2680,11 +3112,6 @@ export interface CreateQueueRequest { * Initial state of the queue. If you create a paused queue, then jobs in that queue won't begin. */ Status?: QueueStatus | string; - - /** - * Specifies whether the pricing plan for the queue is on-demand or reserved. For on-demand, you pay per minute, billed in increments of .01 minute. For reserved, you pay for the transcoding capacity of the entire queue, regardless of how much or how little you use it. Reserved pricing requires a 12-month commitment. When you use the API to create a queue, the default is on-demand. - */ - PricingPlan?: PricingPlan | string; } export namespace CreateQueueRequest { @@ -2779,14 +3206,14 @@ export enum DescribeEndpointsMode { */ export interface DescribeEndpointsRequest { /** - * Use this string, provided with the response to a previous request, to request the next batch of endpoints. + * Optional. Max number of endpoints, up to twenty, that will be returned at one time. */ - NextToken?: string; + MaxResults?: number; /** - * Optional. Max number of endpoints, up to twenty, that will be returned at one time. + * Use this string, provided with the response to a previous request, to request the next batch of endpoints. */ - MaxResults?: number; + NextToken?: string; /** * Optional field, defaults to DEFAULT. Specify DEFAULT for this operation to return your endpoints if any exist, or to create an endpoint for you and return it if one doesn't already exist. Specify GET_ONLY to return your endpoints if any exist, or an empty list if none exist. @@ -2854,7 +3281,7 @@ export namespace GetJobRequest { export interface GetJobResponse { /** - * Each job converts an input file into an output file or files. For more information, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html + * Each job converts an input file into an output file or files. For more information, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html */ Job?: Job; } @@ -2956,19 +3383,19 @@ export enum Order { export interface ListJobsRequest { /** - * Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource. + * Optional. Use this string, provided with the response to a previous request, to request the next batch of jobs. */ - Order?: Order | string; + NextToken?: string; /** - * Optional. A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR. + * Optional. Provide a queue name to get back only jobs from that queue. */ - Status?: JobStatus | string; + Queue?: string; /** - * Optional. Use this string, provided with the response to a previous request, to request the next batch of jobs. + * Optional. A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR. */ - NextToken?: string; + Status?: JobStatus | string; /** * Optional. Number of jobs, up to twenty, that will be returned at one time. @@ -2976,9 +3403,9 @@ export interface ListJobsRequest { MaxResults?: number; /** - * Optional. Provide a queue name to get back only jobs from that queue. + * Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource. */ - Queue?: string; + Order?: Order | string; } export namespace ListJobsRequest { @@ -3006,15 +3433,20 @@ export namespace ListJobsResponse { } export interface ListJobTemplatesRequest { + /** + * Optional. When you request a list of job templates, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name. + */ + ListBy?: JobTemplateListBy | string; + /** * Use this string, provided with the response to a previous request, to request the next batch of job templates. */ NextToken?: string; /** - * Optionally, specify a job template category to limit responses to only job templates from that category. + * Optional. Number of job templates, up to twenty, that will be returned at one time. */ - Category?: string; + MaxResults?: number; /** * Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource. @@ -3022,14 +3454,9 @@ export interface ListJobTemplatesRequest { Order?: Order | string; /** - * Optional. Number of job templates, up to twenty, that will be returned at one time. - */ - MaxResults?: number; - - /** - * Optional. When you request a list of job templates, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name. + * Optionally, specify a job template category to limit responses to only job templates from that category. */ - ListBy?: JobTemplateListBy | string; + Category?: string; } export namespace ListJobTemplatesRequest { @@ -3040,14 +3467,14 @@ export namespace ListJobTemplatesRequest { export interface ListJobTemplatesResponse { /** - * List of Job templates. + * Use this string to request the next batch of job templates. */ - JobTemplates?: JobTemplate[]; + NextToken?: string; /** - * Use this string to request the next batch of job templates. + * List of Job templates. */ - NextToken?: string; + JobTemplates?: JobTemplate[]; } export namespace ListJobTemplatesResponse { @@ -3063,26 +3490,26 @@ export enum PresetListBy { } export interface ListPresetsRequest { - /** - * Optional. Number of presets, up to twenty, that will be returned at one time - */ - MaxResults?: number; - /** * Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource. */ Order?: Order | string; /** - * Use this string, provided with the response to a previous request, to request the next batch of presets. + * Optional. Number of presets, up to twenty, that will be returned at one time */ - NextToken?: string; + MaxResults?: number; /** * Optionally, specify a preset category to limit responses to only presets from that category. */ Category?: string; + /** + * Use this string, provided with the response to a previous request, to request the next batch of presets. + */ + NextToken?: string; + /** * Optional. When you request a list of presets, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name. */ @@ -3097,14 +3524,14 @@ export namespace ListPresetsRequest { export interface ListPresetsResponse { /** - * Use this string to request the next batch of presets. + * List of presets */ - NextToken?: string; + Presets?: Preset[]; /** - * List of presets + * Use this string to request the next batch of presets. */ - Presets?: Preset[]; + NextToken?: string; } export namespace ListPresetsResponse { @@ -3119,6 +3546,11 @@ export enum QueueListBy { } export interface ListQueuesRequest { + /** + * Optional. Number of queues, up to twenty, that will be returned at one time. + */ + MaxResults?: number; + /** * Optional. When you request a list of queues, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by creation date. */ @@ -3129,11 +3561,6 @@ export interface ListQueuesRequest { */ NextToken?: string; - /** - * Optional. Number of queues, up to twenty, that will be returned at one time. - */ - MaxResults?: number; - /** * Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource. */ @@ -3148,14 +3575,14 @@ export namespace ListQueuesRequest { export interface ListQueuesResponse { /** - * List of queues. + * Use this string to request the next batch of queues. */ - Queues?: Queue[]; + NextToken?: string; /** - * Use this string to request the next batch of queues. + * List of queues. */ - NextToken?: string; + Queues?: Queue[]; } export namespace ListQueuesResponse { @@ -3182,14 +3609,14 @@ export namespace ListTagsForResourceRequest { */ export interface ResourceTags { /** - * The Amazon Resource Name (ARN) of the resource. + * The tags for the resource. */ - Arn?: string; + Tags?: { [key: string]: string }; /** - * The tags for the resource. + * The Amazon Resource Name (ARN) of the resource. */ - Tags?: { [key: string]: string }; + Arn?: string; } export namespace ResourceTags { @@ -3239,14 +3666,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - * The Amazon Resource Name (ARN) of the resource that you want to remove tags from. To get the ARN, send a GET request with the resource name. + * The keys of the tags that you want to remove from the resource. */ - Arn: string | undefined; + TagKeys?: string[]; /** - * The keys of the tags that you want to remove from the resource. + * The Amazon Resource Name (ARN) of the resource that you want to remove tags from. To get the ARN, send a GET request with the resource name. */ - TagKeys?: string[]; + Arn: string | undefined; } export namespace UntagResourceRequest { @@ -3265,24 +3692,24 @@ export namespace UntagResourceResponse { export interface UpdateJobTemplateRequest { /** - * The new category for the job template, if you are changing it. + * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. */ - Category?: string; + StatusUpdateInterval?: StatusUpdateInterval | string; /** - * Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0. + * JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it. */ - Priority?: number; + Settings?: JobTemplateSettings; /** - * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. + * The name of the job template you are modifying */ - StatusUpdateInterval?: StatusUpdateInterval | string; + Name: string | undefined; /** - * The new description for the job template, if you are changing it. + * Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0. */ - Description?: string; + Priority?: number; /** * Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide. @@ -3290,9 +3717,9 @@ export interface UpdateJobTemplateRequest { AccelerationSettings?: AccelerationSettings; /** - * The new queue for the job template, if you are changing it. + * The new description for the job template, if you are changing it. */ - Queue?: string; + Description?: string; /** * Optional list of hop destinations. @@ -3300,14 +3727,14 @@ export interface UpdateJobTemplateRequest { HopDestinations?: HopDestination[]; /** - * The name of the job template you are modifying + * The new category for the job template, if you are changing it. */ - Name: string | undefined; + Category?: string; /** - * JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it. + * The new queue for the job template, if you are changing it. */ - Settings?: JobTemplateSettings; + Queue?: string; } export namespace UpdateJobTemplateRequest { @@ -3331,9 +3758,9 @@ export namespace UpdateJobTemplateResponse { export interface UpdatePresetRequest { /** - * Settings for preset + * The new description for the preset, if you are changing it. */ - Settings?: PresetSettings; + Description?: string; /** * The name of the preset you are modifying. @@ -3341,14 +3768,14 @@ export interface UpdatePresetRequest { Name: string | undefined; /** - * The new category for the preset, if you are changing it. + * Settings for preset */ - Category?: string; + Settings?: PresetSettings; /** - * The new description for the preset, if you are changing it. + * The new category for the preset, if you are changing it. */ - Description?: string; + Category?: string; } export namespace UpdatePresetRequest { @@ -3372,24 +3799,24 @@ export namespace UpdatePresetResponse { export interface UpdateQueueRequest { /** - * The new description for the queue, if you are changing it. + * The new details of your pricing plan for your reserved queue. When you set up a new pricing plan to replace an expired one, you enter into another 12-month commitment. When you add capacity to your queue by increasing the number of RTS, you extend the term of your commitment to 12 months from when you add capacity. After you make these commitments, you can't cancel them. */ - Description?: string; + ReservationPlanSettings?: ReservationPlanSettings; /** - * Pause or activate a queue by changing its status between ACTIVE and PAUSED. If you pause a queue, jobs in that queue won't begin. Jobs that are running when you pause the queue continue to run until they finish or result in an error. + * The new description for the queue, if you are changing it. */ - Status?: QueueStatus | string; + Description?: string; /** - * The new details of your pricing plan for your reserved queue. When you set up a new pricing plan to replace an expired one, you enter into another 12-month commitment. When you add capacity to your queue by increasing the number of RTS, you extend the term of your commitment to 12 months from when you add capacity. After you make these commitments, you can't cancel them. + * The name of the queue that you are modifying. */ - ReservationPlanSettings?: ReservationPlanSettings; + Name: string | undefined; /** - * The name of the queue that you are modifying. + * Pause or activate a queue by changing its status between ACTIVE and PAUSED. If you pause a queue, jobs in that queue won't begin. Jobs that are running when you pause the queue continue to run until they finish or result in an error. */ - Name: string | undefined; + Status?: QueueStatus | string; } export namespace UpdateQueueRequest { diff --git a/clients/client-mediaconvert/pagination/DescribeEndpointsPaginator.ts b/clients/client-mediaconvert/pagination/DescribeEndpointsPaginator.ts new file mode 100644 index 000000000000..a7c44e5318e8 --- /dev/null +++ b/clients/client-mediaconvert/pagination/DescribeEndpointsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaConvert } from "../MediaConvert"; +import { MediaConvertClient } from "../MediaConvertClient"; +import { + DescribeEndpointsCommand, + DescribeEndpointsCommandInput, + DescribeEndpointsCommandOutput, +} from "../commands/DescribeEndpointsCommand"; +import { MediaConvertPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaConvertClient, + input: DescribeEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEndpointsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaConvert, + input: DescribeEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEndpoints(input, ...args); +}; +export async function* describeEndpointsPaginate( + config: MediaConvertPaginationConfiguration, + input: DescribeEndpointsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEndpointsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaConvert) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaConvertClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaConvert | MediaConvertClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediaconvert/pagination/Interfaces.ts b/clients/client-mediaconvert/pagination/Interfaces.ts new file mode 100644 index 000000000000..f959a9e44f7a --- /dev/null +++ b/clients/client-mediaconvert/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { MediaConvert } from "../MediaConvert"; +import { MediaConvertClient } from "../MediaConvertClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface MediaConvertPaginationConfiguration extends PaginationConfiguration { + client: MediaConvert | MediaConvertClient; +} diff --git a/clients/client-mediaconvert/pagination/ListJobTemplatesPaginator.ts b/clients/client-mediaconvert/pagination/ListJobTemplatesPaginator.ts new file mode 100644 index 000000000000..aead616769da --- /dev/null +++ b/clients/client-mediaconvert/pagination/ListJobTemplatesPaginator.ts @@ -0,0 +1,51 @@ +import { MediaConvert } from "../MediaConvert"; +import { MediaConvertClient } from "../MediaConvertClient"; +import { + ListJobTemplatesCommand, + ListJobTemplatesCommandInput, + ListJobTemplatesCommandOutput, +} from "../commands/ListJobTemplatesCommand"; +import { MediaConvertPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaConvertClient, + input: ListJobTemplatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListJobTemplatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaConvert, + input: ListJobTemplatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listJobTemplates(input, ...args); +}; +export async function* listJobTemplatesPaginate( + config: MediaConvertPaginationConfiguration, + input: ListJobTemplatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListJobTemplatesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaConvert) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaConvertClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaConvert | MediaConvertClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediaconvert/pagination/ListJobsPaginator.ts b/clients/client-mediaconvert/pagination/ListJobsPaginator.ts new file mode 100644 index 000000000000..1e36504e9b60 --- /dev/null +++ b/clients/client-mediaconvert/pagination/ListJobsPaginator.ts @@ -0,0 +1,47 @@ +import { MediaConvert } from "../MediaConvert"; +import { MediaConvertClient } from "../MediaConvertClient"; +import { ListJobsCommand, ListJobsCommandInput, ListJobsCommandOutput } from "../commands/ListJobsCommand"; +import { MediaConvertPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaConvertClient, + input: ListJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListJobsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaConvert, + input: ListJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listJobs(input, ...args); +}; +export async function* listJobsPaginate( + config: MediaConvertPaginationConfiguration, + input: ListJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListJobsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaConvert) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaConvertClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaConvert | MediaConvertClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediaconvert/pagination/ListPresetsPaginator.ts b/clients/client-mediaconvert/pagination/ListPresetsPaginator.ts new file mode 100644 index 000000000000..18eddd85e554 --- /dev/null +++ b/clients/client-mediaconvert/pagination/ListPresetsPaginator.ts @@ -0,0 +1,47 @@ +import { MediaConvert } from "../MediaConvert"; +import { MediaConvertClient } from "../MediaConvertClient"; +import { ListPresetsCommand, ListPresetsCommandInput, ListPresetsCommandOutput } from "../commands/ListPresetsCommand"; +import { MediaConvertPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaConvertClient, + input: ListPresetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPresetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaConvert, + input: ListPresetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPresets(input, ...args); +}; +export async function* listPresetsPaginate( + config: MediaConvertPaginationConfiguration, + input: ListPresetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPresetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaConvert) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaConvertClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaConvert | MediaConvertClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediaconvert/pagination/ListQueuesPaginator.ts b/clients/client-mediaconvert/pagination/ListQueuesPaginator.ts new file mode 100644 index 000000000000..ed3b9f973401 --- /dev/null +++ b/clients/client-mediaconvert/pagination/ListQueuesPaginator.ts @@ -0,0 +1,47 @@ +import { MediaConvert } from "../MediaConvert"; +import { MediaConvertClient } from "../MediaConvertClient"; +import { ListQueuesCommand, ListQueuesCommandInput, ListQueuesCommandOutput } from "../commands/ListQueuesCommand"; +import { MediaConvertPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaConvertClient, + input: ListQueuesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListQueuesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaConvert, + input: ListQueuesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listQueues(input, ...args); +}; +export async function* listQueuesPaginate( + config: MediaConvertPaginationConfiguration, + input: ListQueuesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListQueuesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaConvert) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaConvertClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaConvert | MediaConvertClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediaconvert/protocols/Aws_restJson1.ts b/clients/client-mediaconvert/protocols/Aws_restJson1.ts index d376bb8698d4..1bfa240e0a03 100644 --- a/clients/client-mediaconvert/protocols/Aws_restJson1.ts +++ b/clients/client-mediaconvert/protocols/Aws_restJson1.ts @@ -38,6 +38,7 @@ import { AccelerationSettings, AiffSettings, AncillarySourceSettings, + AudioChannelTaggingSettings, AudioCodecSettings, AudioDescription, AudioNormalizationSettings, @@ -46,6 +47,7 @@ import { Av1QvbrSettings, Av1Settings, AvailBlanking, + AvcIntraSettings, BurninDestinationSettings, CaptionDescription, CaptionDescriptionPreset, @@ -80,8 +82,6 @@ import { FileGroupSettings, FileSourceSettings, FrameCaptureSettings, - H264QvbrSettings, - H264Settings, Hdr10Metadata, HlsAdMarkers, HlsAdditionalManifest, @@ -115,6 +115,7 @@ import { MsSmoothGroupSettings, MxfSettings, NielsenConfiguration, + NielsenNonLinearWatermarkSettings, OpusSettings, OutputChannelMapping, OutputDetail, @@ -149,6 +150,8 @@ import { DolbyVision, DolbyVisionLevel6Metadata, ForbiddenException, + H264QvbrSettings, + H264Settings, H265QvbrSettings, H265Settings, InternalServerErrorException, @@ -178,6 +181,7 @@ import { TimedMetadataInsertion, Timing, TooManyRequestsException, + Vc3Settings, VideoCodecSettings, VideoDescription, VideoPreprocessor, @@ -666,11 +670,11 @@ export const serializeAws_restJson1ListJobsCommand = async ( }; let resolvedPath = "/2017-08-29/jobs"; const query: any = { - ...(input.Order !== undefined && { order: input.Order }), - ...(input.Status !== undefined && { status: input.Status }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.Queue !== undefined && { queue: input.Queue }), + ...(input.Status !== undefined && { status: input.Status }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.Order !== undefined && { order: input.Order }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -695,11 +699,11 @@ export const serializeAws_restJson1ListJobTemplatesCommand = async ( }; let resolvedPath = "/2017-08-29/jobTemplates"; const query: any = { + ...(input.ListBy !== undefined && { listBy: input.ListBy }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.Category !== undefined && { category: input.Category }), - ...(input.Order !== undefined && { order: input.Order }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.ListBy !== undefined && { listBy: input.ListBy }), + ...(input.Order !== undefined && { order: input.Order }), + ...(input.Category !== undefined && { category: input.Category }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -724,10 +728,10 @@ export const serializeAws_restJson1ListPresetsCommand = async ( }; let resolvedPath = "/2017-08-29/presets"; const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.Order !== undefined && { order: input.Order }), - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.Category !== undefined && { category: input.Category }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.ListBy !== undefined && { listBy: input.ListBy }), }; let body: any; @@ -753,9 +757,9 @@ export const serializeAws_restJson1ListQueuesCommand = async ( }; let resolvedPath = "/2017-08-29/queues"; const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.ListBy !== undefined && { listBy: input.ListBy }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.Order !== undefined && { order: input.Order }), }; let body: any; @@ -3691,6 +3695,15 @@ const serializeAws_restJson1AncillarySourceSettings = ( }; }; +const serializeAws_restJson1AudioChannelTaggingSettings = ( + input: AudioChannelTaggingSettings, + context: __SerdeContext +): any => { + return { + ...(input.ChannelTag !== undefined && { channelTag: input.ChannelTag }), + }; +}; + const serializeAws_restJson1AudioCodecSettings = (input: AudioCodecSettings, context: __SerdeContext): any => { return { ...(input.AacSettings !== undefined && { @@ -3729,6 +3742,12 @@ const serializeAws_restJson1AudioCodecSettings = (input: AudioCodecSettings, con const serializeAws_restJson1AudioDescription = (input: AudioDescription, context: __SerdeContext): any => { return { + ...(input.AudioChannelTaggingSettings !== undefined && { + audioChannelTaggingSettings: serializeAws_restJson1AudioChannelTaggingSettings( + input.AudioChannelTaggingSettings, + context + ), + }), ...(input.AudioNormalizationSettings !== undefined && { audioNormalizationSettings: serializeAws_restJson1AudioNormalizationSettings( input.AudioNormalizationSettings, @@ -3832,6 +3851,21 @@ const serializeAws_restJson1AvailBlanking = (input: AvailBlanking, context: __Se }; }; +const serializeAws_restJson1AvcIntraSettings = (input: AvcIntraSettings, context: __SerdeContext): any => { + return { + ...(input.AvcIntraClass !== undefined && { avcIntraClass: input.AvcIntraClass }), + ...(input.FramerateControl !== undefined && { framerateControl: input.FramerateControl }), + ...(input.FramerateConversionAlgorithm !== undefined && { + framerateConversionAlgorithm: input.FramerateConversionAlgorithm, + }), + ...(input.FramerateDenominator !== undefined && { framerateDenominator: input.FramerateDenominator }), + ...(input.FramerateNumerator !== undefined && { framerateNumerator: input.FramerateNumerator }), + ...(input.InterlaceMode !== undefined && { interlaceMode: input.InterlaceMode }), + ...(input.SlowPal !== undefined && { slowPal: input.SlowPal }), + ...(input.Telecine !== undefined && { telecine: input.Telecine }), + }; +}; + const serializeAws_restJson1BurninDestinationSettings = ( input: BurninDestinationSettings, context: __SerdeContext @@ -4575,6 +4609,7 @@ const serializeAws_restJson1HlsGroupSettings = (input: HlsGroupSettings, context ...(input.AdditionalManifests !== undefined && { additionalManifests: serializeAws_restJson1__listOfHlsAdditionalManifest(input.AdditionalManifests, context), }), + ...(input.AudioOnlyHeader !== undefined && { audioOnlyHeader: input.AudioOnlyHeader }), ...(input.BaseUrl !== undefined && { baseUrl: input.BaseUrl }), ...(input.CaptionLanguageMappings !== undefined && { captionLanguageMappings: serializeAws_restJson1__listOfHlsCaptionLanguageMapping( @@ -4681,6 +4716,7 @@ const serializeAws_restJson1Input = (input: Input, context: __SerdeContext): any ...(input.InputClippings !== undefined && { inputClippings: serializeAws_restJson1__listOfInputClipping(input.InputClippings, context), }), + ...(input.InputScanType !== undefined && { inputScanType: input.InputScanType }), ...(input.Position !== undefined && { position: serializeAws_restJson1Rectangle(input.Position, context) }), ...(input.ProgramNumber !== undefined && { programNumber: input.ProgramNumber }), ...(input.PsiControl !== undefined && { psiControl: input.PsiControl }), @@ -4736,6 +4772,7 @@ const serializeAws_restJson1InputTemplate = (input: InputTemplate, context: __Se ...(input.InputClippings !== undefined && { inputClippings: serializeAws_restJson1__listOfInputClipping(input.InputClippings, context), }), + ...(input.InputScanType !== undefined && { inputScanType: input.InputScanType }), ...(input.Position !== undefined && { position: serializeAws_restJson1Rectangle(input.Position, context) }), ...(input.ProgramNumber !== undefined && { programNumber: input.ProgramNumber }), ...(input.PsiControl !== undefined && { psiControl: input.PsiControl }), @@ -4777,6 +4814,12 @@ const serializeAws_restJson1JobSettings = (input: JobSettings, context: __SerdeC ...(input.NielsenConfiguration !== undefined && { nielsenConfiguration: serializeAws_restJson1NielsenConfiguration(input.NielsenConfiguration, context), }), + ...(input.NielsenNonLinearWatermark !== undefined && { + nielsenNonLinearWatermark: serializeAws_restJson1NielsenNonLinearWatermarkSettings( + input.NielsenNonLinearWatermark, + context + ), + }), ...(input.OutputGroups !== undefined && { outputGroups: serializeAws_restJson1__listOfOutputGroup(input.OutputGroups, context), }), @@ -4803,6 +4846,12 @@ const serializeAws_restJson1JobTemplateSettings = (input: JobTemplateSettings, c ...(input.NielsenConfiguration !== undefined && { nielsenConfiguration: serializeAws_restJson1NielsenConfiguration(input.NielsenConfiguration, context), }), + ...(input.NielsenNonLinearWatermark !== undefined && { + nielsenNonLinearWatermark: serializeAws_restJson1NielsenNonLinearWatermarkSettings( + input.NielsenNonLinearWatermark, + context + ), + }), ...(input.OutputGroups !== undefined && { outputGroups: serializeAws_restJson1__listOfOutputGroup(input.OutputGroups, context), }), @@ -5068,6 +5117,7 @@ const serializeAws_restJson1MsSmoothGroupSettings = (input: MsSmoothGroupSetting const serializeAws_restJson1MxfSettings = (input: MxfSettings, context: __SerdeContext): any => { return { ...(input.AfdSignaling !== undefined && { afdSignaling: input.AfdSignaling }), + ...(input.Profile !== undefined && { profile: input.Profile }), }; }; @@ -5090,6 +5140,25 @@ const serializeAws_restJson1NielsenConfiguration = (input: NielsenConfiguration, }; }; +const serializeAws_restJson1NielsenNonLinearWatermarkSettings = ( + input: NielsenNonLinearWatermarkSettings, + context: __SerdeContext +): any => { + return { + ...(input.ActiveWatermarkProcess !== undefined && { activeWatermarkProcess: input.ActiveWatermarkProcess }), + ...(input.AdiFilename !== undefined && { adiFilename: input.AdiFilename }), + ...(input.AssetId !== undefined && { assetId: input.AssetId }), + ...(input.AssetName !== undefined && { assetName: input.AssetName }), + ...(input.CbetSourceId !== undefined && { cbetSourceId: input.CbetSourceId }), + ...(input.EpisodeId !== undefined && { episodeId: input.EpisodeId }), + ...(input.MetadataDestination !== undefined && { metadataDestination: input.MetadataDestination }), + ...(input.SourceId !== undefined && { sourceId: input.SourceId }), + ...(input.SourceWatermarkStatus !== undefined && { sourceWatermarkStatus: input.SourceWatermarkStatus }), + ...(input.TicServerUrl !== undefined && { ticServerUrl: input.TicServerUrl }), + ...(input.UniqueTicPerAudioTrack !== undefined && { uniqueTicPerAudioTrack: input.UniqueTicPerAudioTrack }), + }; +}; + const serializeAws_restJson1NoiseReducer = (input: NoiseReducer, context: __SerdeContext): any => { return { ...(input.Filter !== undefined && { filter: input.Filter }), @@ -5434,11 +5503,29 @@ const serializeAws_restJson1TtmlDestinationSettings = ( }; }; +const serializeAws_restJson1Vc3Settings = (input: Vc3Settings, context: __SerdeContext): any => { + return { + ...(input.FramerateControl !== undefined && { framerateControl: input.FramerateControl }), + ...(input.FramerateConversionAlgorithm !== undefined && { + framerateConversionAlgorithm: input.FramerateConversionAlgorithm, + }), + ...(input.FramerateDenominator !== undefined && { framerateDenominator: input.FramerateDenominator }), + ...(input.FramerateNumerator !== undefined && { framerateNumerator: input.FramerateNumerator }), + ...(input.InterlaceMode !== undefined && { interlaceMode: input.InterlaceMode }), + ...(input.SlowPal !== undefined && { slowPal: input.SlowPal }), + ...(input.Telecine !== undefined && { telecine: input.Telecine }), + ...(input.Vc3Class !== undefined && { vc3Class: input.Vc3Class }), + }; +}; + const serializeAws_restJson1VideoCodecSettings = (input: VideoCodecSettings, context: __SerdeContext): any => { return { ...(input.Av1Settings !== undefined && { av1Settings: serializeAws_restJson1Av1Settings(input.Av1Settings, context), }), + ...(input.AvcIntraSettings !== undefined && { + avcIntraSettings: serializeAws_restJson1AvcIntraSettings(input.AvcIntraSettings, context), + }), ...(input.Codec !== undefined && { codec: input.Codec }), ...(input.FrameCaptureSettings !== undefined && { frameCaptureSettings: serializeAws_restJson1FrameCaptureSettings(input.FrameCaptureSettings, context), @@ -5455,6 +5542,9 @@ const serializeAws_restJson1VideoCodecSettings = (input: VideoCodecSettings, con ...(input.ProresSettings !== undefined && { proresSettings: serializeAws_restJson1ProresSettings(input.ProresSettings, context), }), + ...(input.Vc3Settings !== undefined && { + vc3Settings: serializeAws_restJson1Vc3Settings(input.Vc3Settings, context), + }), ...(input.Vp8Settings !== undefined && { vp8Settings: serializeAws_restJson1Vp8Settings(input.Vp8Settings, context), }), @@ -5885,6 +5975,15 @@ const deserializeAws_restJson1AncillarySourceSettings = ( } as any; }; +const deserializeAws_restJson1AudioChannelTaggingSettings = ( + output: any, + context: __SerdeContext +): AudioChannelTaggingSettings => { + return { + ChannelTag: output.channelTag !== undefined && output.channelTag !== null ? output.channelTag : undefined, + } as any; +}; + const deserializeAws_restJson1AudioCodecSettings = (output: any, context: __SerdeContext): AudioCodecSettings => { return { AacSettings: @@ -5933,6 +6032,10 @@ const deserializeAws_restJson1AudioCodecSettings = (output: any, context: __Serd const deserializeAws_restJson1AudioDescription = (output: any, context: __SerdeContext): AudioDescription => { return { + AudioChannelTaggingSettings: + output.audioChannelTaggingSettings !== undefined && output.audioChannelTaggingSettings !== null + ? deserializeAws_restJson1AudioChannelTaggingSettings(output.audioChannelTaggingSettings, context) + : undefined, AudioNormalizationSettings: output.audioNormalizationSettings !== undefined && output.audioNormalizationSettings !== null ? deserializeAws_restJson1AudioNormalizationSettings(output.audioNormalizationSettings, context) @@ -6084,6 +6187,31 @@ const deserializeAws_restJson1AvailBlanking = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_restJson1AvcIntraSettings = (output: any, context: __SerdeContext): AvcIntraSettings => { + return { + AvcIntraClass: + output.avcIntraClass !== undefined && output.avcIntraClass !== null ? output.avcIntraClass : undefined, + FramerateControl: + output.framerateControl !== undefined && output.framerateControl !== null ? output.framerateControl : undefined, + FramerateConversionAlgorithm: + output.framerateConversionAlgorithm !== undefined && output.framerateConversionAlgorithm !== null + ? output.framerateConversionAlgorithm + : undefined, + FramerateDenominator: + output.framerateDenominator !== undefined && output.framerateDenominator !== null + ? output.framerateDenominator + : undefined, + FramerateNumerator: + output.framerateNumerator !== undefined && output.framerateNumerator !== null + ? output.framerateNumerator + : undefined, + InterlaceMode: + output.interlaceMode !== undefined && output.interlaceMode !== null ? output.interlaceMode : undefined, + SlowPal: output.slowPal !== undefined && output.slowPal !== null ? output.slowPal : undefined, + Telecine: output.telecine !== undefined && output.telecine !== null ? output.telecine : undefined, + } as any; +}; + const deserializeAws_restJson1BurninDestinationSettings = ( output: any, context: __SerdeContext @@ -7152,6 +7280,8 @@ const deserializeAws_restJson1HlsGroupSettings = (output: any, context: __SerdeC output.additionalManifests !== undefined && output.additionalManifests !== null ? deserializeAws_restJson1__listOfHlsAdditionalManifest(output.additionalManifests, context) : undefined, + AudioOnlyHeader: + output.audioOnlyHeader !== undefined && output.audioOnlyHeader !== null ? output.audioOnlyHeader : undefined, BaseUrl: output.baseUrl !== undefined && output.baseUrl !== null ? output.baseUrl : undefined, CaptionLanguageMappings: output.captionLanguageMappings !== undefined && output.captionLanguageMappings !== null @@ -7322,6 +7452,8 @@ const deserializeAws_restJson1Input = (output: any, context: __SerdeContext): In output.inputClippings !== undefined && output.inputClippings !== null ? deserializeAws_restJson1__listOfInputClipping(output.inputClippings, context) : undefined, + InputScanType: + output.inputScanType !== undefined && output.inputScanType !== null ? output.inputScanType : undefined, Position: output.position !== undefined && output.position !== null ? deserializeAws_restJson1Rectangle(output.position, context) @@ -7404,6 +7536,8 @@ const deserializeAws_restJson1InputTemplate = (output: any, context: __SerdeCont output.inputClippings !== undefined && output.inputClippings !== null ? deserializeAws_restJson1__listOfInputClipping(output.inputClippings, context) : undefined, + InputScanType: + output.inputScanType !== undefined && output.inputScanType !== null ? output.inputScanType : undefined, Position: output.position !== undefined && output.position !== null ? deserializeAws_restJson1Rectangle(output.position, context) @@ -7550,6 +7684,10 @@ const deserializeAws_restJson1JobSettings = (output: any, context: __SerdeContex output.nielsenConfiguration !== undefined && output.nielsenConfiguration !== null ? deserializeAws_restJson1NielsenConfiguration(output.nielsenConfiguration, context) : undefined, + NielsenNonLinearWatermark: + output.nielsenNonLinearWatermark !== undefined && output.nielsenNonLinearWatermark !== null + ? deserializeAws_restJson1NielsenNonLinearWatermarkSettings(output.nielsenNonLinearWatermark, context) + : undefined, OutputGroups: output.outputGroups !== undefined && output.outputGroups !== null ? deserializeAws_restJson1__listOfOutputGroup(output.outputGroups, context) @@ -7625,6 +7763,10 @@ const deserializeAws_restJson1JobTemplateSettings = (output: any, context: __Ser output.nielsenConfiguration !== undefined && output.nielsenConfiguration !== null ? deserializeAws_restJson1NielsenConfiguration(output.nielsenConfiguration, context) : undefined, + NielsenNonLinearWatermark: + output.nielsenNonLinearWatermark !== undefined && output.nielsenNonLinearWatermark !== null + ? deserializeAws_restJson1NielsenNonLinearWatermarkSettings(output.nielsenNonLinearWatermark, context) + : undefined, OutputGroups: output.outputGroups !== undefined && output.outputGroups !== null ? deserializeAws_restJson1__listOfOutputGroup(output.outputGroups, context) @@ -8002,6 +8144,7 @@ const deserializeAws_restJson1MsSmoothGroupSettings = (output: any, context: __S const deserializeAws_restJson1MxfSettings = (output: any, context: __SerdeContext): MxfSettings => { return { AfdSignaling: output.afdSignaling !== undefined && output.afdSignaling !== null ? output.afdSignaling : undefined, + Profile: output.profile !== undefined && output.profile !== null ? output.profile : undefined, } as any; }; @@ -8025,6 +8168,37 @@ const deserializeAws_restJson1NielsenConfiguration = (output: any, context: __Se } as any; }; +const deserializeAws_restJson1NielsenNonLinearWatermarkSettings = ( + output: any, + context: __SerdeContext +): NielsenNonLinearWatermarkSettings => { + return { + ActiveWatermarkProcess: + output.activeWatermarkProcess !== undefined && output.activeWatermarkProcess !== null + ? output.activeWatermarkProcess + : undefined, + AdiFilename: output.adiFilename !== undefined && output.adiFilename !== null ? output.adiFilename : undefined, + AssetId: output.assetId !== undefined && output.assetId !== null ? output.assetId : undefined, + AssetName: output.assetName !== undefined && output.assetName !== null ? output.assetName : undefined, + CbetSourceId: output.cbetSourceId !== undefined && output.cbetSourceId !== null ? output.cbetSourceId : undefined, + EpisodeId: output.episodeId !== undefined && output.episodeId !== null ? output.episodeId : undefined, + MetadataDestination: + output.metadataDestination !== undefined && output.metadataDestination !== null + ? output.metadataDestination + : undefined, + SourceId: output.sourceId !== undefined && output.sourceId !== null ? output.sourceId : undefined, + SourceWatermarkStatus: + output.sourceWatermarkStatus !== undefined && output.sourceWatermarkStatus !== null + ? output.sourceWatermarkStatus + : undefined, + TicServerUrl: output.ticServerUrl !== undefined && output.ticServerUrl !== null ? output.ticServerUrl : undefined, + UniqueTicPerAudioTrack: + output.uniqueTicPerAudioTrack !== undefined && output.uniqueTicPerAudioTrack !== null + ? output.uniqueTicPerAudioTrack + : undefined, + } as any; +}; + const deserializeAws_restJson1NoiseReducer = (output: any, context: __SerdeContext): NoiseReducer => { return { Filter: output.filter !== undefined && output.filter !== null ? output.filter : undefined, @@ -8540,12 +8714,40 @@ const deserializeAws_restJson1TtmlDestinationSettings = ( } as any; }; +const deserializeAws_restJson1Vc3Settings = (output: any, context: __SerdeContext): Vc3Settings => { + return { + FramerateControl: + output.framerateControl !== undefined && output.framerateControl !== null ? output.framerateControl : undefined, + FramerateConversionAlgorithm: + output.framerateConversionAlgorithm !== undefined && output.framerateConversionAlgorithm !== null + ? output.framerateConversionAlgorithm + : undefined, + FramerateDenominator: + output.framerateDenominator !== undefined && output.framerateDenominator !== null + ? output.framerateDenominator + : undefined, + FramerateNumerator: + output.framerateNumerator !== undefined && output.framerateNumerator !== null + ? output.framerateNumerator + : undefined, + InterlaceMode: + output.interlaceMode !== undefined && output.interlaceMode !== null ? output.interlaceMode : undefined, + SlowPal: output.slowPal !== undefined && output.slowPal !== null ? output.slowPal : undefined, + Telecine: output.telecine !== undefined && output.telecine !== null ? output.telecine : undefined, + Vc3Class: output.vc3Class !== undefined && output.vc3Class !== null ? output.vc3Class : undefined, + } as any; +}; + const deserializeAws_restJson1VideoCodecSettings = (output: any, context: __SerdeContext): VideoCodecSettings => { return { Av1Settings: output.av1Settings !== undefined && output.av1Settings !== null ? deserializeAws_restJson1Av1Settings(output.av1Settings, context) : undefined, + AvcIntraSettings: + output.avcIntraSettings !== undefined && output.avcIntraSettings !== null + ? deserializeAws_restJson1AvcIntraSettings(output.avcIntraSettings, context) + : undefined, Codec: output.codec !== undefined && output.codec !== null ? output.codec : undefined, FrameCaptureSettings: output.frameCaptureSettings !== undefined && output.frameCaptureSettings !== null @@ -8567,6 +8769,10 @@ const deserializeAws_restJson1VideoCodecSettings = (output: any, context: __Serd output.proresSettings !== undefined && output.proresSettings !== null ? deserializeAws_restJson1ProresSettings(output.proresSettings, context) : undefined, + Vc3Settings: + output.vc3Settings !== undefined && output.vc3Settings !== null + ? deserializeAws_restJson1Vc3Settings(output.vc3Settings, context) + : undefined, Vp8Settings: output.vp8Settings !== undefined && output.vp8Settings !== null ? deserializeAws_restJson1Vp8Settings(output.vp8Settings, context) diff --git a/clients/client-medialive/MediaLive.ts b/clients/client-medialive/MediaLive.ts index 0a94bcdad3c9..f9fb36348c77 100644 --- a/clients/client-medialive/MediaLive.ts +++ b/clients/client-medialive/MediaLive.ts @@ -1,9 +1,22 @@ import { MediaLiveClient } from "./MediaLiveClient"; +import { + AcceptInputDeviceTransferCommand, + AcceptInputDeviceTransferCommandInput, + AcceptInputDeviceTransferCommandOutput, +} from "./commands/AcceptInputDeviceTransferCommand"; +import { BatchDeleteCommand, BatchDeleteCommandInput, BatchDeleteCommandOutput } from "./commands/BatchDeleteCommand"; +import { BatchStartCommand, BatchStartCommandInput, BatchStartCommandOutput } from "./commands/BatchStartCommand"; +import { BatchStopCommand, BatchStopCommandInput, BatchStopCommandOutput } from "./commands/BatchStopCommand"; import { BatchUpdateScheduleCommand, BatchUpdateScheduleCommandInput, BatchUpdateScheduleCommandOutput, } from "./commands/BatchUpdateScheduleCommand"; +import { + CancelInputDeviceTransferCommand, + CancelInputDeviceTransferCommandInput, + CancelInputDeviceTransferCommandOutput, +} from "./commands/CancelInputDeviceTransferCommand"; import { CreateChannelCommand, CreateChannelCommandInput, @@ -113,6 +126,11 @@ import { ListChannelsCommandInput, ListChannelsCommandOutput, } from "./commands/ListChannelsCommand"; +import { + ListInputDeviceTransfersCommand, + ListInputDeviceTransfersCommandInput, + ListInputDeviceTransfersCommandOutput, +} from "./commands/ListInputDeviceTransfersCommand"; import { ListInputDevicesCommand, ListInputDevicesCommandInput, @@ -154,6 +172,11 @@ import { PurchaseOfferingCommandInput, PurchaseOfferingCommandOutput, } from "./commands/PurchaseOfferingCommand"; +import { + RejectInputDeviceTransferCommand, + RejectInputDeviceTransferCommandInput, + RejectInputDeviceTransferCommandOutput, +} from "./commands/RejectInputDeviceTransferCommand"; import { StartChannelCommand, StartChannelCommandInput, @@ -170,6 +193,11 @@ import { StopMultiplexCommandInput, StopMultiplexCommandOutput, } from "./commands/StopMultiplexCommand"; +import { + TransferInputDeviceCommand, + TransferInputDeviceCommandInput, + TransferInputDeviceCommandOutput, +} from "./commands/TransferInputDeviceCommand"; import { UpdateChannelClassCommand, UpdateChannelClassCommandInput, @@ -212,6 +240,116 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * API for AWS Elemental MediaLive */ export class MediaLive extends MediaLiveClient { + /** + * Accept an incoming input device transfer. The ownership of the device will transfer to your AWS account. + */ + public acceptInputDeviceTransfer( + args: AcceptInputDeviceTransferCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public acceptInputDeviceTransfer( + args: AcceptInputDeviceTransferCommandInput, + cb: (err: any, data?: AcceptInputDeviceTransferCommandOutput) => void + ): void; + public acceptInputDeviceTransfer( + args: AcceptInputDeviceTransferCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AcceptInputDeviceTransferCommandOutput) => void + ): void; + public acceptInputDeviceTransfer( + args: AcceptInputDeviceTransferCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AcceptInputDeviceTransferCommandOutput) => void), + cb?: (err: any, data?: AcceptInputDeviceTransferCommandOutput) => void + ): Promise | void { + const command = new AcceptInputDeviceTransferCommand(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); + } + } + + /** + * Starts delete of resources. + */ + public batchDelete(args: BatchDeleteCommandInput, options?: __HttpHandlerOptions): Promise; + public batchDelete(args: BatchDeleteCommandInput, cb: (err: any, data?: BatchDeleteCommandOutput) => void): void; + public batchDelete( + args: BatchDeleteCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: BatchDeleteCommandOutput) => void + ): void; + public batchDelete( + args: BatchDeleteCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchDeleteCommandOutput) => void), + cb?: (err: any, data?: BatchDeleteCommandOutput) => void + ): Promise | void { + const command = new BatchDeleteCommand(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); + } + } + + /** + * Starts existing resources + */ + public batchStart(args: BatchStartCommandInput, options?: __HttpHandlerOptions): Promise; + public batchStart(args: BatchStartCommandInput, cb: (err: any, data?: BatchStartCommandOutput) => void): void; + public batchStart( + args: BatchStartCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: BatchStartCommandOutput) => void + ): void; + public batchStart( + args: BatchStartCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchStartCommandOutput) => void), + cb?: (err: any, data?: BatchStartCommandOutput) => void + ): Promise | void { + const command = new BatchStartCommand(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); + } + } + + /** + * Stops running resources + */ + public batchStop(args: BatchStopCommandInput, options?: __HttpHandlerOptions): Promise; + public batchStop(args: BatchStopCommandInput, cb: (err: any, data?: BatchStopCommandOutput) => void): void; + public batchStop( + args: BatchStopCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: BatchStopCommandOutput) => void + ): void; + public batchStop( + args: BatchStopCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchStopCommandOutput) => void), + cb?: (err: any, data?: BatchStopCommandOutput) => void + ): Promise | void { + const command = new BatchStopCommand(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); + } + } + /** * Update a channel schedule */ @@ -244,6 +382,38 @@ export class MediaLive extends MediaLiveClient { } } + /** + * Cancel an input device transfer that you have requested. + */ + public cancelInputDeviceTransfer( + args: CancelInputDeviceTransferCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public cancelInputDeviceTransfer( + args: CancelInputDeviceTransferCommandInput, + cb: (err: any, data?: CancelInputDeviceTransferCommandOutput) => void + ): void; + public cancelInputDeviceTransfer( + args: CancelInputDeviceTransferCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CancelInputDeviceTransferCommandOutput) => void + ): void; + public cancelInputDeviceTransfer( + args: CancelInputDeviceTransferCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CancelInputDeviceTransferCommandOutput) => void), + cb?: (err: any, data?: CancelInputDeviceTransferCommandOutput) => void + ): Promise | void { + const command = new CancelInputDeviceTransferCommand(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 channel */ @@ -1049,6 +1219,38 @@ export class MediaLive extends MediaLiveClient { } } + /** + * List input devices that are currently being transferred. List input devices that you are transferring from your AWS account or input devices that another AWS account is transferring to you. + */ + public listInputDeviceTransfers( + args: ListInputDeviceTransfersCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listInputDeviceTransfers( + args: ListInputDeviceTransfersCommandInput, + cb: (err: any, data?: ListInputDeviceTransfersCommandOutput) => void + ): void; + public listInputDeviceTransfers( + args: ListInputDeviceTransfersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListInputDeviceTransfersCommandOutput) => void + ): void; + public listInputDeviceTransfers( + args: ListInputDeviceTransfersCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListInputDeviceTransfersCommandOutput) => void), + cb?: (err: any, data?: ListInputDeviceTransfersCommandOutput) => void + ): Promise | void { + const command = new ListInputDeviceTransfersCommand(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); + } + } + /** * Produces list of inputs that have been created */ @@ -1299,6 +1501,38 @@ export class MediaLive extends MediaLiveClient { } } + /** + * Reject the transfer of the specified input device to your AWS account. + */ + public rejectInputDeviceTransfer( + args: RejectInputDeviceTransferCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public rejectInputDeviceTransfer( + args: RejectInputDeviceTransferCommandInput, + cb: (err: any, data?: RejectInputDeviceTransferCommandOutput) => void + ): void; + public rejectInputDeviceTransfer( + args: RejectInputDeviceTransferCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RejectInputDeviceTransferCommandOutput) => void + ): void; + public rejectInputDeviceTransfer( + args: RejectInputDeviceTransferCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RejectInputDeviceTransferCommandOutput) => void), + cb?: (err: any, data?: RejectInputDeviceTransferCommandOutput) => void + ): Promise | void { + const command = new RejectInputDeviceTransferCommand(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); + } + } + /** * Starts an existing channel */ @@ -1418,6 +1652,38 @@ export class MediaLive extends MediaLiveClient { } } + /** + * Start an input device transfer to another AWS account. After you make the request, the other account must accept or reject the transfer. + */ + public transferInputDevice( + args: TransferInputDeviceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public transferInputDevice( + args: TransferInputDeviceCommandInput, + cb: (err: any, data?: TransferInputDeviceCommandOutput) => void + ): void; + public transferInputDevice( + args: TransferInputDeviceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: TransferInputDeviceCommandOutput) => void + ): void; + public transferInputDevice( + args: TransferInputDeviceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: TransferInputDeviceCommandOutput) => void), + cb?: (err: any, data?: TransferInputDeviceCommandOutput) => void + ): Promise | void { + const command = new TransferInputDeviceCommand(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 channel. */ diff --git a/clients/client-medialive/MediaLiveClient.ts b/clients/client-medialive/MediaLiveClient.ts index a153bbe6aea7..b8062029d197 100644 --- a/clients/client-medialive/MediaLiveClient.ts +++ b/clients/client-medialive/MediaLiveClient.ts @@ -1,7 +1,18 @@ +import { + AcceptInputDeviceTransferCommandInput, + AcceptInputDeviceTransferCommandOutput, +} from "./commands/AcceptInputDeviceTransferCommand"; +import { BatchDeleteCommandInput, BatchDeleteCommandOutput } from "./commands/BatchDeleteCommand"; +import { BatchStartCommandInput, BatchStartCommandOutput } from "./commands/BatchStartCommand"; +import { BatchStopCommandInput, BatchStopCommandOutput } from "./commands/BatchStopCommand"; import { BatchUpdateScheduleCommandInput, BatchUpdateScheduleCommandOutput, } from "./commands/BatchUpdateScheduleCommand"; +import { + CancelInputDeviceTransferCommandInput, + CancelInputDeviceTransferCommandOutput, +} from "./commands/CancelInputDeviceTransferCommand"; import { CreateChannelCommandInput, CreateChannelCommandOutput } from "./commands/CreateChannelCommand"; import { CreateInputCommandInput, CreateInputCommandOutput } from "./commands/CreateInputCommand"; import { @@ -54,6 +65,10 @@ import { } from "./commands/DescribeReservationCommand"; import { DescribeScheduleCommandInput, DescribeScheduleCommandOutput } from "./commands/DescribeScheduleCommand"; import { ListChannelsCommandInput, ListChannelsCommandOutput } from "./commands/ListChannelsCommand"; +import { + ListInputDeviceTransfersCommandInput, + ListInputDeviceTransfersCommandOutput, +} from "./commands/ListInputDeviceTransfersCommand"; import { ListInputDevicesCommandInput, ListInputDevicesCommandOutput } from "./commands/ListInputDevicesCommand"; import { ListInputSecurityGroupsCommandInput, @@ -72,10 +87,18 @@ import { ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; import { PurchaseOfferingCommandInput, PurchaseOfferingCommandOutput } from "./commands/PurchaseOfferingCommand"; +import { + RejectInputDeviceTransferCommandInput, + RejectInputDeviceTransferCommandOutput, +} from "./commands/RejectInputDeviceTransferCommand"; import { StartChannelCommandInput, StartChannelCommandOutput } from "./commands/StartChannelCommand"; import { StartMultiplexCommandInput, StartMultiplexCommandOutput } from "./commands/StartMultiplexCommand"; import { StopChannelCommandInput, StopChannelCommandOutput } from "./commands/StopChannelCommand"; import { StopMultiplexCommandInput, StopMultiplexCommandOutput } from "./commands/StopMultiplexCommand"; +import { + TransferInputDeviceCommandInput, + TransferInputDeviceCommandOutput, +} from "./commands/TransferInputDeviceCommand"; import { UpdateChannelClassCommandInput, UpdateChannelClassCommandOutput } from "./commands/UpdateChannelClassCommand"; import { UpdateChannelCommandInput, UpdateChannelCommandOutput } from "./commands/UpdateChannelCommand"; import { UpdateInputCommandInput, UpdateInputCommandOutput } from "./commands/UpdateInputCommand"; @@ -140,7 +163,12 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | AcceptInputDeviceTransferCommandInput + | BatchDeleteCommandInput + | BatchStartCommandInput + | BatchStopCommandInput | BatchUpdateScheduleCommandInput + | CancelInputDeviceTransferCommandInput | CreateChannelCommandInput | CreateInputCommandInput | CreateInputSecurityGroupCommandInput @@ -166,6 +194,7 @@ export type ServiceInputTypes = | DescribeReservationCommandInput | DescribeScheduleCommandInput | ListChannelsCommandInput + | ListInputDeviceTransfersCommandInput | ListInputDevicesCommandInput | ListInputSecurityGroupsCommandInput | ListInputsCommandInput @@ -175,10 +204,12 @@ export type ServiceInputTypes = | ListReservationsCommandInput | ListTagsForResourceCommandInput | PurchaseOfferingCommandInput + | RejectInputDeviceTransferCommandInput | StartChannelCommandInput | StartMultiplexCommandInput | StopChannelCommandInput | StopMultiplexCommandInput + | TransferInputDeviceCommandInput | UpdateChannelClassCommandInput | UpdateChannelCommandInput | UpdateInputCommandInput @@ -189,7 +220,12 @@ export type ServiceInputTypes = | UpdateReservationCommandInput; export type ServiceOutputTypes = + | AcceptInputDeviceTransferCommandOutput + | BatchDeleteCommandOutput + | BatchStartCommandOutput + | BatchStopCommandOutput | BatchUpdateScheduleCommandOutput + | CancelInputDeviceTransferCommandOutput | CreateChannelCommandOutput | CreateInputCommandOutput | CreateInputSecurityGroupCommandOutput @@ -215,6 +251,7 @@ export type ServiceOutputTypes = | DescribeReservationCommandOutput | DescribeScheduleCommandOutput | ListChannelsCommandOutput + | ListInputDeviceTransfersCommandOutput | ListInputDevicesCommandOutput | ListInputSecurityGroupsCommandOutput | ListInputsCommandOutput @@ -224,10 +261,12 @@ export type ServiceOutputTypes = | ListReservationsCommandOutput | ListTagsForResourceCommandOutput | PurchaseOfferingCommandOutput + | RejectInputDeviceTransferCommandOutput | StartChannelCommandOutput | StartMultiplexCommandOutput | StopChannelCommandOutput | StopMultiplexCommandOutput + | TransferInputDeviceCommandOutput | UpdateChannelClassCommandOutput | UpdateChannelCommandOutput | UpdateInputCommandOutput diff --git a/clients/client-medialive/commands/AcceptInputDeviceTransferCommand.ts b/clients/client-medialive/commands/AcceptInputDeviceTransferCommand.ts new file mode 100644 index 000000000000..b030224f6b51 --- /dev/null +++ b/clients/client-medialive/commands/AcceptInputDeviceTransferCommand.ts @@ -0,0 +1,73 @@ +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { AcceptInputDeviceTransferRequest, AcceptInputDeviceTransferResponse } from "../models/models_1"; +import { + deserializeAws_restJson1AcceptInputDeviceTransferCommand, + serializeAws_restJson1AcceptInputDeviceTransferCommand, +} 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 AcceptInputDeviceTransferCommandInput = AcceptInputDeviceTransferRequest; +export type AcceptInputDeviceTransferCommandOutput = AcceptInputDeviceTransferResponse & __MetadataBearer; + +export class AcceptInputDeviceTransferCommand extends $Command< + AcceptInputDeviceTransferCommandInput, + AcceptInputDeviceTransferCommandOutput, + MediaLiveClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AcceptInputDeviceTransferCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaLiveClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: AcceptInputDeviceTransferRequest.filterSensitiveLog, + outputFilterSensitiveLog: AcceptInputDeviceTransferResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AcceptInputDeviceTransferCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1AcceptInputDeviceTransferCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1AcceptInputDeviceTransferCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-medialive/commands/BatchDeleteCommand.ts b/clients/client-medialive/commands/BatchDeleteCommand.ts new file mode 100644 index 000000000000..cda0942830f7 --- /dev/null +++ b/clients/client-medialive/commands/BatchDeleteCommand.ts @@ -0,0 +1,70 @@ +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { BatchDeleteRequest, BatchDeleteResponse } from "../models/models_1"; +import { + deserializeAws_restJson1BatchDeleteCommand, + serializeAws_restJson1BatchDeleteCommand, +} 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 BatchDeleteCommandInput = BatchDeleteRequest; +export type BatchDeleteCommandOutput = BatchDeleteResponse & __MetadataBearer; + +export class BatchDeleteCommand extends $Command< + BatchDeleteCommandInput, + BatchDeleteCommandOutput, + MediaLiveClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchDeleteCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaLiveClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: BatchDeleteRequest.filterSensitiveLog, + outputFilterSensitiveLog: BatchDeleteResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: BatchDeleteCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1BatchDeleteCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1BatchDeleteCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-medialive/commands/BatchStartCommand.ts b/clients/client-medialive/commands/BatchStartCommand.ts new file mode 100644 index 000000000000..d78eaab428ab --- /dev/null +++ b/clients/client-medialive/commands/BatchStartCommand.ts @@ -0,0 +1,70 @@ +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { BatchStartRequest, BatchStartResponse } from "../models/models_1"; +import { + deserializeAws_restJson1BatchStartCommand, + serializeAws_restJson1BatchStartCommand, +} 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 BatchStartCommandInput = BatchStartRequest; +export type BatchStartCommandOutput = BatchStartResponse & __MetadataBearer; + +export class BatchStartCommand extends $Command< + BatchStartCommandInput, + BatchStartCommandOutput, + MediaLiveClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchStartCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaLiveClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: BatchStartRequest.filterSensitiveLog, + outputFilterSensitiveLog: BatchStartResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: BatchStartCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1BatchStartCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1BatchStartCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-medialive/commands/BatchStopCommand.ts b/clients/client-medialive/commands/BatchStopCommand.ts new file mode 100644 index 000000000000..0d097808eec1 --- /dev/null +++ b/clients/client-medialive/commands/BatchStopCommand.ts @@ -0,0 +1,70 @@ +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { BatchStopRequest, BatchStopResponse } from "../models/models_1"; +import { + deserializeAws_restJson1BatchStopCommand, + serializeAws_restJson1BatchStopCommand, +} 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 BatchStopCommandInput = BatchStopRequest; +export type BatchStopCommandOutput = BatchStopResponse & __MetadataBearer; + +export class BatchStopCommand extends $Command< + BatchStopCommandInput, + BatchStopCommandOutput, + MediaLiveClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchStopCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaLiveClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: BatchStopRequest.filterSensitiveLog, + outputFilterSensitiveLog: BatchStopResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: BatchStopCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1BatchStopCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1BatchStopCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-medialive/commands/CancelInputDeviceTransferCommand.ts b/clients/client-medialive/commands/CancelInputDeviceTransferCommand.ts new file mode 100644 index 000000000000..4c275068953a --- /dev/null +++ b/clients/client-medialive/commands/CancelInputDeviceTransferCommand.ts @@ -0,0 +1,73 @@ +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { CancelInputDeviceTransferRequest, CancelInputDeviceTransferResponse } from "../models/models_1"; +import { + deserializeAws_restJson1CancelInputDeviceTransferCommand, + serializeAws_restJson1CancelInputDeviceTransferCommand, +} 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 CancelInputDeviceTransferCommandInput = CancelInputDeviceTransferRequest; +export type CancelInputDeviceTransferCommandOutput = CancelInputDeviceTransferResponse & __MetadataBearer; + +export class CancelInputDeviceTransferCommand extends $Command< + CancelInputDeviceTransferCommandInput, + CancelInputDeviceTransferCommandOutput, + MediaLiveClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CancelInputDeviceTransferCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaLiveClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CancelInputDeviceTransferRequest.filterSensitiveLog, + outputFilterSensitiveLog: CancelInputDeviceTransferResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CancelInputDeviceTransferCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CancelInputDeviceTransferCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1CancelInputDeviceTransferCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-medialive/commands/ListInputDeviceTransfersCommand.ts b/clients/client-medialive/commands/ListInputDeviceTransfersCommand.ts new file mode 100644 index 000000000000..42a6be8af1f6 --- /dev/null +++ b/clients/client-medialive/commands/ListInputDeviceTransfersCommand.ts @@ -0,0 +1,70 @@ +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { ListInputDeviceTransfersRequest, ListInputDeviceTransfersResponse } from "../models/models_1"; +import { + deserializeAws_restJson1ListInputDeviceTransfersCommand, + serializeAws_restJson1ListInputDeviceTransfersCommand, +} 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 ListInputDeviceTransfersCommandInput = ListInputDeviceTransfersRequest; +export type ListInputDeviceTransfersCommandOutput = ListInputDeviceTransfersResponse & __MetadataBearer; + +export class ListInputDeviceTransfersCommand extends $Command< + ListInputDeviceTransfersCommandInput, + ListInputDeviceTransfersCommandOutput, + MediaLiveClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListInputDeviceTransfersCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaLiveClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListInputDeviceTransfersRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListInputDeviceTransfersResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListInputDeviceTransfersCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListInputDeviceTransfersCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListInputDeviceTransfersCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-medialive/commands/RejectInputDeviceTransferCommand.ts b/clients/client-medialive/commands/RejectInputDeviceTransferCommand.ts new file mode 100644 index 000000000000..0d42c73ce7ef --- /dev/null +++ b/clients/client-medialive/commands/RejectInputDeviceTransferCommand.ts @@ -0,0 +1,73 @@ +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { RejectInputDeviceTransferRequest, RejectInputDeviceTransferResponse } from "../models/models_1"; +import { + deserializeAws_restJson1RejectInputDeviceTransferCommand, + serializeAws_restJson1RejectInputDeviceTransferCommand, +} 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 RejectInputDeviceTransferCommandInput = RejectInputDeviceTransferRequest; +export type RejectInputDeviceTransferCommandOutput = RejectInputDeviceTransferResponse & __MetadataBearer; + +export class RejectInputDeviceTransferCommand extends $Command< + RejectInputDeviceTransferCommandInput, + RejectInputDeviceTransferCommandOutput, + MediaLiveClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RejectInputDeviceTransferCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaLiveClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: RejectInputDeviceTransferRequest.filterSensitiveLog, + outputFilterSensitiveLog: RejectInputDeviceTransferResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RejectInputDeviceTransferCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1RejectInputDeviceTransferCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1RejectInputDeviceTransferCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-medialive/commands/TransferInputDeviceCommand.ts b/clients/client-medialive/commands/TransferInputDeviceCommand.ts new file mode 100644 index 000000000000..96435b3b8dac --- /dev/null +++ b/clients/client-medialive/commands/TransferInputDeviceCommand.ts @@ -0,0 +1,70 @@ +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { TransferInputDeviceRequest, TransferInputDeviceResponse } from "../models/models_1"; +import { + deserializeAws_restJson1TransferInputDeviceCommand, + serializeAws_restJson1TransferInputDeviceCommand, +} 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 TransferInputDeviceCommandInput = TransferInputDeviceRequest; +export type TransferInputDeviceCommandOutput = TransferInputDeviceResponse & __MetadataBearer; + +export class TransferInputDeviceCommand extends $Command< + TransferInputDeviceCommandInput, + TransferInputDeviceCommandOutput, + MediaLiveClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: TransferInputDeviceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaLiveClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: TransferInputDeviceRequest.filterSensitiveLog, + outputFilterSensitiveLog: TransferInputDeviceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: TransferInputDeviceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1TransferInputDeviceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1TransferInputDeviceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-medialive/index.ts b/clients/client-medialive/index.ts index 6b668ab9a48e..dfa58ed06077 100644 --- a/clients/client-medialive/index.ts +++ b/clients/client-medialive/index.ts @@ -1,6 +1,11 @@ export * from "./MediaLiveClient"; export * from "./MediaLive"; +export * from "./commands/AcceptInputDeviceTransferCommand"; +export * from "./commands/BatchDeleteCommand"; +export * from "./commands/BatchStartCommand"; +export * from "./commands/BatchStopCommand"; export * from "./commands/BatchUpdateScheduleCommand"; +export * from "./commands/CancelInputDeviceTransferCommand"; export * from "./commands/CreateChannelCommand"; export * from "./commands/CreateInputCommand"; export * from "./commands/CreateInputSecurityGroupCommand"; @@ -25,20 +30,33 @@ export * from "./commands/DescribeMultiplexProgramCommand"; export * from "./commands/DescribeOfferingCommand"; export * from "./commands/DescribeReservationCommand"; export * from "./commands/DescribeScheduleCommand"; +export * from "./pagination/DescribeSchedulePaginator"; export * from "./commands/ListChannelsCommand"; +export * from "./pagination/ListChannelsPaginator"; export * from "./commands/ListInputDevicesCommand"; +export * from "./pagination/ListInputDevicesPaginator"; +export * from "./commands/ListInputDeviceTransfersCommand"; +export * from "./pagination/ListInputDeviceTransfersPaginator"; export * from "./commands/ListInputsCommand"; +export * from "./pagination/ListInputsPaginator"; export * from "./commands/ListInputSecurityGroupsCommand"; +export * from "./pagination/ListInputSecurityGroupsPaginator"; export * from "./commands/ListMultiplexesCommand"; +export * from "./pagination/ListMultiplexesPaginator"; export * from "./commands/ListMultiplexProgramsCommand"; +export * from "./pagination/ListMultiplexProgramsPaginator"; export * from "./commands/ListOfferingsCommand"; +export * from "./pagination/ListOfferingsPaginator"; export * from "./commands/ListReservationsCommand"; +export * from "./pagination/ListReservationsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/PurchaseOfferingCommand"; +export * from "./commands/RejectInputDeviceTransferCommand"; export * from "./commands/StartChannelCommand"; export * from "./commands/StartMultiplexCommand"; export * from "./commands/StopChannelCommand"; export * from "./commands/StopMultiplexCommand"; +export * from "./commands/TransferInputDeviceCommand"; export * from "./commands/UpdateChannelCommand"; export * from "./commands/UpdateChannelClassCommand"; export * from "./commands/UpdateInputCommand"; @@ -47,4 +65,5 @@ export * from "./commands/UpdateInputSecurityGroupCommand"; export * from "./commands/UpdateMultiplexCommand"; export * from "./commands/UpdateMultiplexProgramCommand"; export * from "./commands/UpdateReservationCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-medialive/models/models_0.ts b/clients/client-medialive/models/models_0.ts index cb7bfccbf901..058bbe237202 100644 --- a/clients/client-medialive/models/models_0.ts +++ b/clients/client-medialive/models/models_0.ts @@ -5,14 +5,14 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; */ export interface InputChannelLevel { /** - * The index of the input channel used as a source. + * Remixing value. Units are in dB and acceptable values are within the range from -60 (mute) and 6 dB. */ - InputChannel: number | undefined; + Gain: number | undefined; /** - * Remixing value. Units are in dB and acceptable values are within the range from -60 (mute) and 6 dB. + * The index of the input channel used as a source. */ - Gain: number | undefined; + InputChannel: number | undefined; } export namespace InputChannelLevel { @@ -55,6 +55,11 @@ export enum AudioNormalizationAlgorithmControl { * Audio Normalization Settings */ export interface AudioNormalizationSettings { + /** + * Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, itu17702 conforms to the EBU R-128 specification. + */ + Algorithm?: AudioNormalizationAlgorithm | string; + /** * Target LKFS(loudness) to adjust volume to. If no value is entered, a default value will be used according to the chosen algorithm. The CALM Act (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a target of -23 LKFS. */ @@ -64,11 +69,6 @@ export interface AudioNormalizationSettings { * When set to correctAudio the output audio is corrected using the chosen algorithm. If set to measureOnly, the audio will be measured but not adjusted. */ AlgorithmControl?: AudioNormalizationAlgorithmControl | string; - - /** - * Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, itu17702 conforms to the EBU R-128 specification. - */ - Algorithm?: AudioNormalizationAlgorithm | string; } export namespace AudioNormalizationSettings { @@ -135,31 +135,29 @@ export enum AacVbrQuality { */ export interface AacSettings { /** - * Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers. + * Sample rate in Hz. Valid values depend on rate control mode and profile. */ - Spec?: AacSpec | string; + SampleRate?: number; /** - * Set to "broadcasterMixedAd" when input contains pre-mixed main audio + AD (narration) as a stereo pair. The Audio Type field (audioType) will be set to 3, which signals to downstream systems that this stream contains "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. The values in audioTypeControl and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd. - * - * Leave set to "normal" when input does not contain pre-mixed audio + AD. + * Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control mode and profile. The adReceiverMix setting receives a stereo description plus control track and emits a mono AAC encode of the description track, with control data emitted in the PES header as per ETSI TS 101 154 Annex E. */ - InputType?: AacInputType | string; + CodingMode?: AacCodingMode | string; /** - * Rate Control Mode. + * AAC Profile. */ - RateControlMode?: AacRateControlMode | string; + Profile?: AacProfile | string; /** - * Sample rate in Hz. Valid values depend on rate control mode and profile. + * Rate Control Mode. */ - SampleRate?: number; + RateControlMode?: AacRateControlMode | string; /** - * AAC Profile. + * Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers. */ - Profile?: AacProfile | string; + Spec?: AacSpec | string; /** * VBR Quality Level - Only used if rateControlMode is VBR. @@ -167,19 +165,21 @@ export interface AacSettings { VbrQuality?: AacVbrQuality | string; /** - * Average bitrate in bits/second. Valid values depend on rate control mode and profile. + * Set to "broadcasterMixedAd" when input contains pre-mixed main audio + AD (narration) as a stereo pair. The Audio Type field (audioType) will be set to 3, which signals to downstream systems that this stream contains "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. The values in audioTypeControl and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd. + * + * Leave set to "normal" when input does not contain pre-mixed audio + AD. */ - Bitrate?: number; + InputType?: AacInputType | string; /** - * Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control mode and profile. The adReceiverMix setting receives a stereo description plus control track and emits a mono AAC encode of the description track, with control data emitted in the PES header as per ETSI TS 101 154 Annex E. + * Sets LATM / LOAS AAC output for raw containers. */ - CodingMode?: AacCodingMode | string; + RawFormat?: AacRawFormat | string; /** - * Sets LATM / LOAS AAC output for raw containers. + * Average bitrate in bits/second. Valid values depend on rate control mode and profile. */ - RawFormat?: AacRawFormat | string; + Bitrate?: number; } export namespace AacSettings { @@ -226,9 +226,9 @@ export enum Ac3MetadataControl { */ export interface Ac3Settings { /** - * When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid in codingMode32Lfe mode. + * When set to "followInput", encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used. */ - LfeFilter?: Ac3LfeFilter | string; + MetadataControl?: Ac3MetadataControl | string; /** * Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, dialnorm will be passed through. @@ -236,29 +236,29 @@ export interface Ac3Settings { Dialnorm?: number; /** - * If set to filmStandard, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification. + * Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC A/52-2012 for background on these values. */ - DrcProfile?: Ac3DrcProfile | string; + BitstreamMode?: Ac3BitstreamMode | string; /** - * Average bitrate in bits/second. Valid bitrates depend on the coding mode. + * Dolby Digital coding mode. Determines number of channels. */ - Bitrate?: number; + CodingMode?: Ac3CodingMode | string; /** - * When set to "followInput", encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used. + * If set to filmStandard, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification. */ - MetadataControl?: Ac3MetadataControl | string; + DrcProfile?: Ac3DrcProfile | string; /** - * Dolby Digital coding mode. Determines number of channels. + * Average bitrate in bits/second. Valid bitrates depend on the coding mode. */ - CodingMode?: Ac3CodingMode | string; + Bitrate?: number; /** - * Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC A/52-2012 for background on these values. + * When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid in codingMode32Lfe mode. */ - BitstreamMode?: Ac3BitstreamMode | string; + LfeFilter?: Ac3LfeFilter | string; } export namespace Ac3Settings { @@ -358,104 +358,104 @@ export enum Eac3SurroundMode { */ export interface Eac3Settings { /** - * When set to enabled, activates a DC highpass filter for all input channels. + * Average bitrate in bits/second. Valid bitrates depend on the coding mode. */ - DcFilter?: Eac3DcFilter | string; + Bitrate?: number; /** - * Left only/Right only center mix level. Only used for 3/2 coding mode. + * Left total/Right total surround mix level. Only used for 3/2 coding mode. */ - LoRoCenterMixLevel?: number; + LtRtSurroundMixLevel?: number; /** - * Left total/Right total surround mix level. Only used for 3/2 coding mode. + * Left only/Right only surround mix level. Only used for 3/2 coding mode. */ - LtRtSurroundMixLevel?: number; + LoRoSurroundMixLevel?: number; /** - * When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels. + * Left total/Right total center mix level. Only used for 3/2 coding mode. */ - SurroundExMode?: Eac3SurroundExMode | string; + LtRtCenterMixLevel?: number; /** - * When set to whenPossible, input DD+ audio will be passed through if it is present on the input. This detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding. + * When set to followInput, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used. */ - PassthroughControl?: Eac3PassthroughControl | string; + MetadataControl?: Eac3MetadataControl | string; /** - * Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC A/52-2012 (Annex E) for background on these values. + * Sets the Dolby dynamic range compression profile. */ - BitstreamMode?: Eac3BitstreamMode | string; + DrcLine?: Eac3DrcLine | string; /** - * Sets the profile for heavy Dolby dynamic range compression, ensures that the instantaneous signal peaks do not exceed specified levels. + * When encoding 3/2 audio, setting to lfe enables the LFE channel */ - DrcRf?: Eac3DrcRf | string; + LfeControl?: Eac3LfeControl | string; /** - * When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode. + * When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with codingMode32 coding mode. */ - AttenuationControl?: Eac3AttenuationControl | string; + LfeFilter?: Eac3LfeFilter | string; /** - * Dolby Digital Plus coding mode. Determines number of channels. + * When set to shift90Degrees, applies a 90-degree phase shift to the surround channels. Only used for 3/2 coding mode. */ - CodingMode?: Eac3CodingMode | string; + PhaseControl?: Eac3PhaseControl | string; /** - * Sets the Dolby dynamic range compression profile. + * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels. */ - DrcLine?: Eac3DrcLine | string; + SurroundMode?: Eac3SurroundMode | string; /** - * Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through. + * Dolby Digital Plus coding mode. Determines number of channels. */ - Dialnorm?: number; + CodingMode?: Eac3CodingMode | string; /** - * When set to shift90Degrees, applies a 90-degree phase shift to the surround channels. Only used for 3/2 coding mode. + * When set to whenPossible, input DD+ audio will be passed through if it is present on the input. This detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding. */ - PhaseControl?: Eac3PhaseControl | string; + PassthroughControl?: Eac3PassthroughControl | string; /** - * Stereo downmix preference. Only used for 3/2 coding mode. + * Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through. */ - StereoDownmix?: Eac3StereoDownmix | string; + Dialnorm?: number; /** - * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels. + * Sets the profile for heavy Dolby dynamic range compression, ensures that the instantaneous signal peaks do not exceed specified levels. */ - SurroundMode?: Eac3SurroundMode | string; + DrcRf?: Eac3DrcRf | string; /** - * Left total/Right total center mix level. Only used for 3/2 coding mode. + * Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC A/52-2012 (Annex E) for background on these values. */ - LtRtCenterMixLevel?: number; + BitstreamMode?: Eac3BitstreamMode | string; /** - * When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with codingMode32 coding mode. + * Stereo downmix preference. Only used for 3/2 coding mode. */ - LfeFilter?: Eac3LfeFilter | string; + StereoDownmix?: Eac3StereoDownmix | string; /** - * Left only/Right only surround mix level. Only used for 3/2 coding mode. + * Left only/Right only center mix level. Only used for 3/2 coding mode. */ - LoRoSurroundMixLevel?: number; + LoRoCenterMixLevel?: number; /** - * Average bitrate in bits/second. Valid bitrates depend on the coding mode. + * When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels. */ - Bitrate?: number; + SurroundExMode?: Eac3SurroundExMode | string; /** - * When set to followInput, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used. + * When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode. */ - MetadataControl?: Eac3MetadataControl | string; + AttenuationControl?: Eac3AttenuationControl | string; /** - * When encoding 3/2 audio, setting to lfe enables the LFE channel + * When set to enabled, activates a DC highpass filter for all input channels. */ - LfeControl?: Eac3LfeControl | string; + DcFilter?: Eac3DcFilter | string; } export namespace Eac3Settings { @@ -474,9 +474,9 @@ export enum Mp2CodingMode { */ export interface Mp2Settings { /** - * Sample rate in Hz. + * Average bitrate in bits/second. */ - SampleRate?: number; + Bitrate?: number; /** * The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or codingMode20 (for stereo). @@ -484,9 +484,9 @@ export interface Mp2Settings { CodingMode?: Mp2CodingMode | string; /** - * Average bitrate in bits/second. + * Sample rate in Hz. */ - Bitrate?: number; + SampleRate?: number; } export namespace Mp2Settings { @@ -506,6 +506,39 @@ export namespace PassThroughSettings { }); } +export enum WavCodingMode { + CODING_MODE_1_0 = "CODING_MODE_1_0", + CODING_MODE_2_0 = "CODING_MODE_2_0", + CODING_MODE_4_0 = "CODING_MODE_4_0", + CODING_MODE_8_0 = "CODING_MODE_8_0", +} + +/** + * Wav Settings + */ +export interface WavSettings { + /** + * The audio coding mode for the WAV audio. The mode determines the number of channels in the audio. + */ + CodingMode?: WavCodingMode | string; + + /** + * Bits per sample. + */ + BitDepth?: number; + + /** + * Sample rate in Hz. + */ + SampleRate?: number; +} + +export namespace WavSettings { + export const filterSensitiveLog = (obj: WavSettings): any => ({ + ...obj, + }); +} + /** * Audio Codec Settings */ @@ -516,24 +549,29 @@ export interface AudioCodecSettings { PassThroughSettings?: PassThroughSettings; /** - * Ac3 Settings + * Mp2 Settings */ - Ac3Settings?: Ac3Settings; + Mp2Settings?: Mp2Settings; /** - * Mp2 Settings + * Wav Settings */ - Mp2Settings?: Mp2Settings; + WavSettings?: WavSettings; /** - * Aac Settings + * Ac3 Settings */ - AacSettings?: AacSettings; + Ac3Settings?: Ac3Settings; /** * Eac3 Settings */ Eac3Settings?: Eac3Settings; + + /** + * Aac Settings + */ + AacSettings?: AacSettings; } export namespace AudioCodecSettings { @@ -551,6 +589,11 @@ export enum AudioDescriptionLanguageCodeControl { * Remix Settings */ export interface RemixSettings { + /** + * Number of input channels to be used. + */ + ChannelsIn?: number; + /** * Number of output channels to be produced. * Valid values: 1, 2, 4, 6, 8 @@ -561,11 +604,6 @@ export interface RemixSettings { * Mapping of input channels to output channels, with appropriate gain adjustments. */ ChannelMappings: AudioChannelMapping[] | undefined; - - /** - * Number of input channels to be used. - */ - ChannelsIn?: number; } export namespace RemixSettings { @@ -579,14 +617,22 @@ export namespace RemixSettings { */ export interface AudioDescription { /** - * Advanced audio normalization settings. + * Settings that control how input audio channels are remixed into the output audio channels. */ - AudioNormalizationSettings?: AudioNormalizationSettings; + RemixSettings?: RemixSettings; /** - * RFC 5646 language code representing the language of the audio output track. Only used if languageControlMode is useConfigured, or there is no ISO 639 language code specified in the input. + * Determines how audio type is determined. + * followInput: If the input contains an ISO 639 audioType, then that value is passed through to the output. If the input contains no ISO 639 audioType, the value in Audio Type is included in the output. + * useConfigured: The value in Audio Type is included in the output. + * Note that this field and audioType are both ignored if inputType is broadcasterMixedAd. */ - LanguageCode?: string; + AudioTypeControl?: AudioDescriptionAudioTypeControl | string; + + /** + * Choosing followInput will cause the ISO 639 language code of the output to follow the ISO 639 language code of the input. The languageCode will be used when useConfigured is set, or when followInput is selected but there is no ISO 639 language code specified by the input. + */ + LanguageCodeControl?: AudioDescriptionLanguageCodeControl | string; /** * The name of the AudioSelector used as the source for this AudioDescription. @@ -594,43 +640,35 @@ export interface AudioDescription { AudioSelectorName: string | undefined; /** - * Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary). + * Advanced audio normalization settings. */ - StreamName?: string; + AudioNormalizationSettings?: AudioNormalizationSettings; /** - * Choosing followInput will cause the ISO 639 language code of the output to follow the ISO 639 language code of the input. The languageCode will be used when useConfigured is set, or when followInput is selected but there is no ISO 639 language code specified by the input. + * RFC 5646 language code representing the language of the audio output track. Only used if languageControlMode is useConfigured, or there is no ISO 639 language code specified in the input. */ - LanguageCodeControl?: AudioDescriptionLanguageCodeControl | string; + LanguageCode?: string; /** - * Applies only if audioTypeControl is useConfigured. The values for audioType are defined in ISO-IEC 13818-1. + * Audio codec settings. */ - AudioType?: AudioType | string; + CodecSettings?: AudioCodecSettings; /** - * The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event. + * Applies only if audioTypeControl is useConfigured. The values for audioType are defined in ISO-IEC 13818-1. */ - Name: string | undefined; + AudioType?: AudioType | string; /** - * Audio codec settings. + * Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary). */ - CodecSettings?: AudioCodecSettings; + StreamName?: string; /** - * Settings that control how input audio channels are remixed into the output audio channels. + * The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event. */ - RemixSettings?: RemixSettings; - - /** - * Determines how audio type is determined. - * followInput: If the input contains an ISO 639 audioType, then that value is passed through to the output. If the input contains no ISO 639 audioType, the value in Audio Type is included in the output. - * useConfigured: The value in Audio Type is included in the output. - * Note that this field and audioType are both ignored if inputType is broadcasterMixedAd. - */ - AudioTypeControl?: AudioDescriptionAudioTypeControl | string; -} + Name: string | undefined; +} export namespace AudioDescription { export const filterSensitiveLog = (obj: AudioDescription): any => ({ @@ -701,7 +739,7 @@ export namespace AudioTrack { */ export interface AudioTrackSelection { /** - * Selects one or more unique audio tracks from within an mp4 source. + * Selects one or more unique audio tracks from within a source. */ Tracks: AudioTrack[] | undefined; } @@ -716,11 +754,6 @@ export namespace AudioTrackSelection { * Audio Selector Settings */ export interface AudioSelectorSettings { - /** - * Audio Language Selection - */ - AudioLanguageSelection?: AudioLanguageSelection; - /** * Audio Pid Selection */ @@ -730,6 +763,11 @@ export interface AudioSelectorSettings { * Audio Track Selection */ AudioTrackSelection?: AudioTrackSelection; + + /** + * Audio Language Selection + */ + AudioLanguageSelection?: AudioLanguageSelection; } export namespace AudioSelectorSettings { @@ -759,6 +797,63 @@ export namespace AudioSelector { }); } +/** + * Details from a failed operation + */ +export interface BatchFailedResultModel { + /** + * Error message for the failed operation + */ + Message?: string; + + /** + * ID of the resource + */ + Id?: string; + + /** + * ARN of the resource + */ + Arn?: string; + + /** + * Error code for the failed operation + */ + Code?: string; +} + +export namespace BatchFailedResultModel { + export const filterSensitiveLog = (obj: BatchFailedResultModel): any => ({ + ...obj, + }); +} + +/** + * Details from a successful operation + */ +export interface BatchSuccessfulResultModel { + /** + * Current state of the resource + */ + State?: string; + + /** + * ID of the resource + */ + Id?: string; + + /** + * ARN of the resource + */ + Arn?: string; +} + +export namespace BatchSuccessfulResultModel { + export const filterSensitiveLog = (obj: BatchSuccessfulResultModel): any => ({ + ...obj, + }); +} + /** * Arib Destination Settings */ @@ -792,14 +887,14 @@ export interface InputLocation { Uri: string | undefined; /** - * key used to extract the password from EC2 Parameter store + * Documentation update needed */ - PasswordParam?: string; + Username?: string; /** - * Documentation update needed + * key used to extract the password from EC2 Parameter store */ - Username?: string; + PasswordParam?: string; } export namespace InputLocation { @@ -842,14 +937,14 @@ export enum BurnInTeletextGridControl { */ export interface BurnInDestinationSettings { /** - * External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match. + * Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match. */ - Font?: InputLocation; + BackgroundColor?: BurnInBackgroundColor | string; /** - * Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. All burn-in and DVB-Sub font settings must match. + * Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match. */ - XPosition?: number; + YPosition?: number; /** * When set to 'auto' fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match. @@ -857,14 +952,14 @@ export interface BurnInDestinationSettings { FontSize?: string; /** - * Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match. + * External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match. */ - ShadowYOffset?: number; + Font?: InputLocation; /** - * Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match. + * Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match. */ - YPosition?: number; + ShadowYOffset?: number; /** * Controls whether a fixed grid size will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs. @@ -872,29 +967,29 @@ export interface BurnInDestinationSettings { TeletextGridControl?: BurnInTeletextGridControl | string; /** - * Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match. + * Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. */ - BackgroundColor?: BurnInBackgroundColor | string; + ShadowOpacity?: number; /** - * Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. */ - OutlineSize?: number; + BackgroundOpacity?: number; /** - * Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match. + * If no explicit xPosition or yPosition is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. Selecting "smart" justification will left-justify live subtitles and center-justify pre-recorded subtitles. All burn-in and DVB-Sub font settings must match. */ - ShadowXOffset?: number; + Alignment?: BurnInAlignment | string; /** - * Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match. + * Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. All burn-in and DVB-Sub font settings must match. */ - FontOpacity?: number; + XPosition?: number; /** - * Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match. */ - OutlineColor?: BurnInOutlineColor | string; + FontOpacity?: number; /** * Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match. @@ -907,24 +1002,24 @@ export interface BurnInDestinationSettings { FontResolution?: number; /** - * Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. + * Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ - BackgroundOpacity?: number; + FontColor?: BurnInFontColor | string; /** - * If no explicit xPosition or yPosition is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. Selecting "smart" justification will left-justify live subtitles and center-justify pre-recorded subtitles. All burn-in and DVB-Sub font settings must match. + * Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ - Alignment?: BurnInAlignment | string; + OutlineSize?: number; /** - * Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match. */ - FontColor?: BurnInFontColor | string; + ShadowXOffset?: number; /** - * Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. + * Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ - ShadowOpacity?: number; + OutlineColor?: BurnInOutlineColor | string; } export namespace BurnInDestinationSettings { @@ -978,6 +1073,16 @@ export enum DvbSubDestinationTeletextGridControl { * Dvb Sub Destination Settings */ export interface DvbSubDestinationSettings { + /** + * Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match. + */ + BackgroundColor?: DvbSubDestinationBackgroundColor | string; + + /** + * Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + */ + YPosition?: number; + /** * Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ @@ -989,14 +1094,9 @@ export interface DvbSubDestinationSettings { FontSize?: string; /** - * External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match. - */ - Font?: InputLocation; - - /** - * Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match. + * Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. */ - BackgroundColor?: DvbSubDestinationBackgroundColor | string; + BackgroundOpacity?: number; /** * If no explicit xPosition or yPosition is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. Selecting "smart" justification will left-justify live subtitles and center-justify pre-recorded subtitles. This option is not valid for source captions that are STL or 608/embedded. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. @@ -1004,29 +1104,29 @@ export interface DvbSubDestinationSettings { Alignment?: DvbSubDestinationAlignment | string; /** - * Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match. + * Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match. */ - ShadowXOffset?: number; + ShadowYOffset?: number; /** - * Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. */ - OutlineSize?: number; + ShadowOpacity?: number; /** - * Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. + * External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match. */ - BackgroundOpacity?: number; + Font?: InputLocation; /** - * Controls whether a fixed grid size will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs. + * Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match. */ - TeletextGridControl?: DvbSubDestinationTeletextGridControl | string; + ShadowColor?: DvbSubDestinationShadowColor | string; /** - * Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ - YPosition?: number; + FontColor?: DvbSubDestinationFontColor | string; /** * Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match. @@ -1039,29 +1139,24 @@ export interface DvbSubDestinationSettings { OutlineColor?: DvbSubDestinationOutlineColor | string; /** - * Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match. - */ - FontOpacity?: number; - - /** - * Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. + * Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match. */ - FontColor?: DvbSubDestinationFontColor | string; + ShadowXOffset?: number; /** - * Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match. + * Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match. */ - ShadowOpacity?: number; + OutlineSize?: number; /** - * Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match. + * Controls whether a fixed grid size will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs. */ - ShadowYOffset?: number; + TeletextGridControl?: DvbSubDestinationTeletextGridControl | string; /** - * Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match. + * Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match. */ - ShadowColor?: DvbSubDestinationShadowColor | string; + FontOpacity?: number; } export namespace DvbSubDestinationSettings { @@ -1231,9 +1326,9 @@ export namespace WebvttDestinationSettings { */ export interface CaptionDestinationSettings { /** - * Smpte Tt Destination Settings + * Ttml Destination Settings */ - SmpteTtDestinationSettings?: SmpteTtDestinationSettings; + TtmlDestinationSettings?: TtmlDestinationSettings; /** * Embedded Plus Scte20 Destination Settings @@ -1251,29 +1346,29 @@ export interface CaptionDestinationSettings { EbuTtDDestinationSettings?: EbuTtDDestinationSettings; /** - * Ttml Destination Settings + * Scte27 Destination Settings */ - TtmlDestinationSettings?: TtmlDestinationSettings; + Scte27DestinationSettings?: Scte27DestinationSettings; /** - * Scte20 Plus Embedded Destination Settings + * Rtmp Caption Info Destination Settings */ - Scte20PlusEmbeddedDestinationSettings?: Scte20PlusEmbeddedDestinationSettings; + RtmpCaptionInfoDestinationSettings?: RtmpCaptionInfoDestinationSettings; /** - * Dvb Sub Destination Settings + * Embedded Destination Settings */ - DvbSubDestinationSettings?: DvbSubDestinationSettings; + EmbeddedDestinationSettings?: EmbeddedDestinationSettings; /** - * Webvtt Destination Settings + * Teletext Destination Settings */ - WebvttDestinationSettings?: WebvttDestinationSettings; + TeletextDestinationSettings?: TeletextDestinationSettings; /** - * Teletext Destination Settings + * Dvb Sub Destination Settings */ - TeletextDestinationSettings?: TeletextDestinationSettings; + DvbSubDestinationSettings?: DvbSubDestinationSettings; /** * Burn In Destination Settings @@ -1281,19 +1376,19 @@ export interface CaptionDestinationSettings { BurnInDestinationSettings?: BurnInDestinationSettings; /** - * Scte27 Destination Settings + * Webvtt Destination Settings */ - Scte27DestinationSettings?: Scte27DestinationSettings; + WebvttDestinationSettings?: WebvttDestinationSettings; /** - * Embedded Destination Settings + * Smpte Tt Destination Settings */ - EmbeddedDestinationSettings?: EmbeddedDestinationSettings; + SmpteTtDestinationSettings?: SmpteTtDestinationSettings; /** - * Rtmp Caption Info Destination Settings + * Scte20 Plus Embedded Destination Settings */ - RtmpCaptionInfoDestinationSettings?: RtmpCaptionInfoDestinationSettings; + Scte20PlusEmbeddedDestinationSettings?: Scte20PlusEmbeddedDestinationSettings; } export namespace CaptionDestinationSettings { @@ -1307,9 +1402,9 @@ export namespace CaptionDestinationSettings { */ export interface CaptionDescription { /** - * Additional settings for captions destination that depend on the destination type. + * Specifies which input caption selector to use as a caption source when generating output captions. This field should match a captionSelector name. */ - DestinationSettings?: CaptionDestinationSettings; + CaptionSelectorName: string | undefined; /** * ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/ @@ -1327,9 +1422,9 @@ export interface CaptionDescription { Name: string | undefined; /** - * Specifies which input caption selector to use as a caption source when generating output captions. This field should match a captionSelector name. + * Additional settings for captions destination that depend on the destination type. */ - CaptionSelectorName: string | undefined; + DestinationSettings?: CaptionDestinationSettings; } export namespace CaptionDescription { @@ -1342,6 +1437,11 @@ export namespace CaptionDescription { * Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2), with an optional description. */ export interface CaptionLanguageMapping { + /** + * The closed caption channel being described by this CaptionLanguageMapping. Each channel mapping must have a unique channel number (maximum of 4) + */ + CaptionChannel: number | undefined; + /** * Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2) */ @@ -1351,15 +1451,26 @@ export interface CaptionLanguageMapping { * Textual description of language */ LanguageDescription: string | undefined; +} + +export namespace CaptionLanguageMapping { + export const filterSensitiveLog = (obj: CaptionLanguageMapping): any => ({ + ...obj, + }); +} +/** + * Ancillary Source Settings + */ +export interface AncillarySourceSettings { /** - * The closed caption channel being described by this CaptionLanguageMapping. Each channel mapping must have a unique channel number (maximum of 4) + * Specifies the number (1 to 4) of the captions channel you want to extract from the ancillary captions. If you plan to convert the ancillary captions to another format, complete this field. If you plan to choose Embedded as the captions destination in the output (to pass through all the channels in the ancillary captions), leave this field blank because MediaLive ignores the field. */ - CaptionChannel: number | undefined; + SourceAncillaryChannelNumber?: number; } -export namespace CaptionLanguageMapping { - export const filterSensitiveLog = (obj: CaptionLanguageMapping): any => ({ +export namespace AncillarySourceSettings { + export const filterSensitiveLog = (obj: AncillarySourceSettings): any => ({ ...obj, }); } @@ -1410,6 +1521,11 @@ export interface EmbeddedSourceSettings { */ Source608ChannelNumber?: number; + /** + * This field is unused and deprecated. + */ + Source608TrackNumber?: number; + /** * Set to "auto" to handle streams with intermittent and/or non-aligned SCTE-20 and Embedded captions. */ @@ -1419,11 +1535,6 @@ export interface EmbeddedSourceSettings { * If upconvert, 608 data is both passed through via the "608 compatibility bytes" fields of the 708 wrapper as well as translated into 708. 708 data present in the source content will be discarded. */ Convert608To708?: EmbeddedConvert608To708 | string; - - /** - * This field is unused and deprecated. - */ - Source608TrackNumber?: number; } export namespace EmbeddedSourceSettings { @@ -1499,34 +1610,39 @@ export namespace TeletextSourceSettings { */ export interface CaptionSelectorSettings { /** - * Scte27 Source Settings + * Embedded Source Settings */ - Scte27SourceSettings?: Scte27SourceSettings; + EmbeddedSourceSettings?: EmbeddedSourceSettings; /** - * Dvb Sub Source Settings + * Arib Source Settings */ - DvbSubSourceSettings?: DvbSubSourceSettings; + AribSourceSettings?: AribSourceSettings; /** - * Arib Source Settings + * Dvb Sub Source Settings */ - AribSourceSettings?: AribSourceSettings; + DvbSubSourceSettings?: DvbSubSourceSettings; /** - * Scte20 Source Settings + * Scte27 Source Settings */ - Scte20SourceSettings?: Scte20SourceSettings; + Scte27SourceSettings?: Scte27SourceSettings; /** - * Embedded Source Settings + * Teletext Source Settings */ - EmbeddedSourceSettings?: EmbeddedSourceSettings; + TeletextSourceSettings?: TeletextSourceSettings; /** - * Teletext Source Settings + * Scte20 Source Settings */ - TeletextSourceSettings?: TeletextSourceSettings; + Scte20SourceSettings?: Scte20SourceSettings; + + /** + * Ancillary Source Settings + */ + AncillarySourceSettings?: AncillarySourceSettings; } export namespace CaptionSelectorSettings { @@ -1540,14 +1656,14 @@ export namespace CaptionSelectorSettings { */ export interface CaptionSelector { /** - * Caption selector settings. + * When specified this field indicates the three letter language code of the caption track to extract from the source. */ - SelectorSettings?: CaptionSelectorSettings; + LanguageCode?: string; /** - * When specified this field indicates the three letter language code of the caption track to extract from the source. + * Caption selector settings. */ - LanguageCode?: string; + SelectorSettings?: CaptionSelectorSettings; /** * Name identifier for a caption selector. This name is used to associate this caption selector with one or more caption descriptions. Names must be unique within an event. @@ -1577,6 +1693,29 @@ export namespace ChannelEgressEndpoint { }); } +export enum CdiInputResolution { + FHD = "FHD", + HD = "HD", + SD = "SD", + UHD = "UHD", +} + +/** + * Placeholder documentation for CdiInputSpecification + */ +export interface CdiInputSpecification { + /** + * Maximum CDI input resolution + */ + Resolution?: CdiInputResolution | string; +} + +export namespace CdiInputSpecification { + export const filterSensitiveLog = (obj: CdiInputSpecification): any => ({ + ...obj, + }); +} + export enum ChannelClass { SINGLE_PIPELINE = "SINGLE_PIPELINE", STANDARD = "STANDARD", @@ -1630,14 +1769,14 @@ export interface OutputDestinationSettings { Url?: string; /** - * Stream name for RTMP destinations (URLs of type rtmp://) + * key used to extract the password from EC2 Parameter store */ - StreamName?: string; + PasswordParam?: string; /** - * key used to extract the password from EC2 Parameter store + * Stream name for RTMP destinations (URLs of type rtmp://) */ - PasswordParam?: string; + StreamName?: string; /** * username for destination @@ -1660,11 +1799,6 @@ export interface OutputDestination { */ Id?: string; - /** - * Destination settings for a Multiplex output; one destination for both encoders. - */ - MultiplexSettings?: MultiplexProgramChannelDestinationSettings; - /** * Destination settings for a MediaPackage output; one destination for both encoders. */ @@ -1674,6 +1808,11 @@ export interface OutputDestination { * Destination settings for a standard output; one destination for each redundant encoder. */ Settings?: OutputDestinationSettings[]; + + /** + * Destination settings for a Multiplex output; one destination for both encoders. + */ + MultiplexSettings?: MultiplexProgramChannelDestinationSettings; } export namespace OutputDestination { @@ -1728,6 +1867,11 @@ export enum InputFilter { * Hls Input Settings */ export interface HlsInputSettings { + /** + * The number of consecutive times that attempts to read a manifest or segment must fail before the input is considered unavailable. + */ + Retries?: number; + /** * The number of seconds between retries when an attempt to read a manifest or segment fails. */ @@ -1742,11 +1886,6 @@ export interface HlsInputSettings { * When specified the HLS stream with the m3u8 BANDWIDTH that most closely matches this value will be chosen, otherwise the highest bandwidth stream in the m3u8 will be chosen. The bitrate is specified in bits per second, as in an HLS manifest. */ Bandwidth?: number; - - /** - * The number of consecutive times that attempts to read a manifest or segment must fail before the input is considered unavailable. - */ - Retries?: number; } export namespace HlsInputSettings { @@ -1859,11 +1998,6 @@ export namespace VideoSelectorSettings { * Specifies a particular video stream within an input source. An input may have only a single video selector. */ export interface VideoSelector { - /** - * Specifies the color space of an input. This setting works in tandem with colorSpaceUsage and a video description's colorSpaceSettingsChoice to determine if any conversion will be performed. - */ - ColorSpace?: VideoSelectorColorSpace | string; - /** * The video selector settings. */ @@ -1873,6 +2007,11 @@ export interface VideoSelector { * Applies only if colorSpace is a value other than follow. This field controls how the value in the colorSpace field will be used. fallback means that when the input does include color space data, that data will be used, but when the input has no color space data, the value in colorSpace will be used. Choose fallback if your input is sometimes missing color space data, but when it does have color space data, that data is correct. force means to always use the value in colorSpace. Choose force if your input usually has no color space data or might have unreliable color space data. */ ColorSpaceUsage?: VideoSelectorColorSpaceUsage | string; + + /** + * Specifies the color space of an input. This setting works in tandem with colorSpaceUsage and a video description's colorSpaceSettingsChoice to determine if any conversion will be performed. + */ + ColorSpace?: VideoSelectorColorSpace | string; } export namespace VideoSelector { @@ -1885,6 +2024,16 @@ export namespace VideoSelector { * Live Event input parameters. There can be multiple inputs in a single Live Event. */ export interface InputSettings { + /** + * Enable or disable the deblock filter when filtering. + */ + DeblockFilter?: InputDeblockFilter | string; + + /** + * Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest). + */ + FilterStrength?: number; + /** * Turns on the filter for this input. MPEG-2 inputs have the deblocking filter enabled by default. * 1) auto - filtering will be applied depending on input type/quality @@ -1894,9 +2043,14 @@ export interface InputSettings { InputFilter?: InputFilter | string; /** - * Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest). + * Loop input if it is a file. This allows a file input to be streamed indefinitely. */ - FilterStrength?: number; + SourceEndBehavior?: InputSourceEndBehavior | string; + + /** + * Informs which video elementary stream to decode for input types that have multiple available. + */ + VideoSelector?: VideoSelector; /** * Specifies whether to extract applicable ancillary data from a SMPTE-2038 source in this input. Applicable data types are captions, timecode, AFD, and SCTE-104 messages. @@ -1905,40 +2059,25 @@ export interface InputSettings { */ Smpte2038DataPreference?: Smpte2038DataPreference | string; - /** - * Used to select the caption input to use for inputs that have multiple available. - */ - CaptionSelectors?: CaptionSelector[]; - /** * Used to select the audio stream to decode for inputs that have multiple available. */ AudioSelectors?: AudioSelector[]; /** - * Informs which video elementary stream to decode for input types that have multiple available. - */ - VideoSelector?: VideoSelector; - - /** - * Loop input if it is a file. This allows a file input to be streamed indefinitely. + * Used to select the caption input to use for inputs that have multiple available. */ - SourceEndBehavior?: InputSourceEndBehavior | string; + CaptionSelectors?: CaptionSelector[]; /** - * Enable or disable the deblock filter when filtering. + * Enable or disable the denoise filter when filtering. */ - DeblockFilter?: InputDeblockFilter | string; + DenoiseFilter?: InputDenoiseFilter | string; /** * Input settings. */ NetworkInputSettings?: NetworkInputSettings; - - /** - * Enable or disable the denoise filter when filtering. - */ - DenoiseFilter?: InputDenoiseFilter | string; } export namespace InputSettings { @@ -2000,11 +2139,6 @@ export enum InputResolution { * Placeholder documentation for InputSpecification */ export interface InputSpecification { - /** - * Input codec - */ - Codec?: InputCodec | string; - /** * Input resolution, categorized coarsely */ @@ -2014,6 +2148,11 @@ export interface InputSpecification { * Maximum input bitrate, categorized coarsely */ MaximumBitrate?: InputMaximumBitrate | string; + + /** + * Input codec + */ + Codec?: InputCodec | string; } export namespace InputSpecification { @@ -2056,64 +2195,69 @@ export interface ChannelSummary { Destinations?: OutputDestination[]; /** - * List of input attachments for channel. + * The unique arn of the channel. */ - InputAttachments?: InputAttachment[]; + Arn?: string; /** - * Placeholder documentation for InputSpecification + * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. */ - InputSpecification?: InputSpecification; + ChannelClass?: ChannelClass | string; /** - * The Amazon Resource Name (ARN) of the role assumed when running the Channel. + * The unique id of the channel. */ - RoleArn?: string; + Id?: string; /** - * The log level being written to CloudWatch Logs. + * The endpoints where outgoing connections initiate from */ - LogLevel?: LogLevel | string; + EgressEndpoints?: ChannelEgressEndpoint[]; /** - * Placeholder documentation for ChannelState + * A collection of key-value pairs. */ - State?: ChannelState | string; + Tags?: { [key: string]: string }; /** - * The name of the channel. (user-mutable) + * The number of currently healthy pipelines. */ - Name?: string; + PipelinesRunningCount?: number; /** - * A collection of key-value pairs. + * Specification of CDI inputs for this channel */ - Tags?: { [key: string]: string }; + CdiInputSpecification?: CdiInputSpecification; /** - * The endpoints where outgoing connections initiate from + * Placeholder documentation for ChannelState */ - EgressEndpoints?: ChannelEgressEndpoint[]; + State?: ChannelState | string; /** - * The unique id of the channel. + * The Amazon Resource Name (ARN) of the role assumed when running the Channel. */ - Id?: string; + RoleArn?: string; /** - * The unique arn of the channel. + * Specification of network and file inputs for this channel */ - Arn?: string; + InputSpecification?: InputSpecification; /** - * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. + * List of input attachments for channel. */ - ChannelClass?: ChannelClass | string; + InputAttachments?: InputAttachment[]; /** - * The number of currently healthy pipelines. + * The name of the channel. (user-mutable) */ - PipelinesRunningCount?: number; + Name?: string; + + /** + * The log level being written to CloudWatch Logs. + */ + LogLevel?: LogLevel | string; } export namespace ChannelSummary { @@ -2133,14 +2277,14 @@ export enum HlsAdMarkers { */ export interface InputDestinationVpc { /** - * The network interface ID of the Input destination in the VPC. + * The availability zone of the Input destination. */ - NetworkInterfaceId?: string; + AvailabilityZone?: string; /** - * The availability zone of the Input destination. + * The network interface ID of the Input destination in the VPC. */ - AvailabilityZone?: string; + NetworkInterfaceId?: string; } export namespace InputDestinationVpc { @@ -2158,6 +2302,12 @@ export interface InputDestination { */ Port?: string; + /** + * This represents the endpoint that the customer stream will be + * pushed to. + */ + Url?: string; + /** * The properties for a VPC type input destination. */ @@ -2168,12 +2318,6 @@ export interface InputDestination { * It remains fixed for the lifetime of the input. */ Ip?: string; - - /** - * This represents the endpoint that the customer stream will be - * pushed to. - */ - Url?: string; } export namespace InputDestination { @@ -2235,14 +2379,14 @@ export interface InputSource { Url?: string; /** - * The username for the input source. + * The key used to extract the password from EC2 Parameter store. */ - Username?: string; + PasswordParam?: string; /** - * The key used to extract the password from EC2 Parameter store. + * The username for the input source. */ - PasswordParam?: string; + Username?: string; } export namespace InputSource { @@ -2260,6 +2404,7 @@ export enum InputState { } export enum InputType { + AWS_CDI = "AWS_CDI", INPUT_DEVICE = "INPUT_DEVICE", MEDIACONNECT = "MEDIACONNECT", MP4_FILE = "MP4_FILE", @@ -2274,26 +2419,20 @@ export enum InputType { * Placeholder documentation for Input */ export interface Input { - /** - * A list of IDs for all the Input Security Groups attached to the input. - */ - SecurityGroups?: string[]; - /** * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. */ RoleArn?: string; /** - * STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails. - * SINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input. + * The Unique ARN of the input (generated, immutable). */ - InputClass?: InputClass | string; + Arn?: string; /** - * The Unique ARN of the input (generated, immutable). + * A list of IDs for all the Input Security Groups attached to the input. */ - Arn?: string; + SecurityGroups?: string[]; /** * The generated ID of the input (unique for user account, immutable). @@ -2306,19 +2445,9 @@ export interface Input { Sources?: InputSource[]; /** - * A list of the destinations of the input (PUSH-type). - */ - Destinations?: InputDestination[]; - - /** - * The user-assigned name (This is a mutable value). - */ - Name?: string; - - /** - * Placeholder documentation for InputState + * Settings for the input devices. */ - State?: InputState | string; + InputDevices?: InputDeviceSettings[]; /** * A list of MediaConnect Flows for this input. @@ -2332,14 +2461,14 @@ export interface Input { InputSourceType?: InputSourceType | string; /** - * Placeholder documentation for InputType + * A collection of key-value pairs. */ - Type?: InputType | string; + Tags?: { [key: string]: string }; /** - * A collection of key-value pairs. + * Placeholder documentation for InputType */ - Tags?: { [key: string]: string }; + Type?: InputType | string; /** * A list of channel IDs that that input is attached to (currently an input can only be attached to one channel). @@ -2347,16 +2476,32 @@ export interface Input { AttachedChannels?: string[]; /** - * Settings for the input devices. + * The user-assigned name (This is a mutable value). */ - InputDevices?: InputDeviceSettings[]; -} + Name?: string; -export namespace Input { - export const filterSensitiveLog = (obj: Input): any => ({ - ...obj, - }); -} + /** + * A list of the destinations of the input (PUSH-type). + */ + Destinations?: InputDestination[]; + + /** + * Placeholder documentation for InputState + */ + State?: InputState | string; + + /** + * STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails. + * SINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input. + */ + InputClass?: InputClass | string; +} + +export namespace Input { + export const filterSensitiveLog = (obj: Input): any => ({ + ...obj, + }); +} /** * Endpoint settings for a PUSH type input. @@ -2427,14 +2572,14 @@ export enum InputDeviceScanType { */ export interface InputDeviceHdSettings { /** - * The width of the video source, in pixels. + * The height of the video source, in pixels. */ - Width?: number; + Height?: number; /** - * The height of the video source, in pixels. + * The source at the input device that is currently active. You can specify this source. */ - Height?: number; + ConfiguredInput?: InputDeviceConfiguredInput | string; /** * If you specified Auto as the configured input, specifies which of the sources is currently active (SDI or HDMI). @@ -2442,29 +2587,29 @@ export interface InputDeviceHdSettings { ActiveInput?: InputDeviceActiveInput | string; /** - * The frame rate of the video source. + * The current maximum bitrate for ingesting this source, in bits per second. You can specify this maximum. */ - Framerate?: number; + MaxBitrate?: number; /** - * The state of the input device. + * The frame rate of the video source. */ - DeviceState?: InputDeviceState | string; + Framerate?: number; /** - * The current maximum bitrate for ingesting this source, in bits per second. You can specify this maximum. + * The scan type of the video source. */ - MaxBitrate?: number; + ScanType?: InputDeviceScanType | string; /** - * The source at the input device that is currently active. You can specify this source. + * The state of the input device. */ - ConfiguredInput?: InputDeviceConfiguredInput | string; + DeviceState?: InputDeviceState | string; /** - * The scan type of the video source. + * The width of the video source, in pixels. */ - ScanType?: InputDeviceScanType | string; + Width?: number; } export namespace InputDeviceHdSettings { @@ -2488,24 +2633,24 @@ export interface InputDeviceNetworkSettings { SubnetMask?: string; /** - * The network gateway IP address. + * The IP address of the input device. */ - Gateway?: string; + IpAddress?: string; /** - * The DNS addresses of the input device. + * Specifies whether the input device has been configured (outside of MediaLive) to use a dynamic IP address assignment (DHCP) or a static IP address. */ - DnsAddresses?: string[]; + IpScheme?: InputDeviceIpScheme | string; /** - * Specifies whether the input device has been configured (outside of MediaLive) to use a dynamic IP address assignment (DHCP) or a static IP address. + * The DNS addresses of the input device. */ - IpScheme?: InputDeviceIpScheme | string; + DnsAddresses?: string[]; /** - * The IP address of the input device. + * The network gateway IP address. */ - IpAddress?: string; + Gateway?: string; } export namespace InputDeviceNetworkSettings { @@ -2522,6 +2667,11 @@ export enum InputDeviceType { * Details of the input device. */ export interface InputDeviceSummary { + /** + * The unique serial number of the input device. + */ + SerialNumber?: string; + /** * The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration. */ @@ -2533,14 +2683,19 @@ export interface InputDeviceSummary { Name?: string; /** - * The unique ID of the input device. + * The type of the input device. */ - Id?: string; + Type?: InputDeviceType | string; /** - * The network MAC address of the input device. + * The unique ARN of the input device. */ - MacAddress?: string; + Arn?: string; + + /** + * The unique ID of the input device. + */ + Id?: string; /** * Settings that describe an input device that is type HD. @@ -2548,29 +2703,19 @@ export interface InputDeviceSummary { HdDeviceSettings?: InputDeviceHdSettings; /** - * The state of the connection between the input device and AWS. + * The network MAC address of the input device. */ - ConnectionState?: InputDeviceConnectionState | string; + MacAddress?: string; /** - * The unique ARN of the input device. + * The state of the connection between the input device and AWS. */ - Arn?: string; + ConnectionState?: InputDeviceConnectionState | string; /** * Network settings for the input device. */ NetworkSettings?: InputDeviceNetworkSettings; - - /** - * The type of the input device. - */ - Type?: InputDeviceType | string; - - /** - * The unique serial number of the input device. - */ - SerialNumber?: string; } export namespace InputDeviceSummary { @@ -2607,25 +2752,20 @@ export namespace InputWhitelistRule { */ export interface InputSecurityGroup { /** - * The Id of the Input Security Group + * The current state of the Input Security Group. */ - Id?: string; + State?: InputSecurityGroupState | string; /** - * Whitelist rules and their sync status + * The Id of the Input Security Group */ - WhitelistRules?: InputWhitelistRule[]; + Id?: string; /** * Unique ARN of Input Security Group */ Arn?: string; - /** - * The current state of the Input Security Group. - */ - State?: InputSecurityGroupState | string; - /** * The list of inputs currently using this Input Security Group. */ @@ -2635,6 +2775,11 @@ export interface InputSecurityGroup { * A collection of key-value pairs. */ Tags?: { [key: string]: string }; + + /** + * Whitelist rules and their sync status + */ + WhitelistRules?: InputWhitelistRule[]; } export namespace InputSecurityGroup { @@ -2647,6 +2792,11 @@ export namespace InputSecurityGroup { * Settings for for a PULL type input. */ export interface InputSourceRequest { + /** + * The key used to extract the password from EC2 Parameter store. + */ + PasswordParam?: string; + /** * This represents the customer's source URL where stream is * pulled from. @@ -2657,11 +2807,6 @@ export interface InputSourceRequest { * The username for the input source. */ Username?: string; - - /** - * The key used to extract the password from EC2 Parameter store. - */ - PasswordParam?: string; } export namespace InputSourceRequest { @@ -2734,6 +2879,27 @@ export namespace MultiplexOutputDestination { }); } +/** + * The current source for one of the pipelines in the multiplex. + */ +export interface MultiplexProgramPipelineDetail { + /** + * Identifies a specific pipeline in the multiplex. + */ + PipelineId?: string; + + /** + * Identifies the channel pipeline that is currently active for the pipeline (identified by PipelineId) in the multiplex. + */ + ActiveChannelPipeline?: string; +} + +export namespace MultiplexProgramPipelineDetail { + export const filterSensitiveLog = (obj: MultiplexProgramPipelineDetail): any => ({ + ...obj, + }); +} + /** * Placeholder documentation for MultiplexProgramSummary */ @@ -2788,24 +2954,24 @@ export enum MultiplexState { */ export interface MultiplexSummary { /** - * The current state of the multiplex. + * The name of the multiplex. */ - State?: MultiplexState | string; + Name?: string; /** - * The number of programs in the multiplex. + * The current state of the multiplex. */ - ProgramCount?: number; + State?: MultiplexState | string; /** - * The unique arn of the multiplex. + * The unique id of the multiplex. */ - Arn?: string; + Id?: string; /** - * Configuration for a multiplex event. + * A collection of key-value pairs. */ - MultiplexSettings?: MultiplexSettingsSummary; + Tags?: { [key: string]: string }; /** * The number of currently healthy pipelines. @@ -2813,24 +2979,24 @@ export interface MultiplexSummary { PipelinesRunningCount?: number; /** - * The unique id of the multiplex. + * The number of programs in the multiplex. */ - Id?: string; + ProgramCount?: number; /** - * A collection of key-value pairs. + * The unique arn of the multiplex. */ - Tags?: { [key: string]: string }; + Arn?: string; /** - * A list of availability zones for the multiplex. + * Configuration for a multiplex event. */ - AvailabilityZones?: string[]; + MultiplexSettings?: MultiplexSettingsSummary; /** - * The name of the multiplex. + * A list of availability zones for the multiplex. */ - Name?: string; + AvailabilityZones?: string[]; } export namespace MultiplexSummary { @@ -2851,6 +3017,7 @@ export enum ReservationCodec { AUDIO = "AUDIO", AVC = "AVC", HEVC = "HEVC", + LINK = "LINK", MPEG2 = "MPEG2", } @@ -2895,29 +3062,29 @@ export enum ReservationVideoQuality { */ export interface ReservationResourceSpecification { /** - * Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) + * Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' */ - MaximumFramerate?: ReservationMaximumFramerate | string; + ResourceType?: ReservationResourceType | string; /** - * Resolution, e.g. 'HD' + * Maximum bitrate, e.g. 'MAX_20_MBPS' */ - Resolution?: ReservationResolution | string; + MaximumBitrate?: ReservationMaximumBitrate | string; /** - * Codec, e.g. 'AVC' + * Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) */ - Codec?: ReservationCodec | string; + SpecialFeature?: ReservationSpecialFeature | string; /** - * Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) + * Codec, e.g. 'AVC' */ - SpecialFeature?: ReservationSpecialFeature | string; + Codec?: ReservationCodec | string; /** - * Maximum bitrate, e.g. 'MAX_20_MBPS' + * Video quality, e.g. 'STANDARD' (Outputs only) */ - MaximumBitrate?: ReservationMaximumBitrate | string; + VideoQuality?: ReservationVideoQuality | string; /** * Channel class, e.g. 'STANDARD' @@ -2925,14 +3092,14 @@ export interface ReservationResourceSpecification { ChannelClass?: ChannelClass | string; /** - * Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' + * Resolution, e.g. 'HD' */ - ResourceType?: ReservationResourceType | string; + Resolution?: ReservationResolution | string; /** - * Video quality, e.g. 'STANDARD' (Outputs only) + * Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) */ - VideoQuality?: ReservationVideoQuality | string; + MaximumFramerate?: ReservationMaximumFramerate | string; } export namespace ReservationResourceSpecification { @@ -2946,19 +3113,14 @@ export namespace ReservationResourceSpecification { */ export interface Offering { /** - * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering - */ - FixedPrice?: number; - - /** - * AWS region, e.g. 'us-west-2' + * Lease duration, e.g. '12' */ - Region?: string; + Duration?: number; /** - * Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' + * Resource configuration details */ - Arn?: string; + ResourceSpecification?: ReservationResourceSpecification; /** * Units for duration, e.g. 'MONTHS' @@ -2966,24 +3128,24 @@ export interface Offering { DurationUnits?: OfferingDurationUnits | string; /** - * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' + * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering */ - CurrencyCode?: string; + FixedPrice?: number; /** - * Unique offering ID, e.g. '87654321' + * Offering type, e.g. 'NO_UPFRONT' */ - OfferingId?: string; + OfferingType?: OfferingType | string; /** - * Offering type, e.g. 'NO_UPFRONT' + * AWS region, e.g. 'us-west-2' */ - OfferingType?: OfferingType | string; + Region?: string; /** - * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' + * Unique offering ID, e.g. '87654321' */ - OfferingDescription?: string; + OfferingId?: string; /** * Recurring usage charge for each reserved resource, e.g. '157.0' @@ -2991,14 +3153,19 @@ export interface Offering { UsagePrice?: number; /** - * Lease duration, e.g. '12' + * Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' */ - Duration?: number; + Arn?: string; /** - * Resource configuration details + * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' */ - ResourceSpecification?: ReservationResourceSpecification; + CurrencyCode?: string; + + /** + * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' + */ + OfferingDescription?: string; } export namespace Offering { @@ -3046,11 +3213,6 @@ export enum M2tsCcDescriptor { * DVB Network Information Table (NIT) */ export interface DvbNitSettings { - /** - * The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters. - */ - NetworkName: string | undefined; - /** * The number of milliseconds between instances of this table in the output transport stream. */ @@ -3060,6 +3222,11 @@ export interface DvbNitSettings { * The numeric value placed in the Network Information Table (NIT). */ NetworkId: number | undefined; + + /** + * The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters. + */ + NetworkName: string | undefined; } export namespace DvbNitSettings { @@ -3079,25 +3246,25 @@ export enum DvbSdtOutputSdt { * DVB Service Description Table (SDT) */ export interface DvbSdtSettings { - /** - * Selects method of inserting SDT information into output stream. The sdtFollow setting copies SDT information from input stream to output stream. The sdtFollowIfPresent setting copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. The sdtManual setting means user will enter the SDT information. The sdtNone setting means output stream will not contain SDT information. - */ - OutputSdt?: DvbSdtOutputSdt | string; - /** * The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. */ ServiceProviderName?: string; /** - * The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. + * Selects method of inserting SDT information into output stream. The sdtFollow setting copies SDT information from input stream to output stream. The sdtFollowIfPresent setting copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. The sdtManual setting means user will enter the SDT information. The sdtNone setting means output stream will not contain SDT information. */ - ServiceName?: string; + OutputSdt?: DvbSdtOutputSdt | string; /** * The number of milliseconds between instances of this table in the output transport stream. */ RepInterval?: number; + + /** + * The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. + */ + ServiceName?: string; } export namespace DvbSdtSettings { @@ -3191,138 +3358,138 @@ export enum M2tsTimedMetadataBehavior { */ export interface M2tsSettings { /** - * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. */ - Scte35Pid?: string; + DvbTdtSettings?: DvbTdtSettings; /** - * Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + * When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. */ - Scte27Pids?: string; + Arib?: M2tsArib | string; /** - * Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP markers will be placed on the video PID and all audio PIDs. If set to videoPid, EBP markers will be placed on only the video PID. + * When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06. */ - EbpPlacement?: M2tsEbpPlacement | string; + AudioStreamType?: M2tsAudioStreamType | string; /** - * When set to enabled, generates captionServiceDescriptor in PMT. + * Inserts DVB Network Information Table (NIT) at the specified table repetition interval. */ - CcDescriptor?: M2tsCcDescriptor | string; + DvbNitSettings?: DvbNitSettings; /** - * Packet Identifier (PID) for input source ETV Signal data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets. */ - EtvSignalPid?: string; + NullPacketBitrate?: number; /** - * The value of the transport stream ID field in the Program Map Table. + * Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to ensure accurate network packet timing. Or set to NONE, which might result in lower latency but will result in more variability in output network packet timing. This variability might cause interruptions, jitter, or bursty behavior in your playback or receiving devices. */ - TransportStreamId?: number; + BufferModel?: M2tsBufferModel | string; /** - * The number of audio frames to insert for each PES packet. + * Packet Identifier (PID) for input source ETV Platform data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). */ - AudioFramesPerPes?: number; + EtvPlatformPid?: string; /** - * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + * Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). */ - AudioPids?: string; + TimedMetadataPid?: string; /** - * Packet Identifier (PID) for ARIB Captions in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * If set to auto, pid number used for ARIB Captions will be auto-selected from unused pids. If set to useConfigured, ARIB Captions will be on the configured pid number. */ - AribCaptionsPid?: string; + AribCaptionsPidControl?: M2tsAribCaptionsPidControl | string; /** - * The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. + * When set to passthrough, timed metadata will be passed through from input to output. */ - Bitrate?: number; + TimedMetadataBehavior?: M2tsTimedMetadataBehavior | string; /** - * Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. */ - VideoPid?: string; + PcrControl?: M2tsPcrControl | string; /** - * Inserts segmentation markers at each segmentationTime period. raiSegstart sets the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI bit and adds the current timecode in the private data bytes. psiSegstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format. + * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). */ - SegmentationMarkers?: M2tsSegmentationMarkers | string; + PmtPid?: string; /** - * Packet Identifier (PID) for input source ETV Platform data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * When set to drop, output audio streams will be removed from the program if the selected input audio stream is removed from the input. This allows the output audio configuration to dynamically change based on input configuration. If this is set to encodeSilence, all output audio streams will output encoded silence when not connected to an active input stream. */ - EtvPlatformPid?: string; + AbsentInputAudioBehavior?: M2tsAbsentInputAudioBehavior | string; /** - * The length in seconds of each fragment. Only used with EBP markers. + * When vbr, does not insert null packets into transport stream to fill specified bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. */ - FragmentTime?: number; + RateMode?: M2tsRateMode | string; /** - * When set to drop, output audio streams will be removed from the program if the selected input audio stream is removed from the input. This allows the output audio configuration to dynamically change based on input configuration. If this is set to encodeSilence, all output audio streams will output encoded silence when not connected to an active input stream. + * The length in seconds of each fragment. Only used with EBP markers. */ - AbsentInputAudioBehavior?: M2tsAbsentInputAudioBehavior | string; + FragmentTime?: number; /** - * The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. + * The value of the program number field in the Program Map Table. */ - PatInterval?: number; + ProgramNum?: number; /** - * Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream. + * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). */ - PcrPeriod?: number; + AudioPids?: string; /** - * Optionally pass SCTE-35 signals from the input source to this output. + * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. */ - Scte35Control?: M2tsScte35Control | string; + NielsenId3Behavior?: M2tsNielsenId3Behavior | string; /** - * When set to passthrough, timed metadata will be passed through from input to output. + * If set to passthrough, passes any KLV data from the input source to this output. */ - TimedMetadataBehavior?: M2tsTimedMetadataBehavior | string; + Klv?: M2tsKlv | string; /** - * Inserts DVB Network Information Table (NIT) at the specified table repetition interval. + * The value of the transport stream ID field in the Program Map Table. */ - DvbNitSettings?: DvbNitSettings; + TransportStreamId?: number; /** - * The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. - * - * When a segmentation style of "resetCadence" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of $segmentationTime seconds. - * - * When a segmentation style of "maintainCadence" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentationTime seconds. Note that EBP lookahead is a slight exception to this rule. + * Packet Identifier (PID) for input source KLV data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). */ - SegmentationStyle?: M2tsSegmentationStyle | string; + KlvDataPids?: string; /** - * Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. + * When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is "stretched" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate. */ - DvbTdtSettings?: DvbTdtSettings; + EbpLookaheadMs?: number; /** - * If set to auto, pid number used for ARIB Captions will be auto-selected from unused pids. If set to useConfigured, ARIB Captions will be on the configured pid number. + * The number of audio frames to insert for each PES packet. */ - AribCaptionsPidControl?: M2tsAribCaptionsPidControl | string; + AudioFramesPerPes?: number; /** - * If set to passthrough, passes any KLV data from the input source to this output. + * Optionally pass SCTE-35 signals from the input source to this output. */ - Klv?: M2tsKlv | string; + Scte35Control?: M2tsScte35Control | string; /** - * When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06. + * The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. */ - AudioStreamType?: M2tsAudioStreamType | string; + PatInterval?: number; /** - * When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is "stretched" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate. + * The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. + * + * When a segmentation style of "resetCadence" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of $segmentationTime seconds. + * + * When a segmentation style of "maintainCadence" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentationTime seconds. Note that EBP lookahead is a slight exception to this rule. */ - EbpLookaheadMs?: number; + SegmentationStyle?: M2tsSegmentationStyle | string; /** * Include or exclude the ES Rate field in the PES header. @@ -3330,104 +3497,104 @@ export interface M2tsSettings { EsRateInPes?: M2tsEsRateInPes | string; /** - * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. + * Inserts segmentation markers at each segmentationTime period. raiSegstart sets the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI bit and adds the current timecode in the private data bytes. psiSegstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format. */ - NielsenId3Behavior?: M2tsNielsenId3Behavior | string; + SegmentationMarkers?: M2tsSegmentationMarkers | string; /** - * When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. + * The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. */ - Arib?: M2tsArib | string; + Bitrate?: number; /** - * Packet Identifier (PID) for input source KLV data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + * Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). */ - KlvDataPids?: string; + Scte27Pids?: string; /** - * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * When set to enabled, generates captionServiceDescriptor in PMT. */ - PmtPid?: string; + CcDescriptor?: M2tsCcDescriptor | string; /** - * Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * The length in seconds of each segment. Required unless markers is set to _none_. */ - DvbTeletextPid?: string; + SegmentationTime?: number; /** - * The value of the program number field in the Program Map Table. + * Packet Identifier (PID) for input source ETV Signal data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). */ - ProgramNum?: number; + EtvSignalPid?: string; /** - * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. + * Inserts DVB Service Description Table (SDT) at the specified table repetition interval. */ - PcrControl?: M2tsPcrControl | string; + DvbSdtSettings?: DvbSdtSettings; /** - * When vbr, does not insert null packets into transport stream to fill specified bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. + * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). */ - RateMode?: M2tsRateMode | string; + Scte35Pid?: string; /** - * Packet Identifier (PID) for input source DVB Subtitle data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + * This field is unused and deprecated. */ - DvbSubPids?: string; + EcmPid?: string; /** - * When videoAndFixedIntervals is selected, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. Only available when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will always follow the video interval. + * When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used. */ - EbpAudioInterval?: M2tsAudioInterval | string; + AudioBufferModel?: M2tsAudioBufferModel | string; /** - * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). */ - PcrPid?: string; + DvbTeletextPid?: string; /** - * The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. + * If set to passthrough, passes any EBIF data from the input source to this output. */ - PmtInterval?: number; + Ebif?: M2tsEbifControl | string; /** - * The length in seconds of each segment. Required unless markers is set to _none_. + * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). */ - SegmentationTime?: number; + PcrPid?: string; /** - * If set to multiplex, use multiplex buffer model for accurate interleaving. Setting to bufferModel to none can lead to lower latency, but low-memory devices may not be able to play back the stream without interruptions. + * Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream. */ - BufferModel?: M2tsBufferModel | string; + PcrPeriod?: number; /** - * Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP markers will be placed on the video PID and all audio PIDs. If set to videoPid, EBP markers will be placed on only the video PID. */ - TimedMetadataPid?: string; + EbpPlacement?: M2tsEbpPlacement | string; /** - * This field is unused and deprecated. + * The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. */ - EcmPid?: string; + PmtInterval?: number; /** - * Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets. + * Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). */ - NullPacketBitrate?: number; + VideoPid?: string; /** - * Inserts DVB Service Description Table (SDT) at the specified table repetition interval. + * When videoAndFixedIntervals is selected, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. Only available when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will always follow the video interval. */ - DvbSdtSettings?: DvbSdtSettings; + EbpAudioInterval?: M2tsAudioInterval | string; /** - * If set to passthrough, passes any EBIF data from the input source to this output. + * Packet Identifier (PID) for ARIB Captions in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). */ - Ebif?: M2tsEbifControl | string; + AribCaptionsPid?: string; /** - * When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used. + * Packet Identifier (PID) for input source DVB Subtitle data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). */ - AudioBufferModel?: M2tsAudioBufferModel | string; + DvbSubPids?: string; } export namespace M2tsSettings { @@ -3436,6 +3603,17 @@ export namespace M2tsSettings { }); } +/** + * Raw Settings + */ +export interface RawSettings {} + +export namespace RawSettings { + export const filterSensitiveLog = (obj: RawSettings): any => ({ + ...obj, + }); +} + /** * Archive Container Settings */ @@ -3444,6 +3622,11 @@ export interface ArchiveContainerSettings { * M2ts Settings */ M2tsSettings?: M2tsSettings; + + /** + * Raw Settings + */ + RawSettings?: RawSettings; } export namespace ArchiveContainerSettings { @@ -3456,6 +3639,11 @@ export namespace ArchiveContainerSettings { * Archive Output Settings */ export interface ArchiveOutputSettings { + /** + * String concatenated to the end of the destination filename. Required for multiple outputs of the same type. + */ + NameModifier?: string; + /** * Settings specific to the container type of the file. */ @@ -3465,11 +3653,6 @@ export interface ArchiveOutputSettings { * Output file extension. If excluded, this will be auto-selected from the container type. */ Extension?: string; - - /** - * String concatenated to the end of the destination filename. Required for multiple outputs of the same type. - */ - NameModifier?: string; } export namespace ArchiveOutputSettings { @@ -3570,11 +3753,6 @@ export enum Fmp4TimedMetadataBehavior { * Fmp4 Hls Settings */ export interface Fmp4HlsSettings { - /** - * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. - */ - NielsenId3Behavior?: Fmp4NielsenId3Behavior | string; - /** * List all the audio groups that are used with the video output stream. Input all the audio GROUP-IDs that are associated to the video, separate by ','. */ @@ -3584,6 +3762,11 @@ export interface Fmp4HlsSettings { * When set to passthrough, timed metadata is passed through from input to output. */ TimedMetadataBehavior?: Fmp4TimedMetadataBehavior | string; + + /** + * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. + */ + NielsenId3Behavior?: Fmp4NielsenId3Behavior | string; } export namespace Fmp4HlsSettings { @@ -3617,89 +3800,89 @@ export enum M3u8TimedMetadataBehavior { */ export interface M3u8Settings { /** - * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. + * Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). */ - Scte35Pid?: string; + TimedMetadataPid?: string; /** - * When set to passthrough, timed metadata is passed through from input to output. + * The number of audio frames to insert for each PES packet. */ - TimedMetadataBehavior?: M3u8TimedMetadataBehavior | string; + AudioFramesPerPes?: number; /** - * Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. + * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. */ - VideoPid?: string; + Scte35Pid?: string; /** - * Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. */ - TimedMetadataPid?: string; + PcrPid?: string; /** - * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. + * When set to passthrough, timed metadata is passed through from input to output. */ - NielsenId3Behavior?: M3u8NielsenId3Behavior | string; + TimedMetadataBehavior?: M3u8TimedMetadataBehavior | string; /** - * Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream. + * The number of milliseconds between instances of this table in the output transport stream. A value of \"0\" writes out the PMT once per segment file. */ - PcrPeriod?: number; + PmtInterval?: number; /** - * The value of the program number field in the Program Map Table. + * If set to passthrough, passes any SCTE-35 signals from the input source to this output. */ - ProgramNum?: number; + Scte35Behavior?: M3u8Scte35Behavior | string; /** - * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. + * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. */ - AudioPids?: string; + NielsenId3Behavior?: M3u8NielsenId3Behavior | string; /** - * The number of milliseconds between instances of this table in the output transport stream. A value of \"0\" writes out the PMT once per segment file. + * Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream. */ - PatInterval?: number; + PcrPeriod?: number; /** - * This parameter is unused and deprecated. + * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. */ - EcmPid?: string; + AudioPids?: string; /** - * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. + * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. */ - PcrControl?: M3u8PcrControl | string; + PmtPid?: string; /** - * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. + * The value of the transport stream ID field in the Program Map Table. */ - PmtPid?: string; + TransportStreamId?: number; /** - * If set to passthrough, passes any SCTE-35 signals from the input source to this output. + * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. */ - Scte35Behavior?: M3u8Scte35Behavior | string; + PcrControl?: M3u8PcrControl | string; /** - * The value of the transport stream ID field in the Program Map Table. + * The number of milliseconds between instances of this table in the output transport stream. A value of \"0\" writes out the PMT once per segment file. */ - TransportStreamId?: number; + PatInterval?: number; /** - * The number of audio frames to insert for each PES packet. + * This parameter is unused and deprecated. */ - AudioFramesPerPes?: number; + EcmPid?: string; /** - * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. + * The value of the program number field in the Program Map Table. */ - PcrPid?: string; + ProgramNum?: number; /** - * The number of milliseconds between instances of this table in the output transport stream. A value of \"0\" writes out the PMT once per segment file. + * Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. */ - PmtInterval?: number; + VideoPid?: string; } export namespace M3u8Settings { @@ -3759,6 +3942,12 @@ export namespace HlsSettings { * Hls Output Settings */ export interface HlsOutputSettings { + /** + * Only applicable when this output is referencing an H.265 video description. + * Specifies whether MP4 segments should be packaged as HEV1 or HVC1. + */ + H265PackagingType?: HlsH265PackagingType | string; + /** * String concatenated to the end of the destination filename. Accepts \"Format Identifiers\":#formatIdentifierParameters. */ @@ -3769,12 +3958,6 @@ export interface HlsOutputSettings { */ HlsSettings: HlsSettings | undefined; - /** - * Only applicable when this output is referencing an H.265 video description. - * Specifies whether MP4 segments should be packaged as HEV1 or HVC1. - */ - H265PackagingType?: HlsH265PackagingType | string; - /** * String concatenated to end of segment filenames. */ @@ -3807,16 +3990,16 @@ export enum MsSmoothH265PackagingType { * Ms Smooth Output Settings */ export interface MsSmoothOutputSettings { - /** - * String concatenated to the end of the destination filename. Required for multiple outputs of the same type. - */ - NameModifier?: string; - /** * Only applicable when this output is referencing an H.265 video description. * Specifies whether MP4 segments should be packaged as HEV1 or HVC1. */ H265PackagingType?: MsSmoothH265PackagingType | string; + + /** + * String concatenated to the end of the destination filename. Required for multiple outputs of the same type. + */ + NameModifier?: string; } export namespace MsSmoothOutputSettings { @@ -3877,14 +4060,14 @@ export interface RtmpOutputSettings { CertificateMode?: RtmpOutputCertificateMode | string; /** - * Number of seconds to wait before retrying a connection to the Flash Media server if the connection is lost. + * The RTMP endpoint excluding the stream name (eg. rtmp://host/appname). For connection to Akamai, a username and password must be supplied. URI fields accept format identifiers. */ - ConnectionRetryInterval?: number; + Destination: OutputLocationRef | undefined; /** - * The RTMP endpoint excluding the stream name (eg. rtmp://host/appname). For connection to Akamai, a username and password must be supplied. URI fields accept format identifiers. + * Number of seconds to wait before retrying a connection to the Flash Media server if the connection is lost. */ - Destination: OutputLocationRef | undefined; + ConnectionRetryInterval?: number; } export namespace RtmpOutputSettings { @@ -3919,9 +4102,9 @@ export enum FecOutputIncludeFec { */ export interface FecOutputSettings { /** - * Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The number of transport stream packets per column error correction packet. Must be between 4 and 20, inclusive. + * Enables column only or column and row based FEC */ - ColumnDepth?: number; + IncludeFec?: FecOutputIncludeFec | string; /** * Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must be between 1 and 20, inclusive. If only Column FEC is used, then larger values increase robustness. If Row FEC is used, then this is the number of transport stream packets per row error correction packet, and the value must be between 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column, this value must be 1 to 20, inclusive. @@ -3929,9 +4112,9 @@ export interface FecOutputSettings { RowLength?: number; /** - * Enables column only or column and row based FEC + * Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The number of transport stream packets per column error correction packet. Must be between 4 and 20, inclusive. */ - IncludeFec?: FecOutputIncludeFec | string; + ColumnDepth?: number; } export namespace FecOutputSettings { @@ -3944,6 +4127,11 @@ export namespace FecOutputSettings { * Udp Output Settings */ export interface UdpOutputSettings { + /** + * UDP output buffering in milliseconds. Larger values increase latency through the transcoder but simultaneously assist the transcoder in maintaining a constant, low-jitter UDP/RTP output while accommodating clock recovery, input switching, input disruptions, picture reordering, etc. + */ + BufferMsec?: number; + /** * Destination address and port number for RTP or UDP packets. Can be unicast or multicast RTP or UDP (eg. rtp://239.10.10.10:5001 or udp://10.100.100.100:5002). */ @@ -3954,11 +4142,6 @@ export interface UdpOutputSettings { */ ContainerSettings: UdpContainerSettings | undefined; - /** - * UDP output buffering in milliseconds. Larger values increase latency through the transcoder but simultaneously assist the transcoder in maintaining a constant, low-jitter UDP/RTP output while accommodating clock recovery, input switching, input disruptions, picture reordering, etc. - */ - BufferMsec?: number; - /** * Settings for enabling and adjusting Forward Error Correction on UDP outputs. */ @@ -3976,14 +4159,14 @@ export namespace UdpOutputSettings { */ export interface OutputSettings { /** - * Media Package Output Settings + * Archive Output Settings */ - MediaPackageOutputSettings?: MediaPackageOutputSettings; + ArchiveOutputSettings?: ArchiveOutputSettings; /** - * Multiplex Output Settings + * Rtmp Output Settings */ - MultiplexOutputSettings?: MultiplexOutputSettings; + RtmpOutputSettings?: RtmpOutputSettings; /** * Ms Smooth Output Settings @@ -3991,9 +4174,9 @@ export interface OutputSettings { MsSmoothOutputSettings?: MsSmoothOutputSettings; /** - * Archive Output Settings + * Media Package Output Settings */ - ArchiveOutputSettings?: ArchiveOutputSettings; + MediaPackageOutputSettings?: MediaPackageOutputSettings; /** * Frame Capture Output Settings @@ -4001,19 +4184,19 @@ export interface OutputSettings { FrameCaptureOutputSettings?: FrameCaptureOutputSettings; /** - * Hls Output Settings + * Udp Output Settings */ - HlsOutputSettings?: HlsOutputSettings; + UdpOutputSettings?: UdpOutputSettings; /** - * Rtmp Output Settings + * Multiplex Output Settings */ - RtmpOutputSettings?: RtmpOutputSettings; + MultiplexOutputSettings?: MultiplexOutputSettings; /** - * Udp Output Settings + * Hls Output Settings */ - UdpOutputSettings?: UdpOutputSettings; + HlsOutputSettings?: HlsOutputSettings; } export namespace OutputSettings { @@ -4027,24 +4210,24 @@ export namespace OutputSettings { */ export interface Output { /** - * The names of the AudioDescriptions used as audio sources for this output. + * The name used to identify an output. */ - AudioDescriptionNames?: string[]; + OutputName?: string; /** - * The names of the CaptionDescriptions used as caption sources for this output. + * The name of the VideoDescription used as the source for this output. */ - CaptionDescriptionNames?: string[]; + VideoDescriptionName?: string; /** - * The name used to identify an output. + * The names of the CaptionDescriptions used as caption sources for this output. */ - OutputName?: string; + CaptionDescriptionNames?: string[]; /** - * The name of the VideoDescription used as the source for this output. + * The names of the AudioDescriptions used as audio sources for this output. */ - VideoDescriptionName?: string; + AudioDescriptionNames?: string[]; /** * Output type-specific settings. @@ -4084,7 +4267,7 @@ export namespace ArchiveGroupSettings { */ export interface FrameCaptureGroupSettings { /** - * The destination for the frame capture files. Either the URI for an Amazon S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling_) or the URI for a MediaStore container, plus a file name prefix (for example, mediastoressl://sportsDelivery/20180820/curling_). The final file names consist of the prefix from the destination field (for example, "curling_") + name modifier + the counter (5 digits, starting from 00001) + extension (which is always .jpg). For example, curlingLow.00001.jpg + * The destination for the frame capture files. Either the URI for an Amazon S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling-) or the URI for a MediaStore container, plus a file name prefix (for example, mediastoressl://sportsDelivery/20180820/curling-). The final file names consist of the prefix from the destination field (for example, "curling-") + name modifier + the counter (5 digits, starting from 00001) + extension (which is always .jpg). For example, curling-low.00001.jpg */ Destination: OutputLocationRef | undefined; } @@ -4131,14 +4314,9 @@ export enum HlsAkamaiHttpTransferMode { */ export interface HlsAkamaiSettings { /** - * Size in seconds of file cache for streaming outputs. - */ - FilecacheDuration?: number; - - /** - * Token parameter for authenticated akamai. If not specified, _gda_ is used. + * Number of seconds to wait before retrying connection to the CDN if the connection is lost. */ - Token?: string; + ConnectionRetryInterval?: number; /** * Salt for authenticated Akamai. @@ -4151,19 +4329,24 @@ export interface HlsAkamaiSettings { HttpTransferMode?: HlsAkamaiHttpTransferMode | string; /** - * Number of seconds to wait before retrying connection to the CDN if the connection is lost. + * Size in seconds of file cache for streaming outputs. */ - ConnectionRetryInterval?: number; + FilecacheDuration?: number; /** - * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + * Number of retry attempts that will be made before the Live Event is put into an error state. */ - RestartDelay?: number; + NumRetries?: number; /** - * Number of retry attempts that will be made before the Live Event is put into an error state. + * Token parameter for authenticated akamai. If not specified, _gda_ is used. */ - NumRetries?: number; + Token?: string; + + /** + * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + */ + RestartDelay?: number; } export namespace HlsAkamaiSettings { @@ -4177,14 +4360,14 @@ export namespace HlsAkamaiSettings { */ export interface HlsBasicPutSettings { /** - * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + * Number of retry attempts that will be made before the Live Event is put into an error state. */ - RestartDelay?: number; + NumRetries?: number; /** - * Number of seconds to wait before retrying connection to the CDN if the connection is lost. + * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. */ - ConnectionRetryInterval?: number; + RestartDelay?: number; /** * Size in seconds of file cache for streaming outputs. @@ -4192,9 +4375,9 @@ export interface HlsBasicPutSettings { FilecacheDuration?: number; /** - * Number of retry attempts that will be made before the Live Event is put into an error state. + * Number of seconds to wait before retrying connection to the CDN if the connection is lost. */ - NumRetries?: number; + ConnectionRetryInterval?: number; } export namespace HlsBasicPutSettings { @@ -4212,9 +4395,9 @@ export enum HlsMediaStoreStorageClass { */ export interface HlsMediaStoreSettings { /** - * Number of retry attempts that will be made before the Live Event is put into an error state. + * Size in seconds of file cache for streaming outputs. */ - NumRetries?: number; + FilecacheDuration?: number; /** * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. @@ -4222,19 +4405,19 @@ export interface HlsMediaStoreSettings { RestartDelay?: number; /** - * When set to temporal, output files are stored in non-persistent memory for faster reading and writing. + * Number of seconds to wait before retrying connection to the CDN if the connection is lost. */ - MediaStoreStorageClass?: HlsMediaStoreStorageClass | string; + ConnectionRetryInterval?: number; /** - * Number of seconds to wait before retrying connection to the CDN if the connection is lost. + * When set to temporal, output files are stored in non-persistent memory for faster reading and writing. */ - ConnectionRetryInterval?: number; + MediaStoreStorageClass?: HlsMediaStoreStorageClass | string; /** - * Size in seconds of file cache for streaming outputs. + * Number of retry attempts that will be made before the Live Event is put into an error state. */ - FilecacheDuration?: number; + NumRetries?: number; } export namespace HlsMediaStoreSettings { @@ -4253,14 +4436,14 @@ export enum HlsWebdavHttpTransferMode { */ export interface HlsWebdavSettings { /** - * Specify whether or not to use chunked transfer encoding to WebDAV. + * Number of retry attempts that will be made before the Live Event is put into an error state. */ - HttpTransferMode?: HlsWebdavHttpTransferMode | string; + NumRetries?: number; /** - * Number of retry attempts that will be made before the Live Event is put into an error state. + * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. */ - NumRetries?: number; + RestartDelay?: number; /** * Size in seconds of file cache for streaming outputs. @@ -4268,14 +4451,14 @@ export interface HlsWebdavSettings { FilecacheDuration?: number; /** - * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + * Number of seconds to wait before retrying connection to the CDN if the connection is lost. */ - RestartDelay?: number; + ConnectionRetryInterval?: number; /** - * Number of seconds to wait before retrying connection to the CDN if the connection is lost. + * Specify whether or not to use chunked transfer encoding to WebDAV. */ - ConnectionRetryInterval?: number; + HttpTransferMode?: HlsWebdavHttpTransferMode | string; } export namespace HlsWebdavSettings { @@ -4289,9 +4472,9 @@ export namespace HlsWebdavSettings { */ export interface HlsCdnSettings { /** - * Hls Akamai Settings + * Hls Basic Put Settings */ - HlsAkamaiSettings?: HlsAkamaiSettings; + HlsBasicPutSettings?: HlsBasicPutSettings; /** * Hls Webdav Settings @@ -4299,14 +4482,14 @@ export interface HlsCdnSettings { HlsWebdavSettings?: HlsWebdavSettings; /** - * Hls Basic Put Settings + * Hls Media Store Settings */ - HlsBasicPutSettings?: HlsBasicPutSettings; + HlsMediaStoreSettings?: HlsMediaStoreSettings; /** - * Hls Media Store Settings + * Hls Akamai Settings */ - HlsMediaStoreSettings?: HlsMediaStoreSettings; + HlsAkamaiSettings?: HlsAkamaiSettings; } export namespace HlsCdnSettings { @@ -4345,14 +4528,14 @@ export enum HlsIvSource { */ export interface StaticKeySettings { /** - * Static key value as a 32 character hexadecimal string. + * The URL of the license server used for protecting content. */ - StaticKeyValue: string | undefined; + KeyProviderServer?: InputLocation; /** - * The URL of the license server used for protecting content. + * Static key value as a 32 character hexadecimal string. */ - KeyProviderServer?: InputLocation; + StaticKeyValue: string | undefined; } export namespace StaticKeySettings { @@ -4434,225 +4617,231 @@ export enum HlsTsFileMode { */ export interface HlsGroupSettings { /** - * Indicates whether the output manifest should use floating point or integer values for segment duration. + * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest. */ - ManifestDurationFormat?: HlsManifestDurationFormat | string; + StreamInfResolution?: HlsStreamInfResolution | string; /** - * Place segments in subdirectories. + * MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and media manifests) for this output group. + * + * VARIANT_MANIFESTS_AND_SEGMENTS: Generates media manifests for this output group, but not a master manifest. + * + * SEGMENTS_ONLY: Does not generate any manifests for this output group. */ - DirectoryStructure?: HlsDirectoryStructure | string; + OutputSelection?: HlsOutputSelection | string; /** - * Timed Metadata interval in seconds. + * DISABLED: Do not create an I-frame-only manifest, but do create the master and media manifests (according to the Output Selection field). + * + * STANDARD: Create an I-frame-only manifest for each output that contains video, as well as the other manifests (according to the Output Selection field). The I-frame manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, #EXT-X-BYTERANGE:160364@1461888" */ - TimedMetadataId3Period?: number; + IFrameOnlyPlaylists?: IFrameOnlyPlaylistType | string; /** - * Applies only if Mode field is LIVE. Specifies the number of media segments (.ts files) to retain in the destination directory. + * ENABLED: The master manifest (.m3u8 file) for each pipeline includes information about both pipelines: first its own media files, then the media files of the other pipeline. This feature allows playout device that support stale manifest detection to switch from one manifest to the other, when the current manifest seems to be stale. There are still two destinations and two master manifests, but both master manifests reference the media files from both pipelines. + * + * DISABLED: The master manifest (.m3u8 file) for each pipeline includes information about its own pipeline only. + * + * For an HLS output group with MediaPackage as the destination, the DISABLED behavior is always followed. MediaPackage regenerates the manifests it serves to players so a redundant manifest from MediaLive is irrelevant. */ - KeepSegments?: number; + RedundantManifest?: HlsRedundantManifest | string; /** - * When set to gzip, compresses HLS playlist. + * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If set to "include", IV is listed in the manifest, otherwise the IV is not in the manifest. */ - ManifestCompression?: HlsManifestCompression | string; + IvInManifest?: HlsIvInManifest | string; /** - * Length of MPEG-2 Transport Stream segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer. + * Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect. */ - SegmentLength?: number; + SegmentsPerSubdirectory?: number; /** - * The key provider settings. + * useInputSegmentation has been deprecated. The configured segment size is always used. */ - KeyProviderSettings?: KeyProviderSettings; + SegmentationMode?: HlsSegmentationMode | string; /** - * Applies only if Mode field is LIVE. Specifies the maximum number of segments in the media manifest file. After this maximum, older segments are removed from the media manifest. This number must be less than or equal to the Keep Segments field. + * When set, minimumSegmentLength is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed. */ - IndexNSegments?: number; + MinSegmentLength?: number; /** - * Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to "insert". + * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestampOffset. */ - CaptionLanguageMappings?: CaptionLanguageMapping[]; + ProgramDateTime?: HlsProgramDateTime | string; /** - * SEGMENTED_FILES: Emit the program as segments - multiple .ts media files. - * - * SINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to index segments for playback. A typical use for this value is when sending the output to AWS Elemental MediaConvert, which can accept only a single media file. Playback while the channel is running is not guaranteed due to HTTP server caching. + * A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file. */ - TsFileMode?: HlsTsFileMode | string; + BaseUrlContent?: string; /** - * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If this setting is "followsSegmentNumber", it will cause the IV to change every segment (to match the segment number). If this is set to "explicit", you must enter a constantIv value. + * A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file. */ - IvSource?: HlsIvSource | string; + BaseUrlManifest?: string; /** - * Optional. One value per output group. - * - * This field is required only if you are completing Base URL content A, and the downstream system has notified you that the media files for pipeline 1 of all outputs are in a location different from the media files for pipeline 0. + * The key provider settings. */ - BaseUrlContent1?: string; + KeyProviderSettings?: KeyProviderSettings; /** - * useInputSegmentation has been deprecated. The configured segment size is always used. + * When set to gzip, compresses HLS playlist. */ - SegmentationMode?: HlsSegmentationMode | string; + ManifestCompression?: HlsManifestCompression | string; /** - * The value specifies how the key is represented in the resource identified by the URI. If parameter is absent, an implicit value of "identity" is used. A reverse DNS string can also be given. + * Optional. One value per output group. + * + * Complete this field only if you are completing Base URL manifest A, and the downstream system has notified you that the child manifest files for pipeline 1 of all outputs are in a location different from the child manifest files for pipeline 0. */ - KeyFormat?: string; + BaseUrlManifest1?: string; /** - * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestampOffset. + * Indicates ID3 frame that has the timecode. */ - ProgramDateTime?: HlsProgramDateTime | string; + TimedMetadataId3Frame?: HlsTimedMetadataId3Frame | string; /** - * A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file. + * Length of MPEG-2 Transport Stream segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer. */ - BaseUrlManifest?: string; + SegmentLength?: number; /** - * Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs. + * Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. */ - AdMarkers?: (HlsAdMarkers | string)[]; + ProgramDateTimePeriod?: number; /** - * A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file. + * Applies only if Mode field is LIVE. + * + * Specifies the number of media segments to retain in the destination directory. This number should be bigger than indexNSegments (Num segments). We recommend (value = (2 x indexNsegments) + 1). + * + * If this "keep segments" number is too low, the following might happen: the player is still reading a media manifest file that lists this segment, but that segment has been removed from the destination directory (as directed by indexNSegments). This situation would result in a 404 HTTP error on the player. */ - BaseUrlContent?: string; + KeepSegments?: number; /** - * Provides an extra millisecond delta offset to fine tune the timestamps. + * Timed Metadata interval in seconds. */ - TimestampDeltaMilliseconds?: number; + TimedMetadataId3Period?: number; /** - * Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect. + * Provides an extra millisecond delta offset to fine tune the timestamps. */ - SegmentsPerSubdirectory?: number; + TimestampDeltaMilliseconds?: number; /** - * Applies only to 608 Embedded output captions. - * insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. - * none: Include CLOSED-CAPTIONS=NONE line in the manifest. - * omit: Omit any CLOSED-CAPTIONS line from the manifest. + * Place segments in subdirectories. */ - CaptionLanguageSetting?: HlsCaptionLanguageSetting | string; + DirectoryStructure?: HlsDirectoryStructure | string; /** - * DISABLED: Do not create an I-frame-only manifest, but do create the master and media manifests (according to the Output Selection field). - * - * STANDARD: Create an I-frame-only manifest for each output that contains video, as well as the other manifests (according to the Output Selection field). The I-frame manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, #EXT-X-BYTERANGE:160364@1461888" + * Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs. */ - IFrameOnlyPlaylists?: IFrameOnlyPlaylistType | string; + AdMarkers?: (HlsAdMarkers | string)[]; /** - * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If set to "include", IV is listed in the manifest, otherwise the IV is not in the manifest. + * State of HLS ID3 Segment Tagging */ - IvInManifest?: HlsIvInManifest | string; + HlsId3SegmentTagging?: HlsId3SegmentTaggingState | string; /** - * MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and media manifests) for this output group. - * - * VARIANT_MANIFESTS_AND_SEGMENTS: Generates media manifests for this output group, but not a master manifest. - * - * SEGMENTS_ONLY: Does not generate any manifests for this output group. + * Parameter that control output group behavior on input loss. */ - OutputSelection?: HlsOutputSelection | string; + InputLossAction?: InputLossActionForHlsOut | string; /** - * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest. + * Indicates whether the output manifest should use floating point or integer values for segment duration. */ - StreamInfResolution?: HlsStreamInfResolution | string; + ManifestDurationFormat?: HlsManifestDurationFormat | string; /** - * ENABLED: The master manifest (.m3u8 file) for each pipeline includes information about both pipelines: first its own media files, then the media files of the other pipeline. This feature allows playout device that support stale manifest detection to switch from one manifest to the other, when the current manifest seems to be stale. There are still two destinations and two master manifests, but both master manifests reference the media files from both pipelines. - * - * DISABLED: The master manifest (.m3u8 file) for each pipeline includes information about its own pipeline only. + * If "vod", all segments are indexed and kept permanently in the destination and manifest. If "live", only the number segments specified in keepSegments and indexNSegments are kept; newer segments replace older segments, which may prevent players from rewinding all the way to the beginning of the event. * - * For an HLS output group with MediaPackage as the destination, the DISABLED behavior is always followed. MediaPackage regenerates the manifests it serves to players so a redundant manifest from MediaLive is irrelevant. + * VOD mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, converting it to a "VOD" type manifest on completion of the stream. */ - RedundantManifest?: HlsRedundantManifest | string; + Mode?: HlsMode | string; /** - * Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. + * When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, which prevents clients from saving media segments for later replay. */ - ProgramDateTimePeriod?: number; + ClientCache?: HlsClientCache | string; /** - * Indicates ID3 frame that has the timecode. + * Either a single positive integer version value or a slash delimited list of version values (1/2/3). */ - TimedMetadataId3Frame?: HlsTimedMetadataId3Frame | string; + KeyFormatVersions?: string; /** - * When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, which prevents clients from saving media segments for later replay. + * Parameters that control interactions with the CDN. */ - ClientCache?: HlsClientCache | string; + HlsCdnSettings?: HlsCdnSettings; /** - * When set, minimumSegmentLength is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed. + * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation. */ - MinSegmentLength?: number; + CodecSpecification?: HlsCodecSpecification | string; /** - * Optional. One value per output group. - * - * Complete this field only if you are completing Base URL manifest A, and the downstream system has notified you that the child manifest files for pipeline 1 of all outputs are in a location different from the child manifest files for pipeline 0. + * A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled). */ - BaseUrlManifest1?: string; + Destination: OutputLocationRef | undefined; /** - * If "vod", all segments are indexed and kept permanently in the destination and manifest. If "live", only the number segments specified in keepSegments and indexNSegments are kept; newer segments replace older segments, which may prevent players from rewinding all the way to the beginning of the event. - * - * VOD mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, converting it to a "VOD" type manifest on completion of the stream. + * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If this setting is "followsSegmentNumber", it will cause the IV to change every segment (to match the segment number). If this is set to "explicit", you must enter a constantIv value. */ - Mode?: HlsMode | string; + IvSource?: HlsIvSource | string; /** - * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation. + * Optional. One value per output group. + * + * This field is required only if you are completing Base URL content A, and the downstream system has notified you that the media files for pipeline 1 of all outputs are in a location different from the media files for pipeline 0. */ - CodecSpecification?: HlsCodecSpecification | string; + BaseUrlContent1?: string; /** - * A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled). + * For use with encryptionType. This is a 128-bit, 16-byte hex value represented by a 32-character text string. If ivSource is set to "explicit" then this parameter is required and is used as the IV for encryption. */ - Destination: OutputLocationRef | undefined; + ConstantIv?: string; /** - * Parameter that control output group behavior on input loss. + * The value specifies how the key is represented in the resource identified by the URI. If parameter is absent, an implicit value of "identity" is used. A reverse DNS string can also be given. */ - InputLossAction?: InputLossActionForHlsOut | string; + KeyFormat?: string; /** - * Encrypts the segments with the given encryption scheme. Exclude this parameter if no encryption is desired. + * SEGMENTED_FILES: Emit the program as segments - multiple .ts media files. + * + * SINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to index segments for playback. A typical use for this value is when sending the output to AWS Elemental MediaConvert, which can accept only a single media file. Playback while the channel is running is not guaranteed due to HTTP server caching. */ - EncryptionType?: HlsEncryptionType | string; + TsFileMode?: HlsTsFileMode | string; /** - * For use with encryptionType. This is a 128-bit, 16-byte hex value represented by a 32-character text string. If ivSource is set to "explicit" then this parameter is required and is used as the IV for encryption. + * Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to "insert". */ - ConstantIv?: string; + CaptionLanguageMappings?: CaptionLanguageMapping[]; /** - * Either a single positive integer version value or a slash delimited list of version values (1/2/3). + * Applies only to 608 Embedded output captions. + * insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. + * none: Include CLOSED-CAPTIONS=NONE line in the manifest. + * omit: Omit any CLOSED-CAPTIONS line from the manifest. */ - KeyFormatVersions?: string; + CaptionLanguageSetting?: HlsCaptionLanguageSetting | string; /** - * State of HLS ID3 Segment Tagging + * Applies only if Mode field is LIVE. + * + * Specifies the maximum number of segments in the media manifest file. After this maximum, older segments are removed from the media manifest. This number must be smaller than the number in the Keep Segments field. */ - HlsId3SegmentTagging?: HlsId3SegmentTaggingState | string; + IndexNSegments?: number; /** - * Parameters that control interactions with the CDN. + * Encrypts the segments with the given encryption scheme. Exclude this parameter if no encryption is desired. */ - HlsCdnSettings?: HlsCdnSettings; + EncryptionType?: HlsEncryptionType | string; } export namespace HlsGroupSettings { @@ -4729,36 +4918,34 @@ export enum SmoothGroupTimestampOffsetMode { */ export interface MsSmoothGroupSettings { /** - * Number of milliseconds to delay the output from the second pipeline. + * When set to sendEos, send EOS signal to IIS server when stopping the event */ - SendDelayMs?: number; + EventStopBehavior?: SmoothGroupEventStopBehavior | string; /** - * MS Smooth event ID to be sent to the IIS server. - * - * Should only be specified if eventIdMode is set to useConfigured. + * Size in seconds of file cache for streaming outputs. */ - EventId?: string; + FilecacheDuration?: number; /** - * Size in seconds of file cache for streaming outputs. + * The ID to include in each message in the sparse track. Ignored if sparseTrackType is NONE. */ - FilecacheDuration?: number; + AcquisitionPointId?: string; /** - * Number of seconds to wait before retrying connection to the IIS server if the connection is lost. Content will be cached during this time and the cache will be be delivered to the IIS server once the connection is re-established. + * useInputSegmentation has been deprecated. The configured segment size is always used. */ - ConnectionRetryInterval?: number; + SegmentationMode?: SmoothGroupSegmentationMode | string; /** - * Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration. + * Number of milliseconds to delay the output from the second pipeline. */ - RestartDelay?: number; + SendDelayMs?: number; /** - * useInputSegmentation has been deprecated. The configured segment size is always used. + * Number of seconds to wait before retrying connection to the IIS server if the connection is lost. Content will be cached during this time and the cache will be be delivered to the IIS server once the connection is re-established. */ - SegmentationMode?: SmoothGroupSegmentationMode | string; + ConnectionRetryInterval?: number; /** * Parameter that control output group behavior on input loss. @@ -4766,26 +4953,39 @@ export interface MsSmoothGroupSettings { InputLossAction?: InputLossActionForMsSmoothOut | string; /** - * Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset. + * MS Smooth event ID to be sent to the IIS server. + * + * Should only be specified if eventIdMode is set to useConfigured. */ - TimestampOffset?: string; + EventId?: string; /** - * When set to send, send stream manifest so publishing point doesn't start until all streams start. + * If set to passthrough for an audio-only MS Smooth output, the fragment absolute time will be set to the current timecode. This option does not write timecodes to the audio elementary stream. */ - StreamManifestBehavior?: SmoothGroupStreamManifestBehavior | string; + AudioOnlyTimecodeControl?: SmoothGroupAudioOnlyTimecodeControl | string; /** - * Type of timestamp date offset to use. - * - useEventStartDate: Use the date the event was started as the offset - * - useConfiguredOffset: Use an explicitly configured date as the offset + * If set to verifyAuthenticity, verify the https certificate chain to a trusted Certificate Authority (CA). This will cause https outputs to self-signed certificates to fail. */ - TimestampOffsetMode?: SmoothGroupTimestampOffsetMode | string; + CertificateMode?: SmoothGroupCertificateMode | string; /** - * Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate. + * Number of retry attempts. */ - FragmentLength?: number; + NumRetries?: number; + + /** + * Smooth Streaming publish point on an IIS server. Elemental Live acts as a "Push" encoder to IIS. + */ + Destination: OutputLocationRef | undefined; + + /** + * Identifies the type of data to place in the sparse track: + * - SCTE35: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame to start a new segment. + * - SCTE35_WITHOUT_SEGMENTATION: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame but don't start a new segment. + * - NONE: Don't generate a sparse track for any outputs in this output group. + */ + SparseTrackType?: SmoothGroupSparseTrackType | string; /** * Specifies whether or not to send an event ID to the IIS server. If no event ID is sent and the same Live Event is used without changing the publishing point, clients might see cached video from the previous run. @@ -4798,42 +4998,31 @@ export interface MsSmoothGroupSettings { EventIdMode?: SmoothGroupEventIdMode | string; /** - * If set to verifyAuthenticity, verify the https certificate chain to a trusted Certificate Authority (CA). This will cause https outputs to self-signed certificates to fail. - */ - CertificateMode?: SmoothGroupCertificateMode | string; - - /** - * Smooth Streaming publish point on an IIS server. Elemental Live acts as a "Push" encoder to IIS. - */ - Destination: OutputLocationRef | undefined; - - /** - * Number of retry attempts. + * Type of timestamp date offset to use. + * - useEventStartDate: Use the date the event was started as the offset + * - useConfiguredOffset: Use an explicitly configured date as the offset */ - NumRetries?: number; + TimestampOffsetMode?: SmoothGroupTimestampOffsetMode | string; /** - * Identifies the type of data to place in the sparse track: - * - SCTE35: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame to start a new segment. - * - SCTE35_WITHOUT_SEGMENTATION: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame but don't start a new segment. - * - NONE: Don't generate a sparse track for any outputs in this output group. + * Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate. */ - SparseTrackType?: SmoothGroupSparseTrackType | string; + FragmentLength?: number; /** - * When set to sendEos, send EOS signal to IIS server when stopping the event + * When set to send, send stream manifest so publishing point doesn't start until all streams start. */ - EventStopBehavior?: SmoothGroupEventStopBehavior | string; + StreamManifestBehavior?: SmoothGroupStreamManifestBehavior | string; /** - * If set to passthrough for an audio-only MS Smooth output, the fragment absolute time will be set to the current timecode. This option does not write timecodes to the audio elementary stream. + * Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration. */ - AudioOnlyTimecodeControl?: SmoothGroupAudioOnlyTimecodeControl | string; + RestartDelay?: number; /** - * The ID to include in each message in the sparse track. Ignored if sparseTrackType is NONE. + * Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset. */ - AcquisitionPointId?: string; + TimestampOffset?: string; } export namespace MsSmoothGroupSettings { @@ -4878,21 +5067,11 @@ export enum InputLossActionForRtmpOut { * Rtmp Group Settings */ export interface RtmpGroupSettings { - /** - * Controls behavior when content cache fills up. If remote origin server stalls the RTMP connection and does not accept content fast enough the 'Media Cache' will fill up. When the cache reaches the duration specified by cacheLength the cache will stop accepting new content. If set to disconnectImmediately, the RTMP output will force a disconnect. Clear the media cache, and reconnect after restartDelay seconds. If set to waitForServer, the RTMP output will wait up to 5 minutes to allow the origin server to begin accepting data again. - */ - CacheFullBehavior?: RtmpCacheFullBehavior | string; - /** * Controls the types of data that passes to onCaptionInfo outputs. If set to 'all' then 608 and 708 carried DTVCC data will be passed. If set to 'field1AndField2608' then DTVCC data will be stripped out, but 608 data from both fields will be passed. If set to 'field1608' then only the data carried in 608 from field 1 video will be passed. */ CaptionData?: RtmpCaptionData | string; - /** - * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. - */ - RestartDelay?: number; - /** * Cache length, in seconds, is used to calculate buffer size. */ @@ -4906,6 +5085,16 @@ export interface RtmpGroupSettings { */ InputLossAction?: InputLossActionForRtmpOut | string; + /** + * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + */ + RestartDelay?: number; + + /** + * Controls behavior when content cache fills up. If remote origin server stalls the RTMP connection and does not accept content fast enough the 'Media Cache' will fill up. When the cache reaches the duration specified by cacheLength the cache will stop accepting new content. If set to disconnectImmediately, the RTMP output will force a disconnect. Clear the media cache, and reconnect after restartDelay seconds. If set to waitForServer, the RTMP output will wait up to 5 minutes to allow the origin server to begin accepting data again. + */ + CacheFullBehavior?: RtmpCacheFullBehavior | string; + /** * Authentication scheme to use when connecting with CDN */ @@ -4934,6 +5123,11 @@ export enum UdpTimedMetadataId3Frame { * Udp Group Settings */ export interface UdpGroupSettings { + /** + * Timed Metadata interval in seconds. + */ + TimedMetadataId3Period?: number; + /** * Specifies behavior of last resort when input video is lost, and no more backup inputs are available. When dropTs is selected the entire transport stream will stop being emitted. When dropProgram is selected the program can be dropped from the transport stream (and replaced with null packets to meet the TS bitrate requirement). Or, when emitProgram is chosen the transport stream will continue to be produced normally with repeat frames, black frames, or slate frames substituted for the absent input video. */ @@ -4943,11 +5137,6 @@ export interface UdpGroupSettings { * Indicates ID3 frame that has the timecode. */ TimedMetadataId3Frame?: UdpTimedMetadataId3Frame | string; - - /** - * Timed Metadata interval in seconds. - */ - TimedMetadataId3Period?: number; } export namespace UdpGroupSettings { @@ -4961,14 +5150,14 @@ export namespace UdpGroupSettings { */ export interface OutputGroupSettings { /** - * Rtmp Group Settings + * Udp Group Settings */ - RtmpGroupSettings?: RtmpGroupSettings; + UdpGroupSettings?: UdpGroupSettings; /** - * Frame Capture Group Settings + * Media Package Group Settings */ - FrameCaptureGroupSettings?: FrameCaptureGroupSettings; + MediaPackageGroupSettings?: MediaPackageGroupSettings; /** * Multiplex Group Settings @@ -4976,9 +5165,9 @@ export interface OutputGroupSettings { MultiplexGroupSettings?: MultiplexGroupSettings; /** - * Archive Group Settings + * Frame Capture Group Settings */ - ArchiveGroupSettings?: ArchiveGroupSettings; + FrameCaptureGroupSettings?: FrameCaptureGroupSettings; /** * Hls Group Settings @@ -4986,19 +5175,19 @@ export interface OutputGroupSettings { HlsGroupSettings?: HlsGroupSettings; /** - * Ms Smooth Group Settings + * Archive Group Settings */ - MsSmoothGroupSettings?: MsSmoothGroupSettings; + ArchiveGroupSettings?: ArchiveGroupSettings; /** - * Media Package Group Settings + * Ms Smooth Group Settings */ - MediaPackageGroupSettings?: MediaPackageGroupSettings; + MsSmoothGroupSettings?: MsSmoothGroupSettings; /** - * Udp Group Settings + * Rtmp Group Settings */ - UdpGroupSettings?: UdpGroupSettings; + RtmpGroupSettings?: RtmpGroupSettings; } export namespace OutputGroupSettings { @@ -5038,14 +5227,14 @@ export namespace OutputGroup { */ export interface PipelineDetail { /** - * The name of the active input attachment currently being ingested by this pipeline. + * The name of the input switch schedule action that occurred most recently and that resulted in the switch to the current input attachment for this pipeline. */ - ActiveInputAttachmentName?: string; + ActiveInputSwitchActionName?: string; /** - * The name of the input switch schedule action that occurred most recently and that resulted in the switch to the current input attachment for this pipeline. + * The name of the active input attachment currently being ingested by this pipeline. */ - ActiveInputSwitchActionName?: string; + ActiveInputAttachmentName?: string; /** * Pipeline ID @@ -5092,24 +5281,24 @@ export enum ReservationState { */ export interface Reservation { /** - * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering + * Current state of reservation, e.g. 'ACTIVE' */ - FixedPrice?: number; + State?: ReservationState | string; /** - * Offering type, e.g. 'NO_UPFRONT' + * Units for duration, e.g. 'MONTHS' */ - OfferingType?: OfferingType | string; + DurationUnits?: OfferingDurationUnits | string; /** - * Current state of reservation, e.g. 'ACTIVE' + * Number of reserved resources */ - State?: ReservationState | string; + Count?: number; /** - * Units for duration, e.g. 'MONTHS' + * User specified reservation name */ - DurationUnits?: OfferingDurationUnits | string; + Name?: string; /** * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' @@ -5122,64 +5311,64 @@ export interface Reservation { Region?: string; /** - * Unique offering ID, e.g. '87654321' + * Offering type, e.g. 'NO_UPFRONT' */ - OfferingId?: string; + OfferingType?: OfferingType | string; /** - * A collection of key-value pairs + * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering */ - Tags?: { [key: string]: string }; + FixedPrice?: number; /** - * Recurring usage charge for each reserved resource, e.g. '157.0' + * Unique reservation ID, e.g. '1234567' */ - UsagePrice?: number; + ReservationId?: string; /** - * Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567' + * Lease duration, e.g. '12' */ - Arn?: string; + Duration?: number; /** - * Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00' + * Resource configuration details */ - Start?: string; + ResourceSpecification?: ReservationResourceSpecification; /** - * Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00' + * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' */ - End?: string; + OfferingDescription?: string; /** - * Lease duration, e.g. '12' + * Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00' */ - Duration?: number; + Start?: string; /** - * Unique reservation ID, e.g. '1234567' + * Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00' */ - ReservationId?: string; + End?: string; /** - * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' + * Recurring usage charge for each reserved resource, e.g. '157.0' */ - OfferingDescription?: string; + UsagePrice?: number; /** - * User specified reservation name + * Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567' */ - Name?: string; + Arn?: string; /** - * Resource configuration details + * Unique offering ID, e.g. '87654321' */ - ResourceSpecification?: ReservationResourceSpecification; + OfferingId?: string; /** - * Number of reserved resources + * A collection of key-value pairs */ - Count?: number; + Tags?: { [key: string]: string }; } export namespace Reservation { @@ -5245,167 +5434,3 @@ export enum LastFrameClippingBehavior { EXCLUDE_LAST_FRAME = "EXCLUDE_LAST_FRAME", INCLUDE_LAST_FRAME = "INCLUDE_LAST_FRAME", } - -/** - * Settings to identify the end of the clip. - */ -export interface StopTimecode { - /** - * If you specify a StopTimecode in an input (in order to clip the file), you can specify if you want the clip to exclude (the default) or include the frame specified by the timecode. - */ - LastFrameClippingBehavior?: LastFrameClippingBehavior | string; - - /** - * The timecode for the frame where you want to stop the clip. Optional; if not specified, the clip continues to the end of the file. Enter the timecode as HH:MM:SS:FF or HH:MM:SS;FF. - */ - Timecode?: string; -} - -export namespace StopTimecode { - export const filterSensitiveLog = (obj: StopTimecode): any => ({ - ...obj, - }); -} - -/** - * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. - */ -export interface InputClippingSettings { - /** - * The source of the timecodes in the source being clipped. - */ - InputTimecodeSource: InputTimecodeSource | string | undefined; - - /** - * Settings to identify the end of the clip. - */ - StopTimecode?: StopTimecode; - - /** - * Settings to identify the start of the clip. - */ - StartTimecode?: StartTimecode; -} - -export namespace InputClippingSettings { - export const filterSensitiveLog = (obj: InputClippingSettings): any => ({ - ...obj, - }); -} - -/** - * Action to prepare an input for a future immediate input switch. - */ -export interface InputPrepareScheduleActionSettings { - /** - * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. - */ - InputClippingSettings?: InputClippingSettings; - - /** - * The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source. - */ - UrlPath?: string[]; - - /** - * The name of the input attachment that should be prepared by this action. If no name is provided, the action will stop the most recent prepare (if any) when activated. - */ - InputAttachmentNameReference?: string; -} - -export namespace InputPrepareScheduleActionSettings { - export const filterSensitiveLog = (obj: InputPrepareScheduleActionSettings): any => ({ - ...obj, - }); -} - -/** - * Settings for the "switch input" action: to switch from ingesting one input to ingesting another input. - */ -export interface InputSwitchScheduleActionSettings { - /** - * The name of the input attachment (not the name of the input!) to switch to. The name is specified in the channel configuration. - */ - InputAttachmentNameReference: string | undefined; - - /** - * The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source. - */ - UrlPath?: string[]; - - /** - * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. - */ - InputClippingSettings?: InputClippingSettings; -} - -export namespace InputSwitchScheduleActionSettings { - export const filterSensitiveLog = (obj: InputSwitchScheduleActionSettings): any => ({ - ...obj, - }); -} - -/** - * Settings for the action to set pause state of a channel. - */ -export interface PauseStateScheduleActionSettings { - /** - * Placeholder documentation for __listOfPipelinePauseStateSettings - */ - Pipelines?: PipelinePauseStateSettings[]; -} - -export namespace PauseStateScheduleActionSettings { - export const filterSensitiveLog = (obj: PauseStateScheduleActionSettings): any => ({ - ...obj, - }); -} - -/** - * Settings for a SCTE-35 return_to_network message. - */ -export interface Scte35ReturnToNetworkScheduleActionSettings { - /** - * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35. - */ - SpliceEventId: number | undefined; -} - -export namespace Scte35ReturnToNetworkScheduleActionSettings { - export const filterSensitiveLog = (obj: Scte35ReturnToNetworkScheduleActionSettings): any => ({ - ...obj, - }); -} - -/** - * Settings for a SCTE-35 splice_insert message. - */ -export interface Scte35SpliceInsertScheduleActionSettings { - /** - * Optional, the duration for the splice_insert, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. If you enter a duration, there is an expectation that the downstream system can read the duration and cue in at that time. If you do not enter a duration, the splice_insert will continue indefinitely and there is an expectation that you will enter a return_to_network to end the splice_insert at the appropriate time. - */ - Duration?: number; - - /** - * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35. - */ - SpliceEventId: number | undefined; -} - -export namespace Scte35SpliceInsertScheduleActionSettings { - export const filterSensitiveLog = (obj: Scte35SpliceInsertScheduleActionSettings): any => ({ - ...obj, - }); -} - -export enum Scte35ArchiveAllowedFlag { - ARCHIVE_ALLOWED = "ARCHIVE_ALLOWED", - ARCHIVE_NOT_ALLOWED = "ARCHIVE_NOT_ALLOWED", -} - -export enum Scte35DeviceRestrictions { - NONE = "NONE", - RESTRICT_GROUP0 = "RESTRICT_GROUP0", - RESTRICT_GROUP1 = "RESTRICT_GROUP1", - RESTRICT_GROUP2 = "RESTRICT_GROUP2", -} diff --git a/clients/client-medialive/models/models_1.ts b/clients/client-medialive/models/models_1.ts index 1daba03abdf9..136708d3e61a 100644 --- a/clients/client-medialive/models/models_1.ts +++ b/clients/client-medialive/models/models_1.ts @@ -1,6 +1,9 @@ import { AudioDescription, + BatchFailedResultModel, + BatchSuccessfulResultModel, CaptionDescription, + CdiInputSpecification, ChannelClass, ChannelEgressEndpoint, ChannelState, @@ -22,7 +25,6 @@ import { InputDeviceSummary, InputDeviceType, InputLocation, - InputPrepareScheduleActionSettings, InputSecurityGroup, InputSecurityGroupState, InputSource, @@ -30,14 +32,16 @@ import { InputSourceType, InputSpecification, InputState, - InputSwitchScheduleActionSettings, + InputTimecodeSource, InputType, InputWhitelistRule, InputWhitelistRuleCidr, + LastFrameClippingBehavior, LogLevel, MediaConnectFlow, MediaConnectFlowRequest, MultiplexOutputDestination, + MultiplexProgramPipelineDetail, MultiplexProgramSummary, MultiplexState, MultiplexSummary, @@ -46,20 +50,181 @@ import { OfferingType, OutputDestination, OutputGroup, - PauseStateScheduleActionSettings, PipelineDetail, + PipelinePauseStateSettings, Reservation, ReservationResourceSpecification, ReservationState, - Scte35ArchiveAllowedFlag, - Scte35DeviceRestrictions, - Scte35ReturnToNetworkScheduleActionSettings, - Scte35SpliceInsertScheduleActionSettings, + StartTimecode, } 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"; +/** + * Settings to identify the end of the clip. + */ +export interface StopTimecode { + /** + * The timecode for the frame where you want to stop the clip. Optional; if not specified, the clip continues to the end of the file. Enter the timecode as HH:MM:SS:FF or HH:MM:SS;FF. + */ + Timecode?: string; + + /** + * If you specify a StopTimecode in an input (in order to clip the file), you can specify if you want the clip to exclude (the default) or include the frame specified by the timecode. + */ + LastFrameClippingBehavior?: LastFrameClippingBehavior | string; +} + +export namespace StopTimecode { + export const filterSensitiveLog = (obj: StopTimecode): any => ({ + ...obj, + }); +} + +/** + * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. + */ +export interface InputClippingSettings { + /** + * Settings to identify the end of the clip. + */ + StopTimecode?: StopTimecode; + + /** + * The source of the timecodes in the source being clipped. + */ + InputTimecodeSource: InputTimecodeSource | string | undefined; + + /** + * Settings to identify the start of the clip. + */ + StartTimecode?: StartTimecode; +} + +export namespace InputClippingSettings { + export const filterSensitiveLog = (obj: InputClippingSettings): any => ({ + ...obj, + }); +} + +/** + * Action to prepare an input for a future immediate input switch. + */ +export interface InputPrepareScheduleActionSettings { + /** + * The name of the input attachment that should be prepared by this action. If no name is provided, the action will stop the most recent prepare (if any) when activated. + */ + InputAttachmentNameReference?: string; + + /** + * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. + */ + InputClippingSettings?: InputClippingSettings; + + /** + * The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source. + */ + UrlPath?: string[]; +} + +export namespace InputPrepareScheduleActionSettings { + export const filterSensitiveLog = (obj: InputPrepareScheduleActionSettings): any => ({ + ...obj, + }); +} + +/** + * Settings for the "switch input" action: to switch from ingesting one input to ingesting another input. + */ +export interface InputSwitchScheduleActionSettings { + /** + * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. + */ + InputClippingSettings?: InputClippingSettings; + + /** + * The name of the input attachment (not the name of the input!) to switch to. The name is specified in the channel configuration. + */ + InputAttachmentNameReference: string | undefined; + + /** + * The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source. + */ + UrlPath?: string[]; +} + +export namespace InputSwitchScheduleActionSettings { + export const filterSensitiveLog = (obj: InputSwitchScheduleActionSettings): any => ({ + ...obj, + }); +} + +/** + * Settings for the action to set pause state of a channel. + */ +export interface PauseStateScheduleActionSettings { + /** + * Placeholder documentation for __listOfPipelinePauseStateSettings + */ + Pipelines?: PipelinePauseStateSettings[]; +} + +export namespace PauseStateScheduleActionSettings { + export const filterSensitiveLog = (obj: PauseStateScheduleActionSettings): any => ({ + ...obj, + }); +} + +/** + * Settings for a SCTE-35 return_to_network message. + */ +export interface Scte35ReturnToNetworkScheduleActionSettings { + /** + * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35. + */ + SpliceEventId: number | undefined; +} + +export namespace Scte35ReturnToNetworkScheduleActionSettings { + export const filterSensitiveLog = (obj: Scte35ReturnToNetworkScheduleActionSettings): any => ({ + ...obj, + }); +} + +/** + * Settings for a SCTE-35 splice_insert message. + */ +export interface Scte35SpliceInsertScheduleActionSettings { + /** + * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35. + */ + SpliceEventId: number | undefined; + + /** + * Optional, the duration for the splice_insert, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. If you enter a duration, there is an expectation that the downstream system can read the duration and cue in at that time. If you do not enter a duration, the splice_insert will continue indefinitely and there is an expectation that you will enter a return_to_network to end the splice_insert at the appropriate time. + */ + Duration?: number; +} + +export namespace Scte35SpliceInsertScheduleActionSettings { + export const filterSensitiveLog = (obj: Scte35SpliceInsertScheduleActionSettings): any => ({ + ...obj, + }); +} + +export enum Scte35ArchiveAllowedFlag { + ARCHIVE_ALLOWED = "ARCHIVE_ALLOWED", + ARCHIVE_NOT_ALLOWED = "ARCHIVE_NOT_ALLOWED", +} + +export enum Scte35DeviceRestrictions { + NONE = "NONE", + RESTRICT_GROUP0 = "RESTRICT_GROUP0", + RESTRICT_GROUP1 = "RESTRICT_GROUP1", + RESTRICT_GROUP2 = "RESTRICT_GROUP2", +} + export enum Scte35NoRegionalBlackoutFlag { NO_REGIONAL_BLACKOUT = "NO_REGIONAL_BLACKOUT", REGIONAL_BLACKOUT = "REGIONAL_BLACKOUT", @@ -74,6 +239,11 @@ export enum Scte35WebDeliveryAllowedFlag { * Corresponds to SCTE-35 delivery_not_restricted_flag parameter. To declare delivery restrictions, include this element and its four "restriction" flags. To declare that there are no restrictions, omit this element. */ export interface Scte35DeliveryRestrictions { + /** + * Corresponds to SCTE-35 archive_allowed_flag. + */ + ArchiveAllowedFlag: Scte35ArchiveAllowedFlag | string | undefined; + /** * Corresponds to SCTE-35 no_regional_blackout_flag parameter. */ @@ -84,11 +254,6 @@ export interface Scte35DeliveryRestrictions { */ WebDeliveryAllowedFlag: Scte35WebDeliveryAllowedFlag | string | undefined; - /** - * Corresponds to SCTE-35 archive_allowed_flag. - */ - ArchiveAllowedFlag: Scte35ArchiveAllowedFlag | string | undefined; - /** * Corresponds to SCTE-35 device_restrictions parameter. */ @@ -111,15 +276,25 @@ export enum Scte35SegmentationCancelIndicator { */ export interface Scte35SegmentationDescriptor { /** - * Corresponds to SCTE-35 segment_num. A value that is valid for the specified segmentation_type_id. + * Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the types listed in the SCTE-35 specification, converted to a decimal. For example, "0x0C" hex from the specification is "12" in decimal. In the CLI, API, or an SDK, enter one of the types listed in the SCTE-35 specification, in either hex (for example, "0x0C" ) or in decimal (for example, "12"). */ - SegmentNum?: number; + SegmentationUpidType?: number; /** * Holds the four SCTE-35 delivery restriction parameters. */ DeliveryRestrictions?: Scte35DeliveryRestrictions; + /** + * Corresponds to SCTE-35 segmentation_event_cancel_indicator. + */ + SegmentationCancelIndicator: Scte35SegmentationCancelIndicator | string | undefined; + + /** + * Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified segmentation_type_id. + */ + SubSegmentNum?: number; + /** * Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id values listed in the SCTE-35 specification. On the console, enter the ID in decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID in hex (for example, "0x34") or decimal (for example, "52"). */ @@ -131,9 +306,9 @@ export interface Scte35SegmentationDescriptor { SubSegmentsExpected?: number; /** - * Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the types listed in the SCTE-35 specification, converted to a decimal. For example, "0x0C" hex from the specification is "12" in decimal. In the CLI, API, or an SDK, enter one of the types listed in the SCTE-35 specification, in either hex (for example, "0x0C" ) or in decimal (for example, "12"). + * Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the time_signal will continue until you insert a cancellation message. */ - SegmentationUpidType?: number; + SegmentationDuration?: number; /** * Corresponds to SCTE-35 segments_expected. A value that is valid for the specified segmentation_type_id. @@ -141,14 +316,9 @@ export interface Scte35SegmentationDescriptor { SegmentsExpected?: number; /** - * Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified segmentation_type_id. - */ - SubSegmentNum?: number; - - /** - * Corresponds to SCTE-35 segmentation_event_cancel_indicator. + * Corresponds to SCTE-35 segmentation_event_id. */ - SegmentationCancelIndicator: Scte35SegmentationCancelIndicator | string | undefined; + SegmentationEventId: number | undefined; /** * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the hexadecimal representation of the characters that make up the SCTE-35 segmentation_upid value. Must contain an even number of hex characters. Do not include spaces between each hex pair. For example, the ASCII "ADS Information" becomes hex "41445320496e666f726d6174696f6e. @@ -156,14 +326,9 @@ export interface Scte35SegmentationDescriptor { SegmentationUpid?: string; /** - * Corresponds to SCTE-35 segmentation_event_id. - */ - SegmentationEventId: number | undefined; - - /** - * Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the time_signal will continue until you insert a cancellation message. + * Corresponds to SCTE-35 segment_num. A value that is valid for the specified segmentation_type_id. */ - SegmentationDuration?: number; + SegmentNum?: number; } export namespace Scte35SegmentationDescriptor { @@ -225,29 +390,29 @@ export namespace Scte35TimeSignalScheduleActionSettings { */ export interface StaticImageActivateScheduleActionSettings { /** - * The time in milliseconds for the image to fade in. The fade-in starts at the start time of the overlay. Default is 0 (no fade-in). + * The duration in milliseconds for the image to remain on the video. If omitted or set to 0 the duration is unlimited and the image will remain until it is explicitly deactivated. */ - FadeIn?: number; + Duration?: number; /** - * Opacity of image where 0 is transparent and 100 is fully opaque. Default is 100. + * The number of the layer, 0 to 7. There are 8 layers that can be overlaid on the video, each layer with a different image. The layers are in Z order, which means that overlays with higher values of layer are inserted on top of overlays with lower values of layer. Default is 0. */ - Opacity?: number; + Layer?: number; /** - * Applies only if a duration is specified. The time in milliseconds for the image to fade out. The fade-out starts when the duration time is hit, so it effectively extends the duration. Default is 0 (no fade-out). + * The time in milliseconds for the image to fade in. The fade-in starts at the start time of the overlay. Default is 0 (no fade-in). */ - FadeOut?: number; + FadeIn?: number; /** - * The height of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified height. Leave blank to use the native height of the overlay. + * Applies only if a duration is specified. The time in milliseconds for the image to fade out. The fade-out starts when the duration time is hit, so it effectively extends the duration. Default is 0 (no fade-out). */ - Height?: number; + FadeOut?: number; /** - * Placement of the top edge of the overlay relative to the top edge of the video frame, in pixels. 0 (the default) is the top edge of the frame. If the placement causes the overlay to extend beyond the bottom edge of the underlying video, then the overlay is cropped on the bottom. + * Opacity of image where 0 is transparent and 100 is fully opaque. Default is 100. */ - ImageY?: number; + Opacity?: number; /** * Placement of the left edge of the overlay relative to the left edge of the video frame, in pixels. 0 (the default) is the left edge of the frame. If the placement causes the overlay to extend beyond the right edge of the underlying video, then the overlay is cropped on the right. @@ -255,24 +420,24 @@ export interface StaticImageActivateScheduleActionSettings { ImageX?: number; /** - * The number of the layer, 0 to 7. There are 8 layers that can be overlaid on the video, each layer with a different image. The layers are in Z order, which means that overlays with higher values of layer are inserted on top of overlays with lower values of layer. Default is 0. + * Placement of the top edge of the overlay relative to the top edge of the video frame, in pixels. 0 (the default) is the top edge of the frame. If the placement causes the overlay to extend beyond the bottom edge of the underlying video, then the overlay is cropped on the bottom. */ - Layer?: number; + ImageY?: number; /** - * The duration in milliseconds for the image to remain on the video. If omitted or set to 0 the duration is unlimited and the image will remain until it is explicitly deactivated. + * The width of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified width. Leave blank to use the native width of the overlay. */ - Duration?: number; + Width?: number; /** - * The location and filename of the image file to overlay on the video. The file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) than the input video. + * The height of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified height. Leave blank to use the native height of the overlay. */ - Image: InputLocation | undefined; + Height?: number; /** - * The width of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified width. Leave blank to use the native width of the overlay. + * The location and filename of the image file to overlay on the video. The file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) than the input video. */ - Width?: number; + Image: InputLocation | undefined; } export namespace StaticImageActivateScheduleActionSettings { @@ -286,14 +451,14 @@ export namespace StaticImageActivateScheduleActionSettings { */ export interface StaticImageDeactivateScheduleActionSettings { /** - * The image overlay layer to deactivate, 0 to 7. Default is 0. + * The time in milliseconds for the image to fade out. Default is 0 (no fade-out). */ - Layer?: number; + FadeOut?: number; /** - * The time in milliseconds for the image to fade out. Default is 0 (no fade-out). + * The image overlay layer to deactivate, 0 to 7. Default is 0. */ - FadeOut?: number; + Layer?: number; } export namespace StaticImageDeactivateScheduleActionSettings { @@ -307,9 +472,9 @@ export namespace StaticImageDeactivateScheduleActionSettings { */ export interface ScheduleActionSettings { /** - * Action to pause or unpause one or both channel pipelines + * Action to switch the input */ - PauseStateSettings?: PauseStateScheduleActionSettings; + InputSwitchSettings?: InputSwitchScheduleActionSettings; /** * Action to insert SCTE-35 splice_insert message @@ -317,29 +482,29 @@ export interface ScheduleActionSettings { Scte35SpliceInsertSettings?: Scte35SpliceInsertScheduleActionSettings; /** - * Action to switch the input + * Action to activate a static image overlay */ - InputSwitchSettings?: InputSwitchScheduleActionSettings; + StaticImageActivateSettings?: StaticImageActivateScheduleActionSettings; /** - * Action to deactivate a static image overlay + * Action to insert HLS ID3 segment tagging */ - StaticImageDeactivateSettings?: StaticImageDeactivateScheduleActionSettings; + HlsId3SegmentTaggingSettings?: HlsId3SegmentTaggingScheduleActionSettings; /** - * Action to insert SCTE-35 time_signal message + * Action to deactivate a static image overlay */ - Scte35TimeSignalSettings?: Scte35TimeSignalScheduleActionSettings; + StaticImageDeactivateSettings?: StaticImageDeactivateScheduleActionSettings; /** - * Action to insert HLS metadata + * Action to prepare an input for a future immediate input switch */ - HlsTimedMetadataSettings?: HlsTimedMetadataScheduleActionSettings; + InputPrepareSettings?: InputPrepareScheduleActionSettings; /** - * Action to insert HLS ID3 segment tagging + * Action to insert SCTE-35 time_signal message */ - HlsId3SegmentTaggingSettings?: HlsId3SegmentTaggingScheduleActionSettings; + Scte35TimeSignalSettings?: Scte35TimeSignalScheduleActionSettings; /** * Action to insert SCTE-35 return_to_network message @@ -347,14 +512,14 @@ export interface ScheduleActionSettings { Scte35ReturnToNetworkSettings?: Scte35ReturnToNetworkScheduleActionSettings; /** - * Action to activate a static image overlay + * Action to pause or unpause one or both channel pipelines */ - StaticImageActivateSettings?: StaticImageActivateScheduleActionSettings; + PauseStateSettings?: PauseStateScheduleActionSettings; /** - * Action to prepare an input for a future immediate input switch + * Action to insert HLS metadata */ - InputPrepareSettings?: InputPrepareScheduleActionSettings; + HlsTimedMetadataSettings?: HlsTimedMetadataScheduleActionSettings; } export namespace ScheduleActionSettings { @@ -389,14 +554,14 @@ export enum FollowPoint { */ export interface FollowModeScheduleActionStartSettings { /** - * The action name of another action that this one refers to. + * Identifies whether this action starts relative to the start or relative to the end of the reference action. */ - ReferenceActionName: string | undefined; + FollowPoint: FollowPoint | string | undefined; /** - * Identifies whether this action starts relative to the start or relative to the end of the reference action. + * The action name of another action that this one refers to. */ - FollowPoint: FollowPoint | string | undefined; + ReferenceActionName: string | undefined; } export namespace FollowModeScheduleActionStartSettings { @@ -420,6 +585,11 @@ export namespace ImmediateModeScheduleActionStartSettings { * Settings to specify when an action should occur. Only one of the options must be selected. */ export interface ScheduleActionStartSettings { + /** + * Option for specifying the start time for an action. + */ + FixedModeScheduleActionStartSettings?: FixedModeScheduleActionStartSettings; + /** * Option for specifying an action that should be applied immediately. */ @@ -429,11 +599,6 @@ export interface ScheduleActionStartSettings { * Option for specifying an action as relative to another action. */ FollowModeScheduleActionStartSettings?: FollowModeScheduleActionStartSettings; - - /** - * Option for specifying the start time for an action. - */ - FixedModeScheduleActionStartSettings?: FixedModeScheduleActionStartSettings; } export namespace ScheduleActionStartSettings { @@ -446,11 +611,6 @@ export namespace ScheduleActionStartSettings { * Contains information on a single schedule action. */ export interface ScheduleAction { - /** - * The time for the action to start in the channel. - */ - ScheduleActionStartSettings: ScheduleActionStartSettings | undefined; - /** * Settings for this schedule action. */ @@ -460,6 +620,11 @@ export interface ScheduleAction { * The name of the action, must be unique within the schedule. This name provides the main reference to an action once it is added to the schedule. A name is unique if it is no longer in the schedule. The schedule is automatically cleaned up to remove actions with a start time of more than 1 hour ago (approximately) so at that point a name can be reused. */ ActionName: string | undefined; + + /** + * The time for the action to start in the channel. + */ + ScheduleActionStartSettings: ScheduleActionStartSettings | undefined; } export namespace ScheduleAction { @@ -468,14 +633,50 @@ export namespace ScheduleAction { }); } +export enum InputDeviceTransferType { + INCOMING = "INCOMING", + OUTGOING = "OUTGOING", +} + /** - * Placeholder documentation for ValidationError + * Details about the input device that is being transferred. */ -export interface ValidationError { +export interface TransferringInputDeviceSummary { /** - * Path to the source of the error. + * The optional message that the sender has attached to the transfer. */ - ElementPath?: string; + Message?: string; + + /** + * The type (direction) of the input device transfer. + */ + TransferType?: InputDeviceTransferType | string; + + /** + * The AWS account ID for the recipient of the input device transfer. + */ + TargetCustomerId?: string; + + /** + * The unique ID of the input device. + */ + Id?: string; +} + +export namespace TransferringInputDeviceSummary { + export const filterSensitiveLog = (obj: TransferringInputDeviceSummary): any => ({ + ...obj, + }); +} + +/** + * Placeholder documentation for ValidationError + */ +export interface ValidationError { + /** + * Path to the source of the error. + */ + ElementPath?: string; /** * The error message. @@ -499,14 +700,14 @@ export enum FrameCaptureIntervalUnit { */ export interface FrameCaptureSettings { /** - * Unit for the frame capture interval. + * The frequency at which to capture frames for inclusion in the output. May be specified in either seconds or milliseconds, as specified by captureIntervalUnits. */ - CaptureIntervalUnits?: FrameCaptureIntervalUnit | string; + CaptureInterval: number | undefined; /** - * The frequency at which to capture frames for inclusion in the output. May be specified in either seconds or milliseconds, as specified by captureIntervalUnits. + * Unit for the frame capture interval. */ - CaptureInterval: number | undefined; + CaptureIntervalUnits?: FrameCaptureIntervalUnit | string; } export namespace FrameCaptureSettings { @@ -629,17 +830,17 @@ export enum TemporalFilterStrength { * Temporal Filter Settings */ export interface TemporalFilterSettings { + /** + * Choose a filter strength. We recommend a strength of 1 or 2. A higher strength might take out good information, resulting in an image that is overly soft. + */ + Strength?: TemporalFilterStrength | string; + /** * If you enable this filter, the results are the following: * - If the source content is noisy (it contains excessive digital artifacts), the filter cleans up the source. * - If the source content is already clean, the filter tends to decrease the bitrate, especially when the rate control mode is QVBR. */ PostFilterSharpening?: TemporalFilterPostFilterSharpening | string; - - /** - * Choose a filter strength. We recommend a strength of 1 or 2. A higher strength might take out good information, resulting in an image that is overly soft. - */ - Strength?: TemporalFilterStrength | string; } export namespace TemporalFilterSettings { @@ -795,81 +996,68 @@ export enum H264TimecodeInsertionBehavior { */ export interface H264Settings { /** - * Color Space settings - */ - ColorSpaceSettings?: H264ColorSpaceSettings; - - /** - * Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. - */ - Softness?: number; - - /** - * Documentation update needed + * H.264 Profile. */ - GopBReference?: H264GopBReference | string; + Profile?: H264Profile | string; /** - * Pixel Aspect Ratio denominator. + * If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames. */ - ParDenominator?: number; + FlickerAq?: H264FlickerAq | string; /** - * Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000. + * Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. Set values for the QVBR quality level field and Max bitrate field that suit your most important viewing devices. Recommended values are: + * - Primary screen: Quality level: 8 to 10. Max bitrate: 4M + * - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M + * - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M */ - Bitrate?: number; + QvbrQualityLevel?: number; /** - * If set to enabled, adjust quantization within each frame based on spatial variation of content complexity. + * Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content. */ - SpatialAq?: H264SpatialAq | string; + LookAheadRateControl?: H264LookAheadRateControl | string; /** - * Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. + * This field indicates how the output video frame rate is specified. If "specified" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if "initializeFromSource" is selected then the output video frame rate will be set equal to the input video frame rate of the first input. */ - EntropyEncoding?: H264EntropyEncoding | string; + FramerateControl?: H264FramerateControl | string; /** - * Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time. + * Framerate denominator. */ - GopSizeUnits?: H264GopSizeUnits | string; + FramerateDenominator?: number; /** - * Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. + * Produces a bitstream compliant with SMPTE RP-2027. */ - FixedAfd?: FixedAfd | string; + Syntax?: H264Syntax | string; /** - * Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter. + * Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures. + * This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution. */ - AfdSignaling?: AfdSignaling | string; + Slices?: number; /** - * GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. - * If gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1. - * If gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer. + * Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. */ - GopSize?: number; + AdaptiveQuantization?: H264AdaptiveQuantization | string; /** - * Scene change detection. - * - * - On: inserts I-frames when scene change is detected. - * - Off: does not force an I-frame when scene change is detected. + * H.264 Level. */ - SceneChangeDetect?: H264SceneChangeDetect | string; + Level?: H264Level | string; /** - * This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.) - * enabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately. - * disabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content. + * Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. */ - ForceFieldPictures?: H264ForceFieldPictures | string; + NumRefFrames?: number; /** - * Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 + * If set to enabled, adjust quantization within each frame based on temporal variation of content complexity. */ - MinIInterval?: number; + TemporalAq?: H264TemporalAq | string; /** * Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel). @@ -879,69 +1067,73 @@ export interface H264Settings { QualityLevel?: H264QualityLevel | string; /** - * Framerate denominator. + * This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.) + * enabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately. + * disabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content. */ - FramerateDenominator?: number; + ForceFieldPictures?: H264ForceFieldPictures | string; /** - * This field indicates how the output video frame rate is specified. If "specified" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if "initializeFromSource" is selected then the output video frame rate will be set equal to the input video frame rate of the first input. + * GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. + * If gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1. + * If gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer. */ - FramerateControl?: H264FramerateControl | string; + GopSize?: number; /** - * Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. + * Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter. */ - AdaptiveQuantization?: H264AdaptiveQuantization | string; + AfdSignaling?: AfdSignaling | string; /** - * Optional filters that you can apply to an encode. + * Pixel Aspect Ratio denominator. */ - FilterSettings?: H264FilterSettings; + ParDenominator?: number; /** - * Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. + * Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. */ - NumRefFrames?: number; + EntropyEncoding?: H264EntropyEncoding | string; /** - * Produces a bitstream compliant with SMPTE RP-2027. + * If set to enabled, adjust quantization within each frame based on spatial variation of content complexity. */ - Syntax?: H264Syntax | string; + SpatialAq?: H264SpatialAq | string; /** - * H.264 Level. + * Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. */ - Level?: H264Level | string; + Softness?: number; /** - * This field indicates how the output pixel aspect ratio is specified. If "specified" is selected then the output video pixel aspect ratio is determined by parNumerator and parDenominator, else if "initializeFromSource" is selected then the output pixsel aspect ratio will be set equal to the input video pixel aspect ratio of the first input. + * Color Space settings */ - ParControl?: H264ParControl | string; + ColorSpaceSettings?: H264ColorSpaceSettings; /** - * If set to enabled, adjust quantization within each frame based on temporal variation of content complexity. + * Percentage of the buffer that should initially be filled (HRD buffer model). */ - TemporalAq?: H264TemporalAq | string; + BufFillPct?: number; /** - * Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting. + * Number of B-frames between reference frames. */ - GopClosedCadence?: number; + GopNumBFrames?: number; /** - * Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. + * Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 */ - FramerateNumerator?: number; + MinIInterval?: number; /** - * If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames. + * Optional filters that you can apply to an encode. */ - FlickerAq?: H264FlickerAq | string; + FilterSettings?: H264FilterSettings; /** - * H.264 Profile. + * If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, optimize the number of B-frames used for each sub-GOP to improve visual quality. */ - Profile?: H264Profile | string; + SubgopLength?: H264SubGopLength | string; /** * Rate control mode. @@ -962,11 +1154,22 @@ export interface H264Settings { RateControlMode?: H264RateControlMode | string; /** - * For QVBR: See the tooltip for Quality level + * Pixel Aspect Ratio numerator. + */ + ParNumerator?: number; + + /** + * Sets the scan type of the output to progressive or top-field-first interlaced. + */ + ScanType?: H264ScanType | string; + + /** + * Scene change detection. * - * For VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video. + * - On: inserts I-frames when scene change is detected. + * - Off: does not force an I-frame when scene change is detected. */ - MaxBitrate?: number; + SceneChangeDetect?: H264SceneChangeDetect | string; /** * Includes colorspace metadata in the output. @@ -974,60 +1177,58 @@ export interface H264Settings { ColorMetadata?: H264ColorMetadata | string; /** - * Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. Set values for the QVBR quality level field and Max bitrate field that suit your most important viewing devices. Recommended values are: - * - Primary screen: Quality level: 8 to 10. Max bitrate: 4M - * - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M - * - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M + * Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting. */ - QvbrQualityLevel?: number; + GopClosedCadence?: number; /** - * If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, optimize the number of B-frames used for each sub-GOP to improve visual quality. + * Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000. */ - SubgopLength?: H264SubGopLength | string; + Bitrate?: number; /** - * Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures. - * This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution. + * Determines how timecodes should be inserted into the video elementary stream. + * - 'disabled': Do not include timecodes + * - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config */ - Slices?: number; + TimecodeInsertion?: H264TimecodeInsertionBehavior | string; /** - * Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content. + * Size of buffer (HRD buffer model) in bits. */ - LookAheadRateControl?: H264LookAheadRateControl | string; + BufSize?: number; /** - * Size of buffer (HRD buffer model) in bits. + * For QVBR: See the tooltip for Quality level + * + * For VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video. */ - BufSize?: number; + MaxBitrate?: number; /** - * Determines how timecodes should be inserted into the video elementary stream. - * - 'disabled': Do not include timecodes - * - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config + * Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time. */ - TimecodeInsertion?: H264TimecodeInsertionBehavior | string; + GopSizeUnits?: H264GopSizeUnits | string; /** - * Sets the scan type of the output to progressive or top-field-first interlaced. + * Documentation update needed */ - ScanType?: H264ScanType | string; + GopBReference?: H264GopBReference | string; /** - * Percentage of the buffer that should initially be filled (HRD buffer model). + * Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. */ - BufFillPct?: number; + FixedAfd?: FixedAfd | string; /** - * Pixel Aspect Ratio numerator. + * Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. */ - ParNumerator?: number; + FramerateNumerator?: number; /** - * Number of B-frames between reference frames. + * This field indicates how the output pixel aspect ratio is specified. If "specified" is selected then the output video pixel aspect ratio is determined by parNumerator and parDenominator, else if "initializeFromSource" is selected then the output pixsel aspect ratio will be set equal to the input video pixel aspect ratio of the first input. */ - GopNumBFrames?: number; + ParControl?: H264ParControl | string; } export namespace H264Settings { @@ -1059,19 +1260,19 @@ export enum H265ColorMetadata { * Hdr10 Settings */ export interface Hdr10Settings { - /** - * Maximum Content Light Level - * An integer metadata value defining the maximum light level, in nits, - * of any single pixel within an encoded HDR video stream or file. - */ - MaxCll?: number; - /** * Maximum Frame Average Light Level * An integer metadata value defining the maximum average light level, in nits, * for any single frame within an encoded HDR video stream or file. */ MaxFall?: number; + + /** + * Maximum Content Light Level + * An integer metadata value defining the maximum light level, in nits, + * of any single pixel within an encoded HDR video stream or file. + */ + MaxCll?: number; } export namespace Hdr10Settings { @@ -1085,9 +1286,9 @@ export namespace Hdr10Settings { */ export interface H265ColorSpaceSettings { /** - * Hdr10 Settings + * Rec709 Settings */ - Hdr10Settings?: Hdr10Settings; + Rec709Settings?: Rec709Settings; /** * Rec601 Settings @@ -1095,9 +1296,9 @@ export interface H265ColorSpaceSettings { Rec601Settings?: Rec601Settings; /** - * Rec709 Settings + * Hdr10 Settings */ - Rec709Settings?: Rec709Settings; + Hdr10Settings?: Hdr10Settings; /** * Passthrough applies no color space conversion to the output @@ -1196,54 +1397,82 @@ export enum H265TimecodeInsertionBehavior { */ export interface H265Settings { /** - * Whether or not EML should insert an Alternative Transfer Function SEI message to support backwards compatibility with non-HDR decoders and displays. + * Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. Set values for the QVBR quality level field and Max bitrate field that suit your most important viewing devices. Recommended values are: + * - Primary screen: Quality level: 8 to 10. Max bitrate: 4M + * - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M + * - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M */ - AlternativeTransferFunction?: H265AlternativeTransferFunction | string; + QvbrQualityLevel?: number; /** - * Pixel Aspect Ratio denominator. + * Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content. */ - ParDenominator?: number; + LookAheadRateControl?: H265LookAheadRateControl | string; /** - * Color Space settings + * If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames. */ - ColorSpaceSettings?: H265ColorSpaceSettings; + FlickerAq?: H265FlickerAq | string; /** - * H.265 Tier. + * GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. + * If gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1. + * If gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer. */ - Tier?: H265Tier | string; + GopSize?: number; /** - * For QVBR: See the tooltip for Quality level + * H.265 Level. */ - MaxBitrate?: number; + Level?: H265Level | string; /** - * Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter. + * Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures. + * This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution. */ - AfdSignaling?: AfdSignaling | string; + Slices?: number; /** - * Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. + * Size of buffer (HRD buffer model) in bits. */ - FixedAfd?: FixedAfd | string; + BufSize?: number; /** - * Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time. + * Determines how timecodes should be inserted into the video elementary stream. + * - 'disabled': Do not include timecodes + * - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config */ - GopSizeUnits?: H265GopSizeUnits | string; + TimecodeInsertion?: H265TimecodeInsertionBehavior | string; /** - * Size of buffer (HRD buffer model) in bits. + * Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. */ - BufSize?: number; + FramerateNumerator: number | undefined; /** - * Includes colorspace metadata in the output. + * Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000. */ - ColorMetadata?: H265ColorMetadata | string; + Bitrate?: number; + + /** + * Rate control mode. + * + * QVBR: Quality will match the specified quality level except when it is constrained by the + * maximum bitrate. Recommended if you or your viewers pay for bandwidth. + * + * CBR: Quality varies, depending on the video complexity. Recommended only if you distribute + * your assets to devices that cannot handle variable bitrates. + * + * Multiplex: This rate control mode is only supported (and is required) when the video is being + * delivered to a MediaLive Multiplex in which case the rate control configuration is controlled + * by the properties within the Multiplex Program. + */ + RateControlMode?: H265RateControlMode | string; + + /** + * Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting. + */ + GopClosedCadence?: number; /** * Pixel Aspect Ratio numerator. @@ -1256,55 +1485,64 @@ export interface H265Settings { ScanType?: H265ScanType | string; /** - * Determines how timecodes should be inserted into the video elementary stream. - * - 'disabled': Do not include timecodes - * - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config + * Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. */ - TimecodeInsertion?: H265TimecodeInsertionBehavior | string; + FixedAfd?: FixedAfd | string; /** - * H.265 Level. + * Includes colorspace metadata in the output. */ - Level?: H265Level | string; + ColorMetadata?: H265ColorMetadata | string; /** - * Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures. - * This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution. + * H.265 Tier. */ - Slices?: number; + Tier?: H265Tier | string; /** - * Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. Set values for the QVBR quality level field and Max bitrate field that suit your most important viewing devices. Recommended values are: - * - Primary screen: Quality level: 8 to 10. Max bitrate: 4M - * - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M - * - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M + * Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time. */ - QvbrQualityLevel?: number; + GopSizeUnits?: H265GopSizeUnits | string; /** - * Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content. + * For QVBR: See the tooltip for Quality level */ - LookAheadRateControl?: H265LookAheadRateControl | string; + MaxBitrate?: number; /** - * If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames. + * Whether or not EML should insert an Alternative Transfer Function SEI message to support backwards compatibility with non-HDR decoders and displays. */ - FlickerAq?: H265FlickerAq | string; + AlternativeTransferFunction?: H265AlternativeTransferFunction | string; /** - * Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. + * Optional filters that you can apply to an encode. */ - FramerateNumerator: number | undefined; + FilterSettings?: H265FilterSettings; /** - * H.265 Profile. + * Pixel Aspect Ratio denominator. */ - Profile?: H265Profile | string; + ParDenominator?: number; /** - * Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000. + * Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 */ - Bitrate?: number; + MinIInterval?: number; + + /** + * Scene change detection. + */ + SceneChangeDetect?: H265SceneChangeDetect | string; + + /** + * Color Space settings + */ + ColorSpaceSettings?: H265ColorSpaceSettings; + + /** + * Framerate denominator. + */ + FramerateDenominator: number | undefined; /** * Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. @@ -1312,146 +1550,474 @@ export interface H265Settings { AdaptiveQuantization?: H265AdaptiveQuantization | string; /** - * Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting. + * Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter. + */ + AfdSignaling?: AfdSignaling | string; + + /** + * H.265 Profile. + */ + Profile?: H265Profile | string; +} + +export namespace H265Settings { + export const filterSensitiveLog = (obj: H265Settings): any => ({ + ...obj, + }); +} + +export enum Mpeg2AdaptiveQuantization { + AUTO = "AUTO", + HIGH = "HIGH", + LOW = "LOW", + MEDIUM = "MEDIUM", + OFF = "OFF", +} + +export enum Mpeg2ColorMetadata { + IGNORE = "IGNORE", + INSERT = "INSERT", +} + +export enum Mpeg2ColorSpace { + AUTO = "AUTO", + PASSTHROUGH = "PASSTHROUGH", +} + +export enum Mpeg2DisplayRatio { + DISPLAYRATIO16X9 = "DISPLAYRATIO16X9", + DISPLAYRATIO4X3 = "DISPLAYRATIO4X3", +} + +/** + * Mpeg2 Filter Settings + */ +export interface Mpeg2FilterSettings { + /** + * Temporal Filter Settings + */ + TemporalFilterSettings?: TemporalFilterSettings; +} + +export namespace Mpeg2FilterSettings { + export const filterSensitiveLog = (obj: Mpeg2FilterSettings): any => ({ + ...obj, + }); +} + +export enum Mpeg2GopSizeUnits { + FRAMES = "FRAMES", + SECONDS = "SECONDS", +} + +export enum Mpeg2ScanType { + INTERLACED = "INTERLACED", + PROGRESSIVE = "PROGRESSIVE", +} + +export enum Mpeg2SubGopLength { + DYNAMIC = "DYNAMIC", + FIXED = "FIXED", +} + +export enum Mpeg2TimecodeInsertionBehavior { + DISABLED = "DISABLED", + GOP_TIMECODE = "GOP_TIMECODE", +} + +/** + * Mpeg2 Settings + */ +export interface Mpeg2Settings { + /** + * Determines how MediaLive inserts timecodes in the output video. For detailed information about setting up the input and the output for a timecode, see the section on \"MediaLive Features - Timecode configuration\" in the MediaLive User Guide. + * DISABLED: do not include timecodes. + * GOP_TIMECODE: Include timecode metadata in the GOP header. + */ + TimecodeInsertion?: Mpeg2TimecodeInsertionBehavior | string; + + /** + * Specifies whether to include the color space metadata. The metadata describes the color space that applies to the video (the colorSpace field). We recommend that you insert the metadata. + */ + ColorMetadata?: Mpeg2ColorMetadata | string; + + /** + * MPEG2: default is open GOP. */ GopClosedCadence?: number; /** - * Rate control mode. - * - * QVBR: Quality will match the specified quality level except when it is constrained by the - * maximum bitrate. Recommended if you or your viewers pay for bandwidth. - * - * CBR: Quality varies, depending on the video complexity. Recommended only if you distribute - * your assets to devices that cannot handle variable bitrates. - * - * Multiplex: This rate control mode is only supported (and is required) when the video is being - * delivered to a MediaLive Multiplex in which case the rate control configuration is controlled - * by the properties within the Multiplex Program. + * Set the scan type of the output to PROGRESSIVE or INTERLACED (top field first). */ - RateControlMode?: H265RateControlMode | string; + ScanType?: Mpeg2ScanType | string; /** - * Framerate denominator. + * description": "The framerate denominator. For example, 1001. The framerate is the numerator divided by the denominator. For example, 24000 / 1001 = 23.976 FPS. */ FramerateDenominator: number | undefined; /** - * Optional filters that you can apply to an encode. + * Choose Off to disable adaptive quantization. Or choose another value to enable the quantizer and set its strength. The strengths are: Auto, Off, Low, Medium, High. When you enable this field, MediaLive allows intra-frame quantizers to vary, which might improve visual quality. */ - FilterSettings?: H265FilterSettings; + AdaptiveQuantization?: Mpeg2AdaptiveQuantization | string; /** - * Scene change detection. + * Sets the pixel aspect ratio for the encode. */ - SceneChangeDetect?: H265SceneChangeDetect | string; + DisplayAspectRatio?: Mpeg2DisplayRatio | string; /** - * GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. - * If gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1. - * If gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer. + * The framerate numerator. For example, 24000. The framerate is the numerator divided by the denominator. For example, 24000 / 1001 = 23.976 FPS. + */ + FramerateNumerator: number | undefined; + + /** + * Indicates the AFD values that MediaLive will write into the video encode. If you do not know what AFD signaling is, or if your downstream system has not given you guidance, choose AUTO. + * AUTO: MediaLive will try to preserve the input AFD value (in cases where multiple AFD values are valid). + * FIXED: MediaLive will use the value you specify in fixedAFD. + */ + AfdSignaling?: AfdSignaling | string; + + /** + * Complete this field only when afdSignaling is set to FIXED. Enter the AFD value (4 bits) to write on all frames of the video encode. + */ + FixedAfd?: FixedAfd | string; + + /** + * Choose the type of color space conversion to apply to the output. For detailed information on setting up both the input and the output to obtain the desired color space in the output, see the section on \"MediaLive Features - Video - color space\" in the MediaLive User Guide. + * PASSTHROUGH: Keep the color space of the input content - do not convert it. + * AUTO:Convert all content that is SD to rec 601, and convert all content that is HD to rec 709. + */ + ColorSpace?: Mpeg2ColorSpace | string; + + /** + * Relates to the GOP structure. If you do not know what GOP is, use the default. + * FIXED: Set the number of B-frames in each sub-GOP to the value in gopNumBFrames. + * DYNAMIC: Let MediaLive optimize the number of B-frames in each sub-GOP, to improve visual quality. + */ + SubgopLength?: Mpeg2SubGopLength | string; + + /** + * Relates to the GOP structure. Specifies whether the gopSize is specified in frames or seconds. If you do not plan to change the default gopSize, leave the default. If you specify SECONDS, MediaLive will internally convert the gop size to a frame count. + */ + GopSizeUnits?: Mpeg2GopSizeUnits | string; + + /** + * Optionally specify a noise reduction filter, which can improve quality of compressed content. If you do not choose a filter, no filter will be applied. + * TEMPORAL: This filter is useful for both source content that is noisy (when it has excessive digital artifacts) and source content that is clean. + * When the content is noisy, the filter cleans up the source content before the encoding phase, with these two effects: First, it improves the output video quality because the content has been cleaned up. Secondly, it decreases the bandwidth because MediaLive does not waste bits on encoding noise. + * When the content is reasonably clean, the filter tends to decrease the bitrate. + */ + FilterSettings?: Mpeg2FilterSettings; + + /** + * Relates to the GOP structure. The number of B-frames between reference frames. If you do not know what a B-frame is, use the default. + */ + GopNumBFrames?: number; + + /** + * Relates to the GOP structure. The GOP size (keyframe interval) in the units specified in gopSizeUnits. If you do not know what GOP is, use the default. + * If gopSizeUnits is frames, then the gopSize must be an integer and must be greater than or equal to 1. + * If gopSizeUnits is seconds, the gopSize must be greater than 0, but does not need to be an integer. */ GopSize?: number; +} +export namespace Mpeg2Settings { + export const filterSensitiveLog = (obj: Mpeg2Settings): any => ({ + ...obj, + }); +} + +/** + * Video Codec Settings + */ +export interface VideoCodecSettings { + /** + * Frame Capture Settings + */ + FrameCaptureSettings?: FrameCaptureSettings; + + /** + * H265 Settings + */ + H265Settings?: H265Settings; + + /** + * Mpeg2 Settings + */ + Mpeg2Settings?: Mpeg2Settings; + + /** + * H264 Settings + */ + H264Settings?: H264Settings; +} + +export namespace VideoCodecSettings { + export const filterSensitiveLog = (obj: VideoCodecSettings): any => ({ + ...obj, + }); +} + +export enum VideoDescriptionRespondToAfd { + NONE = "NONE", + PASSTHROUGH = "PASSTHROUGH", + RESPOND = "RESPOND", +} + +export enum VideoDescriptionScalingBehavior { + DEFAULT = "DEFAULT", + STRETCH_TO_OUTPUT = "STRETCH_TO_OUTPUT", +} + +/** + * Video settings for this stream. + */ +export interface VideoDescription { + /** + * The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event. + */ + Name: string | undefined; + + /** + * Changes the strength of the anti-alias filter used for scaling. 0 is the softest setting, 100 is the sharpest. A setting of 50 is recommended for most content. + */ + Sharpness?: number; + + /** + * Indicates how MediaLive will respond to the AFD values that might be in the input video. If you do not know what AFD signaling is, or if your downstream system has not given you guidance, choose PASSTHROUGH. + * RESPOND: MediaLive clips the input video using a formula that uses the AFD values (configured in afdSignaling ), the input display aspect ratio, and the output display aspect ratio. MediaLive also includes the AFD values in the output, unless the codec for this encode is FRAME_CAPTURE. + * PASSTHROUGH: MediaLive ignores the AFD values and does not clip the video. But MediaLive does include the values in the output. + * NONE: MediaLive does not clip the input video and does not include the AFD values in the output + */ + RespondToAfd?: VideoDescriptionRespondToAfd | string; + + /** + * Video codec settings. + */ + CodecSettings?: VideoCodecSettings; + + /** + * STRETCH_TO_OUTPUT configures the output position to stretch the video to the specified output resolution (height and width). This option will override any position value. DEFAULT may insert black boxes (pillar boxes or letter boxes) around the video to provide the specified output resolution. + */ + ScalingBehavior?: VideoDescriptionScalingBehavior | string; + + /** + * Output video height, in pixels. Must be an even number. For most codecs, you can leave this field and width blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required. + */ + Height?: number; + + /** + * Output video width, in pixels. Must be an even number. For most codecs, you can leave this field and height blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required. + */ + Width?: number; +} + +export namespace VideoDescription { + export const filterSensitiveLog = (obj: VideoDescription): any => ({ + ...obj, + }); +} + +export enum AcceptHeader { + image_jpeg = "image/jpeg", +} + +/** + * Placeholder documentation for AcceptInputDeviceTransferRequest + */ +export interface AcceptInputDeviceTransferRequest { + /** + * The unique ID of the input device to accept. For example, hd-123456789abcdef. + */ + InputDeviceId: string | undefined; +} + +export namespace AcceptInputDeviceTransferRequest { + export const filterSensitiveLog = (obj: AcceptInputDeviceTransferRequest): any => ({ + ...obj, + }); +} + +/** + * Placeholder documentation for AcceptInputDeviceTransferResponse + */ +export interface AcceptInputDeviceTransferResponse {} + +export namespace AcceptInputDeviceTransferResponse { + export const filterSensitiveLog = (obj: AcceptInputDeviceTransferResponse): any => ({ + ...obj, + }); +} + +/** + * Placeholder documentation for BadGatewayException + */ +export interface BadGatewayException extends __SmithyException, $MetadataBearer { + name: "BadGatewayException"; + $fault: "server"; /** - * Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 + * Placeholder documentation for __string */ - MinIInterval?: number; + Message?: string; } -export namespace H265Settings { - export const filterSensitiveLog = (obj: H265Settings): any => ({ +export namespace BadGatewayException { + export const filterSensitiveLog = (obj: BadGatewayException): any => ({ ...obj, }); } /** - * Video Codec Settings + * Placeholder documentation for BadRequestException */ -export interface VideoCodecSettings { +export interface BadRequestException extends __SmithyException, $MetadataBearer { + name: "BadRequestException"; + $fault: "client"; /** - * Frame Capture Settings + * Placeholder documentation for __string */ - FrameCaptureSettings?: FrameCaptureSettings; + Message?: string; +} - /** - * H265 Settings - */ - H265Settings?: H265Settings; +export namespace BadRequestException { + export const filterSensitiveLog = (obj: BadRequestException): any => ({ + ...obj, + }); +} +/** + * Placeholder documentation for ConflictException + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; /** - * H264 Settings + * Placeholder documentation for __string */ - H264Settings?: H264Settings; + Message?: string; } -export namespace VideoCodecSettings { - export const filterSensitiveLog = (obj: VideoCodecSettings): any => ({ +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ ...obj, }); } -export enum VideoDescriptionRespondToAfd { - NONE = "NONE", - PASSTHROUGH = "PASSTHROUGH", - RESPOND = "RESPOND", +/** + * Placeholder documentation for ForbiddenException + */ +export interface ForbiddenException extends __SmithyException, $MetadataBearer { + name: "ForbiddenException"; + $fault: "client"; + /** + * Placeholder documentation for __string + */ + Message?: string; } -export enum VideoDescriptionScalingBehavior { - DEFAULT = "DEFAULT", - STRETCH_TO_OUTPUT = "STRETCH_TO_OUTPUT", +export namespace ForbiddenException { + export const filterSensitiveLog = (obj: ForbiddenException): any => ({ + ...obj, + }); } /** - * Video settings for this stream. + * Placeholder documentation for GatewayTimeoutException */ -export interface VideoDescription { +export interface GatewayTimeoutException extends __SmithyException, $MetadataBearer { + name: "GatewayTimeoutException"; + $fault: "server"; /** - * Output video height, in pixels. Must be an even number. For most codecs, you can leave this field and width blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required. + * Placeholder documentation for __string */ - Height?: number; + Message?: string; +} - /** - * Output video width, in pixels. Must be an even number. For most codecs, you can leave this field and height blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required. - */ - Width?: number; +export namespace GatewayTimeoutException { + export const filterSensitiveLog = (obj: GatewayTimeoutException): any => ({ + ...obj, + }); +} +/** + * Placeholder documentation for InternalServerErrorException + */ +export interface InternalServerErrorException extends __SmithyException, $MetadataBearer { + name: "InternalServerErrorException"; + $fault: "server"; /** - * Indicates how to respond to the AFD values in the input stream. RESPOND causes input video to be clipped, depending on the AFD value, input display aspect ratio, and output display aspect ratio, and (except for FRAME_CAPTURE codec) includes the values in the output. PASSTHROUGH (does not apply to FRAME_CAPTURE codec) ignores the AFD values and includes the values in the output, so input video is not clipped. NONE ignores the AFD values and does not include the values through to the output, so input video is not clipped. + * Placeholder documentation for __string */ - RespondToAfd?: VideoDescriptionRespondToAfd | string; + Message?: string; +} + +export namespace InternalServerErrorException { + export const filterSensitiveLog = (obj: InternalServerErrorException): any => ({ + ...obj, + }); +} +/** + * Placeholder documentation for NotFoundException + */ +export interface NotFoundException extends __SmithyException, $MetadataBearer { + name: "NotFoundException"; + $fault: "client"; /** - * STRETCH_TO_OUTPUT configures the output position to stretch the video to the specified output resolution (height and width). This option will override any position value. DEFAULT may insert black boxes (pillar boxes or letter boxes) around the video to provide the specified output resolution. + * Placeholder documentation for __string */ - ScalingBehavior?: VideoDescriptionScalingBehavior | string; + Message?: string; +} + +export namespace NotFoundException { + export const filterSensitiveLog = (obj: NotFoundException): any => ({ + ...obj, + }); +} +/** + * Placeholder documentation for TooManyRequestsException + */ +export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { + name: "TooManyRequestsException"; + $fault: "client"; /** - * The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event. + * Placeholder documentation for __string */ - Name: string | undefined; + Message?: string; +} + +export namespace TooManyRequestsException { + export const filterSensitiveLog = (obj: TooManyRequestsException): any => ({ + ...obj, + }); +} +/** + * Placeholder documentation for UnprocessableEntityException + */ +export interface UnprocessableEntityException extends __SmithyException, $MetadataBearer { + name: "UnprocessableEntityException"; + $fault: "client"; /** - * Changes the strength of the anti-alias filter used for scaling. 0 is the softest setting, 100 is the sharpest. A setting of 50 is recommended for most content. + * A collection of validation error responses. */ - Sharpness?: number; + ValidationErrors?: ValidationError[]; /** - * Video codec settings. + * The error message. */ - CodecSettings?: VideoCodecSettings; + Message?: string; } -export namespace VideoDescription { - export const filterSensitiveLog = (obj: VideoDescription): any => ({ +export namespace UnprocessableEntityException { + export const filterSensitiveLog = (obj: UnprocessableEntityException): any => ({ ...obj, }); } -export enum AcceptHeader { - image_jpeg = "image/jpeg", -} - export enum AvailBlankingState { DISABLED = "DISABLED", ENABLED = "ENABLED", @@ -1493,14 +2059,14 @@ export enum Scte35SpliceInsertWebDeliveryAllowedBehavior { */ export interface Scte35SpliceInsert { /** - * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates + * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages. */ - NoRegionalBlackoutFlag?: Scte35SpliceInsertNoRegionalBlackoutBehavior | string; + AdAvailOffset?: number; /** - * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages. + * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates */ - AdAvailOffset?: number; + NoRegionalBlackoutFlag?: Scte35SpliceInsertNoRegionalBlackoutBehavior | string; /** * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates @@ -1555,14 +2121,14 @@ export namespace Scte35TimeSignalApos { */ export interface AvailSettings { /** - * Scte35 Time Signal Apos + * Scte35 Splice Insert */ - Scte35TimeSignalApos?: Scte35TimeSignalApos; + Scte35SpliceInsert?: Scte35SpliceInsert; /** - * Scte35 Splice Insert + * Scte35 Time Signal Apos */ - Scte35SpliceInsert?: Scte35SpliceInsert; + Scte35TimeSignalApos?: Scte35TimeSignalApos; } export namespace AvailSettings { @@ -1588,37 +2154,53 @@ export namespace AvailConfiguration { } /** - * Placeholder documentation for BadGatewayException + * A request to delete resources */ -export interface BadGatewayException extends __SmithyException, $MetadataBearer { - name: "BadGatewayException"; - $fault: "server"; +export interface BatchDeleteRequest { /** - * Placeholder documentation for __string + * List of multiplex IDs */ - Message?: string; + MultiplexIds?: string[]; + + /** + * List of input IDs + */ + InputIds?: string[]; + + /** + * List of channel IDs + */ + ChannelIds?: string[]; + + /** + * List of input security group IDs + */ + InputSecurityGroupIds?: string[]; } -export namespace BadGatewayException { - export const filterSensitiveLog = (obj: BadGatewayException): any => ({ +export namespace BatchDeleteRequest { + export const filterSensitiveLog = (obj: BatchDeleteRequest): any => ({ ...obj, }); } /** - * Placeholder documentation for BadRequestException + * Placeholder documentation for BatchDeleteResponse */ -export interface BadRequestException extends __SmithyException, $MetadataBearer { - name: "BadRequestException"; - $fault: "client"; +export interface BatchDeleteResponse { /** - * Placeholder documentation for __string + * List of successful operations */ - Message?: string; + Successful?: BatchSuccessfulResultModel[]; + + /** + * List of failed operations + */ + Failed?: BatchFailedResultModel[]; } -export namespace BadRequestException { - export const filterSensitiveLog = (obj: BadRequestException): any => ({ +export namespace BatchDeleteResponse { + export const filterSensitiveLog = (obj: BatchDeleteResponse): any => ({ ...obj, }); } @@ -1687,162 +2269,133 @@ export namespace BatchScheduleActionDeleteResult { }); } -/** - * List of actions to create and list of actions to delete. - */ -export interface BatchUpdateScheduleRequest { - /** - * Id of the channel whose schedule is being updated. - */ - ChannelId: string | undefined; - - /** - * Schedule actions to delete from the schedule. - */ - Deletes?: BatchScheduleActionDeleteRequest; - - /** - * Schedule actions to create in the schedule. - */ - Creates?: BatchScheduleActionCreateRequest; -} - -export namespace BatchUpdateScheduleRequest { - export const filterSensitiveLog = (obj: BatchUpdateScheduleRequest): any => ({ - ...obj, - }); -} - -/** - * Placeholder documentation for BatchUpdateScheduleResponse - */ -export interface BatchUpdateScheduleResponse { - /** - * Schedule actions deleted from the schedule. - */ - Deletes?: BatchScheduleActionDeleteResult; - - /** - * Schedule actions created in the schedule. - */ - Creates?: BatchScheduleActionCreateResult; -} - -export namespace BatchUpdateScheduleResponse { - export const filterSensitiveLog = (obj: BatchUpdateScheduleResponse): any => ({ - ...obj, - }); -} - -/** - * Placeholder documentation for ForbiddenException - */ -export interface ForbiddenException extends __SmithyException, $MetadataBearer { - name: "ForbiddenException"; - $fault: "client"; +/** + * A request to start resources + */ +export interface BatchStartRequest { /** - * Placeholder documentation for __string + * List of channel IDs */ - Message?: string; + ChannelIds?: string[]; + + /** + * List of multiplex IDs + */ + MultiplexIds?: string[]; } -export namespace ForbiddenException { - export const filterSensitiveLog = (obj: ForbiddenException): any => ({ +export namespace BatchStartRequest { + export const filterSensitiveLog = (obj: BatchStartRequest): any => ({ ...obj, }); } /** - * Placeholder documentation for GatewayTimeoutException + * Placeholder documentation for BatchStartResponse */ -export interface GatewayTimeoutException extends __SmithyException, $MetadataBearer { - name: "GatewayTimeoutException"; - $fault: "server"; +export interface BatchStartResponse { /** - * Placeholder documentation for __string + * List of successful operations */ - Message?: string; + Successful?: BatchSuccessfulResultModel[]; + + /** + * List of failed operations + */ + Failed?: BatchFailedResultModel[]; } -export namespace GatewayTimeoutException { - export const filterSensitiveLog = (obj: GatewayTimeoutException): any => ({ +export namespace BatchStartResponse { + export const filterSensitiveLog = (obj: BatchStartResponse): any => ({ ...obj, }); } /** - * Placeholder documentation for InternalServerErrorException + * A request to stop resources */ -export interface InternalServerErrorException extends __SmithyException, $MetadataBearer { - name: "InternalServerErrorException"; - $fault: "server"; +export interface BatchStopRequest { /** - * Placeholder documentation for __string + * List of multiplex IDs */ - Message?: string; + MultiplexIds?: string[]; + + /** + * List of channel IDs + */ + ChannelIds?: string[]; } -export namespace InternalServerErrorException { - export const filterSensitiveLog = (obj: InternalServerErrorException): any => ({ +export namespace BatchStopRequest { + export const filterSensitiveLog = (obj: BatchStopRequest): any => ({ ...obj, }); } /** - * Placeholder documentation for NotFoundException + * Placeholder documentation for BatchStopResponse */ -export interface NotFoundException extends __SmithyException, $MetadataBearer { - name: "NotFoundException"; - $fault: "client"; +export interface BatchStopResponse { /** - * Placeholder documentation for __string + * List of successful operations */ - Message?: string; + Successful?: BatchSuccessfulResultModel[]; + + /** + * List of failed operations + */ + Failed?: BatchFailedResultModel[]; } -export namespace NotFoundException { - export const filterSensitiveLog = (obj: NotFoundException): any => ({ +export namespace BatchStopResponse { + export const filterSensitiveLog = (obj: BatchStopResponse): any => ({ ...obj, }); } /** - * Placeholder documentation for TooManyRequestsException + * List of actions to create and list of actions to delete. */ -export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { - name: "TooManyRequestsException"; - $fault: "client"; +export interface BatchUpdateScheduleRequest { /** - * Placeholder documentation for __string + * Schedule actions to delete from the schedule. */ - Message?: string; + Deletes?: BatchScheduleActionDeleteRequest; + + /** + * Id of the channel whose schedule is being updated. + */ + ChannelId: string | undefined; + + /** + * Schedule actions to create in the schedule. + */ + Creates?: BatchScheduleActionCreateRequest; } -export namespace TooManyRequestsException { - export const filterSensitiveLog = (obj: TooManyRequestsException): any => ({ +export namespace BatchUpdateScheduleRequest { + export const filterSensitiveLog = (obj: BatchUpdateScheduleRequest): any => ({ ...obj, }); } /** - * Placeholder documentation for UnprocessableEntityException + * Placeholder documentation for BatchUpdateScheduleResponse */ -export interface UnprocessableEntityException extends __SmithyException, $MetadataBearer { - name: "UnprocessableEntityException"; - $fault: "client"; +export interface BatchUpdateScheduleResponse { /** - * The error message. + * Schedule actions deleted from the schedule. */ - Message?: string; + Deletes?: BatchScheduleActionDeleteResult; /** - * A collection of validation error responses. + * Schedule actions created in the schedule. */ - ValidationErrors?: ValidationError[]; + Creates?: BatchScheduleActionCreateResult; } -export namespace UnprocessableEntityException { - export const filterSensitiveLog = (obj: UnprocessableEntityException): any => ({ +export namespace BatchUpdateScheduleResponse { + export const filterSensitiveLog = (obj: BatchUpdateScheduleResponse): any => ({ ...obj, }); } @@ -1861,6 +2414,11 @@ export enum BlackoutSlateState { * Blackout Slate */ export interface BlackoutSlate { + /** + * Setting to enabled causes the encoder to blackout the video, audio, and captions, and raise the "Network Blackout Image" slate when an SCTE104/35 Network End Segmentation Descriptor is encountered. The blackout will be lifted when the Network Start Segmentation Descriptor is encountered. The Network End and Network Start descriptors must contain a network ID that matches the value entered in "Network ID". + */ + NetworkEndBlackout?: BlackoutSlateNetworkEndBlackout | string; + /** * When set to enabled, causes video, audio and captions to be blanked when indicated by program metadata. */ @@ -1871,11 +2429,6 @@ export interface BlackoutSlate { */ NetworkEndBlackoutImage?: InputLocation; - /** - * Setting to enabled causes the encoder to blackout the video, audio, and captions, and raise the "Network Blackout Image" slate when an SCTE104/35 Network End Segmentation Descriptor is encountered. The blackout will be lifted when the Network Start Segmentation Descriptor is encountered. The Network End and Network Start descriptors must contain a network ID that matches the value entered in "Network ID". - */ - NetworkEndBlackout?: BlackoutSlateNetworkEndBlackout | string; - /** * Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). */ @@ -1893,6 +2446,33 @@ export namespace BlackoutSlate { }); } +/** + * Placeholder documentation for CancelInputDeviceTransferRequest + */ +export interface CancelInputDeviceTransferRequest { + /** + * The unique ID of the input device to cancel. For example, hd-123456789abcdef. + */ + InputDeviceId: string | undefined; +} + +export namespace CancelInputDeviceTransferRequest { + export const filterSensitiveLog = (obj: CancelInputDeviceTransferRequest): any => ({ + ...obj, + }); +} + +/** + * Placeholder documentation for CancelInputDeviceTransferResponse + */ +export interface CancelInputDeviceTransferResponse {} + +export namespace CancelInputDeviceTransferResponse { + export const filterSensitiveLog = (obj: CancelInputDeviceTransferResponse): any => ({ + ...obj, + }); +} + export enum FeatureActivationsInputPrepareScheduleActions { DISABLED = "DISABLED", ENABLED = "ENABLED", @@ -1930,19 +2510,19 @@ export enum InputLossImageType { */ export interface InputLossBehavior { /** - * Documentation update needed + * When input loss image type is "slate" these fields specify the parameters for accessing the slate. */ - RepeatFrameMsec?: number; + InputLossImageSlate?: InputLocation; /** - * Documentation update needed + * Indicates whether to substitute a solid color or a slate into the output after input loss exceeds blackFrameMsec. */ - BlackFrameMsec?: number; + InputLossImageType?: InputLossImageType | string; /** - * Indicates whether to substitute a solid color or a slate into the output after input loss exceeds blackFrameMsec. + * Documentation update needed */ - InputLossImageType?: InputLossImageType | string; + BlackFrameMsec?: number; /** * When input loss image type is "color" this field specifies the color to use. Value: 6 hex characters representing the values of RGB. @@ -1950,9 +2530,9 @@ export interface InputLossBehavior { InputLossImageColor?: string; /** - * When input loss image type is "slate" these fields specify the parameters for accessing the slate. + * Documentation update needed */ - InputLossImageSlate?: InputLocation; + RepeatFrameMsec?: number; } export namespace InputLossBehavior { @@ -1981,9 +2561,9 @@ export enum GlobalConfigurationLowFramerateInputs { */ export interface GlobalConfiguration { /** - * Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which optionally may be locked to another source via NTP) or should be locked to the clock of the source that is providing the input stream. + * Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs is configured the encoder will restart at the beginning of the first input. When "none" is configured the encoder will transcode either black, a solid color, or a user specified slate images per the "Input Loss Behavior" configuration until the next input switch occurs (which is controlled through the Channel Schedule API). */ - OutputTimingSource?: GlobalConfigurationOutputTimingSource | string; + InputEndAction?: GlobalConfigurationInputEndAction | string; /** * Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music channels with less than one video frame per second. @@ -1995,6 +2575,11 @@ export interface GlobalConfiguration { */ InitialAudioGain?: number; + /** + * Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which optionally may be locked to another source via NTP) or should be locked to the clock of the source that is providing the input stream. + */ + OutputTimingSource?: GlobalConfigurationOutputTimingSource | string; + /** * Indicates how MediaLive pipelines are synchronized. * @@ -2007,11 +2592,6 @@ export interface GlobalConfiguration { * Settings for system actions when input is lost. */ InputLossBehavior?: InputLossBehavior; - - /** - * Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs is configured the encoder will restart at the beginning of the first input. When "none" is configured the encoder will transcode either black, a solid color, or a user specified slate images per the "Input Loss Behavior" configuration until the next input switch occurs (which is controlled through the Channel Schedule API). - */ - InputEndAction?: GlobalConfigurationInputEndAction | string; } export namespace GlobalConfiguration { @@ -2081,9 +2661,9 @@ export namespace TimecodeConfig { */ export interface EncoderSettings { /** - * Placeholder documentation for __listOfAudioDescription + * Settings for ad avail blanking. */ - AudioDescriptions: AudioDescription[] | undefined; + AvailBlanking?: AvailBlanking; /** * Nielsen configuration settings. @@ -2091,49 +2671,49 @@ export interface EncoderSettings { NielsenConfiguration?: NielsenConfiguration; /** - * Configuration settings that apply to the event as a whole. + * Event-wide configuration settings for ad avail insertion. */ - GlobalConfiguration?: GlobalConfiguration; + AvailConfiguration?: AvailConfiguration; /** - * Placeholder documentation for __listOfVideoDescription + * Placeholder documentation for __listOfAudioDescription */ - VideoDescriptions: VideoDescription[] | undefined; + AudioDescriptions: AudioDescription[] | undefined; /** - * Event-wide configuration settings for ad avail insertion. + * Feature Activations */ - AvailConfiguration?: AvailConfiguration; + FeatureActivations?: FeatureActivations; /** - * Placeholder documentation for __listOfOutputGroup + * Placeholder documentation for __listOfVideoDescription */ - OutputGroups: OutputGroup[] | undefined; + VideoDescriptions: VideoDescription[] | undefined; /** - * Settings for caption decriptions + * Configuration settings that apply to the event as a whole. */ - CaptionDescriptions?: CaptionDescription[]; + GlobalConfiguration?: GlobalConfiguration; /** - * Feature Activations + * Settings for blackout slate. */ - FeatureActivations?: FeatureActivations; + BlackoutSlate?: BlackoutSlate; /** - * Contains settings used to acquire and adjust timecode information from inputs. + * Placeholder documentation for __listOfOutputGroup */ - TimecodeConfig: TimecodeConfig | undefined; + OutputGroups: OutputGroup[] | undefined; /** - * Settings for ad avail blanking. + * Contains settings used to acquire and adjust timecode information from inputs. */ - AvailBlanking?: AvailBlanking; + TimecodeConfig: TimecodeConfig | undefined; /** - * Settings for blackout slate. + * Settings for caption decriptions */ - BlackoutSlate?: BlackoutSlate; + CaptionDescriptions?: CaptionDescription[]; } export namespace EncoderSettings { @@ -2147,29 +2727,36 @@ export namespace EncoderSettings { */ export interface Channel { /** - * Placeholder documentation for InputSpecification + * The unique id of the channel. */ - InputSpecification?: InputSpecification; + Id?: string; /** - * The Amazon Resource Name (ARN) of the role assumed when running the Channel. + * The unique arn of the channel. */ - RoleArn?: string; + Arn?: string; /** - * The unique id of the channel. + * A list of destinations of the channel. For UDP outputs, there is one + * destination per output. For other types (HLS, for example), there is + * one destination per packager. */ - Id?: string; + Destinations?: OutputDestination[]; /** - * List of input attachments for channel. + * The Amazon Resource Name (ARN) of the role assumed when running the Channel. */ - InputAttachments?: InputAttachment[]; + RoleArn?: string; /** - * The unique arn of the channel. + * Specification of network and file inputs for this channel */ - Arn?: string; + InputSpecification?: InputSpecification; + + /** + * Runtime details for the pipelines of a running channel. + */ + PipelineDetails?: PipelineDetail[]; /** * The number of currently healthy pipelines. @@ -2177,20 +2764,25 @@ export interface Channel { PipelinesRunningCount?: number; /** - * Runtime details for the pipelines of a running channel. + * Specification of CDI inputs for this channel */ - PipelineDetails?: PipelineDetail[]; + CdiInputSpecification?: CdiInputSpecification; /** - * Encoder Settings + * Placeholder documentation for ChannelState */ - EncoderSettings?: EncoderSettings; + State?: ChannelState | string; /** * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. */ ChannelClass?: ChannelClass | string; + /** + * The log level being written to CloudWatch Logs. + */ + LogLevel?: LogLevel | string; + /** * The endpoints where outgoing connections initiate from */ @@ -2201,27 +2793,20 @@ export interface Channel { */ Tags?: { [key: string]: string }; - /** - * The log level being written to CloudWatch Logs. - */ - LogLevel?: LogLevel | string; - /** * The name of the channel. (user-mutable) */ Name?: string; /** - * A list of destinations of the channel. For UDP outputs, there is one - * destination per output. For other types (HLS, for example), there is - * one destination per packager. + * List of input attachments for channel. */ - Destinations?: OutputDestination[]; + InputAttachments?: InputAttachment[]; /** - * Placeholder documentation for ChannelState + * Encoder Settings */ - State?: ChannelState | string; + EncoderSettings?: EncoderSettings; } export namespace Channel { @@ -2230,24 +2815,6 @@ export namespace Channel { }); } -/** - * Placeholder documentation for ConflictException - */ -export interface ConflictException extends __SmithyException, $MetadataBearer { - name: "ConflictException"; - $fault: "client"; - /** - * Placeholder documentation for __string - */ - Message?: string; -} - -export namespace ConflictException { - export const filterSensitiveLog = (obj: ConflictException): any => ({ - ...obj, - }); -} - export enum ContentType { image_jpeg = "image/jpeg", } @@ -2257,24 +2824,24 @@ export enum ContentType { */ export interface CreateChannelRequest { /** - * Name of channel. + * A collection of key-value pairs. */ - Name?: string; + Tags?: { [key: string]: string }; /** - * Encoder Settings + * Specification of network and file inputs for this channel */ - EncoderSettings?: EncoderSettings; + InputSpecification?: InputSpecification; /** - * The log level to write to CloudWatch Logs. + * Name of channel. */ - LogLevel?: LogLevel | string; + Name?: string; /** - * List of input attachments for channel. + * Specification of CDI inputs for this channel */ - InputAttachments?: InputAttachment[]; + CdiInputSpecification?: CdiInputSpecification; /** * An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. @@ -2287,10 +2854,9 @@ export interface CreateChannelRequest { ChannelClass?: ChannelClass | string; /** - * Unique request ID to be specified. This is needed to prevent retries from - * creating multiple resources. + * List of input attachments for channel. */ - RequestId?: string; + InputAttachments?: InputAttachment[]; /** * Deprecated field that's only usable by whitelisted customers. @@ -2298,19 +2864,25 @@ export interface CreateChannelRequest { Reserved?: string; /** - * A collection of key-value pairs. + * The log level to write to CloudWatch Logs. */ - Tags?: { [key: string]: string }; + LogLevel?: LogLevel | string; /** - * Specification of input for this channel (max. bitrate, resolution, codec, etc.) + * Unique request ID to be specified. This is needed to prevent retries from + * creating multiple resources. */ - InputSpecification?: InputSpecification; + RequestId?: string; /** * Placeholder documentation for __listOfOutputDestination */ Destinations?: OutputDestination[]; + + /** + * Encoder Settings + */ + EncoderSettings?: EncoderSettings; } export namespace CreateChannelRequest { @@ -2365,30 +2937,42 @@ export namespace InputVpcRequest { * The name of the input */ export interface CreateInputRequest { + /** + * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. + */ + RoleArn?: string; + /** * A collection of key-value pairs. */ Tags?: { [key: string]: string }; /** - * Placeholder documentation for InputType + * A list of security groups referenced by IDs to attach to the input. */ - Type?: InputType | string; + InputSecurityGroups?: string[]; /** - * Settings for the devices. + * Destination settings for PUSH type inputs. */ - InputDevices?: InputDeviceSettings[]; + Destinations?: InputDestinationRequest[]; /** - * A list of security groups referenced by IDs to attach to the input. + * A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one + * Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a + * separate Availability Zone as this ensures your EML input is redundant to AZ issues. */ - InputSecurityGroups?: string[]; + MediaConnectFlows?: MediaConnectFlowRequest[]; /** - * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. + * Settings for the devices. */ - RoleArn?: string; + InputDevices?: InputDeviceSettings[]; + + /** + * Placeholder documentation for InputType + */ + Type?: InputType | string; /** * Name of the input. @@ -2403,11 +2987,10 @@ export interface CreateInputRequest { Sources?: InputSourceRequest[]; /** - * A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one - * Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a - * separate Availability Zone as this ensures your EML input is redundant to AZ issues. + * Unique identifier of the request to ensure the request is handled + * exactly once in case of retries. */ - MediaConnectFlows?: MediaConnectFlowRequest[]; + RequestId?: string; /** * Settings for a private VPC Input. @@ -2416,17 +2999,6 @@ export interface CreateInputRequest { * Not compatible with the inputSecurityGroups property. */ Vpc?: InputVpcRequest; - - /** - * Destination settings for PUSH type inputs. - */ - Destinations?: InputDestinationRequest[]; - - /** - * Unique identifier of the request to ensure the request is handled - * exactly once in case of retries. - */ - RequestId?: string; } export namespace CreateInputRequest { @@ -2493,14 +3065,14 @@ export namespace CreateInputSecurityGroupResponse { */ export interface MultiplexSettings { /** - * Transport stream reserved bit rate. + * Transport stream ID. */ - TransportStreamReservedBitrate?: number; + TransportStreamId: number | undefined; /** - * Transport stream ID. + * Transport stream reserved bit rate. */ - TransportStreamId: number | undefined; + TransportStreamReservedBitrate?: number; /** * Transport stream bit rate. @@ -2523,6 +3095,11 @@ export namespace MultiplexSettings { * A request to create a multiplex. */ export interface CreateMultiplexRequest { + /** + * A collection of key-value pairs. + */ + Tags?: { [key: string]: string }; + /** * A list of availability zones for the multiplex. You must specify exactly two. */ @@ -2539,11 +3116,6 @@ export interface CreateMultiplexRequest { */ RequestId?: string; - /** - * A collection of key-value pairs. - */ - Tags?: { [key: string]: string }; - /** * Name of multiplex. */ @@ -2561,14 +3133,9 @@ export namespace CreateMultiplexRequest { */ export interface Multiplex { /** - * The number of currently healthy pipelines. - */ - PipelinesRunningCount?: number; - - /** - * The number of programs in the multiplex. + * A collection of key-value pairs. */ - ProgramCount?: number; + Tags?: { [key: string]: string }; /** * The name of the multiplex. @@ -2576,39 +3143,44 @@ export interface Multiplex { Name?: string; /** - * The current state of the multiplex. + * The number of currently healthy pipelines. */ - State?: MultiplexState | string; + PipelinesRunningCount?: number; /** - * The unique id of the multiplex. + * The unique arn of the multiplex. */ - Id?: string; + Arn?: string; /** - * Configuration for a multiplex event. + * The number of programs in the multiplex. */ - MultiplexSettings?: MultiplexSettings; + ProgramCount?: number; /** - * The unique arn of the multiplex. + * The unique id of the multiplex. */ - Arn?: string; + Id?: string; /** - * A list of availability zones for the multiplex. + * The current state of the multiplex. */ - AvailabilityZones?: string[]; + State?: MultiplexState | string; /** - * A collection of key-value pairs. + * Configuration for a multiplex event. */ - Tags?: { [key: string]: string }; + MultiplexSettings?: MultiplexSettings; /** * A list of the multiplex output destinations. */ Destinations?: MultiplexOutputDestination[]; + + /** + * A list of availability zones for the multiplex. + */ + AvailabilityZones?: string[]; } export namespace Multiplex { @@ -2664,6 +3236,11 @@ export namespace MultiplexProgramServiceDescriptor { * Statmux rate control settings */ export interface MultiplexStatmuxVideoSettings { + /** + * The purpose of the priority is to use a combination of the\nmultiplex rate control algorithm and the QVBR capability of the\nencoder to prioritize the video quality of some channels in a\nmultiplex over others. Channels that have a higher priority will\nget higher video quality at the expense of the video quality of\nother channels in the multiplex with lower priority. + */ + Priority?: number; + /** * Maximum statmux bitrate. */ @@ -2709,9 +3286,9 @@ export namespace MultiplexVideoSettings { */ export interface MultiplexProgramSettings { /** - * Indicates which pipeline is preferred by the multiplex for program ingest. + * Program video settings configuration. */ - PreferredChannelPipeline?: PreferredChannelPipeline | string; + VideoSettings?: MultiplexVideoSettings; /** * Transport stream service descriptor configuration for the Multiplex program. @@ -2719,9 +3296,9 @@ export interface MultiplexProgramSettings { ServiceDescriptor?: MultiplexProgramServiceDescriptor; /** - * Program video settings configuration. + * Indicates which pipeline is preferred by the multiplex for program ingest. */ - VideoSettings?: MultiplexVideoSettings; + PreferredChannelPipeline?: PreferredChannelPipeline | string; /** * Unique program number. @@ -2739,11 +3316,6 @@ export namespace MultiplexProgramSettings { * A request to create a program in a multiplex. */ export interface CreateMultiplexProgramRequest { - /** - * ID of the multiplex where the program is to be created. - */ - MultiplexId: string | undefined; - /** * The settings for this multiplex program. */ @@ -2759,6 +3331,11 @@ export interface CreateMultiplexProgramRequest { * resources. */ RequestId?: string; + + /** + * ID of the multiplex where the program is to be created. + */ + MultiplexId: string | undefined; } export namespace CreateMultiplexProgramRequest { @@ -2774,12 +3351,12 @@ export interface MultiplexProgramPacketIdentifiersMap { /** * Placeholder documentation for __integer */ - EtvPlatformPid?: number; + PcrPid?: number; /** * Placeholder documentation for __integer */ - TimedMetadataPid?: number; + EtvPlatformPid?: number; /** * Placeholder documentation for __listOf__integer @@ -2792,49 +3369,49 @@ export interface MultiplexProgramPacketIdentifiersMap { Scte27Pids?: number[]; /** - * Placeholder documentation for __integer + * Placeholder documentation for __listOf__integer */ - PcrPid?: number; + KlvDataPids?: number[]; /** * Placeholder documentation for __integer */ - EtvSignalPid?: number; + VideoPid?: number; /** - * Placeholder documentation for __listOf__integer + * Placeholder documentation for __integer */ - AudioPids?: number[]; + DvbTeletextPid?: number; /** * Placeholder documentation for __integer */ - Scte35Pid?: number; + PmtPid?: number; /** * Placeholder documentation for __integer */ - PrivateMetadataPid?: number; + Scte35Pid?: number; /** * Placeholder documentation for __integer */ - PmtPid?: number; + EtvSignalPid?: number; /** * Placeholder documentation for __integer */ - DvbTeletextPid?: number; + PrivateMetadataPid?: number; /** - * Placeholder documentation for __integer + * Placeholder documentation for __listOf__integer */ - VideoPid?: number; + AudioPids?: number[]; /** - * Placeholder documentation for __listOf__integer + * Placeholder documentation for __integer */ - KlvDataPids?: number[]; + TimedMetadataPid?: number; } export namespace MultiplexProgramPacketIdentifiersMap { @@ -2848,14 +3425,14 @@ export namespace MultiplexProgramPacketIdentifiersMap { */ export interface MultiplexProgram { /** - * The name of the multiplex program. + * The packet identifier map for this multiplex program. */ - ProgramName?: string; + PacketIdentifiersMap?: MultiplexProgramPacketIdentifiersMap; /** - * The MediaLive channel associated with the program. + * The name of the multiplex program. */ - ChannelId?: string; + ProgramName?: string; /** * The settings for this multiplex program. @@ -2863,9 +3440,14 @@ export interface MultiplexProgram { MultiplexProgramSettings?: MultiplexProgramSettings; /** - * The packet identifier map for this multiplex program. + * The MediaLive channel associated with the program. */ - PacketIdentifiersMap?: MultiplexProgramPacketIdentifiersMap; + ChannelId?: string; + + /** + * Contains information about the current sources for the specified program in the specified multiplex. Keep in mind that each multiplex pipeline connects to both pipelines in a given source channel (the channel identified by the program). But only one of those channel pipelines is ever active at one time. + */ + PipelineDetails?: MultiplexProgramPipelineDetail[]; } export namespace MultiplexProgram { @@ -2932,51 +3514,51 @@ export namespace DeleteChannelRequest { */ export interface DeleteChannelResponse { /** - * A list of destinations of the channel. For UDP outputs, there is one - * destination per output. For other types (HLS, for example), there is - * one destination per packager. + * Encoder Settings */ - Destinations?: OutputDestination[]; + EncoderSettings?: EncoderSettings; /** - * The unique id of the channel. + * The log level being written to CloudWatch Logs. */ - Id?: string; + LogLevel?: LogLevel | string; /** - * Encoder Settings + * The unique id of the channel. */ - EncoderSettings?: EncoderSettings; + Id?: string; /** - * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. + * The Amazon Resource Name (ARN) of the role assumed when running the Channel. */ - ChannelClass?: ChannelClass | string; + RoleArn?: string; /** - * Runtime details for the pipelines of a running channel. + * Specification of network and file inputs for this channel */ - PipelineDetails?: PipelineDetail[]; + InputSpecification?: InputSpecification; /** - * The unique arn of the channel. + * A list of destinations of the channel. For UDP outputs, there is one + * destination per output. For other types (HLS, for example), there is + * one destination per packager. */ - Arn?: string; + Destinations?: OutputDestination[]; /** - * A collection of key-value pairs. + * The number of currently healthy pipelines. */ - Tags?: { [key: string]: string }; + PipelinesRunningCount?: number; /** - * The endpoints where outgoing connections initiate from + * Runtime details for the pipelines of a running channel. */ - EgressEndpoints?: ChannelEgressEndpoint[]; + PipelineDetails?: PipelineDetail[]; /** - * The number of currently healthy pipelines. + * The name of the channel. (user-mutable) */ - PipelinesRunningCount?: number; + Name?: string; /** * Placeholder documentation for ChannelState @@ -2989,24 +3571,29 @@ export interface DeleteChannelResponse { InputAttachments?: InputAttachment[]; /** - * Placeholder documentation for InputSpecification + * Specification of CDI inputs for this channel */ - InputSpecification?: InputSpecification; + CdiInputSpecification?: CdiInputSpecification; /** - * The log level being written to CloudWatch Logs. + * The unique arn of the channel. */ - LogLevel?: LogLevel | string; + Arn?: string; /** - * The Amazon Resource Name (ARN) of the role assumed when running the Channel. + * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. */ - RoleArn?: string; + ChannelClass?: ChannelClass | string; /** - * The name of the channel. (user-mutable) + * A collection of key-value pairs. */ - Name?: string; + Tags?: { [key: string]: string }; + + /** + * The endpoints where outgoing connections initiate from + */ + EgressEndpoints?: ChannelEgressEndpoint[]; } export namespace DeleteChannelResponse { @@ -3095,14 +3682,14 @@ export interface DeleteMultiplexResponse { Tags?: { [key: string]: string }; /** - * A list of availability zones for the multiplex. + * Configuration for a multiplex event. */ - AvailabilityZones?: string[]; + MultiplexSettings?: MultiplexSettings; /** - * The name of the multiplex. + * A list of availability zones for the multiplex. */ - Name?: string; + AvailabilityZones?: string[]; /** * A list of the multiplex output destinations. @@ -3110,19 +3697,19 @@ export interface DeleteMultiplexResponse { Destinations?: MultiplexOutputDestination[]; /** - * The current state of the multiplex. + * The name of the multiplex. */ - State?: MultiplexState | string; + Name?: string; /** - * The unique arn of the multiplex. + * The current state of the multiplex. */ - Arn?: string; + State?: MultiplexState | string; /** - * The number of programs in the multiplex. + * The unique id of the multiplex. */ - ProgramCount?: number; + Id?: string; /** * The number of currently healthy pipelines. @@ -3130,14 +3717,14 @@ export interface DeleteMultiplexResponse { PipelinesRunningCount?: number; /** - * Configuration for a multiplex event. + * The unique arn of the multiplex. */ - MultiplexSettings?: MultiplexSettings; + Arn?: string; /** - * The unique id of the multiplex. + * The number of programs in the multiplex. */ - Id?: string; + ProgramCount?: number; } export namespace DeleteMultiplexResponse { @@ -3151,14 +3738,14 @@ export namespace DeleteMultiplexResponse { */ export interface DeleteMultiplexProgramRequest { /** - * The multiplex program name. + * The ID of the multiplex that the program belongs to. */ - ProgramName: string | undefined; + MultiplexId: string | undefined; /** - * The ID of the multiplex that the program belongs to. + * The multiplex program name. */ - MultiplexId: string | undefined; + ProgramName: string | undefined; } export namespace DeleteMultiplexProgramRequest { @@ -3172,14 +3759,14 @@ export namespace DeleteMultiplexProgramRequest { */ export interface DeleteMultiplexProgramResponse { /** - * The settings for this multiplex program. + * The packet identifier map for this multiplex program. */ - MultiplexProgramSettings?: MultiplexProgramSettings; + PacketIdentifiersMap?: MultiplexProgramPacketIdentifiersMap; /** - * The MediaLive channel associated with the program. + * Contains information about the current sources for the specified program in the specified multiplex. Keep in mind that each multiplex pipeline connects to both pipelines in a given source channel (the channel identified by the program). But only one of those channel pipelines is ever active at one time. */ - ChannelId?: string; + PipelineDetails?: MultiplexProgramPipelineDetail[]; /** * The name of the multiplex program. @@ -3187,9 +3774,14 @@ export interface DeleteMultiplexProgramResponse { ProgramName?: string; /** - * The packet identifier map for this multiplex program. + * The settings for this multiplex program. */ - PacketIdentifiersMap?: MultiplexProgramPacketIdentifiersMap; + MultiplexProgramSettings?: MultiplexProgramSettings; + + /** + * The MediaLive channel associated with the program. + */ + ChannelId?: string; } export namespace DeleteMultiplexProgramResponse { @@ -3219,14 +3811,14 @@ export namespace DeleteReservationRequest { */ export interface DeleteReservationResponse { /** - * Unique offering ID, e.g. '87654321' + * Recurring usage charge for each reserved resource, e.g. '157.0' */ - OfferingId?: string; + UsagePrice?: number; /** - * Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00' + * Unique offering ID, e.g. '87654321' */ - Start?: string; + OfferingId?: string; /** * Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00' @@ -3239,74 +3831,74 @@ export interface DeleteReservationResponse { Arn?: string; /** - * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering + * Resource configuration details */ - FixedPrice?: number; + ResourceSpecification?: ReservationResourceSpecification; /** - * AWS region, e.g. 'us-west-2' + * User specified reservation name */ - Region?: string; + Name?: string; /** - * A collection of key-value pairs + * Unique reservation ID, e.g. '1234567' */ - Tags?: { [key: string]: string }; + ReservationId?: string; /** - * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' + * Lease duration, e.g. '12' */ - OfferingDescription?: string; + Duration?: number; /** - * Unique reservation ID, e.g. '1234567' + * Number of reserved resources */ - ReservationId?: string; + Count?: number; /** - * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' + * Current state of reservation, e.g. 'ACTIVE' */ - CurrencyCode?: string; + State?: ReservationState | string; /** - * Units for duration, e.g. 'MONTHS' + * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' */ - DurationUnits?: OfferingDurationUnits | string; + OfferingDescription?: string; /** - * Current state of reservation, e.g. 'ACTIVE' + * Offering type, e.g. 'NO_UPFRONT' */ - State?: ReservationState | string; + OfferingType?: OfferingType | string; /** - * User specified reservation name + * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' */ - Name?: string; + CurrencyCode?: string; /** - * Lease duration, e.g. '12' + * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering */ - Duration?: number; + FixedPrice?: number; /** - * Recurring usage charge for each reserved resource, e.g. '157.0' + * A collection of key-value pairs */ - UsagePrice?: number; + Tags?: { [key: string]: string }; /** - * Offering type, e.g. 'NO_UPFRONT' + * Units for duration, e.g. 'MONTHS' */ - OfferingType?: OfferingType | string; + DurationUnits?: OfferingDurationUnits | string; /** - * Number of reserved resources + * AWS region, e.g. 'us-west-2' */ - Count?: number; + Region?: string; /** - * Resource configuration details + * Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00' */ - ResourceSpecification?: ReservationResourceSpecification; + Start?: string; } export namespace DeleteReservationResponse { @@ -3384,14 +3976,9 @@ export namespace DescribeChannelRequest { */ export interface DescribeChannelResponse { /** - * The unique arn of the channel. - */ - Arn?: string; - - /** - * The Amazon Resource Name (ARN) of the role assumed when running the Channel. + * The unique id of the channel. */ - RoleArn?: string; + Id?: string; /** * A list of destinations of the channel. For UDP outputs, there is one @@ -3401,64 +3988,74 @@ export interface DescribeChannelResponse { Destinations?: OutputDestination[]; /** - * Placeholder documentation for InputSpecification + * Encoder Settings + */ + EncoderSettings?: EncoderSettings; + + /** + * Specification of network and file inputs for this channel */ InputSpecification?: InputSpecification; /** - * Runtime details for the pipelines of a running channel. + * List of input attachments for channel. */ - PipelineDetails?: PipelineDetail[]; + InputAttachments?: InputAttachment[]; /** - * The endpoints where outgoing connections initiate from + * The Amazon Resource Name (ARN) of the role assumed when running the Channel. */ - EgressEndpoints?: ChannelEgressEndpoint[]; + RoleArn?: string; /** - * A collection of key-value pairs. + * The name of the channel. (user-mutable) */ - Tags?: { [key: string]: string }; + Name?: string; /** - * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. + * The log level being written to CloudWatch Logs. */ - ChannelClass?: ChannelClass | string; + LogLevel?: LogLevel | string; /** - * The number of currently healthy pipelines. + * Placeholder documentation for ChannelState */ - PipelinesRunningCount?: number; + State?: ChannelState | string; /** - * The unique id of the channel. + * Specification of CDI inputs for this channel */ - Id?: string; + CdiInputSpecification?: CdiInputSpecification; /** - * Placeholder documentation for ChannelState + * A collection of key-value pairs. */ - State?: ChannelState | string; + Tags?: { [key: string]: string }; /** - * The name of the channel. (user-mutable) + * The endpoints where outgoing connections initiate from */ - Name?: string; + EgressEndpoints?: ChannelEgressEndpoint[]; /** - * The log level being written to CloudWatch Logs. + * The number of currently healthy pipelines. */ - LogLevel?: LogLevel | string; + PipelinesRunningCount?: number; /** - * Encoder Settings + * Runtime details for the pipelines of a running channel. */ - EncoderSettings?: EncoderSettings; + PipelineDetails?: PipelineDetail[]; /** - * List of input attachments for channel. + * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. */ - InputAttachments?: InputAttachment[]; + ChannelClass?: ChannelClass | string; + + /** + * The unique arn of the channel. + */ + Arn?: string; } export namespace DescribeChannelResponse { @@ -3487,46 +4084,35 @@ export namespace DescribeInputRequest { * Placeholder documentation for DescribeInputResponse */ export interface DescribeInputResponse { - /** - * Placeholder documentation for InputType - */ - Type?: InputType | string; - /** * A collection of key-value pairs. */ Tags?: { [key: string]: string }; /** - * A list of MediaConnect Flows for this input. - */ - MediaConnectFlows?: MediaConnectFlow[]; - - /** - * The generated ID of the input (unique for user account, immutable). + * Placeholder documentation for InputType */ - Id?: string; + Type?: InputType | string; /** - * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. + * A list of IDs for all the Input Security Groups attached to the input. */ - RoleArn?: string; + SecurityGroups?: string[]; /** - * Placeholder documentation for InputState + * A list of the sources of the input (PULL-type). */ - State?: InputState | string; + Sources?: InputSource[]; /** - * A list of the destinations of the input (PUSH-type). + * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. */ - Destinations?: InputDestination[]; + RoleArn?: string; /** - * Certain pull input sources can be dynamic, meaning that they can have their URL's dynamically changes - * during input switch actions. Presently, this functionality only works with MP4_FILE inputs. + * The Unique ARN of the input (generated, immutable). */ - InputSourceType?: InputSourceType | string; + Arn?: string; /** * Settings for the input devices. @@ -3539,10 +4125,9 @@ export interface DescribeInputResponse { Name?: string; /** - * STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails. - * SINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input. + * Placeholder documentation for InputState */ - InputClass?: InputClass | string; + State?: InputState | string; /** * A list of channel IDs that that input is attached to (currently an input can only be attached to one channel). @@ -3550,19 +4135,31 @@ export interface DescribeInputResponse { AttachedChannels?: string[]; /** - * A list of the sources of the input (PULL-type). + * A list of the destinations of the input (PUSH-type). */ - Sources?: InputSource[]; + Destinations?: InputDestination[]; /** - * The Unique ARN of the input (generated, immutable). + * The generated ID of the input (unique for user account, immutable). */ - Arn?: string; + Id?: string; /** - * A list of IDs for all the Input Security Groups attached to the input. + * A list of MediaConnect Flows for this input. */ - SecurityGroups?: string[]; + MediaConnectFlows?: MediaConnectFlow[]; + + /** + * Certain pull input sources can be dynamic, meaning that they can have their URL's dynamically changes + * during input switch actions. Presently, this functionality only works with MP4_FILE inputs. + */ + InputSourceType?: InputSourceType | string; + + /** + * STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails. + * SINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input. + */ + InputClass?: InputClass | string; } export namespace DescribeInputResponse { @@ -3597,34 +4194,29 @@ export interface DescribeInputDeviceResponse { MacAddress?: string; /** - * The unique ARN of the input device. - */ - Arn?: string; - - /** - * The state of the connection between the input device and AWS. + * Settings that describe an input device that is type HD. */ - ConnectionState?: InputDeviceConnectionState | string; + HdDeviceSettings?: InputDeviceHdSettings; /** - * The unique ID of the input device. + * A name that you specify for the input device. */ - Id?: string; + Name?: string; /** - * The network settings for the input device. + * The unique ARN of the input device. */ - NetworkSettings?: InputDeviceNetworkSettings; + Arn?: string; /** - * The unique serial number of the input device. + * The unique ID of the input device. */ - SerialNumber?: string; + Id?: string; /** - * The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration. + * The state of the connection between the input device and AWS. */ - DeviceSettingsSyncState?: DeviceSettingsSyncState | string; + ConnectionState?: InputDeviceConnectionState | string; /** * The type of the input device. @@ -3632,14 +4224,19 @@ export interface DescribeInputDeviceResponse { Type?: InputDeviceType | string; /** - * Settings that describe an input device that is type HD. + * The unique serial number of the input device. */ - HdDeviceSettings?: InputDeviceHdSettings; + SerialNumber?: string; /** - * A name that you specify for the input device. + * The network settings for the input device. */ - Name?: string; + NetworkSettings?: InputDeviceNetworkSettings; + + /** + * The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration. + */ + DeviceSettingsSyncState?: DeviceSettingsSyncState | string; } export namespace DescribeInputDeviceResponse { @@ -3653,14 +4250,14 @@ export namespace DescribeInputDeviceResponse { */ export interface DescribeInputDeviceThumbnailRequest { /** - * The unique ID of this input device. For example, hd-123456789abcdef. + * The HTTP Accept header. Indicates the requested type for the thumbnail. */ - InputDeviceId: string | undefined; + Accept: AcceptHeader | string | undefined; /** - * The HTTP Accept header. Indicates the requested type for the thumbnail. + * The unique ID of this input device. For example, hd-123456789abcdef. */ - Accept: AcceptHeader | string | undefined; + InputDeviceId: string | undefined; } export namespace DescribeInputDeviceThumbnailRequest { @@ -3674,19 +4271,14 @@ export namespace DescribeInputDeviceThumbnailRequest { */ export interface DescribeInputDeviceThumbnailResponse { /** - * Specifies the media type of the thumbnail. - */ - ContentType?: ContentType | string; - - /** - * The length of the content. + * The unique, cacheable version of this thumbnail. */ - ContentLength?: number; + ETag?: string; /** - * The unique, cacheable version of this thumbnail. + * Specifies the media type of the thumbnail. */ - ETag?: string; + ContentType?: ContentType | string; /** * The date and time the thumbnail was last updated at the device. @@ -3697,6 +4289,11 @@ export interface DescribeInputDeviceThumbnailResponse { * The binary data for the thumbnail that the Link device has most recently sent to MediaLive. */ Body?: Readable | ReadableStream | Blob; + + /** + * The length of the content. + */ + ContentLength?: number; } export namespace DescribeInputDeviceThumbnailResponse { @@ -3726,9 +4323,14 @@ export namespace DescribeInputSecurityGroupRequest { */ export interface DescribeInputSecurityGroupResponse { /** - * Unique ARN of Input Security Group + * The current state of the Input Security Group. */ - Arn?: string; + State?: InputSecurityGroupState | string; + + /** + * The Id of the Input Security Group + */ + Id?: string; /** * Whitelist rules and their sync status @@ -3746,14 +4348,9 @@ export interface DescribeInputSecurityGroupResponse { Inputs?: string[]; /** - * The current state of the Input Security Group. - */ - State?: InputSecurityGroupState | string; - - /** - * The Id of the Input Security Group + * Unique ARN of Input Security Group */ - Id?: string; + Arn?: string; } export namespace DescribeInputSecurityGroupResponse { @@ -3783,19 +4380,14 @@ export namespace DescribeMultiplexRequest { */ export interface DescribeMultiplexResponse { /** - * A collection of key-value pairs. - */ - Tags?: { [key: string]: string }; - - /** - * A list of availability zones for the multiplex. + * Configuration for a multiplex event. */ - AvailabilityZones?: string[]; + MultiplexSettings?: MultiplexSettings; /** - * A list of the multiplex output destinations. + * The unique id of the multiplex. */ - Destinations?: MultiplexOutputDestination[]; + Id?: string; /** * The current state of the multiplex. @@ -3803,14 +4395,9 @@ export interface DescribeMultiplexResponse { State?: MultiplexState | string; /** - * The number of programs in the multiplex. - */ - ProgramCount?: number; - - /** - * The unique arn of the multiplex. + * A list of availability zones for the multiplex. */ - Arn?: string; + AvailabilityZones?: string[]; /** * The name of the multiplex. @@ -3823,14 +4410,24 @@ export interface DescribeMultiplexResponse { PipelinesRunningCount?: number; /** - * Configuration for a multiplex event. + * A list of the multiplex output destinations. */ - MultiplexSettings?: MultiplexSettings; + Destinations?: MultiplexOutputDestination[]; /** - * The unique id of the multiplex. + * A collection of key-value pairs. */ - Id?: string; + Tags?: { [key: string]: string }; + + /** + * The number of programs in the multiplex. + */ + ProgramCount?: number; + + /** + * The unique arn of the multiplex. + */ + Arn?: string; } export namespace DescribeMultiplexResponse { @@ -3879,6 +4476,11 @@ export interface DescribeMultiplexProgramResponse { */ MultiplexProgramSettings?: MultiplexProgramSettings; + /** + * Contains information about the current sources for the specified program in the specified multiplex. Keep in mind that each multiplex pipeline connects to both pipelines in a given source channel (the channel identified by the program). But only one of those channel pipelines is ever active at one time. + */ + PipelineDetails?: MultiplexProgramPipelineDetail[]; + /** * The packet identifier map for this multiplex program. */ @@ -3912,59 +4514,59 @@ export namespace DescribeOfferingRequest { */ export interface DescribeOfferingResponse { /** - * Lease duration, e.g. '12' + * Unique offering ID, e.g. '87654321' */ - Duration?: number; + OfferingId?: string; /** - * AWS region, e.g. 'us-west-2' + * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' */ - Region?: string; + OfferingDescription?: string; /** - * Resource configuration details + * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' */ - ResourceSpecification?: ReservationResourceSpecification; + CurrencyCode?: string; /** - * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' + * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering */ - OfferingDescription?: string; + FixedPrice?: number; /** - * Recurring usage charge for each reserved resource, e.g. '157.0' + * Units for duration, e.g. 'MONTHS' */ - UsagePrice?: number; + DurationUnits?: OfferingDurationUnits | string; /** - * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' + * Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' */ - CurrencyCode?: string; + Arn?: string; /** - * Offering type, e.g. 'NO_UPFRONT' + * AWS region, e.g. 'us-west-2' */ - OfferingType?: OfferingType | string; + Region?: string; /** - * Unique offering ID, e.g. '87654321' + * Resource configuration details */ - OfferingId?: string; + ResourceSpecification?: ReservationResourceSpecification; /** - * Units for duration, e.g. 'MONTHS' + * Offering type, e.g. 'NO_UPFRONT' */ - DurationUnits?: OfferingDurationUnits | string; + OfferingType?: OfferingType | string; /** - * Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' + * Lease duration, e.g. '12' */ - Arn?: string; + Duration?: number; /** - * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering + * Recurring usage charge for each reserved resource, e.g. '157.0' */ - FixedPrice?: number; + UsagePrice?: number; } export namespace DescribeOfferingResponse { @@ -3994,14 +4596,14 @@ export namespace DescribeReservationRequest { */ export interface DescribeReservationResponse { /** - * Number of reserved resources + * AWS region, e.g. 'us-west-2' */ - Count?: number; + Region?: string; /** - * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering + * User specified reservation name */ - FixedPrice?: number; + Name?: string; /** * Current state of reservation, e.g. 'ACTIVE' @@ -4009,39 +4611,39 @@ export interface DescribeReservationResponse { State?: ReservationState | string; /** - * Units for duration, e.g. 'MONTHS' + * Number of reserved resources */ - DurationUnits?: OfferingDurationUnits | string; + Count?: number; /** - * User specified reservation name + * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' */ - Name?: string; + CurrencyCode?: string; /** - * AWS region, e.g. 'us-west-2' + * Offering type, e.g. 'NO_UPFRONT' */ - Region?: string; + OfferingType?: OfferingType | string; /** - * Offering type, e.g. 'NO_UPFRONT' + * Recurring usage charge for each reserved resource, e.g. '157.0' */ - OfferingType?: OfferingType | string; + UsagePrice?: number; /** - * Unique offering ID, e.g. '87654321' + * Units for duration, e.g. 'MONTHS' */ - OfferingId?: string; + DurationUnits?: OfferingDurationUnits | string; /** - * A collection of key-value pairs + * Resource configuration details */ - Tags?: { [key: string]: string }; + ResourceSpecification?: ReservationResourceSpecification; /** - * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' + * Lease duration, e.g. '12' */ - OfferingDescription?: string; + Duration?: number; /** * Unique reservation ID, e.g. '1234567' @@ -4054,34 +4656,34 @@ export interface DescribeReservationResponse { Start?: string; /** - * Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00' + * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' */ - End?: string; + OfferingDescription?: string; /** - * Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567' + * A collection of key-value pairs */ - Arn?: string; + Tags?: { [key: string]: string }; /** - * Resource configuration details + * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering */ - ResourceSpecification?: ReservationResourceSpecification; + FixedPrice?: number; /** - * Lease duration, e.g. '12' + * Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00' */ - Duration?: number; + End?: string; /** - * Recurring usage charge for each reserved resource, e.g. '157.0' + * Unique offering ID, e.g. '87654321' */ - UsagePrice?: number; + OfferingId?: string; /** - * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' + * Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567' */ - CurrencyCode?: string; + Arn?: string; } export namespace DescribeReservationResponse { @@ -4094,6 +4696,11 @@ export namespace DescribeReservationResponse { * Placeholder documentation for DescribeScheduleRequest */ export interface DescribeScheduleRequest { + /** + * Placeholder documentation for MaxResults + */ + MaxResults?: number; + /** * Placeholder documentation for __string */ @@ -4103,11 +4710,6 @@ export interface DescribeScheduleRequest { * Id of the channel whose schedule is being updated. */ ChannelId: string | undefined; - - /** - * Placeholder documentation for MaxResults - */ - MaxResults?: number; } export namespace DescribeScheduleRequest { @@ -4201,34 +4803,81 @@ export namespace ListChannelsResponse { } /** - * Placeholder documentation for ListInputDevicesRequest + * Placeholder documentation for ListInputDevicesRequest + */ +export interface ListInputDevicesRequest { + /** + * Placeholder documentation for MaxResults + */ + MaxResults?: number; + + /** + * Placeholder documentation for __string + */ + NextToken?: string; +} + +export namespace ListInputDevicesRequest { + export const filterSensitiveLog = (obj: ListInputDevicesRequest): any => ({ + ...obj, + }); +} + +/** + * Placeholder documentation for ListInputDevicesResponse + */ +export interface ListInputDevicesResponse { + /** + * The list of input devices. + */ + InputDevices?: InputDeviceSummary[]; + + /** + * A token to get additional list results. + */ + NextToken?: string; +} + +export namespace ListInputDevicesResponse { + export const filterSensitiveLog = (obj: ListInputDevicesResponse): any => ({ + ...obj, + }); +} + +/** + * Placeholder documentation for ListInputDeviceTransfersRequest */ -export interface ListInputDevicesRequest { +export interface ListInputDeviceTransfersRequest { /** - * Placeholder documentation for MaxResults + * Placeholder documentation for __string */ - MaxResults?: number; + NextToken?: string; /** * Placeholder documentation for __string */ - NextToken?: string; + TransferType: string | undefined; + + /** + * Placeholder documentation for MaxResults + */ + MaxResults?: number; } -export namespace ListInputDevicesRequest { - export const filterSensitiveLog = (obj: ListInputDevicesRequest): any => ({ +export namespace ListInputDeviceTransfersRequest { + export const filterSensitiveLog = (obj: ListInputDeviceTransfersRequest): any => ({ ...obj, }); } /** - * Placeholder documentation for ListInputDevicesResponse + * Placeholder documentation for ListInputDeviceTransfersResponse */ -export interface ListInputDevicesResponse { +export interface ListInputDeviceTransfersResponse { /** - * The list of input devices. + * The list of devices that you are transferring or are being transferred to you. */ - InputDevices?: InputDeviceSummary[]; + InputDeviceTransfers?: TransferringInputDeviceSummary[]; /** * A token to get additional list results. @@ -4236,8 +4885,8 @@ export interface ListInputDevicesResponse { NextToken?: string; } -export namespace ListInputDevicesResponse { - export const filterSensitiveLog = (obj: ListInputDevicesResponse): any => ({ +export namespace ListInputDeviceTransfersResponse { + export const filterSensitiveLog = (obj: ListInputDeviceTransfersResponse): any => ({ ...obj, }); } @@ -4289,14 +4938,14 @@ export namespace ListInputsResponse { */ export interface ListInputSecurityGroupsRequest { /** - * Placeholder documentation for MaxResults + * Placeholder documentation for __string */ - MaxResults?: number; + NextToken?: string; /** - * Placeholder documentation for __string + * Placeholder documentation for MaxResults */ - NextToken?: string; + MaxResults?: number; } export namespace ListInputSecurityGroupsRequest { @@ -4310,14 +4959,14 @@ export namespace ListInputSecurityGroupsRequest { */ export interface ListInputSecurityGroupsResponse { /** - * List of input security groups + * Placeholder documentation for __string */ - InputSecurityGroups?: InputSecurityGroup[]; + NextToken?: string; /** - * Placeholder documentation for __string + * List of input security groups */ - NextToken?: string; + InputSecurityGroups?: InputSecurityGroup[]; } export namespace ListInputSecurityGroupsResponse { @@ -4352,14 +5001,14 @@ export namespace ListMultiplexesRequest { */ export interface ListMultiplexesResponse { /** - * List of multiplexes. + * Token for the next ListMultiplexes request. */ - Multiplexes?: MultiplexSummary[]; + NextToken?: string; /** - * Token for the next ListMultiplexes request. + * List of multiplexes. */ - NextToken?: string; + Multiplexes?: MultiplexSummary[]; } export namespace ListMultiplexesResponse { @@ -4373,14 +5022,14 @@ export namespace ListMultiplexesResponse { */ export interface ListMultiplexProgramsRequest { /** - * The ID of the multiplex that the programs belong to. + * The token to retrieve the next page of results. */ - MultiplexId: string | undefined; + NextToken?: string; /** - * The token to retrieve the next page of results. + * The ID of the multiplex that the programs belong to. */ - NextToken?: string; + MultiplexId: string | undefined; /** * The maximum number of items to return. @@ -4420,14 +5069,14 @@ export namespace ListMultiplexProgramsResponse { */ export interface ListOfferingsRequest { /** - * Filter by codec, 'AVC', 'HEVC', 'MPEG2', or 'AUDIO' + * Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE' */ - Codec?: string; + ChannelClass?: string; /** - * Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE' + * Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS' */ - ChannelClass?: string; + MaximumFramerate?: string; /** * Filter by offering duration, e.g. '12' @@ -4440,24 +5089,19 @@ export interface ListOfferingsRequest { Resolution?: string; /** - * Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS' - */ - MaximumFramerate?: string; - - /** - * Filter to offerings that match the configuration of an existing channel, e.g. '2345678' (a channel ID) + * Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION' */ - ChannelConfiguration?: string; + SpecialFeature?: string; /** - * Filter by resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' + * Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS' */ - ResourceType?: string; + MaximumBitrate?: string; /** - * Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM' + * Filter to offerings that match the configuration of an existing channel, e.g. '2345678' (a channel ID) */ - VideoQuality?: string; + ChannelConfiguration?: string; /** * Placeholder documentation for __string @@ -4470,14 +5114,19 @@ export interface ListOfferingsRequest { MaxResults?: number; /** - * Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS' + * Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', or 'LINK' */ - MaximumBitrate?: string; + Codec?: string; /** - * Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION' + * Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM' */ - SpecialFeature?: string; + VideoQuality?: string; + + /** + * Filter by resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' + */ + ResourceType?: string; } export namespace ListOfferingsRequest { @@ -4512,24 +5161,24 @@ export namespace ListOfferingsResponse { */ export interface ListReservationsRequest { /** - * Filter by resolution, 'SD', 'HD', 'FHD', or 'UHD' + * Filter by resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' */ - Resolution?: string; + ResourceType?: string; /** - * Filter by resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' + * Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', or 'LINK' */ - ResourceType?: string; + Codec?: string; /** - * Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS' + * Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS' */ - MaximumFramerate?: string; + MaximumBitrate?: string; /** - * Placeholder documentation for MaxResults + * Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION' */ - MaxResults?: number; + SpecialFeature?: string; /** * Placeholder documentation for __string @@ -4537,29 +5186,29 @@ export interface ListReservationsRequest { NextToken?: string; /** - * Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS' + * Placeholder documentation for MaxResults */ - MaximumBitrate?: string; + MaxResults?: number; /** - * Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION' + * Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM' */ - SpecialFeature?: string; + VideoQuality?: string; /** - * Filter by codec, 'AVC', 'HEVC', 'MPEG2', or 'AUDIO' + * Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE' */ - Codec?: string; + ChannelClass?: string; /** - * Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM' + * Filter by resolution, 'SD', 'HD', 'FHD', or 'UHD' */ - VideoQuality?: string; + Resolution?: string; /** - * Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE' + * Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS' */ - ChannelClass?: string; + MaximumFramerate?: string; } export namespace ListReservationsRequest { @@ -4626,9 +5275,9 @@ export namespace ListTagsForResourceResponse { */ export interface PurchaseOfferingRequest { /** - * Offering to purchase, e.g. '87654321' + * Number of resources */ - OfferingId: string | undefined; + Count: number | undefined; /** * A collection of key-value pairs @@ -4636,14 +5285,14 @@ export interface PurchaseOfferingRequest { Tags?: { [key: string]: string }; /** - * Name for the new reservation + * Offering to purchase, e.g. '87654321' */ - Name?: string; + OfferingId: string | undefined; /** - * Requested reservation start time (UTC) in ISO-8601 format. The specified time must be between the first day of the current month and one year from now. If no value is given, the default is now. + * Name for the new reservation */ - Start?: string; + Name?: string; /** * Unique request ID to be specified. This is needed to prevent retries from creating multiple resources. @@ -4651,9 +5300,9 @@ export interface PurchaseOfferingRequest { RequestId?: string; /** - * Number of resources + * Requested reservation start time (UTC) in ISO-8601 format. The specified time must be between the first day of the current month and one year from now. If no value is given, the default is now. */ - Count: number | undefined; + Start?: string; } export namespace PurchaseOfferingRequest { @@ -4678,6 +5327,33 @@ export namespace PurchaseOfferingResponse { }); } +/** + * Placeholder documentation for RejectInputDeviceTransferRequest + */ +export interface RejectInputDeviceTransferRequest { + /** + * The unique ID of the input device to reject. For example, hd-123456789abcdef. + */ + InputDeviceId: string | undefined; +} + +export namespace RejectInputDeviceTransferRequest { + export const filterSensitiveLog = (obj: RejectInputDeviceTransferRequest): any => ({ + ...obj, + }); +} + +/** + * Placeholder documentation for RejectInputDeviceTransferResponse + */ +export interface RejectInputDeviceTransferResponse {} + +export namespace RejectInputDeviceTransferResponse { + export const filterSensitiveLog = (obj: RejectInputDeviceTransferResponse): any => ({ + ...obj, + }); +} + /** * Placeholder documentation for StartChannelRequest */ @@ -4699,81 +5375,86 @@ export namespace StartChannelRequest { */ export interface StartChannelResponse { /** - * A list of destinations of the channel. For UDP outputs, there is one - * destination per output. For other types (HLS, for example), there is - * one destination per packager. + * Encoder Settings */ - Destinations?: OutputDestination[]; + EncoderSettings?: EncoderSettings; /** - * Encoder Settings + * The unique arn of the channel. */ - EncoderSettings?: EncoderSettings; + Arn?: string; /** - * The log level being written to CloudWatch Logs. + * The unique id of the channel. */ - LogLevel?: LogLevel | string; + Id?: string; /** - * Placeholder documentation for InputSpecification + * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. */ - InputSpecification?: InputSpecification; + ChannelClass?: ChannelClass | string; /** - * The Amazon Resource Name (ARN) of the role assumed when running the Channel. + * A collection of key-value pairs. */ - RoleArn?: string; + Tags?: { [key: string]: string }; /** - * List of input attachments for channel. + * The endpoints where outgoing connections initiate from */ - InputAttachments?: InputAttachment[]; + EgressEndpoints?: ChannelEgressEndpoint[]; /** - * The name of the channel. (user-mutable) + * The number of currently healthy pipelines. */ - Name?: string; + PipelinesRunningCount?: number; /** - * Placeholder documentation for ChannelState + * Runtime details for the pipelines of a running channel. */ - State?: ChannelState | string; + PipelineDetails?: PipelineDetail[]; /** - * The endpoints where outgoing connections initiate from + * Specification of CDI inputs for this channel */ - EgressEndpoints?: ChannelEgressEndpoint[]; + CdiInputSpecification?: CdiInputSpecification; /** - * A collection of key-value pairs. + * Placeholder documentation for ChannelState */ - Tags?: { [key: string]: string }; + State?: ChannelState | string; /** - * The unique arn of the channel. + * The Amazon Resource Name (ARN) of the role assumed when running the Channel. */ - Arn?: string; + RoleArn?: string; /** - * The unique id of the channel. + * List of input attachments for channel. */ - Id?: string; + InputAttachments?: InputAttachment[]; /** - * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. + * The log level being written to CloudWatch Logs. */ - ChannelClass?: ChannelClass | string; + LogLevel?: LogLevel | string; /** - * Runtime details for the pipelines of a running channel. + * Specification of network and file inputs for this channel */ - PipelineDetails?: PipelineDetail[]; + InputSpecification?: InputSpecification; /** - * The number of currently healthy pipelines. + * A list of destinations of the channel. For UDP outputs, there is one + * destination per output. For other types (HLS, for example), there is + * one destination per packager. */ - PipelinesRunningCount?: number; + Destinations?: OutputDestination[]; + + /** + * The name of the channel. (user-mutable) + */ + Name?: string; } export namespace StartChannelResponse { @@ -4803,9 +5484,9 @@ export namespace StartMultiplexRequest { */ export interface StartMultiplexResponse { /** - * Configuration for a multiplex event. + * The current state of the multiplex. */ - MultiplexSettings?: MultiplexSettings; + State?: MultiplexState | string; /** * The unique id of the multiplex. @@ -4813,14 +5494,14 @@ export interface StartMultiplexResponse { Id?: string; /** - * The current state of the multiplex. + * The number of programs in the multiplex. */ - State?: MultiplexState | string; + ProgramCount?: number; /** - * A list of availability zones for the multiplex. + * The unique arn of the multiplex. */ - AvailabilityZones?: string[]; + Arn?: string; /** * The number of currently healthy pipelines. @@ -4828,14 +5509,14 @@ export interface StartMultiplexResponse { PipelinesRunningCount?: number; /** - * The name of the multiplex. + * Configuration for a multiplex event. */ - Name?: string; + MultiplexSettings?: MultiplexSettings; /** - * A list of the multiplex output destinations. + * A list of availability zones for the multiplex. */ - Destinations?: MultiplexOutputDestination[]; + AvailabilityZones?: string[]; /** * A collection of key-value pairs. @@ -4843,14 +5524,14 @@ export interface StartMultiplexResponse { Tags?: { [key: string]: string }; /** - * The unique arn of the multiplex. + * The name of the multiplex. */ - Arn?: string; + Name?: string; /** - * The number of programs in the multiplex. + * A list of the multiplex output destinations. */ - ProgramCount?: number; + Destinations?: MultiplexOutputDestination[]; } export namespace StartMultiplexResponse { @@ -4877,17 +5558,12 @@ export namespace StopChannelRequest { /** * Placeholder documentation for StopChannelResponse - */ -export interface StopChannelResponse { - /** - * A collection of key-value pairs. - */ - Tags?: { [key: string]: string }; - + */ +export interface StopChannelResponse { /** - * The log level being written to CloudWatch Logs. + * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. */ - LogLevel?: LogLevel | string; + ChannelClass?: ChannelClass | string; /** * The endpoints where outgoing connections initiate from @@ -4895,19 +5571,24 @@ export interface StopChannelResponse { EgressEndpoints?: ChannelEgressEndpoint[]; /** - * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. + * A collection of key-value pairs. */ - ChannelClass?: ChannelClass | string; + Tags?: { [key: string]: string }; /** - * Placeholder documentation for ChannelState + * The log level being written to CloudWatch Logs. */ - State?: ChannelState | string; + LogLevel?: LogLevel | string; /** - * The name of the channel. (user-mutable) + * Encoder Settings */ - Name?: string; + EncoderSettings?: EncoderSettings; + + /** + * List of input attachments for channel. + */ + InputAttachments?: InputAttachment[]; /** * The Amazon Resource Name (ARN) of the role assumed when running the Channel. @@ -4915,21 +5596,19 @@ export interface StopChannelResponse { RoleArn?: string; /** - * A list of destinations of the channel. For UDP outputs, there is one - * destination per output. For other types (HLS, for example), there is - * one destination per packager. + * Specification of network and file inputs for this channel */ - Destinations?: OutputDestination[]; + InputSpecification?: InputSpecification; /** - * Placeholder documentation for InputSpecification + * The unique id of the channel. */ - InputSpecification?: InputSpecification; + Id?: string; /** - * The number of currently healthy pipelines. + * Runtime details for the pipelines of a running channel. */ - PipelinesRunningCount?: number; + PipelineDetails?: PipelineDetail[]; /** * The unique arn of the channel. @@ -4937,24 +5616,31 @@ export interface StopChannelResponse { Arn?: string; /** - * Runtime details for the pipelines of a running channel. + * The name of the channel. (user-mutable) */ - PipelineDetails?: PipelineDetail[]; + Name?: string; /** - * List of input attachments for channel. + * Specification of CDI inputs for this channel */ - InputAttachments?: InputAttachment[]; + CdiInputSpecification?: CdiInputSpecification; /** - * The unique id of the channel. + * The number of currently healthy pipelines. */ - Id?: string; + PipelinesRunningCount?: number; /** - * Encoder Settings + * A list of destinations of the channel. For UDP outputs, there is one + * destination per output. For other types (HLS, for example), there is + * one destination per packager. */ - EncoderSettings?: EncoderSettings; + Destinations?: OutputDestination[]; + + /** + * Placeholder documentation for ChannelState + */ + State?: ChannelState | string; } export namespace StopChannelResponse { @@ -4983,6 +5669,11 @@ export namespace StopMultiplexRequest { * Placeholder documentation for StopMultiplexResponse */ export interface StopMultiplexResponse { + /** + * The number of currently healthy pipelines. + */ + PipelinesRunningCount?: number; + /** * A list of the multiplex output destinations. */ @@ -4994,20 +5685,15 @@ export interface StopMultiplexResponse { ProgramCount?: number; /** - * The current state of the multiplex. + * A collection of key-value pairs. */ - State?: MultiplexState | string; + Tags?: { [key: string]: string }; /** * The name of the multiplex. */ Name?: string; - /** - * The unique id of the multiplex. - */ - Id?: string; - /** * Configuration for a multiplex event. */ @@ -5019,19 +5705,19 @@ export interface StopMultiplexResponse { Arn?: string; /** - * The number of currently healthy pipelines. + * The unique id of the multiplex. */ - PipelinesRunningCount?: number; + Id?: string; /** - * A list of availability zones for the multiplex. + * The current state of the multiplex. */ - AvailabilityZones?: string[]; + State?: MultiplexState | string; /** - * A collection of key-value pairs. + * A list of availability zones for the multiplex. */ - Tags?: { [key: string]: string }; + AvailabilityZones?: string[]; } export namespace StopMultiplexResponse { @@ -5040,14 +5726,56 @@ export namespace StopMultiplexResponse { }); } +/** + * A request to transfer an input device. + */ +export interface TransferInputDeviceRequest { + /** + * An optional message for the recipient. Maximum 280 characters. + */ + TransferMessage?: string; + + /** + * The unique ID of this input device. For example, hd-123456789abcdef. + */ + InputDeviceId: string | undefined; + + /** + * The AWS account ID (12 digits) for the recipient of the device transfer. + */ + TargetCustomerId?: string; +} + +export namespace TransferInputDeviceRequest { + export const filterSensitiveLog = (obj: TransferInputDeviceRequest): any => ({ + ...obj, + }); +} + +/** + * Placeholder documentation for TransferInputDeviceResponse + */ +export interface TransferInputDeviceResponse {} + +export namespace TransferInputDeviceResponse { + export const filterSensitiveLog = (obj: TransferInputDeviceResponse): any => ({ + ...obj, + }); +} + /** * A request to update a channel. */ export interface UpdateChannelRequest { /** - * channel ID + * The encoder settings for this channel. */ - ChannelId: string | undefined; + EncoderSettings?: EncoderSettings; + + /** + * Specification of CDI inputs for this channel + */ + CdiInputSpecification?: CdiInputSpecification; /** * A list of output destinations for this channel. @@ -5055,34 +5783,34 @@ export interface UpdateChannelRequest { Destinations?: OutputDestination[]; /** - * The name of the channel. + * The log level to write to CloudWatch Logs. */ - Name?: string; + LogLevel?: LogLevel | string; /** - * An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed. + * Specification of network and file inputs for this channel */ - RoleArn?: string; + InputSpecification?: InputSpecification; /** - * Placeholder documentation for __listOfInputAttachment + * channel ID */ - InputAttachments?: InputAttachment[]; + ChannelId: string | undefined; /** - * The log level to write to CloudWatch Logs. + * An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed. */ - LogLevel?: LogLevel | string; + RoleArn?: string; /** - * Specification of input for this channel (max. bitrate, resolution, codec, etc.) + * The name of the channel. */ - InputSpecification?: InputSpecification; + Name?: string; /** - * The encoder settings for this channel. + * Placeholder documentation for __listOfInputAttachment */ - EncoderSettings?: EncoderSettings; + InputAttachments?: InputAttachment[]; } export namespace UpdateChannelRequest { @@ -5111,11 +5839,6 @@ export namespace UpdateChannelResponse { * Channel class that the channel should be updated to. */ export interface UpdateChannelClassRequest { - /** - * The channel class that you wish to update this channel to use. - */ - ChannelClass: ChannelClass | string | undefined; - /** * Channel Id of the channel whose class should be updated. */ @@ -5125,6 +5848,11 @@ export interface UpdateChannelClassRequest { * A list of output destinations for this channel. */ Destinations?: OutputDestination[]; + + /** + * The channel class that you wish to update this channel to use. + */ + ChannelClass: ChannelClass | string | undefined; } export namespace UpdateChannelClassRequest { @@ -5153,11 +5881,6 @@ export namespace UpdateChannelClassResponse { * A request to update an input. */ export interface UpdateInputRequest { - /** - * Settings for the devices. - */ - InputDevices?: InputDeviceRequest[]; - /** * The source URLs for a PULL-type input. Every PULL type input needs * exactly two source URLs for redundancy. @@ -5165,6 +5888,16 @@ export interface UpdateInputRequest { */ Sources?: InputSourceRequest[]; + /** + * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. + */ + RoleArn?: string; + + /** + * Settings for the devices. + */ + InputDevices?: InputDeviceRequest[]; + /** * Destination settings for PUSH type inputs. */ @@ -5175,6 +5908,13 @@ export interface UpdateInputRequest { */ InputId: string | undefined; + /** + * A list of the MediaConnect Flow ARNs that you want to use as the source of the input. You can specify as few as one + * Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a + * separate Availability Zone as this ensures your EML input is redundant to AZ issues. + */ + MediaConnectFlows?: MediaConnectFlowRequest[]; + /** * A list of security groups referenced by IDs to attach to the input. */ @@ -5184,18 +5924,6 @@ export interface UpdateInputRequest { * Name of the input. */ Name?: string; - - /** - * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. - */ - RoleArn?: string; - - /** - * A list of the MediaConnect Flow ARNs that you want to use as the source of the input. You can specify as few as one - * Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a - * separate Availability Zone as this ensures your EML input is redundant to AZ issues. - */ - MediaConnectFlows?: MediaConnectFlowRequest[]; } export namespace UpdateInputRequest { @@ -5225,14 +5953,14 @@ export namespace UpdateInputResponse { */ export interface UpdateInputDeviceRequest { /** - * The settings that you want to apply to the input device. + * The unique ID of the input device. For example, hd-123456789abcdef. */ - HdDeviceSettings?: InputDeviceConfigurableSettings; + InputDeviceId: string | undefined; /** - * The unique ID of the input device. For example, hd-123456789abcdef. + * The settings that you want to apply to the input device. */ - InputDeviceId: string | undefined; + HdDeviceSettings?: InputDeviceConfigurableSettings; /** * The name that you assigned to this input device (not the unique ID). @@ -5251,29 +5979,19 @@ export namespace UpdateInputDeviceRequest { */ export interface UpdateInputDeviceResponse { /** - * The unique ARN of the input device. - */ - Arn?: string; - - /** - * The network MAC address of the input device. - */ - MacAddress?: string; - - /** - * Settings that describe an input device that is type HD. + * The state of the connection between the input device and AWS. */ - HdDeviceSettings?: InputDeviceHdSettings; + ConnectionState?: InputDeviceConnectionState | string; /** - * The type of the input device. + * The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration. */ - Type?: InputDeviceType | string; + DeviceSettingsSyncState?: DeviceSettingsSyncState | string; /** - * The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration. + * The unique ID of the input device. */ - DeviceSettingsSyncState?: DeviceSettingsSyncState | string; + Id?: string; /** * The network settings for the input device. @@ -5285,20 +6003,30 @@ export interface UpdateInputDeviceResponse { */ SerialNumber?: string; + /** + * The type of the input device. + */ + Type?: InputDeviceType | string; + /** * A name that you specify for the input device. */ Name?: string; /** - * The unique ID of the input device. + * The unique ARN of the input device. */ - Id?: string; + Arn?: string; /** - * The state of the connection between the input device and AWS. + * The network MAC address of the input device. */ - ConnectionState?: InputDeviceConnectionState | string; + MacAddress?: string; + + /** + * Settings that describe an input device that is type HD. + */ + HdDeviceSettings?: InputDeviceHdSettings; } export namespace UpdateInputDeviceResponse { @@ -5311,6 +6039,11 @@ export namespace UpdateInputDeviceResponse { * The request to update some combination of the Input Security Group name and the IPv4 CIDRs the Input Security Group should allow. */ export interface UpdateInputSecurityGroupRequest { + /** + * The id of the Input Security Group to update. + */ + InputSecurityGroupId: string | undefined; + /** * List of IPv4 CIDR addresses to whitelist */ @@ -5320,11 +6053,6 @@ export interface UpdateInputSecurityGroupRequest { * A collection of key-value pairs. */ Tags?: { [key: string]: string }; - - /** - * The id of the Input Security Group to update. - */ - InputSecurityGroupId: string | undefined; } export namespace UpdateInputSecurityGroupRequest { @@ -5353,6 +6081,11 @@ export namespace UpdateInputSecurityGroupResponse { * A request to update a multiplex. */ export interface UpdateMultiplexRequest { + /** + * The new settings for a multiplex. + */ + MultiplexSettings?: MultiplexSettings; + /** * ID of the multiplex to update. */ @@ -5362,11 +6095,6 @@ export interface UpdateMultiplexRequest { * Name of the multiplex. */ Name?: string; - - /** - * The new settings for a multiplex. - */ - MultiplexSettings?: MultiplexSettings; } export namespace UpdateMultiplexRequest { @@ -5396,9 +6124,9 @@ export namespace UpdateMultiplexResponse { */ export interface UpdateMultiplexProgramRequest { /** - * The name of the program to update. + * The ID of the multiplex of the program to update. */ - ProgramName: string | undefined; + MultiplexId: string | undefined; /** * The new settings for a multiplex program. @@ -5406,9 +6134,9 @@ export interface UpdateMultiplexProgramRequest { MultiplexProgramSettings?: MultiplexProgramSettings; /** - * The ID of the multiplex of the program to update. + * The name of the program to update. */ - MultiplexId: string | undefined; + ProgramName: string | undefined; } export namespace UpdateMultiplexProgramRequest { diff --git a/clients/client-medialive/pagination/DescribeSchedulePaginator.ts b/clients/client-medialive/pagination/DescribeSchedulePaginator.ts new file mode 100644 index 000000000000..f7cf8c155c46 --- /dev/null +++ b/clients/client-medialive/pagination/DescribeSchedulePaginator.ts @@ -0,0 +1,51 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { + DescribeScheduleCommand, + DescribeScheduleCommandInput, + DescribeScheduleCommandOutput, +} from "../commands/DescribeScheduleCommand"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaLiveClient, + input: DescribeScheduleCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeScheduleCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaLive, + input: DescribeScheduleCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSchedule(input, ...args); +}; +export async function* describeSchedulePaginate( + config: MediaLivePaginationConfiguration, + input: DescribeScheduleCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeScheduleCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaLive) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaLiveClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-medialive/pagination/Interfaces.ts b/clients/client-medialive/pagination/Interfaces.ts new file mode 100644 index 000000000000..1c528c41c838 --- /dev/null +++ b/clients/client-medialive/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface MediaLivePaginationConfiguration extends PaginationConfiguration { + client: MediaLive | MediaLiveClient; +} diff --git a/clients/client-medialive/pagination/ListChannelsPaginator.ts b/clients/client-medialive/pagination/ListChannelsPaginator.ts new file mode 100644 index 000000000000..2a182377cb9b --- /dev/null +++ b/clients/client-medialive/pagination/ListChannelsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { + ListChannelsCommand, + ListChannelsCommandInput, + ListChannelsCommandOutput, +} from "../commands/ListChannelsCommand"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaLiveClient, + input: ListChannelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListChannelsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaLive, + input: ListChannelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listChannels(input, ...args); +}; +export async function* listChannelsPaginate( + config: MediaLivePaginationConfiguration, + input: ListChannelsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListChannelsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaLive) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaLiveClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-medialive/pagination/ListInputDeviceTransfersPaginator.ts b/clients/client-medialive/pagination/ListInputDeviceTransfersPaginator.ts new file mode 100644 index 000000000000..cb289fd7b277 --- /dev/null +++ b/clients/client-medialive/pagination/ListInputDeviceTransfersPaginator.ts @@ -0,0 +1,51 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { + ListInputDeviceTransfersCommand, + ListInputDeviceTransfersCommandInput, + ListInputDeviceTransfersCommandOutput, +} from "../commands/ListInputDeviceTransfersCommand"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaLiveClient, + input: ListInputDeviceTransfersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInputDeviceTransfersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaLive, + input: ListInputDeviceTransfersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInputDeviceTransfers(input, ...args); +}; +export async function* listInputDeviceTransfersPaginate( + config: MediaLivePaginationConfiguration, + input: ListInputDeviceTransfersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListInputDeviceTransfersCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaLive) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaLiveClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-medialive/pagination/ListInputDevicesPaginator.ts b/clients/client-medialive/pagination/ListInputDevicesPaginator.ts new file mode 100644 index 000000000000..c3fc077f2265 --- /dev/null +++ b/clients/client-medialive/pagination/ListInputDevicesPaginator.ts @@ -0,0 +1,51 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { + ListInputDevicesCommand, + ListInputDevicesCommandInput, + ListInputDevicesCommandOutput, +} from "../commands/ListInputDevicesCommand"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaLiveClient, + input: ListInputDevicesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInputDevicesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaLive, + input: ListInputDevicesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInputDevices(input, ...args); +}; +export async function* listInputDevicesPaginate( + config: MediaLivePaginationConfiguration, + input: ListInputDevicesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListInputDevicesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaLive) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaLiveClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-medialive/pagination/ListInputSecurityGroupsPaginator.ts b/clients/client-medialive/pagination/ListInputSecurityGroupsPaginator.ts new file mode 100644 index 000000000000..8dde2f1fadd7 --- /dev/null +++ b/clients/client-medialive/pagination/ListInputSecurityGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { + ListInputSecurityGroupsCommand, + ListInputSecurityGroupsCommandInput, + ListInputSecurityGroupsCommandOutput, +} from "../commands/ListInputSecurityGroupsCommand"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaLiveClient, + input: ListInputSecurityGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInputSecurityGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaLive, + input: ListInputSecurityGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInputSecurityGroups(input, ...args); +}; +export async function* listInputSecurityGroupsPaginate( + config: MediaLivePaginationConfiguration, + input: ListInputSecurityGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListInputSecurityGroupsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaLive) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaLiveClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-medialive/pagination/ListInputsPaginator.ts b/clients/client-medialive/pagination/ListInputsPaginator.ts new file mode 100644 index 000000000000..ddf65f7f46d8 --- /dev/null +++ b/clients/client-medialive/pagination/ListInputsPaginator.ts @@ -0,0 +1,47 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { ListInputsCommand, ListInputsCommandInput, ListInputsCommandOutput } from "../commands/ListInputsCommand"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaLiveClient, + input: ListInputsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInputsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaLive, + input: ListInputsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInputs(input, ...args); +}; +export async function* listInputsPaginate( + config: MediaLivePaginationConfiguration, + input: ListInputsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListInputsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaLive) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaLiveClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-medialive/pagination/ListMultiplexProgramsPaginator.ts b/clients/client-medialive/pagination/ListMultiplexProgramsPaginator.ts new file mode 100644 index 000000000000..59ee8242d8a4 --- /dev/null +++ b/clients/client-medialive/pagination/ListMultiplexProgramsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { + ListMultiplexProgramsCommand, + ListMultiplexProgramsCommandInput, + ListMultiplexProgramsCommandOutput, +} from "../commands/ListMultiplexProgramsCommand"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaLiveClient, + input: ListMultiplexProgramsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListMultiplexProgramsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaLive, + input: ListMultiplexProgramsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listMultiplexPrograms(input, ...args); +}; +export async function* listMultiplexProgramsPaginate( + config: MediaLivePaginationConfiguration, + input: ListMultiplexProgramsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListMultiplexProgramsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaLive) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaLiveClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-medialive/pagination/ListMultiplexesPaginator.ts b/clients/client-medialive/pagination/ListMultiplexesPaginator.ts new file mode 100644 index 000000000000..f3a4a2f6ce4e --- /dev/null +++ b/clients/client-medialive/pagination/ListMultiplexesPaginator.ts @@ -0,0 +1,51 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { + ListMultiplexesCommand, + ListMultiplexesCommandInput, + ListMultiplexesCommandOutput, +} from "../commands/ListMultiplexesCommand"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaLiveClient, + input: ListMultiplexesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListMultiplexesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaLive, + input: ListMultiplexesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listMultiplexes(input, ...args); +}; +export async function* listMultiplexesPaginate( + config: MediaLivePaginationConfiguration, + input: ListMultiplexesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListMultiplexesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaLive) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaLiveClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-medialive/pagination/ListOfferingsPaginator.ts b/clients/client-medialive/pagination/ListOfferingsPaginator.ts new file mode 100644 index 000000000000..331907e00e8e --- /dev/null +++ b/clients/client-medialive/pagination/ListOfferingsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { + ListOfferingsCommand, + ListOfferingsCommandInput, + ListOfferingsCommandOutput, +} from "../commands/ListOfferingsCommand"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaLiveClient, + input: ListOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListOfferingsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaLive, + input: ListOfferingsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listOfferings(input, ...args); +}; +export async function* listOfferingsPaginate( + config: MediaLivePaginationConfiguration, + input: ListOfferingsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListOfferingsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaLive) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaLiveClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-medialive/pagination/ListReservationsPaginator.ts b/clients/client-medialive/pagination/ListReservationsPaginator.ts new file mode 100644 index 000000000000..0e81dd276776 --- /dev/null +++ b/clients/client-medialive/pagination/ListReservationsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaLive } from "../MediaLive"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { + ListReservationsCommand, + ListReservationsCommandInput, + ListReservationsCommandOutput, +} from "../commands/ListReservationsCommand"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaLiveClient, + input: ListReservationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListReservationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaLive, + input: ListReservationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listReservations(input, ...args); +}; +export async function* listReservationsPaginate( + config: MediaLivePaginationConfiguration, + input: ListReservationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListReservationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaLive) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaLiveClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-medialive/protocols/Aws_restJson1.ts b/clients/client-medialive/protocols/Aws_restJson1.ts index edb364832e7d..110b076f10b7 100644 --- a/clients/client-medialive/protocols/Aws_restJson1.ts +++ b/clients/client-medialive/protocols/Aws_restJson1.ts @@ -1,7 +1,18 @@ +import { + AcceptInputDeviceTransferCommandInput, + AcceptInputDeviceTransferCommandOutput, +} from "../commands/AcceptInputDeviceTransferCommand"; +import { BatchDeleteCommandInput, BatchDeleteCommandOutput } from "../commands/BatchDeleteCommand"; +import { BatchStartCommandInput, BatchStartCommandOutput } from "../commands/BatchStartCommand"; +import { BatchStopCommandInput, BatchStopCommandOutput } from "../commands/BatchStopCommand"; import { BatchUpdateScheduleCommandInput, BatchUpdateScheduleCommandOutput, } from "../commands/BatchUpdateScheduleCommand"; +import { + CancelInputDeviceTransferCommandInput, + CancelInputDeviceTransferCommandOutput, +} from "../commands/CancelInputDeviceTransferCommand"; import { CreateChannelCommandInput, CreateChannelCommandOutput } from "../commands/CreateChannelCommand"; import { CreateInputCommandInput, CreateInputCommandOutput } from "../commands/CreateInputCommand"; import { @@ -54,6 +65,10 @@ import { } from "../commands/DescribeReservationCommand"; import { DescribeScheduleCommandInput, DescribeScheduleCommandOutput } from "../commands/DescribeScheduleCommand"; import { ListChannelsCommandInput, ListChannelsCommandOutput } from "../commands/ListChannelsCommand"; +import { + ListInputDeviceTransfersCommandInput, + ListInputDeviceTransfersCommandOutput, +} from "../commands/ListInputDeviceTransfersCommand"; import { ListInputDevicesCommandInput, ListInputDevicesCommandOutput } from "../commands/ListInputDevicesCommand"; import { ListInputSecurityGroupsCommandInput, @@ -72,10 +87,18 @@ import { ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; import { PurchaseOfferingCommandInput, PurchaseOfferingCommandOutput } from "../commands/PurchaseOfferingCommand"; +import { + RejectInputDeviceTransferCommandInput, + RejectInputDeviceTransferCommandOutput, +} from "../commands/RejectInputDeviceTransferCommand"; import { StartChannelCommandInput, StartChannelCommandOutput } from "../commands/StartChannelCommand"; import { StartMultiplexCommandInput, StartMultiplexCommandOutput } from "../commands/StartMultiplexCommand"; import { StopChannelCommandInput, StopChannelCommandOutput } from "../commands/StopChannelCommand"; import { StopMultiplexCommandInput, StopMultiplexCommandOutput } from "../commands/StopMultiplexCommand"; +import { + TransferInputDeviceCommandInput, + TransferInputDeviceCommandOutput, +} from "../commands/TransferInputDeviceCommand"; import { UpdateChannelClassCommandInput, UpdateChannelClassCommandOutput } from "../commands/UpdateChannelClassCommand"; import { UpdateChannelCommandInput, UpdateChannelCommandOutput } from "../commands/UpdateChannelCommand"; import { UpdateInputCommandInput, UpdateInputCommandOutput } from "../commands/UpdateInputCommand"; @@ -93,6 +116,7 @@ import { UpdateReservationCommandInput, UpdateReservationCommandOutput } from ". import { AacSettings, Ac3Settings, + AncillarySourceSettings, ArchiveContainerSettings, ArchiveGroupSettings, ArchiveOutputSettings, @@ -110,12 +134,15 @@ import { AudioTrack, AudioTrackSelection, AutomaticInputFailoverSettings, + BatchFailedResultModel, + BatchSuccessfulResultModel, BurnInDestinationSettings, CaptionDescription, CaptionDestinationSettings, CaptionLanguageMapping, CaptionSelector, CaptionSelectorSettings, + CdiInputSpecification, ChannelEgressEndpoint, ChannelSummary, DvbNitSettings, @@ -147,7 +174,6 @@ import { Input, InputAttachment, InputChannelLevel, - InputClippingSettings, InputDestination, InputDestinationRequest, InputDestinationVpc, @@ -157,13 +183,11 @@ import { InputDeviceSettings, InputDeviceSummary, InputLocation, - InputPrepareScheduleActionSettings, InputSecurityGroup, InputSettings, InputSource, InputSourceRequest, InputSpecification, - InputSwitchScheduleActionSettings, InputWhitelistRule, InputWhitelistRuleCidr, KeyProviderSettings, @@ -182,6 +206,7 @@ import { MultiplexOutputDestination, MultiplexOutputSettings, MultiplexProgramChannelDestinationSettings, + MultiplexProgramPipelineDetail, MultiplexProgramSummary, MultiplexSettingsSummary, MultiplexSummary, @@ -195,9 +220,9 @@ import { OutputLocationRef, OutputSettings, PassThroughSettings, - PauseStateScheduleActionSettings, PipelineDetail, PipelinePauseStateSettings, + RawSettings, RemixSettings, Reservation, ReservationResourceSpecification, @@ -208,13 +233,10 @@ import { Scte20SourceSettings, Scte27DestinationSettings, Scte27SourceSettings, - Scte35ReturnToNetworkScheduleActionSettings, - Scte35SpliceInsertScheduleActionSettings, SmpteTtDestinationSettings, StandardHlsSettings, StartTimecode, StaticKeySettings, - StopTimecode, TeletextDestinationSettings, TeletextSourceSettings, TtmlDestinationSettings, @@ -225,6 +247,7 @@ import { VideoSelectorPid, VideoSelectorProgramId, VideoSelectorSettings, + WavSettings, WebvttDestinationSettings, } from "../models/models_0"; import { @@ -257,10 +280,15 @@ import { H265Settings, Hdr10Settings, ImmediateModeScheduleActionStartSettings, + InputClippingSettings, InputDeviceConfigurableSettings, InputLossBehavior, + InputPrepareScheduleActionSettings, + InputSwitchScheduleActionSettings, InputVpcRequest, InternalServerErrorException, + Mpeg2FilterSettings, + Mpeg2Settings, Multiplex, MultiplexProgram, MultiplexProgramPacketIdentifiersMap, @@ -271,6 +299,7 @@ import { MultiplexVideoSettings, NielsenConfiguration, NotFoundException, + PauseStateScheduleActionSettings, Rec601Settings, Rec709Settings, ScheduleAction, @@ -279,15 +308,19 @@ import { Scte35DeliveryRestrictions, Scte35Descriptor, Scte35DescriptorSettings, + Scte35ReturnToNetworkScheduleActionSettings, Scte35SegmentationDescriptor, Scte35SpliceInsert, + Scte35SpliceInsertScheduleActionSettings, Scte35TimeSignalApos, Scte35TimeSignalScheduleActionSettings, StaticImageActivateScheduleActionSettings, StaticImageDeactivateScheduleActionSettings, + StopTimecode, TemporalFilterSettings, TimecodeConfig, TooManyRequestsException, + TransferringInputDeviceSummary, UnprocessableEntityException, ValidationError, VideoCodecSettings, @@ -306,6 +339,127 @@ import { } from "@aws-sdk/types"; import { v4 as generateIdempotencyToken } from "uuid"; +export const serializeAws_restJson1AcceptInputDeviceTransferCommand = async ( + input: AcceptInputDeviceTransferCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/prod/inputDevices/{InputDeviceId}/accept"; + if (input.InputDeviceId !== undefined) { + const labelValue: string = input.InputDeviceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InputDeviceId."); + } + resolvedPath = resolvedPath.replace("{InputDeviceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InputDeviceId."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1BatchDeleteCommand = async ( + input: BatchDeleteCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/prod/batch/delete"; + let body: any; + body = JSON.stringify({ + ...(input.ChannelIds !== undefined && { + channelIds: serializeAws_restJson1__listOf__string(input.ChannelIds, context), + }), + ...(input.InputIds !== undefined && { inputIds: serializeAws_restJson1__listOf__string(input.InputIds, context) }), + ...(input.InputSecurityGroupIds !== undefined && { + inputSecurityGroupIds: serializeAws_restJson1__listOf__string(input.InputSecurityGroupIds, context), + }), + ...(input.MultiplexIds !== undefined && { + multiplexIds: serializeAws_restJson1__listOf__string(input.MultiplexIds, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1BatchStartCommand = async ( + input: BatchStartCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/prod/batch/start"; + let body: any; + body = JSON.stringify({ + ...(input.ChannelIds !== undefined && { + channelIds: serializeAws_restJson1__listOf__string(input.ChannelIds, context), + }), + ...(input.MultiplexIds !== undefined && { + multiplexIds: serializeAws_restJson1__listOf__string(input.MultiplexIds, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1BatchStopCommand = async ( + input: BatchStopCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/prod/batch/stop"; + let body: any; + body = JSON.stringify({ + ...(input.ChannelIds !== undefined && { + channelIds: serializeAws_restJson1__listOf__string(input.ChannelIds, context), + }), + ...(input.MultiplexIds !== undefined && { + multiplexIds: serializeAws_restJson1__listOf__string(input.MultiplexIds, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1BatchUpdateScheduleCommand = async ( input: BatchUpdateScheduleCommandInput, context: __SerdeContext @@ -344,6 +498,36 @@ export const serializeAws_restJson1BatchUpdateScheduleCommand = async ( }); }; +export const serializeAws_restJson1CancelInputDeviceTransferCommand = async ( + input: CancelInputDeviceTransferCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/prod/inputDevices/{InputDeviceId}/cancel"; + if (input.InputDeviceId !== undefined) { + const labelValue: string = input.InputDeviceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InputDeviceId."); + } + resolvedPath = resolvedPath.replace("{InputDeviceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InputDeviceId."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateChannelCommand = async ( input: CreateChannelCommandInput, context: __SerdeContext @@ -354,6 +538,9 @@ export const serializeAws_restJson1CreateChannelCommand = async ( let resolvedPath = "/prod/channels"; let body: any; body = JSON.stringify({ + ...(input.CdiInputSpecification !== undefined && { + cdiInputSpecification: serializeAws_restJson1CdiInputSpecification(input.CdiInputSpecification, context), + }), ...(input.ChannelClass !== undefined && { channelClass: input.ChannelClass }), ...(input.Destinations !== undefined && { destinations: serializeAws_restJson1__listOfOutputDestination(input.Destinations, context), @@ -687,15 +874,6 @@ export const serializeAws_restJson1DeleteMultiplexProgramCommand = async ( "Content-Type": "", }; let resolvedPath = "/prod/multiplexes/{MultiplexId}/programs/{ProgramName}"; - if (input.ProgramName !== undefined) { - const labelValue: string = input.ProgramName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ProgramName."); - } - resolvedPath = resolvedPath.replace("{ProgramName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ProgramName."); - } if (input.MultiplexId !== undefined) { const labelValue: string = input.MultiplexId; if (labelValue.length <= 0) { @@ -705,6 +883,15 @@ export const serializeAws_restJson1DeleteMultiplexProgramCommand = async ( } else { throw new Error("No value provided for input HTTP label: MultiplexId."); } + if (input.ProgramName !== undefined) { + const labelValue: string = input.ProgramName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ProgramName."); + } + resolvedPath = resolvedPath.replace("{ProgramName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ProgramName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1110,8 +1297,8 @@ export const serializeAws_restJson1DescribeScheduleCommand = async ( throw new Error("No value provided for input HTTP label: ChannelId."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1179,6 +1366,33 @@ export const serializeAws_restJson1ListInputDevicesCommand = async ( }); }; +export const serializeAws_restJson1ListInputDeviceTransfersCommand = async ( + input: ListInputDeviceTransfersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/prod/inputDeviceTransfers"; + const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.TransferType !== undefined && { transferType: input.TransferType }), + ...(input.MaxResults !== undefined && { maxResults: 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_restJson1ListInputsCommand = async ( input: ListInputsCommandInput, context: __SerdeContext @@ -1214,8 +1428,8 @@ export const serializeAws_restJson1ListInputSecurityGroupsCommand = async ( }; let resolvedPath = "/prod/inputSecurityGroups"; 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(); @@ -1301,18 +1515,18 @@ export const serializeAws_restJson1ListOfferingsCommand = async ( }; let resolvedPath = "/prod/offerings"; const query: any = { - ...(input.Codec !== undefined && { codec: input.Codec }), ...(input.ChannelClass !== undefined && { channelClass: input.ChannelClass }), + ...(input.MaximumFramerate !== undefined && { maximumFramerate: input.MaximumFramerate }), ...(input.Duration !== undefined && { duration: input.Duration }), ...(input.Resolution !== undefined && { resolution: input.Resolution }), - ...(input.MaximumFramerate !== undefined && { maximumFramerate: input.MaximumFramerate }), + ...(input.SpecialFeature !== undefined && { specialFeature: input.SpecialFeature }), + ...(input.MaximumBitrate !== undefined && { maximumBitrate: input.MaximumBitrate }), ...(input.ChannelConfiguration !== undefined && { channelConfiguration: input.ChannelConfiguration }), - ...(input.ResourceType !== undefined && { resourceType: input.ResourceType }), - ...(input.VideoQuality !== undefined && { videoQuality: input.VideoQuality }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.MaximumBitrate !== undefined && { maximumBitrate: input.MaximumBitrate }), - ...(input.SpecialFeature !== undefined && { specialFeature: input.SpecialFeature }), + ...(input.Codec !== undefined && { codec: input.Codec }), + ...(input.VideoQuality !== undefined && { videoQuality: input.VideoQuality }), + ...(input.ResourceType !== undefined && { resourceType: input.ResourceType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1337,16 +1551,16 @@ export const serializeAws_restJson1ListReservationsCommand = async ( }; let resolvedPath = "/prod/reservations"; const query: any = { - ...(input.Resolution !== undefined && { resolution: input.Resolution }), ...(input.ResourceType !== undefined && { resourceType: input.ResourceType }), - ...(input.MaximumFramerate !== undefined && { maximumFramerate: input.MaximumFramerate }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.Codec !== undefined && { codec: input.Codec }), ...(input.MaximumBitrate !== undefined && { maximumBitrate: input.MaximumBitrate }), ...(input.SpecialFeature !== undefined && { specialFeature: input.SpecialFeature }), - ...(input.Codec !== undefined && { codec: input.Codec }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.VideoQuality !== undefined && { videoQuality: input.VideoQuality }), ...(input.ChannelClass !== undefined && { channelClass: input.ChannelClass }), + ...(input.Resolution !== undefined && { resolution: input.Resolution }), + ...(input.MaximumFramerate !== undefined && { maximumFramerate: input.MaximumFramerate }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1429,6 +1643,36 @@ export const serializeAws_restJson1PurchaseOfferingCommand = async ( }); }; +export const serializeAws_restJson1RejectInputDeviceTransferCommand = async ( + input: RejectInputDeviceTransferCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/prod/inputDevices/{InputDeviceId}/reject"; + if (input.InputDeviceId !== undefined) { + const labelValue: string = input.InputDeviceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: InputDeviceId."); + } + resolvedPath = resolvedPath.replace("{InputDeviceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: InputDeviceId."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1StartChannelCommand = async ( input: StartChannelCommandInput, context: __SerdeContext @@ -1549,33 +1793,70 @@ export const serializeAws_restJson1StopMultiplexCommand = async ( }); }; -export const serializeAws_restJson1UpdateChannelCommand = async ( - input: UpdateChannelCommandInput, +export const serializeAws_restJson1TransferInputDeviceCommand = async ( + input: TransferInputDeviceCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/prod/channels/{ChannelId}"; - if (input.ChannelId !== undefined) { - const labelValue: string = input.ChannelId; + let resolvedPath = "/prod/inputDevices/{InputDeviceId}/transfer"; + if (input.InputDeviceId !== undefined) { + const labelValue: string = input.InputDeviceId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ChannelId."); + throw new Error("Empty value provided for input HTTP label: InputDeviceId."); } - resolvedPath = resolvedPath.replace("{ChannelId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{InputDeviceId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ChannelId."); + throw new Error("No value provided for input HTTP label: InputDeviceId."); } let body: any; body = JSON.stringify({ - ...(input.Destinations !== undefined && { - destinations: serializeAws_restJson1__listOfOutputDestination(input.Destinations, context), - }), - ...(input.EncoderSettings !== undefined && { - encoderSettings: serializeAws_restJson1EncoderSettings(input.EncoderSettings, context), - }), - ...(input.InputAttachments !== undefined && { - inputAttachments: serializeAws_restJson1__listOfInputAttachment(input.InputAttachments, context), + ...(input.TargetCustomerId !== undefined && { targetCustomerId: input.TargetCustomerId }), + ...(input.TransferMessage !== undefined && { transferMessage: input.TransferMessage }), + }); + 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 = "/prod/channels/{ChannelId}"; + if (input.ChannelId !== undefined) { + const labelValue: string = input.ChannelId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelId."); + } + resolvedPath = resolvedPath.replace("{ChannelId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelId."); + } + let body: any; + body = JSON.stringify({ + ...(input.CdiInputSpecification !== undefined && { + cdiInputSpecification: serializeAws_restJson1CdiInputSpecification(input.CdiInputSpecification, context), + }), + ...(input.Destinations !== undefined && { + destinations: serializeAws_restJson1__listOfOutputDestination(input.Destinations, context), + }), + ...(input.EncoderSettings !== undefined && { + encoderSettings: serializeAws_restJson1EncoderSettings(input.EncoderSettings, context), + }), + ...(input.InputAttachments !== undefined && { + inputAttachments: serializeAws_restJson1__listOfInputAttachment(input.InputAttachments, context), }), ...(input.InputSpecification !== undefined && { inputSpecification: serializeAws_restJson1InputSpecification(input.InputSpecification, context), @@ -1797,15 +2078,6 @@ export const serializeAws_restJson1UpdateMultiplexProgramCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/prod/multiplexes/{MultiplexId}/programs/{ProgramName}"; - if (input.ProgramName !== undefined) { - const labelValue: string = input.ProgramName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ProgramName."); - } - resolvedPath = resolvedPath.replace("{ProgramName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ProgramName."); - } if (input.MultiplexId !== undefined) { const labelValue: string = input.MultiplexId; if (labelValue.length <= 0) { @@ -1815,6 +2087,15 @@ export const serializeAws_restJson1UpdateMultiplexProgramCommand = async ( } else { throw new Error("No value provided for input HTTP label: MultiplexId."); } + if (input.ProgramName !== undefined) { + const labelValue: string = input.ProgramName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ProgramName."); + } + resolvedPath = resolvedPath.replace("{ProgramName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ProgramName."); + } let body: any; body = JSON.stringify({ ...(input.MultiplexProgramSettings !== undefined && { @@ -1866,32 +2147,24 @@ export const serializeAws_restJson1UpdateReservationCommand = async ( }); }; -export const deserializeAws_restJson1BatchUpdateScheduleCommand = async ( +export const deserializeAws_restJson1AcceptInputDeviceTransferCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1BatchUpdateScheduleCommandError(output, context); + return deserializeAws_restJson1AcceptInputDeviceTransferCommandError(output, context); } - const contents: BatchUpdateScheduleCommandOutput = { + const contents: AcceptInputDeviceTransferCommandOutput = { $metadata: deserializeMetadata(output), - Creates: undefined, - Deletes: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.creates !== undefined && data.creates !== null) { - contents.Creates = deserializeAws_restJson1BatchScheduleActionCreateResult(data.creates, context); - } - if (data.deletes !== undefined && data.deletes !== null) { - contents.Deletes = deserializeAws_restJson1BatchScheduleActionDeleteResult(data.deletes, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1BatchUpdateScheduleCommandError = async ( +const deserializeAws_restJson1AcceptInputDeviceTransferCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1916,6 +2189,14 @@ const deserializeAws_restJson1BatchUpdateScheduleCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.medialive#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.medialive#ForbiddenException": response = { @@ -1981,28 +2262,32 @@ const deserializeAws_restJson1BatchUpdateScheduleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateChannelCommand = async ( +export const deserializeAws_restJson1BatchDeleteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateChannelCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchDeleteCommandError(output, context); } - const contents: CreateChannelCommandOutput = { + const contents: BatchDeleteCommandOutput = { $metadata: deserializeMetadata(output), - Channel: undefined, + Failed: undefined, + Successful: undefined, }; const data: any = await parseBody(output.body, context); - if (data.channel !== undefined && data.channel !== null) { - contents.Channel = deserializeAws_restJson1Channel(data.channel, context); + if (data.failed !== undefined && data.failed !== null) { + contents.Failed = deserializeAws_restJson1__listOfBatchFailedResultModel(data.failed, context); + } + if (data.successful !== undefined && data.successful !== null) { + contents.Successful = deserializeAws_restJson1__listOfBatchSuccessfulResultModel(data.successful, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateChannelCommandError = async ( +const deserializeAws_restJson1BatchDeleteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2059,18 +2344,18 @@ const deserializeAws_restJson1CreateChannelCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "TooManyRequestsException": - case "com.amazonaws.medialive#TooManyRequestsException": + case "NotFoundException": + case "com.amazonaws.medialive#NotFoundException": response = { - ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "UnprocessableEntityException": - case "com.amazonaws.medialive#UnprocessableEntityException": + case "TooManyRequestsException": + case "com.amazonaws.medialive#TooManyRequestsException": response = { - ...(await deserializeAws_restJson1UnprocessableEntityExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2092,28 +2377,32 @@ const deserializeAws_restJson1CreateChannelCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateInputCommand = async ( +export const deserializeAws_restJson1BatchStartCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateInputCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchStartCommandError(output, context); } - const contents: CreateInputCommandOutput = { + const contents: BatchStartCommandOutput = { $metadata: deserializeMetadata(output), - Input: undefined, + Failed: undefined, + Successful: undefined, }; const data: any = await parseBody(output.body, context); - if (data.input !== undefined && data.input !== null) { - contents.Input = deserializeAws_restJson1Input(data.input, context); + if (data.failed !== undefined && data.failed !== null) { + contents.Failed = deserializeAws_restJson1__listOfBatchFailedResultModel(data.failed, context); + } + if (data.successful !== undefined && data.successful !== null) { + contents.Successful = deserializeAws_restJson1__listOfBatchSuccessfulResultModel(data.successful, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateInputCommandError = async ( +const deserializeAws_restJson1BatchStartCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2138,6 +2427,14 @@ const deserializeAws_restJson1CreateInputCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.medialive#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.medialive#ForbiddenException": response = { @@ -2162,6 +2459,14 @@ const deserializeAws_restJson1CreateInputCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.medialive#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "TooManyRequestsException": case "com.amazonaws.medialive#TooManyRequestsException": response = { @@ -2187,28 +2492,32 @@ const deserializeAws_restJson1CreateInputCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateInputSecurityGroupCommand = async ( +export const deserializeAws_restJson1BatchStopCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateInputSecurityGroupCommandError(output, context); + return deserializeAws_restJson1BatchStopCommandError(output, context); } - const contents: CreateInputSecurityGroupCommandOutput = { + const contents: BatchStopCommandOutput = { $metadata: deserializeMetadata(output), - SecurityGroup: undefined, + Failed: undefined, + Successful: undefined, }; const data: any = await parseBody(output.body, context); - if (data.securityGroup !== undefined && data.securityGroup !== null) { - contents.SecurityGroup = deserializeAws_restJson1InputSecurityGroup(data.securityGroup, context); + if (data.failed !== undefined && data.failed !== null) { + contents.Failed = deserializeAws_restJson1__listOfBatchFailedResultModel(data.failed, context); + } + if (data.successful !== undefined && data.successful !== null) { + contents.Successful = deserializeAws_restJson1__listOfBatchSuccessfulResultModel(data.successful, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateInputSecurityGroupCommandError = async ( +const deserializeAws_restJson1BatchStopCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2233,6 +2542,14 @@ const deserializeAws_restJson1CreateInputSecurityGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.medialive#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.medialive#ForbiddenException": response = { @@ -2257,6 +2574,14 @@ const deserializeAws_restJson1CreateInputSecurityGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.medialive#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "TooManyRequestsException": case "com.amazonaws.medialive#TooManyRequestsException": response = { @@ -2282,28 +2607,32 @@ const deserializeAws_restJson1CreateInputSecurityGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateMultiplexCommand = async ( +export const deserializeAws_restJson1BatchUpdateScheduleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateMultiplexCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchUpdateScheduleCommandError(output, context); } - const contents: CreateMultiplexCommandOutput = { + const contents: BatchUpdateScheduleCommandOutput = { $metadata: deserializeMetadata(output), - Multiplex: undefined, + Creates: undefined, + Deletes: undefined, }; const data: any = await parseBody(output.body, context); - if (data.multiplex !== undefined && data.multiplex !== null) { - contents.Multiplex = deserializeAws_restJson1Multiplex(data.multiplex, context); + if (data.creates !== undefined && data.creates !== null) { + contents.Creates = deserializeAws_restJson1BatchScheduleActionCreateResult(data.creates, context); + } + if (data.deletes !== undefined && data.deletes !== null) { + contents.Deletes = deserializeAws_restJson1BatchScheduleActionDeleteResult(data.deletes, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateMultiplexCommandError = async ( +const deserializeAws_restJson1BatchUpdateScheduleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2328,14 +2657,6 @@ const deserializeAws_restJson1CreateMultiplexCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ConflictException": - case "com.amazonaws.medialive#ConflictException": - response = { - ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ForbiddenException": case "com.amazonaws.medialive#ForbiddenException": response = { @@ -2360,6 +2681,14 @@ const deserializeAws_restJson1CreateMultiplexCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.medialive#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "TooManyRequestsException": case "com.amazonaws.medialive#TooManyRequestsException": response = { @@ -2393,28 +2722,24 @@ const deserializeAws_restJson1CreateMultiplexCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateMultiplexProgramCommand = async ( +export const deserializeAws_restJson1CancelInputDeviceTransferCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateMultiplexProgramCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CancelInputDeviceTransferCommandError(output, context); } - const contents: CreateMultiplexProgramCommandOutput = { + const contents: CancelInputDeviceTransferCommandOutput = { $metadata: deserializeMetadata(output), - MultiplexProgram: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.multiplexProgram !== undefined && data.multiplexProgram !== null) { - contents.MultiplexProgram = deserializeAws_restJson1MultiplexProgram(data.multiplexProgram, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateMultiplexProgramCommandError = async ( +const deserializeAws_restJson1CancelInputDeviceTransferCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2471,6 +2796,14 @@ const deserializeAws_restJson1CreateMultiplexProgramCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NotFoundException": + case "com.amazonaws.medialive#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "TooManyRequestsException": case "com.amazonaws.medialive#TooManyRequestsException": response = { @@ -2504,24 +2837,28 @@ const deserializeAws_restJson1CreateMultiplexProgramCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateTagsCommand = async ( +export const deserializeAws_restJson1CreateChannelCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 204 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateTagsCommandError(output, context); +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateChannelCommandError(output, context); } - const contents: CreateTagsCommandOutput = { + const contents: CreateChannelCommandOutput = { $metadata: deserializeMetadata(output), + Channel: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.channel !== undefined && data.channel !== null) { + contents.Channel = deserializeAws_restJson1Channel(data.channel, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateTagsCommandError = async ( +const deserializeAws_restJson1CreateChannelCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2530,23 +2867,542 @@ const deserializeAws_restJson1CreateTagsCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "BadRequestException": - case "com.amazonaws.medialive#BadRequestException": + case "BadGatewayException": + case "com.amazonaws.medialive#BadGatewayException": response = { - ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ForbiddenException": - case "com.amazonaws.medialive#ForbiddenException": + case "BadRequestException": + case "com.amazonaws.medialive#BadRequestException": response = { - ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InternalServerErrorException": + case "ConflictException": + case "com.amazonaws.medialive#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.medialive#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GatewayTimeoutException": + case "com.amazonaws.medialive#GatewayTimeoutException": + response = { + ...(await deserializeAws_restJson1GatewayTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.medialive#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.medialive#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnprocessableEntityException": + case "com.amazonaws.medialive#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_restJson1CreateInputCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateInputCommandError(output, context); + } + const contents: CreateInputCommandOutput = { + $metadata: deserializeMetadata(output), + Input: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.input !== undefined && data.input !== null) { + contents.Input = deserializeAws_restJson1Input(data.input, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateInputCommandError = 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 "BadGatewayException": + case "com.amazonaws.medialive#BadGatewayException": + response = { + ...(await deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.medialive#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.medialive#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GatewayTimeoutException": + case "com.amazonaws.medialive#GatewayTimeoutException": + response = { + ...(await deserializeAws_restJson1GatewayTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.medialive#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.medialive#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1CreateInputSecurityGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateInputSecurityGroupCommandError(output, context); + } + const contents: CreateInputSecurityGroupCommandOutput = { + $metadata: deserializeMetadata(output), + SecurityGroup: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.securityGroup !== undefined && data.securityGroup !== null) { + contents.SecurityGroup = deserializeAws_restJson1InputSecurityGroup(data.securityGroup, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateInputSecurityGroupCommandError = 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 "BadGatewayException": + case "com.amazonaws.medialive#BadGatewayException": + response = { + ...(await deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.medialive#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.medialive#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GatewayTimeoutException": + case "com.amazonaws.medialive#GatewayTimeoutException": + response = { + ...(await deserializeAws_restJson1GatewayTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.medialive#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.medialive#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1CreateMultiplexCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateMultiplexCommandError(output, context); + } + const contents: CreateMultiplexCommandOutput = { + $metadata: deserializeMetadata(output), + Multiplex: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.multiplex !== undefined && data.multiplex !== null) { + contents.Multiplex = deserializeAws_restJson1Multiplex(data.multiplex, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateMultiplexCommandError = 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 "BadGatewayException": + case "com.amazonaws.medialive#BadGatewayException": + response = { + ...(await deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.medialive#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.medialive#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.medialive#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GatewayTimeoutException": + case "com.amazonaws.medialive#GatewayTimeoutException": + response = { + ...(await deserializeAws_restJson1GatewayTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.medialive#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.medialive#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnprocessableEntityException": + case "com.amazonaws.medialive#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_restJson1CreateMultiplexProgramCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateMultiplexProgramCommandError(output, context); + } + const contents: CreateMultiplexProgramCommandOutput = { + $metadata: deserializeMetadata(output), + MultiplexProgram: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.multiplexProgram !== undefined && data.multiplexProgram !== null) { + contents.MultiplexProgram = deserializeAws_restJson1MultiplexProgram(data.multiplexProgram, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateMultiplexProgramCommandError = 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 "BadGatewayException": + case "com.amazonaws.medialive#BadGatewayException": + response = { + ...(await deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.medialive#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.medialive#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.medialive#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GatewayTimeoutException": + case "com.amazonaws.medialive#GatewayTimeoutException": + response = { + ...(await deserializeAws_restJson1GatewayTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.medialive#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.medialive#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnprocessableEntityException": + case "com.amazonaws.medialive#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_restJson1CreateTagsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateTagsCommandError(output, context); + } + const contents: CreateTagsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateTagsCommandError = 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.medialive#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.medialive#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": case "com.amazonaws.medialive#InternalServerErrorException": response = { ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), @@ -2589,6 +3445,7 @@ export const deserializeAws_restJson1DeleteChannelCommand = async ( const contents: DeleteChannelCommandOutput = { $metadata: deserializeMetadata(output), Arn: undefined, + CdiInputSpecification: undefined, ChannelClass: undefined, Destinations: undefined, EgressEndpoints: undefined, @@ -2608,6 +3465,9 @@ export const deserializeAws_restJson1DeleteChannelCommand = async ( if (data.arn !== undefined && data.arn !== null) { contents.Arn = data.arn; } + if (data.cdiInputSpecification !== undefined && data.cdiInputSpecification !== null) { + contents.CdiInputSpecification = deserializeAws_restJson1CdiInputSpecification(data.cdiInputSpecification, context); + } if (data.channelClass !== undefined && data.channelClass !== null) { contents.ChannelClass = data.channelClass; } @@ -3111,6 +3971,7 @@ export const deserializeAws_restJson1DeleteMultiplexProgramCommand = async ( ChannelId: undefined, MultiplexProgramSettings: undefined, PacketIdentifiersMap: undefined, + PipelineDetails: undefined, ProgramName: undefined, }; const data: any = await parseBody(output.body, context); @@ -3129,6 +3990,12 @@ export const deserializeAws_restJson1DeleteMultiplexProgramCommand = async ( context ); } + if (data.pipelineDetails !== undefined && data.pipelineDetails !== null) { + contents.PipelineDetails = deserializeAws_restJson1__listOfMultiplexProgramPipelineDetail( + data.pipelineDetails, + context + ); + } if (data.programName !== undefined && data.programName !== null) { contents.ProgramName = data.programName; } @@ -3594,6 +4461,7 @@ export const deserializeAws_restJson1DescribeChannelCommand = async ( const contents: DescribeChannelCommandOutput = { $metadata: deserializeMetadata(output), Arn: undefined, + CdiInputSpecification: undefined, ChannelClass: undefined, Destinations: undefined, EgressEndpoints: undefined, @@ -3613,6 +4481,9 @@ export const deserializeAws_restJson1DescribeChannelCommand = async ( if (data.arn !== undefined && data.arn !== null) { contents.Arn = data.arn; } + if (data.cdiInputSpecification !== undefined && data.cdiInputSpecification !== null) { + contents.CdiInputSpecification = deserializeAws_restJson1CdiInputSpecification(data.cdiInputSpecification, context); + } if (data.channelClass !== undefined && data.channelClass !== null) { contents.ChannelClass = data.channelClass; } @@ -4056,18 +4927,18 @@ export const deserializeAws_restJson1DescribeInputDeviceThumbnailCommand = async ETag: undefined, LastModified: undefined, }; - if (output.headers["content-type"] !== undefined) { - contents.ContentType = output.headers["content-type"]; - } - if (output.headers["content-length"] !== undefined) { - contents.ContentLength = parseInt(output.headers["content-length"], 10); - } if (output.headers["etag"] !== undefined) { contents.ETag = output.headers["etag"]; } + if (output.headers["content-type"] !== undefined) { + contents.ContentType = output.headers["content-type"]; + } if (output.headers["last-modified"] !== undefined) { contents.LastModified = new Date(output.headers["last-modified"]); } + if (output.headers["content-length"] !== undefined) { + contents.ContentLength = parseInt(output.headers["content-length"], 10); + } const data: any = output.body; contents.Body = data; return Promise.resolve(contents); @@ -4432,6 +5303,7 @@ export const deserializeAws_restJson1DescribeMultiplexProgramCommand = async ( ChannelId: undefined, MultiplexProgramSettings: undefined, PacketIdentifiersMap: undefined, + PipelineDetails: undefined, ProgramName: undefined, }; const data: any = await parseBody(output.body, context); @@ -4450,6 +5322,12 @@ export const deserializeAws_restJson1DescribeMultiplexProgramCommand = async ( context ); } + if (data.pipelineDetails !== undefined && data.pipelineDetails !== null) { + contents.PipelineDetails = deserializeAws_restJson1__listOfMultiplexProgramPipelineDetail( + data.pipelineDetails, + context + ); + } if (data.programName !== undefined && data.programName !== null) { contents.ProgramName = data.programName; } @@ -5166,6 +6044,116 @@ const deserializeAws_restJson1ListInputDevicesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListInputDeviceTransfersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListInputDeviceTransfersCommandError(output, context); + } + const contents: ListInputDeviceTransfersCommandOutput = { + $metadata: deserializeMetadata(output), + InputDeviceTransfers: undefined, + NextToken: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.inputDeviceTransfers !== undefined && data.inputDeviceTransfers !== null) { + contents.InputDeviceTransfers = deserializeAws_restJson1__listOfTransferringInputDeviceSummary( + data.inputDeviceTransfers, + context + ); + } + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.NextToken = data.nextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListInputDeviceTransfersCommandError = 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 "BadGatewayException": + case "com.amazonaws.medialive#BadGatewayException": + response = { + ...(await deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.medialive#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.medialive#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GatewayTimeoutException": + case "com.amazonaws.medialive#GatewayTimeoutException": + response = { + ...(await deserializeAws_restJson1GatewayTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.medialive#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.medialive#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnprocessableEntityException": + case "com.amazonaws.medialive#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_restJson1ListInputsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5697,10 +6685,105 @@ export const deserializeAws_restJson1ListReservationsCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1ListReservationsCommandError = async ( +const deserializeAws_restJson1ListReservationsCommandError = 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 "BadGatewayException": + case "com.amazonaws.medialive#BadGatewayException": + response = { + ...(await deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.medialive#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.medialive#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GatewayTimeoutException": + case "com.amazonaws.medialive#GatewayTimeoutException": + response = { + ...(await deserializeAws_restJson1GatewayTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.medialive#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.medialive#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_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_restJson1Tags(data.tags, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListTagsForResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5709,14 +6792,6 @@ const deserializeAws_restJson1ListReservationsCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "BadGatewayException": - case "com.amazonaws.medialive#BadGatewayException": - response = { - ...(await deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "BadRequestException": case "com.amazonaws.medialive#BadRequestException": response = { @@ -5733,14 +6808,6 @@ const deserializeAws_restJson1ListReservationsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "GatewayTimeoutException": - case "com.amazonaws.medialive#GatewayTimeoutException": - response = { - ...(await deserializeAws_restJson1GatewayTimeoutExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerErrorException": case "com.amazonaws.medialive#InternalServerErrorException": response = { @@ -5749,10 +6816,10 @@ const deserializeAws_restJson1ListReservationsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "TooManyRequestsException": - case "com.amazonaws.medialive#TooManyRequestsException": + case "NotFoundException": + case "com.amazonaws.medialive#NotFoundException": response = { - ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -5774,28 +6841,28 @@ const deserializeAws_restJson1ListReservationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListTagsForResourceCommand = async ( +export const deserializeAws_restJson1PurchaseOfferingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1PurchaseOfferingCommandError(output, context); } - const contents: ListTagsForResourceCommandOutput = { + const contents: PurchaseOfferingCommandOutput = { $metadata: deserializeMetadata(output), - Tags: undefined, + Reservation: undefined, }; const data: any = await parseBody(output.body, context); - if (data.tags !== undefined && data.tags !== null) { - contents.Tags = deserializeAws_restJson1Tags(data.tags, context); + if (data.reservation !== undefined && data.reservation !== null) { + contents.Reservation = deserializeAws_restJson1Reservation(data.reservation, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListTagsForResourceCommandError = async ( +const deserializeAws_restJson1PurchaseOfferingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5804,6 +6871,14 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "BadGatewayException": + case "com.amazonaws.medialive#BadGatewayException": + response = { + ...(await deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "BadRequestException": case "com.amazonaws.medialive#BadRequestException": response = { @@ -5812,6 +6887,14 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.medialive#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.medialive#ForbiddenException": response = { @@ -5820,6 +6903,14 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "GatewayTimeoutException": + case "com.amazonaws.medialive#GatewayTimeoutException": + response = { + ...(await deserializeAws_restJson1GatewayTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServerErrorException": case "com.amazonaws.medialive#InternalServerErrorException": response = { @@ -5836,6 +6927,14 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyRequestsException": + case "com.amazonaws.medialive#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -5853,28 +6952,24 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PurchaseOfferingCommand = async ( +export const deserializeAws_restJson1RejectInputDeviceTransferCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 201 && output.statusCode >= 300) { - return deserializeAws_restJson1PurchaseOfferingCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1RejectInputDeviceTransferCommandError(output, context); } - const contents: PurchaseOfferingCommandOutput = { + const contents: RejectInputDeviceTransferCommandOutput = { $metadata: deserializeMetadata(output), - Reservation: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.reservation !== undefined && data.reservation !== null) { - contents.Reservation = deserializeAws_restJson1Reservation(data.reservation, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1PurchaseOfferingCommandError = async ( +const deserializeAws_restJson1RejectInputDeviceTransferCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -5947,6 +7042,14 @@ const deserializeAws_restJson1PurchaseOfferingCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnprocessableEntityException": + case "com.amazonaws.medialive#UnprocessableEntityException": + response = { + ...(await deserializeAws_restJson1UnprocessableEntityExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -5974,6 +7077,7 @@ export const deserializeAws_restJson1StartChannelCommand = async ( const contents: StartChannelCommandOutput = { $metadata: deserializeMetadata(output), Arn: undefined, + CdiInputSpecification: undefined, ChannelClass: undefined, Destinations: undefined, EgressEndpoints: undefined, @@ -5993,6 +7097,9 @@ export const deserializeAws_restJson1StartChannelCommand = async ( if (data.arn !== undefined && data.arn !== null) { contents.Arn = data.arn; } + if (data.cdiInputSpecification !== undefined && data.cdiInputSpecification !== null) { + contents.CdiInputSpecification = deserializeAws_restJson1CdiInputSpecification(data.cdiInputSpecification, context); + } if (data.channelClass !== undefined && data.channelClass !== null) { contents.ChannelClass = data.channelClass; } @@ -6288,6 +7395,7 @@ export const deserializeAws_restJson1StopChannelCommand = async ( const contents: StopChannelCommandOutput = { $metadata: deserializeMetadata(output), Arn: undefined, + CdiInputSpecification: undefined, ChannelClass: undefined, Destinations: undefined, EgressEndpoints: undefined, @@ -6307,6 +7415,9 @@ export const deserializeAws_restJson1StopChannelCommand = async ( if (data.arn !== undefined && data.arn !== null) { contents.Arn = data.arn; } + if (data.cdiInputSpecification !== undefined && data.cdiInputSpecification !== null) { + contents.CdiInputSpecification = deserializeAws_restJson1CdiInputSpecification(data.cdiInputSpecification, context); + } if (data.channelClass !== undefined && data.channelClass !== null) { contents.ChannelClass = data.channelClass; } @@ -6322,26 +7433,173 @@ export const deserializeAws_restJson1StopChannelCommand = async ( if (data.id !== undefined && data.id !== null) { contents.Id = data.id; } - if (data.inputAttachments !== undefined && data.inputAttachments !== null) { - contents.InputAttachments = deserializeAws_restJson1__listOfInputAttachment(data.inputAttachments, context); - } - if (data.inputSpecification !== undefined && data.inputSpecification !== null) { - contents.InputSpecification = deserializeAws_restJson1InputSpecification(data.inputSpecification, context); - } - if (data.logLevel !== undefined && data.logLevel !== null) { - contents.LogLevel = data.logLevel; + if (data.inputAttachments !== undefined && data.inputAttachments !== null) { + contents.InputAttachments = deserializeAws_restJson1__listOfInputAttachment(data.inputAttachments, context); + } + if (data.inputSpecification !== undefined && data.inputSpecification !== null) { + contents.InputSpecification = deserializeAws_restJson1InputSpecification(data.inputSpecification, context); + } + if (data.logLevel !== undefined && data.logLevel !== null) { + contents.LogLevel = data.logLevel; + } + if (data.name !== undefined && data.name !== null) { + contents.Name = data.name; + } + if (data.pipelineDetails !== undefined && data.pipelineDetails !== null) { + contents.PipelineDetails = deserializeAws_restJson1__listOfPipelineDetail(data.pipelineDetails, context); + } + if (data.pipelinesRunningCount !== undefined && data.pipelinesRunningCount !== null) { + contents.PipelinesRunningCount = data.pipelinesRunningCount; + } + if (data.roleArn !== undefined && data.roleArn !== null) { + contents.RoleArn = data.roleArn; + } + if (data.state !== undefined && data.state !== null) { + contents.State = data.state; + } + if (data.tags !== undefined && data.tags !== null) { + contents.Tags = deserializeAws_restJson1Tags(data.tags, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1StopChannelCommandError = 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 "BadGatewayException": + case "com.amazonaws.medialive#BadGatewayException": + response = { + ...(await deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadRequestException": + case "com.amazonaws.medialive#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.medialive#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.medialive#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "GatewayTimeoutException": + case "com.amazonaws.medialive#GatewayTimeoutException": + response = { + ...(await deserializeAws_restJson1GatewayTimeoutExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.medialive#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.medialive#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.medialive#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1StopMultiplexCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return deserializeAws_restJson1StopMultiplexCommandError(output, context); + } + const contents: StopMultiplexCommandOutput = { + $metadata: deserializeMetadata(output), + Arn: undefined, + AvailabilityZones: undefined, + Destinations: undefined, + Id: undefined, + MultiplexSettings: undefined, + Name: undefined, + PipelinesRunningCount: undefined, + ProgramCount: undefined, + State: undefined, + Tags: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.Arn = data.arn; + } + if (data.availabilityZones !== undefined && data.availabilityZones !== null) { + contents.AvailabilityZones = deserializeAws_restJson1__listOf__string(data.availabilityZones, context); + } + if (data.destinations !== undefined && data.destinations !== null) { + contents.Destinations = deserializeAws_restJson1__listOfMultiplexOutputDestination(data.destinations, context); + } + if (data.id !== undefined && data.id !== null) { + contents.Id = data.id; + } + if (data.multiplexSettings !== undefined && data.multiplexSettings !== null) { + contents.MultiplexSettings = deserializeAws_restJson1MultiplexSettings(data.multiplexSettings, context); } if (data.name !== undefined && data.name !== null) { contents.Name = data.name; } - if (data.pipelineDetails !== undefined && data.pipelineDetails !== null) { - contents.PipelineDetails = deserializeAws_restJson1__listOfPipelineDetail(data.pipelineDetails, context); - } if (data.pipelinesRunningCount !== undefined && data.pipelinesRunningCount !== null) { contents.PipelinesRunningCount = data.pipelinesRunningCount; } - if (data.roleArn !== undefined && data.roleArn !== null) { - contents.RoleArn = data.roleArn; + if (data.programCount !== undefined && data.programCount !== null) { + contents.ProgramCount = data.programCount; } if (data.state !== undefined && data.state !== null) { contents.State = data.state; @@ -6352,10 +7610,10 @@ export const deserializeAws_restJson1StopChannelCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1StopChannelCommandError = async ( +const deserializeAws_restJson1StopMultiplexCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6445,64 +7703,24 @@ const deserializeAws_restJson1StopChannelCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1StopMultiplexCommand = async ( +export const deserializeAws_restJson1TransferInputDeviceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 202 && output.statusCode >= 300) { - return deserializeAws_restJson1StopMultiplexCommandError(output, context); +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1TransferInputDeviceCommandError(output, context); } - const contents: StopMultiplexCommandOutput = { + const contents: TransferInputDeviceCommandOutput = { $metadata: deserializeMetadata(output), - Arn: undefined, - AvailabilityZones: undefined, - Destinations: undefined, - Id: undefined, - MultiplexSettings: undefined, - Name: undefined, - PipelinesRunningCount: undefined, - ProgramCount: undefined, - State: undefined, - Tags: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.arn !== undefined && data.arn !== null) { - contents.Arn = data.arn; - } - if (data.availabilityZones !== undefined && data.availabilityZones !== null) { - contents.AvailabilityZones = deserializeAws_restJson1__listOf__string(data.availabilityZones, context); - } - if (data.destinations !== undefined && data.destinations !== null) { - contents.Destinations = deserializeAws_restJson1__listOfMultiplexOutputDestination(data.destinations, context); - } - if (data.id !== undefined && data.id !== null) { - contents.Id = data.id; - } - if (data.multiplexSettings !== undefined && data.multiplexSettings !== null) { - contents.MultiplexSettings = deserializeAws_restJson1MultiplexSettings(data.multiplexSettings, context); - } - if (data.name !== undefined && data.name !== null) { - contents.Name = data.name; - } - if (data.pipelinesRunningCount !== undefined && data.pipelinesRunningCount !== null) { - contents.PipelinesRunningCount = data.pipelinesRunningCount; - } - if (data.programCount !== undefined && data.programCount !== null) { - contents.ProgramCount = data.programCount; - } - if (data.state !== undefined && data.state !== null) { - contents.State = data.state; - } - if (data.tags !== undefined && data.tags !== null) { - contents.Tags = deserializeAws_restJson1Tags(data.tags, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1StopMultiplexCommandError = async ( +const deserializeAws_restJson1TransferInputDeviceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -6575,6 +7793,14 @@ const deserializeAws_restJson1StopMultiplexCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnprocessableEntityException": + case "com.amazonaws.medialive#UnprocessableEntityException": + response = { + ...(await deserializeAws_restJson1UnprocessableEntityExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -7823,6 +9049,17 @@ const serializeAws_restJson1Ac3Settings = (input: Ac3Settings, context: __SerdeC }; }; +const serializeAws_restJson1AncillarySourceSettings = ( + input: AncillarySourceSettings, + context: __SerdeContext +): any => { + return { + ...(input.SourceAncillaryChannelNumber !== undefined && { + sourceAncillaryChannelNumber: input.SourceAncillaryChannelNumber, + }), + }; +}; + const serializeAws_restJson1ArchiveContainerSettings = ( input: ArchiveContainerSettings, context: __SerdeContext @@ -7831,6 +9068,9 @@ const serializeAws_restJson1ArchiveContainerSettings = ( ...(input.M2tsSettings !== undefined && { m2tsSettings: serializeAws_restJson1M2tsSettings(input.M2tsSettings, context), }), + ...(input.RawSettings !== undefined && { + rawSettings: serializeAws_restJson1RawSettings(input.RawSettings, context), + }), }; }; @@ -7890,6 +9130,9 @@ const serializeAws_restJson1AudioCodecSettings = (input: AudioCodecSettings, con ...(input.PassThroughSettings !== undefined && { passThroughSettings: serializeAws_restJson1PassThroughSettings(input.PassThroughSettings, context), }), + ...(input.WavSettings !== undefined && { + wavSettings: serializeAws_restJson1WavSettings(input.WavSettings, context), + }), }; }; @@ -8201,6 +9444,9 @@ const serializeAws_restJson1CaptionSelectorSettings = ( context: __SerdeContext ): any => { return { + ...(input.AncillarySourceSettings !== undefined && { + ancillarySourceSettings: serializeAws_restJson1AncillarySourceSettings(input.AncillarySourceSettings, context), + }), ...(input.AribSourceSettings !== undefined && { aribSourceSettings: serializeAws_restJson1AribSourceSettings(input.AribSourceSettings, context), }), @@ -8222,6 +9468,12 @@ const serializeAws_restJson1CaptionSelectorSettings = ( }; }; +const serializeAws_restJson1CdiInputSpecification = (input: CdiInputSpecification, context: __SerdeContext): any => { + return { + ...(input.Resolution !== undefined && { resolution: input.Resolution }), + }; +}; + const serializeAws_restJson1ColorSpacePassthroughSettings = ( input: ColorSpacePassthroughSettings, context: __SerdeContext @@ -9096,6 +10348,37 @@ const serializeAws_restJson1Mp2Settings = (input: Mp2Settings, context: __SerdeC }; }; +const serializeAws_restJson1Mpeg2FilterSettings = (input: Mpeg2FilterSettings, context: __SerdeContext): any => { + return { + ...(input.TemporalFilterSettings !== undefined && { + temporalFilterSettings: serializeAws_restJson1TemporalFilterSettings(input.TemporalFilterSettings, context), + }), + }; +}; + +const serializeAws_restJson1Mpeg2Settings = (input: Mpeg2Settings, context: __SerdeContext): any => { + return { + ...(input.AdaptiveQuantization !== undefined && { adaptiveQuantization: input.AdaptiveQuantization }), + ...(input.AfdSignaling !== undefined && { afdSignaling: input.AfdSignaling }), + ...(input.ColorMetadata !== undefined && { colorMetadata: input.ColorMetadata }), + ...(input.ColorSpace !== undefined && { colorSpace: input.ColorSpace }), + ...(input.DisplayAspectRatio !== undefined && { displayAspectRatio: input.DisplayAspectRatio }), + ...(input.FilterSettings !== undefined && { + filterSettings: serializeAws_restJson1Mpeg2FilterSettings(input.FilterSettings, context), + }), + ...(input.FixedAfd !== undefined && { fixedAfd: input.FixedAfd }), + ...(input.FramerateDenominator !== undefined && { framerateDenominator: input.FramerateDenominator }), + ...(input.FramerateNumerator !== undefined && { framerateNumerator: input.FramerateNumerator }), + ...(input.GopClosedCadence !== undefined && { gopClosedCadence: input.GopClosedCadence }), + ...(input.GopNumBFrames !== undefined && { gopNumBFrames: input.GopNumBFrames }), + ...(input.GopSize !== undefined && { gopSize: input.GopSize }), + ...(input.GopSizeUnits !== undefined && { gopSizeUnits: input.GopSizeUnits }), + ...(input.ScanType !== undefined && { scanType: input.ScanType }), + ...(input.SubgopLength !== undefined && { subgopLength: input.SubgopLength }), + ...(input.TimecodeInsertion !== undefined && { timecodeInsertion: input.TimecodeInsertion }), + }; +}; + const serializeAws_restJson1MsSmoothGroupSettings = (input: MsSmoothGroupSettings, context: __SerdeContext): any => { return { ...(input.AcquisitionPointId !== undefined && { acquisitionPointId: input.AcquisitionPointId }), @@ -9200,6 +10483,7 @@ const serializeAws_restJson1MultiplexStatmuxVideoSettings = ( return { ...(input.MaximumBitrate !== undefined && { maximumBitrate: input.MaximumBitrate }), ...(input.MinimumBitrate !== undefined && { minimumBitrate: input.MinimumBitrate }), + ...(input.Priority !== undefined && { priority: input.Priority }), }; }; @@ -9387,6 +10671,10 @@ const serializeAws_restJson1PipelinePauseStateSettings = ( }; }; +const serializeAws_restJson1RawSettings = (input: RawSettings, context: __SerdeContext): any => { + return {}; +}; + const serializeAws_restJson1Rec601Settings = (input: Rec601Settings, context: __SerdeContext): any => { return {}; }; @@ -9820,6 +11108,9 @@ const serializeAws_restJson1VideoCodecSettings = (input: VideoCodecSettings, con ...(input.H265Settings !== undefined && { h265Settings: serializeAws_restJson1H265Settings(input.H265Settings, context), }), + ...(input.Mpeg2Settings !== undefined && { + mpeg2Settings: serializeAws_restJson1Mpeg2Settings(input.Mpeg2Settings, context), + }), }; }; @@ -9870,6 +11161,14 @@ const serializeAws_restJson1VideoSelectorSettings = (input: VideoSelectorSetting }; }; +const serializeAws_restJson1WavSettings = (input: WavSettings, context: __SerdeContext): any => { + return { + ...(input.BitDepth !== undefined && { bitDepth: input.BitDepth }), + ...(input.CodingMode !== undefined && { codingMode: input.CodingMode }), + ...(input.SampleRate !== undefined && { sampleRate: input.SampleRate }), + }; +}; + const serializeAws_restJson1WebvttDestinationSettings = ( input: WebvttDestinationSettings, context: __SerdeContext @@ -9904,6 +11203,20 @@ const deserializeAws_restJson1__listOfAudioTrack = (output: any, context: __Serd return (output || []).map((entry: any) => deserializeAws_restJson1AudioTrack(entry, context)); }; +const deserializeAws_restJson1__listOfBatchFailedResultModel = ( + output: any, + context: __SerdeContext +): BatchFailedResultModel[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1BatchFailedResultModel(entry, context)); +}; + +const deserializeAws_restJson1__listOfBatchSuccessfulResultModel = ( + output: any, + context: __SerdeContext +): BatchSuccessfulResultModel[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1BatchSuccessfulResultModel(entry, context)); +}; + const deserializeAws_restJson1__listOfCaptionDescription = ( output: any, context: __SerdeContext @@ -10011,6 +11324,13 @@ const deserializeAws_restJson1__listOfMultiplexOutputDestination = ( return (output || []).map((entry: any) => deserializeAws_restJson1MultiplexOutputDestination(entry, context)); }; +const deserializeAws_restJson1__listOfMultiplexProgramPipelineDetail = ( + output: any, + context: __SerdeContext +): MultiplexProgramPipelineDetail[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1MultiplexProgramPipelineDetail(entry, context)); +}; + const deserializeAws_restJson1__listOfMultiplexProgramSummary = ( output: any, context: __SerdeContext @@ -10071,6 +11391,13 @@ const deserializeAws_restJson1__listOfScte35Descriptor = (output: any, context: return (output || []).map((entry: any) => deserializeAws_restJson1Scte35Descriptor(entry, context)); }; +const deserializeAws_restJson1__listOfTransferringInputDeviceSummary = ( + output: any, + context: __SerdeContext +): TransferringInputDeviceSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1TransferringInputDeviceSummary(entry, context)); +}; + const deserializeAws_restJson1__listOfValidationError = (output: any, context: __SerdeContext): ValidationError[] => { return (output || []).map((entry: any) => deserializeAws_restJson1ValidationError(entry, context)); }; @@ -10108,6 +11435,18 @@ const deserializeAws_restJson1Ac3Settings = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_restJson1AncillarySourceSettings = ( + output: any, + context: __SerdeContext +): AncillarySourceSettings => { + return { + SourceAncillaryChannelNumber: + output.sourceAncillaryChannelNumber !== undefined && output.sourceAncillaryChannelNumber !== null + ? output.sourceAncillaryChannelNumber + : undefined, + } as any; +}; + const deserializeAws_restJson1ArchiveContainerSettings = ( output: any, context: __SerdeContext @@ -10117,6 +11456,10 @@ const deserializeAws_restJson1ArchiveContainerSettings = ( output.m2tsSettings !== undefined && output.m2tsSettings !== null ? deserializeAws_restJson1M2tsSettings(output.m2tsSettings, context) : undefined, + RawSettings: + output.rawSettings !== undefined && output.rawSettings !== null + ? deserializeAws_restJson1RawSettings(output.rawSettings, context) + : undefined, } as any; }; @@ -10186,6 +11529,10 @@ const deserializeAws_restJson1AudioCodecSettings = (output: any, context: __Serd output.passThroughSettings !== undefined && output.passThroughSettings !== null ? deserializeAws_restJson1PassThroughSettings(output.passThroughSettings, context) : undefined, + WavSettings: + output.wavSettings !== undefined && output.wavSettings !== null + ? deserializeAws_restJson1WavSettings(output.wavSettings, context) + : undefined, } as any; }; @@ -10350,6 +11697,18 @@ const deserializeAws_restJson1AvailSettings = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_restJson1BatchFailedResultModel = ( + output: any, + context: __SerdeContext +): BatchFailedResultModel => { + return { + Arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + Code: output.code !== undefined && output.code !== null ? output.code : undefined, + Id: output.id !== undefined && output.id !== null ? output.id : undefined, + Message: output.message !== undefined && output.message !== null ? output.message : undefined, + } as any; +}; + const deserializeAws_restJson1BatchScheduleActionCreateResult = ( output: any, context: __SerdeContext @@ -10374,6 +11733,17 @@ const deserializeAws_restJson1BatchScheduleActionDeleteResult = ( } as any; }; +const deserializeAws_restJson1BatchSuccessfulResultModel = ( + output: any, + context: __SerdeContext +): BatchSuccessfulResultModel => { + return { + Arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + Id: output.id !== undefined && output.id !== null ? output.id : undefined, + State: output.state !== undefined && output.state !== null ? output.state : undefined, + } as any; +}; + const deserializeAws_restJson1BlackoutSlate = (output: any, context: __SerdeContext): BlackoutSlate => { return { BlackoutSlateImage: @@ -10550,6 +11920,10 @@ const deserializeAws_restJson1CaptionSelectorSettings = ( context: __SerdeContext ): CaptionSelectorSettings => { return { + AncillarySourceSettings: + output.ancillarySourceSettings !== undefined && output.ancillarySourceSettings !== null + ? deserializeAws_restJson1AncillarySourceSettings(output.ancillarySourceSettings, context) + : undefined, AribSourceSettings: output.aribSourceSettings !== undefined && output.aribSourceSettings !== null ? deserializeAws_restJson1AribSourceSettings(output.aribSourceSettings, context) @@ -10577,9 +11951,19 @@ const deserializeAws_restJson1CaptionSelectorSettings = ( } as any; }; +const deserializeAws_restJson1CdiInputSpecification = (output: any, context: __SerdeContext): CdiInputSpecification => { + return { + Resolution: output.resolution !== undefined && output.resolution !== null ? output.resolution : undefined, + } as any; +}; + const deserializeAws_restJson1Channel = (output: any, context: __SerdeContext): Channel => { return { Arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + CdiInputSpecification: + output.cdiInputSpecification !== undefined && output.cdiInputSpecification !== null + ? deserializeAws_restJson1CdiInputSpecification(output.cdiInputSpecification, context) + : undefined, ChannelClass: output.channelClass !== undefined && output.channelClass !== null ? output.channelClass : undefined, Destinations: output.destinations !== undefined && output.destinations !== null @@ -10630,6 +12014,10 @@ const deserializeAws_restJson1ChannelEgressEndpoint = (output: any, context: __S const deserializeAws_restJson1ChannelSummary = (output: any, context: __SerdeContext): ChannelSummary => { return { Arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + CdiInputSpecification: + output.cdiInputSpecification !== undefined && output.cdiInputSpecification !== null + ? deserializeAws_restJson1CdiInputSpecification(output.cdiInputSpecification, context) + : undefined, ChannelClass: output.channelClass !== undefined && output.channelClass !== null ? output.channelClass : undefined, Destinations: output.destinations !== undefined && output.destinations !== null @@ -11992,6 +13380,57 @@ const deserializeAws_restJson1Mp2Settings = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_restJson1Mpeg2FilterSettings = (output: any, context: __SerdeContext): Mpeg2FilterSettings => { + return { + TemporalFilterSettings: + output.temporalFilterSettings !== undefined && output.temporalFilterSettings !== null + ? deserializeAws_restJson1TemporalFilterSettings(output.temporalFilterSettings, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1Mpeg2Settings = (output: any, context: __SerdeContext): Mpeg2Settings => { + return { + AdaptiveQuantization: + output.adaptiveQuantization !== undefined && output.adaptiveQuantization !== null + ? output.adaptiveQuantization + : undefined, + AfdSignaling: output.afdSignaling !== undefined && output.afdSignaling !== null ? output.afdSignaling : undefined, + ColorMetadata: + output.colorMetadata !== undefined && output.colorMetadata !== null ? output.colorMetadata : undefined, + ColorSpace: output.colorSpace !== undefined && output.colorSpace !== null ? output.colorSpace : undefined, + DisplayAspectRatio: + output.displayAspectRatio !== undefined && output.displayAspectRatio !== null + ? output.displayAspectRatio + : undefined, + FilterSettings: + output.filterSettings !== undefined && output.filterSettings !== null + ? deserializeAws_restJson1Mpeg2FilterSettings(output.filterSettings, context) + : undefined, + FixedAfd: output.fixedAfd !== undefined && output.fixedAfd !== null ? output.fixedAfd : undefined, + FramerateDenominator: + output.framerateDenominator !== undefined && output.framerateDenominator !== null + ? output.framerateDenominator + : undefined, + FramerateNumerator: + output.framerateNumerator !== undefined && output.framerateNumerator !== null + ? output.framerateNumerator + : undefined, + GopClosedCadence: + output.gopClosedCadence !== undefined && output.gopClosedCadence !== null ? output.gopClosedCadence : undefined, + GopNumBFrames: + output.gopNumBFrames !== undefined && output.gopNumBFrames !== null ? output.gopNumBFrames : undefined, + GopSize: output.gopSize !== undefined && output.gopSize !== null ? output.gopSize : undefined, + GopSizeUnits: output.gopSizeUnits !== undefined && output.gopSizeUnits !== null ? output.gopSizeUnits : undefined, + ScanType: output.scanType !== undefined && output.scanType !== null ? output.scanType : undefined, + SubgopLength: output.subgopLength !== undefined && output.subgopLength !== null ? output.subgopLength : undefined, + TimecodeInsertion: + output.timecodeInsertion !== undefined && output.timecodeInsertion !== null + ? output.timecodeInsertion + : undefined, + } as any; +}; + const deserializeAws_restJson1MsSmoothGroupSettings = (output: any, context: __SerdeContext): MsSmoothGroupSettings => { return { AcquisitionPointId: @@ -12141,6 +13580,10 @@ const deserializeAws_restJson1MultiplexProgram = (output: any, context: __SerdeC output.packetIdentifiersMap !== undefined && output.packetIdentifiersMap !== null ? deserializeAws_restJson1MultiplexProgramPacketIdentifiersMap(output.packetIdentifiersMap, context) : undefined, + PipelineDetails: + output.pipelineDetails !== undefined && output.pipelineDetails !== null + ? deserializeAws_restJson1__listOfMultiplexProgramPipelineDetail(output.pipelineDetails, context) + : undefined, ProgramName: output.programName !== undefined && output.programName !== null ? output.programName : undefined, } as any; }; @@ -12194,6 +13637,19 @@ const deserializeAws_restJson1MultiplexProgramPacketIdentifiersMap = ( } as any; }; +const deserializeAws_restJson1MultiplexProgramPipelineDetail = ( + output: any, + context: __SerdeContext +): MultiplexProgramPipelineDetail => { + return { + ActiveChannelPipeline: + output.activeChannelPipeline !== undefined && output.activeChannelPipeline !== null + ? output.activeChannelPipeline + : undefined, + PipelineId: output.pipelineId !== undefined && output.pipelineId !== null ? output.pipelineId : undefined, + } as any; +}; + const deserializeAws_restJson1MultiplexProgramServiceDescriptor = ( output: any, context: __SerdeContext @@ -12278,6 +13734,7 @@ const deserializeAws_restJson1MultiplexStatmuxVideoSettings = ( output.maximumBitrate !== undefined && output.maximumBitrate !== null ? output.maximumBitrate : undefined, MinimumBitrate: output.minimumBitrate !== undefined && output.minimumBitrate !== null ? output.minimumBitrate : undefined, + Priority: output.priority !== undefined && output.priority !== null ? output.priority : undefined, } as any; }; @@ -12553,6 +14010,10 @@ const deserializeAws_restJson1PipelinePauseStateSettings = ( } as any; }; +const deserializeAws_restJson1RawSettings = (output: any, context: __SerdeContext): RawSettings => { + return {} as any; +}; + const deserializeAws_restJson1Rec601Settings = (output: any, context: __SerdeContext): Rec601Settings => { return {} as any; }; @@ -13079,6 +14540,19 @@ const deserializeAws_restJson1TimecodeConfig = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_restJson1TransferringInputDeviceSummary = ( + output: any, + context: __SerdeContext +): TransferringInputDeviceSummary => { + return { + Id: output.id !== undefined && output.id !== null ? output.id : undefined, + Message: output.message !== undefined && output.message !== null ? output.message : undefined, + TargetCustomerId: + output.targetCustomerId !== undefined && output.targetCustomerId !== null ? output.targetCustomerId : undefined, + TransferType: output.transferType !== undefined && output.transferType !== null ? output.transferType : undefined, + } as any; +}; + const deserializeAws_restJson1TtmlDestinationSettings = ( output: any, context: __SerdeContext @@ -13151,6 +14625,10 @@ const deserializeAws_restJson1VideoCodecSettings = (output: any, context: __Serd output.h265Settings !== undefined && output.h265Settings !== null ? deserializeAws_restJson1H265Settings(output.h265Settings, context) : undefined, + Mpeg2Settings: + output.mpeg2Settings !== undefined && output.mpeg2Settings !== null + ? deserializeAws_restJson1Mpeg2Settings(output.mpeg2Settings, context) + : undefined, } as any; }; @@ -13210,6 +14688,14 @@ const deserializeAws_restJson1VideoSelectorSettings = (output: any, context: __S } as any; }; +const deserializeAws_restJson1WavSettings = (output: any, context: __SerdeContext): WavSettings => { + return { + BitDepth: output.bitDepth !== undefined && output.bitDepth !== null ? output.bitDepth : undefined, + CodingMode: output.codingMode !== undefined && output.codingMode !== null ? output.codingMode : undefined, + SampleRate: output.sampleRate !== undefined && output.sampleRate !== null ? output.sampleRate : undefined, + } as any; +}; + const deserializeAws_restJson1WebvttDestinationSettings = ( output: any, context: __SerdeContext diff --git a/clients/client-mediapackage-vod/index.ts b/clients/client-mediapackage-vod/index.ts index 5eb18029e21a..04654adda21a 100644 --- a/clients/client-mediapackage-vod/index.ts +++ b/clients/client-mediapackage-vod/index.ts @@ -10,10 +10,14 @@ export * from "./commands/DescribeAssetCommand"; export * from "./commands/DescribePackagingConfigurationCommand"; export * from "./commands/DescribePackagingGroupCommand"; export * from "./commands/ListAssetsCommand"; +export * from "./pagination/ListAssetsPaginator"; export * from "./commands/ListPackagingConfigurationsCommand"; +export * from "./pagination/ListPackagingConfigurationsPaginator"; export * from "./commands/ListPackagingGroupsCommand"; +export * from "./pagination/ListPackagingGroupsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdatePackagingGroupCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-mediapackage-vod/models/models_0.ts b/clients/client-mediapackage-vod/models/models_0.ts index ed8c7f0dbc0c..3c3b90bfbb2e 100644 --- a/clients/client-mediapackage-vod/models/models_0.ts +++ b/clients/client-mediapackage-vod/models/models_0.ts @@ -10,14 +10,14 @@ export enum __PeriodTriggersElement { */ export interface AssetShallow { /** - * The time the Asset was initially submitted for Ingest. + * The ARN of the Asset. */ - CreatedAt?: string; + Arn?: string; /** - * A collection of tags associated with a resource + * ARN of the source object in S3. */ - Tags?: { [key: string]: string }; + SourceArn?: string; /** * The ID of the PackagingGroup for the Asset. @@ -25,29 +25,29 @@ export interface AssetShallow { PackagingGroupId?: string; /** - * ARN of the source object in S3. + * The resource ID to include in SPEKE key requests. */ - SourceArn?: string; + ResourceId?: string; /** - * The resource ID to include in SPEKE key requests. + * The unique identifier for the Asset. */ - ResourceId?: string; + Id?: string; /** - * The IAM role ARN used to access the source S3 bucket. + * The time the Asset was initially submitted for Ingest. */ - SourceRoleArn?: string; + CreatedAt?: string; /** - * The unique identifier for the Asset. + * The IAM role ARN used to access the source S3 bucket. */ - Id?: string; + SourceRoleArn?: string; /** - * The ARN of the Asset. + * A collection of tags associated with a resource */ - Arn?: string; + Tags?: { [key: string]: string }; } export namespace AssetShallow { @@ -102,6 +102,11 @@ export namespace StreamSelection { * A DASH manifest configuration. */ export interface DashManifest { + /** + * The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to "HBBTV_1_5", HbbTV 1.5 compliant output is enabled. + */ + Profile?: Profile | string; + /** * An optional string to include in the name of the manifest. */ @@ -121,11 +126,6 @@ export interface DashManifest { * Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level. */ ManifestLayout?: ManifestLayout | string; - - /** - * The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to "HBBTV_1_5", HbbTV 1.5 compliant output is enabled. - */ - Profile?: Profile | string; } export namespace DashManifest { @@ -166,9 +166,9 @@ export enum AdMarkers { */ export interface HlsManifest { /** - * When enabled, an I-Frame only stream will be included in the output. + * A StreamSelection configuration. */ - IncludeIframeOnlyStream?: boolean; + StreamSelection?: StreamSelection; /** * When enabled, the EXT-X-KEY tag will be repeated in output manifests. @@ -176,17 +176,9 @@ export interface HlsManifest { RepeatExtXKey?: boolean; /** - * The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag - * inserted into manifests. Additionally, when an interval is specified - * ID3Timed Metadata messages will be generated every 5 seconds using the - * ingest time of the content. - * If the interval is not specified, or set to 0, then - * no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no - * ID3Timed Metadata messages will be generated. Note that irrespective - * of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, - * it will be passed through to HLS output. + * An optional string to include in the name of the manifest. */ - ProgramDateTimeIntervalSeconds?: number; + ManifestName?: string; /** * This setting controls how ad markers are included in the packaged OriginEndpoint. @@ -199,14 +191,22 @@ export interface HlsManifest { AdMarkers?: AdMarkers | string; /** - * A StreamSelection configuration. + * The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag + * inserted into manifests. Additionally, when an interval is specified + * ID3Timed Metadata messages will be generated every 5 seconds using the + * ingest time of the content. + * If the interval is not specified, or set to 0, then + * no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no + * ID3Timed Metadata messages will be generated. Note that irrespective + * of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, + * it will be passed through to HLS output. */ - StreamSelection?: StreamSelection; + ProgramDateTimeIntervalSeconds?: number; /** - * An optional string to include in the name of the manifest. + * When enabled, an I-Frame only stream will be included in the output. */ - ManifestName?: string; + IncludeIframeOnlyStream?: boolean; } export namespace HlsManifest { @@ -220,14 +220,14 @@ export namespace HlsManifest { */ export interface MssManifest { /** - * A StreamSelection configuration. + * An optional string to include in the name of the manifest. */ - StreamSelection?: StreamSelection; + ManifestName?: string; /** - * An optional string to include in the name of the manifest. + * A StreamSelection configuration. */ - ManifestName?: string; + StreamSelection?: StreamSelection; } export namespace MssManifest { @@ -241,15 +241,15 @@ export namespace MssManifest { */ export interface SpekeKeyProvider { /** - * An Amazon Resource Name (ARN) of an IAM role that AWS Elemental - * MediaPackage will assume when accessing the key provider service. + * The URL of the external key provider service. */ - RoleArn: string | undefined; + Url: string | undefined; /** - * The URL of the external key provider service. + * An Amazon Resource Name (ARN) of an IAM role that AWS Elemental + * MediaPackage will assume when accessing the key provider service. */ - Url: string | undefined; + RoleArn: string | undefined; /** * The system IDs to include in key requests. @@ -283,11 +283,6 @@ export namespace CmafEncryption { * A CMAF packaging configuration. */ export interface CmafPackage { - /** - * A list of HLS manifest configurations. - */ - HlsManifests: HlsManifest[] | undefined; - /** * Duration (in seconds) of each fragment. Actual fragments will be * rounded to the nearest multiple of the source fragment duration. @@ -298,6 +293,11 @@ export interface CmafPackage { * A CMAF encryption configuration. */ Encryption?: CmafEncryption; + + /** + * A list of HLS manifest configurations. + */ + HlsManifests: HlsManifest[] | undefined; } export namespace CmafPackage { @@ -333,21 +333,26 @@ export enum SegmentTemplateFormat { */ export interface DashPackage { /** - * Duration (in seconds) of each segment. Actual segments will be - * rounded to the nearest multiple of the source segment duration. + * A list of DASH manifest configurations. */ - SegmentDurationSeconds?: number; + DashManifests: DashManifest[] | undefined; /** - * A list of DASH manifest configurations. + * Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs. */ - DashManifests: DashManifest[] | undefined; + SegmentTemplateFormat?: SegmentTemplateFormat | string; /** * A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration. */ Encryption?: DashEncryption; + /** + * Duration (in seconds) of each segment. Actual segments will be + * rounded to the nearest multiple of the source segment duration. + */ + SegmentDurationSeconds?: number; + /** * A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH) * Media Presentation Description (MPD) will be partitioned into multiple periods. If empty, the content will not @@ -355,11 +360,6 @@ export interface DashPackage { * the Asset contains SCTE-35 ad markers. */ PeriodTriggers?: (__PeriodTriggersElement | string)[]; - - /** - * Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs. - */ - SegmentTemplateFormat?: SegmentTemplateFormat | string; } export namespace DashPackage { @@ -384,14 +384,14 @@ export interface HlsEncryption { ConstantInitializationVector?: string; /** - * A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys. + * The encryption method to use. */ - SpekeKeyProvider: SpekeKeyProvider | undefined; + EncryptionMethod?: EncryptionMethod | string; /** - * The encryption method to use. + * A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys. */ - EncryptionMethod?: EncryptionMethod | string; + SpekeKeyProvider: SpekeKeyProvider | undefined; } export namespace HlsEncryption { @@ -405,9 +405,9 @@ export namespace HlsEncryption { */ export interface HlsPackage { /** - * A list of HLS manifest configurations. + * An HTTP Live Streaming (HLS) encryption configuration. */ - HlsManifests: HlsManifest[] | undefined; + Encryption?: HlsEncryption; /** * When enabled, audio streams will be placed in rendition groups in the output. @@ -415,9 +415,9 @@ export interface HlsPackage { UseAudioRenditionGroup?: boolean; /** - * An HTTP Live Streaming (HLS) encryption configuration. + * A list of HLS manifest configurations. */ - Encryption?: HlsEncryption; + HlsManifests: HlsManifest[] | undefined; /** * Duration (in seconds) of each fragment. Actual fragments will be @@ -479,9 +479,14 @@ export namespace MssPackage { */ export interface PackagingConfiguration { /** - * The ID of the PackagingConfiguration. + * A collection of tags associated with a resource */ - Id?: string; + Tags?: { [key: string]: string }; + + /** + * A Microsoft Smooth Streaming (MSS) PackagingConfiguration. + */ + MssPackage?: MssPackage; /** * An HTTP Live Streaming (HLS) packaging configuration. @@ -503,20 +508,15 @@ export interface PackagingConfiguration { */ Arn?: string; - /** - * A collection of tags associated with a resource - */ - Tags?: { [key: string]: string }; - /** * A CMAF packaging configuration. */ CmafPackage?: CmafPackage; /** - * A Microsoft Smooth Streaming (MSS) PackagingConfiguration. + * The ID of the PackagingConfiguration. */ - MssPackage?: MssPackage; + Id?: string; } export namespace PackagingConfiguration { @@ -530,14 +530,14 @@ export namespace PackagingConfiguration { */ export interface Authorization { /** - * The Amazon Resource Name (ARN) for the IAM role that allows MediaPackage to communicate with AWS Secrets Manager. + * The Amazon Resource Name (ARN) for the secret in AWS Secrets Manager that is used for CDN authorization. */ - SecretsRoleArn: string | undefined; + CdnIdentifierSecret: string | undefined; /** - * The Amazon Resource Name (ARN) for the secret in AWS Secrets Manager that is used for CDN authorization. + * The Amazon Resource Name (ARN) for the IAM role that allows MediaPackage to communicate with AWS Secrets Manager. */ - CdnIdentifierSecret: string | undefined; + SecretsRoleArn: string | undefined; } export namespace Authorization { @@ -550,21 +550,11 @@ export namespace Authorization { * A MediaPackage VOD PackagingGroup resource. */ export interface PackagingGroup { - /** - * A collection of tags associated with a resource - */ - Tags?: { [key: string]: string }; - /** * CDN Authorization credentials */ Authorization?: Authorization; - /** - * The ARN of the PackagingGroup. - */ - Arn?: string; - /** * The fully qualified domain name for Assets in the PackagingGroup. */ @@ -574,6 +564,16 @@ export interface PackagingGroup { * The ID of the PackagingGroup. */ Id?: string; + + /** + * A collection of tags associated with a resource + */ + Tags?: { [key: string]: string }; + + /** + * The ARN of the PackagingGroup. + */ + Arn?: string; } export namespace PackagingGroup { @@ -601,11 +601,6 @@ export interface CreateAssetRequest { */ SourceArn: string | undefined; - /** - * The ID of the PackagingGroup for the Asset. - */ - PackagingGroupId: string | undefined; - /** * The IAM role ARN used to access the source S3 bucket. */ @@ -615,6 +610,11 @@ export interface CreateAssetRequest { * The unique identifier for the Asset. */ Id: string | undefined; + + /** + * The ID of the PackagingGroup for the Asset. + */ + PackagingGroupId: string | undefined; } export namespace CreateAssetRequest { @@ -625,49 +625,49 @@ export namespace CreateAssetRequest { export interface CreateAssetResponse { /** - * The time the Asset was initially submitted for Ingest. + * The unique identifier for the Asset. */ - CreatedAt?: string; + Id?: string; /** - * ARN of the source object in S3. + * The IAM role_arn used to access the source S3 bucket. */ - SourceArn?: string; + SourceRoleArn?: string; /** - * The unique identifier for the Asset. + * The resource ID to include in SPEKE key requests. */ - Id?: string; + ResourceId?: string; /** - * The ID of the PackagingGroup for the Asset. + * The ARN of the Asset. */ - PackagingGroupId?: string; + Arn?: string; /** - * The resource ID to include in SPEKE key requests. + * The time the Asset was initially submitted for Ingest. */ - ResourceId?: string; + CreatedAt?: string; /** - * A collection of tags associated with a resource + * ARN of the source object in S3. */ - Tags?: { [key: string]: string }; + SourceArn?: string; /** - * The list of egress endpoints available for the Asset. + * The ID of the PackagingGroup for the Asset. */ - EgressEndpoints?: EgressEndpoint[]; + PackagingGroupId?: string; /** - * The IAM role_arn used to access the source S3 bucket. + * The list of egress endpoints available for the Asset. */ - SourceRoleArn?: string; + EgressEndpoints?: EgressEndpoint[]; /** - * The ARN of the Asset. + * A collection of tags associated with a resource */ - Arn?: string; + Tags?: { [key: string]: string }; } export namespace CreateAssetResponse { @@ -771,19 +771,19 @@ export namespace UnprocessableEntityException { */ export interface CreatePackagingConfigurationRequest { /** - * A collection of tags associated with a resource + * The ID of a PackagingGroup. */ - Tags?: { [key: string]: string }; + PackagingGroupId: string | undefined; /** - * A CMAF packaging configuration. + * An HTTP Live Streaming (HLS) packaging configuration. */ - CmafPackage?: CmafPackage; + HlsPackage?: HlsPackage; /** - * The ID of the PackagingConfiguration. + * A Microsoft Smooth Streaming (MSS) PackagingConfiguration. */ - Id: string | undefined; + MssPackage?: MssPackage; /** * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. @@ -791,19 +791,19 @@ export interface CreatePackagingConfigurationRequest { DashPackage?: DashPackage; /** - * The ID of a PackagingGroup. + * The ID of the PackagingConfiguration. */ - PackagingGroupId: string | undefined; + Id: string | undefined; /** - * An HTTP Live Streaming (HLS) packaging configuration. + * A collection of tags associated with a resource */ - HlsPackage?: HlsPackage; + Tags?: { [key: string]: string }; /** - * A Microsoft Smooth Streaming (MSS) PackagingConfiguration. + * A CMAF packaging configuration. */ - MssPackage?: MssPackage; + CmafPackage?: CmafPackage; } export namespace CreatePackagingConfigurationRequest { @@ -814,44 +814,44 @@ export namespace CreatePackagingConfigurationRequest { export interface CreatePackagingConfigurationResponse { /** - * A CMAF packaging configuration. + * A collection of tags associated with a resource */ - CmafPackage?: CmafPackage; + Tags?: { [key: string]: string }; /** - * An HTTP Live Streaming (HLS) packaging configuration. + * The ID of the PackagingConfiguration. */ - HlsPackage?: HlsPackage; + Id?: string; /** - * A Microsoft Smooth Streaming (MSS) PackagingConfiguration. + * A CMAF packaging configuration. */ - MssPackage?: MssPackage; + CmafPackage?: CmafPackage; /** - * The ID of a PackagingGroup. + * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. */ - PackagingGroupId?: string; + DashPackage?: DashPackage; /** - * The ID of the PackagingConfiguration. + * The ARN of the PackagingConfiguration. */ - Id?: string; + Arn?: string; /** - * A collection of tags associated with a resource + * The ID of a PackagingGroup. */ - Tags?: { [key: string]: string }; + PackagingGroupId?: string; /** - * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + * An HTTP Live Streaming (HLS) packaging configuration. */ - DashPackage?: DashPackage; + HlsPackage?: HlsPackage; /** - * The ARN of the PackagingConfiguration. + * A Microsoft Smooth Streaming (MSS) PackagingConfiguration. */ - Arn?: string; + MssPackage?: MssPackage; } export namespace CreatePackagingConfigurationResponse { @@ -870,14 +870,14 @@ export interface CreatePackagingGroupRequest { Id: string | undefined; /** - * CDN Authorization credentials + * A collection of tags associated with a resource */ - Authorization?: Authorization; + Tags?: { [key: string]: string }; /** - * A collection of tags associated with a resource + * CDN Authorization credentials */ - Tags?: { [key: string]: string }; + Authorization?: Authorization; } export namespace CreatePackagingGroupRequest { @@ -888,29 +888,29 @@ export namespace CreatePackagingGroupRequest { export interface CreatePackagingGroupResponse { /** - * CDN Authorization credentials + * The fully qualified domain name for Assets in the PackagingGroup. */ - Authorization?: Authorization; + DomainName?: string; /** - * A collection of tags associated with a resource + * The ID of the PackagingGroup. */ - Tags?: { [key: string]: string }; + Id?: string; /** - * The fully qualified domain name for Assets in the PackagingGroup. + * CDN Authorization credentials */ - DomainName?: string; + Authorization?: Authorization; /** - * The ARN of the PackagingGroup. + * A collection of tags associated with a resource */ - Arn?: string; + Tags?: { [key: string]: string }; /** - * The ID of the PackagingGroup. + * The ARN of the PackagingGroup. */ - Id?: string; + Arn?: string; } export namespace CreatePackagingGroupResponse { @@ -1011,16 +1011,6 @@ export interface DescribeAssetResponse { */ ResourceId?: string; - /** - * The time the Asset was initially submitted for Ingest. - */ - CreatedAt?: string; - - /** - * ARN of the source object in S3. - */ - SourceArn?: string; - /** * The ID of the PackagingGroup for the Asset. */ @@ -1032,14 +1022,24 @@ export interface DescribeAssetResponse { Arn?: string; /** - * A collection of tags associated with a resource + * The time the Asset was initially submitted for Ingest. */ - Tags?: { [key: string]: string }; + CreatedAt?: string; + + /** + * ARN of the source object in S3. + */ + SourceArn?: string; /** * The list of egress endpoints available for the Asset. */ EgressEndpoints?: EgressEndpoint[]; + + /** + * A collection of tags associated with a resource + */ + Tags?: { [key: string]: string }; } export namespace DescribeAssetResponse { @@ -1062,30 +1062,20 @@ export namespace DescribePackagingConfigurationRequest { } export interface DescribePackagingConfigurationResponse { - /** - * An HTTP Live Streaming (HLS) packaging configuration. - */ - HlsPackage?: HlsPackage; - /** * The ID of the PackagingConfiguration. */ Id?: string; - /** - * A collection of tags associated with a resource - */ - Tags?: { [key: string]: string }; - /** * A CMAF packaging configuration. */ CmafPackage?: CmafPackage; /** - * A Microsoft Smooth Streaming (MSS) PackagingConfiguration. + * The ARN of the PackagingConfiguration. */ - MssPackage?: MssPackage; + Arn?: string; /** * The ID of a PackagingGroup. @@ -1093,14 +1083,24 @@ export interface DescribePackagingConfigurationResponse { PackagingGroupId?: string; /** - * The ARN of the PackagingConfiguration. + * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. */ - Arn?: string; + DashPackage?: DashPackage; /** - * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + * A collection of tags associated with a resource */ - DashPackage?: DashPackage; + Tags?: { [key: string]: string }; + + /** + * An HTTP Live Streaming (HLS) packaging configuration. + */ + HlsPackage?: HlsPackage; + + /** + * A Microsoft Smooth Streaming (MSS) PackagingConfiguration. + */ + MssPackage?: MssPackage; } export namespace DescribePackagingConfigurationResponse { @@ -1123,16 +1123,6 @@ export namespace DescribePackagingGroupRequest { } export interface DescribePackagingGroupResponse { - /** - * CDN Authorization credentials - */ - Authorization?: Authorization; - - /** - * A collection of tags associated with a resource - */ - Tags?: { [key: string]: string }; - /** * The fully qualified domain name for Assets in the PackagingGroup. */ @@ -1147,6 +1137,16 @@ export interface DescribePackagingGroupResponse { * The ID of the PackagingGroup. */ Id?: string; + + /** + * A collection of tags associated with a resource + */ + Tags?: { [key: string]: string }; + + /** + * CDN Authorization credentials + */ + Authorization?: Authorization; } export namespace DescribePackagingGroupResponse { @@ -1162,14 +1162,14 @@ export interface ListAssetsRequest { NextToken?: string; /** - * Upper bound on number of records to return. + * Returns Assets associated with the specified PackagingGroup. */ - MaxResults?: number; + PackagingGroupId?: string; /** - * Returns Assets associated with the specified PackagingGroup. + * Upper bound on number of records to return. */ - PackagingGroupId?: string; + MaxResults?: number; } export namespace ListAssetsRequest { @@ -1198,14 +1198,14 @@ export namespace ListAssetsResponse { export interface ListPackagingConfigurationsRequest { /** - * Returns MediaPackage VOD PackagingConfigurations associated with the specified PackagingGroup. + * Upper bound on number of records to return. */ - PackagingGroupId?: string; + MaxResults?: number; /** - * Upper bound on number of records to return. + * Returns MediaPackage VOD PackagingConfigurations associated with the specified PackagingGroup. */ - MaxResults?: number; + PackagingGroupId?: string; /** * A token used to resume pagination from the end of a previous request. @@ -1239,14 +1239,14 @@ export namespace ListPackagingConfigurationsResponse { export interface ListPackagingGroupsRequest { /** - * A token used to resume pagination from the end of a previous request. + * Upper bound on number of records to return. */ - NextToken?: string; + MaxResults?: number; /** - * Upper bound on number of records to return. + * A token used to resume pagination from the end of a previous request. */ - MaxResults?: number; + NextToken?: string; } export namespace ListPackagingGroupsRequest { @@ -1301,14 +1301,14 @@ export namespace ListTagsForResourceResponse { export interface TagResourceRequest { /** - * The Amazon Resource Name (ARN) for the resource. You can get this from the response to any request to the resource. + * A collection of tags associated with a resource */ - ResourceArn: string | undefined; + Tags: { [key: string]: string } | undefined; /** - * A collection of tags associated with a resource + * The Amazon Resource Name (ARN) for the resource. You can get this from the response to any request to the resource. */ - Tags: { [key: string]: string } | undefined; + ResourceArn: string | undefined; } export namespace TagResourceRequest { @@ -1319,14 +1319,14 @@ export namespace TagResourceRequest { export interface UntagResourceRequest { /** - * A comma-separated list of the tag keys to remove from the resource. + * The Amazon Resource Name (ARN) for the resource. You can get this from the response to any request to the resource. */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; /** - * The Amazon Resource Name (ARN) for the resource. You can get this from the response to any request to the resource. + * A comma-separated list of the tag keys to remove from the resource. */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -1340,14 +1340,14 @@ export namespace UntagResourceRequest { */ export interface UpdatePackagingGroupRequest { /** - * The ID of a MediaPackage VOD PackagingGroup resource. + * CDN Authorization credentials */ - Id: string | undefined; + Authorization?: Authorization; /** - * CDN Authorization credentials + * The ID of a MediaPackage VOD PackagingGroup resource. */ - Authorization?: Authorization; + Id: string | undefined; } export namespace UpdatePackagingGroupRequest { @@ -1357,30 +1357,30 @@ export namespace UpdatePackagingGroupRequest { } export interface UpdatePackagingGroupResponse { - /** - * A collection of tags associated with a resource - */ - Tags?: { [key: string]: string }; - /** * CDN Authorization credentials */ Authorization?: Authorization; /** - * The fully qualified domain name for Assets in the PackagingGroup. + * The ARN of the PackagingGroup. */ - DomainName?: string; + Arn?: string; /** - * The ARN of the PackagingGroup. + * A collection of tags associated with a resource */ - Arn?: string; + Tags?: { [key: string]: string }; /** * The ID of the PackagingGroup. */ Id?: string; + + /** + * The fully qualified domain name for Assets in the PackagingGroup. + */ + DomainName?: string; } export namespace UpdatePackagingGroupResponse { diff --git a/clients/client-mediapackage-vod/pagination/Interfaces.ts b/clients/client-mediapackage-vod/pagination/Interfaces.ts new file mode 100644 index 000000000000..fbc41f329665 --- /dev/null +++ b/clients/client-mediapackage-vod/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { MediaPackageVod } from "../MediaPackageVod"; +import { MediaPackageVodClient } from "../MediaPackageVodClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface MediaPackageVodPaginationConfiguration extends PaginationConfiguration { + client: MediaPackageVod | MediaPackageVodClient; +} diff --git a/clients/client-mediapackage-vod/pagination/ListAssetsPaginator.ts b/clients/client-mediapackage-vod/pagination/ListAssetsPaginator.ts new file mode 100644 index 000000000000..69ea8391bf1e --- /dev/null +++ b/clients/client-mediapackage-vod/pagination/ListAssetsPaginator.ts @@ -0,0 +1,47 @@ +import { MediaPackageVod } from "../MediaPackageVod"; +import { MediaPackageVodClient } from "../MediaPackageVodClient"; +import { ListAssetsCommand, ListAssetsCommandInput, ListAssetsCommandOutput } from "../commands/ListAssetsCommand"; +import { MediaPackageVodPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaPackageVodClient, + input: ListAssetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAssetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaPackageVod, + input: ListAssetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAssets(input, ...args); +}; +export async function* listAssetsPaginate( + config: MediaPackageVodPaginationConfiguration, + input: ListAssetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAssetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaPackageVod) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaPackageVodClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaPackageVod | MediaPackageVodClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediapackage-vod/pagination/ListPackagingConfigurationsPaginator.ts b/clients/client-mediapackage-vod/pagination/ListPackagingConfigurationsPaginator.ts new file mode 100644 index 000000000000..9924a8c86d2c --- /dev/null +++ b/clients/client-mediapackage-vod/pagination/ListPackagingConfigurationsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaPackageVod } from "../MediaPackageVod"; +import { MediaPackageVodClient } from "../MediaPackageVodClient"; +import { + ListPackagingConfigurationsCommand, + ListPackagingConfigurationsCommandInput, + ListPackagingConfigurationsCommandOutput, +} from "../commands/ListPackagingConfigurationsCommand"; +import { MediaPackageVodPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaPackageVodClient, + input: ListPackagingConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPackagingConfigurationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaPackageVod, + input: ListPackagingConfigurationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPackagingConfigurations(input, ...args); +}; +export async function* listPackagingConfigurationsPaginate( + config: MediaPackageVodPaginationConfiguration, + input: ListPackagingConfigurationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPackagingConfigurationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaPackageVod) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaPackageVodClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaPackageVod | MediaPackageVodClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediapackage-vod/pagination/ListPackagingGroupsPaginator.ts b/clients/client-mediapackage-vod/pagination/ListPackagingGroupsPaginator.ts new file mode 100644 index 000000000000..820b0aa7a744 --- /dev/null +++ b/clients/client-mediapackage-vod/pagination/ListPackagingGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaPackageVod } from "../MediaPackageVod"; +import { MediaPackageVodClient } from "../MediaPackageVodClient"; +import { + ListPackagingGroupsCommand, + ListPackagingGroupsCommandInput, + ListPackagingGroupsCommandOutput, +} from "../commands/ListPackagingGroupsCommand"; +import { MediaPackageVodPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaPackageVodClient, + input: ListPackagingGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPackagingGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaPackageVod, + input: ListPackagingGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPackagingGroups(input, ...args); +}; +export async function* listPackagingGroupsPaginate( + config: MediaPackageVodPaginationConfiguration, + input: ListPackagingGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPackagingGroupsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaPackageVod) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaPackageVodClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaPackageVod | MediaPackageVodClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediapackage-vod/protocols/Aws_restJson1.ts b/clients/client-mediapackage-vod/protocols/Aws_restJson1.ts index 2930ca694c58..6483eda31aa2 100644 --- a/clients/client-mediapackage-vod/protocols/Aws_restJson1.ts +++ b/clients/client-mediapackage-vod/protocols/Aws_restJson1.ts @@ -364,8 +364,8 @@ export const serializeAws_restJson1ListAssetsCommand = async ( let resolvedPath = "/assets"; const query: any = { ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.PackagingGroupId !== undefined && { packagingGroupId: input.PackagingGroupId }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -390,8 +390,8 @@ export const serializeAws_restJson1ListPackagingConfigurationsCommand = async ( }; let resolvedPath = "/packaging_configurations"; const query: any = { - ...(input.PackagingGroupId !== undefined && { packagingGroupId: input.PackagingGroupId }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.PackagingGroupId !== undefined && { packagingGroupId: input.PackagingGroupId }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; @@ -417,8 +417,8 @@ export const serializeAws_restJson1ListPackagingGroupsCommand = async ( }; let resolvedPath = "/packaging_groups"; const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-mediapackage/MediaPackage.ts b/clients/client-mediapackage/MediaPackage.ts index 3dc1520ab441..cc5af89c45ab 100644 --- a/clients/client-mediapackage/MediaPackage.ts +++ b/clients/client-mediapackage/MediaPackage.ts @@ -1,4 +1,9 @@ import { MediaPackageClient } from "./MediaPackageClient"; +import { + ConfigureLogsCommand, + ConfigureLogsCommandInput, + ConfigureLogsCommandOutput, +} from "./commands/ConfigureLogsCommand"; import { CreateChannelCommand, CreateChannelCommandInput, @@ -91,6 +96,38 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * AWS Elemental MediaPackage */ export class MediaPackage extends MediaPackageClient { + /** + * Changes the Channel's properities to configure log subscription + */ + public configureLogs( + args: ConfigureLogsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public configureLogs( + args: ConfigureLogsCommandInput, + cb: (err: any, data?: ConfigureLogsCommandOutput) => void + ): void; + public configureLogs( + args: ConfigureLogsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ConfigureLogsCommandOutput) => void + ): void; + public configureLogs( + args: ConfigureLogsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ConfigureLogsCommandOutput) => void), + cb?: (err: any, data?: ConfigureLogsCommandOutput) => void + ): Promise | void { + const command = new ConfigureLogsCommand(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 Channel. */ diff --git a/clients/client-mediapackage/MediaPackageClient.ts b/clients/client-mediapackage/MediaPackageClient.ts index 44b37dc1a630..0476c2cbd973 100644 --- a/clients/client-mediapackage/MediaPackageClient.ts +++ b/clients/client-mediapackage/MediaPackageClient.ts @@ -1,3 +1,4 @@ +import { ConfigureLogsCommandInput, ConfigureLogsCommandOutput } from "./commands/ConfigureLogsCommand"; import { CreateChannelCommandInput, CreateChannelCommandOutput } from "./commands/CreateChannelCommand"; import { CreateHarvestJobCommandInput, CreateHarvestJobCommandOutput } from "./commands/CreateHarvestJobCommand"; import { @@ -90,6 +91,7 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | ConfigureLogsCommandInput | CreateChannelCommandInput | CreateHarvestJobCommandInput | CreateOriginEndpointCommandInput @@ -110,6 +112,7 @@ export type ServiceInputTypes = | UpdateOriginEndpointCommandInput; export type ServiceOutputTypes = + | ConfigureLogsCommandOutput | CreateChannelCommandOutput | CreateHarvestJobCommandOutput | CreateOriginEndpointCommandOutput diff --git a/clients/client-mediapackage/commands/ConfigureLogsCommand.ts b/clients/client-mediapackage/commands/ConfigureLogsCommand.ts new file mode 100644 index 000000000000..c5afb1e23c40 --- /dev/null +++ b/clients/client-mediapackage/commands/ConfigureLogsCommand.ts @@ -0,0 +1,70 @@ +import { MediaPackageClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaPackageClient"; +import { ConfigureLogsRequest, ConfigureLogsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ConfigureLogsCommand, + serializeAws_restJson1ConfigureLogsCommand, +} 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 ConfigureLogsCommandInput = ConfigureLogsRequest; +export type ConfigureLogsCommandOutput = ConfigureLogsResponse & __MetadataBearer; + +export class ConfigureLogsCommand extends $Command< + ConfigureLogsCommandInput, + ConfigureLogsCommandOutput, + MediaPackageClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ConfigureLogsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MediaPackageClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ConfigureLogsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ConfigureLogsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ConfigureLogsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ConfigureLogsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ConfigureLogsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-mediapackage/index.ts b/clients/client-mediapackage/index.ts index c3ed71c59540..d4a6b19eda26 100644 --- a/clients/client-mediapackage/index.ts +++ b/clients/client-mediapackage/index.ts @@ -1,5 +1,6 @@ export * from "./MediaPackageClient"; export * from "./MediaPackage"; +export * from "./commands/ConfigureLogsCommand"; export * from "./commands/CreateChannelCommand"; export * from "./commands/CreateHarvestJobCommand"; export * from "./commands/CreateOriginEndpointCommand"; @@ -9,8 +10,11 @@ export * from "./commands/DescribeChannelCommand"; export * from "./commands/DescribeHarvestJobCommand"; export * from "./commands/DescribeOriginEndpointCommand"; export * from "./commands/ListChannelsCommand"; +export * from "./pagination/ListChannelsPaginator"; export * from "./commands/ListHarvestJobsCommand"; +export * from "./pagination/ListHarvestJobsPaginator"; export * from "./commands/ListOriginEndpointsCommand"; +export * from "./pagination/ListOriginEndpointsPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/RotateChannelCredentialsCommand"; export * from "./commands/RotateIngestEndpointCredentialsCommand"; @@ -18,4 +22,5 @@ export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateChannelCommand"; export * from "./commands/UpdateOriginEndpointCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-mediapackage/models/models_0.ts b/clients/client-mediapackage/models/models_0.ts index 9f4eadebfab5..88d58c3beb2c 100644 --- a/clients/client-mediapackage/models/models_0.ts +++ b/clients/client-mediapackage/models/models_0.ts @@ -17,19 +17,25 @@ export enum __PeriodTriggersElement { } /** - * An endpoint for ingesting source content for a Channel. + * Configure egress access logging. */ -export interface IngestEndpoint { +export interface EgressAccessLogs { /** - * The system generated password for ingest authentication. + * Customize the log group name. */ - Password?: string; + LogGroupName?: string; +} - /** - * The system generated username for ingest authentication. - */ - Username?: string; +export namespace EgressAccessLogs { + export const filterSensitiveLog = (obj: EgressAccessLogs): any => ({ + ...obj, + }); +} +/** + * An endpoint for ingesting source content for a Channel. + */ +export interface IngestEndpoint { /** * The system generated unique identifier for the IngestEndpoint */ @@ -39,6 +45,16 @@ export interface IngestEndpoint { * The ingest URL to which the source stream should be sent. */ Url?: string; + + /** + * The system generated password for ingest authentication. + */ + Password?: string; + + /** + * The system generated username for ingest authentication. + */ + Username?: string; } export namespace IngestEndpoint { @@ -63,24 +79,40 @@ export namespace HlsIngest { }); } +/** + * Configure ingress access logging. + */ +export interface IngressAccessLogs { + /** + * Customize the log group name. + */ + LogGroupName?: string; +} + +export namespace IngressAccessLogs { + export const filterSensitiveLog = (obj: IngressAccessLogs): any => ({ + ...obj, + }); +} + /** * A Channel resource configuration. */ export interface Channel { /** - * A collection of tags associated with a resource + * Configure ingress access logging. */ - Tags?: { [key: string]: string }; + IngressAccessLogs?: IngressAccessLogs; /** - * The Amazon Resource Name (ARN) assigned to the Channel. + * The ID of the Channel. */ - Arn?: string; + Id?: string; /** - * A short text description of the Channel. + * Configure egress access logging. */ - Description?: string; + EgressAccessLogs?: EgressAccessLogs; /** * An HTTP Live Streaming (HLS) ingest resource configuration. @@ -88,9 +120,19 @@ export interface Channel { HlsIngest?: HlsIngest; /** - * The ID of the Channel. + * The Amazon Resource Name (ARN) assigned to the Channel. */ - Id?: string; + Arn?: string; + + /** + * A collection of tags associated with a resource + */ + Tags?: { [key: string]: string }; + + /** + * A short text description of the Channel. + */ + Description?: string; } export namespace Channel { @@ -136,47 +178,47 @@ export enum Status { */ export interface HarvestJob { /** - * The ID of the Channel that the HarvestJob will harvest from. + * The current status of the HarvestJob. Consider setting up a CloudWatch Event to listen for + * HarvestJobs as they succeed or fail. In the event of failure, the CloudWatch Event will + * include an explanation of why the HarvestJob failed. */ - ChannelId?: string; + Status?: Status | string; /** - * The Amazon Resource Name (ARN) assigned to the HarvestJob. + * The time the HarvestJob was submitted */ - Arn?: string; + CreatedAt?: string; /** - * The start of the time-window which will be harvested. + * Configuration parameters for where in an S3 bucket to place the harvested content */ - StartTime?: string; + S3Destination?: S3Destination; /** - * The current status of the HarvestJob. Consider setting up a CloudWatch Event to listen for - * HarvestJobs as they succeed or fail. In the event of failure, the CloudWatch Event will - * include an explanation of why the HarvestJob failed. + * The end of the time-window which will be harvested. */ - Status?: Status | string; + EndTime?: string; /** - * The end of the time-window which will be harvested. + * The ID of the Channel that the HarvestJob will harvest from. */ - EndTime?: string; + ChannelId?: string; /** - * The ID of the OriginEndpoint that the HarvestJob will harvest from. - * This cannot be changed after the HarvestJob is submitted. + * The start of the time-window which will be harvested. */ - OriginEndpointId?: string; + StartTime?: string; /** - * The time the HarvestJob was submitted + * The Amazon Resource Name (ARN) assigned to the HarvestJob. */ - CreatedAt?: string; + Arn?: string; /** - * Configuration parameters for where in an S3 bucket to place the harvested content + * The ID of the OriginEndpoint that the HarvestJob will harvest from. + * This cannot be changed after the HarvestJob is submitted. */ - S3Destination?: S3Destination; + OriginEndpointId?: string; /** * The ID of the HarvestJob. The ID must be unique within the region @@ -209,9 +251,29 @@ export enum PlaylistType { */ export interface HlsManifest { /** - * When enabled, an I-Frame only stream will be included in the output. + * The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag + * inserted into manifests. Additionally, when an interval is specified + * ID3Timed Metadata messages will be generated every 5 seconds using the + * ingest time of the content. + * If the interval is not specified, or set to 0, then + * no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no + * ID3Timed Metadata messages will be generated. Note that irrespective + * of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, + * it will be passed through to HLS output. */ - IncludeIframeOnlyStream?: boolean; + ProgramDateTimeIntervalSeconds?: number; + + /** + * The URL of the packaged OriginEndpoint for consumption. + */ + Url?: string; + + /** + * The HTTP Live Streaming (HLS) playlist type. + * When either "EVENT" or "VOD" is specified, a corresponding EXT-X-PLAYLIST-TYPE + * entry will be included in the media playlist. + */ + PlaylistType?: PlaylistType | string; /** * An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint. @@ -219,9 +281,9 @@ export interface HlsManifest { ManifestName?: string; /** - * The URL of the packaged OriginEndpoint for consumption. + * When enabled, an I-Frame only stream will be included in the output. */ - Url?: string; + IncludeIframeOnlyStream?: boolean; /** * Time window (in seconds) contained in each parent manifest. @@ -229,24 +291,9 @@ export interface HlsManifest { PlaylistWindowSeconds?: number; /** - * The HTTP Live Streaming (HLS) playlist type. - * When either "EVENT" or "VOD" is specified, a corresponding EXT-X-PLAYLIST-TYPE - * entry will be included in the media playlist. - */ - PlaylistType?: PlaylistType | string; - - /** - * The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag - * inserted into manifests. Additionally, when an interval is specified - * ID3Timed Metadata messages will be generated every 5 seconds using the - * ingest time of the content. - * If the interval is not specified, or set to 0, then - * no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no - * ID3Timed Metadata messages will be generated. Note that irrespective - * of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, - * it will be passed through to HLS output. + * The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created. */ - ProgramDateTimeIntervalSeconds?: number; + Id: string | undefined; /** * This setting controls how ad markers are included in the packaged OriginEndpoint. @@ -260,11 +307,6 @@ export interface HlsManifest { * that is greater than 0. */ AdMarkers?: AdMarkers | string; - - /** - * The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created. - */ - Id: string | undefined; } export namespace HlsManifest { @@ -285,16 +327,16 @@ export enum AdsOnDeliveryRestrictions { */ export interface HlsManifestCreateOrUpdateParameters { /** - * A list of SCTE-35 message types that are treated as ad markers in the output. If empty, no - * ad markers are output. Specify multiple items to create ad markers for all of the included - * message types. - */ - AdTriggers?: (__AdTriggersElement | string)[]; - - /** - * When enabled, an I-Frame only stream will be included in the output. + * This setting allows the delivery restriction flags on SCTE-35 segmentation descriptors to + * determine whether a message signals an ad. Choosing "NONE" means no SCTE-35 messages become + * ads. Choosing "RESTRICTED" means SCTE-35 messages of the types specified in AdTriggers that + * contain delivery restrictions will be treated as ads. Choosing "UNRESTRICTED" means SCTE-35 + * messages of the types specified in AdTriggers that do not contain delivery restrictions will + * be treated as ads. Choosing "BOTH" means all SCTE-35 messages of the types specified in + * AdTriggers will be treated as ads. Note that Splice Insert messages do not have these flags + * and are always treated as ads if specified in AdTriggers. */ - IncludeIframeOnlyStream?: boolean; + AdsOnDeliveryRestrictions?: AdsOnDeliveryRestrictions | string; /** * The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag @@ -310,9 +352,9 @@ export interface HlsManifestCreateOrUpdateParameters { ProgramDateTimeIntervalSeconds?: number; /** - * The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created. + * Time window (in seconds) contained in each parent manifest. */ - Id: string | undefined; + PlaylistWindowSeconds?: number; /** * The HTTP Live Streaming (HLS) playlist type. @@ -321,6 +363,11 @@ export interface HlsManifestCreateOrUpdateParameters { */ PlaylistType?: PlaylistType | string; + /** + * The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created. + */ + Id: string | undefined; + /** * This setting controls how ad markers are included in the packaged OriginEndpoint. * "NONE" will omit all SCTE-35 ad markers from the output. @@ -335,26 +382,21 @@ export interface HlsManifestCreateOrUpdateParameters { AdMarkers?: AdMarkers | string; /** - * An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint. + * When enabled, an I-Frame only stream will be included in the output. */ - ManifestName?: string; + IncludeIframeOnlyStream?: boolean; /** - * Time window (in seconds) contained in each parent manifest. + * A list of SCTE-35 message types that are treated as ad markers in the output. If empty, no + * ad markers are output. Specify multiple items to create ad markers for all of the included + * message types. */ - PlaylistWindowSeconds?: number; + AdTriggers?: (__AdTriggersElement | string)[]; /** - * This setting allows the delivery restriction flags on SCTE-35 segmentation descriptors to - * determine whether a message signals an ad. Choosing "NONE" means no SCTE-35 messages become - * ads. Choosing "RESTRICTED" means SCTE-35 messages of the types specified in AdTriggers that - * contain delivery restrictions will be treated as ads. Choosing "UNRESTRICTED" means SCTE-35 - * messages of the types specified in AdTriggers that do not contain delivery restrictions will - * be treated as ads. Choosing "BOTH" means all SCTE-35 messages of the types specified in - * AdTriggers will be treated as ads. Note that Splice Insert messages do not have these flags - * and are always treated as ads if specified in AdTriggers. + * An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint. */ - AdsOnDeliveryRestrictions?: AdsOnDeliveryRestrictions | string; + ManifestName?: string; } export namespace HlsManifestCreateOrUpdateParameters { @@ -399,9 +441,11 @@ export interface SpekeKeyProvider { SystemIds: string[] | undefined; /** - * The URL of the external key provider service. + * An Amazon Resource Name (ARN) of a Certificate Manager certificate + * that MediaPackage will use for enforcing secure end-to-end data + * transfer with the key provider service. */ - Url: string | undefined; + CertificateArn?: string; /** * An Amazon Resource Name (ARN) of an IAM role that AWS Elemental @@ -410,11 +454,9 @@ export interface SpekeKeyProvider { RoleArn: string | undefined; /** - * An Amazon Resource Name (ARN) of a Certificate Manager certificate - * that MediaPackage will use for enforcing secure end-to-end data - * transfer with the key provider service. + * The URL of the external key provider service. */ - CertificateArn?: string; + Url: string | undefined; } export namespace SpekeKeyProvider { @@ -455,9 +497,9 @@ export enum StreamOrder { */ export interface StreamSelection { /** - * The minimum video bitrate (bps) to include in output. + * The maximum video bitrate (bps) to include in output. */ - MinVideoBitsPerSecond?: number; + MaxVideoBitsPerSecond?: number; /** * A directive that determines the order of streams in the output. @@ -465,9 +507,9 @@ export interface StreamSelection { StreamOrder?: StreamOrder | string; /** - * The maximum video bitrate (bps) to include in output. + * The minimum video bitrate (bps) to include in output. */ - MaxVideoBitsPerSecond?: number; + MinVideoBitsPerSecond?: number; } export namespace StreamSelection { @@ -481,9 +523,14 @@ export namespace StreamSelection { */ export interface CmafPackage { /** - * A list of HLS manifest configurations + * A Common Media Application Format (CMAF) encryption configuration. */ - HlsManifests?: HlsManifest[]; + Encryption?: CmafEncryption; + + /** + * An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId. + */ + SegmentPrefix?: string; /** * Duration (in seconds) of each segment. Actual segments will be @@ -497,14 +544,9 @@ export interface CmafPackage { StreamSelection?: StreamSelection; /** - * An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId. - */ - SegmentPrefix?: string; - - /** - * A Common Media Application Format (CMAF) encryption configuration. + * A list of HLS manifest configurations */ - Encryption?: CmafEncryption; + HlsManifests?: HlsManifest[]; } export namespace CmafPackage { @@ -550,20 +592,20 @@ export enum SegmentTemplateFormat { TIME_WITH_TIMELINE = "TIME_WITH_TIMELINE", } +export enum UtcTiming { + HTTP_HEAD = "HTTP-HEAD", + HTTP_ISO = "HTTP-ISO", + NONE = "NONE", +} + /** * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. */ export interface DashPackage { /** - * Duration (in seconds) of each segment. Actual segments will be - * rounded to the nearest multiple of the source segment duration. - */ - SegmentDurationSeconds?: number; - - /** - * Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs. + * Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level. */ - SegmentTemplateFormat?: SegmentTemplateFormat | string; + ManifestLayout?: ManifestLayout | string; /** * Time window (in seconds) contained in each manifest. @@ -571,29 +613,9 @@ export interface DashPackage { ManifestWindowSeconds?: number; /** - * Minimum duration (in seconds) between potential changes to the Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD). - */ - MinUpdatePeriodSeconds?: number; - - /** - * A StreamSelection configuration. + * Specifies the value attribute of the UTCTiming field when utcTiming is set to HTTP-ISO or HTTP-HEAD */ - StreamSelection?: StreamSelection; - - /** - * Duration (in seconds) to delay live content before presentation. - */ - SuggestedPresentationDelaySeconds?: number; - - /** - * Minimum duration (in seconds) that a player will buffer media before starting the presentation. - */ - MinBufferTimeSeconds?: number; - - /** - * Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level. - */ - ManifestLayout?: ManifestLayout | string; + UtcTimingUri?: string; /** * This setting allows the delivery restriction flags on SCTE-35 segmentation descriptors to @@ -607,6 +629,31 @@ export interface DashPackage { */ AdsOnDeliveryRestrictions?: AdsOnDeliveryRestrictions | string; + /** + * A StreamSelection configuration. + */ + StreamSelection?: StreamSelection; + + /** + * Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs. + */ + SegmentTemplateFormat?: SegmentTemplateFormat | string; + + /** + * The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to "HBBTV_1_5", HbbTV 1.5 compliant output is enabled. + */ + Profile?: Profile | string; + + /** + * Determines the type of UTCTiming included in the Media Presentation Description (MPD) + */ + UtcTiming?: UtcTiming | string; + + /** + * A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration. + */ + Encryption?: DashEncryption; + /** * A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH) * Media Presentation Description (MPD) will be partitioned into multiple periods. If empty, the content will not @@ -623,14 +670,25 @@ export interface DashPackage { AdTriggers?: (__AdTriggersElement | string)[]; /** - * A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration. + * Minimum duration (in seconds) that a player will buffer media before starting the presentation. */ - Encryption?: DashEncryption; + MinBufferTimeSeconds?: number; /** - * The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to "HBBTV_1_5", HbbTV 1.5 compliant output is enabled. + * Duration (in seconds) to delay live content before presentation. */ - Profile?: Profile | string; + SuggestedPresentationDelaySeconds?: number; + + /** + * Duration (in seconds) of each segment. Actual segments will be + * rounded to the nearest multiple of the source segment duration. + */ + SegmentDurationSeconds?: number; + + /** + * Minimum duration (in seconds) between potential changes to the Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD). + */ + MinUpdatePeriodSeconds?: number; } export namespace DashPackage { @@ -648,17 +706,6 @@ export enum EncryptionMethod { * An HTTP Live Streaming (HLS) encryption configuration. */ export interface HlsEncryption { - /** - * A constant initialization vector for encryption (optional). - * When not specified the initialization vector will be periodically rotated. - */ - ConstantInitializationVector?: string; - - /** - * A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys. - */ - SpekeKeyProvider: SpekeKeyProvider | undefined; - /** * When enabled, the EXT-X-KEY tag will be repeated in output manifests. */ @@ -673,6 +720,17 @@ export interface HlsEncryption { * The encryption method to use. */ EncryptionMethod?: EncryptionMethod | string; + + /** + * A constant initialization vector for encryption (optional). + * When not specified the initialization vector will be periodically rotated. + */ + ConstantInitializationVector?: string; + + /** + * A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys. + */ + SpekeKeyProvider: SpekeKeyProvider | undefined; } export namespace HlsEncryption { @@ -686,31 +744,14 @@ export namespace HlsEncryption { */ export interface HlsPackage { /** - * The HTTP Live Streaming (HLS) playlist type. - * When either "EVENT" or "VOD" is specified, a corresponding EXT-X-PLAYLIST-TYPE - * entry will be included in the media playlist. - */ - PlaylistType?: PlaylistType | string; - - /** - * A list of SCTE-35 message types that are treated as ad markers in the output. If empty, no - * ad markers are output. Specify multiple items to create ad markers for all of the included - * message types. + * A StreamSelection configuration. */ - AdTriggers?: (__AdTriggersElement | string)[]; + StreamSelection?: StreamSelection; /** - * The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag - * inserted into manifests. Additionally, when an interval is specified - * ID3Timed Metadata messages will be generated every 5 seconds using the - * ingest time of the content. - * If the interval is not specified, or set to 0, then - * no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no - * ID3Timed Metadata messages will be generated. Note that irrespective - * of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, - * it will be passed through to HLS output. + * Time window (in seconds) contained in each parent manifest. */ - ProgramDateTimeIntervalSeconds?: number; + PlaylistWindowSeconds?: number; /** * When enabled, audio streams will be placed in rendition groups in the output. @@ -723,9 +764,17 @@ export interface HlsPackage { IncludeIframeOnlyStream?: boolean; /** - * An HTTP Live Streaming (HLS) encryption configuration. + * The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag + * inserted into manifests. Additionally, when an interval is specified + * ID3Timed Metadata messages will be generated every 5 seconds using the + * ingest time of the content. + * If the interval is not specified, or set to 0, then + * no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no + * ID3Timed Metadata messages will be generated. Note that irrespective + * of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, + * it will be passed through to HLS output. */ - Encryption?: HlsEncryption; + ProgramDateTimeIntervalSeconds?: number; /** * Duration (in seconds) of each fragment. Actual fragments will be @@ -747,14 +796,23 @@ export interface HlsPackage { AdMarkers?: AdMarkers | string; /** - * Time window (in seconds) contained in each parent manifest. + * A list of SCTE-35 message types that are treated as ad markers in the output. If empty, no + * ad markers are output. Specify multiple items to create ad markers for all of the included + * message types. */ - PlaylistWindowSeconds?: number; + AdTriggers?: (__AdTriggersElement | string)[]; /** - * A StreamSelection configuration. + * The HTTP Live Streaming (HLS) playlist type. + * When either "EVENT" or "VOD" is specified, a corresponding EXT-X-PLAYLIST-TYPE + * entry will be included in the media playlist. */ - StreamSelection?: StreamSelection; + PlaylistType?: PlaylistType | string; + + /** + * An HTTP Live Streaming (HLS) encryption configuration. + */ + Encryption?: HlsEncryption; /** * This setting allows the delivery restriction flags on SCTE-35 segmentation descriptors to @@ -796,24 +854,24 @@ export namespace MssEncryption { */ export interface MssPackage { /** - * The time window (in seconds) contained in each manifest. + * A StreamSelection configuration. */ - ManifestWindowSeconds?: number; + StreamSelection?: StreamSelection; /** - * A Microsoft Smooth Streaming (MSS) encryption configuration. + * The duration (in seconds) of each segment. */ - Encryption?: MssEncryption; + SegmentDurationSeconds?: number; /** - * A StreamSelection configuration. + * A Microsoft Smooth Streaming (MSS) encryption configuration. */ - StreamSelection?: StreamSelection; + Encryption?: MssEncryption; /** - * The duration (in seconds) of each segment. + * The time window (in seconds) contained in each manifest. */ - SegmentDurationSeconds?: number; + ManifestWindowSeconds?: number; } export namespace MssPackage { @@ -832,14 +890,9 @@ export enum Origination { */ export interface OriginEndpoint { /** - * The URL of the packaged OriginEndpoint for consumption. - */ - Url?: string; - - /** - * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + * A Common Media Application Format (CMAF) packaging configuration. */ - DashPackage?: DashPackage; + CmafPackage?: CmafPackage; /** * A short string appended to the end of the OriginEndpoint URL. @@ -847,9 +900,9 @@ export interface OriginEndpoint { ManifestName?: string; /** - * An HTTP Live Streaming (HLS) packaging configuration. + * CDN Authorization credentials */ - HlsPackage?: HlsPackage; + Authorization?: Authorization; /** * Maximum duration (seconds) of content to retain for startover playback. @@ -858,62 +911,67 @@ export interface OriginEndpoint { StartoverWindowSeconds?: number; /** - * CDN Authorization credentials + * The URL of the packaged OriginEndpoint for consumption. */ - Authorization?: Authorization; + Url?: string; /** - * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint - * may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be - * requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination + * A collection of tags associated with a resource */ - Origination?: Origination | string; + Tags?: { [key: string]: string }; /** - * The ID of the Channel the OriginEndpoint is associated with. + * An HTTP Live Streaming (HLS) packaging configuration. */ - ChannelId?: string; + HlsPackage?: HlsPackage; /** - * A collection of tags associated with a resource + * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. */ - Tags?: { [key: string]: string }; + Whitelist?: string[]; /** - * The ID of the OriginEndpoint. + * Amount of delay (seconds) to enforce on the playback of live content. + * If not specified, there will be no time delay in effect for the OriginEndpoint. */ - Id?: string; + TimeDelaySeconds?: number; /** - * A Common Media Application Format (CMAF) packaging configuration. + * A Microsoft Smooth Streaming (MSS) packaging configuration. */ - CmafPackage?: CmafPackage; + MssPackage?: MssPackage; /** - * A Microsoft Smooth Streaming (MSS) packaging configuration. + * The ID of the Channel the OriginEndpoint is associated with. */ - MssPackage?: MssPackage; + ChannelId?: string; /** * A short text description of the OriginEndpoint. */ Description?: string; + /** + * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint + * may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be + * requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination + */ + Origination?: Origination | string; + /** * The Amazon Resource Name (ARN) assigned to the OriginEndpoint. */ Arn?: string; /** - * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. + * The ID of the OriginEndpoint. */ - Whitelist?: string[]; + Id?: string; /** - * Amount of delay (seconds) to enforce on the playback of live content. - * If not specified, there will be no time delay in effect for the OriginEndpoint. + * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. */ - TimeDelaySeconds?: number; + DashPackage?: DashPackage; } export namespace OriginEndpoint { @@ -926,6 +984,16 @@ export namespace OriginEndpoint { * A Common Media Application Format (CMAF) packaging configuration. */ export interface CmafPackageCreateOrUpdateParameters { + /** + * A Common Media Application Format (CMAF) encryption configuration. + */ + Encryption?: CmafEncryption; + + /** + * An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId. + */ + SegmentPrefix?: string; + /** * A StreamSelection configuration. */ @@ -941,16 +1009,6 @@ export interface CmafPackageCreateOrUpdateParameters { * A list of HLS manifest configurations */ HlsManifests?: HlsManifestCreateOrUpdateParameters[]; - - /** - * An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId. - */ - SegmentPrefix?: string; - - /** - * A Common Media Application Format (CMAF) encryption configuration. - */ - Encryption?: CmafEncryption; } export namespace CmafPackageCreateOrUpdateParameters { @@ -960,37 +1018,36 @@ export namespace CmafPackageCreateOrUpdateParameters { } /** - * A new Channel configuration. + * the option to configure log subscription. */ -export interface CreateChannelRequest { +export interface ConfigureLogsRequest { /** - * The ID of the Channel. The ID must be unique within the region and it - * cannot be changed after a Channel is created. + * The ID of the channel to log subscription. */ Id: string | undefined; /** - * A short text description of the Channel. + * Configure ingress access logging. */ - Description?: string; + IngressAccessLogs?: IngressAccessLogs; /** - * A collection of tags associated with a resource + * Configure egress access logging. */ - Tags?: { [key: string]: string }; + EgressAccessLogs?: EgressAccessLogs; } -export namespace CreateChannelRequest { - export const filterSensitiveLog = (obj: CreateChannelRequest): any => ({ +export namespace ConfigureLogsRequest { + export const filterSensitiveLog = (obj: ConfigureLogsRequest): any => ({ ...obj, }); } -export interface CreateChannelResponse { +export interface ConfigureLogsResponse { /** - * A collection of tags associated with a resource + * Configure egress access logging. */ - Tags?: { [key: string]: string }; + EgressAccessLogs?: EgressAccessLogs; /** * An HTTP Live Streaming (HLS) ingest resource configuration. @@ -998,9 +1055,14 @@ export interface CreateChannelResponse { HlsIngest?: HlsIngest; /** - * A short text description of the Channel. + * Configure ingress access logging. */ - Description?: string; + IngressAccessLogs?: IngressAccessLogs; + + /** + * The ID of the Channel. + */ + Id?: string; /** * The Amazon Resource Name (ARN) assigned to the Channel. @@ -1008,13 +1070,18 @@ export interface CreateChannelResponse { Arn?: string; /** - * The ID of the Channel. + * A short text description of the Channel. */ - Id?: string; + Description?: string; + + /** + * A collection of tags associated with a resource + */ + Tags?: { [key: string]: string }; } -export namespace CreateChannelResponse { - export const filterSensitiveLog = (obj: CreateChannelResponse): any => ({ +export namespace ConfigureLogsResponse { + export const filterSensitiveLog = (obj: ConfigureLogsResponse): any => ({ ...obj, }); } @@ -1103,8 +1170,78 @@ export interface UnprocessableEntityException extends __SmithyException, $Metada Message?: string; } -export namespace UnprocessableEntityException { - export const filterSensitiveLog = (obj: UnprocessableEntityException): any => ({ +export namespace UnprocessableEntityException { + export const filterSensitiveLog = (obj: UnprocessableEntityException): any => ({ + ...obj, + }); +} + +/** + * A new Channel configuration. + */ +export interface CreateChannelRequest { + /** + * A collection of tags associated with a resource + */ + Tags?: { [key: string]: string }; + + /** + * The ID of the Channel. The ID must be unique within the region and it + * cannot be changed after a Channel is created. + */ + Id: string | undefined; + + /** + * A short text description of the Channel. + */ + Description?: string; +} + +export namespace CreateChannelRequest { + export const filterSensitiveLog = (obj: CreateChannelRequest): any => ({ + ...obj, + }); +} + +export interface CreateChannelResponse { + /** + * The Amazon Resource Name (ARN) assigned to the Channel. + */ + Arn?: string; + + /** + * The ID of the Channel. + */ + Id?: string; + + /** + * A short text description of the Channel. + */ + Description?: string; + + /** + * An HTTP Live Streaming (HLS) ingest resource configuration. + */ + HlsIngest?: HlsIngest; + + /** + * A collection of tags associated with a resource + */ + Tags?: { [key: string]: string }; + + /** + * Configure egress access logging. + */ + EgressAccessLogs?: EgressAccessLogs; + + /** + * Configure ingress access logging. + */ + IngressAccessLogs?: IngressAccessLogs; +} + +export namespace CreateChannelResponse { + export const filterSensitiveLog = (obj: CreateChannelResponse): any => ({ ...obj, }); } @@ -1113,6 +1250,11 @@ export namespace UnprocessableEntityException { * Configuration parameters used to create a new HarvestJob. */ export interface CreateHarvestJobRequest { + /** + * The start of the time-window which will be harvested + */ + StartTime: string | undefined; + /** * The end of the time-window which will be harvested */ @@ -1124,11 +1266,6 @@ export interface CreateHarvestJobRequest { */ OriginEndpointId: string | undefined; - /** - * The start of the time-window which will be harvested - */ - StartTime: string | undefined; - /** * The ID of the HarvestJob. The ID must be unique within the region * and it cannot be changed after the HarvestJob is submitted @@ -1149,25 +1286,28 @@ export namespace CreateHarvestJobRequest { export interface CreateHarvestJobResponse { /** - * The ID of the HarvestJob. The ID must be unique within the region - * and it cannot be changed after the HarvestJob is submitted. + * Configuration parameters for where in an S3 bucket to place the harvested content */ - Id?: string; + S3Destination?: S3Destination; /** - * The start of the time-window which will be harvested. + * The current status of the HarvestJob. Consider setting up a CloudWatch Event to listen for + * HarvestJobs as they succeed or fail. In the event of failure, the CloudWatch Event will + * include an explanation of why the HarvestJob failed. */ - StartTime?: string; + Status?: Status | string; /** - * The end of the time-window which will be harvested. + * The ID of the OriginEndpoint that the HarvestJob will harvest from. + * This cannot be changed after the HarvestJob is submitted. */ - EndTime?: string; + OriginEndpointId?: string; /** - * The Amazon Resource Name (ARN) assigned to the HarvestJob. + * The ID of the HarvestJob. The ID must be unique within the region + * and it cannot be changed after the HarvestJob is submitted. */ - Arn?: string; + Id?: string; /** * The time the HarvestJob was submitted @@ -1175,22 +1315,19 @@ export interface CreateHarvestJobResponse { CreatedAt?: string; /** - * The ID of the OriginEndpoint that the HarvestJob will harvest from. - * This cannot be changed after the HarvestJob is submitted. + * The start of the time-window which will be harvested. */ - OriginEndpointId?: string; + StartTime?: string; /** - * Configuration parameters for where in an S3 bucket to place the harvested content + * The Amazon Resource Name (ARN) assigned to the HarvestJob. */ - S3Destination?: S3Destination; + Arn?: string; /** - * The current status of the HarvestJob. Consider setting up a CloudWatch Event to listen for - * HarvestJobs as they succeed or fail. In the event of failure, the CloudWatch Event will - * include an explanation of why the HarvestJob failed. + * The end of the time-window which will be harvested. */ - Status?: Status | string; + EndTime?: string; /** * The ID of the Channel that the HarvestJob will harvest from. @@ -1209,21 +1346,22 @@ export namespace CreateHarvestJobResponse { */ export interface CreateOriginEndpointRequest { /** - * Amount of delay (seconds) to enforce on the playback of live content. - * If not specified, there will be no time delay in effect for the OriginEndpoint. + * The ID of the Channel that the OriginEndpoint will be associated with. + * This cannot be changed after the OriginEndpoint is created. */ - TimeDelaySeconds?: number; + ChannelId: string | undefined; /** - * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint + * may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be + * requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination */ - DashPackage?: DashPackage; + Origination?: Origination | string; /** - * The ID of the Channel that the OriginEndpoint will be associated with. - * This cannot be changed after the OriginEndpoint is created. + * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. */ - ChannelId: string | undefined; + DashPackage?: DashPackage; /** * An HTTP Live Streaming (HLS) packaging configuration. @@ -1231,14 +1369,9 @@ export interface CreateOriginEndpointRequest { HlsPackage?: HlsPackage; /** - * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. - */ - Whitelist?: string[]; - - /** - * A Common Media Application Format (CMAF) packaging configuration. + * CDN Authorization credentials */ - CmafPackage?: CmafPackageCreateOrUpdateParameters; + Authorization?: Authorization; /** * A collection of tags associated with a resource @@ -1246,27 +1379,25 @@ export interface CreateOriginEndpointRequest { Tags?: { [key: string]: string }; /** - * A short string that will be used as the filename of the OriginEndpoint URL (defaults to "index"). + * Maximum duration (seconds) of content to retain for startover playback. + * If not specified, startover playback will be disabled for the OriginEndpoint. */ - ManifestName?: string; + StartoverWindowSeconds?: number; /** - * CDN Authorization credentials + * A Common Media Application Format (CMAF) packaging configuration. */ - Authorization?: Authorization; + CmafPackage?: CmafPackageCreateOrUpdateParameters; /** - * Maximum duration (seconds) of content to retain for startover playback. - * If not specified, startover playback will be disabled for the OriginEndpoint. + * A Microsoft Smooth Streaming (MSS) packaging configuration. */ - StartoverWindowSeconds?: number; + MssPackage?: MssPackage; /** - * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint - * may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be - * requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination + * A short text description of the OriginEndpoint. */ - Origination?: Origination | string; + Description?: string; /** * The ID of the OriginEndpoint. The ID must be unique within the region @@ -1275,14 +1406,20 @@ export interface CreateOriginEndpointRequest { Id: string | undefined; /** - * A Microsoft Smooth Streaming (MSS) packaging configuration. + * Amount of delay (seconds) to enforce on the playback of live content. + * If not specified, there will be no time delay in effect for the OriginEndpoint. */ - MssPackage?: MssPackage; + TimeDelaySeconds?: number; /** - * A short text description of the OriginEndpoint. + * A short string that will be used as the filename of the OriginEndpoint URL (defaults to "index"). */ - Description?: string; + ManifestName?: string; + + /** + * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. + */ + Whitelist?: string[]; } export namespace CreateOriginEndpointRequest { @@ -1293,88 +1430,88 @@ export namespace CreateOriginEndpointRequest { export interface CreateOriginEndpointResponse { /** - * Maximum duration (seconds) of content to retain for startover playback. - * If not specified, startover playback will be disabled for the OriginEndpoint. + * The Amazon Resource Name (ARN) assigned to the OriginEndpoint. */ - StartoverWindowSeconds?: number; + Arn?: string; /** - * A collection of tags associated with a resource + * A Microsoft Smooth Streaming (MSS) packaging configuration. */ - Tags?: { [key: string]: string }; + MssPackage?: MssPackage; /** - * The URL of the packaged OriginEndpoint for consumption. + * A short string appended to the end of the OriginEndpoint URL. */ - Url?: string; + ManifestName?: string; /** - * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint - * may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be - * requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination + * Amount of delay (seconds) to enforce on the playback of live content. + * If not specified, there will be no time delay in effect for the OriginEndpoint. */ - Origination?: Origination | string; + TimeDelaySeconds?: number; /** - * An HTTP Live Streaming (HLS) packaging configuration. + * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. */ - HlsPackage?: HlsPackage; + DashPackage?: DashPackage; /** - * A short string appended to the end of the OriginEndpoint URL. + * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. */ - ManifestName?: string; + Whitelist?: string[]; /** - * CDN Authorization credentials + * The URL of the packaged OriginEndpoint for consumption. */ - Authorization?: Authorization; + Url?: string; /** - * The ID of the OriginEndpoint. + * The ID of the Channel the OriginEndpoint is associated with. */ - Id?: string; + ChannelId?: string; /** - * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + * An HTTP Live Streaming (HLS) packaging configuration. */ - DashPackage?: DashPackage; + HlsPackage?: HlsPackage; /** - * The Amazon Resource Name (ARN) assigned to the OriginEndpoint. + * CDN Authorization credentials */ - Arn?: string; + Authorization?: Authorization; /** - * A short text description of the OriginEndpoint. + * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint + * may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be + * requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination */ - Description?: string; + Origination?: Origination | string; /** - * A Common Media Application Format (CMAF) packaging configuration. + * A collection of tags associated with a resource */ - CmafPackage?: CmafPackage; + Tags?: { [key: string]: string }; /** - * Amount of delay (seconds) to enforce on the playback of live content. - * If not specified, there will be no time delay in effect for the OriginEndpoint. + * Maximum duration (seconds) of content to retain for startover playback. + * If not specified, startover playback will be disabled for the OriginEndpoint. */ - TimeDelaySeconds?: number; + StartoverWindowSeconds?: number; /** - * A Microsoft Smooth Streaming (MSS) packaging configuration. + * A short text description of the OriginEndpoint. */ - MssPackage?: MssPackage; + Description?: string; /** - * The ID of the Channel the OriginEndpoint is associated with. + * A Common Media Application Format (CMAF) packaging configuration. */ - ChannelId?: string; + CmafPackage?: CmafPackage; /** - * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. + * The ID of the OriginEndpoint. */ - Whitelist?: string[]; + Id?: string; } export namespace CreateOriginEndpointResponse { @@ -1440,9 +1577,9 @@ export namespace DescribeChannelRequest { export interface DescribeChannelResponse { /** - * A short text description of the Channel. + * Configure ingress access logging. */ - Description?: string; + IngressAccessLogs?: IngressAccessLogs; /** * A collection of tags associated with a resource @@ -1450,9 +1587,14 @@ export interface DescribeChannelResponse { Tags?: { [key: string]: string }; /** - * The ID of the Channel. + * A short text description of the Channel. */ - Id?: string; + Description?: string; + + /** + * The Amazon Resource Name (ARN) assigned to the Channel. + */ + Arn?: string; /** * An HTTP Live Streaming (HLS) ingest resource configuration. @@ -1460,9 +1602,14 @@ export interface DescribeChannelResponse { HlsIngest?: HlsIngest; /** - * The Amazon Resource Name (ARN) assigned to the Channel. + * The ID of the Channel. */ - Arn?: string; + Id?: string; + + /** + * Configure egress access logging. + */ + EgressAccessLogs?: EgressAccessLogs; } export namespace DescribeChannelResponse { @@ -1486,53 +1633,53 @@ export namespace DescribeHarvestJobRequest { export interface DescribeHarvestJobResponse { /** - * The Amazon Resource Name (ARN) assigned to the HarvestJob. + * The start of the time-window which will be harvested. */ - Arn?: string; + StartTime?: string; /** - * Configuration parameters for where in an S3 bucket to place the harvested content + * The current status of the HarvestJob. Consider setting up a CloudWatch Event to listen for + * HarvestJobs as they succeed or fail. In the event of failure, the CloudWatch Event will + * include an explanation of why the HarvestJob failed. */ - S3Destination?: S3Destination; + Status?: Status | string; /** - * The ID of the HarvestJob. The ID must be unique within the region - * and it cannot be changed after the HarvestJob is submitted. + * The time the HarvestJob was submitted */ - Id?: string; + CreatedAt?: string; /** - * The current status of the HarvestJob. Consider setting up a CloudWatch Event to listen for - * HarvestJobs as they succeed or fail. In the event of failure, the CloudWatch Event will - * include an explanation of why the HarvestJob failed. + * The ID of the OriginEndpoint that the HarvestJob will harvest from. + * This cannot be changed after the HarvestJob is submitted. */ - Status?: Status | string; + OriginEndpointId?: string; /** - * The end of the time-window which will be harvested. + * The ID of the HarvestJob. The ID must be unique within the region + * and it cannot be changed after the HarvestJob is submitted. */ - EndTime?: string; + Id?: string; /** - * The start of the time-window which will be harvested. + * The ID of the Channel that the HarvestJob will harvest from. */ - StartTime?: string; + ChannelId?: string; /** - * The time the HarvestJob was submitted + * The Amazon Resource Name (ARN) assigned to the HarvestJob. */ - CreatedAt?: string; + Arn?: string; /** - * The ID of the OriginEndpoint that the HarvestJob will harvest from. - * This cannot be changed after the HarvestJob is submitted. + * The end of the time-window which will be harvested. */ - OriginEndpointId?: string; + EndTime?: string; /** - * The ID of the Channel that the HarvestJob will harvest from. + * Configuration parameters for where in an S3 bucket to place the harvested content */ - ChannelId?: string; + S3Destination?: S3Destination; } export namespace DescribeHarvestJobResponse { @@ -1556,30 +1703,25 @@ export namespace DescribeOriginEndpointRequest { export interface DescribeOriginEndpointResponse { /** - * Maximum duration (seconds) of content to retain for startover playback. - * If not specified, startover playback will be disabled for the OriginEndpoint. - */ - StartoverWindowSeconds?: number; - - /** - * A Common Media Application Format (CMAF) packaging configuration. + * The Amazon Resource Name (ARN) assigned to the OriginEndpoint. */ - CmafPackage?: CmafPackage; + Arn?: string; /** - * A collection of tags associated with a resource + * A Microsoft Smooth Streaming (MSS) packaging configuration. */ - Tags?: { [key: string]: string }; + MssPackage?: MssPackage; /** - * CDN Authorization credentials + * Amount of delay (seconds) to enforce on the playback of live content. + * If not specified, there will be no time delay in effect for the OriginEndpoint. */ - Authorization?: Authorization; + TimeDelaySeconds?: number; /** - * A short string appended to the end of the OriginEndpoint URL. + * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. */ - ManifestName?: string; + Whitelist?: string[]; /** * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. @@ -1587,57 +1729,62 @@ export interface DescribeOriginEndpointResponse { DashPackage?: DashPackage; /** - * An HTTP Live Streaming (HLS) packaging configuration. + * The ID of the Channel the OriginEndpoint is associated with. */ - HlsPackage?: HlsPackage; + ChannelId?: string; /** - * The ID of the OriginEndpoint. + * The URL of the packaged OriginEndpoint for consumption. */ - Id?: string; + Url?: string; /** - * The Amazon Resource Name (ARN) assigned to the OriginEndpoint. + * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint + * may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be + * requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination */ - Arn?: string; + Origination?: Origination | string; /** - * A short text description of the OriginEndpoint. + * CDN Authorization credentials */ - Description?: string; + Authorization?: Authorization; /** - * A Microsoft Smooth Streaming (MSS) packaging configuration. + * An HTTP Live Streaming (HLS) packaging configuration. */ - MssPackage?: MssPackage; + HlsPackage?: HlsPackage; /** - * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. + * A short string appended to the end of the OriginEndpoint URL. */ - Whitelist?: string[]; + ManifestName?: string; /** - * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint - * may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be - * requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination + * A collection of tags associated with a resource */ - Origination?: Origination | string; + Tags?: { [key: string]: string }; /** - * The URL of the packaged OriginEndpoint for consumption. + * Maximum duration (seconds) of content to retain for startover playback. + * If not specified, startover playback will be disabled for the OriginEndpoint. */ - Url?: string; + StartoverWindowSeconds?: number; /** - * The ID of the Channel the OriginEndpoint is associated with. + * A Common Media Application Format (CMAF) packaging configuration. */ - ChannelId?: string; + CmafPackage?: CmafPackage; /** - * Amount of delay (seconds) to enforce on the playback of live content. - * If not specified, there will be no time delay in effect for the OriginEndpoint. + * A short text description of the OriginEndpoint. */ - TimeDelaySeconds?: number; + Description?: string; + + /** + * The ID of the OriginEndpoint. + */ + Id?: string; } export namespace DescribeOriginEndpointResponse { @@ -1684,9 +1831,9 @@ export namespace ListChannelsResponse { export interface ListHarvestJobsRequest { /** - * The upper bound on the number of records to return. + * A token used to resume pagination from the end of a previous request. */ - MaxResults?: number; + NextToken?: string; /** * When specified, the request will return only HarvestJobs in the given status. @@ -1694,9 +1841,9 @@ export interface ListHarvestJobsRequest { IncludeStatus?: string; /** - * A token used to resume pagination from the end of a previous request. + * The upper bound on the number of records to return. */ - NextToken?: string; + MaxResults?: number; /** * When specified, the request will return only HarvestJobs associated with the given Channel ID. @@ -1730,9 +1877,9 @@ export namespace ListHarvestJobsResponse { export interface ListOriginEndpointsRequest { /** - * When specified, the request will return only OriginEndpoints associated with the given Channel ID. + * A token used to resume pagination from the end of a previous request. */ - ChannelId?: string; + NextToken?: string; /** * The upper bound on the number of records to return. @@ -1740,9 +1887,9 @@ export interface ListOriginEndpointsRequest { MaxResults?: number; /** - * A token used to resume pagination from the end of a previous request. + * When specified, the request will return only OriginEndpoints associated with the given Channel ID. */ - NextToken?: string; + ChannelId?: string; } export namespace ListOriginEndpointsRequest { @@ -1803,15 +1950,25 @@ export namespace RotateChannelCredentialsRequest { } export interface RotateChannelCredentialsResponse { + /** + * The ID of the Channel. + */ + Id?: string; + /** * A short text description of the Channel. */ Description?: string; /** - * The ID of the Channel. + * Configure ingress access logging. */ - Id?: string; + IngressAccessLogs?: IngressAccessLogs; + + /** + * Configure egress access logging. + */ + EgressAccessLogs?: EgressAccessLogs; /** * A collection of tags associated with a resource @@ -1837,14 +1994,14 @@ export namespace RotateChannelCredentialsResponse { export interface RotateIngestEndpointCredentialsRequest { /** - * The ID of the channel the IngestEndpoint is on. + * The id of the IngestEndpoint whose credentials should be rotated */ - Id: string | undefined; + IngestEndpointId: string | undefined; /** - * The id of the IngestEndpoint whose credentials should be rotated + * The ID of the channel the IngestEndpoint is on. */ - IngestEndpointId: string | undefined; + Id: string | undefined; } export namespace RotateIngestEndpointCredentialsRequest { @@ -1855,14 +2012,19 @@ export namespace RotateIngestEndpointCredentialsRequest { export interface RotateIngestEndpointCredentialsResponse { /** - * An HTTP Live Streaming (HLS) ingest resource configuration. + * A short text description of the Channel. */ - HlsIngest?: HlsIngest; + Description?: string; /** - * A collection of tags associated with a resource + * The ID of the Channel. */ - Tags?: { [key: string]: string }; + Id?: string; + + /** + * An HTTP Live Streaming (HLS) ingest resource configuration. + */ + HlsIngest?: HlsIngest; /** * The Amazon Resource Name (ARN) assigned to the Channel. @@ -1870,14 +2032,19 @@ export interface RotateIngestEndpointCredentialsResponse { Arn?: string; /** - * A short text description of the Channel. + * A collection of tags associated with a resource */ - Description?: string; + Tags?: { [key: string]: string }; /** - * The ID of the Channel. + * Configure egress access logging. */ - Id?: string; + EgressAccessLogs?: EgressAccessLogs; + + /** + * Configure ingress access logging. + */ + IngressAccessLogs?: IngressAccessLogs; } export namespace RotateIngestEndpointCredentialsResponse { @@ -1934,15 +2101,25 @@ export namespace UpdateChannelRequest { } export interface UpdateChannelResponse { + /** + * A collection of tags associated with a resource + */ + Tags?: { [key: string]: string }; + + /** + * Configure ingress access logging. + */ + IngressAccessLogs?: IngressAccessLogs; + /** * The ID of the Channel. */ Id?: string; /** - * A collection of tags associated with a resource + * Configure egress access logging. */ - Tags?: { [key: string]: string }; + EgressAccessLogs?: EgressAccessLogs; /** * A short text description of the Channel. @@ -1971,25 +2148,26 @@ export namespace UpdateChannelResponse { */ export interface UpdateOriginEndpointRequest { /** - * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. + * A short text description of the OriginEndpoint. */ - Whitelist?: string[]; + Description?: string; /** - * Amount of delay (in seconds) to enforce on the playback of live content. - * If not specified, there will be no time delay in effect for the OriginEndpoint. + * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint + * may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be + * requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination */ - TimeDelaySeconds?: number; + Origination?: Origination | string; /** - * A Common Media Application Format (CMAF) packaging configuration. + * An HTTP Live Streaming (HLS) packaging configuration. */ - CmafPackage?: CmafPackageCreateOrUpdateParameters; + HlsPackage?: HlsPackage; /** - * The ID of the OriginEndpoint to update. + * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. */ - Id: string | undefined; + DashPackage?: DashPackage; /** * A Microsoft Smooth Streaming (MSS) packaging configuration. @@ -1997,42 +2175,41 @@ export interface UpdateOriginEndpointRequest { MssPackage?: MssPackage; /** - * A short text description of the OriginEndpoint. + * The ID of the OriginEndpoint to update. */ - Description?: string; + Id: string | undefined; /** - * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. */ - DashPackage?: DashPackage; + Whitelist?: string[]; /** - * Maximum duration (in seconds) of content to retain for startover playback. - * If not specified, startover playback will be disabled for the OriginEndpoint. + * Amount of delay (in seconds) to enforce on the playback of live content. + * If not specified, there will be no time delay in effect for the OriginEndpoint. */ - StartoverWindowSeconds?: number; + TimeDelaySeconds?: number; /** - * A short string that will be appended to the end of the Endpoint URL. + * A Common Media Application Format (CMAF) packaging configuration. */ - ManifestName?: string; + CmafPackage?: CmafPackageCreateOrUpdateParameters; /** - * An HTTP Live Streaming (HLS) packaging configuration. + * A short string that will be appended to the end of the Endpoint URL. */ - HlsPackage?: HlsPackage; + ManifestName?: string; /** - * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint - * may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be - * requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination + * CDN Authorization credentials */ - Origination?: Origination | string; + Authorization?: Authorization; /** - * CDN Authorization credentials + * Maximum duration (in seconds) of content to retain for startover playback. + * If not specified, startover playback will be disabled for the OriginEndpoint. */ - Authorization?: Authorization; + StartoverWindowSeconds?: number; } export namespace UpdateOriginEndpointRequest { @@ -2043,55 +2220,61 @@ export namespace UpdateOriginEndpointRequest { export interface UpdateOriginEndpointResponse { /** - * A short text description of the OriginEndpoint. + * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. */ - Description?: string; + DashPackage?: DashPackage; /** - * A Microsoft Smooth Streaming (MSS) packaging configuration. + * Amount of delay (seconds) to enforce on the playback of live content. + * If not specified, there will be no time delay in effect for the OriginEndpoint. */ - MssPackage?: MssPackage; + TimeDelaySeconds?: number; /** - * The ID of the OriginEndpoint. + * The Amazon Resource Name (ARN) assigned to the OriginEndpoint. */ - Id?: string; + Arn?: string; /** - * The Amazon Resource Name (ARN) assigned to the OriginEndpoint. + * An HTTP Live Streaming (HLS) packaging configuration. */ - Arn?: string; + HlsPackage?: HlsPackage; /** - * Amount of delay (seconds) to enforce on the playback of live content. - * If not specified, there will be no time delay in effect for the OriginEndpoint. + * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. */ - TimeDelaySeconds?: number; + Whitelist?: string[]; /** - * A Common Media Application Format (CMAF) packaging configuration. + * CDN Authorization credentials */ - CmafPackage?: CmafPackage; + Authorization?: Authorization; /** - * The URL of the packaged OriginEndpoint for consumption. + * A short string appended to the end of the OriginEndpoint URL. */ - Url?: string; + ManifestName?: string; /** - * CDN Authorization credentials + * A Common Media Application Format (CMAF) packaging configuration. */ - Authorization?: Authorization; + CmafPackage?: CmafPackage; /** - * An HTTP Live Streaming (HLS) packaging configuration. + * Maximum duration (seconds) of content to retain for startover playback. + * If not specified, startover playback will be disabled for the OriginEndpoint. */ - HlsPackage?: HlsPackage; + StartoverWindowSeconds?: number; /** - * The ID of the Channel the OriginEndpoint is associated with. + * A collection of tags associated with a resource */ - ChannelId?: string; + Tags?: { [key: string]: string }; + + /** + * A short text description of the OriginEndpoint. + */ + Description?: string; /** * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint @@ -2101,30 +2284,24 @@ export interface UpdateOriginEndpointResponse { Origination?: Origination | string; /** - * A collection of tags associated with a resource - */ - Tags?: { [key: string]: string }; - - /** - * Maximum duration (seconds) of content to retain for startover playback. - * If not specified, startover playback will be disabled for the OriginEndpoint. + * The ID of the OriginEndpoint. */ - StartoverWindowSeconds?: number; + Id?: string; /** - * A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + * The ID of the Channel the OriginEndpoint is associated with. */ - DashPackage?: DashPackage; + ChannelId?: string; /** - * A short string appended to the end of the OriginEndpoint URL. + * The URL of the packaged OriginEndpoint for consumption. */ - ManifestName?: string; + Url?: string; /** - * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint. + * A Microsoft Smooth Streaming (MSS) packaging configuration. */ - Whitelist?: string[]; + MssPackage?: MssPackage; } export namespace UpdateOriginEndpointResponse { diff --git a/clients/client-mediapackage/pagination/Interfaces.ts b/clients/client-mediapackage/pagination/Interfaces.ts new file mode 100644 index 000000000000..dee38541a86b --- /dev/null +++ b/clients/client-mediapackage/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { MediaPackage } from "../MediaPackage"; +import { MediaPackageClient } from "../MediaPackageClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface MediaPackagePaginationConfiguration extends PaginationConfiguration { + client: MediaPackage | MediaPackageClient; +} diff --git a/clients/client-mediapackage/pagination/ListChannelsPaginator.ts b/clients/client-mediapackage/pagination/ListChannelsPaginator.ts new file mode 100644 index 000000000000..de08f07b0a61 --- /dev/null +++ b/clients/client-mediapackage/pagination/ListChannelsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaPackage } from "../MediaPackage"; +import { MediaPackageClient } from "../MediaPackageClient"; +import { + ListChannelsCommand, + ListChannelsCommandInput, + ListChannelsCommandOutput, +} from "../commands/ListChannelsCommand"; +import { MediaPackagePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaPackageClient, + input: ListChannelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListChannelsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaPackage, + input: ListChannelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listChannels(input, ...args); +}; +export async function* listChannelsPaginate( + config: MediaPackagePaginationConfiguration, + input: ListChannelsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListChannelsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaPackage) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaPackageClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaPackage | MediaPackageClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediapackage/pagination/ListHarvestJobsPaginator.ts b/clients/client-mediapackage/pagination/ListHarvestJobsPaginator.ts new file mode 100644 index 000000000000..a3df84eca54b --- /dev/null +++ b/clients/client-mediapackage/pagination/ListHarvestJobsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaPackage } from "../MediaPackage"; +import { MediaPackageClient } from "../MediaPackageClient"; +import { + ListHarvestJobsCommand, + ListHarvestJobsCommandInput, + ListHarvestJobsCommandOutput, +} from "../commands/ListHarvestJobsCommand"; +import { MediaPackagePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaPackageClient, + input: ListHarvestJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListHarvestJobsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaPackage, + input: ListHarvestJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listHarvestJobs(input, ...args); +}; +export async function* listHarvestJobsPaginate( + config: MediaPackagePaginationConfiguration, + input: ListHarvestJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListHarvestJobsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaPackage) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaPackageClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaPackage | MediaPackageClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediapackage/pagination/ListOriginEndpointsPaginator.ts b/clients/client-mediapackage/pagination/ListOriginEndpointsPaginator.ts new file mode 100644 index 000000000000..235308273dcb --- /dev/null +++ b/clients/client-mediapackage/pagination/ListOriginEndpointsPaginator.ts @@ -0,0 +1,51 @@ +import { MediaPackage } from "../MediaPackage"; +import { MediaPackageClient } from "../MediaPackageClient"; +import { + ListOriginEndpointsCommand, + ListOriginEndpointsCommandInput, + ListOriginEndpointsCommandOutput, +} from "../commands/ListOriginEndpointsCommand"; +import { MediaPackagePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MediaPackageClient, + input: ListOriginEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListOriginEndpointsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: MediaPackage, + input: ListOriginEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listOriginEndpoints(input, ...args); +}; +export async function* listOriginEndpointsPaginate( + config: MediaPackagePaginationConfiguration, + input: ListOriginEndpointsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListOriginEndpointsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof MediaPackage) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MediaPackageClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected MediaPackage | MediaPackageClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mediapackage/protocols/Aws_restJson1.ts b/clients/client-mediapackage/protocols/Aws_restJson1.ts index 2fe0259cfd83..cc93e74f1211 100644 --- a/clients/client-mediapackage/protocols/Aws_restJson1.ts +++ b/clients/client-mediapackage/protocols/Aws_restJson1.ts @@ -1,3 +1,4 @@ +import { ConfigureLogsCommandInput, ConfigureLogsCommandOutput } from "../commands/ConfigureLogsCommand"; import { CreateChannelCommandInput, CreateChannelCommandOutput } from "../commands/CreateChannelCommand"; import { CreateHarvestJobCommandInput, CreateHarvestJobCommandOutput } from "../commands/CreateHarvestJobCommand"; import { @@ -48,6 +49,7 @@ import { CmafPackageCreateOrUpdateParameters, DashEncryption, DashPackage, + EgressAccessLogs, ForbiddenException, HarvestJob, HlsEncryption, @@ -56,6 +58,7 @@ import { HlsManifestCreateOrUpdateParameters, HlsPackage, IngestEndpoint, + IngressAccessLogs, InternalServerErrorException, MssEncryption, MssPackage, @@ -82,6 +85,44 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; +export const serializeAws_restJson1ConfigureLogsCommand = async ( + input: ConfigureLogsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/channels/{Id}/configure_logs"; + if (input.Id !== undefined) { + const labelValue: string = input.Id; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Id."); + } + resolvedPath = resolvedPath.replace("{Id}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Id."); + } + let body: any; + body = JSON.stringify({ + ...(input.EgressAccessLogs !== undefined && { + egressAccessLogs: serializeAws_restJson1EgressAccessLogs(input.EgressAccessLogs, context), + }), + ...(input.IngressAccessLogs !== undefined && { + ingressAccessLogs: serializeAws_restJson1IngressAccessLogs(input.IngressAccessLogs, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateChannelCommand = async ( input: CreateChannelCommandInput, context: __SerdeContext @@ -368,9 +409,9 @@ export const serializeAws_restJson1ListHarvestJobsCommand = async ( }; let resolvedPath = "/harvest_jobs"; const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.IncludeStatus !== undefined && { includeStatus: input.IncludeStatus }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.IncludeStatus !== undefined && { includeStatus: input.IncludeStatus }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.IncludeChannelId !== undefined && { includeChannelId: input.IncludeChannelId }), }; let body: any; @@ -396,9 +437,9 @@ export const serializeAws_restJson1ListOriginEndpointsCommand = async ( }; let resolvedPath = "/origin_endpoints"; const query: any = { - ...(input.ChannelId !== undefined && { channelId: input.ChannelId }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.ChannelId !== undefined && { channelId: input.ChannelId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -482,15 +523,6 @@ export const serializeAws_restJson1RotateIngestEndpointCredentialsCommand = asyn "Content-Type": "", }; let resolvedPath = "/channels/{Id}/ingest_endpoints/{IngestEndpointId}/credentials"; - if (input.Id !== undefined) { - const labelValue: string = input.Id; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Id."); - } - resolvedPath = resolvedPath.replace("{Id}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Id."); - } if (input.IngestEndpointId !== undefined) { const labelValue: string = input.IngestEndpointId; if (labelValue.length <= 0) { @@ -500,6 +532,15 @@ export const serializeAws_restJson1RotateIngestEndpointCredentialsCommand = asyn } else { throw new Error("No value provided for input HTTP label: IngestEndpointId."); } + if (input.Id !== undefined) { + const labelValue: string = input.Id; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Id."); + } + resolvedPath = resolvedPath.replace("{Id}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Id."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -664,6 +705,125 @@ export const serializeAws_restJson1UpdateOriginEndpointCommand = async ( }); }; +export const deserializeAws_restJson1ConfigureLogsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ConfigureLogsCommandError(output, context); + } + const contents: ConfigureLogsCommandOutput = { + $metadata: deserializeMetadata(output), + Arn: undefined, + Description: undefined, + EgressAccessLogs: undefined, + HlsIngest: undefined, + Id: undefined, + IngressAccessLogs: undefined, + Tags: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.Arn = data.arn; + } + if (data.description !== undefined && data.description !== null) { + contents.Description = data.description; + } + if (data.egressAccessLogs !== undefined && data.egressAccessLogs !== null) { + contents.EgressAccessLogs = deserializeAws_restJson1EgressAccessLogs(data.egressAccessLogs, context); + } + if (data.hlsIngest !== undefined && data.hlsIngest !== null) { + contents.HlsIngest = deserializeAws_restJson1HlsIngest(data.hlsIngest, context); + } + if (data.id !== undefined && data.id !== null) { + contents.Id = data.id; + } + if (data.ingressAccessLogs !== undefined && data.ingressAccessLogs !== null) { + contents.IngressAccessLogs = deserializeAws_restJson1IngressAccessLogs(data.ingressAccessLogs, context); + } + if (data.tags !== undefined && data.tags !== null) { + contents.Tags = deserializeAws_restJson1Tags(data.tags, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ConfigureLogsCommandError = 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 "ForbiddenException": + case "com.amazonaws.mediapackage#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.mediapackage#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.mediapackage#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.mediapackage#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.mediapackage#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnprocessableEntityException": + case "com.amazonaws.mediapackage#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_restJson1CreateChannelCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -675,8 +835,10 @@ export const deserializeAws_restJson1CreateChannelCommand = async ( $metadata: deserializeMetadata(output), Arn: undefined, Description: undefined, + EgressAccessLogs: undefined, HlsIngest: undefined, Id: undefined, + IngressAccessLogs: undefined, Tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -686,12 +848,18 @@ export const deserializeAws_restJson1CreateChannelCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.egressAccessLogs !== undefined && data.egressAccessLogs !== null) { + contents.EgressAccessLogs = deserializeAws_restJson1EgressAccessLogs(data.egressAccessLogs, context); + } if (data.hlsIngest !== undefined && data.hlsIngest !== null) { contents.HlsIngest = deserializeAws_restJson1HlsIngest(data.hlsIngest, context); } if (data.id !== undefined && data.id !== null) { contents.Id = data.id; } + if (data.ingressAccessLogs !== undefined && data.ingressAccessLogs !== null) { + contents.IngressAccessLogs = deserializeAws_restJson1IngressAccessLogs(data.ingressAccessLogs, context); + } if (data.tags !== undefined && data.tags !== null) { contents.Tags = deserializeAws_restJson1Tags(data.tags, context); } @@ -1250,8 +1418,10 @@ export const deserializeAws_restJson1DescribeChannelCommand = async ( $metadata: deserializeMetadata(output), Arn: undefined, Description: undefined, + EgressAccessLogs: undefined, HlsIngest: undefined, Id: undefined, + IngressAccessLogs: undefined, Tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -1261,12 +1431,18 @@ export const deserializeAws_restJson1DescribeChannelCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.egressAccessLogs !== undefined && data.egressAccessLogs !== null) { + contents.EgressAccessLogs = deserializeAws_restJson1EgressAccessLogs(data.egressAccessLogs, context); + } if (data.hlsIngest !== undefined && data.hlsIngest !== null) { contents.HlsIngest = deserializeAws_restJson1HlsIngest(data.hlsIngest, context); } if (data.id !== undefined && data.id !== null) { contents.Id = data.id; } + if (data.ingressAccessLogs !== undefined && data.ingressAccessLogs !== null) { + contents.IngressAccessLogs = deserializeAws_restJson1IngressAccessLogs(data.ingressAccessLogs, context); + } if (data.tags !== undefined && data.tags !== null) { contents.Tags = deserializeAws_restJson1Tags(data.tags, context); } @@ -1987,8 +2163,10 @@ export const deserializeAws_restJson1RotateChannelCredentialsCommand = async ( $metadata: deserializeMetadata(output), Arn: undefined, Description: undefined, + EgressAccessLogs: undefined, HlsIngest: undefined, Id: undefined, + IngressAccessLogs: undefined, Tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -1998,12 +2176,18 @@ export const deserializeAws_restJson1RotateChannelCredentialsCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.egressAccessLogs !== undefined && data.egressAccessLogs !== null) { + contents.EgressAccessLogs = deserializeAws_restJson1EgressAccessLogs(data.egressAccessLogs, context); + } if (data.hlsIngest !== undefined && data.hlsIngest !== null) { contents.HlsIngest = deserializeAws_restJson1HlsIngest(data.hlsIngest, context); } if (data.id !== undefined && data.id !== null) { contents.Id = data.id; } + if (data.ingressAccessLogs !== undefined && data.ingressAccessLogs !== null) { + contents.IngressAccessLogs = deserializeAws_restJson1IngressAccessLogs(data.ingressAccessLogs, context); + } if (data.tags !== undefined && data.tags !== null) { contents.Tags = deserializeAws_restJson1Tags(data.tags, context); } @@ -2098,8 +2282,10 @@ export const deserializeAws_restJson1RotateIngestEndpointCredentialsCommand = as $metadata: deserializeMetadata(output), Arn: undefined, Description: undefined, + EgressAccessLogs: undefined, HlsIngest: undefined, Id: undefined, + IngressAccessLogs: undefined, Tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -2109,12 +2295,18 @@ export const deserializeAws_restJson1RotateIngestEndpointCredentialsCommand = as if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.egressAccessLogs !== undefined && data.egressAccessLogs !== null) { + contents.EgressAccessLogs = deserializeAws_restJson1EgressAccessLogs(data.egressAccessLogs, context); + } if (data.hlsIngest !== undefined && data.hlsIngest !== null) { contents.HlsIngest = deserializeAws_restJson1HlsIngest(data.hlsIngest, context); } if (data.id !== undefined && data.id !== null) { contents.Id = data.id; } + if (data.ingressAccessLogs !== undefined && data.ingressAccessLogs !== null) { + contents.IngressAccessLogs = deserializeAws_restJson1IngressAccessLogs(data.ingressAccessLogs, context); + } if (data.tags !== undefined && data.tags !== null) { contents.Tags = deserializeAws_restJson1Tags(data.tags, context); } @@ -2295,8 +2487,10 @@ export const deserializeAws_restJson1UpdateChannelCommand = async ( $metadata: deserializeMetadata(output), Arn: undefined, Description: undefined, + EgressAccessLogs: undefined, HlsIngest: undefined, Id: undefined, + IngressAccessLogs: undefined, Tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -2306,12 +2500,18 @@ export const deserializeAws_restJson1UpdateChannelCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.egressAccessLogs !== undefined && data.egressAccessLogs !== null) { + contents.EgressAccessLogs = deserializeAws_restJson1EgressAccessLogs(data.egressAccessLogs, context); + } if (data.hlsIngest !== undefined && data.hlsIngest !== null) { contents.HlsIngest = deserializeAws_restJson1HlsIngest(data.hlsIngest, context); } if (data.id !== undefined && data.id !== null) { contents.Id = data.id; } + if (data.ingressAccessLogs !== undefined && data.ingressAccessLogs !== null) { + contents.IngressAccessLogs = deserializeAws_restJson1IngressAccessLogs(data.ingressAccessLogs, context); + } if (data.tags !== undefined && data.tags !== null) { contents.Tags = deserializeAws_restJson1Tags(data.tags, context); } @@ -2757,6 +2957,14 @@ const serializeAws_restJson1DashPackage = (input: DashPackage, context: __SerdeC ...(input.SuggestedPresentationDelaySeconds !== undefined && { suggestedPresentationDelaySeconds: input.SuggestedPresentationDelaySeconds, }), + ...(input.UtcTiming !== undefined && { utcTiming: input.UtcTiming }), + ...(input.UtcTimingUri !== undefined && { utcTimingUri: input.UtcTimingUri }), + }; +}; + +const serializeAws_restJson1EgressAccessLogs = (input: EgressAccessLogs, context: __SerdeContext): any => { + return { + ...(input.LogGroupName !== undefined && { logGroupName: input.LogGroupName }), }; }; @@ -2821,6 +3029,12 @@ const serializeAws_restJson1HlsPackage = (input: HlsPackage, context: __SerdeCon }; }; +const serializeAws_restJson1IngressAccessLogs = (input: IngressAccessLogs, context: __SerdeContext): any => { + return { + ...(input.LogGroupName !== undefined && { logGroupName: input.LogGroupName }), + }; +}; + const serializeAws_restJson1MssEncryption = (input: MssEncryption, context: __SerdeContext): any => { return { ...(input.SpekeKeyProvider !== undefined && { @@ -2940,11 +3154,19 @@ const deserializeAws_restJson1Channel = (output: any, context: __SerdeContext): return { Arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, Description: output.description !== undefined && output.description !== null ? output.description : undefined, + EgressAccessLogs: + output.egressAccessLogs !== undefined && output.egressAccessLogs !== null + ? deserializeAws_restJson1EgressAccessLogs(output.egressAccessLogs, context) + : undefined, HlsIngest: output.hlsIngest !== undefined && output.hlsIngest !== null ? deserializeAws_restJson1HlsIngest(output.hlsIngest, context) : undefined, Id: output.id !== undefined && output.id !== null ? output.id : undefined, + IngressAccessLogs: + output.ingressAccessLogs !== undefined && output.ingressAccessLogs !== null + ? deserializeAws_restJson1IngressAccessLogs(output.ingressAccessLogs, context) + : undefined, Tags: output.tags !== undefined && output.tags !== null ? deserializeAws_restJson1Tags(output.tags, context) @@ -3050,6 +3272,14 @@ const deserializeAws_restJson1DashPackage = (output: any, context: __SerdeContex output.suggestedPresentationDelaySeconds !== undefined && output.suggestedPresentationDelaySeconds !== null ? output.suggestedPresentationDelaySeconds : undefined, + UtcTiming: output.utcTiming !== undefined && output.utcTiming !== null ? output.utcTiming : undefined, + UtcTimingUri: output.utcTimingUri !== undefined && output.utcTimingUri !== null ? output.utcTimingUri : undefined, + } as any; +}; + +const deserializeAws_restJson1EgressAccessLogs = (output: any, context: __SerdeContext): EgressAccessLogs => { + return { + LogGroupName: output.logGroupName !== undefined && output.logGroupName !== null ? output.logGroupName : undefined, } as any; }; @@ -3175,6 +3405,12 @@ const deserializeAws_restJson1IngestEndpoint = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_restJson1IngressAccessLogs = (output: any, context: __SerdeContext): IngressAccessLogs => { + return { + LogGroupName: output.logGroupName !== undefined && output.logGroupName !== null ? output.logGroupName : undefined, + } as any; +}; + const deserializeAws_restJson1MssEncryption = (output: any, context: __SerdeContext): MssEncryption => { return { SpekeKeyProvider: diff --git a/clients/client-mediastore-data/models/models_0.ts b/clients/client-mediastore-data/models/models_0.ts index a6d59e77d257..e827dc598fad 100644 --- a/clients/client-mediastore-data/models/models_0.ts +++ b/clients/client-mediastore-data/models/models_0.ts @@ -156,9 +156,11 @@ export namespace GetObjectRequest { export interface GetObjectResponse { /** - *

                                                                        The content type of the object.

                                                                        + *

                                                                        An optional CacheControl header that allows the caller to control the + * object's cache behavior. Headers can be passed in as specified in the HTTP spec at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

                                                                        + *

                                                                        Headers with a custom user-defined value are also accepted.

                                                                        */ - ContentType?: string; + CacheControl?: string; /** *

                                                                        The length of the object in bytes.

                                                                        @@ -166,26 +168,30 @@ export interface GetObjectResponse { ContentLength?: number; /** - *

                                                                        An optional CacheControl header that allows the caller to control the - * object's cache behavior. Headers can be passed in as specified in the HTTP spec at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

                                                                        - *

                                                                        Headers with a custom user-defined value are also accepted.

                                                                        + *

                                                                        The content type of the object.

                                                                        */ - CacheControl?: string; + ContentType?: string; /** *

                                                                        The range of bytes to retrieve.

                                                                        */ ContentRange?: string; + /** + *

                                                                        The date and time that the object was last modified.

                                                                        + */ + LastModified?: Date; + /** *

                                                                        The ETag that represents a unique instance of the object.

                                                                        */ ETag?: string; /** - *

                                                                        The date and time that the object was last modified.

                                                                        + *

                                                                        The HTML status code of the request. Status codes ranging from 200 to 299 indicate + * success. All other status codes indicate the type of error that occurred.

                                                                        */ - LastModified?: Date; + StatusCode: number | undefined; /** *

                                                                        The bytes of the object.

                                                                        @@ -223,6 +229,11 @@ export enum ItemType { *

                                                                        A metadata entry for a folder or object.

                                                                        */ export interface Item { + /** + *

                                                                        The ETag that represents a unique instance of the item.

                                                                        + */ + ETag?: string; + /** *

                                                                        The name of the item.

                                                                        */ @@ -238,11 +249,6 @@ export interface Item { */ ContentLength?: number; - /** - *

                                                                        The ETag that represents a unique instance of the item.

                                                                        - */ - ETag?: string; - /** *

                                                                        The content type of the item.

                                                                        */ @@ -323,25 +329,6 @@ export enum StorageClass { } export interface PutObjectRequest { - /** - *

                                                                        Indicates the storage class of a Put request. Defaults to - * high-performance temporal storage class, and objects are persisted into durable storage - * shortly after being received.

                                                                        - */ - StorageClass?: StorageClass | string; - - /** - *

                                                                        An optional CacheControl header that allows the caller to control the - * object's cache behavior. Headers can be passed in as specified in the HTTP at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

                                                                        - *

                                                                        Headers with a custom user-defined value are also accepted.

                                                                        - */ - CacheControl?: string; - - /** - *

                                                                        The content type of the object.

                                                                        - */ - ContentType?: string; - /** *

                                                                        The path (including the file name) where the object is stored in the container. * Format: //

                                                                        @@ -364,6 +351,25 @@ export interface PutObjectRequest { */ Path: string | undefined; + /** + *

                                                                        Indicates the storage class of a Put request. Defaults to + * high-performance temporal storage class, and objects are persisted into durable storage + * shortly after being received.

                                                                        + */ + StorageClass?: StorageClass | string; + + /** + *

                                                                        The content type of the object.

                                                                        + */ + ContentType?: string; + + /** + *

                                                                        An optional CacheControl header that allows the caller to control the + * object's cache behavior. Headers can be passed in as specified in the HTTP at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

                                                                        + *

                                                                        Headers with a custom user-defined value are also accepted.

                                                                        + */ + CacheControl?: string; + /** *

                                                                        The bytes to be stored.

                                                                        */ @@ -378,9 +384,10 @@ export namespace PutObjectRequest { export interface PutObjectResponse { /** - *

                                                                        Unique identifier of the object in the container.

                                                                        + *

                                                                        The storage class where the object was persisted. The class should be + * “Temporal”.

                                                                        */ - ETag?: string; + StorageClass?: StorageClass | string; /** *

                                                                        The SHA256 digest of the object that is persisted.

                                                                        @@ -388,10 +395,9 @@ export interface PutObjectResponse { ContentSHA256?: string; /** - *

                                                                        The storage class where the object was persisted. The class should be - * “Temporal”.

                                                                        + *

                                                                        Unique identifier of the object in the container.

                                                                        */ - StorageClass?: StorageClass | string; + ETag?: string; } export namespace PutObjectResponse { diff --git a/clients/client-mediastore-data/protocols/Aws_restJson1.ts b/clients/client-mediastore-data/protocols/Aws_restJson1.ts index 98ce9dbcdcbb..a0056120bc0c 100644 --- a/clients/client-mediastore-data/protocols/Aws_restJson1.ts +++ b/clients/client-mediastore-data/protocols/Aws_restJson1.ts @@ -166,8 +166,8 @@ export const serializeAws_restJson1PutObjectCommand = async ( "Content-Type": "application/octet-stream", "x-amz-content-sha256": "UNSIGNED-PAYLOAD", ...(isSerializableHeaderValue(input.StorageClass) && { "x-amz-storage-class": input.StorageClass! }), - ...(isSerializableHeaderValue(input.CacheControl) && { "Cache-Control": input.CacheControl! }), ...(isSerializableHeaderValue(input.ContentType) && { "Content-Type": input.ContentType! }), + ...(isSerializableHeaderValue(input.CacheControl) && { "Cache-Control": input.CacheControl! }), }; let resolvedPath = "/{Path+}"; if (input.Path !== undefined) { @@ -371,25 +371,26 @@ export const deserializeAws_restJson1GetObjectCommand = async ( ContentType: undefined, ETag: undefined, LastModified: undefined, + StatusCode: undefined, }; - if (output.headers["content-type"] !== undefined) { - contents.ContentType = output.headers["content-type"]; + if (output.headers["cache-control"] !== undefined) { + contents.CacheControl = output.headers["cache-control"]; } if (output.headers["content-length"] !== undefined) { contents.ContentLength = parseInt(output.headers["content-length"], 10); } - if (output.headers["cache-control"] !== undefined) { - contents.CacheControl = output.headers["cache-control"]; + if (output.headers["content-type"] !== undefined) { + contents.ContentType = output.headers["content-type"]; } if (output.headers["content-range"] !== undefined) { contents.ContentRange = output.headers["content-range"]; } - if (output.headers["etag"] !== undefined) { - contents.ETag = output.headers["etag"]; - } if (output.headers["last-modified"] !== undefined) { contents.LastModified = new Date(output.headers["last-modified"]); } + if (output.headers["etag"] !== undefined) { + contents.ETag = output.headers["etag"]; + } const data: any = output.body; contents.Body = data; return Promise.resolve(contents); diff --git a/clients/client-mediastore/models/models_0.ts b/clients/client-mediastore/models/models_0.ts index 7e1ea40d7f9e..f94b9a16d49f 100644 --- a/clients/client-mediastore/models/models_0.ts +++ b/clients/client-mediastore/models/models_0.ts @@ -19,13 +19,6 @@ export enum ContainerStatus { * container.

                                                                        */ export interface Container { - /** - *

                                                                        The DNS endpoint of the container. Use the endpoint to identify the specific - * container when sending requests to the data plane. The service assigns this value when the - * container is created. Once the value has been assigned, it does not change.

                                                                        - */ - Endpoint?: string; - /** *

                                                                        The Amazon Resource Name (ARN) of the container. The ARN has the following * format:

                                                                        @@ -35,6 +28,11 @@ export interface Container { */ ARN?: string; + /** + *

                                                                        Unix timestamp.

                                                                        + */ + CreationTime?: Date; + /** *

                                                                        The status of container creation or deletion. The status is one of the following: * CREATING, ACTIVE, or DELETING. While the service @@ -49,9 +47,11 @@ export interface Container { AccessLoggingEnabled?: boolean; /** - *

                                                                        Unix timestamp.

                                                                        + *

                                                                        The DNS endpoint of the container. Use the endpoint to identify the specific + * container when sending requests to the data plane. The service assigns this value when the + * container is created. Once the value has been assigned, it does not change.

                                                                        */ - CreationTime?: Date; + Endpoint?: string; /** *

                                                                        The name of the container.

                                                                        @@ -107,12 +107,23 @@ export namespace ContainerNotFoundException { */ export interface CorsRule { /** - *

                                                                        One or more headers in the response that you want users to be able to access from - * their applications (for example, from a JavaScript XMLHttpRequest - * object).

                                                                        - *

                                                                        This element is optional for each rule.

                                                                        + *

                                                                        Specifies which headers are allowed in a preflight OPTIONS request + * through the Access-Control-Request-Headers header. Each header name that is + * specified in Access-Control-Request-Headers must have a corresponding entry in + * the rule. Only the headers that were requested are sent back.

                                                                        + *

                                                                        This element can contain only one wildcard character (*).

                                                                        */ - ExposeHeaders?: string[]; + AllowedHeaders: string[] | undefined; + + /** + *

                                                                        One or more response headers that you want users to be able to access from their + * applications (for example, from a JavaScript XMLHttpRequest object).

                                                                        + *

                                                                        Each CORS rule must have at least one AllowedOrigins element. The string + * value can include only one wildcard character (*), for example, http://*.example.com. + * Additionally, you can specify only one wildcard character to allow cross-origin access for + * all origins.

                                                                        + */ + AllowedOrigins: string[] | undefined; /** *

                                                                        Identifies an HTTP method that the origin that is specified in the rule is allowed to @@ -123,13 +134,12 @@ export interface CorsRule { AllowedMethods?: (MethodName | string)[]; /** - *

                                                                        Specifies which headers are allowed in a preflight OPTIONS request - * through the Access-Control-Request-Headers header. Each header name that is - * specified in Access-Control-Request-Headers must have a corresponding entry in - * the rule. Only the headers that were requested are sent back.

                                                                        - *

                                                                        This element can contain only one wildcard character (*).

                                                                        + *

                                                                        One or more headers in the response that you want users to be able to access from + * their applications (for example, from a JavaScript XMLHttpRequest + * object).

                                                                        + *

                                                                        This element is optional for each rule.

                                                                        */ - AllowedHeaders: string[] | undefined; + ExposeHeaders?: string[]; /** *

                                                                        The time in seconds that your browser caches the preflight response for the specified @@ -137,16 +147,6 @@ export interface CorsRule { *

                                                                        A CORS rule can have only one MaxAgeSeconds element.

                                                                        */ MaxAgeSeconds?: number; - - /** - *

                                                                        One or more response headers that you want users to be able to access from their - * applications (for example, from a JavaScript XMLHttpRequest object).

                                                                        - *

                                                                        Each CORS rule must have at least one AllowedOrigins element. The string - * value can include only one wildcard character (*), for example, http://*.example.com. - * Additionally, you can specify only one wildcard character to allow cross-origin access for - * all origins.

                                                                        - */ - AllowedOrigins: string[] | undefined; } export namespace CorsRule { @@ -177,17 +177,17 @@ export namespace CorsPolicyNotFoundException { * tags to each container. For more information about tagging, including naming and usage conventions, see Tagging Resources in MediaStore.

                                                                        */ export interface Tag { - /** - *

                                                                        Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or - * "companyB." Tag values are case-sensitive.

                                                                        - */ - Value?: string; - /** *

                                                                        Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are * case-sensitive.

                                                                        */ Key: string | undefined; + + /** + *

                                                                        Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or + * "companyB." Tag values are case-sensitive.

                                                                        + */ + Value?: string; } export namespace Tag { @@ -515,14 +515,14 @@ export namespace GetMetricPolicyInput { */ export interface MetricPolicyRule { /** - *

                                                                        A path or file name that defines which objects to include in the group. Wildcards (*) are acceptable.

                                                                        + *

                                                                        A name that allows you to refer to the object group.

                                                                        */ - ObjectGroup: string | undefined; + ObjectGroupName: string | undefined; /** - *

                                                                        A name that allows you to refer to the object group.

                                                                        + *

                                                                        A path or file name that defines which objects to include in the group. Wildcards (*) are acceptable.

                                                                        */ - ObjectGroupName: string | undefined; + ObjectGroup: string | undefined; } export namespace MetricPolicyRule { @@ -537,14 +537,14 @@ export namespace MetricPolicyRule { */ export interface MetricPolicy { /** - *

                                                                        A parameter that holds an array of rules that enable metrics at the object level. This parameter is optional, but if you choose to include it, you must also include at least one rule. By default, you can include up to five rules. You can also request a quota increase to allow up to 300 rules per policy.

                                                                        + *

                                                                        A setting to enable or disable metrics at the container level.

                                                                        */ - MetricPolicyRules?: MetricPolicyRule[]; + ContainerLevelMetrics: ContainerLevelMetrics | string | undefined; /** - *

                                                                        A setting to enable or disable metrics at the container level.

                                                                        + *

                                                                        A parameter that holds an array of rules that enable metrics at the object level. This parameter is optional, but if you choose to include it, you must also include at least one rule. By default, you can include up to five rules. You can also request a quota increase to allow up to 300 rules per policy.

                                                                        */ - ContainerLevelMetrics: ContainerLevelMetrics | string | undefined; + MetricPolicyRules?: MetricPolicyRule[]; } export namespace MetricPolicy { @@ -567,18 +567,18 @@ export namespace GetMetricPolicyOutput { } export interface ListContainersInput { + /** + *

                                                                        Enter the maximum number of containers in the response. Use from 1 to 255 characters. + *

                                                                        + */ + MaxResults?: number; + /** *

                                                                        Only if you used MaxResults in the first command, enter the token (which * was included in the previous response) to obtain the next set of containers. This token is * included in a response only if there actually are more containers to list.

                                                                        */ NextToken?: string; - - /** - *

                                                                        Enter the maximum number of containers in the response. Use from 1 to 255 characters. - *

                                                                        - */ - MaxResults?: number; } export namespace ListContainersInput { @@ -635,6 +635,11 @@ export namespace ListTagsForResourceOutput { } export interface PutContainerPolicyInput { + /** + *

                                                                        The name of the container.

                                                                        + */ + ContainerName: string | undefined; + /** *

                                                                        The contents of the policy, which includes the following:

                                                                        *
                                                                          @@ -648,11 +653,6 @@ export interface PutContainerPolicyInput { *
                                                                        */ Policy: string | undefined; - - /** - *

                                                                        The name of the container.

                                                                        - */ - ContainerName: string | undefined; } export namespace PutContainerPolicyInput { @@ -671,14 +671,14 @@ export namespace PutContainerPolicyOutput { export interface PutCorsPolicyInput { /** - *

                                                                        The CORS policy to apply to the container.

                                                                        + *

                                                                        The name of the container that you want to assign the CORS policy to.

                                                                        */ - CorsPolicy: CorsRule[] | undefined; + ContainerName: string | undefined; /** - *

                                                                        The name of the container that you want to assign the CORS policy to.

                                                                        + *

                                                                        The CORS policy to apply to the container.

                                                                        */ - ContainerName: string | undefined; + CorsPolicy: CorsRule[] | undefined; } export namespace PutCorsPolicyInput { @@ -722,11 +722,6 @@ export namespace PutLifecyclePolicyOutput { } export interface PutMetricPolicyInput { - /** - *

                                                                        The name of the container that you want to add the metric policy to.

                                                                        - */ - ContainerName: string | undefined; - /** *

                                                                        The metric policy that you want to associate with the container. In the policy, you must indicate whether you want MediaStore to send container-level metrics. You can also include up to five rules to define groups of objects that you want MediaStore to send object-level metrics for. If you include rules in the policy, construct each rule with both of the following:

                                                                        *
                                                                          @@ -739,6 +734,11 @@ export interface PutMetricPolicyInput { *
                                                                        */ MetricPolicy: MetricPolicy | undefined; + + /** + *

                                                                        The name of the container that you want to add the metric policy to.

                                                                        + */ + ContainerName: string | undefined; } export namespace PutMetricPolicyInput { @@ -827,17 +827,17 @@ export namespace TagResourceOutput { } export interface UntagResourceInput { - /** - *

                                                                        The Amazon Resource Name (ARN) for the container.

                                                                        - */ - Resource: string | undefined; - /** *

                                                                        A comma-separated list of keys for tags that you want to remove from the container. For example, if your container has two tags (customer:CompanyA * and priority:High) and you want to remove one of the tags (priority:High), you specify the key for the tag that you want to remove * (priority).

                                                                        */ TagKeys: string[] | undefined; + + /** + *

                                                                        The Amazon Resource Name (ARN) for the container.

                                                                        + */ + Resource: string | undefined; } export namespace UntagResourceInput { diff --git a/clients/client-mediatailor/models/models_0.ts b/clients/client-mediatailor/models/models_0.ts index f93607a5dbab..74a3c09bdcbb 100644 --- a/clients/client-mediatailor/models/models_0.ts +++ b/clients/client-mediatailor/models/models_0.ts @@ -11,14 +11,14 @@ export enum Mode { */ export interface AvailSuppression { /** - * The avail suppression value is a live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. + * Sets the mode for avail suppression, also known as ad suppression. By default, ad suppression is off and all ad breaks are filled by MediaTailor with ads or slate. */ - Value?: string; + Mode?: Mode | string; /** - * Sets the mode for avail suppression, also known as ad suppression. By default, ad suppression is off and all ad breaks are filled by MediaTailor with ads or slate. + * The avail suppression value is a live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. */ - Mode?: Mode | string; + Value?: string; } export namespace AvailSuppression { @@ -32,14 +32,14 @@ export namespace AvailSuppression { */ export interface Bumper { /** - *

                                                                        The URL for the end bumper asset.

                                                                        + *

                                                                        The URL for the start bumper asset.

                                                                        */ - EndUrl?: string; + StartUrl?: string; /** - *

                                                                        The URL for the start bumper asset.

                                                                        + *

                                                                        The URL for the end bumper asset.

                                                                        */ - StartUrl?: string; + EndUrl?: string; } export namespace Bumper { @@ -53,14 +53,14 @@ export namespace Bumper { */ export interface CdnConfiguration { /** - *

                                                                        A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.

                                                                        + *

                                                                        A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the following origin: ads.mediatailor.<region>.amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.

                                                                        */ - ContentSegmentUrlPrefix?: string; + AdSegmentUrlPrefix?: string; /** - *

                                                                        A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the following origin: ads.mediatailor.<region>.amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.

                                                                        + *

                                                                        A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.

                                                                        */ - AdSegmentUrlPrefix?: string; + ContentSegmentUrlPrefix?: string; } export namespace CdnConfiguration { @@ -79,9 +79,9 @@ export enum OriginManifestType { */ export interface DashConfiguration { /** - *

                                                                        The URL generated by MediaTailor to initiate a playback session. The session uses server-side reporting. This setting is ignored in PUT operations.

                                                                        + *

                                                                        The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to SINGLE_PERIOD. The default setting is MULTI_PERIOD. For multi-period manifests, omit this setting or set it to MULTI_PERIOD.

                                                                        */ - ManifestEndpointPrefix?: string; + OriginManifestType?: OriginManifestType | string; /** *

                                                                        The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

                                                                        @@ -89,9 +89,9 @@ export interface DashConfiguration { MpdLocation?: string; /** - *

                                                                        The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to SINGLE_PERIOD. The default setting is MULTI_PERIOD. For multi-period manifests, omit this setting or set it to MULTI_PERIOD.

                                                                        + *

                                                                        The URL generated by MediaTailor to initiate a playback session. The session uses server-side reporting. This setting is ignored in PUT operations.

                                                                        */ - OriginManifestType?: OriginManifestType | string; + ManifestEndpointPrefix?: string; } export namespace DashConfiguration { @@ -121,19 +121,9 @@ export namespace HlsConfiguration { */ export interface PlaybackConfiguration { /** - *

                                                                        The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

                                                                        - */ - VideoContentSourceUrl?: string; - - /** - *

                                                                        The configuration for HLS content.

                                                                        - */ - HlsConfiguration?: HlsConfiguration; - - /** - *

                                                                        The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

                                                                        + *

                                                                        The URL that the player uses to initialize a session that uses client-side reporting.

                                                                        */ - AdDecisionServerUrl?: string; + SessionInitializationEndpointPrefix?: string; /** *

                                                                        The configuration for DASH content.

                                                                        @@ -146,19 +136,24 @@ export interface PlaybackConfiguration { Bumper?: Bumper; /** - *

                                                                        The Amazon Resource Name (ARN) for the playback configuration.

                                                                        + *

                                                                        The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

                                                                        */ - PlaybackConfigurationArn?: string; + PlaybackEndpointPrefix?: string; /** - *

                                                                        The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

                                                                        + *

                                                                        The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

                                                                        */ - PersonalizationThresholdSeconds?: number; + SlateAdUrl?: string; /** - *

                                                                        The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

                                                                        + *

                                                                        The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

                                                                        */ - CdnConfiguration?: CdnConfiguration; + AvailSuppression?: AvailSuppression; + + /** + *

                                                                        The tags assigned to the playback configuration.

                                                                        + */ + Tags?: { [key: string]: string }; /** *

                                                                        The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

                                                                        @@ -166,34 +161,39 @@ export interface PlaybackConfiguration { TranscodeProfileName?: string; /** - *

                                                                        The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

                                                                        + *

                                                                        The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

                                                                        */ - AvailSuppression?: AvailSuppression; + AdDecisionServerUrl?: string; /** - *

                                                                        The identifier for the playback configuration.

                                                                        + *

                                                                        The Amazon Resource Name (ARN) for the playback configuration.

                                                                        */ - Name?: string; + PlaybackConfigurationArn?: string; /** - *

                                                                        The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

                                                                        + *

                                                                        The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

                                                                        */ - SlateAdUrl?: string; + PersonalizationThresholdSeconds?: number; /** - *

                                                                        The tags assigned to the playback configuration.

                                                                        + *

                                                                        The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

                                                                        */ - Tags?: { [key: string]: string }; + CdnConfiguration?: CdnConfiguration; /** - *

                                                                        The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

                                                                        + *

                                                                        The configuration for HLS content.

                                                                        */ - PlaybackEndpointPrefix?: string; + HlsConfiguration?: HlsConfiguration; /** - *

                                                                        The URL that the player uses to initialize a session that uses client-side reporting.

                                                                        + *

                                                                        The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

                                                                        */ - SessionInitializationEndpointPrefix?: string; + VideoContentSourceUrl?: string; + + /** + *

                                                                        The identifier for the playback configuration.

                                                                        + */ + Name?: string; } export namespace PlaybackConfiguration { @@ -277,14 +277,14 @@ export namespace GetPlaybackConfigurationRequest { */ export interface LivePreRollConfiguration { /** - *

                                                                        The URL for the ad decision server (ADS) for pre-roll ads. This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

                                                                        + * The maximum allowed duration for the pre-roll ad avail. AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns. */ - AdDecisionServerUrl?: string; + MaxDurationSeconds?: number; /** - * The maximum allowed duration for the pre-roll ad avail. AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns. + *

                                                                        The URL for the ad decision server (ADS) for pre-roll ads. This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

                                                                        */ - MaxDurationSeconds?: number; + AdDecisionServerUrl?: string; } export namespace LivePreRollConfiguration { @@ -295,44 +295,44 @@ export namespace LivePreRollConfiguration { export interface GetPlaybackConfigurationResponse { /** - *

                                                                        The configuration for HLS content.

                                                                        + *

                                                                        The configuration for DASH content.

                                                                        */ - HlsConfiguration?: HlsConfiguration; + DashConfiguration?: DashConfiguration; /** - *

                                                                        The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

                                                                        + *

                                                                        The configuration for HLS content.

                                                                        */ - VideoContentSourceUrl?: string; + HlsConfiguration?: HlsConfiguration; /** - *

                                                                        The Amazon Resource Name (ARN) for the playback configuration.

                                                                        + *

                                                                        The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

                                                                        */ - PlaybackConfigurationArn?: string; + SlateAdUrl?: string; /** - *

                                                                        The configuration for pre-roll ad insertion.

                                                                        + *

                                                                        The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

                                                                        */ - LivePreRollConfiguration?: LivePreRollConfiguration; + VideoContentSourceUrl?: string; /** - *

                                                                        The URL that the player uses to initialize a session that uses client-side reporting.

                                                                        + *

                                                                        The identifier for the playback configuration.

                                                                        */ - SessionInitializationEndpointPrefix?: string; + Name?: string; /** - *

                                                                        The identifier for the playback configuration.

                                                                        + *

                                                                        The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

                                                                        */ - Name?: string; + PlaybackEndpointPrefix?: string; /** - *

                                                                        The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

                                                                        + *

                                                                        The configuration for pre-roll ad insertion.

                                                                        */ - AvailSuppression?: AvailSuppression; + LivePreRollConfiguration?: LivePreRollConfiguration; /** - *

                                                                        The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

                                                                        + *

                                                                        The Amazon Resource Name (ARN) for the playback configuration.

                                                                        */ - PersonalizationThresholdSeconds?: number; + PlaybackConfigurationArn?: string; /** *

                                                                        The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

                                                                        @@ -340,24 +340,24 @@ export interface GetPlaybackConfigurationResponse { CdnConfiguration?: CdnConfiguration; /** - *

                                                                        The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

                                                                        + *

                                                                        The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break.

                                                                        */ - PlaybackEndpointPrefix?: string; + Bumper?: Bumper; /** - *

                                                                        The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

                                                                        + *

                                                                        The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

                                                                        */ - SlateAdUrl?: string; + PersonalizationThresholdSeconds?: number; /** - *

                                                                        The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

                                                                        + *

                                                                        The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

                                                                        */ - TranscodeProfileName?: string; + AdDecisionServerUrl?: string; /** - *

                                                                        The configuration for DASH content.

                                                                        + *

                                                                        The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

                                                                        */ - DashConfiguration?: DashConfiguration; + TranscodeProfileName?: string; /** *

                                                                        The tags assigned to the playback configuration.

                                                                        @@ -365,14 +365,14 @@ export interface GetPlaybackConfigurationResponse { Tags?: { [key: string]: string }; /** - *

                                                                        The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

                                                                        + *

                                                                        The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

                                                                        */ - AdDecisionServerUrl?: string; + AvailSuppression?: AvailSuppression; /** - *

                                                                        The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break.

                                                                        + *

                                                                        The URL that the player uses to initialize a session that uses client-side reporting.

                                                                        */ - Bumper?: Bumper; + SessionInitializationEndpointPrefix?: string; } export namespace GetPlaybackConfigurationResponse { @@ -401,14 +401,14 @@ export namespace ListPlaybackConfigurationsRequest { export interface ListPlaybackConfigurationsResponse { /** - *

                                                                        Pagination token returned by the GET list request when results exceed the maximum allowed. Use the token to fetch the next page of results.

                                                                        + *

                                                                        Array of playback configurations. This might be all the available configurations or a subset, depending on the settings that you provide and the total number of configurations stored.

                                                                        */ - NextToken?: string; + Items?: PlaybackConfiguration[]; /** - *

                                                                        Array of playback configurations. This might be all the available configurations or a subset, depending on the settings that you provide and the total number of configurations stored.

                                                                        + *

                                                                        Pagination token returned by the GET list request when results exceed the maximum allowed. Use the token to fetch the next page of results.

                                                                        */ - Items?: PlaybackConfiguration[]; + NextToken?: string; } export namespace ListPlaybackConfigurationsResponse { @@ -450,19 +450,14 @@ export namespace ListTagsForResourceResponse { export interface PutPlaybackConfigurationRequest { /** - *

                                                                        The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

                                                                        - */ - VideoContentSourceUrl?: string; - - /** - *

                                                                        The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

                                                                        + *

                                                                        The tags to assign to the playback configuration.

                                                                        */ - AvailSuppression?: AvailSuppression; + Tags?: { [key: string]: string }; /** - *

                                                                        The identifier for the playback configuration.

                                                                        + *

                                                                        The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

                                                                        */ - Name?: string; + TranscodeProfileName?: string; /** *

                                                                        The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

                                                                        @@ -475,39 +470,44 @@ export interface PutPlaybackConfigurationRequest { DashConfiguration?: DashConfigurationForPut; /** - *

                                                                        The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

                                                                        + *

                                                                        The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.

                                                                        */ - TranscodeProfileName?: string; + AdDecisionServerUrl?: string; /** - *

                                                                        The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.

                                                                        + *

                                                                        The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break.

                                                                        */ - AdDecisionServerUrl?: string; + Bumper?: Bumper; /** - *

                                                                        The tags to assign to the playback configuration.

                                                                        + *

                                                                        The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

                                                                        */ - Tags?: { [key: string]: string }; + PersonalizationThresholdSeconds?: number; /** - *

                                                                        The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

                                                                        + *

                                                                        The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

                                                                        */ - CdnConfiguration?: CdnConfiguration; + VideoContentSourceUrl?: string; /** - *

                                                                        The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break.

                                                                        + *

                                                                        The configuration for pre-roll ad insertion.

                                                                        */ - Bumper?: Bumper; + LivePreRollConfiguration?: LivePreRollConfiguration; /** - *

                                                                        The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

                                                                        + *

                                                                        The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

                                                                        */ - PersonalizationThresholdSeconds?: number; + CdnConfiguration?: CdnConfiguration; /** - *

                                                                        The configuration for pre-roll ad insertion.

                                                                        + *

                                                                        The identifier for the playback configuration.

                                                                        */ - LivePreRollConfiguration?: LivePreRollConfiguration; + Name?: string; + + /** + *

                                                                        The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

                                                                        + */ + AvailSuppression?: AvailSuppression; } export namespace PutPlaybackConfigurationRequest { @@ -523,79 +523,79 @@ export interface PutPlaybackConfigurationResponse { TranscodeProfileName?: string; /** - *

                                                                        The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

                                                                        + *

                                                                        The tags assigned to the playback configuration.

                                                                        */ - AdDecisionServerUrl?: string; + Tags?: { [key: string]: string }; /** - *

                                                                        The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

                                                                        + *

                                                                        The Amazon Resource Name (ARN) for the playback configuration.

                                                                        */ - CdnConfiguration?: CdnConfiguration; + PlaybackConfigurationArn?: string; /** - *

                                                                        The identifier for the playback configuration.

                                                                        + *

                                                                        The configuration for pre-roll ad insertion.

                                                                        */ - Name?: string; + LivePreRollConfiguration?: LivePreRollConfiguration; /** - *

                                                                        The Amazon Resource Name (ARN) for the playback configuration.

                                                                        + *

                                                                        The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break.

                                                                        */ - PlaybackConfigurationArn?: string; + Bumper?: Bumper; /** - *

                                                                        The URL that the player uses to initialize a session that uses client-side reporting.

                                                                        + *

                                                                        The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

                                                                        */ - SessionInitializationEndpointPrefix?: string; + AdDecisionServerUrl?: string; /** - *

                                                                        The configuration for HLS content.

                                                                        + *

                                                                        The configuration for DASH content.

                                                                        */ - HlsConfiguration?: HlsConfiguration; + DashConfiguration?: DashConfiguration; /** - *

                                                                        The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

                                                                        + *

                                                                        The URL that the player uses to initialize a session that uses client-side reporting.

                                                                        */ - VideoContentSourceUrl?: string; + SessionInitializationEndpointPrefix?: string; /** - *

                                                                        The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break.

                                                                        + *

                                                                        The identifier for the playback configuration.

                                                                        */ - Bumper?: Bumper; + Name?: string; /** - *

                                                                        The configuration for DASH content.

                                                                        + *

                                                                        The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

                                                                        */ - DashConfiguration?: DashConfiguration; + PlaybackEndpointPrefix?: string; /** - *

                                                                        The configuration for pre-roll ad insertion.

                                                                        + *

                                                                        The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

                                                                        */ - LivePreRollConfiguration?: LivePreRollConfiguration; + PersonalizationThresholdSeconds?: number; /** - *

                                                                        The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

                                                                        + *

                                                                        The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

                                                                        */ - PersonalizationThresholdSeconds?: number; + CdnConfiguration?: CdnConfiguration; /** - *

                                                                        The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

                                                                        + *

                                                                        The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

                                                                        */ - AvailSuppression?: AvailSuppression; + SlateAdUrl?: string; /** - *

                                                                        The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

                                                                        + *

                                                                        The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

                                                                        */ - PlaybackEndpointPrefix?: string; + AvailSuppression?: AvailSuppression; /** - *

                                                                        The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

                                                                        + *

                                                                        The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

                                                                        */ - SlateAdUrl?: string; + VideoContentSourceUrl?: string; /** - *

                                                                        The tags assigned to the playback configuration.

                                                                        + *

                                                                        The configuration for HLS content.

                                                                        */ - Tags?: { [key: string]: string }; + HlsConfiguration?: HlsConfiguration; } export namespace PutPlaybackConfigurationResponse { @@ -629,14 +629,14 @@ export namespace TagResourceRequest { export interface UntagResourceRequest { /** - *

                                                                        A comma-separated list of the tag keys to remove from the playback configuration.

                                                                        + *

                                                                        The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request.

                                                                        */ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; /** - *

                                                                        The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request.

                                                                        + *

                                                                        A comma-separated list of the tag keys to remove from the playback configuration.

                                                                        */ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { diff --git a/clients/client-migration-hub/models/models_0.ts b/clients/client-migration-hub/models/models_0.ts index 4e09ca2be6e3..2931a8b602d6 100644 --- a/clients/client-migration-hub/models/models_0.ts +++ b/clients/client-migration-hub/models/models_0.ts @@ -81,6 +81,12 @@ export interface AssociateCreatedArtifactRequest { */ MigrationTaskName: string | undefined; + /** + *

                                                                        An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS + * instance, etc.)

                                                                        + */ + CreatedArtifact: CreatedArtifact | undefined; + /** *

                                                                        The name of the ProgressUpdateStream.

                                                                        */ @@ -91,12 +97,6 @@ export interface AssociateCreatedArtifactRequest { * the caller has permission to make the call.

                                                                        */ DryRun?: boolean; - - /** - *

                                                                        An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS - * instance, etc.)

                                                                        - */ - CreatedArtifact: CreatedArtifact | undefined; } export namespace AssociateCreatedArtifactRequest { @@ -216,14 +216,14 @@ export interface ThrottlingException extends __SmithyException, $MetadataBearer name: "ThrottlingException"; $fault: "client"; /** - *

                                                                        A message that provides information about the exception.

                                                                        + *

                                                                        The number of seconds the caller should wait before retrying.

                                                                        */ - Message: string | undefined; + RetryAfterSeconds?: number; /** - *

                                                                        The number of seconds the caller should wait before retrying.

                                                                        + *

                                                                        A message that provides information about the exception.

                                                                        */ - RetryAfterSeconds?: number; + Message: string | undefined; } export namespace ThrottlingException { @@ -273,9 +273,15 @@ export namespace DiscoveredResource { export interface AssociateDiscoveredResourceRequest { /** - *

                                                                        Object representing a Resource.

                                                                        + *

                                                                        The name of the ProgressUpdateStream.

                                                                        */ - DiscoveredResource: DiscoveredResource | undefined; + ProgressUpdateStream: string | undefined; + + /** + *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if + * the caller has permission to make the call.

                                                                        + */ + DryRun?: boolean; /** *

                                                                        The identifier given to the MigrationTask. Do not store personal data in this @@ -285,15 +291,9 @@ export interface AssociateDiscoveredResourceRequest { MigrationTaskName: string | undefined; /** - *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if - * the caller has permission to make the call.

                                                                        - */ - DryRun?: boolean; - - /** - *

                                                                        The name of the ProgressUpdateStream.

                                                                        + *

                                                                        Object representing a Resource.

                                                                        */ - ProgressUpdateStream: string | undefined; + DiscoveredResource: DiscoveredResource | undefined; } export namespace AssociateDiscoveredResourceRequest { @@ -328,18 +328,18 @@ export namespace PolicyErrorException { } export interface CreateProgressUpdateStreamRequest { - /** - *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if - * the caller has permission to make the call.

                                                                        - */ - DryRun?: boolean; - /** *

                                                                        The name of the ProgressUpdateStream. Do not store personal data in this * field. *

                                                                        */ ProgressUpdateStreamName: string | undefined; + + /** + *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if + * the caller has permission to make the call.

                                                                        + */ + DryRun?: boolean; } export namespace CreateProgressUpdateStreamRequest { @@ -357,18 +357,18 @@ export namespace CreateProgressUpdateStreamResult { } export interface DeleteProgressUpdateStreamRequest { - /** - *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if - * the caller has permission to make the call.

                                                                        - */ - DryRun?: boolean; - /** *

                                                                        The name of the ProgressUpdateStream. Do not store personal data in this * field. *

                                                                        */ ProgressUpdateStreamName: string | undefined; + + /** + *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if + * the caller has permission to make the call.

                                                                        + */ + DryRun?: boolean; } export namespace DeleteProgressUpdateStreamRequest { @@ -401,14 +401,14 @@ export namespace DescribeApplicationStateRequest { export interface DescribeApplicationStateResult { /** - *

                                                                        Status of the application - Not Started, In-Progress, Complete.

                                                                        + *

                                                                        The timestamp when the application status was last updated.

                                                                        */ - ApplicationStatus?: ApplicationStatus | string; + LastUpdatedTime?: Date; /** - *

                                                                        The timestamp when the application status was last updated.

                                                                        + *

                                                                        Status of the application - Not Started, In-Progress, Complete.

                                                                        */ - LastUpdatedTime?: Date; + ApplicationStatus?: ApplicationStatus | string; } export namespace DescribeApplicationStateResult { @@ -491,14 +491,14 @@ export enum ResourceAttributeType { */ export interface ResourceAttribute { /** - *

                                                                        Type of resource.

                                                                        + *

                                                                        Value of the resource type.

                                                                        */ - Type: ResourceAttributeType | string | undefined; + Value: string | undefined; /** - *

                                                                        Value of the resource type.

                                                                        + *

                                                                        Type of resource.

                                                                        */ - Value: string | undefined; + Type: ResourceAttributeType | string | undefined; } export namespace ResourceAttribute { @@ -519,9 +519,9 @@ export enum Status { */ export interface Task { /** - *

                                                                        Indication of the percentage completion of the task.

                                                                        + *

                                                                        Status of the task - Not Started, In-Progress, Complete.

                                                                        */ - ProgressPercent?: number; + Status: Status | string | undefined; /** *

                                                                        Details of task status as notified by a migration tool. A tool might use this field to @@ -531,9 +531,9 @@ export interface Task { StatusDetail?: string; /** - *

                                                                        Status of the task - Not Started, In-Progress, Complete.

                                                                        + *

                                                                        Indication of the percentage completion of the task.

                                                                        */ - Status: Status | string | undefined; + ProgressPercent?: number; } export namespace Task { @@ -554,14 +554,14 @@ export interface MigrationTask { MigrationTaskName?: string; /** - *

                                                                        Task object encapsulating task information.

                                                                        + *

                                                                        The timestamp when the task was gathered.

                                                                        */ - Task?: Task; + UpdateDateTime?: Date; /** - *

                                                                        The timestamp when the task was gathered.

                                                                        + *

                                                                        Task object encapsulating task information.

                                                                        */ - UpdateDateTime?: Date; + Task?: Task; /** *

                                                                        A name that identifies the vendor of the migration tool being used.

                                                                        @@ -602,6 +602,12 @@ export interface DisassociateCreatedArtifactRequest { */ MigrationTaskName: string | undefined; + /** + *

                                                                        An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS + * instance, etc.)

                                                                        + */ + CreatedArtifactName: string | undefined; + /** *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if * the caller has permission to make the call.

                                                                        @@ -612,12 +618,6 @@ export interface DisassociateCreatedArtifactRequest { *

                                                                        The name of the ProgressUpdateStream.

                                                                        */ ProgressUpdateStream: string | undefined; - - /** - *

                                                                        An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS - * instance, etc.)

                                                                        - */ - CreatedArtifactName: string | undefined; } export namespace DisassociateCreatedArtifactRequest { @@ -635,11 +635,6 @@ export namespace DisassociateCreatedArtifactResult { } export interface DisassociateDiscoveredResourceRequest { - /** - *

                                                                        The name of the ProgressUpdateStream.

                                                                        - */ - ProgressUpdateStream: string | undefined; - /** *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if * the caller has permission to make the call.

                                                                        @@ -658,6 +653,11 @@ export interface DisassociateDiscoveredResourceRequest { *

                                                                        */ MigrationTaskName: string | undefined; + + /** + *

                                                                        The name of the ProgressUpdateStream.

                                                                        + */ + ProgressUpdateStream: string | undefined; } export namespace DisassociateDiscoveredResourceRequest { @@ -710,11 +710,10 @@ export namespace ImportMigrationTaskResult { export interface ListApplicationStatesRequest { /** - *

                                                                        If a NextToken was returned by a previous call, there are more results - * available. To retrieve the next page of results, make the call again using the returned - * token in NextToken.

                                                                        + *

                                                                        The configurationIds from the Application Discovery Service that uniquely identifies + * your applications.

                                                                        */ - NextToken?: string; + ApplicationIds?: string[]; /** *

                                                                        Maximum number of results to be returned per page.

                                                                        @@ -722,10 +721,11 @@ export interface ListApplicationStatesRequest { MaxResults?: number; /** - *

                                                                        The configurationIds from the Application Discovery Service that uniquely identifies - * your applications.

                                                                        + *

                                                                        If a NextToken was returned by a previous call, there are more results + * available. To retrieve the next page of results, make the call again using the returned + * token in NextToken.

                                                                        */ - ApplicationIds?: string[]; + NextToken?: string; } export namespace ListApplicationStatesRequest { @@ -735,17 +735,17 @@ export namespace ListApplicationStatesRequest { } export interface ListApplicationStatesResult { + /** + *

                                                                        A list of Applications that exist in Application Discovery Service.

                                                                        + */ + ApplicationStateList?: ApplicationState[]; + /** *

                                                                        If a NextToken was returned by a previous call, there are more results * available. To retrieve the next page of results, make the call again using the returned * token in NextToken.

                                                                        */ NextToken?: string; - - /** - *

                                                                        A list of Applications that exist in Application Discovery Service.

                                                                        - */ - ApplicationStateList?: ApplicationState[]; } export namespace ListApplicationStatesResult { @@ -762,6 +762,11 @@ export interface ListCreatedArtifactsRequest { */ MigrationTaskName: string | undefined; + /** + *

                                                                        Maximum number of results to be returned per page.

                                                                        + */ + MaxResults?: number; + /** *

                                                                        If a NextToken was returned by a previous call, there are more results * available. To retrieve the next page of results, make the call again using the returned @@ -769,11 +774,6 @@ export interface ListCreatedArtifactsRequest { */ NextToken?: string; - /** - *

                                                                        Maximum number of results to be returned per page.

                                                                        - */ - MaxResults?: number; - /** *

                                                                        The name of the ProgressUpdateStream.

                                                                        */ @@ -787,17 +787,17 @@ export namespace ListCreatedArtifactsRequest { } export interface ListCreatedArtifactsResult { - /** - *

                                                                        List of created artifacts up to the maximum number of results specified in the - * request.

                                                                        - */ - CreatedArtifactList?: CreatedArtifact[]; - /** *

                                                                        If there are more created artifacts than the max result, return the next token to be * passed to the next call as a bookmark of where to start from.

                                                                        */ NextToken?: string; + + /** + *

                                                                        List of created artifacts up to the maximum number of results specified in the + * request.

                                                                        + */ + CreatedArtifactList?: CreatedArtifact[]; } export namespace ListCreatedArtifactsResult { @@ -814,6 +814,11 @@ export interface ListDiscoveredResourcesRequest { */ MigrationTaskName: string | undefined; + /** + *

                                                                        The maximum number of results returned per page.

                                                                        + */ + MaxResults?: number; + /** *

                                                                        If a NextToken was returned by a previous call, there are more results * available. To retrieve the next page of results, make the call again using the returned @@ -821,11 +826,6 @@ export interface ListDiscoveredResourcesRequest { */ NextToken?: string; - /** - *

                                                                        The maximum number of results returned per page.

                                                                        - */ - MaxResults?: number; - /** *

                                                                        The name of the ProgressUpdateStream.

                                                                        */ @@ -839,16 +839,16 @@ export namespace ListDiscoveredResourcesRequest { } export interface ListDiscoveredResourcesResult { - /** - *

                                                                        Returned list of discovered resources associated with the given MigrationTask.

                                                                        - */ - DiscoveredResourceList?: DiscoveredResource[]; - /** *

                                                                        If there are more discovered resources than the max result, return the next token to be * passed to the next call as a bookmark of where to start from.

                                                                        */ NextToken?: string; + + /** + *

                                                                        Returned list of discovered resources associated with the given MigrationTask.

                                                                        + */ + DiscoveredResourceList?: DiscoveredResource[]; } export namespace ListDiscoveredResourcesResult { @@ -858,11 +858,6 @@ export namespace ListDiscoveredResourcesResult { } export interface ListMigrationTasksRequest { - /** - *

                                                                        Value to specify how many results are returned per page.

                                                                        - */ - MaxResults?: number; - /** *

                                                                        If a NextToken was returned by a previous call, there are more results * available. To retrieve the next page of results, make the call again using the returned @@ -870,6 +865,11 @@ export interface ListMigrationTasksRequest { */ NextToken?: string; + /** + *

                                                                        Value to specify how many results are returned per page.

                                                                        + */ + MaxResults?: number; + /** *

                                                                        Filter migration tasks by discovered resource name.

                                                                        */ @@ -898,13 +898,6 @@ export interface MigrationTaskSummary { */ Status?: Status | string; - /** - *

                                                                        Unique identifier that references the migration task. Do not store personal - * data in this field. - *

                                                                        - */ - MigrationTaskName?: string; - /** *

                                                                        The timestamp when the task was gathered.

                                                                        */ @@ -920,6 +913,13 @@ export interface MigrationTaskSummary { *

                                                                        Indication of the percentage completion of the task.

                                                                        */ ProgressPercent?: number; + + /** + *

                                                                        Unique identifier that references the migration task. Do not store personal + * data in this field. + *

                                                                        + */ + MigrationTaskName?: string; } export namespace MigrationTaskSummary { @@ -1015,10 +1015,9 @@ export interface NotifyApplicationStateRequest { Status: ApplicationStatus | string | undefined; /** - *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if - * the caller has permission to make the call.

                                                                        + *

                                                                        The timestamp when the application state changed.

                                                                        */ - DryRun?: boolean; + UpdateDateTime?: Date; /** *

                                                                        The configurationId in Application Discovery Service that uniquely identifies the @@ -1027,9 +1026,10 @@ export interface NotifyApplicationStateRequest { ApplicationId: string | undefined; /** - *

                                                                        The timestamp when the application state changed.

                                                                        + *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if + * the caller has permission to make the call.

                                                                        */ - UpdateDateTime?: Date; + DryRun?: boolean; } export namespace NotifyApplicationStateRequest { @@ -1058,17 +1058,9 @@ export interface NotifyMigrationTaskStateRequest { ProgressUpdateStream: string | undefined; /** - *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if - * the caller has permission to make the call.

                                                                        - */ - DryRun?: boolean; - - /** - *

                                                                        Unique identifier that references the migration task. Do not store personal - * data in this field. - *

                                                                        + *

                                                                        Information about the task's progress and status.

                                                                        */ - MigrationTaskName: string | undefined; + Task: Task | undefined; /** *

                                                                        Number of seconds after the UpdateDateTime within which the Migration Hub can expect an @@ -1078,9 +1070,17 @@ export interface NotifyMigrationTaskStateRequest { NextUpdateSeconds: number | undefined; /** - *

                                                                        Information about the task's progress and status.

                                                                        + *

                                                                        Unique identifier that references the migration task. Do not store personal + * data in this field. + *

                                                                        */ - Task: Task | undefined; + MigrationTaskName: string | undefined; + + /** + *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if + * the caller has permission to make the call.

                                                                        + */ + DryRun?: boolean; } export namespace NotifyMigrationTaskStateRequest { @@ -1104,11 +1104,10 @@ export interface PutResourceAttributesRequest { ProgressUpdateStream: string | undefined; /** - *

                                                                        Unique identifier that references the migration task. Do not store personal - * data in this field. - *

                                                                        + *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if + * the caller has permission to make the call.

                                                                        */ - MigrationTaskName: string | undefined; + DryRun?: boolean; /** *

                                                                        Information about the resource that is being migrated. This data will be used to map the @@ -1143,10 +1142,11 @@ export interface PutResourceAttributesRequest { ResourceAttributeList: ResourceAttribute[] | undefined; /** - *

                                                                        Optional boolean flag to indicate whether any effect should take place. Used to test if - * the caller has permission to make the call.

                                                                        + *

                                                                        Unique identifier that references the migration task. Do not store personal + * data in this field. + *

                                                                        */ - DryRun?: boolean; + MigrationTaskName: string | undefined; } export namespace PutResourceAttributesRequest { diff --git a/clients/client-migrationhub-config/models/models_0.ts b/clients/client-migrationhub-config/models/models_0.ts index f6b0337c2db5..f1bccd3e5016 100644 --- a/clients/client-migrationhub-config/models/models_0.ts +++ b/clients/client-migrationhub-config/models/models_0.ts @@ -46,15 +46,15 @@ export namespace Target { export interface CreateHomeRegionControlRequest { /** - *

                                                                        Optional Boolean flag to indicate whether any effect should take place. It tests whether - * the caller has permission to make the call.

                                                                        + *

                                                                        The name of the home region of the calling account.

                                                                        */ - DryRun?: boolean; + HomeRegion: string | undefined; /** - *

                                                                        The name of the home region of the calling account.

                                                                        + *

                                                                        Optional Boolean flag to indicate whether any effect should take place. It tests whether + * the caller has permission to make the call.

                                                                        */ - HomeRegion: string | undefined; + DryRun?: boolean; /** *

                                                                        The account for which this command sets up a home region control. The Target @@ -75,6 +75,18 @@ export namespace CreateHomeRegionControlRequest { * ID, and a time at which the home region was set.

                                                                        */ export interface HomeRegionControl { + /** + *

                                                                        The AWS Region that's been set as home region. For example, "us-west-2" or "eu-central-1" + * are valid home regions.

                                                                        + */ + HomeRegion?: string; + + /** + *

                                                                        A timestamp representing the time when the customer called + * CreateHomeregionControl and set the home region for the account.

                                                                        + */ + RequestedTime?: Date; + /** *

                                                                        The target parameter specifies the identifier to which the home region is applied, which * is always an ACCOUNT. It applies the home region to the current @@ -87,18 +99,6 @@ export interface HomeRegionControl { * that begins with "hrc-" followed by 12 lowercase letters and numbers.

                                                                        */ ControlId?: string; - - /** - *

                                                                        A timestamp representing the time when the customer called - * CreateHomeregionControl and set the home region for the account.

                                                                        - */ - RequestedTime?: Date; - - /** - *

                                                                        The AWS Region that's been set as home region. For example, "us-west-2" or "eu-central-1" - * are valid home regions.

                                                                        - */ - HomeRegion?: string; } export namespace HomeRegionControl { @@ -206,25 +206,11 @@ export namespace ThrottlingException { } export interface DescribeHomeRegionControlsRequest { - /** - *

                                                                        The target parameter specifies the identifier to which the home region is applied, which - * is always of type ACCOUNT. It applies the home region to the current - * ACCOUNT.

                                                                        - */ - Target?: Target; - /** *

                                                                        The maximum number of filtering results to display per page.

                                                                        */ MaxResults?: number; - /** - *

                                                                        If a NextToken was returned by a previous call, more results are available. - * To retrieve the next page of results, make the call again using the returned token in - * NextToken.

                                                                        - */ - NextToken?: string; - /** *

                                                                        The name of the home region you'd like to view.

                                                                        */ @@ -235,6 +221,20 @@ export interface DescribeHomeRegionControlsRequest { * HomeRegionControl object.

                                                                        */ ControlId?: string; + + /** + *

                                                                        If a NextToken was returned by a previous call, more results are available. + * To retrieve the next page of results, make the call again using the returned token in + * NextToken.

                                                                        + */ + NextToken?: string; + + /** + *

                                                                        The target parameter specifies the identifier to which the home region is applied, which + * is always of type ACCOUNT. It applies the home region to the current + * ACCOUNT.

                                                                        + */ + Target?: Target; } export namespace DescribeHomeRegionControlsRequest { diff --git a/clients/client-mobile/models/models_0.ts b/clients/client-mobile/models/models_0.ts index e23328000c84..0168aa266cc6 100644 --- a/clients/client-mobile/models/models_0.ts +++ b/clients/client-mobile/models/models_0.ts @@ -54,19 +54,19 @@ export namespace BadRequestException { export interface CreateProjectRequest { /** *

                                                                        - * Default region where project resources should be created. + * ZIP or YAML file which contains configuration settings to be used when creating + * the project. This may be the contents of the file downloaded from the URL provided + * in an export project operation. *

                                                                        */ - region?: string; + contents?: Uint8Array; /** *

                                                                        - * ZIP or YAML file which contains configuration settings to be used when creating - * the project. This may be the contents of the file downloaded from the URL provided - * in an export project operation. + * Name of the project. *

                                                                        */ - contents?: Uint8Array; + name?: string; /** *

                                                                        @@ -78,10 +78,10 @@ export interface CreateProjectRequest { /** *

                                                                        - * Name of the project. + * Default region where project resources should be created. *

                                                                        */ - name?: string; + region?: string; } export namespace CreateProjectRequest { @@ -152,10 +152,17 @@ export enum ProjectState { export interface ProjectDetails { /** *

                                                                        - * List of AWS resources associated with a project. + * Unique project identifier. *

                                                                        */ - resources?: Resource[]; + projectId?: string; + + /** + *

                                                                        + * Website URL for this project in the AWS Mobile Hub console. + *

                                                                        + */ + consoleUrl?: string; /** *

                                                                        @@ -166,10 +173,10 @@ export interface ProjectDetails { /** *

                                                                        - * Unique project identifier. + * Default region to use for AWS resource creation in the AWS Mobile Hub project. *

                                                                        */ - projectId?: string; + region?: string; /** *

                                                                        @@ -180,10 +187,10 @@ export interface ProjectDetails { /** *

                                                                        - * Default region to use for AWS resource creation in the AWS Mobile Hub project. + * Date of the last modification of the project. *

                                                                        */ - region?: string; + lastUpdatedDate?: Date; /** *

                                                                        @@ -194,17 +201,10 @@ export interface ProjectDetails { /** *

                                                                        - * Website URL for this project in the AWS Mobile Hub console. - *

                                                                        - */ - consoleUrl?: string; - - /** - *

                                                                        - * Date of the last modification of the project. + * List of AWS resources associated with a project. *

                                                                        */ - lastUpdatedDate?: Date; + resources?: Resource[]; } export namespace ProjectDetails { @@ -324,14 +324,14 @@ export interface ServiceUnavailableException extends __SmithyException, $Metadat * The Exception Error Message. *

                                                                        */ - message?: string; + retryAfterSeconds?: string; /** *

                                                                        * The Exception Error Message. *

                                                                        */ - retryAfterSeconds?: string; + message?: string; } export namespace ServiceUnavailableException { @@ -478,45 +478,45 @@ export enum Platform { export interface BundleDetails { /** *

                                                                        - * Developer desktop or mobile app or website platforms. + * Icon for the download bundle. *

                                                                        */ - availablePlatforms?: (Platform | string)[]; + iconUrl?: string; /** *

                                                                        - * Description of the download bundle. + * Unique bundle identifier. *

                                                                        */ - description?: string; + bundleId?: string; /** *

                                                                        - * Unique bundle identifier. + * Description of the download bundle. *

                                                                        */ - bundleId?: string; + description?: string; /** *

                                                                        - * Title of the download bundle. + * Version of the download bundle. *

                                                                        */ - title?: string; + version?: string; /** *

                                                                        - * Icon for the download bundle. + * Title of the download bundle. *

                                                                        */ - iconUrl?: string; + title?: string; /** *

                                                                        - * Version of the download bundle. + * Developer desktop or mobile app or website platforms. *

                                                                        */ - version?: string; + availablePlatforms?: (Platform | string)[]; } export namespace BundleDetails { @@ -601,24 +601,24 @@ export namespace DescribeProjectResult { export interface ExportBundleRequest { /** *

                                                                        - * Unique project identifier. + * Unique bundle identifier. *

                                                                        */ - projectId?: string; + bundleId: string | undefined; /** *

                                                                        - * Unique bundle identifier. + * Developer desktop or target application platform. *

                                                                        */ - bundleId: string | undefined; + platform?: Platform | string; /** *

                                                                        - * Developer desktop or target application platform. + * Unique project identifier. *

                                                                        */ - platform?: Platform | string; + projectId?: string; } export namespace ExportBundleRequest { @@ -685,13 +685,6 @@ export interface ExportProjectResult { */ snapshotId?: string; - /** - *

                                                                        - * URL which can be used to download the exported project configuation file(s). - *

                                                                        - */ - downloadUrl?: string; - /** *

                                                                        * URL which can be shared to allow other AWS users to create their own project @@ -703,6 +696,13 @@ export interface ExportProjectResult { *

                                                                        */ shareUrl?: string; + + /** + *

                                                                        + * URL which can be used to download the exported project configuation file(s). + *

                                                                        + */ + downloadUrl?: string; } export namespace ExportProjectResult { @@ -748,18 +748,18 @@ export namespace ListBundlesRequest { export interface ListBundlesResult { /** *

                                                                        - * Pagination token. If non-null pagination token is returned in a result, - * then pass its value in another request to fetch more entries. + * A list of bundles. *

                                                                        */ - nextToken?: string; + bundleList?: BundleDetails[]; /** *

                                                                        - * A list of bundles. + * Pagination token. If non-null pagination token is returned in a result, + * then pass its value in another request to fetch more entries. *

                                                                        */ - bundleList?: BundleDetails[]; + nextToken?: string; } export namespace ListBundlesResult { @@ -776,19 +776,19 @@ export namespace ListBundlesResult { export interface ListProjectsRequest { /** *

                                                                        - * Maximum number of records to list in a single response. + * Pagination token. Set to null to start listing projects from start. + * If non-null pagination token is returned in a result, then pass its + * value in here in another request to list more projects. *

                                                                        */ - maxResults?: number; + nextToken?: string; /** *

                                                                        - * Pagination token. Set to null to start listing projects from start. - * If non-null pagination token is returned in a result, then pass its - * value in here in another request to list more projects. + * Maximum number of records to list in a single response. *

                                                                        */ - nextToken?: string; + maxResults?: number; } export namespace ListProjectsRequest { diff --git a/clients/client-mobile/protocols/Aws_restJson1.ts b/clients/client-mobile/protocols/Aws_restJson1.ts index fa842b736888..56a20add81e3 100644 --- a/clients/client-mobile/protocols/Aws_restJson1.ts +++ b/clients/client-mobile/protocols/Aws_restJson1.ts @@ -43,9 +43,9 @@ export const serializeAws_restJson1CreateProjectCommand = async ( }; let resolvedPath = "/projects"; const query: any = { - ...(input.region !== undefined && { region: input.region }), - ...(input.snapshotId !== undefined && { snapshotId: input.snapshotId }), ...(input.name !== undefined && { name: input.name }), + ...(input.snapshotId !== undefined && { snapshotId: input.snapshotId }), + ...(input.region !== undefined && { region: input.region }), }; let body: any; if (input.contents !== undefined) { @@ -168,8 +168,8 @@ export const serializeAws_restJson1ExportBundleCommand = async ( throw new Error("No value provided for input HTTP label: bundleId."); } const query: any = { - ...(input.projectId !== undefined && { projectId: input.projectId }), ...(input.platform !== undefined && { platform: input.platform }), + ...(input.projectId !== undefined && { projectId: input.projectId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -250,8 +250,8 @@ export const serializeAws_restJson1ListProjectsCommand = async ( }; let resolvedPath = "/projects"; 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(); diff --git a/clients/client-mq/index.ts b/clients/client-mq/index.ts index 663f7d52ebd3..595e3e29c03e 100644 --- a/clients/client-mq/index.ts +++ b/clients/client-mq/index.ts @@ -14,6 +14,7 @@ export * from "./commands/DescribeConfigurationCommand"; export * from "./commands/DescribeConfigurationRevisionCommand"; export * from "./commands/DescribeUserCommand"; export * from "./commands/ListBrokersCommand"; +export * from "./pagination/ListBrokersPaginator"; export * from "./commands/ListConfigurationRevisionsCommand"; export * from "./commands/ListConfigurationsCommand"; export * from "./commands/ListTagsCommand"; @@ -22,4 +23,5 @@ export * from "./commands/RebootBrokerCommand"; export * from "./commands/UpdateBrokerCommand"; export * from "./commands/UpdateConfigurationCommand"; export * from "./commands/UpdateUserCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-mq/models/models_0.ts b/clients/client-mq/models/models_0.ts index 07de3e094d53..cf03b0376a69 100644 --- a/clients/client-mq/models/models_0.ts +++ b/clients/client-mq/models/models_0.ts @@ -42,14 +42,14 @@ export namespace EngineVersion { */ export interface BrokerEngineType { /** - * The type of broker engine. + * The list of engine versions. */ - EngineType?: EngineType | string; + EngineVersions?: EngineVersion[]; /** - * The list of engine versions. + * The type of broker engine. */ - EngineVersions?: EngineVersion[]; + EngineType?: EngineType | string; } export namespace BrokerEngineType { @@ -63,9 +63,9 @@ export namespace BrokerEngineType { */ export interface BrokerInstance { /** - * The URL of the broker's ActiveMQ Web Console. + * The IP address of the Elastic Network Interface (ENI) attached to the broker. */ - ConsoleURL?: string; + IpAddress?: string; /** * The broker's wire-level protocol endpoints. @@ -73,9 +73,9 @@ export interface BrokerInstance { Endpoints?: string[]; /** - * The IP address of the Elastic Network Interface (ENI) attached to the broker. + * The URL of the broker's ActiveMQ Web Console. */ - IpAddress?: string; + ConsoleURL?: string; } export namespace BrokerInstance { @@ -98,16 +98,6 @@ export enum DeploymentMode { * Option for host instance type. */ export interface BrokerInstanceOption { - /** - * The list of available az. - */ - AvailabilityZones?: AvailabilityZone[]; - - /** - * The broker's storage type. - */ - StorageType?: BrokerStorageType | string; - /** * The list of supported engine versions. */ @@ -127,6 +117,16 @@ export interface BrokerInstanceOption { * The type of broker engine. */ EngineType?: EngineType | string; + + /** + * The list of available az. + */ + AvailabilityZones?: AvailabilityZone[]; + + /** + * The broker's storage type. + */ + StorageType?: BrokerStorageType | string; } export namespace BrokerInstanceOption { @@ -148,19 +148,19 @@ export enum BrokerState { */ export interface BrokerSummary { /** - * The unique ID that Amazon MQ generates for the broker. + * The time when the broker was created. */ - BrokerId?: string; + Created?: Date; /** - * The time when the broker was created. + * The unique ID that Amazon MQ generates for the broker. */ - Created?: Date; + BrokerId?: string; /** - * The broker's instance type. + * Required. The deployment mode of the broker. */ - HostInstanceType?: string; + DeploymentMode?: DeploymentMode | string; /** * The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters. @@ -168,9 +168,9 @@ export interface BrokerSummary { BrokerName?: string; /** - * The status of the broker. + * The broker's instance type. */ - BrokerState?: BrokerState | string; + HostInstanceType?: string; /** * The Amazon Resource Name (ARN) of the broker. @@ -178,9 +178,9 @@ export interface BrokerSummary { BrokerArn?: string; /** - * Required. The deployment mode of the broker. + * The status of the broker. */ - DeploymentMode?: DeploymentMode | string; + BrokerState?: BrokerState | string; } export namespace BrokerSummary { @@ -199,9 +199,9 @@ export enum AuthenticationStrategy { */ export interface ConfigurationRevision { /** - * Required. The revision number of the configuration. + * Required. The date and time of the configuration revision. */ - Revision?: number; + Created?: Date; /** * The description of the configuration revision. @@ -209,9 +209,9 @@ export interface ConfigurationRevision { Description?: string; /** - * Required. The date and time of the configuration revision. + * Required. The revision number of the configuration. */ - Created?: Date; + Revision?: number; } export namespace ConfigurationRevision { @@ -225,29 +225,29 @@ export namespace ConfigurationRevision { */ export interface Configuration { /** - * Required. The date and time of the configuration revision. + * The authentication strategy associated with the configuration. */ - Created?: Date; + AuthenticationStrategy?: AuthenticationStrategy | string; /** - * Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long. + * Required. The description of the configuration. */ - Name?: string; + Description?: string; /** - * The list of all tags associated with this configuration. + * Required. The ARN of the configuration. */ - Tags?: { [key: string]: string }; + Arn?: string; /** - * Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. + * Required. The unique ID that Amazon MQ generates for the configuration. */ - EngineType?: EngineType | string; + Id?: string; /** - * Required. The unique ID that Amazon MQ generates for the configuration. + * Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html */ - Id?: string; + EngineVersion?: string; /** * Required. The latest revision of the configuration. @@ -255,24 +255,24 @@ export interface Configuration { LatestRevision?: ConfigurationRevision; /** - * Required. The ARN of the configuration. + * Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long. */ - Arn?: string; + Name?: string; /** - * The authentication strategy associated with the configuration. + * Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. */ - AuthenticationStrategy?: AuthenticationStrategy | string; + EngineType?: EngineType | string; /** - * Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html + * The list of all tags associated with this configuration. */ - EngineVersion?: string; + Tags?: { [key: string]: string }; /** - * Required. The description of the configuration. + * Required. The date and time of the configuration revision. */ - Description?: string; + Created?: Date; } export namespace Configuration { @@ -286,14 +286,14 @@ export namespace Configuration { */ export interface ConfigurationId { /** - * Required. The unique ID that Amazon MQ generates for the configuration. + * The revision number of the configuration. */ - Id?: string; + Revision?: number; /** - * The revision number of the configuration. + * Required. The unique ID that Amazon MQ generates for the configuration. */ - Revision?: number; + Id?: string; } export namespace ConfigurationId { @@ -339,24 +339,24 @@ export namespace SanitizationWarning { */ export interface User { /** - * The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * Enables access to the the ActiveMQ Web Console for the ActiveMQ user. */ - Groups?: string[]; + ConsoleAccess?: boolean; /** - * Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * Required. The password of the ActiveMQ user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas. */ - Username?: string; + Password?: string; /** - * Enables access to the the ActiveMQ Web Console for the ActiveMQ user. + * Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - ConsoleAccess?: boolean; + Username?: string; /** - * Required. The password of the ActiveMQ user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas. + * The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - Password?: string; + Groups?: string[]; } export namespace User { @@ -376,14 +376,14 @@ export enum ChangeType { */ export interface UserSummary { /** - * The type of change pending for the ActiveMQ user. + * Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - PendingChange?: ChangeType | string; + Username?: string; /** - * Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * The type of change pending for the ActiveMQ user. */ - Username?: string; + PendingChange?: ChangeType | string; } export namespace UserSummary { @@ -399,14 +399,14 @@ export interface BadRequestException extends __SmithyException, $MetadataBearer name: "BadRequestException"; $fault: "client"; /** - * The attribute which caused the error. + * The explanation of the error. */ - ErrorAttribute?: string; + Message?: string; /** - * The explanation of the error. + * The attribute which caused the error. */ - Message?: string; + ErrorAttribute?: string; } export namespace BadRequestException { @@ -419,11 +419,6 @@ export namespace BadRequestException { * Broker configuration information */ export interface Configurations { - /** - * The current configuration of the broker. - */ - Current?: ConfigurationId; - /** * The history of configurations applied to the broker. */ @@ -433,6 +428,11 @@ export interface Configurations { * The pending configuration of the broker. */ Pending?: ConfigurationId; + + /** + * The current configuration of the broker. + */ + Current?: ConfigurationId; } export namespace Configurations { @@ -448,14 +448,14 @@ export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; $fault: "client"; /** - * The explanation of the error. + * The attribute which caused the error. */ - Message?: string; + ErrorAttribute?: string; /** - * The attribute which caused the error. + * The explanation of the error. */ - ErrorAttribute?: string; + Message?: string; } export namespace ConflictException { @@ -469,14 +469,14 @@ export namespace ConflictException { */ export interface EncryptionOptions { /** - * Enables the use of an AWS owned CMK using AWS Key Management Service (KMS). + * The symmetric customer master key (CMK) to use for the AWS Key Management Service (KMS). This key is used to encrypt your data at rest. If not provided, Amazon MQ will use a default CMK to encrypt your data. */ - UseAwsOwnedKey: boolean | undefined; + KmsKeyId?: string; /** - * The symmetric customer master key (CMK) to use for the AWS Key Management Service (KMS). This key is used to encrypt your data at rest. If not provided, Amazon MQ will use a default CMK to encrypt your data. + * Enables the use of an AWS owned CMK using AWS Key Management Service (KMS). */ - KmsKeyId?: string; + UseAwsOwnedKey: boolean | undefined; } export namespace EncryptionOptions { @@ -490,59 +490,59 @@ export namespace EncryptionOptions { */ export interface LdapServerMetadataInput { /** - * Service account username. + * Specifies the LDAP attribute that identifies the group name attribute in the object returned from the group membership query. */ - ServiceAccountUsername?: string; + RoleName?: string; /** - * Service account password. + * The directory search scope for the role. If set to true, scope is to search the entire sub-tree. */ - ServiceAccountPassword?: string; + RoleSearchSubtree?: boolean; /** - * Specifies the name of the LDAP attribute for the user group membership. + * Fully qualified domain name of the LDAP server. Optional failover server. */ - UserRoleName?: string; + Hosts?: string[]; /** - * Fully qualified name of the directory where you want to search for users. + * The directory search scope for the user. If set to true, scope is to search the entire sub-tree. */ - UserBase?: string; + UserSearchSubtree?: boolean; /** - * Specifies the LDAP attribute that identifies the group name attribute in the object returned from the group membership query. + * The search criteria for users. */ - RoleName?: string; + UserSearchMatching?: string; /** - * The search criteria for groups. + * Service account password. */ - RoleSearchMatching?: string; + ServiceAccountPassword?: string; /** - * The directory search scope for the role. If set to true, scope is to search the entire sub-tree. + * Fully qualified name of the directory to search for a user’s groups. */ - RoleSearchSubtree?: boolean; + RoleBase?: string; /** - * Fully qualified domain name of the LDAP server. Optional failover server. + * Fully qualified name of the directory where you want to search for users. */ - Hosts?: string[]; + UserBase?: string; /** - * Fully qualified name of the directory to search for a user’s groups. + * Service account username. */ - RoleBase?: string; + ServiceAccountUsername?: string; /** - * The directory search scope for the user. If set to true, scope is to search the entire sub-tree. + * Specifies the name of the LDAP attribute for the user group membership. */ - UserSearchSubtree?: boolean; + UserRoleName?: string; /** - * The search criteria for users. + * The search criteria for groups. */ - UserSearchMatching?: string; + RoleSearchMatching?: string; } export namespace LdapServerMetadataInput { @@ -556,14 +556,14 @@ export namespace LdapServerMetadataInput { */ export interface Logs { /** - * Enables general logging. + * Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. */ - General?: boolean; + Audit?: boolean; /** - * Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. + * Enables general logging. */ - Audit?: boolean; + General?: boolean; } export namespace Logs { @@ -586,11 +586,6 @@ export enum DayOfWeek { * The scheduled time period relative to UTC during which Amazon MQ begins to apply pending updates or patches to the broker. */ export interface WeeklyStartTime { - /** - * Required. The day of the week. - */ - DayOfWeek?: DayOfWeek | string; - /** * Required. The time, in 24-hour format. */ @@ -600,6 +595,11 @@ export interface WeeklyStartTime { * The time zone, UTC by default, in either the Country/City format, or the UTC offset format. */ TimeZone?: string; + + /** + * Required. The day of the week. + */ + DayOfWeek?: DayOfWeek | string; } export namespace WeeklyStartTime { @@ -613,99 +613,99 @@ export namespace WeeklyStartTime { */ export interface CreateBrokerRequest { /** - * A list of information about the configuration. + * Enables Amazon CloudWatch logging for brokers. */ - Configuration?: ConfigurationId; + Logs?: Logs; /** - * Required. The list of ActiveMQ users (persons or applications) who can access queues and topics. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * Encryption options for the broker. */ - Users?: User[]; + EncryptionOptions?: EncryptionOptions; /** - * Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html + * The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action. Note: We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the creatorRequestId if your application doesn't require idempotency. */ - EngineVersion?: string; + CreatorRequestId?: string; /** - * The authentication strategy used to secure the broker. + * The metadata of the LDAP server used to authenticate and authorize connections to the broker. */ - AuthenticationStrategy?: AuthenticationStrategy | string; + LdapServerMetadata?: LdapServerMetadataInput; /** - * Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot. + * The parameters that determine the WeeklyStartTime. */ - AutoMinorVersionUpgrade?: boolean; + MaintenanceWindowStartTime?: WeeklyStartTime; /** - * The broker's storage type. + * Create tags when creating the broker. */ - StorageType?: BrokerStorageType | string; + Tags?: { [key: string]: string }; /** - * The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers. + * Required. The deployment mode of the broker. */ - SecurityGroups?: string[]; + DeploymentMode?: DeploymentMode | string; /** - * Create tags when creating the broker. + * Required. The broker's instance type. */ - Tags?: { [key: string]: string }; + HostInstanceType?: string; /** - * The metadata of the LDAP server used to authenticate and authorize connections to the broker. + * The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers. */ - LdapServerMetadata?: LdapServerMetadataInput; + SecurityGroups?: string[]; /** - * Encryption options for the broker. + * The broker's storage type. */ - EncryptionOptions?: EncryptionOptions; + StorageType?: BrokerStorageType | string; /** - * Required. Enables connections from applications outside of the VPC that hosts the broker's subnets. + * The authentication strategy used to secure the broker. */ - PubliclyAccessible?: boolean; + AuthenticationStrategy?: AuthenticationStrategy | string; /** - * Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. + * Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html */ - EngineType?: EngineType | string; + EngineVersion?: string; /** - * Required. The deployment mode of the broker. + * Required. The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters. */ - DeploymentMode?: DeploymentMode | string; + BrokerName?: string; /** - * Enables Amazon CloudWatch logging for brokers. + * The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets. */ - Logs?: Logs; + SubnetIds?: string[]; /** - * Required. The broker's instance type. + * Required. The list of ActiveMQ users (persons or applications) who can access queues and topics. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - HostInstanceType?: string; + Users?: User[]; /** - * Required. The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters. + * Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot. */ - BrokerName?: string; + AutoMinorVersionUpgrade?: boolean; /** - * The parameters that determine the WeeklyStartTime. + * Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. */ - MaintenanceWindowStartTime?: WeeklyStartTime; + EngineType?: EngineType | string; /** - * The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action. Note: We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the creatorRequestId if your application doesn't require idempotency. + * Required. Enables connections from applications outside of the VPC that hosts the broker's subnets. */ - CreatorRequestId?: string; + PubliclyAccessible?: boolean; /** - * The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets. + * A list of information about the configuration. */ - SubnetIds?: string[]; + Configuration?: ConfigurationId; } export namespace CreateBrokerRequest { @@ -716,14 +716,14 @@ export namespace CreateBrokerRequest { export interface CreateBrokerResponse { /** - * The unique ID that Amazon MQ generates for the broker. + * The Amazon Resource Name (ARN) of the broker. */ - BrokerId?: string; + BrokerArn?: string; /** - * The Amazon Resource Name (ARN) of the broker. + * The unique ID that Amazon MQ generates for the broker. */ - BrokerArn?: string; + BrokerId?: string; } export namespace CreateBrokerResponse { @@ -762,14 +762,14 @@ export interface InternalServerErrorException extends __SmithyException, $Metada name: "InternalServerErrorException"; $fault: "server"; /** - * The attribute which caused the error. + * The explanation of the error. */ - ErrorAttribute?: string; + Message?: string; /** - * The explanation of the error. + * The attribute which caused the error. */ - Message?: string; + ErrorAttribute?: string; } export namespace InternalServerErrorException { @@ -785,14 +785,14 @@ export interface UnauthorizedException extends __SmithyException, $MetadataBeare name: "UnauthorizedException"; $fault: "client"; /** - * The attribute which caused the error. + * The explanation of the error. */ - ErrorAttribute?: string; + Message?: string; /** - * The explanation of the error. + * The attribute which caused the error. */ - Message?: string; + ErrorAttribute?: string; } export namespace UnauthorizedException { @@ -811,24 +811,24 @@ export interface CreateConfigurationRequest { EngineVersion?: string; /** - * Create tags when creating the configuration. + * Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. */ - Tags?: { [key: string]: string }; + EngineType?: EngineType | string; /** - * Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. + * Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long. */ - EngineType?: EngineType | string; + Name?: string; /** - * The authentication strategy associated with the configuration. + * Create tags when creating the configuration. */ - AuthenticationStrategy?: AuthenticationStrategy | string; + Tags?: { [key: string]: string }; /** - * Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long. + * The authentication strategy associated with the configuration. */ - Name?: string; + AuthenticationStrategy?: AuthenticationStrategy | string; } export namespace CreateConfigurationRequest { @@ -844,19 +844,19 @@ export interface CreateConfigurationResponse { AuthenticationStrategy?: AuthenticationStrategy | string; /** - * The latest revision of the configuration. + * Required. The unique ID that Amazon MQ generates for the configuration. */ - LatestRevision?: ConfigurationRevision; + Id?: string; /** - * Required. The Amazon Resource Name (ARN) of the configuration. + * Required. The date and time of the configuration. */ - Arn?: string; + Created?: Date; /** - * Required. The unique ID that Amazon MQ generates for the configuration. + * Required. The Amazon Resource Name (ARN) of the configuration. */ - Id?: string; + Arn?: string; /** * Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long. @@ -864,9 +864,9 @@ export interface CreateConfigurationResponse { Name?: string; /** - * Required. The date and time of the configuration. + * The latest revision of the configuration. */ - Created?: Date; + LatestRevision?: ConfigurationRevision; } export namespace CreateConfigurationResponse { @@ -880,14 +880,14 @@ export namespace CreateConfigurationResponse { */ export interface CreateTagsRequest { /** - * The key-value pair for the resource tag. + * The Amazon Resource Name (ARN) of the resource tag. */ - Tags?: { [key: string]: string }; + ResourceArn: string | undefined; /** - * The Amazon Resource Name (ARN) of the resource tag. + * The key-value pair for the resource tag. */ - ResourceArn: string | undefined; + Tags?: { [key: string]: string }; } export namespace CreateTagsRequest { @@ -903,14 +903,14 @@ export interface NotFoundException extends __SmithyException, $MetadataBearer { name: "NotFoundException"; $fault: "client"; /** - * The attribute which caused the error. + * The explanation of the error. */ - ErrorAttribute?: string; + Message?: string; /** - * The explanation of the error. + * The attribute which caused the error. */ - Message?: string; + ErrorAttribute?: string; } export namespace NotFoundException { @@ -924,14 +924,14 @@ export namespace NotFoundException { */ export interface CreateUserRequest { /** - * Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas. + * The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - Password?: string; + Groups?: string[]; /** - * The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * The unique ID that Amazon MQ generates for the broker. */ - Username: string | undefined; + BrokerId: string | undefined; /** * Enables access to the the ActiveMQ Web Console for the ActiveMQ user. @@ -939,14 +939,14 @@ export interface CreateUserRequest { ConsoleAccess?: boolean; /** - * The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas. */ - Groups?: string[]; + Password?: string; /** - * The unique ID that Amazon MQ generates for the broker. + * The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - BrokerId: string | undefined; + Username: string | undefined; } export namespace CreateUserRequest { @@ -1009,14 +1009,14 @@ export namespace DeleteTagsRequest { export interface DeleteUserRequest { /** - * The unique ID that Amazon MQ generates for the broker. + * The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - BrokerId: string | undefined; + Username: string | undefined; /** - * The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * The unique ID that Amazon MQ generates for the broker. */ - Username: string | undefined; + BrokerId: string | undefined; } export namespace DeleteUserRequest { @@ -1051,34 +1051,34 @@ export namespace DescribeBrokerRequest { */ export interface LdapServerMetadataOutput { /** - * Fully qualified domain name of the LDAP server. Optional failover server. + * The search criteria for groups. */ - Hosts?: string[]; + RoleSearchMatching?: string; /** - * The directory search scope for the role. If set to true, scope is to search the entire sub-tree. + * Fully qualified name of the directory to search for a user’s groups. */ - RoleSearchSubtree?: boolean; + RoleBase?: string; /** - * Fully qualified name of the directory where you want to search for users. + * Fully qualified domain name of the LDAP server. Optional failover server. */ - UserBase?: string; + Hosts?: string[]; /** - * The search criteria for groups. + * Specifies the LDAP attribute that identifies the group name attribute in the object returned from the group membership query. */ - RoleSearchMatching?: string; + RoleName?: string; /** - * Specifies the name of the LDAP attribute for the user group membership. + * The search criteria for users. */ - UserRoleName?: string; + UserSearchMatching?: string; /** - * Fully qualified name of the directory to search for a user’s groups. + * The directory search scope for the user. If set to true, scope is to search the entire sub-tree. */ - RoleBase?: string; + UserSearchSubtree?: boolean; /** * Service account username. @@ -1086,19 +1086,19 @@ export interface LdapServerMetadataOutput { ServiceAccountUsername?: string; /** - * The search criteria for users. + * The directory search scope for the role. If set to true, scope is to search the entire sub-tree. */ - UserSearchMatching?: string; + RoleSearchSubtree?: boolean; /** - * The directory search scope for the user. If set to true, scope is to search the entire sub-tree. + * Specifies the name of the LDAP attribute for the user group membership. */ - UserSearchSubtree?: boolean; + UserRoleName?: string; /** - * Specifies the LDAP attribute that identifies the group name attribute in the object returned from the group membership query. + * Fully qualified name of the directory where you want to search for users. */ - RoleName?: string; + UserBase?: string; } export namespace LdapServerMetadataOutput { @@ -1132,11 +1132,6 @@ export namespace PendingLogs { * The list of information about logs currently enabled and pending to be deployed for the specified broker. */ export interface LogsSummary { - /** - * Enables general logging. - */ - General?: boolean; - /** * The list of information about logs pending to be deployed for the specified broker. */ @@ -1148,14 +1143,19 @@ export interface LogsSummary { GeneralLogGroup?: string; /** - * The location of the CloudWatch Logs log group where audit logs are sent. + * Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. */ - AuditLogGroup?: string; + Audit?: boolean; /** - * Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. + * Enables general logging. */ - Audit?: boolean; + General?: boolean; + + /** + * The location of the CloudWatch Logs log group where audit logs are sent. + */ + AuditLogGroup?: string; } export namespace LogsSummary { @@ -1166,29 +1166,24 @@ export namespace LogsSummary { export interface DescribeBrokerResponse { /** - * The status of the broker. - */ - BrokerState?: BrokerState | string; - - /** - * The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers. + * The Amazon Resource Name (ARN) of the broker. */ - SecurityGroups?: string[]; + BrokerArn?: string; /** - * The list of pending security groups to authorize connections to brokers. + * The metadata of the LDAP server that will be used to authenticate and authorize connections to the broker once it is rebooted. */ - PendingSecurityGroups?: string[]; + PendingLdapServerMetadata?: LdapServerMetadataOutput; /** - * A list of information about allocated brokers. + * The list of all tags associated with this broker. */ - BrokerInstances?: BrokerInstance[]; + Tags?: { [key: string]: string }; /** - * The authentication strategy used to secure the broker. + * Required. Enables connections from applications outside of the VPC that hosts the broker's subnets. */ - AuthenticationStrategy?: AuthenticationStrategy | string; + PubliclyAccessible?: boolean; /** * The list of all ActiveMQ usernames for the specified broker. @@ -1196,69 +1191,69 @@ export interface DescribeBrokerResponse { Users?: UserSummary[]; /** - * The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets. + * Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. */ - SubnetIds?: string[]; + EngineType?: EngineType | string; /** - * The time when the broker was created. + * Encryption options for the broker. */ - Created?: Date; + EncryptionOptions?: EncryptionOptions; /** - * The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types + * The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers. */ - PendingHostInstanceType?: string; + SecurityGroups?: string[]; /** - * Required. The deployment mode of the broker. + * A list of information about allocated brokers. */ - DeploymentMode?: DeploymentMode | string; + BrokerInstances?: BrokerInstance[]; /** - * Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. + * The broker's instance type. */ - EngineType?: EngineType | string; + HostInstanceType?: string; /** - * The list of all revisions for the specified configuration. + * The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html */ - Configurations?: Configurations; + PendingEngineVersion?: string; /** - * Encryption options for the broker. + * The list of pending security groups to authorize connections to brokers. */ - EncryptionOptions?: EncryptionOptions; + PendingSecurityGroups?: string[]; /** - * The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html + * The time when the broker was created. */ - PendingEngineVersion?: string; + Created?: Date; /** - * The list of all tags associated with this broker. + * The list of all revisions for the specified configuration. */ - Tags?: { [key: string]: string }; + Configurations?: Configurations; /** - * The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html + * The authentication strategy used to secure the broker. */ - EngineVersion?: string; + AuthenticationStrategy?: AuthenticationStrategy | string; /** - * The broker's storage type. + * Required. The deployment mode of the broker. */ - StorageType?: BrokerStorageType | string; + DeploymentMode?: DeploymentMode | string; /** - * The unique ID that Amazon MQ generates for the broker. + * Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot. */ - BrokerId?: string; + AutoMinorVersionUpgrade?: boolean; /** - * The authentication strategy that will be applied when the broker is rebooted. + * The list of information about logs currently enabled and pending to be deployed for the specified broker. */ - PendingAuthenticationStrategy?: AuthenticationStrategy | string; + Logs?: LogsSummary; /** * The parameters that determine the WeeklyStartTime. @@ -1266,44 +1261,49 @@ export interface DescribeBrokerResponse { MaintenanceWindowStartTime?: WeeklyStartTime; /** - * The broker's instance type. + * The unique ID that Amazon MQ generates for the broker. */ - HostInstanceType?: string; + BrokerId?: string; /** - * Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot. + * The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types */ - AutoMinorVersionUpgrade?: boolean; + PendingHostInstanceType?: string; /** - * The list of information about logs currently enabled and pending to be deployed for the specified broker. + * The metadata of the LDAP server used to authenticate and authorize connections to the broker. */ - Logs?: LogsSummary; + LdapServerMetadata?: LdapServerMetadataOutput; /** - * The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters. + * The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html */ - BrokerName?: string; + EngineVersion?: string; /** - * The metadata of the LDAP server that will be used to authenticate and authorize connections to the broker once it is rebooted. + * The broker's storage type. */ - PendingLdapServerMetadata?: LdapServerMetadataOutput; + StorageType?: BrokerStorageType | string; /** - * The metadata of the LDAP server used to authenticate and authorize connections to the broker. + * The authentication strategy that will be applied when the broker is rebooted. */ - LdapServerMetadata?: LdapServerMetadataOutput; + PendingAuthenticationStrategy?: AuthenticationStrategy | string; /** - * Required. Enables connections from applications outside of the VPC that hosts the broker's subnets. + * The status of the broker. */ - PubliclyAccessible?: boolean; + BrokerState?: BrokerState | string; /** - * The Amazon Resource Name (ARN) of the broker. + * The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters. */ - BrokerArn?: string; + BrokerName?: string; + + /** + * The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets. + */ + SubnetIds?: string[]; } export namespace DescribeBrokerResponse { @@ -1313,6 +1313,11 @@ export namespace DescribeBrokerResponse { } export interface DescribeBrokerEngineTypesRequest { + /** + * Filter response by engine type. + */ + EngineType?: string; + /** * The maximum number of engine types that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100. */ @@ -1322,11 +1327,6 @@ export interface DescribeBrokerEngineTypesRequest { * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. */ NextToken?: string; - - /** - * Filter response by engine type. - */ - EngineType?: string; } export namespace DescribeBrokerEngineTypesRequest { @@ -1337,9 +1337,9 @@ export namespace DescribeBrokerEngineTypesRequest { export interface DescribeBrokerEngineTypesResponse { /** - * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. + * Required. The maximum number of engine types that can be returned per page (20 by default). This value must be an integer from 5 to 100. */ - NextToken?: string; + MaxResults?: number; /** * List of available engine types and versions. @@ -1347,9 +1347,9 @@ export interface DescribeBrokerEngineTypesResponse { BrokerEngineTypes?: BrokerEngineType[]; /** - * Required. The maximum number of engine types that can be returned per page (20 by default). This value must be an integer from 5 to 100. + * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. */ - MaxResults?: number; + NextToken?: string; } export namespace DescribeBrokerEngineTypesResponse { @@ -1359,20 +1359,15 @@ export namespace DescribeBrokerEngineTypesResponse { } export interface DescribeBrokerInstanceOptionsRequest { - /** - * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. - */ - NextToken?: string; - /** * Filter response by storage type. */ StorageType?: string; /** - * The maximum number of instance options that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100. + * Filter response by engine type. */ - MaxResults?: number; + EngineType?: string; /** * Filter response by host instance type. @@ -1380,9 +1375,14 @@ export interface DescribeBrokerInstanceOptionsRequest { HostInstanceType?: string; /** - * Filter response by engine type. + * The maximum number of instance options that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100. */ - EngineType?: string; + MaxResults?: number; + + /** + * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. + */ + NextToken?: string; } export namespace DescribeBrokerInstanceOptionsRequest { @@ -1429,9 +1429,9 @@ export namespace DescribeConfigurationRequest { export interface DescribeConfigurationResponse { /** - * Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long. + * Required. The date and time of the configuration revision. */ - Name?: string; + Created?: Date; /** * The list of all tags associated with this configuration. @@ -1439,14 +1439,14 @@ export interface DescribeConfigurationResponse { Tags?: { [key: string]: string }; /** - * Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. + * Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html */ - EngineType?: EngineType | string; + EngineVersion?: string; /** - * The authentication strategy associated with the configuration. + * Required. The description of the configuration. */ - AuthenticationStrategy?: AuthenticationStrategy | string; + Description?: string; /** * Required. The latest revision of the configuration. @@ -1454,29 +1454,29 @@ export interface DescribeConfigurationResponse { LatestRevision?: ConfigurationRevision; /** - * Required. The ARN of the configuration. + * The authentication strategy associated with the configuration. */ - Arn?: string; + AuthenticationStrategy?: AuthenticationStrategy | string; /** - * Required. The date and time of the configuration revision. + * Required. The unique ID that Amazon MQ generates for the configuration. */ - Created?: Date; + Id?: string; /** - * Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html + * Required. The ARN of the configuration. */ - EngineVersion?: string; + Arn?: string; /** - * Required. The description of the configuration. + * Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ. */ - Description?: string; + EngineType?: EngineType | string; /** - * Required. The unique ID that Amazon MQ generates for the configuration. + * Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long. */ - Id?: string; + Name?: string; } export namespace DescribeConfigurationResponse { @@ -1487,14 +1487,14 @@ export namespace DescribeConfigurationResponse { export interface DescribeConfigurationRevisionRequest { /** - * The revision of the configuration. + * The unique ID that Amazon MQ generates for the configuration. */ - ConfigurationRevision: string | undefined; + ConfigurationId: string | undefined; /** - * The unique ID that Amazon MQ generates for the configuration. + * The revision of the configuration. */ - ConfigurationId: string | undefined; + ConfigurationRevision: string | undefined; } export namespace DescribeConfigurationRevisionRequest { @@ -1510,9 +1510,9 @@ export interface DescribeConfigurationRevisionResponse { ConfigurationId?: string; /** - * Required. The base64-encoded XML configuration. + * Required. The date and time of the configuration. */ - Data?: string; + Created?: Date; /** * The description of the configuration. @@ -1520,9 +1520,9 @@ export interface DescribeConfigurationRevisionResponse { Description?: string; /** - * Required. The date and time of the configuration. + * Required. The base64-encoded XML configuration. */ - Created?: Date; + Data?: string; } export namespace DescribeConfigurationRevisionResponse { @@ -1533,14 +1533,14 @@ export namespace DescribeConfigurationRevisionResponse { export interface DescribeUserRequest { /** - * The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * The unique ID that Amazon MQ generates for the broker. */ - Username: string | undefined; + BrokerId: string | undefined; /** - * The unique ID that Amazon MQ generates for the broker. + * The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - BrokerId: string | undefined; + Username: string | undefined; } export namespace DescribeUserRequest { @@ -1554,14 +1554,14 @@ export namespace DescribeUserRequest { */ export interface UserPendingChanges { /** - * Required. The type of change pending for the ActiveMQ user. + * Enables access to the the ActiveMQ Web Console for the ActiveMQ user. */ - PendingChange?: ChangeType | string; + ConsoleAccess?: boolean; /** - * Enables access to the the ActiveMQ Web Console for the ActiveMQ user. + * Required. The type of change pending for the ActiveMQ user. */ - ConsoleAccess?: boolean; + PendingChange?: ChangeType | string; /** * The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. @@ -1577,29 +1577,29 @@ export namespace UserPendingChanges { export interface DescribeUserResponse { /** - * Enables access to the the ActiveMQ Web Console for the ActiveMQ user. + * Required. The unique ID that Amazon MQ generates for the broker. */ - ConsoleAccess?: boolean; + BrokerId?: string; /** - * The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * The status of the changes pending for the ActiveMQ user. */ - Groups?: string[]; + Pending?: UserPendingChanges; /** - * Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * Enables access to the the ActiveMQ Web Console for the ActiveMQ user. */ - Username?: string; + ConsoleAccess?: boolean; /** - * Required. The unique ID that Amazon MQ generates for the broker. + * The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - BrokerId?: string; + Groups?: string[]; /** - * The status of the changes pending for the ActiveMQ user. + * Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - Pending?: UserPendingChanges; + Username?: string; } export namespace DescribeUserResponse { @@ -1628,14 +1628,14 @@ export namespace ListBrokersRequest { export interface ListBrokersResponse { /** - * A list of information about all brokers. + * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. */ - BrokerSummaries?: BrokerSummary[]; + NextToken?: string; /** - * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. + * A list of information about all brokers. */ - NextToken?: string; + BrokerSummaries?: BrokerSummary[]; } export namespace ListBrokersResponse { @@ -1645,11 +1645,6 @@ export namespace ListBrokersResponse { } export interface ListConfigurationRevisionsRequest { - /** - * The unique ID that Amazon MQ generates for the configuration. - */ - ConfigurationId: string | undefined; - /** * The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100. */ @@ -1659,6 +1654,11 @@ export interface ListConfigurationRevisionsRequest { * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. */ NextToken?: string; + + /** + * The unique ID that Amazon MQ generates for the configuration. + */ + ConfigurationId: string | undefined; } export namespace ListConfigurationRevisionsRequest { @@ -1669,24 +1669,24 @@ export namespace ListConfigurationRevisionsRequest { export interface ListConfigurationRevisionsResponse { /** - * The maximum number of configuration revisions that can be returned per page (20 by default). This value must be an integer from 5 to 100. + * The unique ID that Amazon MQ generates for the configuration. */ - MaxResults?: number; + ConfigurationId?: string; /** - * The list of all revisions for the specified configuration. + * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. */ - Revisions?: ConfigurationRevision[]; + NextToken?: string; /** - * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. + * The list of all revisions for the specified configuration. */ - NextToken?: string; + Revisions?: ConfigurationRevision[]; /** - * The unique ID that Amazon MQ generates for the configuration. + * The maximum number of configuration revisions that can be returned per page (20 by default). This value must be an integer from 5 to 100. */ - ConfigurationId?: string; + MaxResults?: number; } export namespace ListConfigurationRevisionsResponse { @@ -1714,6 +1714,11 @@ export namespace ListConfigurationsRequest { } export interface ListConfigurationsResponse { + /** + * The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100. + */ + MaxResults?: number; + /** * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. */ @@ -1723,11 +1728,6 @@ export interface ListConfigurationsResponse { * The list of all revisions for the specified configuration. */ Configurations?: Configuration[]; - - /** - * The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100. - */ - MaxResults?: number; } export namespace ListConfigurationsResponse { @@ -1763,6 +1763,11 @@ export namespace ListTagsResponse { } export interface ListUsersRequest { + /** + * The unique ID that Amazon MQ generates for the broker. + */ + BrokerId: string | undefined; + /** * The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100. */ @@ -1772,11 +1777,6 @@ export interface ListUsersRequest { * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. */ NextToken?: string; - - /** - * The unique ID that Amazon MQ generates for the broker. - */ - BrokerId: string | undefined; } export namespace ListUsersRequest { @@ -1786,25 +1786,25 @@ export namespace ListUsersRequest { } export interface ListUsersResponse { - /** - * Required. The unique ID that Amazon MQ generates for the broker. - */ - BrokerId?: string; - /** * Required. The list of all ActiveMQ usernames for the specified broker. */ Users?: UserSummary[]; /** - * Required. The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100. + * Required. The unique ID that Amazon MQ generates for the broker. */ - MaxResults?: number; + BrokerId?: string; /** * The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty. */ NextToken?: string; + + /** + * Required. The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100. + */ + MaxResults?: number; } export namespace ListUsersResponse { @@ -1839,39 +1839,39 @@ export namespace RebootBrokerResponse { */ export interface UpdateBrokerRequest { /** - * The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html + * The authentication strategy used to secure the broker. */ - EngineVersion?: string; + AuthenticationStrategy?: AuthenticationStrategy | string; /** - * A list of information about the configuration. + * The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers. */ - Configuration?: ConfigurationId; + SecurityGroups?: string[]; /** - * The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers. + * The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html */ - SecurityGroups?: string[]; + EngineVersion?: string; /** - * The metadata of the LDAP server used to authenticate and authorize connections to the broker. + * Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot. */ - LdapServerMetadata?: LdapServerMetadataInput; + AutoMinorVersionUpgrade?: boolean; /** - * The authentication strategy used to secure the broker. + * A list of information about the configuration. */ - AuthenticationStrategy?: AuthenticationStrategy | string; + Configuration?: ConfigurationId; /** - * The unique ID that Amazon MQ generates for the broker. + * The metadata of the LDAP server used to authenticate and authorize connections to the broker. */ - BrokerId: string | undefined; + LdapServerMetadata?: LdapServerMetadataInput; /** - * The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types + * The unique ID that Amazon MQ generates for the broker. */ - HostInstanceType?: string; + BrokerId: string | undefined; /** * Enables Amazon CloudWatch logging for brokers. @@ -1879,9 +1879,9 @@ export interface UpdateBrokerRequest { Logs?: Logs; /** - * Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot. + * The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types */ - AutoMinorVersionUpgrade?: boolean; + HostInstanceType?: string; } export namespace UpdateBrokerRequest { @@ -1891,30 +1891,20 @@ export namespace UpdateBrokerRequest { } export interface UpdateBrokerResponse { - /** - * The ID of the updated configuration. - */ - Configuration?: ConfigurationId; - /** * Required. The unique ID that Amazon MQ generates for the broker. */ BrokerId?: string; /** - * The list of information about logs to be enabled for the specified broker. - */ - Logs?: Logs; - - /** - * The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types + * The metadata of the LDAP server used to authenticate and authorize connections to the broker. */ - HostInstanceType?: string; + LdapServerMetadata?: LdapServerMetadataOutput; /** - * The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers. + * The ID of the updated configuration. */ - SecurityGroups?: string[]; + Configuration?: ConfigurationId; /** * The authentication strategy used to secure the broker. @@ -1922,9 +1912,9 @@ export interface UpdateBrokerResponse { AuthenticationStrategy?: AuthenticationStrategy | string; /** - * The metadata of the LDAP server used to authenticate and authorize connections to the broker. + * The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers. */ - LdapServerMetadata?: LdapServerMetadataOutput; + SecurityGroups?: string[]; /** * The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html @@ -1935,6 +1925,16 @@ export interface UpdateBrokerResponse { * The new value of automatic upgrades to new minor version for brokers. */ AutoMinorVersionUpgrade?: boolean; + + /** + * The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types + */ + HostInstanceType?: string; + + /** + * The list of information about logs to be enabled for the specified broker. + */ + Logs?: Logs; } export namespace UpdateBrokerResponse { @@ -1947,6 +1947,11 @@ export namespace UpdateBrokerResponse { * Updates the specified configuration. */ export interface UpdateConfigurationRequest { + /** + * The description of the configuration. + */ + Description?: string; + /** * The unique ID that Amazon MQ generates for the configuration. */ @@ -1956,11 +1961,6 @@ export interface UpdateConfigurationRequest { * Required. The base64-encoded XML configuration. */ Data?: string; - - /** - * The description of the configuration. - */ - Description?: string; } export namespace UpdateConfigurationRequest { @@ -1971,34 +1971,34 @@ export namespace UpdateConfigurationRequest { export interface UpdateConfigurationResponse { /** - * Required. The date and time of the configuration. + * The latest revision of the configuration. */ - Created?: Date; + LatestRevision?: ConfigurationRevision; /** - * Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long. + * Required. The unique ID that Amazon MQ generates for the configuration. */ - Name?: string; + Id?: string; /** - * The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized. + * Required. The Amazon Resource Name (ARN) of the configuration. */ - Warnings?: SanitizationWarning[]; + Arn?: string; /** - * Required. The Amazon Resource Name (ARN) of the configuration. + * The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized. */ - Arn?: string; + Warnings?: SanitizationWarning[]; /** - * Required. The unique ID that Amazon MQ generates for the configuration. + * Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long. */ - Id?: string; + Name?: string; /** - * The latest revision of the configuration. + * Required. The date and time of the configuration. */ - LatestRevision?: ConfigurationRevision; + Created?: Date; } export namespace UpdateConfigurationResponse { @@ -2011,20 +2011,15 @@ export namespace UpdateConfigurationResponse { * Updates the information for an ActiveMQ user. */ export interface UpdateUserRequest { - /** - * Enables access to the the ActiveMQ Web Console for the ActiveMQ user. - */ - ConsoleAccess?: boolean; - /** * The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas. */ Password?: string; /** - * Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. + * The unique ID that Amazon MQ generates for the broker. */ - Username: string | undefined; + BrokerId: string | undefined; /** * The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. @@ -2032,9 +2027,14 @@ export interface UpdateUserRequest { Groups?: string[]; /** - * The unique ID that Amazon MQ generates for the broker. + * Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. */ - BrokerId: string | undefined; + Username: string | undefined; + + /** + * Enables access to the the ActiveMQ Web Console for the ActiveMQ user. + */ + ConsoleAccess?: boolean; } export namespace UpdateUserRequest { diff --git a/clients/client-mq/pagination/Interfaces.ts b/clients/client-mq/pagination/Interfaces.ts new file mode 100644 index 000000000000..d08ee5a12ead --- /dev/null +++ b/clients/client-mq/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { Mq } from "../Mq"; +import { MqClient } from "../MqClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface MqPaginationConfiguration extends PaginationConfiguration { + client: Mq | MqClient; +} diff --git a/clients/client-mq/pagination/ListBrokersPaginator.ts b/clients/client-mq/pagination/ListBrokersPaginator.ts new file mode 100644 index 000000000000..3038f9f2bec1 --- /dev/null +++ b/clients/client-mq/pagination/ListBrokersPaginator.ts @@ -0,0 +1,47 @@ +import { Mq } from "../Mq"; +import { MqClient } from "../MqClient"; +import { ListBrokersCommand, ListBrokersCommandInput, ListBrokersCommandOutput } from "../commands/ListBrokersCommand"; +import { MqPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: MqClient, + input: ListBrokersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListBrokersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Mq, + input: ListBrokersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listBrokers(input, ...args); +}; +export async function* listBrokersPaginate( + config: MqPaginationConfiguration, + input: ListBrokersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListBrokersCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Mq) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof MqClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Mq | MqClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-mq/protocols/Aws_restJson1.ts b/clients/client-mq/protocols/Aws_restJson1.ts index 1790e98e3d83..f48d1a694c0f 100644 --- a/clients/client-mq/protocols/Aws_restJson1.ts +++ b/clients/client-mq/protocols/Aws_restJson1.ts @@ -207,15 +207,6 @@ export const serializeAws_restJson1CreateUserCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v1/brokers/{BrokerId}/users/{Username}"; - if (input.Username !== undefined) { - const labelValue: string = input.Username; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Username."); - } - resolvedPath = resolvedPath.replace("{Username}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Username."); - } if (input.BrokerId !== undefined) { const labelValue: string = input.BrokerId; if (labelValue.length <= 0) { @@ -225,6 +216,15 @@ export const serializeAws_restJson1CreateUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: BrokerId."); } + if (input.Username !== undefined) { + const labelValue: string = input.Username; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Username."); + } + resolvedPath = resolvedPath.replace("{Username}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Username."); + } let body: any; body = JSON.stringify({ ...(input.ConsoleAccess !== undefined && { consoleAccess: input.ConsoleAccess }), @@ -315,15 +315,6 @@ export const serializeAws_restJson1DeleteUserCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/brokers/{BrokerId}/users/{Username}"; - if (input.BrokerId !== undefined) { - const labelValue: string = input.BrokerId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: BrokerId."); - } - resolvedPath = resolvedPath.replace("{BrokerId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: BrokerId."); - } if (input.Username !== undefined) { const labelValue: string = input.Username; if (labelValue.length <= 0) { @@ -333,6 +324,15 @@ export const serializeAws_restJson1DeleteUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: Username."); } + if (input.BrokerId !== undefined) { + const labelValue: string = input.BrokerId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BrokerId."); + } + resolvedPath = resolvedPath.replace("{BrokerId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BrokerId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -385,9 +385,9 @@ export const serializeAws_restJson1DescribeBrokerEngineTypesCommand = async ( }; let resolvedPath = "/v1/broker-engine-types"; const query: any = { + ...(input.EngineType !== undefined && { engineType: input.EngineType }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.EngineType !== undefined && { engineType: input.EngineType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -412,11 +412,11 @@ export const serializeAws_restJson1DescribeBrokerInstanceOptionsCommand = async }; let resolvedPath = "/v1/broker-instance-options"; const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.StorageType !== undefined && { storageType: input.StorageType }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.HostInstanceType !== undefined && { hostInstanceType: input.HostInstanceType }), ...(input.EngineType !== undefined && { engineType: input.EngineType }), + ...(input.HostInstanceType !== undefined && { hostInstanceType: input.HostInstanceType }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -470,15 +470,6 @@ export const serializeAws_restJson1DescribeConfigurationRevisionCommand = async "Content-Type": "", }; let resolvedPath = "/v1/configurations/{ConfigurationId}/revisions/{ConfigurationRevision}"; - if (input.ConfigurationRevision !== undefined) { - const labelValue: string = input.ConfigurationRevision; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ConfigurationRevision."); - } - resolvedPath = resolvedPath.replace("{ConfigurationRevision}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ConfigurationRevision."); - } if (input.ConfigurationId !== undefined) { const labelValue: string = input.ConfigurationId; if (labelValue.length <= 0) { @@ -488,6 +479,15 @@ export const serializeAws_restJson1DescribeConfigurationRevisionCommand = async } else { throw new Error("No value provided for input HTTP label: ConfigurationId."); } + if (input.ConfigurationRevision !== undefined) { + const labelValue: string = input.ConfigurationRevision; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ConfigurationRevision."); + } + resolvedPath = resolvedPath.replace("{ConfigurationRevision}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ConfigurationRevision."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -509,15 +509,6 @@ export const serializeAws_restJson1DescribeUserCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/brokers/{BrokerId}/users/{Username}"; - if (input.Username !== undefined) { - const labelValue: string = input.Username; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Username."); - } - resolvedPath = resolvedPath.replace("{Username}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Username."); - } if (input.BrokerId !== undefined) { const labelValue: string = input.BrokerId; if (labelValue.length <= 0) { @@ -527,6 +518,15 @@ export const serializeAws_restJson1DescribeUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: BrokerId."); } + if (input.Username !== undefined) { + const labelValue: string = input.Username; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Username."); + } + resolvedPath = resolvedPath.replace("{Username}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Username."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -810,15 +810,6 @@ export const serializeAws_restJson1UpdateUserCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v1/brokers/{BrokerId}/users/{Username}"; - if (input.Username !== undefined) { - const labelValue: string = input.Username; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Username."); - } - resolvedPath = resolvedPath.replace("{Username}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Username."); - } if (input.BrokerId !== undefined) { const labelValue: string = input.BrokerId; if (labelValue.length <= 0) { @@ -828,6 +819,15 @@ export const serializeAws_restJson1UpdateUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: BrokerId."); } + if (input.Username !== undefined) { + const labelValue: string = input.Username; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Username."); + } + resolvedPath = resolvedPath.replace("{Username}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Username."); + } let body: any; body = JSON.stringify({ ...(input.ConsoleAccess !== undefined && { consoleAccess: input.ConsoleAccess }), diff --git a/clients/client-mturk/models/models_0.ts b/clients/client-mturk/models/models_0.ts index dde958c2daec..18841095dd81 100644 --- a/clients/client-mturk/models/models_0.ts +++ b/clients/client-mturk/models/models_0.ts @@ -36,8 +36,8 @@ export namespace AcceptQualificationRequestResponse { export interface RequestError extends __SmithyException, $MetadataBearer { name: "RequestError"; $fault: "client"; - Message?: string; TurkErrorCode?: string; + Message?: string; } export namespace RequestError { @@ -52,8 +52,8 @@ export namespace RequestError { export interface ServiceFault extends __SmithyException, $MetadataBearer { name: "ServiceFault"; $fault: "server"; - TurkErrorCode?: string; Message?: string; + TurkErrorCode?: string; } export namespace ServiceFault { @@ -65,10 +65,10 @@ export namespace ServiceFault { export interface ApproveAssignmentRequest { /** *

                                                                        - * A flag indicating that an assignment should be approved even if it was previously rejected. Defaults to False. + * A message for the Worker, which the Worker can see in the Status section of the web site. *

                                                                        */ - OverrideRejection?: boolean; + RequesterFeedback?: string; /** *

                                                                        @@ -79,10 +79,10 @@ export interface ApproveAssignmentRequest { /** *

                                                                        - * A message for the Worker, which the Worker can see in the Status section of the web site. + * A flag indicating that an assignment should be approved even if it was previously rejected. Defaults to False. *

                                                                        */ - RequesterFeedback?: string; + OverrideRejection?: boolean; } export namespace ApproveAssignmentRequest { @@ -112,6 +112,11 @@ export enum AssignmentStatus { *

                                                                        */ export interface Assignment { + /** + *

                                                                        A unique identifier for the assignment.

                                                                        + */ + AssignmentId?: string; + /** *

                                                                        The date and time of the deadline for the assignment. This * value is derived from the deadline specification for the HIT and the @@ -120,43 +125,31 @@ export interface Assignment { Deadline?: Date; /** - *

                                                                        If results have been submitted, AutoApprovalTime is the date - * and time the results of the assignment results are considered - * Approved automatically if they have not already been explicitly - * approved or rejected by the Requester. This value is derived from the - * auto-approval delay specified by the Requester in the HIT. This value - * is omitted from the assignment if the Worker has not yet submitted - * results.

                                                                        - */ - AutoApprovalTime?: Date; - - /** - *

                                                                        The status of the assignment.

                                                                        - */ - AssignmentStatus?: AssignmentStatus | string; - - /** - *

                                                                        A unique identifier for the assignment.

                                                                        + *

                                                                        The ID of the Worker who accepted the HIT.

                                                                        */ - AssignmentId?: string; + WorkerId?: string; /** - *

                                                                        The ID of the HIT.

                                                                        + *

                                                                        If the Worker has submitted results and the Requester has + * rejected the results, RejectionTime is the date and time the + * Requester rejected the results.

                                                                        */ - HITId?: string; + RejectionTime?: Date; /** - *

                                                                        The date and time the Worker accepted the assignment.

                                                                        + *

                                                                        If the Worker has submitted results, SubmitTime is the date + * and time the assignment was submitted. This value is omitted from the + * assignment if the Worker has not yet submitted results.

                                                                        */ - AcceptTime?: Date; + SubmitTime?: Date; /** - *

                                                                        If the Worker has submitted results and the Requester has - * approved the results, ApprovalTime is the date and time the Requester - * approved the results. This value is omitted from the assignment if - * the Requester has not yet approved the results.

                                                                        + *

                                                                        The Worker's answers submitted for the HIT contained in a + * QuestionFormAnswers document, if the Worker provides an answer. If + * the Worker does not provide any answers, Answer may contain a + * QuestionFormAnswers document, or Answer may be empty.

                                                                        */ - ApprovalTime?: Date; + Answer?: string; /** *

                                                                        The feedback string included with the call to the @@ -166,31 +159,38 @@ export interface Assignment { RequesterFeedback?: string; /** - *

                                                                        If the Worker has submitted results, SubmitTime is the date - * and time the assignment was submitted. This value is omitted from the - * assignment if the Worker has not yet submitted results.

                                                                        + *

                                                                        The status of the assignment.

                                                                        */ - SubmitTime?: Date; + AssignmentStatus?: AssignmentStatus | string; /** - *

                                                                        The ID of the Worker who accepted the HIT.

                                                                        + *

                                                                        The ID of the HIT.

                                                                        */ - WorkerId?: string; + HITId?: string; /** - *

                                                                        The Worker's answers submitted for the HIT contained in a - * QuestionFormAnswers document, if the Worker provides an answer. If - * the Worker does not provide any answers, Answer may contain a - * QuestionFormAnswers document, or Answer may be empty.

                                                                        + *

                                                                        If results have been submitted, AutoApprovalTime is the date + * and time the results of the assignment results are considered + * Approved automatically if they have not already been explicitly + * approved or rejected by the Requester. This value is derived from the + * auto-approval delay specified by the Requester in the HIT. This value + * is omitted from the assignment if the Worker has not yet submitted + * results.

                                                                        */ - Answer?: string; + AutoApprovalTime?: Date; + + /** + *

                                                                        The date and time the Worker accepted the assignment.

                                                                        + */ + AcceptTime?: Date; /** *

                                                                        If the Worker has submitted results and the Requester has - * rejected the results, RejectionTime is the date and time the - * Requester rejected the results.

                                                                        + * approved the results, ApprovalTime is the date and time the Requester + * approved the results. This value is omitted from the assignment if + * the Requester has not yet approved the results.

                                                                        */ - RejectionTime?: Date; + ApprovalTime?: Date; } export namespace Assignment { @@ -201,14 +201,13 @@ export namespace Assignment { export interface AssociateQualificationWithWorkerRequest { /** - *

                                                                        The value of the Qualification to assign.

                                                                        - */ - IntegerValue?: number; - - /** - *

                                                                        The ID of the Qualification type to use for the assigned Qualification.

                                                                        + *

                                                                        + * Specifies whether to send a notification email message to the Worker + * saying that the qualification was assigned to the Worker. + * Note: this is true by default. + *

                                                                        */ - QualificationTypeId: string | undefined; + SendNotification?: boolean; /** *

                                                                        @@ -219,13 +218,14 @@ export interface AssociateQualificationWithWorkerRequest { WorkerId: string | undefined; /** - *

                                                                        - * Specifies whether to send a notification email message to the Worker - * saying that the qualification was assigned to the Worker. - * Note: this is true by default. - *

                                                                        + *

                                                                        The ID of the Qualification type to use for the assigned Qualification.

                                                                        */ - SendNotification?: boolean; + QualificationTypeId: string | undefined; + + /** + *

                                                                        The value of the Qualification to assign.

                                                                        + */ + IntegerValue?: number; } export namespace AssociateQualificationWithWorkerRequest { @@ -257,9 +257,9 @@ export interface BonusPayment { GrantTime?: Date; /** - *

                                                                        A string representing a currency amount.

                                                                        + *

                                                                        The ID of the assignment associated with this bonus payment.

                                                                        */ - BonusAmount?: string; + AssignmentId?: string; /** *

                                                                        The ID of the Worker to whom the bonus was paid.

                                                                        @@ -267,9 +267,9 @@ export interface BonusPayment { WorkerId?: string; /** - *

                                                                        The ID of the assignment associated with this bonus payment.

                                                                        + *

                                                                        A string representing a currency amount.

                                                                        */ - AssignmentId?: string; + BonusAmount?: string; } export namespace BonusPayment { @@ -369,16 +369,16 @@ export interface PolicyParameter { */ Key?: string; - /** - *

                                                                        The list of values of the Parameter

                                                                        - */ - Values?: string[]; - /** *

                                                                        List of ParameterMapEntry objects. *

                                                                        */ MapEntries?: ParameterMapEntry[]; + + /** + *

                                                                        The list of values of the Parameter

                                                                        + */ + Values?: string[]; } export namespace PolicyParameter { @@ -393,17 +393,17 @@ export namespace PolicyParameter { *

                                                                        */ export interface ReviewPolicy { - /** - *

                                                                        Name of the parameter from the Review policy.

                                                                        - */ - Parameters?: PolicyParameter[]; - /** *

                                                                        Name of a Review Policy: SimplePlurality/2011-09-01 or * ScoreMyKnownAnswers/2011-09-01 *

                                                                        */ PolicyName: string | undefined; + + /** + *

                                                                        Name of the parameter from the Review policy.

                                                                        + */ + Parameters?: PolicyParameter[]; } export namespace ReviewPolicy { @@ -421,17 +421,17 @@ export namespace ReviewPolicy { */ export interface HITLayoutParameter { /** - *

                                                                        The name of the parameter in the HITLayout. + *

                                                                        The value substituted for the parameter referenced in the + * HITLayout. *

                                                                        */ - Name: string | undefined; + Value: string | undefined; /** - *

                                                                        The value substituted for the parameter referenced in the - * HITLayout. + *

                                                                        The name of the parameter in the HITLayout. *

                                                                        */ - Value: string | undefined; + Name: string | undefined; } export namespace HITLayoutParameter { @@ -499,20 +499,33 @@ export interface QualificationRequirement { ActionsGuarded?: HITAccessActions | string; /** - *

                                                                        DEPRECATED: Use the ActionsGuarded field instead. - * If RequiredToPreview is true, the question data for the HIT will not be shown - * when a Worker whose Qualifications do not meet this requirement tries - * to preview the HIT. That is, a Worker's Qualifications must meet all - * of the requirements for which RequiredToPreview is true in order to - * preview the HIT. If a Worker meets all of the requirements where - * RequiredToPreview is true (or if there are no such requirements), but - * does not meet all of the requirements for the HIT, the Worker will be - * allowed to preview the HIT's question data, but will not be allowed - * to accept and complete the HIT. The default is false. This should not - * be used in combination with the ActionsGuarded field. + *

                                                                        The kind of comparison to make against a Qualification's + * value. You can compare a Qualification's value to an IntegerValue to + * see if it is LessThan, LessThanOrEqualTo, GreaterThan, + * GreaterThanOrEqualTo, EqualTo, or NotEqualTo the IntegerValue. You + * can compare it to a LocaleValue to see if it is EqualTo, or + * NotEqualTo the LocaleValue. You can check to see if the value is In + * or NotIn a set of IntegerValue + * or LocaleValue values. Lastly, a + * Qualification requirement can also + * test if a Qualification Exists or + * DoesNotExist in the user's profile, + * regardless of its value. *

                                                                        */ - RequiredToPreview?: boolean; + Comparator: Comparator | string | undefined; + + /** + *

                                                                        The integer value to compare against the Qualification's + * value. IntegerValue must not be present if Comparator is Exists or + * DoesNotExist. IntegerValue can only be used if the Qualification type + * has an integer value; it cannot be used with the Worker_Locale + * QualificationType ID. When performing a set comparison by using the + * In or the NotIn comparator, you can use up to 15 IntegerValue + * elements in a QualificationRequirement data structure. + *

                                                                        + */ + IntegerValues?: number[]; /** *

                                                                        The locale value to compare against the Qualification's @@ -529,38 +542,25 @@ export interface QualificationRequirement { LocaleValues?: Locale[]; /** - *

                                                                        The integer value to compare against the Qualification's - * value. IntegerValue must not be present if Comparator is Exists or - * DoesNotExist. IntegerValue can only be used if the Qualification type - * has an integer value; it cannot be used with the Worker_Locale - * QualificationType ID. When performing a set comparison by using the - * In or the NotIn comparator, you can use up to 15 IntegerValue - * elements in a QualificationRequirement data structure. + *

                                                                        DEPRECATED: Use the ActionsGuarded field instead. + * If RequiredToPreview is true, the question data for the HIT will not be shown + * when a Worker whose Qualifications do not meet this requirement tries + * to preview the HIT. That is, a Worker's Qualifications must meet all + * of the requirements for which RequiredToPreview is true in order to + * preview the HIT. If a Worker meets all of the requirements where + * RequiredToPreview is true (or if there are no such requirements), but + * does not meet all of the requirements for the HIT, the Worker will be + * allowed to preview the HIT's question data, but will not be allowed + * to accept and complete the HIT. The default is false. This should not + * be used in combination with the ActionsGuarded field. *

                                                                        */ - IntegerValues?: number[]; + RequiredToPreview?: boolean; /** *

                                                                        The ID of the Qualification type for the requirement.

                                                                        */ QualificationTypeId: string | undefined; - - /** - *

                                                                        The kind of comparison to make against a Qualification's - * value. You can compare a Qualification's value to an IntegerValue to - * see if it is LessThan, LessThanOrEqualTo, GreaterThan, - * GreaterThanOrEqualTo, EqualTo, or NotEqualTo the IntegerValue. You - * can compare it to a LocaleValue to see if it is EqualTo, or - * NotEqualTo the LocaleValue. You can check to see if the value is In - * or NotIn a set of IntegerValue - * or LocaleValue values. Lastly, a - * Qualification requirement can also - * test if a Qualification Exists or - * DoesNotExist in the user's profile, - * regardless of its value. - *

                                                                        - */ - Comparator: Comparator | string | undefined; } export namespace QualificationRequirement { @@ -572,43 +572,34 @@ export namespace QualificationRequirement { export interface CreateHITRequest { /** *

                                                                        - * The HITLayoutId allows you to use a pre-existing HIT design with placeholder values - * and create an additional HIT by providing those values as HITLayoutParameters. + * The data the person completing the HIT uses to produce the results. *

                                                                        *

                                                                        - * Constraints: Either a Question parameter or a HITLayoutId parameter must be provided. + * Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, + * or an HTMLQuestion data structure. The XML question data must not be larger than + * 64 kilobytes (65,535 bytes) in size, including whitespace. *

                                                                        + *

                                                                        Either a Question parameter or a HITLayoutId parameter must be provided.

                                                                        */ - HITLayoutId?: string; + Question?: string; /** *

                                                                        - * A general description of the HIT. A description includes detailed information about the kind of task - * the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded - * view of search results, and in the HIT and assignment screens. A good description gives the user enough - * information to evaluate the HIT before accepting it. + * The number of seconds after an assignment for the HIT has been submitted, + * after which the assignment is considered Approved automatically + * unless the Requester explicitly rejects it. *

                                                                        */ - Description: string | undefined; + AutoApprovalDelayInSeconds?: number; /** *

                                                                        - * The amount of money the Requester will pay a Worker for successfully completing the HIT. + * The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. + * On the Amazon Mechanical Turk web site, the HIT title appears in search results, + * and everywhere the HIT is mentioned. *

                                                                        */ - Reward: string | undefined; - - /** - *

                                                                        - * Conditions that a Worker's Qualifications must meet in order - * to accept the HIT. A HIT can have between zero and ten - * Qualification requirements. All requirements must be met in - * order for a Worker to accept the HIT. Additionally, other - * actions can be restricted using the ActionsGuarded - * field on each QualificationRequirement structure. - *

                                                                        - */ - QualificationRequirements?: QualificationRequirement[]; + Title: string | undefined; /** *

                                                                        @@ -621,23 +612,11 @@ export interface CreateHITRequest { /** *

                                                                        - * The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. - * If a Worker does not complete the assignment within the specified duration, - * the assignment is considered abandoned. If the HIT is still active - * (that is, its lifetime has not elapsed), the assignment becomes available - * for other users to find and accept. - *

                                                                        - */ - AssignmentDurationInSeconds: number | undefined; - - /** - *

                                                                        - * The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. - * On the Amazon Mechanical Turk web site, the HIT title appears in search results, - * and everywhere the HIT is mentioned. + * The Assignment-level Review Policy applies to the assignments under the HIT. + * You can specify for Mechanical Turk to take various actions based on the policy. *

                                                                        */ - Title: string | undefined; + AssignmentReviewPolicy?: ReviewPolicy; /** *

                                                                        @@ -661,41 +640,77 @@ export interface CreateHITRequest { /** *

                                                                        - * The number of seconds after an assignment for the HIT has been submitted, - * after which the assignment is considered Approved automatically - * unless the Requester explicitly rejects it. + * If the HITLayoutId is provided, any placeholder values must be filled in with values + * using the HITLayoutParameter structure. For more information, see HITLayout. *

                                                                        */ - AutoApprovalDelayInSeconds?: number; + HITLayoutParameters?: HITLayoutParameter[]; /** *

                                                                        - * The data the person completing the HIT uses to produce the results. + * The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. + * If a Worker does not complete the assignment within the specified duration, + * the assignment is considered abandoned. If the HIT is still active + * (that is, its lifetime has not elapsed), the assignment becomes available + * for other users to find and accept. + *

                                                                        + */ + AssignmentDurationInSeconds: number | undefined; + + /** + *

                                                                        + * A general description of the HIT. A description includes detailed information about the kind of task + * the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded + * view of search results, and in the HIT and assignment screens. A good description gives the user enough + * information to evaluate the HIT before accepting it. + *

                                                                        + */ + Description: string | undefined; + + /** + *

                                                                        + * The amount of money the Requester will pay a Worker for successfully completing the HIT. + *

                                                                        + */ + Reward: string | undefined; + + /** + *

                                                                        + * Conditions that a Worker's Qualifications must meet in order + * to accept the HIT. A HIT can have between zero and ten + * Qualification requirements. All requirements must be met in + * order for a Worker to accept the HIT. Additionally, other + * actions can be restricted using the ActionsGuarded + * field on each QualificationRequirement structure. + *

                                                                        + */ + QualificationRequirements?: QualificationRequirement[]; + + /** + *

                                                                        + * The HITLayoutId allows you to use a pre-existing HIT design with placeholder values + * and create an additional HIT by providing those values as HITLayoutParameters. *

                                                                        *

                                                                        - * Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, - * or an HTMLQuestion data structure. The XML question data must not be larger than - * 64 kilobytes (65,535 bytes) in size, including whitespace. + * Constraints: Either a Question parameter or a HITLayoutId parameter must be provided. *

                                                                        - *

                                                                        Either a Question parameter or a HITLayoutId parameter must be provided.

                                                                        */ - Question?: string; + HITLayoutId?: string; /** *

                                                                        - * The HIT-level Review Policy applies to the HIT. - * You can specify for Mechanical Turk to take various actions based on the policy. + * The number of times the HIT can be accepted and completed before the HIT becomes unavailable. *

                                                                        */ - HITReviewPolicy?: ReviewPolicy; + MaxAssignments?: number; /** *

                                                                        - * The Assignment-level Review Policy applies to the assignments under the HIT. - * You can specify for Mechanical Turk to take various actions based on the policy. + * One or more words or phrases that describe the HIT, separated by commas. + * These words are used in searches to find HITs. *

                                                                        */ - AssignmentReviewPolicy?: ReviewPolicy; + Keywords?: string; /** *

                                                                        @@ -718,26 +733,11 @@ export interface CreateHITRequest { /** *

                                                                        - * If the HITLayoutId is provided, any placeholder values must be filled in with values - * using the HITLayoutParameter structure. For more information, see HITLayout. - *

                                                                        - */ - HITLayoutParameters?: HITLayoutParameter[]; - - /** - *

                                                                        - * The number of times the HIT can be accepted and completed before the HIT becomes unavailable. - *

                                                                        - */ - MaxAssignments?: number; - - /** - *

                                                                        - * One or more words or phrases that describe the HIT, separated by commas. - * These words are used in searches to find HITs. + * The HIT-level Review Policy applies to the HIT. + * You can specify for Mechanical Turk to take various actions based on the policy. *

                                                                        */ - Keywords?: string; + HITReviewPolicy?: ReviewPolicy; } export namespace CreateHITRequest { @@ -768,98 +768,84 @@ export enum HITStatus { */ export interface HIT { /** - *

                                                                        The number of times the HIT can be accepted and completed - * before the HIT becomes unavailable. - *

                                                                        - */ - MaxAssignments?: number; - - /** - *

                                                                        The status of the HIT and its assignments. Valid Values are - * Assignable | Unassignable | Reviewable | Reviewing | Disposed. - *

                                                                        + *

                                                                        One or more words or phrases that describe the HIT, + * separated by commas. Search terms similar to the keywords of a HIT + * are more likely to have the HIT in the search results.

                                                                        */ - HITStatus?: HITStatus | string; + Keywords?: string; /** - *

                                                                        The ID of the HIT type of this HIT

                                                                        + *

                                                                        The number of assignments for this HIT that are available + * for Workers to accept.

                                                                        */ - HITTypeId?: string; + NumberOfAssignmentsAvailable?: number; /** - *

                                                                        The date and time the HIT was created.

                                                                        + *

                                                                        The ID of the HIT Group of this HIT.

                                                                        */ - CreationTime?: Date; + HITGroupId?: string; /** - *

                                                                        The length of time, in seconds, that a Worker has to - * complete the HIT after accepting it.

                                                                        + *

                                                                        An arbitrary data field the Requester who created the HIT + * can use. This field is visible only to the creator of the HIT.

                                                                        */ - AssignmentDurationInSeconds?: number; + RequesterAnnotation?: string; /** - *

                                                                        The date and time the HIT expires.

                                                                        + *

                                                                        A general description of the HIT.

                                                                        */ - Expiration?: Date; + Description?: string; /** - *

                                                                        A general description of the HIT.

                                                                        + *

                                                                        The title of the HIT.

                                                                        */ - Description?: string; + Title?: string; /** - *

                                                                        The ID of the HIT Group of this HIT.

                                                                        + *

                                                                        The number of assignments for this HIT that have been + * approved or rejected.

                                                                        */ - HITGroupId?: string; + NumberOfAssignmentsCompleted?: number; /** - *

                                                                        One or more words or phrases that describe the HIT, - * separated by commas. Search terms similar to the keywords of a HIT - * are more likely to have the HIT in the search results.

                                                                        + *

                                                                        The date and time the HIT expires.

                                                                        */ - Keywords?: string; + Expiration?: Date; /** - *

                                                                        An arbitrary data field the Requester who created the HIT - * can use. This field is visible only to the creator of the HIT.

                                                                        + *

                                                                        The ID of the HIT Layout of this HIT.

                                                                        */ - RequesterAnnotation?: string; + HITLayoutId?: string; /** - *

                                                                        The number of assignments for this HIT that have been - * approved or rejected.

                                                                        + *

                                                                        The number of times the HIT can be accepted and completed + * before the HIT becomes unavailable. + *

                                                                        */ - NumberOfAssignmentsCompleted?: number; + MaxAssignments?: number; /** - *

                                                                        The number of assignments for this HIT that are available - * for Workers to accept.

                                                                        + *

                                                                        The length of time, in seconds, that a Worker has to + * complete the HIT after accepting it.

                                                                        */ - NumberOfAssignmentsAvailable?: number; + AssignmentDurationInSeconds?: number; /** - *

                                                                        The number of assignments for this HIT that are being - * previewed or have been accepted by Workers, but have not yet been - * submitted, returned, or abandoned.

                                                                        + *

                                                                        The ID of the HIT type of this HIT

                                                                        */ - NumberOfAssignmentsPending?: number; + HITTypeId?: string; /** - *

                                                                        The ID of the HIT Layout of this HIT.

                                                                        + *

                                                                        Indicates the review status of the HIT. Valid Values are + * NotReviewed | MarkedForReview | ReviewedAppropriate | + * ReviewedInappropriate.

                                                                        */ - HITLayoutId?: string; + HITReviewStatus?: HITReviewStatus | string; /** - *

                                                                        - * Conditions that a Worker's Qualifications must meet in order - * to accept the HIT. A HIT can have between zero and ten - * Qualification requirements. All requirements must be met in - * order for a Worker to accept the HIT. Additionally, other - * actions can be restricted using the ActionsGuarded - * field on each QualificationRequirement structure. - *

                                                                        + *

                                                                        A unique identifier for the HIT.

                                                                        */ - QualificationRequirements?: QualificationRequirement[]; + HITId?: string; /** *

                                                                        The amount of time, in seconds, after the Worker submits an @@ -872,9 +858,11 @@ export interface HIT { AutoApprovalDelayInSeconds?: number; /** - *

                                                                        A string representing a currency amount.

                                                                        + *

                                                                        The status of the HIT and its assignments. Valid Values are + * Assignable | Unassignable | Reviewable | Reviewing | Disposed. + *

                                                                        */ - Reward?: string; + HITStatus?: HITStatus | string; /** *

                                                                        The data the Worker completing the HIT uses produce the @@ -884,21 +872,33 @@ export interface HIT { Question?: string; /** - *

                                                                        Indicates the review status of the HIT. Valid Values are - * NotReviewed | MarkedForReview | ReviewedAppropriate | - * ReviewedInappropriate.

                                                                        + *

                                                                        A string representing a currency amount.

                                                                        */ - HITReviewStatus?: HITReviewStatus | string; + Reward?: string; /** - *

                                                                        A unique identifier for the HIT.

                                                                        + *

                                                                        The number of assignments for this HIT that are being + * previewed or have been accepted by Workers, but have not yet been + * submitted, returned, or abandoned.

                                                                        */ - HITId?: string; + NumberOfAssignmentsPending?: number; /** - *

                                                                        The title of the HIT.

                                                                        + *

                                                                        + * Conditions that a Worker's Qualifications must meet in order + * to accept the HIT. A HIT can have between zero and ten + * Qualification requirements. All requirements must be met in + * order for a Worker to accept the HIT. Additionally, other + * actions can be restricted using the ActionsGuarded + * field on each QualificationRequirement structure. + *

                                                                        */ - Title?: string; + QualificationRequirements?: QualificationRequirement[]; + + /** + *

                                                                        The date and time the HIT was created.

                                                                        + */ + CreationTime?: Date; } export namespace HIT { @@ -934,6 +934,13 @@ export interface CreateHITTypeRequest { */ Description: string | undefined; + /** + *

                                                                        + * The amount of money the Requester will pay a Worker for successfully completing the HIT. + *

                                                                        + */ + Reward: string | undefined; + /** *

                                                                        * Conditions that a Worker's Qualifications must meet in order @@ -948,22 +955,20 @@ export interface CreateHITTypeRequest { /** *

                                                                        - * The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. - * If a Worker does not complete the assignment within the specified duration, - * the assignment is considered abandoned. If the HIT is still active - * (that is, its lifetime has not elapsed), the assignment becomes available - * for other users to find and accept. + * One or more words or phrases that describe the HIT, separated by commas. + * These words are used in searches to find HITs. *

                                                                        */ - AssignmentDurationInSeconds: number | undefined; + Keywords?: string; /** *

                                                                        - * One or more words or phrases that describe the HIT, separated by commas. - * These words are used in searches to find HITs. + * The number of seconds after an assignment for the HIT has been submitted, + * after which the assignment is considered Approved automatically + * unless the Requester explicitly rejects it. *

                                                                        */ - Keywords?: string; + AutoApprovalDelayInSeconds?: number; /** *

                                                                        @@ -976,19 +981,14 @@ export interface CreateHITTypeRequest { /** *

                                                                        - * The amount of money the Requester will pay a Worker for successfully completing the HIT. - *

                                                                        - */ - Reward: string | undefined; - - /** - *

                                                                        - * The number of seconds after an assignment for the HIT has been submitted, - * after which the assignment is considered Approved automatically - * unless the Requester explicitly rejects it. + * The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. + * If a Worker does not complete the assignment within the specified duration, + * the assignment is considered abandoned. If the HIT is still active + * (that is, its lifetime has not elapsed), the assignment becomes available + * for other users to find and accept. *

                                                                        */ - AutoApprovalDelayInSeconds?: number; + AssignmentDurationInSeconds: number | undefined; } export namespace CreateHITTypeRequest { @@ -1013,26 +1013,32 @@ export namespace CreateHITTypeResponse { export interface CreateHITWithHITTypeRequest { /** *

                                                                        - * The Assignment-level Review Policy applies to the assignments under the HIT. - * You can specify for Mechanical Turk to take various actions based on the policy. + * The number of times the HIT can be accepted and completed before the HIT becomes unavailable. *

                                                                        */ - AssignmentReviewPolicy?: ReviewPolicy; + MaxAssignments?: number; /** *

                                                                        - * If the HITLayoutId is provided, any placeholder values must be filled in with values - * using the HITLayoutParameter structure. For more information, see HITLayout. + * An amount of time, in seconds, after which the HIT is no longer available for users to accept. + * After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, + * even if not all of the assignments for the HIT have been accepted. *

                                                                        */ - HITLayoutParameters?: HITLayoutParameter[]; + LifetimeInSeconds: number | undefined; + + /** + *

                                                                        The HIT type ID you want to create this HIT with.

                                                                        + */ + HITTypeId: string | undefined; /** *

                                                                        - * The number of times the HIT can be accepted and completed before the HIT becomes unavailable. + * If the HITLayoutId is provided, any placeholder values must be filled in with values + * using the HITLayoutParameter structure. For more information, see HITLayout. *

                                                                        */ - MaxAssignments?: number; + HITLayoutParameters?: HITLayoutParameter[]; /** *

                                                                        @@ -1055,9 +1061,12 @@ export interface CreateHITWithHITTypeRequest { UniqueRequestToken?: string; /** - *

                                                                        The HIT type ID you want to create this HIT with.

                                                                        + *

                                                                        + * The Assignment-level Review Policy applies to the assignments under the HIT. + * You can specify for Mechanical Turk to take various actions based on the policy. + *

                                                                        */ - HITTypeId: string | undefined; + AssignmentReviewPolicy?: ReviewPolicy; /** *

                                                                        @@ -1077,19 +1086,14 @@ export interface CreateHITWithHITTypeRequest { *

                                                                        */ RequesterAnnotation?: string; - - /** - *

                                                                        - * The data the person completing the HIT uses to produce the results. - *

                                                                        - *

                                                                        - * Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, - * or an HTMLQuestion data structure. The XML question data must not be larger than - * 64 kilobytes (65,535 bytes) in size, including whitespace. + + /** + *

                                                                        + * The HIT-level Review Policy applies to the HIT. + * You can specify for Mechanical Turk to take various actions based on the policy. *

                                                                        - *

                                                                        Either a Question parameter or a HITLayoutId parameter must be provided.

                                                                        */ - Question?: string; + HITReviewPolicy?: ReviewPolicy; /** *

                                                                        @@ -1104,20 +1108,16 @@ export interface CreateHITWithHITTypeRequest { /** *

                                                                        - * The HIT-level Review Policy applies to the HIT. - * You can specify for Mechanical Turk to take various actions based on the policy. + * The data the person completing the HIT uses to produce the results. *

                                                                        - */ - HITReviewPolicy?: ReviewPolicy; - - /** - *

                                                                        - * An amount of time, in seconds, after which the HIT is no longer available for users to accept. - * After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, - * even if not all of the assignments for the HIT have been accepted. + *

                                                                        + * Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, + * or an HTMLQuestion data structure. The XML question data must not be larger than + * 64 kilobytes (65,535 bytes) in size, including whitespace. *

                                                                        + *

                                                                        Either a Question parameter or a HITLayoutId parameter must be provided.

                                                                        */ - LifetimeInSeconds: number | undefined; + Question?: string; } export namespace CreateHITWithHITTypeRequest { @@ -1148,6 +1148,22 @@ export enum QualificationTypeStatus { } export interface CreateQualificationTypeRequest { + /** + *

                                                                        + * The questions for the Qualification test a Worker must answer + * correctly to obtain a Qualification of this type. If this parameter + * is specified, + * TestDurationInSeconds + * must also be specified. + *

                                                                        + *

                                                                        Constraints: Must not be longer than 65535 bytes. Must be a + * QuestionForm data structure. This parameter cannot be specified if + * AutoGranted is true.

                                                                        + *

                                                                        Constraints: None. If not specified, the Worker may request + * the Qualification without answering any questions.

                                                                        + */ + Test?: string; + /** *

                                                                        A long description for the Qualification type. On the Amazon * Mechanical Turk website, the long description is displayed when a @@ -1165,26 +1181,28 @@ export interface CreateQualificationTypeRequest { AnswerKey?: string; /** - *

                                                                        The initial status of the Qualification type.

                                                                        - *

                                                                        Constraints: Valid values are: Active | Inactive

                                                                        + *

                                                                        The name you give to the Qualification type. The type name + * is used to represent the Qualification to Workers, and to find the + * type using a Qualification type search. It must be unique across all + * of your Qualification types.

                                                                        */ - QualificationTypeStatus: QualificationTypeStatus | string | undefined; + Name: string | undefined; /** - *

                                                                        - * The questions for the Qualification test a Worker must answer - * correctly to obtain a Qualification of this type. If this parameter - * is specified, - * TestDurationInSeconds - * must also be specified. - *

                                                                        - *

                                                                        Constraints: Must not be longer than 65535 bytes. Must be a - * QuestionForm data structure. This parameter cannot be specified if - * AutoGranted is true.

                                                                        - *

                                                                        Constraints: None. If not specified, the Worker may request - * the Qualification without answering any questions.

                                                                        + *

                                                                        Specifies whether requests for the Qualification type are + * granted immediately, without prompting the Worker with a + * Qualification test.

                                                                        + *

                                                                        Constraints: If the Test parameter is specified, this + * parameter cannot be true.

                                                                        */ - Test?: string; + AutoGranted?: boolean; + + /** + *

                                                                        One or more words or phrases that describe the Qualification + * type, separated by commas. The keywords of a type make the type + * easier to find during a search.

                                                                        + */ + Keywords?: string; /** *

                                                                        The number of seconds the Worker has to complete the @@ -1193,6 +1211,12 @@ export interface CreateQualificationTypeRequest { */ TestDurationInSeconds?: number; + /** + *

                                                                        The initial status of the Qualification type.

                                                                        + *

                                                                        Constraints: Valid values are: Active | Inactive

                                                                        + */ + QualificationTypeStatus: QualificationTypeStatus | string | undefined; + /** *

                                                                        The Qualification value to use for automatically granted * Qualifications. This parameter is used only if the AutoGranted @@ -1213,30 +1237,6 @@ export interface CreateQualificationTypeRequest { * Qualification type with retries disabled.

                                                                        */ RetryDelayInSeconds?: number; - - /** - *

                                                                        One or more words or phrases that describe the Qualification - * type, separated by commas. The keywords of a type make the type - * easier to find during a search.

                                                                        - */ - Keywords?: string; - - /** - *

                                                                        The name you give to the Qualification type. The type name - * is used to represent the Qualification to Workers, and to find the - * type using a Qualification type search. It must be unique across all - * of your Qualification types.

                                                                        - */ - Name: string | undefined; - - /** - *

                                                                        Specifies whether requests for the Qualification type are - * granted immediately, without prompting the Worker with a - * Qualification test.

                                                                        - *

                                                                        Constraints: If the Test parameter is specified, this - * parameter cannot be true.

                                                                        - */ - AutoGranted?: boolean; } export namespace CreateQualificationTypeRequest { @@ -1255,34 +1255,40 @@ export namespace CreateQualificationTypeRequest { */ export interface QualificationType { /** - *

                                                                        The questions for a Qualification test associated with this - * Qualification type that a user can take to obtain a Qualification of - * this type. This parameter must be specified if AnswerKey is present. - * A Qualification type cannot have both a specified Test parameter and - * an AutoGranted value of true. + *

                                                                        Specifies whether the Qualification type is one that a user + * can request through the Amazon Mechanical Turk web site, such as by + * taking a Qualification test. This value is False for Qualifications + * assigned automatically by the system. Valid values are True | False. *

                                                                        */ - Test?: string; + IsRequestable?: boolean; /** - *

                                                                        The amount of time, in seconds, Workers must wait after - * taking the Qualification test before they can take it again. Workers - * can take a Qualification test multiple times if they were not granted - * the Qualification from a previous attempt, or if the test offers a - * gradient score and they want a better score. If not specified, - * retries are disabled and Workers can request a Qualification only - * once. + *

                                                                        The date and time the Qualification type was created. *

                                                                        */ - RetryDelayInSeconds?: number; + CreationTime?: Date; /** - *

                                                                        The name of the Qualification type. The type name is used to - * identify the type, and to find the type using a Qualification type - * search. + *

                                                                        Specifies that requests for the Qualification type are + * granted immediately, without prompting the Worker with a + * Qualification test. Valid values are True | False.

                                                                        + */ + AutoGranted?: boolean; + + /** + *

                                                                        A unique identifier for the Qualification type. A + * Qualification type is given a Qualification type ID when you call the + * CreateQualificationType operation. *

                                                                        */ - Name?: string; + QualificationTypeId?: string; + + /** + *

                                                                        The answers to the Qualification test specified in the Test + * parameter.

                                                                        + */ + AnswerKey?: string; /** *

                                                                        One or more words or phrases that describe theQualification @@ -1293,25 +1299,20 @@ export interface QualificationType { Keywords?: string; /** - *

                                                                        A unique identifier for the Qualification type. A - * Qualification type is given a Qualification type ID when you call the - * CreateQualificationType operation. + *

                                                                        The Qualification integer value to use for automatically + * granted Qualifications, if AutoGranted is true. This is 1 by default. *

                                                                        */ - QualificationTypeId?: string; - - /** - *

                                                                        Specifies that requests for the Qualification type are - * granted immediately, without prompting the Worker with a - * Qualification test. Valid values are True | False.

                                                                        - */ - AutoGranted?: boolean; + AutoGrantedValue?: number; /** - *

                                                                        The date and time the Qualification type was created. + *

                                                                        The status of the Qualification type. A Qualification type's + * status determines if users can apply to receive a Qualification of + * this type, and if HITs can be created with requirements based on this + * type. Valid values are Active | Inactive. *

                                                                        */ - CreationTime?: Date; + QualificationTypeStatus?: QualificationTypeStatus | string; /** *

                                                                        The amount of time, in seconds, given to a Worker to @@ -1322,41 +1323,40 @@ export interface QualificationType { TestDurationInSeconds?: number; /** - *

                                                                        A long description for the Qualification type. + *

                                                                        The questions for a Qualification test associated with this + * Qualification type that a user can take to obtain a Qualification of + * this type. This parameter must be specified if AnswerKey is present. + * A Qualification type cannot have both a specified Test parameter and + * an AutoGranted value of true. *

                                                                        */ - Description?: string; + Test?: string; /** - *

                                                                        The Qualification integer value to use for automatically - * granted Qualifications, if AutoGranted is true. This is 1 by default. + *

                                                                        The name of the Qualification type. The type name is used to + * identify the type, and to find the type using a Qualification type + * search. *

                                                                        */ - AutoGrantedValue?: number; + Name?: string; /** - *

                                                                        The status of the Qualification type. A Qualification type's - * status determines if users can apply to receive a Qualification of - * this type, and if HITs can be created with requirements based on this - * type. Valid values are Active | Inactive. + *

                                                                        The amount of time, in seconds, Workers must wait after + * taking the Qualification test before they can take it again. Workers + * can take a Qualification test multiple times if they were not granted + * the Qualification from a previous attempt, or if the test offers a + * gradient score and they want a better score. If not specified, + * retries are disabled and Workers can request a Qualification only + * once. *

                                                                        */ - QualificationTypeStatus?: QualificationTypeStatus | string; + RetryDelayInSeconds?: number; /** - *

                                                                        Specifies whether the Qualification type is one that a user - * can request through the Amazon Mechanical Turk web site, such as by - * taking a Qualification test. This value is False for Qualifications - * assigned automatically by the system. Valid values are True | False. + *

                                                                        A long description for the Qualification type. *

                                                                        */ - IsRequestable?: boolean; - - /** - *

                                                                        The answers to the Qualification test specified in the Test - * parameter.

                                                                        - */ - AnswerKey?: string; + Description?: string; } export namespace QualificationType { @@ -1381,14 +1381,14 @@ export namespace CreateQualificationTypeResponse { export interface CreateWorkerBlockRequest { /** - *

                                                                        A message explaining the reason for blocking the Worker. This parameter enables you to keep track of your Workers. The Worker does not see this message.

                                                                        + *

                                                                        The ID of the Worker to block.

                                                                        */ - Reason: string | undefined; + WorkerId: string | undefined; /** - *

                                                                        The ID of the Worker to block.

                                                                        + *

                                                                        A message explaining the reason for blocking the Worker. This parameter enables you to keep track of your Workers. The Worker does not see this message.

                                                                        */ - WorkerId: string | undefined; + Reason: string | undefined; } export namespace CreateWorkerBlockRequest { @@ -1449,14 +1449,14 @@ export namespace DeleteQualificationTypeResponse { export interface DeleteWorkerBlockRequest { /** - *

                                                                        A message that explains the reason for unblocking the Worker. The Worker does not see this message.

                                                                        + *

                                                                        The ID of the Worker to unblock.

                                                                        */ - Reason?: string; + WorkerId: string | undefined; /** - *

                                                                        The ID of the Worker to unblock.

                                                                        + *

                                                                        A message that explains the reason for unblocking the Worker. The Worker does not see this message.

                                                                        */ - WorkerId: string | undefined; + Reason?: string; } export namespace DeleteWorkerBlockRequest { @@ -1474,11 +1474,6 @@ export namespace DeleteWorkerBlockResponse { } export interface DisassociateQualificationFromWorkerRequest { - /** - *

                                                                        The ID of the Qualification type of the Qualification to be revoked.

                                                                        - */ - QualificationTypeId: string | undefined; - /** *

                                                                        The ID of the Worker who possesses the Qualification to be revoked.

                                                                        */ @@ -1488,6 +1483,11 @@ export interface DisassociateQualificationFromWorkerRequest { *

                                                                        A text message that explains why the Qualification was revoked. The user who had the Qualification sees this message.

                                                                        */ Reason?: string; + + /** + *

                                                                        The ID of the Qualification type of the Qualification to be revoked.

                                                                        + */ + QualificationTypeId: string | undefined; } export namespace DisassociateQualificationFromWorkerRequest { @@ -1559,18 +1559,18 @@ export namespace GetAssignmentRequest { } export interface GetAssignmentResponse { - /** - *

                                                                        The HIT associated with this assignment. The response - * includes one HIT element.

                                                                        - */ - HIT?: HIT; - /** *

                                                                        The assignment. The response includes one Assignment * element. *

                                                                        */ Assignment?: Assignment; + + /** + *

                                                                        The HIT associated with this assignment. The response + * includes one HIT element.

                                                                        + */ + HIT?: HIT; } export namespace GetAssignmentResponse { @@ -1642,14 +1642,14 @@ export namespace GetHITResponse { export interface GetQualificationScoreRequest { /** - *

                                                                        The ID of the Worker whose Qualification is being updated.

                                                                        + *

                                                                        The ID of the QualificationType.

                                                                        */ - WorkerId: string | undefined; + QualificationTypeId: string | undefined; /** - *

                                                                        The ID of the QualificationType.

                                                                        + *

                                                                        The ID of the Worker whose Qualification is being updated.

                                                                        */ - QualificationTypeId: string | undefined; + WorkerId: string | undefined; } export namespace GetQualificationScoreRequest { @@ -1669,28 +1669,11 @@ export enum QualificationStatus { * (score).

                                                                        */ export interface Qualification { - /** - *

                                                                        The value (score) of the Qualification, if the Qualification - * has an integer value.

                                                                        - */ - IntegerValue?: number; - /** *

                                                                        The Locale data structure represents a geographical region or location.

                                                                        */ LocaleValue?: Locale; - /** - *

                                                                        The ID of the Worker who possesses the Qualification. - *

                                                                        - */ - WorkerId?: string; - - /** - *

                                                                        The ID of the Qualification type for the Qualification.

                                                                        - */ - QualificationTypeId?: string; - /** *

                                                                        The date and time the Qualification was granted to the * Worker. If the Worker's Qualification was revoked, and then @@ -1700,11 +1683,28 @@ export interface Qualification { */ GrantTime?: Date; + /** + *

                                                                        The value (score) of the Qualification, if the Qualification + * has an integer value.

                                                                        + */ + IntegerValue?: number; + /** *

                                                                        The status of the Qualification. Valid values are Granted | * Revoked.

                                                                        */ Status?: QualificationStatus | string; + + /** + *

                                                                        The ID of the Qualification type for the Qualification.

                                                                        + */ + QualificationTypeId?: string; + + /** + *

                                                                        The ID of the Worker who possesses the Qualification. + *

                                                                        + */ + WorkerId?: string; } export namespace Qualification { @@ -1764,14 +1764,14 @@ export interface ListAssignmentsForHITRequest { AssignmentStatuses?: (AssignmentStatus | string)[]; /** - *

                                                                        The ID of the HIT.

                                                                        + *

                                                                        Pagination token

                                                                        */ - HITId: string | undefined; + NextToken?: string; /** - *

                                                                        Pagination token

                                                                        + *

                                                                        The ID of the HIT.

                                                                        */ - NextToken?: string; + HITId: string | undefined; } export namespace ListAssignmentsForHITRequest { @@ -1815,14 +1815,6 @@ export interface ListBonusPaymentsRequest { */ NextToken?: string; - /** - *

                                                                        The ID of the HIT associated with the bonus payments to - * retrieve. If not specified, all bonus payments for all assignments - * for the given HIT are returned. Either the HITId parameter or the - * AssignmentId parameter must be specified

                                                                        - */ - HITId?: string; - MaxResults?: number; /** *

                                                                        The ID of the assignment associated with the bonus payments @@ -1831,6 +1823,14 @@ export interface ListBonusPaymentsRequest { * AssignmentId parameter must be specified

                                                                        */ AssignmentId?: string; + + /** + *

                                                                        The ID of the HIT associated with the bonus payments to + * retrieve. If not specified, all bonus payments for all assignments + * for the given HIT are returned. Either the HITId parameter or the + * AssignmentId parameter must be specified

                                                                        + */ + HITId?: string; } export namespace ListBonusPaymentsRequest { @@ -1841,11 +1841,12 @@ export namespace ListBonusPaymentsRequest { export interface ListBonusPaymentsResponse { /** - *

                                                                        A successful request to the ListBonusPayments operation - * returns a list of BonusPayment objects. + *

                                                                        If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk + * returns a pagination token in the response. You can use this pagination token + * to retrieve the next set of results. *

                                                                        */ - BonusPayments?: BonusPayment[]; + NextToken?: string; /** *

                                                                        The number of bonus payments on this page in the filtered @@ -1856,12 +1857,11 @@ export interface ListBonusPaymentsResponse { NumResults?: number; /** - *

                                                                        If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk - * returns a pagination token in the response. You can use this pagination token - * to retrieve the next set of results. + *

                                                                        A successful request to the ListBonusPayments operation + * returns a list of BonusPayment objects. *

                                                                        */ - NextToken?: string; + BonusPayments?: BonusPayment[]; } export namespace ListBonusPaymentsResponse { @@ -1885,12 +1885,6 @@ export namespace ListHITsRequest { } export interface ListHITsResponse { - /** - *

                                                                        The number of HITs on this page in the filtered results list, - * equivalent to the number of HITs being returned by this call.

                                                                        - */ - NumResults?: number; - /** *

                                                                        If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk * returns a pagination token in the response. You can use this pagination token @@ -1899,6 +1893,12 @@ export interface ListHITsResponse { */ NextToken?: string; + /** + *

                                                                        The number of HITs on this page in the filtered results list, + * equivalent to the number of HITs being returned by this call.

                                                                        + */ + NumResults?: number; + /** *

                                                                        The list of HIT elements returned by the query.

                                                                        */ @@ -1939,12 +1939,6 @@ export namespace ListHITsForQualificationTypeRequest { } export interface ListHITsForQualificationTypeResponse { - /** - *

                                                                        The number of HITs on this page in the filtered results - * list, equivalent to the number of HITs being returned by this call.

                                                                        - */ - NumResults?: number; - /** *

                                                                        If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk * returns a pagination token in the response. You can use this pagination token @@ -1953,6 +1947,12 @@ export interface ListHITsForQualificationTypeResponse { */ NextToken?: string; + /** + *

                                                                        The number of HITs on this page in the filtered results + * list, equivalent to the number of HITs being returned by this call.

                                                                        + */ + NumResults?: number; + /** *

                                                                        The list of HIT elements returned by the query.

                                                                        */ @@ -1966,11 +1966,6 @@ export namespace ListHITsForQualificationTypeResponse { } export interface ListQualificationRequestsRequest { - /** - *

                                                                        The ID of the QualificationType.

                                                                        - */ - QualificationTypeId?: string; - /** *

                                                                        If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk * returns a pagination token in the response. You can use this pagination token @@ -1979,6 +1974,11 @@ export interface ListQualificationRequestsRequest { */ NextToken?: string; + /** + *

                                                                        The ID of the QualificationType.

                                                                        + */ + QualificationTypeId?: string; + /** *

                                                                        The maximum number of results to return in a single call. *

                                                                        @@ -1998,25 +1998,28 @@ export namespace ListQualificationRequestsRequest { *

                                                                        */ export interface QualificationRequest { - /** - *

                                                                        The ID of the Qualification type the Worker is requesting, - * as returned by the CreateQualificationType operation. - *

                                                                        - */ - QualificationTypeId?: string; - /** *

                                                                        The ID of the Worker requesting the Qualification.

                                                                        */ WorkerId?: string; /** - *

                                                                        The ID of the Qualification request, a unique identifier - * generated when the request was submitted. - * + *

                                                                        The Worker's answers for the Qualification type's test + * contained in a QuestionFormAnswers document, if the type has a test + * and the Worker has submitted answers. If the Worker does not provide + * any answers, Answer may be empty. *

                                                                        */ - QualificationRequestId?: string; + Answer?: string; + + /** + *

                                                                        The contents of the Qualification test that was presented to + * the Worker, if the type has a test and the Worker has submitted + * answers. This value is identical to the QuestionForm associated with + * the Qualification type at the time the Worker requests the + * Qualification.

                                                                        + */ + Test?: string; /** *

                                                                        The date and time the Qualification request had a status of @@ -2028,22 +2031,19 @@ export interface QualificationRequest { SubmitTime?: Date; /** - *

                                                                        The Worker's answers for the Qualification type's test - * contained in a QuestionFormAnswers document, if the type has a test - * and the Worker has submitted answers. If the Worker does not provide - * any answers, Answer may be empty. + *

                                                                        The ID of the Qualification request, a unique identifier + * generated when the request was submitted. + * *

                                                                        */ - Answer?: string; + QualificationRequestId?: string; /** - *

                                                                        The contents of the Qualification test that was presented to - * the Worker, if the type has a test and the Worker has submitted - * answers. This value is identical to the QuestionForm associated with - * the Qualification type at the time the Worker requests the - * Qualification.

                                                                        + *

                                                                        The ID of the Qualification type the Worker is requesting, + * as returned by the CreateQualificationType operation. + *

                                                                        */ - Test?: string; + QualificationTypeId?: string; } export namespace QualificationRequest { @@ -2059,14 +2059,6 @@ export interface ListQualificationRequestsResponse { */ NumResults?: number; - /** - *

                                                                        The Qualification request. The response includes one - * QualificationRequest element - * for each Qualification request returned - * by the query.

                                                                        - */ - QualificationRequests?: QualificationRequest[]; - /** *

                                                                        If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk * returns a pagination token in the response. You can use this pagination token @@ -2074,6 +2066,14 @@ export interface ListQualificationRequestsResponse { *

                                                                        */ NextToken?: string; + + /** + *

                                                                        The Qualification request. The response includes one + * QualificationRequest element + * for each Qualification request returned + * by the query.

                                                                        + */ + QualificationRequests?: QualificationRequest[]; } export namespace ListQualificationRequestsResponse { @@ -2084,16 +2084,19 @@ export namespace ListQualificationRequestsResponse { export interface ListQualificationTypesRequest { /** - *

                                                                        Specifies that only Qualification types that a user can - * request through the Amazon Mechanical Turk web site, such as by - * taking a Qualification test, are returned as results of the search. - * Some Qualification types, such as those assigned automatically by the - * system, cannot be requested directly by users. If false, all - * Qualification types, including those managed by the system, are - * considered. Valid values are True | False. + *

                                                                        A text query against all of the searchable attributes of + * Qualification types. *

                                                                        */ - MustBeRequestable: boolean | undefined; + Query?: string; + + /** + *

                                                                        Specifies that only Qualification types that the Requester + * created are returned. If false, the operation returns all + * Qualification types. + *

                                                                        + */ + MustBeOwnedByCaller?: boolean; /** *

                                                                        The maximum number of results to return in a single call. @@ -2110,19 +2113,16 @@ export interface ListQualificationTypesRequest { NextToken?: string; /** - *

                                                                        Specifies that only Qualification types that the Requester - * created are returned. If false, the operation returns all - * Qualification types. - *

                                                                        - */ - MustBeOwnedByCaller?: boolean; - - /** - *

                                                                        A text query against all of the searchable attributes of - * Qualification types. + *

                                                                        Specifies that only Qualification types that a user can + * request through the Amazon Mechanical Turk web site, such as by + * taking a Qualification test, are returned as results of the search. + * Some Qualification types, such as those assigned automatically by the + * system, cannot be requested directly by users. If false, all + * Qualification types, including those managed by the system, are + * considered. Valid values are True | False. *

                                                                        */ - Query?: string; + MustBeRequestable: boolean | undefined; } export namespace ListQualificationTypesRequest { @@ -2140,13 +2140,6 @@ export interface ListQualificationTypesResponse { */ NextToken?: string; - /** - *

                                                                        The list of QualificationType elements returned by the - * query. - *

                                                                        - */ - QualificationTypes?: QualificationType[]; - /** *

                                                                        The number of Qualification types on this page in the * filtered results list, equivalent to the number of types this @@ -2154,6 +2147,13 @@ export interface ListQualificationTypesResponse { *

                                                                        */ NumResults?: number; + + /** + *

                                                                        The list of QualificationType elements returned by the + * query. + *

                                                                        + */ + QualificationTypes?: QualificationType[]; } export namespace ListQualificationTypesResponse { @@ -2168,14 +2168,6 @@ export enum ReviewableHITStatus { } export interface ListReviewableHITsRequest { - /** - *

                                                                        - * Can be either Reviewable or Reviewing. - * Reviewable is the default value. - *

                                                                        - */ - Status?: ReviewableHITStatus | string; - /** *

                                                                        * The ID of the HIT type of the HITs to consider for the query. @@ -2186,15 +2178,23 @@ export interface ListReviewableHITsRequest { /** *

                                                                        - * Limit the number of results returned. + * Can be either Reviewable or Reviewing. + * Reviewable is the default value. *

                                                                        */ - MaxResults?: number; + Status?: ReviewableHITStatus | string; /** *

                                                                        Pagination Token

                                                                        */ NextToken?: string; + + /** + *

                                                                        + * Limit the number of results returned. + *

                                                                        + */ + MaxResults?: number; } export namespace ListReviewableHITsRequest { @@ -2210,19 +2210,19 @@ export interface ListReviewableHITsResponse { HITs?: HIT[]; /** - *

                                                                        If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk - * returns a pagination token in the response. You can use this pagination token - * to retrieve the next set of results. + *

                                                                        The number of HITs on this page in the filtered results + * list, equivalent to the number of HITs being returned by this call. *

                                                                        */ - NextToken?: string; + NumResults?: number; /** - *

                                                                        The number of HITs on this page in the filtered results - * list, equivalent to the number of HITs being returned by this call. + *

                                                                        If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk + * returns a pagination token in the response. You can use this pagination token + * to retrieve the next set of results. *

                                                                        */ - NumResults?: number; + NextToken?: string; } export namespace ListReviewableHITsResponse { @@ -2236,16 +2236,24 @@ export enum ReviewPolicyLevel { HIT = "HIT", } -export interface ListReviewPolicyResultsForHITRequest { +export interface ListReviewPolicyResultsForHITRequest { + /** + *

                                                                        + * Specify if the operation should retrieve a list of the actions taken executing + * the Review Policies and their outcomes. + *

                                                                        + */ + RetrieveActions?: boolean; + /** *

                                                                        Limit the number of results returned.

                                                                        */ MaxResults?: number; /** - *

                                                                        Pagination token

                                                                        + *

                                                                        The unique identifier of the HIT to retrieve review results for.

                                                                        */ - NextToken?: string; + HITId: string | undefined; /** *

                                                                        @@ -2264,17 +2272,9 @@ export interface ListReviewPolicyResultsForHITRequest { PolicyLevels?: (ReviewPolicyLevel | string)[]; /** - *

                                                                        The unique identifier of the HIT to retrieve review results for.

                                                                        - */ - HITId: string | undefined; - - /** - *

                                                                        - * Specify if the operation should retrieve a list of the actions taken executing - * the Review Policies and their outcomes. - *

                                                                        + *

                                                                        Pagination token

                                                                        */ - RetrieveActions?: boolean; + NextToken?: string; } export namespace ListReviewPolicyResultsForHITRequest { @@ -2299,14 +2299,14 @@ export enum ReviewActionStatus { */ export interface ReviewActionDetail { /** - *

                                                                        The unique identifier for the action.

                                                                        + *

                                                                        The date when the action was completed.

                                                                        */ - ActionId?: string; + CompleteTime?: Date; /** - *

                                                                        The date when the action was completed.

                                                                        + *

                                                                        A description of the outcome of the review.

                                                                        */ - CompleteTime?: Date; + Result?: string; /** *

                                                                        The nature of the action itself. The Review Policy is @@ -2316,31 +2316,31 @@ export interface ReviewActionDetail { ActionName?: string; /** - *

                                                                        A description of the outcome of the review.

                                                                        + *

                                                                        The current disposition of the action: INTENDED, SUCCEEDED, + * FAILED, or CANCELLED. + *

                                                                        */ - Result?: string; + Status?: ReviewActionStatus | string; /** - *

                                                                        The specific HITId or AssignmentID targeted by the action.

                                                                        + *

                                                                        Present only when the Results have a FAILED Status.

                                                                        */ - TargetId?: string; + ErrorCode?: string; /** - *

                                                                        The type of object in TargetId.

                                                                        + *

                                                                        The unique identifier for the action.

                                                                        */ - TargetType?: string; + ActionId?: string; /** - *

                                                                        Present only when the Results have a FAILED Status.

                                                                        + *

                                                                        The specific HITId or AssignmentID targeted by the action.

                                                                        */ - ErrorCode?: string; + TargetId?: string; /** - *

                                                                        The current disposition of the action: INTENDED, SUCCEEDED, - * FAILED, or CANCELLED. - *

                                                                        + *

                                                                        The type of object in TargetId.

                                                                        */ - Status?: ReviewActionStatus | string; + TargetType?: string; } export namespace ReviewActionDetail { @@ -2367,6 +2367,18 @@ export interface ReviewResultDetail { */ QuestionId?: string; + /** + *

                                                                        The values of Key provided by the review policies you have + * selected. + *

                                                                        + */ + Value?: string; + + /** + *

                                                                        The type of the object from the SubjectId field.

                                                                        + */ + SubjectType?: string; + /** *

                                                                        A unique identifier of the Review action result. *

                                                                        @@ -2388,18 +2400,6 @@ export interface ReviewResultDetail { *

                                                                        */ SubjectId?: string; - - /** - *

                                                                        The type of the object from the SubjectId field.

                                                                        - */ - SubjectType?: string; - - /** - *

                                                                        The values of Key provided by the review policies you have - * selected. - *

                                                                        - */ - Value?: string; } export namespace ReviewResultDetail { @@ -2436,6 +2436,12 @@ export namespace ReviewReport { } export interface ListReviewPolicyResultsForHITResponse { + /** + *

                                                                        The name of the HIT-level Review Policy. This contains only + * the PolicyName element.

                                                                        + */ + HITReviewPolicy?: ReviewPolicy; + /** *

                                                                        Contains both ReviewResult and ReviewAction elements for a particular HIT. *

                                                                        @@ -2443,10 +2449,11 @@ export interface ListReviewPolicyResultsForHITResponse { HITReviewReport?: ReviewReport; /** - *

                                                                        The name of the HIT-level Review Policy. This contains only - * the PolicyName element.

                                                                        + *

                                                                        Contains both ReviewResult and ReviewAction elements for an + * Assignment. + *

                                                                        */ - HITReviewPolicy?: ReviewPolicy; + AssignmentReviewReport?: ReviewReport; /** *

                                                                        The name of the Assignment-level Review Policy. This @@ -2467,13 +2474,6 @@ export interface ListReviewPolicyResultsForHITResponse { *

                                                                        The HITId of the HIT for which results have been returned.

                                                                        */ HITId?: string; - - /** - *

                                                                        Contains both ReviewResult and ReviewAction elements for an - * Assignment. - *

                                                                        - */ - AssignmentReviewReport?: ReviewReport; } export namespace ListReviewPolicyResultsForHITResponse { @@ -2551,23 +2551,16 @@ export namespace ListWorkerBlocksResponse { } export interface ListWorkersWithQualificationTypeRequest { - /** - *

                                                                        The ID of the Qualification type of the Qualifications to - * return.

                                                                        - */ - QualificationTypeId: string | undefined; - /** *

                                                                        Pagination Token

                                                                        */ NextToken?: string; /** - *

                                                                        - * Limit the number of results returned. - *

                                                                        + *

                                                                        The ID of the Qualification type of the Qualifications to + * return.

                                                                        */ - MaxResults?: number; + QualificationTypeId: string | undefined; /** *

                                                                        @@ -2576,6 +2569,13 @@ export interface ListWorkersWithQualificationTypeRequest { *

                                                                        */ Status?: QualificationStatus | string; + + /** + *

                                                                        + * Limit the number of results returned. + *

                                                                        + */ + MaxResults?: number; } export namespace ListWorkersWithQualificationTypeRequest { @@ -2593,18 +2593,18 @@ export interface ListWorkersWithQualificationTypeResponse { */ NextToken?: string; + /** + *

                                                                        The list of Qualification elements returned by this call. + *

                                                                        + */ + Qualifications?: Qualification[]; + /** *

                                                                        The number of Qualifications on this page in the filtered * results list, equivalent to the number of Qualifications being * returned by this call.

                                                                        */ NumResults?: number; - - /** - *

                                                                        The list of Qualification elements returned by this call. - *

                                                                        - */ - Qualifications?: Qualification[]; } export namespace ListWorkersWithQualificationTypeResponse { @@ -2614,6 +2614,12 @@ export namespace ListWorkersWithQualificationTypeResponse { } export interface NotifyWorkersRequest { + /** + *

                                                                        The subject line of the email message to send. Can include up + * to 200 characters.

                                                                        + */ + Subject: string | undefined; + /** *

                                                                        A list of Worker IDs you wish to notify. You * can notify upto @@ -2626,12 +2632,6 @@ export interface NotifyWorkersRequest { * 4,096 characters

                                                                        */ MessageText: string | undefined; - - /** - *

                                                                        The subject line of the email message to send. Can include up - * to 200 characters.

                                                                        - */ - Subject: string | undefined; } export namespace NotifyWorkersRequest { @@ -2658,16 +2658,16 @@ export interface NotifyWorkersFailureStatus { */ NotifyWorkersFailureMessage?: string; - /** - *

                                                                        The ID of the Worker.

                                                                        - */ - WorkerId?: string; - /** *

                                                                        Encoded value for the failure type. *

                                                                        */ NotifyWorkersFailureCode?: NotifyWorkersFailureCode | string; + + /** + *

                                                                        The ID of the Worker.

                                                                        + */ + WorkerId?: string; } export namespace NotifyWorkersFailureStatus { @@ -2695,17 +2695,17 @@ export namespace NotifyWorkersResponse { export interface RejectAssignmentRequest { /** *

                                                                        - * The ID of the assignment. The assignment must correspond to a HIT created by the Requester. + * A message for the Worker, which the Worker can see in the Status section of the web site. *

                                                                        */ - AssignmentId: string | undefined; + RequesterFeedback: string | undefined; /** *

                                                                        - * A message for the Worker, which the Worker can see in the Status section of the web site. + * The ID of the assignment. The assignment must correspond to a HIT created by the Requester. *

                                                                        */ - RequesterFeedback: string | undefined; + AssignmentId: string | undefined; } export namespace RejectAssignmentRequest { @@ -2723,6 +2723,12 @@ export namespace RejectAssignmentResponse { } export interface RejectQualificationRequestRequest { + /** + *

                                                                        A text message explaining why the request was rejected, to be + * shown to the Worker who made the request.

                                                                        + */ + Reason?: string; + /** *

                                                                        * The ID of the Qualification request, as returned by the @@ -2731,12 +2737,6 @@ export interface RejectQualificationRequestRequest { *

                                                                        */ QualificationRequestId: string | undefined; - - /** - *

                                                                        A text message explaining why the request was rejected, to be - * shown to the Worker who made the request.

                                                                        - */ - Reason?: string; } export namespace RejectQualificationRequestRequest { @@ -2754,11 +2754,6 @@ export namespace RejectQualificationRequestResponse { } export interface SendBonusRequest { - /** - *

                                                                        The ID of the assignment for which this bonus is paid.

                                                                        - */ - AssignmentId: string | undefined; - /** *

                                                                        A message that explains the reason for the bonus payment. The * Worker receiving the bonus can see this message.

                                                                        @@ -2788,6 +2783,11 @@ export interface SendBonusRequest { * request ID.

                                                                        */ UniqueRequestToken?: string; + + /** + *

                                                                        The ID of the assignment for which this bonus is paid.

                                                                        + */ + AssignmentId: string | undefined; } export namespace SendBonusRequest { @@ -2826,6 +2826,12 @@ export interface NotificationSpecification { */ EventTypes: (EventType | string)[] | undefined; + /** + *

                                                                        The version of the Notification API to use. Valid value is + * 2006-05-05.

                                                                        + */ + Version: string | undefined; + /** *

                                                                        The method Amazon Mechanical Turk uses to send the * notification. Valid Values: Email | SQS | SNS. @@ -2850,12 +2856,6 @@ export interface NotificationSpecification { *

                                                                      */ Destination: string | undefined; - - /** - *

                                                                      The version of the Notification API to use. Valid value is - * 2006-05-05.

                                                                      - */ - Version: string | undefined; } export namespace NotificationSpecification { @@ -2865,15 +2865,6 @@ export namespace NotificationSpecification { } export interface SendTestEventNotificationRequest { - /** - *

                                                                      - * The notification specification to test. This value is identical to the value - * you would provide to the UpdateNotificationSettings operation when you establish - * the notification specification for a HIT type. - *

                                                                      - */ - Notification: NotificationSpecification | undefined; - /** *

                                                                      * The event to simulate to test the notification specification. @@ -2883,6 +2874,15 @@ export interface SendTestEventNotificationRequest { *

                                                                      */ TestEventType: EventType | string | undefined; + + /** + *

                                                                      + * The notification specification to test. This value is identical to the value + * you would provide to the UpdateNotificationSettings operation when you establish + * the notification specification for a HIT type. + *

                                                                      + */ + Notification: NotificationSpecification | undefined; } export namespace SendTestEventNotificationRequest { @@ -2973,14 +2973,14 @@ export namespace UpdateHITReviewStatusResponse { export interface UpdateHITTypeOfHITRequest { /** - *

                                                                      The ID of the new HIT type.

                                                                      + *

                                                                      The HIT to update.

                                                                      */ - HITTypeId: string | undefined; + HITId: string | undefined; /** - *

                                                                      The HIT to update.

                                                                      + *

                                                                      The ID of the new HIT type.

                                                                      */ - HITId: string | undefined; + HITTypeId: string | undefined; } export namespace UpdateHITTypeOfHITRequest { @@ -3010,17 +3010,17 @@ export interface UpdateNotificationSettingsRequest { /** *

                                                                      - * The ID of the HIT type whose notification specification is being updated. + * The notification specification for the HIT type. *

                                                                      */ - HITTypeId: string | undefined; + Notification?: NotificationSpecification; /** *

                                                                      - * The notification specification for the HIT type. + * The ID of the HIT type whose notification specification is being updated. *

                                                                      */ - Notification?: NotificationSpecification; + HITTypeId: string | undefined; } export namespace UpdateNotificationSettingsRequest { @@ -3062,36 +3062,36 @@ export interface UpdateQualificationTypeRequest { AutoGranted?: boolean; /** - *

                                                                      The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.

                                                                      + *

                                                                      The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.

                                                                      */ - AnswerKey?: string; + AutoGrantedValue?: number; /** - *

                                                                      The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.

                                                                      + *

                                                                      The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds must also be specified.

                                                                      + *

                                                                      Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.

                                                                      + *

                                                                      Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.

                                                                      */ - TestDurationInSeconds?: number; + Test?: string; /** - *

                                                                      The new status of the Qualification type - Active | Inactive

                                                                      + *

                                                                      The new description of the Qualification type.

                                                                      */ - QualificationTypeStatus?: QualificationTypeStatus | string; + Description?: string; /** - *

                                                                      The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.

                                                                      + *

                                                                      The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.

                                                                      */ - AutoGrantedValue?: number; + TestDurationInSeconds?: number; /** - *

                                                                      The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds must also be specified.

                                                                      - *

                                                                      Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.

                                                                      - *

                                                                      Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.

                                                                      + *

                                                                      The new status of the Qualification type - Active | Inactive

                                                                      */ - Test?: string; + QualificationTypeStatus?: QualificationTypeStatus | string; /** - *

                                                                      The new description of the Qualification type.

                                                                      + *

                                                                      The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.

                                                                      */ - Description?: string; + AnswerKey?: string; } export namespace UpdateQualificationTypeRequest { diff --git a/clients/client-neptune/index.ts b/clients/client-neptune/index.ts index be565ec5e5bc..efe74b0f5701 100644 --- a/clients/client-neptune/index.ts +++ b/clients/client-neptune/index.ts @@ -38,6 +38,7 @@ export * from "./commands/DescribeDBSubnetGroupsCommand"; export * from "./pagination/DescribeDBSubnetGroupsPaginator"; export * from "./commands/DescribeEngineDefaultClusterParametersCommand"; export * from "./commands/DescribeEngineDefaultParametersCommand"; +export * from "./pagination/DescribeEngineDefaultParametersPaginator"; export * from "./commands/DescribeEventCategoriesCommand"; export * from "./commands/DescribeEventsCommand"; export * from "./pagination/DescribeEventsPaginator"; diff --git a/clients/client-neptune/models/models_0.ts b/clients/client-neptune/models/models_0.ts index 0aa459ab7c9f..f4d1b20df789 100644 --- a/clients/client-neptune/models/models_0.ts +++ b/clients/client-neptune/models/models_0.ts @@ -2,16 +2,16 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface AddRoleToDBClusterMessage { - /** - *

                                                                      The name of the DB cluster to associate the IAM role with.

                                                                      - */ - DBClusterIdentifier: string | undefined; - /** *

                                                                      The Amazon Resource Name (ARN) of the IAM role to associate with the Neptune DB cluster, * for example arn:aws:iam::123456789012:role/NeptuneAccessRole.

                                                                      */ RoleArn: string | undefined; + + /** + *

                                                                      The name of the DB cluster to associate the IAM role with.

                                                                      + */ + DBClusterIdentifier: string | undefined; } export namespace AddRoleToDBClusterMessage { @@ -136,31 +136,41 @@ export namespace AddSourceIdentifierToSubscriptionMessage { */ export interface EventSubscription { /** - *

                                                                      A Boolean value indicating if the subscription is enabled. True indicates the subscription - * is enabled.

                                                                      + *

                                                                      The source type for the event notification subscription.

                                                                      */ - Enabled?: boolean; + SourceType?: string; /** - *

                                                                      The topic ARN of the event notification subscription.

                                                                      + *

                                                                      A list of event categories for the event notification subscription.

                                                                      */ - SnsTopicArn?: string; + EventCategoriesList?: string[]; /** - *

                                                                      The Amazon Resource Name (ARN) for the event subscription.

                                                                      + *

                                                                      The AWS customer account associated with the event notification subscription.

                                                                      */ - EventSubscriptionArn?: string; + CustomerAwsId?: string; /** - *

                                                                      The event notification subscription Id.

                                                                      + *

                                                                      The time the event notification subscription was created.

                                                                      */ - CustSubscriptionId?: string; + SubscriptionCreationTime?: string; /** *

                                                                      A list of source IDs for the event notification subscription.

                                                                      */ SourceIdsList?: string[]; + /** + *

                                                                      A Boolean value indicating if the subscription is enabled. True indicates the subscription + * is enabled.

                                                                      + */ + Enabled?: boolean; + + /** + *

                                                                      The event notification subscription Id.

                                                                      + */ + CustSubscriptionId?: string; + /** *

                                                                      The status of the event notification subscription.

                                                                      *

                                                                      Constraints:

                                                                      @@ -173,24 +183,14 @@ export interface EventSubscription { Status?: string; /** - *

                                                                      A list of event categories for the event notification subscription.

                                                                      - */ - EventCategoriesList?: string[]; - - /** - *

                                                                      The source type for the event notification subscription.

                                                                      - */ - SourceType?: string; - - /** - *

                                                                      The AWS customer account associated with the event notification subscription.

                                                                      + *

                                                                      The topic ARN of the event notification subscription.

                                                                      */ - CustomerAwsId?: string; + SnsTopicArn?: string; /** - *

                                                                      The time the event notification subscription was created.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) for the event subscription.

                                                                      */ - SubscriptionCreationTime?: string; + EventSubscriptionArn?: string; } export namespace EventSubscription { @@ -341,6 +341,13 @@ export interface ApplyPendingMaintenanceActionMessage { */ ApplyAction: string | undefined; + /** + *

                                                                      The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies + * to. For information about creating an ARN, see Constructing an + * Amazon Resource Name (ARN).

                                                                      + */ + ResourceIdentifier: string | undefined; + /** *

                                                                      A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in * request of type immediate can't be undone.

                                                                      @@ -363,13 +370,6 @@ export interface ApplyPendingMaintenanceActionMessage { *
                                                                    */ OptInType: string | undefined; - - /** - *

                                                                    The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies - * to. For information about creating an ARN, see Constructing an - * Amazon Resource Name (ARN).

                                                                    - */ - ResourceIdentifier: string | undefined; } export namespace ApplyPendingMaintenanceActionMessage { @@ -383,42 +383,42 @@ export namespace ApplyPendingMaintenanceActionMessage { */ export interface PendingMaintenanceAction { /** - *

                                                                    Indicates the type of opt-in request that has been received for the resource.

                                                                    + *

                                                                    The date of the maintenance window when the action is applied. The maintenance action is + * applied to the resource during its first maintenance window after this date. If this date is + * specified, any next-maintenance opt-in requests are ignored.

                                                                    */ - OptInStatus?: string; + AutoAppliedAfterDate?: Date; /** - *

                                                                    The effective date when the pending maintenance action is applied to the resource. This - * date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the - * ForcedApplyDate. This value is blank if an opt-in request has not been received - * and nothing has been specified as AutoAppliedAfterDate or - * ForcedApplyDate.

                                                                    + *

                                                                    The date when the maintenance action is automatically applied. The maintenance action is + * applied to the resource on this date regardless of the maintenance window for the resource. If + * this date is specified, any immediate opt-in requests are ignored.

                                                                    */ - CurrentApplyDate?: Date; + ForcedApplyDate?: Date; /** - *

                                                                    A description providing more detail about the maintenance action.

                                                                    + *

                                                                    The type of pending maintenance action that is available for the resource.

                                                                    */ - Description?: string; + Action?: string; /** - *

                                                                    The type of pending maintenance action that is available for the resource.

                                                                    + *

                                                                    A description providing more detail about the maintenance action.

                                                                    */ - Action?: string; + Description?: string; /** - *

                                                                    The date of the maintenance window when the action is applied. The maintenance action is - * applied to the resource during its first maintenance window after this date. If this date is - * specified, any next-maintenance opt-in requests are ignored.

                                                                    + *

                                                                    The effective date when the pending maintenance action is applied to the resource. This + * date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the + * ForcedApplyDate. This value is blank if an opt-in request has not been received + * and nothing has been specified as AutoAppliedAfterDate or + * ForcedApplyDate.

                                                                    */ - AutoAppliedAfterDate?: Date; + CurrentApplyDate?: Date; /** - *

                                                                    The date when the maintenance action is automatically applied. The maintenance action is - * applied to the resource on this date regardless of the maintenance window for the resource. If - * this date is specified, any immediate opt-in requests are ignored.

                                                                    + *

                                                                    Indicates the type of opt-in request that has been received for the resource.

                                                                    */ - ForcedApplyDate?: Date; + OptInStatus?: string; } export namespace PendingMaintenanceAction { @@ -432,15 +432,15 @@ export namespace PendingMaintenanceAction { */ export interface ResourcePendingMaintenanceActions { /** - *

                                                                    A list that provides details about the pending maintenance actions for the - * resource.

                                                                    + *

                                                                    The ARN of the resource that has pending maintenance actions.

                                                                    */ - PendingMaintenanceActionDetails?: PendingMaintenanceAction[]; + ResourceIdentifier?: string; /** - *

                                                                    The ARN of the resource that has pending maintenance actions.

                                                                    + *

                                                                    A list that provides details about the pending maintenance actions for the + * resource.

                                                                    */ - ResourceIdentifier?: string; + PendingMaintenanceActionDetails?: PendingMaintenanceAction[]; } export namespace ResourcePendingMaintenanceActions { @@ -481,11 +481,6 @@ export namespace ResourceNotFoundFault { } export interface CopyDBClusterParameterGroupMessage { - /** - *

                                                                    The tags to be assigned to the copied DB cluster parameter group.

                                                                    - */ - Tags?: Tag[]; - /** *

                                                                    The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. * For information about creating an ARN, see Constructing an @@ -535,6 +530,11 @@ export interface CopyDBClusterParameterGroupMessage { *

                                                                    A description for the copied DB cluster parameter group.

                                                                    */ TargetDBClusterParameterGroupDescription: string | undefined; + + /** + *

                                                                    The tags to be assigned to the copied DB cluster parameter group.

                                                                    + */ + Tags?: Tag[]; } export namespace CopyDBClusterParameterGroupMessage { @@ -549,9 +549,9 @@ export namespace CopyDBClusterParameterGroupMessage { */ export interface DBClusterParameterGroup { /** - *

                                                                    Provides the name of the DB cluster parameter group.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) for the DB cluster parameter group.

                                                                    */ - DBClusterParameterGroupName?: string; + DBClusterParameterGroupArn?: string; /** *

                                                                    Provides the name of the DB parameter group family that this DB cluster parameter group is @@ -560,14 +560,14 @@ export interface DBClusterParameterGroup { DBParameterGroupFamily?: string; /** - *

                                                                    The Amazon Resource Name (ARN) for the DB cluster parameter group.

                                                                    + *

                                                                    Provides the customer-specified description for this DB cluster parameter group.

                                                                    */ - DBClusterParameterGroupArn?: string; + Description?: string; /** - *

                                                                    Provides the customer-specified description for this DB cluster parameter group.

                                                                    + *

                                                                    Provides the name of the DB cluster parameter group.

                                                                    */ - Description?: string; + DBClusterParameterGroupName?: string; } export namespace DBClusterParameterGroup { @@ -648,9 +648,22 @@ export namespace DBParameterGroupQuotaExceededFault { export interface CopyDBClusterSnapshotMessage { /** - *

                                                                    The tags to assign to the new DB cluster snapshot copy.

                                                                    + *

                                                                    The identifier of the DB cluster snapshot to copy. This parameter is not + * case-sensitive.

                                                                    + *

                                                                    You can't copy from one AWS Region to another.

                                                                    + *

                                                                    Constraints:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      Must specify a valid system snapshot in the "available" state.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      Specify a valid DB snapshot identifier.

                                                                      + *
                                                                    • + *
                                                                    + *

                                                                    Example: my-cluster-snapshot1 + *

                                                                    */ - Tags?: Tag[]; + SourceDBClusterSnapshotIdentifier: string | undefined; /** *

                                                                    True to copy all tags from the source DB cluster snapshot to the target DB cluster @@ -658,6 +671,16 @@ export interface CopyDBClusterSnapshotMessage { */ CopyTags?: boolean; + /** + *

                                                                    The tags to assign to the new DB cluster snapshot copy.

                                                                    + */ + Tags?: Tag[]; + + /** + *

                                                                    Not currently supported.

                                                                    + */ + PreSignedUrl?: string; + /** *

                                                                    The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon * Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

                                                                    @@ -678,29 +701,6 @@ export interface CopyDBClusterSnapshotMessage { */ KmsKeyId?: string; - /** - *

                                                                    The identifier of the DB cluster snapshot to copy. This parameter is not - * case-sensitive.

                                                                    - *

                                                                    You can't copy from one AWS Region to another.

                                                                    - *

                                                                    Constraints:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      Must specify a valid system snapshot in the "available" state.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      Specify a valid DB snapshot identifier.

                                                                      - *
                                                                    • - *
                                                                    - *

                                                                    Example: my-cluster-snapshot1 - *

                                                                    - */ - SourceDBClusterSnapshotIdentifier: string | undefined; - - /** - *

                                                                    Not currently supported.

                                                                    - */ - PreSignedUrl?: string; - /** *

                                                                    The identifier of the new DB cluster snapshot to create from the source DB cluster * snapshot. This parameter is not case-sensitive.

                                                                    @@ -734,21 +734,19 @@ export namespace CopyDBClusterSnapshotMessage { */ export interface DBClusterSnapshot { /** - *

                                                                    Specifies the time when the DB cluster was created, in Universal Coordinated Time - * (UTC).

                                                                    + *

                                                                    Provides the license model information for this DB cluster snapshot.

                                                                    */ - ClusterCreateTime?: Date; + LicenseModel?: string; /** - *

                                                                    Specifies the name of the database engine.

                                                                    + *

                                                                    Specifies the percentage of the estimated data that has been transferred.

                                                                    */ - Engine?: string; + PercentProgress?: number; /** - *

                                                                    Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can - * be restored in.

                                                                    + *

                                                                    Specifies whether the DB cluster snapshot is encrypted.

                                                                    */ - AvailabilityZones?: string[]; + StorageEncrypted?: boolean; /** *

                                                                    Provides the version of the database engine for this DB cluster snapshot.

                                                                    @@ -756,15 +754,31 @@ export interface DBClusterSnapshot { EngineVersion?: string; /** - *

                                                                    Provides the master username for the DB cluster snapshot.

                                                                    + *

                                                                    True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts + * is enabled, and otherwise false.

                                                                    */ - MasterUsername?: string; + IAMDatabaseAuthenticationEnabled?: boolean; /** - *

                                                                    If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB - * cluster snapshot.

                                                                    + *

                                                                    Specifies the allocated storage size in gibibytes (GiB).

                                                                    */ - KmsKeyId?: string; + AllocatedStorage?: number; + + /** + *

                                                                    Provides the VPC ID associated with the DB cluster snapshot.

                                                                    + */ + VpcId?: string; + + /** + *

                                                                    Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was + * created from.

                                                                    + */ + DBClusterIdentifier?: string; + + /** + *

                                                                    Provides the master username for the DB cluster snapshot.

                                                                    + */ + MasterUsername?: string; /** *

                                                                    Specifies the identifier for a DB cluster snapshot. Must match the identifier @@ -785,63 +799,48 @@ export interface DBClusterSnapshot { DBClusterSnapshotIdentifier?: string; /** - *

                                                                    Specifies the allocated storage size in gibibytes (GiB).

                                                                    + *

                                                                    Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can + * be restored in.

                                                                    */ - AllocatedStorage?: number; + AvailabilityZones?: string[]; /** - *

                                                                    Provides the license model information for this DB cluster snapshot.

                                                                    + *

                                                                    If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB + * cluster snapshot.

                                                                    */ - LicenseModel?: string; + KmsKeyId?: string; /** - *

                                                                    Provides the VPC ID associated with the DB cluster snapshot.

                                                                    + *

                                                                    Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

                                                                    */ - VpcId?: string; + SnapshotCreateTime?: Date; /** - *

                                                                    True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts - * is enabled, and otherwise false.

                                                                    + *

                                                                    If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon + * Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.

                                                                    */ - IAMDatabaseAuthenticationEnabled?: boolean; + SourceDBClusterSnapshotArn?: string; /** - *

                                                                    Specifies whether the DB cluster snapshot is encrypted.

                                                                    + *

                                                                    Specifies the name of the database engine.

                                                                    */ - StorageEncrypted?: boolean; + Engine?: string; /** - *

                                                                    Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was - * created from.

                                                                    - */ - DBClusterIdentifier?: string; - - /** - *

                                                                    Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

                                                                    - */ - SnapshotCreateTime?: Date; - - /** - *

                                                                    Specifies the percentage of the estimated data that has been transferred.

                                                                    - */ - PercentProgress?: number; - - /** - *

                                                                    Specifies the port that the DB cluster was listening on at the time of the - * snapshot.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) for the DB cluster snapshot.

                                                                    */ - Port?: number; + DBClusterSnapshotArn?: string; /** - *

                                                                    The Amazon Resource Name (ARN) for the DB cluster snapshot.

                                                                    + *

                                                                    Specifies the time when the DB cluster was created, in Universal Coordinated Time + * (UTC).

                                                                    */ - DBClusterSnapshotArn?: string; + ClusterCreateTime?: Date; /** - *

                                                                    If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon - * Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.

                                                                    + *

                                                                    Provides the type of the DB cluster snapshot.

                                                                    */ - SourceDBClusterSnapshotArn?: string; + SnapshotType?: string; /** *

                                                                    Specifies the status of this DB cluster snapshot.

                                                                    @@ -849,9 +848,10 @@ export interface DBClusterSnapshot { Status?: string; /** - *

                                                                    Provides the type of the DB cluster snapshot.

                                                                    + *

                                                                    Specifies the port that the DB cluster was listening on at the time of the + * snapshot.

                                                                    */ - SnapshotType?: string; + Port?: number; } export namespace DBClusterSnapshot { @@ -967,11 +967,6 @@ export namespace SnapshotQuotaExceededFault { } export interface CopyDBParameterGroupMessage { - /** - *

                                                                    A description for the copied DB parameter group.

                                                                    - */ - TargetDBParameterGroupDescription: string | undefined; - /** *

                                                                    The identifier for the copied DB parameter group.

                                                                    *

                                                                    Constraints:

                                                                    @@ -996,9 +991,9 @@ export interface CopyDBParameterGroupMessage { TargetDBParameterGroupIdentifier: string | undefined; /** - *

                                                                    The tags to be assigned to the copied DB parameter group.

                                                                    + *

                                                                    A description for the copied DB parameter group.

                                                                    */ - Tags?: Tag[]; + TargetDBParameterGroupDescription: string | undefined; /** *

                                                                    The identifier or ARN for the source DB parameter group. For information about creating @@ -1018,6 +1013,11 @@ export interface CopyDBParameterGroupMessage { *

                                                                  */ SourceDBParameterGroupIdentifier: string | undefined; + + /** + *

                                                                  The tags to be assigned to the copied DB parameter group.

                                                                  + */ + Tags?: Tag[]; } export namespace CopyDBParameterGroupMessage { @@ -1032,9 +1032,9 @@ export namespace CopyDBParameterGroupMessage { */ export interface DBParameterGroup { /** - *

                                                                  Provides the customer-specified description for this DB parameter group.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) for the DB parameter group.

                                                                  */ - Description?: string; + DBParameterGroupArn?: string; /** *

                                                                  Provides the name of the DB parameter group family that this DB parameter group is @@ -1043,14 +1043,14 @@ export interface DBParameterGroup { DBParameterGroupFamily?: string; /** - *

                                                                  The Amazon Resource Name (ARN) for the DB parameter group.

                                                                  + *

                                                                  Provides the name of the DB parameter group.

                                                                  */ - DBParameterGroupArn?: string; + DBParameterGroupName?: string; /** - *

                                                                  Provides the name of the DB parameter group.

                                                                  + *

                                                                  Provides the customer-specified description for this DB parameter group.

                                                                  */ - DBParameterGroupName?: string; + Description?: string; } export namespace DBParameterGroup { @@ -1075,49 +1075,23 @@ export namespace CopyDBParameterGroupResult { export interface CreateDBClusterMessage { /** - *

                                                                  True to enable mapping of AWS Identity and Access Management (IAM) accounts to database - * accounts, and otherwise false.

                                                                  - *

                                                                  Default: false + *

                                                                  + * (Not supported by Neptune) *

                                                                  */ - EnableIAMDatabaseAuthentication?: boolean; - - /** - *

                                                                  The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster - * is created as a Read Replica.

                                                                  - */ - ReplicationSourceIdentifier?: string; - - /** - *

                                                                  The tags to assign to the new DB cluster.

                                                                  - */ - Tags?: Tag[]; + CharacterSetName?: string; /** - *

                                                                  The password for the master database user. This password can contain any printable ASCII - * character except "/", """, or "@".

                                                                  - *

                                                                  Constraints: Must contain from 8 to 41 characters.

                                                                  + *

                                                                  The port number on which the instances in the DB cluster accept connections.

                                                                  + *

                                                                  Default: 8182 + *

                                                                  */ - MasterUserPassword?: string; + Port?: number; /** - *

                                                                  The DB cluster identifier. This parameter is stored as a lowercase string.

                                                                  - *

                                                                  Constraints:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    Must contain from 1 to 63 letters, numbers, or hyphens.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    First character must be a letter.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    Cannot end with a hyphen or contain two consecutive hyphens.

                                                                    - *
                                                                  • - *
                                                                  - *

                                                                  Example: my-cluster1 - *

                                                                  + *

                                                                  This parameter is not currently supported.

                                                                  */ - DBClusterIdentifier: string | undefined; + PreSignedUrl?: string; /** *

                                                                  The number of days for which automated backups are retained. You must specify a minimum @@ -1133,94 +1107,39 @@ export interface CreateDBClusterMessage { BackupRetentionPeriod?: number; /** - *

                                                                  - * (Not supported by Neptune) - *

                                                                  - */ - OptionGroupName?: string; - - /** - *

                                                                  The name of the DB cluster parameter group to associate with this DB cluster. If this - * argument is omitted, the default is used.

                                                                  - *

                                                                  Constraints:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    If supplied, must match the name of an existing DBClusterParameterGroup.

                                                                    - *
                                                                  • - *
                                                                  - */ - DBClusterParameterGroupName?: string; - - /** - *

                                                                  The port number on which the instances in the DB cluster accept connections.

                                                                  - *

                                                                  Default: 8182 - *

                                                                  + *

                                                                  The tags to assign to the new DB cluster.

                                                                  */ - Port?: number; + Tags?: Tag[]; /** - *

                                                                  The version number of the database engine to use. Currently, setting this - * parameter has no effect.

                                                                  - *

                                                                  Example: 1.0.1 + *

                                                                  True to enable mapping of AWS Identity and Access Management (IAM) accounts to database + * accounts, and otherwise false.

                                                                  + *

                                                                  Default: false *

                                                                  */ - EngineVersion?: string; - - /** - *

                                                                  Specifies whether the DB cluster is encrypted.

                                                                  - */ - StorageEncrypted?: boolean; + EnableIAMDatabaseAuthentication?: boolean; /** - *

                                                                  - * (Not supported by Neptune) - *

                                                                  + *

                                                                  The password for the master database user. This password can contain any printable ASCII + * character except "/", """, or "@".

                                                                  + *

                                                                  Constraints: Must contain from 8 to 41 characters.

                                                                  */ - CharacterSetName?: string; + MasterUserPassword?: string; /** - *

                                                                  A DB subnet group to associate with this DB cluster.

                                                                  - *

                                                                  Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

                                                                  - *

                                                                  Example: mySubnetgroup + *

                                                                  The weekly time range during which system maintenance can occur, in Universal Coordinated + * Time (UTC).

                                                                  + *

                                                                  Format: ddd:hh24:mi-ddd:hh24:mi *

                                                                  - */ - DBSubnetGroupName?: string; - - /** - *

                                                                  A list of EC2 VPC security groups to associate with this DB cluster.

                                                                  - */ - VpcSecurityGroupIds?: string[]; - - /** - *

                                                                  A list of EC2 Availability Zones that instances in the DB cluster can be created - * in.

                                                                  - */ - AvailabilityZones?: string[]; - - /** - *

                                                                  The name of the database engine to be used for this DB cluster.

                                                                  - *

                                                                  Valid Values: neptune + *

                                                                  The default is a 30-minute window selected at random from an 8-hour block of time for each + * AWS Region, occurring on a random day of the week. To see the time blocks available, see + * Adjusting the Preferred + * Maintenance Window in the Amazon Neptune User Guide. *

                                                                  + *

                                                                  Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                                                  + *

                                                                  Constraints: Minimum 30-minute window.

                                                                  */ - Engine: string | undefined; - - /** - *

                                                                  The list of log types that need to be enabled for exporting to CloudWatch Logs.

                                                                  - */ - EnableCloudwatchLogsExports?: string[]; - - /** - *

                                                                  The name for your database of up to 64 alpha-numeric characters. If you do not provide a - * name, Amazon Neptune will not create a database in the DB cluster you are creating.

                                                                  - */ - DatabaseName?: string; - - /** - *

                                                                  A value that indicates whether the DB cluster has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is enabled.

                                                                  - */ - DeletionProtection?: boolean; + PreferredMaintenanceWindow?: string; /** *

                                                                  The name of the master user for the DB cluster.

                                                                  @@ -1239,11 +1158,6 @@ export interface CreateDBClusterMessage { */ MasterUsername?: string; - /** - *

                                                                  This parameter is not currently supported.

                                                                  - */ - PreSignedUrl?: string; - /** *

                                                                  The AWS KMS key identifier for an encrypted DB cluster.

                                                                  *

                                                                  The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If @@ -1271,6 +1185,27 @@ export interface CreateDBClusterMessage { */ KmsKeyId?: string; + /** + *

                                                                  A DB subnet group to associate with this DB cluster.

                                                                  + *

                                                                  Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

                                                                  + *

                                                                  Example: mySubnetgroup + *

                                                                  + */ + DBSubnetGroupName?: string; + + /** + *

                                                                  A value that indicates whether the DB cluster has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is enabled.

                                                                  + */ + DeletionProtection?: boolean; + + /** + *

                                                                  The name for your database of up to 64 alpha-numeric characters. If you do not provide a + * name, Amazon Neptune will not create a database in the DB cluster you are creating.

                                                                  + */ + DatabaseName?: string; + /** *

                                                                  The daily time range during which automated backups are created if automated backups are * enabled using the BackupRetentionPeriod parameter.

                                                                  @@ -1297,23 +1232,88 @@ export interface CreateDBClusterMessage { PreferredBackupWindow?: string; /** - *

                                                                  The weekly time range during which system maintenance can occur, in Universal Coordinated - * Time (UTC).

                                                                  - *

                                                                  Format: ddd:hh24:mi-ddd:hh24:mi + *

                                                                  A list of EC2 Availability Zones that instances in the DB cluster can be created + * in.

                                                                  + */ + AvailabilityZones?: string[]; + + /** + *

                                                                  The name of the database engine to be used for this DB cluster.

                                                                  + *

                                                                  Valid Values: neptune *

                                                                  - *

                                                                  The default is a 30-minute window selected at random from an 8-hour block of time for each - * AWS Region, occurring on a random day of the week. To see the time blocks available, see - * Adjusting the Preferred - * Maintenance Window in the Amazon Neptune User Guide. + */ + Engine: string | undefined; + + /** + *

                                                                  The version number of the database engine to use. Currently, setting this + * parameter has no effect.

                                                                  + *

                                                                  Example: 1.0.1 *

                                                                  - *

                                                                  Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                                                  - *

                                                                  Constraints: Minimum 30-minute window.

                                                                  */ - PreferredMaintenanceWindow?: string; -} + EngineVersion?: string; -export namespace CreateDBClusterMessage { - export const filterSensitiveLog = (obj: CreateDBClusterMessage): any => ({ + /** + *

                                                                  The list of log types that need to be enabled for exporting to CloudWatch Logs.

                                                                  + */ + EnableCloudwatchLogsExports?: string[]; + + /** + *

                                                                  The name of the DB cluster parameter group to associate with this DB cluster. If this + * argument is omitted, the default is used.

                                                                  + *

                                                                  Constraints:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    If supplied, must match the name of an existing DBClusterParameterGroup.

                                                                    + *
                                                                  • + *
                                                                  + */ + DBClusterParameterGroupName?: string; + + /** + *

                                                                  The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster + * is created as a Read Replica.

                                                                  + */ + ReplicationSourceIdentifier?: string; + + /** + *

                                                                  A list of EC2 VPC security groups to associate with this DB cluster.

                                                                  + */ + VpcSecurityGroupIds?: string[]; + + /** + *

                                                                  The DB cluster identifier. This parameter is stored as a lowercase string.

                                                                  + *

                                                                  Constraints:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    Must contain from 1 to 63 letters, numbers, or hyphens.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    First character must be a letter.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Cannot end with a hyphen or contain two consecutive hyphens.

                                                                    + *
                                                                  • + *
                                                                  + *

                                                                  Example: my-cluster1 + *

                                                                  + */ + DBClusterIdentifier: string | undefined; + + /** + *

                                                                  Specifies whether the DB cluster is encrypted.

                                                                  + */ + StorageEncrypted?: boolean; + + /** + *

                                                                  + * (Not supported by Neptune) + *

                                                                  + */ + OptionGroupName?: string; +} + +export namespace CreateDBClusterMessage { + export const filterSensitiveLog = (obj: CreateDBClusterMessage): any => ({ ...obj, }); } @@ -1323,12 +1323,6 @@ export namespace CreateDBClusterMessage { * cluster.

                                                                  */ export interface DBClusterRole { - /** - *

                                                                  The Amazon Resource Name (ARN) of the IAM role that is associated with the DB - * cluster.

                                                                  - */ - RoleArn?: string; - /** *

                                                                  Describes the state of association between the IAM role and the DB cluster. The Status * property returns one of the following values:

                                                                  @@ -1352,6 +1346,12 @@ export interface DBClusterRole { *
                                                                */ Status?: string; + + /** + *

                                                                The Amazon Resource Name (ARN) of the IAM role that is associated with the DB + * cluster.

                                                                + */ + RoleArn?: string; } export namespace DBClusterRole { @@ -1364,12 +1364,6 @@ export namespace DBClusterRole { *

                                                                Contains information about an instance that is part of a DB cluster.

                                                                */ export interface DBClusterMember { - /** - *

                                                                Value that is true if the cluster member is the primary instance for the DB - * cluster and false otherwise.

                                                                - */ - IsClusterWriter?: boolean; - /** *

                                                                Specifies the instance identifier for this member of the DB cluster.

                                                                */ @@ -1381,6 +1375,12 @@ export interface DBClusterMember { */ PromotionTier?: number; + /** + *

                                                                Value that is true if the cluster member is the primary instance for the DB + * cluster and false otherwise.

                                                                + */ + IsClusterWriter?: boolean; + /** *

                                                                Specifies the status of the DB cluster parameter group for this member of the DB * cluster.

                                                                @@ -1399,14 +1399,14 @@ export namespace DBClusterMember { */ export interface DBClusterOptionGroupStatus { /** - *

                                                                Specifies the name of the DB cluster option group.

                                                                + *

                                                                Specifies the status of the DB cluster option group.

                                                                */ - DBClusterOptionGroupName?: string; + Status?: string; /** - *

                                                                Specifies the status of the DB cluster option group.

                                                                + *

                                                                Specifies the name of the DB cluster option group.

                                                                */ - Status?: string; + DBClusterOptionGroupName?: string; } export namespace DBClusterOptionGroupStatus { @@ -1421,14 +1421,14 @@ export namespace DBClusterOptionGroupStatus { */ export interface VpcSecurityGroupMembership { /** - *

                                                                The status of the VPC security group.

                                                                + *

                                                                The name of the VPC security group.

                                                                */ - Status?: string; + VpcSecurityGroupId?: string; /** - *

                                                                The name of the VPC security group.

                                                                + *

                                                                The status of the VPC security group.

                                                                */ - VpcSecurityGroupId?: string; + Status?: string; } export namespace VpcSecurityGroupMembership { @@ -1443,10 +1443,14 @@ export namespace VpcSecurityGroupMembership { */ export interface DBCluster { /** - *

                                                                Specifies the latest time to which a database can be restored with point-in-time - * restore.

                                                                + *

                                                                Indicates the database engine version.

                                                                */ - LatestRestorableTime?: Date; + EngineVersion?: string; + + /** + *

                                                                Specifies the current state of this DB cluster.

                                                                + */ + Status?: string; /** *

                                                                The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances @@ -1460,11 +1464,29 @@ export interface DBCluster { */ ReaderEndpoint?: string; + /** + *

                                                                Provides the list of EC2 Availability Zones that instances in the DB cluster can be + * created in.

                                                                + */ + AvailabilityZones?: string[]; + /** *

                                                                Provides the name of the database engine to be used for this DB cluster.

                                                                */ Engine?: string; + /** + *

                                                                Specifies the latest time to which a database can be restored with point-in-time + * restore.

                                                                + */ + LatestRestorableTime?: Date; + + /** + *

                                                                Specifies the earliest time to which a database can be restored with point-in-time + * restore.

                                                                + */ + EarliestRestorableTime?: Date; + /** *

                                                                Indicates whether or not the DB cluster has deletion protection enabled. * The database can't be deleted when deletion protection is enabled.

                                                                @@ -1479,15 +1501,11 @@ export interface DBCluster { DBClusterOptionGroupMemberships?: DBClusterOptionGroupStatus[]; /** - *

                                                                Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

                                                                - */ - HostedZoneId?: string; - - /** - *

                                                                Provides the list of EC2 Availability Zones that instances in the DB cluster can be - * created in.

                                                                + *

                                                                Contains the name of the initial database of this DB cluster that was provided at create + * time, if one was specified when the DB cluster was created. This same name is returned for the + * life of the DB cluster.

                                                                */ - AvailabilityZones?: string[]; + DatabaseName?: string; /** *

                                                                If StorageEncrypted is true, the AWS KMS key identifier for the @@ -1496,61 +1514,66 @@ export interface DBCluster { KmsKeyId?: string; /** - *

                                                                Specifies the weekly time range during which system maintenance can occur, in Universal - * Coordinated Time (UTC).

                                                                + *

                                                                Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

                                                                */ - PreferredMaintenanceWindow?: string; + HostedZoneId?: string; /** - *

                                                                Contains the name of the initial database of this DB cluster that was provided at create - * time, if one was specified when the DB cluster was created. This same name is returned for the - * life of the DB cluster.

                                                                + *

                                                                Specifies the connection endpoint for the primary instance of the DB cluster.

                                                                */ - DatabaseName?: string; + Endpoint?: string; /** - *

                                                                Specifies the daily time range during which automated backups are created if automated - * backups are enabled, as determined by the BackupRetentionPeriod.

                                                                + *

                                                                Specifies the number of days for which automatic DB snapshots are retained.

                                                                */ - PreferredBackupWindow?: string; + BackupRetentionPeriod?: number; /** - *

                                                                The Amazon Resource Name (ARN) for the DB cluster.

                                                                + *

                                                                Contains one or more identifiers of the Read Replicas associated with this DB + * cluster.

                                                                */ - DBClusterArn?: string; + ReadReplicaIdentifiers?: string[]; /** - *

                                                                Specifies the name of the DB cluster parameter group for the DB cluster.

                                                                + *

                                                                Identifies the clone group to which the DB cluster is associated.

                                                                */ - DBClusterParameterGroup?: string; + CloneGroupId?: string; /** - *

                                                                Specifies information on the subnet group associated with the DB cluster, including the - * name, description, and subnets in the subnet group.

                                                                + *

                                                                Contains a user-supplied DB cluster identifier. This identifier is the unique key that + * identifies a DB cluster.

                                                                */ - DBSubnetGroup?: string; + DBClusterIdentifier?: string; /** - *

                                                                A list of log types that this DB cluster is configured to export to CloudWatch Logs.

                                                                + *

                                                                The AWS Region-unique, immutable identifier for the DB cluster. This identifier is found + * in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

                                                                */ - EnabledCloudwatchLogsExports?: string[]; + DbClusterResourceId?: string; /** - *

                                                                Provides a list of the AWS Identity and Access Management (IAM) roles that are associated - * with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the - * DB cluster to access other AWS services on your behalf.

                                                                + *

                                                                + * AllocatedStorage always returns 1, because Neptune DB cluster storage size is + * not fixed, but instead automatically adjusts as needed.

                                                                */ - AssociatedRoles?: DBClusterRole[]; + AllocatedStorage?: number; /** - *

                                                                Specifies whether the DB cluster has instances in multiple Availability Zones.

                                                                + *

                                                                Specifies the port that the database engine is listening on.

                                                                */ - MultiAZ?: boolean; + Port?: number; /** - *

                                                                Provides a list of VPC security groups that the DB cluster belongs to.

                                                                + *

                                                                Specifies the progress of the operation as a percentage.

                                                                */ - VpcSecurityGroups?: VpcSecurityGroupMembership[]; + PercentProgress?: string; + + /** + *

                                                                + * (Not supported by Neptune) + *

                                                                + */ + CharacterSetName?: string; /** *

                                                                True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts @@ -1558,20 +1581,26 @@ export interface DBCluster { */ IAMDatabaseAuthenticationEnabled?: boolean; + /** + *

                                                                Specifies the time when the DB cluster was created, in Universal Coordinated Time + * (UTC).

                                                                + */ + ClusterCreateTime?: Date; + /** *

                                                                Specifies whether the DB cluster is encrypted.

                                                                */ StorageEncrypted?: boolean; /** - *

                                                                Not supported by Neptune.

                                                                + *

                                                                Specifies whether the DB cluster has instances in multiple Availability Zones.

                                                                */ - ReplicationSourceIdentifier?: string; + MultiAZ?: boolean; /** - *

                                                                Specifies the connection endpoint for the primary instance of the DB cluster.

                                                                + *

                                                                Provides the list of instances that make up the DB cluster.

                                                                */ - Endpoint?: string; + DBClusterMembers?: DBClusterMember[]; /** *

                                                                Contains the master username for the DB cluster.

                                                                @@ -1579,83 +1608,54 @@ export interface DBCluster { MasterUsername?: string; /** - *

                                                                Specifies the number of days for which automatic DB snapshots are retained.

                                                                + *

                                                                Not supported by Neptune.

                                                                */ - BackupRetentionPeriod?: number; + ReplicationSourceIdentifier?: string; /** - *

                                                                Specifies the progress of the operation as a percentage.

                                                                + *

                                                                Specifies the daily time range during which automated backups are created if automated + * backups are enabled, as determined by the BackupRetentionPeriod.

                                                                */ - PercentProgress?: string; + PreferredBackupWindow?: string; /** - *

                                                                Contains a user-supplied DB cluster identifier. This identifier is the unique key that - * identifies a DB cluster.

                                                                + *

                                                                Specifies the weekly time range during which system maintenance can occur, in Universal + * Coordinated Time (UTC).

                                                                */ - DBClusterIdentifier?: string; + PreferredMaintenanceWindow?: string; /** - *

                                                                Identifies the clone group to which the DB cluster is associated.

                                                                + *

                                                                Specifies information on the subnet group associated with the DB cluster, including the + * name, description, and subnets in the subnet group.

                                                                */ - CloneGroupId?: string; + DBSubnetGroup?: string; /** - *

                                                                The AWS Region-unique, immutable identifier for the DB cluster. This identifier is found - * in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

                                                                + *

                                                                Provides a list of VPC security groups that the DB cluster belongs to.

                                                                */ - DbClusterResourceId?: string; + VpcSecurityGroups?: VpcSecurityGroupMembership[]; /** - *

                                                                Provides the list of instances that make up the DB cluster.

                                                                + *

                                                                Provides a list of the AWS Identity and Access Management (IAM) roles that are associated + * with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the + * DB cluster to access other AWS services on your behalf.

                                                                */ - DBClusterMembers?: DBClusterMember[]; + AssociatedRoles?: DBClusterRole[]; /** - *

                                                                - * AllocatedStorage always returns 1, because Neptune DB cluster storage size is - * not fixed, but instead automatically adjusts as needed.

                                                                + *

                                                                The Amazon Resource Name (ARN) for the DB cluster.

                                                                */ - AllocatedStorage?: number; + DBClusterArn?: string; /** - *

                                                                Contains one or more identifiers of the Read Replicas associated with this DB - * cluster.

                                                                + *

                                                                A list of log types that this DB cluster is configured to export to CloudWatch Logs.

                                                                */ - ReadReplicaIdentifiers?: string[]; - - /** - *

                                                                Specifies the current state of this DB cluster.

                                                                - */ - Status?: string; - - /** - *

                                                                Specifies the earliest time to which a database can be restored with point-in-time - * restore.

                                                                - */ - EarliestRestorableTime?: Date; - - /** - *

                                                                Indicates the database engine version.

                                                                - */ - EngineVersion?: string; - - /** - *

                                                                - * (Not supported by Neptune) - *

                                                                - */ - CharacterSetName?: string; - - /** - *

                                                                Specifies the time when the DB cluster was created, in Universal Coordinated Time - * (UTC).

                                                                - */ - ClusterCreateTime?: Date; + EnabledCloudwatchLogsExports?: string[]; /** - *

                                                                Specifies the port that the database engine is listening on.

                                                                + *

                                                                Specifies the name of the DB cluster parameter group for the DB cluster.

                                                                */ - Port?: number; + DBClusterParameterGroup?: string; } export namespace DBCluster { @@ -1886,16 +1886,6 @@ export namespace StorageQuotaExceededFault { } export interface CreateDBClusterParameterGroupMessage { - /** - *

                                                                The description for the DB cluster parameter group.

                                                                - */ - Description: string | undefined; - - /** - *

                                                                The tags to be assigned to the new DB cluster parameter group.

                                                                - */ - Tags?: Tag[]; - /** *

                                                                The name of the DB cluster parameter group.

                                                                *

                                                                Constraints:

                                                                @@ -1910,6 +1900,16 @@ export interface CreateDBClusterParameterGroupMessage { */ DBClusterParameterGroupName: string | undefined; + /** + *

                                                                The tags to be assigned to the new DB cluster parameter group.

                                                                + */ + Tags?: Tag[]; + + /** + *

                                                                The description for the DB cluster parameter group.

                                                                + */ + Description: string | undefined; + /** *

                                                                The DB cluster parameter group family name. A DB cluster parameter group can be associated * with one and only one DB cluster parameter group family, and can be applied only to a DB @@ -1945,20 +1945,6 @@ export interface CreateDBClusterSnapshotMessage { */ Tags?: Tag[]; - /** - *

                                                                The identifier of the DB cluster to create a snapshot for. This parameter is not - * case-sensitive.

                                                                - *

                                                                Constraints:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  Must match the identifier of an existing DBCluster.

                                                                  - *
                                                                • - *
                                                                - *

                                                                Example: my-cluster1 - *

                                                                - */ - DBClusterIdentifier: string | undefined; - /** *

                                                                The identifier of the DB cluster snapshot. This parameter is stored as a lowercase * string.

                                                                @@ -1978,6 +1964,20 @@ export interface CreateDBClusterSnapshotMessage { *

                                                                */ DBClusterSnapshotIdentifier: string | undefined; + + /** + *

                                                                The identifier of the DB cluster to create a snapshot for. This parameter is not + * case-sensitive.

                                                                + *

                                                                Constraints:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  Must match the identifier of an existing DBCluster.

                                                                  + *
                                                                • + *
                                                                + *

                                                                Example: my-cluster1 + *

                                                                + */ + DBClusterIdentifier: string | undefined; } export namespace CreateDBClusterSnapshotMessage { @@ -2020,33 +2020,6 @@ export namespace AuthorizationNotFoundFault { } export interface CreateDBInstanceMessage { - /** - *

                                                                Specify the name of the IAM role to be used when making API calls to the Directory - * Service.

                                                                - */ - DomainIAMRoleName?: string; - - /** - *

                                                                A value that specifies the order in which an Read Replica is promoted to the primary - * instance after a failure of the existing primary instance. - *

                                                                - *

                                                                Default: 1

                                                                - *

                                                                Valid Values: 0 - 15

                                                                - */ - PromotionTier?: number; - - /** - *

                                                                The password for the master user. The password can include any printable ASCII character - * except "/", """, or "@".

                                                                - *

                                                                Not used.

                                                                - */ - MasterUserPassword?: string; - - /** - *

                                                                Specify the Active Directory Domain to create the instance in.

                                                                - */ - Domain?: string; - /** *

                                                                The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to * Amazon CloudWatch Logs. For example, @@ -2056,24 +2029,6 @@ export interface CreateDBInstanceMessage { */ MonitoringRoleArn?: string; - /** - *

                                                                The tags to assign to the new instance.

                                                                - */ - Tags?: Tag[]; - - /** - *

                                                                True to enable AWS Identity and Access Management (IAM) authentication for Neptune.

                                                                - *

                                                                Default: false - *

                                                                - */ - EnableIAMDatabaseAuthentication?: boolean; - - /** - *

                                                                Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone - * parameter if the MultiAZ parameter is set to true.

                                                                - */ - MultiAZ?: boolean; - /** *

                                                                The ARN from the key store with which to associate the instance for TDE encryption.

                                                                */ @@ -2084,37 +2039,27 @@ export interface CreateDBInstanceMessage { * (Not supported by Neptune) *

                                                                */ - PerformanceInsightsKMSKeyId?: string; + CharacterSetName?: string; /** - *

                                                                This flag should no longer be used.

                                                                + *

                                                                + * (Not supported by Neptune) + *

                                                                */ - PubliclyAccessible?: boolean; + PerformanceInsightsKMSKeyId?: string; /** - *

                                                                The identifier of the DB cluster that the instance will belong to.

                                                                - *

                                                                For information on creating a DB cluster, see CreateDBCluster.

                                                                - *

                                                                Type: String

                                                                + *

                                                                True to enable AWS Identity and Access Management (IAM) authentication for Neptune.

                                                                + *

                                                                Default: false + *

                                                                */ - DBClusterIdentifier?: string; + EnableIAMDatabaseAuthentication?: boolean; /** - *

                                                                The number of days for which automated backups are - * retained.

                                                                - *

                                                                Not applicable. The retention period for automated backups is managed by the DB cluster. - * For more information, see CreateDBCluster.

                                                                - *

                                                                Default: 1

                                                                - *

                                                                Constraints:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  Must be a value from 0 to 35

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Cannot be set to 0 if the DB instance is a source to Read Replicas

                                                                  - *
                                                                • - *
                                                                + *

                                                                Specify the name of the IAM role to be used when making API calls to the Directory + * Service.

                                                                */ - BackupRetentionPeriod?: number; + DomainIAMRoleName?: string; /** *

                                                                The port number on which the database accepts connections.

                                                                @@ -2126,98 +2071,95 @@ export interface CreateDBInstanceMessage { Port?: number; /** - *

                                                                - * (Not supported by Neptune) - *

                                                                + *

                                                                True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise + * false. The default is false.

                                                                */ - CharacterSetName?: string; + CopyTagsToSnapshot?: boolean; /** - *

                                                                A list of EC2 VPC security groups to associate with this DB instance.

                                                                - *

                                                                Not applicable. The associated list of EC2 VPC security groups is managed by the DB - * cluster. For more information, see CreateDBCluster.

                                                                - *

                                                                Default: The default EC2 VPC security group for the DB subnet group's VPC.

                                                                + *

                                                                Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone + * parameter if the MultiAZ parameter is set to true.

                                                                */ - VpcSecurityGroupIds?: string[]; + MultiAZ?: boolean; /** - *

                                                                The version number of the database engine to use. Currently, setting this - * parameter has no effect.

                                                                + *

                                                                A value that specifies the order in which an Read Replica is promoted to the primary + * instance after a failure of the existing primary instance. + *

                                                                + *

                                                                Default: 1

                                                                + *

                                                                Valid Values: 0 - 15

                                                                */ - EngineVersion?: string; + PromotionTier?: number; /** - *

                                                                Specifies whether the DB instance is encrypted.

                                                                - *

                                                                Not applicable. The encryption for DB instances is managed by the DB cluster. For more - * information, see CreateDBCluster.

                                                                - *

                                                                Default: false

                                                                + *

                                                                The password for the master user. The password can include any printable ASCII character + * except "/", """, or "@".

                                                                + *

                                                                Not used.

                                                                */ - StorageEncrypted?: boolean; + MasterUserPassword?: string; /** - *

                                                                Specifies the storage type to be associated with the DB instance.

                                                                - *

                                                                Not applicable. Storage is managed by the DB Cluster.

                                                                + *

                                                                The number of days for which automated backups are + * retained.

                                                                + *

                                                                Not applicable. The retention period for automated backups is managed by the DB cluster. + * For more information, see CreateDBCluster.

                                                                + *

                                                                Default: 1

                                                                + *

                                                                Constraints:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  Must be a value from 0 to 35

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Cannot be set to 0 if the DB instance is a source to Read Replicas

                                                                  + *
                                                                • + *
                                                                */ - StorageType?: string; + BackupRetentionPeriod?: number; /** - *

                                                                The DB instance identifier. This parameter is stored as a lowercase string.

                                                                + *

                                                                The name of the DB parameter group to associate with this DB instance. If this argument is + * omitted, the default DBParameterGroup for the specified engine is used.

                                                                *

                                                                Constraints:

                                                                *
                                                                  *
                                                                • - *

                                                                  Must contain from 1 to 63 letters, numbers, or hyphens.

                                                                  + *

                                                                  Must be 1 to 255 letters, numbers, or hyphens.

                                                                  *
                                                                • *
                                                                • - *

                                                                  First character must be a letter.

                                                                  + *

                                                                  First character must be a letter

                                                                  *
                                                                • *
                                                                • - *

                                                                  Cannot end with a hyphen or contain two consecutive hyphens.

                                                                  + *

                                                                  Cannot end with a hyphen or contain two consecutive hyphens

                                                                  *
                                                                • *
                                                                - *

                                                                Example: mydbinstance - *

                                                                */ - DBInstanceIdentifier: string | undefined; + DBParameterGroupName?: string; /** - *

                                                                - * (Not supported by Neptune) - *

                                                                + *

                                                                A list of DB security groups to associate with this DB instance.

                                                                + *

                                                                Default: The default DB security group for the database engine.

                                                                */ - OptionGroupName?: string; + DBSecurityGroups?: string[]; /** - *

                                                                The amount of storage (in gibibytes) to allocate for the DB instance.

                                                                - *

                                                                Type: Integer

                                                                - *

                                                                Not applicable. Neptune cluster volumes automatically grow as the amount of data in your - * database increases, though you are only charged for the space that you use in a Neptune - * cluster volume.

                                                                + *

                                                                Specify the Active Directory Domain to create the instance in.

                                                                */ - AllocatedStorage?: number; + Domain?: string; /** - *

                                                                - * (Not supported by Neptune) + *

                                                                The interval, in seconds, between points when Enhanced Monitoring metrics are collected + * for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default + * is 0.

                                                                + *

                                                                If MonitoringRoleArn is specified, then you must also set + * MonitoringInterval to a value other than 0.

                                                                + *

                                                                Valid Values: 0, 1, 5, 10, 15, 30, 60 *

                                                                */ - EnablePerformanceInsights?: boolean; - - /** - *

                                                                The list of log types that need to be enabled for exporting to CloudWatch Logs.

                                                                - */ - EnableCloudwatchLogsExports?: string[]; - - /** - *

                                                                The amount of Provisioned IOPS (input/output operations per second) to be initially - * allocated for the DB instance.

                                                                - */ - Iops?: number; + MonitoringInterval?: number; /** - *

                                                                The compute and memory capacity of the DB instance, for example, db.m4.large. - * Not all DB instance classes are available in all AWS Regions.

                                                                + *

                                                                The name for the master user. Not used.

                                                                */ - DBInstanceClass: string | undefined; + MasterUsername?: string; /** *

                                                                Indicates that minor engine upgrades are applied automatically to the DB instance during @@ -2228,30 +2170,20 @@ export interface CreateDBInstanceMessage { AutoMinorVersionUpgrade?: boolean; /** - *

                                                                A list of DB security groups to associate with this DB instance.

                                                                - *

                                                                Default: The default DB security group for the database engine.

                                                                + *

                                                                Not supported.

                                                                */ - DBSecurityGroups?: string[]; + DBName?: string; /** - *

                                                                The name of the database engine to be used for this instance.

                                                                - *

                                                                Valid Values: neptune + *

                                                                The EC2 Availability Zone that the DB instance is created in

                                                                + *

                                                                Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

                                                                + *

                                                                Example: us-east-1d *

                                                                + *

                                                                Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is + * set to true. The specified Availability Zone must be in the same AWS Region as + * the current endpoint.

                                                                */ - Engine: string | undefined; - - /** - *

                                                                True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise - * false. The default is false.

                                                                - */ - CopyTagsToSnapshot?: boolean; - - /** - *

                                                                The daily time range during which automated backups are created.

                                                                - *

                                                                Not applicable. The daily time range for creating automated backups is managed by the DB - * cluster. For more information, see CreateDBCluster.

                                                                - */ - PreferredBackupWindow?: string; + AvailabilityZone?: string; /** *

                                                                The time range each week during which system maintenance can occur, in Universal @@ -2265,16 +2197,6 @@ export interface CreateDBInstanceMessage { */ PreferredMaintenanceWindow?: string; - /** - *

                                                                Not supported.

                                                                - */ - DBName?: string; - - /** - *

                                                                The name for the master user. Not used.

                                                                - */ - MasterUsername?: string; - /** *

                                                                The AWS KMS key identifier for an encrypted DB instance.

                                                                *

                                                                The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If @@ -2291,15 +2213,33 @@ export interface CreateDBInstanceMessage { KmsKeyId?: string; /** - *

                                                                The EC2 Availability Zone that the DB instance is created in

                                                                - *

                                                                Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

                                                                - *

                                                                Example: us-east-1d - *

                                                                - *

                                                                Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is - * set to true. The specified Availability Zone must be in the same AWS Region as - * the current endpoint.

                                                                + *

                                                                The daily time range during which automated backups are created.

                                                                + *

                                                                Not applicable. The daily time range for creating automated backups is managed by the DB + * cluster. For more information, see CreateDBCluster.

                                                                */ - AvailabilityZone?: string; + PreferredBackupWindow?: string; + + /** + *

                                                                A DB subnet group to associate with this DB instance.

                                                                + *

                                                                If there is no DB subnet group, then it is a non-VPC DB instance.

                                                                + */ + DBSubnetGroupName?: string; + + /** + *

                                                                A value that indicates whether the DB instance has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. See Deleting + * a DB Instance.

                                                                + * + *

                                                                DB instances in a DB cluster can be deleted even when deletion + * protection is enabled in their parent DB cluster.

                                                                + */ + DeletionProtection?: boolean; + + /** + *

                                                                The time zone of the DB instance.

                                                                + */ + Timezone?: string; /** *

                                                                License model information for this DB instance.

                                                                @@ -2310,60 +2250,120 @@ export interface CreateDBInstanceMessage { LicenseModel?: string; /** - *

                                                                The time zone of the DB instance.

                                                                + *

                                                                The password for the given ARN from the key store in order to access the device.

                                                                */ - Timezone?: string; + TdeCredentialPassword?: string; /** - *

                                                                The interval, in seconds, between points when Enhanced Monitoring metrics are collected - * for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default - * is 0.

                                                                - *

                                                                If MonitoringRoleArn is specified, then you must also set - * MonitoringInterval to a value other than 0.

                                                                - *

                                                                Valid Values: 0, 1, 5, 10, 15, 30, 60 + *

                                                                + * (Not supported by Neptune) *

                                                                */ - MonitoringInterval?: number; + EnablePerformanceInsights?: boolean; /** - *

                                                                A value that indicates whether the DB instance has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. See Deleting - * a DB Instance.

                                                                - * - *

                                                                DB instances in a DB cluster can be deleted even when deletion - * protection is enabled in their parent DB cluster.

                                                                + *

                                                                The amount of Provisioned IOPS (input/output operations per second) to be initially + * allocated for the DB instance.

                                                                */ - DeletionProtection?: boolean; + Iops?: number; /** - *

                                                                A DB subnet group to associate with this DB instance.

                                                                - *

                                                                If there is no DB subnet group, then it is a non-VPC DB instance.

                                                                + *

                                                                Specifies the storage type to be associated with the DB instance.

                                                                + *

                                                                Not applicable. Storage is managed by the DB Cluster.

                                                                */ - DBSubnetGroupName?: string; + StorageType?: string; /** - *

                                                                The password for the given ARN from the key store in order to access the device.

                                                                + *

                                                                The version number of the database engine to use. Currently, setting this + * parameter has no effect.

                                                                */ - TdeCredentialPassword?: string; + EngineVersion?: string; /** - *

                                                                The name of the DB parameter group to associate with this DB instance. If this argument is - * omitted, the default DBParameterGroup for the specified engine is used.

                                                                + *

                                                                The list of log types that need to be enabled for exporting to CloudWatch Logs.

                                                                + */ + EnableCloudwatchLogsExports?: string[]; + + /** + *

                                                                The name of the database engine to be used for this instance.

                                                                + *

                                                                Valid Values: neptune + *

                                                                + */ + Engine: string | undefined; + + /** + *

                                                                This flag should no longer be used.

                                                                + */ + PubliclyAccessible?: boolean; + + /** + *

                                                                The compute and memory capacity of the DB instance, for example, db.m4.large. + * Not all DB instance classes are available in all AWS Regions.

                                                                + */ + DBInstanceClass: string | undefined; + + /** + *

                                                                The tags to assign to the new instance.

                                                                + */ + Tags?: Tag[]; + + /** + *

                                                                A list of EC2 VPC security groups to associate with this DB instance.

                                                                + *

                                                                Not applicable. The associated list of EC2 VPC security groups is managed by the DB + * cluster. For more information, see CreateDBCluster.

                                                                + *

                                                                Default: The default EC2 VPC security group for the DB subnet group's VPC.

                                                                + */ + VpcSecurityGroupIds?: string[]; + + /** + *

                                                                + * (Not supported by Neptune) + *

                                                                + */ + OptionGroupName?: string; + + /** + *

                                                                The identifier of the DB cluster that the instance will belong to.

                                                                + *

                                                                For information on creating a DB cluster, see CreateDBCluster.

                                                                + *

                                                                Type: String

                                                                + */ + DBClusterIdentifier?: string; + + /** + *

                                                                The DB instance identifier. This parameter is stored as a lowercase string.

                                                                *

                                                                Constraints:

                                                                *
                                                                  *
                                                                • - *

                                                                  Must be 1 to 255 letters, numbers, or hyphens.

                                                                  + *

                                                                  Must contain from 1 to 63 letters, numbers, or hyphens.

                                                                  *
                                                                • *
                                                                • - *

                                                                  First character must be a letter

                                                                  + *

                                                                  First character must be a letter.

                                                                  *
                                                                • *
                                                                • - *

                                                                  Cannot end with a hyphen or contain two consecutive hyphens

                                                                  + *

                                                                  Cannot end with a hyphen or contain two consecutive hyphens.

                                                                  *
                                                                • *
                                                                + *

                                                                Example: mydbinstance + *

                                                                + */ + DBInstanceIdentifier: string | undefined; + + /** + *

                                                                The amount of storage (in gibibytes) to allocate for the DB instance.

                                                                + *

                                                                Type: Integer

                                                                + *

                                                                Not applicable. Neptune cluster volumes automatically grow as the amount of data in your + * database increases, though you are only charged for the space that you use in a Neptune + * cluster volume.

                                                                */ - DBParameterGroupName?: string; + AllocatedStorage?: number; + + /** + *

                                                                Specifies whether the DB instance is encrypted.

                                                                + *

                                                                Not applicable. The encryption for DB instances is managed by the DB cluster. For more + * information, see CreateDBCluster.

                                                                + *

                                                                Default: false

                                                                + */ + StorageEncrypted?: boolean; } export namespace CreateDBInstanceMessage { @@ -2400,14 +2400,14 @@ export namespace CreateDBInstanceMessage { */ export interface DBParameterGroupStatus { /** - *

                                                                The status of parameter updates.

                                                                + *

                                                                The name of the DP parameter group.

                                                                */ - ParameterApplyStatus?: string; + DBParameterGroupName?: string; /** - *

                                                                The name of the DP parameter group.

                                                                + *

                                                                The status of parameter updates.

                                                                */ - DBParameterGroupName?: string; + ParameterApplyStatus?: string; } export namespace DBParameterGroupStatus { @@ -2459,9 +2459,9 @@ export namespace AvailabilityZone { */ export interface Subnet { /** - *

                                                                Specifies the status of the subnet.

                                                                + *

                                                                Specifies the EC2 Availability Zone that the subnet is in.

                                                                */ - SubnetStatus?: string; + SubnetAvailabilityZone?: AvailabilityZone; /** *

                                                                Specifies the identifier of the subnet.

                                                                @@ -2469,9 +2469,9 @@ export interface Subnet { SubnetIdentifier?: string; /** - *

                                                                Specifies the EC2 Availability Zone that the subnet is in.

                                                                + *

                                                                Specifies the status of the subnet.

                                                                */ - SubnetAvailabilityZone?: AvailabilityZone; + SubnetStatus?: string; } export namespace Subnet { @@ -2485,15 +2485,20 @@ export namespace Subnet { *

                                                                This data type is used as a response element in the DescribeDBSubnetGroups action.

                                                                */ export interface DBSubnetGroup { + /** + *

                                                                The name of the DB subnet group.

                                                                + */ + DBSubnetGroupName?: string; + /** *

                                                                Provides the VpcId of the DB subnet group.

                                                                */ VpcId?: string; /** - *

                                                                The Amazon Resource Name (ARN) for the DB subnet group.

                                                                + *

                                                                Provides the status of the DB subnet group.

                                                                */ - DBSubnetGroupArn?: string; + SubnetGroupStatus?: string; /** *

                                                                Provides the description of the DB subnet group.

                                                                @@ -2501,14 +2506,9 @@ export interface DBSubnetGroup { DBSubnetGroupDescription?: string; /** - *

                                                                Provides the status of the DB subnet group.

                                                                - */ - SubnetGroupStatus?: string; - - /** - *

                                                                The name of the DB subnet group.

                                                                + *

                                                                The Amazon Resource Name (ARN) for the DB subnet group.

                                                                */ - DBSubnetGroupName?: string; + DBSubnetGroupArn?: string; /** *

                                                                Contains a list of Subnet elements.

                                                                @@ -2527,14 +2527,14 @@ export namespace DBSubnetGroup { */ export interface DomainMembership { /** - *

                                                                The identifier of the Active Directory Domain.

                                                                + *

                                                                The fully qualified domain name of the Active Directory Domain.

                                                                */ - Domain?: string; + FQDN?: string; /** - *

                                                                The name of the IAM role to be used when making API calls to the Directory Service.

                                                                + *

                                                                The identifier of the Active Directory Domain.

                                                                */ - IAMRoleName?: string; + Domain?: string; /** *

                                                                The status of the DB instance's Active Directory Domain membership, such as joined, @@ -2543,9 +2543,9 @@ export interface DomainMembership { Status?: string; /** - *

                                                                The fully qualified domain name of the Active Directory Domain.

                                                                + *

                                                                The name of the IAM role to be used when making API calls to the Directory Service.

                                                                */ - FQDN?: string; + IAMRoleName?: string; } export namespace DomainMembership { @@ -2584,6 +2584,11 @@ export namespace Endpoint { *

                                                                Provides information on the option groups the DB instance is a member of.

                                                                */ export interface OptionGroupMembership { + /** + *

                                                                The name of the option group that the instance belongs to.

                                                                + */ + OptionGroupName?: string; + /** *

                                                                The status of the DB instance's option group membership. Valid values are: * in-sync, pending-apply, pending-removal, @@ -2591,11 +2596,6 @@ export interface OptionGroupMembership { * applying, removing, and failed.

                                                                */ Status?: string; - - /** - *

                                                                The name of the option group that the instance belongs to.

                                                                - */ - OptionGroupName?: string; } export namespace OptionGroupMembership { @@ -2609,17 +2609,17 @@ export namespace OptionGroupMembership { * words, these log types are in the process of being activated or deactivated.

                                                                */ export interface PendingCloudwatchLogsExports { - /** - *

                                                                Log types that are in the process of being enabled. After they are - * enabled, these log types are exported to CloudWatch Logs.

                                                                - */ - LogTypesToDisable?: string[]; - /** *

                                                                Log types that are in the process of being deactivated. After they are * deactivated, these log types aren't exported to CloudWatch Logs.

                                                                */ LogTypesToEnable?: string[]; + + /** + *

                                                                Log types that are in the process of being enabled. After they are + * enabled, these log types are exported to CloudWatch Logs.

                                                                + */ + LogTypesToDisable?: string[]; } export namespace PendingCloudwatchLogsExports { @@ -2634,9 +2634,15 @@ export namespace PendingCloudwatchLogsExports { */ export interface PendingModifiedValues { /** - *

                                                                Specifies the storage type to be associated with the DB instance.

                                                                + *

                                                                Contains the new AllocatedStorage size for the DB instance that will be + * applied or is currently being applied.

                                                                */ - StorageType?: string; + AllocatedStorage?: number; + + /** + *

                                                                Specifies the pending number of days for which automated backups are retained.

                                                                + */ + BackupRetentionPeriod?: number; /** *

                                                                The license model for the DB instance.

                                                                @@ -2647,14 +2653,14 @@ export interface PendingModifiedValues { LicenseModel?: string; /** - *

                                                                Specifies the pending port for the DB instance.

                                                                + *

                                                                Specifies the identifier of the CA certificate for the DB instance.

                                                                */ - Port?: number; + CACertificateIdentifier?: string; /** - *

                                                                Indicates the database engine version.

                                                                + *

                                                                The new DB subnet group for the DB instance.

                                                                */ - EngineVersion?: string; + DBSubnetGroupName?: string; /** *

                                                                Specifies the new Provisioned IOPS value for the DB instance that will be applied or is @@ -2663,38 +2669,37 @@ export interface PendingModifiedValues { Iops?: number; /** - *

                                                                Contains the new AllocatedStorage size for the DB instance that will be + *

                                                                Contains the new DBInstanceIdentifier for the DB instance that will be * applied or is currently being applied.

                                                                */ - AllocatedStorage?: number; + DBInstanceIdentifier?: string; /** - *

                                                                The new DB subnet group for the DB instance.

                                                                + *

                                                                Indicates the database engine version.

                                                                */ - DBSubnetGroupName?: string; + EngineVersion?: string; /** - *

                                                                Contains the pending or currently-in-progress change of the master credentials for the DB - * instance.

                                                                + *

                                                                Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

                                                                */ - MasterUserPassword?: string; + MultiAZ?: boolean; /** - *

                                                                Specifies the identifier of the CA certificate for the DB instance.

                                                                + *

                                                                This PendingCloudwatchLogsExports structure specifies + * pending changes to which CloudWatch logs are enabled and which are disabled.

                                                                */ - CACertificateIdentifier?: string; + PendingCloudwatchLogsExports?: PendingCloudwatchLogsExports; /** - *

                                                                Contains the new DBInstanceIdentifier for the DB instance that will be - * applied or is currently being applied.

                                                                + *

                                                                Specifies the storage type to be associated with the DB instance.

                                                                */ - DBInstanceIdentifier?: string; + StorageType?: string; /** - *

                                                                This PendingCloudwatchLogsExports structure specifies - * pending changes to which CloudWatch logs are enabled and which are disabled.

                                                                + *

                                                                Contains the pending or currently-in-progress change of the master credentials for the DB + * instance.

                                                                */ - PendingCloudwatchLogsExports?: PendingCloudwatchLogsExports; + MasterUserPassword?: string; /** *

                                                                Contains the new DBInstanceClass for the DB instance that will be applied or @@ -2703,14 +2708,9 @@ export interface PendingModifiedValues { DBInstanceClass?: string; /** - *

                                                                Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

                                                                - */ - MultiAZ?: boolean; - - /** - *

                                                                Specifies the pending number of days for which automated backups are retained.

                                                                + *

                                                                Specifies the pending port for the DB instance.

                                                                */ - BackupRetentionPeriod?: number; + Port?: number; } export namespace PendingModifiedValues { @@ -2723,17 +2723,6 @@ export namespace PendingModifiedValues { *

                                                                Provides a list of status information for a DB instance.

                                                                */ export interface DBInstanceStatusInfo { - /** - *

                                                                Status of the DB instance. For a StatusType of read replica, the values can be - * replicating, error, stopped, or terminated.

                                                                - */ - Status?: string; - - /** - *

                                                                This value is currently "read replication."

                                                                - */ - StatusType?: string; - /** *

                                                                Details of the error if there is an error for the instance. If the instance is not in an * error state, this value is blank.

                                                                @@ -2745,6 +2734,17 @@ export interface DBInstanceStatusInfo { * is in an error state.

                                                                */ Normal?: boolean; + + /** + *

                                                                This value is currently "read replication."

                                                                + */ + StatusType?: string; + + /** + *

                                                                Status of the DB instance. For a StatusType of read replica, the values can be + * replicating, error, stopped, or terminated.

                                                                + */ + Status?: string; } export namespace DBInstanceStatusInfo { @@ -2759,14 +2759,9 @@ export namespace DBInstanceStatusInfo { */ export interface DBInstance { /** - *

                                                                Specifies the name of the Availability Zone the DB instance is located in.

                                                                - */ - AvailabilityZone?: string; - - /** - *

                                                                The database name.

                                                                + *

                                                                The identifier of the CA certificate for this DB instance.

                                                                */ - DBName?: string; + CACertificateIdentifier?: string; /** *

                                                                Contains one or more identifiers of the Read Replicas associated with this DB @@ -2775,102 +2770,62 @@ export interface DBInstance { ReadReplicaDBInstanceIdentifiers?: string[]; /** - *

                                                                Specifies the allocated storage size specified in gibibytes.

                                                                - */ - AllocatedStorage?: number; - - /** - *

                                                                The identifier of the CA certificate for this DB instance.

                                                                - */ - CACertificateIdentifier?: string; - - /** - *

                                                                Contains the name of the compute and memory capacity class of the DB instance.

                                                                - */ - DBInstanceClass?: string; - - /** - *

                                                                Specifies the latest time to which a database can be restored with point-in-time - * restore.

                                                                + *

                                                                The database name.

                                                                */ - LatestRestorableTime?: Date; + DBName?: string; /** - *

                                                                Provides the name of the database engine to be used for this DB instance.

                                                                + *

                                                                Specifies the name of the Availability Zone the DB instance is located in.

                                                                */ - Engine?: string; + AvailabilityZone?: string; /** - *

                                                                The interval, in seconds, between points when Enhanced Monitoring metrics are collected - * for the DB instance.

                                                                + *

                                                                Contains the identifier of the source DB instance if this DB instance is a Read + * Replica.

                                                                */ - MonitoringInterval?: number; + ReadReplicaSourceDBInstanceIdentifier?: string; /** - *

                                                                A list of log types that this DB instance is configured to export to CloudWatch - * Logs.

                                                                + *

                                                                The ARN for the IAM role that permits Neptune to send Enhanced Monitoring metrics to + * Amazon CloudWatch Logs.

                                                                */ - EnabledCloudwatchLogsExports?: string[]; + MonitoringRoleArn?: string; /** - *

                                                                The Amazon Resource Name (ARN) for the DB instance.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the + * Enhanced Monitoring metrics data for the DB instance.

                                                                */ - DBInstanceArn?: string; + EnhancedMonitoringResourceArn?: string; /** - *

                                                                Specifies the current state of this database.

                                                                + *

                                                                A value that specifies the order in which a Read Replica is promoted to the primary + * instance after a failure of the existing primary instance. + *

                                                                */ - DBInstanceStatus?: string; + PromotionTier?: number; /** - *

                                                                If the DB instance is a member of a DB cluster, contains the name of the DB cluster that - * the DB instance is a member of.

                                                                + *

                                                                Specifies the allocated storage size specified in gibibytes.

                                                                */ - DBClusterIdentifier?: string; + AllocatedStorage?: number; /** - *

                                                                Not supported

                                                                + *

                                                                + * (Not supported by Neptune) + *

                                                                */ - DomainMemberships?: DomainMembership[]; + CharacterSetName?: string; /** - *

                                                                Specifies whether tags are copied from the DB instance to snapshots of the DB - * instance.

                                                                + *

                                                                Indicates the database engine version.

                                                                */ - CopyTagsToSnapshot?: boolean; + EngineVersion?: string; /** *

                                                                Contains one or more identifiers of DB clusters that are Read Replicas of this DB - * instance.

                                                                - */ - ReadReplicaDBClusterIdentifiers?: string[]; - - /** - *

                                                                Not supported: The encryption for DB instances is managed by the DB cluster.

                                                                - */ - StorageEncrypted?: boolean; - - /** - *

                                                                Not supported.

                                                                - */ - Timezone?: string; - - /** - *

                                                                The ARN for the IAM role that permits Neptune to send Enhanced Monitoring metrics to - * Amazon CloudWatch Logs.

                                                                - */ - MonitoringRoleArn?: string; - - /** - *

                                                                If present, specifies the name of the secondary Availability Zone for a DB instance with - * multi-AZ support.

                                                                - */ - SecondaryAvailabilityZone?: string; - - /** - *

                                                                Provides the date and time the DB instance was created.

                                                                + * instance.

                                                                */ - InstanceCreateTime?: Date; + ReadReplicaDBClusterIdentifiers?: string[]; /** *

                                                                Contains the master username for the DB instance.

                                                                @@ -2884,52 +2839,58 @@ export interface DBInstance { DBSecurityGroups?: DBSecurityGroupMembership[]; /** - *

                                                                A value that specifies the order in which a Read Replica is promoted to the primary - * instance after a failure of the existing primary instance. - *

                                                                + *

                                                                Not supported

                                                                */ - PromotionTier?: number; + DomainMemberships?: DomainMembership[]; /** - *

                                                                The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the - * Enhanced Monitoring metrics data for the DB instance.

                                                                + *

                                                                If present, specifies the name of the secondary Availability Zone for a DB instance with + * multi-AZ support.

                                                                */ - EnhancedMonitoringResourceArn?: string; + SecondaryAvailabilityZone?: string; /** - *

                                                                Contains a user-supplied database identifier. This identifier is the unique key that - * identifies a DB instance.

                                                                + *

                                                                + * (Not supported by Neptune) + *

                                                                */ - DBInstanceIdentifier?: string; + OptionGroupMemberships?: OptionGroupMembership[]; /** - *

                                                                Contains the identifier of the source DB instance if this DB instance is a Read - * Replica.

                                                                + *

                                                                Provides the date and time the DB instance was created.

                                                                */ - ReadReplicaSourceDBInstanceIdentifier?: string; + InstanceCreateTime?: Date; /** - *

                                                                Specifies the storage type associated with DB instance.

                                                                + *

                                                                The status of a Read Replica. If the instance is not a Read Replica, this is blank.

                                                                */ - StorageType?: string; + StatusInfos?: DBInstanceStatusInfo[]; /** - *

                                                                Indicates the database engine version.

                                                                + *

                                                                Specifies if the DB instance is a Multi-AZ deployment.

                                                                */ - EngineVersion?: string; + MultiAZ?: boolean; /** - *

                                                                - * (Not supported by Neptune) - *

                                                                + *

                                                                Specifies the current state of this database.

                                                                */ - CharacterSetName?: string; + DBInstanceStatus?: string; /** - *

                                                                Specifies the weekly time range during which system maintenance can occur, in Universal - * Coordinated Time (UTC).

                                                                + *

                                                                Specifies the latest time to which a database can be restored with point-in-time + * restore.

                                                                */ - PreferredMaintenanceWindow?: string; + LatestRestorableTime?: Date; + + /** + *

                                                                Contains the name of the compute and memory capacity class of the DB instance.

                                                                + */ + DBInstanceClass?: string; + + /** + *

                                                                Not supported.

                                                                + */ + Timezone?: string; /** *

                                                                Indicates whether or not the DB instance has deletion protection enabled. @@ -2939,36 +2900,48 @@ export interface DBInstance { DeletionProtection?: boolean; /** - *

                                                                This flag should no longer be used.

                                                                + *

                                                                Provides a list of VPC security group elements that the DB instance belongs to.

                                                                */ - PubliclyAccessible?: boolean; + VpcSecurityGroups?: VpcSecurityGroupMembership[]; /** - *

                                                                Specifies information on the subnet group associated with the DB instance, including the - * name, description, and subnets in the subnet group.

                                                                + *

                                                                The interval, in seconds, between points when Enhanced Monitoring metrics are collected + * for the DB instance.

                                                                */ - DBSubnetGroup?: DBSubnetGroup; + MonitoringInterval?: number; /** - *

                                                                License model information for this DB instance.

                                                                + *

                                                                Indicates that minor version patches are applied automatically.

                                                                */ - LicenseModel?: string; + AutoMinorVersionUpgrade?: boolean; /** *

                                                                Specifies the connection endpoint.

                                                                */ Endpoint?: Endpoint; + /** + *

                                                                Specifies the port that the DB instance listens on. If the DB instance is part of a DB + * cluster, this can be a different port than the DB cluster port.

                                                                + */ + DbInstancePort?: number; + + /** + *

                                                                This flag should no longer be used.

                                                                + */ + PubliclyAccessible?: boolean; + /** *

                                                                Not supported: The encryption for DB instances is managed by the DB cluster.

                                                                */ KmsKeyId?: string; /** - *

                                                                Specifies the port that the DB instance listens on. If the DB instance is part of a DB - * cluster, this can be a different port than the DB cluster port.

                                                                + *

                                                                + * (Not supported by Neptune) + *

                                                                */ - DbInstancePort?: number; + PerformanceInsightsKMSKeyId?: string; /** *

                                                                Specifies that changes to the DB instance are pending. This element is only included when @@ -2977,59 +2950,88 @@ export interface DBInstance { PendingModifiedValues?: PendingModifiedValues; /** - *

                                                                Provides the list of DB parameter groups applied to this DB instance.

                                                                + *

                                                                Not supported: The encryption for DB instances is managed by the DB cluster.

                                                                */ - DBParameterGroups?: DBParameterGroupStatus[]; + StorageEncrypted?: boolean; /** - *

                                                                Specifies the Provisioned IOPS (I/O operations per second) value.

                                                                + *

                                                                Contains a user-supplied database identifier. This identifier is the unique key that + * identifies a DB instance.

                                                                */ - Iops?: number; + DBInstanceIdentifier?: string; /** - *

                                                                Indicates that minor version patches are applied automatically.

                                                                + *

                                                                Specifies the storage type associated with DB instance.

                                                                */ - AutoMinorVersionUpgrade?: boolean; + StorageType?: string; /** - *

                                                                The ARN from the key store with which the instance is associated for TDE - * encryption.

                                                                + *

                                                                Specifies whether tags are copied from the DB instance to snapshots of the DB + * instance.

                                                                */ - TdeCredentialArn?: string; + CopyTagsToSnapshot?: boolean; /** - *

                                                                Specifies if the DB instance is a Multi-AZ deployment.

                                                                + *

                                                                Specifies the daily time range during which automated backups are created if automated + * backups are enabled, as determined by the BackupRetentionPeriod.

                                                                */ - MultiAZ?: boolean; + PreferredBackupWindow?: string; /** - *

                                                                Provides a list of VPC security group elements that the DB instance belongs to.

                                                                + *

                                                                If the DB instance is a member of a DB cluster, contains the name of the DB cluster that + * the DB instance is a member of.

                                                                */ - VpcSecurityGroups?: VpcSecurityGroupMembership[]; + DBClusterIdentifier?: string; /** - *

                                                                - * (Not supported by Neptune) - *

                                                                + *

                                                                Specifies the number of days for which automatic DB snapshots are retained.

                                                                */ - PerformanceInsightsKMSKeyId?: string; + BackupRetentionPeriod?: number; /** - *

                                                                The status of a Read Replica. If the instance is not a Read Replica, this is blank.

                                                                + *

                                                                The Amazon Resource Name (ARN) for the DB instance.

                                                                */ - StatusInfos?: DBInstanceStatusInfo[]; + DBInstanceArn?: string; /** *

                                                                * (Not supported by Neptune) *

                                                                */ - OptionGroupMemberships?: OptionGroupMembership[]; + PerformanceInsightsEnabled?: boolean; /** - *

                                                                Specifies the number of days for which automatic DB snapshots are retained.

                                                                + *

                                                                Provides the name of the database engine to be used for this DB instance.

                                                                */ - BackupRetentionPeriod?: number; + Engine?: string; + + /** + *

                                                                Provides the list of DB parameter groups applied to this DB instance.

                                                                + */ + DBParameterGroups?: DBParameterGroupStatus[]; + + /** + *

                                                                True if AWS Identity and Access Management (IAM) authentication is enabled, and otherwise + * false.

                                                                + */ + IAMDatabaseAuthenticationEnabled?: boolean; + + /** + *

                                                                The ARN from the key store with which the instance is associated for TDE + * encryption.

                                                                + */ + TdeCredentialArn?: string; + + /** + *

                                                                License model information for this DB instance.

                                                                + */ + LicenseModel?: string; + + /** + *

                                                                Specifies information on the subnet group associated with the DB instance, including the + * name, description, and subnets in the subnet group.

                                                                + */ + DBSubnetGroup?: DBSubnetGroup; /** *

                                                                The AWS Region-unique, immutable identifier for the DB instance. This identifier is found @@ -3038,23 +3040,21 @@ export interface DBInstance { DbiResourceId?: string; /** - *

                                                                Specifies the daily time range during which automated backups are created if automated - * backups are enabled, as determined by the BackupRetentionPeriod.

                                                                + *

                                                                Specifies the weekly time range during which system maintenance can occur, in Universal + * Coordinated Time (UTC).

                                                                */ - PreferredBackupWindow?: string; + PreferredMaintenanceWindow?: string; /** - *

                                                                True if AWS Identity and Access Management (IAM) authentication is enabled, and otherwise - * false.

                                                                + *

                                                                A list of log types that this DB instance is configured to export to CloudWatch + * Logs.

                                                                */ - IAMDatabaseAuthenticationEnabled?: boolean; + EnabledCloudwatchLogsExports?: string[]; /** - *

                                                                - * (Not supported by Neptune) - *

                                                                + *

                                                                Specifies the Provisioned IOPS (I/O operations per second) value.

                                                                */ - PerformanceInsightsEnabled?: boolean; + Iops?: number; } export namespace DBInstance { @@ -3226,6 +3226,11 @@ export namespace StorageTypeNotSupportedFault { } export interface CreateDBParameterGroupMessage { + /** + *

                                                                The tags to be assigned to the new DB parameter group.

                                                                + */ + Tags?: Tag[]; + /** *

                                                                The name of the DB parameter group.

                                                                *

                                                                Constraints:

                                                                @@ -3246,11 +3251,6 @@ export interface CreateDBParameterGroupMessage { */ DBParameterGroupName: string | undefined; - /** - *

                                                                The tags to be assigned to the new DB parameter group.

                                                                - */ - Tags?: Tag[]; - /** *

                                                                The description for the DB parameter group.

                                                                */ @@ -3285,15 +3285,20 @@ export namespace CreateDBParameterGroupResult { } export interface CreateDBSubnetGroupMessage { + /** + *

                                                                The tags to be assigned to the new DB subnet group.

                                                                + */ + Tags?: Tag[]; + /** *

                                                                The description for the DB subnet group.

                                                                */ DBSubnetGroupDescription: string | undefined; /** - *

                                                                The tags to be assigned to the new DB subnet group.

                                                                + *

                                                                The EC2 Subnet IDs for the DB subnet group.

                                                                */ - Tags?: Tag[]; + SubnetIds: string[] | undefined; /** *

                                                                The name for the DB subnet group. This value is stored as a lowercase string.

                                                                @@ -3303,11 +3308,6 @@ export interface CreateDBSubnetGroupMessage { *

                                                                */ DBSubnetGroupName: string | undefined; - - /** - *

                                                                The EC2 Subnet IDs for the DB subnet group.

                                                                - */ - SubnetIds: string[] | undefined; } export namespace CreateDBSubnetGroupMessage { @@ -3387,17 +3387,20 @@ export namespace DBSubnetQuotaExceededFault { export interface CreateEventSubscriptionMessage { /** - *

                                                                The name of the subscription.

                                                                - *

                                                                Constraints: The name must be less than 255 characters.

                                                                + *

                                                                The tags to be applied to the new event subscription.

                                                                */ - SubscriptionName: string | undefined; + Tags?: Tag[]; /** - *

                                                                A list of event categories for a SourceType that you want to subscribe to. You can see a - * list of the categories for a given SourceType by using the - * DescribeEventCategories action.

                                                                + *

                                                                The type of source that is generating the events. For example, if you want to be notified + * of events generated by a DB instance, you would set this parameter to db-instance. if this + * value is not specified, all events are returned.

                                                                + *

                                                                Valid values: db-instance | db-cluster | + * db-parameter-group | db-security-group | db-snapshot | + * db-cluster-snapshot + *

                                                                */ - EventCategories?: string[]; + SourceType?: string; /** *

                                                                The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is @@ -3405,6 +3408,13 @@ export interface CreateEventSubscriptionMessage { */ SnsTopicArn: string | undefined; + /** + *

                                                                A list of event categories for a SourceType that you want to subscribe to. You can see a + * list of the categories for a given SourceType by using the + * DescribeEventCategories action.

                                                                + */ + EventCategories?: string[]; + /** *

                                                                The list of identifiers of the event sources for which events are returned. If not * specified, then all sources are included in the response. An identifier must begin with a @@ -3420,36 +3430,20 @@ export interface CreateEventSubscriptionMessage { * supplied.

                                                                * *
                                                              • - *

                                                                If the source type is a DB security group, a DBSecurityGroupName must be - * supplied.

                                                                - *
                                                              • - *
                                                              • - *

                                                                If the source type is a DB parameter group, a DBParameterGroupName must - * be supplied.

                                                                - *
                                                              • - *
                                                              • - *

                                                                If the source type is a DB snapshot, a DBSnapshotIdentifier must be - * supplied.

                                                                - *
                                                              • - *
                                                              - */ - SourceIds?: string[]; - - /** - *

                                                              The tags to be applied to the new event subscription.

                                                              - */ - Tags?: Tag[]; - - /** - *

                                                              The type of source that is generating the events. For example, if you want to be notified - * of events generated by a DB instance, you would set this parameter to db-instance. if this - * value is not specified, all events are returned.

                                                              - *

                                                              Valid values: db-instance | db-cluster | - * db-parameter-group | db-security-group | db-snapshot | - * db-cluster-snapshot - *

                                                              + *

                                                              If the source type is a DB security group, a DBSecurityGroupName must be + * supplied.

                                                              + * + *
                                                            • + *

                                                              If the source type is a DB parameter group, a DBParameterGroupName must + * be supplied.

                                                              + *
                                                            • + *
                                                            • + *

                                                              If the source type is a DB snapshot, a DBSnapshotIdentifier must be + * supplied.

                                                              + *
                                                            • + *
                                                            */ - SourceType?: string; + SourceIds?: string[]; /** *

                                                            A Boolean value; set to true to activate the @@ -3457,6 +3451,12 @@ export interface CreateEventSubscriptionMessage { * active it.

                                                            */ Enabled?: boolean; + + /** + *

                                                            The name of the subscription.

                                                            + *

                                                            Constraints: The name must be less than 255 characters.

                                                            + */ + SubscriptionName: string | undefined; } export namespace CreateEventSubscriptionMessage { @@ -3587,6 +3587,18 @@ export namespace SubscriptionCategoryNotFoundFault { } export interface DeleteDBClusterMessage { + /** + *

                                                            The DB cluster identifier for the DB cluster to be deleted. This parameter isn't + * case-sensitive.

                                                            + *

                                                            Constraints:

                                                            + *
                                                              + *
                                                            • + *

                                                              Must match an existing DBClusterIdentifier.

                                                              + *
                                                            • + *
                                                            + */ + DBClusterIdentifier: string | undefined; + /** *

                                                            Determines whether a final DB cluster snapshot is created before the DB cluster is * deleted. If true is specified, no DB cluster snapshot is created. If @@ -3622,18 +3634,6 @@ export interface DeleteDBClusterMessage { *

                                                          */ FinalDBSnapshotIdentifier?: string; - - /** - *

                                                          The DB cluster identifier for the DB cluster to be deleted. This parameter isn't - * case-sensitive.

                                                          - *

                                                          Constraints:

                                                          - *
                                                            - *
                                                          • - *

                                                            Must match an existing DBClusterIdentifier.

                                                            - *
                                                          • - *
                                                          - */ - DBClusterIdentifier: string | undefined; } export namespace DeleteDBClusterMessage { @@ -3932,6 +3932,11 @@ export namespace InvalidEventSubscriptionStateFault { } export interface DBClusterParameterGroupsMessage { + /** + *

                                                          A list of DB cluster parameter groups.

                                                          + */ + DBClusterParameterGroups?: DBClusterParameterGroup[]; + /** *

                                                          An optional pagination token provided by a previous * DescribeDBClusterParameterGroups request. If this parameter is specified, the @@ -3939,11 +3944,6 @@ export interface DBClusterParameterGroupsMessage { * MaxRecords.

                                                          */ Marker?: string; - - /** - *

                                                          A list of DB cluster parameter groups.

                                                          - */ - DBClusterParameterGroups?: DBClusterParameterGroup[]; } export namespace DBClusterParameterGroupsMessage { @@ -3959,12 +3959,12 @@ export interface Filter { /** *

                                                          This parameter is not currently supported.

                                                          */ - Name: string | undefined; + Values: string[] | undefined; /** *

                                                          This parameter is not currently supported.

                                                          */ - Values: string[] | undefined; + Name: string | undefined; } export namespace Filter { @@ -3985,6 +3985,11 @@ export interface DescribeDBClusterParameterGroupsMessage { */ DBClusterParameterGroupName?: string; + /** + *

                                                          This parameter is not currently supported.

                                                          + */ + Filters?: Filter[]; + /** *

                                                          An optional pagination token provided by a previous * DescribeDBClusterParameterGroups request. If this parameter is specified, the @@ -3993,11 +3998,6 @@ export interface DescribeDBClusterParameterGroupsMessage { */ Marker?: string; - /** - *

                                                          This parameter is not currently supported.

                                                          - */ - Filters?: Filter[]; - /** *

                                                          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 @@ -4021,9 +4021,9 @@ export type ApplyMethod = "immediate" | "pending-reboot"; */ export interface Parameter { /** - *

                                                          Provides a description of the parameter.

                                                          + *

                                                          Specifies the value of the parameter.

                                                          */ - Description?: string; + ParameterValue?: string; /** *

                                                          Specifies the engine specific parameters type.

                                                          @@ -4031,36 +4031,24 @@ export interface Parameter { ApplyType?: string; /** - *

                                                          Indicates whether (true) or not (false) the parameter can be - * modified. Some parameters have security or operational implications that prevent them from - * being changed.

                                                          - */ - IsModifiable?: boolean; - - /** - *

                                                          Indicates when to apply parameter updates.

                                                          + *

                                                          Indicates the source of the parameter value.

                                                          */ - ApplyMethod?: ApplyMethod | string; + Source?: string; /** *

                                                          Specifies the name of the parameter.

                                                          */ ParameterName?: string; - /** - *

                                                          Indicates the source of the parameter value.

                                                          - */ - Source?: string; - /** *

                                                          Specifies the valid data type for the parameter.

                                                          */ DataType?: string; /** - *

                                                          The earliest engine version to which the parameter can apply.

                                                          + *

                                                          Indicates when to apply parameter updates.

                                                          */ - MinimumEngineVersion?: string; + ApplyMethod?: ApplyMethod | string; /** *

                                                          Specifies the valid range of values for the parameter.

                                                          @@ -4068,9 +4056,21 @@ export interface Parameter { AllowedValues?: string; /** - *

                                                          Specifies the value of the parameter.

                                                          + *

                                                          Indicates whether (true) or not (false) the parameter can be + * modified. Some parameters have security or operational implications that prevent them from + * being changed.

                                                          */ - ParameterValue?: string; + IsModifiable?: boolean; + + /** + *

                                                          Provides a description of the parameter.

                                                          + */ + Description?: string; + + /** + *

                                                          The earliest engine version to which the parameter can apply.

                                                          + */ + MinimumEngineVersion?: string; } export namespace Parameter { @@ -4101,12 +4101,9 @@ export namespace DBClusterParameterGroupDetails { export interface DescribeDBClusterParametersMessage { /** - *

                                                          An optional pagination token provided by a previous - * DescribeDBClusterParameters request. If this parameter is specified, the response - * includes only records beyond the marker, up to the value specified by MaxRecords. - *

                                                          + *

                                                          This parameter is not currently supported.

                                                          */ - Marker?: string; + Filters?: Filter[]; /** *

                                                          A value that indicates to return only parameters for a specific source. Parameter sources @@ -4114,6 +4111,17 @@ export interface DescribeDBClusterParametersMessage { */ Source?: string; + /** + *

                                                          The name of a specific DB cluster parameter group to return parameter details for.

                                                          + *

                                                          Constraints:

                                                          + *
                                                            + *
                                                          • + *

                                                            If supplied, must match the name of an existing DBClusterParameterGroup.

                                                            + *
                                                          • + *
                                                          + */ + DBClusterParameterGroupName: string | undefined; + /** *

                                                          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 @@ -4124,20 +4132,12 @@ export interface DescribeDBClusterParametersMessage { MaxRecords?: number; /** - *

                                                          This parameter is not currently supported.

                                                          - */ - Filters?: Filter[]; - - /** - *

                                                          The name of a specific DB cluster parameter group to return parameter details for.

                                                          - *

                                                          Constraints:

                                                          - *
                                                            - *
                                                          • - *

                                                            If supplied, must match the name of an existing DBClusterParameterGroup.

                                                            - *
                                                          • - *
                                                          + *

                                                          An optional pagination token provided by a previous + * DescribeDBClusterParameters request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by MaxRecords. + *

                                                          */ - DBClusterParameterGroupName: string | undefined; + Marker?: string; } export namespace DescribeDBClusterParametersMessage { @@ -4148,14 +4148,14 @@ export namespace DescribeDBClusterParametersMessage { export interface DBClusterMessage { /** - *

                                                          Contains a list of DB clusters for the user.

                                                          + *

                                                          A pagination token that can be used in a subsequent DescribeDBClusters request.

                                                          */ - DBClusters?: DBCluster[]; + Marker?: string; /** - *

                                                          A pagination token that can be used in a subsequent DescribeDBClusters request.

                                                          + *

                                                          Contains a list of DB clusters for the user.

                                                          */ - Marker?: string; + DBClusters?: DBCluster[]; } export namespace DBClusterMessage { @@ -4166,13 +4166,23 @@ export namespace DBClusterMessage { export interface DescribeDBClustersMessage { /** - *

                                                          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.

                                                          - *

                                                          Default: 100

                                                          - *

                                                          Constraints: Minimum 20, maximum 100.

                                                          + *

                                                          The user-supplied DB cluster identifier. If this parameter is specified, information from + * only the specific DB cluster is returned. This parameter isn't case-sensitive.

                                                          + *

                                                          Constraints:

                                                          + *
                                                            + *
                                                          • + *

                                                            If supplied, must match an existing DBClusterIdentifier.

                                                            + *
                                                          • + *
                                                          */ - MaxRecords?: number; + DBClusterIdentifier?: string; + + /** + *

                                                          An optional pagination token provided by a previous DescribeDBClusters + * request. If this parameter is specified, the response includes only records beyond the marker, + * up to the value specified by MaxRecords.

                                                          + */ + Marker?: string; /** *

                                                          A filter that specifies one or more DB clusters to describe.

                                                          @@ -4197,23 +4207,13 @@ export interface DescribeDBClustersMessage { Filters?: Filter[]; /** - *

                                                          The user-supplied DB cluster identifier. If this parameter is specified, information from - * only the specific DB cluster is returned. This parameter isn't case-sensitive.

                                                          - *

                                                          Constraints:

                                                          - *
                                                            - *
                                                          • - *

                                                            If supplied, must match an existing DBClusterIdentifier.

                                                            - *
                                                          • - *
                                                          - */ - DBClusterIdentifier?: string; - - /** - *

                                                          An optional pagination token provided by a previous DescribeDBClusters - * request. If this parameter is specified, the response includes only records beyond the marker, - * up to the value specified by MaxRecords.

                                                          + *

                                                          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.

                                                          + *

                                                          Default: 100

                                                          + *

                                                          Constraints: Minimum 20, maximum 100.

                                                          */ - Marker?: string; + MaxRecords?: number; } export namespace DescribeDBClustersMessage { @@ -4241,14 +4241,6 @@ export namespace DescribeDBClusterSnapshotAttributesMessage { * a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

                                                          */ export interface DBClusterSnapshotAttribute { - /** - *

                                                          The name of the manual DB cluster snapshot attribute.

                                                          - *

                                                          The attribute named restore refers to the list of AWS accounts that have - * permission to copy or restore the manual DB cluster snapshot. For more information, see the - * ModifyDBClusterSnapshotAttribute API action.

                                                          - */ - AttributeName?: string; - /** *

                                                          The value(s) for the manual DB cluster snapshot attribute.

                                                          *

                                                          If the AttributeName field is set to restore, then this element @@ -4257,6 +4249,14 @@ export interface DBClusterSnapshotAttribute { * snapshot is public and available for any AWS account to copy or restore.

                                                          */ AttributeValues?: string[]; + + /** + *

                                                          The name of the manual DB cluster snapshot attribute.

                                                          + *

                                                          The attribute named restore refers to the list of AWS accounts that have + * permission to copy or restore the manual DB cluster snapshot. For more information, see the + * ModifyDBClusterSnapshotAttribute API action.

                                                          + */ + AttributeName?: string; } export namespace DBClusterSnapshotAttribute { @@ -4272,14 +4272,14 @@ export namespace DBClusterSnapshotAttribute { */ export interface DBClusterSnapshotAttributesResult { /** - *

                                                          The list of attributes and values for the manual DB cluster snapshot.

                                                          + *

                                                          The identifier of the manual DB cluster snapshot that the attributes apply to.

                                                          */ - DBClusterSnapshotAttributes?: DBClusterSnapshotAttribute[]; + DBClusterSnapshotIdentifier?: string; /** - *

                                                          The identifier of the manual DB cluster snapshot that the attributes apply to.

                                                          + *

                                                          The list of attributes and values for the manual DB cluster snapshot.

                                                          */ - DBClusterSnapshotIdentifier?: string; + DBClusterSnapshotAttributes?: DBClusterSnapshotAttribute[]; } export namespace DBClusterSnapshotAttributesResult { @@ -4304,17 +4304,17 @@ export namespace DescribeDBClusterSnapshotAttributesResult { } export interface DBClusterSnapshotMessage { + /** + *

                                                          Provides a list of DB cluster snapshots for the user.

                                                          + */ + DBClusterSnapshots?: DBClusterSnapshot[]; + /** *

                                                          An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by MaxRecords. *

                                                          */ Marker?: string; - - /** - *

                                                          Provides a list of DB cluster snapshots for the user.

                                                          - */ - DBClusterSnapshots?: DBClusterSnapshot[]; } export namespace DBClusterSnapshotMessage { @@ -4325,17 +4325,27 @@ export namespace DBClusterSnapshotMessage { export interface DescribeDBClusterSnapshotsMessage { /** - *

                                                          The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter - * can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This - * parameter is not case-sensitive.

                                                          - *

                                                          Constraints:

                                                          - *
                                                            - *
                                                          • - *

                                                            If supplied, must match the identifier of an existing DBCluster.

                                                            - *
                                                          • - *
                                                          + *

                                                          This parameter is not currently supported.

                                                          + */ + Filters?: Filter[]; + + /** + *

                                                          True to include manual DB cluster snapshots that are public and can be copied or restored + * by any AWS account, and otherwise false. The default is false. The default is + * false.

                                                          + *

                                                          You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

                                                          + */ + IncludePublic?: boolean; + + /** + *

                                                          True to include shared manual DB cluster snapshots from other AWS accounts that this AWS + * account has been given permission to copy or restore, and otherwise false. The default is + * false.

                                                          + *

                                                          You can give an AWS account permission to restore a manual DB cluster snapshot from + * another AWS account by the ModifyDBClusterSnapshotAttribute API + * action.

                                                          */ - DBClusterIdentifier?: string; + IncludeShared?: boolean; /** *

                                                          A specific DB cluster snapshot identifier to describe. This parameter can't be used in @@ -4355,14 +4365,25 @@ export interface DescribeDBClusterSnapshotsMessage { DBClusterSnapshotIdentifier?: string; /** - *

                                                          True to include shared manual DB cluster snapshots from other AWS accounts that this AWS - * account has been given permission to copy or restore, and otherwise false. The default is - * false.

                                                          - *

                                                          You can give an AWS account permission to restore a manual DB cluster snapshot from - * another AWS account by the ModifyDBClusterSnapshotAttribute API - * action.

                                                          + *

                                                          The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter + * can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This + * parameter is not case-sensitive.

                                                          + *

                                                          Constraints:

                                                          + *
                                                            + *
                                                          • + *

                                                            If supplied, must match the identifier of an existing DBCluster.

                                                            + *
                                                          • + *
                                                          */ - IncludeShared?: boolean; + DBClusterIdentifier?: string; + + /** + *

                                                          An optional pagination token provided by a previous + * DescribeDBClusterSnapshots request. If this parameter is specified, the response + * includes only records beyond the marker, up to the value specified by MaxRecords. + *

                                                          + */ + Marker?: string; /** *

                                                          The type of DB cluster snapshots to be returned. You can specify one of the following @@ -4402,19 +4423,6 @@ export interface DescribeDBClusterSnapshotsMessage { */ SnapshotType?: string; - /** - *

                                                          True to include manual DB cluster snapshots that are public and can be copied or restored - * by any AWS account, and otherwise false. The default is false. The default is - * false.

                                                          - *

                                                          You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

                                                          - */ - IncludePublic?: boolean; - - /** - *

                                                          This parameter is not currently supported.

                                                          - */ - Filters?: Filter[]; - /** *

                                                          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 @@ -4423,14 +4431,6 @@ export interface DescribeDBClusterSnapshotsMessage { *

                                                          Constraints: Minimum 20, maximum 100.

                                                          */ MaxRecords?: number; - - /** - *

                                                          An optional pagination token provided by a previous - * DescribeDBClusterSnapshots request. If this parameter is specified, the response - * includes only records beyond the marker, up to the value specified by MaxRecords. - *

                                                          - */ - Marker?: string; } export namespace DescribeDBClusterSnapshotsMessage { @@ -4444,14 +4444,14 @@ export namespace DescribeDBClusterSnapshotsMessage { */ export interface CharacterSet { /** - *

                                                          The name of the character set.

                                                          + *

                                                          The description of the character set.

                                                          */ - CharacterSetName?: string; + CharacterSetDescription?: string; /** - *

                                                          The description of the character set.

                                                          + *

                                                          The name of the character set.

                                                          */ - CharacterSetDescription?: string; + CharacterSetName?: string; } export namespace CharacterSet { @@ -4480,22 +4480,12 @@ export namespace Timezone { *

                                                          The version of the database engine that a DB instance can be upgraded to.

                                                          */ export interface UpgradeTarget { - /** - *

                                                          The version of the database engine that a DB instance can be upgraded to.

                                                          - */ - Description?: string; - /** *

                                                          A value that indicates whether the target version is applied to any source DB instances * that have AutoMinorVersionUpgrade set to true.

                                                          */ AutoUpgrade?: boolean; - /** - *

                                                          The version number of the upgrade target database engine.

                                                          - */ - EngineVersion?: string; - /** *

                                                          A value that indicates whether a database engine is upgraded to a major version.

                                                          */ @@ -4505,6 +4495,16 @@ export interface UpgradeTarget { *

                                                          The name of the upgrade target database engine.

                                                          */ Engine?: string; + + /** + *

                                                          The version of the database engine that a DB instance can be upgraded to.

                                                          + */ + Description?: string; + + /** + *

                                                          The version number of the upgrade target database engine.

                                                          + */ + EngineVersion?: string; } export namespace UpgradeTarget { @@ -4517,6 +4517,11 @@ export namespace UpgradeTarget { *

                                                          This data type is used as a response element in the action DescribeDBEngineVersions.

                                                          */ export interface DBEngineVersion { + /** + *

                                                          Indicates whether the database engine version supports read replicas.

                                                          + */ + SupportsReadReplica?: boolean; + /** *

                                                          * (Not supported by Neptune) @@ -4525,9 +4530,15 @@ export interface DBEngineVersion { SupportedCharacterSets?: CharacterSet[]; /** - *

                                                          A list of engine versions that this database engine version can be upgraded to.

                                                          + *

                                                          A list of the time zones supported by this engine for the Timezone parameter + * of the CreateDBInstance action.

                                                          */ - ValidUpgradeTarget?: UpgradeTarget[]; + SupportedTimezones?: Timezone[]; + + /** + *

                                                          The description of the database engine.

                                                          + */ + DBEngineDescription?: string; /** *

                                                          @@ -4537,9 +4548,9 @@ export interface DBEngineVersion { DefaultCharacterSet?: CharacterSet; /** - *

                                                          Indicates whether the database engine version supports read replicas.

                                                          + *

                                                          The version number of the database engine.

                                                          */ - SupportsReadReplica?: boolean; + EngineVersion?: string; /** *

                                                          The types of logs that the database engine has available for export to CloudWatch @@ -4547,32 +4558,15 @@ export interface DBEngineVersion { */ ExportableLogTypes?: string[]; - /** - *

                                                          A list of the time zones supported by this engine for the Timezone parameter - * of the CreateDBInstance action.

                                                          - */ - SupportedTimezones?: Timezone[]; - - /** - *

                                                          The description of the database engine.

                                                          - */ - DBEngineDescription?: string; - - /** - *

                                                          A value that indicates whether the engine version supports exporting the log types - * specified by ExportableLogTypes to CloudWatch Logs.

                                                          - */ - SupportsLogExportsToCloudwatchLogs?: boolean; - /** *

                                                          The name of the database engine.

                                                          */ Engine?: string; /** - *

                                                          The version number of the database engine.

                                                          + *

                                                          The description of the database engine version.

                                                          */ - EngineVersion?: string; + DBEngineVersionDescription?: string; /** *

                                                          The name of the DB parameter group family for the database engine.

                                                          @@ -4580,9 +4574,15 @@ export interface DBEngineVersion { DBParameterGroupFamily?: string; /** - *

                                                          The description of the database engine version.

                                                          + *

                                                          A list of engine versions that this database engine version can be upgraded to.

                                                          */ - DBEngineVersionDescription?: string; + ValidUpgradeTarget?: UpgradeTarget[]; + + /** + *

                                                          A value that indicates whether the engine version supports exporting the log types + * specified by ExportableLogTypes to CloudWatch Logs.

                                                          + */ + SupportsLogExportsToCloudwatchLogs?: boolean; } export namespace DBEngineVersion { @@ -4592,17 +4592,17 @@ export namespace DBEngineVersion { } export interface DBEngineVersionMessage { + /** + *

                                                          A list of DBEngineVersion elements.

                                                          + */ + DBEngineVersions?: DBEngineVersion[]; + /** *

                                                          An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified by * MaxRecords.

                                                          */ Marker?: string; - - /** - *

                                                          A list of DBEngineVersion elements.

                                                          - */ - DBEngineVersions?: DBEngineVersion[]; } export namespace DBEngineVersionMessage { @@ -4613,23 +4613,32 @@ export namespace DBEngineVersionMessage { export interface DescribeDBEngineVersionsMessage { /** - *

                                                          If this parameter is specified and the requested engine supports the TimeZone - * parameter for CreateDBInstance, the response includes a list of supported time - * zones for each engine version.

                                                          + *

                                                          The name of a specific DB parameter group family to return details for.

                                                          + *

                                                          Constraints:

                                                          + *
                                                            + *
                                                          • + *

                                                            If supplied, must match an existing DBParameterGroupFamily.

                                                            + *
                                                          • + *
                                                          */ - ListSupportedTimezones?: boolean; + DBParameterGroupFamily?: string; /** - *

                                                          An optional pagination token provided by a previous request. If this parameter is - * specified, the response includes only records beyond the marker, up to the value specified by - * MaxRecords.

                                                          + *

                                                          The database engine to return.

                                                          */ - Marker?: string; + Engine?: string; /** - *

                                                          The database engine to return.

                                                          + *

                                                          Not currently supported.

                                                          */ - Engine?: string; + Filters?: Filter[]; + + /** + *

                                                          If this parameter is specified and the requested engine supports the + * CharacterSetName parameter for CreateDBInstance, the response + * includes a list of supported character sets for each engine version.

                                                          + */ + ListSupportedCharacterSets?: boolean; /** *

                                                          The maximum number of records to include in the response. If more than the @@ -4641,20 +4650,24 @@ export interface DescribeDBEngineVersionsMessage { MaxRecords?: number; /** - *

                                                          The name of a specific DB parameter group family to return details for.

                                                          - *

                                                          Constraints:

                                                          - *
                                                            - *
                                                          • - *

                                                            If supplied, must match an existing DBParameterGroupFamily.

                                                            - *
                                                          • - *
                                                          + *

                                                          Indicates that only the default version of the specified engine or engine and major + * version combination is returned.

                                                          */ - DBParameterGroupFamily?: string; + DefaultOnly?: boolean; /** - *

                                                          Not currently supported.

                                                          + *

                                                          If this parameter is specified and the requested engine supports the TimeZone + * parameter for CreateDBInstance, the response includes a list of supported time + * zones for each engine version.

                                                          */ - Filters?: Filter[]; + ListSupportedTimezones?: boolean; + + /** + *

                                                          An optional pagination token provided by a previous request. If this parameter is + * specified, the response includes only records beyond the marker, up to the value specified by + * MaxRecords.

                                                          + */ + Marker?: string; /** *

                                                          The database engine version to return.

                                                          @@ -4662,19 +4675,6 @@ export interface DescribeDBEngineVersionsMessage { *

                                                          */ EngineVersion?: string; - - /** - *

                                                          Indicates that only the default version of the specified engine or engine and major - * version combination is returned.

                                                          - */ - DefaultOnly?: boolean; - - /** - *

                                                          If this parameter is specified and the requested engine supports the - * CharacterSetName parameter for CreateDBInstance, the response - * includes a list of supported character sets for each engine version.

                                                          - */ - ListSupportedCharacterSets?: boolean; } export namespace DescribeDBEngineVersionsMessage { @@ -4684,17 +4684,17 @@ export namespace DescribeDBEngineVersionsMessage { } export interface DBInstanceMessage { + /** + *

                                                          A list of DBInstance instances.

                                                          + */ + DBInstances?: DBInstance[]; + /** *

                                                          An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified by * MaxRecords .

                                                          */ Marker?: string; - - /** - *

                                                          A list of DBInstance instances.

                                                          - */ - DBInstances?: DBInstance[]; } export namespace DBInstanceMessage { @@ -4726,6 +4726,13 @@ export interface DescribeDBInstancesMessage { */ Filters?: Filter[]; + /** + *

                                                          An optional pagination token provided by a previous DescribeDBInstances + * request. If this parameter is specified, the response includes only records beyond the marker, + * up to the value specified by MaxRecords.

                                                          + */ + Marker?: 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 @@ -4746,13 +4753,6 @@ export interface DescribeDBInstancesMessage { *

                                                        */ DBInstanceIdentifier?: string; - - /** - *

                                                        An optional pagination token provided by a previous DescribeDBInstances - * request. If this parameter is specified, the response includes only records beyond the marker, - * up to the value specified by MaxRecords.

                                                        - */ - Marker?: string; } export namespace DescribeDBInstancesMessage { @@ -4782,20 +4782,6 @@ export namespace DBParameterGroupsMessage { } export interface DescribeDBParameterGroupsMessage { - /** - *

                                                        This parameter is not currently supported.

                                                        - */ - Filters?: Filter[]; - - /** - *

                                                        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.

                                                        - *

                                                        Default: 100

                                                        - *

                                                        Constraints: Minimum 20, maximum 100.

                                                        - */ - MaxRecords?: number; - /** *

                                                        The name of a specific DB parameter group to return details for.

                                                        *

                                                        Constraints:

                                                        @@ -4807,12 +4793,26 @@ export interface DescribeDBParameterGroupsMessage { */ DBParameterGroupName?: string; + /** + *

                                                        This parameter is not currently supported.

                                                        + */ + Filters?: Filter[]; + /** *

                                                        An optional pagination token provided by a previous * DescribeDBParameterGroups request. If this parameter is specified, the response * includes only records beyond the marker, up to the value specified by MaxRecords.

                                                        */ - Marker?: string; + Marker?: 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.

                                                        + *

                                                        Default: 100

                                                        + *

                                                        Constraints: Minimum 20, maximum 100.

                                                        + */ + MaxRecords?: number; } export namespace DescribeDBParameterGroupsMessage { @@ -4822,17 +4822,17 @@ export namespace DescribeDBParameterGroupsMessage { } export interface DBParameterGroupDetails { - /** - *

                                                        A list of Parameter values.

                                                        - */ - Parameters?: Parameter[]; - /** *

                                                        An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified by * MaxRecords.

                                                        */ Marker?: string; + + /** + *

                                                        A list of Parameter values.

                                                        + */ + Parameters?: Parameter[]; } export namespace DBParameterGroupDetails { @@ -4843,15 +4843,11 @@ export namespace DBParameterGroupDetails { export interface DescribeDBParametersMessage { /** - *

                                                        The name of a specific DB parameter group to return details for.

                                                        - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          If supplied, must match the name of an existing DBParameterGroup.

                                                          - *
                                                        • - *
                                                        + *

                                                        An optional pagination token provided by a previous DescribeDBParameters + * request. If this parameter is specified, the response includes only records beyond the marker, + * up to the value specified by MaxRecords.

                                                        */ - DBParameterGroupName: string | undefined; + Marker?: string; /** *

                                                        This parameter is not currently supported.

                                                        @@ -4859,11 +4855,15 @@ export interface DescribeDBParametersMessage { Filters?: Filter[]; /** - *

                                                        An optional pagination token provided by a previous DescribeDBParameters - * request. If this parameter is specified, the response includes only records beyond the marker, - * up to the value specified by MaxRecords.

                                                        + *

                                                        The name of a specific DB parameter group to return details for.

                                                        + *

                                                        Constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          If supplied, must match the name of an existing DBParameterGroup.

                                                          + *
                                                        • + *
                                                        */ - Marker?: string; + DBParameterGroupName: string | undefined; /** *

                                                        The parameter types to return.

                                                        @@ -4890,17 +4890,17 @@ export namespace DescribeDBParametersMessage { } export interface DBSubnetGroupMessage { + /** + *

                                                        A list of DBSubnetGroup instances.

                                                        + */ + DBSubnetGroups?: DBSubnetGroup[]; + /** *

                                                        An optional pagination token provided by a previous request. If this parameter is * specified, the response includes only records beyond the marker, up to the value specified by * MaxRecords.

                                                        */ Marker?: string; - - /** - *

                                                        A list of DBSubnetGroup instances.

                                                        - */ - DBSubnetGroups?: DBSubnetGroup[]; } export namespace DBSubnetGroupMessage { @@ -4911,9 +4911,9 @@ export namespace DBSubnetGroupMessage { export interface DescribeDBSubnetGroupsMessage { /** - *

                                                        This parameter is not currently supported.

                                                        + *

                                                        The name of the DB subnet group to return details for.

                                                        */ - Filters?: Filter[]; + DBSubnetGroupName?: string; /** *

                                                        The maximum number of records to include in the response. If more records exist than the @@ -4924,17 +4924,17 @@ export interface DescribeDBSubnetGroupsMessage { */ MaxRecords?: number; - /** - *

                                                        The name of the DB subnet group to return details for.

                                                        - */ - DBSubnetGroupName?: string; - /** *

                                                        An optional pagination token provided by a previous DescribeDBSubnetGroups request. If * this parameter is specified, the response includes only records beyond the marker, up to the * value specified by MaxRecords.

                                                        */ Marker?: string; + + /** + *

                                                        This parameter is not currently supported.

                                                        + */ + Filters?: Filter[]; } export namespace DescribeDBSubnetGroupsMessage { @@ -4958,11 +4958,6 @@ export interface DescribeEngineDefaultClusterParametersMessage { */ Marker?: string; - /** - *

                                                        This parameter is not currently supported.

                                                        - */ - Filters?: Filter[]; - /** *

                                                        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 @@ -4971,6 +4966,11 @@ export interface DescribeEngineDefaultClusterParametersMessage { *

                                                        Constraints: Minimum 20, maximum 100.

                                                        */ MaxRecords?: number; + + /** + *

                                                        This parameter is not currently supported.

                                                        + */ + Filters?: Filter[]; } export namespace DescribeEngineDefaultClusterParametersMessage { @@ -4983,6 +4983,12 @@ export namespace DescribeEngineDefaultClusterParametersMessage { *

                                                        Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

                                                        */ export interface EngineDefaults { + /** + *

                                                        Specifies the name of the DB parameter group family that the engine default parameters + * apply to.

                                                        + */ + DBParameterGroupFamily?: string; + /** *

                                                        An optional pagination token provided by a previous EngineDefaults request. If this * parameter is specified, the response includes only records beyond the marker, up to the value @@ -4990,12 +4996,6 @@ export interface EngineDefaults { */ Marker?: string; - /** - *

                                                        Specifies the name of the DB parameter group family that the engine default parameters - * apply to.

                                                        - */ - DBParameterGroupFamily?: string; - /** *

                                                        Contains a list of engine default parameters.

                                                        */ @@ -5023,14 +5023,13 @@ export namespace DescribeEngineDefaultClusterParametersResult { export interface DescribeEngineDefaultParametersMessage { /** - *

                                                        Not currently supported.

                                                        - */ - Filters?: Filter[]; - - /** - *

                                                        The name of the DB parameter group family.

                                                        + *

                                                        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.

                                                        + *

                                                        Default: 100

                                                        + *

                                                        Constraints: Minimum 20, maximum 100.

                                                        */ - DBParameterGroupFamily: string | undefined; + MaxRecords?: number; /** *

                                                        An optional pagination token provided by a previous @@ -5041,13 +5040,14 @@ export interface DescribeEngineDefaultParametersMessage { Marker?: 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.

                                                        - *

                                                        Default: 100

                                                        - *

                                                        Constraints: Minimum 20, maximum 100.

                                                        + *

                                                        Not currently supported.

                                                        */ - MaxRecords?: number; + Filters?: Filter[]; + + /** + *

                                                        The name of the DB parameter group family.

                                                        + */ + DBParameterGroupFamily: string | undefined; } export namespace DescribeEngineDefaultParametersMessage { @@ -5070,16 +5070,16 @@ export namespace DescribeEngineDefaultParametersResult { } export interface DescribeEventCategoriesMessage { - /** - *

                                                        This parameter is not currently supported.

                                                        - */ - Filters?: Filter[]; - /** *

                                                        The type of source that is generating the events.

                                                        *

                                                        Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

                                                        */ SourceType?: string; + + /** + *

                                                        This parameter is not currently supported.

                                                        + */ + Filters?: Filter[]; } export namespace DescribeEventCategoriesMessage { @@ -5132,21 +5132,10 @@ export type SourceType = export interface DescribeEventsMessage { /** - *

                                                        The end of the time interval for which to retrieve events, specified in ISO 8601 format. - * For more information about ISO 8601, go to the ISO8601 Wikipedia page. - *

                                                        - *

                                                        Example: 2009-07-08T18:00Z

                                                        - */ - EndTime?: Date; - - /** - *

                                                        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.

                                                        - *

                                                        Default: 100

                                                        - *

                                                        Constraints: Minimum 20, maximum 100.

                                                        + *

                                                        A list of event categories that trigger notifications for a event notification + * subscription.

                                                        */ - MaxRecords?: number; + EventCategories?: string[]; /** *

                                                        An optional pagination token provided by a previous DescribeEvents request. If this @@ -5156,18 +5145,19 @@ export interface DescribeEventsMessage { Marker?: string; /** - *

                                                        The event source to retrieve events for. If no value is specified, all events are - * returned.

                                                        + *

                                                        The number of minutes to retrieve events for.

                                                        + *

                                                        Default: 60

                                                        */ - SourceType?: SourceType | string; + Duration?: 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

                                                        + *

                                                        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.

                                                        + *

                                                        Default: 100

                                                        + *

                                                        Constraints: Minimum 20, maximum 100.

                                                        */ - StartTime?: Date; + MaxRecords?: number; /** *

                                                        The identifier of the event source for which events are returned. If not specified, then @@ -5201,10 +5191,18 @@ export interface DescribeEventsMessage { SourceIdentifier?: string; /** - *

                                                        A list of event categories that trigger notifications for a event notification - * subscription.

                                                        + *

                                                        The end of the time interval for which to retrieve events, specified in ISO 8601 format. + * For more information about ISO 8601, go to the ISO8601 Wikipedia page. + *

                                                        + *

                                                        Example: 2009-07-08T18:00Z

                                                        */ - EventCategories?: string[]; + EndTime?: Date; + + /** + *

                                                        The event source to retrieve events for. If no value is specified, all events are + * returned.

                                                        + */ + SourceType?: SourceType | string; /** *

                                                        This parameter is not currently supported.

                                                        @@ -5212,10 +5210,12 @@ export interface DescribeEventsMessage { Filters?: Filter[]; /** - *

                                                        The number of minutes to retrieve events for.

                                                        - *

                                                        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; } export namespace DescribeEventsMessage { @@ -5230,34 +5230,34 @@ export namespace DescribeEventsMessage { */ export interface Event { /** - *

                                                        Specifies the date and time of the event.

                                                        + *

                                                        Specifies the source type for this event.

                                                        */ - Date?: Date; + SourceType?: SourceType | string; /** - *

                                                        Provides the identifier for the source of the event.

                                                        + *

                                                        Specifies the category for the event.

                                                        */ - SourceIdentifier?: string; + EventCategories?: string[]; /** - *

                                                        Specifies the source type for this event.

                                                        + *

                                                        Provides the identifier for the source of the event.

                                                        */ - SourceType?: SourceType | string; + SourceIdentifier?: string; /** - *

                                                        Provides the text of this event.

                                                        + *

                                                        The Amazon Resource Name (ARN) for the event.

                                                        */ - Message?: string; + SourceArn?: string; /** - *

                                                        Specifies the category for the event.

                                                        + *

                                                        Specifies the date and time of the event.

                                                        */ - EventCategories?: string[]; + Date?: Date; /** - *

                                                        The Amazon Resource Name (ARN) for the event.

                                                        + *

                                                        Provides the text of this event.

                                                        */ - SourceArn?: string; + Message?: string; } export namespace Event { @@ -5287,6 +5287,11 @@ export namespace EventsMessage { } export interface DescribeEventSubscriptionsMessage { + /** + *

                                                        This parameter is not currently supported.

                                                        + */ + Filters?: Filter[]; + /** *

                                                        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 @@ -5296,22 +5301,17 @@ export interface DescribeEventSubscriptionsMessage { */ MaxRecords?: number; - /** - *

                                                        The name of the event notification subscription you want to describe.

                                                        - */ - SubscriptionName?: string; - - /** - *

                                                        This parameter is not currently supported.

                                                        - */ - Filters?: Filter[]; - /** *

                                                        An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions * request. If this parameter is specified, the response includes only records beyond the marker, * up to the value specified by MaxRecords .

                                                        */ Marker?: string; + + /** + *

                                                        The name of the event notification subscription you want to describe.

                                                        + */ + SubscriptionName?: string; } export namespace DescribeEventSubscriptionsMessage { @@ -5342,31 +5342,15 @@ export namespace EventSubscriptionsMessage { export interface DescribeOrderableDBInstanceOptionsMessage { /** - *

                                                        An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions - * request. If this parameter is specified, the response includes only records beyond the marker, - * up to the value specified by MaxRecords .

                                                        - */ - Marker?: string; - - /** - *

                                                        The VPC filter value. Specify this parameter to show only the available VPC or non-VPC - * offerings.

                                                        - */ - Vpc?: boolean; - - /** - *

                                                        The name of the engine to retrieve DB instance options for.

                                                        + *

                                                        This parameter is not currently supported.

                                                        */ - Engine: string | undefined; + Filters?: Filter[]; /** - *

                                                        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.

                                                        - *

                                                        Default: 100

                                                        - *

                                                        Constraints: Minimum 20, maximum 100.

                                                        + *

                                                        The engine version filter value. Specify this parameter to show only the available + * offerings matching the specified engine version.

                                                        */ - MaxRecords?: number; + EngineVersion?: string; /** *

                                                        The DB instance class filter value. Specify this parameter to show only the available @@ -5375,9 +5359,17 @@ export interface DescribeOrderableDBInstanceOptionsMessage { DBInstanceClass?: string; /** - *

                                                        This parameter is not currently supported.

                                                        + *

                                                        An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions + * request. If this parameter is specified, the response includes only records beyond the marker, + * up to the value specified by MaxRecords .

                                                        */ - Filters?: Filter[]; + Marker?: string; + + /** + *

                                                        The VPC filter value. Specify this parameter to show only the available VPC or non-VPC + * offerings.

                                                        + */ + Vpc?: boolean; /** *

                                                        The license model filter value. Specify this parameter to show only the available @@ -5386,10 +5378,18 @@ export interface DescribeOrderableDBInstanceOptionsMessage { LicenseModel?: string; /** - *

                                                        The engine version filter value. Specify this parameter to show only the available - * offerings matching the specified engine version.

                                                        + *

                                                        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.

                                                        + *

                                                        Default: 100

                                                        + *

                                                        Constraints: Minimum 20, maximum 100.

                                                        */ - EngineVersion?: string; + MaxRecords?: number; + + /** + *

                                                        The name of the engine to retrieve DB instance options for.

                                                        + */ + Engine: string | undefined; } export namespace DescribeOrderableDBInstanceOptionsMessage { @@ -5404,24 +5404,19 @@ export namespace DescribeOrderableDBInstanceOptionsMessage { */ export interface OrderableDBInstanceOption { /** - *

                                                        The DB instance class for a DB instance.

                                                        - */ - DBInstanceClass?: string; - - /** - *

                                                        A list of Availability Zones for a DB instance.

                                                        + *

                                                        Minimum provisioned IOPS per GiB for a DB instance.

                                                        */ - AvailabilityZones?: AvailabilityZone[]; + MinIopsPerGib?: number; /** - *

                                                        The engine type of a DB instance.

                                                        + *

                                                        Indicates the storage type for a DB instance.

                                                        */ - Engine?: string; + StorageType?: string; /** - *

                                                        Indicates whether a DB instance is Multi-AZ capable.

                                                        + *

                                                        The license model for a DB instance.

                                                        */ - MultiAZCapable?: boolean; + LicenseModel?: string; /** *

                                                        Maximum storage size for a DB instance.

                                                        @@ -5429,9 +5424,9 @@ export interface OrderableDBInstanceOption { MaxStorageSize?: number; /** - *

                                                        Indicates whether a DB instance is in a VPC.

                                                        + *

                                                        Indicates whether a DB instance can have a Read Replica.

                                                        */ - Vpc?: boolean; + ReadReplicaCapable?: boolean; /** *

                                                        The engine version of a DB instance.

                                                        @@ -5439,24 +5434,26 @@ export interface OrderableDBInstanceOption { EngineVersion?: string; /** - *

                                                        Indicates the storage type for a DB instance.

                                                        + *

                                                        Indicates whether a DB instance supports IAM database authentication.

                                                        */ - StorageType?: string; + SupportsIAMDatabaseAuthentication?: boolean; /** - *

                                                        Minimum total provisioned IOPS for a DB instance.

                                                        + *

                                                        + * (Not supported by Neptune) + *

                                                        */ - MinIopsPerDbInstance?: number; + SupportsPerformanceInsights?: boolean; /** - *

                                                        Indicates whether a DB instance supports IAM database authentication.

                                                        + *

                                                        A list of Availability Zones for a DB instance.

                                                        */ - SupportsIAMDatabaseAuthentication?: boolean; + AvailabilityZones?: AvailabilityZone[]; /** - *

                                                        Indicates whether a DB instance supports provisioned IOPS.

                                                        + *

                                                        Maximum total provisioned IOPS for a DB instance.

                                                        */ - SupportsIops?: boolean; + MaxIopsPerDbInstance?: number; /** *

                                                        Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 @@ -5465,46 +5462,49 @@ export interface OrderableDBInstanceOption { SupportsEnhancedMonitoring?: boolean; /** - *

                                                        The license model for a DB instance.

                                                        + *

                                                        Maximum provisioned IOPS per GiB for a DB instance.

                                                        */ - LicenseModel?: string; + MaxIopsPerGib?: number; /** - *

                                                        Maximum provisioned IOPS per GiB for a DB instance.

                                                        + *

                                                        Minimum storage size for a DB instance.

                                                        */ - MaxIopsPerGib?: number; + MinStorageSize?: number; /** - *

                                                        Maximum total provisioned IOPS for a DB instance.

                                                        + *

                                                        Indicates whether a DB instance supports provisioned IOPS.

                                                        */ - MaxIopsPerDbInstance?: number; + SupportsIops?: boolean; /** - *

                                                        - * (Not supported by Neptune) - *

                                                        + *

                                                        Indicates whether a DB instance is Multi-AZ capable.

                                                        */ - SupportsPerformanceInsights?: boolean; + MultiAZCapable?: boolean; /** - *

                                                        Indicates whether a DB instance can have a Read Replica.

                                                        + *

                                                        The engine type of a DB instance.

                                                        */ - ReadReplicaCapable?: boolean; + Engine?: string; /** - *

                                                        Minimum storage size for a DB instance.

                                                        + *

                                                        Indicates whether a DB instance is in a VPC.

                                                        */ - MinStorageSize?: number; + Vpc?: boolean; /** - *

                                                        Minimum provisioned IOPS per GiB for a DB instance.

                                                        + *

                                                        Minimum total provisioned IOPS for a DB instance.

                                                        */ - MinIopsPerGib?: number; + MinIopsPerDbInstance?: number; /** *

                                                        Indicates whether a DB instance supports encrypted storage.

                                                        */ SupportsStorageEncryption?: boolean; + + /** + *

                                                        The DB instance class for a DB instance.

                                                        + */ + DBInstanceClass?: string; } export namespace OrderableDBInstanceOption { @@ -5514,18 +5514,18 @@ export namespace OrderableDBInstanceOption { } export interface OrderableDBInstanceOptionsMessage { - /** - *

                                                        An OrderableDBInstanceOption structure - * containing information about orderable options for the DB instance.

                                                        - */ - OrderableDBInstanceOptions?: OrderableDBInstanceOption[]; - /** *

                                                        An optional pagination token provided by a previous OrderableDBInstanceOptions request. * If this parameter is specified, the response includes only records beyond the marker, up to * the value specified by MaxRecords .

                                                        */ Marker?: string; + + /** + *

                                                        An OrderableDBInstanceOption structure + * containing information about orderable options for the DB instance.

                                                        + */ + OrderableDBInstanceOptions?: OrderableDBInstanceOption[]; } export namespace OrderableDBInstanceOptionsMessage { @@ -5535,6 +5535,14 @@ export namespace OrderableDBInstanceOptionsMessage { } export interface DescribePendingMaintenanceActionsMessage { + /** + *

                                                        An optional pagination token provided by a previous + * DescribePendingMaintenanceActions request. If this parameter is specified, the + * response includes only records beyond the marker, up to a number of records specified by + * MaxRecords.

                                                        + */ + Marker?: 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 @@ -5544,14 +5552,6 @@ export interface DescribePendingMaintenanceActionsMessage { */ MaxRecords?: number; - /** - *

                                                        An optional pagination token provided by a previous - * DescribePendingMaintenanceActions request. If this parameter is specified, the - * response includes only records beyond the marker, up to a number of records specified by - * MaxRecords.

                                                        - */ - Marker?: string; - /** *

                                                        The ARN of a resource to return pending maintenance actions for.

                                                        */ @@ -5586,6 +5586,11 @@ export namespace DescribePendingMaintenanceActionsMessage { } export interface PendingMaintenanceActionsMessage { + /** + *

                                                        A list of the pending maintenance actions for the resource.

                                                        + */ + PendingMaintenanceActions?: ResourcePendingMaintenanceActions[]; + /** *

                                                        An optional pagination token provided by a previous * DescribePendingMaintenanceActions request. If this parameter is specified, the @@ -5593,11 +5598,6 @@ export interface PendingMaintenanceActionsMessage { * MaxRecords.

                                                        */ Marker?: string; - - /** - *

                                                        A list of the pending maintenance actions for the resource.

                                                        - */ - PendingMaintenanceActions?: ResourcePendingMaintenanceActions[]; } export namespace PendingMaintenanceActionsMessage { @@ -5644,6 +5644,11 @@ export namespace DoubleRange { *

                                                        A range of integer values.

                                                        */ export interface Range { + /** + *

                                                        The maximum value in the range.

                                                        + */ + To?: number; + /** *

                                                        The step value for the range. For example, if you have a range of 5,000 to 10,000, with a * step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 @@ -5656,11 +5661,6 @@ export interface Range { *

                                                        The minimum value in the range.

                                                        */ From?: number; - - /** - *

                                                        The maximum value in the range.

                                                        - */ - To?: number; } export namespace Range { @@ -5676,10 +5676,9 @@ export namespace Range { */ export interface ValidStorageOptions { /** - *

                                                        The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, - * which means that provisioned IOPS can be between 3 and 10 times storage.

                                                        + *

                                                        The valid range of provisioned IOPS. For example, 1000-20000.

                                                        */ - IopsToStorageRatio?: DoubleRange[]; + ProvisionedIops?: Range[]; /** *

                                                        The valid storage types for your DB instance. For example, gp2, io1.

                                                        @@ -5687,14 +5686,15 @@ export interface ValidStorageOptions { StorageType?: string; /** - *

                                                        The valid range of provisioned IOPS. For example, 1000-20000.

                                                        + *

                                                        The valid range of storage in gibibytes. For example, 100 to 16384.

                                                        */ - ProvisionedIops?: Range[]; + StorageSize?: Range[]; /** - *

                                                        The valid range of storage in gibibytes. For example, 100 to 16384.

                                                        + *

                                                        The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, + * which means that provisioned IOPS can be between 3 and 10 times storage.

                                                        */ - StorageSize?: Range[]; + IopsToStorageRatio?: DoubleRange[]; } export namespace ValidStorageOptions { @@ -5839,14 +5839,14 @@ export namespace InvalidDBSecurityGroupStateFault { */ export interface CloudwatchLogsExportConfiguration { /** - *

                                                        The list of log types to enable.

                                                        + *

                                                        The list of log types to disable.

                                                        */ - EnableLogTypes?: string[]; + DisableLogTypes?: string[]; /** - *

                                                        The list of log types to disable.

                                                        + *

                                                        The list of log types to enable.

                                                        */ - DisableLogTypes?: string[]; + EnableLogTypes?: string[]; } export namespace CloudwatchLogsExportConfiguration { @@ -5856,26 +5856,6 @@ export namespace CloudwatchLogsExportConfiguration { } export interface ModifyDBClusterMessage { - /** - *

                                                        The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is - * stored as a lowercase string.

                                                        - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          Must contain from 1 to 63 letters, numbers, or hyphens

                                                          - *
                                                        • - *
                                                        • - *

                                                          The first character must be a letter

                                                          - *
                                                        • - *
                                                        • - *

                                                          Cannot end with a hyphen or contain two consecutive hyphens

                                                          - *
                                                        • - *
                                                        - *

                                                        Example: my-cluster2 - *

                                                        - */ - NewDBClusterIdentifier?: string; - /** *

                                                        A value that indicates whether the DB cluster has deletion protection enabled. * The database can't be deleted when deletion protection is enabled. By default, @@ -5883,6 +5863,13 @@ export interface ModifyDBClusterMessage { */ DeletionProtection?: boolean; + /** + *

                                                        + * (Not supported by Neptune) + *

                                                        + */ + OptionGroupName?: string; + /** *

                                                        The DB cluster identifier for the cluster being modified. This parameter is not * case-sensitive.

                                                        @@ -5896,24 +5883,22 @@ export interface ModifyDBClusterMessage { DBClusterIdentifier: string | undefined; /** - *

                                                        - * (Not supported by Neptune) - *

                                                        + *

                                                        The number of days for which automated backups are retained. You must specify a minimum + * value of 1.

                                                        + *

                                                        Default: 1

                                                        + *

                                                        Constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          Must be a value from 1 to 35

                                                          + *
                                                        • + *
                                                        */ - OptionGroupName?: string; + BackupRetentionPeriod?: number; /** - *

                                                        The weekly time range during which system maintenance can occur, in Universal Coordinated - * Time (UTC).

                                                        - *

                                                        Format: ddd:hh24:mi-ddd:hh24:mi - *

                                                        - *

                                                        The default is a 30-minute window selected at random from an 8-hour block of time for each - * AWS Region, occurring on a random day of the - * week.

                                                        - *

                                                        Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                                        - *

                                                        Constraints: Minimum 30-minute window.

                                                        + *

                                                        The name of the DB cluster parameter group to use for the DB cluster.

                                                        */ - PreferredMaintenanceWindow?: string; + DBClusterParameterGroupName?: string; /** *

                                                        The port number on which the DB cluster accepts connections.

                                                        @@ -5933,18 +5918,6 @@ export interface ModifyDBClusterMessage { */ EngineVersion?: string; - /** - *

                                                        The new password for the master database user. This password can contain any printable - * ASCII character except "/", """, or "@".

                                                        - *

                                                        Constraints: Must contain from 8 to 41 characters.

                                                        - */ - MasterUserPassword?: string; - - /** - *

                                                        A list of VPC security groups that the DB cluster will belong to.

                                                        - */ - VpcSecurityGroupIds?: string[]; - /** *

                                                        The daily time range during which automated backups are created if automated backups are * enabled, using the BackupRetentionPeriod parameter.

                                                        @@ -5969,30 +5942,50 @@ export interface ModifyDBClusterMessage { PreferredBackupWindow?: string; /** - *

                                                        The name of the DB cluster parameter group to use for the DB cluster.

                                                        + *

                                                        The weekly time range during which system maintenance can occur, in Universal Coordinated + * Time (UTC).

                                                        + *

                                                        Format: ddd:hh24:mi-ddd:hh24:mi + *

                                                        + *

                                                        The default is a 30-minute window selected at random from an 8-hour block of time for each + * AWS Region, occurring on a random day of the + * week.

                                                        + *

                                                        Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                                        + *

                                                        Constraints: Minimum 30-minute window.

                                                        */ - DBClusterParameterGroupName?: string; + PreferredMaintenanceWindow?: string; /** - *

                                                        The number of days for which automated backups are retained. You must specify a minimum - * value of 1.

                                                        - *

                                                        Default: 1

                                                        + *

                                                        True to enable mapping of AWS Identity and Access Management (IAM) accounts to database + * accounts, and otherwise false.

                                                        + *

                                                        Default: false + *

                                                        + */ + EnableIAMDatabaseAuthentication?: boolean; + + /** + *

                                                        The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is + * stored as a lowercase string.

                                                        *

                                                        Constraints:

                                                        *
                                                          *
                                                        • - *

                                                          Must be a value from 1 to 35

                                                          + *

                                                          Must contain from 1 to 63 letters, numbers, or hyphens

                                                          + *
                                                        • + *
                                                        • + *

                                                          The first character must be a letter

                                                          + *
                                                        • + *
                                                        • + *

                                                          Cannot end with a hyphen or contain two consecutive hyphens

                                                          *
                                                        • *
                                                        + *

                                                        Example: my-cluster2 + *

                                                        */ - BackupRetentionPeriod?: number; + NewDBClusterIdentifier?: string; /** - *

                                                        True to enable mapping of AWS Identity and Access Management (IAM) accounts to database - * accounts, and otherwise false.

                                                        - *

                                                        Default: false - *

                                                        + *

                                                        A list of VPC security groups that the DB cluster will belong to.

                                                        */ - EnableIAMDatabaseAuthentication?: boolean; + VpcSecurityGroupIds?: string[]; /** *

                                                        A value that specifies whether the modifications in this request and any pending @@ -6011,6 +6004,13 @@ export interface ModifyDBClusterMessage { */ ApplyImmediately?: boolean; + /** + *

                                                        The new password for the master database user. This password can contain any printable + * ASCII character except "/", """, or "@".

                                                        + *

                                                        Constraints: Must contain from 8 to 41 characters.

                                                        + */ + MasterUserPassword?: string; + /** *

                                                        The configuration setting for the log types to be enabled for export to CloudWatch Logs * for a specific DB cluster.

                                                        @@ -6068,14 +6068,14 @@ export namespace DBClusterParameterGroupNameMessage { export interface ModifyDBClusterParameterGroupMessage { /** - *

                                                        A list of parameters in the DB cluster parameter group to modify.

                                                        + *

                                                        The name of the DB cluster parameter group to modify.

                                                        */ - Parameters: Parameter[] | undefined; + DBClusterParameterGroupName: string | undefined; /** - *

                                                        The name of the DB cluster parameter group to modify.

                                                        + *

                                                        A list of parameters in the DB cluster parameter group to modify.

                                                        */ - DBClusterParameterGroupName: string | undefined; + Parameters: Parameter[] | undefined; } export namespace ModifyDBClusterParameterGroupMessage { @@ -6085,18 +6085,6 @@ export namespace ModifyDBClusterParameterGroupMessage { } export interface ModifyDBClusterSnapshotAttributeMessage { - /** - *

                                                        The name of the DB cluster snapshot attribute to modify.

                                                        - *

                                                        To manage authorization for other AWS accounts to copy or restore a manual DB cluster - * snapshot, set this value to restore.

                                                        - */ - AttributeName: string | undefined; - - /** - *

                                                        The identifier for the DB cluster snapshot to modify the attributes for.

                                                        - */ - DBClusterSnapshotIdentifier: string | undefined; - /** *

                                                        A list of DB cluster snapshot attributes to remove from the attribute specified by * AttributeName.

                                                        @@ -6108,6 +6096,13 @@ export interface ModifyDBClusterSnapshotAttributeMessage { */ ValuesToRemove?: string[]; + /** + *

                                                        The name of the DB cluster snapshot attribute to modify.

                                                        + *

                                                        To manage authorization for other AWS accounts to copy or restore a manual DB cluster + * snapshot, set this value to restore.

                                                        + */ + AttributeName: string | undefined; + /** *

                                                        A list of DB cluster snapshot attributes to add to the attribute specified by * AttributeName.

                                                        @@ -6118,6 +6113,11 @@ export interface ModifyDBClusterSnapshotAttributeMessage { * accounts.

                                                        */ ValuesToAdd?: string[]; + + /** + *

                                                        The identifier for the DB cluster snapshot to modify the attributes for.

                                                        + */ + DBClusterSnapshotIdentifier: string | undefined; } export namespace ModifyDBClusterSnapshotAttributeMessage { @@ -6198,29 +6198,15 @@ export namespace DBUpgradeDependencyFailureFault { export interface ModifyDBInstanceMessage { /** - *

                                                        A value that indicates whether the DB instance has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. See Deleting - * a DB Instance.

                                                        - */ - DeletionProtection?: boolean; - - /** - *

                                                        - * (Not supported by Neptune) - *

                                                        - */ - OptionGroupName?: string; - - /** - *

                                                        Not supported.

                                                        + *

                                                        The configuration setting for the log types to be enabled for export to CloudWatch Logs + * for a specific DB instance or DB cluster.

                                                        */ - StorageType?: string; + CloudwatchLogsExportConfiguration?: CloudwatchLogsExportConfiguration; /** - *

                                                        Not supported.

                                                        + *

                                                        This flag should no longer be used.

                                                        */ - LicenseModel?: string; + PubliclyAccessible?: boolean; /** *

                                                        The weekly time range (in UTC) during which system maintenance can occur, which might @@ -6238,26 +6224,52 @@ export interface ModifyDBInstanceMessage { PreferredMaintenanceWindow?: string; /** - *

                                                        The configuration setting for the log types to be enabled for export to CloudWatch Logs - * for a specific DB instance or DB cluster.

                                                        + *

                                                        The new amount of storage (in gibibytes) to allocate for the DB instance.

                                                        + *

                                                        Not applicable. Storage is managed by the DB Cluster.

                                                        */ - CloudwatchLogsExportConfiguration?: CloudwatchLogsExportConfiguration; + AllocatedStorage?: number; /** - *

                                                        The password for the given ARN from the key store in order to access the device.

                                                        + *

                                                        + * (Not supported by Neptune) + *

                                                        */ - TdeCredentialPassword?: string; + OptionGroupName?: string; /** - *

                                                        The new amount of storage (in gibibytes) to allocate for the DB instance.

                                                        - *

                                                        Not applicable. Storage is managed by the DB Cluster.

                                                        + *

                                                        Indicates the certificate that needs to be associated with the instance.

                                                        */ - AllocatedStorage?: number; + CACertificateIdentifier?: string; /** - *

                                                        This flag should no longer be used.

                                                        + *

                                                        A value that indicates whether the DB instance has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. See Deleting + * a DB Instance.

                                                        */ - PubliclyAccessible?: boolean; + DeletionProtection?: boolean; + + /** + *

                                                        Not applicable.

                                                        + */ + MasterUserPassword?: string; + + /** + *

                                                        The name of the DB parameter group to apply to the DB instance. Changing this setting + * doesn't result in an outage. The parameter group name itself is changed immediately, but the + * actual parameter changes are not applied until you reboot the instance without failover. The + * db instance will NOT be rebooted automatically and the parameter changes will NOT be applied + * during the next maintenance window.

                                                        + *

                                                        Default: Uses existing setting

                                                        + *

                                                        Constraints: The DB parameter group must be in the same DB parameter group family as this + * DB instance.

                                                        + */ + DBParameterGroupName?: string; + + /** + *

                                                        The password for the given ARN from the key store in order to access the device.

                                                        + */ + TdeCredentialPassword?: string; /** *

                                                        The version number of the database engine to upgrade to. Currently, setting this @@ -6267,11 +6279,9 @@ export interface ModifyDBInstanceMessage { EngineVersion?: string; /** - *

                                                        - * (Not supported by Neptune) - *

                                                        + *

                                                        Not supported.

                                                        */ - EnablePerformanceInsights?: boolean; + StorageType?: string; /** *

                                                        The new compute and memory capacity of the DB instance, for example, @@ -6285,89 +6295,42 @@ export interface ModifyDBInstanceMessage { DBInstanceClass?: string; /** - *

                                                        The new DB subnet group for the DB instance. You can use this parameter to move your DB - * instance to a different VPC.

                                                        - *

                                                        Changing the subnet group causes an outage during the change. The change is applied during - * the next maintenance window, unless you specify true for the - * ApplyImmediately parameter.

                                                        - *

                                                        Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                                        - *

                                                        Example: mySubnetGroup - *

                                                        - */ - DBSubnetGroupName?: string; - - /** - *

                                                        True to enable mapping of AWS Identity and Access Management (IAM) accounts to database - * accounts, and otherwise false.

                                                        - *

                                                        You can enable IAM database authentication for the following database engines

                                                        - *

                                                        Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB - * cluster. For more information, see ModifyDBCluster.

                                                        - *

                                                        Default: false - *

                                                        - */ - EnableIAMDatabaseAuthentication?: boolean; - - /** - *

                                                        Not supported.

                                                        - */ - Domain?: string; - - /** - *

                                                        Indicates that minor version upgrades are applied automatically to the DB instance during - * the maintenance window. Changing this parameter doesn't result in an outage except in the - * following case and the change is asynchronously applied as soon as possible. An outage will - * result if this parameter is set to true during the maintenance window, and a - * newer minor version is available, and Neptune has enabled auto patching for that engine - * version.

                                                        - */ - AutoMinorVersionUpgrade?: boolean; - - /** - *

                                                        The new Provisioned IOPS (I/O operations per second) value for the instance.

                                                        - *

                                                        Changing this setting doesn't result in an outage and the change is applied during the - * next maintenance window unless the ApplyImmediately parameter is set to - * true for this request.

                                                        - *

                                                        Default: Uses existing setting

                                                        + *

                                                        The ARN from the key store with which to associate the instance for TDE encryption.

                                                        */ - Iops?: number; + TdeCredentialArn?: string; /** - *

                                                        Not applicable.

                                                        + *

                                                        Not supported

                                                        */ - MasterUserPassword?: string; + DomainIAMRoleName?: string; /** - *

                                                        The name of the DB parameter group to apply to the DB instance. Changing this setting - * doesn't result in an outage. The parameter group name itself is changed immediately, but the - * actual parameter changes are not applied until you reboot the instance without failover. The - * db instance will NOT be rebooted automatically and the parameter changes will NOT be applied - * during the next maintenance window.

                                                        - *

                                                        Default: Uses existing setting

                                                        - *

                                                        Constraints: The DB parameter group must be in the same DB parameter group family as this - * DB instance.

                                                        + *

                                                        + * (Not supported by Neptune) + *

                                                        */ - DBParameterGroupName?: string; + PerformanceInsightsKMSKeyId?: string; /** - *

                                                        Specifies whether the modifications in this request and any pending modifications are - * asynchronously applied as soon as possible, regardless of the - * PreferredMaintenanceWindow setting for the DB instance.

                                                        - *

                                                        If this parameter is set to false, changes to the DB instance are applied - * during the next maintenance window. Some parameter changes can cause an outage and are applied - * on the next call to RebootDBInstance, or the next - * failure reboot.

                                                        - *

                                                        Default: false - *

                                                        + *

                                                        Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't + * result in an outage and the change is applied during the next maintenance window unless the + * ApplyImmediately parameter is set to true for this request.

                                                        */ - ApplyImmediately?: boolean; + MultiAZ?: boolean; /** - *

                                                        The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to - * Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.

                                                        - *

                                                        If MonitoringInterval is set to a value other than 0, then you must supply a - * MonitoringRoleArn value.

                                                        + *

                                                        A list of EC2 VPC security groups to authorize on this DB instance. This change is + * asynchronously applied as soon as possible.

                                                        + *

                                                        Not applicable. The associated list of EC2 VPC security groups is managed by the DB + * cluster. For more information, see ModifyDBCluster.

                                                        + *

                                                        Constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          If supplied, must match existing VpcSecurityGroupIds.

                                                          + *
                                                        • + *
                                                        */ - MonitoringRoleArn?: string; + VpcSecurityGroupIds?: string[]; /** *

                                                        The daily time range during which automated backups are created if automated backups are @@ -6393,67 +6356,39 @@ export interface ModifyDBInstanceMessage { PreferredBackupWindow?: string; /** - *

                                                        Indicates the certificate that needs to be associated with the instance.

                                                        - */ - CACertificateIdentifier?: string; - - /** - *

                                                        A list of DB security groups to authorize on this DB instance. Changing this setting - * doesn't result in an outage and the change is asynchronously applied as soon as - * possible.

                                                        - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          If supplied, must match existing DBSecurityGroups.

                                                          - *
                                                        • - *
                                                        - */ - DBSecurityGroups?: string[]; - - /** - *

                                                        Indicates that major version upgrades are allowed. Changing this parameter doesn't result - * in an outage and the change is asynchronously applied as soon as possible.

                                                        - */ - AllowMajorVersionUpgrade?: boolean; - - /** - *

                                                        Not applicable. The retention period for automated backups is managed by the DB cluster. - * For more information, see ModifyDBCluster.

                                                        - *

                                                        Default: Uses existing setting

                                                        - */ - BackupRetentionPeriod?: number; - - /** - *

                                                        Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't - * result in an outage and the change is applied during the next maintenance window unless the - * ApplyImmediately parameter is set to true for this request.

                                                        + *

                                                        True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise + * false. The default is false.

                                                        */ - MultiAZ?: boolean; + CopyTagsToSnapshot?: boolean; /** - *

                                                        The interval, in seconds, between points when Enhanced Monitoring metrics are collected - * for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default - * is 0.

                                                        - *

                                                        If MonitoringRoleArn is specified, then you must also set - * MonitoringInterval to a value other than 0.

                                                        - *

                                                        Valid Values: 0, 1, 5, 10, 15, 30, 60 - *

                                                        + *

                                                        Not applicable. The retention period for automated backups is managed by the DB cluster. + * For more information, see ModifyDBCluster.

                                                        + *

                                                        Default: Uses existing setting

                                                        */ - MonitoringInterval?: number; + BackupRetentionPeriod?: number; /** - *

                                                        A value that specifies the order in which a Read Replica is promoted to the primary - * instance after a failure of the existing primary instance.

                                                        - *

                                                        Default: 1

                                                        - *

                                                        Valid Values: 0 - 15

                                                        + *

                                                        The port number on which the database accepts connections.

                                                        + *

                                                        The value of the DBPortNumber parameter must not match any of the port values + * specified for options in the option group for the DB instance.

                                                        + *

                                                        Your database will restart when you change the DBPortNumber value regardless + * of the value of the ApplyImmediately parameter.

                                                        + *

                                                        Default: 8182 + *

                                                        */ - PromotionTier?: number; + DBPortNumber?: number; /** - *

                                                        True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise - * false. The default is false.

                                                        + *

                                                        The DB instance identifier. This value is stored as a lowercase string.

                                                        + *

                                                        Constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          Must match the identifier of an existing DBInstance.

                                                          + *
                                                        • + *
                                                        */ - CopyTagsToSnapshot?: boolean; + DBInstanceIdentifier: string | undefined; /** *

                                                        The new DB instance identifier for the DB instance when renaming a DB instance. When you @@ -6478,57 +6413,122 @@ export interface ModifyDBInstanceMessage { NewDBInstanceIdentifier?: string; /** - *

                                                        The DB instance identifier. This value is stored as a lowercase string.

                                                        - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          Must match the identifier of an existing DBInstance.

                                                          - *
                                                        • - *
                                                        + *

                                                        Indicates that minor version upgrades are applied automatically to the DB instance during + * the maintenance window. Changing this parameter doesn't result in an outage except in the + * following case and the change is asynchronously applied as soon as possible. An outage will + * result if this parameter is set to true during the maintenance window, and a + * newer minor version is available, and Neptune has enabled auto patching for that engine + * version.

                                                        */ - DBInstanceIdentifier: string | undefined; + AutoMinorVersionUpgrade?: boolean; /** - *

                                                        The port number on which the database accepts connections.

                                                        - *

                                                        The value of the DBPortNumber parameter must not match any of the port values - * specified for options in the option group for the DB instance.

                                                        - *

                                                        Your database will restart when you change the DBPortNumber value regardless - * of the value of the ApplyImmediately parameter.

                                                        - *

                                                        Default: 8182 + *

                                                        The interval, in seconds, between points when Enhanced Monitoring metrics are collected + * for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default + * is 0.

                                                        + *

                                                        If MonitoringRoleArn is specified, then you must also set + * MonitoringInterval to a value other than 0.

                                                        + *

                                                        Valid Values: 0, 1, 5, 10, 15, 30, 60 *

                                                        */ - DBPortNumber?: number; + MonitoringInterval?: number; /** *

                                                        * (Not supported by Neptune) *

                                                        */ - PerformanceInsightsKMSKeyId?: string; + EnablePerformanceInsights?: boolean; /** - *

                                                        Not supported

                                                        + *

                                                        The new Provisioned IOPS (I/O operations per second) value for the instance.

                                                        + *

                                                        Changing this setting doesn't result in an outage and the change is applied during the + * next maintenance window unless the ApplyImmediately parameter is set to + * true for this request.

                                                        + *

                                                        Default: Uses existing setting

                                                        */ - DomainIAMRoleName?: string; + Iops?: number; /** - *

                                                        The ARN from the key store with which to associate the instance for TDE encryption.

                                                        + *

                                                        A value that specifies the order in which a Read Replica is promoted to the primary + * instance after a failure of the existing primary instance.

                                                        + *

                                                        Default: 1

                                                        + *

                                                        Valid Values: 0 - 15

                                                        */ - TdeCredentialArn?: string; + PromotionTier?: number; /** - *

                                                        A list of EC2 VPC security groups to authorize on this DB instance. This change is - * asynchronously applied as soon as possible.

                                                        - *

                                                        Not applicable. The associated list of EC2 VPC security groups is managed by the DB + *

                                                        Specifies whether the modifications in this request and any pending modifications are + * asynchronously applied as soon as possible, regardless of the + * PreferredMaintenanceWindow setting for the DB instance.

                                                        + *

                                                        If this parameter is set to false, changes to the DB instance are applied + * during the next maintenance window. Some parameter changes can cause an outage and are applied + * on the next call to RebootDBInstance, or the next + * failure reboot.

                                                        + *

                                                        Default: false + *

                                                        + */ + ApplyImmediately?: boolean; + + /** + *

                                                        True to enable mapping of AWS Identity and Access Management (IAM) accounts to database + * accounts, and otherwise false.

                                                        + *

                                                        You can enable IAM database authentication for the following database engines

                                                        + *

                                                        Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB * cluster. For more information, see ModifyDBCluster.

                                                        + *

                                                        Default: false + *

                                                        + */ + EnableIAMDatabaseAuthentication?: boolean; + + /** + *

                                                        The new DB subnet group for the DB instance. You can use this parameter to move your DB + * instance to a different VPC.

                                                        + *

                                                        Changing the subnet group causes an outage during the change. The change is applied during + * the next maintenance window, unless you specify true for the + * ApplyImmediately parameter.

                                                        + *

                                                        Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                                        + *

                                                        Example: mySubnetGroup + *

                                                        + */ + DBSubnetGroupName?: string; + + /** + *

                                                        Not supported.

                                                        + */ + LicenseModel?: string; + + /** + *

                                                        Not supported.

                                                        + */ + Domain?: string; + + /** + *

                                                        A list of DB security groups to authorize on this DB instance. Changing this setting + * doesn't result in an outage and the change is asynchronously applied as soon as + * possible.

                                                        *

                                                        Constraints:

                                                        *
                                                          *
                                                        • - *

                                                          If supplied, must match existing VpcSecurityGroupIds.

                                                          + *

                                                          If supplied, must match existing DBSecurityGroups.

                                                          *
                                                        • *
                                                        */ - VpcSecurityGroupIds?: string[]; + DBSecurityGroups?: string[]; + + /** + *

                                                        Indicates that major version upgrades are allowed. Changing this parameter doesn't result + * in an outage and the change is asynchronously applied as soon as possible.

                                                        + */ + AllowMajorVersionUpgrade?: boolean; + + /** + *

                                                        The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to + * Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.

                                                        + *

                                                        If MonitoringInterval is set to a value other than 0, then you must supply a + * MonitoringRoleArn value.

                                                        + */ + MonitoringRoleArn?: string; } export namespace ModifyDBInstanceMessage { @@ -6565,6 +6565,17 @@ export namespace DBParameterGroupNameMessage { } export interface ModifyDBParameterGroupMessage { + /** + *

                                                        The name of the DB parameter group.

                                                        + *

                                                        Constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          If supplied, must match the name of an existing DBParameterGroup.

                                                          + *
                                                        • + *
                                                        + */ + DBParameterGroupName: string | undefined; + /** *

                                                        An array of parameter names, values, and the apply method for the parameter update. At * least one parameter name, value, and apply method must be supplied; subsequent arguments are @@ -6578,17 +6589,6 @@ export interface ModifyDBParameterGroupMessage { * */ Parameters: Parameter[] | undefined; - - /** - *

                                                        The name of the DB parameter group.

                                                        - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          If supplied, must match the name of an existing DBParameterGroup.

                                                          - *
                                                        • - *
                                                        - */ - DBParameterGroupName: string | undefined; } export namespace ModifyDBParameterGroupMessage { @@ -6599,13 +6599,9 @@ export namespace ModifyDBParameterGroupMessage { export interface ModifyDBSubnetGroupMessage { /** - *

                                                        The name for the DB subnet group. This value is stored as a lowercase string. You can't - * modify the default subnet group.

                                                        - *

                                                        Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

                                                        - *

                                                        Example: mySubnetgroup - *

                                                        + *

                                                        The EC2 subnet IDs for the DB subnet group.

                                                        */ - DBSubnetGroupName: string | undefined; + SubnetIds: string[] | undefined; /** *

                                                        The description for the DB subnet group.

                                                        @@ -6613,9 +6609,13 @@ export interface ModifyDBSubnetGroupMessage { DBSubnetGroupDescription?: string; /** - *

                                                        The EC2 subnet IDs for the DB subnet group.

                                                        + *

                                                        The name for the DB subnet group. This value is stored as a lowercase string. You can't + * modify the default subnet group.

                                                        + *

                                                        Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

                                                        + *

                                                        Example: mySubnetgroup + *

                                                        */ - SubnetIds: string[] | undefined; + DBSubnetGroupName: string | undefined; } export namespace ModifyDBSubnetGroupMessage { @@ -6657,6 +6657,12 @@ export namespace SubnetAlreadyInUse { } export interface ModifyEventSubscriptionMessage { + /** + *

                                                        A Boolean value; set to true to activate the + * subscription.

                                                        + */ + Enabled?: boolean; + /** *

                                                        The name of the event notification subscription.

                                                        */ @@ -6671,24 +6677,18 @@ export interface ModifyEventSubscriptionMessage { SourceType?: string; /** - *

                                                        A Boolean value; set to true to activate the - * subscription.

                                                        + *

                                                        A list of event categories for a SourceType that you want to subscribe to. You can see a + * list of the categories for a given SourceType + * + * by using the DescribeEventCategories action.

                                                        */ - Enabled?: boolean; + EventCategories?: string[]; /** *

                                                        The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is * created by Amazon SNS when you create a topic and subscribe to it.

                                                        */ SnsTopicArn?: string; - - /** - *

                                                        A list of event categories for a SourceType that you want to subscribe to. You can see a - * list of the categories for a given SourceType - * - * by using the DescribeEventCategories action.

                                                        - */ - EventCategories?: string[]; } export namespace ModifyEventSubscriptionMessage { @@ -6815,17 +6815,17 @@ export namespace RemoveRoleFromDBClusterMessage { } export interface RemoveSourceIdentifierFromSubscriptionMessage { - /** - *

                                                        The name of the event notification subscription you want to remove a source identifier - * from.

                                                        - */ - SubscriptionName: string | undefined; - /** *

                                                        The source identifier to be removed from the subscription, such as the DB instance identifier for a DB instance or the name of a security * group.

                                                        */ SourceIdentifier: string | undefined; + + /** + *

                                                        The name of the event notification subscription you want to remove a source identifier + * from.

                                                        + */ + SubscriptionName: string | undefined; } export namespace RemoveSourceIdentifierFromSubscriptionMessage { @@ -6868,6 +6868,11 @@ export namespace RemoveTagsFromResourceMessage { } export interface ResetDBClusterParameterGroupMessage { + /** + *

                                                        The name of the DB cluster parameter group to reset.

                                                        + */ + DBClusterParameterGroupName: string | undefined; + /** *

                                                        A value that is set to true to reset all parameters in the DB cluster * parameter group to their default values, and false otherwise. You can't use this @@ -6876,11 +6881,6 @@ export interface ResetDBClusterParameterGroupMessage { */ ResetAllParameters?: boolean; - /** - *

                                                        The name of the DB cluster parameter group to reset.

                                                        - */ - DBClusterParameterGroupName: string | undefined; - /** *

                                                        A list of parameter names in the DB cluster parameter group to reset to the default * values. You can't use this parameter if the ResetAllParameters parameter is set @@ -6896,17 +6896,6 @@ export namespace ResetDBClusterParameterGroupMessage { } export interface ResetDBParameterGroupMessage { - /** - *

                                                        The name of the DB parameter group.

                                                        - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          Must match the name of an existing DBParameterGroup.

                                                          - *
                                                        • - *
                                                        - */ - DBParameterGroupName: string | undefined; - /** *

                                                        To reset the entire DB parameter group, specify the DBParameterGroup name and * ResetAllParameters parameters. To reset specific parameters, provide a list of @@ -6924,6 +6913,17 @@ export interface ResetDBParameterGroupMessage { *

                                                        */ ResetAllParameters?: boolean; + + /** + *

                                                        The name of the DB parameter group.

                                                        + *

                                                        Constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          Must match the name of an existing DBParameterGroup.

                                                          + *
                                                        • + *
                                                        + */ + DBParameterGroupName: string | undefined; } export namespace ResetDBParameterGroupMessage { @@ -6988,20 +6988,12 @@ export namespace InvalidRestoreFault { export interface RestoreDBClusterFromSnapshotMessage { /** - *

                                                        The tags to be assigned to the restored DB cluster.

                                                        - */ - Tags?: Tag[]; - - /** - *

                                                        The name of the DB cluster parameter group to associate with the new DB cluster.

                                                        - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          If supplied, must match the name of an existing DBClusterParameterGroup.

                                                          - *
                                                        • - *
                                                        + *

                                                        The name of the DB subnet group to use for the new DB cluster.

                                                        + *

                                                        Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                                        + *

                                                        Example: mySubnetgroup + *

                                                        */ - DBClusterParameterGroupName?: string; + DBSubnetGroupName?: string; /** *

                                                        A list of VPC security groups that the new DB cluster will belong to.

                                                        @@ -7009,11 +7001,10 @@ export interface RestoreDBClusterFromSnapshotMessage { VpcSecurityGroupIds?: string[]; /** - *

                                                        - * (Not supported by Neptune) - *

                                                        + *

                                                        Provides the list of EC2 Availability Zones that instances in the restored DB cluster can + * be created in.

                                                        */ - OptionGroupName?: string; + AvailabilityZones?: string[]; /** *

                                                        Not supported.

                                                        @@ -7021,20 +7012,11 @@ export interface RestoreDBClusterFromSnapshotMessage { DatabaseName?: string; /** - *

                                                        The name of the DB subnet group to use for the new DB cluster.

                                                        - *

                                                        Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                                        - *

                                                        Example: mySubnetgroup + *

                                                        + * (Not supported by Neptune) *

                                                        */ - DBSubnetGroupName?: string; - - /** - *

                                                        A value that indicates whether the DB cluster has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. - *

                                                        - */ - DeletionProtection?: boolean; + OptionGroupName?: string; /** *

                                                        The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This @@ -7056,24 +7038,6 @@ export interface RestoreDBClusterFromSnapshotMessage { */ DBClusterIdentifier: string | undefined; - /** - *

                                                        The version of the database engine to use for the new DB cluster.

                                                        - */ - EngineVersion?: string; - - /** - *

                                                        The identifier for the DB snapshot or DB cluster snapshot to restore from.

                                                        - *

                                                        You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster - * snapshot. However, you can use only the ARN to specify a DB snapshot.

                                                        - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          Must match the identifier of an existing Snapshot.

                                                          - *
                                                        • - *
                                                        - */ - SnapshotIdentifier: string | undefined; - /** *

                                                        The port number on which the new DB cluster accepts connections.

                                                        *

                                                        Constraints: Value must be 1150-65535 @@ -7082,6 +7046,14 @@ export interface RestoreDBClusterFromSnapshotMessage { */ Port?: number; + /** + *

                                                        A value that indicates whether the DB cluster has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. + *

                                                        + */ + DeletionProtection?: boolean; + /** *

                                                        The AWS KMS key identifier to use when restoring an encrypted DB cluster from a DB * snapshot or DB cluster snapshot.

                                                        @@ -7106,18 +7078,22 @@ export interface RestoreDBClusterFromSnapshotMessage { KmsKeyId?: string; /** - *

                                                        Provides the list of EC2 Availability Zones that instances in the restored DB cluster can - * be created in.

                                                        + *

                                                        The identifier for the DB snapshot or DB cluster snapshot to restore from.

                                                        + *

                                                        You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster + * snapshot. However, you can use only the ARN to specify a DB snapshot.

                                                        + *

                                                        Constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          Must match the identifier of an existing Snapshot.

                                                          + *
                                                        • + *
                                                        */ - AvailabilityZones?: string[]; + SnapshotIdentifier: string | undefined; /** - *

                                                        True to enable mapping of AWS Identity and Access Management (IAM) accounts to database - * accounts, and otherwise false.

                                                        - *

                                                        Default: false - *

                                                        + *

                                                        The version of the database engine to use for the new DB cluster.

                                                        */ - EnableIAMDatabaseAuthentication?: boolean; + EngineVersion?: string; /** *

                                                        The database engine to use for the new DB cluster.

                                                        @@ -7126,10 +7102,34 @@ export interface RestoreDBClusterFromSnapshotMessage { */ Engine: string | undefined; + /** + *

                                                        The name of the DB cluster parameter group to associate with the new DB cluster.

                                                        + *

                                                        Constraints:

                                                        + *
                                                          + *
                                                        • + *

                                                          If supplied, must match the name of an existing DBClusterParameterGroup.

                                                          + *
                                                        • + *
                                                        + */ + DBClusterParameterGroupName?: string; + /** *

                                                        The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs.

                                                        */ EnableCloudwatchLogsExports?: string[]; + + /** + *

                                                        The tags to be assigned to the restored DB cluster.

                                                        + */ + Tags?: Tag[]; + + /** + *

                                                        True to enable mapping of AWS Identity and Access Management (IAM) accounts to database + * accounts, and otherwise false.

                                                        + *

                                                        Default: false + *

                                                        + */ + EnableIAMDatabaseAuthentication?: boolean; } export namespace RestoreDBClusterFromSnapshotMessage { @@ -7154,28 +7154,30 @@ export namespace RestoreDBClusterFromSnapshotResult { export interface RestoreDBClusterToPointInTimeMessage { /** - *

                                                        The tags to be applied to the restored DB cluster.

                                                        - */ - Tags?: Tag[]; - - /** - *

                                                        The type of restore to be performed. You can specify one of the following values:

                                                        + *

                                                        The identifier of the source DB cluster from which to restore.

                                                        + *

                                                        Constraints:

                                                        *
                                                          *
                                                        • - *

                                                          - * full-copy - The new DB cluster is restored as a full copy of the source - * DB cluster.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * copy-on-write - The new DB cluster is restored as a clone of the source - * DB cluster.

                                                          + *

                                                          Must match the identifier of an existing DBCluster.

                                                          *
                                                        • *
                                                        - *

                                                        If you don't specify a RestoreType value, then the new DB cluster is restored - * as a full copy of the source DB cluster.

                                                        */ - RestoreType?: string; + SourceDBClusterIdentifier: string | undefined; + + /** + *

                                                        A list of VPC security groups that the new DB cluster belongs to.

                                                        + */ + VpcSecurityGroupIds?: string[]; + + /** + *

                                                        A value that is set to true to restore the DB cluster to the latest + * restorable backup time, and false otherwise.

                                                        + *

                                                        Default: false + *

                                                        + *

                                                        Constraints: Cannot be specified if RestoreToTime parameter is + * provided.

                                                        + */ + UseLatestRestorableTime?: boolean; /** *

                                                        True to enable mapping of AWS Identity and Access Management (IAM) accounts to database @@ -7186,15 +7188,17 @@ export interface RestoreDBClusterToPointInTimeMessage { EnableIAMDatabaseAuthentication?: boolean; /** - *

                                                        The identifier of the source DB cluster from which to restore.

                                                        - *

                                                        Constraints:

                                                        - *
                                                          - *
                                                        • - *

                                                          Must match the identifier of an existing DBCluster.

                                                          - *
                                                        • - *
                                                        + *

                                                        The tags to be applied to the restored DB cluster.

                                                        */ - SourceDBClusterIdentifier: string | undefined; + Tags?: Tag[]; + + /** + *

                                                        The DB subnet group name to use for the new DB cluster.

                                                        + *

                                                        Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                                        + *

                                                        Example: mySubnetgroup + *

                                                        + */ + DBSubnetGroupName?: string; /** *

                                                        The name of the DB cluster parameter group to associate with the new DB cluster.

                                                        @@ -7207,14 +7211,6 @@ export interface RestoreDBClusterToPointInTimeMessage { */ DBClusterParameterGroupName?: string; - /** - *

                                                        The port number on which the new DB cluster accepts connections.

                                                        - *

                                                        Constraints: Value must be 1150-65535 - *

                                                        - *

                                                        Default: The same port as the original DB cluster.

                                                        - */ - Port?: number; - /** *

                                                        The date and time to restore the DB cluster to.

                                                        *

                                                        Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

                                                        @@ -7242,27 +7238,46 @@ export interface RestoreDBClusterToPointInTimeMessage { RestoreToTime?: Date; /** - *

                                                        The list of logs that the restored DB cluster is to export to CloudWatch Logs.

                                                        + *

                                                        The port number on which the new DB cluster accepts connections.

                                                        + *

                                                        Constraints: Value must be 1150-65535 + *

                                                        + *

                                                        Default: The same port as the original DB cluster.

                                                        */ - EnableCloudwatchLogsExports?: string[]; + Port?: number; /** - *

                                                        A value that is set to true to restore the DB cluster to the latest - * restorable backup time, and false otherwise.

                                                        - *

                                                        Default: false - *

                                                        - *

                                                        Constraints: Cannot be specified if RestoreToTime parameter is - * provided.

                                                        + *

                                                        The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted + * DB cluster.

                                                        + *

                                                        The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If + * you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used + * to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the + * KMS encryption key.

                                                        + *

                                                        You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is + * different than the KMS key used to encrypt the source DB cluster. The new DB cluster is + * encrypted with the KMS key identified by the KmsKeyId parameter.

                                                        + *

                                                        If you do not specify a value for the KmsKeyId parameter, then the following + * will occur:

                                                        + *
                                                          + *
                                                        • + *

                                                          If the DB cluster is encrypted, then the restored DB cluster is encrypted using the + * KMS key that was used to encrypt the source DB cluster.

                                                          + *
                                                        • + *
                                                        • + *

                                                          If the DB cluster is not encrypted, then the restored DB cluster is not + * encrypted.

                                                          + *
                                                        • + *
                                                        + *

                                                        If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the + * restore request is rejected.

                                                        */ - UseLatestRestorableTime?: boolean; + KmsKeyId?: string; /** - *

                                                        The DB subnet group name to use for the new DB cluster.

                                                        - *

                                                        Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                                        - *

                                                        Example: mySubnetgroup + *

                                                        + * (Not supported by Neptune) *

                                                        */ - DBSubnetGroupName?: string; + OptionGroupName?: string; /** *

                                                        A value that indicates whether the DB cluster has deletion protection enabled. @@ -7272,13 +7287,6 @@ export interface RestoreDBClusterToPointInTimeMessage { */ DeletionProtection?: boolean; - /** - *

                                                        - * (Not supported by Neptune) - *

                                                        - */ - OptionGroupName?: string; - /** *

                                                        The name of the new DB cluster to be created.

                                                        *

                                                        Constraints:

                                                        @@ -7297,36 +7305,28 @@ export interface RestoreDBClusterToPointInTimeMessage { DBClusterIdentifier: string | undefined; /** - *

                                                        The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted - * DB cluster.

                                                        - *

                                                        The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If - * you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used - * to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the - * KMS encryption key.

                                                        - *

                                                        You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is - * different than the KMS key used to encrypt the source DB cluster. The new DB cluster is - * encrypted with the KMS key identified by the KmsKeyId parameter.

                                                        - *

                                                        If you do not specify a value for the KmsKeyId parameter, then the following - * will occur:

                                                        + *

                                                        The type of restore to be performed. You can specify one of the following values:

                                                        *
                                                          *
                                                        • - *

                                                          If the DB cluster is encrypted, then the restored DB cluster is encrypted using the - * KMS key that was used to encrypt the source DB cluster.

                                                          + *

                                                          + * full-copy - The new DB cluster is restored as a full copy of the source + * DB cluster.

                                                          *
                                                        • *
                                                        • - *

                                                          If the DB cluster is not encrypted, then the restored DB cluster is not - * encrypted.

                                                          + *

                                                          + * copy-on-write - The new DB cluster is restored as a clone of the source + * DB cluster.

                                                          *
                                                        • *
                                                        - *

                                                        If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the - * restore request is rejected.

                                                        + *

                                                        If you don't specify a RestoreType value, then the new DB cluster is restored + * as a full copy of the source DB cluster.

                                                        */ - KmsKeyId?: string; + RestoreType?: string; /** - *

                                                        A list of VPC security groups that the new DB cluster belongs to.

                                                        + *

                                                        The list of logs that the restored DB cluster is to export to CloudWatch Logs.

                                                        */ - VpcSecurityGroupIds?: string[]; + EnableCloudwatchLogsExports?: string[]; } export namespace RestoreDBClusterToPointInTimeMessage { diff --git a/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts b/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts new file mode 100644 index 000000000000..3ed490ee2652 --- /dev/null +++ b/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts @@ -0,0 +1,51 @@ +import { Neptune } from "../Neptune"; +import { NeptuneClient } from "../NeptuneClient"; +import { + DescribeEngineDefaultParametersCommand, + DescribeEngineDefaultParametersCommandInput, + DescribeEngineDefaultParametersCommandOutput, +} from "../commands/DescribeEngineDefaultParametersCommand"; +import { NeptunePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: NeptuneClient, + input: DescribeEngineDefaultParametersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEngineDefaultParametersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Neptune, + input: DescribeEngineDefaultParametersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEngineDefaultParameters(input, ...args); +}; +export async function* describeEngineDefaultParametersPaginate( + config: NeptunePaginationConfiguration, + input: DescribeEngineDefaultParametersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEngineDefaultParametersCommandOutput; + while (hasNext) { + input["Marker"] = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof Neptune) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof NeptuneClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Neptune | NeptuneClient"); + } + yield page; + token = page["EngineDefaults"]["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-neptune/protocols/Aws_query.ts b/clients/client-neptune/protocols/Aws_query.ts index 25fdb01ffd3d..4141cf45142e 100644 --- a/clients/client-neptune/protocols/Aws_query.ts +++ b/clients/client-neptune/protocols/Aws_query.ts @@ -6701,12 +6701,12 @@ const serializeAws_queryAddRoleToDBClusterMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } if (input.RoleArn !== undefined) { entries["RoleArn"] = input.RoleArn; } + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } return entries; }; @@ -6747,12 +6747,12 @@ const serializeAws_queryApplyPendingMaintenanceActionMessage = ( if (input.ApplyAction !== undefined) { entries["ApplyAction"] = input.ApplyAction; } - if (input.OptInType !== undefined) { - entries["OptInType"] = input.OptInType; - } if (input.ResourceIdentifier !== undefined) { entries["ResourceIdentifier"] = input.ResourceIdentifier; } + if (input.OptInType !== undefined) { + entries["OptInType"] = input.OptInType; + } return entries; }; @@ -6781,17 +6781,17 @@ const serializeAws_queryCloudwatchLogsExportConfiguration = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EnableLogTypes !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.EnableLogTypes, context); + if (input.DisableLogTypes !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.DisableLogTypes, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnableLogTypes.${key}`; + const loc = `DisableLogTypes.${key}`; entries[loc] = value; }); } - if (input.DisableLogTypes !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.DisableLogTypes, context); + if (input.EnableLogTypes !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.EnableLogTypes, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DisableLogTypes.${key}`; + const loc = `EnableLogTypes.${key}`; entries[loc] = value; }); } @@ -6803,13 +6803,6 @@ const serializeAws_queryCopyDBClusterParameterGroupMessage = ( 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.SourceDBClusterParameterGroupIdentifier !== undefined) { entries["SourceDBClusterParameterGroupIdentifier"] = input.SourceDBClusterParameterGroupIdentifier; } @@ -6819,6 +6812,13 @@ const serializeAws_queryCopyDBClusterParameterGroupMessage = ( if (input.TargetDBClusterParameterGroupDescription !== undefined) { entries["TargetDBClusterParameterGroupDescription"] = input.TargetDBClusterParameterGroupDescription; } + 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; }; @@ -6827,6 +6827,12 @@ const serializeAws_queryCopyDBClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SourceDBClusterSnapshotIdentifier !== undefined) { + entries["SourceDBClusterSnapshotIdentifier"] = input.SourceDBClusterSnapshotIdentifier; + } + if (input.CopyTags !== undefined) { + entries["CopyTags"] = input.CopyTags; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6834,18 +6840,12 @@ const serializeAws_queryCopyDBClusterSnapshotMessage = ( entries[loc] = value; }); } - if (input.CopyTags !== undefined) { - entries["CopyTags"] = input.CopyTags; + if (input.PreSignedUrl !== undefined) { + entries["PreSignedUrl"] = input.PreSignedUrl; } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.SourceDBClusterSnapshotIdentifier !== undefined) { - entries["SourceDBClusterSnapshotIdentifier"] = input.SourceDBClusterSnapshotIdentifier; - } - if (input.PreSignedUrl !== undefined) { - entries["PreSignedUrl"] = input.PreSignedUrl; - } if (input.TargetDBClusterSnapshotIdentifier !== undefined) { entries["TargetDBClusterSnapshotIdentifier"] = input.TargetDBClusterSnapshotIdentifier; } @@ -6857,11 +6857,14 @@ const serializeAws_queryCopyDBParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.TargetDBParameterGroupIdentifier !== undefined) { + entries["TargetDBParameterGroupIdentifier"] = input.TargetDBParameterGroupIdentifier; + } if (input.TargetDBParameterGroupDescription !== undefined) { entries["TargetDBParameterGroupDescription"] = input.TargetDBParameterGroupDescription; } - if (input.TargetDBParameterGroupIdentifier !== undefined) { - entries["TargetDBParameterGroupIdentifier"] = input.TargetDBParameterGroupIdentifier; + if (input.SourceDBParameterGroupIdentifier !== undefined) { + entries["SourceDBParameterGroupIdentifier"] = input.SourceDBParameterGroupIdentifier; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); @@ -6870,19 +6873,22 @@ const serializeAws_queryCopyDBParameterGroupMessage = ( entries[loc] = value; }); } - if (input.SourceDBParameterGroupIdentifier !== undefined) { - entries["SourceDBParameterGroupIdentifier"] = input.SourceDBParameterGroupIdentifier; - } return entries; }; const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + if (input.CharacterSetName !== undefined) { + entries["CharacterSetName"] = input.CharacterSetName; } - if (input.ReplicationSourceIdentifier !== undefined) { - entries["ReplicationSourceIdentifier"] = input.ReplicationSourceIdentifier; + if (input.Port !== undefined) { + entries["Port"] = input.Port; + } + if (input.PreSignedUrl !== undefined) { + entries["PreSignedUrl"] = input.PreSignedUrl; + } + if (input.BackupRetentionPeriod !== undefined) { + entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); @@ -6891,42 +6897,32 @@ const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, entries[loc] = value; }); } + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + } if (input.MasterUserPassword !== undefined) { entries["MasterUserPassword"] = input.MasterUserPassword; } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } - if (input.BackupRetentionPeriod !== undefined) { - entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; - } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; - } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } - if (input.Port !== undefined) { - entries["Port"] = input.Port; - } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } - if (input.StorageEncrypted !== undefined) { - entries["StorageEncrypted"] = input.StorageEncrypted; + if (input.MasterUsername !== undefined) { + entries["MasterUsername"] = input.MasterUsername; } - if (input.CharacterSetName !== undefined) { - entries["CharacterSetName"] = input.CharacterSetName; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } if (input.DBSubnetGroupName !== undefined) { entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } - 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.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; + } + if (input.DatabaseName !== undefined) { + entries["DatabaseName"] = input.DatabaseName; + } + if (input.PreferredBackupWindow !== undefined) { + entries["PreferredBackupWindow"] = input.PreferredBackupWindow; } if (input.AvailabilityZones !== undefined) { const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); @@ -6938,6 +6934,9 @@ const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, if (input.Engine !== undefined) { entries["Engine"] = input.Engine; } + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; + } if (input.EnableCloudwatchLogsExports !== undefined) { const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6945,26 +6944,27 @@ const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, entries[loc] = value; }); } - if (input.DatabaseName !== undefined) { - entries["DatabaseName"] = input.DatabaseName; - } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } - if (input.MasterUsername !== undefined) { - entries["MasterUsername"] = input.MasterUsername; + if (input.ReplicationSourceIdentifier !== undefined) { + entries["ReplicationSourceIdentifier"] = input.ReplicationSourceIdentifier; } - if (input.PreSignedUrl !== undefined) { - entries["PreSignedUrl"] = input.PreSignedUrl; + 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.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.PreferredBackupWindow !== undefined) { - entries["PreferredBackupWindow"] = input.PreferredBackupWindow; + if (input.StorageEncrypted !== undefined) { + entries["StorageEncrypted"] = input.StorageEncrypted; } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; } return entries; }; @@ -6974,8 +6974,8 @@ const serializeAws_queryCreateDBClusterParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); @@ -6984,8 +6984,8 @@ const serializeAws_queryCreateDBClusterParameterGroupMessage = ( entries[loc] = value; }); } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } if (input.DBParameterGroupFamily !== undefined) { entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; @@ -7005,161 +7005,161 @@ const serializeAws_queryCreateDBClusterSnapshotMessage = ( entries[loc] = value; }); } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } if (input.DBClusterSnapshotIdentifier !== undefined) { entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; } + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } return entries; }; const serializeAws_queryCreateDBInstanceMessage = (input: CreateDBInstanceMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; - } - if (input.PromotionTier !== undefined) { - entries["PromotionTier"] = input.PromotionTier; - } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; - } - if (input.Domain !== undefined) { - entries["Domain"] = input.Domain; - } if (input.MonitoringRoleArn !== undefined) { entries["MonitoringRoleArn"] = input.MonitoringRoleArn; } - 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.TdeCredentialArn !== undefined) { + entries["TdeCredentialArn"] = input.TdeCredentialArn; + } + if (input.CharacterSetName !== undefined) { + entries["CharacterSetName"] = input.CharacterSetName; + } + if (input.PerformanceInsightsKMSKeyId !== undefined) { + entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; } if (input.EnableIAMDatabaseAuthentication !== undefined) { entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; } - if (input.MultiAZ !== undefined) { - entries["MultiAZ"] = input.MultiAZ; + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; } - if (input.TdeCredentialArn !== undefined) { - entries["TdeCredentialArn"] = input.TdeCredentialArn; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } - if (input.PerformanceInsightsKMSKeyId !== undefined) { - entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; + if (input.MultiAZ !== undefined) { + entries["MultiAZ"] = input.MultiAZ; } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + if (input.PromotionTier !== undefined) { + entries["PromotionTier"] = input.PromotionTier; + } + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; } if (input.BackupRetentionPeriod !== undefined) { entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } - if (input.Port !== undefined) { - entries["Port"] = input.Port; - } - if (input.CharacterSetName !== undefined) { - entries["CharacterSetName"] = input.CharacterSetName; + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); + if (input.DBSecurityGroups !== undefined) { + const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; + const loc = `DBSecurityGroups.${key}`; entries[loc] = value; }); } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.Domain !== undefined) { + entries["Domain"] = input.Domain; } - if (input.StorageEncrypted !== undefined) { - entries["StorageEncrypted"] = input.StorageEncrypted; + if (input.MonitoringInterval !== undefined) { + entries["MonitoringInterval"] = input.MonitoringInterval; } - if (input.StorageType !== undefined) { - entries["StorageType"] = input.StorageType; + if (input.MasterUsername !== undefined) { + entries["MasterUsername"] = input.MasterUsername; } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + if (input.AutoMinorVersionUpgrade !== undefined) { + entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; + if (input.DBName !== undefined) { + entries["DBName"] = input.DBName; } - if (input.AllocatedStorage !== undefined) { - entries["AllocatedStorage"] = input.AllocatedStorage; + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; + } + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + } + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; + } + if (input.PreferredBackupWindow !== undefined) { + entries["PreferredBackupWindow"] = input.PreferredBackupWindow; + } + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; + } + if (input.Timezone !== undefined) { + entries["Timezone"] = input.Timezone; + } + if (input.LicenseModel !== undefined) { + entries["LicenseModel"] = input.LicenseModel; + } + if (input.TdeCredentialPassword !== undefined) { + entries["TdeCredentialPassword"] = input.TdeCredentialPassword; } if (input.EnablePerformanceInsights !== undefined) { entries["EnablePerformanceInsights"] = input.EnablePerformanceInsights; } - if (input.EnableCloudwatchLogsExports !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnableCloudwatchLogsExports.${key}`; - entries[loc] = value; - }); - } if (input.Iops !== undefined) { entries["Iops"] = input.Iops; } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; + if (input.StorageType !== undefined) { + entries["StorageType"] = input.StorageType; } - if (input.AutoMinorVersionUpgrade !== undefined) { - entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } - if (input.DBSecurityGroups !== undefined) { - const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroups, context); + if (input.EnableCloudwatchLogsExports !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DBSecurityGroups.${key}`; + const loc = `EnableCloudwatchLogsExports.${key}`; entries[loc] = value; }); } if (input.Engine !== undefined) { entries["Engine"] = input.Engine; } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; - } - if (input.PreferredBackupWindow !== undefined) { - entries["PreferredBackupWindow"] = input.PreferredBackupWindow; - } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; - } - if (input.DBName !== undefined) { - entries["DBName"] = input.DBName; - } - if (input.MasterUsername !== undefined) { - entries["MasterUsername"] = input.MasterUsername; - } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; } - if (input.LicenseModel !== undefined) { - entries["LicenseModel"] = input.LicenseModel; + 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.Timezone !== undefined) { - entries["Timezone"] = input.Timezone; + 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.MonitoringInterval !== undefined) { - entries["MonitoringInterval"] = input.MonitoringInterval; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; } - if (input.TdeCredentialPassword !== undefined) { - entries["TdeCredentialPassword"] = input.TdeCredentialPassword; + if (input.AllocatedStorage !== undefined) { + entries["AllocatedStorage"] = input.AllocatedStorage; } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; + if (input.StorageEncrypted !== undefined) { + entries["StorageEncrypted"] = input.StorageEncrypted; } return entries; }; @@ -7169,9 +7169,6 @@ const serializeAws_queryCreateDBParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; - } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7179,6 +7176,9 @@ const serializeAws_queryCreateDBParameterGroupMessage = ( entries[loc] = value; }); } + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; + } if (input.Description !== undefined) { entries["Description"] = input.Description; } @@ -7193,9 +7193,6 @@ const serializeAws_queryCreateDBSubnetGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBSubnetGroupDescription !== undefined) { - entries["DBSubnetGroupDescription"] = input.DBSubnetGroupDescription; - } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7203,8 +7200,8 @@ const serializeAws_queryCreateDBSubnetGroupMessage = ( entries[loc] = value; }); } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.DBSubnetGroupDescription !== undefined) { + entries["DBSubnetGroupDescription"] = input.DBSubnetGroupDescription; } if (input.SubnetIds !== undefined) { const memberEntries = serializeAws_querySubnetIdentifierList(input.SubnetIds, context); @@ -7213,6 +7210,9 @@ const serializeAws_queryCreateDBSubnetGroupMessage = ( entries[loc] = value; }); } + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } return entries; }; @@ -7221,39 +7221,39 @@ const serializeAws_queryCreateEventSubscriptionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SubscriptionName !== undefined) { - entries["SubscriptionName"] = input.SubscriptionName; - } - if (input.EventCategories !== undefined) { - const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EventCategories.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } + if (input.SourceType !== undefined) { + entries["SourceType"] = input.SourceType; + } if (input.SnsTopicArn !== undefined) { entries["SnsTopicArn"] = input.SnsTopicArn; } - if (input.SourceIds !== undefined) { - const memberEntries = serializeAws_querySourceIdsList(input.SourceIds, context); + if (input.EventCategories !== undefined) { + const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SourceIds.${key}`; + const loc = `EventCategories.${key}`; entries[loc] = value; }); } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.SourceIds !== undefined) { + const memberEntries = serializeAws_querySourceIdsList(input.SourceIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `SourceIds.${key}`; entries[loc] = value; }); } - if (input.SourceType !== undefined) { - entries["SourceType"] = input.SourceType; - } if (input.Enabled !== undefined) { entries["Enabled"] = input.Enabled; } + if (input.SubscriptionName !== undefined) { + entries["SubscriptionName"] = input.SubscriptionName; + } return entries; }; @@ -7269,15 +7269,15 @@ const serializeAws_queryDBSecurityGroupNameList = (input: string[], context: __S const serializeAws_queryDeleteDBClusterMessage = (input: DeleteDBClusterMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } if (input.SkipFinalSnapshot !== undefined) { entries["SkipFinalSnapshot"] = input.SkipFinalSnapshot; } if (input.FinalDBSnapshotIdentifier !== undefined) { entries["FinalDBSnapshotIdentifier"] = input.FinalDBSnapshotIdentifier; } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } return entries; }; @@ -7358,9 +7358,6 @@ const serializeAws_queryDescribeDBClusterParameterGroupsMessage = ( if (input.DBClusterParameterGroupName !== undefined) { entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7368,6 +7365,9 @@ const serializeAws_queryDescribeDBClusterParameterGroupsMessage = ( entries[loc] = value; }); } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } @@ -7379,15 +7379,6 @@ const serializeAws_queryDescribeDBClusterParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.Source !== undefined) { - entries["Source"] = input.Source; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7395,9 +7386,18 @@ const serializeAws_queryDescribeDBClusterParametersMessage = ( entries[loc] = value; }); } + if (input.Source !== undefined) { + entries["Source"] = input.Source; + } if (input.DBClusterParameterGroupName !== undefined) { entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -7406,8 +7406,11 @@ const serializeAws_queryDescribeDBClustersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -7416,11 +7419,8 @@ const serializeAws_queryDescribeDBClustersMessage = ( entries[loc] = value; }); } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } return entries; }; @@ -7441,21 +7441,6 @@ const serializeAws_queryDescribeDBClusterSnapshotsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } - if (input.DBClusterSnapshotIdentifier !== undefined) { - entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; - } - if (input.IncludeShared !== undefined) { - entries["IncludeShared"] = input.IncludeShared; - } - if (input.SnapshotType !== undefined) { - entries["SnapshotType"] = input.SnapshotType; - } - if (input.IncludePublic !== undefined) { - entries["IncludePublic"] = input.IncludePublic; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7463,12 +7448,27 @@ const serializeAws_queryDescribeDBClusterSnapshotsMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.IncludePublic !== undefined) { + entries["IncludePublic"] = input.IncludePublic; + } + if (input.IncludeShared !== undefined) { + entries["IncludeShared"] = input.IncludeShared; + } + if (input.DBClusterSnapshotIdentifier !== undefined) { + entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; + } + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.SnapshotType !== undefined) { + entries["SnapshotType"] = input.SnapshotType; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -7477,21 +7477,12 @@ const serializeAws_queryDescribeDBEngineVersionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ListSupportedTimezones !== undefined) { - entries["ListSupportedTimezones"] = input.ListSupportedTimezones; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.DBParameterGroupFamily !== undefined) { + entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; } if (input.Engine !== undefined) { entries["Engine"] = input.Engine; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.DBParameterGroupFamily !== undefined) { - entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7499,19 +7490,28 @@ const serializeAws_queryDescribeDBEngineVersionsMessage = ( entries[loc] = value; }); } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.ListSupportedCharacterSets !== undefined) { + entries["ListSupportedCharacterSets"] = input.ListSupportedCharacterSets; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.DefaultOnly !== undefined) { entries["DefaultOnly"] = input.DefaultOnly; } - if (input.ListSupportedCharacterSets !== undefined) { - entries["ListSupportedCharacterSets"] = input.ListSupportedCharacterSets; + if (input.ListSupportedTimezones !== undefined) { + entries["ListSupportedTimezones"] = input.ListSupportedTimezones; } - return entries; -}; - -const serializeAws_queryDescribeDBInstancesMessage = ( + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; + } + return entries; +}; + +const serializeAws_queryDescribeDBInstancesMessage = ( input: DescribeDBInstancesMessage, context: __SerdeContext ): any => { @@ -7523,15 +7523,15 @@ const serializeAws_queryDescribeDBInstancesMessage = ( entries[loc] = value; }); } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } if (input.DBInstanceIdentifier !== undefined) { entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; @@ -7540,6 +7540,9 @@ const serializeAws_queryDescribeDBParameterGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7547,15 +7550,12 @@ const serializeAws_queryDescribeDBParameterGroupsMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -7564,8 +7564,8 @@ const serializeAws_queryDescribeDBParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -7574,8 +7574,8 @@ const serializeAws_queryDescribeDBParametersMessage = ( entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; } if (input.Source !== undefined) { entries["Source"] = input.Source; @@ -7591,22 +7591,22 @@ const serializeAws_queryDescribeDBSubnetGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_queryFilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filters.${key}`; - entries[loc] = value; - }); + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_queryFilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filters.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -7621,6 +7621,9 @@ const serializeAws_queryDescribeEngineDefaultClusterParametersMessage = ( if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7628,9 +7631,6 @@ const serializeAws_queryDescribeEngineDefaultClusterParametersMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; @@ -7639,6 +7639,12 @@ const serializeAws_queryDescribeEngineDefaultParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7649,12 +7655,6 @@ const serializeAws_queryDescribeEngineDefaultParametersMessage = ( if (input.DBParameterGroupFamily !== undefined) { entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; @@ -7663,6 +7663,9 @@ const serializeAws_queryDescribeEventCategoriesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SourceType !== undefined) { + entries["SourceType"] = input.SourceType; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7670,38 +7673,35 @@ const serializeAws_queryDescribeEventCategoriesMessage = ( entries[loc] = value; }); } - if (input.SourceType !== undefined) { - entries["SourceType"] = input.SourceType; - } return entries; }; const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.EndTime !== undefined) { - entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.EventCategories !== undefined) { + const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `EventCategories.${key}`; + entries[loc] = value; + }); } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - 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.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.SourceIdentifier !== undefined) { entries["SourceIdentifier"] = input.SourceIdentifier; } - if (input.EventCategories !== undefined) { - const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EventCategories.${key}`; - entries[loc] = value; - }); + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; + } + if (input.SourceType !== undefined) { + entries["SourceType"] = input.SourceType; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -7710,8 +7710,8 @@ const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, c entries[loc] = value; }); } - if (input.Duration !== undefined) { - entries["Duration"] = input.Duration; + if (input.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } return entries; }; @@ -7721,12 +7721,6 @@ const serializeAws_queryDescribeEventSubscriptionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.SubscriptionName !== undefined) { - entries["SubscriptionName"] = input.SubscriptionName; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7734,9 +7728,15 @@ const serializeAws_queryDescribeEventSubscriptionsMessage = ( entries[loc] = value; }); } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.SubscriptionName !== undefined) { + entries["SubscriptionName"] = input.SubscriptionName; + } return entries; }; @@ -7745,21 +7745,6 @@ const serializeAws_queryDescribeOrderableDBInstanceOptionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.Vpc !== undefined) { - entries["Vpc"] = input.Vpc; - } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7767,11 +7752,26 @@ const serializeAws_queryDescribeOrderableDBInstanceOptionsMessage = ( entries[loc] = value; }); } + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; + } + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.Vpc !== undefined) { + entries["Vpc"] = input.Vpc; + } if (input.LicenseModel !== undefined) { entries["LicenseModel"] = input.LicenseModel; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; } return entries; }; @@ -7781,12 +7781,12 @@ const serializeAws_queryDescribePendingMaintenanceActionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.ResourceIdentifier !== undefined) { entries["ResourceIdentifier"] = input.ResourceIdentifier; } @@ -7834,9 +7834,6 @@ const serializeAws_queryFailoverDBClusterMessage = (input: FailoverDBClusterMess const serializeAws_queryFilter = (input: Filter, context: __SerdeContext): any => { const entries: any = {}; - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } if (input.Values !== undefined) { const memberEntries = serializeAws_queryFilterValueList(input.Values, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7844,6 +7841,9 @@ const serializeAws_queryFilter = (input: Filter, context: __SerdeContext): any = entries[loc] = value; }); } + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } return entries; }; @@ -7910,20 +7910,20 @@ const serializeAws_queryLogTypeList = (input: string[], context: __SerdeContext) const serializeAws_queryModifyDBClusterMessage = (input: ModifyDBClusterMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.NewDBClusterIdentifier !== undefined) { - entries["NewDBClusterIdentifier"] = input.NewDBClusterIdentifier; - } if (input.DeletionProtection !== undefined) { entries["DeletionProtection"] = input.DeletionProtection; } + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; + } if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; + if (input.BackupRetentionPeriod !== undefined) { + entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } if (input.Port !== undefined) { entries["Port"] = input.Port; @@ -7931,8 +7931,17 @@ const serializeAws_queryModifyDBClusterMessage = (input: ModifyDBClusterMessage, if (input.EngineVersion !== undefined) { entries["EngineVersion"] = input.EngineVersion; } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; + if (input.PreferredBackupWindow !== undefined) { + entries["PreferredBackupWindow"] = input.PreferredBackupWindow; + } + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + } + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + } + if (input.NewDBClusterIdentifier !== undefined) { + entries["NewDBClusterIdentifier"] = input.NewDBClusterIdentifier; } if (input.VpcSecurityGroupIds !== undefined) { const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); @@ -7941,21 +7950,12 @@ const serializeAws_queryModifyDBClusterMessage = (input: ModifyDBClusterMessage, entries[loc] = value; }); } - if (input.PreferredBackupWindow !== undefined) { - entries["PreferredBackupWindow"] = input.PreferredBackupWindow; - } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } - if (input.BackupRetentionPeriod !== undefined) { - entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; - } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; - } if (input.ApplyImmediately !== undefined) { entries["ApplyImmediately"] = input.ApplyImmediately; } + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; + } if (input.CloudwatchLogsExportConfiguration !== undefined) { const memberEntries = serializeAws_queryCloudwatchLogsExportConfiguration( input.CloudwatchLogsExportConfiguration, @@ -7974,6 +7974,9 @@ const serializeAws_queryModifyDBClusterParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParametersList(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7981,9 +7984,6 @@ const serializeAws_queryModifyDBClusterParameterGroupMessage = ( entries[loc] = value; }); } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } return entries; }; @@ -7992,12 +7992,6 @@ const serializeAws_queryModifyDBClusterSnapshotAttributeMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AttributeName !== undefined) { - entries["AttributeName"] = input.AttributeName; - } - if (input.DBClusterSnapshotIdentifier !== undefined) { - entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; - } if (input.ValuesToRemove !== undefined) { const memberEntries = serializeAws_queryAttributeValueList(input.ValuesToRemove, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8005,6 +7999,9 @@ const serializeAws_queryModifyDBClusterSnapshotAttributeMessage = ( entries[loc] = value; }); } + if (input.AttributeName !== undefined) { + entries["AttributeName"] = input.AttributeName; + } if (input.ValuesToAdd !== undefined) { const memberEntries = serializeAws_queryAttributeValueList(input.ValuesToAdd, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8012,26 +8009,14 @@ const serializeAws_queryModifyDBClusterSnapshotAttributeMessage = ( entries[loc] = value; }); } + if (input.DBClusterSnapshotIdentifier !== undefined) { + entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; + } return entries; }; const serializeAws_queryModifyDBInstanceMessage = (input: ModifyDBInstanceMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; - } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; - } - if (input.StorageType !== undefined) { - entries["StorageType"] = input.StorageType; - } - if (input.LicenseModel !== undefined) { - entries["LicenseModel"] = input.LicenseModel; - } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; - } if (input.CloudwatchLogsExportConfiguration !== undefined) { const memberEntries = serializeAws_queryCloudwatchLogsExportConfiguration( input.CloudwatchLogsExportConfiguration, @@ -8042,38 +8027,23 @@ const serializeAws_queryModifyDBInstanceMessage = (input: ModifyDBInstanceMessag entries[loc] = value; }); } - if (input.TdeCredentialPassword !== undefined) { - entries["TdeCredentialPassword"] = input.TdeCredentialPassword; + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; + } + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } if (input.AllocatedStorage !== undefined) { entries["AllocatedStorage"] = input.AllocatedStorage; } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } - if (input.EnablePerformanceInsights !== undefined) { - entries["EnablePerformanceInsights"] = input.EnablePerformanceInsights; - } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; - } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; - } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; - } - if (input.Domain !== undefined) { - entries["Domain"] = input.Domain; - } - if (input.AutoMinorVersionUpgrade !== undefined) { - entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; + if (input.CACertificateIdentifier !== undefined) { + entries["CACertificateIdentifier"] = input.CACertificateIdentifier; } - if (input.Iops !== undefined) { - entries["Iops"] = input.Iops; + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; } if (input.MasterUserPassword !== undefined) { entries["MasterUserPassword"] = input.MasterUserPassword; @@ -8081,68 +8051,98 @@ const serializeAws_queryModifyDBInstanceMessage = (input: ModifyDBInstanceMessag if (input.DBParameterGroupName !== undefined) { entries["DBParameterGroupName"] = input.DBParameterGroupName; } - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; + if (input.TdeCredentialPassword !== undefined) { + entries["TdeCredentialPassword"] = input.TdeCredentialPassword; } - if (input.MonitoringRoleArn !== undefined) { - entries["MonitoringRoleArn"] = input.MonitoringRoleArn; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } - if (input.PreferredBackupWindow !== undefined) { - entries["PreferredBackupWindow"] = input.PreferredBackupWindow; + if (input.StorageType !== undefined) { + entries["StorageType"] = input.StorageType; } - if (input.CACertificateIdentifier !== undefined) { - entries["CACertificateIdentifier"] = input.CACertificateIdentifier; + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; } - if (input.DBSecurityGroups !== undefined) { - const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroups, context); + if (input.TdeCredentialArn !== undefined) { + entries["TdeCredentialArn"] = input.TdeCredentialArn; + } + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; + } + if (input.PerformanceInsightsKMSKeyId !== undefined) { + entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; + } + if (input.MultiAZ !== undefined) { + entries["MultiAZ"] = input.MultiAZ; + } + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DBSecurityGroups.${key}`; + const loc = `VpcSecurityGroupIds.${key}`; entries[loc] = value; }); } - if (input.AllowMajorVersionUpgrade !== undefined) { - entries["AllowMajorVersionUpgrade"] = input.AllowMajorVersionUpgrade; + if (input.PreferredBackupWindow !== undefined) { + entries["PreferredBackupWindow"] = input.PreferredBackupWindow; + } + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; } if (input.BackupRetentionPeriod !== undefined) { entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } - if (input.MultiAZ !== undefined) { - entries["MultiAZ"] = input.MultiAZ; + if (input.DBPortNumber !== undefined) { + entries["DBPortNumber"] = input.DBPortNumber; + } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } + if (input.NewDBInstanceIdentifier !== undefined) { + entries["NewDBInstanceIdentifier"] = input.NewDBInstanceIdentifier; + } + if (input.AutoMinorVersionUpgrade !== undefined) { + entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } if (input.MonitoringInterval !== undefined) { entries["MonitoringInterval"] = input.MonitoringInterval; } - if (input.PromotionTier !== undefined) { - entries["PromotionTier"] = input.PromotionTier; + if (input.EnablePerformanceInsights !== undefined) { + entries["EnablePerformanceInsights"] = input.EnablePerformanceInsights; } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + if (input.Iops !== undefined) { + entries["Iops"] = input.Iops; } - if (input.NewDBInstanceIdentifier !== undefined) { - entries["NewDBInstanceIdentifier"] = input.NewDBInstanceIdentifier; + if (input.PromotionTier !== undefined) { + entries["PromotionTier"] = input.PromotionTier; } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; } - if (input.DBPortNumber !== undefined) { - entries["DBPortNumber"] = input.DBPortNumber; + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; } - if (input.PerformanceInsightsKMSKeyId !== undefined) { - entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; + if (input.LicenseModel !== undefined) { + entries["LicenseModel"] = input.LicenseModel; } - if (input.TdeCredentialArn !== undefined) { - entries["TdeCredentialArn"] = input.TdeCredentialArn; + if (input.Domain !== undefined) { + entries["Domain"] = input.Domain; } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); + if (input.DBSecurityGroups !== undefined) { + const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; + const loc = `DBSecurityGroups.${key}`; entries[loc] = value; }); } + if (input.AllowMajorVersionUpgrade !== undefined) { + entries["AllowMajorVersionUpgrade"] = input.AllowMajorVersionUpgrade; + } + if (input.MonitoringRoleArn !== undefined) { + entries["MonitoringRoleArn"] = input.MonitoringRoleArn; + } return entries; }; @@ -8151,6 +8151,9 @@ const serializeAws_queryModifyDBParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; + } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParametersList(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8158,9 +8161,6 @@ const serializeAws_queryModifyDBParameterGroupMessage = ( entries[loc] = value; }); } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; - } return entries; }; @@ -8169,12 +8169,6 @@ const serializeAws_queryModifyDBSubnetGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; - } - if (input.DBSubnetGroupDescription !== undefined) { - entries["DBSubnetGroupDescription"] = input.DBSubnetGroupDescription; - } if (input.SubnetIds !== undefined) { const memberEntries = serializeAws_querySubnetIdentifierList(input.SubnetIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8182,6 +8176,12 @@ const serializeAws_queryModifyDBSubnetGroupMessage = ( entries[loc] = value; }); } + if (input.DBSubnetGroupDescription !== undefined) { + entries["DBSubnetGroupDescription"] = input.DBSubnetGroupDescription; + } + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } return entries; }; @@ -8190,18 +8190,15 @@ const serializeAws_queryModifyEventSubscriptionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Enabled !== undefined) { + entries["Enabled"] = input.Enabled; + } if (input.SubscriptionName !== undefined) { entries["SubscriptionName"] = input.SubscriptionName; } if (input.SourceType !== undefined) { entries["SourceType"] = input.SourceType; } - if (input.Enabled !== undefined) { - entries["Enabled"] = input.Enabled; - } - if (input.SnsTopicArn !== undefined) { - entries["SnsTopicArn"] = input.SnsTopicArn; - } if (input.EventCategories !== undefined) { const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8209,40 +8206,43 @@ const serializeAws_queryModifyEventSubscriptionMessage = ( entries[loc] = value; }); } + if (input.SnsTopicArn !== undefined) { + entries["SnsTopicArn"] = input.SnsTopicArn; + } return entries; }; const serializeAws_queryParameter = (input: Parameter, context: __SerdeContext): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.ParameterValue !== undefined) { + entries["ParameterValue"] = input.ParameterValue; } if (input.ApplyType !== undefined) { entries["ApplyType"] = input.ApplyType; } - if (input.IsModifiable !== undefined) { - entries["IsModifiable"] = input.IsModifiable; - } - if (input.ApplyMethod !== undefined) { - entries["ApplyMethod"] = input.ApplyMethod; + if (input.Source !== undefined) { + entries["Source"] = input.Source; } if (input.ParameterName !== undefined) { entries["ParameterName"] = input.ParameterName; } - if (input.Source !== undefined) { - entries["Source"] = input.Source; - } if (input.DataType !== undefined) { entries["DataType"] = input.DataType; } - if (input.MinimumEngineVersion !== undefined) { - entries["MinimumEngineVersion"] = input.MinimumEngineVersion; + if (input.ApplyMethod !== undefined) { + entries["ApplyMethod"] = input.ApplyMethod; } if (input.AllowedValues !== undefined) { entries["AllowedValues"] = input.AllowedValues; } - if (input.ParameterValue !== undefined) { - entries["ParameterValue"] = input.ParameterValue; + if (input.IsModifiable !== undefined) { + entries["IsModifiable"] = input.IsModifiable; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.MinimumEngineVersion !== undefined) { + entries["MinimumEngineVersion"] = input.MinimumEngineVersion; } return entries; }; @@ -8301,12 +8301,12 @@ const serializeAws_queryRemoveSourceIdentifierFromSubscriptionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SubscriptionName !== undefined) { - entries["SubscriptionName"] = input.SubscriptionName; - } if (input.SourceIdentifier !== undefined) { entries["SourceIdentifier"] = input.SourceIdentifier; } + if (input.SubscriptionName !== undefined) { + entries["SubscriptionName"] = input.SubscriptionName; + } return entries; }; @@ -8333,12 +8333,12 @@ const serializeAws_queryResetDBClusterParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ResetAllParameters !== undefined) { - entries["ResetAllParameters"] = input.ResetAllParameters; - } if (input.DBClusterParameterGroupName !== undefined) { entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } + if (input.ResetAllParameters !== undefined) { + entries["ResetAllParameters"] = input.ResetAllParameters; + } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParametersList(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8354,9 +8354,6 @@ const serializeAws_queryResetDBParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; - } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParametersList(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8367,6 +8364,9 @@ const serializeAws_queryResetDBParameterGroupMessage = ( if (input.ResetAllParameters !== undefined) { entries["ResetAllParameters"] = input.ResetAllParameters; } + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; + } return entries; }; @@ -8375,15 +8375,8 @@ const serializeAws_queryRestoreDBClusterFromSnapshotMessage = ( 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.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } if (input.VpcSecurityGroupIds !== undefined) { const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); @@ -8392,46 +8385,43 @@ const serializeAws_queryRestoreDBClusterFromSnapshotMessage = ( entries[loc] = value; }); } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; + if (input.AvailabilityZones !== undefined) { + const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AvailabilityZones.${key}`; + entries[loc] = value; + }); } if (input.DatabaseName !== undefined) { entries["DatabaseName"] = input.DatabaseName; } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; - } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; } if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } if (input.Port !== undefined) { entries["Port"] = input.Port; } + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; + } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.AvailabilityZones !== undefined) { - const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AvailabilityZones.${key}`; - entries[loc] = value; - }); + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } if (input.Engine !== undefined) { entries["Engine"] = input.Engine; } + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } if (input.EnableCloudwatchLogsExports !== undefined) { const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8439,14 +8429,6 @@ const serializeAws_queryRestoreDBClusterFromSnapshotMessage = ( entries[loc] = value; }); } - return entries; -}; - -const serializeAws_queryRestoreDBClusterToPointInTimeMessage = ( - input: RestoreDBClusterToPointInTimeMessage, - context: __SerdeContext -): any => { - const entries: any = {}; if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -8454,53 +8436,71 @@ const serializeAws_queryRestoreDBClusterToPointInTimeMessage = ( entries[loc] = value; }); } - if (input.RestoreType !== undefined) { - entries["RestoreType"] = input.RestoreType; - } if (input.EnableIAMDatabaseAuthentication !== undefined) { entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; } + return entries; +}; + +const serializeAws_queryRestoreDBClusterToPointInTimeMessage = ( + input: RestoreDBClusterToPointInTimeMessage, + context: __SerdeContext +): any => { + const entries: any = {}; if (input.SourceDBClusterIdentifier !== undefined) { entries["SourceDBClusterIdentifier"] = input.SourceDBClusterIdentifier; } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } - if (input.Port !== undefined) { - entries["Port"] = input.Port; - } - if (input.RestoreToTime !== undefined) { - entries["RestoreToTime"] = input.RestoreToTime.toISOString().split(".")[0] + "Z"; - } - if (input.EnableCloudwatchLogsExports !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnableCloudwatchLogsExports.${key}`; + const loc = `VpcSecurityGroupIds.${key}`; entries[loc] = value; }); } if (input.UseLatestRestorableTime !== undefined) { entries["UseLatestRestorableTime"] = input.UseLatestRestorableTime; } + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + } + 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.DBSubnetGroupName !== undefined) { entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } + if (input.RestoreToTime !== undefined) { + entries["RestoreToTime"] = input.RestoreToTime.toISOString().split(".")[0] + "Z"; + } + if (input.Port !== undefined) { + entries["Port"] = input.Port; + } + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } if (input.OptionGroupName !== undefined) { entries["OptionGroupName"] = input.OptionGroupName; } + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; + } if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.RestoreType !== undefined) { + entries["RestoreType"] = input.RestoreType; } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); + if (input.EnableCloudwatchLogsExports !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; + const loc = `EnableCloudwatchLogsExports.${key}`; entries[loc] = value; }); } @@ -8656,15 +8656,15 @@ const deserializeAws_queryCertificateNotFoundFault = ( const deserializeAws_queryCharacterSet = (output: any, context: __SerdeContext): CharacterSet => { let contents: any = { - CharacterSetName: undefined, CharacterSetDescription: undefined, + CharacterSetName: undefined, }; - if (output["CharacterSetName"] !== undefined) { - contents.CharacterSetName = output["CharacterSetName"]; - } if (output["CharacterSetDescription"] !== undefined) { contents.CharacterSetDescription = output["CharacterSetDescription"]; } + if (output["CharacterSetName"] !== undefined) { + contents.CharacterSetName = output["CharacterSetName"]; + } return contents; }; @@ -8800,53 +8800,71 @@ const deserializeAws_queryCreateEventSubscriptionResult = ( const deserializeAws_queryDBCluster = (output: any, context: __SerdeContext): DBCluster => { let contents: any = { - LatestRestorableTime: undefined, + EngineVersion: undefined, + Status: undefined, ReaderEndpoint: undefined, + AvailabilityZones: undefined, Engine: undefined, + LatestRestorableTime: undefined, + EarliestRestorableTime: undefined, DeletionProtection: undefined, DBClusterOptionGroupMemberships: undefined, - HostedZoneId: undefined, - AvailabilityZones: undefined, - KmsKeyId: undefined, - PreferredMaintenanceWindow: undefined, DatabaseName: undefined, - PreferredBackupWindow: undefined, - DBClusterArn: undefined, - DBClusterParameterGroup: undefined, - DBSubnetGroup: undefined, - EnabledCloudwatchLogsExports: undefined, - AssociatedRoles: undefined, - MultiAZ: undefined, - VpcSecurityGroups: undefined, - IAMDatabaseAuthenticationEnabled: undefined, - StorageEncrypted: undefined, - ReplicationSourceIdentifier: undefined, + KmsKeyId: undefined, + HostedZoneId: undefined, Endpoint: undefined, - MasterUsername: undefined, BackupRetentionPeriod: undefined, - PercentProgress: undefined, - DBClusterIdentifier: undefined, + ReadReplicaIdentifiers: undefined, CloneGroupId: undefined, + DBClusterIdentifier: undefined, DbClusterResourceId: undefined, - DBClusterMembers: undefined, AllocatedStorage: undefined, - ReadReplicaIdentifiers: undefined, - Status: undefined, - EarliestRestorableTime: undefined, - EngineVersion: undefined, + Port: undefined, + PercentProgress: undefined, CharacterSetName: undefined, + IAMDatabaseAuthenticationEnabled: undefined, ClusterCreateTime: undefined, - Port: undefined, + StorageEncrypted: undefined, + MultiAZ: undefined, + DBClusterMembers: undefined, + MasterUsername: undefined, + ReplicationSourceIdentifier: undefined, + PreferredBackupWindow: undefined, + PreferredMaintenanceWindow: undefined, + DBSubnetGroup: undefined, + VpcSecurityGroups: undefined, + AssociatedRoles: undefined, + DBClusterArn: undefined, + EnabledCloudwatchLogsExports: undefined, + DBClusterParameterGroup: undefined, }; - if (output["LatestRestorableTime"] !== undefined) { - contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["ReaderEndpoint"] !== undefined) { contents.ReaderEndpoint = output["ReaderEndpoint"]; } + if (output.AvailabilityZones === "") { + contents.AvailabilityZones = []; + } + if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["AvailabilityZone"] !== undefined) { + contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( + __getArrayIfSingleItem(output["AvailabilityZones"]["AvailabilityZone"]), + context + ); + } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; } + if (output["LatestRestorableTime"] !== undefined) { + contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); + } + if (output["EarliestRestorableTime"] !== undefined) { + contents.EarliestRestorableTime = new Date(output["EarliestRestorableTime"]); + } if (output["DeletionProtection"] !== undefined) { contents.DeletionProtection = output["DeletionProtection"] == "true"; } @@ -8862,48 +8880,99 @@ const deserializeAws_queryDBCluster = (output: any, context: __SerdeContext): DB context ); } + if (output["DatabaseName"] !== undefined) { + contents.DatabaseName = output["DatabaseName"]; + } + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; + } if (output["HostedZoneId"] !== undefined) { contents.HostedZoneId = output["HostedZoneId"]; } - if (output.AvailabilityZones === "") { - contents.AvailabilityZones = []; + if (output["Endpoint"] !== undefined) { + contents.Endpoint = output["Endpoint"]; } - if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["AvailabilityZone"] !== undefined) { - contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( - __getArrayIfSingleItem(output["AvailabilityZones"]["AvailabilityZone"]), + if (output["BackupRetentionPeriod"] !== undefined) { + contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); + } + if (output.ReadReplicaIdentifiers === "") { + contents.ReadReplicaIdentifiers = []; + } + if ( + output["ReadReplicaIdentifiers"] !== undefined && + output["ReadReplicaIdentifiers"]["ReadReplicaIdentifier"] !== undefined + ) { + contents.ReadReplicaIdentifiers = deserializeAws_queryReadReplicaIdentifierList( + __getArrayIfSingleItem(output["ReadReplicaIdentifiers"]["ReadReplicaIdentifier"]), context ); } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["CloneGroupId"] !== undefined) { + contents.CloneGroupId = output["CloneGroupId"]; } - if (output["PreferredMaintenanceWindow"] !== undefined) { - contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; + if (output["DBClusterIdentifier"] !== undefined) { + contents.DBClusterIdentifier = output["DBClusterIdentifier"]; } - if (output["DatabaseName"] !== undefined) { - contents.DatabaseName = output["DatabaseName"]; + if (output["DbClusterResourceId"] !== undefined) { + contents.DbClusterResourceId = output["DbClusterResourceId"]; + } + if (output["AllocatedStorage"] !== undefined) { + contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); + } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } + if (output["PercentProgress"] !== undefined) { + contents.PercentProgress = output["PercentProgress"]; + } + if (output["CharacterSetName"] !== undefined) { + contents.CharacterSetName = output["CharacterSetName"]; + } + if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { + contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; + } + if (output["ClusterCreateTime"] !== undefined) { + contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); + } + if (output["StorageEncrypted"] !== undefined) { + contents.StorageEncrypted = output["StorageEncrypted"] == "true"; + } + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"] == "true"; + } + if (output.DBClusterMembers === "") { + contents.DBClusterMembers = []; + } + if (output["DBClusterMembers"] !== undefined && output["DBClusterMembers"]["DBClusterMember"] !== undefined) { + contents.DBClusterMembers = deserializeAws_queryDBClusterMemberList( + __getArrayIfSingleItem(output["DBClusterMembers"]["DBClusterMember"]), + context + ); + } + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; + } + if (output["ReplicationSourceIdentifier"] !== undefined) { + contents.ReplicationSourceIdentifier = output["ReplicationSourceIdentifier"]; } if (output["PreferredBackupWindow"] !== undefined) { contents.PreferredBackupWindow = output["PreferredBackupWindow"]; } - if (output["DBClusterArn"] !== undefined) { - contents.DBClusterArn = output["DBClusterArn"]; - } - if (output["DBClusterParameterGroup"] !== undefined) { - contents.DBClusterParameterGroup = output["DBClusterParameterGroup"]; + if (output["PreferredMaintenanceWindow"] !== undefined) { + contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; } if (output["DBSubnetGroup"] !== undefined) { contents.DBSubnetGroup = output["DBSubnetGroup"]; } - if (output.EnabledCloudwatchLogsExports === "") { - contents.EnabledCloudwatchLogsExports = []; + if (output.VpcSecurityGroups === "") { + contents.VpcSecurityGroups = []; } if ( - output["EnabledCloudwatchLogsExports"] !== undefined && - output["EnabledCloudwatchLogsExports"]["member"] !== undefined + output["VpcSecurityGroups"] !== undefined && + output["VpcSecurityGroups"]["VpcSecurityGroupMembership"] !== undefined ) { - contents.EnabledCloudwatchLogsExports = deserializeAws_queryLogTypeList( - __getArrayIfSingleItem(output["EnabledCloudwatchLogsExports"]["member"]), + contents.VpcSecurityGroups = deserializeAws_queryVpcSecurityGroupMembershipList( + __getArrayIfSingleItem(output["VpcSecurityGroups"]["VpcSecurityGroupMembership"]), context ); } @@ -8916,92 +8985,23 @@ const deserializeAws_queryDBCluster = (output: any, context: __SerdeContext): DB context ); } - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"] == "true"; + if (output["DBClusterArn"] !== undefined) { + contents.DBClusterArn = output["DBClusterArn"]; } - if (output.VpcSecurityGroups === "") { - contents.VpcSecurityGroups = []; + if (output.EnabledCloudwatchLogsExports === "") { + contents.EnabledCloudwatchLogsExports = []; } if ( - output["VpcSecurityGroups"] !== undefined && - output["VpcSecurityGroups"]["VpcSecurityGroupMembership"] !== undefined + output["EnabledCloudwatchLogsExports"] !== undefined && + output["EnabledCloudwatchLogsExports"]["member"] !== undefined ) { - contents.VpcSecurityGroups = deserializeAws_queryVpcSecurityGroupMembershipList( - __getArrayIfSingleItem(output["VpcSecurityGroups"]["VpcSecurityGroupMembership"]), + contents.EnabledCloudwatchLogsExports = deserializeAws_queryLogTypeList( + __getArrayIfSingleItem(output["EnabledCloudwatchLogsExports"]["member"]), context ); } - if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { - contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; - } - if (output["StorageEncrypted"] !== undefined) { - contents.StorageEncrypted = output["StorageEncrypted"] == "true"; - } - if (output["ReplicationSourceIdentifier"] !== undefined) { - contents.ReplicationSourceIdentifier = output["ReplicationSourceIdentifier"]; - } - if (output["Endpoint"] !== undefined) { - contents.Endpoint = output["Endpoint"]; - } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; - } - if (output["BackupRetentionPeriod"] !== undefined) { - contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); - } - if (output["PercentProgress"] !== undefined) { - contents.PercentProgress = output["PercentProgress"]; - } - if (output["DBClusterIdentifier"] !== undefined) { - contents.DBClusterIdentifier = output["DBClusterIdentifier"]; - } - if (output["CloneGroupId"] !== undefined) { - contents.CloneGroupId = output["CloneGroupId"]; - } - if (output["DbClusterResourceId"] !== undefined) { - contents.DbClusterResourceId = output["DbClusterResourceId"]; - } - if (output.DBClusterMembers === "") { - contents.DBClusterMembers = []; - } - if (output["DBClusterMembers"] !== undefined && output["DBClusterMembers"]["DBClusterMember"] !== undefined) { - contents.DBClusterMembers = deserializeAws_queryDBClusterMemberList( - __getArrayIfSingleItem(output["DBClusterMembers"]["DBClusterMember"]), - context - ); - } - if (output["AllocatedStorage"] !== undefined) { - contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); - } - if (output.ReadReplicaIdentifiers === "") { - contents.ReadReplicaIdentifiers = []; - } - if ( - output["ReadReplicaIdentifiers"] !== undefined && - output["ReadReplicaIdentifiers"]["ReadReplicaIdentifier"] !== undefined - ) { - contents.ReadReplicaIdentifiers = deserializeAws_queryReadReplicaIdentifierList( - __getArrayIfSingleItem(output["ReadReplicaIdentifiers"]["ReadReplicaIdentifier"]), - context - ); - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["EarliestRestorableTime"] !== undefined) { - contents.EarliestRestorableTime = new Date(output["EarliestRestorableTime"]); - } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; - } - if (output["CharacterSetName"] !== undefined) { - contents.CharacterSetName = output["CharacterSetName"]; - } - if (output["ClusterCreateTime"] !== undefined) { - contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); - } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["DBClusterParameterGroup"] !== undefined) { + contents.DBClusterParameterGroup = output["DBClusterParameterGroup"]; } return contents; }; @@ -9025,20 +9025,20 @@ const deserializeAws_queryDBClusterList = (output: any, context: __SerdeContext) const deserializeAws_queryDBClusterMember = (output: any, context: __SerdeContext): DBClusterMember => { let contents: any = { - IsClusterWriter: undefined, DBInstanceIdentifier: undefined, PromotionTier: undefined, + IsClusterWriter: undefined, DBClusterParameterGroupStatus: undefined, }; - if (output["IsClusterWriter"] !== undefined) { - contents.IsClusterWriter = output["IsClusterWriter"] == "true"; - } if (output["DBInstanceIdentifier"] !== undefined) { contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; } if (output["PromotionTier"] !== undefined) { contents.PromotionTier = parseInt(output["PromotionTier"]); } + if (output["IsClusterWriter"] !== undefined) { + contents.IsClusterWriter = output["IsClusterWriter"] == "true"; + } if (output["DBClusterParameterGroupStatus"] !== undefined) { contents.DBClusterParameterGroupStatus = output["DBClusterParameterGroupStatus"]; } @@ -9051,9 +9051,12 @@ const deserializeAws_queryDBClusterMemberList = (output: any, context: __SerdeCo const deserializeAws_queryDBClusterMessage = (output: any, context: __SerdeContext): DBClusterMessage => { let contents: any = { - DBClusters: undefined, Marker: undefined, + DBClusters: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.DBClusters === "") { contents.DBClusters = []; } @@ -9063,9 +9066,6 @@ const deserializeAws_queryDBClusterMessage = (output: any, context: __SerdeConte context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -9091,37 +9091,37 @@ const deserializeAws_queryDBClusterOptionGroupStatus = ( context: __SerdeContext ): DBClusterOptionGroupStatus => { let contents: any = { - DBClusterOptionGroupName: undefined, Status: undefined, + DBClusterOptionGroupName: undefined, }; - if (output["DBClusterOptionGroupName"] !== undefined) { - contents.DBClusterOptionGroupName = output["DBClusterOptionGroupName"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["DBClusterOptionGroupName"] !== undefined) { + contents.DBClusterOptionGroupName = output["DBClusterOptionGroupName"]; + } return contents; }; const deserializeAws_queryDBClusterParameterGroup = (output: any, context: __SerdeContext): DBClusterParameterGroup => { let contents: any = { - DBClusterParameterGroupName: undefined, - DBParameterGroupFamily: undefined, DBClusterParameterGroupArn: undefined, + DBParameterGroupFamily: undefined, Description: undefined, + DBClusterParameterGroupName: undefined, }; - if (output["DBClusterParameterGroupName"] !== undefined) { - contents.DBClusterParameterGroupName = output["DBClusterParameterGroupName"]; + if (output["DBClusterParameterGroupArn"] !== undefined) { + contents.DBClusterParameterGroupArn = output["DBClusterParameterGroupArn"]; } if (output["DBParameterGroupFamily"] !== undefined) { contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; } - if (output["DBClusterParameterGroupArn"] !== undefined) { - contents.DBClusterParameterGroupArn = output["DBClusterParameterGroupArn"]; - } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } + if (output["DBClusterParameterGroupName"] !== undefined) { + contents.DBClusterParameterGroupName = output["DBClusterParameterGroupName"]; + } return contents; }; @@ -9186,12 +9186,9 @@ const deserializeAws_queryDBClusterParameterGroupsMessage = ( context: __SerdeContext ): DBClusterParameterGroupsMessage => { let contents: any = { - Marker: undefined, DBClusterParameterGroups: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.DBClusterParameterGroups === "") { contents.DBClusterParameterGroups = []; } @@ -9204,6 +9201,9 @@ const deserializeAws_queryDBClusterParameterGroupsMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -9222,15 +9222,15 @@ const deserializeAws_queryDBClusterQuotaExceededFault = ( const deserializeAws_queryDBClusterRole = (output: any, context: __SerdeContext): DBClusterRole => { let contents: any = { - RoleArn: undefined, Status: undefined, + RoleArn: undefined, }; - if (output["RoleArn"] !== undefined) { - contents.RoleArn = output["RoleArn"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["RoleArn"] !== undefined) { + contents.RoleArn = output["RoleArn"]; + } return contents; }; @@ -9279,92 +9279,92 @@ const deserializeAws_queryDBClusterRoles = (output: any, context: __SerdeContext const deserializeAws_queryDBClusterSnapshot = (output: any, context: __SerdeContext): DBClusterSnapshot => { let contents: any = { - ClusterCreateTime: undefined, - Engine: undefined, - AvailabilityZones: undefined, + LicenseModel: undefined, + PercentProgress: undefined, + StorageEncrypted: undefined, EngineVersion: undefined, - MasterUsername: undefined, - KmsKeyId: undefined, - DBClusterSnapshotIdentifier: undefined, + IAMDatabaseAuthenticationEnabled: undefined, AllocatedStorage: undefined, - LicenseModel: undefined, VpcId: undefined, - IAMDatabaseAuthenticationEnabled: undefined, - StorageEncrypted: undefined, DBClusterIdentifier: undefined, + MasterUsername: undefined, + DBClusterSnapshotIdentifier: undefined, + AvailabilityZones: undefined, + KmsKeyId: undefined, SnapshotCreateTime: undefined, - PercentProgress: undefined, - Port: undefined, - DBClusterSnapshotArn: undefined, SourceDBClusterSnapshotArn: undefined, - Status: undefined, + Engine: undefined, + DBClusterSnapshotArn: undefined, + ClusterCreateTime: undefined, SnapshotType: undefined, + Status: undefined, + Port: undefined, }; - if (output["ClusterCreateTime"] !== undefined) { - contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); - } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output["LicenseModel"] !== undefined) { + contents.LicenseModel = output["LicenseModel"]; } - if (output.AvailabilityZones === "") { - contents.AvailabilityZones = []; + if (output["PercentProgress"] !== undefined) { + contents.PercentProgress = parseInt(output["PercentProgress"]); } - if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["AvailabilityZone"] !== undefined) { - contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( - __getArrayIfSingleItem(output["AvailabilityZones"]["AvailabilityZone"]), - context - ); + if (output["StorageEncrypted"] !== undefined) { + contents.StorageEncrypted = output["StorageEncrypted"] == "true"; } if (output["EngineVersion"] !== undefined) { contents.EngineVersion = output["EngineVersion"]; } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; - } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; - } - if (output["DBClusterSnapshotIdentifier"] !== undefined) { - contents.DBClusterSnapshotIdentifier = output["DBClusterSnapshotIdentifier"]; + if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { + contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; } if (output["AllocatedStorage"] !== undefined) { contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); } - if (output["LicenseModel"] !== undefined) { - contents.LicenseModel = output["LicenseModel"]; - } if (output["VpcId"] !== undefined) { contents.VpcId = output["VpcId"]; } - if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { - contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; - } - if (output["StorageEncrypted"] !== undefined) { - contents.StorageEncrypted = output["StorageEncrypted"] == "true"; - } if (output["DBClusterIdentifier"] !== undefined) { contents.DBClusterIdentifier = output["DBClusterIdentifier"]; } + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; + } + if (output["DBClusterSnapshotIdentifier"] !== undefined) { + contents.DBClusterSnapshotIdentifier = output["DBClusterSnapshotIdentifier"]; + } + if (output.AvailabilityZones === "") { + contents.AvailabilityZones = []; + } + if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["AvailabilityZone"] !== undefined) { + contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( + __getArrayIfSingleItem(output["AvailabilityZones"]["AvailabilityZone"]), + context + ); + } + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; + } if (output["SnapshotCreateTime"] !== undefined) { contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); } - if (output["PercentProgress"] !== undefined) { - contents.PercentProgress = parseInt(output["PercentProgress"]); + if (output["SourceDBClusterSnapshotArn"] !== undefined) { + contents.SourceDBClusterSnapshotArn = output["SourceDBClusterSnapshotArn"]; } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; } if (output["DBClusterSnapshotArn"] !== undefined) { contents.DBClusterSnapshotArn = output["DBClusterSnapshotArn"]; } - if (output["SourceDBClusterSnapshotArn"] !== undefined) { - contents.SourceDBClusterSnapshotArn = output["SourceDBClusterSnapshotArn"]; + if (output["ClusterCreateTime"] !== undefined) { + contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); + } + if (output["SnapshotType"] !== undefined) { + contents.SnapshotType = output["SnapshotType"]; } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["SnapshotType"] !== undefined) { - contents.SnapshotType = output["SnapshotType"]; + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } return contents; }; @@ -9387,12 +9387,9 @@ const deserializeAws_queryDBClusterSnapshotAttribute = ( context: __SerdeContext ): DBClusterSnapshotAttribute => { let contents: any = { - AttributeName: undefined, AttributeValues: undefined, + AttributeName: undefined, }; - if (output["AttributeName"] !== undefined) { - contents.AttributeName = output["AttributeName"]; - } if (output.AttributeValues === "") { contents.AttributeValues = []; } @@ -9402,6 +9399,9 @@ const deserializeAws_queryDBClusterSnapshotAttribute = ( context ); } + if (output["AttributeName"] !== undefined) { + contents.AttributeName = output["AttributeName"]; + } return contents; }; @@ -9417,9 +9417,12 @@ const deserializeAws_queryDBClusterSnapshotAttributesResult = ( context: __SerdeContext ): DBClusterSnapshotAttributesResult => { let contents: any = { - DBClusterSnapshotAttributes: undefined, DBClusterSnapshotIdentifier: undefined, + DBClusterSnapshotAttributes: undefined, }; + if (output["DBClusterSnapshotIdentifier"] !== undefined) { + contents.DBClusterSnapshotIdentifier = output["DBClusterSnapshotIdentifier"]; + } if (output.DBClusterSnapshotAttributes === "") { contents.DBClusterSnapshotAttributes = []; } @@ -9432,9 +9435,6 @@ const deserializeAws_queryDBClusterSnapshotAttributesResult = ( context ); } - if (output["DBClusterSnapshotIdentifier"] !== undefined) { - contents.DBClusterSnapshotIdentifier = output["DBClusterSnapshotIdentifier"]; - } return contents; }; @@ -9447,12 +9447,9 @@ const deserializeAws_queryDBClusterSnapshotMessage = ( context: __SerdeContext ): DBClusterSnapshotMessage => { let contents: any = { - Marker: undefined, DBClusterSnapshots: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.DBClusterSnapshots === "") { contents.DBClusterSnapshots = []; } @@ -9462,6 +9459,9 @@ const deserializeAws_queryDBClusterSnapshotMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -9480,19 +9480,22 @@ const deserializeAws_queryDBClusterSnapshotNotFoundFault = ( const deserializeAws_queryDBEngineVersion = (output: any, context: __SerdeContext): DBEngineVersion => { let contents: any = { - SupportedCharacterSets: undefined, - ValidUpgradeTarget: undefined, - DefaultCharacterSet: undefined, SupportsReadReplica: undefined, - ExportableLogTypes: undefined, + SupportedCharacterSets: undefined, SupportedTimezones: undefined, DBEngineDescription: undefined, - SupportsLogExportsToCloudwatchLogs: undefined, - Engine: undefined, + DefaultCharacterSet: undefined, EngineVersion: undefined, - DBParameterGroupFamily: undefined, + ExportableLogTypes: undefined, + Engine: undefined, DBEngineVersionDescription: undefined, + DBParameterGroupFamily: undefined, + ValidUpgradeTarget: undefined, + SupportsLogExportsToCloudwatchLogs: undefined, }; + if (output["SupportsReadReplica"] !== undefined) { + contents.SupportsReadReplica = output["SupportsReadReplica"] == "true"; + } if (output.SupportedCharacterSets === "") { contents.SupportedCharacterSets = []; } @@ -9505,20 +9508,23 @@ const deserializeAws_queryDBEngineVersion = (output: any, context: __SerdeContex context ); } - if (output.ValidUpgradeTarget === "") { - contents.ValidUpgradeTarget = []; + if (output.SupportedTimezones === "") { + contents.SupportedTimezones = []; } - if (output["ValidUpgradeTarget"] !== undefined && output["ValidUpgradeTarget"]["UpgradeTarget"] !== undefined) { - contents.ValidUpgradeTarget = deserializeAws_queryValidUpgradeTargetList( - __getArrayIfSingleItem(output["ValidUpgradeTarget"]["UpgradeTarget"]), + if (output["SupportedTimezones"] !== undefined && output["SupportedTimezones"]["Timezone"] !== undefined) { + contents.SupportedTimezones = deserializeAws_querySupportedTimezonesList( + __getArrayIfSingleItem(output["SupportedTimezones"]["Timezone"]), context ); } + if (output["DBEngineDescription"] !== undefined) { + contents.DBEngineDescription = output["DBEngineDescription"]; + } if (output["DefaultCharacterSet"] !== undefined) { contents.DefaultCharacterSet = deserializeAws_queryCharacterSet(output["DefaultCharacterSet"], context); } - if (output["SupportsReadReplica"] !== undefined) { - contents.SupportsReadReplica = output["SupportsReadReplica"] == "true"; + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; } if (output.ExportableLogTypes === "") { contents.ExportableLogTypes = []; @@ -9529,32 +9535,26 @@ const deserializeAws_queryDBEngineVersion = (output: any, context: __SerdeContex context ); } - if (output.SupportedTimezones === "") { - contents.SupportedTimezones = []; - } - if (output["SupportedTimezones"] !== undefined && output["SupportedTimezones"]["Timezone"] !== undefined) { - contents.SupportedTimezones = deserializeAws_querySupportedTimezonesList( - __getArrayIfSingleItem(output["SupportedTimezones"]["Timezone"]), - context - ); - } - if (output["DBEngineDescription"] !== undefined) { - contents.DBEngineDescription = output["DBEngineDescription"]; - } - if (output["SupportsLogExportsToCloudwatchLogs"] !== undefined) { - contents.SupportsLogExportsToCloudwatchLogs = output["SupportsLogExportsToCloudwatchLogs"] == "true"; - } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; + if (output["DBEngineVersionDescription"] !== undefined) { + contents.DBEngineVersionDescription = output["DBEngineVersionDescription"]; } if (output["DBParameterGroupFamily"] !== undefined) { contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; } - if (output["DBEngineVersionDescription"] !== undefined) { - contents.DBEngineVersionDescription = output["DBEngineVersionDescription"]; + if (output.ValidUpgradeTarget === "") { + contents.ValidUpgradeTarget = []; + } + if (output["ValidUpgradeTarget"] !== undefined && output["ValidUpgradeTarget"]["UpgradeTarget"] !== undefined) { + contents.ValidUpgradeTarget = deserializeAws_queryValidUpgradeTargetList( + __getArrayIfSingleItem(output["ValidUpgradeTarget"]["UpgradeTarget"]), + context + ); + } + if (output["SupportsLogExportsToCloudwatchLogs"] !== undefined) { + contents.SupportsLogExportsToCloudwatchLogs = output["SupportsLogExportsToCloudwatchLogs"] == "true"; } return contents; }; @@ -9565,12 +9565,9 @@ const deserializeAws_queryDBEngineVersionList = (output: any, context: __SerdeCo const deserializeAws_queryDBEngineVersionMessage = (output: any, context: __SerdeContext): DBEngineVersionMessage => { let contents: any = { - Marker: undefined, DBEngineVersions: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.DBEngineVersions === "") { contents.DBEngineVersions = []; } @@ -9580,70 +9577,70 @@ const deserializeAws_queryDBEngineVersionMessage = (output: any, context: __Serd context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): DBInstance => { let contents: any = { - AvailabilityZone: undefined, - DBName: undefined, + CACertificateIdentifier: undefined, ReadReplicaDBInstanceIdentifiers: undefined, + DBName: undefined, + AvailabilityZone: undefined, + ReadReplicaSourceDBInstanceIdentifier: undefined, + MonitoringRoleArn: undefined, + EnhancedMonitoringResourceArn: undefined, + PromotionTier: undefined, AllocatedStorage: undefined, - CACertificateIdentifier: undefined, - DBInstanceClass: undefined, - LatestRestorableTime: undefined, - Engine: undefined, - MonitoringInterval: undefined, - EnabledCloudwatchLogsExports: undefined, - DBInstanceArn: undefined, - DBInstanceStatus: undefined, - DBClusterIdentifier: undefined, - DomainMemberships: undefined, - CopyTagsToSnapshot: undefined, + CharacterSetName: undefined, + EngineVersion: undefined, ReadReplicaDBClusterIdentifiers: undefined, - StorageEncrypted: undefined, - Timezone: undefined, - MonitoringRoleArn: undefined, - SecondaryAvailabilityZone: undefined, - InstanceCreateTime: undefined, MasterUsername: undefined, DBSecurityGroups: undefined, - PromotionTier: undefined, - EnhancedMonitoringResourceArn: undefined, - DBInstanceIdentifier: undefined, - ReadReplicaSourceDBInstanceIdentifier: undefined, - StorageType: undefined, - EngineVersion: undefined, - CharacterSetName: undefined, - PreferredMaintenanceWindow: undefined, + DomainMemberships: undefined, + SecondaryAvailabilityZone: undefined, + OptionGroupMemberships: undefined, + InstanceCreateTime: undefined, + StatusInfos: undefined, + MultiAZ: undefined, + DBInstanceStatus: undefined, + LatestRestorableTime: undefined, + DBInstanceClass: undefined, + Timezone: undefined, DeletionProtection: undefined, - PubliclyAccessible: undefined, - DBSubnetGroup: undefined, - LicenseModel: undefined, + VpcSecurityGroups: undefined, + MonitoringInterval: undefined, + AutoMinorVersionUpgrade: undefined, Endpoint: undefined, - KmsKeyId: undefined, DbInstancePort: undefined, + PubliclyAccessible: undefined, + KmsKeyId: undefined, + PerformanceInsightsKMSKeyId: undefined, PendingModifiedValues: undefined, + StorageEncrypted: undefined, + DBInstanceIdentifier: undefined, + StorageType: undefined, + CopyTagsToSnapshot: undefined, + PreferredBackupWindow: undefined, + DBClusterIdentifier: undefined, + BackupRetentionPeriod: undefined, + DBInstanceArn: undefined, + PerformanceInsightsEnabled: undefined, + Engine: undefined, DBParameterGroups: undefined, - Iops: undefined, - AutoMinorVersionUpgrade: undefined, + IAMDatabaseAuthenticationEnabled: undefined, TdeCredentialArn: undefined, - MultiAZ: undefined, - VpcSecurityGroups: undefined, - PerformanceInsightsKMSKeyId: undefined, - StatusInfos: undefined, - OptionGroupMemberships: undefined, - BackupRetentionPeriod: undefined, + LicenseModel: undefined, + DBSubnetGroup: undefined, DbiResourceId: undefined, - PreferredBackupWindow: undefined, - IAMDatabaseAuthenticationEnabled: undefined, - PerformanceInsightsEnabled: undefined, + PreferredMaintenanceWindow: undefined, + EnabledCloudwatchLogsExports: undefined, + Iops: undefined, }; - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; - } - if (output["DBName"] !== undefined) { - contents.DBName = output["DBName"]; + if (output["CACertificateIdentifier"] !== undefined) { + contents.CACertificateIdentifier = output["CACertificateIdentifier"]; } if (output.ReadReplicaDBInstanceIdentifiers === "") { contents.ReadReplicaDBInstanceIdentifiers = []; @@ -9657,44 +9654,56 @@ const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): D context ); } - if (output["AllocatedStorage"] !== undefined) { - contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); + if (output["DBName"] !== undefined) { + contents.DBName = output["DBName"]; } - if (output["CACertificateIdentifier"] !== undefined) { - contents.CACertificateIdentifier = output["CACertificateIdentifier"]; + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; } - if (output["DBInstanceClass"] !== undefined) { - contents.DBInstanceClass = output["DBInstanceClass"]; + if (output["ReadReplicaSourceDBInstanceIdentifier"] !== undefined) { + contents.ReadReplicaSourceDBInstanceIdentifier = output["ReadReplicaSourceDBInstanceIdentifier"]; } - if (output["LatestRestorableTime"] !== undefined) { - contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); + if (output["MonitoringRoleArn"] !== undefined) { + contents.MonitoringRoleArn = output["MonitoringRoleArn"]; } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output["EnhancedMonitoringResourceArn"] !== undefined) { + contents.EnhancedMonitoringResourceArn = output["EnhancedMonitoringResourceArn"]; } - if (output["MonitoringInterval"] !== undefined) { - contents.MonitoringInterval = parseInt(output["MonitoringInterval"]); + if (output["PromotionTier"] !== undefined) { + contents.PromotionTier = parseInt(output["PromotionTier"]); } - if (output.EnabledCloudwatchLogsExports === "") { - contents.EnabledCloudwatchLogsExports = []; + if (output["AllocatedStorage"] !== undefined) { + contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); + } + if (output["CharacterSetName"] !== undefined) { + contents.CharacterSetName = output["CharacterSetName"]; + } + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; + } + if (output.ReadReplicaDBClusterIdentifiers === "") { + contents.ReadReplicaDBClusterIdentifiers = []; } if ( - output["EnabledCloudwatchLogsExports"] !== undefined && - output["EnabledCloudwatchLogsExports"]["member"] !== undefined + output["ReadReplicaDBClusterIdentifiers"] !== undefined && + output["ReadReplicaDBClusterIdentifiers"]["ReadReplicaDBClusterIdentifier"] !== undefined ) { - contents.EnabledCloudwatchLogsExports = deserializeAws_queryLogTypeList( - __getArrayIfSingleItem(output["EnabledCloudwatchLogsExports"]["member"]), + contents.ReadReplicaDBClusterIdentifiers = deserializeAws_queryReadReplicaDBClusterIdentifierList( + __getArrayIfSingleItem(output["ReadReplicaDBClusterIdentifiers"]["ReadReplicaDBClusterIdentifier"]), context ); } - if (output["DBInstanceArn"] !== undefined) { - contents.DBInstanceArn = output["DBInstanceArn"]; + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; } - if (output["DBInstanceStatus"] !== undefined) { - contents.DBInstanceStatus = output["DBInstanceStatus"]; + if (output.DBSecurityGroups === "") { + contents.DBSecurityGroups = []; } - if (output["DBClusterIdentifier"] !== undefined) { - contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + if (output["DBSecurityGroups"] !== undefined && output["DBSecurityGroups"]["DBSecurityGroup"] !== undefined) { + contents.DBSecurityGroups = deserializeAws_queryDBSecurityGroupMembershipList( + __getArrayIfSingleItem(output["DBSecurityGroups"]["DBSecurityGroup"]), + context + ); } if (output.DomainMemberships === "") { contents.DomainMemberships = []; @@ -9705,92 +9714,83 @@ const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): D context ); } - if (output["CopyTagsToSnapshot"] !== undefined) { - contents.CopyTagsToSnapshot = output["CopyTagsToSnapshot"] == "true"; + if (output["SecondaryAvailabilityZone"] !== undefined) { + contents.SecondaryAvailabilityZone = output["SecondaryAvailabilityZone"]; } - if (output.ReadReplicaDBClusterIdentifiers === "") { - contents.ReadReplicaDBClusterIdentifiers = []; + if (output.OptionGroupMemberships === "") { + contents.OptionGroupMemberships = []; } if ( - output["ReadReplicaDBClusterIdentifiers"] !== undefined && - output["ReadReplicaDBClusterIdentifiers"]["ReadReplicaDBClusterIdentifier"] !== undefined + output["OptionGroupMemberships"] !== undefined && + output["OptionGroupMemberships"]["OptionGroupMembership"] !== undefined ) { - contents.ReadReplicaDBClusterIdentifiers = deserializeAws_queryReadReplicaDBClusterIdentifierList( - __getArrayIfSingleItem(output["ReadReplicaDBClusterIdentifiers"]["ReadReplicaDBClusterIdentifier"]), + contents.OptionGroupMemberships = deserializeAws_queryOptionGroupMembershipList( + __getArrayIfSingleItem(output["OptionGroupMemberships"]["OptionGroupMembership"]), context ); } - if (output["StorageEncrypted"] !== undefined) { - contents.StorageEncrypted = output["StorageEncrypted"] == "true"; - } - if (output["Timezone"] !== undefined) { - contents.Timezone = output["Timezone"]; - } - if (output["MonitoringRoleArn"] !== undefined) { - contents.MonitoringRoleArn = output["MonitoringRoleArn"]; - } - if (output["SecondaryAvailabilityZone"] !== undefined) { - contents.SecondaryAvailabilityZone = output["SecondaryAvailabilityZone"]; - } if (output["InstanceCreateTime"] !== undefined) { contents.InstanceCreateTime = new Date(output["InstanceCreateTime"]); } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; - } - if (output.DBSecurityGroups === "") { - contents.DBSecurityGroups = []; + if (output.StatusInfos === "") { + contents.StatusInfos = []; } - if (output["DBSecurityGroups"] !== undefined && output["DBSecurityGroups"]["DBSecurityGroup"] !== undefined) { - contents.DBSecurityGroups = deserializeAws_queryDBSecurityGroupMembershipList( - __getArrayIfSingleItem(output["DBSecurityGroups"]["DBSecurityGroup"]), + if (output["StatusInfos"] !== undefined && output["StatusInfos"]["DBInstanceStatusInfo"] !== undefined) { + contents.StatusInfos = deserializeAws_queryDBInstanceStatusInfoList( + __getArrayIfSingleItem(output["StatusInfos"]["DBInstanceStatusInfo"]), context ); } - if (output["PromotionTier"] !== undefined) { - contents.PromotionTier = parseInt(output["PromotionTier"]); - } - if (output["EnhancedMonitoringResourceArn"] !== undefined) { - contents.EnhancedMonitoringResourceArn = output["EnhancedMonitoringResourceArn"]; - } - if (output["DBInstanceIdentifier"] !== undefined) { - contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; - } - if (output["ReadReplicaSourceDBInstanceIdentifier"] !== undefined) { - contents.ReadReplicaSourceDBInstanceIdentifier = output["ReadReplicaSourceDBInstanceIdentifier"]; + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"] == "true"; } - if (output["StorageType"] !== undefined) { - contents.StorageType = output["StorageType"]; + if (output["DBInstanceStatus"] !== undefined) { + contents.DBInstanceStatus = output["DBInstanceStatus"]; } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; + if (output["LatestRestorableTime"] !== undefined) { + contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); } - if (output["CharacterSetName"] !== undefined) { - contents.CharacterSetName = output["CharacterSetName"]; + if (output["DBInstanceClass"] !== undefined) { + contents.DBInstanceClass = output["DBInstanceClass"]; } - if (output["PreferredMaintenanceWindow"] !== undefined) { - contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; + if (output["Timezone"] !== undefined) { + contents.Timezone = output["Timezone"]; } if (output["DeletionProtection"] !== undefined) { contents.DeletionProtection = output["DeletionProtection"] == "true"; } - if (output["PubliclyAccessible"] !== undefined) { - contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; + if (output.VpcSecurityGroups === "") { + contents.VpcSecurityGroups = []; } - if (output["DBSubnetGroup"] !== undefined) { - contents.DBSubnetGroup = deserializeAws_queryDBSubnetGroup(output["DBSubnetGroup"], context); + if ( + output["VpcSecurityGroups"] !== undefined && + output["VpcSecurityGroups"]["VpcSecurityGroupMembership"] !== undefined + ) { + contents.VpcSecurityGroups = deserializeAws_queryVpcSecurityGroupMembershipList( + __getArrayIfSingleItem(output["VpcSecurityGroups"]["VpcSecurityGroupMembership"]), + context + ); } - if (output["LicenseModel"] !== undefined) { - contents.LicenseModel = output["LicenseModel"]; + if (output["MonitoringInterval"] !== undefined) { + contents.MonitoringInterval = parseInt(output["MonitoringInterval"]); + } + if (output["AutoMinorVersionUpgrade"] !== undefined) { + contents.AutoMinorVersionUpgrade = output["AutoMinorVersionUpgrade"] == "true"; } if (output["Endpoint"] !== undefined) { contents.Endpoint = deserializeAws_queryEndpoint(output["Endpoint"], context); } + if (output["DbInstancePort"] !== undefined) { + contents.DbInstancePort = parseInt(output["DbInstancePort"]); + } + if (output["PubliclyAccessible"] !== undefined) { + contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; + } if (output["KmsKeyId"] !== undefined) { contents.KmsKeyId = output["KmsKeyId"]; } - if (output["DbInstancePort"] !== undefined) { - contents.DbInstancePort = parseInt(output["DbInstancePort"]); + if (output["PerformanceInsightsKMSKeyId"] !== undefined) { + contents.PerformanceInsightsKMSKeyId = output["PerformanceInsightsKMSKeyId"]; } if (output["PendingModifiedValues"] !== undefined) { contents.PendingModifiedValues = deserializeAws_queryPendingModifiedValues( @@ -9798,6 +9798,36 @@ const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): D context ); } + if (output["StorageEncrypted"] !== undefined) { + contents.StorageEncrypted = output["StorageEncrypted"] == "true"; + } + if (output["DBInstanceIdentifier"] !== undefined) { + contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; + } + if (output["StorageType"] !== undefined) { + contents.StorageType = output["StorageType"]; + } + if (output["CopyTagsToSnapshot"] !== undefined) { + contents.CopyTagsToSnapshot = output["CopyTagsToSnapshot"] == "true"; + } + if (output["PreferredBackupWindow"] !== undefined) { + contents.PreferredBackupWindow = output["PreferredBackupWindow"]; + } + if (output["DBClusterIdentifier"] !== undefined) { + contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + } + if (output["BackupRetentionPeriod"] !== undefined) { + contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); + } + if (output["DBInstanceArn"] !== undefined) { + contents.DBInstanceArn = output["DBInstanceArn"]; + } + if (output["PerformanceInsightsEnabled"] !== undefined) { + contents.PerformanceInsightsEnabled = output["PerformanceInsightsEnabled"] == "true"; + } + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; + } if (output.DBParameterGroups === "") { contents.DBParameterGroups = []; } @@ -9807,68 +9837,38 @@ const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): D context ); } - if (output["Iops"] !== undefined) { - contents.Iops = parseInt(output["Iops"]); - } - if (output["AutoMinorVersionUpgrade"] !== undefined) { - contents.AutoMinorVersionUpgrade = output["AutoMinorVersionUpgrade"] == "true"; + if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { + contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; } if (output["TdeCredentialArn"] !== undefined) { contents.TdeCredentialArn = output["TdeCredentialArn"]; } - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"] == "true"; - } - if (output.VpcSecurityGroups === "") { - contents.VpcSecurityGroups = []; - } - if ( - output["VpcSecurityGroups"] !== undefined && - output["VpcSecurityGroups"]["VpcSecurityGroupMembership"] !== undefined - ) { - contents.VpcSecurityGroups = deserializeAws_queryVpcSecurityGroupMembershipList( - __getArrayIfSingleItem(output["VpcSecurityGroups"]["VpcSecurityGroupMembership"]), - context - ); + if (output["LicenseModel"] !== undefined) { + contents.LicenseModel = output["LicenseModel"]; } - if (output["PerformanceInsightsKMSKeyId"] !== undefined) { - contents.PerformanceInsightsKMSKeyId = output["PerformanceInsightsKMSKeyId"]; + if (output["DBSubnetGroup"] !== undefined) { + contents.DBSubnetGroup = deserializeAws_queryDBSubnetGroup(output["DBSubnetGroup"], context); } - if (output.StatusInfos === "") { - contents.StatusInfos = []; + if (output["DbiResourceId"] !== undefined) { + contents.DbiResourceId = output["DbiResourceId"]; } - if (output["StatusInfos"] !== undefined && output["StatusInfos"]["DBInstanceStatusInfo"] !== undefined) { - contents.StatusInfos = deserializeAws_queryDBInstanceStatusInfoList( - __getArrayIfSingleItem(output["StatusInfos"]["DBInstanceStatusInfo"]), - context - ); + if (output["PreferredMaintenanceWindow"] !== undefined) { + contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; } - if (output.OptionGroupMemberships === "") { - contents.OptionGroupMemberships = []; + if (output.EnabledCloudwatchLogsExports === "") { + contents.EnabledCloudwatchLogsExports = []; } if ( - output["OptionGroupMemberships"] !== undefined && - output["OptionGroupMemberships"]["OptionGroupMembership"] !== undefined + output["EnabledCloudwatchLogsExports"] !== undefined && + output["EnabledCloudwatchLogsExports"]["member"] !== undefined ) { - contents.OptionGroupMemberships = deserializeAws_queryOptionGroupMembershipList( - __getArrayIfSingleItem(output["OptionGroupMemberships"]["OptionGroupMembership"]), + contents.EnabledCloudwatchLogsExports = deserializeAws_queryLogTypeList( + __getArrayIfSingleItem(output["EnabledCloudwatchLogsExports"]["member"]), context ); } - if (output["BackupRetentionPeriod"] !== undefined) { - contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); - } - if (output["DbiResourceId"] !== undefined) { - contents.DbiResourceId = output["DbiResourceId"]; - } - if (output["PreferredBackupWindow"] !== undefined) { - contents.PreferredBackupWindow = output["PreferredBackupWindow"]; - } - if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { - contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; - } - if (output["PerformanceInsightsEnabled"] !== undefined) { - contents.PerformanceInsightsEnabled = output["PerformanceInsightsEnabled"] == "true"; + if (output["Iops"] !== undefined) { + contents.Iops = parseInt(output["Iops"]); } return contents; }; @@ -9892,12 +9892,9 @@ const deserializeAws_queryDBInstanceList = (output: any, context: __SerdeContext const deserializeAws_queryDBInstanceMessage = (output: any, context: __SerdeContext): DBInstanceMessage => { let contents: any = { - Marker: undefined, DBInstances: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.DBInstances === "") { contents.DBInstances = []; } @@ -9907,6 +9904,9 @@ const deserializeAws_queryDBInstanceMessage = (output: any, context: __SerdeCont context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -9922,23 +9922,23 @@ const deserializeAws_queryDBInstanceNotFoundFault = (output: any, context: __Ser const deserializeAws_queryDBInstanceStatusInfo = (output: any, context: __SerdeContext): DBInstanceStatusInfo => { let contents: any = { - Status: undefined, - StatusType: undefined, Message: undefined, Normal: undefined, + StatusType: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["StatusType"] !== undefined) { - contents.StatusType = output["StatusType"]; - } if (output["Message"] !== undefined) { contents.Message = output["Message"]; } if (output["Normal"] !== undefined) { contents.Normal = output["Normal"] == "true"; } + if (output["StatusType"] !== undefined) { + contents.StatusType = output["StatusType"]; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } return contents; }; @@ -9948,23 +9948,23 @@ const deserializeAws_queryDBInstanceStatusInfoList = (output: any, context: __Se const deserializeAws_queryDBParameterGroup = (output: any, context: __SerdeContext): DBParameterGroup => { let contents: any = { - Description: undefined, - DBParameterGroupFamily: undefined, DBParameterGroupArn: undefined, + DBParameterGroupFamily: undefined, DBParameterGroupName: undefined, + Description: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["DBParameterGroupArn"] !== undefined) { + contents.DBParameterGroupArn = output["DBParameterGroupArn"]; } if (output["DBParameterGroupFamily"] !== undefined) { contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; } - if (output["DBParameterGroupArn"] !== undefined) { - contents.DBParameterGroupArn = output["DBParameterGroupArn"]; - } if (output["DBParameterGroupName"] !== undefined) { contents.DBParameterGroupName = output["DBParameterGroupName"]; } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } return contents; }; @@ -9983,9 +9983,12 @@ const deserializeAws_queryDBParameterGroupAlreadyExistsFault = ( const deserializeAws_queryDBParameterGroupDetails = (output: any, context: __SerdeContext): DBParameterGroupDetails => { let contents: any = { - Parameters: undefined, Marker: undefined, + Parameters: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.Parameters === "") { contents.Parameters = []; } @@ -9995,9 +9998,6 @@ const deserializeAws_queryDBParameterGroupDetails = (output: any, context: __Ser context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -10069,15 +10069,15 @@ const deserializeAws_queryDBParameterGroupsMessage = ( const deserializeAws_queryDBParameterGroupStatus = (output: any, context: __SerdeContext): DBParameterGroupStatus => { let contents: any = { - ParameterApplyStatus: undefined, DBParameterGroupName: undefined, + ParameterApplyStatus: undefined, }; - if (output["ParameterApplyStatus"] !== undefined) { - contents.ParameterApplyStatus = output["ParameterApplyStatus"]; - } if (output["DBParameterGroupName"] !== undefined) { contents.DBParameterGroupName = output["DBParameterGroupName"]; } + if (output["ParameterApplyStatus"] !== undefined) { + contents.ParameterApplyStatus = output["ParameterApplyStatus"]; + } return contents; }; @@ -10150,27 +10150,27 @@ const deserializeAws_queryDBSnapshotNotFoundFault = (output: any, context: __Ser const deserializeAws_queryDBSubnetGroup = (output: any, context: __SerdeContext): DBSubnetGroup => { let contents: any = { + DBSubnetGroupName: undefined, VpcId: undefined, - DBSubnetGroupArn: undefined, - DBSubnetGroupDescription: undefined, SubnetGroupStatus: undefined, - DBSubnetGroupName: undefined, + DBSubnetGroupDescription: undefined, + DBSubnetGroupArn: undefined, Subnets: undefined, }; + if (output["DBSubnetGroupName"] !== undefined) { + contents.DBSubnetGroupName = output["DBSubnetGroupName"]; + } if (output["VpcId"] !== undefined) { contents.VpcId = output["VpcId"]; } - if (output["DBSubnetGroupArn"] !== undefined) { - contents.DBSubnetGroupArn = output["DBSubnetGroupArn"]; + if (output["SubnetGroupStatus"] !== undefined) { + contents.SubnetGroupStatus = output["SubnetGroupStatus"]; } if (output["DBSubnetGroupDescription"] !== undefined) { contents.DBSubnetGroupDescription = output["DBSubnetGroupDescription"]; } - if (output["SubnetGroupStatus"] !== undefined) { - contents.SubnetGroupStatus = output["SubnetGroupStatus"]; - } - if (output["DBSubnetGroupName"] !== undefined) { - contents.DBSubnetGroupName = output["DBSubnetGroupName"]; + if (output["DBSubnetGroupArn"] !== undefined) { + contents.DBSubnetGroupArn = output["DBSubnetGroupArn"]; } if (output.Subnets === "") { contents.Subnets = []; @@ -10209,12 +10209,9 @@ const deserializeAws_queryDBSubnetGroupDoesNotCoverEnoughAZs = ( const deserializeAws_queryDBSubnetGroupMessage = (output: any, context: __SerdeContext): DBSubnetGroupMessage => { let contents: any = { - Marker: undefined, DBSubnetGroups: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.DBSubnetGroups === "") { contents.DBSubnetGroups = []; } @@ -10224,6 +10221,9 @@ const deserializeAws_queryDBSubnetGroupMessage = (output: any, context: __SerdeC context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -10389,22 +10389,22 @@ const deserializeAws_queryDescribeValidDBInstanceModificationsResult = ( const deserializeAws_queryDomainMembership = (output: any, context: __SerdeContext): DomainMembership => { let contents: any = { + FQDN: undefined, Domain: undefined, - IAMRoleName: undefined, Status: undefined, - FQDN: undefined, + IAMRoleName: undefined, }; + if (output["FQDN"] !== undefined) { + contents.FQDN = output["FQDN"]; + } if (output["Domain"] !== undefined) { contents.Domain = output["Domain"]; } - if (output["IAMRoleName"] !== undefined) { - contents.IAMRoleName = output["IAMRoleName"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["FQDN"] !== undefined) { - contents.FQDN = output["FQDN"]; + if (output["IAMRoleName"] !== undefined) { + contents.IAMRoleName = output["IAMRoleName"]; } return contents; }; @@ -10461,16 +10461,16 @@ const deserializeAws_queryEndpoint = (output: any, context: __SerdeContext): End const deserializeAws_queryEngineDefaults = (output: any, context: __SerdeContext): EngineDefaults => { let contents: any = { - Marker: undefined, DBParameterGroupFamily: undefined, + Marker: undefined, Parameters: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output["DBParameterGroupFamily"] !== undefined) { contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.Parameters === "") { contents.Parameters = []; } @@ -10485,25 +10485,16 @@ const deserializeAws_queryEngineDefaults = (output: any, context: __SerdeContext const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event => { let contents: any = { - Date: undefined, - SourceIdentifier: undefined, SourceType: undefined, - Message: undefined, EventCategories: undefined, + SourceIdentifier: undefined, SourceArn: undefined, + Date: undefined, + Message: undefined, }; - if (output["Date"] !== undefined) { - contents.Date = new Date(output["Date"]); - } - if (output["SourceIdentifier"] !== undefined) { - contents.SourceIdentifier = output["SourceIdentifier"]; - } if (output["SourceType"] !== undefined) { contents.SourceType = output["SourceType"]; } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; - } if (output.EventCategories === "") { contents.EventCategories = []; } @@ -10513,9 +10504,18 @@ const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event context ); } + if (output["SourceIdentifier"] !== undefined) { + contents.SourceIdentifier = output["SourceIdentifier"]; + } if (output["SourceArn"] !== undefined) { contents.SourceArn = output["SourceArn"]; } + if (output["Date"] !== undefined) { + contents.Date = new Date(output["Date"]); + } + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; + } return contents; }; @@ -10589,28 +10589,34 @@ const deserializeAws_queryEventsMessage = (output: any, context: __SerdeContext) const deserializeAws_queryEventSubscription = (output: any, context: __SerdeContext): EventSubscription => { let contents: any = { - Enabled: undefined, - SnsTopicArn: undefined, - EventSubscriptionArn: undefined, - CustSubscriptionId: undefined, - SourceIdsList: undefined, - Status: undefined, - EventCategoriesList: undefined, SourceType: undefined, + EventCategoriesList: undefined, CustomerAwsId: undefined, SubscriptionCreationTime: undefined, + SourceIdsList: undefined, + Enabled: undefined, + CustSubscriptionId: undefined, + Status: undefined, + SnsTopicArn: undefined, + EventSubscriptionArn: undefined, }; - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; + if (output["SourceType"] !== undefined) { + contents.SourceType = output["SourceType"]; } - if (output["SnsTopicArn"] !== undefined) { - contents.SnsTopicArn = output["SnsTopicArn"]; + if (output.EventCategoriesList === "") { + contents.EventCategoriesList = []; } - if (output["EventSubscriptionArn"] !== undefined) { - contents.EventSubscriptionArn = output["EventSubscriptionArn"]; + if (output["EventCategoriesList"] !== undefined && output["EventCategoriesList"]["EventCategory"] !== undefined) { + contents.EventCategoriesList = deserializeAws_queryEventCategoriesList( + __getArrayIfSingleItem(output["EventCategoriesList"]["EventCategory"]), + context + ); } - if (output["CustSubscriptionId"] !== undefined) { - contents.CustSubscriptionId = output["CustSubscriptionId"]; + if (output["CustomerAwsId"] !== undefined) { + contents.CustomerAwsId = output["CustomerAwsId"]; + } + if (output["SubscriptionCreationTime"] !== undefined) { + contents.SubscriptionCreationTime = output["SubscriptionCreationTime"]; } if (output.SourceIdsList === "") { contents.SourceIdsList = []; @@ -10621,26 +10627,20 @@ const deserializeAws_queryEventSubscription = (output: any, context: __SerdeCont context ); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output.EventCategoriesList === "") { - contents.EventCategoriesList = []; + if (output["Enabled"] !== undefined) { + contents.Enabled = output["Enabled"] == "true"; } - if (output["EventCategoriesList"] !== undefined && output["EventCategoriesList"]["EventCategory"] !== undefined) { - contents.EventCategoriesList = deserializeAws_queryEventCategoriesList( - __getArrayIfSingleItem(output["EventCategoriesList"]["EventCategory"]), - context - ); + if (output["CustSubscriptionId"] !== undefined) { + contents.CustSubscriptionId = output["CustSubscriptionId"]; } - if (output["SourceType"] !== undefined) { - contents.SourceType = output["SourceType"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } - if (output["CustomerAwsId"] !== undefined) { - contents.CustomerAwsId = output["CustomerAwsId"]; + if (output["SnsTopicArn"] !== undefined) { + contents.SnsTopicArn = output["SnsTopicArn"]; } - if (output["SubscriptionCreationTime"] !== undefined) { - contents.SubscriptionCreationTime = output["SubscriptionCreationTime"]; + if (output["EventSubscriptionArn"] !== undefined) { + contents.EventSubscriptionArn = output["EventSubscriptionArn"]; } return contents; }; @@ -10981,15 +10981,15 @@ const deserializeAws_queryModifyEventSubscriptionResult = ( const deserializeAws_queryOptionGroupMembership = (output: any, context: __SerdeContext): OptionGroupMembership => { let contents: any = { - Status: undefined, OptionGroupName: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["OptionGroupName"] !== undefined) { contents.OptionGroupName = output["OptionGroupName"]; } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } return contents; }; @@ -11018,93 +11018,93 @@ const deserializeAws_queryOrderableDBInstanceOption = ( context: __SerdeContext ): OrderableDBInstanceOption => { let contents: any = { - DBInstanceClass: undefined, - AvailabilityZones: undefined, - Engine: undefined, - MultiAZCapable: undefined, + MinIopsPerGib: undefined, + StorageType: undefined, + LicenseModel: undefined, MaxStorageSize: undefined, - Vpc: undefined, + ReadReplicaCapable: undefined, EngineVersion: undefined, - StorageType: undefined, - MinIopsPerDbInstance: undefined, SupportsIAMDatabaseAuthentication: undefined, - SupportsIops: undefined, + SupportsPerformanceInsights: undefined, + AvailabilityZones: undefined, + MaxIopsPerDbInstance: undefined, SupportsEnhancedMonitoring: undefined, - LicenseModel: undefined, MaxIopsPerGib: undefined, - MaxIopsPerDbInstance: undefined, - SupportsPerformanceInsights: undefined, - ReadReplicaCapable: undefined, MinStorageSize: undefined, - MinIopsPerGib: undefined, + SupportsIops: undefined, + MultiAZCapable: undefined, + Engine: undefined, + Vpc: undefined, + MinIopsPerDbInstance: undefined, SupportsStorageEncryption: undefined, + DBInstanceClass: undefined, }; - if (output["DBInstanceClass"] !== undefined) { - contents.DBInstanceClass = output["DBInstanceClass"]; - } - if (output.AvailabilityZones === "") { - contents.AvailabilityZones = []; - } - if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["AvailabilityZone"] !== undefined) { - contents.AvailabilityZones = deserializeAws_queryAvailabilityZoneList( - __getArrayIfSingleItem(output["AvailabilityZones"]["AvailabilityZone"]), - context - ); + if (output["MinIopsPerGib"] !== undefined) { + contents.MinIopsPerGib = parseFloat(output["MinIopsPerGib"]); } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output["StorageType"] !== undefined) { + contents.StorageType = output["StorageType"]; } - if (output["MultiAZCapable"] !== undefined) { - contents.MultiAZCapable = output["MultiAZCapable"] == "true"; + if (output["LicenseModel"] !== undefined) { + contents.LicenseModel = output["LicenseModel"]; } if (output["MaxStorageSize"] !== undefined) { contents.MaxStorageSize = parseInt(output["MaxStorageSize"]); } - if (output["Vpc"] !== undefined) { - contents.Vpc = output["Vpc"] == "true"; + if (output["ReadReplicaCapable"] !== undefined) { + contents.ReadReplicaCapable = output["ReadReplicaCapable"] == "true"; } if (output["EngineVersion"] !== undefined) { contents.EngineVersion = output["EngineVersion"]; } - if (output["StorageType"] !== undefined) { - contents.StorageType = output["StorageType"]; - } - if (output["MinIopsPerDbInstance"] !== undefined) { - contents.MinIopsPerDbInstance = parseInt(output["MinIopsPerDbInstance"]); - } if (output["SupportsIAMDatabaseAuthentication"] !== undefined) { contents.SupportsIAMDatabaseAuthentication = output["SupportsIAMDatabaseAuthentication"] == "true"; } - if (output["SupportsIops"] !== undefined) { - contents.SupportsIops = output["SupportsIops"] == "true"; - } - if (output["SupportsEnhancedMonitoring"] !== undefined) { - contents.SupportsEnhancedMonitoring = output["SupportsEnhancedMonitoring"] == "true"; + if (output["SupportsPerformanceInsights"] !== undefined) { + contents.SupportsPerformanceInsights = output["SupportsPerformanceInsights"] == "true"; } - if (output["LicenseModel"] !== undefined) { - contents.LicenseModel = output["LicenseModel"]; + if (output.AvailabilityZones === "") { + contents.AvailabilityZones = []; } - if (output["MaxIopsPerGib"] !== undefined) { - contents.MaxIopsPerGib = parseFloat(output["MaxIopsPerGib"]); + if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["AvailabilityZone"] !== undefined) { + contents.AvailabilityZones = deserializeAws_queryAvailabilityZoneList( + __getArrayIfSingleItem(output["AvailabilityZones"]["AvailabilityZone"]), + context + ); } if (output["MaxIopsPerDbInstance"] !== undefined) { contents.MaxIopsPerDbInstance = parseInt(output["MaxIopsPerDbInstance"]); } - if (output["SupportsPerformanceInsights"] !== undefined) { - contents.SupportsPerformanceInsights = output["SupportsPerformanceInsights"] == "true"; + if (output["SupportsEnhancedMonitoring"] !== undefined) { + contents.SupportsEnhancedMonitoring = output["SupportsEnhancedMonitoring"] == "true"; } - if (output["ReadReplicaCapable"] !== undefined) { - contents.ReadReplicaCapable = output["ReadReplicaCapable"] == "true"; + if (output["MaxIopsPerGib"] !== undefined) { + contents.MaxIopsPerGib = parseFloat(output["MaxIopsPerGib"]); } if (output["MinStorageSize"] !== undefined) { contents.MinStorageSize = parseInt(output["MinStorageSize"]); } - if (output["MinIopsPerGib"] !== undefined) { - contents.MinIopsPerGib = parseFloat(output["MinIopsPerGib"]); + if (output["SupportsIops"] !== undefined) { + contents.SupportsIops = output["SupportsIops"] == "true"; + } + if (output["MultiAZCapable"] !== undefined) { + contents.MultiAZCapable = output["MultiAZCapable"] == "true"; + } + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; + } + if (output["Vpc"] !== undefined) { + contents.Vpc = output["Vpc"] == "true"; + } + if (output["MinIopsPerDbInstance"] !== undefined) { + contents.MinIopsPerDbInstance = parseInt(output["MinIopsPerDbInstance"]); } if (output["SupportsStorageEncryption"] !== undefined) { contents.SupportsStorageEncryption = output["SupportsStorageEncryption"] == "true"; } + if (output["DBInstanceClass"] !== undefined) { + contents.DBInstanceClass = output["DBInstanceClass"]; + } return contents; }; @@ -11120,9 +11120,12 @@ const deserializeAws_queryOrderableDBInstanceOptionsMessage = ( context: __SerdeContext ): OrderableDBInstanceOptionsMessage => { let contents: any = { - OrderableDBInstanceOptions: undefined, Marker: undefined, + OrderableDBInstanceOptions: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.OrderableDBInstanceOptions === "") { contents.OrderableDBInstanceOptions = []; } @@ -11135,54 +11138,51 @@ const deserializeAws_queryOrderableDBInstanceOptionsMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; const deserializeAws_queryParameter = (output: any, context: __SerdeContext): Parameter => { let contents: any = { - Description: undefined, + ParameterValue: undefined, ApplyType: undefined, - IsModifiable: undefined, - ApplyMethod: undefined, - ParameterName: undefined, Source: undefined, + ParameterName: undefined, DataType: undefined, - MinimumEngineVersion: undefined, + ApplyMethod: undefined, AllowedValues: undefined, - ParameterValue: undefined, + IsModifiable: undefined, + Description: undefined, + MinimumEngineVersion: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["ParameterValue"] !== undefined) { + contents.ParameterValue = output["ParameterValue"]; } if (output["ApplyType"] !== undefined) { contents.ApplyType = output["ApplyType"]; } - if (output["IsModifiable"] !== undefined) { - contents.IsModifiable = output["IsModifiable"] == "true"; - } - if (output["ApplyMethod"] !== undefined) { - contents.ApplyMethod = output["ApplyMethod"]; + if (output["Source"] !== undefined) { + contents.Source = output["Source"]; } if (output["ParameterName"] !== undefined) { contents.ParameterName = output["ParameterName"]; } - if (output["Source"] !== undefined) { - contents.Source = output["Source"]; - } if (output["DataType"] !== undefined) { contents.DataType = output["DataType"]; } - if (output["MinimumEngineVersion"] !== undefined) { - contents.MinimumEngineVersion = output["MinimumEngineVersion"]; + if (output["ApplyMethod"] !== undefined) { + contents.ApplyMethod = output["ApplyMethod"]; } if (output["AllowedValues"] !== undefined) { contents.AllowedValues = output["AllowedValues"]; } - if (output["ParameterValue"] !== undefined) { - contents.ParameterValue = output["ParameterValue"]; + if (output["IsModifiable"] !== undefined) { + contents.IsModifiable = output["IsModifiable"] == "true"; + } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["MinimumEngineVersion"] !== undefined) { + contents.MinimumEngineVersion = output["MinimumEngineVersion"]; } return contents; }; @@ -11196,18 +11196,9 @@ const deserializeAws_queryPendingCloudwatchLogsExports = ( context: __SerdeContext ): PendingCloudwatchLogsExports => { let contents: any = { - LogTypesToDisable: undefined, LogTypesToEnable: undefined, + LogTypesToDisable: undefined, }; - if (output.LogTypesToDisable === "") { - contents.LogTypesToDisable = []; - } - if (output["LogTypesToDisable"] !== undefined && output["LogTypesToDisable"]["member"] !== undefined) { - contents.LogTypesToDisable = deserializeAws_queryLogTypeList( - __getArrayIfSingleItem(output["LogTypesToDisable"]["member"]), - context - ); - } if (output.LogTypesToEnable === "") { contents.LogTypesToEnable = []; } @@ -11217,6 +11208,15 @@ const deserializeAws_queryPendingCloudwatchLogsExports = ( context ); } + if (output.LogTypesToDisable === "") { + contents.LogTypesToDisable = []; + } + if (output["LogTypesToDisable"] !== undefined && output["LogTypesToDisable"]["member"] !== undefined) { + contents.LogTypesToDisable = deserializeAws_queryLogTypeList( + __getArrayIfSingleItem(output["LogTypesToDisable"]["member"]), + context + ); + } return contents; }; @@ -11225,30 +11225,30 @@ const deserializeAws_queryPendingMaintenanceAction = ( context: __SerdeContext ): PendingMaintenanceAction => { let contents: any = { - OptInStatus: undefined, - CurrentApplyDate: undefined, - Description: undefined, - Action: undefined, AutoAppliedAfterDate: undefined, ForcedApplyDate: undefined, + Action: undefined, + Description: undefined, + CurrentApplyDate: undefined, + OptInStatus: undefined, }; - if (output["OptInStatus"] !== undefined) { - contents.OptInStatus = output["OptInStatus"]; - } - if (output["CurrentApplyDate"] !== undefined) { - contents.CurrentApplyDate = new Date(output["CurrentApplyDate"]); + if (output["AutoAppliedAfterDate"] !== undefined) { + contents.AutoAppliedAfterDate = new Date(output["AutoAppliedAfterDate"]); } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["ForcedApplyDate"] !== undefined) { + contents.ForcedApplyDate = new Date(output["ForcedApplyDate"]); } if (output["Action"] !== undefined) { contents.Action = output["Action"]; } - if (output["AutoAppliedAfterDate"] !== undefined) { - contents.AutoAppliedAfterDate = new Date(output["AutoAppliedAfterDate"]); + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } - if (output["ForcedApplyDate"] !== undefined) { - contents.ForcedApplyDate = new Date(output["ForcedApplyDate"]); + if (output["CurrentApplyDate"] !== undefined) { + contents.CurrentApplyDate = new Date(output["CurrentApplyDate"]); + } + if (output["OptInStatus"] !== undefined) { + contents.OptInStatus = output["OptInStatus"]; } return contents; }; @@ -11272,12 +11272,9 @@ const deserializeAws_queryPendingMaintenanceActionsMessage = ( context: __SerdeContext ): PendingMaintenanceActionsMessage => { let contents: any = { - Marker: undefined, PendingMaintenanceActions: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.PendingMaintenanceActions === "") { contents.PendingMaintenanceActions = []; } @@ -11290,70 +11287,73 @@ const deserializeAws_queryPendingMaintenanceActionsMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; const deserializeAws_queryPendingModifiedValues = (output: any, context: __SerdeContext): PendingModifiedValues => { let contents: any = { - StorageType: undefined, - LicenseModel: undefined, - Port: undefined, - EngineVersion: undefined, - Iops: undefined, AllocatedStorage: undefined, - DBSubnetGroupName: undefined, - MasterUserPassword: undefined, + BackupRetentionPeriod: undefined, + LicenseModel: undefined, CACertificateIdentifier: undefined, + DBSubnetGroupName: undefined, + Iops: undefined, DBInstanceIdentifier: undefined, + EngineVersion: undefined, + MultiAZ: undefined, PendingCloudwatchLogsExports: undefined, + StorageType: undefined, + MasterUserPassword: undefined, DBInstanceClass: undefined, - MultiAZ: undefined, - BackupRetentionPeriod: undefined, + Port: undefined, }; - if (output["StorageType"] !== undefined) { - contents.StorageType = output["StorageType"]; + if (output["AllocatedStorage"] !== undefined) { + contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); + } + if (output["BackupRetentionPeriod"] !== undefined) { + contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); } if (output["LicenseModel"] !== undefined) { contents.LicenseModel = output["LicenseModel"]; } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; - } - if (output["Iops"] !== undefined) { - contents.Iops = parseInt(output["Iops"]); - } - if (output["AllocatedStorage"] !== undefined) { - contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); + if (output["CACertificateIdentifier"] !== undefined) { + contents.CACertificateIdentifier = output["CACertificateIdentifier"]; } if (output["DBSubnetGroupName"] !== undefined) { contents.DBSubnetGroupName = output["DBSubnetGroupName"]; } - if (output["MasterUserPassword"] !== undefined) { - contents.MasterUserPassword = output["MasterUserPassword"]; - } - if (output["CACertificateIdentifier"] !== undefined) { - contents.CACertificateIdentifier = output["CACertificateIdentifier"]; + if (output["Iops"] !== undefined) { + contents.Iops = parseInt(output["Iops"]); } if (output["DBInstanceIdentifier"] !== undefined) { contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; } + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; + } + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"] == "true"; + } if (output["PendingCloudwatchLogsExports"] !== undefined) { contents.PendingCloudwatchLogsExports = deserializeAws_queryPendingCloudwatchLogsExports( output["PendingCloudwatchLogsExports"], context ); } + if (output["StorageType"] !== undefined) { + contents.StorageType = output["StorageType"]; + } + if (output["MasterUserPassword"] !== undefined) { + contents.MasterUserPassword = output["MasterUserPassword"]; + } if (output["DBInstanceClass"] !== undefined) { contents.DBInstanceClass = output["DBInstanceClass"]; } - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"] == "true"; - } - if (output["BackupRetentionPeriod"] !== undefined) { - contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } return contents; }; @@ -11386,19 +11386,19 @@ const deserializeAws_queryProvisionedIopsNotAvailableInAZFault = ( const deserializeAws_queryRange = (output: any, context: __SerdeContext): Range => { let contents: any = { + To: undefined, Step: undefined, From: undefined, - To: undefined, }; + if (output["To"] !== undefined) { + contents.To = parseInt(output["To"]); + } if (output["Step"] !== undefined) { contents.Step = parseInt(output["Step"]); } if (output["From"] !== undefined) { contents.From = parseInt(output["From"]); } - if (output["To"] !== undefined) { - contents.To = parseInt(output["To"]); - } return contents; }; @@ -11456,9 +11456,12 @@ const deserializeAws_queryResourcePendingMaintenanceActions = ( context: __SerdeContext ): ResourcePendingMaintenanceActions => { let contents: any = { - PendingMaintenanceActionDetails: undefined, ResourceIdentifier: undefined, + PendingMaintenanceActionDetails: undefined, }; + if (output["ResourceIdentifier"] !== undefined) { + contents.ResourceIdentifier = output["ResourceIdentifier"]; + } if (output.PendingMaintenanceActionDetails === "") { contents.PendingMaintenanceActionDetails = []; } @@ -11471,9 +11474,6 @@ const deserializeAws_queryResourcePendingMaintenanceActions = ( context ); } - if (output["ResourceIdentifier"] !== undefined) { - contents.ResourceIdentifier = output["ResourceIdentifier"]; - } return contents; }; @@ -11624,18 +11624,18 @@ const deserializeAws_queryStorageTypeNotSupportedFault = ( const deserializeAws_querySubnet = (output: any, context: __SerdeContext): Subnet => { let contents: any = { - SubnetStatus: undefined, - SubnetIdentifier: undefined, SubnetAvailabilityZone: undefined, + SubnetIdentifier: undefined, + SubnetStatus: undefined, }; - if (output["SubnetStatus"] !== undefined) { - contents.SubnetStatus = output["SubnetStatus"]; + if (output["SubnetAvailabilityZone"] !== undefined) { + contents.SubnetAvailabilityZone = deserializeAws_queryAvailabilityZone(output["SubnetAvailabilityZone"], context); } if (output["SubnetIdentifier"] !== undefined) { contents.SubnetIdentifier = output["SubnetIdentifier"]; } - if (output["SubnetAvailabilityZone"] !== undefined) { - contents.SubnetAvailabilityZone = deserializeAws_queryAvailabilityZone(output["SubnetAvailabilityZone"], context); + if (output["SubnetStatus"] !== undefined) { + contents.SubnetStatus = output["SubnetStatus"]; } return contents; }; @@ -11744,27 +11744,27 @@ const deserializeAws_queryTimezone = (output: any, context: __SerdeContext): Tim const deserializeAws_queryUpgradeTarget = (output: any, context: __SerdeContext): UpgradeTarget => { let contents: any = { - Description: undefined, AutoUpgrade: undefined, - EngineVersion: undefined, IsMajorVersionUpgrade: undefined, Engine: undefined, + Description: undefined, + EngineVersion: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["AutoUpgrade"] !== undefined) { contents.AutoUpgrade = output["AutoUpgrade"] == "true"; } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; - } if (output["IsMajorVersionUpgrade"] !== undefined) { contents.IsMajorVersionUpgrade = output["IsMajorVersionUpgrade"] == "true"; } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; + } return contents; }; @@ -11789,23 +11789,11 @@ const deserializeAws_queryValidDBInstanceModificationsMessage = ( const deserializeAws_queryValidStorageOptions = (output: any, context: __SerdeContext): ValidStorageOptions => { let contents: any = { - IopsToStorageRatio: undefined, - StorageType: undefined, ProvisionedIops: undefined, + StorageType: undefined, StorageSize: undefined, + IopsToStorageRatio: undefined, }; - if (output.IopsToStorageRatio === "") { - contents.IopsToStorageRatio = []; - } - if (output["IopsToStorageRatio"] !== undefined && output["IopsToStorageRatio"]["DoubleRange"] !== undefined) { - contents.IopsToStorageRatio = deserializeAws_queryDoubleRangeList( - __getArrayIfSingleItem(output["IopsToStorageRatio"]["DoubleRange"]), - context - ); - } - if (output["StorageType"] !== undefined) { - contents.StorageType = output["StorageType"]; - } if (output.ProvisionedIops === "") { contents.ProvisionedIops = []; } @@ -11815,6 +11803,9 @@ const deserializeAws_queryValidStorageOptions = (output: any, context: __SerdeCo context ); } + if (output["StorageType"] !== undefined) { + contents.StorageType = output["StorageType"]; + } if (output.StorageSize === "") { contents.StorageSize = []; } @@ -11824,6 +11815,15 @@ const deserializeAws_queryValidStorageOptions = (output: any, context: __SerdeCo context ); } + if (output.IopsToStorageRatio === "") { + contents.IopsToStorageRatio = []; + } + if (output["IopsToStorageRatio"] !== undefined && output["IopsToStorageRatio"]["DoubleRange"] !== undefined) { + contents.IopsToStorageRatio = deserializeAws_queryDoubleRangeList( + __getArrayIfSingleItem(output["IopsToStorageRatio"]["DoubleRange"]), + context + ); + } return contents; }; @@ -11840,15 +11840,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-networkmanager/models/models_0.ts b/clients/client-networkmanager/models/models_0.ts index 298016fabde5..77471a859450 100644 --- a/clients/client-networkmanager/models/models_0.ts +++ b/clients/client-networkmanager/models/models_0.ts @@ -17,12 +17,6 @@ export namespace AccessDeniedException { } export interface AssociateCustomerGatewayRequest { - /** - *

                                                        The Amazon Resource Name (ARN) of the customer gateway. For more information, see - * Resources Defined by Amazon EC2.

                                                        - */ - CustomerGatewayArn: string | undefined; - /** *

                                                        The ID of the global network.

                                                        */ @@ -33,6 +27,12 @@ export interface AssociateCustomerGatewayRequest { */ DeviceId: string | undefined; + /** + *

                                                        The Amazon Resource Name (ARN) of the customer gateway. For more information, see + * Resources Defined by Amazon EC2.

                                                        + */ + CustomerGatewayArn: string | undefined; + /** *

                                                        The ID of the link.

                                                        */ @@ -56,6 +56,11 @@ export enum CustomerGatewayAssociationState { *

                                                        Describes the association between a customer gateway, a device, and a link.

                                                        */ export interface CustomerGatewayAssociation { + /** + *

                                                        The Amazon Resource Name (ARN) of the customer gateway.

                                                        + */ + CustomerGatewayArn?: string; + /** *

                                                        The association state.

                                                        */ @@ -66,11 +71,6 @@ export interface CustomerGatewayAssociation { */ DeviceId?: string; - /** - *

                                                        The Amazon Resource Name (ARN) of the customer gateway.

                                                        - */ - CustomerGatewayArn?: string; - /** *

                                                        The ID of the global network.

                                                        */ @@ -109,15 +109,15 @@ export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; $fault: "client"; /** - *

                                                        The ID of the resource.

                                                        + *

                                                        The resource type.

                                                        */ - ResourceId: string | undefined; + ResourceType: string | undefined; Message: string | undefined; /** - *

                                                        The resource type.

                                                        + *

                                                        The ID of the resource.

                                                        */ - ResourceType: string | undefined; + ResourceId: string | undefined; } export namespace ConflictException { @@ -157,12 +157,11 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB */ ResourceId: string | undefined; + Message: string | undefined; /** *

                                                        The resource type.

                                                        */ ResourceType: string | undefined; - - Message: string | undefined; } export namespace ResourceNotFoundException { @@ -182,25 +181,25 @@ export interface ServiceQuotaExceededException extends __SmithyException, $Metad */ LimitCode: string | undefined; - /** - *

                                                        The resource type.

                                                        - */ - ResourceType?: string; - /** *

                                                        The error message.

                                                        */ Message: string | undefined; /** - *

                                                        The ID of the resource.

                                                        + *

                                                        The resource type.

                                                        */ - ResourceId?: string; + ResourceType?: string; /** *

                                                        The service code.

                                                        */ ServiceCode: string | undefined; + + /** + *

                                                        The ID of the resource.

                                                        + */ + ResourceId?: string; } export namespace ServiceQuotaExceededException { @@ -215,12 +214,11 @@ export namespace ServiceQuotaExceededException { export interface ThrottlingException extends __SmithyException, $MetadataBearer { name: "ThrottlingException"; $fault: "client"; + Message: string | undefined; /** *

                                                        Indicates when to retry the request.

                                                        */ RetryAfterSeconds?: number; - - Message: string | undefined; } export namespace ThrottlingException { @@ -263,12 +261,12 @@ export enum ValidationExceptionReason { export interface ValidationException extends __SmithyException, $MetadataBearer { name: "ValidationException"; $fault: "client"; + Message: string | undefined; /** *

                                                        The fields that caused the error, if applicable.

                                                        */ Fields?: ValidationExceptionField[]; - Message: string | undefined; /** *

                                                        The reason for the error.

                                                        */ @@ -315,11 +313,6 @@ export enum LinkAssociationState { *

                                                        Describes the association between a device and a link.

                                                        */ export interface LinkAssociation { - /** - *

                                                        The ID of the global network.

                                                        - */ - GlobalNetworkId?: string; - /** *

                                                        The state of the association.

                                                        */ @@ -334,6 +327,11 @@ export interface LinkAssociation { *

                                                        The device ID for the link association.

                                                        */ DeviceId?: string; + + /** + *

                                                        The ID of the global network.

                                                        + */ + GlobalNetworkId?: string; } export namespace LinkAssociation { @@ -381,14 +379,14 @@ export namespace Bandwidth { */ export interface Location { /** - *

                                                        The physical address.

                                                        + *

                                                        The longitude.

                                                        */ - Address?: string; + Longitude?: string; /** - *

                                                        The longitude.

                                                        + *

                                                        The physical address.

                                                        */ - Longitude?: string; + Address?: string; /** *

                                                        The latitude.

                                                        @@ -426,6 +424,12 @@ export namespace Tag { } export interface CreateDeviceRequest { + /** + *

                                                        The model of the device.

                                                        + *

                                                        Length Constraints: Maximum length of 128 characters.

                                                        + */ + Model?: string; + /** *

                                                        The serial number of the device.

                                                        *

                                                        Length Constraints: Maximum length of 128 characters.

                                                        @@ -433,9 +437,9 @@ export interface CreateDeviceRequest { SerialNumber?: string; /** - *

                                                        The tags to apply to the resource during creation.

                                                        + *

                                                        The type of the device.

                                                        */ - Tags?: Tag[]; + Type?: string; /** *

                                                        The ID of the site.

                                                        @@ -443,15 +447,9 @@ export interface CreateDeviceRequest { SiteId?: string; /** - *

                                                        The type of the device.

                                                        - */ - Type?: string; - - /** - *

                                                        A description of the device.

                                                        - *

                                                        Length Constraints: Maximum length of 256 characters.

                                                        + *

                                                        The tags to apply to the resource during creation.

                                                        */ - Description?: string; + Tags?: Tag[]; /** *

                                                        The location of the device.

                                                        @@ -459,10 +457,10 @@ export interface CreateDeviceRequest { Location?: Location; /** - *

                                                        The model of the device.

                                                        - *

                                                        Length Constraints: Maximum length of 128 characters.

                                                        + *

                                                        A description of the device.

                                                        + *

                                                        Length Constraints: Maximum length of 256 characters.

                                                        */ - Model?: string; + Description?: string; /** *

                                                        The vendor of the device.

                                                        @@ -504,14 +502,19 @@ export interface Device { DeviceId?: string; /** - *

                                                        The ID of the global network.

                                                        + *

                                                        The device model.

                                                        */ - GlobalNetworkId?: string; + Model?: string; /** - *

                                                        The device model.

                                                        + *

                                                        The device vendor.

                                                        */ - Model?: string; + Vendor?: string; + + /** + *

                                                        The ID of the global network.

                                                        + */ + GlobalNetworkId?: string; /** *

                                                        The description of the device.

                                                        @@ -524,9 +527,9 @@ export interface Device { SerialNumber?: string; /** - *

                                                        The tags for the device.

                                                        + *

                                                        The site ID.

                                                        */ - Tags?: Tag[]; + SiteId?: string; /** *

                                                        The device type.

                                                        @@ -534,9 +537,9 @@ export interface Device { Type?: string; /** - *

                                                        The site ID.

                                                        + *

                                                        The tags for the device.

                                                        */ - SiteId?: string; + Tags?: Tag[]; /** *

                                                        The site location.

                                                        @@ -548,11 +551,6 @@ export interface Device { */ State?: DeviceState | string; - /** - *

                                                        The device vendor.

                                                        - */ - Vendor?: string; - /** *

                                                        The Amazon Resource Name (ARN) of the device.

                                                        */ @@ -614,9 +612,9 @@ export interface GlobalNetwork { Tags?: Tag[]; /** - *

                                                        The date and time that the global network was created.

                                                        + *

                                                        The state of the global network.

                                                        */ - CreatedAt?: Date; + State?: GlobalNetworkState | string; /** *

                                                        The ID of the global network.

                                                        @@ -629,9 +627,9 @@ export interface GlobalNetwork { Description?: string; /** - *

                                                        The state of the global network.

                                                        + *

                                                        The date and time that the global network was created.

                                                        */ - State?: GlobalNetworkState | string; + CreatedAt?: Date; /** *

                                                        The Amazon Resource Name (ARN) of the global network.

                                                        @@ -660,9 +658,11 @@ export namespace CreateGlobalNetworkResponse { export interface CreateLinkRequest { /** - *

                                                        The tags to apply to the resource during creation.

                                                        + *

                                                        The type of the link.

                                                        + *

                                                        Constraints: Cannot include the following characters: | \ ^

                                                        + *

                                                        Length Constraints: Maximum length of 128 characters.

                                                        */ - Tags?: Tag[]; + Type?: string; /** *

                                                        The ID of the site.

                                                        @@ -670,16 +670,14 @@ export interface CreateLinkRequest { SiteId: string | undefined; /** - *

                                                        The type of the link.

                                                        - *

                                                        Constraints: Cannot include the following characters: | \ ^

                                                        - *

                                                        Length Constraints: Maximum length of 128 characters.

                                                        + *

                                                        The ID of the global network.

                                                        */ - Type?: string; + GlobalNetworkId: string | undefined; /** - *

                                                        The ID of the global network.

                                                        + *

                                                        The tags to apply to the resource during creation.

                                                        */ - GlobalNetworkId: string | undefined; + Tags?: Tag[]; /** *

                                                        The provider of the link.

                                                        @@ -718,24 +716,24 @@ export enum LinkState { */ export interface Link { /** - *

                                                        The date and time that the link was created.

                                                        + *

                                                        The ID of the global network.

                                                        */ - CreatedAt?: Date; + GlobalNetworkId?: string; /** - *

                                                        The description of the link.

                                                        + *

                                                        The date and time that the link was created.

                                                        */ - Description?: string; + CreatedAt?: Date; /** - *

                                                        The ID of the global network.

                                                        + *

                                                        The provider of the link.

                                                        */ - GlobalNetworkId?: string; + Provider?: string; /** - *

                                                        The type of the link.

                                                        + *

                                                        The tags for the link.

                                                        */ - Type?: string; + Tags?: Tag[]; /** *

                                                        The ID of the link.

                                                        @@ -748,14 +746,14 @@ export interface Link { SiteId?: string; /** - *

                                                        The provider of the link.

                                                        + *

                                                        The type of the link.

                                                        */ - Provider?: string; + Type?: string; /** - *

                                                        The tags for the link.

                                                        + *

                                                        The description of the link.

                                                        */ - Tags?: Tag[]; + Description?: string; /** *

                                                        The bandwidth for the link.

                                                        @@ -793,6 +791,12 @@ export namespace CreateLinkResponse { } export interface CreateSiteRequest { + /** + *

                                                        A description of your site.

                                                        + *

                                                        Length Constraints: Maximum length of 256 characters.

                                                        + */ + Description?: string; + /** *

                                                        The site location. This information is used for visualization in the Network Manager console. If you specify the address, the latitude and longitude are automatically calculated.

                                                        *
                                                          @@ -821,12 +825,6 @@ export interface CreateSiteRequest { *

                                                          The ID of the global network.

                                                          */ GlobalNetworkId: string | undefined; - - /** - *

                                                          A description of your site.

                                                          - *

                                                          Length Constraints: Maximum length of 256 characters.

                                                          - */ - Description?: string; } export namespace CreateSiteRequest { @@ -851,31 +849,26 @@ export interface Site { */ State?: SiteState | string; + /** + *

                                                          The description of the site.

                                                          + */ + Description?: string; + /** *

                                                          The location of the site.

                                                          */ Location?: Location; /** - *

                                                          The date and time that the site was created.

                                                          + *

                                                          The tags for the site.

                                                          */ - CreatedAt?: Date; + Tags?: Tag[]; /** *

                                                          The ID of the global network.

                                                          */ GlobalNetworkId?: string; - /** - *

                                                          The description of the site.

                                                          - */ - Description?: string; - - /** - *

                                                          The tags for the site.

                                                          - */ - Tags?: Tag[]; - /** *

                                                          The Amazon Resource Name (ARN) of the site.

                                                          */ @@ -885,6 +878,11 @@ export interface Site { *

                                                          The ID of the site.

                                                          */ SiteId?: string; + + /** + *

                                                          The date and time that the site was created.

                                                          + */ + CreatedAt?: Date; } export namespace Site { @@ -1027,14 +1025,14 @@ export namespace DeleteSiteResponse { export interface DeregisterTransitGatewayRequest { /** - *

                                                          The ID of the global network.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the transit gateway.

                                                          */ - GlobalNetworkId: string | undefined; + TransitGatewayArn: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the transit gateway.

                                                          + *

                                                          The ID of the global network.

                                                          */ - TransitGatewayArn: string | undefined; + GlobalNetworkId: string | undefined; } export namespace DeregisterTransitGatewayRequest { @@ -1112,11 +1110,6 @@ export namespace DeregisterTransitGatewayResponse { } export interface DescribeGlobalNetworksRequest { - /** - *

                                                          The maximum number of results to return.

                                                          - */ - MaxResults?: number; - /** *

                                                          The IDs of one or more global networks. The maximum is 10.

                                                          */ @@ -1126,6 +1119,11 @@ export interface DescribeGlobalNetworksRequest { *

                                                          The token for the next page of results.

                                                          */ NextToken?: string; + + /** + *

                                                          The maximum number of results to return.

                                                          + */ + MaxResults?: number; } export namespace DescribeGlobalNetworksRequest { @@ -1136,14 +1134,14 @@ export namespace DescribeGlobalNetworksRequest { export interface DescribeGlobalNetworksResponse { /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          Information about the global networks.

                                                          */ - NextToken?: string; + GlobalNetworks?: GlobalNetwork[]; /** - *

                                                          Information about the global networks.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - GlobalNetworks?: GlobalNetwork[]; + NextToken?: string; } export namespace DescribeGlobalNetworksResponse { @@ -1185,11 +1183,6 @@ export namespace DisassociateCustomerGatewayResponse { } export interface DisassociateLinkRequest { - /** - *

                                                          The ID of the device.

                                                          - */ - DeviceId: string | undefined; - /** *

                                                          The ID of the link.

                                                          */ @@ -1199,6 +1192,11 @@ export interface DisassociateLinkRequest { *

                                                          The ID of the global network.

                                                          */ GlobalNetworkId: string | undefined; + + /** + *

                                                          The ID of the device.

                                                          + */ + DeviceId: string | undefined; } export namespace DisassociateLinkRequest { @@ -1251,14 +1249,14 @@ export namespace GetCustomerGatewayAssociationsRequest { export interface GetCustomerGatewayAssociationsResponse { /** - *

                                                          The customer gateway associations.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - CustomerGatewayAssociations?: CustomerGatewayAssociation[]; + NextToken?: string; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The customer gateway associations.

                                                          */ - NextToken?: string; + CustomerGatewayAssociations?: CustomerGatewayAssociation[]; } export namespace GetCustomerGatewayAssociationsResponse { @@ -1269,9 +1267,9 @@ export namespace GetCustomerGatewayAssociationsResponse { export interface GetDevicesRequest { /** - *

                                                          The ID of the global network.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - GlobalNetworkId: string | undefined; + NextToken?: string; /** *

                                                          One or more device IDs. The maximum is 10.

                                                          @@ -1289,9 +1287,9 @@ export interface GetDevicesRequest { MaxResults?: number; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The ID of the global network.

                                                          */ - NextToken?: string; + GlobalNetworkId: string | undefined; } export namespace GetDevicesRequest { @@ -1325,14 +1323,14 @@ export interface GetLinkAssociationsRequest { NextToken?: string; /** - *

                                                          The maximum number of results to return.

                                                          + *

                                                          The ID of the device.

                                                          */ - MaxResults?: number; + DeviceId?: string; /** - *

                                                          The ID of the device.

                                                          + *

                                                          The maximum number of results to return.

                                                          */ - DeviceId?: string; + MaxResults?: number; /** *

                                                          The ID of the link.

                                                          @@ -1371,19 +1369,9 @@ export namespace GetLinkAssociationsResponse { export interface GetLinksRequest { /** - *

                                                          The link provider.

                                                          - */ - Provider?: string; - - /** - *

                                                          The ID of the site.

                                                          - */ - SiteId?: string; - - /** - *

                                                          The link type.

                                                          + *

                                                          One or more link IDs. The maximum is 10.

                                                          */ - Type?: string; + LinkIds?: string[]; /** *

                                                          The ID of the global network.

                                                          @@ -1401,9 +1389,19 @@ export interface GetLinksRequest { MaxResults?: number; /** - *

                                                          One or more link IDs. The maximum is 10.

                                                          + *

                                                          The ID of the site.

                                                          */ - LinkIds?: string[]; + SiteId?: string; + + /** + *

                                                          The link type.

                                                          + */ + Type?: string; + + /** + *

                                                          The link provider.

                                                          + */ + Provider?: string; } export namespace GetLinksRequest { @@ -1414,14 +1412,14 @@ export namespace GetLinksRequest { export interface GetLinksResponse { /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The links.

                                                          */ - NextToken?: string; + Links?: Link[]; /** - *

                                                          The links.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - Links?: Link[]; + NextToken?: string; } export namespace GetLinksResponse { @@ -1431,6 +1429,11 @@ export namespace GetLinksResponse { } export interface GetSitesRequest { + /** + *

                                                          One or more site IDs. The maximum is 10.

                                                          + */ + SiteIds?: string[]; + /** *

                                                          The maximum number of results to return.

                                                          */ @@ -1445,11 +1448,6 @@ export interface GetSitesRequest { *

                                                          The ID of the global network.

                                                          */ GlobalNetworkId: string | undefined; - - /** - *

                                                          One or more site IDs. The maximum is 10.

                                                          - */ - SiteIds?: string[]; } export namespace GetSitesRequest { @@ -1478,9 +1476,9 @@ export namespace GetSitesResponse { export interface GetTransitGatewayRegistrationsRequest { /** - *

                                                          The maximum number of results to return.

                                                          + *

                                                          The ID of the global network.

                                                          */ - MaxResults?: number; + GlobalNetworkId: string | undefined; /** *

                                                          The Amazon Resource Names (ARNs) of one or more transit gateways. The maximum is @@ -1489,14 +1487,14 @@ export interface GetTransitGatewayRegistrationsRequest { TransitGatewayArns?: string[]; /** - *

                                                          The ID of the global network.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - GlobalNetworkId: string | undefined; + NextToken?: string; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The maximum number of results to return.

                                                          */ - NextToken?: string; + MaxResults?: number; } export namespace GetTransitGatewayRegistrationsRequest { @@ -1635,15 +1633,10 @@ export namespace UntagResourceResponse { export interface UpdateDeviceRequest { /** - *

                                                          The serial number of the device.

                                                          + *

                                                          The vendor of the device.

                                                          *

                                                          Length Constraints: Maximum length of 128 characters.

                                                          */ - SerialNumber?: string; - - /** - *

                                                          The ID of the site.

                                                          - */ - SiteId?: string; + Vendor?: string; /** *

                                                          The type of the device.

                                                          @@ -1651,15 +1644,9 @@ export interface UpdateDeviceRequest { Type?: string; /** - *

                                                          The ID of the global network.

                                                          - */ - GlobalNetworkId: string | undefined; - - /** - *

                                                          The vendor of the device.

                                                          - *

                                                          Length Constraints: Maximum length of 128 characters.

                                                          + *

                                                          The ID of the site.

                                                          */ - Vendor?: string; + SiteId?: string; /** *

                                                          Describes a location.

                                                          @@ -1672,12 +1659,23 @@ export interface UpdateDeviceRequest { */ Description?: string; + /** + *

                                                          The ID of the global network.

                                                          + */ + GlobalNetworkId: string | undefined; + /** *

                                                          The model of the device.

                                                          *

                                                          Length Constraints: Maximum length of 128 characters.

                                                          */ Model?: string; + /** + *

                                                          The serial number of the device.

                                                          + *

                                                          Length Constraints: Maximum length of 128 characters.

                                                          + */ + SerialNumber?: string; + /** *

                                                          The ID of the device.

                                                          */ @@ -1704,16 +1702,16 @@ export namespace UpdateDeviceResponse { } export interface UpdateGlobalNetworkRequest { - /** - *

                                                          The ID of your global network.

                                                          - */ - GlobalNetworkId: string | undefined; - /** *

                                                          A description of the global network.

                                                          *

                                                          Length Constraints: Maximum length of 256 characters.

                                                          */ Description?: string; + + /** + *

                                                          The ID of your global network.

                                                          + */ + GlobalNetworkId: string | undefined; } export namespace UpdateGlobalNetworkRequest { @@ -1752,17 +1750,17 @@ export interface UpdateLinkRequest { */ Type?: string; - /** - *

                                                          The ID of the global network.

                                                          - */ - GlobalNetworkId: string | undefined; - /** *

                                                          The provider of the link.

                                                          *

                                                          Length Constraints: Maximum length of 128 characters.

                                                          */ Provider?: string; + /** + *

                                                          The ID of the global network.

                                                          + */ + GlobalNetworkId: string | undefined; + /** *

                                                          A description of the link.

                                                          *

                                                          Length Constraints: Maximum length of 256 characters.

                                                          @@ -1790,11 +1788,6 @@ export namespace UpdateLinkResponse { } export interface UpdateSiteRequest { - /** - *

                                                          The ID of the global network.

                                                          - */ - GlobalNetworkId: string | undefined; - /** *

                                                          The ID of your site.

                                                          */ @@ -1824,6 +1817,11 @@ export interface UpdateSiteRequest { *

                                                          Length Constraints: Maximum length of 256 characters.

                                                          */ Description?: string; + + /** + *

                                                          The ID of the global network.

                                                          + */ + GlobalNetworkId: string | undefined; } export namespace UpdateSiteRequest { diff --git a/clients/client-networkmanager/protocols/Aws_restJson1.ts b/clients/client-networkmanager/protocols/Aws_restJson1.ts index 2d31ae9672d6..7f2c54f176d4 100644 --- a/clients/client-networkmanager/protocols/Aws_restJson1.ts +++ b/clients/client-networkmanager/protocols/Aws_restJson1.ts @@ -457,15 +457,6 @@ export const serializeAws_restJson1DeregisterTransitGatewayCommand = async ( "Content-Type": "", }; let resolvedPath = "/global-networks/{GlobalNetworkId}/transit-gateway-registrations/{TransitGatewayArn}"; - if (input.GlobalNetworkId !== undefined) { - const labelValue: string = input.GlobalNetworkId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: GlobalNetworkId."); - } - resolvedPath = resolvedPath.replace("{GlobalNetworkId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: GlobalNetworkId."); - } if (input.TransitGatewayArn !== undefined) { const labelValue: string = input.TransitGatewayArn; if (labelValue.length <= 0) { @@ -475,6 +466,15 @@ export const serializeAws_restJson1DeregisterTransitGatewayCommand = async ( } else { throw new Error("No value provided for input HTTP label: TransitGatewayArn."); } + if (input.GlobalNetworkId !== undefined) { + const labelValue: string = input.GlobalNetworkId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: GlobalNetworkId."); + } + resolvedPath = resolvedPath.replace("{GlobalNetworkId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: GlobalNetworkId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -497,11 +497,11 @@ export const serializeAws_restJson1DescribeGlobalNetworksCommand = async ( }; let resolvedPath = "/global-networks"; const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.GlobalNetworkIds !== undefined && { globalNetworkIds: (input.GlobalNetworkIds || []).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(); @@ -574,8 +574,8 @@ export const serializeAws_restJson1DisassociateLinkCommand = async ( throw new Error("No value provided for input HTTP label: GlobalNetworkId."); } const query: any = { - ...(input.DeviceId !== undefined && { deviceId: input.DeviceId }), ...(input.LinkId !== undefined && { linkId: input.LinkId }), + ...(input.DeviceId !== undefined && { deviceId: input.DeviceId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -647,10 +647,10 @@ export const serializeAws_restJson1GetDevicesCommand = async ( throw new Error("No value provided for input HTTP label: GlobalNetworkId."); } const query: any = { + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.DeviceIds !== undefined && { deviceIds: (input.DeviceIds || []).map((_entry) => _entry) }), ...(input.SiteId !== undefined && { siteId: input.SiteId }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -685,8 +685,8 @@ export const serializeAws_restJson1GetLinkAssociationsCommand = async ( } const query: any = { ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.DeviceId !== undefined && { deviceId: input.DeviceId }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.LinkId !== undefined && { linkId: input.LinkId }), }; let body: any; @@ -721,12 +721,12 @@ export const serializeAws_restJson1GetLinksCommand = async ( throw new Error("No value provided for input HTTP label: GlobalNetworkId."); } const query: any = { - ...(input.Provider !== undefined && { provider: input.Provider }), - ...(input.SiteId !== undefined && { siteId: input.SiteId }), - ...(input.Type !== undefined && { type: input.Type }), + ...(input.LinkIds !== undefined && { linkIds: (input.LinkIds || []).map((_entry) => _entry) }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), - ...(input.LinkIds !== undefined && { linkIds: (input.LinkIds || []).map((_entry) => _entry) }), + ...(input.SiteId !== undefined && { siteId: input.SiteId }), + ...(input.Type !== undefined && { type: input.Type }), + ...(input.Provider !== undefined && { provider: input.Provider }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -760,9 +760,9 @@ export const serializeAws_restJson1GetSitesCommand = async ( throw new Error("No value provided for input HTTP label: GlobalNetworkId."); } const query: any = { + ...(input.SiteIds !== undefined && { siteIds: (input.SiteIds || []).map((_entry) => _entry) }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.SiteIds !== undefined && { siteIds: (input.SiteIds || []).map((_entry) => _entry) }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -796,11 +796,11 @@ export const serializeAws_restJson1GetTransitGatewayRegistrationsCommand = async throw new Error("No value provided for input HTTP label: GlobalNetworkId."); } const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.TransitGatewayArns !== undefined && { transitGatewayArns: (input.TransitGatewayArns || []).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(); @@ -1080,15 +1080,6 @@ export const serializeAws_restJson1UpdateSiteCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/global-networks/{GlobalNetworkId}/sites/{SiteId}"; - if (input.GlobalNetworkId !== undefined) { - const labelValue: string = input.GlobalNetworkId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: GlobalNetworkId."); - } - resolvedPath = resolvedPath.replace("{GlobalNetworkId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: GlobalNetworkId."); - } if (input.SiteId !== undefined) { const labelValue: string = input.SiteId; if (labelValue.length <= 0) { @@ -1098,6 +1089,15 @@ export const serializeAws_restJson1UpdateSiteCommand = async ( } else { throw new Error("No value provided for input HTTP label: SiteId."); } + if (input.GlobalNetworkId !== undefined) { + const labelValue: string = input.GlobalNetworkId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: GlobalNetworkId."); + } + resolvedPath = resolvedPath.replace("{GlobalNetworkId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: GlobalNetworkId."); + } let body: any; body = JSON.stringify({ ...(input.Description !== undefined && { Description: input.Description }), diff --git a/clients/client-opsworks/models/models_0.ts b/clients/client-opsworks/models/models_0.ts index 2d6d50b31af4..ca4bc18f7eba 100644 --- a/clients/client-opsworks/models/models_0.ts +++ b/clients/client-opsworks/models/models_0.ts @@ -51,11 +51,6 @@ export type SourceType = "archive" | "git" | "s3" | "svn"; * Cookbooks.

                                                          */ export interface Source { - /** - *

                                                          The application's version. AWS OpsWorks Stacks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.

                                                          - */ - Revision?: string; - /** *

                                                          This parameter depends on the repository type.

                                                          *
                                                            @@ -76,12 +71,6 @@ export interface Source { */ Type?: SourceType | string; - /** - *

                                                            In requests, the repository's SSH key.

                                                            - *

                                                            In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

                                                            - */ - SshKey?: string; - /** *

                                                            The source URL. The following is an example of an Amazon S3 source URL: https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

                                                            */ @@ -103,6 +92,17 @@ export interface Source { *

                                                            In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

                                                            */ Password?: string; + + /** + *

                                                            In requests, the repository's SSH key.

                                                            + *

                                                            In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

                                                            + */ + SshKey?: string; + + /** + *

                                                            The application's version. AWS OpsWorks Stacks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.

                                                            + */ + Revision?: string; } export namespace Source { @@ -145,9 +145,12 @@ export namespace DataSource { */ export interface EnvironmentVariable { /** - *

                                                            (Required) The environment variable's name, which can consist of up to 64 characters and must be specified. The name can contain upper- and lowercase letters, numbers, and underscores (_), but it must start with a letter or underscore.

                                                            + *

                                                            (Optional) Whether the variable's value will be returned by the DescribeApps action. + * To conceal an environment variable's value, set Secure to true. + * DescribeApps then returns *****FILTERED***** instead of the actual + * value. The default value for Secure is false.

                                                            */ - Key: string | undefined; + Secure?: boolean; /** *

                                                            (Optional) The environment variable's value, which can be left empty. If you specify a value, it can contain up to 256 characters, which must all be printable.

                                                            @@ -155,12 +158,9 @@ export interface EnvironmentVariable { Value: string | undefined; /** - *

                                                            (Optional) Whether the variable's value will be returned by the DescribeApps action. - * To conceal an environment variable's value, set Secure to true. - * DescribeApps then returns *****FILTERED***** instead of the actual - * value. The default value for Secure is false.

                                                            + *

                                                            (Required) The environment variable's name, which can consist of up to 64 characters and must be specified. The name can contain upper- and lowercase letters, numbers, and underscores (_), but it must start with a letter or underscore.

                                                            */ - Secure?: boolean; + Key: string | undefined; } export namespace EnvironmentVariable { @@ -174,14 +174,14 @@ export namespace EnvironmentVariable { */ export interface SslConfiguration { /** - *

                                                            The contents of the certificate's domain.crt file.

                                                            + *

                                                            The private key; the contents of the certificate's domain.kex file.

                                                            */ - Certificate: string | undefined; + PrivateKey: string | undefined; /** - *

                                                            The private key; the contents of the certificate's domain.kex file.

                                                            + *

                                                            The contents of the certificate's domain.crt file.

                                                            */ - PrivateKey: string | undefined; + Certificate: string | undefined; /** *

                                                            Optional. Can be used to specify an intermediate certificate authority key or client authentication.

                                                            @@ -202,19 +202,9 @@ export type AppType = "aws-flow-ruby" | "java" | "nodejs" | "other" | "php" | "r */ export interface App { /** - *

                                                            Whether to enable SSL for the app.

                                                            - */ - EnableSsl?: boolean; - - /** - *

                                                            When the app was created.

                                                            - */ - CreatedAt?: string; - - /** - *

                                                            A description of the app.

                                                            + *

                                                            The app's data sources.

                                                            */ - Description?: string; + DataSources?: DataSource[]; /** *

                                                            The app ID.

                                                            @@ -222,9 +212,11 @@ export interface App { AppId?: string; /** - *

                                                            The app stack ID.

                                                            + *

                                                            The app vhost settings with multiple domains separated by commas. For example: + * 'www.example.com, example.com' + *

                                                            */ - StackId?: string; + Domains?: string[]; /** *

                                                            The app type.

                                                            @@ -236,37 +228,25 @@ export interface App { */ Shortname?: string; - /** - *

                                                            An SslConfiguration object with the SSL configuration.

                                                            - */ - SslConfiguration?: SslConfiguration; - /** *

                                                            A Source object that describes the app repository.

                                                            */ AppSource?: Source; /** - *

                                                            An array of EnvironmentVariable objects that specify environment variables to be - * associated with the app. After you deploy the app, these variables are defined on the - * associated app server instances. For more information, see Environment Variables.

                                                            - * - *

                                                            There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variable names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases, but if you do exceed it, you will cause an exception (API) with an "Environment: is too large (maximum is 20 KB)" message.

                                                            - *
                                                            + *

                                                            An SslConfiguration object with the SSL configuration.

                                                            */ - Environment?: EnvironmentVariable[]; + SslConfiguration?: SslConfiguration; /** - *

                                                            The app vhost settings with multiple domains separated by commas. For example: - * 'www.example.com, example.com' - *

                                                            + *

                                                            Whether to enable SSL for the app.

                                                            */ - Domains?: string[]; + EnableSsl?: boolean; /** - *

                                                            The app's data sources.

                                                            + *

                                                            The app stack ID.

                                                            */ - DataSources?: DataSource[]; + StackId?: string; /** *

                                                            The app name.

                                                            @@ -277,6 +257,26 @@ export interface App { *

                                                            The stack attributes.

                                                            */ Attributes?: { [key: string]: string }; + + /** + *

                                                            An array of EnvironmentVariable objects that specify environment variables to be + * associated with the app. After you deploy the app, these variables are defined on the + * associated app server instances. For more information, see Environment Variables.

                                                            + * + *

                                                            There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variable names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases, but if you do exceed it, you will cause an exception (API) with an "Environment: is too large (maximum is 20 KB)" message.

                                                            + *
                                                            + */ + Environment?: EnvironmentVariable[]; + + /** + *

                                                            A description of the app.

                                                            + */ + Description?: string; + + /** + *

                                                            When the app was created.

                                                            + */ + CreatedAt?: string; } export namespace App { @@ -343,14 +343,14 @@ export namespace ValidationException { export interface AssignVolumeRequest { /** - *

                                                            The volume ID.

                                                            + *

                                                            The instance ID.

                                                            */ - VolumeId: string | undefined; + InstanceId?: string; /** - *

                                                            The instance ID.

                                                            + *

                                                            The volume ID.

                                                            */ - InstanceId?: string; + VolumeId: string | undefined; } export namespace AssignVolumeRequest { @@ -399,21 +399,6 @@ export namespace AttachElasticLoadBalancerRequest { *

                                                            Describes a load-based auto scaling upscaling or downscaling threshold configuration, which specifies when AWS OpsWorks Stacks starts or stops load-based instances.

                                                            */ export interface AutoScalingThresholds { - /** - *

                                                            The number of instances to add or remove when the load exceeds a threshold.

                                                            - */ - InstanceCount?: number; - - /** - *

                                                            The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.

                                                            - */ - CpuThreshold?: number; - - /** - *

                                                            The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.

                                                            - */ - ThresholdsWaitTime?: number; - /** *

                                                            The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics * and suppress additional scaling events. For example, AWS OpsWorks Stacks adds new instances following @@ -424,11 +409,6 @@ export interface AutoScalingThresholds { */ IgnoreMetricsTime?: number; - /** - *

                                                            The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.

                                                            - */ - MemoryThreshold?: number; - /** *

                                                            Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, * which are case sensitive and must be in the same region as the stack.

                                                            @@ -441,10 +421,30 @@ export interface AutoScalingThresholds { */ Alarms?: string[]; + /** + *

                                                            The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.

                                                            + */ + MemoryThreshold?: number; + + /** + *

                                                            The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.

                                                            + */ + ThresholdsWaitTime?: number; + + /** + *

                                                            The number of instances to add or remove when the load exceeds a threshold.

                                                            + */ + InstanceCount?: number; + /** *

                                                            The load threshold. A value of -1 disables the threshold. For more information about how load is computed, see Load (computing).

                                                            */ LoadThreshold?: number; + + /** + *

                                                            The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.

                                                            + */ + CpuThreshold?: number; } export namespace AutoScalingThresholds { @@ -462,6 +462,17 @@ export type VolumeType = "gp2" | "io1" | "standard"; * data type.

                                                            */ export interface EbsBlockDevice { + /** + *

                                                            The snapshot ID.

                                                            + */ + SnapshotId?: string; + + /** + *

                                                            The number of I/O operations per second (IOPS) that the volume supports. For more + * information, see EbsBlockDevice.

                                                            + */ + Iops?: number; + /** *

                                                            The volume type. gp2 for General Purpose (SSD) volumes, io1 for * Provisioned IOPS (SSD) volumes, st1 for Throughput Optimized hard disk drives (HDD), sc1 for Cold HDD,and standard for Magnetic volumes.

                                                            @@ -480,17 +491,6 @@ export interface EbsBlockDevice { *

                                                            Whether the volume is deleted on instance termination.

                                                            */ DeleteOnTermination?: boolean; - - /** - *

                                                            The number of I/O operations per second (IOPS) that the volume supports. For more - * information, see EbsBlockDevice.

                                                            - */ - Iops?: number; - - /** - *

                                                            The snapshot ID.

                                                            - */ - SnapshotId?: string; } export namespace EbsBlockDevice { @@ -504,14 +504,11 @@ export namespace EbsBlockDevice { */ export interface BlockDeviceMapping { /** - *

                                                            The virtual device name. For more information, see BlockDeviceMapping.

                                                            - */ - VirtualName?: string; - - /** - *

                                                            Suppresses the specified device included in the AMI's block device mapping.

                                                            + *

                                                            The device name that is exposed to the instance, such as /dev/sdh. For the root + * device, you can use the explicit device name or you can set this parameter to + * ROOT_DEVICE and AWS OpsWorks Stacks will provide the correct device name.

                                                            */ - NoDevice?: string; + DeviceName?: string; /** *

                                                            An EBSBlockDevice that defines how to configure an Amazon EBS volume when the @@ -520,11 +517,14 @@ export interface BlockDeviceMapping { Ebs?: EbsBlockDevice; /** - *

                                                            The device name that is exposed to the instance, such as /dev/sdh. For the root - * device, you can use the explicit device name or you can set this parameter to - * ROOT_DEVICE and AWS OpsWorks Stacks will provide the correct device name.

                                                            + *

                                                            The virtual device name. For more information, see BlockDeviceMapping.

                                                            */ - DeviceName?: string; + VirtualName?: string; + + /** + *

                                                            Suppresses the specified device included in the AMI's block device mapping.

                                                            + */ + NoDevice?: string; } export namespace BlockDeviceMapping { @@ -538,14 +538,14 @@ export namespace BlockDeviceMapping { */ export interface ChefConfiguration { /** - *

                                                            The Berkshelf version.

                                                            + *

                                                            Whether to enable Berkshelf.

                                                            */ - BerkshelfVersion?: string; + ManageBerkshelf?: boolean; /** - *

                                                            Whether to enable Berkshelf.

                                                            + *

                                                            The Berkshelf version.

                                                            */ - ManageBerkshelf?: boolean; + BerkshelfVersion?: string; } export namespace ChefConfiguration { @@ -560,133 +560,42 @@ export type RootDeviceType = "ebs" | "instance-store"; export interface CloneStackRequest { /** - *

                                                            The default AWS OpsWorks Stacks agent version. You have the following options:

                                                            - *
                                                              - *
                                                            • - *

                                                              Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks - * automatically installs new agent versions on the stack's instances as soon as - * they are available.

                                                              - *
                                                            • - *
                                                            • - *

                                                              Fixed version - Set this parameter to your preferred agent version. To update - * the agent version, you must edit the stack configuration and specify a new version. - * AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

                                                              - *
                                                            • - *
                                                            - *

                                                            The default setting is LATEST. To specify an agent version, - * you must use the complete version number, not the abbreviated number shown on the console. - * For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

                                                            - * - *

                                                            You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

                                                            - *
                                                            + *

                                                            A list of source stack app IDs to be included in the cloned stack.

                                                            */ - AgentVersion?: string; + CloneAppIds?: string[]; /** - *

                                                            Whether to use custom cookbooks.

                                                            + *

                                                            A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

                                                            + *

                                                            + * "{\"key1\": \"value1\", \"key2\": \"value2\",...}" + *

                                                            + *

                                                            For more information about custom JSON, see Use Custom JSON to + * Modify the Stack Configuration Attributes + *

                                                            */ - UseCustomCookbooks?: boolean; + CustomJson?: string; /** - *

                                                            The stack's operating system, which must be set to one of the following.

                                                            - *
                                                              - *
                                                            • - *

                                                              A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux - * 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

                                                              - *
                                                            • - *
                                                            • - *

                                                              A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * CentOS Linux 7 - *

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * Red Hat Enterprise Linux 7 - *

                                                              - *
                                                            • - *
                                                            • - *

                                                              - * Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, - * Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

                                                              - *
                                                            • - *
                                                            • - *

                                                              A custom AMI: Custom. You specify the custom AMI you want to use when - * you create instances. For more information about how to use custom AMIs with OpsWorks, see Using - * Custom AMIs.

                                                              - *
                                                            • - *
                                                            - *

                                                            The default option is the parent stack's operating system. - * For more information about supported operating systems, - * see AWS OpsWorks Stacks Operating Systems.

                                                            - * - *

                                                            You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.

                                                            - *
                                                            - */ - DefaultOs?: string; - - /** - *

                                                            The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS - * resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an - * existing IAM role. If you create a stack by using the AWS OpsWorks Stacks console, it creates the role for - * you. You can obtain an existing stack's IAM ARN programmatically by calling - * DescribePermissions. For more information about IAM ARNs, see Using - * Identifiers.

                                                            - * - *

                                                            You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly.

                                                            - *
                                                            - */ - ServiceRoleArn: string | undefined; - - /** - *

                                                            The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. - * For more information about IAM ARNs, see Using - * Identifiers.

                                                            - */ - DefaultInstanceProfileArn?: string; - - /** - *

                                                            A list of stack attributes and values as key/value pairs to be added to the cloned stack.

                                                            - */ - Attributes?: { [key: string]: string }; - - /** - *

                                                            Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

                                                            - *

                                                            AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are - * associated with layers by default. With UseOpsworksSecurityGroups you can instead - * provide your own custom security groups. UseOpsworksSecurityGroups has the - * following settings:

                                                            - *
                                                              - *
                                                            • - *

                                                              True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.

                                                              - *
                                                            • - *
                                                            • - *

                                                              False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

                                                              - *
                                                            • - *
                                                            - *

                                                            For more information, see Create a New - * Stack.

                                                            + *

                                                            Contains the information required to retrieve an app or cookbook from a repository. For more information, + * see Adding Apps or Cookbooks and Recipes.

                                                            */ - UseOpsworksSecurityGroups?: boolean; + CustomCookbooksSource?: Source; /** - *

                                                            A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

                                                            - *

                                                            - * "{\"key1\": \"value1\", \"key2\": \"value2\",...}" - *

                                                            - *

                                                            For more information about custom JSON, see Use Custom JSON to - * Modify the Stack Configuration Attributes - *

                                                            + *

                                                            A ChefConfiguration object that specifies whether to enable Berkshelf and the + * Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

                                                            */ - CustomJson?: string; + ChefConfiguration?: ChefConfiguration; /** - *

                                                            The cloned stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see - * Regions and Endpoints.

                                                            + *

                                                            The stack's default VPC subnet ID. This parameter is required if you specify a value for the + * VpcId parameter. All instances are launched into this subnet unless you specify + * otherwise when you create the instance. If you also specify a value for + * DefaultAvailabilityZone, the subnet must be in that zone. For information on + * default values and when this parameter is required, see the VpcId parameter + * description.

                                                            */ - Region?: string; + DefaultSubnetId?: string; /** *

                                                            A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS @@ -700,68 +609,23 @@ export interface CloneStackRequest { DefaultSshKeyName?: string; /** - *

                                                            The stack's default VPC subnet ID. This parameter is required if you specify a value for the - * VpcId parameter. All instances are launched into this subnet unless you specify - * otherwise when you create the instance. If you also specify a value for - * DefaultAvailabilityZone, the subnet must be in that zone. For information on - * default values and when this parameter is required, see the VpcId parameter - * description.

                                                            - */ - DefaultSubnetId?: string; - - /** - *

                                                            Contains the information required to retrieve an app or cookbook from a repository. For more information, - * see Adding Apps or Cookbooks and Recipes.

                                                            + *

                                                            The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS + * resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an + * existing IAM role. If you create a stack by using the AWS OpsWorks Stacks console, it creates the role for + * you. You can obtain an existing stack's IAM ARN programmatically by calling + * DescribePermissions. For more information about IAM ARNs, see Using + * Identifiers.

                                                            + * + *

                                                            You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly.

                                                            + *
                                                            */ - CustomCookbooksSource?: Source; + ServiceRoleArn: string | undefined; /** *

                                                            The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.

                                                            */ ConfigurationManager?: StackConfigurationManager; - /** - *

                                                            A list of source stack app IDs to be included in the cloned stack.

                                                            - */ - CloneAppIds?: string[]; - - /** - *

                                                            The default root device type. This value is used by default for all instances in the cloned - * stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

                                                            - */ - DefaultRootDeviceType?: RootDeviceType | string; - - /** - *

                                                            The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All - * instances are launched into this VPC, and you cannot change the ID later.

                                                            - *
                                                              - *
                                                            • - *

                                                              If your account supports EC2 Classic, the default value is no VPC.

                                                              - *
                                                            • - *
                                                            • - *

                                                              If your account does not support EC2 Classic, the default value is the default VPC for the specified region.

                                                              - *
                                                            • - *
                                                            - *

                                                            If the VPC ID corresponds to a default VPC and you have specified either the - * DefaultAvailabilityZone or the DefaultSubnetId parameter only, - * AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets - * these parameters to the first valid Availability Zone for the specified region and the - * corresponding default VPC subnet ID, respectively.

                                                            - *

                                                            If you specify a nondefault VPC ID, note the following:

                                                            - *
                                                              - *
                                                            • - *

                                                              It must belong to a VPC in your account that is in the specified region.

                                                              - *
                                                            • - *
                                                            • - *

                                                              You must specify a value for DefaultSubnetId.

                                                              - *
                                                            • - *
                                                            - *

                                                            For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a - * VPC. For more information about default VPC and EC2 Classic, see Supported - * Platforms.

                                                            - */ - VpcId?: string; - /** *

                                                            The stack's host name theme, with spaces are replaced by underscores. The theme is used to * generate host names for the stack's instances. By default, HostnameTheme is set @@ -830,10 +694,121 @@ export interface CloneStackRequest { HostnameTheme?: string; /** - *

                                                            A ChefConfiguration object that specifies whether to enable Berkshelf and the - * Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

                                                            + *

                                                            The cloned stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see + * Regions and Endpoints.

                                                            */ - ChefConfiguration?: ChefConfiguration; + Region?: string; + + /** + *

                                                            Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

                                                            + *

                                                            AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are + * associated with layers by default. With UseOpsworksSecurityGroups you can instead + * provide your own custom security groups. UseOpsworksSecurityGroups has the + * following settings:

                                                            + *
                                                              + *
                                                            • + *

                                                              True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.

                                                              + *
                                                            • + *
                                                            • + *

                                                              False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

                                                              + *
                                                            • + *
                                                            + *

                                                            For more information, see Create a New + * Stack.

                                                            + */ + UseOpsworksSecurityGroups?: boolean; + + /** + *

                                                            The source stack ID.

                                                            + */ + SourceStackId: string | undefined; + + /** + *

                                                            The cloned stack's default Availability Zone, which must be in the specified region. For more + * information, see Regions and + * Endpoints. If you also specify a value for DefaultSubnetId, the subnet must + * be in the same zone. For more information, see the VpcId parameter description. + *

                                                            + */ + DefaultAvailabilityZone?: string; + + /** + *

                                                            Whether to clone the source stack's permissions.

                                                            + */ + ClonePermissions?: boolean; + + /** + *

                                                            The default AWS OpsWorks Stacks agent version. You have the following options:

                                                            + *
                                                              + *
                                                            • + *

                                                              Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks + * automatically installs new agent versions on the stack's instances as soon as + * they are available.

                                                              + *
                                                            • + *
                                                            • + *

                                                              Fixed version - Set this parameter to your preferred agent version. To update + * the agent version, you must edit the stack configuration and specify a new version. + * AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

                                                              + *
                                                            • + *
                                                            + *

                                                            The default setting is LATEST. To specify an agent version, + * you must use the complete version number, not the abbreviated number shown on the console. + * For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

                                                            + * + *

                                                            You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

                                                            + *
                                                            + */ + AgentVersion?: string; + + /** + *

                                                            A list of stack attributes and values as key/value pairs to be added to the cloned stack.

                                                            + */ + Attributes?: { [key: string]: string }; + + /** + *

                                                            The stack's operating system, which must be set to one of the following.

                                                            + *
                                                              + *
                                                            • + *

                                                              A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux + * 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

                                                              + *
                                                            • + *
                                                            • + *

                                                              A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * CentOS Linux 7 + *

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * Red Hat Enterprise Linux 7 + *

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, + * Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

                                                              + *
                                                            • + *
                                                            • + *

                                                              A custom AMI: Custom. You specify the custom AMI you want to use when + * you create instances. For more information about how to use custom AMIs with OpsWorks, see Using + * Custom AMIs.

                                                              + *
                                                            • + *
                                                            + *

                                                            The default option is the parent stack's operating system. + * For more information about supported operating systems, + * see AWS OpsWorks Stacks Operating Systems.

                                                            + * + *

                                                            You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.

                                                            + *
                                                            + */ + DefaultOs?: string; + + /** + *

                                                            Whether to use custom cookbooks.

                                                            + */ + UseCustomCookbooks?: boolean; /** *

                                                            The cloned stack name.

                                                            @@ -841,23 +816,48 @@ export interface CloneStackRequest { Name?: string; /** - *

                                                            Whether to clone the source stack's permissions.

                                                            + *

                                                            The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All + * instances are launched into this VPC, and you cannot change the ID later.

                                                            + *
                                                              + *
                                                            • + *

                                                              If your account supports EC2 Classic, the default value is no VPC.

                                                              + *
                                                            • + *
                                                            • + *

                                                              If your account does not support EC2 Classic, the default value is the default VPC for the specified region.

                                                              + *
                                                            • + *
                                                            + *

                                                            If the VPC ID corresponds to a default VPC and you have specified either the + * DefaultAvailabilityZone or the DefaultSubnetId parameter only, + * AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets + * these parameters to the first valid Availability Zone for the specified region and the + * corresponding default VPC subnet ID, respectively.

                                                            + *

                                                            If you specify a nondefault VPC ID, note the following:

                                                            + *
                                                              + *
                                                            • + *

                                                              It must belong to a VPC in your account that is in the specified region.

                                                              + *
                                                            • + *
                                                            • + *

                                                              You must specify a value for DefaultSubnetId.

                                                              + *
                                                            • + *
                                                            + *

                                                            For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a + * VPC. For more information about default VPC and EC2 Classic, see Supported + * Platforms.

                                                            */ - ClonePermissions?: boolean; + VpcId?: string; /** - *

                                                            The source stack ID.

                                                            + *

                                                            The default root device type. This value is used by default for all instances in the cloned + * stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

                                                            */ - SourceStackId: string | undefined; + DefaultRootDeviceType?: RootDeviceType | string; /** - *

                                                            The cloned stack's default Availability Zone, which must be in the specified region. For more - * information, see Regions and - * Endpoints. If you also specify a value for DefaultSubnetId, the subnet must - * be in the same zone. For more information, see the VpcId parameter description. - *

                                                            + *

                                                            The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. + * For more information about IAM ARNs, see Using + * Identifiers.

                                                            */ - DefaultAvailabilityZone?: string; + DefaultInstanceProfileArn?: string; } export namespace CloneStackRequest { @@ -985,15 +985,9 @@ export type CloudWatchLogsTimeZone = "LOCAL" | "UTC"; */ export interface CloudWatchLogsLogStream { /** - *

                                                            Specifies how the time stamp is extracted from logs. For more information, see the - * CloudWatch Logs Agent Reference.

                                                            - */ - DatetimeFormat?: string; - - /** - *

                                                            Specifies the max number of log events in a batch, up to 10000. The default value is 1000.

                                                            + *

                                                            Specifies the time duration for the batching of log events. The minimum value is 5000ms and default value is 5000ms.

                                                            */ - BatchCount?: number; + BufferDuration?: number; /** *

                                                            Specifies log files that you want to push to CloudWatch Logs.

                                                            @@ -1009,28 +1003,15 @@ export interface CloudWatchLogsLogStream { File?: string; /** - *

                                                            Specifies the time duration for the batching of log events. The minimum value is 5000ms and default value is 5000ms.

                                                            - */ - BufferDuration?: number; - - /** - *

                                                            Specifies the encoding of the log file so that the file can be read correctly. - * The default is utf_8. Encodings supported by Python codecs.decode() can be used here.

                                                            + *

                                                            Specifies the max number of log events in a batch, up to 10000. The default value is 1000.

                                                            */ - Encoding?: CloudWatchLogsEncoding | string; + BatchCount?: number; /** *

                                                            Specifies the pattern for identifying the start of a log message.

                                                            */ MultiLineStartPattern?: string; - /** - *

                                                            Specifies the range of lines for identifying a file. The valid values are one number, or two dash-delimited numbers, - * such as '1', '2-5'. The default value is '1', meaning the first line is used to calculate the fingerprint. Fingerprint lines are - * not sent to CloudWatch Logs unless all specified lines are available.

                                                            - */ - FileFingerprintLines?: string; - /** *

                                                            Specifies the destination log group. A log group is created automatically if it doesn't already exist. * Log group names can be between 1 and 512 characters long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), @@ -1045,16 +1026,35 @@ export interface CloudWatchLogsLogStream { */ BatchSize?: number; + /** + *

                                                            Specifies where to start to read data (start_of_file or end_of_file). The default is start_of_file. + * This setting is only used if there is no state persisted for that log stream.

                                                            + */ + InitialPosition?: CloudWatchLogsInitialPosition | string; + /** *

                                                            Specifies the time zone of log event time stamps.

                                                            */ TimeZone?: CloudWatchLogsTimeZone | string; /** - *

                                                            Specifies where to start to read data (start_of_file or end_of_file). The default is start_of_file. - * This setting is only used if there is no state persisted for that log stream.

                                                            + *

                                                            Specifies the range of lines for identifying a file. The valid values are one number, or two dash-delimited numbers, + * such as '1', '2-5'. The default value is '1', meaning the first line is used to calculate the fingerprint. Fingerprint lines are + * not sent to CloudWatch Logs unless all specified lines are available.

                                                            */ - InitialPosition?: CloudWatchLogsInitialPosition | string; + FileFingerprintLines?: string; + + /** + *

                                                            Specifies how the time stamp is extracted from logs. For more information, see the + * CloudWatch Logs Agent Reference.

                                                            + */ + DatetimeFormat?: string; + + /** + *

                                                            Specifies the encoding of the log file so that the file can be read correctly. + * The default is utf_8. Encodings supported by Python codecs.decode() can be used here.

                                                            + */ + Encoding?: CloudWatchLogsEncoding | string; } export namespace CloudWatchLogsLogStream { @@ -1068,14 +1068,14 @@ export namespace CloudWatchLogsLogStream { */ export interface CloudWatchLogsConfiguration { /** - *

                                                            A list of configuration options for CloudWatch Logs.

                                                            + *

                                                            Whether CloudWatch Logs is enabled for a layer.

                                                            */ - LogStreams?: CloudWatchLogsLogStream[]; + Enabled?: boolean; /** - *

                                                            Whether CloudWatch Logs is enabled for a layer.

                                                            + *

                                                            A list of configuration options for CloudWatch Logs.

                                                            */ - Enabled?: boolean; + LogStreams?: CloudWatchLogsLogStream[]; } export namespace CloudWatchLogsConfiguration { @@ -1088,6 +1088,16 @@ export namespace CloudWatchLogsConfiguration { *

                                                            Describes a command.

                                                            */ export interface Command { + /** + *

                                                            The URL of the command log.

                                                            + */ + LogUrl?: string; + + /** + *

                                                            The ID of the instance where the command was executed.

                                                            + */ + InstanceId?: string; + /** *

                                                            Date and time when the command was run.

                                                            */ @@ -1103,6 +1113,16 @@ export interface Command { */ AcknowledgedAt?: string; + /** + *

                                                            The command ID.

                                                            + */ + CommandId?: string; + + /** + *

                                                            Date when the command completed.

                                                            + */ + CompletedAt?: string; + /** *

                                                            The command status:

                                                            *
                                                              @@ -1122,16 +1142,6 @@ export interface Command { */ Status?: string; - /** - *

                                                              The URL of the command log.

                                                              - */ - LogUrl?: string; - - /** - *

                                                              The command deployment ID.

                                                              - */ - DeploymentId?: string; - /** *

                                                              The command type:

                                                              *
                                                                @@ -1200,19 +1210,9 @@ export interface Command { Type?: string; /** - *

                                                                The ID of the instance where the command was executed.

                                                                - */ - InstanceId?: string; - - /** - *

                                                                The command ID.

                                                                - */ - CommandId?: string; - - /** - *

                                                                Date when the command completed.

                                                                + *

                                                                The command deployment ID.

                                                                */ - CompletedAt?: string; + DeploymentId?: string; } export namespace Command { @@ -1223,75 +1223,75 @@ export namespace Command { export interface CreateAppRequest { /** - *

                                                                An SslConfiguration object with the SSL configuration.

                                                                + *

                                                                The app virtual host settings, with multiple domains separated by commas. For example: + * 'www.example.com, example.com' + *

                                                                */ - SslConfiguration?: SslConfiguration; + Domains?: string[]; /** - *

                                                                The app's short name.

                                                                + *

                                                                Whether to enable SSL for the app.

                                                                */ - Shortname?: string; + EnableSsl?: boolean; /** - *

                                                                An array of EnvironmentVariable objects that specify environment variables to be - * associated with the app. After you deploy the app, these variables are defined on the - * associated app server instance. For more information, see Environment Variables.

                                                                - *

                                                                There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, "Environment: is too large (maximum is 20KB)."

                                                                - * - *

                                                                If you have specified one or more environment variables, you cannot modify the stack's Chef version.

                                                                - *
                                                                + *

                                                                The app's short name.

                                                                */ - Environment?: EnvironmentVariable[]; + Shortname?: string; /** - *

                                                                One or more user-defined key/value pairs to be added to the stack attributes.

                                                                + *

                                                                The app name.

                                                                */ - Attributes?: { [key: string]: string }; + Name: string | undefined; /** - *

                                                                A Source object that specifies the app repository.

                                                                + *

                                                                The app type. Each supported type is associated with a particular layer. For example, PHP + * applications are associated with a PHP layer. AWS OpsWorks Stacks deploys an application to those instances + * that are members of the corresponding layer. If your app isn't one of the standard types, or + * you prefer to implement your own Deploy recipes, specify other.

                                                                */ - AppSource?: Source; + Type: AppType | string | undefined; /** - *

                                                                A description of the app.

                                                                + *

                                                                One or more user-defined key/value pairs to be added to the stack attributes.

                                                                */ - Description?: string; + Attributes?: { [key: string]: string }; /** - *

                                                                The app's data source.

                                                                + *

                                                                The stack ID.

                                                                */ - DataSources?: DataSource[]; + StackId: string | undefined; /** - *

                                                                The app type. Each supported type is associated with a particular layer. For example, PHP - * applications are associated with a PHP layer. AWS OpsWorks Stacks deploys an application to those instances - * that are members of the corresponding layer. If your app isn't one of the standard types, or - * you prefer to implement your own Deploy recipes, specify other.

                                                                + *

                                                                A Source object that specifies the app repository.

                                                                */ - Type: AppType | string | undefined; + AppSource?: Source; /** - *

                                                                The app virtual host settings, with multiple domains separated by commas. For example: - * 'www.example.com, example.com' - *

                                                                + *

                                                                An array of EnvironmentVariable objects that specify environment variables to be + * associated with the app. After you deploy the app, these variables are defined on the + * associated app server instance. For more information, see Environment Variables.

                                                                + *

                                                                There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, "Environment: is too large (maximum is 20KB)."

                                                                + * + *

                                                                If you have specified one or more environment variables, you cannot modify the stack's Chef version.

                                                                + *
                                                                */ - Domains?: string[]; + Environment?: EnvironmentVariable[]; /** - *

                                                                The stack ID.

                                                                + *

                                                                A description of the app.

                                                                */ - StackId: string | undefined; + Description?: string; /** - *

                                                                The app name.

                                                                + *

                                                                The app's data source.

                                                                */ - Name: string | undefined; + DataSources?: DataSource[]; /** - *

                                                                Whether to enable SSL for the app.

                                                                + *

                                                                An SslConfiguration object with the SSL configuration.

                                                                */ - EnableSsl?: boolean; + SslConfiguration?: SslConfiguration; } export namespace CreateAppRequest { @@ -1334,35 +1334,6 @@ export type DeploymentCommandName = *

                                                                Used to specify a stack or deployment command.

                                                                */ export interface DeploymentCommand { - /** - *

                                                                The arguments of those commands that take arguments. It should be set to a JSON object with the following format:

                                                                - *

                                                                - * {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], - * ...} - *

                                                                - *

                                                                The update_dependencies command takes two arguments:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * upgrade_os_to - Specifies the desired Amazon Linux version for instances - * whose OS you want to upgrade, such as Amazon Linux 2016.09. You must also set - * the allow_reboot argument to true.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * allow_reboot - Specifies whether to allow AWS OpsWorks Stacks to reboot the instances if - * necessary, after installing the updates. This argument can be set to either - * true or false. The default value is false.

                                                                  - *
                                                                • - *
                                                                - *

                                                                For example, to upgrade an instance to Amazon Linux 2016.09, set Args to the - * following.

                                                                - *

                                                                - * { "upgrade_os_to":["Amazon Linux 2016.09"], "allow_reboot":["true"] } - *

                                                                - */ - Args?: { [key: string]: string[] }; - /** *

                                                                Specifies the operation. You can specify only one command.

                                                                *

                                                                For stacks, the following commands are available:

                                                                @@ -1422,7 +1393,36 @@ export interface DeploymentCommand { * *
                                                              */ - Name: DeploymentCommandName | string | undefined; + Name: DeploymentCommandName | string | undefined; + + /** + *

                                                              The arguments of those commands that take arguments. It should be set to a JSON object with the following format:

                                                              + *

                                                              + * {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], + * ...} + *

                                                              + *

                                                              The update_dependencies command takes two arguments:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * upgrade_os_to - Specifies the desired Amazon Linux version for instances + * whose OS you want to upgrade, such as Amazon Linux 2016.09. You must also set + * the allow_reboot argument to true.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * allow_reboot - Specifies whether to allow AWS OpsWorks Stacks to reboot the instances if + * necessary, after installing the updates. This argument can be set to either + * true or false. The default value is false.

                                                                + *
                                                              • + *
                                                              + *

                                                              For example, to upgrade an instance to Amazon Linux 2016.09, set Args to the + * following.

                                                              + *

                                                              + * { "upgrade_os_to":["Amazon Linux 2016.09"], "allow_reboot":["true"] } + *

                                                              + */ + Args?: { [key: string]: string[] }; } export namespace DeploymentCommand { @@ -1433,24 +1433,30 @@ export namespace DeploymentCommand { export interface CreateDeploymentRequest { /** - *

                                                              The stack ID.

                                                              + *

                                                              A user-defined comment.

                                                              */ - StackId: string | undefined; + Comment?: string; /** - *

                                                              The instance IDs for the deployment targets.

                                                              + *

                                                              The layer IDs for the deployment targets.

                                                              */ - InstanceIds?: string[]; + LayerIds?: string[]; /** - *

                                                              The app ID. This parameter is required for app deployments, but not for other deployment commands.

                                                              + *

                                                              A DeploymentCommand object that specifies the deployment command and any + * associated arguments.

                                                              */ - AppId?: string; + Command: DeploymentCommand | undefined; /** - *

                                                              A user-defined comment.

                                                              + *

                                                              The stack ID.

                                                              */ - Comment?: string; + StackId: string | undefined; + + /** + *

                                                              The app ID. This parameter is required for app deployments, but not for other deployment commands.

                                                              + */ + AppId?: string; /** *

                                                              A string that contains user-defined, custom JSON. You can use this parameter to override some corresponding default stack configuration JSON values. The string should be in the following format:

                                                              @@ -1464,15 +1470,9 @@ export interface CreateDeploymentRequest { CustomJson?: string; /** - *

                                                              A DeploymentCommand object that specifies the deployment command and any - * associated arguments.

                                                              - */ - Command: DeploymentCommand | undefined; - - /** - *

                                                              The layer IDs for the deployment targets.

                                                              + *

                                                              The instance IDs for the deployment targets.

                                                              */ - LayerIds?: string[]; + InstanceIds?: string[]; } export namespace CreateDeploymentRequest { @@ -1499,26 +1499,58 @@ export namespace CreateDeploymentResult { export interface CreateInstanceRequest { /** - *

                                                              The stack ID.

                                                              + *

                                                              The instance architecture. The default option is x86_64. Instance types do not + * necessarily support both architectures. For a list of the architectures that are supported by + * the different instance types, see Instance Families and + * Types.

                                                              */ - StackId: string | undefined; + Architecture?: Architecture | string; /** - *

                                                              An array of BlockDeviceMapping objects that specify the instance's block - * devices. For more information, see Block - * Device Mapping. Note that block device mappings are not supported for custom AMIs.

                                                              + *

                                                              The instance type, such as t2.micro. For a list of supported instance types, + * open the stack in the console, choose Instances, and choose + Instance. + * The Size list contains the currently supported types. For more information, see Instance + * Families and Types. The parameter values that you use to specify the various types are + * in the API Name column of the Available Instance Types table.

                                                              */ - BlockDeviceMappings?: BlockDeviceMapping[]; + InstanceType: string | undefined; /** - *

                                                              The ID of the instance's subnet. If the stack is running in a VPC, you can use this parameter to override the stack's default subnet ID value and direct AWS OpsWorks Stacks to launch the instance in a different subnet.

                                                              + *

                                                              The instance's virtualization type, paravirtual or hvm.

                                                              */ - SubnetId?: string; + VirtualizationType?: string; /** - *

                                                              For load-based or time-based instances, the type. Windows stacks can use only time-based instances.

                                                              + *

                                                              The default AWS OpsWorks Stacks agent version. You have the following options:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * INHERIT - Use the stack's default agent version setting.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * version_number - Use the specified agent version. + * This value overrides the stack's default setting. + * To update the agent version, edit the instance configuration and specify a + * new version. + * AWS OpsWorks Stacks then automatically installs that version on the instance.

                                                                + *
                                                              • + *
                                                              + *

                                                              The default setting is INHERIT. To specify an agent version, + * you must use the complete version number, not the abbreviated number shown on the console. + * For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

                                                              */ - AutoScalingType?: AutoScalingType | string; + AgentVersion?: string; + + /** + *

                                                              The instance's tenancy option. The default option is no tenancy, or if the instance is running in a VPC, inherit tenancy settings from the VPC. The following are valid values for this parameter: dedicated, default, or host. Because there are costs associated with changes in tenancy options, we recommend that you research tenancy options before choosing them for your instances. For more information about dedicated hosts, see Dedicated Hosts Overview and Amazon EC2 Dedicated Hosts. For more information about dedicated instances, see Dedicated Instances and Amazon EC2 Dedicated Instances.

                                                              + */ + Tenancy?: string; + + /** + *

                                                              The instance host name.

                                                              + */ + Hostname?: string; /** *

                                                              The instance's operating system, which must be set to one of the following.

                                                              @@ -1559,33 +1591,40 @@ export interface CreateInstanceRequest { Os?: string; /** - *

                                                              The instance root device type. For more information, see Storage for the Root Device.

                                                              + *

                                                              The ID of the instance's subnet. If the stack is running in a VPC, you can use this parameter to override the stack's default subnet ID value and direct AWS OpsWorks Stacks to launch the instance in a different subnet.

                                                              */ - RootDeviceType?: RootDeviceType | string; + SubnetId?: string; /** - *

                                                              The instance's Amazon EC2 key-pair name.

                                                              + *

                                                              The stack ID.

                                                              */ - SshKeyName?: string; + StackId: string | undefined; /** - *

                                                              The instance's tenancy option. The default option is no tenancy, or if the instance is running in a VPC, inherit tenancy settings from the VPC. The following are valid values for this parameter: dedicated, default, or host. Because there are costs associated with changes in tenancy options, we recommend that you research tenancy options before choosing them for your instances. For more information about dedicated hosts, see Dedicated Hosts Overview and Amazon EC2 Dedicated Hosts. For more information about dedicated instances, see Dedicated Instances and Amazon EC2 Dedicated Instances.

                                                              + *

                                                              Whether to install operating system and package updates when the instance boots. The default + * value is true. To control when updates are installed, set this value to + * false. You must then update your instances manually by using + * CreateDeployment to run the update_dependencies stack command or + * by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the + * instances.

                                                              + * + *

                                                              We strongly recommend using the default value of true to ensure that your + * instances have the latest security updates.

                                                              + *
                                                              */ - Tenancy?: string; + InstallUpdatesOnBoot?: boolean; /** - *

                                                              The instance type, such as t2.micro. For a list of supported instance types, - * open the stack in the console, choose Instances, and choose + Instance. - * The Size list contains the currently supported types. For more information, see Instance - * Families and Types. The parameter values that you use to specify the various types are - * in the API Name column of the Available Instance Types table.

                                                              + *

                                                              An array of BlockDeviceMapping objects that specify the instance's block + * devices. For more information, see Block + * Device Mapping. Note that block device mappings are not supported for custom AMIs.

                                                              */ - InstanceType: string | undefined; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                              An array that contains the instance's layer IDs.

                                                              + *

                                                              The instance's Amazon EC2 key-pair name.

                                                              */ - LayerIds: string[] | undefined; + SshKeyName?: string; /** *

                                                              A custom AMI ID to be used to create the instance. The AMI should be based on one of the @@ -1599,68 +1638,29 @@ export interface CreateInstanceRequest { AmiId?: string; /** - *

                                                              Whether to install operating system and package updates when the instance boots. The default - * value is true. To control when updates are installed, set this value to - * false. You must then update your instances manually by using - * CreateDeployment to run the update_dependencies stack command or - * by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the - * instances.

                                                              - * - *

                                                              We strongly recommend using the default value of true to ensure that your - * instances have the latest security updates.

                                                              - *
                                                              - */ - InstallUpdatesOnBoot?: boolean; - - /** - *

                                                              The instance Availability Zone. For more information, see Regions and Endpoints.

                                                              - */ - AvailabilityZone?: string; - - /** - *

                                                              The instance's virtualization type, paravirtual or hvm.

                                                              + *

                                                              For load-based or time-based instances, the type. Windows stacks can use only time-based instances.

                                                              */ - VirtualizationType?: string; + AutoScalingType?: AutoScalingType | string; /** - *

                                                              The default AWS OpsWorks Stacks agent version. You have the following options:

                                                              - *
                                                                - *
                                                              • - *

                                                                - * INHERIT - Use the stack's default agent version setting.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * version_number - Use the specified agent version. - * This value overrides the stack's default setting. - * To update the agent version, edit the instance configuration and specify a - * new version. - * AWS OpsWorks Stacks then automatically installs that version on the instance.

                                                                - *
                                                              • - *
                                                              - *

                                                              The default setting is INHERIT. To specify an agent version, - * you must use the complete version number, not the abbreviated number shown on the console. - * For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

                                                              + *

                                                              An array that contains the instance's layer IDs.

                                                              */ - AgentVersion?: string; + LayerIds: string[] | undefined; /** - *

                                                              The instance architecture. The default option is x86_64. Instance types do not - * necessarily support both architectures. For a list of the architectures that are supported by - * the different instance types, see Instance Families and - * Types.

                                                              + *

                                                              Whether to create an Amazon EBS-optimized instance.

                                                              */ - Architecture?: Architecture | string; + EbsOptimized?: boolean; /** - *

                                                              Whether to create an Amazon EBS-optimized instance.

                                                              + *

                                                              The instance Availability Zone. For more information, see Regions and Endpoints.

                                                              */ - EbsOptimized?: boolean; + AvailabilityZone?: string; /** - *

                                                              The instance host name.

                                                              + *

                                                              The instance root device type. For more information, see Storage for the Root Device.

                                                              */ - Hostname?: string; + RootDeviceType?: RootDeviceType | string; } export namespace CreateInstanceRequest { @@ -1725,14 +1725,14 @@ export type LayerAttributesKeys = */ export interface Recipes { /** - *

                                                              An array of custom recipe names to be run following a shutdown event.

                                                              + *

                                                              An array of custom recipe names to be run following a deploy event.

                                                              */ - Shutdown?: string[]; + Deploy?: string[]; /** - *

                                                              An array of custom recipe names to be run following a undeploy event.

                                                              + *

                                                              An array of custom recipe names to be run following a configure event.

                                                              */ - Undeploy?: string[]; + Configure?: string[]; /** *

                                                              An array of custom recipe names to be run following a setup event.

                                                              @@ -1740,14 +1740,14 @@ export interface Recipes { Setup?: string[]; /** - *

                                                              An array of custom recipe names to be run following a configure event.

                                                              + *

                                                              An array of custom recipe names to be run following a shutdown event.

                                                              */ - Configure?: string[]; + Shutdown?: string[]; /** - *

                                                              An array of custom recipe names to be run following a deploy event.

                                                              + *

                                                              An array of custom recipe names to be run following a undeploy event.

                                                              */ - Deploy?: string[]; + Undeploy?: string[]; } export namespace Recipes { @@ -1760,16 +1760,16 @@ export namespace Recipes { *

                                                              The Shutdown event configuration.

                                                              */ export interface ShutdownEventConfiguration { - /** - *

                                                              The time, in seconds, that AWS OpsWorks Stacks will wait after triggering a Shutdown event before shutting down an instance.

                                                              - */ - ExecutionTimeout?: number; - /** *

                                                              Whether to enable Elastic Load Balancing connection draining. For more information, see Connection Draining *

                                                              */ DelayUntilElbConnectionsDrained?: boolean; + + /** + *

                                                              The time, in seconds, that AWS OpsWorks Stacks will wait after triggering a Shutdown event before shutting down an instance.

                                                              + */ + ExecutionTimeout?: number; } export namespace ShutdownEventConfiguration { @@ -1813,16 +1813,6 @@ export type LayerType = *

                                                              Describes an Amazon EBS volume configuration.

                                                              */ export interface VolumeConfiguration { - /** - *

                                                              For PIOPS volumes, the IOPS per disk.

                                                              - */ - Iops?: number; - - /** - *

                                                              The volume RAID level.

                                                              - */ - RaidLevel?: number; - /** *

                                                              The volume type. For more information, see * Amazon EBS Volume Types.

                                                              @@ -1851,73 +1841,51 @@ export interface VolumeConfiguration { */ VolumeType?: string; - /** - *

                                                              The volume size.

                                                              - */ - Size: number | undefined; - /** *

                                                              The volume mount point. For example "/dev/sdh".

                                                              */ MountPoint: string | undefined; - /** - *

                                                              Specifies whether an Amazon EBS volume is encrypted. For more information, - * see Amazon EBS Encryption.

                                                              - */ - Encrypted?: boolean; - /** *

                                                              The number of disks in the volume.

                                                              */ NumberOfDisks: number | undefined; -} - -export namespace VolumeConfiguration { - export const filterSensitiveLog = (obj: VolumeConfiguration): any => ({ - ...obj, - }); -} - -export interface CreateLayerRequest { - /** - *

                                                              Whether to use Amazon EBS-optimized instances.

                                                              - */ - UseEbsOptimizedInstances?: boolean; - - /** - *

                                                              The ARN of an IAM profile to be used for the layer's EC2 instances. For more information - * about IAM ARNs, see Using Identifiers.

                                                              - */ - CustomInstanceProfileArn?: string; /** - *

                                                              Whether to disable auto healing for the layer.

                                                              + *

                                                              For PIOPS volumes, the IOPS per disk.

                                                              */ - EnableAutoHealing?: boolean; + Iops?: number; /** - *

                                                              A LifeCycleEventConfiguration object that you can use to configure the Shutdown event to - * specify an execution timeout and enable or disable Elastic Load Balancer connection - * draining.

                                                              + *

                                                              Specifies whether an Amazon EBS volume is encrypted. For more information, + * see Amazon EBS Encryption.

                                                              */ - LifecycleEventConfiguration?: LifecycleEventConfiguration; + Encrypted?: boolean; /** - *

                                                              The layer stack ID.

                                                              + *

                                                              The volume RAID level.

                                                              */ - StackId: string | undefined; + RaidLevel?: number; /** - *

                                                              The layer name, which is used by the console.

                                                              + *

                                                              The volume size.

                                                              */ - Name: string | undefined; + Size: number | undefined; +} +export namespace VolumeConfiguration { + export const filterSensitiveLog = (obj: VolumeConfiguration): any => ({ + ...obj, + }); +} + +export interface CreateLayerRequest { /** - *

                                                              For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef recipes. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters, which are limited to the alphanumeric characters, '-', '_', and '.'.

                                                              - *

                                                              The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference.

                                                              + *

                                                              Whether to automatically assign an Elastic IP + * address to the layer's instances. For more information, see How to Edit + * a Layer.

                                                              */ - Shortname: string | undefined; + AutoAssignElasticIps?: boolean; /** *

                                                              Whether to install operating system and package updates when the instance boots. The default @@ -1933,6 +1901,12 @@ export interface CreateLayerRequest { */ InstallUpdatesOnBoot?: boolean; + /** + *

                                                              One or more user-defined key-value pairs to be added to the stack attributes.

                                                              + *

                                                              To create a cluster layer, set the EcsClusterArn attribute to the cluster's ARN.

                                                              + */ + Attributes?: { [key: string]: string }; + /** *

                                                              Specifies CloudWatch Logs configuration options for the layer. For more information, see CloudWatchLogsLogStream.

                                                              */ @@ -1944,30 +1918,32 @@ export interface CreateLayerRequest { Packages?: string[]; /** - *

                                                              Whether to automatically assign an Elastic IP - * address to the layer's instances. For more information, see How to Edit - * a Layer.

                                                              + *

                                                              The layer name, which is used by the console.

                                                              */ - AutoAssignElasticIps?: boolean; + Name: string | undefined; /** - *

                                                              An array containing the layer custom security group IDs.

                                                              + *

                                                              The ARN of an IAM profile to be used for the layer's EC2 instances. For more information + * about IAM ARNs, see Using Identifiers.

                                                              */ - CustomSecurityGroupIds?: string[]; + CustomInstanceProfileArn?: string; /** - *

                                                              The layer type. A stack cannot have more than one built-in layer of the same type. It can have any number of custom layers. Built-in layers are not available in Chef 12 stacks.

                                                              + *

                                                              A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

                                                              */ - Type: LayerType | string | undefined; + VolumeConfigurations?: VolumeConfiguration[]; /** - *

                                                              A JSON-formatted string containing custom stack configuration and deployment attributes - * to be installed on the layer's instances. For more information, see - * - * Using Custom JSON. This feature is supported as of version 1.7.42 of the AWS CLI. - *

                                                              + *

                                                              Whether to disable auto healing for the layer.

                                                              */ - CustomJson?: string; + EnableAutoHealing?: boolean; + + /** + *

                                                              A LifeCycleEventConfiguration object that you can use to configure the Shutdown event to + * specify an execution timeout and enable or disable Elastic Load Balancer connection + * draining.

                                                              + */ + LifecycleEventConfiguration?: LifecycleEventConfiguration; /** *

                                                              A LayerCustomRecipes object that specifies the layer custom recipes.

                                                              @@ -1975,9 +1951,30 @@ export interface CreateLayerRequest { CustomRecipes?: Recipes; /** - *

                                                              A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

                                                              + *

                                                              For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef recipes. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters, which are limited to the alphanumeric characters, '-', '_', and '.'.

                                                              + *

                                                              The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference.

                                                              */ - VolumeConfigurations?: VolumeConfiguration[]; + Shortname: string | undefined; + + /** + *

                                                              Whether to use Amazon EBS-optimized instances.

                                                              + */ + UseEbsOptimizedInstances?: boolean; + + /** + *

                                                              An array containing the layer custom security group IDs.

                                                              + */ + CustomSecurityGroupIds?: string[]; + + /** + *

                                                              The layer type. A stack cannot have more than one built-in layer of the same type. It can have any number of custom layers. Built-in layers are not available in Chef 12 stacks.

                                                              + */ + Type: LayerType | string | undefined; + + /** + *

                                                              The layer stack ID.

                                                              + */ + StackId: string | undefined; /** *

                                                              For stacks that are running in a VPC, whether to automatically assign a public IP address to @@ -1987,10 +1984,13 @@ export interface CreateLayerRequest { AutoAssignPublicIps?: boolean; /** - *

                                                              One or more user-defined key-value pairs to be added to the stack attributes.

                                                              - *

                                                              To create a cluster layer, set the EcsClusterArn attribute to the cluster's ARN.

                                                              + *

                                                              A JSON-formatted string containing custom stack configuration and deployment attributes + * to be installed on the layer's instances. For more information, see + * + * Using Custom JSON. This feature is supported as of version 1.7.42 of the AWS CLI. + *

                                                              */ - Attributes?: { [key: string]: string }; + CustomJson?: string; } export namespace CreateLayerRequest { @@ -2016,96 +2016,6 @@ export namespace CreateLayerResult { } export interface CreateStackRequest { - /** - *

                                                              Whether the stack uses custom cookbooks.

                                                              - */ - UseCustomCookbooks?: boolean; - - /** - *

                                                              The stack's AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS - * resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an - * existing IAM role. For more information about IAM ARNs, see Using - * Identifiers.

                                                              - */ - ServiceRoleArn: string | undefined; - - /** - *

                                                              The default AWS OpsWorks Stacks agent version. You have the following options:

                                                              - *
                                                                - *
                                                              • - *

                                                                Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks - * automatically installs new agent versions on the stack's instances as soon as - * they are available.

                                                                - *
                                                              • - *
                                                              • - *

                                                                Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

                                                                - *
                                                              • - *
                                                              - *

                                                              The default setting is the most recent release of the agent. To specify an agent version, - * you must use the complete version number, not the abbreviated number shown on the console. - * For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

                                                              - * - *

                                                              You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

                                                              - *
                                                              - */ - AgentVersion?: string; - - /** - *

                                                              Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

                                                              - *

                                                              AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are - * associated with layers by default. With UseOpsworksSecurityGroups you can instead - * provide your own custom security groups. UseOpsworksSecurityGroups has the - * following settings:

                                                              - *
                                                                - *
                                                              • - *

                                                                True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

                                                                - *
                                                              • - *
                                                              • - *

                                                                False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

                                                                - *
                                                              • - *
                                                              - *

                                                              For more information, see Create a New - * Stack.

                                                              - */ - UseOpsworksSecurityGroups?: boolean; - - /** - *

                                                              The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. - * For more information about IAM ARNs, see Using - * Identifiers.

                                                              - */ - DefaultInstanceProfileArn: string | undefined; - - /** - *

                                                              One or more user-defined key-value pairs to be added to the stack attributes.

                                                              - */ - Attributes?: { [key: string]: string }; - - /** - *

                                                              The stack's AWS region, such as ap-south-1. For more information about - * Amazon regions, see Regions and Endpoints.

                                                              - * - *

                                                              In the AWS CLI, this API maps to the --stack-region parameter. If the - * --stack-region parameter and the AWS CLI common parameter - * --region are set to the same value, the stack uses a - * regional endpoint. If the --stack-region - * parameter is not set, but the AWS CLI --region parameter is, this also - * results in a stack with a regional endpoint. However, if the - * --region parameter is set to us-east-1, and the - * --stack-region parameter is set to one of the following, then the - * stack uses a legacy or classic region: us-west-1, - * us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, ap-southeast-1, - * ap-southeast-2. In this case, the actual API endpoint of the stack is in - * us-east-1. Only the preceding regions are supported as classic - * regions in the us-east-1 API endpoint. Because it is a best practice to - * choose the regional endpoint that is closest to where you manage AWS, we recommend - * that you use regional endpoints for new stacks. The AWS CLI common - * --region parameter always specifies a regional API endpoint; it - * cannot be used to specify a classic AWS OpsWorks Stacks region.

                                                              - *
                                                              - */ - Region: string | undefined; - /** *

                                                              A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

                                                              *

                                                              @@ -2117,25 +2027,10 @@ export interface CreateStackRequest { CustomJson?: string; /** - *

                                                              A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS - * OpsWorks installs the public key on the instance and you can use the private key with an SSH - * client to log in to the instance. For more information, see Using SSH to - * Communicate with an Instance and Managing SSH - * Access. You can override this setting by specifying a different key pair, or no key - * pair, when you - * create an instance.

                                                              - */ - DefaultSshKeyName?: string; - - /** - *

                                                              The stack's default VPC subnet ID. This parameter is required if you specify a value for the - * VpcId parameter. All instances are launched into this subnet unless you specify - * otherwise when you create the instance. If you also specify a value for - * DefaultAvailabilityZone, the subnet must be in that zone. For information on - * default values and when this parameter is required, see the VpcId parameter - * description.

                                                              + *

                                                              A ChefConfiguration object that specifies whether to enable Berkshelf and the + * Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

                                                              */ - DefaultSubnetId?: string; + ChefConfiguration?: ChefConfiguration; /** *

                                                              Contains the information required to retrieve an app or cookbook from a repository. For more information, @@ -2145,47 +2040,48 @@ export interface CreateStackRequest { CustomCookbooksSource?: Source; /** - *

                                                              The configuration manager. When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.

                                                              + *

                                                              The stack's default VPC subnet ID. This parameter is required if you specify a value for the + * VpcId parameter. All instances are launched into this subnet unless you specify + * otherwise when you create the instance. If you also specify a value for + * DefaultAvailabilityZone, the subnet must be in that zone. For information on + * default values and when this parameter is required, see the VpcId parameter + * description.

                                                              */ - ConfigurationManager?: StackConfigurationManager; + DefaultSubnetId?: string; /** - *

                                                              The default root device type. This value is the default for all instances in the stack, - * but you can override it when you create an instance. The default option is - * instance-store. For more information, see Storage for the Root Device.

                                                              + *

                                                              The stack's AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS + * resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an + * existing IAM role. For more information about IAM ARNs, see Using + * Identifiers.

                                                              */ - DefaultRootDeviceType?: RootDeviceType | string; + ServiceRoleArn: string | undefined; /** - *

                                                              The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later.

                                                              - *
                                                                - *
                                                              • - *

                                                                If your account supports EC2-Classic, the default value is no VPC.

                                                                - *
                                                              • - *
                                                              • - *

                                                                If your account does not support EC2-Classic, the default value is the default VPC for the specified region.

                                                                - *
                                                              • - *
                                                              - *

                                                              If the VPC ID corresponds to a default VPC and you have specified either the - * DefaultAvailabilityZone or the DefaultSubnetId parameter only, - * AWS OpsWorks Stacks infers the value of the - * other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets - * these parameters to the first valid Availability Zone for the specified region and the - * corresponding default VPC subnet ID, respectively.

                                                              - *

                                                              If you specify a nondefault VPC ID, note the following:

                                                              + *

                                                              The default AWS OpsWorks Stacks agent version. You have the following options:

                                                              *
                                                                *
                                                              • - *

                                                                It must belong to a VPC in your account that is in the specified region.

                                                                + *

                                                                Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks + * automatically installs new agent versions on the stack's instances as soon as + * they are available.

                                                                *
                                                              • *
                                                              • - *

                                                                You must specify a value for DefaultSubnetId.

                                                                + *

                                                                Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

                                                                *
                                                              • *
                                                              - *

                                                              For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a - * VPC. For more information about default VPC and EC2-Classic, see Supported - * Platforms.

                                                              + *

                                                              The default setting is the most recent release of the agent. To specify an agent version, + * you must use the complete version number, not the abbreviated number shown on the console. + * For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

                                                              + * + *

                                                              You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

                                                              + *
                                                              */ - VpcId?: string; + AgentVersion?: string; + + /** + *

                                                              The configuration manager. When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.

                                                              + */ + ConfigurationManager?: StackConfigurationManager; /** *

                                                              The stack's host name theme, with spaces replaced by underscores. The theme is used to @@ -2254,16 +2150,55 @@ export interface CreateStackRequest { */ HostnameTheme?: string; + /** + *

                                                              The stack's AWS region, such as ap-south-1. For more information about + * Amazon regions, see Regions and Endpoints.

                                                              + * + *

                                                              In the AWS CLI, this API maps to the --stack-region parameter. If the + * --stack-region parameter and the AWS CLI common parameter + * --region are set to the same value, the stack uses a + * regional endpoint. If the --stack-region + * parameter is not set, but the AWS CLI --region parameter is, this also + * results in a stack with a regional endpoint. However, if the + * --region parameter is set to us-east-1, and the + * --stack-region parameter is set to one of the following, then the + * stack uses a legacy or classic region: us-west-1, + * us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, ap-southeast-1, + * ap-southeast-2. In this case, the actual API endpoint of the stack is in + * us-east-1. Only the preceding regions are supported as classic + * regions in the us-east-1 API endpoint. Because it is a best practice to + * choose the regional endpoint that is closest to where you manage AWS, we recommend + * that you use regional endpoints for new stacks. The AWS CLI common + * --region parameter always specifies a regional API endpoint; it + * cannot be used to specify a classic AWS OpsWorks Stacks region.

                                                              + *
                                                              + */ + Region: string | undefined; + + /** + *

                                                              The stack's default Availability Zone, which must be in the specified region. For more + * information, see Regions and + * Endpoints. If you also specify a value for DefaultSubnetId, the subnet must + * be in the same zone. For more information, see the VpcId parameter description. + *

                                                              + */ + DefaultAvailabilityZone?: string; + /** *

                                                              The stack name.

                                                              */ Name: string | undefined; /** - *

                                                              A ChefConfiguration object that specifies whether to enable Berkshelf and the - * Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

                                                              + *

                                                              A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS + * OpsWorks installs the public key on the instance and you can use the private key with an SSH + * client to log in to the instance. For more information, see Using SSH to + * Communicate with an Instance and Managing SSH + * Access. You can override this setting by specifying a different key pair, or no key + * pair, when you + * create an instance.

                                                              */ - ChefConfiguration?: ChefConfiguration; + DefaultSshKeyName?: string; /** *

                                                              The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.

                                                              @@ -2305,13 +2240,78 @@ export interface CreateStackRequest { DefaultOs?: string; /** - *

                                                              The stack's default Availability Zone, which must be in the specified region. For more - * information, see Regions and - * Endpoints. If you also specify a value for DefaultSubnetId, the subnet must - * be in the same zone. For more information, see the VpcId parameter description. - *

                                                              + *

                                                              Whether the stack uses custom cookbooks.

                                                              */ - DefaultAvailabilityZone?: string; + UseCustomCookbooks?: boolean; + + /** + *

                                                              One or more user-defined key-value pairs to be added to the stack attributes.

                                                              + */ + Attributes?: { [key: string]: string }; + + /** + *

                                                              Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

                                                              + *

                                                              AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are + * associated with layers by default. With UseOpsworksSecurityGroups you can instead + * provide your own custom security groups. UseOpsworksSecurityGroups has the + * following settings:

                                                              + *
                                                                + *
                                                              • + *

                                                                True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

                                                                + *
                                                              • + *
                                                              • + *

                                                                False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

                                                                + *
                                                              • + *
                                                              + *

                                                              For more information, see Create a New + * Stack.

                                                              + */ + UseOpsworksSecurityGroups?: boolean; + + /** + *

                                                              The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. + * For more information about IAM ARNs, see Using + * Identifiers.

                                                              + */ + DefaultInstanceProfileArn: string | undefined; + + /** + *

                                                              The default root device type. This value is the default for all instances in the stack, + * but you can override it when you create an instance. The default option is + * instance-store. For more information, see Storage for the Root Device.

                                                              + */ + DefaultRootDeviceType?: RootDeviceType | string; + + /** + *

                                                              The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later.

                                                              + *
                                                                + *
                                                              • + *

                                                                If your account supports EC2-Classic, the default value is no VPC.

                                                                + *
                                                              • + *
                                                              • + *

                                                                If your account does not support EC2-Classic, the default value is the default VPC for the specified region.

                                                                + *
                                                              • + *
                                                              + *

                                                              If the VPC ID corresponds to a default VPC and you have specified either the + * DefaultAvailabilityZone or the DefaultSubnetId parameter only, + * AWS OpsWorks Stacks infers the value of the + * other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets + * these parameters to the first valid Availability Zone for the specified region and the + * corresponding default VPC subnet ID, respectively.

                                                              + *

                                                              If you specify a nondefault VPC ID, note the following:

                                                              + *
                                                                + *
                                                              • + *

                                                                It must belong to a VPC in your account that is in the specified region.

                                                                + *
                                                              • + *
                                                              • + *

                                                                You must specify a value for DefaultSubnetId.

                                                                + *
                                                              • + *
                                                              + *

                                                              For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a + * VPC. For more information about default VPC and EC2-Classic, see Supported + * Platforms.

                                                              + */ + VpcId?: string; } export namespace CreateStackRequest { @@ -2339,29 +2339,29 @@ export namespace CreateStackResult { export interface CreateUserProfileRequest { /** - *

                                                              The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If - * the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, - * my.name will be changed to myname. If you do not specify an SSH - * user name, AWS OpsWorks Stacks generates one from the IAM user name.

                                                              + *

                                                              The user's public SSH key.

                                                              */ - SshUsername?: string; + SshPublicKey?: string; /** *

                                                              The user's IAM ARN; this can also be a federated user's ARN.

                                                              */ IamUserArn: string | undefined; + /** + *

                                                              The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If + * the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, + * my.name will be changed to myname. If you do not specify an SSH + * user name, AWS OpsWorks Stacks generates one from the IAM user name.

                                                              + */ + SshUsername?: string; + /** *

                                                              Whether users can specify their own SSH public key through the My Settings page. For more * information, see Setting an IAM * User's Public SSH Key.

                                                              */ AllowSelfManagement?: boolean; - - /** - *

                                                              The user's public SSH key.

                                                              - */ - SshPublicKey?: string; } export namespace CreateUserProfileRequest { @@ -2400,11 +2400,6 @@ export namespace DeleteAppRequest { } export interface DeleteInstanceRequest { - /** - *

                                                              The instance ID.

                                                              - */ - InstanceId: string | undefined; - /** *

                                                              Whether to delete the instance Elastic IP address.

                                                              */ @@ -2414,6 +2409,11 @@ export interface DeleteInstanceRequest { *

                                                              Whether to delete the instance's Amazon EBS volumes.

                                                              */ DeleteVolumes?: boolean; + + /** + *

                                                              The instance ID.

                                                              + */ + InstanceId: string | undefined; } export namespace DeleteInstanceRequest { @@ -2466,19 +2466,24 @@ export namespace DeleteUserProfileRequest { */ export interface Deployment { /** - *

                                                              Used to specify a stack or deployment command.

                                                              + *

                                                              A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format:

                                                              + *

                                                              + * "{\"key1\": \"value1\", \"key2\": \"value2\",...}" + *

                                                              + *

                                                              For more information on custom JSON, see Use Custom JSON to + * Modify the Stack Configuration Attributes.

                                                              */ - Command?: DeploymentCommand; + CustomJson?: string; /** - *

                                                              Date when the deployment was created.

                                                              + *

                                                              The IDs of the target instances.

                                                              */ - CreatedAt?: string; + InstanceIds?: string[]; /** - *

                                                              The user's IAM ARN.

                                                              + *

                                                              A user-defined comment.

                                                              */ - IamUserArn?: string; + Comment?: string; /** *

                                                              The deployment status:

                                                              @@ -2497,34 +2502,29 @@ export interface Deployment { Status?: string; /** - *

                                                              A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format:

                                                              - *

                                                              - * "{\"key1\": \"value1\", \"key2\": \"value2\",...}" - *

                                                              - *

                                                              For more information on custom JSON, see Use Custom JSON to - * Modify the Stack Configuration Attributes.

                                                              + *

                                                              The app ID.

                                                              */ - CustomJson?: string; + AppId?: string; /** - *

                                                              Date when the deployment completed.

                                                              + *

                                                              Date when the deployment was created.

                                                              */ - CompletedAt?: string; + CreatedAt?: string; /** - *

                                                              The deployment ID.

                                                              + *

                                                              Used to specify a stack or deployment command.

                                                              */ - DeploymentId?: string; + Command?: DeploymentCommand; /** - *

                                                              The IDs of the target instances.

                                                              + *

                                                              The user's IAM ARN.

                                                              */ - InstanceIds?: string[]; + IamUserArn?: string; /** - *

                                                              The deployment duration.

                                                              + *

                                                              Date when the deployment completed.

                                                              */ - Duration?: number; + CompletedAt?: string; /** *

                                                              The stack ID.

                                                              @@ -2532,14 +2532,14 @@ export interface Deployment { StackId?: string; /** - *

                                                              The app ID.

                                                              + *

                                                              The deployment ID.

                                                              */ - AppId?: string; + DeploymentId?: string; /** - *

                                                              A user-defined comment.

                                                              + *

                                                              The deployment duration.

                                                              */ - Comment?: string; + Duration?: number; } export namespace Deployment { @@ -2615,14 +2615,14 @@ export namespace DeregisterVolumeRequest { export interface DescribeAgentVersionsRequest { /** - *

                                                              The configuration manager.

                                                              + *

                                                              The stack ID.

                                                              */ - ConfigurationManager?: StackConfigurationManager; + StackId?: string; /** - *

                                                              The stack ID.

                                                              + *

                                                              The configuration manager.

                                                              */ - StackId?: string; + ConfigurationManager?: StackConfigurationManager; } export namespace DescribeAgentVersionsRequest { @@ -2648,18 +2648,18 @@ export namespace DescribeAgentVersionsResult { } export interface DescribeAppsRequest { - /** - *

                                                              The app stack ID. If you use this parameter, DescribeApps returns a description - * of the apps in the specified stack.

                                                              - */ - StackId?: string; - /** *

                                                              An array of app IDs for the apps to be described. If you use this parameter, * DescribeApps returns a description of the specified apps. Otherwise, it returns * a description of every app.

                                                              */ AppIds?: string[]; + + /** + *

                                                              The app stack ID. If you use this parameter, DescribeApps returns a description + * of the apps in the specified stack.

                                                              + */ + StackId?: string; } export namespace DescribeAppsRequest { @@ -2685,6 +2685,13 @@ export namespace DescribeAppsResult { } export interface DescribeCommandsRequest { + /** + *

                                                              An array of command IDs. If you include this parameter, DescribeCommands returns + * a description of the specified commands. Otherwise, it returns a description of every + * command.

                                                              + */ + CommandIds?: string[]; + /** *

                                                              The deployment ID. If you include this parameter, DescribeCommands returns a * description of the commands associated with the specified deployment.

                                                              @@ -2696,13 +2703,6 @@ export interface DescribeCommandsRequest { * description of the commands associated with the specified instance.

                                                              */ InstanceId?: string; - - /** - *

                                                              An array of command IDs. If you include this parameter, DescribeCommands returns - * a description of the specified commands. Otherwise, it returns a description of every - * command.

                                                              - */ - CommandIds?: string[]; } export namespace DescribeCommandsRequest { @@ -2725,15 +2725,9 @@ export namespace DescribeCommandsResult { export const filterSensitiveLog = (obj: DescribeCommandsResult): any => ({ ...obj, }); -} - -export interface DescribeDeploymentsRequest { - /** - *

                                                              The app ID. If you include this parameter, the command returns a - * description of the commands associated with the specified app.

                                                              - */ - AppId?: string; +} +export interface DescribeDeploymentsRequest { /** *

                                                              The stack ID. If you include this parameter, the command returns a * description of the commands associated with the specified stack.

                                                              @@ -2746,6 +2740,12 @@ export interface DescribeDeploymentsRequest { * Otherwise, it returns a description of every deployment.

                                                              */ DeploymentIds?: string[]; + + /** + *

                                                              The app ID. If you include this parameter, the command returns a + * description of the commands associated with the specified app.

                                                              + */ + AppId?: string; } export namespace DescribeDeploymentsRequest { @@ -2771,6 +2771,20 @@ export namespace DescribeDeploymentsResult { } export interface DescribeEcsClustersRequest { + /** + *

                                                              To receive a paginated response, use this parameter to specify the maximum number + * of results to be returned with a single call. If the number of available results exceeds this maximum, the + * response includes a NextToken value that you can assign + * to the NextToken request parameter to get the next set of results.

                                                              + */ + MaxResults?: number; + + /** + *

                                                              A stack ID. + * DescribeEcsClusters returns a description of the cluster that is registered with the stack.

                                                              + */ + StackId?: string; + /** *

                                                              A list of ARNs, one for each cluster to be described.

                                                              */ @@ -2785,20 +2799,6 @@ export interface DescribeEcsClustersRequest { * object's NextToken parameter is set to null.

                                                              */ NextToken?: string; - - /** - *

                                                              A stack ID. - * DescribeEcsClusters returns a description of the cluster that is registered with the stack.

                                                              - */ - StackId?: string; - - /** - *

                                                              To receive a paginated response, use this parameter to specify the maximum number - * of results to be returned with a single call. If the number of available results exceeds this maximum, the - * response includes a NextToken value that you can assign - * to the NextToken request parameter to get the next set of results.

                                                              - */ - MaxResults?: number; } export namespace DescribeEcsClustersRequest { @@ -2812,9 +2812,9 @@ export namespace DescribeEcsClustersRequest { */ export interface EcsCluster { /** - *

                                                              The cluster's ARN.

                                                              + *

                                                              The cluster name.

                                                              */ - EcsClusterArn?: string; + EcsClusterName?: string; /** *

                                                              The time and date that the cluster was registered with the stack.

                                                              @@ -2822,9 +2822,9 @@ export interface EcsCluster { RegisteredAt?: string; /** - *

                                                              The cluster name.

                                                              + *

                                                              The cluster's ARN.

                                                              */ - EcsClusterName?: string; + EcsClusterArn?: string; /** *

                                                              The stack ID.

                                                              @@ -2842,11 +2842,6 @@ export namespace EcsCluster { *

                                                              Contains the response to a DescribeEcsClusters request.

                                                              */ export interface DescribeEcsClustersResult { - /** - *

                                                              A list of EcsCluster objects containing the cluster descriptions.

                                                              - */ - EcsClusters?: EcsCluster[]; - /** *

                                                              If a paginated request does not return all of the remaining results, this parameter is set to a token that * you can assign to the request object's NextToken parameter to retrieve the next set of results. @@ -2854,6 +2849,11 @@ export interface DescribeEcsClustersResult { * this parameter is set to null.

                                                              */ NextToken?: string; + + /** + *

                                                              A list of EcsCluster objects containing the cluster descriptions.

                                                              + */ + EcsClusters?: EcsCluster[]; } export namespace DescribeEcsClustersResult { @@ -2869,18 +2869,18 @@ export interface DescribeElasticIpsRequest { */ StackId?: string; + /** + *

                                                              The instance ID. If you include this parameter, DescribeElasticIps returns a + * description of the Elastic IP addresses associated with the specified instance.

                                                              + */ + InstanceId?: string; + /** *

                                                              An array of Elastic IP addresses to be described. If you include this parameter, * DescribeElasticIps returns a description of the specified Elastic IP addresses. * Otherwise, it returns a description of every Elastic IP address.

                                                              */ Ips?: string[]; - - /** - *

                                                              The instance ID. If you include this parameter, DescribeElasticIps returns a - * description of the Elastic IP addresses associated with the specified instance.

                                                              - */ - InstanceId?: string; } export namespace DescribeElasticIpsRequest { @@ -2894,29 +2894,29 @@ export namespace DescribeElasticIpsRequest { */ export interface ElasticIp { /** - *

                                                              The name.

                                                              + *

                                                              The domain.

                                                              */ - Name?: string; + Domain?: string; /** - *

                                                              The AWS region. For more information, see Regions and Endpoints.

                                                              + *

                                                              The ID of the instance that the address is attached to.

                                                              */ - Region?: string; + InstanceId?: string; /** - *

                                                              The IP address.

                                                              + *

                                                              The name.

                                                              */ - Ip?: string; + Name?: string; /** - *

                                                              The domain.

                                                              + *

                                                              The AWS region. For more information, see Regions and Endpoints.

                                                              */ - Domain?: string; + Region?: string; /** - *

                                                              The ID of the instance that the address is attached to.

                                                              + *

                                                              The IP address.

                                                              */ - InstanceId?: string; + Ip?: string; } export namespace ElasticIp { @@ -2964,49 +2964,49 @@ export namespace DescribeElasticLoadBalancersRequest { */ export interface ElasticLoadBalancer { /** - *

                                                              The ID of the layer that the instance is attached to.

                                                              + *

                                                              The Elastic Load Balancing instance's name.

                                                              */ - LayerId?: string; + ElasticLoadBalancerName?: string; /** - *

                                                              The VPC ID.

                                                              + *

                                                              A list of the EC2 instances that the Elastic Load Balancing instance is managing traffic for.

                                                              */ - VpcId?: string; + Ec2InstanceIds?: string[]; /** - *

                                                              A list of subnet IDs, if the stack is running in a VPC.

                                                              + *

                                                              The instance's public DNS name.

                                                              */ - SubnetIds?: string[]; + DnsName?: string; /** - *

                                                              The ID of the stack that the instance is associated with.

                                                              + *

                                                              A list of Availability Zones.

                                                              */ - StackId?: string; + AvailabilityZones?: string[]; /** - *

                                                              A list of Availability Zones.

                                                              + *

                                                              The VPC ID.

                                                              */ - AvailabilityZones?: string[]; + VpcId?: string; /** - *

                                                              The instance's AWS region.

                                                              + *

                                                              The ID of the layer that the instance is attached to.

                                                              */ - Region?: string; + LayerId?: string; /** - *

                                                              A list of the EC2 instances that the Elastic Load Balancing instance is managing traffic for.

                                                              + *

                                                              The ID of the stack that the instance is associated with.

                                                              */ - Ec2InstanceIds?: string[]; + StackId?: string; /** - *

                                                              The Elastic Load Balancing instance's name.

                                                              + *

                                                              The instance's AWS region.

                                                              */ - ElasticLoadBalancerName?: string; + Region?: string; /** - *

                                                              The instance's public DNS name.

                                                              + *

                                                              A list of subnet IDs, if the stack is running in a VPC.

                                                              */ - DnsName?: string; + SubnetIds?: string[]; } export namespace ElasticLoadBalancer { @@ -3033,6 +3033,12 @@ export namespace DescribeElasticLoadBalancersResult { } export interface DescribeInstancesRequest { + /** + *

                                                              A stack ID. If you use this parameter, DescribeInstances returns descriptions of + * the instances associated with the specified stack.

                                                              + */ + StackId?: string; + /** *

                                                              A layer ID. If you use this parameter, DescribeInstances returns descriptions of * the instances associated with the specified layer.

                                                              @@ -3045,175 +3051,60 @@ export interface DescribeInstancesRequest { * it returns a description of every instance.

                                                              */ InstanceIds?: string[]; - - /** - *

                                                              A stack ID. If you use this parameter, DescribeInstances returns descriptions of - * the instances associated with the specified stack.

                                                              - */ - StackId?: string; } export namespace DescribeInstancesRequest { export const filterSensitiveLog = (obj: DescribeInstancesRequest): any => ({ ...obj, - }); -} - -/** - *

                                                              A registered instance's reported operating system.

                                                              - */ -export interface ReportedOs { - /** - *

                                                              The operating system version.

                                                              - */ - Version?: string; - - /** - *

                                                              The operating system family.

                                                              - */ - Family?: string; - - /** - *

                                                              The operating system name.

                                                              - */ - Name?: string; -} - -export namespace ReportedOs { - export const filterSensitiveLog = (obj: ReportedOs): any => ({ - ...obj, - }); -} - -export type VirtualizationType = "hvm" | "paravirtual"; - -/** - *

                                                              Describes an instance.

                                                              - */ -export interface Instance { - /** - *

                                                              Whether to install operating system and package updates when the instance boots. The default - * value is true. If this value is set to false, you must then update - * your instances manually by using CreateDeployment to run the - * update_dependencies stack command or - * by manually running yum (Amazon - * Linux) or apt-get (Ubuntu) on the instances.

                                                              - * - *

                                                              We strongly recommend using the default value of true, to ensure that your - * instances have the latest security updates.

                                                              - *
                                                              - */ - InstallUpdatesOnBoot?: boolean; - - /** - *

                                                              For container instances, the Amazon ECS cluster's ARN.

                                                              - */ - EcsClusterArn?: string; - - /** - *

                                                              The instance's platform.

                                                              - */ - Platform?: string; - - /** - *

                                                              The agent version. This parameter is set to INHERIT if - * the instance inherits the default stack setting or to a - * a version number for a fixed agent version.

                                                              - */ - AgentVersion?: string; - - /** - *

                                                              For registered instances, the infrastructure class: ec2 or - * on-premises.

                                                              - */ - InfrastructureClass?: string; - - /** - *

                                                              The time that the instance was created.

                                                              - */ - CreatedAt?: string; - - /** - *

                                                              For container instances, the instance's ARN.

                                                              - */ - EcsContainerInstanceArn?: string; - - /** - *

                                                              The instance's tenancy option, such as dedicated or host.

                                                              - */ - Tenancy?: string; - - /** - *

                                                              The instance Elastic IP address .

                                                              - */ - ElasticIp?: string; - - /** - *

                                                              An array containing the instance layer IDs.

                                                              - */ - LayerIds?: string[]; - - /** - *

                                                              The instance type, such as t2.micro.

                                                              - */ - InstanceType?: string; - - /** - *

                                                              The instance's Amazon Resource Number (ARN).

                                                              - */ - Arn?: string; - - /** - *

                                                              The stack ID.

                                                              - */ - StackId?: string; - - /** - *

                                                              The ID of the last service error. For more information, call - * DescribeServiceErrors.

                                                              - */ - LastServiceErrorId?: string; - - /** - *

                                                              The instance's subnet ID; applicable only if the stack is running in a VPC.

                                                              - */ - SubnetId?: string; + }); +} +/** + *

                                                              A registered instance's reported operating system.

                                                              + */ +export interface ReportedOs { /** - *

                                                              For load-based or time-based instances, the type.

                                                              + *

                                                              The operating system version.

                                                              */ - AutoScalingType?: AutoScalingType | string; + Version?: string; /** - *

                                                              The SSH key's RSA fingerprint.

                                                              + *

                                                              The operating system family.

                                                              */ - SshHostRsaKeyFingerprint?: string; + Family?: string; /** - *

                                                              The instance's private IP address.

                                                              + *

                                                              The operating system name.

                                                              */ - PrivateIp?: string; + Name?: string; +} - /** - *

                                                              For registered instances, the reported operating system.

                                                              - */ - ReportedOs?: ReportedOs; +export namespace ReportedOs { + export const filterSensitiveLog = (obj: ReportedOs): any => ({ + ...obj, + }); +} +export type VirtualizationType = "hvm" | "paravirtual"; + +/** + *

                                                              Describes an instance.

                                                              + */ +export interface Instance { /** - *

                                                              The ID of the associated Amazon EC2 instance.

                                                              + *

                                                              The instance's private IP address.

                                                              */ - Ec2InstanceId?: string; + PrivateIp?: string; /** - *

                                                              The instance's root device type. For more information, see Storage for the Root Device.

                                                              + *

                                                              For load-based or time-based instances, the type.

                                                              */ - RootDeviceType?: RootDeviceType | string; + AutoScalingType?: AutoScalingType | string; /** - *

                                                              The ARN of the instance's IAM profile. For more information about IAM ARNs, see Using - * Identifiers.

                                                              + *

                                                              The instance public DNS name.

                                                              */ - InstanceProfileArn?: string; + PublicDns?: string; /** *

                                                              Whether this is an Amazon EBS-optimized instance.

                                                              @@ -3221,39 +3112,44 @@ export interface Instance { EbsOptimized?: boolean; /** - *

                                                              The instance host name.

                                                              - */ - Hostname?: string; - - /** - *

                                                              The instance Availability Zone. For more information, see Regions and Endpoints.

                                                              + *

                                                              An array containing the instance security group IDs.

                                                              */ - AvailabilityZone?: string; + SecurityGroupIds?: string[]; /** - *

                                                              The instance's reported AWS OpsWorks Stacks agent version.

                                                              + *

                                                              The ID of the last service error. For more information, call + * DescribeServiceErrors.

                                                              */ - ReportedAgentVersion?: string; + LastServiceErrorId?: string; /** - *

                                                              The instance architecture: "i386" or "x86_64".

                                                              + *

                                                              Whether to install operating system and package updates when the instance boots. The default + * value is true. If this value is set to false, you must then update + * your instances manually by using CreateDeployment to run the + * update_dependencies stack command or + * by manually running yum (Amazon + * Linux) or apt-get (Ubuntu) on the instances.

                                                              + * + *

                                                              We strongly recommend using the default value of true, to ensure that your + * instances have the latest security updates.

                                                              + *
                                                              */ - Architecture?: Architecture | string; + InstallUpdatesOnBoot?: boolean; /** - *

                                                              The instance public IP address.

                                                              + *

                                                              For container instances, the instance's ARN.

                                                              */ - PublicIp?: string; + EcsContainerInstanceArn?: string; /** - *

                                                              The instance ID.

                                                              + *

                                                              The ID of the associated Amazon EC2 instance.

                                                              */ - InstanceId?: string; + Ec2InstanceId?: string; /** - *

                                                              The instance's virtualization type: paravirtual or hvm.

                                                              + *

                                                              The instance's Amazon EC2 key-pair name.

                                                              */ - VirtualizationType?: VirtualizationType | string; + SshKeyName?: string; /** *

                                                              The instance status:

                                                              @@ -3338,9 +3234,73 @@ export interface Instance { Status?: string; /** - *

                                                              The instance's Amazon EC2 key-pair name.

                                                              + *

                                                              The agent version. This parameter is set to INHERIT if + * the instance inherits the default stack setting or to a + * a version number for a fixed agent version.

                                                              */ - SshKeyName?: string; + AgentVersion?: string; + + /** + *

                                                              The instance's platform.

                                                              + */ + Platform?: string; + + /** + *

                                                              The instance's tenancy option, such as dedicated or host.

                                                              + */ + Tenancy?: string; + + /** + *

                                                              The instance Elastic IP address .

                                                              + */ + ElasticIp?: string; + + /** + *

                                                              The ARN of the instance's IAM profile. For more information about IAM ARNs, see Using + * Identifiers.

                                                              + */ + InstanceProfileArn?: string; + + /** + *

                                                              For registered instances, the reported operating system.

                                                              + */ + ReportedOs?: ReportedOs; + + /** + *

                                                              The instance's Amazon Resource Number (ARN).

                                                              + */ + Arn?: string; + + /** + *

                                                              For container instances, the Amazon ECS cluster's ARN.

                                                              + */ + EcsClusterArn?: string; + + /** + *

                                                              The time that the instance was created.

                                                              + */ + CreatedAt?: string; + + /** + *

                                                              For registered instances, the infrastructure class: ec2 or + * on-premises.

                                                              + */ + InfrastructureClass?: string; + + /** + *

                                                              The instance's root device type. For more information, see Storage for the Root Device.

                                                              + */ + RootDeviceType?: RootDeviceType | string; + + /** + *

                                                              The instance's reported AWS OpsWorks Stacks agent version.

                                                              + */ + ReportedAgentVersion?: string; + + /** + *

                                                              The instance Availability Zone. For more information, see Regions and Endpoints.

                                                              + */ + AvailabilityZone?: string; /** *

                                                              For registered instances, who performed the registration.

                                                              @@ -3354,6 +3314,31 @@ export interface Instance { */ AmiId?: string; + /** + *

                                                              The instance's subnet ID; applicable only if the stack is running in a VPC.

                                                              + */ + SubnetId?: string; + + /** + *

                                                              The stack ID.

                                                              + */ + StackId?: string; + + /** + *

                                                              The instance's operating system.

                                                              + */ + Os?: string; + + /** + *

                                                              The SSH key's RSA fingerprint.

                                                              + */ + SshHostRsaKeyFingerprint?: string; + + /** + *

                                                              The SSH key's Deep Security Agent (DSA) fingerprint.

                                                              + */ + SshHostDsaKeyFingerprint?: string; + /** *

                                                              An array of BlockDeviceMapping objects that specify the instance's block device * mappings.

                                                              @@ -3366,29 +3351,44 @@ export interface Instance { PrivateDns?: string; /** - *

                                                              An array containing the instance security group IDs.

                                                              + *

                                                              The instance public IP address.

                                                              */ - SecurityGroupIds?: string[]; + PublicIp?: string; /** - *

                                                              The instance's operating system.

                                                              + *

                                                              The instance ID.

                                                              */ - Os?: string; + InstanceId?: string; /** - *

                                                              The root device volume ID.

                                                              + *

                                                              The instance's virtualization type: paravirtual or hvm.

                                                              */ - RootDeviceVolumeId?: string; + VirtualizationType?: VirtualizationType | string; /** - *

                                                              The SSH key's Deep Security Agent (DSA) fingerprint.

                                                              + *

                                                              The instance architecture: "i386" or "x86_64".

                                                              */ - SshHostDsaKeyFingerprint?: string; + Architecture?: Architecture | string; /** - *

                                                              The instance public DNS name.

                                                              + *

                                                              The instance type, such as t2.micro.

                                                              */ - PublicDns?: string; + InstanceType?: string; + + /** + *

                                                              The instance host name.

                                                              + */ + Hostname?: string; + + /** + *

                                                              An array containing the instance layer IDs.

                                                              + */ + LayerIds?: string[]; + + /** + *

                                                              The root device volume ID.

                                                              + */ + RootDeviceVolumeId?: string; } export namespace Instance { @@ -3432,19 +3432,61 @@ export namespace DescribeLayersRequest { }); } -/** - *

                                                              Describes a layer.

                                                              - */ -export interface Layer { +/** + *

                                                              Describes a layer.

                                                              + */ +export interface Layer { + /** + *

                                                              The Amazon Resource Number (ARN) of a layer.

                                                              + */ + Arn?: string; + + /** + *

                                                              A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

                                                              + */ + VolumeConfigurations?: VolumeConfiguration[]; + + /** + *

                                                              The layer attributes.

                                                              + *

                                                              For the HaproxyStatsPassword, MysqlRootPassword, and + * GangliaPassword attributes, AWS OpsWorks Stacks returns *****FILTERED***** + * instead of the actual value

                                                              + *

                                                              For an ECS Cluster layer, AWS OpsWorks Stacks the EcsClusterArn attribute is set to the cluster's ARN.

                                                              + */ + Attributes?: { [key: string]: string }; + + /** + *

                                                              Whether to install operating system and package updates when the instance boots. The default + * value is true. If this value is set to false, you must then update + * your instances manually by using CreateDeployment to run the + * update_dependencies stack command or manually running yum (Amazon + * Linux) or apt-get (Ubuntu) on the instances.

                                                              + * + *

                                                              We strongly recommend using the default value of true, to ensure that your + * instances have the latest security updates.

                                                              + *
                                                              + */ + InstallUpdatesOnBoot?: boolean; + + /** + *

                                                              Date when the layer was created.

                                                              + */ + CreatedAt?: string; + + /** + *

                                                              The layer ID.

                                                              + */ + LayerId?: string; + /** - *

                                                              The layer name.

                                                              + *

                                                              An array containing the layer's custom security group IDs.

                                                              */ - Name?: string; + CustomSecurityGroupIds?: string[]; /** - *

                                                              The layer stack ID.

                                                              + *

                                                              The layer type.

                                                              */ - StackId?: string; + Type?: LayerType | string; /** *

                                                              AWS OpsWorks Stacks supports five lifecycle events: setup, configuration, @@ -3460,22 +3502,14 @@ export interface Layer { DefaultRecipes?: Recipes; /** - *

                                                              A LifeCycleEventConfiguration object that specifies the Shutdown event - * configuration.

                                                              - */ - LifecycleEventConfiguration?: LifecycleEventConfiguration; - - /** - *

                                                              The ARN of the default IAM profile to be used for the layer's EC2 instances. For more - * information about IAM ARNs, see Using - * Identifiers.

                                                              + *

                                                              A JSON formatted string containing the layer's custom stack configuration and deployment attributes.

                                                              */ - CustomInstanceProfileArn?: string; + CustomJson?: string; /** - *

                                                              The layer short name.

                                                              + *

                                                              The layer stack ID.

                                                              */ - Shortname?: string; + StackId?: string; /** *

                                                              For stacks that are running in a VPC, whether to automatically assign a public IP address to @@ -3485,56 +3519,35 @@ export interface Layer { AutoAssignPublicIps?: boolean; /** - *

                                                              An array containing the layer's security group names.

                                                              - */ - DefaultSecurityGroupNames?: string[]; - - /** - *

                                                              Whether auto healing is disabled for the layer.

                                                              - */ - EnableAutoHealing?: boolean; - - /** - *

                                                              Date when the layer was created.

                                                              + *

                                                              A LayerCustomRecipes object that specifies the layer's custom recipes.

                                                              */ - CreatedAt?: string; + CustomRecipes?: Recipes; /** - *

                                                              A LayerCustomRecipes object that specifies the layer's custom recipes.

                                                              + *

                                                              The layer short name.

                                                              */ - CustomRecipes?: Recipes; + Shortname?: string; /** - *

                                                              The Amazon Resource Number (ARN) of a layer.

                                                              + *

                                                              A LifeCycleEventConfiguration object that specifies the Shutdown event + * configuration.

                                                              */ - Arn?: string; + LifecycleEventConfiguration?: LifecycleEventConfiguration; /** - *

                                                              Whether to install operating system and package updates when the instance boots. The default - * value is true. If this value is set to false, you must then update - * your instances manually by using CreateDeployment to run the - * update_dependencies stack command or manually running yum (Amazon - * Linux) or apt-get (Ubuntu) on the instances.

                                                              - * - *

                                                              We strongly recommend using the default value of true, to ensure that your - * instances have the latest security updates.

                                                              - *
                                                              + *

                                                              The Amazon CloudWatch Logs configuration settings for the layer.

                                                              */ - InstallUpdatesOnBoot?: boolean; + CloudWatchLogsConfiguration?: CloudWatchLogsConfiguration; /** - *

                                                              The layer attributes.

                                                              - *

                                                              For the HaproxyStatsPassword, MysqlRootPassword, and - * GangliaPassword attributes, AWS OpsWorks Stacks returns *****FILTERED***** - * instead of the actual value

                                                              - *

                                                              For an ECS Cluster layer, AWS OpsWorks Stacks the EcsClusterArn attribute is set to the cluster's ARN.

                                                              + *

                                                              An array of Package objects that describe the layer's packages.

                                                              */ - Attributes?: { [key: string]: string }; + Packages?: string[]; /** - *

                                                              The layer ID.

                                                              + *

                                                              Whether the layer uses Amazon EBS-optimized instances.

                                                              */ - LayerId?: string; + UseEbsOptimizedInstances?: boolean; /** *

                                                              Whether to automatically assign an Elastic IP @@ -3544,39 +3557,26 @@ export interface Layer { AutoAssignElasticIps?: boolean; /** - *

                                                              An array containing the layer's custom security group IDs.

                                                              - */ - CustomSecurityGroupIds?: string[]; - - /** - *

                                                              A JSON formatted string containing the layer's custom stack configuration and deployment attributes.

                                                              - */ - CustomJson?: string; - - /** - *

                                                              The layer type.

                                                              - */ - Type?: LayerType | string; - - /** - *

                                                              A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

                                                              + *

                                                              An array containing the layer's security group names.

                                                              */ - VolumeConfigurations?: VolumeConfiguration[]; + DefaultSecurityGroupNames?: string[]; /** - *

                                                              The Amazon CloudWatch Logs configuration settings for the layer.

                                                              + *

                                                              Whether auto healing is disabled for the layer.

                                                              */ - CloudWatchLogsConfiguration?: CloudWatchLogsConfiguration; + EnableAutoHealing?: boolean; /** - *

                                                              Whether the layer uses Amazon EBS-optimized instances.

                                                              + *

                                                              The ARN of the default IAM profile to be used for the layer's EC2 instances. For more + * information about IAM ARNs, see Using + * Identifiers.

                                                              */ - UseEbsOptimizedInstances?: boolean; + CustomInstanceProfileArn?: string; /** - *

                                                              An array of Package objects that describe the layer's packages.

                                                              + *

                                                              The layer name.

                                                              */ - Packages?: string[]; + Name?: string; } export namespace Layer { @@ -3618,27 +3618,27 @@ export namespace DescribeLoadBasedAutoScalingRequest { *

                                                              Describes a layer's load-based auto scaling configuration.

                                                              */ export interface LoadBasedAutoScalingConfiguration { - /** - *

                                                              The layer ID.

                                                              - */ - LayerId?: string; - /** *

                                                              Whether load-based auto scaling is enabled for the layer.

                                                              */ Enable?: boolean; /** - *

                                                              An AutoScalingThresholds object that describes the downscaling configuration, - * which defines how and when AWS OpsWorks Stacks reduces the number of instances.

                                                              + *

                                                              The layer ID.

                                                              */ - DownScaling?: AutoScalingThresholds; + LayerId?: string; /** *

                                                              An AutoScalingThresholds object that describes the upscaling configuration, * which defines how and when AWS OpsWorks Stacks increases the number of instances.

                                                              */ UpScaling?: AutoScalingThresholds; + + /** + *

                                                              An AutoScalingThresholds object that describes the downscaling configuration, + * which defines how and when AWS OpsWorks Stacks reduces the number of instances.

                                                              + */ + DownScaling?: AutoScalingThresholds; } export namespace LoadBasedAutoScalingConfiguration { @@ -3668,25 +3668,25 @@ export namespace DescribeLoadBasedAutoScalingResult { *

                                                              Describes a user's SSH information.

                                                              */ export interface SelfUserProfile { - /** - *

                                                              The user's SSH public key.

                                                              - */ - SshPublicKey?: string; - /** *

                                                              The user's name.

                                                              */ Name?: string; /** - *

                                                              The user's SSH user name.

                                                              + *

                                                              The user's SSH public key.

                                                              */ - SshUsername?: string; + SshPublicKey?: string; /** *

                                                              The user's IAM ARN.

                                                              */ IamUserArn?: string; + + /** + *

                                                              The user's SSH user name.

                                                              + */ + SshUsername?: string; } export namespace SelfUserProfile { @@ -3716,14 +3716,14 @@ export namespace DescribeMyUserProfileResult { */ export interface OperatingSystemConfigurationManager { /** - *

                                                              The versions of the configuration manager that are supported by an operating system.

                                                              + *

                                                              The name of the configuration manager, which is Chef.

                                                              */ - Version?: string; + Name?: string; /** - *

                                                              The name of the configuration manager, which is Chef.

                                                              + *

                                                              The versions of the configuration manager that are supported by an operating system.

                                                              */ - Name?: string; + Version?: string; } export namespace OperatingSystemConfigurationManager { @@ -3737,39 +3737,39 @@ export namespace OperatingSystemConfigurationManager { */ export interface OperatingSystem { /** - *

                                                              The ID of a supported operating system, such as Amazon Linux 2018.03.

                                                              + *

                                                              Supported configuration manager name and versions for an AWS OpsWorks Stacks operating system.

                                                              */ - Id?: string; + ConfigurationManagers?: OperatingSystemConfigurationManager[]; /** - *

                                                              The version of the operating system, including the release and edition, if applicable.

                                                              + *

                                                              A short name for the operating system manufacturer.

                                                              */ - ReportedVersion?: string; + ReportedName?: string; /** - *

                                                              The name of the operating system, such as Amazon Linux 2018.03.

                                                              + *

                                                              The type of a supported operating system, either Linux or Windows.

                                                              */ - Name?: string; + Type?: string; /** - *

                                                              A short name for the operating system manufacturer.

                                                              + *

                                                              Indicates that an operating system is not supported for new instances.

                                                              */ - ReportedName?: string; + Supported?: boolean; /** - *

                                                              Indicates that an operating system is not supported for new instances.

                                                              + *

                                                              The name of the operating system, such as Amazon Linux 2018.03.

                                                              */ - Supported?: boolean; + Name?: string; /** - *

                                                              The type of a supported operating system, either Linux or Windows.

                                                              + *

                                                              The ID of a supported operating system, such as Amazon Linux 2018.03.

                                                              */ - Type?: string; + Id?: string; /** - *

                                                              Supported configuration manager name and versions for an AWS OpsWorks Stacks operating system.

                                                              + *

                                                              The version of the operating system, including the release and edition, if applicable.

                                                              */ - ConfigurationManagers?: OperatingSystemConfigurationManager[]; + ReportedVersion?: string; } export namespace OperatingSystem { @@ -3818,16 +3818,14 @@ export namespace DescribePermissionsRequest { */ export interface Permission { /** - *

                                                              Whether the user can use SSH.

                                                              + *

                                                              A stack ID.

                                                              */ - AllowSsh?: boolean; + StackId?: string; /** - *

                                                              The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more - * information about IAM ARNs, see Using - * Identifiers.

                                                              + *

                                                              Whether the user can use sudo.

                                                              */ - IamUserArn?: string; + AllowSudo?: boolean; /** *

                                                              The user's permission level, which must be the following:

                                                              @@ -3864,14 +3862,16 @@ export interface Permission { Level?: string; /** - *

                                                              A stack ID.

                                                              + *

                                                              The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more + * information about IAM ARNs, see Using + * Identifiers.

                                                              */ - StackId?: string; + IamUserArn?: string; /** - *

                                                              Whether the user can use sudo.

                                                              + *

                                                              Whether the user can use SSH.

                                                              */ - AllowSudo?: boolean; + AllowSsh?: boolean; } export namespace Permission { @@ -3911,6 +3911,12 @@ export namespace DescribePermissionsResult { } export interface DescribeRaidArraysRequest { + /** + *

                                                              The instance ID. If you use this parameter, DescribeRaidArrays returns + * descriptions of the RAID arrays associated with the specified instance.

                                                              + */ + InstanceId?: string; + /** *

                                                              An array of RAID array IDs. If you use this parameter, DescribeRaidArrays * returns descriptions of the specified arrays. Otherwise, it returns a description of every @@ -3918,12 +3924,6 @@ export interface DescribeRaidArraysRequest { */ RaidArrayIds?: string[]; - /** - *

                                                              The instance ID. If you use this parameter, DescribeRaidArrays returns - * descriptions of the RAID arrays associated with the specified instance.

                                                              - */ - InstanceId?: string; - /** *

                                                              The stack ID.

                                                              */ @@ -3941,24 +3941,24 @@ export namespace DescribeRaidArraysRequest { */ export interface RaidArray { /** - *

                                                              The array's Availability Zone. For more information, see Regions and Endpoints.

                                                              + *

                                                              The volume type, standard or PIOPS.

                                                              */ - AvailabilityZone?: string; + VolumeType?: string; /** - *

                                                              The array's size.

                                                              + *

                                                              The number of disks in the array.

                                                              */ - Size?: number; + NumberOfDisks?: number; /** - *

                                                              The instance ID.

                                                              + *

                                                              The RAID level.

                                                              */ - InstanceId?: string; + RaidLevel?: number; /** - *

                                                              The RAID level.

                                                              + *

                                                              The array's mount point.

                                                              */ - RaidLevel?: number; + MountPoint?: string; /** *

                                                              For PIOPS volumes, the IOPS per disk.

                                                              @@ -3966,44 +3966,44 @@ export interface RaidArray { Iops?: number; /** - *

                                                              The array's Linux device. For example /dev/mdadm0.

                                                              + *

                                                              The array name.

                                                              */ - Device?: string; + Name?: string; /** - *

                                                              The array name.

                                                              + *

                                                              The array's Availability Zone. For more information, see Regions and Endpoints.

                                                              */ - Name?: string; + AvailabilityZone?: string; /** - *

                                                              The stack ID.

                                                              + *

                                                              The array ID.

                                                              */ - StackId?: string; + RaidArrayId?: string; /** - *

                                                              When the RAID array was created.

                                                              + *

                                                              The array's size.

                                                              */ - CreatedAt?: string; + Size?: number; /** - *

                                                              The array's mount point.

                                                              + *

                                                              The instance ID.

                                                              */ - MountPoint?: string; + InstanceId?: string; /** - *

                                                              The number of disks in the array.

                                                              + *

                                                              When the RAID array was created.

                                                              */ - NumberOfDisks?: number; + CreatedAt?: string; /** - *

                                                              The array ID.

                                                              + *

                                                              The stack ID.

                                                              */ - RaidArrayId?: string; + StackId?: string; /** - *

                                                              The volume type, standard or PIOPS.

                                                              + *

                                                              The array's Linux device. For example /dev/mdadm0.

                                                              */ - VolumeType?: string; + Device?: string; } export namespace RaidArray { @@ -4030,14 +4030,14 @@ export namespace DescribeRaidArraysResult { export interface DescribeRdsDbInstancesRequest { /** - *

                                                              The ID of the stack with which the instances are registered. The operation returns descriptions of all registered Amazon RDS instances.

                                                              + *

                                                              An array containing the ARNs of the instances to be described.

                                                              */ - StackId: string | undefined; + RdsDbInstanceArns?: string[]; /** - *

                                                              An array containing the ARNs of the instances to be described.

                                                              + *

                                                              The ID of the stack with which the instances are registered. The operation returns descriptions of all registered Amazon RDS instances.

                                                              */ - RdsDbInstanceArns?: string[]; + StackId: string | undefined; } export namespace DescribeRdsDbInstancesRequest { @@ -4051,51 +4051,51 @@ export namespace DescribeRdsDbInstancesRequest { */ export interface RdsDbInstance { /** - *

                                                              The master user name.

                                                              + *

                                                              The instance's address.

                                                              */ - DbUser?: string; + Address?: string; /** - *

                                                              The instance's address.

                                                              + *

                                                              The instance's database engine.

                                                              */ - Address?: string; + Engine?: string; /** - *

                                                              AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

                                                              + *

                                                              The DB instance identifier.

                                                              */ - DbPassword?: string; + DbInstanceIdentifier?: string; /** - *

                                                              The ID of the stack with which the instance is registered.

                                                              + *

                                                              Set to true if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance. AWS OpsWorks Stacks attempts + * to discover the instance only once. If this value is set to true, you must + * deregister the instance, and then register it again.

                                                              */ - StackId?: string; + MissingOnRds?: boolean; /** - *

                                                              The instance's AWS region.

                                                              + *

                                                              The instance's ARN.

                                                              */ - Region?: string; + RdsDbInstanceArn?: string; /** - *

                                                              The instance's database engine.

                                                              + *

                                                              The ID of the stack with which the instance is registered.

                                                              */ - Engine?: string; + StackId?: string; /** - *

                                                              The instance's ARN.

                                                              + *

                                                              The master user name.

                                                              */ - RdsDbInstanceArn?: string; + DbUser?: string; /** - *

                                                              Set to true if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance. AWS OpsWorks Stacks attempts - * to discover the instance only once. If this value is set to true, you must - * deregister the instance, and then register it again.

                                                              + *

                                                              The instance's AWS region.

                                                              */ - MissingOnRds?: boolean; + Region?: string; /** - *

                                                              The DB instance identifier.

                                                              + *

                                                              AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

                                                              */ - DbInstanceIdentifier?: string; + DbPassword?: string; } export namespace RdsDbInstance { @@ -4121,6 +4121,12 @@ export namespace DescribeRdsDbInstancesResult { } export interface DescribeServiceErrorsRequest { + /** + *

                                                              The instance ID. If you use this parameter, DescribeServiceErrors returns + * descriptions of the errors associated with the specified instance.

                                                              + */ + InstanceId?: string; + /** *

                                                              An array of service error IDs. If you use this parameter, DescribeServiceErrors * returns descriptions of the specified errors. Otherwise, it returns a description of every @@ -4133,12 +4139,6 @@ export interface DescribeServiceErrorsRequest { * descriptions of the errors associated with the specified stack.

                                                              */ StackId?: string; - - /** - *

                                                              The instance ID. If you use this parameter, DescribeServiceErrors returns - * descriptions of the errors associated with the specified instance.

                                                              - */ - InstanceId?: string; } export namespace DescribeServiceErrorsRequest { @@ -4152,34 +4152,34 @@ export namespace DescribeServiceErrorsRequest { */ export interface ServiceError { /** - *

                                                              The error ID.

                                                              + *

                                                              The stack ID.

                                                              */ - ServiceErrorId?: string; + StackId?: string; /** - *

                                                              When the error occurred.

                                                              + *

                                                              The instance ID.

                                                              */ - CreatedAt?: string; + InstanceId?: string; /** - *

                                                              The stack ID.

                                                              + *

                                                              A message that describes the error.

                                                              */ - StackId?: string; + Message?: string; /** - *

                                                              The error type.

                                                              + *

                                                              When the error occurred.

                                                              */ - Type?: string; + CreatedAt?: string; /** - *

                                                              The instance ID.

                                                              + *

                                                              The error ID.

                                                              */ - InstanceId?: string; + ServiceErrorId?: string; /** - *

                                                              A message that describes the error.

                                                              + *

                                                              The error type.

                                                              */ - Message?: string; + Type?: string; } export namespace ServiceError { @@ -4257,126 +4257,126 @@ export namespace DescribeStacksRequest { */ export interface Stack { /** - *

                                                              The stack's attributes.

                                                              + *

                                                              Contains the information required to retrieve an app or cookbook from a repository. For more information, + * see Adding Apps or + * Cookbooks and Recipes.

                                                              */ - Attributes?: { [key: string]: string }; + CustomCookbooksSource?: Source; /** - *

                                                              The default subnet ID; applicable only if the stack is running in a VPC.

                                                              + *

                                                              The configuration manager.

                                                              */ - DefaultSubnetId?: string; + ConfigurationManager?: StackConfigurationManager; /** - *

                                                              The stack's default operating system.

                                                              + *

                                                              The default root device type. This value is used by default for all instances in the stack, + * but you can override it when you create an instance. For more information, see Storage for the Root Device.

                                                              */ - DefaultOs?: string; + DefaultRootDeviceType?: RootDeviceType | string; /** - *

                                                              The stack's ARN.

                                                              + *

                                                              The VPC ID; applicable only if the stack is running in a VPC.

                                                              */ - Arn?: string; + VpcId?: string; /** - *

                                                              A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

                                                              - *

                                                              - * "{\"key1\": \"value1\", \"key2\": \"value2\",...}" - *

                                                              - *

                                                              For more information on custom JSON, see Use Custom JSON to - * Modify the Stack Configuration Attributes.

                                                              + *

                                                              The stack ID.

                                                              */ - CustomJson?: string; + StackId?: string; /** - *

                                                              The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. - * For more information about IAM ARNs, see Using - * Identifiers.

                                                              + *

                                                              The stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see Regions and Endpoints.

                                                              */ - DefaultInstanceProfileArn?: string; + Region?: string; /** - *

                                                              Whether the stack automatically associates the AWS OpsWorks Stacks built-in security groups with the stack's layers.

                                                              + *

                                                              The stack host name theme, with spaces replaced by underscores.

                                                              */ - UseOpsworksSecurityGroups?: boolean; + HostnameTheme?: string; /** - *

                                                              The VPC ID; applicable only if the stack is running in a VPC.

                                                              + *

                                                              The default subnet ID; applicable only if the stack is running in a VPC.

                                                              */ - VpcId?: string; + DefaultSubnetId?: string; /** - *

                                                              The default root device type. This value is used by default for all instances in the stack, - * but you can override it when you create an instance. For more information, see Storage for the Root Device.

                                                              + *

                                                              A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

                                                              + *

                                                              + * "{\"key1\": \"value1\", \"key2\": \"value2\",...}" + *

                                                              + *

                                                              For more information on custom JSON, see Use Custom JSON to + * Modify the Stack Configuration Attributes.

                                                              */ - DefaultRootDeviceType?: RootDeviceType | string; + CustomJson?: string; /** - *

                                                              The date when the stack was created.

                                                              + *

                                                              A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.

                                                              */ - CreatedAt?: string; + DefaultSshKeyName?: string; /** - *

                                                              Whether the stack uses custom cookbooks.

                                                              + *

                                                              The stack's ARN.

                                                              */ - UseCustomCookbooks?: boolean; + Arn?: string; /** - *

                                                              The stack host name theme, with spaces replaced by underscores.

                                                              + *

                                                              The date when the stack was created.

                                                              */ - HostnameTheme?: string; + CreatedAt?: string; /** - *

                                                              A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.

                                                              + *

                                                              The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. + * For more information about IAM ARNs, see Using + * Identifiers.

                                                              */ - DefaultSshKeyName?: string; + DefaultInstanceProfileArn?: string; /** - *

                                                              The configuration manager.

                                                              + *

                                                              The agent version. This parameter is set to LATEST for auto-update. + * or a version number for a fixed agent version.

                                                              */ - ConfigurationManager?: StackConfigurationManager; + AgentVersion?: string; /** - *

                                                              The stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see Regions and Endpoints.

                                                              + *

                                                              Whether the stack automatically associates the AWS OpsWorks Stacks built-in security groups with the stack's layers.

                                                              */ - Region?: string; + UseOpsworksSecurityGroups?: boolean; /** - *

                                                              The stack ID.

                                                              + *

                                                              The stack AWS Identity and Access Management (IAM) role.

                                                              */ - StackId?: string; + ServiceRoleArn?: string; /** - *

                                                              The stack name.

                                                              + *

                                                              Whether the stack uses custom cookbooks.

                                                              */ - Name?: string; + UseCustomCookbooks?: boolean; /** - *

                                                              The stack's default Availability Zone. For more information, see Regions and Endpoints.

                                                              + *

                                                              The stack's attributes.

                                                              */ - DefaultAvailabilityZone?: string; + Attributes?: { [key: string]: string }; /** - *

                                                              The agent version. This parameter is set to LATEST for auto-update. - * or a version number for a fixed agent version.

                                                              + *

                                                              The stack name.

                                                              */ - AgentVersion?: string; + Name?: string; /** - *

                                                              Contains the information required to retrieve an app or cookbook from a repository. For more information, - * see Adding Apps or - * Cookbooks and Recipes.

                                                              + *

                                                              A ChefConfiguration object that specifies whether to enable Berkshelf and the + * Berkshelf version. For more information, see Create a New Stack.

                                                              */ - CustomCookbooksSource?: Source; + ChefConfiguration?: ChefConfiguration; /** - *

                                                              The stack AWS Identity and Access Management (IAM) role.

                                                              + *

                                                              The stack's default Availability Zone. For more information, see Regions and Endpoints.

                                                              */ - ServiceRoleArn?: string; + DefaultAvailabilityZone?: string; /** - *

                                                              A ChefConfiguration object that specifies whether to enable Berkshelf and the - * Berkshelf version. For more information, see Create a New Stack.

                                                              + *

                                                              The stack's default operating system.

                                                              */ - ChefConfiguration?: ChefConfiguration; + DefaultOs?: string; } export namespace Stack { @@ -4419,84 +4419,84 @@ export namespace DescribeStackSummaryRequest { */ export interface InstancesCount { /** - *

                                                              The number of instances with stopped status.

                                                              + *

                                                              The number of instances with booting status.

                                                              */ - Stopped?: number; + Booting?: number; /** - *

                                                              The number of instances in the Registered state.

                                                              + *

                                                              The number of instances with setup_failed status.

                                                              */ - Registered?: number; + SetupFailed?: number; /** - *

                                                              The number of instances with online status.

                                                              + *

                                                              The number of instances with rebooting status.

                                                              */ - Online?: number; + Rebooting?: number; /** - *

                                                              The number of instances in the Registering state.

                                                              + *

                                                              The number of instances with stop_failed status.

                                                              */ - Registering?: number; + StopFailed?: number; /** - *

                                                              The number of instances with pending status.

                                                              + *

                                                              The number of instances in the Deregistering state.

                                                              */ - Pending?: number; + Deregistering?: number; /** - *

                                                              The number of instances with rebooting status.

                                                              + *

                                                              The number of instances with requested status.

                                                              */ - Rebooting?: number; + Requested?: number; /** - *

                                                              The number of instances with requested status.

                                                              + *

                                                              The number of instances in the Unassigning state.

                                                              */ - Requested?: number; + Unassigning?: number; /** - *

                                                              The number of instances with setup_failed status.

                                                              + *

                                                              The number of instances with pending status.

                                                              */ - SetupFailed?: number; + Pending?: number; /** - *

                                                              The number of instances with connection_lost status.

                                                              + *

                                                              The number of instances in the Registered state.

                                                              */ - ConnectionLost?: number; + Registered?: number; /** - *

                                                              The number of instances in the Deregistering state.

                                                              + *

                                                              The number of instances with online status.

                                                              */ - Deregistering?: number; + Online?: number; /** - *

                                                              The number of instances with terminated status.

                                                              + *

                                                              The number of instances in the Registering state.

                                                              */ - Terminated?: number; + Registering?: number; /** - *

                                                              The number of instances with stop_failed status.

                                                              + *

                                                              The number of instances with connection_lost status.

                                                              */ - StopFailed?: number; + ConnectionLost?: number; /** - *

                                                              The number of instances with shutting_down status.

                                                              + *

                                                              The number of instances in the Assigning state.

                                                              */ - ShuttingDown?: number; + Assigning?: number; /** - *

                                                              The number of instances with stopping status.

                                                              + *

                                                              The number of instances with terminating status.

                                                              */ - Stopping?: number; + Terminating?: number; /** - *

                                                              The number of instances in the Assigning state.

                                                              + *

                                                              The number of instances with start_failed status.

                                                              */ - Assigning?: number; + StartFailed?: number; /** - *

                                                              The number of instances in the Unassigning state.

                                                              + *

                                                              The number of instances with stopped status.

                                                              */ - Unassigning?: number; + Stopped?: number; /** *

                                                              The number of instances with running_setup status.

                                                              @@ -4504,19 +4504,19 @@ export interface InstancesCount { RunningSetup?: number; /** - *

                                                              The number of instances with start_failed status.

                                                              + *

                                                              The number of instances with terminated status.

                                                              */ - StartFailed?: number; + Terminated?: number; /** - *

                                                              The number of instances with booting status.

                                                              + *

                                                              The number of instances with shutting_down status.

                                                              */ - Booting?: number; + ShuttingDown?: number; /** - *

                                                              The number of instances with terminating status.

                                                              + *

                                                              The number of instances with stopping status.

                                                              */ - Terminating?: number; + Stopping?: number; } export namespace InstancesCount { @@ -4539,25 +4539,25 @@ export interface StackSummary { */ Name?: string; - /** - *

                                                              The number of apps.

                                                              - */ - AppsCount?: number; - /** *

                                                              The number of layers.

                                                              */ LayersCount?: number; /** - *

                                                              An InstancesCount object with the number of instances in each status.

                                                              + *

                                                              The number of apps.

                                                              */ - InstancesCount?: InstancesCount; + AppsCount?: number; /** *

                                                              The stack's ARN.

                                                              */ Arn?: string; + + /** + *

                                                              An InstancesCount object with the number of instances in each status.

                                                              + */ + InstancesCount?: InstancesCount; } export namespace StackSummary { @@ -4613,39 +4613,39 @@ export namespace DescribeTimeBasedAutoScalingRequest { */ export interface WeeklyAutoScalingSchedule { /** - *

                                                              The schedule for Saturday.

                                                              + *

                                                              The schedule for Wednesday.

                                                              */ - Saturday?: { [key: string]: string }; + Wednesday?: { [key: string]: string }; /** - *

                                                              The schedule for Tuesday.

                                                              + *

                                                              The schedule for Friday.

                                                              */ - Tuesday?: { [key: string]: string }; + Friday?: { [key: string]: string }; /** - *

                                                              The schedule for Friday.

                                                              + *

                                                              The schedule for Saturday.

                                                              */ - Friday?: { [key: string]: string }; + Saturday?: { [key: string]: string }; /** - *

                                                              The schedule for Monday.

                                                              + *

                                                              The schedule for Sunday.

                                                              */ - Monday?: { [key: string]: string }; + Sunday?: { [key: string]: string }; /** - *

                                                              The schedule for Thursday.

                                                              + *

                                                              The schedule for Monday.

                                                              */ - Thursday?: { [key: string]: string }; + Monday?: { [key: string]: string }; /** - *

                                                              The schedule for Wednesday.

                                                              + *

                                                              The schedule for Tuesday.

                                                              */ - Wednesday?: { [key: string]: string }; + Tuesday?: { [key: string]: string }; /** - *

                                                              The schedule for Sunday.

                                                              + *

                                                              The schedule for Thursday.

                                                              */ - Sunday?: { [key: string]: string }; + Thursday?: { [key: string]: string }; } export namespace WeeklyAutoScalingSchedule { @@ -4659,14 +4659,14 @@ export namespace WeeklyAutoScalingSchedule { */ export interface TimeBasedAutoScalingConfiguration { /** - *

                                                              A WeeklyAutoScalingSchedule object with the instance schedule.

                                                              + *

                                                              The instance ID.

                                                              */ - AutoScalingSchedule?: WeeklyAutoScalingSchedule; + InstanceId?: string; /** - *

                                                              The instance ID.

                                                              + *

                                                              A WeeklyAutoScalingSchedule object with the instance schedule.

                                                              */ - InstanceId?: string; + AutoScalingSchedule?: WeeklyAutoScalingSchedule; } export namespace TimeBasedAutoScalingConfiguration { @@ -4710,14 +4710,16 @@ export namespace DescribeUserProfilesRequest { */ export interface UserProfile { /** - *

                                                              The user's SSH user name.

                                                              + *

                                                              Whether users can specify their own SSH public key through the My Settings page. For more + * information, see Managing User + * Permissions.

                                                              */ - SshUsername?: string; + AllowSelfManagement?: boolean; /** - *

                                                              The user's IAM ARN.

                                                              + *

                                                              The user's SSH public key.

                                                              */ - IamUserArn?: string; + SshPublicKey?: string; /** *

                                                              The user's name.

                                                              @@ -4725,16 +4727,14 @@ export interface UserProfile { Name?: string; /** - *

                                                              The user's SSH public key.

                                                              + *

                                                              The user's IAM ARN.

                                                              */ - SshPublicKey?: string; + IamUserArn?: string; /** - *

                                                              Whether users can specify their own SSH public key through the My Settings page. For more - * information, see Managing User - * Permissions.

                                                              + *

                                                              The user's SSH user name.

                                                              */ - AllowSelfManagement?: boolean; + SshUsername?: string; } export namespace UserProfile { @@ -4761,9 +4761,10 @@ export namespace DescribeUserProfilesResult { export interface DescribeVolumesRequest { /** - *

                                                              A stack ID. The action describes the stack's registered Amazon EBS volumes.

                                                              + *

                                                              The instance ID. If you use this parameter, DescribeVolumes returns descriptions + * of the volumes associated with the specified instance.

                                                              */ - StackId?: string; + InstanceId?: string; /** *

                                                              Am array of volume IDs. If you use this parameter, DescribeVolumes returns @@ -4779,10 +4780,9 @@ export interface DescribeVolumesRequest { RaidArrayId?: string; /** - *

                                                              The instance ID. If you use this parameter, DescribeVolumes returns descriptions - * of the volumes associated with the specified instance.

                                                              + *

                                                              A stack ID. The action describes the stack's registered Amazon EBS volumes.

                                                              */ - InstanceId?: string; + StackId?: string; } export namespace DescribeVolumesRequest { @@ -4796,20 +4796,66 @@ export namespace DescribeVolumesRequest { */ export interface Volume { /** - *

                                                              The volume mount point. For example, "/mnt/disk1".

                                                              + *

                                                              The volume name.

                                                              */ - MountPoint?: string; + Name?: string; /** *

                                                              The AWS region. For more information about AWS regions, see Regions and Endpoints.

                                                              */ Region?: string; + /** + *

                                                              For PIOPS volumes, the IOPS per disk.

                                                              + */ + Iops?: number; + + /** + *

                                                              The volume size.

                                                              + */ + Size?: number; + + /** + *

                                                              Specifies whether an Amazon EBS volume is encrypted. For more information, + * see Amazon EBS Encryption.

                                                              + */ + Encrypted?: boolean; + + /** + *

                                                              The instance ID.

                                                              + */ + InstanceId?: string; + + /** + *

                                                              The device name.

                                                              + */ + Device?: string; + + /** + *

                                                              The value returned by DescribeVolumes.

                                                              + */ + Status?: string; + /** *

                                                              The Amazon EC2 volume ID.

                                                              */ Ec2VolumeId?: string; + /** + *

                                                              The volume mount point. For example, "/mnt/disk1".

                                                              + */ + MountPoint?: string; + + /** + *

                                                              The volume ID.

                                                              + */ + VolumeId?: string; + + /** + *

                                                              The RAID array ID.

                                                              + */ + RaidArrayId?: string; + /** *

                                                              The volume type. For more information, see * Amazon EBS Volume Types.

                                                              @@ -4838,56 +4884,10 @@ export interface Volume { */ VolumeType?: string; - /** - *

                                                              The volume ID.

                                                              - */ - VolumeId?: string; - - /** - *

                                                              The value returned by DescribeVolumes.

                                                              - */ - Status?: string; - - /** - *

                                                              The volume size.

                                                              - */ - Size?: number; - - /** - *

                                                              The RAID array ID.

                                                              - */ - RaidArrayId?: string; - /** *

                                                              The volume Availability Zone. For more information, see Regions and Endpoints.

                                                              */ AvailabilityZone?: string; - - /** - *

                                                              The instance ID.

                                                              - */ - InstanceId?: string; - - /** - *

                                                              The device name.

                                                              - */ - Device?: string; - - /** - *

                                                              Specifies whether an Amazon EBS volume is encrypted. For more information, - * see Amazon EBS Encryption.

                                                              - */ - Encrypted?: boolean; - - /** - *

                                                              For PIOPS volumes, the IOPS per disk.

                                                              - */ - Iops?: number; - - /** - *

                                                              The volume name.

                                                              - */ - Name?: string; } export namespace Volume { @@ -5000,24 +5000,24 @@ export namespace GrantAccessRequest { */ export interface TemporaryCredential { /** - *

                                                              The password.

                                                              + *

                                                              The instance's AWS OpsWorks Stacks ID.

                                                              */ - Password?: string; + InstanceId?: string; /** - *

                                                              The instance's AWS OpsWorks Stacks ID.

                                                              + *

                                                              The user name.

                                                              */ - InstanceId?: string; + Username?: string; /** - *

                                                              The length of time (in minutes) that the grant is valid. When the grant expires, at the end of this period, the user will no longer be able to use the credentials to log in. If they are logged in at the time, they will be automatically logged out.

                                                              + *

                                                              The password.

                                                              */ - ValidForInMinutes?: number; + Password?: string; /** - *

                                                              The user name.

                                                              + *

                                                              The length of time (in minutes) that the grant is valid. When the grant expires, at the end of this period, the user will no longer be able to use the credentials to log in. If they are logged in at the time, they will be automatically logged out.

                                                              */ - Username?: string; + ValidForInMinutes?: number; } export namespace TemporaryCredential { @@ -5049,14 +5049,14 @@ export namespace GrantAccessResult { */ export interface InstanceIdentity { /** - *

                                                              A signature that can be used to verify the document's accuracy and authenticity.

                                                              + *

                                                              A JSON document that contains the metadata.

                                                              */ - Signature?: string; + Document?: string; /** - *

                                                              A JSON document that contains the metadata.

                                                              + *

                                                              A signature that can be used to verify the document's accuracy and authenticity.

                                                              */ - Document?: string; + Signature?: string; } export namespace InstanceIdentity { @@ -5072,16 +5072,16 @@ export interface ListTagsRequest { ResourceArn: string | undefined; /** - *

                                                              Do not use. A validation exception occurs if you add a NextToken parameter to a ListTagsRequest call. + *

                                                              Do not use. A validation exception occurs if you add a MaxResults parameter to a ListTagsRequest call. *

                                                              */ - NextToken?: string; + MaxResults?: number; /** - *

                                                              Do not use. A validation exception occurs if you add a MaxResults parameter to a ListTagsRequest call. + *

                                                              Do not use. A validation exception occurs if you add a NextToken parameter to a ListTagsRequest call. *

                                                              */ - MaxResults?: number; + NextToken?: string; } export namespace ListTagsRequest { @@ -5094,11 +5094,6 @@ export namespace ListTagsRequest { *

                                                              Contains the response to a ListTags request.

                                                              */ export interface ListTagsResult { - /** - *

                                                              A set of key-value pairs that contain tag keys and tag values that are attached to a stack or layer.

                                                              - */ - Tags?: { [key: string]: string }; - /** *

                                                              If a paginated request does not return all of the remaining results, this parameter is set to a token that * you can assign to the request object's NextToken parameter to get the next set of results. @@ -5107,6 +5102,11 @@ export interface ListTagsResult { *

                                                              */ NextToken?: string; + + /** + *

                                                              A set of key-value pairs that contain tag keys and tag values that are attached to a stack or layer.

                                                              + */ + Tags?: { [key: string]: string }; } export namespace ListTagsResult { @@ -5191,27 +5191,12 @@ export interface RegisterElasticIpResult { } export namespace RegisterElasticIpResult { - export const filterSensitiveLog = (obj: RegisterElasticIpResult): any => ({ - ...obj, - }); -} - -export interface RegisterInstanceRequest { - /** - *

                                                              The instances public RSA key. This key is used to encrypt communication between the instance and the service.

                                                              - */ - RsaPublicKey?: string; - - /** - *

                                                              The instance's private IP address.

                                                              - */ - PrivateIp?: string; - - /** - *

                                                              The instances public RSA key fingerprint.

                                                              - */ - RsaPublicKeyFingerprint?: string; + export const filterSensitiveLog = (obj: RegisterElasticIpResult): any => ({ + ...obj, + }); +} +export interface RegisterInstanceRequest { /** *

                                                              The ID of the stack that the instance is to be registered with.

                                                              */ @@ -5222,6 +5207,11 @@ export interface RegisterInstanceRequest { */ Hostname?: string; + /** + *

                                                              The instances public RSA key fingerprint.

                                                              + */ + RsaPublicKeyFingerprint?: string; + /** *

                                                              An InstanceIdentity object that contains the instance's identity.

                                                              */ @@ -5231,6 +5221,16 @@ export interface RegisterInstanceRequest { *

                                                              The instance's public IP address.

                                                              */ PublicIp?: string; + + /** + *

                                                              The instances public RSA key. This key is used to encrypt communication between the instance and the service.

                                                              + */ + RsaPublicKey?: string; + + /** + *

                                                              The instance's private IP address.

                                                              + */ + PrivateIp?: string; } export namespace RegisterInstanceRequest { @@ -5262,9 +5262,9 @@ export interface RegisterRdsDbInstanceRequest { RdsDbInstanceArn: string | undefined; /** - *

                                                              The database password.

                                                              + *

                                                              The stack ID.

                                                              */ - DbPassword: string | undefined; + StackId: string | undefined; /** *

                                                              The database's master user name.

                                                              @@ -5272,9 +5272,9 @@ export interface RegisterRdsDbInstanceRequest { DbUser: string | undefined; /** - *

                                                              The stack ID.

                                                              + *

                                                              The database password.

                                                              */ - StackId: string | undefined; + DbPassword: string | undefined; } export namespace RegisterRdsDbInstanceRequest { @@ -5285,14 +5285,14 @@ export namespace RegisterRdsDbInstanceRequest { export interface RegisterVolumeRequest { /** - *

                                                              The stack ID.

                                                              + *

                                                              The Amazon EBS volume ID.

                                                              */ - StackId: string | undefined; + Ec2VolumeId?: string; /** - *

                                                              The Amazon EBS volume ID.

                                                              + *

                                                              The stack ID.

                                                              */ - Ec2VolumeId?: string; + StackId: string | undefined; } export namespace RegisterVolumeRequest { @@ -5318,18 +5318,6 @@ export namespace RegisterVolumeResult { } export interface SetLoadBasedAutoScalingRequest { - /** - *

                                                              An AutoScalingThresholds object with the upscaling threshold configuration. If - * the load exceeds these thresholds for a specified amount of time, AWS OpsWorks Stacks starts a specified - * number of instances.

                                                              - */ - UpScaling?: AutoScalingThresholds; - - /** - *

                                                              The layer ID.

                                                              - */ - LayerId: string | undefined; - /** *

                                                              Enables load-based auto scaling for the layer.

                                                              */ @@ -5341,6 +5329,18 @@ export interface SetLoadBasedAutoScalingRequest { * number of instances.

                                                              */ DownScaling?: AutoScalingThresholds; + + /** + *

                                                              An AutoScalingThresholds object with the upscaling threshold configuration. If + * the load exceeds these thresholds for a specified amount of time, AWS OpsWorks Stacks starts a specified + * number of instances.

                                                              + */ + UpScaling?: AutoScalingThresholds; + + /** + *

                                                              The layer ID.

                                                              + */ + LayerId: string | undefined; } export namespace SetLoadBasedAutoScalingRequest { @@ -5350,26 +5350,6 @@ export namespace SetLoadBasedAutoScalingRequest { } export interface SetPermissionRequest { - /** - *

                                                              The user's IAM ARN. This can also be a federated user's ARN.

                                                              - */ - IamUserArn: string | undefined; - - /** - *

                                                              The user is allowed to use SSH to communicate with the instance.

                                                              - */ - AllowSsh?: boolean; - - /** - *

                                                              The stack ID.

                                                              - */ - StackId: string | undefined; - - /** - *

                                                              The user is allowed to use sudo to elevate privileges.

                                                              - */ - AllowSudo?: boolean; - /** *

                                                              The user's permission level, which must be set to one of the following strings. You cannot set your own permissions level.

                                                              *
                                                                @@ -5402,6 +5382,26 @@ export interface SetPermissionRequest { *

                                                                For more information about the permissions associated with these levels, see Managing User Permissions.

                                                                */ Level?: string; + + /** + *

                                                                The user is allowed to use SSH to communicate with the instance.

                                                                + */ + AllowSsh?: boolean; + + /** + *

                                                                The stack ID.

                                                                + */ + StackId: string | undefined; + + /** + *

                                                                The user is allowed to use sudo to elevate privileges.

                                                                + */ + AllowSudo?: boolean; + + /** + *

                                                                The user's IAM ARN. This can also be a federated user's ARN.

                                                                + */ + IamUserArn: string | undefined; } export namespace SetPermissionRequest { @@ -5412,14 +5412,14 @@ export namespace SetPermissionRequest { export interface SetTimeBasedAutoScalingRequest { /** - *

                                                                The instance ID.

                                                                + *

                                                                An AutoScalingSchedule with the instance schedule.

                                                                */ - InstanceId: string | undefined; + AutoScalingSchedule?: WeeklyAutoScalingSchedule; /** - *

                                                                An AutoScalingSchedule with the instance schedule.

                                                                + *

                                                                The instance ID.

                                                                */ - AutoScalingSchedule?: WeeklyAutoScalingSchedule; + InstanceId: string | undefined; } export namespace SetTimeBasedAutoScalingRequest { @@ -5488,11 +5488,6 @@ export namespace StopStackRequest { } export interface TagResourceRequest { - /** - *

                                                                The stack or layer's Amazon Resource Number (ARN).

                                                                - */ - ResourceArn: string | undefined; - /** *

                                                                A map that contains tag keys and tag values that are attached to a stack or layer.

                                                                *
                                                                  @@ -5516,6 +5511,11 @@ export interface TagResourceRequest { *
                                                                */ Tags: { [key: string]: string } | undefined; + + /** + *

                                                                The stack or layer's Amazon Resource Number (ARN).

                                                                + */ + ResourceArn: string | undefined; } export namespace TagResourceRequest { @@ -5570,25 +5570,16 @@ export namespace UntagResourceRequest { export interface UpdateAppRequest { /** - *

                                                                A Source object that specifies the app repository.

                                                                - */ - AppSource?: Source; - - /** - *

                                                                An array of EnvironmentVariable objects that specify environment variables to be - * associated with the app. After you deploy the app, these variables are defined on the - * associated app server instances.For more information, see Environment Variables.

                                                                - *

                                                                There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, "Environment: is too large (maximum is 20 KB)."

                                                                - * - *

                                                                If you have specified one or more environment variables, you cannot modify the stack's Chef version.

                                                                - *
                                                                + *

                                                                The app's virtual host settings, with multiple domains separated by commas. For example: + * 'www.example.com, example.com' + *

                                                                */ - Environment?: EnvironmentVariable[]; + Domains?: string[]; /** - *

                                                                One or more user-defined key/value pairs to be added to the stack attributes.

                                                                + *

                                                                The app's data sources.

                                                                */ - Attributes?: { [key: string]: string }; + DataSources?: DataSource[]; /** *

                                                                Whether SSL is enabled for the app.

                                                                @@ -5596,145 +5587,86 @@ export interface UpdateAppRequest { EnableSsl?: boolean; /** - *

                                                                The app name.

                                                                + *

                                                                A description of the app.

                                                                */ - Name?: string; + Description?: string; /** - *

                                                                The app type.

                                                                + *

                                                                The app ID.

                                                                */ - Type?: AppType | string; + AppId: string | undefined; /** - *

                                                                The app's data sources.

                                                                + *

                                                                An SslConfiguration object with the SSL configuration.

                                                                */ - DataSources?: DataSource[]; + SslConfiguration?: SslConfiguration; /** - *

                                                                The app ID.

                                                                + *

                                                                One or more user-defined key/value pairs to be added to the stack attributes.

                                                                */ - AppId: string | undefined; + Attributes?: { [key: string]: string }; /** - *

                                                                The app's virtual host settings, with multiple domains separated by commas. For example: - * 'www.example.com, example.com' - *

                                                                + *

                                                                An array of EnvironmentVariable objects that specify environment variables to be + * associated with the app. After you deploy the app, these variables are defined on the + * associated app server instances.For more information, see Environment Variables.

                                                                + *

                                                                There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, "Environment: is too large (maximum is 20 KB)."

                                                                + * + *

                                                                If you have specified one or more environment variables, you cannot modify the stack's Chef version.

                                                                + *
                                                                */ - Domains?: string[]; + Environment?: EnvironmentVariable[]; /** - *

                                                                A description of the app.

                                                                + *

                                                                The app type.

                                                                */ - Description?: string; + Type?: AppType | string; /** - *

                                                                An SslConfiguration object with the SSL configuration.

                                                                + *

                                                                A Source object that specifies the app repository.

                                                                */ - SslConfiguration?: SslConfiguration; -} - -export namespace UpdateAppRequest { - export const filterSensitiveLog = (obj: UpdateAppRequest): any => ({ - ...obj, - }); -} + AppSource?: Source; -export interface UpdateElasticIpRequest { /** - *

                                                                The new name.

                                                                + *

                                                                The app name.

                                                                */ Name?: string; - - /** - *

                                                                The IP address for which you want to update the name.

                                                                - */ - ElasticIp: string | undefined; } -export namespace UpdateElasticIpRequest { - export const filterSensitiveLog = (obj: UpdateElasticIpRequest): any => ({ +export namespace UpdateAppRequest { + export const filterSensitiveLog = (obj: UpdateAppRequest): any => ({ ...obj, }); } - -export interface UpdateInstanceRequest { - /** - *

                                                                The instance ID.

                                                                - */ - InstanceId: string | undefined; - - /** - *

                                                                For load-based or time-based instances, the type. Windows stacks can use only time-based instances.

                                                                - */ - AutoScalingType?: AutoScalingType | string; - - /** - *

                                                                The instance architecture. Instance types do not necessarily support both architectures. For - * a list of the architectures that are supported by the different instance types, see Instance - * Families and Types.

                                                                - */ - Architecture?: Architecture | string; - - /** - *

                                                                The instance type, such as t2.micro. For a list of supported instance types, - * open the stack in the console, choose Instances, and choose + Instance. - * The Size list contains the currently supported types. For more information, see Instance - * Families and Types. The parameter values that you use to specify the various types are - * in the API Name column of the Available Instance Types table.

                                                                - */ - InstanceType?: string; - - /** - *

                                                                The default AWS OpsWorks Stacks agent version. You have the following options:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * INHERIT - Use the stack's default agent version setting.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * version_number - Use the specified agent version. - * This value overrides the stack's default setting. - * To update the agent version, you must edit the instance configuration and specify a - * new version. - * AWS OpsWorks Stacks then automatically installs that version on the instance.

                                                                  - *
                                                                • - *
                                                                - *

                                                                The default setting is INHERIT. To specify an agent version, - * you must use the complete version number, not the abbreviated number shown on the console. - * For a list of available agent version numbers, call DescribeAgentVersions.

                                                                - *

                                                                AgentVersion cannot be set to Chef 12.2.

                                                                - */ - AgentVersion?: string; - - /** - *

                                                                Whether to install operating system and package updates when the instance boots. The default - * value is true. To control when updates are installed, set this value to - * false. You must then update your instances manually by using - * CreateDeployment to run the update_dependencies stack command or - * by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the - * instances.

                                                                - * - *

                                                                We strongly recommend using the default value of true, to ensure that your - * instances have the latest security updates.

                                                                - *
                                                                + +export interface UpdateElasticIpRequest { + /** + *

                                                                The new name.

                                                                */ - InstallUpdatesOnBoot?: boolean; + Name?: string; /** - *

                                                                The instance host name.

                                                                + *

                                                                The IP address for which you want to update the name.

                                                                */ - Hostname?: string; + ElasticIp: string | undefined; +} + +export namespace UpdateElasticIpRequest { + export const filterSensitiveLog = (obj: UpdateElasticIpRequest): any => ({ + ...obj, + }); +} +export interface UpdateInstanceRequest { /** - *

                                                                This property cannot be updated.

                                                                + *

                                                                The instance's Amazon EC2 key name.

                                                                */ - EbsOptimized?: boolean; + SshKeyName?: string; /** - *

                                                                The instance's layer IDs.

                                                                + *

                                                                This property cannot be updated.

                                                                */ - LayerIds?: string[]; + EbsOptimized?: boolean; /** *

                                                                The ID of the AMI that was used to create the instance. The value of this parameter must be the same AMI ID that the instance is already using. @@ -5743,6 +5675,20 @@ export interface UpdateInstanceRequest { */ AmiId?: string; + /** + *

                                                                The instance type, such as t2.micro. For a list of supported instance types, + * open the stack in the console, choose Instances, and choose + Instance. + * The Size list contains the currently supported types. For more information, see Instance + * Families and Types. The parameter values that you use to specify the various types are + * in the API Name column of the Available Instance Types table.

                                                                + */ + InstanceType?: string; + + /** + *

                                                                The instance ID.

                                                                + */ + InstanceId: string | undefined; + /** *

                                                                The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.

                                                                *
                                                                  @@ -5782,64 +5728,72 @@ export interface UpdateInstanceRequest { Os?: string; /** - *

                                                                  The instance's Amazon EC2 key name.

                                                                  - */ - SshKeyName?: string; -} - -export namespace UpdateInstanceRequest { - export const filterSensitiveLog = (obj: UpdateInstanceRequest): any => ({ - ...obj, - }); -} - -export interface UpdateLayerRequest { - /** - *

                                                                  - */ - LifecycleEventConfiguration?: LifecycleEventConfiguration; - - /** - *

                                                                  The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more - * information about IAM ARNs, see Using - * Identifiers.

                                                                  + *

                                                                  The instance host name.

                                                                  */ - CustomInstanceProfileArn?: string; + Hostname?: string; /** - *

                                                                  The layer name, which is used by the console.

                                                                  + *

                                                                  Whether to install operating system and package updates when the instance boots. The default + * value is true. To control when updates are installed, set this value to + * false. You must then update your instances manually by using + * CreateDeployment to run the update_dependencies stack command or + * by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the + * instances.

                                                                  + * + *

                                                                  We strongly recommend using the default value of true, to ensure that your + * instances have the latest security updates.

                                                                  + *
                                                                  */ - Name?: string; + InstallUpdatesOnBoot?: boolean; /** - *

                                                                  For stacks that are running in a VPC, whether to automatically assign a public IP address to - * the layer's instances. For more information, see How to Edit - * a Layer.

                                                                  + *

                                                                  The instance architecture. Instance types do not necessarily support both architectures. For + * a list of the architectures that are supported by the different instance types, see Instance + * Families and Types.

                                                                  */ - AutoAssignPublicIps?: boolean; + Architecture?: Architecture | string; /** - *

                                                                  For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters and must be in the following format: /\A[a-z0-9\-\_\.]+\Z/.

                                                                  - *

                                                                  The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference - *

                                                                  + *

                                                                  The default AWS OpsWorks Stacks agent version. You have the following options:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * INHERIT - Use the stack's default agent version setting.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * version_number - Use the specified agent version. + * This value overrides the stack's default setting. + * To update the agent version, you must edit the instance configuration and specify a + * new version. + * AWS OpsWorks Stacks then automatically installs that version on the instance.

                                                                    + *
                                                                  • + *
                                                                  + *

                                                                  The default setting is INHERIT. To specify an agent version, + * you must use the complete version number, not the abbreviated number shown on the console. + * For a list of available agent version numbers, call DescribeAgentVersions.

                                                                  + *

                                                                  AgentVersion cannot be set to Chef 12.2.

                                                                  */ - Shortname?: string; + AgentVersion?: string; /** - *

                                                                  Whether to disable auto healing for the layer.

                                                                  + *

                                                                  The instance's layer IDs.

                                                                  */ - EnableAutoHealing?: boolean; + LayerIds?: string[]; /** - *

                                                                  An array of Package objects that describe the layer's packages.

                                                                  + *

                                                                  For load-based or time-based instances, the type. Windows stacks can use only time-based instances.

                                                                  */ - Packages?: string[]; + AutoScalingType?: AutoScalingType | string; +} - /** - *

                                                                  Specifies CloudWatch Logs configuration options for the layer. For more information, see CloudWatchLogsLogStream.

                                                                  - */ - CloudWatchLogsConfiguration?: CloudWatchLogsConfiguration; +export namespace UpdateInstanceRequest { + export const filterSensitiveLog = (obj: UpdateInstanceRequest): any => ({ + ...obj, + }); +} +export interface UpdateLayerRequest { /** *

                                                                  Whether to use Amazon EBS-optimized instances.

                                                                  */ @@ -5860,14 +5814,14 @@ export interface UpdateLayerRequest { InstallUpdatesOnBoot?: boolean; /** - *

                                                                  One or more user-defined key/value pairs to be added to the stack attributes.

                                                                  + *

                                                                  The layer name, which is used by the console.

                                                                  */ - Attributes?: { [key: string]: string }; + Name?: string; /** - *

                                                                  A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

                                                                  + *

                                                                  One or more user-defined key/value pairs to be added to the stack attributes.

                                                                  */ - VolumeConfigurations?: VolumeConfiguration[]; + Attributes?: { [key: string]: string }; /** *

                                                                  Whether to automatically assign an Elastic IP @@ -5876,6 +5830,43 @@ export interface UpdateLayerRequest { */ AutoAssignElasticIps?: boolean; + /** + *

                                                                  The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more + * information about IAM ARNs, see Using + * Identifiers.

                                                                  + */ + CustomInstanceProfileArn?: string; + + /** + *

                                                                  Whether to disable auto healing for the layer.

                                                                  + */ + EnableAutoHealing?: boolean; + + /** + *

                                                                  A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

                                                                  + */ + VolumeConfigurations?: VolumeConfiguration[]; + + /** + *

                                                                  A LayerCustomRecipes object that specifies the layer's custom recipes.

                                                                  + */ + CustomRecipes?: Recipes; + + /** + *

                                                                  Specifies CloudWatch Logs configuration options for the layer. For more information, see CloudWatchLogsLogStream.

                                                                  + */ + CloudWatchLogsConfiguration?: CloudWatchLogsConfiguration; + + /** + *

                                                                  An array of Package objects that describe the layer's packages.

                                                                  + */ + Packages?: string[]; + + /** + *

                                                                  + */ + LifecycleEventConfiguration?: LifecycleEventConfiguration; + /** *

                                                                  The layer ID.

                                                                  */ @@ -5886,6 +5877,13 @@ export interface UpdateLayerRequest { */ CustomSecurityGroupIds?: string[]; + /** + *

                                                                  For stacks that are running in a VPC, whether to automatically assign a public IP address to + * the layer's instances. For more information, see How to Edit + * a Layer.

                                                                  + */ + AutoAssignPublicIps?: boolean; + /** *

                                                                  A JSON-formatted string containing custom stack configuration and deployment attributes * to be installed on the layer's instances. For more information, see @@ -5896,9 +5894,11 @@ export interface UpdateLayerRequest { CustomJson?: string; /** - *

                                                                  A LayerCustomRecipes object that specifies the layer's custom recipes.

                                                                  + *

                                                                  For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters and must be in the following format: /\A[a-z0-9\-\_\.]+\Z/.

                                                                  + *

                                                                  The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference + *

                                                                  */ - CustomRecipes?: Recipes; + Shortname?: string; } export namespace UpdateLayerRequest { @@ -5911,74 +5911,143 @@ export interface UpdateMyUserProfileRequest { /** *

                                                                  The user's SSH public key.

                                                                  */ - SshPublicKey?: string; -} - -export namespace UpdateMyUserProfileRequest { - export const filterSensitiveLog = (obj: UpdateMyUserProfileRequest): any => ({ - ...obj, - }); -} + SshPublicKey?: string; +} + +export namespace UpdateMyUserProfileRequest { + export const filterSensitiveLog = (obj: UpdateMyUserProfileRequest): any => ({ + ...obj, + }); +} + +export interface UpdateRdsDbInstanceRequest { + /** + *

                                                                  The Amazon RDS instance's ARN.

                                                                  + */ + RdsDbInstanceArn: string | undefined; + + /** + *

                                                                  The database password.

                                                                  + */ + DbPassword?: string; + + /** + *

                                                                  The master user name.

                                                                  + */ + DbUser?: string; +} + +export namespace UpdateRdsDbInstanceRequest { + export const filterSensitiveLog = (obj: UpdateRdsDbInstanceRequest): any => ({ + ...obj, + }); +} + +export interface UpdateStackRequest { + /** + *

                                                                  One or more user-defined key-value pairs to be added to the stack attributes.

                                                                  + */ + Attributes?: { [key: string]: string }; + + /** + *

                                                                  A ChefConfiguration object that specifies whether to enable Berkshelf and the + * Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

                                                                  + */ + ChefConfiguration?: ChefConfiguration; + + /** + *

                                                                  The stack's operating system, which must be set to one of the following:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, + * Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * CentOS Linux 7 + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * Red Hat Enterprise Linux 7 + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, + * Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    A custom AMI: Custom. You specify the custom AMI you want to use when + * you create instances. For more information about how to use custom AMIs with OpsWorks, see Using + * Custom AMIs.

                                                                    + *
                                                                  • + *
                                                                  + *

                                                                  The default option is the stack's current operating system. + * For more information about supported operating systems, + * see AWS OpsWorks Stacks Operating Systems.

                                                                  + */ + DefaultOs?: string; -export interface UpdateRdsDbInstanceRequest { /** - *

                                                                  The Amazon RDS instance's ARN.

                                                                  + *

                                                                  A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format:

                                                                  + *

                                                                  + * "{\"key1\": \"value1\", \"key2\": \"value2\",...}" + *

                                                                  + *

                                                                  For more information about custom JSON, see Use Custom JSON to + * Modify the Stack Configuration Attributes.

                                                                  */ - RdsDbInstanceArn: string | undefined; + CustomJson?: string; /** - *

                                                                  The master user name.

                                                                  + *

                                                                  The stack's default VPC subnet ID. This parameter is required if you specify a value for the + * VpcId parameter. All instances are launched into this subnet unless you specify + * otherwise when you create the instance. If you also specify a value for + * DefaultAvailabilityZone, the subnet must be in that zone. For information on + * default values and when this parameter is required, see the VpcId parameter + * description.

                                                                  */ - DbUser?: string; + DefaultSubnetId?: string; /** - *

                                                                  The database password.

                                                                  + *

                                                                  The configuration manager. When you update a stack, we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.

                                                                  */ - DbPassword?: string; -} - -export namespace UpdateRdsDbInstanceRequest { - export const filterSensitiveLog = (obj: UpdateRdsDbInstanceRequest): any => ({ - ...obj, - }); -} + ConfigurationManager?: StackConfigurationManager; -export interface UpdateStackRequest { /** - *

                                                                  Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

                                                                  - *

                                                                  AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are - * associated with layers by default. UseOpsworksSecurityGroups allows you to - * provide your own custom security groups - * instead of using the built-in groups. UseOpsworksSecurityGroups has - * the following settings:

                                                                  + *

                                                                  The default AWS OpsWorks Stacks agent version. You have the following options:

                                                                  *
                                                                    *
                                                                  • - *

                                                                    True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

                                                                    + *

                                                                    Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks + * automatically installs new agent versions on the stack's instances as soon as + * they are available.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on. Custom security groups are required only for those layers that need custom settings.

                                                                    + *

                                                                    Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

                                                                    *
                                                                  • *
                                                                  - *

                                                                  For more information, see Create a New - * Stack.

                                                                  + *

                                                                  The default setting is LATEST. To specify an agent version, + * you must use the complete version number, not the abbreviated number shown on the console. + * For a list of available agent version numbers, call DescribeAgentVersions. + * AgentVersion cannot be set to Chef 12.2.

                                                                  + * + *

                                                                  You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

                                                                  + *
                                                                  */ - UseOpsworksSecurityGroups?: boolean; + AgentVersion?: string; /** - *

                                                                  The stack's default Availability Zone, which must be in the - * stack's region. For more - * information, see Regions and - * Endpoints. If you also specify a value for DefaultSubnetId, the subnet must - * be in the same zone. For more information, see CreateStack.

                                                                  + *

                                                                  Contains the information required to retrieve an app or cookbook from a repository. For more information, + * see Adding Apps or Cookbooks and Recipes.

                                                                  */ - DefaultAvailabilityZone?: string; + CustomCookbooksSource?: Source; /** - *

                                                                  The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. - * For more information about IAM ARNs, see Using - * Identifiers.

                                                                  + *

                                                                  Do not use this parameter. You cannot update a stack's service role.

                                                                  */ - DefaultInstanceProfileArn?: string; + ServiceRoleArn?: string; /** *

                                                                  The stack's new host name theme, with spaces replaced by underscores. @@ -6048,31 +6117,23 @@ export interface UpdateStackRequest { HostnameTheme?: string; /** - *

                                                                  The default AWS OpsWorks Stacks agent version. You have the following options:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks - * automatically installs new agent versions on the stack's instances as soon as - * they are available.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

                                                                    - *
                                                                  • - *
                                                                  - *

                                                                  The default setting is LATEST. To specify an agent version, - * you must use the complete version number, not the abbreviated number shown on the console. - * For a list of available agent version numbers, call DescribeAgentVersions. - * AgentVersion cannot be set to Chef 12.2.

                                                                  - * - *

                                                                  You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

                                                                  - *
                                                                  + *

                                                                  The stack ID.

                                                                  */ - AgentVersion?: string; + StackId: string | undefined; /** - *

                                                                  Whether the stack uses custom cookbooks.

                                                                  + *

                                                                  The stack's new name.

                                                                  */ - UseCustomCookbooks?: boolean; + Name?: string; + + /** + *

                                                                  The stack's default Availability Zone, which must be in the + * stack's region. For more + * information, see Regions and + * Endpoints. If you also specify a value for DefaultSubnetId, the subnet must + * be in the same zone. For more information, see CreateStack.

                                                                  + */ + DefaultAvailabilityZone?: string; /** *

                                                                  A default Amazon EC2 key-pair name. The default value is @@ -6087,103 +6148,42 @@ export interface UpdateStackRequest { DefaultSshKeyName?: string; /** - *

                                                                  The stack ID.

                                                                  - */ - StackId: string | undefined; - - /** - *

                                                                  The stack's default VPC subnet ID. This parameter is required if you specify a value for the - * VpcId parameter. All instances are launched into this subnet unless you specify - * otherwise when you create the instance. If you also specify a value for - * DefaultAvailabilityZone, the subnet must be in that zone. For information on - * default values and when this parameter is required, see the VpcId parameter - * description.

                                                                  - */ - DefaultSubnetId?: string; - - /** - *

                                                                  The configuration manager. When you update a stack, we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.

                                                                  - */ - ConfigurationManager?: StackConfigurationManager; - - /** - *

                                                                  A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format:

                                                                  - *

                                                                  - * "{\"key1\": \"value1\", \"key2\": \"value2\",...}" - *

                                                                  - *

                                                                  For more information about custom JSON, see Use Custom JSON to - * Modify the Stack Configuration Attributes.

                                                                  - */ - CustomJson?: string; - - /** - *

                                                                  The default root device type. This value is used by default for all instances in the stack, - * but you can override it when you create an instance. For more information, see Storage for the Root Device.

                                                                  - */ - DefaultRootDeviceType?: RootDeviceType | string; - - /** - *

                                                                  Contains the information required to retrieve an app or cookbook from a repository. For more information, - * see Adding Apps or Cookbooks and Recipes.

                                                                  - */ - CustomCookbooksSource?: Source; - - /** - *

                                                                  A ChefConfiguration object that specifies whether to enable Berkshelf and the - * Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

                                                                  - */ - ChefConfiguration?: ChefConfiguration; - - /** - *

                                                                  One or more user-defined key-value pairs to be added to the stack attributes.

                                                                  - */ - Attributes?: { [key: string]: string }; - - /** - *

                                                                  Do not use this parameter. You cannot update a stack's service role.

                                                                  + *

                                                                  The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. + * For more information about IAM ARNs, see Using + * Identifiers.

                                                                  */ - ServiceRoleArn?: string; + DefaultInstanceProfileArn?: string; /** - *

                                                                  The stack's new name.

                                                                  + *

                                                                  Whether the stack uses custom cookbooks.

                                                                  */ - Name?: string; + UseCustomCookbooks?: boolean; /** - *

                                                                  The stack's operating system, which must be set to one of the following:

                                                                  + *

                                                                  Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

                                                                  + *

                                                                  AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are + * associated with layers by default. UseOpsworksSecurityGroups allows you to + * provide your own custom security groups + * instead of using the built-in groups. UseOpsworksSecurityGroups has + * the following settings:

                                                                  *
                                                                    *
                                                                  • - *

                                                                    A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, - * Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * CentOS Linux 7 - *

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * Red Hat Enterprise Linux 7 - *

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, - * Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

                                                                    + *

                                                                    True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    A custom AMI: Custom. You specify the custom AMI you want to use when - * you create instances. For more information about how to use custom AMIs with OpsWorks, see Using - * Custom AMIs.

                                                                    + *

                                                                    False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on. Custom security groups are required only for those layers that need custom settings.

                                                                    *
                                                                  • *
                                                                  - *

                                                                  The default option is the stack's current operating system. - * For more information about supported operating systems, - * see AWS OpsWorks Stacks Operating Systems.

                                                                  + *

                                                                  For more information, see Create a New + * Stack.

                                                                  */ - DefaultOs?: string; + UseOpsworksSecurityGroups?: boolean; + + /** + *

                                                                  The default root device type. This value is used by default for all instances in the stack, + * but you can override it when you create an instance. For more information, see Storage for the Root Device.

                                                                  + */ + DefaultRootDeviceType?: RootDeviceType | string; } export namespace UpdateStackRequest { @@ -6193,6 +6193,11 @@ export namespace UpdateStackRequest { } export interface UpdateUserProfileRequest { + /** + *

                                                                  The user IAM ARN. This can also be a federated user's ARN.

                                                                  + */ + IamUserArn: string | undefined; + /** *

                                                                  The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If * the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, @@ -6201,22 +6206,17 @@ export interface UpdateUserProfileRequest { */ SshUsername?: string; + /** + *

                                                                  The user's new SSH public key.

                                                                  + */ + SshPublicKey?: string; + /** *

                                                                  Whether users can specify their own SSH public key through the My Settings page. For more * information, see Managing User * Permissions.

                                                                  */ AllowSelfManagement?: boolean; - - /** - *

                                                                  The user IAM ARN. This can also be a federated user's ARN.

                                                                  - */ - IamUserArn: string | undefined; - - /** - *

                                                                  The user's new SSH public key.

                                                                  - */ - SshPublicKey?: string; } export namespace UpdateUserProfileRequest { @@ -6227,9 +6227,9 @@ export namespace UpdateUserProfileRequest { export interface UpdateVolumeRequest { /** - *

                                                                  The new mount point.

                                                                  + *

                                                                  The new name.

                                                                  */ - MountPoint?: string; + Name?: string; /** *

                                                                  The volume ID.

                                                                  @@ -6237,9 +6237,9 @@ export interface UpdateVolumeRequest { VolumeId: string | undefined; /** - *

                                                                  The new name.

                                                                  + *

                                                                  The new mount point.

                                                                  */ - Name?: string; + MountPoint?: string; } export namespace UpdateVolumeRequest { diff --git a/clients/client-opsworkscm/models/models_0.ts b/clients/client-opsworkscm/models/models_0.ts index 40bd4beb5fe1..bcf106bfd0ed 100644 --- a/clients/client-opsworkscm/models/models_0.ts +++ b/clients/client-opsworkscm/models/models_0.ts @@ -6,6 +6,13 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; *

                                                                  */ export interface AccountAttribute { + /** + *

                                                                  + * The maximum allowed value. + *

                                                                  + */ + Maximum?: number; + /** *

                                                                  * The attribute name. The following are supported attribute names. @@ -26,13 +33,6 @@ export interface AccountAttribute { */ Name?: string; - /** - *

                                                                  - * The maximum allowed value. - *

                                                                  - */ - Maximum?: number; - /** *

                                                                  * The current usage, such as the current number of servers that are associated with the account. @@ -107,16 +107,16 @@ export interface AssociateNodeRequest { EngineAttributes: EngineAttribute[] | undefined; /** - *

                                                                  The name of the server with which to associate the node. + *

                                                                  The name of the node. *

                                                                  */ - ServerName: string | undefined; + NodeName: string | undefined; /** - *

                                                                  The name of the node. + *

                                                                  The name of the server with which to associate the node. *

                                                                  */ - NodeName: string | undefined; + ServerName: string | undefined; } export namespace AssociateNodeRequest { @@ -222,24 +222,24 @@ export enum BackupStatus { export interface Backup { /** *

                                                                  - * The generated ID of the backup. Example: myServerName-yyyyMMddHHmmssSSS - *

                                                                  + * The version of AWS OpsWorks CM-specific tools that is obtained from the server when the backup is created. + *

                                                                  */ - BackupId?: string; + ToolsVersion?: string; /** *

                                                                  - * An informational message about backup status. + * This field is deprecated and is no longer used. *

                                                                  */ - StatusDescription?: string; + S3DataSize?: number; /** *

                                                                  - * The Amazon S3 URL of the backup's log file. + * The key pair that is obtained from the server when the backup is created. *

                                                                  */ - S3LogUrl?: string; + KeyPair?: string; /** *

                                                                  The status of a backup while in progress. @@ -249,100 +249,93 @@ export interface Backup { /** *

                                                                  - * The version of AWS OpsWorks CM-specific tools that is obtained from the server when the backup is created. + * The IAM user ARN of the requester for manual backups. This field is empty for automated backups. *

                                                                  */ - ToolsVersion?: string; + UserArn?: string; /** - *

                                                                  - * The engine type that is obtained from the server when the backup is created. + *

                                                                  The ARN of the backup. *

                                                                  */ - Engine?: string; + BackupArn?: string; /** *

                                                                  - * The backup type. Valid values are automated or manual. - *

                                                                  + * The time stamp when the backup was created in the database. Example: 2016-07-29T13:38:47.520Z + *

                                                                  */ - BackupType?: BackupType | string; + CreatedAt?: Date; /** *

                                                                  - * The engine model that is obtained from the server when the backup is created. + * This field is deprecated and is no longer used. *

                                                                  */ - EngineModel?: string; + S3DataUrl?: string; /** *

                                                                  - * The instance type that is obtained from the server when the backup is created. + * The service role ARN that is obtained from the server when the backup is created. *

                                                                  */ - InstanceType?: string; + ServiceRoleArn?: string; /** *

                                                                  - * A user-provided description for a manual backup. This field is empty for automated backups. + * The engine version that is obtained from the server when the backup is created. *

                                                                  */ - Description?: string; + EngineVersion?: string; /** *

                                                                  - * The key pair that is obtained from the server when the backup is created. + * A user-provided description for a manual backup. This field is empty for automated backups. *

                                                                  */ - KeyPair?: string; + Description?: string; /** *

                                                                  - * The IAM user ARN of the requester for manual backups. This field is empty for automated backups. + * The backup type. Valid values are automated or manual. *

                                                                  */ - UserArn?: string; + BackupType?: BackupType | string; /** *

                                                                  - * This field is deprecated and is no longer used. + * The name of the server from which the backup was made. *

                                                                  */ - S3DataSize?: number; + ServerName?: string; /** *

                                                                  - * The service role ARN that is obtained from the server when the backup is created. + * The engine type that is obtained from the server when the backup is created. *

                                                                  */ - ServiceRoleArn?: string; + Engine?: string; /** *

                                                                  - * The name of the server from which the backup was made. + * The instance type that is obtained from the server when the backup is created. *

                                                                  */ - ServerName?: string; + InstanceType?: string; /** *

                                                                  - * The time stamp when the backup was created in the database. Example: 2016-07-29T13:38:47.520Z - *

                                                                  - */ - CreatedAt?: Date; - - /** - *

                                                                  The ARN of the backup. + * An informational message about backup status. *

                                                                  */ - BackupArn?: string; + StatusDescription?: string; /** *

                                                                  - * The engine version that is obtained from the server when the backup is created. + * The Amazon S3 URL of the backup's log file. *

                                                                  */ - EngineVersion?: string; + S3LogUrl?: string; /** *

                                                                  @@ -360,24 +353,24 @@ export interface Backup { /** *

                                                                  - * The preferred maintenance period that is obtained from the server when the backup is created. + * The preferred backup period that is obtained from the server when the backup is created. *

                                                                  */ - PreferredMaintenanceWindow?: string; + PreferredBackupWindow?: string; /** *

                                                                  - * The preferred backup period that is obtained from the server when the backup is created. + * The preferred maintenance period that is obtained from the server when the backup is created. *

                                                                  */ - PreferredBackupWindow?: string; + PreferredMaintenanceWindow?: string; /** *

                                                                  - * This field is deprecated and is no longer used. + * The engine model that is obtained from the server when the backup is created. *

                                                                  */ - S3DataUrl?: string; + EngineModel?: string; /** *

                                                                  @@ -386,6 +379,13 @@ export interface Backup { *

                                                                  */ InstanceProfileArn?: string; + + /** + *

                                                                  + * The generated ID of the backup. Example: myServerName-yyyyMMddHHmmssSSS + *

                                                                  + */ + BackupId?: string; } export namespace Backup { @@ -401,18 +401,18 @@ export namespace Backup { */ export interface Tag { /** - *

                                                                  A tag key, such as Stage or Name. A tag key cannot be empty. The key can be a maximum of 127 characters, - * and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / + *

                                                                  An optional tag value, such as Production or test-owcm-server. The value can be a maximum of 255 characters, + * and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / *

                                                                  */ - Key: string | undefined; + Value: string | undefined; /** - *

                                                                  An optional tag value, such as Production or test-owcm-server. The value can be a maximum of 255 characters, - * and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / + *

                                                                  A tag key, such as Stage or Name. A tag key cannot be empty. The key can be a maximum of 127 characters, + * and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / *

                                                                  */ - Value: string | undefined; + Key: string | undefined; } export namespace Tag { @@ -422,12 +422,6 @@ export namespace Tag { } export interface CreateBackupRequest { - /** - *

                                                                  The name of the server that you want to back up. - *

                                                                  - */ - ServerName: string | undefined; - /** *

                                                                  A map that contains tag keys and tag values to attach to an AWS OpsWorks-CM server backup.

                                                                  *
                                                                    @@ -458,6 +452,12 @@ export interface CreateBackupRequest { *

                                                                    */ Description?: string; + + /** + *

                                                                    The name of the server that you want to back up. + *

                                                                    + */ + ServerName: string | undefined; } export namespace CreateBackupRequest { @@ -501,79 +501,99 @@ export namespace LimitExceededException { export interface CreateServerRequest { /** - *

                                                                    - * A list of security group IDs to attach to the Amazon EC2 instance. If you add this parameter, the specified security groups - * must be within the VPC that is specified by SubnetIds. - *

                                                                    - *

                                                                    - * If you do not specify this parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 and 443, open to - * 0.0.0.0/0 (everyone). - *

                                                                    + *

                                                                    A PEM-formatted HTTPS certificate. The value can be be a single, self-signed certificate, or a certificate chain. If you specify a + * custom certificate, you must also specify values for CustomDomain and CustomPrivateKey. The following are requirements for the CustomCertificate value:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      You can provide either a self-signed, custom certificate, or the full certificate chain.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      The certificate must be a valid X509 certificate, or a certificate chain in PEM format.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      The certificate must be valid at the time of upload. A certificate can't be used before its validity period begins (the certificate's NotBefore date), or after it expires + * (the certificate's NotAfter date).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      The certificate’s common name or subject alternative names (SANs), if present, must match the value of CustomDomain.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      The certificate must match the value of CustomPrivateKey.

                                                                      + *
                                                                    • + *
                                                                    */ - SecurityGroupIds?: string[]; + CustomCertificate?: string; /** *

                                                                    - * The IDs of subnets in which to launch the server EC2 instance. - *

                                                                    - *

                                                                    - * Amazon EC2-Classic customers: This field is required. All servers must run within a VPC. The VPC must have "Auto Assign Public IP" enabled. - *

                                                                    - *

                                                                    - * EC2-VPC customers: This field is optional. If you do not specify subnet IDs, your EC2 instances are created in a default subnet that is selected by Amazon EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" enabled. + * The service role that the AWS OpsWorks CM service backend uses to work with your account. Although the AWS OpsWorks management console typically creates + * the service role for you, if you are using the AWS CLI or API commands, + * run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. + * This template creates a CloudFormation stack that includes the service role and instance profile that you need. *

                                                                    - *

                                                                    For more information about supported Amazon EC2 platforms, see - * Supported Platforms.

                                                                    */ - SubnetIds?: string[]; + ServiceRoleArn: string | undefined; /** *

                                                                    - * The number of automated backups that you want to keep. Whenever a new backup is created, AWS OpsWorks CM deletes the oldest backups if this number is exceeded. - * The default value is 1. + * The engine model of the server. Valid values in this release include Monolithic for Puppet and Single for Chef. *

                                                                    */ - BackupRetentionCount?: number; + EngineModel?: string; /** *

                                                                    - * If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId. - *

                                                                    + * Enable or disable scheduled backups. Valid values are true or false. The default value is true. + *

                                                                    */ - BackupId?: string; + DisableAutomatedBackup?: boolean; /** *

                                                                    - * The configuration management engine to use. Valid values include ChefAutomate and Puppet. + * Associate a public IP address with a server that you are launching. Valid values are true or false. The default value is true. *

                                                                    */ - Engine: string | undefined; + AssociatePublicIpAddress?: boolean; /** *

                                                                    - * The ARN of the instance profile that your Amazon EC2 - * instances use. Although the AWS OpsWorks console typically creates - * the instance profile for you, if you are using API commands instead, run the service-role-creation.yaml - * AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. - * This template creates a CloudFormation stack that includes the instance profile you need. - * - *

                                                                    + * The start time for a one-hour period during which AWS OpsWorks CM backs up application-level data on your server + * if automated backups are enabled. Valid values must be specified in one of the following formats: + *

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * HH:MM for daily backups

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * DDD:HH:MM for weekly backups

                                                                      + *
                                                                    • + *
                                                                    + *

                                                                    + * MM must be specified as 00. The specified time is in coordinated universal time (UTC). The default value is a random, daily start time.

                                                                    + *

                                                                    + * Example: + * 08:00, which represents a daily start time of 08:00 UTC.

                                                                    + *

                                                                    + * Example: + * Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)

                                                                    */ - InstanceProfileArn: string | undefined; + PreferredBackupWindow?: string; /** *

                                                                    - * The Amazon EC2 instance type to use. For example, m5.large. + * The Amazon EC2 key pair to set for the instance. This parameter is optional; if desired, you may specify this parameter to connect to your instances by using SSH. *

                                                                    */ - InstanceType: string | undefined; + KeyPair?: string; /** *

                                                                    - * The major release version of the engine that you want to use. For a Chef server, the valid value for EngineVersion is currently 2. For a Puppet server, the valid value is 2017. + * The Amazon EC2 instance type to use. For example, m5.large. *

                                                                    */ - EngineVersion?: string; + InstanceType: string | undefined; /** *

                                                                    A private key in PEM format for connecting to the server by using HTTPS. The private key must not be encrypted; it cannot be protected by a password or passphrase. @@ -581,16 +601,6 @@ export interface CreateServerRequest { */ CustomPrivateKey?: string; - /** - *

                                                                    - * The service role that the AWS OpsWorks CM service backend uses to work with your account. Although the AWS OpsWorks management console typically creates - * the service role for you, if you are using the AWS CLI or API commands, - * run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. - * This template creates a CloudFormation stack that includes the service role and instance profile that you need. - *

                                                                    - */ - ServiceRoleArn: string | undefined; - /** *

                                                                    * The name of the server. The server name must be unique within your AWS account, within each region. @@ -601,29 +611,27 @@ export interface CreateServerRequest { /** *

                                                                    - * The start time for a one-hour period during which AWS OpsWorks CM backs up application-level data on your server - * if automated backups are enabled. Valid values must be specified in one of the following formats: - *

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * HH:MM for daily backups

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * DDD:HH:MM for weekly backups

                                                                      - *
                                                                    • - *
                                                                    - *

                                                                    - * MM must be specified as 00. The specified time is in coordinated universal time (UTC). The default value is a random, daily start time.

                                                                    - *

                                                                    - * Example: - * 08:00, which represents a daily start time of 08:00 UTC.

                                                                    + * The ARN of the instance profile that your Amazon EC2 + * instances use. Although the AWS OpsWorks console typically creates + * the instance profile for you, if you are using API commands instead, run the service-role-creation.yaml + * AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. + * This template creates a CloudFormation stack that includes the instance profile you need. + * + *

                                                                    + */ + InstanceProfileArn: string | undefined; + + /** + *

                                                                    + * A list of security group IDs to attach to the Amazon EC2 instance. If you add this parameter, the specified security groups + * must be within the VPC that is specified by SubnetIds. + *

                                                                    *

                                                                    - * Example: - * Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)

                                                                    + * If you do not specify this parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 and 443, open to + * 0.0.0.0/0 (everyone). + *

                                                                    */ - PreferredBackupWindow?: string; + SecurityGroupIds?: string[]; /** *

                                                                    @@ -639,6 +647,82 @@ export interface CreateServerRequest { */ PreferredMaintenanceWindow?: string; + /** + *

                                                                    + * The major release version of the engine that you want to use. For a Chef server, the valid value for EngineVersion is currently 2. For a Puppet server, the valid value is 2017. + *

                                                                    + */ + EngineVersion?: string; + + /** + *

                                                                    + * The number of automated backups that you want to keep. Whenever a new backup is created, AWS OpsWorks CM deletes the oldest backups if this number is exceeded. + * The default value is 1. + *

                                                                    + */ + BackupRetentionCount?: number; + + /** + *

                                                                    + * The IDs of subnets in which to launch the server EC2 instance. + *

                                                                    + *

                                                                    + * Amazon EC2-Classic customers: This field is required. All servers must run within a VPC. The VPC must have "Auto Assign Public IP" enabled. + *

                                                                    + *

                                                                    + * EC2-VPC customers: This field is optional. If you do not specify subnet IDs, your EC2 instances are created in a default subnet that is selected by Amazon EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" enabled. + *

                                                                    + *

                                                                    For more information about supported Amazon EC2 platforms, see + * Supported Platforms.

                                                                    + */ + SubnetIds?: string[]; + + /** + *

                                                                    + * If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId. + *

                                                                    + */ + BackupId?: string; + + /** + *

                                                                    A map that contains tag keys and tag values to attach to an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      The key cannot be empty.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / @ + *

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / @ + *

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      Leading and trailing white spaces are trimmed from both the key and value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      A maximum of 50 user-applied tags is allowed for any AWS OpsWorks-CM server.

                                                                      + *
                                                                    • + *
                                                                    + */ + Tags?: Tag[]; + + /** + *

                                                                    + * The configuration management engine to use. Valid values include ChefAutomate and Puppet. + *

                                                                    + */ + Engine: string | undefined; + + /** + *

                                                                    An optional public endpoint of a server, such as https://aws.my-company.com. To access the server, create a CNAME DNS record in your preferred DNS service that points the custom + * domain to the endpoint that is generated when the server is created (the value of the CreateServer Endpoint attribute). You cannot access the server by using the + * generated Endpoint value if the server is using a custom domain. If you specify a custom domain, you must also specify values for CustomCertificate + * and CustomPrivateKey.

                                                                    + */ + CustomDomain?: string; + /** *

                                                                    Optional engine attributes on a specified server. *

                                                                    @@ -686,90 +770,6 @@ export interface CreateServerRequest { *
                                                                  */ EngineAttributes?: EngineAttribute[]; - - /** - *

                                                                  A map that contains tag keys and tag values to attach to an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server.

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    The key cannot be empty.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / @ - *

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / @ - *

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    Leading and trailing white spaces are trimmed from both the key and value.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    A maximum of 50 user-applied tags is allowed for any AWS OpsWorks-CM server.

                                                                    - *
                                                                  • - *
                                                                  - */ - Tags?: Tag[]; - - /** - *

                                                                  A PEM-formatted HTTPS certificate. The value can be be a single, self-signed certificate, or a certificate chain. If you specify a - * custom certificate, you must also specify values for CustomDomain and CustomPrivateKey. The following are requirements for the CustomCertificate value:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    You can provide either a self-signed, custom certificate, or the full certificate chain.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    The certificate must be a valid X509 certificate, or a certificate chain in PEM format.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    The certificate must be valid at the time of upload. A certificate can't be used before its validity period begins (the certificate's NotBefore date), or after it expires - * (the certificate's NotAfter date).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    The certificate’s common name or subject alternative names (SANs), if present, must match the value of CustomDomain.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    The certificate must match the value of CustomPrivateKey.

                                                                    - *
                                                                  • - *
                                                                  - */ - CustomCertificate?: string; - - /** - *

                                                                  - * Associate a public IP address with a server that you are launching. Valid values are true or false. The default value is true. - *

                                                                  - */ - AssociatePublicIpAddress?: boolean; - - /** - *

                                                                  - * The Amazon EC2 key pair to set for the instance. This parameter is optional; if desired, you may specify this parameter to connect to your instances by using SSH. - *

                                                                  - */ - KeyPair?: string; - - /** - *

                                                                  An optional public endpoint of a server, such as https://aws.my-company.com. To access the server, create a CNAME DNS record in your preferred DNS service that points the custom - * domain to the endpoint that is generated when the server is created (the value of the CreateServer Endpoint attribute). You cannot access the server by using the - * generated Endpoint value if the server is using a custom domain. If you specify a custom domain, you must also specify values for CustomCertificate - * and CustomPrivateKey.

                                                                  - */ - CustomDomain?: string; - - /** - *

                                                                  - * The engine model of the server. Valid values in this release include Monolithic for Puppet and Single for Chef. - *

                                                                  - */ - EngineModel?: string; - - /** - *

                                                                  - * Enable or disable scheduled backups. Valid values are true or false. The default value is true. - *

                                                                  - */ - DisableAutomatedBackup?: boolean; } export namespace CreateServerRequest { @@ -809,150 +809,155 @@ export enum ServerStatus { */ export interface Server { /** - *

                                                                  - * A DNS name that can be used to access the engine. Example: myserver-asdfghjkl.us-east-1.opsworks.io. - * You cannot access the server by using the Endpoint value if the server has a CustomDomain specified. + *

                                                                  The status of the most recent server maintenance run. Shows SUCCESS or FAILED. *

                                                                  */ - Endpoint?: string; + MaintenanceStatus?: MaintenanceStatus | string; /** - *

                                                                  The engine model of the server. Valid values in this release include Monolithic for Puppet and Single for Chef. - *

                                                                  + *

                                                                  An optional public endpoint of a server, such as https://aws.my-company.com. + * You cannot access the server by using the Endpoint value if the server has a CustomDomain specified.

                                                                  */ - EngineModel?: string; + CustomDomain?: string; /** - *

                                                                  The preferred maintenance period specified for the server. + *

                                                                  The engine type of the server. Valid values in this release include ChefAutomate and Puppet. *

                                                                  */ - PreferredMaintenanceWindow?: string; + Engine?: string; /** - *

                                                                  The response of a createServer() request returns the master - * credential to access the server in EngineAttributes. These - * credentials are not stored by AWS OpsWorks CM; they are returned only as part of the result of createServer(). + *

                                                                  The number of automated backups to keep. *

                                                                  - *

                                                                  - * Attributes returned in a createServer response for Chef - *

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA private key that is - * generated by AWS OpsWorks for Chef Automate. This private key is required to access - * the Chef API.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * CHEF_STARTER_KIT: A base64-encoded ZIP file. - * The ZIP file contains a Chef starter kit, which includes a README, a - * configuration file, and the required RSA private key. Save this file, unzip it, - * and then change to the directory where you've unzipped the file contents. - * From this directory, you can run Knife commands.

                                                                    - *
                                                                  • - *
                                                                  - *

                                                                  - * Attributes returned in a createServer response for Puppet - *

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * PUPPET_STARTER_KIT: A base64-encoded ZIP file. - * The ZIP file contains a Puppet starter kit, including a README and a - * required private key. Save this file, unzip it, - * and then change to the directory where you've unzipped the file contents.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * PUPPET_ADMIN_PASSWORD: An administrator password that you can use to sign in to the Puppet Enterprise console after the server is online.

                                                                    - *
                                                                  • - *
                                                                  */ - EngineAttributes?: EngineAttribute[]; + BackupRetentionCount?: number; /** - *

                                                                  The name of the server. + *

                                                                  + * The security group IDs for the server, as specified in the CloudFormation stack. + * These might not be the same security groups that are shown in the EC2 console. *

                                                                  */ - ServerName?: string; + SecurityGroupIds?: string[]; /** - *

                                                                  Disables automated backups. The number of stored backups is dependent on the value of PreferredBackupCount. + *

                                                                  + * A DNS name that can be used to access the engine. Example: myserver-asdfghjkl.us-east-1.opsworks.io. + * You cannot access the server by using the Endpoint value if the server has a CustomDomain specified. *

                                                                  */ - DisableAutomatedBackup?: boolean; + Endpoint?: string; /** - *

                                                                  The service role ARN used to create the server. + *

                                                                  The instance profile ARN of the server. *

                                                                  */ - ServiceRoleArn?: string; + InstanceProfileArn?: string; /** - *

                                                                  Time stamp of server creation. Example 2016-07-29T13:38:47.520Z - *

                                                                  + *

                                                                  + * The subnet IDs specified in a CreateServer request. + *

                                                                  */ - CreatedAt?: Date; + SubnetIds?: string[]; /** - *

                                                                  The key pair associated with the server. + *

                                                                  The preferred backup period specified for the server. *

                                                                  */ - KeyPair?: string; + PreferredBackupWindow?: string; /** - *

                                                                  The instance profile ARN of the server. + *

                                                                  Time stamp of server creation. Example 2016-07-29T13:38:47.520Z + *

                                                                  + */ + CreatedAt?: Date; + + /** + *

                                                                  The engine model of the server. Valid values in this release include Monolithic for Puppet and Single for Chef. *

                                                                  */ - InstanceProfileArn?: string; + EngineModel?: string; /** - *

                                                                  Associate a public IP address with a server that you are launching. + *

                                                                  The key pair associated with the server. *

                                                                  */ - AssociatePublicIpAddress?: boolean; + KeyPair?: string; /** *

                                                                  - * The subnet IDs specified in a CreateServer request. + * The instance type for the server, as specified in the CloudFormation stack. This might not be the same instance type that is shown in the EC2 console. *

                                                                  */ - SubnetIds?: string[]; + InstanceType?: string; /** - *

                                                                  The preferred backup period specified for the server. + *

                                                                  Disables automated backups. The number of stored backups is dependent on the value of PreferredBackupCount. *

                                                                  */ - PreferredBackupWindow?: string; + DisableAutomatedBackup?: boolean; /** - *

                                                                  - * Depending on the server status, this field has either a human-readable - * message (such as a create or backup error), or an escaped block of JSON (used for health check results). + *

                                                                  Associate a public IP address with a server that you are launching. *

                                                                  */ - StatusReason?: string; + AssociatePublicIpAddress?: boolean; /** - *

                                                                  The engine type of the server. Valid values in this release include ChefAutomate and Puppet. + *

                                                                  The service role ARN used to create the server. *

                                                                  */ - Engine?: string; + ServiceRoleArn?: string; /** - *

                                                                  The number of automated backups to keep. + *

                                                                  The response of a createServer() request returns the master + * credential to access the server in EngineAttributes. These + * credentials are not stored by AWS OpsWorks CM; they are returned only as part of the result of createServer(). *

                                                                  + *

                                                                  + * Attributes returned in a createServer response for Chef + *

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA private key that is + * generated by AWS OpsWorks for Chef Automate. This private key is required to access + * the Chef API.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * CHEF_STARTER_KIT: A base64-encoded ZIP file. + * The ZIP file contains a Chef starter kit, which includes a README, a + * configuration file, and the required RSA private key. Save this file, unzip it, + * and then change to the directory where you've unzipped the file contents. + * From this directory, you can run Knife commands.

                                                                    + *
                                                                  • + *
                                                                  + *

                                                                  + * Attributes returned in a createServer response for Puppet + *

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * PUPPET_STARTER_KIT: A base64-encoded ZIP file. + * The ZIP file contains a Puppet starter kit, including a README and a + * required private key. Save this file, unzip it, + * and then change to the directory where you've unzipped the file contents.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * PUPPET_ADMIN_PASSWORD: An administrator password that you can use to sign in to the Puppet Enterprise console after the server is online.

                                                                    + *
                                                                  • + *
                                                                  */ - BackupRetentionCount?: number; + EngineAttributes?: EngineAttribute[]; /** - *

                                                                  - * The security group IDs for the server, as specified in the CloudFormation stack. - * These might not be the same security groups that are shown in the EC2 console. + *

                                                                  The preferred maintenance period specified for the server. *

                                                                  */ - SecurityGroupIds?: string[]; + PreferredMaintenanceWindow?: string; /** *

                                                                  The engine version of the server. For a Chef server, the valid value for EngineVersion is currently 2. For a Puppet server, the valid value is 2017. @@ -961,10 +966,10 @@ export interface Server { EngineVersion?: string; /** - *

                                                                  An optional public endpoint of a server, such as https://aws.my-company.com. - * You cannot access the server by using the Endpoint value if the server has a CustomDomain specified.

                                                                  + *

                                                                  The name of the server. + *

                                                                  */ - CustomDomain?: string; + ServerName?: string; /** *

                                                                  The ARN of the server. @@ -972,32 +977,27 @@ export interface Server { */ ServerArn?: string; - /** - *

                                                                  The ARN of the CloudFormation stack that was used to create the server. - *

                                                                  - */ - CloudFormationStackArn?: string; - /** *

                                                                  - * The server's status. This field displays the states of actions in progress, such as creating, running, or backing up the server, - * as well as the server's health state. + * Depending on the server status, this field has either a human-readable + * message (such as a create or backup error), or an escaped block of JSON (used for health check results). *

                                                                  */ - Status?: ServerStatus | string; + StatusReason?: string; /** - *

                                                                  The status of the most recent server maintenance run. Shows SUCCESS or FAILED. + *

                                                                  The ARN of the CloudFormation stack that was used to create the server. *

                                                                  */ - MaintenanceStatus?: MaintenanceStatus | string; + CloudFormationStackArn?: string; /** *

                                                                  - * The instance type for the server, as specified in the CloudFormation stack. This might not be the same instance type that is shown in the EC2 console. + * The server's status. This field displays the states of actions in progress, such as creating, running, or backing up the server, + * as well as the server's health state. *

                                                                  */ - InstanceType?: string; + Status?: ServerStatus | string; } export namespace Server { @@ -1020,7 +1020,6 @@ export interface CreateServerResponse { export namespace CreateServerResponse { export const filterSensitiveLog = (obj: CreateServerResponse): any => ({ ...obj, - ...(obj.Server && { Server: Server.filterSensitiveLog(obj.Server) }), }); } @@ -1112,6 +1111,11 @@ export namespace DescribeAccountAttributesResponse { } export interface DescribeBackupsRequest { + /** + *

                                                                  This is not currently implemented for DescribeBackups requests.

                                                                  + */ + MaxResults?: number; + /** *

                                                                  Describes a single backup. *

                                                                  @@ -1128,11 +1132,6 @@ export interface DescribeBackupsRequest { *

                                                                  This is not currently implemented for DescribeBackups requests.

                                                                  */ NextToken?: string; - - /** - *

                                                                  This is not currently implemented for DescribeBackups requests.

                                                                  - */ - MaxResults?: number; } export namespace DescribeBackupsRequest { @@ -1143,15 +1142,15 @@ export namespace DescribeBackupsRequest { export interface DescribeBackupsResponse { /** - *

                                                                  Contains the response to a DescribeBackups request. - *

                                                                  + *

                                                                  This is not currently implemented for DescribeBackups requests.

                                                                  */ - Backups?: Backup[]; + NextToken?: string; /** - *

                                                                  This is not currently implemented for DescribeBackups requests.

                                                                  + *

                                                                  Contains the response to a DescribeBackups request. + *

                                                                  */ - NextToken?: string; + Backups?: Backup[]; } export namespace DescribeBackupsResponse { @@ -1219,27 +1218,27 @@ export namespace DescribeEventsRequest { *

                                                                  */ export interface ServerEvent { - /** - *

                                                                  The time when the event occurred. - *

                                                                  - */ - CreatedAt?: Date; - /** *

                                                                  A human-readable informational or status message.

                                                                  */ Message?: string; /** - *

                                                                  The Amazon S3 URL of the event's log file.

                                                                  + *

                                                                  The name of the server on or for which the event occurred. + *

                                                                  */ - LogUrl?: string; + ServerName?: string; /** - *

                                                                  The name of the server on or for which the event occurred. + *

                                                                  The time when the event occurred. *

                                                                  */ - ServerName?: string; + CreatedAt?: Date; + + /** + *

                                                                  The Amazon S3 URL of the event's log file.

                                                                  + */ + LogUrl?: string; } export namespace ServerEvent { @@ -1276,16 +1275,16 @@ export namespace DescribeEventsResponse { export interface DescribeNodeAssociationStatusRequest { /** - *

                                                                  The name of the server from which to disassociate the node. + *

                                                                  The token returned in either the AssociateNodeResponse or the DisassociateNodeResponse. *

                                                                  */ - ServerName: string | undefined; + NodeAssociationStatusToken: string | undefined; /** - *

                                                                  The token returned in either the AssociateNodeResponse or the DisassociateNodeResponse. + *

                                                                  The name of the server from which to disassociate the node. *

                                                                  */ - NodeAssociationStatusToken: string | undefined; + ServerName: string | undefined; } export namespace DescribeNodeAssociationStatusRequest { @@ -1301,6 +1300,13 @@ export enum NodeAssociationStatus { } export interface DescribeNodeAssociationStatusResponse { + /** + *

                                                                  Attributes specific to the node association. + * In Puppet, the attibute PUPPET_NODE_CERT contains the signed certificate (the result of the CSR). + *

                                                                  + */ + EngineAttributes?: EngineAttribute[]; + /** *

                                                                  The status of the association or disassociation request. *

                                                                  @@ -1326,13 +1332,6 @@ export interface DescribeNodeAssociationStatusResponse { *
                                                                */ NodeAssociationStatus?: NodeAssociationStatus | string; - - /** - *

                                                                Attributes specific to the node association. - * In Puppet, the attibute PUPPET_NODE_CERT contains the signed certificate (the result of the CSR). - *

                                                                - */ - EngineAttributes?: EngineAttribute[]; } export namespace DescribeNodeAssociationStatusResponse { @@ -1345,12 +1344,6 @@ export namespace DescribeNodeAssociationStatusResponse { } export interface DescribeServersRequest { - /** - *

                                                                This is not currently implemented for DescribeServers requests. - *

                                                                - */ - NextToken?: string; - /** *

                                                                Describes the server with the specified ServerName.

                                                                */ @@ -1361,6 +1354,12 @@ export interface DescribeServersRequest { *

                                                                */ MaxResults?: number; + + /** + *

                                                                This is not currently implemented for DescribeServers requests. + *

                                                                + */ + NextToken?: string; } export namespace DescribeServersRequest { @@ -1456,15 +1455,15 @@ export namespace DisassociateNodeResponse { export interface ExportServerEngineAttributeRequest { /** - *

                                                                The name of the export attribute. Currently, the supported export attribute is Userdata. - * This exports a user data script that includes parameters and values provided in the InputAttributes list.

                                                                + *

                                                                The name of the server from which you are exporting the attribute.

                                                                */ - ExportAttributeName: string | undefined; + ServerName: string | undefined; /** - *

                                                                The name of the server from which you are exporting the attribute.

                                                                + *

                                                                The name of the export attribute. Currently, the supported export attribute is Userdata. + * This exports a user data script that includes parameters and values provided in the InputAttributes list.

                                                                */ - ServerName: string | undefined; + ExportAttributeName: string | undefined; /** *

                                                                The list of engine attributes. The list type is EngineAttribute. An EngineAttribute list item @@ -1508,14 +1507,14 @@ export namespace ExportServerEngineAttributeRequest { export interface ExportServerEngineAttributeResponse { /** - *

                                                                The requested engine attribute pair with attribute name and value.

                                                                + *

                                                                The server name used in the request.

                                                                */ - EngineAttribute?: EngineAttribute; + ServerName?: string; /** - *

                                                                The server name used in the request.

                                                                + *

                                                                The requested engine attribute pair with attribute name and value.

                                                                */ - ServerName?: string; + EngineAttribute?: EngineAttribute; } export namespace ExportServerEngineAttributeResponse { @@ -1526,6 +1525,14 @@ export namespace ExportServerEngineAttributeResponse { } export interface ListTagsForResourceRequest { + /** + *

                                                                To receive a paginated response, use this parameter to specify the maximum number + * of results to be returned with a single call. If the number of available results exceeds + * this maximum, the response includes a NextToken value that you can assign to the NextToken + * request parameter to get the next set of results.

                                                                + */ + MaxResults?: number; + /** *

                                                                NextToken is a string that is returned in some command responses. It indicates that * not all entries have been returned, and that you must run at least one more request to get remaining @@ -1537,14 +1544,6 @@ export interface ListTagsForResourceRequest { */ NextToken?: string; - /** - *

                                                                To receive a paginated response, use this parameter to specify the maximum number - * of results to be returned with a single call. If the number of available results exceeds - * this maximum, the response includes a NextToken value that you can assign to the NextToken - * request parameter to get the next set of results.

                                                                - */ - MaxResults?: number; - /** *

                                                                The Amazon Resource Number (ARN) of an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server for which you want to show applied tags. For example, * arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE.

                                                                @@ -1577,12 +1576,6 @@ export namespace ListTagsForResourceResponse { } export interface RestoreServerRequest { - /** - *

                                                                The name of the server that you want to restore. - *

                                                                - */ - ServerName: string | undefined; - /** *

                                                                The ID of the backup that you want to use to restore a server. *

                                                                @@ -1603,6 +1596,12 @@ export interface RestoreServerRequest { *

                                                                */ KeyPair?: string; + + /** + *

                                                                The name of the server that you want to restore. + *

                                                                + */ + ServerName: string | undefined; } export namespace RestoreServerRequest { @@ -1620,6 +1619,12 @@ export namespace RestoreServerResponse { } export interface StartMaintenanceRequest { + /** + *

                                                                The name of the server on which to run maintenance. + *

                                                                + */ + ServerName: string | undefined; + /** *

                                                                Engine attributes that are specific to the server on which you want to run maintenance.

                                                                *

                                                                @@ -1636,12 +1641,6 @@ export interface StartMaintenanceRequest { *

                                                              */ EngineAttributes?: EngineAttribute[]; - - /** - *

                                                              The name of the server on which to run maintenance. - *

                                                              - */ - ServerName: string | undefined; } export namespace StartMaintenanceRequest { @@ -1664,7 +1663,6 @@ export interface StartMaintenanceResponse { export namespace StartMaintenanceResponse { export const filterSensitiveLog = (obj: StartMaintenanceResponse): any => ({ ...obj, - ...(obj.Server && { Server: Server.filterSensitiveLog(obj.Server) }), }); } @@ -1715,16 +1713,16 @@ export namespace TagResourceResponse { } export interface UntagResourceRequest { - /** - *

                                                              The keys of tags that you want to remove.

                                                              - */ - TagKeys: string[] | undefined; - /** *

                                                              The Amazon Resource Number (ARN) of a resource from which you want to remove tags. For example, * arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE.

                                                              */ ResourceArn: string | undefined; + + /** + *

                                                              The keys of tags that you want to remove.

                                                              + */ + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -1742,6 +1740,12 @@ export namespace UntagResourceResponse { } export interface UpdateServerRequest { + /** + *

                                                              Sets the number of automated backups that you want to keep. + *

                                                              + */ + BackupRetentionCount?: number; + /** *

                                                              * DDD:HH:MM (weekly start time) or @@ -1751,19 +1755,7 @@ export interface UpdateServerRequest { * Time windows always use coordinated universal time (UTC). Valid strings for day of week (DDD) are: Mon, Tue, Wed, * Thr, Fri, Sat, or Sun.

                                                              */ - PreferredBackupWindow?: string; - - /** - *

                                                              The name of the server to update. - *

                                                              - */ - ServerName: string | undefined; - - /** - *

                                                              Sets the number of automated backups that you want to keep. - *

                                                              - */ - BackupRetentionCount?: number; + PreferredMaintenanceWindow?: string; /** *

                                                              @@ -1774,13 +1766,19 @@ export interface UpdateServerRequest { * Time windows always use coordinated universal time (UTC). Valid strings for day of week (DDD) are: Mon, Tue, Wed, * Thr, Fri, Sat, or Sun.

                                                              */ - PreferredMaintenanceWindow?: string; + PreferredBackupWindow?: string; /** *

                                                              Setting DisableAutomatedBackup to true disables automated or scheduled backups. Automated backups are enabled by default. *

                                                              */ DisableAutomatedBackup?: boolean; + + /** + *

                                                              The name of the server to update. + *

                                                              + */ + ServerName: string | undefined; } export namespace UpdateServerRequest { @@ -1800,16 +1798,15 @@ export interface UpdateServerResponse { export namespace UpdateServerResponse { export const filterSensitiveLog = (obj: UpdateServerResponse): any => ({ ...obj, - ...(obj.Server && { Server: Server.filterSensitiveLog(obj.Server) }), }); } export interface UpdateServerEngineAttributesRequest { /** - *

                                                              The name of the engine attribute to update. + *

                                                              The value to set for the attribute. *

                                                              */ - AttributeName: string | undefined; + AttributeValue?: string; /** *

                                                              The name of the server to update. @@ -1818,10 +1815,10 @@ export interface UpdateServerEngineAttributesRequest { ServerName: string | undefined; /** - *

                                                              The value to set for the attribute. + *

                                                              The name of the engine attribute to update. *

                                                              */ - AttributeValue?: string; + AttributeName: string | undefined; } export namespace UpdateServerEngineAttributesRequest { @@ -1841,6 +1838,5 @@ export interface UpdateServerEngineAttributesResponse { export namespace UpdateServerEngineAttributesResponse { export const filterSensitiveLog = (obj: UpdateServerEngineAttributesResponse): any => ({ ...obj, - ...(obj.Server && { Server: Server.filterSensitiveLog(obj.Server) }), }); } diff --git a/clients/client-organizations/Organizations.ts b/clients/client-organizations/Organizations.ts index 885008ed2fe2..8b9d1170d4d9 100644 --- a/clients/client-organizations/Organizations.ts +++ b/clients/client-organizations/Organizations.ts @@ -246,14 +246,14 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; export class Organizations extends OrganizationsClient { /** *

                                                              Sends a response to the originator of a handshake agreeing to the action proposed by - * the handshake request.

                                                              + * the handshake request.

                                                              *

                                                              This operation can be called only by the following principals when they also have the * relevant IAM permissions:

                                                              *
                                                                *
                                                              • *

                                                                * Invitation to join or Approve all features request handshakes: only a principal from - * the member account.

                                                                + * the member account.

                                                                *

                                                                The user who calls the API for an invitation to join must have the * organizations:AcceptHandshake permission. If you enabled all * features in the organization, the user must also have the @@ -312,22 +312,22 @@ export class Organizations extends OrganizationsClient { *

                                                                @@ -361,7 +361,7 @@ export class Organizations extends OrganizationsClient { /** *

                                                                Cancels a handshake. Canceling a handshake sets the handshake state to - * CANCELED.

                                                                + * CANCELED.

                                                                *

                                                                This operation can be called only from the account that originated the handshake. The recipient of the handshake can't cancel it, but can use DeclineHandshake instead. After a handshake is canceled, the recipient * can no longer respond to that handshake.

                                                                *

                                                                After you cancel a handshake, it continues to appear in the results of relevant APIs @@ -405,9 +405,8 @@ export class Organizations extends OrganizationsClient { * account. To check the status of the request, do one of the following:

                                                                *
                                                                  *
                                                                • - *

                                                                  Use the OperationId response element from this operation to - * provide as a parameter to the DescribeCreateAccountStatus - * operation.

                                                                  + *

                                                                  Use the Id member of the CreateAccountStatus + * response element from this operation to provide as a parameter to the DescribeCreateAccountStatus operation.

                                                                  *
                                                                • *
                                                                • *

                                                                  Check the AWS CloudTrail log for the CreateAccountResult event. For @@ -416,12 +415,13 @@ export class Organizations extends OrganizationsClient { *

                                                                  *
                                                                • *
                                                                - *

                                                                *

                                                                The user who calls the API to create an account must have the * organizations:CreateAccount permission. If you enabled all features in * the organization, AWS Organizations creates the required service-linked role named * AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the * AWS Organizations User Guide.

                                                                + *

                                                                If the request includes tags, then the requester must have the + * organizations:TagResource permission.

                                                                *

                                                                AWS Organizations preconfigures the new member account with a role (named * OrganizationAccountAccessRole by default) that grants users in the * master account administrator permissions in the new member account. Principals in the @@ -515,8 +515,8 @@ export class Organizations extends OrganizationsClient { *

                                                                *
                                                              • *
                                                              • - *

                                                                You already have an account in the AWS GovCloud (US) Region that is - * associated with your master account in the commercial Region.

                                                                + *

                                                                You already have an account in the AWS GovCloud (US) Region that is paired + * with a master account of an organization in the commercial Region.

                                                                *
                                                              • *
                                                              • *

                                                                You call this action from the master account of your organization in the @@ -524,12 +524,13 @@ export class Organizations extends OrganizationsClient { *

                                                              • *
                                                              • *

                                                                You have the organizations:CreateGovCloudAccount permission. - * AWS Organizations creates the required service-linked role named - * AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the - * AWS Organizations User Guide. - *

                                                                + *

                                                                *
                                                              • *
                                                              + *

                                                              AWS Organizations automatically creates the required service-linked role named + * AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the + * AWS Organizations User Guide. + *

                                                              *

                                                              AWS automatically enables AWS CloudTrail for AWS GovCloud (US) accounts, but you should also * do the following:

                                                              *
                                                                @@ -543,6 +544,11 @@ export class Organizations extends OrganizationsClient { *

                                                                * *
                                                              + *

                                                              If the request includes tags, then the requester must have the + * organizations:TagResource permission. The tags are attached to the + * commercial account associated with the GovCloud account, rather than the GovCloud + * account itself. To add tags to the GovCloud account, call the TagResource operation in the GovCloud Region after the new GovCloud + * account exists.

                                                              *

                                                              You call this action from the master account of your organization in the commercial * Region to create a standalone AWS account in the AWS GovCloud (US) Region. After the * account is created, the master account of an organization in the AWS GovCloud (US) @@ -575,13 +581,14 @@ export class Organizations extends OrganizationsClient { * commercial Region for billing and support purposes. The account in the commercial Region * is automatically a member of the organization whose credentials made the request. Both * accounts are associated with the same email address.

                                                              - *

                                                              A role is created in the new account in the commercial Region that allows the master - * account in the organization in the commercial Region to assume it. An AWS GovCloud - * (US) account is then created and associated with the commercial account that you just - * created. A role is created in the new AWS GovCloud (US) account that can be assumed by - * the AWS GovCloud (US) account that is associated with the master account of the - * commercial organization. For more information and to view a diagram that explains how - * account access works, see AWS Organizations in the AWS GovCloud User Guide. + *

                                                              A role is created in the new account in the commercial Region that allows the + * master account in the organization in the commercial Region to assume it. An AWS + * GovCloud (US) account is then created and associated with the commercial account that + * you just created. A role is also created in the new AWS GovCloud (US) account that can + * be assumed by the AWS GovCloud (US) account that is associated with the + * master account of the commercial organization. For more information and to view a + * diagram that explains how account access works, see AWS Organizations in the + * AWS GovCloud User Guide. *

                                                              * * @@ -664,7 +671,7 @@ export class Organizations extends OrganizationsClient { /** *

                                                              Creates an AWS organization. The account whose user is calling the - * CreateOrganization operation automatically becomes the master account of the new organization.

                                                              + * CreateOrganization operation automatically becomes the master account of the new organization.

                                                              *

                                                              This operation must be called using credentials from the account that is to become the * new organization's master account. The principal must also have the relevant IAM * permissions.

                                                              @@ -709,10 +716,12 @@ export class Organizations extends OrganizationsClient { * for accounts that enables you to organize your accounts to apply policies according to * your business requirements. The number of levels deep that you can nest OUs is dependent * upon the policy types enabled for that root. For service control policies, the limit is - * five.

                                                              + * five.

                                                              *

                                                              For more information about OUs, see Managing Organizational Units in the * AWS Organizations User Guide. *

                                                              + *

                                                              If the request includes tags, then the requester must have the + * organizations:TagResource permission.

                                                              *

                                                              This operation can be called only from the organization's master account.

                                                              */ public createOrganizationalUnit( @@ -749,6 +758,8 @@ export class Organizations extends OrganizationsClient { * unit (OU), or an individual AWS account.

                                                              *

                                                              For more information about policies and their use, see Managing * Organization Policies.

                                                              + *

                                                              If the request includes tags, then the requester must have the + * organizations:TagResource permission.

                                                              *

                                                              This operation can be called only from the organization's master account.

                                                              */ public createPolicy( @@ -962,7 +973,7 @@ export class Organizations extends OrganizationsClient { /** *

                                                              Retrieves AWS Organizations-related information about the specified account.

                                                              *

                                                              This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                              + * master account or by a member account that is a delegated administrator for an AWS service.

                                                              */ public describeAccount( args: DescribeAccountCommandInput, @@ -996,7 +1007,7 @@ export class Organizations extends OrganizationsClient { /** *

                                                              Retrieves the current status of an asynchronous request to create an account.

                                                              *

                                                              This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                              + * master account or by a member account that is a delegated administrator for an AWS service.

                                                              */ public describeCreateAccountStatus( args: DescribeCreateAccountStatusCommandInput, @@ -1030,13 +1041,14 @@ export class Organizations extends OrganizationsClient { /** *

                                                              Returns the contents of the effective policy for specified policy type and account. * The effective policy is the aggregation of any policies of the specified type that the - * account inherits, plus any policy of that type that is directly attached to the account.

                                                              + * account inherits, plus any policy of that type that is directly attached to the + * account.

                                                              *

                                                              This operation applies only to policy types other than service * control policies (SCPs).

                                                              *

                                                              For more information about policy inheritance, see How Policy Inheritance * Works in the AWS Organizations User Guide.

                                                              *

                                                              This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                              + * master account or by a member account that is a delegated administrator for an AWS service.

                                                              */ public describeEffectivePolicy( args: DescribeEffectivePolicyCommandInput, @@ -1147,7 +1159,7 @@ export class Organizations extends OrganizationsClient { /** *

                                                              Retrieves information about an organizational unit (OU).

                                                              *

                                                              This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                              + * master account or by a member account that is a delegated administrator for an AWS service.

                                                              */ public describeOrganizationalUnit( args: DescribeOrganizationalUnitCommandInput, @@ -1181,7 +1193,7 @@ export class Organizations extends OrganizationsClient { /** *

                                                              Retrieves information about a policy.

                                                              *

                                                              This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                              + * master account or by a member account that is a delegated administrator for an AWS service.

                                                              */ public describePolicy( args: DescribePolicyCommandInput, @@ -1213,7 +1225,7 @@ export class Organizations extends OrganizationsClient { } /** - *

                                                              Detaches a policy from a target root, organizational unit (OU), or account.

                                                              + *

                                                              Detaches a policy from a target root, organizational unit (OU), or account.

                                                              * *

                                                              If the policy being detached is a service control policy (SCP), the changes to * permissions for AWS Identity and Access Management (IAM) users and roles in affected accounts are @@ -1222,8 +1234,8 @@ export class Organizations extends OrganizationsClient { *

                                                              Every root, OU, and account must have at least one SCP attached. If you want to * replace the default FullAWSAccess policy with an SCP that limits the * permissions that can be delegated, you must attach the replacement SCP before you can - * remove the default SCP. This is the authorization strategy of an "allow list". If you instead attach a second SCP and leave the - * FullAWSAccess SCP still attached, and specify "Effect": + * remove the default SCP. This is the authorization strategy of an "allow list". If you instead attach a second SCP and + * leave the FullAWSAccess SCP still attached, and specify "Effect": * "Deny" in the second SCP to override the "Effect": "Allow" in * the FullAWSAccess policy (or any other attached SCP), you're using the * authorization strategy of a "deny list".

                                                              @@ -1320,7 +1332,7 @@ export class Organizations extends OrganizationsClient { *

                                                              This is an asynchronous request that AWS performs in the background. If you disable * a policy type for a root, it still appears enabled for the organization if all features are enabled for the organization. AWS recommends that you * first use ListRoots to see the status of policy types for a specified - * root, and then use this operation.

                                                              + * root, and then use this operation.

                                                              *

                                                              This operation can be called only from the organization's master account.

                                                              *

                                                              To view the status of available policy types in the organization, use DescribeOrganization.

                                                              */ @@ -1379,7 +1391,7 @@ export class Organizations extends OrganizationsClient { * users and even administrators in those accounts can do. The master account can apply * policies that prevent accounts from leaving the organization. Ensure that your account * administrators are aware of this.

                                                              - *

                                                              This operation can be called only from the organization's master account.

                                                              + *

                                                              This operation can be called only from the organization's master account.

                                                              */ public enableAllFeatures( args: EnableAllFeaturesCommandInput, @@ -1427,8 +1439,9 @@ export class Organizations extends OrganizationsClient { *

                                                              For more information about enabling services to integrate with AWS Organizations, see Integrating AWS Organizations with Other * AWS Services in the AWS Organizations User Guide. *

                                                              - *

                                                              This operation can be called only from the organization's master account and only if - * the organization has enabled all features.

                                                              + *

                                                              This operation can be called only from the organization's master account and only + * if the organization has enabled all + * features.

                                                              */ public enableAWSServiceAccess( args: EnableAWSServiceAccessCommandInput, @@ -1466,7 +1479,7 @@ export class Organizations extends OrganizationsClient { * operation.

                                                              *

                                                              This is an asynchronous request that AWS performs in the background. AWS * recommends that you first use ListRoots to see the status of policy - * types for a specified root, and then use this operation.

                                                              + * types for a specified root, and then use this operation.

                                                              *

                                                              This operation can be called only from the organization's master account.

                                                              *

                                                              You can enable a policy type in a root only if that policy type is available in the * organization. To view the status of available policy types in the organization, use @@ -1509,12 +1522,12 @@ export class Organizations extends OrganizationsClient { * *

                                                              *
                                                              + *

                                                              If the request includes tags, then the requester must have the + * organizations:TagResource permission.

                                                              *

                                                              This operation can be called only from the organization's master account.

                                                              */ public inviteAccountToOrganization( @@ -1559,7 +1574,8 @@ export class Organizations extends OrganizationsClient { /** *

                                                              Removes a member account from its parent organization. This version of the operation * is performed by the account that wants to leave. To remove a member account as a user in - * the master account, use RemoveAccountFromOrganization instead.

                                                              + * the master account, use RemoveAccountFromOrganization + * instead.

                                                              *

                                                              This operation can be called only from a member account in the organization.

                                                              * *
                                                                @@ -1567,7 +1583,7 @@ export class Organizations extends OrganizationsClient { *

                                                                The master account in an organization with all features enabled can set * service control policies (SCPs) that can restrict what administrators of * member accounts can do. This includes preventing them from successfully - * calling LeaveOrganization and leaving the organization.

                                                                + * calling LeaveOrganization and leaving the organization.

                                                                * *
                                                              • *

                                                                You can leave an organization as a member account only if the account is @@ -1575,12 +1591,11 @@ export class Organizations extends OrganizationsClient { * When you create an account in an organization using the AWS Organizations console, * API, or CLI commands, the information required of standalone accounts is * not automatically collected. For each account that - * you want to make standalone, you must do the following steps:

                                                                + * you want to make standalone, you must perform the following steps. If any of + * the steps are already completed for this account, that step doesn't + * appear.

                                                                *
                                                                  *
                                                                • - *

                                                                  Accept the end user license agreement (EULA)

                                                                  - *
                                                                • - *
                                                                • *

                                                                  Choose a support plan

                                                                  *
                                                                • *
                                                                • @@ -1603,6 +1618,11 @@ export class Organizations extends OrganizationsClient { * the AWS Billing and Cost Management User Guide. *

                                                                  *
                                                                • + *
                                                                • + *

                                                                  After the account leaves the organization, all tags that were attached to + * the account object in the organization are deleted. AWS accounts outside + * of an organization do not support tags.

                                                                  + *
                                                                • *
                                                                * */ @@ -1640,14 +1660,14 @@ export class Organizations extends OrganizationsClient { * specified root or organizational unit (OU), use the ListAccountsForParent operation instead.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listAccounts( args: ListAccountsCommandInput, @@ -1683,14 +1703,14 @@ export class Organizations extends OrganizationsClient { * the ListAccounts operation.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listAccountsForParent( args: ListAccountsForParentCommandInput, @@ -1730,7 +1750,7 @@ export class Organizations extends OrganizationsClient { * AWS Services in the AWS Organizations User Guide. *

                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listAWSServiceAccessForOrganization( args: ListAWSServiceAccessForOrganizationCommandInput, @@ -1767,14 +1787,14 @@ export class Organizations extends OrganizationsClient { * enables you to traverse the tree structure that makes up this root.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listChildren( args: ListChildrenCommandInput, @@ -1807,14 +1827,14 @@ export class Organizations extends OrganizationsClient { * being tracked for the organization.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listCreateAccountStatus( args: ListCreateAccountStatusCommandInput, @@ -1849,7 +1869,7 @@ export class Organizations extends OrganizationsClient { *

                                                                Lists the AWS accounts that are designated as delegated administrators in this * organization.

                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listDelegatedAdministrators( args: ListDelegatedAdministratorsCommandInput, @@ -1881,9 +1901,10 @@ export class Organizations extends OrganizationsClient { } /** - *

                                                                List the AWS services for which the specified account is a delegated administrator.

                                                                + *

                                                                List the AWS services for which the specified account is a delegated + * administrator.

                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listDelegatedServicesForAccount( args: ListDelegatedServicesForAccountCommandInput, @@ -1922,14 +1943,13 @@ export class Organizations extends OrganizationsClient { * changing to that state. After that, they're deleted and no longer accessible.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                - *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + *

                                                                This operation can be called from any account in the organization.

                                                                */ public listHandshakesForAccount( args: ListHandshakesForAccountCommandInput, @@ -1970,14 +1990,14 @@ export class Organizations extends OrganizationsClient { * changing to that state. After that, they're deleted and no longer accessible.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listHandshakesForOrganization( args: ListHandshakesForOrganizationCommandInput, @@ -2012,14 +2032,14 @@ export class Organizations extends OrganizationsClient { *

                                                                Lists the organizational units (OUs) in a parent organizational unit or root.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listOrganizationalUnitsForParent( args: ListOrganizationalUnitsForParentCommandInput, @@ -2056,16 +2076,16 @@ export class Organizations extends OrganizationsClient { * enables you to traverse the tree structure that makes up this root.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                * - *

                                                                In the current release, a child can have only a single parent.

                                                                + *

                                                                In the current release, a child can have only a single parent.

                                                                *
                                                                */ public listParents(args: ListParentsCommandInput, options?: __HttpHandlerOptions): Promise; @@ -2095,14 +2115,14 @@ export class Organizations extends OrganizationsClient { *

                                                                Retrieves the list of all policies in an organization of a specified type.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listPolicies( args: ListPoliciesCommandInput, @@ -2136,14 +2156,14 @@ export class Organizations extends OrganizationsClient { * included in the returned list.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listPoliciesForTarget( args: ListPoliciesForTargetCommandInput, @@ -2178,14 +2198,14 @@ export class Organizations extends OrganizationsClient { *

                                                                Lists the roots that are defined in the current organization.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                * *

                                                                Policy types can be enabled and disabled in roots. This is distinct from whether * they're available in the organization. When you enable all features, you make policy @@ -2218,11 +2238,24 @@ export class Organizations extends OrganizationsClient { } /** - *

                                                                Lists tags for the specified resource.

                                                                - * - *

                                                                Currently, you can list tags on an account in AWS Organizations.

                                                                + *

                                                                Lists tags that are attached to the specified resource.

                                                                + *

                                                                You can attach tags to the following resources in AWS Organizations.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  AWS account

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Organization root

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Organizational unit (OU)

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Policy (any type)

                                                                  + *
                                                                • + *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listTagsForResource( args: ListTagsForResourceCommandInput, @@ -2258,14 +2291,14 @@ export class Organizations extends OrganizationsClient { * policy is attached to.

                                                                * *

                                                                Always check the NextToken response parameter - * for a null value when calling a List* operation. These operations can - * occasionally return an empty set of results even when there are more results available. The - * NextToken response parameter value is null + * for a null value when calling a List* operation. These operations can + * occasionally return an empty set of results even when there are more results available. The + * NextToken response parameter value is null * only - * when there are no more results to display.

                                                                + * when there are no more results to display.

                                                                *
                                                                *

                                                                This operation can be called only from the organization's - * master account or by a member account that is a delegated administrator for an AWS service.

                                                                + * master account or by a member account that is a delegated administrator for an AWS service.

                                                                */ public listTargetsForPolicy( args: ListTargetsForPolicyCommandInput, @@ -2372,20 +2405,29 @@ export class Organizations extends OrganizationsClient { * accrued by the member account after it's removed from the organization.

                                                                *

                                                                This operation can be called only from the organization's master account. Member accounts can remove themselves with LeaveOrganization instead.

                                                                * - *

                                                                You can remove an account from your organization only if the account is configured - * with the information required to operate as a standalone account. When you create an - * account in an organization using the AWS Organizations console, API, or CLI commands, the - * information required of standalone accounts is not - * automatically collected. For an account that you want to make standalone, you must - * accept the end user license agreement (EULA), choose a support plan, provide and - * verify the required contact information, and provide a current payment method. AWS - * uses the payment method to charge for any billable (not free tier) AWS activity - * that occurs while the account isn't attached to an organization. To remove an - * account that doesn't yet have this information, you must sign in as the member - * account and follow the steps at To - * leave an organization when all required account information has not yet been - * provided in the AWS Organizations User Guide. - *

                                                                + *
                                                                  + *
                                                                • + *

                                                                  You can remove an account from your organization only if the account is + * configured with the information required to operate as a standalone account. + * When you create an account in an organization using the AWS Organizations console, + * API, or CLI commands, the information required of standalone accounts is + * not automatically collected. For an account that + * you want to make standalone, you must choose a support plan, provide and + * verify the required contact information, and provide a current payment + * method. AWS uses the payment method to charge for any billable (not free + * tier) AWS activity that occurs while the account isn't attached to an + * organization. To remove an account that doesn't yet have this information, + * you must sign in as the member account and follow the steps at To leave an organization when all required account information has not + * yet been provided in the + * AWS Organizations User Guide. + *

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  After the account leaves the organization, all tags that were attached to + * the account object in the organization are deleted. AWS accounts outside + * of an organization do not support tags.

                                                                  + *
                                                                • + *
                                                                *
                                                                */ public removeAccountFromOrganization( @@ -2419,8 +2461,21 @@ export class Organizations extends OrganizationsClient { /** *

                                                                Adds one or more tags to the specified resource.

                                                                - * - *

                                                                Currently, you can tag and untag accounts in AWS Organizations.

                                                                + *

                                                                Currently, you can attach tags to the following resources in AWS Organizations.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  AWS account

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Organization root

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Organizational unit (OU)

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Policy (any type)

                                                                  + *
                                                                • + *
                                                                *

                                                                This operation can be called only from the organization's master account.

                                                                */ public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; @@ -2447,9 +2502,22 @@ export class Organizations extends OrganizationsClient { } /** - *

                                                                Removes a tag from the specified resource.

                                                                - * - *

                                                                Currently, you can tag and untag accounts in AWS Organizations.

                                                                + *

                                                                Removes any tags with the specified keys from the specified resource.

                                                                + *

                                                                You can attach tags to the following resources in AWS Organizations.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  AWS account

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Organization root

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Organizational unit (OU)

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Policy (any type)

                                                                  + *
                                                                • + *
                                                                *

                                                                This operation can be called only from the organization's master account.

                                                                */ public untagResource( @@ -2483,7 +2551,8 @@ export class Organizations extends OrganizationsClient { /** *

                                                                Renames the specified organizational unit (OU). The ID and ARN don't change. The child - * OUs and accounts remain in place, and any attached policies of the OU remain attached.

                                                                + * OUs and accounts remain in place, and any attached policies of the OU remain + * attached.

                                                                *

                                                                This operation can be called only from the organization's master account.

                                                                */ public updateOrganizationalUnit( diff --git a/clients/client-organizations/models/models_0.ts b/clients/client-organizations/models/models_0.ts index 9c6df1934752..2e74a365ce25 100644 --- a/clients/client-organizations/models/models_0.ts +++ b/clients/client-organizations/models/models_0.ts @@ -36,7 +36,7 @@ export interface HandshakeParty { /** *

                                                                The unique identifier (ID) for the party.

                                                                *

                                                                The regex pattern for handshake ID string requires "h-" - * followed by from 8 to 32 lower-case letters or digits.

                                                                + * followed by from 8 to 32 lowercase letters or digits.

                                                                */ Id: string | undefined; @@ -105,8 +105,8 @@ export enum AccessDeniedForDependencyExceptionReason { export interface AccessDeniedForDependencyException extends __SmithyException, $MetadataBearer { name: "AccessDeniedForDependencyException"; $fault: "client"; - Reason?: AccessDeniedForDependencyExceptionReason | string; Message?: string; + Reason?: AccessDeniedForDependencyExceptionReason | string; } export namespace AccessDeniedForDependencyException { @@ -275,6 +275,7 @@ export namespace InvalidHandshakeTransitionException { } export enum InvalidInputExceptionReason { + DUPLICATE_TAG_KEY = "DUPLICATE_TAG_KEY", IMMUTABLE_POLICY = "IMMUTABLE_POLICY", INPUT_REQUIRED = "INPUT_REQUIRED", INVALID_ENUM = "INVALID_ENUM", @@ -309,6 +310,10 @@ export enum InvalidInputExceptionReason { *
                                                                *
                                                                  *
                                                                • + *

                                                                  DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same + * entity.

                                                                  + *
                                                                • + *
                                                                • *

                                                                  IMMUTABLE_POLICY: You specified a policy that is managed by AWS and can't be * modified.

                                                                  *
                                                                • @@ -319,6 +324,9 @@ export enum InvalidInputExceptionReason { *

                                                                  INVALID_ENUM: You specified an invalid value.

                                                                  * *
                                                                • + *

                                                                  INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.

                                                                  + *
                                                                • + *
                                                                • *

                                                                  INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid * characters.

                                                                  *
                                                                • @@ -382,13 +390,21 @@ export enum InvalidInputExceptionReason { *

                                                                  MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between * entities in the same root.

                                                                  * + *
                                                                • + *

                                                                  TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target + * entity.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't + * recognized.

                                                                  + *
                                                                • *
                                                                */ export interface InvalidInputException extends __SmithyException, $MetadataBearer { name: "InvalidInputException"; $fault: "client"; - Reason?: InvalidInputExceptionReason | string; Message?: string; + Reason?: InvalidInputExceptionReason | string; } export namespace InvalidInputException { @@ -423,8 +439,8 @@ export namespace ServiceException { export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { name: "TooManyRequestsException"; $fault: "client"; - Type?: string; Message?: string; + Type?: string; } export namespace TooManyRequestsException { @@ -449,14 +465,18 @@ export enum AccountStatus { */ export interface Account { /** - *

                                                                The method by which the account joined the organization.

                                                                + *

                                                                The unique identifier (ID) of the account.

                                                                + *

                                                                The regex pattern for an account ID string requires exactly 12 + * digits.

                                                                */ - JoinedMethod?: AccountJoinedMethod | string; + Id?: string; /** - *

                                                                The status of the account in the organization.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the account.

                                                                + *

                                                                For more information about ARNs in Organizations, see ARN Formats Supported by + * Organizations in the AWS Organizations User Guide.

                                                                */ - Status?: AccountStatus | string; + Arn?: string; /** *

                                                                The date the account became a part of the organization.

                                                                @@ -464,11 +484,11 @@ export interface Account { JoinedTimestamp?: Date; /** - *

                                                                The Amazon Resource Name (ARN) of the account.

                                                                - *

                                                                For more information about ARNs in Organizations, see ARN Formats Supported by - * Organizations in the AWS Organizations User Guide.

                                                                + *

                                                                The email address associated with the AWS account.

                                                                + *

                                                                The regex pattern for this parameter is a string of characters that represents a + * standard internet email address.

                                                                */ - Arn?: string; + Email?: string; /** *

                                                                The friendly name of the account.

                                                                @@ -479,25 +499,21 @@ export interface Account { Name?: string; /** - *

                                                                The unique identifier (ID) of the account.

                                                                - *

                                                                The regex pattern for an account ID string requires exactly 12 - * digits.

                                                                + *

                                                                The status of the account in the organization.

                                                                */ - Id?: string; + Status?: AccountStatus | string; /** - *

                                                                The email address associated with the AWS account.

                                                                - *

                                                                The regex pattern for this parameter is a string of characters that represents a - * standard internet email address.

                                                                + *

                                                                The method by which the account joined the organization.

                                                                */ - Email?: string; + JoinedMethod?: AccountJoinedMethod | string; } export namespace Account { export const filterSensitiveLog = (obj: Account): any => ({ ...obj, - ...(obj.Name && { Name: SENSITIVE_STRING }), ...(obj.Email && { Email: SENSITIVE_STRING }), + ...(obj.Name && { Name: SENSITIVE_STRING }), }); } @@ -670,9 +686,10 @@ export enum ConstraintViolationExceptionReason { * *
                                                                  *
                                                                • - *

                                                                  ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master account - * from the organization. You can't remove the master account. Instead, after you - * remove all member accounts, delete the organization itself.

                                                                  + *

                                                                  ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the + * master account from the organization. You can't remove the master account. + * Instead, after you remove all member accounts, delete the organization + * itself.

                                                                  *
                                                                • *
                                                                • *

                                                                  ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account from the @@ -712,9 +729,9 @@ export enum ConstraintViolationExceptionReason { *

                                                                • *
                                                                • *

                                                                  CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register - * the master account of the organization as a delegated administrator for an AWS - * service integrated with Organizations. You can designate only a member account - * as a delegated administrator.

                                                                  + * the master account of the organization as a delegated administrator for an + * AWS service integrated with Organizations. You can designate only a member + * account as a delegated administrator.

                                                                  *
                                                                • *
                                                                • *

                                                                  CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an @@ -743,33 +760,34 @@ export enum ConstraintViolationExceptionReason { *

                                                                • *
                                                                • *

                                                                  MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in - * this organization, you first must migrate the organization's master account to - * the marketplace that corresponds to the master account's address. For example, - * accounts with India addresses must be associated with the AISPL marketplace. All - * accounts in an organization must be associated with the same marketplace.

                                                                  + * this organization, you first must migrate the organization's master account + * to the marketplace that corresponds to the master account's address. For + * example, accounts with India addresses must be associated with the AISPL + * marketplace. All accounts in an organization must be associated with the same + * marketplace.

                                                                  *
                                                                • *
                                                                • *

                                                                  MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions in - * China. To create an organization, the master must have an valid business license. - * For more information, contact customer support.

                                                                  + * China. To create an organization, the master must have an valid business + * license. For more information, contact customer support.

                                                                  *
                                                                • *
                                                                • *

                                                                  MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must - * first provide a valid contact address and phone number for the master account. - * Then try the operation again.

                                                                  + * first provide a valid contact address and phone number for the + * master account. Then try the operation again.

                                                                  *
                                                                • *
                                                                • - *

                                                                  MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the master - * account must have an associated account in the AWS GovCloud (US-West) Region. - * For more information, see AWS Organizations in + *

                                                                  MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the + * master account must have an associated account in the AWS GovCloud + * (US-West) Region. For more information, see AWS Organizations in * the * AWS GovCloud User Guide. *

                                                                  *
                                                                • *
                                                                • *

                                                                  MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with - * this master account, you first must associate a valid payment instrument, such - * as a credit card, with the account. Follow the steps at To leave an organization when all required account information has not yet + * this master account, you first must associate a valid payment instrument, + * such as a credit card, with the account. Follow the steps at To leave an organization when all required account information has not yet * been provided in the AWS Organizations User Guide. *

                                                                  *
                                                                • @@ -830,8 +848,8 @@ export enum ConstraintViolationExceptionReason { export interface ConstraintViolationException extends __SmithyException, $MetadataBearer { name: "ConstraintViolationException"; $fault: "client"; - Message?: string; Reason?: ConstraintViolationExceptionReason | string; + Message?: string; } export namespace ConstraintViolationException { @@ -906,7 +924,7 @@ export namespace PolicyTypeNotEnabledException { } /** - *

                                                                  We can't find a root, OU, or account with the TargetId that you + *

                                                                  We can't find a root, OU, account, or policy with the TargetId that you * specified.

                                                                  */ export interface TargetNotFoundException extends __SmithyException, $MetadataBearer { @@ -957,37 +975,44 @@ export enum IAMUserAccessToBilling { DENY = "DENY", } -export interface CreateAccountRequest { +/** + *

                                                                  A custom key-value pair associated with a resource within your organization.

                                                                  + *

                                                                  You can attach tags to any of the following organization resources.

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    AWS account

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Organizational unit (OU)

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Organization root

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Policy

                                                                    + *
                                                                  • + *
                                                                  + */ +export interface Tag { /** - *

                                                                  (Optional)

                                                                  - *

                                                                  The name of an IAM role that AWS Organizations automatically preconfigures in the new member - * account. This role trusts the master account, allowing users in the master account to - * assume the role, as permitted by the master account administrator. The role has - * administrator permissions in the new member account.

                                                                  - *

                                                                  If you don't specify this parameter, the role name defaults to - * OrganizationAccountAccessRole.

                                                                  - *

                                                                  For more information about how to use this role to access the member account, see the - * following links:

                                                                  - * - *

                                                                  The regex pattern that - * is used to validate this parameter. The pattern can include uppercase - * letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-

                                                                  + *

                                                                  The string value that's associated with the key of the tag. You can set the value of a + * tag to an empty string, but you can't set the value of a tag to null.

                                                                  */ - RoleName?: string; + Value: string | undefined; + + /** + *

                                                                  The key identifier, or name, of the tag.

                                                                  + */ + Key: string | undefined; +} + +export namespace Tag { + export const filterSensitiveLog = (obj: Tag): any => ({ + ...obj, + }); +} +export interface CreateAccountRequest { /** *

                                                                  If set to ALLOW, the new account enables IAM users to access account * billing information if they have the required permissions. If set @@ -1009,10 +1034,53 @@ export interface CreateAccountRequest { */ Email: string | undefined; + /** + *

                                                                  A list of tags that you want to attach to the newly created account. For each tag in + * the list, you must specify both a tag key and a value. You can set the value to an empty + * string, but you can't set it to null. For more information about tagging, + * see Tagging AWS + * Organizations resources in the AWS Organizations User Guide.

                                                                  + * + *

                                                                  If any one of the tags is invalid or if you exceed the allowed number of tags for + * an account, then the entire request fails and the account is not created.

                                                                  + *
                                                                  + */ + Tags?: Tag[]; + /** *

                                                                  The friendly name of the member account.

                                                                  */ AccountName: string | undefined; + + /** + *

                                                                  (Optional)

                                                                  + *

                                                                  The name of an IAM role that AWS Organizations automatically preconfigures in the new member + * account. This role trusts the master account, allowing users in the master account + * to assume the role, as permitted by the master account administrator. The role has + * administrator permissions in the new member account.

                                                                  + *

                                                                  If you don't specify this parameter, the role name defaults to + * OrganizationAccountAccessRole.

                                                                  + *

                                                                  For more information about how to use this role to access the member account, see the + * following links:

                                                                  + * + *

                                                                  The regex pattern that + * is used to validate this parameter. The pattern can include uppercase + * letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-

                                                                  + */ + RoleName?: string; } export namespace CreateAccountRequest { @@ -1031,6 +1099,8 @@ export enum CreateAccountFailureReason { INTERNAL_FAILURE = "INTERNAL_FAILURE", INVALID_ADDRESS = "INVALID_ADDRESS", INVALID_EMAIL = "INVALID_EMAIL", + MISSING_BUSINESS_VALIDATION = "MISSING_BUSINESS_VALIDATION", + MISSING_PAYMENT_INSTRUMENT = "MISSING_PAYMENT_INSTRUMENT", } export enum CreateAccountState { @@ -1045,14 +1115,13 @@ export enum CreateAccountState { */ export interface CreateAccountStatus { /** - *

                                                                  The account name given to the account when it was created.

                                                                  - */ - AccountName?: string; - - /** - *

                                                                  The date and time that the account was created and the request completed.

                                                                  + *

                                                                  The unique identifier (ID) that references this request. You get this value from the + * response of the initial CreateAccount request to create the + * account.

                                                                  + *

                                                                  The regex pattern for a create account request ID string + * requires "car-" followed by from 8 to 32 lowercase letters or digits.

                                                                  */ - CompletedTimestamp?: Date; + Id?: string; /** *

                                                                  If the account was created successfully, the unique identifier (ID) of the new @@ -1067,6 +1136,22 @@ export interface CreateAccountStatus { */ RequestedTimestamp?: Date; + /** + *

                                                                  The date and time that the account was created and the request completed.

                                                                  + */ + CompletedTimestamp?: Date; + + /** + *

                                                                  The account name given to the account when it was created.

                                                                  + */ + AccountName?: string; + + /** + *

                                                                  If the account was created successfully, the unique identifier (ID) of the new account + * in the AWS GovCloud (US) Region.

                                                                  + */ + GovCloudAccountId?: string; + /** *

                                                                  If the request failed, a description of the reason for the failure.

                                                                  *
                                                                    @@ -1075,6 +1160,10 @@ export interface CreateAccountStatus { * reached the limit on the number of accounts in your organization.

                                                                    * *
                                                                  • + *

                                                                    CONCURRENT_ACCOUNT_MODIFICATION: You already submitted a request with the same + * information.

                                                                    + *
                                                                  • + *
                                                                  • *

                                                                    EMAIL_ALREADY_EXISTS: The account could not be created because another AWS * account with that email address already exists.

                                                                    *
                                                                  • @@ -1096,29 +1185,22 @@ export interface CreateAccountStatus { * failure. Try again later. If the problem persists, contact Customer * Support.

                                                                    * + *
                                                                  • + *

                                                                    MISSING_BUSINESS_VALIDATION: The AWS account that owns your organization has + * not received Business Validation.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    MISSING_PAYMENT_INSTRUMENT: You must configure the master account with a + * valid payment method, such as a credit card.

                                                                    + *
                                                                  • *
                                                                  */ FailureReason?: CreateAccountFailureReason | string; - /** - *

                                                                  If the account was created successfully, the unique identifier (ID) of the new account - * in the AWS GovCloud (US) Region.

                                                                  - */ - GovCloudAccountId?: string; - /** *

                                                                  The status of the request.

                                                                  */ State?: CreateAccountState | string; - - /** - *

                                                                  The unique identifier (ID) that references this request. You get this value from the - * response of the initial CreateAccount request to create the - * account.

                                                                  - *

                                                                  The regex pattern for a create account request ID string - * requires "car-" followed by from 8 to 32 lower-case letters or digits.

                                                                  - */ - Id?: string; } export namespace CreateAccountStatus { @@ -1170,37 +1252,33 @@ export namespace FinalizingOrganizationException { export interface CreateGovCloudAccountRequest { /** - *

                                                                  The email address of the owner to assign to the new member account in the commercial - * Region. This email address must not already be associated with another AWS account. - * You must use a valid email address to complete account creation. You can't access the - * root user of the account or remove an account that was created with an invalid email - * address. Like all request parameters for CreateGovCloudAccount, the request - * for the email address for the AWS GovCloud (US) account originates from the commercial - * Region, not from the AWS GovCloud (US) Region.

                                                                  + *

                                                                  The friendly name of the member account.

                                                                  */ - Email: string | undefined; + AccountName: string | undefined; /** - *

                                                                  If set to ALLOW, the new linked account in the commercial Region enables - * IAM users to access account billing information if they have the - * required permissions. If set to DENY, only the root user of the new account - * can access account billing information. For more information, see Activating - * Access to the Billing and Cost Management Console in the - * AWS Billing and Cost Management User Guide. - *

                                                                  - *

                                                                  If you don't specify this parameter, the value defaults to ALLOW, and - * IAM users and roles with the required permissions can access billing information for - * the new account.

                                                                  + *

                                                                  A list of tags that you want to attach to the newly created account. These tags are + * attached to the commercial account associated with the GovCloud account, and not to the + * GovCloud account itself. To add tags to the actual GovCloud account, call the TagResource operation in the GovCloud region after the new GovCloud + * account exists.

                                                                  + *

                                                                  For each tag in the list, you must specify both a tag key and a value. You can set the + * value to an empty string, but you can't set it to null. For more + * information about tagging, see Tagging AWS Organizations resources + * in the AWS Organizations User Guide.

                                                                  + * + *

                                                                  If any one of the tags is invalid or if you exceed the allowed number of tags for + * an account, then the entire request fails and the account is not created.

                                                                  + *
                                                                  */ - IamUserAccessToBilling?: IAMUserAccessToBilling | string; + Tags?: Tag[]; /** *

                                                                  (Optional)

                                                                  *

                                                                  The name of an IAM role that AWS Organizations automatically preconfigures in the new member * accounts in both the AWS GovCloud (US) Region and in the commercial Region. This role - * trusts the master account, allowing users in the master account to assume the role, as - * permitted by the master account administrator. The role has administrator permissions in - * the new member account.

                                                                  + * trusts the master account, allowing users in the master account to assume the + * role, as permitted by the master account administrator. The role has administrator + * permissions in the new member account.

                                                                  *

                                                                  If you don't specify this parameter, the role name defaults to * OrganizationAccountAccessRole.

                                                                  *

                                                                  For more information about how to use this role to access the member account, see @@ -1215,16 +1293,36 @@ export interface CreateGovCloudAccountRequest { RoleName?: string; /** - *

                                                                  The friendly name of the member account.

                                                                  + *

                                                                  If set to ALLOW, the new linked account in the commercial Region enables + * IAM users to access account billing information if they have the + * required permissions. If set to DENY, only the root user of the new account + * can access account billing information. For more information, see Activating + * Access to the Billing and Cost Management Console in the + * AWS Billing and Cost Management User Guide. + *

                                                                  + *

                                                                  If you don't specify this parameter, the value defaults to ALLOW, and + * IAM users and roles with the required permissions can access billing information for + * the new account.

                                                                  */ - AccountName: string | undefined; + IamUserAccessToBilling?: IAMUserAccessToBilling | string; + + /** + *

                                                                  The email address of the owner to assign to the new member account in the commercial + * Region. This email address must not already be associated with another AWS account. + * You must use a valid email address to complete account creation. You can't access the + * root user of the account or remove an account that was created with an invalid email + * address. Like all request parameters for CreateGovCloudAccount, the request + * for the email address for the AWS GovCloud (US) account originates from the commercial + * Region, not from the AWS GovCloud (US) Region.

                                                                  + */ + Email: string | undefined; } export namespace CreateGovCloudAccountRequest { export const filterSensitiveLog = (obj: CreateGovCloudAccountRequest): any => ({ ...obj, - ...(obj.Email && { Email: SENSITIVE_STRING }), ...(obj.AccountName && { AccountName: SENSITIVE_STRING }), + ...(obj.Email && { Email: SENSITIVE_STRING }), }); } @@ -1258,7 +1356,8 @@ export interface CreateOrganizationRequest { *
                                                                • *

                                                                  * CONSOLIDATED_BILLING: All member accounts have their bills - * consolidated to and paid by the master account. For more information, see Consolidated billing in the + * consolidated to and paid by the master account. For more information, see + * Consolidated billing in the * AWS Organizations User Guide. *

                                                                  *

                                                                  The consolidated billing feature subset isn't available for organizations in @@ -1267,8 +1366,9 @@ export interface CreateOrganizationRequest { *

                                                                • *

                                                                  * ALL: In addition to all the features supported by the - * consolidated billing feature set, the master account can also apply any policy - * type to any member account in the organization. For more information, see All + * consolidated billing feature set, the master account can also apply any + * policy type to any member account in the organization. For more information, see + * All * features in the AWS Organizations User Guide. *

                                                                  *
                                                                • @@ -1326,31 +1426,25 @@ export namespace PolicyTypeSummary { */ export interface Organization { /** - *

                                                                  The Amazon Resource Name (ARN) of the account that is designated as the master account - * for the organization.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of an organization.

                                                                  *

                                                                  For more information about ARNs in Organizations, see ARN Formats Supported by * Organizations in the AWS Organizations User Guide.

                                                                  */ - MasterAccountArn?: string; + Arn?: string; /** - * - *

                                                                  Do not use. This field is deprecated and doesn't provide complete information - * about the policies in your organization.

                                                                  - *
                                                                  - *

                                                                  To determine the policies that are enabled and available for use in your organization, - * use the ListRoots operation instead.

                                                                  + *

                                                                  The unique identifier (ID) of an organization.

                                                                  + *

                                                                  The regex pattern for an organization ID string requires "o-" + * followed by from 10 to 32 lowercase letters or digits.

                                                                  */ - AvailablePolicyTypes?: PolicyTypeSummary[]; + Id?: string; /** - *

                                                                  Specifies the functionality that currently is available to the organization. If set to - * "ALL", then all features are enabled and policies can be applied to accounts in the - * organization. If set to "CONSOLIDATED_BILLING", then only consolidated billing - * functionality is available. For more information, see Enabling All Features - * in Your Organization in the AWS Organizations User Guide.

                                                                  + *

                                                                  The unique identifier (ID) of the master account of an organization.

                                                                  + *

                                                                  The regex pattern for an account ID string requires exactly 12 + * digits.

                                                                  */ - FeatureSet?: OrganizationFeatureSet | string; + MasterAccountId?: string; /** *

                                                                  The email address that is associated with the AWS account that is designated as the @@ -1359,25 +1453,31 @@ export interface Organization { MasterAccountEmail?: string; /** - *

                                                                  The unique identifier (ID) of the master account of an organization.

                                                                  - *

                                                                  The regex pattern for an account ID string requires exactly 12 - * digits.

                                                                  + * + *

                                                                  Do not use. This field is deprecated and doesn't provide complete information + * about the policies in your organization.

                                                                  + *
                                                                  + *

                                                                  To determine the policies that are enabled and available for use in your organization, + * use the ListRoots operation instead.

                                                                  */ - MasterAccountId?: string; + AvailablePolicyTypes?: PolicyTypeSummary[]; /** - *

                                                                  The Amazon Resource Name (ARN) of an organization.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the account that is designated as the + * master account for the organization.

                                                                  *

                                                                  For more information about ARNs in Organizations, see ARN Formats Supported by * Organizations in the AWS Organizations User Guide.

                                                                  */ - Arn?: string; + MasterAccountArn?: string; /** - *

                                                                  The unique identifier (ID) of an organization.

                                                                  - *

                                                                  The regex pattern for an organization ID string requires "o-" - * followed by from 10 to 32 lower-case letters or digits.

                                                                  + *

                                                                  Specifies the functionality that currently is available to the organization. If set to + * "ALL", then all features are enabled and policies can be applied to accounts in the + * organization. If set to "CONSOLIDATED_BILLING", then only consolidated billing + * functionality is available. For more information, see Enabling All Features + * in Your Organization in the AWS Organizations User Guide.

                                                                  */ - Id?: string; + FeatureSet?: OrganizationFeatureSet | string; } export namespace Organization { @@ -1427,6 +1527,19 @@ export interface CreateOrganizationalUnitRequest { *
                                                                */ ParentId: string | undefined; + + /** + *

                                                                A list of tags that you want to attach to the newly created OU. For each tag in the + * list, you must specify both a tag key and a value. You can set the value to an empty + * string, but you can't set it to null. For more information about tagging, + * see Tagging AWS + * Organizations resources in the AWS Organizations User Guide.

                                                                + * + *

                                                                If any one of the tags is invalid or if you exceed the allowed number of tags for + * an OU, then the entire request fails and the OU is not created.

                                                                + *
                                                                + */ + Tags?: Tag[]; } export namespace CreateOrganizationalUnitRequest { @@ -1442,13 +1555,12 @@ export namespace CreateOrganizationalUnitRequest { */ export interface OrganizationalUnit { /** - *

                                                                The unique identifier (ID) associated with this OU.

                                                                - *

                                                                The regex pattern for an organizational unit ID string requires - * "ou-" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the - * OU). This string is followed by a second "-" dash and from 8 to 32 additional lower-case letters or - * digits.

                                                                + *

                                                                The friendly name of this OU.

                                                                + *

                                                                The regex pattern + * that is used to validate this parameter is a string of any of the characters in the ASCII + * character range.

                                                                */ - Id?: string; + Name?: string; /** *

                                                                The Amazon Resource Name (ARN) of this OU.

                                                                @@ -1458,12 +1570,13 @@ export interface OrganizationalUnit { Arn?: string; /** - *

                                                                The friendly name of this OU.

                                                                - *

                                                                The regex pattern - * that is used to validate this parameter is a string of any of the characters in the ASCII - * character range.

                                                                + *

                                                                The unique identifier (ID) associated with this OU.

                                                                + *

                                                                The regex pattern for an organizational unit ID string requires + * "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the + * OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or + * digits.

                                                                */ - Name?: string; + Id?: string; } export namespace OrganizationalUnit { @@ -1516,27 +1629,33 @@ export namespace ParentNotFoundException { } export interface CreatePolicyRequest { + /** + *

                                                                The policy text content to add to the new policy. The text that you supply must adhere + * to the rules of the policy type you specify in the Type parameter.

                                                                + */ + Content: string | undefined; + /** *

                                                                The type of policy to create. You can specify one of the following values:

                                                                * @@ -1544,15 +1663,17 @@ export interface CreatePolicyRequest { Type: PolicyType | string | undefined; /** - *

                                                                An optional description to assign to the policy.

                                                                - */ - Description: string | undefined; - - /** - *

                                                                The policy text content to add to the new policy. The text that you supply must adhere - * to the rules of the policy type you specify in the Type parameter.

                                                                + *

                                                                A list of tags that you want to attach to the newly created policy. For each tag in + * the list, you must specify both a tag key and a value. You can set the value to an empty + * string, but you can't set it to null. For more information about tagging, + * see Tagging AWS + * Organizations resources in the AWS Organizations User Guide.

                                                                + * + *

                                                                If any one of the tags is invalid or if you exceed the allowed number of tags for + * a policy, then the entire request fails and the policy is not created.

                                                                + *
                                                                */ - Content: string | undefined; + Tags?: Tag[]; /** *

                                                                The friendly name to assign to the policy.

                                                                @@ -1561,6 +1682,11 @@ export interface CreatePolicyRequest { * character range.

                                                                */ Name: string | undefined; + + /** + *

                                                                An optional description to assign to the policy.

                                                                + */ + Description: string | undefined; } export namespace CreatePolicyRequest { @@ -1575,17 +1701,23 @@ export namespace CreatePolicyRequest { */ export interface PolicySummary { /** - *

                                                                The type of policy.

                                                                + *

                                                                The description of the policy.

                                                                */ - Type?: PolicyType | string; + Description?: string; /** - *

                                                                The friendly name of the policy.

                                                                - *

                                                                The regex pattern - * that is used to validate this parameter is a string of any of the characters in the ASCII - * character range.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the policy.

                                                                + *

                                                                For more information about ARNs in Organizations, see ARN Formats Supported by + * Organizations in the AWS Organizations User Guide.

                                                                */ - Name?: string; + Arn?: string; + + /** + *

                                                                The unique identifier (ID) of the policy.

                                                                + *

                                                                The regex pattern for a policy ID string requires "p-" followed + * by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

                                                                + */ + Id?: string; /** *

                                                                A boolean value that indicates whether the specified policy is an AWS managed @@ -1595,23 +1727,17 @@ export interface PolicySummary { AwsManaged?: boolean; /** - *

                                                                The unique identifier (ID) of the policy.

                                                                - *

                                                                The regex pattern for a policy ID string requires "p-" followed - * by from 8 to 128 lower-case letters or digits.

                                                                - */ - Id?: string; - - /** - *

                                                                The description of the policy.

                                                                + *

                                                                The friendly name of the policy.

                                                                + *

                                                                The regex pattern + * that is used to validate this parameter is a string of any of the characters in the ASCII + * character range.

                                                                */ - Description?: string; + Name?: string; /** - *

                                                                The Amazon Resource Name (ARN) of the policy.

                                                                - *

                                                                For more information about ARNs in Organizations, see ARN Formats Supported by - * Organizations in the AWS Organizations User Guide.

                                                                + *

                                                                The type of policy.

                                                                */ - Arn?: string; + Type?: PolicyType | string; } export namespace PolicySummary { @@ -1896,9 +2022,9 @@ export namespace CreateAccountStatusNotFoundException { export interface DescribeCreateAccountStatusRequest { /** - *

                                                                Specifies the operationId that uniquely identifies the request. You can - * get the ID from the response to an earlier CreateAccount request, or - * from the ListCreateAccountStatus operation.

                                                                + *

                                                                Specifies the Id value that uniquely identifies the + * CreateAccount request. You can get the value from the + * CreateAccountStatus.Id response in an earlier CreateAccount request, or from the ListCreateAccountStatus operation.

                                                                *

                                                                The regex pattern for a create account request ID string * requires "car-" followed by from 8 to 32 lowercase letters or digits.

                                                                */ @@ -1934,35 +2060,35 @@ export enum EffectivePolicyType { } export interface DescribeEffectivePolicyRequest { + /** + *

                                                                When you're signed in as the master account, specify the ID of the account that you + * want details about. Specifying an organization root or organizational unit (OU) as the + * target is not supported.

                                                                + */ + TargetId?: string; + /** *

                                                                The type of policy that you want information about. You can specify one of the * following values:

                                                                * */ PolicyType: EffectivePolicyType | string | undefined; - - /** - *

                                                                When you're signed in as the master account, specify the ID of the account that you - * want details about. Specifying an organization root or organizational unit (OU) as the - * target is not supported.

                                                                - */ - TargetId?: string; } export namespace DescribeEffectivePolicyRequest { @@ -1988,14 +2114,14 @@ export interface EffectivePolicy { PolicyContent?: string; /** - *

                                                                The time of the last update to this policy.

                                                                + *

                                                                The account ID of the policy target.

                                                                */ - LastUpdatedTimestamp?: Date; + TargetId?: string; /** - *

                                                                The account ID of the policy target.

                                                                + *

                                                                The time of the last update to this policy.

                                                                */ - TargetId?: string; + LastUpdatedTimestamp?: Date; } export namespace EffectivePolicy { @@ -2018,10 +2144,10 @@ export namespace DescribeEffectivePolicyResponse { } /** - *

                                                                If you ran this action on the master account, this policy type is not enabled. If you - * ran the action on a member account, the account doesn't have an effective policy of this - * type. Contact the administrator of your organization about attaching a policy of this - * type to the account.

                                                                + *

                                                                If you ran this action on the master account, this policy type is not enabled. If + * you ran the action on a member account, the account doesn't have an effective policy of + * this type. Contact the administrator of your organization about attaching a policy of + * this type to the account.

                                                                */ export interface EffectivePolicyNotFoundException extends __SmithyException, $MetadataBearer { name: "EffectivePolicyNotFoundException"; @@ -2137,15 +2263,6 @@ export namespace DescribePolicyResponse { } export interface DetachPolicyRequest { - /** - *

                                                                The unique identifier (ID) of the policy you want to detach. You can get the ID from - * the ListPolicies or ListPoliciesForTarget - * operations.

                                                                - *

                                                                The regex pattern for a policy ID string requires "p-" followed - * by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

                                                                - */ - PolicyId: string | undefined; - /** *

                                                                The unique identifier (ID) of the root, OU, or account that you want to detach the * policy from. You can get the ID from the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts @@ -2171,6 +2288,15 @@ export interface DetachPolicyRequest { *

                                                              */ TargetId: string | undefined; + + /** + *

                                                              The unique identifier (ID) of the policy you want to detach. You can get the ID from + * the ListPolicies or ListPoliciesForTarget + * operations.

                                                              + *

                                                              The regex pattern for a policy ID string requires "p-" followed + * by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

                                                              + */ + PolicyId: string | undefined; } export namespace DetachPolicyRequest { @@ -2211,41 +2337,41 @@ export namespace DisableAWSServiceAccessRequest { } export interface DisablePolicyTypeRequest { - /** - *

                                                              The unique identifier (ID) of the root in which you want to disable a policy type. You - * can get the ID from the ListRoots operation.

                                                              - *

                                                              The regex pattern for a root ID string requires "r-" followed by - * from 4 to 32 lowercase letters or digits.

                                                              - */ - RootId: string | undefined; - /** *

                                                              The policy type that you want to disable in this root. You can specify one of the * following values:

                                                              * */ PolicyType: PolicyType | string | undefined; + + /** + *

                                                              The unique identifier (ID) of the root in which you want to disable a policy type. You + * can get the ID from the ListRoots operation.

                                                              + *

                                                              The regex pattern for a root ID string requires "r-" followed by + * from 4 to 32 lowercase letters or digits.

                                                              + */ + RootId: string | undefined; } export namespace DisablePolicyTypeRequest { @@ -2256,26 +2382,17 @@ export namespace DisablePolicyTypeRequest { /** *

                                                              Contains details about a root. A root is a top-level parent node in the hierarchy of - * an organization that can contain organizational units (OUs) and accounts. Every root - * contains every AWS account in the organization. Each root enables the accounts to be - * organized in a different way and to have different policy types enabled for use in that - * root.

                                                              + * an organization that can contain organizational units (OUs) and accounts. + * The root contains every AWS account in the + * organization.

                                                              */ export interface Root { /** - *

                                                              The friendly name of the root.

                                                              - *

                                                              The regex pattern - * that is used to validate this parameter is a string of any of the characters in the ASCII - * character range.

                                                              - */ - Name?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) of the root.

                                                              - *

                                                              For more information about ARNs in Organizations, see ARN Formats Supported by - * Organizations in the AWS Organizations User Guide.

                                                              + *

                                                              The unique identifier (ID) for the root.

                                                              + *

                                                              The regex pattern for a root ID string requires "r-" followed by + * from 4 to 32 lowercase letters or digits.

                                                              */ - Arn?: string; + Id?: string; /** *

                                                              The types of policies that are currently enabled for the root and therefore can be @@ -2289,11 +2406,19 @@ export interface Root { PolicyTypes?: PolicyTypeSummary[]; /** - *

                                                              The unique identifier (ID) for the root.

                                                              - *

                                                              The regex pattern for a root ID string requires "r-" followed by - * from 4 to 32 lower-case letters or digits.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the root.

                                                              + *

                                                              For more information about ARNs in Organizations, see ARN Formats Supported by + * Organizations in the AWS Organizations User Guide.

                                                              */ - Id?: string; + Arn?: string; + + /** + *

                                                              The friendly name of the root.

                                                              + *

                                                              The regex pattern + * that is used to validate this parameter is a string of any of the characters in the ASCII + * character range.

                                                              + */ + Name?: string; } export namespace Root { @@ -2355,41 +2480,41 @@ export namespace EnableAWSServiceAccessRequest { } export interface EnablePolicyTypeRequest { + /** + *

                                                              The unique identifier (ID) of the root in which you want to enable a policy type. You + * can get the ID from the ListRoots operation.

                                                              + *

                                                              The regex pattern for a root ID string requires "r-" followed by + * from 4 to 32 lowercase letters or digits.

                                                              + */ + RootId: string | undefined; + /** *

                                                              The policy type that you want to enable. You can specify one of the following * values:

                                                              * */ PolicyType: PolicyType | string | undefined; - - /** - *

                                                              The unique identifier (ID) of the root in which you want to enable a policy type. You - * can get the ID from the ListRoots operation.

                                                              - *

                                                              The regex pattern for a root ID string requires "r-" followed by - * from 4 to 32 lowercase letters or digits.

                                                              - */ - RootId: string | undefined; } export namespace EnablePolicyTypeRequest { @@ -2446,9 +2571,39 @@ export namespace DuplicateHandshakeException { } export interface InviteAccountToOrganizationRequest { + /** + *

                                                              Additional information that you want to include in the generated email to the + * recipient account owner.

                                                              + */ + Notes?: string; + + /** + *

                                                              A list of tags that you want to attach to the account when it becomes a member of the + * organization. For each tag in the list, you must specify both a tag key and a value. You + * can set the value to an empty string, but you can't set it to null. For + * more information about tagging, see Tagging AWS Organizations resources + * in the AWS Organizations User Guide.

                                                              + * + *

                                                              Any tags in the request are checked for compliance with any applicable tag + * policies when the request is made. The request is rejected if the tags in the + * request don't match the requirements of the policy at that time. Tag policy + * compliance is + * not + * checked + * again when the invitation is accepted and the tags are actually attached to the + * account. That means that if the tag policy changes between the invitation and the + * acceptance, then that tags could potentially be non-compliant.

                                                              + *
                                                              + * + *

                                                              If any one of the tags is invalid or if you exceed the allowed number of tags for + * an account, then the entire request fails and invitations are not sent.

                                                              + *
                                                              + */ + Tags?: Tag[]; + /** *

                                                              The identifier (ID) of the AWS account that you want to invite to join your - * organization. This is a JSON object that contains the following elements:

                                                              + * organization. This is a JSON object that contains the following elements:

                                                              *

                                                              * { "Type": "ACCOUNT", "Id": "< * account id @@ -2468,26 +2623,20 @@ export interface InviteAccountToOrganizationRequest { *

                                                              */ Target: HandshakeParty | undefined; - - /** - *

                                                              Additional information that you want to include in the generated email to the - * recipient account owner.

                                                              - */ - Notes?: string; } export namespace InviteAccountToOrganizationRequest { export const filterSensitiveLog = (obj: InviteAccountToOrganizationRequest): any => ({ ...obj, - ...(obj.Target && { Target: HandshakeParty.filterSensitiveLog(obj.Target) }), ...(obj.Notes && { Notes: SENSITIVE_STRING }), + ...(obj.Target && { Target: HandshakeParty.filterSensitiveLog(obj.Target) }), }); } /** - *

                                                              You can't remove a master account from an organization. If you want the master account - * to become a member account in another organization, you must first delete the current - * organization of the master account.

                                                              + *

                                                              You can't remove a master account from an organization. If you want the + * master account to become a member account in another organization, you must first + * delete the current organization of the master account.

                                                              */ export interface MasterCannotLeaveOrganizationException extends __SmithyException, $MetadataBearer { name: "MasterCannotLeaveOrganizationException"; @@ -2502,14 +2651,6 @@ export namespace MasterCannotLeaveOrganizationException { } export interface ListAccountsRequest { - /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              - */ - NextToken?: string; - /** *

                                                              The total number of results that you want included * on each page of the response. If you do not include this parameter, it defaults to a value that is specific @@ -2521,12 +2662,20 @@ export interface ListAccountsRequest { * operation to ensure that you receive all of the results.

                                                              */ MaxResults?: number; -} -export namespace ListAccountsRequest { - export const filterSensitiveLog = (obj: ListAccountsRequest): any => ({ - ...obj, - }); + /** + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              + */ + NextToken?: string; +} + +export namespace ListAccountsRequest { + export const filterSensitiveLog = (obj: ListAccountsRequest): any => ({ + ...obj, + }); } export interface ListAccountsResponse { @@ -2552,12 +2701,6 @@ export namespace ListAccountsResponse { } export interface ListAccountsForParentRequest { - /** - *

                                                              The unique identifier (ID) for the parent root or organization unit (OU) whose - * accounts you want to list.

                                                              - */ - ParentId: string | undefined; - /** *

                                                              The total number of results that you want included * on each page of the response. If you do not include this parameter, it defaults to a value that is specific @@ -2577,6 +2720,12 @@ export interface ListAccountsForParentRequest { * continue from.

                                                              */ NextToken?: string; + + /** + *

                                                              The unique identifier (ID) for the parent root or organization unit (OU) whose + * accounts you want to list.

                                                              + */ + ParentId: string | undefined; } export namespace ListAccountsForParentRequest { @@ -2586,11 +2735,6 @@ export namespace ListAccountsForParentRequest { } export interface ListAccountsForParentResponse { - /** - *

                                                              A list of the accounts in the specified root or OU.

                                                              - */ - Accounts?: Account[]; - /** *

                                                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken * request parameter in a subsequent call to the operation to get the next part of the output. You @@ -2598,6 +2742,11 @@ export interface ListAccountsForParentResponse { * null.

                                                              */ NextToken?: string; + + /** + *

                                                              A list of the accounts in the specified root or OU.

                                                              + */ + Accounts?: Account[]; } export namespace ListAccountsForParentResponse { @@ -2608,14 +2757,6 @@ export namespace ListAccountsForParentResponse { } export interface ListAWSServiceAccessForOrganizationRequest { - /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              - */ - NextToken?: string; - /** *

                                                              The total number of results that you want included * on each page of the response. If you do not include this parameter, it defaults to a value that is specific @@ -2627,6 +2768,14 @@ export interface ListAWSServiceAccessForOrganizationRequest { * operation to ensure that you receive all of the results.

                                                              */ MaxResults?: number; + + /** + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              + */ + NextToken?: string; } export namespace ListAWSServiceAccessForOrganizationRequest { @@ -2640,17 +2789,17 @@ export namespace ListAWSServiceAccessForOrganizationRequest { * service that is enabled to integrate with AWS Organizations.

                                                              */ export interface EnabledServicePrincipal { - /** - *

                                                              The date that the service principal was enabled for integration with AWS Organizations.

                                                              - */ - DateEnabled?: Date; - /** *

                                                              The name of the service principal. This is typically in the form of a URL, such as: * * servicename.amazonaws.com.

                                                              */ ServicePrincipal?: string; + + /** + *

                                                              The date that the service principal was enabled for integration with AWS Organizations.

                                                              + */ + DateEnabled?: Date; } export namespace EnabledServicePrincipal { @@ -2689,9 +2838,12 @@ export enum ChildType { export interface ListChildrenRequest { /** - *

                                                              Filters the output to include only the specified child type.

                                                              + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              */ - ChildType: ChildType | string | undefined; + NextToken?: string; /** *

                                                              The unique identifier (ID) for the parent root or OU whose children you want to @@ -2714,6 +2866,11 @@ export interface ListChildrenRequest { */ ParentId: string | undefined; + /** + *

                                                              Filters the output to include only the specified child type.

                                                              + */ + ChildType: ChildType | string | undefined; + /** *

                                                              The total number of results that you want included * on each page of the response. If you do not include this parameter, it defaults to a value that is specific @@ -2725,14 +2882,6 @@ export interface ListChildrenRequest { * operation to ensure that you receive all of the results.

                                                              */ MaxResults?: number; - - /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              - */ - NextToken?: string; } export namespace ListChildrenRequest { @@ -2745,27 +2894,29 @@ export namespace ListChildrenRequest { *

                                                              Contains a list of child entities, either OUs or accounts.

                                                              */ export interface Child { - /** - *

                                                              The type of this child entity.

                                                              - */ - Type?: ChildType | string; - /** *

                                                              The unique identifier (ID) of this child entity.

                                                              *

                                                              The regex pattern for a child ID string requires one of the * following:

                                                              *
                                                                *
                                                              • - *

                                                                Account: A string that consists of exactly 12 digits.

                                                                + *

                                                                + * Account - A string that consists of exactly 12 digits.

                                                                *
                                                              • *
                                                              • - *

                                                                Organizational unit (OU): A string that begins with "ou-" followed by from 4 to 32 - * lower-case letters or digits (the ID of the root that contains the OU). This string is followed by a second - * "-" dash and from 8 to 32 additional lower-case letters or digits.

                                                                + *

                                                                + * Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 + * lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second + * "-" dash and from 8 to 32 additional lowercase letters or digits.

                                                                *
                                                              • *
                                                              */ Id?: string; + + /** + *

                                                              The type of this child entity.

                                                              + */ + Type?: ChildType | string; } export namespace Child { @@ -2775,11 +2926,6 @@ export namespace Child { } export interface ListChildrenResponse { - /** - *

                                                              The list of children of the specified parent container.

                                                              - */ - Children?: Child[]; - /** *

                                                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken * request parameter in a subsequent call to the operation to get the next part of the output. You @@ -2787,6 +2933,11 @@ export interface ListChildrenResponse { * null.

                                                              */ NextToken?: string; + + /** + *

                                                              The list of children of the specified parent container.

                                                              + */ + Children?: Child[]; } export namespace ListChildrenResponse { @@ -2797,10 +2948,16 @@ export namespace ListChildrenResponse { export interface ListCreateAccountStatusRequest { /** - *

                                                              A list of one or more states that you want included in the response. If this parameter - * isn't present, all requests are included in the response.

                                                              + *

                                                              The total number of results that you want included + * on each page of the response. If you do not include this parameter, it defaults to a value that is specific + * to the operation. If additional items exist beyond the maximum you specify, the + * NextToken response element is present and has a value (is not null). Include that + * value as the NextToken request parameter in the next call to the operation to get + * the next part of the results. Note that Organizations might return fewer results than the maximum even + * when there are more results available. You should check NextToken after every + * operation to ensure that you receive all of the results.

                                                              */ - States?: (CreateAccountState | string)[]; + MaxResults?: number; /** *

                                                              The parameter for receiving additional results if you receive a NextToken @@ -2811,16 +2968,10 @@ export interface ListCreateAccountStatusRequest { NextToken?: string; /** - *

                                                              The total number of results that you want included - * on each page of the response. If you do not include this parameter, it defaults to a value that is specific - * to the operation. If additional items exist beyond the maximum you specify, the - * NextToken response element is present and has a value (is not null). Include that - * value as the NextToken request parameter in the next call to the operation to get - * the next part of the results. Note that Organizations might return fewer results than the maximum even - * when there are more results available. You should check NextToken after every - * operation to ensure that you receive all of the results.

                                                              + *

                                                              A list of one or more states that you want included in the response. If this parameter + * isn't present, all requests are included in the response.

                                                              */ - MaxResults?: number; + States?: (CreateAccountState | string)[]; } export namespace ListCreateAccountStatusRequest { @@ -2856,6 +3007,14 @@ export namespace ListCreateAccountStatusResponse { } export interface ListDelegatedAdministratorsRequest { + /** + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              + */ + NextToken?: string; + /** *

                                                              The total number of results that you want included * on each page of the response. If you do not include this parameter, it defaults to a value that is specific @@ -2875,14 +3034,6 @@ export interface ListDelegatedAdministratorsRequest { * administrators for all services in your organization.

                                                              */ ServicePrincipal?: string; - - /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              - */ - NextToken?: string; } export namespace ListDelegatedAdministratorsRequest { @@ -2896,19 +3047,15 @@ export namespace ListDelegatedAdministratorsRequest { */ export interface DelegatedAdministrator { /** - *

                                                              The friendly name of the delegated administrator's account.

                                                              - */ - Name?: string; - - /** - *

                                                              The date when the account was made a delegated administrator.

                                                              + *

                                                              The method by which the delegated administrator's account joined the + * organization.

                                                              */ - DelegationEnabledDate?: Date; + JoinedMethod?: AccountJoinedMethod | string; /** - *

                                                              The unique identifier (ID) of the delegated administrator's account.

                                                              + *

                                                              The status of the delegated administrator's account in the organization.

                                                              */ - Id?: string; + Status?: AccountStatus | string; /** *

                                                              The email address that is associated with the delegated administrator's AWS @@ -2917,33 +3064,37 @@ export interface DelegatedAdministrator { Email?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the delegated administrator's account.

                                                              + *

                                                              The date when the account was made a delegated administrator.

                                                              */ - Arn?: string; + DelegationEnabledDate?: Date; /** - *

                                                              The date when the delegated administrator's account became a part of the - * organization.

                                                              + *

                                                              The friendly name of the delegated administrator's account.

                                                              */ - JoinedTimestamp?: Date; + Name?: string; /** - *

                                                              The status of the delegated administrator's account in the organization.

                                                              + *

                                                              The unique identifier (ID) of the delegated administrator's account.

                                                              */ - Status?: AccountStatus | string; + Id?: string; /** - *

                                                              The method by which the delegated administrator's account joined the + *

                                                              The date when the delegated administrator's account became a part of the * organization.

                                                              */ - JoinedMethod?: AccountJoinedMethod | string; + JoinedTimestamp?: Date; + + /** + *

                                                              The Amazon Resource Name (ARN) of the delegated administrator's account.

                                                              + */ + Arn?: string; } export namespace DelegatedAdministrator { export const filterSensitiveLog = (obj: DelegatedAdministrator): any => ({ ...obj, - ...(obj.Name && { Name: SENSITIVE_STRING }), ...(obj.Email && { Email: SENSITIVE_STRING }), + ...(obj.Name && { Name: SENSITIVE_STRING }), }); } @@ -2974,6 +3125,14 @@ export namespace ListDelegatedAdministratorsResponse { } export interface ListDelegatedServicesForAccountRequest { + /** + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              + */ + NextToken?: string; + /** *

                                                              The account ID number of a delegated administrator account in the organization.

                                                              */ @@ -2990,14 +3149,6 @@ export interface ListDelegatedServicesForAccountRequest { * operation to ensure that you receive all of the results.

                                                              */ MaxResults?: number; - - /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              - */ - NextToken?: string; } export namespace ListDelegatedServicesForAccountRequest { @@ -3011,11 +3162,6 @@ export namespace ListDelegatedServicesForAccountRequest { * administrator.

                                                              */ export interface DelegatedService { - /** - *

                                                              The date that the account became a delegated administrator for this service.

                                                              - */ - DelegationEnabledDate?: Date; - /** *

                                                              The name of a service that can request an operation for the specified service. This is * typically in the form of a URL, such as: @@ -3023,6 +3169,11 @@ export interface DelegatedService { * servicename.amazonaws.com.

                                                              */ ServicePrincipal?: string; + + /** + *

                                                              The date that the account became a delegated administrator for this service.

                                                              + */ + DelegationEnabledDate?: Date; } export namespace DelegatedService { @@ -3032,6 +3183,11 @@ export namespace DelegatedService { } export interface ListDelegatedServicesForAccountResponse { + /** + *

                                                              The services for which the account is a delegated administrator.

                                                              + */ + DelegatedServices?: DelegatedService[]; + /** *

                                                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken * request parameter in a subsequent call to the operation to get the next part of the output. You @@ -3039,11 +3195,6 @@ export interface ListDelegatedServicesForAccountResponse { * null.

                                                              */ NextToken?: string; - - /** - *

                                                              The services for which the account is a delegated administrator.

                                                              - */ - DelegatedServices?: DelegatedService[]; } export namespace ListDelegatedServicesForAccountResponse { @@ -3070,7 +3221,7 @@ export interface HandshakeFilter { *

                                                              If you specify ParentHandshakeId, you cannot also specify * ActionType.

                                                              *

                                                              The regex pattern for handshake ID string requires "h-" - * followed by from 8 to 32 lower-case letters or digits.

                                                              + * followed by from 8 to 32 lowercase letters or digits.

                                                              */ ParentHandshakeId?: string; } @@ -3082,6 +3233,14 @@ export namespace HandshakeFilter { } export interface ListHandshakesForAccountRequest { + /** + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              + */ + NextToken?: string; + /** *

                                                              Filters the handshakes that you want included in the response. The default is all * types. Use the ActionType element to limit the output to only a specified @@ -3104,14 +3263,6 @@ export interface ListHandshakesForAccountRequest { * operation to ensure that you receive all of the results.

                                                              */ MaxResults?: number; - - /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              - */ - NextToken?: string; } export namespace ListHandshakesForAccountRequest { @@ -3122,15 +3273,12 @@ export namespace ListHandshakesForAccountRequest { export interface ListHandshakesForOrganizationRequest { /** - *

                                                              A filter of the handshakes that you want included in the response. The default is all - * types. Use the ActionType element to limit the output to only a specified - * type, such as INVITE, ENABLE-ALL-FEATURES, or - * APPROVE-ALL-FEATURES. Alternatively, for the - * ENABLE-ALL-FEATURES handshake that generates a separate child handshake - * for each member account, you can specify the ParentHandshakeId to see only - * the handshakes that were generated by that parent request.

                                                              + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              */ - Filter?: HandshakeFilter; + NextToken?: string; /** *

                                                              The total number of results that you want included @@ -3145,12 +3293,15 @@ export interface ListHandshakesForOrganizationRequest { MaxResults?: number; /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              - */ - NextToken?: string; + *

                                                              A filter of the handshakes that you want included in the response. The default is all + * types. Use the ActionType element to limit the output to only a specified + * type, such as INVITE, ENABLE-ALL-FEATURES, or + * APPROVE-ALL-FEATURES. Alternatively, for the + * ENABLE-ALL-FEATURES handshake that generates a separate child handshake + * for each member account, you can specify the ParentHandshakeId to see only + * the handshakes that were generated by that parent request.

                                                              + */ + Filter?: HandshakeFilter; } export namespace ListHandshakesForOrganizationRequest { @@ -3180,14 +3331,6 @@ export interface ListOrganizationalUnitsForParentRequest { */ ParentId: string | undefined; - /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              - */ - NextToken?: string; - /** *

                                                              The total number of results that you want included * on each page of the response. If you do not include this parameter, it defaults to a value that is specific @@ -3199,6 +3342,14 @@ export interface ListOrganizationalUnitsForParentRequest { * operation to ensure that you receive all of the results.

                                                              */ MaxResults?: number; + + /** + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              + */ + NextToken?: string; } export namespace ListOrganizationalUnitsForParentRequest { @@ -3208,6 +3359,11 @@ export namespace ListOrganizationalUnitsForParentRequest { } export interface ListOrganizationalUnitsForParentResponse { + /** + *

                                                              A list of the OUs in the specified root or parent OU.

                                                              + */ + OrganizationalUnits?: OrganizationalUnit[]; + /** *

                                                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken * request parameter in a subsequent call to the operation to get the next part of the output. You @@ -3215,11 +3371,6 @@ export interface ListOrganizationalUnitsForParentResponse { * null.

                                                              */ NextToken?: string; - - /** - *

                                                              A list of the OUs in the specified root or parent OU.

                                                              - */ - OrganizationalUnits?: OrganizationalUnit[]; } export namespace ListOrganizationalUnitsForParentResponse { @@ -3245,14 +3396,6 @@ export namespace ChildNotFoundException { } export interface ListParentsRequest { - /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              - */ - NextToken?: string; - /** *

                                                              The unique identifier (ID) of the OU or account whose parent containers you want to * list. Don't specify a root.

                                                              @@ -3284,6 +3427,14 @@ export interface ListParentsRequest { * operation to ensure that you receive all of the results.

                                                              */ MaxResults?: number; + + /** + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              + */ + NextToken?: string; } export namespace ListParentsRequest { @@ -3313,13 +3464,15 @@ export interface Parent { * following:

                                                              *
                                                                *
                                                              • - *

                                                                Root: A string that begins with "r-" followed by from 4 to 32 lower-case letters or + *

                                                                + * Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or * digits.

                                                                *
                                                              • *
                                                              • - *

                                                                Organizational unit (OU): A string that begins with "ou-" followed by from 4 to 32 - * lower-case letters or digits (the ID of the root that the OU is in). This string is followed by a second - * "-" dash and from 8 to 32 additional lower-case letters or digits.

                                                                + *

                                                                + * Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 + * lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second + * "-" dash and from 8 to 32 additional lowercase letters or digits.

                                                                *
                                                              • *
                                                              */ @@ -3333,11 +3486,6 @@ export namespace Parent { } export interface ListParentsResponse { - /** - *

                                                              A list of parents for the specified child account or OU.

                                                              - */ - Parents?: Parent[]; - /** *

                                                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken * request parameter in a subsequent call to the operation to get the next part of the output. You @@ -3345,6 +3493,11 @@ export interface ListParentsResponse { * null.

                                                              */ NextToken?: string; + + /** + *

                                                              A list of parents for the specified child account or OU.

                                                              + */ + Parents?: Parent[]; } export namespace ListParentsResponse { @@ -3355,12 +3508,16 @@ export namespace ListParentsResponse { export interface ListPoliciesRequest { /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              + *

                                                              The total number of results that you want included + * on each page of the response. If you do not include this parameter, it defaults to a value that is specific + * to the operation. If additional items exist beyond the maximum you specify, the + * NextToken response element is present and has a value (is not null). Include that + * value as the NextToken request parameter in the next call to the operation to get + * the next part of the results. Note that Organizations might return fewer results than the maximum even + * when there are more results available. You should check NextToken after every + * operation to ensure that you receive all of the results.

                                                              */ - NextToken?: string; + MaxResults?: number; /** *

                                                              Specifies the type of policy that you want to include in the response. You must @@ -3368,22 +3525,22 @@ export interface ListPoliciesRequest { *

                                                              @@ -3391,16 +3548,12 @@ export interface ListPoliciesRequest { Filter: PolicyType | string | undefined; /** - *

                                                              The total number of results that you want included - * on each page of the response. If you do not include this parameter, it defaults to a value that is specific - * to the operation. If additional items exist beyond the maximum you specify, the - * NextToken response element is present and has a value (is not null). Include that - * value as the NextToken request parameter in the next call to the operation to get - * the next part of the results. Note that Organizations might return fewer results than the maximum even - * when there are more results available. You should check NextToken after every - * operation to ensure that you receive all of the results.

                                                              + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              */ - MaxResults?: number; + NextToken?: string; } export namespace ListPoliciesRequest { @@ -3410,6 +3563,12 @@ export namespace ListPoliciesRequest { } export interface ListPoliciesResponse { + /** + *

                                                              A list of policies that match the filter criteria in the request. The output list + * doesn't include the policy contents. To see the content for a policy, see DescribePolicy.

                                                              + */ + Policies?: PolicySummary[]; + /** *

                                                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken * request parameter in a subsequent call to the operation to get the next part of the output. You @@ -3417,12 +3576,6 @@ export interface ListPoliciesResponse { * null.

                                                              */ NextToken?: string; - - /** - *

                                                              A list of policies that match the filter criteria in the request. The output list - * doesn't include the policy contents. To see the content for a policy, see DescribePolicy.

                                                              - */ - Policies?: PolicySummary[]; } export namespace ListPoliciesResponse { @@ -3433,77 +3586,77 @@ export namespace ListPoliciesResponse { export interface ListPoliciesForTargetRequest { /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              + *

                                                              The total number of results that you want included + * on each page of the response. If you do not include this parameter, it defaults to a value that is specific + * to the operation. If additional items exist beyond the maximum you specify, the + * NextToken response element is present and has a value (is not null). Include that + * value as the NextToken request parameter in the next call to the operation to get + * the next part of the results. Note that Organizations might return fewer results than the maximum even + * when there are more results available. You should check NextToken after every + * operation to ensure that you receive all of the results.

                                                              */ - NextToken?: string; + MaxResults?: number; /** - *

                                                              The unique identifier (ID) of the root, organizational unit, or account whose policies - * you want to list.

                                                              - *

                                                              The regex pattern for a target ID string requires one of the - * following:

                                                              + *

                                                              The type of policy that you want to include in the returned list. You must specify one + * of the following values:

                                                              *
                                                                *
                                                              • *

                                                                - * Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or - * digits.

                                                                + * AISERVICES_OPT_OUT_POLICY + *

                                                                *
                                                              • *
                                                              • *

                                                                - * Account - A string that consists of exactly 12 digits.

                                                                + * BACKUP_POLICY + *

                                                                *
                                                              • *
                                                              • *

                                                                - * Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 - * lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second - * "-" dash and from 8 to 32 additional lowercase letters or digits.

                                                                + * SERVICE_CONTROL_POLICY + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * TAG_POLICY + *

                                                                *
                                                              • *
                                                              */ - TargetId: string | undefined; + Filter: PolicyType | string | undefined; /** - *

                                                              The type of policy that you want to include in the returned list. You must specify one - * of the following values:

                                                              + *

                                                              The unique identifier (ID) of the root, organizational unit, or account whose policies + * you want to list.

                                                              + *

                                                              The regex pattern for a target ID string requires one of the + * following:

                                                              *
                                                                *
                                                              • *

                                                                - * AISERVICES_OPT_OUT_POLICY - *

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * BACKUP_POLICY - *

                                                                + * Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or + * digits.

                                                                *
                                                              • *
                                                              • *

                                                                - * SERVICE_CONTROL_POLICY - *

                                                                + * Account - A string that consists of exactly 12 digits.

                                                                *
                                                              • *
                                                              • *

                                                                - * TAG_POLICY - *

                                                                + * Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 + * lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second + * "-" dash and from 8 to 32 additional lowercase letters or digits.

                                                                *
                                                              • *
                                                              */ - Filter: PolicyType | string | undefined; + TargetId: string | undefined; /** - *

                                                              The total number of results that you want included - * on each page of the response. If you do not include this parameter, it defaults to a value that is specific - * to the operation. If additional items exist beyond the maximum you specify, the - * NextToken response element is present and has a value (is not null). Include that - * value as the NextToken request parameter in the next call to the operation to get - * the next part of the results. Note that Organizations might return fewer results than the maximum even - * when there are more results available. You should check NextToken after every - * operation to ensure that you receive all of the results.

                                                              + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              */ - MaxResults?: number; + NextToken?: string; } export namespace ListPoliciesForTargetRequest { @@ -3513,11 +3666,6 @@ export namespace ListPoliciesForTargetRequest { } export interface ListPoliciesForTargetResponse { - /** - *

                                                              The list of policies that match the criteria in the request.

                                                              - */ - Policies?: PolicySummary[]; - /** *

                                                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken * request parameter in a subsequent call to the operation to get the next part of the output. You @@ -3525,6 +3673,11 @@ export interface ListPoliciesForTargetResponse { * null.

                                                              */ NextToken?: string; + + /** + *

                                                              The list of policies that match the criteria in the request.

                                                              + */ + Policies?: PolicySummary[]; } export namespace ListPoliciesForTargetResponse { @@ -3583,6 +3736,35 @@ export namespace ListRootsResponse { } export interface ListTagsForResourceRequest { + /** + *

                                                              The ID of the resource with the tags to list.

                                                              + *

                                                              You can specify any of the following taggable resources.

                                                              + *
                                                                + *
                                                              • + *

                                                                AWS account – specify the account ID number.

                                                                + *
                                                              • + *
                                                              • + *

                                                                Organizational unit – specify the OU ID that begins with ou- and + * looks similar to: ou-1a2b-34uvwxyz + * + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                Root – specify the root ID that begins with r- and looks similar + * to: r-1a2b + * + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                Policy – specify the policy ID that begins with p- andlooks + * similar to: p-12abcdefg3 + * + *

                                                                + *
                                                              • + *
                                                              + */ + ResourceId: string | undefined; + /** *

                                                              The parameter for receiving additional results if you receive a NextToken * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the @@ -3590,11 +3772,6 @@ export interface ListTagsForResourceRequest { * continue from.

                                                              */ NextToken?: string; - - /** - *

                                                              The ID of the resource that you want to retrieve tags for.

                                                              - */ - ResourceId: string | undefined; } export namespace ListTagsForResourceRequest { @@ -3603,29 +3780,6 @@ export namespace ListTagsForResourceRequest { }); } -/** - *

                                                              A custom key-value pair associated with a resource such as an account within your - * organization.

                                                              - */ -export interface Tag { - /** - *

                                                              The key identifier, or name, of the tag.

                                                              - */ - Key: string | undefined; - - /** - *

                                                              The string value that's associated with the key of the tag. You can set the value of a - * tag to an empty string, but you can't set the value of a tag to null.

                                                              - */ - Value: string | undefined; -} - -export namespace Tag { - export const filterSensitiveLog = (obj: Tag): any => ({ - ...obj, - }); -} - export interface ListTagsForResourceResponse { /** *

                                                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken @@ -3648,14 +3802,6 @@ export namespace ListTagsForResourceResponse { } export interface ListTargetsForPolicyRequest { - /** - *

                                                              The parameter for receiving additional results if you receive a NextToken - * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the - * value of the previous call's NextToken response to indicate where the output should - * continue from.

                                                              - */ - NextToken?: string; - /** *

                                                              The total number of results that you want included * on each page of the response. If you do not include this parameter, it defaults to a value that is specific @@ -3674,6 +3820,14 @@ export interface ListTargetsForPolicyRequest { * by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

                                                              */ PolicyId: string | undefined; + + /** + *

                                                              The parameter for receiving additional results if you receive a NextToken + * response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the + * value of the previous call's NextToken response to indicate where the output should + * continue from.

                                                              + */ + NextToken?: string; } export namespace ListTargetsForPolicyRequest { @@ -3693,9 +3847,11 @@ export enum TargetType { */ export interface PolicyTargetSummary { /** - *

                                                              The type of the policy target.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the policy target.

                                                              + *

                                                              For more information about ARNs in Organizations, see ARN Formats Supported by + * Organizations in the AWS Organizations User Guide.

                                                              */ - Type?: TargetType | string; + Arn?: string; /** *

                                                              The unique identifier (ID) of the policy target.

                                                              @@ -3703,16 +3859,19 @@ export interface PolicyTargetSummary { * following:

                                                              *
                                                                *
                                                              • - *

                                                                Root: A string that begins with "r-" followed by from 4 to 32 lower-case letters or + *

                                                                + * Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or * digits.

                                                                *
                                                              • *
                                                              • - *

                                                                Account: A string that consists of exactly 12 digits.

                                                                + *

                                                                + * Account - A string that consists of exactly 12 digits.

                                                                *
                                                              • *
                                                              • - *

                                                                Organizational unit (OU): A string that begins with "ou-" followed by from 4 to 32 - * lower-case letters or digits (the ID of the root that the OU is in). This string is followed by a second - * "-" dash and from 8 to 32 additional lower-case letters or digits.

                                                                + *

                                                                + * Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 + * lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second + * "-" dash and from 8 to 32 additional lowercase letters or digits.

                                                                *
                                                              • *
                                                              */ @@ -3727,11 +3886,9 @@ export interface PolicyTargetSummary { Name?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the policy target.

                                                              - *

                                                              For more information about ARNs in Organizations, see ARN Formats Supported by - * Organizations in the AWS Organizations User Guide.

                                                              + *

                                                              The type of the policy target.

                                                              */ - Arn?: string; + Type?: TargetType | string; } export namespace PolicyTargetSummary { @@ -3741,6 +3898,12 @@ export namespace PolicyTargetSummary { } export interface ListTargetsForPolicyResponse { + /** + *

                                                              A list of structures, each of which contains details about one of the entities to + * which the specified policy is attached.

                                                              + */ + Targets?: PolicyTargetSummary[]; + /** *

                                                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken * request parameter in a subsequent call to the operation to get the next part of the output. You @@ -3748,12 +3911,6 @@ export interface ListTargetsForPolicyResponse { * null.

                                                              */ NextToken?: string; - - /** - *

                                                              A list of structures, each of which contains details about one of the entities to - * which the specified policy is attached.

                                                              - */ - Targets?: PolicyTargetSummary[]; } export namespace ListTargetsForPolicyResponse { @@ -3794,13 +3951,6 @@ export namespace DuplicateAccountException { } export interface MoveAccountRequest { - /** - *

                                                              The unique identifier (ID) of the account that you want to move.

                                                              - *

                                                              The regex pattern for an account ID string requires exactly 12 - * digits.

                                                              - */ - AccountId: string | undefined; - /** *

                                                              The unique identifier (ID) of the root or organizational unit that you want to move * the account to.

                                                              @@ -3822,6 +3972,13 @@ export interface MoveAccountRequest { */ DestinationParentId: string | undefined; + /** + *

                                                              The unique identifier (ID) of the account that you want to move.

                                                              + *

                                                              The regex pattern for an account ID string requires exactly 12 + * digits.

                                                              + */ + AccountId: string | undefined; + /** *

                                                              The unique identifier (ID) of the root or organizational unit that you want to move * the account from.

                                                              @@ -3867,17 +4024,17 @@ export namespace SourceParentNotFoundException { } export interface RegisterDelegatedAdministratorRequest { - /** - *

                                                              The service principal of the AWS service for which you want to make the member - * account a delegated administrator.

                                                              - */ - ServicePrincipal: string | undefined; - /** *

                                                              The account ID number of the member account in the organization to register as a * delegated administrator.

                                                              */ AccountId: string | undefined; + + /** + *

                                                              The service principal of the AWS service for which you want to make the member + * account a delegated administrator.

                                                              + */ + ServicePrincipal: string | undefined; } export namespace RegisterDelegatedAdministratorRequest { @@ -3904,15 +4061,46 @@ export namespace RemoveAccountFromOrganizationRequest { export interface TagResourceRequest { /** - *

                                                              The tag to add to the specified resource. You must specify both a tag key and value. - * You can set the value of a tag to an empty string, but you can't set it to null.

                                                              + *

                                                              The ID of the resource to add a tag to.

                                                              */ - Tags: Tag[] | undefined; + ResourceId: string | undefined; /** - *

                                                              The ID of the resource to add a tag to.

                                                              + *

                                                              A list of tags to add to the specified resource.

                                                              + *

                                                              You can specify any of the following taggable resources.

                                                              + *
                                                                + *
                                                              • + *

                                                                AWS account – specify the account ID number.

                                                                + *
                                                              • + *
                                                              • + *

                                                                Organizational unit – specify the OU ID that begins with ou- and + * looks similar to: ou-1a2b-34uvwxyz + * + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                Root – specify the root ID that begins with r- and looks similar + * to: r-1a2b + * + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                Policy – specify the policy ID that begins with p- andlooks + * similar to: p-12abcdefg3 + * + *

                                                                + *
                                                              • + *
                                                              + *

                                                              For + * each tag in the list, you must specify both a tag key and a value. You can set the value + * to an empty string, but you can't set it to null.

                                                              + * + *

                                                              If any one of the tags is invalid or if you exceed the allowed number of tags for + * an account user, then the entire request fails and the account is not + * created.

                                                              + *
                                                              */ - ResourceId: string | undefined; + Tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -3923,12 +4111,36 @@ export namespace TagResourceRequest { export interface UntagResourceRequest { /** - *

                                                              The ID of the resource to remove the tag from.

                                                              + *

                                                              The ID of the resource to remove a tag from.

                                                              + *

                                                              You can specify any of the following taggable resources.

                                                              + *
                                                                + *
                                                              • + *

                                                                AWS account – specify the account ID number.

                                                                + *
                                                              • + *
                                                              • + *

                                                                Organizational unit – specify the OU ID that begins with ou- and + * looks similar to: ou-1a2b-34uvwxyz + * + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                Root – specify the root ID that begins with r- and looks similar + * to: r-1a2b + * + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                Policy – specify the policy ID that begins with p- andlooks + * similar to: p-12abcdefg3 + * + *

                                                                + *
                                                              • + *
                                                              */ ResourceId: string | undefined; /** - *

                                                              The tag to remove from the specified resource.

                                                              + *

                                                              The list of keys for tags to remove from the specified resource.

                                                              */ TagKeys: string[] | undefined; } @@ -3940,6 +4152,14 @@ export namespace UntagResourceRequest { } export interface UpdateOrganizationalUnitRequest { + /** + *

                                                              The new name that you want to assign to the OU.

                                                              + *

                                                              The regex pattern + * that is used to validate this parameter is a string of any of the characters in the ASCII + * character range.

                                                              + */ + Name?: string; + /** *

                                                              The unique identifier (ID) of the OU that you want to rename. You can get the ID from * the ListOrganizationalUnitsForParent operation.

                                                              @@ -3949,14 +4169,6 @@ export interface UpdateOrganizationalUnitRequest { * digits.

                                                              */ OrganizationalUnitId: string | undefined; - - /** - *

                                                              The new name that you want to assign to the OU.

                                                              - *

                                                              The regex pattern - * that is used to validate this parameter is a string of any of the characters in the ASCII - * character range.

                                                              - */ - Name?: string; } export namespace UpdateOrganizationalUnitRequest { @@ -3995,6 +4207,11 @@ export interface UpdatePolicyRequest { */ PolicyId: string | undefined; + /** + *

                                                              If provided, the new description for the policy.

                                                              + */ + Description?: string; + /** *

                                                              If provided, the new name for the policy.

                                                              *

                                                              The regex pattern @@ -4002,11 +4219,6 @@ export interface UpdatePolicyRequest { * character range.

                                                              */ Name?: string; - - /** - *

                                                              If provided, the new description for the policy.

                                                              - */ - Description?: string; } export namespace UpdatePolicyRequest { @@ -4033,18 +4245,6 @@ export namespace UpdatePolicyResponse { *

                                                              Contains additional data that is needed to process a handshake.

                                                              */ export interface HandshakeResource { - /** - *

                                                              The information that is passed to the other party in the handshake. The format of the - * value string must match the requirements of the specified type.

                                                              - */ - Value?: string; - - /** - *

                                                              When needed, contains an additional array of HandshakeResource - * objects.

                                                              - */ - Resources?: HandshakeResource[]; - /** *

                                                              The type of information being passed, specifying how the value is to be interpreted by * the other party:

                                                              @@ -4069,8 +4269,8 @@ export interface HandshakeResource { * *
                                                            • *

                                                              - * OWNER_NAME - Specifies the name associated with the master - * account. Included as information about an organization.

                                                              + * OWNER_NAME - Specifies the name associated with the + * master account. Included as information about an organization.

                                                              *
                                                            • *
                                                            • *

                                                              @@ -4080,33 +4280,87 @@ export interface HandshakeResource { *

                                                            */ Type?: HandshakeResourceType | string; + + /** + *

                                                            When needed, contains an additional array of HandshakeResource + * objects.

                                                            + */ + Resources?: HandshakeResource[]; + + /** + *

                                                            The information that is passed to the other party in the handshake. The format of the + * value string must match the requirements of the specified type.

                                                            + */ + Value?: string; } export namespace HandshakeResource { export const filterSensitiveLog = (obj: HandshakeResource): any => ({ ...obj, - ...(obj.Value && { Value: SENSITIVE_STRING }), ...(obj.Resources && { Resources: obj.Resources.map((item) => HandshakeResource.filterSensitiveLog(item)) }), + ...(obj.Value && { Value: SENSITIVE_STRING }), }); } /** *

                                                            Contains information that must be exchanged to securely establish a relationship * between two accounts (an originator and a - * recipient). For example, when a master account (the originator) - * invites another account (the recipient) to join its organization, the two accounts - * exchange information as a series of handshake requests and responses.

                                                            + * recipient). For example, when a master account (the + * originator) invites another account (the recipient) to join its organization, the two + * accounts exchange information as a series of handshake requests and responses.

                                                            *

                                                            * Note: Handshakes that are CANCELED, ACCEPTED, or * DECLINED show up in lists for only 30 days after entering that state After that they are * deleted.

                                                            */ export interface Handshake { + /** + *

                                                            The date and time that the handshake expires. If the recipient of the handshake + * request fails to respond before the specified date and time, the handshake becomes + * inactive and is no longer valid.

                                                            + */ + ExpirationTimestamp?: Date; + + /** + *

                                                            Additional information that is needed to process the handshake.

                                                            + */ + Resources?: HandshakeResource[]; + + /** + *

                                                            The type of handshake, indicating what action occurs when the recipient accepts the + * handshake. The following handshake types are supported:

                                                            + *
                                                              + *
                                                            • + *

                                                              + * INVITE: This type of handshake represents a + * request to join an organization. It is always sent from the master account to + * only non-member accounts.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * ENABLE_ALL_FEATURES: This type of handshake + * represents a request to enable all features in an organization. It is always + * sent from the master account to only invited member + * accounts. Created accounts do not receive this because those accounts were + * created by the organization's master account and approval is inferred.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * APPROVE_ALL_FEATURES: This type of handshake + * is sent from the Organizations service when all member accounts have approved the + * ENABLE_ALL_FEATURES invitation. It is sent only to the + * master account and signals the master that it can finalize the process to + * enable all features.

                                                              + *
                                                            • + *
                                                            + */ + Action?: ActionType | string; + /** *

                                                            The unique identifier (ID) of a handshake. The originating account creates the ID when * it initiates the handshake.

                                                            *

                                                            The regex pattern for handshake ID string requires "h-" - * followed by from 8 to 32 lower-case letters or digits.

                                                            + * followed by from 8 to 32 lowercase letters or digits.

                                                            */ Id?: string; @@ -4117,11 +4371,6 @@ export interface Handshake { */ Arn?: string; - /** - *

                                                            Additional information that is needed to process the handshake.

                                                            - */ - Resources?: HandshakeResource[]; - /** *

                                                            The date and time that the handshake request was made.

                                                            */ @@ -4132,13 +4381,6 @@ export interface Handshake { */ Parties?: HandshakeParty[]; - /** - *

                                                            The date and time that the handshake expires. If the recipient of the handshake - * request fails to respond before the specified date and time, the handshake becomes - * inactive and is no longer valid.

                                                            - */ - ExpirationTimestamp?: Date; - /** *

                                                            The current state of the handshake. Use the state to trace the flow of the handshake * through the process from its creation to its acceptance. The meaning of each of the @@ -4181,36 +4423,6 @@ export interface Handshake { *

                                                          */ State?: HandshakeState | string; - - /** - *

                                                          The type of handshake, indicating what action occurs when the recipient accepts the - * handshake. The following handshake types are supported:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * INVITE: This type of handshake represents a - * request to join an organization. It is always sent from the master account to - * only non-member accounts.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * ENABLE_ALL_FEATURES: This type of handshake - * represents a request to enable all features in an organization. It is always - * sent from the master account to only invited member - * accounts. Created accounts do not receive this because those accounts were - * created by the organization's master account and approval is inferred.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * APPROVE_ALL_FEATURES: This type of handshake - * is sent from the Organizations service when all member accounts have approved the - * ENABLE_ALL_FEATURES invitation. It is sent only to the master - * account and signals the master that it can finalize the process to enable all - * features.

                                                            - *
                                                          • - *
                                                          - */ - Action?: ActionType | string; } export namespace Handshake { diff --git a/clients/client-organizations/protocols/Aws_json1_1.ts b/clients/client-organizations/protocols/Aws_json1_1.ts index df0dfb331ff7..bd3f29af6fca 100644 --- a/clients/client-organizations/protocols/Aws_json1_1.ts +++ b/clients/client-organizations/protocols/Aws_json1_1.ts @@ -3995,6 +3995,14 @@ const deserializeAws_json1_1InviteAccountToOrganizationCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConstraintViolationException": + case "com.amazonaws.organizations#ConstraintViolationException": + response = { + ...(await deserializeAws_json1_1ConstraintViolationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "DuplicateHandshakeException": case "com.amazonaws.organizations#DuplicateHandshakeException": response = { @@ -7247,6 +7255,7 @@ const serializeAws_json1_1CreateAccountRequest = (input: CreateAccountRequest, c ...(input.Email !== undefined && { Email: input.Email }), ...(input.IamUserAccessToBilling !== undefined && { IamUserAccessToBilling: input.IamUserAccessToBilling }), ...(input.RoleName !== undefined && { RoleName: input.RoleName }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), }; }; @@ -7266,6 +7275,7 @@ const serializeAws_json1_1CreateGovCloudAccountRequest = ( ...(input.Email !== undefined && { Email: input.Email }), ...(input.IamUserAccessToBilling !== undefined && { IamUserAccessToBilling: input.IamUserAccessToBilling }), ...(input.RoleName !== undefined && { RoleName: input.RoleName }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), }; }; @@ -7276,6 +7286,7 @@ const serializeAws_json1_1CreateOrganizationalUnitRequest = ( return { ...(input.Name !== undefined && { Name: input.Name }), ...(input.ParentId !== undefined && { ParentId: input.ParentId }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), }; }; @@ -7293,6 +7304,7 @@ const serializeAws_json1_1CreatePolicyRequest = (input: CreatePolicyRequest, con ...(input.Content !== undefined && { Content: input.Content }), ...(input.Description !== undefined && { Description: input.Description }), ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), ...(input.Type !== undefined && { Type: input.Type }), }; }; @@ -7446,6 +7458,7 @@ const serializeAws_json1_1InviteAccountToOrganizationRequest = ( ): any => { return { ...(input.Notes !== undefined && { Notes: input.Notes }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), ...(input.Target !== undefined && { Target: serializeAws_json1_1HandshakeParty(input.Target, context) }), }; }; diff --git a/clients/client-outposts/models/models_0.ts b/clients/client-outposts/models/models_0.ts index ca4e09a680c0..e798bae40d9c 100644 --- a/clients/client-outposts/models/models_0.ts +++ b/clients/client-outposts/models/models_0.ts @@ -18,9 +18,10 @@ export namespace AccessDeniedException { export interface CreateOutpostInput { /** - *

                                                          The name of the Outpost.

                                                          + *

                                                          The ID of the Availability Zone.

                                                          + *

                                                          You must specify AvailabilityZone or AvailabilityZoneId.

                                                          */ - Name?: string; + AvailabilityZoneId?: string; /** *

                                                          The Availability Zone.

                                                          @@ -29,20 +30,19 @@ export interface CreateOutpostInput { AvailabilityZone?: string; /** - *

                                                          The ID of the Availability Zone.

                                                          - *

                                                          You must specify AvailabilityZone or AvailabilityZoneId.

                                                          + *

                                                          The name of the Outpost.

                                                          */ - AvailabilityZoneId?: string; + Name?: string; /** - *

                                                          The ID of the site.

                                                          + *

                                                          The Outpost description.

                                                          */ - SiteId: string | undefined; + Description?: string; /** - *

                                                          The Outpost description.

                                                          + *

                                                          The ID of the site.

                                                          */ - Description?: string; + SiteId: string | undefined; } export namespace CreateOutpostInput { @@ -56,10 +56,9 @@ export namespace CreateOutpostInput { */ export interface Outpost { /** - *

                                                          The ID of the Availability Zone.

                                                          - *

                                                          You must specify AvailabilityZone or AvailabilityZoneId.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the Outpost.

                                                          */ - AvailabilityZoneId?: string; + OutpostArn?: string; /** *

                                                          The Availability Zone.

                                                          @@ -68,14 +67,15 @@ export interface Outpost { AvailabilityZone?: string; /** - *

                                                          The life cycle status.

                                                          + *

                                                          The ID of the Availability Zone.

                                                          + *

                                                          You must specify AvailabilityZone or AvailabilityZoneId.

                                                          */ - LifeCycleStatus?: string; + AvailabilityZoneId?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the Outpost.

                                                          + *

                                                          The life cycle status.

                                                          */ - OutpostArn?: string; + LifeCycleStatus?: string; /** *

                                                          The name of the Outpost.

                                                          @@ -88,9 +88,9 @@ export interface Outpost { SiteId?: string; /** - *

                                                          The ID of the Outpost.

                                                          + *

                                                          The Outpost description.

                                                          */ - OutpostId?: string; + Description?: string; /** *

                                                          The AWS account ID of the Outpost owner.

                                                          @@ -98,9 +98,9 @@ export interface Outpost { OwnerId?: string; /** - *

                                                          The Outpost description.

                                                          + *

                                                          The ID of the Outpost.

                                                          */ - Description?: string; + OutpostId?: string; } export namespace Outpost { @@ -252,14 +252,14 @@ export namespace GetOutpostOutput { export interface GetOutpostInstanceTypesInput { /** - *

                                                          The pagination token.

                                                          + *

                                                          The ID of the Outpost.

                                                          */ - NextToken?: string; + OutpostId: string | undefined; /** - *

                                                          The ID of the Outpost.

                                                          + *

                                                          The pagination token.

                                                          */ - OutpostId: string | undefined; + NextToken?: string; /** *

                                                          The maximum page size.

                                                          @@ -291,24 +291,24 @@ export namespace InstanceTypeItem { export interface GetOutpostInstanceTypesOutput { /** - *

                                                          The Amazon Resource Name (ARN) of the Outpost.

                                                          + *

                                                          The pagination token.

                                                          */ - OutpostArn?: string; + NextToken?: string; /** - *

                                                          The ID of the Outpost.

                                                          + *

                                                          Information about the instance types.

                                                          */ - OutpostId?: string; + InstanceTypes?: InstanceTypeItem[]; /** - *

                                                          Information about the instance types.

                                                          + *

                                                          The ID of the Outpost.

                                                          */ - InstanceTypes?: InstanceTypeItem[]; + OutpostId?: string; /** - *

                                                          The pagination token.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the Outpost.

                                                          */ - NextToken?: string; + OutpostArn?: string; } export namespace GetOutpostInstanceTypesOutput { @@ -319,14 +319,14 @@ export namespace GetOutpostInstanceTypesOutput { export interface ListOutpostsInput { /** - *

                                                          The pagination token.

                                                          + *

                                                          The maximum page size.

                                                          */ - NextToken?: string; + MaxResults?: number; /** - *

                                                          The maximum page size.

                                                          + *

                                                          The pagination token.

                                                          */ - MaxResults?: number; + NextToken?: string; } export namespace ListOutpostsInput { @@ -376,14 +376,14 @@ export namespace ListSitesInput { */ export interface Site { /** - *

                                                          The ID of the AWS account.

                                                          + *

                                                          The name of the site.

                                                          */ - AccountId?: string; + Name?: string; /** - *

                                                          The name of the site.

                                                          + *

                                                          The description of the site.

                                                          */ - Name?: string; + Description?: string; /** *

                                                          The ID of the site.

                                                          @@ -391,9 +391,9 @@ export interface Site { SiteId?: string; /** - *

                                                          The description of the site.

                                                          + *

                                                          The ID of the AWS account.

                                                          */ - Description?: string; + AccountId?: string; } export namespace Site { @@ -404,14 +404,14 @@ export namespace Site { export interface ListSitesOutput { /** - *

                                                          Information about the sites.

                                                          + *

                                                          The pagination token.

                                                          */ - Sites?: Site[]; + NextToken?: string; /** - *

                                                          The pagination token.

                                                          + *

                                                          Information about the sites.

                                                          */ - NextToken?: string; + Sites?: Site[]; } export namespace ListSitesOutput { diff --git a/clients/client-outposts/protocols/Aws_restJson1.ts b/clients/client-outposts/protocols/Aws_restJson1.ts index 86b656e07878..7926bba9c244 100644 --- a/clients/client-outposts/protocols/Aws_restJson1.ts +++ b/clients/client-outposts/protocols/Aws_restJson1.ts @@ -192,8 +192,8 @@ export const serializeAws_restJson1ListOutpostsCommand = async ( }; let resolvedPath = "/outposts"; const query: any = { - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-personalize-events/PersonalizeEvents.ts b/clients/client-personalize-events/PersonalizeEvents.ts index ac113f34e217..8965a445ba0c 100644 --- a/clients/client-personalize-events/PersonalizeEvents.ts +++ b/clients/client-personalize-events/PersonalizeEvents.ts @@ -1,13 +1,16 @@ import { PersonalizeEventsClient } from "./PersonalizeEventsClient"; import { PutEventsCommand, PutEventsCommandInput, PutEventsCommandOutput } from "./commands/PutEventsCommand"; +import { PutItemsCommand, PutItemsCommandInput, PutItemsCommandOutput } from "./commands/PutItemsCommand"; +import { PutUsersCommand, PutUsersCommandInput, PutUsersCommandOutput } from "./commands/PutUsersCommand"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

                                                          + *

                                                          Amazon Personalize can consume real-time user event data, such as stream or click data, and use + * it for model training either alone or combined with historical data. For more information see recording-events.

                                                          */ export class PersonalizeEvents extends PersonalizeEventsClient { /** - *

                                                          Records user interaction event data.

                                                          + *

                                                          Records user interaction event data. For more information see event-record-api.

                                                          */ public putEvents(args: PutEventsCommandInput, options?: __HttpHandlerOptions): Promise; public putEvents(args: PutEventsCommandInput, cb: (err: any, data?: PutEventsCommandOutput) => void): void; @@ -31,4 +34,58 @@ export class PersonalizeEvents extends PersonalizeEventsClient { return this.send(command, optionsOrCb); } } + + /** + *

                                                          Adds one or more items to an Items dataset. For more information see + * importing-items.

                                                          + */ + public putItems(args: PutItemsCommandInput, options?: __HttpHandlerOptions): Promise; + public putItems(args: PutItemsCommandInput, cb: (err: any, data?: PutItemsCommandOutput) => void): void; + public putItems( + args: PutItemsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutItemsCommandOutput) => void + ): void; + public putItems( + args: PutItemsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutItemsCommandOutput) => void), + cb?: (err: any, data?: PutItemsCommandOutput) => void + ): Promise | void { + const command = new PutItemsCommand(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 one or more users to a Users dataset. For more information see + * importing-users.

                                                          + */ + public putUsers(args: PutUsersCommandInput, options?: __HttpHandlerOptions): Promise; + public putUsers(args: PutUsersCommandInput, cb: (err: any, data?: PutUsersCommandOutput) => void): void; + public putUsers( + args: PutUsersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutUsersCommandOutput) => void + ): void; + public putUsers( + args: PutUsersCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutUsersCommandOutput) => void), + cb?: (err: any, data?: PutUsersCommandOutput) => void + ): Promise | void { + const command = new PutUsersCommand(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-personalize-events/PersonalizeEventsClient.ts b/clients/client-personalize-events/PersonalizeEventsClient.ts index d266f8311195..3b76f4f56a44 100644 --- a/clients/client-personalize-events/PersonalizeEventsClient.ts +++ b/clients/client-personalize-events/PersonalizeEventsClient.ts @@ -1,4 +1,6 @@ import { PutEventsCommandInput, PutEventsCommandOutput } from "./commands/PutEventsCommand"; +import { PutItemsCommandInput, PutItemsCommandOutput } from "./commands/PutItemsCommand"; +import { PutUsersCommandInput, PutUsersCommandOutput } from "./commands/PutUsersCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; import { EndpointsInputConfig, @@ -48,9 +50,9 @@ import { UrlParser as __UrlParser, } from "@aws-sdk/types"; -export type ServiceInputTypes = PutEventsCommandInput; +export type ServiceInputTypes = PutEventsCommandInput | PutItemsCommandInput | PutUsersCommandInput; -export type ServiceOutputTypes = PutEventsCommandOutput; +export type ServiceOutputTypes = PutEventsCommandOutput | PutItemsCommandOutput | PutUsersCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** @@ -165,7 +167,8 @@ export type PersonalizeEventsClientResolvedConfig = __SmithyResolvedConfiguratio HostHeaderResolvedConfig; /** - *

                                                          + *

                                                          Amazon Personalize can consume real-time user event data, such as stream or click data, and use + * it for model training either alone or combined with historical data. For more information see recording-events.

                                                          */ export class PersonalizeEventsClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-personalize-events/commands/PutItemsCommand.ts b/clients/client-personalize-events/commands/PutItemsCommand.ts new file mode 100644 index 000000000000..af6f56d604b6 --- /dev/null +++ b/clients/client-personalize-events/commands/PutItemsCommand.ts @@ -0,0 +1,74 @@ +import { + PersonalizeEventsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PersonalizeEventsClient"; +import { PutItemsRequest } from "../models/models_0"; +import { + deserializeAws_restJson1PutItemsCommand, + serializeAws_restJson1PutItemsCommand, +} 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 PutItemsCommandInput = PutItemsRequest; +export type PutItemsCommandOutput = __MetadataBearer; + +export class PutItemsCommand extends $Command< + PutItemsCommandInput, + PutItemsCommandOutput, + PersonalizeEventsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutItemsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: PersonalizeEventsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: PutItemsRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: PutItemsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1PutItemsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1PutItemsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-personalize-events/commands/PutUsersCommand.ts b/clients/client-personalize-events/commands/PutUsersCommand.ts new file mode 100644 index 000000000000..4155903672d1 --- /dev/null +++ b/clients/client-personalize-events/commands/PutUsersCommand.ts @@ -0,0 +1,74 @@ +import { + PersonalizeEventsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PersonalizeEventsClient"; +import { PutUsersRequest } from "../models/models_0"; +import { + deserializeAws_restJson1PutUsersCommand, + serializeAws_restJson1PutUsersCommand, +} 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 PutUsersCommandInput = PutUsersRequest; +export type PutUsersCommandOutput = __MetadataBearer; + +export class PutUsersCommand extends $Command< + PutUsersCommandInput, + PutUsersCommandOutput, + PersonalizeEventsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutUsersCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: PersonalizeEventsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: PutUsersRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: PutUsersCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1PutUsersCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1PutUsersCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-personalize-events/index.ts b/clients/client-personalize-events/index.ts index 1f9599b4454f..2a61b9c9dcbc 100644 --- a/clients/client-personalize-events/index.ts +++ b/clients/client-personalize-events/index.ts @@ -1,4 +1,6 @@ export * from "./PersonalizeEventsClient"; export * from "./PersonalizeEvents"; export * from "./commands/PutEventsCommand"; +export * from "./commands/PutItemsCommand"; +export * from "./commands/PutUsersCommand"; export * from "./models/index"; diff --git a/clients/client-personalize-events/models/models_0.ts b/clients/client-personalize-events/models/models_0.ts index 60ba5b8bf9aa..78a7fc3ddcd5 100644 --- a/clients/client-personalize-events/models/models_0.ts +++ b/clients/client-personalize-events/models/models_0.ts @@ -26,39 +26,51 @@ export namespace InvalidInputException { */ export interface Event { /** - *

                                                          The type of event. This property corresponds to the EVENT_TYPE - * field of the Interactions schema.

                                                          + *

                                                          The event value that corresponds to the EVENT_VALUE field of the Interactions schema.

                                                          + */ + eventValue?: number; + + /** + *

                                                          The type of event, such as click or download. This property corresponds to the EVENT_TYPE + * field of your Interactions schema and depends on the types of events you are tracking.

                                                          */ eventType: string | undefined; + /** + *

                                                          The ID of the recommendation.

                                                          + */ + recommendationId?: string; + + /** + *

                                                          The item ID key that corresponds to the ITEM_ID field of the Interactions schema.

                                                          + */ + itemId?: string; + /** *

                                                          A string map of event-specific data that you might choose to record. For example, if a - * user rates a movie on your site, you might send the movie ID and rating, and the number of - * movie ratings made by the user.

                                                          + * user rates a movie on your site, other than movie ID (itemId) and rating (eventValue) + * , you might also send the number of movie ratings made by the user.

                                                          *

                                                          Each item in the map consists of a key-value pair. For example,

                                                          + * *

                                                          - * {"itemId": "movie1"} - *

                                                          - *

                                                          - * {"itemId": "movie2", "eventValue": "4.5"} - *

                                                          - *

                                                          - * {"itemId": "movie3", "eventValue": "3", "numberOfRatings": "12"} + * {"numberOfRatings": "12"} *

                                                          *

                                                          The keys use camel case names that match the fields in the Interactions - * schema. The itemId and eventValue keys correspond to the - * ITEM_ID and EVENT_VALUE fields. - * In the above example, the eventType might be 'MovieRating' with - * eventValue being the rating. The numberOfRatings would match the + * schema. In the above example, the numberOfRatings would match the * 'NUMBER_OF_RATINGS' field defined in the Interactions schema.

                                                          */ - properties: __LazyJsonString | string | undefined; + properties?: __LazyJsonString | string; /** - *

                                                          The timestamp on the client side when the event occurred.

                                                          + *

                                                          The timestamp (in Unix time) on the client side when the event occurred.

                                                          */ sentAt: Date | undefined; + /** + *

                                                          A list of item IDs that represents the sequence of items you have shown the user. For example, ["itemId1", "itemId2", "itemId3"].

                                                          + */ + impression?: string[]; + /** *

                                                          An ID associated with the event. If an event ID is not provided, Amazon Personalize generates * a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses @@ -75,15 +87,21 @@ export namespace Event { } export interface PutEventsRequest { + /** + *

                                                          The user associated with the event.

                                                          + */ + userId?: string; + /** *

                                                          A list of event data from the session.

                                                          */ eventList: Event[] | undefined; /** - *

                                                          The user associated with the event.

                                                          + *

                                                          The session ID associated with the user's visit. Your application generates the sessionId when a user first visits your website or uses your application. + * Amazon Personalize uses the sessionId to associate events with the user before they log in. For more information see event-record-api.

                                                          */ - userId?: string; + sessionId: string | undefined; /** *

                                                          The tracking ID for the event. @@ -91,15 +109,119 @@ export interface PutEventsRequest { * CreateEventTracker API.

                                                          */ trackingId: string | undefined; +} + +export namespace PutEventsRequest { + export const filterSensitiveLog = (obj: PutEventsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          Represents item metadata added to an Items dataset using the + * PutItems API.

                                                          + */ +export interface Item { + /** + *

                                                          The ID associated with the item.

                                                          + */ + itemId: string | undefined; /** - *

                                                          The session ID associated with the user's visit.

                                                          + *

                                                          A string map of item-specific metadata. Each element in the map consists of a key-value pair. For example, + *

                                                          + *

                                                          + * {"numberOfRatings": "12"} + *

                                                          + *

                                                          The keys use camel case names that match the fields in the Items + * schema. In the above example, the numberOfRatings would match the + * 'NUMBER_OF_RATINGS' field defined in the Items schema.

                                                          */ - sessionId: string | undefined; + properties?: __LazyJsonString | string; } -export namespace PutEventsRequest { - export const filterSensitiveLog = (obj: PutEventsRequest): any => ({ +export namespace Item { + export const filterSensitiveLog = (obj: Item): any => ({ + ...obj, + }); +} + +export interface PutItemsRequest { + /** + *

                                                          The Amazon Resource Number (ARN) of the Items dataset you are adding the item or items to.

                                                          + */ + datasetArn: string | undefined; + + /** + *

                                                          A list of item data.

                                                          + */ + items: Item[] | undefined; +} + +export namespace PutItemsRequest { + export const filterSensitiveLog = (obj: PutItemsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          Could not find the specified resource.

                                                          + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + message?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +/** + *

                                                          Represents user metadata added to a Users dataset using the + * PutUsers API.

                                                          + */ +export interface User { + /** + *

                                                          A string map of user-specific metadata. Each element in the map consists of a key-value pair. For example, + *

                                                          + *

                                                          + * {"numberOfVideosWatched": "45"} + *

                                                          + *

                                                          The keys use camel case names that match the fields in the Users + * schema. In the above example, the numberOfVideosWatched would match the + * 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema.

                                                          + */ + properties?: __LazyJsonString | string; + + /** + *

                                                          The ID associated with the user.

                                                          + */ + userId: string | undefined; +} + +export namespace User { + export const filterSensitiveLog = (obj: User): any => ({ + ...obj, + }); +} + +export interface PutUsersRequest { + /** + *

                                                          The Amazon Resource Number (ARN) of the Users dataset you are adding the user or users to.

                                                          + */ + datasetArn: string | undefined; + + /** + *

                                                          A list of user data.

                                                          + */ + users: User[] | undefined; +} + +export namespace PutUsersRequest { + export const filterSensitiveLog = (obj: PutUsersRequest): any => ({ ...obj, }); } diff --git a/clients/client-personalize-events/protocols/Aws_restJson1.ts b/clients/client-personalize-events/protocols/Aws_restJson1.ts index 156225590aac..e428a3b666c8 100644 --- a/clients/client-personalize-events/protocols/Aws_restJson1.ts +++ b/clients/client-personalize-events/protocols/Aws_restJson1.ts @@ -1,5 +1,7 @@ import { PutEventsCommandInput, PutEventsCommandOutput } from "../commands/PutEventsCommand"; -import { Event, InvalidInputException } from "../models/models_0"; +import { PutItemsCommandInput, PutItemsCommandOutput } from "../commands/PutItemsCommand"; +import { PutUsersCommandInput, PutUsersCommandOutput } from "../commands/PutUsersCommand"; +import { Event, InvalidInputException, Item, ResourceNotFoundException, User } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { LazyJsonString as __LazyJsonString, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { @@ -36,6 +38,56 @@ export const serializeAws_restJson1PutEventsCommand = async ( }); }; +export const serializeAws_restJson1PutItemsCommand = async ( + input: PutItemsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/items"; + let body: any; + body = JSON.stringify({ + ...(input.datasetArn !== undefined && { datasetArn: input.datasetArn }), + ...(input.items !== undefined && { items: serializeAws_restJson1ItemList(input.items, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1PutUsersCommand = async ( + input: PutUsersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/users"; + let body: any; + body = JSON.stringify({ + ...(input.datasetArn !== undefined && { datasetArn: input.datasetArn }), + ...(input.users !== undefined && { users: serializeAws_restJson1UserList(input.users, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const deserializeAws_restJson1PutEventsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -87,6 +139,124 @@ const deserializeAws_restJson1PutEventsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1PutItemsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1PutItemsCommandError(output, context); + } + const contents: PutItemsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1PutItemsCommandError = 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 "InvalidInputException": + case "com.amazonaws.personalizeevents#InvalidInputException": + response = { + ...(await deserializeAws_restJson1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.personalizeevents#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_restJson1PutUsersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1PutUsersCommandError(output, context); + } + const contents: PutUsersCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1PutUsersCommandError = 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 "InvalidInputException": + case "com.amazonaws.personalizeevents#InvalidInputException": + response = { + ...(await deserializeAws_restJson1InvalidInputExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.personalizeevents#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)); +}; + const deserializeAws_restJson1InvalidInputExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -104,11 +274,32 @@ const deserializeAws_restJson1InvalidInputExceptionResponse = async ( return contents; }; +const deserializeAws_restJson1ResourceNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ResourceNotFoundException = { + name: "ResourceNotFoundException", + $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 serializeAws_restJson1Event = (input: Event, context: __SerdeContext): any => { return { ...(input.eventId !== undefined && { eventId: input.eventId }), ...(input.eventType !== undefined && { eventType: input.eventType }), + ...(input.eventValue !== undefined && { eventValue: input.eventValue }), + ...(input.impression !== undefined && { impression: serializeAws_restJson1Impression(input.impression, context) }), + ...(input.itemId !== undefined && { itemId: input.itemId }), ...(input.properties !== undefined && { properties: __LazyJsonString.fromObject(input.properties) }), + ...(input.recommendationId !== undefined && { recommendationId: input.recommendationId }), ...(input.sentAt !== undefined && { sentAt: Math.round(input.sentAt.getTime() / 1000) }), }; }; @@ -117,6 +308,32 @@ const serializeAws_restJson1EventList = (input: Event[], context: __SerdeContext return input.map((entry) => serializeAws_restJson1Event(entry, context)); }; +const serializeAws_restJson1Impression = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1Item = (input: Item, context: __SerdeContext): any => { + return { + ...(input.itemId !== undefined && { itemId: input.itemId }), + ...(input.properties !== undefined && { properties: __LazyJsonString.fromObject(input.properties) }), + }; +}; + +const serializeAws_restJson1ItemList = (input: Item[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1Item(entry, context)); +}; + +const serializeAws_restJson1User = (input: User, context: __SerdeContext): any => { + return { + ...(input.properties !== undefined && { properties: __LazyJsonString.fromObject(input.properties) }), + ...(input.userId !== undefined && { userId: input.userId }), + }; +}; + +const serializeAws_restJson1UserList = (input: User[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1User(entry, context)); +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, httpHeaders: output.headers, diff --git a/clients/client-personalize-runtime/models/models_0.ts b/clients/client-personalize-runtime/models/models_0.ts index 9360ee4abfec..c9271e01e093 100644 --- a/clients/client-personalize-runtime/models/models_0.ts +++ b/clients/client-personalize-runtime/models/models_0.ts @@ -3,28 +3,33 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface GetPersonalizedRankingRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the campaign to use for generating the personalized - * ranking.

                                                          + *

                                                          The Amazon Resource Name (ARN) of a filter you created to include or exclude items from recommendations for a given user.

                                                          */ - campaignArn: string | undefined; + filterArn?: string; /** - *

                                                          The user for which you want the campaign to provide a personalized ranking.

                                                          + *

                                                          The contextual metadata to use when getting recommendations. Contextual metadata includes + * any interaction information that might be relevant when getting a user's recommendations, such + * as the user's current location or device type.

                                                          */ - userId: string | undefined; + context?: { [key: string]: string }; + + /** + *

                                                          The Amazon Resource Name (ARN) of the campaign to use for generating the personalized + * ranking.

                                                          + */ + campaignArn: string | undefined; /** - *

                                                          A list of items (itemId's) to rank. If an item was not included in the training dataset, + *

                                                          A list of items (by itemId) to rank. If an item was not included in the training dataset, * the item is appended to the end of the reranked list. The maximum is 500.

                                                          */ inputList: string[] | undefined; /** - *

                                                          The contextual metadata to use when getting recommendations. Contextual metadata includes - * any interaction information that might be relevant when getting a user's recommendations, such - * as the user's current location or device type.

                                                          + *

                                                          The user for which you want the campaign to provide a personalized ranking.

                                                          */ - context?: { [key: string]: string }; + userId: string | undefined; } export namespace GetPersonalizedRankingRequest { @@ -63,6 +68,11 @@ export interface GetPersonalizedRankingResponse { *

                                                          A list of items in order of most likely interest to the user. The maximum is 500.

                                                          */ personalizedRanking?: PredictedItem[]; + + /** + *

                                                          The ID of the recommendation.

                                                          + */ + recommendationId?: string; } export namespace GetPersonalizedRankingResponse { @@ -102,13 +112,6 @@ export namespace ResourceNotFoundException { } export interface GetRecommendationsRequest { - /** - *

                                                          The contextual metadata to use when getting recommendations. Contextual metadata includes - * any interaction information that might be relevant when getting a user's recommendations, such - * as the user's current location or device type.

                                                          - */ - context?: { [key: string]: string }; - /** *

                                                          The user ID to provide recommendations for.

                                                          *

                                                          Required for USER_PERSONALIZATION recipe type.

                                                          @@ -120,9 +123,22 @@ export interface GetRecommendationsRequest { */ campaignArn: string | undefined; + /** + *

                                                          The contextual metadata to use when getting recommendations. Contextual metadata includes + * any interaction information that might be relevant when getting a user's recommendations, such + * as the user's current location or device type.

                                                          + */ + context?: { [key: string]: string }; + + /** + *

                                                          The number of results to return. The default is 25. The maximum is 500.

                                                          + */ + numResults?: number; + /** *

                                                          The ARN of the filter to apply to the returned recommendations. For more information, see - * Using Filters with Amazon Personalize.

                                                          + * Using Filters with Amazon Personalize.

                                                          + *

                                                          When using this parameter, be sure the filter resource is ACTIVE.

                                                          */ filterArn?: string; @@ -131,11 +147,6 @@ export interface GetRecommendationsRequest { *

                                                          Required for RELATED_ITEMS recipe type.

                                                          */ itemId?: string; - - /** - *

                                                          The number of results to return. The default is 25. The maximum is 500.

                                                          - */ - numResults?: number; } export namespace GetRecommendationsRequest { @@ -146,6 +157,11 @@ export namespace GetRecommendationsRequest { } export interface GetRecommendationsResponse { + /** + *

                                                          The ID of the recommendation.

                                                          + */ + recommendationId?: string; + /** *

                                                          A list of recommendations sorted in ascending order by prediction score. There can be a * maximum of 500 items in the list.

                                                          diff --git a/clients/client-personalize-runtime/protocols/Aws_restJson1.ts b/clients/client-personalize-runtime/protocols/Aws_restJson1.ts index 2f9975199b6a..e48557b95308 100644 --- a/clients/client-personalize-runtime/protocols/Aws_restJson1.ts +++ b/clients/client-personalize-runtime/protocols/Aws_restJson1.ts @@ -25,6 +25,7 @@ export const serializeAws_restJson1GetPersonalizedRankingCommand = async ( body = JSON.stringify({ ...(input.campaignArn !== undefined && { campaignArn: input.campaignArn }), ...(input.context !== undefined && { context: serializeAws_restJson1Context(input.context, context) }), + ...(input.filterArn !== undefined && { filterArn: input.filterArn }), ...(input.inputList !== undefined && { inputList: serializeAws_restJson1InputList(input.inputList, context) }), ...(input.userId !== undefined && { userId: input.userId }), }); @@ -79,11 +80,15 @@ export const deserializeAws_restJson1GetPersonalizedRankingCommand = async ( const contents: GetPersonalizedRankingCommandOutput = { $metadata: deserializeMetadata(output), personalizedRanking: undefined, + recommendationId: undefined, }; const data: any = await parseBody(output.body, context); if (data.personalizedRanking !== undefined && data.personalizedRanking !== null) { contents.personalizedRanking = deserializeAws_restJson1ItemList(data.personalizedRanking, context); } + if (data.recommendationId !== undefined && data.recommendationId !== null) { + contents.recommendationId = data.recommendationId; + } return Promise.resolve(contents); }; @@ -142,11 +147,15 @@ export const deserializeAws_restJson1GetRecommendationsCommand = async ( const contents: GetRecommendationsCommandOutput = { $metadata: deserializeMetadata(output), itemList: undefined, + recommendationId: undefined, }; const data: any = await parseBody(output.body, context); if (data.itemList !== undefined && data.itemList !== null) { contents.itemList = deserializeAws_restJson1ItemList(data.itemList, context); } + if (data.recommendationId !== undefined && data.recommendationId !== null) { + contents.recommendationId = data.recommendationId; + } return Promise.resolve(contents); }; diff --git a/clients/client-personalize/Personalize.ts b/clients/client-personalize/Personalize.ts index fe14abb38557..ad4365a62930 100644 --- a/clients/client-personalize/Personalize.ts +++ b/clients/client-personalize/Personalize.ts @@ -338,8 +338,7 @@ export class Personalize extends PersonalizeClient { } /** - *

                                                          Creates an empty dataset and adds it to the specified dataset group. Use - * CreateDatasetImportJob to import your training data to a dataset.

                                                          + *

                                                          Creates an empty dataset and adds it to the specified dataset group. Use CreateDatasetImportJob to import your training data to a dataset.

                                                          *

                                                          There are three types of datasets:

                                                          *
                                                            *
                                                          • @@ -353,7 +352,7 @@ export class Personalize extends PersonalizeClient { *
                                                          • *
                                                          *

                                                          Each dataset type has an associated schema with required field types. Only the - * Interactions dataset is required in order to train a model (also referred to as + * Interactions dataset is required in order to train a model (also referred to as * creating a solution).

                                                          *

                                                          A dataset can be in one of the following states:

                                                          *
                                                            @@ -421,9 +420,9 @@ export class Personalize extends PersonalizeClient { } /** - *

                                                            Creates an empty dataset group. A dataset group contains related datasets that supply - * data for training a model. A dataset group can contain at most three datasets, - * one for each type of dataset:

                                                            + *

                                                            Creates an empty dataset group. A dataset group contains related datasets that supply data + * for training a model. A dataset group can contain at most three datasets, one for each type of + * dataset:

                                                            *
                                                              *
                                                            • *

                                                              Interactions

                                                              @@ -436,8 +435,8 @@ export class Personalize extends PersonalizeClient { *
                                                            • *
                                                            *

                                                            To train a model (create a solution), a dataset group that contains an - * Interactions dataset is required. Call CreateDataset - * to add a dataset to the group.

                                                            + * Interactions dataset is required. Call CreateDataset to add a + * dataset to the group.

                                                            *

                                                            A dataset group can be in one of the following states:

                                                            *
                                                              *
                                                            • @@ -447,16 +446,16 @@ export class Personalize extends PersonalizeClient { *

                                                              DELETE PENDING

                                                              *
                                                            • *
                                                            - *

                                                            To get the status of the dataset group, call DescribeDatasetGroup. - * If the status shows as CREATE FAILED, the response includes a - * failureReason key, which describes why the creation failed.

                                                            + *

                                                            To get the status of the dataset group, call DescribeDatasetGroup. If + * the status shows as CREATE FAILED, the response includes a failureReason key, + * which describes why the creation failed.

                                                            * - *

                                                            You must wait until the status of the dataset - * group is ACTIVE before adding a dataset to the group.

                                                            + *

                                                            You must wait until the status of the dataset group is ACTIVE + * before adding a dataset to the group.

                                                            *
                                                            - *

                                                            You can specify an AWS Key Management Service (KMS) key to encrypt the datasets in the group. - * If you specify a KMS key, you must also include an AWS Identity and Access Management (IAM) role - * that has permission to access the key.

                                                            + *

                                                            You can specify an AWS Key Management Service (KMS) key to encrypt the datasets in the group. If you + * specify a KMS key, you must also include an AWS Identity and Access Management (IAM) role that has permission to + * access the key.

                                                            *

                                                            * APIs that require a dataset group ARN in the request *

                                                            @@ -528,9 +527,10 @@ export class Personalize extends PersonalizeClient { } /** - *

                                                            Creates a job that imports training data from your data source (an Amazon S3 bucket) - * to an Amazon Personalize dataset. To allow Amazon Personalize to import the training data, - * you must specify an AWS Identity and Access Management (IAM) role that has permission to read from the data source.

                                                            + *

                                                            Creates a job that imports training data from your data source (an Amazon S3 bucket) to an + * Amazon Personalize dataset. To allow Amazon Personalize to import the training data, you must specify an + * AWS Identity and Access Management (IAM) role that has permission to read from the data source, as Amazon Personalize makes a + * copy of your data and processes it in an internal AWS system.

                                                            * *

                                                            The dataset import job replaces any previous data in the dataset.

                                                            *
                                                            @@ -544,13 +544,12 @@ export class Personalize extends PersonalizeClient { * *
                                                          *

                                                          To get the status of the import job, call DescribeDatasetImportJob, - * providing the Amazon Resource Name (ARN) of the dataset import job. - * The dataset import is complete when the status shows as ACTIVE. - * If the status shows as CREATE FAILED, the response includes a - * failureReason key, which describes why the job failed.

                                                          + * providing the Amazon Resource Name (ARN) of the dataset import job. The dataset import is + * complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response + * includes a failureReason key, which describes why the job failed.

                                                          * - *

                                                          Importing takes time. You must wait until the status - * shows as ACTIVE before training a model using the dataset.

                                                          + *

                                                          Importing takes time. You must wait until the status shows as ACTIVE before training a + * model using the dataset.

                                                          *
                                                          * *

                                                          @@ -678,8 +677,8 @@ export class Personalize extends PersonalizeClient { } /** - *

                                                          Creates a recommendation filter. For more information, see Using Filters with Amazon - * Personalize.

                                                          + *

                                                          Creates a recommendation filter. For more information, see Using + * Filters with Amazon Personalize.

                                                          */ public createFilter( args: CreateFilterCommandInput, @@ -984,9 +983,8 @@ export class Personalize extends PersonalizeClient { /** *

                                                          Deletes a dataset. You can't delete a dataset if an associated - * DatasetImportJob or SolutionVersion is in the - * CREATE PENDING or IN PROGRESS state. For more information on datasets, see - * CreateDataset.

                                                          + * DatasetImportJob or SolutionVersion is in the CREATE PENDING or IN + * PROGRESS state. For more information on datasets, see CreateDataset.

                                                          */ public deleteDataset( args: DeleteDatasetCommandInput, @@ -1018,8 +1016,8 @@ export class Personalize extends PersonalizeClient { } /** - *

                                                          Deletes a dataset group. Before you delete a dataset group, you must delete - * the following:

                                                          + *

                                                          Deletes a dataset group. Before you delete a dataset group, you must delete the + * following:

                                                          *
                                                            *
                                                          • *

                                                            All associated event trackers.

                                                            @@ -1304,8 +1302,7 @@ export class Personalize extends PersonalizeClient { } /** - *

                                                            Describes the given dataset. For more information on datasets, see - * CreateDataset.

                                                            + *

                                                            Describes the given dataset. For more information on datasets, see CreateDataset.

                                                            */ public describeDataset( args: DescribeDatasetCommandInput, @@ -1337,8 +1334,7 @@ export class Personalize extends PersonalizeClient { } /** - *

                                                            Describes the given dataset group. For more information on dataset groups, see - * CreateDatasetGroup.

                                                            + *

                                                            Describes the given dataset group. For more information on dataset groups, see CreateDatasetGroup.

                                                            */ public describeDatasetGroup( args: DescribeDatasetGroupCommandInput, @@ -1751,7 +1747,7 @@ export class Personalize extends PersonalizeClient { /** *

                                                            Returns a list of dataset groups. The response provides the properties for each dataset * group, including the Amazon Resource Name (ARN). For more information on dataset groups, see - * CreateDatasetGroup.

                                                            + * CreateDatasetGroup.

                                                            */ public listDatasetGroups( args: ListDatasetGroupsCommandInput, @@ -1783,11 +1779,11 @@ export class Personalize extends PersonalizeClient { } /** - *

                                                            Returns a list of dataset import jobs that use the given dataset. - * When a dataset is not specified, all the dataset import jobs associated with the account are listed. - * The response provides the properties for each dataset import job, including the Amazon Resource Name (ARN). - * For more information on dataset import jobs, see CreateDatasetImportJob. - * For more information on datasets, see CreateDataset.

                                                            + *

                                                            Returns a list of dataset import jobs that use the given dataset. When a dataset is not + * specified, all the dataset import jobs associated with the account are listed. The response + * provides the properties for each dataset import job, including the Amazon Resource Name (ARN). + * For more information on dataset import jobs, see CreateDatasetImportJob. For + * more information on datasets, see CreateDataset.

                                                            */ public listDatasetImportJobs( args: ListDatasetImportJobsCommandInput, @@ -1819,10 +1815,9 @@ export class Personalize extends PersonalizeClient { } /** - *

                                                            Returns the list of datasets contained in the given dataset group. The response - * provides the properties for each dataset, including - * the Amazon Resource Name (ARN). For more information on datasets, - * see CreateDataset.

                                                            + *

                                                            Returns the list of datasets contained in the given dataset group. The response provides + * the properties for each dataset, including the Amazon Resource Name (ARN). For more + * information on datasets, see CreateDataset.

                                                            */ public listDatasets( args: ListDatasetsCommandInput, diff --git a/clients/client-personalize/models/models_0.ts b/clients/client-personalize/models/models_0.ts index 623bba55c6c3..53719a2cfcaf 100644 --- a/clients/client-personalize/models/models_0.ts +++ b/clients/client-personalize/models/models_0.ts @@ -28,11 +28,6 @@ export namespace AlgorithmImage { * have its value determined during hyperparameter optimization (HPO).

                                                            */ export interface DefaultCategoricalHyperParameterRange { - /** - *

                                                            A list of the categories for the hyperparameter.

                                                            - */ - values?: string[]; - /** *

                                                            Whether the hyperparameter is tunable.

                                                            */ @@ -42,6 +37,11 @@ export interface DefaultCategoricalHyperParameterRange { *

                                                            The name of the hyperparameter.

                                                            */ name?: string; + + /** + *

                                                            A list of the categories for the hyperparameter.

                                                            + */ + values?: string[]; } export namespace DefaultCategoricalHyperParameterRange { @@ -57,24 +57,24 @@ export namespace DefaultCategoricalHyperParameterRange { */ export interface DefaultContinuousHyperParameterRange { /** - *

                                                            The minimum allowable value for the hyperparameter.

                                                            + *

                                                            The name of the hyperparameter.

                                                            */ - minValue?: number; + name?: string; /** - *

                                                            The name of the hyperparameter.

                                                            + *

                                                            The maximum allowable value for the hyperparameter.

                                                            */ - name?: string; + maxValue?: number; /** - *

                                                            Whether the hyperparameter is tunable.

                                                            + *

                                                            The minimum allowable value for the hyperparameter.

                                                            */ - isTunable?: boolean; + minValue?: number; /** - *

                                                            The maximum allowable value for the hyperparameter.

                                                            + *

                                                            Whether the hyperparameter is tunable.

                                                            */ - maxValue?: number; + isTunable?: boolean; } export namespace DefaultContinuousHyperParameterRange { @@ -90,24 +90,24 @@ export namespace DefaultContinuousHyperParameterRange { */ export interface DefaultIntegerHyperParameterRange { /** - *

                                                            The name of the hyperparameter.

                                                            + *

                                                            The maximum allowable value for the hyperparameter.

                                                            */ - name?: string; + maxValue?: number; /** - *

                                                            Indicates whether the hyperparameter is tunable.

                                                            + *

                                                            The minimum allowable value for the hyperparameter.

                                                            */ - isTunable?: boolean; + minValue?: number; /** - *

                                                            The maximum allowable value for the hyperparameter.

                                                            + *

                                                            The name of the hyperparameter.

                                                            */ - maxValue?: number; + name?: string; /** - *

                                                            The minimum allowable value for the hyperparameter.

                                                            + *

                                                            Indicates whether the hyperparameter is tunable.

                                                            */ - minValue?: number; + isTunable?: boolean; } export namespace DefaultIntegerHyperParameterRange { @@ -122,14 +122,14 @@ export namespace DefaultIntegerHyperParameterRange { */ export interface DefaultHyperParameterRanges { /** - *

                                                            The integer-valued hyperparameters and their default ranges.

                                                            + *

                                                            The continuous hyperparameters and their default ranges.

                                                            */ - integerHyperParameterRanges?: DefaultIntegerHyperParameterRange[]; + continuousHyperParameterRanges?: DefaultContinuousHyperParameterRange[]; /** - *

                                                            The continuous hyperparameters and their default ranges.

                                                            + *

                                                            The integer-valued hyperparameters and their default ranges.

                                                            */ - continuousHyperParameterRanges?: DefaultContinuousHyperParameterRange[]; + integerHyperParameterRanges?: DefaultIntegerHyperParameterRange[]; /** *

                                                            The categorical hyperparameters and their default ranges.

                                                            @@ -148,56 +148,56 @@ export namespace DefaultHyperParameterRanges { */ export interface Algorithm { /** - *

                                                            Specifies the default maximum number of training jobs and parallel training jobs.

                                                            + *

                                                            The training input mode.

                                                            */ - defaultResourceConfig?: { [key: string]: string }; + trainingInputMode?: string; /** - *

                                                            The Amazon Resource Name (ARN) of the algorithm.

                                                            + *

                                                            Specifies the default hyperparameters.

                                                            */ - algorithmArn?: string; + defaultHyperParameters?: { [key: string]: string }; /** - *

                                                            The name of the algorithm.

                                                            + *

                                                            Specifies the default hyperparameters, their ranges, and whether they + * are tunable. A tunable hyperparameter can + * have its value determined during hyperparameter optimization (HPO).

                                                            */ - name?: string; + defaultHyperParameterRanges?: DefaultHyperParameterRanges; /** - *

                                                            The URI of the Docker container for the algorithm image.

                                                            + *

                                                            The date and time (in Unix time) that the algorithm was last updated.

                                                            */ - algorithmImage?: AlgorithmImage; + lastUpdatedDateTime?: Date; /** - *

                                                            The Amazon Resource Name (ARN) of the role.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the algorithm.

                                                            */ - roleArn?: string; + algorithmArn?: string; /** - *

                                                            The date and time (in Unix time) that the algorithm was last updated.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the role.

                                                            */ - lastUpdatedDateTime?: Date; + roleArn?: string; /** - *

                                                            Specifies the default hyperparameters.

                                                            + *

                                                            Specifies the default maximum number of training jobs and parallel training jobs.

                                                            */ - defaultHyperParameters?: { [key: string]: string }; + defaultResourceConfig?: { [key: string]: string }; /** - *

                                                            The training input mode.

                                                            + *

                                                            The URI of the Docker container for the algorithm image.

                                                            */ - trainingInputMode?: string; + algorithmImage?: AlgorithmImage; /** - *

                                                            Specifies the default hyperparameters, their ranges, and whether they - * are tunable. A tunable hyperparameter can - * have its value determined during hyperparameter optimization (HPO).

                                                            + *

                                                            The date and time (in Unix time) that the algorithm was created.

                                                            */ - defaultHyperParameterRanges?: DefaultHyperParameterRanges; + creationDateTime?: Date; /** - *

                                                            The date and time (in Unix time) that the algorithm was created.

                                                            + *

                                                            The name of the algorithm.

                                                            */ - creationDateTime?: Date; + name?: string; } export namespace Algorithm { @@ -207,19 +207,35 @@ export namespace Algorithm { } /** - *

                                                            The configuration details of an Amazon S3 input or output bucket.

                                                            + *

                                                            The configuration details of a batch inference job.

                                                            */ -export interface S3DataConfig { +export interface BatchInferenceJobConfig { /** - *

                                                            The Amazon Resource Name (ARN) of the Amazon Key Management Service (KMS) key that Amazon Personalize uses to - * encrypt or decrypt the input and output files of a batch inference job.

                                                            + *

                                                            A string to string map specifying the inference hyperparameters you wish to use for hyperparameter optimization. See customizing-solution-config-hpo.

                                                            */ - kmsKeyArn?: string; + itemExplorationConfig?: { [key: string]: string }; +} + +export namespace BatchInferenceJobConfig { + export const filterSensitiveLog = (obj: BatchInferenceJobConfig): any => ({ + ...obj, + }); +} +/** + *

                                                            The configuration details of an Amazon S3 input or output bucket.

                                                            + */ +export interface S3DataConfig { /** *

                                                            The file path of the Amazon S3 bucket.

                                                            */ path: string | undefined; + + /** + *

                                                            The Amazon Resource Name (ARN) of the Amazon Key Management Service (KMS) key that Amazon Personalize uses to + * encrypt or decrypt the input and output files of a batch inference job.

                                                            + */ + kmsKeyArn?: string; } export namespace S3DataConfig { @@ -263,31 +279,31 @@ export namespace BatchInferenceJobOutput { export interface CreateBatchInferenceJobRequest { /** - *

                                                            The path to the Amazon S3 bucket where the job's output will be stored.

                                                            + *

                                                            The number of recommendations to retreive.

                                                            */ - jobOutput: BatchInferenceJobOutput | undefined; + numResults?: number; /** - *

                                                            The number of recommendations to retreive.

                                                            + *

                                                            The ARN of the Amazon Identity and Access Management role that has permissions to read and write to your input and out + * Amazon S3 buckets respectively.

                                                            */ - numResults?: number; + roleArn: string | undefined; /** - *

                                                            The ARN of the filter to apply to the batch inference job. For more information on using - * filters, see Using Filters with Amazon Personalize.

                                                            + *

                                                            The configuration details of a batch inference job.

                                                            */ - filterArn?: string; + batchInferenceJobConfig?: BatchInferenceJobConfig; /** - *

                                                            The ARN of the Amazon Identity and Access Management role that has permissions to read and write to your input and out - * Amazon S3 buckets respectively.

                                                            + *

                                                            The path to the Amazon S3 bucket where the job's output will be stored.

                                                            */ - roleArn: string | undefined; + jobOutput: BatchInferenceJobOutput | undefined; /** - *

                                                            The name of the batch inference job to create.

                                                            + *

                                                            The ARN of the filter to apply to the batch inference job. For more information on using + * filters, see Using Filters with Amazon Personalize.

                                                            */ - jobName: string | undefined; + filterArn?: string; /** *

                                                            The Amazon S3 path that leads to the input file to base your recommendations on. The input @@ -300,6 +316,11 @@ export interface CreateBatchInferenceJobRequest { * batch inference recommendations.

                                                            */ solutionVersionArn: string | undefined; + + /** + *

                                                            The name of the batch inference job to create.

                                                            + */ + jobName: string | undefined; } export namespace CreateBatchInferenceJobRequest { @@ -396,6 +417,22 @@ export namespace ResourceNotFoundException { }); } +/** + *

                                                            The configuration details of a campaign.

                                                            + */ +export interface CampaignConfig { + /** + *

                                                            A string to string map specifying the inference hyperparameters you wish to use for hyperparameter optimization. See customizing-solution-config-hpo.

                                                            + */ + itemExplorationConfig?: { [key: string]: string }; +} + +export namespace CampaignConfig { + export const filterSensitiveLog = (obj: CampaignConfig): any => ({ + ...obj, + }); +} + export interface CreateCampaignRequest { /** *

                                                            Specifies the requested minimum provisioned transactions (recommendations) per second that @@ -408,6 +445,11 @@ export interface CreateCampaignRequest { */ solutionVersionArn: string | undefined; + /** + *

                                                            The configuration details of a campaign.

                                                            + */ + campaignConfig?: CampaignConfig; + /** *

                                                            A name for the new campaign. The campaign name must be unique within your account.

                                                            */ @@ -434,22 +476,17 @@ export namespace CreateCampaignResponse { } export interface CreateDatasetRequest { - /** - *

                                                            The Amazon Resource Name (ARN) of the dataset group to add the dataset to.

                                                            - */ - datasetGroupArn: string | undefined; - - /** - *

                                                            The name for the dataset.

                                                            - */ - name: string | undefined; - /** *

                                                            The ARN of the schema to associate with the dataset. The schema defines the dataset * fields.

                                                            */ schemaArn: string | undefined; + /** + *

                                                            The Amazon Resource Name (ARN) of the dataset group to add the dataset to.

                                                            + */ + datasetGroupArn: string | undefined; + /** *

                                                            The type of dataset.

                                                            *

                                                            One of the following (case insensitive) values:

                                                            @@ -466,6 +503,11 @@ export interface CreateDatasetRequest { *
                                                          */ datasetType: string | undefined; + + /** + *

                                                          The name for the dataset.

                                                          + */ + name: string | undefined; } export namespace CreateDatasetRequest { @@ -489,15 +531,15 @@ export namespace CreateDatasetResponse { export interface CreateDatasetGroupRequest { /** - *

                                                          The Amazon Resource Name (ARN) of a KMS key used to encrypt the datasets.

                                                          + *

                                                          The ARN of the IAM role that has permissions to access the KMS key. Supplying an IAM + * role is only valid when also specifying a KMS key.

                                                          */ - kmsKeyArn?: string; + roleArn?: string; /** - *

                                                          The ARN of the IAM role that has permissions to access the KMS key. Supplying an - * IAM role is only valid when also specifying a KMS key.

                                                          + *

                                                          The Amazon Resource Name (ARN) of a KMS key used to encrypt the datasets.

                                                          */ - roleArn?: string; + kmsKeyArn?: string; /** *

                                                          The name for the new dataset group.

                                                          @@ -546,9 +588,9 @@ export namespace DataSource { export interface CreateDatasetImportJobRequest { /** - *

                                                          The Amazon S3 bucket that contains the training data to import.

                                                          + *

                                                          The ARN of the dataset that receives the imported data.

                                                          */ - dataSource: DataSource | undefined; + datasetArn: string | undefined; /** *

                                                          The name for the dataset import job.

                                                          @@ -556,14 +598,14 @@ export interface CreateDatasetImportJobRequest { jobName: string | undefined; /** - *

                                                          The ARN of the IAM role that has permissions to read from the Amazon S3 data source.

                                                          + *

                                                          The Amazon S3 bucket that contains the training data to import.

                                                          */ - roleArn: string | undefined; + dataSource: DataSource | undefined; /** - *

                                                          The ARN of the dataset that receives the imported data.

                                                          + *

                                                          The ARN of the IAM role that has permissions to read from the Amazon S3 data source.

                                                          */ - datasetArn: string | undefined; + roleArn: string | undefined; } export namespace CreateDatasetImportJobRequest { @@ -624,16 +666,9 @@ export namespace CreateEventTrackerResponse { export interface CreateFilterRequest { /** - *

                                                          The filter expression that designates the interaction types that the filter will - * filter out. A filter expression must follow the following format:

                                                          - *

                                                          - * EXCLUDE itemId WHERE INTERACTIONS.event_type in ("EVENT_TYPE") - *

                                                          - *

                                                          Where "EVENT_TYPE" is the type of event to filter out. To filter out all items with - * any interactions history, set "*" as the EVENT_TYPE. For more information, see - * Using Filters with Amazon Personalize.

                                                          + *

                                                          The name of the filter to create.

                                                          */ - filterExpression: string | undefined; + name: string | undefined; /** *

                                                          The ARN of the dataset group that the filter will belong to.

                                                          @@ -641,9 +676,17 @@ export interface CreateFilterRequest { datasetGroupArn: string | undefined; /** - *

                                                          The name of the filter to create.

                                                          + *

                                                          The filter expression that designates the interaction types that the filter will + * filter out. A filter expression must follow the following format:

                                                          + *

                                                          + * EXCLUDE itemId WHERE INTERACTIONS.event_type in ("EVENT_TYPE") + *

                                                          + *

                                                          Where "EVENT_TYPE" is the type of event to filter out. To filter out all items with + * any interactions history, set "*" as the EVENT_TYPE. For more information, + * see Using + * Filters with Amazon Personalize.

                                                          */ - name: string | undefined; + filterExpression: string | undefined; } export namespace CreateFilterRequest { @@ -726,14 +769,14 @@ export namespace AutoMLConfig { */ export interface CategoricalHyperParameterRange { /** - *

                                                          The name of the hyperparameter.

                                                          + *

                                                          A list of the categories for the hyperparameter.

                                                          */ - name?: string; + values?: string[]; /** - *

                                                          A list of the categories for the hyperparameter.

                                                          + *

                                                          The name of the hyperparameter.

                                                          */ - values?: string[]; + name?: string; } export namespace CategoricalHyperParameterRange { @@ -752,14 +795,14 @@ export interface ContinuousHyperParameterRange { maxValue?: number; /** - *

                                                          The name of the hyperparameter.

                                                          + *

                                                          The minimum allowable value for the hyperparameter.

                                                          */ - name?: string; + minValue?: number; /** - *

                                                          The minimum allowable value for the hyperparameter.

                                                          + *

                                                          The name of the hyperparameter.

                                                          */ - minValue?: number; + name?: string; } export namespace ContinuousHyperParameterRange { @@ -778,14 +821,14 @@ export interface IntegerHyperParameterRange { maxValue?: number; /** - *

                                                          The minimum allowable value for the hyperparameter.

                                                          + *

                                                          The name of the hyperparameter.

                                                          */ - minValue?: number; + name?: string; /** - *

                                                          The name of the hyperparameter.

                                                          + *

                                                          The minimum allowable value for the hyperparameter.

                                                          */ - name?: string; + minValue?: number; } export namespace IntegerHyperParameterRange { @@ -799,6 +842,11 @@ export namespace IntegerHyperParameterRange { * Hyperparameters can be categorical, continuous, or integer-valued.

                                                          */ export interface HyperParameterRanges { + /** + *

                                                          The integer-valued hyperparameters and their ranges.

                                                          + */ + integerHyperParameterRanges?: IntegerHyperParameterRange[]; + /** *

                                                          The continuous hyperparameters and their ranges.

                                                          */ @@ -808,11 +856,6 @@ export interface HyperParameterRanges { *

                                                          The categorical hyperparameters and their ranges.

                                                          */ categoricalHyperParameterRanges?: CategoricalHyperParameterRange[]; - - /** - *

                                                          The integer-valued hyperparameters and their ranges.

                                                          - */ - integerHyperParameterRanges?: IntegerHyperParameterRange[]; } export namespace HyperParameterRanges { @@ -831,14 +874,14 @@ export interface HPOObjective { metricName?: string; /** - *

                                                          The type of the metric. Valid values are Maximize and Minimize.

                                                          + *

                                                          A regular expression for finding the metric in the training job logs.

                                                          */ - type?: string; + metricRegex?: string; /** - *

                                                          A regular expression for finding the metric in the training job logs.

                                                          + *

                                                          The type of the metric. Valid values are Maximize and Minimize.

                                                          */ - metricRegex?: string; + type?: string; } export namespace HPOObjective { @@ -852,24 +895,24 @@ export namespace HPOObjective { */ export interface HPOResourceConfig { /** - *

                                                          The maximum number of parallel training + *

                                                          The maximum number of training * jobs when you create a * solution * version. - * The maximum value for maxParallelTrainingJobs is - * 10.

                                                          + * The maximum value for maxNumberOfTrainingJobs is + * 40.

                                                          */ - maxParallelTrainingJobs?: string; + maxNumberOfTrainingJobs?: string; /** - *

                                                          The maximum number of training + *

                                                          The maximum number of parallel training * jobs when you create a * solution * version. - * The maximum value for maxNumberOfTrainingJobs is - * 40.

                                                          + * The maximum value for maxParallelTrainingJobs is + * 10.

                                                          */ - maxNumberOfTrainingJobs?: string; + maxParallelTrainingJobs?: string; } export namespace HPOResourceConfig { @@ -889,14 +932,14 @@ export interface HPOConfig { hpoResourceConfig?: HPOResourceConfig; /** - *

                                                          The hyperparameters and their allowable ranges.

                                                          + *

                                                          The metric to optimize during HPO.

                                                          */ - algorithmHyperParameterRanges?: HyperParameterRanges; + hpoObjective?: HPOObjective; /** - *

                                                          The metric to optimize during HPO.

                                                          + *

                                                          The hyperparameters and their allowable ranges.

                                                          */ - hpoObjective?: HPOObjective; + algorithmHyperParameterRanges?: HyperParameterRanges; } export namespace HPOConfig { @@ -910,26 +953,26 @@ export namespace HPOConfig { */ export interface SolutionConfig { /** - *

                                                          Only events with a value greater than or equal to this threshold are - * used for training a model.

                                                          + *

                                                          Describes the properties for hyperparameter optimization (HPO).

                                                          */ - eventValueThreshold?: string; + hpoConfig?: HPOConfig; /** - *

                                                          The AutoMLConfig object containing a list of recipes to search - * when AutoML is performed.

                                                          + *

                                                          Lists the feature transformation parameters.

                                                          */ - autoMLConfig?: AutoMLConfig; + featureTransformationParameters?: { [key: string]: string }; /** - *

                                                          Lists the feature transformation parameters.

                                                          + *

                                                          Only events with a value greater than or equal to this threshold are + * used for training a model.

                                                          */ - featureTransformationParameters?: { [key: string]: string }; + eventValueThreshold?: string; /** - *

                                                          Describes the properties for hyperparameter optimization (HPO).

                                                          + *

                                                          The AutoMLConfig object containing a list of recipes to search + * when AutoML is performed.

                                                          */ - hpoConfig?: HPOConfig; + autoMLConfig?: AutoMLConfig; /** *

                                                          Lists the hyperparameter names and ranges.

                                                          @@ -944,12 +987,32 @@ export namespace SolutionConfig { } export interface CreateSolutionRequest { + /** + *

                                                          The Amazon Resource Name (ARN) of the dataset group that provides the training data.

                                                          + */ + datasetGroupArn: string | undefined; + + /** + *

                                                          When your have multiple event types (using an EVENT_TYPE schema field), + * this parameter specifies which event type (for example, 'click' or 'like') is used for + * training the model.

                                                          + */ + eventType?: string; + /** *

                                                          The ARN of the recipe to use for model training. Only specified when * performAutoML is false.

                                                          */ recipeArn?: string; + /** + *

                                                          Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. + * The default is false.

                                                          + *

                                                          When performing AutoML, this parameter is always true and you + * should not set it to false.

                                                          + */ + performHPO?: boolean; + /** *

                                                          Whether to perform automated machine learning (AutoML). The default is false. * For this case, you must specify recipeArn.

                                                          @@ -961,14 +1024,6 @@ export interface CreateSolutionRequest { */ performAutoML?: boolean; - /** - *

                                                          Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. - * The default is false.

                                                          - *

                                                          When performing AutoML, this parameter is always true and you - * should not set it to false.

                                                          - */ - performHPO?: boolean; - /** *

                                                          The name for the solution.

                                                          */ @@ -980,18 +1035,6 @@ export interface CreateSolutionRequest { * of the solution configuration.

                                                          */ solutionConfig?: SolutionConfig; - - /** - *

                                                          When your have multiple event types (using an EVENT_TYPE schema field), - * this parameter specifies which event type (for example, 'click' or 'like') is used for - * training the model.

                                                          - */ - eventType?: string; - - /** - *

                                                          The Amazon Resource Name (ARN) of the dataset group that provides the training data.

                                                          - */ - datasetGroupArn: string | undefined; } export namespace CreateSolutionRequest { @@ -1019,12 +1062,6 @@ export enum TrainingMode { } export interface CreateSolutionVersionRequest { - /** - *

                                                          The Amazon Resource Name (ARN) of the solution containing the training configuration - * information.

                                                          - */ - solutionArn: string | undefined; - /** *

                                                          The scope of training to be performed when creating the solution version. The * FULL option trains the solution version based on the entirety of the input @@ -1038,6 +1075,12 @@ export interface CreateSolutionVersionRequest { * */ trainingMode?: TrainingMode | string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the solution containing the training configuration + * information.

                                                          + */ + solutionArn: string | undefined; } export namespace CreateSolutionVersionRequest { @@ -1193,33 +1236,6 @@ export namespace DescribeBatchInferenceJobRequest { *

                                                          Contains information on a batch inference job.

                                                          */ export interface BatchInferenceJob { - /** - *

                                                          The name of the batch inference job.

                                                          - */ - jobName?: string; - - /** - *

                                                          If the batch inference job failed, the reason for the failure.

                                                          - */ - failureReason?: string; - - /** - *

                                                          The Amazon Resource Name (ARN) of the solution version from which the batch inference job - * was created.

                                                          - */ - solutionVersionArn?: string; - - /** - *

                                                          The ARN of the Amazon Identity and Access Management (IAM) role that requested the batch inference job.

                                                          - */ - roleArn?: string; - - /** - *

                                                          The number of recommendations generated by the batch inference job. This number includes - * the error messages generated for failed input records.

                                                          - */ - numResults?: number; - /** *

                                                          The Amazon S3 path that leads to the input data used to generate the batch inference * job.

                                                          @@ -1227,9 +1243,14 @@ export interface BatchInferenceJob { jobInput?: BatchInferenceJobInput; /** - *

                                                          The time at which the batch inference job was last updated.

                                                          + *

                                                          A string to string map of the configuration details of a batch inference job.

                                                          */ - lastUpdatedDateTime?: Date; + batchInferenceJobConfig?: BatchInferenceJobConfig; + + /** + *

                                                          The Amazon S3 bucket that contains the output data generated by the batch inference job.

                                                          + */ + jobOutput?: BatchInferenceJobOutput; /** *

                                                          The status of the batch inference job. The status is one of the following values:

                                                          @@ -1250,25 +1271,52 @@ export interface BatchInferenceJob { */ status?: string; + /** + *

                                                          The Amazon Resource Name (ARN) of the batch inference job.

                                                          + */ + batchInferenceJobArn?: string; + + /** + *

                                                          If the batch inference job failed, the reason for the failure.

                                                          + */ + failureReason?: string; + + /** + *

                                                          The number of recommendations generated by the batch inference job. This number includes + * the error messages generated for failed input records.

                                                          + */ + numResults?: number; + /** *

                                                          The time at which the batch inference job was created.

                                                          */ creationDateTime?: Date; /** - *

                                                          The Amazon S3 bucket that contains the output data generated by the batch inference job.

                                                          + *

                                                          The name of the batch inference job.

                                                          */ - jobOutput?: BatchInferenceJobOutput; + jobName?: string; /** - *

                                                          The ARN of the filter used on the batch inference job.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the solution version from which the batch inference job + * was created.

                                                          */ - filterArn?: string; + solutionVersionArn?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the batch inference job.

                                                          + *

                                                          The ARN of the Amazon Identity and Access Management (IAM) role that requested the batch inference job.

                                                          */ - batchInferenceJobArn?: string; + roleArn?: string; + + /** + *

                                                          The time at which the batch inference job was last updated.

                                                          + */ + lastUpdatedDateTime?: Date; + + /** + *

                                                          The ARN of the filter used on the batch inference job.

                                                          + */ + filterArn?: string; } export namespace BatchInferenceJob { @@ -1309,14 +1357,20 @@ export namespace DescribeCampaignRequest { */ export interface CampaignUpdateSummary { /** - *

                                                          The date and time (in Unix time) that the campaign update was last updated.

                                                          + *

                                                          Specifies the requested minimum provisioned transactions (recommendations) per second that + * Amazon Personalize will support.

                                                          */ - lastUpdatedDateTime?: Date; + minProvisionedTPS?: number; /** - *

                                                          If a campaign update fails, the reason behind the failure.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the deployed solution version.

                                                          */ - failureReason?: string; + solutionVersionArn?: string; + + /** + *

                                                          The date and time (in Unix time) that the campaign update was created.

                                                          + */ + creationDateTime?: Date; /** *

                                                          The status of the campaign update.

                                                          @@ -1333,20 +1387,19 @@ export interface CampaignUpdateSummary { status?: string; /** - *

                                                          The date and time (in Unix time) that the campaign update was created.

                                                          + *

                                                          The configuration details of a campaign.

                                                          */ - creationDateTime?: Date; + campaignConfig?: CampaignConfig; /** - *

                                                          The Amazon Resource Name (ARN) of the deployed solution version.

                                                          + *

                                                          The date and time (in Unix time) that the campaign update was last updated.

                                                          */ - solutionVersionArn?: string; + lastUpdatedDateTime?: Date; /** - *

                                                          Specifies the requested minimum provisioned transactions (recommendations) per second that - * Amazon Personalize will support.

                                                          + *

                                                          If a campaign update fails, the reason behind the failure.

                                                          */ - minProvisionedTPS?: number; + failureReason?: string; } export namespace CampaignUpdateSummary { @@ -1361,15 +1414,24 @@ export namespace CampaignUpdateSummary { */ export interface Campaign { /** - *

                                                          Provides a summary of the properties of a campaign update. For a complete listing, call the - * DescribeCampaign API.

                                                          + *

                                                          The Amazon Resource Name (ARN) of a specific version of the solution.

                                                          */ - latestCampaignUpdate?: CampaignUpdateSummary; + solutionVersionArn?: string; /** - *

                                                          The date and time (in Unix format) that the campaign was last updated.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the campaign.

                                                          */ - lastUpdatedDateTime?: Date; + campaignArn?: string; + + /** + *

                                                          The name of the campaign.

                                                          + */ + name?: string; + + /** + *

                                                          The configuration details of a campaign.

                                                          + */ + campaignConfig?: CampaignConfig; /** *

                                                          Specifies the requested minimum provisioned transactions (recommendations) per second.

                                                          @@ -1377,9 +1439,20 @@ export interface Campaign { minProvisionedTPS?: number; /** - *

                                                          The name of the campaign.

                                                          + *

                                                          Provides a summary of the properties of a campaign update. For a complete listing, call the + * DescribeCampaign API.

                                                          */ - name?: string; + latestCampaignUpdate?: CampaignUpdateSummary; + + /** + *

                                                          The date and time (in Unix format) that the campaign was last updated.

                                                          + */ + lastUpdatedDateTime?: Date; + + /** + *

                                                          The date and time (in Unix format) that the campaign was created.

                                                          + */ + creationDateTime?: Date; /** *

                                                          The status of the campaign.

                                                          @@ -1395,21 +1468,6 @@ export interface Campaign { */ status?: string; - /** - *

                                                          The date and time (in Unix format) that the campaign was created.

                                                          - */ - creationDateTime?: Date; - - /** - *

                                                          The Amazon Resource Name (ARN) of a specific version of the solution.

                                                          - */ - solutionVersionArn?: string; - - /** - *

                                                          The Amazon Resource Name (ARN) of the campaign.

                                                          - */ - campaignArn?: string; - /** *

                                                          If a campaign fails, the reason behind the failure.

                                                          */ @@ -1453,25 +1511,14 @@ export namespace DescribeDatasetRequest { */ export interface Dataset { /** - *

                                                          One of the following values:

                                                          - *
                                                            - *
                                                          • - *

                                                            Interactions

                                                            - *
                                                          • - *
                                                          • - *

                                                            Items

                                                            - *
                                                          • - *
                                                          • - *

                                                            Users

                                                            - *
                                                          • - *
                                                          + *

                                                          The ARN of the associated schema.

                                                          */ - datasetType?: string; + schemaArn?: string; /** - *

                                                          A time stamp that shows when the dataset was updated.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the dataset that you want metadata for.

                                                          */ - lastUpdatedDateTime?: Date; + datasetArn?: string; /** *

                                                          The status of the dataset.

                                                          @@ -1487,26 +1534,37 @@ export interface Dataset { */ status?: string; + /** + *

                                                          A time stamp that shows when the dataset was updated.

                                                          + */ + lastUpdatedDateTime?: Date; + /** *

                                                          The creation date and time (in Unix time) of the dataset.

                                                          */ creationDateTime?: Date; /** - *

                                                          The Amazon Resource Name (ARN) of the dataset that you want metadata for.

                                                          + *

                                                          One of the following values:

                                                          + *
                                                            + *
                                                          • + *

                                                            Interactions

                                                            + *
                                                          • + *
                                                          • + *

                                                            Items

                                                            + *
                                                          • + *
                                                          • + *

                                                            Users

                                                            + *
                                                          • + *
                                                          */ - datasetArn?: string; + datasetType?: string; /** *

                                                          The name of the dataset.

                                                          */ name?: string; - /** - *

                                                          The ARN of the associated schema.

                                                          - */ - schemaArn?: string; - /** *

                                                          The Amazon Resource Name (ARN) of the dataset group.

                                                          */ @@ -1546,19 +1604,28 @@ export namespace DescribeDatasetGroupRequest { } /** - *

                                                          A dataset group is a collection of related datasets (Interactions, User, and Item). - * You create a dataset group by calling - * CreateDatasetGroup. You then create a dataset and add it to a dataset - * group by calling CreateDataset. The dataset group - * is used to create and train a solution by calling CreateSolution. - * A dataset group can contain only one of each type of dataset.

                                                          + *

                                                          A dataset group is a collection of related datasets (Interactions, User, and Item). You + * create a dataset group by calling CreateDatasetGroup. You then create a + * dataset and add it to a dataset group by calling CreateDataset. The dataset + * group is used to create and train a solution by calling CreateSolution. A + * dataset group can contain only one of each type of dataset.

                                                          *

                                                          You can specify an AWS Key Management Service (KMS) key to encrypt the datasets in the group.

                                                          */ export interface DatasetGroup { /** - *

                                                          The ARN of the IAM role that has permissions to create the dataset group.

                                                          + *

                                                          If creating a dataset group fails, provides the reason why.

                                                          */ - roleArn?: string; + failureReason?: string; + + /** + *

                                                          The last update date and time (in Unix time) of the dataset group.

                                                          + */ + lastUpdatedDateTime?: Date; + + /** + *

                                                          The Amazon Resource Name (ARN) of the KMS key used to encrypt the datasets.

                                                          + */ + kmsKeyArn?: string; /** *

                                                          The name of the dataset group.

                                                          @@ -1566,14 +1633,14 @@ export interface DatasetGroup { name?: string; /** - *

                                                          The last update date and time (in Unix time) of the dataset group.

                                                          + *

                                                          The ARN of the IAM role that has permissions to create the dataset group.

                                                          */ - lastUpdatedDateTime?: Date; + roleArn?: string; /** - *

                                                          If creating a dataset group fails, provides the reason why.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the dataset group.

                                                          */ - failureReason?: string; + datasetGroupArn?: string; /** *

                                                          The current status of the dataset group.

                                                          @@ -1593,16 +1660,6 @@ export interface DatasetGroup { *

                                                          The creation date and time (in Unix time) of the dataset group.

                                                          */ creationDateTime?: Date; - - /** - *

                                                          The Amazon Resource Name (ARN) of the KMS key used to encrypt the datasets.

                                                          - */ - kmsKeyArn?: string; - - /** - *

                                                          The Amazon Resource Name (ARN) of the dataset group.

                                                          - */ - datasetGroupArn?: string; } export namespace DatasetGroup { @@ -1638,9 +1695,8 @@ export namespace DescribeDatasetImportJobRequest { } /** - *

                                                          Describes a job that imports training data from a data source (Amazon S3 bucket) - * to an Amazon Personalize dataset. For more information, see - * CreateDatasetImportJob.

                                                          + *

                                                          Describes a job that imports training data from a data source (Amazon S3 bucket) to an + * Amazon Personalize dataset. For more information, see CreateDatasetImportJob.

                                                          *

                                                          A dataset import job can be in one of the following states:

                                                          *
                                                            *
                                                          • @@ -1650,25 +1706,19 @@ export namespace DescribeDatasetImportJobRequest { */ export interface DatasetImportJob { /** - *

                                                            The status of the dataset import job.

                                                            - *

                                                            A dataset import job can be in one of the following states:

                                                            - *
                                                              - *
                                                            • - *

                                                              CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

                                                              - *
                                                            • - *
                                                            + *

                                                            The Amazon S3 bucket that contains the training data to import.

                                                            */ - status?: string; + dataSource?: DataSource; /** - *

                                                            If a dataset import job fails, provides the reason why.

                                                            + *

                                                            The ARN of the dataset import job.

                                                            */ - failureReason?: string; + datasetImportJobArn?: string; /** - *

                                                            The creation date and time (in Unix time) of the dataset import job.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the dataset that receives the imported data.

                                                            */ - creationDateTime?: Date; + datasetArn?: string; /** *

                                                            The date and time (in Unix time) the dataset was last updated.

                                                            @@ -1676,29 +1726,36 @@ export interface DatasetImportJob { lastUpdatedDateTime?: Date; /** - *

                                                            The Amazon Resource Name (ARN) of the dataset that receives the imported data.

                                                            + *

                                                            The creation date and time (in Unix time) of the dataset import job.

                                                            */ - datasetArn?: string; + creationDateTime?: Date; /** - *

                                                            The name of the import job.

                                                            + *

                                                            If a dataset import job fails, provides the reason why.

                                                            */ - jobName?: string; + failureReason?: string; /** - *

                                                            The Amazon S3 bucket that contains the training data to import.

                                                            + *

                                                            The status of the dataset import job.

                                                            + *

                                                            A dataset import job can be in one of the following states:

                                                            + *
                                                              + *
                                                            • + *

                                                              CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

                                                              + *
                                                            • + *
                                                            */ - dataSource?: DataSource; + status?: string; /** - *

                                                            The ARN of the dataset import job.

                                                            + *

                                                            The ARN of the AWS Identity and Access Management (IAM) role that has permissions to read from the Amazon S3 data + * source.

                                                            */ - datasetImportJobArn?: string; + roleArn?: string; /** - *

                                                            The ARN of the AWS Identity and Access Management (IAM) role that has permissions to read from the Amazon S3 data source.

                                                            + *

                                                            The name of the import job.

                                                            */ - roleArn?: string; + jobName?: string; } export namespace DatasetImportJob { @@ -1753,9 +1810,9 @@ export namespace DescribeEventTrackerRequest { */ export interface EventTracker { /** - *

                                                            The name of the event tracker.

                                                            + *

                                                            The ARN of the event tracker.

                                                            */ - name?: string; + eventTrackerArn?: string; /** *

                                                            The date and time (in Unix time) that the event tracker was last updated.

                                                            @@ -1763,14 +1820,19 @@ export interface EventTracker { lastUpdatedDateTime?: Date; /** - *

                                                            The ARN of the event tracker.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the dataset group that receives the event data.

                                                            */ - eventTrackerArn?: string; + datasetGroupArn?: string; /** - *

                                                            The date and time (in Unix format) that the event tracker was created.

                                                            + *

                                                            The name of the event tracker.

                                                            */ - creationDateTime?: Date; + name?: string; + + /** + *

                                                            The Amazon AWS account that owns the event tracker.

                                                            + */ + accountId?: string; /** *

                                                            The status of the event tracker.

                                                            @@ -1793,14 +1855,9 @@ export interface EventTracker { trackingId?: string; /** - *

                                                            The Amazon AWS account that owns the event tracker.

                                                            - */ - accountId?: string; - - /** - *

                                                            The Amazon Resource Name (ARN) of the dataset group that receives the event data.

                                                            + *

                                                            The date and time (in Unix format) that the event tracker was created.

                                                            */ - datasetGroupArn?: string; + creationDateTime?: Date; } export namespace EventTracker { @@ -1841,29 +1898,29 @@ export namespace DescribeFeatureTransformationRequest { */ export interface FeatureTransformation { /** - *

                                                            The name of the feature transformation.

                                                            + *

                                                            Provides the default parameters for feature transformation.

                                                            */ - name?: string; + defaultParameters?: { [key: string]: string }; /** - *

                                                            The Amazon Resource Name (ARN) of the FeatureTransformation object.

                                                            + *

                                                            The last update date and time (in Unix time) of the feature transformation.

                                                            */ - featureTransformationArn?: string; + lastUpdatedDateTime?: Date; /** - *

                                                            The creation date and time (in Unix time) of the feature transformation.

                                                            + *

                                                            The name of the feature transformation.

                                                            */ - creationDateTime?: Date; + name?: string; /** - *

                                                            The last update date and time (in Unix time) of the feature transformation.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the FeatureTransformation object.

                                                            */ - lastUpdatedDateTime?: Date; + featureTransformationArn?: string; /** - *

                                                            Provides the default parameters for feature transformation.

                                                            + *

                                                            The creation date and time (in Unix time) of the feature transformation.

                                                            */ - defaultParameters?: { [key: string]: string }; + creationDateTime?: Date; /** *

                                                            The status of the feature transformation.

                                                            @@ -1915,20 +1972,14 @@ export namespace DescribeFilterRequest { */ export interface Filter { /** - *

                                                            The ARN of the dataset group to which the filter belongs.

                                                            + *

                                                            The time at which the filter was created.

                                                            */ - datasetGroupArn?: string; + creationDateTime?: Date; /** - *

                                                            Specifies the type of item interactions to filter out of recommendation results. The - * filter expression must follow the following format:

                                                            - *

                                                            - * EXCLUDE itemId WHERE INTERACTIONS.event_type in ("EVENT_TYPE") - *

                                                            - *

                                                            Where "EVENT_TYPE" is the type of event to filter out. For more information, see Using - * Filters with Amazon Personalize.

                                                            + *

                                                            The status of the filter.

                                                            */ - filterExpression?: string; + status?: string; /** *

                                                            If the filter failed, the reason for its failure.

                                                            @@ -1936,9 +1987,21 @@ export interface Filter { failureReason?: string; /** - *

                                                            The time at which the filter was last updated.

                                                            + *

                                                            The ARN of the dataset group to which the filter belongs.

                                                            */ - lastUpdatedDateTime?: Date; + datasetGroupArn?: string; + + /** + *

                                                            Specifies the type of item interactions to filter out of recommendation results. The + * filter expression must follow the following format:

                                                            + *

                                                            + * EXCLUDE itemId WHERE INTERACTIONS.event_type in ("EVENT_TYPE") + *

                                                            + *

                                                            Where "EVENT_TYPE" is the type of event to filter out. For more information, see + * Using + * Filters with Amazon Personalize.

                                                            + */ + filterExpression?: string; /** *

                                                            The ARN of the filter.

                                                            @@ -1951,14 +2014,9 @@ export interface Filter { name?: string; /** - *

                                                            The status of the filter.

                                                            - */ - status?: string; - - /** - *

                                                            The time at which the filter was created.

                                                            + *

                                                            The time at which the filter was last updated.

                                                            */ - creationDateTime?: Date; + lastUpdatedDateTime?: Date; } export namespace Filter { @@ -2001,6 +2059,16 @@ export namespace DescribeRecipeRequest { * operation.

                                                            */ export interface Recipe { + /** + *

                                                            The date and time (in Unix format) that the recipe was last updated.

                                                            + */ + lastUpdatedDateTime?: Date; + + /** + *

                                                            The ARN of the FeatureTransformation object.

                                                            + */ + featureTransformationArn?: string; + /** *

                                                            One of the following values:

                                                            *
                                                              @@ -2018,14 +2086,15 @@ export interface Recipe { recipeType?: string; /** - *

                                                              The name of the recipe.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the algorithm that Amazon Personalize uses to train + * the model.

                                                              */ - name?: string; + algorithmArn?: string; /** - *

                                                              The date and time (in Unix format) that the recipe was last updated.

                                                              + *

                                                              The description of the recipe.

                                                              */ - lastUpdatedDateTime?: Date; + description?: string; /** *

                                                              The Amazon Resource Name (ARN) of the recipe.

                                                              @@ -2033,9 +2102,9 @@ export interface Recipe { recipeArn?: string; /** - *

                                                              The date and time (in Unix format) that the recipe was created.

                                                              + *

                                                              The name of the recipe.

                                                              */ - creationDateTime?: Date; + name?: string; /** *

                                                              The status of the recipe.

                                                              @@ -2043,20 +2112,9 @@ export interface Recipe { status?: string; /** - *

                                                              The ARN of the FeatureTransformation object.

                                                              - */ - featureTransformationArn?: string; - - /** - *

                                                              The description of the recipe.

                                                              - */ - description?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) of the algorithm that Amazon Personalize uses to train - * the model.

                                                              + *

                                                              The date and time (in Unix format) that the recipe was created.

                                                              */ - algorithmArn?: string; + creationDateTime?: Date; } export namespace Recipe { @@ -2097,9 +2155,9 @@ export namespace DescribeSchemaRequest { */ export interface DatasetSchema { /** - *

                                                              The Amazon Resource Name (ARN) of the schema.

                                                              + *

                                                              The date and time (in Unix time) that the schema was last updated.

                                                              */ - schemaArn?: string; + lastUpdatedDateTime?: Date; /** *

                                                              The schema.

                                                              @@ -2107,19 +2165,19 @@ export interface DatasetSchema { schema?: string; /** - *

                                                              The date and time (in Unix time) that the schema was created.

                                                              + *

                                                              The name of the schema.

                                                              */ - creationDateTime?: Date; + name?: string; /** - *

                                                              The name of the schema.

                                                              + *

                                                              The date and time (in Unix time) that the schema was created.

                                                              */ - name?: string; + creationDateTime?: Date; /** - *

                                                              The date and time (in Unix time) that the schema was last updated.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the schema.

                                                              */ - lastUpdatedDateTime?: Date; + schemaArn?: string; } export namespace DatasetSchema { @@ -2221,51 +2279,51 @@ export namespace SolutionVersionSummary { */ export interface Solution { /** - *

                                                              The status of the solution.

                                                              - *

                                                              A solution can be in one of the following states:

                                                              - *
                                                                - *
                                                              • - *

                                                                CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

                                                                - *
                                                              • - *
                                                              • - *

                                                                DELETE PENDING > DELETE IN_PROGRESS

                                                                - *
                                                              • - *
                                                              + *

                                                              When performAutoML is true, specifies the best recipe found.

                                                              */ - status?: string; + autoMLResult?: AutoMLResult; /** - *

                                                              Describes the configuration properties for the solution.

                                                              + *

                                                              Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The + * default is false.

                                                              */ - solutionConfig?: SolutionConfig; + performHPO?: boolean; /** - *

                                                              When true, Amazon Personalize performs a search for the best USER_PERSONALIZATION recipe from - * the list specified in the solution configuration (recipeArn must not be specified). - * When false (the default), Amazon Personalize uses recipeArn for training.

                                                              + *

                                                              The date and time (in Unix time) that the solution was last updated.

                                                              */ - performAutoML?: boolean; + lastUpdatedDateTime?: Date; /** - *

                                                              The date and time (in Unix time) that the solution was last updated.

                                                              + *

                                                              Describes the latest version of the solution, including the status and the ARN.

                                                              */ - lastUpdatedDateTime?: Date; + latestSolutionVersion?: SolutionVersionSummary; /** - *

                                                              Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The - * default is false.

                                                              + *

                                                              The creation date and time (in Unix time) of the solution.

                                                              */ - performHPO?: boolean; + creationDateTime?: Date; /** - *

                                                              The Amazon Resource Name (ARN) of the dataset group that provides the training data.

                                                              + *

                                                              The status of the solution.

                                                              + *

                                                              A solution can be in one of the following states:

                                                              + *
                                                                + *
                                                              • + *

                                                                CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

                                                                + *
                                                              • + *
                                                              • + *

                                                                DELETE PENDING > DELETE IN_PROGRESS

                                                                + *
                                                              • + *
                                                              */ - datasetGroupArn?: string; + status?: string; /** - *

                                                              The creation date and time (in Unix time) of the solution.

                                                              + *

                                                              When true, Amazon Personalize performs a search for the best USER_PERSONALIZATION recipe from + * the list specified in the solution configuration (recipeArn must not be specified). + * When false (the default), Amazon Personalize uses recipeArn for training.

                                                              */ - creationDateTime?: Date; + performAutoML?: boolean; /** *

                                                              The name of the solution.

                                                              @@ -2273,19 +2331,19 @@ export interface Solution { name?: string; /** - *

                                                              The ARN of the recipe used to create the solution.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the dataset group that provides the training data.

                                                              */ - recipeArn?: string; + datasetGroupArn?: string; /** - *

                                                              Describes the latest version of the solution, including the status and the ARN.

                                                              + *

                                                              The event type (for example, 'click' or 'like') that is used for training the model.

                                                              */ - latestSolutionVersion?: SolutionVersionSummary; + eventType?: string; /** - *

                                                              When performAutoML is true, specifies the best recipe found.

                                                              + *

                                                              The ARN of the recipe used to create the solution.

                                                              */ - autoMLResult?: AutoMLResult; + recipeArn?: string; /** *

                                                              The ARN of the solution.

                                                              @@ -2293,9 +2351,9 @@ export interface Solution { solutionArn?: string; /** - *

                                                              The event type (for example, 'click' or 'like') that is used for training the model.

                                                              + *

                                                              Describes the configuration properties for the solution.

                                                              */ - eventType?: string; + solutionConfig?: SolutionConfig; } export namespace Solution { @@ -2352,9 +2410,10 @@ export namespace TunedHPOParams { */ export interface SolutionVersion { /** - *

                                                              Describes the configuration properties for the solution.

                                                              + *

                                                              When true, Amazon Personalize searches for the most optimal recipe according to the solution + * configuration. When false (the default), Amazon Personalize uses recipeArn.

                                                              */ - solutionConfig?: SolutionConfig; + performAutoML?: boolean; /** *

                                                              The date and time (in @@ -2364,42 +2423,32 @@ export interface SolutionVersion { lastUpdatedDateTime?: Date; /** - *

                                                              The status of the solution version.

                                                              - *

                                                              A solution version can be in one of the following states:

                                                              - *
                                                                - *
                                                              • - *

                                                                CREATE PENDING

                                                                - *
                                                              • - *
                                                              • - *

                                                                CREATE IN_PROGRESS

                                                                - *
                                                              • - *
                                                              • - *

                                                                ACTIVE

                                                                - *
                                                              • - *
                                                              • - *

                                                                CREATE FAILED

                                                                - *
                                                              • - *
                                                              + *

                                                              Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is + * false.

                                                              */ - status?: string; + performHPO?: boolean; /** - *

                                                              If hyperparameter optimization was performed, contains the hyperparameter values of the - * best performing model.

                                                              + *

                                                              Describes the configuration properties for the solution.

                                                              */ - tunedHPOParams?: TunedHPOParams; + solutionConfig?: SolutionConfig; /** - *

                                                              Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is - * false.

                                                              + *

                                                              The ARN of the solution.

                                                              */ - performHPO?: boolean; + solutionArn?: string; /** - *

                                                              When true, Amazon Personalize searches for the most optimal recipe according to the solution - * configuration. When false (the default), Amazon Personalize uses recipeArn.

                                                              + *

                                                              The time used to train the model. You are billed for the time it takes to train a model. + * This field is visible only after Amazon Personalize successfully trains a model.

                                                              */ - performAutoML?: boolean; + trainingHours?: number; + + /** + *

                                                              The event type (for example, 'click' or 'like') that is used for training the + * model.

                                                              + */ + eventType?: string; /** *

                                                              The scope of training used to create the solution version. The FULL option @@ -2415,15 +2464,15 @@ export interface SolutionVersion { trainingMode?: TrainingMode | string; /** - *

                                                              The time used to train the model. You are billed for the time it takes to train a model. - * This field is visible only after Amazon Personalize successfully trains a model.

                                                              + *

                                                              The ARN of the recipe used in the solution.

                                                              */ - trainingHours?: number; + recipeArn?: string; /** - *

                                                              If training a solution version fails, the reason for the failure.

                                                              + *

                                                              If hyperparameter optimization was performed, contains the hyperparameter values of the + * best performing model.

                                                              */ - failureReason?: string; + tunedHPOParams?: TunedHPOParams; /** *

                                                              The date and @@ -2433,20 +2482,29 @@ export interface SolutionVersion { creationDateTime?: Date; /** - *

                                                              The event type (for example, 'click' or 'like') that is used for training the - * model.

                                                              - */ - eventType?: string; - - /** - *

                                                              The ARN of the solution.

                                                              + *

                                                              The status of the solution version.

                                                              + *

                                                              A solution version can be in one of the following states:

                                                              + *
                                                                + *
                                                              • + *

                                                                CREATE PENDING

                                                                + *
                                                              • + *
                                                              • + *

                                                                CREATE IN_PROGRESS

                                                                + *
                                                              • + *
                                                              • + *

                                                                ACTIVE

                                                                + *
                                                              • + *
                                                              • + *

                                                                CREATE FAILED

                                                                + *
                                                              • + *
                                                              */ - solutionArn?: string; + status?: string; /** - *

                                                              The ARN of the recipe used in the solution.

                                                              + *

                                                              If training a solution version fails, the reason for the failure.

                                                              */ - recipeArn?: string; + failureReason?: string; /** *

                                                              The ARN of the solution version.

                                                              @@ -2493,14 +2551,14 @@ export namespace GetSolutionMetricsRequest { export interface GetSolutionMetricsResponse { /** - *

                                                              The metrics for the solution version.

                                                              + *

                                                              The same solution version ARN as specified in the request.

                                                              */ - metrics?: { [key: string]: number }; + solutionVersionArn?: string; /** - *

                                                              The same solution version ARN as specified in the request.

                                                              + *

                                                              The metrics for the solution version.

                                                              */ - solutionVersionArn?: string; + metrics?: { [key: string]: number }; } export namespace GetSolutionMetricsResponse { @@ -2526,10 +2584,10 @@ export namespace InvalidNextTokenException { export interface ListBatchInferenceJobsRequest { /** - *

                                                              The maximum number of batch inference job results to return in each page. The default - * value is 100.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the solution version from which the batch inference jobs + * were created.

                                                              */ - maxResults?: number; + solutionVersionArn?: string; /** *

                                                              The token to request the next page of results.

                                                              @@ -2537,10 +2595,10 @@ export interface ListBatchInferenceJobsRequest { nextToken?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the solution version from which the batch inference jobs - * were created.

                                                              + *

                                                              The maximum number of batch inference job results to return in each page. The default + * value is 100.

                                                              */ - solutionVersionArn?: string; + maxResults?: number; } export namespace ListBatchInferenceJobsRequest { @@ -2554,30 +2612,15 @@ export namespace ListBatchInferenceJobsRequest { * summaries.

                                                              */ export interface BatchInferenceJobSummary { - /** - *

                                                              The ARN of the solution version used by the batch inference job.

                                                              - */ - solutionVersionArn?: string; - - /** - *

                                                              The time at which the batch inference job was last updated.

                                                              - */ - lastUpdatedDateTime?: Date; - - /** - *

                                                              If the batch inference job failed, the reason for the failure.

                                                              - */ - failureReason?: string; - /** *

                                                              The Amazon Resource Name (ARN) of the batch inference job.

                                                              */ batchInferenceJobArn?: string; /** - *

                                                              The time at which the batch inference job was created.

                                                              + *

                                                              The name of the batch inference job.

                                                              */ - creationDateTime?: Date; + jobName?: string; /** *

                                                              The status of the batch inference job. The status is one of the following values:

                                                              @@ -2599,9 +2642,24 @@ export interface BatchInferenceJobSummary { status?: string; /** - *

                                                              The name of the batch inference job.

                                                              + *

                                                              If the batch inference job failed, the reason for the failure.

                                                              */ - jobName?: string; + failureReason?: string; + + /** + *

                                                              The ARN of the solution version used by the batch inference job.

                                                              + */ + solutionVersionArn?: string; + + /** + *

                                                              The time at which the batch inference job was last updated.

                                                              + */ + lastUpdatedDateTime?: Date; + + /** + *

                                                              The time at which the batch inference job was created.

                                                              + */ + creationDateTime?: Date; } export namespace BatchInferenceJobSummary { @@ -2612,15 +2670,15 @@ export namespace BatchInferenceJobSummary { export interface ListBatchInferenceJobsResponse { /** - *

                                                              The token to use to retreive the next page of results. The value is null when - * there are no more results to return.

                                                              + *

                                                              A list containing information on each job that is returned.

                                                              */ - nextToken?: string; + batchInferenceJobs?: BatchInferenceJobSummary[]; /** - *

                                                              A list containing information on each job that is returned.

                                                              + *

                                                              The token to use to retreive the next page of results. The value is null when + * there are no more results to return.

                                                              */ - batchInferenceJobs?: BatchInferenceJobSummary[]; + nextToken?: string; } export namespace ListBatchInferenceJobsResponse { @@ -2630,11 +2688,6 @@ export namespace ListBatchInferenceJobsResponse { } export interface ListCampaignsRequest { - /** - *

                                                              The maximum number of campaigns to return.

                                                              - */ - maxResults?: number; - /** *

                                                              The Amazon Resource Name (ARN) of the solution to list the campaigns for. When * a solution is not specified, all the campaigns associated with the account are listed.

                                                              @@ -2646,6 +2699,11 @@ export interface ListCampaignsRequest { * the next set of campaigns (if they exist).

                                                              */ nextToken?: string; + + /** + *

                                                              The maximum number of campaigns to return.

                                                              + */ + maxResults?: number; } export namespace ListCampaignsRequest { @@ -2664,21 +2722,11 @@ export interface CampaignSummary { */ lastUpdatedDateTime?: Date; - /** - *

                                                              The Amazon Resource Name (ARN) of the campaign.

                                                              - */ - campaignArn?: string; - /** *

                                                              The name of the campaign.

                                                              */ name?: string; - /** - *

                                                              The date and time (in Unix time) that the campaign was created.

                                                              - */ - creationDateTime?: Date; - /** *

                                                              The status of the campaign.

                                                              *

                                                              A campaign can be in one of the following states:

                                                              @@ -2697,6 +2745,16 @@ export interface CampaignSummary { *

                                                              If a campaign fails, the reason behind the failure.

                                                              */ failureReason?: string; + + /** + *

                                                              The date and time (in Unix time) that the campaign was created.

                                                              + */ + creationDateTime?: Date; + + /** + *

                                                              The Amazon Resource Name (ARN) of the campaign.

                                                              + */ + campaignArn?: string; } export namespace CampaignSummary { @@ -2707,14 +2765,14 @@ export namespace CampaignSummary { export interface ListCampaignsResponse { /** - *

                                                              A token for getting the next set of campaigns (if they exist).

                                                              + *

                                                              A list of the campaigns.

                                                              */ - nextToken?: string; + campaigns?: CampaignSummary[]; /** - *

                                                              A list of the campaigns.

                                                              + *

                                                              A token for getting the next set of campaigns (if they exist).

                                                              */ - campaigns?: CampaignSummary[]; + nextToken?: string; } export namespace ListCampaignsResponse { @@ -2725,8 +2783,8 @@ export namespace ListCampaignsResponse { export interface ListDatasetGroupsRequest { /** - *

                                                              A token returned from the previous call to ListDatasetGroups for getting - * the next set of dataset groups (if they exist).

                                                              + *

                                                              A token returned from the previous call to ListDatasetGroups for getting the + * next set of dataset groups (if they exist).

                                                              */ nextToken?: string; @@ -2748,14 +2806,9 @@ export namespace ListDatasetGroupsRequest { */ export interface DatasetGroupSummary { /** - *

                                                              The Amazon Resource Name (ARN) of the dataset group.

                                                              - */ - datasetGroupArn?: string; - - /** - *

                                                              The name of the dataset group.

                                                              + *

                                                              The date and time (in Unix time) that the dataset group was last updated.

                                                              */ - name?: string; + lastUpdatedDateTime?: Date; /** *

                                                              If creating a dataset group fails, the reason behind the failure.

                                                              @@ -2763,14 +2816,14 @@ export interface DatasetGroupSummary { failureReason?: string; /** - *

                                                              The date and time (in Unix time) that the dataset group was last updated.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the dataset group.

                                                              */ - lastUpdatedDateTime?: Date; + datasetGroupArn?: string; /** - *

                                                              The date and time (in Unix time) that the dataset group was created.

                                                              + *

                                                              The name of the dataset group.

                                                              */ - creationDateTime?: Date; + name?: string; /** *

                                                              The status of the dataset group.

                                                              @@ -2785,6 +2838,11 @@ export interface DatasetGroupSummary { *
                                                            */ status?: string; + + /** + *

                                                            The date and time (in Unix time) that the dataset group was created.

                                                            + */ + creationDateTime?: Date; } export namespace DatasetGroupSummary { @@ -2795,14 +2853,14 @@ export namespace DatasetGroupSummary { export interface ListDatasetGroupsResponse { /** - *

                                                            The list of your dataset groups.

                                                            + *

                                                            A token for getting the next set of dataset groups (if they exist).

                                                            */ - datasetGroups?: DatasetGroupSummary[]; + nextToken?: string; /** - *

                                                            A token for getting the next set of dataset groups (if they exist).

                                                            + *

                                                            The list of your dataset groups.

                                                            */ - nextToken?: string; + datasetGroups?: DatasetGroupSummary[]; } export namespace ListDatasetGroupsResponse { @@ -2812,12 +2870,6 @@ export namespace ListDatasetGroupsResponse { } export interface ListDatasetImportJobsRequest { - /** - *

                                                            A token returned from the previous call to ListDatasetImportJobs for getting - * the next set of dataset import jobs (if they exist).

                                                            - */ - nextToken?: string; - /** *

                                                            The Amazon Resource Name (ARN) of the dataset to list the dataset import jobs for.

                                                            */ @@ -2827,6 +2879,12 @@ export interface ListDatasetImportJobsRequest { *

                                                            The maximum number of dataset import jobs to return.

                                                            */ maxResults?: number; + + /** + *

                                                            A token returned from the previous call to ListDatasetImportJobs for getting + * the next set of dataset import jobs (if they exist).

                                                            + */ + nextToken?: string; } export namespace ListDatasetImportJobsRequest { @@ -2841,14 +2899,14 @@ export namespace ListDatasetImportJobsRequest { */ export interface DatasetImportJobSummary { /** - *

                                                            The name of the dataset import job.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the dataset import job.

                                                            */ - jobName?: string; + datasetImportJobArn?: string; /** - *

                                                            If a dataset import job fails, the reason behind the failure.

                                                            + *

                                                            The date and time (in Unix time) that the dataset import job was created.

                                                            */ - failureReason?: string; + creationDateTime?: Date; /** *

                                                            The status of the dataset import job.

                                                            @@ -2862,19 +2920,19 @@ export interface DatasetImportJobSummary { status?: string; /** - *

                                                            The date and time (in Unix time) that the dataset import job was created.

                                                            + *

                                                            The name of the dataset import job.

                                                            */ - creationDateTime?: Date; + jobName?: string; /** - *

                                                            The Amazon Resource Name (ARN) of the dataset import job.

                                                            + *

                                                            The date and time (in Unix time) that the dataset was last updated.

                                                            */ - datasetImportJobArn?: string; + lastUpdatedDateTime?: Date; /** - *

                                                            The date and time (in Unix time) that the dataset was last updated.

                                                            + *

                                                            If a dataset import job fails, the reason behind the failure.

                                                            */ - lastUpdatedDateTime?: Date; + failureReason?: string; } export namespace DatasetImportJobSummary { @@ -2903,9 +2961,10 @@ export namespace ListDatasetImportJobsResponse { export interface ListDatasetsRequest { /** - *

                                                            The maximum number of datasets to return.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the dataset group that contains the datasets to + * list.

                                                            */ - maxResults?: number; + datasetGroupArn?: string; /** *

                                                            A token returned from the previous call to ListDatasetImportJobs for getting @@ -2914,10 +2973,9 @@ export interface ListDatasetsRequest { nextToken?: string; /** - *

                                                            The Amazon Resource Name (ARN) of the dataset group that contains the - * datasets to list.

                                                            + *

                                                            The maximum number of datasets to return.

                                                            */ - datasetGroupArn?: string; + maxResults?: number; } export namespace ListDatasetsRequest { @@ -2932,23 +2990,28 @@ export namespace ListDatasetsRequest { */ export interface DatasetSummary { /** - *

                                                            The dataset type. One of the following values:

                                                            + *

                                                            The Amazon Resource Name (ARN) of the dataset.

                                                            + */ + datasetArn?: string; + + /** + *

                                                            The name of the dataset.

                                                            + */ + name?: string; + + /** + *

                                                            The status of the dataset.

                                                            + *

                                                            A dataset can be in one of the following states:

                                                            *
                                                              *
                                                            • - *

                                                              Interactions

                                                              - *
                                                            • - *
                                                            • - *

                                                              Items

                                                              - *
                                                            • - *
                                                            • - *

                                                              Users

                                                              + *

                                                              CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

                                                              *
                                                            • *
                                                            • - *

                                                              Event-Interactions

                                                              + *

                                                              DELETE PENDING > DELETE IN_PROGRESS

                                                              *
                                                            • *
                                                            */ - datasetType?: string; + status?: string; /** *

                                                            The date and time (in Unix time) that the dataset was last updated.

                                                            @@ -2961,28 +3024,23 @@ export interface DatasetSummary { creationDateTime?: Date; /** - *

                                                            The status of the dataset.

                                                            - *

                                                            A dataset can be in one of the following states:

                                                            + *

                                                            The dataset type. One of the following values:

                                                            *
                                                              *
                                                            • - *

                                                              CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

                                                              + *

                                                              Interactions

                                                              *
                                                            • *
                                                            • - *

                                                              DELETE PENDING > DELETE IN_PROGRESS

                                                              + *

                                                              Items

                                                              + *
                                                            • + *
                                                            • + *

                                                              Users

                                                              + *
                                                            • + *
                                                            • + *

                                                              Event-Interactions

                                                              *
                                                            • *
                                                            */ - status?: string; - - /** - *

                                                            The name of the dataset.

                                                            - */ - name?: string; - - /** - *

                                                            The Amazon Resource Name (ARN) of the dataset.

                                                            - */ - datasetArn?: string; + datasetType?: string; } export namespace DatasetSummary { @@ -2993,14 +3051,15 @@ export namespace DatasetSummary { export interface ListDatasetsResponse { /** - *

                                                            A token for getting the next set of datasets (if they exist).

                                                            + *

                                                            An array of Dataset objects. Each object provides metadata + * information.

                                                            */ - nextToken?: string; + datasets?: DatasetSummary[]; /** - *

                                                            An array of Dataset objects. Each object provides metadata information.

                                                            + *

                                                            A token for getting the next set of datasets (if they exist).

                                                            */ - datasets?: DatasetSummary[]; + nextToken?: string; } export namespace ListDatasetsResponse { @@ -3011,9 +3070,10 @@ export namespace ListDatasetsResponse { export interface ListEventTrackersRequest { /** - *

                                                            The maximum number of event trackers to return.

                                                            + *

                                                            A token returned from the previous call to ListEventTrackers for getting + * the next set of event trackers (if they exist).

                                                            */ - maxResults?: number; + nextToken?: string; /** *

                                                            The ARN of a dataset group used to filter the response.

                                                            @@ -3021,10 +3081,9 @@ export interface ListEventTrackersRequest { datasetGroupArn?: string; /** - *

                                                            A token returned from the previous call to ListEventTrackers for getting - * the next set of event trackers (if they exist).

                                                            + *

                                                            The maximum number of event trackers to return.

                                                            */ - nextToken?: string; + maxResults?: number; } export namespace ListEventTrackersRequest { @@ -3049,9 +3108,9 @@ export interface EventTrackerSummary { creationDateTime?: Date; /** - *

                                                            The Amazon Resource Name (ARN) of the event tracker.

                                                            + *

                                                            The name of the event tracker.

                                                            */ - eventTrackerArn?: string; + name?: string; /** *

                                                            The status of the event tracker.

                                                            @@ -3068,9 +3127,9 @@ export interface EventTrackerSummary { status?: string; /** - *

                                                            The name of the event tracker.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the event tracker.

                                                            */ - name?: string; + eventTrackerArn?: string; } export namespace EventTrackerSummary { @@ -3099,9 +3158,9 @@ export namespace ListEventTrackersResponse { export interface ListFiltersRequest { /** - *

                                                            The maximum number of filters to return.

                                                            + *

                                                            The ARN of the dataset group that contains the filters.

                                                            */ - maxResults?: number; + datasetGroupArn?: string; /** *

                                                            A token returned from the previous call to ListFilters for getting the @@ -3110,9 +3169,9 @@ export interface ListFiltersRequest { nextToken?: string; /** - *

                                                            The ARN of the dataset group that contains the filters.

                                                            + *

                                                            The maximum number of filters to return.

                                                            */ - datasetGroupArn?: string; + maxResults?: number; } export namespace ListFiltersRequest { @@ -3126,39 +3185,39 @@ export namespace ListFiltersRequest { */ export interface FilterSummary { /** - *

                                                            The name of the filter.

                                                            + *

                                                            If the filter failed, the reason for the failure.

                                                            */ - name?: string; + failureReason?: string; /** - *

                                                            The ARN of the dataset group to which the filter belongs.

                                                            + *

                                                            The time at which the filter was last updated.

                                                            */ - datasetGroupArn?: string; + lastUpdatedDateTime?: Date; /** - *

                                                            The time at which the filter was last updated.

                                                            + *

                                                            The ARN of the filter.

                                                            */ - lastUpdatedDateTime?: Date; + filterArn?: string; /** - *

                                                            The status of the filter.

                                                            + *

                                                            The ARN of the dataset group to which the filter belongs.

                                                            */ - status?: string; + datasetGroupArn?: string; /** - *

                                                            The time at which the filter was created.

                                                            + *

                                                            The name of the filter.

                                                            */ - creationDateTime?: Date; + name?: string; /** - *

                                                            The ARN of the filter.

                                                            + *

                                                            The status of the filter.

                                                            */ - filterArn?: string; + status?: string; /** - *

                                                            If the filter failed, the reason for the failure.

                                                            + *

                                                            The time at which the filter was created.

                                                            */ - failureReason?: string; + creationDateTime?: Date; } export namespace FilterSummary { @@ -3196,15 +3255,15 @@ export interface ListRecipesRequest { recipeProvider?: RecipeProvider | string; /** - *

                                                            A token returned from the previous call to ListRecipes for getting - * the next set of recipes (if they exist).

                                                            + *

                                                            The maximum number of recipes to return.

                                                            */ - nextToken?: string; + maxResults?: number; /** - *

                                                            The maximum number of recipes to return.

                                                            + *

                                                            A token returned from the previous call to ListRecipes for getting + * the next set of recipes (if they exist).

                                                            */ - maxResults?: number; + nextToken?: string; } export namespace ListRecipesRequest { @@ -3219,14 +3278,14 @@ export namespace ListRecipesRequest { */ export interface RecipeSummary { /** - *

                                                            The date and time (in Unix time) that the recipe was created.

                                                            + *

                                                            The status of the recipe.

                                                            */ - creationDateTime?: Date; + status?: string; /** - *

                                                            The status of the recipe.

                                                            + *

                                                            The date and time (in Unix time) that the recipe was created.

                                                            */ - status?: string; + creationDateTime?: Date; /** *

                                                            The date and time (in Unix time) that the recipe was last updated.

                                                            @@ -3234,14 +3293,14 @@ export interface RecipeSummary { lastUpdatedDateTime?: Date; /** - *

                                                            The Amazon Resource Name (ARN) of the recipe.

                                                            + *

                                                            The name of the recipe.

                                                            */ - recipeArn?: string; + name?: string; /** - *

                                                            The name of the recipe.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the recipe.

                                                            */ - name?: string; + recipeArn?: string; } export namespace RecipeSummary { @@ -3269,16 +3328,16 @@ export namespace ListRecipesResponse { } export interface ListSchemasRequest { - /** - *

                                                            The maximum number of schemas to return.

                                                            - */ - maxResults?: number; - /** *

                                                            A token returned from the previous call to ListSchemas for getting * the next set of schemas (if they exist).

                                                            */ nextToken?: string; + + /** + *

                                                            The maximum number of schemas to return.

                                                            + */ + maxResults?: number; } export namespace ListSchemasRequest { @@ -3298,14 +3357,14 @@ export interface DatasetSchemaSummary { name?: string; /** - *

                                                            The date and time (in Unix time) that the schema was last updated.

                                                            + *

                                                            The date and time (in Unix time) that the schema was created.

                                                            */ - lastUpdatedDateTime?: Date; + creationDateTime?: Date; /** - *

                                                            The date and time (in Unix time) that the schema was created.

                                                            + *

                                                            The date and time (in Unix time) that the schema was last updated.

                                                            */ - creationDateTime?: Date; + lastUpdatedDateTime?: Date; /** *

                                                            The Amazon Resource Name (ARN) of the schema.

                                                            @@ -3321,14 +3380,14 @@ export namespace DatasetSchemaSummary { export interface ListSchemasResponse { /** - *

                                                            A list of schemas.

                                                            + *

                                                            A token used to get the next set of schemas (if they exist).

                                                            */ - schemas?: DatasetSchemaSummary[]; + nextToken?: string; /** - *

                                                            A token used to get the next set of schemas (if they exist).

                                                            + *

                                                            A list of schemas.

                                                            */ - nextToken?: string; + schemas?: DatasetSchemaSummary[]; } export namespace ListSchemasResponse { @@ -3372,9 +3431,14 @@ export interface SolutionSummary { solutionArn?: string; /** - *

                                                            The date and time (in Unix time) that the solution was last updated.

                                                            + *

                                                            The name of the solution.

                                                            */ - lastUpdatedDateTime?: Date; + name?: string; + + /** + *

                                                            The date and time (in Unix time) that the solution was created.

                                                            + */ + creationDateTime?: Date; /** *

                                                            The status of the solution.

                                                            @@ -3391,14 +3455,9 @@ export interface SolutionSummary { status?: string; /** - *

                                                            The date and time (in Unix time) that the solution was created.

                                                            - */ - creationDateTime?: Date; - - /** - *

                                                            The name of the solution.

                                                            + *

                                                            The date and time (in Unix time) that the solution was last updated.

                                                            */ - name?: string; + lastUpdatedDateTime?: Date; } export namespace SolutionSummary { @@ -3426,12 +3485,6 @@ export namespace ListSolutionsResponse { } export interface ListSolutionVersionsRequest { - /** - *

                                                            A token returned from the previous call to ListSolutionVersions for getting - * the next set of solution versions (if they exist).

                                                            - */ - nextToken?: string; - /** *

                                                            The maximum number of solution versions to return.

                                                            */ @@ -3441,6 +3494,12 @@ export interface ListSolutionVersionsRequest { *

                                                            The Amazon Resource Name (ARN) of the solution.

                                                            */ solutionArn?: string; + + /** + *

                                                            A token returned from the previous call to ListSolutionVersions for getting + * the next set of solution versions (if they exist).

                                                            + */ + nextToken?: string; } export namespace ListSolutionVersionsRequest { @@ -3451,14 +3510,14 @@ export namespace ListSolutionVersionsRequest { export interface ListSolutionVersionsResponse { /** - *

                                                            A token for getting the next set of solution versions (if they exist).

                                                            + *

                                                            A list of solution versions describing the version properties.

                                                            */ - nextToken?: string; + solutionVersions?: SolutionVersionSummary[]; /** - *

                                                            A list of solution versions describing the version properties.

                                                            + *

                                                            A token for getting the next set of solution versions (if they exist).

                                                            */ - solutionVersions?: SolutionVersionSummary[]; + nextToken?: string; } export namespace ListSolutionVersionsResponse { @@ -3469,9 +3528,10 @@ export namespace ListSolutionVersionsResponse { export interface UpdateCampaignRequest { /** - *

                                                            The ARN of a new solution version to deploy.

                                                            + *

                                                            Specifies the requested minimum provisioned transactions (recommendations) per second that + * Amazon Personalize will support.

                                                            */ - solutionVersionArn?: string; + minProvisionedTPS?: number; /** *

                                                            The Amazon Resource Name (ARN) of the campaign.

                                                            @@ -3479,10 +3539,14 @@ export interface UpdateCampaignRequest { campaignArn: string | undefined; /** - *

                                                            Specifies the requested minimum provisioned transactions (recommendations) per second that - * Amazon Personalize will support.

                                                            + *

                                                            The configuration details of a campaign.

                                                            */ - minProvisionedTPS?: number; + campaignConfig?: CampaignConfig; + + /** + *

                                                            The ARN of a new solution version to deploy.

                                                            + */ + solutionVersionArn?: string; } export namespace UpdateCampaignRequest { diff --git a/clients/client-personalize/protocols/Aws_json1_1.ts b/clients/client-personalize/protocols/Aws_json1_1.ts index f796932721c6..9934bd53da90 100644 --- a/clients/client-personalize/protocols/Aws_json1_1.ts +++ b/clients/client-personalize/protocols/Aws_json1_1.ts @@ -83,10 +83,12 @@ import { AutoMLConfig, AutoMLResult, BatchInferenceJob, + BatchInferenceJobConfig, BatchInferenceJobInput, BatchInferenceJobOutput, BatchInferenceJobSummary, Campaign, + CampaignConfig, CampaignSummary, CampaignUpdateSummary, CategoricalHyperParameterRange, @@ -1559,6 +1561,14 @@ const deserializeAws_json1_1CreateSolutionVersionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "LimitExceededException": + case "com.amazonaws.personalize#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceInUseException": case "com.amazonaws.personalize#ResourceInUseException": response = { @@ -1899,6 +1909,14 @@ const deserializeAws_json1_1DeleteFilterCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceInUseException": + case "com.amazonaws.personalize#ResourceInUseException": + response = { + ...(await deserializeAws_json1_1ResourceInUseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.personalize#ResourceNotFoundException": response = { @@ -3799,6 +3817,14 @@ const serializeAws_json1_1AutoMLConfig = (input: AutoMLConfig, context: __SerdeC }; }; +const serializeAws_json1_1BatchInferenceJobConfig = (input: BatchInferenceJobConfig, context: __SerdeContext): any => { + return { + ...(input.itemExplorationConfig !== undefined && { + itemExplorationConfig: serializeAws_json1_1HyperParameters(input.itemExplorationConfig, context), + }), + }; +}; + const serializeAws_json1_1BatchInferenceJobInput = (input: BatchInferenceJobInput, context: __SerdeContext): any => { return { ...(input.s3DataSource !== undefined && { @@ -3815,6 +3841,14 @@ const serializeAws_json1_1BatchInferenceJobOutput = (input: BatchInferenceJobOut }; }; +const serializeAws_json1_1CampaignConfig = (input: CampaignConfig, context: __SerdeContext): any => { + return { + ...(input.itemExplorationConfig !== undefined && { + itemExplorationConfig: serializeAws_json1_1HyperParameters(input.itemExplorationConfig, context), + }), + }; +}; + const serializeAws_json1_1CategoricalHyperParameterRange = ( input: CategoricalHyperParameterRange, context: __SerdeContext @@ -3859,6 +3893,9 @@ const serializeAws_json1_1CreateBatchInferenceJobRequest = ( context: __SerdeContext ): any => { return { + ...(input.batchInferenceJobConfig !== undefined && { + batchInferenceJobConfig: serializeAws_json1_1BatchInferenceJobConfig(input.batchInferenceJobConfig, context), + }), ...(input.filterArn !== undefined && { filterArn: input.filterArn }), ...(input.jobInput !== undefined && { jobInput: serializeAws_json1_1BatchInferenceJobInput(input.jobInput, context), @@ -3875,6 +3912,9 @@ const serializeAws_json1_1CreateBatchInferenceJobRequest = ( const serializeAws_json1_1CreateCampaignRequest = (input: CreateCampaignRequest, context: __SerdeContext): any => { return { + ...(input.campaignConfig !== undefined && { + campaignConfig: serializeAws_json1_1CampaignConfig(input.campaignConfig, context), + }), ...(input.minProvisionedTPS !== undefined && { minProvisionedTPS: input.minProvisionedTPS }), ...(input.name !== undefined && { name: input.name }), ...(input.solutionVersionArn !== undefined && { solutionVersionArn: input.solutionVersionArn }), @@ -4350,6 +4390,9 @@ const serializeAws_json1_1SolutionConfig = (input: SolutionConfig, context: __Se const serializeAws_json1_1UpdateCampaignRequest = (input: UpdateCampaignRequest, context: __SerdeContext): any => { return { ...(input.campaignArn !== undefined && { campaignArn: input.campaignArn }), + ...(input.campaignConfig !== undefined && { + campaignConfig: serializeAws_json1_1CampaignConfig(input.campaignConfig, context), + }), ...(input.minProvisionedTPS !== undefined && { minProvisionedTPS: input.minProvisionedTPS }), ...(input.solutionVersionArn !== undefined && { solutionVersionArn: input.solutionVersionArn }), }; @@ -4425,6 +4468,10 @@ const deserializeAws_json1_1BatchInferenceJob = (output: any, context: __SerdeCo output.batchInferenceJobArn !== undefined && output.batchInferenceJobArn !== null ? output.batchInferenceJobArn : undefined, + batchInferenceJobConfig: + output.batchInferenceJobConfig !== undefined && output.batchInferenceJobConfig !== null + ? deserializeAws_json1_1BatchInferenceJobConfig(output.batchInferenceJobConfig, context) + : undefined, creationDateTime: output.creationDateTime !== undefined && output.creationDateTime !== null ? new Date(Math.round(output.creationDateTime * 1000)) @@ -4455,6 +4502,18 @@ const deserializeAws_json1_1BatchInferenceJob = (output: any, context: __SerdeCo } as any; }; +const deserializeAws_json1_1BatchInferenceJobConfig = ( + output: any, + context: __SerdeContext +): BatchInferenceJobConfig => { + return { + itemExplorationConfig: + output.itemExplorationConfig !== undefined && output.itemExplorationConfig !== null + ? deserializeAws_json1_1HyperParameters(output.itemExplorationConfig, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1BatchInferenceJobInput = (output: any, context: __SerdeContext): BatchInferenceJobInput => { return { s3DataSource: @@ -4511,6 +4570,10 @@ const deserializeAws_json1_1BatchInferenceJobSummary = ( const deserializeAws_json1_1Campaign = (output: any, context: __SerdeContext): Campaign => { return { campaignArn: output.campaignArn !== undefined && output.campaignArn !== null ? output.campaignArn : undefined, + campaignConfig: + output.campaignConfig !== undefined && output.campaignConfig !== null + ? deserializeAws_json1_1CampaignConfig(output.campaignConfig, context) + : undefined, creationDateTime: output.creationDateTime !== undefined && output.creationDateTime !== null ? new Date(Math.round(output.creationDateTime * 1000)) @@ -4538,6 +4601,15 @@ const deserializeAws_json1_1Campaign = (output: any, context: __SerdeContext): C } as any; }; +const deserializeAws_json1_1CampaignConfig = (output: any, context: __SerdeContext): CampaignConfig => { + return { + itemExplorationConfig: + output.itemExplorationConfig !== undefined && output.itemExplorationConfig !== null + ? deserializeAws_json1_1HyperParameters(output.itemExplorationConfig, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1Campaigns = (output: any, context: __SerdeContext): CampaignSummary[] => { return (output || []).map((entry: any) => deserializeAws_json1_1CampaignSummary(entry, context)); }; @@ -4562,6 +4634,10 @@ const deserializeAws_json1_1CampaignSummary = (output: any, context: __SerdeCont const deserializeAws_json1_1CampaignUpdateSummary = (output: any, context: __SerdeContext): CampaignUpdateSummary => { return { + campaignConfig: + output.campaignConfig !== undefined && output.campaignConfig !== null + ? deserializeAws_json1_1CampaignConfig(output.campaignConfig, context) + : undefined, creationDateTime: output.creationDateTime !== undefined && output.creationDateTime !== null ? new Date(Math.round(output.creationDateTime * 1000)) diff --git a/clients/client-pi/models/models_0.ts b/clients/client-pi/models/models_0.ts index 9244071b3f9c..4d171577301a 100644 --- a/clients/client-pi/models/models_0.ts +++ b/clients/client-pi/models/models_0.ts @@ -29,6 +29,49 @@ export namespace DataPoint { * db.sql.tokenized_id.

                                                            */ export interface DimensionGroup { + /** + *

                                                            The maximum number of items to fetch for this dimension group.

                                                            + */ + Limit?: number; + + /** + *

                                                            The name of the dimension group. Valid values are:

                                                            + * + *
                                                              + *
                                                            • + *

                                                              + * db.user + *

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * db.host + *

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * db.sql + *

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * db.sql_tokenized + *

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * db.wait_event + *

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * db.wait_event_type + *

                                                              + *
                                                            • + *
                                                            + */ + Group: string | undefined; + /** *

                                                            A list of specific dimensions from a dimension group. If this parameter is not present, * then it signifies that all of the dimensions in the group were requested, or are present in @@ -80,49 +123,6 @@ export interface DimensionGroup { *

                                                          */ Dimensions?: string[]; - - /** - *

                                                          The name of the dimension group. Valid values are:

                                                          - * - *
                                                            - *
                                                          • - *

                                                            - * db.user - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * db.host - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * db.sql - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * db.sql_tokenized - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * db.wait_event - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * db.wait_event_type - *

                                                            - *
                                                          • - *
                                                          - */ - Group: string | undefined; - - /** - *

                                                          The maximum number of items to fetch for this dimension group.

                                                          - */ - Limit?: number; } export namespace DimensionGroup { @@ -137,22 +137,20 @@ export enum ServiceType { export interface DescribeDimensionKeysRequest { /** - *

                                                          An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from - * this data source.

                                                          - *

                                                          To use an Amazon RDS instance as a data source, you specify its - * DbiResourceId value - for example: - * db-FAIHNTYBKTGAUSUZQYPDS2GW4A - *

                                                          + *

                                                          The date and time specifying the beginning of the requested time series data. + * You can't specify a StartTime that's earlier than 7 days ago. The value + * specified is inclusive - data points equal to or greater than + * StartTime will be returned.

                                                          + *

                                                          The value for StartTime must be earlier than the value for + * EndTime.

                                                          */ - Identifier: string | undefined; + StartTime: Date | undefined; /** - *

                                                          A specification for how to aggregate the data points from a query result. You must - * specify a valid dimension group. Performance Insights will return all of the dimensions within that group, - * unless you provide the names of specific dimensions within that group. You can also request - * that Performance Insights return a limited number of values for a dimension.

                                                          + *

                                                          For each dimension specified in + * GroupBy, specify a secondary dimension to further subdivide the partition keys in the response.

                                                          */ - GroupBy: DimensionGroup | undefined; + PartitionBy?: DimensionGroup; /** *

                                                          The name of a Performance Insights metric to be measured.

                                                          @@ -173,6 +171,52 @@ export interface DescribeDimensionKeysRequest { */ Metric: string | undefined; + /** + *

                                                          The AWS service for which Performance Insights will return metrics. The only valid value for + * ServiceType is: RDS + *

                                                          + */ + ServiceType: ServiceType | string | undefined; + + /** + *

                                                          The date and time specifying the end of the requested time series data. The value + * specified is exclusive - data points less than (but not equal to) + * EndTime will be returned.

                                                          + *

                                                          The value for EndTime must be later than the value for + * StartTime.

                                                          + */ + EndTime: Date | undefined; + + /** + *

                                                          The maximum number of items to return in the response. + * If more items exist than the specified MaxRecords value, a pagination + * token is included in the response so that the remaining + * results can be retrieved. + *

                                                          + */ + MaxResults?: number; + + /** + *

                                                          An optional pagination token provided by a previous request. If + * this parameter is specified, the response includes only records beyond the token, up to the + * value specified by MaxRecords.

                                                          + */ + NextToken?: string; + + /** + *

                                                          One or more filters to apply in the request. Restrictions:

                                                          + *
                                                            + *
                                                          • + *

                                                            Any number of filters by the same dimension, as specified in the GroupBy or + * Partition parameters.

                                                            + *
                                                          • + *
                                                          • + *

                                                            A single filter for any other dimension in this dimension group.

                                                            + *
                                                          • + *
                                                          + */ + Filter?: { [key: string]: string }; + /** *

                                                          The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as * one second, or as long as one day (86400 seconds). Valid values are:

                                                          @@ -206,66 +250,22 @@ export interface DescribeDimensionKeysRequest { PeriodInSeconds?: number; /** - *

                                                          The date and time specifying the beginning of the requested time series data. - * You can't specify a StartTime that's earlier than 7 days ago. The value - * specified is inclusive - data points equal to or greater than - * StartTime will be returned.

                                                          - *

                                                          The value for StartTime must be earlier than the value for - * EndTime.

                                                          - */ - StartTime: Date | undefined; - - /** - *

                                                          An optional pagination token provided by a previous request. If - * this parameter is specified, the response includes only records beyond the token, up to the - * value specified by MaxRecords.

                                                          - */ - NextToken?: string; - - /** - *

                                                          The maximum number of items to return in the response. - * If more items exist than the specified MaxRecords value, a pagination - * token is included in the response so that the remaining - * results can be retrieved. - *

                                                          + *

                                                          A specification for how to aggregate the data points from a query result. You must + * specify a valid dimension group. Performance Insights will return all of the dimensions within that group, + * unless you provide the names of specific dimensions within that group. You can also request + * that Performance Insights return a limited number of values for a dimension.

                                                          */ - MaxResults?: number; + GroupBy: DimensionGroup | undefined; /** - *

                                                          The AWS service for which Performance Insights will return metrics. The only valid value for - * ServiceType is: RDS + *

                                                          An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from + * this data source.

                                                          + *

                                                          To use an Amazon RDS instance as a data source, you specify its + * DbiResourceId value - for example: + * db-FAIHNTYBKTGAUSUZQYPDS2GW4A *

                                                          */ - ServiceType: ServiceType | string | undefined; - - /** - *

                                                          One or more filters to apply in the request. Restrictions:

                                                          - *
                                                            - *
                                                          • - *

                                                            Any number of filters by the same dimension, as specified in the GroupBy or - * Partition parameters.

                                                            - *
                                                          • - *
                                                          • - *

                                                            A single filter for any other dimension in this dimension group.

                                                            - *
                                                          • - *
                                                          - */ - Filter?: { [key: string]: string }; - - /** - *

                                                          For each dimension specified in - * GroupBy, specify a secondary dimension to further subdivide the partition keys in the response.

                                                          - */ - PartitionBy?: DimensionGroup; - - /** - *

                                                          The date and time specifying the end of the requested time series data. The value - * specified is exclusive - data points less than (but not equal to) - * EndTime will be returned.

                                                          - *

                                                          The value for EndTime must be later than the value for - * StartTime.

                                                          - */ - EndTime: Date | undefined; + Identifier: string | undefined; } export namespace DescribeDimensionKeysRequest { @@ -280,14 +280,14 @@ export namespace DescribeDimensionKeysRequest { */ export interface DimensionKeyDescription { /** - *

                                                          If PartitionBy was specified, PartitionKeys contains the dimensions that were.

                                                          + *

                                                          The aggregated metric value for the dimension(s), over the requested time range.

                                                          */ - Partitions?: number[]; + Total?: number; /** - *

                                                          The aggregated metric value for the dimension(s), over the requested time range.

                                                          + *

                                                          If PartitionBy was specified, PartitionKeys contains the dimensions that were.

                                                          */ - Total?: number; + Partitions?: number[]; /** *

                                                          A map of name-value pairs for the dimensions in the group.

                                                          @@ -320,6 +320,18 @@ export namespace ResponsePartitionKey { } export interface DescribeDimensionKeysResponse { + /** + *

                                                          An optional pagination token provided by a previous request. If + * this parameter is specified, the response includes only records beyond the token, up to the + * value specified by MaxRecords.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The dimension keys that were requested.

                                                          + */ + Keys?: DimensionKeyDescription[]; + /** *

                                                          The end time for the returned dimension keys, after alignment to a granular boundary (as * specified by PeriodInSeconds). AlignedEndTime will be greater than @@ -334,18 +346,6 @@ export interface DescribeDimensionKeysResponse { */ AlignedStartTime?: Date; - /** - *

                                                          An optional pagination token provided by a previous request. If - * this parameter is specified, the response includes only records beyond the token, up to the - * value specified by MaxRecords.

                                                          - */ - NextToken?: string; - - /** - *

                                                          The dimension keys that were requested.

                                                          - */ - Keys?: DimensionKeyDescription[]; - /** *

                                                          If PartitionBy was present in the request, PartitionKeys contains the breakdown of dimension keys by the specified partitions.

                                                          */ @@ -410,14 +410,6 @@ export namespace NotAuthorizedException { * GroupBy), and return only those data points that match your criteria (Filter).

                                                          */ export interface MetricQuery { - /** - *

                                                          A specification for how to aggregate the data points from a query result. You must - * specify a valid dimension group. Performance Insights will return all of the dimensions within that group, - * unless you provide the names of specific dimensions within that group. You can also request - * that Performance Insights return a limited number of values for a dimension.

                                                          - */ - GroupBy?: DimensionGroup; - /** *

                                                          The name of a Performance Insights metric to be measured.

                                                          *

                                                          Valid values for Metric are:

                                                          @@ -437,6 +429,14 @@ export interface MetricQuery { */ Metric: string | undefined; + /** + *

                                                          A specification for how to aggregate the data points from a query result. You must + * specify a valid dimension group. Performance Insights will return all of the dimensions within that group, + * unless you provide the names of specific dimensions within that group. You can also request + * that Performance Insights return a limited number of values for a dimension.

                                                          + */ + GroupBy?: DimensionGroup; + /** *

                                                          One or more filters to apply in the request. Restrictions:

                                                          *
                                                            @@ -458,6 +458,51 @@ export namespace MetricQuery { } export interface GetResourceMetricsRequest { + /** + *

                                                            An optional pagination token provided by a previous request. If + * this parameter is specified, the response includes only records beyond the token, up to the + * value specified by MaxRecords.

                                                            + */ + NextToken?: string; + + /** + *

                                                            An array of one or more queries to perform. Each query must specify a Performance Insights metric, and + * can optionally specify aggregation and filtering criteria.

                                                            + */ + MetricQueries: MetricQuery[] | undefined; + + /** + *

                                                            The date and time specifying the beginning of the requested time series data. You can't + * specify a StartTime that's earlier than 7 days ago. The value specified is + * inclusive - data points equal to or greater than StartTime + * will be returned.

                                                            + *

                                                            The value for StartTime must be earlier than the value for EndTime.

                                                            + */ + StartTime: Date | undefined; + + /** + *

                                                            The AWS service for which Performance Insights will return metrics. The only valid value for + * ServiceType is: RDS + *

                                                            + */ + ServiceType: ServiceType | string | undefined; + + /** + *

                                                            The date and time specifiying the end of the requested time series data. The value specified is + * exclusive - data points less than (but not equal to) EndTime will be returned.

                                                            + *

                                                            The value for EndTime must be later than the value for StartTime.

                                                            + */ + EndTime: Date | undefined; + + /** + *

                                                            The maximum number of items to return in the response. + * If more items exist than the specified MaxRecords value, a pagination + * token is included in the response so that the remaining + * results can be retrieved. + *

                                                            + */ + MaxResults?: number; + /** *

                                                            The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as * one second, or as long as one day (86400 seconds). Valid values are:

                                                            @@ -490,51 +535,6 @@ export interface GetResourceMetricsRequest { */ PeriodInSeconds?: number; - /** - *

                                                            The maximum number of items to return in the response. - * If more items exist than the specified MaxRecords value, a pagination - * token is included in the response so that the remaining - * results can be retrieved. - *

                                                            - */ - MaxResults?: number; - - /** - *

                                                            The AWS service for which Performance Insights will return metrics. The only valid value for - * ServiceType is: RDS - *

                                                            - */ - ServiceType: ServiceType | string | undefined; - - /** - *

                                                            The date and time specifying the beginning of the requested time series data. You can't - * specify a StartTime that's earlier than 7 days ago. The value specified is - * inclusive - data points equal to or greater than StartTime - * will be returned.

                                                            - *

                                                            The value for StartTime must be earlier than the value for EndTime.

                                                            - */ - StartTime: Date | undefined; - - /** - *

                                                            An optional pagination token provided by a previous request. If - * this parameter is specified, the response includes only records beyond the token, up to the - * value specified by MaxRecords.

                                                            - */ - NextToken?: string; - - /** - *

                                                            An array of one or more queries to perform. Each query must specify a Performance Insights metric, and - * can optionally specify aggregation and filtering criteria.

                                                            - */ - MetricQueries: MetricQuery[] | undefined; - - /** - *

                                                            The date and time specifiying the end of the requested time series data. The value specified is - * exclusive - data points less than (but not equal to) EndTime will be returned.

                                                            - *

                                                            The value for EndTime must be later than the value for StartTime.

                                                            - */ - EndTime: Date | undefined; - /** *

                                                            An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from * this data source.

                                                            @@ -556,6 +556,11 @@ export namespace GetResourceMetricsRequest { *

                                                            An object describing a Performance Insights metric and one or more dimensions for that metric.

                                                            */ export interface ResponseResourceMetricKey { + /** + *

                                                            The valid dimensions for the metric.

                                                            + */ + Dimensions?: { [key: string]: string }; + /** *

                                                            The name of a Performance Insights metric to be measured.

                                                            *

                                                            Valid values for Metric are:

                                                            @@ -574,11 +579,6 @@ export interface ResponseResourceMetricKey { *
                                                          */ Metric: string | undefined; - - /** - *

                                                          The valid dimensions for the metric.

                                                          - */ - Dimensions?: { [key: string]: string }; } export namespace ResponseResourceMetricKey { @@ -593,14 +593,14 @@ export namespace ResponseResourceMetricKey { */ export interface MetricKeyDataPoints { /** - *

                                                          The dimension(s) to which the data points apply.

                                                          + *

                                                          An array of timestamp-value pairs, representing measurements over a period of time.

                                                          */ - Key?: ResponseResourceMetricKey; + DataPoints?: DataPoint[]; /** - *

                                                          An array of timestamp-value pairs, representing measurements over a period of time.

                                                          + *

                                                          The dimension(s) to which the data points apply.

                                                          */ - DataPoints?: DataPoint[]; + Key?: ResponseResourceMetricKey; } export namespace MetricKeyDataPoints { @@ -611,16 +611,18 @@ export namespace MetricKeyDataPoints { export interface GetResourceMetricsResponse { /** - *

                                                          An optional pagination token provided by a previous request. If - * this parameter is specified, the response includes only records beyond the token, up to the - * value specified by MaxRecords.

                                                          + *

                                                          The end time for the returned metrics, after alignment to a granular boundary (as + * specified by PeriodInSeconds). AlignedEndTime will be greater than + * or equal to the value of the user-specified Endtime.

                                                          */ - NextToken?: string; + AlignedEndTime?: Date; /** - *

                                                          An array of metric results,, where each array element contains all of the data points for a particular dimension.

                                                          + *

                                                          The start time for the returned metrics, after alignment to a granular boundary (as + * specified by PeriodInSeconds). AlignedStartTime will be less than or + * equal to the value of the user-specified StartTime.

                                                          */ - MetricList?: MetricKeyDataPoints[]; + AlignedStartTime?: Date; /** *

                                                          An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from @@ -633,18 +635,16 @@ export interface GetResourceMetricsResponse { Identifier?: string; /** - *

                                                          The start time for the returned metrics, after alignment to a granular boundary (as - * specified by PeriodInSeconds). AlignedStartTime will be less than or - * equal to the value of the user-specified StartTime.

                                                          + *

                                                          An array of metric results,, where each array element contains all of the data points for a particular dimension.

                                                          */ - AlignedStartTime?: Date; + MetricList?: MetricKeyDataPoints[]; /** - *

                                                          The end time for the returned metrics, after alignment to a granular boundary (as - * specified by PeriodInSeconds). AlignedEndTime will be greater than - * or equal to the value of the user-specified Endtime.

                                                          + *

                                                          An optional pagination token provided by a previous request. If + * this parameter is specified, the response includes only records beyond the token, up to the + * value specified by MaxRecords.

                                                          */ - AlignedEndTime?: Date; + NextToken?: string; } export namespace GetResourceMetricsResponse { diff --git a/clients/client-pinpoint-email/models/models_0.ts b/clients/client-pinpoint-email/models/models_0.ts index abe8d2fe1efa..182d087da739 100644 --- a/clients/client-pinpoint-email/models/models_0.ts +++ b/clients/client-pinpoint-email/models/models_0.ts @@ -238,10 +238,10 @@ export interface CreateConfigurationSetRequest { Tags?: Tag[]; /** - *

                                                          An object that defines whether or not Amazon Pinpoint collects reputation metrics for the emails - * that you send that use the configuration set.

                                                          + *

                                                          An object that defines the open and click tracking options for emails that you send + * using the configuration set.

                                                          */ - ReputationOptions?: ReputationOptions; + TrackingOptions?: TrackingOptions; /** *

                                                          The name of the configuration set.

                                                          @@ -249,10 +249,10 @@ export interface CreateConfigurationSetRequest { ConfigurationSetName: string | undefined; /** - *

                                                          An object that defines the open and click tracking options for emails that you send - * using the configuration set.

                                                          + *

                                                          An object that defines whether or not Amazon Pinpoint collects reputation metrics for the emails + * that you send that use the configuration set.

                                                          */ - TrackingOptions?: TrackingOptions; + ReputationOptions?: ReputationOptions; } export namespace CreateConfigurationSetRequest { @@ -345,6 +345,15 @@ export interface CloudWatchDimensionConfiguration { */ DefaultDimensionValue: string | undefined; + /** + *

                                                          The location where Amazon Pinpoint finds the value of a dimension to publish to Amazon CloudWatch. If you + * want Amazon Pinpoint to use the message tags that you specify using an X-SES-MESSAGE-TAGS header + * or a parameter to the SendEmail/SendRawEmail API, choose messageTag. If you + * want Amazon Pinpoint to use your own email headers, choose emailHeader. If you want + * Amazon Pinpoint to use link tags, choose linkTags.

                                                          + */ + DimensionValueSource: DimensionValueSource | string | undefined; + /** *

                                                          The name of an Amazon CloudWatch dimension associated with an email sending metric. The name has to * meet the following criteria:

                                                          @@ -359,15 +368,6 @@ export interface CloudWatchDimensionConfiguration { *
                                                        */ DimensionName: string | undefined; - - /** - *

                                                        The location where Amazon Pinpoint finds the value of a dimension to publish to Amazon CloudWatch. If you - * want Amazon Pinpoint to use the message tags that you specify using an X-SES-MESSAGE-TAGS header - * or a parameter to the SendEmail/SendRawEmail API, choose messageTag. If you - * want Amazon Pinpoint to use your own email headers, choose emailHeader. If you want - * Amazon Pinpoint to use link tags, choose linkTags.

                                                        - */ - DimensionValueSource: DimensionValueSource | string | undefined; } export namespace CloudWatchDimensionConfiguration { @@ -399,17 +399,17 @@ export namespace CloudWatchDestination { * stream data to other services, such as Amazon S3 and Amazon Redshift.

                                                        */ export interface KinesisFirehoseDestination { - /** - *

                                                        The Amazon Resource Name (ARN) of the IAM role that Amazon Pinpoint uses when sending email - * events to the Amazon Kinesis Data Firehose stream.

                                                        - */ - IamRoleArn: string | undefined; - /** *

                                                        The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose stream that Amazon Pinpoint sends email events * to.

                                                        */ DeliveryStreamArn: string | undefined; + + /** + *

                                                        The Amazon Resource Name (ARN) of the IAM role that Amazon Pinpoint uses when sending email + * events to the Amazon Kinesis Data Firehose stream.

                                                        + */ + IamRoleArn: string | undefined; } export namespace KinesisFirehoseDestination { @@ -475,11 +475,10 @@ export namespace SnsDestination { */ export interface EventDestinationDefinition { /** - *

                                                        An object that defines a Amazon Pinpoint destination for email events. You can use Amazon Pinpoint events - * to create attributes in Amazon Pinpoint projects. You can use these attributes to create segments - * for your campaigns.

                                                        + *

                                                        An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to + * stream data to other services, such as Amazon S3 and Amazon Redshift.

                                                        */ - PinpointDestination?: PinpointDestination; + KinesisFirehoseDestination?: KinesisFirehoseDestination; /** *

                                                        If true, the event destination is enabled. When the event destination is @@ -491,16 +490,11 @@ export interface EventDestinationDefinition { Enabled?: boolean; /** - *

                                                        An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to - * monitor and gain insights on your email sending metrics.

                                                        - */ - CloudWatchDestination?: CloudWatchDestination; - - /** - *

                                                        An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to - * send notification when certain email events occur.

                                                        + *

                                                        An object that defines a Amazon Pinpoint destination for email events. You can use Amazon Pinpoint events + * to create attributes in Amazon Pinpoint projects. You can use these attributes to create segments + * for your campaigns.

                                                        */ - SnsDestination?: SnsDestination; + PinpointDestination?: PinpointDestination; /** *

                                                        An array that specifies which events Amazon Pinpoint should send to the destinations in this @@ -509,10 +503,16 @@ export interface EventDestinationDefinition { MatchingEventTypes?: (EventType | string)[]; /** - *

                                                        An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to - * stream data to other services, such as Amazon S3 and Amazon Redshift.

                                                        + *

                                                        An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to + * send notification when certain email events occur.

                                                        */ - KinesisFirehoseDestination?: KinesisFirehoseDestination; + SnsDestination?: SnsDestination; + + /** + *

                                                        An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to + * monitor and gain insights on your email sending metrics.

                                                        + */ + CloudWatchDestination?: CloudWatchDestination; } export namespace EventDestinationDefinition { @@ -668,17 +668,17 @@ export namespace Content { export interface Body { /** *

                                                        An object that represents the version of the message that is displayed in email - * clients that support HTML. HTML messages can include formatted text, hyperlinks, images, - * and more.

                                                        + * clients that don't support HTML, or clients where the recipient has disabled HTML + * rendering.

                                                        */ - Html?: Content; + Text?: Content; /** *

                                                        An object that represents the version of the message that is displayed in email - * clients that don't support HTML, or clients where the recipient has disabled HTML - * rendering.

                                                        + * clients that support HTML. HTML messages can include formatted text, hyperlinks, images, + * and more.

                                                        */ - Text?: Content; + Html?: Content; } export namespace Body { @@ -692,18 +692,18 @@ export namespace Body { * consists of a subject line and a message body.

                                                        */ export interface Message { - /** - *

                                                        The body of the message. You can specify an HTML version of the message, a text-only - * version of the message, or both.

                                                        - */ - Body: Body | undefined; - /** *

                                                        The subject line of the email. The subject line can only contain 7-bit ASCII * characters. However, you can specify non-ASCII characters in the subject line by using * encoded-word syntax, as described in RFC 2047.

                                                        */ Subject: Content | undefined; + + /** + *

                                                        The body of the message. You can specify an HTML version of the message, a text-only + * version of the message, or both.

                                                        + */ + Body: Body | undefined; } export namespace Message { @@ -714,14 +714,14 @@ export namespace Message { export interface Template { /** - *

                                                        The Amazon Resource Name (ARN) of the template.

                                                        + *

                                                        An object that defines the values to use for message variables in the template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the value to use for that variable.

                                                        */ - TemplateArn?: string; + TemplateData?: string; /** - *

                                                        An object that defines the values to use for message variables in the template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the value to use for that variable.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the template.

                                                        */ - TemplateData?: string; + TemplateArn?: string; } export namespace Template { @@ -738,6 +738,16 @@ export namespace Template { * include attachments and custom headers.

                                                        */ export interface EmailContent { + /** + *

                                                        The template to use for the email message.

                                                        + */ + Template?: Template; + + /** + *

                                                        The simple email message. The message consists of a subject and a message body.

                                                        + */ + Simple?: Message; + /** *

                                                        The raw email message. The message has to meet the following criteria:

                                                        *
                                                          @@ -770,16 +780,6 @@ export interface EmailContent { *
                                                        */ Raw?: RawMessage; - - /** - *

                                                        The simple email message. The message consists of a subject and a message body.

                                                        - */ - Simple?: Message; - - /** - *

                                                        The template to use for the email message.

                                                        - */ - Template?: Template; } export namespace EmailContent { @@ -798,11 +798,6 @@ export namespace EmailContent { * test.

                                                        */ export interface CreateDeliverabilityTestReportRequest { - /** - *

                                                        The HTML body of the message that you sent when you performed the predictive inbox placement test.

                                                        - */ - Content: EmailContent | undefined; - /** *

                                                        A unique name that helps you to identify the predictive inbox placement test when you retrieve the * results.

                                                        @@ -819,6 +814,11 @@ export interface CreateDeliverabilityTestReportRequest { *

                                                        The email address that the predictive inbox placement test email was sent from.

                                                        */ FromEmailAddress: string | undefined; + + /** + *

                                                        The HTML body of the message that you sent when you performed the predictive inbox placement test.

                                                        + */ + Content: EmailContent | undefined; } export namespace CreateDeliverabilityTestReportRequest { @@ -907,16 +907,16 @@ export namespace SendingPausedException { * domain).

                                                        */ export interface CreateEmailIdentityRequest { - /** - *

                                                        The email address or domain that you want to verify.

                                                        - */ - EmailIdentity: string | undefined; - /** *

                                                        An array of objects that define the tags (keys and values) that you want to associate * with the email identity.

                                                        */ Tags?: Tag[]; + + /** + *

                                                        The email address or domain that you want to verify.

                                                        + */ + EmailIdentity: string | undefined; } export namespace CreateEmailIdentityRequest { @@ -939,13 +939,11 @@ export enum DkimStatus { */ export interface DkimAttributes { /** - *

                                                        A set of unique strings that you use to create a set of CNAME records that you add to - * the DNS configuration for your domain. When Amazon Pinpoint detects these records in the DNS - * configuration for your domain, the DKIM authentication process is complete. Amazon Pinpoint - * usually detects these records within about 72 hours of adding them to the DNS - * configuration for your domain.

                                                        + *

                                                        If the value is true, then the messages that Amazon Pinpoint sends from the + * identity are DKIM-signed. If the value is false, then the messages that + * Amazon Pinpoint sends from the identity aren't DKIM-signed.

                                                        */ - Tokens?: string[]; + SigningEnabled?: boolean; /** *

                                                        Describes whether or not Amazon Pinpoint has successfully located the DKIM records in the DNS @@ -983,11 +981,13 @@ export interface DkimAttributes { Status?: DkimStatus | string; /** - *

                                                        If the value is true, then the messages that Amazon Pinpoint sends from the - * identity are DKIM-signed. If the value is false, then the messages that - * Amazon Pinpoint sends from the identity aren't DKIM-signed.

                                                        + *

                                                        A set of unique strings that you use to create a set of CNAME records that you add to + * the DNS configuration for your domain. When Amazon Pinpoint detects these records in the DNS + * configuration for your domain, the DKIM authentication process is complete. Amazon Pinpoint + * usually detects these records within about 72 hours of adding them to the DNS + * configuration for your domain.

                                                        */ - SigningEnabled?: boolean; + Tokens?: string[]; } export namespace DkimAttributes { @@ -1009,13 +1009,6 @@ export enum IdentityType { *

                                                        If the email identity is an email address, this object is empty.

                                                        */ export interface CreateEmailIdentityResponse { - /** - *

                                                        Specifies whether or not the identity is verified. In Amazon Pinpoint, you can only send email - * from verified email addresses or domains. For more information about verifying - * identities, see the Amazon Pinpoint User Guide.

                                                        - */ - VerifiedForSendingStatus?: boolean; - /** *

                                                        An object that contains information about the DKIM attributes for the identity. This * object includes the tokens that you use to create the CNAME records that are required to @@ -1027,6 +1020,13 @@ export interface CreateEmailIdentityResponse { *

                                                        The email identity type.

                                                        */ IdentityType?: IdentityType | string; + + /** + *

                                                        Specifies whether or not the identity is verified. In Amazon Pinpoint, you can only send email + * from verified email addresses or domains. For more information about verifying + * identities, see the Amazon Pinpoint User Guide.

                                                        + */ + VerifiedForSendingStatus?: boolean; } export namespace CreateEmailIdentityResponse { @@ -1180,18 +1180,18 @@ export interface SendQuota { */ Max24HourSend?: number; + /** + *

                                                        The number of emails sent from your Amazon Pinpoint account in the current AWS Region over the + * past 24 hours.

                                                        + */ + SentLast24Hours?: number; + /** *

                                                        The maximum number of emails that you can send per second in the current AWS Region. * This value is also called your maximum sending rate or your * maximum TPS (transactions per second) rate.

                                                        */ MaxSendRate?: number; - - /** - *

                                                        The number of emails sent from your Amazon Pinpoint account in the current AWS Region over the - * past 24 hours.

                                                        - */ - SentLast24Hours?: number; } export namespace SendQuota { @@ -1205,18 +1205,6 @@ export namespace SendQuota { * current AWS Region.

                                                        */ export interface GetAccountResponse { - /** - *

                                                        An object that contains information about the per-day and per-second sending limits - * for your Amazon Pinpoint account in the current AWS Region.

                                                        - */ - SendQuota?: SendQuota; - - /** - *

                                                        Indicates whether or not email sending is enabled for your Amazon Pinpoint account in the - * current AWS Region.

                                                        - */ - SendingEnabled?: boolean; - /** *

                                                        Indicates whether or not your account has production access in the current AWS * Region.

                                                        @@ -1231,6 +1219,12 @@ export interface GetAccountResponse { */ ProductionAccessEnabled?: boolean; + /** + *

                                                        Indicates whether or not the automatic warm-up feature is enabled for dedicated IP + * addresses that are associated with your account.

                                                        + */ + DedicatedIpAutoWarmupEnabled?: boolean; + /** *

                                                        The reputation status of your Amazon Pinpoint account. The status can be one of the * following:

                                                        @@ -1258,10 +1252,16 @@ export interface GetAccountResponse { EnforcementStatus?: string; /** - *

                                                        Indicates whether or not the automatic warm-up feature is enabled for dedicated IP - * addresses that are associated with your account.

                                                        + *

                                                        Indicates whether or not email sending is enabled for your Amazon Pinpoint account in the + * current AWS Region.

                                                        */ - DedicatedIpAutoWarmupEnabled?: boolean; + SendingEnabled?: boolean; + + /** + *

                                                        An object that contains information about the per-day and per-second sending limits + * for your Amazon Pinpoint account in the current AWS Region.

                                                        + */ + SendQuota?: SendQuota; } export namespace GetAccountResponse { @@ -1301,14 +1301,14 @@ export interface BlacklistEntry { Description?: string; /** - *

                                                        The time when the blacklisting event occurred, shown in Unix time format.

                                                        + *

                                                        The name of the blacklist that the IP address appears on.

                                                        */ - ListingTime?: Date; + RblName?: string; /** - *

                                                        The name of the blacklist that the IP address appears on.

                                                        + *

                                                        The time when the blacklisting event occurred, shown in Unix time format.

                                                        */ - RblName?: string; + ListingTime?: Date; } export namespace BlacklistEntry { @@ -1355,12 +1355,6 @@ export namespace GetConfigurationSetRequest { *

                                                        Information about a configuration set.

                                                        */ export interface GetConfigurationSetResponse { - /** - *

                                                        An object that defines whether or not Amazon Pinpoint can send email that you send using the - * configuration set.

                                                        - */ - SendingOptions?: SendingOptions; - /** *

                                                        An object that defines the dedicated IP pool that is used to send emails that you send * using the configuration set.

                                                        @@ -1368,10 +1362,10 @@ export interface GetConfigurationSetResponse { DeliveryOptions?: DeliveryOptions; /** - *

                                                        An object that defines the open and click tracking options for emails that you send - * using the configuration set.

                                                        + *

                                                        An object that defines whether or not Amazon Pinpoint collects reputation metrics for the emails + * that you send that use the configuration set.

                                                        */ - TrackingOptions?: TrackingOptions; + ReputationOptions?: ReputationOptions; /** *

                                                        An array of objects that define the tags (keys and values) that are associated with @@ -1385,10 +1379,16 @@ export interface GetConfigurationSetResponse { ConfigurationSetName?: string; /** - *

                                                        An object that defines whether or not Amazon Pinpoint collects reputation metrics for the emails - * that you send that use the configuration set.

                                                        + *

                                                        An object that defines whether or not Amazon Pinpoint can send email that you send using the + * configuration set.

                                                        */ - ReputationOptions?: ReputationOptions; + SendingOptions?: SendingOptions; + + /** + *

                                                        An object that defines the open and click tracking options for emails that you send + * using the configuration set.

                                                        + */ + TrackingOptions?: TrackingOptions; } export namespace GetConfigurationSetResponse { @@ -1422,12 +1422,6 @@ export namespace GetConfigurationSetEventDestinationsRequest { * Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

                                                        */ export interface EventDestination { - /** - *

                                                        An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to - * send notification when certain email events occur.

                                                        - */ - SnsDestination?: SnsDestination; - /** *

                                                        An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to * monitor and gain insights on your email sending metrics.

                                                        @@ -1435,13 +1429,16 @@ export interface EventDestination { CloudWatchDestination?: CloudWatchDestination; /** - *

                                                        If true, the event destination is enabled. When the event destination is - * enabled, the specified event types are sent to the destinations in this - * EventDestinationDefinition.

                                                        - *

                                                        If false, the event destination is disabled. When the event destination - * is disabled, events aren't sent to the specified destinations.

                                                        + *

                                                        An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to + * send notification when certain email events occur.

                                                        */ - Enabled?: boolean; + SnsDestination?: SnsDestination; + + /** + *

                                                        An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to + * stream data to other services, such as Amazon S3 and Amazon Redshift.

                                                        + */ + KinesisFirehoseDestination?: KinesisFirehoseDestination; /** *

                                                        An object that defines a Amazon Pinpoint destination for email events. You can use Amazon Pinpoint events @@ -1451,9 +1448,13 @@ export interface EventDestination { PinpointDestination?: PinpointDestination; /** - *

                                                        The types of events that Amazon Pinpoint sends to the specified event destinations.

                                                        + *

                                                        If true, the event destination is enabled. When the event destination is + * enabled, the specified event types are sent to the destinations in this + * EventDestinationDefinition.

                                                        + *

                                                        If false, the event destination is disabled. When the event destination + * is disabled, events aren't sent to the specified destinations.

                                                        */ - MatchingEventTypes: (EventType | string)[] | undefined; + Enabled?: boolean; /** *

                                                        A name that identifies the event destination.

                                                        @@ -1461,10 +1462,9 @@ export interface EventDestination { Name: string | undefined; /** - *

                                                        An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to - * stream data to other services, such as Amazon S3 and Amazon Redshift.

                                                        + *

                                                        The types of events that Amazon Pinpoint sends to the specified event destinations.

                                                        */ - KinesisFirehoseDestination?: KinesisFirehoseDestination; + MatchingEventTypes: (EventType | string)[] | undefined; } export namespace EventDestination { @@ -1518,6 +1518,11 @@ export enum WarmupStatus { *

                                                        */ export interface DedicatedIp { + /** + *

                                                        The name of the dedicated IP pool that the IP address is associated with.

                                                        + */ + PoolName?: string; + /** *

                                                        The warm-up status of a dedicated IP address. The status can have one of the following * values:

                                                        @@ -1536,21 +1541,16 @@ export interface DedicatedIp { */ WarmupStatus: WarmupStatus | string | undefined; - /** - *

                                                        An IP address that is reserved for use by your Amazon Pinpoint account.

                                                        - */ - Ip: string | undefined; - - /** - *

                                                        The name of the dedicated IP pool that the IP address is associated with.

                                                        - */ - PoolName?: string; - /** *

                                                        Indicates how complete the dedicated IP warm-up process is. When this value equals 1, * the address has completed the warm-up process and is ready for use.

                                                        */ WarmupPercentage: number | undefined; + + /** + *

                                                        An IP address that is reserved for use by your Amazon Pinpoint account.

                                                        + */ + Ip: string | undefined; } export namespace DedicatedIp { @@ -1579,6 +1579,11 @@ export namespace GetDedicatedIpResponse { *

                                                        A request to obtain more information about dedicated IP pools.

                                                        */ export interface GetDedicatedIpsRequest { + /** + *

                                                        The name of the IP pool that the dedicated IP address is associated with.

                                                        + */ + PoolName?: string; + /** *

                                                        The number of results to show in a single call to GetDedicatedIpsRequest. * If the number of results is larger than the number you specified in this parameter, then @@ -1592,11 +1597,6 @@ export interface GetDedicatedIpsRequest { * position of the dedicated IP pool in the list of IP pools.

                                                        */ NextToken?: string; - - /** - *

                                                        The name of the IP pool that the dedicated IP address is associated with.

                                                        - */ - PoolName?: string; } export namespace GetDedicatedIpsRequest { @@ -1660,16 +1660,16 @@ export enum DeliverabilityDashboardAccountStatus { * (PutDeliverabilityDashboardOption operation).

                                                        */ export interface InboxPlacementTrackingOption { - /** - *

                                                        Specifies whether inbox placement data is being tracked for the domain.

                                                        - */ - Global?: boolean; - /** *

                                                        An array of strings, one for each major email provider that the inbox placement data * applies to.

                                                        */ TrackedIsps?: string[]; + + /** + *

                                                        Specifies whether inbox placement data is being tracked for the domain.

                                                        + */ + Global?: boolean; } export namespace InboxPlacementTrackingOption { @@ -1685,6 +1685,12 @@ export namespace InboxPlacementTrackingOption { * to reputation, inbox placement, and other metrics for the domain.

                                                        */ export interface DomainDeliverabilityTrackingOption { + /** + *

                                                        The date, in Unix time format, when you enabled the Deliverability dashboard for the + * domain.

                                                        + */ + SubscriptionStartDate?: Date; + /** *

                                                        An object that contains information about the inbox placement data settings for the * domain.

                                                        @@ -1696,12 +1702,6 @@ export interface DomainDeliverabilityTrackingOption { * active Deliverability dashboard subscription.

                                                        */ Domain?: string; - - /** - *

                                                        The date, in Unix time format, when you enabled the Deliverability dashboard for the - * domain.

                                                        - */ - SubscriptionStartDate?: Date; } export namespace DomainDeliverabilityTrackingOption { @@ -1714,6 +1714,13 @@ export namespace DomainDeliverabilityTrackingOption { *

                                                        An object that shows the status of the Deliverability dashboard for your Amazon Pinpoint account.

                                                        */ export interface GetDeliverabilityDashboardOptionsResponse { + /** + *

                                                        The current status of your Deliverability dashboard subscription. If this value is + * PENDING_EXPIRATION, your subscription is scheduled to expire at the end + * of the current calendar month.

                                                        + */ + AccountStatus?: DeliverabilityDashboardAccountStatus | string; + /** *

                                                        The date, in Unix time format, when your current subscription to the Deliverability dashboard * is scheduled to expire, if your subscription is scheduled to expire at the end of the @@ -1722,6 +1729,13 @@ export interface GetDeliverabilityDashboardOptionsResponse { */ SubscriptionExpiryDate?: Date; + /** + *

                                                        An array of objects, one for each verified domain that you use to send email and + * currently has an active Deliverability dashboard subscription that isn’t scheduled to expire at + * the end of the current calendar month.

                                                        + */ + ActiveSubscribedDomains?: DomainDeliverabilityTrackingOption[]; + /** *

                                                        An array of objects, one for each verified domain that you use to send email and * currently has an active Deliverability dashboard subscription that's scheduled to expire at the @@ -1734,20 +1748,6 @@ export interface GetDeliverabilityDashboardOptionsResponse { * is true, the dashboard is enabled.

                                                        */ DashboardEnabled: boolean | undefined; - - /** - *

                                                        An array of objects, one for each verified domain that you use to send email and - * currently has an active Deliverability dashboard subscription that isn’t scheduled to expire at - * the end of the current calendar month.

                                                        - */ - ActiveSubscribedDomains?: DomainDeliverabilityTrackingOption[]; - - /** - *

                                                        The current status of your Deliverability dashboard subscription. If this value is - * PENDING_EXPIRATION, your subscription is scheduled to expire at the end - * of the current calendar month.

                                                        - */ - AccountStatus?: DeliverabilityDashboardAccountStatus | string; } export namespace GetDeliverabilityDashboardOptionsResponse { @@ -1776,14 +1776,6 @@ export namespace GetDeliverabilityTestReportRequest { *

                                                        An object that contains metadata related to a predictive inbox placement test.

                                                        */ export interface DeliverabilityTestReport { - /** - *

                                                        The status of the predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test - * is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the - * test. If the status is COMPLETE, then the test is finished, and you can use - * the GetDeliverabilityTestReport to view the results of the test.

                                                        - */ - DeliverabilityTestStatus?: DeliverabilityTestStatus | string; - /** *

                                                        The sender address that you specified for the predictive inbox placement test.

                                                        */ @@ -1795,9 +1787,17 @@ export interface DeliverabilityTestReport { ReportName?: string; /** - *

                                                        The subject line for an email that you submitted in a predictive inbox placement test.

                                                        + *

                                                        The date and time when the predictive inbox placement test was created, in Unix time format.

                                                        */ - Subject?: string; + CreateDate?: Date; + + /** + *

                                                        The status of the predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test + * is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the + * test. If the status is COMPLETE, then the test is finished, and you can use + * the GetDeliverabilityTestReport to view the results of the test.

                                                        + */ + DeliverabilityTestStatus?: DeliverabilityTestStatus | string; /** *

                                                        A unique string that identifies the predictive inbox placement test.

                                                        @@ -1805,9 +1805,9 @@ export interface DeliverabilityTestReport { ReportId?: string; /** - *

                                                        The date and time when the predictive inbox placement test was created, in Unix time format.

                                                        + *

                                                        The subject line for an email that you submitted in a predictive inbox placement test.

                                                        */ - CreateDate?: Date; + Subject?: string; } export namespace DeliverabilityTestReport { @@ -1820,11 +1820,6 @@ export namespace DeliverabilityTestReport { *

                                                        An object that contains inbox placement data for an email provider.

                                                        */ export interface PlacementStatistics { - /** - *

                                                        The percentage of emails that arrived in recipients' inboxes during the predictive inbox placement test.

                                                        - */ - InboxPercentage?: number; - /** *

                                                        The percentage of emails that were authenticated by using Sender Policy Framework * (SPF) during the predictive inbox placement test.

                                                        @@ -1832,10 +1827,15 @@ export interface PlacementStatistics { SpfPercentage?: number; /** - *

                                                        The percentage of emails that were authenticated by using DomainKeys Identified Mail - * (DKIM) during the predictive inbox placement test.

                                                        + *

                                                        The percentage of emails that arrived in recipients' inboxes during the predictive inbox placement test.

                                                        */ - DkimPercentage?: number; + InboxPercentage?: number; + + /** + *

                                                        The percentage of emails that didn't arrive in recipients' inboxes at all during the + * predictive inbox placement test.

                                                        + */ + MissingPercentage?: number; /** *

                                                        The percentage of emails that arrived in recipients' spam or junk mail folders during @@ -1844,10 +1844,10 @@ export interface PlacementStatistics { SpamPercentage?: number; /** - *

                                                        The percentage of emails that didn't arrive in recipients' inboxes at all during the - * predictive inbox placement test.

                                                        + *

                                                        The percentage of emails that were authenticated by using DomainKeys Identified Mail + * (DKIM) during the predictive inbox placement test.

                                                        */ - MissingPercentage?: number; + DkimPercentage?: number; } export namespace PlacementStatistics { @@ -1888,6 +1888,17 @@ export interface GetDeliverabilityTestReportResponse { */ IspPlacements: IspPlacement[] | undefined; + /** + *

                                                        An object that contains the message that you sent when you performed this + * predictive inbox placement test.

                                                        + */ + Message?: string; + + /** + *

                                                        An object that contains the results of the predictive inbox placement test.

                                                        + */ + DeliverabilityTestReport: DeliverabilityTestReport | undefined; + /** *

                                                        An array of objects that define the tags (keys and values) that are associated with * the predictive inbox placement test.

                                                        @@ -1900,17 +1911,6 @@ export interface GetDeliverabilityTestReportResponse { * how many weren't delivered.

                                                        */ OverallPlacement: PlacementStatistics | undefined; - - /** - *

                                                        An object that contains the message that you sent when you performed this - * predictive inbox placement test.

                                                        - */ - Message?: string; - - /** - *

                                                        An object that contains the results of the predictive inbox placement test.

                                                        - */ - DeliverabilityTestReport: DeliverabilityTestReport | undefined; } export namespace GetDeliverabilityTestReportResponse { @@ -1960,34 +1960,21 @@ export interface DomainDeliverabilityCampaign { ImageUrl?: string; /** - *

                                                        The percentage of email messages that were opened and then deleted by recipients. Due - * to technical limitations, this value only includes recipients who opened the message by - * using an email client that supports images.

                                                        - */ - ReadDeleteRate?: number; - - /** - *

                                                        The projected number of recipients that the email message was sent to.

                                                        - */ - ProjectedVolume?: number; - - /** - *

                                                        The IP addresses that were used to send the email message.

                                                        + *

                                                        The subject line, or title, of the email message.

                                                        */ - SendingIps?: string[]; + Subject?: string; /** - *

                                                        The number of email messages that were delivered to recipients' spam or junk mail - * folders.

                                                        + *

                                                        The first time, in Unix time format, when the email message was delivered to any + * recipient's inbox. This value can help you determine how long it took for a campaign to + * deliver an email message.

                                                        */ - SpamCount?: number; + FirstSeenDateTime?: Date; /** - *

                                                        The percentage of email messages that were opened by recipients. Due to technical - * limitations, this value only includes recipients who opened the message by using an - * email client that supports images.

                                                        + *

                                                        The major email providers who handled the email message.

                                                        */ - ReadRate?: number; + Esps?: string[]; /** *

                                                        The unique identifier for the campaign. Amazon Pinpoint automatically generates and assigns this @@ -1998,9 +1985,18 @@ export interface DomainDeliverabilityCampaign { CampaignId?: string; /** - *

                                                        The major email providers who handled the email message.

                                                        + *

                                                        The percentage of email messages that were deleted by recipients, without being opened + * first. Due to technical limitations, this value only includes recipients who opened the + * message by using an email client that supports images.

                                                        */ - Esps?: string[]; + DeleteRate?: number; + + /** + *

                                                        The last time, in Unix time format, when the email message was delivered to any + * recipient's inbox. This value can help you determine how long it took for a campaign to + * deliver an email message.

                                                        + */ + LastSeenDateTime?: Date; /** *

                                                        The verified email address that the email message was sent from.

                                                        @@ -2008,30 +2004,34 @@ export interface DomainDeliverabilityCampaign { FromAddress?: string; /** - *

                                                        The subject line, or title, of the email message.

                                                        + *

                                                        The projected number of recipients that the email message was sent to.

                                                        */ - Subject?: string; + ProjectedVolume?: number; /** - *

                                                        The last time, in Unix time format, when the email message was delivered to any - * recipient's inbox. This value can help you determine how long it took for a campaign to - * deliver an email message.

                                                        + *

                                                        The percentage of email messages that were opened by recipients. Due to technical + * limitations, this value only includes recipients who opened the message by using an + * email client that supports images.

                                                        */ - LastSeenDateTime?: Date; + ReadRate?: number; /** - *

                                                        The first time, in Unix time format, when the email message was delivered to any - * recipient's inbox. This value can help you determine how long it took for a campaign to - * deliver an email message.

                                                        + *

                                                        The number of email messages that were delivered to recipients' spam or junk mail + * folders.

                                                        */ - FirstSeenDateTime?: Date; + SpamCount?: number; /** - *

                                                        The percentage of email messages that were deleted by recipients, without being opened - * first. Due to technical limitations, this value only includes recipients who opened the - * message by using an email client that supports images.

                                                        + *

                                                        The percentage of email messages that were opened and then deleted by recipients. Due + * to technical limitations, this value only includes recipients who opened the message by + * using an email client that supports images.

                                                        */ - DeleteRate?: number; + ReadDeleteRate?: number; + + /** + *

                                                        The IP addresses that were used to send the email message.

                                                        + */ + SendingIps?: string[]; } export namespace DomainDeliverabilityCampaign { @@ -2063,6 +2063,12 @@ export namespace GetDomainDeliverabilityCampaignResponse { *

                                                        A request to obtain deliverability metrics for a domain.

                                                        */ export interface GetDomainStatisticsReportRequest { + /** + *

                                                        The first day (in Unix time) that you want to obtain domain deliverability metrics + * for.

                                                        + */ + StartDate: Date | undefined; + /** *

                                                        The domain that you want to obtain deliverability metrics for.

                                                        */ @@ -2074,12 +2080,6 @@ export interface GetDomainStatisticsReportRequest { * the StartDate.

                                                        */ EndDate: Date | undefined; - - /** - *

                                                        The first day (in Unix time) that you want to obtain domain deliverability metrics - * for.

                                                        - */ - StartDate: Date | undefined; } export namespace GetDomainStatisticsReportRequest { @@ -2093,11 +2093,6 @@ export namespace GetDomainStatisticsReportRequest { * domains to a specific email provider.

                                                        */ export interface DomainIspPlacement { - /** - *

                                                        The name of the email provider that the inbox placement data applies to.

                                                        - */ - IspName?: string; - /** *

                                                        The percentage of messages that were sent from the selected domain to the specified * email provider that arrived in recipients' inboxes.

                                                        @@ -2105,22 +2100,27 @@ export interface DomainIspPlacement { InboxPercentage?: number; /** - *

                                                        The total number of messages that were sent from the selected domain to the specified - * email provider that arrived in recipients' spam or junk mail folders.

                                                        + *

                                                        The name of the email provider that the inbox placement data applies to.

                                                        */ - SpamRawCount?: number; + IspName?: string; /** *

                                                        The total number of messages that were sent from the selected domain to the specified - * email provider that arrived in recipients' inboxes.

                                                        + * email provider that arrived in recipients' spam or junk mail folders.

                                                        */ - InboxRawCount?: number; + SpamRawCount?: number; /** *

                                                        The percentage of messages that were sent from the selected domain to the specified * email provider that arrived in recipients' spam or junk mail folders.

                                                        */ SpamPercentage?: number; + + /** + *

                                                        The total number of messages that were sent from the selected domain to the specified + * email provider that arrived in recipients' inboxes.

                                                        + */ + InboxRawCount?: number; } export namespace DomainIspPlacement { @@ -2140,10 +2140,10 @@ export interface VolumeStatistics { InboxRawCount?: number; /** - *

                                                        An estimate of the percentage of emails sent from the current domain that will arrive - * in recipients' spam or junk mail folders.

                                                        + *

                                                        The total number of emails that arrived in recipients' spam or junk mail + * folders.

                                                        */ - ProjectedSpam?: number; + SpamRawCount?: number; /** *

                                                        An estimate of the percentage of emails sent from the current domain that will arrive @@ -2152,10 +2152,10 @@ export interface VolumeStatistics { ProjectedInbox?: number; /** - *

                                                        The total number of emails that arrived in recipients' spam or junk mail - * folders.

                                                        + *

                                                        An estimate of the percentage of emails sent from the current domain that will arrive + * in recipients' spam or junk mail folders.

                                                        */ - SpamRawCount?: number; + ProjectedSpam?: number; } export namespace VolumeStatistics { @@ -2170,15 +2170,15 @@ export namespace VolumeStatistics { */ export interface DailyVolume { /** - *

                                                        An object that contains inbox placement metrics for a specified day in the analysis - * period, broken out by the recipient's email provider.

                                                        + *

                                                        The date that the DailyVolume metrics apply to, in Unix time.

                                                        */ - DomainIspPlacements?: DomainIspPlacement[]; + StartDate?: Date; /** - *

                                                        The date that the DailyVolume metrics apply to, in Unix time.

                                                        + *

                                                        An object that contains inbox placement metrics for a specified day in the analysis + * period, broken out by the recipient's email provider.

                                                        */ - StartDate?: Date; + DomainIspPlacements?: DomainIspPlacement[]; /** *

                                                        An object that contains inbox placement metrics for a specific day in the analysis @@ -2198,6 +2198,12 @@ export namespace DailyVolume { * domain.

                                                        */ export interface OverallVolume { + /** + *

                                                        The percentage of emails that were sent from the domain that were read by their + * recipients.

                                                        + */ + ReadRatePercent?: number; + /** *

                                                        An object that contains inbox and junk mail placement metrics for individual email * providers.

                                                        @@ -2209,12 +2215,6 @@ export interface OverallVolume { * recipients' inboxes and junk mail folders.

                                                        */ VolumeStatistics?: VolumeStatistics; - - /** - *

                                                        The percentage of emails that were sent from the domain that were read by their - * recipients.

                                                        - */ - ReadRatePercent?: number; } export namespace OverallVolume { @@ -2281,6 +2281,18 @@ export enum MailFromDomainStatus { *

                                                        A list of attributes that are associated with a MAIL FROM domain.

                                                        */ export interface MailFromAttributes { + /** + *

                                                        The action that Amazon Pinpoint to takes if it can't read the required MX record for a custom + * MAIL FROM domain. When you set this value to UseDefaultValue, Amazon Pinpoint uses + * amazonses.com as the MAIL FROM domain. When you set this value + * to RejectMessage, Amazon Pinpoint returns a MailFromDomainNotVerified + * error, and doesn't attempt to deliver the email.

                                                        + *

                                                        These behaviors are taken when the custom MAIL FROM domain configuration is in the + * Pending, Failed, and TemporaryFailure + * states.

                                                        + */ + BehaviorOnMxFailure: BehaviorOnMxFailure | string | undefined; + /** *

                                                        The status of the MAIL FROM domain. This status can have the following values:

                                                        *
                                                          @@ -2312,18 +2324,6 @@ export interface MailFromAttributes { *

                                                          The name of a domain that an email identity uses as a custom MAIL FROM domain.

                                                          */ MailFromDomain: string | undefined; - - /** - *

                                                          The action that Amazon Pinpoint to takes if it can't read the required MX record for a custom - * MAIL FROM domain. When you set this value to UseDefaultValue, Amazon Pinpoint uses - * amazonses.com as the MAIL FROM domain. When you set this value - * to RejectMessage, Amazon Pinpoint returns a MailFromDomainNotVerified - * error, and doesn't attempt to deliver the email.

                                                          - *

                                                          These behaviors are taken when the custom MAIL FROM domain configuration is in the - * Pending, Failed, and TemporaryFailure - * states.

                                                          - */ - BehaviorOnMxFailure: BehaviorOnMxFailure | string | undefined; } export namespace MailFromAttributes { @@ -2336,17 +2336,6 @@ export namespace MailFromAttributes { *

                                                          Details about an email identity.

                                                          */ export interface GetEmailIdentityResponse { - /** - *

                                                          The email identity type.

                                                          - */ - IdentityType?: IdentityType | string; - - /** - *

                                                          An object that contains information about the Mail-From attributes for the email - * identity.

                                                          - */ - MailFromAttributes?: MailFromAttributes; - /** *

                                                          The feedback forwarding configuration for the identity.

                                                          *

                                                          If the value is true, Amazon Pinpoint sends you email notifications when bounce or @@ -2358,7 +2347,19 @@ export interface GetEmailIdentityResponse { * another mechanism for receiving bounce or complaint notifications, Amazon Pinpoint sends an email * notification when these events occur (even if this setting is disabled).

                                                          */ - FeedbackForwardingStatus?: boolean; + FeedbackForwardingStatus?: boolean; + + /** + *

                                                          The email identity type.

                                                          + */ + IdentityType?: IdentityType | string; + + /** + *

                                                          Specifies whether or not the identity is verified. In Amazon Pinpoint, you can only send email + * from verified email addresses or domains. For more information about verifying + * identities, see the Amazon Pinpoint User Guide.

                                                          + */ + VerifiedForSendingStatus?: boolean; /** *

                                                          An array of objects that define the tags (keys and values) that are associated with @@ -2366,19 +2367,18 @@ export interface GetEmailIdentityResponse { */ Tags?: Tag[]; + /** + *

                                                          An object that contains information about the Mail-From attributes for the email + * identity.

                                                          + */ + MailFromAttributes?: MailFromAttributes; + /** *

                                                          An object that contains information about the DKIM attributes for the identity. This * object includes the tokens that you use to create the CNAME records that are required to * complete the DKIM verification process.

                                                          */ DkimAttributes?: DkimAttributes; - - /** - *

                                                          Specifies whether or not the identity is verified. In Amazon Pinpoint, you can only send email - * from verified email addresses or domains. For more information about verifying - * identities, see the Amazon Pinpoint User Guide.

                                                          - */ - VerifiedForSendingStatus?: boolean; } export namespace GetEmailIdentityResponse { @@ -2392,6 +2392,12 @@ export namespace GetEmailIdentityResponse { * AWS Region.

                                                          */ export interface ListConfigurationSetsRequest { + /** + *

                                                          A token returned from a previous call to ListConfigurationSets to + * indicate the position in the list of configuration sets.

                                                          + */ + NextToken?: string; + /** *

                                                          The number of results to show in a single call to ListConfigurationSets. * If the number of results is larger than the number you specified in this parameter, then @@ -2399,12 +2405,6 @@ export interface ListConfigurationSetsRequest { * additional results.

                                                          */ PageSize?: number; - - /** - *

                                                          A token returned from a previous call to ListConfigurationSets to - * indicate the position in the list of configuration sets.

                                                          - */ - NextToken?: string; } export namespace ListConfigurationSetsRequest { @@ -2519,17 +2519,17 @@ export namespace ListDeliverabilityTestReportsRequest { * whether or not those tests are complete.

                                                          */ export interface ListDeliverabilityTestReportsResponse { - /** - *

                                                          An object that contains a lists of predictive inbox placement tests that you've performed.

                                                          - */ - DeliverabilityTestReports: DeliverabilityTestReport[] | undefined; - /** *

                                                          A token that indicates that there are additional predictive inbox placement tests to list. To view additional * predictive inbox placement tests, issue another request to ListDeliverabilityTestReports, and pass * this token in the NextToken parameter.

                                                          */ NextToken?: string; + + /** + *

                                                          An object that contains a lists of predictive inbox placement tests that you've performed.

                                                          + */ + DeliverabilityTestReports: DeliverabilityTestReport[] | undefined; } export namespace ListDeliverabilityTestReportsResponse { @@ -2555,16 +2555,11 @@ export interface ListDomainDeliverabilityCampaignsRequest { PageSize?: number; /** - *

                                                          The last day, in Unix time format, that you want to obtain deliverability data for. - * This value has to be less than or equal to 30 days after the value of the - * StartDate parameter.

                                                          - */ - EndDate: Date | undefined; - - /** - *

                                                          The domain to obtain deliverability data for.

                                                          + *

                                                          A token that’s returned from a previous call to the + * ListDomainDeliverabilityCampaigns operation. This token indicates the + * position of a campaign in the list of campaigns.

                                                          */ - SubscribedDomain: string | undefined; + NextToken?: string; /** *

                                                          The first day, in Unix time format, that you want to obtain deliverability data @@ -2573,11 +2568,16 @@ export interface ListDomainDeliverabilityCampaignsRequest { StartDate: Date | undefined; /** - *

                                                          A token that’s returned from a previous call to the - * ListDomainDeliverabilityCampaigns operation. This token indicates the - * position of a campaign in the list of campaigns.

                                                          + *

                                                          The domain to obtain deliverability data for.

                                                          */ - NextToken?: string; + SubscribedDomain: string | undefined; + + /** + *

                                                          The last day, in Unix time format, that you want to obtain deliverability data for. + * This value has to be less than or equal to 30 days after the value of the + * StartDate parameter.

                                                          + */ + EndDate: Date | undefined; } export namespace ListDomainDeliverabilityCampaignsRequest { @@ -2593,18 +2593,18 @@ export namespace ListDomainDeliverabilityCampaignsRequest { * (PutDeliverabilityDashboardOption operation) for the domain.

                                                          */ export interface ListDomainDeliverabilityCampaignsResponse { - /** - *

                                                          An array of responses, one for each campaign that used the domain to send email during - * the specified time range.

                                                          - */ - DomainDeliverabilityCampaigns: DomainDeliverabilityCampaign[] | undefined; - /** *

                                                          A token that’s returned from a previous call to the * ListDomainDeliverabilityCampaigns operation. This token indicates the * position of the campaign in the list of campaigns.

                                                          */ NextToken?: string; + + /** + *

                                                          An array of responses, one for each campaign that used the domain to send email during + * the specified time range.

                                                          + */ + DomainDeliverabilityCampaigns: DomainDeliverabilityCampaign[] | undefined; } export namespace ListDomainDeliverabilityCampaignsResponse { @@ -2619,12 +2619,6 @@ export namespace ListDomainDeliverabilityCampaignsResponse { * and identities that were verified in the past, but are no longer verified.

                                                          */ export interface ListEmailIdentitiesRequest { - /** - *

                                                          A token returned from a previous call to ListEmailIdentities to indicate - * the position in the list of identities.

                                                          - */ - NextToken?: string; - /** *

                                                          The number of results to show in a single call to ListEmailIdentities. If * the number of results is larger than the number you specified in this parameter, then @@ -2633,6 +2627,12 @@ export interface ListEmailIdentitiesRequest { *

                                                          The value you specify has to be at least 0, and can be no more than 1000.

                                                          */ PageSize?: number; + + /** + *

                                                          A token returned from a previous call to ListEmailIdentities to indicate + * the position in the list of identities.

                                                          + */ + NextToken?: string; } export namespace ListEmailIdentitiesRequest { @@ -2645,19 +2645,6 @@ export namespace ListEmailIdentitiesRequest { *

                                                          Information about an email identity.

                                                          */ export interface IdentityInfo { - /** - *

                                                          Indicates whether or not you can send email from the identity.

                                                          - *

                                                          In Amazon Pinpoint, an identity is an email address or domain that you send email from. Before - * you can send email from an identity, you have to demostrate that you own the identity, - * and that you authorize Amazon Pinpoint to send email from that identity.

                                                          - */ - SendingEnabled?: boolean; - - /** - *

                                                          The address or domain of the identity.

                                                          - */ - IdentityName?: string; - /** *

                                                          The email identity type. The identity type can be one of the following:

                                                          *
                                                            @@ -2677,6 +2664,19 @@ export interface IdentityInfo { *
                                                          */ IdentityType?: IdentityType | string; + + /** + *

                                                          The address or domain of the identity.

                                                          + */ + IdentityName?: string; + + /** + *

                                                          Indicates whether or not you can send email from the identity.

                                                          + *

                                                          In Amazon Pinpoint, an identity is an email address or domain that you send email from. Before + * you can send email from an identity, you have to demostrate that you own the identity, + * and that you authorize Amazon Pinpoint to send email from that identity.

                                                          + */ + SendingEnabled?: boolean; } export namespace IdentityInfo { @@ -2852,18 +2852,18 @@ export namespace PutConfigurationSetDeliveryOptionsResponse { * set.

                                                          */ export interface PutConfigurationSetReputationOptionsRequest { - /** - *

                                                          The name of the configuration set that you want to enable or disable reputation metric - * tracking for.

                                                          - */ - ConfigurationSetName: string | undefined; - /** *

                                                          If true, tracking of reputation metrics is enabled for the configuration * set. If false, tracking of reputation metrics is disabled for the * configuration set.

                                                          */ ReputationMetricsEnabled?: boolean; + + /** + *

                                                          The name of the configuration set that you want to enable or disable reputation metric + * tracking for.

                                                          + */ + ConfigurationSetName: string | undefined; } export namespace PutConfigurationSetReputationOptionsRequest { @@ -2889,17 +2889,17 @@ export namespace PutConfigurationSetReputationOptionsResponse { * configuration set.

                                                          */ export interface PutConfigurationSetSendingOptionsRequest { - /** - *

                                                          The name of the configuration set that you want to enable or disable email sending - * for.

                                                          - */ - ConfigurationSetName: string | undefined; - /** *

                                                          If true, email sending is enabled for the configuration set. If * false, email sending is disabled for the configuration set.

                                                          */ SendingEnabled?: boolean; + + /** + *

                                                          The name of the configuration set that you want to enable or disable email sending + * for.

                                                          + */ + ConfigurationSetName: string | undefined; } export namespace PutConfigurationSetSendingOptionsRequest { @@ -2995,16 +2995,16 @@ export namespace PutDedicatedIpInPoolResponse { * is useful when you want to resume the warm-up process for an existing IP address.

                                                          */ export interface PutDedicatedIpWarmupAttributesRequest { - /** - *

                                                          The dedicated IP address that you want to update the warm-up attributes for.

                                                          - */ - Ip: string | undefined; - /** *

                                                          The warm-up percentage that you want to associate with the dedicated IP * address.

                                                          */ WarmupPercentage: number | undefined; + + /** + *

                                                          The dedicated IP address that you want to update the warm-up attributes for.

                                                          + */ + Ip: string | undefined; } export namespace PutDedicatedIpWarmupAttributesRequest { @@ -3108,6 +3108,12 @@ export namespace PutEmailIdentityDkimAttributesResponse { * processed.

                                                          */ export interface PutEmailIdentityFeedbackAttributesRequest { + /** + *

                                                          The email identity that you want to configure bounce and complaint feedback forwarding + * for.

                                                          + */ + EmailIdentity: string | undefined; + /** *

                                                          Sets the feedback forwarding configuration for the identity.

                                                          *

                                                          If the value is true, Amazon Pinpoint sends you email notifications when bounce or @@ -3120,12 +3126,6 @@ export interface PutEmailIdentityFeedbackAttributesRequest { * notification when these events occur (even if this setting is disabled).

                                                          */ EmailForwardingEnabled?: boolean; - - /** - *

                                                          The email identity that you want to configure bounce and complaint feedback forwarding - * for.

                                                          - */ - EmailIdentity: string | undefined; } export namespace PutEmailIdentityFeedbackAttributesRequest { @@ -3150,24 +3150,6 @@ export namespace PutEmailIdentityFeedbackAttributesResponse { *

                                                          A request to configure the custom MAIL FROM domain for a verified identity.

                                                          */ export interface PutEmailIdentityMailFromAttributesRequest { - /** - *

                                                          The verified email identity that you want to set up the custom MAIL FROM domain - * for.

                                                          - */ - EmailIdentity: string | undefined; - - /** - *

                                                          The action that you want Amazon Pinpoint to take if it can't read the required MX record when - * you send an email. When you set this value to UseDefaultValue, Amazon Pinpoint uses - * amazonses.com as the MAIL FROM domain. When you set this value - * to RejectMessage, Amazon Pinpoint returns a MailFromDomainNotVerified - * error, and doesn't attempt to deliver the email.

                                                          - *

                                                          These behaviors are taken when the custom MAIL FROM domain configuration is in the - * Pending, Failed, and TemporaryFailure - * states.

                                                          - */ - BehaviorOnMxFailure?: BehaviorOnMxFailure | string; - /** *

                                                          The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM * domain must meet the following criteria:

                                                          @@ -3185,6 +3167,24 @@ export interface PutEmailIdentityMailFromAttributesRequest { *
                                                        */ MailFromDomain?: string; + + /** + *

                                                        The action that you want Amazon Pinpoint to take if it can't read the required MX record when + * you send an email. When you set this value to UseDefaultValue, Amazon Pinpoint uses + * amazonses.com as the MAIL FROM domain. When you set this value + * to RejectMessage, Amazon Pinpoint returns a MailFromDomainNotVerified + * error, and doesn't attempt to deliver the email.

                                                        + *

                                                        These behaviors are taken when the custom MAIL FROM domain configuration is in the + * Pending, Failed, and TemporaryFailure + * states.

                                                        + */ + BehaviorOnMxFailure?: BehaviorOnMxFailure | string; + + /** + *

                                                        The verified email identity that you want to set up the custom MAIL FROM domain + * for.

                                                        + */ + EmailIdentity: string | undefined; } export namespace PutEmailIdentityMailFromAttributesRequest { @@ -3209,12 +3209,6 @@ export namespace PutEmailIdentityMailFromAttributesResponse { *

                                                        An object that describes the recipients for an email.

                                                        */ export interface Destination { - /** - *

                                                        An array that contains the email addresses of the "To" recipients for the - * email.

                                                        - */ - ToAddresses?: string[]; - /** *

                                                        An array that contains the email addresses of the "BCC" (blind carbon copy) recipients * for the email.

                                                        @@ -3226,6 +3220,12 @@ export interface Destination { * the email.

                                                        */ CcAddresses?: string[]; + + /** + *

                                                        An array that contains the email addresses of the "To" recipients for the + * email.

                                                        + */ + ToAddresses?: string[]; } export namespace Destination { @@ -3241,7 +3241,7 @@ export namespace Destination { */ export interface MessageTag { /** - *

                                                        The value of the message tag. The message tag value has to meet the following + *

                                                        The name of the message tag. The message tag name has to meet the following * criteria:

                                                        *
                                                          *
                                                        • @@ -3253,10 +3253,10 @@ export interface MessageTag { *
                                                        • *
                                                        */ - Value: string | undefined; + Name: string | undefined; /** - *

                                                        The name of the message tag. The message tag name has to meet the following + *

                                                        The value of the message tag. The message tag value has to meet the following * criteria:

                                                        *
                                                          *
                                                        • @@ -3268,7 +3268,7 @@ export interface MessageTag { *
                                                        • *
                                                        */ - Name: string | undefined; + Value: string | undefined; } export namespace MessageTag { @@ -3281,6 +3281,12 @@ export namespace MessageTag { *

                                                        A request to send an email message.

                                                        */ export interface SendEmailRequest { + /** + *

                                                        An object that contains the body of the message. You can send either a Simple message + * or a Raw message.

                                                        + */ + Content: EmailContent | undefined; + /** *

                                                        The "Reply-to" email addresses for the message. When the recipient replies to the * message, each Reply-to address receives the reply.

                                                        @@ -3304,23 +3310,17 @@ export interface SendEmailRequest { */ FromEmailAddress?: string; - /** - *

                                                        An object that contains the recipients of the email message.

                                                        - */ - Destination: Destination | undefined; - - /** - *

                                                        An object that contains the body of the message. You can send either a Simple message - * or a Raw message.

                                                        - */ - Content: EmailContent | undefined; - /** *

                                                        A list of tags, in the form of name/value pairs, to apply to an email that you send * using the SendEmail operation. Tags correspond to characteristics of the * email that you define, so that you can publish email sending events.

                                                        */ EmailTags?: MessageTag[]; + + /** + *

                                                        An object that contains the recipients of the email message.

                                                        + */ + Destination: Destination | undefined; } export namespace SendEmailRequest { @@ -3420,6 +3420,11 @@ export namespace UntagResourceResponse { * set.

                                                        */ export interface UpdateConfigurationSetEventDestinationRequest { + /** + *

                                                        The name of the event destination that you want to modify.

                                                        + */ + EventDestinationName: string | undefined; + /** *

                                                        The name of the configuration set that contains the event destination that you want to * modify.

                                                        @@ -3430,11 +3435,6 @@ export interface UpdateConfigurationSetEventDestinationRequest { *

                                                        An object that defines the event destination.

                                                        */ EventDestination: EventDestinationDefinition | undefined; - - /** - *

                                                        The name of the event destination that you want to modify.

                                                        - */ - EventDestinationName: string | undefined; } export namespace UpdateConfigurationSetEventDestinationRequest { diff --git a/clients/client-pinpoint-email/protocols/Aws_restJson1.ts b/clients/client-pinpoint-email/protocols/Aws_restJson1.ts index ba59022d8b62..346a0f13d0ac 100644 --- a/clients/client-pinpoint-email/protocols/Aws_restJson1.ts +++ b/clients/client-pinpoint-email/protocols/Aws_restJson1.ts @@ -633,9 +633,9 @@ export const serializeAws_restJson1GetDedicatedIpsCommand = async ( }; let resolvedPath = "/v1/email/dedicated-ips"; const query: any = { + ...(input.PoolName !== undefined && { PoolName: input.PoolName }), ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), - ...(input.PoolName !== undefined && { PoolName: input.PoolName }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -751,8 +751,8 @@ export const serializeAws_restJson1GetDomainStatisticsReportCommand = async ( throw new Error("No value provided for input HTTP label: Domain."); } const query: any = { - ...(input.EndDate !== undefined && { EndDate: (input.EndDate.toISOString().split(".")[0] + "Z").toString() }), ...(input.StartDate !== undefined && { StartDate: (input.StartDate.toISOString().split(".")[0] + "Z").toString() }), + ...(input.EndDate !== undefined && { EndDate: (input.EndDate.toISOString().split(".")[0] + "Z").toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -807,8 +807,8 @@ export const serializeAws_restJson1ListConfigurationSetsCommand = async ( }; let resolvedPath = "/v1/email/configuration-sets"; const query: any = { - ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -895,9 +895,9 @@ export const serializeAws_restJson1ListDomainDeliverabilityCampaignsCommand = as } const query: any = { ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), - ...(input.EndDate !== undefined && { EndDate: (input.EndDate.toISOString().split(".")[0] + "Z").toString() }), - ...(input.StartDate !== undefined && { StartDate: (input.StartDate.toISOString().split(".")[0] + "Z").toString() }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.StartDate !== undefined && { StartDate: (input.StartDate.toISOString().split(".")[0] + "Z").toString() }), + ...(input.EndDate !== undefined && { EndDate: (input.EndDate.toISOString().split(".")[0] + "Z").toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -922,8 +922,8 @@ export const serializeAws_restJson1ListEmailIdentitiesCommand = async ( }; let resolvedPath = "/v1/email/identities"; const query: any = { - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1433,15 +1433,6 @@ export const serializeAws_restJson1UpdateConfigurationSetEventDestinationCommand "Content-Type": "application/json", }; let resolvedPath = "/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}"; - if (input.ConfigurationSetName !== undefined) { - const labelValue: string = input.ConfigurationSetName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ConfigurationSetName."); - } - resolvedPath = resolvedPath.replace("{ConfigurationSetName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ConfigurationSetName."); - } if (input.EventDestinationName !== undefined) { const labelValue: string = input.EventDestinationName; if (labelValue.length <= 0) { @@ -1451,6 +1442,15 @@ export const serializeAws_restJson1UpdateConfigurationSetEventDestinationCommand } else { throw new Error("No value provided for input HTTP label: EventDestinationName."); } + if (input.ConfigurationSetName !== undefined) { + const labelValue: string = input.ConfigurationSetName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ConfigurationSetName."); + } + resolvedPath = resolvedPath.replace("{ConfigurationSetName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ConfigurationSetName."); + } let body: any; body = JSON.stringify({ ...(input.EventDestination !== undefined && { diff --git a/clients/client-pinpoint-sms-voice/models/models_0.ts b/clients/client-pinpoint-sms-voice/models/models_0.ts index e8267a90e615..e81bb8609cb7 100644 --- a/clients/client-pinpoint-sms-voice/models/models_0.ts +++ b/clients/client-pinpoint-sms-voice/models/models_0.ts @@ -52,14 +52,14 @@ export namespace CallInstructionsMessageType { */ export interface CloudWatchLogsDestination { /** - * The Amazon Resource Name (ARN) of an Amazon Identity and Access Management (IAM) role that is able to write event data to an Amazon CloudWatch destination. + * The name of the Amazon CloudWatch Log Group that you want to record events in. */ - IamRoleArn?: string; + LogGroupArn?: string; /** - * The name of the Amazon CloudWatch Log Group that you want to record events in. + * The Amazon Resource Name (ARN) of an Amazon Identity and Access Management (IAM) role that is able to write event data to an Amazon CloudWatch destination. */ - LogGroupArn?: string; + IamRoleArn?: string; } export namespace CloudWatchLogsDestination { @@ -192,14 +192,9 @@ export namespace SnsDestination { */ export interface EventDestinationDefinition { /** - * Indicates whether or not the event destination is enabled. If the event destination is enabled, then Amazon Pinpoint sends response data to the specified event destination. - */ - Enabled?: boolean; - - /** - * An object that contains information about an event destination that sends data to Amazon SNS. + * An object that contains information about an event destination that sends data to Amazon CloudWatch Logs. */ - SnsDestination?: SnsDestination; + CloudWatchLogsDestination?: CloudWatchLogsDestination; /** * An object that contains information about an event destination that sends data to Amazon Kinesis Data Firehose. @@ -212,9 +207,14 @@ export interface EventDestinationDefinition { MatchingEventTypes?: (EventType | string)[]; /** - * An object that contains information about an event destination that sends data to Amazon CloudWatch Logs. + * An object that contains information about an event destination that sends data to Amazon SNS. */ - CloudWatchLogsDestination?: CloudWatchLogsDestination; + SnsDestination?: SnsDestination; + + /** + * Indicates whether or not the event destination is enabled. If the event destination is enabled, then Amazon Pinpoint sends response data to the specified event destination. + */ + Enabled?: boolean; } export namespace EventDestinationDefinition { @@ -227,11 +227,6 @@ export namespace EventDestinationDefinition { * Create a new event destination in a configuration set. */ export interface CreateConfigurationSetEventDestinationRequest { - /** - * ConfigurationSetName - */ - ConfigurationSetName: string | undefined; - /** * An object that defines a single event destination. */ @@ -241,6 +236,11 @@ export interface CreateConfigurationSetEventDestinationRequest { * A name that identifies the event destination. */ EventDestinationName?: string; + + /** + * ConfigurationSetName + */ + ConfigurationSetName: string | undefined; } export namespace CreateConfigurationSetEventDestinationRequest { @@ -301,14 +301,14 @@ export namespace DeleteConfigurationSetResponse { export interface DeleteConfigurationSetEventDestinationRequest { /** - * ConfigurationSetName + * EventDestinationName */ - ConfigurationSetName: string | undefined; + EventDestinationName: string | undefined; /** - * EventDestinationName + * ConfigurationSetName */ - EventDestinationName: string | undefined; + ConfigurationSetName: string | undefined; } export namespace DeleteConfigurationSetEventDestinationRequest { @@ -333,14 +333,14 @@ export namespace DeleteConfigurationSetEventDestinationResponse { */ export interface EventDestination { /** - * A name that identifies the event destination configuration. + * An object that contains information about an event destination that sends data to Amazon Kinesis Data Firehose. */ - Name?: string; + KinesisFirehoseDestination?: KinesisFirehoseDestination; /** - * An object that contains information about an event destination that sends data to Amazon SNS. + * An array of EventDestination objects. Each EventDestination object includes ARNs and other information that define an event destination. */ - SnsDestination?: SnsDestination; + MatchingEventTypes?: (EventType | string)[]; /** * Indicates whether or not the event destination is enabled. If the event destination is enabled, then Amazon Pinpoint sends response data to the specified event destination. @@ -348,19 +348,19 @@ export interface EventDestination { Enabled?: boolean; /** - * An object that contains information about an event destination that sends data to Amazon Kinesis Data Firehose. + * An object that contains information about an event destination that sends data to Amazon CloudWatch Logs. */ - KinesisFirehoseDestination?: KinesisFirehoseDestination; + CloudWatchLogsDestination?: CloudWatchLogsDestination; /** - * An array of EventDestination objects. Each EventDestination object includes ARNs and other information that define an event destination. + * A name that identifies the event destination configuration. */ - MatchingEventTypes?: (EventType | string)[]; + Name?: string; /** - * An object that contains information about an event destination that sends data to Amazon CloudWatch Logs. + * An object that contains information about an event destination that sends data to Amazon SNS. */ - CloudWatchLogsDestination?: CloudWatchLogsDestination; + SnsDestination?: SnsDestination; } export namespace EventDestination { @@ -421,14 +421,14 @@ export namespace ListConfigurationSetsRequest { */ export interface ListConfigurationSetsResponse { /** - * An object that contains a list of configuration sets for your account in the current region. + * A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets. */ - ConfigurationSets?: string[]; + NextToken?: string; /** - * A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets. + * An object that contains a list of configuration sets for your account in the current region. */ - NextToken?: string; + ConfigurationSets?: string[]; } export namespace ListConfigurationSetsResponse { @@ -442,9 +442,9 @@ export namespace ListConfigurationSetsResponse { */ export interface PlainTextMessageType { /** - * The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide. + * The plain (not SSML-formatted) text to deliver to the recipient. */ - LanguageCode?: string; + Text?: string; /** * The name of the voice that you want to use to deliver the message. For a complete list of supported voices, see the Amazon Polly Developer Guide. @@ -452,9 +452,9 @@ export interface PlainTextMessageType { VoiceId?: string; /** - * The plain (not SSML-formatted) text to deliver to the recipient. + * The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide. */ - Text?: string; + LanguageCode?: string; } export namespace PlainTextMessageType { @@ -468,9 +468,9 @@ export namespace PlainTextMessageType { */ export interface SSMLMessageType { /** - * The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide. + * The SSML-formatted text to deliver to the recipient. */ - LanguageCode?: string; + Text?: string; /** * The name of the voice that you want to use to deliver the message. For a complete list of supported voices, see the Amazon Polly Developer Guide. @@ -478,9 +478,9 @@ export interface SSMLMessageType { VoiceId?: string; /** - * The SSML-formatted text to deliver to the recipient. + * The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide. */ - Text?: string; + LanguageCode?: string; } export namespace SSMLMessageType { @@ -494,9 +494,9 @@ export namespace SSMLMessageType { */ export interface VoiceMessageContent { /** - * An object that defines a message that contains unformatted text. + * An object that defines a message that contains SSML-formatted text. */ - PlainTextMessage?: PlainTextMessageType; + SSMLMessage?: SSMLMessageType; /** * An object that defines a message that contains text formatted using Amazon Pinpoint Voice Instructions markup. @@ -504,9 +504,9 @@ export interface VoiceMessageContent { CallInstructionsMessage?: CallInstructionsMessageType; /** - * An object that defines a message that contains SSML-formatted text. + * An object that defines a message that contains unformatted text. */ - SSMLMessage?: SSMLMessageType; + PlainTextMessage?: PlainTextMessageType; } export namespace VoiceMessageContent { @@ -520,19 +520,19 @@ export namespace VoiceMessageContent { */ export interface SendVoiceMessageRequest { /** - * The phone number that appears on recipients' devices when they receive the message. + * The name of the configuration set that you want to use to send the message. */ - CallerId?: string; + ConfigurationSetName?: string; /** - * An object that contains a voice message and information about the recipient that you want to send it to. + * The phone number that you want to send the voice message to. */ - Content?: VoiceMessageContent; + DestinationPhoneNumber?: string; /** - * The name of the configuration set that you want to use to send the message. + * The phone number that appears on recipients' devices when they receive the message. */ - ConfigurationSetName?: string; + CallerId?: string; /** * The phone number that Amazon Pinpoint should use to send the voice message. This isn't necessarily the phone number that appears on recipients' devices when they receive the message, because you can specify a CallerId parameter in the request. @@ -540,9 +540,9 @@ export interface SendVoiceMessageRequest { OriginationPhoneNumber?: string; /** - * The phone number that you want to send the voice message to. + * An object that contains a voice message and information about the recipient that you want to send it to. */ - DestinationPhoneNumber?: string; + Content?: VoiceMessageContent; } export namespace SendVoiceMessageRequest { @@ -571,6 +571,11 @@ export namespace SendVoiceMessageResponse { * UpdateConfigurationSetEventDestinationRequest */ export interface UpdateConfigurationSetEventDestinationRequest { + /** + * ConfigurationSetName + */ + ConfigurationSetName: string | undefined; + /** * An object that defines a single event destination. */ @@ -580,11 +585,6 @@ export interface UpdateConfigurationSetEventDestinationRequest { * EventDestinationName */ EventDestinationName: string | undefined; - - /** - * ConfigurationSetName - */ - ConfigurationSetName: string | undefined; } export namespace UpdateConfigurationSetEventDestinationRequest { diff --git a/clients/client-pinpoint-sms-voice/protocols/Aws_restJson1.ts b/clients/client-pinpoint-sms-voice/protocols/Aws_restJson1.ts index bc565e801076..7b3fc9c87733 100644 --- a/clients/client-pinpoint-sms-voice/protocols/Aws_restJson1.ts +++ b/clients/client-pinpoint-sms-voice/protocols/Aws_restJson1.ts @@ -156,15 +156,6 @@ export const serializeAws_restJson1DeleteConfigurationSetEventDestinationCommand }; let resolvedPath = "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}"; - if (input.ConfigurationSetName !== undefined) { - const labelValue: string = input.ConfigurationSetName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ConfigurationSetName."); - } - resolvedPath = resolvedPath.replace("{ConfigurationSetName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ConfigurationSetName."); - } if (input.EventDestinationName !== undefined) { const labelValue: string = input.EventDestinationName; if (labelValue.length <= 0) { @@ -174,6 +165,15 @@ export const serializeAws_restJson1DeleteConfigurationSetEventDestinationCommand } else { throw new Error("No value provided for input HTTP label: EventDestinationName."); } + if (input.ConfigurationSetName !== undefined) { + const labelValue: string = input.ConfigurationSetName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ConfigurationSetName."); + } + resolvedPath = resolvedPath.replace("{ConfigurationSetName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ConfigurationSetName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -280,15 +280,6 @@ export const serializeAws_restJson1UpdateConfigurationSetEventDestinationCommand }; let resolvedPath = "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}"; - if (input.EventDestinationName !== undefined) { - const labelValue: string = input.EventDestinationName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: EventDestinationName."); - } - resolvedPath = resolvedPath.replace("{EventDestinationName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: EventDestinationName."); - } if (input.ConfigurationSetName !== undefined) { const labelValue: string = input.ConfigurationSetName; if (labelValue.length <= 0) { @@ -298,6 +289,15 @@ export const serializeAws_restJson1UpdateConfigurationSetEventDestinationCommand } else { throw new Error("No value provided for input HTTP label: ConfigurationSetName."); } + if (input.EventDestinationName !== undefined) { + const labelValue: string = input.EventDestinationName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EventDestinationName."); + } + resolvedPath = resolvedPath.replace("{EventDestinationName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EventDestinationName."); + } let body: any; body = JSON.stringify({ ...(input.EventDestination !== undefined && { diff --git a/clients/client-pinpoint/commands/GetJourneyDateRangeKpiCommand.ts b/clients/client-pinpoint/commands/GetJourneyDateRangeKpiCommand.ts index 163c096996a8..537360d6f8c2 100644 --- a/clients/client-pinpoint/commands/GetJourneyDateRangeKpiCommand.ts +++ b/clients/client-pinpoint/commands/GetJourneyDateRangeKpiCommand.ts @@ -1,5 +1,5 @@ import { PinpointClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../PinpointClient"; -import { GetJourneyDateRangeKpiRequest, GetJourneyDateRangeKpiResponse } from "../models/models_0"; +import { GetJourneyDateRangeKpiRequest, GetJourneyDateRangeKpiResponse } from "../models/models_1"; import { deserializeAws_restJson1GetJourneyDateRangeKpiCommand, serializeAws_restJson1GetJourneyDateRangeKpiCommand, diff --git a/clients/client-pinpoint/models/models_0.ts b/clients/client-pinpoint/models/models_0.ts index 1c5b205e41c9..dba918c06607 100644 --- a/clients/client-pinpoint/models/models_0.ts +++ b/clients/client-pinpoint/models/models_0.ts @@ -36,30 +36,25 @@ export interface ActivityResponse { */ ApplicationId: string | undefined; - /** - *

                                                        The current status of the activity. Possible values are: PENDING, INITIALIZING, RUNNING, PAUSED, CANCELLED, and COMPLETED.

                                                        - */ - State?: string; - /** *

                                                        The actual time, in ISO 8601 format, when the activity was marked CANCELLED or COMPLETED.

                                                        */ End?: string; /** - *

                                                        The total number of time zones that were completed.

                                                        + *

                                                        The unique identifier for the campaign that the activity applies to.

                                                        */ - TimezonesCompletedCount?: number; + CampaignId: string | undefined; /** - *

                                                        The unique identifier for the activity.

                                                        + *

                                                        The actual start time, in ISO 8601 format, of the activity.

                                                        */ - Id: string | undefined; + Start?: string; /** - *

                                                        The unique identifier for the campaign treatment that the activity applies to. A treatment is a variation of a campaign that's used for A/B testing of a campaign.

                                                        + *

                                                        The scheduled start time, in ISO 8601 format, for the activity.

                                                        */ - TreatmentId?: string; + ScheduledStart?: string; /** *

                                                        The total number of endpoints that the campaign successfully delivered messages to.

                                                        @@ -67,29 +62,34 @@ export interface ActivityResponse { SuccessfulEndpointCount?: number; /** - *

                                                        The scheduled start time, in ISO 8601 format, for the activity.

                                                        + *

                                                        The total number of endpoints that the campaign attempted to deliver messages to.

                                                        */ - ScheduledStart?: string; + TotalEndpointCount?: number; /** - *

                                                        The total number of endpoints that the campaign attempted to deliver messages to.

                                                        + *

                                                        The unique identifier for the activity.

                                                        */ - TotalEndpointCount?: number; + Id: string | undefined; /** - *

                                                        Specifies whether the activity succeeded. Possible values are SUCCESS and FAIL.

                                                        + *

                                                        The unique identifier for the campaign treatment that the activity applies to. A treatment is a variation of a campaign that's used for A/B testing of a campaign.

                                                        */ - Result?: string; + TreatmentId?: string; /** - *

                                                        The actual start time, in ISO 8601 format, of the activity.

                                                        + *

                                                        The current status of the activity. Possible values are: PENDING, INITIALIZING, RUNNING, PAUSED, CANCELLED, and COMPLETED.

                                                        */ - Start?: string; + State?: string; /** - *

                                                        The unique identifier for the campaign that the activity applies to.

                                                        + *

                                                        Specifies whether the activity succeeded. Possible values are SUCCESS and FAIL.

                                                        */ - CampaignId: string | undefined; + Result?: string; + + /** + *

                                                        The total number of time zones that were completed.

                                                        + */ + TimezonesCompletedCount?: number; } export namespace ActivityResponse { @@ -129,14 +129,14 @@ export enum AttributeType { */ export interface AttributeDimension { /** - *

                                                        The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints that match the criteria are included in the segment; and, EXCLUSIVE, endpoints that match the criteria are excluded from the segment.

                                                        + *

                                                        The criteria values to use for the segment dimension. Depending on the value of the AttributeType property, endpoints are included or excluded from the segment if their attribute values match the criteria values.

                                                        */ - AttributeType?: AttributeType | string; + Values: string[] | undefined; /** - *

                                                        The criteria values to use for the segment dimension. Depending on the value of the AttributeType property, endpoints are included or excluded from the segment if their attribute values match the criteria values.

                                                        + *

                                                        The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints that match the criteria are included in the segment; and, EXCLUSIVE, endpoints that match the criteria are excluded from the segment.

                                                        */ - Values: string[] | undefined; + AttributeType?: AttributeType | string; } export namespace AttributeDimension { @@ -176,14 +176,14 @@ export namespace SetDimension { */ export interface MetricDimension { /** - *

                                                        The operator to use when comparing metric values. Valid values are: GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.

                                                        + *

                                                        The value to compare.

                                                        */ - ComparisonOperator: string | undefined; + Value: number | undefined; /** - *

                                                        The value to compare.

                                                        + *

                                                        The operator to use when comparing metric values. Valid values are: GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.

                                                        */ - Value: number | undefined; + ComparisonOperator: string | undefined; } export namespace MetricDimension { @@ -196,6 +196,11 @@ export namespace MetricDimension { *

                                                        Specifies the dimensions for an event filter that determines when a campaign is sent or a journey activity is performed.

                                                        */ export interface EventDimensions { + /** + *

                                                        One or more custom attributes that your application reports to Amazon Pinpoint. You can use these attributes as selection criteria when you create an event filter.

                                                        + */ + Attributes?: { [key: string]: AttributeDimension }; + /** *

                                                        The name of the event that causes the campaign to be sent or the journey activity to be performed. This can be a standard event that Amazon Pinpoint generates, such as _email.delivered. For campaigns, this can also be a custom event that's specific to your application. For information about standard events, see Streaming Amazon Pinpoint Events in the Amazon Pinpoint Developer Guide.

                                                        */ @@ -205,11 +210,6 @@ export interface EventDimensions { *

                                                        One or more custom metrics that your application reports to Amazon Pinpoint. You can use these metrics as selection criteria when you create an event filter.

                                                        */ Metrics?: { [key: string]: MetricDimension }; - - /** - *

                                                        One or more custom attributes that your application reports to Amazon Pinpoint. You can use these attributes as selection criteria when you create an event filter.

                                                        - */ - Attributes?: { [key: string]: AttributeDimension }; } export namespace EventDimensions { @@ -272,14 +272,14 @@ export enum RecencyType { */ export interface RecencyDimension { /** - *

                                                        The duration to use when determining whether an endpoint is active or inactive.

                                                        + *

                                                        The type of recency dimension to use for the segment. Valid values are: ACTIVE, endpoints that were active within the specified duration are included in the segment; and, INACTIVE, endpoints that weren't active within the specified duration are included in the segment.

                                                        */ - Duration: Duration | string | undefined; + RecencyType: RecencyType | string | undefined; /** - *

                                                        The type of recency dimension to use for the segment. Valid values are: ACTIVE, endpoints that were active within the specified duration are included in the segment; and, INACTIVE, endpoints that weren't active within the specified duration are included in the segment.

                                                        + *

                                                        The duration to use when determining whether an endpoint is active or inactive.

                                                        */ - RecencyType: RecencyType | string | undefined; + Duration: Duration | string | undefined; } export namespace RecencyDimension { @@ -309,9 +309,9 @@ export namespace SegmentBehaviors { */ export interface SegmentDemographics { /** - *

                                                        The device type criteria for the segment.

                                                        + *

                                                        The channel criteria for the segment.

                                                        */ - DeviceType?: SetDimension; + Channel?: SetDimension; /** *

                                                        The app version criteria for the segment.

                                                        @@ -319,14 +319,14 @@ export interface SegmentDemographics { AppVersion?: SetDimension; /** - *

                                                        The channel criteria for the segment.

                                                        + *

                                                        The device type criteria for the segment.

                                                        */ - Channel?: SetDimension; + DeviceType?: SetDimension; /** - *

                                                        The device make criteria for the segment.

                                                        + *

                                                        The device platform criteria for the segment.

                                                        */ - Make?: SetDimension; + Platform?: SetDimension; /** *

                                                        The device model criteria for the segment.

                                                        @@ -334,9 +334,9 @@ export interface SegmentDemographics { Model?: SetDimension; /** - *

                                                        The device platform criteria for the segment.

                                                        + *

                                                        The device make criteria for the segment.

                                                        */ - Platform?: SetDimension; + Make?: SetDimension; } export namespace SegmentDemographics { @@ -371,14 +371,14 @@ export namespace GPSCoordinates { */ export interface GPSPointDimension { /** - *

                                                        The GPS coordinates to measure distance from.

                                                        + *

                                                        The range, in kilometers, from the GPS coordinates.

                                                        */ - Coordinates: GPSCoordinates | undefined; + RangeInKilometers?: number; /** - *

                                                        The range, in kilometers, from the GPS coordinates.

                                                        + *

                                                        The GPS coordinates to measure distance from.

                                                        */ - RangeInKilometers?: number; + Coordinates: GPSCoordinates | undefined; } export namespace GPSPointDimension { @@ -392,14 +392,14 @@ export namespace GPSPointDimension { */ export interface SegmentLocation { /** - *

                                                        The country or region code, in ISO 3166-1 alpha-2 format, for the segment.

                                                        + *

                                                        The GPS location and range for the segment.

                                                        */ - Country?: SetDimension; + GPSPoint?: GPSPointDimension; /** - *

                                                        The GPS location and range for the segment.

                                                        + *

                                                        The country or region code, in ISO 3166-1 alpha-2 format, for the segment.

                                                        */ - GPSPoint?: GPSPointDimension; + Country?: SetDimension; } export namespace SegmentLocation { @@ -413,34 +413,34 @@ export namespace SegmentLocation { */ export interface SegmentDimensions { /** - *

                                                        The behavior-based criteria, such as how recently users have used your app, for the segment.

                                                        + *

                                                        One or more custom metrics to use as criteria for the segment.

                                                        */ - Behavior?: SegmentBehaviors; + Metrics?: { [key: string]: MetricDimension }; /** - *

                                                        One or more custom attributes to use as criteria for the segment.

                                                        + *

                                                        The location-based criteria, such as region or GPS coordinates, for the segment.

                                                        */ - Attributes?: { [key: string]: AttributeDimension }; + Location?: SegmentLocation; /** - *

                                                        The demographic-based criteria, such as device platform, for the segment.

                                                        + *

                                                        One or more custom user attributes to use as criteria for the segment.

                                                        */ - Demographic?: SegmentDemographics; + UserAttributes?: { [key: string]: AttributeDimension }; /** - *

                                                        One or more custom metrics to use as criteria for the segment.

                                                        + *

                                                        One or more custom attributes to use as criteria for the segment.

                                                        */ - Metrics?: { [key: string]: MetricDimension }; + Attributes?: { [key: string]: AttributeDimension }; /** - *

                                                        The location-based criteria, such as region or GPS coordinates, for the segment.

                                                        + *

                                                        The behavior-based criteria, such as how recently users have used your app, for the segment.

                                                        */ - Location?: SegmentLocation; + Behavior?: SegmentBehaviors; /** - *

                                                        One or more custom user attributes to use as criteria for the segment.

                                                        + *

                                                        The demographic-based criteria, such as device platform, for the segment.

                                                        */ - UserAttributes?: { [key: string]: AttributeDimension }; + Demographic?: SegmentDemographics; } export namespace SegmentDimensions { @@ -453,11 +453,6 @@ export namespace SegmentDimensions { *

                                                        Specifies a condition to evaluate for an activity in a journey.

                                                        */ export interface SimpleCondition { - /** - *

                                                        The dimension settings for the segment that's associated with the activity.

                                                        - */ - SegmentDimensions?: SegmentDimensions; - /** *

                                                        The dimension settings for the event that's associated with the activity.

                                                        */ @@ -467,6 +462,11 @@ export interface SimpleCondition { *

                                                        The segment that's associated with the activity.

                                                        */ SegmentCondition?: SegmentCondition; + + /** + *

                                                        The dimension settings for the segment that's associated with the activity.

                                                        + */ + SegmentDimensions?: SegmentDimensions; } export namespace SimpleCondition { @@ -485,14 +485,14 @@ export enum Operator { */ export interface Condition { /** - *

                                                        Specifies how to handle multiple conditions for the activity. For example, if you specify two conditions for an activity, whether both or only one of the conditions must be met for the activity to be performed.

                                                        + *

                                                        The conditions to evaluate for the activity.

                                                        */ - Operator?: Operator | string; + Conditions?: SimpleCondition[]; /** - *

                                                        The conditions to evaluate for the activity.

                                                        + *

                                                        Specifies how to handle multiple conditions for the activity. For example, if you specify two conditions for an activity, whether both or only one of the conditions must be met for the activity to be performed.

                                                        */ - Conditions?: SimpleCondition[]; + Operator?: Operator | string; } export namespace Condition { @@ -523,13 +523,13 @@ export namespace WaitTime { } /** - *

                                                        Specifies the settings for a yes/no split activity in a journey. This type of activity sends participants down one of two paths in a journey, based on conditions that you specify.

                                                        + *

                                                        Specifies the settings for a yes/no split activity in a journey. This type of activity sends participants down one of two paths in a journey, based on conditions that you specify.

                                                        To create yes/no split activities that send participants down different paths based on push notification events (such as Open or Received events), your mobile app has to specify the User ID and Endpoint ID values. For more information, see Integrating Amazon Pinpoint with your application in the Amazon Pinpoint Developer Guide.

                                                        */ export interface ConditionalSplitActivity { /** - *

                                                        The conditions that define the paths for the activity, and the relationship between the conditions.

                                                        + *

                                                        The amount of time to wait before determining whether the conditions are met, or the date and time when Amazon Pinpoint determines whether the conditions are met.

                                                        */ - Condition?: Condition; + EvaluationWaitTime?: WaitTime; /** *

                                                        The unique identifier for the activity to perform if the conditions aren't met.

                                                        @@ -537,9 +537,9 @@ export interface ConditionalSplitActivity { FalseActivity?: string; /** - *

                                                        The amount of time to wait before determining whether the conditions are met, or the date and time when Amazon Pinpoint determines whether the conditions are met.

                                                        + *

                                                        The conditions that define the paths for the activity, and the relationship between the conditions.

                                                        */ - EvaluationWaitTime?: WaitTime; + Condition?: Condition; /** *

                                                        The unique identifier for the activity to perform if the conditions are met.

                                                        @@ -574,29 +574,29 @@ export namespace JourneyCustomMessage { */ export interface CustomMessageActivity { /** - *

                                                        The types of endpoints to send the custom message to. Each valid value maps to a type of channel that you can associate with an endpoint by using the ChannelType property of an endpoint.

                                                        + *

                                                        The name of the custom message template to use for the message. If specified, this value must match the name of an existing message template.

                                                        */ - EndpointTypes?: (__EndpointTypesElement | string)[]; + TemplateName?: string; /** - *

                                                        The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

                                                        If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

                                                        + *

                                                        The unique identifier for the next activity to perform, after Amazon Pinpoint calls the AWS Lambda function or web hook.

                                                        */ - TemplateVersion?: string; + NextActivity?: string; /** - *

                                                        The unique identifier for the next activity to perform, after Amazon Pinpoint calls the AWS Lambda function or web hook.

                                                        + *

                                                        The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

                                                        If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

                                                        */ - NextActivity?: string; + TemplateVersion?: string; /** - *

                                                        The destination to send the custom message to. This value can be one of the following:

                                                        • The name or Amazon Resource Name (ARN) of an AWS Lambda function to invoke to handle delivery of the custom message.

                                                        • The URL for a web application or service that supports HTTPS and can receive the message. The URL has to be a full URL, including the HTTPS protocol.

                                                        + *

                                                        The types of endpoints to send the custom message to. Each valid value maps to a type of channel that you can associate with an endpoint by using the ChannelType property of an endpoint.

                                                        */ - DeliveryUri?: string; + EndpointTypes?: (__EndpointTypesElement | string)[]; /** - *

                                                        The name of the custom message template to use for the message. If specified, this value must match the name of an existing message template.

                                                        + *

                                                        The destination to send the campaign or treatment to. This value can be one of the following:

                                                        • The name or Amazon Resource Name (ARN) of an AWS Lambda function to invoke to handle delivery of the campaign or treatment.

                                                        • The URL for a web application or service that supports HTTPS and can receive the message. The URL has to be a full URL, including the HTTPS protocol.

                                                        */ - TemplateName?: string; + DeliveryUri?: string; /** *

                                                        Specifies the message data included in a custom channel message that's sent to participants in a journey.

                                                        @@ -630,25 +630,25 @@ export namespace JourneyEmailMessage { *

                                                        Specifies the settings for an email activity in a journey. This type of activity sends an email message to participants.

                                                        */ export interface EmailMessageActivity { - /** - *

                                                        The name of the email message template to use for the message. If specified, this value must match the name of an existing message template.

                                                        - */ - TemplateName?: string; - /** *

                                                        Specifies the sender address for an email message that's sent to participants in the journey.

                                                        */ MessageConfig?: JourneyEmailMessage; /** - *

                                                        The unique identifier for the version of the email template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

                                                        If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

                                                        + *

                                                        The name of the email message template to use for the message. If specified, this value must match the name of an existing message template.

                                                        */ - TemplateVersion?: string; + TemplateName?: string; /** *

                                                        The unique identifier for the next activity to perform, after the message is sent.

                                                        */ NextActivity?: string; + + /** + *

                                                        The unique identifier for the version of the email template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

                                                        If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

                                                        + */ + TemplateVersion?: string; } export namespace EmailMessageActivity { @@ -662,14 +662,14 @@ export namespace EmailMessageActivity { */ export interface HoldoutActivity { /** - *

                                                        The unique identifier for the next activity to perform, after performing the holdout activity.

                                                        + *

                                                        The percentage of participants who shouldn't continue the journey.

                                                        To determine which participants are held out, Amazon Pinpoint applies a probability-based algorithm to the percentage that you specify. Therefore, the actual percentage of participants who are held out may not be equal to the percentage that you specify.

                                                        */ - NextActivity?: string; + Percentage: number | undefined; /** - *

                                                        The percentage of participants who shouldn't continue the journey.

                                                        To determine which participants are held out, Amazon Pinpoint applies a probability-based algorithm to the percentage that you specify. Therefore, the actual percentage of participants who are held out may not be equal to the percentage that you specify.

                                                        + *

                                                        The unique identifier for the next activity to perform, after performing the holdout activity.

                                                        */ - Percentage: number | undefined; + NextActivity?: string; } export namespace HoldoutActivity { @@ -700,7 +700,7 @@ export namespace MultiConditionalBranch { } /** - *

                                                        Specifies the settings for a multivariate split activity in a journey. This type of activity sends participants down one of as many as five paths (including a default Else path) in a journey, based on conditions that you specify.

                                                        + *

                                                        Specifies the settings for a multivariate split activity in a journey. This type of activity sends participants down one of as many as five paths (including a default Else path) in a journey, based on conditions that you specify.

                                                        To create multivariate split activities that send participants down different paths based on push notification events (such as Open or Received events), your mobile app has to specify the User ID and Endpoint ID values. For more information, see Integrating Amazon Pinpoint with your application in the Amazon Pinpoint Developer Guide.

                                                        */ export interface MultiConditionalSplitActivity { /** @@ -750,11 +750,6 @@ export interface PushMessageActivity { */ MessageConfig?: JourneyPushMessage; - /** - *

                                                        The name of the push notification template to use for the message. If specified, this value must match the name of an existing message template.

                                                        - */ - TemplateName?: string; - /** *

                                                        The unique identifier for the next activity to perform, after the message is sent.

                                                        */ @@ -764,6 +759,11 @@ export interface PushMessageActivity { *

                                                        The unique identifier for the version of the push notification template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

                                                        If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

                                                        */ TemplateVersion?: string; + + /** + *

                                                        The name of the push notification template to use for the message. If specified, this value must match the name of an existing message template.

                                                        + */ + TemplateName?: string; } export namespace PushMessageActivity { @@ -819,7 +819,7 @@ export enum MessageType { */ export interface JourneySMSMessage { /** - *

                                                        The sender ID to display as the sender of the message on a recipient's device. Support for sender IDs varies by country or region. For more information, see Supported Countries and Regions in the Amazon Pinpoint User Guide.

                                                        + *

                                                        The sender ID to display as the sender of the message on a recipient's device. Support for sender IDs varies by country or region. For more information, see Supported Countries and Regions in the Amazon Pinpoint User Guide.

                                                        */ SenderId?: string; @@ -840,24 +840,24 @@ export namespace JourneySMSMessage { */ export interface SMSMessageActivity { /** - *

                                                        The unique identifier for the next activity to perform, after the message is sent.

                                                        + *

                                                        The unique identifier for the version of the SMS template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

                                                        If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

                                                        */ - NextActivity?: string; + TemplateVersion?: string; /** - *

                                                        Specifies the sender ID and message type for an SMS message that's sent to participants in a journey.

                                                        + *

                                                        The unique identifier for the next activity to perform, after the message is sent.

                                                        */ - MessageConfig?: JourneySMSMessage; + NextActivity?: string; /** - *

                                                        The unique identifier for the version of the SMS template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

                                                        If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

                                                        + *

                                                        The name of the SMS message template to use for the message. If specified, this value must match the name of an existing message template.

                                                        */ - TemplateVersion?: string; + TemplateName?: string; /** - *

                                                        The name of the SMS message template to use for the message. If specified, this value must match the name of an existing message template.

                                                        + *

                                                        Specifies the sender ID and message type for an SMS message that's sent to participants in a journey.

                                                        */ - TemplateName?: string; + MessageConfig?: JourneySMSMessage; } export namespace SMSMessageActivity { @@ -871,14 +871,14 @@ export namespace SMSMessageActivity { */ export interface WaitActivity { /** - *

                                                        The unique identifier for the next activity to perform, after performing the wait activity.

                                                        + *

                                                        The amount of time to wait or the date and time when the activity moves participants to the next activity in the journey.

                                                        */ - NextActivity?: string; + WaitTime?: WaitTime; /** - *

                                                        The amount of time to wait or the date and time when the activity moves participants to the next activity in the journey.

                                                        + *

                                                        The unique identifier for the next activity to perform, after performing the wait activity.

                                                        */ - WaitTime?: WaitTime; + NextActivity?: string; } export namespace WaitActivity { @@ -892,14 +892,14 @@ export namespace WaitActivity { */ export interface Activity { /** - *

                                                        The settings for an SMS activity. This type of activity sends a text message to participants.

                                                        + *

                                                        The settings for a wait activity. This type of activity waits for a certain amount of time or until a specific date and time before moving participants to the next activity in a journey.

                                                        */ - SMS?: SMSMessageActivity; + Wait?: WaitActivity; /** - *

                                                        The settings for a multivariate split activity. This type of activity sends participants down one of as many as five paths (including a default Else path) in a journey, based on conditions that you specify.

                                                        + *

                                                        The settings for an email activity. This type of activity sends an email message to participants.

                                                        */ - MultiCondition?: MultiConditionalSplitActivity; + EMAIL?: EmailMessageActivity; /** *

                                                        The custom description of the activity.

                                                        @@ -907,39 +907,39 @@ export interface Activity { Description?: string; /** - *

                                                        The settings for a wait activity. This type of activity waits for a certain amount of time or until a specific date and time before moving participants to the next activity in a journey.

                                                        + *

                                                        The settings for a multivariate split activity. This type of activity sends participants down one of as many as five paths (including a default Else path) in a journey, based on conditions that you specify.

                                                        */ - Wait?: WaitActivity; + MultiCondition?: MultiConditionalSplitActivity; /** - *

                                                        The settings for a holdout activity. This type of activity stops a journey for a specified percentage of participants.

                                                        + *

                                                        The settings for a random split activity. This type of activity randomly sends specified percentages of participants down one of as many as five paths in a journey, based on conditions that you specify.

                                                        */ - Holdout?: HoldoutActivity; + RandomSplit?: RandomSplitActivity; /** - *

                                                        The settings for a custom message activity. This type of activity calls an AWS Lambda function or web hook that sends messages to participants.

                                                        + *

                                                        The settings for a yes/no split activity. This type of activity sends participants down one of two paths in a journey, based on conditions that you specify.

                                                        */ - CUSTOM?: CustomMessageActivity; + ConditionalSplit?: ConditionalSplitActivity; /** - *

                                                        The settings for an email activity. This type of activity sends an email message to participants.

                                                        + *

                                                        The settings for a holdout activity. This type of activity stops a journey for a specified percentage of participants.

                                                        */ - EMAIL?: EmailMessageActivity; + Holdout?: HoldoutActivity; /** - *

                                                        The settings for a yes/no split activity. This type of activity sends participants down one of two paths in a journey, based on conditions that you specify.

                                                        + *

                                                        The settings for a push notification activity. This type of activity sends a push notification to participants.

                                                        */ - ConditionalSplit?: ConditionalSplitActivity; + PUSH?: PushMessageActivity; /** - *

                                                        The settings for a push notification activity. This type of activity sends a push notification to participants.

                                                        + *

                                                        The settings for a custom message activity. This type of activity calls an AWS Lambda function or web hook that sends messages to participants.

                                                        */ - PUSH?: PushMessageActivity; + CUSTOM?: CustomMessageActivity; /** - *

                                                        The settings for a random split activity. This type of activity randomly sends specified percentages of participants down one of as many as five paths in a journey, based on conditions that you specify.

                                                        + *

                                                        The settings for an SMS activity. This type of activity sends a text message to participants.

                                                        */ - RandomSplit?: RandomSplitActivity; + SMS?: SMSMessageActivity; } export namespace Activity { @@ -968,25 +968,15 @@ export enum ChannelType { */ export interface AddressConfiguration { /** - *

                                                        A map of the message variables to merge with the variables specified by properties of the DefaultMessage object. The variables specified in this map take precedence over all other variables.

                                                        - */ - Substitutions?: { [key: string]: string[] }; - - /** - *

                                                        An object that maps custom attributes to attributes for the address and is attached to the message. Attribute names are case sensitive.

                                                        For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

                                                        + *

                                                        The channel to use when sending the message.

                                                        */ - Context?: { [key: string]: string }; + ChannelType?: ChannelType | string; /** *

                                                        The message title to use instead of the default message title. This value overrides the default message title.

                                                        */ TitleOverride?: string; - /** - *

                                                        The channel to use when sending the message.

                                                        - */ - ChannelType?: ChannelType | string; - /** *

                                                        The message body to use instead of the default message body. This value overrides the default message body.

                                                        */ @@ -996,6 +986,16 @@ export interface AddressConfiguration { *

                                                        The raw, JSON-formatted string to use as the payload for the message. If specified, this value overrides all other values for the message.

                                                        */ RawContent?: string; + + /** + *

                                                        An object that maps custom attributes to attributes for the address and is attached to the message. Attribute names are case sensitive.

                                                        For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

                                                        + */ + Context?: { [key: string]: string }; + + /** + *

                                                        A map of the message variables to merge with the variables specified by properties of the DefaultMessage object. The variables specified in this map take precedence over all other variables.

                                                        + */ + Substitutions?: { [key: string]: string[] }; } export namespace AddressConfiguration { @@ -1008,6 +1008,11 @@ export namespace AddressConfiguration { *

                                                        Specifies the status and settings of the ADM (Amazon Device Messaging) channel for an application.

                                                        */ export interface ADMChannelRequest { + /** + *

                                                        Specifies whether to enable the ADM channel for the application.

                                                        + */ + Enabled?: boolean; + /** *

                                                        The Client ID that you received from Amazon to send messages by using ADM.

                                                        */ @@ -1017,11 +1022,6 @@ export interface ADMChannelRequest { *

                                                        The Client Secret that you received from Amazon to send messages by using ADM.

                                                        */ ClientSecret: string | undefined; - - /** - *

                                                        Specifies whether to enable the ADM channel for the application.

                                                        - */ - Enabled?: boolean; } export namespace ADMChannelRequest { @@ -1035,29 +1035,29 @@ export namespace ADMChannelRequest { */ export interface ADMChannelResponse { /** - *

                                                        The user who last modified the ADM channel.

                                                        + *

                                                        Specifies whether the ADM channel is archived.

                                                        */ - LastModifiedBy?: string; + IsArchived?: boolean; /** - *

                                                        The current version of the ADM channel.

                                                        + *

                                                        The user who last modified the ADM channel.

                                                        */ - Version?: number; + LastModifiedBy?: string; /** - *

                                                        The unique identifier for the application that the ADM channel applies to.

                                                        + *

                                                        The date and time when the ADM channel was enabled.

                                                        */ - ApplicationId?: string; + CreationDate?: string; /** - *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        + *

                                                        The date and time when the ADM channel was last modified.

                                                        */ - HasCredential?: boolean; + LastModifiedDate?: string; /** - *

                                                        Specifies whether the ADM channel is enabled for the application.

                                                        + *

                                                        (Deprecated) An identifier for the ADM channel. This property is retained only for backward compatibility.

                                                        */ - Enabled?: boolean; + Id?: string; /** *

                                                        The type of messaging or notification platform for the channel. For the ADM channel, this value is ADM.

                                                        @@ -1065,24 +1065,24 @@ export interface ADMChannelResponse { Platform: string | undefined; /** - *

                                                        (Deprecated) An identifier for the ADM channel. This property is retained only for backward compatibility.

                                                        + *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ - Id?: string; + HasCredential?: boolean; /** - *

                                                        Specifies whether the ADM channel is archived.

                                                        + *

                                                        Specifies whether the ADM channel is enabled for the application.

                                                        */ - IsArchived?: boolean; + Enabled?: boolean; /** - *

                                                        The date and time when the ADM channel was last modified.

                                                        + *

                                                        The unique identifier for the application that the ADM channel applies to.

                                                        */ - LastModifiedDate?: string; + ApplicationId?: string; /** - *

                                                        The date and time when the ADM channel was enabled.

                                                        + *

                                                        The current version of the ADM channel.

                                                        */ - CreationDate?: string; + Version?: number; } export namespace ADMChannelResponse { @@ -1095,70 +1095,75 @@ export namespace ADMChannelResponse { *

                                                        Specifies the settings for a one-time message that's sent directly to an endpoint through the ADM (Amazon Device Messaging) channel.

                                                        */ export interface ADMMessage { + /** + *

                                                        The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

                                                        + */ + Data?: { [key: string]: string }; + /** *

                                                        The title to display above the notification message on the recipient's device.

                                                        */ Title?: string; /** - *

                                                        The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

                                                        + *

                                                        The amount of time, in seconds, that ADM should store the message if the recipient's device is offline. Amazon Pinpoint specifies this value in the expiresAfter parameter when it sends the notification message to ADM.

                                                        */ - Sound?: string; + ExpiresAfter?: string; /** - *

                                                        The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

                                                        + *

                                                        The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        */ - RawContent?: string; + Url?: string; /** - *

                                                        The body of the notification message.

                                                        + *

                                                        The default message variables to use in the notification message. You can override the default variables with individual address variables.

                                                        */ - Body?: string; + Substitutions?: { [key: string]: string[] }; /** - *

                                                        The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        + *

                                                        The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

                                                        */ - Url?: string; + Sound?: string; /** - *

                                                        An arbitrary string that indicates that multiple messages are logically the same and that Amazon Device Messaging (ADM) can drop previously enqueued messages in favor of this message.

                                                        + *

                                                        The URL of an image to display in the push notification.

                                                        */ - ConsolidationKey?: string; + ImageUrl?: string; /** - *

                                                        The icon image name of the asset saved in your app.

                                                        + *

                                                        The base64-encoded, MD5 checksum of the value specified by the Data property. ADM uses the MD5 value to verify the integrity of the data.

                                                        */ - IconReference?: string; + MD5?: string; /** - *

                                                        The action to occur if the recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        + *

                                                        The URL of the large icon image to display in the content view of the push notification.

                                                        */ - Action?: Action | string; + ImageIconUrl?: string; /** - *

                                                        The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

                                                        + *

                                                        The URL of the small icon image to display in the status bar and the content view of the push notification.

                                                        */ - Data?: { [key: string]: string }; + SmallImageIconUrl?: string; /** - *

                                                        The amount of time, in seconds, that ADM should store the message if the recipient's device is offline. Amazon Pinpoint specifies this value in the expiresAfter parameter when it sends the notification message to ADM.

                                                        + *

                                                        The action to occur if the recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        */ - ExpiresAfter?: string; + Action?: Action | string; /** - *

                                                        The URL of an image to display in the push notification.

                                                        + *

                                                        An arbitrary string that indicates that multiple messages are logically the same and that Amazon Device Messaging (ADM) can drop previously enqueued messages in favor of this message.

                                                        */ - ImageUrl?: string; + ConsolidationKey?: string; /** - *

                                                        The URL of the small icon image to display in the status bar and the content view of the push notification.

                                                        + *

                                                        The body of the notification message.

                                                        */ - SmallImageIconUrl?: string; + Body?: string; /** - *

                                                        The default message variables to use in the notification message. You can override the default variables with individual address variables.

                                                        + *

                                                        The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

                                                        */ - Substitutions?: { [key: string]: string[] }; + RawContent?: string; /** *

                                                        Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

                                                        @@ -1166,14 +1171,9 @@ export interface ADMMessage { SilentPush?: boolean; /** - *

                                                        The base64-encoded, MD5 checksum of the value specified by the Data property. ADM uses the MD5 value to verify the integrity of the data.

                                                        - */ - MD5?: string; - - /** - *

                                                        The URL of the large icon image to display in the content view of the push notification.

                                                        + *

                                                        The icon image name of the asset saved in your app.

                                                        */ - ImageIconUrl?: string; + IconReference?: string; } export namespace ADMMessage { @@ -1187,49 +1187,49 @@ export namespace ADMMessage { */ export interface AndroidPushNotificationTemplate { /** - *

                                                        The URL of the small icon image to display in the status bar and the content view of a push notification that's based on the message template.

                                                        + *

                                                        The title to use in a push notification that's based on the message template. This title appears above the notification message on a recipient's device.

                                                        */ - SmallImageIconUrl?: string; + Title?: string; /** - *

                                                        The sound to play when a recipient receives a push notification that's based on the message template. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

                                                        + *

                                                        The URL of an image to display in a push notification that's based on the message template.

                                                        */ - Sound?: string; + ImageUrl?: string; /** - *

                                                        The raw, JSON-formatted string to use as the payload for a push notification that's based on the message template. If specified, this value overrides all other content for the message template.

                                                        + *

                                                        The URL of the small icon image to display in the status bar and the content view of a push notification that's based on the message template.

                                                        */ - RawContent?: string; + SmallImageIconUrl?: string; /** - *

                                                        The URL of an image to display in a push notification that's based on the message template.

                                                        + *

                                                        The action to occur if a recipient taps a push notification that's based on the message template. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        */ - ImageUrl?: string; + Action?: Action | string; /** - *

                                                        The message body to use in a push notification that's based on the message template.

                                                        + *

                                                        The URL of the large icon image to display in the content view of a push notification that's based on the message template.

                                                        */ - Body?: string; + ImageIconUrl?: string; /** - *

                                                        The URL to open in a recipient's default mobile browser, if a recipient taps a push notification that's based on the message template and the value of the Action property is URL.

                                                        + *

                                                        The raw, JSON-formatted string to use as the payload for a push notification that's based on the message template. If specified, this value overrides all other content for the message template.

                                                        */ - Url?: string; + RawContent?: string; /** - *

                                                        The URL of the large icon image to display in the content view of a push notification that's based on the message template.

                                                        + *

                                                        The URL to open in a recipient's default mobile browser, if a recipient taps a push notification that's based on the message template and the value of the Action property is URL.

                                                        */ - ImageIconUrl?: string; + Url?: string; /** - *

                                                        The title to use in a push notification that's based on the message template. This title appears above the notification message on a recipient's device.

                                                        + *

                                                        The message body to use in a push notification that's based on the message template.

                                                        */ - Title?: string; + Body?: string; /** - *

                                                        The action to occur if a recipient taps a push notification that's based on the message template. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        + *

                                                        The sound to play when a recipient receives a push notification that's based on the message template. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

                                                        */ - Action?: Action | string; + Sound?: string; } export namespace AndroidPushNotificationTemplate { @@ -1253,34 +1253,34 @@ export interface APNSChannelRequest { BundleId?: string; /** - *

                                                        The authentication key to use for APNs tokens.

                                                        + *

                                                        The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with APNs by using an APNs certificate.

                                                        */ - TokenKey?: string; + Certificate?: string; /** - *

                                                        Specifies whether to enable the APNs channel for the application.

                                                        + *

                                                        The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

                                                        */ - Enabled?: boolean; + TeamId?: string; /** - *

                                                        The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with APNs by using APNs tokens.

                                                        + *

                                                        The default authentication method that you want Amazon Pinpoint to use when authenticating with APNs, key or certificate.

                                                        */ - TokenKeyId?: string; + DefaultAuthenticationMethod?: string; /** - *

                                                        The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

                                                        + *

                                                        The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with APNs by using APNs tokens.

                                                        */ - TeamId?: string; + TokenKeyId?: string; /** - *

                                                        The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with APNs by using an APNs certificate.

                                                        + *

                                                        The authentication key to use for APNs tokens.

                                                        */ - Certificate?: string; + TokenKey?: string; /** - *

                                                        The default authentication method that you want Amazon Pinpoint to use when authenticating with APNs, key or certificate.

                                                        + *

                                                        Specifies whether to enable the APNs channel for the application.

                                                        */ - DefaultAuthenticationMethod?: string; + Enabled?: boolean; } export namespace APNSChannelRequest { @@ -1293,11 +1293,6 @@ export namespace APNSChannelRequest { *

                                                        Provides information about the status and settings of the APNs (Apple Push Notification service) channel for an application.

                                                        */ export interface APNSChannelResponse { - /** - *

                                                        The unique identifier for the application that the APNs channel applies to.

                                                        - */ - ApplicationId?: string; - /** *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ @@ -1309,9 +1304,9 @@ export interface APNSChannelResponse { DefaultAuthenticationMethod?: string; /** - *

                                                        The user who last modified the APNs channel.

                                                        + *

                                                        Specifies whether the APNs channel is enabled for the application.

                                                        */ - LastModifiedBy?: string; + Enabled?: boolean; /** *

                                                        The type of messaging or notification platform for the channel. For the APNs channel, this value is APNS.

                                                        @@ -1323,16 +1318,6 @@ export interface APNSChannelResponse { */ Id?: string; - /** - *

                                                        The current version of the APNs channel.

                                                        - */ - Version?: number; - - /** - *

                                                        Specifies whether the APNs channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

                                                        - */ - HasTokenKey?: boolean; - /** *

                                                        Specifies whether the APNs channel is archived.

                                                        */ @@ -1349,9 +1334,24 @@ export interface APNSChannelResponse { LastModifiedDate?: string; /** - *

                                                        Specifies whether the APNs channel is enabled for the application.

                                                        + *

                                                        Specifies whether the APNs channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

                                                        */ - Enabled?: boolean; + HasTokenKey?: boolean; + + /** + *

                                                        The user who last modified the APNs channel.

                                                        + */ + LastModifiedBy?: string; + + /** + *

                                                        The current version of the APNs channel.

                                                        + */ + Version?: number; + + /** + *

                                                        The unique identifier for the application that the APNs channel applies to.

                                                        + */ + ApplicationId?: string; } export namespace APNSChannelResponse { @@ -1364,60 +1364,60 @@ export namespace APNSChannelResponse { *

                                                        Specifies the settings for a one-time message that's sent directly to an endpoint through the APNs (Apple Push Notification service) channel.

                                                        */ export interface APNSMessage { + /** + *

                                                        The key for the sound to play when the recipient receives the push notification. The value for this key is the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

                                                        + */ + Sound?: string; + /** *

                                                        The JSON payload to use for a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

                                                        */ Data?: { [key: string]: string }; /** - *

                                                        The title to display above the notification message on the recipient's device.

                                                        + *

                                                        The type of push notification to send. Valid values are:

                                                        • alert - For a standard notification that's displayed on recipients' devices and prompts a recipient to interact with the notification.

                                                        • background - For a silent notification that delivers content in the background and isn't displayed on recipients' devices.

                                                        • complication - For a notification that contains update information for an app’s complication timeline.

                                                        • fileprovider - For a notification that signals changes to a File Provider extension.

                                                        • mdm - For a notification that tells managed devices to contact the MDM server.

                                                        • voip - For a notification that provides information about an incoming VoIP call.

                                                        Amazon Pinpoint specifies this value in the apns-push-type request header when it sends the notification message to APNs. If you don't specify a value for this property, Amazon Pinpoint sets the value to alert or background automatically, based on the value that you specify for the SilentPush or RawContent property of the message.

                                                        For more information about the apns-push-type request header, see Sending Notification Requests to APNs on the Apple Developer website.

                                                        */ - Title?: string; + APNSPushType?: string; /** - *

                                                        The authentication method that you want Amazon Pinpoint to use when authenticating with APNs, CERTIFICATE or TOKEN.

                                                        + *

                                                        The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        */ - PreferredAuthenticationMethod?: string; + Url?: string; /** - *

                                                        The URL of an image or video to display in the push notification.

                                                        - */ - MediaUrl?: string; - - /** - *

                                                        The key for the sound to play when the recipient receives the push notification. The value for this key is the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

                                                        + *

                                                        The body of the notification message.

                                                        */ - Sound?: string; + Body?: string; /** - *

                                                        The key that indicates the notification type for the push notification. This key is a value that's defined by the identifier property of one of your app's registered categories.

                                                        + *

                                                        The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

                                                        If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. The value of the content-available key has to be an integer, and can only be 0 or 1. If you're sending a standard notification, set the value of content-available to 0. If you're sending a silent (background) notification, set the value of content-available to 1. Additionally, silent notification payloads can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

                                                        */ - Category?: string; + RawContent?: string; /** - *

                                                        The body of the notification message.

                                                        + *

                                                        The action to occur if the recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS platform.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        */ - Body?: string; + Action?: Action | string; /** - *

                                                        The type of push notification to send. Valid values are:

                                                        • alert - For a standard notification that's displayed on recipients' devices and prompts a recipient to interact with the notification.

                                                        • background - For a silent notification that delivers content in the background and isn't displayed on recipients' devices.

                                                        • complication - For a notification that contains update information for an app’s complication timeline.

                                                        • fileprovider - For a notification that signals changes to a File Provider extension.

                                                        • mdm - For a notification that tells managed devices to contact the MDM server.

                                                        • voip - For a notification that provides information about an incoming VoIP call.

                                                        Amazon Pinpoint specifies this value in the apns-push-type request header when it sends the notification message to APNs. If you don't specify a value for this property, Amazon Pinpoint sets the value to alert or background automatically, based on the value that you specify for the SilentPush or RawContent property of the message.

                                                        For more information about the apns-push-type request header, see Sending Notification Requests to APNs on the Apple Developer website.

                                                        + *

                                                        The title to display above the notification message on the recipient's device.

                                                        */ - APNSPushType?: string; + Title?: string; /** - *

                                                        The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

                                                        If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. The value of the content-available key has to be an integer, and can only be 0 or 1. If you're sending a standard notification, set the value of content-available to 0. If you're sending a silent (background) notification, set the value of content-available to 1. Additionally, silent notification payloads can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

                                                        + *

                                                        The authentication method that you want Amazon Pinpoint to use when authenticating with APNs, CERTIFICATE or TOKEN.

                                                        */ - RawContent?: string; + PreferredAuthenticationMethod?: string; /** - *

                                                        The default message variables to use in the notification message. You can override these default variables with individual address variables.

                                                        + *

                                                        para>5 - Low priority, the notification might be delayed, delivered as part of a group, or throttled.

                                                        /listitem>
                                                      • 10 - High priority, the notification is sent immediately. This is the default value. A high priority notification should trigger an alert, play a sound, or badge your app's icon on the recipient's device.

                                                      • /para>

                                                        Amazon Pinpoint specifies this value in the apns-priority request header when it sends the notification message to APNs.

                                                        The equivalent values for Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify an FCM value for this property, Amazon Pinpoint accepts and converts the value to the corresponding APNs value.

                                                        */ - Substitutions?: { [key: string]: string[] }; + Priority?: string; /** - *

                                                        Specifies whether the notification is a silent push notification. A silent (or background) push notification isn't displayed on recipients' devices. You can use silent push notifications to make small updates to your app, or to display messages in an in-app message center.

                                                        Amazon Pinpoint uses this property to determine the correct value for the apns-push-type request header when it sends the notification message to APNs. If you specify a value of true for this property, Amazon Pinpoint sets the value for the apns-push-type header field to background.

                                                        If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. For silent (background) notifications, set the value of content-available to 1. Additionally, the message payload for a silent notification can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

                                                        Apple has indicated that they will throttle "excessive" background notifications based on current traffic volumes. To prevent your notifications being throttled, Apple recommends that you send no more than 3 silent push notifications to each recipient per hour.

                                                        + *

                                                        The amount of time, in seconds, that APNs should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If this value is 0, APNs treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

                                                        Amazon Pinpoint specifies this value in the apns-expiration request header when it sends the notification message to APNs.

                                                        */ - SilentPush?: boolean; + TimeToLive?: number; /** *

                                                        An arbitrary identifier that, if assigned to multiple messages, APNs uses to coalesce the messages into a single push notification instead of delivering each message individually. This value can't exceed 64 bytes.

                                                        Amazon Pinpoint specifies this value in the apns-collapse-id request header when it sends the notification message to APNs.

                                                        @@ -1425,34 +1425,34 @@ export interface APNSMessage { CollapseId?: string; /** - *

                                                        The key that indicates whether and how to modify the badge of your app's icon when the recipient receives the push notification. If this key isn't included in the dictionary, the badge doesn't change. To remove the badge, set this value to 0.

                                                        + *

                                                        Specifies whether the notification is a silent push notification. A silent (or background) push notification isn't displayed on recipients' devices. You can use silent push notifications to make small updates to your app, or to display messages in an in-app message center.

                                                        Amazon Pinpoint uses this property to determine the correct value for the apns-push-type request header when it sends the notification message to APNs. If you specify a value of true for this property, Amazon Pinpoint sets the value for the apns-push-type header field to background.

                                                        If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. For silent (background) notifications, set the value of content-available to 1. Additionally, the message payload for a silent notification can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

                                                        Apple has indicated that they will throttle "excessive" background notifications based on current traffic volumes. To prevent your notifications being throttled, Apple recommends that you send no more than 3 silent push notifications to each recipient per hour.

                                                        */ - Badge?: number; + SilentPush?: boolean; /** - *

                                                        The key that represents your app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together.

                                                        + *

                                                        The URL of an image or video to display in the push notification.

                                                        */ - ThreadId?: string; + MediaUrl?: string; /** - *

                                                        para>5 - Low priority, the notification might be delayed, delivered as part of a group, or throttled.

                                                        /listitem>
                                                      • 10 - High priority, the notification is sent immediately. This is the default value. A high priority notification should trigger an alert, play a sound, or badge your app's icon on the recipient's device.

                                                      • /para>

                                                        Amazon Pinpoint specifies this value in the apns-priority request header when it sends the notification message to APNs.

                                                        The equivalent values for Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify an FCM value for this property, Amazon Pinpoint accepts and converts the value to the corresponding APNs value.

                                                        + *

                                                        The key that indicates the notification type for the push notification. This key is a value that's defined by the identifier property of one of your app's registered categories.

                                                        */ - Priority?: string; + Category?: string; /** - *

                                                        The action to occur if the recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS platform.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        + *

                                                        The key that indicates whether and how to modify the badge of your app's icon when the recipient receives the push notification. If this key isn't included in the dictionary, the badge doesn't change. To remove the badge, set this value to 0.

                                                        */ - Action?: Action | string; + Badge?: number; /** - *

                                                        The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        + *

                                                        The default message variables to use in the notification message. You can override these default variables with individual address variables.

                                                        */ - Url?: string; + Substitutions?: { [key: string]: string[] }; /** - *

                                                        The amount of time, in seconds, that APNs should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If this value is 0, APNs treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

                                                        Amazon Pinpoint specifies this value in the apns-expiration request header when it sends the notification message to APNs.

                                                        + *

                                                        The key that represents your app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together.

                                                        */ - TimeToLive?: number; + ThreadId?: string; } export namespace APNSMessage { @@ -1465,21 +1465,11 @@ export namespace APNSMessage { *

                                                        Specifies channel-specific content and settings for a message template that can be used in push notifications that are sent through the APNs (Apple Push Notification service) channel.

                                                        */ export interface APNSPushNotificationTemplate { - /** - *

                                                        The title to use in push notifications that are based on the message template. This title appears above the notification message on a recipient's device.

                                                        - */ - Title?: string; - /** *

                                                        The key for the sound to play when the recipient receives a push notification that's based on the message template. The value for this key is the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

                                                        */ Sound?: string; - /** - *

                                                        The URL of an image or video to display in push notifications that are based on the message template.

                                                        - */ - MediaUrl?: string; - /** *

                                                        The URL to open in the recipient's default mobile browser, if a recipient taps a push notification that's based on the message template and the value of the Action property is URL.

                                                        */ @@ -1490,15 +1480,25 @@ export interface APNSPushNotificationTemplate { */ RawContent?: string; + /** + *

                                                        The message body to use in push notifications that are based on the message template.

                                                        + */ + Body?: string; + /** *

                                                        The action to occur if a recipient taps a push notification that's based on the message template. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS platform.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        */ Action?: Action | string; /** - *

                                                        The message body to use in push notifications that are based on the message template.

                                                        + *

                                                        The URL of an image or video to display in push notifications that are based on the message template.

                                                        */ - Body?: string; + MediaUrl?: string; + + /** + *

                                                        The title to use in push notifications that are based on the message template. This title appears above the notification message on a recipient's device.

                                                        + */ + Title?: string; } export namespace APNSPushNotificationTemplate { @@ -1512,9 +1512,9 @@ export namespace APNSPushNotificationTemplate { */ export interface APNSSandboxChannelRequest { /** - *

                                                        The authentication key to use for APNs tokens.

                                                        + *

                                                        Specifies whether to enable the APNs sandbox channel for the application.

                                                        */ - TokenKey?: string; + Enabled?: boolean; /** *

                                                        The default authentication method that you want Amazon Pinpoint to use when authenticating with the APNs sandbox environment, key or certificate.

                                                        @@ -1522,34 +1522,34 @@ export interface APNSSandboxChannelRequest { DefaultAuthenticationMethod?: string; /** - *

                                                        Specifies whether to enable the APNs sandbox channel for the application.

                                                        + *

                                                        The authentication key to use for APNs tokens.

                                                        */ - Enabled?: boolean; + TokenKey?: string; /** - *

                                                        The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using APNs tokens.

                                                        + *

                                                        The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with the APNs sandbox environment.

                                                        */ - TokenKeyId?: string; + PrivateKey?: string; /** - *

                                                        The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

                                                        + *

                                                        The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.

                                                        */ - TeamId?: string; + BundleId?: string; /** - *

                                                        The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using an APNs certificate.

                                                        + *

                                                        The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

                                                        */ - Certificate?: string; + TeamId?: string; /** - *

                                                        The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.

                                                        + *

                                                        The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using APNs tokens.

                                                        */ - BundleId?: string; + TokenKeyId?: string; /** - *

                                                        The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with the APNs sandbox environment.

                                                        + *

                                                        The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using an APNs certificate.

                                                        */ - PrivateKey?: string; + Certificate?: string; } export namespace APNSSandboxChannelRequest { @@ -1563,9 +1563,9 @@ export namespace APNSSandboxChannelRequest { */ export interface APNSSandboxChannelResponse { /** - *

                                                        Specifies whether the APNs sandbox channel is enabled for the application.

                                                        + *

                                                        The type of messaging or notification platform for the channel. For the APNs sandbox channel, this value is APNS_SANDBOX.

                                                        */ - Enabled?: boolean; + Platform: string | undefined; /** *

                                                        (Deprecated) An identifier for the APNs sandbox channel. This property is retained only for backward compatibility.

                                                        @@ -1573,54 +1573,54 @@ export interface APNSSandboxChannelResponse { Id?: string; /** - *

                                                        The default authentication method that Amazon Pinpoint uses to authenticate with the APNs sandbox environment for this channel, key or certificate.

                                                        + *

                                                        The current version of the APNs sandbox channel.

                                                        */ - DefaultAuthenticationMethod?: string; + Version?: number; /** - *

                                                        The current version of the APNs sandbox channel.

                                                        + *

                                                        The user who last modified the APNs sandbox channel.

                                                        */ - Version?: number; + LastModifiedBy?: string; /** - *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        + *

                                                        Specifies whether the APNs sandbox channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

                                                        */ - HasCredential?: boolean; + HasTokenKey?: boolean; /** - *

                                                        The type of messaging or notification platform for the channel. For the APNs sandbox channel, this value is APNS_SANDBOX.

                                                        + *

                                                        The unique identifier for the application that the APNs sandbox channel applies to.

                                                        */ - Platform: string | undefined; + ApplicationId?: string; /** - *

                                                        Specifies whether the APNs sandbox channel is archived.

                                                        + *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ - IsArchived?: boolean; + HasCredential?: boolean; /** - *

                                                        The date and time when the APNs sandbox channel was last modified.

                                                        + *

                                                        Specifies whether the APNs sandbox channel is archived.

                                                        */ - LastModifiedDate?: string; + IsArchived?: boolean; /** - *

                                                        The date and time when the APNs sandbox channel was enabled.

                                                        + *

                                                        The default authentication method that Amazon Pinpoint uses to authenticate with the APNs sandbox environment for this channel, key or certificate.

                                                        */ - CreationDate?: string; + DefaultAuthenticationMethod?: string; /** - *

                                                        Specifies whether the APNs sandbox channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

                                                        + *

                                                        Specifies whether the APNs sandbox channel is enabled for the application.

                                                        */ - HasTokenKey?: boolean; + Enabled?: boolean; /** - *

                                                        The user who last modified the APNs sandbox channel.

                                                        + *

                                                        The date and time when the APNs sandbox channel was last modified.

                                                        */ - LastModifiedBy?: string; + LastModifiedDate?: string; /** - *

                                                        The unique identifier for the application that the APNs sandbox channel applies to.

                                                        + *

                                                        The date and time when the APNs sandbox channel was enabled.

                                                        */ - ApplicationId?: string; + CreationDate?: string; } export namespace APNSSandboxChannelResponse { @@ -1634,44 +1634,44 @@ export namespace APNSSandboxChannelResponse { */ export interface APNSVoipChannelRequest { /** - *

                                                        The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with APNs by using an APNs certificate.

                                                        + *

                                                        The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with APNs by using APNs tokens.

                                                        */ - Certificate?: string; + TokenKeyId?: string; /** - *

                                                        The default authentication method that you want Amazon Pinpoint to use when authenticating with APNs, key or certificate.

                                                        + *

                                                        The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.

                                                        */ - DefaultAuthenticationMethod?: string; + BundleId?: string; /** - *

                                                        The authentication key to use for APNs tokens.

                                                        + *

                                                        The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with APNs.

                                                        */ - TokenKey?: string; + PrivateKey?: string; /** - *

                                                        Specifies whether to enable the APNs VoIP channel for the application.

                                                        + *

                                                        The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with APNs by using an APNs certificate.

                                                        */ - Enabled?: boolean; + Certificate?: string; /** - *

                                                        The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with APNs by using APNs tokens.

                                                        + *

                                                        The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

                                                        */ - TokenKeyId?: string; + TeamId?: string; /** - *

                                                        The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.

                                                        + *

                                                        The default authentication method that you want Amazon Pinpoint to use when authenticating with APNs, key or certificate.

                                                        */ - BundleId?: string; + DefaultAuthenticationMethod?: string; /** - *

                                                        The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with APNs.

                                                        + *

                                                        Specifies whether to enable the APNs VoIP channel for the application.

                                                        */ - PrivateKey?: string; + Enabled?: boolean; /** - *

                                                        The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

                                                        + *

                                                        The authentication key to use for APNs tokens.

                                                        */ - TeamId?: string; + TokenKey?: string; } export namespace APNSVoipChannelRequest { @@ -1685,14 +1685,9 @@ export namespace APNSVoipChannelRequest { */ export interface APNSVoipChannelResponse { /** - *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        - */ - HasCredential?: boolean; - - /** - *

                                                        The unique identifier for the application that the APNs VoIP channel applies to.

                                                        + *

                                                        Specifies whether the APNs VoIP channel is enabled for the application.

                                                        */ - ApplicationId?: string; + Enabled?: boolean; /** *

                                                        The default authentication method that Amazon Pinpoint uses to authenticate with APNs for this channel, key or certificate.

                                                        @@ -1700,14 +1695,14 @@ export interface APNSVoipChannelResponse { DefaultAuthenticationMethod?: string; /** - *

                                                        The user who last modified the APNs VoIP channel.

                                                        + *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ - LastModifiedBy?: string; + HasCredential?: boolean; /** - *

                                                        Specifies whether the APNs VoIP channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

                                                        + *

                                                        (Deprecated) An identifier for the APNs VoIP channel. This property is retained only for backward compatibility.

                                                        */ - HasTokenKey?: boolean; + Id?: string; /** *

                                                        The type of messaging or notification platform for the channel. For the APNs VoIP channel, this value is APNS_VOIP.

                                                        @@ -1715,14 +1710,14 @@ export interface APNSVoipChannelResponse { Platform: string | undefined; /** - *

                                                        Specifies whether the APNs VoIP channel is archived.

                                                        + *

                                                        The current version of the APNs VoIP channel.

                                                        */ - IsArchived?: boolean; + Version?: number; /** - *

                                                        (Deprecated) An identifier for the APNs VoIP channel. This property is retained only for backward compatibility.

                                                        + *

                                                        Specifies whether the APNs VoIP channel is archived.

                                                        */ - Id?: string; + IsArchived?: boolean; /** *

                                                        The date and time when the APNs VoIP channel was enabled.

                                                        @@ -1735,14 +1730,19 @@ export interface APNSVoipChannelResponse { LastModifiedDate?: string; /** - *

                                                        Specifies whether the APNs VoIP channel is enabled for the application.

                                                        + *

                                                        Specifies whether the APNs VoIP channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

                                                        */ - Enabled?: boolean; + HasTokenKey?: boolean; /** - *

                                                        The current version of the APNs VoIP channel.

                                                        + *

                                                        The unique identifier for the application that the APNs VoIP channel applies to.

                                                        */ - Version?: number; + ApplicationId?: string; + + /** + *

                                                        The user who last modified the APNs VoIP channel.

                                                        + */ + LastModifiedBy?: string; } export namespace APNSVoipChannelResponse { @@ -1761,19 +1761,19 @@ export interface APNSVoipSandboxChannelRequest { Enabled?: boolean; /** - *

                                                        The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

                                                        + *

                                                        The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with the APNs sandbox environment.

                                                        */ - TeamId?: string; + PrivateKey?: string; /** - *

                                                        The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using APNs tokens.

                                                        + *

                                                        The authentication key to use for APNs tokens.

                                                        */ - TokenKeyId?: string; + TokenKey?: string; /** - *

                                                        The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with the APNs sandbox environment.

                                                        + *

                                                        The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

                                                        */ - PrivateKey?: string; + TeamId?: string; /** *

                                                        The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.

                                                        @@ -1781,19 +1781,19 @@ export interface APNSVoipSandboxChannelRequest { BundleId?: string; /** - *

                                                        The default authentication method that you want Amazon Pinpoint to use when authenticating with the APNs sandbox environment for this channel, key or certificate.

                                                        + *

                                                        The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using an APNs certificate.

                                                        */ - DefaultAuthenticationMethod?: string; + Certificate?: string; /** - *

                                                        The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using an APNs certificate.

                                                        + *

                                                        The default authentication method that you want Amazon Pinpoint to use when authenticating with the APNs sandbox environment for this channel, key or certificate.

                                                        */ - Certificate?: string; + DefaultAuthenticationMethod?: string; /** - *

                                                        The authentication key to use for APNs tokens.

                                                        + *

                                                        The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using APNs tokens.

                                                        */ - TokenKey?: string; + TokenKeyId?: string; } export namespace APNSVoipSandboxChannelRequest { @@ -1807,14 +1807,14 @@ export namespace APNSVoipSandboxChannelRequest { */ export interface APNSVoipSandboxChannelResponse { /** - *

                                                        Specifies whether the APNs VoIP sandbox channel is enabled for the application.

                                                        + *

                                                        Specifies whether the APNs VoIP sandbox channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

                                                        */ - Enabled?: boolean; + HasTokenKey?: boolean; /** - *

                                                        The current version of the APNs VoIP sandbox channel.

                                                        + *

                                                        (Deprecated) An identifier for the APNs VoIP sandbox channel. This property is retained only for backward compatibility.

                                                        */ - Version?: number; + Id?: string; /** *

                                                        The type of messaging or notification platform for the channel. For the APNs VoIP sandbox channel, this value is APNS_VOIP_SANDBOX.

                                                        @@ -1822,24 +1822,29 @@ export interface APNSVoipSandboxChannelResponse { Platform: string | undefined; /** - *

                                                        Specifies whether the APNs VoIP sandbox channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

                                                        + *

                                                        The user who last modified the APNs VoIP sandbox channel.

                                                        */ - HasTokenKey?: boolean; + LastModifiedBy?: string; + + /** + *

                                                        The current version of the APNs VoIP sandbox channel.

                                                        + */ + Version?: number; /** - *

                                                        (Deprecated) An identifier for the APNs VoIP sandbox channel. This property is retained only for backward compatibility.

                                                        + *

                                                        The unique identifier for the application that the APNs VoIP sandbox channel applies to.

                                                        */ - Id?: string; + ApplicationId?: string; /** - *

                                                        Specifies whether the APNs VoIP sandbox channel is archived.

                                                        + *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ - IsArchived?: boolean; + HasCredential?: boolean; /** - *

                                                        The date and time when the APNs VoIP sandbox channel was enabled.

                                                        + *

                                                        The default authentication method that Amazon Pinpoint uses to authenticate with the APNs sandbox environment for this channel, key or certificate.

                                                        */ - CreationDate?: string; + DefaultAuthenticationMethod?: string; /** *

                                                        The date and time when the APNs VoIP sandbox channel was last modified.

                                                        @@ -1847,24 +1852,19 @@ export interface APNSVoipSandboxChannelResponse { LastModifiedDate?: string; /** - *

                                                        The unique identifier for the application that the APNs VoIP sandbox channel applies to.

                                                        - */ - ApplicationId?: string; - - /** - *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        + *

                                                        The date and time when the APNs VoIP sandbox channel was enabled.

                                                        */ - HasCredential?: boolean; + CreationDate?: string; /** - *

                                                        The user who last modified the APNs VoIP sandbox channel.

                                                        + *

                                                        Specifies whether the APNs VoIP sandbox channel is archived.

                                                        */ - LastModifiedBy?: string; + IsArchived?: boolean; /** - *

                                                        The default authentication method that Amazon Pinpoint uses to authenticate with the APNs sandbox environment for this channel, key or certificate.

                                                        + *

                                                        Specifies whether the APNs VoIP sandbox channel is enabled for the application.

                                                        */ - DefaultAuthenticationMethod?: string; + Enabled?: boolean; } export namespace APNSVoipSandboxChannelResponse { @@ -1877,11 +1877,6 @@ export namespace APNSVoipSandboxChannelResponse { *

                                                        Provides a single value and metadata about that value as part of an array of query results for a standard metric that applies to an application, campaign, or journey.

                                                        */ export interface ResultRowValue { - /** - *

                                                        The friendly name of the metric whose value is specified by the Value property.

                                                        - */ - Key: string | undefined; - /** *

                                                        In a Values object, the value for the metric that the query retrieved data for. In a GroupedBys object, the value for the field that was used to group data in a result set that contains multiple results (Values objects).

                                                        */ @@ -1891,6 +1886,11 @@ export interface ResultRowValue { *

                                                        The data type of the value specified by the Value property.

                                                        */ Type: string | undefined; + + /** + *

                                                        The friendly name of the metric whose value is specified by the Value property.

                                                        + */ + Key: string | undefined; } export namespace ResultRowValue { @@ -1904,14 +1904,14 @@ export namespace ResultRowValue { */ export interface ResultRow { /** - *

                                                        An array of objects that provides pre-aggregated values for a standard metric that applies to an application, campaign, or journey.

                                                        + *

                                                        An array of objects that defines the field and field values that were used to group data in a result set that contains multiple results. This value is null if the data in a result set isn’t grouped.

                                                        */ - Values: ResultRowValue[] | undefined; + GroupedBys: ResultRowValue[] | undefined; /** - *

                                                        An array of objects that defines the field and field values that were used to group data in a result set that contains multiple results. This value is null if the data in a result set isn’t grouped.

                                                        + *

                                                        An array of objects that provides pre-aggregated values for a standard metric that applies to an application, campaign, or journey.

                                                        */ - GroupedBys: ResultRowValue[] | undefined; + Values: ResultRowValue[] | undefined; } export namespace ResultRow { @@ -1940,11 +1940,6 @@ export namespace BaseKpiResult { *

                                                        Provides the results of a query that retrieved the data for a standard metric that applies to an application, and provides information about that query.

                                                        */ export interface ApplicationDateRangeKpiResponse { - /** - *

                                                        An array of objects that contains the results of the query. Each object contains the value for the metric and metadata about that value.

                                                        - */ - KpiResult: BaseKpiResult | undefined; - /** *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), that the data was retrieved for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. For a list of possible values, see the Amazon Pinpoint Developer Guide.

                                                        */ @@ -1956,9 +1951,14 @@ export interface ApplicationDateRangeKpiResponse { EndTime: Date | undefined; /** - *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null for the Application Metrics resource because the resource returns all results in a single page.

                                                        + *

                                                        The unique identifier for the application that the metric applies to.

                                                        */ - NextToken?: string; + ApplicationId: string | undefined; + + /** + *

                                                        An array of objects that contains the results of the query. Each object contains the value for the metric and metadata about that value.

                                                        + */ + KpiResult: BaseKpiResult | undefined; /** *

                                                        The first date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

                                                        @@ -1966,9 +1966,9 @@ export interface ApplicationDateRangeKpiResponse { StartTime: Date | undefined; /** - *

                                                        The unique identifier for the application that the metric applies to.

                                                        + *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null for the Application Metrics resource because the resource returns all results in a single page.

                                                        */ - ApplicationId: string | undefined; + NextToken?: string; } export namespace ApplicationDateRangeKpiResponse { @@ -1982,9 +1982,9 @@ export namespace ApplicationDateRangeKpiResponse { */ export interface ApplicationResponse { /** - *

                                                        The display name of the application. This name is displayed as the Project name on the Amazon Pinpoint console.

                                                        + *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the application. Each tag consists of a required tag key and an associated tag value.

                                                        */ - Name: string | undefined; + tags?: { [key: string]: string }; /** *

                                                        The Amazon Resource Name (ARN) of the application.

                                                        @@ -1992,14 +1992,14 @@ export interface ApplicationResponse { Arn: string | undefined; /** - *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the application. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - tags?: { [key: string]: string }; + Id: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The display name of the application. This name is displayed as the Project name on the Amazon Pinpoint console.

                                                        */ - Id: string | undefined; + Name: string | undefined; } export namespace ApplicationResponse { @@ -2018,9 +2018,9 @@ export enum Mode { */ export interface CampaignHook { /** - *

                                                        The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Pinpoint invokes to customize a segment for a campaign.

                                                        + *

                                                        The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over HTTPS.

                                                        */ - LambdaFunctionName?: string; + WebUrl?: string; /** *

                                                        The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. Possible values are:

                                                        • FILTER - Invoke the function to customize the segment that's used by a campaign.

                                                        • DELIVERY - (Deprecated) Previously, invoked the function to send a campaign through a custom channel. This functionality is not supported anymore. To send a campaign through a custom channel, use the CustomDeliveryConfiguration and CampaignCustomMessage objects of the campaign.

                                                        @@ -2028,9 +2028,9 @@ export interface CampaignHook { Mode?: Mode | string; /** - *

                                                        The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over HTTPS.

                                                        + *

                                                        The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Pinpoint invokes to customize a segment for a campaign.

                                                        */ - WebUrl?: string; + LambdaFunctionName?: string; } export namespace CampaignHook { @@ -2040,7 +2040,7 @@ export namespace CampaignHook { } /** - *

                                                        For a campaign, specifies limits on the messages that the campaign can send. For an application, specifies the default limits for messages that campaigns and journeys in the application can send.

                                                        + *

                                                        For a campaign, specifies limits on the messages that the campaign can send. For an application, specifies the default limits for messages that campaigns in the application can send.

                                                        */ export interface CampaignLimits { /** @@ -2049,9 +2049,9 @@ export interface CampaignLimits { Daily?: number; /** - *

                                                        The maximum number of messages that a campaign can send to a single endpoint during the course of the campaign. If a campaign recurs, this setting applies to all runs of the campaign. The maximum value is 100.

                                                        + *

                                                        The maximum number of messages that a campaign can send each second. For an application, this value specifies the default limit for the number of messages that campaigns can send each second. The minimum value is 50. The maximum value is 20,000.

                                                        */ - Total?: number; + MessagesPerSecond?: number; /** *

                                                        The maximum amount of time, in seconds, that a campaign can attempt to deliver a message after the scheduled start time for the campaign. The minimum value is 60 seconds.

                                                        @@ -2059,9 +2059,9 @@ export interface CampaignLimits { MaximumDuration?: number; /** - *

                                                        The maximum number of messages that a campaign can send each second. For an application, this value specifies the default limit for the number of messages that campaigns and journeys can send each second. The minimum value is 50. The maximum value is 20,000.

                                                        + *

                                                        The maximum number of messages that a campaign can send to a single endpoint during the course of the campaign. If a campaign recurs, this setting applies to all runs of the campaign. The maximum value is 100.

                                                        */ - MessagesPerSecond?: number; + Total?: number; } export namespace CampaignLimits { @@ -2096,9 +2096,9 @@ export namespace QuietTime { */ export interface ApplicationSettingsResource { /** - *

                                                        The default quiet time for campaigns and journeys in the application. Quiet time is a specific time range when messages aren't sent to endpoints, if all the following conditions are met:

                                                        • The EndpointDemographic.Timezone property of the endpoint is set to a valid value.

                                                        • The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the application (or a campaign or journey that has custom quiet time settings).

                                                        • The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the application (or a campaign or journey that has custom quiet time settings).

                                                        If any of the preceding conditions isn't met, the endpoint will receive messages from a campaign or journey, even if quiet time is enabled.

                                                        + *

                                                        The date and time, in ISO 8601 format, when the application's settings were last modified.

                                                        */ - QuietTime?: QuietTime; + LastModifiedDate?: string; /** *

                                                        The settings for the AWS Lambda function to invoke by default as a code hook for campaigns in the application. You can use this hook to customize segments that are used by campaigns in the application.

                                                        @@ -2106,19 +2106,19 @@ export interface ApplicationSettingsResource { CampaignHook?: CampaignHook; /** - *

                                                        The default sending limits for campaigns and journeys in the application.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - Limits?: CampaignLimits; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The default quiet time for campaigns in the application. Quiet time is a specific time range when messages aren't sent to endpoints, if all the following conditions are met:

                                                        • The EndpointDemographic.Timezone property of the endpoint is set to a valid value.

                                                        • The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the application (or a campaign or journey that has custom quiet time settings).

                                                        • The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the application (or a campaign or journey that has custom quiet time settings).

                                                        If any of the preceding conditions isn't met, the endpoint will receive messages from a campaign or journey, even if quiet time is enabled.

                                                        */ - ApplicationId: string | undefined; + QuietTime?: QuietTime; /** - *

                                                        The date and time, in ISO 8601 format, when the application's settings were last modified.

                                                        + *

                                                        The default sending limits for campaigns in the application.

                                                        */ - LastModifiedDate?: string; + Limits?: CampaignLimits; } export namespace ApplicationSettingsResource { @@ -2132,14 +2132,14 @@ export namespace ApplicationSettingsResource { */ export interface ApplicationsResponse { /** - *

                                                        An array of responses, one for each application that was returned.

                                                        + *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                        */ - Item?: ApplicationResponse[]; + NextToken?: string; /** - *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                        + *

                                                        An array of responses, one for each application that was returned.

                                                        */ - NextToken?: string; + Item?: ApplicationResponse[]; } export namespace ApplicationsResponse { @@ -2153,9 +2153,9 @@ export namespace ApplicationsResponse { */ export interface AttributesResource { /** - *

                                                        The unique identifier for the application.

                                                        + *

                                                        The type of attribute or attributes that were removed from the endpoints. Valid values are:

                                                        • endpoint-custom-attributes - Custom attributes that describe endpoints.

                                                        • endpoint-metric-attributes - Custom metrics that your app reports to Amazon Pinpoint for endpoints.

                                                        • endpoint-user-attributes - Custom attributes that describe users.

                                                        */ - ApplicationId: string | undefined; + AttributeType: string | undefined; /** *

                                                        An array that specifies the names of the attributes that were removed from the endpoints.

                                                        @@ -2163,9 +2163,9 @@ export interface AttributesResource { Attributes?: string[]; /** - *

                                                        The type of attribute or attributes that were removed from the endpoints. Valid values are:

                                                        • endpoint-custom-attributes - Custom attributes that describe endpoints.

                                                        • endpoint-metric-attributes - Custom metrics that your app reports to Amazon Pinpoint for endpoints.

                                                        • endpoint-user-attributes - Custom attributes that describe users.

                                                        + *

                                                        The unique identifier for the application.

                                                        */ - AttributeType: string | undefined; + ApplicationId: string | undefined; } export namespace AttributesResource { @@ -2181,14 +2181,14 @@ export interface BadRequestException extends __SmithyException, $MetadataBearer name: "BadRequestException"; $fault: "client"; /** - *

                                                        The message that's returned from the API.

                                                        + *

                                                        The unique identifier for the request or response.

                                                        */ - Message?: string; + RequestID?: string; /** - *

                                                        The unique identifier for the request or response.

                                                        + *

                                                        The message that's returned from the API.

                                                        */ - RequestID?: string; + Message?: string; } export namespace BadRequestException { @@ -2202,9 +2202,9 @@ export namespace BadRequestException { */ export interface BaiduChannelRequest { /** - *

                                                        The secret key that you received from the Baidu Cloud Push service to communicate with the service.

                                                        + *

                                                        Specifies whether to enable the Baidu channel for the application.

                                                        */ - SecretKey: string | undefined; + Enabled?: boolean; /** *

                                                        The API key that you received from the Baidu Cloud Push service to communicate with the service.

                                                        @@ -2212,9 +2212,9 @@ export interface BaiduChannelRequest { ApiKey: string | undefined; /** - *

                                                        Specifies whether to enable the Baidu channel for the application.

                                                        + *

                                                        The secret key that you received from the Baidu Cloud Push service to communicate with the service.

                                                        */ - Enabled?: boolean; + SecretKey: string | undefined; } export namespace BaiduChannelRequest { @@ -2228,59 +2228,59 @@ export namespace BaiduChannelRequest { */ export interface BaiduChannelResponse { /** - *

                                                        Specifies whether the Baidu channel is enabled for the application.

                                                        + *

                                                        The type of messaging or notification platform for the channel. For the Baidu channel, this value is BAIDU.

                                                        */ - Enabled?: boolean; + Platform: string | undefined; /** - *

                                                        The current version of the Baidu channel.

                                                        + *

                                                        (Deprecated) An identifier for the Baidu channel. This property is retained only for backward compatibility.

                                                        */ - Version?: number; + Id?: string; /** - *

                                                        (Deprecated) An identifier for the Baidu channel. This property is retained only for backward compatibility.

                                                        + *

                                                        The user who last modified the Baidu channel.

                                                        */ - Id?: string; + LastModifiedBy?: string; /** - *

                                                        The type of messaging or notification platform for the channel. For the Baidu channel, this value is BAIDU.

                                                        + *

                                                        The current version of the Baidu channel.

                                                        */ - Platform: string | undefined; + Version?: number; /** - *

                                                        Specifies whether the Baidu channel is archived.

                                                        + *

                                                        The unique identifier for the application that the Baidu channel applies to.

                                                        */ - IsArchived?: boolean; + ApplicationId?: string; /** - *

                                                        The API key that you received from the Baidu Cloud Push service to communicate with the service.

                                                        + *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ - Credential: string | undefined; + HasCredential?: boolean; /** - *

                                                        The date and time when the Baidu channel was enabled.

                                                        + *

                                                        The API key that you received from the Baidu Cloud Push service to communicate with the service.

                                                        */ - CreationDate?: string; + Credential: string | undefined; /** - *

                                                        The date and time when the Baidu channel was last modified.

                                                        + *

                                                        Specifies whether the Baidu channel is archived.

                                                        */ - LastModifiedDate?: string; + IsArchived?: boolean; /** - *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        + *

                                                        Specifies whether the Baidu channel is enabled for the application.

                                                        */ - HasCredential?: boolean; + Enabled?: boolean; /** - *

                                                        The unique identifier for the application that the Baidu channel applies to.

                                                        + *

                                                        The date and time when the Baidu channel was last modified.

                                                        */ - ApplicationId?: string; + LastModifiedDate?: string; /** - *

                                                        The user who last modified the Baidu channel.

                                                        + *

                                                        The date and time when the Baidu channel was enabled.

                                                        */ - LastModifiedBy?: string; + CreationDate?: string; } export namespace BaiduChannelResponse { @@ -2294,39 +2294,39 @@ export namespace BaiduChannelResponse { */ export interface BaiduMessage { /** - *

                                                        The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

                                                        + *

                                                        The body of the notification message.

                                                        */ - RawContent?: string; + Body?: string; /** - *

                                                        The icon image name of the asset saved in your app.

                                                        + *

                                                        The action to occur if the recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        */ - IconReference?: string; + Action?: Action | string; /** - *

                                                        The amount of time, in seconds, that the Baidu Cloud Push service should store the message if the recipient's device is offline. The default value and maximum supported time is 604,800 seconds (7 days).

                                                        + *

                                                        The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

                                                        */ - TimeToLive?: number; + RawContent?: string; /** - *

                                                        The action to occur if the recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        + *

                                                        The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

                                                        */ - Action?: Action | string; + Sound?: string; /** - *

                                                        The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

                                                        + *

                                                        Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

                                                        */ - Sound?: string; + SilentPush?: boolean; /** - *

                                                        The URL of the small icon image to display in the status bar and the content view of the push notification.

                                                        + *

                                                        The URL of the large icon image to display in the content view of the push notification.

                                                        */ - SmallImageIconUrl?: string; + ImageIconUrl?: string; /** - *

                                                        The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        + *

                                                        The default message variables to use in the notification message. You can override the default variables with individual address variables.

                                                        */ - Url?: string; + Substitutions?: { [key: string]: string[] }; /** *

                                                        The URL of an image to display in the push notification.

                                                        @@ -2334,34 +2334,34 @@ export interface BaiduMessage { ImageUrl?: string; /** - *

                                                        The default message variables to use in the notification message. You can override the default variables with individual address variables.

                                                        + *

                                                        The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

                                                        */ - Substitutions?: { [key: string]: string[] }; + Data?: { [key: string]: string }; /** - *

                                                        The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

                                                        + *

                                                        The icon image name of the asset saved in your app.

                                                        */ - Data?: { [key: string]: string }; + IconReference?: string; /** - *

                                                        The title to display above the notification message on the recipient's device.

                                                        + *

                                                        The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        */ - Title?: string; + Url?: string; /** - *

                                                        The URL of the large icon image to display in the content view of the push notification.

                                                        + *

                                                        The URL of the small icon image to display in the status bar and the content view of the push notification.

                                                        */ - ImageIconUrl?: string; + SmallImageIconUrl?: string; /** - *

                                                        The body of the notification message.

                                                        + *

                                                        The title to display above the notification message on the recipient's device.

                                                        */ - Body?: string; + Title?: string; /** - *

                                                        Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

                                                        + *

                                                        The amount of time, in seconds, that the Baidu Cloud Push service should store the message if the recipient's device is offline. The default value and maximum supported time is 604,800 seconds (7 days).

                                                        */ - SilentPush?: boolean; + TimeToLive?: number; } export namespace BaiduMessage { @@ -2391,9 +2391,9 @@ export namespace CampaignCustomMessage { */ export interface CampaignDateRangeKpiResponse { /** - *

                                                        The unique identifier for the application that the metric applies to.

                                                        + *

                                                        The first date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

                                                        */ - ApplicationId: string | undefined; + StartTime: Date | undefined; /** *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null for the Campaign Metrics resource because the resource returns all results in a single page.

                                                        @@ -2401,9 +2401,9 @@ export interface CampaignDateRangeKpiResponse { NextToken?: string; /** - *

                                                        The first date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

                                                        + *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), that the data was retrieved for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. For a list of possible values, see the Amazon Pinpoint Developer Guide.

                                                        */ - StartTime: Date | undefined; + KpiName: string | undefined; /** *

                                                        An array of objects that contains the results of the query. Each object contains the value for the metric and metadata about that value.

                                                        @@ -2416,14 +2416,14 @@ export interface CampaignDateRangeKpiResponse { CampaignId: string | undefined; /** - *

                                                        The last date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

                                                        + *

                                                        The unique identifier for the application that the metric applies to.

                                                        */ - EndTime: Date | undefined; + ApplicationId: string | undefined; /** - *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), that the data was retrieved for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. For a list of possible values, see the Amazon Pinpoint Developer Guide.

                                                        + *

                                                        The last date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

                                                        */ - KpiName: string | undefined; + EndTime: Date | undefined; } export namespace CampaignDateRangeKpiResponse { @@ -2437,24 +2437,24 @@ export namespace CampaignDateRangeKpiResponse { */ export interface CampaignEmailMessage { /** - *

                                                        The verified email address to send the email from. The default address is the FromAddress specified for the email channel for the application.

                                                        + *

                                                        The subject line, or title, of the email.

                                                        */ - FromAddress?: string; + Title?: string; /** - *

                                                        The body of the email for recipients whose email clients don't render HTML content.

                                                        + *

                                                        The body of the email, in HTML format, for recipients whose email clients render HTML content.

                                                        */ - Body?: string; + HtmlBody?: string; /** - *

                                                        The body of the email, in HTML format, for recipients whose email clients render HTML content.

                                                        + *

                                                        The body of the email for recipients whose email clients don't render HTML content.

                                                        */ - HtmlBody?: string; + Body?: string; /** - *

                                                        The subject line, or title, of the email.

                                                        + *

                                                        The verified email address to send the email from. The default address is the FromAddress specified for the email channel for the application.

                                                        */ - Title?: string; + FromAddress?: string; } export namespace CampaignEmailMessage { @@ -2494,14 +2494,14 @@ export namespace CampaignEventFilter { */ export interface CustomDeliveryConfiguration { /** - *

                                                        The destination to send the campaign or treatment to. This value can be one of the following:

                                                        • The name or Amazon Resource Name (ARN) of an AWS Lambda function to invoke to handle delivery of the campaign or treatment.

                                                        • The URL for a web application or service that supports HTTPS and can receive the message. The URL has to be a full URL, including the HTTPS protocol.

                                                        + *

                                                        The types of endpoints to send the campaign or treatment to. Each valid value maps to a type of channel that you can associate with an endpoint by using the ChannelType property of an endpoint.

                                                        */ - DeliveryUri: string | undefined; + EndpointTypes?: (__EndpointTypesElement | string)[]; /** - *

                                                        The types of endpoints to send the campaign or treatment to. Each valid value maps to a type of channel that you can associate with an endpoint by using the ChannelType property of an endpoint.

                                                        + *

                                                        The destination to send the campaign or treatment to. This value can be one of the following:

                                                        • The name or Amazon Resource Name (ARN) of an AWS Lambda function to invoke to handle delivery of the campaign or treatment.

                                                        • The URL for a web application or service that supports HTTPS and can receive the message. The URL has to be a full URL, including the HTTPS protocol.

                                                        */ - EndpointTypes?: (__EndpointTypesElement | string)[]; + DeliveryUri: string | undefined; } export namespace CustomDeliveryConfiguration { @@ -2515,64 +2515,64 @@ export namespace CustomDeliveryConfiguration { */ export interface Message { /** - *

                                                        The body of the notification message. The maximum number of characters is 200.

                                                        + *

                                                        The URL of an image to display in the push notification.

                                                        */ - Body?: string; + ImageUrl?: string; /** - *

                                                        The URL of the image or video to display in the push notification.

                                                        + *

                                                        The title to display above the notification message on a recipient's device.

                                                        */ - MediaUrl?: string; + Title?: string; /** - *

                                                        The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

                                                        + *

                                                        The body of the notification message. The maximum number of characters is 200.

                                                        */ - RawContent?: string; + Body?: string; /** - *

                                                        The URL of an image to display in the push notification.

                                                        + *

                                                        The action to occur if a recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        */ - ImageUrl?: string; + Action?: Action | string; /** - *

                                                        The JSON payload to use for a silent push notification.

                                                        + *

                                                        The URL of the image to display as the push-notification icon, such as the icon for the app.

                                                        */ - JsonBody?: string; + ImageIconUrl?: string; /** - *

                                                        The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        + *

                                                        The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

                                                        This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.

                                                        */ - Url?: string; + TimeToLive?: number; /** - *

                                                        Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.

                                                        + *

                                                        The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.

                                                        */ - SilentPush?: boolean; + ImageSmallIconUrl?: string; /** - *

                                                        The URL of the image to display as the push-notification icon, such as the icon for the app.

                                                        + *

                                                        Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.

                                                        */ - ImageIconUrl?: string; + SilentPush?: boolean; /** - *

                                                        The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.

                                                        + *

                                                        The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        */ - ImageSmallIconUrl?: string; + Url?: string; /** - *

                                                        The title to display above the notification message on a recipient's device.

                                                        + *

                                                        The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

                                                        */ - Title?: string; + RawContent?: string; /** - *

                                                        The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

                                                        This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.

                                                        + *

                                                        The JSON payload to use for a silent push notification.

                                                        */ - TimeToLive?: number; + JsonBody?: string; /** - *

                                                        The action to occur if a recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        + *

                                                        The URL of the image or video to display in the push notification.

                                                        */ - Action?: Action | string; + MediaUrl?: string; } export namespace Message { @@ -2585,11 +2585,6 @@ export namespace Message { *

                                                        Specifies the content and settings for an SMS message that's sent to recipients of a campaign.

                                                        */ export interface CampaignSmsMessage { - /** - *

                                                        The sender ID to display on recipients' devices when they receive the SMS message.

                                                        - */ - SenderId?: string; - /** *

                                                        The SMS message type. Valid values are TRANSACTIONAL (for messages that are critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for messsages that aren't critical or time-sensitive, such as marketing messages).

                                                        */ @@ -2599,6 +2594,11 @@ export interface CampaignSmsMessage { *

                                                        The body of the SMS message.

                                                        */ Body?: string; + + /** + *

                                                        The sender ID to display on recipients' devices when they receive the SMS message.

                                                        + */ + SenderId?: string; } export namespace CampaignSmsMessage { @@ -2612,44 +2612,44 @@ export namespace CampaignSmsMessage { */ export interface MessageConfiguration { /** - *

                                                        The message that the campaign sends through the GCM channel, which enables Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this message overrides the default message.

                                                        + *

                                                        The message that the campaign sends through the SMS channel. If specified, this message overrides the default message.

                                                        */ - GCMMessage?: Message; + SMSMessage?: CampaignSmsMessage; /** - *

                                                        The message that the campaign sends through the APNs (Apple Push Notification service) channel. If specified, this message overrides the default message.

                                                        + *

                                                        The message that the campaign sends through the email channel. If specified, this message overrides the default message.

                                                        */ - APNSMessage?: Message; + EmailMessage?: CampaignEmailMessage; /** - *

                                                        The message that the campaign sends through the Baidu (Baidu Cloud Push) channel. If specified, this message overrides the default message.

                                                        + *

                                                        The message that the campaign sends through the GCM channel, which enables Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this message overrides the default message.

                                                        */ - BaiduMessage?: Message; + GCMMessage?: Message; /** - *

                                                        The message that the campaign sends through the SMS channel. If specified, this message overrides the default message.

                                                        + *

                                                        The default message that the campaign sends through all the channels that are configured for the campaign.

                                                        */ - SMSMessage?: CampaignSmsMessage; + DefaultMessage?: Message; /** - *

                                                        The message that the campaign sends through the email channel. If specified, this message overrides the default message.

                                                        + *

                                                        The message that the campaign sends through the ADM (Amazon Device Messaging) channel. If specified, this message overrides the default message.

                                                        */ - EmailMessage?: CampaignEmailMessage; + ADMMessage?: Message; /** - *

                                                        The message that the campaign sends through a custom channel, as specified by the delivery configuration (CustomDeliveryConfiguration) settings for the campaign. If specified, this message overrides the default message.

                                                        + *

                                                        The message that the campaign sends through the APNs (Apple Push Notification service) channel. If specified, this message overrides the default message.

                                                        */ - CustomMessage?: CampaignCustomMessage; + APNSMessage?: Message; /** - *

                                                        The message that the campaign sends through the ADM (Amazon Device Messaging) channel. If specified, this message overrides the default message.

                                                        + *

                                                        The message that the campaign sends through the Baidu (Baidu Cloud Push) channel. If specified, this message overrides the default message.

                                                        */ - ADMMessage?: Message; + BaiduMessage?: Message; /** - *

                                                        The default message that the campaign sends through all the channels that are configured for the campaign.

                                                        + *

                                                        The message that the campaign sends through a custom channel, as specified by the delivery configuration (CustomDeliveryConfiguration) settings for the campaign. If specified, this message overrides the default message.

                                                        */ - DefaultMessage?: Message; + CustomMessage?: CampaignCustomMessage; } export namespace MessageConfiguration { @@ -2672,42 +2672,42 @@ export enum Frequency { */ export interface Schedule { /** - *

                                                        Specifies how often the campaign is sent or whether the campaign is sent in response to a specific event.

                                                        + *

                                                        The scheduled time when the campaign began or will begin. Valid values are: IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 format.

                                                        */ - Frequency?: Frequency | string; + StartTime: string | undefined; /** - *

                                                        The type of event that causes the campaign to be sent, if the value of the Frequency property is EVENT.

                                                        + *

                                                        The starting UTC offset for the campaign schedule, if the value of the IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, + * UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, + * UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, + * UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

                                                        */ - EventFilter?: CampaignEventFilter; + Timezone?: string; /** - *

                                                        Specifies whether the start and end times for the campaign schedule use each recipient's local time. To base the schedule on each recipient's local time, set this value to true.

                                                        + *

                                                        The default quiet time for the campaign. Quiet time is a specific time range when a campaign doesn't send messages to endpoints, if all the following conditions are met:

                                                        • The EndpointDemographic.Timezone property of the endpoint is set to a valid value.

                                                        • The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the campaign.

                                                        • The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the campaign.

                                                        If any of the preceding conditions isn't met, the endpoint will receive messages from the campaign, even if quiet time is enabled.

                                                        */ - IsLocalTime?: boolean; + QuietTime?: QuietTime; /** - *

                                                        The default quiet time for the campaign. Quiet time is a specific time range when a campaign doesn't send messages to endpoints, if all the following conditions are met:

                                                        • The EndpointDemographic.Timezone property of the endpoint is set to a valid value.

                                                        • The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the campaign.

                                                        • The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the campaign.

                                                        If any of the preceding conditions isn't met, the endpoint will receive messages from the campaign, even if quiet time is enabled.

                                                        + *

                                                        The scheduled time, in ISO 8601 format, when the campaign ended or will end.

                                                        */ - QuietTime?: QuietTime; + EndTime?: string; /** - *

                                                        The starting UTC offset for the campaign schedule, if the value of the IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, - * UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30, - * UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, - * UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

                                                        + *

                                                        Specifies whether the start and end times for the campaign schedule use each recipient's local time. To base the schedule on each recipient's local time, set this value to true.

                                                        */ - Timezone?: string; + IsLocalTime?: boolean; /** - *

                                                        The scheduled time, in ISO 8601 format, when the campaign ended or will end.

                                                        + *

                                                        The type of event that causes the campaign to be sent, if the value of the Frequency property is EVENT.

                                                        */ - EndTime?: string; + EventFilter?: CampaignEventFilter; /** - *

                                                        The scheduled time when the campaign began or will begin. Valid values are: IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 format.

                                                        + *

                                                        Specifies how often the campaign is sent or whether the campaign is sent in response to a specific event.

                                                        */ - StartTime: string | undefined; + Frequency?: Frequency | string; } export namespace Schedule { @@ -2720,6 +2720,7 @@ export enum CampaignStatus { COMPLETED = "COMPLETED", DELETED = "DELETED", EXECUTING = "EXECUTING", + INVALID = "INVALID", PAUSED = "PAUSED", PENDING_NEXT_RUN = "PENDING_NEXT_RUN", SCHEDULED = "SCHEDULED", @@ -2746,14 +2747,14 @@ export namespace CampaignState { */ export interface Template { /** - *

                                                        The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

                                                        If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

                                                        + *

                                                        The name of the message template to use for the message. If specified, this value must match the name of an existing message template.

                                                        */ - Version?: string; + Name?: string; /** - *

                                                        The name of the message template to use for the message. If specified, this value must match the name of an existing message template.

                                                        + *

                                                        The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

                                                        If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

                                                        */ - Name?: string; + Version?: string; } export namespace Template { @@ -2766,25 +2767,25 @@ export namespace Template { *

                                                        Specifies the message template to use for the message, for each type of channel.

                                                        */ export interface TemplateConfiguration { - /** - *

                                                        The SMS template to use for the message.

                                                        - */ - SMSTemplate?: Template; - /** *

                                                        The email template to use for the message.

                                                        */ EmailTemplate?: Template; /** - *

                                                        The push notification template to use for the message.

                                                        + *

                                                        The SMS template to use for the message.

                                                        */ - PushTemplate?: Template; + SMSTemplate?: Template; /** *

                                                        The voice template to use for the message. This object isn't supported for campaigns.

                                                        */ VoiceTemplate?: Template; + + /** + *

                                                        The push notification template to use for the message.

                                                        + */ + PushTemplate?: Template; } export namespace TemplateConfiguration { @@ -2798,9 +2799,14 @@ export namespace TemplateConfiguration { */ export interface TreatmentResource { /** - *

                                                        The message template to use for the treatment.

                                                        + *

                                                        The current status of the treatment.

                                                        */ - TemplateConfiguration?: TemplateConfiguration; + State?: CampaignState; + + /** + *

                                                        The custom name of the treatment.

                                                        + */ + TreatmentName?: string; /** *

                                                        The schedule settings for the treatment.

                                                        @@ -2808,39 +2814,34 @@ export interface TreatmentResource { Schedule?: Schedule; /** - *

                                                        The custom name of the treatment.

                                                        + *

                                                        The unique identifier for the treatment.

                                                        */ - TreatmentName?: string; + Id: string | undefined; /** *

                                                        The allocated percentage of users (segment members) that the treatment is sent to.

                                                        */ SizePercent: number | undefined; - /** - *

                                                        The current status of the treatment.

                                                        - */ - State?: CampaignState; - /** *

                                                        The message configuration settings for the treatment.

                                                        */ MessageConfiguration?: MessageConfiguration; /** - *

                                                        The custom description of the treatment.

                                                        + *

                                                        The delivery configuration settings for sending the treatment through a custom channel. This object is required if the MessageConfiguration object for the treatment specifies a CustomMessage object.

                                                        */ - TreatmentDescription?: string; + CustomDeliveryConfiguration?: CustomDeliveryConfiguration; /** - *

                                                        The delivery configuration settings for sending the treatment through a custom channel. This object is required if the MessageConfiguration object for the treatment specifies a CustomMessage object.

                                                        + *

                                                        The custom description of the treatment.

                                                        */ - CustomDeliveryConfiguration?: CustomDeliveryConfiguration; + TreatmentDescription?: string; /** - *

                                                        The unique identifier for the treatment.

                                                        + *

                                                        The message template to use for the treatment.

                                                        */ - Id: string | undefined; + TemplateConfiguration?: TemplateConfiguration; } export namespace TreatmentResource { @@ -2853,11 +2854,6 @@ export namespace TreatmentResource { *

                                                        Provides information about the status, configuration, and other settings for a campaign.

                                                        */ export interface CampaignResponse { - /** - *

                                                        The current status of the campaign.

                                                        - */ - State?: CampaignState; - /** *

                                                        The messaging limits for the campaign.

                                                        */ @@ -2869,39 +2865,54 @@ export interface CampaignResponse { TreatmentDescription?: string; /** - *

                                                        The version number of the campaign.

                                                        + *

                                                        The message configuration settings for the campaign.

                                                        */ - Version?: number; + MessageConfiguration?: MessageConfiguration; /** - *

                                                        The unique identifier for the application that the campaign applies to.

                                                        + *

                                                        An array of responses, one for each treatment that you defined for the campaign, in addition to the default treatment.

                                                        */ - ApplicationId: string | undefined; + AdditionalTreatments?: TreatmentResource[]; /** - *

                                                        The unique identifier for the segment that's associated with the campaign.

                                                        + *

                                                        The current status of the campaign's default treatment. This value exists only for campaigns that have more than one treatment.

                                                        */ - SegmentId: string | undefined; + DefaultState?: CampaignState; /** - *

                                                        The date, in ISO 8601 format, when the campaign was last modified.

                                                        + *

                                                        The custom name of the default treatment for the campaign, if the campaign has multiple treatments. A treatment is a variation of a campaign that's used for A/B testing.

                                                        */ - LastModifiedDate: string | undefined; + TreatmentName?: string; /** - *

                                                        The date, in ISO 8601 format, when the campaign was created.

                                                        + *

                                                        The name of the campaign.

                                                        */ - CreationDate: string | undefined; + Name?: string; /** - *

                                                        The delivery configuration settings for sending the campaign through a custom channel.

                                                        + *

                                                        The unique identifier for the application that the campaign applies to.

                                                        */ - CustomDeliveryConfiguration?: CustomDeliveryConfiguration; + ApplicationId: string | undefined; /** - *

                                                        The custom name of the default treatment for the campaign, if the campaign has multiple treatments. A treatment is a variation of a campaign that's used for A/B testing.

                                                        + *

                                                        Specifies whether the campaign is paused. A paused campaign doesn't run unless you resume it by changing this value to false.

                                                        */ - TreatmentName?: string; + IsPaused?: boolean; + + /** + *

                                                        The version number of the campaign.

                                                        + */ + Version?: number; + + /** + *

                                                        The settings for the AWS Lambda function to use as a code hook for the campaign. You can use this hook to customize the segment that's used by the campaign.

                                                        + */ + Hook?: CampaignHook; + + /** + *

                                                        The custom description of the campaign.

                                                        + */ + Description?: string; /** *

                                                        The Amazon Resource Name (ARN) of the campaign.

                                                        @@ -2914,24 +2925,19 @@ export interface CampaignResponse { Id: string | undefined; /** - *

                                                        The version number of the segment that's associated with the campaign.

                                                        - */ - SegmentVersion: number | undefined; - - /** - *

                                                        The custom description of the campaign.

                                                        + *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the campaign. Each tag consists of a required tag key and an associated tag value.

                                                        */ - Description?: string; + tags?: { [key: string]: string }; /** - *

                                                        The schedule settings for the campaign.

                                                        + *

                                                        The version number of the segment that's associated with the campaign.

                                                        */ - Schedule?: Schedule; + SegmentVersion: number | undefined; /** - *

                                                        The settings for the AWS Lambda function to use as a code hook for the campaign. You can use this hook to customize the segment that's used by the campaign.

                                                        + *

                                                        The message template that’s used for the campaign.

                                                        */ - Hook?: CampaignHook; + TemplateConfiguration?: TemplateConfiguration; /** *

                                                        The allocated percentage of users (segment members) who shouldn't receive messages from the campaign.

                                                        @@ -2939,39 +2945,34 @@ export interface CampaignResponse { HoldoutPercent?: number; /** - *

                                                        An array of responses, one for each treatment that you defined for the campaign, in addition to the default treatment.

                                                        - */ - AdditionalTreatments?: TreatmentResource[]; - - /** - *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the campaign. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        The delivery configuration settings for sending the campaign through a custom channel.

                                                        */ - tags?: { [key: string]: string }; + CustomDeliveryConfiguration?: CustomDeliveryConfiguration; /** - *

                                                        The message configuration settings for the campaign.

                                                        + *

                                                        The current status of the campaign.

                                                        */ - MessageConfiguration?: MessageConfiguration; + State?: CampaignState; /** - *

                                                        Specifies whether the campaign is paused. A paused campaign doesn't run unless you resume it by changing this value to false.

                                                        + *

                                                        The date, in ISO 8601 format, when the campaign was last modified.

                                                        */ - IsPaused?: boolean; + LastModifiedDate: string | undefined; /** - *

                                                        The message template that’s used for the campaign.

                                                        + *

                                                        The date, in ISO 8601 format, when the campaign was created.

                                                        */ - TemplateConfiguration?: TemplateConfiguration; + CreationDate: string | undefined; /** - *

                                                        The current status of the campaign's default treatment. This value exists only for campaigns that have more than one treatment.

                                                        + *

                                                        The unique identifier for the segment that's associated with the campaign.

                                                        */ - DefaultState?: CampaignState; + SegmentId: string | undefined; /** - *

                                                        The name of the campaign.

                                                        + *

                                                        The schedule settings for the campaign.

                                                        */ - Name?: string; + Schedule?: Schedule; } export namespace CampaignResponse { @@ -2985,14 +2986,14 @@ export namespace CampaignResponse { */ export interface CampaignsResponse { /** - *

                                                        An array of responses, one for each campaign that's associated with the application.

                                                        + *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                        */ - Item: CampaignResponse[] | undefined; + NextToken?: string; /** - *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                        + *

                                                        An array of responses, one for each campaign that's associated with the application.

                                                        */ - NextToken?: string; + Item: CampaignResponse[] | undefined; } export namespace CampaignsResponse { @@ -3006,49 +3007,49 @@ export namespace CampaignsResponse { */ export interface ChannelResponse { /** - *

                                                        Specifies whether the channel is enabled for the application.

                                                        + *

                                                        The current version of the channel.

                                                        */ - Enabled?: boolean; + Version?: number; /** - *

                                                        The current version of the channel.

                                                        + *

                                                        (Deprecated) An identifier for the channel. This property is retained only for backward compatibility.

                                                        */ - Version?: number; + Id?: string; /** - *

                                                        The unique identifier for the application.

                                                        + *

                                                        Specifies whether the channel is enabled for the application.

                                                        */ - ApplicationId?: string; + Enabled?: boolean; /** - *

                                                        The date and time, in ISO 8601 format, when the channel was last modified.

                                                        + *

                                                        The user who last modified the channel.

                                                        */ - LastModifiedDate?: string; + LastModifiedBy?: string; /** - *

                                                        The date and time, in ISO 8601 format, when the channel was enabled.

                                                        + *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ - CreationDate?: string; + HasCredential?: boolean; /** - *

                                                        Specifies whether the channel is archived.

                                                        + *

                                                        The date and time, in ISO 8601 format, when the channel was last modified.

                                                        */ - IsArchived?: boolean; + LastModifiedDate?: string; /** - *

                                                        The user who last modified the channel.

                                                        + *

                                                        The unique identifier for the application.

                                                        */ - LastModifiedBy?: string; + ApplicationId?: string; /** - *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        + *

                                                        The date and time, in ISO 8601 format, when the channel was enabled.

                                                        */ - HasCredential?: boolean; + CreationDate?: string; /** - *

                                                        (Deprecated) An identifier for the channel. This property is retained only for backward compatibility.

                                                        + *

                                                        Specifies whether the channel is archived.

                                                        */ - Id?: string; + IsArchived?: boolean; } export namespace ChannelResponse { @@ -3074,18 +3075,41 @@ export namespace ChannelsResponse { } /** - *

                                                        Specifies the display name of an application and the tags to associate with the application.

                                                        + *

                                                        Provides information about an API request or response.

                                                        */ -export interface CreateApplicationRequest { +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; /** - *

                                                        The display name of the application. This name is displayed as the Project name on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the request or response.

                                                        */ - Name: string | undefined; + RequestID?: string; + + /** + *

                                                        The message that's returned from the API.

                                                        + */ + Message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} +/** + *

                                                        Specifies the display name of an application and the tags to associate with the application.

                                                        + */ +export interface CreateApplicationRequest { /** *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the application. Each tag consists of a required tag key and an associated tag value.

                                                        */ tags?: { [key: string]: string }; + + /** + *

                                                        The display name of the application. This name is displayed as the Project name on the Amazon Pinpoint console.

                                                        + */ + Name: string | undefined; } export namespace CreateApplicationRequest { @@ -3150,14 +3174,14 @@ export interface InternalServerErrorException extends __SmithyException, $Metada name: "InternalServerErrorException"; $fault: "server"; /** - *

                                                        The unique identifier for the request or response.

                                                        + *

                                                        The message that's returned from the API.

                                                        */ - RequestID?: string; + Message?: string; /** - *

                                                        The message that's returned from the API.

                                                        + *

                                                        The unique identifier for the request or response.

                                                        */ - Message?: string; + RequestID?: string; } export namespace InternalServerErrorException { @@ -3173,14 +3197,14 @@ export interface MethodNotAllowedException extends __SmithyException, $MetadataB name: "MethodNotAllowedException"; $fault: "client"; /** - *

                                                        The unique identifier for the request or response.

                                                        + *

                                                        The message that's returned from the API.

                                                        */ - RequestID?: string; + Message?: string; /** - *

                                                        The message that's returned from the API.

                                                        + *

                                                        The unique identifier for the request or response.

                                                        */ - Message?: string; + RequestID?: string; } export namespace MethodNotAllowedException { @@ -3263,39 +3287,39 @@ export namespace TooManyRequestsException { */ export interface WriteTreatmentResource { /** - *

                                                        The allocated percentage of users (segment members) to send the treatment to.

                                                        + *

                                                        A custom description of the treatment.

                                                        */ - SizePercent: number | undefined; + TreatmentDescription?: string; /** - *

                                                        The schedule settings for the treatment.

                                                        + *

                                                        The message template to use for the treatment.

                                                        */ - Schedule?: Schedule; + TemplateConfiguration?: TemplateConfiguration; /** - *

                                                        A custom description of the treatment.

                                                        + *

                                                        The schedule settings for the treatment.

                                                        */ - TreatmentDescription?: string; + Schedule?: Schedule; /** - *

                                                        The delivery configuration settings for sending the treatment through a custom channel. This object is required if the MessageConfiguration object for the treatment specifies a CustomMessage object.

                                                        + *

                                                        A custom name for the treatment.

                                                        */ - CustomDeliveryConfiguration?: CustomDeliveryConfiguration; + TreatmentName?: string; /** - *

                                                        The message configuration settings for the treatment.

                                                        + *

                                                        The allocated percentage of users (segment members) to send the treatment to.

                                                        */ - MessageConfiguration?: MessageConfiguration; + SizePercent: number | undefined; /** - *

                                                        A custom name for the treatment.

                                                        + *

                                                        The delivery configuration settings for sending the treatment through a custom channel. This object is required if the MessageConfiguration object for the treatment specifies a CustomMessage object.

                                                        */ - TreatmentName?: string; + CustomDeliveryConfiguration?: CustomDeliveryConfiguration; /** - *

                                                        The message template to use for the treatment.

                                                        + *

                                                        The message configuration settings for the treatment.

                                                        */ - TemplateConfiguration?: TemplateConfiguration; + MessageConfiguration?: MessageConfiguration; } export namespace WriteTreatmentResource { @@ -3314,29 +3338,29 @@ export interface WriteCampaignRequest { Limits?: CampaignLimits; /** - *

                                                        A custom description of the default treatment for the campaign.

                                                        + *

                                                        An array of requests that defines additional treatments for the campaign, in addition to the default treatment for the campaign.

                                                        */ - TreatmentDescription?: string; + AdditionalTreatments?: WriteTreatmentResource[]; /** - *

                                                        The delivery configuration settings for sending the campaign through a custom channel. This object is required if the MessageConfiguration object for the campaign specifies a CustomMessage object.

                                                        + *

                                                        Specifies whether to pause the campaign. A paused campaign doesn't run unless you resume it by changing this value to false.

                                                        */ - CustomDeliveryConfiguration?: CustomDeliveryConfiguration; + IsPaused?: boolean; /** - *

                                                        The unique identifier for the segment to associate with the campaign.

                                                        + *

                                                        A custom name for the campaign.

                                                        */ - SegmentId?: string; + Name?: string; /** - *

                                                        The settings for the AWS Lambda function to invoke as a code hook for the campaign. You can use this hook to customize the segment that's used by the campaign.

                                                        + *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the campaign. Each tag consists of a required tag key and an associated tag value.

                                                        */ - Hook?: CampaignHook; + tags?: { [key: string]: string }; /** - *

                                                        A custom name of the default treatment for the campaign, if the campaign has multiple treatments. A treatment is a variation of a campaign that's used for A/B testing.

                                                        + *

                                                        The message configuration settings for the campaign.

                                                        */ - TreatmentName?: string; + MessageConfiguration?: MessageConfiguration; /** *

                                                        A custom description of the campaign.

                                                        @@ -3344,49 +3368,49 @@ export interface WriteCampaignRequest { Description?: string; /** - *

                                                        The allocated percentage of users (segment members) who shouldn't receive messages from the campaign.

                                                        + *

                                                        The settings for the AWS Lambda function to invoke as a code hook for the campaign. You can use this hook to customize the segment that's used by the campaign.

                                                        */ - HoldoutPercent?: number; + Hook?: CampaignHook; /** - *

                                                        The schedule settings for the campaign.

                                                        + *

                                                        The version of the segment to associate with the campaign.

                                                        */ - Schedule?: Schedule; + SegmentVersion?: number; /** - *

                                                        An array of requests that defines additional treatments for the campaign, in addition to the default treatment for the campaign.

                                                        + *

                                                        The message template to use for the campaign.

                                                        */ - AdditionalTreatments?: WriteTreatmentResource[]; + TemplateConfiguration?: TemplateConfiguration; /** - *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the campaign. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        A custom name of the default treatment for the campaign, if the campaign has multiple treatments. A treatment is a variation of a campaign that's used for A/B testing.

                                                        */ - tags?: { [key: string]: string }; + TreatmentName?: string; /** - *

                                                        The message configuration settings for the campaign.

                                                        + *

                                                        The schedule settings for the campaign.

                                                        */ - MessageConfiguration?: MessageConfiguration; + Schedule?: Schedule; /** - *

                                                        Specifies whether to pause the campaign. A paused campaign doesn't run unless you resume it by changing this value to false.

                                                        + *

                                                        The allocated percentage of users (segment members) who shouldn't receive messages from the campaign.

                                                        */ - IsPaused?: boolean; + HoldoutPercent?: number; /** - *

                                                        The message template to use for the campaign.

                                                        + *

                                                        The delivery configuration settings for sending the campaign through a custom channel. This object is required if the MessageConfiguration object for the campaign specifies a CustomMessage object.

                                                        */ - TemplateConfiguration?: TemplateConfiguration; + CustomDeliveryConfiguration?: CustomDeliveryConfiguration; /** - *

                                                        A custom name for the campaign.

                                                        + *

                                                        A custom description of the default treatment for the campaign.

                                                        */ - Name?: string; + TreatmentDescription?: string; /** - *

                                                        The version of the segment to associate with the campaign.

                                                        + *

                                                        The unique identifier for the segment to associate with the campaign.

                                                        */ - SegmentVersion?: number; + SegmentId?: string; } export namespace WriteCampaignRequest { @@ -3397,14 +3421,14 @@ export namespace WriteCampaignRequest { export interface CreateCampaignRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies the configuration and other settings for a campaign.

                                                        */ - ApplicationId: string | undefined; + WriteCampaignRequest: WriteCampaignRequest | undefined; /** - *

                                                        Specifies the configuration and other settings for a campaign.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - WriteCampaignRequest: WriteCampaignRequest | undefined; + ApplicationId: string | undefined; } export namespace CreateCampaignRequest { @@ -3436,34 +3460,34 @@ export interface EmailTemplateRequest { RecommenderId?: string; /** - *

                                                        The message body, in plain text format, to use in email messages that are based on the message template. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.

                                                        + *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        */ - TextPart?: string; + tags?: { [key: string]: string }; /** - *

                                                        A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

                                                        + *

                                                        The subject line, or title, to use in email messages that are based on the message template.

                                                        */ - DefaultSubstitutions?: string; + Subject?: string; /** - *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        The message body, in HTML format, to use in email messages that are based on the message template. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.

                                                        */ - tags?: { [key: string]: string }; + HtmlPart?: string; /** - *

                                                        A custom description of the message template.

                                                        + *

                                                        A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

                                                        */ - TemplateDescription?: string; + DefaultSubstitutions?: string; /** - *

                                                        The subject line, or title, to use in email messages that are based on the message template.

                                                        + *

                                                        A custom description of the message template.

                                                        */ - Subject?: string; + TemplateDescription?: string; /** - *

                                                        The message body, in HTML format, to use in email messages that are based on the message template. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.

                                                        + *

                                                        The message body, in plain text format, to use in email messages that are based on the message template. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.

                                                        */ - HtmlPart?: string; + TextPart?: string; } export namespace EmailTemplateRequest { @@ -3474,14 +3498,14 @@ export namespace EmailTemplateRequest { export interface CreateEmailTemplateRequest { /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        Specifies the content and settings for a message template that can be used in messages that are sent through the email channel.

                                                        */ - TemplateName: string | undefined; + EmailTemplateRequest: EmailTemplateRequest | undefined; /** - *

                                                        Specifies the content and settings for a message template that can be used in messages that are sent through the email channel.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - EmailTemplateRequest: EmailTemplateRequest | undefined; + TemplateName: string | undefined; } export namespace CreateEmailTemplateRequest { @@ -3495,9 +3519,9 @@ export namespace CreateEmailTemplateRequest { */ export interface CreateTemplateMessageBody { /** - *

                                                        The unique identifier for the request to create the message template.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the message template that was created.

                                                        */ - RequestID?: string; + Arn?: string; /** *

                                                        The message that's returned from the API for the request to create the message template.

                                                        @@ -3505,9 +3529,9 @@ export interface CreateTemplateMessageBody { Message?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the message template that was created.

                                                        + *

                                                        The unique identifier for the request to create the message template.

                                                        */ - Arn?: string; + RequestID?: string; } export namespace CreateTemplateMessageBody { @@ -3534,24 +3558,24 @@ export namespace CreateEmailTemplateResponse { */ export interface ExportJobRequest { /** - *

                                                        The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket where you want to export endpoint definitions to. This location is typically a folder that contains multiple files. The URL should be in the following format: s3://bucket-name/folder-name/.

                                                        + *

                                                        The version of the segment to export endpoint definitions from, if specified.

                                                        */ - S3UrlPrefix: string | undefined; + SegmentVersion?: number; /** - *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location where you want to export endpoint definitions to.

                                                        + *

                                                        The identifier for the segment to export endpoint definitions from. If you don't specify this value, Amazon Pinpoint exports definitions for all the endpoints that are associated with the application.

                                                        */ - RoleArn: string | undefined; + SegmentId?: string; /** - *

                                                        The version of the segment to export endpoint definitions from, if specified.

                                                        + *

                                                        The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket where you want to export endpoint definitions to. This location is typically a folder that contains multiple files. The URL should be in the following format: s3://bucket-name/folder-name/.

                                                        */ - SegmentVersion?: number; + S3UrlPrefix: string | undefined; /** - *

                                                        The identifier for the segment to export endpoint definitions from. If you don't specify this value, Amazon Pinpoint exports definitions for all the endpoints that are associated with the application.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location where you want to export endpoint definitions to.

                                                        */ - SegmentId?: string; + RoleArn: string | undefined; } export namespace ExportJobRequest { @@ -3583,24 +3607,24 @@ export namespace CreateExportJobRequest { */ export interface ExportJobResource { /** - *

                                                        The version of the segment that the endpoint definitions were exported from.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location where the endpoint definitions were exported to.

                                                        */ - SegmentVersion?: number; + RoleArn: string | undefined; /** - *

                                                        The identifier for the segment that the endpoint definitions were exported from. If this value isn't present, Amazon Pinpoint exported definitions for all the endpoints that are associated with the application.

                                                        + *

                                                        The version of the segment that the endpoint definitions were exported from.

                                                        */ - SegmentId?: string; + SegmentVersion?: number; /** - *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location where the endpoint definitions were exported to.

                                                        + *

                                                        The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket where the endpoint definitions were exported to. This location is typically a folder that contains multiple files. The URL should be in the following format: s3://bucket-name/folder-name/.

                                                        */ - RoleArn: string | undefined; + S3UrlPrefix: string | undefined; /** - *

                                                        The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket where the endpoint definitions were exported to. This location is typically a folder that contains multiple files. The URL should be in the following format: s3://bucket-name/folder-name/.

                                                        + *

                                                        The identifier for the segment that the endpoint definitions were exported from. If this value isn't present, Amazon Pinpoint exported definitions for all the endpoints that are associated with the application.

                                                        */ - S3UrlPrefix: string | undefined; + SegmentId?: string; } export namespace ExportJobResource { @@ -3626,30 +3650,25 @@ export enum JobStatus { */ export interface ExportJobResponse { /** - *

                                                        The resource settings that apply to the export job.

                                                        + *

                                                        The unique identifier for the export job.

                                                        */ - Definition: ExportJobResource | undefined; + Id: string | undefined; /** - *

                                                        The total number of pieces that must be processed to complete the export job. Each piece consists of an approximately equal portion of the endpoint definitions that are part of the export job.

                                                        + *

                                                        The resource settings that apply to the export job.

                                                        */ - TotalPieces?: number; + Definition: ExportJobResource | undefined; /** - *

                                                        The unique identifier for the export job.

                                                        + *

                                                        The unique identifier for the application that's associated with the export job.

                                                        */ - Id: string | undefined; + ApplicationId: string | undefined; /** *

                                                        The number of pieces that were processed successfully (completed) by the export job, as of the time of the request.

                                                        */ CompletedPieces?: number; - /** - *

                                                        The date, in ISO 8601 format, when the export job was created.

                                                        - */ - CreationDate: string | undefined; - /** *

                                                        The job type. This value is EXPORT for export jobs.

                                                        */ @@ -3661,9 +3680,14 @@ export interface ExportJobResponse { CompletionDate?: string; /** - *

                                                        The unique identifier for the application that's associated with the export job.

                                                        + *

                                                        An array of entries, one for each of the first 100 entries that weren't processed successfully (failed) by the export job, if any.

                                                        */ - ApplicationId: string | undefined; + Failures?: string[]; + + /** + *

                                                        The total number of endpoint definitions that weren't processed successfully (failed) by the export job, typically because an error, such as a syntax error, occurred.

                                                        + */ + TotalFailures?: number; /** *

                                                        The number of pieces that weren't processed successfully (failed) by the export job, as of the time of the request.

                                                        @@ -3671,9 +3695,9 @@ export interface ExportJobResponse { FailedPieces?: number; /** - *

                                                        The total number of endpoint definitions that weren't processed successfully (failed) by the export job, typically because an error, such as a syntax error, occurred.

                                                        + *

                                                        The status of the export job. The job status is FAILED if Amazon Pinpoint wasn't able to process one or more pieces in the job.

                                                        */ - TotalFailures?: number; + JobStatus: JobStatus | string | undefined; /** *

                                                        The total number of endpoint definitions that were processed by the export job.

                                                        @@ -3681,14 +3705,14 @@ export interface ExportJobResponse { TotalProcessed?: number; /** - *

                                                        An array of entries, one for each of the first 100 entries that weren't processed successfully (failed) by the export job, if any.

                                                        + *

                                                        The total number of pieces that must be processed to complete the export job. Each piece consists of an approximately equal portion of the endpoint definitions that are part of the export job.

                                                        */ - Failures?: string[]; + TotalPieces?: number; /** - *

                                                        The status of the export job. The job status is FAILED if Amazon Pinpoint wasn't able to process one or more pieces in the job.

                                                        + *

                                                        The date, in ISO 8601 format, when the export job was created.

                                                        */ - JobStatus: JobStatus | string | undefined; + CreationDate: string | undefined; } export namespace ExportJobResponse { @@ -3720,9 +3744,9 @@ export enum Format { */ export interface ImportJobRequest { /** - *

                                                        Specifies whether to create a segment that contains the endpoints, when the endpoint definitions are imported.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to import endpoint definitions from.

                                                        */ - DefineSegment?: boolean; + RoleArn: string | undefined; /** *

                                                        Specifies whether to register the endpoints with Amazon Pinpoint, when the endpoint definitions are imported.

                                                        @@ -3730,34 +3754,34 @@ export interface ImportJobRequest { RegisterEndpoints?: boolean; /** - *

                                                        The identifier for the segment to update or add the imported endpoint definitions to, if the import job is meant to update an existing segment.

                                                        + *

                                                        Specifies whether to create a segment that contains the endpoints, when the endpoint definitions are imported.

                                                        */ - SegmentId?: string; + DefineSegment?: boolean; /** *

                                                        The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains the endpoint definitions to import. This location can be a folder or a single file. If the location is a folder, Amazon Pinpoint imports endpoint definitions from the files in this location, including any subfolders that the folder contains.

                                                        The URL should be in the following format: s3://bucket-name/folder-name/file-name. The location can end with the key for an individual object or a prefix that qualifies multiple objects.

                                                        */ S3Url: string | undefined; + /** + *

                                                        (Deprecated) Your AWS account ID, which you assigned to an external ID key in an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM role when importing endpoint definitions, but we removed this requirement. We don't recommend use of external IDs for IAM roles that are assumed by Amazon Pinpoint.

                                                        + */ + ExternalId?: string; + /** *

                                                        A custom name for the segment that's created by the import job, if the value of the DefineSegment property is true.

                                                        */ SegmentName?: string; /** - *

                                                        (Deprecated) Your AWS account ID, which you assigned to an external ID key in an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM role when importing endpoint definitions, but we removed this requirement. We don't recommend use of external IDs for IAM roles that are assumed by Amazon Pinpoint.

                                                        + *

                                                        The identifier for the segment to update or add the imported endpoint definitions to, if the import job is meant to update an existing segment.

                                                        */ - ExternalId?: string; + SegmentId?: string; /** *

                                                        The format of the files that contain the endpoint definitions to import. Valid values are: CSV, for comma-separated values format; and, JSON, for newline-delimited JSON format. If the Amazon S3 location stores multiple files that use different formats, Amazon Pinpoint imports data only from the files that use the specified format.

                                                        */ Format: Format | string | undefined; - - /** - *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to import endpoint definitions from.

                                                        - */ - RoleArn: string | undefined; } export namespace ImportJobRequest { @@ -3789,14 +3813,14 @@ export namespace CreateImportJobRequest { */ export interface ImportJobResource { /** - *

                                                        Specifies whether the import job registers the endpoints with Amazon Pinpoint, when the endpoint definitions are imported.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to import endpoint definitions from.

                                                        */ - RegisterEndpoints?: boolean; + RoleArn: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to import endpoint definitions from.

                                                        + *

                                                        Specifies whether the import job registers the endpoints with Amazon Pinpoint, when the endpoint definitions are imported.

                                                        */ - RoleArn: string | undefined; + RegisterEndpoints?: boolean; /** *

                                                        Specifies whether the import job creates a segment that contains the endpoints, when the endpoint definitions are imported.

                                                        @@ -3804,9 +3828,9 @@ export interface ImportJobResource { DefineSegment?: boolean; /** - *

                                                        The format of the files that contain the endpoint definitions to import. Valid values are: CSV, for comma-separated values format; and, JSON, for newline-delimited JSON format.

                                                        If the files are stored in an Amazon S3 location and that location contains multiple files that use different formats, Amazon Pinpoint imports data only from the files that use the specified format.

                                                        + *

                                                        (Deprecated) Your AWS account ID, which you assigned to an external ID key in an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM role when importing endpoint definitions, but we removed this requirement. We don't recommend use of external IDs for IAM roles that are assumed by Amazon Pinpoint.

                                                        */ - Format: Format | string | undefined; + ExternalId?: string; /** *

                                                        The custom name for the segment that's created by the import job, if the value of the DefineSegment property is true.

                                                        @@ -3824,9 +3848,9 @@ export interface ImportJobResource { SegmentId?: string; /** - *

                                                        (Deprecated) Your AWS account ID, which you assigned to an external ID key in an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM role when importing endpoint definitions, but we removed this requirement. We don't recommend use of external IDs for IAM roles that are assumed by Amazon Pinpoint.

                                                        + *

                                                        The format of the files that contain the endpoint definitions to import. Valid values are: CSV, for comma-separated values format; and, JSON, for newline-delimited JSON format.

                                                        If the files are stored in an Amazon S3 location and that location contains multiple files that use different formats, Amazon Pinpoint imports data only from the files that use the specified format.

                                                        */ - ExternalId?: string; + Format: Format | string | undefined; } export namespace ImportJobResource { @@ -3840,14 +3864,14 @@ export namespace ImportJobResource { */ export interface ImportJobResponse { /** - *

                                                        The number of pieces that weren't processed successfully (failed) by the import job, as of the time of the request.

                                                        + *

                                                        The job type. This value is IMPORT for import jobs.

                                                        */ - FailedPieces?: number; + Type: string | undefined; /** - *

                                                        The total number of endpoint definitions that weren't processed successfully (failed) by the import job, typically because an error, such as a syntax error, occurred.

                                                        + *

                                                        The date, in ISO 8601 format, when the import job was completed.

                                                        */ - TotalFailures?: number; + CompletionDate?: string; /** *

                                                        The status of the import job. The job status is FAILED if Amazon Pinpoint wasn't able to process one or more pieces in the job.

                                                        @@ -3855,14 +3879,19 @@ export interface ImportJobResponse { JobStatus: JobStatus | string | undefined; /** - *

                                                        An array of entries, one for each of the first 100 entries that weren't processed successfully (failed) by the import job, if any.

                                                        + *

                                                        The total number of pieces that must be processed to complete the import job. Each piece consists of an approximately equal portion of the endpoint definitions that are part of the import job.

                                                        */ - Failures?: string[]; + TotalPieces?: number; /** - *

                                                        The resource settings that apply to the import job.

                                                        + *

                                                        The number of pieces that weren't processed successfully (failed) by the import job, as of the time of the request.

                                                        */ - Definition: ImportJobResource | undefined; + FailedPieces?: number; + + /** + *

                                                        The date, in ISO 8601 format, when the import job was created.

                                                        + */ + CreationDate: string | undefined; /** *

                                                        The unique identifier for the import job.

                                                        @@ -3875,34 +3904,29 @@ export interface ImportJobResponse { TotalProcessed?: number; /** - *

                                                        The date, in ISO 8601 format, when the import job was completed.

                                                        - */ - CompletionDate?: string; - - /** - *

                                                        The date, in ISO 8601 format, when the import job was created.

                                                        + *

                                                        The resource settings that apply to the import job.

                                                        */ - CreationDate: string | undefined; + Definition: ImportJobResource | undefined; /** - *

                                                        The unique identifier for the application that's associated with the import job.

                                                        + *

                                                        The number of pieces that were processed successfully (completed) by the import job, as of the time of the request.

                                                        */ - ApplicationId: string | undefined; + CompletedPieces?: number; /** - *

                                                        The job type. This value is IMPORT for import jobs.

                                                        + *

                                                        An array of entries, one for each of the first 100 entries that weren't processed successfully (failed) by the import job, if any.

                                                        */ - Type: string | undefined; + Failures?: string[]; /** - *

                                                        The total number of pieces that must be processed to complete the import job. Each piece consists of an approximately equal portion of the endpoint definitions that are part of the import job.

                                                        + *

                                                        The unique identifier for the application that's associated with the import job.

                                                        */ - TotalPieces?: number; + ApplicationId: string | undefined; /** - *

                                                        The number of pieces that were processed successfully (completed) by the import job, as of the time of the request.

                                                        + *

                                                        The total number of endpoint definitions that weren't processed successfully (failed) by the import job, typically because an error, such as a syntax error, occurred.

                                                        */ - CompletedPieces?: number; + TotalFailures?: number; } export namespace ImportJobResponse { @@ -3934,14 +3958,14 @@ export interface JourneyLimits { DailyCap?: number; /** - *

                                                        The maximum number of messages that the journey can send each second.

                                                        + *

                                                        The maximum number of times that a participant can enter the journey. The maximum value is 100. To allow participants to enter the journey an unlimited number of times, set this value to 0.

                                                        */ - MessagesPerSecond?: number; + EndpointReentryCap?: number; /** - *

                                                        The maximum number of times that a participant can enter the journey. The maximum value is 100. To allow participants to enter the journey an unlimited number of times, set this value to 0.

                                                        + *

                                                        The maximum number of messages that the journey can send each second.

                                                        */ - EndpointReentryCap?: number; + MessagesPerSecond?: number; } export namespace JourneyLimits { @@ -3959,11 +3983,6 @@ export interface JourneySchedule { */ EndTime?: Date; - /** - *

                                                        The scheduled time, in ISO 8601 format, when the journey began or will begin.

                                                        - */ - StartTime?: Date; - /** *

                                                        The starting UTC offset for the journey schedule, if the value of the journey's LocalTime property is true. Valid values are: UTC, * UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, @@ -3973,6 +3992,11 @@ export interface JourneySchedule { * UTC-09:30, UTC-10, and UTC-11.

                                                        */ Timezone?: string; + + /** + *

                                                        The scheduled time, in ISO 8601 format, when the journey began or will begin.

                                                        + */ + StartTime?: Date; } export namespace JourneySchedule { @@ -3981,6 +4005,45 @@ export namespace JourneySchedule { }); } +/** + *

                                                        Specifies the settings for an event that causes a campaign to be sent or a journey activity to be performed.

                                                        + */ +export interface EventFilter { + /** + *

                                                        The dimensions for the event filter to use for the campaign or the journey activity.

                                                        + */ + Dimensions: EventDimensions | undefined; + + /** + *

                                                        The type of event that causes the campaign to be sent or the journey activity to be performed. Valid values are: SYSTEM, sends the campaign or performs the activity when a system event occurs; and, ENDPOINT, sends the campaign or performs the activity when an endpoint event (Events resource) occurs.

                                                        + */ + FilterType: FilterType | string | undefined; +} + +export namespace EventFilter { + export const filterSensitiveLog = (obj: EventFilter): any => ({ + ...obj, + }); +} + +/** + *

                                                        Specifies the settings for an event that causes a journey activity to start.

                                                        + */ +export interface EventStartCondition { + /** + *

                                                        Specifies the settings for an event that causes a campaign to be sent or a journey activity to be performed.

                                                        + */ + EventFilter?: EventFilter; + + SegmentId?: string; +} + +export namespace EventStartCondition { + export const filterSensitiveLog = (obj: EventStartCondition): any => ({ + ...obj, + }); +} + /** *

                                                        Specifies the conditions for the first activity in a journey. This activity and its conditions determine which users are participants in a journey.

                                                        */ @@ -3990,6 +4053,11 @@ export interface StartCondition { */ Description?: string; + /** + *

                                                        Specifies the settings for an event that causes a journey activity to start.

                                                        + */ + EventStartCondition?: EventStartCondition; + /** *

                                                        The segment that's associated with the first activity in the journey. This segment determines which users are participants in the journey.

                                                        */ @@ -4015,29 +4083,29 @@ export enum State { */ export interface WriteJourneyRequest { /** - *

                                                        The segment that defines which users are participants in the journey.

                                                        + *

                                                        Specifies whether the journey's scheduled start and end times use each participant's local time. To base the schedule on each participant's local time, set this value to true.

                                                        */ - StartCondition?: StartCondition; + LocalTime?: boolean; /** - *

                                                        The status of the journey. Valid values are:

                                                        • DRAFT - Saves the journey and doesn't publish it.

                                                        • ACTIVE - Saves and publishes the journey. Depending on the journey's schedule, the journey starts running immediately or at the scheduled start time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

                                                        The CANCELLED, COMPLETED, and CLOSED values are not supported in requests to create or update a journey. To cancel a journey, use the Journey State resource.

                                                        + *

                                                        The schedule settings for the journey.

                                                        */ - State?: State | string; + Schedule?: JourneySchedule; /** - *

                                                        The name of the journey. A journey name can contain a maximum of 150 characters. The characters can be alphanumeric characters or symbols, such as underscores (_) or hyphens (-). A journey name can't contain any spaces.

                                                        + *

                                                        The segment that defines which users are participants in the journey.

                                                        */ - Name: string | undefined; + StartCondition?: StartCondition; /** - *

                                                        The unique identifier for the first activity in the journey. The identifier for this activity can contain a maximum of 128 characters. The characters must be alphanumeric characters.

                                                        + *

                                                        A map that contains a set of Activity objects, one object for each activity in the journey. For each Activity object, the key is the unique identifier (string) for an activity and the value is the settings for the activity. An activity identifier can contain a maximum of 100 characters. The characters must be alphanumeric characters.

                                                        */ - StartActivity?: string; + Activities?: { [key: string]: Activity }; /** - *

                                                        The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

                                                        + *

                                                        The date, in ISO 8601 format, when the journey was last modified.

                                                        */ - RefreshFrequency?: string; + LastModifiedDate?: string; /** *

                                                        The date, in ISO 8601 format, when the journey was created.

                                                        @@ -4045,14 +4113,14 @@ export interface WriteJourneyRequest { CreationDate?: string; /** - *

                                                        A map that contains a set of Activity objects, one object for each activity in the journey. For each Activity object, the key is the unique identifier (string) for an activity and the value is the settings for the activity. An activity identifier can contain a maximum of 100 characters. The characters must be alphanumeric characters.

                                                        + *

                                                        The status of the journey. Valid values are:

                                                        • DRAFT - Saves the journey and doesn't publish it.

                                                        • ACTIVE - Saves and publishes the journey. Depending on the journey's schedule, the journey starts running immediately or at the scheduled start time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

                                                        The CANCELLED, COMPLETED, and CLOSED values are not supported in requests to create or update a journey. To cancel a journey, use the Journey State resource.

                                                        */ - Activities?: { [key: string]: Activity }; + State?: State | string; /** - *

                                                        The date, in ISO 8601 format, when the journey was last modified.

                                                        + *

                                                        The unique identifier for the first activity in the journey. The identifier for this activity can contain a maximum of 128 characters. The characters must be alphanumeric characters.

                                                        */ - LastModifiedDate?: string; + StartActivity?: string; /** *

                                                        The quiet time settings for the journey. Quiet time is a specific time range when a journey doesn't send messages to participants, if all the following conditions are met:

                                                        • The EndpointDemographic.Timezone property of the endpoint for the participant is set to a valid value.

                                                        • The current time in the participant's time zone is later than or equal to the time specified by the QuietTime.Start property for the journey.

                                                        • The current time in the participant's time zone is earlier than or equal to the time specified by the QuietTime.End property for the journey.

                                                        If any of the preceding conditions isn't met, the participant will receive messages from the journey, even if quiet time is enabled.

                                                        @@ -4060,19 +4128,19 @@ export interface WriteJourneyRequest { QuietTime?: QuietTime; /** - *

                                                        The messaging and entry limits for the journey.

                                                        + *

                                                        The name of the journey. A journey name can contain a maximum of 150 characters. The characters can be alphanumeric characters or symbols, such as underscores (_) or hyphens (-). A journey name can't contain any spaces.

                                                        */ - Limits?: JourneyLimits; + Name: string | undefined; /** - *

                                                        Specifies whether the journey's scheduled start and end times use each participant's local time. To base the schedule on each participant's local time, set this value to true.

                                                        + *

                                                        The messaging and entry limits for the journey.

                                                        */ - LocalTime?: boolean; + Limits?: JourneyLimits; /** - *

                                                        The schedule settings for the journey.

                                                        + *

                                                        The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

                                                        */ - Schedule?: JourneySchedule; + RefreshFrequency?: string; } export namespace WriteJourneyRequest { @@ -4103,41 +4171,36 @@ export namespace CreateJourneyRequest { *

                                                        Provides information about the status, configuration, and other settings for a journey.

                                                        */ export interface JourneyResponse { - /** - *

                                                        The current status of the journey. Possible values are:

                                                        • DRAFT - The journey is being developed and hasn't been published yet.

                                                        • ACTIVE - The journey has been developed and published. Depending on the journey's schedule, the journey may currently be running or scheduled to start running at a later time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

                                                        • COMPLETED - The journey has been published and has finished running. All participants have entered the journey and no participants are waiting to complete the journey or any activities in the journey.

                                                        • CANCELLED - The journey has been stopped. If a journey's status is CANCELLED, you can't add, change, or remove activities or segment settings from the journey.

                                                        • CLOSED - The journey has been published and has started running. It may have also passed its scheduled end time, or passed its scheduled start time and a refresh frequency hasn't been specified for it. If a journey's status is CLOSED, you can't add participants to it, and no existing participants can enter the journey for the first time. However, any existing participants who are currently waiting to start an activity may continue the journey.

                                                        - */ - State?: State | string; - /** *

                                                        The messaging and entry limits for the journey.

                                                        */ Limits?: JourneyLimits; /** - *

                                                        The segment that defines which users are participants in the journey.

                                                        - */ - StartCondition?: StartCondition; - - /** - *

                                                        The date, in ISO 8601 format, when the journey was created.

                                                        + *

                                                        The name of the journey.

                                                        */ - CreationDate?: string; + Name: string | undefined; /** - *

                                                        The date, in ISO 8601 format, when the journey was last modified.

                                                        + *

                                                        The unique identifier for the first activity in the journey.

                                                        */ - LastModifiedDate?: string; + StartActivity?: string; /** - *

                                                        A map that contains a set of Activity objects, one object for each activity in the journey. For each Activity object, the key is the unique identifier (string) for an activity and the value is the settings for the activity.

                                                        + *

                                                        The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

                                                        */ - Activities?: { [key: string]: Activity }; + RefreshFrequency?: string; /** *

                                                        The unique identifier for the application that the journey applies to.

                                                        */ ApplicationId: string | undefined; + /** + *

                                                        The segment that defines which users are participants in the journey.

                                                        + */ + StartCondition?: StartCondition; + /** *

                                                        The unique identifier for the journey.

                                                        */ @@ -4148,11 +4211,6 @@ export interface JourneyResponse { */ LocalTime?: boolean; - /** - *

                                                        The schedule settings for the journey.

                                                        - */ - Schedule?: JourneySchedule; - /** *

                                                        The quiet time settings for the journey. Quiet time is a specific time range when a journey doesn't send messages to participants, if all the following conditions are met:

                                                        • The EndpointDemographic.Timezone property of the endpoint for the participant is set to a valid value.

                                                        • The current time in the participant's time zone is later than or equal to the time specified by the QuietTime.Start property for the journey.

                                                        • The current time in the participant's time zone is earlier than or equal to the time specified by the QuietTime.End property for the journey.

                                                        If any of the preceding conditions isn't met, the participant will receive messages from the journey, even if quiet time is enabled.

                                                        */ @@ -4164,19 +4222,29 @@ export interface JourneyResponse { tags?: { [key: string]: string }; /** - *

                                                        The unique identifier for the first activity in the journey.

                                                        + *

                                                        The current status of the journey. Possible values are:

                                                        • DRAFT - The journey is being developed and hasn't been published yet.

                                                        • ACTIVE - The journey has been developed and published. Depending on the journey's schedule, the journey may currently be running or scheduled to start running at a later time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

                                                        • COMPLETED - The journey has been published and has finished running. All participants have entered the journey and no participants are waiting to complete the journey or any activities in the journey.

                                                        • CANCELLED - The journey has been stopped. If a journey's status is CANCELLED, you can't add, change, or remove activities or segment settings from the journey.

                                                        • CLOSED - The journey has been published and has started running. It may have also passed its scheduled end time, or passed its scheduled start time and a refresh frequency hasn't been specified for it. If a journey's status is CLOSED, you can't add participants to it, and no existing participants can enter the journey for the first time. However, any existing participants who are currently waiting to start an activity may continue the journey.

                                                        */ - StartActivity?: string; + State?: State | string; /** - *

                                                        The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

                                                        + *

                                                        The date, in ISO 8601 format, when the journey was created.

                                                        */ - RefreshFrequency?: string; + CreationDate?: string; /** - *

                                                        The name of the journey.

                                                        + *

                                                        A map that contains a set of Activity objects, one object for each activity in the journey. For each Activity object, the key is the unique identifier (string) for an activity and the value is the settings for the activity.

                                                        */ - Name: string | undefined; + Activities?: { [key: string]: Activity }; + + /** + *

                                                        The date, in ISO 8601 format, when the journey was last modified.

                                                        + */ + LastModifiedDate?: string; + + /** + *

                                                        The schedule settings for the journey.

                                                        + */ + Schedule?: JourneySchedule; } export namespace JourneyResponse { @@ -4203,29 +4271,29 @@ export namespace CreateJourneyResponse { */ export interface DefaultPushNotificationTemplate { /** - *

                                                        The URL to open in a recipient's default mobile browser, if a recipient taps a push notification that's based on the message template and the value of the Action property is URL.

                                                        + *

                                                        The action to occur if a recipient taps a push notification that's based on the message template. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS and Android platforms.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        */ - Url?: string; + Action?: Action | string; /** - *

                                                        The sound to play when a recipient receives a push notification that's based on the message template. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

                                                        For an iOS platform, this value is the key for the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

                                                        + *

                                                        The message body to use in push notifications that are based on the message template.

                                                        */ - Sound?: string; + Body?: string; /** - *

                                                        The title to use in push notifications that are based on the message template. This title appears above the notification message on a recipient's device.

                                                        + *

                                                        The URL to open in a recipient's default mobile browser, if a recipient taps a push notification that's based on the message template and the value of the Action property is URL.

                                                        */ - Title?: string; + Url?: string; /** - *

                                                        The message body to use in push notifications that are based on the message template.

                                                        + *

                                                        The title to use in push notifications that are based on the message template. This title appears above the notification message on a recipient's device.

                                                        */ - Body?: string; + Title?: string; /** - *

                                                        The action to occur if a recipient taps a push notification that's based on the message template. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS and Android platforms.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        + *

                                                        The sound to play when a recipient receives a push notification that's based on the message template. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

                                                        For an iOS platform, this value is the key for the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

                                                        */ - Action?: Action | string; + Sound?: string; } export namespace DefaultPushNotificationTemplate { @@ -4239,9 +4307,9 @@ export namespace DefaultPushNotificationTemplate { */ export interface PushNotificationTemplateRequest { /** - *

                                                        The unique identifier for the recommender model to use for the message template. Amazon Pinpoint uses this value to determine how to retrieve and process data from a recommender model when it sends messages that use the template, if the template contains message variables for recommendation data.

                                                        + *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        */ - RecommenderId?: string; + tags?: { [key: string]: string }; /** *

                                                        The message template to use for the GCM channel, which is used to send notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        @@ -4249,39 +4317,39 @@ export interface PushNotificationTemplateRequest { GCM?: AndroidPushNotificationTemplate; /** - *

                                                        The message template to use for the APNs (Apple Push Notification service) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        + *

                                                        The unique identifier for the recommender model to use for the message template. Amazon Pinpoint uses this value to determine how to retrieve and process data from a recommender model when it sends messages that use the template, if the template contains message variables for recommendation data.

                                                        */ - APNS?: APNSPushNotificationTemplate; + RecommenderId?: string; /** - *

                                                        A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

                                                        + *

                                                        The default message template to use for push notification channels.

                                                        */ - DefaultSubstitutions?: string; + Default?: DefaultPushNotificationTemplate; /** - *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        The message template to use for the ADM (Amazon Device Messaging) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        */ - tags?: { [key: string]: string }; + ADM?: AndroidPushNotificationTemplate; /** - *

                                                        The message template to use for the Baidu (Baidu Cloud Push) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        + *

                                                        A custom description of the message template.

                                                        */ - Baidu?: AndroidPushNotificationTemplate; + TemplateDescription?: string; /** - *

                                                        The default message template to use for push notification channels.

                                                        + *

                                                        The message template to use for the Baidu (Baidu Cloud Push) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        */ - Default?: DefaultPushNotificationTemplate; + Baidu?: AndroidPushNotificationTemplate; /** - *

                                                        The message template to use for the ADM (Amazon Device Messaging) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        + *

                                                        The message template to use for the APNs (Apple Push Notification service) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        */ - ADM?: AndroidPushNotificationTemplate; + APNS?: APNSPushNotificationTemplate; /** - *

                                                        A custom description of the message template.

                                                        + *

                                                        A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

                                                        */ - TemplateDescription?: string; + DefaultSubstitutions?: string; } export namespace PushNotificationTemplateRequest { @@ -4292,14 +4360,14 @@ export namespace PushNotificationTemplateRequest { export interface CreatePushTemplateRequest { /** - *

                                                        Specifies the content and settings for a message template that can be used in messages that are sent through a push notification channel.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - PushNotificationTemplateRequest: PushNotificationTemplateRequest | undefined; + TemplateName: string | undefined; /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        Specifies the content and settings for a message template that can be used in messages that are sent through a push notification channel.

                                                        */ - TemplateName: string | undefined; + PushNotificationTemplateRequest: PushNotificationTemplateRequest | undefined; } export namespace CreatePushTemplateRequest { @@ -4326,9 +4394,9 @@ export namespace CreatePushTemplateResponse { */ export interface CreateRecommenderConfigurationShape { /** - *

                                                        The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation data from. This value must match the ARN of an Amazon Personalize campaign.

                                                        + *

                                                        A custom display name for the standard endpoint or user attribute (RecommendationItems) that temporarily stores recommended items for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This value is required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        This name appears in the Attribute finder of the template editor on the Amazon Pinpoint console. The name can contain up to 25 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions don't apply to attribute values.

                                                        */ - RecommendationProviderUri: string | undefined; + RecommendationsDisplayName?: string; /** *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from the recommender model.

                                                        @@ -4336,19 +4404,19 @@ export interface CreateRecommenderConfigurationShape { RecommendationProviderRoleArn: string | undefined; /** - *

                                                        The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender model. This value enables the model to use attribute and event data that’s specific to a particular endpoint or user in an Amazon Pinpoint application. Valid values are:

                                                        • PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular endpoint in Amazon Pinpoint. The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the default value.

                                                        • PINPOINT_USER_ID - Associate each user in the model with a particular user and endpoint in Amazon Pinpoint. The data is correlated based on user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint ID. Otherwise, messages won’t be sent to the user's endpoint.

                                                        + *

                                                        A custom description of the configuration for the recommender model. The description can contain up to 128 characters. The characters can be letters, numbers, spaces, or the following symbols: _ ; () , ‐.

                                                        */ - RecommendationProviderIdType?: string; + Description?: string; /** - *

                                                        The number of recommended items to retrieve from the model for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This number determines how many recommended items are available for use in message variables. The minimum value is 1. The maximum value is 5. The default value is 5.

                                                        To use multiple recommended items and custom attributes with message variables, you have to use an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        + *

                                                        The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender model. This value enables the model to use attribute and event data that’s specific to a particular endpoint or user in an Amazon Pinpoint application. Valid values are:

                                                        • PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular endpoint in Amazon Pinpoint. The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the default value.

                                                        • PINPOINT_USER_ID - Associate each user in the model with a particular user and endpoint in Amazon Pinpoint. The data is correlated based on user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint ID. Otherwise, messages won’t be sent to the user's endpoint.

                                                        */ - RecommendationsPerMessage?: number; + RecommendationProviderIdType?: string; /** - *

                                                        A custom display name for the standard endpoint or user attribute (RecommendationItems) that temporarily stores recommended items for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This value is required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        This name appears in the Attribute finder of the template editor on the Amazon Pinpoint console. The name can contain up to 25 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions don't apply to attribute values.

                                                        + *

                                                        A custom name of the configuration for the recommender model. The name must start with a letter or number and it can contain up to 128 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

                                                        */ - RecommendationsDisplayName?: string; + Name?: string; /** *

                                                        The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke for additional processing of recommendation data that's retrieved from the recommender model.

                                                        @@ -4361,14 +4429,14 @@ export interface CreateRecommenderConfigurationShape { Attributes?: { [key: string]: string }; /** - *

                                                        A custom name of the configuration for the recommender model. The name must start with a letter or number and it can contain up to 128 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

                                                        + *

                                                        The number of recommended items to retrieve from the model for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This number determines how many recommended items are available for use in message variables. The minimum value is 1. The maximum value is 5. The default value is 5.

                                                        To use multiple recommended items and custom attributes with message variables, you have to use an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        */ - Name?: string; + RecommendationsPerMessage?: number; /** - *

                                                        A custom description of the configuration for the recommender model. The description can contain up to 128 characters. The characters can be letters, numbers, spaces, or the following symbols: _ ; () , ‐.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation data from. This value must match the ARN of an Amazon Personalize campaign.

                                                        */ - Description?: string; + RecommendationProviderUri: string | undefined; } export namespace CreateRecommenderConfigurationShape { @@ -4405,24 +4473,24 @@ export interface RecommenderConfigurationResponse { RecommendationProviderIdType?: string; /** - *

                                                        The date, in extended ISO 8601 format, when the configuration was created for the recommender model.

                                                        + *

                                                        The date, in extended ISO 8601 format, when the configuration for the recommender model was last modified.

                                                        */ - CreationDate: string | undefined; + LastModifiedDate: string | undefined; /** - *

                                                        The date, in extended ISO 8601 format, when the configuration for the recommender model was last modified.

                                                        + *

                                                        The date, in extended ISO 8601 format, when the configuration was created for the recommender model.

                                                        */ - LastModifiedDate: string | undefined; + CreationDate: string | undefined; /** - *

                                                        The custom description of the configuration for the recommender model.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from the recommender model.

                                                        */ - Description?: string; + RecommendationProviderRoleArn: string | undefined; /** - *

                                                        The unique identifier for the recommender model configuration.

                                                        + *

                                                        The number of recommended items that are retrieved from the model for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This number determines how many recommended items are available for use in message variables.

                                                        */ - Id: string | undefined; + RecommendationsPerMessage?: number; /** *

                                                        The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Pinpoint invokes to perform additional processing of recommendation data that it retrieves from the recommender model.

                                                        @@ -4430,29 +4498,29 @@ export interface RecommenderConfigurationResponse { RecommendationTransformerUri?: string; /** - *

                                                        The custom name of the configuration for the recommender model.

                                                        + *

                                                        The custom display name for the standard endpoint or user attribute (RecommendationItems) that temporarily stores recommended items for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This name appears in the Attribute finder of the template editor on the Amazon Pinpoint console.

                                                        This value is null if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        */ - Name?: string; + RecommendationsDisplayName?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from the recommender model.

                                                        + *

                                                        A map that defines 1-10 custom endpoint or user attributes, depending on the value for the RecommendationProviderIdType property. Each of these attributes temporarily stores a recommended item that's retrieved from the recommender model and sent to an AWS Lambda function for additional processing. Each attribute can be used as a message variable in a message template.

                                                        This value is null if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        */ - RecommendationProviderRoleArn: string | undefined; + Attributes?: { [key: string]: string }; /** - *

                                                        The number of recommended items that are retrieved from the model for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This number determines how many recommended items are available for use in message variables.

                                                        + *

                                                        The custom name of the configuration for the recommender model.

                                                        */ - RecommendationsPerMessage?: number; + Name?: string; /** - *

                                                        A map that defines 1-10 custom endpoint or user attributes, depending on the value for the RecommendationProviderIdType property. Each of these attributes temporarily stores a recommended item that's retrieved from the recommender model and sent to an AWS Lambda function for additional processing. Each attribute can be used as a message variable in a message template.

                                                        This value is null if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        + *

                                                        The unique identifier for the recommender model configuration.

                                                        */ - Attributes?: { [key: string]: string }; + Id: string | undefined; /** - *

                                                        The custom display name for the standard endpoint or user attribute (RecommendationItems) that temporarily stores recommended items for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This name appears in the Attribute finder of the template editor on the Amazon Pinpoint console.

                                                        This value is null if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        + *

                                                        The custom description of the configuration for the recommender model.

                                                        */ - RecommendationsDisplayName?: string; + Description?: string; } export namespace RecommenderConfigurationResponse { @@ -4517,9 +4585,9 @@ export interface SegmentGroup { SourceSegments?: SegmentReference[]; /** - *

                                                        An array that defines the dimensions for the segment.

                                                        + *

                                                        Specifies how to handle multiple base segments for the segment. For example, if you specify three base segments for the segment, whether the resulting segment is based on all, any, or none of the base segments.

                                                        */ - Dimensions?: SegmentDimensions[]; + SourceType?: SourceType | string; /** *

                                                        Specifies how to handle multiple dimensions for the segment. For example, if you specify three dimensions for the segment, whether the resulting segment includes endpoints that match all, any, or none of the dimensions.

                                                        @@ -4527,9 +4595,9 @@ export interface SegmentGroup { Type?: Type | string; /** - *

                                                        Specifies how to handle multiple base segments for the segment. For example, if you specify three base segments for the segment, whether the resulting segment is based on all, any, or none of the base segments.

                                                        + *

                                                        An array that defines the dimensions for the segment.

                                                        */ - SourceType?: SourceType | string; + Dimensions?: SegmentDimensions[]; } export namespace SegmentGroup { @@ -4549,14 +4617,14 @@ export enum Include { */ export interface SegmentGroupList { /** - *

                                                        Specifies how to handle multiple segment groups for the segment. For example, if the segment includes three segment groups, whether the resulting segment includes endpoints that match all, any, or none of the segment groups.

                                                        + *

                                                        An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.

                                                        */ - Include?: Include | string; + Groups?: SegmentGroup[]; /** - *

                                                        An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.

                                                        + *

                                                        Specifies how to handle multiple segment groups for the segment. For example, if the segment includes three segment groups, whether the resulting segment includes endpoints that match all, any, or none of the segment groups.

                                                        */ - Groups?: SegmentGroup[]; + Include?: Include | string; } export namespace SegmentGroupList { @@ -4570,24 +4638,24 @@ export namespace SegmentGroupList { */ export interface WriteSegmentRequest { /** - *

                                                        The criteria that define the dimensions for the segment.

                                                        + *

                                                        The segment group to use and the dimensions to apply to the group's base segments in order to build the segment. A segment group can consist of zero or more base segments. Your request can include only one segment group.

                                                        */ - Dimensions?: SegmentDimensions; + SegmentGroups?: SegmentGroupList; /** - *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the segment. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        The name of the segment.

                                                        */ - tags?: { [key: string]: string }; + Name?: string; /** - *

                                                        The name of the segment.

                                                        + *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the segment. Each tag consists of a required tag key and an associated tag value.

                                                        */ - Name?: string; + tags?: { [key: string]: string }; /** - *

                                                        The segment group to use and the dimensions to apply to the group's base segments in order to build the segment. A segment group can consist of zero or more base segments. Your request can include only one segment group.

                                                        + *

                                                        The criteria that define the dimensions for the segment.

                                                        */ - SegmentGroups?: SegmentGroupList; + Dimensions?: SegmentDimensions; } export namespace WriteSegmentRequest { @@ -4598,14 +4666,14 @@ export namespace WriteSegmentRequest { export interface CreateSegmentRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies the configuration, dimension, and other settings for a segment. A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups object, but not both.

                                                        */ - ApplicationId: string | undefined; + WriteSegmentRequest: WriteSegmentRequest | undefined; /** - *

                                                        Specifies the configuration, dimension, and other settings for a segment. A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups object, but not both.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - WriteSegmentRequest: WriteSegmentRequest | undefined; + ApplicationId: string | undefined; } export namespace CreateSegmentRequest { @@ -4624,9 +4692,9 @@ export interface SegmentImportResource { ExternalId: string | undefined; /** - *

                                                        The number of channel types in the endpoint definitions that were imported to create the segment.

                                                        + *

                                                        The number of endpoint definitions that were imported successfully to create the segment.

                                                        */ - ChannelCounts?: { [key: string]: number }; + Size: number | undefined; /** *

                                                        The URL of the Amazon Simple Storage Service (Amazon S3) bucket that the endpoint definitions were imported from to create the segment.

                                                        @@ -4634,19 +4702,19 @@ export interface SegmentImportResource { S3Url: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location to import endpoint definitions from.

                                                        + *

                                                        The format of the files that were imported to create the segment. Valid values are: CSV, for comma-separated values format; and, JSON, for newline-delimited JSON format.

                                                        */ - RoleArn: string | undefined; + Format: Format | string | undefined; /** - *

                                                        The number of endpoint definitions that were imported successfully to create the segment.

                                                        + *

                                                        The number of channel types in the endpoint definitions that were imported to create the segment.

                                                        */ - Size: number | undefined; + ChannelCounts?: { [key: string]: number }; /** - *

                                                        The format of the files that were imported to create the segment. Valid values are: CSV, for comma-separated values format; and, JSON, for newline-delimited JSON format.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location to import endpoint definitions from.

                                                        */ - Format: Format | string | undefined; + RoleArn: string | undefined; } export namespace SegmentImportResource { @@ -4665,14 +4733,14 @@ export enum SegmentType { */ export interface SegmentResponse { /** - *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the segment. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        A list of one or more segment groups that apply to the segment. Each segment group consists of zero or more base segments and the dimensions that are applied to those base segments.

                                                        */ - tags?: { [key: string]: string }; + SegmentGroups?: SegmentGroupList; /** - *

                                                        The unique identifier for the application that the segment is associated with.

                                                        + *

                                                        The name of the segment.

                                                        */ - ApplicationId: string | undefined; + Name?: string; /** *

                                                        The settings for the import job that's associated with the segment.

                                                        @@ -4680,49 +4748,49 @@ export interface SegmentResponse { ImportDefinition?: SegmentImportResource; /** - *

                                                        The segment type. Valid values are:

                                                        • DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and is based on endpoint data that's reported by your app. Dynamic segments can change over time.

                                                        • IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is based on endpoint definitions that you import from a file. Imported segments are static; they don't change over time.

                                                        + *

                                                        The dimension settings for the segment.

                                                        */ - SegmentType: SegmentType | string | undefined; + Dimensions?: SegmentDimensions; /** - *

                                                        The date and time when the segment was created.

                                                        + *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the segment. Each tag consists of a required tag key and an associated tag value.

                                                        */ - CreationDate: string | undefined; + tags?: { [key: string]: string }; /** - *

                                                        The date and time when the segment was last modified.

                                                        + *

                                                        The unique identifier for the application that the segment is associated with.

                                                        */ - LastModifiedDate?: string; + ApplicationId: string | undefined; /** - *

                                                        A list of one or more segment groups that apply to the segment. Each segment group consists of zero or more base segments and the dimensions that are applied to those base segments.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the segment.

                                                        */ - SegmentGroups?: SegmentGroupList; + Arn: string | undefined; /** - *

                                                        The unique identifier for the segment.

                                                        + *

                                                        The version number of the segment.

                                                        */ - Id: string | undefined; + Version?: number; /** - *

                                                        The Amazon Resource Name (ARN) of the segment.

                                                        + *

                                                        The unique identifier for the segment.

                                                        */ - Arn: string | undefined; + Id: string | undefined; /** - *

                                                        The version number of the segment.

                                                        + *

                                                        The segment type. Valid values are:

                                                        • DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and is based on endpoint data that's reported by your app. Dynamic segments can change over time.

                                                        • IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is based on endpoint definitions that you import from a file. Imported segments are static; they don't change over time.

                                                        */ - Version?: number; + SegmentType: SegmentType | string | undefined; /** - *

                                                        The dimension settings for the segment.

                                                        + *

                                                        The date and time when the segment was created.

                                                        */ - Dimensions?: SegmentDimensions; + CreationDate: string | undefined; /** - *

                                                        The name of the segment.

                                                        + *

                                                        The date and time when the segment was last modified.

                                                        */ - Name?: string; + LastModifiedDate?: string; } export namespace SegmentResponse { @@ -4749,14 +4817,14 @@ export namespace CreateSegmentResponse { */ export interface SMSTemplateRequest { /** - *

                                                        The message body to use in text messages that are based on the message template.

                                                        + *

                                                        A custom description of the message template.

                                                        */ - Body?: string; + TemplateDescription?: string; /** - *

                                                        A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

                                                        + *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        */ - DefaultSubstitutions?: string; + tags?: { [key: string]: string }; /** *

                                                        The unique identifier for the recommender model to use for the message template. Amazon Pinpoint uses this value to determine how to retrieve and process data from a recommender model when it sends messages that use the template, if the template contains message variables for recommendation data.

                                                        @@ -4764,14 +4832,14 @@ export interface SMSTemplateRequest { RecommenderId?: string; /** - *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        The message body to use in text messages that are based on the message template.

                                                        */ - tags?: { [key: string]: string }; + Body?: string; /** - *

                                                        A custom description of the message template.

                                                        + *

                                                        A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

                                                        */ - TemplateDescription?: string; + DefaultSubstitutions?: string; } export namespace SMSTemplateRequest { @@ -4782,14 +4850,14 @@ export namespace SMSTemplateRequest { export interface CreateSmsTemplateRequest { /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        Specifies the content and settings for a message template that can be used in text messages that are sent through the SMS channel.

                                                        */ - TemplateName: string | undefined; + SMSTemplateRequest: SMSTemplateRequest | undefined; /** - *

                                                        Specifies the content and settings for a message template that can be used in text messages that are sent through the SMS channel.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - SMSTemplateRequest: SMSTemplateRequest | undefined; + TemplateName: string | undefined; } export namespace CreateSmsTemplateRequest { @@ -4816,19 +4884,19 @@ export namespace CreateSmsTemplateResponse { */ export interface VoiceTemplateRequest { /** - *

                                                        A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

                                                        + *

                                                        A custom description of the message template.

                                                        */ - DefaultSubstitutions?: string; + TemplateDescription?: string; /** - *

                                                        The name of the voice to use when delivering messages that are based on the message template. For a list of supported voices, see the Amazon Polly Developer Guide.

                                                        + *

                                                        The code for the language to use when synthesizing the text of the script in messages that are based on the message template. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

                                                        */ - VoiceId?: string; + LanguageCode?: string; /** - *

                                                        The text of the script to use in messages that are based on the message template, in plain text format.

                                                        + *

                                                        The name of the voice to use when delivering messages that are based on the message template. For a list of supported voices, see the Amazon Polly Developer Guide.

                                                        */ - Body?: string; + VoiceId?: string; /** *

                                                        A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        @@ -4836,14 +4904,14 @@ export interface VoiceTemplateRequest { tags?: { [key: string]: string }; /** - *

                                                        The code for the language to use when synthesizing the text of the script in messages that are based on the message template. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

                                                        + *

                                                        The text of the script to use in messages that are based on the message template, in plain text format.

                                                        */ - LanguageCode?: string; + Body?: string; /** - *

                                                        A custom description of the message template.

                                                        + *

                                                        A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

                                                        */ - TemplateDescription?: string; + DefaultSubstitutions?: string; } export namespace VoiceTemplateRequest { @@ -4888,14 +4956,14 @@ export namespace CreateVoiceTemplateResponse { */ export interface DefaultMessage { /** - *

                                                        The default message variables to use in the message. You can override these default variables with individual address variables.

                                                        + *

                                                        The default body of the message.

                                                        */ - Substitutions?: { [key: string]: string[] }; + Body?: string; /** - *

                                                        The default body of the message.

                                                        + *

                                                        The default message variables to use in the message. You can override these default variables with individual address variables.

                                                        */ - Body?: string; + Substitutions?: { [key: string]: string[] }; } export namespace DefaultMessage { @@ -4909,14 +4977,9 @@ export namespace DefaultMessage { */ export interface DefaultPushNotificationMessage { /** - *

                                                        Specifies whether the default notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or delivering messages to an in-app notification center.

                                                        - */ - SilentPush?: boolean; - - /** - *

                                                        The default URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        + *

                                                        The default action to occur if a recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS and Android platforms.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        */ - Url?: string; + Action?: Action | string; /** *

                                                        The default body of the notification message.

                                                        @@ -4929,9 +4992,9 @@ export interface DefaultPushNotificationMessage { Substitutions?: { [key: string]: string[] }; /** - *

                                                        The default action to occur if a recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS and Android platforms.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        + *

                                                        The default title to display above the notification message on a recipient's device.

                                                        */ - Action?: Action | string; + Title?: string; /** *

                                                        The JSON data payload to use for the default push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

                                                        @@ -4939,9 +5002,14 @@ export interface DefaultPushNotificationMessage { Data?: { [key: string]: string }; /** - *

                                                        The default title to display above the notification message on a recipient's device.

                                                        + *

                                                        The default URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        */ - Title?: string; + Url?: string; + + /** + *

                                                        Specifies whether the default notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or delivering messages to an in-app notification center.

                                                        + */ + SilentPush?: boolean; } export namespace DefaultPushNotificationMessage { @@ -5181,9 +5249,9 @@ export namespace DeleteEmailChannelRequest { */ export interface EmailChannelResponse { /** - *

                                                        The user who last modified the email channel.

                                                        + *

                                                        The current version of the email channel.

                                                        */ - LastModifiedBy?: string; + Version?: number; /** *

                                                        The date and time, in ISO 8601 format, when the email channel was enabled.

                                                        @@ -5191,19 +5259,19 @@ export interface EmailChannelResponse { CreationDate?: string; /** - *

                                                        The date and time, in ISO 8601 format, when the email channel was last modified.

                                                        + *

                                                        The verified email address that email is sent from when you send email through the channel.

                                                        */ - LastModifiedDate?: string; + FromAddress?: string; /** - *

                                                        The ARN of the AWS Identity and Access Management (IAM) role that Amazon Pinpoint uses to submit email-related event data for the channel.

                                                        + *

                                                        The unique identifier for the application that the email channel applies to.

                                                        */ - RoleArn?: string; + ApplicationId?: string; /** - *

                                                        The maximum number of emails that can be sent through the channel each second.

                                                        + *

                                                        The date and time, in ISO 8601 format, when the email channel was last modified.

                                                        */ - MessagesPerSecond?: number; + LastModifiedDate?: string; /** *

                                                        Specifies whether the email channel is enabled for the application.

                                                        @@ -5211,29 +5279,29 @@ export interface EmailChannelResponse { Enabled?: boolean; /** - *

                                                        (Deprecated) An identifier for the email channel. This property is retained only for backward compatibility.

                                                        + *

                                                        The type of messaging or notification platform for the channel. For the email channel, this value is EMAIL.

                                                        */ - Id?: string; + Platform: string | undefined; /** - *

                                                        The type of messaging or notification platform for the channel. For the email channel, this value is EMAIL.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple Email Service (Amazon SES), that's used when you send email through the channel.

                                                        */ - Platform: string | undefined; + Identity?: string; /** - *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        + *

                                                        (Deprecated) An identifier for the email channel. This property is retained only for backward compatibility.

                                                        */ - HasCredential?: boolean; + Id?: string; /** - *

                                                        The Amazon SES configuration set that's applied to messages that are sent through the channel.

                                                        + *

                                                        The maximum number of emails that can be sent through the channel each second.

                                                        */ - ConfigurationSet?: string; + MessagesPerSecond?: number; /** - *

                                                        The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple Email Service (Amazon SES), that's used when you send email through the channel.

                                                        + *

                                                        The Amazon SES configuration set that's applied to messages that are sent through the channel.

                                                        */ - Identity?: string; + ConfigurationSet?: string; /** *

                                                        Specifies whether the email channel is archived.

                                                        @@ -5241,19 +5309,19 @@ export interface EmailChannelResponse { IsArchived?: boolean; /** - *

                                                        The current version of the email channel.

                                                        + *

                                                        The ARN of the AWS Identity and Access Management (IAM) role that Amazon Pinpoint uses to submit email-related event data for the channel.

                                                        */ - Version?: number; + RoleArn?: string; /** - *

                                                        The unique identifier for the application that the email channel applies to.

                                                        + *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ - ApplicationId?: string; + HasCredential?: boolean; /** - *

                                                        The verified email address that email is sent from when you send email through the channel.

                                                        + *

                                                        The user who last modified the email channel.

                                                        */ - FromAddress?: string; + LastModifiedBy?: string; } export namespace EmailChannelResponse { @@ -5277,14 +5345,14 @@ export namespace DeleteEmailChannelResponse { export interface DeleteEmailTemplateRequest { /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        */ - TemplateName: string | undefined; + Version?: string; /** - *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - Version?: string; + TemplateName: string | undefined; } export namespace DeleteEmailTemplateRequest { @@ -5298,14 +5366,14 @@ export namespace DeleteEmailTemplateRequest { */ export interface MessageBody { /** - *

                                                        The unique identifier for the request or response.

                                                        + *

                                                        The message that's returned from the API.

                                                        */ - RequestID?: string; + Message?: string; /** - *

                                                        The message that's returned from the API.

                                                        + *

                                                        The unique identifier for the request or response.

                                                        */ - Message?: string; + RequestID?: string; } export namespace MessageBody { @@ -5329,14 +5397,14 @@ export namespace DeleteEmailTemplateResponse { export interface DeleteEndpointRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the endpoint.

                                                        */ - ApplicationId: string | undefined; + EndpointId: string | undefined; /** - *

                                                        The unique identifier for the endpoint.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - EndpointId: string | undefined; + ApplicationId: string | undefined; } export namespace DeleteEndpointRequest { @@ -5350,44 +5418,44 @@ export namespace DeleteEndpointRequest { */ export interface EndpointDemographic { /** - *

                                                        The version of the app that's associated with the endpoint.

                                                        + *

                                                        The platform of the endpoint device, such as ios.

                                                        */ - AppVersion?: string; + Platform?: string; /** - *

                                                        The manufacturer of the endpoint device, such as apple or samsung.

                                                        + *

                                                        The model name or number of the endpoint device, such as iPhone or SM-G900F.

                                                        */ - Make?: string; + Model?: string; /** - *

                                                        The model version of the endpoint device.

                                                        + *

                                                        The platform version of the endpoint device.

                                                        */ - ModelVersion?: string; + PlatformVersion?: string; /** - *

                                                        The time zone of the endpoint, specified as a tz database name value, such as America/Los_Angeles.

                                                        + *

                                                        The version of the app that's associated with the endpoint.

                                                        */ - Timezone?: string; + AppVersion?: string; /** - *

                                                        The platform of the endpoint device, such as ios.

                                                        + *

                                                        The time zone of the endpoint, specified as a tz database name value, such as America/Los_Angeles.

                                                        */ - Platform?: string; + Timezone?: string; /** - *

                                                        The model name or number of the endpoint device, such as iPhone or SM-G900F.

                                                        + *

                                                        The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.

                                                        */ - Model?: string; + Locale?: string; /** - *

                                                        The platform version of the endpoint device.

                                                        + *

                                                        The model version of the endpoint device.

                                                        */ - PlatformVersion?: string; + ModelVersion?: string; /** - *

                                                        The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.

                                                        + *

                                                        The manufacturer of the endpoint device, such as apple or samsung.

                                                        */ - Locale?: string; + Make?: string; } export namespace EndpointDemographic { @@ -5400,11 +5468,6 @@ export namespace EndpointDemographic { *

                                                        Specifies geographic information about an endpoint.

                                                        */ export interface EndpointLocation { - /** - *

                                                        The longitude coordinate of the endpoint location, rounded to one decimal place.

                                                        - */ - Longitude?: number; - /** *

                                                        The two-character code, in ISO 3166-1 alpha-2 format, for the country or region where the endpoint is located. For example, US for the United States.

                                                        */ @@ -5416,9 +5479,9 @@ export interface EndpointLocation { PostalCode?: string; /** - *

                                                        The name of the region where the endpoint is located. For locations in the United States, this value is the name of a state.

                                                        + *

                                                        The name of the city where the endpoint is located.

                                                        */ - Region?: string; + City?: string; /** *

                                                        The latitude coordinate of the endpoint location, rounded to one decimal place.

                                                        @@ -5426,9 +5489,14 @@ export interface EndpointLocation { Latitude?: number; /** - *

                                                        The name of the city where the endpoint is located.

                                                        + *

                                                        The name of the region where the endpoint is located. For locations in the United States, this value is the name of a state.

                                                        */ - City?: string; + Region?: string; + + /** + *

                                                        The longitude coordinate of the endpoint location, rounded to one decimal place.

                                                        + */ + Longitude?: number; } export namespace EndpointLocation { @@ -5442,14 +5510,14 @@ export namespace EndpointLocation { */ export interface EndpointUser { /** - *

                                                        One or more custom attributes that describe the user by associating a name with an array of values. For example, the value of an attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

                                                        An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

                                                        + *

                                                        The unique identifier for the user.

                                                        */ - UserAttributes?: { [key: string]: string[] }; + UserId?: string; /** - *

                                                        The unique identifier for the user.

                                                        + *

                                                        One or more custom attributes that describe the user by associating a name with an array of values. For example, the value of an attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

                                                        An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

                                                        */ - UserId?: string; + UserAttributes?: { [key: string]: string[] }; } export namespace EndpointUser { @@ -5463,19 +5531,19 @@ export namespace EndpointUser { */ export interface EndpointResponse { /** - *

                                                        One or more custom user attributes that your app reports to Amazon Pinpoint for the user who's associated with the endpoint.

                                                        + *

                                                        The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For example, the address for a push-notification channel is typically the token provided by a push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. The address for the SMS channel is a phone number in E.164 format, such as +12065550100. The address for the email channel is an email address.

                                                        */ - User?: EndpointUser; + Address?: string; /** - *

                                                        The date and time, in ISO 8601 format, when the endpoint was created.

                                                        + *

                                                        A number from 0-99 that represents the cohort that the endpoint is assigned to. Endpoints are grouped into cohorts randomly, and each cohort contains approximately 1 percent of the endpoints for an application. Amazon Pinpoint assigns cohorts to the holdout or treatment allocations for campaigns.

                                                        */ - CreationDate?: string; + CohortId?: string; /** - *

                                                        The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For example, the address for a push-notification channel is typically the token provided by a push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. The address for the SMS channel is a phone number in E.164 format, such as +12065550100. The address for the email channel is an email address.

                                                        + *

                                                        One or more custom user attributes that your app reports to Amazon Pinpoint for the user who's associated with the endpoint.

                                                        */ - Address?: string; + User?: EndpointUser; /** *

                                                        The date and time, in ISO 8601 format, when the endpoint was last updated.

                                                        @@ -5483,19 +5551,19 @@ export interface EndpointResponse { EffectiveDate?: string; /** - *

                                                        The unique identifier that you assigned to the endpoint. The identifier should be a globally unique identifier (GUID) to ensure that it doesn't conflict with other endpoint identifiers that are associated with the application.

                                                        + *

                                                        The geographic information for the endpoint.

                                                        */ - Id?: string; + Location?: EndpointLocation; /** - *

                                                        The geographic information for the endpoint.

                                                        + *

                                                        Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

                                                        */ - Location?: EndpointLocation; + OptOut?: string; /** - *

                                                        The unique identifier for the most recent request to update the endpoint.

                                                        + *

                                                        The unique identifier for the application that's associated with the endpoint.

                                                        */ - RequestId?: string; + ApplicationId?: string; /** *

                                                        Specifies whether messages or push notifications are sent to the endpoint. Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

                                                        Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

                                                        @@ -5503,19 +5571,19 @@ export interface EndpointResponse { EndpointStatus?: string; /** - *

                                                        A number from 0-99 that represents the cohort that the endpoint is assigned to. Endpoints are grouped into cohorts randomly, and each cohort contains approximately 1 percent of the endpoints for an application. Amazon Pinpoint assigns cohorts to the holdout or treatment allocations for campaigns.

                                                        + *

                                                        The channel that's used when sending messages or push notifications to the endpoint.

                                                        */ - CohortId?: string; + ChannelType?: ChannelType | string; /** - *

                                                        The channel that's used when sending messages or push notifications to the endpoint.

                                                        + *

                                                        The unique identifier for the most recent request to update the endpoint.

                                                        */ - ChannelType?: ChannelType | string; + RequestId?: string; /** - *

                                                        The unique identifier for the application that's associated with the endpoint.

                                                        + *

                                                        The unique identifier that you assigned to the endpoint. The identifier should be a globally unique identifier (GUID) to ensure that it doesn't conflict with other endpoint identifiers that are associated with the application.

                                                        */ - ApplicationId?: string; + Id?: string; /** *

                                                        The demographic information for the endpoint, such as the time zone and platform.

                                                        @@ -5523,9 +5591,9 @@ export interface EndpointResponse { Demographic?: EndpointDemographic; /** - *

                                                        One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments.

                                                        + *

                                                        The date and time, in ISO 8601 format, when the endpoint was created.

                                                        */ - Attributes?: { [key: string]: string[] }; + CreationDate?: string; /** *

                                                        One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

                                                        @@ -5533,9 +5601,9 @@ export interface EndpointResponse { Metrics?: { [key: string]: number }; /** - *

                                                        Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

                                                        + *

                                                        One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments.

                                                        */ - OptOut?: string; + Attributes?: { [key: string]: string[] }; } export namespace EndpointResponse { @@ -5575,9 +5643,21 @@ export namespace DeleteEventStreamRequest { */ export interface EventStream { /** - *

                                                        The date, in ISO 8601 format, when the event stream was last modified.

                                                        + *

                                                        The AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to publish event data to the stream in your AWS account.

                                                        + */ + RoleArn: string | undefined; + + /** + *

                                                        The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon Kinesis Data Firehose delivery stream to publish event data to.

                                                        For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name + *

                                                        For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name + *

                                                        + */ + DestinationStreamArn: string | undefined; + + /** + *

                                                        The unique identifier for the application to publish event data for.

                                                        */ - LastModifiedDate?: string; + ApplicationId: string | undefined; /** *

                                                        (Deprecated) Your AWS account ID, which you assigned to an external ID key in an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM role when publishing event data, but we removed this requirement. We don't recommend use of external IDs for IAM roles that are assumed by Amazon Pinpoint.

                                                        @@ -5590,21 +5670,9 @@ export interface EventStream { LastUpdatedBy?: string; /** - *

                                                        The unique identifier for the application to publish event data for.

                                                        - */ - ApplicationId: string | undefined; - - /** - *

                                                        The AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to publish event data to the stream in your AWS account.

                                                        - */ - RoleArn: string | undefined; - - /** - *

                                                        The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon Kinesis Data Firehose delivery stream to publish event data to.

                                                        For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name - *

                                                        For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name - *

                                                        + *

                                                        The date, in ISO 8601 format, when the event stream was last modified.

                                                        */ - DestinationStreamArn: string | undefined; + LastModifiedDate?: string; } export namespace EventStream { @@ -5644,14 +5712,9 @@ export namespace DeleteGcmChannelRequest { */ export interface GCMChannelResponse { /** - *

                                                        (Deprecated) An identifier for the GCM channel. This property is retained only for backward compatibility.

                                                        - */ - Id?: string; - - /** - *

                                                        The type of messaging or notification platform for the channel. For the GCM channel, this value is GCM.

                                                        + *

                                                        Specifies whether the GCM channel is archived.

                                                        */ - Platform: string | undefined; + IsArchived?: boolean; /** *

                                                        The user who last modified the GCM channel.

                                                        @@ -5659,24 +5722,24 @@ export interface GCMChannelResponse { LastModifiedBy?: string; /** - *

                                                        The current version of the GCM channel.

                                                        + *

                                                        (Deprecated) An identifier for the GCM channel. This property is retained only for backward compatibility.

                                                        */ - Version?: number; + Id?: string; /** - *

                                                        The unique identifier for the application that the GCM channel applies to.

                                                        + *

                                                        The Web API Key, also referred to as an API_KEY or server key, that you received from Google to communicate with Google services.

                                                        */ - ApplicationId?: string; + Credential: string | undefined; /** - *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        + *

                                                        The date and time when the GCM channel was last modified.

                                                        */ - HasCredential?: boolean; + LastModifiedDate?: string; /** - *

                                                        The Web API Key, also referred to as an API_KEY or server key, that you received from Google to communicate with Google services.

                                                        + *

                                                        The date and time when the GCM channel was enabled.

                                                        */ - Credential: string | undefined; + CreationDate?: string; /** *

                                                        Specifies whether the GCM channel is enabled for the application.

                                                        @@ -5684,19 +5747,24 @@ export interface GCMChannelResponse { Enabled?: boolean; /** - *

                                                        The date and time when the GCM channel was last modified.

                                                        + *

                                                        The type of messaging or notification platform for the channel. For the GCM channel, this value is GCM.

                                                        */ - LastModifiedDate?: string; + Platform: string | undefined; /** - *

                                                        The date and time when the GCM channel was enabled.

                                                        + *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ - CreationDate?: string; + HasCredential?: boolean; /** - *

                                                        Specifies whether the GCM channel is archived.

                                                        + *

                                                        The current version of the GCM channel.

                                                        */ - IsArchived?: boolean; + Version?: number; + + /** + *

                                                        The unique identifier for the application that the GCM channel applies to.

                                                        + */ + ApplicationId?: string; } export namespace GCMChannelResponse { @@ -5751,14 +5819,14 @@ export namespace DeleteJourneyResponse { export interface DeletePushTemplateRequest { /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        */ - TemplateName: string | undefined; + Version?: string; /** - *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - Version?: string; + TemplateName: string | undefined; } export namespace DeletePushTemplateRequest { @@ -5808,14 +5876,14 @@ export namespace DeleteRecommenderConfigurationResponse { export interface DeleteSegmentRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the segment.

                                                        */ - ApplicationId: string | undefined; + SegmentId: string | undefined; /** - *

                                                        The unique identifier for the segment.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - SegmentId: string | undefined; + ApplicationId: string | undefined; } export namespace DeleteSegmentRequest { @@ -5870,9 +5938,9 @@ export interface SMSChannelResponse { ShortCode?: string; /** - *

                                                        The type of messaging or notification platform for the channel. For the SMS channel, this value is SMS.

                                                        + *

                                                        The current version of the SMS channel.

                                                        */ - Platform: string | undefined; + Version?: number; /** *

                                                        (Deprecated) An identifier for the SMS channel. This property is retained only for backward compatibility.

                                                        @@ -5880,29 +5948,29 @@ export interface SMSChannelResponse { Id?: string; /** - *

                                                        The user who last modified the SMS channel.

                                                        + *

                                                        The maximum number of transactional messages that you can send through the SMS channel each second.

                                                        */ - LastModifiedBy?: string; + TransactionalMessagesPerSecond?: number; /** - *

                                                        The maximum number of promotional messages that you can send through the SMS channel each second.

                                                        + *

                                                        The identity that displays on recipients' devices when they receive messages from the SMS channel.

                                                        */ - PromotionalMessagesPerSecond?: number; + SenderId?: string; /** - *

                                                        Specifies whether the SMS channel is archived.

                                                        + *

                                                        The unique identifier for the application that the SMS channel applies to.

                                                        */ - IsArchived?: boolean; + ApplicationId?: string; /** - *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        + *

                                                        Specifies whether the SMS channel is archived.

                                                        */ - HasCredential?: boolean; + IsArchived?: boolean; /** - *

                                                        The identity that displays on recipients' devices when they receive messages from the SMS channel.

                                                        + *

                                                        The maximum number of promotional messages that you can send through the SMS channel each second.

                                                        */ - SenderId?: string; + PromotionalMessagesPerSecond?: number; /** *

                                                        Specifies whether the SMS channel is enabled for the application.

                                                        @@ -5910,19 +5978,19 @@ export interface SMSChannelResponse { Enabled?: boolean; /** - *

                                                        The maximum number of transactional messages that you can send through the SMS channel each second.

                                                        + *

                                                        The type of messaging or notification platform for the channel. For the SMS channel, this value is SMS.

                                                        */ - TransactionalMessagesPerSecond?: number; + Platform: string | undefined; /** - *

                                                        The unique identifier for the application that the SMS channel applies to.

                                                        + *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ - ApplicationId?: string; + HasCredential?: boolean; /** - *

                                                        The current version of the SMS channel.

                                                        + *

                                                        The user who last modified the SMS channel.

                                                        */ - Version?: number; + LastModifiedBy?: string; } export namespace SMSChannelResponse { @@ -6039,15 +6107,25 @@ export namespace DeleteVoiceChannelRequest { *

                                                        Provides information about the status and settings of the voice channel for an application.

                                                        */ export interface VoiceChannelResponse { + /** + *

                                                        Specifies whether the voice channel is enabled for the application.

                                                        + */ + Enabled?: boolean; + + /** + *

                                                        The current version of the voice channel.

                                                        + */ + Version?: number; + /** *

                                                        The unique identifier for the application that the voice channel applies to.

                                                        */ ApplicationId?: string; /** - *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        + *

                                                        The user who last modified the voice channel.

                                                        */ - HasCredential?: boolean; + LastModifiedBy?: string; /** *

                                                        The date and time, in ISO 8601 format, when the voice channel was enabled.

                                                        @@ -6059,11 +6137,6 @@ export interface VoiceChannelResponse { */ LastModifiedDate?: string; - /** - *

                                                        Specifies whether the voice channel is enabled for the application.

                                                        - */ - Enabled?: boolean; - /** *

                                                        Specifies whether the voice channel is archived.

                                                        */ @@ -6080,14 +6153,9 @@ export interface VoiceChannelResponse { Id?: string; /** - *

                                                        The user who last modified the voice channel.

                                                        - */ - LastModifiedBy?: string; - - /** - *

                                                        The current version of the voice channel.

                                                        + *

                                                        (Not used) This property is retained only for backward compatibility.

                                                        */ - Version?: number; + HasCredential?: boolean; } export namespace VoiceChannelResponse { @@ -6191,6 +6259,11 @@ export namespace SimpleEmailPart { *

                                                        Specifies the contents of an email message, composed of a subject, a text part, and an HTML part.

                                                        */ export interface SimpleEmail { + /** + *

                                                        The body of the email message, in HTML format. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.

                                                        + */ + HtmlPart?: SimpleEmailPart; + /** *

                                                        The subject line, or title, of the email.

                                                        */ @@ -6200,11 +6273,6 @@ export interface SimpleEmail { *

                                                        The body of the email message, in plain text format. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.

                                                        */ TextPart?: SimpleEmailPart; - - /** - *

                                                        The body of the email message, in HTML format. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.

                                                        - */ - HtmlPart?: SimpleEmailPart; } export namespace SimpleEmail { @@ -6218,19 +6286,19 @@ export namespace SimpleEmail { */ export interface EmailMessage { /** - *

                                                        The default message variables to use in the email message. You can override the default variables with individual address variables.

                                                        + *

                                                        The email message, represented as a raw MIME message.

                                                        */ - Substitutions?: { [key: string]: string[] }; + RawEmail?: RawEmail; /** - *

                                                        The email address to forward bounces and complaints to, if feedback forwarding is enabled.

                                                        + *

                                                        The default message variables to use in the email message. You can override the default variables with individual address variables.

                                                        */ - FeedbackForwardingAddress?: string; + Substitutions?: { [key: string]: string[] }; /** - *

                                                        The verified email address to send the email message from. The default value is the FromAddress specified for the email channel.

                                                        + *

                                                        The email message, composed of a subject, a text part, and an HTML part.

                                                        */ - FromAddress?: string; + SimpleEmail?: SimpleEmail; /** *

                                                        The reply-to email address(es) for the email message. If a recipient replies to the email, each reply-to address receives the reply.

                                                        @@ -6243,14 +6311,14 @@ export interface EmailMessage { Body?: string; /** - *

                                                        The email message, composed of a subject, a text part, and an HTML part.

                                                        + *

                                                        The verified email address to send the email message from. The default value is the FromAddress specified for the email channel.

                                                        */ - SimpleEmail?: SimpleEmail; + FromAddress?: string; /** - *

                                                        The email message, represented as a raw MIME message.

                                                        + *

                                                        The email address to forward bounces and complaints to, if feedback forwarding is enabled.

                                                        */ - RawEmail?: RawEmail; + FeedbackForwardingAddress?: string; } export namespace EmailMessage { @@ -6264,9 +6332,9 @@ export namespace EmailMessage { */ export interface GCMMessage { /** - *

                                                        The default message variables to use in the notification message. You can override the default variables with individual address variables.

                                                        + *

                                                        The URL of the small icon image to display in the status bar and the content view of the push notification.

                                                        */ - Substitutions?: { [key: string]: string[] }; + SmallImageIconUrl?: string; /** *

                                                        The URL of an image to display in the push notification.

                                                        @@ -6274,9 +6342,9 @@ export interface GCMMessage { ImageUrl?: string; /** - *

                                                        Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

                                                        + *

                                                        The default message variables to use in the notification message. You can override the default variables with individual address variables.

                                                        */ - SilentPush?: boolean; + Substitutions?: { [key: string]: string[] }; /** *

                                                        The amount of time, in seconds, that FCM should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If you don't specify this value, FCM defaults to the maximum value, which is 2,419,200 seconds (28 days).

                                                        Amazon Pinpoint specifies this value in the FCM time_to_live parameter when it sends the notification message to FCM.

                                                        @@ -6284,14 +6352,9 @@ export interface GCMMessage { TimeToLive?: number; /** - *

                                                        The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        - */ - Url?: string; - - /** - *

                                                        The icon image name of the asset saved in your app.

                                                        + *

                                                        The URL of the large icon image to display in the content view of the push notification.

                                                        */ - IconReference?: string; + ImageIconUrl?: string; /** *

                                                        The package name of the application where registration tokens must match in order for the recipient to receive the message.

                                                        @@ -6299,19 +6362,19 @@ export interface GCMMessage { RestrictedPackageName?: string; /** - *

                                                        The title to display above the notification message on the recipient's device.

                                                        + *

                                                        The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

                                                        */ - Title?: string; + Url?: string; /** - *

                                                        The URL of the small icon image to display in the status bar and the content view of the push notification.

                                                        + *

                                                        The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

                                                        */ - SmallImageIconUrl?: string; + Sound?: string; /** - *

                                                        The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

                                                        + *

                                                        The title to display above the notification message on the recipient's device.

                                                        */ - Data?: { [key: string]: string }; + Title?: string; /** *

                                                        The action to occur if the recipient taps the push notification. Valid values are:

                                                        • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

                                                        • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

                                                        • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

                                                        @@ -6319,14 +6382,14 @@ export interface GCMMessage { Action?: Action | string; /** - *

                                                        para>normal - The notification might be delayed. Delivery is optimized for battery usage on the recipient's device. Use this value unless immediate delivery is required.

                                                        /listitem>
                                                      • high - The notification is sent immediately and might wake a sleeping device.

                                                      • /para>

                                                        Amazon Pinpoint specifies this value in the FCM priority parameter when it sends the notification message to FCM.

                                                        The equivalent values for Apple Push Notification service (APNs) are 5, for normal, and 10, for high. If you specify an APNs value for this property, Amazon Pinpoint accepts and converts the value to the corresponding FCM value.

                                                        + *

                                                        The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

                                                        */ - Priority?: string; + Data?: { [key: string]: string }; /** - *

                                                        The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

                                                        + *

                                                        The icon image name of the asset saved in your app.

                                                        */ - Sound?: string; + IconReference?: string; /** *

                                                        The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

                                                        @@ -6344,9 +6407,14 @@ export interface GCMMessage { CollapseKey?: string; /** - *

                                                        The URL of the large icon image to display in the content view of the push notification.

                                                        + *

                                                        Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

                                                        */ - ImageIconUrl?: string; + SilentPush?: boolean; + + /** + *

                                                        para>normal - The notification might be delayed. Delivery is optimized for battery usage on the recipient's device. Use this value unless immediate delivery is required.

                                                        /listitem>
                                                      • high - The notification is sent immediately and might wake a sleeping device.

                                                      • /para>

                                                        Amazon Pinpoint specifies this value in the FCM priority parameter when it sends the notification message to FCM.

                                                        The equivalent values for Apple Push Notification service (APNs) are 5, for normal, and 10, for high. If you specify an APNs value for this property, Amazon Pinpoint accepts and converts the value to the corresponding FCM value.

                                                        + */ + Priority?: string; } export namespace GCMMessage { @@ -6360,9 +6428,9 @@ export namespace GCMMessage { */ export interface SMSMessage { /** - *

                                                        The number to send the SMS message from. This value should be one of the dedicated long or short codes that's assigned to your AWS account. If you don't specify a long or short code, Amazon Pinpoint assigns a random long code to the SMS message and sends the message from that code.

                                                        + *

                                                        The body of the SMS message.

                                                        */ - OriginationNumber?: string; + Body?: string; /** *

                                                        The SMS program name that you provided to AWS Support when you requested your dedicated number.

                                                        @@ -6370,14 +6438,14 @@ export interface SMSMessage { Keyword?: string; /** - *

                                                        The sender ID to display as the sender of the message on a recipient's device. Support for sender IDs varies by country or region.

                                                        + *

                                                        The number to send the SMS message from. This value should be one of the dedicated long or short codes that's assigned to your AWS account. If you don't specify a long or short code, Amazon Pinpoint assigns a random long code to the SMS message and sends the message from that code.

                                                        */ - SenderId?: string; + OriginationNumber?: string; /** - *

                                                        The SMS message type. Valid values are TRANSACTIONAL (for messages that are critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for messsages that aren't critical or time-sensitive, such as marketing messages).

                                                        + *

                                                        This field is reserved for future use.

                                                        */ - MessageType?: MessageType | string; + MediaUrl?: string; /** *

                                                        The message variables to use in the SMS message. You can override the default variables with individual address variables.

                                                        @@ -6385,14 +6453,14 @@ export interface SMSMessage { Substitutions?: { [key: string]: string[] }; /** - *

                                                        The URL of an image or video to display in the SMS message.

                                                        + *

                                                        The SMS message type. Valid values are TRANSACTIONAL (for messages that are critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for messsages that aren't critical or time-sensitive, such as marketing messages).

                                                        */ - MediaUrl?: string; + MessageType?: MessageType | string; /** - *

                                                        The body of the SMS message.

                                                        + *

                                                        The sender ID to display as the sender of the message on a recipient's device. Support for sender IDs varies by country or region.

                                                        */ - Body?: string; + SenderId?: string; } export namespace SMSMessage { @@ -6411,14 +6479,14 @@ export interface VoiceMessage { OriginationNumber?: string; /** - *

                                                        The text of the script to use for the voice message.

                                                        + *

                                                        The code for the language to use when synthesizing the text of the message script. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

                                                        */ - Body?: string; + LanguageCode?: string; /** - *

                                                        The code for the language to use when synthesizing the text of the message script. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

                                                        + *

                                                        The default message variables to use in the voice message. You can override the default variables with individual address variables.

                                                        */ - LanguageCode?: string; + Substitutions?: { [key: string]: string[] }; /** *

                                                        The name of the voice to use when delivering the message. For a list of supported voices, see the Amazon Polly Developer Guide.

                                                        @@ -6426,9 +6494,9 @@ export interface VoiceMessage { VoiceId?: string; /** - *

                                                        The default message variables to use in the voice message. You can override the default variables with individual address variables.

                                                        + *

                                                        The text of the script to use for the voice message.

                                                        */ - Substitutions?: { [key: string]: string[] }; + Body?: string; } export namespace VoiceMessage { @@ -6438,28 +6506,18 @@ export namespace VoiceMessage { } /** - *

                                                        Specifies the settings and content for the default message and any default messages that you tailored for specific channels.

                                                        - */ -export interface DirectMessageConfiguration { - /** - *

                                                        The default message for the voice channel. This message overrides the default message (DefaultMessage).

                                                        - */ - VoiceMessage?: VoiceMessage; - + *

                                                        Specifies the settings and content for the default message and any default messages that you tailored for specific channels.

                                                        + */ +export interface DirectMessageConfiguration { /** *

                                                        The default push notification message for the Baidu (Baidu Cloud Push) channel. This message overrides the default push notification message (DefaultPushNotificationMessage).

                                                        */ BaiduMessage?: BaiduMessage; /** - *

                                                        The default message for the email channel. This message overrides the default message (DefaultMessage).

                                                        - */ - EmailMessage?: EmailMessage; - - /** - *

                                                        The default push notification message for all push notification channels.

                                                        + *

                                                        The default message for all channels.

                                                        */ - DefaultPushNotificationMessage?: DefaultPushNotificationMessage; + DefaultMessage?: DefaultMessage; /** *

                                                        The default push notification message for the APNs (Apple Push Notification service) channel. This message overrides the default push notification message (DefaultPushNotificationMessage).

                                                        @@ -6467,14 +6525,14 @@ export interface DirectMessageConfiguration { APNSMessage?: APNSMessage; /** - *

                                                        The default message for the SMS channel. This message overrides the default message (DefaultMessage).

                                                        + *

                                                        The default message for the email channel. This message overrides the default message (DefaultMessage).

                                                        */ - SMSMessage?: SMSMessage; + EmailMessage?: EmailMessage; /** - *

                                                        The default message for all channels.

                                                        + *

                                                        The default message for the voice channel. This message overrides the default message (DefaultMessage).

                                                        */ - DefaultMessage?: DefaultMessage; + VoiceMessage?: VoiceMessage; /** *

                                                        The default push notification message for the GCM channel, which is used to send notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. This message overrides the default push notification message (DefaultPushNotificationMessage).

                                                        @@ -6485,6 +6543,16 @@ export interface DirectMessageConfiguration { *

                                                        The default push notification message for the ADM (Amazon Device Messaging) channel. This message overrides the default push notification message (DefaultPushNotificationMessage).

                                                        */ ADMMessage?: ADMMessage; + + /** + *

                                                        The default message for the SMS channel. This message overrides the default message (DefaultMessage).

                                                        + */ + SMSMessage?: SMSMessage; + + /** + *

                                                        The default push notification message for all push notification channels.

                                                        + */ + DefaultPushNotificationMessage?: DefaultPushNotificationMessage; } export namespace DirectMessageConfiguration { @@ -6498,29 +6566,29 @@ export namespace DirectMessageConfiguration { */ export interface EmailChannelRequest { /** - *

                                                        The ARN of the AWS Identity and Access Management (IAM) role that you want Amazon Pinpoint to use when it submits email-related event data for the channel.

                                                        + *

                                                        Specifies whether to enable the email channel for the application.

                                                        */ - RoleArn?: string; + Enabled?: boolean; /** - *

                                                        The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple Email Service (Amazon SES), that you want to use when you send email through the channel.

                                                        + *

                                                        The Amazon SES configuration set that you want to apply to messages that you send through the channel.

                                                        */ - Identity: string | undefined; + ConfigurationSet?: string; /** - *

                                                        The Amazon SES configuration set that you want to apply to messages that you send through the channel.

                                                        + *

                                                        The verified email address that you want to send email from when you send email through the channel.

                                                        */ - ConfigurationSet?: string; + FromAddress: string | undefined; /** - *

                                                        Specifies whether to enable the email channel for the application.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple Email Service (Amazon SES), that you want to use when you send email through the channel.

                                                        */ - Enabled?: boolean; + Identity: string | undefined; /** - *

                                                        The verified email address that you want to send email from when you send email through the channel.

                                                        + *

                                                        The ARN of the AWS Identity and Access Management (IAM) role that you want Amazon Pinpoint to use when it submits email-related event data for the channel.

                                                        */ - FromAddress: string | undefined; + RoleArn?: string; } export namespace EmailChannelRequest { @@ -6540,15 +6608,25 @@ export enum TemplateType { *

                                                        Provides information about the content and settings for a message template that can be used in messages that are sent through the email channel.

                                                        */ export interface EmailTemplateResponse { + /** + *

                                                        The message body, in HTML format, that's used in email messages that are based on the message template.

                                                        + */ + HtmlPart?: string; + /** *

                                                        The Amazon Resource Name (ARN) of the message template.

                                                        */ Arn?: string; /** - *

                                                        The message body, in HTML format, that's used in email messages that are based on the message template.

                                                        + *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        */ - HtmlPart?: string; + tags?: { [key: string]: string }; + + /** + *

                                                        The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

                                                        + */ + DefaultSubstitutions?: string; /** *

                                                        The custom description of the message template.

                                                        @@ -6556,14 +6634,14 @@ export interface EmailTemplateResponse { TemplateDescription?: string; /** - *

                                                        The date, in ISO 8601 format, when the message template was created.

                                                        + *

                                                        The subject line, or title, that's used in email messages that are based on the message template.

                                                        */ - CreationDate: string | undefined; + Subject?: string; /** - *

                                                        The date, in ISO 8601 format, when the message template was last modified.

                                                        + *

                                                        The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

                                                        */ - LastModifiedDate: string | undefined; + Version?: string; /** *

                                                        The message body, in plain text format, that's used in email messages that are based on the message template.

                                                        @@ -6571,9 +6649,9 @@ export interface EmailTemplateResponse { TextPart?: string; /** - *

                                                        The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

                                                        + *

                                                        The type of channel that the message template is designed for. For an email template, this value is EMAIL.

                                                        */ - DefaultSubstitutions?: string; + TemplateType: TemplateType | string | undefined; /** *

                                                        The name of the message template.

                                                        @@ -6581,29 +6659,19 @@ export interface EmailTemplateResponse { TemplateName: string | undefined; /** - *

                                                        The unique identifier for the recommender model that's used by the message template.

                                                        - */ - RecommenderId?: string; - - /** - *

                                                        The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

                                                        - */ - Version?: string; - - /** - *

                                                        The type of channel that the message template is designed for. For an email template, this value is EMAIL.

                                                        + *

                                                        The date, in ISO 8601 format, when the message template was created.

                                                        */ - TemplateType: TemplateType | string | undefined; + CreationDate: string | undefined; /** - *

                                                        The subject line, or title, that's used in email messages that are based on the message template.

                                                        + *

                                                        The date, in ISO 8601 format, when the message template was last modified.

                                                        */ - Subject?: string; + LastModifiedDate: string | undefined; /** - *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        The unique identifier for the recommender model that's used by the message template.

                                                        */ - tags?: { [key: string]: string }; + RecommenderId?: string; } export namespace EmailTemplateResponse { @@ -6617,9 +6685,9 @@ export namespace EmailTemplateResponse { */ export interface EndpointBatchItem { /** - *

                                                        Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

                                                        + *

                                                        Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

                                                        Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

                                                        */ - OptOut?: string; + EndpointStatus?: string; /** *

                                                        The channel to use when sending messages or push notifications to the endpoint.

                                                        @@ -6627,54 +6695,54 @@ export interface EndpointBatchItem { ChannelType?: ChannelType | string; /** - *

                                                        The unique identifier for the request to create or update the endpoint.

                                                        + *

                                                        One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

                                                        */ - RequestId?: string; + Metrics?: { [key: string]: number }; /** - *

                                                        The unique identifier for the endpoint in the context of the batch.

                                                        + *

                                                        One or more custom attributes that describe the user who's associated with the endpoint.

                                                        */ - Id?: string; + User?: EndpointUser; /** - *

                                                        One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

                                                        An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

                                                        + *

                                                        The date and time, in ISO 8601 format, when the endpoint was created or updated.

                                                        */ - Attributes?: { [key: string]: string[] }; + EffectiveDate?: string; /** - *

                                                        The demographic information for the endpoint, such as the time zone and platform.

                                                        + *

                                                        The geographic information for the endpoint.

                                                        */ - Demographic?: EndpointDemographic; + Location?: EndpointLocation; /** - *

                                                        The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For a push-notification channel, use the token provided by the push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address.

                                                        + *

                                                        One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

                                                        An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

                                                        */ - Address?: string; + Attributes?: { [key: string]: string[] }; /** - *

                                                        One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

                                                        + *

                                                        The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For a push-notification channel, use the token provided by the push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address.

                                                        */ - Metrics?: { [key: string]: number }; + Address?: string; /** - *

                                                        One or more custom attributes that describe the user who's associated with the endpoint.

                                                        + *

                                                        The unique identifier for the endpoint in the context of the batch.

                                                        */ - User?: EndpointUser; + Id?: string; /** - *

                                                        Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

                                                        Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

                                                        + *

                                                        Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

                                                        */ - EndpointStatus?: string; + OptOut?: string; /** - *

                                                        The date and time, in ISO 8601 format, when the endpoint was created or updated.

                                                        + *

                                                        The demographic information for the endpoint, such as the time zone and platform.

                                                        */ - EffectiveDate?: string; + Demographic?: EndpointDemographic; /** - *

                                                        The geographic information for the endpoint.

                                                        + *

                                                        The unique identifier for the request to create or update the endpoint.

                                                        */ - Location?: EndpointLocation; + RequestId?: string; } export namespace EndpointBatchItem { @@ -6704,14 +6772,14 @@ export namespace EndpointBatchRequest { */ export interface EndpointItemResponse { /** - *

                                                        The custom message that's returned in the response as a result of processing the endpoint data.

                                                        + *

                                                        The status code that's returned in the response as a result of processing the endpoint data.

                                                        */ - Message?: string; + StatusCode?: number; /** - *

                                                        The status code that's returned in the response as a result of processing the endpoint data.

                                                        + *

                                                        The custom message that's returned in the response as a result of processing the endpoint data.

                                                        */ - StatusCode?: number; + Message?: string; } export namespace EndpointItemResponse { @@ -6725,19 +6793,19 @@ export namespace EndpointItemResponse { */ export interface EndpointMessageResult { /** - *

                                                        The downstream service status code for delivering the message.

                                                        + *

                                                        The endpoint address that the message was delivered to.

                                                        */ - StatusCode: number | undefined; + Address?: string; /** - *

                                                        The delivery status of the message. Possible values are:

                                                        • DUPLICATE - The endpoint address is a duplicate of another endpoint address. Amazon Pinpoint won't attempt to send the message again.

                                                        • OPT_OUT - The user who's associated with the endpoint has opted out of receiving messages from you. Amazon Pinpoint won't attempt to send the message again.

                                                        • PERMANENT_FAILURE - An error occurred when delivering the message to the endpoint. Amazon Pinpoint won't attempt to send the message again.

                                                        • SUCCESSFUL - The message was successfully delivered to the endpoint.

                                                        • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't attempt to send the message again.

                                                        • THROTTLED - Amazon Pinpoint throttled the operation to send the message to the endpoint.

                                                        • TIMEOUT - The message couldn't be sent within the timeout period.

                                                        • UNKNOWN_FAILURE - An unknown error occurred.

                                                        + *

                                                        For push notifications that are sent through the GCM channel, specifies whether the endpoint's device registration token was updated as part of delivering the message.

                                                        */ - DeliveryStatus: DeliveryStatus | string | undefined; + UpdatedToken?: string; /** - *

                                                        The endpoint address that the message was delivered to.

                                                        + *

                                                        The unique identifier for the message that was sent.

                                                        */ - Address?: string; + MessageId?: string; /** *

                                                        The status message for delivering the message.

                                                        @@ -6745,14 +6813,14 @@ export interface EndpointMessageResult { StatusMessage?: string; /** - *

                                                        The unique identifier for the message that was sent.

                                                        + *

                                                        The downstream service status code for delivering the message.

                                                        */ - MessageId?: string; + StatusCode: number | undefined; /** - *

                                                        For push notifications that are sent through the GCM channel, specifies whether the endpoint's device registration token was updated as part of delivering the message.

                                                        + *

                                                        The delivery status of the message. Possible values are:

                                                        • DUPLICATE - The endpoint address is a duplicate of another endpoint address. Amazon Pinpoint won't attempt to send the message again.

                                                        • OPT_OUT - The user who's associated with the endpoint has opted out of receiving messages from you. Amazon Pinpoint won't attempt to send the message again.

                                                        • PERMANENT_FAILURE - An error occurred when delivering the message to the endpoint. Amazon Pinpoint won't attempt to send the message again.

                                                        • SUCCESSFUL - The message was successfully delivered to the endpoint.

                                                        • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't attempt to send the message again.

                                                        • THROTTLED - Amazon Pinpoint throttled the operation to send the message to the endpoint.

                                                        • TIMEOUT - The message couldn't be sent within the timeout period.

                                                        • UNKNOWN_FAILURE - An unknown error occurred.

                                                        */ - UpdatedToken?: string; + DeliveryStatus: DeliveryStatus | string | undefined; } export namespace EndpointMessageResult { @@ -6766,29 +6834,34 @@ export namespace EndpointMessageResult { */ export interface EndpointRequest { /** - *

                                                        The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For a push-notification channel, use the token provided by the push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address.

                                                        + *

                                                        One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

                                                        An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

                                                        */ - Address?: string; + Attributes?: { [key: string]: string[] }; /** - *

                                                        One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

                                                        An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

                                                        + *

                                                        One or more custom attributes that describe the user who's associated with the endpoint.

                                                        */ - Attributes?: { [key: string]: string[] }; + User?: EndpointUser; /** - *

                                                        The demographic information for the endpoint, such as the time zone and platform.

                                                        + *

                                                        The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For a push-notification channel, use the token provided by the push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address.

                                                        */ - Demographic?: EndpointDemographic; + Address?: string; /** - *

                                                        Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

                                                        + *

                                                        One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

                                                        */ - OptOut?: string; + Metrics?: { [key: string]: number }; /** - *

                                                        The channel to use when sending messages or push notifications to the endpoint.

                                                        + *

                                                        Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

                                                        Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

                                                        */ - ChannelType?: ChannelType | string; + EndpointStatus?: string; + + /** + *

                                                        The demographic information for the endpoint, such as the time zone and platform.

                                                        + */ + Demographic?: EndpointDemographic; /** *

                                                        The unique identifier for the most recent request to update the endpoint.

                                                        @@ -6800,25 +6873,20 @@ export interface EndpointRequest { */ EffectiveDate?: string; - /** - *

                                                        Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

                                                        Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

                                                        - */ - EndpointStatus?: string; - /** *

                                                        The geographic information for the endpoint.

                                                        */ Location?: EndpointLocation; /** - *

                                                        One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

                                                        + *

                                                        Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

                                                        */ - Metrics?: { [key: string]: number }; + OptOut?: string; /** - *

                                                        One or more custom attributes that describe the user who's associated with the endpoint.

                                                        + *

                                                        The channel to use when sending messages or push notifications to the endpoint.

                                                        */ - User?: EndpointUser; + ChannelType?: ChannelType | string; } export namespace EndpointRequest { @@ -6837,9 +6905,9 @@ export interface EndpointSendConfiguration { Substitutions?: { [key: string]: string[] }; /** - *

                                                        The title or subject line of the message. If specified, this value overrides the default message title or subject line.

                                                        + *

                                                        The raw, JSON-formatted string to use as the payload for the message. If specified, this value overrides all other values for the message.

                                                        */ - TitleOverride?: string; + RawContent?: string; /** *

                                                        A map of custom attributes to attach to the message for the address. Attribute names are case sensitive.

                                                        For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

                                                        @@ -6852,9 +6920,9 @@ export interface EndpointSendConfiguration { BodyOverride?: string; /** - *

                                                        The raw, JSON-formatted string to use as the payload for the message. If specified, this value overrides all other values for the message.

                                                        + *

                                                        The title or subject line of the message. If specified, this value overrides the default message title or subject line.

                                                        */ - RawContent?: string; + TitleOverride?: string; } export namespace EndpointSendConfiguration { @@ -6867,11 +6935,6 @@ export namespace EndpointSendConfiguration { *

                                                        Provides information about a session.

                                                        */ export interface Session { - /** - *

                                                        The duration of the session, in milliseconds.

                                                        - */ - Duration?: number; - /** *

                                                        The date and time when the session ended.

                                                        */ @@ -6882,6 +6945,11 @@ export interface Session { */ StartTimestamp: string | undefined; + /** + *

                                                        The duration of the session, in milliseconds.

                                                        + */ + Duration?: number; + /** *

                                                        The unique identifier for the session.

                                                        */ @@ -6899,14 +6967,14 @@ export namespace Session { */ export interface Event { /** - *

                                                        Information about the session in which the event occurred.

                                                        + *

                                                        The title of the app that's recording the event.

                                                        */ - Session?: Session; + AppTitle?: string; /** - *

                                                        The title of the app that's recording the event.

                                                        + *

                                                        The package name of the app that's recording the event.

                                                        */ - AppTitle?: string; + AppPackageName?: string; /** *

                                                        One or more custom metrics that are associated with the event.

                                                        @@ -6914,39 +6982,39 @@ export interface Event { Metrics?: { [key: string]: number }; /** - *

                                                        The package name of the app that's recording the event.

                                                        + *

                                                        The name of the event.

                                                        */ - AppPackageName?: string; + EventType: string | undefined; /** - *

                                                        The date and time, in ISO 8601 format, when the event occurred.

                                                        + *

                                                        The name of the SDK that's being used to record the event.

                                                        */ - Timestamp: string | undefined; + SdkName?: string; /** - *

                                                        One or more custom attributes that are associated with the event.

                                                        + *

                                                        Information about the session in which the event occurred.

                                                        */ - Attributes?: { [key: string]: string }; + Session?: Session; /** - *

                                                        The version number of the app that's recording the event.

                                                        + *

                                                        The version of the SDK that's running on the client device.

                                                        */ - AppVersionCode?: string; + ClientSdkVersion?: string; /** - *

                                                        The version of the SDK that's running on the client device.

                                                        + *

                                                        One or more custom attributes that are associated with the event.

                                                        */ - ClientSdkVersion?: string; + Attributes?: { [key: string]: string }; /** - *

                                                        The name of the SDK that's being used to record the event.

                                                        + *

                                                        The version number of the app that's recording the event.

                                                        */ - SdkName?: string; + AppVersionCode?: string; /** - *

                                                        The name of the event.

                                                        + *

                                                        The date and time, in ISO 8601 format, when the event occurred.

                                                        */ - EventType: string | undefined; + Timestamp: string | undefined; } export namespace Event { @@ -6981,14 +7049,14 @@ export namespace EventItemResponse { */ export interface PublicEndpoint { /** - *

                                                        Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

                                                        + *

                                                        Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

                                                        Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

                                                        */ - OptOut?: string; + EndpointStatus?: string; /** - *

                                                        The channel that's used when sending messages or push notifications to the endpoint.

                                                        + *

                                                        The demographic information for the endpoint, such as the time zone and platform.

                                                        */ - ChannelType?: ChannelType | string; + Demographic?: EndpointDemographic; /** *

                                                        A unique identifier that's generated each time the endpoint is updated.

                                                        @@ -6996,44 +7064,44 @@ export interface PublicEndpoint { RequestId?: string; /** - *

                                                        The date and time, in ISO 8601 format, when the endpoint was last updated.

                                                        + *

                                                        One or more custom user attributes that your app reports to Amazon Pinpoint for the user who's associated with the endpoint.

                                                        */ - EffectiveDate?: string; + User?: EndpointUser; /** - *

                                                        Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

                                                        Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

                                                        + *

                                                        The unique identifier for the recipient, such as a device token, email address, or mobile phone number.

                                                        */ - EndpointStatus?: string; + Address?: string; /** - *

                                                        The geographic information for the endpoint.

                                                        + *

                                                        One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

                                                        */ - Location?: EndpointLocation; + Metrics?: { [key: string]: number }; /** - *

                                                        The demographic information for the endpoint, such as the time zone and platform.

                                                        + *

                                                        One or more custom attributes that describe the endpoint by associating a name with an array of values. You can use these attributes as filter criteria when you create segments.

                                                        */ - Demographic?: EndpointDemographic; + Attributes?: { [key: string]: string[] }; /** - *

                                                        The unique identifier for the recipient, such as a device token, email address, or mobile phone number.

                                                        + *

                                                        The geographic information for the endpoint.

                                                        */ - Address?: string; + Location?: EndpointLocation; /** - *

                                                        One or more custom attributes that describe the endpoint by associating a name with an array of values. You can use these attributes as filter criteria when you create segments.

                                                        + *

                                                        The date and time, in ISO 8601 format, when the endpoint was last updated.

                                                        */ - Attributes?: { [key: string]: string[] }; + EffectiveDate?: string; /** - *

                                                        One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

                                                        + *

                                                        The channel that's used when sending messages or push notifications to the endpoint.

                                                        */ - Metrics?: { [key: string]: number }; + ChannelType?: ChannelType | string; /** - *

                                                        One or more custom user attributes that your app reports to Amazon Pinpoint for the user who's associated with the endpoint.

                                                        + *

                                                        Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

                                                        */ - User?: EndpointUser; + OptOut?: string; } export namespace PublicEndpoint { @@ -7047,14 +7115,14 @@ export namespace PublicEndpoint { */ export interface EventsBatch { /** - *

                                                        A set of properties that are associated with the event.

                                                        + *

                                                        A set of properties and attributes that are associated with the endpoint.

                                                        */ - Events: { [key: string]: Event } | undefined; + Endpoint: PublicEndpoint | undefined; /** - *

                                                        A set of properties and attributes that are associated with the endpoint.

                                                        + *

                                                        A set of properties that are associated with the event.

                                                        */ - Endpoint: PublicEndpoint | undefined; + Events: { [key: string]: Event } | undefined; } export namespace EventsBatch { @@ -7084,14 +7152,14 @@ export namespace EventsRequest { */ export interface ItemResponse { /** - *

                                                        A multipart response object that contains a key and a value for each event in the request. In each object, the event ID is the key and an EventItemResponse object is the value.

                                                        + *

                                                        The response that was received after the endpoint data was accepted.

                                                        */ - EventsItemResponse?: { [key: string]: EventItemResponse }; + EndpointItemResponse?: EndpointItemResponse; /** - *

                                                        The response that was received after the endpoint data was accepted.

                                                        + *

                                                        A multipart response object that contains a key and a value for each event in the request. In each object, the event ID is the key and an EventItemResponse object is the value.

                                                        */ - EndpointItemResponse?: EndpointItemResponse; + EventsItemResponse?: { [key: string]: EventItemResponse }; } export namespace ItemResponse { @@ -7121,14 +7189,14 @@ export namespace EventsResponse { */ export interface ExportJobsResponse { /** - *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                        + *

                                                        An array of responses, one for each export job that's associated with the application (Export Jobs resource) or segment (Segment Export Jobs resource).

                                                        */ - NextToken?: string; + Item: ExportJobResponse[] | undefined; /** - *

                                                        An array of responses, one for each export job that's associated with the application (Export Jobs resource) or segment (Segment Export Jobs resource).

                                                        + *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                        */ - Item: ExportJobResponse[] | undefined; + NextToken?: string; } export namespace ExportJobsResponse { @@ -7142,14 +7210,14 @@ export namespace ExportJobsResponse { */ export interface GCMChannelRequest { /** - *

                                                        Specifies whether to enable the GCM channel for the application.

                                                        + *

                                                        The Web API Key, also referred to as an API_KEY or server key, that you received from Google to communicate with Google services.

                                                        */ - Enabled?: boolean; + ApiKey: string | undefined; /** - *

                                                        The Web API Key, also referred to as an API_KEY or server key, that you received from Google to communicate with Google services.

                                                        + *

                                                        Specifies whether to enable the GCM channel for the application.

                                                        */ - ApiKey: string | undefined; + Enabled?: boolean; } export namespace GCMChannelRequest { @@ -7316,9 +7384,9 @@ export namespace GetAppResponse { export interface GetApplicationDateRangeKpiRequest { /** - *

                                                        The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.

                                                        + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - StartTime?: Date; + PageSize?: string; /** *

                                                        The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.

                                                        @@ -7326,9 +7394,9 @@ export interface GetApplicationDateRangeKpiRequest { EndTime?: Date; /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.

                                                        */ - PageSize?: string; + StartTime?: Date; /** *

                                                        The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        @@ -7336,14 +7404,14 @@ export interface GetApplicationDateRangeKpiRequest { NextToken?: string; /** - *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - KpiName: string | undefined; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide.

                                                        */ - ApplicationId: string | undefined; + KpiName: string | undefined; } export namespace GetApplicationDateRangeKpiRequest { @@ -7486,9 +7554,9 @@ export interface GetCampaignActivitiesRequest { ApplicationId: string | undefined; /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        */ - PageSize?: string; + Token?: string; /** *

                                                        The unique identifier for the campaign.

                                                        @@ -7496,9 +7564,9 @@ export interface GetCampaignActivitiesRequest { CampaignId: string | undefined; /** - *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - Token?: string; + PageSize?: string; } export namespace GetCampaignActivitiesRequest { @@ -7522,14 +7590,9 @@ export namespace GetCampaignActivitiesResponse { export interface GetCampaignDateRangeKpiRequest { /** - *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide.

                                                        - */ - KpiName: string | undefined; - - /** - *

                                                        The unique identifier for the campaign.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - CampaignId: string | undefined; + ApplicationId: string | undefined; /** *

                                                        The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        @@ -7552,9 +7615,14 @@ export interface GetCampaignDateRangeKpiRequest { PageSize?: string; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the campaign.

                                                        */ - ApplicationId: string | undefined; + CampaignId: string | undefined; + + /** + *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide.

                                                        + */ + KpiName: string | undefined; } export namespace GetCampaignDateRangeKpiRequest { @@ -7619,14 +7687,14 @@ export interface GetCampaignVersionRequest { ApplicationId: string | undefined; /** - *

                                                        The unique version number (Version property) for the campaign version.

                                                        + *

                                                        The unique identifier for the campaign.

                                                        */ - Version: string | undefined; + CampaignId: string | undefined; /** - *

                                                        The unique identifier for the campaign.

                                                        + *

                                                        The unique version number (Version property) for the campaign version.

                                                        */ - CampaignId: string | undefined; + Version: string | undefined; } export namespace GetCampaignVersionRequest { @@ -7655,9 +7723,9 @@ export interface GetCampaignVersionsRequest { PageSize?: string; /** - *

                                                        The unique identifier for the campaign.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - CampaignId: string | undefined; + ApplicationId: string | undefined; /** *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        @@ -7665,9 +7733,9 @@ export interface GetCampaignVersionsRequest { Token?: string; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the campaign.

                                                        */ - ApplicationId: string | undefined; + CampaignId: string | undefined; } export namespace GetCampaignVersionsRequest { @@ -7774,14 +7842,14 @@ export namespace GetEmailTemplateResponse { export interface GetEndpointRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the endpoint.

                                                        */ - ApplicationId: string | undefined; + EndpointId: string | undefined; /** - *

                                                        The unique identifier for the endpoint.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - EndpointId: string | undefined; + ApplicationId: string | undefined; } export namespace GetEndpointRequest { @@ -7867,14 +7935,14 @@ export interface GetExportJobsRequest { ApplicationId: string | undefined; /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        */ - PageSize?: string; + Token?: string; /** - *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - Token?: string; + PageSize?: string; } export namespace GetExportJobsRequest { @@ -7924,14 +7992,14 @@ export namespace GetGcmChannelResponse { export interface GetImportJobRequest { /** - *

                                                        The unique identifier for the job.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - JobId: string | undefined; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the job.

                                                        */ - ApplicationId: string | undefined; + JobId: string | undefined; } export namespace GetImportJobRequest { @@ -7981,14 +8049,14 @@ export namespace GetImportJobsRequest { */ export interface ImportJobsResponse { /** - *

                                                        An array of responses, one for each import job that's associated with the application (Import Jobs resource) or segment (Segment Import Jobs resource).

                                                        + *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                        */ - Item: ImportJobResponse[] | undefined; + NextToken?: string; /** - *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                        + *

                                                        An array of responses, one for each import job that's associated with the application (Import Jobs resource) or segment (Segment Import Jobs resource).

                                                        */ - NextToken?: string; + Item: ImportJobResponse[] | undefined; } export namespace ImportJobsResponse { @@ -8040,105 +8108,3 @@ export namespace GetJourneyResponse { ...obj, }); } - -export interface GetJourneyDateRangeKpiRequest { - /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        - */ - PageSize?: string; - - /** - *

                                                        The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.

                                                        - */ - EndTime?: Date; - - /** - *

                                                        The unique identifier for the journey.

                                                        - */ - JourneyId: string | undefined; - - /** - *

                                                        The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.

                                                        - */ - StartTime?: Date; - - /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        - */ - ApplicationId: string | undefined; - - /** - *

                                                        The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        - */ - NextToken?: string; - - /** - *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide.

                                                        - */ - KpiName: string | undefined; -} - -export namespace GetJourneyDateRangeKpiRequest { - export const filterSensitiveLog = (obj: GetJourneyDateRangeKpiRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                        Provides the results of a query that retrieved the data for a standard engagement metric that applies to a journey, and provides information about that query.

                                                        - */ -export interface JourneyDateRangeKpiResponse { - /** - *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), that the data was retrieved for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. For a list of possible values, see the Amazon Pinpoint Developer Guide.

                                                        - */ - KpiName: string | undefined; - - /** - *

                                                        The unique identifier for the journey that the metric applies to.

                                                        - */ - JourneyId: string | undefined; - - /** - *

                                                        The unique identifier for the application that the metric applies to.

                                                        - */ - ApplicationId: string | undefined; - - /** - *

                                                        An array of objects that contains the results of the query. Each object contains the value for the metric and metadata about that value.

                                                        - */ - KpiResult: BaseKpiResult | undefined; - - /** - *

                                                        The last date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

                                                        - */ - EndTime: Date | undefined; - - /** - *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null for the Journey Engagement Metrics resource because the resource returns all results in a single page.

                                                        - */ - NextToken?: string; - - /** - *

                                                        The first date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

                                                        - */ - StartTime: Date | undefined; -} - -export namespace JourneyDateRangeKpiResponse { - export const filterSensitiveLog = (obj: JourneyDateRangeKpiResponse): any => ({ - ...obj, - }); -} - -export interface GetJourneyDateRangeKpiResponse { - /** - *

                                                        Provides the results of a query that retrieved the data for a standard engagement metric that applies to a journey, and provides information about that query.

                                                        - */ - JourneyDateRangeKpiResponse: JourneyDateRangeKpiResponse | undefined; -} - -export namespace GetJourneyDateRangeKpiResponse { - export const filterSensitiveLog = (obj: GetJourneyDateRangeKpiResponse): any => ({ - ...obj, - }); -} diff --git a/clients/client-pinpoint/models/models_1.ts b/clients/client-pinpoint/models/models_1.ts index 828b224691c4..d8655eb8af65 100644 --- a/clients/client-pinpoint/models/models_1.ts +++ b/clients/client-pinpoint/models/models_1.ts @@ -16,6 +16,7 @@ import { AttributesResource, BaiduChannelRequest, BaiduChannelResponse, + BaseKpiResult, CampaignHook, CampaignLimits, CampaignResponse, @@ -56,31 +57,133 @@ import { } from "./models_0"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; -export interface GetJourneyExecutionActivityMetricsRequest { +export interface GetJourneyDateRangeKpiRequest { + /** + *

                                                        The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.

                                                        + */ + EndTime?: Date; + + /** + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + */ + PageSize?: string; + + /** + *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide.

                                                        + */ + KpiName: string | undefined; + /** *

                                                        The unique identifier for the journey.

                                                        */ JourneyId: string | undefined; /** - *

                                                        The unique identifier for the journey activity.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - JourneyActivityId: string | undefined; + ApplicationId: string | undefined; /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.

                                                        */ - PageSize?: string; + StartTime?: Date; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + */ + NextToken?: string; +} + +export namespace GetJourneyDateRangeKpiRequest { + export const filterSensitiveLog = (obj: GetJourneyDateRangeKpiRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Provides the results of a query that retrieved the data for a standard engagement metric that applies to a journey, and provides information about that query.

                                                        + */ +export interface JourneyDateRangeKpiResponse { + /** + *

                                                        The last date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

                                                        + */ + EndTime: Date | undefined; + + /** + *

                                                        The first date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

                                                        + */ + StartTime: Date | undefined; + + /** + *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null for the Journey Engagement Metrics resource because the resource returns all results in a single page.

                                                        + */ + NextToken?: string; + + /** + *

                                                        The unique identifier for the application that the metric applies to.

                                                        */ ApplicationId: string | undefined; + /** + *

                                                        The unique identifier for the journey that the metric applies to.

                                                        + */ + JourneyId: string | undefined; + + /** + *

                                                        An array of objects that contains the results of the query. Each object contains the value for the metric and metadata about that value.

                                                        + */ + KpiResult: BaseKpiResult | undefined; + + /** + *

                                                        The name of the metric, also referred to as a key performance indicator (KPI), that the data was retrieved for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. For a list of possible values, see the Amazon Pinpoint Developer Guide.

                                                        + */ + KpiName: string | undefined; +} + +export namespace JourneyDateRangeKpiResponse { + export const filterSensitiveLog = (obj: JourneyDateRangeKpiResponse): any => ({ + ...obj, + }); +} + +export interface GetJourneyDateRangeKpiResponse { + /** + *

                                                        Provides the results of a query that retrieved the data for a standard engagement metric that applies to a journey, and provides information about that query.

                                                        + */ + JourneyDateRangeKpiResponse: JourneyDateRangeKpiResponse | undefined; +} + +export namespace GetJourneyDateRangeKpiResponse { + export const filterSensitiveLog = (obj: GetJourneyDateRangeKpiResponse): any => ({ + ...obj, + }); +} + +export interface GetJourneyExecutionActivityMetricsRequest { + /** + *

                                                        The unique identifier for the journey.

                                                        + */ + JourneyId: string | undefined; + /** *

                                                        The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ NextToken?: string; + + /** + *

                                                        The unique identifier for the journey activity.

                                                        + */ + JourneyActivityId: string | undefined; + + /** + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + */ + ApplicationId: string | undefined; + + /** + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + */ + PageSize?: string; } export namespace GetJourneyExecutionActivityMetricsRequest { @@ -93,35 +196,35 @@ export namespace GetJourneyExecutionActivityMetricsRequest { *

                                                        Provides the results of a query that retrieved the data for a standard execution metric that applies to a journey activity, and provides information about that query.

                                                        */ export interface JourneyExecutionActivityMetricsResponse { + /** + *

                                                        A JSON object that contains the results of the query. The results vary depending on the type of activity (ActivityType). For information about the structure and contents of the results, see the Amazon Pinpoint Developer Guide.

                                                        + */ + Metrics: { [key: string]: string } | undefined; + /** *

                                                        The unique identifier for the journey that the metric applies to.

                                                        */ JourneyId: string | undefined; /** - *

                                                        A JSON object that contains the results of the query. The results vary depending on the type of activity (ActivityType). For information about the structure and contents of the results, see the Amazon Pinpoint Developer Guide.

                                                        + *

                                                        The unique identifier for the application that the metric applies to.

                                                        */ - Metrics: { [key: string]: string } | undefined; + ApplicationId: string | undefined; /** *

                                                        The unique identifier for the activity that the metric applies to.

                                                        */ JourneyActivityId: string | undefined; - /** - *

                                                        The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the execution status of the activity and updated the data for the metric.

                                                        - */ - LastEvaluatedTime: string | undefined; - /** *

                                                        The type of activity that the metric applies to. Possible values are:

                                                        • CONDITIONAL_SPLIT - For a yes/no split activity, which is an activity that sends participants down one of two paths in a journey.

                                                        • HOLDOUT - For a holdout activity, which is an activity that stops a journey for a specified percentage of participants.

                                                        • MESSAGE - For an email activity, which is an activity that sends an email message to participants.

                                                        • MULTI_CONDITIONAL_SPLIT - For a multivariate split activity, which is an activity that sends participants down one of as many as five paths in a journey.

                                                        • RANDOM_SPLIT - For a random split activity, which is an activity that sends specified percentages of participants down one of as many as five paths in a journey.

                                                        • WAIT - For a wait activity, which is an activity that waits for a certain amount of time or until a specific date and time before moving participants to the next activity in a journey.

                                                        */ ActivityType: string | undefined; /** - *

                                                        The unique identifier for the application that the metric applies to.

                                                        + *

                                                        The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the execution status of the activity and updated the data for the metric.

                                                        */ - ApplicationId: string | undefined; + LastEvaluatedTime: string | undefined; } export namespace JourneyExecutionActivityMetricsResponse { @@ -145,24 +248,24 @@ export namespace GetJourneyExecutionActivityMetricsResponse { export interface GetJourneyExecutionMetricsRequest { /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - PageSize?: string; + NextToken?: string; /** - *

                                                        The unique identifier for the journey.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - JourneyId: string | undefined; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the journey.

                                                        */ - ApplicationId: string | undefined; + JourneyId: string | undefined; /** - *

                                                        The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - NextToken?: string; + PageSize?: string; } export namespace GetJourneyExecutionMetricsRequest { @@ -176,24 +279,24 @@ export namespace GetJourneyExecutionMetricsRequest { */ export interface JourneyExecutionMetricsResponse { /** - *

                                                        The unique identifier for the application that the metric applies to.

                                                        + *

                                                        The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the journey and updated the data for the metric.

                                                        */ - ApplicationId: string | undefined; + LastEvaluatedTime: string | undefined; /** - *

                                                        A JSON object that contains the results of the query. For information about the structure and contents of the results, see the Amazon Pinpoint Developer Guide.

                                                        + *

                                                        A JSON object that contains the results of the query. For information about the structure and contents of the results, see the Amazon Pinpoint Developer Guide.

                                                        */ Metrics: { [key: string]: string } | undefined; /** - *

                                                        The unique identifier for the journey that the metric applies to.

                                                        + *

                                                        The unique identifier for the application that the metric applies to.

                                                        */ - JourneyId: string | undefined; + ApplicationId: string | undefined; /** - *

                                                        The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the journey and updated the data for the metric.

                                                        + *

                                                        The unique identifier for the journey that the metric applies to.

                                                        */ - LastEvaluatedTime: string | undefined; + JourneyId: string | undefined; } export namespace JourneyExecutionMetricsResponse { @@ -217,14 +320,14 @@ export namespace GetJourneyExecutionMetricsResponse { export interface GetPushTemplateRequest { /** - *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - Version?: string; + TemplateName: string | undefined; /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        */ - TemplateName: string | undefined; + Version?: string; } export namespace GetPushTemplateRequest { @@ -238,24 +341,19 @@ export namespace GetPushTemplateRequest { */ export interface PushNotificationTemplateResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the message template.

                                                        - */ - Arn?: string; - - /** - *

                                                        The default message template that's used for push notification channels.

                                                        + *

                                                        The custom description of the message template.

                                                        */ - Default?: DefaultPushNotificationTemplate; + TemplateDescription?: string; /** - *

                                                        The custom description of the message template.

                                                        + *

                                                        The message template that's used for the APNs (Apple Push Notification service) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        */ - TemplateDescription?: string; + APNS?: APNSPushNotificationTemplate; /** - *

                                                        The message template that's used for the GCM channel, which is used to send notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        + *

                                                        The type of channel that the message template is designed for. For a push notification template, this value is PUSH.

                                                        */ - GCM?: AndroidPushNotificationTemplate; + TemplateType: TemplateType | string | undefined; /** *

                                                        The date, in ISO 8601 format, when the message template was last modified.

                                                        @@ -268,49 +366,54 @@ export interface PushNotificationTemplateResponse { CreationDate: string | undefined; /** - *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        - */ - tags?: { [key: string]: string }; - - /** - *

                                                        The message template that's used for the APNs (Apple Push Notification service) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        + *

                                                        The unique identifier for the recommender model that's used by the message template.

                                                        */ - APNS?: APNSPushNotificationTemplate; + RecommenderId?: string; /** - *

                                                        The type of channel that the message template is designed for. For a push notification template, this value is PUSH.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the message template.

                                                        */ - TemplateType: TemplateType | string | undefined; + Arn?: string; /** - *

                                                        The name of the message template.

                                                        + *

                                                        The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

                                                        */ - TemplateName: string | undefined; + Version?: string; /** *

                                                        The message template that's used for the Baidu (Baidu Cloud Push) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        */ Baidu?: AndroidPushNotificationTemplate; - /** - *

                                                        The unique identifier for the recommender model that's used by the message template.

                                                        - */ - RecommenderId?: string; - /** *

                                                        The message template that's used for the ADM (Amazon Device Messaging) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        */ ADM?: AndroidPushNotificationTemplate; /** - *

                                                        The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

                                                        + *

                                                        The name of the message template.

                                                        */ - Version?: string; + TemplateName: string | undefined; /** *

                                                        The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

                                                        */ DefaultSubstitutions?: string; + + /** + *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        + */ + tags?: { [key: string]: string }; + + /** + *

                                                        The message template that's used for the GCM channel, which is used to send notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

                                                        + */ + GCM?: AndroidPushNotificationTemplate; + + /** + *

                                                        The default message template that's used for push notification channels.

                                                        + */ + Default?: DefaultPushNotificationTemplate; } export namespace PushNotificationTemplateResponse { @@ -360,14 +463,14 @@ export namespace GetRecommenderConfigurationResponse { export interface GetRecommenderConfigurationsRequest { /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        */ - PageSize?: string; + Token?: string; /** - *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - Token?: string; + PageSize?: string; } export namespace GetRecommenderConfigurationsRequest { @@ -381,14 +484,14 @@ export namespace GetRecommenderConfigurationsRequest { */ export interface ListRecommenderConfigurationsResponse { /** - *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                        + *

                                                        An array of responses, one for each recommender model configuration that's associated with your Amazon Pinpoint account.

                                                        */ - NextToken?: string; + Item: RecommenderConfigurationResponse[] | undefined; /** - *

                                                        An array of responses, one for each recommender model configuration that's associated with your Amazon Pinpoint account.

                                                        + *

                                                        The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

                                                        */ - Item: RecommenderConfigurationResponse[] | undefined; + NextToken?: string; } export namespace ListRecommenderConfigurationsResponse { @@ -412,14 +515,14 @@ export namespace GetRecommenderConfigurationsResponse { export interface GetSegmentRequest { /** - *

                                                        The unique identifier for the segment.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - SegmentId: string | undefined; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the segment.

                                                        */ - ApplicationId: string | undefined; + SegmentId: string | undefined; } export namespace GetSegmentRequest { @@ -443,24 +546,24 @@ export namespace GetSegmentResponse { export interface GetSegmentExportJobsRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the segment.

                                                        */ - ApplicationId: string | undefined; + SegmentId: string | undefined; /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - PageSize?: string; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the segment.

                                                        + *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        */ - SegmentId: string | undefined; + Token?: string; /** - *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - Token?: string; + PageSize?: string; } export namespace GetSegmentExportJobsRequest { @@ -484,24 +587,24 @@ export namespace GetSegmentExportJobsResponse { export interface GetSegmentImportJobsRequest { /** - *

                                                        The unique identifier for the segment.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - SegmentId: string | undefined; + ApplicationId: string | undefined; /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The unique identifier for the segment.

                                                        */ - PageSize?: string; + SegmentId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        */ - ApplicationId: string | undefined; + Token?: string; /** - *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - Token?: string; + PageSize?: string; } export namespace GetSegmentImportJobsRequest { @@ -524,6 +627,11 @@ export namespace GetSegmentImportJobsResponse { } export interface GetSegmentsRequest { + /** + *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        + */ + Token?: string; + /** *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ @@ -533,11 +641,6 @@ export interface GetSegmentsRequest { *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ ApplicationId: string | undefined; - - /** - *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        - */ - Token?: string; } export namespace GetSegmentsRequest { @@ -582,9 +685,9 @@ export namespace GetSegmentsResponse { export interface GetSegmentVersionRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique version number (Version property) for the campaign version.

                                                        */ - ApplicationId: string | undefined; + Version: string | undefined; /** *

                                                        The unique identifier for the segment.

                                                        @@ -592,9 +695,9 @@ export interface GetSegmentVersionRequest { SegmentId: string | undefined; /** - *

                                                        The unique version number (Version property) for the campaign version.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - Version: string | undefined; + ApplicationId: string | undefined; } export namespace GetSegmentVersionRequest { @@ -618,24 +721,24 @@ export namespace GetSegmentVersionResponse { export interface GetSegmentVersionsRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - ApplicationId: string | undefined; + PageSize?: string; /** - *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        + *

                                                        The unique identifier for the segment.

                                                        */ - Token?: string; + SegmentId: string | undefined; /** - *

                                                        The unique identifier for the segment.

                                                        + *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        */ - SegmentId: string | undefined; + Token?: string; /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - PageSize?: string; + ApplicationId: string | undefined; } export namespace GetSegmentVersionsRequest { @@ -685,14 +788,14 @@ export namespace GetSmsChannelResponse { export interface GetSmsTemplateRequest { /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        */ - TemplateName: string | undefined; + Version?: string; /** - *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - Version?: string; + TemplateName: string | undefined; } export namespace GetSmsTemplateRequest { @@ -705,11 +808,6 @@ export namespace GetSmsTemplateRequest { *

                                                        Provides information about the content and settings for a message template that can be used in text messages that are sent through the SMS channel.

                                                        */ export interface SMSTemplateResponse { - /** - *

                                                        The unique identifier for the recommender model that's used by the message template.

                                                        - */ - RecommenderId?: string; - /** *

                                                        The date, in ISO 8601 format, when the message template was last modified.

                                                        */ @@ -721,34 +819,39 @@ export interface SMSTemplateResponse { CreationDate: string | undefined; /** - *

                                                        The custom description of the message template.

                                                        + *

                                                        The unique identifier for the recommender model that's used by the message template.

                                                        */ - TemplateDescription?: string; + RecommenderId?: string; /** - *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

                                                        */ - tags?: { [key: string]: string }; + Version?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the message template.

                                                        + *

                                                        The name of the message template.

                                                        */ - Arn?: string; + TemplateName: string | undefined; /** *

                                                        The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

                                                        */ DefaultSubstitutions?: string; + /** + *

                                                        The custom description of the message template.

                                                        + */ + TemplateDescription?: string; + /** *

                                                        The type of channel that the message template is designed for. For an SMS template, this value is SMS.

                                                        */ TemplateType: TemplateType | string | undefined; /** - *

                                                        The name of the message template.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the message template.

                                                        */ - TemplateName: string | undefined; + Arn?: string; /** *

                                                        The message body that's used in text messages that are based on the message template.

                                                        @@ -756,9 +859,9 @@ export interface SMSTemplateResponse { Body?: string; /** - *

                                                        The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

                                                        + *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        */ - Version?: string; + tags?: { [key: string]: string }; } export namespace SMSTemplateResponse { @@ -782,14 +885,14 @@ export namespace GetSmsTemplateResponse { export interface GetUserEndpointsRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the user.

                                                        */ - ApplicationId: string | undefined; + UserId: string | undefined; /** - *

                                                        The unique identifier for the user.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - UserId: string | undefined; + ApplicationId: string | undefined; } export namespace GetUserEndpointsRequest { @@ -839,14 +942,14 @@ export namespace GetVoiceChannelResponse { export interface GetVoiceTemplateRequest { /** - *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - Version?: string; + TemplateName: string | undefined; /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        */ - TemplateName: string | undefined; + Version?: string; } export namespace GetVoiceTemplateRequest { @@ -860,39 +963,39 @@ export namespace GetVoiceTemplateRequest { */ export interface VoiceTemplateResponse { /** - *

                                                        The date, in ISO 8601 format, when the message template was last modified.

                                                        + *

                                                        The text of the script that's used in messages that are based on the message template, in plain text format.

                                                        */ - LastModifiedDate: string | undefined; + Body?: string; /** - *

                                                        The date, in ISO 8601 format, when the message template was created.

                                                        + *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        */ - CreationDate: string | undefined; + tags?: { [key: string]: string }; /** - *

                                                        The code for the language that's used when synthesizing the text of the script in messages that are based on the message template. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

                                                        + *

                                                        The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

                                                        */ - LanguageCode?: string; + DefaultSubstitutions?: string; /** - *

                                                        The custom description of the message template.

                                                        + *

                                                        The name of the voice that's used when delivering messages that are based on the message template. For a list of supported voices, see the Amazon Polly Developer Guide.

                                                        */ - TemplateDescription?: string; + VoiceId?: string; /** - *

                                                        The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

                                                        + *

                                                        The name of the message template.

                                                        */ - Version?: string; + TemplateName: string | undefined; /** - *

                                                        The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

                                                        + *

                                                        The type of channel that the message template is designed for. For a voice template, this value is VOICE.

                                                        */ - DefaultSubstitutions?: string; + TemplateType: TemplateType | string | undefined; /** - *

                                                        The name of the voice that's used when delivering messages that are based on the message template. For a list of supported voices, see the Amazon Polly Developer Guide.

                                                        + *

                                                        The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

                                                        */ - VoiceId?: string; + Version?: string; /** *

                                                        The Amazon Resource Name (ARN) of the message template.

                                                        @@ -900,24 +1003,24 @@ export interface VoiceTemplateResponse { Arn?: string; /** - *

                                                        A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

                                                        + *

                                                        The date, in ISO 8601 format, when the message template was created.

                                                        */ - tags?: { [key: string]: string }; + CreationDate: string | undefined; /** - *

                                                        The type of channel that the message template is designed for. For a voice template, this value is VOICE.

                                                        + *

                                                        The code for the language that's used when synthesizing the text of the script in messages that are based on the message template. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

                                                        */ - TemplateType: TemplateType | string | undefined; + LanguageCode?: string; /** - *

                                                        The text of the script that's used in messages that are based on the message template, in plain text format.

                                                        + *

                                                        The custom description of the message template.

                                                        */ - Body?: string; + TemplateDescription?: string; /** - *

                                                        The name of the message template.

                                                        + *

                                                        The date, in ISO 8601 format, when the message template was last modified.

                                                        */ - TemplateName: string | undefined; + LastModifiedDate: string | undefined; } export namespace VoiceTemplateResponse { @@ -983,14 +1086,14 @@ export interface ListJourneysRequest { ApplicationId: string | undefined; /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        */ - PageSize?: string; + Token?: string; /** - *

                                                        The NextToken string that specifies which page of results to return in a paginated response.

                                                        + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - Token?: string; + PageSize?: string; } export namespace ListJourneysRequest { @@ -1016,50 +1119,50 @@ export namespace ListJourneysResponse { *

                                                        Provides information about a message template that's associated with your Amazon Pinpoint account.

                                                        */ export interface TemplateResponse { - /** - *

                                                        The name of the message template.

                                                        - */ - TemplateName: string | undefined; - - /** - *

                                                        The unique identifier, as an integer, for the active version of the message template.

                                                        - */ - Version?: string; - /** *

                                                        The Amazon Resource Name (ARN) of the message template. This value isn't included in a TemplateResponse object. To retrieve the ARN of a template, use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template that you want to retrieve the ARN for.

                                                        */ Arn?: string; /** - *

                                                        The JSON object that specifies the default values that are used for message variables in the message template. This object isn't included in a TemplateResponse object. To retrieve this object for a template, use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template that you want to retrieve the object for.

                                                        + *

                                                        The name of the message template.

                                                        */ - DefaultSubstitutions?: string; + TemplateName: string | undefined; /** - *

                                                        The type of channel that the message template is designed for. Possible values are: EMAIL, PUSH, SMS, and VOICE.

                                                        + *

                                                        The date, in ISO 8601 format, when the message template was last modified.

                                                        */ - TemplateType: TemplateType | string | undefined; + LastModifiedDate: string | undefined; /** *

                                                        The date, in ISO 8601 format, when the message template was created.

                                                        */ CreationDate: string | undefined; + /** + *

                                                        The custom description of the message template. This value isn't included in a TemplateResponse object. To retrieve the description of a template, use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template that you want to retrieve the description for.

                                                        + */ + TemplateDescription?: string; + /** *

                                                        A map of key-value pairs that identifies the tags that are associated with the message template. This object isn't included in a TemplateResponse object. To retrieve this object for a template, use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template that you want to retrieve the object for.

                                                        */ tags?: { [key: string]: string }; /** - *

                                                        The date, in ISO 8601 format, when the message template was last modified.

                                                        + *

                                                        The type of channel that the message template is designed for. Possible values are: EMAIL, PUSH, SMS, and VOICE.

                                                        */ - LastModifiedDate: string | undefined; + TemplateType: TemplateType | string | undefined; /** - *

                                                        The custom description of the message template. This value isn't included in a TemplateResponse object. To retrieve the description of a template, use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template that you want to retrieve the description for.

                                                        + *

                                                        The JSON object that specifies the default values that are used for message variables in the message template. This object isn't included in a TemplateResponse object. To retrieve this object for a template, use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template that you want to retrieve the object for.

                                                        */ - TemplateDescription?: string; + DefaultSubstitutions?: string; + + /** + *

                                                        The unique identifier, as an integer, for the active version of the message template.

                                                        + */ + Version?: string; } export namespace TemplateResponse { @@ -1078,14 +1181,14 @@ export interface TemplateVersionResponse { CreationDate: string | undefined; /** - *

                                                        The date, in ISO 8601 format, when the version of the message template was last modified.

                                                        + *

                                                        The type of channel that the message template is designed for. Possible values are: EMAIL, PUSH, SMS, and VOICE.

                                                        */ - LastModifiedDate: string | undefined; + TemplateType: string | undefined; /** - *

                                                        The type of channel that the message template is designed for. Possible values are: EMAIL, PUSH, SMS, and VOICE.

                                                        + *

                                                        The date, in ISO 8601 format, when the version of the message template was last modified.

                                                        */ - TemplateType: string | undefined; + LastModifiedDate: string | undefined; /** *

                                                        The unique identifier for the version of the message template. This value is an integer that Amazon Pinpoint automatically increments and assigns to each new version of a template.

                                                        @@ -1093,9 +1196,9 @@ export interface TemplateVersionResponse { Version?: string; /** - *

                                                        A JSON object that specifies the default values that are used for message variables in the version of the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

                                                        + *

                                                        The name of the message template.

                                                        */ - DefaultSubstitutions?: string; + TemplateName: string | undefined; /** *

                                                        The custom description of the version of the message template.

                                                        @@ -1103,9 +1206,9 @@ export interface TemplateVersionResponse { TemplateDescription?: string; /** - *

                                                        The name of the message template.

                                                        + *

                                                        A JSON object that specifies the default values that are used for message variables in the version of the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

                                                        */ - TemplateName: string | undefined; + DefaultSubstitutions?: string; } export namespace TemplateVersionResponse { @@ -1157,11 +1260,6 @@ export namespace ListTagsForResourceResponse { } export interface ListTemplatesRequest { - /** - *

                                                        The substring to match in the names of the message templates to include in the results. If you specify this value, Amazon Pinpoint returns only those templates whose names begin with the value that you specify.

                                                        - */ - Prefix?: string; - /** *

                                                        The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ @@ -1176,6 +1274,11 @@ export interface ListTemplatesRequest { *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ PageSize?: string; + + /** + *

                                                        The substring to match in the names of the message templates to include in the results. If you specify this value, Amazon Pinpoint returns only those templates whose names begin with the value that you specify.

                                                        + */ + Prefix?: string; } export namespace ListTemplatesRequest { @@ -1220,24 +1323,24 @@ export namespace ListTemplatesResponse { export interface ListTemplateVersionsRequest { /** - *

                                                        The type of channel that the message template is designed for. Valid values are: EMAIL, PUSH, SMS, and VOICE.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - TemplateType: string | undefined; + TemplateName: string | undefined; /** - *

                                                        The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The type of channel that the message template is designed for. Valid values are: EMAIL, PUSH, SMS, and VOICE.

                                                        */ - NextToken?: string; + TemplateType: string | undefined; /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - TemplateName: string | undefined; + PageSize?: string; /** - *

                                                        The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        + *

                                                        The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

                                                        */ - PageSize?: string; + NextToken?: string; } export namespace ListTemplateVersionsRequest { @@ -1261,14 +1364,14 @@ export interface TemplateVersionsResponse { Message?: string; /** - *

                                                        An array of responses, one for each version of the message template.

                                                        + *

                                                        The unique identifier for the request to retrieve information about all the versions of the message template.

                                                        */ - Item: TemplateVersionResponse[] | undefined; + RequestID?: string; /** - *

                                                        The unique identifier for the request to retrieve information about all the versions of the message template.

                                                        + *

                                                        An array of responses, one for each version of the message template.

                                                        */ - RequestID?: string; + Item: TemplateVersionResponse[] | undefined; } export namespace TemplateVersionsResponse { @@ -1294,15 +1397,20 @@ export namespace ListTemplateVersionsResponse { *

                                                        Provides information about the results of sending a message directly to an endpoint address.

                                                        */ export interface MessageResult { + /** + *

                                                        The downstream service status code for delivering the message.

                                                        + */ + StatusCode: number | undefined; + /** *

                                                        The status message for delivering the message.

                                                        */ StatusMessage?: string; /** - *

                                                        The delivery status of the message. Possible values are:

                                                        • DUPLICATE - The endpoint address is a duplicate of another endpoint address. Amazon Pinpoint won't attempt to send the message again.

                                                        • OPT_OUT - The user who's associated with the endpoint address has opted out of receiving messages from you. Amazon Pinpoint won't attempt to send the message again.

                                                        • PERMANENT_FAILURE - An error occurred when delivering the message to the endpoint address. Amazon Pinpoint won't attempt to send the message again.

                                                        • SUCCESSFUL - The message was successfully delivered to the endpoint address.

                                                        • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't attempt to send the message again.

                                                        • THROTTLED - Amazon Pinpoint throttled the operation to send the message to the endpoint address.

                                                        • TIMEOUT - The message couldn't be sent within the timeout period.

                                                        • UNKNOWN_FAILURE - An unknown error occurred.

                                                        + *

                                                        For push notifications that are sent through the GCM channel, specifies whether the endpoint's device registration token was updated as part of delivering the message.

                                                        */ - DeliveryStatus: DeliveryStatus | string | undefined; + UpdatedToken?: string; /** *

                                                        The unique identifier for the message that was sent.

                                                        @@ -1310,14 +1418,9 @@ export interface MessageResult { MessageId?: string; /** - *

                                                        The downstream service status code for delivering the message.

                                                        - */ - StatusCode: number | undefined; - - /** - *

                                                        For push notifications that are sent through the GCM channel, specifies whether the endpoint's device registration token was updated as part of delivering the message.

                                                        + *

                                                        The delivery status of the message. Possible values are:

                                                        • DUPLICATE - The endpoint address is a duplicate of another endpoint address. Amazon Pinpoint won't attempt to send the message again.

                                                        • OPT_OUT - The user who's associated with the endpoint address has opted out of receiving messages from you. Amazon Pinpoint won't attempt to send the message again.

                                                        • PERMANENT_FAILURE - An error occurred when delivering the message to the endpoint address. Amazon Pinpoint won't attempt to send the message again.

                                                        • SUCCESSFUL - The message was successfully delivered to the endpoint address.

                                                        • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't attempt to send the message again.

                                                        • THROTTLED - Amazon Pinpoint throttled the operation to send the message to the endpoint address.

                                                        • TIMEOUT - The message couldn't be sent within the timeout period.

                                                        • UNKNOWN_FAILURE - An unknown error occurred.

                                                        */ - UpdatedToken?: string; + DeliveryStatus: DeliveryStatus | string | undefined; } export namespace MessageResult { @@ -1331,34 +1434,34 @@ export namespace MessageResult { */ export interface MessageRequest { /** - *

                                                        The unique identifier for tracing the message. This identifier is visible to message recipients.

                                                        + *

                                                        A map of key-value pairs, where each key is an address and each value is an AddressConfiguration object. An address can be a push notification token, a phone number, or an email address. You can use an AddressConfiguration object to tailor the message for an address by specifying settings such as content overrides and message variables.

                                                        */ - TraceId?: string; + Addresses?: { [key: string]: AddressConfiguration }; /** - *

                                                        The settings and content for the default message and any default messages that you defined for specific channels.

                                                        + *

                                                        The message template to use for the message.

                                                        */ - MessageConfiguration: DirectMessageConfiguration | undefined; + TemplateConfiguration?: TemplateConfiguration; /** - *

                                                        A map of key-value pairs, where each key is an endpoint ID and each value is an EndpointSendConfiguration object. You can use an EndpointSendConfiguration object to tailor the message for an endpoint by specifying settings such as content overrides and message variables.

                                                        + *

                                                        A map of custom attributes to attach to the message. For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

                                                        */ - Endpoints?: { [key: string]: EndpointSendConfiguration }; + Context?: { [key: string]: string }; /** - *

                                                        A map of key-value pairs, where each key is an address and each value is an AddressConfiguration object. An address can be a push notification token, a phone number, or an email address. You can use an AddressConfiguration object to tailor the message for an address by specifying settings such as content overrides and message variables.

                                                        + *

                                                        A map of key-value pairs, where each key is an endpoint ID and each value is an EndpointSendConfiguration object. You can use an EndpointSendConfiguration object to tailor the message for an endpoint by specifying settings such as content overrides and message variables.

                                                        */ - Addresses?: { [key: string]: AddressConfiguration }; + Endpoints?: { [key: string]: EndpointSendConfiguration }; /** - *

                                                        A map of custom attributes to attach to the message. For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

                                                        + *

                                                        The unique identifier for tracing the message. This identifier is visible to message recipients.

                                                        */ - Context?: { [key: string]: string }; + TraceId?: string; /** - *

                                                        The message template to use for the message.

                                                        + *

                                                        The settings and content for the default message and any default messages that you defined for specific channels.

                                                        */ - TemplateConfiguration?: TemplateConfiguration; + MessageConfiguration: DirectMessageConfiguration | undefined; } export namespace MessageRequest { @@ -1372,24 +1475,24 @@ export namespace MessageRequest { */ export interface MessageResponse { /** - *

                                                        The unique identifier for the application that was used to send the message.

                                                        + *

                                                        A map that contains a multipart response for each address that the message was sent to. In the map, the endpoint ID is the key and the result is the value.

                                                        */ - ApplicationId: string | undefined; + EndpointResult?: { [key: string]: EndpointMessageResult }; /** - *

                                                        A map that contains a multipart response for each address that the message was sent to. In the map, the endpoint ID is the key and the result is the value.

                                                        + *

                                                        The identifier for the original request that the message was delivered for.

                                                        */ - EndpointResult?: { [key: string]: EndpointMessageResult }; + RequestId?: string; /** - *

                                                        A map that contains a multipart response for each address (email address, phone number, or push notification token) that the message was sent to. In the map, the address is the key and the result is the value.

                                                        + *

                                                        The unique identifier for the application that was used to send the message.

                                                        */ - Result?: { [key: string]: MessageResult }; + ApplicationId: string | undefined; /** - *

                                                        The identifier for the original request that the message was delivered for.

                                                        + *

                                                        A map that contains a multipart response for each address (email address, phone number, or push notification token) that the message was sent to. In the map, the address is the key and the result is the value.

                                                        */ - RequestId?: string; + Result?: { [key: string]: MessageResult }; } export namespace MessageResponse { @@ -1403,14 +1506,14 @@ export namespace MessageResponse { */ export interface NumberValidateRequest { /** - *

                                                        The phone number to retrieve information about. The phone number that you provide should include a valid numeric country code. Otherwise, the operation might result in an error.

                                                        + *

                                                        The two-character code, in ISO 3166-1 alpha-2 format, for the country or region where the phone number was originally registered.

                                                        */ - PhoneNumber?: string; + IsoCountryCode?: string; /** - *

                                                        The two-character code, in ISO 3166-1 alpha-2 format, for the country or region where the phone number was originally registered.

                                                        + *

                                                        The phone number to retrieve information about. The phone number that you provide should include a valid numeric country code. Otherwise, the operation might result in an error.

                                                        */ - IsoCountryCode?: string; + PhoneNumber?: string; } export namespace NumberValidateRequest { @@ -1423,11 +1526,6 @@ export namespace NumberValidateRequest { *

                                                        Provides information about a phone number.

                                                        */ export interface NumberValidateResponse { - /** - *

                                                        The numeric code for the country or region where the phone number was originally registered.

                                                        - */ - CountryCodeNumeric?: string; - /** *

                                                        The cleansed phone number, in E.164 format, for the location where the phone number was originally registered.

                                                        */ @@ -1438,41 +1536,46 @@ export interface NumberValidateResponse { */ Carrier?: string; + /** + *

                                                        The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP, + * INVALID, PREPAID, and OTHER.

                                                        + */ + PhoneType?: string; + /** *

                                                        The phone number that was sent in the request body.

                                                        */ OriginalPhoneNumber?: string; /** - *

                                                        The postal or ZIP code for the location where the phone number was originally registered.

                                                        + *

                                                        The two-character code, in ISO 3166-1 alpha-2 format, for the country or region where the phone number was originally registered.

                                                        */ - ZipCode?: string; + CountryCodeIso2?: string; /** - *

                                                        The name of the county where the phone number was originally registered.

                                                        + *

                                                        The cleansed phone number, in the format for the location where the phone number was originally registered.

                                                        */ - County?: string; + CleansedPhoneNumberNational?: string; /** - *

                                                        The time zone for the location where the phone number was originally registered.

                                                        + *

                                                        The numeric code for the country or region where the phone number was originally registered.

                                                        */ - Timezone?: string; + CountryCodeNumeric?: string; /** - *

                                                        The two-character code, in ISO 3166-1 alpha-2 format, for the country or region where the phone number was originally registered.

                                                        + *

                                                        The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the request body.

                                                        */ - CountryCodeIso2?: string; + OriginalCountryCodeIso2?: string; /** - *

                                                        The cleansed phone number, in the format for the location where the phone number was originally registered.

                                                        + *

                                                        The postal or ZIP code for the location where the phone number was originally registered.

                                                        */ - CleansedPhoneNumberNational?: string; + ZipCode?: string; /** - *

                                                        The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP, - * INVALID, PREPAID, and OTHER.

                                                        + *

                                                        The name of the country or region where the phone number was originally registered.

                                                        */ - PhoneType?: string; + Country?: string; /** *

                                                        The name of the city where the phone number was originally registered.

                                                        @@ -1480,19 +1583,19 @@ export interface NumberValidateResponse { City?: string; /** - *

                                                        The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the request body.

                                                        + *

                                                        The phone type, represented by an integer. Valid values are: 0 (mobile), 1 (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid).

                                                        */ - OriginalCountryCodeIso2?: string; + PhoneTypeCode?: number; /** - *

                                                        The phone type, represented by an integer. Valid values are: 0 (mobile), 1 (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid).

                                                        + *

                                                        The time zone for the location where the phone number was originally registered.

                                                        */ - PhoneTypeCode?: number; + Timezone?: string; /** - *

                                                        The name of the country or region where the phone number was originally registered.

                                                        + *

                                                        The name of the county where the phone number was originally registered.

                                                        */ - Country?: string; + County?: string; } export namespace NumberValidateResponse { @@ -1529,14 +1632,14 @@ export namespace PhoneNumberValidateResponse { export interface PutEventsRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies a batch of events to process.

                                                        */ - ApplicationId: string | undefined; + EventsRequest: EventsRequest | undefined; /** - *

                                                        Specifies a batch of events to process.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - EventsRequest: EventsRequest | undefined; + ApplicationId: string | undefined; } export namespace PutEventsRequest { @@ -1583,14 +1686,14 @@ export namespace WriteEventStream { export interface PutEventStreamRequest { /** - *

                                                        Specifies the Amazon Resource Name (ARN) of an event stream to publish events to and the AWS Identity and Access Management (IAM) role to use when publishing those events.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - WriteEventStream: WriteEventStream | undefined; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies the Amazon Resource Name (ARN) of an event stream to publish events to and the AWS Identity and Access Management (IAM) role to use when publishing those events.

                                                        */ - ApplicationId: string | undefined; + WriteEventStream: WriteEventStream | undefined; } export namespace PutEventStreamRequest { @@ -1630,14 +1733,14 @@ export namespace UpdateAttributesRequest { export interface RemoveAttributesRequest { /** - *

                                                        The type of attribute or attributes to remove. Valid values are:

                                                        • endpoint-custom-attributes - Custom attributes that describe endpoints, such as the date when an associated user opted in or out of receiving communications from you through a specific type of channel.

                                                        • endpoint-metric-attributes - Custom metrics that your app reports to Amazon Pinpoint for endpoints, such as the number of app sessions or the number of items left in a cart.

                                                        • endpoint-user-attributes - Custom attributes that describe users, such as first name, last name, and age.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - AttributeType: string | undefined; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The type of attribute or attributes to remove. Valid values are:

                                                        • endpoint-custom-attributes - Custom attributes that describe endpoints, such as the date when an associated user opted in or out of receiving communications from you through a specific type of channel.

                                                        • endpoint-metric-attributes - Custom metrics that your app reports to Amazon Pinpoint for endpoints, such as the number of app sessions or the number of items left in a cart.

                                                        • endpoint-user-attributes - Custom attributes that describe users, such as first name, last name, and age.

                                                        */ - ApplicationId: string | undefined; + AttributeType: string | undefined; /** *

                                                        Specifies one or more attributes to remove from all the endpoints that are associated with an application.

                                                        @@ -1666,14 +1769,14 @@ export namespace RemoveAttributesResponse { export interface SendMessagesRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies the configuration and other settings for a message.

                                                        */ - ApplicationId: string | undefined; + MessageRequest: MessageRequest | undefined; /** - *

                                                        Specifies the configuration and other settings for a message.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - MessageRequest: MessageRequest | undefined; + ApplicationId: string | undefined; } export namespace SendMessagesRequest { @@ -1699,15 +1802,20 @@ export namespace SendMessagesResponse { *

                                                        Specifies the configuration and other settings for a message to send to all the endpoints that are associated with a list of users.

                                                        */ export interface SendUsersMessageRequest { + /** + *

                                                        A map that associates user IDs with EndpointSendConfiguration objects. You can use an EndpointSendConfiguration object to tailor the message for a user by specifying settings such as content overrides and message variables.

                                                        + */ + Users: { [key: string]: EndpointSendConfiguration } | undefined; + /** *

                                                        The settings and content for the default message and any default messages that you defined for specific channels.

                                                        */ MessageConfiguration: DirectMessageConfiguration | undefined; /** - *

                                                        A map that associates user IDs with EndpointSendConfiguration objects. You can use an EndpointSendConfiguration object to tailor the message for a user by specifying settings such as content overrides and message variables.

                                                        + *

                                                        The unique identifier for tracing the message. This identifier is visible to message recipients.

                                                        */ - Users: { [key: string]: EndpointSendConfiguration } | undefined; + TraceId?: string; /** *

                                                        A map of custom attribute-value pairs. For a push notification, Amazon Pinpoint adds these attributes to the data.pinpoint object in the body of the notification payload. Amazon Pinpoint also provides these attributes in the events that it generates for users-messages deliveries.

                                                        @@ -1718,11 +1826,6 @@ export interface SendUsersMessageRequest { *

                                                        The message template to use for the message.

                                                        */ TemplateConfiguration?: TemplateConfiguration; - - /** - *

                                                        The unique identifier for tracing the message. This identifier is visible to message recipients.

                                                        - */ - TraceId?: string; } export namespace SendUsersMessageRequest { @@ -1733,14 +1836,14 @@ export namespace SendUsersMessageRequest { export interface SendUsersMessagesRequest { /** - *

                                                        Specifies the configuration and other settings for a message to send to all the endpoints that are associated with a list of users.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - SendUsersMessageRequest: SendUsersMessageRequest | undefined; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies the configuration and other settings for a message to send to all the endpoints that are associated with a list of users.

                                                        */ - ApplicationId: string | undefined; + SendUsersMessageRequest: SendUsersMessageRequest | undefined; } export namespace SendUsersMessagesRequest { @@ -1754,14 +1857,14 @@ export namespace SendUsersMessagesRequest { */ export interface SendUsersMessageResponse { /** - *

                                                        An object that indicates which endpoints the message was sent to, for each user. The object lists user IDs and, for each user ID, provides the endpoint IDs that the message was sent to. For each endpoint ID, it provides an EndpointMessageResult object.

                                                        + *

                                                        The unique identifier that was assigned to the message request.

                                                        */ - Result?: { [key: string]: { [key: string]: EndpointMessageResult } }; + RequestId?: string; /** - *

                                                        The unique identifier that was assigned to the message request.

                                                        + *

                                                        An object that indicates which endpoints the message was sent to, for each user. The object lists user IDs and, for each user ID, provides the endpoint IDs that the message was sent to. For each endpoint ID, it provides an EndpointMessageResult object.

                                                        */ - RequestId?: string; + Result?: { [key: string]: { [key: string]: EndpointMessageResult } }; /** *

                                                        The unique identifier for the application that was used to send the message.

                                                        @@ -1790,14 +1893,14 @@ export namespace SendUsersMessagesResponse { export interface TagResourceRequest { /** - *

                                                        Specifies the tags (keys and values) for an application, campaign, message template, or segment.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the resource.

                                                        */ - TagsModel: TagsModel | undefined; + ResourceArn: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the resource.

                                                        + *

                                                        Specifies the tags (keys and values) for an application, campaign, message template, or segment.

                                                        */ - ResourceArn: string | undefined; + TagsModel: TagsModel | undefined; } export namespace TagResourceRequest { @@ -1919,14 +2022,14 @@ export namespace UpdateApnsSandboxChannelResponse { export interface UpdateApnsVoipChannelRequest { /** - *

                                                        Specifies the status and settings of the APNs (Apple Push Notification service) VoIP channel for an application.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - APNSVoipChannelRequest: APNSVoipChannelRequest | undefined; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies the status and settings of the APNs (Apple Push Notification service) VoIP channel for an application.

                                                        */ - ApplicationId: string | undefined; + APNSVoipChannelRequest: APNSVoipChannelRequest | undefined; } export namespace UpdateApnsVoipChannelRequest { @@ -1988,13 +2091,14 @@ export interface WriteApplicationSettingsRequest { */ CampaignHook?: CampaignHook; + EventTaggingEnabled?: boolean; /** - *

                                                        The default sending limits for campaigns and journeys in the application. To override these limits and define custom limits for a specific campaign or journey, use the Campaign resource or the Journey resource, respectively.

                                                        + *

                                                        The default sending limits for campaigns in the application. To override these limits and define custom limits for a specific campaign or journey, use the Campaign resource or the Journey resource, respectively.

                                                        */ Limits?: CampaignLimits; /** - *

                                                        The default quiet time for campaigns and journeys in the application. Quiet time is a specific time range when messages aren't sent to endpoints, if all the following conditions are met:

                                                        • The EndpointDemographic.Timezone property of the endpoint is set to a valid value.

                                                        • The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the application (or a campaign or journey that has custom quiet time settings).

                                                        • The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the application (or a campaign or journey that has custom quiet time settings).

                                                        If any of the preceding conditions isn't met, the endpoint will receive messages from a campaign or journey, even if quiet time is enabled.

                                                        To override the default quiet time settings for a specific campaign or journey, use the Campaign resource or the Journey resource to define a custom quiet time for the campaign or journey.

                                                        + *

                                                        The default quiet time for campaigns in the application. Quiet time is a specific time range when messages aren't sent to endpoints, if all the following conditions are met:

                                                        • The EndpointDemographic.Timezone property of the endpoint is set to a valid value.

                                                        • The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the application (or a campaign or journey that has custom quiet time settings).

                                                        • The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the application (or a campaign or journey that has custom quiet time settings).

                                                        If any of the preceding conditions isn't met, the endpoint will receive messages from a campaign or journey, even if quiet time is enabled.

                                                        To override the default quiet time settings for a specific campaign or journey, use the Campaign resource or the Journey resource to define a custom quiet time for the campaign or journey.

                                                        */ QuietTime?: QuietTime; @@ -2043,14 +2147,14 @@ export namespace UpdateApplicationSettingsResponse { export interface UpdateBaiduChannelRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies the status and settings of the Baidu (Baidu Cloud Push) channel for an application.

                                                        */ - ApplicationId: string | undefined; + BaiduChannelRequest: BaiduChannelRequest | undefined; /** - *

                                                        Specifies the status and settings of the Baidu (Baidu Cloud Push) channel for an application.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - BaiduChannelRequest: BaiduChannelRequest | undefined; + ApplicationId: string | undefined; } export namespace UpdateBaiduChannelRequest { @@ -2074,14 +2178,14 @@ export namespace UpdateBaiduChannelResponse { export interface UpdateCampaignRequest { /** - *

                                                        The unique identifier for the campaign.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - CampaignId: string | undefined; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        The unique identifier for the campaign.

                                                        */ - ApplicationId: string | undefined; + CampaignId: string | undefined; /** *

                                                        Specifies the configuration and other settings for a campaign.

                                                        @@ -2141,9 +2245,9 @@ export namespace UpdateEmailChannelResponse { export interface UpdateEmailTemplateRequest { /** - *

                                                        Specifies the content and settings for a message template that can be used in messages that are sent through the email channel.

                                                        + *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        */ - EmailTemplateRequest: EmailTemplateRequest | undefined; + Version?: string; /** *

                                                        Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.

                                                        @@ -2151,14 +2255,14 @@ export interface UpdateEmailTemplateRequest { CreateNewVersion?: boolean; /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        Specifies the content and settings for a message template that can be used in messages that are sent through the email channel.

                                                        */ - TemplateName: string | undefined; + EmailTemplateRequest: EmailTemplateRequest | undefined; /** - *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - Version?: string; + TemplateName: string | undefined; } export namespace UpdateEmailTemplateRequest { @@ -2187,14 +2291,14 @@ export interface UpdateEndpointRequest { ApplicationId: string | undefined; /** - *

                                                        Specifies the channel type and other settings for an endpoint.

                                                        + *

                                                        The unique identifier for the endpoint.

                                                        */ - EndpointRequest: EndpointRequest | undefined; + EndpointId: string | undefined; /** - *

                                                        The unique identifier for the endpoint.

                                                        + *

                                                        Specifies the channel type and other settings for an endpoint.

                                                        */ - EndpointId: string | undefined; + EndpointRequest: EndpointRequest | undefined; } export namespace UpdateEndpointRequest { @@ -2218,14 +2322,14 @@ export namespace UpdateEndpointResponse { export interface UpdateEndpointsBatchRequest { /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies a batch of endpoints to create or update and the settings and attributes to set or change for each endpoint.

                                                        */ - ApplicationId: string | undefined; + EndpointBatchRequest: EndpointBatchRequest | undefined; /** - *

                                                        Specifies a batch of endpoints to create or update and the settings and attributes to set or change for each endpoint.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - EndpointBatchRequest: EndpointBatchRequest | undefined; + ApplicationId: string | undefined; } export namespace UpdateEndpointsBatchRequest { @@ -2249,14 +2353,14 @@ export namespace UpdateEndpointsBatchResponse { export interface UpdateGcmChannelRequest { /** - *

                                                        Specifies the status and settings of the GCM channel for an application. This channel enables Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - GCMChannelRequest: GCMChannelRequest | undefined; + ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies the status and settings of the GCM channel for an application. This channel enables Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.

                                                        */ - ApplicationId: string | undefined; + GCMChannelRequest: GCMChannelRequest | undefined; } export namespace UpdateGcmChannelRequest { @@ -2280,9 +2384,9 @@ export namespace UpdateGcmChannelResponse { export interface UpdateJourneyRequest { /** - *

                                                        Specifies the configuration and other settings for a journey.

                                                        + *

                                                        The unique identifier for the journey.

                                                        */ - WriteJourneyRequest: WriteJourneyRequest | undefined; + JourneyId: string | undefined; /** *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        @@ -2290,9 +2394,9 @@ export interface UpdateJourneyRequest { ApplicationId: string | undefined; /** - *

                                                        The unique identifier for the journey.

                                                        + *

                                                        Specifies the configuration and other settings for a journey.

                                                        */ - JourneyId: string | undefined; + WriteJourneyRequest: WriteJourneyRequest | undefined; } export namespace UpdateJourneyRequest { @@ -2316,9 +2420,9 @@ export namespace UpdateJourneyResponse { export interface UpdateJourneyStateRequest { /** - *

                                                        The unique identifier for the journey.

                                                        + *

                                                        Changes the status of a journey.

                                                        */ - JourneyId: string | undefined; + JourneyStateRequest: JourneyStateRequest | undefined; /** *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        @@ -2326,9 +2430,9 @@ export interface UpdateJourneyStateRequest { ApplicationId: string | undefined; /** - *

                                                        Changes the status of a journey.

                                                        + *

                                                        The unique identifier for the journey.

                                                        */ - JourneyStateRequest: JourneyStateRequest | undefined; + JourneyId: string | undefined; } export namespace UpdateJourneyStateRequest { @@ -2352,9 +2456,9 @@ export namespace UpdateJourneyStateResponse { export interface UpdatePushTemplateRequest { /** - *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        + *

                                                        Specifies the content and settings for a message template that can be used in messages that are sent through a push notification channel.

                                                        */ - Version?: string; + PushNotificationTemplateRequest: PushNotificationTemplateRequest | undefined; /** *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        @@ -2367,9 +2471,9 @@ export interface UpdatePushTemplateRequest { CreateNewVersion?: boolean; /** - *

                                                        Specifies the content and settings for a message template that can be used in messages that are sent through a push notification channel.

                                                        + *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        */ - PushNotificationTemplateRequest: PushNotificationTemplateRequest | undefined; + Version?: string; } export namespace UpdatePushTemplateRequest { @@ -2396,29 +2500,29 @@ export namespace UpdatePushTemplateResponse { */ export interface UpdateRecommenderConfigurationShape { /** - *

                                                        The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke for additional processing of recommendation data that's retrieved from the recommender model.

                                                        + *

                                                        A map of key-value pairs that defines 1-10 custom endpoint or user attributes, depending on the value for the RecommendationProviderIdType property. Each of these attributes temporarily stores a recommended item that's retrieved from the recommender model and sent to an AWS Lambda function for additional processing. Each attribute can be used as a message variable in a message template.

                                                        In the map, the key is the name of a custom attribute and the value is a custom display name for that attribute. The display name appears in the Attribute finder of the template editor on the Amazon Pinpoint console. The following restrictions apply to these names:

                                                        • An attribute name must start with a letter or number and it can contain up to 50 characters. The characters can be letters, numbers, underscores (_), or hyphens (-). Attribute names are case sensitive and must be unique.

                                                        • An attribute display name must start with a letter or number and it can contain up to 25 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

                                                        This object is required if the configuration invokes an AWS Lambda function (RecommendationTransformerUri) to process recommendation data. Otherwise, don't include this object in your request.

                                                        */ - RecommendationTransformerUri?: string; + Attributes?: { [key: string]: string }; /** - *

                                                        The number of recommended items to retrieve from the model for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This number determines how many recommended items are available for use in message variables. The minimum value is 1. The maximum value is 5. The default value is 5.

                                                        To use multiple recommended items and custom attributes with message variables, you have to use an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        + *

                                                        The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke for additional processing of recommendation data that's retrieved from the recommender model.

                                                        */ - RecommendationsPerMessage?: number; + RecommendationTransformerUri?: string; /** - *

                                                        A custom display name for the standard endpoint or user attribute (RecommendationItems) that temporarily stores recommended items for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This value is required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        This name appears in the Attribute finder of the template editor on the Amazon Pinpoint console. The name can contain up to 25 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions don't apply to attribute values.

                                                        + *

                                                        The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender model. This value enables the model to use attribute and event data that’s specific to a particular endpoint or user in an Amazon Pinpoint application. Valid values are:

                                                        • PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular endpoint in Amazon Pinpoint. The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the default value.

                                                        • PINPOINT_USER_ID - Associate each user in the model with a particular user and endpoint in Amazon Pinpoint. The data is correlated based on user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint ID. Otherwise, messages won’t be sent to the user's endpoint.

                                                        */ - RecommendationsDisplayName?: string; + RecommendationProviderIdType?: string; /** - *

                                                        A map of key-value pairs that defines 1-10 custom endpoint or user attributes, depending on the value for the RecommendationProviderIdType property. Each of these attributes temporarily stores a recommended item that's retrieved from the recommender model and sent to an AWS Lambda function for additional processing. Each attribute can be used as a message variable in a message template.

                                                        In the map, the key is the name of a custom attribute and the value is a custom display name for that attribute. The display name appears in the Attribute finder of the template editor on the Amazon Pinpoint console. The following restrictions apply to these names:

                                                        • An attribute name must start with a letter or number and it can contain up to 50 characters. The characters can be letters, numbers, underscores (_), or hyphens (-). Attribute names are case sensitive and must be unique.

                                                        • An attribute display name must start with a letter or number and it can contain up to 25 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

                                                        This object is required if the configuration invokes an AWS Lambda function (RecommendationTransformerUri) to process recommendation data. Otherwise, don't include this object in your request.

                                                        + *

                                                        A custom name of the configuration for the recommender model. The name must start with a letter or number and it can contain up to 128 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

                                                        */ - Attributes?: { [key: string]: string }; + Name?: string; /** - *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from the recommender model.

                                                        + *

                                                        The number of recommended items to retrieve from the model for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This number determines how many recommended items are available for use in message variables. The minimum value is 1. The maximum value is 5. The default value is 5.

                                                        To use multiple recommended items and custom attributes with message variables, you have to use an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        */ - RecommendationProviderRoleArn: string | undefined; + RecommendationsPerMessage?: number; /** *

                                                        The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation data from. This value must match the ARN of an Amazon Personalize campaign.

                                                        @@ -2426,19 +2530,19 @@ export interface UpdateRecommenderConfigurationShape { RecommendationProviderUri: string | undefined; /** - *

                                                        A custom description of the configuration for the recommender model. The description can contain up to 128 characters. The characters can be letters, numbers, spaces, or the following symbols: _ ; () , ‐.

                                                        + *

                                                        A custom display name for the standard endpoint or user attribute (RecommendationItems) that temporarily stores recommended items for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This value is required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

                                                        This name appears in the Attribute finder of the template editor on the Amazon Pinpoint console. The name can contain up to 25 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions don't apply to attribute values.

                                                        */ - Description?: string; + RecommendationsDisplayName?: string; /** - *

                                                        The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender model. This value enables the model to use attribute and event data that’s specific to a particular endpoint or user in an Amazon Pinpoint application. Valid values are:

                                                        • PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular endpoint in Amazon Pinpoint. The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the default value.

                                                        • PINPOINT_USER_ID - Associate each user in the model with a particular user and endpoint in Amazon Pinpoint. The data is correlated based on user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint ID. Otherwise, messages won’t be sent to the user's endpoint.

                                                        + *

                                                        A custom description of the configuration for the recommender model. The description can contain up to 128 characters. The characters can be letters, numbers, spaces, or the following symbols: _ ; () , ‐.

                                                        */ - RecommendationProviderIdType?: string; + Description?: string; /** - *

                                                        A custom name of the configuration for the recommender model. The name must start with a letter or number and it can contain up to 128 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

                                                        + *

                                                        The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from the recommender model.

                                                        */ - Name?: string; + RecommendationProviderRoleArn: string | undefined; } export namespace UpdateRecommenderConfigurationShape { @@ -2449,14 +2553,14 @@ export namespace UpdateRecommenderConfigurationShape { export interface UpdateRecommenderConfigurationRequest { /** - *

                                                        Specifies Amazon Pinpoint configuration settings for retrieving and processing recommendation data from a recommender model.

                                                        + *

                                                        The unique identifier for the recommender model configuration. This identifier is displayed as the Recommender ID on the Amazon Pinpoint console.

                                                        */ - UpdateRecommenderConfiguration: UpdateRecommenderConfigurationShape | undefined; + RecommenderId: string | undefined; /** - *

                                                        The unique identifier for the recommender model configuration. This identifier is displayed as the Recommender ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies Amazon Pinpoint configuration settings for retrieving and processing recommendation data from a recommender model.

                                                        */ - RecommenderId: string | undefined; + UpdateRecommenderConfiguration: UpdateRecommenderConfigurationShape | undefined; } export namespace UpdateRecommenderConfigurationRequest { @@ -2485,14 +2589,14 @@ export interface UpdateSegmentRequest { SegmentId: string | undefined; /** - *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        + *

                                                        Specifies the configuration, dimension, and other settings for a segment. A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups object, but not both.

                                                        */ - ApplicationId: string | undefined; + WriteSegmentRequest: WriteSegmentRequest | undefined; /** - *

                                                        Specifies the configuration, dimension, and other settings for a segment. A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups object, but not both.

                                                        + *

                                                        The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

                                                        */ - WriteSegmentRequest: WriteSegmentRequest | undefined; + ApplicationId: string | undefined; } export namespace UpdateSegmentRequest { @@ -2518,6 +2622,11 @@ export namespace UpdateSegmentResponse { *

                                                        Specifies the status and settings of the SMS channel for an application.

                                                        */ export interface SMSChannelRequest { + /** + *

                                                        The registered short code that you want to use when you send messages through the SMS channel.

                                                        + */ + ShortCode?: string; + /** *

                                                        Specifies whether to enable the SMS channel for the application.

                                                        */ @@ -2527,11 +2636,6 @@ export interface SMSChannelRequest { *

                                                        The identity that you want to display on recipients' devices when they receive messages from the SMS channel.

                                                        */ SenderId?: string; - - /** - *

                                                        The registered short code that you want to use when you send messages through the SMS channel.

                                                        - */ - ShortCode?: string; } export namespace SMSChannelRequest { @@ -2583,14 +2687,14 @@ export interface UpdateSmsTemplateRequest { TemplateName: string | undefined; /** - *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        + *

                                                        Specifies the content and settings for a message template that can be used in text messages that are sent through the SMS channel.

                                                        */ - Version?: string; + SMSTemplateRequest: SMSTemplateRequest | undefined; /** - *

                                                        Specifies the content and settings for a message template that can be used in text messages that are sent through the SMS channel.

                                                        + *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        */ - SMSTemplateRequest: SMSTemplateRequest | undefined; + Version?: string; } export namespace UpdateSmsTemplateRequest { @@ -2635,14 +2739,14 @@ export interface UpdateTemplateActiveVersionRequest { TemplateType: string | undefined; /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        Specifies which version of a message template to use as the active version of the template.

                                                        */ - TemplateName: string | undefined; + TemplateActiveVersionRequest: TemplateActiveVersionRequest | undefined; /** - *

                                                        Specifies which version of a message template to use as the active version of the template.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - TemplateActiveVersionRequest: TemplateActiveVersionRequest | undefined; + TemplateName: string | undefined; } export namespace UpdateTemplateActiveVersionRequest { @@ -2713,24 +2817,24 @@ export namespace UpdateVoiceChannelResponse { export interface UpdateVoiceTemplateRequest { /** - *

                                                        Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.

                                                        + *

                                                        Specifies the content and settings for a message template that can be used in messages that are sent through the voice channel.

                                                        */ - CreateNewVersion?: boolean; + VoiceTemplateRequest: VoiceTemplateRequest | undefined; /** - *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        + *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        */ - TemplateName: string | undefined; + Version?: string; /** - *

                                                        The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

                                                        If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint does the following:

                                                        • For a get operation, retrieves information about the active version of the template.

                                                        • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

                                                        • For a delete operation, deletes the template, including all versions of the template.

                                                        + *

                                                        The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

                                                        */ - Version?: string; + TemplateName: string | undefined; /** - *

                                                        Specifies the content and settings for a message template that can be used in messages that are sent through the voice channel.

                                                        + *

                                                        Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template.

                                                        If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.

                                                        */ - VoiceTemplateRequest: VoiceTemplateRequest | undefined; + CreateNewVersion?: boolean; } export namespace UpdateVoiceTemplateRequest { diff --git a/clients/client-pinpoint/protocols/Aws_restJson1.ts b/clients/client-pinpoint/protocols/Aws_restJson1.ts index dc76694f7b4a..9617b2802d20 100644 --- a/clients/client-pinpoint/protocols/Aws_restJson1.ts +++ b/clients/client-pinpoint/protocols/Aws_restJson1.ts @@ -262,6 +262,7 @@ import { ChannelsResponse, Condition, ConditionalSplitActivity, + ConflictException, CreateApplicationRequest, CreateRecommenderConfigurationShape, CreateTemplateMessageBody, @@ -291,7 +292,9 @@ import { Event, EventCondition, EventDimensions, + EventFilter, EventItemResponse, + EventStartCondition, EventStream, EventsBatch, EventsRequest, @@ -314,7 +317,6 @@ import { InternalServerErrorException, ItemResponse, JourneyCustomMessage, - JourneyDateRangeKpiResponse, JourneyEmailMessage, JourneyLimits, JourneyPushMessage, @@ -378,6 +380,7 @@ import { __EndpointTypesElement, } from "../models/models_0"; import { + JourneyDateRangeKpiResponse, JourneyExecutionActivityMetricsResponse, JourneyExecutionMetricsResponse, JourneyStateRequest, @@ -1129,15 +1132,6 @@ export const serializeAws_restJson1DeleteEndpointCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/endpoints/{EndpointId}"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.EndpointId !== undefined) { const labelValue: string = input.EndpointId; if (labelValue.length <= 0) { @@ -1147,6 +1141,15 @@ export const serializeAws_restJson1DeleteEndpointCommand = async ( } else { throw new Error("No value provided for input HTTP label: EndpointId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1331,15 +1334,6 @@ export const serializeAws_restJson1DeleteSegmentCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/segments/{SegmentId}"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.SegmentId !== undefined) { const labelValue: string = input.SegmentId; if (labelValue.length <= 0) { @@ -1349,6 +1343,15 @@ export const serializeAws_restJson1DeleteSegmentCommand = async ( } else { throw new Error("No value provided for input HTTP label: SegmentId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1717,15 +1720,6 @@ export const serializeAws_restJson1GetApplicationDateRangeKpiCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/kpis/daterange/{KpiName}"; - if (input.KpiName !== undefined) { - const labelValue: string = input.KpiName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: KpiName."); - } - resolvedPath = resolvedPath.replace("{KpiName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: KpiName."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -1735,12 +1729,21 @@ export const serializeAws_restJson1GetApplicationDateRangeKpiCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.KpiName !== undefined) { + const labelValue: string = input.KpiName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: KpiName."); + } + resolvedPath = resolvedPath.replace("{KpiName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: KpiName."); + } const query: any = { + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), + ...(input.EndTime !== undefined && { "end-time": (input.EndTime.toISOString().split(".")[0] + "Z").toString() }), ...(input.StartTime !== undefined && { "start-time": (input.StartTime.toISOString().split(".")[0] + "Z").toString(), }), - ...(input.EndTime !== undefined && { "end-time": (input.EndTime.toISOString().split(".")[0] + "Z").toString() }), - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; @@ -1909,8 +1912,8 @@ export const serializeAws_restJson1GetCampaignActivitiesCommand = async ( throw new Error("No value provided for input HTTP label: CampaignId."); } const query: any = { - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.Token !== undefined && { token: input.Token }), + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1934,14 +1937,14 @@ export const serializeAws_restJson1GetCampaignDateRangeKpiCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/campaigns/{CampaignId}/kpis/daterange/{KpiName}"; - if (input.KpiName !== undefined) { - const labelValue: string = input.KpiName; + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: KpiName."); + throw new Error("Empty value provided for input HTTP label: ApplicationId."); } - resolvedPath = resolvedPath.replace("{KpiName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: KpiName."); + throw new Error("No value provided for input HTTP label: ApplicationId."); } if (input.CampaignId !== undefined) { const labelValue: string = input.CampaignId; @@ -1952,14 +1955,14 @@ export const serializeAws_restJson1GetCampaignDateRangeKpiCommand = async ( } else { throw new Error("No value provided for input HTTP label: CampaignId."); } - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; + if (input.KpiName !== undefined) { + const labelValue: string = input.KpiName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); + throw new Error("Empty value provided for input HTTP label: KpiName."); } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{KpiName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); + throw new Error("No value provided for input HTTP label: KpiName."); } const query: any = { ...(input.NextToken !== undefined && { "next-token": input.NextToken }), @@ -2035,15 +2038,6 @@ export const serializeAws_restJson1GetCampaignVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } - if (input.Version !== undefined) { - const labelValue: string = input.Version; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Version."); - } - resolvedPath = resolvedPath.replace("{Version}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Version."); - } if (input.CampaignId !== undefined) { const labelValue: string = input.CampaignId; if (labelValue.length <= 0) { @@ -2053,6 +2047,15 @@ export const serializeAws_restJson1GetCampaignVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: CampaignId."); } + if (input.Version !== undefined) { + const labelValue: string = input.Version; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Version."); + } + resolvedPath = resolvedPath.replace("{Version}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Version."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2074,15 +2077,6 @@ export const serializeAws_restJson1GetCampaignVersionsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/campaigns/{CampaignId}/versions"; - if (input.CampaignId !== undefined) { - const labelValue: string = input.CampaignId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: CampaignId."); - } - resolvedPath = resolvedPath.replace("{CampaignId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: CampaignId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -2092,6 +2086,15 @@ export const serializeAws_restJson1GetCampaignVersionsCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.CampaignId !== undefined) { + const labelValue: string = input.CampaignId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: CampaignId."); + } + resolvedPath = resolvedPath.replace("{CampaignId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: CampaignId."); + } const query: any = { ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.Token !== undefined && { token: input.Token }), @@ -2212,15 +2215,6 @@ export const serializeAws_restJson1GetEndpointCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/endpoints/{EndpointId}"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.EndpointId !== undefined) { const labelValue: string = input.EndpointId; if (labelValue.length <= 0) { @@ -2230,6 +2224,15 @@ export const serializeAws_restJson1GetEndpointCommand = async ( } else { throw new Error("No value provided for input HTTP label: EndpointId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2330,8 +2333,8 @@ export const serializeAws_restJson1GetExportJobsCommand = async ( throw new Error("No value provided for input HTTP label: ApplicationId."); } const query: any = { - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.Token !== undefined && { token: input.Token }), + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2385,15 +2388,6 @@ export const serializeAws_restJson1GetImportJobCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/jobs/import/{JobId}"; - if (input.JobId !== undefined) { - const labelValue: string = input.JobId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: JobId."); - } - resolvedPath = resolvedPath.replace("{JobId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: JobId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -2403,6 +2397,15 @@ export const serializeAws_restJson1GetImportJobCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.JobId !== undefined) { + const labelValue: string = input.JobId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: JobId."); + } + resolvedPath = resolvedPath.replace("{JobId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: JobId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2498,6 +2501,15 @@ export const serializeAws_restJson1GetJourneyDateRangeKpiCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/journeys/{JourneyId}/kpis/daterange/{KpiName}"; + if (input.KpiName !== undefined) { + const labelValue: string = input.KpiName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: KpiName."); + } + resolvedPath = resolvedPath.replace("{KpiName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: KpiName."); + } if (input.JourneyId !== undefined) { const labelValue: string = input.JourneyId; if (labelValue.length <= 0) { @@ -2516,18 +2528,9 @@ export const serializeAws_restJson1GetJourneyDateRangeKpiCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } - if (input.KpiName !== undefined) { - const labelValue: string = input.KpiName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: KpiName."); - } - resolvedPath = resolvedPath.replace("{KpiName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: KpiName."); - } const query: any = { - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.EndTime !== undefined && { "end-time": (input.EndTime.toISOString().split(".")[0] + "Z").toString() }), + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.StartTime !== undefined && { "start-time": (input.StartTime.toISOString().split(".")[0] + "Z").toString(), }), @@ -2583,8 +2586,8 @@ export const serializeAws_restJson1GetJourneyExecutionActivityMetricsCommand = a throw new Error("No value provided for input HTTP label: ApplicationId."); } const query: any = { - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2608,15 +2611,6 @@ export const serializeAws_restJson1GetJourneyExecutionMetricsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/journeys/{JourneyId}/execution-metrics"; - if (input.JourneyId !== undefined) { - const labelValue: string = input.JourneyId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: JourneyId."); - } - resolvedPath = resolvedPath.replace("{JourneyId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: JourneyId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -2626,9 +2620,18 @@ export const serializeAws_restJson1GetJourneyExecutionMetricsCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.JourneyId !== undefined) { + const labelValue: string = input.JourneyId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: JourneyId."); + } + resolvedPath = resolvedPath.replace("{JourneyId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: JourneyId."); + } const query: any = { - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2717,8 +2720,8 @@ export const serializeAws_restJson1GetRecommenderConfigurationsCommand = async ( }; let resolvedPath = "/v1/recommenders"; const query: any = { - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.Token !== undefined && { token: input.Token }), + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2742,15 +2745,6 @@ export const serializeAws_restJson1GetSegmentCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/segments/{SegmentId}"; - if (input.SegmentId !== undefined) { - const labelValue: string = input.SegmentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SegmentId."); - } - resolvedPath = resolvedPath.replace("{SegmentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: SegmentId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -2760,6 +2754,15 @@ export const serializeAws_restJson1GetSegmentCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.SegmentId !== undefined) { + const labelValue: string = input.SegmentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SegmentId."); + } + resolvedPath = resolvedPath.replace("{SegmentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SegmentId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2781,15 +2784,6 @@ export const serializeAws_restJson1GetSegmentExportJobsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/segments/{SegmentId}/jobs/export"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.SegmentId !== undefined) { const labelValue: string = input.SegmentId; if (labelValue.length <= 0) { @@ -2799,9 +2793,18 @@ export const serializeAws_restJson1GetSegmentExportJobsCommand = async ( } else { throw new Error("No value provided for input HTTP label: SegmentId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } const query: any = { - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.Token !== undefined && { token: input.Token }), + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2825,15 +2828,6 @@ export const serializeAws_restJson1GetSegmentImportJobsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/segments/{SegmentId}/jobs/import"; - if (input.SegmentId !== undefined) { - const labelValue: string = input.SegmentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SegmentId."); - } - resolvedPath = resolvedPath.replace("{SegmentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: SegmentId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -2843,9 +2837,18 @@ export const serializeAws_restJson1GetSegmentImportJobsCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.SegmentId !== undefined) { + const labelValue: string = input.SegmentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SegmentId."); + } + resolvedPath = resolvedPath.replace("{SegmentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SegmentId."); + } const query: any = { - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.Token !== undefined && { token: input.Token }), + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2879,8 +2882,8 @@ export const serializeAws_restJson1GetSegmentsCommand = async ( throw new Error("No value provided for input HTTP label: ApplicationId."); } const query: any = { - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.Token !== undefined && { token: input.Token }), + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2904,14 +2907,14 @@ export const serializeAws_restJson1GetSegmentVersionCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/segments/{SegmentId}/versions/{Version}"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; + if (input.Version !== undefined) { + const labelValue: string = input.Version; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); + throw new Error("Empty value provided for input HTTP label: Version."); } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{Version}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); + throw new Error("No value provided for input HTTP label: Version."); } if (input.SegmentId !== undefined) { const labelValue: string = input.SegmentId; @@ -2922,14 +2925,14 @@ export const serializeAws_restJson1GetSegmentVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: SegmentId."); } - if (input.Version !== undefined) { - const labelValue: string = input.Version; + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Version."); + throw new Error("Empty value provided for input HTTP label: ApplicationId."); } - resolvedPath = resolvedPath.replace("{Version}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: Version."); + throw new Error("No value provided for input HTTP label: ApplicationId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2952,15 +2955,6 @@ export const serializeAws_restJson1GetSegmentVersionsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/segments/{SegmentId}/versions"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.SegmentId !== undefined) { const labelValue: string = input.SegmentId; if (labelValue.length <= 0) { @@ -2970,9 +2964,18 @@ export const serializeAws_restJson1GetSegmentVersionsCommand = async ( } else { throw new Error("No value provided for input HTTP label: SegmentId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } const query: any = { - ...(input.Token !== undefined && { token: input.Token }), ...(input.PageSize !== undefined && { "page-size": input.PageSize }), + ...(input.Token !== undefined && { token: input.Token }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3060,15 +3063,6 @@ export const serializeAws_restJson1GetUserEndpointsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/apps/{ApplicationId}/users/{UserId}"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.UserId !== undefined) { const labelValue: string = input.UserId; if (labelValue.length <= 0) { @@ -3078,6 +3072,15 @@ export const serializeAws_restJson1GetUserEndpointsCommand = async ( } else { throw new Error("No value provided for input HTTP label: UserId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3173,8 +3176,8 @@ export const serializeAws_restJson1ListJourneysCommand = async ( throw new Error("No value provided for input HTTP label: ApplicationId."); } const query: any = { - ...(input.PageSize !== undefined && { "page-size": input.PageSize }), ...(input.Token !== undefined && { token: input.Token }), + ...(input.PageSize !== undefined && { "page-size": input.PageSize }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3229,10 +3232,10 @@ export const serializeAws_restJson1ListTemplatesCommand = async ( }; let resolvedPath = "/v1/templates"; const query: any = { - ...(input.Prefix !== undefined && { prefix: input.Prefix }), ...(input.NextToken !== undefined && { "next-token": input.NextToken }), ...(input.TemplateType !== undefined && { "template-type": input.TemplateType }), ...(input.PageSize !== undefined && { "page-size": input.PageSize }), + ...(input.Prefix !== undefined && { prefix: input.Prefix }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3256,15 +3259,6 @@ export const serializeAws_restJson1ListTemplateVersionsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/templates/{TemplateName}/{TemplateType}/versions"; - if (input.TemplateType !== undefined) { - const labelValue: string = input.TemplateType; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: TemplateType."); - } - resolvedPath = resolvedPath.replace("{TemplateType}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: TemplateType."); - } if (input.TemplateName !== undefined) { const labelValue: string = input.TemplateName; if (labelValue.length <= 0) { @@ -3274,9 +3268,18 @@ export const serializeAws_restJson1ListTemplateVersionsCommand = async ( } else { throw new Error("No value provided for input HTTP label: TemplateName."); } + if (input.TemplateType !== undefined) { + const labelValue: string = input.TemplateType; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: TemplateType."); + } + resolvedPath = resolvedPath.replace("{TemplateType}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: TemplateType."); + } const query: any = { - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), ...(input.PageSize !== undefined && { "page-size": input.PageSize }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3402,15 +3405,6 @@ export const serializeAws_restJson1RemoveAttributesCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v1/apps/{ApplicationId}/attributes/{AttributeType}"; - 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."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -3420,6 +3414,15 @@ export const serializeAws_restJson1RemoveAttributesCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + 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; if (input.UpdateAttributesRequest !== undefined) { body = serializeAws_restJson1UpdateAttributesRequest(input.UpdateAttributesRequest, context); @@ -3852,15 +3855,6 @@ export const serializeAws_restJson1UpdateCampaignCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v1/apps/{ApplicationId}/campaigns/{CampaignId}"; - if (input.CampaignId !== undefined) { - const labelValue: string = input.CampaignId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: CampaignId."); - } - resolvedPath = resolvedPath.replace("{CampaignId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: CampaignId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -3870,6 +3864,15 @@ export const serializeAws_restJson1UpdateCampaignCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.CampaignId !== undefined) { + const labelValue: string = input.CampaignId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: CampaignId."); + } + resolvedPath = resolvedPath.replace("{CampaignId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: CampaignId."); + } let body: any; if (input.WriteCampaignRequest !== undefined) { body = serializeAws_restJson1WriteCampaignRequest(input.WriteCampaignRequest, context); @@ -3945,8 +3948,8 @@ export const serializeAws_restJson1UpdateEmailTemplateCommand = async ( throw new Error("No value provided for input HTTP label: TemplateName."); } const query: any = { - ...(input.CreateNewVersion !== undefined && { "create-new-version": input.CreateNewVersion.toString() }), ...(input.Version !== undefined && { version: input.Version }), + ...(input.CreateNewVersion !== undefined && { "create-new-version": input.CreateNewVersion.toString() }), }; let body: any; if (input.EmailTemplateRequest !== undefined) { @@ -4097,15 +4100,6 @@ export const serializeAws_restJson1UpdateJourneyCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v1/apps/{ApplicationId}/journeys/{JourneyId}"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.JourneyId !== undefined) { const labelValue: string = input.JourneyId; if (labelValue.length <= 0) { @@ -4115,6 +4109,15 @@ export const serializeAws_restJson1UpdateJourneyCommand = async ( } else { throw new Error("No value provided for input HTTP label: JourneyId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } let body: any; if (input.WriteJourneyRequest !== undefined) { body = serializeAws_restJson1WriteJourneyRequest(input.WriteJourneyRequest, context); @@ -4143,15 +4146,6 @@ export const serializeAws_restJson1UpdateJourneyStateCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v1/apps/{ApplicationId}/journeys/{JourneyId}/state"; - if (input.JourneyId !== undefined) { - const labelValue: string = input.JourneyId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: JourneyId."); - } - resolvedPath = resolvedPath.replace("{JourneyId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: JourneyId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -4161,6 +4155,15 @@ export const serializeAws_restJson1UpdateJourneyStateCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.JourneyId !== undefined) { + const labelValue: string = input.JourneyId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: JourneyId."); + } + resolvedPath = resolvedPath.replace("{JourneyId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: JourneyId."); + } let body: any; if (input.JourneyStateRequest !== undefined) { body = serializeAws_restJson1JourneyStateRequest(input.JourneyStateRequest, context); @@ -4199,8 +4202,8 @@ export const serializeAws_restJson1UpdatePushTemplateCommand = async ( throw new Error("No value provided for input HTTP label: TemplateName."); } const query: any = { - ...(input.Version !== undefined && { version: input.Version }), ...(input.CreateNewVersion !== undefined && { "create-new-version": input.CreateNewVersion.toString() }), + ...(input.Version !== undefined && { version: input.Version }), }; let body: any; if (input.PushNotificationTemplateRequest !== undefined) { @@ -4486,8 +4489,8 @@ export const serializeAws_restJson1UpdateVoiceTemplateCommand = async ( throw new Error("No value provided for input HTTP label: TemplateName."); } const query: any = { - ...(input.CreateNewVersion !== undefined && { "create-new-version": input.CreateNewVersion.toString() }), ...(input.Version !== undefined && { version: input.Version }), + ...(input.CreateNewVersion !== undefined && { "create-new-version": input.CreateNewVersion.toString() }), }; let body: any; if (input.VoiceTemplateRequest !== undefined) { @@ -14602,6 +14605,14 @@ const deserializeAws_restJson1UpdateJourneyCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.pinpoint#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.pinpoint#ForbiddenException": response = { @@ -15597,6 +15608,27 @@ const deserializeAws_restJson1BadRequestExceptionResponse = async ( return contents; }; +const deserializeAws_restJson1ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ConflictException = { + name: "ConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + RequestID: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = data.Message; + } + if (data.RequestID !== undefined && data.RequestID !== null) { + contents.RequestID = data.RequestID; + } + return contents; +}; + const deserializeAws_restJson1ForbiddenExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -16344,6 +16376,15 @@ const serializeAws_restJson1EventDimensions = (input: EventDimensions, context: }; }; +const serializeAws_restJson1EventFilter = (input: EventFilter, context: __SerdeContext): any => { + return { + ...(input.Dimensions !== undefined && { + Dimensions: serializeAws_restJson1EventDimensions(input.Dimensions, context), + }), + ...(input.FilterType !== undefined && { FilterType: input.FilterType }), + }; +}; + const serializeAws_restJson1EventsBatch = (input: EventsBatch, context: __SerdeContext): any => { return { ...(input.Endpoint !== undefined && { Endpoint: serializeAws_restJson1PublicEndpoint(input.Endpoint, context) }), @@ -16359,6 +16400,15 @@ const serializeAws_restJson1EventsRequest = (input: EventsRequest, context: __Se }; }; +const serializeAws_restJson1EventStartCondition = (input: EventStartCondition, context: __SerdeContext): any => { + return { + ...(input.EventFilter !== undefined && { + EventFilter: serializeAws_restJson1EventFilter(input.EventFilter, context), + }), + ...(input.SegmentId !== undefined && { SegmentId: input.SegmentId }), + }; +}; + const serializeAws_restJson1ExportJobRequest = (input: ExportJobRequest, context: __SerdeContext): any => { return { ...(input.RoleArn !== undefined && { RoleArn: input.RoleArn }), @@ -17035,6 +17085,9 @@ const serializeAws_restJson1SMSTemplateRequest = (input: SMSTemplateRequest, con const serializeAws_restJson1StartCondition = (input: StartCondition, context: __SerdeContext): any => { return { ...(input.Description !== undefined && { Description: input.Description }), + ...(input.EventStartCondition !== undefined && { + EventStartCondition: serializeAws_restJson1EventStartCondition(input.EventStartCondition, context), + }), ...(input.SegmentStartCondition !== undefined && { SegmentStartCondition: serializeAws_restJson1SegmentCondition(input.SegmentStartCondition, context), }), @@ -17170,6 +17223,7 @@ const serializeAws_restJson1WriteApplicationSettingsRequest = ( CampaignHook: serializeAws_restJson1CampaignHook(input.CampaignHook, context), }), ...(input.CloudWatchMetricsEnabled !== undefined && { CloudWatchMetricsEnabled: input.CloudWatchMetricsEnabled }), + ...(input.EventTaggingEnabled !== undefined && { EventTaggingEnabled: input.EventTaggingEnabled }), ...(input.Limits !== undefined && { Limits: serializeAws_restJson1CampaignLimits(input.Limits, context) }), ...(input.QuietTime !== undefined && { QuietTime: serializeAws_restJson1QuietTime(input.QuietTime, context) }), }; @@ -18100,6 +18154,16 @@ const deserializeAws_restJson1EventDimensions = (output: any, context: __SerdeCo } as any; }; +const deserializeAws_restJson1EventFilter = (output: any, context: __SerdeContext): EventFilter => { + return { + Dimensions: + output.Dimensions !== undefined && output.Dimensions !== null + ? deserializeAws_restJson1EventDimensions(output.Dimensions, context) + : undefined, + FilterType: output.FilterType !== undefined && output.FilterType !== null ? output.FilterType : undefined, + } as any; +}; + const deserializeAws_restJson1EventItemResponse = (output: any, context: __SerdeContext): EventItemResponse => { return { Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, @@ -18116,6 +18180,16 @@ const deserializeAws_restJson1EventsResponse = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_restJson1EventStartCondition = (output: any, context: __SerdeContext): EventStartCondition => { + return { + EventFilter: + output.EventFilter !== undefined && output.EventFilter !== null + ? deserializeAws_restJson1EventFilter(output.EventFilter, context) + : undefined, + SegmentId: output.SegmentId !== undefined && output.SegmentId !== null ? output.SegmentId : undefined, + } as any; +}; + const deserializeAws_restJson1EventStream = (output: any, context: __SerdeContext): EventStream => { return { ApplicationId: @@ -19365,6 +19439,10 @@ const deserializeAws_restJson1SMSTemplateResponse = (output: any, context: __Ser const deserializeAws_restJson1StartCondition = (output: any, context: __SerdeContext): StartCondition => { return { Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + EventStartCondition: + output.EventStartCondition !== undefined && output.EventStartCondition !== null + ? deserializeAws_restJson1EventStartCondition(output.EventStartCondition, context) + : undefined, SegmentStartCondition: output.SegmentStartCondition !== undefined && output.SegmentStartCondition !== null ? deserializeAws_restJson1SegmentCondition(output.SegmentStartCondition, context) diff --git a/clients/client-polly/models/models_0.ts b/clients/client-polly/models/models_0.ts index 0fbba4b562aa..4cf04644dc26 100644 --- a/clients/client-polly/models/models_0.ts +++ b/clients/client-polly/models/models_0.ts @@ -97,14 +97,16 @@ export type LanguageCode = export interface DescribeVoicesInput { /** - *

                                                        - * - * The language identification tag (ISO 639 code for the language name-ISO 3166 country code) - * for filtering the list of voices returned. - * If you don't specify this optional parameter, all available voices are returned. - *

                                                        + *

                                                        Boolean value indicating whether to return any bilingual voices that use the specified language as an additional language. For instance, if + * you request all languages that use US English (es-US), and there is an Italian voice that speaks both Italian (it-IT) and US English, that voice will + * be included if you specify yes but not if you specify no.

                                                        */ - LanguageCode?: LanguageCode | string; + IncludeAdditionalLanguageCodes?: boolean; + + /** + *

                                                        Specifies the engine (standard or neural) used by Amazon Polly when processing input text for speech synthesis.

                                                        + */ + Engine?: Engine | string; /** *

                                                        An opaque pagination token returned from the previous @@ -114,16 +116,14 @@ export interface DescribeVoicesInput { NextToken?: string; /** - *

                                                        Boolean value indicating whether to return any bilingual voices that use the specified language as an additional language. For instance, if - * you request all languages that use US English (es-US), and there is an Italian voice that speaks both Italian (it-IT) and US English, that voice will - * be included if you specify yes but not if you specify no.

                                                        - */ - IncludeAdditionalLanguageCodes?: boolean; - - /** - *

                                                        Specifies the engine (standard or neural) used by Amazon Polly when processing input text for speech synthesis.

                                                        + *

                                                        + * + * The language identification tag (ISO 639 code for the language name-ISO 3166 country code) + * for filtering the list of voices returned. + * If you don't specify this optional parameter, all available voices are returned. + *

                                                        */ - Engine?: Engine | string; + LanguageCode?: LanguageCode | string; } export namespace DescribeVoicesInput { @@ -201,20 +201,6 @@ export type VoiceId = *

                                                        Description of the voice.

                                                        */ export interface Voice { - /** - *

                                                        Name of the voice (for example, Salli, Kendra, etc.). - * This provides a human readable voice name that you might display - * in your application.

                                                        - */ - Name?: string; - - /** - *

                                                        Additional codes for languages available for the specified voice in addition to its default language.

                                                        - *

                                                        For example, the default language for Aditi is Indian English (en-IN) because it was first used for that language. Since - * Aditi is bilingual and fluent in both Indian English and Hindi, this parameter would show the code hi-IN.

                                                        - */ - AdditionalLanguageCodes?: (LanguageCode | string)[]; - /** *

                                                        Language code of the voice.

                                                        */ @@ -225,6 +211,12 @@ export interface Voice { */ LanguageName?: string; + /** + *

                                                        Amazon Polly assigned voice ID. This is the ID that you specify + * when calling the SynthesizeSpeech operation.

                                                        + */ + Id?: VoiceId | string; + /** *

                                                        Gender of the voice.

                                                        */ @@ -236,10 +228,18 @@ export interface Voice { SupportedEngines?: (Engine | string)[]; /** - *

                                                        Amazon Polly assigned voice ID. This is the ID that you specify - * when calling the SynthesizeSpeech operation.

                                                        + *

                                                        Name of the voice (for example, Salli, Kendra, etc.). + * This provides a human readable voice name that you might display + * in your application.

                                                        */ - Id?: VoiceId | string; + Name?: string; + + /** + *

                                                        Additional codes for languages available for the specified voice in addition to its default language.

                                                        + *

                                                        For example, the default language for Aditi is Indian English (en-IN) because it was first used for that language. Since + * Aditi is bilingual and fluent in both Indian English and Hindi, this parameter would show the code hi-IN.

                                                        + */ + AdditionalLanguageCodes?: (LanguageCode | string)[]; } export namespace Voice { @@ -344,22 +344,12 @@ export namespace Lexicon { * For more information, see Managing Lexicons.

                                                        */ export interface LexiconAttributes { - /** - *

                                                        Date lexicon was last modified (a timestamp value).

                                                        - */ - LastModified?: Date; - /** *

                                                        Phonetic alphabet used in the lexicon. * Valid values are ipa and x-sampa.

                                                        */ Alphabet?: string; - /** - *

                                                        Amazon Resource Name (ARN) of the lexicon.

                                                        - */ - LexiconArn?: string; - /** *

                                                        Language code that the lexicon applies to. * A lexicon with a language code such as "en" would be @@ -368,6 +358,16 @@ export interface LexiconAttributes { */ LanguageCode?: LanguageCode | string; + /** + *

                                                        Date lexicon was last modified (a timestamp value).

                                                        + */ + LastModified?: Date; + + /** + *

                                                        Amazon Resource Name (ARN) of the lexicon.

                                                        + */ + LexiconArn?: string; + /** *

                                                        Total size of the lexicon, in characters.

                                                        */ @@ -450,34 +450,38 @@ export enum TextType { */ export interface SynthesisTask { /** - *

                                                        List of one or more pronunciation lexicon names you want the service - * to apply during synthesis. Lexicons are applied only if the language - * of the lexicon is the same as the language of the voice.

                                                        + *

                                                        Optional language code for a synthesis task. This is only necessary if using a bilingual voice, such as + * Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).

                                                        + *

                                                        If a bilingual voice is used and no language code is specified, Amazon Polly will use the default language + * of the bilingual voice. The default language for any voice is the one returned by the DescribeVoices + * operation for the LanguageCode parameter. For example, if no language code is specified, Aditi will use Indian English rather + * than Hindi.

                                                        */ - LexiconNames?: string[]; + LanguageCode?: LanguageCode | string; /** - *

                                                        Reason for the current status of a specific speech synthesis task, including - * errors if the task has failed.

                                                        + *

                                                        The audio frequency specified in Hz.

                                                        + *

                                                        The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The + * default value for standard voices is "22050". The default value for neural voices is "24000".

                                                        + *

                                                        Valid values for pcm are "8000" and "16000" The default value is "16000".

                                                        */ - TaskStatusReason?: string; + SampleRate?: string; /** - *

                                                        Number of billable characters synthesized.

                                                        + *

                                                        Pathway for the output speech file.

                                                        */ - RequestCharacters?: number; + OutputUri?: string; /** - *

                                                        The format in which the returned output will be encoded. For - * audio stream, this will be mp3, ogg_vorbis, or pcm. For speech - * marks, this will be json.

                                                        + *

                                                        Reason for the current status of a specific speech synthesis task, including + * errors if the task has failed.

                                                        */ - OutputFormat?: OutputFormat | string; + TaskStatusReason?: string; /** - *

                                                        ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.

                                                        + *

                                                        Number of billable characters synthesized.

                                                        */ - SnsTopicArn?: string; + RequestCharacters?: number; /** *

                                                        Current status of the individual speech synthesis task.

                                                        @@ -485,37 +489,39 @@ export interface SynthesisTask { TaskStatus?: TaskStatus | string; /** - *

                                                        Pathway for the output speech file.

                                                        + *

                                                        Specifies whether the input text is plain text or SSML. The default value is plain text.

                                                        */ - OutputUri?: string; + TextType?: TextType | string; /** - *

                                                        Specifies whether the input text is plain text or SSML. The default value is plain text.

                                                        + *

                                                        List of one or more pronunciation lexicon names you want the service + * to apply during synthesis. Lexicons are applied only if the language + * of the lexicon is the same as the language of the voice.

                                                        */ - TextType?: TextType | string; + LexiconNames?: string[]; /** - *

                                                        The type of speech marks returned for the input text.

                                                        + *

                                                        ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.

                                                        */ - SpeechMarkTypes?: (SpeechMarkType | string)[]; + SnsTopicArn?: string; /** - *

                                                        Optional language code for a synthesis task. This is only necessary if using a bilingual voice, such as - * Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).

                                                        - *

                                                        If a bilingual voice is used and no language code is specified, Amazon Polly will use the default language - * of the bilingual voice. The default language for any voice is the one returned by the DescribeVoices - * operation for the LanguageCode parameter. For example, if no language code is specified, Aditi will use Indian English rather - * than Hindi.

                                                        + *

                                                        The format in which the returned output will be encoded. For + * audio stream, this will be mp3, ogg_vorbis, or pcm. For speech + * marks, this will be json.

                                                        */ - LanguageCode?: LanguageCode | string; + OutputFormat?: OutputFormat | string; /** - *

                                                        The audio frequency specified in Hz.

                                                        - *

                                                        The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The - * default value for standard voices is "22050". The default value for neural voices is "24000".

                                                        - *

                                                        Valid values for pcm are "8000" and "16000" The default value is "16000".

                                                        + *

                                                        Timestamp for the time the synthesis task was started.

                                                        */ - SampleRate?: string; + CreationTime?: Date; + + /** + *

                                                        Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine + * selected will result in an error.

                                                        + */ + Engine?: Engine | string; /** *

                                                        Voice ID to use for the synthesis.

                                                        @@ -528,15 +534,9 @@ export interface SynthesisTask { TaskId?: string; /** - *

                                                        Timestamp for the time the synthesis task was started.

                                                        - */ - CreationTime?: Date; - - /** - *

                                                        Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine - * selected will result in an error.

                                                        + *

                                                        The type of speech marks returned for the input text.

                                                        */ - Engine?: Engine | string; + SpeechMarkTypes?: (SpeechMarkType | string)[]; } export namespace SynthesisTask { @@ -704,14 +704,14 @@ export namespace LanguageNotSupportedException { */ export interface LexiconDescription { /** - *

                                                        Name of the lexicon.

                                                        + *

                                                        Provides lexicon metadata.

                                                        */ - Name?: string; + Attributes?: LexiconAttributes; /** - *

                                                        Provides lexicon metadata.

                                                        + *

                                                        Name of the lexicon.

                                                        */ - Attributes?: LexiconAttributes; + Name?: string; } export namespace LexiconDescription { @@ -752,17 +752,17 @@ export namespace ListLexiconsInput { } export interface ListLexiconsOutput { - /** - *

                                                        A list of lexicon names and attributes.

                                                        - */ - Lexicons?: LexiconDescription[]; - /** *

                                                        The pagination token to use in the next request to continue * the listing of lexicons. NextToken is returned only if * the response is truncated.

                                                        */ NextToken?: string; + + /** + *

                                                        A list of lexicon names and attributes.

                                                        + */ + Lexicons?: LexiconDescription[]; } export namespace ListLexiconsOutput { @@ -779,15 +779,15 @@ export interface ListSpeechSynthesisTasksInput { MaxResults?: number; /** - *

                                                        The pagination token to use in the next request to continue the listing of speech synthesis - * tasks.

                                                        + *

                                                        Status of the speech synthesis tasks returned in a List operation

                                                        */ - NextToken?: string; + Status?: TaskStatus | string; /** - *

                                                        Status of the speech synthesis tasks returned in a List operation

                                                        + *

                                                        The pagination token to use in the next request to continue the listing of speech synthesis + * tasks.

                                                        */ - Status?: TaskStatus | string; + NextToken?: string; } export namespace ListSpeechSynthesisTasksInput { @@ -863,11 +863,6 @@ export namespace MaxLexiconsNumberExceededException { } export interface PutLexiconInput { - /** - *

                                                        Content of the PLS lexicon as string data.

                                                        - */ - Content: string | undefined; - /** *

                                                        Name of the lexicon. The name must follow the regular express format * [0-9A-Za-z]{1,20}. @@ -875,6 +870,11 @@ export interface PutLexiconInput { *

                                                        */ Name: string | undefined; + + /** + *

                                                        Content of the PLS lexicon as string data.

                                                        + */ + Content: string | undefined; } export namespace PutLexiconInput { @@ -941,17 +941,19 @@ export namespace SsmlMarksNotSupportedForTextTypeException { export interface StartSpeechSynthesisTaskInput { /** - *

                                                        The audio frequency specified in Hz.

                                                        - *

                                                        The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The - * default value for standard voices is "22050". The default value for neural voices is "24000".

                                                        - *

                                                        Valid values for pcm are "8000" and "16000" The default value is "16000".

                                                        + *

                                                        Specifies whether the input text is plain text or SSML. The default value is plain text.

                                                        */ - SampleRate?: string; + TextType?: TextType | string; /** - *

                                                        The type of speech marks returned for the input text.

                                                        + *

                                                        The Amazon S3 key prefix for the output speech file.

                                                        */ - SpeechMarkTypes?: (SpeechMarkType | string)[]; + OutputS3KeyPrefix?: string; + + /** + *

                                                        Amazon S3 bucket name to which the output file will be saved.

                                                        + */ + OutputS3BucketName: string | undefined; /** *

                                                        Optional language code for the Speech Synthesis request. This is only necessary if using a bilingual voice, @@ -963,37 +965,27 @@ export interface StartSpeechSynthesisTaskInput { LanguageCode?: LanguageCode | string; /** - *

                                                        List of one or more pronunciation lexicon names you want the service - * to apply during synthesis. Lexicons are applied only if the language - * of the lexicon is the same as the language of the voice.

                                                        - */ - LexiconNames?: string[]; - - /** - *

                                                        Amazon S3 bucket name to which the output file will be saved.

                                                        - */ - OutputS3BucketName: string | undefined; - - /** - *

                                                        Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine - * selected will result in an error.

                                                        + *

                                                        The type of speech marks returned for the input text.

                                                        */ - Engine?: Engine | string; + SpeechMarkTypes?: (SpeechMarkType | string)[]; /** - *

                                                        The Amazon S3 key prefix for the output speech file.

                                                        + *

                                                        The audio frequency specified in Hz.

                                                        + *

                                                        The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The + * default value for standard voices is "22050". The default value for neural voices is "24000".

                                                        + *

                                                        Valid values for pcm are "8000" and "16000" The default value is "16000".

                                                        */ - OutputS3KeyPrefix?: string; + SampleRate?: string; /** - *

                                                        Specifies whether the input text is plain text or SSML. The default value is plain text.

                                                        + *

                                                        ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.

                                                        */ - TextType?: TextType | string; + SnsTopicArn?: string; /** - *

                                                        ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.

                                                        + *

                                                        Voice ID to use for the synthesis.

                                                        */ - SnsTopicArn?: string; + VoiceId: VoiceId | string | undefined; /** *

                                                        The input text to synthesize. If you specify @@ -1002,9 +994,10 @@ export interface StartSpeechSynthesisTaskInput { Text: string | undefined; /** - *

                                                        Voice ID to use for the synthesis.

                                                        + *

                                                        Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine + * selected will result in an error.

                                                        */ - VoiceId: VoiceId | string | undefined; + Engine?: Engine | string; /** *

                                                        The format in which the returned output will be encoded. For @@ -1012,6 +1005,13 @@ export interface StartSpeechSynthesisTaskInput { * marks, this will be json.

                                                        */ OutputFormat: OutputFormat | string | undefined; + + /** + *

                                                        List of one or more pronunciation lexicon names you want the service + * to apply during synthesis. Lexicons are applied only if the language + * of the lexicon is the same as the language of the voice.

                                                        + */ + LexiconNames?: string[]; } export namespace StartSpeechSynthesisTaskInput { @@ -1054,13 +1054,19 @@ export namespace TextLengthExceededException { } export interface SynthesizeSpeechInput { + /** + *

                                                        Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine + * selected will result in an error.

                                                        + */ + Engine?: Engine | string; + /** *

                                                        - * The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. - * For speech marks, this will be json.

                                                        - *

                                                        When pcm is used, the content returned is audio/pcm in a signed 16-bit, 1 channel (mono), little-endian format.

                                                        + * Voice ID to use for the synthesis. You can get a list of + * available voice IDs by calling the DescribeVoices operation. + *

                                                        */ - OutputFormat: OutputFormat | string | undefined; + VoiceId: VoiceId | string | undefined; /** *

                                                        @@ -1073,11 +1079,16 @@ export interface SynthesizeSpeechInput { /** *

                                                        - * Voice ID to use for the synthesis. You can get a list of - * available voice IDs by calling the DescribeVoices operation. - *

                                                        + * The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. + * For speech marks, this will be json.

                                                        + *

                                                        When pcm is used, the content returned is audio/pcm in a signed 16-bit, 1 channel (mono), little-endian format.

                                                        */ - VoiceId: VoiceId | string | undefined; + OutputFormat: OutputFormat | string | undefined; + + /** + *

                                                        The type of speech marks returned for the input text.

                                                        + */ + SpeechMarkTypes?: (SpeechMarkType | string)[]; /** *

                                                        Optional language code for the Synthesize Speech request. This is only necessary if using a bilingual voice, @@ -1089,14 +1100,6 @@ export interface SynthesizeSpeechInput { */ LanguageCode?: LanguageCode | string; - /** - *

                                                        The audio frequency specified in Hz.

                                                        - *

                                                        The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The - * default value for standard voices is "22050". The default value for neural voices is "24000".

                                                        - *

                                                        Valid values for pcm are "8000" and "16000" The default value is "16000".

                                                        - */ - SampleRate?: string; - /** *

                                                        List of one or more pronunciation lexicon names you want the service to apply * during synthesis. Lexicons are applied only if the language of the lexicon is the same @@ -1105,11 +1108,6 @@ export interface SynthesizeSpeechInput { */ LexiconNames?: string[]; - /** - *

                                                        The type of speech marks returned for the input text.

                                                        - */ - SpeechMarkTypes?: (SpeechMarkType | string)[]; - /** *

                                                        * Specifies whether the input text is plain text or SSML. The default value is plain text. @@ -1118,10 +1116,12 @@ export interface SynthesizeSpeechInput { TextType?: TextType | string; /** - *

                                                        Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine - * selected will result in an error.

                                                        + *

                                                        The audio frequency specified in Hz.

                                                        + *

                                                        The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The + * default value for standard voices is "22050". The default value for neural voices is "24000".

                                                        + *

                                                        Valid values for pcm are "8000" and "16000" The default value is "16000".

                                                        */ - Engine?: Engine | string; + SampleRate?: string; } export namespace SynthesizeSpeechInput { @@ -1139,6 +1139,11 @@ export interface SynthesizeSpeechOutput { */ AudioStream?: Readable | ReadableStream | Blob; + /** + *

                                                        Number of characters synthesized.

                                                        + */ + RequestCharacters?: number; + /** *

                                                        * Specifies the type audio stream. This should reflect the @@ -1172,11 +1177,6 @@ export interface SynthesizeSpeechOutput { *

                                                        */ ContentType?: string; - - /** - *

                                                        Number of characters synthesized.

                                                        - */ - RequestCharacters?: number; } export namespace SynthesizeSpeechOutput { diff --git a/clients/client-polly/protocols/Aws_restJson1.ts b/clients/client-polly/protocols/Aws_restJson1.ts index cd3b676eb077..f6d73d323b61 100644 --- a/clients/client-polly/protocols/Aws_restJson1.ts +++ b/clients/client-polly/protocols/Aws_restJson1.ts @@ -98,12 +98,12 @@ export const serializeAws_restJson1DescribeVoicesCommand = async ( }; let resolvedPath = "/v1/voices"; const query: any = { - ...(input.LanguageCode !== undefined && { LanguageCode: input.LanguageCode }), - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.IncludeAdditionalLanguageCodes !== undefined && { IncludeAdditionalLanguageCodes: input.IncludeAdditionalLanguageCodes.toString(), }), ...(input.Engine !== undefined && { Engine: input.Engine }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.LanguageCode !== undefined && { LanguageCode: input.LanguageCode }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -214,8 +214,8 @@ export const serializeAws_restJson1ListSpeechSynthesisTasksCommand = async ( let resolvedPath = "/v1/synthesisTasks"; const query: any = { ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.Status !== undefined && { Status: input.Status }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -992,12 +992,12 @@ export const deserializeAws_restJson1SynthesizeSpeechCommand = async ( ContentType: undefined, RequestCharacters: undefined, }; - if (output.headers["content-type"] !== undefined) { - contents.ContentType = output.headers["content-type"]; - } if (output.headers["x-amzn-requestcharacters"] !== undefined) { contents.RequestCharacters = parseInt(output.headers["x-amzn-requestcharacters"], 10); } + if (output.headers["content-type"] !== undefined) { + contents.ContentType = output.headers["content-type"]; + } const data: any = output.body; contents.AudioStream = data; return Promise.resolve(contents); diff --git a/clients/client-pricing/models/models_0.ts b/clients/client-pricing/models/models_0.ts index 7747063ee84d..3f089681ff28 100644 --- a/clients/client-pricing/models/models_0.ts +++ b/clients/client-pricing/models/models_0.ts @@ -25,9 +25,11 @@ export namespace AttributeValue { export interface DescribeServicesRequest { /** - *

                                                        The maximum number of results that you want returned in the response.

                                                        + *

                                                        The format version that you want the response to be in.

                                                        + *

                                                        Valid values are: aws_v1 + *

                                                        */ - MaxResults?: number; + FormatVersion?: string; /** *

                                                        The code for the service whose information you want to retrieve, such as AmazonEC2. @@ -38,16 +40,14 @@ export interface DescribeServicesRequest { ServiceCode?: string; /** - *

                                                        The pagination token that indicates the next set of results that you want to retrieve.

                                                        + *

                                                        The maximum number of results that you want returned in the response.

                                                        */ - NextToken?: string; + MaxResults?: number; /** - *

                                                        The format version that you want the response to be in.

                                                        - *

                                                        Valid values are: aws_v1 - *

                                                        + *

                                                        The pagination token that indicates the next set of results that you want to retrieve.

                                                        */ - FormatVersion?: string; + NextToken?: string; } export namespace DescribeServicesRequest { @@ -79,9 +79,9 @@ export namespace Service { export interface DescribeServicesResponse { /** - *

                                                        The service metadata for the service or services in the response.

                                                        + *

                                                        The pagination token for the next set of retreivable results.

                                                        */ - Services?: Service[]; + NextToken?: string; /** *

                                                        The format version of the response. For example, aws_v1.

                                                        @@ -89,9 +89,9 @@ export interface DescribeServicesResponse { FormatVersion?: string; /** - *

                                                        The pagination token for the next set of retreivable results.

                                                        + *

                                                        The service metadata for the service or services in the response.

                                                        */ - NextToken?: string; + Services?: Service[]; } export namespace DescribeServicesResponse { @@ -182,9 +182,10 @@ export interface GetAttributeValuesRequest { AttributeName: string | undefined; /** - *

                                                        The pagination token that indicates the next set of results that you want to retrieve.

                                                        + *

                                                        The service code for the service whose attributes you want to retrieve. For example, if you want + * the retrieve an EC2 attribute, use AmazonEC2.

                                                        */ - NextToken?: string; + ServiceCode: string | undefined; /** *

                                                        The maximum number of results to return in response.

                                                        @@ -192,10 +193,9 @@ export interface GetAttributeValuesRequest { MaxResults?: number; /** - *

                                                        The service code for the service whose attributes you want to retrieve. For example, if you want - * the retrieve an EC2 attribute, use AmazonEC2.

                                                        + *

                                                        The pagination token that indicates the next set of results that you want to retrieve.

                                                        */ - ServiceCode: string | undefined; + NextToken?: string; } export namespace GetAttributeValuesRequest { @@ -240,13 +240,6 @@ export interface Filter { */ Value: string | undefined; - /** - *

                                                        The type of filter that you want to use.

                                                        - *

                                                        Valid values are: TERM_MATCH. TERM_MATCH returns only - * products that match both the given filter field and the given value.

                                                        - */ - Type: FilterType | string | undefined; - /** *

                                                        The product metadata field that you want to filter on. You can filter by just the * service code to see all products for a specific service, filter @@ -258,6 +251,13 @@ export interface Filter { * volumeType attribute name to get the prices for only Amazon EC2 volumes.

                                                        */ Field: string | undefined; + + /** + *

                                                        The type of filter that you want to use.

                                                        + *

                                                        Valid values are: TERM_MATCH. TERM_MATCH returns only + * products that match both the given filter field and the given value.

                                                        + */ + Type: FilterType | string | undefined; } export namespace Filter { @@ -268,20 +268,22 @@ export namespace Filter { export interface GetProductsRequest { /** - *

                                                        The maximum number of results to return in the response.

                                                        + *

                                                        The pagination token that indicates the next set of results that you want to retrieve.

                                                        */ - MaxResults?: number; + NextToken?: string; /** - *

                                                        The list of filters that limit the returned products. only products that match all filters - * are returned.

                                                        + *

                                                        The format version that you want the response to be in.

                                                        + *

                                                        Valid values are: aws_v1 + *

                                                        */ - Filters?: Filter[]; + FormatVersion?: string; /** - *

                                                        The pagination token that indicates the next set of results that you want to retrieve.

                                                        + *

                                                        The list of filters that limit the returned products. only products that match all filters + * are returned.

                                                        */ - NextToken?: string; + Filters?: Filter[]; /** *

                                                        The code for the service whose products you want to retrieve.

                                                        @@ -289,11 +291,9 @@ export interface GetProductsRequest { ServiceCode?: string; /** - *

                                                        The format version that you want the response to be in.

                                                        - *

                                                        Valid values are: aws_v1 - *

                                                        + *

                                                        The maximum number of results to return in the response.

                                                        */ - FormatVersion?: string; + MaxResults?: number; } export namespace GetProductsRequest { @@ -303,11 +303,6 @@ export namespace GetProductsRequest { } export interface GetProductsResponse { - /** - *

                                                        The pagination token that indicates the next set of results to retrieve.

                                                        - */ - NextToken?: string; - /** *

                                                        The list of products that match your filters. The list contains both the product metadata and * the price information.

                                                        @@ -318,6 +313,11 @@ export interface GetProductsResponse { *

                                                        The format version of the response. For example, aws_v1.

                                                        */ FormatVersion?: string; + + /** + *

                                                        The pagination token that indicates the next set of results to retrieve.

                                                        + */ + NextToken?: string; } export namespace GetProductsResponse { diff --git a/clients/client-qldb-session/models/models_0.ts b/clients/client-qldb-session/models/models_0.ts index 8ad80f858c6f..d32d588eb1e3 100644 --- a/clients/client-qldb-session/models/models_0.ts +++ b/clients/client-qldb-session/models/models_0.ts @@ -44,11 +44,6 @@ export namespace BadRequestException { *

                                                        Contains the details of the transaction to commit.

                                                        */ export interface CommitTransactionRequest { - /** - *

                                                        Specifies the transaction ID of the transaction to commit.

                                                        - */ - TransactionId: string | undefined; - /** *

                                                        Specifies the commit digest for the transaction to commit. For every active transaction, * the commit digest must be passed. QLDB validates CommitDigest and rejects @@ -56,6 +51,11 @@ export interface CommitTransactionRequest { * computed by QLDB.

                                                        */ CommitDigest: Uint8Array | undefined; + + /** + *

                                                        Specifies the transaction ID of the transaction to commit.

                                                        + */ + TransactionId: string | undefined; } export namespace CommitTransactionRequest { @@ -112,14 +112,14 @@ export namespace EndSessionResult { */ export interface ValueHolder { /** - *

                                                        An Amazon Ion binary value contained in a ValueHolder structure.

                                                        + *

                                                        An Amazon Ion plaintext value contained in a ValueHolder structure.

                                                        */ - IonBinary?: Uint8Array; + IonText?: string; /** - *

                                                        An Amazon Ion plaintext value contained in a ValueHolder structure.

                                                        + *

                                                        An Amazon Ion binary value contained in a ValueHolder structure.

                                                        */ - IonText?: string; + IonBinary?: Uint8Array; } export namespace ValueHolder { @@ -133,14 +133,14 @@ export namespace ValueHolder { */ export interface ExecuteStatementRequest { /** - *

                                                        Specifies the parameters for the parameterized statement in the request.

                                                        + *

                                                        Specifies the transaction ID of the request.

                                                        */ - Parameters?: ValueHolder[]; + TransactionId: string | undefined; /** - *

                                                        Specifies the transaction ID of the request.

                                                        + *

                                                        Specifies the parameters for the parameterized statement in the request.

                                                        */ - TransactionId: string | undefined; + Parameters?: ValueHolder[]; /** *

                                                        Specifies the statement of the request.

                                                        @@ -234,8 +234,8 @@ export namespace FetchPageResult { export interface InvalidSessionException extends __SmithyException, $MetadataBearer { name: "InvalidSessionException"; $fault: "client"; - Code?: string; Message?: string; + Code?: string; } export namespace InvalidSessionException { @@ -319,31 +319,20 @@ export namespace StartTransactionRequest { export interface SendCommandRequest { /** - *

                                                        Command to start a new session. A session token is obtained as part of the - * response.

                                                        + *

                                                        Command to start a new transaction.

                                                        */ - StartSession?: StartSessionRequest; + StartTransaction?: StartTransactionRequest; /** - *

                                                        Command to commit the specified transaction.

                                                        + *

                                                        Command to abort the current transaction.

                                                        */ - CommitTransaction?: CommitTransactionRequest; + AbortTransaction?: AbortTransactionRequest; /** *

                                                        Command to end the current session.

                                                        */ EndSession?: EndSessionRequest; - /** - *

                                                        Command to start a new transaction.

                                                        - */ - StartTransaction?: StartTransactionRequest; - - /** - *

                                                        Command to abort the current transaction.

                                                        - */ - AbortTransaction?: AbortTransactionRequest; - /** *

                                                        Command to fetch a page.

                                                        */ @@ -358,6 +347,17 @@ export interface SendCommandRequest { */ SessionToken?: string; + /** + *

                                                        Command to start a new session. A session token is obtained as part of the + * response.

                                                        + */ + StartSession?: StartSessionRequest; + + /** + *

                                                        Command to commit the specified transaction.

                                                        + */ + CommitTransaction?: CommitTransactionRequest; + /** *

                                                        Command to execute a statement in the specified transaction.

                                                        */ @@ -405,19 +405,14 @@ export namespace StartTransactionResult { export interface SendCommandResult { /** - *

                                                        Contains the details of the ended session.

                                                        - */ - EndSession?: EndSessionResult; - - /** - *

                                                        Contains the details of the fetched page.

                                                        + *

                                                        Contains the details of the committed transaction.

                                                        */ - FetchPage?: FetchPageResult; + CommitTransaction?: CommitTransactionResult; /** - *

                                                        Contains the details of the aborted transaction.

                                                        + *

                                                        Contains the details of the ended session.

                                                        */ - AbortTransaction?: AbortTransactionResult; + EndSession?: EndSessionResult; /** *

                                                        Contains the details of the started session that includes a session token. This @@ -432,9 +427,14 @@ export interface SendCommandResult { StartTransaction?: StartTransactionResult; /** - *

                                                        Contains the details of the committed transaction.

                                                        + *

                                                        Contains the details of the aborted transaction.

                                                        */ - CommitTransaction?: CommitTransactionResult; + AbortTransaction?: AbortTransactionResult; + + /** + *

                                                        Contains the details of the fetched page.

                                                        + */ + FetchPage?: FetchPageResult; /** *

                                                        Contains the details of the executed statement.

                                                        diff --git a/clients/client-qldb/models/models_0.ts b/clients/client-qldb/models/models_0.ts index f78270929d97..faa656f56457 100644 --- a/clients/client-qldb/models/models_0.ts +++ b/clients/client-qldb/models/models_0.ts @@ -3,14 +3,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface CancelJournalKinesisStreamRequest { /** - *

                                                        The unique ID that QLDB assigns to each QLDB journal stream.

                                                        + *

                                                        The name of the ledger.

                                                        */ - StreamId: string | undefined; + LedgerName: string | undefined; /** - *

                                                        The name of the ledger.

                                                        + *

                                                        The unique ID that QLDB assigns to each QLDB journal stream.

                                                        */ - LedgerName: string | undefined; + StreamId: string | undefined; } export namespace CancelJournalKinesisStreamRequest { @@ -62,11 +62,12 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB */ ResourceType?: string; - Message?: string; /** *

                                                        The name of the resource.

                                                        */ ResourceName?: string; + + Message?: string; } export namespace ResourceNotFoundException { @@ -81,17 +82,16 @@ export namespace ResourceNotFoundException { export interface ResourcePreconditionNotMetException extends __SmithyException, $MetadataBearer { name: "ResourcePreconditionNotMetException"; $fault: "client"; - /** - *

                                                        The name of the resource.

                                                        - */ - ResourceName?: string; - /** *

                                                        The type of resource.

                                                        */ ResourceType?: string; Message?: string; + /** + *

                                                        The name of the resource.

                                                        + */ + ResourceName?: string; } export namespace ResourcePreconditionNotMetException { @@ -105,19 +105,6 @@ export enum PermissionsMode { } export interface CreateLedgerRequest { - /** - *

                                                        The name of the ledger that you want to create. The name must be unique among all of - * your ledgers in the current AWS Region.

                                                        - *

                                                        Naming constraints for ledger names are defined in Quotas in Amazon QLDB - * in the Amazon QLDB Developer Guide.

                                                        - */ - Name: string | undefined; - - /** - *

                                                        The permissions mode to assign to the ledger that you want to create.

                                                        - */ - PermissionsMode: PermissionsMode | string | undefined; - /** *

                                                        The flag that prevents a ledger from being deleted by any user. If not provided on * ledger creation, this feature is enabled (true) by default.

                                                        @@ -128,11 +115,24 @@ export interface CreateLedgerRequest { */ DeletionProtection?: boolean; + /** + *

                                                        The permissions mode to assign to the ledger that you want to create.

                                                        + */ + PermissionsMode: PermissionsMode | string | undefined; + /** *

                                                        The key-value pairs to add as tags to the ledger that you want to create. Tag keys are * case sensitive. Tag values are case sensitive and can be null.

                                                        */ Tags?: { [key: string]: string }; + + /** + *

                                                        The name of the ledger that you want to create. The name must be unique among all of + * your ledgers in the current AWS Region.

                                                        + *

                                                        Naming constraints for ledger names are defined in Quotas in Amazon QLDB + * in the Amazon QLDB Developer Guide.

                                                        + */ + Name: string | undefined; } export namespace CreateLedgerRequest { @@ -149,11 +149,6 @@ export enum LedgerState { } export interface CreateLedgerResponse { - /** - *

                                                        The name of the ledger.

                                                        - */ - Name?: string; - /** *

                                                        The flag that prevents a ledger from being deleted by any user. If not provided on * ledger creation, this feature is enabled (true) by default.

                                                        @@ -165,10 +160,9 @@ export interface CreateLedgerResponse { DeletionProtection?: boolean; /** - *

                                                        The date and time, in epoch time format, when the ledger was created. (Epoch time format - * is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

                                                        + *

                                                        The current status of the ledger.

                                                        */ - CreationDateTime?: Date; + State?: LedgerState | string; /** *

                                                        The Amazon Resource Name (ARN) for the ledger.

                                                        @@ -176,9 +170,15 @@ export interface CreateLedgerResponse { Arn?: string; /** - *

                                                        The current status of the ledger.

                                                        + *

                                                        The name of the ledger.

                                                        */ - State?: LedgerState | string; + Name?: string; + + /** + *

                                                        The date and time, in epoch time format, when the ledger was created. (Epoch time format + * is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

                                                        + */ + CreationDateTime?: Date; } export namespace CreateLedgerResponse { @@ -213,6 +213,7 @@ export namespace LimitExceededException { export interface ResourceAlreadyExistsException extends __SmithyException, $MetadataBearer { name: "ResourceAlreadyExistsException"; $fault: "client"; + Message?: string; /** *

                                                        The name of the resource.

                                                        */ @@ -222,8 +223,6 @@ export interface ResourceAlreadyExistsException extends __SmithyException, $Meta *

                                                        The type of resource.

                                                        */ ResourceType?: string; - - Message?: string; } export namespace ResourceAlreadyExistsException { @@ -238,12 +237,12 @@ export namespace ResourceAlreadyExistsException { export interface ResourceInUseException extends __SmithyException, $MetadataBearer { name: "ResourceInUseException"; $fault: "client"; + Message?: string; /** *

                                                        The type of resource.

                                                        */ ResourceType?: string; - Message?: string; /** *

                                                        The name of the resource.

                                                        */ @@ -271,14 +270,14 @@ export namespace DeleteLedgerRequest { export interface DescribeJournalKinesisStreamRequest { /** - *

                                                        The unique ID that QLDB assigns to each QLDB journal stream.

                                                        + *

                                                        The name of the ledger.

                                                        */ - StreamId: string | undefined; + LedgerName: string | undefined; /** - *

                                                        The name of the ledger.

                                                        + *

                                                        The unique ID that QLDB assigns to each QLDB journal stream.

                                                        */ - LedgerName: string | undefined; + StreamId: string | undefined; } export namespace DescribeJournalKinesisStreamRequest { @@ -330,12 +329,6 @@ export enum StreamStatus { * stream creation request.

                                                        */ export interface JournalKinesisStreamDescription { - /** - *

                                                        The configuration settings of the Amazon Kinesis Data Streams destination for your QLDB journal - * stream.

                                                        - */ - KinesisConfiguration: KinesisConfiguration | undefined; - /** *

                                                        The exclusive date and time that specifies when the stream ends. If this parameter is * blank, the stream runs indefinitely until you cancel it.

                                                        @@ -343,9 +336,16 @@ export interface JournalKinesisStreamDescription { ExclusiveEndTime?: Date; /** - *

                                                        The Amazon Resource Name (ARN) of the QLDB journal stream.

                                                        + *

                                                        The date and time, in epoch time format, when the QLDB journal stream was created. + * (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 + * UTC.)

                                                        */ - Arn?: string; + CreationTime?: Date; + + /** + *

                                                        The name of the ledger.

                                                        + */ + LedgerName: string | undefined; /** *

                                                        The error message that describes the reason that a stream has a status of @@ -355,14 +355,15 @@ export interface JournalKinesisStreamDescription { ErrorCause?: ErrorCause | string; /** - *

                                                        The inclusive start date and time from which to start streaming journal data.

                                                        + *

                                                        The Amazon Resource Name (ARN) of the QLDB journal stream.

                                                        */ - InclusiveStartTime?: Date; + Arn?: string; /** - *

                                                        The current state of the QLDB journal stream.

                                                        + *

                                                        The configuration settings of the Amazon Kinesis Data Streams destination for your QLDB journal + * stream.

                                                        */ - Status: StreamStatus | string | undefined; + KinesisConfiguration: KinesisConfiguration | undefined; /** *

                                                        The unique ID that QLDB assigns to each QLDB journal stream.

                                                        @@ -370,9 +371,9 @@ export interface JournalKinesisStreamDescription { StreamId: string | undefined; /** - *

                                                        The name of the ledger.

                                                        + *

                                                        The inclusive start date and time from which to start streaming journal data.

                                                        */ - LedgerName: string | undefined; + InclusiveStartTime?: Date; /** *

                                                        The user-defined name of the QLDB journal stream.

                                                        @@ -380,11 +381,9 @@ export interface JournalKinesisStreamDescription { StreamName: string | undefined; /** - *

                                                        The date and time, in epoch time format, when the QLDB journal stream was created. - * (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 - * UTC.)

                                                        + *

                                                        The current state of the QLDB journal stream.

                                                        */ - CreationTime?: Date; + Status: StreamStatus | string | undefined; /** *

                                                        The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a @@ -473,6 +472,14 @@ export namespace S3EncryptionConfiguration { * contents.

                                                        */ export interface S3ExportConfiguration { + /** + *

                                                        The Amazon S3 bucket name in which a journal export job writes the journal contents.

                                                        + *

                                                        The bucket name must comply with the Amazon S3 bucket naming conventions. For more + * information, see Bucket Restrictions and + * Limitations in the Amazon S3 Developer Guide.

                                                        + */ + Bucket: string | undefined; + /** *

                                                        The prefix for the Amazon S3 bucket in which a journal export job writes the journal * contents.

                                                        @@ -500,14 +507,6 @@ export interface S3ExportConfiguration { */ Prefix: string | undefined; - /** - *

                                                        The Amazon S3 bucket name in which a journal export job writes the journal contents.

                                                        - *

                                                        The bucket name must comply with the Amazon S3 bucket naming conventions. For more - * information, see Bucket Restrictions and - * Limitations in the Amazon S3 Developer Guide.

                                                        - */ - Bucket: string | undefined; - /** *

                                                        The encryption settings that are used by a journal export job to write data in an Amazon S3 * bucket.

                                                        @@ -532,11 +531,6 @@ export enum ExportStatus { * it was created, current status, and its start and end time export parameters.

                                                        */ export interface JournalS3ExportDescription { - /** - *

                                                        The unique ID of the journal export job.

                                                        - */ - ExportId: string | undefined; - /** *

                                                        The date and time, in epoch time format, when the export job was created. (Epoch time * format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

                                                        @@ -544,15 +538,16 @@ export interface JournalS3ExportDescription { ExportCreationTime: Date | undefined; /** - *

                                                        The inclusive start date and time for the range of journal contents that are specified - * in the original export request.

                                                        + *

                                                        The Amazon Simple Storage Service (Amazon S3) bucket location in which a journal export job writes the journal + * contents.

                                                        */ - InclusiveStartTime: Date | undefined; + S3ExportConfiguration: S3ExportConfiguration | undefined; /** - *

                                                        The current state of the journal export job.

                                                        + *

                                                        The inclusive start date and time for the range of journal contents that are specified + * in the original export request.

                                                        */ - Status: ExportStatus | string | undefined; + InclusiveStartTime: Date | undefined; /** *

                                                        The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a @@ -570,21 +565,25 @@ export interface JournalS3ExportDescription { RoleArn: string | undefined; /** - *

                                                        The exclusive end date and time for the range of journal contents that are specified in - * the original export request.

                                                        + *

                                                        The name of the ledger.

                                                        */ - ExclusiveEndTime: Date | undefined; + LedgerName: string | undefined; /** - *

                                                        The Amazon Simple Storage Service (Amazon S3) bucket location in which a journal export job writes the journal - * contents.

                                                        + *

                                                        The current state of the journal export job.

                                                        */ - S3ExportConfiguration: S3ExportConfiguration | undefined; + Status: ExportStatus | string | undefined; /** - *

                                                        The name of the ledger.

                                                        + *

                                                        The unique ID of the journal export job.

                                                        */ - LedgerName: string | undefined; + ExportId: string | undefined; + + /** + *

                                                        The exclusive end date and time for the range of journal contents that are specified in + * the original export request.

                                                        + */ + ExclusiveEndTime: Date | undefined; } export namespace JournalS3ExportDescription { @@ -622,15 +621,14 @@ export namespace DescribeLedgerRequest { export interface DescribeLedgerResponse { /** - *

                                                        The name of the ledger.

                                                        - */ - Name?: string; - - /** - *

                                                        The date and time, in epoch time format, when the ledger was created. (Epoch time format - * is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

                                                        + *

                                                        The flag that prevents a ledger from being deleted by any user. If not provided on + * ledger creation, this feature is enabled (true) by default.

                                                        + *

                                                        If deletion protection is enabled, you must first disable it before you can delete the + * ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the + * UpdateLedger operation to set the flag to false. The QLDB + * console disables deletion protection for you when you use it to delete a ledger.

                                                        */ - CreationDateTime?: Date; + DeletionProtection?: boolean; /** *

                                                        The current status of the ledger.

                                                        @@ -638,19 +636,20 @@ export interface DescribeLedgerResponse { State?: LedgerState | string; /** - *

                                                        The flag that prevents a ledger from being deleted by any user. If not provided on - * ledger creation, this feature is enabled (true) by default.

                                                        - *

                                                        If deletion protection is enabled, you must first disable it before you can delete the - * ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the - * UpdateLedger operation to set the flag to false. The QLDB - * console disables deletion protection for you when you use it to delete a ledger.

                                                        + *

                                                        The date and time, in epoch time format, when the ledger was created. (Epoch time format + * is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

                                                        */ - DeletionProtection?: boolean; + CreationDateTime?: Date; /** *

                                                        The Amazon Resource Name (ARN) for the ledger.

                                                        */ Arn?: string; + + /** + *

                                                        The name of the ledger.

                                                        + */ + Name?: string; } export namespace DescribeLedgerResponse { @@ -661,18 +660,9 @@ export namespace DescribeLedgerResponse { export interface ExportJournalToS3Request { /** - *

                                                        The inclusive start date and time for the range of journal contents that you want to - * export.

                                                        - *

                                                        The InclusiveStartTime must be in ISO 8601 date and time - * format and in Universal Coordinated Time (UTC). For example: - * 2019-06-13T21:36:34Z - *

                                                        - *

                                                        The InclusiveStartTime must be before ExclusiveEndTime.

                                                        - *

                                                        If you provide an InclusiveStartTime that is before the ledger's - * CreationDateTime, Amazon QLDB defaults it to the ledger's - * CreationDateTime.

                                                        + *

                                                        The name of the ledger.

                                                        */ - InclusiveStartTime: Date | undefined; + Name: string | undefined; /** *

                                                        The configuration settings of the Amazon S3 bucket destination for your export @@ -696,9 +686,18 @@ export interface ExportJournalToS3Request { RoleArn: string | undefined; /** - *

                                                        The name of the ledger.

                                                        + *

                                                        The inclusive start date and time for the range of journal contents that you want to + * export.

                                                        + *

                                                        The InclusiveStartTime must be in ISO 8601 date and time + * format and in Universal Coordinated Time (UTC). For example: + * 2019-06-13T21:36:34Z + *

                                                        + *

                                                        The InclusiveStartTime must be before ExclusiveEndTime.

                                                        + *

                                                        If you provide an InclusiveStartTime that is before the ledger's + * CreationDateTime, Amazon QLDB defaults it to the ledger's + * CreationDateTime.

                                                        */ - Name: string | undefined; + InclusiveStartTime: Date | undefined; /** *

                                                        The exclusive end date and time for the range of journal contents that you want to @@ -760,6 +759,11 @@ export interface GetBlockRequest { */ BlockAddress: ValueHolder | undefined; + /** + *

                                                        The name of the ledger.

                                                        + */ + Name: string | undefined; + /** *

                                                        The latest block location covered by the digest for which to request a proof. An address * is an Amazon Ion structure that has two fields: strandId and @@ -768,11 +772,6 @@ export interface GetBlockRequest { *

                                                        */ DigestTipAddress?: ValueHolder; - - /** - *

                                                        The name of the ledger.

                                                        - */ - Name: string | undefined; } export namespace GetBlockRequest { @@ -784,24 +783,24 @@ export namespace GetBlockRequest { } export interface GetBlockResponse { - /** - *

                                                        The block data object in Amazon Ion format.

                                                        - */ - Block: ValueHolder | undefined; - /** *

                                                        The proof object in Amazon Ion format returned by a GetBlock request. A * proof contains the list of hash values required to recalculate the specified digest using a * Merkle tree, starting with the specified block.

                                                        */ Proof?: ValueHolder; + + /** + *

                                                        The block data object in Amazon Ion format.

                                                        + */ + Block: ValueHolder | undefined; } export namespace GetBlockResponse { export const filterSensitiveLog = (obj: GetBlockResponse): any => ({ ...obj, - ...(obj.Block && { Block: SENSITIVE_STRING }), ...(obj.Proof && { Proof: SENSITIVE_STRING }), + ...(obj.Block && { Block: SENSITIVE_STRING }), }); } @@ -819,18 +818,18 @@ export namespace GetDigestRequest { } export interface GetDigestResponse { - /** - *

                                                        The 256-bit hash value representing the digest returned by a GetDigest - * request.

                                                        - */ - Digest: Uint8Array | undefined; - /** *

                                                        The latest block location covered by the digest that you requested. An address is an * Amazon Ion structure that has two fields: strandId and * sequenceNo.

                                                        */ DigestTipAddress: ValueHolder | undefined; + + /** + *

                                                        The 256-bit hash value representing the digest returned by a GetDigest + * request.

                                                        + */ + Digest: Uint8Array | undefined; } export namespace GetDigestResponse { @@ -841,11 +840,6 @@ export namespace GetDigestResponse { } export interface GetRevisionRequest { - /** - *

                                                        The unique ID of the document to be verified.

                                                        - */ - DocumentId: string | undefined; - /** *

                                                        The name of the ledger.

                                                        */ @@ -860,6 +854,11 @@ export interface GetRevisionRequest { */ DigestTipAddress?: ValueHolder; + /** + *

                                                        The unique ID of the document to be verified.

                                                        + */ + DocumentId: string | undefined; + /** *

                                                        The block location of the document revision to be verified. An address is an Amazon Ion * structure that has two fields: strandId and sequenceNo.

                                                        @@ -900,13 +899,6 @@ export namespace GetRevisionResponse { } export interface ListJournalKinesisStreamsForLedgerRequest { - /** - *

                                                        The maximum number of results to return in a single - * ListJournalKinesisStreamsForLedger request. (The actual number of results - * returned might be fewer.)

                                                        - */ - MaxResults?: number; - /** *

                                                        A pagination token, indicating that you want to retrieve the next page of results. If * you received a value for NextToken in the response from a previous @@ -915,6 +907,13 @@ export interface ListJournalKinesisStreamsForLedgerRequest { */ NextToken?: string; + /** + *

                                                        The maximum number of results to return in a single + * ListJournalKinesisStreamsForLedger request. (The actual number of results + * returned might be fewer.)

                                                        + */ + MaxResults?: number; + /** *

                                                        The name of the ledger.

                                                        */ @@ -980,12 +979,6 @@ export namespace ListJournalS3ExportsRequest { } export interface ListJournalS3ExportsResponse { - /** - *

                                                        The array of journal export job descriptions for all ledgers that are associated with - * the current AWS account and Region.

                                                        - */ - JournalS3Exports?: JournalS3ExportDescription[]; - /** *
                                                          *
                                                        • @@ -1001,6 +994,12 @@ export interface ListJournalS3ExportsResponse { *
                                                        */ NextToken?: string; + + /** + *

                                                        The array of journal export job descriptions for all ledgers that are associated with + * the current AWS account and Region.

                                                        + */ + JournalS3Exports?: JournalS3ExportDescription[]; } export namespace ListJournalS3ExportsResponse { @@ -1010,6 +1009,14 @@ export namespace ListJournalS3ExportsResponse { } export interface ListJournalS3ExportsForLedgerRequest { + /** + *

                                                        A pagination token, indicating that you want to retrieve the next page of results. If + * you received a value for NextToken in the response from a previous + * ListJournalS3ExportsForLedger call, then you should use that value as input + * here.

                                                        + */ + NextToken?: string; + /** *

                                                        The name of the ledger.

                                                        */ @@ -1021,14 +1028,6 @@ export interface ListJournalS3ExportsForLedgerRequest { * returned might be fewer.)

                                                        */ MaxResults?: number; - - /** - *

                                                        A pagination token, indicating that you want to retrieve the next page of results. If - * you received a value for NextToken in the response from a previous - * ListJournalS3ExportsForLedger call, then you should use that value as input - * here.

                                                        - */ - NextToken?: string; } export namespace ListJournalS3ExportsForLedgerRequest { @@ -1097,16 +1096,16 @@ export interface LedgerSummary { */ State?: LedgerState | string; - /** - *

                                                        The name of the ledger.

                                                        - */ - Name?: string; - /** *

                                                        The date and time, in epoch time format, when the ledger was created. (Epoch time format * is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

                                                        */ CreationDateTime?: Date; + + /** + *

                                                        The name of the ledger.

                                                        + */ + Name?: string; } export namespace LedgerSummary { @@ -1175,16 +1174,6 @@ export namespace ListTagsForResourceResponse { } export interface StreamJournalToKinesisRequest { - /** - *

                                                        The configuration settings of the Kinesis Data Streams destination for your stream request.

                                                        - */ - KinesisConfiguration: KinesisConfiguration | undefined; - - /** - *

                                                        The name of the ledger.

                                                        - */ - LedgerName: string | undefined; - /** *

                                                        The exclusive date and time that specifies when the stream ends. If you don't define * this parameter, the stream runs indefinitely until you cancel it.

                                                        @@ -1195,18 +1184,23 @@ export interface StreamJournalToKinesisRequest { */ ExclusiveEndTime?: Date; - /** - *

                                                        The key-value pairs to add as tags to the stream that you want to create. Tag keys are - * case sensitive. Tag values are case sensitive and can be null.

                                                        - */ - Tags?: { [key: string]: string }; - /** *

                                                        The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a * journal stream to write data records to a Kinesis Data Streams resource.

                                                        */ RoleArn: string | undefined; + /** + *

                                                        The name of the ledger.

                                                        + */ + LedgerName: string | undefined; + + /** + *

                                                        The key-value pairs to add as tags to the stream that you want to create. Tag keys are + * case sensitive. Tag values are case sensitive and can be null.

                                                        + */ + Tags?: { [key: string]: string }; + /** *

                                                        The name that you want to assign to the QLDB journal stream. User-defined names can * help identify and indicate the purpose of a stream.

                                                        @@ -1217,6 +1211,11 @@ export interface StreamJournalToKinesisRequest { */ StreamName: string | undefined; + /** + *

                                                        The configuration settings of the Kinesis Data Streams destination for your stream request.

                                                        + */ + KinesisConfiguration: KinesisConfiguration | undefined; + /** *

                                                        The inclusive start date and time from which to start streaming journal data. This * parameter must be in ISO 8601 date and time format and in Universal @@ -1282,6 +1281,11 @@ export namespace TagResourceResponse { } export interface UntagResourceRequest { + /** + *

                                                        The list of tag keys that you want to remove.

                                                        + */ + TagKeys: string[] | undefined; + /** *

                                                        The Amazon Resource Name (ARN) from which you want to remove the tags. For * example:

                                                        @@ -1290,11 +1294,6 @@ export interface UntagResourceRequest { *

                                                        */ ResourceArn: string | undefined; - - /** - *

                                                        The list of tag keys that you want to remove.

                                                        - */ - TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -1312,11 +1311,6 @@ export namespace UntagResourceResponse { } export interface UpdateLedgerRequest { - /** - *

                                                        The name of the ledger.

                                                        - */ - Name: string | undefined; - /** *

                                                        The flag that prevents a ledger from being deleted by any user. If not provided on * ledger creation, this feature is enabled (true) by default.

                                                        @@ -1326,6 +1320,11 @@ export interface UpdateLedgerRequest { * console disables deletion protection for you when you use it to delete a ledger.

                                                        */ DeletionProtection?: boolean; + + /** + *

                                                        The name of the ledger.

                                                        + */ + Name: string | undefined; } export namespace UpdateLedgerRequest { @@ -1335,22 +1334,6 @@ export namespace UpdateLedgerRequest { } export interface UpdateLedgerResponse { - /** - *

                                                        The Amazon Resource Name (ARN) for the ledger.

                                                        - */ - Arn?: string; - - /** - *

                                                        The current status of the ledger.

                                                        - */ - State?: LedgerState | string; - - /** - *

                                                        The date and time, in epoch time format, when the ledger was created. (Epoch time format - * is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

                                                        - */ - CreationDateTime?: Date; - /** *

                                                        The flag that prevents a ledger from being deleted by any user. If not provided on * ledger creation, this feature is enabled (true) by default.

                                                        @@ -1361,10 +1344,26 @@ export interface UpdateLedgerResponse { */ DeletionProtection?: boolean; + /** + *

                                                        The date and time, in epoch time format, when the ledger was created. (Epoch time format + * is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

                                                        + */ + CreationDateTime?: Date; + /** *

                                                        The name of the ledger.

                                                        */ Name?: string; + + /** + *

                                                        The current status of the ledger.

                                                        + */ + State?: LedgerState | string; + + /** + *

                                                        The Amazon Resource Name (ARN) for the ledger.

                                                        + */ + Arn?: string; } export namespace UpdateLedgerResponse { diff --git a/clients/client-qldb/protocols/Aws_restJson1.ts b/clients/client-qldb/protocols/Aws_restJson1.ts index 2db389c27e4c..babf14eacafb 100644 --- a/clients/client-qldb/protocols/Aws_restJson1.ts +++ b/clients/client-qldb/protocols/Aws_restJson1.ts @@ -76,15 +76,6 @@ export const serializeAws_restJson1CancelJournalKinesisStreamCommand = async ( "Content-Type": "", }; let resolvedPath = "/ledgers/{LedgerName}/journal-kinesis-streams/{StreamId}"; - if (input.StreamId !== undefined) { - const labelValue: string = input.StreamId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: StreamId."); - } - resolvedPath = resolvedPath.replace("{StreamId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: StreamId."); - } if (input.LedgerName !== undefined) { const labelValue: string = input.LedgerName; if (labelValue.length <= 0) { @@ -94,6 +85,15 @@ export const serializeAws_restJson1CancelJournalKinesisStreamCommand = async ( } else { throw new Error("No value provided for input HTTP label: LedgerName."); } + if (input.StreamId !== undefined) { + const labelValue: string = input.StreamId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: StreamId."); + } + resolvedPath = resolvedPath.replace("{StreamId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: StreamId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -172,15 +172,6 @@ export const serializeAws_restJson1DescribeJournalKinesisStreamCommand = async ( "Content-Type": "", }; let resolvedPath = "/ledgers/{LedgerName}/journal-kinesis-streams/{StreamId}"; - if (input.StreamId !== undefined) { - const labelValue: string = input.StreamId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: StreamId."); - } - resolvedPath = resolvedPath.replace("{StreamId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: StreamId."); - } if (input.LedgerName !== undefined) { const labelValue: string = input.LedgerName; if (labelValue.length <= 0) { @@ -190,6 +181,15 @@ export const serializeAws_restJson1DescribeJournalKinesisStreamCommand = async ( } else { throw new Error("No value provided for input HTTP label: LedgerName."); } + if (input.StreamId !== undefined) { + const labelValue: string = input.StreamId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: StreamId."); + } + resolvedPath = resolvedPath.replace("{StreamId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: StreamId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -439,8 +439,8 @@ export const serializeAws_restJson1ListJournalKinesisStreamsForLedgerCommand = a throw new Error("No value provided for input HTTP label: LedgerName."); } const query: any = { - ...(input.MaxResults !== undefined && { max_results: input.MaxResults.toString() }), ...(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(); @@ -500,8 +500,8 @@ export const serializeAws_restJson1ListJournalS3ExportsForLedgerCommand = async throw new Error("No value provided for input HTTP label: Name."); } const query: any = { - ...(input.MaxResults !== undefined && { max_results: input.MaxResults.toString() }), ...(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(); diff --git a/clients/client-quicksight/QuickSight.ts b/clients/client-quicksight/QuickSight.ts index aec16f9aeeb4..16f736d7fef6 100644 --- a/clients/client-quicksight/QuickSight.ts +++ b/clients/client-quicksight/QuickSight.ts @@ -9,6 +9,11 @@ import { CreateAccountCustomizationCommandInput, CreateAccountCustomizationCommandOutput, } from "./commands/CreateAccountCustomizationCommand"; +import { + CreateAnalysisCommand, + CreateAnalysisCommandInput, + CreateAnalysisCommandOutput, +} from "./commands/CreateAnalysisCommand"; import { CreateDashboardCommand, CreateDashboardCommandInput, @@ -66,6 +71,11 @@ import { DeleteAccountCustomizationCommandInput, DeleteAccountCustomizationCommandOutput, } from "./commands/DeleteAccountCustomizationCommand"; +import { + DeleteAnalysisCommand, + DeleteAnalysisCommandInput, + DeleteAnalysisCommandOutput, +} from "./commands/DeleteAnalysisCommand"; import { DeleteDashboardCommand, DeleteDashboardCommandInput, @@ -129,6 +139,16 @@ import { DescribeAccountSettingsCommandInput, DescribeAccountSettingsCommandOutput, } from "./commands/DescribeAccountSettingsCommand"; +import { + DescribeAnalysisCommand, + DescribeAnalysisCommandInput, + DescribeAnalysisCommandOutput, +} from "./commands/DescribeAnalysisCommand"; +import { + DescribeAnalysisPermissionsCommand, + DescribeAnalysisPermissionsCommandInput, + DescribeAnalysisPermissionsCommandOutput, +} from "./commands/DescribeAnalysisPermissionsCommand"; import { DescribeDashboardCommand, DescribeDashboardCommandInput, @@ -224,6 +244,11 @@ import { GetSessionEmbedUrlCommandInput, GetSessionEmbedUrlCommandOutput, } from "./commands/GetSessionEmbedUrlCommand"; +import { + ListAnalysesCommand, + ListAnalysesCommandInput, + ListAnalysesCommandOutput, +} from "./commands/ListAnalysesCommand"; import { ListDashboardVersionsCommand, ListDashboardVersionsCommandInput, @@ -312,6 +337,16 @@ import { RegisterUserCommandInput, RegisterUserCommandOutput, } from "./commands/RegisterUserCommand"; +import { + RestoreAnalysisCommand, + RestoreAnalysisCommandInput, + RestoreAnalysisCommandOutput, +} from "./commands/RestoreAnalysisCommand"; +import { + SearchAnalysesCommand, + SearchAnalysesCommandInput, + SearchAnalysesCommandOutput, +} from "./commands/SearchAnalysesCommand"; import { SearchDashboardsCommand, SearchDashboardsCommandInput, @@ -333,6 +368,16 @@ import { UpdateAccountSettingsCommandInput, UpdateAccountSettingsCommandOutput, } from "./commands/UpdateAccountSettingsCommand"; +import { + UpdateAnalysisCommand, + UpdateAnalysisCommandInput, + UpdateAnalysisCommandOutput, +} from "./commands/UpdateAnalysisCommand"; +import { + UpdateAnalysisPermissionsCommand, + UpdateAnalysisPermissionsCommandInput, + UpdateAnalysisPermissionsCommandOutput, +} from "./commands/UpdateAnalysisPermissionsCommand"; import { UpdateDashboardCommand, UpdateDashboardCommandInput, @@ -405,10 +450,10 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** * Amazon QuickSight API Reference - *

                                                        Amazon QuickSight is a fully managed, serverless business intelligence service for the AWS - * Cloud that makes it easy to extend data and insights to every user in your organization. - * This API reference contains documentation for a programming interface that you can use - * to manage Amazon QuickSight.

                                                        + *

                                                        Amazon QuickSight is a fully managed, serverless business intelligence service for the + * AWS Cloud that makes it easy to extend data and insights to every user in your + * organization. This API reference contains documentation for a programming interface that + * you can use to manage Amazon QuickSight.

                                                        */ export class QuickSight extends QuickSightClient { /** @@ -444,7 +489,28 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                        Creates a customization for the Amazon QuickSight subscription associated with your AWS account.

                                                        + *

                                                        Creates Amazon QuickSight customizations the current AWS Region. Currently, you can + * add a custom default theme by using the CreateAccountCustomization or + * UpdateAccountCustomization API operation. To further customize + * QuickSight by removing QuickSight sample assets and videos for all new users, see Customizing QuickSight in the Amazon QuickSight User + * Guide. + *

                                                        + *

                                                        You can create customizations for your AWS account or, if you specify a namespace, for + * a QuickSight namespace instead. Customizations that apply to a namespace always override + * customizations that apply to an AWS account. To find out which customizations apply, use + * the DescribeAccountCustomization API operation.

                                                        + *

                                                        Before you use the CreateAccountCustomization API operation to add a theme + * as the namespace default, make sure that you first share the theme with the namespace. + * If you don't share it with the namespace, the theme isn't visible to your users + * even if you make it the default theme. + * To check if the theme is shared, view the current permissions by using the + * + * DescribeThemePermissions + * API operation. + * To share the theme, grant permissions by using the + * + * UpdateThemePermissions + * API operation.

                                                        */ public createAccountCustomization( args: CreateAccountCustomizationCommandInput, @@ -476,14 +542,45 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                        Creates a dashboard from a template. To first create a template, see the - * CreateTemplate API operation.

                                                        - *

                                                        A dashboard is an entity in QuickSight that identifies QuickSight reports, created from - * analyses. You can share QuickSight dashboards. With the right permissions, you can - * create scheduled email reports from them. The CreateDashboard, - * DescribeDashboard, and ListDashboardsByUser API operations - * act on the dashboard entity. If you have the correct permissions, you can create a - * dashboard from a template that exists in a different AWS account.

                                                        + *

                                                        Creates an analysis in Amazon QuickSight.

                                                        + */ + public createAnalysis( + args: CreateAnalysisCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createAnalysis( + args: CreateAnalysisCommandInput, + cb: (err: any, data?: CreateAnalysisCommandOutput) => void + ): void; + public createAnalysis( + args: CreateAnalysisCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAnalysisCommandOutput) => void + ): void; + public createAnalysis( + args: CreateAnalysisCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateAnalysisCommandOutput) => void), + cb?: (err: any, data?: CreateAnalysisCommandOutput) => void + ): Promise | void { + const command = new CreateAnalysisCommand(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 dashboard from a template. To first create a template, see the + * CreateTemplate + * API operation.

                                                        + *

                                                        A dashboard is an entity in QuickSight that identifies QuickSight reports, created + * from analyses. You can share QuickSight dashboards. With the right permissions, you can + * create scheduled email reports from them. If you have the correct permissions, you can + * create a dashboard from a template that exists in a different AWS account.

                                                        */ public createDashboard( args: CreateDashboardCommandInput, @@ -882,7 +979,8 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                        Deletes customizations for the QuickSight subscription on your AWS account.

                                                        + *

                                                        Deletes all Amazon QuickSight customizations in this AWS Region for the specified AWS + * account and QuickSight namespace.

                                                        */ public deleteAccountCustomization( args: DeleteAccountCustomizationCommandInput, @@ -913,6 +1011,49 @@ export class QuickSight extends QuickSightClient { } } + /** + *

                                                        Deletes an analysis from Amazon QuickSight. You can optionally include a recovery window during + * which you can restore the analysis. If you don't specify a recovery window value, the + * operation defaults to 30 days. QuickSight attaches a DeletionTime stamp to + * the response that specifies the end of the recovery window. At the end of the recovery + * window, QuickSight deletes the analysis permanently.

                                                        + *

                                                        At any time before recovery window ends, you can use the RestoreAnalysis + * API operation to remove the DeletionTime stamp and cancel the deletion of + * the analysis. The analysis remains visible in the API until it's deleted, so you can + * describe it but you can't make a template from it.

                                                        + *

                                                        An analysis that's scheduled for deletion isn't accessible in the QuickSight console. + * To access it in the console, restore it. Deleting an analysis doesn't delete the + * dashboards that you publish from it.

                                                        + */ + public deleteAnalysis( + args: DeleteAnalysisCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteAnalysis( + args: DeleteAnalysisCommandInput, + cb: (err: any, data?: DeleteAnalysisCommandOutput) => void + ): void; + public deleteAnalysis( + args: DeleteAnalysisCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAnalysisCommandOutput) => void + ): void; + public deleteAnalysis( + args: DeleteAnalysisCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAnalysisCommandOutput) => void), + cb?: (err: any, data?: DeleteAnalysisCommandOutput) => void + ): Promise | void { + const command = new DeleteAnalysisCommand(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 dashboard.

                                                        */ @@ -978,7 +1119,7 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                        Deletes the data source permanently. This action breaks + *

                                                        Deletes the data source permanently. This operation breaks * all the datasets that reference the deleted data source.

                                                        */ public deleteDataSource( @@ -1103,7 +1244,7 @@ export class QuickSight extends QuickSightClient { /** *

                                                        Deletes a namespace and the users and groups that are associated with the namespace. * This is an asynchronous process. Assets including dashboards, analyses, datasets and data sources are not - * deleted. To delete these assets, you use the APIs for the relevant asset.

                                                        + * deleted. To delete these assets, you use the API operations for the relevant asset.

                                                        */ public deleteNamespace( args: DeleteNamespaceCommandInput, @@ -1320,7 +1461,63 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                        Describes the customizations associated with your AWS account.

                                                        + *

                                                        Describes the customizations associated with the provided AWS account and Amazon + * QuickSight namespace in an AWS Region. The QuickSight console evaluates which + * customizations to apply by running this API operation with the Resolved flag + * included.

                                                        + *

                                                        To determine what customizations display when you run this command, it can help to + * visualize the relationship of the entities involved.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * AWS Account - The AWS account exists at the top of the hierarchy. + * It has the potential to use all of the AWS Regions and AWS Services. When you + * subscribe to QuickSight, you choose one AWS Region to use as your home Region. + * That's where your free SPICE capacity is located. You can use QuickSight in any + * supported AWS Region.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * AWS Region - In each AWS Region where you sign in to QuickSight + * at least once, QuickSight acts as a separate instance of the same service. If + * you have a user directory, it resides in us-east-1, which is the US East (N. + * Virginia). Generally speaking, these users have access to QuickSight in any AWS + * Region, unless they are constrained to a namespace.

                                                          + *

                                                          To run the command in a different AWS Region, you change your Region settings. + * If you're using the AWS CLI, you can use one of the following options:

                                                          + * + *
                                                        • + *
                                                        • + *

                                                          + * Namespace - A QuickSight namespace is a partition that contains + * users and assets (data sources, datasets, dashboards, and so on). To access + * assets that are in a specific namespace, users and groups must also be part of + * the same namespace. People who share a namespace are completely isolated from + * users and assets in other namespaces, even if they are in the same AWS account + * and AWS Region.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * Applied customizations - Within an AWS Region, a set of + * QuickSight customizations can apply to an AWS account or to a namespace. + * Settings that you apply to a namespace override settings that you apply to an + * AWS account. All settings are isolated to a single AWS Region. To apply them in + * other AWS Regions, run the CreateAccountCustomization command in + * each AWS Region where you want to apply the same customizations.

                                                          + *
                                                        • + *
                                                        */ public describeAccountCustomization( args: DescribeAccountCustomizationCommandInput, @@ -1352,8 +1549,8 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                        Describes the settings that were used when your QuickSight subscription was first created - * in this AWS Account.

                                                        + *

                                                        Describes the settings that were used when your QuickSight subscription was first + * created in this AWS account.

                                                        */ public describeAccountSettings( args: DescribeAccountSettingsCommandInput, @@ -1384,6 +1581,70 @@ export class QuickSight extends QuickSightClient { } } + /** + *

                                                        Provides a summary of the metadata for an analysis.

                                                        + */ + public describeAnalysis( + args: DescribeAnalysisCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeAnalysis( + args: DescribeAnalysisCommandInput, + cb: (err: any, data?: DescribeAnalysisCommandOutput) => void + ): void; + public describeAnalysis( + args: DescribeAnalysisCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAnalysisCommandOutput) => void + ): void; + public describeAnalysis( + args: DescribeAnalysisCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeAnalysisCommandOutput) => void), + cb?: (err: any, data?: DescribeAnalysisCommandOutput) => void + ): Promise | void { + const command = new DescribeAnalysisCommand(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 the read and write permissions for an analysis.

                                                        + */ + public describeAnalysisPermissions( + args: DescribeAnalysisPermissionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeAnalysisPermissions( + args: DescribeAnalysisPermissionsCommandInput, + cb: (err: any, data?: DescribeAnalysisPermissionsCommandOutput) => void + ): void; + public describeAnalysisPermissions( + args: DescribeAnalysisPermissionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAnalysisPermissionsCommandOutput) => void + ): void; + public describeAnalysisPermissions( + args: DescribeAnalysisPermissionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeAnalysisPermissionsCommandOutput) => void), + cb?: (err: any, data?: DescribeAnalysisPermissionsCommandOutput) => void + ): Promise | void { + const command = new DescribeAnalysisPermissionsCommand(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 a summary for a dashboard.

                                                        */ @@ -1927,28 +2188,29 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                        Generates a URL and authorization code that you can embed in your web server code. Before - * you use this command, make sure that you have configured the dashboards and permissions.

                                                        - *

                                                        Currently, you can use GetDashboardEmbedURL only from the server, not from the - * user's browser. The following rules apply to the combination of URL and - * authorization code:

                                                        - *
                                                          + *

                                                          Generates a session URL and authorization code that you can use to embed an Amazon + * QuickSight read-only dashboard in your web server code. Before you use this command, + * make sure that you have configured the dashboards and permissions.

                                                          + *

                                                          Currently, you can use GetDashboardEmbedURL only from the server, not + * from the user's browser. The following rules apply to the combination of URL and + * authorization code:

                                                          + *
                                                            *
                                                          • - *

                                                            They must be used together.

                                                            - *
                                                          • + *

                                                            They must be used together.

                                                            + * *
                                                          • - *

                                                            They can be used one time only.

                                                            - *
                                                          • + *

                                                            They can be used one time only.

                                                            + * *
                                                          • - *

                                                            They are valid for 5 minutes after you run this command.

                                                            - *
                                                          • + *

                                                            They are valid for 5 minutes after you run this command.

                                                            + * *
                                                          • - *

                                                            The resulting user session is valid for 10 hours.

                                                            - *
                                                          • + *

                                                            The resulting user session is valid for 10 hours.

                                                            + * *
                                                          - *

                                                          For more information, see Embedding Amazon QuickSight Dashboards in the Amazon QuickSight User - * Guide or Embedding Amazon QuickSight Dashboards in the Amazon QuickSight API - * Reference.

                                                          + *

                                                          For more information, see Embedding Amazon QuickSight in the Amazon QuickSight User + * Guide + * .

                                                          */ public getDashboardEmbedUrl( args: GetDashboardEmbedUrlCommandInput, @@ -1980,7 +2242,31 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                          Generates a session URL and authorization code that you can embed in your web server code.

                                                          + *

                                                          Generates a session URL and authorization code that you can use to embed the Amazon + * QuickSight console in your web server code. Use GetSessionEmbedUrl where + * you want to provide an authoring portal that allows users to create data sources, + * datasets, analyses, and dashboards. The users who access an embedded QuickSight console + * need belong to the author or admin security cohort. If you want to restrict permissions + * to some of these features, add a custom permissions profile to the user with the + * + * UpdateUser + * API operation. Use + * RegisterUser + * API operation to add a new user with a custom permission profile attached. For more + * information, see the following sections in the Amazon QuickSight User + * Guide:

                                                          + * */ public getSessionEmbedUrl( args: GetSessionEmbedUrlCommandInput, @@ -2011,6 +2297,35 @@ export class QuickSight extends QuickSightClient { } } + /** + *

                                                          Lists Amazon QuickSight analyses that exist in the specified AWS account.

                                                          + */ + public listAnalyses( + args: ListAnalysesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAnalyses(args: ListAnalysesCommandInput, cb: (err: any, data?: ListAnalysesCommandOutput) => void): void; + public listAnalyses( + args: ListAnalysesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAnalysesCommandOutput) => void + ): void; + public listAnalyses( + args: ListAnalysesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAnalysesCommandOutput) => void), + cb?: (err: any, data?: ListAnalysesCommandOutput) => void + ): Promise | void { + const command = new ListAnalysesCommand(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 dashboards in an AWS account.

                                                          */ @@ -2632,7 +2947,71 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                          Searchs for dashboards that belong to a user.

                                                          + *

                                                          Restores an analysis.

                                                          + */ + public restoreAnalysis( + args: RestoreAnalysisCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public restoreAnalysis( + args: RestoreAnalysisCommandInput, + cb: (err: any, data?: RestoreAnalysisCommandOutput) => void + ): void; + public restoreAnalysis( + args: RestoreAnalysisCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RestoreAnalysisCommandOutput) => void + ): void; + public restoreAnalysis( + args: RestoreAnalysisCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RestoreAnalysisCommandOutput) => void), + cb?: (err: any, data?: RestoreAnalysisCommandOutput) => void + ): Promise | void { + const command = new RestoreAnalysisCommand(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); + } + } + + /** + *

                                                          Searches for analyses that belong to the user specified in the filter.

                                                          + */ + public searchAnalyses( + args: SearchAnalysesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public searchAnalyses( + args: SearchAnalysesCommandInput, + cb: (err: any, data?: SearchAnalysesCommandOutput) => void + ): void; + public searchAnalyses( + args: SearchAnalysesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: SearchAnalysesCommandOutput) => void + ): void; + public searchAnalyses( + args: SearchAnalysesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: SearchAnalysesCommandOutput) => void), + cb?: (err: any, data?: SearchAnalysesCommandOutput) => void + ): Promise | void { + const command = new SearchAnalysesCommand(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); + } + } + + /** + *

                                                          Searches for dashboards that belong to a user.

                                                          */ public searchDashboards( args: SearchDashboardsCommandInput, @@ -2743,7 +3122,12 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                          Updates customizations associated with the QuickSight subscription on your AWS account.

                                                          + *

                                                          Updates Amazon QuickSight customizations the current AWS Region. Currently, the only + * customization you can use is a theme.

                                                          + *

                                                          You can use customizations for your AWS account or, if you specify a namespace, for a + * QuickSight namespace instead. Customizations that apply to a namespace override + * customizations that apply to an AWS account. To find out which customizations apply, use + * the DescribeAccountCustomization API operation.

                                                          */ public updateAccountCustomization( args: UpdateAccountCustomizationCommandInput, @@ -2775,7 +3159,7 @@ export class QuickSight extends QuickSightClient { } /** - *

                                                          Updates the settings for the Amazon QuickSight subscription in your AWS Account.

                                                          + *

                                                          Updates the Amazon QuickSight settings in your AWS account.

                                                          */ public updateAccountSettings( args: UpdateAccountSettingsCommandInput, @@ -2806,6 +3190,70 @@ export class QuickSight extends QuickSightClient { } } + /** + *

                                                          Updates an analysis in Amazon QuickSight

                                                          + */ + public updateAnalysis( + args: UpdateAnalysisCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateAnalysis( + args: UpdateAnalysisCommandInput, + cb: (err: any, data?: UpdateAnalysisCommandOutput) => void + ): void; + public updateAnalysis( + args: UpdateAnalysisCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAnalysisCommandOutput) => void + ): void; + public updateAnalysis( + args: UpdateAnalysisCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateAnalysisCommandOutput) => void), + cb?: (err: any, data?: UpdateAnalysisCommandOutput) => void + ): Promise | void { + const command = new UpdateAnalysisCommand(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 read and write permissions for an analysis.

                                                          + */ + public updateAnalysisPermissions( + args: UpdateAnalysisPermissionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateAnalysisPermissions( + args: UpdateAnalysisPermissionsCommandInput, + cb: (err: any, data?: UpdateAnalysisPermissionsCommandOutput) => void + ): void; + public updateAnalysisPermissions( + args: UpdateAnalysisPermissionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAnalysisPermissionsCommandOutput) => void + ): void; + public updateAnalysisPermissions( + args: UpdateAnalysisPermissionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateAnalysisPermissionsCommandOutput) => void), + cb?: (err: any, data?: UpdateAnalysisPermissionsCommandOutput) => void + ): Promise | void { + const command = new UpdateAnalysisPermissionsCommand(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 dashboard in an AWS account.

                                                          */ diff --git a/clients/client-quicksight/QuickSightClient.ts b/clients/client-quicksight/QuickSightClient.ts index 51c4ba1385ac..bb9a7fd8f403 100644 --- a/clients/client-quicksight/QuickSightClient.ts +++ b/clients/client-quicksight/QuickSightClient.ts @@ -3,6 +3,7 @@ import { CreateAccountCustomizationCommandInput, CreateAccountCustomizationCommandOutput, } from "./commands/CreateAccountCustomizationCommand"; +import { CreateAnalysisCommandInput, CreateAnalysisCommandOutput } from "./commands/CreateAnalysisCommand"; import { CreateDashboardCommandInput, CreateDashboardCommandOutput } from "./commands/CreateDashboardCommand"; import { CreateDataSetCommandInput, CreateDataSetCommandOutput } from "./commands/CreateDataSetCommand"; import { CreateDataSourceCommandInput, CreateDataSourceCommandOutput } from "./commands/CreateDataSourceCommand"; @@ -28,6 +29,7 @@ import { DeleteAccountCustomizationCommandInput, DeleteAccountCustomizationCommandOutput, } from "./commands/DeleteAccountCustomizationCommand"; +import { DeleteAnalysisCommandInput, DeleteAnalysisCommandOutput } from "./commands/DeleteAnalysisCommand"; import { DeleteDashboardCommandInput, DeleteDashboardCommandOutput } from "./commands/DeleteDashboardCommand"; import { DeleteDataSetCommandInput, DeleteDataSetCommandOutput } from "./commands/DeleteDataSetCommand"; import { DeleteDataSourceCommandInput, DeleteDataSourceCommandOutput } from "./commands/DeleteDataSourceCommand"; @@ -61,6 +63,11 @@ import { DescribeAccountSettingsCommandInput, DescribeAccountSettingsCommandOutput, } from "./commands/DescribeAccountSettingsCommand"; +import { DescribeAnalysisCommandInput, DescribeAnalysisCommandOutput } from "./commands/DescribeAnalysisCommand"; +import { + DescribeAnalysisPermissionsCommandInput, + DescribeAnalysisPermissionsCommandOutput, +} from "./commands/DescribeAnalysisPermissionsCommand"; import { DescribeDashboardCommandInput, DescribeDashboardCommandOutput } from "./commands/DescribeDashboardCommand"; import { DescribeDashboardPermissionsCommandInput, @@ -104,6 +111,7 @@ import { GetDashboardEmbedUrlCommandOutput, } from "./commands/GetDashboardEmbedUrlCommand"; import { GetSessionEmbedUrlCommandInput, GetSessionEmbedUrlCommandOutput } from "./commands/GetSessionEmbedUrlCommand"; +import { ListAnalysesCommandInput, ListAnalysesCommandOutput } from "./commands/ListAnalysesCommand"; import { ListDashboardVersionsCommandInput, ListDashboardVersionsCommandOutput, @@ -145,6 +153,8 @@ import { ListThemesCommandInput, ListThemesCommandOutput } from "./commands/List import { ListUserGroupsCommandInput, ListUserGroupsCommandOutput } from "./commands/ListUserGroupsCommand"; import { ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand"; import { RegisterUserCommandInput, RegisterUserCommandOutput } from "./commands/RegisterUserCommand"; +import { RestoreAnalysisCommandInput, RestoreAnalysisCommandOutput } from "./commands/RestoreAnalysisCommand"; +import { SearchAnalysesCommandInput, SearchAnalysesCommandOutput } from "./commands/SearchAnalysesCommand"; import { SearchDashboardsCommandInput, SearchDashboardsCommandOutput } from "./commands/SearchDashboardsCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; @@ -156,6 +166,11 @@ import { UpdateAccountSettingsCommandInput, UpdateAccountSettingsCommandOutput, } from "./commands/UpdateAccountSettingsCommand"; +import { UpdateAnalysisCommandInput, UpdateAnalysisCommandOutput } from "./commands/UpdateAnalysisCommand"; +import { + UpdateAnalysisPermissionsCommandInput, + UpdateAnalysisPermissionsCommandOutput, +} from "./commands/UpdateAnalysisPermissionsCommand"; import { UpdateDashboardCommandInput, UpdateDashboardCommandOutput } from "./commands/UpdateDashboardCommand"; import { UpdateDashboardPermissionsCommandInput, @@ -248,6 +263,7 @@ import { export type ServiceInputTypes = | CancelIngestionCommandInput | CreateAccountCustomizationCommandInput + | CreateAnalysisCommandInput | CreateDashboardCommandInput | CreateDataSetCommandInput | CreateDataSourceCommandInput @@ -261,6 +277,7 @@ export type ServiceInputTypes = | CreateThemeAliasCommandInput | CreateThemeCommandInput | DeleteAccountCustomizationCommandInput + | DeleteAnalysisCommandInput | DeleteDashboardCommandInput | DeleteDataSetCommandInput | DeleteDataSourceCommandInput @@ -276,6 +293,8 @@ export type ServiceInputTypes = | DeleteUserCommandInput | DescribeAccountCustomizationCommandInput | DescribeAccountSettingsCommandInput + | DescribeAnalysisCommandInput + | DescribeAnalysisPermissionsCommandInput | DescribeDashboardCommandInput | DescribeDashboardPermissionsCommandInput | DescribeDataSetCommandInput @@ -295,6 +314,7 @@ export type ServiceInputTypes = | DescribeUserCommandInput | GetDashboardEmbedUrlCommandInput | GetSessionEmbedUrlCommandInput + | ListAnalysesCommandInput | ListDashboardVersionsCommandInput | ListDashboardsCommandInput | ListDataSetsCommandInput @@ -315,11 +335,15 @@ export type ServiceInputTypes = | ListUserGroupsCommandInput | ListUsersCommandInput | RegisterUserCommandInput + | RestoreAnalysisCommandInput + | SearchAnalysesCommandInput | SearchDashboardsCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateAccountCustomizationCommandInput | UpdateAccountSettingsCommandInput + | UpdateAnalysisCommandInput + | UpdateAnalysisPermissionsCommandInput | UpdateDashboardCommandInput | UpdateDashboardPermissionsCommandInput | UpdateDashboardPublishedVersionCommandInput @@ -340,6 +364,7 @@ export type ServiceInputTypes = export type ServiceOutputTypes = | CancelIngestionCommandOutput | CreateAccountCustomizationCommandOutput + | CreateAnalysisCommandOutput | CreateDashboardCommandOutput | CreateDataSetCommandOutput | CreateDataSourceCommandOutput @@ -353,6 +378,7 @@ export type ServiceOutputTypes = | CreateThemeAliasCommandOutput | CreateThemeCommandOutput | DeleteAccountCustomizationCommandOutput + | DeleteAnalysisCommandOutput | DeleteDashboardCommandOutput | DeleteDataSetCommandOutput | DeleteDataSourceCommandOutput @@ -368,6 +394,8 @@ export type ServiceOutputTypes = | DeleteUserCommandOutput | DescribeAccountCustomizationCommandOutput | DescribeAccountSettingsCommandOutput + | DescribeAnalysisCommandOutput + | DescribeAnalysisPermissionsCommandOutput | DescribeDashboardCommandOutput | DescribeDashboardPermissionsCommandOutput | DescribeDataSetCommandOutput @@ -387,6 +415,7 @@ export type ServiceOutputTypes = | DescribeUserCommandOutput | GetDashboardEmbedUrlCommandOutput | GetSessionEmbedUrlCommandOutput + | ListAnalysesCommandOutput | ListDashboardVersionsCommandOutput | ListDashboardsCommandOutput | ListDataSetsCommandOutput @@ -407,11 +436,15 @@ export type ServiceOutputTypes = | ListUserGroupsCommandOutput | ListUsersCommandOutput | RegisterUserCommandOutput + | RestoreAnalysisCommandOutput + | SearchAnalysesCommandOutput | SearchDashboardsCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAccountCustomizationCommandOutput | UpdateAccountSettingsCommandOutput + | UpdateAnalysisCommandOutput + | UpdateAnalysisPermissionsCommandOutput | UpdateDashboardCommandOutput | UpdateDashboardPermissionsCommandOutput | UpdateDashboardPublishedVersionCommandOutput @@ -543,10 +576,10 @@ export type QuickSightClientResolvedConfig = __SmithyResolvedConfiguration<__Htt /** * Amazon QuickSight API Reference - *

                                                          Amazon QuickSight is a fully managed, serverless business intelligence service for the AWS - * Cloud that makes it easy to extend data and insights to every user in your organization. - * This API reference contains documentation for a programming interface that you can use - * to manage Amazon QuickSight.

                                                          + *

                                                          Amazon QuickSight is a fully managed, serverless business intelligence service for the + * AWS Cloud that makes it easy to extend data and insights to every user in your + * organization. This API reference contains documentation for a programming interface that + * you can use to manage Amazon QuickSight.

                                                          */ export class QuickSightClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-quicksight/commands/CreateAnalysisCommand.ts b/clients/client-quicksight/commands/CreateAnalysisCommand.ts new file mode 100644 index 000000000000..277788f9a945 --- /dev/null +++ b/clients/client-quicksight/commands/CreateAnalysisCommand.ts @@ -0,0 +1,70 @@ +import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; +import { CreateAnalysisRequest, CreateAnalysisResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateAnalysisCommand, + serializeAws_restJson1CreateAnalysisCommand, +} 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 CreateAnalysisCommandInput = CreateAnalysisRequest; +export type CreateAnalysisCommandOutput = CreateAnalysisResponse & __MetadataBearer; + +export class CreateAnalysisCommand extends $Command< + CreateAnalysisCommandInput, + CreateAnalysisCommandOutput, + QuickSightClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateAnalysisCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: QuickSightClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateAnalysisRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateAnalysisResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateAnalysisCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateAnalysisCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateAnalysisCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-quicksight/commands/DeleteAnalysisCommand.ts b/clients/client-quicksight/commands/DeleteAnalysisCommand.ts new file mode 100644 index 000000000000..09356546510f --- /dev/null +++ b/clients/client-quicksight/commands/DeleteAnalysisCommand.ts @@ -0,0 +1,70 @@ +import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; +import { DeleteAnalysisRequest, DeleteAnalysisResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteAnalysisCommand, + serializeAws_restJson1DeleteAnalysisCommand, +} 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 DeleteAnalysisCommandInput = DeleteAnalysisRequest; +export type DeleteAnalysisCommandOutput = DeleteAnalysisResponse & __MetadataBearer; + +export class DeleteAnalysisCommand extends $Command< + DeleteAnalysisCommandInput, + DeleteAnalysisCommandOutput, + QuickSightClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAnalysisCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: QuickSightClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteAnalysisRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteAnalysisResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteAnalysisCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteAnalysisCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteAnalysisCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-quicksight/commands/DescribeAnalysisCommand.ts b/clients/client-quicksight/commands/DescribeAnalysisCommand.ts new file mode 100644 index 000000000000..eb653784098f --- /dev/null +++ b/clients/client-quicksight/commands/DescribeAnalysisCommand.ts @@ -0,0 +1,70 @@ +import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; +import { DescribeAnalysisRequest, DescribeAnalysisResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeAnalysisCommand, + serializeAws_restJson1DescribeAnalysisCommand, +} 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 DescribeAnalysisCommandInput = DescribeAnalysisRequest; +export type DescribeAnalysisCommandOutput = DescribeAnalysisResponse & __MetadataBearer; + +export class DescribeAnalysisCommand extends $Command< + DescribeAnalysisCommandInput, + DescribeAnalysisCommandOutput, + QuickSightClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeAnalysisCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: QuickSightClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeAnalysisRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeAnalysisResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeAnalysisCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeAnalysisCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeAnalysisCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-quicksight/commands/DescribeAnalysisPermissionsCommand.ts b/clients/client-quicksight/commands/DescribeAnalysisPermissionsCommand.ts new file mode 100644 index 000000000000..cbc77cdfd541 --- /dev/null +++ b/clients/client-quicksight/commands/DescribeAnalysisPermissionsCommand.ts @@ -0,0 +1,73 @@ +import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; +import { DescribeAnalysisPermissionsRequest, DescribeAnalysisPermissionsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeAnalysisPermissionsCommand, + serializeAws_restJson1DescribeAnalysisPermissionsCommand, +} 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 DescribeAnalysisPermissionsCommandInput = DescribeAnalysisPermissionsRequest; +export type DescribeAnalysisPermissionsCommandOutput = DescribeAnalysisPermissionsResponse & __MetadataBearer; + +export class DescribeAnalysisPermissionsCommand extends $Command< + DescribeAnalysisPermissionsCommandInput, + DescribeAnalysisPermissionsCommandOutput, + QuickSightClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeAnalysisPermissionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: QuickSightClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeAnalysisPermissionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeAnalysisPermissionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeAnalysisPermissionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeAnalysisPermissionsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeAnalysisPermissionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-quicksight/commands/ListAnalysesCommand.ts b/clients/client-quicksight/commands/ListAnalysesCommand.ts new file mode 100644 index 000000000000..c64e7b570672 --- /dev/null +++ b/clients/client-quicksight/commands/ListAnalysesCommand.ts @@ -0,0 +1,70 @@ +import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; +import { ListAnalysesRequest, ListAnalysesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListAnalysesCommand, + serializeAws_restJson1ListAnalysesCommand, +} 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 ListAnalysesCommandInput = ListAnalysesRequest; +export type ListAnalysesCommandOutput = ListAnalysesResponse & __MetadataBearer; + +export class ListAnalysesCommand extends $Command< + ListAnalysesCommandInput, + ListAnalysesCommandOutput, + QuickSightClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAnalysesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: QuickSightClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListAnalysesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAnalysesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListAnalysesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListAnalysesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListAnalysesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-quicksight/commands/ListTemplateVersionsCommand.ts b/clients/client-quicksight/commands/ListTemplateVersionsCommand.ts index 07ba355532e4..1e1093ddf131 100644 --- a/clients/client-quicksight/commands/ListTemplateVersionsCommand.ts +++ b/clients/client-quicksight/commands/ListTemplateVersionsCommand.ts @@ -1,5 +1,5 @@ import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; -import { ListTemplateVersionsRequest, ListTemplateVersionsResponse } from "../models/models_0"; +import { ListTemplateVersionsRequest, ListTemplateVersionsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListTemplateVersionsCommand, serializeAws_restJson1ListTemplateVersionsCommand, diff --git a/clients/client-quicksight/commands/ListTemplatesCommand.ts b/clients/client-quicksight/commands/ListTemplatesCommand.ts index 70908c05e3d0..a05230e06374 100644 --- a/clients/client-quicksight/commands/ListTemplatesCommand.ts +++ b/clients/client-quicksight/commands/ListTemplatesCommand.ts @@ -1,5 +1,5 @@ import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; -import { ListTemplatesRequest, ListTemplatesResponse } from "../models/models_0"; +import { ListTemplatesRequest, ListTemplatesResponse } from "../models/models_1"; import { deserializeAws_restJson1ListTemplatesCommand, serializeAws_restJson1ListTemplatesCommand, diff --git a/clients/client-quicksight/commands/ListThemeAliasesCommand.ts b/clients/client-quicksight/commands/ListThemeAliasesCommand.ts index ce092d040a4f..585464b0bd0c 100644 --- a/clients/client-quicksight/commands/ListThemeAliasesCommand.ts +++ b/clients/client-quicksight/commands/ListThemeAliasesCommand.ts @@ -1,5 +1,5 @@ import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; -import { ListThemeAliasesRequest, ListThemeAliasesResponse } from "../models/models_0"; +import { ListThemeAliasesRequest, ListThemeAliasesResponse } from "../models/models_1"; import { deserializeAws_restJson1ListThemeAliasesCommand, serializeAws_restJson1ListThemeAliasesCommand, diff --git a/clients/client-quicksight/commands/ListThemeVersionsCommand.ts b/clients/client-quicksight/commands/ListThemeVersionsCommand.ts index 2ad75023b4f5..a82642bc4044 100644 --- a/clients/client-quicksight/commands/ListThemeVersionsCommand.ts +++ b/clients/client-quicksight/commands/ListThemeVersionsCommand.ts @@ -1,5 +1,5 @@ import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; -import { ListThemeVersionsRequest, ListThemeVersionsResponse } from "../models/models_0"; +import { ListThemeVersionsRequest, ListThemeVersionsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListThemeVersionsCommand, serializeAws_restJson1ListThemeVersionsCommand, diff --git a/clients/client-quicksight/commands/ListThemesCommand.ts b/clients/client-quicksight/commands/ListThemesCommand.ts index 677ac4a870fc..0d498cc8649c 100644 --- a/clients/client-quicksight/commands/ListThemesCommand.ts +++ b/clients/client-quicksight/commands/ListThemesCommand.ts @@ -1,5 +1,5 @@ import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; -import { ListThemesRequest, ListThemesResponse } from "../models/models_0"; +import { ListThemesRequest, ListThemesResponse } from "../models/models_1"; import { deserializeAws_restJson1ListThemesCommand, serializeAws_restJson1ListThemesCommand, diff --git a/clients/client-quicksight/commands/ListUserGroupsCommand.ts b/clients/client-quicksight/commands/ListUserGroupsCommand.ts index 5a6f2ff05224..10600e3d39f7 100644 --- a/clients/client-quicksight/commands/ListUserGroupsCommand.ts +++ b/clients/client-quicksight/commands/ListUserGroupsCommand.ts @@ -1,5 +1,5 @@ import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; -import { ListUserGroupsRequest, ListUserGroupsResponse } from "../models/models_0"; +import { ListUserGroupsRequest, ListUserGroupsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListUserGroupsCommand, serializeAws_restJson1ListUserGroupsCommand, diff --git a/clients/client-quicksight/commands/ListUsersCommand.ts b/clients/client-quicksight/commands/ListUsersCommand.ts index dbba6e7ad786..ffe455ed6979 100644 --- a/clients/client-quicksight/commands/ListUsersCommand.ts +++ b/clients/client-quicksight/commands/ListUsersCommand.ts @@ -1,5 +1,5 @@ import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; -import { ListUsersRequest, ListUsersResponse } from "../models/models_0"; +import { ListUsersRequest, ListUsersResponse } from "../models/models_1"; import { deserializeAws_restJson1ListUsersCommand, serializeAws_restJson1ListUsersCommand, diff --git a/clients/client-quicksight/commands/RegisterUserCommand.ts b/clients/client-quicksight/commands/RegisterUserCommand.ts index 484e5913ffdb..7da662d907a0 100644 --- a/clients/client-quicksight/commands/RegisterUserCommand.ts +++ b/clients/client-quicksight/commands/RegisterUserCommand.ts @@ -1,6 +1,5 @@ import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; -import { RegisterUserRequest } from "../models/models_0"; -import { RegisterUserResponse } from "../models/models_1"; +import { RegisterUserRequest, RegisterUserResponse } from "../models/models_1"; import { deserializeAws_restJson1RegisterUserCommand, serializeAws_restJson1RegisterUserCommand, diff --git a/clients/client-quicksight/commands/RestoreAnalysisCommand.ts b/clients/client-quicksight/commands/RestoreAnalysisCommand.ts new file mode 100644 index 000000000000..37afbadafa60 --- /dev/null +++ b/clients/client-quicksight/commands/RestoreAnalysisCommand.ts @@ -0,0 +1,70 @@ +import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; +import { RestoreAnalysisRequest, RestoreAnalysisResponse } from "../models/models_1"; +import { + deserializeAws_restJson1RestoreAnalysisCommand, + serializeAws_restJson1RestoreAnalysisCommand, +} 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 RestoreAnalysisCommandInput = RestoreAnalysisRequest; +export type RestoreAnalysisCommandOutput = RestoreAnalysisResponse & __MetadataBearer; + +export class RestoreAnalysisCommand extends $Command< + RestoreAnalysisCommandInput, + RestoreAnalysisCommandOutput, + QuickSightClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RestoreAnalysisCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: QuickSightClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: RestoreAnalysisRequest.filterSensitiveLog, + outputFilterSensitiveLog: RestoreAnalysisResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: RestoreAnalysisCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1RestoreAnalysisCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1RestoreAnalysisCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-quicksight/commands/SearchAnalysesCommand.ts b/clients/client-quicksight/commands/SearchAnalysesCommand.ts new file mode 100644 index 000000000000..03afe45f1689 --- /dev/null +++ b/clients/client-quicksight/commands/SearchAnalysesCommand.ts @@ -0,0 +1,70 @@ +import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; +import { SearchAnalysesRequest, SearchAnalysesResponse } from "../models/models_1"; +import { + deserializeAws_restJson1SearchAnalysesCommand, + serializeAws_restJson1SearchAnalysesCommand, +} 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 SearchAnalysesCommandInput = SearchAnalysesRequest; +export type SearchAnalysesCommandOutput = SearchAnalysesResponse & __MetadataBearer; + +export class SearchAnalysesCommand extends $Command< + SearchAnalysesCommandInput, + SearchAnalysesCommandOutput, + QuickSightClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: SearchAnalysesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: QuickSightClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: SearchAnalysesRequest.filterSensitiveLog, + outputFilterSensitiveLog: SearchAnalysesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: SearchAnalysesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1SearchAnalysesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1SearchAnalysesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-quicksight/commands/UpdateAnalysisCommand.ts b/clients/client-quicksight/commands/UpdateAnalysisCommand.ts new file mode 100644 index 000000000000..a629901fc01d --- /dev/null +++ b/clients/client-quicksight/commands/UpdateAnalysisCommand.ts @@ -0,0 +1,70 @@ +import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; +import { UpdateAnalysisRequest, UpdateAnalysisResponse } from "../models/models_1"; +import { + deserializeAws_restJson1UpdateAnalysisCommand, + serializeAws_restJson1UpdateAnalysisCommand, +} 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 UpdateAnalysisCommandInput = UpdateAnalysisRequest; +export type UpdateAnalysisCommandOutput = UpdateAnalysisResponse & __MetadataBearer; + +export class UpdateAnalysisCommand extends $Command< + UpdateAnalysisCommandInput, + UpdateAnalysisCommandOutput, + QuickSightClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateAnalysisCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: QuickSightClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateAnalysisRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateAnalysisResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateAnalysisCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateAnalysisCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateAnalysisCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-quicksight/commands/UpdateAnalysisPermissionsCommand.ts b/clients/client-quicksight/commands/UpdateAnalysisPermissionsCommand.ts new file mode 100644 index 000000000000..cc6e7b42531b --- /dev/null +++ b/clients/client-quicksight/commands/UpdateAnalysisPermissionsCommand.ts @@ -0,0 +1,73 @@ +import { QuickSightClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QuickSightClient"; +import { UpdateAnalysisPermissionsRequest, UpdateAnalysisPermissionsResponse } from "../models/models_1"; +import { + deserializeAws_restJson1UpdateAnalysisPermissionsCommand, + serializeAws_restJson1UpdateAnalysisPermissionsCommand, +} 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 UpdateAnalysisPermissionsCommandInput = UpdateAnalysisPermissionsRequest; +export type UpdateAnalysisPermissionsCommandOutput = UpdateAnalysisPermissionsResponse & __MetadataBearer; + +export class UpdateAnalysisPermissionsCommand extends $Command< + UpdateAnalysisPermissionsCommandInput, + UpdateAnalysisPermissionsCommandOutput, + QuickSightClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateAnalysisPermissionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: QuickSightClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateAnalysisPermissionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateAnalysisPermissionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateAnalysisPermissionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateAnalysisPermissionsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1UpdateAnalysisPermissionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-quicksight/index.ts b/clients/client-quicksight/index.ts index 350f3eb7ae3e..94ebca1bc137 100644 --- a/clients/client-quicksight/index.ts +++ b/clients/client-quicksight/index.ts @@ -2,6 +2,7 @@ export * from "./QuickSightClient"; export * from "./QuickSight"; export * from "./commands/CancelIngestionCommand"; export * from "./commands/CreateAccountCustomizationCommand"; +export * from "./commands/CreateAnalysisCommand"; export * from "./commands/CreateDashboardCommand"; export * from "./commands/CreateDataSetCommand"; export * from "./commands/CreateDataSourceCommand"; @@ -15,6 +16,7 @@ export * from "./commands/CreateTemplateAliasCommand"; export * from "./commands/CreateThemeCommand"; export * from "./commands/CreateThemeAliasCommand"; export * from "./commands/DeleteAccountCustomizationCommand"; +export * from "./commands/DeleteAnalysisCommand"; export * from "./commands/DeleteDashboardCommand"; export * from "./commands/DeleteDataSetCommand"; export * from "./commands/DeleteDataSourceCommand"; @@ -30,6 +32,8 @@ export * from "./commands/DeleteUserCommand"; export * from "./commands/DeleteUserByPrincipalIdCommand"; export * from "./commands/DescribeAccountCustomizationCommand"; export * from "./commands/DescribeAccountSettingsCommand"; +export * from "./commands/DescribeAnalysisCommand"; +export * from "./commands/DescribeAnalysisPermissionsCommand"; export * from "./commands/DescribeDashboardCommand"; export * from "./commands/DescribeDashboardPermissionsCommand"; export * from "./commands/DescribeDataSetCommand"; @@ -49,6 +53,8 @@ export * from "./commands/DescribeThemePermissionsCommand"; export * from "./commands/DescribeUserCommand"; export * from "./commands/GetDashboardEmbedUrlCommand"; export * from "./commands/GetSessionEmbedUrlCommand"; +export * from "./commands/ListAnalysesCommand"; +export * from "./pagination/ListAnalysesPaginator"; export * from "./commands/ListDashboardsCommand"; export * from "./pagination/ListDashboardsPaginator"; export * from "./commands/ListDashboardVersionsCommand"; @@ -78,12 +84,17 @@ export * from "./commands/ListThemeVersionsCommand"; export * from "./commands/ListUserGroupsCommand"; export * from "./commands/ListUsersCommand"; export * from "./commands/RegisterUserCommand"; +export * from "./commands/RestoreAnalysisCommand"; +export * from "./commands/SearchAnalysesCommand"; +export * from "./pagination/SearchAnalysesPaginator"; export * from "./commands/SearchDashboardsCommand"; export * from "./pagination/SearchDashboardsPaginator"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateAccountCustomizationCommand"; export * from "./commands/UpdateAccountSettingsCommand"; +export * from "./commands/UpdateAnalysisCommand"; +export * from "./commands/UpdateAnalysisPermissionsCommand"; export * from "./commands/UpdateDashboardCommand"; export * from "./commands/UpdateDashboardPermissionsCommand"; export * from "./commands/UpdateDashboardPublishedVersionCommand"; diff --git a/clients/client-quicksight/models/models_0.ts b/clients/client-quicksight/models/models_0.ts index 9653eff5754e..79c0fdc7aa29 100644 --- a/clients/client-quicksight/models/models_0.ts +++ b/clients/client-quicksight/models/models_0.ts @@ -10,12 +10,11 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; $fault: "client"; + Message?: string; /** *

                                                          The AWS request ID for this request.

                                                          */ RequestId?: string; - - Message?: string; } export namespace AccessDeniedException { @@ -25,7 +24,7 @@ export namespace AccessDeniedException { } /** - *

                                                          The customizations associated with your AWS account for QuickSight.

                                                          + *

                                                          The Amazon QuickSight customizations associated with your AWS account or a QuickSight namespace in a specific AWS Region.

                                                          */ export interface AccountCustomization { /** @@ -50,7 +49,9 @@ export enum Edition { */ export interface AccountSettings { /** - *

                                                          The name associated with the QuickSight subscription in your AWS account.

                                                          + *

                                                          The "account name" you provided for the QuickSight subscription in your AWS account. + * You create this name when you sign up for QuickSight. It is unique in all of AWS and + * it appears only in the console when users sign in.

                                                          */ AccountName?: string; @@ -60,12 +61,13 @@ export interface AccountSettings { NotificationEmail?: string; /** - *

                                                          The default QuickSight namespace for your AWS account.

                                                          + *

                                                          The default QuickSight namespace for your AWS account.

                                                          */ DefaultNamespace?: string; /** - *

                                                          The edition of QuickSight that you're currently subscribed to.

                                                          + *

                                                          The edition of QuickSight that you're currently subscribed to: + * Enterprise edition or Standard edition.

                                                          */ Edition?: Edition | string; } @@ -134,6 +136,273 @@ export namespace AmazonElasticsearchParameters { }); } +export enum AnalysisErrorType { + ACCESS_DENIED = "ACCESS_DENIED", + COLUMN_GEOGRAPHIC_ROLE_MISMATCH = "COLUMN_GEOGRAPHIC_ROLE_MISMATCH", + COLUMN_REPLACEMENT_MISSING = "COLUMN_REPLACEMENT_MISSING", + COLUMN_TYPE_MISMATCH = "COLUMN_TYPE_MISMATCH", + DATA_SET_NOT_FOUND = "DATA_SET_NOT_FOUND", + INTERNAL_FAILURE = "INTERNAL_FAILURE", + PARAMETER_NOT_FOUND = "PARAMETER_NOT_FOUND", + PARAMETER_TYPE_INVALID = "PARAMETER_TYPE_INVALID", + PARAMETER_VALUE_INCOMPATIBLE = "PARAMETER_VALUE_INCOMPATIBLE", + SOURCE_NOT_FOUND = "SOURCE_NOT_FOUND", +} + +/** + *

                                                          A metadata error structure for an analysis.

                                                          + */ +export interface AnalysisError { + /** + *

                                                          The message associated with the analysis error.

                                                          + */ + Message?: string; + + /** + *

                                                          The type of the analysis error.

                                                          + */ + Type?: AnalysisErrorType | string; +} + +export namespace AnalysisError { + export const filterSensitiveLog = (obj: AnalysisError): any => ({ + ...obj, + }); +} + +/** + *

                                                          A sheet is an object that contains a set of visuals that are viewed together on one page in the + * Amazon QuickSight console. Every analysis and dashboard contains at least one sheet. Each sheet contains at + * least one visualization widget, for example a chart, pivot table, or narrative insight. Sheets can + * be associated with other components, such as controls, filters, and so on.

                                                          + */ +export interface Sheet { + /** + *

                                                          The name of a sheet. This is displayed on the sheet's tab in the QuickSight console.

                                                          + */ + Name?: string; + + /** + *

                                                          The unique identifier associated with a sheet.

                                                          + */ + SheetId?: string; +} + +export namespace Sheet { + export const filterSensitiveLog = (obj: Sheet): any => ({ + ...obj, + }); +} + +export enum ResourceStatus { + CREATION_FAILED = "CREATION_FAILED", + CREATION_IN_PROGRESS = "CREATION_IN_PROGRESS", + CREATION_SUCCESSFUL = "CREATION_SUCCESSFUL", + DELETED = "DELETED", + UPDATE_FAILED = "UPDATE_FAILED", + UPDATE_IN_PROGRESS = "UPDATE_IN_PROGRESS", + UPDATE_SUCCESSFUL = "UPDATE_SUCCESSFUL", +} + +/** + *

                                                          Metadata structure for an analysis in Amazon QuickSight

                                                          + */ +export interface Analysis { + /** + *

                                                          A list of the associated sheets with the unique identifier and name of each sheet.

                                                          + */ + Sheets?: Sheet[]; + + /** + *

                                                          The ID of the analysis.

                                                          + */ + AnalysisId?: string; + + /** + *

                                                          The ARNs of the datasets of the analysis.

                                                          + */ + DataSetArns?: string[]; + + /** + *

                                                          Status associated with the analysis.

                                                          + */ + Status?: ResourceStatus | string; + + /** + *

                                                          Errors associated with the analysis.

                                                          + */ + Errors?: AnalysisError[]; + + /** + *

                                                          The ARN of the theme of the analysis.

                                                          + */ + ThemeArn?: string; + + /** + *

                                                          The descriptive name of the analysis.

                                                          + */ + Name?: string; + + /** + *

                                                          The time that the analysis was created.

                                                          + */ + CreatedTime?: Date; + + /** + *

                                                          The Amazon Resource Name (ARN) of the analysis.

                                                          + */ + Arn?: string; + + /** + *

                                                          The time that the analysis was last updated.

                                                          + */ + LastUpdatedTime?: Date; +} + +export namespace Analysis { + export const filterSensitiveLog = (obj: Analysis): any => ({ + ...obj, + }); +} + +export enum AnalysisFilterAttribute { + QUICKSIGHT_USER = "QUICKSIGHT_USER", +} + +export enum FilterOperator { + StringEquals = "StringEquals", +} + +/** + *

                                                          A filter that you apply when searching for one or more analyses.

                                                          + */ +export interface AnalysisSearchFilter { + /** + *

                                                          The name of the value that you want to use as a filter, for example "Name": + * "QUICKSIGHT_USER".

                                                          + */ + Name?: AnalysisFilterAttribute | string; + + /** + *

                                                          The value of the named item, in this case QUICKSIGHT_USER, that you want + * to use as a filter, for example "Value". An example is + * "arn:aws:quicksight:us-east-1:1:user/default/UserName1".

                                                          + */ + Value?: string; + + /** + *

                                                          The comparison operator that you want to use as a filter, for example + * "Operator": "StringEquals".

                                                          + */ + Operator?: FilterOperator | string; +} + +export namespace AnalysisSearchFilter { + export const filterSensitiveLog = (obj: AnalysisSearchFilter): any => ({ + ...obj, + }); +} + +/** + *

                                                          Dataset reference.

                                                          + */ +export interface DataSetReference { + /** + *

                                                          Dataset Amazon Resource Name (ARN).

                                                          + */ + DataSetArn: string | undefined; + + /** + *

                                                          Dataset placeholder.

                                                          + */ + DataSetPlaceholder: string | undefined; +} + +export namespace DataSetReference { + export const filterSensitiveLog = (obj: DataSetReference): any => ({ + ...obj, + }); +} + +/** + *

                                                          The source template of an analysis.

                                                          + */ +export interface AnalysisSourceTemplate { + /** + *

                                                          The Amazon Resource Name (ARN) of the source template of an analysis.

                                                          + */ + Arn: string | undefined; + + /** + *

                                                          The dataset references of the source template of an analysis.

                                                          + */ + DataSetReferences: DataSetReference[] | undefined; +} + +export namespace AnalysisSourceTemplate { + export const filterSensitiveLog = (obj: AnalysisSourceTemplate): any => ({ + ...obj, + }); +} + +/** + *

                                                          The source entity of an analysis.

                                                          + */ +export interface AnalysisSourceEntity { + /** + *

                                                          The source template for the source entity of the analysis.

                                                          + */ + SourceTemplate?: AnalysisSourceTemplate; +} + +export namespace AnalysisSourceEntity { + export const filterSensitiveLog = (obj: AnalysisSourceEntity): any => ({ + ...obj, + }); +} + +/** + *

                                                          The summary metadata that describes an analysis.

                                                          + */ +export interface AnalysisSummary { + /** + *

                                                          The last known status for the analysis.

                                                          + */ + Status?: ResourceStatus | string; + + /** + *

                                                          The name of the analysis. This name is displayed in the QuickSight console. + *

                                                          + */ + Name?: string; + + /** + *

                                                          The time that the analysis was last updated.

                                                          + */ + LastUpdatedTime?: Date; + + /** + *

                                                          The Amazon Resource Name (ARN) for the analysis.

                                                          + */ + Arn?: string; + + /** + *

                                                          The ID of the analysis. This ID displays in the URL.

                                                          + */ + AnalysisId?: string; + + /** + *

                                                          The time that the analysis was created.

                                                          + */ + CreatedTime?: Date; +} + +export namespace AnalysisSummary { + export const filterSensitiveLog = (obj: AnalysisSummary): any => ({ + ...obj, + }); +} + export enum AssignmentStatus { DISABLED = "DISABLED", DRAFT = "DRAFT", @@ -244,6 +513,11 @@ export namespace BorderStyle { *

                                                          A calculated column for a dataset.

                                                          */ export interface CalculatedColumn { + /** + *

                                                          Column name.

                                                          + */ + ColumnName: string | undefined; + /** *

                                                          A unique ID to identify a calculated column. During a dataset update, if the column ID * of a calculated column matches that of an existing calculated column, Amazon QuickSight @@ -251,11 +525,6 @@ export interface CalculatedColumn { */ ColumnId: string | undefined; - /** - *

                                                          Column name.

                                                          - */ - ColumnName: string | undefined; - /** *

                                                          An expression that defines the calculated column.

                                                          */ @@ -419,12 +688,11 @@ export namespace ResourceNotFoundException { export interface ThrottlingException extends __SmithyException, $MetadataBearer { name: "ThrottlingException"; $fault: "client"; + Message?: string; /** *

                                                          The AWS request ID for this request.

                                                          */ RequestId?: string; - - Message?: string; } export namespace ThrottlingException { @@ -476,14 +744,14 @@ export enum GeoSpatialCountryCode { */ export interface GeoSpatialColumnGroup { /** - *

                                                          A display name for the hierarchy.

                                                          + *

                                                          Columns in this hierarchy.

                                                          */ - Name: string | undefined; + Columns: string[] | undefined; /** - *

                                                          Columns in this hierarchy.

                                                          + *

                                                          A display name for the hierarchy.

                                                          */ - Columns: string[] | undefined; + Name: string | undefined; /** *

                                                          Country code.

                                                          @@ -556,6 +824,11 @@ export namespace ColumnGroupSchema { *

                                                          The column schema.

                                                          */ export interface ColumnSchema { + /** + *

                                                          The name of the column schema.

                                                          + */ + Name?: string; + /** *

                                                          The data type of the column schema.

                                                          */ @@ -565,11 +838,6 @@ export interface ColumnSchema { *

                                                          The geographic role of the column schema.

                                                          */ GeographicRole?: string; - - /** - *

                                                          The name of the column schema.

                                                          - */ - Name?: string; } export namespace ColumnSchema { @@ -607,7 +875,7 @@ export namespace ColumnTag { } /** - *

                                                          A resource is already in a state that indicates an action is happening that must complete + *

                                                          A resource is already in a state that indicates an operation is happening that must complete * before a new update can be applied.

                                                          */ export interface ConcurrentUpdatingException extends __SmithyException, $MetadataBearer { @@ -629,12 +897,11 @@ export namespace ConcurrentUpdatingException { export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; $fault: "client"; + Message?: string; /** *

                                                          The AWS request ID for this request.

                                                          */ RequestId?: string; - - Message?: string; } export namespace ConflictException { @@ -643,174 +910,131 @@ export namespace ConflictException { }); } -export interface CreateAccountCustomizationRequest { - /** - *

                                                          The namespace associated with the customization that you're creating.

                                                          - */ - Namespace?: string; - +/** + *

                                                          The key or keys of the key-value pairs for the resource tag or tags assigned to the + * resource.

                                                          + */ +export interface Tag { /** - *

                                                          The customizations you're adding to the QuickSight subscription for the AWS account. - * For example, you could add a default theme by setting AccountCustomization to - * the midnight theme (DefaultTheme="arn:aws:quicksight::aws:theme/MIDNIGHT") or to a custom theme (DefaultTheme="arn:aws:quicksight:us-west-2:111122223333:theme/bdb844d0-0fe9-4d9d-b520-0fe602d93639").

                                                          + *

                                                          Tag key.

                                                          */ - AccountCustomization: AccountCustomization | undefined; + Key: string | undefined; /** - *

                                                          The ID for the AWS account that you want to customize QuickSight for.

                                                          + *

                                                          Tag value.

                                                          */ - AwsAccountId: string | undefined; + Value: string | undefined; } -export namespace CreateAccountCustomizationRequest { - export const filterSensitiveLog = (obj: CreateAccountCustomizationRequest): any => ({ +export namespace Tag { + export const filterSensitiveLog = (obj: Tag): any => ({ ...obj, }); } -export interface CreateAccountCustomizationResponse { +export interface CreateAccountCustomizationRequest { /** - *

                                                          The AWS request ID for this operation.

                                                          + *

                                                          The QuickSight namespace that you want to add customizations to.

                                                          */ - RequestId?: string; + Namespace?: string; /** - *

                                                          The customizations you're adding to the QuickSight subscription for the AWS account.

                                                          + *

                                                          The QuickSight customizations you're adding in the current AWS Region. You can add + * these to an AWS account and a QuickSight namespace.

                                                          + *

                                                          For example, you can add a default theme by setting AccountCustomization + * to the midnight theme: "AccountCustomization": { "DefaultTheme": + * "arn:aws:quicksight::aws:theme/MIDNIGHT" }. Or, you can add a custom theme by + * specifying "AccountCustomization": { "DefaultTheme": + * "arn:aws:quicksight:us-west-2:111122223333:theme/bdb844d0-0fe9-4d9d-b520-0fe602d93639" + * }.

                                                          */ - AccountCustomization?: AccountCustomization; + AccountCustomization: AccountCustomization | undefined; /** - *

                                                          The namespace associated with the customization you're creating.

                                                          + *

                                                          A list of the tags that you want to attach to this resource.

                                                          */ - Namespace?: string; + Tags?: Tag[]; /** *

                                                          The ID for the AWS account that you want to customize QuickSight for.

                                                          */ - AwsAccountId?: string; + AwsAccountId: string | undefined; } -export namespace CreateAccountCustomizationResponse { - export const filterSensitiveLog = (obj: CreateAccountCustomizationResponse): any => ({ +export namespace CreateAccountCustomizationRequest { + export const filterSensitiveLog = (obj: CreateAccountCustomizationRequest): any => ({ ...obj, }); } -/** - *

                                                          This resource is currently unavailable.

                                                          - */ -export interface ResourceUnavailableException extends __SmithyException, $MetadataBearer { - name: "ResourceUnavailableException"; - $fault: "server"; +export interface CreateAccountCustomizationResponse { /** - *

                                                          The resource type for this request.

                                                          + *

                                                          The AWS request ID for this operation.

                                                          */ - ResourceType?: ExceptionResourceType | string; + RequestId?: string; - Message?: string; /** - *

                                                          The AWS request ID for this request.

                                                          + *

                                                          The Amazon Resource Name (ARN) for the customization that you created for this AWS account.

                                                          */ - RequestId?: string; -} - -export namespace ResourceUnavailableException { - export const filterSensitiveLog = (obj: ResourceUnavailableException): any => ({ - ...obj, - }); -} + Arn?: string; -/** - *

                                                          A transform operation that creates calculated columns. Columns created in one such - * operation form a lexical closure.

                                                          - */ -export interface CreateColumnsOperation { /** - *

                                                          Calculated columns to create.

                                                          + *

                                                          The QuickSight customizations you're adding in the current AWS Region.

                                                          */ - Columns: CalculatedColumn[] | undefined; -} - -export namespace CreateColumnsOperation { - export const filterSensitiveLog = (obj: CreateColumnsOperation): any => ({ - ...obj, - }); -} + AccountCustomization?: AccountCustomization; -/** - *

                                                          Export to .csv option.

                                                          - */ -export interface ExportToCSVOption { /** - *

                                                          Availability status.

                                                          + *

                                                          The namespace associated with the customization you're creating.

                                                          */ - AvailabilityStatus?: DashboardBehavior | string; -} - -export namespace ExportToCSVOption { - export const filterSensitiveLog = (obj: ExportToCSVOption): any => ({ - ...obj, - }); -} - -export enum DashboardUIState { - COLLAPSED = "COLLAPSED", - EXPANDED = "EXPANDED", -} + Namespace?: string; -/** - *

                                                          Sheet controls option.

                                                          - */ -export interface SheetControlsOption { /** - *

                                                          Visibility state.

                                                          + *

                                                          The ID for the AWS account that you want to customize QuickSight for.

                                                          */ - VisibilityState?: DashboardUIState | string; + AwsAccountId?: string; } -export namespace SheetControlsOption { - export const filterSensitiveLog = (obj: SheetControlsOption): any => ({ +export namespace CreateAccountCustomizationResponse { + export const filterSensitiveLog = (obj: CreateAccountCustomizationResponse): any => ({ ...obj, }); } /** - *

                                                          Dashboard publish options.

                                                          + *

                                                          This resource is currently unavailable.

                                                          */ -export interface DashboardPublishOptions { - /** - *

                                                          Export to .csv option.

                                                          - */ - ExportToCSVOption?: ExportToCSVOption; - +export interface ResourceUnavailableException extends __SmithyException, $MetadataBearer { + name: "ResourceUnavailableException"; + $fault: "server"; /** - *

                                                          Ad hoc (one-time) filtering option.

                                                          + *

                                                          The resource type for this request.

                                                          */ - AdHocFilteringOption?: AdHocFilteringOption; + ResourceType?: ExceptionResourceType | string; + Message?: string; /** - *

                                                          Sheet controls option.

                                                          + *

                                                          The AWS request ID for this request.

                                                          */ - SheetControlsOption?: SheetControlsOption; + RequestId?: string; } -export namespace DashboardPublishOptions { - export const filterSensitiveLog = (obj: DashboardPublishOptions): any => ({ +export namespace ResourceUnavailableException { + export const filterSensitiveLog = (obj: ResourceUnavailableException): any => ({ ...obj, }); } /** - *

                                                          Date time parameter.

                                                          + *

                                                          A date-time parameter.

                                                          */ export interface DateTimeParameter { /** - *

                                                          Values.

                                                          + *

                                                          The values for the date-time parameter.

                                                          */ Values: Date[] | undefined; /** - *

                                                          A display name for the dataset.

                                                          + *

                                                          A display name for the date-time parameter.

                                                          */ Name: string | undefined; } @@ -822,18 +1046,18 @@ export namespace DateTimeParameter { } /** - *

                                                          Decimal parameter.

                                                          + *

                                                          A decimal parameter.

                                                          */ export interface DecimalParameter { /** - *

                                                          A display name for the dataset.

                                                          + *

                                                          The values for the decimal parameter.

                                                          */ - Name: string | undefined; + Values: number[] | undefined; /** - *

                                                          Values.

                                                          + *

                                                          A display name for the decimal parameter.

                                                          */ - Values: number[] | undefined; + Name: string | undefined; } export namespace DecimalParameter { @@ -843,18 +1067,18 @@ export namespace DecimalParameter { } /** - *

                                                          Integer parameter.

                                                          + *

                                                          An integer parameter.

                                                          */ export interface IntegerParameter { /** - *

                                                          A display name for the dataset.

                                                          + *

                                                          The values for the integer parameter.

                                                          */ - Name: string | undefined; + Values: number[] | undefined; /** - *

                                                          Values.

                                                          + *

                                                          The name of the integer parameter.

                                                          */ - Values: number[] | undefined; + Name: string | undefined; } export namespace IntegerParameter { @@ -864,16 +1088,16 @@ export namespace IntegerParameter { } /** - *

                                                          String parameter.

                                                          + *

                                                          A string parameter.

                                                          */ export interface StringParameter { /** - *

                                                          Values.

                                                          + *

                                                          The values of a string parameter.

                                                          */ Values: string[] | undefined; /** - *

                                                          A display name for the dataset.

                                                          + *

                                                          A display name for a string parameter.

                                                          */ Name: string | undefined; } @@ -885,21 +1109,21 @@ export namespace StringParameter { } /** - *

                                                          Parameters.

                                                          + *

                                                          A list of QuickSight parameters and the list's override values.

                                                          */ export interface _Parameters { /** - *

                                                          String parameters.

                                                          + *

                                                          Decimal parameters.

                                                          */ - StringParameters?: StringParameter[]; + DecimalParameters?: DecimalParameter[]; /** - *

                                                          Decimal parameters.

                                                          + *

                                                          String parameters.

                                                          */ - DecimalParameters?: DecimalParameter[]; + StringParameters?: StringParameter[]; /** - *

                                                          DateTime parameters.

                                                          + *

                                                          Date-time parameters.

                                                          */ DateTimeParameters?: DateTimeParameter[]; @@ -919,12 +1143,6 @@ export namespace _Parameters { *

                                                          Permission for the resource.

                                                          */ export interface ResourcePermission { - /** - *

                                                          The action to grant or revoke permissions on, for example - * "quicksight:DescribeDashboard".

                                                          - */ - Actions: string[] | undefined; - /** *

                                                          The Amazon Resource Name (ARN) of the principal. This can be one of the * following:

                                                          @@ -941,6 +1159,12 @@ export interface ResourcePermission { *
                                                        */ Principal: string | undefined; + + /** + *

                                                        The IAM action to grant or revoke permissions on, for example + * "quicksight:DescribeDashboard".

                                                        + */ + Actions: string[] | undefined; } export namespace ResourcePermission { @@ -949,172 +1173,323 @@ export namespace ResourcePermission { }); } -/** - *

                                                        Dataset reference.

                                                        - */ -export interface DataSetReference { +export interface CreateAnalysisRequest { /** - *

                                                        Dataset Amazon Resource Name (ARN).

                                                        + *

                                                        The ARN for the theme to apply to the analysis that you're creating. To see the theme + * in the QuickSight console, make sure that you have access to it.

                                                        */ - DataSetArn: string | undefined; + ThemeArn?: string; /** - *

                                                        Dataset placeholder.

                                                        + *

                                                        Contains a map of the key-value pairs for the resource tag or tags assigned to the + * analysis.

                                                        */ - DataSetPlaceholder: string | undefined; + Tags?: Tag[]; + + /** + *

                                                        The parameter names and override values that you want to use. An analysis can have + * any parameter type, and some parameters might accept multiple values.

                                                        + */ + Parameters?: _Parameters; + + /** + *

                                                        A source entity to use for the analysis that you're creating. This metadata structure + * contains details that describe a source template and one or more datasets.

                                                        + */ + SourceEntity: AnalysisSourceEntity | undefined; + + /** + *

                                                        The ID for the analysis that you're creating. This ID displays in the URL of the + * analysis.

                                                        + */ + AnalysisId: string | undefined; + + /** + *

                                                        A structure that describes the principals and the resource-level permissions on an + * analysis. You can use the Permissions structure to grant permissions by + * providing a list of AWS Identity and Access Management (IAM) action information for each + * principal listed by Amazon Resource Name (ARN).

                                                        + * + *

                                                        To specify no permissions, omit Permissions.

                                                        + */ + Permissions?: ResourcePermission[]; + + /** + *

                                                        The ID of the AWS account where you are creating an analysis.

                                                        + */ + AwsAccountId: string | undefined; + + /** + *

                                                        A descriptive name for the analysis that you're creating. This name displays for the + * analysis in the QuickSight console.

                                                        + */ + Name: string | undefined; } -export namespace DataSetReference { - export const filterSensitiveLog = (obj: DataSetReference): any => ({ +export namespace CreateAnalysisRequest { + export const filterSensitiveLog = (obj: CreateAnalysisRequest): any => ({ ...obj, }); } -/** - *

                                                        Dashboard source template.

                                                        - */ -export interface DashboardSourceTemplate { +export interface CreateAnalysisResponse { /** - *

                                                        The Amazon Resource Name (ARN) of the resource.

                                                        + *

                                                        The status of the creation of the analysis.

                                                        */ - Arn: string | undefined; + CreationStatus?: ResourceStatus | string; /** - *

                                                        Dataset references.

                                                        + *

                                                        The ARN for the analysis.

                                                        */ - DataSetReferences: DataSetReference[] | undefined; + Arn?: string; + + /** + *

                                                        The AWS request ID for this operation.

                                                        + */ + RequestId?: string; + + /** + *

                                                        The ID of the analysis.

                                                        + */ + AnalysisId?: string; } -export namespace DashboardSourceTemplate { - export const filterSensitiveLog = (obj: DashboardSourceTemplate): any => ({ +export namespace CreateAnalysisResponse { + export const filterSensitiveLog = (obj: CreateAnalysisResponse): any => ({ ...obj, }); } /** - *

                                                        Dashboard source entity.

                                                        + *

                                                        This error indicates that you are calling an operation on an Amazon QuickSight + * subscription where the edition doesn't include support for that operation. Amazon + * QuickSight currently has Standard Edition and Enterprise Edition. Not every operation and + * capability is available in every edition.

                                                        */ -export interface DashboardSourceEntity { +export interface UnsupportedUserEditionException extends __SmithyException, $MetadataBearer { + name: "UnsupportedUserEditionException"; + $fault: "client"; /** - *

                                                        Source template.

                                                        + *

                                                        The AWS request ID for this request.

                                                        */ - SourceTemplate?: DashboardSourceTemplate; + RequestId?: string; + + Message?: string; } -export namespace DashboardSourceEntity { - export const filterSensitiveLog = (obj: DashboardSourceEntity): any => ({ +export namespace UnsupportedUserEditionException { + export const filterSensitiveLog = (obj: UnsupportedUserEditionException): any => ({ ...obj, }); } /** - *

                                                        The key or keys of the key-value pairs for the resource tag or tags assigned to the - * resource.

                                                        + *

                                                        A transform operation that creates calculated columns. Columns created in one such + * operation form a lexical closure.

                                                        */ -export interface Tag { +export interface CreateColumnsOperation { /** - *

                                                        Tag key.

                                                        + *

                                                        Calculated columns to create.

                                                        */ - Key: string | undefined; + Columns: CalculatedColumn[] | undefined; +} + +export namespace CreateColumnsOperation { + export const filterSensitiveLog = (obj: CreateColumnsOperation): any => ({ + ...obj, + }); +} +/** + *

                                                        Export to .csv option.

                                                        + */ +export interface ExportToCSVOption { /** - *

                                                        Tag value.

                                                        + *

                                                        Availability status.

                                                        */ - Value: string | undefined; + AvailabilityStatus?: DashboardBehavior | string; } -export namespace Tag { - export const filterSensitiveLog = (obj: Tag): any => ({ +export namespace ExportToCSVOption { + export const filterSensitiveLog = (obj: ExportToCSVOption): any => ({ ...obj, }); } -export interface CreateDashboardRequest { - /** - *

                                                        A structure that contains the permissions of the dashboard. You can use this structure for - * granting permissions with principal and action information.

                                                        - */ - Permissions?: ResourcePermission[]; +export enum DashboardUIState { + COLLAPSED = "COLLAPSED", + EXPANDED = "EXPANDED", +} +/** + *

                                                        Sheet controls option.

                                                        + */ +export interface SheetControlsOption { /** - *

                                                        The ID for the dashboard, also added to the IAM policy.

                                                        + *

                                                        Visibility state.

                                                        */ - DashboardId: string | undefined; + VisibilityState?: DashboardUIState | string; +} +export namespace SheetControlsOption { + export const filterSensitiveLog = (obj: SheetControlsOption): any => ({ + ...obj, + }); +} + +/** + *

                                                        Dashboard publish options.

                                                        + */ +export interface DashboardPublishOptions { /** - *

                                                        The display name of the dashboard.

                                                        + *

                                                        Ad hoc (one-time) filtering option.

                                                        */ - Name: string | undefined; + AdHocFilteringOption?: AdHocFilteringOption; + + /** + *

                                                        Export to .csv option.

                                                        + */ + ExportToCSVOption?: ExportToCSVOption; + + /** + *

                                                        Sheet controls option.

                                                        + */ + SheetControlsOption?: SheetControlsOption; +} + +export namespace DashboardPublishOptions { + export const filterSensitiveLog = (obj: DashboardPublishOptions): any => ({ + ...obj, + }); +} + +/** + *

                                                        Dashboard source template.

                                                        + */ +export interface DashboardSourceTemplate { + /** + *

                                                        Dataset references.

                                                        + */ + DataSetReferences: DataSetReference[] | undefined; + + /** + *

                                                        The Amazon Resource Name (ARN) of the resource.

                                                        + */ + Arn: string | undefined; +} + +export namespace DashboardSourceTemplate { + export const filterSensitiveLog = (obj: DashboardSourceTemplate): any => ({ + ...obj, + }); +} + +/** + *

                                                        Dashboard source entity.

                                                        + */ +export interface DashboardSourceEntity { + /** + *

                                                        Source template.

                                                        + */ + SourceTemplate?: DashboardSourceTemplate; +} + +export namespace DashboardSourceEntity { + export const filterSensitiveLog = (obj: DashboardSourceEntity): any => ({ + ...obj, + }); +} +export interface CreateDashboardRequest { /** *

                                                        A description for the first version of the dashboard being created.

                                                        */ VersionDescription?: string; /** - *

                                                        The ID of the AWS account where you want to create the dashboard.

                                                        + *

                                                        The ID for the dashboard, also added to the IAM policy.

                                                        */ - AwsAccountId: string | undefined; + DashboardId: string | undefined; /** - *

                                                        Contains a map of the key-value pairs for the resource tag or tags assigned to the dashboard.

                                                        + *

                                                        The display name of the dashboard.

                                                        */ - Tags?: Tag[]; + Name: string | undefined; /** - *

                                                        The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. If you add a value - * for this field, it overrides the value that is used in the source entity. The theme ARN must exist - * in the same AWS account where you create the dashboard.

                                                        + *

                                                        A structure that contains the permissions of the dashboard. You can use this structure + * for granting permissions by providing a list of IAM action information for each + * principal ARN.

                                                        + * + *

                                                        To specify no permissions, omit the permissions list.

                                                        */ - ThemeArn?: string; + Permissions?: ResourcePermission[]; + + /** + *

                                                        The ID of the AWS account where you want to create the dashboard.

                                                        + */ + AwsAccountId: string | undefined; + + /** + *

                                                        Contains a map of the key-value pairs for the resource tag or tags assigned to the + * dashboard.

                                                        + */ + Tags?: Tag[]; /** - *

                                                        The parameters for the creation of the dashboard, which you want to use to override the default settings. - * A dashboard can have any type of parameters, and some parameters might - * accept multiple values. - *

                                                        + *

                                                        The parameters for the creation of the dashboard, which you want to use to override + * the default settings. A dashboard can have any type of parameters, and some parameters + * might accept multiple values.

                                                        */ Parameters?: _Parameters; /** *

                                                        The entity that you are using as a source when you create the dashboard. In - * SourceEntity, you specify the type of object you're using as source. You - * can only create a dashboard from a template, so you use a SourceTemplate - * entity. If you need to create a dashboard from an analysis, first convert the analysis - * to a template by using the CreateTemplate API operation. For - * SourceTemplate, specify the Amazon Resource Name (ARN) of the source - * template. The SourceTemplateARN can contain any AWS Account and any QuickSight-supported - * AWS Region.

                                                        - *

                                                        Use the DataSetReferences entity within SourceTemplate - * to list the replacement datasets for the placeholders listed - * in the original. The schema in each dataset must match its placeholder.

                                                        + * SourceEntity, you specify the type of object you're using as source. You + * can only create a dashboard from a template, so you use a SourceTemplate + * entity. If you need to create a dashboard from an analysis, first convert the analysis + * to a template by using the CreateTemplate API operation. For + * SourceTemplate, specify the Amazon Resource Name (ARN) of the source + * template. The SourceTemplateARN can contain any AWS Account and any + * QuickSight-supported AWS Region.

                                                        + *

                                                        Use the DataSetReferences entity within SourceTemplate to + * list the replacement datasets for the placeholders listed in the original. The schema in + * each dataset must match its placeholder.

                                                        */ SourceEntity: DashboardSourceEntity | undefined; + /** + *

                                                        The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. If + * you add a value for this field, it overrides the value that is used in the source + * entity. The theme ARN must exist in the same AWS account where you create the + * dashboard.

                                                        + */ + ThemeArn?: string; + /** *

                                                        Options for publishing the dashboard when you create it:

                                                        - *
                                                          + *
                                                            *
                                                          • - *

                                                            - * AvailabilityStatus for AdHocFilteringOption - This status can - * be either ENABLED or DISABLED. When this is set to - * DISABLED, QuickSight disables the left filter pane on the - * published dashboard, which can be used for ad hoc (one-time) filtering. This - * option is ENABLED by default.

                                                            - *
                                                          • + *

                                                            + * AvailabilityStatus for AdHocFilteringOption - This + * status can be either ENABLED or DISABLED. When this is + * set to DISABLED, QuickSight disables the left filter pane on the + * published dashboard, which can be used for ad hoc (one-time) filtering. This + * option is ENABLED by default.

                                                            + * *
                                                          • - *

                                                            - * AvailabilityStatus for ExportToCSVOption - This status can be - * either ENABLED or DISABLED. The visual option to - * export data to .csv format isn't enabled when this is set to - * DISABLED. This option is ENABLED by default.

                                                            - *
                                                          • + *

                                                            + * AvailabilityStatus for ExportToCSVOption - This + * status can be either ENABLED or DISABLED. The visual + * option to export data to .CSV format isn't enabled when this is set to + * DISABLED. This option is ENABLED by default.

                                                            + * *
                                                          • - *

                                                            - * VisibilityState for SheetControlsOption - This visibility state - * can be either COLLAPSED or EXPANDED. This option is - * COLLAPSED by default.

                                                            - *
                                                          • + *

                                                            + * VisibilityState for SheetControlsOption - This + * visibility state can be either COLLAPSED or EXPANDED. + * This option is COLLAPSED by default.

                                                            + * *
                                                          */ DashboardPublishOptions?: DashboardPublishOptions; @@ -1126,15 +1501,6 @@ export namespace CreateDashboardRequest { }); } -export enum ResourceStatus { - CREATION_FAILED = "CREATION_FAILED", - CREATION_IN_PROGRESS = "CREATION_IN_PROGRESS", - CREATION_SUCCESSFUL = "CREATION_SUCCESSFUL", - UPDATE_FAILED = "UPDATE_FAILED", - UPDATE_IN_PROGRESS = "UPDATE_IN_PROGRESS", - UPDATE_SUCCESSFUL = "UPDATE_SUCCESSFUL", -} - export interface CreateDashboardResponse { /** *

                                                          The AWS request ID for this operation.

                                                          @@ -1152,8 +1518,8 @@ export interface CreateDashboardResponse { CreationStatus?: ResourceStatus | string; /** - *

                                                          The ARN of the dashboard, including the version number - * of the first version that is created.

                                                          + *

                                                          The ARN of the dashboard, including the version number of the first version that is + * created.

                                                          */ VersionArn?: string; @@ -1169,29 +1535,6 @@ export namespace CreateDashboardResponse { }); } -/** - *

                                                          This error indicates that you are calling an operation on an Amazon QuickSight - * subscription where the edition doesn't include support for that operation. Amazon - * QuickSight currently has Standard Edition and Enterprise Edition. Not every operation and - * capability is available in every edition.

                                                          - */ -export interface UnsupportedUserEditionException extends __SmithyException, $MetadataBearer { - name: "UnsupportedUserEditionException"; - $fault: "client"; - /** - *

                                                          The AWS request ID for this request.

                                                          - */ - RequestId?: string; - - Message?: string; -} - -export namespace UnsupportedUserEditionException { - export const filterSensitiveLog = (obj: UnsupportedUserEditionException): any => ({ - ...obj, - }); -} - export enum DataSetImportMode { DIRECT_QUERY = "DIRECT_QUERY", SPICE = "SPICE", @@ -1296,18 +1639,18 @@ export interface TransformOperation { */ TagColumnOperation?: TagColumnOperation; - /** - *

                                                          An operation that projects columns. Operations that come after a projection can only - * refer to projected columns.

                                                          - */ - ProjectOperation?: ProjectOperation; - /** *

                                                          An operation that creates calculated columns. Columns created in one such operation * form a lexical closure.

                                                          */ CreateColumnsOperation?: CreateColumnsOperation; + /** + *

                                                          An operation that projects columns. Operations that come after a projection can only + * refer to projected columns.

                                                          + */ + ProjectOperation?: ProjectOperation; + /** *

                                                          An operation that filters rows based on some condition.

                                                          */ @@ -1337,14 +1680,14 @@ export interface JoinInstruction { Type: JoinType | string | undefined; /** - *

                                                          Left operand.

                                                          + *

                                                          On Clause.

                                                          */ - LeftOperand: string | undefined; + OnClause: string | undefined; /** - *

                                                          On Clause.

                                                          + *

                                                          Left operand.

                                                          */ - OnClause: string | undefined; + LeftOperand: string | undefined; /** *

                                                          Right operand.

                                                          @@ -1393,14 +1736,14 @@ export interface LogicalTable { Source: LogicalTableSource | undefined; /** - *

                                                          Transform operations that act on this logical table.

                                                          + *

                                                          A display name for the logical table.

                                                          */ - DataTransforms?: TransformOperation[]; + Alias: string | undefined; /** - *

                                                          A display name for the logical table.

                                                          + *

                                                          Transform operations that act on this logical table.

                                                          */ - Alias: string | undefined; + DataTransforms?: TransformOperation[]; } export namespace LogicalTable { @@ -1481,14 +1824,14 @@ export interface RelationalTable { Schema?: string; /** - *

                                                          The name of the relational table.

                                                          + *

                                                          The Amazon Resource Name (ARN) for the data source.

                                                          */ - Name: string | undefined; + DataSourceArn: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) for the data source.

                                                          + *

                                                          The name of the relational table.

                                                          */ - DataSourceArn: string | undefined; + Name: string | undefined; /** *

                                                          The column schema of the table.

                                                          @@ -1521,9 +1864,9 @@ export enum TextQualifier { */ export interface UploadSettings { /** - *

                                                          File format.

                                                          + *

                                                          The delimiter between values in the file.

                                                          */ - Format?: FileFormat | string; + Delimiter?: string; /** *

                                                          A row number to start reading data from.

                                                          @@ -1531,19 +1874,19 @@ export interface UploadSettings { StartFromRow?: number; /** - *

                                                          Text qualifier.

                                                          + *

                                                          Whether the file has a header row, or the files each have a header row.

                                                          */ - TextQualifier?: TextQualifier | string; + ContainsHeader?: boolean; /** - *

                                                          The delimiter between values in the file.

                                                          + *

                                                          Text qualifier.

                                                          */ - Delimiter?: string; + TextQualifier?: TextQualifier | string; /** - *

                                                          Whether the file has a header row, or the files each have a header row.

                                                          + *

                                                          File format.

                                                          */ - ContainsHeader?: boolean; + Format?: FileFormat | string; } export namespace UploadSettings { @@ -1557,9 +1900,9 @@ export namespace UploadSettings { */ export interface S3Source { /** - *

                                                          Information about the format for the S3 source file or files.

                                                          + *

                                                          The amazon Resource Name (ARN) for the data source.

                                                          */ - UploadSettings?: UploadSettings; + DataSourceArn: string | undefined; /** *

                                                          A physical table type for as S3 data source.

                                                          @@ -1567,9 +1910,9 @@ export interface S3Source { InputColumns: InputColumn[] | undefined; /** - *

                                                          The amazon Resource Name (ARN) for the data source.

                                                          + *

                                                          Information about the format for the S3 source file or files.

                                                          */ - DataSourceArn: string | undefined; + UploadSettings?: UploadSettings; } export namespace S3Source { @@ -1590,14 +1933,14 @@ export interface PhysicalTable { RelationalTable?: RelationalTable; /** - *

                                                          A physical table type built from the results of the custom SQL query.

                                                          + *

                                                          A physical table type for as S3 data source.

                                                          */ - CustomSql?: CustomSql; + S3Source?: S3Source; /** - *

                                                          A physical table type for as S3 data source.

                                                          + *

                                                          A physical table type built from the results of the custom SQL query.

                                                          */ - S3Source?: S3Source; + CustomSql?: CustomSql; } export namespace PhysicalTable { @@ -1649,20 +1992,15 @@ export interface CreateDataSetRequest { DataSetId: string | undefined; /** - *

                                                          A list of resource permissions on the dataset.

                                                          + *

                                                          Indicates whether you want to import the data into SPICE.

                                                          */ - Permissions?: ResourcePermission[]; + ImportMode: DataSetImportMode | string | undefined; /** *

                                                          Configures the combination and transformation of the data from the physical tables.

                                                          */ LogicalTableMap?: { [key: string]: LogicalTable }; - /** - *

                                                          Indicates whether you want to import the data into SPICE.

                                                          - */ - ImportMode: DataSetImportMode | string | undefined; - /** *

                                                          Groupings of columns that work together in certain QuickSight features. Currently, only geospatial hierarchy is supported.

                                                          */ @@ -1678,6 +2016,11 @@ export interface CreateDataSetRequest { */ PhysicalTableMap: { [key: string]: PhysicalTable } | undefined; + /** + *

                                                          A list of resource permissions on the dataset.

                                                          + */ + Permissions?: ResourcePermission[]; + /** *

                                                          The display name for the dataset.

                                                          */ @@ -1708,9 +2051,9 @@ export interface CreateDataSetResponse { Arn?: string; /** - *

                                                          The AWS request ID for this operation.

                                                          + *

                                                          The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

                                                          */ - RequestId?: string; + DataSetId?: string; /** *

                                                          The ARN for the ingestion, which is triggered as a result of dataset creation if the import @@ -1719,9 +2062,9 @@ export interface CreateDataSetResponse { IngestionArn?: string; /** - *

                                                          The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

                                                          + *

                                                          The AWS request ID for this operation.

                                                          */ - DataSetId?: string; + RequestId?: string; } export namespace CreateDataSetResponse { @@ -1774,11 +2117,6 @@ export namespace JiraParameters { *

                                                          MariaDB parameters.

                                                          */ export interface MariaDbParameters { - /** - *

                                                          Port.

                                                          - */ - Port: number | undefined; - /** *

                                                          Database.

                                                          */ @@ -1788,6 +2126,11 @@ export interface MariaDbParameters { *

                                                          Host.

                                                          */ Host: string | undefined; + + /** + *

                                                          Port.

                                                          + */ + Port: number | undefined; } export namespace MariaDbParameters { @@ -1800,11 +2143,6 @@ export namespace MariaDbParameters { *

                                                          MySQL parameters.

                                                          */ export interface MySqlParameters { - /** - *

                                                          Database.

                                                          - */ - Database: string | undefined; - /** *

                                                          Port.

                                                          */ @@ -1814,6 +2152,11 @@ export interface MySqlParameters { *

                                                          Host.

                                                          */ Host: string | undefined; + + /** + *

                                                          Database.

                                                          + */ + Database: string | undefined; } export namespace MySqlParameters { @@ -1902,14 +2245,14 @@ export namespace RdsParameters { */ export interface RedshiftParameters { /** - *

                                                          Database.

                                                          + *

                                                          Host. This field can be blank if ClusterId is provided.

                                                          */ - Database: string | undefined; + Host?: string; /** - *

                                                          Host. This field can be blank if ClusterId is provided.

                                                          + *

                                                          Database.

                                                          */ - Host?: string; + Database: string | undefined; /** *

                                                          Port. This field can be blank if the ClusterId is provided.

                                                          @@ -1993,14 +2336,14 @@ export interface SnowflakeParameters { Host: string | undefined; /** - *

                                                          Warehouse.

                                                          + *

                                                          Database.

                                                          */ - Warehouse: string | undefined; + Database: string | undefined; /** - *

                                                          Database.

                                                          + *

                                                          Warehouse.

                                                          */ - Database: string | undefined; + Warehouse: string | undefined; } export namespace SnowflakeParameters { @@ -2060,6 +2403,11 @@ export namespace SqlServerParameters { *

                                                          Teradata parameters.

                                                          */ export interface TeradataParameters { + /** + *

                                                          Database.

                                                          + */ + Database: string | undefined; + /** *

                                                          Host.

                                                          */ @@ -2069,11 +2417,6 @@ export interface TeradataParameters { *

                                                          Port.

                                                          */ Port: number | undefined; - - /** - *

                                                          Database.

                                                          - */ - Database: string | undefined; } export namespace TeradataParameters { @@ -2109,15 +2452,20 @@ export namespace TwitterParameters { * attributes can be non-null.

                                                          */ export interface DataSourceParameters { + /** + *

                                                          ServiceNow parameters.

                                                          + */ + ServiceNowParameters?: ServiceNowParameters; + /** *

                                                          Presto parameters.

                                                          */ PrestoParameters?: PrestoParameters; /** - *

                                                          ServiceNow parameters.

                                                          + *

                                                          Amazon Aurora MySQL parameters.

                                                          */ - ServiceNowParameters?: ServiceNowParameters; + AuroraParameters?: AuroraParameters; /** *

                                                          S3 parameters.

                                                          @@ -2125,14 +2473,14 @@ export interface DataSourceParameters { S3Parameters?: S3Parameters; /** - *

                                                          Amazon Aurora MySQL parameters.

                                                          + *

                                                          Twitter parameters.

                                                          */ - AuroraParameters?: AuroraParameters; + TwitterParameters?: TwitterParameters; /** - *

                                                          Twitter parameters.

                                                          + *

                                                          Amazon Redshift parameters.

                                                          */ - TwitterParameters?: TwitterParameters; + RedshiftParameters?: RedshiftParameters; /** *

                                                          Aurora PostgreSQL parameters.

                                                          @@ -2140,9 +2488,9 @@ export interface DataSourceParameters { AuroraPostgreSqlParameters?: AuroraPostgreSqlParameters; /** - *

                                                          Amazon Redshift parameters.

                                                          + *

                                                          MariaDB parameters.

                                                          */ - RedshiftParameters?: RedshiftParameters; + MariaDbParameters?: MariaDbParameters; /** *

                                                          Amazon Athena parameters.

                                                          @@ -2154,21 +2502,11 @@ export interface DataSourceParameters { */ SparkParameters?: SparkParameters; - /** - *

                                                          MariaDB parameters.

                                                          - */ - MariaDbParameters?: MariaDbParameters; - /** *

                                                          AWS IoT Analytics parameters.

                                                          */ AwsIotAnalyticsParameters?: AwsIotAnalyticsParameters; - /** - *

                                                          Amazon RDS parameters.

                                                          - */ - RdsParameters?: RdsParameters; - /** *

                                                          MySQL parameters.

                                                          */ @@ -2180,14 +2518,19 @@ export interface DataSourceParameters { AmazonElasticsearchParameters?: AmazonElasticsearchParameters; /** - *

                                                          Snowflake parameters.

                                                          + *

                                                          Jira parameters.

                                                          */ - SnowflakeParameters?: SnowflakeParameters; + JiraParameters?: JiraParameters; /** - *

                                                          Jira parameters.

                                                          + *

                                                          Amazon RDS parameters.

                                                          */ - JiraParameters?: JiraParameters; + RdsParameters?: RdsParameters; + + /** + *

                                                          PostgreSQL parameters.

                                                          + */ + PostgreSqlParameters?: PostgreSqlParameters; /** *

                                                          Teradata parameters.

                                                          @@ -2200,9 +2543,9 @@ export interface DataSourceParameters { SqlServerParameters?: SqlServerParameters; /** - *

                                                          PostgreSQL parameters.

                                                          + *

                                                          Snowflake parameters.

                                                          */ - PostgreSqlParameters?: PostgreSqlParameters; + SnowflakeParameters?: SnowflakeParameters; } export namespace DataSourceParameters { @@ -2218,7 +2561,7 @@ export interface CredentialPair { /** *

                                                          A set of alternate data source parameters that you want to share for these * credentials. The credentials are applied in tandem with the data source parameters when - * you copy a data source by using a create or update request. The API compares the + * you copy a data source by using a create or update request. The API operation compares the * DataSourceParameters structure that's in the request with the structures in * the AlternateDataSourceParameters allowlist. If the structures are an exact * match, the request is allowed to use the new data source with the existing credentials. @@ -2229,14 +2572,14 @@ export interface CredentialPair { AlternateDataSourceParameters?: DataSourceParameters[]; /** - *

                                                          Password.

                                                          + *

                                                          User name.

                                                          */ - Password: string | undefined; + Username: string | undefined; /** - *

                                                          User name.

                                                          + *

                                                          Password.

                                                          */ - Username: string | undefined; + Password: string | undefined; } export namespace CredentialPair { @@ -2308,6 +2651,7 @@ export enum DataSourceType { SPARK = "SPARK", SQLSERVER = "SQLSERVER", TERADATA = "TERADATA", + TIMESTREAM = "TIMESTREAM", TWITTER = "TWITTER", } @@ -2334,9 +2678,9 @@ export interface CreateDataSourceRequest { SslProperties?: SslProperties; /** - *

                                                          A display name for the data source.

                                                          + *

                                                          The AWS account ID.

                                                          */ - Name: string | undefined; + AwsAccountId: string | undefined; /** *

                                                          A list of resource permissions on the data source.

                                                          @@ -2349,25 +2693,25 @@ export interface CreateDataSourceRequest { DataSourceParameters?: DataSourceParameters; /** - *

                                                          The AWS account ID.

                                                          + *

                                                          Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.

                                                          */ - AwsAccountId: string | undefined; + Tags?: Tag[]; /** - *

                                                          The credentials QuickSight that uses to connect to your underlying source. Currently, only - * credentials based on user name and password are supported.

                                                          + *

                                                          An ID for the data source. This ID is unique per AWS Region for each AWS account.

                                                          */ - Credentials?: DataSourceCredentials; + DataSourceId: string | undefined; /** - *

                                                          An ID for the data source. This ID is unique per AWS Region for each AWS account.

                                                          + *

                                                          The credentials QuickSight that uses to connect to your underlying source. Currently, only + * credentials based on user name and password are supported.

                                                          */ - DataSourceId: string | undefined; + Credentials?: DataSourceCredentials; /** - *

                                                          Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.

                                                          + *

                                                          A display name for the data source.

                                                          */ - Tags?: Tag[]; + Name: string | undefined; /** *

                                                          The type of the data source. Currently, the supported types for this operation are: @@ -2398,11 +2742,6 @@ export interface CreateDataSourceResponse { */ RequestId?: string; - /** - *

                                                          The ID of the data source. This ID is unique per AWS Region for each AWS account.

                                                          - */ - DataSourceId?: string; - /** *

                                                          The Amazon Resource Name (ARN) of the data source.

                                                          */ @@ -2412,6 +2751,11 @@ export interface CreateDataSourceResponse { *

                                                          The status of creating the data source.

                                                          */ CreationStatus?: ResourceStatus | string; + + /** + *

                                                          The ID of the data source. This ID is unique per AWS Region for each AWS account.

                                                          + */ + DataSourceId?: string; } export namespace CreateDataSourceResponse { @@ -2425,9 +2769,9 @@ export namespace CreateDataSourceResponse { */ export interface CreateGroupRequest { /** - *

                                                          A description for the group that you want to create.

                                                          + *

                                                          The namespace. Currently, you should set this to default.

                                                          */ - Description?: string; + Namespace: string | undefined; /** *

                                                          The ID for the AWS account that the group is in. Currently, you use the ID for the AWS @@ -2436,14 +2780,14 @@ export interface CreateGroupRequest { AwsAccountId: string | undefined; /** - *

                                                          A name for the group that you want to create.

                                                          + *

                                                          A description for the group that you want to create.

                                                          */ - GroupName: string | undefined; + Description?: string; /** - *

                                                          The namespace. Currently, you should set this to default.

                                                          + *

                                                          A name for the group that you want to create.

                                                          */ - Namespace: string | undefined; + GroupName: string | undefined; } export namespace CreateGroupRequest { @@ -2454,8 +2798,7 @@ export namespace CreateGroupRequest { /** *

                                                          A group in Amazon QuickSight consists of a set of users. You can - * use groups to make it easier to manage access and security. Currently, an Amazon - * QuickSight subscription can't contain more than 500 Amazon QuickSight groups.

                                                          + * use groups to make it easier to manage access and security.

                                                          */ export interface Group { /** @@ -2536,16 +2879,16 @@ export interface CreateGroupMembershipRequest { */ MemberName: string | undefined; - /** - *

                                                          The namespace. Currently, you should set this to default.

                                                          - */ - Namespace: string | undefined; - /** *

                                                          The ID for the AWS account that the group is in. Currently, you use the ID for the AWS * account that contains your Amazon QuickSight account.

                                                          */ AwsAccountId: string | undefined; + + /** + *

                                                          The namespace. Currently, you should set this to default.

                                                          + */ + Namespace: string | undefined; } export namespace CreateGroupMembershipRequest { @@ -2601,6 +2944,16 @@ export interface CreateIAMPolicyAssignmentRequest { */ AwsAccountId: string | undefined; + /** + *

                                                          The name of the assignment. It must be unique within an AWS account.

                                                          + */ + AssignmentName: string | undefined; + + /** + *

                                                          The QuickSight users, groups, or both that you want to assign the policy to.

                                                          + */ + Identities?: { [key: string]: string[] }; + /** *

                                                          The status of the assignment. Possible values are as follows:

                                                          *
                                                            @@ -2622,11 +2975,6 @@ export interface CreateIAMPolicyAssignmentRequest { */ AssignmentStatus: AssignmentStatus | string | undefined; - /** - *

                                                            The QuickSight users, groups, or both that you want to assign the policy to.

                                                            - */ - Identities?: { [key: string]: string[] }; - /** *

                                                            The namespace that contains the assignment.

                                                            */ @@ -2637,11 +2985,6 @@ export interface CreateIAMPolicyAssignmentRequest { * specified in this assignment.

                                                            */ PolicyArn?: string; - - /** - *

                                                            The name of the assignment. It must be unique within an AWS account.

                                                            - */ - AssignmentName: string | undefined; } export namespace CreateIAMPolicyAssignmentRequest { @@ -2688,14 +3031,14 @@ export interface CreateIAMPolicyAssignmentResponse { AssignmentId?: string; /** - *

                                                            The QuickSight users, groups, or both that the IAM policy is assigned to.

                                                            + *

                                                            The AWS request ID for this operation.

                                                            */ - Identities?: { [key: string]: string[] }; + RequestId?: string; /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            The QuickSight users, groups, or both that the IAM policy is assigned to.

                                                            */ - RequestId?: string; + Identities?: { [key: string]: string[] }; } export namespace CreateIAMPolicyAssignmentResponse { @@ -2711,14 +3054,14 @@ export interface CreateIngestionRequest { DataSetId: string | undefined; /** - *

                                                            An ID for the ingestion.

                                                            + *

                                                            The AWS account ID.

                                                            */ - IngestionId: string | undefined; + AwsAccountId: string | undefined; /** - *

                                                            The AWS account ID.

                                                            + *

                                                            An ID for the ingestion.

                                                            */ - AwsAccountId: string | undefined; + IngestionId: string | undefined; } export namespace CreateIngestionRequest { @@ -2743,14 +3086,14 @@ export interface CreateIngestionResponse { IngestionId?: string; /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            The ingestion status.

                                                            */ - RequestId?: string; + IngestionStatus?: IngestionStatus | string; /** - *

                                                            The ingestion status.

                                                            + *

                                                            The AWS request ID for this operation.

                                                            */ - IngestionStatus?: IngestionStatus | string; + RequestId?: string; /** *

                                                            The Amazon Resource Name (ARN) for the data ingestion.

                                                            @@ -2775,9 +3118,10 @@ export interface CreateNamespaceRequest { AwsAccountId: string | undefined; /** - *

                                                            The tags that you want to associate with the namespace that you're creating.

                                                            + *

                                                            Specifies the type of your user identity directory. Currently, this supports users + * with an identity type of QUICKSIGHT.

                                                            */ - Tags?: Tag[]; + IdentityStore: IdentityStore | string | undefined; /** *

                                                            The name that you want to use to describe the new namespace.

                                                            @@ -2785,10 +3129,9 @@ export interface CreateNamespaceRequest { Namespace: string | undefined; /** - *

                                                            Specifies the type of your user identity directory. Currently, this supports users - * with an identity type of QUICKSIGHT.

                                                            + *

                                                            The tags that you want to associate with the namespace that you're creating.

                                                            */ - IdentityStore: IdentityStore | string | undefined; + Tags?: Tag[]; } export namespace CreateNamespaceRequest { @@ -2807,13 +3150,10 @@ export enum NamespaceStatus { export interface CreateNamespaceResponse { /** - *

                                                            The status of the creation of the namespace. This is an asynchronous process. A status - * of CREATED means that your namespace is ready to use. If an error occurs, - * it indicates if the process is retryable or non-retryable. In - * the case of a non-retryable error, refer to the error message for follow-up - * actions.

                                                            + *

                                                            Specifies the type of your user identity directory. Currently, this supports users + * with an identity type of QUICKSIGHT.

                                                            */ - CreationStatus?: NamespaceStatus | string; + IdentityStore?: IdentityStore | string; /** *

                                                            The name of the new namespace that you created.

                                                            @@ -2821,10 +3161,18 @@ export interface CreateNamespaceResponse { Name?: string; /** - *

                                                            Specifies the type of your user identity directory. Currently, this supports users - * with an identity type of QUICKSIGHT.

                                                            + *

                                                            The status of the creation of the namespace. This is an asynchronous process. A status + * of CREATED means that your namespace is ready to use. If an error occurs, + * it indicates if the process is retryable or non-retryable. In + * the case of a non-retryable error, refer to the error message for follow-up + * tasks.

                                                            */ - IdentityStore?: IdentityStore | string; + CreationStatus?: NamespaceStatus | string; + + /** + *

                                                            The ARN of the QuickSight namespace you created.

                                                            + */ + Arn?: string; /** *

                                                            The AWS request ID for this operation.

                                                            @@ -2836,11 +3184,6 @@ export interface CreateNamespaceResponse { * This is set to the region that you run CreateNamespace in.

                                                            */ CapacityRegion?: string; - - /** - *

                                                            The ARN of the QuickSight namespace you created.

                                                            - */ - Arn?: string; } export namespace CreateNamespaceResponse { @@ -2914,11 +3257,6 @@ export interface CreateTemplateRequest { */ Tags?: Tag[]; - /** - *

                                                            A display name for the template.

                                                            - */ - Name?: string; - /** *

                                                            The entity that you are using as a source when you create the template. In * SourceEntity, you specify the type of object you're using as source: @@ -2940,15 +3278,20 @@ export interface CreateTemplateRequest { AwsAccountId: string | undefined; /** - *

                                                            An ID for the template that you want to create. This template is unique per AWS Region in - * each AWS account.

                                                            + *

                                                            A list of resource permissions to be set on the template.

                                                            */ - TemplateId: string | undefined; + Permissions?: ResourcePermission[]; /** - *

                                                            A list of resource permissions to be set on the template.

                                                            + *

                                                            A display name for the template.

                                                            */ - Permissions?: ResourcePermission[]; + Name?: string; + + /** + *

                                                            An ID for the template that you want to create. This template is unique per AWS Region in + * each AWS account.

                                                            + */ + TemplateId: string | undefined; /** *

                                                            A description of the current template version being created. This API operation creates the @@ -2976,6 +3319,11 @@ export interface CreateTemplateResponse { */ TemplateId?: string; + /** + *

                                                            The ARN for the template.

                                                            + */ + Arn?: string; + /** *

                                                            The AWS request ID for this operation.

                                                            */ @@ -2986,11 +3334,6 @@ export interface CreateTemplateResponse { * the first version.

                                                            */ VersionArn?: string; - - /** - *

                                                            The ARN for the template.

                                                            - */ - Arn?: string; } export namespace CreateTemplateResponse { @@ -3034,14 +3377,14 @@ export namespace CreateTemplateAliasRequest { */ export interface TemplateAlias { /** - *

                                                            The version number of the template alias.

                                                            + *

                                                            The display name of the template alias.

                                                            */ - TemplateVersionNumber?: number; + AliasName?: string; /** - *

                                                            The display name of the template alias.

                                                            + *

                                                            The version number of the template alias.

                                                            */ - AliasName?: string; + TemplateVersionNumber?: number; /** *

                                                            The Amazon Resource Name (ARN) of the template alias.

                                                            @@ -3207,10 +3550,10 @@ export interface UIColorPalette { Warning?: string; /** - *

                                                            The foreground color that applies to any sheet title, sheet control text, or UI that - * appears over the secondary background.

                                                            + *

                                                            The foreground color that applies to any text or other elements that appear over the + * dimension color.

                                                            */ - SecondaryForeground?: string; + DimensionForeground?: string; /** *

                                                            The foreground color that applies to any text or other elements that appear over the @@ -3219,16 +3562,10 @@ export interface UIColorPalette { MeasureForeground?: string; /** - *

                                                            The foreground color that applies to any text or other elements that appear over the - * dimension color.

                                                            + *

                                                            The foreground color that applies to any sheet title, sheet control text, or UI that + * appears over the secondary background.

                                                            */ - DimensionForeground?: string; - - /** - *

                                                            The foreground color that applies to any text or other elements that appear over the - * error color.

                                                            - */ - DangerForeground?: string; + SecondaryForeground?: string; /** *

                                                            The color that applies to the names of fields that are identified as @@ -3236,12 +3573,6 @@ export interface UIColorPalette { */ Dimension?: string; - /** - *

                                                            The color that applies to success messages, for example the check mark for a - * successful download.

                                                            - */ - Success?: string; - /** *

                                                            The color of text and other foreground elements that appear over the primary * background regions, such as grid lines, borders, table banding, icons, and so on.

                                                            @@ -3250,9 +3581,9 @@ export interface UIColorPalette { /** *

                                                            The foreground color that applies to any text or other elements that appear over the - * accent color.

                                                            + * error color.

                                                            */ - AccentForeground?: string; + DangerForeground?: string; /** *

                                                            The foreground color that applies to any text or other elements that appear over the @@ -3261,15 +3592,26 @@ export interface UIColorPalette { SuccessForeground?: string; /** - *

                                                            This color is that applies to selected states and buttons.

                                                            + *

                                                            The foreground color that applies to any text or other elements that appear over the + * accent color.

                                                            */ - Accent?: string; + AccentForeground?: string; /** *

                                                            The color that applies to error messages.

                                                            */ Danger?: string; + /** + *

                                                            This color is that applies to selected states and buttons.

                                                            + */ + Accent?: string; + + /** + *

                                                            The background color that applies to visuals and other high emphasis UI.

                                                            + */ + PrimaryBackground?: string; + /** *

                                                            The foreground color that applies to any text or other elements that appear over the * warning color.

                                                            @@ -3277,9 +3619,10 @@ export interface UIColorPalette { WarningForeground?: string; /** - *

                                                            The background color that applies to visuals and other high emphasis UI.

                                                            + *

                                                            The color that applies to success messages, for example the check mark for a + * successful download.

                                                            */ - PrimaryBackground?: string; + Success?: string; /** *

                                                            The color that applies to the names of fields that are identified as measures.

                                                            @@ -3304,14 +3647,14 @@ export namespace UIColorPalette { */ export interface ThemeConfiguration { /** - *

                                                            Display options related to sheets.

                                                            + *

                                                            Color properties that apply to chart data colors.

                                                            */ - Sheet?: SheetStyle; + DataColorPalette?: DataColorPalette; /** - *

                                                            Color properties that apply to chart data colors.

                                                            + *

                                                            Display options related to sheets.

                                                            */ - DataColorPalette?: DataColorPalette; + Sheet?: SheetStyle; /** *

                                                            Color properties that apply to the UI and to charts, excluding the colors that apply @@ -3347,6 +3690,11 @@ export interface CreateThemeRequest { */ Tags?: Tag[]; + /** + *

                                                            A display name for the theme.

                                                            + */ + Name: string | undefined; + /** *

                                                            The ID of the AWS account where you want to store the new theme.

                                                            */ @@ -3363,11 +3711,6 @@ export interface CreateThemeRequest { */ Configuration: ThemeConfiguration | undefined; - /** - *

                                                            A display name for the theme.

                                                            - */ - Name: string | undefined; - /** *

                                                            A description of the first version of the theme that you're creating. Every time * UpdateTheme is called, a new version is created. Each version of the @@ -3385,9 +3728,9 @@ export namespace CreateThemeRequest { export interface CreateThemeResponse { /** - *

                                                            The ID of the theme.

                                                            + *

                                                            The theme creation status.

                                                            */ - ThemeId?: string; + CreationStatus?: ResourceStatus | string; /** *

                                                            The AWS request ID for this operation.

                                                            @@ -3395,19 +3738,19 @@ export interface CreateThemeResponse { RequestId?: string; /** - *

                                                            The Amazon Resource Name (ARN) for the theme.

                                                            + *

                                                            The ID of the theme.

                                                            */ - Arn?: string; + ThemeId?: string; /** - *

                                                            The theme creation status.

                                                            + *

                                                            The Amazon Resource Name (ARN) for the new theme.

                                                            */ - CreationStatus?: ResourceStatus | string; + VersionArn?: string; /** - *

                                                            The Amazon Resource Name (ARN) for the new theme.

                                                            + *

                                                            The Amazon Resource Name (ARN) for the theme.

                                                            */ - VersionArn?: string; + Arn?: string; } export namespace CreateThemeResponse { @@ -3418,26 +3761,26 @@ export namespace CreateThemeResponse { export interface CreateThemeAliasRequest { /** - *

                                                            The ID of the AWS account that contains the theme for the new theme alias.

                                                            + *

                                                            The name that you want to give to the theme alias that you are creating. The + * alias name can't begin with a $. Alias names that start with $ + * are reserved by Amazon QuickSight.

                                                            */ - AwsAccountId: string | undefined; + AliasName: string | undefined; /** - *

                                                            An ID for the theme alias.

                                                            + *

                                                            The version number of the theme.

                                                            */ - ThemeId: string | undefined; + ThemeVersionNumber: number | undefined; /** - *

                                                            The version number of the theme.

                                                            + *

                                                            An ID for the theme alias.

                                                            */ - ThemeVersionNumber: number | undefined; + ThemeId: string | undefined; /** - *

                                                            The name that you want to give to the theme alias that you are creating. The - * alias name can't begin with a $. Alias names that start with $ - * are reserved by Amazon QuickSight.

                                                            + *

                                                            The ID of the AWS account that contains the theme for the new theme alias.

                                                            */ - AliasName: string | undefined; + AwsAccountId: string | undefined; } export namespace CreateThemeAliasRequest { @@ -3451,14 +3794,14 @@ export namespace CreateThemeAliasRequest { */ export interface ThemeAlias { /** - *

                                                            The version number of the theme alias.

                                                            + *

                                                            The display name of the theme alias.

                                                            */ - ThemeVersionNumber?: number; + AliasName?: string; /** - *

                                                            The display name of the theme alias.

                                                            + *

                                                            The version number of the theme alias.

                                                            */ - AliasName?: string; + ThemeVersionNumber?: number; /** *

                                                            The Amazon Resource Name (ARN) of the theme alias.

                                                            @@ -3529,25 +3872,20 @@ export namespace DashboardError { */ export interface DashboardVersion { /** - *

                                                            Version number.

                                                            - */ - VersionNumber?: number; - - /** - *

                                                            Errors.

                                                            + *

                                                            The Amazon Resource Numbers (ARNs) for the datasets that are associated with this + * version of the dashboard.

                                                            */ - Errors?: DashboardError[]; + DataSetArns?: string[]; /** - *

                                                            The Amazon Resource Numbers (ARNs) for the datasets that are associated with a version - * of the dashboard.

                                                            + *

                                                            Version number for this version of the dashboard.

                                                            */ - DataSetArns?: string[]; + VersionNumber?: number; /** - *

                                                            The time that this dashboard version was created.

                                                            + *

                                                            The ARN of the theme associated with a version of the dashboard.

                                                            */ - CreatedTime?: Date; + ThemeArn?: string; /** *

                                                            Description.

                                                            @@ -3555,19 +3893,34 @@ export interface DashboardVersion { Description?: string; /** - *

                                                            Source entity ARN.

                                                            + *

                                                            The time that this dashboard version was created.

                                                            */ - SourceEntityArn?: string; + CreatedTime?: Date; /** *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            */ Arn?: string; + /** + *

                                                            A list of the associated sheets with the unique identifier and name of each sheet.

                                                            + */ + Sheets?: Sheet[]; + /** *

                                                            The HTTP status of the request.

                                                            */ Status?: ResourceStatus | string; + + /** + *

                                                            Errors associated with this dashboard version.

                                                            + */ + Errors?: DashboardError[]; + + /** + *

                                                            Source entity ARN.

                                                            + */ + SourceEntityArn?: string; } export namespace DashboardVersion { @@ -3581,9 +3934,9 @@ export namespace DashboardVersion { */ export interface Dashboard { /** - *

                                                            Dashboard ID.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            */ - DashboardId?: string; + Arn?: string; /** *

                                                            Version.

                                                            @@ -3591,14 +3944,9 @@ export interface Dashboard { Version?: DashboardVersion; /** - *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            - */ - Arn?: string; - - /** - *

                                                            A display name for the dashboard.

                                                            + *

                                                            Dashboard ID.

                                                            */ - Name?: string; + DashboardId?: string; /** *

                                                            The last time that this dataset was published.

                                                            @@ -3606,14 +3954,19 @@ export interface Dashboard { LastPublishedTime?: Date; /** - *

                                                            The time that this dataset was created.

                                                            + *

                                                            A display name for the dashboard.

                                                            */ - CreatedTime?: Date; + Name?: string; /** *

                                                            The last time that this dataset was updated.

                                                            */ LastUpdatedTime?: Date; + + /** + *

                                                            The time that this dataset was created.

                                                            + */ + CreatedTime?: Date; } export namespace Dashboard { @@ -3626,10 +3979,6 @@ export enum DashboardFilterAttribute { QUICKSIGHT_USER = "QUICKSIGHT_USER", } -export enum FilterOperator { - StringEquals = "StringEquals", -} - /** *

                                                            A filter that you apply when searching for dashboards.

                                                            */ @@ -3665,25 +4014,20 @@ export namespace DashboardSearchFilter { */ export interface DashboardSummary { /** - *

                                                            The time that this dashboard was created.

                                                            + *

                                                            The last time that this dashboard was published.

                                                            */ - CreatedTime?: Date; + LastPublishedTime?: Date; /** - *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            + *

                                                            Published version number.

                                                            */ - Arn?: string; + PublishedVersionNumber?: number; /** *

                                                            Dashboard ID.

                                                            */ DashboardId?: string; - /** - *

                                                            Published version number.

                                                            - */ - PublishedVersionNumber?: number; - /** *

                                                            The last time that this dashboard was updated.

                                                            */ @@ -3695,9 +4039,14 @@ export interface DashboardSummary { Name?: string; /** - *

                                                            The last time that this dashboard was published.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            */ - LastPublishedTime?: Date; + Arn?: string; + + /** + *

                                                            The time that this dashboard was created.

                                                            + */ + CreatedTime?: Date; } export namespace DashboardSummary { @@ -3710,6 +4059,11 @@ export namespace DashboardSummary { *

                                                            Dashboard version summary.

                                                            */ export interface DashboardVersionSummary { + /** + *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            + */ + Arn?: string; + /** *

                                                            Description.

                                                            */ @@ -3720,25 +4074,20 @@ export interface DashboardVersionSummary { */ CreatedTime?: Date; - /** - *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            - */ - Arn?: string; - /** *

                                                            Version number.

                                                            */ VersionNumber?: number; /** - *

                                                            The HTTP status of the request.

                                                            + *

                                                            Source entity ARN.

                                                            */ - Status?: ResourceStatus | string; + SourceEntityArn?: string; /** - *

                                                            Source entity ARN.

                                                            + *

                                                            The HTTP status of the request.

                                                            */ - SourceEntityArn?: string; + Status?: ResourceStatus | string; } export namespace DashboardVersionSummary { @@ -3772,21 +4121,32 @@ export namespace OutputColumn { *

                                                            Dataset.

                                                            */ export interface DataSet { + /** + *

                                                            A display name for the dataset.

                                                            + */ + Name?: string; + + /** + *

                                                            Configures the combination and transformation of the data from the physical + * tables.

                                                            + */ + LogicalTableMap?: { [key: string]: LogicalTable }; + /** *

                                                            The last time that this dataset was updated.

                                                            */ LastUpdatedTime?: Date; /** - *

                                                            The amount of SPICE capacity used by this dataset. This is 0 if the dataset isn't - * imported into SPICE.

                                                            + *

                                                            The row-level security configuration for the dataset.

                                                            */ - ConsumedSpiceCapacityInBytes?: number; + RowLevelPermissionDataSet?: RowLevelPermissionDataSet; /** - *

                                                            A display name for the dataset.

                                                            + *

                                                            The amount of SPICE capacity used by this dataset. This is 0 if the dataset isn't + * imported into SPICE.

                                                            */ - Name?: string; + ConsumedSpiceCapacityInBytes?: number; /** *

                                                            The list of columns after all transforms. These columns are available in templates, @@ -3800,41 +4160,30 @@ export interface DataSet { ImportMode?: DataSetImportMode | string; /** - *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            + *

                                                            Groupings of columns that work together in certain Amazon QuickSight features. + * Currently, only geospatial hierarchy is supported.

                                                            */ - Arn?: string; + ColumnGroups?: ColumnGroup[]; /** - *

                                                            The row-level security configuration for the dataset.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            */ - RowLevelPermissionDataSet?: RowLevelPermissionDataSet; + Arn?: string; /** *

                                                            The ID of the dataset.

                                                            */ DataSetId?: string; - /** - *

                                                            Groupings of columns that work together in certain Amazon QuickSight features. - * Currently, only geospatial hierarchy is supported.

                                                            - */ - ColumnGroups?: ColumnGroup[]; - - /** - *

                                                            Declares the physical tables that are available in the underlying data sources.

                                                            - */ - PhysicalTableMap?: { [key: string]: PhysicalTable }; - /** *

                                                            The time that this dataset was created.

                                                            */ CreatedTime?: Date; /** - *

                                                            Configures the combination and transformation of the data from the physical - * tables.

                                                            + *

                                                            Declares the physical tables that are available in the underlying data sources.

                                                            */ - LogicalTableMap?: { [key: string]: LogicalTable }; + PhysicalTableMap?: { [key: string]: PhysicalTable }; } export namespace DataSet { @@ -3889,16 +4238,6 @@ export namespace DataSetConfiguration { *

                                                            Dataset summary.

                                                            */ export interface DataSetSummary { - /** - *

                                                            The Amazon Resource Name (ARN) of the dataset.

                                                            - */ - Arn?: string; - - /** - *

                                                            The row-level security configuration for the dataset.

                                                            - */ - RowLevelPermissionDataSet?: RowLevelPermissionDataSet; - /** *

                                                            Indicates whether you want to import the data into SPICE.

                                                            */ @@ -3910,9 +4249,9 @@ export interface DataSetSummary { CreatedTime?: Date; /** - *

                                                            A display name for the dataset.

                                                            + *

                                                            The row-level security configuration for the dataset.

                                                            */ - Name?: string; + RowLevelPermissionDataSet?: RowLevelPermissionDataSet; /** *

                                                            The ID of the dataset.

                                                            @@ -3923,10 +4262,20 @@ export interface DataSetSummary { *

                                                            The last time that this dataset was updated.

                                                            */ LastUpdatedTime?: Date; -} -export namespace DataSetSummary { - export const filterSensitiveLog = (obj: DataSetSummary): any => ({ + /** + *

                                                            A display name for the dataset.

                                                            + */ + Name?: string; + + /** + *

                                                            The Amazon Resource Name (ARN) of the dataset.

                                                            + */ + Arn?: string; +} + +export namespace DataSetSummary { + export const filterSensitiveLog = (obj: DataSetSummary): any => ({ ...obj, }); } @@ -3972,21 +4321,11 @@ export interface DataSource { */ Arn?: string; - /** - *

                                                            The last time that this data source was updated.

                                                            - */ - LastUpdatedTime?: Date; - - /** - *

                                                            A display name for the data source.

                                                            - */ - Name?: string; - /** *

                                                            A set of alternate data source parameters that you want to share for the credentials * stored with this data source. The credentials are applied in tandem with the data source * parameters when you copy a data source by using a create or update request. The API - * compares the DataSourceParameters structure that's in the request with the + * operation compares the DataSourceParameters structure that's in the request with the * structures in the AlternateDataSourceParameters allowlist. If the * structures are an exact match, the request is allowed to use the credentials from this * existing data source. If the AlternateDataSourceParameters list is null, @@ -3996,16 +4335,14 @@ export interface DataSource { AlternateDataSourceParameters?: DataSourceParameters[]; /** - *

                                                            Secure Socket Layer (SSL) properties that apply when QuickSight connects to your - * underlying source.

                                                            + *

                                                            A display name for the data source.

                                                            */ - SslProperties?: SslProperties; + Name?: string; /** - *

                                                            The ID of the data source. This ID is unique per AWS Region for each AWS - * account.

                                                            + *

                                                            The HTTP status of the request.

                                                            */ - DataSourceId?: string; + Status?: ResourceStatus | string; /** *

                                                            The VPC connection information. You need to use this parameter only when you want @@ -4013,12 +4350,23 @@ export interface DataSource { */ VpcConnectionProperties?: VpcConnectionProperties; + /** + *

                                                            Secure Socket Layer (SSL) properties that apply when QuickSight connects to your + * underlying source.

                                                            + */ + SslProperties?: SslProperties; + /** *

                                                            The type of the data source. This type indicates which database engine the data source * connects to.

                                                            */ Type?: DataSourceType | string; + /** + *

                                                            Error information from the last update or the creation of the data source.

                                                            + */ + ErrorInfo?: DataSourceErrorInfo; + /** *

                                                            The parameters that Amazon QuickSight uses to connect to your underlying source. This * is a variant type structure. For this structure to be valid, only one of the attributes @@ -4027,19 +4375,20 @@ export interface DataSource { DataSourceParameters?: DataSourceParameters; /** - *

                                                            The HTTP status of the request.

                                                            + *

                                                            The ID of the data source. This ID is unique per AWS Region for each AWS + * account.

                                                            */ - Status?: ResourceStatus | string; + DataSourceId?: string; /** - *

                                                            The time that this data source was created.

                                                            + *

                                                            The last time that this data source was updated.

                                                            */ - CreatedTime?: Date; + LastUpdatedTime?: Date; /** - *

                                                            Error information from the last update or the creation of the data source.

                                                            + *

                                                            The time that this data source was created.

                                                            */ - ErrorInfo?: DataSourceErrorInfo; + CreatedTime?: Date; } export namespace DataSource { @@ -4050,14 +4399,15 @@ export namespace DataSource { export interface DeleteAccountCustomizationRequest { /** - *

                                                            The ID for the AWS account that you want to delete QuickSight customizations from.

                                                            + *

                                                            The QuickSight namespace that you're deleting the customizations from.

                                                            */ - AwsAccountId: string | undefined; + Namespace?: string; /** - *

                                                            The namespace associated with the customization that you're deleting.

                                                            + *

                                                            The ID for the AWS account that you want to delete QuickSight customizations from in + * this AWS Region.

                                                            */ - Namespace?: string; + AwsAccountId: string | undefined; } export namespace DeleteAccountCustomizationRequest { @@ -4079,6 +4429,66 @@ export namespace DeleteAccountCustomizationResponse { }); } +export interface DeleteAnalysisRequest { + /** + *

                                                            The ID of the analysis that you're deleting.

                                                            + */ + AnalysisId: string | undefined; + + /** + *

                                                            The ID of the AWS account where you want to delete an analysis.

                                                            + */ + AwsAccountId: string | undefined; + + /** + *

                                                            A value that specifies the number of days that QuickSight waits before it deletes the + * analysis. You can't use this parameter with the ForceDeleteWithoutRecovery + * option in the same API call. The default value is 30.

                                                            + */ + RecoveryWindowInDays?: number; + + /** + *

                                                            This option defaults to the value NoForceDeleteWithoutRecovery. To + * immediately delete the analysis, add the ForceDeleteWithoutRecovery option. + * You can't restore an analysis after it's deleted.

                                                            + */ + ForceDeleteWithoutRecovery?: boolean; +} + +export namespace DeleteAnalysisRequest { + export const filterSensitiveLog = (obj: DeleteAnalysisRequest): any => ({ + ...obj, + }); +} + +export interface DeleteAnalysisResponse { + /** + *

                                                            The Amazon Resource Name (ARN) of the deleted analysis.

                                                            + */ + Arn?: string; + + /** + *

                                                            The date and time that the analysis is scheduled to be deleted.

                                                            + */ + DeletionTime?: Date; + + /** + *

                                                            The ID of the deleted analysis.

                                                            + */ + AnalysisId?: string; + + /** + *

                                                            The AWS request ID for this operation.

                                                            + */ + RequestId?: string; +} + +export namespace DeleteAnalysisResponse { + export const filterSensitiveLog = (obj: DeleteAnalysisResponse): any => ({ + ...obj, + }); +} + export interface DeleteDashboardRequest { /** *

                                                            The ID for the dashboard.

                                                            @@ -4086,15 +4496,16 @@ export interface DeleteDashboardRequest { DashboardId: string | undefined; /** - *

                                                            The ID of the AWS account that contains the dashboard that you're deleting.

                                                            + *

                                                            The version number of the dashboard. If the version number property is provided, only + * the specified version of the dashboard is deleted.

                                                            */ - AwsAccountId: string | undefined; + VersionNumber?: number; /** - *

                                                            The version number of the dashboard. If the version number property is provided, only the - * specified version of the dashboard is deleted.

                                                            + *

                                                            The ID of the AWS account that contains the dashboard that you're + * deleting.

                                                            */ - VersionNumber?: number; + AwsAccountId: string | undefined; } export namespace DeleteDashboardRequest { @@ -4104,11 +4515,6 @@ export namespace DeleteDashboardRequest { } export interface DeleteDashboardResponse { - /** - *

                                                            The Secure Socket Layer (SSL) properties that apply for the resource.

                                                            - */ - Arn?: string; - /** *

                                                            The AWS request ID for this operation.

                                                            */ @@ -4118,6 +4524,11 @@ export interface DeleteDashboardResponse { *

                                                            The ID of the dashboard.

                                                            */ DashboardId?: string; + + /** + *

                                                            The Secure Socket Layer (SSL) properties that apply for the resource.

                                                            + */ + Arn?: string; } export namespace DeleteDashboardResponse { @@ -4146,14 +4557,14 @@ export namespace DeleteDataSetRequest { export interface DeleteDataSetResponse { /** - *

                                                            The Amazon Resource Name (ARN) of the dataset.

                                                            + *

                                                            The AWS request ID for this operation.

                                                            */ - Arn?: string; + RequestId?: string; /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the dataset.

                                                            */ - RequestId?: string; + Arn?: string; /** *

                                                            The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

                                                            @@ -4360,6 +4771,11 @@ export namespace DeleteNamespaceResponse { } export interface DeleteTemplateRequest { + /** + *

                                                            An ID for the template you want to delete.

                                                            + */ + TemplateId: string | undefined; + /** *

                                                            Specifies the version of the template that you want to delete. * If you don't provide a version number, DeleteTemplate deletes all versions of the template. @@ -4371,11 +4787,6 @@ export interface DeleteTemplateRequest { *

                                                            The ID of the AWS account that contains the template that you're deleting.

                                                            */ AwsAccountId: string | undefined; - - /** - *

                                                            An ID for the template you want to delete.

                                                            - */ - TemplateId: string | undefined; } export namespace DeleteTemplateRequest { @@ -4386,14 +4797,14 @@ export namespace DeleteTemplateRequest { export interface DeleteTemplateResponse { /** - *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            + *

                                                            An ID for the template.

                                                            */ - Arn?: string; + TemplateId?: string; /** - *

                                                            An ID for the template.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            */ - TemplateId?: string; + Arn?: string; /** *

                                                            The AWS request ID for this operation.

                                                            @@ -4408,6 +4819,11 @@ export namespace DeleteTemplateResponse { } export interface DeleteTemplateAliasRequest { + /** + *

                                                            The ID of the AWS account that contains the item to delete.

                                                            + */ + AwsAccountId: string | undefined; + /** *

                                                            The name for the template alias. To delete a specific alias, you delete the version that the * alias points to. You can specify the alias name, or specify the latest version of the @@ -4420,11 +4836,6 @@ export interface DeleteTemplateAliasRequest { *

                                                            The ID for the template that the specified alias is for.

                                                            */ TemplateId: string | undefined; - - /** - *

                                                            The ID of the AWS account that contains the item to delete.

                                                            - */ - AwsAccountId: string | undefined; } export namespace DeleteTemplateAliasRequest { @@ -4435,9 +4846,9 @@ export namespace DeleteTemplateAliasRequest { export interface DeleteTemplateAliasResponse { /** - *

                                                            The name for the template alias.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the template you want to delete.

                                                            */ - AliasName?: string; + Arn?: string; /** *

                                                            The AWS request ID for this operation.

                                                            @@ -4445,9 +4856,9 @@ export interface DeleteTemplateAliasResponse { RequestId?: string; /** - *

                                                            The Amazon Resource Name (ARN) of the template you want to delete.

                                                            + *

                                                            The name for the template alias.

                                                            */ - Arn?: string; + AliasName?: string; /** *

                                                            An ID for the template associated with the deletion.

                                                            @@ -4489,9 +4900,9 @@ export namespace DeleteThemeRequest { export interface DeleteThemeResponse { /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            An ID for the theme.

                                                            */ - RequestId?: string; + ThemeId?: string; /** *

                                                            The Amazon Resource Name (ARN) of the resource.

                                                            @@ -4499,9 +4910,9 @@ export interface DeleteThemeResponse { Arn?: string; /** - *

                                                            An ID for the theme.

                                                            + *

                                                            The AWS request ID for this operation.

                                                            */ - ThemeId?: string; + RequestId?: string; } export namespace DeleteThemeResponse { @@ -4534,11 +4945,6 @@ export namespace DeleteThemeAliasRequest { } export interface DeleteThemeAliasResponse { - /** - *

                                                            An ID for the theme associated with the deletion.

                                                            - */ - ThemeId?: string; - /** *

                                                            The Amazon Resource Name (ARN) of the theme resource using the deleted alias.

                                                            */ @@ -4549,6 +4955,11 @@ export interface DeleteThemeAliasResponse { */ RequestId?: string; + /** + *

                                                            An ID for the theme associated with the deletion.

                                                            + */ + ThemeId?: string; + /** *

                                                            The name for the theme alias.

                                                            */ @@ -4563,14 +4974,14 @@ export namespace DeleteThemeAliasResponse { export interface DeleteUserRequest { /** - *

                                                            The namespace. Currently, you should set this to default.

                                                            + *

                                                            The name of the user that you want to delete.

                                                            */ - Namespace: string | undefined; + UserName: string | undefined; /** - *

                                                            The name of the user that you want to delete.

                                                            + *

                                                            The namespace. Currently, you should set this to default.

                                                            */ - UserName: string | undefined; + Namespace: string | undefined; /** *

                                                            The ID for the AWS account that the user is in. Currently, you use the ID for the AWS @@ -4640,18 +5051,23 @@ export namespace DeleteUserByPrincipalIdResponse { export interface DescribeAccountCustomizationRequest { /** - *

                                                            The ID for the AWS account that you want to describe QuickSight customizations for.

                                                            + *

                                                            The ID for the AWS account that you want to describe QuickSight customizations + * for.

                                                            */ AwsAccountId: string | undefined; /** - *

                                                            The status of the creation of the customization. This is an asynchronous process. A status - * of CREATED means that your customization is ready to use.

                                                            + *

                                                            The Resolved flag works with the other parameters to determine which view + * of QuickSight customizations is returned. You can add this flag to your command to use + * the same view that QuickSight uses to identify which customizations to apply to the + * console. Omit this flag, or set it to no-resolved, to reveal customizations + * that are configured at different levels.

                                                            */ Resolved?: boolean; /** - *

                                                            The namespace associated with the customization that you're describing.

                                                            + *

                                                            The QuickSight namespace that you want to describe QuickSight customizations + * for.

                                                            */ Namespace?: string; } @@ -4669,19 +5085,24 @@ export interface DescribeAccountCustomizationResponse { RequestId?: string; /** - *

                                                            The namespace associated with the customization that you're describing.

                                                            + *

                                                            The ID for the AWS account that you're describing.

                                                            */ - Namespace?: string; + AwsAccountId?: string; /** - *

                                                            The ID for the AWS account that you want to describe QuickSight customizations for.

                                                            + *

                                                            The QuickSight namespace that you're describing.

                                                            */ - AwsAccountId?: string; + Namespace?: string; /** - *

                                                            The customizations associated with QuickSight.

                                                            + *

                                                            The QuickSight customizations that exist in the current AWS Region.

                                                            */ AccountCustomization?: AccountCustomization; + + /** + *

                                                            The Amazon Resource Name (ARN) of the customization that's associated with this AWS account.

                                                            + */ + Arn?: string; } export namespace DescribeAccountCustomizationResponse { @@ -4692,7 +5113,7 @@ export namespace DescribeAccountCustomizationResponse { export interface DescribeAccountSettingsRequest { /** - *

                                                            The ID for the AWS account that contains the QuickSight namespaces that you want to list.

                                                            + *

                                                            The ID for the AWS account that contains the settings that you want to list.

                                                            */ AwsAccountId: string | undefined; } @@ -4705,11 +5126,12 @@ export namespace DescribeAccountSettingsRequest { export interface DescribeAccountSettingsResponse { /** - *

                                                            The settings associated with the QuickSight subscription associated with this AWS account. This information includes the - * edition of Amazon QuickSight that you subscribed to (Standard or Enterprise) and the - * notification email for the QuickSight subscription. The QuickSight console, the - * QuickSight subscription is sometimes referred to as a QuickSight "account" even though - * it is technically not an account, but a subscription in your AWS account.

                                                            + *

                                                            The QuickSight settings for this AWS account. This information includes the edition of Amazon + * QuickSight that you subscribed to (Standard or Enterprise) and the notification email for the + * QuickSight subscription. In the QuickSight console, the QuickSight subscription is sometimes + * referred to as a QuickSight "account" even though it's technically not an account + * by itself. Instead, it's a subscription to the QuickSight service for your AWS account. The + * edition that you subscribe to applies to QuickSight in every AWS Region where you use it.

                                                            */ AccountSettings?: AccountSettings; @@ -4725,77 +5147,70 @@ export namespace DescribeAccountSettingsResponse { }); } -export interface DescribeDashboardRequest { - /** - *

                                                            The ID for the dashboard.

                                                            - */ - DashboardId: string | undefined; - - /** - *

                                                            The alias name.

                                                            - */ - AliasName?: string; - +export interface DescribeAnalysisRequest { /** - *

                                                            The ID of the AWS account that contains the dashboard that you're describing.

                                                            + *

                                                            The ID of the AWS account that contains the analysis. You must be using the AWS + * account that the analysis is in.

                                                            */ AwsAccountId: string | undefined; /** - *

                                                            The version number for the dashboard. If a version number isn't passed, the latest - * published dashboard version is described.

                                                            + *

                                                            The ID of the analysis that you're describing. The ID is part of the URL of the + * analysis.

                                                            */ - VersionNumber?: number; + AnalysisId: string | undefined; } -export namespace DescribeDashboardRequest { - export const filterSensitiveLog = (obj: DescribeDashboardRequest): any => ({ +export namespace DescribeAnalysisRequest { + export const filterSensitiveLog = (obj: DescribeAnalysisRequest): any => ({ ...obj, }); } -export interface DescribeDashboardResponse { +export interface DescribeAnalysisResponse { /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            A metadata structure that contains summary information for the analysis that you're + * describing.

                                                            */ - RequestId?: string; + Analysis?: Analysis; /** - *

                                                            Information about the dashboard.

                                                            + *

                                                            The AWS request ID for this operation.

                                                            */ - Dashboard?: Dashboard; + RequestId?: string; } -export namespace DescribeDashboardResponse { - export const filterSensitiveLog = (obj: DescribeDashboardResponse): any => ({ +export namespace DescribeAnalysisResponse { + export const filterSensitiveLog = (obj: DescribeAnalysisResponse): any => ({ ...obj, }); } -export interface DescribeDashboardPermissionsRequest { +export interface DescribeAnalysisPermissionsRequest { /** - *

                                                            The ID for the dashboard, also added to the IAM policy.

                                                            + *

                                                            The ID of the AWS account that contains the analysis whose permissions you're + * describing. You must be using the AWS account that the analysis is in.

                                                            */ - DashboardId: string | undefined; + AwsAccountId: string | undefined; /** - *

                                                            The ID of the AWS account that contains the dashboard that you're describing - * permissions for.

                                                            + *

                                                            The ID of the analysis whose permissions you're describing. The ID is part of the + * analysis URL.

                                                            */ - AwsAccountId: string | undefined; + AnalysisId: string | undefined; } -export namespace DescribeDashboardPermissionsRequest { - export const filterSensitiveLog = (obj: DescribeDashboardPermissionsRequest): any => ({ +export namespace DescribeAnalysisPermissionsRequest { + export const filterSensitiveLog = (obj: DescribeAnalysisPermissionsRequest): any => ({ ...obj, }); } -export interface DescribeDashboardPermissionsResponse { +export interface DescribeAnalysisPermissionsResponse { /** - *

                                                            The Amazon Resource Name (ARN) of the dashboard.

                                                            + *

                                                            The ID of the analysis whose permissions you're describing.

                                                            */ - DashboardArn?: string; + AnalysisId?: string; /** *

                                                            The AWS request ID for this operation.

                                                            @@ -4803,68 +5218,165 @@ export interface DescribeDashboardPermissionsResponse { RequestId?: string; /** - *

                                                            The ID for the dashboard.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the analysis whose permissions you're + * describing.

                                                            */ - DashboardId?: string; + AnalysisArn?: string; /** - *

                                                            A structure that contains the permissions for the dashboard.

                                                            + *

                                                            A structure that describes the principals and the resource-level permissions on an + * analysis.

                                                            */ Permissions?: ResourcePermission[]; } -export namespace DescribeDashboardPermissionsResponse { - export const filterSensitiveLog = (obj: DescribeDashboardPermissionsResponse): any => ({ +export namespace DescribeAnalysisPermissionsResponse { + export const filterSensitiveLog = (obj: DescribeAnalysisPermissionsResponse): any => ({ ...obj, }); } -export interface DescribeDataSetRequest { +export interface DescribeDashboardRequest { /** - *

                                                            The AWS account ID.

                                                            + *

                                                            The alias name.

                                                            */ - AwsAccountId: string | undefined; + AliasName?: string; /** - *

                                                            The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

                                                            + *

                                                            The ID for the dashboard.

                                                            */ - DataSetId: string | undefined; -} - -export namespace DescribeDataSetRequest { - export const filterSensitiveLog = (obj: DescribeDataSetRequest): any => ({ - ...obj, - }); -} + DashboardId: string | undefined; -export interface DescribeDataSetResponse { /** - *

                                                            Information on the dataset.

                                                            + *

                                                            The version number for the dashboard. If a version number isn't passed, the + * latest published dashboard version is described.

                                                            */ - DataSet?: DataSet; + VersionNumber?: number; /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            The ID of the AWS account that contains the dashboard that you're + * describing.

                                                            */ - RequestId?: string; + AwsAccountId: string | undefined; } -export namespace DescribeDataSetResponse { - export const filterSensitiveLog = (obj: DescribeDataSetResponse): any => ({ +export namespace DescribeDashboardRequest { + export const filterSensitiveLog = (obj: DescribeDashboardRequest): any => ({ ...obj, }); } -export interface DescribeDataSetPermissionsRequest { +export interface DescribeDashboardResponse { + /** + *

                                                            The AWS request ID for this operation.

                                                            + */ + RequestId?: string; + + /** + *

                                                            Information about the dashboard.

                                                            + */ + Dashboard?: Dashboard; +} + +export namespace DescribeDashboardResponse { + export const filterSensitiveLog = (obj: DescribeDashboardResponse): any => ({ + ...obj, + }); +} + +export interface DescribeDashboardPermissionsRequest { + /** + *

                                                            The ID of the AWS account that contains the dashboard that you're describing + * permissions for.

                                                            + */ + AwsAccountId: string | undefined; + + /** + *

                                                            The ID for the dashboard, also added to the IAM policy.

                                                            + */ + DashboardId: string | undefined; +} + +export namespace DescribeDashboardPermissionsRequest { + export const filterSensitiveLog = (obj: DescribeDashboardPermissionsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeDashboardPermissionsResponse { + /** + *

                                                            The Amazon Resource Name (ARN) of the dashboard.

                                                            + */ + DashboardArn?: string; + + /** + *

                                                            The AWS request ID for this operation.

                                                            + */ + RequestId?: string; + + /** + *

                                                            A structure that contains the permissions for the dashboard.

                                                            + */ + Permissions?: ResourcePermission[]; + + /** + *

                                                            The ID for the dashboard.

                                                            + */ + DashboardId?: string; +} + +export namespace DescribeDashboardPermissionsResponse { + export const filterSensitiveLog = (obj: DescribeDashboardPermissionsResponse): any => ({ + ...obj, + }); +} + +export interface DescribeDataSetRequest { + /** + *

                                                            The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

                                                            + */ + DataSetId: string | undefined; + /** *

                                                            The AWS account ID.

                                                            */ AwsAccountId: string | undefined; +} + +export namespace DescribeDataSetRequest { + export const filterSensitiveLog = (obj: DescribeDataSetRequest): any => ({ + ...obj, + }); +} + +export interface DescribeDataSetResponse { + /** + *

                                                            Information on the dataset.

                                                            + */ + DataSet?: DataSet; + + /** + *

                                                            The AWS request ID for this operation.

                                                            + */ + RequestId?: string; +} + +export namespace DescribeDataSetResponse { + export const filterSensitiveLog = (obj: DescribeDataSetResponse): any => ({ + ...obj, + }); +} +export interface DescribeDataSetPermissionsRequest { /** *

                                                            The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

                                                            */ DataSetId: string | undefined; + + /** + *

                                                            The AWS account ID.

                                                            + */ + AwsAccountId: string | undefined; } export namespace DescribeDataSetPermissionsRequest { @@ -4875,9 +5387,9 @@ export namespace DescribeDataSetPermissionsRequest { export interface DescribeDataSetPermissionsResponse { /** - *

                                                            A list of resource permissions on the dataset.

                                                            + *

                                                            The AWS request ID for this operation.

                                                            */ - Permissions?: ResourcePermission[]; + RequestId?: string; /** *

                                                            The Amazon Resource Name (ARN) of the dataset.

                                                            @@ -4885,14 +5397,14 @@ export interface DescribeDataSetPermissionsResponse { DataSetArn?: string; /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

                                                            */ - RequestId?: string; + DataSetId?: string; /** - *

                                                            The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

                                                            + *

                                                            A list of resource permissions on the dataset.

                                                            */ - DataSetId?: string; + Permissions?: ResourcePermission[]; } export namespace DescribeDataSetPermissionsResponse { @@ -4939,14 +5451,14 @@ export namespace DescribeDataSourceResponse { export interface DescribeDataSourcePermissionsRequest { /** - *

                                                            The ID of the data source. This ID is unique per AWS Region for each AWS account.

                                                            + *

                                                            The AWS account ID.

                                                            */ - DataSourceId: string | undefined; + AwsAccountId: string | undefined; /** - *

                                                            The AWS account ID.

                                                            + *

                                                            The ID of the data source. This ID is unique per AWS Region for each AWS account.

                                                            */ - AwsAccountId: string | undefined; + DataSourceId: string | undefined; } export namespace DescribeDataSourcePermissionsRequest { @@ -5027,14 +5539,14 @@ export namespace DescribeGroupResponse { export interface DescribeIAMPolicyAssignmentRequest { /** - *

                                                            The ID of the AWS account that contains the assignment that you want to describe.

                                                            + *

                                                            The namespace that contains the assignment.

                                                            */ - AwsAccountId: string | undefined; + Namespace: string | undefined; /** - *

                                                            The namespace that contains the assignment.

                                                            + *

                                                            The ID of the AWS account that contains the assignment that you want to describe.

                                                            */ - Namespace: string | undefined; + AwsAccountId: string | undefined; /** *

                                                            The name of the assignment.

                                                            @@ -5053,19 +5565,19 @@ export namespace DescribeIAMPolicyAssignmentRequest { */ export interface IAMPolicyAssignment { /** - *

                                                            Assignment name.

                                                            + *

                                                            The AWS account ID.

                                                            */ - AssignmentName?: string; + AwsAccountId?: string; /** - *

                                                            Assignment ID.

                                                            + *

                                                            The Amazon Resource Name (ARN) for the IAM policy.

                                                            */ - AssignmentId?: string; + PolicyArn?: string; /** - *

                                                            The Amazon Resource Name (ARN) for the IAM policy.

                                                            + *

                                                            Assignment ID.

                                                            */ - PolicyArn?: string; + AssignmentId?: string; /** *

                                                            Identities.

                                                            @@ -5073,14 +5585,14 @@ export interface IAMPolicyAssignment { Identities?: { [key: string]: string[] }; /** - *

                                                            Assignment status.

                                                            + *

                                                            Assignment name.

                                                            */ - AssignmentStatus?: AssignmentStatus | string; + AssignmentName?: string; /** - *

                                                            The AWS account ID.

                                                            + *

                                                            Assignment status.

                                                            */ - AwsAccountId?: string; + AssignmentStatus?: AssignmentStatus | string; } export namespace IAMPolicyAssignment { @@ -5091,14 +5603,14 @@ export namespace IAMPolicyAssignment { export interface DescribeIAMPolicyAssignmentResponse { /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            Information describing the IAM policy assignment.

                                                            */ - RequestId?: string; + IAMPolicyAssignment?: IAMPolicyAssignment; /** - *

                                                            Information describing the IAM policy assignment.

                                                            + *

                                                            The AWS request ID for this operation.

                                                            */ - IAMPolicyAssignment?: IAMPolicyAssignment; + RequestId?: string; } export namespace DescribeIAMPolicyAssignmentResponse { @@ -5128,6 +5640,11 @@ export namespace InvalidNextTokenException { } export interface DescribeIngestionRequest { + /** + *

                                                            The ID of the dataset used in the ingestion.

                                                            + */ + DataSetId: string | undefined; + /** *

                                                            The AWS account ID.

                                                            */ @@ -5137,11 +5654,6 @@ export interface DescribeIngestionRequest { *

                                                            An ID for the ingestion.

                                                            */ IngestionId: string | undefined; - - /** - *

                                                            The ID of the dataset used in the ingestion.

                                                            - */ - DataSetId: string | undefined; } export namespace DescribeIngestionRequest { @@ -5278,35 +5790,35 @@ export interface Ingestion { */ Arn: string | undefined; + /** + *

                                                            The size of the data ingested, in bytes.

                                                            + */ + IngestionSizeInBytes?: number; + /** *

                                                            Information about rows for a data set SPICE ingestion.

                                                            */ RowInfo?: RowInfo; /** - *

                                                            The size of the data ingested, in bytes.

                                                            + *

                                                            The time that this ingestion took, measured in seconds.

                                                            */ - IngestionSizeInBytes?: number; + IngestionTimeInSeconds?: number; /** *

                                                            Ingestion status.

                                                            */ IngestionStatus: IngestionStatus | string | undefined; - /** - *

                                                            Type of this ingestion.

                                                            - */ - RequestType?: IngestionRequestType | string; - /** *

                                                            Error information for this ingestion.

                                                            */ ErrorInfo?: ErrorInfo; /** - *

                                                            Information about a queued dataset SPICE ingestion.

                                                            + *

                                                            Type of this ingestion.

                                                            */ - QueueInfo?: QueueInfo; + RequestType?: IngestionRequestType | string; /** *

                                                            Ingestion ID.

                                                            @@ -5314,14 +5826,14 @@ export interface Ingestion { IngestionId?: string; /** - *

                                                            The time that this ingestion took, measured in seconds.

                                                            + *

                                                            The time that this ingestion started.

                                                            */ - IngestionTimeInSeconds?: number; + CreatedTime: Date | undefined; /** - *

                                                            The time that this ingestion started.

                                                            + *

                                                            Information about a queued dataset SPICE ingestion.

                                                            */ - CreatedTime: Date | undefined; + QueueInfo?: QueueInfo; /** *

                                                            Event source for this ingestion.

                                                            @@ -5337,14 +5849,14 @@ export namespace Ingestion { export interface DescribeIngestionResponse { /** - *

                                                            Information about the ingestion.

                                                            + *

                                                            The AWS request ID for this operation.

                                                            */ - Ingestion?: Ingestion; + RequestId?: string; /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            Information about the ingestion.

                                                            */ - RequestId?: string; + Ingestion?: Ingestion; } export namespace DescribeIngestionResponse { @@ -5401,6 +5913,11 @@ export namespace NamespaceError { *

                                                            The error type.

                                                            */ export interface NamespaceInfoV2 { + /** + *

                                                            The namespace AWS Region.

                                                            + */ + CapacityRegion?: string; + /** *

                                                            The namespace ARN.

                                                            */ @@ -5417,19 +5934,14 @@ export interface NamespaceInfoV2 { IdentityStore?: IdentityStore | string; /** - *

                                                            The namespace AWS Region.

                                                            + *

                                                            The creation status of a namespace that is not yet completely created.

                                                            */ - CapacityRegion?: string; + CreationStatus?: NamespaceStatus | string; /** - *

                                                            An error that occured when the namespace was created.

                                                            + *

                                                            An error that occurred when the namespace was created.

                                                            */ NamespaceError?: NamespaceError; - - /** - *

                                                            The creation status of a namespace that is not yet completely created.

                                                            - */ - CreationStatus?: NamespaceStatus | string; } export namespace NamespaceInfoV2 { @@ -5443,7 +5955,7 @@ export interface DescribeNamespaceResponse { *

                                                            The information about the namespace that you're describing. The response includes * the namespace ARN, name, AWS Region, creation status, and identity store. DescribeNamespace also * works for namespaces that are in the process of being created. For incomplete namespaces, - * this API lists the namespace error types and messages associated with the creation process.

                                                            + * this API operation lists the namespace error types and messages associated with the creation process.

                                                            */ Namespace?: NamespaceInfoV2; @@ -5460,6 +5972,11 @@ export namespace DescribeNamespaceResponse { } export interface DescribeTemplateRequest { + /** + *

                                                            The ID for the template.

                                                            + */ + TemplateId: string | undefined; + /** *

                                                            The ID of the AWS account that contains the template that you're describing.

                                                            */ @@ -5478,11 +5995,6 @@ export interface DescribeTemplateRequest { * value isn't provided, the latest version of the template is described.

                                                            */ VersionNumber?: number; - - /** - *

                                                            The ID for the template.

                                                            - */ - TemplateId: string | undefined; } export namespace DescribeTemplateRequest { @@ -5492,6 +6004,7 @@ export namespace DescribeTemplateRequest { } export enum TemplateErrorType { + ACCESS_DENIED = "ACCESS_DENIED", DATA_SET_NOT_FOUND = "DATA_SET_NOT_FOUND", INTERNAL_FAILURE = "INTERNAL_FAILURE", SOURCE_NOT_FOUND = "SOURCE_NOT_FOUND", @@ -5522,33 +6035,26 @@ export namespace TemplateError { *

                                                            A version of a template.

                                                            */ export interface TemplateVersion { - /** - *

                                                            The version number of the template.

                                                            - */ - VersionNumber?: number; - /** *

                                                            The HTTP status of the request.

                                                            */ Status?: ResourceStatus | string; /** - *

                                                            Errors associated with the template.

                                                            + *

                                                            Errors associated with this template version.

                                                            */ Errors?: TemplateError[]; /** - *

                                                            The Amazon Resource Name (ARN) of the analysis or template which was used to create - * this template.

                                                            + *

                                                            The ARN of the theme associated with this version of the template.

                                                            */ - SourceEntityArn?: string; + ThemeArn?: string; /** - *

                                                            Schema of the dataset identified by the placeholder. The idea is that any dashboard - * created from the template should be bound to new datasets matching the same schema - * described through this API. .

                                                            + *

                                                            The Amazon Resource Name (ARN) of an analysis or template that was used to create this + * template.

                                                            */ - DataSetConfigurations?: DataSetConfiguration[]; + SourceEntityArn?: string; /** *

                                                            The description of the template.

                                                            @@ -5559,6 +6065,23 @@ export interface TemplateVersion { *

                                                            The time that this template version was created.

                                                            */ CreatedTime?: Date; + + /** + *

                                                            Schema of the dataset identified by the placeholder. Any dashboard created from this + * template should be bound to new datasets matching the same schema described through this + * API operation.

                                                            + */ + DataSetConfigurations?: DataSetConfiguration[]; + + /** + *

                                                            The version number of the template version.

                                                            + */ + VersionNumber?: number; + + /** + *

                                                            A list of the associated sheets with the unique identifier and name of each sheet.

                                                            + */ + Sheets?: Sheet[]; } export namespace TemplateVersion { @@ -5571,7 +6094,7 @@ export namespace TemplateVersion { *

                                                            A template object. A template is an entity in QuickSight that * encapsulates the metadata required to create an analysis and that you can use to create * a dashboard. A template adds a layer of abstraction by using placeholders to replace the - * dataset associated with the analysis. You can use templates to create dashboards by + * dataset associated with an analysis. You can use templates to create dashboards by * replacing dataset placeholders with datasets that follow the same schema that was used * to create the source analysis and template.

                                                            *

                                                            You can share templates across AWS accounts by allowing users in other AWS accounts to @@ -5579,19 +6102,19 @@ export namespace TemplateVersion { */ export interface Template { /** - *

                                                            Time when this was created.

                                                            + *

                                                            The ID for the template. This is unique per AWS Region for each AWS account.

                                                            */ - CreatedTime?: Date; + TemplateId?: string; /** - *

                                                            The Amazon Resource Name (ARN) of the template.

                                                            + *

                                                            Time when this was last updated.

                                                            */ - Arn?: string; + LastUpdatedTime?: Date; /** - *

                                                            The ID for the template. This is unique per AWS Region for each AWS account.

                                                            + *

                                                            A structure describing the versions of the template.

                                                            */ - TemplateId?: string; + Version?: TemplateVersion; /** *

                                                            The display name of the template.

                                                            @@ -5599,14 +6122,14 @@ export interface Template { Name?: string; /** - *

                                                            Time when this was last updated.

                                                            + *

                                                            The Amazon Resource Name (ARN) of the template.

                                                            */ - LastUpdatedTime?: Date; + Arn?: string; /** - *

                                                            A structure describing the versions of the template.

                                                            + *

                                                            Time when this was created.

                                                            */ - Version?: TemplateVersion; + CreatedTime?: Date; } export namespace Template { @@ -5634,6 +6157,12 @@ export namespace DescribeTemplateResponse { } export interface DescribeTemplateAliasRequest { + /** + *

                                                            The ID of the AWS account that contains the template alias that you're + * describing.

                                                            + */ + AwsAccountId: string | undefined; + /** *

                                                            The name of the template alias that you want to describe. If you name a specific alias, you * describe the version that the alias points to. You can specify the latest version of the @@ -5642,12 +6171,6 @@ export interface DescribeTemplateAliasRequest { */ AliasName: string | undefined; - /** - *

                                                            The ID of the AWS account that contains the template alias that you're - * describing.

                                                            - */ - AwsAccountId: string | undefined; - /** *

                                                            The ID for the template.

                                                            */ @@ -5662,14 +6185,14 @@ export namespace DescribeTemplateAliasRequest { export interface DescribeTemplateAliasResponse { /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            Information about the template alias.

                                                            */ - RequestId?: string; + TemplateAlias?: TemplateAlias; /** - *

                                                            Information about the template alias.

                                                            + *

                                                            The AWS request ID for this operation.

                                                            */ - TemplateAlias?: TemplateAlias; + RequestId?: string; } export namespace DescribeTemplateAliasResponse { @@ -5725,11 +6248,6 @@ export namespace DescribeTemplatePermissionsResponse { } export interface DescribeThemeRequest { - /** - *

                                                            The ID for the theme.

                                                            - */ - ThemeId: string | undefined; - /** *

                                                            The alias of the theme that you want to describe. If you name a specific alias, you * describe the version that the alias points to. You can specify the latest version of the @@ -5738,6 +6256,11 @@ export interface DescribeThemeRequest { */ AliasName?: string; + /** + *

                                                            The ID for the theme.

                                                            + */ + ThemeId: string | undefined; + /** *

                                                            The ID of the AWS account that contains the theme that you're describing.

                                                            */ @@ -5771,14 +6294,14 @@ export enum ThemeErrorType { */ export interface ThemeError { /** - *

                                                            The error message.

                                                            + *

                                                            The type of error.

                                                            */ - Message?: string; + Type?: ThemeErrorType | string; /** - *

                                                            The type of error.

                                                            + *

                                                            The error message.

                                                            */ - Type?: ThemeErrorType | string; + Message?: string; } export namespace ThemeError { @@ -5807,15 +6330,20 @@ export interface ThemeVersion { VersionNumber?: number; /** - *

                                                            The date and time that this theme version was created.

                                                            + *

                                                            Errors associated with the theme.

                                                            */ - CreatedTime?: Date; + Errors?: ThemeError[]; /** *

                                                            The theme configuration, which contains all the theme display properties.

                                                            */ Configuration?: ThemeConfiguration; + /** + *

                                                            The date and time that this theme version was created.

                                                            + */ + CreatedTime?: Date; + /** *

                                                            The status of the theme version.

                                                            */ @@ -5826,11 +6354,6 @@ export interface ThemeVersion { * themes initially inherit from a default QuickSight theme.

                                                            */ BaseThemeId?: string; - - /** - *

                                                            Errors associated with the theme.

                                                            - */ - Errors?: ThemeError[]; } export namespace ThemeVersion { @@ -5840,14 +6363,9 @@ export namespace ThemeVersion { } /** - *

                                                            + *

                                                            Summary information about a theme.

                                                            */ export interface Theme { - /** - *

                                                            The name that the user gives to the theme.

                                                            - */ - Name?: string; - /** *

                                                            The type of theme, based on how it was created. Valid values include: * QUICKSIGHT and CUSTOM.

                                                            @@ -5855,9 +6373,14 @@ export interface Theme { Type?: ThemeType | string; /** - *

                                                            The date and time that the theme was last updated.

                                                            + *

                                                            The name that the user gives to the theme.

                                                            */ - LastUpdatedTime?: Date; + Name?: string; + + /** + *

                                                            A version of a theme.

                                                            + */ + Version?: ThemeVersion; /** *

                                                            The Amazon Resource Name (ARN) of the theme.

                                                            @@ -5865,19 +6388,19 @@ export interface Theme { Arn?: string; /** - *

                                                            A version of a theme.

                                                            + *

                                                            The identifier that the user gives to the theme.

                                                            */ - Version?: ThemeVersion; + ThemeId?: string; /** - *

                                                            The date and time that the theme was created.

                                                            + *

                                                            The date and time that the theme was last updated.

                                                            */ - CreatedTime?: Date; + LastUpdatedTime?: Date; /** - *

                                                            The identifier that the user gives to the theme.

                                                            + *

                                                            The date and time that the theme was created.

                                                            */ - ThemeId?: string; + CreatedTime?: Date; } export namespace Theme { @@ -5912,14 +6435,14 @@ export interface DescribeThemeAliasRequest { AwsAccountId: string | undefined; /** - *

                                                            The ID for the theme.

                                                            + *

                                                            The name of the theme alias that you want to describe.

                                                            */ - ThemeId: string | undefined; + AliasName: string | undefined; /** - *

                                                            The name of the theme alias that you want to describe.

                                                            + *

                                                            The ID for the theme.

                                                            */ - AliasName: string | undefined; + ThemeId: string | undefined; } export namespace DescribeThemeAliasRequest { @@ -5930,14 +6453,14 @@ export namespace DescribeThemeAliasRequest { export interface DescribeThemeAliasResponse { /** - *

                                                            Information about the theme alias.

                                                            + *

                                                            The AWS request ID for this operation.

                                                            */ - ThemeAlias?: ThemeAlias; + RequestId?: string; /** - *

                                                            The AWS request ID for this operation.

                                                            + *

                                                            Information about the theme alias.

                                                            */ - RequestId?: string; + ThemeAlias?: ThemeAlias; } export namespace DescribeThemeAliasResponse { @@ -5976,14 +6499,14 @@ export interface DescribeThemePermissionsResponse { RequestId?: string; /** - *

                                                            A list of resource permissions set on the theme.

                                                            + *

                                                            The ID for the theme.

                                                            */ - Permissions?: ResourcePermission[]; + ThemeId?: string; /** - *

                                                            The ID for the theme.

                                                            + *

                                                            A list of resource permissions set on the theme.

                                                            */ - ThemeId?: string; + Permissions?: ResourcePermission[]; } export namespace DescribeThemePermissionsResponse { @@ -5998,16 +6521,16 @@ export interface DescribeUserRequest { */ Namespace: string | undefined; - /** - *

                                                            The name of the user that you want to describe.

                                                            - */ - UserName: string | undefined; - /** *

                                                            The ID for the AWS account that the user is in. Currently, you use the ID for the AWS * account that contains your Amazon QuickSight account.

                                                            */ AwsAccountId: string | undefined; + + /** + *

                                                            The name of the user that you want to describe.

                                                            + */ + UserName: string | undefined; } export namespace DescribeUserRequest { @@ -6030,8 +6553,7 @@ export enum UserRole { } /** - *

                                                            A registered user of Amazon QuickSight. Currently, an Amazon QuickSight subscription - * can't contain more than 20 million users.

                                                            + *

                                                            A registered user of Amazon QuickSight.

                                                            */ export interface User { /** @@ -6040,9 +6562,11 @@ export interface User { CustomPermissionsName?: string; /** - *

                                                            The user's user name.

                                                            + *

                                                            The active status of user. When you create an Amazon QuickSight user that’s not an IAM + * user or an Active Directory user, that user is inactive until they sign in and provide a + * password.

                                                            */ - UserName?: string; + Active?: boolean; /** *

                                                            The Amazon QuickSight role for the user. The user role can be one of the @@ -6077,31 +6601,29 @@ export interface User { Role?: UserRole | string; /** - *

                                                            The active status of user. When you create an Amazon QuickSight user that’s not an IAM - * user or an Active Directory user, that user is inactive until they sign in and provide a - * password.

                                                            + *

                                                            The user's email address.

                                                            */ - Active?: boolean; + Email?: string; /** - *

                                                            The Amazon Resource Name (ARN) for the user.

                                                            + *

                                                            The user's user name.

                                                            */ - Arn?: string; + UserName?: string; /** - *

                                                            The principal ID of the user.

                                                            + *

                                                            The type of identity authentication used by the user.

                                                            */ - PrincipalId?: string; + IdentityType?: IdentityType | string; /** - *

                                                            The user's email address.

                                                            + *

                                                            The Amazon Resource Name (ARN) for the user.

                                                            */ - Email?: string; + Arn?: string; /** - *

                                                            The type of identity authentication used by the user.

                                                            + *

                                                            The principal ID of the user.

                                                            */ - IdentityType?: IdentityType | string; + PrincipalId?: string; } export namespace User { @@ -6135,11 +6657,12 @@ export namespace DescribeUserResponse { export interface DomainNotWhitelistedException extends __SmithyException, $MetadataBearer { name: "DomainNotWhitelistedException"; $fault: "client"; - Message?: string; /** *

                                                            The AWS request ID for this request.

                                                            */ RequestId?: string; + + Message?: string; } export namespace DomainNotWhitelistedException { @@ -6150,15 +6673,15 @@ export namespace DomainNotWhitelistedException { export interface GetDashboardEmbedUrlRequest { /** - *

                                                            Remove the reset button on the embedded dashboard. The default is FALSE, which enables the - * reset button.

                                                            + *

                                                            How many minutes the session is valid. The session lifetime must be 15-600 minutes.

                                                            */ - ResetDisabled?: boolean; + SessionLifetimeInMinutes?: number; /** - *

                                                            How many minutes the session is valid. The session lifetime must be 15-600 minutes.

                                                            + *

                                                            Remove the reset button on the embedded dashboard. The default is FALSE, which enables the + * reset button.

                                                            */ - SessionLifetimeInMinutes?: number; + ResetDisabled?: boolean; /** *

                                                            The ID for the AWS account that contains the dashboard that you're embedding.

                                                            @@ -6170,12 +6693,6 @@ export interface GetDashboardEmbedUrlRequest { */ IdentityType: IdentityType | string | undefined; - /** - *

                                                            Remove the undo/redo button on the embedded dashboard. The default is FALSE, which enables - * the undo/redo button.

                                                            - */ - UndoRedoDisabled?: boolean; - /** *

                                                            The Amazon QuickSight user's Amazon Resource Name (ARN), for use with QUICKSIGHT identity type. * You can use this for any Amazon QuickSight users in your account (readers, authors, or @@ -6192,6 +6709,8 @@ export interface GetDashboardEmbedUrlRequest { * SAML, OpenID Connect, or IAM federation.

                                                            * *
                                                          + *

                                                          Omit this parameter for users in the third group – IAM users and IAM + * role-based sessions.

                                                          */ UserArn?: string; @@ -6199,6 +6718,12 @@ export interface GetDashboardEmbedUrlRequest { *

                                                          The ID for the dashboard, also added to the IAM policy.

                                                          */ DashboardId: string | undefined; + + /** + *

                                                          Remove the undo/redo button on the embedded dashboard. The default is FALSE, which enables + * the undo/redo button.

                                                          + */ + UndoRedoDisabled?: boolean; } export namespace GetDashboardEmbedUrlRequest { @@ -6210,7 +6735,7 @@ export namespace GetDashboardEmbedUrlRequest { export interface GetDashboardEmbedUrlResponse { /** *

                                                          A single-use URL that you can put into your server-side webpage to embed your - * dashboard. This URL is valid for 5 minutes. The API provides the URL with an + * dashboard. This URL is valid for 5 minutes. The API operation provides the URL with an * auth_code value that enables one (and only one) sign-on to a user session * that is valid for 10 hours.

                                                          */ @@ -6258,12 +6783,11 @@ export namespace IdentityTypeNotSupportedException { export interface QuickSightUserNotFoundException extends __SmithyException, $MetadataBearer { name: "QuickSightUserNotFoundException"; $fault: "client"; + Message?: string; /** *

                                                          The AWS request ID for this request.

                                                          */ RequestId?: string; - - Message?: string; } export namespace QuickSightUserNotFoundException { @@ -6299,15 +6823,53 @@ export interface GetSessionEmbedUrlRequest { SessionLifetimeInMinutes?: number; /** - *

                                                          The ID for the AWS account that contains the QuickSight session that you're embedding.

                                                          + *

                                                          The URL you use to access the embedded session. The entry point URL is constrained to + * the following paths:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * /start + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * /start/analyses + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * /start/dashboards + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * /start/favorites + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * /dashboards/DashboardId + * - where DashboardId is the actual ID key from the QuickSight console URL of the dashboard

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * /analyses/AnalysisId + * - where AnalysisId is the actual ID key from the QuickSight console URL of the analysis

                                                            + *
                                                          • + *
                                                          + */ + EntryPoint?: string; + + /** + *

                                                          The ID for the AWS account associated with your QuickSight subscription.

                                                          */ AwsAccountId: string | undefined; /** *

                                                          The Amazon QuickSight user's Amazon Resource Name (ARN), for use with QUICKSIGHT identity type. - * You can use this for any Amazon QuickSight users in your account (readers, authors, or - * admins) authenticated as one of the following:

                                                          - *
                                                            + * You can use this for any type of Amazon QuickSight users in your account (readers, authors, or + * admins). They need to be authenticated as one of the following:

                                                            + *
                                                              *
                                                            1. *

                                                              Active Directory (AD) users or group members

                                                              *
                                                            2. @@ -6316,16 +6878,13 @@ export interface GetSessionEmbedUrlRequest { * *
                                                            3. *

                                                              IAM users and IAM role-based sessions authenticated through Federated Single Sign-On using - * SAML, OpenID Connect, or IAM federation.

                                                              + * SAML, OpenID Connect, or IAM federation

                                                              *
                                                            4. - *
                                                          + * + *

                                                          Omit this parameter for users in the third group – IAM users and IAM + * role-based sessions.

                                                          */ UserArn?: string; - - /** - *

                                                          The entry point for the embedded session.

                                                          - */ - EntryPoint?: string; } export namespace GetSessionEmbedUrlRequest { @@ -6337,7 +6896,7 @@ export namespace GetSessionEmbedUrlRequest { export interface GetSessionEmbedUrlResponse { /** *

                                                          A single-use URL that you can put into your server-side web page to embed your - * QuickSight session. This URL is valid for 5 minutes. The API provides the URL with an + * QuickSight session. This URL is valid for 5 minutes. The API operation provides the URL with an * auth_code value that enables one (and only one) sign-on to a user session * that is valid for 10 hours.

                                                          */ @@ -6361,14 +6920,14 @@ export namespace GetSessionEmbedUrlResponse { */ export interface IAMPolicyAssignmentSummary { /** - *

                                                          Assignment status.

                                                          + *

                                                          Assignment name.

                                                          */ - AssignmentStatus?: AssignmentStatus | string; + AssignmentName?: string; /** - *

                                                          Assignment name.

                                                          + *

                                                          Assignment status.

                                                          */ - AssignmentName?: string; + AssignmentStatus?: AssignmentStatus | string; } export namespace IAMPolicyAssignmentSummary { @@ -6377,67 +6936,114 @@ export namespace IAMPolicyAssignmentSummary { }); } -export interface ListDashboardsRequest { +export interface ListAnalysesRequest { /** - *

                                                          The ID of the AWS account that contains the dashboards that you're listing.

                                                          + *

                                                          The maximum number of results to return.

                                                          */ - AwsAccountId: string | undefined; + MaxResults?: number; /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + *

                                                          A pagination token that can be used in a subsequent request.

                                                          */ NextToken?: string; /** - *

                                                          The maximum number of results to be returned per request.

                                                          + *

                                                          The ID of the AWS account that contains the analyses.

                                                          */ - MaxResults?: number; + AwsAccountId: string | undefined; } -export namespace ListDashboardsRequest { - export const filterSensitiveLog = (obj: ListDashboardsRequest): any => ({ +export namespace ListAnalysesRequest { + export const filterSensitiveLog = (obj: ListAnalysesRequest): any => ({ ...obj, }); } -export interface ListDashboardsResponse { +export interface ListAnalysesResponse { /** - *

                                                          A structure that contains all of the dashboards in your AWS account. This structure - * provides basic information about the dashboards.

                                                          + *

                                                          Metadata describing each of the analyses that are listed.

                                                          */ - DashboardSummaryList?: DashboardSummary[]; + AnalysisSummaryList?: AnalysisSummary[]; /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + *

                                                          The AWS request ID for this operation.

                                                          */ - NextToken?: string; + RequestId?: string; /** - *

                                                          The AWS request ID for this operation.

                                                          + *

                                                          A pagination token that can be used in a subsequent request.

                                                          */ - RequestId?: string; + NextToken?: string; } -export namespace ListDashboardsResponse { - export const filterSensitiveLog = (obj: ListDashboardsResponse): any => ({ +export namespace ListAnalysesResponse { + export const filterSensitiveLog = (obj: ListAnalysesResponse): any => ({ ...obj, }); } -export interface ListDashboardVersionsRequest { - /** - *

                                                          The maximum number of results to be returned per request.

                                                          - */ - MaxResults?: number; - +export interface ListDashboardsRequest { /** *

                                                          The token for the next set of results, or null if there are no more results.

                                                          */ NextToken?: string; /** - *

                                                          The ID of the AWS account that contains the dashboard that you're listing versions - * for.

                                                          + *

                                                          The ID of the AWS account that contains the dashboards that you're + * listing.

                                                          + */ + AwsAccountId: string | undefined; + + /** + *

                                                          The maximum number of results to be returned per request.

                                                          + */ + MaxResults?: number; +} + +export namespace ListDashboardsRequest { + export const filterSensitiveLog = (obj: ListDashboardsRequest): any => ({ + ...obj, + }); +} + +export interface ListDashboardsResponse { + /** + *

                                                          A structure that contains all of the dashboards in your AWS account. This structure + * provides basic information about the dashboards.

                                                          + */ + DashboardSummaryList?: DashboardSummary[]; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; +} + +export namespace ListDashboardsResponse { + export const filterSensitiveLog = (obj: ListDashboardsResponse): any => ({ + ...obj, + }); +} + +export interface ListDashboardVersionsRequest { + /** + *

                                                          The maximum number of results to be returned per request.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The ID of the AWS account that contains the dashboard that you're listing versions + * for.

                                                          */ AwsAccountId: string | undefined; @@ -6506,14 +7112,14 @@ export interface ListDataSetsResponse { DataSetSummaries?: DataSetSummary[]; /** - *

                                                          The AWS request ID for this operation.

                                                          + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          */ - RequestId?: string; + NextToken?: string; /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + *

                                                          The AWS request ID for this operation.

                                                          */ - NextToken?: string; + RequestId?: string; } export namespace ListDataSetsResponse { @@ -6546,6 +7152,11 @@ export namespace ListDataSourcesRequest { } export interface ListDataSourcesResponse { + /** + *

                                                          A list of data sources.

                                                          + */ + DataSources?: DataSource[]; + /** *

                                                          The token for the next set of results, or null if there are no more results.

                                                          */ @@ -6555,11 +7166,6 @@ export interface ListDataSourcesResponse { *

                                                          The AWS request ID for this operation.

                                                          */ RequestId?: string; - - /** - *

                                                          A list of data sources.

                                                          - */ - DataSources?: DataSource[]; } export namespace ListDataSourcesResponse { @@ -6570,9 +7176,9 @@ export namespace ListDataSourcesResponse { export interface ListGroupMembershipsRequest { /** - *

                                                          The maximum number of results to return from this request.

                                                          + *

                                                          The name of the group that you want to see a membership list of.

                                                          */ - MaxResults?: number; + GroupName: string | undefined; /** *

                                                          A pagination token that can be used in a subsequent request.

                                                          @@ -6580,9 +7186,9 @@ export interface ListGroupMembershipsRequest { NextToken?: string; /** - *

                                                          The name of the group that you want to see a membership list of.

                                                          + *

                                                          The maximum number of results to return from this request.

                                                          */ - GroupName: string | undefined; + MaxResults?: number; /** *

                                                          The namespace. Currently, you should set this to default.

                                                          @@ -6604,14 +7210,14 @@ export namespace ListGroupMembershipsRequest { export interface ListGroupMembershipsResponse { /** - *

                                                          The AWS request ID for this operation.

                                                          + *

                                                          A pagination token that can be used in a subsequent request.

                                                          */ - RequestId?: string; + NextToken?: string; /** - *

                                                          A pagination token that can be used in a subsequent request.

                                                          + *

                                                          The AWS request ID for this operation.

                                                          */ - NextToken?: string; + RequestId?: string; /** *

                                                          The list of the members of the group.

                                                          @@ -6631,17 +7237,17 @@ export interface ListGroupsRequest { */ NextToken?: string; - /** - *

                                                          The maximum number of results to return.

                                                          - */ - MaxResults?: number; - /** *

                                                          The ID for the AWS account that the group is in. Currently, you use the ID for the AWS * account that contains your Amazon QuickSight account.

                                                          */ AwsAccountId: string | undefined; + /** + *

                                                          The maximum number of results to return.

                                                          + */ + MaxResults?: number; + /** *

                                                          The namespace. Currently, you should set this to default.

                                                          */ @@ -6689,9 +7295,9 @@ export interface ListIAMPolicyAssignmentsRequest { NextToken?: string; /** - *

                                                          The status of the assignments.

                                                          + *

                                                          The namespace for the assignments.

                                                          */ - AssignmentStatus?: AssignmentStatus | string; + Namespace: string | undefined; /** *

                                                          The ID of the AWS account that contains these IAM policy assignments.

                                                          @@ -6699,9 +7305,9 @@ export interface ListIAMPolicyAssignmentsRequest { AwsAccountId: string | undefined; /** - *

                                                          The namespace for the assignments.

                                                          + *

                                                          The status of the assignments.

                                                          */ - Namespace: string | undefined; + AssignmentStatus?: AssignmentStatus | string; } export namespace ListIAMPolicyAssignmentsRequest { @@ -6711,6 +7317,11 @@ export namespace ListIAMPolicyAssignmentsRequest { } export interface ListIAMPolicyAssignmentsResponse { + /** + *

                                                          Information describing the IAM policy assignments.

                                                          + */ + IAMPolicyAssignments?: IAMPolicyAssignmentSummary[]; + /** *

                                                          The AWS request ID for this operation.

                                                          */ @@ -6720,11 +7331,6 @@ export interface ListIAMPolicyAssignmentsResponse { *

                                                          The token for the next set of results, or null if there are no more results.

                                                          */ NextToken?: string; - - /** - *

                                                          Information describing the IAM policy assignments.

                                                          - */ - IAMPolicyAssignments?: IAMPolicyAssignmentSummary[]; } export namespace ListIAMPolicyAssignmentsResponse { @@ -6735,14 +7341,14 @@ export namespace ListIAMPolicyAssignmentsResponse { export interface ListIAMPolicyAssignmentsForUserRequest { /** - *

                                                          The ID of the AWS account that contains the assignments.

                                                          + *

                                                          The namespace of the assignment.

                                                          */ - AwsAccountId: string | undefined; + Namespace: string | undefined; /** - *

                                                          The namespace of the assignment.

                                                          + *

                                                          The ID of the AWS account that contains the assignments.

                                                          */ - Namespace: string | undefined; + AwsAccountId: string | undefined; /** *

                                                          The name of the user.

                                                          @@ -6750,14 +7356,14 @@ export interface ListIAMPolicyAssignmentsForUserRequest { UserName: string | undefined; /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + *

                                                          The maximum number of results to be returned per request.

                                                          */ - NextToken?: string; + MaxResults?: number; /** - *

                                                          The maximum number of results to be returned per request.

                                                          + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          */ - MaxResults?: number; + NextToken?: string; } export namespace ListIAMPolicyAssignmentsForUserRequest { @@ -6791,14 +7397,14 @@ export namespace ListIAMPolicyAssignmentsForUserResponse { export interface ListIngestionsRequest { /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + *

                                                          The AWS account ID.

                                                          */ - NextToken?: string; + AwsAccountId: string | undefined; /** - *

                                                          The AWS account ID.

                                                          + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          */ - AwsAccountId: string | undefined; + NextToken?: string; /** *

                                                          The ID of the dataset used in the ingestion.

                                                          @@ -6842,14 +7448,14 @@ export namespace ListIngestionsResponse { export interface ListNamespacesRequest { /** - *

                                                          The ID for the AWS account that contains the QuickSight namespaces that you want to list.

                                                          + *

                                                          The maximum number of results to return.

                                                          */ - AwsAccountId: string | undefined; + MaxResults?: number; /** - *

                                                          The maximum number of results to return.

                                                          + *

                                                          The ID for the AWS account that contains the QuickSight namespaces that you want to list.

                                                          */ - MaxResults?: number; + AwsAccountId: string | undefined; /** *

                                                          A pagination token that can be used in a subsequent request.

                                                          @@ -6865,11 +7471,9 @@ export namespace ListNamespacesRequest { export interface ListNamespacesResponse { /** - *

                                                          The information about the namespaces in this AWS account. The response includes - * the namespace ARN, name, AWS Region, notification email address, creation status, and - * identity store.

                                                          + *

                                                          A pagination token that can be used in a subsequent request.

                                                          */ - Namespaces?: NamespaceInfoV2[]; + NextToken?: string; /** *

                                                          The AWS request ID for this operation.

                                                          @@ -6877,9 +7481,11 @@ export interface ListNamespacesResponse { RequestId?: string; /** - *

                                                          A pagination token that can be used in a subsequent request.

                                                          + *

                                                          The information about the namespaces in this AWS account. The response includes + * the namespace ARN, name, AWS Region, notification email address, creation status, and + * identity store.

                                                          */ - NextToken?: string; + Namespaces?: NamespaceInfoV2[]; } export namespace ListNamespacesResponse { @@ -6902,16 +7508,16 @@ export namespace ListTagsForResourceRequest { } export interface ListTagsForResourceResponse { - /** - *

                                                          The AWS request ID for this operation.

                                                          - */ - RequestId?: string; - /** *

                                                          Contains a map of the key-value pairs for the resource tag or tags assigned to the * resource.

                                                          */ Tags?: Tag[]; + + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; } export namespace ListTagsForResourceResponse { @@ -6922,14 +7528,14 @@ export namespace ListTagsForResourceResponse { export interface ListTemplateAliasesRequest { /** - *

                                                          The maximum number of results to be returned per request.

                                                          + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          */ - MaxResults?: number; + NextToken?: string; /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + *

                                                          The maximum number of results to be returned per request.

                                                          */ - NextToken?: string; + MaxResults?: number; /** *

                                                          The ID for the template.

                                                          @@ -6954,673 +7560,19 @@ export interface ListTemplateAliasesResponse { */ TemplateAliasList?: TemplateAlias[]; - /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          - */ - NextToken?: string; - /** *

                                                          The AWS request ID for this operation.

                                                          */ RequestId?: string; -} - -export namespace ListTemplateAliasesResponse { - export const filterSensitiveLog = (obj: ListTemplateAliasesResponse): any => ({ - ...obj, - }); -} - -export interface ListTemplatesRequest { - /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          - */ - NextToken?: string; - /** - *

                                                          The maximum number of results to be returned per request.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          The ID of the AWS account that contains the templates that you're listing.

                                                          - */ - AwsAccountId: string | undefined; -} - -export namespace ListTemplatesRequest { - export const filterSensitiveLog = (obj: ListTemplatesRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                          The template summary.

                                                          - */ -export interface TemplateSummary { - /** - *

                                                          The last time that this template was created.

                                                          - */ - CreatedTime?: Date; - - /** - *

                                                          The ID of the template. This ID is unique per AWS Region for each AWS account.

                                                          - */ - TemplateId?: string; - - /** - *

                                                          A summary of a template.

                                                          - */ - Arn?: string; - - /** - *

                                                          The last time that this template was updated.

                                                          - */ - LastUpdatedTime?: Date; - - /** - *

                                                          A display name for the template.

                                                          - */ - Name?: string; - - /** - *

                                                          A structure containing a list of version numbers for the template summary.

                                                          - */ - LatestVersionNumber?: number; -} - -export namespace TemplateSummary { - export const filterSensitiveLog = (obj: TemplateSummary): any => ({ - ...obj, - }); -} - -export interface ListTemplatesResponse { /** *

                                                          The token for the next set of results, or null if there are no more results.

                                                          */ NextToken?: string; - - /** - *

                                                          The AWS request ID for this operation.

                                                          - */ - RequestId?: string; - - /** - *

                                                          A structure containing information about the templates in the list.

                                                          - */ - TemplateSummaryList?: TemplateSummary[]; -} - -export namespace ListTemplatesResponse { - export const filterSensitiveLog = (obj: ListTemplatesResponse): any => ({ - ...obj, - }); } -export interface ListTemplateVersionsRequest { - /** - *

                                                          The ID for the template.

                                                          - */ - TemplateId: string | undefined; - - /** - *

                                                          The maximum number of results to be returned per request.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          The ID of the AWS account that contains the templates that you're listing.

                                                          - */ - AwsAccountId: string | undefined; - - /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          - */ - NextToken?: string; -} - -export namespace ListTemplateVersionsRequest { - export const filterSensitiveLog = (obj: ListTemplateVersionsRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                          The template version.

                                                          - */ -export interface TemplateVersionSummary { - /** - *

                                                          The version number of the template version.

                                                          - */ - VersionNumber?: number; - - /** - *

                                                          The Amazon Resource Name (ARN) of the template version.

                                                          - */ - Arn?: string; - - /** - *

                                                          The status of the template version.

                                                          - */ - Status?: ResourceStatus | string; - - /** - *

                                                          The time that this template version was created.

                                                          - */ - CreatedTime?: Date; - - /** - *

                                                          The description of the template version.

                                                          - */ - Description?: string; -} - -export namespace TemplateVersionSummary { - export const filterSensitiveLog = (obj: TemplateVersionSummary): any => ({ - ...obj, - }); -} - -export interface ListTemplateVersionsResponse { - /** - *

                                                          A structure containing a list of all the versions of the specified template.

                                                          - */ - TemplateVersionSummaryList?: TemplateVersionSummary[]; - - /** - *

                                                          The AWS request ID for this operation.

                                                          - */ - RequestId?: string; - - /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          - */ - NextToken?: string; -} - -export namespace ListTemplateVersionsResponse { - export const filterSensitiveLog = (obj: ListTemplateVersionsResponse): any => ({ - ...obj, - }); -} - -export interface ListThemeAliasesRequest { - /** - *

                                                          The maximum number of results to be returned per request.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          The ID of the AWS account that contains the theme aliases that you're listing.

                                                          - */ - AwsAccountId: string | undefined; - - /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          - */ - NextToken?: string; - - /** - *

                                                          The ID for the theme.

                                                          - */ - ThemeId: string | undefined; -} - -export namespace ListThemeAliasesRequest { - export const filterSensitiveLog = (obj: ListThemeAliasesRequest): any => ({ - ...obj, - }); -} - -export interface ListThemeAliasesResponse { - /** - *

                                                          A structure containing the list of the theme's aliases.

                                                          - */ - ThemeAliasList?: ThemeAlias[]; - - /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          - */ - NextToken?: string; - - /** - *

                                                          The AWS request ID for this operation.

                                                          - */ - RequestId?: string; -} - -export namespace ListThemeAliasesResponse { - export const filterSensitiveLog = (obj: ListThemeAliasesResponse): any => ({ - ...obj, - }); -} - -export interface ListThemesRequest { - /** - *

                                                          The maximum number of results to be returned per request.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          The ID of the AWS account that contains the themes that you're listing.

                                                          - */ - AwsAccountId: string | undefined; - - /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          - */ - NextToken?: string; - - /** - *

                                                          The type of themes that you want to list. Valid options include the following:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * ALL (default)- Display all existing themes.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * CUSTOM - Display only the themes created by people using Amazon QuickSight.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * QUICKSIGHT - Display only the starting themes defined by QuickSight.

                                                            - *
                                                          • - *
                                                          - */ - Type?: ThemeType | string; -} - -export namespace ListThemesRequest { - export const filterSensitiveLog = (obj: ListThemesRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                          The theme summary.

                                                          - */ -export interface ThemeSummary { - /** - *

                                                          the display name for the theme.

                                                          - */ - Name?: string; - - /** - *

                                                          The date and time that this theme was created.

                                                          - */ - CreatedTime?: Date; - - /** - *

                                                          The ID of the theme. This ID is unique per AWS Region for each AWS account.

                                                          - */ - ThemeId?: string; - - /** - *

                                                          The latest version number for the theme.

                                                          - */ - LatestVersionNumber?: number; - - /** - *

                                                          The last date and time that this theme was updated.

                                                          - */ - LastUpdatedTime?: Date; - - /** - *

                                                          The Amazon Resource Name (ARN) of the resource.

                                                          - */ - Arn?: string; -} - -export namespace ThemeSummary { - export const filterSensitiveLog = (obj: ThemeSummary): any => ({ - ...obj, - }); -} - -export interface ListThemesResponse { - /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          - */ - NextToken?: string; - - /** - *

                                                          The AWS request ID for this operation.

                                                          - */ - RequestId?: string; - - /** - *

                                                          Information about the themes in the list.

                                                          - */ - ThemeSummaryList?: ThemeSummary[]; -} - -export namespace ListThemesResponse { - export const filterSensitiveLog = (obj: ListThemesResponse): any => ({ - ...obj, - }); -} - -export interface ListThemeVersionsRequest { - /** - *

                                                          The ID for the theme.

                                                          - */ - ThemeId: string | undefined; - - /** - *

                                                          The maximum number of results to be returned per request.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          The ID of the AWS account that contains the themes that you're listing.

                                                          - */ - AwsAccountId: string | undefined; - - /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          - */ - NextToken?: string; -} - -export namespace ListThemeVersionsRequest { - export const filterSensitiveLog = (obj: ListThemeVersionsRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                          The theme version.

                                                          - */ -export interface ThemeVersionSummary { - /** - *

                                                          The version number of the theme version.

                                                          - */ - VersionNumber?: number; - - /** - *

                                                          The status of the theme version.

                                                          - */ - Status?: ResourceStatus | string; - - /** - *

                                                          The date and time that this theme version was created.

                                                          - */ - CreatedTime?: Date; - - /** - *

                                                          The description of the theme version.

                                                          - */ - Description?: string; - - /** - *

                                                          The Amazon Resource Name (ARN) of the theme version.

                                                          - */ - Arn?: string; -} - -export namespace ThemeVersionSummary { - export const filterSensitiveLog = (obj: ThemeVersionSummary): any => ({ - ...obj, - }); -} - -export interface ListThemeVersionsResponse { - /** - *

                                                          The AWS request ID for this operation.

                                                          - */ - RequestId?: string; - - /** - *

                                                          A structure containing a list of all the versions of the specified theme.

                                                          - */ - ThemeVersionSummaryList?: ThemeVersionSummary[]; - - /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          - */ - NextToken?: string; -} - -export namespace ListThemeVersionsResponse { - export const filterSensitiveLog = (obj: ListThemeVersionsResponse): any => ({ - ...obj, - }); -} - -export interface ListUserGroupsRequest { - /** - *

                                                          The maximum number of results to return from this request.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          The namespace. Currently, you should set this to default.

                                                          - */ - Namespace: string | undefined; - - /** - *

                                                          A pagination token that can be used in a subsequent request.

                                                          - */ - NextToken?: string; - - /** - *

                                                          The AWS account ID that the user is in. Currently, you use the ID for the AWS account - * that contains your Amazon QuickSight account.

                                                          - */ - AwsAccountId: string | undefined; - - /** - *

                                                          The Amazon QuickSight user name that you want to list group memberships for.

                                                          - */ - UserName: string | undefined; -} - -export namespace ListUserGroupsRequest { - export const filterSensitiveLog = (obj: ListUserGroupsRequest): any => ({ - ...obj, - }); -} - -export interface ListUserGroupsResponse { - /** - *

                                                          The AWS request ID for this operation.

                                                          - */ - RequestId?: string; - - /** - *

                                                          The list of groups the user is a member of.

                                                          - */ - GroupList?: Group[]; - - /** - *

                                                          A pagination token that can be used in a subsequent request.

                                                          - */ - NextToken?: string; -} - -export namespace ListUserGroupsResponse { - export const filterSensitiveLog = (obj: ListUserGroupsResponse): any => ({ - ...obj, - }); -} - -export interface ListUsersRequest { - /** - *

                                                          The maximum number of results to return from this request.

                                                          - */ - MaxResults?: number; - - /** - *

                                                          A pagination token that can be used in a subsequent request.

                                                          - */ - NextToken?: string; - - /** - *

                                                          The namespace. Currently, you should set this to default.

                                                          - */ - Namespace: string | undefined; - - /** - *

                                                          The ID for the AWS account that the user is in. Currently, you use the ID for the AWS - * account that contains your Amazon QuickSight account.

                                                          - */ - AwsAccountId: string | undefined; -} - -export namespace ListUsersRequest { - export const filterSensitiveLog = (obj: ListUsersRequest): any => ({ - ...obj, - }); -} - -export interface ListUsersResponse { - /** - *

                                                          The list of users.

                                                          - */ - UserList?: User[]; - - /** - *

                                                          The AWS request ID for this operation.

                                                          - */ - RequestId?: string; - - /** - *

                                                          A pagination token that can be used in a subsequent request.

                                                          - */ - NextToken?: string; -} - -export namespace ListUsersResponse { - export const filterSensitiveLog = (obj: ListUsersResponse): any => ({ - ...obj, - }); -} - -export interface RegisterUserRequest { - /** - *

                                                          Amazon QuickSight supports several ways of managing the identity of users. This - * parameter accepts two values:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * IAM: A user whose identity maps to an existing IAM user or role. - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * QUICKSIGHT: A user whose identity is owned and managed internally by - * Amazon QuickSight.

                                                            - *
                                                          • - *
                                                          - */ - IdentityType: IdentityType | string | undefined; - - /** - *

                                                          You need to use this parameter only when you register one or more users using an assumed - * IAM role. You don't need to provide the session name for other scenarios, for example when - * you are registering an IAM user or an Amazon QuickSight user. You can register multiple - * users using the same IAM role if each user has a different session name. For more - * information on assuming IAM roles, see - * assume-role - * in the AWS CLI Reference. - *

                                                          - */ - SessionName?: string; - - /** - *

                                                          The ARN of the IAM user or role that you are registering with Amazon QuickSight.

                                                          - */ - IamArn?: string; - - /** - *

                                                          The Amazon QuickSight role for the user. The user role can be one of the - * following:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * READER: A user who has read-only access to dashboards.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * AUTHOR: A user who can create data sources, datasets, analyses, and - * dashboards.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * ADMIN: A user who is an author, who can also manage Amazon QuickSight - * settings.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * RESTRICTED_READER: This role isn't currently available for - * use.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * RESTRICTED_AUTHOR: This role isn't currently available for - * use.

                                                            - *
                                                          • - *
                                                          - */ - UserRole: UserRole | string | undefined; - - /** - *

                                                          The namespace. Currently, you should set this to default.

                                                          - */ - Namespace: string | undefined; - - /** - *

                                                          The ID for the AWS account that the user is in. Currently, you use the ID for the AWS - * account that contains your Amazon QuickSight account.

                                                          - */ - AwsAccountId: string | undefined; - - /** - *

                                                          (Enterprise edition only) The name of the custom permissions profile that you want to assign to this user. - * Currently, custom permissions profile names are assigned to permissions profiles in the - * QuickSight console. You use this API to assign the named set of permissions to a - * QuickSight user.

                                                          - * - *

                                                          Customizing permissions in the QuickSight UI allows you to control a user's access - * to the following operations:

                                                          - *
                                                            - *
                                                          • - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - *
                                                          • - *
                                                          • - *

                                                            - *
                                                          • - *
                                                          - *

                                                          QuickSight custom permissions are applied through IAM policies. Therefore, they - * override the permissions typically granted by assigning QuickSight users to - * one of the default security cohorts (admin, author, reader) in QuickSight.

                                                          - *

                                                          This feature is available only to QuickSight Enterprise edition subscriptions that - * use SAML 2.0-Based Federation for Single Sign-On (SSO).

                                                          - */ - CustomPermissionsName?: string; - - /** - *

                                                          The email address of the user that you want to register.

                                                          - */ - Email: string | undefined; - - /** - *

                                                          The Amazon QuickSight user name that you want to create for the user you are - * registering.

                                                          - */ - UserName?: string; -} - -export namespace RegisterUserRequest { - export const filterSensitiveLog = (obj: RegisterUserRequest): any => ({ +export namespace ListTemplateAliasesResponse { + export const filterSensitiveLog = (obj: ListTemplateAliasesResponse): any => ({ ...obj, }); } diff --git a/clients/client-quicksight/models/models_1.ts b/clients/client-quicksight/models/models_1.ts index f81632d181ce..a29a339d3538 100644 --- a/clients/client-quicksight/models/models_1.ts +++ b/clients/client-quicksight/models/models_1.ts @@ -1,5 +1,8 @@ import { AccountCustomization, + AnalysisSearchFilter, + AnalysisSourceEntity, + AnalysisSummary, AssignmentStatus, ColumnGroup, DashboardPublishOptions, @@ -10,6 +13,7 @@ import { DataSourceCredentials, DataSourceParameters, Group, + IdentityType, LogicalTable, PhysicalTable, ResourcePermission, @@ -21,6 +25,7 @@ import { TemplateSourceEntity, ThemeAlias, ThemeConfiguration, + ThemeType, User, UserRole, VpcConnectionProperties, @@ -28,6 +33,663 @@ import { } from "./models_0"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +export interface ListTemplatesRequest { + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The ID of the AWS account that contains the templates that you're listing.

                                                          + */ + AwsAccountId: string | undefined; + + /** + *

                                                          The maximum number of results to be returned per request.

                                                          + */ + MaxResults?: number; +} + +export namespace ListTemplatesRequest { + export const filterSensitiveLog = (obj: ListTemplatesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          The template summary.

                                                          + */ +export interface TemplateSummary { + /** + *

                                                          The last time that this template was created.

                                                          + */ + CreatedTime?: Date; + + /** + *

                                                          A summary of a template.

                                                          + */ + Arn?: string; + + /** + *

                                                          The ID of the template. This ID is unique per AWS Region for each AWS account.

                                                          + */ + TemplateId?: string; + + /** + *

                                                          A display name for the template.

                                                          + */ + Name?: string; + + /** + *

                                                          The last time that this template was updated.

                                                          + */ + LastUpdatedTime?: Date; + + /** + *

                                                          A structure containing a list of version numbers for the template summary.

                                                          + */ + LatestVersionNumber?: number; +} + +export namespace TemplateSummary { + export const filterSensitiveLog = (obj: TemplateSummary): any => ({ + ...obj, + }); +} + +export interface ListTemplatesResponse { + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; + + /** + *

                                                          A structure containing information about the templates in the list.

                                                          + */ + TemplateSummaryList?: TemplateSummary[]; +} + +export namespace ListTemplatesResponse { + export const filterSensitiveLog = (obj: ListTemplatesResponse): any => ({ + ...obj, + }); +} + +export interface ListTemplateVersionsRequest { + /** + *

                                                          The maximum number of results to be returned per request.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          The ID for the template.

                                                          + */ + TemplateId: string | undefined; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The ID of the AWS account that contains the templates that you're listing.

                                                          + */ + AwsAccountId: string | undefined; +} + +export namespace ListTemplateVersionsRequest { + export const filterSensitiveLog = (obj: ListTemplateVersionsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          The template version.

                                                          + */ +export interface TemplateVersionSummary { + /** + *

                                                          The Amazon Resource Name (ARN) of the template version.

                                                          + */ + Arn?: string; + + /** + *

                                                          The version number of the template version.

                                                          + */ + VersionNumber?: number; + + /** + *

                                                          The time that this template version was created.

                                                          + */ + CreatedTime?: Date; + + /** + *

                                                          The status of the template version.

                                                          + */ + Status?: ResourceStatus | string; + + /** + *

                                                          The description of the template version.

                                                          + */ + Description?: string; +} + +export namespace TemplateVersionSummary { + export const filterSensitiveLog = (obj: TemplateVersionSummary): any => ({ + ...obj, + }); +} + +export interface ListTemplateVersionsResponse { + /** + *

                                                          A structure containing a list of all the versions of the specified template.

                                                          + */ + TemplateVersionSummaryList?: TemplateVersionSummary[]; + + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; +} + +export namespace ListTemplateVersionsResponse { + export const filterSensitiveLog = (obj: ListTemplateVersionsResponse): any => ({ + ...obj, + }); +} + +export interface ListThemeAliasesRequest { + /** + *

                                                          The maximum number of results to be returned per request.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The ID of the AWS account that contains the theme aliases that you're listing.

                                                          + */ + AwsAccountId: string | undefined; + + /** + *

                                                          The ID for the theme.

                                                          + */ + ThemeId: string | undefined; +} + +export namespace ListThemeAliasesRequest { + export const filterSensitiveLog = (obj: ListThemeAliasesRequest): any => ({ + ...obj, + }); +} + +export interface ListThemeAliasesResponse { + /** + *

                                                          A structure containing the list of the theme's aliases.

                                                          + */ + ThemeAliasList?: ThemeAlias[]; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; +} + +export namespace ListThemeAliasesResponse { + export const filterSensitiveLog = (obj: ListThemeAliasesResponse): any => ({ + ...obj, + }); +} + +export interface ListThemesRequest { + /** + *

                                                          The maximum number of results to be returned per request.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          The ID of the AWS account that contains the themes that you're listing.

                                                          + */ + AwsAccountId: string | undefined; + + /** + *

                                                          The type of themes that you want to list. Valid options include the following:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * ALL (default)- Display all existing themes.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * CUSTOM - Display only the themes created by people using Amazon QuickSight.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * QUICKSIGHT - Display only the starting themes defined by QuickSight.

                                                            + *
                                                          • + *
                                                          + */ + Type?: ThemeType | string; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; +} + +export namespace ListThemesRequest { + export const filterSensitiveLog = (obj: ListThemesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          The theme summary.

                                                          + */ +export interface ThemeSummary { + /** + *

                                                          The last date and time that this theme was updated.

                                                          + */ + LastUpdatedTime?: Date; + + /** + *

                                                          the display name for the theme.

                                                          + */ + Name?: string; + + /** + *

                                                          The latest version number for the theme.

                                                          + */ + LatestVersionNumber?: number; + + /** + *

                                                          The date and time that this theme was created.

                                                          + */ + CreatedTime?: Date; + + /** + *

                                                          The ID of the theme. This ID is unique per AWS Region for each AWS account.

                                                          + */ + ThemeId?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the resource.

                                                          + */ + Arn?: string; +} + +export namespace ThemeSummary { + export const filterSensitiveLog = (obj: ThemeSummary): any => ({ + ...obj, + }); +} + +export interface ListThemesResponse { + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; + + /** + *

                                                          Information about the themes in the list.

                                                          + */ + ThemeSummaryList?: ThemeSummary[]; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; +} + +export namespace ListThemesResponse { + export const filterSensitiveLog = (obj: ListThemesResponse): any => ({ + ...obj, + }); +} + +export interface ListThemeVersionsRequest { + /** + *

                                                          The ID for the theme.

                                                          + */ + ThemeId: string | undefined; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The maximum number of results to be returned per request.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          The ID of the AWS account that contains the themes that you're listing.

                                                          + */ + AwsAccountId: string | undefined; +} + +export namespace ListThemeVersionsRequest { + export const filterSensitiveLog = (obj: ListThemeVersionsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                          The theme version.

                                                          + */ +export interface ThemeVersionSummary { + /** + *

                                                          The version number of the theme version.

                                                          + */ + VersionNumber?: number; + + /** + *

                                                          The status of the theme version.

                                                          + */ + Status?: ResourceStatus | string; + + /** + *

                                                          The description of the theme version.

                                                          + */ + Description?: string; + + /** + *

                                                          The date and time that this theme version was created.

                                                          + */ + CreatedTime?: Date; + + /** + *

                                                          The Amazon Resource Name (ARN) of the theme version.

                                                          + */ + Arn?: string; +} + +export namespace ThemeVersionSummary { + export const filterSensitiveLog = (obj: ThemeVersionSummary): any => ({ + ...obj, + }); +} + +export interface ListThemeVersionsResponse { + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; + + /** + *

                                                          A structure containing a list of all the versions of the specified theme.

                                                          + */ + ThemeVersionSummaryList?: ThemeVersionSummary[]; + + /** + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + */ + NextToken?: string; +} + +export namespace ListThemeVersionsResponse { + export const filterSensitiveLog = (obj: ListThemeVersionsResponse): any => ({ + ...obj, + }); +} + +export interface ListUserGroupsRequest { + /** + *

                                                          The maximum number of results to return from this request.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          The AWS account ID that the user is in. Currently, you use the ID for the AWS account + * that contains your Amazon QuickSight account.

                                                          + */ + AwsAccountId: string | undefined; + + /** + *

                                                          The namespace. Currently, you should set this to default.

                                                          + */ + Namespace: string | undefined; + + /** + *

                                                          A pagination token that can be used in a subsequent request.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The Amazon QuickSight user name that you want to list group memberships for.

                                                          + */ + UserName: string | undefined; +} + +export namespace ListUserGroupsRequest { + export const filterSensitiveLog = (obj: ListUserGroupsRequest): any => ({ + ...obj, + }); +} + +export interface ListUserGroupsResponse { + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; + + /** + *

                                                          A pagination token that can be used in a subsequent request.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The list of groups the user is a member of.

                                                          + */ + GroupList?: Group[]; +} + +export namespace ListUserGroupsResponse { + export const filterSensitiveLog = (obj: ListUserGroupsResponse): any => ({ + ...obj, + }); +} + +export interface ListUsersRequest { + /** + *

                                                          A pagination token that can be used in a subsequent request.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The maximum number of results to return from this request.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          The ID for the AWS account that the user is in. Currently, you use the ID for the AWS + * account that contains your Amazon QuickSight account.

                                                          + */ + AwsAccountId: string | undefined; + + /** + *

                                                          The namespace. Currently, you should set this to default.

                                                          + */ + Namespace: string | undefined; +} + +export namespace ListUsersRequest { + export const filterSensitiveLog = (obj: ListUsersRequest): any => ({ + ...obj, + }); +} + +export interface ListUsersResponse { + /** + *

                                                          The list of users.

                                                          + */ + UserList?: User[]; + + /** + *

                                                          A pagination token that can be used in a subsequent request.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; +} + +export namespace ListUsersResponse { + export const filterSensitiveLog = (obj: ListUsersResponse): any => ({ + ...obj, + }); +} + +export interface RegisterUserRequest { + /** + *

                                                          The Amazon QuickSight user name that you want to create for the user you are + * registering.

                                                          + */ + UserName?: string; + + /** + *

                                                          You need to use this parameter only when you register one or more users using an assumed + * IAM role. You don't need to provide the session name for other scenarios, for example when + * you are registering an IAM user or an Amazon QuickSight user. You can register multiple + * users using the same IAM role if each user has a different session name. For more + * information on assuming IAM roles, see + * assume-role + * in the AWS CLI Reference. + *

                                                          + */ + SessionName?: string; + + /** + *

                                                          Amazon QuickSight supports several ways of managing the identity of users. This + * parameter accepts two values:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * IAM: A user whose identity maps to an existing IAM user or role. + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * QUICKSIGHT: A user whose identity is owned and managed internally by + * Amazon QuickSight.

                                                            + *
                                                          • + *
                                                          + */ + IdentityType: IdentityType | string | undefined; + + /** + *

                                                          (Enterprise edition only) The name of the custom permissions profile that you want to + * assign to this user. Customized permissions allows you to control a user's access by + * restricting access the following operations:

                                                          + *
                                                            + *
                                                          • + *

                                                            Create and update data sources

                                                            + *
                                                          • + *
                                                          • + *

                                                            Create and update datasets

                                                            + *
                                                          • + *
                                                          • + *

                                                            Create and update email reports

                                                            + *
                                                          • + *
                                                          • + *

                                                            Subscribe to email reports

                                                            + *
                                                          • + *
                                                          + *

                                                          To add custom permissions to an existing user, use + * UpdateUser + * instead.

                                                          + *

                                                          A set of custom permissions includes any combination of these restrictions. Currently, + * you need to create the profile names for custom permission sets by using the QuickSight + * console. Then, you use the RegisterUser API operation to assign the named set of + * permissions to a QuickSight user.

                                                          + *

                                                          QuickSight custom permissions are applied through IAM policies. Therefore, they + * override the permissions typically granted by assigning QuickSight users to one of the + * default security cohorts in QuickSight (admin, author, reader).

                                                          + *

                                                          This feature is available only to QuickSight Enterprise edition subscriptions that use + * SAML 2.0-Based Federation for Single Sign-On (SSO).

                                                          + */ + CustomPermissionsName?: string; + + /** + *

                                                          The ARN of the IAM user or role that you are registering with Amazon QuickSight.

                                                          + */ + IamArn?: string; + + /** + *

                                                          The ID for the AWS account that the user is in. Currently, you use the ID for the AWS + * account that contains your Amazon QuickSight account.

                                                          + */ + AwsAccountId: string | undefined; + + /** + *

                                                          The namespace. Currently, you should set this to default.

                                                          + */ + Namespace: string | undefined; + + /** + *

                                                          The Amazon QuickSight role for the user. The user role can be one of the + * following:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * READER: A user who has read-only access to dashboards.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * AUTHOR: A user who can create data sources, datasets, analyses, and + * dashboards.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ADMIN: A user who is an author, who can also manage Amazon QuickSight + * settings.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * RESTRICTED_READER: This role isn't currently available for + * use.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * RESTRICTED_AUTHOR: This role isn't currently available for + * use.

                                                            + *
                                                          • + *
                                                          + */ + UserRole: UserRole | string | undefined; + + /** + *

                                                          The email address of the user that you want to register.

                                                          + */ + Email: string | undefined; +} + +export namespace RegisterUserRequest { + export const filterSensitiveLog = (obj: RegisterUserRequest): any => ({ + ...obj, + }); +} + export interface RegisterUserResponse { /** *

                                                          The AWS request ID for this operation.

                                                          @@ -41,7 +703,7 @@ export interface RegisterUserResponse { UserInvitationUrl?: string; /** - *

                                                          The user name.

                                                          + *

                                                          The user's user name.

                                                          */ User?: User; } @@ -52,6 +714,101 @@ export namespace RegisterUserResponse { }); } +export interface RestoreAnalysisRequest { + /** + *

                                                          The ID of the AWS account that contains the analysis.

                                                          + */ + AwsAccountId: string | undefined; + + /** + *

                                                          The ID of the analysis that you're restoring.

                                                          + */ + AnalysisId: string | undefined; +} + +export namespace RestoreAnalysisRequest { + export const filterSensitiveLog = (obj: RestoreAnalysisRequest): any => ({ + ...obj, + }); +} + +export interface RestoreAnalysisResponse { + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; + + /** + *

                                                          The ID of the analysis that you're restoring. + *

                                                          + */ + AnalysisId?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the analysis that you're restoring.

                                                          + */ + Arn?: string; +} + +export namespace RestoreAnalysisResponse { + export const filterSensitiveLog = (obj: RestoreAnalysisResponse): any => ({ + ...obj, + }); +} + +export interface SearchAnalysesRequest { + /** + *

                                                          The maximum number of results to return.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          The ID of the AWS account that contains the analyses that you're searching + * for.

                                                          + */ + AwsAccountId: string | undefined; + + /** + *

                                                          A pagination token that can be used in a subsequent request.

                                                          + */ + NextToken?: string; + + /** + *

                                                          The structure for the search filters that you want to apply to your search.

                                                          + */ + Filters: AnalysisSearchFilter[] | undefined; +} + +export namespace SearchAnalysesRequest { + export const filterSensitiveLog = (obj: SearchAnalysesRequest): any => ({ + ...obj, + }); +} + +export interface SearchAnalysesResponse { + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; + + /** + *

                                                          A pagination token that can be used in a subsequent request. + *

                                                          + */ + NextToken?: string; + + /** + *

                                                          Metadata describing the analyses that you searched for.

                                                          + */ + AnalysisSummaryList?: AnalysisSummary[]; +} + +export namespace SearchAnalysesResponse { + export const filterSensitiveLog = (obj: SearchAnalysesResponse): any => ({ + ...obj, + }); +} + export interface SearchDashboardsRequest { /** *

                                                          The maximum number of results to be returned per request.

                                                          @@ -59,28 +816,23 @@ export interface SearchDashboardsRequest { MaxResults?: number; /** - *

                                                          The ID of the AWS account that contains the user whose dashboards you're searching for. - *

                                                          + *

                                                          The ID of the AWS account that contains the user whose dashboards you're searching + * for.

                                                          */ AwsAccountId: string | undefined; /** - *

                                                          The filters to apply to the search. Currently, you can search only by user name, - * for example, "Filters": [ - * { - * "Name": "QUICKSIGHT_USER", - * "Operator": "StringEquals", - * "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1" - * } - * ] - *

                                                          + *

                                                          The token for the next set of results, or null if there are no more results.

                                                          */ - Filters: DashboardSearchFilter[] | undefined; + NextToken?: string; /** - *

                                                          The token for the next set of results, or null if there are no more results.

                                                          + *

                                                          The filters to apply to the search. Currently, you can search only by user name, for + * example, "Filters": [ { "Name": "QUICKSIGHT_USER", "Operator": "StringEquals", + * "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1" } ] + *

                                                          */ - NextToken?: string; + Filters: DashboardSearchFilter[] | undefined; } export namespace SearchDashboardsRequest { @@ -91,14 +843,15 @@ export namespace SearchDashboardsRequest { export interface SearchDashboardsResponse { /** - *

                                                          The AWS request ID for this operation.

                                                          + *

                                                          The list of dashboards owned by the user specified in Filters in your + * request.

                                                          */ - RequestId?: string; + DashboardSummaryList?: DashboardSummary[]; /** - *

                                                          The list of dashboards owned by the user specified in Filters in your request.

                                                          + *

                                                          The AWS request ID for this operation.

                                                          */ - DashboardSummaryList?: DashboardSummary[]; + RequestId?: string; /** *

                                                          The token for the next set of results, or null if there are no more results.

                                                          @@ -114,14 +867,14 @@ export namespace SearchDashboardsResponse { export interface TagResourceRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the resource that you want to tag.

                                                          + *

                                                          Contains a map of the key-value pairs for the resource tag or tags assigned to the resource.

                                                          */ - ResourceArn: string | undefined; + Tags: Tag[] | undefined; /** - *

                                                          Contains a map of the key-value pairs for the resource tag or tags assigned to the resource.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource that you want to tag.

                                                          */ - Tags: Tag[] | undefined; + ResourceArn: string | undefined; } export namespace TagResourceRequest { @@ -176,17 +929,18 @@ export namespace UntagResourceResponse { export interface UpdateAccountCustomizationRequest { /** - *

                                                          The ID for the AWS account that you want to update QuickSight customizations for.

                                                          + *

                                                          The namespace that you want to update QuickSight customizations for.

                                                          */ - AwsAccountId: string | undefined; + Namespace?: string; /** - *

                                                          The namespace associated with the customization that you're updating.

                                                          + *

                                                          The ID for the AWS account that you want to update QuickSight customizations + * for.

                                                          */ - Namespace?: string; + AwsAccountId: string | undefined; /** - *

                                                          The customizations you want to update in QuickSight.

                                                          + *

                                                          The QuickSight customizations you're updating in the current AWS Region.

                                                          */ AccountCustomization: AccountCustomization | undefined; } @@ -204,19 +958,25 @@ export interface UpdateAccountCustomizationResponse { RequestId?: string; /** - *

                                                          The customizations associated with your QuickSight subscription.

                                                          + *

                                                          The Amazon Resource Name (ARN) for the updated customization for this AWS account.

                                                          */ - AccountCustomization?: AccountCustomization; + Arn?: string; /** - *

                                                          The ID for the AWS account that you want to update QuickSight customizations for.

                                                          + *

                                                          The QuickSight customizations you're updating in the current AWS Region.

                                                          */ - AwsAccountId?: string; + AccountCustomization?: AccountCustomization; /** *

                                                          The namespace associated with the customization that you're updating.

                                                          */ Namespace?: string; + + /** + *

                                                          The ID for the AWS account that you want to update QuickSight customizations + * for.

                                                          + */ + AwsAccountId?: string; } export namespace UpdateAccountCustomizationResponse { @@ -227,17 +987,22 @@ export namespace UpdateAccountCustomizationResponse { export interface UpdateAccountSettingsRequest { /** - *

                                                          The ID for the AWS account that contains the QuickSight namespaces that you want to list.

                                                          + *

                                                          The ID for the AWS account that contains the QuickSight settings that you want to + * list.

                                                          */ AwsAccountId: string | undefined; /** - *

                                                          Email address used to send notifications regarding administration of QuickSight.

                                                          + *

                                                          The email address that you want QuickSight to send notifications to regarding your AWS + * account or QuickSight subscription.

                                                          */ NotificationEmail?: string; /** - *

                                                          The default namespace for this AWS Account. Currently, the default is default. IAM users who register for the first time with QuickSight provide an email that becomes associated with the default namespace.

                                                          + *

                                                          The default namespace for this AWS account. Currently, the default is + * default. AWS Identity and Access Management (IAM) users that register + * for the first time with QuickSight provide an email that becomes associated with the + * default namespace.

                                                          */ DefaultNamespace: string | undefined; } @@ -261,83 +1026,218 @@ export namespace UpdateAccountSettingsResponse { }); } -export interface UpdateDashboardRequest { +export interface UpdateAnalysisRequest { /** - *

                                                          The entity that you are using as a source when you update the dashboard. In - * SourceEntity, you specify the type of object you're using as source. You - * can only update a dashboard from a template, so you use a SourceTemplate - * entity. If you need to update a dashboard from an analysis, first convert the analysis - * to a template by using the CreateTemplate API operation. For - * SourceTemplate, specify the Amazon Resource Name (ARN) of the source - * template. The SourceTemplate ARN can contain any AWS Account and any QuickSight-supported - * AWS Region.

                                                          - *

                                                          Use the DataSetReferences entity within SourceTemplate - * to list the replacement datasets for the placeholders listed - * in the original. The schema in each dataset must match its placeholder.

                                                          + *

                                                          A descriptive name for the analysis that you're updating. This name displays for the + * analysis in the QuickSight console.

                                                          */ - SourceEntity: DashboardSourceEntity | undefined; + Name: string | undefined; /** - *

                                                          Options for publishing the dashboard when you create it:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * AvailabilityStatus for AdHocFilteringOption - This status can be - * either ENABLED or DISABLED. When this is set to - * DISABLED, QuickSight disables the left filter pane on the - * published dashboard, which can be used for ad hoc (one-time) filtering. This - * option is ENABLED by default.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * AvailabilityStatus for ExportToCSVOption - This status can be - * either ENABLED or DISABLED. The visual option to - * export data to .csv format isn't enabled when this is set to - * DISABLED. This option is ENABLED by default.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * VisibilityState for SheetControlsOption - This visibility state - * can be either COLLAPSED or EXPANDED. This option is - * COLLAPSED by default.

                                                            - *
                                                          • - *
                                                          + *

                                                          The ID of the AWS account that contains the analysis that you're updating.

                                                          */ - DashboardPublishOptions?: DashboardPublishOptions; + AwsAccountId: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. If you add a value - * for this field, it overrides the value that was originally associated with the entity. The theme ARN must - * exist in the same AWS account where you create the dashboard.

                                                          + *

                                                          The Amazon Resource Name (ARN) for the theme to apply to the analysis that you're + * creating. To see the theme in the QuickSight console, make sure that you have access to + * it.

                                                          */ ThemeArn?: string; /** - *

                                                          A structure that contains the parameters of the dashboard. These are parameter overrides for - * a dashboard. A dashboard can have any type of parameters, and some parameters might - * accept multiple values.

                                                          + *

                                                          The parameter names and override values that you want to use. An analysis can have + * any parameter type, and some parameters might accept multiple values.

                                                          */ Parameters?: _Parameters; /** - *

                                                          The ID for the dashboard.

                                                          + *

                                                          The ID for the analysis that you're updating. This ID displays in the URL of the + * analysis.

                                                          */ - DashboardId: string | undefined; + AnalysisId: string | undefined; /** - *

                                                          A description for the first version of the dashboard being created.

                                                          + *

                                                          A source entity to use for the analysis that you're updating. This metadata structure + * contains details that describe a source template and one or more datasets.

                                                          */ - VersionDescription?: string; + SourceEntity: AnalysisSourceEntity | undefined; +} + +export namespace UpdateAnalysisRequest { + export const filterSensitiveLog = (obj: UpdateAnalysisRequest): any => ({ + ...obj, + }); +} + +export interface UpdateAnalysisResponse { + /** + *

                                                          The ARN of the analysis that you're updating.

                                                          + */ + Arn?: string; + + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; + + /** + *

                                                          The ID of the analysis.

                                                          + */ + AnalysisId?: string; + + /** + *

                                                          The update status of the last update that was made to the analysis.

                                                          + */ + UpdateStatus?: ResourceStatus | string; +} + +export namespace UpdateAnalysisResponse { + export const filterSensitiveLog = (obj: UpdateAnalysisResponse): any => ({ + ...obj, + }); +} +export interface UpdateAnalysisPermissionsRequest { /** - *

                                                          The ID of the AWS account that contains the dashboard that you're updating.

                                                          + *

                                                          The ID of the AWS account that contains the analysis whose permissions you're + * updating. You must be using the AWS account that the analysis is in.

                                                          */ AwsAccountId: string | undefined; + /** + *

                                                          A structure that describes the permissions to add and the principal to add them + * to.

                                                          + */ + GrantPermissions?: ResourcePermission[]; + + /** + *

                                                          A structure that describes the permissions to remove and the principal to remove them + * from.

                                                          + */ + RevokePermissions?: ResourcePermission[]; + + /** + *

                                                          The ID of the analysis whose permissions you're updating. The ID is part of the + * analysis URL.

                                                          + */ + AnalysisId: string | undefined; +} + +export namespace UpdateAnalysisPermissionsRequest { + export const filterSensitiveLog = (obj: UpdateAnalysisPermissionsRequest): any => ({ + ...obj, + }); +} + +export interface UpdateAnalysisPermissionsResponse { + /** + *

                                                          A structure that describes the principals and the resource-level permissions on an + * analysis.

                                                          + */ + Permissions?: ResourcePermission[]; + + /** + *

                                                          The Amazon Resource Name (ARN) of the analysis that you updated.

                                                          + */ + AnalysisArn?: string; + + /** + *

                                                          The AWS request ID for this operation.

                                                          + */ + RequestId?: string; + + /** + *

                                                          The ID of the analysis that you updated permissions for.

                                                          + */ + AnalysisId?: string; +} + +export namespace UpdateAnalysisPermissionsResponse { + export const filterSensitiveLog = (obj: UpdateAnalysisPermissionsResponse): any => ({ + ...obj, + }); +} + +export interface UpdateDashboardRequest { /** *

                                                          The display name of the dashboard.

                                                          */ Name: string | undefined; + + /** + *

                                                          The entity that you are using as a source when you update the dashboard. In + * SourceEntity, you specify the type of object you're using as source. You + * can only update a dashboard from a template, so you use a SourceTemplate + * entity. If you need to update a dashboard from an analysis, first convert the analysis + * to a template by using the CreateTemplate API operation. For + * SourceTemplate, specify the Amazon Resource Name (ARN) of the source + * template. The SourceTemplate ARN can contain any AWS Account and any + * QuickSight-supported AWS Region.

                                                          + *

                                                          Use the DataSetReferences entity within SourceTemplate to + * list the replacement datasets for the placeholders listed in the original. The schema in + * each dataset must match its placeholder.

                                                          + */ + SourceEntity: DashboardSourceEntity | undefined; + + /** + *

                                                          The ID of the AWS account that contains the dashboard that you're + * updating.

                                                          + */ + AwsAccountId: string | undefined; + + /** + *

                                                          The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. If + * you add a value for this field, it overrides the value that was originally associated + * with the entity. The theme ARN must exist in the same AWS account where you create the + * dashboard.

                                                          + */ + ThemeArn?: string; + + /** + *

                                                          Options for publishing the dashboard when you create it:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * AvailabilityStatus for AdHocFilteringOption - This + * status can be either ENABLED or DISABLED. When this is + * set to DISABLED, QuickSight disables the left filter pane on the + * published dashboard, which can be used for ad hoc (one-time) filtering. This + * option is ENABLED by default.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * AvailabilityStatus for ExportToCSVOption - This + * status can be either ENABLED or DISABLED. The visual + * option to export data to .CSV format isn't enabled when this is set to + * DISABLED. This option is ENABLED by default.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * VisibilityState for SheetControlsOption - This + * visibility state can be either COLLAPSED or EXPANDED. + * This option is COLLAPSED by default.

                                                            + *
                                                          • + *
                                                          + */ + DashboardPublishOptions?: DashboardPublishOptions; + + /** + *

                                                          A structure that contains the parameters of the dashboard. These are parameter + * overrides for a dashboard. A dashboard can have any type of parameters, and some + * parameters might accept multiple values.

                                                          + */ + Parameters?: _Parameters; + + /** + *

                                                          A description for the first version of the dashboard being created.

                                                          + */ + VersionDescription?: string; + + /** + *

                                                          The ID for the dashboard.

                                                          + */ + DashboardId: string | undefined; } export namespace UpdateDashboardRequest { @@ -348,9 +1248,14 @@ export namespace UpdateDashboardRequest { export interface UpdateDashboardResponse { /** - *

                                                          The AWS request ID for this operation.

                                                          + *

                                                          The ARN of the dashboard, including the version number.

                                                          */ - RequestId?: string; + VersionArn?: string; + + /** + *

                                                          The ID for the dashboard.

                                                          + */ + DashboardId?: string; /** *

                                                          The Amazon Resource Name (ARN) of the resource.

                                                          @@ -358,20 +1263,15 @@ export interface UpdateDashboardResponse { Arn?: string; /** - *

                                                          The ARN of the dashboard, including the version number.

                                                          + *

                                                          The AWS request ID for this operation.

                                                          */ - VersionArn?: string; + RequestId?: string; /** *

                                                          The HTTP status of the request.

                                                          */ Status?: number; - /** - *

                                                          The ID for the dashboard.

                                                          - */ - DashboardId?: string; - /** *

                                                          The creation status of the request.

                                                          */ @@ -386,15 +1286,15 @@ export namespace UpdateDashboardResponse { export interface UpdateDashboardPermissionsRequest { /** - *

                                                          The ID of the AWS account that contains the dashboard whose permissions you're - * updating.

                                                          + *

                                                          The ID for the dashboard.

                                                          */ - AwsAccountId: string | undefined; + DashboardId: string | undefined; /** - *

                                                          The ID for the dashboard.

                                                          + *

                                                          The ID of the AWS account that contains the dashboard whose permissions you're + * updating.

                                                          */ - DashboardId: string | undefined; + AwsAccountId: string | undefined; /** *

                                                          The permissions that you want to grant on this resource.

                                                          @@ -448,14 +1348,15 @@ export interface UpdateDashboardPublishedVersionRequest { VersionNumber: number | undefined; /** - *

                                                          The ID of the AWS account that contains the dashboard that you're updating.

                                                          + *

                                                          The ID for the dashboard.

                                                          */ - AwsAccountId: string | undefined; + DashboardId: string | undefined; /** - *

                                                          The ID for the dashboard.

                                                          + *

                                                          The ID of the AWS account that contains the dashboard that you're + * updating.

                                                          */ - DashboardId: string | undefined; + AwsAccountId: string | undefined; } export namespace UpdateDashboardPublishedVersionRequest { @@ -465,11 +1366,6 @@ export namespace UpdateDashboardPublishedVersionRequest { } export interface UpdateDashboardPublishedVersionResponse { - /** - *

                                                          The Amazon Resource Name (ARN) of the dashboard.

                                                          - */ - DashboardArn?: string; - /** *

                                                          The ID for the dashboard.

                                                          */ @@ -479,6 +1375,11 @@ export interface UpdateDashboardPublishedVersionResponse { *

                                                          The AWS request ID for this operation.

                                                          */ RequestId?: string; + + /** + *

                                                          The Amazon Resource Name (ARN) of the dashboard.

                                                          + */ + DashboardArn?: string; } export namespace UpdateDashboardPublishedVersionResponse { @@ -498,25 +1399,20 @@ export interface UpdateDataSetRequest { */ ImportMode: DataSetImportMode | string | undefined; - /** - *

                                                          The row-level security configuration for the data you want to create.

                                                          - */ - RowLevelPermissionDataSet?: RowLevelPermissionDataSet; - /** *

                                                          Declares the physical tables that are available in the underlying data sources.

                                                          */ PhysicalTableMap: { [key: string]: PhysicalTable } | undefined; /** - *

                                                          The display name for the dataset.

                                                          + *

                                                          Configures the combination and transformation of the data from the physical tables.

                                                          */ - Name: string | undefined; + LogicalTableMap?: { [key: string]: LogicalTable }; /** - *

                                                          Configures the combination and transformation of the data from the physical tables.

                                                          + *

                                                          The AWS account ID.

                                                          */ - LogicalTableMap?: { [key: string]: LogicalTable }; + AwsAccountId: string | undefined; /** *

                                                          The ID for the dataset that you want to update. This ID is unique per AWS Region for each @@ -525,9 +1421,14 @@ export interface UpdateDataSetRequest { DataSetId: string | undefined; /** - *

                                                          The AWS account ID.

                                                          + *

                                                          The row-level security configuration for the data you want to create.

                                                          */ - AwsAccountId: string | undefined; + RowLevelPermissionDataSet?: RowLevelPermissionDataSet; + + /** + *

                                                          The display name for the dataset.

                                                          + */ + Name: string | undefined; } export namespace UpdateDataSetRequest { @@ -578,15 +1479,15 @@ export interface UpdateDataSetPermissionsRequest { AwsAccountId: string | undefined; /** - *

                                                          The ID for the dataset whose permissions you want to update. This ID is unique per AWS - * Region for each AWS account.

                                                          + *

                                                          The resource permissions that you want to grant to the dataset.

                                                          */ - DataSetId: string | undefined; + GrantPermissions?: ResourcePermission[]; /** - *

                                                          The resource permissions that you want to grant to the dataset.

                                                          + *

                                                          The ID for the dataset whose permissions you want to update. This ID is unique per AWS + * Region for each AWS account.

                                                          */ - GrantPermissions?: ResourcePermission[]; + DataSetId: string | undefined; /** *

                                                          The resource permissions that you want to revoke from the dataset.

                                                          @@ -602,15 +1503,15 @@ export namespace UpdateDataSetPermissionsRequest { export interface UpdateDataSetPermissionsResponse { /** - *

                                                          The ID for the dataset whose permissions you want to update. This ID is unique per AWS - * Region for each AWS account.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the dataset.

                                                          */ - DataSetId?: string; + DataSetArn?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the dataset.

                                                          + *

                                                          The ID for the dataset whose permissions you want to update. This ID is unique per AWS + * Region for each AWS account.

                                                          */ - DataSetArn?: string; + DataSetId?: string; /** *

                                                          The AWS request ID for this operation.

                                                          @@ -631,15 +1532,9 @@ export interface UpdateDataSourceRequest { Name: string | undefined; /** - *

                                                          The credentials that QuickSight that uses to connect to your underlying source. Currently, - * only credentials based on user name and password are supported.

                                                          - */ - Credentials?: DataSourceCredentials; - - /** - *

                                                          The ID of the data source. This ID is unique per AWS Region for each AWS account.

                                                          + *

                                                          The parameters that QuickSight uses to connect to your underlying source.

                                                          */ - DataSourceId: string | undefined; + DataSourceParameters?: DataSourceParameters; /** *

                                                          The AWS account ID.

                                                          @@ -647,21 +1542,27 @@ export interface UpdateDataSourceRequest { AwsAccountId: string | undefined; /** - *

                                                          The parameters that QuickSight uses to connect to your underlying source.

                                                          + *

                                                          The ID of the data source. This ID is unique per AWS Region for each AWS account.

                                                          */ - DataSourceParameters?: DataSourceParameters; + DataSourceId: string | undefined; /** - *

                                                          Secure Socket Layer (SSL) properties that apply when QuickSight connects to your underlying - * source.

                                                          + *

                                                          The credentials that QuickSight that uses to connect to your underlying source. Currently, + * only credentials based on user name and password are supported.

                                                          */ - SslProperties?: SslProperties; + Credentials?: DataSourceCredentials; /** *

                                                          Use this parameter only when you want QuickSight to use a VPC connection when connecting to * your underlying source.

                                                          */ VpcConnectionProperties?: VpcConnectionProperties; + + /** + *

                                                          Secure Socket Layer (SSL) properties that apply when QuickSight connects to your underlying + * source.

                                                          + */ + SslProperties?: SslProperties; } export namespace UpdateDataSourceRequest { @@ -677,11 +1578,6 @@ export interface UpdateDataSourceResponse { */ UpdateStatus?: ResourceStatus | string; - /** - *

                                                          The ID of the data source. This ID is unique per AWS Region for each AWS account.

                                                          - */ - DataSourceId?: string; - /** *

                                                          The AWS request ID for this operation.

                                                          */ @@ -691,6 +1587,11 @@ export interface UpdateDataSourceResponse { *

                                                          The Amazon Resource Name (ARN) of the data source.

                                                          */ Arn?: string; + + /** + *

                                                          The ID of the data source. This ID is unique per AWS Region for each AWS account.

                                                          + */ + DataSourceId?: string; } export namespace UpdateDataSourceResponse { @@ -700,6 +1601,11 @@ export namespace UpdateDataSourceResponse { } export interface UpdateDataSourcePermissionsRequest { + /** + *

                                                          A list of resource permissions that you want to revoke on the data source.

                                                          + */ + RevokePermissions?: ResourcePermission[]; + /** *

                                                          The ID of the data source. This ID is unique per AWS Region for each AWS account.

                                                          */ @@ -714,11 +1620,6 @@ export interface UpdateDataSourcePermissionsRequest { *

                                                          The AWS account ID.

                                                          */ AwsAccountId: string | undefined; - - /** - *

                                                          A list of resource permissions that you want to revoke on the data source.

                                                          - */ - RevokePermissions?: ResourcePermission[]; } export namespace UpdateDataSourcePermissionsRequest { @@ -729,9 +1630,9 @@ export namespace UpdateDataSourcePermissionsRequest { export interface UpdateDataSourcePermissionsResponse { /** - *

                                                          The AWS request ID for this operation.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the data source.

                                                          */ - RequestId?: string; + DataSourceArn?: string; /** *

                                                          The ID of the data source. This ID is unique per AWS Region for each AWS account.

                                                          @@ -739,9 +1640,9 @@ export interface UpdateDataSourcePermissionsResponse { DataSourceId?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the data source.

                                                          + *

                                                          The AWS request ID for this operation.

                                                          */ - DataSourceArn?: string; + RequestId?: string; } export namespace UpdateDataSourcePermissionsResponse { @@ -763,14 +1664,14 @@ export interface UpdateGroupRequest { Namespace: string | undefined; /** - *

                                                          The description for the group that you want to update.

                                                          + *

                                                          The name of the group that you want to update.

                                                          */ - Description?: string; + GroupName: string | undefined; /** - *

                                                          The name of the group that you want to update.

                                                          + *

                                                          The description for the group that you want to update.

                                                          */ - GroupName: string | undefined; + Description?: string; } export namespace UpdateGroupRequest { @@ -798,12 +1699,32 @@ export namespace UpdateGroupResponse { } export interface UpdateIAMPolicyAssignmentRequest { + /** + *

                                                          The namespace of the assignment.

                                                          + */ + Namespace: string | undefined; + + /** + *

                                                          The ID of the AWS account that contains the IAM policy assignment.

                                                          + */ + AwsAccountId: string | undefined; + /** *

                                                          The ARN for the IAM policy to apply to the QuickSight users and groups * specified in this assignment.

                                                          */ PolicyArn?: string; + /** + *

                                                          The QuickSight users, groups, or both that you want to assign the policy to.

                                                          + */ + Identities?: { [key: string]: string[] }; + + /** + *

                                                          The name of the assignment. This name must be unique within an AWS account.

                                                          + */ + AssignmentName: string | undefined; + /** *

                                                          The status of the assignment. Possible values are as follows:

                                                          *
                                                            @@ -824,26 +1745,6 @@ export interface UpdateIAMPolicyAssignmentRequest { *
                                                          */ AssignmentStatus?: AssignmentStatus | string; - - /** - *

                                                          The name of the assignment. This name must be unique within an AWS account.

                                                          - */ - AssignmentName: string | undefined; - - /** - *

                                                          The QuickSight users, groups, or both that you want to assign the policy to.

                                                          - */ - Identities?: { [key: string]: string[] }; - - /** - *

                                                          The ID of the AWS account that contains the IAM policy assignment.

                                                          - */ - AwsAccountId: string | undefined; - - /** - *

                                                          The namespace of the assignment.

                                                          - */ - Namespace: string | undefined; } export namespace UpdateIAMPolicyAssignmentRequest { @@ -854,10 +1755,14 @@ export namespace UpdateIAMPolicyAssignmentRequest { export interface UpdateIAMPolicyAssignmentResponse { /** - *

                                                          The ARN for the IAM policy applied to the QuickSight users and groups specified in this - * assignment.

                                                          + *

                                                          The name of the assignment.

                                                          */ - PolicyArn?: string; + AssignmentName?: string; + + /** + *

                                                          The QuickSight users, groups, or both that the IAM policy is assigned to.

                                                          + */ + Identities?: { [key: string]: string[] }; /** *

                                                          The status of the assignment. Possible values are as follows:

                                                          @@ -881,24 +1786,20 @@ export interface UpdateIAMPolicyAssignmentResponse { AssignmentStatus?: AssignmentStatus | string; /** - *

                                                          The name of the assignment.

                                                          + *

                                                          The ID of the assignment.

                                                          */ - AssignmentName?: string; + AssignmentId?: string; /** - *

                                                          The QuickSight users, groups, or both that the IAM policy is assigned to.

                                                          + *

                                                          The ARN for the IAM policy applied to the QuickSight users and groups specified in this + * assignment.

                                                          */ - Identities?: { [key: string]: string[] }; + PolicyArn?: string; /** *

                                                          The AWS request ID for this operation.

                                                          */ RequestId?: string; - - /** - *

                                                          The ID of the assignment.

                                                          - */ - AssignmentId?: string; } export namespace UpdateIAMPolicyAssignmentResponse { @@ -922,6 +1823,16 @@ export interface UpdateTemplateRequest { */ SourceEntity: TemplateSourceEntity | undefined; + /** + *

                                                          The name for the template.

                                                          + */ + Name?: string; + + /** + *

                                                          The ID of the AWS account that contains the template that you're updating.

                                                          + */ + AwsAccountId: string | undefined; + /** *

                                                          A description of the current template version that is being updated. Every time you call * UpdateTemplate, you create a new version of the template. Each version @@ -934,16 +1845,6 @@ export interface UpdateTemplateRequest { *

                                                          The ID for the template.

                                                          */ TemplateId: string | undefined; - - /** - *

                                                          The ID of the AWS account that contains the template that you're updating.

                                                          - */ - AwsAccountId: string | undefined; - - /** - *

                                                          The name for the template.

                                                          - */ - Name?: string; } export namespace UpdateTemplateRequest { @@ -963,6 +1864,11 @@ export interface UpdateTemplateResponse { */ Arn?: string; + /** + *

                                                          The ID for the template.

                                                          + */ + TemplateId?: string; + /** *

                                                          The ARN for the template, including the version information of the first version.

                                                          */ @@ -972,11 +1878,6 @@ export interface UpdateTemplateResponse { *

                                                          The AWS request ID for this operation.

                                                          */ RequestId?: string; - - /** - *

                                                          The ID for the template.

                                                          - */ - TemplateId?: string; } export namespace UpdateTemplateResponse { @@ -986,6 +1887,11 @@ export namespace UpdateTemplateResponse { } export interface UpdateTemplateAliasRequest { + /** + *

                                                          The ID for the template.

                                                          + */ + TemplateId: string | undefined; + /** *

                                                          The ID of the AWS account that contains the template alias that you're updating.

                                                          */ @@ -1003,11 +1909,6 @@ export interface UpdateTemplateAliasRequest { * The keyword $PUBLISHED doesn't apply to templates.

                                                          */ AliasName: string | undefined; - - /** - *

                                                          The ID for the template.

                                                          - */ - TemplateId: string | undefined; } export namespace UpdateTemplateAliasRequest { @@ -1040,11 +1941,6 @@ export interface UpdateTemplatePermissionsRequest { */ RevokePermissions?: ResourcePermission[]; - /** - *

                                                          The ID for the template.

                                                          - */ - TemplateId: string | undefined; - /** *

                                                          A list of resource permissions to be granted on the template.

                                                          */ @@ -1054,6 +1950,11 @@ export interface UpdateTemplatePermissionsRequest { *

                                                          The ID of the AWS account that contains the template.

                                                          */ AwsAccountId: string | undefined; + + /** + *

                                                          The ID for the template.

                                                          + */ + TemplateId: string | undefined; } export namespace UpdateTemplatePermissionsRequest { @@ -1068,11 +1969,6 @@ export interface UpdateTemplatePermissionsResponse { */ TemplateArn?: string; - /** - *

                                                          The ID for the template.

                                                          - */ - TemplateId?: string; - /** *

                                                          The AWS request ID for this operation.

                                                          */ @@ -1082,6 +1978,11 @@ export interface UpdateTemplatePermissionsResponse { *

                                                          A list of resource permissions to be set on the template.

                                                          */ Permissions?: ResourcePermission[]; + + /** + *

                                                          The ID for the template.

                                                          + */ + TemplateId?: string; } export namespace UpdateTemplatePermissionsResponse { @@ -1143,14 +2044,14 @@ export interface UpdateThemeResponse { RequestId?: string; /** - *

                                                          The Amazon Resource Name (ARN) for the new version of the theme.

                                                          + *

                                                          The creation status of the theme.

                                                          */ - VersionArn?: string; + CreationStatus?: ResourceStatus | string; /** - *

                                                          The creation status of the theme.

                                                          + *

                                                          The Amazon Resource Name (ARN) for the new version of the theme.

                                                          */ - CreationStatus?: ResourceStatus | string; + VersionArn?: string; /** *

                                                          The Amazon Resource Name (ARN) for the theme.

                                                          @@ -1165,6 +2066,11 @@ export namespace UpdateThemeResponse { } export interface UpdateThemeAliasRequest { + /** + *

                                                          The ID for the theme.

                                                          + */ + ThemeId: string | undefined; + /** *

                                                          The version number of the theme that the alias should reference.

                                                          */ @@ -1179,11 +2085,6 @@ export interface UpdateThemeAliasRequest { *

                                                          The ID of the AWS account that contains the theme alias that you're updating.

                                                          */ AwsAccountId: string | undefined; - - /** - *

                                                          The ID for the theme.

                                                          - */ - ThemeId: string | undefined; } export namespace UpdateThemeAliasRequest { @@ -1216,11 +2117,6 @@ export interface UpdateThemePermissionsRequest { */ RevokePermissions?: ResourcePermission[]; - /** - *

                                                          The ID for the theme.

                                                          - */ - ThemeId: string | undefined; - /** *

                                                          The ID of the AWS account that contains the theme.

                                                          */ @@ -1230,6 +2126,11 @@ export interface UpdateThemePermissionsRequest { *

                                                          A list of resource permissions to be granted for the theme.

                                                          */ GrantPermissions?: ResourcePermission[]; + + /** + *

                                                          The ID for the theme.

                                                          + */ + ThemeId: string | undefined; } export namespace UpdateThemePermissionsRequest { @@ -1240,14 +2141,14 @@ export namespace UpdateThemePermissionsRequest { export interface UpdateThemePermissionsResponse { /** - *

                                                          The resulting list of resource permissions for the theme.

                                                          + *

                                                          The AWS request ID for this operation.

                                                          */ - Permissions?: ResourcePermission[]; + RequestId?: string; /** - *

                                                          The ID for the theme.

                                                          + *

                                                          The resulting list of resource permissions for the theme.

                                                          */ - ThemeId?: string; + Permissions?: ResourcePermission[]; /** *

                                                          The Amazon Resource Name (ARN) of the theme.

                                                          @@ -1255,9 +2156,9 @@ export interface UpdateThemePermissionsResponse { ThemeArn?: string; /** - *

                                                          The AWS request ID for this operation.

                                                          + *

                                                          The ID for the theme.

                                                          */ - RequestId?: string; + ThemeId?: string; } export namespace UpdateThemePermissionsResponse { @@ -1268,28 +2169,39 @@ export namespace UpdateThemePermissionsResponse { export interface UpdateUserRequest { /** - *

                                                          The namespace. Currently, you should set this to default.

                                                          - */ - Namespace: string | undefined; - - /** - *

                                                          The name of the custom permissions profile that you want to assign to this user. - * Currently, custom permissions profile names are assigned to permissions profiles in the - * QuickSight console. You use this API to assign the named set of permissions to a - * QuickSight user.

                                                          + *

                                                          (Enterprise edition only) The name of the custom permissions profile that you want to + * assign to this user. Customized permissions allows you to control a user's access by + * restricting access the following operations:

                                                          + *
                                                            + *
                                                          • + *

                                                            Create and update data sources

                                                            + *
                                                          • + *
                                                          • + *

                                                            Create and update datasets

                                                            + *
                                                          • + *
                                                          • + *

                                                            Create and update email reports

                                                            + *
                                                          • + *
                                                          • + *

                                                            Subscribe to email reports

                                                            + *
                                                          • + *
                                                          + *

                                                          A set of custom permissions includes any combination of these restrictions. Currently, + * you need to create the profile names for custom permission sets by using the QuickSight + * console. Then, you use the RegisterUser API operation to assign the named set of + * permissions to a QuickSight user.

                                                          + *

                                                          QuickSight custom permissions are applied through IAM policies. Therefore, they + * override the permissions typically granted by assigning QuickSight users to one of the + * default security cohorts in QuickSight (admin, author, reader).

                                                          + *

                                                          This feature is available only to QuickSight Enterprise edition subscriptions that use + * SAML 2.0-Based Federation for Single Sign-On (SSO).

                                                          */ CustomPermissionsName?: string; /** - *

                                                          The email address of the user that you want to update.

                                                          - */ - Email: string | undefined; - - /** - *

                                                          The ID for the AWS account that the user is in. Currently, you use the ID for the AWS - * account that contains your Amazon QuickSight account.

                                                          + *

                                                          The namespace. Currently, you should set this to default.

                                                          */ - AwsAccountId: string | undefined; + Namespace: string | undefined; /** *

                                                          The Amazon QuickSight user name that you want to update.

                                                          @@ -1297,16 +2209,14 @@ export interface UpdateUserRequest { UserName: string | undefined; /** - *

                                                          A flag that you use to indicate that you want to remove all custom permissions - * from this user. Using this parameter resets the user to the state - * it was in before a custom permissions profile was applied. This parameter defaults to - * NULL and it doesn't accept any other value.

                                                          + *

                                                          The ID for the AWS account that the user is in. Currently, you use the ID for the AWS + * account that contains your Amazon QuickSight account.

                                                          */ - UnapplyCustomPermissions?: boolean; + AwsAccountId: string | undefined; /** - *

                                                          The Amazon QuickSight role of the user. The user role can be one of the - * following:

                                                          + *

                                                          The Amazon QuickSight role of the user. The role can be one of the + * following default security cohorts:

                                                          *
                                                            *
                                                          • *

                                                            @@ -1323,8 +2233,23 @@ export interface UpdateUserRequest { * settings.

                                                            *
                                                          • *
                                                          + *

                                                          The name of the QuickSight role is invisible to the user except for the console + * screens dealing with permissions.

                                                          */ Role: UserRole | string | undefined; + + /** + *

                                                          A flag that you use to indicate that you want to remove all custom permissions + * from this user. Using this parameter resets the user to the state + * it was in before a custom permissions profile was applied. This parameter defaults to + * NULL and it doesn't accept any other value.

                                                          + */ + UnapplyCustomPermissions?: boolean; + + /** + *

                                                          The email address of the user that you want to update.

                                                          + */ + Email: string | undefined; } export namespace UpdateUserRequest { diff --git a/clients/client-quicksight/pagination/ListAnalysesPaginator.ts b/clients/client-quicksight/pagination/ListAnalysesPaginator.ts new file mode 100644 index 000000000000..254d14c87416 --- /dev/null +++ b/clients/client-quicksight/pagination/ListAnalysesPaginator.ts @@ -0,0 +1,51 @@ +import { QuickSight } from "../QuickSight"; +import { QuickSightClient } from "../QuickSightClient"; +import { + ListAnalysesCommand, + ListAnalysesCommandInput, + ListAnalysesCommandOutput, +} from "../commands/ListAnalysesCommand"; +import { QuickSightPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: QuickSightClient, + input: ListAnalysesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAnalysesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: QuickSight, + input: ListAnalysesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAnalyses(input, ...args); +}; +export async function* listAnalysesPaginate( + config: QuickSightPaginationConfiguration, + input: ListAnalysesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAnalysesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof QuickSight) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof QuickSightClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected QuickSight | QuickSightClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-quicksight/pagination/SearchAnalysesPaginator.ts b/clients/client-quicksight/pagination/SearchAnalysesPaginator.ts new file mode 100644 index 000000000000..8ff73ecec8e4 --- /dev/null +++ b/clients/client-quicksight/pagination/SearchAnalysesPaginator.ts @@ -0,0 +1,51 @@ +import { QuickSight } from "../QuickSight"; +import { QuickSightClient } from "../QuickSightClient"; +import { + SearchAnalysesCommand, + SearchAnalysesCommandInput, + SearchAnalysesCommandOutput, +} from "../commands/SearchAnalysesCommand"; +import { QuickSightPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: QuickSightClient, + input: SearchAnalysesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new SearchAnalysesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: QuickSight, + input: SearchAnalysesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.searchAnalyses(input, ...args); +}; +export async function* searchAnalysesPaginate( + config: QuickSightPaginationConfiguration, + input: SearchAnalysesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: SearchAnalysesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof QuickSight) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof QuickSightClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected QuickSight | QuickSightClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-quicksight/protocols/Aws_restJson1.ts b/clients/client-quicksight/protocols/Aws_restJson1.ts index 175ec0a3a5ea..8ebb9b57eb48 100644 --- a/clients/client-quicksight/protocols/Aws_restJson1.ts +++ b/clients/client-quicksight/protocols/Aws_restJson1.ts @@ -3,6 +3,7 @@ import { CreateAccountCustomizationCommandInput, CreateAccountCustomizationCommandOutput, } from "../commands/CreateAccountCustomizationCommand"; +import { CreateAnalysisCommandInput, CreateAnalysisCommandOutput } from "../commands/CreateAnalysisCommand"; import { CreateDashboardCommandInput, CreateDashboardCommandOutput } from "../commands/CreateDashboardCommand"; import { CreateDataSetCommandInput, CreateDataSetCommandOutput } from "../commands/CreateDataSetCommand"; import { CreateDataSourceCommandInput, CreateDataSourceCommandOutput } from "../commands/CreateDataSourceCommand"; @@ -28,6 +29,7 @@ import { DeleteAccountCustomizationCommandInput, DeleteAccountCustomizationCommandOutput, } from "../commands/DeleteAccountCustomizationCommand"; +import { DeleteAnalysisCommandInput, DeleteAnalysisCommandOutput } from "../commands/DeleteAnalysisCommand"; import { DeleteDashboardCommandInput, DeleteDashboardCommandOutput } from "../commands/DeleteDashboardCommand"; import { DeleteDataSetCommandInput, DeleteDataSetCommandOutput } from "../commands/DeleteDataSetCommand"; import { DeleteDataSourceCommandInput, DeleteDataSourceCommandOutput } from "../commands/DeleteDataSourceCommand"; @@ -61,6 +63,11 @@ import { DescribeAccountSettingsCommandInput, DescribeAccountSettingsCommandOutput, } from "../commands/DescribeAccountSettingsCommand"; +import { DescribeAnalysisCommandInput, DescribeAnalysisCommandOutput } from "../commands/DescribeAnalysisCommand"; +import { + DescribeAnalysisPermissionsCommandInput, + DescribeAnalysisPermissionsCommandOutput, +} from "../commands/DescribeAnalysisPermissionsCommand"; import { DescribeDashboardCommandInput, DescribeDashboardCommandOutput } from "../commands/DescribeDashboardCommand"; import { DescribeDashboardPermissionsCommandInput, @@ -104,6 +111,7 @@ import { GetDashboardEmbedUrlCommandOutput, } from "../commands/GetDashboardEmbedUrlCommand"; import { GetSessionEmbedUrlCommandInput, GetSessionEmbedUrlCommandOutput } from "../commands/GetSessionEmbedUrlCommand"; +import { ListAnalysesCommandInput, ListAnalysesCommandOutput } from "../commands/ListAnalysesCommand"; import { ListDashboardVersionsCommandInput, ListDashboardVersionsCommandOutput, @@ -145,6 +153,8 @@ import { ListThemesCommandInput, ListThemesCommandOutput } from "../commands/Lis import { ListUserGroupsCommandInput, ListUserGroupsCommandOutput } from "../commands/ListUserGroupsCommand"; import { ListUsersCommandInput, ListUsersCommandOutput } from "../commands/ListUsersCommand"; import { RegisterUserCommandInput, RegisterUserCommandOutput } from "../commands/RegisterUserCommand"; +import { RestoreAnalysisCommandInput, RestoreAnalysisCommandOutput } from "../commands/RestoreAnalysisCommand"; +import { SearchAnalysesCommandInput, SearchAnalysesCommandOutput } from "../commands/SearchAnalysesCommand"; import { SearchDashboardsCommandInput, SearchDashboardsCommandOutput } from "../commands/SearchDashboardsCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; @@ -156,6 +166,11 @@ import { UpdateAccountSettingsCommandInput, UpdateAccountSettingsCommandOutput, } from "../commands/UpdateAccountSettingsCommand"; +import { UpdateAnalysisCommandInput, UpdateAnalysisCommandOutput } from "../commands/UpdateAnalysisCommand"; +import { + UpdateAnalysisPermissionsCommandInput, + UpdateAnalysisPermissionsCommandOutput, +} from "../commands/UpdateAnalysisPermissionsCommand"; import { UpdateDashboardCommandInput, UpdateDashboardCommandOutput } from "../commands/UpdateDashboardCommand"; import { UpdateDashboardPermissionsCommandInput, @@ -203,6 +218,12 @@ import { ActiveIAMPolicyAssignment, AdHocFilteringOption, AmazonElasticsearchParameters, + Analysis, + AnalysisError, + AnalysisSearchFilter, + AnalysisSourceEntity, + AnalysisSourceTemplate, + AnalysisSummary, AthenaParameters, AuroraParameters, AuroraPostgreSqlParameters, @@ -291,6 +312,7 @@ import { S3Source, ServiceNowParameters, SessionLifetimeInMinutesInvalidException, + Sheet, SheetControlsOption, SheetStyle, SnowflakeParameters, @@ -306,17 +328,13 @@ import { TemplateSourceAnalysis, TemplateSourceEntity, TemplateSourceTemplate, - TemplateSummary, TemplateVersion, - TemplateVersionSummary, TeradataParameters, Theme, ThemeAlias, ThemeConfiguration, ThemeError, - ThemeSummary, ThemeVersion, - ThemeVersionSummary, ThrottlingException, TileLayoutStyle, TileStyle, @@ -329,6 +347,7 @@ import { VpcConnectionProperties, _Parameters, } from "../models/models_0"; +import { TemplateSummary, TemplateVersionSummary, ThemeSummary, ThemeVersionSummary } from "../models/models_1"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { SmithyException as __SmithyException, @@ -414,6 +433,7 @@ export const serializeAws_restJson1CreateAccountCustomizationCommand = async ( ...(input.AccountCustomization !== undefined && { AccountCustomization: serializeAws_restJson1AccountCustomization(input.AccountCustomization, context), }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagList(input.Tags, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -428,6 +448,57 @@ export const serializeAws_restJson1CreateAccountCustomizationCommand = async ( }); }; +export const serializeAws_restJson1CreateAnalysisCommand = async ( + input: CreateAnalysisCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AwsAccountId}/analyses/{AnalysisId}"; + if (input.AnalysisId !== undefined) { + const labelValue: string = input.AnalysisId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AnalysisId."); + } + resolvedPath = resolvedPath.replace("{AnalysisId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AnalysisId."); + } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } + let body: any; + body = JSON.stringify({ + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Parameters !== undefined && { Parameters: serializeAws_restJson1_Parameters(input.Parameters, context) }), + ...(input.Permissions !== undefined && { + Permissions: serializeAws_restJson1ResourcePermissionList(input.Permissions, context), + }), + ...(input.SourceEntity !== undefined && { + SourceEntity: serializeAws_restJson1AnalysisSourceEntity(input.SourceEntity, context), + }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagList(input.Tags, context) }), + ...(input.ThemeArn !== undefined && { ThemeArn: input.ThemeArn }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateDashboardCommand = async ( input: CreateDashboardCommandInput, context: __SerdeContext @@ -596,15 +667,6 @@ export const serializeAws_restJson1CreateGroupCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups"; - if (input.AwsAccountId !== undefined) { - const labelValue: string = input.AwsAccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AwsAccountId."); - } - resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AwsAccountId."); - } if (input.Namespace !== undefined) { const labelValue: string = input.Namespace; if (labelValue.length <= 0) { @@ -614,6 +676,15 @@ export const serializeAws_restJson1CreateGroupCommand = async ( } else { throw new Error("No value provided for input HTTP label: Namespace."); } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } let body: any; body = JSON.stringify({ ...(input.Description !== undefined && { Description: input.Description }), @@ -657,15 +728,6 @@ export const serializeAws_restJson1CreateGroupMembershipCommand = async ( } else { throw new Error("No value provided for input HTTP label: MemberName."); } - if (input.Namespace !== undefined) { - const labelValue: string = input.Namespace; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Namespace."); - } - resolvedPath = resolvedPath.replace("{Namespace}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Namespace."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -675,6 +737,15 @@ export const serializeAws_restJson1CreateGroupMembershipCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.Namespace !== undefined) { + const labelValue: string = input.Namespace; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Namespace."); + } + resolvedPath = resolvedPath.replace("{Namespace}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Namespace."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -750,15 +821,6 @@ export const serializeAws_restJson1CreateIngestionCommand = async ( } else { throw new Error("No value provided for input HTTP label: DataSetId."); } - if (input.IngestionId !== undefined) { - const labelValue: string = input.IngestionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: IngestionId."); - } - resolvedPath = resolvedPath.replace("{IngestionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: IngestionId."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -768,6 +830,15 @@ export const serializeAws_restJson1CreateIngestionCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.IngestionId !== undefined) { + const labelValue: string = input.IngestionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: IngestionId."); + } + resolvedPath = resolvedPath.replace("{IngestionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: IngestionId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -976,14 +1047,14 @@ export const serializeAws_restJson1CreateThemeAliasCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}"; - if (input.AwsAccountId !== undefined) { - const labelValue: string = input.AwsAccountId; + if (input.AliasName !== undefined) { + const labelValue: string = input.AliasName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + throw new Error("Empty value provided for input HTTP label: AliasName."); } - resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AliasName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AwsAccountId."); + throw new Error("No value provided for input HTTP label: AliasName."); } if (input.ThemeId !== undefined) { const labelValue: string = input.ThemeId; @@ -994,14 +1065,14 @@ export const serializeAws_restJson1CreateThemeAliasCommand = async ( } else { throw new Error("No value provided for input HTTP label: ThemeId."); } - if (input.AliasName !== undefined) { - const labelValue: string = input.AliasName; + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AliasName."); + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); } - resolvedPath = resolvedPath.replace("{AliasName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AliasName."); + throw new Error("No value provided for input HTTP label: AwsAccountId."); } let body: any; body = JSON.stringify({ @@ -1053,6 +1124,54 @@ export const serializeAws_restJson1DeleteAccountCustomizationCommand = async ( }); }; +export const serializeAws_restJson1DeleteAnalysisCommand = async ( + input: DeleteAnalysisCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/accounts/{AwsAccountId}/analyses/{AnalysisId}"; + if (input.AnalysisId !== undefined) { + const labelValue: string = input.AnalysisId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AnalysisId."); + } + resolvedPath = resolvedPath.replace("{AnalysisId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AnalysisId."); + } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } + const query: any = { + ...(input.RecoveryWindowInDays !== undefined && { + "recovery-window-in-days": input.RecoveryWindowInDays.toString(), + }), + ...(input.ForceDeleteWithoutRecovery !== undefined && { + "force-delete-without-recovery": input.ForceDeleteWithoutRecovery.toString(), + }), + }; + 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_restJson1DeleteDashboardCommand = async ( input: DeleteDashboardCommandInput, context: __SerdeContext @@ -1374,15 +1493,6 @@ export const serializeAws_restJson1DeleteTemplateCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/templates/{TemplateId}"; - if (input.AwsAccountId !== undefined) { - const labelValue: string = input.AwsAccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AwsAccountId."); - } - resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AwsAccountId."); - } if (input.TemplateId !== undefined) { const labelValue: string = input.TemplateId; if (labelValue.length <= 0) { @@ -1392,6 +1502,15 @@ export const serializeAws_restJson1DeleteTemplateCommand = async ( } else { throw new Error("No value provided for input HTTP label: TemplateId."); } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } const query: any = { ...(input.VersionNumber !== undefined && { "version-number": input.VersionNumber.toString() }), }; @@ -1417,6 +1536,15 @@ export const serializeAws_restJson1DeleteTemplateAliasCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}"; + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } if (input.AliasName !== undefined) { const labelValue: string = input.AliasName; if (labelValue.length <= 0) { @@ -1435,15 +1563,6 @@ export const serializeAws_restJson1DeleteTemplateAliasCommand = async ( } else { throw new Error("No value provided for input HTTP label: TemplateId."); } - if (input.AwsAccountId !== undefined) { - const labelValue: string = input.AwsAccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AwsAccountId."); - } - resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AwsAccountId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1556,15 +1675,6 @@ export const serializeAws_restJson1DeleteUserCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}"; - if (input.Namespace !== undefined) { - const labelValue: string = input.Namespace; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Namespace."); - } - resolvedPath = resolvedPath.replace("{Namespace}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Namespace."); - } if (input.UserName !== undefined) { const labelValue: string = input.UserName; if (labelValue.length <= 0) { @@ -1574,6 +1684,15 @@ export const serializeAws_restJson1DeleteUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: UserName."); } + if (input.Namespace !== undefined) { + const labelValue: string = input.Namespace; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Namespace."); + } + resolvedPath = resolvedPath.replace("{Namespace}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Namespace."); + } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -1709,23 +1828,14 @@ export const serializeAws_restJson1DescribeAccountSettingsCommand = async ( }); }; -export const serializeAws_restJson1DescribeDashboardCommand = async ( - input: DescribeDashboardCommandInput, +export const serializeAws_restJson1DescribeAnalysisCommand = async ( + input: DescribeAnalysisCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}"; - if (input.DashboardId !== undefined) { - const labelValue: string = input.DashboardId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DashboardId."); - } - resolvedPath = resolvedPath.replace("{DashboardId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DashboardId."); - } + let resolvedPath = "/accounts/{AwsAccountId}/analyses/{AnalysisId}"; if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -1735,10 +1845,15 @@ export const serializeAws_restJson1DescribeDashboardCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } - const query: any = { - ...(input.AliasName !== undefined && { "alias-name": input.AliasName }), - ...(input.VersionNumber !== undefined && { "version-number": input.VersionNumber.toString() }), - }; + if (input.AnalysisId !== undefined) { + const labelValue: string = input.AnalysisId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AnalysisId."); + } + resolvedPath = resolvedPath.replace("{AnalysisId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AnalysisId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1748,28 +1863,18 @@ export const serializeAws_restJson1DescribeDashboardCommand = async ( method: "GET", headers, path: resolvedPath, - query, body, }); }; -export const serializeAws_restJson1DescribeDashboardPermissionsCommand = async ( - input: DescribeDashboardPermissionsCommandInput, +export const serializeAws_restJson1DescribeAnalysisPermissionsCommand = async ( + input: DescribeAnalysisPermissionsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions"; - if (input.DashboardId !== undefined) { - const labelValue: string = input.DashboardId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DashboardId."); - } - resolvedPath = resolvedPath.replace("{DashboardId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DashboardId."); - } + let resolvedPath = "/accounts/{AwsAccountId}/analyses/{AnalysisId}/permissions"; if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -1779,6 +1884,15 @@ export const serializeAws_restJson1DescribeDashboardPermissionsCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.AnalysisId !== undefined) { + const labelValue: string = input.AnalysisId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AnalysisId."); + } + resolvedPath = resolvedPath.replace("{AnalysisId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AnalysisId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1792,16 +1906,25 @@ export const serializeAws_restJson1DescribeDashboardPermissionsCommand = async ( }); }; -export const serializeAws_restJson1DescribeDataSetCommand = async ( - input: DescribeDataSetCommandInput, +export const serializeAws_restJson1DescribeDashboardCommand = async ( + input: DescribeDashboardCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AwsAccountId}/data-sets/{DataSetId}"; - if (input.AwsAccountId !== undefined) { - const labelValue: string = input.AwsAccountId; + let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}"; + if (input.DashboardId !== undefined) { + const labelValue: string = input.DashboardId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DashboardId."); + } + resolvedPath = resolvedPath.replace("{DashboardId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DashboardId."); + } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { throw new Error("Empty value provided for input HTTP label: AwsAccountId."); } @@ -1809,14 +1932,49 @@ export const serializeAws_restJson1DescribeDataSetCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } - if (input.DataSetId !== undefined) { - const labelValue: string = input.DataSetId; + const query: any = { + ...(input.AliasName !== undefined && { "alias-name": input.AliasName }), + ...(input.VersionNumber !== undefined && { "version-number": input.VersionNumber.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_restJson1DescribeDashboardPermissionsCommand = async ( + input: DescribeDashboardPermissionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions"; + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DataSetId."); + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); } - resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: DataSetId."); + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } + if (input.DashboardId !== undefined) { + const labelValue: string = input.DashboardId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DashboardId."); + } + resolvedPath = resolvedPath.replace("{DashboardId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DashboardId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1831,14 +1989,23 @@ export const serializeAws_restJson1DescribeDataSetCommand = async ( }); }; -export const serializeAws_restJson1DescribeDataSetPermissionsCommand = async ( - input: DescribeDataSetPermissionsCommandInput, +export const serializeAws_restJson1DescribeDataSetCommand = async ( + input: DescribeDataSetCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions"; + let resolvedPath = "/accounts/{AwsAccountId}/data-sets/{DataSetId}"; + if (input.DataSetId !== undefined) { + const labelValue: string = input.DataSetId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DataSetId."); + } + resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DataSetId."); + } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -1848,6 +2015,27 @@ export const serializeAws_restJson1DescribeDataSetPermissionsCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + 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_restJson1DescribeDataSetPermissionsCommand = async ( + input: DescribeDataSetPermissionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions"; if (input.DataSetId !== undefined) { const labelValue: string = input.DataSetId; if (labelValue.length <= 0) { @@ -1857,6 +2045,15 @@ export const serializeAws_restJson1DescribeDataSetPermissionsCommand = async ( } else { throw new Error("No value provided for input HTTP label: DataSetId."); } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1917,15 +2114,6 @@ export const serializeAws_restJson1DescribeDataSourcePermissionsCommand = async "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions"; - if (input.DataSourceId !== undefined) { - const labelValue: string = input.DataSourceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DataSourceId."); - } - resolvedPath = resolvedPath.replace("{DataSourceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DataSourceId."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -1935,6 +2123,15 @@ export const serializeAws_restJson1DescribeDataSourcePermissionsCommand = async } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.DataSourceId !== undefined) { + const labelValue: string = input.DataSourceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DataSourceId."); + } + resolvedPath = resolvedPath.replace("{DataSourceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DataSourceId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2004,15 +2201,6 @@ export const serializeAws_restJson1DescribeIAMPolicyAssignmentCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}"; - if (input.AwsAccountId !== undefined) { - const labelValue: string = input.AwsAccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AwsAccountId."); - } - resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AwsAccountId."); - } if (input.Namespace !== undefined) { const labelValue: string = input.Namespace; if (labelValue.length <= 0) { @@ -2022,6 +2210,15 @@ export const serializeAws_restJson1DescribeIAMPolicyAssignmentCommand = async ( } else { throw new Error("No value provided for input HTTP label: Namespace."); } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } if (input.AssignmentName !== undefined) { const labelValue: string = input.AssignmentName; if (labelValue.length <= 0) { @@ -2052,6 +2249,15 @@ export const serializeAws_restJson1DescribeIngestionCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}"; + if (input.DataSetId !== undefined) { + const labelValue: string = input.DataSetId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DataSetId."); + } + resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DataSetId."); + } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -2070,15 +2276,6 @@ export const serializeAws_restJson1DescribeIngestionCommand = async ( } else { throw new Error("No value provided for input HTTP label: IngestionId."); } - if (input.DataSetId !== undefined) { - const labelValue: string = input.DataSetId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DataSetId."); - } - resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DataSetId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2139,15 +2336,6 @@ export const serializeAws_restJson1DescribeTemplateCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/templates/{TemplateId}"; - if (input.AwsAccountId !== undefined) { - const labelValue: string = input.AwsAccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AwsAccountId."); - } - resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AwsAccountId."); - } if (input.TemplateId !== undefined) { const labelValue: string = input.TemplateId; if (labelValue.length <= 0) { @@ -2157,6 +2345,15 @@ export const serializeAws_restJson1DescribeTemplateCommand = async ( } else { throw new Error("No value provided for input HTTP label: TemplateId."); } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } const query: any = { ...(input.AliasName !== undefined && { "alias-name": input.AliasName }), ...(input.VersionNumber !== undefined && { "version-number": input.VersionNumber.toString() }), @@ -2183,15 +2380,6 @@ export const serializeAws_restJson1DescribeTemplateAliasCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}"; - if (input.AliasName !== undefined) { - const labelValue: string = input.AliasName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AliasName."); - } - resolvedPath = resolvedPath.replace("{AliasName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AliasName."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -2201,6 +2389,15 @@ export const serializeAws_restJson1DescribeTemplateAliasCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.AliasName !== undefined) { + const labelValue: string = input.AliasName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AliasName."); + } + resolvedPath = resolvedPath.replace("{AliasName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AliasName."); + } if (input.TemplateId !== undefined) { const labelValue: string = input.TemplateId; if (labelValue.length <= 0) { @@ -2323,15 +2520,6 @@ export const serializeAws_restJson1DescribeThemeAliasCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } - if (input.ThemeId !== undefined) { - const labelValue: string = input.ThemeId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ThemeId."); - } - resolvedPath = resolvedPath.replace("{ThemeId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ThemeId."); - } if (input.AliasName !== undefined) { const labelValue: string = input.AliasName; if (labelValue.length <= 0) { @@ -2341,6 +2529,15 @@ export const serializeAws_restJson1DescribeThemeAliasCommand = async ( } else { throw new Error("No value provided for input HTTP label: AliasName."); } + if (input.ThemeId !== undefined) { + const labelValue: string = input.ThemeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ThemeId."); + } + resolvedPath = resolvedPath.replace("{ThemeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ThemeId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2410,15 +2607,6 @@ export const serializeAws_restJson1DescribeUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: Namespace."); } - if (input.UserName !== undefined) { - const labelValue: string = input.UserName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserName."); - } - resolvedPath = resolvedPath.replace("{UserName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: UserName."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -2428,6 +2616,15 @@ export const serializeAws_restJson1DescribeUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.UserName !== undefined) { + const labelValue: string = input.UserName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: UserName."); + } + resolvedPath = resolvedPath.replace("{UserName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: UserName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2468,13 +2665,13 @@ export const serializeAws_restJson1GetDashboardEmbedUrlCommand = async ( throw new Error("No value provided for input HTTP label: DashboardId."); } const query: any = { - ...(input.ResetDisabled !== undefined && { "reset-disabled": input.ResetDisabled.toString() }), ...(input.SessionLifetimeInMinutes !== undefined && { "session-lifetime": input.SessionLifetimeInMinutes.toString(), }), + ...(input.ResetDisabled !== undefined && { "reset-disabled": input.ResetDisabled.toString() }), ...(input.IdentityType !== undefined && { "creds-type": input.IdentityType }), - ...(input.UndoRedoDisabled !== undefined && { "undo-redo-disabled": input.UndoRedoDisabled.toString() }), ...(input.UserArn !== undefined && { "user-arn": input.UserArn }), + ...(input.UndoRedoDisabled !== undefined && { "undo-redo-disabled": input.UndoRedoDisabled.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2511,8 +2708,8 @@ export const serializeAws_restJson1GetSessionEmbedUrlCommand = async ( ...(input.SessionLifetimeInMinutes !== undefined && { "session-lifetime": input.SessionLifetimeInMinutes.toString(), }), - ...(input.UserArn !== undefined && { "user-arn": input.UserArn }), ...(input.EntryPoint !== undefined && { "entry-point": input.EntryPoint }), + ...(input.UserArn !== undefined && { "user-arn": input.UserArn }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2528,14 +2725,14 @@ export const serializeAws_restJson1GetSessionEmbedUrlCommand = async ( }); }; -export const serializeAws_restJson1ListDashboardsCommand = async ( - input: ListDashboardsCommandInput, +export const serializeAws_restJson1ListAnalysesCommand = async ( + input: ListAnalysesCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AwsAccountId}/dashboards"; + let resolvedPath = "/accounts/{AwsAccountId}/analyses"; if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -2546,8 +2743,8 @@ export const serializeAws_restJson1ListDashboardsCommand = async ( throw new Error("No value provided for input HTTP label: AwsAccountId."); } const query: any = { - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), ...(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(); @@ -2563,14 +2760,14 @@ export const serializeAws_restJson1ListDashboardsCommand = async ( }); }; -export const serializeAws_restJson1ListDashboardVersionsCommand = async ( - input: ListDashboardVersionsCommandInput, +export const serializeAws_restJson1ListDashboardsCommand = async ( + input: ListDashboardsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions"; + let resolvedPath = "/accounts/{AwsAccountId}/dashboards"; if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -2580,18 +2777,9 @@ export const serializeAws_restJson1ListDashboardVersionsCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } - if (input.DashboardId !== undefined) { - const labelValue: string = input.DashboardId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DashboardId."); - } - resolvedPath = resolvedPath.replace("{DashboardId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DashboardId."); - } const query: any = { - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), ...(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(); @@ -2607,9 +2795,53 @@ export const serializeAws_restJson1ListDashboardVersionsCommand = async ( }); }; -export const serializeAws_restJson1ListDataSetsCommand = async ( - input: ListDataSetsCommandInput, - context: __SerdeContext +export const serializeAws_restJson1ListDashboardVersionsCommand = async ( + input: ListDashboardVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions"; + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } + if (input.DashboardId !== undefined) { + const labelValue: string = input.DashboardId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DashboardId."); + } + resolvedPath = resolvedPath.replace("{DashboardId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DashboardId."); + } + 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({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1ListDataSetsCommand = async ( + input: ListDataSetsCommandInput, + context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", @@ -2713,8 +2945,8 @@ export const serializeAws_restJson1ListGroupMembershipsCommand = async ( throw new Error("No value provided for input HTTP label: AwsAccountId."); } const query: any = { - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), ...(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(); @@ -2782,15 +3014,6 @@ export const serializeAws_restJson1ListIAMPolicyAssignmentsCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments"; - if (input.AwsAccountId !== undefined) { - const labelValue: string = input.AwsAccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AwsAccountId."); - } - resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AwsAccountId."); - } if (input.Namespace !== undefined) { const labelValue: string = input.Namespace; if (labelValue.length <= 0) { @@ -2800,6 +3023,15 @@ export const serializeAws_restJson1ListIAMPolicyAssignmentsCommand = async ( } else { throw new Error("No value provided for input HTTP label: Namespace."); } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } const query: any = { ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), ...(input.NextToken !== undefined && { "next-token": input.NextToken }), @@ -2829,15 +3061,6 @@ export const serializeAws_restJson1ListIAMPolicyAssignmentsForUserCommand = asyn "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/iam-policy-assignments"; - if (input.AwsAccountId !== undefined) { - const labelValue: string = input.AwsAccountId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AwsAccountId."); - } - resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: AwsAccountId."); - } if (input.Namespace !== undefined) { const labelValue: string = input.Namespace; if (labelValue.length <= 0) { @@ -2847,6 +3070,15 @@ export const serializeAws_restJson1ListIAMPolicyAssignmentsForUserCommand = asyn } else { throw new Error("No value provided for input HTTP label: Namespace."); } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } if (input.UserName !== undefined) { const labelValue: string = input.UserName; if (labelValue.length <= 0) { @@ -2857,8 +3089,8 @@ export const serializeAws_restJson1ListIAMPolicyAssignmentsForUserCommand = asyn throw new Error("No value provided for input HTTP label: UserName."); } const query: any = { - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), ...(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(); @@ -3010,8 +3242,8 @@ export const serializeAws_restJson1ListTemplateAliasesCommand = async ( throw new Error("No value provided for input HTTP label: AwsAccountId."); } const query: any = { - ...(input.MaxResults !== undefined && { "max-result": input.MaxResults.toString() }), ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + ...(input.MaxResults !== undefined && { "max-result": input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3169,8 +3401,8 @@ export const serializeAws_restJson1ListThemesCommand = async ( } const query: any = { ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { "next-token": input.NextToken }), ...(input.Type !== undefined && { type: input.Type }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -3213,8 +3445,8 @@ export const serializeAws_restJson1ListThemeVersionsCommand = async ( throw new Error("No value provided for input HTTP label: AwsAccountId."); } const query: any = { - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), ...(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(); @@ -3238,15 +3470,6 @@ export const serializeAws_restJson1ListUserGroupsCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/groups"; - if (input.Namespace !== undefined) { - const labelValue: string = input.Namespace; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Namespace."); - } - resolvedPath = resolvedPath.replace("{Namespace}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Namespace."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -3256,6 +3479,15 @@ export const serializeAws_restJson1ListUserGroupsCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.Namespace !== undefined) { + const labelValue: string = input.Namespace; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Namespace."); + } + resolvedPath = resolvedPath.replace("{Namespace}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Namespace."); + } if (input.UserName !== undefined) { const labelValue: string = input.UserName; if (labelValue.length <= 0) { @@ -3291,15 +3523,6 @@ export const serializeAws_restJson1ListUsersCommand = async ( "Content-Type": "", }; let resolvedPath = "/accounts/{AwsAccountId}/namespaces/{Namespace}/users"; - if (input.Namespace !== undefined) { - const labelValue: string = input.Namespace; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Namespace."); - } - resolvedPath = resolvedPath.replace("{Namespace}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Namespace."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -3309,9 +3532,18 @@ export const serializeAws_restJson1ListUsersCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.Namespace !== undefined) { + const labelValue: string = input.Namespace; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Namespace."); + } + resolvedPath = resolvedPath.replace("{Namespace}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Namespace."); + } const query: any = { - ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), ...(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(); @@ -3335,6 +3567,15 @@ export const serializeAws_restJson1RegisterUserCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/namespaces/{Namespace}/users"; + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } if (input.Namespace !== undefined) { const labelValue: string = input.Namespace; if (labelValue.length <= 0) { @@ -3344,6 +3585,75 @@ export const serializeAws_restJson1RegisterUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: Namespace."); } + let body: any; + body = JSON.stringify({ + ...(input.CustomPermissionsName !== undefined && { CustomPermissionsName: input.CustomPermissionsName }), + ...(input.Email !== undefined && { Email: input.Email }), + ...(input.IamArn !== undefined && { IamArn: input.IamArn }), + ...(input.IdentityType !== undefined && { IdentityType: input.IdentityType }), + ...(input.SessionName !== undefined && { SessionName: input.SessionName }), + ...(input.UserName !== undefined && { UserName: input.UserName }), + ...(input.UserRole !== undefined && { UserRole: input.UserRole }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1RestoreAnalysisCommand = async ( + input: RestoreAnalysisCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/accounts/{AwsAccountId}/restore/analyses/{AnalysisId}"; + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } + if (input.AnalysisId !== undefined) { + const labelValue: string = input.AnalysisId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AnalysisId."); + } + resolvedPath = resolvedPath.replace("{AnalysisId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AnalysisId."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1SearchAnalysesCommand = async ( + input: SearchAnalysesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AwsAccountId}/search/analyses"; if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -3355,13 +3665,11 @@ export const serializeAws_restJson1RegisterUserCommand = async ( } let body: any; body = JSON.stringify({ - ...(input.CustomPermissionsName !== undefined && { CustomPermissionsName: input.CustomPermissionsName }), - ...(input.Email !== undefined && { Email: input.Email }), - ...(input.IamArn !== undefined && { IamArn: input.IamArn }), - ...(input.IdentityType !== undefined && { IdentityType: input.IdentityType }), - ...(input.SessionName !== undefined && { SessionName: input.SessionName }), - ...(input.UserName !== undefined && { UserName: input.UserName }), - ...(input.UserRole !== undefined && { UserRole: input.UserRole }), + ...(input.Filters !== undefined && { + Filters: serializeAws_restJson1AnalysisSearchFilterList(input.Filters, context), + }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3552,23 +3860,14 @@ export const serializeAws_restJson1UpdateAccountSettingsCommand = async ( }); }; -export const serializeAws_restJson1UpdateDashboardCommand = async ( - input: UpdateDashboardCommandInput, +export const serializeAws_restJson1UpdateAnalysisCommand = async ( + input: UpdateAnalysisCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}"; - if (input.DashboardId !== undefined) { - const labelValue: string = input.DashboardId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DashboardId."); - } - resolvedPath = resolvedPath.replace("{DashboardId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DashboardId."); - } + let resolvedPath = "/accounts/{AwsAccountId}/analyses/{AnalysisId}"; if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -3578,18 +3877,23 @@ export const serializeAws_restJson1UpdateDashboardCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.AnalysisId !== undefined) { + const labelValue: string = input.AnalysisId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AnalysisId."); + } + resolvedPath = resolvedPath.replace("{AnalysisId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AnalysisId."); + } let body: any; body = JSON.stringify({ - ...(input.DashboardPublishOptions !== undefined && { - DashboardPublishOptions: serializeAws_restJson1DashboardPublishOptions(input.DashboardPublishOptions, context), - }), ...(input.Name !== undefined && { Name: input.Name }), ...(input.Parameters !== undefined && { Parameters: serializeAws_restJson1_Parameters(input.Parameters, context) }), ...(input.SourceEntity !== undefined && { - SourceEntity: serializeAws_restJson1DashboardSourceEntity(input.SourceEntity, context), + SourceEntity: serializeAws_restJson1AnalysisSourceEntity(input.SourceEntity, context), }), ...(input.ThemeArn !== undefined && { ThemeArn: input.ThemeArn }), - ...(input.VersionDescription !== undefined && { VersionDescription: input.VersionDescription }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -3603,14 +3907,14 @@ export const serializeAws_restJson1UpdateDashboardCommand = async ( }); }; -export const serializeAws_restJson1UpdateDashboardPermissionsCommand = async ( - input: UpdateDashboardPermissionsCommandInput, +export const serializeAws_restJson1UpdateAnalysisPermissionsCommand = async ( + input: UpdateAnalysisPermissionsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions"; + let resolvedPath = "/accounts/{AwsAccountId}/analyses/{AnalysisId}/permissions"; if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -3620,14 +3924,14 @@ export const serializeAws_restJson1UpdateDashboardPermissionsCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } - if (input.DashboardId !== undefined) { - const labelValue: string = input.DashboardId; + if (input.AnalysisId !== undefined) { + const labelValue: string = input.AnalysisId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DashboardId."); + throw new Error("Empty value provided for input HTTP label: AnalysisId."); } - resolvedPath = resolvedPath.replace("{DashboardId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AnalysisId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: DashboardId."); + throw new Error("No value provided for input HTTP label: AnalysisId."); } let body: any; body = JSON.stringify({ @@ -3650,23 +3954,14 @@ export const serializeAws_restJson1UpdateDashboardPermissionsCommand = async ( }); }; -export const serializeAws_restJson1UpdateDashboardPublishedVersionCommand = async ( - input: UpdateDashboardPublishedVersionCommandInput, +export const serializeAws_restJson1UpdateDashboardCommand = async ( + input: UpdateDashboardCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { - "Content-Type": "", + "Content-Type": "application/json", }; - let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions/{VersionNumber}"; - if (input.VersionNumber !== undefined) { - const labelValue: string = input.VersionNumber.toString(); - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VersionNumber."); - } - resolvedPath = resolvedPath.replace("{VersionNumber}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: VersionNumber."); - } + let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}"; if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -3686,7 +3981,19 @@ export const serializeAws_restJson1UpdateDashboardPublishedVersionCommand = asyn throw new Error("No value provided for input HTTP label: DashboardId."); } let body: any; - const { hostname, protocol = "https", port } = await context.endpoint(); + body = JSON.stringify({ + ...(input.DashboardPublishOptions !== undefined && { + DashboardPublishOptions: serializeAws_restJson1DashboardPublishOptions(input.DashboardPublishOptions, context), + }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Parameters !== undefined && { Parameters: serializeAws_restJson1_Parameters(input.Parameters, context) }), + ...(input.SourceEntity !== undefined && { + SourceEntity: serializeAws_restJson1DashboardSourceEntity(input.SourceEntity, context), + }), + ...(input.ThemeArn !== undefined && { ThemeArn: input.ThemeArn }), + ...(input.VersionDescription !== undefined && { VersionDescription: input.VersionDescription }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, hostname, @@ -3698,23 +4005,109 @@ export const serializeAws_restJson1UpdateDashboardPublishedVersionCommand = asyn }); }; -export const serializeAws_restJson1UpdateDataSetCommand = async ( - input: UpdateDataSetCommandInput, +export const serializeAws_restJson1UpdateDashboardPermissionsCommand = async ( + input: UpdateDashboardPermissionsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/accounts/{AwsAccountId}/data-sets/{DataSetId}"; - if (input.DataSetId !== undefined) { - const labelValue: string = input.DataSetId; + let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions"; + if (input.DashboardId !== undefined) { + const labelValue: string = input.DashboardId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DataSetId."); + throw new Error("Empty value provided for input HTTP label: DashboardId."); } - resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{DashboardId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: DataSetId."); + throw new Error("No value provided for input HTTP label: DashboardId."); + } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); + } + let body: any; + body = JSON.stringify({ + ...(input.GrantPermissions !== undefined && { + GrantPermissions: serializeAws_restJson1UpdateResourcePermissionList(input.GrantPermissions, context), + }), + ...(input.RevokePermissions !== undefined && { + RevokePermissions: serializeAws_restJson1UpdateResourcePermissionList(input.RevokePermissions, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateDashboardPublishedVersionCommand = async ( + input: UpdateDashboardPublishedVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions/{VersionNumber}"; + if (input.VersionNumber !== undefined) { + const labelValue: string = input.VersionNumber.toString(); + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VersionNumber."); + } + resolvedPath = resolvedPath.replace("{VersionNumber}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VersionNumber."); + } + if (input.DashboardId !== undefined) { + const labelValue: string = input.DashboardId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DashboardId."); + } + resolvedPath = resolvedPath.replace("{DashboardId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DashboardId."); + } + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + } + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AwsAccountId."); } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1UpdateDataSetCommand = async ( + input: UpdateDataSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/accounts/{AwsAccountId}/data-sets/{DataSetId}"; if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -3724,6 +4117,15 @@ export const serializeAws_restJson1UpdateDataSetCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.DataSetId !== undefined) { + const labelValue: string = input.DataSetId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DataSetId."); + } + resolvedPath = resolvedPath.replace("{DataSetId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DataSetId."); + } let body: any; body = JSON.stringify({ ...(input.ColumnGroups !== undefined && { @@ -3811,15 +4213,6 @@ export const serializeAws_restJson1UpdateDataSourceCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/data-sources/{DataSourceId}"; - if (input.DataSourceId !== undefined) { - const labelValue: string = input.DataSourceId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DataSourceId."); - } - resolvedPath = resolvedPath.replace("{DataSourceId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DataSourceId."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -3829,6 +4222,15 @@ export const serializeAws_restJson1UpdateDataSourceCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.DataSourceId !== undefined) { + const labelValue: string = input.DataSourceId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DataSourceId."); + } + resolvedPath = resolvedPath.replace("{DataSourceId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DataSourceId."); + } let body: any; body = JSON.stringify({ ...(input.Credentials !== undefined && { @@ -3963,14 +4365,14 @@ export const serializeAws_restJson1UpdateIAMPolicyAssignmentCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}"; - if (input.AssignmentName !== undefined) { - const labelValue: string = input.AssignmentName; + if (input.Namespace !== undefined) { + const labelValue: string = input.Namespace; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AssignmentName."); + throw new Error("Empty value provided for input HTTP label: Namespace."); } - resolvedPath = resolvedPath.replace("{AssignmentName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{Namespace}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AssignmentName."); + throw new Error("No value provided for input HTTP label: Namespace."); } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; @@ -3981,14 +4383,14 @@ export const serializeAws_restJson1UpdateIAMPolicyAssignmentCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } - if (input.Namespace !== undefined) { - const labelValue: string = input.Namespace; + if (input.AssignmentName !== undefined) { + const labelValue: string = input.AssignmentName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Namespace."); + throw new Error("Empty value provided for input HTTP label: AssignmentName."); } - resolvedPath = resolvedPath.replace("{Namespace}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AssignmentName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: Namespace."); + throw new Error("No value provided for input HTTP label: AssignmentName."); } let body: any; body = JSON.stringify({ @@ -4016,15 +4418,6 @@ export const serializeAws_restJson1UpdateTemplateCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/templates/{TemplateId}"; - if (input.TemplateId !== undefined) { - const labelValue: string = input.TemplateId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: TemplateId."); - } - resolvedPath = resolvedPath.replace("{TemplateId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: TemplateId."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -4034,6 +4427,15 @@ export const serializeAws_restJson1UpdateTemplateCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.TemplateId !== undefined) { + const labelValue: string = input.TemplateId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: TemplateId."); + } + resolvedPath = resolvedPath.replace("{TemplateId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: TemplateId."); + } let body: any; body = JSON.stringify({ ...(input.Name !== undefined && { Name: input.Name }), @@ -4062,6 +4464,15 @@ export const serializeAws_restJson1UpdateTemplateAliasCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}"; + if (input.TemplateId !== undefined) { + const labelValue: string = input.TemplateId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: TemplateId."); + } + resolvedPath = resolvedPath.replace("{TemplateId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: TemplateId."); + } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -4080,15 +4491,6 @@ export const serializeAws_restJson1UpdateTemplateAliasCommand = async ( } else { throw new Error("No value provided for input HTTP label: AliasName."); } - if (input.TemplateId !== undefined) { - const labelValue: string = input.TemplateId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: TemplateId."); - } - resolvedPath = resolvedPath.replace("{TemplateId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: TemplateId."); - } let body: any; body = JSON.stringify({ ...(input.TemplateVersionNumber !== undefined && { TemplateVersionNumber: input.TemplateVersionNumber }), @@ -4113,15 +4515,6 @@ export const serializeAws_restJson1UpdateTemplatePermissionsCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions"; - if (input.TemplateId !== undefined) { - const labelValue: string = input.TemplateId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: TemplateId."); - } - resolvedPath = resolvedPath.replace("{TemplateId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: TemplateId."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -4131,6 +4524,15 @@ export const serializeAws_restJson1UpdateTemplatePermissionsCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.TemplateId !== undefined) { + const labelValue: string = input.TemplateId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: TemplateId."); + } + resolvedPath = resolvedPath.replace("{TemplateId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: TemplateId."); + } let body: any; body = JSON.stringify({ ...(input.GrantPermissions !== undefined && { @@ -4207,6 +4609,15 @@ export const serializeAws_restJson1UpdateThemeAliasCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}"; + if (input.ThemeId !== undefined) { + const labelValue: string = input.ThemeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ThemeId."); + } + resolvedPath = resolvedPath.replace("{ThemeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ThemeId."); + } if (input.AliasName !== undefined) { const labelValue: string = input.AliasName; if (labelValue.length <= 0) { @@ -4225,15 +4636,6 @@ export const serializeAws_restJson1UpdateThemeAliasCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } - if (input.ThemeId !== undefined) { - const labelValue: string = input.ThemeId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ThemeId."); - } - resolvedPath = resolvedPath.replace("{ThemeId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ThemeId."); - } let body: any; body = JSON.stringify({ ...(input.ThemeVersionNumber !== undefined && { ThemeVersionNumber: input.ThemeVersionNumber }), @@ -4258,15 +4660,6 @@ export const serializeAws_restJson1UpdateThemePermissionsCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/accounts/{AwsAccountId}/themes/{ThemeId}/permissions"; - if (input.ThemeId !== undefined) { - const labelValue: string = input.ThemeId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ThemeId."); - } - resolvedPath = resolvedPath.replace("{ThemeId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ThemeId."); - } if (input.AwsAccountId !== undefined) { const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { @@ -4276,6 +4669,15 @@ export const serializeAws_restJson1UpdateThemePermissionsCommand = async ( } else { throw new Error("No value provided for input HTTP label: AwsAccountId."); } + if (input.ThemeId !== undefined) { + const labelValue: string = input.ThemeId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ThemeId."); + } + resolvedPath = resolvedPath.replace("{ThemeId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ThemeId."); + } let body: any; body = JSON.stringify({ ...(input.GrantPermissions !== undefined && { @@ -4314,23 +4716,23 @@ export const serializeAws_restJson1UpdateUserCommand = async ( } else { throw new Error("No value provided for input HTTP label: Namespace."); } - if (input.AwsAccountId !== undefined) { - const labelValue: string = input.AwsAccountId; + if (input.UserName !== undefined) { + const labelValue: string = input.UserName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: AwsAccountId."); + throw new Error("Empty value provided for input HTTP label: UserName."); } - resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{UserName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: AwsAccountId."); + throw new Error("No value provided for input HTTP label: UserName."); } - if (input.UserName !== undefined) { - const labelValue: string = input.UserName; + if (input.AwsAccountId !== undefined) { + const labelValue: string = input.AwsAccountId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: UserName."); + throw new Error("Empty value provided for input HTTP label: AwsAccountId."); } - resolvedPath = resolvedPath.replace("{UserName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{AwsAccountId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: UserName."); + throw new Error("No value provided for input HTTP label: AwsAccountId."); } let body: any; body = JSON.stringify({ @@ -4464,6 +4866,7 @@ export const deserializeAws_restJson1CreateAccountCustomizationCommand = async ( const contents: CreateAccountCustomizationCommandOutput = { $metadata: deserializeMetadata(output), AccountCustomization: undefined, + Arn: undefined, AwsAccountId: undefined, Namespace: undefined, RequestId: undefined, @@ -4472,6 +4875,9 @@ export const deserializeAws_restJson1CreateAccountCustomizationCommand = async ( if (data.AccountCustomization !== undefined && data.AccountCustomization !== null) { contents.AccountCustomization = deserializeAws_restJson1AccountCustomization(data.AccountCustomization, context); } + if (data.Arn !== undefined && data.Arn !== null) { + contents.Arn = data.Arn; + } if (data.AwsAccountId !== undefined && data.AwsAccountId !== null) { contents.AwsAccountId = data.AwsAccountId; } @@ -4569,6 +4975,121 @@ const deserializeAws_restJson1CreateAccountCustomizationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1CreateAnalysisCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateAnalysisCommandError(output, context); + } + const contents: CreateAnalysisCommandOutput = { + $metadata: deserializeMetadata(output), + AnalysisId: undefined, + Arn: undefined, + CreationStatus: undefined, + RequestId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AnalysisId !== undefined && data.AnalysisId !== null) { + contents.AnalysisId = data.AnalysisId; + } + if (data.Arn !== undefined && data.Arn !== null) { + contents.Arn = data.Arn; + } + if (data.CreationStatus !== undefined && data.CreationStatus !== null) { + contents.CreationStatus = data.CreationStatus; + } + if (data.RequestId !== undefined && data.RequestId !== null) { + contents.RequestId = data.RequestId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateAnalysisCommandError = 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 "ConflictException": + case "com.amazonaws.quicksight#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.quicksight#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.quicksight#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceExistsException": + case "com.amazonaws.quicksight#ResourceExistsException": + response = { + ...(await deserializeAws_restJson1ResourceExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.quicksight#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedUserEditionException": + case "com.amazonaws.quicksight#UnsupportedUserEditionException": + response = { + ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(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_restJson1CreateDashboardCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6140,6 +6661,113 @@ const deserializeAws_restJson1DeleteAccountCustomizationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DeleteAnalysisCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteAnalysisCommandError(output, context); + } + const contents: DeleteAnalysisCommandOutput = { + $metadata: deserializeMetadata(output), + AnalysisId: undefined, + Arn: undefined, + DeletionTime: undefined, + RequestId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AnalysisId !== undefined && data.AnalysisId !== null) { + contents.AnalysisId = data.AnalysisId; + } + if (data.Arn !== undefined && data.Arn !== null) { + contents.Arn = data.Arn; + } + if (data.DeletionTime !== undefined && data.DeletionTime !== null) { + contents.DeletionTime = new Date(Math.round(data.DeletionTime * 1000)); + } + if (data.RequestId !== undefined && data.RequestId !== null) { + contents.RequestId = data.RequestId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteAnalysisCommandError = 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 "ConflictException": + case "com.amazonaws.quicksight#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.quicksight#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.quicksight#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.quicksight#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedUserEditionException": + case "com.amazonaws.quicksight#UnsupportedUserEditionException": + response = { + ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(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_restJson1DeleteDashboardCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -7493,6 +8121,7 @@ export const deserializeAws_restJson1DescribeAccountCustomizationCommand = async const contents: DescribeAccountCustomizationCommandOutput = { $metadata: deserializeMetadata(output), AccountCustomization: undefined, + Arn: undefined, AwsAccountId: undefined, Namespace: undefined, RequestId: undefined, @@ -7501,6 +8130,9 @@ export const deserializeAws_restJson1DescribeAccountCustomizationCommand = async if (data.AccountCustomization !== undefined && data.AccountCustomization !== null) { contents.AccountCustomization = deserializeAws_restJson1AccountCustomization(data.AccountCustomization, context); } + if (data.Arn !== undefined && data.Arn !== null) { + contents.Arn = data.Arn; + } if (data.AwsAccountId !== undefined && data.AwsAccountId !== null) { contents.AwsAccountId = data.AwsAccountId; } @@ -7689,21 +8321,21 @@ const deserializeAws_restJson1DescribeAccountSettingsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeDashboardCommand = async ( +export const deserializeAws_restJson1DescribeAnalysisCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeDashboardCommandError(output, context); + return deserializeAws_restJson1DescribeAnalysisCommandError(output, context); } - const contents: DescribeDashboardCommandOutput = { + const contents: DescribeAnalysisCommandOutput = { $metadata: deserializeMetadata(output), - Dashboard: undefined, + Analysis: undefined, RequestId: undefined, }; const data: any = await parseBody(output.body, context); - if (data.Dashboard !== undefined && data.Dashboard !== null) { - contents.Dashboard = deserializeAws_restJson1Dashboard(data.Dashboard, context); + if (data.Analysis !== undefined && data.Analysis !== null) { + contents.Analysis = deserializeAws_restJson1Analysis(data.Analysis, context); } if (data.RequestId !== undefined && data.RequestId !== null) { contents.RequestId = data.RequestId; @@ -7711,10 +8343,10 @@ export const deserializeAws_restJson1DescribeDashboardCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeDashboardCommandError = async ( +const deserializeAws_restJson1DescribeAnalysisCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7788,26 +8420,26 @@ const deserializeAws_restJson1DescribeDashboardCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeDashboardPermissionsCommand = async ( +export const deserializeAws_restJson1DescribeAnalysisPermissionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeDashboardPermissionsCommandError(output, context); + return deserializeAws_restJson1DescribeAnalysisPermissionsCommandError(output, context); } - const contents: DescribeDashboardPermissionsCommandOutput = { + const contents: DescribeAnalysisPermissionsCommandOutput = { $metadata: deserializeMetadata(output), - DashboardArn: undefined, - DashboardId: undefined, + AnalysisArn: undefined, + AnalysisId: undefined, Permissions: undefined, RequestId: undefined, }; const data: any = await parseBody(output.body, context); - if (data.DashboardArn !== undefined && data.DashboardArn !== null) { - contents.DashboardArn = data.DashboardArn; + if (data.AnalysisArn !== undefined && data.AnalysisArn !== null) { + contents.AnalysisArn = data.AnalysisArn; } - if (data.DashboardId !== undefined && data.DashboardId !== null) { - contents.DashboardId = data.DashboardId; + if (data.AnalysisId !== undefined && data.AnalysisId !== null) { + contents.AnalysisId = data.AnalysisId; } if (data.Permissions !== undefined && data.Permissions !== null) { contents.Permissions = deserializeAws_restJson1ResourcePermissionList(data.Permissions, context); @@ -7818,10 +8450,10 @@ export const deserializeAws_restJson1DescribeDashboardPermissionsCommand = async return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeDashboardPermissionsCommandError = async ( +const deserializeAws_restJson1DescribeAnalysisPermissionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -7887,16 +8519,214 @@ const deserializeAws_restJson1DescribeDashboardPermissionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeDataSetCommand = async ( +export const deserializeAws_restJson1DescribeDashboardCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeDataSetCommandError(output, context); + return deserializeAws_restJson1DescribeDashboardCommandError(output, context); } - const contents: DescribeDataSetCommandOutput = { + const contents: DescribeDashboardCommandOutput = { $metadata: deserializeMetadata(output), - DataSet: undefined, + Dashboard: undefined, + RequestId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Dashboard !== undefined && data.Dashboard !== null) { + contents.Dashboard = deserializeAws_restJson1Dashboard(data.Dashboard, context); + } + if (data.RequestId !== undefined && data.RequestId !== null) { + contents.RequestId = data.RequestId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeDashboardCommandError = 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.quicksight#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.quicksight#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.quicksight#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.quicksight#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedUserEditionException": + case "com.amazonaws.quicksight#UnsupportedUserEditionException": + response = { + ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(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_restJson1DescribeDashboardPermissionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeDashboardPermissionsCommandError(output, context); + } + const contents: DescribeDashboardPermissionsCommandOutput = { + $metadata: deserializeMetadata(output), + DashboardArn: undefined, + DashboardId: undefined, + Permissions: undefined, + RequestId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.DashboardArn !== undefined && data.DashboardArn !== null) { + contents.DashboardArn = data.DashboardArn; + } + if (data.DashboardId !== undefined && data.DashboardId !== null) { + contents.DashboardId = data.DashboardId; + } + if (data.Permissions !== undefined && data.Permissions !== null) { + contents.Permissions = deserializeAws_restJson1ResourcePermissionList(data.Permissions, context); + } + if (data.RequestId !== undefined && data.RequestId !== null) { + contents.RequestId = data.RequestId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeDashboardPermissionsCommandError = 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 "InternalFailureException": + case "com.amazonaws.quicksight#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.quicksight#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.quicksight#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedUserEditionException": + case "com.amazonaws.quicksight#UnsupportedUserEditionException": + response = { + ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(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_restJson1DescribeDataSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeDataSetCommandError(output, context); + } + const contents: DescribeDataSetCommandOutput = { + $metadata: deserializeMetadata(output), + DataSet: undefined, RequestId: undefined, }; const data: any = await parseBody(output.body, context); @@ -9658,22 +10488,22 @@ const deserializeAws_restJson1GetSessionEmbedUrlCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListDashboardsCommand = async ( +export const deserializeAws_restJson1ListAnalysesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListDashboardsCommandError(output, context); + return deserializeAws_restJson1ListAnalysesCommandError(output, context); } - const contents: ListDashboardsCommandOutput = { + const contents: ListAnalysesCommandOutput = { $metadata: deserializeMetadata(output), - DashboardSummaryList: undefined, + AnalysisSummaryList: undefined, NextToken: undefined, RequestId: undefined, }; const data: any = await parseBody(output.body, context); - if (data.DashboardSummaryList !== undefined && data.DashboardSummaryList !== null) { - contents.DashboardSummaryList = deserializeAws_restJson1DashboardSummaryList(data.DashboardSummaryList, context); + if (data.AnalysisSummaryList !== undefined && data.AnalysisSummaryList !== null) { + contents.AnalysisSummaryList = deserializeAws_restJson1AnalysisSummaryList(data.AnalysisSummaryList, context); } if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; @@ -9684,10 +10514,10 @@ export const deserializeAws_restJson1ListDashboardsCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1ListDashboardsCommandError = async ( +const deserializeAws_restJson1ListAnalysesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9745,25 +10575,22 @@ const deserializeAws_restJson1ListDashboardsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListDashboardVersionsCommand = async ( +export const deserializeAws_restJson1ListDashboardsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListDashboardVersionsCommandError(output, context); + return deserializeAws_restJson1ListDashboardsCommandError(output, context); } - const contents: ListDashboardVersionsCommandOutput = { + const contents: ListDashboardsCommandOutput = { $metadata: deserializeMetadata(output), - DashboardVersionSummaryList: undefined, + DashboardSummaryList: undefined, NextToken: undefined, RequestId: undefined, }; const data: any = await parseBody(output.body, context); - if (data.DashboardVersionSummaryList !== undefined && data.DashboardVersionSummaryList !== null) { - contents.DashboardVersionSummaryList = deserializeAws_restJson1DashboardVersionSummaryList( - data.DashboardVersionSummaryList, - context - ); + if (data.DashboardSummaryList !== undefined && data.DashboardSummaryList !== null) { + contents.DashboardSummaryList = deserializeAws_restJson1DashboardSummaryList(data.DashboardSummaryList, context); } if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; @@ -9774,10 +10601,10 @@ export const deserializeAws_restJson1ListDashboardVersionsCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1ListDashboardVersionsCommandError = async ( +const deserializeAws_restJson1ListDashboardsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -9802,22 +10629,6 @@ const deserializeAws_restJson1ListDashboardVersionsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidParameterValueException": - case "com.amazonaws.quicksight#InvalidParameterValueException": - response = { - ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ResourceNotFoundException": - case "com.amazonaws.quicksight#ResourceNotFoundException": - response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.quicksight#ThrottlingException": response = { @@ -9851,22 +10662,128 @@ const deserializeAws_restJson1ListDashboardVersionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListDataSetsCommand = async ( +export const deserializeAws_restJson1ListDashboardVersionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListDataSetsCommandError(output, context); + return deserializeAws_restJson1ListDashboardVersionsCommandError(output, context); } - const contents: ListDataSetsCommandOutput = { + const contents: ListDashboardVersionsCommandOutput = { $metadata: deserializeMetadata(output), - DataSetSummaries: undefined, + DashboardVersionSummaryList: undefined, NextToken: undefined, RequestId: undefined, }; const data: any = await parseBody(output.body, context); - if (data.DataSetSummaries !== undefined && data.DataSetSummaries !== null) { - contents.DataSetSummaries = deserializeAws_restJson1DataSetSummaryList(data.DataSetSummaries, context); + if (data.DashboardVersionSummaryList !== undefined && data.DashboardVersionSummaryList !== null) { + contents.DashboardVersionSummaryList = deserializeAws_restJson1DashboardVersionSummaryList( + data.DashboardVersionSummaryList, + context + ); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.RequestId !== undefined && data.RequestId !== null) { + contents.RequestId = data.RequestId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListDashboardVersionsCommandError = 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 "InternalFailureException": + case "com.amazonaws.quicksight#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.quicksight#InvalidNextTokenException": + response = { + ...(await deserializeAws_restJson1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.quicksight#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.quicksight#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedUserEditionException": + case "com.amazonaws.quicksight#UnsupportedUserEditionException": + response = { + ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(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_restJson1ListDataSetsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListDataSetsCommandError(output, context); + } + const contents: ListDataSetsCommandOutput = { + $metadata: deserializeMetadata(output), + DataSetSummaries: undefined, + NextToken: undefined, + RequestId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.DataSetSummaries !== undefined && data.DataSetSummaries !== null) { + contents.DataSetSummaries = deserializeAws_restJson1DataSetSummaryList(data.DataSetSummaries, context); } if (data.NextToken !== undefined && data.NextToken !== null) { contents.NextToken = data.NextToken; @@ -11814,6 +12731,212 @@ const deserializeAws_restJson1RegisterUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1RestoreAnalysisCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1RestoreAnalysisCommandError(output, context); + } + const contents: RestoreAnalysisCommandOutput = { + $metadata: deserializeMetadata(output), + AnalysisId: undefined, + Arn: undefined, + RequestId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AnalysisId !== undefined && data.AnalysisId !== null) { + contents.AnalysisId = data.AnalysisId; + } + if (data.Arn !== undefined && data.Arn !== null) { + contents.Arn = data.Arn; + } + if (data.RequestId !== undefined && data.RequestId !== null) { + contents.RequestId = data.RequestId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1RestoreAnalysisCommandError = 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 "ConflictException": + case "com.amazonaws.quicksight#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.quicksight#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.quicksight#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.quicksight#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedUserEditionException": + case "com.amazonaws.quicksight#UnsupportedUserEditionException": + response = { + ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(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_restJson1SearchAnalysesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1SearchAnalysesCommandError(output, context); + } + const contents: SearchAnalysesCommandOutput = { + $metadata: deserializeMetadata(output), + AnalysisSummaryList: undefined, + NextToken: undefined, + RequestId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.AnalysisSummaryList !== undefined && data.AnalysisSummaryList !== null) { + contents.AnalysisSummaryList = deserializeAws_restJson1AnalysisSummaryList(data.AnalysisSummaryList, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.RequestId !== undefined && data.RequestId !== null) { + contents.RequestId = data.RequestId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1SearchAnalysesCommandError = 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 "InternalFailureException": + case "com.amazonaws.quicksight#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.quicksight#InvalidNextTokenException": + response = { + ...(await deserializeAws_restJson1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.quicksight#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.quicksight#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedUserEditionException": + case "com.amazonaws.quicksight#UnsupportedUserEditionException": + response = { + ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(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_restJson1SearchDashboardsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -11821,29 +12944,219 @@ export const deserializeAws_restJson1SearchDashboardsCommand = async ( if (output.statusCode !== 200 && output.statusCode >= 300) { return deserializeAws_restJson1SearchDashboardsCommandError(output, context); } - const contents: SearchDashboardsCommandOutput = { + const contents: SearchDashboardsCommandOutput = { + $metadata: deserializeMetadata(output), + DashboardSummaryList: undefined, + NextToken: undefined, + RequestId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.DashboardSummaryList !== undefined && data.DashboardSummaryList !== null) { + contents.DashboardSummaryList = deserializeAws_restJson1DashboardSummaryList(data.DashboardSummaryList, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + if (data.RequestId !== undefined && data.RequestId !== null) { + contents.RequestId = data.RequestId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1SearchDashboardsCommandError = 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 "InternalFailureException": + case "com.amazonaws.quicksight#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.quicksight#InvalidNextTokenException": + response = { + ...(await deserializeAws_restJson1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.quicksight#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.quicksight#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedUserEditionException": + case "com.amazonaws.quicksight#UnsupportedUserEditionException": + response = { + ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(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), + RequestId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.RequestId !== undefined && data.RequestId !== null) { + contents.RequestId = data.RequestId; + } + 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 "AccessDeniedException": + case "com.amazonaws.quicksight#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.quicksight#InternalFailureException": + response = { + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValueException": + case "com.amazonaws.quicksight#InvalidParameterValueException": + response = { + ...(await deserializeAws_restJson1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.quicksight#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.quicksight#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), - DashboardSummaryList: undefined, - NextToken: undefined, RequestId: undefined, }; const data: any = await parseBody(output.body, context); - if (data.DashboardSummaryList !== undefined && data.DashboardSummaryList !== null) { - contents.DashboardSummaryList = deserializeAws_restJson1DashboardSummaryList(data.DashboardSummaryList, context); - } - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = data.NextToken; - } if (data.RequestId !== undefined && data.RequestId !== null) { contents.RequestId = data.RequestId; } return Promise.resolve(contents); }; -const deserializeAws_restJson1SearchDashboardsCommandError = async ( +const deserializeAws_restJson1UntagResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11852,18 +13165,18 @@ const deserializeAws_restJson1SearchDashboardsCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "InternalFailureException": - case "com.amazonaws.quicksight#InternalFailureException": + case "AccessDeniedException": + case "com.amazonaws.quicksight#AccessDeniedException": response = { - ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InvalidNextTokenException": - case "com.amazonaws.quicksight#InvalidNextTokenException": + case "InternalFailureException": + case "com.amazonaws.quicksight#InternalFailureException": response = { - ...(await deserializeAws_restJson1InvalidNextTokenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -11892,14 +13205,6 @@ const deserializeAws_restJson1SearchDashboardsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "UnsupportedUserEditionException": - case "com.amazonaws.quicksight#UnsupportedUserEditionException": - response = { - ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -11917,28 +13222,44 @@ const deserializeAws_restJson1SearchDashboardsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1TagResourceCommand = async ( +export const deserializeAws_restJson1UpdateAccountCustomizationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1TagResourceCommandError(output, context); + return deserializeAws_restJson1UpdateAccountCustomizationCommandError(output, context); } - const contents: TagResourceCommandOutput = { + const contents: UpdateAccountCustomizationCommandOutput = { $metadata: deserializeMetadata(output), + AccountCustomization: undefined, + Arn: undefined, + AwsAccountId: undefined, + Namespace: undefined, RequestId: undefined, }; const data: any = await parseBody(output.body, context); + if (data.AccountCustomization !== undefined && data.AccountCustomization !== null) { + contents.AccountCustomization = deserializeAws_restJson1AccountCustomization(data.AccountCustomization, context); + } + if (data.Arn !== undefined && data.Arn !== null) { + contents.Arn = data.Arn; + } + if (data.AwsAccountId !== undefined && data.AwsAccountId !== null) { + contents.AwsAccountId = data.AwsAccountId; + } + if (data.Namespace !== undefined && data.Namespace !== null) { + contents.Namespace = data.Namespace; + } if (data.RequestId !== undefined && data.RequestId !== null) { contents.RequestId = data.RequestId; } return Promise.resolve(contents); }; -const deserializeAws_restJson1TagResourceCommandError = async ( +const deserializeAws_restJson1UpdateAccountCustomizationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -11971,18 +13292,18 @@ const deserializeAws_restJson1TagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.quicksight#LimitExceededException": + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.quicksight#ResourceNotFoundException": + case "ResourceUnavailableException": + case "com.amazonaws.quicksight#ResourceUnavailableException": response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceUnavailableExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -12012,14 +13333,14 @@ const deserializeAws_restJson1TagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UntagResourceCommand = async ( +export const deserializeAws_restJson1UpdateAccountSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UntagResourceCommandError(output, context); + return deserializeAws_restJson1UpdateAccountSettingsCommandError(output, context); } - const contents: UntagResourceCommandOutput = { + const contents: UpdateAccountSettingsCommandOutput = { $metadata: deserializeMetadata(output), RequestId: undefined, }; @@ -12030,10 +13351,10 @@ export const deserializeAws_restJson1UntagResourceCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1UntagResourceCommandError = async ( +const deserializeAws_restJson1UpdateAccountSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12074,6 +13395,14 @@ const deserializeAws_restJson1UntagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceUnavailableException": + case "com.amazonaws.quicksight#ResourceUnavailableException": + response = { + ...(await deserializeAws_restJson1ResourceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.quicksight#ThrottlingException": response = { @@ -12099,40 +13428,40 @@ const deserializeAws_restJson1UntagResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateAccountCustomizationCommand = async ( +export const deserializeAws_restJson1UpdateAnalysisCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateAccountCustomizationCommandError(output, context); + return deserializeAws_restJson1UpdateAnalysisCommandError(output, context); } - const contents: UpdateAccountCustomizationCommandOutput = { + const contents: UpdateAnalysisCommandOutput = { $metadata: deserializeMetadata(output), - AccountCustomization: undefined, - AwsAccountId: undefined, - Namespace: undefined, + AnalysisId: undefined, + Arn: undefined, RequestId: undefined, + UpdateStatus: undefined, }; const data: any = await parseBody(output.body, context); - if (data.AccountCustomization !== undefined && data.AccountCustomization !== null) { - contents.AccountCustomization = deserializeAws_restJson1AccountCustomization(data.AccountCustomization, context); - } - if (data.AwsAccountId !== undefined && data.AwsAccountId !== null) { - contents.AwsAccountId = data.AwsAccountId; + if (data.AnalysisId !== undefined && data.AnalysisId !== null) { + contents.AnalysisId = data.AnalysisId; } - if (data.Namespace !== undefined && data.Namespace !== null) { - contents.Namespace = data.Namespace; + if (data.Arn !== undefined && data.Arn !== null) { + contents.Arn = data.Arn; } if (data.RequestId !== undefined && data.RequestId !== null) { contents.RequestId = data.RequestId; } + if (data.UpdateStatus !== undefined && data.UpdateStatus !== null) { + contents.UpdateStatus = data.UpdateStatus; + } return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateAccountCustomizationCommandError = async ( +const deserializeAws_restJson1UpdateAnalysisCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12141,10 +13470,10 @@ const deserializeAws_restJson1UpdateAccountCustomizationCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.quicksight#AccessDeniedException": + case "ConflictException": + case "com.amazonaws.quicksight#ConflictException": response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -12165,18 +13494,18 @@ const deserializeAws_restJson1UpdateAccountCustomizationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.quicksight#ResourceNotFoundException": + case "ResourceExistsException": + case "com.amazonaws.quicksight#ResourceExistsException": response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceExistsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ResourceUnavailableException": - case "com.amazonaws.quicksight#ResourceUnavailableException": + case "ResourceNotFoundException": + case "com.amazonaws.quicksight#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1ResourceUnavailableExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -12189,6 +13518,14 @@ const deserializeAws_restJson1UpdateAccountCustomizationCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedUserEditionException": + case "com.amazonaws.quicksight#UnsupportedUserEditionException": + response = { + ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -12206,28 +13543,40 @@ const deserializeAws_restJson1UpdateAccountCustomizationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateAccountSettingsCommand = async ( +export const deserializeAws_restJson1UpdateAnalysisPermissionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateAccountSettingsCommandError(output, context); + return deserializeAws_restJson1UpdateAnalysisPermissionsCommandError(output, context); } - const contents: UpdateAccountSettingsCommandOutput = { + const contents: UpdateAnalysisPermissionsCommandOutput = { $metadata: deserializeMetadata(output), + AnalysisArn: undefined, + AnalysisId: undefined, + Permissions: undefined, RequestId: undefined, }; const data: any = await parseBody(output.body, context); + if (data.AnalysisArn !== undefined && data.AnalysisArn !== null) { + contents.AnalysisArn = data.AnalysisArn; + } + if (data.AnalysisId !== undefined && data.AnalysisId !== null) { + contents.AnalysisId = data.AnalysisId; + } + if (data.Permissions !== undefined && data.Permissions !== null) { + contents.Permissions = deserializeAws_restJson1ResourcePermissionList(data.Permissions, context); + } if (data.RequestId !== undefined && data.RequestId !== null) { contents.RequestId = data.RequestId; } return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateAccountSettingsCommandError = async ( +const deserializeAws_restJson1UpdateAnalysisPermissionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -12236,10 +13585,10 @@ const deserializeAws_restJson1UpdateAccountSettingsCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.quicksight#AccessDeniedException": + case "ConflictException": + case "com.amazonaws.quicksight#ConflictException": response = { - ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -12268,18 +13617,18 @@ const deserializeAws_restJson1UpdateAccountSettingsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceUnavailableException": - case "com.amazonaws.quicksight#ResourceUnavailableException": + case "ThrottlingException": + case "com.amazonaws.quicksight#ThrottlingException": response = { - ...(await deserializeAws_restJson1ResourceUnavailableExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.quicksight#ThrottlingException": + case "UnsupportedUserEditionException": + case "com.amazonaws.quicksight#UnsupportedUserEditionException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1UnsupportedUserEditionExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -14475,6 +15824,38 @@ const serializeAws_restJson1AmazonElasticsearchParameters = ( }; }; +const serializeAws_restJson1AnalysisSearchFilter = (input: AnalysisSearchFilter, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Operator !== undefined && { Operator: input.Operator }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_restJson1AnalysisSearchFilterList = ( + input: AnalysisSearchFilter[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AnalysisSearchFilter(entry, context)); +}; + +const serializeAws_restJson1AnalysisSourceEntity = (input: AnalysisSourceEntity, context: __SerdeContext): any => { + return { + ...(input.SourceTemplate !== undefined && { + SourceTemplate: serializeAws_restJson1AnalysisSourceTemplate(input.SourceTemplate, context), + }), + }; +}; + +const serializeAws_restJson1AnalysisSourceTemplate = (input: AnalysisSourceTemplate, context: __SerdeContext): any => { + return { + ...(input.Arn !== undefined && { Arn: input.Arn }), + ...(input.DataSetReferences !== undefined && { + DataSetReferences: serializeAws_restJson1DataSetReferenceList(input.DataSetReferences, context), + }), + }; +}; + const serializeAws_restJson1AthenaParameters = (input: AthenaParameters, context: __SerdeContext): any => { return { ...(input.WorkGroup !== undefined && { WorkGroup: input.WorkGroup }), @@ -15345,6 +16726,68 @@ const deserializeAws_restJson1AmazonElasticsearchParameters = ( } as any; }; +const deserializeAws_restJson1Analysis = (output: any, context: __SerdeContext): Analysis => { + return { + AnalysisId: output.AnalysisId !== undefined && output.AnalysisId !== null ? output.AnalysisId : undefined, + 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, + DataSetArns: + output.DataSetArns !== undefined && output.DataSetArns !== null + ? deserializeAws_restJson1DataSetArnsList(output.DataSetArns, context) + : undefined, + Errors: + output.Errors !== undefined && output.Errors !== null + ? deserializeAws_restJson1AnalysisErrorList(output.Errors, context) + : undefined, + LastUpdatedTime: + output.LastUpdatedTime !== undefined && output.LastUpdatedTime !== null + ? new Date(Math.round(output.LastUpdatedTime * 1000)) + : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Sheets: + output.Sheets !== undefined && output.Sheets !== null + ? deserializeAws_restJson1SheetList(output.Sheets, context) + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + ThemeArn: output.ThemeArn !== undefined && output.ThemeArn !== null ? output.ThemeArn : undefined, + } as any; +}; + +const deserializeAws_restJson1AnalysisError = (output: any, context: __SerdeContext): AnalysisError => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_restJson1AnalysisErrorList = (output: any, context: __SerdeContext): AnalysisError[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AnalysisError(entry, context)); +}; + +const deserializeAws_restJson1AnalysisSummary = (output: any, context: __SerdeContext): AnalysisSummary => { + return { + AnalysisId: output.AnalysisId !== undefined && output.AnalysisId !== null ? output.AnalysisId : undefined, + 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, + LastUpdatedTime: + output.LastUpdatedTime !== undefined && output.LastUpdatedTime !== null + ? new Date(Math.round(output.LastUpdatedTime * 1000)) + : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_restJson1AnalysisSummaryList = (output: any, context: __SerdeContext): AnalysisSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AnalysisSummary(entry, context)); +}; + const deserializeAws_restJson1AthenaParameters = (output: any, context: __SerdeContext): AthenaParameters => { return { WorkGroup: output.WorkGroup !== undefined && output.WorkGroup !== null ? output.WorkGroup : undefined, @@ -15590,9 +17033,14 @@ const deserializeAws_restJson1DashboardVersion = (output: any, context: __SerdeC output.Errors !== undefined && output.Errors !== null ? deserializeAws_restJson1DashboardErrorList(output.Errors, context) : undefined, + Sheets: + output.Sheets !== undefined && output.Sheets !== null + ? deserializeAws_restJson1SheetList(output.Sheets, context) + : undefined, SourceEntityArn: output.SourceEntityArn !== undefined && output.SourceEntityArn !== null ? output.SourceEntityArn : undefined, Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + ThemeArn: output.ThemeArn !== undefined && output.ThemeArn !== null ? output.ThemeArn : undefined, VersionNumber: output.VersionNumber !== undefined && output.VersionNumber !== null ? output.VersionNumber : undefined, } as any; @@ -16324,6 +17772,17 @@ const deserializeAws_restJson1ServiceNowParameters = (output: any, context: __Se } as any; }; +const deserializeAws_restJson1Sheet = (output: any, context: __SerdeContext): Sheet => { + return { + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + SheetId: output.SheetId !== undefined && output.SheetId !== null ? output.SheetId : undefined, + } as any; +}; + +const deserializeAws_restJson1SheetList = (output: any, context: __SerdeContext): Sheet[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Sheet(entry, context)); +}; + const deserializeAws_restJson1SheetStyle = (output: any, context: __SerdeContext): SheetStyle => { return { Tile: @@ -16472,9 +17931,14 @@ const deserializeAws_restJson1TemplateVersion = (output: any, context: __SerdeCo output.Errors !== undefined && output.Errors !== null ? deserializeAws_restJson1TemplateErrorList(output.Errors, context) : undefined, + Sheets: + output.Sheets !== undefined && output.Sheets !== null + ? deserializeAws_restJson1SheetList(output.Sheets, context) + : undefined, SourceEntityArn: output.SourceEntityArn !== undefined && output.SourceEntityArn !== null ? output.SourceEntityArn : undefined, Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + ThemeArn: output.ThemeArn !== undefined && output.ThemeArn !== null ? output.ThemeArn : undefined, VersionNumber: output.VersionNumber !== undefined && output.VersionNumber !== null ? output.VersionNumber : undefined, } as any; diff --git a/clients/client-ram/models/models_0.ts b/clients/client-ram/models/models_0.ts index 24026e7b4e20..c048087017f3 100644 --- a/clients/client-ram/models/models_0.ts +++ b/clients/client-ram/models/models_0.ts @@ -32,28 +32,11 @@ export type ResourceShareAssociationStatus = *

                                                          Describes an association with a resource share.

                                                          */ export interface ResourceShareAssociation { - /** - *

                                                          The name of the resource share.

                                                          - */ - resourceShareName?: string; - /** *

                                                          A message about the status of the association.

                                                          */ statusMessage?: string; - /** - *

                                                          The status of the association.

                                                          - */ - status?: ResourceShareAssociationStatus | string; - - /** - *

                                                          The associated entity. For resource associations, this is the ARN of the resource. - * For principal associations, this is the ID of an AWS account or the ARN of an OU or - * organization from AWS Organizations.

                                                          - */ - associatedEntity?: string; - /** *

                                                          The association type.

                                                          */ @@ -65,9 +48,9 @@ export interface ResourceShareAssociation { external?: boolean; /** - *

                                                          The time when the association was last updated.

                                                          + *

                                                          The name of the resource share.

                                                          */ - lastUpdatedTime?: Date; + resourceShareName?: string; /** *

                                                          The time when the association was created.

                                                          @@ -78,6 +61,23 @@ export interface ResourceShareAssociation { *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ resourceShareArn?: string; + + /** + *

                                                          The status of the association.

                                                          + */ + status?: ResourceShareAssociationStatus | string; + + /** + *

                                                          The associated entity. For resource associations, this is the ARN of the resource. + * For principal associations, this is the ID of an AWS account or the ARN of an OU or + * organization from AWS Organizations.

                                                          + */ + associatedEntity?: string; + + /** + *

                                                          The time when the association was last updated.

                                                          + */ + lastUpdatedTime?: Date; } export namespace ResourceShareAssociation { @@ -93,26 +93,26 @@ export type ResourceShareInvitationStatus = "ACCEPTED" | "EXPIRED" | "PENDING" | */ export interface ResourceShareInvitation { /** - *

                                                          To view the resources associated with a pending resource share invitation, use - * - * ListPendingInvitationResources.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ - resourceShareAssociations?: ResourceShareAssociation[]; + resourceShareArn?: string; /** - *

                                                          The date and time when the invitation was sent.

                                                          + *

                                                          The ID of the AWS account that received the invitation.

                                                          */ - invitationTimestamp?: Date; + receiverAccountId?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          + *

                                                          To view the resources associated with a pending resource share invitation, use + * + * ListPendingInvitationResources.

                                                          */ - resourceShareArn?: string; + resourceShareAssociations?: ResourceShareAssociation[]; /** - *

                                                          The name of the resource share.

                                                          + *

                                                          The date and time when the invitation was sent.

                                                          */ - resourceShareName?: string; + invitationTimestamp?: Date; /** *

                                                          The Amazon Resource Name (ARN) of the invitation.

                                                          @@ -120,9 +120,9 @@ export interface ResourceShareInvitation { resourceShareInvitationArn?: string; /** - *

                                                          The ID of the AWS account that received the invitation.

                                                          + *

                                                          The status of the invitation.

                                                          */ - receiverAccountId?: string; + status?: ResourceShareInvitationStatus | string; /** *

                                                          The ID of the AWS account that sent the invitation.

                                                          @@ -130,9 +130,9 @@ export interface ResourceShareInvitation { senderAccountId?: string; /** - *

                                                          The status of the invitation.

                                                          + *

                                                          The name of the resource share.

                                                          */ - status?: ResourceShareInvitationStatus | string; + resourceShareName?: string; } export namespace ResourceShareInvitation { @@ -312,24 +312,24 @@ export namespace ServiceUnavailableException { export interface AssociateResourceShareRequest { /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ - clientToken?: string; + resourceShareArn: string | undefined; /** - *

                                                          The principals.

                                                          + *

                                                          The Amazon Resource Names (ARN) of the resources.

                                                          */ - principals?: string[]; + resourceArns?: string[]; /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          + *

                                                          The principals.

                                                          */ - resourceShareArn: string | undefined; + principals?: string[]; /** - *

                                                          The Amazon Resource Names (ARN) of the resources.

                                                          + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ - resourceArns?: string[]; + clientToken?: string; } export namespace AssociateResourceShareRequest { @@ -340,14 +340,14 @@ export namespace AssociateResourceShareRequest { export interface AssociateResourceShareResponse { /** - *

                                                          Information about the associations.

                                                          + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ - resourceShareAssociations?: ResourceShareAssociation[]; + clientToken?: string; /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          + *

                                                          Information about the associations.

                                                          */ - clientToken?: string; + resourceShareAssociations?: ResourceShareAssociation[]; } export namespace AssociateResourceShareResponse { @@ -418,26 +418,26 @@ export namespace UnknownResourceException { export interface AssociateResourceSharePermissionRequest { /** - *

                                                          The ARN of the AWS RAM permission to associate with the resource share.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ - permissionArn: string | undefined; + resourceShareArn: string | undefined; /** *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ clientToken?: string; + /** + *

                                                          The ARN of the AWS RAM permission to associate with the resource share.

                                                          + */ + permissionArn: string | undefined; + /** *

                                                          Indicates whether the permission should replace the permissions that are currently * associated with the resource share. Use true to replace the current permissions. * Use false to add the permission to the current permission.

                                                          */ replace?: boolean; - - /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          - */ - resourceShareArn: string | undefined; } export namespace AssociateResourceSharePermissionRequest { @@ -487,25 +487,15 @@ export namespace Tag { export interface CreateResourceShareRequest { /** - *

                                                          One or more tags.

                                                          - */ - tags?: Tag[]; - - /** - *

                                                          The Amazon Resource Names (ARN) of the resources to associate with the resource share.

                                                          + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ - resourceArns?: string[]; + clientToken?: string; /** *

                                                          The name of the resource share.

                                                          */ name: string | undefined; - /** - *

                                                          Indicates whether principals outside your AWS organization can be associated with a resource share.

                                                          - */ - allowExternalPrincipals?: boolean; - /** *

                                                          The principals to associate with the resource share. The possible values are IDs of AWS accounts, * the ARN of an OU or organization from AWS Organizations.

                                                          @@ -520,9 +510,19 @@ export interface CreateResourceShareRequest { permissionArns?: string[]; /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          + *

                                                          The Amazon Resource Names (ARN) of the resources to associate with the resource share.

                                                          */ - clientToken?: string; + resourceArns?: string[]; + + /** + *

                                                          One or more tags.

                                                          + */ + tags?: Tag[]; + + /** + *

                                                          Indicates whether principals outside your AWS organization can be associated with a resource share.

                                                          + */ + allowExternalPrincipals?: boolean; } export namespace CreateResourceShareRequest { @@ -540,24 +540,24 @@ export type ResourceShareStatus = "ACTIVE" | "DELETED" | "DELETING" | "FAILED" | */ export interface ResourceShare { /** - *

                                                          The tags for the resource share.

                                                          + *

                                                          The time when the resource share was last updated.

                                                          */ - tags?: Tag[]; + lastUpdatedTime?: Date; /** - *

                                                          The time when the resource share was created.

                                                          + *

                                                          The name of the resource share.

                                                          */ - creationTime?: Date; + name?: string; /** - *

                                                          Indicates whether principals outside your AWS organization can be associated with a resource share.

                                                          + *

                                                          The ID of the AWS account that owns the resource share.

                                                          */ - allowExternalPrincipals?: boolean; + owningAccountId?: string; /** - *

                                                          The name of the resource share.

                                                          + *

                                                          A message about the status of the resource share.

                                                          */ - name?: string; + statusMessage?: string; /** *

                                                          Indicates how the resource share was created. Possible values include:

                                                          @@ -586,29 +586,29 @@ export interface ResourceShare { featureSet?: ResourceShareFeatureSet | string; /** - *

                                                          The status of the resource share.

                                                          + *

                                                          The time when the resource share was created.

                                                          */ - status?: ResourceShareStatus | string; + creationTime?: Date; /** - *

                                                          A message about the status of the resource share.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ - statusMessage?: string; + resourceShareArn?: string; /** - *

                                                          The ID of the AWS account that owns the resource share.

                                                          + *

                                                          The tags for the resource share.

                                                          */ - owningAccountId?: string; + tags?: Tag[]; /** - *

                                                          The time when the resource share was last updated.

                                                          + *

                                                          The status of the resource share.

                                                          */ - lastUpdatedTime?: Date; + status?: ResourceShareStatus | string; /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          + *

                                                          Indicates whether principals outside your AWS organization can be associated with a resource share.

                                                          */ - resourceShareArn?: string; + allowExternalPrincipals?: boolean; } export namespace ResourceShare { @@ -652,14 +652,14 @@ export namespace TagPolicyViolationException { export interface DeleteResourceShareRequest { /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ - clientToken?: string; + resourceShareArn: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ - resourceShareArn: string | undefined; + clientToken?: string; } export namespace DeleteResourceShareRequest { @@ -687,6 +687,11 @@ export namespace DeleteResourceShareResponse { } export interface DisassociateResourceShareRequest { + /** + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          + */ + resourceShareArn: string | undefined; + /** *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ @@ -701,11 +706,6 @@ export interface DisassociateResourceShareRequest { *

                                                          The Amazon Resource Names (ARNs) of the resources.

                                                          */ resourceArns?: string[]; - - /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          - */ - resourceShareArn: string | undefined; } export namespace DisassociateResourceShareRequest { @@ -716,14 +716,14 @@ export namespace DisassociateResourceShareRequest { export interface DisassociateResourceShareResponse { /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          + *

                                                          Information about the associations.

                                                          */ - clientToken?: string; + resourceShareAssociations?: ResourceShareAssociation[]; /** - *

                                                          Information about the associations.

                                                          + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ - resourceShareAssociations?: ResourceShareAssociation[]; + clientToken?: string; } export namespace DisassociateResourceShareResponse { @@ -733,11 +733,6 @@ export namespace DisassociateResourceShareResponse { } export interface DisassociateResourceSharePermissionRequest { - /** - *

                                                          The ARN of the permission to disassociate from the resource share.

                                                          - */ - permissionArn: string | undefined; - /** *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ @@ -747,6 +742,11 @@ export interface DisassociateResourceSharePermissionRequest { *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ clientToken?: string; + + /** + *

                                                          The ARN of the permission to disassociate from the resource share.

                                                          + */ + permissionArn: string | undefined; } export namespace DisassociateResourceSharePermissionRequest { @@ -757,14 +757,14 @@ export namespace DisassociateResourceSharePermissionRequest { export interface DisassociateResourceSharePermissionResponse { /** - *

                                                          Indicates whether the request succeeded.

                                                          + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ - returnValue?: boolean; + clientToken?: string; /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          + *

                                                          Indicates whether the request succeeded.

                                                          */ - clientToken?: string; + returnValue?: boolean; } export namespace DisassociateResourceSharePermissionResponse { @@ -796,14 +796,14 @@ export namespace EnableSharingWithAwsOrganizationResponse { export interface GetPermissionRequest { /** - *

                                                          The ARN of the permission.

                                                          + *

                                                          The identifier for the version of the permission.

                                                          */ - permissionArn: string | undefined; + permissionVersion?: number; /** - *

                                                          The identifier for the version of the permission.

                                                          + *

                                                          The ARN of the permission.

                                                          */ - permissionVersion?: number; + permissionArn: string | undefined; } export namespace GetPermissionRequest { @@ -817,37 +817,36 @@ export namespace GetPermissionRequest { */ export interface ResourceSharePermissionDetail { /** - *

                                                          The identifier for the version of the permission that is set as the - * default version.

                                                          + *

                                                          The identifier for the version of the permission.

                                                          */ - defaultVersion?: boolean; + version?: string; /** - *

                                                          The date and time when the permission was last updated.

                                                          + *

                                                          The date and time when the permission was created.

                                                          */ - lastUpdatedTime?: Date; + creationTime?: Date; /** - *

                                                          The permission's effect and actions in JSON format. The effect indicates whether - * the actions are allowed or denied. The actions list the API actions to - * which the principal is granted or denied access.

                                                          + *

                                                          The resource type to which the permission applies.

                                                          */ - permission?: string; + resourceType?: string; /** - *

                                                          The date and time when the permission was created.

                                                          + *

                                                          The date and time when the permission was last updated.

                                                          */ - creationTime?: Date; + lastUpdatedTime?: Date; /** - *

                                                          The resource type to which the permission applies.

                                                          + *

                                                          The permission's effect and actions in JSON format. The effect indicates whether + * the actions are allowed or denied. The actions list the API actions to + * which the principal is granted or denied access.

                                                          */ - resourceType?: string; + permission?: string; /** - *

                                                          The identifier for the version of the permission.

                                                          + *

                                                          The name of the permission.

                                                          */ - version?: string; + name?: string; /** *

                                                          The ARN of the permission.

                                                          @@ -855,9 +854,10 @@ export interface ResourceSharePermissionDetail { arn?: string; /** - *

                                                          The name of the permission.

                                                          + *

                                                          The identifier for the version of the permission that is set as the + * default version.

                                                          */ - name?: string; + defaultVersion?: boolean; } export namespace ResourceSharePermissionDetail { @@ -881,9 +881,9 @@ export namespace GetPermissionResponse { export interface GetResourcePoliciesRequest { /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The principal.

                                                          */ - nextToken?: string; + principal?: string; /** *

                                                          The Amazon Resource Names (ARN) of the resources.

                                                          @@ -897,9 +897,9 @@ export interface GetResourcePoliciesRequest { maxResults?: number; /** - *

                                                          The principal.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - principal?: string; + nextToken?: string; } export namespace GetResourcePoliciesRequest { @@ -910,14 +910,14 @@ export namespace GetResourcePoliciesRequest { export interface GetResourcePoliciesResponse { /** - *

                                                          A key policy document, in JSON format.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          */ - policies?: string[]; + nextToken?: string; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          A key policy document, in JSON format.

                                                          */ - nextToken?: string; + policies?: string[]; } export namespace GetResourcePoliciesResponse { @@ -963,15 +963,22 @@ export interface GetResourceShareAssociationsRequest { associationStatus?: ResourceShareAssociationStatus | string; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The principal. You cannot specify this parameter if the association type is + * RESOURCE.

                                                          */ - nextToken?: string; + principal?: string; /** *

                                                          The Amazon Resource Names (ARN) of the resource shares.

                                                          */ resourceShareArns?: string[]; + /** + *

                                                          The Amazon Resource Name (ARN) of the resource. You cannot specify this parameter if the + * association type is PRINCIPAL.

                                                          + */ + resourceArn?: string; + /** *

                                                          The association type. Specify PRINCIPAL to list the principals that are * associated with the specified resource share. Specify RESOURCE to list @@ -979,12 +986,6 @@ export interface GetResourceShareAssociationsRequest { */ associationType: ResourceShareAssociationType | string | undefined; - /** - *

                                                          The principal. You cannot specify this parameter if the association type is - * RESOURCE.

                                                          - */ - principal?: string; - /** *

                                                          The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          @@ -992,10 +993,9 @@ export interface GetResourceShareAssociationsRequest { maxResults?: number; /** - *

                                                          The Amazon Resource Name (ARN) of the resource. You cannot specify this parameter if the - * association type is PRINCIPAL.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - resourceArn?: string; + nextToken?: string; } export namespace GetResourceShareAssociationsRequest { @@ -1006,14 +1006,14 @@ export namespace GetResourceShareAssociationsRequest { export interface GetResourceShareAssociationsResponse { /** - *

                                                          Information about the associations.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          */ - resourceShareAssociations?: ResourceShareAssociation[]; + nextToken?: string; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          Information about the associations.

                                                          */ - nextToken?: string; + resourceShareAssociations?: ResourceShareAssociation[]; } export namespace GetResourceShareAssociationsResponse { @@ -1024,25 +1024,25 @@ export namespace GetResourceShareAssociationsResponse { export interface GetResourceShareInvitationsRequest { /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - maxResults?: number; + nextToken?: string; /** - *

                                                          The Amazon Resource Names (ARN) of the invitations.

                                                          + *

                                                          The Amazon Resource Names (ARN) of the resource shares.

                                                          */ - resourceShareInvitationArns?: string[]; + resourceShareArns?: string[]; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The Amazon Resource Names (ARN) of the invitations.

                                                          */ - nextToken?: string; + resourceShareInvitationArns?: string[]; /** - *

                                                          The Amazon Resource Names (ARN) of the resource shares.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ - resourceShareArns?: string[]; + maxResults?: number; } export namespace GetResourceShareInvitationsRequest { @@ -1053,14 +1053,14 @@ export namespace GetResourceShareInvitationsRequest { export interface GetResourceShareInvitationsResponse { /** - *

                                                          Information about the invitations.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          */ - resourceShareInvitations?: ResourceShareInvitation[]; + nextToken?: string; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          Information about the invitations.

                                                          */ - nextToken?: string; + resourceShareInvitations?: ResourceShareInvitation[]; } export namespace GetResourceShareInvitationsResponse { @@ -1094,14 +1094,14 @@ export enum ResourceOwner { */ export interface TagFilter { /** - *

                                                          The tag key.

                                                          + *

                                                          The tag values.

                                                          */ - tagKey?: string; + tagValues?: string[]; /** - *

                                                          The tag values.

                                                          + *

                                                          The tag key.

                                                          */ - tagValues?: string[]; + tagKey?: string; } export namespace TagFilter { @@ -1112,40 +1112,40 @@ export namespace TagFilter { export interface GetResourceSharesRequest { /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          The Amazon Resource Names (ARN) of the resource shares.

                                                          */ - maxResults?: number; + resourceShareArns?: string[]; /** - *

                                                          The status of the resource share.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - resourceShareStatus?: ResourceShareStatus | string; + nextToken?: string; /** - *

                                                          The Amazon Resource Names (ARN) of the resource shares.

                                                          + *

                                                          The type of owner.

                                                          */ - resourceShareArns?: string[]; + resourceOwner: ResourceOwner | string | undefined; /** - *

                                                          The type of owner.

                                                          + *

                                                          The name of the resource share.

                                                          */ - resourceOwner: ResourceOwner | string | undefined; + name?: string; /** - *

                                                          One or more tag filters.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ - tagFilters?: TagFilter[]; + maxResults?: number; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          One or more tag filters.

                                                          */ - nextToken?: string; + tagFilters?: TagFilter[]; /** - *

                                                          The name of the resource share.

                                                          + *

                                                          The status of the resource share.

                                                          */ - name?: string; + resourceShareStatus?: ResourceShareStatus | string; } export namespace GetResourceSharesRequest { @@ -1174,10 +1174,9 @@ export namespace GetResourceSharesResponse { export interface ListPendingInvitationResourcesRequest { /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - maxResults?: number; + nextToken?: string; /** *

                                                          The Amazon Resource Name (ARN) of the invitation.

                                                          @@ -1185,9 +1184,10 @@ export interface ListPendingInvitationResourcesRequest { resourceShareInvitationArn: string | undefined; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ - nextToken?: string; + maxResults?: number; } export namespace ListPendingInvitationResourcesRequest { @@ -1203,24 +1203,25 @@ export type ResourceStatus = "AVAILABLE" | "LIMIT_EXCEEDED" | "PENDING" | "UNAVA */ export interface Resource { /** - *

                                                          The time when the association was last updated.

                                                          + *

                                                          The ARN of the resource group. This value is returned only if the resource is a resource + * group.

                                                          */ - lastUpdatedTime?: Date; + resourceGroupArn?: string; /** - *

                                                          The status of the resource.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ - status?: ResourceStatus | string; + resourceShareArn?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the resource.

                                                          + *

                                                          The time when the resource was associated with the resource share.

                                                          */ - arn?: string; + creationTime?: Date; /** - *

                                                          A message about the status of the resource.

                                                          + *

                                                          The status of the resource.

                                                          */ - statusMessage?: string; + status?: ResourceStatus | string; /** *

                                                          The resource type.

                                                          @@ -1228,20 +1229,19 @@ export interface Resource { type?: string; /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          + *

                                                          A message about the status of the resource.

                                                          */ - resourceShareArn?: string; + statusMessage?: string; /** - *

                                                          The time when the resource was associated with the resource share.

                                                          + *

                                                          The time when the association was last updated.

                                                          */ - creationTime?: Date; + lastUpdatedTime?: Date; /** - *

                                                          The ARN of the resource group. This value is returned only if the resource is a resource - * group.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource.

                                                          */ - resourceGroupArn?: string; + arn?: string; } export namespace Resource { @@ -1252,14 +1252,14 @@ export namespace Resource { export interface ListPendingInvitationResourcesResponse { /** - *

                                                          Information about the resources included the resource share.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          */ - resources?: Resource[]; + nextToken?: string; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          Information about the resources included the resource share.

                                                          */ - nextToken?: string; + resources?: Resource[]; } export namespace ListPendingInvitationResourcesResponse { @@ -1284,6 +1284,11 @@ export namespace MissingRequiredParameterException { } export interface ListPermissionsRequest { + /** + *

                                                          The token for the next page of results.

                                                          + */ + nextToken?: string; + /** *

                                                          The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          @@ -1295,11 +1300,6 @@ export interface ListPermissionsRequest { * permissions that apply to EC2 subnets, specify ec2:Subnet.

                                                          */ resourceType?: string; - - /** - *

                                                          The token for the next page of results.

                                                          - */ - nextToken?: string; } export namespace ListPermissionsRequest { @@ -1313,44 +1313,44 @@ export namespace ListPermissionsRequest { */ export interface ResourceSharePermissionSummary { /** - *

                                                          The current status of the permission.

                                                          + *

                                                          The identifier for the version of the permission that is set as the default version.

                                                          */ - status?: string; + defaultVersion?: boolean; /** - *

                                                          The name of the permission.

                                                          + *

                                                          The date and time when the permission was last updated.

                                                          */ - name?: string; + lastUpdatedTime?: Date; /** - *

                                                          The date and time when the permission was created.

                                                          + *

                                                          The current status of the permission.

                                                          */ - creationTime?: Date; + status?: string; /** - *

                                                          The identifier for the version of the permission that is set as the default version.

                                                          + *

                                                          The date and time when the permission was created.

                                                          */ - defaultVersion?: boolean; + creationTime?: Date; /** - *

                                                          The ARN of the permission.

                                                          + *

                                                          The identifier for the version of the permission.

                                                          */ - arn?: string; + version?: string; /** - *

                                                          The type of resource to which the permission applies.

                                                          + *

                                                          The name of the permission.

                                                          */ - resourceType?: string; + name?: string; /** - *

                                                          The identifier for the version of the permission.

                                                          + *

                                                          The ARN of the permission.

                                                          */ - version?: string; + arn?: string; /** - *

                                                          The date and time when the permission was last updated.

                                                          + *

                                                          The type of resource to which the permission applies.

                                                          */ - lastUpdatedTime?: Date; + resourceType?: string; } export namespace ResourceSharePermissionSummary { @@ -1361,14 +1361,14 @@ export namespace ResourceSharePermissionSummary { export interface ListPermissionsResponse { /** - *

                                                          Information about the permissions.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          */ - permissions?: ResourceSharePermissionSummary[]; + nextToken?: string; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          Information about the permissions.

                                                          */ - nextToken?: string; + permissions?: ResourceSharePermissionSummary[]; } export namespace ListPermissionsResponse { @@ -1379,24 +1379,27 @@ export namespace ListPermissionsResponse { export interface ListPrincipalsRequest { /** - *

                                                          The principals.

                                                          + *

                                                          The Amazon Resource Names (ARN) of the resource shares.

                                                          */ - principals?: string[]; + resourceShareArns?: string[]; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The resource type.

                                                          + *

                                                          Valid values: codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | license-manager:LicenseConfiguration I resource-groups:Group | + * rds:Cluster | route53resolver:ResolverRule + *

                                                          */ - nextToken?: string; + resourceType?: string; /** - *

                                                          The Amazon Resource Names (ARN) of the resource shares.

                                                          + *

                                                          The type of owner.

                                                          */ - resourceShareArns?: string[]; + resourceOwner: ResourceOwner | string | undefined; /** - *

                                                          The type of owner.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - resourceOwner: ResourceOwner | string | undefined; + nextToken?: string; /** *

                                                          The maximum number of results to return with a single call. @@ -1410,12 +1413,9 @@ export interface ListPrincipalsRequest { resourceArn?: string; /** - *

                                                          The resource type.

                                                          - *

                                                          Valid values: codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | license-manager:LicenseConfiguration I resource-groups:Group | - * rds:Cluster | route53resolver:ResolverRule - *

                                                          + *

                                                          The principals.

                                                          */ - resourceType?: string; + principals?: string[]; } export namespace ListPrincipalsRequest { @@ -1429,29 +1429,29 @@ export namespace ListPrincipalsRequest { */ export interface Principal { /** - *

                                                          The time when the association was last updated.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ - lastUpdatedTime?: Date; + resourceShareArn?: string; /** - *

                                                          The ID of the principal.

                                                          + *

                                                          Indicates whether the principal belongs to the same AWS organization as the AWS account that owns the resource share.

                                                          */ - id?: string; + external?: boolean; /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          + *

                                                          The time when the principal was associated with the resource share.

                                                          */ - resourceShareArn?: string; + creationTime?: Date; /** - *

                                                          The time when the principal was associated with the resource share.

                                                          + *

                                                          The ID of the principal.

                                                          */ - creationTime?: Date; + id?: string; /** - *

                                                          Indicates whether the principal belongs to the same AWS organization as the AWS account that owns the resource share.

                                                          + *

                                                          The time when the association was last updated.

                                                          */ - external?: boolean; + lastUpdatedTime?: Date; } export namespace Principal { @@ -1495,9 +1495,10 @@ export namespace InvalidResourceTypeException { export interface ListResourcesRequest { /** - *

                                                          The Amazon Resource Names (ARN) of the resource shares.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ - resourceShareArns?: string[]; + maxResults?: number; /** *

                                                          The principal.

                                                          @@ -1513,25 +1514,24 @@ export interface ListResourcesRequest { resourceType?: string; /** - *

                                                          The type of owner.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - resourceOwner: ResourceOwner | string | undefined; + nextToken?: string; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          The Amazon Resource Names (ARN) of the resources.

                                                          */ - maxResults?: number; + resourceArns?: string[]; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The Amazon Resource Names (ARN) of the resource shares.

                                                          */ - nextToken?: string; + resourceShareArns?: string[]; /** - *

                                                          The Amazon Resource Names (ARN) of the resources.

                                                          + *

                                                          The type of owner.

                                                          */ - resourceArns?: string[]; + resourceOwner: ResourceOwner | string | undefined; } export namespace ListResourcesRequest { @@ -1560,9 +1560,10 @@ export namespace ListResourcesResponse { export interface ListResourceSharePermissionsRequest { /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ - nextToken?: string; + maxResults?: number; /** *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          @@ -1570,10 +1571,9 @@ export interface ListResourceSharePermissionsRequest { resourceShareArn: string | undefined; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - maxResults?: number; + nextToken?: string; } export namespace ListResourceSharePermissionsRequest { @@ -1601,16 +1601,16 @@ export namespace ListResourceSharePermissionsResponse { } export interface ListResourceTypesRequest { - /** - *

                                                          The token for the next page of results.

                                                          - */ - nextToken?: string; - /** *

                                                          The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ maxResults?: number; + + /** + *

                                                          The token for the next page of results.

                                                          + */ + nextToken?: string; } export namespace ListResourceTypesRequest { @@ -1624,14 +1624,14 @@ export namespace ListResourceTypesRequest { */ export interface ServiceNameAndResourceType { /** - *

                                                          The name of the AWS services to which the resources belong.

                                                          + *

                                                          The shareable resource types.

                                                          */ - serviceName?: string; + resourceType?: string; /** - *

                                                          The shareable resource types.

                                                          + *

                                                          The name of the AWS services to which the resources belong.

                                                          */ - resourceType?: string; + serviceName?: string; } export namespace ServiceNameAndResourceType { @@ -1642,14 +1642,14 @@ export namespace ServiceNameAndResourceType { export interface ListResourceTypesResponse { /** - *

                                                          The shareable resource types supported by AWS RAM.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          */ - resourceTypes?: ServiceNameAndResourceType[]; + nextToken?: string; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          The shareable resource types supported by AWS RAM.

                                                          */ - nextToken?: string; + resourceTypes?: ServiceNameAndResourceType[]; } export namespace ListResourceTypesResponse { @@ -1686,14 +1686,14 @@ export namespace PromoteResourceShareCreatedFromPolicyResponse { export interface RejectResourceShareInvitationRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the invitation.

                                                          + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ - resourceShareInvitationArn: string | undefined; + clientToken?: string; /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the invitation.

                                                          */ - clientToken?: string; + resourceShareInvitationArn: string | undefined; } export namespace RejectResourceShareInvitationRequest { @@ -1704,14 +1704,14 @@ export namespace RejectResourceShareInvitationRequest { export interface RejectResourceShareInvitationResponse { /** - *

                                                          Information about the invitation.

                                                          + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ - resourceShareInvitation?: ResourceShareInvitation; + clientToken?: string; /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          + *

                                                          Information about the invitation.

                                                          */ - clientToken?: string; + resourceShareInvitation?: ResourceShareInvitation; } export namespace RejectResourceShareInvitationResponse { @@ -1737,14 +1737,14 @@ export namespace TagLimitExceededException { export interface TagResourceRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          + *

                                                          One or more tags.

                                                          */ - resourceShareArn: string | undefined; + tags: Tag[] | undefined; /** - *

                                                          One or more tags.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ - tags: Tag[] | undefined; + resourceShareArn: string | undefined; } export namespace TagResourceRequest { @@ -1763,14 +1763,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          + *

                                                          The tag keys of the tags to remove.

                                                          */ - resourceShareArn: string | undefined; + tagKeys: string[] | undefined; /** - *

                                                          The tag keys of the tags to remove.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ - tagKeys: string[] | undefined; + resourceShareArn: string | undefined; } export namespace UntagResourceRequest { @@ -1789,14 +1789,14 @@ export namespace UntagResourceResponse { export interface UpdateResourceShareRequest { /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          + *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          */ - clientToken?: string; + resourceShareArn: string | undefined; /** - *

                                                          The name of the resource share.

                                                          + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ - name?: string; + clientToken?: string; /** *

                                                          Indicates whether principals outside your AWS organization can be associated with a resource share.

                                                          @@ -1804,9 +1804,9 @@ export interface UpdateResourceShareRequest { allowExternalPrincipals?: boolean; /** - *

                                                          The Amazon Resource Name (ARN) of the resource share.

                                                          + *

                                                          The name of the resource share.

                                                          */ - resourceShareArn: string | undefined; + name?: string; } export namespace UpdateResourceShareRequest { @@ -1817,14 +1817,14 @@ export namespace UpdateResourceShareRequest { export interface UpdateResourceShareResponse { /** - *

                                                          Information about the resource share.

                                                          + *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          */ - resourceShare?: ResourceShare; + clientToken?: string; /** - *

                                                          A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                                          + *

                                                          Information about the resource share.

                                                          */ - clientToken?: string; + resourceShare?: ResourceShare; } export namespace UpdateResourceShareResponse { diff --git a/clients/client-ram/protocols/Aws_restJson1.ts b/clients/client-ram/protocols/Aws_restJson1.ts index 403415c2ba04..479b5591e287 100644 --- a/clients/client-ram/protocols/Aws_restJson1.ts +++ b/clients/client-ram/protocols/Aws_restJson1.ts @@ -245,8 +245,8 @@ export const serializeAws_restJson1DeleteResourceShareCommand = async ( }; let resolvedPath = "/deleteresourceshare"; const query: any = { - ...(input.clientToken !== undefined && { clientToken: input.clientToken }), ...(input.resourceShareArn !== undefined && { resourceShareArn: input.resourceShareArn }), + ...(input.clientToken !== undefined && { clientToken: input.clientToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-rds/RDS.ts b/clients/client-rds/RDS.ts index c9e7183db2ff..350efab8083c 100644 --- a/clients/client-rds/RDS.ts +++ b/clients/client-rds/RDS.ts @@ -1172,7 +1172,7 @@ export class RDS extends RDSClient { } /** - *

                                                          Copies the specified DB snapshot. The source DB snapshot must be in the "available" state.

                                                          + *

                                                          Copies the specified DB snapshot. The source DB snapshot must be in the available state.

                                                          * *

                                                          You can copy a snapshot from one AWS Region to another. In that case, the AWS Region * where you call the CopyDBSnapshot action is the destination AWS Region for the @@ -1661,7 +1661,8 @@ export class RDS extends RDSClient { } /** - *

                                                          Creates a DBSnapshot. The source DBInstance must be in "available" state.

                                                          + *

                                                          Creates a snapshot of a DB instance. The source DB instance must be in the available or + * storage-optimizationstate.

                                                          */ public createDBSnapshot( args: CreateDBSnapshotCommandInput, @@ -1729,16 +1730,20 @@ export class RDS extends RDSClient { * Resource Name (ARN) created by either the RDS console, the SNS console, or the SNS API. * To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the * topic. The ARN is displayed in the SNS console.

                                                          - *

                                                          You can specify the type of source (SourceType) you want to be notified of, provide a list of RDS sources - * (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to - * be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and - * EventCategories = Availability, Backup.

                                                          + *

                                                          You can specify the type of source (SourceType) that you want to be + * notified of and provide a list of RDS sources (SourceIds) that triggers the + * events. You can also provide a list of event categories (EventCategories) + * for events that you want to be notified of. For example, you can specify + * SourceType = db-instance, SourceIds = + * mydbinstance1, mydbinstance2 and + * EventCategories = Availability, + * Backup.

                                                          * - *

                                                          If you specify both the SourceType and SourceIds, such as SourceType = db-instance - * and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for - * the specified source. If you specify a SourceType but do not specify a SourceIdentifier, + *

                                                          If you specify both the SourceType and SourceIds, such as SourceType = db-instance + * and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for + * the specified source. If you specify a SourceType but do not specify a SourceIdentifier, * you receive notice of the events for that source type for all your RDS sources. If you - * don't specify either the SourceType or the SourceIdentifier, you are notified of events + * don't specify either the SourceType or the SourceIdentifier, you are notified of events * generated from all RDS sources belonging to your customer account.

                                                          * *

                                                          RDS event notification is only available for unencrypted SNS topics. If you specify an @@ -1777,7 +1782,7 @@ export class RDS extends RDSClient { /** *

                                                          * Creates an Aurora global database - * spread across multiple regions. The global database + * spread across multiple AWS Regions. The global database * contains a single primary cluster with read-write capability, * and a read-only secondary cluster that receives * data from the primary cluster through high-speed replication @@ -3371,8 +3376,8 @@ export class RDS extends RDSClient { /** *

                                                          Displays a list of categories for all event source types, or, if specified, for a specified source type. * You can see a list of the event categories and source types - * in the - * Events topic in the Amazon RDS User Guide. + * in + * Events in the Amazon RDS User Guide. *

                                                          */ public describeEventCategories( @@ -3405,7 +3410,12 @@ export class RDS extends RDSClient { } /** - *

                                                          Returns events related to DB instances, DB security groups, DB snapshots, and DB parameter groups for the past 14 days. Events specific to a particular DB instance, DB security group, database snapshot, or DB parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned.

                                                          + *

                                                          Returns events related to DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, and DB cluster snapshots for the past 14 days. + * Events specific to a particular DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, and DB cluster snapshots group can be + * obtained by providing the name as a parameter.

                                                          + * + *

                                                          By default, the past hour of events are returned.

                                                          + *
                                                          */ public describeEvents( args: DescribeEventsCommandInput, @@ -3437,8 +3447,9 @@ export class RDS extends RDSClient { } /** - *

                                                          Lists all the subscription descriptions for a customer account. The description for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.

                                                          - *

                                                          If you specify a SubscriptionName, lists the description for that subscription.

                                                          + *

                                                          Lists all the subscription descriptions for a customer account. The description for a subscription includes + * SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.

                                                          + *

                                                          If you specify a SubscriptionName, lists the description for that subscription.

                                                          */ public describeEventSubscriptions( args: DescribeEventSubscriptionsCommandInput, @@ -4551,9 +4562,9 @@ export class RDS extends RDSClient { /** *

                                                          Modifies an existing RDS event notification subscription. You can't modify the source identifiers using this call. To change * source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

                                                          - *

                                                          You can see a list of the event categories for a given SourceType - * in the Events topic in the Amazon RDS User Guide - * or by using the DescribeEventCategories action.

                                                          + *

                                                          You can see a list of the event categories for a given source type (SourceType) + * in Events in the Amazon RDS User Guide + * or by using the DescribeEventCategories operation.

                                                          */ public modifyEventSubscription( args: ModifyEventSubscriptionCommandInput, @@ -5117,10 +5128,10 @@ export class RDS extends RDSClient { } /** - *

                                                          Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be - * authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as - * described in - * Migrating Data to an Amazon Aurora MySQL DB Cluster in the Amazon Aurora User Guide.

                                                          + *

                                                          Creates an Amazon Aurora DB cluster from MySQL data stored in an Amazon S3 bucket. + * Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be + * created using the Percona XtraBackup utility as described in Migrating Data from MySQL by Using an Amazon S3 Bucket in the + * Amazon Aurora User Guide.

                                                          * *

                                                          This action only restores the DB cluster, not the DB instances for that DB * cluster. You must invoke the CreateDBInstance action to create DB @@ -5134,7 +5145,8 @@ export class RDS extends RDSClient { * What Is Amazon Aurora? in the Amazon Aurora User Guide. *

                                                          * - *

                                                          This action only applies to Aurora DB clusters.

                                                          + *

                                                          This action only applies to Aurora DB clusters. The source DB engine must be + * MySQL.

                                                          *
                                                          */ public restoreDBClusterFromS3( diff --git a/clients/client-rds/index.ts b/clients/client-rds/index.ts index 928cc0b1b7a0..7b052dd9dbf1 100644 --- a/clients/client-rds/index.ts +++ b/clients/client-rds/index.ts @@ -90,6 +90,7 @@ export * from "./commands/DescribeDBSubnetGroupsCommand"; export * from "./pagination/DescribeDBSubnetGroupsPaginator"; export * from "./commands/DescribeEngineDefaultClusterParametersCommand"; export * from "./commands/DescribeEngineDefaultParametersCommand"; +export * from "./pagination/DescribeEngineDefaultParametersPaginator"; export * from "./commands/DescribeEventCategoriesCommand"; export * from "./commands/DescribeEventsCommand"; export * from "./pagination/DescribeEventsPaginator"; diff --git a/clients/client-rds/models/models_0.ts b/clients/client-rds/models/models_0.ts index 78e0ffec4808..40d0f13d9434 100644 --- a/clients/client-rds/models/models_0.ts +++ b/clients/client-rds/models/models_0.ts @@ -114,11 +114,6 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; * Amazon Aurora User Guide.

                                                          */ export interface AccountQuota { - /** - *

                                                          The name of the Amazon RDS quota for this AWS account.

                                                          - */ - AccountQuotaName?: string; - /** *

                                                          The maximum allowed value for the quota.

                                                          */ @@ -128,6 +123,11 @@ export interface AccountQuota { *

                                                          The amount currently used toward the quota maximum.

                                                          */ Used?: number; + + /** + *

                                                          The name of the Amazon RDS quota for this AWS account.

                                                          + */ + AccountQuotaName?: string; } export namespace AccountQuota { @@ -246,11 +246,10 @@ export namespace InvalidDBClusterStateFault { export interface AddRoleToDBInstanceMessage { /** - *

                                                          The name of the feature for the DB instance that the IAM role is to be associated with. - * For the list of supported feature names, see DBEngineVersion. - *

                                                          + *

                                                          The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance, for + * example arn:aws:iam::123456789012:role/AccessRole.

                                                          */ - FeatureName: string | undefined; + RoleArn: string | undefined; /** *

                                                          The name of the DB instance to associate the IAM role with.

                                                          @@ -258,10 +257,11 @@ export interface AddRoleToDBInstanceMessage { DBInstanceIdentifier: string | undefined; /** - *

                                                          The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance, for - * example arn:aws:iam::123456789012:role/AccessRole.

                                                          + *

                                                          The name of the feature for the DB instance that the IAM role is to be associated with. + * For the list of supported feature names, see DBEngineVersion. + *

                                                          */ - RoleArn: string | undefined; + FeatureName: string | undefined; } export namespace AddRoleToDBInstanceMessage { @@ -336,30 +336,36 @@ export namespace InvalidDBInstanceStateFault { *

                                                          */ export interface AddSourceIdentifierToSubscriptionMessage { + /** + *

                                                          The name of the RDS event notification subscription you want to add a source identifier to.

                                                          + */ + SubscriptionName: string | undefined; + /** *

                                                          The identifier of the event source to be added.

                                                          *

                                                          Constraints:

                                                          *
                                                            *
                                                          • - *

                                                            If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

                                                            + *

                                                            If the source type is a DB instance, a DBInstanceIdentifier value must be supplied.

                                                            + *
                                                          • + *
                                                          • + *

                                                            If the source type is a DB cluster, a DBClusterIdentifier value must be supplied.

                                                            + *
                                                          • + *
                                                          • + *

                                                            If the source type is a DB parameter group, a DBParameterGroupName value must be supplied.

                                                            *
                                                          • *
                                                          • - *

                                                            If the source type is a DB security group, a DBSecurityGroupName must be supplied.

                                                            + *

                                                            If the source type is a DB security group, a DBSecurityGroupName value must be supplied.

                                                            *
                                                          • *
                                                          • - *

                                                            If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

                                                            + *

                                                            If the source type is a DB snapshot, a DBSnapshotIdentifier value must be supplied.

                                                            *
                                                          • *
                                                          • - *

                                                            If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

                                                            + *

                                                            If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier value must be supplied.

                                                            *
                                                          • *
                                                          */ SourceIdentifier: string | undefined; - - /** - *

                                                          The name of the RDS event notification subscription you want to add a source identifier to.

                                                          - */ - SubscriptionName: string | undefined; } export namespace AddSourceIdentifierToSubscriptionMessage { @@ -373,57 +379,57 @@ export namespace AddSourceIdentifierToSubscriptionMessage { */ export interface EventSubscription { /** - *

                                                          The RDS event notification subscription Id.

                                                          + *

                                                          The topic ARN of the RDS event notification subscription.

                                                          */ - CustSubscriptionId?: string; + SnsTopicArn?: string; /** - *

                                                          A list of source IDs for the RDS event notification subscription.

                                                          + *

                                                          The Amazon Resource Name (ARN) for the event subscription.

                                                          */ - SourceIdsList?: string[]; + EventSubscriptionArn?: string; /** - *

                                                          The source type for the RDS event notification subscription.

                                                          + *

                                                          A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.

                                                          */ - SourceType?: string; + Enabled?: boolean; /** - *

                                                          A list of event categories for the RDS event notification subscription.

                                                          + *

                                                          The RDS event notification subscription Id.

                                                          */ - EventCategoriesList?: string[]; + CustSubscriptionId?: string; /** - *

                                                          The Amazon Resource Name (ARN) for the event subscription.

                                                          + *

                                                          The AWS customer account associated with the RDS event notification subscription.

                                                          */ - EventSubscriptionArn?: string; + CustomerAwsId?: string; /** - *

                                                          The topic ARN of the RDS event notification subscription.

                                                          + *

                                                          The time the RDS event notification subscription was created.

                                                          */ - SnsTopicArn?: string; + SubscriptionCreationTime?: string; /** - *

                                                          The status of the RDS event notification subscription.

                                                          - *

                                                          Constraints:

                                                          - *

                                                          Can be one of the following: creating | modifying | deleting | active | no-permission | topic-not-exist

                                                          - *

                                                          The status "no-permission" indicates that RDS no longer has permission to post to the SNS topic. The status "topic-not-exist" indicates that the topic was deleted after the subscription was created.

                                                          + *

                                                          The source type for the RDS event notification subscription.

                                                          */ - Status?: string; + SourceType?: string; /** - *

                                                          The time the RDS event notification subscription was created.

                                                          + *

                                                          A list of source IDs for the RDS event notification subscription.

                                                          */ - SubscriptionCreationTime?: string; + SourceIdsList?: string[]; /** - *

                                                          The AWS customer account associated with the RDS event notification subscription.

                                                          + *

                                                          A list of event categories for the RDS event notification subscription.

                                                          */ - CustomerAwsId?: string; + EventCategoriesList?: string[]; /** - *

                                                          A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.

                                                          + *

                                                          The status of the RDS event notification subscription.

                                                          + *

                                                          Constraints:

                                                          + *

                                                          Can be one of the following: creating | modifying | deleting | active | no-permission | topic-not-exist

                                                          + *

                                                          The status "no-permission" indicates that RDS no longer has permission to post to the SNS topic. The status "topic-not-exist" indicates that the topic was deleted after the subscription was created.

                                                          */ - Enabled?: boolean; + Status?: string; } export namespace EventSubscription { @@ -480,12 +486,12 @@ export namespace SubscriptionNotFoundFault { */ export interface Tag { /** - *

                                                          A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with "aws:" or "rds:". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

                                                          + *

                                                          A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with "aws:" or "rds:". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$").

                                                          */ Value?: string; /** - *

                                                          A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

                                                          + *

                                                          A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$").

                                                          */ Key?: string; } @@ -572,13 +578,12 @@ export namespace DBSnapshotNotFoundFault { */ export interface ApplyPendingMaintenanceActionMessage { /** - *

                                                          The RDS Amazon Resource Name (ARN) of the resource that the - * pending maintenance action applies to. For information about - * creating an ARN, - * see - * Constructing an RDS Amazon Resource Name (ARN).

                                                          + *

                                                          The pending maintenance action to apply to this resource.

                                                          + *

                                                          Valid values: system-update, db-upgrade, + * hardware-maintenance, ca-certificate-rotation + *

                                                          */ - ResourceIdentifier: string | undefined; + ApplyAction: string | undefined; /** *

                                                          A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in @@ -604,12 +609,13 @@ export interface ApplyPendingMaintenanceActionMessage { OptInType: string | undefined; /** - *

                                                          The pending maintenance action to apply to this resource.

                                                          - *

                                                          Valid values: system-update, db-upgrade, - * hardware-maintenance, ca-certificate-rotation - *

                                                          + *

                                                          The RDS Amazon Resource Name (ARN) of the resource that the + * pending maintenance action applies to. For information about + * creating an ARN, + * see + * Constructing an RDS Amazon Resource Name (ARN).

                                                          */ - ApplyAction: string | undefined; + ResourceIdentifier: string | undefined; } export namespace ApplyPendingMaintenanceActionMessage { @@ -623,18 +629,11 @@ export namespace ApplyPendingMaintenanceActionMessage { */ export interface PendingMaintenanceAction { /** - *

                                                          The type of pending maintenance action that is available for the resource. - * Valid actions are system-update, db-upgrade, hardware-maintenance, - * and ca-certificate-rotation.

                                                          - */ - Action?: string; - - /** - *

                                                          The date when the maintenance action is automatically applied. - * The maintenance action is applied to the resource on this date - * regardless of the maintenance window for the resource.

                                                          + *

                                                          The date of the maintenance window when the action is applied. + * The maintenance action is applied to the resource during + * its first maintenance window after this date.

                                                          */ - ForcedApplyDate?: Date; + AutoAppliedAfterDate?: Date; /** *

                                                          The effective date when the pending maintenance action is applied @@ -647,21 +646,29 @@ export interface PendingMaintenanceAction { CurrentApplyDate?: Date; /** - *

                                                          A description providing more detail about the maintenance action.

                                                          + *

                                                          Indicates the type of opt-in request that has been received for the resource.

                                                          */ - Description?: string; + OptInStatus?: string; /** - *

                                                          The date of the maintenance window when the action is applied. - * The maintenance action is applied to the resource during - * its first maintenance window after this date.

                                                          + *

                                                          The date when the maintenance action is automatically applied.

                                                          + *

                                                          On this date, the maintenance action is applied to the resource as soon as possible, + * regardless of the maintenance window for the resource. There might be a delay of + * one or more days from this date before the maintenance action is applied.

                                                          */ - AutoAppliedAfterDate?: Date; + ForcedApplyDate?: Date; /** - *

                                                          Indicates the type of opt-in request that has been received for the resource.

                                                          + *

                                                          The type of pending maintenance action that is available for the resource. + * Valid actions are system-update, db-upgrade, hardware-maintenance, + * and ca-certificate-rotation.

                                                          */ - OptInStatus?: string; + Action?: string; + + /** + *

                                                          A description providing more detail about the maintenance action.

                                                          + */ + Description?: string; } export namespace PendingMaintenanceAction { @@ -675,14 +682,14 @@ export namespace PendingMaintenanceAction { */ export interface ResourcePendingMaintenanceActions { /** - *

                                                          The ARN of the resource that has pending maintenance actions.

                                                          + *

                                                          A list that provides details about the pending maintenance actions for the resource.

                                                          */ - ResourceIdentifier?: string; + PendingMaintenanceActionDetails?: PendingMaintenanceAction[]; /** - *

                                                          A list that provides details about the pending maintenance actions for the resource.

                                                          + *

                                                          The ARN of the resource that has pending maintenance actions.

                                                          */ - PendingMaintenanceActionDetails?: PendingMaintenanceAction[]; + ResourceIdentifier?: string; } export namespace ResourcePendingMaintenanceActions { @@ -754,6 +761,15 @@ export namespace AuthorizationQuotaExceededFault { *

                                                          */ export interface AuthorizeDBSecurityGroupIngressMessage { + /** + *

                                                          + * Id of the EC2 security group to authorize. + * For VPC DB security groups, EC2SecurityGroupId must be provided. + * Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided. + *

                                                          + */ + EC2SecurityGroupId?: string; + /** *

                                                          * AWS account number of the owner of the EC2 security group @@ -765,11 +781,6 @@ export interface AuthorizeDBSecurityGroupIngressMessage { */ EC2SecurityGroupOwnerId?: string; - /** - *

                                                          The IP range to authorize.

                                                          - */ - CIDRIP?: string; - /** *

                                                          * Name of the EC2 security group to authorize. @@ -786,13 +797,9 @@ export interface AuthorizeDBSecurityGroupIngressMessage { DBSecurityGroupName: string | undefined; /** - *

                                                          - * Id of the EC2 security group to authorize. - * For VPC DB security groups, EC2SecurityGroupId must be provided. - * Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided. - *

                                                          + *

                                                          The IP range to authorize.

                                                          */ - EC2SecurityGroupId?: string; + CIDRIP?: string; } export namespace AuthorizeDBSecurityGroupIngressMessage { @@ -823,9 +830,14 @@ export namespace AuthorizeDBSecurityGroupIngressMessage { */ export interface EC2SecurityGroup { /** - *

                                                          Provides the status of the EC2 security group. Status can be "authorizing", "authorized", "revoking", and "revoked".

                                                          + *

                                                          Specifies the name of the EC2 security group.

                                                          */ - Status?: string; + EC2SecurityGroupName?: string; + + /** + *

                                                          Specifies the id of the EC2 security group.

                                                          + */ + EC2SecurityGroupId?: string; /** *

                                                          @@ -836,14 +848,9 @@ export interface EC2SecurityGroup { EC2SecurityGroupOwnerId?: string; /** - *

                                                          Specifies the id of the EC2 security group.

                                                          - */ - EC2SecurityGroupId?: string; - - /** - *

                                                          Specifies the name of the EC2 security group.

                                                          + *

                                                          Provides the status of the EC2 security group. Status can be "authorizing", "authorized", "revoking", and "revoked".

                                                          */ - EC2SecurityGroupName?: string; + Status?: string; } export namespace EC2SecurityGroup { @@ -859,14 +866,14 @@ export namespace EC2SecurityGroup { */ export interface IPRange { /** - *

                                                          Specifies the IP range.

                                                          + *

                                                          Specifies the status of the IP range. Status can be "authorizing", "authorized", "revoking", and "revoked".

                                                          */ - CIDRIP?: string; + Status?: string; /** - *

                                                          Specifies the status of the IP range. Status can be "authorizing", "authorized", "revoking", and "revoked".

                                                          + *

                                                          Specifies the IP range.

                                                          */ - Status?: string; + CIDRIP?: string; } export namespace IPRange { @@ -883,11 +890,21 @@ export namespace IPRange { *

                                                          */ export interface DBSecurityGroup { + /** + *

                                                          Provides the AWS ID of the owner of a specific DB security group.

                                                          + */ + OwnerId?: string; + /** *

                                                          The Amazon Resource Name (ARN) for the DB security group.

                                                          */ DBSecurityGroupArn?: string; + /** + *

                                                          Specifies the name of the DB security group.

                                                          + */ + DBSecurityGroupName?: string; + /** *

                                                          * Contains a list of IPRange elements. @@ -902,25 +919,15 @@ export interface DBSecurityGroup { */ EC2SecurityGroups?: EC2SecurityGroup[]; - /** - *

                                                          Provides the description of the DB security group.

                                                          - */ - DBSecurityGroupDescription?: string; - /** *

                                                          Provides the VpcId of the DB security group.

                                                          */ VpcId?: string; /** - *

                                                          Provides the AWS ID of the owner of a specific DB security group.

                                                          - */ - OwnerId?: string; - - /** - *

                                                          Specifies the name of the DB security group.

                                                          + *

                                                          Provides the description of the DB security group.

                                                          */ - DBSecurityGroupName?: string; + DBSecurityGroupDescription?: string; } export namespace DBSecurityGroup { @@ -982,6 +989,20 @@ export namespace InvalidDBSecurityGroupStateFault { *

                                                          */ export interface BacktrackDBClusterMessage { + /** + *

                                                          A value that indicates whether to backtrack the DB cluster to the earliest possible + * backtrack time when BacktrackTo is set to a timestamp earlier than the earliest + * backtrack time. When this parameter is disabled and BacktrackTo is set to a timestamp earlier than the earliest + * backtrack time, an error occurs.

                                                          + */ + UseEarliestTimeOnPointInTimeUnavailable?: boolean; + + /** + *

                                                          A value that indicates whether to force the DB cluster to backtrack when binary logging is + * enabled. Otherwise, an error occurs when binary logging is enabled.

                                                          + */ + Force?: boolean; + /** *

                                                          The timestamp of the time to backtrack the DB cluster to, specified in ISO * 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia @@ -1024,20 +1045,6 @@ export interface BacktrackDBClusterMessage { *

                                                          */ DBClusterIdentifier: string | undefined; - - /** - *

                                                          A value that indicates whether to backtrack the DB cluster to the earliest possible - * backtrack time when BacktrackTo is set to a timestamp earlier than the earliest - * backtrack time. When this parameter is disabled and BacktrackTo is set to a timestamp earlier than the earliest - * backtrack time, an error occurs.

                                                          - */ - UseEarliestTimeOnPointInTimeUnavailable?: boolean; - - /** - *

                                                          A value that indicates whether to force the DB cluster to backtrack when binary logging is - * enabled. Otherwise, an error occurs when binary logging is enabled.

                                                          - */ - Force?: boolean; } export namespace BacktrackDBClusterMessage { @@ -1050,31 +1057,6 @@ export namespace BacktrackDBClusterMessage { *

                                                          This data type is used as a response element in the DescribeDBClusterBacktracks action.

                                                          */ export interface DBClusterBacktrack { - /** - *

                                                          The timestamp of the time to which the DB cluster was backtracked.

                                                          - */ - BacktrackTo?: Date; - - /** - *

                                                          The timestamp of the time at which the backtrack was requested.

                                                          - */ - BacktrackRequestCreationTime?: Date; - - /** - *

                                                          Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

                                                          - */ - DBClusterIdentifier?: string; - - /** - *

                                                          The timestamp of the time from which the DB cluster was backtracked.

                                                          - */ - BacktrackedFrom?: Date; - - /** - *

                                                          Contains the backtrack identifier.

                                                          - */ - BacktrackIdentifier?: string; - /** *

                                                          The status of the backtrack. This property returns one of the following * values:

                                                          @@ -1098,6 +1080,31 @@ export interface DBClusterBacktrack { *
                                                        */ Status?: string; + + /** + *

                                                        The timestamp of the time to which the DB cluster was backtracked.

                                                        + */ + BacktrackTo?: Date; + + /** + *

                                                        Contains the backtrack identifier.

                                                        + */ + BacktrackIdentifier?: string; + + /** + *

                                                        The timestamp of the time from which the DB cluster was backtracked.

                                                        + */ + BacktrackedFrom?: Date; + + /** + *

                                                        Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

                                                        + */ + DBClusterIdentifier?: string; + + /** + *

                                                        The timestamp of the time at which the backtrack was requested.

                                                        + */ + BacktrackRequestCreationTime?: Date; } export namespace DBClusterBacktrack { @@ -1132,9 +1139,17 @@ export interface ExportTask { IamRoleArn?: string; /** - *

                                                        The total amount of data exported, in gigabytes.

                                                        + *

                                                        The ID of the AWS KMS key that is used to encrypt the snapshot when it's exported to + * Amazon S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or + * the KMS key alias for the KMS encryption key. The IAM role used for the snapshot export + * must have encryption and decryption permissions to use this KMS key.

                                                        */ - TotalExtractedDataInGB?: number; + KmsKeyId?: string; + + /** + *

                                                        The time that the snapshot was created.

                                                        + */ + SnapshotTime?: Date; /** *

                                                        The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.

                                                        @@ -1142,14 +1157,15 @@ export interface ExportTask { SourceArn?: string; /** - *

                                                        The Amazon S3 bucket that the snapshot is exported to.

                                                        + *

                                                        A warning about the snapshot export task.

                                                        */ - S3Bucket?: string; + WarningMessage?: string; /** - *

                                                        The time that the snapshot was created.

                                                        + *

                                                        A unique identifier for the snapshot export task. This ID isn't an identifier for + * the Amazon S3 bucket where the snapshot is exported to.

                                                        */ - SnapshotTime?: Date; + ExportTaskIdentifier?: string; /** *

                                                        The progress status of the export task.

                                                        @@ -1157,10 +1173,9 @@ export interface ExportTask { Status?: string; /** - *

                                                        A unique identifier for the snapshot export task. This ID isn't an identifier for - * the Amazon S3 bucket where the snapshot is exported to.

                                                        + *

                                                        The time that the snapshot export task started.

                                                        */ - ExportTaskIdentifier?: string; + TaskStartTime?: Date; /** *

                                                        The reason the export failed, if it failed.

                                                        @@ -1178,17 +1193,19 @@ export interface ExportTask { S3Prefix?: string; /** - *

                                                        The ID of the AWS KMS key that is used to encrypt the snapshot when it's exported to - * Amazon S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or - * the KMS key alias for the KMS encryption key. The IAM role used for the snapshot export - * must have encryption and decryption permissions to use this KMS key.

                                                        + *

                                                        The time that the snapshot export task completed.

                                                        */ - KmsKeyId?: string; + TaskEndTime?: Date; /** - *

                                                        The time that the snapshot export task completed.

                                                        + *

                                                        The total amount of data exported, in gigabytes.

                                                        */ - TaskEndTime?: Date; + TotalExtractedDataInGB?: number; + + /** + *

                                                        The Amazon S3 bucket that the snapshot is exported to.

                                                        + */ + S3Bucket?: string; /** *

                                                        The data exported from the snapshot. Valid values are the following:

                                                        @@ -1218,16 +1235,6 @@ export interface ExportTask { *
                                                      */ ExportOnly?: string[]; - - /** - *

                                                      A warning about the snapshot export task.

                                                      - */ - WarningMessage?: string; - - /** - *

                                                      The time that the snapshot export task started.

                                                      - */ - TaskStartTime?: Date; } export namespace ExportTask { @@ -1267,6 +1274,13 @@ export namespace InvalidExportTaskStateFault { } export interface CopyDBClusterParameterGroupMessage { + /** + *

                                                      A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                                      + */ + Tags?: Tag[]; + /** *

                                                      A description for the copied DB cluster parameter group.

                                                      */ @@ -1319,13 +1333,6 @@ export interface CopyDBClusterParameterGroupMessage { *
                                                    */ SourceDBClusterParameterGroupIdentifier: string | undefined; - - /** - *

                                                    A list of tags. - * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. - *

                                                    - */ - Tags?: Tag[]; } export namespace CopyDBClusterParameterGroupMessage { @@ -1342,24 +1349,24 @@ export namespace CopyDBClusterParameterGroupMessage { */ export interface DBClusterParameterGroup { /** - *

                                                    Provides the name of the DB cluster parameter group.

                                                    + *

                                                    Provides the customer-specified description for this DB cluster parameter group.

                                                    */ - DBClusterParameterGroupName?: string; + Description?: string; /** - *

                                                    Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.

                                                    + *

                                                    The Amazon Resource Name (ARN) for the DB cluster parameter group.

                                                    */ - DBParameterGroupFamily?: string; + DBClusterParameterGroupArn?: string; /** - *

                                                    Provides the customer-specified description for this DB cluster parameter group.

                                                    + *

                                                    The name of the DB parameter group family that this DB cluster parameter group is compatible with.

                                                    */ - Description?: string; + DBParameterGroupFamily?: string; /** - *

                                                    The Amazon Resource Name (ARN) for the DB cluster parameter group.

                                                    + *

                                                    The name of the DB cluster parameter group.

                                                    */ - DBClusterParameterGroupArn?: string; + DBClusterParameterGroupName?: string; } export namespace DBClusterParameterGroup { @@ -1456,6 +1463,25 @@ export interface CopyDBClusterSnapshotMessage { */ TargetDBClusterSnapshotIdentifier: string | undefined; + /** + *

                                                    The AWS KMS key ID for an encrypted DB cluster snapshot. + * The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

                                                    + * + *

                                                    If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. + * If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot. + *

                                                    + * + *

                                                    If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

                                                    + * + *

                                                    To copy an encrypted DB cluster snapshot to another AWS Region, you must set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB cluster snapshot + * in the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region + * in another AWS Region.

                                                    + * + *

                                                    If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, + * an error is returned.

                                                    + */ + KmsKeyId?: string; + /** *

                                                    The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the * source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another AWS Region. @@ -1523,12 +1549,6 @@ export interface CopyDBClusterSnapshotMessage { */ SourceDBClusterSnapshotIdentifier: string | undefined; - /** - *

                                                    A value that indicates whether to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot. - * By default, tags are not copied.

                                                    - */ - CopyTags?: boolean; - /** *

                                                    A list of tags. * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. @@ -1537,23 +1557,10 @@ export interface CopyDBClusterSnapshotMessage { Tags?: Tag[]; /** - *

                                                    The AWS KMS key ID for an encrypted DB cluster snapshot. - * The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

                                                    - * - *

                                                    If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. - * If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot. - *

                                                    - * - *

                                                    If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

                                                    - * - *

                                                    To copy an encrypted DB cluster snapshot to another AWS Region, you must set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB cluster snapshot - * in the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region - * in another AWS Region.

                                                    - * - *

                                                    If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, - * an error is returned.

                                                    + *

                                                    A value that indicates whether to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot. + * By default, tags are not copied.

                                                    */ - KmsKeyId?: string; + CopyTags?: boolean; } export namespace CopyDBClusterSnapshotMessage { @@ -1571,105 +1578,112 @@ export namespace CopyDBClusterSnapshotMessage { */ export interface DBClusterSnapshot { /** - *

                                                    Specifies the name of the database engine.

                                                    + *

                                                    The Amazon Resource Name (ARN) for the DB cluster snapshot.

                                                    */ - Engine?: string; + DBClusterSnapshotArn?: string; /** - *

                                                    Provides the version of the database engine for this DB cluster snapshot.

                                                    + *

                                                    Provides the VPC ID associated with the DB cluster snapshot.

                                                    */ - EngineVersion?: string; + VpcId?: string; /** - *

                                                    Specifies whether the DB cluster snapshot is encrypted.

                                                    + *

                                                    If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon + * Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.

                                                    */ - StorageEncrypted?: boolean; + SourceDBClusterSnapshotArn?: string; /** - *

                                                    Provides the license model information for this DB cluster snapshot.

                                                    + *

                                                    Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

                                                    */ - LicenseModel?: string; + DBClusterIdentifier?: string; /** - *

                                                    Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

                                                    + *

                                                    Specifies the allocated storage size in gibibytes (GiB).

                                                    */ - SnapshotCreateTime?: Date; + AllocatedStorage?: number; /** - *

                                                    Provides the list of Availability Zones (AZs) where instances in the DB cluster snapshot can be restored.

                                                    + *

                                                    Provides the type of the DB cluster snapshot.

                                                    */ - AvailabilityZones?: string[]; + SnapshotType?: string; /** - *

                                                    If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

                                                    + *

                                                    Specifies the port that the DB cluster was listening on at the time of the snapshot.

                                                    */ - KmsKeyId?: string; + Port?: number; /** - *

                                                    Provides the VPC ID associated with the DB cluster snapshot.

                                                    + *

                                                    Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

                                                    */ - VpcId?: string; + SnapshotCreateTime?: Date; /** - *

                                                    Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

                                                    + *

                                                    Specifies the percentage of the estimated data that has been transferred.

                                                    */ - DBClusterIdentifier?: string; + PercentProgress?: number; /** - *

                                                    True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

                                                    + *

                                                    Provides the list of Availability Zones (AZs) where instances in the DB cluster snapshot can be restored.

                                                    */ - IAMDatabaseAuthenticationEnabled?: boolean; + AvailabilityZones?: string[]; /** - *

                                                    The Amazon Resource Name (ARN) for the DB cluster snapshot.

                                                    + *

                                                    Provides the version of the database engine for this DB cluster snapshot.

                                                    */ - DBClusterSnapshotArn?: string; + EngineVersion?: string; /** - *

                                                    Provides the type of the DB cluster snapshot.

                                                    + *

                                                    Specifies the status of this DB cluster snapshot.

                                                    */ - SnapshotType?: string; + Status?: string; /** - *

                                                    Provides the master username for the DB cluster snapshot.

                                                    + *

                                                    Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

                                                    */ - MasterUsername?: string; + ClusterCreateTime?: Date; /** - *

                                                    Specifies the allocated storage size in gibibytes (GiB).

                                                    + *

                                                    Specifies the name of the database engine.

                                                    */ - AllocatedStorage?: number; + Engine?: string; /** - *

                                                    Specifies the port that the DB cluster was listening on at the time of the snapshot.

                                                    + *

                                                    Provides the license model information for this DB cluster snapshot.

                                                    */ - Port?: number; + LicenseModel?: string; /** - *

                                                    Specifies the identifier for the DB cluster snapshot.

                                                    + *

                                                    Specifies whether the DB cluster snapshot is encrypted.

                                                    */ - DBClusterSnapshotIdentifier?: string; + StorageEncrypted?: boolean; /** - *

                                                    Specifies the percentage of the estimated data that has been transferred.

                                                    + *

                                                    True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

                                                    */ - PercentProgress?: number; + IAMDatabaseAuthenticationEnabled?: boolean; /** - *

                                                    Specifies the status of this DB cluster snapshot.

                                                    + *

                                                    Provides the master username for the DB cluster snapshot.

                                                    */ - Status?: string; + MasterUsername?: string; /** - *

                                                    Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

                                                    + *

                                                    Specifies the identifier for the DB cluster snapshot.

                                                    */ - ClusterCreateTime?: Date; + DBClusterSnapshotIdentifier?: string; /** - *

                                                    If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon - * Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.

                                                    + *

                                                    If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

                                                    */ - SourceDBClusterSnapshotArn?: string; + KmsKeyId?: string; + + /** + *

                                                    A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                                    + */ + TagList?: Tag[]; } export namespace DBClusterSnapshot { @@ -1778,11 +1792,18 @@ export namespace SnapshotQuotaExceededFault { */ export interface CopyDBParameterGroupMessage { /** - *

                                                    - * The identifier or ARN for the source DB parameter group. - * For information about - * creating an ARN, - * see + *

                                                    A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                                    + */ + Tags?: Tag[]; + + /** + *

                                                    + * The identifier or ARN for the source DB parameter group. + * For information about + * creating an ARN, + * see * Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. *

                                                    *

                                                    Constraints:

                                                    @@ -1799,11 +1820,9 @@ export interface CopyDBParameterGroupMessage { SourceDBParameterGroupIdentifier: string | undefined; /** - *

                                                    A list of tags. - * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. - *

                                                    + *

                                                    A description for the copied DB parameter group.

                                                    */ - Tags?: Tag[]; + TargetDBParameterGroupDescription: string | undefined; /** *

                                                    The identifier for the copied DB parameter group.

                                                    @@ -1826,11 +1845,6 @@ export interface CopyDBParameterGroupMessage { *

                                                    */ TargetDBParameterGroupIdentifier: string | undefined; - - /** - *

                                                    A description for the copied DB parameter group.

                                                    - */ - TargetDBParameterGroupDescription: string | undefined; } export namespace CopyDBParameterGroupMessage { @@ -1847,24 +1861,24 @@ export namespace CopyDBParameterGroupMessage { */ export interface DBParameterGroup { /** - *

                                                    Provides the name of the DB parameter group.

                                                    + *

                                                    The name of the DB parameter group.

                                                    */ DBParameterGroupName?: string; /** - *

                                                    Provides the customer-specified description for this DB parameter group.

                                                    + *

                                                    The Amazon Resource Name (ARN) for the DB parameter group.

                                                    */ - Description?: string; + DBParameterGroupArn?: string; /** - *

                                                    Provides the name of the DB parameter group family that this DB parameter group is compatible with.

                                                    + *

                                                    The name of the DB parameter group family that this DB parameter group is compatible with.

                                                    */ DBParameterGroupFamily?: string; /** - *

                                                    The Amazon Resource Name (ARN) for the DB parameter group.

                                                    + *

                                                    Provides the customer-specified description for this DB parameter group.

                                                    */ - DBParameterGroupArn?: string; + Description?: string; } export namespace DBParameterGroup { @@ -1893,6 +1907,39 @@ export namespace CopyDBParameterGroupResult { *

                                                    */ export interface CopyDBSnapshotMessage { + /** + *

                                                    A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                                    + */ + Tags?: Tag[]; + + /** + *

                                                    The identifier for the copy of the snapshot. + *

                                                    + * + *

                                                    Constraints:

                                                    + * + *
                                                      + *
                                                    • + *

                                                      Can't be null, empty, or blank

                                                      + *
                                                    • + *
                                                    • + *

                                                      Must contain from 1 to 255 letters, numbers, or hyphens

                                                      + *
                                                    • + *
                                                    • + *

                                                      First character must be a letter

                                                      + *
                                                    • + *
                                                    • + *

                                                      Can't end with a hyphen or contain two consecutive hyphens

                                                      + *
                                                    • + *
                                                    + * + *

                                                    Example: my-db-snapshot + *

                                                    + */ + TargetDBSnapshotIdentifier: string | undefined; + /** *

                                                    The AWS KMS key ID for an encrypted DB snapshot. * The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. @@ -1921,11 +1968,6 @@ export interface CopyDBSnapshotMessage { */ KmsKeyId?: string; - /** - *

                                                    A value that indicates whether to copy all tags from the source DB snapshot to the target DB snapshot. By default, tags are not copied.

                                                    - */ - CopyTags?: boolean; - /** *

                                                    The identifier for the source DB snapshot.

                                                    * @@ -1962,30 +2004,9 @@ export interface CopyDBSnapshotMessage { SourceDBSnapshotIdentifier: string | undefined; /** - *

                                                    The identifier for the copy of the snapshot. - *

                                                    - * - *

                                                    Constraints:

                                                    - * - *
                                                      - *
                                                    • - *

                                                      Can't be null, empty, or blank

                                                      - *
                                                    • - *
                                                    • - *

                                                      Must contain from 1 to 255 letters, numbers, or hyphens

                                                      - *
                                                    • - *
                                                    • - *

                                                      First character must be a letter

                                                      - *
                                                    • - *
                                                    • - *

                                                      Can't end with a hyphen or contain two consecutive hyphens

                                                      - *
                                                    • - *
                                                    - * - *

                                                    Example: my-db-snapshot - *

                                                    + *

                                                    A value that indicates whether to copy all tags from the source DB snapshot to the target DB snapshot. By default, tags are not copied.

                                                    */ - TargetDBSnapshotIdentifier: string | undefined; + CopyTags?: boolean; /** *

                                                    The URL that contains a Signature Version 4 signed request for the @@ -2045,13 +2066,6 @@ export interface CopyDBSnapshotMessage { */ PreSignedUrl?: string; - /** - *

                                                    A list of tags. - * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. - *

                                                    - */ - Tags?: Tag[]; - /** *

                                                    The name of an option group to associate with the copy of the snapshot.

                                                    * @@ -2127,6 +2141,19 @@ export namespace CopyDBSnapshotMessage { *

                                                    * *
                                                  + *

                                                  If you call DescribeDBInstances, ProcessorFeature returns + * non-null values only if the following conditions are met:

                                                  + *
                                                    + *
                                                  • + *

                                                    You are accessing an Oracle DB instance.

                                                    + *
                                                  • + *
                                                  • + *

                                                    Your Oracle DB instance class supports configuring the number of CPU cores and threads per core.

                                                    + *
                                                  • + *
                                                  • + *

                                                    The current number CPU cores and threads is set to a non-default value.

                                                    + *
                                                  • + *
                                                  *

                                                  For more information, see Configuring the * Processor of the DB Instance Class in the Amazon RDS User Guide. * @@ -2159,120 +2186,123 @@ export namespace ProcessorFeature { */ export interface DBSnapshot { /** - *

                                                  The number of CPU cores and the number of threads per core for the DB instance class - * of the DB instance when the DB snapshot was created.

                                                  + *

                                                  Specifies the identifier for the DB snapshot.

                                                  */ - ProcessorFeatures?: ProcessorFeature[]; + DBSnapshotIdentifier?: string; /** - *

                                                  Specifies whether the DB snapshot is encrypted.

                                                  + *

                                                  The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied from. It only has value in case of cross-customer or cross-region copy.

                                                  */ - Encrypted?: boolean; + SourceDBSnapshotIdentifier?: string; /** - *

                                                  Specifies the time in Coordinated Universal Time (UTC) when the DB instance, from - * which the snapshot was taken, was created.

                                                  + *

                                                  The percentage of the estimated data that has been transferred.

                                                  */ - InstanceCreateTime?: Date; + PercentProgress?: number; /** - *

                                                  The time zone of the DB snapshot. - * In most cases, the Timezone element is empty. - * Timezone content appears only for - * snapshots taken from - * Microsoft SQL Server DB instances - * that were created with a time zone specified. - *

                                                  + *

                                                  Specifies whether the DB snapshot is encrypted.

                                                  */ - Timezone?: string; + Encrypted?: boolean; /** - *

                                                  The identifier for the source DB instance, which can't be changed and which is unique to an AWS Region.

                                                  + *

                                                  Specifies the storage type associated with DB snapshot.

                                                  */ - DbiResourceId?: string; + StorageType?: string; /** - *

                                                  True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

                                                  + *

                                                  Specifies the version of the database engine.

                                                  */ - IAMDatabaseAuthenticationEnabled?: boolean; + EngineVersion?: string; /** - *

                                                  Specifies the identifier for the DB snapshot.

                                                  + *

                                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                                  */ - DBSnapshotIdentifier?: string; + TdeCredentialArn?: string; /** - *

                                                  Provides the VPC ID associated with the DB snapshot.

                                                  + *

                                                  The Amazon Resource Name (ARN) for the DB snapshot.

                                                  */ - VpcId?: string; + DBSnapshotArn?: string; /** - *

                                                  Provides the type of the DB snapshot.

                                                  + *

                                                  Specifies the name of the database engine.

                                                  */ - SnapshotType?: string; + Engine?: string; /** - *

                                                  The percentage of the estimated data that has been transferred.

                                                  + *

                                                  Specifies the allocated storage size in gibibytes (GiB).

                                                  */ - PercentProgress?: number; + AllocatedStorage?: number; /** - *

                                                  Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.

                                                  + *

                                                  A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                                  */ - AvailabilityZone?: string; + TagList?: Tag[]; /** - *

                                                  Specifies the port that the database engine was listening on at the time of the snapshot.

                                                  + *

                                                  Provides the option group name for the DB snapshot.

                                                  */ - Port?: number; + OptionGroupName?: string; /** - *

                                                  - * If Encrypted is true, the AWS KMS key identifier - * for the encrypted DB snapshot. - *

                                                  + *

                                                  The number of CPU cores and the number of threads per core for the DB instance class + * of the DB instance when the DB snapshot was created.

                                                  */ - KmsKeyId?: string; + ProcessorFeatures?: ProcessorFeature[]; /** - *

                                                  Provides the master username for the DB snapshot.

                                                  + *

                                                  Specifies when the snapshot was taken in Coodinated Universal Time (UTC).

                                                  */ - MasterUsername?: string; + SnapshotCreateTime?: Date; /** - *

                                                  Specifies the status of this DB snapshot.

                                                  + *

                                                  Specifies the DB instance identifier of the DB instance this DB snapshot was created from.

                                                  */ - Status?: string; + DBInstanceIdentifier?: string; /** - *

                                                  The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied from. It only has value in case of cross-customer or cross-region copy.

                                                  + *

                                                  The AWS Region that the DB snapshot was created in or copied from.

                                                  */ - SourceDBSnapshotIdentifier?: string; + SourceRegion?: string; /** - *

                                                  Specifies the name of the database engine.

                                                  + *

                                                  Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.

                                                  */ - Engine?: string; + Iops?: number; /** - *

                                                  The Amazon Resource Name (ARN) for the DB snapshot.

                                                  + *

                                                  Provides the type of the DB snapshot.

                                                  */ - DBSnapshotArn?: string; + SnapshotType?: string; /** - *

                                                  Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.

                                                  + *

                                                  Specifies the port that the database engine was listening on at the time of the snapshot.

                                                  */ - Iops?: number; + Port?: number; /** - *

                                                  Specifies the version of the database engine.

                                                  + *

                                                  Specifies the status of this DB snapshot.

                                                  */ - EngineVersion?: string; + Status?: string; /** - *

                                                  Specifies when the snapshot was taken in Coodinated Universal Time (UTC).

                                                  + *

                                                  The time zone of the DB snapshot. + * In most cases, the Timezone element is empty. + * Timezone content appears only for + * snapshots taken from + * Microsoft SQL Server DB instances + * that were created with a time zone specified. + *

                                                  */ - SnapshotCreateTime?: Date; + Timezone?: string; + + /** + *

                                                  True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

                                                  + */ + IAMDatabaseAuthenticationEnabled?: boolean; /** *

                                                  License model information for the restored DB instance.

                                                  @@ -2280,34 +2310,38 @@ export interface DBSnapshot { LicenseModel?: string; /** - *

                                                  The AWS Region that the DB snapshot was created in or copied from.

                                                  + *

                                                  The identifier for the source DB instance, which can't be changed and which is unique to an AWS Region.

                                                  */ - SourceRegion?: string; + DbiResourceId?: string; /** - *

                                                  Specifies the storage type associated with DB snapshot.

                                                  + *

                                                  Provides the master username for the DB snapshot.

                                                  */ - StorageType?: string; + MasterUsername?: string; /** - *

                                                  Specifies the allocated storage size in gibibytes (GiB).

                                                  + *

                                                  Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.

                                                  */ - AllocatedStorage?: number; + AvailabilityZone?: string; /** - *

                                                  Specifies the DB instance identifier of the DB instance this DB snapshot was created from.

                                                  + *

                                                  + * If Encrypted is true, the AWS KMS key identifier + * for the encrypted DB snapshot. + *

                                                  */ - DBInstanceIdentifier?: string; + KmsKeyId?: string; /** - *

                                                  Provides the option group name for the DB snapshot.

                                                  + *

                                                  Provides the VPC ID associated with the DB snapshot.

                                                  */ - OptionGroupName?: string; + VpcId?: string; /** - *

                                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                                  + *

                                                  Specifies the time in Coordinated Universal Time (UTC) when the DB instance, from + * which the snapshot was taken, was created.

                                                  */ - TdeCredentialArn?: string; + InstanceCreateTime?: Date; } export namespace DBSnapshot { @@ -2370,13 +2404,30 @@ export namespace InvalidDBSnapshotStateFault { */ export interface CopyOptionGroupMessage { /** - *

                                                  The identifier for the copied option group.

                                                  + *

                                                  The description for the copied option group.

                                                  + */ + TargetOptionGroupDescription: string | undefined; + + /** + *

                                                  The identifier for the source option group. + *

                                                  *

                                                  Constraints:

                                                  *
                                                    *
                                                  • - *

                                                    Can't be null, empty, or blank

                                                    + *

                                                    Must specify a valid option group.

                                                    *
                                                  • - *
                                                  • + *
                                                  + */ + SourceOptionGroupIdentifier: string | undefined; + + /** + *

                                                  The identifier for the copied option group.

                                                  + *

                                                  Constraints:

                                                  + *
                                                    + *
                                                  • + *

                                                    Can't be null, empty, or blank

                                                    + *
                                                  • + *
                                                  • *

                                                    Must contain from 1 to 255 letters, numbers, or hyphens

                                                    *
                                                  • *
                                                  • @@ -2391,42 +2442,12 @@ export interface CopyOptionGroupMessage { */ TargetOptionGroupIdentifier: string | undefined; - /** - *

                                                    The description for the copied option group.

                                                    - */ - TargetOptionGroupDescription: string | undefined; - /** *

                                                    A list of tags. * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. *

                                                    */ Tags?: Tag[]; - - /** - *

                                                    The identifier or ARN for the source option group. For information about - * creating an ARN, - * see - * Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. - *

                                                    - *

                                                    Constraints:

                                                    - *
                                                      - *
                                                    • - *

                                                      Must specify a valid option group.

                                                      - *
                                                    • - *
                                                    • - *

                                                      If the source option group is in the same AWS Region as the copy, - * specify a valid option group identifier, for example my-option-group, - * or a valid ARN.

                                                      - *
                                                    • - *
                                                    • - *

                                                      If the source option group is in a different AWS Region than the copy, - * specify a valid option group ARN, for example - * arn:aws:rds:us-west-2:123456789012:og:special-options.

                                                      - *
                                                    • - *
                                                    - */ - SourceOptionGroupIdentifier: string | undefined; } export namespace CopyOptionGroupMessage { @@ -2462,14 +2483,14 @@ export namespace CopyOptionGroupMessage { */ export interface DBSecurityGroupMembership { /** - *

                                                    The name of the DB security group.

                                                    + *

                                                    The status of the DB security group.

                                                    */ - DBSecurityGroupName?: string; + Status?: string; /** - *

                                                    The status of the DB security group.

                                                    + *

                                                    The name of the DB security group.

                                                    */ - Status?: string; + DBSecurityGroupName?: string; } export namespace DBSecurityGroupMembership { @@ -2483,29 +2504,29 @@ export namespace DBSecurityGroupMembership { */ export interface OptionSetting { /** - *

                                                    Indicates if the option setting is part of a collection.

                                                    + *

                                                    The name of the option that has settings that you can set.

                                                    */ - IsCollection?: boolean; + Name?: string; /** - *

                                                    The default value of the option setting.

                                                    + *

                                                    The data type of the option setting.

                                                    */ - DefaultValue?: string; + DataType?: string; /** - *

                                                    The DB engine specific parameter type.

                                                    + *

                                                    The current value of the option setting.

                                                    */ - ApplyType?: string; + Value?: string; /** - *

                                                    The description of the option setting.

                                                    + *

                                                    The DB engine specific parameter type.

                                                    */ - Description?: string; + ApplyType?: string; /** - *

                                                    The data type of the option setting.

                                                    + *

                                                    The default value of the option setting.

                                                    */ - DataType?: string; + DefaultValue?: string; /** *

                                                    A Boolean value that, when true, indicates the option setting can be modified from the default.

                                                    @@ -2513,19 +2534,19 @@ export interface OptionSetting { IsModifiable?: boolean; /** - *

                                                    The name of the option that has settings that you can set.

                                                    + *

                                                    The allowed values of the option setting.

                                                    */ - Name?: string; + AllowedValues?: string; /** - *

                                                    The current value of the option setting.

                                                    + *

                                                    Indicates if the option setting is part of a collection.

                                                    */ - Value?: string; + IsCollection?: boolean; /** - *

                                                    The allowed values of the option setting.

                                                    + *

                                                    The description of the option setting.

                                                    */ - AllowedValues?: string; + Description?: string; } export namespace OptionSetting { @@ -2539,14 +2560,14 @@ export namespace OptionSetting { */ export interface VpcSecurityGroupMembership { /** - *

                                                    The status of the VPC security group.

                                                    + *

                                                    The name of the VPC security group.

                                                    */ - Status?: string; + VpcSecurityGroupId?: string; /** - *

                                                    The name of the VPC security group.

                                                    + *

                                                    The status of the VPC security group.

                                                    */ - VpcSecurityGroupId?: string; + Status?: string; } export namespace VpcSecurityGroupMembership { @@ -2560,49 +2581,49 @@ export namespace VpcSecurityGroupMembership { */ export interface Option { /** - *

                                                    The version of the option.

                                                    + *

                                                    The option settings for this option.

                                                    */ - OptionVersion?: string; + OptionSettings?: OptionSetting[]; /** - *

                                                    The description of the option.

                                                    + *

                                                    Indicate if this option is persistent.

                                                    */ - OptionDescription?: string; + Persistent?: boolean; /** - *

                                                    The option settings for this option.

                                                    + *

                                                    If the option requires access to a port, then this DB security group allows access to the port.

                                                    */ - OptionSettings?: OptionSetting[]; + DBSecurityGroupMemberships?: DBSecurityGroupMembership[]; /** - *

                                                    If required, the port configured for this option to use.

                                                    + *

                                                    The name of the option.

                                                    */ - Port?: number; + OptionName?: string; /** - *

                                                    If the option requires access to a port, then this VPC security group allows access to the port.

                                                    + *

                                                    The version of the option.

                                                    */ - VpcSecurityGroupMemberships?: VpcSecurityGroupMembership[]; + OptionVersion?: string; /** - *

                                                    Indicate if this option is permanent.

                                                    + *

                                                    The description of the option.

                                                    */ - Permanent?: boolean; + OptionDescription?: string; /** - *

                                                    Indicate if this option is persistent.

                                                    + *

                                                    If the option requires access to a port, then this VPC security group allows access to the port.

                                                    */ - Persistent?: boolean; + VpcSecurityGroupMemberships?: VpcSecurityGroupMembership[]; /** - *

                                                    The name of the option.

                                                    + *

                                                    If required, the port configured for this option to use.

                                                    */ - OptionName?: string; + Port?: number; /** - *

                                                    If the option requires access to a port, then this DB security group allows access to the port.

                                                    + *

                                                    Indicate if this option is permanent.

                                                    */ - DBSecurityGroupMemberships?: DBSecurityGroupMembership[]; + Permanent?: boolean; } export namespace Option { @@ -2615,35 +2636,20 @@ export namespace Option { *

                                                    */ export interface OptionGroup { - /** - *

                                                    Provides a description of the option group.

                                                    - */ - OptionGroupDescription?: string; - - /** - *

                                                    Indicates what options are available in the option group.

                                                    - */ - Options?: Option[]; - - /** - *

                                                    The Amazon Resource Name (ARN) for the option group.

                                                    - */ - OptionGroupArn?: string; - /** *

                                                    Indicates the name of the engine that this option group can be applied to.

                                                    */ EngineName?: string; /** - *

                                                    Indicates the major engine version associated with this option group.

                                                    + *

                                                    Specifies the name of the option group.

                                                    */ - MajorEngineVersion?: string; + OptionGroupName?: string; /** - *

                                                    Specifies the name of the option group.

                                                    + *

                                                    The Amazon Resource Name (ARN) for the option group.

                                                    */ - OptionGroupName?: string; + OptionGroupArn?: string; /** *

                                                    If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. @@ -2655,6 +2661,11 @@ export interface OptionGroup { */ VpcId?: string; + /** + *

                                                    Provides a description of the option group.

                                                    + */ + OptionGroupDescription?: string; + /** *

                                                    Indicates whether this option group can be applied to both VPC * and non-VPC instances. The value true indicates the option group @@ -2662,6 +2673,16 @@ export interface OptionGroup { *

                                                    */ AllowsVpcAndNonVpcInstanceMemberships?: boolean; + + /** + *

                                                    Indicates the major engine version associated with this option group.

                                                    + */ + MajorEngineVersion?: string; + + /** + *

                                                    Indicates what options are available in the option group.

                                                    + */ + Options?: Option[]; } export namespace OptionGroup { @@ -2733,27 +2754,27 @@ export namespace OptionGroupQuotaExceededFault { */ export interface CreateCustomAvailabilityZoneMessage { /** - *

                                                    The ID of an existing virtual private network (VPN) between the Amazon RDS website and - * the VMware vSphere cluster.

                                                    + *

                                                    The name of the custom Availability Zone (AZ).

                                                    */ - ExistingVpnId?: string; + CustomAvailabilityZoneName: string | undefined; /** - *

                                                    The IP address of network traffic from your on-premises data center. A custom AZ receives the network traffic.

                                                    + *

                                                    The name of a new VPN tunnel between the Amazon RDS website and the VMware vSphere cluster.

                                                    *

                                                    Specify this parameter only if ExistingVpnId isn't specified.

                                                    */ - VpnTunnelOriginatorIP?: string; + NewVpnTunnelName?: string; /** - *

                                                    The name of the custom Availability Zone (AZ).

                                                    + *

                                                    The IP address of network traffic from your on-premises data center. A custom AZ receives the network traffic.

                                                    + *

                                                    Specify this parameter only if ExistingVpnId isn't specified.

                                                    */ - CustomAvailabilityZoneName: string | undefined; + VpnTunnelOriginatorIP?: string; /** - *

                                                    The name of a new VPN tunnel between the Amazon RDS website and the VMware vSphere cluster.

                                                    - *

                                                    Specify this parameter only if ExistingVpnId isn't specified.

                                                    + *

                                                    The ID of an existing virtual private network (VPN) between the Amazon RDS website and + * the VMware vSphere cluster.

                                                    */ - NewVpnTunnelName?: string; + ExistingVpnId?: string; } export namespace CreateCustomAvailabilityZoneMessage { @@ -2772,34 +2793,34 @@ export namespace CreateCustomAvailabilityZoneMessage { */ export interface VpnDetails { /** - *

                                                    The IP address of network traffic from your on-premises data center. A custom AZ receives the network traffic.

                                                    + *

                                                    The ID of the VPN.

                                                    */ - VpnTunnelOriginatorIP?: string; + VpnId?: string; /** - *

                                                    The preshared key (PSK) for the VPN.

                                                    + *

                                                    The state of the VPN.

                                                    */ - VpnPSK?: string; + VpnState?: string; /** - *

                                                    The ID of the VPN.

                                                    + *

                                                    The IP address of network traffic from your on-premises data center. A custom AZ receives the network traffic.

                                                    */ - VpnId?: string; + VpnTunnelOriginatorIP?: string; /** - *

                                                    The IP address of network traffic from AWS to your on-premises data center.

                                                    + *

                                                    The name of the VPN.

                                                    */ - VpnGatewayIp?: string; + VpnName?: string; /** - *

                                                    The state of the VPN.

                                                    + *

                                                    The preshared key (PSK) for the VPN.

                                                    */ - VpnState?: string; + VpnPSK?: string; /** - *

                                                    The name of the VPN.

                                                    + *

                                                    The IP address of network traffic from AWS to your on-premises data center.

                                                    */ - VpnName?: string; + VpnGatewayIp?: string; } export namespace VpnDetails { @@ -2819,26 +2840,26 @@ export namespace VpnDetails { */ export interface CustomAvailabilityZone { /** - *

                                                    The identifier of the custom AZ.

                                                    - *

                                                    Amazon RDS generates a unique identifier when a custom AZ is created.

                                                    + *

                                                    Information about the virtual private network (VPN) between the VMware vSphere cluster + * and the AWS website.

                                                    */ - CustomAvailabilityZoneId?: string; + VpnDetails?: VpnDetails; /** - *

                                                    The name of the custom AZ.

                                                    + *

                                                    The status of the custom AZ.

                                                    */ - CustomAvailabilityZoneName?: string; + CustomAvailabilityZoneStatus?: string; /** - *

                                                    Information about the virtual private network (VPN) between the VMware vSphere cluster - * and the AWS website.

                                                    + *

                                                    The name of the custom AZ.

                                                    */ - VpnDetails?: VpnDetails; + CustomAvailabilityZoneName?: string; /** - *

                                                    The status of the custom AZ.

                                                    + *

                                                    The identifier of the custom AZ.

                                                    + *

                                                    Amazon RDS generates a unique identifier when a custom AZ is created.

                                                    */ - CustomAvailabilityZoneStatus?: string; + CustomAvailabilityZoneId?: string; } export namespace CustomAvailabilityZone { @@ -2908,9 +2929,14 @@ export namespace CustomAvailabilityZoneQuotaExceededFault { */ export interface ScalingConfiguration { /** - *

                                                    The time, in seconds, before an Aurora DB cluster in serverless mode is paused.

                                                    + *

                                                    A value that indicates whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. + * A DB cluster can be paused only when it's idle (it has no connections).

                                                    + * + *

                                                    If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. + * In this case, the DB cluster is restored when there is a request to connect to it.

                                                    + *
                                                    */ - SecondsUntilAutoPause?: number; + AutoPause?: boolean; /** *

                                                    The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.

                                                    @@ -2927,14 +2953,6 @@ export interface ScalingConfiguration { */ TimeoutAction?: string; - /** - *

                                                    The minimum capacity for an Aurora DB cluster in serverless DB engine mode.

                                                    - *

                                                    For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.

                                                    - *

                                                    For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192, and 384.

                                                    - *

                                                    The minimum capacity must be less than or equal to the maximum capacity.

                                                    - */ - MinCapacity?: number; - /** *

                                                    The maximum capacity for an Aurora DB cluster in serverless DB engine mode.

                                                    *

                                                    For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.

                                                    @@ -2944,14 +2962,17 @@ export interface ScalingConfiguration { MaxCapacity?: number; /** - *

                                                    A value that indicates whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. - * A DB cluster can be paused only when it's idle (it has no connections).

                                                    - * - *

                                                    If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. - * In this case, the DB cluster is restored when there is a request to connect to it.

                                                    - *
                                                    + *

                                                    The time, in seconds, before an Aurora DB cluster in serverless mode is paused.

                                                    */ - AutoPause?: boolean; + SecondsUntilAutoPause?: number; + + /** + *

                                                    The minimum capacity for an Aurora DB cluster in serverless DB engine mode.

                                                    + *

                                                    For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.

                                                    + *

                                                    For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192, and 384.

                                                    + *

                                                    The minimum capacity must be less than or equal to the maximum capacity.

                                                    + */ + MinCapacity?: number; } export namespace ScalingConfiguration { @@ -2965,197 +2986,46 @@ export namespace ScalingConfiguration { */ export interface CreateDBClusterMessage { /** - *

                                                    A list of EC2 VPC security groups to associate with this DB cluster.

                                                    - */ - VpcSecurityGroupIds?: string[]; - - /** - *

                                                    A DB subnet group to associate with this DB cluster.

                                                    - *

                                                    Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

                                                    - *

                                                    Example: mySubnetgroup - *

                                                    - */ - DBSubnetGroupName?: string; - - /** - *

                                                    A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. - * The default is not to copy them.

                                                    - */ - CopyTagsToSnapshot?: boolean; - - /** - *

                                                    The list of log types that need to be enabled for exporting to CloudWatch Logs. The values - * in the list depend on the DB engine being used. For more information, see - * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

                                                    - */ - EnableCloudwatchLogsExports?: string[]; - - /** - *

                                                    - * The name of the DB cluster parameter group to associate - * with this DB cluster. If you do not specify a value, then - * the default DB cluster parameter group for the specified DB engine and version is used. - *

                                                    - *

                                                    Constraints:

                                                    - *
                                                      - *
                                                    • - *

                                                      If supplied, must match the name of an existing DB cluster parameter group.

                                                      - *
                                                    • - *
                                                    - */ - DBClusterParameterGroupName?: string; - - /** - *

                                                    The number of days for which automated backups are retained.

                                                    - *

                                                    Default: 1

                                                    - *

                                                    Constraints:

                                                    - *
                                                      - *
                                                    • - *

                                                      Must be a value from 1 to 35

                                                      - *
                                                    • - *
                                                    - */ - BackupRetentionPeriod?: number; - - /** - *

                                                    The name of the database engine to be used for this DB cluster.

                                                    - *

                                                    Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for MySQL 5.7-compatible Aurora), and aurora-postgresql - *

                                                    + *

                                                    A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. By default, the HTTP endpoint + * is disabled.

                                                    + *

                                                    When enabled, the HTTP endpoint provides a connectionless web service API for running + * SQL queries on the Aurora Serverless DB cluster. You can also query your database + * from inside the RDS console with the query editor.

                                                    + *

                                                    For more information, see Using the Data API for Aurora Serverless in the + * Amazon Aurora User Guide.

                                                    */ - Engine: string | undefined; + EnableHttpEndpoint?: boolean; /** - *

                                                    The name of the master user for the DB cluster.

                                                    + *

                                                    The DB cluster identifier. This parameter is stored as a lowercase string.

                                                    *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      Must be 1 to 16 letters or numbers.

                                                      + *

                                                      Must contain from 1 to 63 letters, numbers, or hyphens.

                                                      *
                                                    • *
                                                    • *

                                                      First character must be a letter.

                                                      *
                                                    • *
                                                    • - *

                                                      Can't be a reserved word for the chosen database engine.

                                                      + *

                                                      Can't end with a hyphen or contain two consecutive hyphens.

                                                      *
                                                    • *
                                                    + *

                                                    Example: my-cluster1 + *

                                                    */ - MasterUsername?: string; + DBClusterIdentifier: string | undefined; /** - *

                                                    The target backtrack window, in seconds. To disable backtracking, set this value to - * 0.

                                                    - * - *

                                                    Currently, Backtrack is only supported for Aurora MySQL DB clusters.

                                                    - *
                                                    - *

                                                    Default: 0

                                                    + *

                                                    The number of days for which automated backups are retained.

                                                    + *

                                                    Default: 1

                                                    *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      If specified, this value must be set to a number from 0 to 259,200 (72 hours).

                                                      - *
                                                    • - *
                                                    - */ - BacktrackWindow?: number; - - /** - *

                                                    - * The global cluster ID of an Aurora cluster that becomes the primary cluster - * in the new global database cluster. - *

                                                    - */ - GlobalClusterIdentifier?: string; - - /** - *

                                                    A value that indicates whether the DB cluster has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled.

                                                    - */ - DeletionProtection?: boolean; - - /** - *

                                                    A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on - * AWS Regions and Availability Zones, see - * Choosing the Regions and - * Availability Zones in the Amazon Aurora User Guide. - *

                                                    - */ - AvailabilityZones?: string[]; - - /** - *

                                                    The AWS KMS key identifier for an encrypted DB cluster.

                                                    - *

                                                    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption - * key. If you are creating a DB cluster with the same AWS account that owns the KMS - * encryption key used to encrypt the new DB cluster, then you can use the KMS key alias - * instead of the ARN for the KMS encryption key.

                                                    - *

                                                    If an encryption key isn't specified in KmsKeyId:

                                                    - *
                                                      - *
                                                    • - *

                                                      If ReplicationSourceIdentifier identifies an encrypted - * source, then Amazon RDS will use the encryption key used to encrypt the - * source. Otherwise, Amazon RDS will use your default encryption key.

                                                      - *
                                                    • - *
                                                    • - *

                                                      If the StorageEncrypted parameter is enabled and - * ReplicationSourceIdentifier isn't specified, then Amazon RDS - * will use your default encryption key.

                                                      - *
                                                    • - *
                                                    - *

                                                    AWS KMS creates the default encryption key for your AWS account. Your AWS account - * has a different default encryption key for each AWS Region.

                                                    - *

                                                    If you create a read replica of an encrypted DB cluster in another AWS Region, you - * must set KmsKeyId to a KMS key ID that is valid in the destination AWS - * Region. This key is used to encrypt the read replica in that AWS Region.

                                                    - */ - KmsKeyId?: string; - - /** - *

                                                    The name for your database of up to 64 alphanumeric characters. If you do not - * provide a name, Amazon RDS doesn't create a database in the DB cluster you are - * creating.

                                                    - */ - DatabaseName?: string; - - /** - *

                                                    A URL that contains a Signature Version 4 signed request for - * the CreateDBCluster action to be called in the source AWS Region where the DB cluster is replicated from. - * You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

                                                    - * - *

                                                    The pre-signed URL must be a valid request for the CreateDBCluster API action - * that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

                                                    - *

                                                    The pre-signed URL request must contain the following parameter values:

                                                    - *
                                                      - *
                                                    • - *

                                                      - * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of - * the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster - * action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * DestinationRegion - The name of the AWS Region that Aurora read replica will - * be created in.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. - * This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an - * encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier would look like - * Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

                                                      + *

                                                      Must be a value from 1 to 35

                                                      *
                                                    • *
                                                    - * - *

                                                    To learn how to generate a Signature Version 4 signed request, see - * - * Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and - * - * Signature Version 4 Signing Process.

                                                    - * - *

                                                    If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) - * instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid - * request for the operation that can be executed in the source AWS Region.

                                                    - *
                                                    */ - PreSignedUrl?: string; + BackupRetentionPeriod?: number; /** *

                                                    The daily time range during which automated backups are created @@ -3187,19 +3057,26 @@ export interface CreateDBClusterMessage { PreferredBackupWindow?: string; /** - *

                                                    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

                                                    - *

                                                    Format: ddd:hh24:mi-ddd:hh24:mi - *

                                                    - *

                                                    The default is a 30-minute window selected at random from an - * 8-hour block of time for each AWS Region, occurring on a random day of the - * week. To see the time blocks available, see - * - * Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide. - *

                                                    - *

                                                    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                                    - *

                                                    Constraints: Minimum 30-minute window.

                                                    + *

                                                    The name of the master user for the DB cluster.

                                                    + *

                                                    Constraints:

                                                    + *
                                                      + *
                                                    • + *

                                                      Must be 1 to 16 letters or numbers.

                                                      + *
                                                    • + *
                                                    • + *

                                                      First character must be a letter.

                                                      + *
                                                    • + *
                                                    • + *

                                                      Can't be a reserved word for the chosen database engine.

                                                      + *
                                                    • + *
                                                    */ - PreferredMaintenanceWindow?: string; + MasterUsername?: string; + + /** + *

                                                    A value that indicates that the DB cluster should be associated with the specified CharacterSet.

                                                    + */ + CharacterSetName?: string; /** *

                                                    A value that indicates whether to enable write operations to be forwarded @@ -3211,26 +3088,39 @@ export interface CreateDBClusterMessage { EnableGlobalWriteForwarding?: boolean; /** - *

                                                    The password for the master database user. This password can contain any printable ASCII character except "/", """, or "@".

                                                    - *

                                                    Constraints: Must contain from 8 to 41 characters.

                                                    + *

                                                    A value that indicates whether the DB cluster is encrypted.

                                                    */ - MasterUserPassword?: string; + StorageEncrypted?: boolean; /** - *

                                                    Tags to assign to the DB cluster.

                                                    + *

                                                    A list of EC2 VPC security groups to associate with this DB cluster.

                                                    */ - Tags?: Tag[]; + VpcSecurityGroupIds?: string[]; /** - *

                                                    The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB - * cluster is created as a read replica.

                                                    + *

                                                    A DB subnet group to associate with this DB cluster.

                                                    + *

                                                    Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

                                                    + *

                                                    Example: mySubnetgroup + *

                                                    */ - ReplicationSourceIdentifier?: string; + DBSubnetGroupName?: string; /** - *

                                                    Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                    + *

                                                    The list of log types that need to be enabled for exporting to CloudWatch Logs. The values + * in the list depend on the DB engine being used. For more information, see + * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

                                                    + *

                                                    + * Aurora MySQL + *

                                                    + *

                                                    Possible values are audit, error, general, and slowquery. + *

                                                    + *

                                                    + * Aurora PostgreSQL + *

                                                    + *

                                                    Possible values are postgresql and upgrade. + *

                                                    */ - DomainIAMRoleName?: string; + EnableCloudwatchLogsExports?: string[]; /** *

                                                    A value that indicates whether to enable mapping of AWS Identity and Access @@ -3244,61 +3134,101 @@ export interface CreateDBClusterMessage { EnableIAMDatabaseAuthentication?: boolean; /** - *

                                                    The Active Directory directory ID to create the DB cluster in.

                                                    - *

                                                    - * For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. - * For more information, see Kerberos Authentication - * in the Amazon Aurora User Guide. - *

                                                    - */ - Domain?: string; - + *

                                                    The target backtrack window, in seconds. To disable backtracking, set this value to + * 0.

                                                    + * + *

                                                    Currently, Backtrack is only supported for Aurora MySQL DB clusters.

                                                    + *
                                                    + *

                                                    Default: 0

                                                    + *

                                                    Constraints:

                                                    + *
                                                      + *
                                                    • + *

                                                      If specified, this value must be set to a number from 0 to 259,200 (72 hours).

                                                      + *
                                                    • + *
                                                    + */ + BacktrackWindow?: number; + /** - *

                                                    A value that indicates whether the DB cluster is encrypted.

                                                    + *

                                                    The Active Directory directory ID to create the DB cluster in.

                                                    + *

                                                    + * For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. + * For more information, see Kerberos Authentication + * in the Amazon Aurora User Guide. + *

                                                    */ - StorageEncrypted?: boolean; + Domain?: string; /** - *

                                                    A value that indicates that the DB cluster should be associated with the specified CharacterSet.

                                                    + *

                                                    The version number of the database engine to use.

                                                    + *

                                                    To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command:

                                                    + *

                                                    + * aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion" + *

                                                    + *

                                                    To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command:

                                                    + *

                                                    + * aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion" + *

                                                    + *

                                                    To list all of the available engine versions for aurora-postgresql, use the following command:

                                                    + *

                                                    + * aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion" + *

                                                    + *

                                                    + * Aurora MySQL + *

                                                    + *

                                                    Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5 + *

                                                    + *

                                                    + * Aurora PostgreSQL + *

                                                    + *

                                                    Example: 9.6.3, 10.7 + *

                                                    */ - CharacterSetName?: string; + EngineVersion?: string; /** - *

                                                    The DB engine mode of the DB cluster, either provisioned, serverless, + *

                                                    The password for the master database user. This password can contain any printable ASCII character except "/", """, or "@".

                                                    + *

                                                    Constraints: Must contain from 8 to 41 characters.

                                                    + */ + MasterUserPassword?: string; + + /** + *

                                                    The DB engine mode of the DB cluster, either provisioned + * serverless, * parallelquery, global, or multimaster.

                                                    - * - *

                                                    - * global engine mode only applies for global database clusters created with Aurora MySQL version - * 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned - * engine mode. - *

                                                    - *
                                                    + *

                                                    The parallelquery engine mode isn't required for Aurora MySQL version 1.23 and higher 1.x versions, + * and version 2.09 and higher 2.x versions.

                                                    + *

                                                    The global engine mode isn't required for Aurora MySQL version 1.22 and higher 1.x versions, + * and global engine mode isn't required for any 2.x versions.

                                                    + *

                                                    The multimaster engine mode only applies for DB clusters created with Aurora MySQL version 5.6.10a.

                                                    + *

                                                    For Aurora PostgreSQL, the global engine mode isn't required, and both the parallelquery + * and the multimaster engine modes currently aren't supported.

                                                    *

                                                    Limitations and requirements apply to some DB engine modes. For more information, see the * following sections in the Amazon Aurora User Guide:

                                                    * */ @@ -3313,15 +3243,19 @@ export interface CreateDBClusterMessage { Port?: number; /** - *

                                                    A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. By default, the HTTP endpoint - * is disabled.

                                                    - *

                                                    When enabled, the HTTP endpoint provides a connectionless web service API for running - * SQL queries on the Aurora Serverless DB cluster. You can also query your database - * from inside the RDS console with the query editor.

                                                    - *

                                                    For more information, see Using the Data API for Aurora Serverless in the - * Amazon Aurora User Guide.

                                                    + *

                                                    + * The name of the DB cluster parameter group to associate + * with this DB cluster. If you do not specify a value, then + * the default DB cluster parameter group for the specified DB engine and version is used. + *

                                                    + *

                                                    Constraints:

                                                    + *
                                                      + *
                                                    • + *

                                                      If supplied, must match the name of an existing DB cluster parameter group.

                                                      + *
                                                    • + *
                                                    */ - EnableHttpEndpoint?: boolean; + DBClusterParameterGroupName?: string; /** *

                                                    For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.

                                                    @@ -3329,23 +3263,11 @@ export interface CreateDBClusterMessage { ScalingConfiguration?: ScalingConfiguration; /** - *

                                                    The DB cluster identifier. This parameter is stored as a lowercase string.

                                                    - *

                                                    Constraints:

                                                    - *
                                                      - *
                                                    • - *

                                                      Must contain from 1 to 63 letters, numbers, or hyphens.

                                                      - *
                                                    • - *
                                                    • - *

                                                      First character must be a letter.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Can't end with a hyphen or contain two consecutive hyphens.

                                                      - *
                                                    • - *
                                                    - *

                                                    Example: my-cluster1 - *

                                                    + *

                                                    The name for your database of up to 64 alphanumeric characters. If you do not + * provide a name, Amazon RDS doesn't create a database in the DB cluster you are + * creating.

                                                    */ - DBClusterIdentifier: string | undefined; + DatabaseName?: string; /** *

                                                    A value that indicates that the DB cluster should be associated with the specified option group.

                                                    @@ -3354,132 +3276,242 @@ export interface CreateDBClusterMessage { OptionGroupName?: string; /** - *

                                                    The version number of the database engine to use.

                                                    - *

                                                    To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command:

                                                    - *

                                                    - * aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion" - *

                                                    - *

                                                    To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command:

                                                    - *

                                                    - * aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion" - *

                                                    - *

                                                    To list all of the available engine versions for aurora-postgresql, use the following command:

                                                    - *

                                                    - * aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion" - *

                                                    - *

                                                    - * Aurora MySQL - *

                                                    - *

                                                    Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5 - *

                                                    - *

                                                    - * Aurora PostgreSQL - *

                                                    - *

                                                    Example: 9.6.3, 10.7 + *

                                                    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

                                                    + *

                                                    Format: ddd:hh24:mi-ddd:hh24:mi *

                                                    + *

                                                    The default is a 30-minute window selected at random from an + * 8-hour block of time for each AWS Region, occurring on a random day of the + * week. To see the time blocks available, see + * + * Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide. + *

                                                    + *

                                                    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                                    + *

                                                    Constraints: Minimum 30-minute window.

                                                    */ - EngineVersion?: string; -} + PreferredMaintenanceWindow?: string; -export namespace CreateDBClusterMessage { - export const filterSensitiveLog = (obj: CreateDBClusterMessage): any => ({ - ...obj, - }); -} + /** + *

                                                    A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on + * AWS Regions and Availability Zones, see + * Choosing the Regions and + * Availability Zones in the Amazon Aurora User Guide. + *

                                                    + */ + AvailabilityZones?: string[]; -/** - *

                                                    Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

                                                    - */ -export interface DBClusterRole { /** - *

                                                    Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following - * values:

                                                    + *

                                                    The AWS KMS key identifier for an encrypted DB cluster.

                                                    + *

                                                    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption + * key. If you are creating a DB cluster with the same AWS account that owns the KMS + * encryption key used to encrypt the new DB cluster, then you can use the KMS key alias + * instead of the ARN for the KMS encryption key.

                                                    + *

                                                    If an encryption key isn't specified in KmsKeyId:

                                                    *
                                                      *
                                                    • - *

                                                      - * ACTIVE - the IAM role ARN is associated with the DB cluster and can be used to - * access other AWS services on your behalf.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * PENDING - the IAM role ARN is being associated with the DB cluster.

                                                      + *

                                                      If ReplicationSourceIdentifier identifies an encrypted + * source, then Amazon RDS will use the encryption key used to encrypt the + * source. Otherwise, Amazon RDS will use your default encryption key.

                                                      *
                                                    • *
                                                    • - *

                                                      - * INVALID - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable - * to assume the IAM role in order to access other AWS services on your behalf.

                                                      + *

                                                      If the StorageEncrypted parameter is enabled and + * ReplicationSourceIdentifier isn't specified, then Amazon RDS + * will use your default encryption key.

                                                      *
                                                    • *
                                                    + *

                                                    AWS KMS creates the default encryption key for your AWS account. Your AWS account + * has a different default encryption key for each AWS Region.

                                                    + *

                                                    If you create a read replica of an encrypted DB cluster in another AWS Region, you + * must set KmsKeyId to a KMS key ID that is valid in the destination AWS + * Region. This key is used to encrypt the read replica in that AWS Region.

                                                    */ - Status?: string; + KmsKeyId?: string; /** - *

                                                    The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.

                                                    + *

                                                    A value that indicates whether the DB cluster has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled.

                                                    */ - RoleArn?: string; + DeletionProtection?: boolean; /** - *

                                                    The name of the feature associated with the AWS Identity and Access Management (IAM) role. - * For the list of supported feature names, see DBEngineVersion. - *

                                                    + *

                                                    The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB + * cluster is created as a read replica.

                                                    */ - FeatureName?: string; -} - -export namespace DBClusterRole { - export const filterSensitiveLog = (obj: DBClusterRole): any => ({ - ...obj, - }); -} + ReplicationSourceIdentifier?: string; -/** - *

                                                    Contains information about an instance that is part of a DB cluster.

                                                    - */ -export interface DBClusterMember { /** - *

                                                    Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

                                                    + *

                                                    + * The global cluster ID of an Aurora cluster that becomes the primary cluster + * in the new global database cluster. + *

                                                    */ - IsClusterWriter?: boolean; + GlobalClusterIdentifier?: string; /** - *

                                                    A value that specifies the order in which an Aurora Replica is promoted to the primary instance - * after a failure of the existing primary instance. For more information, - * see - * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. - *

                                                    + *

                                                    The name of the database engine to be used for this DB cluster.

                                                    + *

                                                    Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for MySQL 5.7-compatible Aurora), and aurora-postgresql + *

                                                    */ - PromotionTier?: number; + Engine: string | undefined; /** - *

                                                    Specifies the instance identifier for this member of the DB cluster.

                                                    + *

                                                    Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                    */ - DBInstanceIdentifier?: string; + DomainIAMRoleName?: string; /** - *

                                                    Specifies the status of the DB cluster parameter group for this member of the DB cluster.

                                                    + *

                                                    Tags to assign to the DB cluster.

                                                    */ - DBClusterParameterGroupStatus?: string; -} - -export namespace DBClusterMember { - export const filterSensitiveLog = (obj: DBClusterMember): any => ({ - ...obj, - }); -} + Tags?: Tag[]; -/** - *

                                                    Contains status information for a DB cluster option group.

                                                    - */ -export interface DBClusterOptionGroupStatus { /** - *

                                                    Specifies the status of the DB cluster option group.

                                                    + *

                                                    A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. + * The default is not to copy them.

                                                    */ - Status?: string; + CopyTagsToSnapshot?: boolean; + /** + *

                                                    A URL that contains a Signature Version 4 signed request for + * the CreateDBCluster action to be called in the source AWS Region where the DB cluster is replicated from. + * You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

                                                    + * + *

                                                    The pre-signed URL must be a valid request for the CreateDBCluster API action + * that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

                                                    + *

                                                    The pre-signed URL request must contain the following parameter values:

                                                    + *
                                                      + *
                                                    • + *

                                                      + * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of + * the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster + * action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * DestinationRegion - The name of the AWS Region that Aurora read replica will + * be created in.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. + * This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an + * encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier would look like + * Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

                                                      + *
                                                    • + *
                                                    + * + *

                                                    To learn how to generate a Signature Version 4 signed request, see + * + * Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and + * + * Signature Version 4 Signing Process.

                                                    + * + *

                                                    If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) + * instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid + * request for the operation that can be executed in the source AWS Region.

                                                    + *
                                                    + */ + PreSignedUrl?: string; +} + +export namespace CreateDBClusterMessage { + export const filterSensitiveLog = (obj: CreateDBClusterMessage): any => ({ + ...obj, + }); +} + +/** + *

                                                    Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

                                                    + */ +export interface DBClusterRole { + /** + *

                                                    The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.

                                                    + */ + RoleArn?: string; + + /** + *

                                                    Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following + * values:

                                                    + *
                                                      + *
                                                    • + *

                                                      + * ACTIVE - the IAM role ARN is associated with the DB cluster and can be used to + * access other AWS services on your behalf.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * PENDING - the IAM role ARN is being associated with the DB cluster.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * INVALID - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable + * to assume the IAM role in order to access other AWS services on your behalf.

                                                      + *
                                                    • + *
                                                    + */ + Status?: string; + + /** + *

                                                    The name of the feature associated with the AWS Identity and Access Management (IAM) role. + * For the list of supported feature names, see DBEngineVersion. + *

                                                    + */ + FeatureName?: string; +} + +export namespace DBClusterRole { + export const filterSensitiveLog = (obj: DBClusterRole): any => ({ + ...obj, + }); +} + +/** + *

                                                    Contains information about an instance that is part of a DB cluster.

                                                    + */ +export interface DBClusterMember { + /** + *

                                                    Specifies the status of the DB cluster parameter group for this member of the DB cluster.

                                                    + */ + DBClusterParameterGroupStatus?: string; + + /** + *

                                                    A value that specifies the order in which an Aurora Replica is promoted to the primary instance + * after a failure of the existing primary instance. For more information, + * see + * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. + *

                                                    + */ + PromotionTier?: number; + + /** + *

                                                    Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

                                                    + */ + IsClusterWriter?: boolean; + + /** + *

                                                    Specifies the instance identifier for this member of the DB cluster.

                                                    + */ + DBInstanceIdentifier?: string; +} + +export namespace DBClusterMember { + export const filterSensitiveLog = (obj: DBClusterMember): any => ({ + ...obj, + }); +} + +/** + *

                                                    Contains status information for a DB cluster option group.

                                                    + */ +export interface DBClusterOptionGroupStatus { /** *

                                                    Specifies the name of the DB cluster option group.

                                                    */ DBClusterOptionGroupName?: string; + + /** + *

                                                    Specifies the status of the DB cluster option group.

                                                    + */ + Status?: string; } export namespace DBClusterOptionGroupStatus { @@ -3493,24 +3525,24 @@ export namespace DBClusterOptionGroupStatus { */ export interface DomainMembership { /** - *

                                                    The name of the IAM role to be used when making API calls to the Directory Service.

                                                    + *

                                                    The fully qualified domain name of the Active Directory Domain.

                                                    */ - IAMRoleName?: string; + FQDN?: string; /** - *

                                                    The identifier of the Active Directory Domain.

                                                    + *

                                                    The status of the Active Directory Domain membership for the DB instance or cluster. Values include joined, pending-join, failed, and so on.

                                                    */ - Domain?: string; + Status?: string; /** - *

                                                    The fully qualified domain name of the Active Directory Domain.

                                                    + *

                                                    The name of the IAM role to be used when making API calls to the Directory Service.

                                                    */ - FQDN?: string; + IAMRoleName?: string; /** - *

                                                    The status of the Active Directory Domain membership for the DB instance or cluster. Values include joined, pending-join, failed, and so on.

                                                    + *

                                                    The identifier of the Active Directory Domain.

                                                    */ - Status?: string; + Domain?: string; } export namespace DomainMembership { @@ -3534,10 +3566,10 @@ export enum WriteForwardingStatus { */ export interface ScalingConfigurationInfo { /** - *

                                                    The timeout action of a call to ModifyCurrentDBClusterCapacity, either - * ForceApplyCapacityChange or RollbackCapacityChange.

                                                    + *

                                                    The maximum capacity for the Aurora DB cluster in serverless DB engine + * mode.

                                                    */ - TimeoutAction?: string; + MinCapacity?: number; /** *

                                                    The remaining amount of time, in seconds, before the Aurora DB cluster in @@ -3546,6 +3578,12 @@ export interface ScalingConfigurationInfo { */ SecondsUntilAutoPause?: number; + /** + *

                                                    The timeout action of a call to ModifyCurrentDBClusterCapacity, either + * ForceApplyCapacityChange or RollbackCapacityChange.

                                                    + */ + TimeoutAction?: string; + /** *

                                                    A value that indicates whether automatic pause is allowed for the Aurora DB cluster * in serverless DB engine mode.

                                                    @@ -3557,12 +3595,6 @@ export interface ScalingConfigurationInfo { *

                                                    The maximum capacity for an Aurora DB cluster in serverless DB engine mode.

                                                    */ MaxCapacity?: number; - - /** - *

                                                    The maximum capacity for the Aurora DB cluster in serverless DB engine - * mode.

                                                    - */ - MinCapacity?: number; } export namespace ScalingConfigurationInfo { @@ -3580,323 +3612,324 @@ export namespace ScalingConfigurationInfo { */ export interface DBCluster { /** - *

                                                    Provides a list of VPC security groups that the DB cluster belongs to.

                                                    + *

                                                    The Amazon Resource Name (ARN) for the DB cluster.

                                                    */ - VpcSecurityGroups?: VpcSecurityGroupMembership[]; + DBClusterArn?: string; /** - *

                                                    Contains the identifier of the source DB cluster if this DB cluster is a read - * replica.

                                                    + *

                                                    A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                                    */ - ReplicationSourceIdentifier?: string; + TagList?: Tag[]; /** - *

                                                    The AWS KMS key identifier used for encrypting messages in the database activity stream.

                                                    + *

                                                    Contains the name of the initial database of this DB cluster that was provided at create time, if one was specified when the DB cluster was created. This same name is returned for the life of the DB cluster.

                                                    */ - ActivityStreamKmsKeyId?: string; + DatabaseName?: string; /** - *

                                                    The current capacity of an Aurora Serverless DB cluster. The capacity is 0 (zero) - * when the cluster is paused.

                                                    - *

                                                    For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the - * Amazon Aurora User Guide.

                                                    + *

                                                    Specifies the progress of the operation as a percentage.

                                                    */ - Capacity?: number; + PercentProgress?: string; /** - *

                                                    Specifies the connection endpoint for the primary instance of the DB cluster.

                                                    + *

                                                    For all database engines except Amazon Aurora, AllocatedStorage specifies the allocated storage size in gibibytes (GiB). + * For Aurora, AllocatedStorage always returns 1, because Aurora DB cluster storage size isn't fixed, but instead automatically + * adjusts as needed.

                                                    */ - Endpoint?: string; + AllocatedStorage?: number; /** - *

                                                    The earliest time to which a DB cluster can be backtracked.

                                                    + *

                                                    Indicates the database engine version.

                                                    */ - EarliestBacktrackTime?: Date; + EngineVersion?: string; /** - *

                                                    A value that indicates whether the mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.

                                                    + *

                                                    The mode of the database activity stream. + * Database events such as a change or access generate an activity stream event. + * The database session can handle these events either synchronously or asynchronously. + *

                                                    */ - IAMDatabaseAuthenticationEnabled?: boolean; + ActivityStreamMode?: ActivityStreamMode | string; /** - *

                                                    Specifies whether the DB cluster is encrypted.

                                                    + *

                                                    Identifies all custom endpoints associated with the cluster.

                                                    */ - StorageEncrypted?: boolean; + CustomEndpoints?: string[]; /** - *

                                                    If StorageEncrypted is enabled, the AWS KMS key identifier for the encrypted DB cluster.

                                                    + *

                                                    The name of the database engine to be used for this DB cluster.

                                                    */ - KmsKeyId?: string; + Engine?: string; /** - *

                                                    Specifies the port that the database engine is listening on.

                                                    + *

                                                    Specifies the latest time to which a database can be restored with point-in-time restore.

                                                    */ - Port?: number; + LatestRestorableTime?: Date; /** - *

                                                    A value that indicates whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.

                                                    - *

                                                    When enabled, the HTTP endpoint provides a connectionless web service API for running - * SQL queries on the Aurora Serverless DB cluster. You can also query your database - * from inside the RDS console with the query editor.

                                                    - *

                                                    For more information, see Using the Data API for Aurora Serverless in the - * Amazon Aurora User Guide.

                                                    + *

                                                    Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. + * IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services + * on your behalf.

                                                    */ - HttpEndpointEnabled?: boolean; + AssociatedRoles?: DBClusterRole[]; /** - *

                                                    Provides the list of instances that make up the DB cluster.

                                                    + *

                                                    Specifies whether tags are copied from the DB cluster to snapshots of the DB cluster.

                                                    */ - DBClusterMembers?: DBClusterMember[]; + CopyTagsToSnapshot?: boolean; /** - *

                                                    The AWS Region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

                                                    + *

                                                    Specifies the number of days for which automatic DB snapshots are retained.

                                                    */ - DbClusterResourceId?: string; + BackupRetentionPeriod?: number; /** - *

                                                    The Active Directory Domain membership records associated with the DB cluster.

                                                    + *

                                                    Specifies the daily time range during which automated backups are + * created if automated backups are enabled, as determined + * by the BackupRetentionPeriod. + *

                                                    */ - DomainMemberships?: DomainMembership[]; + PreferredBackupWindow?: string; /** - *

                                                    The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances - * connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections - * to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. - * This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.

                                                    - *

                                                    If a failover occurs, and the Aurora Replica that you are connected to is promoted - * to be the primary instance, your connection is dropped. To - * continue sending your read workload to other Aurora Replicas in the cluster, - * you can then reconnect to the reader endpoint.

                                                    + *

                                                    A list of log types that this DB cluster is configured to export to CloudWatch Logs.

                                                    + *

                                                    Log types vary by DB engine. For information about the log types for each DB engine, see + * Amazon RDS Database Log Files in the Amazon Aurora User Guide. + *

                                                    */ - ReaderEndpoint?: string; + EnabledCloudwatchLogsExports?: string[]; /** - *

                                                    The DB engine mode of the DB cluster, either provisioned, serverless, - * parallelquery, global, or multimaster.

                                                    - * - *

                                                    - * global engine mode only applies for global database clusters created with Aurora MySQL version - * 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned - * engine mode. To check if a DB cluster is part of a global database, use DescribeGlobalClusters - * instead of checking the EngineMode return value from DescribeDBClusters. - *

                                                    - *
                                                    + *

                                                    A value that indicates whether the mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.

                                                    */ - EngineMode?: string; + IAMDatabaseAuthenticationEnabled?: boolean; /** - *

                                                    Specifies the number of days for which automatic DB snapshots are retained.

                                                    + *

                                                    Specifies whether you have requested to enable write forwarding for a secondary cluster + * in an Aurora global database. Because write forwarding takes time to enable, check the + * value of GlobalWriteForwardingStatus to confirm that the request has completed + * before using the write forwarding feature for this cluster.

                                                    */ - BackupRetentionPeriod?: number; + GlobalWriteForwardingRequested?: boolean; /** - *

                                                    The earliest time to which a database can be restored with point-in-time - * restore.

                                                    + *

                                                    Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

                                                    */ - EarliestRestorableTime?: Date; + HostedZoneId?: string; /** - *

                                                    The status of the database activity stream.

                                                    + *

                                                    The earliest time to which a DB cluster can be backtracked.

                                                    */ - ActivityStreamStatus?: ActivityStreamStatus | string; + EarliestBacktrackTime?: Date; /** - *

                                                    Specifies whether the DB cluster is a clone of a DB cluster owned by a different AWS account.

                                                    + *

                                                    Provides the list of Availability Zones (AZs) where instances in the DB cluster can be created.

                                                    */ - CrossAccountClone?: boolean; + AvailabilityZones?: string[]; /** - *

                                                    The target backtrack window, in seconds. If this value is set to 0, backtracking is - * disabled for the DB cluster. Otherwise, backtracking is enabled.

                                                    + *

                                                    Specifies whether a secondary cluster in an Aurora global database has + * write forwarding enabled, not enabled, or is in the process of enabling it.

                                                    */ - BacktrackWindow?: number; + GlobalWriteForwardingStatus?: WriteForwardingStatus | string; /** - *

                                                    Contains the master username for the DB cluster.

                                                    + *

                                                    Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

                                                    */ - MasterUsername?: string; + ClusterCreateTime?: Date; /** - *

                                                    Shows the scaling configuration for an Aurora DB cluster in serverless DB engine mode.

                                                    - *

                                                    For more information, see Using Amazon Aurora Serverless in the - * Amazon Aurora User Guide.

                                                    + *

                                                    Provides the list of option group memberships for this DB cluster.

                                                    */ - ScalingConfigurationInfo?: ScalingConfigurationInfo; + DBClusterOptionGroupMemberships?: DBClusterOptionGroupStatus[]; /** - *

                                                    Indicates if the DB cluster has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. - *

                                                    + *

                                                    The earliest time to which a database can be restored with point-in-time + * restore.

                                                    */ - DeletionProtection?: boolean; + EarliestRestorableTime?: Date; /** - *

                                                    Specifies the name of the DB cluster parameter group for the DB cluster.

                                                    + *

                                                    Contains one or more identifiers of the read replicas associated with this DB + * cluster.

                                                    */ - DBClusterParameterGroup?: string; + ReadReplicaIdentifiers?: string[]; /** - *

                                                    Specifies whether the DB cluster has instances in multiple Availability Zones.

                                                    + *

                                                    The number of change records stored for Backtrack.

                                                    */ - MultiAZ?: boolean; + BacktrackConsumedChangeRecords?: number; /** - *

                                                    Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. - * IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services - * on your behalf.

                                                    + *

                                                    Indicates if the DB cluster has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. + *

                                                    */ - AssociatedRoles?: DBClusterRole[]; + DeletionProtection?: boolean; /** - *

                                                    Specifies the latest time to which a database can be restored with point-in-time restore.

                                                    + *

                                                    If StorageEncrypted is enabled, the AWS KMS key identifier for the encrypted DB cluster.

                                                    */ - LatestRestorableTime?: Date; + KmsKeyId?: string; /** - *

                                                    Identifies all custom endpoints associated with the cluster.

                                                    + *

                                                    Specifies the connection endpoint for the primary instance of the DB cluster.

                                                    */ - CustomEndpoints?: string[]; + Endpoint?: string; /** - *

                                                    Contains one or more identifiers of the read replicas associated with this DB - * cluster.

                                                    + *

                                                    Specifies whether the DB cluster is a clone of a DB cluster owned by a different AWS account.

                                                    */ - ReadReplicaIdentifiers?: string[]; + CrossAccountClone?: boolean; /** - *

                                                    The number of change records stored for Backtrack.

                                                    + *

                                                    The current capacity of an Aurora Serverless DB cluster. The capacity is 0 (zero) + * when the cluster is paused.

                                                    + *

                                                    For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the + * Amazon Aurora User Guide.

                                                    */ - BacktrackConsumedChangeRecords?: number; + Capacity?: number; /** - *

                                                    Contains the name of the initial database of this DB cluster that was provided at create time, if one was specified when the DB cluster was created. This same name is returned for the life of the DB cluster.

                                                    + *

                                                    Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.

                                                    */ - DatabaseName?: string; + DBSubnetGroup?: string; /** - *

                                                    If present, specifies the name of the character set that this cluster is associated with.

                                                    + *

                                                    Provides a list of VPC security groups that the DB cluster belongs to.

                                                    */ - CharacterSetName?: string; + VpcSecurityGroups?: VpcSecurityGroupMembership[]; /** - *

                                                    Specifies the progress of the operation as a percentage.

                                                    + *

                                                    Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

                                                    */ - PercentProgress?: string; + PreferredMaintenanceWindow?: string; /** - *

                                                    The mode of the database activity stream. - * Database events such as a change or access generate an activity stream event. - * The database session can handle these events either synchronously or asynchronously. - *

                                                    + *

                                                    The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances + * connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections + * to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. + * This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.

                                                    + *

                                                    If a failover occurs, and the Aurora Replica that you are connected to is promoted + * to be the primary instance, your connection is dropped. To + * continue sending your read workload to other Aurora Replicas in the cluster, + * you can then reconnect to the reader endpoint.

                                                    */ - ActivityStreamMode?: ActivityStreamMode | string; + ReaderEndpoint?: string; /** - *

                                                    For all database engines except Amazon Aurora, AllocatedStorage specifies the allocated storage size in gibibytes (GiB). - * For Aurora, AllocatedStorage always returns 1, because Aurora DB cluster storage size isn't fixed, but instead automatically - * adjusts as needed.

                                                    + *

                                                    Shows the scaling configuration for an Aurora DB cluster in serverless DB engine mode.

                                                    + *

                                                    For more information, see Using Amazon Aurora Serverless in the + * Amazon Aurora User Guide.

                                                    */ - AllocatedStorage?: number; + ScalingConfigurationInfo?: ScalingConfigurationInfo; /** - *

                                                    Indicates the database engine version.

                                                    + *

                                                    Specifies whether the DB cluster has instances in multiple Availability Zones.

                                                    */ - EngineVersion?: string; + MultiAZ?: boolean; /** - *

                                                    Specifies the current state of this DB cluster.

                                                    + *

                                                    The AWS KMS key identifier used for encrypting messages in the database activity stream.

                                                    */ - Status?: string; + ActivityStreamKmsKeyId?: string; /** - *

                                                    Identifies the clone group to which the DB cluster is associated.

                                                    + *

                                                    Contains the identifier of the source DB cluster if this DB cluster is a read + * replica.

                                                    */ - CloneGroupId?: string; + ReplicationSourceIdentifier?: string; /** - *

                                                    Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

                                                    + *

                                                    The Active Directory Domain membership records associated with the DB cluster.

                                                    */ - ClusterCreateTime?: Date; + DomainMemberships?: DomainMembership[]; /** - *

                                                    Provides the name of the database engine to be used for this DB cluster.

                                                    + *

                                                    The name of the Amazon Kinesis data stream used for the database activity stream.

                                                    */ - Engine?: string; + ActivityStreamKinesisStreamName?: string; /** - *

                                                    Specifies whether a secondary cluster in an Aurora global database has - * write forwarding enabled, not enabled, or is in the process of enabling it.

                                                    + *

                                                    Contains the master username for the DB cluster.

                                                    */ - GlobalWriteForwardingStatus?: WriteForwardingStatus | string; + MasterUsername?: string; /** - *

                                                    Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

                                                    + *

                                                    Identifies the clone group to which the DB cluster is associated.

                                                    */ - HostedZoneId?: string; + CloneGroupId?: string; /** - *

                                                    The name of the Amazon Kinesis data stream used for the database activity stream.

                                                    + *

                                                    Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

                                                    */ - ActivityStreamKinesisStreamName?: string; + DBClusterIdentifier?: string; /** - *

                                                    Specifies the daily time range during which automated backups are - * created if automated backups are enabled, as determined - * by the BackupRetentionPeriod. - *

                                                    + *

                                                    Specifies the port that the database engine is listening on.

                                                    */ - PreferredBackupWindow?: string; + Port?: number; /** - *

                                                    Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

                                                    + *

                                                    If present, specifies the name of the character set that this cluster is associated with.

                                                    */ - DBClusterIdentifier?: string; + CharacterSetName?: string; /** - *

                                                    Provides the list of option group memberships for this DB cluster.

                                                    + *

                                                    A value that indicates whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.

                                                    + *

                                                    When enabled, the HTTP endpoint provides a connectionless web service API for running + * SQL queries on the Aurora Serverless DB cluster. You can also query your database + * from inside the RDS console with the query editor.

                                                    + *

                                                    For more information, see Using the Data API for Aurora Serverless in the + * Amazon Aurora User Guide.

                                                    */ - DBClusterOptionGroupMemberships?: DBClusterOptionGroupStatus[]; + HttpEndpointEnabled?: boolean; /** - *

                                                    Provides the list of Availability Zones (AZs) where instances in the DB cluster can be created.

                                                    + *

                                                    Specifies whether the DB cluster is encrypted.

                                                    */ - AvailabilityZones?: string[]; + StorageEncrypted?: boolean; /** - *

                                                    The Amazon Resource Name (ARN) for the DB cluster.

                                                    + *

                                                    Specifies the name of the DB cluster parameter group for the DB cluster.

                                                    */ - DBClusterArn?: string; + DBClusterParameterGroup?: string; /** - *

                                                    A list of log types that this DB cluster is configured to export to CloudWatch Logs.

                                                    - *

                                                    Log types vary by DB engine. For information about the log types for each DB engine, see - * Amazon RDS Database Log Files in the Amazon Aurora User Guide. - *

                                                    + *

                                                    The AWS Region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

                                                    */ - EnabledCloudwatchLogsExports?: string[]; + DbClusterResourceId?: string; /** - *

                                                    Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

                                                    + *

                                                    The DB engine mode of the DB cluster, either provisioned, serverless, + * parallelquery, global, or multimaster.

                                                    + *

                                                    For more information, see + * CreateDBCluster.

                                                    */ - PreferredMaintenanceWindow?: string; + EngineMode?: string; /** - *

                                                    Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.

                                                    + *

                                                    Specifies the current state of this DB cluster.

                                                    */ - DBSubnetGroup?: string; + Status?: string; /** - *

                                                    Specifies whether you have requested to enable write forwarding for a secondary cluster - * in an Aurora global database. Because write forwarding takes time to enable, check the - * value of GlobalWriteForwardingStatus to confirm that the request has completed - * before using the write forwarding feature for this cluster.

                                                    + *

                                                    The status of the database activity stream.

                                                    */ - GlobalWriteForwardingRequested?: boolean; + ActivityStreamStatus?: ActivityStreamStatus | string; /** - *

                                                    Specifies whether tags are copied from the DB cluster to snapshots of the DB cluster.

                                                    + *

                                                    Provides the list of instances that make up the DB cluster.

                                                    */ - CopyTagsToSnapshot?: boolean; + DBClusterMembers?: DBClusterMember[]; + + /** + *

                                                    The target backtrack window, in seconds. If this value is set to 0, backtracking is + * disabled for the DB cluster. Otherwise, backtracking is enabled.

                                                    + */ + BacktrackWindow?: number; } export namespace DBCluster { @@ -4130,37 +4163,37 @@ export namespace StorageQuotaExceededFault { export interface CreateDBClusterEndpointMessage { /** - *

                                                    The tags to be assigned to the Amazon RDS resource.

                                                    + *

                                                    The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is + * stored as a lowercase string.

                                                    */ - Tags?: Tag[]; + DBClusterIdentifier: string | undefined; /** - *

                                                    The identifier to use for the new endpoint. This parameter is stored as a lowercase string.

                                                    + *

                                                    List of DB instance identifiers that aren't part of the custom endpoint group. + * All other eligible instances are reachable through the custom endpoint. + * Only relevant if the list of static members is empty.

                                                    */ - DBClusterEndpointIdentifier: string | undefined; + ExcludedMembers?: string[]; /** - *

                                                    List of DB instance identifiers that are part of the custom endpoint group.

                                                    + *

                                                    The type of the endpoint. One of: READER, WRITER, ANY.

                                                    */ - StaticMembers?: string[]; + EndpointType: string | undefined; /** - *

                                                    List of DB instance identifiers that aren't part of the custom endpoint group. - * All other eligible instances are reachable through the custom endpoint. - * Only relevant if the list of static members is empty.

                                                    + *

                                                    The tags to be assigned to the Amazon RDS resource.

                                                    */ - ExcludedMembers?: string[]; + Tags?: Tag[]; /** - *

                                                    The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is - * stored as a lowercase string.

                                                    + *

                                                    List of DB instance identifiers that are part of the custom endpoint group.

                                                    */ - DBClusterIdentifier: string | undefined; + StaticMembers?: string[]; /** - *

                                                    The type of the endpoint. One of: READER, WRITER, ANY.

                                                    + *

                                                    The identifier to use for the new endpoint. This parameter is stored as a lowercase string.

                                                    */ - EndpointType: string | undefined; + DBClusterEndpointIdentifier: string | undefined; } export namespace CreateDBClusterEndpointMessage { @@ -4199,42 +4232,42 @@ export namespace CreateDBClusterEndpointMessage { */ export interface DBClusterEndpoint { /** - *

                                                    The identifier associated with the endpoint. This parameter is stored as a lowercase string.

                                                    + *

                                                    The type associated with a custom endpoint. One of: READER, + * WRITER, ANY.

                                                    */ - DBClusterEndpointIdentifier?: string; + CustomEndpointType?: string; /** - *

                                                    The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is - * stored as a lowercase string.

                                                    + *

                                                    The current status of the endpoint. One of: creating, available, deleting, inactive, modifying. The inactive state applies to an endpoint that can't be used for a certain kind of cluster, + * such as a writer endpoint for a read-only secondary cluster in a global database.

                                                    */ - DBClusterIdentifier?: string; + Status?: string; /** - *

                                                    The type of the endpoint. One of: READER, WRITER, CUSTOM.

                                                    + *

                                                    List of DB instance identifiers that are part of the custom endpoint group.

                                                    */ - EndpointType?: string; + StaticMembers?: string[]; /** - *

                                                    The DNS address of the endpoint.

                                                    + *

                                                    A unique system-generated identifier for an endpoint. It remains the same for the whole life of the endpoint.

                                                    */ - Endpoint?: string; + DBClusterEndpointResourceIdentifier?: string; /** - *

                                                    A unique system-generated identifier for an endpoint. It remains the same for the whole life of the endpoint.

                                                    + *

                                                    The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is + * stored as a lowercase string.

                                                    */ - DBClusterEndpointResourceIdentifier?: string; + DBClusterIdentifier?: string; /** - *

                                                    List of DB instance identifiers that aren't part of the custom endpoint group. - * All other eligible instances are reachable through the custom endpoint. - * Only relevant if the list of static members is empty.

                                                    + *

                                                    The type of the endpoint. One of: READER, WRITER, CUSTOM.

                                                    */ - ExcludedMembers?: string[]; + EndpointType?: string; /** - *

                                                    The current status of the endpoint. One of: creating, available, deleting, modifying.

                                                    + *

                                                    The identifier associated with the endpoint. This parameter is stored as a lowercase string.

                                                    */ - Status?: string; + DBClusterEndpointIdentifier?: string; /** *

                                                    The Amazon Resource Name (ARN) for the endpoint.

                                                    @@ -4242,15 +4275,16 @@ export interface DBClusterEndpoint { DBClusterEndpointArn?: string; /** - *

                                                    The type associated with a custom endpoint. One of: READER, - * WRITER, ANY.

                                                    + *

                                                    List of DB instance identifiers that aren't part of the custom endpoint group. + * All other eligible instances are reachable through the custom endpoint. + * Only relevant if the list of static members is empty.

                                                    */ - CustomEndpointType?: string; + ExcludedMembers?: string[]; /** - *

                                                    List of DB instance identifiers that are part of the custom endpoint group.

                                                    + *

                                                    The DNS address of the endpoint.

                                                    */ - StaticMembers?: string[]; + Endpoint?: string; } export namespace DBClusterEndpoint { @@ -4294,14 +4328,23 @@ export namespace DBClusterEndpointQuotaExceededFault { */ export interface CreateDBClusterParameterGroupMessage { /** - *

                                                    Tags to assign to the DB cluster parameter group.

                                                    + *

                                                    The description for the DB cluster parameter group.

                                                    */ - Tags?: Tag[]; + Description: string | undefined; /** - *

                                                    The description for the DB cluster parameter group.

                                                    + *

                                                    The name of the DB cluster parameter group.

                                                    + *

                                                    Constraints:

                                                    + *
                                                      + *
                                                    • + *

                                                      Must match the name of an existing DB cluster parameter group.

                                                      + *
                                                    • + *
                                                    + * + *

                                                    This value is stored as a lowercase string.

                                                    + *
                                                    */ - Description: string | undefined; + DBClusterParameterGroupName: string | undefined; /** *

                                                    The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster @@ -4320,18 +4363,9 @@ export interface CreateDBClusterParameterGroupMessage { DBParameterGroupFamily: string | undefined; /** - *

                                                    The name of the DB cluster parameter group.

                                                    - *

                                                    Constraints:

                                                    - *
                                                      - *
                                                    • - *

                                                      Must match the name of an existing DB cluster parameter group.

                                                      - *
                                                    • - *
                                                    - * - *

                                                    This value is stored as a lowercase string.

                                                    - *
                                                    + *

                                                    Tags to assign to the DB cluster parameter group.

                                                    */ - DBClusterParameterGroupName: string | undefined; + Tags?: Tag[]; } export namespace CreateDBClusterParameterGroupMessage { @@ -4456,453 +4490,464 @@ export namespace BackupPolicyNotFoundFault { */ export interface CreateDBInstanceMessage { /** - *

                                                    A DB subnet group to associate with this DB instance.

                                                    - *

                                                    If there is no DB subnet group, then it is a non-VPC DB instance.

                                                    - */ - DBSubnetGroupName?: string; - - /** - *

                                                    A list of DB security groups to associate with this DB instance.

                                                    - *

                                                    Default: The default DB security group for the database engine.

                                                    - */ - DBSecurityGroups?: string[]; - - /** - *

                                                    A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. - * By default, minor engine upgrades are applied automatically.

                                                    - */ - AutoMinorVersionUpgrade?: boolean; - - /** - *

                                                    The compute and memory capacity of the DB instance, for example, db.m4.large. - * Not all DB instance classes are available in all AWS Regions, or for all database engines. - * For the full list of DB instance classes, - * and availability for your engine, see - * DB Instance Class in the Amazon RDS User Guide. + *

                                                    + * The daily time range during which automated backups are created + * if automated backups are enabled, + * using the BackupRetentionPeriod parameter. + * For more information, see The Backup Window in the Amazon RDS User Guide. + *

                                                    + * + *

                                                    + * Amazon Aurora *

                                                    + *

                                                    Not applicable. The daily time range for creating automated backups is managed by + * the DB cluster.

                                                    + * + *

                                                    + * The default is a 30-minute window selected at random from an + * 8-hour block of time for each AWS Region. + * To see the time blocks available, see + * + * Adjusting the Preferred DB Instance Maintenance Window in the Amazon RDS User Guide. + *

                                                    + * + *

                                                    Constraints:

                                                    + *
                                                      + *
                                                    • + *

                                                      Must be in the format hh24:mi-hh24:mi.

                                                      + *
                                                    • + *
                                                    • + *

                                                      Must be in Universal Coordinated Time (UTC).

                                                      + *
                                                    • + *
                                                    • + *

                                                      Must not conflict with the preferred maintenance window.

                                                      + *
                                                    • + *
                                                    • + *

                                                      Must be at least 30 minutes.

                                                      + *
                                                    • + *
                                                    */ - DBInstanceClass: string | undefined; + PreferredBackupWindow?: string; /** - *

                                                    A list of Amazon EC2 VPC security groups to associate with this DB instance.

                                                    - * + *

                                                    A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

                                                    *

                                                    * Amazon Aurora *

                                                    - *

                                                    Not applicable. The associated list of EC2 VPC security groups is managed by - * the DB cluster.

                                                    - * - *

                                                    Default: The default EC2 VPC security group for the DB subnet group's VPC.

                                                    + *

                                                    Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this + * value for an Aurora DB instance has no effect on the DB cluster setting.

                                                    */ - VpcSecurityGroupIds?: string[]; + CopyTagsToSnapshot?: boolean; /** - *

                                                    The list of log types that need to be enabled for exporting to CloudWatch Logs. The values - * in the list depend on the DB engine being used. For more information, see - * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database - * Service User Guide.

                                                    + *

                                                    A DB subnet group to associate with this DB instance.

                                                    + *

                                                    If there is no DB subnet group, then it is a non-VPC DB instance.

                                                    */ - EnableCloudwatchLogsExports?: string[]; + DBSubnetGroupName?: string; /** - *

                                                    The name of the database engine to be used for this instance. - *

                                                    + *

                                                    The name for the master user.

                                                    * - *

                                                    Not every database engine is available for every AWS Region. - *

                                                    + *

                                                    + * Amazon Aurora + *

                                                    + *

                                                    Not applicable. The name for the master user is managed by the DB cluster. + *

                                                    * - *

                                                    Valid Values: - *

                                                    + *

                                                    + * MariaDB + *

                                                    + *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      - * aurora (for MySQL 5.6-compatible Aurora)

                                                      + *

                                                      Required for MariaDB.

                                                      *
                                                    • *
                                                    • - *

                                                      - * aurora-mysql (for MySQL 5.7-compatible Aurora)

                                                      + *

                                                      Must be 1 to 16 letters or numbers.

                                                      *
                                                    • *
                                                    • - *

                                                      - * aurora-postgresql - *

                                                      + *

                                                      Can't be a reserved word for the chosen database engine.

                                                      *
                                                    • + *
                                                    + * + *

                                                    + * Microsoft SQL Server + *

                                                    + *

                                                    Constraints:

                                                    + *
                                                      *
                                                    • - *

                                                      - * mariadb - *

                                                      + *

                                                      Required for SQL Server.

                                                      *
                                                    • *
                                                    • - *

                                                      - * mysql - *

                                                      + *

                                                      Must be 1 to 128 letters or numbers.

                                                      *
                                                    • *
                                                    • - *

                                                      - * oracle-ee - *

                                                      + *

                                                      The first character must be a letter.

                                                      *
                                                    • *
                                                    • - *

                                                      - * oracle-se2 - *

                                                      + *

                                                      Can't be a reserved word for the chosen database engine.

                                                      *
                                                    • + *
                                                    + * + *

                                                    + * MySQL + *

                                                    + *

                                                    Constraints:

                                                    + *
                                                      *
                                                    • - *

                                                      - * oracle-se1 - *

                                                      + *

                                                      Required for MySQL.

                                                      *
                                                    • *
                                                    • - *

                                                      - * oracle-se - *

                                                      + *

                                                      Must be 1 to 16 letters or numbers.

                                                      *
                                                    • *
                                                    • - *

                                                      - * postgres - *

                                                      + *

                                                      First character must be a letter.

                                                      *
                                                    • *
                                                    • - *

                                                      - * sqlserver-ee - *

                                                      + *

                                                      Can't be a reserved word for the chosen database engine.

                                                      + *
                                                    • + *
                                                    + * + *

                                                    + * Oracle + *

                                                    + *

                                                    Constraints:

                                                    + *
                                                      + *
                                                    • + *

                                                      Required for Oracle.

                                                      *
                                                    • *
                                                    • - *

                                                      - * sqlserver-se - *

                                                      + *

                                                      Must be 1 to 30 letters or numbers.

                                                      *
                                                    • *
                                                    • - *

                                                      - * sqlserver-ex - *

                                                      + *

                                                      First character must be a letter.

                                                      *
                                                    • *
                                                    • - *

                                                      - * sqlserver-web - *

                                                      + *

                                                      Can't be a reserved word for the chosen database engine.

                                                      *
                                                    • *
                                                    - */ - Engine: string | undefined; - - /** - *

                                                    A value that indicates whether the DB instance has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. For more information, see - * - * Deleting a DB Instance. - *

                                                    - *

                                                    - * Amazon Aurora - *

                                                    - *

                                                    Not applicable. You can enable or disable deletion protection for the DB cluster. - * For more information, see CreateDBCluster. DB instances in a DB - * cluster can be deleted even when deletion protection is enabled for the DB cluster. - *

                                                    - */ - DeletionProtection?: boolean; - - /** - *

                                                    The meaning of this parameter differs according to the database engine you use.

                                                    + * *

                                                    - * MySQL + * PostgreSQL *

                                                    - *

                                                    The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

                                                    *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      Must contain 1 to 64 letters or numbers.

                                                      + *

                                                      Required for PostgreSQL.

                                                      *
                                                    • *
                                                    • - *

                                                      Can't be a word reserved by the specified database engine

                                                      + *

                                                      Must be 1 to 63 letters or numbers.

                                                      + *
                                                    • + *
                                                    • + *

                                                      First character must be a letter.

                                                      + *
                                                    • + *
                                                    • + *

                                                      Can't be a reserved word for the chosen database engine.

                                                      *
                                                    • *
                                                    + */ + MasterUsername?: string; + + /** + *

                                                    A list of Amazon EC2 VPC security groups to associate with this DB instance.

                                                    + * *

                                                    + * Amazon Aurora + *

                                                    + *

                                                    Not applicable. The associated list of EC2 VPC security groups is managed by + * the DB cluster.

                                                    + * + *

                                                    Default: The default EC2 VPC security group for the DB subnet group's VPC.

                                                    + */ + VpcSecurityGroupIds?: string[]; + + /** + *

                                                    A value that specifies the order in which an Aurora Replica is promoted to the primary instance + * after a failure of the existing primary instance. For more information, + * see + * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. + *

                                                    + *

                                                    Default: 1

                                                    + *

                                                    Valid Values: 0 - 15

                                                    + */ + PromotionTier?: number; + + /** + *

                                                    The list of log types that need to be enabled for exporting to CloudWatch Logs. The values + * in the list depend on the DB engine being used. For more information, see + * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database + * Service User Guide.

                                                    + *

                                                    + * Amazon Aurora + *

                                                    + *

                                                    Not applicable. CloudWatch Logs exports are managed by the DB cluster. + *

                                                    + *

                                                    * MariaDB + *

                                                    + *

                                                    Possible values are audit, error, general, and slowquery. + *

                                                    + *

                                                    + * Microsoft SQL Server + *

                                                    + *

                                                    Possible values are agent and error. + *

                                                    + *

                                                    + * MySQL + *

                                                    + *

                                                    Possible values are audit, error, general, and slowquery. + *

                                                    + *

                                                    + * Oracle + *

                                                    + *

                                                    Possible values are alert, audit, listener, and trace. + *

                                                    + *

                                                    + * PostgreSQL + *

                                                    + *

                                                    Possible values are postgresql and upgrade. + *

                                                    + */ + EnableCloudwatchLogsExports?: string[]; + + /** + *

                                                    A value that indicates whether to enable mapping of AWS Identity and Access + * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                    + *

                                                    You can enable IAM database authentication for the following database engines:

                                                    + * + *

                                                    + * Amazon Aurora + *

                                                    + *

                                                    Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB + * cluster.

                                                    + * + *

                                                    + * MySQL *

                                                    - *

                                                    The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

                                                    - *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      Must contain 1 to 64 letters or numbers.

                                                      + *

                                                      For MySQL 5.6, minor version 5.6.34 or higher

                                                      *
                                                    • *
                                                    • - *

                                                      Can't be a word reserved by the specified database engine

                                                      + *

                                                      For MySQL 5.7, minor version 5.7.16 or higher

                                                      + *
                                                    • + *
                                                    • + *

                                                      For MySQL 8.0, minor version 8.0.16 or higher

                                                      *
                                                    • *
                                                    + * *

                                                    * PostgreSQL *

                                                    - *

                                                    The name of the database to create when the DB instance is created. If this parameter isn't specified, the default "postgres" database is created in the DB instance.

                                                    - *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      Must contain 1 to 63 letters, numbers, or underscores.

                                                      + *

                                                      For PostgreSQL 9.5, minor version 9.5.15 or higher

                                                      *
                                                    • *
                                                    • - *

                                                      Must begin with a letter or an underscore. Subsequent characters can be letters, underscores, or digits (0-9).

                                                      + *

                                                      For PostgreSQL 9.6, minor version 9.6.11 or higher

                                                      *
                                                    • *
                                                    • - *

                                                      Can't be a word reserved by the specified database engine

                                                      + *

                                                      PostgreSQL 10.6, 10.7, and 10.9

                                                      *
                                                    • *
                                                    - *

                                                    - * Oracle - *

                                                    - *

                                                    The Oracle System ID (SID) of the created DB instance. - * If you specify null, the default value ORCL is used. - * You can't specify the string NULL, or any other reserved word, for DBName. - *

                                                    - *

                                                    Default: ORCL + * + *

                                                    For more information, see + * + * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. *

                                                    + */ + EnableIAMDatabaseAuthentication?: boolean; + + /** + *

                                                    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For + * example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, + * go to Setting Up and Enabling Enhanced Monitoring + * in the Amazon RDS User Guide.

                                                    + *

                                                    If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                    + */ + MonitoringRoleArn?: string; + + /** + *

                                                    The DB instance identifier. This parameter is stored as a lowercase string.

                                                    *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      Can't be longer than 8 characters

                                                      + *

                                                      Must contain from 1 to 63 letters, numbers, or hyphens.

                                                      *
                                                    • - *
                                                    - *

                                                    - * SQL Server - *

                                                    - *

                                                    Not applicable. Must be null.

                                                    - *

                                                    - * Amazon Aurora - *

                                                    - *

                                                    The name of the database to create when the primary instance of the DB cluster is created. - * If this parameter isn't specified, no database is created in the DB instance.

                                                    - *

                                                    Constraints:

                                                    - *
                                                      *
                                                    • - *

                                                      Must contain 1 to 64 letters or numbers.

                                                      + *

                                                      First character must be a letter.

                                                      *
                                                    • *
                                                    • - *

                                                      Can't be a word reserved by the specified database engine

                                                      + *

                                                      Can't end with a hyphen or contain two consecutive hyphens.

                                                      *
                                                    • *
                                                    + *

                                                    Example: mydbinstance + *

                                                    */ - DBName?: string; + DBInstanceIdentifier: string | undefined; /** - *

                                                    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                    + *

                                                    Specifies the storage type to be associated with the DB instance.

                                                    + *

                                                    + * Valid values: standard | gp2 | io1 + *

                                                    + *

                                                    + * If you specify io1, you must also include a value for the + * Iops parameter. + *

                                                    + *

                                                    + * Default: io1 if the Iops parameter + * is specified, otherwise gp2 + *

                                                    */ - MaxAllocatedStorage?: number; + StorageType?: string; /** - *

                                                    A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

                                                    + *

                                                    For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

                                                    + * *

                                                    * Amazon Aurora *

                                                    - *

                                                    Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this - * value for an Aurora DB instance has no effect on the DB cluster setting.

                                                    + *

                                                    Not applicable. The character set is managed by + * the DB cluster. For more information, see CreateDBCluster.

                                                    */ - CopyTagsToSnapshot?: boolean; + CharacterSetName?: string; /** - *

                                                    The name for the master user.

                                                    - * + *

                                                    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                    + */ + PerformanceInsightsRetentionPeriod?: number; + + /** + *

                                                    Indicates that the DB instance should be associated with the specified option group.

                                                    + *

                                                    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance

                                                    + */ + OptionGroupName?: string; + + /** + *

                                                    The amount of storage (in gibibytes) to allocate for the DB instance.

                                                    + *

                                                    Type: Integer

                                                    *

                                                    * Amazon Aurora *

                                                    - *

                                                    Not applicable. The name for the master user is managed by the DB cluster. - *

                                                    + *

                                                    Not applicable. Aurora cluster volumes automatically grow as the amount of data in your + * database increases, though you are only charged for the space that you use in an Aurora cluster volume.

                                                    * *

                                                    - * MariaDB + * MySQL *

                                                    - *

                                                    Constraints:

                                                    + *

                                                    Constraints to the amount of storage for each storage type are the following: + *

                                                    *
                                                      *
                                                    • - *

                                                      Required for MariaDB.

                                                      + *

                                                      General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                      *
                                                    • *
                                                    • - *

                                                      Must be 1 to 16 letters or numbers.

                                                      + *

                                                      Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                      *
                                                    • *
                                                    • - *

                                                      Can't be a reserved word for the chosen database engine.

                                                      + *

                                                      Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                      *
                                                    • *
                                                    * *

                                                    - * Microsoft SQL Server + * MariaDB *

                                                    - *

                                                    Constraints:

                                                    + *

                                                    Constraints to the amount of storage for each storage type are the following: + *

                                                    *
                                                      *
                                                    • - *

                                                      Required for SQL Server.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Must be 1 to 128 letters or numbers.

                                                      + *

                                                      General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                      *
                                                    • *
                                                    • - *

                                                      The first character must be a letter.

                                                      + *

                                                      Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                      *
                                                    • *
                                                    • - *

                                                      Can't be a reserved word for the chosen database engine.

                                                      + *

                                                      Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                      *
                                                    • *
                                                    * *

                                                    - * MySQL + * PostgreSQL *

                                                    - *

                                                    Constraints:

                                                    + *

                                                    Constraints to the amount of storage for each storage type are the following: + *

                                                    *
                                                      *
                                                    • - *

                                                      Required for MySQL.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Must be 1 to 16 letters or numbers.

                                                      + *

                                                      General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                      *
                                                    • *
                                                    • - *

                                                      First character must be a letter.

                                                      + *

                                                      Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                      *
                                                    • *
                                                    • - *

                                                      Can't be a reserved word for the chosen database engine.

                                                      + *

                                                      Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                      *
                                                    • *
                                                    * *

                                                    * Oracle *

                                                    - *

                                                    Constraints:

                                                    + *

                                                    Constraints to the amount of storage for each storage type are the following: + *

                                                    *
                                                      *
                                                    • - *

                                                      Required for Oracle.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Must be 1 to 30 letters or numbers.

                                                      + *

                                                      General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                      *
                                                    • *
                                                    • - *

                                                      First character must be a letter.

                                                      + *

                                                      Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                      *
                                                    • *
                                                    • - *

                                                      Can't be a reserved word for the chosen database engine.

                                                      + *

                                                      Magnetic storage (standard): Must be an integer from 10 to 3072.

                                                      *
                                                    • *
                                                    * *

                                                    - * PostgreSQL + * SQL Server *

                                                    - *

                                                    Constraints:

                                                    + *

                                                    Constraints to the amount of storage for each storage type are the following: + *

                                                    *
                                                      *
                                                    • - *

                                                      Required for PostgreSQL.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Must be 1 to 63 letters or numbers.

                                                      - *
                                                    • - *
                                                    • - *

                                                      First character must be a letter.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Can't be a reserved word for the chosen database engine.

                                                      - *
                                                    • - *
                                                    - */ - MasterUsername?: string; - - /** - *

                                                    - * The Availability Zone (AZ) where the database will be created. For information on - * AWS Regions and Availability Zones, see - * Regions - * and Availability Zones. - *

                                                    - *

                                                    Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

                                                    - *

                                                    - * Example: us-east-1d - *

                                                    - *

                                                    - * Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. - * The specified Availability Zone must be in the same AWS Region as the current endpoint. - *

                                                    - * - *

                                                    If you're creating a DB instance in an RDS on VMware environment, - * specify the identifier of the custom Availability Zone to create the DB instance - * in.

                                                    - *

                                                    For more information about RDS on VMware, see the - * - * RDS on VMware User Guide. - * - *

                                                    - *
                                                    - */ - AvailabilityZone?: string; - - /** - *

                                                    The AWS KMS key identifier for an encrypted DB instance.

                                                    - *

                                                    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

                                                    - *

                                                    - * Amazon Aurora - *

                                                    - *

                                                    Not applicable. The KMS key identifier is managed by - * the DB cluster. For more information, see CreateDBCluster.

                                                    - * - *

                                                    If StorageEncrypted is enabled, and you do - * not specify a value for the KmsKeyId parameter, then - * Amazon RDS will use your default encryption key. AWS KMS creates the - * default encryption key for your AWS account. Your AWS account has a different - * default encryption key for each AWS Region.

                                                    - */ - KmsKeyId?: string; - - /** - *

                                                    - * The daily time range during which automated backups are created - * if automated backups are enabled, - * using the BackupRetentionPeriod parameter. - * For more information, see The Backup Window in the Amazon RDS User Guide. - *

                                                    - * - *

                                                    - * Amazon Aurora - *

                                                    - *

                                                    Not applicable. The daily time range for creating automated backups is managed by - * the DB cluster.

                                                    - * - *

                                                    - * The default is a 30-minute window selected at random from an - * 8-hour block of time for each AWS Region. - * To see the time blocks available, see - * - * Adjusting the Preferred DB Instance Maintenance Window in the Amazon RDS User Guide. - *

                                                    - * - *

                                                    Constraints:

                                                    - *
                                                      - *
                                                    • - *

                                                      Must be in the format hh24:mi-hh24:mi.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Must be in Universal Coordinated Time (UTC).

                                                      + *

                                                      General Purpose (SSD) storage (gp2):

                                                      + *
                                                        + *
                                                      • + *

                                                        Enterprise and Standard editions: Must be an integer from 200 to 16384.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Web and Express editions: Must be an integer from 20 to 16384.

                                                        + *
                                                      • + *
                                                      *
                                                    • *
                                                    • - *

                                                      Must not conflict with the preferred maintenance window.

                                                      + *

                                                      Provisioned IOPS storage (io1):

                                                      + *
                                                        + *
                                                      • + *

                                                        Enterprise and Standard editions: Must be an integer from 200 to 16384.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Web and Express editions: Must be an integer from 100 to 16384.

                                                        + *
                                                      • + *
                                                      *
                                                    • *
                                                    • - *

                                                      Must be at least 30 minutes.

                                                      + *

                                                      Magnetic storage (standard):

                                                      + *
                                                        + *
                                                      • + *

                                                        Enterprise and Standard editions: Must be an integer from 200 to 1024.

                                                        + *
                                                      • + *
                                                      • + *

                                                        Web and Express editions: Must be an integer from 20 to 1024.

                                                        + *
                                                      • + *
                                                      *
                                                    • *
                                                    */ - PreferredBackupWindow?: string; - - /** - *

                                                    The time zone of the DB instance. - * The time zone parameter is currently supported only by - * Microsoft SQL Server. - *

                                                    - */ - Timezone?: string; + AllocatedStorage?: number; /** - *

                                                    A value that indicates whether to enable Performance Insights for the DB instance. - *

                                                    - *

                                                    For more information, see - * Using Amazon Performance Insights in the Amazon Relational Database Service - * User Guide. - *

                                                    + *

                                                    Tags to assign to the DB instance.

                                                    */ - EnablePerformanceInsights?: boolean; + Tags?: Tag[]; /** *

                                                    The time range each week during which system maintenance can occur, @@ -4930,209 +4975,187 @@ export interface CreateDBInstanceMessage { LicenseModel?: string; /** - *

                                                    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. - * For information about valid Iops values, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide. - *

                                                    - *

                                                    Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must be a multiple between .5 and 50 of the storage amount for the DB instance. - * For SQL Server DB instances, must be a multiple between 1 and 50 of the storage amount for the DB instance. - *

                                                    + *

                                                    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                    */ - Iops?: number; + ProcessorFeatures?: ProcessorFeature[]; /** - *

                                                    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

                                                    - *

                                                    If MonitoringRoleArn is specified, then you must also set MonitoringInterval - * to a value other than 0.

                                                    - *

                                                    Valid Values: 0, 1, 5, 10, 15, 30, 60 + *

                                                    The meaning of this parameter differs according to the database engine you use.

                                                    + *

                                                    + * MySQL *

                                                    - */ - MonitoringInterval?: number; - - /** - *

                                                    The password for the given ARN from the key store in order to access the device.

                                                    - */ - TdeCredentialPassword?: string; - - /** - *

                                                    The name of the DB parameter group to associate with this DB instance. If you do not specify a value, then - * the default DB parameter group for the specified DB engine and version is used.

                                                    + *

                                                    The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

                                                    *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      Must be 1 to 255 letters, numbers, or hyphens.

                                                      + *

                                                      Must contain 1 to 64 letters or numbers.

                                                      *
                                                    • *
                                                    • - *

                                                      First character must be a letter

                                                      + *

                                                      Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

                                                      *
                                                    • *
                                                    • - *

                                                      Can't end with a hyphen or contain two consecutive hyphens

                                                      + *

                                                      Can't be a word reserved by the specified database engine

                                                      *
                                                    • *
                                                    - */ - DBParameterGroupName?: string; - - /** - *

                                                    The Active Directory directory ID to create the DB instance in. Currently, only Microsoft SQL Server and Oracle - * DB instances can be created in an Active Directory Domain.

                                                    - *

                                                    For Microsoft SQL Server DB instances, Amazon RDS can use - * Windows Authentication to authenticate users that connect to the DB instance. For more - * information, see - * Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the - * Amazon RDS User Guide.

                                                    - *

                                                    For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate - * users that connect to the DB instance. For more information, see Using - * Kerberos Authentication with Amazon RDS for Oracle in the Amazon - * RDS User Guide.

                                                    - */ - Domain?: string; - - /** - *

                                                    A value that indicates whether to enable mapping of AWS Identity and Access - * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                    - *

                                                    You can enable IAM database authentication for the following database engines:

                                                    - * - *

                                                    - * Amazon Aurora - *

                                                    - *

                                                    Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB - * cluster.

                                                    - * *

                                                    - * MySQL + * MariaDB *

                                                    + *

                                                    The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

                                                    + *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      For MySQL 5.6, minor version 5.6.34 or higher

                                                      + *

                                                      Must contain 1 to 64 letters or numbers.

                                                      *
                                                    • *
                                                    • - *

                                                      For MySQL 5.7, minor version 5.7.16 or higher

                                                      + *

                                                      Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

                                                      *
                                                    • *
                                                    • - *

                                                      For MySQL 8.0, minor version 8.0.16 or higher

                                                      + *

                                                      Can't be a word reserved by the specified database engine

                                                      *
                                                    • *
                                                    - * *

                                                    * PostgreSQL *

                                                    + *

                                                    The name of the database to create when the DB instance is created. If this parameter isn't specified, the default "postgres" database is created in the DB instance.

                                                    + *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      For PostgreSQL 9.5, minor version 9.5.15 or higher

                                                      + *

                                                      Must contain 1 to 63 letters, numbers, or underscores.

                                                      *
                                                    • *
                                                    • - *

                                                      For PostgreSQL 9.6, minor version 9.6.11 or higher

                                                      + *

                                                      Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

                                                      *
                                                    • *
                                                    • - *

                                                      PostgreSQL 10.6, 10.7, and 10.9

                                                      + *

                                                      Can't be a word reserved by the specified database engine

                                                      *
                                                    • *
                                                    - * - *

                                                    For more information, see - * - * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. + *

                                                    + * Oracle *

                                                    + *

                                                    The Oracle System ID (SID) of the created DB instance. + * If you specify null, the default value ORCL is used. + * You can't specify the string NULL, or any other reserved word, for DBName. + *

                                                    + *

                                                    Default: ORCL + *

                                                    + *

                                                    Constraints:

                                                    + *
                                                      + *
                                                    • + *

                                                      Can't be longer than 8 characters

                                                      + *
                                                    • + *
                                                    + *

                                                    + * SQL Server + *

                                                    + *

                                                    Not applicable. Must be null.

                                                    + *

                                                    + * Amazon Aurora + *

                                                    + *

                                                    The name of the database to create when the primary instance of the DB cluster is created. + * If this parameter isn't specified, no database is created in the DB instance.

                                                    + *

                                                    Constraints:

                                                    + *
                                                      + *
                                                    • + *

                                                      Must contain 1 to 64 letters or numbers.

                                                      + *
                                                    • + *
                                                    • + *

                                                      Can't be a word reserved by the specified database engine

                                                      + *
                                                    • + *
                                                    */ - EnableIAMDatabaseAuthentication?: boolean; - - /** - *

                                                    A value that specifies the order in which an Aurora Replica is promoted to the primary instance - * after a failure of the existing primary instance. For more information, - * see - * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. - *

                                                    - *

                                                    Default: 1

                                                    - *

                                                    Valid Values: 0 - 15

                                                    - */ - PromotionTier?: number; + DBName?: string; /** - *

                                                    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                    - */ - ProcessorFeatures?: ProcessorFeature[]; - - /** - *

                                                    A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set - * the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                                    - */ - MultiAZ?: boolean; - - /** - *

                                                    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For - * example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, - * go to Setting Up and Enabling Enhanced Monitoring - * in the Amazon RDS User Guide.

                                                    - *

                                                    If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                    - */ - MonitoringRoleArn?: string; - - /** - *

                                                    Tags to assign to the DB instance.

                                                    - */ - Tags?: Tag[]; - - /** - *

                                                    A value that indicates whether the DB instance is publicly accessible.

                                                    - *

                                                    When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, - * and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, - * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                                    - *

                                                    When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                                    - *

                                                    Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

                                                    - *

                                                    If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

                                                    + *

                                                    The name of the database engine to be used for this instance. + *

                                                    + * + *

                                                    Not every database engine is available for every AWS Region. + *

                                                    + * + *

                                                    Valid Values: + *

                                                    *
                                                      *
                                                    • - *

                                                      If the default VPC in the target region doesn’t have an Internet gateway attached to it, the DB instance is private.

                                                      + *

                                                      + * aurora (for MySQL 5.6-compatible Aurora)

                                                      *
                                                    • *
                                                    • - *

                                                      If the default VPC in the target region has an Internet gateway attached to it, the DB instance is public.

                                                      + *

                                                      + * aurora-mysql (for MySQL 5.7-compatible Aurora)

                                                      *
                                                    • - *
                                                    - *

                                                    If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

                                                    - *
                                                      *
                                                    • - *

                                                      If the subnets are part of a VPC that doesn’t have an Internet gateway attached to it, the DB instance is private.

                                                      + *

                                                      + * aurora-postgresql + *

                                                      *
                                                    • *
                                                    • - *

                                                      If the subnets are part of a VPC that has an Internet gateway attached to it, the DB instance is public.

                                                      + *

                                                      + * mariadb + *

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * mysql + *

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * oracle-ee + *

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * oracle-se2 + *

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * oracle-se1 + *

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * oracle-se + *

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * postgres + *

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * sqlserver-ee + *

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * sqlserver-se + *

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * sqlserver-ex + *

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * sqlserver-web + *

                                                      *
                                                    • *
                                                    */ - PubliclyAccessible?: boolean; + Engine: string | undefined; /** - *

                                                    The password for the master user. The password can include any printable ASCII character except "/", """, or "@".

                                                    - * - *

                                                    - * Amazon Aurora - *

                                                    - *

                                                    Not applicable. The password for the master user is managed by the DB - * cluster.

                                                    - * - *

                                                    - * MariaDB - *

                                                    - *

                                                    Constraints: Must contain from 8 to 41 characters.

                                                    - * - *

                                                    - * Microsoft SQL Server - *

                                                    - *

                                                    Constraints: Must contain from 8 to 128 characters.

                                                    - * - *

                                                    - * MySQL - *

                                                    - *

                                                    Constraints: Must contain from 8 to 41 characters.

                                                    - * - *

                                                    - * Oracle - *

                                                    - *

                                                    Constraints: Must contain from 8 to 30 characters.

                                                    - * - *

                                                    - * PostgreSQL - *

                                                    - *

                                                    Constraints: Must contain from 8 to 128 characters.

                                                    + *

                                                    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. + * For information about valid Iops values, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide. + *

                                                    + *

                                                    Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must be a multiple between .5 and 50 of the storage amount for the DB instance. + * For SQL Server DB instances, must be a multiple between 1 and 50 of the storage amount for the DB instance. + *

                                                    */ - MasterUserPassword?: string; + Iops?: number; /** *

                                                    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID @@ -5144,95 +5167,15 @@ export interface CreateDBInstanceMessage { */ PerformanceInsightsKMSKeyId?: string; - /** - *

                                                    Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                    - */ - DomainIAMRoleName?: string; - /** *

                                                    The ARN from the key store with which to associate the instance for TDE encryption.

                                                    */ TdeCredentialArn?: string; /** - *

                                                    The port number on which the database accepts connections.

                                                    - *

                                                    - * MySQL - *

                                                    - *

                                                    - * Default: 3306 - *

                                                    - *

                                                    Valid values: 1150-65535 - *

                                                    - *

                                                    Type: Integer

                                                    - *

                                                    - * MariaDB - *

                                                    - *

                                                    - * Default: 3306 - *

                                                    - *

                                                    Valid values: 1150-65535 - *

                                                    - *

                                                    Type: Integer

                                                    - *

                                                    - * PostgreSQL - *

                                                    - *

                                                    - * Default: 5432 - *

                                                    - *

                                                    Valid values: 1150-65535 - *

                                                    - *

                                                    Type: Integer

                                                    - *

                                                    - * Oracle - *

                                                    - *

                                                    - * Default: 1521 - *

                                                    - *

                                                    Valid values: 1150-65535 - *

                                                    - *

                                                    - * SQL Server - *

                                                    - *

                                                    - * Default: 1433 - *

                                                    - *

                                                    Valid values: 1150-65535 except 1234, 1434, - * 3260, 3343, 3389, 47001, and - * 49152-49156.

                                                    - *

                                                    - * Amazon Aurora - *

                                                    - *

                                                    - * Default: 3306 - *

                                                    - *

                                                    Valid values: 1150-65535 - *

                                                    - *

                                                    Type: Integer

                                                    - */ - Port?: number; - - /** - *

                                                    Indicates that the DB instance should be associated with the specified option group.

                                                    - *

                                                    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance

                                                    - */ - OptionGroupName?: string; - - /** - *

                                                    The identifier of the DB cluster that the instance will belong to.

                                                    - */ - DBClusterIdentifier?: string; - - /** - *

                                                    For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

                                                    - * - *

                                                    - * Amazon Aurora - *

                                                    - *

                                                    Not applicable. The character set is managed by - * the DB cluster. For more information, see CreateDBCluster.

                                                    + *

                                                    Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                    */ - CharacterSetName?: string; + DomainIAMRoleName?: string; /** *

                                                    The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

                                                    @@ -5254,6 +5197,22 @@ export interface CreateDBInstanceMessage { */ BackupRetentionPeriod?: number; + /** + *

                                                    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                    + */ + MaxAllocatedStorage?: number; + + /** + *

                                                    The identifier of the DB cluster that the instance will belong to.

                                                    + */ + DBClusterIdentifier?: string; + + /** + *

                                                    A list of DB security groups to associate with this DB instance.

                                                    + *

                                                    Default: The default DB security group for the database engine.

                                                    + */ + DBSecurityGroups?: string[]; + /** *

                                                    A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.

                                                    * @@ -5266,9 +5225,12 @@ export interface CreateDBInstanceMessage { StorageEncrypted?: boolean; /** - *

                                                    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                    + *

                                                    The time zone of the DB instance. + * The time zone parameter is currently supported only by + * Microsoft SQL Server. + *

                                                    */ - PerformanceInsightsRetentionPeriod?: number; + Timezone?: string; /** *

                                                    The version number of the database engine to use.

                                                    @@ -5294,7 +5256,7 @@ export interface CreateDBInstanceMessage { * Microsoft SQL Server *

                                                    * - *

                                                    See Version and Feature Support on Amazon RDS in the + *

                                                    See Microsoft SQL Server Versions on Amazon RDS in the * Amazon RDS User Guide. *

                                                    * @@ -5325,159 +5287,265 @@ export interface CreateDBInstanceMessage { EngineVersion?: string; /** - *

                                                    Specifies the storage type to be associated with the DB instance.

                                                    + *

                                                    The password for the master user. The password can include any printable ASCII character except "/", """, or "@".

                                                    + * *

                                                    - * Valid values: standard | gp2 | io1 + * Amazon Aurora *

                                                    + *

                                                    Not applicable. The password for the master user is managed by the DB + * cluster.

                                                    + * *

                                                    - * If you specify io1, you must also include a value for the - * Iops parameter. - *

                                                    + * MariaDB + *

                                                    + *

                                                    Constraints: Must contain from 8 to 41 characters.

                                                    + * *

                                                    - * Default: io1 if the Iops parameter - * is specified, otherwise gp2 + * Microsoft SQL Server + *

                                                    + *

                                                    Constraints: Must contain from 8 to 128 characters.

                                                    + * + *

                                                    + * MySQL *

                                                    + *

                                                    Constraints: Must contain from 8 to 41 characters.

                                                    + * + *

                                                    + * Oracle + *

                                                    + *

                                                    Constraints: Must contain from 8 to 30 characters.

                                                    + * + *

                                                    + * PostgreSQL + *

                                                    + *

                                                    Constraints: Must contain from 8 to 128 characters.

                                                    */ - StorageType?: string; + MasterUserPassword?: string; /** - *

                                                    The amount of storage (in gibibytes) to allocate for the DB instance.

                                                    - *

                                                    Type: Integer

                                                    + *

                                                    The name of the NCHAR character set for the Oracle DB instance.

                                                    + */ + NcharCharacterSetName?: string; + + /** + *

                                                    The port number on which the database accepts connections.

                                                    *

                                                    - * Amazon Aurora + * MySQL *

                                                    - *

                                                    Not applicable. Aurora cluster volumes automatically grow as the amount of data in your - * database increases, though you are only charged for the space that you use in an Aurora cluster volume.

                                                    - * *

                                                    - * MySQL + * Default: 3306 *

                                                    - *

                                                    Constraints to the amount of storage for each storage type are the following: - *

                                                    - *
                                                      - *
                                                    • - *

                                                      General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                      - *
                                                    • - *
                                                    - * + *

                                                    Valid values: 1150-65535 + *

                                                    + *

                                                    Type: Integer

                                                    *

                                                    * MariaDB *

                                                    - *

                                                    Constraints to the amount of storage for each storage type are the following: - *

                                                    - *
                                                      - *
                                                    • - *

                                                      General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                      - *
                                                    • - *
                                                    - * + *

                                                    + * Default: 3306 + *

                                                    + *

                                                    Valid values: 1150-65535 + *

                                                    + *

                                                    Type: Integer

                                                    *

                                                    * PostgreSQL *

                                                    - *

                                                    Constraints to the amount of storage for each storage type are the following: - *

                                                    - *
                                                      - *
                                                    • - *

                                                      General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                      - *
                                                    • - *
                                                    - * + *

                                                    + * Default: 5432 + *

                                                    + *

                                                    Valid values: 1150-65535 + *

                                                    + *

                                                    Type: Integer

                                                    *

                                                    * Oracle *

                                                    - *

                                                    Constraints to the amount of storage for each storage type are the following: - *

                                                    + *

                                                    + * Default: 1521 + *

                                                    + *

                                                    Valid values: 1150-65535 + *

                                                    + *

                                                    + * SQL Server + *

                                                    + *

                                                    + * Default: 1433 + *

                                                    + *

                                                    Valid values: 1150-65535 except 1234, 1434, + * 3260, 3343, 3389, 47001, and + * 49152-49156.

                                                    + *

                                                    + * Amazon Aurora + *

                                                    + *

                                                    + * Default: 3306 + *

                                                    + *

                                                    Valid values: 1150-65535 + *

                                                    + *

                                                    Type: Integer

                                                    + */ + Port?: number; + + /** + *

                                                    A value that indicates whether the DB instance is publicly accessible.

                                                    + *

                                                    When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, + * and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, + * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                                    + *

                                                    When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                                    + *

                                                    Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

                                                    + *

                                                    If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

                                                    *
                                                      *
                                                    • - *

                                                      General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                      - *
                                                    • - *
                                                    • - *

                                                      Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                      + *

                                                      If the default VPC in the target region doesn’t have an Internet gateway attached to it, the DB instance is private.

                                                      *
                                                    • *
                                                    • - *

                                                      Magnetic storage (standard): Must be an integer from 10 to 3072.

                                                      + *

                                                      If the default VPC in the target region has an Internet gateway attached to it, the DB instance is public.

                                                      *
                                                    • *
                                                    - * - *

                                                    - * SQL Server - *

                                                    - *

                                                    Constraints to the amount of storage for each storage type are the following: - *

                                                    + *

                                                    If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

                                                    *
                                                      *
                                                    • - *

                                                      General Purpose (SSD) storage (gp2):

                                                      - *
                                                        - *
                                                      • - *

                                                        Enterprise and Standard editions: Must be an integer from 200 to 16384.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Web and Express editions: Must be an integer from 20 to 16384.

                                                        - *
                                                      • - *
                                                      - *
                                                    • - *
                                                    • - *

                                                      Provisioned IOPS storage (io1):

                                                      - *
                                                        - *
                                                      • - *

                                                        Enterprise and Standard editions: Must be an integer from 200 to 16384.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Web and Express editions: Must be an integer from 100 to 16384.

                                                        - *
                                                      • - *
                                                      + *

                                                      If the subnets are part of a VPC that doesn’t have an Internet gateway attached to it, the DB instance is private.

                                                      *
                                                    • *
                                                    • - *

                                                      Magnetic storage (standard):

                                                      - *
                                                        - *
                                                      • - *

                                                        Enterprise and Standard editions: Must be an integer from 200 to 1024.

                                                        - *
                                                      • - *
                                                      • - *

                                                        Web and Express editions: Must be an integer from 20 to 1024.

                                                        - *
                                                      • - *
                                                      + *

                                                      If the subnets are part of a VPC that has an Internet gateway attached to it, the DB instance is public.

                                                      *
                                                    • *
                                                    */ - AllocatedStorage?: number; + PubliclyAccessible?: boolean; /** - *

                                                    The DB instance identifier. This parameter is stored as a lowercase string.

                                                    + *

                                                    The name of the DB parameter group to associate with this DB instance. If you do not specify a value, then + * the default DB parameter group for the specified DB engine and version is used.

                                                    *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      Must contain from 1 to 63 letters, numbers, or hyphens.

                                                      + *

                                                      Must be 1 to 255 letters, numbers, or hyphens.

                                                      *
                                                    • *
                                                    • - *

                                                      First character must be a letter.

                                                      + *

                                                      First character must be a letter

                                                      *
                                                    • *
                                                    • - *

                                                      Can't end with a hyphen or contain two consecutive hyphens.

                                                      + *

                                                      Can't end with a hyphen or contain two consecutive hyphens

                                                      *
                                                    • *
                                                    - *

                                                    Example: mydbinstance + */ + DBParameterGroupName?: string; + + /** + *

                                                    The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL + * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                    + *

                                                    For more information, see + * Kerberos Authentication in the Amazon RDS User Guide.

                                                    + */ + Domain?: string; + + /** + *

                                                    A value that indicates whether the DB instance has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. For more information, see + * + * Deleting a DB Instance. + *

                                                    + *

                                                    + * Amazon Aurora + *

                                                    + *

                                                    Not applicable. You can enable or disable deletion protection for the DB cluster. + * For more information, see CreateDBCluster. DB instances in a DB + * cluster can be deleted even when deletion protection is enabled for the DB cluster. + *

                                                    + */ + DeletionProtection?: boolean; + + /** + *

                                                    + * The Availability Zone (AZ) where the database will be created. For information on + * AWS Regions and Availability Zones, see + * Regions + * and Availability Zones. + *

                                                    + *

                                                    Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

                                                    + *

                                                    + * Example: us-east-1d + *

                                                    + *

                                                    + * Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. + * The specified Availability Zone must be in the same AWS Region as the current endpoint. + *

                                                    + * + *

                                                    If you're creating a DB instance in an RDS on VMware environment, + * specify the identifier of the custom Availability Zone to create the DB instance + * in.

                                                    + *

                                                    For more information about RDS on VMware, see the + * + * RDS on VMware User Guide. + * + *

                                                    + *
                                                    + */ + AvailabilityZone?: string; + + /** + *

                                                    The AWS KMS key identifier for an encrypted DB instance.

                                                    + *

                                                    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

                                                    + *

                                                    + * Amazon Aurora *

                                                    + *

                                                    Not applicable. The KMS key identifier is managed by + * the DB cluster. For more information, see CreateDBCluster.

                                                    + * + *

                                                    If StorageEncrypted is enabled, and you do + * not specify a value for the KmsKeyId parameter, then + * Amazon RDS will use your default encryption key. AWS KMS creates the + * default encryption key for your AWS account. Your AWS account has a different + * default encryption key for each AWS Region.

                                                    */ - DBInstanceIdentifier: string | undefined; + KmsKeyId?: string; + + /** + *

                                                    The compute and memory capacity of the DB instance, for example, db.m4.large. + * Not all DB instance classes are available in all AWS Regions, or for all database engines. + * For the full list of DB instance classes, + * and availability for your engine, see + * DB Instance Class in the Amazon RDS User Guide. + *

                                                    + */ + DBInstanceClass: string | undefined; + + /** + *

                                                    A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set + * the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                                    + */ + MultiAZ?: boolean; + + /** + *

                                                    A value that indicates whether to enable Performance Insights for the DB instance. + *

                                                    + *

                                                    For more information, see + * Using Amazon Performance Insights in the Amazon Relational Database Service + * User Guide. + *

                                                    + */ + EnablePerformanceInsights?: boolean; + + /** + *

                                                    The password for the given ARN from the key store in order to access the device.

                                                    + */ + TdeCredentialPassword?: string; + + /** + *

                                                    A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. + * By default, minor engine upgrades are applied automatically.

                                                    + */ + AutoMinorVersionUpgrade?: boolean; + + /** + *

                                                    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

                                                    + *

                                                    If MonitoringRoleArn is specified, then you must also set MonitoringInterval + * to a value other than 0.

                                                    + *

                                                    Valid Values: 0, 1, 5, 10, 15, 30, 60 + *

                                                    + */ + MonitoringInterval?: number; } export namespace CreateDBInstanceMessage { @@ -5490,13 +5558,6 @@ export namespace CreateDBInstanceMessage { *

                                                    Describes an AWS Identity and Access Management (IAM) role that is associated with a DB instance.

                                                    */ export interface DBInstanceRole { - /** - *

                                                    The name of the feature associated with the AWS Identity and Access Management (IAM) role. - * For the list of supported feature names, see DBEngineVersion. - *

                                                    - */ - FeatureName?: string; - /** *

                                                    The Amazon Resource Name (ARN) of the IAM role that is associated with the DB * instance.

                                                    @@ -5524,6 +5585,13 @@ export interface DBInstanceRole { *
                                                  */ Status?: string; + + /** + *

                                                  The name of the feature associated with the AWS Identity and Access Management (IAM) role. + * For the list of supported feature names, see DBEngineVersion. + *

                                                  + */ + FeatureName?: string; } export namespace DBInstanceRole { @@ -5570,14 +5638,14 @@ export namespace DBInstanceRole { */ export interface DBParameterGroupStatus { /** - *

                                                  The status of parameter updates.

                                                  + *

                                                  The name of the DB parameter group.

                                                  */ - ParameterApplyStatus?: string; + DBParameterGroupName?: string; /** - *

                                                  The name of the DB parameter group.

                                                  + *

                                                  The status of parameter updates.

                                                  */ - DBParameterGroupName?: string; + ParameterApplyStatus?: string; } export namespace DBParameterGroupStatus { @@ -5634,11 +5702,6 @@ export interface Subnet { */ SubnetIdentifier?: string; - /** - *

                                                  The status of the subnet.

                                                  - */ - SubnetStatus?: string; - /** *

                                                  Contains Availability Zone information.

                                                  *

                                                  This data type is used as an element in the OrderableDBInstanceOption @@ -5646,6 +5709,11 @@ export interface Subnet { */ SubnetAvailabilityZone?: AvailabilityZone; + /** + *

                                                  The status of the subnet.

                                                  + */ + SubnetStatus?: string; + /** *

                                                  If the subnet is associated with an Outpost, this value specifies the Outpost.

                                                  *

                                                  For more information about RDS on Outposts, see Amazon RDS on AWS Outposts @@ -5669,20 +5737,15 @@ export namespace Subnet { *

                                                  */ export interface DBSubnetGroup { - /** - *

                                                  The name of the DB subnet group.

                                                  - */ - DBSubnetGroupName?: string; - /** *

                                                  The Amazon Resource Name (ARN) for the DB subnet group.

                                                  */ DBSubnetGroupArn?: string; /** - *

                                                  Provides the status of the DB subnet group.

                                                  + *

                                                  Provides the description of the DB subnet group.

                                                  */ - SubnetGroupStatus?: string; + DBSubnetGroupDescription?: string; /** *

                                                  @@ -5692,14 +5755,19 @@ export interface DBSubnetGroup { Subnets?: Subnet[]; /** - *

                                                  Provides the description of the DB subnet group.

                                                  + *

                                                  Provides the VpcId of the DB subnet group.

                                                  */ - DBSubnetGroupDescription?: string; + VpcId?: string; /** - *

                                                  Provides the VpcId of the DB subnet group.

                                                  + *

                                                  The name of the DB subnet group.

                                                  */ - VpcId?: string; + DBSubnetGroupName?: string; + + /** + *

                                                  Provides the status of the DB subnet group.

                                                  + */ + SubnetGroupStatus?: string; } export namespace DBSubnetGroup { @@ -5733,9 +5801,9 @@ export namespace DBSubnetGroup { */ export interface Endpoint { /** - *

                                                  Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

                                                  + *

                                                  Specifies the port that the database engine is listening on.

                                                  */ - HostedZoneId?: string; + Port?: number; /** *

                                                  Specifies the DNS address of the DB instance.

                                                  @@ -5743,9 +5811,9 @@ export interface Endpoint { Address?: string; /** - *

                                                  Specifies the port that the database engine is listening on.

                                                  + *

                                                  Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

                                                  */ - Port?: number; + HostedZoneId?: string; } export namespace Endpoint { @@ -5789,14 +5857,14 @@ export namespace OptionGroupMembership { */ export interface PendingCloudwatchLogsExports { /** - *

                                                  Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs.

                                                  + *

                                                  Log types that are in the process of being enabled. After they are enabled, these log types are exported to CloudWatch Logs.

                                                  */ - LogTypesToEnable?: string[]; + LogTypesToDisable?: string[]; /** - *

                                                  Log types that are in the process of being enabled. After they are enabled, these log types are exported to CloudWatch Logs.

                                                  + *

                                                  Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs.

                                                  */ - LogTypesToDisable?: string[]; + LogTypesToEnable?: string[]; } export namespace PendingCloudwatchLogsExports { @@ -5812,57 +5880,61 @@ export namespace PendingCloudwatchLogsExports { */ export interface PendingModifiedValues { /** - *

                                                  Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

                                                  + *

                                                  Specifies the identifier of the CA certificate for the DB instance.

                                                  */ - MultiAZ?: boolean; + CACertificateIdentifier?: string; /** *

                                                  - * Contains the new DBInstanceClass for the DB instance - * that will be applied or is currently being applied. + * Contains the new DBInstanceIdentifier for the DB instance + * that will be applied or is currently being applied. *

                                                  */ - DBInstanceClass?: string; + DBInstanceIdentifier?: string; /** - *

                                                  Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.

                                                  + *

                                                  The new DB subnet group for the DB instance. + *

                                                  */ - Iops?: number; + DBSubnetGroupName?: string; /** - *

                                                  Specifies the storage type to be associated with the DB instance.

                                                  + *

                                                  Contains the pending or currently-in-progress change of the master credentials for the DB instance.

                                                  */ - StorageType?: string; + MasterUserPassword?: string; /** - *

                                                  Indicates the database engine version.

                                                  + *

                                                  Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.

                                                  */ - EngineVersion?: string; + Iops?: number; /** - *

                                                  The new DB subnet group for the DB instance. + *

                                                  + * Contains the new DBInstanceClass for the DB instance + * that will be applied or is currently being applied. *

                                                  */ - DBSubnetGroupName?: string; + DBInstanceClass?: string; /** - *

                                                  The number of CPU cores and the number of threads per core for the DB instance class - * of the DB instance.

                                                  + *

                                                  Indicates the database engine version.

                                                  */ - ProcessorFeatures?: ProcessorFeature[]; + EngineVersion?: string; /** - *

                                                  - * Contains the new DBInstanceIdentifier for the DB instance - * that will be applied or is currently being applied. - *

                                                  + *

                                                  A list of the log types whose configuration is still pending. In other words, these log types are in the process of being activated or deactivated.

                                                  */ - DBInstanceIdentifier?: string; + PendingCloudwatchLogsExports?: PendingCloudwatchLogsExports; /** - *

                                                  Specifies the identifier of the CA certificate for the DB instance.

                                                  + *

                                                  Specifies the storage type to be associated with the DB instance.

                                                  */ - CACertificateIdentifier?: string; + StorageType?: string; + + /** + *

                                                  Specifies the pending port for the DB instance.

                                                  + */ + Port?: number; /** *

                                                  @@ -5873,32 +5945,28 @@ export interface PendingModifiedValues { AllocatedStorage?: number; /** - *

                                                  The license model for the DB instance.

                                                  - *

                                                  Valid values: license-included | bring-your-own-license | - * general-public-license - *

                                                  - */ - LicenseModel?: string; - - /** - *

                                                  A list of the log types whose configuration is still pending. In other words, these log types are in the process of being activated or deactivated.

                                                  + *

                                                  Specifies the pending number of days for which automated backups are retained.

                                                  */ - PendingCloudwatchLogsExports?: PendingCloudwatchLogsExports; + BackupRetentionPeriod?: number; /** - *

                                                  Specifies the pending port for the DB instance.

                                                  + *

                                                  Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

                                                  */ - Port?: number; + MultiAZ?: boolean; /** - *

                                                  Specifies the pending number of days for which automated backups are retained.

                                                  + *

                                                  The license model for the DB instance.

                                                  + *

                                                  Valid values: license-included | bring-your-own-license | + * general-public-license + *

                                                  */ - BackupRetentionPeriod?: number; + LicenseModel?: string; /** - *

                                                  Contains the pending or currently-in-progress change of the master credentials for the DB instance.

                                                  + *

                                                  The number of CPU cores and the number of threads per core for the DB instance class + * of the DB instance.

                                                  */ - MasterUserPassword?: string; + ProcessorFeatures?: ProcessorFeature[]; } export namespace PendingModifiedValues { @@ -5907,19 +5975,19 @@ export namespace PendingModifiedValues { }); } +export enum ReplicaMode { + MOUNTED = "mounted", + OPEN_READ_ONLY = "open-read-only", +} + /** *

                                                  Provides a list of status information for a DB instance.

                                                  */ export interface DBInstanceStatusInfo { /** - *

                                                  This value is currently "read replication."

                                                  - */ - StatusType?: string; - - /** - *

                                                  Details of the error if there is an error for the instance. If the instance isn't in an error state, this value is blank.

                                                  + *

                                                  Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

                                                  */ - Message?: string; + Normal?: boolean; /** *

                                                  Status of the DB instance. For a StatusType of read replica, the values can be @@ -5929,9 +5997,14 @@ export interface DBInstanceStatusInfo { Status?: string; /** - *

                                                  Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

                                                  + *

                                                  Details of the error if there is an error for the instance. If the instance isn't in an error state, this value is blank.

                                                  */ - Normal?: boolean; + Message?: string; + + /** + *

                                                  This value is currently "read replication."

                                                  + */ + StatusType?: string; } export namespace DBInstanceStatusInfo { @@ -5948,104 +6021,73 @@ export namespace DBInstanceStatusInfo { */ export interface DBInstance { /** - *

                                                  If present, specifies the name of the character set that this instance is associated with.

                                                  - */ - CharacterSetName?: string; - - /** - *

                                                  - * Specifies the daily time range during which automated backups are - * created if automated backups are enabled, as determined - * by the BackupRetentionPeriod. - *

                                                  - */ - PreferredBackupWindow?: string; - - /** - *

                                                  Provides the date and time the DB instance was created.

                                                  - */ - InstanceCreateTime?: Date; - - /** - *

                                                  The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

                                                  - */ - MonitoringRoleArn?: string; - - /** - *

                                                  Contains the master username for the DB instance.

                                                  - */ - MasterUsername?: string; - - /** - *

                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                  - */ - ProcessorFeatures?: ProcessorFeature[]; - - /** - *

                                                  Specifies the listener connection endpoint for SQL Server Always On.

                                                  - */ - ListenerEndpoint?: Endpoint; - - /** - *

                                                  Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.

                                                  - */ - DBInstanceIdentifier?: string; - - /** - *

                                                  A value that specifies the order in which an Aurora Replica is promoted to the primary instance - * after a failure of the existing primary instance. For more information, - * see - * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. - *

                                                  + *

                                                  Provides the list of option group memberships for this DB instance.

                                                  */ - PromotionTier?: number; + OptionGroupMemberships?: OptionGroupMembership[]; /** - *

                                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                  + *

                                                  The status of a read replica. If the instance isn't a read replica, this is + * blank.

                                                  */ - PerformanceInsightsRetentionPeriod?: number; + StatusInfos?: DBInstanceStatusInfo[]; /** - *

                                                  Specifies the storage type associated with DB instance.

                                                  + *

                                                  Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.

                                                  */ - StorageType?: string; + PendingModifiedValues?: PendingModifiedValues; /** - *

                                                  Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

                                                  + *

                                                  True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

                                                  + * + *

                                                  IAM database authentication can be enabled for the following database engines

                                                  + *
                                                    + *
                                                  • + *

                                                    For MySQL 5.6, minor version 5.6.34 or higher

                                                    + *
                                                  • + *
                                                  • + *

                                                    For MySQL 5.7, minor version 5.7.16 or higher

                                                    + *
                                                  • + *
                                                  • + *

                                                    Aurora 5.6 or higher. To enable IAM database authentication for Aurora, see DBCluster Type.

                                                    + *
                                                  • + *
                                                  */ - PreferredMaintenanceWindow?: string; + IAMDatabaseAuthenticationEnabled?: boolean; /** - *

                                                  License model information for this DB instance.

                                                  + *

                                                  Specifies whether the DB instance is encrypted.

                                                  */ - LicenseModel?: string; + StorageEncrypted?: boolean; /** - *

                                                  Contains the identifier of the source DB instance if this DB instance is a read - * replica.

                                                  + *

                                                  The time zone of the DB instance. + * In most cases, the Timezone element is empty. + * Timezone content appears only for + * Microsoft SQL Server DB instances + * that were created with a time zone specified. + *

                                                  */ - ReadReplicaSourceDBInstanceIdentifier?: string; + Timezone?: string; /** - *

                                                  Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

                                                  + *

                                                  The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.

                                                  */ - DBSubnetGroup?: DBSubnetGroup; + DbiResourceId?: string; /** - *

                                                  Specifies the allocated storage size specified in gibibytes.

                                                  + *

                                                  Provides a list of VPC security group elements that the DB instance belongs to.

                                                  */ - AllocatedStorage?: number; + VpcSecurityGroups?: VpcSecurityGroupMembership[]; /** - *

                                                  Specifies the connection endpoint.

                                                  + *

                                                  Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

                                                  */ - Endpoint?: Endpoint; + PreferredMaintenanceWindow?: string; /** - *

                                                  Contains one or more identifiers of the read replicas associated with this DB - * instance.

                                                  + *

                                                  If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.

                                                  */ - ReadReplicaDBInstanceIdentifiers?: string[]; + DBClusterIdentifier?: string; /** *

                                                  Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.

                                                  @@ -6053,28 +6095,19 @@ export interface DBInstance { DbInstancePort?: number; /** - *

                                                  The identifier of the CA certificate for this DB instance.

                                                  + *

                                                  Specifies the connection endpoint.

                                                  */ - CACertificateIdentifier?: string; + Endpoint?: Endpoint; /** - *

                                                  The meaning of this parameter differs according to the database engine you use.

                                                  - *

                                                  - * MySQL, MariaDB, SQL Server, PostgreSQL - *

                                                  - *

                                                  Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

                                                  - *

                                                  Type: String

                                                  - *

                                                  - * Oracle - *

                                                  - *

                                                  Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

                                                  + *

                                                  The Amazon Resource Name (ARN) for the DB instance.

                                                  */ - DBName?: string; + DBInstanceArn?: string; /** - *

                                                  Provides the list of DB parameter groups applied to this DB instance.

                                                  + *

                                                  Specifies if the DB instance is a Multi-AZ deployment.

                                                  */ - DBParameterGroups?: DBParameterGroupStatus[]; + MultiAZ?: boolean; /** *

                                                  The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID @@ -6084,119 +6117,103 @@ export interface DBInstance { PerformanceInsightsKMSKeyId?: string; /** - *

                                                  Provides the name of the database engine to be used for this DB instance.

                                                  + *

                                                  The ARN from the key store with which the instance is associated for TDE encryption.

                                                  */ - Engine?: string; + TdeCredentialArn?: string; /** - *

                                                  Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

                                                  - *

                                                  - * Amazon Aurora - *

                                                  - *

                                                  Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this - * value for an Aurora DB instance has no effect on the DB cluster setting. For more - * information, see DBCluster.

                                                  + *

                                                  Provides the list of DB parameter groups applied to this DB instance.

                                                  */ - CopyTagsToSnapshot?: boolean; + DBParameterGroups?: DBParameterGroupStatus[]; /** - *

                                                  Specifies the Provisioned IOPS (I/O operations per second) value.

                                                  + *

                                                  Contains the name of the compute and memory capacity class of the DB instance.

                                                  */ - Iops?: number; + DBInstanceClass?: string; /** - *

                                                  The Amazon Resource Name (ARN) for the DB instance.

                                                  + *

                                                  Specifies the latest time to which a database can be restored with point-in-time restore.

                                                  */ - DBInstanceArn?: string; + LatestRestorableTime?: Date; /** - *

                                                  A list of log types that this DB instance is configured to export to CloudWatch Logs.

                                                  - *

                                                  Log types vary by DB engine. For information about the log types for each DB engine, see - * Amazon RDS Database Log Files in the Amazon RDS User Guide. - *

                                                  + *

                                                  Indicates that minor version patches are applied automatically.

                                                  */ - EnabledCloudwatchLogsExports?: string[]; + AutoMinorVersionUpgrade?: boolean; /** - *

                                                  The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.

                                                  + *

                                                  + * A list of DB security group elements containing + * DBSecurityGroup.Name and DBSecurityGroup.Status subelements. + *

                                                  */ - DbiResourceId?: string; + DBSecurityGroups?: DBSecurityGroupMembership[]; /** - *

                                                  If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

                                                  + *

                                                  Specifies the current state of this database.

                                                  + *

                                                  For information about DB instance statuses, see + * DB Instance Status in the Amazon RDS User Guide. + *

                                                  */ - SecondaryAvailabilityZone?: string; + DBInstanceStatus?: string; /** - *

                                                  The time zone of the DB instance. - * In most cases, the Timezone element is empty. - * Timezone content appears only for - * Microsoft SQL Server DB instances - * that were created with a time zone specified. - *

                                                  + *

                                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                  */ - Timezone?: string; + PerformanceInsightsRetentionPeriod?: number; /** - *

                                                  Specifies whether the DB instance is encrypted.

                                                  + *

                                                  The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

                                                  */ - StorageEncrypted?: boolean; + MonitoringInterval?: number; /** - *

                                                  True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

                                                  - * - *

                                                  IAM database authentication can be enabled for the following database engines

                                                  - *
                                                    - *
                                                  • - *

                                                    For MySQL 5.6, minor version 5.6.34 or higher

                                                    - *
                                                  • - *
                                                  • - *

                                                    For MySQL 5.7, minor version 5.7.16 or higher

                                                    - *
                                                  • - *
                                                  • - *

                                                    Aurora 5.6 or higher. To enable IAM database authentication for Aurora, see DBCluster Type.

                                                    - *
                                                  • - *
                                                  + *

                                                  Specifies the storage type associated with DB instance.

                                                  */ - IAMDatabaseAuthenticationEnabled?: boolean; + StorageType?: string; /** - *

                                                  If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.

                                                  + *

                                                  Indicates the database engine version.

                                                  */ - DBClusterIdentifier?: string; + EngineVersion?: string; /** - *

                                                  The ARN from the key store with which the instance is associated for TDE encryption.

                                                  + *

                                                  Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.

                                                  */ - TdeCredentialArn?: string; + DBInstanceIdentifier?: string; /** - *

                                                  The Active Directory Domain membership records associated with the DB instance.

                                                  + *

                                                  Contains the identifier of the source DB instance if this DB instance is a read + * replica.

                                                  */ - DomainMemberships?: DomainMembership[]; + ReadReplicaSourceDBInstanceIdentifier?: string; /** - *

                                                  The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                  + *

                                                  Contains one or more identifiers of Aurora DB clusters to which the RDS DB instance + * is replicated as a read replica. For example, when you create an Aurora read replica of + * an RDS MySQL DB instance, the Aurora MySQL DB cluster for the Aurora read replica is + * shown. This output does not contain information about cross region Aurora read + * replicas.

                                                  + * + *

                                                  Currently, each RDS DB instance can have only one Aurora read replica.

                                                  + *
                                                  */ - MaxAllocatedStorage?: number; + ReadReplicaDBClusterIdentifiers?: string[]; /** - *

                                                  Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.

                                                  + *

                                                  Specifies the allocated storage size specified in gibibytes.

                                                  */ - PendingModifiedValues?: PendingModifiedValues; + AllocatedStorage?: number; /** - *

                                                  - * A list of DB security group elements containing - * DBSecurityGroup.Name and DBSecurityGroup.Status subelements. - *

                                                  + *

                                                  The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                  */ - DBSecurityGroups?: DBSecurityGroupMembership[]; + MaxAllocatedStorage?: number; /** - *

                                                  True if Performance Insights is enabled for the DB instance, and otherwise false.

                                                  + *

                                                  The Active Directory Domain membership records associated with the DB instance.

                                                  */ - PerformanceInsightsEnabled?: boolean; + DomainMemberships?: DomainMembership[]; /** *

                                                  Specifies the accessibility options for the DB instance.

                                                  @@ -6209,14 +6226,19 @@ export interface DBInstance { PubliclyAccessible?: boolean; /** - *

                                                  Specifies the number of days for which automatic DB snapshots are retained.

                                                  + *

                                                  Indicates if the DB instance has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. + * For more information, see + * + * Deleting a DB Instance. + *

                                                  */ - BackupRetentionPeriod?: number; + DeletionProtection?: boolean; /** - *

                                                  Indicates the database engine version.

                                                  + *

                                                  Contains the master username for the DB instance.

                                                  */ - EngineVersion?: string; + MasterUsername?: string; /** *

                                                  @@ -6227,14 +6249,26 @@ export interface DBInstance { KmsKeyId?: string; /** - *

                                                  Indicates if the DB instance has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. - * For more information, see - * - * Deleting a DB Instance. + *

                                                  Specifies the name of the Availability Zone the DB instance is located in.

                                                  + */ + AvailabilityZone?: string; + + /** + *

                                                  The name of the NCHAR character set for the Oracle DB instance. This character set specifies the + * Unicode encoding for data stored in table columns of type NCHAR, NCLOB, or NVARCHAR2. *

                                                  */ - DeletionProtection?: boolean; + NcharCharacterSetName?: string; + + /** + *

                                                  If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

                                                  + */ + SecondaryAvailabilityZone?: string; + + /** + *

                                                  The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

                                                  + */ + MonitoringRoleArn?: string; /** *

                                                  The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.

                                                  @@ -6242,77 +6276,140 @@ export interface DBInstance { EnhancedMonitoringResourceArn?: string; /** - *

                                                  Specifies the name of the Availability Zone the DB instance is located in.

                                                  + *

                                                  A value that specifies the order in which an Aurora Replica is promoted to the primary instance + * after a failure of the existing primary instance. For more information, + * see + * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. + *

                                                  */ - AvailabilityZone?: string; + PromotionTier?: number; /** - *

                                                  Provides a list of VPC security group elements that the DB instance belongs to.

                                                  + *

                                                  + * The AWS Identity and Access Management (IAM) roles associated with the DB instance. + *

                                                  */ - VpcSecurityGroups?: VpcSecurityGroupMembership[]; + AssociatedRoles?: DBInstanceRole[]; /** - *

                                                  The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

                                                  + *

                                                  Provides the date and time the DB instance was created.

                                                  */ - MonitoringInterval?: number; + InstanceCreateTime?: Date; + + /** + *

                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                  + */ + ProcessorFeatures?: ProcessorFeature[]; + + /** + *

                                                  Specifies the listener connection endpoint for SQL Server Always On.

                                                  + */ + ListenerEndpoint?: Endpoint; + + /** + *

                                                  The identifier of the CA certificate for this DB instance.

                                                  + */ + CACertificateIdentifier?: string; + + /** + *

                                                  A list of log types that this DB instance is configured to export to CloudWatch Logs.

                                                  + *

                                                  Log types vary by DB engine. For information about the log types for each DB engine, see + * Amazon RDS Database Log Files in the Amazon RDS User Guide. + *

                                                  + */ + EnabledCloudwatchLogsExports?: string[]; + + /** + *

                                                  If present, specifies the name of the character set that this instance is associated with.

                                                  + */ + CharacterSetName?: string; + + /** + *

                                                  Contains one or more identifiers of the read replicas associated with this DB + * instance.

                                                  + */ + ReadReplicaDBInstanceIdentifiers?: string[]; + + /** + *

                                                  A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                                  + */ + TagList?: Tag[]; + + /** + *

                                                  Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

                                                  + *

                                                  + * Amazon Aurora + *

                                                  + *

                                                  Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this + * value for an Aurora DB instance has no effect on the DB cluster setting. For more + * information, see DBCluster.

                                                  + */ + CopyTagsToSnapshot?: boolean; /** - *

                                                  Contains one or more identifiers of Aurora DB clusters to which the RDS DB instance - * is replicated as a read replica. For example, when you create an Aurora read replica of - * an RDS MySQL DB instance, the Aurora MySQL DB cluster for the Aurora read replica is - * shown. This output does not contain information about cross region Aurora read - * replicas.

                                                  + *

                                                  The open mode of an Oracle read replica. The default is open-read-only. + * For more information, see Working with Oracle Read Replicas for Amazon RDS + * in the Amazon RDS User Guide.

                                                  * - *

                                                  Currently, each RDS DB instance can have only one Aurora read replica.

                                                  + *

                                                  This attribute is only supported in RDS for Oracle.

                                                  *
                                                  */ - ReadReplicaDBClusterIdentifiers?: string[]; + ReplicaMode?: ReplicaMode | string; /** - *

                                                  Indicates that minor version patches are applied automatically.

                                                  + *

                                                  The name of the database engine to be used for this DB instance.

                                                  */ - AutoMinorVersionUpgrade?: boolean; + Engine?: string; /** - *

                                                  - * The AWS Identity and Access Management (IAM) roles associated with the DB instance. - *

                                                  + *

                                                  Specifies the Provisioned IOPS (I/O operations per second) value.

                                                  */ - AssociatedRoles?: DBInstanceRole[]; + Iops?: number; /** - *

                                                  Specifies if the DB instance is a Multi-AZ deployment.

                                                  + *

                                                  License model information for this DB instance.

                                                  */ - MultiAZ?: boolean; + LicenseModel?: string; /** - *

                                                  Contains the name of the compute and memory capacity class of the DB instance.

                                                  + *

                                                  Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

                                                  */ - DBInstanceClass?: string; + DBSubnetGroup?: DBSubnetGroup; /** - *

                                                  Provides the list of option group memberships for this DB instance.

                                                  + *

                                                  + * Specifies the daily time range during which automated backups are + * created if automated backups are enabled, as determined + * by the BackupRetentionPeriod. + *

                                                  */ - OptionGroupMemberships?: OptionGroupMembership[]; + PreferredBackupWindow?: string; /** - *

                                                  Specifies the latest time to which a database can be restored with point-in-time restore.

                                                  + *

                                                  Specifies the number of days for which automatic DB snapshots are retained.

                                                  */ - LatestRestorableTime?: Date; + BackupRetentionPeriod?: number; /** - *

                                                  The status of a read replica. If the instance isn't a read replica, this is - * blank.

                                                  + *

                                                  The meaning of this parameter differs according to the database engine you use.

                                                  + *

                                                  + * MySQL, MariaDB, SQL Server, PostgreSQL + *

                                                  + *

                                                  Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

                                                  + *

                                                  Type: String

                                                  + *

                                                  + * Oracle + *

                                                  + *

                                                  Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

                                                  */ - StatusInfos?: DBInstanceStatusInfo[]; + DBName?: string; /** - *

                                                  Specifies the current state of this database.

                                                  - *

                                                  For information about DB instance statuses, see - * DB Instance Status in the Amazon RDS User Guide. - *

                                                  + *

                                                  True if Performance Insights is enabled for the DB instance, and otherwise false.

                                                  */ - DBInstanceStatus?: string; + PerformanceInsightsEnabled?: boolean; } export namespace DBInstance { @@ -6417,87 +6514,18 @@ export namespace StorageTypeNotSupportedFault { export interface CreateDBInstanceReadReplicaMessage { /** - *

                                                  A value that indicates whether to copy all tags from the read replica to snapshots of - * the read replica. By default, tags are not copied.

                                                  - */ - CopyTagsToSnapshot?: boolean; - - /** - *

                                                  The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action - * in the source AWS Region that contains the source DB instance. - *

                                                  - * - *

                                                  You must specify this parameter when you create an encrypted read replica from - * another AWS Region by using the Amazon RDS API. Don't specify - * PreSignedUrl when you are creating an encrypted read replica in the - * same AWS Region.

                                                  - * - *

                                                  The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action - * that can be executed in the source AWS Region that contains the encrypted source DB instance. - * The presigned URL request must contain the following parameter values: - *

                                                  - * - *
                                                    - *
                                                  • - *

                                                    - * DestinationRegion - The AWS Region that the encrypted read - * replica is created in. This AWS Region is the same one where the - * CreateDBInstanceReadReplica action is called that contains this presigned URL.

                                                    - * - *

                                                    For example, if you create an encrypted DB instance in the us-west-1 AWS Region, - * from a source DB instance in the us-east-2 AWS Region, - * then you call the CreateDBInstanceReadReplica action in - * the us-east-1 AWS Region and provide a presigned URL that contains a call to the - * CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For this - * example, the DestinationRegion in the presigned URL must be set to - * the us-east-1 AWS Region. - *

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * KmsKeyId - The AWS KMS key identifier for the key to use to - * encrypt the read replica in the destination AWS Region. This is the same - * identifier for both the CreateDBInstanceReadReplica action that is - * called in the destination AWS Region, and the action contained in the presigned - * URL.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * SourceDBInstanceIdentifier - The DB instance identifier for - * the encrypted DB instance to be replicated. This identifier must be in the - * Amazon Resource Name (ARN) format for the source AWS Region. For example, if you - * are creating an encrypted read replica from a DB instance in the us-west-2 AWS - * Region, then your SourceDBInstanceIdentifier looks like the - * following example: - * arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

                                                    - *
                                                  • - *
                                                  - * - *

                                                  To learn how to generate a Signature Version 4 signed request, see - * Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and - * Signature Version 4 Signing Process. - *

                                                  - * - * - *

                                                  If you are using an AWS SDK tool or the AWS CLI, you can specify - * SourceRegion (or --source-region for the AWS CLI) - * instead of specifying PreSignedUrl manually. Specifying - * SourceRegion autogenerates a presigned URL that is a valid request - * for the operation that can be executed in the source AWS Region.

                                                  - *

                                                  - * SourceRegion isn't supported for SQL Server, because SQL Server on Amazon RDS - * doesn't support cross-region read replicas.

                                                  - *
                                                  + *

                                                  The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For + * example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, + * go to To + * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

                                                  + *

                                                  If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                  */ - PreSignedUrl?: string; + MonitoringRoleArn?: string; /** - *

                                                  A list of EC2 VPC security groups to associate with the read replica.

                                                  - *

                                                  - * Default: The default EC2 VPC security group for the DB subnet group's VPC. - *

                                                  + *

                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                  */ - VpcSecurityGroupIds?: string[]; + ProcessorFeatures?: ProcessorFeature[]; /** *

                                                  A value that indicates whether the DB instance class of the DB instance uses its default @@ -6506,31 +6534,128 @@ export interface CreateDBInstanceReadReplicaMessage { UseDefaultProcessorFeatures?: boolean; /** - *

                                                  The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For - * example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, - * go to To - * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

                                                  - *

                                                  If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                  + *

                                                  The DB instance identifier of the read replica. This identifier is the unique key + * that identifies a DB instance. This parameter is stored as a lowercase string.

                                                  */ - MonitoringRoleArn?: string; + DBInstanceIdentifier: string | undefined; /** - *

                                                  A value that indicates whether to enable Performance Insights for the read replica.

                                                  - *

                                                  For more information, see Using - * Amazon Performance Insights in the Amazon RDS User Guide. + *

                                                  The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL + * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                  + *

                                                  For more information, see + * Kerberos Authentication in the Amazon RDS User Guide.

                                                  + */ + Domain?: string; + + /** + *

                                                  The list of logs that the new DB instance is to export to CloudWatch Logs. The values + * in the list depend on the DB engine being used. For more information, see + * Publishing + * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                  + */ + EnableCloudwatchLogsExports?: string[]; + + /** + *

                                                  A value that indicates whether to enable mapping of AWS Identity and Access + * Management (IAM) accounts to database accounts. By default, mapping is disabled. + * For information about the supported DB engines, see CreateDBInstance.

                                                  + * + *

                                                  For more information about IAM database authentication, see + * + * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. + *

                                                  + */ + EnableIAMDatabaseAuthentication?: boolean; + + /** + *

                                                  The port number that the DB instance uses for connections.

                                                  + *

                                                  Default: Inherits from the source DB instance

                                                  + *

                                                  Valid Values: 1150-65535 + *

                                                  + */ + Port?: number; + + /** + *

                                                  A value that indicates whether the DB instance is publicly accessible.

                                                  + *

                                                  When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, + * and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, + * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                                  + *

                                                  When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                                  + *

                                                  For more information, see CreateDBInstance.

                                                  + */ + PubliclyAccessible?: boolean; + + /** + *

                                                  Specifies the storage type to be associated with the read replica.

                                                  + *

                                                  + * Valid values: standard | gp2 | io1 + *

                                                  + *

                                                  + * If you specify io1, you must also include a value for the + * Iops parameter. *

                                                  + *

                                                  + * Default: io1 if the Iops parameter + * is specified, otherwise gp2 + *

                                                  */ - EnablePerformanceInsights?: boolean; + StorageType?: string; + + /** + *

                                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                  + */ + PerformanceInsightsRetentionPeriod?: number; + + /** + *

                                                  The identifier of the DB instance that will act as the source for the read replica. + * Each DB instance can have up to five read replicas.

                                                  + *

                                                  Constraints:

                                                  + *
                                                    + *
                                                  • + *

                                                    Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL, or SQL Server DB + * instance.

                                                    + *
                                                  • + *
                                                  • + *

                                                    Can specify a DB instance that is a MySQL read replica only if the source is running MySQL + * 5.6 or later.

                                                    + *
                                                  • + *
                                                  • + *

                                                    For the limitations of Oracle read replicas, see Read Replica Limitations with Oracle in the + * Amazon RDS User Guide.

                                                    + *
                                                  • + *
                                                  • + *

                                                    For the limitations of SQL Server read replicas, see Read Replica + * Limitations with Microsoft SQL Server in the Amazon RDS User Guide.

                                                    + *
                                                  • + *
                                                  • + *

                                                    Can specify a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or + * later (9.4.7 and higher for cross-region replication).

                                                    + *
                                                  • + *
                                                  • + *

                                                    The specified DB instance must have automatic backups enabled, that is, its backup + * retention period must be greater than 0.

                                                    + *
                                                  • + *
                                                  • + *

                                                    If the source DB instance is in the same AWS Region as the read replica, specify a valid DB + * instance identifier.

                                                    + *
                                                  • + *
                                                  • + *

                                                    If the source DB instance is in a different AWS Region from the read replica, specify a valid DB instance ARN. + * For more information, see Constructing an ARN for Amazon RDS + * in the Amazon RDS User Guide. This doesn't apply to SQL Server, which doesn't support cross-region replicas.

                                                    + *
                                                  • + *
                                                  + */ + SourceDBInstanceIdentifier: string | undefined; /** - *

                                                  A value that indicates whether the read replica is in a Multi-AZ deployment.

                                                  - * - *

                                                  You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of - * your replica in another Availability Zone for failover support for the replica. Creating - * your read replica as a Multi-AZ DB instance is independent of whether the source - * database is a Multi-AZ DB instance.

                                                  + *

                                                  The option group the DB instance is associated with. If omitted, the option group associated with the source instance is used.

                                                  + * + *

                                                  For SQL Server, you must use the option group associated with the source + * instance.

                                                  + *
                                                  */ - MultiAZ?: boolean; + OptionGroupName?: string; /** *

                                                  Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance isn't created in a VPC.

                                                  @@ -6566,15 +6691,66 @@ export interface CreateDBInstanceReadReplicaMessage { DBSubnetGroupName?: string; /** - *

                                                  The compute and memory capacity of the read replica, for example, - * db.m4.large. Not all DB instance classes are available in all AWS - * Regions, or for all database engines. For the full list of DB instance classes, and - * availability for your engine, see DB Instance - * Class in the Amazon RDS User Guide. + *

                                                  A value that indicates whether the DB instance has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. For more information, see + * + * Deleting a DB Instance. *

                                                  - *

                                                  Default: Inherits from the source DB instance.

                                                  */ - DBInstanceClass?: string; + DeletionProtection?: boolean; + + /** + *

                                                  The AWS KMS key ID for an encrypted read replica. The KMS key ID is the Amazon + * Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

                                                  + * + *

                                                  If you create an encrypted read replica in the same AWS Region as the source DB + * instance, then you do not have to specify a value for this parameter. The read replica + * is encrypted with the same KMS key as the source DB instance.

                                                  + * + *

                                                  If you create an encrypted read replica in a different AWS Region, then you must + * specify a KMS key for the destination AWS Region. KMS encryption keys are specific to + * the AWS Region that they are created in, and you can't use encryption keys from one + * AWS Region in another AWS Region.

                                                  + * + *

                                                  You can't create an encrypted read replica from an unencrypted DB instance.

                                                  + */ + KmsKeyId?: string; + + /** + *

                                                  The Availability Zone (AZ) where the read replica will be created.

                                                  + *

                                                  Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

                                                  + *

                                                  + * Example: us-east-1d + *

                                                  + */ + AvailabilityZone?: string; + + /** + *

                                                  The interval, in seconds, between points when Enhanced Monitoring metrics are + * collected for the read replica. To disable collecting Enhanced Monitoring metrics, + * specify 0. The default is 0.

                                                  + *

                                                  If MonitoringRoleArn is specified, then you must also set MonitoringInterval + * to a value other than 0.

                                                  + *

                                                  Valid Values: 0, 1, 5, 10, 15, 30, 60 + *

                                                  + */ + MonitoringInterval?: number; + + /** + *

                                                  A list of EC2 VPC security groups to associate with the read replica.

                                                  + *

                                                  + * Default: The default EC2 VPC security group for the DB subnet group's VPC. + *

                                                  + */ + VpcSecurityGroupIds?: string[]; + + /** + *

                                                  A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                                  + */ + Tags?: Tag[]; /** *

                                                  A value that indicates whether minor engine upgrades are applied automatically to the @@ -6608,15 +6784,9 @@ export interface CreateDBInstanceReadReplicaMessage { DBParameterGroupName?: string; /** - *

                                                  The interval, in seconds, between points when Enhanced Monitoring metrics are - * collected for the read replica. To disable collecting Enhanced Monitoring metrics, - * specify 0. The default is 0.

                                                  - *

                                                  If MonitoringRoleArn is specified, then you must also set MonitoringInterval - * to a value other than 0.

                                                  - *

                                                  Valid Values: 0, 1, 5, 10, 15, 30, 60 - *

                                                  + *

                                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                  */ - MonitoringInterval?: number; + DomainIAMRoleName?: string; /** *

                                                  The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

                                                  @@ -6624,78 +6794,27 @@ export interface CreateDBInstanceReadReplicaMessage { Iops?: number; /** - *

                                                  A value that indicates whether the DB instance is publicly accessible.

                                                  - *

                                                  When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, - * and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, - * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                                  - *

                                                  When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                                  - *

                                                  For more information, see CreateDBInstance.

                                                  - */ - PubliclyAccessible?: boolean; - - /** - *

                                                  A list of tags. - * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. - *

                                                  + *

                                                  A value that indicates whether to enable Performance Insights for the read replica.

                                                  + *

                                                  For more information, see Using + * Amazon Performance Insights in the Amazon RDS User Guide. + *

                                                  */ - Tags?: Tag[]; + EnablePerformanceInsights?: boolean; /** - *

                                                  The option group the DB instance is associated with. If omitted, the option group associated with the source instance is used.

                                                  + *

                                                  The open mode of the replica database: mounted or read-only.

                                                  * - *

                                                  For SQL Server, you must use the option group associated with the source - * instance.

                                                  + *

                                                  This parameter is only supported for Oracle DB instances.

                                                  *
                                                  + *

                                                  Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for + * mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active + * Data Guard to transmit information to the mounted replica. Because it doesn't accept + * user connections, a mounted replica can't serve a read-only workload.

                                                  + *

                                                  You can create a combination of mounted and read-only DB replicas for the same primary DB instance. + * For more information, see Working with Oracle Read Replicas for Amazon RDS + * in the Amazon RDS User Guide.

                                                  */ - OptionGroupName?: string; - - /** - *

                                                  The Availability Zone (AZ) where the read replica will be created.

                                                  - *

                                                  Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

                                                  - *

                                                  - * Example: us-east-1d - *

                                                  - */ - AvailabilityZone?: string; - - /** - *

                                                  A value that indicates whether the DB instance has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. For more information, see - * - * Deleting a DB Instance. - *

                                                  - */ - DeletionProtection?: boolean; - - /** - *

                                                  The AWS KMS key ID for an encrypted read replica. The KMS key ID is the Amazon - * Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

                                                  - * - *

                                                  If you create an encrypted read replica in the same AWS Region as the source DB - * instance, then you do not have to specify a value for this parameter. The read replica - * is encrypted with the same KMS key as the source DB instance.

                                                  - * - *

                                                  If you create an encrypted read replica in a different AWS Region, then you must - * specify a KMS key for the destination AWS Region. KMS encryption keys are specific to - * the AWS Region that they are created in, and you can't use encryption keys from one - * AWS Region in another AWS Region.

                                                  - * - *

                                                  You can't create an encrypted read replica from an unencrypted DB instance.

                                                  - */ - KmsKeyId?: string; - - /** - *

                                                  A value that indicates whether to enable mapping of AWS Identity and Access - * Management (IAM) accounts to database accounts. By default, mapping is disabled. - * For information about the supported DB engines, see CreateDBInstance.

                                                  - * - *

                                                  For more information about IAM database authentication, see - * - * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. - *

                                                  - */ - EnableIAMDatabaseAuthentication?: boolean; + ReplicaMode?: ReplicaMode | string; /** *

                                                  The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID @@ -6707,111 +6826,100 @@ export interface CreateDBInstanceReadReplicaMessage { PerformanceInsightsKMSKeyId?: string; /** - *

                                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                  - */ - DomainIAMRoleName?: string; - - /** - *

                                                  The Active Directory directory ID to create the DB instance in.

                                                  - *

                                                  For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB instance. - * For more information, see - * Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.

                                                  - *

                                                  For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication to - * authenticate users that connect to the DB instance. For more information, see - * Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL - * Server in the Amazon RDS User Guide.

                                                  - */ - Domain?: string; - - /** - *

                                                  The list of logs that the new DB instance is to export to CloudWatch Logs. The values - * in the list depend on the DB engine being used. For more information, see - * Publishing - * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                  - */ - EnableCloudwatchLogsExports?: string[]; - - /** - *

                                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                  - */ - PerformanceInsightsRetentionPeriod?: number; - - /** - *

                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                  - */ - ProcessorFeatures?: ProcessorFeature[]; - - /** - *

                                                  The port number that the DB instance uses for connections.

                                                  - *

                                                  Default: Inherits from the source DB instance

                                                  - *

                                                  Valid Values: 1150-65535 - *

                                                  + *

                                                  A value that indicates whether the read replica is in a Multi-AZ deployment.

                                                  + * + *

                                                  You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of + * your replica in another Availability Zone for failover support for the replica. Creating + * your read replica as a Multi-AZ DB instance is independent of whether the source + * database is a Multi-AZ DB instance.

                                                  */ - Port?: number; + MultiAZ?: boolean; /** - *

                                                  Specifies the storage type to be associated with the read replica.

                                                  - *

                                                  - * Valid values: standard | gp2 | io1 - *

                                                  - *

                                                  - * If you specify io1, you must also include a value for the - * Iops parameter. + *

                                                  The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action + * in the source AWS Region that contains the source DB instance. *

                                                  - *

                                                  - * Default: io1 if the Iops parameter - * is specified, otherwise gp2 - *

                                                  - */ - StorageType?: string; - - /** - *

                                                  The DB instance identifier of the read replica. This identifier is the unique key - * that identifies a DB instance. This parameter is stored as a lowercase string.

                                                  - */ - DBInstanceIdentifier: string | undefined; - - /** - *

                                                  The identifier of the DB instance that will act as the source for the read replica. - * Each DB instance can have up to five read replicas.

                                                  - *

                                                  Constraints:

                                                  - *
                                                    - *
                                                  • - *

                                                    Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL, or SQL Server DB - * instance.

                                                    - *
                                                  • - *
                                                  • - *

                                                    Can specify a DB instance that is a MySQL read replica only if the source is running MySQL - * 5.6 or later.

                                                    - *
                                                  • - *
                                                  • - *

                                                    For the limitations of Oracle read replicas, see Read Replica Limitations with Oracle in the - * Amazon RDS User Guide.

                                                    - *
                                                  • - *
                                                  • - *

                                                    For the limitations of SQL Server read replicas, see Read Replica - * Limitations with Microsoft SQL Server in the Amazon RDS User Guide.

                                                    - *
                                                  • - *
                                                  • - *

                                                    Can specify a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or - * later (9.4.7 and higher for cross-region replication).

                                                    - *
                                                  • + * + *

                                                    You must specify this parameter when you create an encrypted read replica from + * another AWS Region by using the Amazon RDS API. Don't specify + * PreSignedUrl when you are creating an encrypted read replica in the + * same AWS Region.

                                                    + * + *

                                                    The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action + * that can be executed in the source AWS Region that contains the encrypted source DB instance. + * The presigned URL request must contain the following parameter values: + *

                                                    + * + *
                                                      *
                                                    • - *

                                                      The specified DB instance must have automatic backups enabled, that is, its backup - * retention period must be greater than 0.

                                                      + *

                                                      + * DestinationRegion - The AWS Region that the encrypted read + * replica is created in. This AWS Region is the same one where the + * CreateDBInstanceReadReplica action is called that contains this presigned URL.

                                                      + * + *

                                                      For example, if you create an encrypted DB instance in the us-west-1 AWS Region, + * from a source DB instance in the us-east-2 AWS Region, + * then you call the CreateDBInstanceReadReplica action in + * the us-east-1 AWS Region and provide a presigned URL that contains a call to the + * CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For this + * example, the DestinationRegion in the presigned URL must be set to + * the us-east-1 AWS Region. + *

                                                      *
                                                    • *
                                                    • - *

                                                      If the source DB instance is in the same AWS Region as the read replica, specify a valid DB - * instance identifier.

                                                      + *

                                                      + * KmsKeyId - The AWS KMS key identifier for the key to use to + * encrypt the read replica in the destination AWS Region. This is the same + * identifier for both the CreateDBInstanceReadReplica action that is + * called in the destination AWS Region, and the action contained in the presigned + * URL.

                                                      *
                                                    • *
                                                    • - *

                                                      If the source DB instance is in a different AWS Region from the read replica, specify a valid DB instance ARN. - * For more information, see Constructing an ARN for Amazon RDS - * in the Amazon RDS User Guide. This doesn't apply to SQL Server, which doesn't support cross-region replicas.

                                                      + *

                                                      + * SourceDBInstanceIdentifier - The DB instance identifier for + * the encrypted DB instance to be replicated. This identifier must be in the + * Amazon Resource Name (ARN) format for the source AWS Region. For example, if you + * are creating an encrypted read replica from a DB instance in the us-west-2 AWS + * Region, then your SourceDBInstanceIdentifier looks like the + * following example: + * arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

                                                      *
                                                    • *
                                                    + * + *

                                                    To learn how to generate a Signature Version 4 signed request, see + * Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and + * Signature Version 4 Signing Process. + *

                                                    + * + * + *

                                                    If you are using an AWS SDK tool or the AWS CLI, you can specify + * SourceRegion (or --source-region for the AWS CLI) + * instead of specifying PreSignedUrl manually. Specifying + * SourceRegion autogenerates a presigned URL that is a valid request + * for the operation that can be executed in the source AWS Region.

                                                    + *

                                                    + * SourceRegion isn't supported for SQL Server, because SQL Server on Amazon RDS + * doesn't support cross-region read replicas.

                                                    + *
                                                    */ - SourceDBInstanceIdentifier: string | undefined; + PreSignedUrl?: string; + + /** + *

                                                    A value that indicates whether to copy all tags from the read replica to snapshots of + * the read replica. By default, tags are not copied.

                                                    + */ + CopyTagsToSnapshot?: boolean; + + /** + *

                                                    The compute and memory capacity of the read replica, for example, + * db.m4.large. Not all DB instance classes are available in all AWS + * Regions, or for all database engines. For the full list of DB instance classes, and + * availability for your engine, see DB Instance + * Class in the Amazon RDS User Guide. + *

                                                    + *

                                                    Default: Inherits from the source DB instance.

                                                    + */ + DBInstanceClass?: string; } export namespace CreateDBInstanceReadReplicaMessage { @@ -6872,6 +6980,11 @@ export namespace InvalidDBSubnetGroupFault { *

                                                    */ export interface CreateDBParameterGroupMessage { + /** + *

                                                    Tags to assign to the DB parameter group.

                                                    + */ + Tags?: Tag[]; + /** *

                                                    The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.

                                                    *

                                                    To list all of the available parameter group families, use the following command:

                                                    @@ -6885,9 +6998,9 @@ export interface CreateDBParameterGroupMessage { DBParameterGroupFamily: string | undefined; /** - *

                                                    Tags to assign to the DB parameter group.

                                                    + *

                                                    The description for the DB parameter group.

                                                    */ - Tags?: Tag[]; + Description: string | undefined; /** *

                                                    The name of the DB parameter group.

                                                    @@ -6908,11 +7021,6 @@ export interface CreateDBParameterGroupMessage { * */ DBParameterGroupName: string | undefined; - - /** - *

                                                    The description for the DB parameter group.

                                                    - */ - Description: string | undefined; } export namespace CreateDBParameterGroupMessage { @@ -6951,9 +7059,10 @@ export enum IAMAuthMode { */ export interface UserAuthConfig { /** - *

                                                    The type of authentication that the proxy uses for connections from the proxy to the underlying database.

                                                    + *

                                                    The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate + * to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.

                                                    */ - AuthScheme?: AuthScheme | string; + SecretArn?: string; /** *

                                                    Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy.

                                                    @@ -6961,10 +7070,9 @@ export interface UserAuthConfig { IAMAuth?: IAMAuthMode | string; /** - *

                                                    The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate - * to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.

                                                    + *

                                                    The name of the database user to which the proxy connects.

                                                    */ - SecretArn?: string; + UserName?: string; /** *

                                                    A user-specified description about the authentication used by a proxy to log in as a specific database user.

                                                    @@ -6972,9 +7080,9 @@ export interface UserAuthConfig { Description?: string; /** - *

                                                    The name of the database user to which the proxy connects.

                                                    + *

                                                    The type of authentication that the proxy uses for connections from the proxy to the underlying database.

                                                    */ - UserName?: string; + AuthScheme?: AuthScheme | string; } export namespace UserAuthConfig { @@ -6990,14 +7098,19 @@ export enum EngineFamily { export interface CreateDBProxyRequest { /** - *

                                                    The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

                                                    + *

                                                    Whether the proxy includes detailed information about SQL statements in its logs. + * This information helps you to debug issues involving SQL behavior or the performance + * and scalability of the proxy connections. The debug information includes the text of + * SQL statements that you submit through the proxy. Thus, only enable this setting + * when needed for debugging, and only when you have security measures in place to + * safeguard any sensitive information that appears in the logs.

                                                    */ - DBProxyName: string | undefined; + DebugLogging?: boolean; /** - *

                                                    The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.

                                                    + *

                                                    One or more VPC subnet IDs to associate with the new proxy.

                                                    */ - RoleArn: string | undefined; + VpcSubnetIds: string[] | undefined; /** *

                                                    The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this @@ -7006,20 +7119,14 @@ export interface CreateDBProxyRequest { IdleClientTimeout?: number; /** - *

                                                    One or more VPC subnet IDs to associate with the new proxy.

                                                    - */ - VpcSubnetIds: string[] | undefined; - - /** - *

                                                    A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. - * By enabling this setting, you can enforce encrypted TLS connections to the proxy.

                                                    + *

                                                    One or more VPC security group IDs to associate with the new proxy.

                                                    */ - RequireTLS?: boolean; + VpcSecurityGroupIds?: string[]; /** - *

                                                    An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.

                                                    + *

                                                    The authorization mechanism that the proxy uses.

                                                    */ - Tags?: Tag[]; + Auth: UserAuthConfig[] | undefined; /** *

                                                    The kinds of databases that the proxy can connect to. @@ -7030,24 +7137,25 @@ export interface CreateDBProxyRequest { EngineFamily: EngineFamily | string | undefined; /** - *

                                                    Whether the proxy includes detailed information about SQL statements in its logs. - * This information helps you to debug issues involving SQL behavior or the performance - * and scalability of the proxy connections. The debug information includes the text of - * SQL statements that you submit through the proxy. Thus, only enable this setting - * when needed for debugging, and only when you have security measures in place to - * safeguard any sensitive information that appears in the logs.

                                                    + *

                                                    A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. + * By enabling this setting, you can enforce encrypted TLS connections to the proxy.

                                                    */ - DebugLogging?: boolean; + RequireTLS?: boolean; /** - *

                                                    The authorization mechanism that the proxy uses.

                                                    + *

                                                    The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.

                                                    */ - Auth: UserAuthConfig[] | undefined; + RoleArn: string | undefined; /** - *

                                                    One or more VPC security group IDs to associate with the new proxy.

                                                    + *

                                                    The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

                                                    */ - VpcSecurityGroupIds?: string[]; + DBProxyName: string | undefined; + + /** + *

                                                    An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.

                                                    + */ + Tags?: Tag[]; } export namespace CreateDBProxyRequest { @@ -7060,17 +7168,17 @@ export namespace CreateDBProxyRequest { *

                                                    Returns the details of authentication used by a proxy to log in as a specific database user.

                                                    */ export interface UserAuthConfigInfo { - /** - *

                                                    The name of the database user to which the proxy connects.

                                                    - */ - UserName?: string; - /** *

                                                    The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate * to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.

                                                    */ SecretArn?: string; + /** + *

                                                    The name of the database user to which the proxy connects.

                                                    + */ + UserName?: string; + /** *

                                                    A user-specified description about the authentication used by a proxy to log in as a specific database user.

                                                    */ @@ -7111,10 +7219,25 @@ export enum DBProxyStatus { */ export interface DBProxy { /** - *

                                                    One or more data structures specifying the authorization mechanism to connect to the associated RDS DB instance - * or Aurora DB cluster.

                                                    + *

                                                    The endpoint that you can use to connect to the proxy. You include the endpoint value in the + * connection string for a database client application.

                                                    */ - Auth?: UserAuthConfigInfo[]; + Endpoint?: string; + + /** + *

                                                    Indicates whether Transport Layer Security (TLS) encryption is required for connections to the proxy.

                                                    + */ + RequireTLS?: boolean; + + /** + *

                                                    The engine family applies to MySQL and PostgreSQL for both RDS and Aurora.

                                                    + */ + EngineFamily?: string; + + /** + *

                                                    The EC2 subnet IDs for the proxy.

                                                    + */ + VpcSubnetIds?: string[]; /** *

                                                    The date and time when the proxy was first created.

                                                    @@ -7122,23 +7245,22 @@ export interface DBProxy { CreatedDate?: Date; /** - *

                                                    The Amazon Resource Name (ARN) for the proxy.

                                                    + *

                                                    One or more data structures specifying the authorization mechanism to connect to the associated RDS DB instance + * or Aurora DB cluster.

                                                    */ - DBProxyArn?: string; + Auth?: UserAuthConfigInfo[]; /** - *

                                                    Provides a list of VPC security groups that the proxy belongs to.

                                                    + *

                                                    The Amazon Resource Name (ARN) for the proxy.

                                                    */ - VpcSecurityGroupIds?: string[]; + DBProxyArn?: string; /** - *

                                                    The number of seconds a connection to the proxy can have no activity before the proxy drops the client connection. - * The proxy keeps the underlying database connection open and puts it back into the connection pool for reuse by - * later connection requests.

                                                    - *

                                                    Default: 1800 (30 minutes)

                                                    - *

                                                    Constraints: 1 to 28,800

                                                    + *

                                                    The current status of this proxy. A status of available means the + * proxy is ready to handle requests. Other values indicate that you must wait for + * the proxy to be ready, or take some action to resolve an issue.

                                                    */ - IdleClientTimeout?: number; + Status?: DBProxyStatus | string; /** *

                                                    Whether the proxy includes detailed information about SQL statements in its logs. @@ -7156,14 +7278,13 @@ export interface DBProxy { RoleArn?: string; /** - *

                                                    The EC2 subnet IDs for the proxy.

                                                    - */ - VpcSubnetIds?: string[]; - - /** - *

                                                    The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region.

                                                    + *

                                                    The number of seconds a connection to the proxy can have no activity before the proxy drops the client connection. + * The proxy keeps the underlying database connection open and puts it back into the connection pool for reuse by + * later connection requests.

                                                    + *

                                                    Default: 1800 (30 minutes)

                                                    + *

                                                    Constraints: 1 to 28,800

                                                    */ - DBProxyName?: string; + IdleClientTimeout?: number; /** *

                                                    The date and time when the proxy was last updated.

                                                    @@ -7171,27 +7292,14 @@ export interface DBProxy { UpdatedDate?: Date; /** - *

                                                    The endpoint that you can use to connect to the proxy. You include the endpoint value in the - * connection string for a database client application.

                                                    - */ - Endpoint?: string; - - /** - *

                                                    The current status of this proxy. A status of available means the - * proxy is ready to handle requests. Other values indicate that you must wait for - * the proxy to be ready, or take some action to resolve an issue.

                                                    - */ - Status?: DBProxyStatus | string; - - /** - *

                                                    Indicates whether Transport Layer Security (TLS) encryption is required for connections to the proxy.

                                                    + *

                                                    Provides a list of VPC security groups that the proxy belongs to.

                                                    */ - RequireTLS?: boolean; + VpcSecurityGroupIds?: string[]; /** - *

                                                    The engine family applies to MySQL and PostgreSQL for both RDS and Aurora.

                                                    + *

                                                    The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region.

                                                    */ - EngineFamily?: string; + DBProxyName?: string; } export namespace DBProxy { @@ -7247,16 +7355,6 @@ export namespace DBProxyQuotaExceededFault { *

                                                    */ export interface CreateDBSecurityGroupMessage { - /** - *

                                                    Tags to assign to the DB security group.

                                                    - */ - Tags?: Tag[]; - - /** - *

                                                    The description for the DB security group.

                                                    - */ - DBSecurityGroupDescription: string | undefined; - /** *

                                                    The name for the DB security group. This value is stored as a lowercase string.

                                                    *

                                                    Constraints:

                                                    @@ -7278,6 +7376,16 @@ export interface CreateDBSecurityGroupMessage { *

                                                    */ DBSecurityGroupName: string | undefined; + + /** + *

                                                    The description for the DB security group.

                                                    + */ + DBSecurityGroupDescription: string | undefined; + + /** + *

                                                    Tags to assign to the DB security group.

                                                    + */ + Tags?: Tag[]; } export namespace CreateDBSecurityGroupMessage { @@ -7425,12 +7533,9 @@ export namespace CreateDBSnapshotResult { */ export interface CreateDBSubnetGroupMessage { /** - *

                                                    The name for the DB subnet group. This value is stored as a lowercase string.

                                                    - *

                                                    Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.

                                                    - *

                                                    Example: mySubnetgroup - *

                                                    + *

                                                    The EC2 Subnet IDs for the DB subnet group.

                                                    */ - DBSubnetGroupName: string | undefined; + SubnetIds: string[] | undefined; /** *

                                                    The description for the DB subnet group.

                                                    @@ -7438,14 +7543,17 @@ export interface CreateDBSubnetGroupMessage { DBSubnetGroupDescription: string | undefined; /** - *

                                                    The EC2 Subnet IDs for the DB subnet group.

                                                    + *

                                                    Tags to assign to the DB subnet group.

                                                    */ - SubnetIds: string[] | undefined; + Tags?: Tag[]; /** - *

                                                    Tags to assign to the DB subnet group.

                                                    + *

                                                    The name for the DB subnet group. This value is stored as a lowercase string.

                                                    + *

                                                    Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.

                                                    + *

                                                    Example: mySubnetgroup + *

                                                    */ - Tags?: Tag[]; + DBSubnetGroupName: string | undefined; } export namespace CreateDBSubnetGroupMessage { @@ -7524,6 +7632,20 @@ export namespace DBSubnetQuotaExceededFault { *

                                                    */ export interface CreateEventSubscriptionMessage { + /** + *

                                                    The name of the subscription.

                                                    + *

                                                    Constraints: The name must be less than 255 characters.

                                                    + */ + SubscriptionName: string | undefined; + + /** + *

                                                    A list of event categories for a particular source type (SourceType) + * that you want to subscribe to. You can see a list of the categories for a given source + * type in Events in the + * Amazon RDS User Guide or by using the DescribeEventCategories operation.

                                                    + */ + EventCategories?: string[]; + /** *

                                                    * A value that indicates whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active. @@ -7531,6 +7653,16 @@ export interface CreateEventSubscriptionMessage { */ Enabled?: boolean; + /** + *

                                                    The type of source that is generating the events. For example, if you want to be + * notified of events generated by a DB instance, you set this parameter to + * db-instance. If this value isn't specified, all events are + * returned.

                                                    + *

                                                    Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot + *

                                                    + */ + SourceType?: string; + /** *

                                                    The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

                                                    */ @@ -7542,19 +7674,25 @@ export interface CreateEventSubscriptionMessage { *

                                                    Constraints:

                                                    *
                                                      *
                                                    • - *

                                                      If SourceIds are supplied, SourceType must also be provided.

                                                      + *

                                                      If a SourceIds value is supplied, SourceType must also be provided.

                                                      + *
                                                    • + *
                                                    • + *

                                                      If the source type is a DB instance, a DBInstanceIdentifier value must be supplied.

                                                      *
                                                    • *
                                                    • - *

                                                      If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

                                                      + *

                                                      If the source type is a DB cluster, a DBClusterIdentifier value must be supplied.

                                                      *
                                                    • *
                                                    • - *

                                                      If the source type is a DB security group, a DBSecurityGroupName must be supplied.

                                                      + *

                                                      If the source type is a DB parameter group, a DBParameterGroupName value must be supplied.

                                                      *
                                                    • *
                                                    • - *

                                                      If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

                                                      + *

                                                      If the source type is a DB security group, a DBSecurityGroupName value must be supplied.

                                                      *
                                                    • *
                                                    • - *

                                                      If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

                                                      + *

                                                      If the source type is a DB snapshot, a DBSnapshotIdentifier value must be supplied.

                                                      + *
                                                    • + *
                                                    • + *

                                                      If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier value must be supplied.

                                                      *
                                                    • *
                                                    */ @@ -7566,31 +7704,6 @@ export interface CreateEventSubscriptionMessage { *

                                                    */ Tags?: Tag[]; - - /** - *

                                                    The name of the subscription.

                                                    - *

                                                    Constraints: The name must be less than 255 characters.

                                                    - */ - SubscriptionName: string | undefined; - - /** - *

                                                    - * A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories - * for a given SourceType - * in the Events topic - * in the Amazon RDS User Guide - * or by using the DescribeEventCategories action. - *

                                                    - */ - EventCategories?: string[]; - - /** - *

                                                    The type of source that is generating the events. For example, if you want to be notified of - * events generated by a DB instance, you would set this parameter to db-instance. if this value isn't specified, all events are returned.

                                                    - *

                                                    Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot - *

                                                    - */ - SourceType?: string; } export namespace CreateEventSubscriptionMessage { @@ -7703,13 +7816,23 @@ export namespace SubscriptionCategoryNotFoundFault { } export interface CreateGlobalClusterMessage { + /** + *

                                                    The engine version of the Aurora global database.

                                                    + */ + EngineVersion?: string; + + /** + *

                                                    The cluster identifier of the new global database cluster.

                                                    + */ + GlobalClusterIdentifier?: string; + /** *

                                                    - * The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon - * Aurora will not create a database in the global database cluster you are creating. + * The Amazon Resource Name (ARN) to use as the primary cluster of the global database. + * This parameter is optional. *

                                                    */ - DatabaseName?: string; + SourceDBClusterIdentifier?: string; /** *

                                                    @@ -7719,35 +7842,25 @@ export interface CreateGlobalClusterMessage { */ DeletionProtection?: boolean; - /** - *

                                                    Provides the name of the database engine to be used for this DB cluster.

                                                    - */ - Engine?: string; - /** *

                                                    - * The storage encryption setting for the new global database cluster. + * The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon + * Aurora will not create a database in the global database cluster you are creating. *

                                                    */ - StorageEncrypted?: boolean; + DatabaseName?: string; /** - *

                                                    The engine version of the Aurora global database.

                                                    + *

                                                    The name of the database engine to be used for this DB cluster.

                                                    */ - EngineVersion?: string; + Engine?: string; /** *

                                                    - * The Amazon Resource Name (ARN) to use as the primary cluster of the global database. - * This parameter is optional. + * The storage encryption setting for the new global database cluster. *

                                                    */ - SourceDBClusterIdentifier?: string; - - /** - *

                                                    The cluster identifier of the new global database cluster.

                                                    - */ - GlobalClusterIdentifier?: string; + StorageEncrypted?: boolean; } export namespace CreateGlobalClusterMessage { @@ -7764,19 +7877,17 @@ export namespace CreateGlobalClusterMessage { */ export interface GlobalClusterMember { /** - *

                                                    Specifies whether a secondary cluster in an Aurora global database has - * write forwarding enabled, not enabled, or is in the process of enabling it.

                                                    + *

                                                    + * The Amazon Resource Name (ARN) for each Aurora cluster. + *

                                                    */ - GlobalWriteForwardingStatus?: WriteForwardingStatus | string; + DBClusterArn?: string; /** - *

                                                    - * Specifies whether the Aurora cluster is the primary cluster - * (that is, has read-write capability) for the Aurora global - * database with which it is associated. - *

                                                    + *

                                                    Specifies whether a secondary cluster in an Aurora global database has + * write forwarding enabled, not enabled, or is in the process of enabling it.

                                                    */ - IsWriter?: boolean; + GlobalWriteForwardingStatus?: WriteForwardingStatus | string; /** *

                                                    @@ -7788,10 +7899,12 @@ export interface GlobalClusterMember { /** *

                                                    - * The Amazon Resource Name (ARN) for each Aurora cluster. + * Specifies whether the Aurora cluster is the primary cluster + * (that is, has read-write capability) for the Aurora global + * database with which it is associated. *

                                                    */ - DBClusterArn?: string; + IsWriter?: boolean; } export namespace GlobalClusterMember { @@ -7805,11 +7918,9 @@ export namespace GlobalClusterMember { */ export interface GlobalCluster { /** - *

                                                    - * The Aurora database engine used by the global database cluster. - *

                                                    + *

                                                    Indicates the database engine version.

                                                    */ - Engine?: string; + EngineVersion?: string; /** *

                                                    @@ -7819,23 +7930,20 @@ export interface GlobalCluster { */ GlobalClusterResourceId?: string; - /** - *

                                                    Indicates the database engine version.

                                                    - */ - EngineVersion?: string; - /** *

                                                    - * Contains a user-supplied global database cluster identifier. This identifier is the unique key that - * identifies a global database cluster. + * The list of cluster IDs for secondary clusters within the global database cluster. Currently limited to + * 1 item. *

                                                    */ - GlobalClusterIdentifier?: string; + GlobalClusterMembers?: GlobalClusterMember[]; /** - *

                                                    The Amazon Resource Name (ARN) for the global database cluster.

                                                    + *

                                                    + * The deletion protection setting for the new global database cluster. + *

                                                    */ - GlobalClusterArn?: string; + DeletionProtection?: boolean; /** *

                                                    @@ -7845,31 +7953,36 @@ export interface GlobalCluster { StorageEncrypted?: boolean; /** - *

                                                    - * The list of cluster IDs for secondary clusters within the global database cluster. Currently limited to - * 1 item. - *

                                                    + *

                                                    Specifies the current state of this global database cluster.

                                                    */ - GlobalClusterMembers?: GlobalClusterMember[]; + Status?: string; /** *

                                                    - * The deletion protection setting for the new global database cluster. + * The default database name within the new global database cluster. *

                                                    */ - DeletionProtection?: boolean; + DatabaseName?: string; /** *

                                                    - * The default database name within the new global database cluster. + * The Aurora database engine used by the global database cluster. *

                                                    */ - DatabaseName?: string; + Engine?: string; /** - *

                                                    Specifies the current state of this global database cluster.

                                                    + *

                                                    The Amazon Resource Name (ARN) for the global database cluster.

                                                    */ - Status?: string; + GlobalClusterArn?: string; + + /** + *

                                                    + * Contains a user-supplied global database cluster identifier. This identifier is the unique key that + * identifies a global database cluster. + *

                                                    + */ + GlobalClusterIdentifier?: string; } export namespace GlobalCluster { @@ -7925,6 +8038,21 @@ export namespace GlobalClusterQuotaExceededFault { *

                                                    */ export interface CreateOptionGroupMessage { + /** + *

                                                    Tags to assign to the option group.

                                                    + */ + Tags?: Tag[]; + + /** + *

                                                    Specifies the major version of the engine that this option group should be associated with.

                                                    + */ + MajorEngineVersion: string | undefined; + + /** + *

                                                    Specifies the name of the engine that this option group should be associated with.

                                                    + */ + EngineName: string | undefined; + /** *

                                                    Specifies the name of the option group to be created.

                                                    *

                                                    Constraints:

                                                    @@ -7944,25 +8072,10 @@ export interface CreateOptionGroupMessage { */ OptionGroupName: string | undefined; - /** - *

                                                    Specifies the name of the engine that this option group should be associated with.

                                                    - */ - EngineName: string | undefined; - /** *

                                                    The description of the option group.

                                                    */ OptionGroupDescription: string | undefined; - - /** - *

                                                    Tags to assign to the option group.

                                                    - */ - Tags?: Tag[]; - - /** - *

                                                    Specifies the major version of the engine that this option group should be associated with.

                                                    - */ - MajorEngineVersion: string | undefined; } export namespace CreateOptionGroupMessage { @@ -8039,6 +8152,17 @@ export namespace DeleteCustomAvailabilityZoneResult { *

                                                    */ export interface DeleteDBClusterMessage { + /** + *

                                                    A value that indicates whether to skip the creation of a final DB cluster snapshot before the DB cluster is deleted. + * If skip is specified, no DB cluster snapshot is created. If skip isn't specified, a DB cluster snapshot + * is created before the DB cluster is deleted. By default, skip isn't specified, and the DB cluster snapshot is created. + * By default, this parameter is disabled.

                                                    + * + *

                                                    You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is disabled.

                                                    + *
                                                    + */ + SkipFinalSnapshot?: boolean; + /** *

                                                    * The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot @@ -8074,17 +8198,6 @@ export interface DeleteDBClusterMessage { *

                                                  */ DBClusterIdentifier: string | undefined; - - /** - *

                                                  A value that indicates whether to skip the creation of a final DB cluster snapshot before the DB cluster is deleted. - * If skip is specified, no DB cluster snapshot is created. If skip isn't specified, a DB cluster snapshot - * is created before the DB cluster is deleted. By default, skip isn't specified, and the DB cluster snapshot is created. - * By default, this parameter is disabled.

                                                  - * - *

                                                  You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is disabled.

                                                  - *
                                                  - */ - SkipFinalSnapshot?: boolean; } export namespace DeleteDBClusterMessage { @@ -8276,13 +8389,6 @@ export interface DeleteDBInstanceMessage { */ SkipFinalSnapshot?: boolean; - /** - *

                                                  A value that indicates whether to remove automated backups immediately after the DB - * instance is deleted. This parameter isn't case-sensitive. The default is to remove - * automated backups immediately after the DB instance is deleted.

                                                  - */ - DeleteAutomatedBackups?: boolean; - /** *

                                                  * The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot @@ -8308,6 +8414,13 @@ export interface DeleteDBInstanceMessage { *

                                                */ FinalDBSnapshotIdentifier?: string; + + /** + *

                                                A value that indicates whether to remove automated backups immediately after the DB + * instance is deleted. This parameter isn't case-sensitive. The default is to remove + * automated backups immediately after the DB instance is deleted.

                                                + */ + DeleteAutomatedBackups?: boolean; } export namespace DeleteDBInstanceMessage { @@ -8368,14 +8481,14 @@ export namespace DeleteDBInstanceAutomatedBackupMessage { */ export interface RestoreWindow { /** - *

                                                The earliest time you can restore an instance to.

                                                + *

                                                The latest time you can restore an instance to.

                                                */ - EarliestTime?: Date; + LatestTime?: Date; /** - *

                                                The latest time you can restore an instance to.

                                                + *

                                                The earliest time you can restore an instance to.

                                                */ - LatestTime?: Date; + EarliestTime?: Date; } export namespace RestoreWindow { @@ -8391,63 +8504,64 @@ export namespace RestoreWindow { */ export interface DBInstanceAutomatedBackup { /** - *

                                                The Amazon Resource Name (ARN) for the automated backup.

                                                + *

                                                The license model of an automated backup.

                                                */ - DBInstanceArn?: string; + MasterUsername?: string; /** - *

                                                Earliest and latest time an instance can be restored to.

                                                + *

                                                The identifier for the source DB instance, which can't be changed and which is unique to an AWS Region.

                                                */ - RestoreWindow?: RestoreWindow; + DbiResourceId?: string; /** - *

                                                The IOPS (I/O operations per second) value for the automated backup.

                                                + *

                                                The Amazon Resource Name (ARN) for the automated backup.

                                                */ - Iops?: number; + DBInstanceArn?: string; /** - *

                                                The version of the database engine for the automated backup.

                                                + *

                                                The port number that the automated backup used for connections.

                                                + *

                                                Default: Inherits from the source DB instance

                                                + *

                                                Valid Values: 1150-65535 + *

                                                */ - EngineVersion?: string; + Port?: number; /** - *

                                                The identifier for the source DB instance, which can't be changed and which is unique to an AWS Region.

                                                + *

                                                Earliest and latest time an instance can be restored to.

                                                */ - DbiResourceId?: string; + RestoreWindow?: RestoreWindow; /** - *

                                                The customer id of the instance that is/was associated with the automated backup. - *

                                                + *

                                                Specifies whether the automated backup is encrypted.

                                                */ - DBInstanceIdentifier?: string; + Encrypted?: boolean; /** - *

                                                Specifies the storage type associated with the automated backup.

                                                + *

                                                The ARN from the key store with which the automated backup is associated for TDE encryption.

                                                */ - StorageType?: string; + TdeCredentialArn?: string; /** - *

                                                License model information for the automated backup.

                                                + *

                                                The name of the database engine for this automated backup.

                                                */ - LicenseModel?: string; + Engine?: string; /** - *

                                                The time zone of the automated backup. In most cases, the Timezone element is empty. - * Timezone content appears only for Microsoft SQL Server DB instances - * that were created with a time zone specified.

                                                + *

                                                The customer id of the instance that is/was associated with the automated backup. + *

                                                */ - Timezone?: string; + DBInstanceIdentifier?: string; /** - *

                                                True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, - * and otherwise false.

                                                + *

                                                The option group the automated backup is associated with. + * If omitted, the default option group for the engine specified is used.

                                                */ - IAMDatabaseAuthenticationEnabled?: boolean; + OptionGroupName?: string; /** - *

                                                The license model of an automated backup.

                                                + *

                                                Specifies the allocated storage size in gibibytes (GiB).

                                                */ - MasterUsername?: string; + AllocatedStorage?: number; /** *

                                                Provides a list of status information for an automated backup:

                                                @@ -8470,68 +8584,67 @@ export interface DBInstanceAutomatedBackup { Status?: string; /** - *

                                                The port number that the automated backup used for connections.

                                                - *

                                                Default: Inherits from the source DB instance

                                                - *

                                                Valid Values: 1150-65535 - *

                                                + *

                                                Specifies the storage type associated with the automated backup.

                                                */ - Port?: number; + StorageType?: string; /** - *

                                                The Availability Zone that the automated backup was created in. For information on - * AWS Regions and Availability Zones, see - * Regions - * and Availability Zones.

                                                + *

                                                The version of the database engine for the automated backup.

                                                */ - AvailabilityZone?: string; + EngineVersion?: string; /** - *

                                                The AWS KMS key ID for an automated backup. - * The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

                                                + *

                                                The AWS Region associated with the automated backup.

                                                */ - KmsKeyId?: string; + Region?: string; /** - *

                                                Specifies whether the automated backup is encrypted.

                                                + *

                                                The IOPS (I/O operations per second) value for the automated backup.

                                                */ - Encrypted?: boolean; + Iops?: number; /** - *

                                                The AWS Region associated with the automated backup.

                                                + *

                                                The time zone of the automated backup. In most cases, the Timezone element is empty. + * Timezone content appears only for Microsoft SQL Server DB instances + * that were created with a time zone specified.

                                                */ - Region?: string; + Timezone?: string; /** - *

                                                Provides the date and time that the DB instance was created. - *

                                                + *

                                                License model information for the automated backup.

                                                */ - InstanceCreateTime?: Date; + LicenseModel?: string; /** - *

                                                Provides the VPC ID associated with the DB instance

                                                + *

                                                Provides the date and time that the DB instance was created. + *

                                                */ - VpcId?: string; + InstanceCreateTime?: Date; /** - *

                                                The option group the automated backup is associated with. - * If omitted, the default option group for the engine specified is used.

                                                + *

                                                True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, + * and otherwise false.

                                                */ - OptionGroupName?: string; + IAMDatabaseAuthenticationEnabled?: boolean; /** - *

                                                Specifies the allocated storage size in gibibytes (GiB).

                                                + *

                                                Provides the VPC ID associated with the DB instance

                                                */ - AllocatedStorage?: number; + VpcId?: string; /** - *

                                                The name of the database engine for this automated backup.

                                                + *

                                                The Availability Zone that the automated backup was created in. For information on + * AWS Regions and Availability Zones, see + * Regions + * and Availability Zones.

                                                */ - Engine?: string; + AvailabilityZone?: string; /** - *

                                                The ARN from the key store with which the automated backup is associated for TDE encryption.

                                                + *

                                                The AWS KMS key ID for an automated backup. + * The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

                                                */ - TdeCredentialArn?: string; + KmsKeyId?: string; } export namespace DBInstanceAutomatedBackup { @@ -8857,44 +8970,44 @@ export namespace InstallationMediaFailureCause { */ export interface InstallationMedia { /** - *

                                                The status of the installation medium.

                                                + *

                                                The path to the installation medium for the operating system associated with the DB engine.

                                                */ - Status?: string; + OSInstallationMediaPath?: string; /** - *

                                                The engine version of the DB engine.

                                                + *

                                                The custom Availability Zone (AZ) that contains the installation media.

                                                */ - EngineVersion?: string; + CustomAvailabilityZoneId?: string; /** - *

                                                The custom Availability Zone (AZ) that contains the installation media.

                                                + *

                                                The path to the installation medium for the DB engine.

                                                */ - CustomAvailabilityZoneId?: string; + EngineInstallationMediaPath?: string; /** - *

                                                The path to the installation medium for the operating system associated with the DB engine.

                                                + *

                                                The installation medium ID.

                                                */ - OSInstallationMediaPath?: string; + InstallationMediaId?: string; /** - *

                                                The DB engine.

                                                + *

                                                The status of the installation medium.

                                                */ - Engine?: string; + Status?: string; /** - *

                                                If an installation media failure occurred, the cause of the failure.

                                                + *

                                                The engine version of the DB engine.

                                                */ - FailureCause?: InstallationMediaFailureCause; + EngineVersion?: string; /** - *

                                                The installation medium ID.

                                                + *

                                                The DB engine.

                                                */ - InstallationMediaId?: string; + Engine?: string; /** - *

                                                The path to the installation medium for the DB engine.

                                                + *

                                                If an installation media failure occurred, the cause of the failure.

                                                */ - EngineInstallationMediaPath?: string; + FailureCause?: InstallationMediaFailureCause; } export namespace InstallationMedia { @@ -8972,9 +9085,9 @@ export namespace DBProxyTargetNotFoundFault { export interface DeregisterDBProxyTargetsRequest { /** - *

                                                The identifier of the DBProxyTargetGroup.

                                                + *

                                                The identifier of the DBProxy that is associated with the DBProxyTargetGroup.

                                                */ - TargetGroupName?: string; + DBProxyName: string | undefined; /** *

                                                One or more DB cluster identifiers.

                                                @@ -8982,14 +9095,14 @@ export interface DeregisterDBProxyTargetsRequest { DBClusterIdentifiers?: string[]; /** - *

                                                The identifier of the DBProxy that is associated with the DBProxyTargetGroup.

                                                + *

                                                One or more DB instance identifiers.

                                                */ - DBProxyName: string | undefined; + DBInstanceIdentifiers?: string[]; /** - *

                                                One or more DB instance identifiers.

                                                + *

                                                The identifier of the DBProxyTargetGroup.

                                                */ - DBInstanceIdentifiers?: string[]; + TargetGroupName?: string; } export namespace DeregisterDBProxyTargetsRequest { @@ -9022,25 +9135,24 @@ export namespace DescribeAccountAttributesMessage { */ export interface Certificate { /** - *

                                                The Amazon Resource Name (ARN) for the certificate.

                                                + *

                                                Whether there is an override for the default certificate identifier.

                                                */ - CertificateArn?: string; + CustomerOverride?: boolean; /** - *

                                                The unique key that identifies a certificate.

                                                + *

                                                The thumbprint of the certificate.

                                                */ - CertificateIdentifier?: string; + Thumbprint?: string; /** - *

                                                The type of the certificate.

                                                + *

                                                The Amazon Resource Name (ARN) for the certificate.

                                                */ - CertificateType?: string; + CertificateArn?: string; /** - *

                                                If there is an override for the default certificate identifier, when the override - * expires.

                                                + *

                                                The type of the certificate.

                                                */ - CustomerOverrideValidTill?: Date; + CertificateType?: string; /** *

                                                The final date that the certificate continues to be valid.

                                                @@ -9048,19 +9160,20 @@ export interface Certificate { ValidTill?: Date; /** - *

                                                The starting date from which the certificate is valid.

                                                + *

                                                The unique key that identifies a certificate.

                                                */ - ValidFrom?: Date; + CertificateIdentifier?: string; /** - *

                                                The thumbprint of the certificate.

                                                + *

                                                If there is an override for the default certificate identifier, when the override + * expires.

                                                */ - Thumbprint?: string; + CustomerOverrideValidTill?: Date; /** - *

                                                Whether there is an override for the default certificate identifier.

                                                + *

                                                The starting date from which the certificate is valid.

                                                */ - CustomerOverride?: boolean; + ValidFrom?: Date; } export namespace Certificate { @@ -9073,11 +9186,6 @@ export namespace Certificate { *

                                                Data returned by the DescribeCertificates action.

                                                */ export interface CertificateMessage { - /** - *

                                                The list of Certificate objects for the AWS account.

                                                - */ - Certificates?: Certificate[]; - /** *

                                                * An optional pagination token provided by a previous @@ -9088,6 +9196,11 @@ export interface CertificateMessage { *

                                                */ Marker?: string; + + /** + *

                                                The list of Certificate objects for the AWS account.

                                                + */ + Certificates?: Certificate[]; } export namespace CertificateMessage { @@ -9153,14 +9266,14 @@ export namespace CertificateNotFoundFault { */ export interface Filter { /** - *

                                                The name of the filter. Filter names are case-sensitive.

                                                + *

                                                One or more filter values. Filter values are case-sensitive.

                                                */ - Name: string | undefined; + Values: string[] | undefined; /** - *

                                                One or more filter values. Filter values are case-sensitive.

                                                + *

                                                The name of the filter. Filter names are case-sensitive.

                                                */ - Values: string[] | undefined; + Name: string | undefined; } export namespace Filter { @@ -9174,15 +9287,15 @@ export namespace Filter { */ export interface DescribeCertificatesMessage { /** - *

                                                The user-supplied certificate identifier. If this parameter is specified, information for only the identified certificate is returned. This parameter isn't case-sensitive.

                                                - *

                                                Constraints:

                                                - *
                                                  - *
                                                • - *

                                                  Must match an existing CertificateIdentifier.

                                                  - *
                                                • - *
                                                + *

                                                + * An optional pagination token provided by a previous + * DescribeCertificates request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                                */ - CertificateIdentifier?: string; + Marker?: string; /** *

                                                @@ -9196,20 +9309,20 @@ export interface DescribeCertificatesMessage { MaxRecords?: number; /** - *

                                                This parameter isn't currently supported.

                                                + *

                                                The user-supplied certificate identifier. If this parameter is specified, information for only the identified certificate is returned. This parameter isn't case-sensitive.

                                                + *

                                                Constraints:

                                                + *
                                                  + *
                                                • + *

                                                  Must match an existing CertificateIdentifier.

                                                  + *
                                                • + *
                                                */ - Filters?: Filter[]; + CertificateIdentifier?: string; /** - *

                                                - * An optional pagination token provided by a previous - * DescribeCertificates request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                                + *

                                                This parameter isn't currently supported.

                                                */ - Marker?: string; + Filters?: Filter[]; } export namespace DescribeCertificatesMessage { @@ -9255,11 +9368,6 @@ export interface DescribeCustomAvailabilityZonesMessage { */ MaxRecords?: number; - /** - *

                                                A filter that specifies one or more custom AZs to describe.

                                                - */ - Filters?: Filter[]; - /** *

                                                An optional pagination token provided by a previous * DescribeCustomAvailabilityZones request. @@ -9273,6 +9381,11 @@ export interface DescribeCustomAvailabilityZonesMessage { *

                                                The custom AZ identifier. If this parameter is specified, information from only the specific custom AZ is returned.

                                                */ CustomAvailabilityZoneId?: string; + + /** + *

                                                A filter that specifies one or more custom AZs to describe.

                                                + */ + Filters?: Filter[]; } export namespace DescribeCustomAvailabilityZonesMessage { @@ -9286,14 +9399,14 @@ export namespace DescribeCustomAvailabilityZonesMessage { */ export interface DBClusterBacktrackMessage { /** - *

                                                A pagination token that can be used in a later DescribeDBClusterBacktracks request.

                                                + *

                                                Contains a list of backtracks for the user.

                                                */ - Marker?: string; + DBClusterBacktracks?: DBClusterBacktrack[]; /** - *

                                                Contains a list of backtracks for the user.

                                                + *

                                                A pagination token that can be used in a later DescribeDBClusterBacktracks request.

                                                */ - DBClusterBacktracks?: DBClusterBacktrack[]; + Marker?: string; } export namespace DBClusterBacktrackMessage { @@ -9358,27 +9471,11 @@ export interface DescribeDBClusterBacktracksMessage { * *
                                              *

                                              The results list includes information about only the backtracks identified - * by these values.

                                              - * - *
                                            - */ - Filters?: Filter[]; - - /** - *

                                            If specified, this value is the backtrack identifier of the backtrack to be - * described.

                                            - *

                                            Constraints:

                                            - * - *

                                            Example: 123e4567-e89b-12d3-a456-426655440000 - *

                                            */ - BacktrackIdentifier?: string; + Filters?: Filter[]; /** *

                                            The DB cluster identifier of the DB cluster to be described. This parameter is @@ -9401,14 +9498,20 @@ export interface DescribeDBClusterBacktracksMessage { DBClusterIdentifier: string | undefined; /** - *

                                            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 you can retrieve the remaining results. + *

                                            If specified, this value is the backtrack identifier of the backtrack to be + * described.

                                            + *

                                            Constraints:

                                            + * + *

                                            Example: 123e4567-e89b-12d3-a456-426655440000 *

                                            - *

                                            Default: 100

                                            - *

                                            Constraints: Minimum 20, maximum 100.

                                            */ - MaxRecords?: number; + BacktrackIdentifier?: string; /** *

                                            An optional pagination token provided by a previous @@ -9419,6 +9522,16 @@ export interface DescribeDBClusterBacktracksMessage { *

                                            */ Marker?: 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 you can retrieve the remaining results. + *

                                            + *

                                            Default: 100

                                            + *

                                            Constraints: Minimum 20, maximum 100.

                                            + */ + MaxRecords?: number; } export namespace DescribeDBClusterBacktracksMessage { @@ -9453,14 +9566,10 @@ export namespace DBClusterEndpointMessage { export interface DescribeDBClusterEndpointsMessage { /** - *

                                            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 you can retrieve the remaining results. - *

                                            - *

                                            Default: 100

                                            - *

                                            Constraints: Minimum 20, maximum 100.

                                            + *

                                            The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is + * stored as a lowercase string.

                                            */ - MaxRecords?: number; + DBClusterIdentifier?: string; /** *

                                            The identifier of the endpoint to describe. This parameter is stored as a lowercase string.

                                            @@ -9468,10 +9577,14 @@ export interface DescribeDBClusterEndpointsMessage { DBClusterEndpointIdentifier?: string; /** - *

                                            The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is - * stored as a lowercase string.

                                            + *

                                            An optional pagination token provided by a previous + * DescribeDBClusterEndpoints request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                            */ - DBClusterIdentifier?: string; + Marker?: string; /** *

                                            A set of name-value pairs that define which endpoints to include in the output. @@ -9480,20 +9593,20 @@ export interface DescribeDBClusterEndpointsMessage { * Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type, db-cluster-endpoint-id, db-cluster-endpoint-status. * Values for the db-cluster-endpoint-type filter can be one or more of: reader, writer, custom. * Values for the db-cluster-endpoint-custom-type filter can be one or more of: reader, any. - * Values for the db-cluster-endpoint-status filter can be one or more of: available, creating, deleting, modifying. + * Values for the db-cluster-endpoint-status filter can be one or more of: available, creating, deleting, inactive, modifying. *

                                            */ Filters?: Filter[]; /** - *

                                            An optional pagination token provided by a previous - * DescribeDBClusterEndpoints request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. + *

                                            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 you can retrieve the remaining results. *

                                            + *

                                            Default: 100

                                            + *

                                            Constraints: Minimum 20, maximum 100.

                                            */ - Marker?: string; + MaxRecords?: number; } export namespace DescribeDBClusterEndpointsMessage { @@ -9533,6 +9646,22 @@ export namespace DBClusterParameterGroupsMessage { *

                                            */ export interface DescribeDBClusterParameterGroupsMessage { + /** + *

                                            This parameter isn't currently supported.

                                            + */ + Filters?: Filter[]; + + /** + *

                                            The name of a specific DB cluster parameter group to return details for.

                                            + *

                                            Constraints:

                                            + *
                                              + *
                                            • + *

                                              If supplied, must match the name of an existing DBClusterParameterGroup.

                                              + *
                                            • + *
                                            + */ + DBClusterParameterGroupName?: string; + /** *

                                            * An optional pagination token provided by a previous @@ -9554,22 +9683,6 @@ export interface DescribeDBClusterParameterGroupsMessage { *

                                            Constraints: Minimum 20, maximum 100.

                                            */ MaxRecords?: number; - - /** - *

                                            The name of a specific DB cluster parameter group to return details for.

                                            - *

                                            Constraints:

                                            - *
                                              - *
                                            • - *

                                              If supplied, must match the name of an existing DBClusterParameterGroup.

                                              - *
                                            • - *
                                            - */ - DBClusterParameterGroupName?: string; - - /** - *

                                            This parameter isn't currently supported.

                                            - */ - Filters?: Filter[]; } export namespace DescribeDBClusterParameterGroupsMessage { @@ -9590,63 +9703,63 @@ export type ApplyMethod = "immediate" | "pending-reboot"; */ export interface Parameter { /** - *

                                            Indicates the source of the parameter value.

                                            + *

                                            The valid DB engine modes.

                                            */ - Source?: string; + SupportedEngineModes?: string[]; /** - *

                                            The earliest engine version to which the parameter can apply.

                                            + *

                                            Provides a description of the parameter.

                                            */ - MinimumEngineVersion?: string; + Description?: string; /** - *

                                            Provides a description of the parameter.

                                            + *

                                            Specifies the engine specific parameters type.

                                            */ - Description?: string; + ApplyType?: string; /** - *

                                            Indicates when to apply parameter updates.

                                            + *

                                            Specifies the valid range of values for the parameter.

                                            */ - ApplyMethod?: ApplyMethod | string; + AllowedValues?: string; /** - *

                                            - * Indicates whether (true) or not (false) the parameter can be modified. - * Some parameters have security or operational implications - * that prevent them from being changed. - *

                                            + *

                                            Specifies the value of the parameter.

                                            */ - IsModifiable?: boolean; + ParameterValue?: string; /** - *

                                            Specifies the engine specific parameters type.

                                            + *

                                            Specifies the name of the parameter.

                                            */ - ApplyType?: string; + ParameterName?: string; /** - *

                                            Specifies the valid data type for the parameter.

                                            + *

                                            Indicates the source of the parameter value.

                                            */ - DataType?: string; + Source?: string; /** - *

                                            Specifies the name of the parameter.

                                            + *

                                            Specifies the valid data type for the parameter.

                                            */ - ParameterName?: string; + DataType?: string; /** - *

                                            The valid DB engine modes.

                                            + *

                                            The earliest engine version to which the parameter can apply.

                                            */ - SupportedEngineModes?: string[]; + MinimumEngineVersion?: string; /** - *

                                            Specifies the valid range of values for the parameter.

                                            + *

                                            Indicates when to apply parameter updates.

                                            */ - AllowedValues?: string; + ApplyMethod?: ApplyMethod | string; /** - *

                                            Specifies the value of the parameter.

                                            + *

                                            + * Indicates whether (true) or not (false) the parameter can be modified. + * Some parameters have security or operational implications + * that prevent them from being changed. + *

                                            */ - ParameterValue?: string; + IsModifiable?: boolean; } export namespace Parameter { @@ -9659,6 +9772,11 @@ export namespace Parameter { *

                                            Provides details about a DB cluster parameter group including the parameters in the DB cluster parameter group.

                                            */ export interface DBClusterParameterGroupDetails { + /** + *

                                            Provides a list of parameters for the DB cluster parameter group.

                                            + */ + Parameters?: Parameter[]; + /** *

                                            * An optional pagination token provided by a previous @@ -9669,11 +9787,6 @@ export interface DBClusterParameterGroupDetails { *

                                            */ Marker?: string; - - /** - *

                                            Provides a list of parameters for the DB cluster parameter group.

                                            - */ - Parameters?: Parameter[]; } export namespace DBClusterParameterGroupDetails { @@ -9686,28 +9799,6 @@ export namespace DBClusterParameterGroupDetails { *

                                            */ export interface DescribeDBClusterParametersMessage { - /** - *

                                            - * 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 you can retrieve the remaining results. - *

                                            - *

                                            Default: 100

                                            - *

                                            Constraints: Minimum 20, maximum 100.

                                            - */ - MaxRecords?: number; - - /** - *

                                            - * An optional pagination token provided by a previous - * DescribeDBClusterParameters request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                            - */ - Marker?: string; - /** *

                                            * A value that indicates to return only parameters for a specific source. @@ -9732,6 +9823,28 @@ export interface DescribeDBClusterParametersMessage { *

                                            This parameter isn't currently supported.

                                            */ Filters?: Filter[]; + + /** + *

                                            + * 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 you can retrieve the remaining results. + *

                                            + *

                                            Default: 100

                                            + *

                                            Constraints: Minimum 20, maximum 100.

                                            + */ + MaxRecords?: number; + + /** + *

                                            + * An optional pagination token provided by a previous + * DescribeDBClusterParameters request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                            + */ + Marker?: string; } export namespace DescribeDBClusterParametersMessage { @@ -9766,18 +9879,24 @@ export namespace DBClusterMessage { */ export interface DescribeDBClustersMessage { /** - *

                                            A filter that specifies one or more DB clusters to describe.

                                            - *

                                            Supported filters:

                                            - *
                                              - *
                                            • - *

                                              - * db-cluster-id - Accepts DB cluster identifiers and DB - * cluster Amazon Resource Names (ARNs). The results list will only include information about - * the DB clusters identified by these ARNs.

                                              - *
                                            • - *
                                            + *

                                            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 you can retrieve the remaining results. + *

                                            + *

                                            Default: 100

                                            + *

                                            Constraints: Minimum 20, maximum 100.

                                            */ - Filters?: Filter[]; + MaxRecords?: number; + + /** + *

                                            An optional pagination token provided by a previous + * DescribeDBClusters request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                            + */ + Marker?: string; /** *

                                            Optional Boolean parameter that specifies whether the output includes information about clusters @@ -9797,24 +9916,18 @@ export interface DescribeDBClustersMessage { DBClusterIdentifier?: 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 you can retrieve the remaining results. - *

                                            - *

                                            Default: 100

                                            - *

                                            Constraints: Minimum 20, maximum 100.

                                            - */ - MaxRecords?: number; - - /** - *

                                            An optional pagination token provided by a previous - * DescribeDBClusters request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                            + *

                                            A filter that specifies one or more DB clusters to describe.

                                            + *

                                            Supported filters:

                                            + *
                                              + *
                                            • + *

                                              + * db-cluster-id - Accepts DB cluster identifiers and DB + * cluster Amazon Resource Names (ARNs). The results list will only include information about + * the DB clusters identified by these ARNs.

                                              + *
                                            • + *
                                            */ - Marker?: string; + Filters?: Filter[]; } export namespace DescribeDBClustersMessage { @@ -9846,15 +9959,6 @@ export namespace DescribeDBClusterSnapshotAttributesMessage { * API action.

                                            */ export interface DBClusterSnapshotAttribute { - /** - *

                                            The value(s) for the manual DB cluster snapshot attribute.

                                            - *

                                            If the AttributeName field is set to restore, then this element - * returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual - * DB cluster snapshot. If a value of all is in the list, then the manual DB cluster snapshot - * is public and available for any AWS account to copy or restore.

                                            - */ - AttributeValues?: string[]; - /** *

                                            The name of the manual DB cluster snapshot attribute.

                                            *

                                            The attribute named restore refers to the list of AWS accounts that @@ -9863,6 +9967,15 @@ export interface DBClusterSnapshotAttribute { * API action.

                                            */ AttributeName?: string; + + /** + *

                                            The value(s) for the manual DB cluster snapshot attribute.

                                            + *

                                            If the AttributeName field is set to restore, then this element + * returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual + * DB cluster snapshot. If a value of all is in the list, then the manual DB cluster snapshot + * is public and available for any AWS account to copy or restore.

                                            + */ + AttributeValues?: string[]; } export namespace DBClusterSnapshotAttribute { @@ -9946,6 +10059,32 @@ export namespace DBClusterSnapshotMessage { *

                                            */ export interface DescribeDBClusterSnapshotsMessage { + /** + *

                                            A value that indicates whether to include shared manual DB cluster snapshots + * from other AWS accounts that this AWS account has been given + * permission to copy or restore. By default, these snapshots are not included.

                                            + *

                                            You can give an AWS account permission to restore a manual DB cluster snapshot from + * another AWS account by the ModifyDBClusterSnapshotAttribute API action.

                                            + */ + IncludeShared?: boolean; + + /** + *

                                            An optional pagination token provided by a previous + * DescribeDBClusterSnapshots request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                            + */ + Marker?: string; + + /** + *

                                            A value that indicates whether to include manual DB cluster snapshots that are public and can be copied + * or restored by any AWS account. By default, the public snapshots are not included.

                                            + *

                                            You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

                                            + */ + IncludePublic?: boolean; + /** *

                                            The maximum number of records to include in the response. * If more records exist than the specified MaxRecords value, @@ -9975,36 +10114,29 @@ export interface DescribeDBClusterSnapshotsMessage { DBClusterSnapshotIdentifier?: string; /** - *

                                            The type of DB cluster snapshots to be returned. You can specify one of the following values:

                                            + *

                                            A filter that specifies one or more DB cluster snapshots to describe.

                                            + *

                                            Supported filters:

                                            *
                                              *
                                            • *

                                              - * automated - Return all DB cluster snapshots that have been automatically taken by - * Amazon RDS for my AWS account.

                                              + * db-cluster-id - Accepts DB cluster identifiers and DB + * cluster Amazon Resource Names (ARNs).

                                              *
                                            • *
                                            • *

                                              - * manual - Return all DB cluster snapshots that have been taken by my AWS account.

                                              + * db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.

                                              *
                                            • *
                                            • *

                                              - * shared - Return all manual DB cluster snapshots that have been shared to my AWS account.

                                              + * snapshot-type - Accepts types of DB cluster snapshots.

                                              *
                                            • *
                                            • *

                                              - * public - Return all DB cluster snapshots that have been marked as public.

                                              + * engine - Accepts names of database engines.

                                              *
                                            • *
                                            - *

                                            If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are - * returned. You can include shared DB cluster snapshots with these results by enabling the IncludeShared - * parameter. You can include public DB cluster snapshots with these results by enabling the - * IncludePublic parameter.

                                            - *

                                            The IncludeShared and IncludePublic parameters don't apply for SnapshotType values - * of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is - * set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to - * public.

                                            */ - SnapshotType?: string; + Filters?: Filter[]; /** *

                                            The ID of the DB cluster to retrieve the list of DB cluster snapshots for. @@ -10022,55 +10154,36 @@ export interface DescribeDBClusterSnapshotsMessage { DBClusterIdentifier?: string; /** - *

                                            A filter that specifies one or more DB cluster snapshots to describe.

                                            - *

                                            Supported filters:

                                            + *

                                            The type of DB cluster snapshots to be returned. You can specify one of the following values:

                                            *
                                              *
                                            • *

                                              - * db-cluster-id - Accepts DB cluster identifiers and DB - * cluster Amazon Resource Names (ARNs).

                                              + * automated - Return all DB cluster snapshots that have been automatically taken by + * Amazon RDS for my AWS account.

                                              *
                                            • *
                                            • *

                                              - * db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.

                                              + * manual - Return all DB cluster snapshots that have been taken by my AWS account.

                                              *
                                            • *
                                            • *

                                              - * snapshot-type - Accepts types of DB cluster snapshots.

                                              + * shared - Return all manual DB cluster snapshots that have been shared to my AWS account.

                                              *
                                            • *
                                            • *

                                              - * engine - Accepts names of database engines.

                                              + * public - Return all DB cluster snapshots that have been marked as public.

                                              *
                                            • *
                                            + *

                                            If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are + * returned. You can include shared DB cluster snapshots with these results by enabling the IncludeShared + * parameter. You can include public DB cluster snapshots with these results by enabling the + * IncludePublic parameter.

                                            + *

                                            The IncludeShared and IncludePublic parameters don't apply for SnapshotType values + * of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is + * set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to + * public.

                                            */ - Filters?: Filter[]; - - /** - *

                                            A value that indicates whether to include manual DB cluster snapshots that are public and can be copied - * or restored by any AWS account. By default, the public snapshots are not included.

                                            - *

                                            You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

                                            - */ - IncludePublic?: boolean; - - /** - *

                                            A value that indicates whether to include shared manual DB cluster snapshots - * from other AWS accounts that this AWS account has been given - * permission to copy or restore. By default, these snapshots are not included.

                                            - *

                                            You can give an AWS account permission to restore a manual DB cluster snapshot from - * another AWS account by the ModifyDBClusterSnapshotAttribute API action.

                                            - */ - IncludeShared?: boolean; - - /** - *

                                            An optional pagination token provided by a previous - * DescribeDBClusterSnapshots request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                            - */ - Marker?: string; + SnapshotType?: string; } export namespace DescribeDBClusterSnapshotsMessage { @@ -10131,29 +10244,29 @@ export namespace Timezone { */ export interface UpgradeTarget { /** - *

                                            The version number of the upgrade target database engine.

                                            + *

                                            The version of the database engine that a DB instance can be upgraded to.

                                            */ - EngineVersion?: string; + Description?: string; /** - *

                                            A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

                                            + *

                                            A value that indicates whether a database engine is upgraded to a major version.

                                            */ - AutoUpgrade?: boolean; + IsMajorVersionUpgrade?: boolean; /** - *

                                            A value that indicates whether a database engine is upgraded to a major version.

                                            + *

                                            The name of the upgrade target database engine.

                                            */ - IsMajorVersionUpgrade?: boolean; + Engine?: string; /** - *

                                            The version of the database engine that a DB instance can be upgraded to.

                                            + *

                                            The version number of the upgrade target database engine.

                                            */ - Description?: string; + EngineVersion?: string; /** - *

                                            The name of the upgrade target database engine.

                                            + *

                                            A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

                                            */ - Engine?: string; + AutoUpgrade?: boolean; } export namespace UpgradeTarget { @@ -10169,57 +10282,39 @@ export namespace UpgradeTarget { */ export interface DBEngineVersion { /** - *

                                            The types of logs that the database engine has available for export to CloudWatch Logs.

                                            + *

                                            The version number of the database engine.

                                            */ - ExportableLogTypes?: string[]; + EngineVersion?: string; /** - *

                                            - * The default character set for new instances of this engine version, - * if the CharacterSetName parameter of the CreateDBInstance API - * isn't specified. - *

                                            + *

                                            A value that indicates whether you can use Aurora global databases with a specific DB engine version.

                                            */ - DefaultCharacterSet?: CharacterSet; + SupportsGlobalDatabases?: boolean; /** - *

                                            A list of engine versions that this database engine version can be upgraded to.

                                            + *

                                            The status of the DB engine version, either available or deprecated.

                                            */ - ValidUpgradeTarget?: UpgradeTarget[]; + Status?: string; /** - *

                                            - * A list of features supported by the DB engine. Supported feature names include the following. - *

                                            - *
                                              - *
                                            • - *

                                              s3Import

                                              - *
                                            • - *
                                            + *

                                            A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

                                            */ - SupportedFeatureNames?: string[]; + SupportsLogExportsToCloudwatchLogs?: boolean; /** - *

                                            A value that indicates whether you can use Aurora parallel query with a specific DB engine version.

                                            + *

                                            The description of the database engine version.

                                            */ - SupportsParallelQuery?: boolean; + DBEngineVersionDescription?: string; /** - *

                                            The version number of the database engine.

                                            + *

                                            The description of the database engine.

                                            */ - EngineVersion?: string; + DBEngineDescription?: string; /** - *

                                            A list of the supported DB engine modes.

                                            - * - *

                                            - * global engine mode only applies for global database clusters created with Aurora MySQL version - * 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned - * engine mode. - *

                                            - *
                                            + *

                                            The name of the database engine.

                                            */ - SupportedEngineModes?: string[]; + Engine?: string; /** *

                                            A list of the time zones supported by this engine for the @@ -10229,52 +10324,67 @@ export interface DBEngineVersion { SupportedTimezones?: Timezone[]; /** - *

                                            The description of the database engine.

                                            + *

                                            The types of logs that the database engine has available for export to CloudWatch Logs.

                                            */ - DBEngineDescription?: string; + ExportableLogTypes?: string[]; /** - *

                                            Indicates whether the database engine version supports read replicas.

                                            + *

                                            The name of the DB parameter group family for the database engine.

                                            */ - SupportsReadReplica?: boolean; + DBParameterGroupFamily?: string; /** - *

                                            The name of the database engine.

                                            + *

                                            A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance operation. + *

                                            */ - Engine?: string; + SupportedCharacterSets?: CharacterSet[]; /** - *

                                            The name of the DB parameter group family for the database engine.

                                            + *

                                            A value that indicates whether you can use Aurora parallel query with a specific DB engine version.

                                            */ - DBParameterGroupFamily?: string; + SupportsParallelQuery?: boolean; /** - *

                                            The status of the DB engine version, either available or deprecated.

                                            + *

                                            A list of engine versions that this database engine version can be upgraded to.

                                            */ - Status?: string; + ValidUpgradeTarget?: UpgradeTarget[]; /** *

                                            - * A list of the character sets supported by this engine for the - * CharacterSetName parameter of the CreateDBInstance action. - *

                                            + * A list of features supported by the DB engine. Supported feature names include the following. + *

                                            + *
                                              + *
                                            • + *

                                              s3Import

                                              + *
                                            • + *
                                            */ - SupportedCharacterSets?: CharacterSet[]; + SupportedFeatureNames?: string[]; /** - *

                                            A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

                                            + *

                                            A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName parameter of the CreateDBInstance operation. + *

                                            */ - SupportsLogExportsToCloudwatchLogs?: boolean; + SupportedNcharCharacterSets?: CharacterSet[]; /** - *

                                            A value that indicates whether you can use Aurora global databases with a specific DB engine version.

                                            + *

                                            Indicates whether the database engine version supports read replicas.

                                            */ - SupportsGlobalDatabases?: boolean; + SupportsReadReplica?: boolean; /** - *

                                            The description of the database engine version.

                                            + *

                                            + * The default character set for new instances of this engine version, + * if the CharacterSetName parameter of the CreateDBInstance API + * isn't specified. + *

                                            */ - DBEngineVersionDescription?: string; + DefaultCharacterSet?: CharacterSet; + + /** + *

                                            A list of the supported DB engine modes.

                                            + */ + SupportedEngineModes?: string[]; } export namespace DBEngineVersion { @@ -10291,76 +10401,71 @@ export namespace DBEngineVersion { export interface DBEngineVersionMessage { /** *

                                            - * An optional pagination token provided by a previous request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. + * A list of DBEngineVersion elements. *

                                            */ - Marker?: string; + DBEngineVersions?: DBEngineVersion[]; /** *

                                            - * A list of DBEngineVersion elements. + * An optional pagination token provided by a previous request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. *

                                            */ - DBEngineVersions?: DBEngineVersion[]; + Marker?: string; } export namespace DBEngineVersionMessage { export const filterSensitiveLog = (obj: DBEngineVersionMessage): any => ({ - ...obj, - }); -} - -export interface DescribeDBEngineVersionsMessage { - /** - *

                                            The database engine version to return.

                                            - *

                                            Example: 5.1.49 - *

                                            - */ - EngineVersion?: string; + ...obj, + }); +} +export interface DescribeDBEngineVersionsMessage { /** - *

                                            A value that indicates whether only the default version of the specified engine or engine and major version combination is returned.

                                            + *

                                            A value that indicates whether to list the supported time zones for each engine version.

                                            + *

                                            If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, + * the response includes a list of supported time zones for each engine version. + *

                                            */ - DefaultOnly?: boolean; + ListSupportedTimezones?: boolean; /** - *

                                            This parameter isn't currently supported.

                                            + *

                                            + * An optional pagination token provided by a previous request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                            */ - Filters?: Filter[]; + Marker?: string; /** - *

                                            - * The maximum number of records to include in the response. - * If more than the MaxRecords value is available, a pagination token called a marker is - * included in the response so you can retrieve the remaining results. - *

                                            - *

                                            Default: 100

                                            - *

                                            Constraints: Minimum 20, maximum 100.

                                            + *

                                            A value that indicates whether to list the supported character sets for each engine version.

                                            + *

                                            If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, + * the response includes a list of supported character sets for each engine version. + *

                                            */ - MaxRecords?: number; + ListSupportedCharacterSets?: boolean; /** - *

                                            The database engine to return.

                                            + *

                                            This parameter isn't currently supported.

                                            */ - Engine?: string; + Filters?: Filter[]; /** - *

                                            A value that indicates whether to include engine versions that aren't available in the list. The default is to list only available engine versions.

                                            + *

                                            A value that indicates whether only the default version of the specified engine or engine and major version combination is returned.

                                            */ - IncludeAll?: boolean; + DefaultOnly?: boolean; /** - *

                                            - * An optional pagination token provided by a previous request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                            + *

                                            The database engine version to return.

                                            + *

                                            Example: 5.1.49 + *

                                            */ - Marker?: string; + EngineVersion?: string; /** *

                                            The name of a specific DB parameter group family to return details for.

                                            @@ -10374,20 +10479,25 @@ export interface DescribeDBEngineVersionsMessage { DBParameterGroupFamily?: string; /** - *

                                            A value that indicates whether to list the supported character sets for each engine version.

                                            - *

                                            If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, - * the response includes a list of supported character sets for each engine version. - *

                                            + *

                                            + * The maximum number of records to include in the response. + * If more than the MaxRecords value is available, a pagination token called a marker is + * included in the response so you can retrieve the remaining results. + *

                                            + *

                                            Default: 100

                                            + *

                                            Constraints: Minimum 20, maximum 100.

                                            */ - ListSupportedCharacterSets?: boolean; + MaxRecords?: number; /** - *

                                            A value that indicates whether to list the supported time zones for each engine version.

                                            - *

                                            If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, - * the response includes a list of supported time zones for each engine version. - *

                                            + *

                                            A value that indicates whether to include engine versions that aren't available in the list. The default is to list only available engine versions.

                                            */ - ListSupportedTimezones?: boolean; + IncludeAll?: boolean; + + /** + *

                                            The database engine to return.

                                            + */ + Engine?: string; } export namespace DescribeDBEngineVersionsMessage { @@ -10430,25 +10540,6 @@ export namespace DBInstanceAutomatedBackupMessage { *

                                            Parameter input for DescribeDBInstanceAutomatedBackups.

                                            */ export interface DescribeDBInstanceAutomatedBackupsMessage { - /** - *

                                            The pagination token provided in the previous request. If this parameter is specified the response - * includes only records beyond the marker, up to MaxRecords.

                                            - */ - Marker?: string; - - /** - *

                                            (Optional) The user-supplied instance identifier. If this parameter is specified, it must - * match the identifier of an existing DB instance. It returns information from the - * specific DB instance' automated backup. This parameter isn't case-sensitive.

                                            - */ - DBInstanceIdentifier?: string; - - /** - *

                                            The resource ID of the DB instance that is the source of - * the automated backup. This parameter isn't case-sensitive.

                                            - */ - DbiResourceId?: string; - /** *

                                            A filter that specifies which resources to return based on status.

                                            *

                                            Supported filters are the following:

                                            @@ -10496,6 +10587,25 @@ export interface DescribeDBInstanceAutomatedBackupsMessage { * you can retrieve the remaining results.

                                            */ MaxRecords?: number; + + /** + *

                                            (Optional) The user-supplied instance identifier. If this parameter is specified, it must + * match the identifier of an existing DB instance. It returns information from the + * specific DB instance' automated backup. This parameter isn't case-sensitive.

                                            + */ + DBInstanceIdentifier?: string; + + /** + *

                                            The pagination token provided in the previous request. If this parameter is specified the response + * includes only records beyond the marker, up to MaxRecords.

                                            + */ + Marker?: string; + + /** + *

                                            The resource ID of the DB instance that is the source of + * the automated backup. This parameter isn't case-sensitive.

                                            + */ + DbiResourceId?: string; } export namespace DescribeDBInstanceAutomatedBackupsMessage { @@ -10539,15 +10649,15 @@ export namespace DBInstanceMessage { */ export interface DescribeDBInstancesMessage { /** - *

                                            The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case-sensitive.

                                            - *

                                            Constraints:

                                            - *
                                              - *
                                            • - *

                                              If supplied, must match the identifier of an existing DBInstance.

                                              - *
                                            • - *
                                            + *

                                            + * An optional pagination token provided by a previous + * DescribeDBInstances request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                            */ - DBInstanceIdentifier?: string; + Marker?: string; /** *

                                            @@ -10561,6 +10671,17 @@ export interface DescribeDBInstancesMessage { */ MaxRecords?: number; + /** + *

                                            The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case-sensitive.

                                            + *

                                            Constraints:

                                            + *
                                              + *
                                            • + *

                                              If supplied, must match the identifier of an existing DBInstance.

                                              + *
                                            • + *
                                            + */ + DBInstanceIdentifier?: string; + /** *

                                            A filter that specifies one or more DB instances to describe.

                                            *

                                            Supported filters:

                                            @@ -10595,17 +10716,6 @@ export interface DescribeDBInstancesMessage { *
                                          */ Filters?: Filter[]; - - /** - *

                                          - * An optional pagination token provided by a previous - * DescribeDBInstances request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                          - */ - Marker?: string; } export namespace DescribeDBInstancesMessage { @@ -10619,24 +10729,30 @@ export namespace DescribeDBInstancesMessage { */ export interface DescribeDBLogFilesMessage { /** - *

                                          This parameter isn't currently supported.

                                          + *

                                          Filters the available log files for files written since the specified date, in POSIX timestamp format with milliseconds.

                                          */ - Filters?: Filter[]; + FileLastWritten?: number; /** - *

                                          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 you can retrieve the remaining results.

                                          + *

                                          The customer-assigned name of the DB instance that contains the log files you want to list.

                                          + *

                                          Constraints:

                                          + *
                                            + *
                                          • + *

                                            Must match the identifier of an existing DBInstance.

                                            + *
                                          • + *
                                          */ - MaxRecords?: number; + DBInstanceIdentifier: string | undefined; /** - *

                                          Filters the available log files for files written since the specified date, in POSIX timestamp format with milliseconds.

                                          + *

                                          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 you can retrieve the remaining results.

                                          */ - FileLastWritten?: number; + MaxRecords?: number; /** - *

                                          Filters the available log files for log file names that contain the specified string.

                                          + *

                                          Filters the available log files for files larger than the specified size.

                                          */ - FilenameContains?: string; + FileSize?: number; /** *

                                          The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

                                          @@ -10644,20 +10760,14 @@ export interface DescribeDBLogFilesMessage { Marker?: string; /** - *

                                          The customer-assigned name of the DB instance that contains the log files you want to list.

                                          - *

                                          Constraints:

                                          - *
                                            - *
                                          • - *

                                            Must match the identifier of an existing DBInstance.

                                            - *
                                          • - *
                                          + *

                                          Filters the available log files for log file names that contain the specified string.

                                          */ - DBInstanceIdentifier: string | undefined; + FilenameContains?: string; /** - *

                                          Filters the available log files for files larger than the specified size.

                                          + *

                                          This parameter isn't currently supported.

                                          */ - FileSize?: number; + Filters?: Filter[]; } export namespace DescribeDBLogFilesMessage { @@ -10670,11 +10780,6 @@ export namespace DescribeDBLogFilesMessage { *

                                          This data type is used as a response element to DescribeDBLogFiles.

                                          */ export interface DescribeDBLogFilesDetails { - /** - *

                                          The name of the log file for the specified DB instance.

                                          - */ - LogFileName?: string; - /** *

                                          A POSIX timestamp when the last log entry was written.

                                          */ @@ -10684,6 +10789,11 @@ export interface DescribeDBLogFilesDetails { *

                                          The size, in bytes, of the log file for the specified DB instance.

                                          */ Size?: number; + + /** + *

                                          The name of the log file for the specified DB instance.

                                          + */ + LogFileName?: string; } export namespace DescribeDBLogFilesDetails { @@ -10749,6 +10859,11 @@ export namespace DBParameterGroupsMessage { *

                                          */ export interface DescribeDBParameterGroupsMessage { + /** + *

                                          This parameter isn't currently supported.

                                          + */ + Filters?: Filter[]; + /** *

                                          * An optional pagination token provided by a previous @@ -10782,11 +10897,6 @@ export interface DescribeDBParameterGroupsMessage { *

                                          Constraints: Minimum 20, maximum 100.

                                          */ MaxRecords?: number; - - /** - *

                                          This parameter isn't currently supported.

                                          - */ - Filters?: Filter[]; } export namespace DescribeDBParameterGroupsMessage { @@ -10801,13 +10911,6 @@ export namespace DescribeDBParameterGroupsMessage { *

                                          */ export interface DBParameterGroupDetails { - /** - *

                                          - * A list of Parameter values. - *

                                          - */ - Parameters?: Parameter[]; - /** *

                                          * An optional pagination token provided by a previous request. @@ -10817,6 +10920,13 @@ export interface DBParameterGroupDetails { *

                                          */ Marker?: string; + + /** + *

                                          + * A list of Parameter values. + *

                                          + */ + Parameters?: Parameter[]; } export namespace DBParameterGroupDetails { @@ -10826,19 +10936,6 @@ export namespace DBParameterGroupDetails { } export interface DescribeDBParametersMessage { - /** - *

                                          The parameter types to return.

                                          - *

                                          Default: All parameter types returned

                                          - *

                                          Valid Values: user | system | engine-default - *

                                          - */ - Source?: string; - - /** - *

                                          This parameter isn't currently supported.

                                          - */ - Filters?: Filter[]; - /** *

                                          * The maximum number of records to include in the response. @@ -10872,25 +10969,28 @@ export interface DescribeDBParametersMessage { *

                                          */ Marker?: string; -} - -export namespace DescribeDBParametersMessage { - export const filterSensitiveLog = (obj: DescribeDBParametersMessage): any => ({ - ...obj, - }); -} -export interface DescribeDBProxiesRequest { /** - *

                                          This parameter is not currently supported.

                                          + *

                                          The parameter types to return.

                                          + *

                                          Default: All parameter types returned

                                          + *

                                          Valid Values: user | system | engine-default + *

                                          */ - Filters?: Filter[]; + Source?: string; /** - *

                                          The name of the DB proxy.

                                          + *

                                          This parameter isn't currently supported.

                                          */ - DBProxyName?: string; + Filters?: Filter[]; +} +export namespace DescribeDBParametersMessage { + export const filterSensitiveLog = (obj: DescribeDBParametersMessage): any => ({ + ...obj, + }); +} + +export interface DescribeDBProxiesRequest { /** *

                                          * An optional pagination token provided by a previous request. @@ -10908,6 +11008,16 @@ export interface DescribeDBProxiesRequest { *

                                          Constraints: Minimum 20, maximum 100.

                                          */ MaxRecords?: number; + + /** + *

                                          This parameter is not currently supported.

                                          + */ + Filters?: Filter[]; + + /** + *

                                          The name of the DB proxy.

                                          + */ + DBProxyName?: string; } export namespace DescribeDBProxiesRequest { @@ -10917,11 +11027,6 @@ export namespace DescribeDBProxiesRequest { } export interface DescribeDBProxiesResponse { - /** - *

                                          A return value representing an arbitrary number of DBProxy data structures.

                                          - */ - DBProxies?: DBProxy[]; - /** *

                                          * An optional pagination token provided by a previous request. @@ -10930,6 +11035,11 @@ export interface DescribeDBProxiesResponse { *

                                          */ Marker?: string; + + /** + *

                                          A return value representing an arbitrary number of DBProxy data structures.

                                          + */ + DBProxies?: DBProxy[]; } export namespace DescribeDBProxiesResponse { @@ -10939,21 +11049,6 @@ export namespace DescribeDBProxiesResponse { } export interface DescribeDBProxyTargetGroupsRequest { - /** - *

                                          The identifier of the DBProxyTargetGroup to describe.

                                          - */ - TargetGroupName?: string; - - /** - *

                                          This parameter is not currently supported.

                                          - */ - Filters?: Filter[]; - - /** - *

                                          The identifier of the DBProxy associated with the target group.

                                          - */ - DBProxyName: string | undefined; - /** *

                                          * The maximum number of records to include in the response. @@ -10966,6 +11061,11 @@ export interface DescribeDBProxyTargetGroupsRequest { */ MaxRecords?: number; + /** + *

                                          The identifier of the DBProxy associated with the target group.

                                          + */ + DBProxyName: string | undefined; + /** *

                                          * An optional pagination token provided by a previous request. @@ -10974,6 +11074,16 @@ export interface DescribeDBProxyTargetGroupsRequest { *

                                          */ Marker?: string; + + /** + *

                                          The identifier of the DBProxyTargetGroup to describe.

                                          + */ + TargetGroupName?: string; + + /** + *

                                          This parameter is not currently supported.

                                          + */ + Filters?: Filter[]; } export namespace DescribeDBProxyTargetGroupsRequest { @@ -10987,24 +11097,10 @@ export namespace DescribeDBProxyTargetGroupsRequest { */ export interface ConnectionPoolConfigurationInfo { /** - *

                                          Each item in the list represents a class of SQL operations that normally cause all later statements - * in a session using a proxy to be pinned to the same underlying database connection. Including an item - * in the list exempts that class of SQL operations from the pinning behavior. Currently, the only - * allowed value is EXCLUDE_VARIABLE_SETS.

                                          - */ - SessionPinningFilters?: string[]; - - /** - *

                                          - * One or more SQL statements for the proxy to run when opening each new database connection. - * Typically used with SET statements to make sure that each connection has identical - * settings such as time zone and character set. This setting is empty by default. - * For multiple statements, use semicolons as the separator. - * You can also include multiple variables in a single SET statement, such as - * SET x=1, y=2. - *

                                          + *

                                          The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the + * max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

                                          */ - InitQuery?: string; + MaxConnectionsPercent?: number; /** *

                                          The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the @@ -11023,10 +11119,24 @@ export interface ConnectionPoolConfigurationInfo { MaxIdleConnectionsPercent?: number; /** - *

                                          The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the - * max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

                                          + *

                                          Each item in the list represents a class of SQL operations that normally cause all later statements + * in a session using a proxy to be pinned to the same underlying database connection. Including an item + * in the list exempts that class of SQL operations from the pinning behavior. Currently, the only + * allowed value is EXCLUDE_VARIABLE_SETS.

                                          */ - MaxConnectionsPercent?: number; + SessionPinningFilters?: string[]; + + /** + *

                                          + * One or more SQL statements for the proxy to run when opening each new database connection. + * Typically used with SET statements to make sure that each connection has identical + * settings such as time zone and character set. This setting is empty by default. + * For multiple statements, use semicolons as the separator. + * You can also include multiple variables in a single SET statement, such as + * SET x=1, y=2. + *

                                          + */ + InitQuery?: string; } export namespace ConnectionPoolConfigurationInfo { @@ -11042,24 +11152,31 @@ export namespace ConnectionPoolConfigurationInfo { */ export interface DBProxyTargetGroup { /** - *

                                          The date and time when the target group was last updated.

                                          + *

                                          The current status of this target group. A status of available means the + * target group is correctly associated with a database. Other values indicate that you must wait for + * the target group to be ready, or take some action to resolve an issue.

                                          */ - UpdatedDate?: Date; + Status?: string; /** - *

                                          The identifier for the RDS proxy associated with this target group.

                                          + *

                                          The identifier for the target group. This name must be unique for all target groups owned by your AWS account in the specified AWS Region.

                                          */ - DBProxyName?: string; + TargetGroupName?: string; /** - *

                                          The settings that determine the size and behavior of the connection pool for the target group.

                                          + *

                                          The date and time when the target group was first created.

                                          */ - ConnectionPoolConfig?: ConnectionPoolConfigurationInfo; + CreatedDate?: Date; /** - *

                                          The identifier for the target group. This name must be unique for all target groups owned by your AWS account in the specified AWS Region.

                                          + *

                                          The identifier for the RDS proxy associated with this target group.

                                          */ - TargetGroupName?: string; + DBProxyName?: string; + + /** + *

                                          The date and time when the target group was last updated.

                                          + */ + UpdatedDate?: Date; /** *

                                          The Amazon Resource Name (ARN) representing the target group.

                                          @@ -11074,16 +11191,9 @@ export interface DBProxyTargetGroup { IsDefault?: boolean; /** - *

                                          The date and time when the target group was first created.

                                          - */ - CreatedDate?: Date; - - /** - *

                                          The current status of this target group. A status of available means the - * target group is correctly associated with a database. Other values indicate that you must wait for - * the target group to be ready, or take some action to resolve an issue.

                                          + *

                                          The settings that determine the size and behavior of the connection pool for the target group.

                                          */ - Status?: string; + ConnectionPoolConfig?: ConnectionPoolConfigurationInfo; } export namespace DBProxyTargetGroup { @@ -11116,9 +11226,9 @@ export namespace DescribeDBProxyTargetGroupsResponse { export interface DescribeDBProxyTargetsRequest { /** - *

                                          The identifier of the DBProxyTargetGroup to describe.

                                          + *

                                          The identifier of the DBProxyTarget to describe.

                                          */ - TargetGroupName?: string; + DBProxyName: string | undefined; /** *

                                          @@ -11133,9 +11243,14 @@ export interface DescribeDBProxyTargetsRequest { MaxRecords?: number; /** - *

                                          The identifier of the DBProxyTarget to describe.

                                          + *

                                          This parameter is not currently supported.

                                          */ - DBProxyName: string | undefined; + Filters?: Filter[]; + + /** + *

                                          The identifier of the DBProxyTargetGroup to describe.

                                          + */ + TargetGroupName?: string; /** *

                                          @@ -11145,11 +11260,6 @@ export interface DescribeDBProxyTargetsRequest { *

                                          */ Marker?: string; - - /** - *

                                          This parameter is not currently supported.

                                          - */ - Filters?: Filter[]; } export namespace DescribeDBProxyTargetsRequest { @@ -11176,9 +11286,10 @@ export enum TargetState { */ export interface TargetHealth { /** - *

                                          The reason for the current health State of the RDS Proxy target.

                                          + *

                                          A description of the health of the RDS Proxy target. + * If the State is AVAILABLE, a description is not included.

                                          */ - Reason?: TargetHealthReason | string; + Description?: string; /** *

                                          The current state of the connection health lifecycle for the RDS Proxy target. @@ -11191,10 +11302,9 @@ export interface TargetHealth { State?: TargetState | string; /** - *

                                          A description of the health of the RDS Proxy target. - * If the State is AVAILABLE, a description is not included.

                                          + *

                                          The reason for the current health State of the RDS Proxy target.

                                          */ - Description?: string; + Reason?: TargetHealthReason | string; } export namespace TargetHealth { @@ -11216,40 +11326,40 @@ export enum TargetType { */ export interface DBProxyTarget { /** - *

                                          The writer endpoint for the RDS DB instance or Aurora DB cluster.

                                          + *

                                          The port that the RDS Proxy uses to connect to the target RDS DB instance or Aurora DB cluster.

                                          */ - Endpoint?: string; + Port?: number; /** - *

                                          Specifies the kind of database, such as an RDS DB instance or an Aurora DB cluster, that the target represents.

                                          + *

                                          Information about the connection health of the RDS Proxy target.

                                          */ - Type?: TargetType | string; + TargetHealth?: TargetHealth; /** - *

                                          The identifier representing the target. It can be the instance identifier for an RDS DB instance, - * or the cluster identifier for an Aurora DB cluster.

                                          + *

                                          Specifies the kind of database, such as an RDS DB instance or an Aurora DB cluster, that the target represents.

                                          */ - RdsResourceId?: string; + Type?: TargetType | string; /** - *

                                          The DB cluster identifier when the target represents an Aurora DB cluster. This field is blank when the target represents an RDS DB instance.

                                          + *

                                          The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.

                                          */ - TrackedClusterId?: string; + TargetArn?: string; /** - *

                                          The port that the RDS Proxy uses to connect to the target RDS DB instance or Aurora DB cluster.

                                          + *

                                          The writer endpoint for the RDS DB instance or Aurora DB cluster.

                                          */ - Port?: number; + Endpoint?: string; /** - *

                                          Information about the connection health of the RDS Proxy target.

                                          + *

                                          The identifier representing the target. It can be the instance identifier for an RDS DB instance, + * or the cluster identifier for an Aurora DB cluster.

                                          */ - TargetHealth?: TargetHealth; + RdsResourceId?: string; /** - *

                                          The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.

                                          + *

                                          The DB cluster identifier when the target represents an Aurora DB cluster. This field is blank when the target represents an RDS DB instance.

                                          */ - TargetArn?: string; + TrackedClusterId?: string; } export namespace DBProxyTarget { @@ -11259,6 +11369,11 @@ export namespace DBProxyTarget { } export interface DescribeDBProxyTargetsResponse { + /** + *

                                          An arbitrary number of DBProxyTarget objects, containing details of the corresponding targets.

                                          + */ + Targets?: DBProxyTarget[]; + /** *

                                          * An optional pagination token provided by a previous request. @@ -11267,11 +11382,6 @@ export interface DescribeDBProxyTargetsResponse { *

                                          */ Marker?: string; - - /** - *

                                          An arbitrary number of DBProxyTarget objects, containing details of the corresponding targets.

                                          - */ - Targets?: DBProxyTarget[]; } export namespace DescribeDBProxyTargetsResponse { @@ -11286,13 +11396,6 @@ export namespace DescribeDBProxyTargetsResponse { *

                                          */ export interface DBSecurityGroupMessage { - /** - *

                                          - * A list of DBSecurityGroup instances. - *

                                          - */ - DBSecurityGroups?: DBSecurityGroup[]; - /** *

                                          * An optional pagination token provided by a previous request. @@ -11302,6 +11405,13 @@ export interface DBSecurityGroupMessage { *

                                          */ Marker?: string; + + /** + *

                                          + * A list of DBSecurityGroup instances. + *

                                          + */ + DBSecurityGroups?: DBSecurityGroup[]; } export namespace DBSecurityGroupMessage { @@ -11315,26 +11425,15 @@ export namespace DBSecurityGroupMessage { */ export interface DescribeDBSecurityGroupsMessage { /** - *

                                          - * An optional pagination token provided by a previous - * DescribeDBSecurityGroups request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                          + *

                                          The name of the DB security group to return details for.

                                          */ - Marker?: string; + DBSecurityGroupName?: string; /** *

                                          This parameter isn't currently supported.

                                          */ Filters?: Filter[]; - /** - *

                                          The name of the DB security group to return details for.

                                          - */ - DBSecurityGroupName?: string; - /** *

                                          * The maximum number of records to include in the response. @@ -11346,6 +11445,17 @@ export interface DescribeDBSecurityGroupsMessage { *

                                          Constraints: Minimum 20, maximum 100.

                                          */ MaxRecords?: number; + + /** + *

                                          + * An optional pagination token provided by a previous + * DescribeDBSecurityGroups request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                          + */ + Marker?: string; } export namespace DescribeDBSecurityGroupsMessage { @@ -11377,15 +11487,6 @@ export namespace DescribeDBSnapshotAttributesMessage { * API.

                                          */ export interface DBSnapshotAttribute { - /** - *

                                          The name of the manual DB snapshot attribute.

                                          - *

                                          The attribute named restore refers to the list of AWS accounts that - * have permission to copy or restore the manual DB cluster snapshot. For more information, - * see the ModifyDBSnapshotAttribute - * API action.

                                          - */ - AttributeName?: string; - /** *

                                          The value or values for the manual DB snapshot attribute.

                                          *

                                          If the AttributeName field is set to restore, then this element @@ -11393,7 +11494,16 @@ export interface DBSnapshotAttribute { * DB snapshot. If a value of all is in the list, then the manual DB snapshot * is public and available for any AWS account to copy or restore.

                                          */ - AttributeValues?: string[]; + AttributeValues?: string[]; + + /** + *

                                          The name of the manual DB snapshot attribute.

                                          + *

                                          The attribute named restore refers to the list of AWS accounts that + * have permission to copy or restore the manual DB cluster snapshot. For more information, + * see the ModifyDBSnapshotAttribute + * API action.

                                          + */ + AttributeName?: string; } export namespace DBSnapshotAttribute { @@ -11411,14 +11521,14 @@ export namespace DBSnapshotAttribute { */ export interface DBSnapshotAttributesResult { /** - *

                                          The list of attributes and values for the manual DB snapshot.

                                          + *

                                          The identifier of the manual DB snapshot that the attributes apply to.

                                          */ - DBSnapshotAttributes?: DBSnapshotAttribute[]; + DBSnapshotIdentifier?: string; /** - *

                                          The identifier of the manual DB snapshot that the attributes apply to.

                                          + *

                                          The list of attributes and values for the manual DB snapshot.

                                          */ - DBSnapshotIdentifier?: string; + DBSnapshotAttributes?: DBSnapshotAttribute[]; } export namespace DBSnapshotAttributesResult { @@ -11450,13 +11560,6 @@ export namespace DescribeDBSnapshotAttributesResult { *

                                          */ export interface DBSnapshotMessage { - /** - *

                                          - * A list of DBSnapshot instances. - *

                                          - */ - DBSnapshots?: DBSnapshot[]; - /** *

                                          * An optional pagination token provided by a previous request. @@ -11466,6 +11569,13 @@ export interface DBSnapshotMessage { *

                                          */ Marker?: string; + + /** + *

                                          + * A list of DBSnapshot instances. + *

                                          + */ + DBSnapshots?: DBSnapshot[]; } export namespace DBSnapshotMessage { @@ -11478,67 +11588,6 @@ export namespace DBSnapshotMessage { *

                                          */ export interface DescribeDBSnapshotsMessage { - /** - *

                                          The type of snapshots to be returned. You can specify one of the following values:

                                          - *
                                            - *
                                          • - *

                                            - * automated - Return all DB snapshots that have been automatically taken by - * Amazon RDS for my AWS account.

                                            - *
                                          • - *
                                          • - *

                                            - * manual - Return all DB snapshots that have been taken by my AWS account.

                                            - *
                                          • - *
                                          • - *

                                            - * shared - Return all manual DB snapshots that have been shared to my AWS account.

                                            - *
                                          • - *
                                          • - *

                                            - * public - Return all DB snapshots that have been marked as public.

                                            - *
                                          • - *
                                          • - *

                                            - * awsbackup - Return the DB snapshots managed by the AWS Backup service.

                                            - *

                                            For information about AWS Backup, see the - * - * AWS Backup Developer Guide. - * - *

                                            - *

                                            The awsbackup type does not apply to Aurora.

                                            - *
                                          • - *
                                          - *

                                          If you don't specify a SnapshotType value, then both automated and manual snapshots are - * returned. Shared and public DB snapshots are not included in the returned results by default. - * You can include shared snapshots with these results by enabling the IncludeShared - * parameter. You can include public snapshots with these results by enabling the - * IncludePublic parameter.

                                          - *

                                          The IncludeShared and IncludePublic parameters don't apply for SnapshotType values - * of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is - * set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to - * public.

                                          - */ - SnapshotType?: string; - - /** - *

                                          - * An optional pagination token provided by a previous - * DescribeDBSnapshots request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                          - */ - Marker?: string; - - /** - *

                                          A value that indicates whether to include manual DB cluster snapshots that are public and can be copied - * or restored by any AWS account. By default, the public snapshots are not included.

                                          - *

                                          You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

                                          - */ - IncludePublic?: boolean; - /** *

                                          A value that indicates whether to include shared manual DB cluster snapshots * from other AWS accounts that this AWS account has been given @@ -11594,6 +11643,36 @@ export interface DescribeDBSnapshotsMessage { */ DBSnapshotIdentifier?: string; + /** + *

                                          + * An optional pagination token provided by a previous + * DescribeDBSnapshots request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                          + */ + Marker?: string; + + /** + *

                                          The ID of the DB instance to retrieve the list of DB snapshots for. + * This parameter can't be used in conjunction with DBSnapshotIdentifier. + * This parameter isn't case-sensitive. + *

                                          + *

                                          Constraints:

                                          + *
                                            + *
                                          • + *

                                            If supplied, must match the identifier of an existing DBInstance.

                                            + *
                                          • + *
                                          + */ + DBInstanceIdentifier?: string; + + /** + *

                                          A specific DB resource ID to describe.

                                          + */ + DbiResourceId?: string; + /** *

                                          * The maximum number of records to include in the response. @@ -11607,23 +11686,54 @@ export interface DescribeDBSnapshotsMessage { MaxRecords?: number; /** - *

                                          A specific DB resource ID to describe.

                                          + *

                                          A value that indicates whether to include manual DB cluster snapshots that are public and can be copied + * or restored by any AWS account. By default, the public snapshots are not included.

                                          + *

                                          You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

                                          */ - DbiResourceId?: string; + IncludePublic?: boolean; /** - *

                                          The ID of the DB instance to retrieve the list of DB snapshots for. - * This parameter can't be used in conjunction with DBSnapshotIdentifier. - * This parameter isn't case-sensitive. - *

                                          - *

                                          Constraints:

                                          + *

                                          The type of snapshots to be returned. You can specify one of the following values:

                                          *
                                            *
                                          • - *

                                            If supplied, must match the identifier of an existing DBInstance.

                                            + *

                                            + * automated - Return all DB snapshots that have been automatically taken by + * Amazon RDS for my AWS account.

                                            + *
                                          • + *
                                          • + *

                                            + * manual - Return all DB snapshots that have been taken by my AWS account.

                                            + *
                                          • + *
                                          • + *

                                            + * shared - Return all manual DB snapshots that have been shared to my AWS account.

                                            + *
                                          • + *
                                          • + *

                                            + * public - Return all DB snapshots that have been marked as public.

                                            + *
                                          • + *
                                          • + *

                                            + * awsbackup - Return the DB snapshots managed by the AWS Backup service.

                                            + *

                                            For information about AWS Backup, see the + * + * AWS Backup Developer Guide. + * + *

                                            + *

                                            The awsbackup type does not apply to Aurora.

                                            *
                                          • *
                                          + *

                                          If you don't specify a SnapshotType value, then both automated and manual snapshots are + * returned. Shared and public DB snapshots are not included in the returned results by default. + * You can include shared snapshots with these results by enabling the IncludeShared + * parameter. You can include public snapshots with these results by enabling the + * IncludePublic parameter.

                                          + *

                                          The IncludeShared and IncludePublic parameters don't apply for SnapshotType values + * of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is + * set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to + * public.

                                          */ - DBInstanceIdentifier?: string; + SnapshotType?: string; } export namespace DescribeDBSnapshotsMessage { @@ -11672,9 +11782,14 @@ export interface DescribeDBSubnetGroupsMessage { Filters?: Filter[]; /** - *

                                          The name of the DB subnet group to return details for.

                                          + *

                                          + * An optional pagination token provided by a previous DescribeDBSubnetGroups request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                          */ - DBSubnetGroupName?: string; + Marker?: string; /** *

                                          @@ -11689,14 +11804,9 @@ export interface DescribeDBSubnetGroupsMessage { MaxRecords?: number; /** - *

                                          - * An optional pagination token provided by a previous DescribeDBSubnetGroups request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                          + *

                                          The name of the DB subnet group to return details for.

                                          */ - Marker?: string; + DBSubnetGroupName?: string; } export namespace DescribeDBSubnetGroupsMessage { @@ -11709,6 +11819,11 @@ export namespace DescribeDBSubnetGroupsMessage { *

                                          */ export interface DescribeEngineDefaultClusterParametersMessage { + /** + *

                                          The name of the DB cluster parameter group family to return engine parameter information for.

                                          + */ + DBParameterGroupFamily: string | undefined; + /** *

                                          * An optional pagination token provided by a previous @@ -11720,16 +11835,6 @@ export interface DescribeEngineDefaultClusterParametersMessage { */ Marker?: string; - /** - *

                                          This parameter isn't currently supported.

                                          - */ - Filters?: Filter[]; - - /** - *

                                          The name of the DB cluster parameter group family to return engine parameter information for.

                                          - */ - DBParameterGroupFamily: string | undefined; - /** *

                                          * The maximum number of records to include in the response. @@ -11740,6 +11845,11 @@ export interface DescribeEngineDefaultClusterParametersMessage { *

                                          Constraints: Minimum 20, maximum 100.

                                          */ MaxRecords?: number; + + /** + *

                                          This parameter isn't currently supported.

                                          + */ + Filters?: Filter[]; } export namespace DescribeEngineDefaultClusterParametersMessage { @@ -11754,16 +11864,6 @@ export namespace DescribeEngineDefaultClusterParametersMessage { *

                                          */ export interface EngineDefaults { - /** - *

                                          Contains a list of engine default parameters.

                                          - */ - Parameters?: Parameter[]; - - /** - *

                                          Specifies the name of the DB parameter group family that the engine default parameters apply to.

                                          - */ - DBParameterGroupFamily?: string; - /** *

                                          * An optional pagination token provided by a previous @@ -11774,6 +11874,16 @@ export interface EngineDefaults { *

                                          */ Marker?: string; + + /** + *

                                          Contains a list of engine default parameters.

                                          + */ + Parameters?: Parameter[]; + + /** + *

                                          Specifies the name of the DB parameter group family that the engine default parameters apply to.

                                          + */ + DBParameterGroupFamily?: string; } export namespace EngineDefaults { @@ -11802,20 +11912,9 @@ export namespace DescribeEngineDefaultClusterParametersResult { */ export interface DescribeEngineDefaultParametersMessage { /** - *

                                          The name of the DB parameter group family.

                                          - */ - DBParameterGroupFamily: string | undefined; - - /** - *

                                          - * An optional pagination token provided by a previous - * DescribeEngineDefaultParameters request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                          + *

                                          This parameter isn't currently supported.

                                          */ - Marker?: string; + Filters?: Filter[]; /** *

                                          @@ -11829,9 +11928,20 @@ export interface DescribeEngineDefaultParametersMessage { MaxRecords?: number; /** - *

                                          This parameter isn't currently supported.

                                          + *

                                          + * An optional pagination token provided by a previous + * DescribeEngineDefaultParameters request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                          */ - Filters?: Filter[]; + Marker?: string; + + /** + *

                                          The name of the DB parameter group family.

                                          + */ + DBParameterGroupFamily: string | undefined; } export namespace DescribeEngineDefaultParametersMessage { @@ -11866,7 +11976,8 @@ export interface DescribeEventCategoriesMessage { /** *

                                          The type of source that is generating the events.

                                          - *

                                          Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

                                          + *

                                          Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot + *

                                          */ SourceType?: string; } @@ -11878,7 +11989,7 @@ export namespace DescribeEventCategoriesMessage { } /** - *

                                          Contains the results of a successful invocation of the DescribeEventCategories action.

                                          + *

                                          Contains the results of a successful invocation of the DescribeEventCategories operation.

                                          */ export interface EventCategoriesMap { /** @@ -11899,7 +12010,7 @@ export namespace EventCategoriesMap { } /** - *

                                          Data returned from the DescribeEventCategories action.

                                          + *

                                          Data returned from the DescribeEventCategories operation.

                                          */ export interface EventCategoriesMessage { /** @@ -11913,11 +12024,3 @@ export namespace EventCategoriesMessage { ...obj, }); } - -export type SourceType = - | "db-cluster" - | "db-cluster-snapshot" - | "db-instance" - | "db-parameter-group" - | "db-security-group" - | "db-snapshot"; diff --git a/clients/client-rds/models/models_1.ts b/clients/client-rds/models/models_1.ts index 8a79687ec0a0..ce4f6db81b6a 100644 --- a/clients/client-rds/models/models_1.ts +++ b/clients/client-rds/models/models_1.ts @@ -22,58 +22,88 @@ import { OptionSetting, Parameter, ProcessorFeature, + ReplicaMode, ResourcePendingMaintenanceActions, ScalingConfiguration, - SourceType, Tag, UserAuthConfig, } from "./models_0"; import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +export type SourceType = + | "db-cluster" + | "db-cluster-snapshot" + | "db-instance" + | "db-parameter-group" + | "db-security-group" + | "db-snapshot"; + /** *

                                          */ export interface DescribeEventsMessage { /** - *

                                          This parameter isn't currently supported.

                                          + *

                                          + * 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 + * you can retrieve the remaining results. + *

                                          + *

                                          Default: 100

                                          + *

                                          Constraints: Minimum 20, maximum 100.

                                          */ - Filters?: Filter[]; + MaxRecords?: number; /** - *

                                          The event source to retrieve events for. If no value is specified, all events are returned.

                                          + *

                                          + * The end of the time interval for which to retrieve events, + * specified in ISO 8601 format. For more information about ISO 8601, + * go to the ISO8601 Wikipedia page. + *

                                          + *

                                          Example: 2009-07-08T18:00Z

                                          */ - SourceType?: SourceType | string; + EndTime?: Date; /** *

                                          - * An optional pagination token provided by a previous - * DescribeEvents request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                          + * 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

                                          */ - Marker?: string; + StartTime?: Date; + + /** + *

                                          A list of event categories that trigger notifications for a event notification subscription.

                                          + */ + EventCategories?: string[]; /** *

                                          The identifier of the event source for which events are returned. If not specified, then all sources are included in the response.

                                          *

                                          Constraints:

                                          *
                                            *
                                          • - *

                                            If SourceIdentifier is supplied, SourceType must also be provided.

                                            + *

                                            If SourceIdentifier is supplied, SourceType must also be provided.

                                            + *
                                          • + *
                                          • + *

                                            If the source type is a DB instance, a DBInstanceIdentifier value must be supplied.

                                            + *
                                          • + *
                                          • + *

                                            If the source type is a DB cluster, a DBClusterIdentifier value must be supplied.

                                            *
                                          • *
                                          • - *

                                            If the source type is DBInstance, then a DBInstanceIdentifier must be supplied.

                                            + *

                                            If the source type is a DB parameter group, a DBParameterGroupName value must be supplied.

                                            *
                                          • *
                                          • - *

                                            If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied.

                                            + *

                                            If the source type is a DB security group, a DBSecurityGroupName value must be supplied.

                                            *
                                          • *
                                          • - *

                                            If the source type is DBParameterGroup, a DBParameterGroupName must be supplied.

                                            + *

                                            If the source type is a DB snapshot, a DBSnapshotIdentifier value must be supplied.

                                            *
                                          • *
                                          • - *

                                            If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.

                                            + *

                                            If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier value must be supplied.

                                            *
                                          • *
                                          • *

                                            Can't end with a hyphen or contain two consecutive hyphens.

                                            @@ -83,47 +113,31 @@ export interface DescribeEventsMessage { SourceIdentifier?: string; /** - *

                                            A list of event categories that trigger notifications for a event notification subscription.

                                            + *

                                            The number of minutes to retrieve events for.

                                            + *

                                            Default: 60

                                            */ - EventCategories?: string[]; + Duration?: 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

                                            + *

                                            The event source to retrieve events for. If no value is specified, all events are returned.

                                            */ - StartTime?: Date; + SourceType?: SourceType | 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 - * you can retrieve the remaining results. - *

                                            - *

                                            Default: 100

                                            - *

                                            Constraints: Minimum 20, maximum 100.

                                            + *

                                            This parameter isn't currently supported.

                                            */ - MaxRecords?: number; + Filters?: Filter[]; /** *

                                            - * The end of the time interval for which to retrieve events, - * specified in ISO 8601 format. For more information about ISO 8601, - * go to the ISO8601 Wikipedia page. - *

                                            - *

                                            Example: 2009-07-08T18:00Z

                                            - */ - EndTime?: Date; - - /** - *

                                            The number of minutes to retrieve events for.

                                            - *

                                            Default: 60

                                            + * An optional pagination token provided by a previous + * DescribeEvents request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                            */ - Duration?: number; + Marker?: string; } export namespace DescribeEventsMessage { @@ -139,9 +153,14 @@ export namespace DescribeEventsMessage { */ export interface Event { /** - *

                                            Specifies the date and time of the event.

                                            + *

                                            Provides the identifier for the source of the event.

                                            */ - Date?: Date; + SourceIdentifier?: string; + + /** + *

                                            The Amazon Resource Name (ARN) for the event.

                                            + */ + SourceArn?: string; /** *

                                            Specifies the category for the event.

                                            @@ -149,9 +168,9 @@ export interface Event { EventCategories?: string[]; /** - *

                                            Provides the identifier for the source of the event.

                                            + *

                                            Specifies the source type for this event.

                                            */ - SourceIdentifier?: string; + SourceType?: SourceType | string; /** *

                                            Provides the text of this event.

                                            @@ -159,14 +178,9 @@ export interface Event { Message?: string; /** - *

                                            Specifies the source type for this event.

                                            - */ - SourceType?: SourceType | string; - - /** - *

                                            The Amazon Resource Name (ARN) for the event.

                                            + *

                                            Specifies the date and time of the event.

                                            */ - SourceArn?: string; + Date?: Date; } export namespace Event { @@ -210,6 +224,17 @@ export namespace EventsMessage { *

                                            */ export interface DescribeEventSubscriptionsMessage { + /** + *

                                            + * An optional pagination token provided by a previous + * DescribeOrderableDBInstanceOptions request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords . + *

                                            + */ + Marker?: string; + /** *

                                            This parameter isn't currently supported.

                                            */ @@ -231,17 +256,6 @@ export interface DescribeEventSubscriptionsMessage { *

                                            Constraints: Minimum 20, maximum 100.

                                            */ MaxRecords?: number; - - /** - *

                                            - * An optional pagination token provided by a previous - * DescribeOrderableDBInstanceOptions request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords . - *

                                            - */ - Marker?: string; } export namespace DescribeEventSubscriptionsMessage { @@ -279,13 +293,9 @@ export namespace EventSubscriptionsMessage { export interface DescribeExportTasksMessage { /** - *

                                            - * An optional pagination token provided by a previous DescribeExportTasks request. - * If you specify this parameter, the response includes only records beyond the marker, - * up to the value specified by the MaxRecords parameter. - *

                                            + *

                                            The identifier of the snapshot export task to be described.

                                            */ - Marker?: string; + ExportTaskIdentifier?: string; /** *

                                            @@ -300,13 +310,8 @@ export interface DescribeExportTasksMessage { MaxRecords?: number; /** - *

                                            The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.

                                            - */ - SourceArn?: string; - - /** - *

                                            Filters specify one or more snapshot exports to describe. The filters are specified - * as name-value pairs that define what to include in the output.

                                            + *

                                            Filters specify one or more snapshot exports to describe. The filters are specified as name-value pairs that define what to + * include in the output. Filter names and values are case-sensitive.

                                            *

                                            Supported filters include the following:

                                            *
                                              *
                                            • @@ -323,16 +328,25 @@ export interface DescribeExportTasksMessage { *
                                            • *
                                            • *

                                              - * status - The status of the export task.

                                              + * status - The status of the export task. Must be lowercase, for example, complete.

                                              *
                                            • *
                                            */ Filters?: Filter[]; /** - *

                                            The identifier of the snapshot export task to be described.

                                            + *

                                            + * An optional pagination token provided by a previous DescribeExportTasks request. + * If you specify this parameter, the response includes only records beyond the marker, + * up to the value specified by the MaxRecords parameter. + *

                                            */ - ExportTaskIdentifier?: string; + Marker?: string; + + /** + *

                                            The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.

                                            + */ + SourceArn?: string; } export namespace DescribeExportTasksMessage { @@ -342,17 +356,17 @@ export namespace DescribeExportTasksMessage { } export interface ExportTasksMessage { + /** + *

                                            Information about an export of a snapshot to Amazon S3.

                                            + */ + ExportTasks?: ExportTask[]; + /** *

                                            A pagination token that can be used in a later DescribeExportTasks * request. A marker is used for pagination to identify the location to begin output for * the next response of DescribeExportTasks.

                                            */ Marker?: string; - - /** - *

                                            Information about an export of a snapshot to Amazon S3.

                                            - */ - ExportTasks?: ExportTask[]; } export namespace ExportTasksMessage { @@ -362,6 +376,15 @@ export namespace ExportTasksMessage { } export interface DescribeGlobalClustersMessage { + /** + *

                                            + * An optional pagination token provided by a previous DescribeGlobalClusters request. If + * this parameter is specified, the response includes only records beyond the marker, up to the value + * specified by MaxRecords. + *

                                            + */ + Marker?: string; + /** *

                                            A filter that specifies one or more global DB clusters to describe.

                                            *

                                            Supported filters:

                                            @@ -376,26 +399,6 @@ export interface DescribeGlobalClustersMessage { */ Filters?: Filter[]; - /** - *

                                            - * 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 - * you can retrieve the remaining results. - *

                                            - *

                                            Default: 100

                                            - *

                                            Constraints: Minimum 20, maximum 100.

                                            - */ - MaxRecords?: number; - - /** - *

                                            - * An optional pagination token provided by a previous DescribeGlobalClusters request. If - * this parameter is specified, the response includes only records beyond the marker, up to the value - * specified by MaxRecords. - *

                                            - */ - Marker?: string; - /** *

                                            * The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive. @@ -408,6 +411,17 @@ export interface DescribeGlobalClustersMessage { *

                                          */ GlobalClusterIdentifier?: 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 + * you can retrieve the remaining results. + *

                                          + *

                                          Default: 100

                                          + *

                                          Constraints: Minimum 20, maximum 100.

                                          + */ + MaxRecords?: number; } export namespace DescribeGlobalClustersMessage { @@ -419,19 +433,19 @@ export namespace DescribeGlobalClustersMessage { export interface GlobalClustersMessage { /** *

                                          - * An optional pagination token provided by a previous DescribeGlobalClusters request. - * If this parameter is specified, the response includes - * only records beyond the marker, up to the value specified by MaxRecords. + * The list of global clusters returned by this request. *

                                          */ - Marker?: string; + GlobalClusters?: GlobalCluster[]; /** *

                                          - * The list of global clusters returned by this request. + * An optional pagination token provided by a previous DescribeGlobalClusters request. + * If this parameter is specified, the response includes + * only records beyond the marker, up to the value specified by MaxRecords. *

                                          */ - GlobalClusters?: GlobalCluster[]; + Marker?: string; } export namespace GlobalClustersMessage { @@ -441,6 +455,14 @@ export namespace GlobalClustersMessage { } export interface DescribeInstallationMediaMessage { + /** + *

                                          An optional pagination token provided by a previous request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords.

                                          + */ + Marker?: string; + /** *

                                          An optional pagination token provided by a previous DescribeInstallationMedia request. * If this parameter is specified, the response includes @@ -448,6 +470,11 @@ export interface DescribeInstallationMediaMessage { */ MaxRecords?: number; + /** + *

                                          The installation medium ID.

                                          + */ + InstallationMediaId?: string; + /** *

                                          A filter that specifies one or more installation media to describe. Supported filters * include the following:

                                          @@ -467,19 +494,6 @@ export interface DescribeInstallationMediaMessage { *
                                        */ Filters?: Filter[]; - - /** - *

                                        The installation medium ID.

                                        - */ - InstallationMediaId?: string; - - /** - *

                                        An optional pagination token provided by a previous request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords.

                                        - */ - Marker?: string; } export namespace DescribeInstallationMediaMessage { @@ -489,6 +503,11 @@ export namespace DescribeInstallationMediaMessage { } export interface InstallationMediaMessage { + /** + *

                                        The list of InstallationMedia objects for the AWS account.

                                        + */ + InstallationMedia?: InstallationMedia[]; + /** *

                                        An optional pagination token provided by a previous * DescribeInstallationMedia request. @@ -497,11 +516,6 @@ export interface InstallationMediaMessage { * up to the value specified by MaxRecords.

                                        */ Marker?: string; - - /** - *

                                        The list of InstallationMedia objects for the AWS account.

                                        - */ - InstallationMedia?: InstallationMedia[]; } export namespace InstallationMediaMessage { @@ -514,19 +528,6 @@ export namespace InstallationMediaMessage { *

                                        */ export interface DescribeOptionGroupOptionsMessage { - /** - *

                                        An optional pagination token provided by a previous request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords.

                                        - */ - Marker?: string; - - /** - *

                                        If specified, filters the results to include only options for the specified major engine version.

                                        - */ - MajorEngineVersion?: string; - /** *

                                        * The maximum number of records to include in the response. @@ -539,15 +540,28 @@ export interface DescribeOptionGroupOptionsMessage { */ MaxRecords?: number; + /** + *

                                        This parameter isn't currently supported.

                                        + */ + Filters?: Filter[]; + /** *

                                        A required parameter. Options available for the given engine name are described.

                                        */ EngineName: string | undefined; /** - *

                                        This parameter isn't currently supported.

                                        + *

                                        An optional pagination token provided by a previous request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords.

                                        */ - Filters?: Filter[]; + Marker?: string; + + /** + *

                                        If specified, filters the results to include only options for the specified major engine version.

                                        + */ + MajorEngineVersion?: string; } export namespace DescribeOptionGroupOptionsMessage { @@ -582,44 +596,44 @@ export namespace MinimumEngineVersionPerAllowedValue { */ export interface OptionGroupOptionSetting { /** - *

                                        Boolean value where true indicates that this option group option can be changed from the default value.

                                        + *

                                        The name of the option group option.

                                        */ - IsModifiable?: boolean; + SettingName?: string; /** - *

                                        The minimum DB engine version required for the corresponding allowed value for this option setting.

                                        + *

                                        The DB engine specific parameter type for the option group option.

                                        */ - MinimumEngineVersionPerAllowedValue?: MinimumEngineVersionPerAllowedValue[]; + ApplyType?: string; /** - *

                                        The name of the option group option.

                                        + *

                                        The default value for the option group option.

                                        */ - SettingName?: string; + DefaultValue?: string; /** - *

                                        The description of the option group option.

                                        + *

                                        Boolean value where true indicates that a value must be specified for this option setting of the option group option.

                                        */ - SettingDescription?: string; + IsRequired?: boolean; /** - *

                                        The default value for the option group option.

                                        + *

                                        Indicates the acceptable values for the option group option.

                                        */ - DefaultValue?: string; + AllowedValues?: string; /** - *

                                        The DB engine specific parameter type for the option group option.

                                        + *

                                        The description of the option group option.

                                        */ - ApplyType?: string; + SettingDescription?: string; /** - *

                                        Boolean value where true indicates that a value must be specified for this option setting of the option group option.

                                        + *

                                        The minimum DB engine version required for the corresponding allowed value for this option setting.

                                        */ - IsRequired?: boolean; + MinimumEngineVersionPerAllowedValue?: MinimumEngineVersionPerAllowedValue[]; /** - *

                                        Indicates the acceptable values for the option group option.

                                        + *

                                        Boolean value where true indicates that this option group option can be changed from the default value.

                                        */ - AllowedValues?: string; + IsModifiable?: boolean; } export namespace OptionGroupOptionSetting { @@ -655,33 +669,31 @@ export namespace OptionVersion { */ export interface OptionGroupOption { /** - *

                                        The name of the engine that this option can be applied to.

                                        + *

                                        The options that conflict with this option.

                                        */ - EngineName?: string; + OptionsConflictsWith?: string[]; /** - *

                                        The option settings that are available (and the default value) for each option in an option group.

                                        + *

                                        The versions that are available for the option.

                                        */ - OptionGroupOptionSettings?: OptionGroupOptionSetting[]; + OptionGroupOptionVersions?: OptionVersion[]; /** - *

                                        If the option requires a port, specifies the default port for the option.

                                        + *

                                        Specifies whether the option requires a port.

                                        */ - DefaultPort?: number; + PortRequired?: boolean; /** - *

                                        Permanent options can never be removed from an option group. An option group containing a permanent option can't be removed from a DB instance.

                                        + *

                                        The name of the engine that this option can be applied to.

                                        */ - Permanent?: boolean; + EngineName?: string; /** - *

                                        If true, you must enable the Auto Minor Version Upgrade setting for your DB instance - * before you can use this option. - * You can enable Auto Minor Version Upgrade when you first create your DB instance, - * or by modifying your DB instance later. + *

                                        If true, you can change the option to an earlier version of the option. + * This only applies to options that have different versions available. *

                                        */ - RequiresAutoMinorEngineVersionUpgrade?: boolean; + SupportsOptionVersionDowngrade?: boolean; /** *

                                        The options that are prerequisites for this option.

                                        @@ -689,57 +701,59 @@ export interface OptionGroupOption { OptionsDependedOn?: string[]; /** - *

                                        Specifies whether the option requires a port.

                                        + *

                                        If true, you must enable the Auto Minor Version Upgrade setting for your DB instance + * before you can use this option. + * You can enable Auto Minor Version Upgrade when you first create your DB instance, + * or by modifying your DB instance later. + *

                                        */ - PortRequired?: boolean; + RequiresAutoMinorEngineVersionUpgrade?: boolean; /** - *

                                        If true, you can change the option to an earlier version of the option. - * This only applies to options that have different versions available. - *

                                        + *

                                        Permanent options can never be removed from an option group. An option group containing a permanent option can't be removed from a DB instance.

                                        */ - SupportsOptionVersionDowngrade?: boolean; + Permanent?: boolean; /** - *

                                        The name of the option.

                                        + *

                                        If the option requires a port, specifies the default port for the option.

                                        */ - Name?: string; + DefaultPort?: number; /** - *

                                        Persistent options can't be removed from an option group while DB instances are associated with the option group. If you disassociate all DB instances from the option group, your can remove the persistent option from the option group.

                                        + *

                                        The name of the option.

                                        */ - Persistent?: boolean; + Name?: string; /** - *

                                        Indicates the major engine version that the option is available for.

                                        + *

                                        If true, you can only use this option with a DB instance that is in a VPC. + *

                                        */ - MajorEngineVersion?: string; + VpcOnly?: boolean; /** - *

                                        The description of the option.

                                        + *

                                        The minimum required engine version for the option to be applied.

                                        */ - Description?: string; + MinimumRequiredMinorEngineVersion?: string; /** - *

                                        The options that conflict with this option.

                                        + *

                                        Persistent options can't be removed from an option group while DB instances are associated with the option group. If you disassociate all DB instances from the option group, your can remove the persistent option from the option group.

                                        */ - OptionsConflictsWith?: string[]; + Persistent?: boolean; /** - *

                                        The minimum required engine version for the option to be applied.

                                        + *

                                        Indicates the major engine version that the option is available for.

                                        */ - MinimumRequiredMinorEngineVersion?: string; + MajorEngineVersion?: string; /** - *

                                        The versions that are available for the option.

                                        + *

                                        The option settings that are available (and the default value) for each option in an option group.

                                        */ - OptionGroupOptionVersions?: OptionVersion[]; + OptionGroupOptionSettings?: OptionGroupOptionSetting[]; /** - *

                                        If true, you can only use this option with a DB instance that is in a VPC. - *

                                        + *

                                        The description of the option.

                                        */ - VpcOnly?: boolean; + Description?: string; } export namespace OptionGroupOption { @@ -777,21 +791,9 @@ export namespace OptionGroupOptionsMessage { */ export interface DescribeOptionGroupsMessage { /** - *

                                        Filters the list of option groups to only include groups associated with a specific database engine version. If specified, then EngineName must also be specified.

                                        - */ - MajorEngineVersion?: 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 - * you can retrieve the remaining results. - *

                                        - *

                                        Default: 100

                                        - *

                                        Constraints: Minimum 20, maximum 100.

                                        + *

                                        The name of the option group to describe. Can't be supplied together with EngineName or MajorEngineVersion.

                                        */ - MaxRecords?: number; + OptionGroupName?: string; /** *

                                        @@ -804,9 +806,9 @@ export interface DescribeOptionGroupsMessage { Marker?: string; /** - *

                                        The name of the option group to describe. Can't be supplied together with EngineName or MajorEngineVersion.

                                        + *

                                        This parameter isn't currently supported.

                                        */ - OptionGroupName?: string; + Filters?: Filter[]; /** *

                                        Filters the list of option groups to only include groups associated with a specific database engine.

                                        @@ -814,9 +816,21 @@ export interface DescribeOptionGroupsMessage { EngineName?: string; /** - *

                                        This parameter isn't currently supported.

                                        + *

                                        + * 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 + * you can retrieve the remaining results. + *

                                        + *

                                        Default: 100

                                        + *

                                        Constraints: Minimum 20, maximum 100.

                                        */ - Filters?: Filter[]; + MaxRecords?: number; + + /** + *

                                        Filters the list of option groups to only include groups associated with a specific database engine version. If specified, then EngineName must also be specified.

                                        + */ + MajorEngineVersion?: string; } export namespace DescribeOptionGroupsMessage { @@ -855,63 +869,63 @@ export namespace OptionGroups { */ export interface DescribeOrderableDBInstanceOptionsMessage { /** - *

                                        The Availability Zone group associated with a Local Zone. Specify this parameter to retrieve available offerings for the Local Zones in the group.

                                        - *

                                        Omit this parameter to show the available offerings in the specified AWS Region.

                                        + *

                                        + * An optional pagination token provided by a previous + * DescribeOrderableDBInstanceOptions request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords . + *

                                        */ - AvailabilityZoneGroup?: string; + Marker?: 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 - * you can retrieve the remaining results. - *

                                        - *

                                        Default: 100

                                        - *

                                        Constraints: Minimum 20, maximum 100.

                                        + *

                                        The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

                                        */ - MaxRecords?: number; + DBInstanceClass?: string; /** - *

                                        This parameter isn't currently supported.

                                        + *

                                        The name of the engine to retrieve DB instance options for.

                                        */ - Filters?: Filter[]; + Engine: string | undefined; /** - *

                                        The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

                                        + *

                                        The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.

                                        */ - LicenseModel?: string; + EngineVersion?: string; /** - *

                                        The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

                                        + *

                                        A value that indicates whether to show only VPC or non-VPC offerings.

                                        */ - DBInstanceClass?: string; + Vpc?: boolean; /** - *

                                        The name of the engine to retrieve DB instance options for.

                                        + *

                                        The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

                                        */ - Engine: string | undefined; + LicenseModel?: string; /** - *

                                        The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.

                                        + *

                                        This parameter isn't currently supported.

                                        */ - EngineVersion?: string; + Filters?: Filter[]; /** *

                                        - * An optional pagination token provided by a previous - * DescribeOrderableDBInstanceOptions request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords . + * 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 + * you can retrieve the remaining results. *

                                        + *

                                        Default: 100

                                        + *

                                        Constraints: Minimum 20, maximum 100.

                                        */ - Marker?: string; + MaxRecords?: number; /** - *

                                        A value that indicates whether to show only VPC or non-VPC offerings.

                                        + *

                                        The Availability Zone group associated with a Local Zone. Specify this parameter to retrieve available offerings for the Local Zones in the group.

                                        + *

                                        Omit this parameter to show the available offerings in the specified AWS Region.

                                        */ - Vpc?: boolean; + AvailabilityZoneGroup?: string; } export namespace DescribeOrderableDBInstanceOptionsMessage { @@ -929,10 +943,9 @@ export namespace DescribeOrderableDBInstanceOptionsMessage { */ export interface AvailableProcessorFeature { /** - *

                                        The name of the processor feature. Valid names are coreCount - * and threadsPerCore.

                                        + *

                                        The allowed values for the processor feature of the DB instance class.

                                        */ - Name?: string; + AllowedValues?: string; /** *

                                        The default value for the processor feature of the DB instance class.

                                        @@ -940,9 +953,10 @@ export interface AvailableProcessorFeature { DefaultValue?: string; /** - *

                                        The allowed values for the processor feature of the DB instance class.

                                        + *

                                        The name of the processor feature. Valid names are coreCount + * and threadsPerCore.

                                        */ - AllowedValues?: string; + Name?: string; } export namespace AvailableProcessorFeature { @@ -959,149 +973,142 @@ export namespace AvailableProcessorFeature { */ export interface OrderableDBInstanceOption { /** - *

                                        Indicates whether a DB instance is in a VPC.

                                        + *

                                        Indicates whether a DB instance supports encrypted storage.

                                        */ - Vpc?: boolean; + SupportsStorageEncryption?: boolean; /** - *

                                        Indicates whether a DB instance is Multi-AZ capable.

                                        + *

                                        Whether a DB instance supports Kerberos Authentication.

                                        */ - MultiAZCapable?: boolean; + SupportsKerberosAuthentication?: boolean; /** - *

                                        Maximum storage size for a DB instance.

                                        + *

                                        Maximum provisioned IOPS per GiB for a DB instance.

                                        */ - MaxStorageSize?: number; + MaxIopsPerGib?: number; /** - *

                                        A list of the supported DB engine modes.

                                        - * - *

                                        - * global engine mode only applies for global database clusters created with Aurora MySQL version - * 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned - * engine mode. - *

                                        - *
                                        + *

                                        Indicates whether a DB instance supports IAM database authentication.

                                        */ - SupportedEngineModes?: string[]; + SupportsIAMDatabaseAuthentication?: boolean; /** - *

                                        Maximum provisioned IOPS per GiB for a DB instance.

                                        + *

                                        Indicates whether a DB instance is Multi-AZ capable.

                                        */ - MaxIopsPerGib?: number; + MultiAZCapable?: boolean; /** - *

                                        Indicates whether a DB instance can have a read replica.

                                        + *

                                        Indicates the storage type for a DB instance.

                                        */ - ReadReplicaCapable?: boolean; + StorageType?: string; /** - *

                                        Indicates whether a DB instance supports IAM database authentication.

                                        + *

                                        Indicates whether a DB instance is in a VPC.

                                        */ - SupportsIAMDatabaseAuthentication?: boolean; + Vpc?: boolean; /** - *

                                        Whether a DB instance supports Kerberos Authentication.

                                        + *

                                        Minimum total provisioned IOPS for a DB instance.

                                        */ - SupportsKerberosAuthentication?: boolean; + MinIopsPerDbInstance?: number; /** - *

                                        Whether Amazon RDS can automatically scale storage for DB instances that use the specified DB instance class.

                                        + *

                                        Maximum storage size for a DB instance.

                                        */ - SupportsStorageAutoscaling?: boolean; + MaxStorageSize?: number; /** - *

                                        Indicates whether a DB instance supports encrypted storage.

                                        + *

                                        A value that indicates whether you can use Aurora global databases with a specific combination of other DB engine attributes.

                                        */ - SupportsStorageEncryption?: boolean; + SupportsGlobalDatabases?: boolean; /** - *

                                        Whether a DB instance supports RDS on Outposts.

                                        - *

                                        For more information about RDS on Outposts, see Amazon RDS on AWS Outposts - * in the Amazon RDS User Guide. - *

                                        + *

                                        A list of Availability Zones for a DB instance.

                                        */ - OutpostCapable?: boolean; + AvailabilityZones?: AvailabilityZone[]; /** - *

                                        Minimum provisioned IOPS per GiB for a DB instance.

                                        + *

                                        The license model for a DB instance.

                                        */ - MinIopsPerGib?: number; + LicenseModel?: string; /** - *

                                        The engine type of a DB instance.

                                        + *

                                        A list of the available processor features for the DB instance class of a DB instance.

                                        */ - Engine?: string; + AvailableProcessorFeatures?: AvailableProcessorFeature[]; /** - *

                                        The DB instance class for a DB instance.

                                        + *

                                        A list of the supported DB engine modes.

                                        */ - DBInstanceClass?: string; + SupportedEngineModes?: string[]; /** - *

                                        Minimum storage size for a DB instance.

                                        + *

                                        True if a DB instance supports Performance Insights, otherwise false.

                                        */ - MinStorageSize?: number; + SupportsPerformanceInsights?: boolean; /** - *

                                        Minimum total provisioned IOPS for a DB instance.

                                        + *

                                        Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.

                                        */ - MinIopsPerDbInstance?: number; + SupportsEnhancedMonitoring?: boolean; /** - *

                                        Indicates the storage type for a DB instance.

                                        + *

                                        The Availability Zone group for a DB instance.

                                        */ - StorageType?: string; + AvailabilityZoneGroup?: string; /** - *

                                        Maximum total provisioned IOPS for a DB instance.

                                        + *

                                        Indicates whether a DB instance supports provisioned IOPS.

                                        */ - MaxIopsPerDbInstance?: number; + SupportsIops?: boolean; /** - *

                                        The engine version of a DB instance.

                                        + *

                                        Minimum storage size for a DB instance.

                                        */ - EngineVersion?: string; + MinStorageSize?: number; /** - *

                                        A list of Availability Zones for a DB instance.

                                        + *

                                        The engine version of a DB instance.

                                        */ - AvailabilityZones?: AvailabilityZone[]; + EngineVersion?: string; /** - *

                                        Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.

                                        + *

                                        Whether a DB instance supports RDS on Outposts.

                                        + *

                                        For more information about RDS on Outposts, see Amazon RDS on AWS Outposts + * in the Amazon RDS User Guide. + *

                                        */ - SupportsEnhancedMonitoring?: boolean; + OutpostCapable?: boolean; /** - *

                                        A list of the available processor features for the DB instance class of a DB instance.

                                        + *

                                        The DB instance class for a DB instance.

                                        */ - AvailableProcessorFeatures?: AvailableProcessorFeature[]; + DBInstanceClass?: string; /** - *

                                        Indicates whether a DB instance supports provisioned IOPS.

                                        + *

                                        Minimum provisioned IOPS per GiB for a DB instance.

                                        */ - SupportsIops?: boolean; + MinIopsPerGib?: number; /** - *

                                        The license model for a DB instance.

                                        + *

                                        The engine type of a DB instance.

                                        */ - LicenseModel?: string; + Engine?: string; /** - *

                                        True if a DB instance supports Performance Insights, otherwise false.

                                        + *

                                        Whether Amazon RDS can automatically scale storage for DB instances that use the specified DB instance class.

                                        */ - SupportsPerformanceInsights?: boolean; + SupportsStorageAutoscaling?: boolean; /** - *

                                        The Availability Zone group for a DB instance.

                                        + *

                                        Indicates whether a DB instance can have a read replica.

                                        */ - AvailabilityZoneGroup?: string; + ReadReplicaCapable?: boolean; /** - *

                                        A value that indicates whether you can use Aurora global databases with a specific combination of other DB engine attributes.

                                        + *

                                        Maximum total provisioned IOPS for a DB instance.

                                        */ - SupportsGlobalDatabases?: boolean; + MaxIopsPerDbInstance?: number; } export namespace OrderableDBInstanceOption { @@ -1116,11 +1123,6 @@ export namespace OrderableDBInstanceOption { *

                                        */ export interface OrderableDBInstanceOptionsMessage { - /** - *

                                        An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

                                        - */ - OrderableDBInstanceOptions?: OrderableDBInstanceOption[]; - /** *

                                        * An optional pagination token provided by a previous @@ -1131,6 +1133,11 @@ export interface OrderableDBInstanceOptionsMessage { *

                                        */ Marker?: string; + + /** + *

                                        An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

                                        + */ + OrderableDBInstanceOptions?: OrderableDBInstanceOption[]; } export namespace OrderableDBInstanceOptionsMessage { @@ -1143,22 +1150,6 @@ export namespace OrderableDBInstanceOptionsMessage { *

                                        */ export interface DescribePendingMaintenanceActionsMessage { - /** - *

                                        The ARN of a resource to return pending maintenance actions for.

                                        - */ - ResourceIdentifier?: string; - - /** - *

                                        - * An optional pagination token provided by a previous - * DescribePendingMaintenanceActions request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to a number of records specified by MaxRecords. - *

                                        - */ - Marker?: string; - /** *

                                        * The maximum number of records to include in the response. @@ -1190,6 +1181,22 @@ export interface DescribePendingMaintenanceActionsMessage { *

                                      */ Filters?: Filter[]; + + /** + *

                                      The ARN of a resource to return pending maintenance actions for.

                                      + */ + ResourceIdentifier?: string; + + /** + *

                                      + * An optional pagination token provided by a previous + * DescribePendingMaintenanceActions request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to a number of records specified by MaxRecords. + *

                                      + */ + Marker?: string; } export namespace DescribePendingMaintenanceActionsMessage { @@ -1202,6 +1209,11 @@ export namespace DescribePendingMaintenanceActionsMessage { *

                                      Data returned from the DescribePendingMaintenanceActions action.

                                      */ export interface PendingMaintenanceActionsMessage { + /** + *

                                      A list of the pending maintenance actions for the resource.

                                      + */ + PendingMaintenanceActions?: ResourcePendingMaintenanceActions[]; + /** *

                                      * An optional pagination token provided by a previous @@ -1212,11 +1224,6 @@ export interface PendingMaintenanceActionsMessage { *

                                      */ Marker?: string; - - /** - *

                                      A list of the pending maintenance actions for the resource.

                                      - */ - PendingMaintenanceActions?: ResourcePendingMaintenanceActions[]; } export namespace PendingMaintenanceActionsMessage { @@ -1230,40 +1237,55 @@ export namespace PendingMaintenanceActionsMessage { */ export interface DescribeReservedDBInstancesMessage { /** - *

                                      The product description filter value. Specify this parameter to show only those reservations matching the specified product description.

                                      + *

                                      The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.

                                      + *

                                      Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront" + *

                                      */ - ProductDescription?: string; + OfferingType?: string; /** - *

                                      The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.

                                      + *

                                      This parameter isn't currently supported.

                                      */ - ReservedDBInstancesOfferingId?: string; + Filters?: Filter[]; /** - *

                                      The duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration.

                                      - *

                                      Valid Values: 1 | 3 | 31536000 | 94608000 - *

                                      + *

                                      + * The maximum number of records to include in the response. + * If more than the MaxRecords value is available, a pagination token called a marker is + * included in the response so you can retrieve the remaining results. + *

                                      + *

                                      Default: 100

                                      + *

                                      Constraints: Minimum 20, maximum 100.

                                      */ - Duration?: string; + MaxRecords?: number; /** - *

                                      The DB instance class filter value. Specify this parameter to show only those reservations matching the specified DB instances class.

                                      + *

                                      The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.

                                      */ - DBInstanceClass?: string; + ReservedDBInstancesOfferingId?: string; /** - *

                                      The lease identifier filter value. Specify this parameter to show only the reservation that matches the specified lease ID.

                                      - * - *

                                      AWS Support might request the lease ID for an issue related to a reserved DB instance.

                                      - *
                                      + *

                                      A value that indicates whether to show only those reservations that support Multi-AZ.

                                      */ - LeaseId?: string; + MultiAZ?: boolean; /** *

                                      The reserved DB instance identifier filter value. Specify this parameter to show only the reservation that matches the specified reservation ID.

                                      */ ReservedDBInstanceId?: string; + /** + *

                                      The duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration.

                                      + *

                                      Valid Values: 1 | 3 | 31536000 | 94608000 + *

                                      + */ + Duration?: string; + + /** + *

                                      The product description filter value. Specify this parameter to show only those reservations matching the specified product description.

                                      + */ + ProductDescription?: string; + /** *

                                      * An optional pagination token provided by a previous request. @@ -1275,32 +1297,17 @@ export interface DescribeReservedDBInstancesMessage { Marker?: string; /** - *

                                      This parameter isn't currently supported.

                                      - */ - Filters?: Filter[]; - - /** - *

                                      The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.

                                      - *

                                      Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront" - *

                                      - */ - OfferingType?: string; - - /** - *

                                      A value that indicates whether to show only those reservations that support Multi-AZ.

                                      + *

                                      The DB instance class filter value. Specify this parameter to show only those reservations matching the specified DB instances class.

                                      */ - MultiAZ?: boolean; + DBInstanceClass?: string; /** - *

                                      - * The maximum number of records to include in the response. - * If more than the MaxRecords value is available, a pagination token called a marker is - * included in the response so you can retrieve the remaining results. - *

                                      - *

                                      Default: 100

                                      - *

                                      Constraints: Minimum 20, maximum 100.

                                      + *

                                      The lease identifier filter value. Specify this parameter to show only the reservation that matches the specified lease ID.

                                      + * + *

                                      AWS Support might request the lease ID for an issue related to a reserved DB instance.

                                      + *
                                      */ - MaxRecords?: number; + LeaseId?: string; } export namespace DescribeReservedDBInstancesMessage { @@ -1342,22 +1349,34 @@ export namespace RecurringCharge { */ export interface ReservedDBInstance { /** - *

                                      The unique identifier for the reservation.

                                      + *

                                      The Amazon Resource Name (ARN) for the reserved DB instance.

                                      */ - ReservedDBInstanceId?: string; + ReservedDBInstanceArn?: string; /** - *

                                      The duration of the reservation in seconds.

                                      + *

                                      Indicates if the reservation applies to Multi-AZ deployments.

                                      */ - Duration?: number; + MultiAZ?: boolean; /** - *

                                      The unique identifier for the lease associated with the reserved DB instance.

                                      - * - *

                                      AWS Support might request the lease ID for an issue related to a reserved DB instance.

                                      - *
                                      + *

                                      The number of reserved DB instances.

                                      */ - LeaseId?: string; + DBInstanceCount?: number; + + /** + *

                                      The offering identifier.

                                      + */ + ReservedDBInstancesOfferingId?: string; + + /** + *

                                      The fixed price charged for this reserved DB instance.

                                      + */ + FixedPrice?: number; + + /** + *

                                      The DB instance class for the reserved DB instance.

                                      + */ + DBInstanceClass?: string; /** *

                                      The description of the reserved DB instance.

                                      @@ -1374,55 +1393,43 @@ export interface ReservedDBInstance { */ CurrencyCode?: string; - /** - *

                                      The hourly price charged for this reserved DB instance.

                                      - */ - UsagePrice?: number; - /** *

                                      The recurring price charged to run this reserved DB instance.

                                      */ RecurringCharges?: RecurringCharge[]; - /** - *

                                      The offering identifier.

                                      - */ - ReservedDBInstancesOfferingId?: string; - - /** - *

                                      The time the reservation started.

                                      - */ - StartTime?: Date; - /** *

                                      The state of the reserved DB instance.

                                      */ State?: string; /** - *

                                      Indicates if the reservation applies to Multi-AZ deployments.

                                      + *

                                      The time the reservation started.

                                      */ - MultiAZ?: boolean; + StartTime?: Date; /** - *

                                      The Amazon Resource Name (ARN) for the reserved DB instance.

                                      + *

                                      The duration of the reservation in seconds.

                                      */ - ReservedDBInstanceArn?: string; + Duration?: number; /** - *

                                      The DB instance class for the reserved DB instance.

                                      + *

                                      The hourly price charged for this reserved DB instance.

                                      */ - DBInstanceClass?: string; + UsagePrice?: number; /** - *

                                      The fixed price charged for this reserved DB instance.

                                      + *

                                      The unique identifier for the reservation.

                                      */ - FixedPrice?: number; + ReservedDBInstanceId?: string; /** - *

                                      The number of reserved DB instances.

                                      + *

                                      The unique identifier for the lease associated with the reserved DB instance.

                                      + * + *

                                      AWS Support might request the lease ID for an issue related to a reserved DB instance.

                                      + *
                                      */ - DBInstanceCount?: number; + LeaseId?: string; } export namespace ReservedDBInstance { @@ -1479,21 +1486,11 @@ export namespace ReservedDBInstanceNotFoundFault { */ export interface DescribeReservedDBInstancesOfferingsMessage { /** - *

                                      The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

                                      - */ - DBInstanceClass?: string; - - /** - *

                                      The offering identifier filter value. Specify this parameter to show only the available offering that matches the specified reservation identifier.

                                      - *

                                      Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 + *

                                      The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.

                                      + *

                                      Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront" *

                                      */ - ReservedDBInstancesOfferingId?: string; - - /** - *

                                      A value that indicates whether to show only those reservations that support Multi-AZ.

                                      - */ - MultiAZ?: boolean; + OfferingType?: string; /** *

                                      This parameter isn't currently supported.

                                      @@ -1509,11 +1506,16 @@ export interface DescribeReservedDBInstancesOfferingsMessage { ProductDescription?: string; /** - *

                                      Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration.

                                      - *

                                      Valid Values: 1 | 3 | 31536000 | 94608000 + *

                                      The offering identifier filter value. Specify this parameter to show only the available offering that matches the specified reservation identifier.

                                      + *

                                      Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 *

                                      */ - Duration?: string; + ReservedDBInstancesOfferingId?: string; + + /** + *

                                      The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

                                      + */ + DBInstanceClass?: string; /** *

                                      @@ -1526,11 +1528,16 @@ export interface DescribeReservedDBInstancesOfferingsMessage { Marker?: string; /** - *

                                      The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.

                                      - *

                                      Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront" + *

                                      Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration.

                                      + *

                                      Valid Values: 1 | 3 | 31536000 | 94608000 *

                                      */ - OfferingType?: string; + Duration?: string; + + /** + *

                                      A value that indicates whether to show only those reservations that support Multi-AZ.

                                      + */ + MultiAZ?: boolean; /** *

                                      @@ -1557,54 +1564,54 @@ export namespace DescribeReservedDBInstancesOfferingsMessage { */ export interface ReservedDBInstancesOffering { /** - *

                                      Indicates if the offering applies to Multi-AZ deployments.

                                      + *

                                      The fixed price charged for this offering.

                                      */ - MultiAZ?: boolean; + FixedPrice?: number; /** - *

                                      The offering identifier.

                                      + *

                                      The currency code for the reserved DB instance offering.

                                      */ - ReservedDBInstancesOfferingId?: string; + CurrencyCode?: string; /** - *

                                      The DB instance class for the reserved DB instance.

                                      + *

                                      The recurring price charged to run this reserved DB instance.

                                      */ - DBInstanceClass?: string; + RecurringCharges?: RecurringCharge[]; /** - *

                                      The offering type.

                                      + *

                                      The DB instance class for the reserved DB instance.

                                      */ - OfferingType?: string; + DBInstanceClass?: string; /** - *

                                      The database engine used by the offering.

                                      + *

                                      The duration of the offering in seconds.

                                      */ - ProductDescription?: string; + Duration?: number; /** - *

                                      The duration of the offering in seconds.

                                      + *

                                      The offering identifier.

                                      */ - Duration?: number; + ReservedDBInstancesOfferingId?: string; /** - *

                                      The hourly price charged for this offering.

                                      + *

                                      The database engine used by the offering.

                                      */ - UsagePrice?: number; + ProductDescription?: string; /** - *

                                      The fixed price charged for this offering.

                                      + *

                                      The offering type.

                                      */ - FixedPrice?: number; + OfferingType?: string; /** - *

                                      The currency code for the reserved DB instance offering.

                                      + *

                                      Indicates if the offering applies to Multi-AZ deployments.

                                      */ - CurrencyCode?: string; + MultiAZ?: boolean; /** - *

                                      The recurring price charged to run this reserved DB instance.

                                      + *

                                      The hourly price charged for this offering.

                                      */ - RecurringCharges?: RecurringCharge[]; + UsagePrice?: number; } export namespace ReservedDBInstancesOffering { @@ -1619,11 +1626,6 @@ export namespace ReservedDBInstancesOffering { *

                                      */ export interface ReservedDBInstancesOfferingMessage { - /** - *

                                      A list of reserved DB instance offerings.

                                      - */ - ReservedDBInstancesOfferings?: ReservedDBInstancesOffering[]; - /** *

                                      * An optional pagination token provided by a previous request. @@ -1633,6 +1635,11 @@ export interface ReservedDBInstancesOfferingMessage { *

                                      */ Marker?: string; + + /** + *

                                      A list of reserved DB instance offerings.

                                      + */ + ReservedDBInstancesOfferings?: ReservedDBInstancesOffering[]; } export namespace ReservedDBInstancesOfferingMessage { @@ -1661,9 +1668,13 @@ export namespace ReservedDBInstancesOfferingNotFoundFault { */ export interface DescribeSourceRegionsMessage { /** - *

                                      This parameter isn't currently supported.

                                      + *

                                      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 you can retrieve the remaining results.

                                      + *

                                      Default: 100

                                      + *

                                      Constraints: Minimum 20, maximum 100.

                                      */ - Filters?: Filter[]; + MaxRecords?: number; /** *

                                      An optional pagination token provided by a previous DescribeSourceRegions request. If this parameter is specified, the response @@ -1684,13 +1695,9 @@ export interface DescribeSourceRegionsMessage { RegionName?: 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 you can retrieve the remaining results.

                                      - *

                                      Default: 100

                                      - *

                                      Constraints: Minimum 20, maximum 100.

                                      + *

                                      This parameter isn't currently supported.

                                      */ - MaxRecords?: number; + Filters?: Filter[]; } export namespace DescribeSourceRegionsMessage { @@ -1703,11 +1710,6 @@ export namespace DescribeSourceRegionsMessage { *

                                      Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions action.

                                      */ export interface SourceRegion { - /** - *

                                      The endpoint for the source AWS Region endpoint.

                                      - */ - Endpoint?: string; - /** *

                                      The status of the source AWS Region.

                                      */ @@ -1717,6 +1719,11 @@ export interface SourceRegion { *

                                      The name of the source AWS Region.

                                      */ RegionName?: string; + + /** + *

                                      The endpoint for the source AWS Region endpoint.

                                      + */ + Endpoint?: string; } export namespace SourceRegion { @@ -1729,12 +1736,6 @@ export namespace SourceRegion { *

                                      Contains the result of a successful invocation of the DescribeSourceRegions action.

                                      */ export interface SourceRegionMessage { - /** - *

                                      A list of SourceRegion instances that contains each source AWS Region that the - * current AWS Region can get a read replica or a DB snapshot from.

                                      - */ - SourceRegions?: SourceRegion[]; - /** *

                                      * An optional pagination token provided by a previous request. @@ -1744,6 +1745,12 @@ export interface SourceRegionMessage { *

                                      */ Marker?: string; + + /** + *

                                      A list of SourceRegion instances that contains each source AWS Region that the + * current AWS Region can get a read replica or a DB snapshot from.

                                      + */ + SourceRegions?: SourceRegion[]; } export namespace SourceRegionMessage { @@ -1794,6 +1801,16 @@ export namespace DoubleRange { *

                                      A range of integer values.

                                      */ export interface Range { + /** + *

                                      The maximum value in the range.

                                      + */ + To?: number; + + /** + *

                                      The minimum value in the range.

                                      + */ + From?: number; + /** *

                                      The step value for the range. * For example, if you have a range of 5,000 to 10,000, @@ -1805,16 +1822,6 @@ export interface Range { *

                                      */ Step?: number; - - /** - *

                                      The maximum value in the range.

                                      - */ - To?: number; - - /** - *

                                      The minimum value in the range.

                                      - */ - From?: number; } export namespace Range { @@ -1830,6 +1837,19 @@ export namespace Range { *

                                      */ export interface ValidStorageOptions { + /** + *

                                      Whether or not Amazon RDS can automatically scale storage for DB instances that use the new instance class.

                                      + */ + SupportsStorageAutoscaling?: boolean; + + /** + *

                                      The valid range of Provisioned IOPS to gibibytes of storage multiplier. + * For example, 3-10, + * which means that provisioned IOPS can be between 3 and 10 times storage. + *

                                      + */ + IopsToStorageRatio?: DoubleRange[]; + /** *

                                      The valid range of storage in gibibytes. * For example, 100 to 16384. @@ -1850,19 +1870,6 @@ export interface ValidStorageOptions { *

                                      */ StorageType?: string; - - /** - *

                                      Whether or not Amazon RDS can automatically scale storage for DB instances that use the new instance class.

                                      - */ - SupportsStorageAutoscaling?: boolean; - - /** - *

                                      The valid range of Provisioned IOPS to gibibytes of storage multiplier. - * For example, 3-10, - * which means that provisioned IOPS can be between 3 and 10 times storage. - *

                                      - */ - IopsToStorageRatio?: DoubleRange[]; } export namespace ValidStorageOptions { @@ -1881,16 +1888,16 @@ export namespace ValidStorageOptions { */ export interface ValidDBInstanceModificationsMessage { /** - *

                                      Valid processor features for your DB instance. + *

                                      Valid storage options for your DB instance. *

                                      */ - ValidProcessorFeatures?: AvailableProcessorFeature[]; + Storage?: ValidStorageOptions[]; /** - *

                                      Valid storage options for your DB instance. + *

                                      Valid processor features for your DB instance. *

                                      */ - Storage?: ValidStorageOptions[]; + ValidProcessorFeatures?: AvailableProcessorFeature[]; } export namespace ValidDBInstanceModificationsMessage { @@ -1938,14 +1945,14 @@ export namespace DBLogFileNotFoundFault { */ export interface DownloadDBLogFilePortionDetails { /** - *

                                      A pagination token that can be used in a later DownloadDBLogFilePortion request.

                                      + *

                                      Entries from the specified log file.

                                      */ - Marker?: string; + LogFileData?: string; /** - *

                                      Entries from the specified log file.

                                      + *

                                      A pagination token that can be used in a later DownloadDBLogFilePortion request.

                                      */ - LogFileData?: string; + Marker?: string; /** *

                                      Boolean value that if true, indicates there is more data to be downloaded.

                                      @@ -1963,16 +1970,6 @@ export namespace DownloadDBLogFilePortionDetails { *

                                      */ export interface DownloadDBLogFilePortionMessage { - /** - *

                                      The pagination token provided in the previous request or "0". If the Marker parameter is specified the response includes only records beyond the marker until the end of the file or up to NumberOfLines.

                                      - */ - Marker?: string; - - /** - *

                                      The name of the log file to be downloaded.

                                      - */ - LogFileName: string | undefined; - /** *

                                      The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file is truncated at 1 MB in size.

                                      *

                                      If the NumberOfLines parameter is specified, then the block of lines returned can be from the beginning @@ -2002,6 +1999,11 @@ export interface DownloadDBLogFilePortionMessage { */ NumberOfLines?: number; + /** + *

                                      The name of the log file to be downloaded.

                                      + */ + LogFileName: string | undefined; + /** *

                                      The customer-assigned name of the DB instance that contains the log files you want to list.

                                      *

                                      Constraints:

                                      @@ -2012,6 +2014,11 @@ export interface DownloadDBLogFilePortionMessage { *
                                    */ DBInstanceIdentifier: string | undefined; + + /** + *

                                    The pagination token provided in the previous request or "0". If the Marker parameter is specified the response includes only records beyond the marker until the end of the file or up to NumberOfLines.

                                    + */ + Marker?: string; } export namespace DownloadDBLogFilePortionMessage { @@ -2068,21 +2075,23 @@ export namespace FailoverDBClusterResult { export interface ImportInstallationMediaMessage { /** - *

                                    The version number of the database engine to use.

                                    - *

                                    For a list of valid engine versions, call DescribeDBEngineVersions.

                                    - *

                                    The following are the database engines and links to information about the major and minor - * versions. The list only includes DB engines that require an on-premises - * customer provided license.

                                    - * - *

                                    - * Microsoft SQL Server - *

                                    - * - *

                                    See Version and Feature Support on Amazon RDS in the - * Amazon RDS User Guide. + *

                                    The identifier of the custom Availability Zone (AZ) to import the installation media to.

                                    + */ + CustomAvailabilityZoneId: string | undefined; + + /** + *

                                    The path to the installation medium for the operating system associated with the specified DB engine.

                                    + *

                                    Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso *

                                    */ - EngineVersion: string | undefined; + OSInstallationMediaPath: string | undefined; + + /** + *

                                    The path to the installation medium for the specified DB engine.

                                    + *

                                    Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso + *

                                    + */ + EngineInstallationMediaPath: string | undefined; /** *

                                    The name of the database engine to be used for this instance. @@ -2120,23 +2129,21 @@ export interface ImportInstallationMediaMessage { Engine: string | undefined; /** - *

                                    The path to the installation medium for the operating system associated with the specified DB engine.

                                    - *

                                    Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso + *

                                    The version number of the database engine to use.

                                    + *

                                    For a list of valid engine versions, call DescribeDBEngineVersions.

                                    + *

                                    The following are the database engines and links to information about the major and minor + * versions. The list only includes DB engines that require an on-premises + * customer provided license.

                                    + * + *

                                    + * Microsoft SQL Server *

                                    - */ - OSInstallationMediaPath: string | undefined; - - /** - *

                                    The identifier of the custom Availability Zone (AZ) to import the installation media to.

                                    - */ - CustomAvailabilityZoneId: string | undefined; - - /** - *

                                    The path to the installation medium for the specified DB engine.

                                    - *

                                    Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso + * + *

                                    See + * Microsoft SQL Server Versions on Amazon RDS in the Amazon RDS User Guide. *

                                    */ - EngineInstallationMediaPath: string | undefined; + EngineVersion: string | undefined; } export namespace ImportInstallationMediaMessage { @@ -2201,19 +2208,19 @@ export namespace TagListMessage { } export interface ModifyCertificatesMessage { - /** - *

                                    A value that indicates whether to remove the override for the default certificate. - * If the override is removed, the default certificate is the system - * default.

                                    - */ - RemoveCustomerOverride?: boolean; - /** *

                                    The new default certificate identifier to override the current one with.

                                    *

                                    To determine the valid values, use the describe-certificates AWS CLI * command or the DescribeCertificates API operation.

                                    */ CertificateIdentifier?: string; + + /** + *

                                    A value that indicates whether to remove the override for the default certificate. + * If the override is removed, the default certificate is the system + * default.

                                    + */ + RemoveCustomerOverride?: boolean; } export namespace ModifyCertificatesMessage { @@ -2236,6 +2243,16 @@ export namespace ModifyCertificatesResult { } export interface DBClusterCapacityInfo { + /** + *

                                    The number of seconds before a call to ModifyCurrentDBClusterCapacity times out.

                                    + */ + SecondsBeforeTimeout?: number; + + /** + *

                                    The current capacity of the DB cluster.

                                    + */ + CurrentCapacity?: number; + /** *

                                    The timeout action of a call to ModifyCurrentDBClusterCapacity, either * ForceApplyCapacityChange or RollbackCapacityChange.

                                    @@ -2248,20 +2265,10 @@ export interface DBClusterCapacityInfo { */ DBClusterIdentifier?: string; - /** - *

                                    The number of seconds before a call to ModifyCurrentDBClusterCapacity times out.

                                    - */ - SecondsBeforeTimeout?: number; - /** *

                                    A value that specifies the capacity that the DB cluster scales to next.

                                    */ PendingCapacity?: number; - - /** - *

                                    The current capacity of the DB cluster.

                                    - */ - CurrentCapacity?: number; } export namespace DBClusterCapacityInfo { @@ -2290,16 +2297,24 @@ export namespace InvalidDBClusterCapacityFault { export interface ModifyCurrentDBClusterCapacityMessage { /** - *

                                    The amount of time, in seconds, that Aurora Serverless tries to find a scaling point - * to perform seamless scaling before enforcing the timeout action. The default is - * 300.

                                    + *

                                    The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.

                                    + *

                                    Constraints:

                                    *
                                      *
                                    • - *

                                      Value must be from 10 through 600.

                                      + *

                                      Must match the identifier of an existing DB cluster.

                                      *
                                    • *
                                    */ - SecondsBeforeTimeout?: number; + DBClusterIdentifier: string | undefined; + + /** + *

                                    The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.

                                    + *

                                    + * ForceApplyCapacityChange, the default, sets the capacity to the specified value as soon as possible.

                                    + *

                                    + * RollbackCapacityChange ignores the capacity change if a scaling point isn't found in the timeout period.

                                    + */ + TimeoutAction?: string; /** *

                                    The DB cluster capacity.

                                    @@ -2317,24 +2332,16 @@ export interface ModifyCurrentDBClusterCapacityMessage { Capacity?: number; /** - *

                                    The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.

                                    - *

                                    Constraints:

                                    + *

                                    The amount of time, in seconds, that Aurora Serverless tries to find a scaling point + * to perform seamless scaling before enforcing the timeout action. The default is + * 300.

                                    *
                                      *
                                    • - *

                                      Must match the identifier of an existing DB cluster.

                                      + *

                                      Value must be from 10 through 600.

                                      *
                                    • *
                                    */ - DBClusterIdentifier: string | undefined; - - /** - *

                                    The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.

                                    - *

                                    - * ForceApplyCapacityChange, the default, sets the capacity to the specified value as soon as possible.

                                    - *

                                    - * RollbackCapacityChange ignores the capacity change if a scaling point isn't found in the timeout period.

                                    - */ - TimeoutAction?: string; + SecondsBeforeTimeout?: number; } export namespace ModifyCurrentDBClusterCapacityMessage { @@ -2348,19 +2355,20 @@ export namespace ModifyCurrentDBClusterCapacityMessage { * Logs for a specific DB instance or DB cluster.

                                    *

                                    The EnableLogTypes and DisableLogTypes arrays determine which logs will be exported * (or not exported) to CloudWatch Logs. The values within these arrays depend on the DB - * engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon - * RDS User Guide.

                                    + * engine being used.

                                    + *

                                    For more information about exporting CloudWatch Logs for Amazon RDS DB instances, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                    + *

                                    For more information about exporting CloudWatch Logs for Amazon Aurora DB clusters, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

                                    */ export interface CloudwatchLogsExportConfiguration { /** - *

                                    The list of log types to enable.

                                    + *

                                    The list of log types to disable.

                                    */ - EnableLogTypes?: string[]; + DisableLogTypes?: string[]; /** - *

                                    The list of log types to disable.

                                    + *

                                    The list of log types to enable.

                                    */ - DisableLogTypes?: string[]; + EnableLogTypes?: string[]; } export namespace CloudwatchLogsExportConfiguration { @@ -2373,6 +2381,58 @@ export namespace CloudwatchLogsExportConfiguration { *

                                    */ export interface ModifyDBClusterMessage { + /** + *

                                    A value that indicates whether major version upgrades are allowed.

                                    + *

                                    Constraints: You must allow major version upgrades when specifying a value for the + * EngineVersion parameter that is a different major version than the DB + * cluster's current version.

                                    + */ + AllowMajorVersionUpgrade?: boolean; + + /** + *

                                    A list of VPC security groups that the DB cluster will belong to.

                                    + */ + VpcSecurityGroupIds?: string[]; + + /** + *

                                    The target backtrack window, in seconds. To disable backtracking, set this value to + * 0.

                                    + * + *

                                    Currently, Backtrack is only supported for Aurora MySQL DB clusters.

                                    + *
                                    + *

                                    Default: 0

                                    + *

                                    Constraints:

                                    + *
                                      + *
                                    • + *

                                      If specified, this value must be set to a number from 0 to 259,200 (72 hours).

                                      + *
                                    • + *
                                    + */ + BacktrackWindow?: number; + + /** + *

                                    The number of days for which automated backups are retained. You must specify a minimum value of 1.

                                    + *

                                    Default: 1

                                    + *

                                    Constraints:

                                    + *
                                      + *
                                    • + *

                                      Must be a value from 1 to 35

                                      + *
                                    • + *
                                    + */ + BackupRetentionPeriod?: number; + + /** + *

                                    The name of the DB cluster parameter group to use for the DB cluster.

                                    + */ + DBClusterParameterGroupName?: string; + + /** + *

                                    A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. + * The default is not to copy them.

                                    + */ + CopyTagsToSnapshot?: boolean; + /** *

                                    The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string.

                                    *

                                    Constraints:

                                    @@ -2392,22 +2452,6 @@ export interface ModifyDBClusterMessage { */ NewDBClusterIdentifier?: string; - /** - *

                                    A value that indicates whether the modifications in this request and - * any pending modifications are asynchronously applied - * as soon as possible, regardless of the - * PreferredMaintenanceWindow setting for the DB cluster. - * If this parameter is disabled, changes to the - * DB cluster are applied during the next maintenance window.

                                    - *

                                    The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication, - * MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately - * parameter is disabled, then changes to the EnableIAMDatabaseAuthentication, MasterUserPassword, - * and NewDBClusterIdentifier values are applied during the next maintenance window. All other changes are - * applied immediately, regardless of the value of the ApplyImmediately parameter.

                                    - *

                                    By default, this parameter is disabled.

                                    - */ - ApplyImmediately?: boolean; - /** *

                                    The name of the DB parameter group to apply to all instances of the DB cluster.

                                    * @@ -2429,6 +2473,25 @@ export interface ModifyDBClusterMessage { */ DBInstanceParameterGroupName?: string; + /** + *

                                    A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. By default, the HTTP endpoint + * is disabled.

                                    + *

                                    When enabled, the HTTP endpoint provides a connectionless web service API for running + * SQL queries on the Aurora Serverless DB cluster. You can also query your database + * from inside the RDS console with the query editor.

                                    + *

                                    For more information, see Using the Data API for Aurora Serverless in the + * Amazon Aurora User Guide.

                                    + */ + EnableHttpEndpoint?: boolean; + + /** + *

                                    The port number on which the DB cluster accepts connections.

                                    + *

                                    Constraints: Value must be 1150-65535 + *

                                    + *

                                    Default: The same port as the original DB cluster.

                                    + */ + Port?: number; + /** *

                                    The version number of the database engine to which you want to upgrade. * Changing this parameter results in an outage. The change is applied during @@ -2449,66 +2512,23 @@ export interface ModifyDBClusterMessage { EngineVersion?: string; /** - *

                                    The daily time range during which automated backups are created - * if automated backups are enabled, - * using the BackupRetentionPeriod parameter. - *

                                    - *

                                    The default is a 30-minute window selected at random from an - * 8-hour block of time for each AWS Region. - * To see the time blocks available, see - * - * Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide. + *

                                    A value that indicates that the DB cluster should be associated with the specified option group. + * Changing this parameter doesn't result in an outage except in the following case, and the change + * is applied during the next maintenance window + * unless the ApplyImmediately is enabled for this request. If the parameter change results in an option group that + * enables OEM, this change can cause a brief (sub-second) period during which new connections + * are rejected but existing connections are not interrupted. *

                                    - *

                                    Constraints:

                                    - *
                                      - *
                                    • - *

                                      Must be in the format hh24:mi-hh24:mi.

                                      - *
                                    • - *
                                    • - *

                                      Must be in Universal Coordinated Time (UTC).

                                      - *
                                    • - *
                                    • - *

                                      Must not conflict with the preferred maintenance window.

                                      - *
                                    • - *
                                    • - *

                                      Must be at least 30 minutes.

                                      - *
                                    • - *
                                    + *

                                    Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

                                    */ - PreferredBackupWindow?: string; + OptionGroupName?: string; /** - *

                                    The name of the DB cluster parameter group to use for the DB cluster.

                                    + *

                                    The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.

                                    + *

                                    Constraints: This identifier must match the identifier of an existing DB + * cluster.

                                    */ - DBClusterParameterGroupName?: string; - - /** - *

                                    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

                                    - *

                                    Format: ddd:hh24:mi-ddd:hh24:mi - *

                                    - *

                                    The default is a 30-minute window selected at random from an - * 8-hour block of time for each AWS Region, occurring on a random day of the - * week. To see the time blocks available, see - * - * Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide. - *

                                    - *

                                    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                    - *

                                    Constraints: Minimum 30-minute window.

                                    - */ - PreferredMaintenanceWindow?: string; - - /** - *

                                    The scaling properties of the DB cluster. You can only modify scaling properties for DB clusters in serverless DB engine mode.

                                    - */ - ScalingConfiguration?: ScalingConfiguration; - - /** - *

                                    A value that indicates whether the DB cluster has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. - *

                                    - */ - DeletionProtection?: boolean; + DBClusterIdentifier: string | undefined; /** *

                                    The new password for the master database user. This password can contain any printable ASCII character except "/", """, or "@".

                                    @@ -2516,54 +2536,31 @@ export interface ModifyDBClusterMessage { */ MasterUserPassword?: string; - /** - *

                                    The number of days for which automated backups are retained. You must specify a minimum value of 1.

                                    - *

                                    Default: 1

                                    - *

                                    Constraints:

                                    - *
                                      - *
                                    • - *

                                      Must be a value from 1 to 35

                                      - *
                                    • - *
                                    - */ - BackupRetentionPeriod?: number; - /** *

                                    The Active Directory directory ID to move the DB cluster to. * Specify none to remove the cluster from its current domain. * The domain must be created prior to this operation. *

                                    + *

                                    For more information, see Kerberos Authentication + * in the Amazon Aurora User Guide. + *

                                    */ Domain?: string; /** - *

                                    The target backtrack window, in seconds. To disable backtracking, set this value to - * 0.

                                    - * - *

                                    Currently, Backtrack is only supported for Aurora MySQL DB clusters.

                                    - *
                                    - *

                                    Default: 0

                                    - *

                                    Constraints:

                                    - *
                                      - *
                                    • - *

                                      If specified, this value must be set to a number from 0 to 259,200 (72 hours).

                                      - *
                                    • - *
                                    + *

                                    The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.

                                    */ - BacktrackWindow?: number; + CloudwatchLogsExportConfiguration?: CloudwatchLogsExportConfiguration; /** - *

                                    A value that indicates whether major version upgrades are allowed.

                                    - *

                                    Constraints: You must allow major version upgrades when specifying a value for the - * EngineVersion parameter that is a different major version than the DB - * cluster's current version.

                                    + *

                                    Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                    */ - AllowMajorVersionUpgrade?: boolean; + DomainIAMRoleName?: string; /** - *

                                    Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                    + *

                                    The scaling properties of the DB cluster. You can only modify scaling properties for DB clusters in serverless DB engine mode.

                                    */ - DomainIAMRoleName?: string; + ScalingConfiguration?: ScalingConfiguration; /** *

                                    A value that indicates whether to enable mapping of AWS Identity and Access @@ -2576,25 +2573,6 @@ export interface ModifyDBClusterMessage { */ EnableIAMDatabaseAuthentication?: boolean; - /** - *

                                    The port number on which the DB cluster accepts connections.

                                    - *

                                    Constraints: Value must be 1150-65535 - *

                                    - *

                                    Default: The same port as the original DB cluster.

                                    - */ - Port?: number; - - /** - *

                                    A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. By default, the HTTP endpoint - * is disabled.

                                    - *

                                    When enabled, the HTTP endpoint provides a connectionless web service API for running - * SQL queries on the Aurora Serverless DB cluster. You can also query your database - * from inside the RDS console with the query editor.

                                    - *

                                    For more information, see Using the Data API for Aurora Serverless in the - * Amazon Aurora User Guide.

                                    - */ - EnableHttpEndpoint?: boolean; - /** *

                                    A value that indicates whether to enable write operations to be forwarded * from this cluster to the primary cluster in an Aurora global database. The @@ -2605,39 +2583,72 @@ export interface ModifyDBClusterMessage { EnableGlobalWriteForwarding?: boolean; /** - *

                                    The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.

                                    - */ - CloudwatchLogsExportConfiguration?: CloudwatchLogsExportConfiguration; - - /** - *

                                    A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. - * The default is not to copy them.

                                    + *

                                    A value that indicates whether the modifications in this request and + * any pending modifications are asynchronously applied + * as soon as possible, regardless of the + * PreferredMaintenanceWindow setting for the DB cluster. + * If this parameter is disabled, changes to the + * DB cluster are applied during the next maintenance window.

                                    + *

                                    The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication, + * MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately + * parameter is disabled, then changes to the EnableIAMDatabaseAuthentication, MasterUserPassword, + * and NewDBClusterIdentifier values are applied during the next maintenance window. All other changes are + * applied immediately, regardless of the value of the ApplyImmediately parameter.

                                    + *

                                    By default, this parameter is disabled.

                                    */ - CopyTagsToSnapshot?: boolean; + ApplyImmediately?: boolean; /** - *

                                    A value that indicates that the DB cluster should be associated with the specified option group. - * Changing this parameter doesn't result in an outage except in the following case, and the change - * is applied during the next maintenance window - * unless the ApplyImmediately is enabled for this request. If the parameter change results in an option group that - * enables OEM, this change can cause a brief (sub-second) period during which new connections - * are rejected but existing connections are not interrupted. + *

                                    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

                                    + *

                                    Format: ddd:hh24:mi-ddd:hh24:mi + *

                                    + *

                                    The default is a 30-minute window selected at random from an + * 8-hour block of time for each AWS Region, occurring on a random day of the + * week. To see the time blocks available, see + * + * Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide. *

                                    - *

                                    Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

                                    + *

                                    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                    + *

                                    Constraints: Minimum 30-minute window.

                                    */ - OptionGroupName?: string; + PreferredMaintenanceWindow?: string; /** - *

                                    The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.

                                    - *

                                    Constraints: This identifier must match the identifier of an existing DB - * cluster.

                                    + *

                                    A value that indicates whether the DB cluster has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. + *

                                    */ - DBClusterIdentifier: string | undefined; + DeletionProtection?: boolean; /** - *

                                    A list of VPC security groups that the DB cluster will belong to.

                                    + *

                                    The daily time range during which automated backups are created + * if automated backups are enabled, + * using the BackupRetentionPeriod parameter. + *

                                    + *

                                    The default is a 30-minute window selected at random from an + * 8-hour block of time for each AWS Region. + * To see the time blocks available, see + * + * Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide. + *

                                    + *

                                    Constraints:

                                    + *
                                      + *
                                    • + *

                                      Must be in the format hh24:mi-hh24:mi.

                                      + *
                                    • + *
                                    • + *

                                      Must be in Universal Coordinated Time (UTC).

                                      + *
                                    • + *
                                    • + *

                                      Must not conflict with the preferred maintenance window.

                                      + *
                                    • + *
                                    • + *

                                      Must be at least 30 minutes.

                                      + *
                                    • + *
                                    */ - VpcSecurityGroupIds?: string[]; + PreferredBackupWindow?: string; } export namespace ModifyDBClusterMessage { @@ -2665,9 +2676,9 @@ export namespace ModifyDBClusterResult { export interface ModifyDBClusterEndpointMessage { /** - *

                                    The type of the endpoint. One of: READER, WRITER, ANY.

                                    + *

                                    List of DB instance identifiers that are part of the custom endpoint group.

                                    */ - EndpointType?: string; + StaticMembers?: string[]; /** *

                                    List of DB instance identifiers that aren't part of the custom endpoint group. @@ -2677,14 +2688,14 @@ export interface ModifyDBClusterEndpointMessage { ExcludedMembers?: string[]; /** - *

                                    List of DB instance identifiers that are part of the custom endpoint group.

                                    + *

                                    The identifier of the endpoint to modify. This parameter is stored as a lowercase string.

                                    */ - StaticMembers?: string[]; + DBClusterEndpointIdentifier: string | undefined; /** - *

                                    The identifier of the endpoint to modify. This parameter is stored as a lowercase string.

                                    + *

                                    The type of the endpoint. One of: READER, WRITER, ANY.

                                    */ - DBClusterEndpointIdentifier: string | undefined; + EndpointType?: string; } export namespace ModifyDBClusterEndpointMessage { @@ -2729,14 +2740,14 @@ export namespace DBClusterParameterGroupNameMessage { */ export interface ModifyDBClusterParameterGroupMessage { /** - *

                                    A list of parameters in the DB cluster parameter group to modify.

                                    + *

                                    The name of the DB cluster parameter group to modify.

                                    */ - Parameters: Parameter[] | undefined; + DBClusterParameterGroupName: string | undefined; /** - *

                                    The name of the DB cluster parameter group to modify.

                                    + *

                                    A list of parameters in the DB cluster parameter group to modify.

                                    */ - DBClusterParameterGroupName: string | undefined; + Parameters: Parameter[] | undefined; } export namespace ModifyDBClusterParameterGroupMessage { @@ -2749,6 +2760,17 @@ export namespace ModifyDBClusterParameterGroupMessage { *

                                    */ export interface ModifyDBClusterSnapshotAttributeMessage { + /** + *

                                    The name of the DB cluster snapshot attribute to modify.

                                    + *

                                    To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, + * set this value to restore.

                                    + * + *

                                    To view the list of attributes available to modify, use the + * DescribeDBClusterSnapshotAttributes API action.

                                    + *
                                    + */ + AttributeName: string | undefined; + /** *

                                    A list of DB cluster snapshot attributes to add to the attribute specified by AttributeName.

                                    *

                                    To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account @@ -2759,6 +2781,11 @@ export interface ModifyDBClusterSnapshotAttributeMessage { */ ValuesToAdd?: string[]; + /** + *

                                    The identifier for the DB cluster snapshot to modify the attributes for.

                                    + */ + DBClusterSnapshotIdentifier: string | undefined; + /** *

                                    A list of DB cluster snapshot attributes to remove from the attribute specified by AttributeName.

                                    *

                                    To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include @@ -2769,22 +2796,6 @@ export interface ModifyDBClusterSnapshotAttributeMessage { * can still copy or restore a manual DB cluster snapshot.

                                    */ ValuesToRemove?: string[]; - - /** - *

                                    The name of the DB cluster snapshot attribute to modify.

                                    - *

                                    To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, - * set this value to restore.

                                    - * - *

                                    To view the list of attributes available to modify, use the - * DescribeDBClusterSnapshotAttributes API action.

                                    - *
                                    - */ - AttributeName: string | undefined; - - /** - *

                                    The identifier for the DB cluster snapshot to modify the attributes for.

                                    - */ - DBClusterSnapshotIdentifier: string | undefined; } export namespace ModifyDBClusterSnapshotAttributeMessage { @@ -2846,19 +2857,47 @@ export namespace DBUpgradeDependencyFailureFault { */ export interface ModifyDBInstanceMessage { /** - *

                                    The ARN from the key store with which to associate the instance for TDE encryption.

                                    + *

                                    A value that indicates whether to enable mapping of AWS Identity and Access + * Management (IAM) accounts to database accounts. By default, mapping is disabled. + * For information about the supported DB engines, see CreateDBInstance.

                                    + * + *

                                    For more information about IAM database authentication, see + * + * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. + *

                                    */ - TdeCredentialArn?: string; + EnableIAMDatabaseAuthentication?: boolean; /** - *

                                    A value that indicates whether the DB instance is a Multi-AZ deployment. - * Changing this parameter doesn't result in an outage and the change - * is applied during the next maintenance window - * unless the ApplyImmediately parameter is - * enabled for this request. + *

                                    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                    + */ + ProcessorFeatures?: ProcessorFeature[]; + + /** + *

                                    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID + * is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS + * encryption key.

                                    + *

                                    If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS + * uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. + * Your AWS account has a different default encryption key for each AWS Region.

                                    + */ + PerformanceInsightsKMSKeyId?: string; + + /** + *

                                    A value that specifies the order in which an Aurora Replica is promoted to the primary instance + * after a failure of the existing primary instance. For more information, + * see + * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. *

                                    + *

                                    Default: 1

                                    + *

                                    Valid Values: 0 - 15

                                    */ - MultiAZ?: boolean; + PromotionTier?: number; + + /** + *

                                    Indicates the certificate that needs to be associated with the instance.

                                    + */ + CACertificateIdentifier?: string; /** *

                                    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For @@ -2871,111 +2910,66 @@ export interface ModifyDBInstanceMessage { MonitoringRoleArn?: string; /** - *

                                    The name of the IAM role to use when making API calls to the Directory Service.

                                    + *

                                    A value that indicates whether the DB instance is a Multi-AZ deployment. + * Changing this parameter doesn't result in an outage and the change + * is applied during the next maintenance window + * unless the ApplyImmediately parameter is + * enabled for this request. + *

                                    */ - DomainIAMRoleName?: string; + MultiAZ?: boolean; /** - *

                                    The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

                                    - *

                                    Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. - * These changes are applied during the next maintenance window - * unless the ApplyImmediately parameter is enabled for this request. If you change the parameter from one non-zero value to another - * non-zero value, the change is asynchronously applied as soon as possible.

                                    + *

                                    The new password for the master user. The password can include any printable ASCII character except "/", """, or "@".

                                    + *

                                    + * Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. + * Between the time of the request and the completion of the request, + * the MasterUserPassword element exists in the + * PendingModifiedValues element of the operation response. + *

                                    + * *

                                    * Amazon Aurora *

                                    - *

                                    Not applicable. The retention period for automated backups is managed by the DB - * cluster. For more information, see ModifyDBCluster.

                                    + *

                                    Not applicable. The password for the master user is managed by the DB cluster. For + * more information, see ModifyDBCluster. + *

                                    + * *

                                    Default: Uses existing setting

                                    - *

                                    Constraints:

                                    - *
                                      - *
                                    • - *

                                      Must be a value from 0 to 35

                                      - *
                                    • - *
                                    • - *

                                      Can be specified for a MySQL read replica only if the source is running MySQL 5.6 or - * later

                                      - *
                                    • - *
                                    • - *

                                      Can be specified for a PostgreSQL read replica only if the source is running PostgreSQL - * 9.3.5

                                      - *
                                    • - *
                                    • - *

                                      Can't be set to 0 if the DB instance is a source to read replicas

                                      - *
                                    • - *
                                    - */ - BackupRetentionPeriod?: number; - - /** - *

                                    A value that specifies the order in which an Aurora Replica is promoted to the primary instance - * after a failure of the existing primary instance. For more information, - * see - * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. - *

                                    - *

                                    Default: 1

                                    - *

                                    Valid Values: 0 - 15

                                    - */ - PromotionTier?: number; - - /** - *

                                    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID - * is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS - * encryption key.

                                    - *

                                    If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS - * uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. - * Your AWS account has a different default encryption key for each AWS Region.

                                    - */ - PerformanceInsightsKMSKeyId?: string; - - /** - *

                                    A value that indicates whether to enable mapping of AWS Identity and Access - * Management (IAM) accounts to database accounts. By default, mapping is disabled. - * For information about the supported DB engines, see CreateDBInstance.

                                    * - *

                                    For more information about IAM database authentication, see - * - * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. + *

                                    + * MariaDB *

                                    - */ - EnableIAMDatabaseAuthentication?: boolean; - - /** - *

                                    A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

                                    + *

                                    Constraints: Must contain from 8 to 41 characters.

                                    + * *

                                    - * Amazon Aurora + * Microsoft SQL Server *

                                    - *

                                    Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this - * value for an Aurora DB instance has no effect on the DB cluster setting. For more - * information, see ModifyDBCluster.

                                    - */ - CopyTagsToSnapshot?: boolean; - - /** - *

                                    - * The new DB instance identifier for the DB instance when renaming a DB - * instance. When you change the DB instance identifier, an instance - * reboot occurs immediately if you enable ApplyImmediately, or will occur - * during the next maintenance window if you disable Apply Immediately. This value is stored - * as a lowercase string. - *

                                    + *

                                    Constraints: Must contain from 8 to 128 characters.

                                    * - *

                                    Constraints:

                                    - *
                                      - *
                                    • - *

                                      Must contain from 1 to 63 letters, numbers, or hyphens.

                                      - *
                                    • - *
                                    • - *

                                      The first character must be a letter.

                                      - *
                                    • - *
                                    • - *

                                      Can't end with a hyphen or contain two consecutive hyphens.

                                      - *
                                    • - *
                                    - *

                                    Example: mydbinstance + *

                                    + * MySQL + *

                                    + *

                                    Constraints: Must contain from 8 to 41 characters.

                                    + * + *

                                    + * Oracle + *

                                    + *

                                    Constraints: Must contain from 8 to 30 characters.

                                    + * + *

                                    + * PostgreSQL *

                                    + *

                                    Constraints: Must contain from 8 to 128 characters.

                                    + * + * + *

                                    Amazon RDS API actions never return the password, + * so this action provides a way to regain access to a primary instance user if the password is lost. + * This includes restoring privileges that might have been accidentally revoked. + *

                                    + *
                                    */ - NewDBInstanceIdentifier?: string; + MasterUserPassword?: string; /** *

                                    A value that indicates whether the DB instance is restarted when you rotate your @@ -3004,6 +2998,40 @@ export interface ModifyDBInstanceMessage { */ CertificateRotationRestart?: boolean; + /** + *

                                    The name of the IAM role to use when making API calls to the Directory Service.

                                    + */ + DomainIAMRoleName?: string; + + /** + *

                                    A value that sets the open mode of a replica database to either mounted or read-only.

                                    + * + *

                                    Currently, this parameter is only supported for Oracle DB instances.

                                    + *
                                    + *

                                    Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for + * mounted replicas is cross-Region disaster recovery. The primary database doesn't use + * Active Data Guard to transmit information to the mounted replica. Because it doesn't + * accept user connections, a mounted replica can't serve a read-only workload. + * For more information, see Working with Oracle Read Replicas for Amazon RDS + * in the Amazon RDS User Guide.

                                    + */ + ReplicaMode?: ReplicaMode | string; + + /** + *

                                    The ARN from the key store with which to associate the instance for TDE encryption.

                                    + */ + TdeCredentialArn?: string; + + /** + *

                                    The Active Directory directory ID to move the DB instance to. + * Specify none to remove the instance from its current domain. + * The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL + * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                    + *

                                    For more information, see + * Kerberos Authentication in the Amazon RDS User Guide.

                                    + */ + Domain?: string; + /** *

                                    The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance.

                                    *

                                    A change to the CloudwatchLogsExportConfiguration parameter is always applied to the DB instance @@ -3012,56 +3040,88 @@ export interface ModifyDBInstanceMessage { CloudwatchLogsExportConfiguration?: CloudwatchLogsExportConfiguration; /** - *

                                    The DB instance identifier. This value is stored as a lowercase string.

                                    - *

                                    Constraints:

                                    - *
                                      - *
                                    • - *

                                      Must match the identifier of an existing DBInstance.

                                      - *
                                    • - *
                                    + *

                                    A value that indicates whether the DB instance has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. For more information, see + * + * Deleting a DB Instance. + *

                                    */ - DBInstanceIdentifier: string | undefined; + DeletionProtection?: boolean; /** - *

                                    - * Indicates that the DB instance should be associated with the specified option group. - * Changing this parameter doesn't result in an outage except in the following case and the change - * is applied during the next maintenance window - * unless the ApplyImmediately parameter is enabled - * for this request. If the parameter change results in an option group that - * enables OEM, this change can cause a brief (sub-second) period during which new connections - * are rejected but existing connections are not interrupted. - *

                                    - *

                                    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                    + *

                                    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                    */ - OptionGroupName?: string; + MaxAllocatedStorage?: number; /** - *

                                    A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

                                    + *

                                    A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

                                    *

                                    * Amazon Aurora *

                                    - *

                                    Not applicable. The associated list of EC2 VPC security groups is managed by - * the DB cluster. For more information, see ModifyDBCluster.

                                    + *

                                    Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this + * value for an Aurora DB instance has no effect on the DB cluster setting. For more + * information, see ModifyDBCluster.

                                    + */ + CopyTagsToSnapshot?: boolean; + + /** + *

                                    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

                                    + *

                                    If MonitoringRoleArn is specified, then you must also set MonitoringInterval + * to a value other than 0.

                                    + *

                                    Valid Values: 0, 1, 5, 10, 15, 30, 60 + *

                                    + */ + MonitoringInterval?: number; + + /** + *

                                    + * The daily time range during which automated backups are created + * if automated backups are enabled, + * as determined by the BackupRetentionPeriod parameter. + * Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. + *

                                    + * + *

                                    + * Amazon Aurora + *

                                    + *

                                    Not applicable. The daily time range for creating automated backups is managed by + * the DB cluster. For more information, see ModifyDBCluster.

                                    + * *

                                    Constraints:

                                    *
                                      *
                                    • - *

                                      If supplied, must match existing VpcSecurityGroupIds.

                                      + *

                                      Must be in the format hh24:mi-hh24:mi

                                      + *
                                    • + *
                                    • + *

                                      Must be in Universal Time Coordinated (UTC)

                                      + *
                                    • + *
                                    • + *

                                      Must not conflict with the preferred maintenance window

                                      + *
                                    • + *
                                    • + *

                                      Must be at least 30 minutes

                                      *
                                    • *
                                    */ - VpcSecurityGroupIds?: string[]; + PreferredBackupWindow?: string; /** - *

                                    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                    + *

                                    The license model for the DB instance.

                                    + *

                                    Valid values: license-included | bring-your-own-license | + * general-public-license + *

                                    */ - ProcessorFeatures?: ProcessorFeature[]; + LicenseModel?: string; /** - *

                                    Specifies the storage type to be associated with the DB instance. + *

                                    The new Provisioned IOPS (I/O operations per second) value for the RDS instance. *

                                    - *

                                    If you specify Provisioned IOPS (io1), - * you must also include a value for the Iops parameter. + *

                                    Changing this setting doesn't result in an outage and + * the change is applied during the next maintenance window + * unless the ApplyImmediately parameter is enabled for this request. + * If you are migrating from Provisioned IOPS to standard storage, set this value to 0. + * The DB instance will require a reboot for the change in storage type to take effect. *

                                    *

                                    If you choose to migrate your DB instance from using standard storage to using * Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process @@ -3074,81 +3134,13 @@ export interface ModifyDBInstanceMessage { * instance are suspended. No other Amazon RDS operations can take place for the instance, * including modifying the instance, rebooting the instance, deleting the instance, * creating a read replica for the instance, and creating a DB snapshot of the instance.

                                    - *

                                    - * Valid values: standard | gp2 | io1 - *

                                    - *

                                    Default: io1 if the Iops parameter - * is specified, otherwise gp2 - *

                                    + *

                                    Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, + * the value supplied must be at least 10% greater than the current value. + * Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. + *

                                    + *

                                    Default: Uses existing setting

                                    */ - StorageType?: string; - - /** - *

                                    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                    - */ - PerformanceInsightsRetentionPeriod?: number; - - /** - *

                                    - * The version number of the database engine to upgrade to. - * Changing this parameter results in an outage and the change - * is applied during the next maintenance window - * unless the ApplyImmediately parameter is eanbled for this request. - *

                                    - *

                                    For major version upgrades, if a nondefault DB parameter group is currently in use, a - * new DB parameter group in the DB parameter group family for the new engine version must - * be specified. The new DB parameter group can be the default for that DB parameter group - * family.

                                    - *

                                    For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

                                    - */ - EngineVersion?: string; - - /** - *

                                    The license model for the DB instance.

                                    - *

                                    Valid values: license-included | bring-your-own-license | - * general-public-license - *

                                    - */ - LicenseModel?: string; - - /** - *

                                    A value that indicates whether the modifications in this request and - * any pending modifications are asynchronously applied - * as soon as possible, regardless of the - * PreferredMaintenanceWindow setting for the DB instance. By default, this parameter is - * disabled. - *

                                    - *

                                    - * If this parameter is disabled, changes to the - * DB instance are applied during the next maintenance window. Some parameter changes can cause an outage - * and are applied on the next call to RebootDBInstance, or the next failure reboot. - * Review the table of parameters in Modifying a DB Instance - * in the Amazon RDS User Guide. to see the impact of enabling - * or disabling ApplyImmediately for each modified parameter and to determine when the changes are applied. - *

                                    - */ - ApplyImmediately?: boolean; - - /** - *

                                    The new amount of storage (in gibibytes) to allocate for the DB instance. - *

                                    - * - *

                                    For MariaDB, MySQL, Oracle, and PostgreSQL, - * the value supplied must be at least 10% greater than the current value. - * Values that are not at least 10% greater than the existing value are rounded up - * so that they are 10% greater than the current value. - *

                                    - * - *

                                    For the valid values for allocated storage for each engine, - * see CreateDBInstance. - *

                                    - */ - AllocatedStorage?: number; - - /** - *

                                    The password for the given ARN from the key store in order to access the device.

                                    - */ - TdeCredentialPassword?: string; + Iops?: number; /** *

                                    The weekly time range (in UTC) during which system maintenance can occur, which @@ -3166,6 +3158,28 @@ export interface ModifyDBInstanceMessage { */ PreferredMaintenanceWindow?: string; + /** + *

                                    The password for the given ARN from the key store in order to access the device.

                                    + */ + TdeCredentialPassword?: string; + + /** + *

                                    The name of the DB parameter group to apply to the DB instance. Changing this + * setting doesn't result in an outage. The parameter group name itself is changed + * immediately, but the actual parameter changes are not applied until you reboot the + * instance without failover. In this case, the DB instance isn't rebooted automatically and the + * parameter changes isn't applied during the next maintenance window.

                                    + *

                                    Default: Uses existing setting

                                    + *

                                    Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

                                    + */ + DBParameterGroupName?: string; + + /** + *

                                    A value that indicates whether the DB instance class of the DB instance uses its default + * processor features.

                                    + */ + UseDefaultProcessorFeatures?: boolean; + /** *

                                    * A value that indicates whether minor version upgrades are applied automatically @@ -3179,32 +3193,23 @@ export interface ModifyDBInstanceMessage { AutoMinorVersionUpgrade?: boolean; /** - *

                                    The new Provisioned IOPS (I/O operations per second) value for the RDS instance. - *

                                    - *

                                    Changing this setting doesn't result in an outage and - * the change is applied during the next maintenance window - * unless the ApplyImmediately parameter is enabled for this request. - * If you are migrating from Provisioned IOPS to standard storage, set this value to 0. - * The DB instance will require a reboot for the change in storage type to take effect. - *

                                    - *

                                    If you choose to migrate your DB instance from using standard storage to using - * Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process - * can take time. The duration of the migration depends on several factors such as database - * load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS - * provisioned (if any), and the number of prior scale storage operations. Typical - * migration times are under 24 hours, but the process can take up to several days in some - * cases. During the migration, the DB instance is available for use, but might experience - * performance degradation. While the migration takes place, nightly backups for the - * instance are suspended. No other Amazon RDS operations can take place for the instance, - * including modifying the instance, rebooting the instance, deleting the instance, - * creating a read replica for the instance, and creating a DB snapshot of the instance.

                                    - *

                                    Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, - * the value supplied must be at least 10% greater than the current value. - * Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. - *

                                    - *

                                    Default: Uses existing setting

                                    + *

                                    The new DB subnet group for the DB instance. + * You can use this parameter to move your DB instance to a different VPC. + * + * If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC. + * For more information, see + * Updating the VPC for a DB Instance + * in the Amazon RDS User Guide. + *

                                    + *

                                    Changing the subnet group causes an outage during the change. + * The change is applied during the next maintenance window, + * unless you enable ApplyImmediately. + *

                                    + *

                                    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                    + *

                                    Example: mySubnetGroup + *

                                    */ - Iops?: number; + DBSubnetGroupName?: string; /** *

                                    A value that indicates whether to enable Performance Insights for the DB instance.

                                    @@ -3216,21 +3221,35 @@ export interface ModifyDBInstanceMessage { EnablePerformanceInsights?: boolean; /** - *

                                    A value that indicates whether the DB instance is publicly accessible. - *

                                    - *

                                    When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, - * and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, - * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                    - *

                                    When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                    + *

                                    The new compute and memory capacity of the DB instance, for example, db.m4.large. + * Not all DB instance classes are available in all AWS Regions, or for all database engines. + * For the full list of DB instance classes, + * and availability for your engine, see + * DB Instance Class in the Amazon RDS User Guide. + *

                                    + *

                                    If you modify the DB instance class, an outage occurs during the change. + * The change is applied during the next maintenance window, + * unless ApplyImmediately is enabled for this request. + *

                                    + *

                                    Default: Uses existing setting

                                    + */ + DBInstanceClass?: string; + + /** + *

                                    A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

                                    *

                                    - * PubliclyAccessible only applies to DB instances in a VPC. - * The DB instance must be part of a public subnet and - * PubliclyAccessible must be enabled for it to be publicly accessible. - *

                                    - *

                                    Changes to the PubliclyAccessible parameter are applied immediately regardless - * of the value of the ApplyImmediately parameter.

                                    + * Amazon Aurora + *

                                    + *

                                    Not applicable. The associated list of EC2 VPC security groups is managed by + * the DB cluster. For more information, see ModifyDBCluster.

                                    + *

                                    Constraints:

                                    + *
                                      + *
                                    • + *

                                      If supplied, must match existing VpcSecurityGroupIds.

                                      + *
                                    • + *
                                    */ - PubliclyAccessible?: boolean; + VpcSecurityGroupIds?: string[]; /** *

                                    The port number on which the database accepts connections.

                                    @@ -3292,33 +3311,15 @@ export interface ModifyDBInstanceMessage { DBPortNumber?: number; /** - *

                                    The new compute and memory capacity of the DB instance, for example, db.m4.large. - * Not all DB instance classes are available in all AWS Regions, or for all database engines. - * For the full list of DB instance classes, - * and availability for your engine, see - * DB Instance Class in the Amazon RDS User Guide. - *

                                    - *

                                    If you modify the DB instance class, an outage occurs during the change. - * The change is applied during the next maintenance window, - * unless ApplyImmediately is enabled for this request. - *

                                    - *

                                    Default: Uses existing setting

                                    - */ - DBInstanceClass?: string; - - /** - *

                                    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

                                    - *

                                    If MonitoringRoleArn is specified, then you must also set MonitoringInterval - * to a value other than 0.

                                    - *

                                    Valid Values: 0, 1, 5, 10, 15, 30, 60 - *

                                    - */ - MonitoringInterval?: number; - - /** - *

                                    Indicates the certificate that needs to be associated with the instance.

                                    + *

                                    A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.

                                    + *

                                    Constraints:

                                    + *
                                      + *
                                    • + *

                                      If supplied, must match existing DBSecurityGroups.

                                      + *
                                    • + *
                                    */ - CACertificateIdentifier?: string; + DBSecurityGroups?: string[]; /** *

                                    A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

                                    @@ -3327,167 +3328,184 @@ export interface ModifyDBInstanceMessage { AllowMajorVersionUpgrade?: boolean; /** - *

                                    The new password for the master user. The password can include any printable ASCII character except "/", """, or "@".

                                    - *

                                    - * Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. - * Between the time of the request and the completion of the request, - * the MasterUserPassword element exists in the - * PendingModifiedValues element of the operation response. + *

                                    A value that indicates whether the modifications in this request and + * any pending modifications are asynchronously applied + * as soon as possible, regardless of the + * PreferredMaintenanceWindow setting for the DB instance. By default, this parameter is + * disabled. *

                                    - * *

                                    - * Amazon Aurora - *

                                    - *

                                    Not applicable. The password for the master user is managed by the DB cluster. For - * more information, see ModifyDBCluster. + * If this parameter is disabled, changes to the + * DB instance are applied during the next maintenance window. Some parameter changes can cause an outage + * and are applied on the next call to RebootDBInstance, or the next failure reboot. + * Review the table of parameters in Modifying a DB Instance + * in the Amazon RDS User Guide. to see the impact of enabling + * or disabling ApplyImmediately for each modified parameter and to determine when the changes are applied. *

                                    + */ + ApplyImmediately?: boolean; + + /** + *

                                    The new amount of storage (in gibibytes) to allocate for the DB instance. + *

                                    * - *

                                    Default: Uses existing setting

                                    - * - *

                                    - * MariaDB - *

                                    - *

                                    Constraints: Must contain from 8 to 41 characters.

                                    + *

                                    For MariaDB, MySQL, Oracle, and PostgreSQL, + * the value supplied must be at least 10% greater than the current value. + * Values that are not at least 10% greater than the existing value are rounded up + * so that they are 10% greater than the current value. + *

                                    * + *

                                    For the valid values for allocated storage for each engine, + * see CreateDBInstance. + *

                                    + */ + AllocatedStorage?: number; + + /** + *

                                    The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

                                    + *

                                    Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. + * These changes are applied during the next maintenance window + * unless the ApplyImmediately parameter is enabled for this request. If you change the parameter from one non-zero value to another + * non-zero value, the change is asynchronously applied as soon as possible.

                                    *

                                    - * Microsoft SQL Server + * Amazon Aurora *

                                    - *

                                    Constraints: Must contain from 8 to 128 characters.

                                    - * - *

                                    - * MySQL - *

                                    - *

                                    Constraints: Must contain from 8 to 41 characters.

                                    - * - *

                                    - * Oracle - *

                                    - *

                                    Constraints: Must contain from 8 to 30 characters.

                                    - * - *

                                    - * PostgreSQL - *

                                    - *

                                    Constraints: Must contain from 8 to 128 characters.

                                    - * - * - *

                                    Amazon RDS API actions never return the password, - * so this action provides a way to regain access to a primary instance user if the password is lost. - * This includes restoring privileges that might have been accidentally revoked. - *

                                    - *
                                    + *

                                    Not applicable. The retention period for automated backups is managed by the DB + * cluster. For more information, see ModifyDBCluster.

                                    + *

                                    Default: Uses existing setting

                                    + *

                                    Constraints:

                                    + *
                                      + *
                                    • + *

                                      Must be a value from 0 to 35

                                      + *
                                    • + *
                                    • + *

                                      Can be specified for a MySQL read replica only if the source is running MySQL 5.6 or + * later

                                      + *
                                    • + *
                                    • + *

                                      Can be specified for a PostgreSQL read replica only if the source is running PostgreSQL + * 9.3.5

                                      + *
                                    • + *
                                    • + *

                                      Can't be set to 0 if the DB instance is a source to read replicas

                                      + *
                                    • + *
                                    */ - MasterUserPassword?: string; + BackupRetentionPeriod?: number; /** - *

                                    The Active Directory directory ID to move the DB instance to. - * Specify none to remove the instance from its current domain. - * The domain must be created prior to this operation. Currently, only Microsoft SQL Server and - * Oracle DB instances can be created in an Active Directory Domain. - *

                                    - *

                                    For Microsoft SQL Server DB instances, Amazon RDS can use - * Windows Authentication to authenticate users that connect to the DB instance. For more - * information, see - * Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the - * Amazon RDS User Guide.

                                    - *

                                    For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB instance. - * For more information, see - * Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.

                                    + *

                                    + * Indicates that the DB instance should be associated with the specified option group. + * Changing this parameter doesn't result in an outage except in the following case and the change + * is applied during the next maintenance window + * unless the ApplyImmediately parameter is enabled + * for this request. If the parameter change results in an option group that + * enables OEM, this change can cause a brief (sub-second) period during which new connections + * are rejected but existing connections are not interrupted. + *

                                    + *

                                    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                    */ - Domain?: string; + OptionGroupName?: string; /** - *

                                    A value that indicates whether the DB instance class of the DB instance uses its default - * processor features.

                                    + *

                                    A value that indicates whether the DB instance is publicly accessible. + *

                                    + *

                                    When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, + * and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, + * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                    + *

                                    When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                    + *

                                    + * PubliclyAccessible only applies to DB instances in a VPC. + * The DB instance must be part of a public subnet and + * PubliclyAccessible must be enabled for it to be publicly accessible. + *

                                    + *

                                    Changes to the PubliclyAccessible parameter are applied immediately regardless + * of the value of the ApplyImmediately parameter.

                                    */ - UseDefaultProcessorFeatures?: boolean; + PubliclyAccessible?: boolean; /** - *

                                    The name of the DB parameter group to apply to the DB instance. Changing this - * setting doesn't result in an outage. The parameter group name itself is changed - * immediately, but the actual parameter changes are not applied until you reboot the - * instance without failover. In this case, the DB instance isn't rebooted automatically and the - * parameter changes isn't applied during the next maintenance window.

                                    - *

                                    Default: Uses existing setting

                                    - *

                                    Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

                                    + *

                                    + * The version number of the database engine to upgrade to. + * Changing this parameter results in an outage and the change + * is applied during the next maintenance window + * unless the ApplyImmediately parameter is eanbled for this request. + *

                                    + *

                                    For major version upgrades, if a nondefault DB parameter group is currently in use, a + * new DB parameter group in the DB parameter group family for the new engine version must + * be specified. The new DB parameter group can be the default for that DB parameter group + * family.

                                    + *

                                    For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

                                    */ - DBParameterGroupName?: string; + EngineVersion?: string; /** - *

                                    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                    + *

                                    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                    */ - MaxAllocatedStorage?: number; + PerformanceInsightsRetentionPeriod?: number; /** *

                                    - * The daily time range during which automated backups are created - * if automated backups are enabled, - * as determined by the BackupRetentionPeriod parameter. - * Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. - *

                                    - * - *

                                    - * Amazon Aurora - *

                                    - *

                                    Not applicable. The daily time range for creating automated backups is managed by - * the DB cluster. For more information, see ModifyDBCluster.

                                    + * The new DB instance identifier for the DB instance when renaming a DB + * instance. When you change the DB instance identifier, an instance + * reboot occurs immediately if you enable ApplyImmediately, or will occur + * during the next maintenance window if you disable Apply Immediately. This value is stored + * as a lowercase string. + *

                                    * *

                                    Constraints:

                                    *
                                      *
                                    • - *

                                      Must be in the format hh24:mi-hh24:mi

                                      - *
                                    • - *
                                    • - *

                                      Must be in Universal Time Coordinated (UTC)

                                      + *

                                      Must contain from 1 to 63 letters, numbers, or hyphens.

                                      *
                                    • *
                                    • - *

                                      Must not conflict with the preferred maintenance window

                                      + *

                                      The first character must be a letter.

                                      *
                                    • *
                                    • - *

                                      Must be at least 30 minutes

                                      + *

                                      Can't end with a hyphen or contain two consecutive hyphens.

                                      *
                                    • *
                                    + *

                                    Example: mydbinstance + *

                                    */ - PreferredBackupWindow?: string; + NewDBInstanceIdentifier?: string; /** - *

                                    A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.

                                    + *

                                    Specifies the storage type to be associated with the DB instance. + *

                                    + *

                                    If you specify Provisioned IOPS (io1), + * you must also include a value for the Iops parameter. + *

                                    + *

                                    If you choose to migrate your DB instance from using standard storage to using + * Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process + * can take time. The duration of the migration depends on several factors such as database + * load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS + * provisioned (if any), and the number of prior scale storage operations. Typical + * migration times are under 24 hours, but the process can take up to several days in some + * cases. During the migration, the DB instance is available for use, but might experience + * performance degradation. While the migration takes place, nightly backups for the + * instance are suspended. No other Amazon RDS operations can take place for the instance, + * including modifying the instance, rebooting the instance, deleting the instance, + * creating a read replica for the instance, and creating a DB snapshot of the instance.

                                    + *

                                    + * Valid values: standard | gp2 | io1 + *

                                    + *

                                    Default: io1 if the Iops parameter + * is specified, otherwise gp2 + *

                                    + */ + StorageType?: string; + + /** + *

                                    The DB instance identifier. This value is stored as a lowercase string.

                                    *

                                    Constraints:

                                    *
                                      *
                                    • - *

                                      If supplied, must match existing DBSecurityGroups.

                                      + *

                                      Must match the identifier of an existing DBInstance.

                                      *
                                    • *
                                    */ - DBSecurityGroups?: string[]; - - /** - *

                                    A value that indicates whether the DB instance has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. For more information, see - * - * Deleting a DB Instance. - *

                                    - */ - DeletionProtection?: boolean; - - /** - *

                                    The new DB subnet group for the DB instance. - * You can use this parameter to move your DB instance to a different VPC. - * - * If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC. - * For more information, see - * Updating the VPC for a DB Instance - * in the Amazon RDS User Guide. - *

                                    - *

                                    Changing the subnet group causes an outage during the change. - * The change is applied during the next maintenance window, - * unless you enable ApplyImmediately. - *

                                    - *

                                    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                    - *

                                    Example: mySubnetGroup - *

                                    - */ - DBSubnetGroupName?: string; + DBInstanceIdentifier: string | undefined; } export namespace ModifyDBInstanceMessage { @@ -3520,7 +3538,7 @@ export namespace ModifyDBInstanceResult { */ export interface DBParameterGroupNameMessage { /** - *

                                    Provides the name of the DB parameter group.

                                    + *

                                    The name of the DB parameter group.

                                    */ DBParameterGroupName?: string; } @@ -3535,16 +3553,6 @@ export namespace DBParameterGroupNameMessage { *

                                    */ export interface ModifyDBParameterGroupMessage { - /** - *

                                    An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; later arguments are optional. A maximum of 20 parameters can be modified in a single request.

                                    - *

                                    Valid Values (for the application method): immediate | pending-reboot - *

                                    - * - *

                                    You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover.

                                    - *
                                    - */ - Parameters: Parameter[] | undefined; - /** *

                                    The name of the DB parameter group.

                                    *

                                    Constraints:

                                    @@ -3555,6 +3563,16 @@ export interface ModifyDBParameterGroupMessage { *
                                  */ DBParameterGroupName: string | undefined; + + /** + *

                                  An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; later arguments are optional. A maximum of 20 parameters can be modified in a single request.

                                  + *

                                  Valid Values (for the application method): immediate | pending-reboot + *

                                  + * + *

                                  You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover.

                                  + *
                                  + */ + Parameters: Parameter[] | undefined; } export namespace ModifyDBParameterGroupMessage { @@ -3565,26 +3583,37 @@ export namespace ModifyDBParameterGroupMessage { export interface ModifyDBProxyRequest { /** - *

                                  Whether Transport Layer Security (TLS) encryption is required for connections to the proxy. - * By enabling this setting, you can enforce encrypted TLS connections to the proxy, even if the associated database doesn't - * use TLS.

                                  + *

                                  The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this + * value higher or lower than the connection timeout limit for the associated database.

                                  */ - RequireTLS?: boolean; + IdleClientTimeout?: number; /** *

                                  The new list of security groups for the DBProxy.

                                  */ SecurityGroups?: string[]; + /** + *

                                  The identifier for the DBProxy to modify.

                                  + */ + DBProxyName: string | undefined; + + /** + *

                                  The new authentication settings for the DBProxy.

                                  + */ + Auth?: UserAuthConfig[]; + /** *

                                  The new identifier for the DBProxy. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

                                  */ NewDBProxyName?: string; /** - *

                                  The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.

                                  + *

                                  Whether Transport Layer Security (TLS) encryption is required for connections to the proxy. + * By enabling this setting, you can enforce encrypted TLS connections to the proxy, even if the associated database doesn't + * use TLS.

                                  */ - RoleArn?: string; + RequireTLS?: boolean; /** *

                                  Whether the proxy includes detailed information about SQL statements in its logs. @@ -3597,20 +3626,9 @@ export interface ModifyDBProxyRequest { DebugLogging?: boolean; /** - *

                                  The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this - * value higher or lower than the connection timeout limit for the associated database.

                                  - */ - IdleClientTimeout?: number; - - /** - *

                                  The identifier for the DBProxy to modify.

                                  - */ - DBProxyName: string | undefined; - - /** - *

                                  The new authentication settings for the DBProxy.

                                  + *

                                  The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.

                                  */ - Auth?: UserAuthConfig[]; + RoleArn?: string; } export namespace ModifyDBProxyRequest { @@ -3636,6 +3654,34 @@ export namespace ModifyDBProxyResponse { *

                                  Specifies the settings that control the size and behavior of the connection pool associated with a DBProxyTargetGroup.

                                  */ export interface ConnectionPoolConfiguration { + /** + *

                                  The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the + * max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

                                  + *

                                  Default: 100

                                  + *

                                  Constraints: between 1 and 100

                                  + */ + MaxConnectionsPercent?: number; + + /** + *

                                  + * One or more SQL statements for the proxy to run when opening each new database connection. + * Typically used with SET statements to make sure that each connection has identical + * settings such as time zone and character set. For multiple statements, use semicolons as the separator. + * You can also include multiple variables in a single SET statement, such as + * SET x=1, y=2. + *

                                  + *

                                  Default: no initialization query

                                  + */ + InitQuery?: string; + + /** + *

                                  The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the + * proxy has opened its maximum number of connections and all connections are busy with client sessions.

                                  + *

                                  Default: 120

                                  + *

                                  Constraints: between 1 and 3600, or 0 representing unlimited

                                  + */ + ConnectionBorrowTimeout?: number; + /** *

                                  * Controls how actively the proxy closes idle database connections in the connection pool. @@ -3657,34 +3703,6 @@ export interface ConnectionPoolConfiguration { *

                                  Default: no session pinning filters

                                  */ SessionPinningFilters?: string[]; - - /** - *

                                  - * One or more SQL statements for the proxy to run when opening each new database connection. - * Typically used with SET statements to make sure that each connection has identical - * settings such as time zone and character set. For multiple statements, use semicolons as the separator. - * You can also include multiple variables in a single SET statement, such as - * SET x=1, y=2. - *

                                  - *

                                  Default: no initialization query

                                  - */ - InitQuery?: string; - - /** - *

                                  The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the - * max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

                                  - *

                                  Default: 100

                                  - *

                                  Constraints: between 1 and 100

                                  - */ - MaxConnectionsPercent?: number; - - /** - *

                                  The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the - * proxy has opened its maximum number of connections and all connections are busy with client sessions.

                                  - *

                                  Default: 120

                                  - *

                                  Constraints: between 1 and 3600, or 0 representing unlimited

                                  - */ - ConnectionBorrowTimeout?: number; } export namespace ConnectionPoolConfiguration { @@ -3695,14 +3713,14 @@ export namespace ConnectionPoolConfiguration { export interface ModifyDBProxyTargetGroupRequest { /** - *

                                  The settings that determine the size and behavior of the connection pool for the target group.

                                  + *

                                  The new name for the modified DBProxyTarget. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

                                  */ - ConnectionPoolConfig?: ConnectionPoolConfiguration; + NewName?: string; /** - *

                                  The name of the new proxy to which to assign the target group.

                                  + *

                                  The settings that determine the size and behavior of the connection pool for the target group.

                                  */ - DBProxyName: string | undefined; + ConnectionPoolConfig?: ConnectionPoolConfiguration; /** *

                                  The name of the new target group to assign to the proxy.

                                  @@ -3710,9 +3728,9 @@ export interface ModifyDBProxyTargetGroupRequest { TargetGroupName: string | undefined; /** - *

                                  The new name for the modified DBProxyTarget. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

                                  + *

                                  The name of the new proxy to which to assign the target group.

                                  */ - NewName?: string; + DBProxyName: string | undefined; } export namespace ModifyDBProxyTargetGroupRequest { @@ -3735,11 +3753,6 @@ export namespace ModifyDBProxyTargetGroupResponse { } export interface ModifyDBSnapshotMessage { - /** - *

                                  The identifier of the DB snapshot to modify.

                                  - */ - DBSnapshotIdentifier: string | undefined; - /** *

                                  The engine version to upgrade the DB snapshot to. *

                                  @@ -3799,6 +3812,11 @@ export interface ModifyDBSnapshotMessage { *

                                  */ OptionGroupName?: string; + + /** + *

                                  The identifier of the DB snapshot to modify.

                                  + */ + DBSnapshotIdentifier: string | undefined; } export namespace ModifyDBSnapshotMessage { @@ -3828,22 +3846,6 @@ export namespace ModifyDBSnapshotResult { *

                                  */ export interface ModifyDBSnapshotAttributeMessage { - /** - *

                                  The identifier for the DB snapshot to modify the attributes for.

                                  - */ - DBSnapshotIdentifier: string | undefined; - - /** - *

                                  A list of DB snapshot attributes to remove from the attribute specified by AttributeName.

                                  - *

                                  To remove authorization for other AWS accounts to copy or restore a manual snapshot, set this list to include - * one or more AWS account - * identifiers, or all to remove authorization for any AWS account to copy or - * restore the DB snapshot. If you specify all, an AWS account whose - * account ID is explicitly added to the restore attribute - * can still copy or restore the manual DB snapshot.

                                  - */ - ValuesToRemove?: string[]; - /** *

                                  A list of DB snapshot attributes to add to the attribute specified by AttributeName.

                                  *

                                  To authorize other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account @@ -3864,6 +3866,22 @@ export interface ModifyDBSnapshotAttributeMessage { * */ AttributeName: string | undefined; + + /** + *

                                  The identifier for the DB snapshot to modify the attributes for.

                                  + */ + DBSnapshotIdentifier: string | undefined; + + /** + *

                                  A list of DB snapshot attributes to remove from the attribute specified by AttributeName.

                                  + *

                                  To remove authorization for other AWS accounts to copy or restore a manual snapshot, set this list to include + * one or more AWS account + * identifiers, or all to remove authorization for any AWS account to copy or + * restore the DB snapshot. If you specify all, an AWS account whose + * account ID is explicitly added to the restore attribute + * can still copy or restore the manual DB snapshot.

                                  + */ + ValuesToRemove?: string[]; } export namespace ModifyDBSnapshotAttributeMessage { @@ -3958,13 +3976,19 @@ export namespace SubnetAlreadyInUse { export interface ModifyEventSubscriptionMessage { /** *

                                  - * A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType - * in the Events topic in the Amazon RDS User Guide - * or by using the DescribeEventCategories action. + * A list of event categories for a source type (SourceType) that you want to subscribe to. + * You can see a list of the categories for a given source type + * in Events in the Amazon RDS User Guide + * or by using the DescribeEventCategories operation. *

                                  */ EventCategories?: string[]; + /** + *

                                  The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

                                  + */ + SnsTopicArn?: string; + /** *

                                  The name of the RDS event notification subscription.

                                  */ @@ -3979,14 +4003,10 @@ export interface ModifyEventSubscriptionMessage { /** *

                                  The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. If this value isn't specified, all events are returned.

                                  - *

                                  Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

                                  + *

                                  Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot + *

                                  */ SourceType?: string; - - /** - *

                                  The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

                                  - */ - SnsTopicArn?: string; } export namespace ModifyEventSubscriptionMessage { @@ -4009,27 +4029,6 @@ export namespace ModifyEventSubscriptionResult { } export interface ModifyGlobalClusterMessage { - /** - *

                                  - * Indicates if the global database cluster has deletion protection enabled. The global database cluster - * can't be deleted when deletion protection is enabled. - *

                                  - */ - DeletionProtection?: boolean; - - /** - *

                                  - * The DB cluster identifier for the global cluster being modified. This parameter isn't case-sensitive. - *

                                  - *

                                  Constraints:

                                  - *
                                    - *
                                  • - *

                                    Must match the identifier of an existing global database cluster.

                                    - *
                                  • - *
                                  - */ - GlobalClusterIdentifier?: string; - /** *

                                  * The new cluster identifier for the global database cluster when modifying a global database cluster. @@ -4051,6 +4050,27 @@ export interface ModifyGlobalClusterMessage { *

                                  */ NewGlobalClusterIdentifier?: string; + + /** + *

                                  + * Indicates if the global database cluster has deletion protection enabled. The global database cluster + * can't be deleted when deletion protection is enabled. + *

                                  + */ + DeletionProtection?: boolean; + + /** + *

                                  + * The DB cluster identifier for the global cluster being modified. This parameter isn't case-sensitive. + *

                                  + *

                                  Constraints:

                                  + *
                                    + *
                                  • + *

                                    Must match the identifier of an existing global database cluster.

                                    + *
                                  • + *
                                  + */ + GlobalClusterIdentifier?: string; } export namespace ModifyGlobalClusterMessage { @@ -4077,24 +4097,24 @@ export namespace ModifyGlobalClusterResult { */ export interface OptionConfiguration { /** - *

                                  A list of VpcSecurityGroupMembership name strings used for this option.

                                  + *

                                  The optional port for the option.

                                  */ - VpcSecurityGroupMemberships?: string[]; + Port?: number; /** - *

                                  The configuration of options to include in a group.

                                  + *

                                  The version for the option.

                                  */ - OptionName: string | undefined; + OptionVersion?: string; /** - *

                                  The optional port for the option.

                                  + *

                                  The option settings to include in an option group.

                                  */ - Port?: number; + OptionSettings?: OptionSetting[]; /** - *

                                  The option settings to include in an option group.

                                  + *

                                  A list of VpcSecurityGroupMembership name strings used for this option.

                                  */ - OptionSettings?: OptionSetting[]; + VpcSecurityGroupMemberships?: string[]; /** *

                                  A list of DBSecurityGroupMembership name strings used for this option.

                                  @@ -4102,9 +4122,9 @@ export interface OptionConfiguration { DBSecurityGroupMemberships?: string[]; /** - *

                                  The version for the option.

                                  + *

                                  The configuration of options to include in a group.

                                  */ - OptionVersion?: string; + OptionName: string | undefined; } export namespace OptionConfiguration { @@ -4118,15 +4138,14 @@ export namespace OptionConfiguration { */ export interface ModifyOptionGroupMessage { /** - *

                                  The name of the option group to be modified.

                                  - *

                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                  + *

                                  A value that indicates whether to apply the change immediately or during the next maintenance window for each instance associated with the option group.

                                  */ - OptionGroupName: string | undefined; + ApplyImmediately?: boolean; /** - *

                                  A value that indicates whether to apply the change immediately or during the next maintenance window for each instance associated with the option group.

                                  + *

                                  Options in this list are removed from the option group.

                                  */ - ApplyImmediately?: boolean; + OptionsToRemove?: string[]; /** *

                                  Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration.

                                  @@ -4134,9 +4153,10 @@ export interface ModifyOptionGroupMessage { OptionsToInclude?: OptionConfiguration[]; /** - *

                                  Options in this list are removed from the option group.

                                  + *

                                  The name of the option group to be modified.

                                  + *

                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                  */ - OptionsToRemove?: string[]; + OptionGroupName: string | undefined; } export namespace ModifyOptionGroupMessage { @@ -4162,19 +4182,6 @@ export namespace ModifyOptionGroupResult { *

                                  */ export interface PromoteReadReplicaMessage { - /** - *

                                  The DB instance identifier. This value is stored as a lowercase string.

                                  - *

                                  Constraints:

                                  - *
                                    - *
                                  • - *

                                    Must match the identifier of an existing read replica DB instance.

                                    - *
                                  • - *
                                  - *

                                  Example: mydbinstance - *

                                  - */ - DBInstanceIdentifier: string | undefined; - /** *

                                  * The daily time range during which automated backups are created @@ -4220,6 +4227,19 @@ export interface PromoteReadReplicaMessage { *

                                */ BackupRetentionPeriod?: number; + + /** + *

                                The DB instance identifier. This value is stored as a lowercase string.

                                + *

                                Constraints:

                                + *
                                  + *
                                • + *

                                  Must match the identifier of an existing read replica DB instance.

                                  + *
                                • + *
                                + *

                                Example: mydbinstance + *

                                + */ + DBInstanceIdentifier: string | undefined; } export namespace PromoteReadReplicaMessage { @@ -4290,12 +4310,6 @@ export namespace PromoteReadReplicaDBClusterResult { *

                                */ export interface PurchaseReservedDBInstancesOfferingMessage { - /** - *

                                Customer-specified identifier to track this reservation.

                                - *

                                Example: myreservationID

                                - */ - ReservedDBInstanceId?: string; - /** *

                                A list of tags. * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. @@ -4303,6 +4317,12 @@ export interface PurchaseReservedDBInstancesOfferingMessage { */ Tags?: Tag[]; + /** + *

                                The ID of the Reserved DB instance offering to purchase.

                                + *

                                Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

                                + */ + ReservedDBInstancesOfferingId: string | undefined; + /** *

                                The number of instances to reserve.

                                *

                                Default: 1 @@ -4311,10 +4331,10 @@ export interface PurchaseReservedDBInstancesOfferingMessage { DBInstanceCount?: number; /** - *

                                The ID of the Reserved DB instance offering to purchase.

                                - *

                                Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

                                + *

                                Customer-specified identifier to track this reservation.

                                + *

                                Example: myreservationID

                                */ - ReservedDBInstancesOfferingId: string | undefined; + ReservedDBInstanceId?: string; } export namespace PurchaseReservedDBInstancesOfferingMessage { @@ -4374,6 +4394,14 @@ export namespace ReservedDBInstanceQuotaExceededFault { *

                                */ export interface RebootDBInstanceMessage { + /** + *

                                + * A value that indicates whether the reboot is conducted through a Multi-AZ failover. + *

                                + *

                                Constraint: You can't enable force failover if the instance isn't configured for Multi-AZ.

                                + */ + ForceFailover?: boolean; + /** *

                                The DB instance identifier. This parameter is stored as a lowercase string.

                                *

                                Constraints:

                                @@ -4384,14 +4412,6 @@ export interface RebootDBInstanceMessage { *
                              */ DBInstanceIdentifier: string | undefined; - - /** - *

                              - * A value that indicates whether the reboot is conducted through a Multi-AZ failover. - *

                              - *

                              Constraint: You can't enable force failover if the instance isn't configured for Multi-AZ.

                              - */ - ForceFailover?: boolean; } export namespace RebootDBInstanceMessage { @@ -4431,26 +4451,43 @@ export namespace DBProxyTargetAlreadyRegisteredFault { }); } -export interface RegisterDBProxyTargetsRequest { - /** - *

                              One or more DB instance identifiers.

                              - */ - DBInstanceIdentifiers?: string[]; - - /** +/** + *

                              The requested operation can't be performed because there aren't enough available IP addresses + * in the proxy's subnets. Add more CIDR blocks to the VPC or remove IP address that aren't required + * from the subnets.

                              + */ +export interface InsufficientAvailableIPsInSubnetFault extends __SmithyException, $MetadataBearer { + name: "InsufficientAvailableIPsInSubnetFault"; + $fault: "client"; + message?: string; +} + +export namespace InsufficientAvailableIPsInSubnetFault { + export const filterSensitiveLog = (obj: InsufficientAvailableIPsInSubnetFault): any => ({ + ...obj, + }); +} + +export interface RegisterDBProxyTargetsRequest { + /** *

                              The identifier of the DBProxyTargetGroup.

                              */ TargetGroupName?: string; + /** + *

                              One or more DB cluster identifiers.

                              + */ + DBClusterIdentifiers?: string[]; + /** *

                              The identifier of the DBProxy that is associated with the DBProxyTargetGroup.

                              */ DBProxyName: string | undefined; /** - *

                              One or more DB cluster identifiers.

                              + *

                              One or more DB instance identifiers.

                              */ - DBClusterIdentifiers?: string[]; + DBInstanceIdentifiers?: string[]; } export namespace RegisterDBProxyTargetsRequest { @@ -4523,12 +4560,6 @@ export namespace DBClusterRoleNotFoundFault { } export interface RemoveRoleFromDBClusterMessage { - /** - *

                              The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora DB cluster, for example - * arn:aws:iam::123456789012:role/AuroraAccessRole.

                              - */ - RoleArn: string | undefined; - /** *

                              The name of the DB cluster to disassociate the IAM role from.

                              */ @@ -4539,6 +4570,12 @@ export interface RemoveRoleFromDBClusterMessage { * For the list of supported feature names, see DBEngineVersion.

                              */ FeatureName?: string; + + /** + *

                              The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora DB cluster, for example + * arn:aws:iam::123456789012:role/AuroraAccessRole.

                              + */ + RoleArn: string | undefined; } export namespace RemoveRoleFromDBClusterMessage { @@ -4564,11 +4601,6 @@ export namespace DBInstanceRoleNotFoundFault { } export interface RemoveRoleFromDBInstanceMessage { - /** - *

                              The name of the DB instance to disassociate the IAM role from.

                              - */ - DBInstanceIdentifier: string | undefined; - /** *

                              The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB instance, * for example arn:aws:iam::123456789012:role/AccessRole.

                              @@ -4581,6 +4613,11 @@ export interface RemoveRoleFromDBInstanceMessage { *

                              */ FeatureName: string | undefined; + + /** + *

                              The name of the DB instance to disassociate the IAM role from.

                              + */ + DBInstanceIdentifier: string | undefined; } export namespace RemoveRoleFromDBInstanceMessage { @@ -4630,11 +4667,6 @@ export namespace RemoveSourceIdentifierFromSubscriptionResult { *

                              */ export interface RemoveTagsFromResourceMessage { - /** - *

                              The tag key (name) of the tag to be removed.

                              - */ - TagKeys: string[] | undefined; - /** *

                              The Amazon RDS resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about * creating an ARN, @@ -4643,6 +4675,11 @@ export interface RemoveTagsFromResourceMessage { *

                              */ ResourceName: string | undefined; + + /** + *

                              The tag key (name) of the tag to be removed.

                              + */ + TagKeys: string[] | undefined; } export namespace RemoveTagsFromResourceMessage { @@ -4684,25 +4721,6 @@ export namespace ResetDBClusterParameterGroupMessage { *

                              */ export interface ResetDBParameterGroupMessage { - /** - *

                              - * A value that indicates whether to reset all parameters in the DB parameter group to default values. - * By default, all parameters in the DB parameter group are reset to default values. - *

                              - */ - ResetAllParameters?: boolean; - - /** - *

                              The name of the DB parameter group.

                              - *

                              Constraints:

                              - *
                                - *
                              • - *

                                Must match the name of an existing DBParameterGroup.

                                - *
                              • - *
                              - */ - DBParameterGroupName: string | undefined; - /** *

                              To reset the entire DB parameter group, specify the DBParameterGroup * name and ResetAllParameters parameters. To reset specific parameters, @@ -4732,6 +4750,25 @@ export interface ResetDBParameterGroupMessage { *

                              */ Parameters?: Parameter[]; + + /** + *

                              + * A value that indicates whether to reset all parameters in the DB parameter group to default values. + * By default, all parameters in the DB parameter group are reset to default values. + *

                              + */ + ResetAllParameters?: boolean; + + /** + *

                              The name of the DB parameter group.

                              + *

                              Constraints:

                              + *
                                + *
                              • + *

                                Must match the name of an existing DBParameterGroup.

                                + *
                              • + *
                              + */ + DBParameterGroupName: string | undefined; } export namespace ResetDBParameterGroupMessage { @@ -4758,40 +4795,22 @@ export namespace InvalidS3BucketFault { export interface RestoreDBClusterFromS3Message { /** - *

                              The target backtrack window, in seconds. To disable backtracking, set this value to - * 0.

                              - * - *

                              Currently, Backtrack is only supported for Aurora MySQL DB clusters.

                              - *
                              - *

                              Default: 0

                              + *

                              A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

                              + */ + CopyTagsToSnapshot?: boolean; + + /** + *

                              The name of the DB cluster parameter group to associate + * with the restored DB cluster. If this argument is omitted, default.aurora5.6 is used. + *

                              *

                              Constraints:

                              *
                                *
                              • - *

                                If specified, this value must be set to a number from 0 to 259,200 (72 hours).

                                + *

                                If supplied, must match the name of an existing DBClusterParameterGroup.

                                *
                              • *
                              */ - BacktrackWindow?: number; - - /** - *

                              A DB subnet group to associate with the restored DB cluster.

                              - *

                              Constraints: If supplied, must match the name of an existing DBSubnetGroup. - *

                              - *

                              Example: mySubnetgroup - *

                              - */ - DBSubnetGroupName?: string; - - /** - *

                              The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes - * Amazon RDS to access the Amazon S3 bucket on your behalf.

                              - */ - S3IngestionRoleArn: string | undefined; - - /** - *

                              A list of EC2 VPC security groups to associate with the restored DB cluster.

                              - */ - VpcSecurityGroupIds?: string[]; + DBClusterParameterGroupName?: string; /** *

                              The daily time range during which automated backups are created @@ -4822,33 +4841,6 @@ export interface RestoreDBClusterFromS3Message { */ PreferredBackupWindow?: string; - /** - *

                              The version number of the database engine to use.

                              - *

                              To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command:

                              - *

                              - * aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion" - *

                              - *

                              To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command:

                              - *

                              - * aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion" - *

                              - *

                              To list all of the available engine versions for aurora-postgresql, use the following command:

                              - *

                              - * aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion" - *

                              - *

                              - * Aurora MySQL - *

                              - *

                              Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5 - *

                              - *

                              - * Aurora PostgreSQL - *

                              - *

                              Example: 9.6.3, 10.7 - *

                              - */ - EngineVersion?: string; - /** *

                              The name of the DB cluster to create from the source data in the Amazon S3 bucket. This parameter isn't case-sensitive.

                              *

                              Constraints:

                              @@ -4869,46 +4861,68 @@ export interface RestoreDBClusterFromS3Message { DBClusterIdentifier: string | undefined; /** - *

                              The identifier for the database engine that was backed up to create the files stored in the - * Amazon S3 bucket. - *

                              - *

                              Valid values: mysql - *

                              + *

                              The number of days for which automated backups of the restored DB cluster are retained. You must specify a minimum value of 1.

                              + *

                              Default: 1

                              + *

                              Constraints:

                              + *
                                + *
                              • + *

                                Must be a value from 1 to 35

                                + *
                              • + *
                              */ - SourceEngine: string | undefined; + BackupRetentionPeriod?: number; /** - *

                              A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

                              + *

                              A value that indicates that the restored DB cluster should be associated with the specified CharacterSet.

                              */ - CopyTagsToSnapshot?: boolean; + CharacterSetName?: string; /** - *

                              The version of the database that the backup files were created from.

                              - *

                              MySQL versions 5.5, 5.6, and 5.7 are supported. + *

                              The port number on which the instances in the restored DB cluster accept connections.

                              + *

                              + * Default: 3306 *

                              - *

                              Example: 5.6.40 - *

                              */ - SourceEngineVersion: string | undefined; + Port?: number; /** - *

                              A list of tags. - * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                              The name of the Amazon S3 bucket that contains the data used to create the Amazon Aurora DB cluster.

                              + */ + S3BucketName: string | undefined; + + /** + *

                              A value that indicates whether to enable mapping of AWS Identity and Access + * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                              + * + *

                              For more information, see + * + * IAM Database Authentication in the Amazon Aurora User Guide. *

                              */ - Tags?: Tag[]; + EnableIAMDatabaseAuthentication?: boolean; /** - *

                              The name of the database engine to be used for the restored DB cluster.

                              - *

                              Valid Values: aurora, aurora-postgresql - *

                              + *

                              The target backtrack window, in seconds. To disable backtracking, set this value to + * 0.

                              + * + *

                              Currently, Backtrack is only supported for Aurora MySQL DB clusters.

                              + *
                              + *

                              Default: 0

                              + *

                              Constraints:

                              + *
                                + *
                              • + *

                                If specified, this value must be set to a number from 0 to 259,200 (72 hours).

                                + *
                              • + *
                              */ - Engine: string | undefined; + BacktrackWindow?: number; /** - *

                              Specify the name of the IAM role to be used when making API calls to the Directory Service.

                              + *

                              The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values + * in the list depend on the DB engine being used. For more information, see + * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

                              */ - DomainIAMRoleName?: string; + EnableCloudwatchLogsExports?: string[]; /** *

                              Specify the Active Directory directory ID to restore the DB cluster in. @@ -4923,42 +4937,46 @@ export interface RestoreDBClusterFromS3Message { Domain?: string; /** - *

                              A value that indicates whether the restored DB cluster is encrypted.

                              - */ - StorageEncrypted?: boolean; - - /** - *

                              A value that indicates that the restored DB cluster should be associated with the specified option group.

                              - *

                              Permanent options can't be removed from an option group. An option group can't be removed from a - * DB cluster once it is associated with a DB cluster.

                              + *

                              A value that indicates whether the DB cluster has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. + *

                              */ - OptionGroupName?: string; + DeletionProtection?: boolean; /** - *

                              The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

                              - *

                              Format: ddd:hh24:mi-ddd:hh24:mi + *

                              A DB subnet group to associate with the restored DB cluster.

                              + *

                              Constraints: If supplied, must match the name of an existing DBSubnetGroup. *

                              - *

                              The default is a 30-minute window selected at random from an - * 8-hour block of time for each AWS Region, occurring on a random day of the - * week. To see the time blocks available, see - * - * Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide. + *

                              Example: mySubnetgroup *

                              - *

                              Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                              - *

                              Constraints: Minimum 30-minute window.

                              */ - PreferredMaintenanceWindow?: string; + DBSubnetGroupName?: string; /** - *

                              The port number on which the instances in the restored DB cluster accept connections.

                              - *

                              - * Default: 3306 - *

                              + *

                              A list of Availability Zones (AZs) where instances in the restored DB cluster can be created.

                              */ - Port?: number; + AvailabilityZones?: string[]; /** - *

                              The AWS KMS key identifier for an encrypted DB cluster.

                              + *

                              The name of the master user for the restored DB cluster.

                              + *

                              Constraints:

                              + *
                                + *
                              • + *

                                Must be 1 to 16 letters or numbers.

                                + *
                              • + *
                              • + *

                                First character must be a letter.

                                + *
                              • + *
                              • + *

                                Can't be a reserved word for the chosen database engine.

                                + *
                              • + *
                              + */ + MasterUsername: string | undefined; + + /** + *

                              The AWS KMS key identifier for an encrypted DB cluster.

                              *

                              The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.

                              *

                              If the StorageEncrypted parameter is enabled, and you do * not specify a value for the KmsKeyId parameter, then @@ -4969,24 +4987,28 @@ export interface RestoreDBClusterFromS3Message { KmsKeyId?: string; /** - *

                              The prefix for all of the file names that contain the data used to create the Amazon Aurora DB cluster. - * If you do not specify a SourceS3Prefix value, then the Amazon Aurora DB cluster is - * created by using all of the files in the Amazon S3 bucket.

                              - */ - S3Prefix?: string; - - /** - *

                              A value that indicates that the restored DB cluster should be associated with the specified CharacterSet.

                              + *

                              The version of the database that the backup files were created from.

                              + *

                              MySQL versions 5.5, 5.6, and 5.7 are supported. + *

                              + *

                              Example: 5.6.40, 5.7.28 + *

                              */ - CharacterSetName?: string; + SourceEngineVersion: string | undefined; /** - *

                              A value that indicates whether the DB cluster has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. + *

                              The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

                              + *

                              Format: ddd:hh24:mi-ddd:hh24:mi + *

                              + *

                              The default is a 30-minute window selected at random from an + * 8-hour block of time for each AWS Region, occurring on a random day of the + * week. To see the time blocks available, see + * + * Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide. *

                              + *

                              Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                              + *

                              Constraints: Minimum 30-minute window.

                              */ - DeletionProtection?: boolean; + PreferredMaintenanceWindow?: string; /** *

                              The database name for the restored DB cluster.

                              @@ -4994,80 +5016,95 @@ export interface RestoreDBClusterFromS3Message { DatabaseName?: string; /** - *

                              The name of the master user for the restored DB cluster.

                              - *

                              Constraints:

                              - *
                                - *
                              • - *

                                Must be 1 to 16 letters or numbers.

                                - *
                              • - *
                              • - *

                                First character must be a letter.

                                - *
                              • - *
                              • - *

                                Can't be a reserved word for the chosen database engine.

                                - *
                              • - *
                              + *

                              A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                              */ - MasterUsername: string | undefined; + Tags?: Tag[]; /** - *

                              A list of Availability Zones (AZs) where instances in the restored DB cluster can be created.

                              + *

                              A value that indicates that the restored DB cluster should be associated with the specified option group.

                              + *

                              Permanent options can't be removed from an option group. An option group can't be removed from a + * DB cluster once it is associated with a DB cluster.

                              */ - AvailabilityZones?: string[]; + OptionGroupName?: string; /** - *

                              The name of the DB cluster parameter group to associate - * with the restored DB cluster. If this argument is omitted, default.aurora5.6 is used. + *

                              The password for the master database user. This password can contain any printable ASCII character except "/", """, or "@".

                              + *

                              Constraints: Must contain from 8 to 41 characters.

                              + */ + MasterUserPassword: string | undefined; + + /** + *

                              The version number of the database engine to use.

                              + *

                              To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command:

                              + *

                              + * aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion" + *

                              + *

                              To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command:

                              + *

                              + * aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion" + *

                              + *

                              To list all of the available engine versions for aurora-postgresql, use the following command:

                              + *

                              + * aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion" + *

                              + *

                              + * Aurora MySQL + *

                              + *

                              Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5 + *

                              + *

                              + * Aurora PostgreSQL + *

                              + *

                              Example: 9.6.3, 10.7 *

                              - *

                              Constraints:

                              - *
                                - *
                              • - *

                                If supplied, must match the name of an existing DBClusterParameterGroup.

                                - *
                              • - *
                              */ - DBClusterParameterGroupName?: string; + EngineVersion?: string; /** - *

                              The name of the Amazon S3 bucket that contains the data used to create the Amazon Aurora DB cluster.

                              + *

                              The prefix for all of the file names that contain the data used to create the Amazon Aurora DB cluster. + * If you do not specify a SourceS3Prefix value, then the Amazon Aurora DB cluster is + * created by using all of the files in the Amazon S3 bucket.

                              */ - S3BucketName: string | undefined; + S3Prefix?: string; /** - *

                              The number of days for which automated backups of the restored DB cluster are retained. You must specify a minimum value of 1.

                              - *

                              Default: 1

                              - *

                              Constraints:

                              - *
                                - *
                              • - *

                                Must be a value from 1 to 35

                                - *
                              • - *
                              + *

                              Specify the name of the IAM role to be used when making API calls to the Directory Service.

                              */ - BackupRetentionPeriod?: number; + DomainIAMRoleName?: string; /** - *

                              The password for the master database user. This password can contain any printable ASCII character except "/", """, or "@".

                              - *

                              Constraints: Must contain from 8 to 41 characters.

                              + *

                              The name of the database engine to be used for this DB cluster.

                              + *

                              Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for MySQL 5.7-compatible Aurora), and aurora-postgresql + *

                              */ - MasterUserPassword: string | undefined; + Engine: string | undefined; /** - *

                              A value that indicates whether to enable mapping of AWS Identity and Access - * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                              - * - *

                              For more information, see - * - * IAM Database Authentication in the Amazon Aurora User Guide. + *

                              The identifier for the database engine that was backed up to create the files stored in the + * Amazon S3 bucket. + *

                              + *

                              Valid values: mysql *

                              */ - EnableIAMDatabaseAuthentication?: boolean; + SourceEngine: string | undefined; /** - *

                              The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values - * in the list depend on the DB engine being used. For more information, see - * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

                              + *

                              The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes + * Amazon RDS to access the Amazon S3 bucket on your behalf.

                              */ - EnableCloudwatchLogsExports?: string[]; + S3IngestionRoleArn: string | undefined; + + /** + *

                              A list of EC2 VPC security groups to associate with the restored DB cluster.

                              + */ + VpcSecurityGroupIds?: string[]; + + /** + *

                              A value that indicates whether the restored DB cluster is encrypted.

                              + */ + StorageEncrypted?: boolean; } export namespace RestoreDBClusterFromS3Message { @@ -5127,6 +5164,101 @@ export namespace InvalidRestoreFault { *

                              */ export interface RestoreDBClusterFromSnapshotMessage { + /** + *

                              The version of the database engine to use for the new DB cluster.

                              + *

                              To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command:

                              + *

                              + * aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion" + *

                              + *

                              To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command:

                              + *

                              + * aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion" + *

                              + *

                              To list all of the available engine versions for aurora-postgresql, use the following command:

                              + *

                              + * aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion" + *

                              + * + *

                              If you aren't using the default engine version, then you must specify the engine version.

                              + *
                              + *

                              + * Aurora MySQL + *

                              + *

                              Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5 + *

                              + *

                              + * Aurora PostgreSQL + *

                              + *

                              Example: 9.6.3, 10.7 + *

                              + */ + EngineVersion?: string; + + /** + *

                              The DB engine mode of the DB cluster, either provisioned, serverless, + * parallelquery, global, or multimaster.

                              + *

                              For more information, see + * CreateDBCluster.

                              + */ + EngineMode?: string; + + /** + *

                              The identifier for the DB snapshot or DB cluster snapshot to restore from.

                              + *

                              You can use either the name or the Amazon Resource Name (ARN) to specify a DB + * cluster snapshot. However, you can use only the ARN to specify a DB snapshot.

                              + *

                              Constraints:

                              + *
                                + *
                              • + *

                                Must match the identifier of an existing Snapshot.

                                + *
                              • + *
                              + */ + SnapshotIdentifier: string | undefined; + + /** + *

                              The database engine to use for the new DB cluster.

                              + *

                              Default: The same as source

                              + *

                              Constraint: Must be compatible with the engine of the source

                              + */ + Engine: string | undefined; + + /** + *

                              Specify the name of the IAM role to be used when making API calls to the Directory Service.

                              + */ + DomainIAMRoleName?: string; + + /** + *

                              For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.

                              + */ + ScalingConfiguration?: ScalingConfiguration; + + /** + *

                              The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. + * The values in the list depend on the DB engine being used. For more information, see + * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon + * Aurora User Guide.

                              + */ + EnableCloudwatchLogsExports?: string[]; + + /** + *

                              A value that indicates whether to enable mapping of AWS Identity and Access + * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                              + * + *

                              For more information, see + * + * IAM Database Authentication in the Amazon Aurora User Guide. + *

                              + */ + EnableIAMDatabaseAuthentication?: boolean; + + /** + *

                              The port number on which the new DB cluster accepts connections.

                              + *

                              Constraints: This value must be 1150-65535 + *

                              + *

                              Default: The same port as the original DB cluster.

                              + */ + Port?: number; + /** *

                              The name of the DB cluster parameter group to associate with this DB cluster. If this * argument is omitted, the default DB cluster parameter group for the specified engine is @@ -5155,9 +5287,40 @@ export interface RestoreDBClusterFromSnapshotMessage { CopyTagsToSnapshot?: boolean; /** - *

                              The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. - * This parameter isn't case-sensitive.

                              - *

                              Constraints:

                              + *

                              The tags to be assigned to the restored DB cluster.

                              + */ + Tags?: Tag[]; + + /** + *

                              Specify the Active Directory directory ID to restore the DB cluster in. + * The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL + * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                              + *

                              For more information, see + * Kerberos Authentication in the Amazon RDS User Guide. + *

                              + */ + Domain?: string; + + /** + *

                              The target backtrack window, in seconds. To disable backtracking, set this value to + * 0.

                              + * + *

                              Currently, Backtrack is only supported for Aurora MySQL DB clusters.

                              + *
                              + *

                              Default: 0

                              + *

                              Constraints:

                              + *
                                + *
                              • + *

                                If specified, this value must be set to a number from 0 to 259,200 (72 hours).

                                + *
                              • + *
                              + */ + BacktrackWindow?: number; + + /** + *

                              The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. + * This parameter isn't case-sensitive.

                              + *

                              Constraints:

                              *
                                *
                              • *

                                Must contain from 1 to 63 letters, numbers, or hyphens

                                @@ -5175,30 +5338,14 @@ export interface RestoreDBClusterFromSnapshotMessage { DBClusterIdentifier: string | undefined; /** - *

                                The name of the option group to use for the restored DB cluster.

                                - */ - OptionGroupName?: string; - - /** - *

                                The port number on which the new DB cluster accepts connections.

                                - *

                                Constraints: This value must be 1150-65535 - *

                                - *

                                Default: The same port as the original DB cluster.

                                - */ - Port?: number; - - /** - *

                                A value that indicates whether the DB cluster has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. - *

                                + *

                                The database name for the restored DB cluster.

                                */ - DeletionProtection?: boolean; + DatabaseName?: string; /** - *

                                The database name for the restored DB cluster.

                                + *

                                The name of the option group to use for the restored DB cluster.

                                */ - DatabaseName?: string; + OptionGroupName?: string; /** *

                                The AWS KMS key identifier to use when restoring an encrypted DB cluster from a DB @@ -5226,95 +5373,12 @@ export interface RestoreDBClusterFromSnapshotMessage { KmsKeyId?: string; /** - *

                                For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.

                                - */ - ScalingConfiguration?: ScalingConfiguration; - - /** - *

                                The version of the database engine to use for the new DB cluster.

                                - *

                                To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command:

                                - *

                                - * aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion" - *

                                - *

                                To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command:

                                - *

                                - * aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion" - *

                                - *

                                To list all of the available engine versions for aurora-postgresql, use the following command:

                                - *

                                - * aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion" - *

                                - * - *

                                If you aren't using the default engine version, then you must specify the engine version.

                                - *
                                - *

                                - * Aurora MySQL - *

                                - *

                                Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5 - *

                                - *

                                - * Aurora PostgreSQL - *

                                - *

                                Example: 9.6.3, 10.7 - *

                                - */ - EngineVersion?: string; - - /** - *

                                Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                - */ - DomainIAMRoleName?: string; - - /** - *

                                The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. - * The values in the list depend on the DB engine being used. For more information, see - * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon - * Aurora User Guide.

                                - */ - EnableCloudwatchLogsExports?: string[]; - - /** - *

                                The database engine to use for the new DB cluster.

                                - *

                                Default: The same as source

                                - *

                                Constraint: Must be compatible with the engine of the source

                                - */ - Engine: string | undefined; - - /** - *

                                A value that indicates whether to enable mapping of AWS Identity and Access - * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                - * - *

                                For more information, see - * - * IAM Database Authentication in the Amazon Aurora User Guide. - *

                                - */ - EnableIAMDatabaseAuthentication?: boolean; - - /** - *

                                Provides the list of Availability Zones (AZs) where instances in the restored DB - * cluster can be created.

                                - */ - AvailabilityZones?: string[]; - - /** - *

                                The identifier for the DB snapshot or DB cluster snapshot to restore from.

                                - *

                                You can use either the name or the Amazon Resource Name (ARN) to specify a DB - * cluster snapshot. However, you can use only the ARN to specify a DB snapshot.

                                - *

                                Constraints:

                                - *
                                  - *
                                • - *

                                  Must match the identifier of an existing Snapshot.

                                  - *
                                • - *
                                - */ - SnapshotIdentifier: string | undefined; - - /** - *

                                The DB engine mode of the DB cluster, either provisioned, serverless, - * parallelquery, global, or multimaster.

                                + *

                                A value that indicates whether the DB cluster has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. + *

                                */ - EngineMode?: string; + DeletionProtection?: boolean; /** *

                                The name of the DB subnet group to use for the new DB cluster.

                                @@ -5330,32 +5394,10 @@ export interface RestoreDBClusterFromSnapshotMessage { VpcSecurityGroupIds?: string[]; /** - *

                                The tags to be assigned to the restored DB cluster.

                                - */ - Tags?: Tag[]; - - /** - *

                                Specify the Active Directory directory ID to restore the DB cluster in. - * The domain must be created prior to this operation. - *

                                - */ - Domain?: string; - - /** - *

                                The target backtrack window, in seconds. To disable backtracking, set this value to - * 0.

                                - * - *

                                Currently, Backtrack is only supported for Aurora MySQL DB clusters.

                                - *
                                - *

                                Default: 0

                                - *

                                Constraints:

                                - *
                                  - *
                                • - *

                                  If specified, this value must be set to a number from 0 to 259,200 (72 hours).

                                  - *
                                • - *
                                + *

                                Provides the list of Availability Zones (AZs) where instances in the restored DB + * cluster can be created.

                                */ - BacktrackWindow?: number; + AvailabilityZones?: string[]; } export namespace RestoreDBClusterFromSnapshotMessage { @@ -5386,47 +5428,87 @@ export namespace RestoreDBClusterFromSnapshotResult { */ export interface RestoreDBClusterToPointInTimeMessage { /** - *

                                The name of the DB cluster parameter group to associate with this DB cluster. - * If this argument is omitted, the default DB cluster parameter group for the specified engine is used.

                                - *

                                Constraints:

                                - *
                                  + *

                                  The date and time to restore the DB cluster to.

                                  + *

                                  Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

                                  + *

                                  Constraints:

                                  + *
                                    *
                                  • - *

                                    If supplied, must match the name of an existing DB cluster parameter group.

                                    + *

                                    Must be before the latest restorable time for the DB instance

                                    *
                                  • *
                                  • - *

                                    Must be 1 to 255 letters, numbers, or hyphens.

                                    + *

                                    Must be specified if UseLatestRestorableTime parameter isn't provided

                                    *
                                  • *
                                  • - *

                                    First character must be a letter.

                                    + *

                                    Can't be specified if the UseLatestRestorableTime parameter is enabled

                                    *
                                  • *
                                  • - *

                                    Can't end with a hyphen or contain two consecutive hyphens.

                                    + *

                                    Can't be specified if the RestoreType parameter is copy-on-write + *

                                    *
                                  • *
                                  + *

                                  Example: 2015-03-07T23:45:00Z + *

                                  */ - DBClusterParameterGroupName?: string; + RestoreToTime?: Date; /** - *

                                  The name of the option group for the new DB cluster.

                                  + *

                                  The port number on which the new DB cluster accepts connections.

                                  + *

                                  Constraints: A value from 1150-65535. + *

                                  + *

                                  Default: The default port for the engine.

                                  */ - OptionGroupName?: string; + Port?: number; /** - *

                                  The name of the new DB cluster to be created.

                                  - *

                                  Constraints:

                                  + *

                                  The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

                                  + *

                                  The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

                                  + *

                                  You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the + * KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key + * identified by the KmsKeyId parameter.

                                  + *

                                  If you don't specify a value for the KmsKeyId parameter, then the following occurs:

                                  *
                                    *
                                  • - *

                                    Must contain from 1 to 63 letters, numbers, or hyphens

                                    - *
                                  • - *
                                  • - *

                                    First character must be a letter

                                    + *

                                    If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

                                    *
                                  • *
                                  • - *

                                    Can't end with a hyphen or contain two consecutive hyphens

                                    + *

                                    If the DB cluster isn't encrypted, then the restored DB cluster isn't encrypted.

                                    *
                                  • *
                                  + * + *

                                  If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then the restore request + * is rejected.

                                  */ - DBClusterIdentifier: string | undefined; + KmsKeyId?: string; + + /** + *

                                  A value that indicates whether to enable mapping of AWS Identity and Access + * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                  + * + *

                                  For more information, see + * + * IAM Database Authentication in the Amazon Aurora User Guide. + *

                                  + */ + EnableIAMDatabaseAuthentication?: boolean; + + /** + *

                                  The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values + * in the list depend on the DB engine being used. For more information, see + * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

                                  + */ + EnableCloudwatchLogsExports?: string[]; + + /** + *

                                  Specify the Active Directory directory ID to restore the DB cluster in. + * The domain must be created prior to this operation. + *

                                  + *

                                  + * For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. + * For more information, see Kerberos Authentication + * in the Amazon Aurora User Guide. + *

                                  + */ + Domain?: string; /** *

                                  The type of restore to be performed. You can specify one of the following values:

                                  @@ -5449,49 +5531,64 @@ export interface RestoreDBClusterToPointInTimeMessage { RestoreType?: string; /** - *

                                  A list of tags. - * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. - *

                                  + *

                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                  */ - Tags?: Tag[]; + DomainIAMRoleName?: string; /** - *

                                  The date and time to restore the DB cluster to.

                                  - *

                                  Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

                                  - *

                                  Constraints:

                                  - *
                                    - *
                                  • - *

                                    Must be before the latest restorable time for the DB instance

                                    - *
                                  • - *
                                  • - *

                                    Must be specified if UseLatestRestorableTime parameter isn't provided

                                    - *
                                  • - *
                                  • - *

                                    Can't be specified if the UseLatestRestorableTime parameter is enabled

                                    - *
                                  • + *

                                    The target backtrack window, in seconds. To disable backtracking, set this value to + * 0.

                                    + * + *

                                    Currently, Backtrack is only supported for Aurora MySQL DB clusters.

                                    + *
                                    + *

                                    Default: 0

                                    + *

                                    Constraints:

                                    + *
                                      *
                                    • - *

                                      Can't be specified if the RestoreType parameter is copy-on-write - *

                                      + *

                                      If specified, this value must be set to a number from 0 to 259,200 (72 hours).

                                      *
                                    • *
                                    - *

                                    Example: 2015-03-07T23:45:00Z + */ + BacktrackWindow?: number; + + /** + *

                                    A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. *

                                    */ - RestoreToTime?: Date; + Tags?: Tag[]; /** - *

                                    The port number on which the new DB cluster accepts connections.

                                    - *

                                    Constraints: A value from 1150-65535. - *

                                    - *

                                    Default: The default port for the engine.

                                    + *

                                    A list of VPC security groups that the new DB cluster belongs to.

                                    */ - Port?: number; + VpcSecurityGroupIds?: string[]; /** *

                                    A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

                                    */ CopyTagsToSnapshot?: boolean; + /** + *

                                    The name of the DB cluster parameter group to associate with this DB cluster. + * If this argument is omitted, the default DB cluster parameter group for the specified engine is used.

                                    + *

                                    Constraints:

                                    + *
                                      + *
                                    • + *

                                      If supplied, must match the name of an existing DB cluster parameter group.

                                      + *
                                    • + *
                                    • + *

                                      Must be 1 to 255 letters, numbers, or hyphens.

                                      + *
                                    • + *
                                    • + *

                                      First character must be a letter.

                                      + *
                                    • + *
                                    • + *

                                      Can't end with a hyphen or contain two consecutive hyphens.

                                      + *
                                    • + *
                                    + */ + DBClusterParameterGroupName?: string; + /** *

                                    The identifier of the source DB cluster from which to restore.

                                    *

                                    Constraints:

                                    @@ -5503,36 +5600,6 @@ export interface RestoreDBClusterToPointInTimeMessage { */ SourceDBClusterIdentifier: string | undefined; - /** - *

                                    The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values - * in the list depend on the DB engine being used. For more information, see - * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

                                    - */ - EnableCloudwatchLogsExports?: string[]; - - /** - *

                                    A value that indicates whether to enable mapping of AWS Identity and Access - * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                    - * - *

                                    For more information, see - * - * IAM Database Authentication in the Amazon Aurora User Guide. - *

                                    - */ - EnableIAMDatabaseAuthentication?: boolean; - - /** - *

                                    Specify the Active Directory directory ID to restore the DB cluster in. - * The domain must be created prior to this operation. - *

                                    - *

                                    - * For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. - * For more information, see Kerberos Authentication - * in the Amazon Aurora User Guide. - *

                                    - */ - Domain?: string; - /** *

                                    A value that indicates whether to restore the DB cluster to the latest * restorable backup time. By default, the DB cluster isn't restored to the latest @@ -5542,35 +5609,6 @@ export interface RestoreDBClusterToPointInTimeMessage { */ UseLatestRestorableTime?: boolean; - /** - *

                                    The target backtrack window, in seconds. To disable backtracking, set this value to - * 0.

                                    - * - *

                                    Currently, Backtrack is only supported for Aurora MySQL DB clusters.

                                    - *
                                    - *

                                    Default: 0

                                    - *

                                    Constraints:

                                    - *
                                      - *
                                    • - *

                                      If specified, this value must be set to a number from 0 to 259,200 (72 hours).

                                      - *
                                    • - *
                                    - */ - BacktrackWindow?: number; - - /** - *

                                    Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                    - */ - DomainIAMRoleName?: string; - - /** - *

                                    The DB subnet group name to use for the new DB cluster.

                                    - *

                                    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                    - *

                                    Example: mySubnetgroup - *

                                    - */ - DBSubnetGroupName?: string; - /** *

                                    A value that indicates whether the DB cluster has deletion protection enabled. * The database can't be deleted when deletion protection is enabled. By default, @@ -5580,30 +5618,34 @@ export interface RestoreDBClusterToPointInTimeMessage { DeletionProtection?: boolean; /** - *

                                    A list of VPC security groups that the new DB cluster belongs to.

                                    + *

                                    The DB subnet group name to use for the new DB cluster.

                                    + *

                                    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                    + *

                                    Example: mySubnetgroup + *

                                    */ - VpcSecurityGroupIds?: string[]; + DBSubnetGroupName?: string; /** - *

                                    The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

                                    - *

                                    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

                                    - *

                                    You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the - * KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key - * identified by the KmsKeyId parameter.

                                    - *

                                    If you don't specify a value for the KmsKeyId parameter, then the following occurs:

                                    + *

                                    The name of the new DB cluster to be created.

                                    + *

                                    Constraints:

                                    *
                                      *
                                    • - *

                                      If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

                                      + *

                                      Must contain from 1 to 63 letters, numbers, or hyphens

                                      *
                                    • *
                                    • - *

                                      If the DB cluster isn't encrypted, then the restored DB cluster isn't encrypted.

                                      + *

                                      First character must be a letter

                                      + *
                                    • + *
                                    • + *

                                      Can't end with a hyphen or contain two consecutive hyphens

                                      *
                                    • *
                                    - * - *

                                    If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then the restore request - * is rejected.

                                    */ - KmsKeyId?: string; + DBClusterIdentifier: string | undefined; + + /** + *

                                    The name of the option group for the new DB cluster.

                                    + */ + OptionGroupName?: string; } export namespace RestoreDBClusterToPointInTimeMessage { @@ -5634,46 +5676,99 @@ export namespace RestoreDBClusterToPointInTimeResult { */ export interface RestoreDBInstanceFromDBSnapshotMessage { /** - *

                                    Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive.

                                    + *

                                    The port number on which the database accepts connections.

                                    + *

                                    Default: The same port as the original DB instance

                                    + *

                                    Constraints: Value must be 1150-65535 + *

                                    + */ + Port?: number; + + /** + *

                                    A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

                                    + */ + CopyTagsToSnapshot?: boolean; + + /** + *

                                    A value that indicates whether the DB instance class of the DB instance uses its default + * processor features.

                                    + */ + UseDefaultProcessorFeatures?: boolean; + + /** + *

                                    The DB subnet group name to use for the new instance.

                                    + *

                                    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                    + *

                                    Example: mySubnetgroup + *

                                    + */ + DBSubnetGroupName?: string; + + /** + *

                                    A value that indicates whether to enable mapping of AWS Identity and Access + * Management (IAM) accounts to database accounts. By default, mapping is disabled. + * For information about the supported DB engines, see CreateDBInstance.

                                    + * + *

                                    For more information about IAM database authentication, see + * + * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. + *

                                    + */ + EnableIAMDatabaseAuthentication?: boolean; + + /** + *

                                    The identifier for the DB snapshot to restore from.

                                    *

                                    Constraints:

                                    *
                                      *
                                    • - *

                                      Must contain from 1 to 63 numbers, letters, or hyphens

                                      - *
                                    • - *
                                    • - *

                                      First character must be a letter

                                      + *

                                      Must match the identifier of an existing DBSnapshot.

                                      *
                                    • *
                                    • - *

                                      Can't end with a hyphen or contain two consecutive hyphens

                                      + *

                                      If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier + * must be the ARN of the shared DB snapshot.

                                      *
                                    • *
                                    - *

                                    Example: my-snapshot-id - *

                                    */ - DBInstanceIdentifier: string | undefined; + DBSnapshotIdentifier: string | undefined; /** - *

                                    - * A list of EC2 VPC security groups to associate with this DB instance. - *

                                    - *

                                    - * Default: The default EC2 VPC security group for the DB subnet group's VPC. + *

                                    The list of logs that the restored DB instance is to export to CloudWatch Logs. The values + * in the list depend on the DB engine being used. For more information, see + * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                    + */ + EnableCloudwatchLogsExports?: string[]; + + /** + *

                                    Specify the Active Directory directory ID to restore the DB instance in. + * The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL + * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                    + *

                                    For more information, see + * Kerberos Authentication in the Amazon RDS User Guide.

                                    + */ + Domain?: string; + + /** + *

                                    A value that indicates whether the DB instance has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. For more information, see + * + * Deleting a DB Instance. *

                                    */ - VpcSecurityGroupIds?: string[]; + DeletionProtection?: boolean; /** - *

                                    The DB subnet group name to use for the new instance.

                                    - *

                                    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                    - *

                                    Example: mySubnetgroup - *

                                    + *

                                    The database name for the restored DB instance.

                                    + * + *

                                    This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.

                                    + *
                                    */ - DBSubnetGroupName?: string; + DBName?: string; /** - *

                                    The password for the given ARN from the key store in order to access the device.

                                    + *

                                    The name of the option group to be used for the restored DB instance.

                                    + * + *

                                    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                    */ - TdeCredentialPassword?: string; + OptionGroupName?: string; /** *

                                    License model information for the restored DB instance.

                                    @@ -5685,16 +5780,155 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { LicenseModel?: string; /** - *

                                    A value that indicates whether the DB instance is a Multi-AZ deployment.

                                    - *

                                    Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                    + *

                                    A value that indicates whether the DB instance is publicly accessible.

                                    + *

                                    When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, + * and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, + * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                    + *

                                    When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                    + *

                                    For more information, see CreateDBInstance.

                                    */ - MultiAZ?: boolean; + PubliclyAccessible?: boolean; + + /** + *

                                    The Availability Zone (AZ) where the DB instance will be created.

                                    + *

                                    Default: A random, system-chosen Availability Zone.

                                    + *

                                    Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                    + *

                                    Example: us-east-1a + *

                                    + */ + AvailabilityZone?: string; + + /** + *

                                    Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. + * If this parameter isn't specified, the IOPS value is taken from the backup. + * If this parameter is set to 0, the new instance is converted to a non-PIOPS instance. + * The conversion takes additional time, though your DB instance is available for connections before the conversion starts. + *

                                    + *

                                    The provisioned IOPS value must follow the requirements for your database engine. + * For more information, see + * Amazon RDS Provisioned IOPS Storage to Improve Performance + * in the Amazon RDS User Guide. + *

                                    + *

                                    Constraints: Must be an integer greater than 1000.

                                    + */ + Iops?: number; + + /** + *

                                    Specifies the storage type to be associated with the DB instance.

                                    + *

                                    + * Valid values: standard | gp2 | io1 + *

                                    + *

                                    + * If you specify io1, you must also include a value for the + * Iops parameter. + *

                                    + *

                                    + * Default: io1 if the Iops parameter + * is specified, otherwise gp2 + *

                                    + */ + StorageType?: string; + + /** + *

                                    The name of the DB parameter group to associate with this DB instance.

                                    + *

                                    If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup + * for the specified DB engine is used.

                                    + *

                                    Constraints:

                                    + *
                                      + *
                                    • + *

                                      If supplied, must match the name of an existing DBParameterGroup.

                                      + *
                                    • + *
                                    • + *

                                      Must be 1 to 255 letters, numbers, or hyphens.

                                      + *
                                    • + *
                                    • + *

                                      First character must be a letter.

                                      + *
                                    • + *
                                    • + *

                                      Can't end with a hyphen or contain two consecutive hyphens.

                                      + *
                                    • + *
                                    + */ + DBParameterGroupName?: string; + + /** + *

                                    A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

                                    + */ + AutoMinorVersionUpgrade?: boolean; + + /** + *

                                    The password for the given ARN from the key store in order to access the device.

                                    + */ + TdeCredentialPassword?: string; + + /** + *

                                    Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive.

                                    + *

                                    Constraints:

                                    + *
                                      + *
                                    • + *

                                      Must contain from 1 to 63 numbers, letters, or hyphens

                                      + *
                                    • + *
                                    • + *

                                      First character must be a letter

                                      + *
                                    • + *
                                    • + *

                                      Can't end with a hyphen or contain two consecutive hyphens

                                      + *
                                    • + *
                                    + *

                                    Example: my-snapshot-id + *

                                    + */ + DBInstanceIdentifier: string | undefined; + + /** + *

                                    + * A list of EC2 VPC security groups to associate with this DB instance. + *

                                    + *

                                    + * Default: The default EC2 VPC security group for the DB subnet group's VPC. + *

                                    + */ + VpcSecurityGroupIds?: string[]; + + /** + *

                                    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                    + */ + ProcessorFeatures?: ProcessorFeature[]; + + /** + *

                                    The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. + * Not all DB instance classes are available in all AWS Regions, or for all database engines. + * For the full list of DB instance classes, + * and availability for your engine, see + * DB Instance Class in the Amazon RDS User Guide. + *

                                    + *

                                    Default: The same DBInstanceClass as the original DB instance.

                                    + */ + DBInstanceClass?: string; /** *

                                    The ARN from the key store with which to associate the instance for TDE encryption.

                                    */ TdeCredentialArn?: string; + /** + *

                                    A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                    + */ + Tags?: Tag[]; + + /** + *

                                    A value that indicates whether the DB instance is a Multi-AZ deployment.

                                    + *

                                    Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                    + */ + MultiAZ?: boolean; + + /** + *

                                    Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                    + */ + DomainIAMRoleName?: string; + /** *

                                    The database engine to use for the new instance.

                                    *

                                    Default: The same as source

                                    @@ -5761,230 +5995,164 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { *
                                  */ Engine?: string; +} + +export namespace RestoreDBInstanceFromDBSnapshotMessage { + export const filterSensitiveLog = (obj: RestoreDBInstanceFromDBSnapshotMessage): any => ({ + ...obj, + }); +} +export interface RestoreDBInstanceFromDBSnapshotResult { /** - *

                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                  + *

                                  Contains the details of an Amazon RDS DB instance. + *

                                  + *

                                  This data type is used as a response element in the DescribeDBInstances action. + *

                                  */ - DomainIAMRoleName?: string; + DBInstance?: DBInstance; +} +export namespace RestoreDBInstanceFromDBSnapshotResult { + export const filterSensitiveLog = (obj: RestoreDBInstanceFromDBSnapshotResult): any => ({ + ...obj, + }); +} + +export interface RestoreDBInstanceFromS3Message { /** - *

                                  Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. - * If this parameter isn't specified, the IOPS value is taken from the backup. - * If this parameter is set to 0, the new instance is converted to a non-PIOPS instance. - * The conversion takes additional time, though your DB instance is available for connections before the conversion starts. - *

                                  - *

                                  The provisioned IOPS value must follow the requirements for your database engine. - * For more information, see - * Amazon RDS Provisioned IOPS Storage to Improve Performance - * in the Amazon RDS User Guide. - *

                                  - *

                                  Constraints: Must be an integer greater than 1000.

                                  + *

                                  Specifies the storage type to be associated with the DB instance. + *

                                  + *

                                  Valid values: standard | gp2 | io1 + *

                                  + *

                                  If you specify io1, + * you must also include a value for the Iops parameter. + *

                                  + *

                                  Default: io1 + * if the Iops parameter is specified; + * otherwise gp2 + *

                                  */ - Iops?: number; + StorageType?: string; /** - *

                                  A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

                                  + *

                                  The license model for this DB instance. + * Use general-public-license. + *

                                  */ - AutoMinorVersionUpgrade?: boolean; + LicenseModel?: string; /** - *

                                  The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. - * Not all DB instance classes are available in all AWS Regions, or for all database engines. - * For the full list of DB instance classes, - * and availability for your engine, see - * DB Instance Class in the Amazon RDS User Guide. - *

                                  - *

                                  Default: The same DBInstanceClass as the original DB instance.

                                  + *

                                  The prefix of your Amazon S3 bucket. + *

                                  */ - DBInstanceClass?: string; + S3Prefix?: string; /** - *

                                  A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

                                  + *

                                  The amount of storage (in gigabytes) to allocate initially for the DB instance. + * Follow the allocation rules specified in CreateDBInstance. + *

                                  + * + * + *

                                  Be sure to allocate enough memory for your new DB instance + * so that the restore operation can succeed. + * You can also allocate additional memory for future growth. + *

                                  + *
                                  */ - CopyTagsToSnapshot?: boolean; + AllocatedStorage?: number; /** - *

                                  The name of the DB parameter group to associate with this DB instance.

                                  - *

                                  If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup - * for the specified DB engine is used.

                                  + *

                                  The version number of the database engine to use. + * Choose the latest minor version of your database engine. + * For information about engine versions, see CreateDBInstance, or call DescribeDBEngineVersions. + *

                                  + */ + EngineVersion?: string; + + /** + *

                                  The time range each week during which system maintenance can occur, + * in Universal Coordinated Time (UTC). + * For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide. + *

                                  + * *

                                  Constraints:

                                  *
                                    *
                                  • - *

                                    If supplied, must match the name of an existing DBParameterGroup.

                                    + *

                                    Must be in the format ddd:hh24:mi-ddd:hh24:mi.

                                    *
                                  • *
                                  • - *

                                    Must be 1 to 255 letters, numbers, or hyphens.

                                    + *

                                    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                    *
                                  • *
                                  • - *

                                    First character must be a letter.

                                    + *

                                    Must be in Universal Coordinated Time (UTC).

                                    *
                                  • *
                                  • - *

                                    Can't end with a hyphen or contain two consecutive hyphens.

                                    + *

                                    Must not conflict with the preferred backup window.

                                    + *
                                  • + *
                                  • + *

                                    Must be at least 30 minutes.

                                    *
                                  • *
                                  */ - DBParameterGroupName?: string; + PreferredMaintenanceWindow?: string; /** - *

                                  A list of tags. - * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. - *

                                  + *

                                  The amount of Provisioned IOPS (input/output operations per second) + * to allocate initially for the DB instance. + * For information about valid Iops values, see Amazon RDS Provisioned IOPS Storage to Improve Performance + * in the Amazon RDS User Guide. + *

                                  */ - Tags?: Tag[]; - - /** - *

                                  Specify the Active Directory directory ID to restore the DB instance in. - * The domain must be created prior to this operation. Currently, only Microsoft SQL Server and - * Oracle DB instances can be created in an Active Directory Domain. - *

                                  - *

                                  For Microsoft SQL Server DB instances, Amazon RDS can use - * Windows Authentication to authenticate users that connect to the DB instance. For more - * information, see - * Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the - * Amazon RDS User Guide.

                                  - *

                                  For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB instance. - * For more information, see - * Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.

                                  - */ - Domain?: string; - - /** - *

                                  The Availability Zone (AZ) where the DB instance will be created.

                                  - *

                                  Default: A random, system-chosen Availability Zone.

                                  - *

                                  Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                  - *

                                  Example: us-east-1a - *

                                  - */ - AvailabilityZone?: string; - - /** - *

                                  The database name for the restored DB instance.

                                  - * - *

                                  This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.

                                  - *
                                  - */ - DBName?: string; - - /** - *

                                  The name of the option group to be used for the restored DB instance.

                                  - * - *

                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                  - */ - OptionGroupName?: string; - - /** - *

                                  A value that indicates whether the DB instance has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. For more information, see - * - * Deleting a DB Instance. - *

                                  - */ - DeletionProtection?: boolean; - - /** - *

                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                  - */ - ProcessorFeatures?: ProcessorFeature[]; - - /** - *

                                  Specifies the storage type to be associated with the DB instance.

                                  - *

                                  - * Valid values: standard | gp2 | io1 - *

                                  - *

                                  - * If you specify io1, you must also include a value for the - * Iops parameter. - *

                                  - *

                                  - * Default: io1 if the Iops parameter - * is specified, otherwise gp2 - *

                                  - */ - StorageType?: string; + Iops?: number; /** *

                                  The list of logs that the restored DB instance is to export to CloudWatch Logs. The values * in the list depend on the DB engine being used. For more information, see - * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

                                  + * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                  */ EnableCloudwatchLogsExports?: string[]; /** - *

                                  A value that indicates whether the DB instance class of the DB instance uses its default - * processor features.

                                  + *

                                  A value that indicates whether to enable Performance Insights for the DB instance. + *

                                  + *

                                  For more information, see + * Using Amazon Performance Insights in the Amazon Relational Database Service + * User Guide. + *

                                  */ - UseDefaultProcessorFeatures?: boolean; + EnablePerformanceInsights?: boolean; /** - *

                                  The identifier for the DB snapshot to restore from.

                                  - *

                                  Constraints:

                                  - *
                                    - *
                                  • - *

                                    Must match the identifier of an existing DBSnapshot.

                                    - *
                                  • - *
                                  • - *

                                    If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier - * must be the ARN of the shared DB snapshot.

                                    - *
                                  • - *
                                  + *

                                  The name of your Amazon S3 bucket + * that contains your database backup file. + *

                                  */ - DBSnapshotIdentifier: string | undefined; + S3BucketName: string | undefined; /** - *

                                  A value that indicates whether to enable mapping of AWS Identity and Access - * Management (IAM) accounts to database accounts. By default, mapping is disabled. - * For information about the supported DB engines, see CreateDBInstance.

                                  + *

                                  The name of the database engine to be used for this instance. + *

                                  * - *

                                  For more information about IAM database authentication, see - * - * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. - *

                                  - */ - EnableIAMDatabaseAuthentication?: boolean; - - /** - *

                                  A value that indicates whether the DB instance is publicly accessible.

                                  - *

                                  When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, - * and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, - * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                  - *

                                  When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                  - *

                                  For more information, see CreateDBInstance.

                                  + *

                                  Valid Values: mysql + *

                                  */ - PubliclyAccessible?: boolean; + Engine: string | undefined; /** - *

                                  The port number on which the database accepts connections.

                                  - *

                                  Default: The same port as the original DB instance

                                  - *

                                  Constraints: Value must be 1150-65535 + *

                                  The version of the database that the backup files were created from.

                                  + *

                                  MySQL versions 5.6 and 5.7 are supported. + *

                                  + *

                                  Example: 5.6.40 *

                                  */ - Port?: number; -} - -export namespace RestoreDBInstanceFromDBSnapshotMessage { - export const filterSensitiveLog = (obj: RestoreDBInstanceFromDBSnapshotMessage): any => ({ - ...obj, - }); -} + SourceEngineVersion: string | undefined; -export interface RestoreDBInstanceFromDBSnapshotResult { /** - *

                                  Contains the details of an Amazon RDS DB instance. - *

                                  - *

                                  This data type is used as a response element in the DescribeDBInstances action. - *

                                  + *

                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                  */ - DBInstance?: DBInstance; -} - -export namespace RestoreDBInstanceFromDBSnapshotResult { - export const filterSensitiveLog = (obj: RestoreDBInstanceFromDBSnapshotResult): any => ({ - ...obj, - }); -} + PerformanceInsightsRetentionPeriod?: number; -export interface RestoreDBInstanceFromS3Message { /** *

                                  A value that indicates whether the DB instance is publicly accessible.

                                  *

                                  When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, @@ -5996,45 +6164,68 @@ export interface RestoreDBInstanceFromS3Message { PubliclyAccessible?: boolean; /** - *

                                  A list of tags to associate with this DB instance. - * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                  The compute and memory capacity of the DB instance, + * for example, db.m4.large. + * Not all DB instance classes are available in all AWS Regions, + * or for all database engines. + * For the full list of DB instance classes, + * and availability for your engine, see DB Instance Class in the Amazon RDS User Guide. + *

                                  + *

                                  Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class. *

                                  */ - Tags?: Tag[]; + DBInstanceClass: string | undefined; /** - *

                                  The version of the database that the backup files were created from.

                                  - *

                                  MySQL versions 5.6 and 5.7 are supported. + *

                                  A list of VPC security groups to associate with this DB instance. *

                                  - *

                                  Example: 5.6.40 - *

                                  */ - SourceEngineVersion: string | undefined; + VpcSecurityGroupIds?: string[]; /** - *

                                  The Availability Zone that the DB instance is created in. - * For information about AWS Regions and Availability Zones, see Regions and Availability Zones in the Amazon RDS User Guide. + *

                                  An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access your Amazon S3 bucket. *

                                  - *

                                  Default: A random, system-chosen Availability Zone in the endpoint's AWS Region. + */ + S3IngestionRoleArn: string | undefined; + + /** + *

                                  A list of tags to associate with this DB instance. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. *

                                  - *

                                  - * Example: us-east-1d + */ + Tags?: Tag[]; + + /** + *

                                  The DB instance identifier. This parameter is stored as a lowercase string. *

                                  - *

                                  Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. - * The specified Availability Zone must be in the same AWS Region as the current endpoint. + * + *

                                  Constraints:

                                  + * + *
                                    + *
                                  • + *

                                    Must contain from 1 to 63 letters, numbers, or hyphens.

                                    + *
                                  • + *
                                  • + *

                                    First character must be a letter.

                                    + *
                                  • + *
                                  • + *

                                    Can't end with a hyphen or contain two consecutive hyphens.

                                    + *
                                  • + *
                                  + * + *

                                  Example: mydbinstance *

                                  */ - AvailabilityZone?: string; + DBInstanceIdentifier: string | undefined; /** - *

                                  A value that indicates whether the DB instance has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. For more information, see - * - * Deleting a DB Instance. + *

                                  The name of the engine of your source database. + *

                                  + * + *

                                  Valid Values: mysql *

                                  */ - DeletionProtection?: boolean; + SourceEngine: string | undefined; /** *

                                  The name of the option group to associate with this DB instance. @@ -6044,134 +6235,84 @@ export interface RestoreDBInstanceFromS3Message { OptionGroupName?: string; /** - *

                                  The license model for this DB instance. - * Use general-public-license. - *

                                  + *

                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                  */ - LicenseModel?: string; + ProcessorFeatures?: ProcessorFeature[]; /** - *

                                  The name of the DB parameter group to associate with this DB instance.

                                  - *

                                  If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup - * for the specified DB engine is used.

                                  + *

                                  A value that indicates whether the new DB instance is encrypted or not. + *

                                  */ - DBParameterGroupName?: string; + StorageEncrypted?: boolean; /** - *

                                  The version number of the database engine to use. - * Choose the latest minor version of your database engine. - * For information about engine versions, see CreateDBInstance, or call DescribeDBEngineVersions. + *

                                  The ARN for the IAM role that permits RDS + * to send enhanced monitoring metrics to Amazon CloudWatch Logs. + * For example, arn:aws:iam:123456789012:role/emaccess. + * For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring + * in the Amazon RDS User Guide. + *

                                  + *

                                  If MonitoringInterval is set to a value other than 0, + * then you must supply a MonitoringRoleArn value. *

                                  */ - EngineVersion?: string; + MonitoringRoleArn?: string; /** - *

                                  The amount of storage (in gigabytes) to allocate initially for the DB instance. - * Follow the allocation rules specified in CreateDBInstance. + *

                                  A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied. *

                                  - * - * - *

                                  Be sure to allocate enough memory for your new DB instance - * so that the restore operation can succeed. - * You can also allocate additional memory for future growth. - *

                                  - *
                                  */ - AllocatedStorage?: number; + CopyTagsToSnapshot?: boolean; /** - *

                                  The prefix of your Amazon S3 bucket. + *

                                  The number of days for which automated backups are retained. + * Setting this parameter to a positive number enables backups. + * For more information, see CreateDBInstance. *

                                  */ - S3Prefix?: string; + BackupRetentionPeriod?: number; /** - *

                                  Specifies the storage type to be associated with the DB instance. - *

                                  - *

                                  Valid values: standard | gp2 | io1 - *

                                  - *

                                  If you specify io1, - * you must also include a value for the Iops parameter. - *

                                  - *

                                  Default: io1 - * if the Iops parameter is specified; - * otherwise gp2 + *

                                  The AWS KMS key identifier for encryption of Performance Insights data. + * The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, + * or the KMS key alias for the KMS encryption key. *

                                  + *

                                  If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS + * uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. + * Your AWS account has a different default encryption key for each AWS Region.

                                  */ - StorageType?: string; + PerformanceInsightsKMSKeyId?: string; /** - *

                                  The time range each week during which system maintenance can occur, - * in Universal Coordinated Time (UTC). - * For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide. + *

                                  A value that indicates whether the DB instance is a Multi-AZ deployment. + * If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone parameter. *

                                  - * - *

                                  Constraints:

                                  - *
                                    - *
                                  • - *

                                    Must be in the format ddd:hh24:mi-ddd:hh24:mi.

                                    - *
                                  • - *
                                  • - *

                                    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

                                    - *
                                  • - *
                                  • - *

                                    Must be in Universal Coordinated Time (UTC).

                                    - *
                                  • - *
                                  • - *

                                    Must not conflict with the preferred backup window.

                                    - *
                                  • - *
                                  • - *

                                    Must be at least 30 minutes.

                                    - *
                                  • - *
                                  - */ - PreferredMaintenanceWindow?: string; - - /** - *

                                  The list of logs that the restored DB instance is to export to CloudWatch Logs. The values - * in the list depend on the DB engine being used. For more information, see - * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                  */ - EnableCloudwatchLogsExports?: string[]; + MultiAZ?: boolean; /** - *

                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                  + *

                                  A value that indicates whether to enable mapping of AWS Identity and Access + * Management (IAM) accounts to database accounts. By default, mapping is disabled. + * For information about the supported DB engines, see CreateDBInstance.

                                  + * + *

                                  For more information about IAM database authentication, see + * + * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. + *

                                  */ - PerformanceInsightsRetentionPeriod?: number; + EnableIAMDatabaseAuthentication?: boolean; /** - *

                                  The name of your Amazon S3 bucket - * that contains your database backup file. + *

                                  The port number on which the database accepts connections. *

                                  - */ - S3BucketName: string | undefined; - - /** - *

                                  A DB subnet group to associate with this DB instance.

                                  - */ - DBSubnetGroupName?: string; - - /** - *

                                  A list of DB security groups to associate with this DB instance.

                                  - *

                                  Default: The default DB security group for the database engine.

                                  - */ - DBSecurityGroups?: string[]; - - /** - *

                                  The AWS KMS key identifier for an encrypted DB instance. + *

                                  Type: Integer *

                                  - *

                                  The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. - * If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, - * then you can use the KMS key alias instead of the ARN for the KM encryption key. + *

                                  Valid Values: 1150-65535 *

                                  - *

                                  If the StorageEncrypted parameter is enabled, - * and you do not specify a value for the KmsKeyId parameter, - * then Amazon RDS will use your default encryption key. - * AWS KMS creates the default encryption key for your AWS account. - * Your AWS account has a different default encryption key for each AWS Region. + *

                                  Default: 3306 *

                                  */ - KmsKeyId?: string; + Port?: number; /** *

                                  The password for the master user. @@ -6182,6 +6323,29 @@ export interface RestoreDBInstanceFromS3Message { */ MasterUserPassword?: string; + /** + *

                                  The interval, in seconds, + * between points when Enhanced Monitoring metrics are collected for the DB instance. + * To disable collecting Enhanced Monitoring metrics, specify 0. + *

                                  + * + *

                                  If MonitoringRoleArn is specified, + * then you must also set MonitoringInterval to a value other than 0. + *

                                  + * + *

                                  Valid Values: 0, 1, 5, 10, 15, 30, 60 + *

                                  + *

                                  Default: 0 + *

                                  + */ + MonitoringInterval?: number; + + /** + *

                                  A list of DB security groups to associate with this DB instance.

                                  + *

                                  Default: The default DB security group for the database engine.

                                  + */ + DBSecurityGroups?: string[]; + /** *

                                  A value that indicates whether the DB instance class of the DB instance uses its default * processor features.

                                  @@ -6189,36 +6353,39 @@ export interface RestoreDBInstanceFromS3Message { UseDefaultProcessorFeatures?: boolean; /** - *

                                  A value that indicates whether to enable mapping of AWS Identity and Access - * Management (IAM) accounts to database accounts. By default, mapping is disabled. - * For information about the supported DB engines, see CreateDBInstance.

                                  - * - *

                                  For more information about IAM database authentication, see - * - * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. - *

                                  + *

                                  A value that indicates whether minor engine upgrades are applied automatically + * to the DB instance during the maintenance window. By default, minor engine upgrades + * are not applied automatically. + *

                                  */ - EnableIAMDatabaseAuthentication?: boolean; + AutoMinorVersionUpgrade?: boolean; /** - *

                                  The name of the database to create when the DB instance is created. - * Follow the naming rules specified in CreateDBInstance. - *

                                  + *

                                  The name of the DB parameter group to associate with this DB instance.

                                  + *

                                  If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup + * for the specified DB engine is used.

                                  */ - DBName?: string; + DBParameterGroupName?: string; /** - *

                                  The ARN for the IAM role that permits RDS - * to send enhanced monitoring metrics to Amazon CloudWatch Logs. - * For example, arn:aws:iam:123456789012:role/emaccess. - * For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring - * in the Amazon RDS User Guide. + *

                                  The name for the master user. *

                                  - *

                                  If MonitoringInterval is set to a value other than 0, - * then you must supply a MonitoringRoleArn value. + * + *

                                  Constraints: *

                                  + *
                                    + *
                                  • + *

                                    Must be 1 to 16 letters or numbers.

                                    + *
                                  • + *
                                  • + *

                                    First character must be a letter.

                                    + *
                                  • + *
                                  • + *

                                    Can't be a reserved word for the chosen database engine.

                                    + *
                                  • + *
                                  */ - MonitoringRoleArn?: string; + MasterUsername?: string; /** *

                                  The time range each day @@ -6246,198 +6413,71 @@ export interface RestoreDBInstanceFromS3Message { PreferredBackupWindow?: string; /** - *

                                  The name for the master user. - *

                                  - * - *

                                  Constraints: + *

                                  The name of the database to create when the DB instance is created. + * Follow the naming rules specified in CreateDBInstance. *

                                  - *
                                    - *
                                  • - *

                                    Must be 1 to 16 letters or numbers.

                                    - *
                                  • - *
                                  • - *

                                    First character must be a letter.

                                    - *
                                  • - *
                                  • - *

                                    Can't be a reserved word for the chosen database engine.

                                    - *
                                  • - *
                                  */ - MasterUsername?: string; + DBName?: string; /** - *

                                  The number of days for which automated backups are retained. - * Setting this parameter to a positive number enables backups. - * For more information, see CreateDBInstance. - *

                                  + *

                                  The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                  */ - BackupRetentionPeriod?: number; + MaxAllocatedStorage?: number; /** - *

                                  A list of VPC security groups to associate with this DB instance. - *

                                  + *

                                  A DB subnet group to associate with this DB instance.

                                  */ - VpcSecurityGroupIds?: string[]; + DBSubnetGroupName?: string; /** - *

                                  A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied. + *

                                  A value that indicates whether the DB instance has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. For more information, see + * + * Deleting a DB Instance. *

                                  */ - CopyTagsToSnapshot?: boolean; + DeletionProtection?: boolean; /** - *

                                  The port number on which the database accepts connections. - *

                                  - *

                                  Type: Integer - *

                                  - *

                                  Valid Values: 1150-65535 + *

                                  The Availability Zone that the DB instance is created in. + * For information about AWS Regions and Availability Zones, see Regions and Availability Zones in the Amazon RDS User Guide. *

                                  - *

                                  Default: 3306 + *

                                  Default: A random, system-chosen Availability Zone in the endpoint's AWS Region. *

                                  - */ - Port?: number; - - /** - *

                                  The name of the engine of your source database. + *

                                  + * Example: us-east-1d *

                                  - * - *

                                  Valid Values: mysql + *

                                  Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. + * The specified Availability Zone must be in the same AWS Region as the current endpoint. *

                                  */ - SourceEngine: string | undefined; + AvailabilityZone?: string; /** - *

                                  The interval, in seconds, - * between points when Enhanced Monitoring metrics are collected for the DB instance. - * To disable collecting Enhanced Monitoring metrics, specify 0. - *

                                  - * - *

                                  If MonitoringRoleArn is specified, - * then you must also set MonitoringInterval to a value other than 0. + *

                                  The AWS KMS key identifier for an encrypted DB instance. *

                                  - * - *

                                  Valid Values: 0, 1, 5, 10, 15, 30, 60 + *

                                  The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. + * If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, + * then you can use the KMS key alias instead of the ARN for the KM encryption key. *

                                  - *

                                  Default: 0 + *

                                  If the StorageEncrypted parameter is enabled, + * and you do not specify a value for the KmsKeyId parameter, + * then Amazon RDS will use your default encryption key. + * AWS KMS creates the default encryption key for your AWS account. + * Your AWS account has a different default encryption key for each AWS Region. *

                                  */ - MonitoringInterval?: number; + KmsKeyId?: string; +} - /** - *

                                  A value that indicates whether minor engine upgrades are applied automatically - * to the DB instance during the maintenance window. By default, minor engine upgrades - * are not applied automatically. - *

                                  - */ - AutoMinorVersionUpgrade?: boolean; +export namespace RestoreDBInstanceFromS3Message { + export const filterSensitiveLog = (obj: RestoreDBInstanceFromS3Message): any => ({ + ...obj, + }); +} - /** - *

                                  The amount of Provisioned IOPS (input/output operations per second) - * to allocate initially for the DB instance. - * For information about valid Iops values, see Amazon RDS Provisioned IOPS Storage to Improve Performance - * in the Amazon RDS User Guide. - *

                                  - */ - Iops?: number; - - /** - *

                                  The DB instance identifier. This parameter is stored as a lowercase string. - *

                                  - * - *

                                  Constraints:

                                  - * - *
                                    - *
                                  • - *

                                    Must contain from 1 to 63 letters, numbers, or hyphens.

                                    - *
                                  • - *
                                  • - *

                                    First character must be a letter.

                                    - *
                                  • - *
                                  • - *

                                    Can't end with a hyphen or contain two consecutive hyphens.

                                    - *
                                  • - *
                                  - * - *

                                  Example: mydbinstance - *

                                  - */ - DBInstanceIdentifier: string | undefined; - - /** - *

                                  The name of the database engine to be used for this instance. - *

                                  - * - *

                                  Valid Values: mysql - *

                                  - */ - Engine: string | undefined; - - /** - *

                                  A value that indicates whether to enable Performance Insights for the DB instance. - *

                                  - *

                                  For more information, see - * Using Amazon Performance Insights in the Amazon Relational Database Service - * User Guide. - *

                                  - */ - EnablePerformanceInsights?: boolean; - - /** - *

                                  A value that indicates whether the DB instance is a Multi-AZ deployment. - * If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone parameter. - *

                                  - */ - MultiAZ?: boolean; - - /** - *

                                  A value that indicates whether the new DB instance is encrypted or not. - *

                                  - */ - StorageEncrypted?: boolean; - - /** - *

                                  The compute and memory capacity of the DB instance, - * for example, db.m4.large. - * Not all DB instance classes are available in all AWS Regions, - * or for all database engines. - * For the full list of DB instance classes, - * and availability for your engine, see DB Instance Class in the Amazon RDS User Guide. - *

                                  - *

                                  Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class. - *

                                  - */ - DBInstanceClass: string | undefined; - - /** - *

                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                  - */ - ProcessorFeatures?: ProcessorFeature[]; - - /** - *

                                  An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access your Amazon S3 bucket. - *

                                  - */ - S3IngestionRoleArn: string | undefined; - - /** - *

                                  The AWS KMS key identifier for encryption of Performance Insights data. - * The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, - * or the KMS key alias for the KMS encryption key. - *

                                  - *

                                  If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS - * uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. - * Your AWS account has a different default encryption key for each AWS Region.

                                  - */ - PerformanceInsightsKMSKeyId?: string; -} - -export namespace RestoreDBInstanceFromS3Message { - export const filterSensitiveLog = (obj: RestoreDBInstanceFromS3Message): any => ({ - ...obj, - }); -} - -export interface RestoreDBInstanceFromS3Result { +export interface RestoreDBInstanceFromS3Result { /** *

                                  Contains the details of an Amazon RDS DB instance. *

                                  @@ -6477,91 +6517,48 @@ export namespace PointInTimeRestoreNotEnabledFault { */ export interface RestoreDBInstanceToPointInTimeMessage { /** - *

                                  The identifier of the source DB instance from which to restore.

                                  - *

                                  Constraints:

                                  - *
                                    - *
                                  • - *

                                    Must match the identifier of an existing DB instance.

                                    - *
                                  • - *
                                  + *

                                  The DB subnet group name to use for the new instance.

                                  + *

                                  Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                  + *

                                  Example: mySubnetgroup + *

                                  */ - SourceDBInstanceIdentifier?: string; + DBSubnetGroupName?: string; /** - *

                                  License model information for the restored DB instance.

                                  - *

                                  Default: Same as source.

                                  - *

                                  - * Valid values: license-included | bring-your-own-license | general-public-license + *

                                  A value that indicates whether the DB instance class of the DB instance uses its default processor features.

                                  + */ + UseDefaultProcessorFeatures?: boolean; + + /** + *

                                  The resource ID of the source DB instance from which to restore.

                                  + */ + SourceDbiResourceId?: string; + + /** + *

                                  + * A list of EC2 VPC security groups to associate with this DB instance. + *

                                  + *

                                  + * Default: The default EC2 VPC security group for the DB subnet group's VPC. + *

                                  + */ + VpcSecurityGroupIds?: string[]; + + /** + *

                                  The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. + * Not all DB instance classes are available in all AWS Regions, or for all database engines. + * For the full list of DB instance classes, + * and availability for your engine, see + * DB Instance Class in the Amazon RDS User Guide. *

                                  + *

                                  Default: The same DBInstanceClass as the original DB instance.

                                  */ - LicenseModel?: string; + DBInstanceClass?: string; /** - *

                                  The database engine to use for the new instance.

                                  - *

                                  Default: The same as source

                                  - *

                                  Constraint: Must be compatible with the engine of the source

                                  - * - *

                                  Valid Values:

                                  - * - *
                                    - *
                                  • - *

                                    - * mariadb - *

                                    - *
                                  • - *
                                  • - *

                                    - * mysql - *

                                    - *
                                  • - *
                                  • - *

                                    - * oracle-ee - *

                                    - *
                                  • - *
                                  • - *

                                    - * oracle-se2 - *

                                    - *
                                  • - *
                                  • - *

                                    - * oracle-se1 - *

                                    - *
                                  • - *
                                  • - *

                                    - * oracle-se - *

                                    - *
                                  • - *
                                  • - *

                                    - * postgres - *

                                    - *
                                  • - *
                                  • - *

                                    - * sqlserver-ee - *

                                    - *
                                  • - *
                                  • - *

                                    - * sqlserver-se - *

                                    - *
                                  • - *
                                  • - *

                                    - * sqlserver-ex - *

                                    - *
                                  • - *
                                  • - *

                                    - * sqlserver-web - *

                                    - *
                                  • - *
                                  + *

                                  A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

                                  */ - Engine?: string; + AutoMinorVersionUpgrade?: boolean; /** *

                                  The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

                                  @@ -6574,11 +6571,13 @@ export interface RestoreDBInstanceToPointInTimeMessage { Iops?: number; /** - *

                                  The list of logs that the restored DB instance is to export to CloudWatch Logs. The values - * in the list depend on the DB engine being used. For more information, see - * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                  + *

                                  + * A value that indicates whether the DB instance is restored from the latest backup time. By default, the DB instance + * isn't restored from the latest backup time. + *

                                  + *

                                  Constraints: Can't be specified if the RestoreTime parameter is provided.

                                  */ - EnableCloudwatchLogsExports?: string[]; + UseLatestRestorableTime?: boolean; /** *

                                  Specifies the storage type to be associated with the DB instance.

                                  @@ -6597,36 +6596,20 @@ export interface RestoreDBInstanceToPointInTimeMessage { StorageType?: string; /** - *

                                  The password for the given ARN from the key store in order to access the device.

                                  - */ - TdeCredentialPassword?: string; - - /** - *

                                  The DB subnet group name to use for the new instance.

                                  - *

                                  Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                  - *

                                  Example: mySubnetgroup - *

                                  - */ - DBSubnetGroupName?: string; - - /** - *

                                  - * A value that indicates whether the DB instance is restored from the latest backup time. By default, the DB instance - * isn't restored from the latest backup time. - *

                                  - *

                                  Constraints: Can't be specified if the RestoreTime parameter is provided.

                                  + *

                                  The identifier of the source DB instance from which to restore.

                                  + *

                                  Constraints:

                                  + *
                                    + *
                                  • + *

                                    Must match the identifier of an existing DB instance.

                                    + *
                                  • + *
                                  */ - UseLatestRestorableTime?: boolean; + SourceDBInstanceIdentifier?: string; /** - *

                                  A value that indicates whether the DB instance has deletion protection enabled. - * The database can't be deleted when deletion protection is enabled. By default, - * deletion protection is disabled. For more information, see - * - * Deleting a DB Instance. - *

                                  + *

                                  The password for the given ARN from the key store in order to access the device.

                                  */ - DeletionProtection?: boolean; + TdeCredentialPassword?: string; /** *

                                  The name of the option group to be used for the restored DB instance.

                                  @@ -6636,93 +6619,94 @@ export interface RestoreDBInstanceToPointInTimeMessage { OptionGroupName?: string; /** - *

                                  The database name for the restored DB instance.

                                  - * - *

                                  This parameter isn't used for the MySQL or MariaDB engines.

                                  - *
                                  - */ - DBName?: string; - - /** - *

                                  - * A list of EC2 VPC security groups to associate with this DB instance. - *

                                  - *

                                  - * Default: The default EC2 VPC security group for the DB subnet group's VPC. - *

                                  + *

                                  A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

                                  */ - VpcSecurityGroupIds?: string[]; + CopyTagsToSnapshot?: boolean; /** - *

                                  The Availability Zone (AZ) where the DB instance will be created.

                                  - *

                                  Default: A random, system-chosen Availability Zone.

                                  + *

                                  A value that indicates whether the DB instance is a Multi-AZ deployment.

                                  *

                                  Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                  - *

                                  Example: us-east-1a - *

                                  */ - AvailabilityZone?: string; - - /** - *

                                  The resource ID of the source DB instance from which to restore.

                                  - */ - SourceDbiResourceId?: string; - - /** - *

                                  Specify the Active Directory directory ID to restore the DB instance in. - * The domain must be created prior to this operation. Currently, only Microsoft SQL Server and - * Oracle DB instances can be created in an Active Directory Domain. - *

                                  - *

                                  For Microsoft SQL Server DB instances, Amazon RDS can use - * Windows Authentication to authenticate users that connect to the DB instance. For more - * information, see - * Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the - * Amazon RDS User Guide.

                                  - *

                                  For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB instance. - * For more information, see - * Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.

                                  - */ - Domain?: string; - - /** - *

                                  A value that indicates whether to enable mapping of AWS Identity and Access - * Management (IAM) accounts to database accounts. By default, mapping is disabled. - * For information about the supported DB engines, see CreateDBInstance.

                                  - * - *

                                  For more information about IAM database authentication, see - * - * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. - *

                                  - */ - EnableIAMDatabaseAuthentication?: boolean; - - /** - *

                                  A value that indicates whether the DB instance class of the DB instance uses its default processor features.

                                  - */ - UseDefaultProcessorFeatures?: boolean; + MultiAZ?: boolean; /** - *

                                  A value that indicates whether the DB instance is publicly accessible.

                                  - *

                                  When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, - * and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, - * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                  - *

                                  When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                  - *

                                  For more information, see CreateDBInstance.

                                  + *

                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                  */ - PubliclyAccessible?: boolean; + TdeCredentialArn?: string; /** - *

                                  The port number on which the database accepts connections.

                                  - *

                                  Constraints: Value must be 1150-65535 + *

                                  A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. *

                                  - *

                                  Default: The same port as the original DB instance.

                                  */ - Port?: number; + Tags?: Tag[]; /** - *

                                  A value that indicates whether the DB instance is a Multi-AZ deployment.

                                  - *

                                  Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                  + *

                                  The database engine to use for the new instance.

                                  + *

                                  Default: The same as source

                                  + *

                                  Constraint: Must be compatible with the engine of the source

                                  + * + *

                                  Valid Values:

                                  + * + *
                                    + *
                                  • + *

                                    + * mariadb + *

                                    + *
                                  • + *
                                  • + *

                                    + * mysql + *

                                    + *
                                  • + *
                                  • + *

                                    + * oracle-ee + *

                                    + *
                                  • + *
                                  • + *

                                    + * oracle-se2 + *

                                    + *
                                  • + *
                                  • + *

                                    + * oracle-se1 + *

                                    + *
                                  • + *
                                  • + *

                                    + * oracle-se + *

                                    + *
                                  • + *
                                  • + *

                                    + * postgres + *

                                    + *
                                  • + *
                                  • + *

                                    + * sqlserver-ee + *

                                    + *
                                  • + *
                                  • + *

                                    + * sqlserver-se + *

                                    + *
                                  • + *
                                  • + *

                                    + * sqlserver-ex + *

                                    + *
                                  • + *
                                  • + *

                                    + * sqlserver-web + *

                                    + *
                                  • + *
                                  */ - MultiAZ?: boolean; + Engine?: string; /** *

                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                  @@ -6730,26 +6714,25 @@ export interface RestoreDBInstanceToPointInTimeMessage { DomainIAMRoleName?: string; /** - *

                                  The date and time to restore from.

                                  - *

                                  Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

                                  - *

                                  Constraints:

                                  - *
                                    - *
                                  • - *

                                    Must be before the latest restorable time for the DB instance

                                    - *
                                  • - *
                                  • - *

                                    Can't be specified if the UseLatestRestorableTime parameter is enabled

                                    - *
                                  • - *
                                  - *

                                  Example: 2009-09-07T23:45:00Z - *

                                  + *

                                  Specify the Active Directory directory ID to restore the DB instance in. + * The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL + * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                  + *

                                  For more information, see + * Kerberos Authentication in the Amazon RDS User Guide.

                                  */ - RestoreTime?: Date; + Domain?: string; /** - *

                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                  + *

                                  A value that indicates whether to enable mapping of AWS Identity and Access + * Management (IAM) accounts to database accounts. By default, mapping is disabled. + * For information about the supported DB engines, see CreateDBInstance.

                                  + * + *

                                  For more information about IAM database authentication, see + * + * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. + *

                                  */ - TdeCredentialArn?: string; + EnableIAMDatabaseAuthentication?: boolean; /** *

                                  The name of the new DB instance to be created.

                                  @@ -6774,11 +6757,21 @@ export interface RestoreDBInstanceToPointInTimeMessage { ProcessorFeatures?: ProcessorFeature[]; /** - *

                                  A list of tags. - * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                  The date and time to restore from.

                                  + *

                                  Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

                                  + *

                                  Constraints:

                                  + *
                                    + *
                                  • + *

                                    Must be before the latest restorable time for the DB instance

                                    + *
                                  • + *
                                  • + *

                                    Can't be specified if the UseLatestRestorableTime parameter is enabled

                                    + *
                                  • + *
                                  + *

                                  Example: 2009-09-07T23:45:00Z *

                                  */ - Tags?: Tag[]; + RestoreTime?: Date; /** *

                                  The name of the DB parameter group to associate with this DB instance.

                                  @@ -6803,25 +6796,70 @@ export interface RestoreDBInstanceToPointInTimeMessage { DBParameterGroupName?: string; /** - *

                                  A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

                                  + *

                                  The port number on which the database accepts connections.

                                  + *

                                  Constraints: Value must be 1150-65535 + *

                                  + *

                                  Default: The same port as the original DB instance.

                                  */ - AutoMinorVersionUpgrade?: boolean; + Port?: number; /** - *

                                  A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

                                  + *

                                  A value that indicates whether the DB instance has deletion protection enabled. + * The database can't be deleted when deletion protection is enabled. By default, + * deletion protection is disabled. For more information, see + * + * Deleting a DB Instance. + *

                                  */ - CopyTagsToSnapshot?: boolean; + DeletionProtection?: boolean; /** - *

                                  The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. - * Not all DB instance classes are available in all AWS Regions, or for all database engines. - * For the full list of DB instance classes, - * and availability for your engine, see - * DB Instance Class in the Amazon RDS User Guide. + *

                                  The database name for the restored DB instance.

                                  + * + *

                                  This parameter isn't used for the MySQL or MariaDB engines.

                                  + *
                                  + */ + DBName?: string; + + /** + *

                                  License model information for the restored DB instance.

                                  + *

                                  Default: Same as source.

                                  + *

                                  + * Valid values: license-included | bring-your-own-license | general-public-license *

                                  - *

                                  Default: The same DBInstanceClass as the original DB instance.

                                  */ - DBInstanceClass?: string; + LicenseModel?: string; + + /** + *

                                  The Availability Zone (AZ) where the DB instance will be created.

                                  + *

                                  Default: A random, system-chosen Availability Zone.

                                  + *

                                  Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                  + *

                                  Example: us-east-1a + *

                                  + */ + AvailabilityZone?: string; + + /** + *

                                  A value that indicates whether the DB instance is publicly accessible.

                                  + *

                                  When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, + * and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, + * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                  + *

                                  When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                  + *

                                  For more information, see CreateDBInstance.

                                  + */ + PubliclyAccessible?: boolean; + + /** + *

                                  The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                  + */ + MaxAllocatedStorage?: number; + + /** + *

                                  The list of logs that the restored DB instance is to export to CloudWatch Logs. The values + * in the list depend on the DB engine being used. For more information, see + * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                  + */ + EnableCloudwatchLogsExports?: string[]; } export namespace RestoreDBInstanceToPointInTimeMessage { @@ -6850,11 +6888,6 @@ export namespace RestoreDBInstanceToPointInTimeResult { *

                                  */ export interface RevokeDBSecurityGroupIngressMessage { - /** - *

                                  The name of the DB security group to revoke ingress from.

                                  - */ - DBSecurityGroupName: string | undefined; - /** *

                                  * The IP range to revoke access from. @@ -6885,6 +6918,11 @@ export interface RevokeDBSecurityGroupIngressMessage { */ EC2SecurityGroupOwnerId?: string; + /** + *

                                  The name of the DB security group to revoke ingress from.

                                  + */ + DBSecurityGroupName: string | undefined; + /** *

                                  * The id of the EC2 security group to revoke access from. @@ -6920,10 +6958,12 @@ export namespace RevokeDBSecurityGroupIngressResult { export interface StartActivityStreamRequest { /** - *

                                  Specifies whether or not the database activity stream is to start as soon as possible, - * regardless of the maintenance window for the database.

                                  + *

                                  Specifies the mode of the database activity stream. + * Database events such as a change or access generate an activity stream event. + * The database session can handle these events either synchronously or asynchronously. + *

                                  */ - ApplyImmediately?: boolean; + Mode: ActivityStreamMode | string | undefined; /** *

                                  The Amazon Resource Name (ARN) of the DB cluster, @@ -6938,12 +6978,10 @@ export interface StartActivityStreamRequest { KmsKeyId: string | undefined; /** - *

                                  Specifies the mode of the database activity stream. - * Database events such as a change or access generate an activity stream event. - * The database session can handle these events either synchronously or asynchronously. - *

                                  + *

                                  Specifies whether or not the database activity stream is to start as soon as possible, + * regardless of the maintenance window for the database.

                                  */ - Mode: ActivityStreamMode | string | undefined; + ApplyImmediately?: boolean; } export namespace StartActivityStreamRequest { @@ -6953,15 +6991,21 @@ export namespace StartActivityStreamRequest { } export interface StartActivityStreamResponse { + /** + *

                                  The status of the database activity stream.

                                  + */ + Status?: ActivityStreamStatus | string; + /** *

                                  The name of the Amazon Kinesis data stream to be used for the database activity stream.

                                  */ KinesisStreamName?: string; /** - *

                                  The AWS KMS key identifier for encryption of messages in the database activity stream.

                                  + *

                                  Indicates whether or not the database activity stream will start as soon as possible, + * regardless of the maintenance window for the database.

                                  */ - KmsKeyId?: string; + ApplyImmediately?: boolean; /** *

                                  The mode of the database activity stream.

                                  @@ -6969,15 +7013,9 @@ export interface StartActivityStreamResponse { Mode?: ActivityStreamMode | string; /** - *

                                  The status of the database activity stream.

                                  - */ - Status?: ActivityStreamStatus | string; - - /** - *

                                  Indicates whether or not the database activity stream will start as soon as possible, - * regardless of the maintenance window for the database.

                                  + *

                                  The AWS KMS key identifier for encryption of messages in the database activity stream.

                                  */ - ApplyImmediately?: boolean; + KmsKeyId?: string; } export namespace StartActivityStreamResponse { @@ -7125,10 +7163,25 @@ export namespace InvalidExportSourceStateFault { export interface StartExportTaskMessage { /** - *

                                  A unique identifier for the snapshot export task. This ID isn't an identifier for - * the Amazon S3 bucket where the snapshot is to be exported to.

                                  + *

                                  The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.

                                  */ - ExportTaskIdentifier: string | undefined; + SourceArn: string | undefined; + + /** + *

                                  The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.

                                  + */ + S3Prefix?: string; + + /** + *

                                  The name of the IAM role to use for writing to the Amazon S3 bucket + * when exporting a snapshot.

                                  + */ + IamRoleArn: string | undefined; + + /** + *

                                  The name of the Amazon S3 bucket to export the snapshot to.

                                  + */ + S3BucketName: string | undefined; /** *

                                  The data to be exported from the snapshot. @@ -7161,34 +7214,48 @@ export interface StartExportTaskMessage { */ ExportOnly?: string[]; - /** - *

                                  The name of the Amazon S3 bucket to export the snapshot to.

                                  - */ - S3BucketName: string | undefined; - /** *

                                  The ID of the AWS KMS key to use to encrypt the snapshot exported to Amazon S3. The * KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key - * alias for the KMS encryption key. The IAM role used for the snapshot export must have - * encryption and decryption permissions to use this KMS key.

                                  + * alias for the KMS encryption key. The caller of this operation must be authorized to + * execute the following operations. These can be set in the KMS key policy:

                                  + *
                                    + *
                                  • + *

                                    GrantOperation.Encrypt

                                    + *
                                  • + *
                                  • + *

                                    GrantOperation.Decrypt

                                    + *
                                  • + *
                                  • + *

                                    GrantOperation.GenerateDataKey

                                    + *
                                  • + *
                                  • + *

                                    GrantOperation.GenerateDataKeyWithoutPlaintext

                                    + *
                                  • + *
                                  • + *

                                    GrantOperation.ReEncryptFrom

                                    + *
                                  • + *
                                  • + *

                                    GrantOperation.ReEncryptTo

                                    + *
                                  • + *
                                  • + *

                                    GrantOperation.CreateGrant

                                    + *
                                  • + *
                                  • + *

                                    GrantOperation.DescribeKey

                                    + *
                                  • + *
                                  • + *

                                    GrantOperation.RetireGrant

                                    + *
                                  • + *
                                  */ KmsKeyId: string | undefined; /** - *

                                  The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.

                                  - */ - SourceArn: string | undefined; - - /** - *

                                  The name of the IAM role to use for writing to the Amazon S3 bucket - * when exporting a snapshot.

                                  - */ - IamRoleArn: string | undefined; - - /** - *

                                  The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.

                                  + *

                                  A unique identifier for the snapshot export task. This ID isn't an identifier for + * the Amazon S3 bucket where the snapshot is to be exported to.

                                  */ - S3Prefix?: string; + ExportTaskIdentifier: string | undefined; } export namespace StartExportTaskMessage { @@ -7198,18 +7265,18 @@ export namespace StartExportTaskMessage { } export interface StopActivityStreamRequest { - /** - *

                                  Specifies whether or not the database activity stream is to stop as soon as possible, - * regardless of the maintenance window for the database.

                                  - */ - ApplyImmediately?: boolean; - /** *

                                  The Amazon Resource Name (ARN) of the DB cluster for the database activity stream. * For example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster. *

                                  */ ResourceArn: string | undefined; + + /** + *

                                  Specifies whether or not the database activity stream is to stop as soon as possible, + * regardless of the maintenance window for the database.

                                  + */ + ApplyImmediately?: boolean; } export namespace StopActivityStreamRequest { @@ -7275,17 +7342,17 @@ export namespace StopDBClusterResult { export interface StopDBInstanceMessage { /** *

                                  - * The user-supplied instance identifier. + * The user-supplied instance identifier of the DB Snapshot created immediately before the DB instance is stopped. *

                                  */ - DBInstanceIdentifier: string | undefined; + DBSnapshotIdentifier?: string; /** *

                                  - * The user-supplied instance identifier of the DB Snapshot created immediately before the DB instance is stopped. + * The user-supplied instance identifier. *

                                  */ - DBSnapshotIdentifier?: string; + DBInstanceIdentifier: string | undefined; } export namespace StopDBInstanceMessage { diff --git a/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts b/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts new file mode 100644 index 000000000000..19d0f023b867 --- /dev/null +++ b/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts @@ -0,0 +1,51 @@ +import { RDS } from "../RDS"; +import { RDSClient } from "../RDSClient"; +import { + DescribeEngineDefaultParametersCommand, + DescribeEngineDefaultParametersCommandInput, + DescribeEngineDefaultParametersCommandOutput, +} from "../commands/DescribeEngineDefaultParametersCommand"; +import { RDSPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RDSClient, + input: DescribeEngineDefaultParametersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEngineDefaultParametersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RDS, + input: DescribeEngineDefaultParametersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEngineDefaultParameters(input, ...args); +}; +export async function* describeEngineDefaultParametersPaginate( + config: RDSPaginationConfiguration, + input: DescribeEngineDefaultParametersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEngineDefaultParametersCommandOutput; + while (hasNext) { + input["Marker"] = token; + input["MaxRecords"] = config.pageSize; + if (config.client instanceof RDS) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RDSClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RDS | RDSClient"); + } + yield page; + token = page["EngineDefaults"]["Marker"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-rds/protocols/Aws_query.ts b/clients/client-rds/protocols/Aws_query.ts index de796be659bf..4dd45873c2e8 100644 --- a/clients/client-rds/protocols/Aws_query.ts +++ b/clients/client-rds/protocols/Aws_query.ts @@ -745,6 +745,7 @@ import { ImportInstallationMediaMessage, InstallationMediaAlreadyExistsFault, InstallationMediaMessage, + InsufficientAvailableIPsInSubnetFault, InsufficientDBClusterCapacityFault, InvalidDBClusterCapacityFault, InvalidExportOnlyFault, @@ -10579,6 +10580,14 @@ const deserializeAws_queryRegisterDBProxyTargetsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InsufficientAvailableIPsInSubnetFault": + case "com.amazonaws.rds#InsufficientAvailableIPsInSubnetFault": + response = { + ...(await deserializeAws_queryInsufficientAvailableIPsInSubnetFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidDBClusterStateFault": case "com.amazonaws.rds#InvalidDBClusterStateFault": response = { @@ -13915,6 +13924,21 @@ const deserializeAws_queryInstanceQuotaExceededFaultResponse = async ( return contents; }; +const deserializeAws_queryInsufficientAvailableIPsInSubnetFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryInsufficientAvailableIPsInSubnetFault(body.Error, context); + const contents: InsufficientAvailableIPsInSubnetFault = { + name: "InsufficientAvailableIPsInSubnetFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_queryInsufficientDBClusterCapacityFaultResponse = async ( parsedOutput: any, context: __SerdeContext @@ -14672,14 +14696,14 @@ const serializeAws_queryAddRoleToDBInstanceMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.FeatureName !== undefined) { - entries["FeatureName"] = input.FeatureName; + if (input.RoleArn !== undefined) { + entries["RoleArn"] = input.RoleArn; } if (input.DBInstanceIdentifier !== undefined) { entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; } - if (input.RoleArn !== undefined) { - entries["RoleArn"] = input.RoleArn; + if (input.FeatureName !== undefined) { + entries["FeatureName"] = input.FeatureName; } return entries; }; @@ -14689,12 +14713,12 @@ const serializeAws_queryAddSourceIdentifierToSubscriptionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SourceIdentifier !== undefined) { - entries["SourceIdentifier"] = input.SourceIdentifier; - } if (input.SubscriptionName !== undefined) { entries["SubscriptionName"] = input.SubscriptionName; } + if (input.SourceIdentifier !== undefined) { + entries["SourceIdentifier"] = input.SourceIdentifier; + } return entries; }; @@ -14718,14 +14742,14 @@ const serializeAws_queryApplyPendingMaintenanceActionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ResourceIdentifier !== undefined) { - entries["ResourceIdentifier"] = input.ResourceIdentifier; + if (input.ApplyAction !== undefined) { + entries["ApplyAction"] = input.ApplyAction; } if (input.OptInType !== undefined) { entries["OptInType"] = input.OptInType; } - if (input.ApplyAction !== undefined) { - entries["ApplyAction"] = input.ApplyAction; + if (input.ResourceIdentifier !== undefined) { + entries["ResourceIdentifier"] = input.ResourceIdentifier; } return entries; }; @@ -14745,20 +14769,20 @@ const serializeAws_queryAuthorizeDBSecurityGroupIngressMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.EC2SecurityGroupId !== undefined) { + entries["EC2SecurityGroupId"] = input.EC2SecurityGroupId; + } if (input.EC2SecurityGroupOwnerId !== undefined) { entries["EC2SecurityGroupOwnerId"] = input.EC2SecurityGroupOwnerId; } - if (input.CIDRIP !== undefined) { - entries["CIDRIP"] = input.CIDRIP; - } if (input.EC2SecurityGroupName !== undefined) { entries["EC2SecurityGroupName"] = input.EC2SecurityGroupName; } if (input.DBSecurityGroupName !== undefined) { entries["DBSecurityGroupName"] = input.DBSecurityGroupName; } - if (input.EC2SecurityGroupId !== undefined) { - entries["EC2SecurityGroupId"] = input.EC2SecurityGroupId; + if (input.CIDRIP !== undefined) { + entries["CIDRIP"] = input.CIDRIP; } return entries; }; @@ -14778,18 +14802,18 @@ const serializeAws_queryBacktrackDBClusterMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.BacktrackTo !== undefined) { - entries["BacktrackTo"] = input.BacktrackTo.toISOString().split(".")[0] + "Z"; - } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } if (input.UseEarliestTimeOnPointInTimeUnavailable !== undefined) { entries["UseEarliestTimeOnPointInTimeUnavailable"] = input.UseEarliestTimeOnPointInTimeUnavailable; } if (input.Force !== undefined) { entries["Force"] = input.Force; } + if (input.BacktrackTo !== undefined) { + entries["BacktrackTo"] = input.BacktrackTo.toISOString().split(".")[0] + "Z"; + } + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } return entries; }; @@ -14806,17 +14830,17 @@ const serializeAws_queryCloudwatchLogsExportConfiguration = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EnableLogTypes !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.EnableLogTypes, context); + if (input.DisableLogTypes !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.DisableLogTypes, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnableLogTypes.${key}`; + const loc = `DisableLogTypes.${key}`; entries[loc] = value; }); } - if (input.DisableLogTypes !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.DisableLogTypes, context); + if (input.EnableLogTypes !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.EnableLogTypes, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DisableLogTypes.${key}`; + const loc = `EnableLogTypes.${key}`; entries[loc] = value; }); } @@ -14828,6 +14852,15 @@ const serializeAws_queryConnectionPoolConfiguration = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxConnectionsPercent !== undefined) { + entries["MaxConnectionsPercent"] = input.MaxConnectionsPercent; + } + if (input.InitQuery !== undefined) { + entries["InitQuery"] = input.InitQuery; + } + if (input.ConnectionBorrowTimeout !== undefined) { + entries["ConnectionBorrowTimeout"] = input.ConnectionBorrowTimeout; + } if (input.MaxIdleConnectionsPercent !== undefined) { entries["MaxIdleConnectionsPercent"] = input.MaxIdleConnectionsPercent; } @@ -14838,15 +14871,6 @@ const serializeAws_queryConnectionPoolConfiguration = ( entries[loc] = value; }); } - if (input.InitQuery !== undefined) { - entries["InitQuery"] = input.InitQuery; - } - if (input.MaxConnectionsPercent !== undefined) { - entries["MaxConnectionsPercent"] = input.MaxConnectionsPercent; - } - if (input.ConnectionBorrowTimeout !== undefined) { - entries["ConnectionBorrowTimeout"] = input.ConnectionBorrowTimeout; - } return entries; }; @@ -14855,6 +14879,13 @@ const serializeAws_queryCopyDBClusterParameterGroupMessage = ( 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.TargetDBClusterParameterGroupDescription !== undefined) { entries["TargetDBClusterParameterGroupDescription"] = input.TargetDBClusterParameterGroupDescription; } @@ -14864,13 +14895,6 @@ const serializeAws_queryCopyDBClusterParameterGroupMessage = ( if (input.SourceDBClusterParameterGroupIdentifier !== undefined) { entries["SourceDBClusterParameterGroupIdentifier"] = input.SourceDBClusterParameterGroupIdentifier; } - 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; }; @@ -14882,15 +14906,15 @@ const serializeAws_queryCopyDBClusterSnapshotMessage = ( if (input.TargetDBClusterSnapshotIdentifier !== undefined) { entries["TargetDBClusterSnapshotIdentifier"] = input.TargetDBClusterSnapshotIdentifier; } + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; + } if (input.PreSignedUrl !== undefined) { entries["PreSignedUrl"] = input.PreSignedUrl; } if (input.SourceDBClusterSnapshotIdentifier !== undefined) { entries["SourceDBClusterSnapshotIdentifier"] = input.SourceDBClusterSnapshotIdentifier; } - if (input.CopyTags !== undefined) { - entries["CopyTags"] = input.CopyTags; - } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -14898,8 +14922,8 @@ const serializeAws_queryCopyDBClusterSnapshotMessage = ( entries[loc] = value; }); } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.CopyTags !== undefined) { + entries["CopyTags"] = input.CopyTags; } return entries; }; @@ -14909,9 +14933,6 @@ const serializeAws_queryCopyDBParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SourceDBParameterGroupIdentifier !== undefined) { - entries["SourceDBParameterGroupIdentifier"] = input.SourceDBParameterGroupIdentifier; - } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -14919,39 +14940,42 @@ const serializeAws_queryCopyDBParameterGroupMessage = ( entries[loc] = value; }); } - if (input.TargetDBParameterGroupIdentifier !== undefined) { - entries["TargetDBParameterGroupIdentifier"] = input.TargetDBParameterGroupIdentifier; + if (input.SourceDBParameterGroupIdentifier !== undefined) { + entries["SourceDBParameterGroupIdentifier"] = input.SourceDBParameterGroupIdentifier; } if (input.TargetDBParameterGroupDescription !== undefined) { entries["TargetDBParameterGroupDescription"] = input.TargetDBParameterGroupDescription; } + if (input.TargetDBParameterGroupIdentifier !== undefined) { + entries["TargetDBParameterGroupIdentifier"] = input.TargetDBParameterGroupIdentifier; + } return entries; }; const serializeAws_queryCopyDBSnapshotMessage = (input: CopyDBSnapshotMessage, 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.TargetDBSnapshotIdentifier !== undefined) { + entries["TargetDBSnapshotIdentifier"] = input.TargetDBSnapshotIdentifier; + } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.CopyTags !== undefined) { - entries["CopyTags"] = input.CopyTags; - } if (input.SourceDBSnapshotIdentifier !== undefined) { entries["SourceDBSnapshotIdentifier"] = input.SourceDBSnapshotIdentifier; } - if (input.TargetDBSnapshotIdentifier !== undefined) { - entries["TargetDBSnapshotIdentifier"] = input.TargetDBSnapshotIdentifier; + if (input.CopyTags !== undefined) { + entries["CopyTags"] = input.CopyTags; } if (input.PreSignedUrl !== undefined) { entries["PreSignedUrl"] = input.PreSignedUrl; } - 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.OptionGroupName !== undefined) { entries["OptionGroupName"] = input.OptionGroupName; } @@ -14960,12 +14984,15 @@ const serializeAws_queryCopyDBSnapshotMessage = (input: CopyDBSnapshotMessage, c const serializeAws_queryCopyOptionGroupMessage = (input: CopyOptionGroupMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.TargetOptionGroupIdentifier !== undefined) { - entries["TargetOptionGroupIdentifier"] = input.TargetOptionGroupIdentifier; - } if (input.TargetOptionGroupDescription !== undefined) { entries["TargetOptionGroupDescription"] = input.TargetOptionGroupDescription; } + if (input.SourceOptionGroupIdentifier !== undefined) { + entries["SourceOptionGroupIdentifier"] = input.SourceOptionGroupIdentifier; + } + if (input.TargetOptionGroupIdentifier !== undefined) { + entries["TargetOptionGroupIdentifier"] = input.TargetOptionGroupIdentifier; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -14973,9 +15000,6 @@ const serializeAws_queryCopyOptionGroupMessage = (input: CopyOptionGroupMessage, entries[loc] = value; }); } - if (input.SourceOptionGroupIdentifier !== undefined) { - entries["SourceOptionGroupIdentifier"] = input.SourceOptionGroupIdentifier; - } return entries; }; @@ -14984,18 +15008,18 @@ const serializeAws_queryCreateCustomAvailabilityZoneMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ExistingVpnId !== undefined) { - entries["ExistingVpnId"] = input.ExistingVpnId; - } - if (input.VpnTunnelOriginatorIP !== undefined) { - entries["VpnTunnelOriginatorIP"] = input.VpnTunnelOriginatorIP; - } if (input.CustomAvailabilityZoneName !== undefined) { entries["CustomAvailabilityZoneName"] = input.CustomAvailabilityZoneName; } if (input.NewVpnTunnelName !== undefined) { entries["NewVpnTunnelName"] = input.NewVpnTunnelName; } + if (input.VpnTunnelOriginatorIP !== undefined) { + entries["VpnTunnelOriginatorIP"] = input.VpnTunnelOriginatorIP; + } + if (input.ExistingVpnId !== undefined) { + entries["ExistingVpnId"] = input.ExistingVpnId; + } return entries; }; @@ -15004,6 +15028,19 @@ const serializeAws_queryCreateDBClusterEndpointMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } + if (input.ExcludedMembers !== undefined) { + const memberEntries = serializeAws_queryStringList(input.ExcludedMembers, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ExcludedMembers.${key}`; + entries[loc] = value; + }); + } + if (input.EndpointType !== undefined) { + entries["EndpointType"] = input.EndpointType; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15011,9 +15048,6 @@ const serializeAws_queryCreateDBClusterEndpointMessage = ( entries[loc] = value; }); } - if (input.DBClusterEndpointIdentifier !== undefined) { - entries["DBClusterEndpointIdentifier"] = input.DBClusterEndpointIdentifier; - } if (input.StaticMembers !== undefined) { const memberEntries = serializeAws_queryStringList(input.StaticMembers, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15021,24 +15055,38 @@ const serializeAws_queryCreateDBClusterEndpointMessage = ( entries[loc] = value; }); } - if (input.ExcludedMembers !== undefined) { - const memberEntries = serializeAws_queryStringList(input.ExcludedMembers, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ExcludedMembers.${key}`; - entries[loc] = value; - }); - } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } - if (input.EndpointType !== undefined) { - entries["EndpointType"] = input.EndpointType; + if (input.DBClusterEndpointIdentifier !== undefined) { + entries["DBClusterEndpointIdentifier"] = input.DBClusterEndpointIdentifier; } return entries; }; const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.EnableHttpEndpoint !== undefined) { + entries["EnableHttpEndpoint"] = input.EnableHttpEndpoint; + } + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } + if (input.BackupRetentionPeriod !== undefined) { + entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; + } + if (input.PreferredBackupWindow !== undefined) { + entries["PreferredBackupWindow"] = input.PreferredBackupWindow; + } + if (input.MasterUsername !== undefined) { + entries["MasterUsername"] = input.MasterUsername; + } + if (input.CharacterSetName !== undefined) { + entries["CharacterSetName"] = input.CharacterSetName; + } + if (input.EnableGlobalWriteForwarding !== undefined) { + entries["EnableGlobalWriteForwarding"] = input.EnableGlobalWriteForwarding; + } + if (input.StorageEncrypted !== undefined) { + entries["StorageEncrypted"] = input.StorageEncrypted; + } if (input.VpcSecurityGroupIds !== undefined) { const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15049,9 +15097,6 @@ const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, if (input.DBSubnetGroupName !== undefined) { entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; - } if (input.EnableCloudwatchLogsExports !== undefined) { const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15059,104 +15104,83 @@ const serializeAws_queryCreateDBClusterMessage = (input: CreateDBClusterMessage, entries[loc] = value; }); } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; } - if (input.BackupRetentionPeriod !== undefined) { - entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; + if (input.BacktrackWindow !== undefined) { + entries["BacktrackWindow"] = input.BacktrackWindow; } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; + if (input.Domain !== undefined) { + entries["Domain"] = input.Domain; } - if (input.MasterUsername !== undefined) { - entries["MasterUsername"] = input.MasterUsername; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } - if (input.BacktrackWindow !== undefined) { - entries["BacktrackWindow"] = input.BacktrackWindow; + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; } - if (input.GlobalClusterIdentifier !== undefined) { - entries["GlobalClusterIdentifier"] = input.GlobalClusterIdentifier; + if (input.EngineMode !== undefined) { + entries["EngineMode"] = input.EngineMode; } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } - if (input.AvailabilityZones !== undefined) { - const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } + if (input.ScalingConfiguration !== undefined) { + const memberEntries = serializeAws_queryScalingConfiguration(input.ScalingConfiguration, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AvailabilityZones.${key}`; + const loc = `ScalingConfiguration.${key}`; entries[loc] = value; }); } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; - } if (input.DatabaseName !== undefined) { entries["DatabaseName"] = input.DatabaseName; } - if (input.PreSignedUrl !== undefined) { - entries["PreSignedUrl"] = input.PreSignedUrl; - } - if (input.PreferredBackupWindow !== undefined) { - entries["PreferredBackupWindow"] = input.PreferredBackupWindow; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; } if (input.PreferredMaintenanceWindow !== undefined) { entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } - if (input.EnableGlobalWriteForwarding !== undefined) { - entries["EnableGlobalWriteForwarding"] = input.EnableGlobalWriteForwarding; - } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; - } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.AvailabilityZones !== undefined) { + const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `AvailabilityZones.${key}`; entries[loc] = value; }); } - if (input.ReplicationSourceIdentifier !== undefined) { - entries["ReplicationSourceIdentifier"] = input.ReplicationSourceIdentifier; - } - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; - } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; - } - if (input.Domain !== undefined) { - entries["Domain"] = input.Domain; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } - if (input.StorageEncrypted !== undefined) { - entries["StorageEncrypted"] = input.StorageEncrypted; + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; } - if (input.CharacterSetName !== undefined) { - entries["CharacterSetName"] = input.CharacterSetName; + if (input.ReplicationSourceIdentifier !== undefined) { + entries["ReplicationSourceIdentifier"] = input.ReplicationSourceIdentifier; } - if (input.EngineMode !== undefined) { - entries["EngineMode"] = input.EngineMode; + if (input.GlobalClusterIdentifier !== undefined) { + entries["GlobalClusterIdentifier"] = input.GlobalClusterIdentifier; } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; } - if (input.EnableHttpEndpoint !== undefined) { - entries["EnableHttpEndpoint"] = input.EnableHttpEndpoint; + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; } - if (input.ScalingConfiguration !== undefined) { - const memberEntries = serializeAws_queryScalingConfiguration(input.ScalingConfiguration, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ScalingConfiguration.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.PreSignedUrl !== undefined) { + entries["PreSignedUrl"] = input.PreSignedUrl; } return entries; }; @@ -15166,21 +15190,21 @@ const serializeAws_queryCreateDBClusterParameterGroupMessage = ( 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.Description !== undefined) { entries["Description"] = input.Description; } + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } if (input.DBParameterGroupFamily !== undefined) { entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + 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; }; @@ -15208,21 +15232,17 @@ const serializeAws_queryCreateDBClusterSnapshotMessage = ( const serializeAws_queryCreateDBInstanceMessage = (input: CreateDBInstanceMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.PreferredBackupWindow !== undefined) { + entries["PreferredBackupWindow"] = input.PreferredBackupWindow; } - if (input.DBSecurityGroups !== undefined) { - const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroups, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DBSecurityGroups.${key}`; - entries[loc] = value; - }); + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; } - if (input.AutoMinorVersionUpgrade !== undefined) { - entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; + if (input.MasterUsername !== undefined) { + entries["MasterUsername"] = input.MasterUsername; } if (input.VpcSecurityGroupIds !== undefined) { const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); @@ -15231,6 +15251,9 @@ const serializeAws_queryCreateDBInstanceMessage = (input: CreateDBInstanceMessag entries[loc] = value; }); } + if (input.PromotionTier !== undefined) { + entries["PromotionTier"] = input.PromotionTier; + } if (input.EnableCloudwatchLogsExports !== undefined) { const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15238,38 +15261,36 @@ const serializeAws_queryCreateDBInstanceMessage = (input: CreateDBInstanceMessag entries[loc] = value; }); } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; - } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; - } - if (input.DBName !== undefined) { - entries["DBName"] = input.DBName; + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; } - if (input.MaxAllocatedStorage !== undefined) { - entries["MaxAllocatedStorage"] = input.MaxAllocatedStorage; + if (input.MonitoringRoleArn !== undefined) { + entries["MonitoringRoleArn"] = input.MonitoringRoleArn; } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; } - if (input.MasterUsername !== undefined) { - entries["MasterUsername"] = input.MasterUsername; + if (input.StorageType !== undefined) { + entries["StorageType"] = input.StorageType; } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; + if (input.CharacterSetName !== undefined) { + entries["CharacterSetName"] = input.CharacterSetName; } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.PerformanceInsightsRetentionPeriod !== undefined) { + entries["PerformanceInsightsRetentionPeriod"] = input.PerformanceInsightsRetentionPeriod; } - if (input.PreferredBackupWindow !== undefined) { - entries["PreferredBackupWindow"] = input.PreferredBackupWindow; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; } - if (input.Timezone !== undefined) { - entries["Timezone"] = input.Timezone; + if (input.AllocatedStorage !== undefined) { + entries["AllocatedStorage"] = input.AllocatedStorage; } - if (input.EnablePerformanceInsights !== undefined) { - entries["EnablePerformanceInsights"] = input.EnablePerformanceInsights; + 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.PreferredMaintenanceWindow !== undefined) { entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; @@ -15277,27 +15298,6 @@ const serializeAws_queryCreateDBInstanceMessage = (input: CreateDBInstanceMessag if (input.LicenseModel !== undefined) { entries["LicenseModel"] = input.LicenseModel; } - if (input.Iops !== undefined) { - entries["Iops"] = input.Iops; - } - if (input.MonitoringInterval !== undefined) { - entries["MonitoringInterval"] = input.MonitoringInterval; - } - if (input.TdeCredentialPassword !== undefined) { - entries["TdeCredentialPassword"] = input.TdeCredentialPassword; - } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; - } - if (input.Domain !== undefined) { - entries["Domain"] = input.Domain; - } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; - } - if (input.PromotionTier !== undefined) { - entries["PromotionTier"] = input.PromotionTier; - } if (input.ProcessorFeatures !== undefined) { const memberEntries = serializeAws_queryProcessorFeatureList(input.ProcessorFeatures, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15305,133 +15305,151 @@ const serializeAws_queryCreateDBInstanceMessage = (input: CreateDBInstanceMessag entries[loc] = value; }); } - if (input.MultiAZ !== undefined) { - entries["MultiAZ"] = input.MultiAZ; - } - if (input.MonitoringRoleArn !== undefined) { - entries["MonitoringRoleArn"] = input.MonitoringRoleArn; - } - 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.DBName !== undefined) { + entries["DBName"] = input.DBName; } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; + if (input.Iops !== undefined) { + entries["Iops"] = input.Iops; } if (input.PerformanceInsightsKMSKeyId !== undefined) { entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; } - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; - } if (input.TdeCredentialArn !== undefined) { entries["TdeCredentialArn"] = input.TdeCredentialArn; } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; + if (input.BackupRetentionPeriod !== undefined) { + entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; + } + if (input.MaxAllocatedStorage !== undefined) { + entries["MaxAllocatedStorage"] = input.MaxAllocatedStorage; } if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.CharacterSetName !== undefined) { - entries["CharacterSetName"] = input.CharacterSetName; - } - if (input.BackupRetentionPeriod !== undefined) { - entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; + if (input.DBSecurityGroups !== undefined) { + const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroups, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DBSecurityGroups.${key}`; + entries[loc] = value; + }); } if (input.StorageEncrypted !== undefined) { entries["StorageEncrypted"] = input.StorageEncrypted; } - if (input.PerformanceInsightsRetentionPeriod !== undefined) { - entries["PerformanceInsightsRetentionPeriod"] = input.PerformanceInsightsRetentionPeriod; + if (input.Timezone !== undefined) { + entries["Timezone"] = input.Timezone; } if (input.EngineVersion !== undefined) { entries["EngineVersion"] = input.EngineVersion; } - if (input.StorageType !== undefined) { - entries["StorageType"] = input.StorageType; + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; } - if (input.AllocatedStorage !== undefined) { - entries["AllocatedStorage"] = input.AllocatedStorage; + if (input.NcharCharacterSetName !== undefined) { + entries["NcharCharacterSetName"] = input.NcharCharacterSetName; } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } - return entries; -}; - -const serializeAws_queryCreateDBInstanceReadReplicaMessage = ( - input: CreateDBInstanceReadReplicaMessage, - context: __SerdeContext -): any => { - const entries: any = {}; - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; } - if (input.PreSignedUrl !== undefined) { - entries["PreSignedUrl"] = input.PreSignedUrl; + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; } - 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.Domain !== undefined) { + entries["Domain"] = input.Domain; } - if (input.UseDefaultProcessorFeatures !== undefined) { - entries["UseDefaultProcessorFeatures"] = input.UseDefaultProcessorFeatures; + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; } - if (input.MonitoringRoleArn !== undefined) { - entries["MonitoringRoleArn"] = input.MonitoringRoleArn; + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; } - if (input.EnablePerformanceInsights !== undefined) { - entries["EnablePerformanceInsights"] = input.EnablePerformanceInsights; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; + } + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; } if (input.MultiAZ !== undefined) { entries["MultiAZ"] = input.MultiAZ; } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.EnablePerformanceInsights !== undefined) { + entries["EnablePerformanceInsights"] = input.EnablePerformanceInsights; } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; + if (input.TdeCredentialPassword !== undefined) { + entries["TdeCredentialPassword"] = input.TdeCredentialPassword; } if (input.AutoMinorVersionUpgrade !== undefined) { entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; - } if (input.MonitoringInterval !== undefined) { entries["MonitoringInterval"] = input.MonitoringInterval; } - if (input.Iops !== undefined) { - entries["Iops"] = input.Iops; + return entries; +}; + +const serializeAws_queryCreateDBInstanceReadReplicaMessage = ( + input: CreateDBInstanceReadReplicaMessage, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.MonitoringRoleArn !== undefined) { + entries["MonitoringRoleArn"] = input.MonitoringRoleArn; } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; + if (input.ProcessorFeatures !== undefined) { + const memberEntries = serializeAws_queryProcessorFeatureList(input.ProcessorFeatures, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ProcessorFeatures.${key}`; + entries[loc] = value; + }); } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.UseDefaultProcessorFeatures !== undefined) { + entries["UseDefaultProcessorFeatures"] = input.UseDefaultProcessorFeatures; + } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } + if (input.Domain !== undefined) { + entries["Domain"] = input.Domain; + } + if (input.EnableCloudwatchLogsExports !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `EnableCloudwatchLogsExports.${key}`; entries[loc] = value; }); } + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + } + if (input.Port !== undefined) { + entries["Port"] = input.Port; + } + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; + } + if (input.StorageType !== undefined) { + entries["StorageType"] = input.StorageType; + } + if (input.PerformanceInsightsRetentionPeriod !== undefined) { + entries["PerformanceInsightsRetentionPeriod"] = input.PerformanceInsightsRetentionPeriod; + } + if (input.SourceDBInstanceIdentifier !== undefined) { + entries["SourceDBInstanceIdentifier"] = input.SourceDBInstanceIdentifier; + } if (input.OptionGroupName !== undefined) { entries["OptionGroupName"] = input.OptionGroupName; } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } if (input.DeletionProtection !== undefined) { entries["DeletionProtection"] = input.DeletionProtection; @@ -15439,46 +15457,58 @@ const serializeAws_queryCreateDBInstanceReadReplicaMessage = ( if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; - } - if (input.PerformanceInsightsKMSKeyId !== undefined) { - entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; - } - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; } - if (input.Domain !== undefined) { - entries["Domain"] = input.Domain; + if (input.MonitoringInterval !== undefined) { + entries["MonitoringInterval"] = input.MonitoringInterval; } - if (input.EnableCloudwatchLogsExports !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnableCloudwatchLogsExports.${key}`; + const loc = `VpcSecurityGroupIds.${key}`; entries[loc] = value; }); } - if (input.PerformanceInsightsRetentionPeriod !== undefined) { - entries["PerformanceInsightsRetentionPeriod"] = input.PerformanceInsightsRetentionPeriod; - } - if (input.ProcessorFeatures !== undefined) { - const memberEntries = serializeAws_queryProcessorFeatureList(input.ProcessorFeatures, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ProcessorFeatures.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.AutoMinorVersionUpgrade !== undefined) { + entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } - if (input.StorageType !== undefined) { - entries["StorageType"] = input.StorageType; + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; } - if (input.SourceDBInstanceIdentifier !== undefined) { - entries["SourceDBInstanceIdentifier"] = input.SourceDBInstanceIdentifier; + if (input.Iops !== undefined) { + entries["Iops"] = input.Iops; + } + if (input.EnablePerformanceInsights !== undefined) { + entries["EnablePerformanceInsights"] = input.EnablePerformanceInsights; + } + if (input.ReplicaMode !== undefined) { + entries["ReplicaMode"] = input.ReplicaMode; + } + if (input.PerformanceInsightsKMSKeyId !== undefined) { + entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; + } + if (input.MultiAZ !== undefined) { + entries["MultiAZ"] = input.MultiAZ; + } + if (input.PreSignedUrl !== undefined) { + entries["PreSignedUrl"] = input.PreSignedUrl; + } + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + } + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; } return entries; }; @@ -15488,9 +15518,6 @@ const serializeAws_queryCreateDBParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBParameterGroupFamily !== undefined) { - entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; - } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15498,25 +15525,22 @@ const serializeAws_queryCreateDBParameterGroupMessage = ( entries[loc] = value; }); } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; + if (input.DBParameterGroupFamily !== undefined) { + entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; } if (input.Description !== undefined) { entries["Description"] = input.Description; } + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; + } return entries; }; const serializeAws_queryCreateDBProxyRequest = (input: CreateDBProxyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.DBProxyName !== undefined) { - entries["DBProxyName"] = input.DBProxyName; - } - if (input.RoleArn !== undefined) { - entries["RoleArn"] = input.RoleArn; - } - if (input.IdleClientTimeout !== undefined) { - entries["IdleClientTimeout"] = input.IdleClientTimeout; + if (input.DebugLogging !== undefined) { + entries["DebugLogging"] = input.DebugLogging; } if (input.VpcSubnetIds !== undefined) { const memberEntries = serializeAws_queryStringList(input.VpcSubnetIds, context); @@ -15525,22 +15549,16 @@ const serializeAws_queryCreateDBProxyRequest = (input: CreateDBProxyRequest, con entries[loc] = value; }); } - if (input.RequireTLS !== undefined) { - entries["RequireTLS"] = input.RequireTLS; + if (input.IdleClientTimeout !== undefined) { + entries["IdleClientTimeout"] = input.IdleClientTimeout; } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryStringList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `VpcSecurityGroupIds.${key}`; entries[loc] = value; }); } - if (input.EngineFamily !== undefined) { - entries["EngineFamily"] = input.EngineFamily; - } - if (input.DebugLogging !== undefined) { - entries["DebugLogging"] = input.DebugLogging; - } if (input.Auth !== undefined) { const memberEntries = serializeAws_queryUserAuthConfigList(input.Auth, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15548,10 +15566,22 @@ const serializeAws_queryCreateDBProxyRequest = (input: CreateDBProxyRequest, con entries[loc] = value; }); } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryStringList(input.VpcSecurityGroupIds, context); + if (input.EngineFamily !== undefined) { + entries["EngineFamily"] = input.EngineFamily; + } + if (input.RequireTLS !== undefined) { + entries["RequireTLS"] = input.RequireTLS; + } + if (input.RoleArn !== undefined) { + entries["RoleArn"] = input.RoleArn; + } + if (input.DBProxyName !== undefined) { + entries["DBProxyName"] = input.DBProxyName; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } @@ -15563,6 +15593,12 @@ const serializeAws_queryCreateDBSecurityGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBSecurityGroupName !== undefined) { + entries["DBSecurityGroupName"] = input.DBSecurityGroupName; + } + if (input.DBSecurityGroupDescription !== undefined) { + entries["DBSecurityGroupDescription"] = input.DBSecurityGroupDescription; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15570,12 +15606,6 @@ const serializeAws_queryCreateDBSecurityGroupMessage = ( entries[loc] = value; }); } - if (input.DBSecurityGroupDescription !== undefined) { - entries["DBSecurityGroupDescription"] = input.DBSecurityGroupDescription; - } - if (input.DBSecurityGroupName !== undefined) { - entries["DBSecurityGroupName"] = input.DBSecurityGroupName; - } return entries; }; @@ -15602,12 +15632,6 @@ const serializeAws_queryCreateDBSubnetGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; - } - if (input.DBSubnetGroupDescription !== undefined) { - entries["DBSubnetGroupDescription"] = input.DBSubnetGroupDescription; - } if (input.SubnetIds !== undefined) { const memberEntries = serializeAws_querySubnetIdentifierList(input.SubnetIds, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15615,6 +15639,9 @@ const serializeAws_queryCreateDBSubnetGroupMessage = ( entries[loc] = value; }); } + if (input.DBSubnetGroupDescription !== undefined) { + entries["DBSubnetGroupDescription"] = input.DBSubnetGroupDescription; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15622,6 +15649,9 @@ const serializeAws_queryCreateDBSubnetGroupMessage = ( entries[loc] = value; }); } + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } return entries; }; @@ -15630,9 +15660,22 @@ const serializeAws_queryCreateEventSubscriptionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.SubscriptionName !== undefined) { + entries["SubscriptionName"] = input.SubscriptionName; + } + if (input.EventCategories !== undefined) { + const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `EventCategories.${key}`; + entries[loc] = value; + }); + } if (input.Enabled !== undefined) { entries["Enabled"] = input.Enabled; } + if (input.SourceType !== undefined) { + entries["SourceType"] = input.SourceType; + } if (input.SnsTopicArn !== undefined) { entries["SnsTopicArn"] = input.SnsTopicArn; } @@ -15650,19 +15693,6 @@ const serializeAws_queryCreateEventSubscriptionMessage = ( entries[loc] = value; }); } - if (input.SubscriptionName !== undefined) { - entries["SubscriptionName"] = input.SubscriptionName; - } - if (input.EventCategories !== undefined) { - const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EventCategories.${key}`; - entries[loc] = value; - }); - } - if (input.SourceType !== undefined) { - entries["SourceType"] = input.SourceType; - } return entries; }; @@ -15671,41 +15701,32 @@ const serializeAws_queryCreateGlobalClusterMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DatabaseName !== undefined) { - entries["DatabaseName"] = input.DatabaseName; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; + } + if (input.GlobalClusterIdentifier !== undefined) { + entries["GlobalClusterIdentifier"] = input.GlobalClusterIdentifier; + } + if (input.SourceDBClusterIdentifier !== undefined) { + entries["SourceDBClusterIdentifier"] = input.SourceDBClusterIdentifier; } if (input.DeletionProtection !== undefined) { entries["DeletionProtection"] = input.DeletionProtection; } + if (input.DatabaseName !== undefined) { + entries["DatabaseName"] = input.DatabaseName; + } if (input.Engine !== undefined) { entries["Engine"] = input.Engine; } if (input.StorageEncrypted !== undefined) { entries["StorageEncrypted"] = input.StorageEncrypted; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } - if (input.SourceDBClusterIdentifier !== undefined) { - entries["SourceDBClusterIdentifier"] = input.SourceDBClusterIdentifier; - } - if (input.GlobalClusterIdentifier !== undefined) { - entries["GlobalClusterIdentifier"] = input.GlobalClusterIdentifier; - } return entries; }; const serializeAws_queryCreateOptionGroupMessage = (input: CreateOptionGroupMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; - } - if (input.EngineName !== undefined) { - entries["EngineName"] = input.EngineName; - } - if (input.OptionGroupDescription !== undefined) { - entries["OptionGroupDescription"] = input.OptionGroupDescription; - } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15716,6 +15737,15 @@ const serializeAws_queryCreateOptionGroupMessage = (input: CreateOptionGroupMess if (input.MajorEngineVersion !== undefined) { entries["MajorEngineVersion"] = input.MajorEngineVersion; } + if (input.EngineName !== undefined) { + entries["EngineName"] = input.EngineName; + } + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; + } + if (input.OptionGroupDescription !== undefined) { + entries["OptionGroupDescription"] = input.OptionGroupDescription; + } return entries; }; @@ -15753,15 +15783,15 @@ const serializeAws_queryDeleteDBClusterEndpointMessage = ( const serializeAws_queryDeleteDBClusterMessage = (input: DeleteDBClusterMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.SkipFinalSnapshot !== undefined) { + entries["SkipFinalSnapshot"] = input.SkipFinalSnapshot; + } if (input.FinalDBSnapshotIdentifier !== undefined) { entries["FinalDBSnapshotIdentifier"] = input.FinalDBSnapshotIdentifier; } if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.SkipFinalSnapshot !== undefined) { - entries["SkipFinalSnapshot"] = input.SkipFinalSnapshot; - } return entries; }; @@ -15806,12 +15836,12 @@ const serializeAws_queryDeleteDBInstanceMessage = (input: DeleteDBInstanceMessag if (input.SkipFinalSnapshot !== undefined) { entries["SkipFinalSnapshot"] = input.SkipFinalSnapshot; } - if (input.DeleteAutomatedBackups !== undefined) { - entries["DeleteAutomatedBackups"] = input.DeleteAutomatedBackups; - } if (input.FinalDBSnapshotIdentifier !== undefined) { entries["FinalDBSnapshotIdentifier"] = input.FinalDBSnapshotIdentifier; } + if (input.DeleteAutomatedBackups !== undefined) { + entries["DeleteAutomatedBackups"] = input.DeleteAutomatedBackups; + } return entries; }; @@ -15910,8 +15940,8 @@ const serializeAws_queryDeregisterDBProxyTargetsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TargetGroupName !== undefined) { - entries["TargetGroupName"] = input.TargetGroupName; + if (input.DBProxyName !== undefined) { + entries["DBProxyName"] = input.DBProxyName; } if (input.DBClusterIdentifiers !== undefined) { const memberEntries = serializeAws_queryStringList(input.DBClusterIdentifiers, context); @@ -15920,9 +15950,6 @@ const serializeAws_queryDeregisterDBProxyTargetsRequest = ( entries[loc] = value; }); } - if (input.DBProxyName !== undefined) { - entries["DBProxyName"] = input.DBProxyName; - } if (input.DBInstanceIdentifiers !== undefined) { const memberEntries = serializeAws_queryStringList(input.DBInstanceIdentifiers, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15930,6 +15957,9 @@ const serializeAws_queryDeregisterDBProxyTargetsRequest = ( entries[loc] = value; }); } + if (input.TargetGroupName !== undefined) { + entries["TargetGroupName"] = input.TargetGroupName; + } return entries; }; @@ -15946,12 +15976,15 @@ const serializeAws_queryDescribeCertificatesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.CertificateIdentifier !== undefined) { - entries["CertificateIdentifier"] = input.CertificateIdentifier; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.CertificateIdentifier !== undefined) { + entries["CertificateIdentifier"] = input.CertificateIdentifier; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15959,9 +15992,6 @@ const serializeAws_queryDescribeCertificatesMessage = ( entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; @@ -15973,6 +16003,12 @@ const serializeAws_queryDescribeCustomAvailabilityZonesMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.CustomAvailabilityZoneId !== undefined) { + entries["CustomAvailabilityZoneId"] = input.CustomAvailabilityZoneId; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -15980,12 +16016,6 @@ const serializeAws_queryDescribeCustomAvailabilityZonesMessage = ( entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.CustomAvailabilityZoneId !== undefined) { - entries["CustomAvailabilityZoneId"] = input.CustomAvailabilityZoneId; - } return entries; }; @@ -16001,18 +16031,18 @@ const serializeAws_queryDescribeDBClusterBacktracksMessage = ( entries[loc] = value; }); } - if (input.BacktrackIdentifier !== undefined) { - entries["BacktrackIdentifier"] = input.BacktrackIdentifier; - } if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.BacktrackIdentifier !== undefined) { + entries["BacktrackIdentifier"] = input.BacktrackIdentifier; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -16021,14 +16051,14 @@ const serializeAws_queryDescribeDBClusterEndpointsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } if (input.DBClusterEndpointIdentifier !== undefined) { entries["DBClusterEndpointIdentifier"] = input.DBClusterEndpointIdentifier; } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -16037,8 +16067,8 @@ const serializeAws_queryDescribeDBClusterEndpointsMessage = ( entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } return entries; }; @@ -16048,15 +16078,6 @@ const serializeAws_queryDescribeDBClusterParameterGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16064,6 +16085,15 @@ const serializeAws_queryDescribeDBClusterParameterGroupsMessage = ( entries[loc] = value; }); } + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -16072,12 +16102,6 @@ const serializeAws_queryDescribeDBClusterParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.Source !== undefined) { entries["Source"] = input.Source; } @@ -16091,6 +16115,12 @@ const serializeAws_queryDescribeDBClusterParametersMessage = ( entries[loc] = value; }); } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -16099,12 +16129,11 @@ const serializeAws_queryDescribeDBClustersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_queryFilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filters.${key}`; - entries[loc] = value; - }); + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.IncludeShared !== undefined) { entries["IncludeShared"] = input.IncludeShared; @@ -16112,11 +16141,12 @@ const serializeAws_queryDescribeDBClustersMessage = ( if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_queryFilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filters.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -16137,18 +16167,21 @@ const serializeAws_queryDescribeDBClusterSnapshotsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.IncludeShared !== undefined) { + entries["IncludeShared"] = input.IncludeShared; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.IncludePublic !== undefined) { + entries["IncludePublic"] = input.IncludePublic; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } if (input.DBClusterSnapshotIdentifier !== undefined) { entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; } - if (input.SnapshotType !== undefined) { - entries["SnapshotType"] = input.SnapshotType; - } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16156,14 +16189,11 @@ const serializeAws_queryDescribeDBClusterSnapshotsMessage = ( entries[loc] = value; }); } - if (input.IncludePublic !== undefined) { - entries["IncludePublic"] = input.IncludePublic; - } - if (input.IncludeShared !== undefined) { - entries["IncludeShared"] = input.IncludeShared; + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.SnapshotType !== undefined) { + entries["SnapshotType"] = input.SnapshotType; } return entries; }; @@ -16173,11 +16203,14 @@ const serializeAws_queryDescribeDBEngineVersionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.ListSupportedTimezones !== undefined) { + entries["ListSupportedTimezones"] = input.ListSupportedTimezones; } - if (input.DefaultOnly !== undefined) { - entries["DefaultOnly"] = input.DefaultOnly; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.ListSupportedCharacterSets !== undefined) { + entries["ListSupportedCharacterSets"] = input.ListSupportedCharacterSets; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -16186,26 +16219,23 @@ const serializeAws_queryDescribeDBEngineVersionsMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; - } - if (input.IncludeAll !== undefined) { - entries["IncludeAll"] = input.IncludeAll; + if (input.DefaultOnly !== undefined) { + entries["DefaultOnly"] = input.DefaultOnly; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } if (input.DBParameterGroupFamily !== undefined) { entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; } - if (input.ListSupportedCharacterSets !== undefined) { - entries["ListSupportedCharacterSets"] = input.ListSupportedCharacterSets; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } - if (input.ListSupportedTimezones !== undefined) { - entries["ListSupportedTimezones"] = input.ListSupportedTimezones; + if (input.IncludeAll !== undefined) { + entries["IncludeAll"] = input.IncludeAll; + } + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; } return entries; }; @@ -16215,15 +16245,6 @@ const serializeAws_queryDescribeDBInstanceAutomatedBackupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; - } - if (input.DbiResourceId !== undefined) { - entries["DbiResourceId"] = input.DbiResourceId; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16234,6 +16255,15 @@ const serializeAws_queryDescribeDBInstanceAutomatedBackupsMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.DbiResourceId !== undefined) { + entries["DbiResourceId"] = input.DbiResourceId; + } return entries; }; @@ -16242,22 +16272,22 @@ const serializeAws_queryDescribeDBInstancesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.Filters !== undefined) { + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } + if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { const loc = `Filters.${key}`; entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; @@ -16266,30 +16296,30 @@ const serializeAws_queryDescribeDBLogFilesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_queryFilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filters.${key}`; - entries[loc] = value; - }); + if (input.FileLastWritten !== undefined) { + entries["FileLastWritten"] = input.FileLastWritten; + } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.FileLastWritten !== undefined) { - entries["FileLastWritten"] = input.FileLastWritten; - } - if (input.FilenameContains !== undefined) { - entries["FilenameContains"] = input.FilenameContains; + if (input.FileSize !== undefined) { + entries["FileSize"] = input.FileSize; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + if (input.FilenameContains !== undefined) { + entries["FilenameContains"] = input.FilenameContains; } - if (input.FileSize !== undefined) { - entries["FileSize"] = input.FileSize; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_queryFilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filters.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -16299,6 +16329,13 @@ const serializeAws_queryDescribeDBParameterGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_queryFilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filters.${key}`; + entries[loc] = value; + }); + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } @@ -16308,13 +16345,6 @@ const serializeAws_queryDescribeDBParameterGroupsMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_queryFilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filters.${key}`; - entries[loc] = value; - }); - } return entries; }; @@ -16323,6 +16353,15 @@ const serializeAws_queryDescribeDBParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.Source !== undefined) { entries["Source"] = input.Source; } @@ -16333,20 +16372,17 @@ const serializeAws_queryDescribeDBParametersMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; const serializeAws_queryDescribeDBProxiesRequest = (input: DescribeDBProxiesRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16357,12 +16393,6 @@ const serializeAws_queryDescribeDBProxiesRequest = (input: DescribeDBProxiesRequ if (input.DBProxyName !== undefined) { entries["DBProxyName"] = input.DBProxyName; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; @@ -16371,6 +16401,15 @@ const serializeAws_queryDescribeDBProxyTargetGroupsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.DBProxyName !== undefined) { + entries["DBProxyName"] = input.DBProxyName; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.TargetGroupName !== undefined) { entries["TargetGroupName"] = input.TargetGroupName; } @@ -16381,15 +16420,6 @@ const serializeAws_queryDescribeDBProxyTargetGroupsRequest = ( entries[loc] = value; }); } - if (input.DBProxyName !== undefined) { - entries["DBProxyName"] = input.DBProxyName; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; @@ -16398,17 +16428,11 @@ const serializeAws_queryDescribeDBProxyTargetsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TargetGroupName !== undefined) { - entries["TargetGroupName"] = input.TargetGroupName; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.DBProxyName !== undefined) { entries["DBProxyName"] = input.DBProxyName; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -16417,6 +16441,12 @@ const serializeAws_queryDescribeDBProxyTargetsRequest = ( entries[loc] = value; }); } + if (input.TargetGroupName !== undefined) { + entries["TargetGroupName"] = input.TargetGroupName; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -16425,8 +16455,8 @@ const serializeAws_queryDescribeDBSecurityGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.DBSecurityGroupName !== undefined) { + entries["DBSecurityGroupName"] = input.DBSecurityGroupName; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -16435,12 +16465,12 @@ const serializeAws_queryDescribeDBSecurityGroupsMessage = ( entries[loc] = value; }); } - if (input.DBSecurityGroupName !== undefined) { - entries["DBSecurityGroupName"] = input.DBSecurityGroupName; - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -16460,15 +16490,6 @@ const serializeAws_queryDescribeDBSnapshotsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SnapshotType !== undefined) { - entries["SnapshotType"] = input.SnapshotType; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.IncludePublic !== undefined) { - entries["IncludePublic"] = input.IncludePublic; - } if (input.IncludeShared !== undefined) { entries["IncludeShared"] = input.IncludeShared; } @@ -16482,14 +16503,23 @@ const serializeAws_queryDescribeDBSnapshotsMessage = ( if (input.DBSnapshotIdentifier !== undefined) { entries["DBSnapshotIdentifier"] = input.DBSnapshotIdentifier; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; } if (input.DbiResourceId !== undefined) { entries["DbiResourceId"] = input.DbiResourceId; } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.IncludePublic !== undefined) { + entries["IncludePublic"] = input.IncludePublic; + } + if (input.SnapshotType !== undefined) { + entries["SnapshotType"] = input.SnapshotType; } return entries; }; @@ -16506,14 +16536,14 @@ const serializeAws_queryDescribeDBSubnetGroupsMessage = ( entries[loc] = value; }); } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } return entries; }; @@ -16523,9 +16553,15 @@ const serializeAws_queryDescribeEngineDefaultClusterParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBParameterGroupFamily !== undefined) { + entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16533,12 +16569,6 @@ const serializeAws_queryDescribeEngineDefaultClusterParametersMessage = ( entries[loc] = value; }); } - if (input.DBParameterGroupFamily !== undefined) { - entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; @@ -16547,15 +16577,6 @@ const serializeAws_queryDescribeEngineDefaultParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBParameterGroupFamily !== undefined) { - entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16563,6 +16584,15 @@ const serializeAws_queryDescribeEngineDefaultParametersMessage = ( entries[loc] = value; }); } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.DBParameterGroupFamily !== undefined) { + entries["DBParameterGroupFamily"] = input.DBParameterGroupFamily; + } return entries; }; @@ -16586,21 +16616,14 @@ const serializeAws_queryDescribeEventCategoriesMessage = ( const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_queryFilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filters.${key}`; - entries[loc] = value; - }); - } - if (input.SourceType !== undefined) { - entries["SourceType"] = input.SourceType; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; } - if (input.SourceIdentifier !== undefined) { - entries["SourceIdentifier"] = input.SourceIdentifier; + if (input.StartTime !== undefined) { + entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } if (input.EventCategories !== undefined) { const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); @@ -16609,18 +16632,25 @@ const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, c entries[loc] = value; }); } - if (input.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - 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.SourceType !== undefined) { + entries["SourceType"] = input.SourceType; + } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_queryFilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filters.${key}`; + entries[loc] = value; + }); + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -16629,6 +16659,9 @@ const serializeAws_queryDescribeEventSubscriptionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16642,9 +16675,6 @@ const serializeAws_queryDescribeEventSubscriptionsMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; @@ -16653,15 +16683,12 @@ const serializeAws_queryDescribeExportTasksMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.ExportTaskIdentifier !== undefined) { + entries["ExportTaskIdentifier"] = input.ExportTaskIdentifier; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.SourceArn !== undefined) { - entries["SourceArn"] = input.SourceArn; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16669,8 +16696,11 @@ const serializeAws_queryDescribeExportTasksMessage = ( entries[loc] = value; }); } - if (input.ExportTaskIdentifier !== undefined) { - entries["ExportTaskIdentifier"] = input.ExportTaskIdentifier; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.SourceArn !== undefined) { + entries["SourceArn"] = input.SourceArn; } return entries; }; @@ -16680,6 +16710,9 @@ const serializeAws_queryDescribeGlobalClustersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16687,15 +16720,12 @@ const serializeAws_queryDescribeGlobalClustersMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.GlobalClusterIdentifier !== undefined) { entries["GlobalClusterIdentifier"] = input.GlobalClusterIdentifier; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -16704,9 +16734,15 @@ const serializeAws_queryDescribeInstallationMediaMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.InstallationMediaId !== undefined) { + entries["InstallationMediaId"] = input.InstallationMediaId; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16714,12 +16750,6 @@ const serializeAws_queryDescribeInstallationMediaMessage = ( entries[loc] = value; }); } - if (input.InstallationMediaId !== undefined) { - entries["InstallationMediaId"] = input.InstallationMediaId; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; @@ -16728,18 +16758,9 @@ const serializeAws_queryDescribeOptionGroupOptionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.MajorEngineVersion !== undefined) { - entries["MajorEngineVersion"] = input.MajorEngineVersion; - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.EngineName !== undefined) { - entries["EngineName"] = input.EngineName; - } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -16747,6 +16768,15 @@ const serializeAws_queryDescribeOptionGroupOptionsMessage = ( entries[loc] = value; }); } + if (input.EngineName !== undefined) { + entries["EngineName"] = input.EngineName; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.MajorEngineVersion !== undefined) { + entries["MajorEngineVersion"] = input.MajorEngineVersion; + } return entries; }; @@ -16755,20 +16785,11 @@ const serializeAws_queryDescribeOptionGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MajorEngineVersion !== undefined) { - entries["MajorEngineVersion"] = input.MajorEngineVersion; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.OptionGroupName !== undefined) { entries["OptionGroupName"] = input.OptionGroupName; } - if (input.EngineName !== undefined) { - entries["EngineName"] = input.EngineName; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -16777,6 +16798,15 @@ const serializeAws_queryDescribeOptionGroupsMessage = ( entries[loc] = value; }); } + if (input.EngineName !== undefined) { + entries["EngineName"] = input.EngineName; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.MajorEngineVersion !== undefined) { + entries["MajorEngineVersion"] = input.MajorEngineVersion; + } return entries; }; @@ -16785,21 +16815,8 @@ const serializeAws_queryDescribeOrderableDBInstanceOptionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.AvailabilityZoneGroup !== undefined) { - entries["AvailabilityZoneGroup"] = input.AvailabilityZoneGroup; - } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_queryFilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filters.${key}`; - entries[loc] = value; - }); - } - if (input.LicenseModel !== undefined) { - entries["LicenseModel"] = input.LicenseModel; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.DBInstanceClass !== undefined) { entries["DBInstanceClass"] = input.DBInstanceClass; @@ -16810,12 +16827,25 @@ const serializeAws_queryDescribeOrderableDBInstanceOptionsMessage = ( if (input.EngineVersion !== undefined) { entries["EngineVersion"] = input.EngineVersion; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.Vpc !== undefined) { entries["Vpc"] = input.Vpc; } + if (input.LicenseModel !== undefined) { + entries["LicenseModel"] = input.LicenseModel; + } + if (input.Filters !== undefined) { + const memberEntries = serializeAws_queryFilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filters.${key}`; + entries[loc] = value; + }); + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.AvailabilityZoneGroup !== undefined) { + entries["AvailabilityZoneGroup"] = input.AvailabilityZoneGroup; + } return entries; }; @@ -16824,12 +16854,6 @@ const serializeAws_queryDescribePendingMaintenanceActionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ResourceIdentifier !== undefined) { - entries["ResourceIdentifier"] = input.ResourceIdentifier; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } @@ -16840,6 +16864,12 @@ const serializeAws_queryDescribePendingMaintenanceActionsMessage = ( entries[loc] = value; }); } + if (input.ResourceIdentifier !== undefined) { + entries["ResourceIdentifier"] = input.ResourceIdentifier; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -16848,26 +16878,8 @@ const serializeAws_queryDescribeReservedDBInstancesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ProductDescription !== undefined) { - entries["ProductDescription"] = input.ProductDescription; - } - if (input.ReservedDBInstancesOfferingId !== undefined) { - entries["ReservedDBInstancesOfferingId"] = input.ReservedDBInstancesOfferingId; - } - if (input.Duration !== undefined) { - entries["Duration"] = input.Duration; - } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; - } - if (input.LeaseId !== undefined) { - entries["LeaseId"] = input.LeaseId; - } - if (input.ReservedDBInstanceId !== undefined) { - entries["ReservedDBInstanceId"] = input.ReservedDBInstanceId; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.OfferingType !== undefined) { + entries["OfferingType"] = input.OfferingType; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -16876,14 +16888,32 @@ const serializeAws_queryDescribeReservedDBInstancesMessage = ( entries[loc] = value; }); } - if (input.OfferingType !== undefined) { - entries["OfferingType"] = input.OfferingType; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.ReservedDBInstancesOfferingId !== undefined) { + entries["ReservedDBInstancesOfferingId"] = input.ReservedDBInstancesOfferingId; } if (input.MultiAZ !== undefined) { entries["MultiAZ"] = input.MultiAZ; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.ReservedDBInstanceId !== undefined) { + entries["ReservedDBInstanceId"] = input.ReservedDBInstanceId; + } + if (input.Duration !== undefined) { + entries["Duration"] = input.Duration; + } + if (input.ProductDescription !== undefined) { + entries["ProductDescription"] = input.ProductDescription; + } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; + } + if (input.LeaseId !== undefined) { + entries["LeaseId"] = input.LeaseId; } return entries; }; @@ -16893,14 +16923,8 @@ const serializeAws_queryDescribeReservedDBInstancesOfferingsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; - } - if (input.ReservedDBInstancesOfferingId !== undefined) { - entries["ReservedDBInstancesOfferingId"] = input.ReservedDBInstancesOfferingId; - } - if (input.MultiAZ !== undefined) { - entries["MultiAZ"] = input.MultiAZ; + if (input.OfferingType !== undefined) { + entries["OfferingType"] = input.OfferingType; } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryFilterList(input.Filters, context); @@ -16912,14 +16936,20 @@ const serializeAws_queryDescribeReservedDBInstancesOfferingsMessage = ( if (input.ProductDescription !== undefined) { entries["ProductDescription"] = input.ProductDescription; } - if (input.Duration !== undefined) { - entries["Duration"] = input.Duration; + if (input.ReservedDBInstancesOfferingId !== undefined) { + entries["ReservedDBInstancesOfferingId"] = input.ReservedDBInstancesOfferingId; + } + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.OfferingType !== undefined) { - entries["OfferingType"] = input.OfferingType; + if (input.Duration !== undefined) { + entries["Duration"] = input.Duration; + } + if (input.MultiAZ !== undefined) { + entries["MultiAZ"] = input.MultiAZ; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; @@ -16932,12 +16962,8 @@ const serializeAws_queryDescribeSourceRegionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Filters !== undefined) { - const memberEntries = serializeAws_queryFilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filters.${key}`; - entries[loc] = value; - }); + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; @@ -16945,8 +16971,12 @@ const serializeAws_queryDescribeSourceRegionsMessage = ( if (input.RegionName !== undefined) { entries["RegionName"] = input.RegionName; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.Filters !== undefined) { + const memberEntries = serializeAws_queryFilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filters.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -16967,18 +16997,18 @@ const serializeAws_queryDownloadDBLogFilePortionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.NumberOfLines !== undefined) { + entries["NumberOfLines"] = input.NumberOfLines; } if (input.LogFileName !== undefined) { entries["LogFileName"] = input.LogFileName; } - if (input.NumberOfLines !== undefined) { - entries["NumberOfLines"] = input.NumberOfLines; - } if (input.DBInstanceIdentifier !== undefined) { entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -17015,9 +17045,6 @@ const serializeAws_queryFailoverDBClusterMessage = (input: FailoverDBClusterMess const serializeAws_queryFilter = (input: Filter, context: __SerdeContext): any => { const entries: any = {}; - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } if (input.Values !== undefined) { const memberEntries = serializeAws_queryFilterValueList(input.Values, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -17025,6 +17052,9 @@ const serializeAws_queryFilter = (input: Filter, context: __SerdeContext): any = entries[loc] = value; }); } + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } return entries; }; @@ -17056,21 +17086,21 @@ const serializeAws_queryImportInstallationMediaMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; + if (input.CustomAvailabilityZoneId !== undefined) { + entries["CustomAvailabilityZoneId"] = input.CustomAvailabilityZoneId; } if (input.OSInstallationMediaPath !== undefined) { entries["OSInstallationMediaPath"] = input.OSInstallationMediaPath; } - if (input.CustomAvailabilityZoneId !== undefined) { - entries["CustomAvailabilityZoneId"] = input.CustomAvailabilityZoneId; - } if (input.EngineInstallationMediaPath !== undefined) { entries["EngineInstallationMediaPath"] = input.EngineInstallationMediaPath; } + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; + } + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; + } return entries; }; @@ -17117,12 +17147,12 @@ const serializeAws_queryModifyCertificatesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RemoveCustomerOverride !== undefined) { - entries["RemoveCustomerOverride"] = input.RemoveCustomerOverride; - } if (input.CertificateIdentifier !== undefined) { entries["CertificateIdentifier"] = input.CertificateIdentifier; } + if (input.RemoveCustomerOverride !== undefined) { + entries["RemoveCustomerOverride"] = input.RemoveCustomerOverride; + } return entries; }; @@ -17131,18 +17161,18 @@ const serializeAws_queryModifyCurrentDBClusterCapacityMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SecondsBeforeTimeout !== undefined) { - entries["SecondsBeforeTimeout"] = input.SecondsBeforeTimeout; - } - if (input.Capacity !== undefined) { - entries["Capacity"] = input.Capacity; - } if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } if (input.TimeoutAction !== undefined) { entries["TimeoutAction"] = input.TimeoutAction; } + if (input.Capacity !== undefined) { + entries["Capacity"] = input.Capacity; + } + if (input.SecondsBeforeTimeout !== undefined) { + entries["SecondsBeforeTimeout"] = input.SecondsBeforeTimeout; + } return entries; }; @@ -17151,8 +17181,12 @@ const serializeAws_queryModifyDBClusterEndpointMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.EndpointType !== undefined) { - entries["EndpointType"] = input.EndpointType; + if (input.StaticMembers !== undefined) { + const memberEntries = serializeAws_queryStringList(input.StaticMembers, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `StaticMembers.${key}`; + entries[loc] = value; + }); } if (input.ExcludedMembers !== undefined) { const memberEntries = serializeAws_queryStringList(input.ExcludedMembers, context); @@ -17161,81 +17195,65 @@ const serializeAws_queryModifyDBClusterEndpointMessage = ( entries[loc] = value; }); } - if (input.StaticMembers !== undefined) { - const memberEntries = serializeAws_queryStringList(input.StaticMembers, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `StaticMembers.${key}`; - entries[loc] = value; - }); - } if (input.DBClusterEndpointIdentifier !== undefined) { entries["DBClusterEndpointIdentifier"] = input.DBClusterEndpointIdentifier; } + if (input.EndpointType !== undefined) { + entries["EndpointType"] = input.EndpointType; + } return entries; }; const serializeAws_queryModifyDBClusterMessage = (input: ModifyDBClusterMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.NewDBClusterIdentifier !== undefined) { - entries["NewDBClusterIdentifier"] = input.NewDBClusterIdentifier; - } - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; - } - if (input.DBInstanceParameterGroupName !== undefined) { - entries["DBInstanceParameterGroupName"] = input.DBInstanceParameterGroupName; - } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } - if (input.PreferredBackupWindow !== undefined) { - entries["PreferredBackupWindow"] = input.PreferredBackupWindow; - } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + if (input.AllowMajorVersionUpgrade !== undefined) { + entries["AllowMajorVersionUpgrade"] = input.AllowMajorVersionUpgrade; } - if (input.ScalingConfiguration !== undefined) { - const memberEntries = serializeAws_queryScalingConfiguration(input.ScalingConfiguration, context); + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ScalingConfiguration.${key}`; + const loc = `VpcSecurityGroupIds.${key}`; entries[loc] = value; }); } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; - } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; + if (input.BacktrackWindow !== undefined) { + entries["BacktrackWindow"] = input.BacktrackWindow; } if (input.BackupRetentionPeriod !== undefined) { entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } - if (input.Domain !== undefined) { - entries["Domain"] = input.Domain; + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } - if (input.BacktrackWindow !== undefined) { - entries["BacktrackWindow"] = input.BacktrackWindow; + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; } - if (input.AllowMajorVersionUpgrade !== undefined) { - entries["AllowMajorVersionUpgrade"] = input.AllowMajorVersionUpgrade; + if (input.NewDBClusterIdentifier !== undefined) { + entries["NewDBClusterIdentifier"] = input.NewDBClusterIdentifier; } - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; + if (input.DBInstanceParameterGroupName !== undefined) { + entries["DBInstanceParameterGroupName"] = input.DBInstanceParameterGroupName; } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + if (input.EnableHttpEndpoint !== undefined) { + entries["EnableHttpEndpoint"] = input.EnableHttpEndpoint; } if (input.Port !== undefined) { entries["Port"] = input.Port; } - if (input.EnableHttpEndpoint !== undefined) { - entries["EnableHttpEndpoint"] = input.EnableHttpEndpoint; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } - if (input.EnableGlobalWriteForwarding !== undefined) { - entries["EnableGlobalWriteForwarding"] = input.EnableGlobalWriteForwarding; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; + } + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; + } + if (input.Domain !== undefined) { + entries["Domain"] = input.Domain; } if (input.CloudwatchLogsExportConfiguration !== undefined) { const memberEntries = serializeAws_queryCloudwatchLogsExportConfiguration( @@ -17247,22 +17265,34 @@ const serializeAws_queryModifyDBClusterMessage = (input: ModifyDBClusterMessage, entries[loc] = value; }); } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; - } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; - } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); + if (input.ScalingConfiguration !== undefined) { + const memberEntries = serializeAws_queryScalingConfiguration(input.ScalingConfiguration, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; + const loc = `ScalingConfiguration.${key}`; entries[loc] = value; }); } + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + } + if (input.EnableGlobalWriteForwarding !== undefined) { + entries["EnableGlobalWriteForwarding"] = input.EnableGlobalWriteForwarding; + } + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; + } + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + } + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; + } + if (input.PreferredBackupWindow !== undefined) { + entries["PreferredBackupWindow"] = input.PreferredBackupWindow; + } return entries; }; @@ -17271,6 +17301,9 @@ const serializeAws_queryModifyDBClusterParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParametersList(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -17278,9 +17311,6 @@ const serializeAws_queryModifyDBClusterParameterGroupMessage = ( entries[loc] = value; }); } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } return entries; }; @@ -17289,6 +17319,9 @@ const serializeAws_queryModifyDBClusterSnapshotAttributeMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.AttributeName !== undefined) { + entries["AttributeName"] = input.AttributeName; + } if (input.ValuesToAdd !== undefined) { const memberEntries = serializeAws_queryAttributeValueList(input.ValuesToAdd, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -17296,6 +17329,9 @@ const serializeAws_queryModifyDBClusterSnapshotAttributeMessage = ( entries[loc] = value; }); } + if (input.DBClusterSnapshotIdentifier !== undefined) { + entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; + } if (input.ValuesToRemove !== undefined) { const memberEntries = serializeAws_queryAttributeValueList(input.ValuesToRemove, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -17303,50 +17339,54 @@ const serializeAws_queryModifyDBClusterSnapshotAttributeMessage = ( entries[loc] = value; }); } - if (input.AttributeName !== undefined) { - entries["AttributeName"] = input.AttributeName; - } - if (input.DBClusterSnapshotIdentifier !== undefined) { - entries["DBClusterSnapshotIdentifier"] = input.DBClusterSnapshotIdentifier; - } return entries; }; const serializeAws_queryModifyDBInstanceMessage = (input: ModifyDBInstanceMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.TdeCredentialArn !== undefined) { - entries["TdeCredentialArn"] = input.TdeCredentialArn; - } - if (input.MultiAZ !== undefined) { - entries["MultiAZ"] = input.MultiAZ; - } - if (input.MonitoringRoleArn !== undefined) { - entries["MonitoringRoleArn"] = input.MonitoringRoleArn; + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; } - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; + if (input.ProcessorFeatures !== undefined) { + const memberEntries = serializeAws_queryProcessorFeatureList(input.ProcessorFeatures, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ProcessorFeatures.${key}`; + entries[loc] = value; + }); } - if (input.BackupRetentionPeriod !== undefined) { - entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; + if (input.PerformanceInsightsKMSKeyId !== undefined) { + entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; } if (input.PromotionTier !== undefined) { entries["PromotionTier"] = input.PromotionTier; } - if (input.PerformanceInsightsKMSKeyId !== undefined) { - entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; + if (input.CACertificateIdentifier !== undefined) { + entries["CACertificateIdentifier"] = input.CACertificateIdentifier; } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + if (input.MonitoringRoleArn !== undefined) { + entries["MonitoringRoleArn"] = input.MonitoringRoleArn; } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + if (input.MultiAZ !== undefined) { + entries["MultiAZ"] = input.MultiAZ; } - if (input.NewDBInstanceIdentifier !== undefined) { - entries["NewDBInstanceIdentifier"] = input.NewDBInstanceIdentifier; + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; } if (input.CertificateRotationRestart !== undefined) { entries["CertificateRotationRestart"] = input.CertificateRotationRestart; } + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; + } + if (input.ReplicaMode !== undefined) { + entries["ReplicaMode"] = input.ReplicaMode; + } + if (input.TdeCredentialArn !== undefined) { + entries["TdeCredentialArn"] = input.TdeCredentialArn; + } + if (input.Domain !== undefined) { + entries["Domain"] = input.Domain; + } if (input.CloudwatchLogsExportConfiguration !== undefined) { const memberEntries = serializeAws_queryCloudwatchLogsExportConfiguration( input.CloudwatchLogsExportConfiguration, @@ -17357,107 +17397,100 @@ const serializeAws_queryModifyDBInstanceMessage = (input: ModifyDBInstanceMessag entries[loc] = value; }); } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; - } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; - } - 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.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; } - if (input.ProcessorFeatures !== undefined) { - const memberEntries = serializeAws_queryProcessorFeatureList(input.ProcessorFeatures, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ProcessorFeatures.${key}`; - entries[loc] = value; - }); + if (input.MaxAllocatedStorage !== undefined) { + entries["MaxAllocatedStorage"] = input.MaxAllocatedStorage; } - if (input.StorageType !== undefined) { - entries["StorageType"] = input.StorageType; + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; } - if (input.PerformanceInsightsRetentionPeriod !== undefined) { - entries["PerformanceInsightsRetentionPeriod"] = input.PerformanceInsightsRetentionPeriod; + if (input.MonitoringInterval !== undefined) { + entries["MonitoringInterval"] = input.MonitoringInterval; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.PreferredBackupWindow !== undefined) { + entries["PreferredBackupWindow"] = input.PreferredBackupWindow; } if (input.LicenseModel !== undefined) { entries["LicenseModel"] = input.LicenseModel; } - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; + if (input.Iops !== undefined) { + entries["Iops"] = input.Iops; } - if (input.AllocatedStorage !== undefined) { - entries["AllocatedStorage"] = input.AllocatedStorage; + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } if (input.TdeCredentialPassword !== undefined) { entries["TdeCredentialPassword"] = input.TdeCredentialPassword; } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; + } + if (input.UseDefaultProcessorFeatures !== undefined) { + entries["UseDefaultProcessorFeatures"] = input.UseDefaultProcessorFeatures; } if (input.AutoMinorVersionUpgrade !== undefined) { entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } - if (input.Iops !== undefined) { - entries["Iops"] = input.Iops; + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } if (input.EnablePerformanceInsights !== undefined) { entries["EnablePerformanceInsights"] = input.EnablePerformanceInsights; } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; + } + 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.DBPortNumber !== undefined) { entries["DBPortNumber"] = input.DBPortNumber; } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; + if (input.DBSecurityGroups !== undefined) { + const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroups, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DBSecurityGroups.${key}`; + entries[loc] = value; + }); } - if (input.MonitoringInterval !== undefined) { - entries["MonitoringInterval"] = input.MonitoringInterval; + if (input.AllowMajorVersionUpgrade !== undefined) { + entries["AllowMajorVersionUpgrade"] = input.AllowMajorVersionUpgrade; } - if (input.CACertificateIdentifier !== undefined) { - entries["CACertificateIdentifier"] = input.CACertificateIdentifier; - } - if (input.AllowMajorVersionUpgrade !== undefined) { - entries["AllowMajorVersionUpgrade"] = input.AllowMajorVersionUpgrade; + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; + if (input.AllocatedStorage !== undefined) { + entries["AllocatedStorage"] = input.AllocatedStorage; } - if (input.Domain !== undefined) { - entries["Domain"] = input.Domain; + if (input.BackupRetentionPeriod !== undefined) { + entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } - if (input.UseDefaultProcessorFeatures !== undefined) { - entries["UseDefaultProcessorFeatures"] = input.UseDefaultProcessorFeatures; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; } - if (input.MaxAllocatedStorage !== undefined) { - entries["MaxAllocatedStorage"] = input.MaxAllocatedStorage; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } - if (input.PreferredBackupWindow !== undefined) { - entries["PreferredBackupWindow"] = input.PreferredBackupWindow; + if (input.PerformanceInsightsRetentionPeriod !== undefined) { + entries["PerformanceInsightsRetentionPeriod"] = input.PerformanceInsightsRetentionPeriod; } - if (input.DBSecurityGroups !== undefined) { - const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroups, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DBSecurityGroups.${key}`; - entries[loc] = value; - }); + if (input.NewDBInstanceIdentifier !== undefined) { + entries["NewDBInstanceIdentifier"] = input.NewDBInstanceIdentifier; } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; + if (input.StorageType !== undefined) { + entries["StorageType"] = input.StorageType; } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; } return entries; }; @@ -17467,6 +17500,9 @@ const serializeAws_queryModifyDBParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; + } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParametersList(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -17474,16 +17510,13 @@ const serializeAws_queryModifyDBParameterGroupMessage = ( entries[loc] = value; }); } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; - } return entries; }; const serializeAws_queryModifyDBProxyRequest = (input: ModifyDBProxyRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.RequireTLS !== undefined) { - entries["RequireTLS"] = input.RequireTLS; + if (input.IdleClientTimeout !== undefined) { + entries["IdleClientTimeout"] = input.IdleClientTimeout; } if (input.SecurityGroups !== undefined) { const memberEntries = serializeAws_queryStringList(input.SecurityGroups, context); @@ -17492,18 +17525,6 @@ const serializeAws_queryModifyDBProxyRequest = (input: ModifyDBProxyRequest, con entries[loc] = value; }); } - if (input.NewDBProxyName !== undefined) { - entries["NewDBProxyName"] = input.NewDBProxyName; - } - if (input.RoleArn !== undefined) { - entries["RoleArn"] = input.RoleArn; - } - if (input.DebugLogging !== undefined) { - entries["DebugLogging"] = input.DebugLogging; - } - if (input.IdleClientTimeout !== undefined) { - entries["IdleClientTimeout"] = input.IdleClientTimeout; - } if (input.DBProxyName !== undefined) { entries["DBProxyName"] = input.DBProxyName; } @@ -17514,6 +17535,18 @@ const serializeAws_queryModifyDBProxyRequest = (input: ModifyDBProxyRequest, con entries[loc] = value; }); } + if (input.NewDBProxyName !== undefined) { + entries["NewDBProxyName"] = input.NewDBProxyName; + } + if (input.RequireTLS !== undefined) { + entries["RequireTLS"] = input.RequireTLS; + } + if (input.DebugLogging !== undefined) { + entries["DebugLogging"] = input.DebugLogging; + } + if (input.RoleArn !== undefined) { + entries["RoleArn"] = input.RoleArn; + } return entries; }; @@ -17522,6 +17555,9 @@ const serializeAws_queryModifyDBProxyTargetGroupRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NewName !== undefined) { + entries["NewName"] = input.NewName; + } if (input.ConnectionPoolConfig !== undefined) { const memberEntries = serializeAws_queryConnectionPoolConfiguration(input.ConnectionPoolConfig, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -17529,14 +17565,11 @@ const serializeAws_queryModifyDBProxyTargetGroupRequest = ( entries[loc] = value; }); } - if (input.DBProxyName !== undefined) { - entries["DBProxyName"] = input.DBProxyName; - } if (input.TargetGroupName !== undefined) { entries["TargetGroupName"] = input.TargetGroupName; } - if (input.NewName !== undefined) { - entries["NewName"] = input.NewName; + if (input.DBProxyName !== undefined) { + entries["DBProxyName"] = input.DBProxyName; } return entries; }; @@ -17546,16 +17579,6 @@ const serializeAws_queryModifyDBSnapshotAttributeMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBSnapshotIdentifier !== undefined) { - entries["DBSnapshotIdentifier"] = input.DBSnapshotIdentifier; - } - if (input.ValuesToRemove !== undefined) { - const memberEntries = serializeAws_queryAttributeValueList(input.ValuesToRemove, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ValuesToRemove.${key}`; - entries[loc] = value; - }); - } if (input.ValuesToAdd !== undefined) { const memberEntries = serializeAws_queryAttributeValueList(input.ValuesToAdd, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -17566,20 +17589,30 @@ const serializeAws_queryModifyDBSnapshotAttributeMessage = ( if (input.AttributeName !== undefined) { entries["AttributeName"] = input.AttributeName; } + if (input.DBSnapshotIdentifier !== undefined) { + entries["DBSnapshotIdentifier"] = input.DBSnapshotIdentifier; + } + if (input.ValuesToRemove !== undefined) { + const memberEntries = serializeAws_queryAttributeValueList(input.ValuesToRemove, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ValuesToRemove.${key}`; + entries[loc] = value; + }); + } return entries; }; const serializeAws_queryModifyDBSnapshotMessage = (input: ModifyDBSnapshotMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.DBSnapshotIdentifier !== undefined) { - entries["DBSnapshotIdentifier"] = input.DBSnapshotIdentifier; - } if (input.EngineVersion !== undefined) { entries["EngineVersion"] = input.EngineVersion; } if (input.OptionGroupName !== undefined) { entries["OptionGroupName"] = input.OptionGroupName; } + if (input.DBSnapshotIdentifier !== undefined) { + entries["DBSnapshotIdentifier"] = input.DBSnapshotIdentifier; + } return entries; }; @@ -17616,6 +17649,9 @@ const serializeAws_queryModifyEventSubscriptionMessage = ( entries[loc] = value; }); } + if (input.SnsTopicArn !== undefined) { + entries["SnsTopicArn"] = input.SnsTopicArn; + } if (input.SubscriptionName !== undefined) { entries["SubscriptionName"] = input.SubscriptionName; } @@ -17625,9 +17661,6 @@ const serializeAws_queryModifyEventSubscriptionMessage = ( if (input.SourceType !== undefined) { entries["SourceType"] = input.SourceType; } - if (input.SnsTopicArn !== undefined) { - entries["SnsTopicArn"] = input.SnsTopicArn; - } return entries; }; @@ -17636,58 +17669,51 @@ const serializeAws_queryModifyGlobalClusterMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.NewGlobalClusterIdentifier !== undefined) { + entries["NewGlobalClusterIdentifier"] = input.NewGlobalClusterIdentifier; + } if (input.DeletionProtection !== undefined) { entries["DeletionProtection"] = input.DeletionProtection; } if (input.GlobalClusterIdentifier !== undefined) { entries["GlobalClusterIdentifier"] = input.GlobalClusterIdentifier; } - if (input.NewGlobalClusterIdentifier !== undefined) { - entries["NewGlobalClusterIdentifier"] = input.NewGlobalClusterIdentifier; - } return entries; }; const serializeAws_queryModifyOptionGroupMessage = (input: ModifyOptionGroupMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; - } if (input.ApplyImmediately !== undefined) { entries["ApplyImmediately"] = input.ApplyImmediately; } - if (input.OptionsToInclude !== undefined) { - const memberEntries = serializeAws_queryOptionConfigurationList(input.OptionsToInclude, context); + if (input.OptionsToRemove !== undefined) { + const memberEntries = serializeAws_queryOptionNamesList(input.OptionsToRemove, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `OptionsToInclude.${key}`; + const loc = `OptionsToRemove.${key}`; entries[loc] = value; }); } - if (input.OptionsToRemove !== undefined) { - const memberEntries = serializeAws_queryOptionNamesList(input.OptionsToRemove, context); + if (input.OptionsToInclude !== undefined) { + const memberEntries = serializeAws_queryOptionConfigurationList(input.OptionsToInclude, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `OptionsToRemove.${key}`; + const loc = `OptionsToInclude.${key}`; entries[loc] = value; }); } + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; + } return entries; }; const serializeAws_queryOptionConfiguration = (input: OptionConfiguration, context: __SerdeContext): any => { const entries: any = {}; - if (input.VpcSecurityGroupMemberships !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupMemberships, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupMemberships.${key}`; - entries[loc] = value; - }); - } - if (input.OptionName !== undefined) { - entries["OptionName"] = input.OptionName; - } if (input.Port !== undefined) { entries["Port"] = input.Port; } + if (input.OptionVersion !== undefined) { + entries["OptionVersion"] = input.OptionVersion; + } if (input.OptionSettings !== undefined) { const memberEntries = serializeAws_queryOptionSettingsList(input.OptionSettings, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -17695,6 +17721,13 @@ const serializeAws_queryOptionConfiguration = (input: OptionConfiguration, conte entries[loc] = value; }); } + if (input.VpcSecurityGroupMemberships !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupMemberships, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `VpcSecurityGroupMemberships.${key}`; + entries[loc] = value; + }); + } if (input.DBSecurityGroupMemberships !== undefined) { const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroupMemberships, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -17702,8 +17735,8 @@ const serializeAws_queryOptionConfiguration = (input: OptionConfiguration, conte entries[loc] = value; }); } - if (input.OptionVersion !== undefined) { - entries["OptionVersion"] = input.OptionVersion; + if (input.OptionName !== undefined) { + entries["OptionName"] = input.OptionName; } return entries; }; @@ -17733,33 +17766,33 @@ const serializeAws_queryOptionNamesList = (input: string[], context: __SerdeCont const serializeAws_queryOptionSetting = (input: OptionSetting, context: __SerdeContext): any => { const entries: any = {}; - if (input.IsCollection !== undefined) { - entries["IsCollection"] = input.IsCollection; + if (input.Name !== undefined) { + entries["Name"] = input.Name; } - if (input.DefaultValue !== undefined) { - entries["DefaultValue"] = input.DefaultValue; + if (input.DataType !== undefined) { + entries["DataType"] = input.DataType; + } + if (input.Value !== undefined) { + entries["Value"] = input.Value; } if (input.ApplyType !== undefined) { entries["ApplyType"] = input.ApplyType; } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } - if (input.DataType !== undefined) { - entries["DataType"] = input.DataType; + if (input.DefaultValue !== undefined) { + entries["DefaultValue"] = input.DefaultValue; } if (input.IsModifiable !== undefined) { entries["IsModifiable"] = input.IsModifiable; } - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.AllowedValues !== undefined) { entries["AllowedValues"] = input.AllowedValues; } + if (input.IsCollection !== undefined) { + entries["IsCollection"] = input.IsCollection; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } return entries; }; @@ -17778,42 +17811,42 @@ const serializeAws_queryOptionSettingsList = (input: OptionSetting[], context: _ const serializeAws_queryParameter = (input: Parameter, context: __SerdeContext): any => { const entries: any = {}; - if (input.Source !== undefined) { - entries["Source"] = input.Source; - } - if (input.MinimumEngineVersion !== undefined) { - entries["MinimumEngineVersion"] = input.MinimumEngineVersion; + if (input.SupportedEngineModes !== undefined) { + const memberEntries = serializeAws_queryEngineModeList(input.SupportedEngineModes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SupportedEngineModes.${key}`; + entries[loc] = value; + }); } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.ApplyMethod !== undefined) { - entries["ApplyMethod"] = input.ApplyMethod; - } - if (input.IsModifiable !== undefined) { - entries["IsModifiable"] = input.IsModifiable; - } if (input.ApplyType !== undefined) { entries["ApplyType"] = input.ApplyType; } - if (input.DataType !== undefined) { - entries["DataType"] = input.DataType; + if (input.AllowedValues !== undefined) { + entries["AllowedValues"] = input.AllowedValues; + } + if (input.ParameterValue !== undefined) { + entries["ParameterValue"] = input.ParameterValue; } if (input.ParameterName !== undefined) { entries["ParameterName"] = input.ParameterName; } - if (input.SupportedEngineModes !== undefined) { - const memberEntries = serializeAws_queryEngineModeList(input.SupportedEngineModes, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SupportedEngineModes.${key}`; - entries[loc] = value; - }); + if (input.Source !== undefined) { + entries["Source"] = input.Source; } - if (input.AllowedValues !== undefined) { - entries["AllowedValues"] = input.AllowedValues; + if (input.DataType !== undefined) { + entries["DataType"] = input.DataType; } - if (input.ParameterValue !== undefined) { - entries["ParameterValue"] = input.ParameterValue; + if (input.MinimumEngineVersion !== undefined) { + entries["MinimumEngineVersion"] = input.MinimumEngineVersion; + } + if (input.ApplyMethod !== undefined) { + entries["ApplyMethod"] = input.ApplyMethod; + } + if (input.IsModifiable !== undefined) { + entries["IsModifiable"] = input.IsModifiable; } return entries; }; @@ -17871,15 +17904,15 @@ const serializeAws_queryPromoteReadReplicaMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; - } if (input.PreferredBackupWindow !== undefined) { entries["PreferredBackupWindow"] = input.PreferredBackupWindow; } if (input.BackupRetentionPeriod !== undefined) { entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } return entries; }; @@ -17888,9 +17921,6 @@ const serializeAws_queryPurchaseReservedDBInstancesOfferingMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ReservedDBInstanceId !== undefined) { - entries["ReservedDBInstanceId"] = input.ReservedDBInstanceId; - } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -17898,23 +17928,26 @@ const serializeAws_queryPurchaseReservedDBInstancesOfferingMessage = ( entries[loc] = value; }); } - if (input.DBInstanceCount !== undefined) { - entries["DBInstanceCount"] = input.DBInstanceCount; - } if (input.ReservedDBInstancesOfferingId !== undefined) { entries["ReservedDBInstancesOfferingId"] = input.ReservedDBInstancesOfferingId; } + if (input.DBInstanceCount !== undefined) { + entries["DBInstanceCount"] = input.DBInstanceCount; + } + if (input.ReservedDBInstanceId !== undefined) { + entries["ReservedDBInstanceId"] = input.ReservedDBInstanceId; + } return entries; }; const serializeAws_queryRebootDBInstanceMessage = (input: RebootDBInstanceMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; - } if (input.ForceFailover !== undefined) { entries["ForceFailover"] = input.ForceFailover; } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } return entries; }; @@ -17923,23 +17956,23 @@ const serializeAws_queryRegisterDBProxyTargetsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBInstanceIdentifiers !== undefined) { - const memberEntries = serializeAws_queryStringList(input.DBInstanceIdentifiers, context); + if (input.TargetGroupName !== undefined) { + entries["TargetGroupName"] = input.TargetGroupName; + } + if (input.DBClusterIdentifiers !== undefined) { + const memberEntries = serializeAws_queryStringList(input.DBClusterIdentifiers, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DBInstanceIdentifiers.${key}`; + const loc = `DBClusterIdentifiers.${key}`; entries[loc] = value; }); } - if (input.TargetGroupName !== undefined) { - entries["TargetGroupName"] = input.TargetGroupName; - } if (input.DBProxyName !== undefined) { entries["DBProxyName"] = input.DBProxyName; } - if (input.DBClusterIdentifiers !== undefined) { - const memberEntries = serializeAws_queryStringList(input.DBClusterIdentifiers, context); + if (input.DBInstanceIdentifiers !== undefined) { + const memberEntries = serializeAws_queryStringList(input.DBInstanceIdentifiers, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DBClusterIdentifiers.${key}`; + const loc = `DBInstanceIdentifiers.${key}`; entries[loc] = value; }); } @@ -17965,15 +17998,15 @@ const serializeAws_queryRemoveRoleFromDBClusterMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RoleArn !== undefined) { - entries["RoleArn"] = input.RoleArn; - } if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } if (input.FeatureName !== undefined) { entries["FeatureName"] = input.FeatureName; } + if (input.RoleArn !== undefined) { + entries["RoleArn"] = input.RoleArn; + } return entries; }; @@ -17982,15 +18015,15 @@ const serializeAws_queryRemoveRoleFromDBInstanceMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; - } if (input.RoleArn !== undefined) { entries["RoleArn"] = input.RoleArn; } if (input.FeatureName !== undefined) { entries["FeatureName"] = input.FeatureName; } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } return entries; }; @@ -18013,6 +18046,9 @@ const serializeAws_queryRemoveTagsFromResourceMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ResourceName !== undefined) { + entries["ResourceName"] = input.ResourceName; + } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -18020,9 +18056,6 @@ const serializeAws_queryRemoveTagsFromResourceMessage = ( entries[loc] = value; }); } - if (input.ResourceName !== undefined) { - entries["ResourceName"] = input.ResourceName; - } return entries; }; @@ -18052,12 +18085,6 @@ const serializeAws_queryResetDBParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ResetAllParameters !== undefined) { - entries["ResetAllParameters"] = input.ResetAllParameters; - } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; - } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParametersList(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -18065,6 +18092,12 @@ const serializeAws_queryResetDBParameterGroupMessage = ( entries[loc] = value; }); } + if (input.ResetAllParameters !== undefined) { + entries["ResetAllParameters"] = input.ResetAllParameters; + } + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; + } return entries; }; @@ -18073,115 +18106,115 @@ const serializeAws_queryRestoreDBClusterFromS3Message = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.BacktrackWindow !== undefined) { - entries["BacktrackWindow"] = input.BacktrackWindow; - } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; - } - if (input.S3IngestionRoleArn !== undefined) { - entries["S3IngestionRoleArn"] = input.S3IngestionRoleArn; + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; } - 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.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; } if (input.PreferredBackupWindow !== undefined) { entries["PreferredBackupWindow"] = input.PreferredBackupWindow; } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } if (input.DBClusterIdentifier !== undefined) { entries["DBClusterIdentifier"] = input.DBClusterIdentifier; } - if (input.SourceEngine !== undefined) { - entries["SourceEngine"] = input.SourceEngine; + if (input.BackupRetentionPeriod !== undefined) { + entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + if (input.CharacterSetName !== undefined) { + entries["CharacterSetName"] = input.CharacterSetName; } - if (input.SourceEngineVersion !== undefined) { - entries["SourceEngineVersion"] = input.SourceEngineVersion; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.S3BucketName !== undefined) { + entries["S3BucketName"] = input.S3BucketName; + } + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + } + if (input.BacktrackWindow !== undefined) { + entries["BacktrackWindow"] = input.BacktrackWindow; + } + if (input.EnableCloudwatchLogsExports !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `EnableCloudwatchLogsExports.${key}`; entries[loc] = value; }); } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; - } - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; - } if (input.Domain !== undefined) { entries["Domain"] = input.Domain; } - if (input.StorageEncrypted !== undefined) { - entries["StorageEncrypted"] = input.StorageEncrypted; + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + if (input.AvailabilityZones !== undefined) { + const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AvailabilityZones.${key}`; + entries[loc] = value; + }); } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.MasterUsername !== undefined) { + entries["MasterUsername"] = input.MasterUsername; } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.S3Prefix !== undefined) { - entries["S3Prefix"] = input.S3Prefix; - } - if (input.CharacterSetName !== undefined) { - entries["CharacterSetName"] = input.CharacterSetName; + if (input.SourceEngineVersion !== undefined) { + entries["SourceEngineVersion"] = input.SourceEngineVersion; } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } if (input.DatabaseName !== undefined) { entries["DatabaseName"] = input.DatabaseName; } - if (input.MasterUsername !== undefined) { - entries["MasterUsername"] = input.MasterUsername; - } - if (input.AvailabilityZones !== undefined) { - const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AvailabilityZones.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } - if (input.S3BucketName !== undefined) { - entries["S3BucketName"] = input.S3BucketName; - } - if (input.BackupRetentionPeriod !== undefined) { - entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; } if (input.MasterUserPassword !== undefined) { entries["MasterUserPassword"] = input.MasterUserPassword; } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } - if (input.EnableCloudwatchLogsExports !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); + if (input.S3Prefix !== undefined) { + entries["S3Prefix"] = input.S3Prefix; + } + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; + } + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; + } + if (input.SourceEngine !== undefined) { + entries["SourceEngine"] = input.SourceEngine; + } + if (input.S3IngestionRoleArn !== undefined) { + entries["S3IngestionRoleArn"] = input.S3IngestionRoleArn; + } + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnableCloudwatchLogsExports.${key}`; + const loc = `VpcSecurityGroupIds.${key}`; entries[loc] = value; }); } + if (input.StorageEncrypted !== undefined) { + entries["StorageEncrypted"] = input.StorageEncrypted; + } return entries; }; @@ -18190,29 +18223,20 @@ const serializeAws_queryRestoreDBClusterFromSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; - } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.EngineMode !== undefined) { + entries["EngineMode"] = input.EngineMode; } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; } - if (input.DatabaseName !== undefined) { - entries["DatabaseName"] = input.DatabaseName; + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; } if (input.ScalingConfiguration !== undefined) { const memberEntries = serializeAws_queryScalingConfiguration(input.ScalingConfiguration, context); @@ -18221,12 +18245,6 @@ const serializeAws_queryRestoreDBClusterFromSnapshotMessage = ( entries[loc] = value; }); } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; - } - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; - } if (input.EnableCloudwatchLogsExports !== undefined) { const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -18234,26 +18252,47 @@ const serializeAws_queryRestoreDBClusterFromSnapshotMessage = ( entries[loc] = value; }); } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; - } if (input.EnableIAMDatabaseAuthentication !== undefined) { entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; } - if (input.AvailabilityZones !== undefined) { - const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); + if (input.Port !== undefined) { + entries["Port"] = input.Port; + } + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AvailabilityZones.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; + if (input.Domain !== undefined) { + entries["Domain"] = input.Domain; } - if (input.EngineMode !== undefined) { - entries["EngineMode"] = input.EngineMode; + if (input.BacktrackWindow !== undefined) { + entries["BacktrackWindow"] = input.BacktrackWindow; } - if (input.DBSubnetGroupName !== undefined) { + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } + if (input.DatabaseName !== undefined) { + entries["DatabaseName"] = input.DatabaseName; + } + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; + } + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; + } + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; + } + if (input.DBSubnetGroupName !== undefined) { entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } if (input.VpcSecurityGroupIds !== undefined) { @@ -18263,19 +18302,13 @@ const serializeAws_queryRestoreDBClusterFromSnapshotMessage = ( entries[loc] = value; }); } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryTagList(input.Tags, context); + if (input.AvailabilityZones !== undefined) { + const memberEntries = serializeAws_queryAvailabilityZones(input.AvailabilityZones, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `AvailabilityZones.${key}`; entries[loc] = value; }); } - if (input.Domain !== undefined) { - entries["Domain"] = input.Domain; - } - if (input.BacktrackWindow !== undefined) { - entries["BacktrackWindow"] = input.BacktrackWindow; - } return entries; }; @@ -18284,36 +18317,17 @@ const serializeAws_queryRestoreDBClusterToPointInTimeMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBClusterParameterGroupName !== undefined) { - entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; - } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; - } - if (input.DBClusterIdentifier !== undefined) { - entries["DBClusterIdentifier"] = input.DBClusterIdentifier; - } - if (input.RestoreType !== undefined) { - entries["RestoreType"] = input.RestoreType; - } - 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.RestoreToTime !== undefined) { entries["RestoreToTime"] = input.RestoreToTime.toISOString().split(".")[0] + "Z"; } if (input.Port !== undefined) { entries["Port"] = input.Port; } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } - if (input.SourceDBClusterIdentifier !== undefined) { - entries["SourceDBClusterIdentifier"] = input.SourceDBClusterIdentifier; + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; } if (input.EnableCloudwatchLogsExports !== undefined) { const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); @@ -18322,26 +18336,24 @@ const serializeAws_queryRestoreDBClusterToPointInTimeMessage = ( entries[loc] = value; }); } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; - } if (input.Domain !== undefined) { entries["Domain"] = input.Domain; } - if (input.UseLatestRestorableTime !== undefined) { - entries["UseLatestRestorableTime"] = input.UseLatestRestorableTime; - } - if (input.BacktrackWindow !== undefined) { - entries["BacktrackWindow"] = input.BacktrackWindow; + if (input.RestoreType !== undefined) { + entries["RestoreType"] = input.RestoreType; } if (input.DomainIAMRoleName !== undefined) { entries["DomainIAMRoleName"] = input.DomainIAMRoleName; } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.BacktrackWindow !== undefined) { + entries["BacktrackWindow"] = input.BacktrackWindow; } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; + 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.VpcSecurityGroupIds !== undefined) { const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); @@ -18350,8 +18362,29 @@ const serializeAws_queryRestoreDBClusterToPointInTimeMessage = ( entries[loc] = value; }); } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + } + if (input.DBClusterParameterGroupName !== undefined) { + entries["DBClusterParameterGroupName"] = input.DBClusterParameterGroupName; + } + if (input.SourceDBClusterIdentifier !== undefined) { + entries["SourceDBClusterIdentifier"] = input.SourceDBClusterIdentifier; + } + if (input.UseLatestRestorableTime !== undefined) { + entries["UseLatestRestorableTime"] = input.UseLatestRestorableTime; + } + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; + } + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } + if (input.DBClusterIdentifier !== undefined) { + entries["DBClusterIdentifier"] = input.DBClusterIdentifier; + } + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; } return entries; }; @@ -18361,74 +18394,77 @@ const serializeAws_queryRestoreDBInstanceFromDBSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + } + if (input.UseDefaultProcessorFeatures !== undefined) { + entries["UseDefaultProcessorFeatures"] = input.UseDefaultProcessorFeatures; + } + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + } + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + } + if (input.DBSnapshotIdentifier !== undefined) { + entries["DBSnapshotIdentifier"] = input.DBSnapshotIdentifier; + } + if (input.EnableCloudwatchLogsExports !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; + const loc = `EnableCloudwatchLogsExports.${key}`; entries[loc] = value; }); } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.Domain !== undefined) { + entries["Domain"] = input.Domain; } - if (input.TdeCredentialPassword !== undefined) { - entries["TdeCredentialPassword"] = input.TdeCredentialPassword; + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; } - if (input.LicenseModel !== undefined) { - entries["LicenseModel"] = input.LicenseModel; + if (input.DBName !== undefined) { + entries["DBName"] = input.DBName; } - if (input.MultiAZ !== undefined) { - entries["MultiAZ"] = input.MultiAZ; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; } - if (input.TdeCredentialArn !== undefined) { - entries["TdeCredentialArn"] = input.TdeCredentialArn; + if (input.LicenseModel !== undefined) { + entries["LicenseModel"] = input.LicenseModel; } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; } - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; } if (input.Iops !== undefined) { entries["Iops"] = input.Iops; } + if (input.StorageType !== undefined) { + entries["StorageType"] = input.StorageType; + } + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; + } if (input.AutoMinorVersionUpgrade !== undefined) { entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; - } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + if (input.TdeCredentialPassword !== undefined) { + entries["TdeCredentialPassword"] = input.TdeCredentialPassword; } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; } - 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.Domain !== undefined) { - entries["Domain"] = input.Domain; - } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; - } - if (input.DBName !== undefined) { - entries["DBName"] = input.DBName; - } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; - } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; - } if (input.ProcessorFeatures !== undefined) { const memberEntries = serializeAws_queryProcessorFeatureList(input.ProcessorFeatures, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -18436,30 +18472,27 @@ const serializeAws_queryRestoreDBInstanceFromDBSnapshotMessage = ( entries[loc] = value; }); } - if (input.StorageType !== undefined) { - entries["StorageType"] = input.StorageType; + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; } - if (input.EnableCloudwatchLogsExports !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); + if (input.TdeCredentialArn !== undefined) { + entries["TdeCredentialArn"] = input.TdeCredentialArn; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnableCloudwatchLogsExports.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.UseDefaultProcessorFeatures !== undefined) { - entries["UseDefaultProcessorFeatures"] = input.UseDefaultProcessorFeatures; - } - if (input.DBSnapshotIdentifier !== undefined) { - entries["DBSnapshotIdentifier"] = input.DBSnapshotIdentifier; - } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + if (input.MultiAZ !== undefined) { + entries["MultiAZ"] = input.MultiAZ; } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; } return entries; }; @@ -18469,49 +18502,27 @@ const serializeAws_queryRestoreDBInstanceFromS3Message = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; - } - 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.SourceEngineVersion !== undefined) { - entries["SourceEngineVersion"] = input.SourceEngineVersion; - } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; - } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; - } - if (input.OptionGroupName !== undefined) { - entries["OptionGroupName"] = input.OptionGroupName; + if (input.StorageType !== undefined) { + entries["StorageType"] = input.StorageType; } if (input.LicenseModel !== undefined) { entries["LicenseModel"] = input.LicenseModel; } - if (input.DBParameterGroupName !== undefined) { - entries["DBParameterGroupName"] = input.DBParameterGroupName; - } - if (input.EngineVersion !== undefined) { - entries["EngineVersion"] = input.EngineVersion; + if (input.S3Prefix !== undefined) { + entries["S3Prefix"] = input.S3Prefix; } if (input.AllocatedStorage !== undefined) { entries["AllocatedStorage"] = input.AllocatedStorage; } - if (input.S3Prefix !== undefined) { - entries["S3Prefix"] = input.S3Prefix; - } - if (input.StorageType !== undefined) { - entries["StorageType"] = input.StorageType; + if (input.EngineVersion !== undefined) { + entries["EngineVersion"] = input.EngineVersion; } if (input.PreferredMaintenanceWindow !== undefined) { entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } + if (input.Iops !== undefined) { + entries["Iops"] = input.Iops; + } if (input.EnableCloudwatchLogsExports !== undefined) { const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -18519,104 +18530,129 @@ const serializeAws_queryRestoreDBInstanceFromS3Message = ( entries[loc] = value; }); } - if (input.PerformanceInsightsRetentionPeriod !== undefined) { - entries["PerformanceInsightsRetentionPeriod"] = input.PerformanceInsightsRetentionPeriod; + if (input.EnablePerformanceInsights !== undefined) { + entries["EnablePerformanceInsights"] = input.EnablePerformanceInsights; } if (input.S3BucketName !== undefined) { entries["S3BucketName"] = input.S3BucketName; } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; } - if (input.DBSecurityGroups !== undefined) { - const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroups, context); + if (input.SourceEngineVersion !== undefined) { + entries["SourceEngineVersion"] = input.SourceEngineVersion; + } + if (input.PerformanceInsightsRetentionPeriod !== undefined) { + entries["PerformanceInsightsRetentionPeriod"] = input.PerformanceInsightsRetentionPeriod; + } + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; + } + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; + } + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DBSecurityGroups.${key}`; + const loc = `VpcSecurityGroupIds.${key}`; entries[loc] = value; }); } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.S3IngestionRoleArn !== undefined) { + entries["S3IngestionRoleArn"] = input.S3IngestionRoleArn; } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; + 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.UseDefaultProcessorFeatures !== undefined) { - entries["UseDefaultProcessorFeatures"] = input.UseDefaultProcessorFeatures; + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; } - if (input.EnableIAMDatabaseAuthentication !== undefined) { - entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; + if (input.SourceEngine !== undefined) { + entries["SourceEngine"] = input.SourceEngine; } - if (input.DBName !== undefined) { - entries["DBName"] = input.DBName; + if (input.OptionGroupName !== undefined) { + entries["OptionGroupName"] = input.OptionGroupName; + } + if (input.ProcessorFeatures !== undefined) { + const memberEntries = serializeAws_queryProcessorFeatureList(input.ProcessorFeatures, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ProcessorFeatures.${key}`; + entries[loc] = value; + }); + } + if (input.StorageEncrypted !== undefined) { + entries["StorageEncrypted"] = input.StorageEncrypted; } if (input.MonitoringRoleArn !== undefined) { entries["MonitoringRoleArn"] = input.MonitoringRoleArn; } - if (input.PreferredBackupWindow !== undefined) { - entries["PreferredBackupWindow"] = input.PreferredBackupWindow; - } - if (input.MasterUsername !== undefined) { - entries["MasterUsername"] = input.MasterUsername; + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; } if (input.BackupRetentionPeriod !== undefined) { entries["BackupRetentionPeriod"] = input.BackupRetentionPeriod; } - 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.PerformanceInsightsKMSKeyId !== undefined) { + entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + if (input.MultiAZ !== undefined) { + entries["MultiAZ"] = input.MultiAZ; + } + if (input.EnableIAMDatabaseAuthentication !== undefined) { + entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; } if (input.Port !== undefined) { entries["Port"] = input.Port; } - if (input.SourceEngine !== undefined) { - entries["SourceEngine"] = input.SourceEngine; + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; } if (input.MonitoringInterval !== undefined) { entries["MonitoringInterval"] = input.MonitoringInterval; } + if (input.DBSecurityGroups !== undefined) { + const memberEntries = serializeAws_queryDBSecurityGroupNameList(input.DBSecurityGroups, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DBSecurityGroups.${key}`; + entries[loc] = value; + }); + } + if (input.UseDefaultProcessorFeatures !== undefined) { + entries["UseDefaultProcessorFeatures"] = input.UseDefaultProcessorFeatures; + } if (input.AutoMinorVersionUpgrade !== undefined) { entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } - if (input.Iops !== undefined) { - entries["Iops"] = input.Iops; - } - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + if (input.DBParameterGroupName !== undefined) { + entries["DBParameterGroupName"] = input.DBParameterGroupName; } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; + if (input.MasterUsername !== undefined) { + entries["MasterUsername"] = input.MasterUsername; } - if (input.EnablePerformanceInsights !== undefined) { - entries["EnablePerformanceInsights"] = input.EnablePerformanceInsights; + if (input.PreferredBackupWindow !== undefined) { + entries["PreferredBackupWindow"] = input.PreferredBackupWindow; } - if (input.MultiAZ !== undefined) { - entries["MultiAZ"] = input.MultiAZ; + if (input.DBName !== undefined) { + entries["DBName"] = input.DBName; } - if (input.StorageEncrypted !== undefined) { - entries["StorageEncrypted"] = input.StorageEncrypted; + if (input.MaxAllocatedStorage !== undefined) { + entries["MaxAllocatedStorage"] = input.MaxAllocatedStorage; } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } - if (input.ProcessorFeatures !== undefined) { - const memberEntries = serializeAws_queryProcessorFeatureList(input.ProcessorFeatures, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ProcessorFeatures.${key}`; - entries[loc] = value; - }); + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; } - if (input.S3IngestionRoleArn !== undefined) { - entries["S3IngestionRoleArn"] = input.S3IngestionRoleArn; + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; } - if (input.PerformanceInsightsKMSKeyId !== undefined) { - entries["PerformanceInsightsKMSKeyId"] = input.PerformanceInsightsKMSKeyId; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } return entries; }; @@ -18626,58 +18662,67 @@ const serializeAws_queryRestoreDBInstanceToPointInTimeMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SourceDBInstanceIdentifier !== undefined) { - entries["SourceDBInstanceIdentifier"] = input.SourceDBInstanceIdentifier; - } - if (input.LicenseModel !== undefined) { - entries["LicenseModel"] = input.LicenseModel; + if (input.DBSubnetGroupName !== undefined) { + entries["DBSubnetGroupName"] = input.DBSubnetGroupName; } - if (input.Engine !== undefined) { - entries["Engine"] = input.Engine; + if (input.UseDefaultProcessorFeatures !== undefined) { + entries["UseDefaultProcessorFeatures"] = input.UseDefaultProcessorFeatures; } - if (input.Iops !== undefined) { - entries["Iops"] = input.Iops; + if (input.SourceDbiResourceId !== undefined) { + entries["SourceDbiResourceId"] = input.SourceDbiResourceId; } - if (input.EnableCloudwatchLogsExports !== undefined) { - const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); + if (input.VpcSecurityGroupIds !== undefined) { + const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EnableCloudwatchLogsExports.${key}`; + const loc = `VpcSecurityGroupIds.${key}`; entries[loc] = value; }); } - if (input.StorageType !== undefined) { - entries["StorageType"] = input.StorageType; + if (input.DBInstanceClass !== undefined) { + entries["DBInstanceClass"] = input.DBInstanceClass; } - if (input.TdeCredentialPassword !== undefined) { - entries["TdeCredentialPassword"] = input.TdeCredentialPassword; + if (input.AutoMinorVersionUpgrade !== undefined) { + entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; } - if (input.DBSubnetGroupName !== undefined) { - entries["DBSubnetGroupName"] = input.DBSubnetGroupName; + if (input.Iops !== undefined) { + entries["Iops"] = input.Iops; } if (input.UseLatestRestorableTime !== undefined) { entries["UseLatestRestorableTime"] = input.UseLatestRestorableTime; } - if (input.DeletionProtection !== undefined) { - entries["DeletionProtection"] = input.DeletionProtection; + if (input.StorageType !== undefined) { + entries["StorageType"] = input.StorageType; + } + if (input.SourceDBInstanceIdentifier !== undefined) { + entries["SourceDBInstanceIdentifier"] = input.SourceDBInstanceIdentifier; + } + if (input.TdeCredentialPassword !== undefined) { + entries["TdeCredentialPassword"] = input.TdeCredentialPassword; } if (input.OptionGroupName !== undefined) { entries["OptionGroupName"] = input.OptionGroupName; } - if (input.DBName !== undefined) { - entries["DBName"] = input.DBName; + if (input.CopyTagsToSnapshot !== undefined) { + entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; } - if (input.VpcSecurityGroupIds !== undefined) { - const memberEntries = serializeAws_queryVpcSecurityGroupIdList(input.VpcSecurityGroupIds, context); + if (input.MultiAZ !== undefined) { + entries["MultiAZ"] = input.MultiAZ; + } + if (input.TdeCredentialArn !== undefined) { + entries["TdeCredentialArn"] = input.TdeCredentialArn; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `VpcSecurityGroupIds.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; + if (input.Engine !== undefined) { + entries["Engine"] = input.Engine; } - if (input.SourceDbiResourceId !== undefined) { - entries["SourceDbiResourceId"] = input.SourceDbiResourceId; + if (input.DomainIAMRoleName !== undefined) { + entries["DomainIAMRoleName"] = input.DomainIAMRoleName; } if (input.Domain !== undefined) { entries["Domain"] = input.Domain; @@ -18685,27 +18730,6 @@ const serializeAws_queryRestoreDBInstanceToPointInTimeMessage = ( if (input.EnableIAMDatabaseAuthentication !== undefined) { entries["EnableIAMDatabaseAuthentication"] = input.EnableIAMDatabaseAuthentication; } - if (input.UseDefaultProcessorFeatures !== undefined) { - entries["UseDefaultProcessorFeatures"] = input.UseDefaultProcessorFeatures; - } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; - } - if (input.Port !== undefined) { - entries["Port"] = input.Port; - } - if (input.MultiAZ !== undefined) { - entries["MultiAZ"] = input.MultiAZ; - } - if (input.DomainIAMRoleName !== undefined) { - entries["DomainIAMRoleName"] = input.DomainIAMRoleName; - } - if (input.RestoreTime !== undefined) { - entries["RestoreTime"] = input.RestoreTime.toISOString().split(".")[0] + "Z"; - } - if (input.TdeCredentialArn !== undefined) { - entries["TdeCredentialArn"] = input.TdeCredentialArn; - } if (input.TargetDBInstanceIdentifier !== undefined) { entries["TargetDBInstanceIdentifier"] = input.TargetDBInstanceIdentifier; } @@ -18716,26 +18740,41 @@ const serializeAws_queryRestoreDBInstanceToPointInTimeMessage = ( entries[loc] = value; }); } - 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.RestoreTime !== undefined) { + entries["RestoreTime"] = input.RestoreTime.toISOString().split(".")[0] + "Z"; } if (input.DBParameterGroupName !== undefined) { entries["DBParameterGroupName"] = input.DBParameterGroupName; } - if (input.AutoMinorVersionUpgrade !== undefined) { - entries["AutoMinorVersionUpgrade"] = input.AutoMinorVersionUpgrade; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } - if (input.CopyTagsToSnapshot !== undefined) { - entries["CopyTagsToSnapshot"] = input.CopyTagsToSnapshot; + if (input.DeletionProtection !== undefined) { + entries["DeletionProtection"] = input.DeletionProtection; } - if (input.DBInstanceClass !== undefined) { - entries["DBInstanceClass"] = input.DBInstanceClass; + if (input.DBName !== undefined) { + entries["DBName"] = input.DBName; } - return entries; + if (input.LicenseModel !== undefined) { + entries["LicenseModel"] = input.LicenseModel; + } + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; + } + if (input.PubliclyAccessible !== undefined) { + entries["PubliclyAccessible"] = input.PubliclyAccessible; + } + if (input.MaxAllocatedStorage !== undefined) { + entries["MaxAllocatedStorage"] = input.MaxAllocatedStorage; + } + if (input.EnableCloudwatchLogsExports !== undefined) { + const memberEntries = serializeAws_queryLogTypeList(input.EnableCloudwatchLogsExports, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `EnableCloudwatchLogsExports.${key}`; + entries[loc] = value; + }); + } + return entries; }; const serializeAws_queryRevokeDBSecurityGroupIngressMessage = ( @@ -18743,9 +18782,6 @@ const serializeAws_queryRevokeDBSecurityGroupIngressMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DBSecurityGroupName !== undefined) { - entries["DBSecurityGroupName"] = input.DBSecurityGroupName; - } if (input.CIDRIP !== undefined) { entries["CIDRIP"] = input.CIDRIP; } @@ -18755,6 +18791,9 @@ const serializeAws_queryRevokeDBSecurityGroupIngressMessage = ( if (input.EC2SecurityGroupOwnerId !== undefined) { entries["EC2SecurityGroupOwnerId"] = input.EC2SecurityGroupOwnerId; } + if (input.DBSecurityGroupName !== undefined) { + entries["DBSecurityGroupName"] = input.DBSecurityGroupName; + } if (input.EC2SecurityGroupId !== undefined) { entries["EC2SecurityGroupId"] = input.EC2SecurityGroupId; } @@ -18763,20 +18802,20 @@ const serializeAws_queryRevokeDBSecurityGroupIngressMessage = ( const serializeAws_queryScalingConfiguration = (input: ScalingConfiguration, context: __SerdeContext): any => { const entries: any = {}; - if (input.SecondsUntilAutoPause !== undefined) { - entries["SecondsUntilAutoPause"] = input.SecondsUntilAutoPause; + if (input.AutoPause !== undefined) { + entries["AutoPause"] = input.AutoPause; } if (input.TimeoutAction !== undefined) { entries["TimeoutAction"] = input.TimeoutAction; } - if (input.MinCapacity !== undefined) { - entries["MinCapacity"] = input.MinCapacity; - } if (input.MaxCapacity !== undefined) { entries["MaxCapacity"] = input.MaxCapacity; } - if (input.AutoPause !== undefined) { - entries["AutoPause"] = input.AutoPause; + if (input.SecondsUntilAutoPause !== undefined) { + entries["SecondsUntilAutoPause"] = input.SecondsUntilAutoPause; + } + if (input.MinCapacity !== undefined) { + entries["MinCapacity"] = input.MinCapacity; } return entries; }; @@ -18796,8 +18835,8 @@ const serializeAws_queryStartActivityStreamRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; + if (input.Mode !== undefined) { + entries["Mode"] = input.Mode; } if (input.ResourceArn !== undefined) { entries["ResourceArn"] = input.ResourceArn; @@ -18805,8 +18844,8 @@ const serializeAws_queryStartActivityStreamRequest = ( if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.Mode !== undefined) { - entries["Mode"] = input.Mode; + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; } return entries; }; @@ -18829,8 +18868,17 @@ const serializeAws_queryStartDBInstanceMessage = (input: StartDBInstanceMessage, const serializeAws_queryStartExportTaskMessage = (input: StartExportTaskMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.ExportTaskIdentifier !== undefined) { - entries["ExportTaskIdentifier"] = input.ExportTaskIdentifier; + if (input.SourceArn !== undefined) { + entries["SourceArn"] = input.SourceArn; + } + if (input.S3Prefix !== undefined) { + entries["S3Prefix"] = input.S3Prefix; + } + if (input.IamRoleArn !== undefined) { + entries["IamRoleArn"] = input.IamRoleArn; + } + if (input.S3BucketName !== undefined) { + entries["S3BucketName"] = input.S3BucketName; } if (input.ExportOnly !== undefined) { const memberEntries = serializeAws_queryStringList(input.ExportOnly, context); @@ -18839,20 +18887,11 @@ const serializeAws_queryStartExportTaskMessage = (input: StartExportTaskMessage, entries[loc] = value; }); } - if (input.S3BucketName !== undefined) { - entries["S3BucketName"] = input.S3BucketName; - } if (input.KmsKeyId !== undefined) { entries["KmsKeyId"] = input.KmsKeyId; } - if (input.SourceArn !== undefined) { - entries["SourceArn"] = input.SourceArn; - } - if (input.IamRoleArn !== undefined) { - entries["IamRoleArn"] = input.IamRoleArn; - } - if (input.S3Prefix !== undefined) { - entries["S3Prefix"] = input.S3Prefix; + if (input.ExportTaskIdentifier !== undefined) { + entries["ExportTaskIdentifier"] = input.ExportTaskIdentifier; } return entries; }; @@ -18862,12 +18901,12 @@ const serializeAws_queryStopActivityStreamRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ApplyImmediately !== undefined) { - entries["ApplyImmediately"] = input.ApplyImmediately; - } if (input.ResourceArn !== undefined) { entries["ResourceArn"] = input.ResourceArn; } + if (input.ApplyImmediately !== undefined) { + entries["ApplyImmediately"] = input.ApplyImmediately; + } return entries; }; @@ -18881,12 +18920,12 @@ const serializeAws_queryStopDBClusterMessage = (input: StopDBClusterMessage, con const serializeAws_queryStopDBInstanceMessage = (input: StopDBInstanceMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.DBInstanceIdentifier !== undefined) { - entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; - } if (input.DBSnapshotIdentifier !== undefined) { entries["DBSnapshotIdentifier"] = input.DBSnapshotIdentifier; } + if (input.DBInstanceIdentifier !== undefined) { + entries["DBInstanceIdentifier"] = input.DBInstanceIdentifier; + } return entries; }; @@ -18936,20 +18975,20 @@ const serializeAws_queryTagList = (input: Tag[], context: __SerdeContext): any = const serializeAws_queryUserAuthConfig = (input: UserAuthConfig, context: __SerdeContext): any => { const entries: any = {}; - if (input.AuthScheme !== undefined) { - entries["AuthScheme"] = input.AuthScheme; + if (input.SecretArn !== undefined) { + entries["SecretArn"] = input.SecretArn; } if (input.IAMAuth !== undefined) { entries["IAMAuth"] = input.IAMAuth; } - if (input.SecretArn !== undefined) { - entries["SecretArn"] = input.SecretArn; + if (input.UserName !== undefined) { + entries["UserName"] = input.UserName; } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.UserName !== undefined) { - entries["UserName"] = input.UserName; + if (input.AuthScheme !== undefined) { + entries["AuthScheme"] = input.AuthScheme; } return entries; }; @@ -18998,19 +19037,19 @@ const deserializeAws_queryAccountAttributesMessage = ( const deserializeAws_queryAccountQuota = (output: any, context: __SerdeContext): AccountQuota => { let contents: any = { - AccountQuotaName: undefined, Max: undefined, Used: undefined, + AccountQuotaName: undefined, }; - if (output["AccountQuotaName"] !== undefined) { - contents.AccountQuotaName = output["AccountQuotaName"]; - } if (output["Max"] !== undefined) { contents.Max = parseInt(output["Max"]); } if (output["Used"] !== undefined) { contents.Used = parseInt(output["Used"]); } + if (output["AccountQuotaName"] !== undefined) { + contents.AccountQuotaName = output["AccountQuotaName"]; + } return contents; }; @@ -19126,18 +19165,18 @@ const deserializeAws_queryAvailableProcessorFeature = ( context: __SerdeContext ): AvailableProcessorFeature => { let contents: any = { - Name: undefined, - DefaultValue: undefined, AllowedValues: undefined, + DefaultValue: undefined, + Name: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; + if (output["AllowedValues"] !== undefined) { + contents.AllowedValues = output["AllowedValues"]; } if (output["DefaultValue"] !== undefined) { contents.DefaultValue = output["DefaultValue"]; } - if (output["AllowedValues"] !== undefined) { - contents.AllowedValues = output["AllowedValues"]; + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; } return contents; }; @@ -19164,38 +19203,38 @@ const deserializeAws_queryBackupPolicyNotFoundFault = ( const deserializeAws_queryCertificate = (output: any, context: __SerdeContext): Certificate => { let contents: any = { + CustomerOverride: undefined, + Thumbprint: undefined, CertificateArn: undefined, - CertificateIdentifier: undefined, CertificateType: undefined, - CustomerOverrideValidTill: undefined, ValidTill: undefined, + CertificateIdentifier: undefined, + CustomerOverrideValidTill: undefined, ValidFrom: undefined, - Thumbprint: undefined, - CustomerOverride: undefined, }; + if (output["CustomerOverride"] !== undefined) { + contents.CustomerOverride = output["CustomerOverride"] == "true"; + } + if (output["Thumbprint"] !== undefined) { + contents.Thumbprint = output["Thumbprint"]; + } if (output["CertificateArn"] !== undefined) { contents.CertificateArn = output["CertificateArn"]; } - if (output["CertificateIdentifier"] !== undefined) { - contents.CertificateIdentifier = output["CertificateIdentifier"]; - } if (output["CertificateType"] !== undefined) { contents.CertificateType = output["CertificateType"]; } - if (output["CustomerOverrideValidTill"] !== undefined) { - contents.CustomerOverrideValidTill = new Date(output["CustomerOverrideValidTill"]); - } if (output["ValidTill"] !== undefined) { contents.ValidTill = new Date(output["ValidTill"]); } - if (output["ValidFrom"] !== undefined) { - contents.ValidFrom = new Date(output["ValidFrom"]); + if (output["CertificateIdentifier"] !== undefined) { + contents.CertificateIdentifier = output["CertificateIdentifier"]; } - if (output["Thumbprint"] !== undefined) { - contents.Thumbprint = output["Thumbprint"]; + if (output["CustomerOverrideValidTill"] !== undefined) { + contents.CustomerOverrideValidTill = new Date(output["CustomerOverrideValidTill"]); } - if (output["CustomerOverride"] !== undefined) { - contents.CustomerOverride = output["CustomerOverride"] == "true"; + if (output["ValidFrom"] !== undefined) { + contents.ValidFrom = new Date(output["ValidFrom"]); } return contents; }; @@ -19206,9 +19245,12 @@ const deserializeAws_queryCertificateList = (output: any, context: __SerdeContex const deserializeAws_queryCertificateMessage = (output: any, context: __SerdeContext): CertificateMessage => { let contents: any = { - Certificates: undefined, Marker: undefined, + Certificates: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.Certificates === "") { contents.Certificates = []; } @@ -19218,9 +19260,6 @@ const deserializeAws_queryCertificateMessage = (output: any, context: __SerdeCon context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -19256,12 +19295,21 @@ const deserializeAws_queryConnectionPoolConfigurationInfo = ( context: __SerdeContext ): ConnectionPoolConfigurationInfo => { let contents: any = { - SessionPinningFilters: undefined, - InitQuery: undefined, + MaxConnectionsPercent: undefined, ConnectionBorrowTimeout: undefined, MaxIdleConnectionsPercent: undefined, - MaxConnectionsPercent: undefined, + SessionPinningFilters: undefined, + InitQuery: undefined, }; + if (output["MaxConnectionsPercent"] !== undefined) { + contents.MaxConnectionsPercent = parseInt(output["MaxConnectionsPercent"]); + } + if (output["ConnectionBorrowTimeout"] !== undefined) { + contents.ConnectionBorrowTimeout = parseInt(output["ConnectionBorrowTimeout"]); + } + if (output["MaxIdleConnectionsPercent"] !== undefined) { + contents.MaxIdleConnectionsPercent = parseInt(output["MaxIdleConnectionsPercent"]); + } if (output.SessionPinningFilters === "") { contents.SessionPinningFilters = []; } @@ -19274,15 +19322,6 @@ const deserializeAws_queryConnectionPoolConfigurationInfo = ( if (output["InitQuery"] !== undefined) { contents.InitQuery = output["InitQuery"]; } - if (output["ConnectionBorrowTimeout"] !== undefined) { - contents.ConnectionBorrowTimeout = parseInt(output["ConnectionBorrowTimeout"]); - } - if (output["MaxIdleConnectionsPercent"] !== undefined) { - contents.MaxIdleConnectionsPercent = parseInt(output["MaxIdleConnectionsPercent"]); - } - if (output["MaxConnectionsPercent"] !== undefined) { - contents.MaxConnectionsPercent = parseInt(output["MaxConnectionsPercent"]); - } return contents; }; @@ -19523,23 +19562,23 @@ const deserializeAws_queryCreateOptionGroupResult = (output: any, context: __Ser const deserializeAws_queryCustomAvailabilityZone = (output: any, context: __SerdeContext): CustomAvailabilityZone => { let contents: any = { - CustomAvailabilityZoneId: undefined, - CustomAvailabilityZoneName: undefined, VpnDetails: undefined, CustomAvailabilityZoneStatus: undefined, + CustomAvailabilityZoneName: undefined, + CustomAvailabilityZoneId: undefined, }; - if (output["CustomAvailabilityZoneId"] !== undefined) { - contents.CustomAvailabilityZoneId = output["CustomAvailabilityZoneId"]; - } - if (output["CustomAvailabilityZoneName"] !== undefined) { - contents.CustomAvailabilityZoneName = output["CustomAvailabilityZoneName"]; - } if (output["VpnDetails"] !== undefined) { contents.VpnDetails = deserializeAws_queryVpnDetails(output["VpnDetails"], context); } if (output["CustomAvailabilityZoneStatus"] !== undefined) { contents.CustomAvailabilityZoneStatus = output["CustomAvailabilityZoneStatus"]; } + if (output["CustomAvailabilityZoneName"] !== undefined) { + contents.CustomAvailabilityZoneName = output["CustomAvailabilityZoneName"]; + } + if (output["CustomAvailabilityZoneId"] !== undefined) { + contents.CustomAvailabilityZoneId = output["CustomAvailabilityZoneId"]; + } return contents; }; @@ -19617,184 +19656,173 @@ const deserializeAws_queryCustomAvailabilityZoneQuotaExceededFault = ( const deserializeAws_queryDBCluster = (output: any, context: __SerdeContext): DBCluster => { let contents: any = { - VpcSecurityGroups: undefined, - ReplicationSourceIdentifier: undefined, - ActivityStreamKmsKeyId: undefined, - Capacity: undefined, - Endpoint: undefined, - EarliestBacktrackTime: undefined, - IAMDatabaseAuthenticationEnabled: undefined, - StorageEncrypted: undefined, - KmsKeyId: undefined, - Port: undefined, - HttpEndpointEnabled: undefined, - DBClusterMembers: undefined, - DbClusterResourceId: undefined, - DomainMemberships: undefined, - ReaderEndpoint: undefined, - EngineMode: undefined, - BackupRetentionPeriod: undefined, - EarliestRestorableTime: undefined, - ActivityStreamStatus: undefined, - CrossAccountClone: undefined, - BacktrackWindow: undefined, - MasterUsername: undefined, - ScalingConfigurationInfo: undefined, - DeletionProtection: undefined, - DBClusterParameterGroup: undefined, - MultiAZ: undefined, - AssociatedRoles: undefined, - LatestRestorableTime: undefined, - CustomEndpoints: undefined, - ReadReplicaIdentifiers: undefined, - BacktrackConsumedChangeRecords: undefined, + DBClusterArn: undefined, + TagList: undefined, DatabaseName: undefined, - CharacterSetName: undefined, PercentProgress: undefined, - ActivityStreamMode: undefined, AllocatedStorage: undefined, EngineVersion: undefined, - Status: undefined, - CloneGroupId: undefined, - ClusterCreateTime: undefined, + ActivityStreamMode: undefined, + CustomEndpoints: undefined, Engine: undefined, - GlobalWriteForwardingStatus: undefined, - HostedZoneId: undefined, - ActivityStreamKinesisStreamName: undefined, + LatestRestorableTime: undefined, + AssociatedRoles: undefined, + CopyTagsToSnapshot: undefined, + BackupRetentionPeriod: undefined, PreferredBackupWindow: undefined, - DBClusterIdentifier: undefined, - DBClusterOptionGroupMemberships: undefined, - AvailabilityZones: undefined, - DBClusterArn: undefined, EnabledCloudwatchLogsExports: undefined, - PreferredMaintenanceWindow: undefined, - DBSubnetGroup: undefined, + IAMDatabaseAuthenticationEnabled: undefined, GlobalWriteForwardingRequested: undefined, - CopyTagsToSnapshot: undefined, - }; - if (output.VpcSecurityGroups === "") { - contents.VpcSecurityGroups = []; - } - if ( - output["VpcSecurityGroups"] !== undefined && - output["VpcSecurityGroups"]["VpcSecurityGroupMembership"] !== undefined - ) { - contents.VpcSecurityGroups = deserializeAws_queryVpcSecurityGroupMembershipList( - __getArrayIfSingleItem(output["VpcSecurityGroups"]["VpcSecurityGroupMembership"]), - context - ); - } - if (output["ReplicationSourceIdentifier"] !== undefined) { - contents.ReplicationSourceIdentifier = output["ReplicationSourceIdentifier"]; - } - if (output["ActivityStreamKmsKeyId"] !== undefined) { - contents.ActivityStreamKmsKeyId = output["ActivityStreamKmsKeyId"]; - } - if (output["Capacity"] !== undefined) { - contents.Capacity = parseInt(output["Capacity"]); + HostedZoneId: undefined, + EarliestBacktrackTime: undefined, + AvailabilityZones: undefined, + GlobalWriteForwardingStatus: undefined, + ClusterCreateTime: undefined, + DBClusterOptionGroupMemberships: undefined, + EarliestRestorableTime: undefined, + ReadReplicaIdentifiers: undefined, + BacktrackConsumedChangeRecords: undefined, + DeletionProtection: undefined, + KmsKeyId: undefined, + Endpoint: undefined, + CrossAccountClone: undefined, + Capacity: undefined, + DBSubnetGroup: undefined, + VpcSecurityGroups: undefined, + PreferredMaintenanceWindow: undefined, + ReaderEndpoint: undefined, + ScalingConfigurationInfo: undefined, + MultiAZ: undefined, + ActivityStreamKmsKeyId: undefined, + ReplicationSourceIdentifier: undefined, + DomainMemberships: undefined, + ActivityStreamKinesisStreamName: undefined, + MasterUsername: undefined, + CloneGroupId: undefined, + DBClusterIdentifier: undefined, + Port: undefined, + CharacterSetName: undefined, + HttpEndpointEnabled: undefined, + StorageEncrypted: undefined, + DBClusterParameterGroup: undefined, + DbClusterResourceId: undefined, + EngineMode: undefined, + Status: undefined, + ActivityStreamStatus: undefined, + DBClusterMembers: undefined, + BacktrackWindow: undefined, + }; + if (output["DBClusterArn"] !== undefined) { + contents.DBClusterArn = output["DBClusterArn"]; } - if (output["Endpoint"] !== undefined) { - contents.Endpoint = output["Endpoint"]; + if (output.TagList === "") { + contents.TagList = []; } - if (output["EarliestBacktrackTime"] !== undefined) { - contents.EarliestBacktrackTime = new Date(output["EarliestBacktrackTime"]); + if (output["TagList"] !== undefined && output["TagList"]["Tag"] !== undefined) { + contents.TagList = deserializeAws_queryTagList(__getArrayIfSingleItem(output["TagList"]["Tag"]), context); } - if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { - contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; + if (output["DatabaseName"] !== undefined) { + contents.DatabaseName = output["DatabaseName"]; } - if (output["StorageEncrypted"] !== undefined) { - contents.StorageEncrypted = output["StorageEncrypted"] == "true"; + if (output["PercentProgress"] !== undefined) { + contents.PercentProgress = output["PercentProgress"]; } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["AllocatedStorage"] !== undefined) { + contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; } - if (output["HttpEndpointEnabled"] !== undefined) { - contents.HttpEndpointEnabled = output["HttpEndpointEnabled"] == "true"; + if (output["ActivityStreamMode"] !== undefined) { + contents.ActivityStreamMode = output["ActivityStreamMode"]; } - if (output.DBClusterMembers === "") { - contents.DBClusterMembers = []; + if (output.CustomEndpoints === "") { + contents.CustomEndpoints = []; } - if (output["DBClusterMembers"] !== undefined && output["DBClusterMembers"]["DBClusterMember"] !== undefined) { - contents.DBClusterMembers = deserializeAws_queryDBClusterMemberList( - __getArrayIfSingleItem(output["DBClusterMembers"]["DBClusterMember"]), + if (output["CustomEndpoints"] !== undefined && output["CustomEndpoints"]["member"] !== undefined) { + contents.CustomEndpoints = deserializeAws_queryStringList( + __getArrayIfSingleItem(output["CustomEndpoints"]["member"]), context ); } - if (output["DbClusterResourceId"] !== undefined) { - contents.DbClusterResourceId = output["DbClusterResourceId"]; + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; } - if (output.DomainMemberships === "") { - contents.DomainMemberships = []; + if (output["LatestRestorableTime"] !== undefined) { + contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); } - if (output["DomainMemberships"] !== undefined && output["DomainMemberships"]["DomainMembership"] !== undefined) { - contents.DomainMemberships = deserializeAws_queryDomainMembershipList( - __getArrayIfSingleItem(output["DomainMemberships"]["DomainMembership"]), + if (output.AssociatedRoles === "") { + contents.AssociatedRoles = []; + } + if (output["AssociatedRoles"] !== undefined && output["AssociatedRoles"]["DBClusterRole"] !== undefined) { + contents.AssociatedRoles = deserializeAws_queryDBClusterRoles( + __getArrayIfSingleItem(output["AssociatedRoles"]["DBClusterRole"]), context ); } - if (output["ReaderEndpoint"] !== undefined) { - contents.ReaderEndpoint = output["ReaderEndpoint"]; - } - if (output["EngineMode"] !== undefined) { - contents.EngineMode = output["EngineMode"]; + if (output["CopyTagsToSnapshot"] !== undefined) { + contents.CopyTagsToSnapshot = output["CopyTagsToSnapshot"] == "true"; } if (output["BackupRetentionPeriod"] !== undefined) { contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); } - if (output["EarliestRestorableTime"] !== undefined) { - contents.EarliestRestorableTime = new Date(output["EarliestRestorableTime"]); - } - if (output["ActivityStreamStatus"] !== undefined) { - contents.ActivityStreamStatus = output["ActivityStreamStatus"]; - } - if (output["CrossAccountClone"] !== undefined) { - contents.CrossAccountClone = output["CrossAccountClone"] == "true"; - } - if (output["BacktrackWindow"] !== undefined) { - contents.BacktrackWindow = parseInt(output["BacktrackWindow"]); + if (output["PreferredBackupWindow"] !== undefined) { + contents.PreferredBackupWindow = output["PreferredBackupWindow"]; } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; + if (output.EnabledCloudwatchLogsExports === "") { + contents.EnabledCloudwatchLogsExports = []; } - if (output["ScalingConfigurationInfo"] !== undefined) { - contents.ScalingConfigurationInfo = deserializeAws_queryScalingConfigurationInfo( - output["ScalingConfigurationInfo"], + if ( + output["EnabledCloudwatchLogsExports"] !== undefined && + output["EnabledCloudwatchLogsExports"]["member"] !== undefined + ) { + contents.EnabledCloudwatchLogsExports = deserializeAws_queryLogTypeList( + __getArrayIfSingleItem(output["EnabledCloudwatchLogsExports"]["member"]), context ); } - if (output["DeletionProtection"] !== undefined) { - contents.DeletionProtection = output["DeletionProtection"] == "true"; + if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { + contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; } - if (output["DBClusterParameterGroup"] !== undefined) { - contents.DBClusterParameterGroup = output["DBClusterParameterGroup"]; + if (output["GlobalWriteForwardingRequested"] !== undefined) { + contents.GlobalWriteForwardingRequested = output["GlobalWriteForwardingRequested"] == "true"; } - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"] == "true"; + if (output["HostedZoneId"] !== undefined) { + contents.HostedZoneId = output["HostedZoneId"]; } - if (output.AssociatedRoles === "") { - contents.AssociatedRoles = []; + if (output["EarliestBacktrackTime"] !== undefined) { + contents.EarliestBacktrackTime = new Date(output["EarliestBacktrackTime"]); } - if (output["AssociatedRoles"] !== undefined && output["AssociatedRoles"]["DBClusterRole"] !== undefined) { - contents.AssociatedRoles = deserializeAws_queryDBClusterRoles( - __getArrayIfSingleItem(output["AssociatedRoles"]["DBClusterRole"]), + if (output.AvailabilityZones === "") { + contents.AvailabilityZones = []; + } + if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["AvailabilityZone"] !== undefined) { + contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( + __getArrayIfSingleItem(output["AvailabilityZones"]["AvailabilityZone"]), context ); } - if (output["LatestRestorableTime"] !== undefined) { - contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); + if (output["GlobalWriteForwardingStatus"] !== undefined) { + contents.GlobalWriteForwardingStatus = output["GlobalWriteForwardingStatus"]; } - if (output.CustomEndpoints === "") { - contents.CustomEndpoints = []; + if (output["ClusterCreateTime"] !== undefined) { + contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); } - if (output["CustomEndpoints"] !== undefined && output["CustomEndpoints"]["member"] !== undefined) { - contents.CustomEndpoints = deserializeAws_queryStringList( - __getArrayIfSingleItem(output["CustomEndpoints"]["member"]), + if (output.DBClusterOptionGroupMemberships === "") { + contents.DBClusterOptionGroupMemberships = []; + } + if ( + output["DBClusterOptionGroupMemberships"] !== undefined && + output["DBClusterOptionGroupMemberships"]["DBClusterOptionGroup"] !== undefined + ) { + contents.DBClusterOptionGroupMemberships = deserializeAws_queryDBClusterOptionGroupMemberships( + __getArrayIfSingleItem(output["DBClusterOptionGroupMemberships"]["DBClusterOptionGroup"]), context ); } + if (output["EarliestRestorableTime"] !== undefined) { + contents.EarliestRestorableTime = new Date(output["EarliestRestorableTime"]); + } if (output.ReadReplicaIdentifiers === "") { contents.ReadReplicaIdentifiers = []; } @@ -19810,98 +19838,116 @@ const deserializeAws_queryDBCluster = (output: any, context: __SerdeContext): DB if (output["BacktrackConsumedChangeRecords"] !== undefined) { contents.BacktrackConsumedChangeRecords = parseInt(output["BacktrackConsumedChangeRecords"]); } - if (output["DatabaseName"] !== undefined) { - contents.DatabaseName = output["DatabaseName"]; + if (output["DeletionProtection"] !== undefined) { + contents.DeletionProtection = output["DeletionProtection"] == "true"; } - if (output["CharacterSetName"] !== undefined) { - contents.CharacterSetName = output["CharacterSetName"]; + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; } - if (output["PercentProgress"] !== undefined) { - contents.PercentProgress = output["PercentProgress"]; + if (output["Endpoint"] !== undefined) { + contents.Endpoint = output["Endpoint"]; } - if (output["ActivityStreamMode"] !== undefined) { - contents.ActivityStreamMode = output["ActivityStreamMode"]; + if (output["CrossAccountClone"] !== undefined) { + contents.CrossAccountClone = output["CrossAccountClone"] == "true"; } - if (output["AllocatedStorage"] !== undefined) { - contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); + if (output["Capacity"] !== undefined) { + contents.Capacity = parseInt(output["Capacity"]); } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; + if (output["DBSubnetGroup"] !== undefined) { + contents.DBSubnetGroup = output["DBSubnetGroup"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output.VpcSecurityGroups === "") { + contents.VpcSecurityGroups = []; } - if (output["CloneGroupId"] !== undefined) { - contents.CloneGroupId = output["CloneGroupId"]; + if ( + output["VpcSecurityGroups"] !== undefined && + output["VpcSecurityGroups"]["VpcSecurityGroupMembership"] !== undefined + ) { + contents.VpcSecurityGroups = deserializeAws_queryVpcSecurityGroupMembershipList( + __getArrayIfSingleItem(output["VpcSecurityGroups"]["VpcSecurityGroupMembership"]), + context + ); } - if (output["ClusterCreateTime"] !== undefined) { - contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); + if (output["PreferredMaintenanceWindow"] !== undefined) { + contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output["ReaderEndpoint"] !== undefined) { + contents.ReaderEndpoint = output["ReaderEndpoint"]; } - if (output["GlobalWriteForwardingStatus"] !== undefined) { - contents.GlobalWriteForwardingStatus = output["GlobalWriteForwardingStatus"]; + if (output["ScalingConfigurationInfo"] !== undefined) { + contents.ScalingConfigurationInfo = deserializeAws_queryScalingConfigurationInfo( + output["ScalingConfigurationInfo"], + context + ); } - if (output["HostedZoneId"] !== undefined) { - contents.HostedZoneId = output["HostedZoneId"]; + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"] == "true"; } - if (output["ActivityStreamKinesisStreamName"] !== undefined) { - contents.ActivityStreamKinesisStreamName = output["ActivityStreamKinesisStreamName"]; + if (output["ActivityStreamKmsKeyId"] !== undefined) { + contents.ActivityStreamKmsKeyId = output["ActivityStreamKmsKeyId"]; } - if (output["PreferredBackupWindow"] !== undefined) { - contents.PreferredBackupWindow = output["PreferredBackupWindow"]; + if (output["ReplicationSourceIdentifier"] !== undefined) { + contents.ReplicationSourceIdentifier = output["ReplicationSourceIdentifier"]; + } + if (output.DomainMemberships === "") { + contents.DomainMemberships = []; + } + if (output["DomainMemberships"] !== undefined && output["DomainMemberships"]["DomainMembership"] !== undefined) { + contents.DomainMemberships = deserializeAws_queryDomainMembershipList( + __getArrayIfSingleItem(output["DomainMemberships"]["DomainMembership"]), + context + ); + } + if (output["ActivityStreamKinesisStreamName"] !== undefined) { + contents.ActivityStreamKinesisStreamName = output["ActivityStreamKinesisStreamName"]; + } + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; + } + if (output["CloneGroupId"] !== undefined) { + contents.CloneGroupId = output["CloneGroupId"]; } if (output["DBClusterIdentifier"] !== undefined) { contents.DBClusterIdentifier = output["DBClusterIdentifier"]; } - if (output.DBClusterOptionGroupMemberships === "") { - contents.DBClusterOptionGroupMemberships = []; + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } - if ( - output["DBClusterOptionGroupMemberships"] !== undefined && - output["DBClusterOptionGroupMemberships"]["DBClusterOptionGroup"] !== undefined - ) { - contents.DBClusterOptionGroupMemberships = deserializeAws_queryDBClusterOptionGroupMemberships( - __getArrayIfSingleItem(output["DBClusterOptionGroupMemberships"]["DBClusterOptionGroup"]), - context - ); + if (output["CharacterSetName"] !== undefined) { + contents.CharacterSetName = output["CharacterSetName"]; } - if (output.AvailabilityZones === "") { - contents.AvailabilityZones = []; + if (output["HttpEndpointEnabled"] !== undefined) { + contents.HttpEndpointEnabled = output["HttpEndpointEnabled"] == "true"; } - if (output["AvailabilityZones"] !== undefined && output["AvailabilityZones"]["AvailabilityZone"] !== undefined) { - contents.AvailabilityZones = deserializeAws_queryAvailabilityZones( - __getArrayIfSingleItem(output["AvailabilityZones"]["AvailabilityZone"]), - context - ); + if (output["StorageEncrypted"] !== undefined) { + contents.StorageEncrypted = output["StorageEncrypted"] == "true"; } - if (output["DBClusterArn"] !== undefined) { - contents.DBClusterArn = output["DBClusterArn"]; + if (output["DBClusterParameterGroup"] !== undefined) { + contents.DBClusterParameterGroup = output["DBClusterParameterGroup"]; } - if (output.EnabledCloudwatchLogsExports === "") { - contents.EnabledCloudwatchLogsExports = []; + if (output["DbClusterResourceId"] !== undefined) { + contents.DbClusterResourceId = output["DbClusterResourceId"]; } - if ( - output["EnabledCloudwatchLogsExports"] !== undefined && - output["EnabledCloudwatchLogsExports"]["member"] !== undefined - ) { - contents.EnabledCloudwatchLogsExports = deserializeAws_queryLogTypeList( - __getArrayIfSingleItem(output["EnabledCloudwatchLogsExports"]["member"]), - context - ); + if (output["EngineMode"] !== undefined) { + contents.EngineMode = output["EngineMode"]; } - if (output["PreferredMaintenanceWindow"] !== undefined) { - contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } - if (output["DBSubnetGroup"] !== undefined) { - contents.DBSubnetGroup = output["DBSubnetGroup"]; + if (output["ActivityStreamStatus"] !== undefined) { + contents.ActivityStreamStatus = output["ActivityStreamStatus"]; } - if (output["GlobalWriteForwardingRequested"] !== undefined) { - contents.GlobalWriteForwardingRequested = output["GlobalWriteForwardingRequested"] == "true"; + if (output.DBClusterMembers === "") { + contents.DBClusterMembers = []; } - if (output["CopyTagsToSnapshot"] !== undefined) { - contents.CopyTagsToSnapshot = output["CopyTagsToSnapshot"] == "true"; + if (output["DBClusterMembers"] !== undefined && output["DBClusterMembers"]["DBClusterMember"] !== undefined) { + contents.DBClusterMembers = deserializeAws_queryDBClusterMemberList( + __getArrayIfSingleItem(output["DBClusterMembers"]["DBClusterMember"]), + context + ); + } + if (output["BacktrackWindow"] !== undefined) { + contents.BacktrackWindow = parseInt(output["BacktrackWindow"]); } return contents; }; @@ -19921,30 +19967,30 @@ const deserializeAws_queryDBClusterAlreadyExistsFault = ( const deserializeAws_queryDBClusterBacktrack = (output: any, context: __SerdeContext): DBClusterBacktrack => { let contents: any = { + Status: undefined, BacktrackTo: undefined, - BacktrackRequestCreationTime: undefined, - DBClusterIdentifier: undefined, - BacktrackedFrom: undefined, BacktrackIdentifier: undefined, - Status: undefined, + BacktrackedFrom: undefined, + DBClusterIdentifier: undefined, + BacktrackRequestCreationTime: undefined, }; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } if (output["BacktrackTo"] !== undefined) { contents.BacktrackTo = new Date(output["BacktrackTo"]); } - if (output["BacktrackRequestCreationTime"] !== undefined) { - contents.BacktrackRequestCreationTime = new Date(output["BacktrackRequestCreationTime"]); - } - if (output["DBClusterIdentifier"] !== undefined) { - contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + if (output["BacktrackIdentifier"] !== undefined) { + contents.BacktrackIdentifier = output["BacktrackIdentifier"]; } if (output["BacktrackedFrom"] !== undefined) { contents.BacktrackedFrom = new Date(output["BacktrackedFrom"]); } - if (output["BacktrackIdentifier"] !== undefined) { - contents.BacktrackIdentifier = output["BacktrackIdentifier"]; + if (output["DBClusterIdentifier"] !== undefined) { + contents.DBClusterIdentifier = output["DBClusterIdentifier"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["BacktrackRequestCreationTime"] !== undefined) { + contents.BacktrackRequestCreationTime = new Date(output["BacktrackRequestCreationTime"]); } return contents; }; @@ -19958,12 +20004,9 @@ const deserializeAws_queryDBClusterBacktrackMessage = ( context: __SerdeContext ): DBClusterBacktrackMessage => { let contents: any = { - Marker: undefined, DBClusterBacktracks: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.DBClusterBacktracks === "") { contents.DBClusterBacktracks = []; } @@ -19976,6 +20019,9 @@ const deserializeAws_queryDBClusterBacktrackMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -19994,45 +20040,60 @@ const deserializeAws_queryDBClusterBacktrackNotFoundFault = ( const deserializeAws_queryDBClusterCapacityInfo = (output: any, context: __SerdeContext): DBClusterCapacityInfo => { let contents: any = { + SecondsBeforeTimeout: undefined, + CurrentCapacity: undefined, TimeoutAction: undefined, DBClusterIdentifier: undefined, - SecondsBeforeTimeout: undefined, PendingCapacity: undefined, - CurrentCapacity: undefined, }; + if (output["SecondsBeforeTimeout"] !== undefined) { + contents.SecondsBeforeTimeout = parseInt(output["SecondsBeforeTimeout"]); + } + if (output["CurrentCapacity"] !== undefined) { + contents.CurrentCapacity = parseInt(output["CurrentCapacity"]); + } if (output["TimeoutAction"] !== undefined) { contents.TimeoutAction = output["TimeoutAction"]; } if (output["DBClusterIdentifier"] !== undefined) { contents.DBClusterIdentifier = output["DBClusterIdentifier"]; } - if (output["SecondsBeforeTimeout"] !== undefined) { - contents.SecondsBeforeTimeout = parseInt(output["SecondsBeforeTimeout"]); - } if (output["PendingCapacity"] !== undefined) { contents.PendingCapacity = parseInt(output["PendingCapacity"]); } - if (output["CurrentCapacity"] !== undefined) { - contents.CurrentCapacity = parseInt(output["CurrentCapacity"]); - } return contents; }; const deserializeAws_queryDBClusterEndpoint = (output: any, context: __SerdeContext): DBClusterEndpoint => { let contents: any = { - DBClusterEndpointIdentifier: undefined, + CustomEndpointType: undefined, + Status: undefined, + StaticMembers: undefined, + DBClusterEndpointResourceIdentifier: undefined, DBClusterIdentifier: undefined, EndpointType: undefined, - Endpoint: undefined, - DBClusterEndpointResourceIdentifier: undefined, - ExcludedMembers: undefined, - Status: undefined, + DBClusterEndpointIdentifier: undefined, DBClusterEndpointArn: undefined, - CustomEndpointType: undefined, - StaticMembers: undefined, + ExcludedMembers: undefined, + Endpoint: undefined, }; - if (output["DBClusterEndpointIdentifier"] !== undefined) { - contents.DBClusterEndpointIdentifier = output["DBClusterEndpointIdentifier"]; + if (output["CustomEndpointType"] !== undefined) { + contents.CustomEndpointType = output["CustomEndpointType"]; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output.StaticMembers === "") { + contents.StaticMembers = []; + } + if (output["StaticMembers"] !== undefined && output["StaticMembers"]["member"] !== undefined) { + contents.StaticMembers = deserializeAws_queryStringList( + __getArrayIfSingleItem(output["StaticMembers"]["member"]), + context + ); + } + if (output["DBClusterEndpointResourceIdentifier"] !== undefined) { + contents.DBClusterEndpointResourceIdentifier = output["DBClusterEndpointResourceIdentifier"]; } if (output["DBClusterIdentifier"] !== undefined) { contents.DBClusterIdentifier = output["DBClusterIdentifier"]; @@ -20040,11 +20101,11 @@ const deserializeAws_queryDBClusterEndpoint = (output: any, context: __SerdeCont if (output["EndpointType"] !== undefined) { contents.EndpointType = output["EndpointType"]; } - if (output["Endpoint"] !== undefined) { - contents.Endpoint = output["Endpoint"]; + if (output["DBClusterEndpointIdentifier"] !== undefined) { + contents.DBClusterEndpointIdentifier = output["DBClusterEndpointIdentifier"]; } - if (output["DBClusterEndpointResourceIdentifier"] !== undefined) { - contents.DBClusterEndpointResourceIdentifier = output["DBClusterEndpointResourceIdentifier"]; + if (output["DBClusterEndpointArn"] !== undefined) { + contents.DBClusterEndpointArn = output["DBClusterEndpointArn"]; } if (output.ExcludedMembers === "") { contents.ExcludedMembers = []; @@ -20055,23 +20116,8 @@ const deserializeAws_queryDBClusterEndpoint = (output: any, context: __SerdeCont context ); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["DBClusterEndpointArn"] !== undefined) { - contents.DBClusterEndpointArn = output["DBClusterEndpointArn"]; - } - if (output["CustomEndpointType"] !== undefined) { - contents.CustomEndpointType = output["CustomEndpointType"]; - } - if (output.StaticMembers === "") { - contents.StaticMembers = []; - } - if (output["StaticMembers"] !== undefined && output["StaticMembers"]["member"] !== undefined) { - contents.StaticMembers = deserializeAws_queryStringList( - __getArrayIfSingleItem(output["StaticMembers"]["member"]), - context - ); + if (output["Endpoint"] !== undefined) { + contents.Endpoint = output["Endpoint"]; } return contents; }; @@ -20151,23 +20197,23 @@ const deserializeAws_queryDBClusterList = (output: any, context: __SerdeContext) const deserializeAws_queryDBClusterMember = (output: any, context: __SerdeContext): DBClusterMember => { let contents: any = { - IsClusterWriter: undefined, + DBClusterParameterGroupStatus: undefined, PromotionTier: undefined, + IsClusterWriter: undefined, DBInstanceIdentifier: undefined, - DBClusterParameterGroupStatus: undefined, }; - if (output["IsClusterWriter"] !== undefined) { - contents.IsClusterWriter = output["IsClusterWriter"] == "true"; + if (output["DBClusterParameterGroupStatus"] !== undefined) { + contents.DBClusterParameterGroupStatus = output["DBClusterParameterGroupStatus"]; } if (output["PromotionTier"] !== undefined) { contents.PromotionTier = parseInt(output["PromotionTier"]); } + if (output["IsClusterWriter"] !== undefined) { + contents.IsClusterWriter = output["IsClusterWriter"] == "true"; + } if (output["DBInstanceIdentifier"] !== undefined) { contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; } - if (output["DBClusterParameterGroupStatus"] !== undefined) { - contents.DBClusterParameterGroupStatus = output["DBClusterParameterGroupStatus"]; - } return contents; }; @@ -20217,37 +20263,37 @@ const deserializeAws_queryDBClusterOptionGroupStatus = ( context: __SerdeContext ): DBClusterOptionGroupStatus => { let contents: any = { - Status: undefined, DBClusterOptionGroupName: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["DBClusterOptionGroupName"] !== undefined) { contents.DBClusterOptionGroupName = output["DBClusterOptionGroupName"]; } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } return contents; }; const deserializeAws_queryDBClusterParameterGroup = (output: any, context: __SerdeContext): DBClusterParameterGroup => { let contents: any = { - DBClusterParameterGroupName: undefined, - DBParameterGroupFamily: undefined, Description: undefined, DBClusterParameterGroupArn: undefined, + DBParameterGroupFamily: undefined, + DBClusterParameterGroupName: undefined, }; - if (output["DBClusterParameterGroupName"] !== undefined) { - contents.DBClusterParameterGroupName = output["DBClusterParameterGroupName"]; - } - if (output["DBParameterGroupFamily"] !== undefined) { - contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; - } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } if (output["DBClusterParameterGroupArn"] !== undefined) { contents.DBClusterParameterGroupArn = output["DBClusterParameterGroupArn"]; } + if (output["DBParameterGroupFamily"] !== undefined) { + contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; + } + if (output["DBClusterParameterGroupName"] !== undefined) { + contents.DBClusterParameterGroupName = output["DBClusterParameterGroupName"]; + } return contents; }; @@ -20256,12 +20302,9 @@ const deserializeAws_queryDBClusterParameterGroupDetails = ( context: __SerdeContext ): DBClusterParameterGroupDetails => { let contents: any = { - Marker: undefined, Parameters: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.Parameters === "") { contents.Parameters = []; } @@ -20271,6 +20314,9 @@ const deserializeAws_queryDBClusterParameterGroupDetails = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -20348,16 +20394,16 @@ const deserializeAws_queryDBClusterQuotaExceededFault = ( const deserializeAws_queryDBClusterRole = (output: any, context: __SerdeContext): DBClusterRole => { let contents: any = { - Status: undefined, RoleArn: undefined, + Status: undefined, FeatureName: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["RoleArn"] !== undefined) { contents.RoleArn = output["RoleArn"]; } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } if (output["FeatureName"] !== undefined) { contents.FeatureName = output["FeatureName"]; } @@ -20409,42 +20455,55 @@ const deserializeAws_queryDBClusterRoles = (output: any, context: __SerdeContext const deserializeAws_queryDBClusterSnapshot = (output: any, context: __SerdeContext): DBClusterSnapshot => { let contents: any = { - Engine: undefined, - EngineVersion: undefined, - StorageEncrypted: undefined, - LicenseModel: undefined, - SnapshotCreateTime: undefined, - AvailabilityZones: undefined, - KmsKeyId: undefined, + DBClusterSnapshotArn: undefined, VpcId: undefined, + SourceDBClusterSnapshotArn: undefined, DBClusterIdentifier: undefined, - IAMDatabaseAuthenticationEnabled: undefined, - DBClusterSnapshotArn: undefined, - SnapshotType: undefined, - MasterUsername: undefined, AllocatedStorage: undefined, + SnapshotType: undefined, Port: undefined, - DBClusterSnapshotIdentifier: undefined, + SnapshotCreateTime: undefined, PercentProgress: undefined, + AvailabilityZones: undefined, + EngineVersion: undefined, Status: undefined, ClusterCreateTime: undefined, - SourceDBClusterSnapshotArn: undefined, + Engine: undefined, + LicenseModel: undefined, + StorageEncrypted: undefined, + IAMDatabaseAuthenticationEnabled: undefined, + MasterUsername: undefined, + DBClusterSnapshotIdentifier: undefined, + KmsKeyId: undefined, + TagList: undefined, }; - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output["DBClusterSnapshotArn"] !== undefined) { + contents.DBClusterSnapshotArn = output["DBClusterSnapshotArn"]; } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; } - if (output["StorageEncrypted"] !== undefined) { - contents.StorageEncrypted = output["StorageEncrypted"] == "true"; + if (output["SourceDBClusterSnapshotArn"] !== undefined) { + contents.SourceDBClusterSnapshotArn = output["SourceDBClusterSnapshotArn"]; } - if (output["LicenseModel"] !== undefined) { - contents.LicenseModel = output["LicenseModel"]; + if (output["DBClusterIdentifier"] !== undefined) { + contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + } + if (output["AllocatedStorage"] !== undefined) { + contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); + } + if (output["SnapshotType"] !== undefined) { + contents.SnapshotType = output["SnapshotType"]; + } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } if (output["SnapshotCreateTime"] !== undefined) { contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); } + if (output["PercentProgress"] !== undefined) { + contents.PercentProgress = parseInt(output["PercentProgress"]); + } if (output.AvailabilityZones === "") { contents.AvailabilityZones = []; } @@ -20454,47 +20513,41 @@ const deserializeAws_queryDBClusterSnapshot = (output: any, context: __SerdeCont context ); } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; } - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } - if (output["DBClusterIdentifier"] !== undefined) { - contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + if (output["ClusterCreateTime"] !== undefined) { + contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); } - if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { - contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; } - if (output["DBClusterSnapshotArn"] !== undefined) { - contents.DBClusterSnapshotArn = output["DBClusterSnapshotArn"]; + if (output["LicenseModel"] !== undefined) { + contents.LicenseModel = output["LicenseModel"]; } - if (output["SnapshotType"] !== undefined) { - contents.SnapshotType = output["SnapshotType"]; + if (output["StorageEncrypted"] !== undefined) { + contents.StorageEncrypted = output["StorageEncrypted"] == "true"; + } + if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { + contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; } if (output["MasterUsername"] !== undefined) { contents.MasterUsername = output["MasterUsername"]; } - if (output["AllocatedStorage"] !== undefined) { - contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); - } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } if (output["DBClusterSnapshotIdentifier"] !== undefined) { contents.DBClusterSnapshotIdentifier = output["DBClusterSnapshotIdentifier"]; } - if (output["PercentProgress"] !== undefined) { - contents.PercentProgress = parseInt(output["PercentProgress"]); - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; } - if (output["ClusterCreateTime"] !== undefined) { - contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); + if (output.TagList === "") { + contents.TagList = []; } - if (output["SourceDBClusterSnapshotArn"] !== undefined) { - contents.SourceDBClusterSnapshotArn = output["SourceDBClusterSnapshotArn"]; + if (output["TagList"] !== undefined && output["TagList"]["Tag"] !== undefined) { + contents.TagList = deserializeAws_queryTagList(__getArrayIfSingleItem(output["TagList"]["Tag"]), context); } return contents; }; @@ -20517,9 +20570,12 @@ const deserializeAws_queryDBClusterSnapshotAttribute = ( context: __SerdeContext ): DBClusterSnapshotAttribute => { let contents: any = { - AttributeValues: undefined, AttributeName: undefined, + AttributeValues: undefined, }; + if (output["AttributeName"] !== undefined) { + contents.AttributeName = output["AttributeName"]; + } if (output.AttributeValues === "") { contents.AttributeValues = []; } @@ -20529,9 +20585,6 @@ const deserializeAws_queryDBClusterSnapshotAttribute = ( context ); } - if (output["AttributeName"] !== undefined) { - contents.AttributeName = output["AttributeName"]; - } return contents; }; @@ -20610,24 +20663,55 @@ const deserializeAws_queryDBClusterSnapshotNotFoundFault = ( const deserializeAws_queryDBEngineVersion = (output: any, context: __SerdeContext): DBEngineVersion => { let contents: any = { - ExportableLogTypes: undefined, - DefaultCharacterSet: undefined, - ValidUpgradeTarget: undefined, - SupportedFeatureNames: undefined, - SupportsParallelQuery: undefined, EngineVersion: undefined, - SupportedEngineModes: undefined, - SupportedTimezones: undefined, + SupportsGlobalDatabases: undefined, + Status: undefined, + SupportsLogExportsToCloudwatchLogs: undefined, + DBEngineVersionDescription: undefined, DBEngineDescription: undefined, - SupportsReadReplica: undefined, Engine: undefined, + SupportedTimezones: undefined, + ExportableLogTypes: undefined, DBParameterGroupFamily: undefined, - Status: undefined, SupportedCharacterSets: undefined, - SupportsLogExportsToCloudwatchLogs: undefined, - SupportsGlobalDatabases: undefined, - DBEngineVersionDescription: undefined, + SupportsParallelQuery: undefined, + ValidUpgradeTarget: undefined, + SupportedFeatureNames: undefined, + SupportedNcharCharacterSets: undefined, + SupportsReadReplica: undefined, + DefaultCharacterSet: undefined, + SupportedEngineModes: undefined, }; + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; + } + if (output["SupportsGlobalDatabases"] !== undefined) { + contents.SupportsGlobalDatabases = output["SupportsGlobalDatabases"] == "true"; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["SupportsLogExportsToCloudwatchLogs"] !== undefined) { + contents.SupportsLogExportsToCloudwatchLogs = output["SupportsLogExportsToCloudwatchLogs"] == "true"; + } + if (output["DBEngineVersionDescription"] !== undefined) { + contents.DBEngineVersionDescription = output["DBEngineVersionDescription"]; + } + if (output["DBEngineDescription"] !== undefined) { + contents.DBEngineDescription = output["DBEngineDescription"]; + } + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; + } + if (output.SupportedTimezones === "") { + contents.SupportedTimezones = []; + } + if (output["SupportedTimezones"] !== undefined && output["SupportedTimezones"]["Timezone"] !== undefined) { + contents.SupportedTimezones = deserializeAws_querySupportedTimezonesList( + __getArrayIfSingleItem(output["SupportedTimezones"]["Timezone"]), + context + ); + } if (output.ExportableLogTypes === "") { contents.ExportableLogTypes = []; } @@ -20637,8 +20721,23 @@ const deserializeAws_queryDBEngineVersion = (output: any, context: __SerdeContex context ); } - if (output["DefaultCharacterSet"] !== undefined) { - contents.DefaultCharacterSet = deserializeAws_queryCharacterSet(output["DefaultCharacterSet"], context); + if (output["DBParameterGroupFamily"] !== undefined) { + contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; + } + if (output.SupportedCharacterSets === "") { + contents.SupportedCharacterSets = []; + } + if ( + output["SupportedCharacterSets"] !== undefined && + output["SupportedCharacterSets"]["CharacterSet"] !== undefined + ) { + contents.SupportedCharacterSets = deserializeAws_querySupportedCharacterSetsList( + __getArrayIfSingleItem(output["SupportedCharacterSets"]["CharacterSet"]), + context + ); + } + if (output["SupportsParallelQuery"] !== undefined) { + contents.SupportsParallelQuery = output["SupportsParallelQuery"] == "true"; } if (output.ValidUpgradeTarget === "") { contents.ValidUpgradeTarget = []; @@ -20658,66 +20757,33 @@ const deserializeAws_queryDBEngineVersion = (output: any, context: __SerdeContex context ); } - if (output["SupportsParallelQuery"] !== undefined) { - contents.SupportsParallelQuery = output["SupportsParallelQuery"] == "true"; - } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; - } - if (output.SupportedEngineModes === "") { - contents.SupportedEngineModes = []; - } - if (output["SupportedEngineModes"] !== undefined && output["SupportedEngineModes"]["member"] !== undefined) { - contents.SupportedEngineModes = deserializeAws_queryEngineModeList( - __getArrayIfSingleItem(output["SupportedEngineModes"]["member"]), - context - ); - } - if (output.SupportedTimezones === "") { - contents.SupportedTimezones = []; + if (output.SupportedNcharCharacterSets === "") { + contents.SupportedNcharCharacterSets = []; } - if (output["SupportedTimezones"] !== undefined && output["SupportedTimezones"]["Timezone"] !== undefined) { - contents.SupportedTimezones = deserializeAws_querySupportedTimezonesList( - __getArrayIfSingleItem(output["SupportedTimezones"]["Timezone"]), + if ( + output["SupportedNcharCharacterSets"] !== undefined && + output["SupportedNcharCharacterSets"]["CharacterSet"] !== undefined + ) { + contents.SupportedNcharCharacterSets = deserializeAws_querySupportedCharacterSetsList( + __getArrayIfSingleItem(output["SupportedNcharCharacterSets"]["CharacterSet"]), context ); } - if (output["DBEngineDescription"] !== undefined) { - contents.DBEngineDescription = output["DBEngineDescription"]; - } if (output["SupportsReadReplica"] !== undefined) { contents.SupportsReadReplica = output["SupportsReadReplica"] == "true"; } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; - } - if (output["DBParameterGroupFamily"] !== undefined) { - contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["DefaultCharacterSet"] !== undefined) { + contents.DefaultCharacterSet = deserializeAws_queryCharacterSet(output["DefaultCharacterSet"], context); } - if (output.SupportedCharacterSets === "") { - contents.SupportedCharacterSets = []; + if (output.SupportedEngineModes === "") { + contents.SupportedEngineModes = []; } - if ( - output["SupportedCharacterSets"] !== undefined && - output["SupportedCharacterSets"]["CharacterSet"] !== undefined - ) { - contents.SupportedCharacterSets = deserializeAws_querySupportedCharacterSetsList( - __getArrayIfSingleItem(output["SupportedCharacterSets"]["CharacterSet"]), + if (output["SupportedEngineModes"] !== undefined && output["SupportedEngineModes"]["member"] !== undefined) { + contents.SupportedEngineModes = deserializeAws_queryEngineModeList( + __getArrayIfSingleItem(output["SupportedEngineModes"]["member"]), context ); } - if (output["SupportsLogExportsToCloudwatchLogs"] !== undefined) { - contents.SupportsLogExportsToCloudwatchLogs = output["SupportsLogExportsToCloudwatchLogs"] == "true"; - } - if (output["SupportsGlobalDatabases"] !== undefined) { - contents.SupportsGlobalDatabases = output["SupportsGlobalDatabases"] == "true"; - } - if (output["DBEngineVersionDescription"] !== undefined) { - contents.DBEngineVersionDescription = output["DBEngineVersionDescription"]; - } return contents; }; @@ -20727,12 +20793,9 @@ const deserializeAws_queryDBEngineVersionList = (output: any, context: __SerdeCo const deserializeAws_queryDBEngineVersionMessage = (output: any, context: __SerdeContext): DBEngineVersionMessage => { let contents: any = { - Marker: undefined, DBEngineVersions: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.DBEngineVersions === "") { contents.DBEngineVersions = []; } @@ -20742,222 +20805,168 @@ const deserializeAws_queryDBEngineVersionMessage = (output: any, context: __Serd context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): DBInstance => { let contents: any = { - CharacterSetName: undefined, - PreferredBackupWindow: undefined, - InstanceCreateTime: undefined, - MonitoringRoleArn: undefined, - MasterUsername: undefined, - ProcessorFeatures: undefined, - ListenerEndpoint: undefined, - DBInstanceIdentifier: undefined, - PromotionTier: undefined, - PerformanceInsightsRetentionPeriod: undefined, - StorageType: undefined, - PreferredMaintenanceWindow: undefined, - LicenseModel: undefined, - ReadReplicaSourceDBInstanceIdentifier: undefined, - DBSubnetGroup: undefined, - AllocatedStorage: undefined, - Endpoint: undefined, - ReadReplicaDBInstanceIdentifiers: undefined, - DbInstancePort: undefined, - CACertificateIdentifier: undefined, - DBName: undefined, - DBParameterGroups: undefined, - PerformanceInsightsKMSKeyId: undefined, - Engine: undefined, - CopyTagsToSnapshot: undefined, - Iops: undefined, - DBInstanceArn: undefined, - EnabledCloudwatchLogsExports: undefined, - DbiResourceId: undefined, - SecondaryAvailabilityZone: undefined, - Timezone: undefined, - StorageEncrypted: undefined, + OptionGroupMemberships: undefined, + StatusInfos: undefined, + PendingModifiedValues: undefined, IAMDatabaseAuthenticationEnabled: undefined, + StorageEncrypted: undefined, + Timezone: undefined, + DbiResourceId: undefined, + VpcSecurityGroups: undefined, + PreferredMaintenanceWindow: undefined, DBClusterIdentifier: undefined, + DbInstancePort: undefined, + Endpoint: undefined, + DBInstanceArn: undefined, + MultiAZ: undefined, + PerformanceInsightsKMSKeyId: undefined, TdeCredentialArn: undefined, - DomainMemberships: undefined, - MaxAllocatedStorage: undefined, - PendingModifiedValues: undefined, + DBParameterGroups: undefined, + DBInstanceClass: undefined, + LatestRestorableTime: undefined, + AutoMinorVersionUpgrade: undefined, DBSecurityGroups: undefined, - PerformanceInsightsEnabled: undefined, - PubliclyAccessible: undefined, - BackupRetentionPeriod: undefined, + DBInstanceStatus: undefined, + PerformanceInsightsRetentionPeriod: undefined, + MonitoringInterval: undefined, + StorageType: undefined, EngineVersion: undefined, - KmsKeyId: undefined, + DBInstanceIdentifier: undefined, + ReadReplicaSourceDBInstanceIdentifier: undefined, + ReadReplicaDBClusterIdentifiers: undefined, + AllocatedStorage: undefined, + MaxAllocatedStorage: undefined, + DomainMemberships: undefined, + PubliclyAccessible: undefined, DeletionProtection: undefined, - EnhancedMonitoringResourceArn: undefined, + MasterUsername: undefined, + KmsKeyId: undefined, AvailabilityZone: undefined, - VpcSecurityGroups: undefined, - MonitoringInterval: undefined, - ReadReplicaDBClusterIdentifiers: undefined, - AutoMinorVersionUpgrade: undefined, + NcharCharacterSetName: undefined, + SecondaryAvailabilityZone: undefined, + MonitoringRoleArn: undefined, + EnhancedMonitoringResourceArn: undefined, + PromotionTier: undefined, AssociatedRoles: undefined, - MultiAZ: undefined, - DBInstanceClass: undefined, - OptionGroupMemberships: undefined, - LatestRestorableTime: undefined, - StatusInfos: undefined, - DBInstanceStatus: undefined, + InstanceCreateTime: undefined, + ProcessorFeatures: undefined, + ListenerEndpoint: undefined, + CACertificateIdentifier: undefined, + EnabledCloudwatchLogsExports: undefined, + CharacterSetName: undefined, + ReadReplicaDBInstanceIdentifiers: undefined, + TagList: undefined, + CopyTagsToSnapshot: undefined, + ReplicaMode: undefined, + Engine: undefined, + Iops: undefined, + LicenseModel: undefined, + DBSubnetGroup: undefined, + PreferredBackupWindow: undefined, + BackupRetentionPeriod: undefined, + DBName: undefined, + PerformanceInsightsEnabled: undefined, }; - if (output["CharacterSetName"] !== undefined) { - contents.CharacterSetName = output["CharacterSetName"]; - } - if (output["PreferredBackupWindow"] !== undefined) { - contents.PreferredBackupWindow = output["PreferredBackupWindow"]; - } - if (output["InstanceCreateTime"] !== undefined) { - contents.InstanceCreateTime = new Date(output["InstanceCreateTime"]); - } - if (output["MonitoringRoleArn"] !== undefined) { - contents.MonitoringRoleArn = output["MonitoringRoleArn"]; - } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; - } - if (output.ProcessorFeatures === "") { - contents.ProcessorFeatures = []; - } - if (output["ProcessorFeatures"] !== undefined && output["ProcessorFeatures"]["ProcessorFeature"] !== undefined) { - contents.ProcessorFeatures = deserializeAws_queryProcessorFeatureList( - __getArrayIfSingleItem(output["ProcessorFeatures"]["ProcessorFeature"]), - context - ); - } - if (output["ListenerEndpoint"] !== undefined) { - contents.ListenerEndpoint = deserializeAws_queryEndpoint(output["ListenerEndpoint"], context); - } - if (output["DBInstanceIdentifier"] !== undefined) { - contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; - } - if (output["PromotionTier"] !== undefined) { - contents.PromotionTier = parseInt(output["PromotionTier"]); - } - if (output["PerformanceInsightsRetentionPeriod"] !== undefined) { - contents.PerformanceInsightsRetentionPeriod = parseInt(output["PerformanceInsightsRetentionPeriod"]); - } - if (output["StorageType"] !== undefined) { - contents.StorageType = output["StorageType"]; - } - if (output["PreferredMaintenanceWindow"] !== undefined) { - contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; - } - if (output["LicenseModel"] !== undefined) { - contents.LicenseModel = output["LicenseModel"]; - } - if (output["ReadReplicaSourceDBInstanceIdentifier"] !== undefined) { - contents.ReadReplicaSourceDBInstanceIdentifier = output["ReadReplicaSourceDBInstanceIdentifier"]; - } - if (output["DBSubnetGroup"] !== undefined) { - contents.DBSubnetGroup = deserializeAws_queryDBSubnetGroup(output["DBSubnetGroup"], context); - } - if (output["AllocatedStorage"] !== undefined) { - contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); - } - if (output["Endpoint"] !== undefined) { - contents.Endpoint = deserializeAws_queryEndpoint(output["Endpoint"], context); - } - if (output.ReadReplicaDBInstanceIdentifiers === "") { - contents.ReadReplicaDBInstanceIdentifiers = []; + if (output.OptionGroupMemberships === "") { + contents.OptionGroupMemberships = []; } if ( - output["ReadReplicaDBInstanceIdentifiers"] !== undefined && - output["ReadReplicaDBInstanceIdentifiers"]["ReadReplicaDBInstanceIdentifier"] !== undefined + output["OptionGroupMemberships"] !== undefined && + output["OptionGroupMemberships"]["OptionGroupMembership"] !== undefined ) { - contents.ReadReplicaDBInstanceIdentifiers = deserializeAws_queryReadReplicaDBInstanceIdentifierList( - __getArrayIfSingleItem(output["ReadReplicaDBInstanceIdentifiers"]["ReadReplicaDBInstanceIdentifier"]), + contents.OptionGroupMemberships = deserializeAws_queryOptionGroupMembershipList( + __getArrayIfSingleItem(output["OptionGroupMemberships"]["OptionGroupMembership"]), context ); } - if (output["DbInstancePort"] !== undefined) { - contents.DbInstancePort = parseInt(output["DbInstancePort"]); - } - if (output["CACertificateIdentifier"] !== undefined) { - contents.CACertificateIdentifier = output["CACertificateIdentifier"]; - } - if (output["DBName"] !== undefined) { - contents.DBName = output["DBName"]; - } - if (output.DBParameterGroups === "") { - contents.DBParameterGroups = []; + if (output.StatusInfos === "") { + contents.StatusInfos = []; } - if (output["DBParameterGroups"] !== undefined && output["DBParameterGroups"]["DBParameterGroup"] !== undefined) { - contents.DBParameterGroups = deserializeAws_queryDBParameterGroupStatusList( - __getArrayIfSingleItem(output["DBParameterGroups"]["DBParameterGroup"]), + if (output["StatusInfos"] !== undefined && output["StatusInfos"]["DBInstanceStatusInfo"] !== undefined) { + contents.StatusInfos = deserializeAws_queryDBInstanceStatusInfoList( + __getArrayIfSingleItem(output["StatusInfos"]["DBInstanceStatusInfo"]), context ); } - if (output["PerformanceInsightsKMSKeyId"] !== undefined) { - contents.PerformanceInsightsKMSKeyId = output["PerformanceInsightsKMSKeyId"]; + if (output["PendingModifiedValues"] !== undefined) { + contents.PendingModifiedValues = deserializeAws_queryPendingModifiedValues( + output["PendingModifiedValues"], + context + ); } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { + contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; } - if (output["CopyTagsToSnapshot"] !== undefined) { - contents.CopyTagsToSnapshot = output["CopyTagsToSnapshot"] == "true"; + if (output["StorageEncrypted"] !== undefined) { + contents.StorageEncrypted = output["StorageEncrypted"] == "true"; } - if (output["Iops"] !== undefined) { - contents.Iops = parseInt(output["Iops"]); + if (output["Timezone"] !== undefined) { + contents.Timezone = output["Timezone"]; } - if (output["DBInstanceArn"] !== undefined) { - contents.DBInstanceArn = output["DBInstanceArn"]; + if (output["DbiResourceId"] !== undefined) { + contents.DbiResourceId = output["DbiResourceId"]; } - if (output.EnabledCloudwatchLogsExports === "") { - contents.EnabledCloudwatchLogsExports = []; + if (output.VpcSecurityGroups === "") { + contents.VpcSecurityGroups = []; } if ( - output["EnabledCloudwatchLogsExports"] !== undefined && - output["EnabledCloudwatchLogsExports"]["member"] !== undefined + output["VpcSecurityGroups"] !== undefined && + output["VpcSecurityGroups"]["VpcSecurityGroupMembership"] !== undefined ) { - contents.EnabledCloudwatchLogsExports = deserializeAws_queryLogTypeList( - __getArrayIfSingleItem(output["EnabledCloudwatchLogsExports"]["member"]), + contents.VpcSecurityGroups = deserializeAws_queryVpcSecurityGroupMembershipList( + __getArrayIfSingleItem(output["VpcSecurityGroups"]["VpcSecurityGroupMembership"]), context ); } - if (output["DbiResourceId"] !== undefined) { - contents.DbiResourceId = output["DbiResourceId"]; + if (output["PreferredMaintenanceWindow"] !== undefined) { + contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; } - if (output["SecondaryAvailabilityZone"] !== undefined) { - contents.SecondaryAvailabilityZone = output["SecondaryAvailabilityZone"]; + if (output["DBClusterIdentifier"] !== undefined) { + contents.DBClusterIdentifier = output["DBClusterIdentifier"]; } - if (output["Timezone"] !== undefined) { - contents.Timezone = output["Timezone"]; + if (output["DbInstancePort"] !== undefined) { + contents.DbInstancePort = parseInt(output["DbInstancePort"]); } - if (output["StorageEncrypted"] !== undefined) { - contents.StorageEncrypted = output["StorageEncrypted"] == "true"; + if (output["Endpoint"] !== undefined) { + contents.Endpoint = deserializeAws_queryEndpoint(output["Endpoint"], context); } - if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { - contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; + if (output["DBInstanceArn"] !== undefined) { + contents.DBInstanceArn = output["DBInstanceArn"]; } - if (output["DBClusterIdentifier"] !== undefined) { - contents.DBClusterIdentifier = output["DBClusterIdentifier"]; + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"] == "true"; + } + if (output["PerformanceInsightsKMSKeyId"] !== undefined) { + contents.PerformanceInsightsKMSKeyId = output["PerformanceInsightsKMSKeyId"]; } if (output["TdeCredentialArn"] !== undefined) { contents.TdeCredentialArn = output["TdeCredentialArn"]; } - if (output.DomainMemberships === "") { - contents.DomainMemberships = []; + if (output.DBParameterGroups === "") { + contents.DBParameterGroups = []; } - if (output["DomainMemberships"] !== undefined && output["DomainMemberships"]["DomainMembership"] !== undefined) { - contents.DomainMemberships = deserializeAws_queryDomainMembershipList( - __getArrayIfSingleItem(output["DomainMemberships"]["DomainMembership"]), + if (output["DBParameterGroups"] !== undefined && output["DBParameterGroups"]["DBParameterGroup"] !== undefined) { + contents.DBParameterGroups = deserializeAws_queryDBParameterGroupStatusList( + __getArrayIfSingleItem(output["DBParameterGroups"]["DBParameterGroup"]), context ); } - if (output["MaxAllocatedStorage"] !== undefined) { - contents.MaxAllocatedStorage = parseInt(output["MaxAllocatedStorage"]); + if (output["DBInstanceClass"] !== undefined) { + contents.DBInstanceClass = output["DBInstanceClass"]; } - if (output["PendingModifiedValues"] !== undefined) { - contents.PendingModifiedValues = deserializeAws_queryPendingModifiedValues( - output["PendingModifiedValues"], - context - ); + if (output["LatestRestorableTime"] !== undefined) { + contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); + } + if (output["AutoMinorVersionUpgrade"] !== undefined) { + contents.AutoMinorVersionUpgrade = output["AutoMinorVersionUpgrade"] == "true"; } if (output.DBSecurityGroups === "") { contents.DBSecurityGroups = []; @@ -20968,44 +20977,26 @@ const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): D context ); } - if (output["PerformanceInsightsEnabled"] !== undefined) { - contents.PerformanceInsightsEnabled = output["PerformanceInsightsEnabled"] == "true"; + if (output["DBInstanceStatus"] !== undefined) { + contents.DBInstanceStatus = output["DBInstanceStatus"]; } - if (output["PubliclyAccessible"] !== undefined) { - contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; + if (output["PerformanceInsightsRetentionPeriod"] !== undefined) { + contents.PerformanceInsightsRetentionPeriod = parseInt(output["PerformanceInsightsRetentionPeriod"]); } - if (output["BackupRetentionPeriod"] !== undefined) { - contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); + if (output["MonitoringInterval"] !== undefined) { + contents.MonitoringInterval = parseInt(output["MonitoringInterval"]); + } + if (output["StorageType"] !== undefined) { + contents.StorageType = output["StorageType"]; } if (output["EngineVersion"] !== undefined) { contents.EngineVersion = output["EngineVersion"]; } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; - } - if (output["DeletionProtection"] !== undefined) { - contents.DeletionProtection = output["DeletionProtection"] == "true"; - } - if (output["EnhancedMonitoringResourceArn"] !== undefined) { - contents.EnhancedMonitoringResourceArn = output["EnhancedMonitoringResourceArn"]; - } - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; - } - if (output.VpcSecurityGroups === "") { - contents.VpcSecurityGroups = []; - } - if ( - output["VpcSecurityGroups"] !== undefined && - output["VpcSecurityGroups"]["VpcSecurityGroupMembership"] !== undefined - ) { - contents.VpcSecurityGroups = deserializeAws_queryVpcSecurityGroupMembershipList( - __getArrayIfSingleItem(output["VpcSecurityGroups"]["VpcSecurityGroupMembership"]), - context - ); + if (output["DBInstanceIdentifier"] !== undefined) { + contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; } - if (output["MonitoringInterval"] !== undefined) { - contents.MonitoringInterval = parseInt(output["MonitoringInterval"]); + if (output["ReadReplicaSourceDBInstanceIdentifier"] !== undefined) { + contents.ReadReplicaSourceDBInstanceIdentifier = output["ReadReplicaSourceDBInstanceIdentifier"]; } if (output.ReadReplicaDBClusterIdentifiers === "") { contents.ReadReplicaDBClusterIdentifiers = []; @@ -21019,8 +21010,50 @@ const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): D context ); } - if (output["AutoMinorVersionUpgrade"] !== undefined) { - contents.AutoMinorVersionUpgrade = output["AutoMinorVersionUpgrade"] == "true"; + if (output["AllocatedStorage"] !== undefined) { + contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); + } + if (output["MaxAllocatedStorage"] !== undefined) { + contents.MaxAllocatedStorage = parseInt(output["MaxAllocatedStorage"]); + } + if (output.DomainMemberships === "") { + contents.DomainMemberships = []; + } + if (output["DomainMemberships"] !== undefined && output["DomainMemberships"]["DomainMembership"] !== undefined) { + contents.DomainMemberships = deserializeAws_queryDomainMembershipList( + __getArrayIfSingleItem(output["DomainMemberships"]["DomainMembership"]), + context + ); + } + if (output["PubliclyAccessible"] !== undefined) { + contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; + } + if (output["DeletionProtection"] !== undefined) { + contents.DeletionProtection = output["DeletionProtection"] == "true"; + } + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; + } + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; + } + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; + } + if (output["NcharCharacterSetName"] !== undefined) { + contents.NcharCharacterSetName = output["NcharCharacterSetName"]; + } + if (output["SecondaryAvailabilityZone"] !== undefined) { + contents.SecondaryAvailabilityZone = output["SecondaryAvailabilityZone"]; + } + if (output["MonitoringRoleArn"] !== undefined) { + contents.MonitoringRoleArn = output["MonitoringRoleArn"]; + } + if (output["EnhancedMonitoringResourceArn"] !== undefined) { + contents.EnhancedMonitoringResourceArn = output["EnhancedMonitoringResourceArn"]; + } + if (output["PromotionTier"] !== undefined) { + contents.PromotionTier = parseInt(output["PromotionTier"]); } if (output.AssociatedRoles === "") { contents.AssociatedRoles = []; @@ -21031,38 +21064,86 @@ const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): D context ); } - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"] == "true"; + if (output["InstanceCreateTime"] !== undefined) { + contents.InstanceCreateTime = new Date(output["InstanceCreateTime"]); } - if (output["DBInstanceClass"] !== undefined) { - contents.DBInstanceClass = output["DBInstanceClass"]; + if (output.ProcessorFeatures === "") { + contents.ProcessorFeatures = []; } - if (output.OptionGroupMemberships === "") { - contents.OptionGroupMemberships = []; + if (output["ProcessorFeatures"] !== undefined && output["ProcessorFeatures"]["ProcessorFeature"] !== undefined) { + contents.ProcessorFeatures = deserializeAws_queryProcessorFeatureList( + __getArrayIfSingleItem(output["ProcessorFeatures"]["ProcessorFeature"]), + context + ); + } + if (output["ListenerEndpoint"] !== undefined) { + contents.ListenerEndpoint = deserializeAws_queryEndpoint(output["ListenerEndpoint"], context); + } + if (output["CACertificateIdentifier"] !== undefined) { + contents.CACertificateIdentifier = output["CACertificateIdentifier"]; + } + if (output.EnabledCloudwatchLogsExports === "") { + contents.EnabledCloudwatchLogsExports = []; } if ( - output["OptionGroupMemberships"] !== undefined && - output["OptionGroupMemberships"]["OptionGroupMembership"] !== undefined + output["EnabledCloudwatchLogsExports"] !== undefined && + output["EnabledCloudwatchLogsExports"]["member"] !== undefined ) { - contents.OptionGroupMemberships = deserializeAws_queryOptionGroupMembershipList( - __getArrayIfSingleItem(output["OptionGroupMemberships"]["OptionGroupMembership"]), + contents.EnabledCloudwatchLogsExports = deserializeAws_queryLogTypeList( + __getArrayIfSingleItem(output["EnabledCloudwatchLogsExports"]["member"]), context ); } - if (output["LatestRestorableTime"] !== undefined) { - contents.LatestRestorableTime = new Date(output["LatestRestorableTime"]); + if (output["CharacterSetName"] !== undefined) { + contents.CharacterSetName = output["CharacterSetName"]; } - if (output.StatusInfos === "") { - contents.StatusInfos = []; + if (output.ReadReplicaDBInstanceIdentifiers === "") { + contents.ReadReplicaDBInstanceIdentifiers = []; } - if (output["StatusInfos"] !== undefined && output["StatusInfos"]["DBInstanceStatusInfo"] !== undefined) { - contents.StatusInfos = deserializeAws_queryDBInstanceStatusInfoList( - __getArrayIfSingleItem(output["StatusInfos"]["DBInstanceStatusInfo"]), + if ( + output["ReadReplicaDBInstanceIdentifiers"] !== undefined && + output["ReadReplicaDBInstanceIdentifiers"]["ReadReplicaDBInstanceIdentifier"] !== undefined + ) { + contents.ReadReplicaDBInstanceIdentifiers = deserializeAws_queryReadReplicaDBInstanceIdentifierList( + __getArrayIfSingleItem(output["ReadReplicaDBInstanceIdentifiers"]["ReadReplicaDBInstanceIdentifier"]), context ); } - if (output["DBInstanceStatus"] !== undefined) { - contents.DBInstanceStatus = output["DBInstanceStatus"]; + if (output.TagList === "") { + contents.TagList = []; + } + if (output["TagList"] !== undefined && output["TagList"]["Tag"] !== undefined) { + contents.TagList = deserializeAws_queryTagList(__getArrayIfSingleItem(output["TagList"]["Tag"]), context); + } + if (output["CopyTagsToSnapshot"] !== undefined) { + contents.CopyTagsToSnapshot = output["CopyTagsToSnapshot"] == "true"; + } + if (output["ReplicaMode"] !== undefined) { + contents.ReplicaMode = output["ReplicaMode"]; + } + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; + } + if (output["Iops"] !== undefined) { + contents.Iops = parseInt(output["Iops"]); + } + if (output["LicenseModel"] !== undefined) { + contents.LicenseModel = output["LicenseModel"]; + } + if (output["DBSubnetGroup"] !== undefined) { + contents.DBSubnetGroup = deserializeAws_queryDBSubnetGroup(output["DBSubnetGroup"], context); + } + if (output["PreferredBackupWindow"] !== undefined) { + contents.PreferredBackupWindow = output["PreferredBackupWindow"]; + } + if (output["BackupRetentionPeriod"] !== undefined) { + contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); + } + if (output["DBName"] !== undefined) { + contents.DBName = output["DBName"]; + } + if (output["PerformanceInsightsEnabled"] !== undefined) { + contents.PerformanceInsightsEnabled = output["PerformanceInsightsEnabled"] == "true"; } return contents; }; @@ -21085,98 +21166,98 @@ const deserializeAws_queryDBInstanceAutomatedBackup = ( context: __SerdeContext ): DBInstanceAutomatedBackup => { let contents: any = { + MasterUsername: undefined, + DbiResourceId: undefined, DBInstanceArn: undefined, + Port: undefined, RestoreWindow: undefined, - Iops: undefined, - EngineVersion: undefined, - DbiResourceId: undefined, + Encrypted: undefined, + TdeCredentialArn: undefined, + Engine: undefined, DBInstanceIdentifier: undefined, + OptionGroupName: undefined, + AllocatedStorage: undefined, + Status: undefined, StorageType: undefined, - LicenseModel: undefined, + EngineVersion: undefined, + Region: undefined, + Iops: undefined, Timezone: undefined, + LicenseModel: undefined, + InstanceCreateTime: undefined, IAMDatabaseAuthenticationEnabled: undefined, - MasterUsername: undefined, - Status: undefined, - Port: undefined, + VpcId: undefined, AvailabilityZone: undefined, KmsKeyId: undefined, - Encrypted: undefined, - Region: undefined, - InstanceCreateTime: undefined, - VpcId: undefined, - OptionGroupName: undefined, - AllocatedStorage: undefined, - Engine: undefined, - TdeCredentialArn: undefined, }; + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; + } + if (output["DbiResourceId"] !== undefined) { + contents.DbiResourceId = output["DbiResourceId"]; + } if (output["DBInstanceArn"] !== undefined) { contents.DBInstanceArn = output["DBInstanceArn"]; } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } if (output["RestoreWindow"] !== undefined) { contents.RestoreWindow = deserializeAws_queryRestoreWindow(output["RestoreWindow"], context); } - if (output["Iops"] !== undefined) { - contents.Iops = parseInt(output["Iops"]); + if (output["Encrypted"] !== undefined) { + contents.Encrypted = output["Encrypted"] == "true"; } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; + if (output["TdeCredentialArn"] !== undefined) { + contents.TdeCredentialArn = output["TdeCredentialArn"]; } - if (output["DbiResourceId"] !== undefined) { - contents.DbiResourceId = output["DbiResourceId"]; + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; } if (output["DBInstanceIdentifier"] !== undefined) { contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; } - if (output["StorageType"] !== undefined) { - contents.StorageType = output["StorageType"]; - } - if (output["LicenseModel"] !== undefined) { - contents.LicenseModel = output["LicenseModel"]; - } - if (output["Timezone"] !== undefined) { - contents.Timezone = output["Timezone"]; - } - if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { - contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; + if (output["OptionGroupName"] !== undefined) { + contents.OptionGroupName = output["OptionGroupName"]; } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; + if (output["AllocatedStorage"] !== undefined) { + contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; - } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["StorageType"] !== undefined) { + contents.StorageType = output["StorageType"]; } - if (output["Encrypted"] !== undefined) { - contents.Encrypted = output["Encrypted"] == "true"; + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; } if (output["Region"] !== undefined) { contents.Region = output["Region"]; } + if (output["Iops"] !== undefined) { + contents.Iops = parseInt(output["Iops"]); + } + if (output["Timezone"] !== undefined) { + contents.Timezone = output["Timezone"]; + } + if (output["LicenseModel"] !== undefined) { + contents.LicenseModel = output["LicenseModel"]; + } if (output["InstanceCreateTime"] !== undefined) { contents.InstanceCreateTime = new Date(output["InstanceCreateTime"]); } + if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { + contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; + } if (output["VpcId"] !== undefined) { contents.VpcId = output["VpcId"]; } - if (output["OptionGroupName"] !== undefined) { - contents.OptionGroupName = output["OptionGroupName"]; - } - if (output["AllocatedStorage"] !== undefined) { - contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); - } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; } - if (output["TdeCredentialArn"] !== undefined) { - contents.TdeCredentialArn = output["TdeCredentialArn"]; + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; } return contents; }; @@ -21276,19 +21357,19 @@ const deserializeAws_queryDBInstanceNotFoundFault = (output: any, context: __Ser const deserializeAws_queryDBInstanceRole = (output: any, context: __SerdeContext): DBInstanceRole => { let contents: any = { - FeatureName: undefined, RoleArn: undefined, Status: undefined, + FeatureName: undefined, }; - if (output["FeatureName"] !== undefined) { - contents.FeatureName = output["FeatureName"]; - } if (output["RoleArn"] !== undefined) { contents.RoleArn = output["RoleArn"]; } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["FeatureName"] !== undefined) { + contents.FeatureName = output["FeatureName"]; + } return contents; }; @@ -21337,22 +21418,22 @@ const deserializeAws_queryDBInstanceRoles = (output: any, context: __SerdeContex const deserializeAws_queryDBInstanceStatusInfo = (output: any, context: __SerdeContext): DBInstanceStatusInfo => { let contents: any = { - StatusType: undefined, - Message: undefined, - Status: undefined, Normal: undefined, - }; - if (output["StatusType"] !== undefined) { - contents.StatusType = output["StatusType"]; - } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; + Status: undefined, + Message: undefined, + StatusType: undefined, + }; + if (output["Normal"] !== undefined) { + contents.Normal = output["Normal"] == "true"; } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["Normal"] !== undefined) { - contents.Normal = output["Normal"] == "true"; + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; + } + if (output["StatusType"] !== undefined) { + contents.StatusType = output["StatusType"]; } return contents; }; @@ -21374,21 +21455,21 @@ const deserializeAws_queryDBLogFileNotFoundFault = (output: any, context: __Serd const deserializeAws_queryDBParameterGroup = (output: any, context: __SerdeContext): DBParameterGroup => { let contents: any = { DBParameterGroupName: undefined, - Description: undefined, - DBParameterGroupFamily: undefined, DBParameterGroupArn: undefined, + DBParameterGroupFamily: undefined, + Description: undefined, }; if (output["DBParameterGroupName"] !== undefined) { contents.DBParameterGroupName = output["DBParameterGroupName"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["DBParameterGroupArn"] !== undefined) { + contents.DBParameterGroupArn = output["DBParameterGroupArn"]; } if (output["DBParameterGroupFamily"] !== undefined) { contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; } - if (output["DBParameterGroupArn"] !== undefined) { - contents.DBParameterGroupArn = output["DBParameterGroupArn"]; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } return contents; }; @@ -21408,9 +21489,12 @@ const deserializeAws_queryDBParameterGroupAlreadyExistsFault = ( const deserializeAws_queryDBParameterGroupDetails = (output: any, context: __SerdeContext): DBParameterGroupDetails => { let contents: any = { - Parameters: undefined, Marker: undefined, + Parameters: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.Parameters === "") { contents.Parameters = []; } @@ -21420,9 +21504,6 @@ const deserializeAws_queryDBParameterGroupDetails = (output: any, context: __Ser context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -21494,15 +21575,15 @@ const deserializeAws_queryDBParameterGroupsMessage = ( const deserializeAws_queryDBParameterGroupStatus = (output: any, context: __SerdeContext): DBParameterGroupStatus => { let contents: any = { - ParameterApplyStatus: undefined, DBParameterGroupName: undefined, + ParameterApplyStatus: undefined, }; - if (output["ParameterApplyStatus"] !== undefined) { - contents.ParameterApplyStatus = output["ParameterApplyStatus"]; - } if (output["DBParameterGroupName"] !== undefined) { contents.DBParameterGroupName = output["DBParameterGroupName"]; } + if (output["ParameterApplyStatus"] !== undefined) { + contents.ParameterApplyStatus = output["ParameterApplyStatus"]; + } return contents; }; @@ -21515,21 +21596,42 @@ const deserializeAws_queryDBParameterGroupStatusList = ( const deserializeAws_queryDBProxy = (output: any, context: __SerdeContext): DBProxy => { let contents: any = { - Auth: undefined, + Endpoint: undefined, + RequireTLS: undefined, + EngineFamily: undefined, + VpcSubnetIds: undefined, CreatedDate: undefined, + Auth: undefined, DBProxyArn: undefined, - VpcSecurityGroupIds: undefined, - IdleClientTimeout: undefined, + Status: undefined, DebugLogging: undefined, RoleArn: undefined, - VpcSubnetIds: undefined, - DBProxyName: undefined, + IdleClientTimeout: undefined, UpdatedDate: undefined, - Endpoint: undefined, - Status: undefined, - RequireTLS: undefined, - EngineFamily: undefined, + VpcSecurityGroupIds: undefined, + DBProxyName: undefined, }; + if (output["Endpoint"] !== undefined) { + contents.Endpoint = output["Endpoint"]; + } + if (output["RequireTLS"] !== undefined) { + contents.RequireTLS = output["RequireTLS"] == "true"; + } + if (output["EngineFamily"] !== undefined) { + contents.EngineFamily = output["EngineFamily"]; + } + if (output.VpcSubnetIds === "") { + contents.VpcSubnetIds = []; + } + if (output["VpcSubnetIds"] !== undefined && output["VpcSubnetIds"]["member"] !== undefined) { + contents.VpcSubnetIds = deserializeAws_queryStringList( + __getArrayIfSingleItem(output["VpcSubnetIds"]["member"]), + context + ); + } + if (output["CreatedDate"] !== undefined) { + contents.CreatedDate = new Date(output["CreatedDate"]); + } if (output.Auth === "") { contents.Auth = []; } @@ -21539,23 +21641,11 @@ const deserializeAws_queryDBProxy = (output: any, context: __SerdeContext): DBPr context ); } - if (output["CreatedDate"] !== undefined) { - contents.CreatedDate = new Date(output["CreatedDate"]); - } if (output["DBProxyArn"] !== undefined) { contents.DBProxyArn = output["DBProxyArn"]; } - if (output.VpcSecurityGroupIds === "") { - contents.VpcSecurityGroupIds = []; - } - if (output["VpcSecurityGroupIds"] !== undefined && output["VpcSecurityGroupIds"]["member"] !== undefined) { - contents.VpcSecurityGroupIds = deserializeAws_queryStringList( - __getArrayIfSingleItem(output["VpcSecurityGroupIds"]["member"]), - context - ); - } - if (output["IdleClientTimeout"] !== undefined) { - contents.IdleClientTimeout = parseInt(output["IdleClientTimeout"]); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["DebugLogging"] !== undefined) { contents.DebugLogging = output["DebugLogging"] == "true"; @@ -21563,32 +21653,23 @@ const deserializeAws_queryDBProxy = (output: any, context: __SerdeContext): DBPr if (output["RoleArn"] !== undefined) { contents.RoleArn = output["RoleArn"]; } - if (output.VpcSubnetIds === "") { - contents.VpcSubnetIds = []; - } - if (output["VpcSubnetIds"] !== undefined && output["VpcSubnetIds"]["member"] !== undefined) { - contents.VpcSubnetIds = deserializeAws_queryStringList( - __getArrayIfSingleItem(output["VpcSubnetIds"]["member"]), - context - ); - } - if (output["DBProxyName"] !== undefined) { - contents.DBProxyName = output["DBProxyName"]; + if (output["IdleClientTimeout"] !== undefined) { + contents.IdleClientTimeout = parseInt(output["IdleClientTimeout"]); } if (output["UpdatedDate"] !== undefined) { contents.UpdatedDate = new Date(output["UpdatedDate"]); } - if (output["Endpoint"] !== undefined) { - contents.Endpoint = output["Endpoint"]; - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output.VpcSecurityGroupIds === "") { + contents.VpcSecurityGroupIds = []; } - if (output["RequireTLS"] !== undefined) { - contents.RequireTLS = output["RequireTLS"] == "true"; + if (output["VpcSecurityGroupIds"] !== undefined && output["VpcSecurityGroupIds"]["member"] !== undefined) { + contents.VpcSecurityGroupIds = deserializeAws_queryStringList( + __getArrayIfSingleItem(output["VpcSecurityGroupIds"]["member"]), + context + ); } - if (output["EngineFamily"] !== undefined) { - contents.EngineFamily = output["EngineFamily"]; + if (output["DBProxyName"] !== undefined) { + contents.DBProxyName = output["DBProxyName"]; } return contents; }; @@ -21635,35 +21716,35 @@ const deserializeAws_queryDBProxyQuotaExceededFault = ( const deserializeAws_queryDBProxyTarget = (output: any, context: __SerdeContext): DBProxyTarget => { let contents: any = { - Endpoint: undefined, - Type: undefined, - RdsResourceId: undefined, - TrackedClusterId: undefined, Port: undefined, TargetHealth: undefined, + Type: undefined, TargetArn: undefined, + Endpoint: undefined, + RdsResourceId: undefined, + TrackedClusterId: undefined, }; - if (output["Endpoint"] !== undefined) { - contents.Endpoint = output["Endpoint"]; + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } + if (output["TargetHealth"] !== undefined) { + contents.TargetHealth = deserializeAws_queryTargetHealth(output["TargetHealth"], context); } if (output["Type"] !== undefined) { contents.Type = output["Type"]; } + if (output["TargetArn"] !== undefined) { + contents.TargetArn = output["TargetArn"]; + } + if (output["Endpoint"] !== undefined) { + contents.Endpoint = output["Endpoint"]; + } if (output["RdsResourceId"] !== undefined) { contents.RdsResourceId = output["RdsResourceId"]; } if (output["TrackedClusterId"] !== undefined) { contents.TrackedClusterId = output["TrackedClusterId"]; } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } - if (output["TargetHealth"] !== undefined) { - contents.TargetHealth = deserializeAws_queryTargetHealth(output["TargetHealth"], context); - } - if (output["TargetArn"] !== undefined) { - contents.TargetArn = output["TargetArn"]; - } return contents; }; @@ -21682,29 +21763,29 @@ const deserializeAws_queryDBProxyTargetAlreadyRegisteredFault = ( const deserializeAws_queryDBProxyTargetGroup = (output: any, context: __SerdeContext): DBProxyTargetGroup => { let contents: any = { - UpdatedDate: undefined, - DBProxyName: undefined, - ConnectionPoolConfig: undefined, + Status: undefined, TargetGroupName: undefined, + CreatedDate: undefined, + DBProxyName: undefined, + UpdatedDate: undefined, TargetGroupArn: undefined, IsDefault: undefined, - CreatedDate: undefined, - Status: undefined, + ConnectionPoolConfig: undefined, }; - if (output["UpdatedDate"] !== undefined) { - contents.UpdatedDate = new Date(output["UpdatedDate"]); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["TargetGroupName"] !== undefined) { + contents.TargetGroupName = output["TargetGroupName"]; + } + if (output["CreatedDate"] !== undefined) { + contents.CreatedDate = new Date(output["CreatedDate"]); } if (output["DBProxyName"] !== undefined) { contents.DBProxyName = output["DBProxyName"]; } - if (output["ConnectionPoolConfig"] !== undefined) { - contents.ConnectionPoolConfig = deserializeAws_queryConnectionPoolConfigurationInfo( - output["ConnectionPoolConfig"], - context - ); - } - if (output["TargetGroupName"] !== undefined) { - contents.TargetGroupName = output["TargetGroupName"]; + if (output["UpdatedDate"] !== undefined) { + contents.UpdatedDate = new Date(output["UpdatedDate"]); } if (output["TargetGroupArn"] !== undefined) { contents.TargetGroupArn = output["TargetGroupArn"]; @@ -21712,11 +21793,11 @@ const deserializeAws_queryDBProxyTargetGroup = (output: any, context: __SerdeCon if (output["IsDefault"] !== undefined) { contents.IsDefault = output["IsDefault"] == "true"; } - if (output["CreatedDate"] !== undefined) { - contents.CreatedDate = new Date(output["CreatedDate"]); - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["ConnectionPoolConfig"] !== undefined) { + contents.ConnectionPoolConfig = deserializeAws_queryConnectionPoolConfigurationInfo( + output["ConnectionPoolConfig"], + context + ); } return contents; }; @@ -21749,17 +21830,23 @@ const deserializeAws_queryDBProxyTargetNotFoundFault = ( const deserializeAws_queryDBSecurityGroup = (output: any, context: __SerdeContext): DBSecurityGroup => { let contents: any = { + OwnerId: undefined, DBSecurityGroupArn: undefined, + DBSecurityGroupName: undefined, IPRanges: undefined, EC2SecurityGroups: undefined, - DBSecurityGroupDescription: undefined, VpcId: undefined, - OwnerId: undefined, - DBSecurityGroupName: undefined, + DBSecurityGroupDescription: undefined, }; + if (output["OwnerId"] !== undefined) { + contents.OwnerId = output["OwnerId"]; + } if (output["DBSecurityGroupArn"] !== undefined) { contents.DBSecurityGroupArn = output["DBSecurityGroupArn"]; } + if (output["DBSecurityGroupName"] !== undefined) { + contents.DBSecurityGroupName = output["DBSecurityGroupName"]; + } if (output.IPRanges === "") { contents.IPRanges = []; } @@ -21775,17 +21862,11 @@ const deserializeAws_queryDBSecurityGroup = (output: any, context: __SerdeContex context ); } - if (output["DBSecurityGroupDescription"] !== undefined) { - contents.DBSecurityGroupDescription = output["DBSecurityGroupDescription"]; - } if (output["VpcId"] !== undefined) { contents.VpcId = output["VpcId"]; } - if (output["OwnerId"] !== undefined) { - contents.OwnerId = output["OwnerId"]; - } - if (output["DBSecurityGroupName"] !== undefined) { - contents.DBSecurityGroupName = output["DBSecurityGroupName"]; + if (output["DBSecurityGroupDescription"] !== undefined) { + contents.DBSecurityGroupDescription = output["DBSecurityGroupDescription"]; } return contents; }; @@ -21808,15 +21889,15 @@ const deserializeAws_queryDBSecurityGroupMembership = ( context: __SerdeContext ): DBSecurityGroupMembership => { let contents: any = { - DBSecurityGroupName: undefined, Status: undefined, + DBSecurityGroupName: undefined, }; - if (output["DBSecurityGroupName"] !== undefined) { - contents.DBSecurityGroupName = output["DBSecurityGroupName"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["DBSecurityGroupName"] !== undefined) { + contents.DBSecurityGroupName = output["DBSecurityGroupName"]; + } return contents; }; @@ -21829,9 +21910,12 @@ const deserializeAws_queryDBSecurityGroupMembershipList = ( const deserializeAws_queryDBSecurityGroupMessage = (output: any, context: __SerdeContext): DBSecurityGroupMessage => { let contents: any = { - DBSecurityGroups: undefined, Marker: undefined, + DBSecurityGroups: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.DBSecurityGroups === "") { contents.DBSecurityGroups = []; } @@ -21841,9 +21925,6 @@ const deserializeAws_queryDBSecurityGroupMessage = (output: any, context: __Serd context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -21892,124 +21973,131 @@ const deserializeAws_queryDBSecurityGroups = (output: any, context: __SerdeConte const deserializeAws_queryDBSnapshot = (output: any, context: __SerdeContext): DBSnapshot => { let contents: any = { - ProcessorFeatures: undefined, - Encrypted: undefined, - InstanceCreateTime: undefined, - Timezone: undefined, - DbiResourceId: undefined, - IAMDatabaseAuthenticationEnabled: undefined, DBSnapshotIdentifier: undefined, - VpcId: undefined, + SourceDBSnapshotIdentifier: undefined, + PercentProgress: undefined, + Encrypted: undefined, + StorageType: undefined, + EngineVersion: undefined, + TdeCredentialArn: undefined, + DBSnapshotArn: undefined, + Engine: undefined, + AllocatedStorage: undefined, + TagList: undefined, + OptionGroupName: undefined, + ProcessorFeatures: undefined, + SnapshotCreateTime: undefined, + DBInstanceIdentifier: undefined, + SourceRegion: undefined, + Iops: undefined, SnapshotType: undefined, - PercentProgress: undefined, - AvailabilityZone: undefined, Port: undefined, - KmsKeyId: undefined, - MasterUsername: undefined, Status: undefined, - SourceDBSnapshotIdentifier: undefined, - Engine: undefined, - DBSnapshotArn: undefined, - Iops: undefined, - EngineVersion: undefined, - SnapshotCreateTime: undefined, + Timezone: undefined, + IAMDatabaseAuthenticationEnabled: undefined, LicenseModel: undefined, - SourceRegion: undefined, - StorageType: undefined, - AllocatedStorage: undefined, - DBInstanceIdentifier: undefined, - OptionGroupName: undefined, - TdeCredentialArn: undefined, + DbiResourceId: undefined, + MasterUsername: undefined, + AvailabilityZone: undefined, + KmsKeyId: undefined, + VpcId: undefined, + InstanceCreateTime: undefined, }; - if (output.ProcessorFeatures === "") { - contents.ProcessorFeatures = []; + if (output["DBSnapshotIdentifier"] !== undefined) { + contents.DBSnapshotIdentifier = output["DBSnapshotIdentifier"]; } - if (output["ProcessorFeatures"] !== undefined && output["ProcessorFeatures"]["ProcessorFeature"] !== undefined) { - contents.ProcessorFeatures = deserializeAws_queryProcessorFeatureList( - __getArrayIfSingleItem(output["ProcessorFeatures"]["ProcessorFeature"]), - context - ); + if (output["SourceDBSnapshotIdentifier"] !== undefined) { + contents.SourceDBSnapshotIdentifier = output["SourceDBSnapshotIdentifier"]; + } + if (output["PercentProgress"] !== undefined) { + contents.PercentProgress = parseInt(output["PercentProgress"]); } if (output["Encrypted"] !== undefined) { contents.Encrypted = output["Encrypted"] == "true"; } - if (output["InstanceCreateTime"] !== undefined) { - contents.InstanceCreateTime = new Date(output["InstanceCreateTime"]); - } - if (output["Timezone"] !== undefined) { - contents.Timezone = output["Timezone"]; - } - if (output["DbiResourceId"] !== undefined) { - contents.DbiResourceId = output["DbiResourceId"]; + if (output["StorageType"] !== undefined) { + contents.StorageType = output["StorageType"]; } - if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { - contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; } - if (output["DBSnapshotIdentifier"] !== undefined) { - contents.DBSnapshotIdentifier = output["DBSnapshotIdentifier"]; + if (output["TdeCredentialArn"] !== undefined) { + contents.TdeCredentialArn = output["TdeCredentialArn"]; } - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; + if (output["DBSnapshotArn"] !== undefined) { + contents.DBSnapshotArn = output["DBSnapshotArn"]; } - if (output["SnapshotType"] !== undefined) { - contents.SnapshotType = output["SnapshotType"]; + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; } - if (output["PercentProgress"] !== undefined) { - contents.PercentProgress = parseInt(output["PercentProgress"]); + if (output["AllocatedStorage"] !== undefined) { + contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); } - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; + if (output.TagList === "") { + contents.TagList = []; } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["TagList"] !== undefined && output["TagList"]["Tag"] !== undefined) { + contents.TagList = deserializeAws_queryTagList(__getArrayIfSingleItem(output["TagList"]["Tag"]), context); } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["OptionGroupName"] !== undefined) { + contents.OptionGroupName = output["OptionGroupName"]; } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; + if (output.ProcessorFeatures === "") { + contents.ProcessorFeatures = []; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["ProcessorFeatures"] !== undefined && output["ProcessorFeatures"]["ProcessorFeature"] !== undefined) { + contents.ProcessorFeatures = deserializeAws_queryProcessorFeatureList( + __getArrayIfSingleItem(output["ProcessorFeatures"]["ProcessorFeature"]), + context + ); } - if (output["SourceDBSnapshotIdentifier"] !== undefined) { - contents.SourceDBSnapshotIdentifier = output["SourceDBSnapshotIdentifier"]; + if (output["SnapshotCreateTime"] !== undefined) { + contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output["DBInstanceIdentifier"] !== undefined) { + contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; } - if (output["DBSnapshotArn"] !== undefined) { - contents.DBSnapshotArn = output["DBSnapshotArn"]; + if (output["SourceRegion"] !== undefined) { + contents.SourceRegion = output["SourceRegion"]; } if (output["Iops"] !== undefined) { contents.Iops = parseInt(output["Iops"]); } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; + if (output["SnapshotType"] !== undefined) { + contents.SnapshotType = output["SnapshotType"]; } - if (output["SnapshotCreateTime"] !== undefined) { - contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["Timezone"] !== undefined) { + contents.Timezone = output["Timezone"]; + } + if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { + contents.IAMDatabaseAuthenticationEnabled = output["IAMDatabaseAuthenticationEnabled"] == "true"; } if (output["LicenseModel"] !== undefined) { contents.LicenseModel = output["LicenseModel"]; } - if (output["SourceRegion"] !== undefined) { - contents.SourceRegion = output["SourceRegion"]; + if (output["DbiResourceId"] !== undefined) { + contents.DbiResourceId = output["DbiResourceId"]; } - if (output["StorageType"] !== undefined) { - contents.StorageType = output["StorageType"]; + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; } - if (output["AllocatedStorage"] !== undefined) { - contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; } - if (output["DBInstanceIdentifier"] !== undefined) { - contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; } - if (output["OptionGroupName"] !== undefined) { - contents.OptionGroupName = output["OptionGroupName"]; + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; } - if (output["TdeCredentialArn"] !== undefined) { - contents.TdeCredentialArn = output["TdeCredentialArn"]; + if (output["InstanceCreateTime"] !== undefined) { + contents.InstanceCreateTime = new Date(output["InstanceCreateTime"]); } return contents; }; @@ -22029,12 +22117,9 @@ const deserializeAws_queryDBSnapshotAlreadyExistsFault = ( const deserializeAws_queryDBSnapshotAttribute = (output: any, context: __SerdeContext): DBSnapshotAttribute => { let contents: any = { - AttributeName: undefined, AttributeValues: undefined, + AttributeName: undefined, }; - if (output["AttributeName"] !== undefined) { - contents.AttributeName = output["AttributeName"]; - } if (output.AttributeValues === "") { contents.AttributeValues = []; } @@ -22044,6 +22129,9 @@ const deserializeAws_queryDBSnapshotAttribute = (output: any, context: __SerdeCo context ); } + if (output["AttributeName"] !== undefined) { + contents.AttributeName = output["AttributeName"]; + } return contents; }; @@ -22056,9 +22144,12 @@ const deserializeAws_queryDBSnapshotAttributesResult = ( context: __SerdeContext ): DBSnapshotAttributesResult => { let contents: any = { - DBSnapshotAttributes: undefined, DBSnapshotIdentifier: undefined, + DBSnapshotAttributes: undefined, }; + if (output["DBSnapshotIdentifier"] !== undefined) { + contents.DBSnapshotIdentifier = output["DBSnapshotIdentifier"]; + } if (output.DBSnapshotAttributes === "") { contents.DBSnapshotAttributes = []; } @@ -22071,9 +22162,6 @@ const deserializeAws_queryDBSnapshotAttributesResult = ( context ); } - if (output["DBSnapshotIdentifier"] !== undefined) { - contents.DBSnapshotIdentifier = output["DBSnapshotIdentifier"]; - } return contents; }; @@ -22083,9 +22171,12 @@ const deserializeAws_queryDBSnapshotList = (output: any, context: __SerdeContext const deserializeAws_queryDBSnapshotMessage = (output: any, context: __SerdeContext): DBSnapshotMessage => { let contents: any = { - DBSnapshots: undefined, Marker: undefined, + DBSnapshots: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.DBSnapshots === "") { contents.DBSnapshots = []; } @@ -22095,9 +22186,6 @@ const deserializeAws_queryDBSnapshotMessage = (output: any, context: __SerdeCont context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -22113,21 +22201,18 @@ const deserializeAws_queryDBSnapshotNotFoundFault = (output: any, context: __Ser const deserializeAws_queryDBSubnetGroup = (output: any, context: __SerdeContext): DBSubnetGroup => { let contents: any = { - DBSubnetGroupName: undefined, DBSubnetGroupArn: undefined, - SubnetGroupStatus: undefined, - Subnets: undefined, DBSubnetGroupDescription: undefined, + Subnets: undefined, VpcId: undefined, + DBSubnetGroupName: undefined, + SubnetGroupStatus: undefined, }; - if (output["DBSubnetGroupName"] !== undefined) { - contents.DBSubnetGroupName = output["DBSubnetGroupName"]; - } if (output["DBSubnetGroupArn"] !== undefined) { contents.DBSubnetGroupArn = output["DBSubnetGroupArn"]; } - if (output["SubnetGroupStatus"] !== undefined) { - contents.SubnetGroupStatus = output["SubnetGroupStatus"]; + if (output["DBSubnetGroupDescription"] !== undefined) { + contents.DBSubnetGroupDescription = output["DBSubnetGroupDescription"]; } if (output.Subnets === "") { contents.Subnets = []; @@ -22135,12 +22220,15 @@ const deserializeAws_queryDBSubnetGroup = (output: any, context: __SerdeContext) if (output["Subnets"] !== undefined && output["Subnets"]["Subnet"] !== undefined) { contents.Subnets = deserializeAws_querySubnetList(__getArrayIfSingleItem(output["Subnets"]["Subnet"]), context); } - if (output["DBSubnetGroupDescription"] !== undefined) { - contents.DBSubnetGroupDescription = output["DBSubnetGroupDescription"]; - } if (output["VpcId"] !== undefined) { contents.VpcId = output["VpcId"]; } + if (output["DBSubnetGroupName"] !== undefined) { + contents.DBSubnetGroupName = output["DBSubnetGroupName"]; + } + if (output["SubnetGroupStatus"] !== undefined) { + contents.SubnetGroupStatus = output["SubnetGroupStatus"]; + } return contents; }; @@ -22399,19 +22487,19 @@ const deserializeAws_queryDescribeDBLogFilesDetails = ( context: __SerdeContext ): DescribeDBLogFilesDetails => { let contents: any = { - LogFileName: undefined, LastWritten: undefined, Size: undefined, + LogFileName: undefined, }; - if (output["LogFileName"] !== undefined) { - contents.LogFileName = output["LogFileName"]; - } if (output["LastWritten"] !== undefined) { contents.LastWritten = parseInt(output["LastWritten"]); } if (output["Size"] !== undefined) { contents.Size = parseInt(output["Size"]); } + if (output["LogFileName"] !== undefined) { + contents.LogFileName = output["LogFileName"]; + } return contents; }; @@ -22453,9 +22541,12 @@ const deserializeAws_queryDescribeDBProxiesResponse = ( context: __SerdeContext ): DescribeDBProxiesResponse => { let contents: any = { - DBProxies: undefined, Marker: undefined, + DBProxies: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.DBProxies === "") { contents.DBProxies = []; } @@ -22465,9 +22556,6 @@ const deserializeAws_queryDescribeDBProxiesResponse = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -22499,18 +22587,18 @@ const deserializeAws_queryDescribeDBProxyTargetsResponse = ( context: __SerdeContext ): DescribeDBProxyTargetsResponse => { let contents: any = { - Marker: undefined, Targets: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.Targets === "") { contents.Targets = []; } if (output["Targets"] !== undefined && output["Targets"]["member"] !== undefined) { contents.Targets = deserializeAws_queryTargetList(__getArrayIfSingleItem(output["Targets"]["member"]), context); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -22574,23 +22662,23 @@ const deserializeAws_queryDescribeValidDBInstanceModificationsResult = ( const deserializeAws_queryDomainMembership = (output: any, context: __SerdeContext): DomainMembership => { let contents: any = { - IAMRoleName: undefined, - Domain: undefined, FQDN: undefined, Status: undefined, + IAMRoleName: undefined, + Domain: undefined, }; - if (output["IAMRoleName"] !== undefined) { - contents.IAMRoleName = output["IAMRoleName"]; - } - if (output["Domain"] !== undefined) { - contents.Domain = output["Domain"]; - } if (output["FQDN"] !== undefined) { contents.FQDN = output["FQDN"]; } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["IAMRoleName"] !== undefined) { + contents.IAMRoleName = output["IAMRoleName"]; + } + if (output["Domain"] !== undefined) { + contents.Domain = output["Domain"]; + } return contents; }; @@ -22631,16 +22719,16 @@ const deserializeAws_queryDownloadDBLogFilePortionDetails = ( context: __SerdeContext ): DownloadDBLogFilePortionDetails => { let contents: any = { - Marker: undefined, LogFileData: undefined, + Marker: undefined, AdditionalDataPending: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output["LogFileData"] !== undefined) { contents.LogFileData = output["LogFileData"]; } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output["AdditionalDataPending"] !== undefined) { contents.AdditionalDataPending = output["AdditionalDataPending"] == "true"; } @@ -22649,22 +22737,22 @@ const deserializeAws_queryDownloadDBLogFilePortionDetails = ( const deserializeAws_queryEC2SecurityGroup = (output: any, context: __SerdeContext): EC2SecurityGroup => { let contents: any = { - Status: undefined, - EC2SecurityGroupOwnerId: undefined, - EC2SecurityGroupId: undefined, EC2SecurityGroupName: undefined, + EC2SecurityGroupId: undefined, + EC2SecurityGroupOwnerId: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["EC2SecurityGroupOwnerId"] !== undefined) { - contents.EC2SecurityGroupOwnerId = output["EC2SecurityGroupOwnerId"]; + if (output["EC2SecurityGroupName"] !== undefined) { + contents.EC2SecurityGroupName = output["EC2SecurityGroupName"]; } if (output["EC2SecurityGroupId"] !== undefined) { contents.EC2SecurityGroupId = output["EC2SecurityGroupId"]; } - if (output["EC2SecurityGroupName"] !== undefined) { - contents.EC2SecurityGroupName = output["EC2SecurityGroupName"]; + if (output["EC2SecurityGroupOwnerId"] !== undefined) { + contents.EC2SecurityGroupOwnerId = output["EC2SecurityGroupOwnerId"]; + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } return contents; }; @@ -22675,28 +22763,31 @@ const deserializeAws_queryEC2SecurityGroupList = (output: any, context: __SerdeC const deserializeAws_queryEndpoint = (output: any, context: __SerdeContext): Endpoint => { let contents: any = { - HostedZoneId: undefined, - Address: undefined, Port: undefined, + Address: undefined, + HostedZoneId: undefined, }; - if (output["HostedZoneId"] !== undefined) { - contents.HostedZoneId = output["HostedZoneId"]; + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } if (output["Address"] !== undefined) { contents.Address = output["Address"]; } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["HostedZoneId"] !== undefined) { + contents.HostedZoneId = output["HostedZoneId"]; } return contents; }; const deserializeAws_queryEngineDefaults = (output: any, context: __SerdeContext): EngineDefaults => { let contents: any = { + Marker: undefined, Parameters: undefined, DBParameterGroupFamily: undefined, - Marker: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.Parameters === "") { contents.Parameters = []; } @@ -22709,9 +22800,6 @@ const deserializeAws_queryEngineDefaults = (output: any, context: __SerdeContext if (output["DBParameterGroupFamily"] !== undefined) { contents.DBParameterGroupFamily = output["DBParameterGroupFamily"]; } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -22721,15 +22809,18 @@ const deserializeAws_queryEngineModeList = (output: any, context: __SerdeContext const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event => { let contents: any = { - Date: undefined, - EventCategories: undefined, SourceIdentifier: undefined, - Message: undefined, - SourceType: undefined, SourceArn: undefined, + EventCategories: undefined, + SourceType: undefined, + Message: undefined, + Date: undefined, }; - if (output["Date"] !== undefined) { - contents.Date = new Date(output["Date"]); + if (output["SourceIdentifier"] !== undefined) { + contents.SourceIdentifier = output["SourceIdentifier"]; + } + if (output["SourceArn"] !== undefined) { + contents.SourceArn = output["SourceArn"]; } if (output.EventCategories === "") { contents.EventCategories = []; @@ -22740,17 +22831,14 @@ const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event context ); } - if (output["SourceIdentifier"] !== undefined) { - contents.SourceIdentifier = output["SourceIdentifier"]; + if (output["SourceType"] !== undefined) { + contents.SourceType = output["SourceType"]; } if (output["Message"] !== undefined) { contents.Message = output["Message"]; } - if (output["SourceType"] !== undefined) { - contents.SourceType = output["SourceType"]; - } - if (output["SourceArn"] !== undefined) { - contents.SourceArn = output["SourceArn"]; + if (output["Date"] !== undefined) { + contents.Date = new Date(output["Date"]); } return contents; }; @@ -22825,20 +22913,38 @@ const deserializeAws_queryEventsMessage = (output: any, context: __SerdeContext) const deserializeAws_queryEventSubscription = (output: any, context: __SerdeContext): EventSubscription => { let contents: any = { + SnsTopicArn: undefined, + EventSubscriptionArn: undefined, + Enabled: undefined, CustSubscriptionId: undefined, - SourceIdsList: undefined, + CustomerAwsId: undefined, + SubscriptionCreationTime: undefined, SourceType: undefined, + SourceIdsList: undefined, EventCategoriesList: undefined, - EventSubscriptionArn: undefined, - SnsTopicArn: undefined, Status: undefined, - SubscriptionCreationTime: undefined, - CustomerAwsId: undefined, - Enabled: undefined, }; + if (output["SnsTopicArn"] !== undefined) { + contents.SnsTopicArn = output["SnsTopicArn"]; + } + if (output["EventSubscriptionArn"] !== undefined) { + contents.EventSubscriptionArn = output["EventSubscriptionArn"]; + } + if (output["Enabled"] !== undefined) { + contents.Enabled = output["Enabled"] == "true"; + } if (output["CustSubscriptionId"] !== undefined) { contents.CustSubscriptionId = output["CustSubscriptionId"]; } + if (output["CustomerAwsId"] !== undefined) { + contents.CustomerAwsId = output["CustomerAwsId"]; + } + if (output["SubscriptionCreationTime"] !== undefined) { + contents.SubscriptionCreationTime = output["SubscriptionCreationTime"]; + } + if (output["SourceType"] !== undefined) { + contents.SourceType = output["SourceType"]; + } if (output.SourceIdsList === "") { contents.SourceIdsList = []; } @@ -22848,9 +22954,6 @@ const deserializeAws_queryEventSubscription = (output: any, context: __SerdeCont context ); } - if (output["SourceType"] !== undefined) { - contents.SourceType = output["SourceType"]; - } if (output.EventCategoriesList === "") { contents.EventCategoriesList = []; } @@ -22860,24 +22963,9 @@ const deserializeAws_queryEventSubscription = (output: any, context: __SerdeCont context ); } - if (output["EventSubscriptionArn"] !== undefined) { - contents.EventSubscriptionArn = output["EventSubscriptionArn"]; - } - if (output["SnsTopicArn"] !== undefined) { - contents.SnsTopicArn = output["SnsTopicArn"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["SubscriptionCreationTime"] !== undefined) { - contents.SubscriptionCreationTime = output["SubscriptionCreationTime"]; - } - if (output["CustomerAwsId"] !== undefined) { - contents.CustomerAwsId = output["CustomerAwsId"]; - } - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; - } return contents; }; @@ -22927,41 +23015,44 @@ const deserializeAws_queryEventSubscriptionsMessage = ( const deserializeAws_queryExportTask = (output: any, context: __SerdeContext): ExportTask => { let contents: any = { IamRoleArn: undefined, - TotalExtractedDataInGB: undefined, - SourceArn: undefined, - S3Bucket: undefined, + KmsKeyId: undefined, SnapshotTime: undefined, - Status: undefined, + SourceArn: undefined, + WarningMessage: undefined, ExportTaskIdentifier: undefined, + Status: undefined, + TaskStartTime: undefined, FailureCause: undefined, PercentProgress: undefined, S3Prefix: undefined, - KmsKeyId: undefined, TaskEndTime: undefined, + TotalExtractedDataInGB: undefined, + S3Bucket: undefined, ExportOnly: undefined, - WarningMessage: undefined, - TaskStartTime: undefined, }; if (output["IamRoleArn"] !== undefined) { contents.IamRoleArn = output["IamRoleArn"]; } - if (output["TotalExtractedDataInGB"] !== undefined) { - contents.TotalExtractedDataInGB = parseInt(output["TotalExtractedDataInGB"]); + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; + } + if (output["SnapshotTime"] !== undefined) { + contents.SnapshotTime = new Date(output["SnapshotTime"]); } if (output["SourceArn"] !== undefined) { contents.SourceArn = output["SourceArn"]; } - if (output["S3Bucket"] !== undefined) { - contents.S3Bucket = output["S3Bucket"]; + if (output["WarningMessage"] !== undefined) { + contents.WarningMessage = output["WarningMessage"]; } - if (output["SnapshotTime"] !== undefined) { - contents.SnapshotTime = new Date(output["SnapshotTime"]); + if (output["ExportTaskIdentifier"] !== undefined) { + contents.ExportTaskIdentifier = output["ExportTaskIdentifier"]; } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["ExportTaskIdentifier"] !== undefined) { - contents.ExportTaskIdentifier = output["ExportTaskIdentifier"]; + if (output["TaskStartTime"] !== undefined) { + contents.TaskStartTime = new Date(output["TaskStartTime"]); } if (output["FailureCause"] !== undefined) { contents.FailureCause = output["FailureCause"]; @@ -22972,12 +23063,15 @@ const deserializeAws_queryExportTask = (output: any, context: __SerdeContext): E if (output["S3Prefix"] !== undefined) { contents.S3Prefix = output["S3Prefix"]; } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; - } if (output["TaskEndTime"] !== undefined) { contents.TaskEndTime = new Date(output["TaskEndTime"]); } + if (output["TotalExtractedDataInGB"] !== undefined) { + contents.TotalExtractedDataInGB = parseInt(output["TotalExtractedDataInGB"]); + } + if (output["S3Bucket"] !== undefined) { + contents.S3Bucket = output["S3Bucket"]; + } if (output.ExportOnly === "") { contents.ExportOnly = []; } @@ -22987,12 +23081,6 @@ const deserializeAws_queryExportTask = (output: any, context: __SerdeContext): E context ); } - if (output["WarningMessage"] !== undefined) { - contents.WarningMessage = output["WarningMessage"]; - } - if (output["TaskStartTime"] !== undefined) { - contents.TaskStartTime = new Date(output["TaskStartTime"]); - } return contents; }; @@ -23025,12 +23113,9 @@ const deserializeAws_queryExportTasksList = (output: any, context: __SerdeContex const deserializeAws_queryExportTasksMessage = (output: any, context: __SerdeContext): ExportTasksMessage => { let contents: any = { - Marker: undefined, ExportTasks: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.ExportTasks === "") { contents.ExportTasks = []; } @@ -23040,6 +23125,9 @@ const deserializeAws_queryExportTasksMessage = (output: any, context: __SerdeCon context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -23059,34 +23147,22 @@ const deserializeAws_queryFeatureNameList = (output: any, context: __SerdeContex const deserializeAws_queryGlobalCluster = (output: any, context: __SerdeContext): GlobalCluster => { let contents: any = { - Engine: undefined, - GlobalClusterResourceId: undefined, EngineVersion: undefined, - GlobalClusterIdentifier: undefined, - GlobalClusterArn: undefined, - StorageEncrypted: undefined, + GlobalClusterResourceId: undefined, GlobalClusterMembers: undefined, DeletionProtection: undefined, - DatabaseName: undefined, + StorageEncrypted: undefined, Status: undefined, + DatabaseName: undefined, + Engine: undefined, + GlobalClusterArn: undefined, + GlobalClusterIdentifier: undefined, }; - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; - } - if (output["GlobalClusterResourceId"] !== undefined) { - contents.GlobalClusterResourceId = output["GlobalClusterResourceId"]; - } if (output["EngineVersion"] !== undefined) { contents.EngineVersion = output["EngineVersion"]; } - if (output["GlobalClusterIdentifier"] !== undefined) { - contents.GlobalClusterIdentifier = output["GlobalClusterIdentifier"]; - } - if (output["GlobalClusterArn"] !== undefined) { - contents.GlobalClusterArn = output["GlobalClusterArn"]; - } - if (output["StorageEncrypted"] !== undefined) { - contents.StorageEncrypted = output["StorageEncrypted"] == "true"; + if (output["GlobalClusterResourceId"] !== undefined) { + contents.GlobalClusterResourceId = output["GlobalClusterResourceId"]; } if (output.GlobalClusterMembers === "") { contents.GlobalClusterMembers = []; @@ -23103,12 +23179,24 @@ const deserializeAws_queryGlobalCluster = (output: any, context: __SerdeContext) if (output["DeletionProtection"] !== undefined) { contents.DeletionProtection = output["DeletionProtection"] == "true"; } - if (output["DatabaseName"] !== undefined) { - contents.DatabaseName = output["DatabaseName"]; + if (output["StorageEncrypted"] !== undefined) { + contents.StorageEncrypted = output["StorageEncrypted"] == "true"; } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["DatabaseName"] !== undefined) { + contents.DatabaseName = output["DatabaseName"]; + } + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; + } + if (output["GlobalClusterArn"] !== undefined) { + contents.GlobalClusterArn = output["GlobalClusterArn"]; + } + if (output["GlobalClusterIdentifier"] !== undefined) { + contents.GlobalClusterIdentifier = output["GlobalClusterIdentifier"]; + } return contents; }; @@ -23131,25 +23219,25 @@ const deserializeAws_queryGlobalClusterList = (output: any, context: __SerdeCont const deserializeAws_queryGlobalClusterMember = (output: any, context: __SerdeContext): GlobalClusterMember => { let contents: any = { + DBClusterArn: undefined, GlobalWriteForwardingStatus: undefined, - IsWriter: undefined, Readers: undefined, - DBClusterArn: undefined, + IsWriter: undefined, }; + if (output["DBClusterArn"] !== undefined) { + contents.DBClusterArn = output["DBClusterArn"]; + } if (output["GlobalWriteForwardingStatus"] !== undefined) { contents.GlobalWriteForwardingStatus = output["GlobalWriteForwardingStatus"]; } - if (output["IsWriter"] !== undefined) { - contents.IsWriter = output["IsWriter"] == "true"; - } if (output.Readers === "") { contents.Readers = []; } if (output["Readers"] !== undefined && output["Readers"]["member"] !== undefined) { contents.Readers = deserializeAws_queryReadersArnList(__getArrayIfSingleItem(output["Readers"]["member"]), context); } - if (output["DBClusterArn"] !== undefined) { - contents.DBClusterArn = output["DBClusterArn"]; + if (output["IsWriter"] !== undefined) { + contents.IsWriter = output["IsWriter"] == "true"; } return contents; }; @@ -23186,12 +23274,9 @@ const deserializeAws_queryGlobalClusterQuotaExceededFault = ( const deserializeAws_queryGlobalClustersMessage = (output: any, context: __SerdeContext): GlobalClustersMessage => { let contents: any = { - Marker: undefined, GlobalClusters: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.GlobalClusters === "") { contents.GlobalClusters = []; } @@ -23201,6 +23286,9 @@ const deserializeAws_queryGlobalClustersMessage = (output: any, context: __Serde context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -23229,39 +23317,39 @@ const deserializeAws_queryIamRoleNotFoundFault = (output: any, context: __SerdeC const deserializeAws_queryInstallationMedia = (output: any, context: __SerdeContext): InstallationMedia => { let contents: any = { + OSInstallationMediaPath: undefined, + CustomAvailabilityZoneId: undefined, + EngineInstallationMediaPath: undefined, + InstallationMediaId: undefined, Status: undefined, EngineVersion: undefined, - CustomAvailabilityZoneId: undefined, - OSInstallationMediaPath: undefined, Engine: undefined, FailureCause: undefined, - InstallationMediaId: undefined, - EngineInstallationMediaPath: undefined, }; + if (output["OSInstallationMediaPath"] !== undefined) { + contents.OSInstallationMediaPath = output["OSInstallationMediaPath"]; + } + if (output["CustomAvailabilityZoneId"] !== undefined) { + contents.CustomAvailabilityZoneId = output["CustomAvailabilityZoneId"]; + } + if (output["EngineInstallationMediaPath"] !== undefined) { + contents.EngineInstallationMediaPath = output["EngineInstallationMediaPath"]; + } + if (output["InstallationMediaId"] !== undefined) { + contents.InstallationMediaId = output["InstallationMediaId"]; + } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } if (output["EngineVersion"] !== undefined) { contents.EngineVersion = output["EngineVersion"]; } - if (output["CustomAvailabilityZoneId"] !== undefined) { - contents.CustomAvailabilityZoneId = output["CustomAvailabilityZoneId"]; - } - if (output["OSInstallationMediaPath"] !== undefined) { - contents.OSInstallationMediaPath = output["OSInstallationMediaPath"]; - } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; } if (output["FailureCause"] !== undefined) { contents.FailureCause = deserializeAws_queryInstallationMediaFailureCause(output["FailureCause"], context); } - if (output["InstallationMediaId"] !== undefined) { - contents.InstallationMediaId = output["InstallationMediaId"]; - } - if (output["EngineInstallationMediaPath"] !== undefined) { - contents.EngineInstallationMediaPath = output["EngineInstallationMediaPath"]; - } return contents; }; @@ -23300,12 +23388,9 @@ const deserializeAws_queryInstallationMediaMessage = ( context: __SerdeContext ): InstallationMediaMessage => { let contents: any = { - Marker: undefined, InstallationMedia: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.InstallationMedia === "") { contents.InstallationMedia = []; } @@ -23315,6 +23400,9 @@ const deserializeAws_queryInstallationMediaMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -23344,6 +23432,19 @@ const deserializeAws_queryInstanceQuotaExceededFault = ( return contents; }; +const deserializeAws_queryInsufficientAvailableIPsInSubnetFault = ( + output: any, + context: __SerdeContext +): InsufficientAvailableIPsInSubnetFault => { + let contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = output["message"]; + } + return contents; +}; + const deserializeAws_queryInsufficientDBClusterCapacityFault = ( output: any, context: __SerdeContext @@ -23672,15 +23773,15 @@ const deserializeAws_queryInvalidVPCNetworkStateFault = ( const deserializeAws_queryIPRange = (output: any, context: __SerdeContext): IPRange => { let contents: any = { - CIDRIP: undefined, Status: undefined, + CIDRIP: undefined, }; - if (output["CIDRIP"] !== undefined) { - contents.CIDRIP = output["CIDRIP"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["CIDRIP"] !== undefined) { + contents.CIDRIP = output["CIDRIP"]; + } return contents; }; @@ -23878,22 +23979,16 @@ const deserializeAws_queryModifyOptionGroupResult = (output: any, context: __Ser const deserializeAws_queryOption = (output: any, context: __SerdeContext): Option => { let contents: any = { + OptionSettings: undefined, + Persistent: undefined, + DBSecurityGroupMemberships: undefined, + OptionName: undefined, OptionVersion: undefined, OptionDescription: undefined, - OptionSettings: undefined, - Port: undefined, VpcSecurityGroupMemberships: undefined, + Port: undefined, Permanent: undefined, - Persistent: undefined, - OptionName: undefined, - DBSecurityGroupMemberships: undefined, }; - if (output["OptionVersion"] !== undefined) { - contents.OptionVersion = output["OptionVersion"]; - } - if (output["OptionDescription"] !== undefined) { - contents.OptionDescription = output["OptionDescription"]; - } if (output.OptionSettings === "") { contents.OptionSettings = []; } @@ -23903,83 +23998,89 @@ const deserializeAws_queryOption = (output: any, context: __SerdeContext): Optio context ); } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["Persistent"] !== undefined) { + contents.Persistent = output["Persistent"] == "true"; } - if (output.VpcSecurityGroupMemberships === "") { - contents.VpcSecurityGroupMemberships = []; + if (output.DBSecurityGroupMemberships === "") { + contents.DBSecurityGroupMemberships = []; } if ( - output["VpcSecurityGroupMemberships"] !== undefined && - output["VpcSecurityGroupMemberships"]["VpcSecurityGroupMembership"] !== undefined + output["DBSecurityGroupMemberships"] !== undefined && + output["DBSecurityGroupMemberships"]["DBSecurityGroup"] !== undefined ) { - contents.VpcSecurityGroupMemberships = deserializeAws_queryVpcSecurityGroupMembershipList( - __getArrayIfSingleItem(output["VpcSecurityGroupMemberships"]["VpcSecurityGroupMembership"]), + contents.DBSecurityGroupMemberships = deserializeAws_queryDBSecurityGroupMembershipList( + __getArrayIfSingleItem(output["DBSecurityGroupMemberships"]["DBSecurityGroup"]), context ); } - if (output["Permanent"] !== undefined) { - contents.Permanent = output["Permanent"] == "true"; - } - if (output["Persistent"] !== undefined) { - contents.Persistent = output["Persistent"] == "true"; - } if (output["OptionName"] !== undefined) { contents.OptionName = output["OptionName"]; } - if (output.DBSecurityGroupMemberships === "") { - contents.DBSecurityGroupMemberships = []; + if (output["OptionVersion"] !== undefined) { + contents.OptionVersion = output["OptionVersion"]; + } + if (output["OptionDescription"] !== undefined) { + contents.OptionDescription = output["OptionDescription"]; + } + if (output.VpcSecurityGroupMemberships === "") { + contents.VpcSecurityGroupMemberships = []; } if ( - output["DBSecurityGroupMemberships"] !== undefined && - output["DBSecurityGroupMemberships"]["DBSecurityGroup"] !== undefined + output["VpcSecurityGroupMemberships"] !== undefined && + output["VpcSecurityGroupMemberships"]["VpcSecurityGroupMembership"] !== undefined ) { - contents.DBSecurityGroupMemberships = deserializeAws_queryDBSecurityGroupMembershipList( - __getArrayIfSingleItem(output["DBSecurityGroupMemberships"]["DBSecurityGroup"]), + contents.VpcSecurityGroupMemberships = deserializeAws_queryVpcSecurityGroupMembershipList( + __getArrayIfSingleItem(output["VpcSecurityGroupMemberships"]["VpcSecurityGroupMembership"]), context ); } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } + if (output["Permanent"] !== undefined) { + contents.Permanent = output["Permanent"] == "true"; + } return contents; }; const deserializeAws_queryOptionGroup = (output: any, context: __SerdeContext): OptionGroup => { let contents: any = { - OptionGroupDescription: undefined, - Options: undefined, - OptionGroupArn: undefined, EngineName: undefined, - MajorEngineVersion: undefined, OptionGroupName: undefined, + OptionGroupArn: undefined, VpcId: undefined, + OptionGroupDescription: undefined, AllowsVpcAndNonVpcInstanceMemberships: undefined, + MajorEngineVersion: undefined, + Options: undefined, }; - if (output["OptionGroupDescription"] !== undefined) { - contents.OptionGroupDescription = output["OptionGroupDescription"]; - } - if (output.Options === "") { - contents.Options = []; - } - if (output["Options"] !== undefined && output["Options"]["Option"] !== undefined) { - contents.Options = deserializeAws_queryOptionsList(__getArrayIfSingleItem(output["Options"]["Option"]), context); - } - if (output["OptionGroupArn"] !== undefined) { - contents.OptionGroupArn = output["OptionGroupArn"]; - } if (output["EngineName"] !== undefined) { contents.EngineName = output["EngineName"]; } - if (output["MajorEngineVersion"] !== undefined) { - contents.MajorEngineVersion = output["MajorEngineVersion"]; - } if (output["OptionGroupName"] !== undefined) { contents.OptionGroupName = output["OptionGroupName"]; } + if (output["OptionGroupArn"] !== undefined) { + contents.OptionGroupArn = output["OptionGroupArn"]; + } if (output["VpcId"] !== undefined) { contents.VpcId = output["VpcId"]; } + if (output["OptionGroupDescription"] !== undefined) { + contents.OptionGroupDescription = output["OptionGroupDescription"]; + } if (output["AllowsVpcAndNonVpcInstanceMemberships"] !== undefined) { contents.AllowsVpcAndNonVpcInstanceMemberships = output["AllowsVpcAndNonVpcInstanceMemberships"] == "true"; } + if (output["MajorEngineVersion"] !== undefined) { + contents.MajorEngineVersion = output["MajorEngineVersion"]; + } + if (output.Options === "") { + contents.Options = []; + } + if (output["Options"] !== undefined && output["Options"]["Option"] !== undefined) { + contents.Options = deserializeAws_queryOptionsList(__getArrayIfSingleItem(output["Options"]["Option"]), context); + } return contents; }; @@ -24032,46 +24133,55 @@ const deserializeAws_queryOptionGroupNotFoundFault = ( const deserializeAws_queryOptionGroupOption = (output: any, context: __SerdeContext): OptionGroupOption => { let contents: any = { - EngineName: undefined, - OptionGroupOptionSettings: undefined, - DefaultPort: undefined, - Permanent: undefined, - RequiresAutoMinorEngineVersionUpgrade: undefined, - OptionsDependedOn: undefined, + OptionsConflictsWith: undefined, + OptionGroupOptionVersions: undefined, PortRequired: undefined, + EngineName: undefined, SupportsOptionVersionDowngrade: undefined, + OptionsDependedOn: undefined, + RequiresAutoMinorEngineVersionUpgrade: undefined, + Permanent: undefined, + DefaultPort: undefined, Name: undefined, + VpcOnly: undefined, + MinimumRequiredMinorEngineVersion: undefined, Persistent: undefined, MajorEngineVersion: undefined, + OptionGroupOptionSettings: undefined, Description: undefined, - OptionsConflictsWith: undefined, - MinimumRequiredMinorEngineVersion: undefined, - OptionGroupOptionVersions: undefined, - VpcOnly: undefined, }; - if (output["EngineName"] !== undefined) { - contents.EngineName = output["EngineName"]; + if (output.OptionsConflictsWith === "") { + contents.OptionsConflictsWith = []; } - if (output.OptionGroupOptionSettings === "") { - contents.OptionGroupOptionSettings = []; + if ( + output["OptionsConflictsWith"] !== undefined && + output["OptionsConflictsWith"]["OptionConflictName"] !== undefined + ) { + contents.OptionsConflictsWith = deserializeAws_queryOptionsConflictsWith( + __getArrayIfSingleItem(output["OptionsConflictsWith"]["OptionConflictName"]), + context + ); + } + if (output.OptionGroupOptionVersions === "") { + contents.OptionGroupOptionVersions = []; } if ( - output["OptionGroupOptionSettings"] !== undefined && - output["OptionGroupOptionSettings"]["OptionGroupOptionSetting"] !== undefined + output["OptionGroupOptionVersions"] !== undefined && + output["OptionGroupOptionVersions"]["OptionVersion"] !== undefined ) { - contents.OptionGroupOptionSettings = deserializeAws_queryOptionGroupOptionSettingsList( - __getArrayIfSingleItem(output["OptionGroupOptionSettings"]["OptionGroupOptionSetting"]), + contents.OptionGroupOptionVersions = deserializeAws_queryOptionGroupOptionVersionsList( + __getArrayIfSingleItem(output["OptionGroupOptionVersions"]["OptionVersion"]), context ); } - if (output["DefaultPort"] !== undefined) { - contents.DefaultPort = parseInt(output["DefaultPort"]); + if (output["PortRequired"] !== undefined) { + contents.PortRequired = output["PortRequired"] == "true"; } - if (output["Permanent"] !== undefined) { - contents.Permanent = output["Permanent"] == "true"; + if (output["EngineName"] !== undefined) { + contents.EngineName = output["EngineName"]; } - if (output["RequiresAutoMinorEngineVersionUpgrade"] !== undefined) { - contents.RequiresAutoMinorEngineVersionUpgrade = output["RequiresAutoMinorEngineVersionUpgrade"] == "true"; + if (output["SupportsOptionVersionDowngrade"] !== undefined) { + contents.SupportsOptionVersionDowngrade = output["SupportsOptionVersionDowngrade"] == "true"; } if (output.OptionsDependedOn === "") { contents.OptionsDependedOn = []; @@ -24082,53 +24192,44 @@ const deserializeAws_queryOptionGroupOption = (output: any, context: __SerdeCont context ); } - if (output["PortRequired"] !== undefined) { - contents.PortRequired = output["PortRequired"] == "true"; + if (output["RequiresAutoMinorEngineVersionUpgrade"] !== undefined) { + contents.RequiresAutoMinorEngineVersionUpgrade = output["RequiresAutoMinorEngineVersionUpgrade"] == "true"; } - if (output["SupportsOptionVersionDowngrade"] !== undefined) { - contents.SupportsOptionVersionDowngrade = output["SupportsOptionVersionDowngrade"] == "true"; + if (output["Permanent"] !== undefined) { + contents.Permanent = output["Permanent"] == "true"; + } + if (output["DefaultPort"] !== undefined) { + contents.DefaultPort = parseInt(output["DefaultPort"]); } if (output["Name"] !== undefined) { contents.Name = output["Name"]; } + if (output["VpcOnly"] !== undefined) { + contents.VpcOnly = output["VpcOnly"] == "true"; + } + if (output["MinimumRequiredMinorEngineVersion"] !== undefined) { + contents.MinimumRequiredMinorEngineVersion = output["MinimumRequiredMinorEngineVersion"]; + } if (output["Persistent"] !== undefined) { contents.Persistent = output["Persistent"] == "true"; } if (output["MajorEngineVersion"] !== undefined) { contents.MajorEngineVersion = output["MajorEngineVersion"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } - if (output.OptionsConflictsWith === "") { - contents.OptionsConflictsWith = []; - } - if ( - output["OptionsConflictsWith"] !== undefined && - output["OptionsConflictsWith"]["OptionConflictName"] !== undefined - ) { - contents.OptionsConflictsWith = deserializeAws_queryOptionsConflictsWith( - __getArrayIfSingleItem(output["OptionsConflictsWith"]["OptionConflictName"]), - context - ); - } - if (output["MinimumRequiredMinorEngineVersion"] !== undefined) { - contents.MinimumRequiredMinorEngineVersion = output["MinimumRequiredMinorEngineVersion"]; - } - if (output.OptionGroupOptionVersions === "") { - contents.OptionGroupOptionVersions = []; + if (output.OptionGroupOptionSettings === "") { + contents.OptionGroupOptionSettings = []; } if ( - output["OptionGroupOptionVersions"] !== undefined && - output["OptionGroupOptionVersions"]["OptionVersion"] !== undefined + output["OptionGroupOptionSettings"] !== undefined && + output["OptionGroupOptionSettings"]["OptionGroupOptionSetting"] !== undefined ) { - contents.OptionGroupOptionVersions = deserializeAws_queryOptionGroupOptionVersionsList( - __getArrayIfSingleItem(output["OptionGroupOptionVersions"]["OptionVersion"]), + contents.OptionGroupOptionSettings = deserializeAws_queryOptionGroupOptionSettingsList( + __getArrayIfSingleItem(output["OptionGroupOptionSettings"]["OptionGroupOptionSetting"]), context ); } - if (output["VpcOnly"] !== undefined) { - contents.VpcOnly = output["VpcOnly"] == "true"; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } return contents; }; @@ -24138,17 +24239,32 @@ const deserializeAws_queryOptionGroupOptionSetting = ( context: __SerdeContext ): OptionGroupOptionSetting => { let contents: any = { - IsModifiable: undefined, - MinimumEngineVersionPerAllowedValue: undefined, SettingName: undefined, - SettingDescription: undefined, - DefaultValue: undefined, ApplyType: undefined, + DefaultValue: undefined, IsRequired: undefined, AllowedValues: undefined, + SettingDescription: undefined, + MinimumEngineVersionPerAllowedValue: undefined, + IsModifiable: undefined, }; - if (output["IsModifiable"] !== undefined) { - contents.IsModifiable = output["IsModifiable"] == "true"; + if (output["SettingName"] !== undefined) { + contents.SettingName = output["SettingName"]; + } + if (output["ApplyType"] !== undefined) { + contents.ApplyType = output["ApplyType"]; + } + if (output["DefaultValue"] !== undefined) { + contents.DefaultValue = output["DefaultValue"]; + } + if (output["IsRequired"] !== undefined) { + contents.IsRequired = output["IsRequired"] == "true"; + } + if (output["AllowedValues"] !== undefined) { + contents.AllowedValues = output["AllowedValues"]; + } + if (output["SettingDescription"] !== undefined) { + contents.SettingDescription = output["SettingDescription"]; } if (output.MinimumEngineVersionPerAllowedValue === "") { contents.MinimumEngineVersionPerAllowedValue = []; @@ -24162,23 +24278,8 @@ const deserializeAws_queryOptionGroupOptionSetting = ( context ); } - if (output["SettingName"] !== undefined) { - contents.SettingName = output["SettingName"]; - } - if (output["SettingDescription"] !== undefined) { - contents.SettingDescription = output["SettingDescription"]; - } - if (output["DefaultValue"] !== undefined) { - contents.DefaultValue = output["DefaultValue"]; - } - if (output["ApplyType"] !== undefined) { - contents.ApplyType = output["ApplyType"]; - } - if (output["IsRequired"] !== undefined) { - contents.IsRequired = output["IsRequired"] == "true"; - } - if (output["AllowedValues"] !== undefined) { - contents.AllowedValues = output["AllowedValues"]; + if (output["IsModifiable"] !== undefined) { + contents.IsModifiable = output["IsModifiable"] == "true"; } return contents; }; @@ -24268,43 +24369,43 @@ const deserializeAws_queryOptionsDependedOn = (output: any, context: __SerdeCont const deserializeAws_queryOptionSetting = (output: any, context: __SerdeContext): OptionSetting => { let contents: any = { - IsCollection: undefined, - DefaultValue: undefined, - ApplyType: undefined, - Description: undefined, - DataType: undefined, - IsModifiable: undefined, Name: undefined, + DataType: undefined, Value: undefined, + ApplyType: undefined, + DefaultValue: undefined, + IsModifiable: undefined, AllowedValues: undefined, + IsCollection: undefined, + Description: undefined, }; - if (output["IsCollection"] !== undefined) { - contents.IsCollection = output["IsCollection"] == "true"; + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; } - if (output["DefaultValue"] !== undefined) { - contents.DefaultValue = output["DefaultValue"]; + if (output["DataType"] !== undefined) { + contents.DataType = output["DataType"]; + } + if (output["Value"] !== undefined) { + contents.Value = output["Value"]; } if (output["ApplyType"] !== undefined) { contents.ApplyType = output["ApplyType"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } - if (output["DataType"] !== undefined) { - contents.DataType = output["DataType"]; + if (output["DefaultValue"] !== undefined) { + contents.DefaultValue = output["DefaultValue"]; } if (output["IsModifiable"] !== undefined) { contents.IsModifiable = output["IsModifiable"] == "true"; } - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } - if (output["Value"] !== undefined) { - contents.Value = output["Value"]; - } if (output["AllowedValues"] !== undefined) { contents.AllowedValues = output["AllowedValues"]; } + if (output["IsCollection"] !== undefined) { + contents.IsCollection = output["IsCollection"] == "true"; + } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } return contents; }; @@ -24335,96 +24436,63 @@ const deserializeAws_queryOrderableDBInstanceOption = ( context: __SerdeContext ): OrderableDBInstanceOption => { let contents: any = { - Vpc: undefined, - MultiAZCapable: undefined, - MaxStorageSize: undefined, - SupportedEngineModes: undefined, + SupportsStorageEncryption: undefined, + SupportsKerberosAuthentication: undefined, MaxIopsPerGib: undefined, - ReadReplicaCapable: undefined, SupportsIAMDatabaseAuthentication: undefined, - SupportsKerberosAuthentication: undefined, - SupportsStorageAutoscaling: undefined, - SupportsStorageEncryption: undefined, - OutpostCapable: undefined, - MinIopsPerGib: undefined, - Engine: undefined, - DBInstanceClass: undefined, - MinStorageSize: undefined, - MinIopsPerDbInstance: undefined, + MultiAZCapable: undefined, StorageType: undefined, - MaxIopsPerDbInstance: undefined, - EngineVersion: undefined, + Vpc: undefined, + MinIopsPerDbInstance: undefined, + MaxStorageSize: undefined, + SupportsGlobalDatabases: undefined, AvailabilityZones: undefined, - SupportsEnhancedMonitoring: undefined, - AvailableProcessorFeatures: undefined, - SupportsIops: undefined, LicenseModel: undefined, + AvailableProcessorFeatures: undefined, + SupportedEngineModes: undefined, SupportsPerformanceInsights: undefined, + SupportsEnhancedMonitoring: undefined, AvailabilityZoneGroup: undefined, - SupportsGlobalDatabases: undefined, + SupportsIops: undefined, + MinStorageSize: undefined, + EngineVersion: undefined, + OutpostCapable: undefined, + DBInstanceClass: undefined, + MinIopsPerGib: undefined, + Engine: undefined, + SupportsStorageAutoscaling: undefined, + ReadReplicaCapable: undefined, + MaxIopsPerDbInstance: undefined, }; - if (output["Vpc"] !== undefined) { - contents.Vpc = output["Vpc"] == "true"; - } - if (output["MultiAZCapable"] !== undefined) { - contents.MultiAZCapable = output["MultiAZCapable"] == "true"; - } - if (output["MaxStorageSize"] !== undefined) { - contents.MaxStorageSize = parseInt(output["MaxStorageSize"]); - } - if (output.SupportedEngineModes === "") { - contents.SupportedEngineModes = []; + if (output["SupportsStorageEncryption"] !== undefined) { + contents.SupportsStorageEncryption = output["SupportsStorageEncryption"] == "true"; } - if (output["SupportedEngineModes"] !== undefined && output["SupportedEngineModes"]["member"] !== undefined) { - contents.SupportedEngineModes = deserializeAws_queryEngineModeList( - __getArrayIfSingleItem(output["SupportedEngineModes"]["member"]), - context - ); + if (output["SupportsKerberosAuthentication"] !== undefined) { + contents.SupportsKerberosAuthentication = output["SupportsKerberosAuthentication"] == "true"; } if (output["MaxIopsPerGib"] !== undefined) { contents.MaxIopsPerGib = parseFloat(output["MaxIopsPerGib"]); } - if (output["ReadReplicaCapable"] !== undefined) { - contents.ReadReplicaCapable = output["ReadReplicaCapable"] == "true"; - } if (output["SupportsIAMDatabaseAuthentication"] !== undefined) { contents.SupportsIAMDatabaseAuthentication = output["SupportsIAMDatabaseAuthentication"] == "true"; } - if (output["SupportsKerberosAuthentication"] !== undefined) { - contents.SupportsKerberosAuthentication = output["SupportsKerberosAuthentication"] == "true"; - } - if (output["SupportsStorageAutoscaling"] !== undefined) { - contents.SupportsStorageAutoscaling = output["SupportsStorageAutoscaling"] == "true"; - } - if (output["SupportsStorageEncryption"] !== undefined) { - contents.SupportsStorageEncryption = output["SupportsStorageEncryption"] == "true"; - } - if (output["OutpostCapable"] !== undefined) { - contents.OutpostCapable = output["OutpostCapable"] == "true"; - } - if (output["MinIopsPerGib"] !== undefined) { - contents.MinIopsPerGib = parseFloat(output["MinIopsPerGib"]); - } - if (output["Engine"] !== undefined) { - contents.Engine = output["Engine"]; + if (output["MultiAZCapable"] !== undefined) { + contents.MultiAZCapable = output["MultiAZCapable"] == "true"; } - if (output["DBInstanceClass"] !== undefined) { - contents.DBInstanceClass = output["DBInstanceClass"]; + if (output["StorageType"] !== undefined) { + contents.StorageType = output["StorageType"]; } - if (output["MinStorageSize"] !== undefined) { - contents.MinStorageSize = parseInt(output["MinStorageSize"]); + if (output["Vpc"] !== undefined) { + contents.Vpc = output["Vpc"] == "true"; } if (output["MinIopsPerDbInstance"] !== undefined) { contents.MinIopsPerDbInstance = parseInt(output["MinIopsPerDbInstance"]); } - if (output["StorageType"] !== undefined) { - contents.StorageType = output["StorageType"]; - } - if (output["MaxIopsPerDbInstance"] !== undefined) { - contents.MaxIopsPerDbInstance = parseInt(output["MaxIopsPerDbInstance"]); + if (output["MaxStorageSize"] !== undefined) { + contents.MaxStorageSize = parseInt(output["MaxStorageSize"]); } - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; + if (output["SupportsGlobalDatabases"] !== undefined) { + contents.SupportsGlobalDatabases = output["SupportsGlobalDatabases"] == "true"; } if (output.AvailabilityZones === "") { contents.AvailabilityZones = []; @@ -24435,8 +24503,8 @@ const deserializeAws_queryOrderableDBInstanceOption = ( context ); } - if (output["SupportsEnhancedMonitoring"] !== undefined) { - contents.SupportsEnhancedMonitoring = output["SupportsEnhancedMonitoring"] == "true"; + if (output["LicenseModel"] !== undefined) { + contents.LicenseModel = output["LicenseModel"]; } if (output.AvailableProcessorFeatures === "") { contents.AvailableProcessorFeatures = []; @@ -24450,20 +24518,53 @@ const deserializeAws_queryOrderableDBInstanceOption = ( context ); } - if (output["SupportsIops"] !== undefined) { - contents.SupportsIops = output["SupportsIops"] == "true"; + if (output.SupportedEngineModes === "") { + contents.SupportedEngineModes = []; } - if (output["LicenseModel"] !== undefined) { - contents.LicenseModel = output["LicenseModel"]; + if (output["SupportedEngineModes"] !== undefined && output["SupportedEngineModes"]["member"] !== undefined) { + contents.SupportedEngineModes = deserializeAws_queryEngineModeList( + __getArrayIfSingleItem(output["SupportedEngineModes"]["member"]), + context + ); } if (output["SupportsPerformanceInsights"] !== undefined) { contents.SupportsPerformanceInsights = output["SupportsPerformanceInsights"] == "true"; } + if (output["SupportsEnhancedMonitoring"] !== undefined) { + contents.SupportsEnhancedMonitoring = output["SupportsEnhancedMonitoring"] == "true"; + } if (output["AvailabilityZoneGroup"] !== undefined) { contents.AvailabilityZoneGroup = output["AvailabilityZoneGroup"]; } - if (output["SupportsGlobalDatabases"] !== undefined) { - contents.SupportsGlobalDatabases = output["SupportsGlobalDatabases"] == "true"; + if (output["SupportsIops"] !== undefined) { + contents.SupportsIops = output["SupportsIops"] == "true"; + } + if (output["MinStorageSize"] !== undefined) { + contents.MinStorageSize = parseInt(output["MinStorageSize"]); + } + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; + } + if (output["OutpostCapable"] !== undefined) { + contents.OutpostCapable = output["OutpostCapable"] == "true"; + } + if (output["DBInstanceClass"] !== undefined) { + contents.DBInstanceClass = output["DBInstanceClass"]; + } + if (output["MinIopsPerGib"] !== undefined) { + contents.MinIopsPerGib = parseFloat(output["MinIopsPerGib"]); + } + if (output["Engine"] !== undefined) { + contents.Engine = output["Engine"]; + } + if (output["SupportsStorageAutoscaling"] !== undefined) { + contents.SupportsStorageAutoscaling = output["SupportsStorageAutoscaling"] == "true"; + } + if (output["ReadReplicaCapable"] !== undefined) { + contents.ReadReplicaCapable = output["ReadReplicaCapable"] == "true"; + } + if (output["MaxIopsPerDbInstance"] !== undefined) { + contents.MaxIopsPerDbInstance = parseInt(output["MaxIopsPerDbInstance"]); } return contents; }; @@ -24480,9 +24581,12 @@ const deserializeAws_queryOrderableDBInstanceOptionsMessage = ( context: __SerdeContext ): OrderableDBInstanceOptionsMessage => { let contents: any = { - OrderableDBInstanceOptions: undefined, Marker: undefined, + OrderableDBInstanceOptions: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.OrderableDBInstanceOptions === "") { contents.OrderableDBInstanceOptions = []; } @@ -24495,9 +24599,6 @@ const deserializeAws_queryOrderableDBInstanceOptionsMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -24513,42 +24614,18 @@ const deserializeAws_queryOutpost = (output: any, context: __SerdeContext): Outp const deserializeAws_queryParameter = (output: any, context: __SerdeContext): Parameter => { let contents: any = { - Source: undefined, - MinimumEngineVersion: undefined, + SupportedEngineModes: undefined, Description: undefined, - ApplyMethod: undefined, - IsModifiable: undefined, ApplyType: undefined, - DataType: undefined, - ParameterName: undefined, - SupportedEngineModes: undefined, AllowedValues: undefined, ParameterValue: undefined, - }; - if (output["Source"] !== undefined) { - contents.Source = output["Source"]; - } - if (output["MinimumEngineVersion"] !== undefined) { - contents.MinimumEngineVersion = output["MinimumEngineVersion"]; - } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } - if (output["ApplyMethod"] !== undefined) { - contents.ApplyMethod = output["ApplyMethod"]; - } - if (output["IsModifiable"] !== undefined) { - contents.IsModifiable = output["IsModifiable"] == "true"; - } - if (output["ApplyType"] !== undefined) { - contents.ApplyType = output["ApplyType"]; - } - if (output["DataType"] !== undefined) { - contents.DataType = output["DataType"]; - } - if (output["ParameterName"] !== undefined) { - contents.ParameterName = output["ParameterName"]; - } + ParameterName: undefined, + Source: undefined, + DataType: undefined, + MinimumEngineVersion: undefined, + ApplyMethod: undefined, + IsModifiable: undefined, + }; if (output.SupportedEngineModes === "") { contents.SupportedEngineModes = []; } @@ -24558,12 +24635,36 @@ const deserializeAws_queryParameter = (output: any, context: __SerdeContext): Pa context ); } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["ApplyType"] !== undefined) { + contents.ApplyType = output["ApplyType"]; + } if (output["AllowedValues"] !== undefined) { contents.AllowedValues = output["AllowedValues"]; } if (output["ParameterValue"] !== undefined) { contents.ParameterValue = output["ParameterValue"]; } + if (output["ParameterName"] !== undefined) { + contents.ParameterName = output["ParameterName"]; + } + if (output["Source"] !== undefined) { + contents.Source = output["Source"]; + } + if (output["DataType"] !== undefined) { + contents.DataType = output["DataType"]; + } + if (output["MinimumEngineVersion"] !== undefined) { + contents.MinimumEngineVersion = output["MinimumEngineVersion"]; + } + if (output["ApplyMethod"] !== undefined) { + contents.ApplyMethod = output["ApplyMethod"]; + } + if (output["IsModifiable"] !== undefined) { + contents.IsModifiable = output["IsModifiable"] == "true"; + } return contents; }; @@ -24576,18 +24677,9 @@ const deserializeAws_queryPendingCloudwatchLogsExports = ( context: __SerdeContext ): PendingCloudwatchLogsExports => { let contents: any = { - LogTypesToEnable: undefined, LogTypesToDisable: undefined, + LogTypesToEnable: undefined, }; - if (output.LogTypesToEnable === "") { - contents.LogTypesToEnable = []; - } - if (output["LogTypesToEnable"] !== undefined && output["LogTypesToEnable"]["member"] !== undefined) { - contents.LogTypesToEnable = deserializeAws_queryLogTypeList( - __getArrayIfSingleItem(output["LogTypesToEnable"]["member"]), - context - ); - } if (output.LogTypesToDisable === "") { contents.LogTypesToDisable = []; } @@ -24597,6 +24689,15 @@ const deserializeAws_queryPendingCloudwatchLogsExports = ( context ); } + if (output.LogTypesToEnable === "") { + contents.LogTypesToEnable = []; + } + if (output["LogTypesToEnable"] !== undefined && output["LogTypesToEnable"]["member"] !== undefined) { + contents.LogTypesToEnable = deserializeAws_queryLogTypeList( + __getArrayIfSingleItem(output["LogTypesToEnable"]["member"]), + context + ); + } return contents; }; @@ -24605,31 +24706,31 @@ const deserializeAws_queryPendingMaintenanceAction = ( context: __SerdeContext ): PendingMaintenanceAction => { let contents: any = { - Action: undefined, - ForcedApplyDate: undefined, - CurrentApplyDate: undefined, - Description: undefined, AutoAppliedAfterDate: undefined, + CurrentApplyDate: undefined, OptInStatus: undefined, + ForcedApplyDate: undefined, + Action: undefined, + Description: undefined, }; - if (output["Action"] !== undefined) { - contents.Action = output["Action"]; + if (output["AutoAppliedAfterDate"] !== undefined) { + contents.AutoAppliedAfterDate = new Date(output["AutoAppliedAfterDate"]); + } + if (output["CurrentApplyDate"] !== undefined) { + contents.CurrentApplyDate = new Date(output["CurrentApplyDate"]); + } + if (output["OptInStatus"] !== undefined) { + contents.OptInStatus = output["OptInStatus"]; } if (output["ForcedApplyDate"] !== undefined) { contents.ForcedApplyDate = new Date(output["ForcedApplyDate"]); } - if (output["CurrentApplyDate"] !== undefined) { - contents.CurrentApplyDate = new Date(output["CurrentApplyDate"]); + if (output["Action"] !== undefined) { + contents.Action = output["Action"]; } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output["AutoAppliedAfterDate"] !== undefined) { - contents.AutoAppliedAfterDate = new Date(output["AutoAppliedAfterDate"]); - } - if (output["OptInStatus"] !== undefined) { - contents.OptInStatus = output["OptInStatus"]; - } return contents; }; @@ -24652,12 +24753,9 @@ const deserializeAws_queryPendingMaintenanceActionsMessage = ( context: __SerdeContext ): PendingMaintenanceActionsMessage => { let contents: any = { - Marker: undefined, PendingMaintenanceActions: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.PendingMaintenanceActions === "") { contents.PendingMaintenanceActions = []; } @@ -24670,81 +24768,84 @@ const deserializeAws_queryPendingMaintenanceActionsMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; const deserializeAws_queryPendingModifiedValues = (output: any, context: __SerdeContext): PendingModifiedValues => { let contents: any = { - MultiAZ: undefined, - DBInstanceClass: undefined, + CACertificateIdentifier: undefined, + DBInstanceIdentifier: undefined, + DBSubnetGroupName: undefined, + MasterUserPassword: undefined, Iops: undefined, - StorageType: undefined, + DBInstanceClass: undefined, EngineVersion: undefined, - DBSubnetGroupName: undefined, - ProcessorFeatures: undefined, - DBInstanceIdentifier: undefined, - CACertificateIdentifier: undefined, - AllocatedStorage: undefined, - LicenseModel: undefined, PendingCloudwatchLogsExports: undefined, + StorageType: undefined, Port: undefined, + AllocatedStorage: undefined, BackupRetentionPeriod: undefined, - MasterUserPassword: undefined, + MultiAZ: undefined, + LicenseModel: undefined, + ProcessorFeatures: undefined, }; - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"] == "true"; + if (output["CACertificateIdentifier"] !== undefined) { + contents.CACertificateIdentifier = output["CACertificateIdentifier"]; } - if (output["DBInstanceClass"] !== undefined) { - contents.DBInstanceClass = output["DBInstanceClass"]; + if (output["DBInstanceIdentifier"] !== undefined) { + contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; + } + if (output["DBSubnetGroupName"] !== undefined) { + contents.DBSubnetGroupName = output["DBSubnetGroupName"]; + } + if (output["MasterUserPassword"] !== undefined) { + contents.MasterUserPassword = output["MasterUserPassword"]; } if (output["Iops"] !== undefined) { contents.Iops = parseInt(output["Iops"]); } - if (output["StorageType"] !== undefined) { - contents.StorageType = output["StorageType"]; + if (output["DBInstanceClass"] !== undefined) { + contents.DBInstanceClass = output["DBInstanceClass"]; } if (output["EngineVersion"] !== undefined) { contents.EngineVersion = output["EngineVersion"]; } - if (output["DBSubnetGroupName"] !== undefined) { - contents.DBSubnetGroupName = output["DBSubnetGroupName"]; - } - if (output.ProcessorFeatures === "") { - contents.ProcessorFeatures = []; - } - if (output["ProcessorFeatures"] !== undefined && output["ProcessorFeatures"]["ProcessorFeature"] !== undefined) { - contents.ProcessorFeatures = deserializeAws_queryProcessorFeatureList( - __getArrayIfSingleItem(output["ProcessorFeatures"]["ProcessorFeature"]), + if (output["PendingCloudwatchLogsExports"] !== undefined) { + contents.PendingCloudwatchLogsExports = deserializeAws_queryPendingCloudwatchLogsExports( + output["PendingCloudwatchLogsExports"], context ); } - if (output["DBInstanceIdentifier"] !== undefined) { - contents.DBInstanceIdentifier = output["DBInstanceIdentifier"]; + if (output["StorageType"] !== undefined) { + contents.StorageType = output["StorageType"]; } - if (output["CACertificateIdentifier"] !== undefined) { - contents.CACertificateIdentifier = output["CACertificateIdentifier"]; + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } if (output["AllocatedStorage"] !== undefined) { contents.AllocatedStorage = parseInt(output["AllocatedStorage"]); } + if (output["BackupRetentionPeriod"] !== undefined) { + contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); + } + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"] == "true"; + } if (output["LicenseModel"] !== undefined) { contents.LicenseModel = output["LicenseModel"]; } - if (output["PendingCloudwatchLogsExports"] !== undefined) { - contents.PendingCloudwatchLogsExports = deserializeAws_queryPendingCloudwatchLogsExports( - output["PendingCloudwatchLogsExports"], + if (output.ProcessorFeatures === "") { + contents.ProcessorFeatures = []; + } + if (output["ProcessorFeatures"] !== undefined && output["ProcessorFeatures"]["ProcessorFeature"] !== undefined) { + contents.ProcessorFeatures = deserializeAws_queryProcessorFeatureList( + __getArrayIfSingleItem(output["ProcessorFeatures"]["ProcessorFeature"]), context ); } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } - if (output["BackupRetentionPeriod"] !== undefined) { - contents.BackupRetentionPeriod = parseInt(output["BackupRetentionPeriod"]); - } - if (output["MasterUserPassword"] !== undefined) { - contents.MasterUserPassword = output["MasterUserPassword"]; - } return contents; }; @@ -24833,19 +24934,19 @@ const deserializeAws_queryPurchaseReservedDBInstancesOfferingResult = ( const deserializeAws_queryRange = (output: any, context: __SerdeContext): Range => { let contents: any = { - Step: undefined, To: undefined, From: undefined, + Step: undefined, }; - if (output["Step"] !== undefined) { - contents.Step = parseInt(output["Step"]); - } if (output["To"] !== undefined) { contents.To = parseInt(output["To"]); } if (output["From"] !== undefined) { contents.From = parseInt(output["From"]); } + if (output["Step"] !== undefined) { + contents.Step = parseInt(output["Step"]); + } return contents; }; @@ -24944,31 +25045,40 @@ const deserializeAws_queryRemoveSourceIdentifierFromSubscriptionResult = ( const deserializeAws_queryReservedDBInstance = (output: any, context: __SerdeContext): ReservedDBInstance => { let contents: any = { - ReservedDBInstanceId: undefined, - Duration: undefined, - LeaseId: undefined, + ReservedDBInstanceArn: undefined, + MultiAZ: undefined, + DBInstanceCount: undefined, + ReservedDBInstancesOfferingId: undefined, + FixedPrice: undefined, + DBInstanceClass: undefined, ProductDescription: undefined, OfferingType: undefined, CurrencyCode: undefined, - UsagePrice: undefined, RecurringCharges: undefined, - ReservedDBInstancesOfferingId: undefined, - StartTime: undefined, State: undefined, - MultiAZ: undefined, - ReservedDBInstanceArn: undefined, - DBInstanceClass: undefined, - FixedPrice: undefined, - DBInstanceCount: undefined, + StartTime: undefined, + Duration: undefined, + UsagePrice: undefined, + ReservedDBInstanceId: undefined, + LeaseId: undefined, }; - if (output["ReservedDBInstanceId"] !== undefined) { - contents.ReservedDBInstanceId = output["ReservedDBInstanceId"]; + if (output["ReservedDBInstanceArn"] !== undefined) { + contents.ReservedDBInstanceArn = output["ReservedDBInstanceArn"]; } - if (output["Duration"] !== undefined) { - contents.Duration = parseInt(output["Duration"]); + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"] == "true"; } - if (output["LeaseId"] !== undefined) { - contents.LeaseId = output["LeaseId"]; + if (output["DBInstanceCount"] !== undefined) { + contents.DBInstanceCount = parseInt(output["DBInstanceCount"]); + } + if (output["ReservedDBInstancesOfferingId"] !== undefined) { + contents.ReservedDBInstancesOfferingId = output["ReservedDBInstancesOfferingId"]; + } + if (output["FixedPrice"] !== undefined) { + contents.FixedPrice = parseFloat(output["FixedPrice"]); + } + if (output["DBInstanceClass"] !== undefined) { + contents.DBInstanceClass = output["DBInstanceClass"]; } if (output["ProductDescription"] !== undefined) { contents.ProductDescription = output["ProductDescription"]; @@ -24979,9 +25089,6 @@ const deserializeAws_queryReservedDBInstance = (output: any, context: __SerdeCon if (output["CurrencyCode"] !== undefined) { contents.CurrencyCode = output["CurrencyCode"]; } - if (output["UsagePrice"] !== undefined) { - contents.UsagePrice = parseFloat(output["UsagePrice"]); - } if (output.RecurringCharges === "") { contents.RecurringCharges = []; } @@ -24991,29 +25098,23 @@ const deserializeAws_queryReservedDBInstance = (output: any, context: __SerdeCon context ); } - if (output["ReservedDBInstancesOfferingId"] !== undefined) { - contents.ReservedDBInstancesOfferingId = output["ReservedDBInstancesOfferingId"]; - } - if (output["StartTime"] !== undefined) { - contents.StartTime = new Date(output["StartTime"]); - } if (output["State"] !== undefined) { contents.State = output["State"]; } - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"] == "true"; + if (output["StartTime"] !== undefined) { + contents.StartTime = new Date(output["StartTime"]); } - if (output["ReservedDBInstanceArn"] !== undefined) { - contents.ReservedDBInstanceArn = output["ReservedDBInstanceArn"]; + if (output["Duration"] !== undefined) { + contents.Duration = parseInt(output["Duration"]); } - if (output["DBInstanceClass"] !== undefined) { - contents.DBInstanceClass = output["DBInstanceClass"]; + if (output["UsagePrice"] !== undefined) { + contents.UsagePrice = parseFloat(output["UsagePrice"]); } - if (output["FixedPrice"] !== undefined) { - contents.FixedPrice = parseFloat(output["FixedPrice"]); + if (output["ReservedDBInstanceId"] !== undefined) { + contents.ReservedDBInstanceId = output["ReservedDBInstanceId"]; } - if (output["DBInstanceCount"] !== undefined) { - contents.DBInstanceCount = parseInt(output["DBInstanceCount"]); + if (output["LeaseId"] !== undefined) { + contents.LeaseId = output["LeaseId"]; } return contents; }; @@ -25089,41 +25190,20 @@ const deserializeAws_queryReservedDBInstanceQuotaExceededFault = ( const deserializeAws_queryReservedDBInstancesOffering = ( output: any, - context: __SerdeContext -): ReservedDBInstancesOffering => { - let contents: any = { - MultiAZ: undefined, - ReservedDBInstancesOfferingId: undefined, - DBInstanceClass: undefined, - OfferingType: undefined, - ProductDescription: undefined, - Duration: undefined, - UsagePrice: undefined, + context: __SerdeContext +): ReservedDBInstancesOffering => { + let contents: any = { FixedPrice: undefined, CurrencyCode: undefined, RecurringCharges: undefined, + DBInstanceClass: undefined, + Duration: undefined, + ReservedDBInstancesOfferingId: undefined, + ProductDescription: undefined, + OfferingType: undefined, + MultiAZ: undefined, + UsagePrice: undefined, }; - if (output["MultiAZ"] !== undefined) { - contents.MultiAZ = output["MultiAZ"] == "true"; - } - if (output["ReservedDBInstancesOfferingId"] !== undefined) { - contents.ReservedDBInstancesOfferingId = output["ReservedDBInstancesOfferingId"]; - } - if (output["DBInstanceClass"] !== undefined) { - contents.DBInstanceClass = output["DBInstanceClass"]; - } - if (output["OfferingType"] !== undefined) { - contents.OfferingType = output["OfferingType"]; - } - if (output["ProductDescription"] !== undefined) { - contents.ProductDescription = output["ProductDescription"]; - } - if (output["Duration"] !== undefined) { - contents.Duration = parseInt(output["Duration"]); - } - if (output["UsagePrice"] !== undefined) { - contents.UsagePrice = parseFloat(output["UsagePrice"]); - } if (output["FixedPrice"] !== undefined) { contents.FixedPrice = parseFloat(output["FixedPrice"]); } @@ -25139,6 +25219,27 @@ const deserializeAws_queryReservedDBInstancesOffering = ( context ); } + if (output["DBInstanceClass"] !== undefined) { + contents.DBInstanceClass = output["DBInstanceClass"]; + } + if (output["Duration"] !== undefined) { + contents.Duration = parseInt(output["Duration"]); + } + if (output["ReservedDBInstancesOfferingId"] !== undefined) { + contents.ReservedDBInstancesOfferingId = output["ReservedDBInstancesOfferingId"]; + } + if (output["ProductDescription"] !== undefined) { + contents.ProductDescription = output["ProductDescription"]; + } + if (output["OfferingType"] !== undefined) { + contents.OfferingType = output["OfferingType"]; + } + if (output["MultiAZ"] !== undefined) { + contents.MultiAZ = output["MultiAZ"] == "true"; + } + if (output["UsagePrice"] !== undefined) { + contents.UsagePrice = parseFloat(output["UsagePrice"]); + } return contents; }; @@ -25154,9 +25255,12 @@ const deserializeAws_queryReservedDBInstancesOfferingMessage = ( context: __SerdeContext ): ReservedDBInstancesOfferingMessage => { let contents: any = { - ReservedDBInstancesOfferings: undefined, Marker: undefined, + ReservedDBInstancesOfferings: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ReservedDBInstancesOfferings === "") { contents.ReservedDBInstancesOfferings = []; } @@ -25169,9 +25273,6 @@ const deserializeAws_queryReservedDBInstancesOfferingMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -25203,12 +25304,9 @@ const deserializeAws_queryResourcePendingMaintenanceActions = ( context: __SerdeContext ): ResourcePendingMaintenanceActions => { let contents: any = { - ResourceIdentifier: undefined, PendingMaintenanceActionDetails: undefined, + ResourceIdentifier: undefined, }; - if (output["ResourceIdentifier"] !== undefined) { - contents.ResourceIdentifier = output["ResourceIdentifier"]; - } if (output.PendingMaintenanceActionDetails === "") { contents.PendingMaintenanceActionDetails = []; } @@ -25221,6 +25319,9 @@ const deserializeAws_queryResourcePendingMaintenanceActions = ( context ); } + if (output["ResourceIdentifier"] !== undefined) { + contents.ResourceIdentifier = output["ResourceIdentifier"]; + } return contents; }; @@ -25304,15 +25405,15 @@ const deserializeAws_queryRestoreDBInstanceToPointInTimeResult = ( const deserializeAws_queryRestoreWindow = (output: any, context: __SerdeContext): RestoreWindow => { let contents: any = { - EarliestTime: undefined, LatestTime: undefined, + EarliestTime: undefined, }; - if (output["EarliestTime"] !== undefined) { - contents.EarliestTime = new Date(output["EarliestTime"]); - } if (output["LatestTime"] !== undefined) { contents.LatestTime = new Date(output["LatestTime"]); } + if (output["EarliestTime"] !== undefined) { + contents.EarliestTime = new Date(output["EarliestTime"]); + } return contents; }; @@ -25334,27 +25435,27 @@ const deserializeAws_queryScalingConfigurationInfo = ( context: __SerdeContext ): ScalingConfigurationInfo => { let contents: any = { - TimeoutAction: undefined, + MinCapacity: undefined, SecondsUntilAutoPause: undefined, + TimeoutAction: undefined, AutoPause: undefined, MaxCapacity: undefined, - MinCapacity: undefined, }; - if (output["TimeoutAction"] !== undefined) { - contents.TimeoutAction = output["TimeoutAction"]; + if (output["MinCapacity"] !== undefined) { + contents.MinCapacity = parseInt(output["MinCapacity"]); } if (output["SecondsUntilAutoPause"] !== undefined) { contents.SecondsUntilAutoPause = parseInt(output["SecondsUntilAutoPause"]); } + if (output["TimeoutAction"] !== undefined) { + contents.TimeoutAction = output["TimeoutAction"]; + } if (output["AutoPause"] !== undefined) { contents.AutoPause = output["AutoPause"] == "true"; } if (output["MaxCapacity"] !== undefined) { contents.MaxCapacity = parseInt(output["MaxCapacity"]); } - if (output["MinCapacity"] !== undefined) { - contents.MinCapacity = parseInt(output["MinCapacity"]); - } return contents; }; @@ -25433,19 +25534,19 @@ const deserializeAws_querySourceNotFoundFault = (output: any, context: __SerdeCo const deserializeAws_querySourceRegion = (output: any, context: __SerdeContext): SourceRegion => { let contents: any = { - Endpoint: undefined, Status: undefined, RegionName: undefined, + Endpoint: undefined, }; - if (output["Endpoint"] !== undefined) { - contents.Endpoint = output["Endpoint"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } if (output["RegionName"] !== undefined) { contents.RegionName = output["RegionName"]; } + if (output["Endpoint"] !== undefined) { + contents.Endpoint = output["Endpoint"]; + } return contents; }; @@ -25455,9 +25556,12 @@ const deserializeAws_querySourceRegionList = (output: any, context: __SerdeConte const deserializeAws_querySourceRegionMessage = (output: any, context: __SerdeContext): SourceRegionMessage => { let contents: any = { - SourceRegions: undefined, Marker: undefined, + SourceRegions: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.SourceRegions === "") { contents.SourceRegions = []; } @@ -25467,9 +25571,6 @@ const deserializeAws_querySourceRegionMessage = (output: any, context: __SerdeCo context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -25478,26 +25579,26 @@ const deserializeAws_queryStartActivityStreamResponse = ( context: __SerdeContext ): StartActivityStreamResponse => { let contents: any = { - KinesisStreamName: undefined, - KmsKeyId: undefined, - Mode: undefined, Status: undefined, + KinesisStreamName: undefined, ApplyImmediately: undefined, + Mode: undefined, + KmsKeyId: undefined, }; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } if (output["KinesisStreamName"] !== undefined) { contents.KinesisStreamName = output["KinesisStreamName"]; } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["ApplyImmediately"] !== undefined) { + contents.ApplyImmediately = output["ApplyImmediately"] == "true"; } if (output["Mode"] !== undefined) { contents.Mode = output["Mode"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["ApplyImmediately"] !== undefined) { - contents.ApplyImmediately = output["ApplyImmediately"] == "true"; + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; } return contents; }; @@ -25596,19 +25697,19 @@ const deserializeAws_queryStringList = (output: any, context: __SerdeContext): s const deserializeAws_querySubnet = (output: any, context: __SerdeContext): Subnet => { let contents: any = { SubnetIdentifier: undefined, - SubnetStatus: undefined, SubnetAvailabilityZone: undefined, + SubnetStatus: undefined, SubnetOutpost: 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"]; + } if (output["SubnetOutpost"] !== undefined) { contents.SubnetOutpost = deserializeAws_queryOutpost(output["SubnetOutpost"], context); } @@ -25713,18 +25814,18 @@ const deserializeAws_queryTargetGroupList = (output: any, context: __SerdeContex const deserializeAws_queryTargetHealth = (output: any, context: __SerdeContext): TargetHealth => { let contents: any = { - Reason: undefined, - State: undefined, Description: undefined, + State: undefined, + Reason: undefined, }; - if (output["Reason"] !== undefined) { - contents.Reason = output["Reason"]; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } if (output["State"] !== undefined) { contents.State = output["State"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; + if (output["Reason"] !== undefined) { + contents.Reason = output["Reason"]; } return contents; }; @@ -25745,44 +25846,44 @@ const deserializeAws_queryTimezone = (output: any, context: __SerdeContext): Tim const deserializeAws_queryUpgradeTarget = (output: any, context: __SerdeContext): UpgradeTarget => { let contents: any = { - EngineVersion: undefined, - AutoUpgrade: undefined, - IsMajorVersionUpgrade: undefined, Description: undefined, + IsMajorVersionUpgrade: undefined, Engine: undefined, + EngineVersion: undefined, + AutoUpgrade: undefined, }; - if (output["EngineVersion"] !== undefined) { - contents.EngineVersion = output["EngineVersion"]; - } - if (output["AutoUpgrade"] !== undefined) { - contents.AutoUpgrade = output["AutoUpgrade"] == "true"; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; } if (output["IsMajorVersionUpgrade"] !== undefined) { contents.IsMajorVersionUpgrade = output["IsMajorVersionUpgrade"] == "true"; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["Engine"] !== undefined) { contents.Engine = output["Engine"]; } + if (output["EngineVersion"] !== undefined) { + contents.EngineVersion = output["EngineVersion"]; + } + if (output["AutoUpgrade"] !== undefined) { + contents.AutoUpgrade = output["AutoUpgrade"] == "true"; + } return contents; }; const deserializeAws_queryUserAuthConfigInfo = (output: any, context: __SerdeContext): UserAuthConfigInfo => { let contents: any = { - UserName: undefined, SecretArn: undefined, + UserName: undefined, Description: undefined, IAMAuth: undefined, AuthScheme: undefined, }; - if (output["UserName"] !== undefined) { - contents.UserName = output["UserName"]; - } if (output["SecretArn"] !== undefined) { contents.SecretArn = output["SecretArn"]; } + if (output["UserName"] !== undefined) { + contents.UserName = output["UserName"]; + } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } @@ -25804,9 +25905,18 @@ const deserializeAws_queryValidDBInstanceModificationsMessage = ( context: __SerdeContext ): ValidDBInstanceModificationsMessage => { let contents: any = { - ValidProcessorFeatures: undefined, Storage: undefined, + ValidProcessorFeatures: undefined, }; + if (output.Storage === "") { + contents.Storage = []; + } + if (output["Storage"] !== undefined && output["Storage"]["ValidStorageOptions"] !== undefined) { + contents.Storage = deserializeAws_queryValidStorageOptionsList( + __getArrayIfSingleItem(output["Storage"]["ValidStorageOptions"]), + context + ); + } if (output.ValidProcessorFeatures === "") { contents.ValidProcessorFeatures = []; } @@ -25819,26 +25929,29 @@ const deserializeAws_queryValidDBInstanceModificationsMessage = ( context ); } - if (output.Storage === "") { - contents.Storage = []; - } - if (output["Storage"] !== undefined && output["Storage"]["ValidStorageOptions"] !== undefined) { - contents.Storage = deserializeAws_queryValidStorageOptionsList( - __getArrayIfSingleItem(output["Storage"]["ValidStorageOptions"]), - context - ); - } return contents; }; const deserializeAws_queryValidStorageOptions = (output: any, context: __SerdeContext): ValidStorageOptions => { let contents: any = { + SupportsStorageAutoscaling: undefined, + IopsToStorageRatio: undefined, StorageSize: undefined, ProvisionedIops: undefined, StorageType: undefined, - SupportsStorageAutoscaling: undefined, - IopsToStorageRatio: undefined, }; + if (output["SupportsStorageAutoscaling"] !== undefined) { + contents.SupportsStorageAutoscaling = output["SupportsStorageAutoscaling"] == "true"; + } + if (output.IopsToStorageRatio === "") { + contents.IopsToStorageRatio = []; + } + if (output["IopsToStorageRatio"] !== undefined && output["IopsToStorageRatio"]["DoubleRange"] !== undefined) { + contents.IopsToStorageRatio = deserializeAws_queryDoubleRangeList( + __getArrayIfSingleItem(output["IopsToStorageRatio"]["DoubleRange"]), + context + ); + } if (output.StorageSize === "") { contents.StorageSize = []; } @@ -25860,18 +25973,6 @@ const deserializeAws_queryValidStorageOptions = (output: any, context: __SerdeCo if (output["StorageType"] !== undefined) { contents.StorageType = output["StorageType"]; } - if (output["SupportsStorageAutoscaling"] !== undefined) { - contents.SupportsStorageAutoscaling = output["SupportsStorageAutoscaling"] == "true"; - } - if (output.IopsToStorageRatio === "") { - contents.IopsToStorageRatio = []; - } - if (output["IopsToStorageRatio"] !== undefined && output["IopsToStorageRatio"]["DoubleRange"] !== undefined) { - contents.IopsToStorageRatio = deserializeAws_queryDoubleRangeList( - __getArrayIfSingleItem(output["IopsToStorageRatio"]["DoubleRange"]), - context - ); - } return contents; }; @@ -25888,15 +25989,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; }; @@ -25909,31 +26010,31 @@ const deserializeAws_queryVpcSecurityGroupMembershipList = ( const deserializeAws_queryVpnDetails = (output: any, context: __SerdeContext): VpnDetails => { let contents: any = { - VpnTunnelOriginatorIP: undefined, - VpnPSK: undefined, VpnId: undefined, - VpnGatewayIp: undefined, VpnState: undefined, + VpnTunnelOriginatorIP: undefined, VpnName: undefined, + VpnPSK: undefined, + VpnGatewayIp: undefined, }; - if (output["VpnTunnelOriginatorIP"] !== undefined) { - contents.VpnTunnelOriginatorIP = output["VpnTunnelOriginatorIP"]; - } - if (output["VpnPSK"] !== undefined) { - contents.VpnPSK = output["VpnPSK"]; - } if (output["VpnId"] !== undefined) { contents.VpnId = output["VpnId"]; } - if (output["VpnGatewayIp"] !== undefined) { - contents.VpnGatewayIp = output["VpnGatewayIp"]; - } if (output["VpnState"] !== undefined) { contents.VpnState = output["VpnState"]; } + if (output["VpnTunnelOriginatorIP"] !== undefined) { + contents.VpnTunnelOriginatorIP = output["VpnTunnelOriginatorIP"]; + } if (output["VpnName"] !== undefined) { contents.VpnName = output["VpnName"]; } + if (output["VpnPSK"] !== undefined) { + contents.VpnPSK = output["VpnPSK"]; + } + if (output["VpnGatewayIp"] !== undefined) { + contents.VpnGatewayIp = output["VpnGatewayIp"]; + } return contents; }; diff --git a/clients/client-redshift-data/.gitignore b/clients/client-redshift-data/.gitignore new file mode 100644 index 000000000000..b41c05b597c4 --- /dev/null +++ b/clients/client-redshift-data/.gitignore @@ -0,0 +1,14 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/types/ +/dist/ +*.tsbuildinfo +*.tgz +*.log +package-lock.json + +*.d.ts +*.js +*.js.map diff --git a/clients/client-redshift-data/.npmignore b/clients/client-redshift-data/.npmignore new file mode 100644 index 000000000000..b7ff81137c4a --- /dev/null +++ b/clients/client-redshift-data/.npmignore @@ -0,0 +1,4 @@ +/coverage/ +/docs/ +tsconfig.test.json +*.tsbuildinfo diff --git a/clients/client-redshift-data/LICENSE b/clients/client-redshift-data/LICENSE new file mode 100644 index 000000000000..dd65ae06be7a --- /dev/null +++ b/clients/client-redshift-data/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-redshift-data/README.md b/clients/client-redshift-data/README.md new file mode 100644 index 000000000000..975a5ea9ac88 --- /dev/null +++ b/clients/client-redshift-data/README.md @@ -0,0 +1,6 @@ +@aws-sdk/client-redshift-data + +[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-redshift-data/beta.svg)](https://www.npmjs.com/package/@aws-sdk/client-redshift-data) +[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-redshift-data.svg)](https://www.npmjs.com/package/@aws-sdk/client-redshift-data) + +For SDK usage, please step to [SDK readme](https://github.com/aws/aws-sdk-js-v3). diff --git a/clients/client-redshift-data/RedshiftData.ts b/clients/client-redshift-data/RedshiftData.ts new file mode 100644 index 000000000000..bf792c1fd3b3 --- /dev/null +++ b/clients/client-redshift-data/RedshiftData.ts @@ -0,0 +1,397 @@ +import { RedshiftDataClient } from "./RedshiftDataClient"; +import { + CancelStatementCommand, + CancelStatementCommandInput, + CancelStatementCommandOutput, +} from "./commands/CancelStatementCommand"; +import { + DescribeStatementCommand, + DescribeStatementCommandInput, + DescribeStatementCommandOutput, +} from "./commands/DescribeStatementCommand"; +import { + DescribeTableCommand, + DescribeTableCommandInput, + DescribeTableCommandOutput, +} from "./commands/DescribeTableCommand"; +import { + ExecuteStatementCommand, + ExecuteStatementCommandInput, + ExecuteStatementCommandOutput, +} from "./commands/ExecuteStatementCommand"; +import { + GetStatementResultCommand, + GetStatementResultCommandInput, + GetStatementResultCommandOutput, +} from "./commands/GetStatementResultCommand"; +import { + ListDatabasesCommand, + ListDatabasesCommandInput, + ListDatabasesCommandOutput, +} from "./commands/ListDatabasesCommand"; +import { ListSchemasCommand, ListSchemasCommandInput, ListSchemasCommandOutput } from "./commands/ListSchemasCommand"; +import { + ListStatementsCommand, + ListStatementsCommandInput, + ListStatementsCommandOutput, +} from "./commands/ListStatementsCommand"; +import { ListTablesCommand, ListTablesCommandInput, ListTablesCommandOutput } from "./commands/ListTablesCommand"; +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +/** + *

                                  You can use the Amazon Redshift Data API to run queries on Amazon Redshift tables. You + * can run individual SQL statements, which are committed if the statement succeeds.

                                  + */ +export class RedshiftData extends RedshiftDataClient { + /** + *

                                  Cancels a running query. To be canceled, a query must be running.

                                  + */ + public cancelStatement( + args: CancelStatementCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public cancelStatement( + args: CancelStatementCommandInput, + cb: (err: any, data?: CancelStatementCommandOutput) => void + ): void; + public cancelStatement( + args: CancelStatementCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CancelStatementCommandOutput) => void + ): void; + public cancelStatement( + args: CancelStatementCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CancelStatementCommandOutput) => void), + cb?: (err: any, data?: CancelStatementCommandOutput) => void + ): Promise | void { + const command = new CancelStatementCommand(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 details about a specific instance when a query was run by the Amazon Redshift Data API. The information + * includes when the query started, when it finished, the query status, the number of rows returned, and the SQL + * statement.

                                  + */ + public describeStatement( + args: DescribeStatementCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeStatement( + args: DescribeStatementCommandInput, + cb: (err: any, data?: DescribeStatementCommandOutput) => void + ): void; + public describeStatement( + args: DescribeStatementCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeStatementCommandOutput) => void + ): void; + public describeStatement( + args: DescribeStatementCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeStatementCommandOutput) => void), + cb?: (err: any, data?: DescribeStatementCommandOutput) => void + ): Promise | void { + const command = new DescribeStatementCommand(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 detailed information about a table from metadata in the cluster. The + * information includes its columns. + * A token is returned to page through the column list. + * Depending on the authorization method, use one of the + * following combinations of request parameters:

                                  + *
                                    + *
                                  • + *

                                    AWS Secrets Manager - specify the Amazon Resource Name (ARN) of the secret and the + * cluster identifier that matches the cluster in the secret.

                                    + *
                                  • + *
                                  • + *

                                    Temporary credentials - specify the cluster identifier, the database name, and the database + * user name. Permission to call the redshift:GetClusterCredentials operation is + * required to use this method.

                                    + *
                                  • + *
                                  + */ + public describeTable( + args: DescribeTableCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeTable( + args: DescribeTableCommandInput, + cb: (err: any, data?: DescribeTableCommandOutput) => void + ): void; + public describeTable( + args: DescribeTableCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeTableCommandOutput) => void + ): void; + public describeTable( + args: DescribeTableCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeTableCommandOutput) => void), + cb?: (err: any, data?: DescribeTableCommandOutput) => void + ): Promise | void { + const command = new DescribeTableCommand(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); + } + } + + /** + *

                                  Runs an SQL statement, which can be data manipulation language (DML) or data definition + * language (DDL). This statement must be a single SQL statement. + * Depending on the authorization + * method, use one of the following combinations of request parameters:

                                  + *
                                    + *
                                  • + *

                                    AWS Secrets Manager - specify the Amazon Resource Name (ARN) of the secret and the + * cluster identifier that matches the cluster in the secret.

                                    + *
                                  • + *
                                  • + *

                                    Temporary credentials - specify the cluster identifier, the database name, and the + * database user name. Permission to call the redshift:GetClusterCredentials + * operation is required to use this method.

                                    + *
                                  • + *
                                  + */ + public executeStatement( + args: ExecuteStatementCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public executeStatement( + args: ExecuteStatementCommandInput, + cb: (err: any, data?: ExecuteStatementCommandOutput) => void + ): void; + public executeStatement( + args: ExecuteStatementCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ExecuteStatementCommandOutput) => void + ): void; + public executeStatement( + args: ExecuteStatementCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ExecuteStatementCommandOutput) => void), + cb?: (err: any, data?: ExecuteStatementCommandOutput) => void + ): Promise | void { + const command = new ExecuteStatementCommand(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 temporarily cached result of an SQL statement. + * A token is returned to page through the statement results.

                                  + */ + public getStatementResult( + args: GetStatementResultCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getStatementResult( + args: GetStatementResultCommandInput, + cb: (err: any, data?: GetStatementResultCommandOutput) => void + ): void; + public getStatementResult( + args: GetStatementResultCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetStatementResultCommandOutput) => void + ): void; + public getStatementResult( + args: GetStatementResultCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetStatementResultCommandOutput) => void), + cb?: (err: any, data?: GetStatementResultCommandOutput) => void + ): Promise | void { + const command = new GetStatementResultCommand(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 the databases in a cluster. + * A token is returned to page through the database list. + * Depending on the authorization method, use one of the + * following combinations of request parameters:

                                  + *
                                    + *
                                  • + *

                                    AWS Secrets Manager - specify the Amazon Resource Name (ARN) of the secret and the + * cluster identifier that matches the cluster in the secret.

                                    + *
                                  • + *
                                  • + *

                                    Temporary credentials - specify the cluster identifier, the database name, and the + * database user name. Permission to call the redshift:GetClusterCredentials + * operation is required to use this method.

                                    + *
                                  • + *
                                  + */ + public listDatabases( + args: ListDatabasesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listDatabases( + args: ListDatabasesCommandInput, + cb: (err: any, data?: ListDatabasesCommandOutput) => void + ): void; + public listDatabases( + args: ListDatabasesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListDatabasesCommandOutput) => void + ): void; + public listDatabases( + args: ListDatabasesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListDatabasesCommandOutput) => void), + cb?: (err: any, data?: ListDatabasesCommandOutput) => void + ): Promise | void { + const command = new ListDatabasesCommand(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 schemas in a database. + * A token is returned to page through the schema list. + * Depending on the authorization method, use one of the + * following combinations of request parameters:

                                  + *
                                    + *
                                  • + *

                                    AWS Secrets Manager - specify the Amazon Resource Name (ARN) of the secret and the + * cluster identifier that matches the cluster in the secret.

                                    + *
                                  • + *
                                  • + *

                                    Temporary credentials - specify the cluster identifier, the database name, and the + * database user name. Permission to call the redshift:GetClusterCredentials + * operation is required to use this method.

                                    + *
                                  • + *
                                  + */ + 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); + } + } + + /** + *

                                  List of SQL statements. By default, only finished statements are shown. + * A token is returned to page through the statement list.

                                  + */ + public listStatements( + args: ListStatementsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listStatements( + args: ListStatementsCommandInput, + cb: (err: any, data?: ListStatementsCommandOutput) => void + ): void; + public listStatements( + args: ListStatementsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListStatementsCommandOutput) => void + ): void; + public listStatements( + args: ListStatementsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListStatementsCommandOutput) => void), + cb?: (err: any, data?: ListStatementsCommandOutput) => void + ): Promise | void { + const command = new ListStatementsCommand(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 the tables in a database. If neither SchemaPattern nor TablePattern are specified, then + * all tables in the database are returned. + * A token is returned to page through the table list. + * Depending on the authorization method, use one of the + * following combinations of request parameters:

                                  + *
                                    + *
                                  • + *

                                    AWS Secrets Manager - specify the Amazon Resource Name (ARN) of the secret and the + * cluster identifier that matches the cluster in the secret.

                                    + *
                                  • + *
                                  • + *

                                    Temporary credentials - specify the cluster identifier, the database name, and the + * database user name. Permission to call the redshift:GetClusterCredentials + * operation is required to use this method.

                                    + *
                                  • + *
                                  + */ + public listTables(args: ListTablesCommandInput, options?: __HttpHandlerOptions): Promise; + public listTables(args: ListTablesCommandInput, cb: (err: any, data?: ListTablesCommandOutput) => void): void; + public listTables( + args: ListTablesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListTablesCommandOutput) => void + ): void; + public listTables( + args: ListTablesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListTablesCommandOutput) => void), + cb?: (err: any, data?: ListTablesCommandOutput) => void + ): Promise | void { + const command = new ListTablesCommand(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-redshift-data/RedshiftDataClient.ts b/clients/client-redshift-data/RedshiftDataClient.ts new file mode 100644 index 000000000000..99e957788167 --- /dev/null +++ b/clients/client-redshift-data/RedshiftDataClient.ts @@ -0,0 +1,229 @@ +import { CancelStatementCommandInput, CancelStatementCommandOutput } from "./commands/CancelStatementCommand"; +import { DescribeStatementCommandInput, DescribeStatementCommandOutput } from "./commands/DescribeStatementCommand"; +import { DescribeTableCommandInput, DescribeTableCommandOutput } from "./commands/DescribeTableCommand"; +import { ExecuteStatementCommandInput, ExecuteStatementCommandOutput } from "./commands/ExecuteStatementCommand"; +import { GetStatementResultCommandInput, GetStatementResultCommandOutput } from "./commands/GetStatementResultCommand"; +import { ListDatabasesCommandInput, ListDatabasesCommandOutput } from "./commands/ListDatabasesCommand"; +import { ListSchemasCommandInput, ListSchemasCommandOutput } from "./commands/ListSchemasCommand"; +import { ListStatementsCommandInput, ListStatementsCommandOutput } from "./commands/ListStatementsCommand"; +import { ListTablesCommandInput, ListTablesCommandOutput } from "./commands/ListTablesCommand"; +import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; +import { + EndpointsInputConfig, + EndpointsResolvedConfig, + RegionInputConfig, + RegionResolvedConfig, + resolveEndpointsConfig, + resolveRegionConfig, +} from "@aws-sdk/config-resolver"; +import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length"; +import { + HostHeaderInputConfig, + HostHeaderResolvedConfig, + getHostHeaderPlugin, + resolveHostHeaderConfig, +} from "@aws-sdk/middleware-host-header"; +import { getLoggerPlugin } from "@aws-sdk/middleware-logger"; +import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry"; +import { + AwsAuthInputConfig, + AwsAuthResolvedConfig, + getAwsAuthPlugin, + resolveAwsAuthConfig, +} from "@aws-sdk/middleware-signing"; +import { + UserAgentInputConfig, + UserAgentResolvedConfig, + getUserAgentPlugin, + resolveUserAgentConfig, +} from "@aws-sdk/middleware-user-agent"; +import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http"; +import { + Client as __Client, + SmithyConfiguration as __SmithyConfiguration, + SmithyResolvedConfiguration as __SmithyResolvedConfiguration, +} from "@aws-sdk/smithy-client"; +import { + RegionInfoProvider, + Credentials as __Credentials, + Decoder as __Decoder, + Encoder as __Encoder, + HashConstructor as __HashConstructor, + HttpHandlerOptions as __HttpHandlerOptions, + Logger as __Logger, + Provider as __Provider, + StreamCollector as __StreamCollector, + UrlParser as __UrlParser, +} from "@aws-sdk/types"; + +export type ServiceInputTypes = + | CancelStatementCommandInput + | DescribeStatementCommandInput + | DescribeTableCommandInput + | ExecuteStatementCommandInput + | GetStatementResultCommandInput + | ListDatabasesCommandInput + | ListSchemasCommandInput + | ListStatementsCommandInput + | ListTablesCommandInput; + +export type ServiceOutputTypes = + | CancelStatementCommandOutput + | DescribeStatementCommandOutput + | DescribeTableCommandOutput + | ExecuteStatementCommandOutput + | GetStatementResultCommandOutput + | ListDatabasesCommandOutput + | ListSchemasCommandOutput + | ListStatementsCommandOutput + | ListTablesCommandOutput; + +export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { + /** + * The HTTP handler to use. Fetch in browser and Https in Nodejs. + */ + requestHandler?: __HttpHandler; + + /** + * A constructor for a class implementing the @aws-sdk/types.Hash interface + * that computes the SHA-256 HMAC or checksum of a string or binary buffer. + */ + sha256?: __HashConstructor; + + /** + * The function that will be used to convert strings into HTTP endpoints. + */ + urlParser?: __UrlParser; + + /** + * A function that can calculate the length of a request body. + */ + bodyLengthChecker?: (body: any) => number | undefined; + + /** + * A function that converts a stream into an array of bytes. + */ + streamCollector?: __StreamCollector; + + /** + * The function that will be used to convert a base64-encoded string to a byte array + */ + base64Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a base64-encoded string + */ + base64Encoder?: __Encoder; + + /** + * The function that will be used to convert a UTF8-encoded string to a byte array + */ + utf8Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a UTF-8 encoded string + */ + utf8Encoder?: __Encoder; + + /** + * The string that will be used to populate default value in 'User-Agent' header + */ + defaultUserAgent?: string; + + /** + * The runtime environment + */ + runtime?: string; + + /** + * Disable dyanamically changing the endpoint of the client based on the hostPrefix + * trait of an operation. + */ + disableHostPrefix?: boolean; + + /** + * The service name with which to sign requests. + */ + signingName?: string; + + /** + * Default credentials provider; Not available in browser runtime + */ + credentialDefaultProvider?: (input: any) => __Provider<__Credentials>; + + /** + * The AWS region to which this client will send requests + */ + region?: string | __Provider; + + /** + * Value for how many times a request will be made at most in case of retry. + */ + maxAttempts?: number | __Provider; + + /** + * Optional logger for logging debug/info/warn/error. + */ + logger?: __Logger; + + /** + * Fetch related hostname, signing name or signing region with given region. + */ + regionInfoProvider?: RegionInfoProvider; +} + +export type RedshiftDataClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & + ClientDefaults & + RegionInputConfig & + EndpointsInputConfig & + AwsAuthInputConfig & + RetryInputConfig & + UserAgentInputConfig & + HostHeaderInputConfig; + +export type RedshiftDataClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> & + Required & + RegionResolvedConfig & + EndpointsResolvedConfig & + AwsAuthResolvedConfig & + RetryResolvedConfig & + UserAgentResolvedConfig & + HostHeaderResolvedConfig; + +/** + *

                                  You can use the Amazon Redshift Data API to run queries on Amazon Redshift tables. You + * can run individual SQL statements, which are committed if the statement succeeds.

                                  + */ +export class RedshiftDataClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + RedshiftDataClientResolvedConfig +> { + readonly config: RedshiftDataClientResolvedConfig; + + constructor(configuration: RedshiftDataClientConfig) { + let _config_0 = { + ...__ClientDefaultValues, + ...configuration, + }; + let _config_1 = resolveRegionConfig(_config_0); + let _config_2 = resolveEndpointsConfig(_config_1); + let _config_3 = resolveAwsAuthConfig(_config_2); + let _config_4 = resolveRetryConfig(_config_3); + let _config_5 = resolveUserAgentConfig(_config_4); + let _config_6 = resolveHostHeaderConfig(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use(getAwsAuthPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + } + + destroy(): void { + super.destroy(); + } +} diff --git a/clients/client-redshift-data/commands/CancelStatementCommand.ts b/clients/client-redshift-data/commands/CancelStatementCommand.ts new file mode 100644 index 000000000000..3614633c35a1 --- /dev/null +++ b/clients/client-redshift-data/commands/CancelStatementCommand.ts @@ -0,0 +1,70 @@ +import { RedshiftDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftDataClient"; +import { CancelStatementRequest, CancelStatementResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CancelStatementCommand, + serializeAws_json1_1CancelStatementCommand, +} 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 CancelStatementCommandInput = CancelStatementRequest; +export type CancelStatementCommandOutput = CancelStatementResponse & __MetadataBearer; + +export class CancelStatementCommand extends $Command< + CancelStatementCommandInput, + CancelStatementCommandOutput, + RedshiftDataClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CancelStatementCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RedshiftDataClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CancelStatementRequest.filterSensitiveLog, + outputFilterSensitiveLog: CancelStatementResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CancelStatementCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CancelStatementCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CancelStatementCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-redshift-data/commands/DescribeStatementCommand.ts b/clients/client-redshift-data/commands/DescribeStatementCommand.ts new file mode 100644 index 000000000000..d529fed9f0f9 --- /dev/null +++ b/clients/client-redshift-data/commands/DescribeStatementCommand.ts @@ -0,0 +1,70 @@ +import { RedshiftDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftDataClient"; +import { DescribeStatementRequest, DescribeStatementResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeStatementCommand, + serializeAws_json1_1DescribeStatementCommand, +} 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 DescribeStatementCommandInput = DescribeStatementRequest; +export type DescribeStatementCommandOutput = DescribeStatementResponse & __MetadataBearer; + +export class DescribeStatementCommand extends $Command< + DescribeStatementCommandInput, + DescribeStatementCommandOutput, + RedshiftDataClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeStatementCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RedshiftDataClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeStatementRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeStatementResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeStatementCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeStatementCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeStatementCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-redshift-data/commands/DescribeTableCommand.ts b/clients/client-redshift-data/commands/DescribeTableCommand.ts new file mode 100644 index 000000000000..f8eac90f08b6 --- /dev/null +++ b/clients/client-redshift-data/commands/DescribeTableCommand.ts @@ -0,0 +1,70 @@ +import { RedshiftDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftDataClient"; +import { DescribeTableRequest, DescribeTableResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeTableCommand, + serializeAws_json1_1DescribeTableCommand, +} 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 DescribeTableCommandInput = DescribeTableRequest; +export type DescribeTableCommandOutput = DescribeTableResponse & __MetadataBearer; + +export class DescribeTableCommand extends $Command< + DescribeTableCommandInput, + DescribeTableCommandOutput, + RedshiftDataClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeTableCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RedshiftDataClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeTableRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeTableResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeTableCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeTableCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeTableCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-redshift-data/commands/ExecuteStatementCommand.ts b/clients/client-redshift-data/commands/ExecuteStatementCommand.ts new file mode 100644 index 000000000000..cfdad66fc728 --- /dev/null +++ b/clients/client-redshift-data/commands/ExecuteStatementCommand.ts @@ -0,0 +1,70 @@ +import { RedshiftDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftDataClient"; +import { ExecuteStatementInput, ExecuteStatementOutput } from "../models/models_0"; +import { + deserializeAws_json1_1ExecuteStatementCommand, + serializeAws_json1_1ExecuteStatementCommand, +} 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 ExecuteStatementCommandInput = ExecuteStatementInput; +export type ExecuteStatementCommandOutput = ExecuteStatementOutput & __MetadataBearer; + +export class ExecuteStatementCommand extends $Command< + ExecuteStatementCommandInput, + ExecuteStatementCommandOutput, + RedshiftDataClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ExecuteStatementCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RedshiftDataClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ExecuteStatementInput.filterSensitiveLog, + outputFilterSensitiveLog: ExecuteStatementOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ExecuteStatementCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ExecuteStatementCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ExecuteStatementCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-redshift-data/commands/GetStatementResultCommand.ts b/clients/client-redshift-data/commands/GetStatementResultCommand.ts new file mode 100644 index 000000000000..ad9bba1e2448 --- /dev/null +++ b/clients/client-redshift-data/commands/GetStatementResultCommand.ts @@ -0,0 +1,70 @@ +import { RedshiftDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftDataClient"; +import { GetStatementResultRequest, GetStatementResultResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetStatementResultCommand, + serializeAws_json1_1GetStatementResultCommand, +} 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 GetStatementResultCommandInput = GetStatementResultRequest; +export type GetStatementResultCommandOutput = GetStatementResultResponse & __MetadataBearer; + +export class GetStatementResultCommand extends $Command< + GetStatementResultCommandInput, + GetStatementResultCommandOutput, + RedshiftDataClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetStatementResultCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RedshiftDataClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetStatementResultRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetStatementResultResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetStatementResultCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetStatementResultCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetStatementResultCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-redshift-data/commands/ListDatabasesCommand.ts b/clients/client-redshift-data/commands/ListDatabasesCommand.ts new file mode 100644 index 000000000000..1ce83cdea669 --- /dev/null +++ b/clients/client-redshift-data/commands/ListDatabasesCommand.ts @@ -0,0 +1,70 @@ +import { RedshiftDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftDataClient"; +import { ListDatabasesRequest, ListDatabasesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListDatabasesCommand, + serializeAws_json1_1ListDatabasesCommand, +} 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 ListDatabasesCommandInput = ListDatabasesRequest; +export type ListDatabasesCommandOutput = ListDatabasesResponse & __MetadataBearer; + +export class ListDatabasesCommand extends $Command< + ListDatabasesCommandInput, + ListDatabasesCommandOutput, + RedshiftDataClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListDatabasesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RedshiftDataClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListDatabasesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListDatabasesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListDatabasesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListDatabasesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListDatabasesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-redshift-data/commands/ListSchemasCommand.ts b/clients/client-redshift-data/commands/ListSchemasCommand.ts new file mode 100644 index 000000000000..7e78feb58b25 --- /dev/null +++ b/clients/client-redshift-data/commands/ListSchemasCommand.ts @@ -0,0 +1,70 @@ +import { RedshiftDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftDataClient"; +import { ListSchemasRequest, ListSchemasResponse } from "../models/models_0"; +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 = ListSchemasRequest; +export type ListSchemasCommandOutput = ListSchemasResponse & __MetadataBearer; + +export class ListSchemasCommand extends $Command< + ListSchemasCommandInput, + ListSchemasCommandOutput, + RedshiftDataClientResolvedConfig +> { + // 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: RedshiftDataClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListSchemasRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListSchemasResponse.filterSensitiveLog, + }; + 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-redshift-data/commands/ListStatementsCommand.ts b/clients/client-redshift-data/commands/ListStatementsCommand.ts new file mode 100644 index 000000000000..411ca691191a --- /dev/null +++ b/clients/client-redshift-data/commands/ListStatementsCommand.ts @@ -0,0 +1,70 @@ +import { RedshiftDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftDataClient"; +import { ListStatementsRequest, ListStatementsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListStatementsCommand, + serializeAws_json1_1ListStatementsCommand, +} 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 ListStatementsCommandInput = ListStatementsRequest; +export type ListStatementsCommandOutput = ListStatementsResponse & __MetadataBearer; + +export class ListStatementsCommand extends $Command< + ListStatementsCommandInput, + ListStatementsCommandOutput, + RedshiftDataClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListStatementsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RedshiftDataClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListStatementsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListStatementsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListStatementsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListStatementsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListStatementsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-redshift-data/commands/ListTablesCommand.ts b/clients/client-redshift-data/commands/ListTablesCommand.ts new file mode 100644 index 000000000000..64026ac4fd63 --- /dev/null +++ b/clients/client-redshift-data/commands/ListTablesCommand.ts @@ -0,0 +1,70 @@ +import { RedshiftDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftDataClient"; +import { ListTablesRequest, ListTablesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListTablesCommand, + serializeAws_json1_1ListTablesCommand, +} 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 ListTablesCommandInput = ListTablesRequest; +export type ListTablesCommandOutput = ListTablesResponse & __MetadataBearer; + +export class ListTablesCommand extends $Command< + ListTablesCommandInput, + ListTablesCommandOutput, + RedshiftDataClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListTablesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RedshiftDataClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListTablesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTablesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListTablesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListTablesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListTablesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-redshift-data/endpoints.ts b/clients/client-redshift-data/endpoints.ts new file mode 100644 index 000000000000..ed86770f18a2 --- /dev/null +++ b/clients/client-redshift-data/endpoints.ts @@ -0,0 +1,81 @@ +import { RegionInfo, RegionInfoProvider } from "@aws-sdk/types"; + +// Partition default templates +const AWS_TEMPLATE = "redshift-data.{region}.amazonaws.com"; +const AWS_CN_TEMPLATE = "redshift-data.{region}.amazonaws.com.cn"; +const AWS_ISO_TEMPLATE = "redshift-data.{region}.c2s.ic.gov"; +const AWS_ISO_B_TEMPLATE = "redshift-data.{region}.sc2s.sgov.gov"; +const AWS_US_GOV_TEMPLATE = "redshift-data.{region}.amazonaws.com"; + +// Partition regions +const AWS_REGIONS = new Set([ + "ap-east-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-west-1", + "eu-west-2", + "eu-west-3", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2", +]); +const AWS_CN_REGIONS = new Set(["cn-north-1", "cn-northwest-1"]); +const AWS_ISO_REGIONS = new Set(["us-iso-east-1"]); +const AWS_ISO_B_REGIONS = new Set(["us-isob-east-1"]); +const AWS_US_GOV_REGIONS = new Set(["us-gov-east-1", "us-gov-west-1"]); + +export const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => { + let regionInfo: RegionInfo | undefined = undefined; + switch (region) { + // First, try to match exact region names. + // Next, try to match partition endpoints. + default: + if (AWS_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + if (AWS_CN_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_CN_TEMPLATE.replace("{region}", region), + partition: "aws-cn", + }; + } + if (AWS_ISO_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_TEMPLATE.replace("{region}", region), + partition: "aws-iso", + }; + } + if (AWS_ISO_B_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_B_TEMPLATE.replace("{region}", region), + partition: "aws-iso-b", + }; + } + if (AWS_US_GOV_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_US_GOV_TEMPLATE.replace("{region}", region), + partition: "aws-us-gov", + }; + } + // Finally, assume it's an AWS partition endpoint. + if (regionInfo === undefined) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + } + return Promise.resolve(regionInfo); +}; diff --git a/clients/client-redshift-data/index.ts b/clients/client-redshift-data/index.ts new file mode 100644 index 000000000000..107427e64e57 --- /dev/null +++ b/clients/client-redshift-data/index.ts @@ -0,0 +1,19 @@ +export * from "./RedshiftDataClient"; +export * from "./RedshiftData"; +export * from "./commands/CancelStatementCommand"; +export * from "./commands/DescribeStatementCommand"; +export * from "./commands/DescribeTableCommand"; +export * from "./pagination/DescribeTablePaginator"; +export * from "./commands/ExecuteStatementCommand"; +export * from "./commands/GetStatementResultCommand"; +export * from "./pagination/GetStatementResultPaginator"; +export * from "./commands/ListDatabasesCommand"; +export * from "./pagination/ListDatabasesPaginator"; +export * from "./commands/ListSchemasCommand"; +export * from "./pagination/ListSchemasPaginator"; +export * from "./commands/ListStatementsCommand"; +export * from "./pagination/ListStatementsPaginator"; +export * from "./commands/ListTablesCommand"; +export * from "./pagination/ListTablesPaginator"; +export * from "./pagination/Interfaces"; +export * from "./models/index"; diff --git a/clients/client-redshift-data/models/index.ts b/clients/client-redshift-data/models/index.ts new file mode 100644 index 000000000000..09c5d6e09b8c --- /dev/null +++ b/clients/client-redshift-data/models/index.ts @@ -0,0 +1 @@ +export * from "./models_0"; diff --git a/clients/client-redshift-data/models/models_0.ts b/clients/client-redshift-data/models/models_0.ts new file mode 100644 index 000000000000..cac406a1d44f --- /dev/null +++ b/clients/client-redshift-data/models/models_0.ts @@ -0,0 +1,998 @@ +import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; + +export interface CancelStatementRequest { + /** + *

                                  The identifier of the SQL statement to cancel. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API. + * This identifier is returned by ExecuteStatment and ListStatements.

                                  + */ + Id: string | undefined; +} + +export namespace CancelStatementRequest { + export const filterSensitiveLog = (obj: CancelStatementRequest): any => ({ + ...obj, + }); +} + +export interface CancelStatementResponse { + /** + *

                                  A value that indicates whether the cancel statement succeeded (true).

                                  + */ + Status?: boolean; +} + +export namespace CancelStatementResponse { + export const filterSensitiveLog = (obj: CancelStatementResponse): any => ({ + ...obj, + }); +} + +/** + *

                                  The Amazon Redshift Data API operation failed due to invalid input.

                                  + */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + /** + *

                                  The exception message.

                                  + */ + Message: string | undefined; +} + +export namespace InternalServerException { + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +/** + *

                                  The Amazon Redshift Data API operation failed due to a missing resource.

                                  + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + /** + *

                                  The exception message.

                                  + */ + Message: string | undefined; + + /** + *

                                  Resource identifier associated with the exception.

                                  + */ + ResourceId: string | undefined; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +/** + *

                                  The properties (metadata) of a column.

                                  + */ +export interface ColumnMetadata { + /** + *

                                  A value that indicates whether the column is case-sensitive.

                                  + */ + isCaseSensitive?: boolean; + + /** + *

                                  A value that indicates whether the column contains currency values.

                                  + */ + isCurrency?: boolean; + + /** + *

                                  A value that indicates whether an integer column is signed.

                                  + */ + isSigned?: boolean; + + /** + *

                                  The label for the column.

                                  + */ + label?: string; + + /** + *

                                  The name of the column.

                                  + */ + name?: string; + + /** + *

                                  A value that indicates whether the column is nullable.

                                  + */ + nullable?: number; + + /** + *

                                  The precision value of a decimal number column.

                                  + */ + precision?: number; + + /** + *

                                  The scale value of a decimal number column.

                                  + */ + scale?: number; + + /** + *

                                  The name of the schema that contains the table that includes the column.

                                  + */ + schemaName?: string; + + /** + *

                                  The name of the table that includes the column.

                                  + */ + tableName?: string; + + /** + *

                                  The database-specific data type of the column.

                                  + */ + typeName?: string; + + /** + *

                                  The length of the column.

                                  + */ + length?: number; + + /** + *

                                  The default value of the column.

                                  + */ + columnDefault?: string; +} + +export namespace ColumnMetadata { + export const filterSensitiveLog = (obj: ColumnMetadata): any => ({ + ...obj, + }); +} + +export interface DescribeStatementRequest { + /** + *

                                  The identifier of the SQL statement to describe. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API. + * This identifier is returned by ExecuteStatment and ListStatements.

                                  + */ + Id: string | undefined; +} + +export namespace DescribeStatementRequest { + export const filterSensitiveLog = (obj: DescribeStatementRequest): any => ({ + ...obj, + }); +} + +export enum StatusString { + ABORTED = "ABORTED", + ALL = "ALL", + FAILED = "FAILED", + FINISHED = "FINISHED", + PICKED = "PICKED", + STARTED = "STARTED", + SUBMITTED = "SUBMITTED", +} + +export interface DescribeStatementResponse { + /** + *

                                  The identifier of the SQL statement described. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API.

                                  + */ + Id: string | undefined; + + /** + *

                                  The SQL statement text.

                                  + */ + QueryString?: string; + + /** + *

                                  The name or Amazon Resource Name (ARN) of the secret that enables access to the database.

                                  + */ + SecretArn?: string; + + /** + *

                                  The database user name.

                                  + */ + DbUser?: string; + + /** + *

                                  The name of the database.

                                  + */ + Database?: string; + + /** + *

                                  The cluster identifier.

                                  + */ + ClusterIdentifier?: string; + + /** + *

                                  Either the number of rows returned from the SQL statement or the number of rows affected. + * If result size is greater than zero, the result rows can be the number of rows affected by SQL statements such as INSERT, UPDATE, DELETE, COPY, and others.

                                  + */ + ResultRows?: number; + + /** + *

                                  The size in bytes of the returned results.

                                  + */ + ResultSize?: number; + + /** + *

                                  The amount of time in nanoseconds that the statement ran.

                                  + */ + Duration?: number; + + /** + *

                                  The error message from the cluster if the SQL statement encountered an error while running.

                                  + */ + Error?: string; + + /** + *

                                  The status of the SQL statement being described. Status values are defined as follows:

                                  + *
                                    + *
                                  • + *

                                    ABORTED - The query run was stopped by the user.

                                    + *
                                  • + *
                                  • + *

                                    ALL - A status value that includes all query statuses. This value can be used to filter results.

                                    + *
                                  • + *
                                  • + *

                                    FAILED - The query run failed.

                                    + *
                                  • + *
                                  • + *

                                    FINISHED - The query has finished running.

                                    + *
                                  • + *
                                  • + *

                                    PICKED - The query has been chosen to be run.

                                    + *
                                  • + *
                                  • + *

                                    STARTED - The query run has started.

                                    + *
                                  • + *
                                  • + *

                                    SUBMITTED - The query was submitted, but not yet processed.

                                    + *
                                  • + *
                                  + */ + Status?: StatusString | string; + + /** + *

                                  The date and time (UTC) when the SQL statement was submitted to run.

                                  + */ + CreatedAt?: Date; + + /** + *

                                  The date and time (UTC) that the metadata for the SQL statement was last updated. An + * example is the time the status last changed.

                                  + */ + UpdatedAt?: Date; + + /** + *

                                  The identifier of the query generated by Amazon Redshift. + * These identifiers are also available in the query column of the STL_QUERY system view.

                                  + */ + RedshiftQueryId?: number; + + /** + *

                                  The process identifier from Amazon Redshift.

                                  + */ + RedshiftPid?: number; +} + +export namespace DescribeStatementResponse { + export const filterSensitiveLog = (obj: DescribeStatementResponse): any => ({ + ...obj, + }); +} + +/** + *

                                  The Amazon Redshift Data API operation failed due to invalid input.

                                  + */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + /** + *

                                  The exception message.

                                  + */ + Message?: string; +} + +export namespace ValidationException { + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +export interface DescribeTableRequest { + /** + *

                                  The cluster identifier. This parameter is required when authenticating using either AWS Secrets Manager or temporary credentials.

                                  + */ + ClusterIdentifier: string | undefined; + + /** + *

                                  The name or ARN of the secret that enables access to the database. This parameter is required when authenticating using AWS Secrets Manager.

                                  + */ + SecretArn?: string; + + /** + *

                                  The database user name. This parameter is required when authenticating using temporary credentials.

                                  + */ + DbUser?: string; + + /** + *

                                  The name of the database. This parameter is required when authenticating using temporary credentials.

                                  + */ + Database?: string; + + /** + *

                                  The schema that contains the table. If no schema is specified, then matching tables for all schemas are returned.

                                  + */ + Schema?: string; + + /** + *

                                  The table name. If no table is specified, then all tables for all matching schemas are returned. + * If no table and no schema is specified, then all tables for all schemas in the database are returned

                                  + */ + Table?: string; + + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; + + /** + *

                                  The maximum number of tables to return in the response. + * If more tables exist than fit in one response, then NextToken is returned to page through the results.

                                  + */ + MaxResults?: number; +} + +export namespace DescribeTableRequest { + export const filterSensitiveLog = (obj: DescribeTableRequest): any => ({ + ...obj, + }); +} + +export interface DescribeTableResponse { + /** + *

                                  The table name.

                                  + */ + TableName?: string; + + /** + *

                                  A list of columns in the table.

                                  + */ + ColumnList?: ColumnMetadata[]; + + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; +} + +export namespace DescribeTableResponse { + export const filterSensitiveLog = (obj: DescribeTableResponse): any => ({ + ...obj, + }); +} + +/** + *

                                  The SQL statement encountered an environmental error while running.

                                  + */ +export interface ExecuteStatementException extends __SmithyException, $MetadataBearer { + name: "ExecuteStatementException"; + $fault: "server"; + /** + *

                                  The exception message.

                                  + */ + Message: string | undefined; + + /** + *

                                  Statement identifier of the exception.

                                  + */ + StatementId: string | undefined; +} + +export namespace ExecuteStatementException { + export const filterSensitiveLog = (obj: ExecuteStatementException): any => ({ + ...obj, + }); +} + +export interface ExecuteStatementInput { + /** + *

                                  The SQL statement text to run.

                                  + */ + Sql: string | undefined; + + /** + *

                                  The cluster identifier. This parameter is required when authenticating using either AWS Secrets Manager or temporary credentials.

                                  + */ + ClusterIdentifier: string | undefined; + + /** + *

                                  The name or ARN of the secret that enables access to the database. This parameter is required when authenticating using AWS Secrets Manager.

                                  + */ + SecretArn?: string; + + /** + *

                                  The database user name. This parameter is required when authenticating using temporary credentials.

                                  + */ + DbUser?: string; + + /** + *

                                  The name of the database. This parameter is required when authenticating using temporary credentials.

                                  + */ + Database?: string; + + /** + *

                                  A value that indicates whether to send an event to the Amazon EventBridge event bus after the SQL statement runs.

                                  + */ + WithEvent?: boolean; + + /** + *

                                  The name of the SQL statement. You can name the SQL statement when you create it to identify the query.

                                  + */ + StatementName?: string; +} + +export namespace ExecuteStatementInput { + export const filterSensitiveLog = (obj: ExecuteStatementInput): any => ({ + ...obj, + }); +} + +export interface ExecuteStatementOutput { + /** + *

                                  The identifier of the statement to be run. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API.

                                  + */ + Id?: string; + + /** + *

                                  The date and time (UTC) the statement was created.

                                  + */ + CreatedAt?: Date; + + /** + *

                                  The cluster identifier.

                                  + */ + ClusterIdentifier?: string; + + /** + *

                                  The database user name.

                                  + */ + DbUser?: string; + + /** + *

                                  The name of the database.

                                  + */ + Database?: string; + + /** + *

                                  The name or ARN of the secret that enables access to the database.

                                  + */ + SecretArn?: string; +} + +export namespace ExecuteStatementOutput { + export const filterSensitiveLog = (obj: ExecuteStatementOutput): any => ({ + ...obj, + }); +} + +/** + *

                                  A data value in a column.

                                  + */ +export type Field = + | Field.BlobValueMember + | Field.BooleanValueMember + | Field.DoubleValueMember + | Field.IsNullMember + | Field.LongValueMember + | Field.StringValueMember + | Field.$UnknownMember; + +export namespace Field { + /** + *

                                  A value that indicates whether the data is NULL.

                                  + */ + export interface IsNullMember { + isNull: boolean; + booleanValue?: never; + longValue?: never; + doubleValue?: never; + stringValue?: never; + blobValue?: never; + $unknown?: never; + } + + /** + *

                                  A value of the Boolean data type.

                                  + */ + export interface BooleanValueMember { + isNull?: never; + booleanValue: boolean; + longValue?: never; + doubleValue?: never; + stringValue?: never; + blobValue?: never; + $unknown?: never; + } + + /** + *

                                  A value of the long data type.

                                  + */ + export interface LongValueMember { + isNull?: never; + booleanValue?: never; + longValue: number; + doubleValue?: never; + stringValue?: never; + blobValue?: never; + $unknown?: never; + } + + /** + *

                                  A value of the double data type.

                                  + */ + export interface DoubleValueMember { + isNull?: never; + booleanValue?: never; + longValue?: never; + doubleValue: number; + stringValue?: never; + blobValue?: never; + $unknown?: never; + } + + /** + *

                                  A value of the string data type.

                                  + */ + export interface StringValueMember { + isNull?: never; + booleanValue?: never; + longValue?: never; + doubleValue?: never; + stringValue: string; + blobValue?: never; + $unknown?: never; + } + + /** + *

                                  A value of the BLOB data type.

                                  + */ + export interface BlobValueMember { + isNull?: never; + booleanValue?: never; + longValue?: never; + doubleValue?: never; + stringValue?: never; + blobValue: Uint8Array; + $unknown?: never; + } + + export interface $UnknownMember { + isNull?: never; + booleanValue?: never; + longValue?: never; + doubleValue?: never; + stringValue?: never; + blobValue?: never; + $unknown: [string, any]; + } + + export interface Visitor { + isNull: (value: boolean) => T; + booleanValue: (value: boolean) => T; + longValue: (value: number) => T; + doubleValue: (value: number) => T; + stringValue: (value: string) => T; + blobValue: (value: Uint8Array) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: Field, visitor: Visitor): T => { + if (value.isNull !== undefined) return visitor.isNull(value.isNull); + if (value.booleanValue !== undefined) return visitor.booleanValue(value.booleanValue); + if (value.longValue !== undefined) return visitor.longValue(value.longValue); + if (value.doubleValue !== undefined) return visitor.doubleValue(value.doubleValue); + if (value.stringValue !== undefined) return visitor.stringValue(value.stringValue); + if (value.blobValue !== undefined) return visitor.blobValue(value.blobValue); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; + + export const filterSensitiveLog = (obj: Field): any => { + if (obj.isNull !== undefined) return { isNull: obj.isNull }; + if (obj.booleanValue !== undefined) return { booleanValue: obj.booleanValue }; + if (obj.longValue !== undefined) return { longValue: obj.longValue }; + if (obj.doubleValue !== undefined) return { doubleValue: obj.doubleValue }; + if (obj.stringValue !== undefined) return { stringValue: obj.stringValue }; + if (obj.blobValue !== undefined) return { blobValue: obj.blobValue }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; + }; +} + +export interface GetStatementResultRequest { + /** + *

                                  The identifier of the SQL statement whose results are to be fetched. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API. + * This identifier is returned by ExecuteStatment and ListStatements.

                                  + */ + Id: string | undefined; + + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; +} + +export namespace GetStatementResultRequest { + export const filterSensitiveLog = (obj: GetStatementResultRequest): any => ({ + ...obj, + }); +} + +export interface GetStatementResultResponse { + /** + *

                                  The results of the SQL statement.

                                  + */ + Records: Field[][] | undefined; + + /** + *

                                  The properties (metadata) of a column.

                                  + */ + ColumnMetadata?: ColumnMetadata[]; + + /** + *

                                  The total number of rows in the result set returned from a query. + * You can use this number to estimate the number of calls to the GetStatementResult operation needed to page through the results.

                                  + */ + TotalNumRows?: 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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; +} + +export namespace GetStatementResultResponse { + export const filterSensitiveLog = (obj: GetStatementResultResponse): any => ({ + ...obj, + }); +} + +export interface ListDatabasesRequest { + /** + *

                                  The cluster identifier. This parameter is required when authenticating using either AWS Secrets Manager or temporary credentials.

                                  + */ + ClusterIdentifier: string | undefined; + + /** + *

                                  The name of the database. This parameter is required when authenticating using temporary credentials.

                                  + */ + Database?: string; + + /** + *

                                  The name or ARN of the secret that enables access to the database. This parameter is required when authenticating using AWS Secrets Manager.

                                  + */ + SecretArn?: string; + + /** + *

                                  The database user name. This parameter is required when authenticating using temporary credentials.

                                  + */ + DbUser?: string; + + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; + + /** + *

                                  The maximum number of databases to return in the response. + * If more databases exist than fit in one response, then NextToken is returned to page through the results.

                                  + */ + MaxResults?: number; +} + +export namespace ListDatabasesRequest { + export const filterSensitiveLog = (obj: ListDatabasesRequest): any => ({ + ...obj, + }); +} + +export interface ListDatabasesResponse { + /** + *

                                  The names of databases.

                                  + */ + Databases?: string[]; + + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; +} + +export namespace ListDatabasesResponse { + export const filterSensitiveLog = (obj: ListDatabasesResponse): any => ({ + ...obj, + }); +} + +export interface ListSchemasRequest { + /** + *

                                  The cluster identifier. This parameter is required when authenticating using either AWS Secrets Manager or temporary credentials.

                                  + */ + ClusterIdentifier: string | undefined; + + /** + *

                                  The name or ARN of the secret that enables access to the database. This parameter is required when authenticating using AWS Secrets Manager.

                                  + */ + SecretArn?: string; + + /** + *

                                  The database user name. This parameter is required when authenticating using temporary credentials.

                                  + */ + DbUser?: string; + + /** + *

                                  The name of the database. This parameter is required when authenticating using temporary credentials.

                                  + */ + Database: string | undefined; + + /** + *

                                  A pattern to filter results by schema name. Within a schema pattern, "%" means match any + * substring of 0 or more characters and "_" means match any one character. Only schema name + * entries matching the search pattern are returned.

                                  + */ + SchemaPattern?: string; + + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; + + /** + *

                                  The maximum number of schemas to return in the response. + * If more schemas exist than fit in one response, then NextToken is returned to page through the results.

                                  + */ + MaxResults?: number; +} + +export namespace ListSchemasRequest { + export const filterSensitiveLog = (obj: ListSchemasRequest): any => ({ + ...obj, + }); +} + +export interface ListSchemasResponse { + /** + *

                                  The schemas that match the request pattern.

                                  + */ + Schemas?: string[]; + + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; +} + +export namespace ListSchemasResponse { + export const filterSensitiveLog = (obj: ListSchemasResponse): any => ({ + ...obj, + }); +} + +export interface ListStatementsRequest { + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; + + /** + *

                                  The maximum number of SQL statements to return in the response. + * If more SQL statements exist than fit in one response, then NextToken is returned to page through the results.

                                  + */ + MaxResults?: number; + + /** + *

                                  The name of the SQL statement specified as input to ExecuteStatement to identify the query. + * You can list multiple statements by providing a prefix that matches the beginning of the statement name. + * For example, to list myStatement1, myStatement2, myStatement3, and so on, then provide the a value of myStatement. + * Data API does a case-sensitive match of SQL statement names to the prefix value you provide.

                                  + */ + StatementName?: string; + + /** + *

                                  The status of the SQL statement to list. Status values are defined as follows:

                                  + *
                                    + *
                                  • + *

                                    ABORTED - The query run was stopped by the user.

                                    + *
                                  • + *
                                  • + *

                                    ALL - A status value that includes all query statuses. This value can be used to filter results.

                                    + *
                                  • + *
                                  • + *

                                    FAILED - The query run failed.

                                    + *
                                  • + *
                                  • + *

                                    FINISHED - The query has finished running.

                                    + *
                                  • + *
                                  • + *

                                    PICKED - The query has been chosen to be run.

                                    + *
                                  • + *
                                  • + *

                                    STARTED - The query run has started.

                                    + *
                                  • + *
                                  • + *

                                    SUBMITTED - The query was submitted, but not yet processed.

                                    + *
                                  • + *
                                  + */ + Status?: StatusString | string; +} + +export namespace ListStatementsRequest { + export const filterSensitiveLog = (obj: ListStatementsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                  The SQL statement to run.

                                  + */ +export interface StatementData { + /** + *

                                  The SQL statement identifier. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API.

                                  + */ + Id: string | undefined; + + /** + *

                                  The SQL statement.

                                  + */ + QueryString?: string; + + /** + *

                                  The name or Amazon Resource Name (ARN) of the secret that enables access to the database.

                                  + */ + SecretArn?: string; + + /** + *

                                  The status of the SQL statement. An + * example is the that the SQL statement finished. + *

                                  + */ + Status?: StatusString | string; + + /** + *

                                  The name of the SQL statement.

                                  + */ + StatementName?: string; + + /** + *

                                  The date and time (UTC) the statement was created.

                                  + */ + CreatedAt?: Date; + + /** + *

                                  The date and time (UTC) that the statement metadata was last updated.

                                  + */ + UpdatedAt?: Date; +} + +export namespace StatementData { + export const filterSensitiveLog = (obj: StatementData): any => ({ + ...obj, + }); +} + +export interface ListStatementsResponse { + /** + *

                                  The SQL statements.

                                  + */ + Statements: StatementData[] | undefined; + + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; +} + +export namespace ListStatementsResponse { + export const filterSensitiveLog = (obj: ListStatementsResponse): any => ({ + ...obj, + }); +} + +export interface ListTablesRequest { + /** + *

                                  The cluster identifier. This parameter is required when authenticating using either AWS Secrets Manager or temporary credentials.

                                  + */ + ClusterIdentifier: string | undefined; + + /** + *

                                  The name or ARN of the secret that enables access to the database. This parameter is required when authenticating using AWS Secrets Manager.

                                  + */ + SecretArn?: string; + + /** + *

                                  The database user name. This parameter is required when authenticating using temporary credentials.

                                  + */ + DbUser?: string; + + /** + *

                                  The name of the database. This parameter is required when authenticating using temporary credentials.

                                  + */ + Database: string | undefined; + + /** + *

                                  A pattern to filter results by schema name. Within a schema pattern, "%" means match any + * substring of 0 or more characters and "_" means match any one character. Only schema name + * entries matching the search pattern are returned. If SchemaPattern is not specified, then all tables that match + * TablePattern are returned. + * If neither SchemaPattern or TablePattern are specified, then all tables are returned.

                                  + */ + SchemaPattern?: string; + + /** + *

                                  A pattern to filter results by table name. Within a table pattern, "%" means match any + * substring of 0 or more characters and "_" means match any one character. Only table name + * entries matching the search pattern are returned. If TablePattern is not specified, then all tables that match + * SchemaPatternare returned. + * If neither SchemaPattern or TablePattern are specified, then all tables are returned.

                                  + */ + TablePattern?: string; + + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; + + /** + *

                                  The maximum number of tables to return in the response. + * If more tables exist than fit in one response, then NextToken is returned to page through the results.

                                  + */ + MaxResults?: number; +} + +export namespace ListTablesRequest { + export const filterSensitiveLog = (obj: ListTablesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                  The properties of a table.

                                  + */ +export interface TableMember { + /** + *

                                  The name of the table.

                                  + */ + name?: string; + + /** + *

                                  The type of the table. Possible values include TABLE, VIEW, SYSTEM TABLE, GLOBAL + * TEMPORARY, LOCAL TEMPORARY, ALIAS, and SYNONYM.

                                  + */ + type?: string; + + /** + *

                                  The schema containing the table.

                                  + */ + schema?: string; +} + +export namespace TableMember { + export const filterSensitiveLog = (obj: TableMember): any => ({ + ...obj, + }); +} + +export interface ListTablesResponse { + /** + *

                                  The tables that match the request pattern.

                                  + */ + Tables?: TableMember[]; + + /** + *

                                  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 NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

                                  + */ + NextToken?: string; +} + +export namespace ListTablesResponse { + export const filterSensitiveLog = (obj: ListTablesResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-redshift-data/package.json b/clients/client-redshift-data/package.json new file mode 100644 index 000000000000..7479a7a137f8 --- /dev/null +++ b/clients/client-redshift-data/package.json @@ -0,0 +1,77 @@ +{ + "name": "@aws-sdk/client-redshift-data", + "description": "@aws-sdk/client-redshift-data client", + "version": "1.0.0-rc.1", + "scripts": { + "clean": "npm run remove-definitions && npm run remove-dist", + "build-documentation": "npm run clean && typedoc ./", + "prepublishOnly": "yarn build", + "pretest": "yarn build:cjs", + "remove-definitions": "rimraf ./types", + "remove-dist": "rimraf ./dist", + "remove-documentation": "rimraf ./docs", + "test": "yarn build && jest --coverage --passWithNoTests", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig.es.json", + "build": "yarn build:cjs && yarn build:es" + }, + "main": "./dist/cjs/index.js", + "types": "./types/index.d.ts", + "module": "./dist/es/index.js", + "browser": { + "./runtimeConfig": "./runtimeConfig.browser" + }, + "react-native": { + "./runtimeConfig": "./runtimeConfig.native" + }, + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0-alpha.0", + "@aws-crypto/sha256-js": "^1.0.0-alpha.0", + "@aws-sdk/config-resolver": "1.0.0-rc.1", + "@aws-sdk/credential-provider-node": "1.0.0-rc.1", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.1", + "@aws-sdk/hash-node": "1.0.0-rc.1", + "@aws-sdk/invalid-dependency": "1.0.0-rc.1", + "@aws-sdk/middleware-content-length": "1.0.0-rc.1", + "@aws-sdk/middleware-host-header": "1.0.0-rc.1", + "@aws-sdk/middleware-logger": "1.0.0-rc.1", + "@aws-sdk/middleware-retry": "1.0.0-rc.1", + "@aws-sdk/middleware-serde": "1.0.0-rc.1", + "@aws-sdk/middleware-signing": "1.0.0-rc.1", + "@aws-sdk/middleware-stack": "1.0.0-rc.1", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.1", + "@aws-sdk/node-config-provider": "1.0.0-rc.1", + "@aws-sdk/node-http-handler": "1.0.0-rc.1", + "@aws-sdk/protocol-http": "1.0.0-rc.1", + "@aws-sdk/smithy-client": "1.0.0-rc.1", + "@aws-sdk/types": "1.0.0-rc.1", + "@aws-sdk/url-parser-browser": "1.0.0-rc.1", + "@aws-sdk/url-parser-node": "1.0.0-rc.1", + "@aws-sdk/util-base64-browser": "1.0.0-rc.1", + "@aws-sdk/util-base64-node": "1.0.0-rc.1", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.1", + "@aws-sdk/util-body-length-node": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.1", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.1", + "@aws-sdk/util-utf8-node": "1.0.0-rc.1", + "tslib": "^2.0.0" + }, + "devDependencies": { + "@aws-sdk/client-documentation-generator": "1.0.0-rc.1", + "@types/node": "^12.7.5", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "typedoc": "^0.17.8", + "typescript": "~4.0.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0" +} diff --git a/clients/client-redshift-data/pagination/DescribeTablePaginator.ts b/clients/client-redshift-data/pagination/DescribeTablePaginator.ts new file mode 100644 index 000000000000..131eb9aa893f --- /dev/null +++ b/clients/client-redshift-data/pagination/DescribeTablePaginator.ts @@ -0,0 +1,51 @@ +import { RedshiftData } from "../RedshiftData"; +import { RedshiftDataClient } from "../RedshiftDataClient"; +import { + DescribeTableCommand, + DescribeTableCommandInput, + DescribeTableCommandOutput, +} from "../commands/DescribeTableCommand"; +import { RedshiftDataPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftDataClient, + input: DescribeTableCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeTableCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RedshiftData, + input: DescribeTableCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeTable(input, ...args); +}; +export async function* describeTablePaginate( + config: RedshiftDataPaginationConfiguration, + input: DescribeTableCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeTableCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof RedshiftData) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftDataClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift-data/pagination/GetStatementResultPaginator.ts b/clients/client-redshift-data/pagination/GetStatementResultPaginator.ts new file mode 100644 index 000000000000..6d9a4223c204 --- /dev/null +++ b/clients/client-redshift-data/pagination/GetStatementResultPaginator.ts @@ -0,0 +1,50 @@ +import { RedshiftData } from "../RedshiftData"; +import { RedshiftDataClient } from "../RedshiftDataClient"; +import { + GetStatementResultCommand, + GetStatementResultCommandInput, + GetStatementResultCommandOutput, +} from "../commands/GetStatementResultCommand"; +import { RedshiftDataPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftDataClient, + input: GetStatementResultCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetStatementResultCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RedshiftData, + input: GetStatementResultCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getStatementResult(input, ...args); +}; +export async function* getStatementResultPaginate( + config: RedshiftDataPaginationConfiguration, + input: GetStatementResultCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetStatementResultCommandOutput; + while (hasNext) { + input["NextToken"] = token; + if (config.client instanceof RedshiftData) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftDataClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift-data/pagination/Interfaces.ts b/clients/client-redshift-data/pagination/Interfaces.ts new file mode 100644 index 000000000000..e6e399c9b8c2 --- /dev/null +++ b/clients/client-redshift-data/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { RedshiftData } from "../RedshiftData"; +import { RedshiftDataClient } from "../RedshiftDataClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface RedshiftDataPaginationConfiguration extends PaginationConfiguration { + client: RedshiftData | RedshiftDataClient; +} diff --git a/clients/client-redshift-data/pagination/ListDatabasesPaginator.ts b/clients/client-redshift-data/pagination/ListDatabasesPaginator.ts new file mode 100644 index 000000000000..7659f1f8253e --- /dev/null +++ b/clients/client-redshift-data/pagination/ListDatabasesPaginator.ts @@ -0,0 +1,51 @@ +import { RedshiftData } from "../RedshiftData"; +import { RedshiftDataClient } from "../RedshiftDataClient"; +import { + ListDatabasesCommand, + ListDatabasesCommandInput, + ListDatabasesCommandOutput, +} from "../commands/ListDatabasesCommand"; +import { RedshiftDataPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftDataClient, + input: ListDatabasesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListDatabasesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RedshiftData, + input: ListDatabasesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listDatabases(input, ...args); +}; +export async function* listDatabasesPaginate( + config: RedshiftDataPaginationConfiguration, + input: ListDatabasesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListDatabasesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof RedshiftData) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftDataClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift-data/pagination/ListSchemasPaginator.ts b/clients/client-redshift-data/pagination/ListSchemasPaginator.ts new file mode 100644 index 000000000000..97e0c40bd42b --- /dev/null +++ b/clients/client-redshift-data/pagination/ListSchemasPaginator.ts @@ -0,0 +1,47 @@ +import { RedshiftData } from "../RedshiftData"; +import { RedshiftDataClient } from "../RedshiftDataClient"; +import { ListSchemasCommand, ListSchemasCommandInput, ListSchemasCommandOutput } from "../commands/ListSchemasCommand"; +import { RedshiftDataPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftDataClient, + input: ListSchemasCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSchemasCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RedshiftData, + input: ListSchemasCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSchemas(input, ...args); +}; +export async function* listSchemasPaginate( + config: RedshiftDataPaginationConfiguration, + input: ListSchemasCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListSchemasCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof RedshiftData) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftDataClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift-data/pagination/ListStatementsPaginator.ts b/clients/client-redshift-data/pagination/ListStatementsPaginator.ts new file mode 100644 index 000000000000..b0b17c5222f2 --- /dev/null +++ b/clients/client-redshift-data/pagination/ListStatementsPaginator.ts @@ -0,0 +1,51 @@ +import { RedshiftData } from "../RedshiftData"; +import { RedshiftDataClient } from "../RedshiftDataClient"; +import { + ListStatementsCommand, + ListStatementsCommandInput, + ListStatementsCommandOutput, +} from "../commands/ListStatementsCommand"; +import { RedshiftDataPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftDataClient, + input: ListStatementsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListStatementsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RedshiftData, + input: ListStatementsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listStatements(input, ...args); +}; +export async function* listStatementsPaginate( + config: RedshiftDataPaginationConfiguration, + input: ListStatementsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListStatementsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof RedshiftData) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftDataClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift-data/pagination/ListTablesPaginator.ts b/clients/client-redshift-data/pagination/ListTablesPaginator.ts new file mode 100644 index 000000000000..bdbcd732f106 --- /dev/null +++ b/clients/client-redshift-data/pagination/ListTablesPaginator.ts @@ -0,0 +1,47 @@ +import { RedshiftData } from "../RedshiftData"; +import { RedshiftDataClient } from "../RedshiftDataClient"; +import { ListTablesCommand, ListTablesCommandInput, ListTablesCommandOutput } from "../commands/ListTablesCommand"; +import { RedshiftDataPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftDataClient, + input: ListTablesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListTablesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RedshiftData, + input: ListTablesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listTables(input, ...args); +}; +export async function* listTablesPaginate( + config: RedshiftDataPaginationConfiguration, + input: ListTablesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListTablesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof RedshiftData) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RedshiftDataClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-redshift-data/protocols/Aws_json1_1.ts b/clients/client-redshift-data/protocols/Aws_json1_1.ts new file mode 100644 index 000000000000..1b3bc1ee4dfb --- /dev/null +++ b/clients/client-redshift-data/protocols/Aws_json1_1.ts @@ -0,0 +1,1228 @@ +import { CancelStatementCommandInput, CancelStatementCommandOutput } from "../commands/CancelStatementCommand"; +import { DescribeStatementCommandInput, DescribeStatementCommandOutput } from "../commands/DescribeStatementCommand"; +import { DescribeTableCommandInput, DescribeTableCommandOutput } from "../commands/DescribeTableCommand"; +import { ExecuteStatementCommandInput, ExecuteStatementCommandOutput } from "../commands/ExecuteStatementCommand"; +import { GetStatementResultCommandInput, GetStatementResultCommandOutput } from "../commands/GetStatementResultCommand"; +import { ListDatabasesCommandInput, ListDatabasesCommandOutput } from "../commands/ListDatabasesCommand"; +import { ListSchemasCommandInput, ListSchemasCommandOutput } from "../commands/ListSchemasCommand"; +import { ListStatementsCommandInput, ListStatementsCommandOutput } from "../commands/ListStatementsCommand"; +import { ListTablesCommandInput, ListTablesCommandOutput } from "../commands/ListTablesCommand"; +import { + CancelStatementRequest, + CancelStatementResponse, + ColumnMetadata, + DescribeStatementRequest, + DescribeStatementResponse, + DescribeTableRequest, + DescribeTableResponse, + ExecuteStatementException, + ExecuteStatementInput, + ExecuteStatementOutput, + Field, + GetStatementResultRequest, + GetStatementResultResponse, + InternalServerException, + ListDatabasesRequest, + ListDatabasesResponse, + ListSchemasRequest, + ListSchemasResponse, + ListStatementsRequest, + ListStatementsResponse, + ListTablesRequest, + ListTablesResponse, + ResourceNotFoundException, + StatementData, + TableMember, + ValidationException, +} from "../models/models_0"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { + Endpoint as __Endpoint, + HeaderBag as __HeaderBag, + MetadataBearer as __MetadataBearer, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export const serializeAws_json1_1CancelStatementCommand = async ( + input: CancelStatementCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "RedshiftData.CancelStatement", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CancelStatementRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeStatementCommand = async ( + input: DescribeStatementCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "RedshiftData.DescribeStatement", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeStatementRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeTableCommand = async ( + input: DescribeTableCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "RedshiftData.DescribeTable", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeTableRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ExecuteStatementCommand = async ( + input: ExecuteStatementCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "RedshiftData.ExecuteStatement", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ExecuteStatementInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetStatementResultCommand = async ( + input: GetStatementResultCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "RedshiftData.GetStatementResult", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetStatementResultRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListDatabasesCommand = async ( + input: ListDatabasesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "RedshiftData.ListDatabases", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListDatabasesRequest(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": "RedshiftData.ListSchemas", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListSchemasRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListStatementsCommand = async ( + input: ListStatementsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "RedshiftData.ListStatements", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListStatementsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListTablesCommand = async ( + input: ListTablesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "RedshiftData.ListTables", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListTablesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const deserializeAws_json1_1CancelStatementCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CancelStatementCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CancelStatementResponse(data, context); + const response: CancelStatementCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CancelStatementCommandError = 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 "InternalServerException": + case "com.amazonaws.redshiftdata#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.redshiftdata#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_1DescribeStatementCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeStatementCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeStatementResponse(data, context); + const response: DescribeStatementCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeStatementCommandError = 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 "InternalServerException": + case "com.amazonaws.redshiftdata#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.redshiftdata#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.redshiftdata#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1DescribeTableCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeTableCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeTableResponse(data, context); + const response: DescribeTableCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeTableCommandError = 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 "InternalServerException": + case "com.amazonaws.redshiftdata#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.redshiftdata#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ExecuteStatementCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ExecuteStatementCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ExecuteStatementOutput(data, context); + const response: ExecuteStatementCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ExecuteStatementCommandError = 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 "ExecuteStatementException": + case "com.amazonaws.redshiftdata#ExecuteStatementException": + response = { + ...(await deserializeAws_json1_1ExecuteStatementExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.redshiftdata#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1GetStatementResultCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetStatementResultCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetStatementResultResponse(data, context); + const response: GetStatementResultCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetStatementResultCommandError = 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 "InternalServerException": + case "com.amazonaws.redshiftdata#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.redshiftdata#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.redshiftdata#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListDatabasesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListDatabasesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListDatabasesResponse(data, context); + const response: ListDatabasesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListDatabasesCommandError = 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 "InternalServerException": + case "com.amazonaws.redshiftdata#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.redshiftdata#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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 "InternalServerException": + case "com.amazonaws.redshiftdata#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.redshiftdata#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListStatementsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListStatementsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListStatementsResponse(data, context); + const response: ListStatementsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListStatementsCommandError = 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 "InternalServerException": + case "com.amazonaws.redshiftdata#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.redshiftdata#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListTablesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListTablesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListTablesResponse(data, context); + const response: ListTablesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListTablesCommandError = 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 "InternalServerException": + case "com.amazonaws.redshiftdata#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.redshiftdata#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_json1_1ExecuteStatementExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ExecuteStatementException(body, context); + const contents: ExecuteStatementException = { + name: "ExecuteStatementException", + $fault: "server", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InternalServerExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InternalServerException(body, context); + const contents: InternalServerException = { + name: "InternalServerException", + $fault: "server", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ResourceNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ResourceNotFoundException(body, context); + const contents: ResourceNotFoundException = { + name: "ResourceNotFoundException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ValidationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ValidationException(body, context); + const contents: ValidationException = { + name: "ValidationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const serializeAws_json1_1CancelStatementRequest = (input: CancelStatementRequest, context: __SerdeContext): any => { + return { + ...(input.Id !== undefined && { Id: input.Id }), + }; +}; + +const serializeAws_json1_1DescribeStatementRequest = ( + input: DescribeStatementRequest, + context: __SerdeContext +): any => { + return { + ...(input.Id !== undefined && { Id: input.Id }), + }; +}; + +const serializeAws_json1_1DescribeTableRequest = (input: DescribeTableRequest, context: __SerdeContext): any => { + return { + ...(input.ClusterIdentifier !== undefined && { ClusterIdentifier: input.ClusterIdentifier }), + ...(input.Database !== undefined && { Database: input.Database }), + ...(input.DbUser !== undefined && { DbUser: input.DbUser }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.Schema !== undefined && { Schema: input.Schema }), + ...(input.SecretArn !== undefined && { SecretArn: input.SecretArn }), + ...(input.Table !== undefined && { Table: input.Table }), + }; +}; + +const serializeAws_json1_1ExecuteStatementInput = (input: ExecuteStatementInput, context: __SerdeContext): any => { + return { + ...(input.ClusterIdentifier !== undefined && { ClusterIdentifier: input.ClusterIdentifier }), + ...(input.Database !== undefined && { Database: input.Database }), + ...(input.DbUser !== undefined && { DbUser: input.DbUser }), + ...(input.SecretArn !== undefined && { SecretArn: input.SecretArn }), + ...(input.Sql !== undefined && { Sql: input.Sql }), + ...(input.StatementName !== undefined && { StatementName: input.StatementName }), + ...(input.WithEvent !== undefined && { WithEvent: input.WithEvent }), + }; +}; + +const serializeAws_json1_1GetStatementResultRequest = ( + input: GetStatementResultRequest, + context: __SerdeContext +): any => { + return { + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1ListDatabasesRequest = (input: ListDatabasesRequest, context: __SerdeContext): any => { + return { + ...(input.ClusterIdentifier !== undefined && { ClusterIdentifier: input.ClusterIdentifier }), + ...(input.Database !== undefined && { Database: input.Database }), + ...(input.DbUser !== undefined && { DbUser: input.DbUser }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.SecretArn !== undefined && { SecretArn: input.SecretArn }), + }; +}; + +const serializeAws_json1_1ListSchemasRequest = (input: ListSchemasRequest, context: __SerdeContext): any => { + return { + ...(input.ClusterIdentifier !== undefined && { ClusterIdentifier: input.ClusterIdentifier }), + ...(input.Database !== undefined && { Database: input.Database }), + ...(input.DbUser !== undefined && { DbUser: input.DbUser }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.SchemaPattern !== undefined && { SchemaPattern: input.SchemaPattern }), + ...(input.SecretArn !== undefined && { SecretArn: input.SecretArn }), + }; +}; + +const serializeAws_json1_1ListStatementsRequest = (input: ListStatementsRequest, context: __SerdeContext): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.StatementName !== undefined && { StatementName: input.StatementName }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_json1_1ListTablesRequest = (input: ListTablesRequest, context: __SerdeContext): any => { + return { + ...(input.ClusterIdentifier !== undefined && { ClusterIdentifier: input.ClusterIdentifier }), + ...(input.Database !== undefined && { Database: input.Database }), + ...(input.DbUser !== undefined && { DbUser: input.DbUser }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.SchemaPattern !== undefined && { SchemaPattern: input.SchemaPattern }), + ...(input.SecretArn !== undefined && { SecretArn: input.SecretArn }), + ...(input.TablePattern !== undefined && { TablePattern: input.TablePattern }), + }; +}; + +const deserializeAws_json1_1CancelStatementResponse = ( + output: any, + context: __SerdeContext +): CancelStatementResponse => { + return { + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1ColumnList = (output: any, context: __SerdeContext): ColumnMetadata[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ColumnMetadata(entry, context)); +}; + +const deserializeAws_json1_1ColumnMetadata = (output: any, context: __SerdeContext): ColumnMetadata => { + return { + columnDefault: + output.columnDefault !== undefined && output.columnDefault !== null ? output.columnDefault : undefined, + isCaseSensitive: + output.isCaseSensitive !== undefined && output.isCaseSensitive !== null ? output.isCaseSensitive : undefined, + isCurrency: output.isCurrency !== undefined && output.isCurrency !== null ? output.isCurrency : undefined, + isSigned: output.isSigned !== undefined && output.isSigned !== null ? output.isSigned : undefined, + label: output.label !== undefined && output.label !== null ? output.label : undefined, + length: output.length !== undefined && output.length !== null ? output.length : undefined, + name: output.name !== undefined && output.name !== null ? output.name : undefined, + nullable: output.nullable !== undefined && output.nullable !== null ? output.nullable : undefined, + precision: output.precision !== undefined && output.precision !== null ? output.precision : undefined, + scale: output.scale !== undefined && output.scale !== null ? output.scale : undefined, + schemaName: output.schemaName !== undefined && output.schemaName !== null ? output.schemaName : undefined, + tableName: output.tableName !== undefined && output.tableName !== null ? output.tableName : undefined, + typeName: output.typeName !== undefined && output.typeName !== null ? output.typeName : undefined, + } as any; +}; + +const deserializeAws_json1_1ColumnMetadataList = (output: any, context: __SerdeContext): ColumnMetadata[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ColumnMetadata(entry, context)); +}; + +const deserializeAws_json1_1DatabaseList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1DescribeStatementResponse = ( + output: any, + context: __SerdeContext +): DescribeStatementResponse => { + return { + ClusterIdentifier: + output.ClusterIdentifier !== undefined && output.ClusterIdentifier !== null + ? output.ClusterIdentifier + : undefined, + CreatedAt: + output.CreatedAt !== undefined && output.CreatedAt !== null + ? new Date(Math.round(output.CreatedAt * 1000)) + : undefined, + Database: output.Database !== undefined && output.Database !== null ? output.Database : undefined, + DbUser: output.DbUser !== undefined && output.DbUser !== null ? output.DbUser : undefined, + Duration: output.Duration !== undefined && output.Duration !== null ? output.Duration : undefined, + Error: output.Error !== undefined && output.Error !== null ? output.Error : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + QueryString: output.QueryString !== undefined && output.QueryString !== null ? output.QueryString : undefined, + RedshiftPid: output.RedshiftPid !== undefined && output.RedshiftPid !== null ? output.RedshiftPid : undefined, + RedshiftQueryId: + output.RedshiftQueryId !== undefined && output.RedshiftQueryId !== null ? output.RedshiftQueryId : undefined, + ResultRows: output.ResultRows !== undefined && output.ResultRows !== null ? output.ResultRows : undefined, + ResultSize: output.ResultSize !== undefined && output.ResultSize !== null ? output.ResultSize : undefined, + SecretArn: output.SecretArn !== undefined && output.SecretArn !== null ? output.SecretArn : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + UpdatedAt: + output.UpdatedAt !== undefined && output.UpdatedAt !== null + ? new Date(Math.round(output.UpdatedAt * 1000)) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeTableResponse = (output: any, context: __SerdeContext): DescribeTableResponse => { + return { + ColumnList: + output.ColumnList !== undefined && output.ColumnList !== null + ? deserializeAws_json1_1ColumnList(output.ColumnList, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + TableName: output.TableName !== undefined && output.TableName !== null ? output.TableName : undefined, + } as any; +}; + +const deserializeAws_json1_1ExecuteStatementException = ( + output: any, + context: __SerdeContext +): ExecuteStatementException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + StatementId: output.StatementId !== undefined && output.StatementId !== null ? output.StatementId : undefined, + } as any; +}; + +const deserializeAws_json1_1ExecuteStatementOutput = (output: any, context: __SerdeContext): ExecuteStatementOutput => { + return { + ClusterIdentifier: + output.ClusterIdentifier !== undefined && output.ClusterIdentifier !== null + ? output.ClusterIdentifier + : undefined, + CreatedAt: + output.CreatedAt !== undefined && output.CreatedAt !== null + ? new Date(Math.round(output.CreatedAt * 1000)) + : undefined, + Database: output.Database !== undefined && output.Database !== null ? output.Database : undefined, + DbUser: output.DbUser !== undefined && output.DbUser !== null ? output.DbUser : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + SecretArn: output.SecretArn !== undefined && output.SecretArn !== null ? output.SecretArn : undefined, + } as any; +}; + +const deserializeAws_json1_1Field = (output: any, context: __SerdeContext): Field => { + if (output.blobValue !== undefined && output.blobValue !== null) { + return { + blobValue: context.base64Decoder(output.blobValue), + }; + } + if (output.booleanValue !== undefined && output.booleanValue !== null) { + return { + booleanValue: output.booleanValue, + }; + } + if (output.doubleValue !== undefined && output.doubleValue !== null) { + return { + doubleValue: output.doubleValue, + }; + } + if (output.isNull !== undefined && output.isNull !== null) { + return { + isNull: output.isNull, + }; + } + if (output.longValue !== undefined && output.longValue !== null) { + return { + longValue: output.longValue, + }; + } + if (output.stringValue !== undefined && output.stringValue !== null) { + return { + stringValue: output.stringValue, + }; + } + return { $unknown: Object.entries(output)[0] }; +}; + +const deserializeAws_json1_1FieldList = (output: any, context: __SerdeContext): Field[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1Field(entry, context)); +}; + +const deserializeAws_json1_1GetStatementResultResponse = ( + output: any, + context: __SerdeContext +): GetStatementResultResponse => { + return { + ColumnMetadata: + output.ColumnMetadata !== undefined && output.ColumnMetadata !== null + ? deserializeAws_json1_1ColumnMetadataList(output.ColumnMetadata, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + Records: + output.Records !== undefined && output.Records !== null + ? deserializeAws_json1_1SqlRecords(output.Records, context) + : undefined, + TotalNumRows: output.TotalNumRows !== undefined && output.TotalNumRows !== null ? output.TotalNumRows : undefined, + } as any; +}; + +const deserializeAws_json1_1InternalServerException = ( + output: any, + context: __SerdeContext +): InternalServerException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1ListDatabasesResponse = (output: any, context: __SerdeContext): ListDatabasesResponse => { + return { + Databases: + output.Databases !== undefined && output.Databases !== null + ? deserializeAws_json1_1DatabaseList(output.Databases, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : 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_1SchemaList(output.Schemas, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListStatementsResponse = (output: any, context: __SerdeContext): ListStatementsResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + Statements: + output.Statements !== undefined && output.Statements !== null + ? deserializeAws_json1_1StatementList(output.Statements, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListTablesResponse = (output: any, context: __SerdeContext): ListTablesResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + Tables: + output.Tables !== undefined && output.Tables !== null + ? deserializeAws_json1_1TableList(output.Tables, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ResourceNotFoundException = ( + output: any, + context: __SerdeContext +): ResourceNotFoundException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + ResourceId: output.ResourceId !== undefined && output.ResourceId !== null ? output.ResourceId : undefined, + } as any; +}; + +const deserializeAws_json1_1SchemaList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1SqlRecords = (output: any, context: __SerdeContext): Field[][] => { + return (output || []).map((entry: any) => deserializeAws_json1_1FieldList(entry, context)); +}; + +const deserializeAws_json1_1StatementData = (output: any, context: __SerdeContext): StatementData => { + return { + CreatedAt: + output.CreatedAt !== undefined && output.CreatedAt !== null + ? new Date(Math.round(output.CreatedAt * 1000)) + : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + QueryString: output.QueryString !== undefined && output.QueryString !== null ? output.QueryString : undefined, + SecretArn: output.SecretArn !== undefined && output.SecretArn !== null ? output.SecretArn : undefined, + StatementName: + output.StatementName !== undefined && output.StatementName !== null ? output.StatementName : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + UpdatedAt: + output.UpdatedAt !== undefined && output.UpdatedAt !== null + ? new Date(Math.round(output.UpdatedAt * 1000)) + : undefined, + } as any; +}; + +const deserializeAws_json1_1StatementList = (output: any, context: __SerdeContext): StatementData[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1StatementData(entry, context)); +}; + +const deserializeAws_json1_1TableList = (output: any, context: __SerdeContext): TableMember[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1TableMember(entry, context)); +}; + +const deserializeAws_json1_1TableMember = (output: any, context: __SerdeContext): TableMember => { + return { + name: output.name !== undefined && output.name !== null ? output.name : undefined, + schema: output.schema !== undefined && output.schema !== null ? output.schema : undefined, + type: output.type !== undefined && output.type !== null ? output.type : undefined, + } as any; +}; + +const deserializeAws_json1_1ValidationException = (output: any, context: __SerdeContext): ValidationException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ + httpStatusCode: output.statusCode, + httpHeaders: output.headers, + requestId: output.headers["x-amzn-requestid"], +}); + +// Collect low-level response body stream to Uint8Array. +const collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => { + if (streamBody instanceof Uint8Array) { + return Promise.resolve(streamBody); + } + return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); +}; + +// Encode Uint8Array data into string with utf-8. +const collectBodyString = (streamBody: any, context: __SerdeContext): Promise => + collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); + +const buildHttpRpcRequest = async ( + context: __SerdeContext, + headers: __HeaderBag, + path: string, + resolvedHostname: string | undefined, + body: any +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port } = await context.endpoint(); + const contents: any = { + protocol, + hostname, + port, + method: "POST", + path, + headers, + }; + if (resolvedHostname !== undefined) { + contents.hostname = resolvedHostname; + } + if (body !== undefined) { + contents.body = body; + } + return new __HttpRequest(contents); +}; + +const parseBody = (streamBody: any, context: __SerdeContext): any => + collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); diff --git a/clients/client-redshift-data/runtimeConfig.browser.ts b/clients/client-redshift-data/runtimeConfig.browser.ts new file mode 100644 index 000000000000..267563ead143 --- /dev/null +++ b/clients/client-redshift-data/runtimeConfig.browser.ts @@ -0,0 +1,31 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-browser"; +import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler"; +import { invalidFunction } from "@aws-sdk/invalid-dependency"; +import { DEFAULT_MAX_ATTEMPTS } from "@aws-sdk/middleware-retry"; +import { parseUrl } from "@aws-sdk/url-parser-browser"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-browser"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser"; +import { ClientDefaults } from "./RedshiftDataClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "browser", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider: invalidFunction("Credential is missing") as any, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: DEFAULT_MAX_ATTEMPTS, + region: invalidFunction("Region is missing") as any, + requestHandler: new FetchHttpHandler(), + sha256: Sha256, + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-redshift-data/runtimeConfig.native.ts b/clients/client-redshift-data/runtimeConfig.native.ts new file mode 100644 index 000000000000..88e1bde7a2f8 --- /dev/null +++ b/clients/client-redshift-data/runtimeConfig.native.ts @@ -0,0 +1,14 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-js"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { ClientDefaults } from "./RedshiftDataClient"; +import { ClientDefaultValues as BrowserDefaults } from "./runtimeConfig.browser"; + +export const ClientDefaultValues: Required = { + ...BrowserDefaults, + runtime: "react-native", + defaultUserAgent: `aws-sdk-js-v3-react-native-${packageInfo.name}/${packageInfo.version}`, + sha256: Sha256, + urlParser: parseUrl, +}; diff --git a/clients/client-redshift-data/runtimeConfig.shared.ts b/clients/client-redshift-data/runtimeConfig.shared.ts new file mode 100644 index 000000000000..121692426b9f --- /dev/null +++ b/clients/client-redshift-data/runtimeConfig.shared.ts @@ -0,0 +1,10 @@ +import { defaultRegionInfoProvider } from "./endpoints"; +import { Logger as __Logger } from "@aws-sdk/types"; + +export const ClientSharedValues = { + apiVersion: "2019-12-20", + disableHostPrefix: false, + logger: {} as __Logger, + regionInfoProvider: defaultRegionInfoProvider, + signingName: "redshift-data", +}; diff --git a/clients/client-redshift-data/runtimeConfig.ts b/clients/client-redshift-data/runtimeConfig.ts new file mode 100644 index 000000000000..03821cfbcae4 --- /dev/null +++ b/clients/client-redshift-data/runtimeConfig.ts @@ -0,0 +1,33 @@ +import packageInfo from "./package.json"; + +import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@aws-sdk/config-resolver"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; +import { Hash } from "@aws-sdk/hash-node"; +import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry"; +import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider"; +import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-node"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node"; +import { ClientDefaults } from "./RedshiftDataClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "node", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: new NodeHttpHandler(), + sha256: Hash.bind(null, "sha256"), + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-redshift-data/tsconfig.es.json b/clients/client-redshift-data/tsconfig.es.json new file mode 100644 index 000000000000..30df5d2e6986 --- /dev/null +++ b/clients/client-redshift-data/tsconfig.es.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "target": "es5", + "module": "esnext", + "moduleResolution": "node", + "declaration": false, + "declarationDir": null, + "lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], + "outDir": "dist/es" + } +} diff --git a/clients/client-redshift-data/tsconfig.json b/clients/client-redshift-data/tsconfig.json new file mode 100644 index 000000000000..3b440583a9a2 --- /dev/null +++ b/clients/client-redshift-data/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "alwaysStrict": true, + "target": "ES2018", + "module": "commonjs", + "declaration": true, + "strict": true, + "sourceMap": true, + "downlevelIteration": true, + "importHelpers": true, + "noEmitHelpers": true, + "incremental": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "declarationDir": "./types", + "outDir": "dist/cjs" + }, + "typedocOptions": { + "exclude": "**/node_modules/**", + "excludedNotExported": true, + "excludePrivate": true, + "hideGenerator": true, + "ignoreCompilerErrors": true, + "mode": "file", + "out": "./docs", + "plugin": "@aws-sdk/client-documentation-generator" + } +} diff --git a/clients/client-redshift/Redshift.ts b/clients/client-redshift/Redshift.ts index 209325efc2f0..ea39246342a3 100644 --- a/clients/client-redshift/Redshift.ts +++ b/clients/client-redshift/Redshift.ts @@ -3601,6 +3601,12 @@ export class Redshift extends RedshiftClient { *

                                  You can only resize clusters of the following types:

                                  *
                                    *
                                  • + *

                                    dc1.large (if your cluster is in a VPC)

                                    + *
                                  • + *
                                  • + *

                                    dc1.8xlarge (if your cluster is in a VPC)

                                    + *
                                  • + *
                                  • *

                                    dc2.large

                                    *
                                  • *
                                  • diff --git a/clients/client-redshift/index.ts b/clients/client-redshift/index.ts index b818975d0ffe..27f78973d86b 100644 --- a/clients/client-redshift/index.ts +++ b/clients/client-redshift/index.ts @@ -51,6 +51,7 @@ export * from "./commands/DescribeClusterTracksCommand"; export * from "./commands/DescribeClusterVersionsCommand"; export * from "./pagination/DescribeClusterVersionsPaginator"; export * from "./commands/DescribeDefaultClusterParametersCommand"; +export * from "./pagination/DescribeDefaultClusterParametersPaginator"; export * from "./commands/DescribeEventCategoriesCommand"; export * from "./commands/DescribeEventsCommand"; export * from "./pagination/DescribeEventsPaginator"; diff --git a/clients/client-redshift/models/models_0.ts b/clients/client-redshift/models/models_0.ts index d33e214e4300..8e490cc96bf3 100644 --- a/clients/client-redshift/models/models_0.ts +++ b/clients/client-redshift/models/models_0.ts @@ -51,32 +51,11 @@ export type ReservedNodeOfferingType = "Regular" | "Upgradable"; * offerings.

                                    */ export interface ReservedNode { - /** - *

                                    The recurring charges for the reserved node.

                                    - */ - RecurringCharges?: RecurringCharge[]; - - /** - *

                                    - */ - ReservedNodeOfferingType?: ReservedNodeOfferingType | string; - /** *

                                    The fixed cost Amazon Redshift charges you for this reserved node.

                                    */ FixedPrice?: number; - /** - *

                                    The identifier for the reserved node offering.

                                    - */ - ReservedNodeOfferingId?: 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 state of the reserved compute node.

                                    *

                                    Possible Values:

                                    @@ -103,20 +82,35 @@ 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; /** - *

                                    The number of reserved compute nodes.

                                    + *

                                    */ - NodeCount?: number; + ReservedNodeOfferingType?: ReservedNodeOfferingType | string; /** - *

                                    The duration of the node reservation in seconds.

                                    + *

                                    The recurring charges for the reserved node.

                                    */ - Duration?: number; + RecurringCharges?: RecurringCharge[]; + + /** + *

                                    The number of reserved compute nodes.

                                    + */ + NodeCount?: number; /** *

                                    The anticipated utilization of the reserved node, as defined in the reserved node @@ -125,19 +119,25 @@ export interface ReservedNode { OfferingType?: string; /** - *

                                    The unique identifier for the reservation.

                                    + *

                                    The time the reservation started. You purchase a reserved node offering for a + * duration. This is the start time of that duration.

                                    */ - ReservedNodeId?: string; + StartTime?: Date; /** - *

                                    The currency code for the reserved cluster.

                                    + *

                                    The duration of the node reservation in seconds.

                                    */ - CurrencyCode?: string; + Duration?: number; /** *

                                    The hourly rate Amazon Redshift charges you for this reserved node.

                                    */ UsagePrice?: number; + + /** + *

                                    The unique identifier for the reservation.

                                    + */ + ReservedNodeId?: string; } export namespace ReservedNode { @@ -302,14 +302,14 @@ export namespace AttributeValueTarget { */ export interface AccountAttribute { /** - *

                                    The name of the attribute.

                                    + *

                                    A list of attribute values.

                                    */ - AttributeName?: string; + AttributeValues?: AttributeValueTarget[]; /** - *

                                    A list of attribute values.

                                    + *

                                    The name of the attribute.

                                    */ - AttributeValues?: AttributeValueTarget[]; + AttributeName?: string; } 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 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; + + /** + *

                                    The identifier of an AWS customer account authorized to restore a + * snapshot.

                                    + */ + AccountId?: string; } export namespace AccountWithRestoreAccess { @@ -369,12 +369,12 @@ export interface ClusterAssociatedToSchedule { /** *

                                    */ - ScheduleAssociationState?: ScheduleState | string; + ClusterIdentifier?: string; /** *

                                    */ - ClusterIdentifier?: string; + ScheduleAssociationState?: ScheduleState | string; } export namespace ClusterAssociatedToSchedule { @@ -435,20 +435,15 @@ export namespace AuthorizationQuotaExceededFault { */ export interface AuthorizeClusterSecurityGroupIngressMessage { /** - *

                                    The name of the security group to which the ingress rule is added.

                                    + *

                                    The EC2 security group to be added the Amazon Redshift security group.

                                    */ - ClusterSecurityGroupName: string | undefined; + EC2SecurityGroupName?: string; /** *

                                    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 @@ -457,6 +452,11 @@ export interface AuthorizeClusterSecurityGroupIngressMessage { *

                                    */ EC2SecurityGroupOwnerId?: string; + + /** + *

                                    The name of the security group to which the ingress rule is added.

                                    + */ + ClusterSecurityGroupName: string | undefined; } export namespace AuthorizeClusterSecurityGroupIngressMessage { @@ -470,14 +470,14 @@ export namespace AuthorizeClusterSecurityGroupIngressMessage { */ export interface Tag { /** - *

                                    The value for the resource tag.

                                    + *

                                    The key, or name, for the resource tag.

                                    */ - Value?: string; + Key?: string; /** - *

                                    The key, or name, for the resource tag.

                                    + *

                                    The value for the resource tag.

                                    */ - Key?: string; + Value?: string; } export namespace Tag { @@ -497,14 +497,14 @@ export interface EC2SecurityGroup { EC2SecurityGroupOwnerId?: string; /** - *

                                    The name of the EC2 Security Group.

                                    + *

                                    The list of tags for the EC2 security group.

                                    */ - EC2SecurityGroupName?: string; + Tags?: Tag[]; /** - *

                                    The list of tags for the EC2 security group.

                                    + *

                                    The name of the EC2 Security Group.

                                    */ - Tags?: Tag[]; + EC2SecurityGroupName?: string; /** *

                                    The status of the EC2 security group.

                                    @@ -549,32 +549,32 @@ export namespace IPRange { */ export interface ClusterSecurityGroup { /** - *

                                    The list of tags for the cluster security group.

                                    + *

                                    A list of EC2 security groups that are permitted to access clusters associated with + * this cluster security group.

                                    */ - Tags?: Tag[]; + EC2SecurityGroups?: EC2SecurityGroup[]; /** - *

                                    The name of the cluster security group to which the operation was - * applied.

                                    + *

                                    A list of IP ranges (CIDR blocks) that are permitted to access clusters associated + * with this cluster security group.

                                    */ - ClusterSecurityGroupName?: string; + IPRanges?: IPRange[]; /** - *

                                    A description of the security group.

                                    + *

                                    The name of the cluster security group to which the operation was + * applied.

                                    */ - Description?: string; + ClusterSecurityGroupName?: string; /** - *

                                    A list of EC2 security groups that are permitted to access clusters associated with - * this cluster security group.

                                    + *

                                    The list of tags for the cluster security group.

                                    */ - EC2SecurityGroups?: EC2SecurityGroup[]; + Tags?: Tag[]; /** - *

                                    A list of IP ranges (CIDR blocks) that are permitted to access clusters associated - * with this cluster security group.

                                    + *

                                    A description of the security group.

                                    */ - IPRanges?: IPRange[]; + Description?: string; } export namespace ClusterSecurityGroup { @@ -662,44 +662,20 @@ export namespace AuthorizeSnapshotAccessMessage { */ export interface Snapshot { /** - *

                                    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.

                                    - */ - EncryptedWithHSM?: boolean; - - /** - *

                                    The version ID of the Amazon Redshift engine that is running on the cluster.

                                    - */ - ClusterVersion?: string; - - /** - *

                                    The name of the maintenance track for the snapshot.

                                    - */ - MaintenanceTrackName?: string; - - /** - *

                                    The estimate of the time remaining before the snapshot backup will complete. - * Returns 0 for a completed backup.

                                    - */ - EstimatedSecondsToCompletion?: number; - - /** - *

                                    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 identifier of the cluster for which the snapshot was taken.

                                    */ - ElapsedTimeInSeconds?: number; + ClusterIdentifier?: string; /** - *

                                    The number of megabytes per second being transferred to the snapshot backup. - * Returns 0 for a completed backup.

                                    + *

                                    The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. + * Otherwise, this field is not in the output.

                                    */ - CurrentBackupRateInMegaBytesPerSecond?: number; + VpcId?: string; /** - *

                                    The number of days until a manual snapshot will pass its retention period.

                                    + *

                                    The list of tags for the cluster snapshot.

                                    */ - ManualSnapshotRemainingDays?: number; + Tags?: Tag[]; /** *

                                    The snapshot status. The value of the status depends on the API operation used:

                                    @@ -722,32 +698,31 @@ export interface Snapshot { Status?: string; /** - *

                                    The identifier of the cluster for which the snapshot was taken.

                                    + *

                                    The number of days until a manual snapshot will pass its retention period.

                                    */ - ClusterIdentifier?: string; + ManualSnapshotRemainingDays?: number; /** - *

                                    The number of megabytes that have been transferred to the snapshot - * backup.

                                    + *

                                    If true, the data in the snapshot is encrypted at rest.

                                    */ - BackupProgressInMegaBytes?: number; + Encrypted?: boolean; /** - *

                                    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 amount of time an in-progress snapshot backup has been running, or the amount + * of time it took a completed backup to finish.

                                    */ - AccountsWithRestoreAccess?: AccountWithRestoreAccess[]; + ElapsedTimeInSeconds?: number; /** - *

                                    The size of the incremental backup.

                                    + *

                                    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.

                                    */ - ActualIncrementalBackupSizeInMegaBytes?: number; + KmsKeyId?: string; /** - *

                                    The number of nodes in the cluster.

                                    + *

                                    The source region from which the snapshot was copied.

                                    */ - NumberOfNodes?: number; + SourceRegion?: string; /** *

                                    The number of days that a manual snapshot is retained. If the value is -1, the manual @@ -758,36 +733,32 @@ export interface Snapshot { ManualSnapshotRetentionPeriod?: 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 name of the database that was created when the cluster was created.

                                    */ - SnapshotCreateTime?: Date; + DBName?: 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

                                    + *

                                    The Availability Zone in which the cluster was created.

                                    */ - EnhancedVpcRouting?: boolean; + AvailabilityZone?: string; /** - *

                                    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 number of megabytes that have been transferred to the snapshot + * backup.

                                    */ - KmsKeyId?: string; + BackupProgressInMegaBytes?: number; /** - *

                                    The source region from which the snapshot was copied.

                                    + *

                                    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. + *

                                    */ - SourceRegion?: string; + AccountsWithRestoreAccess?: AccountWithRestoreAccess[]; /** - *

                                    The name of the database that was created when the cluster was created.

                                    + *

                                    The size of the incremental backup.

                                    */ - DBName?: string; + ActualIncrementalBackupSizeInMegaBytes?: number; /** *

                                    The master user name for the cluster.

                                    @@ -795,42 +766,49 @@ export interface Snapshot { MasterUsername?: string; /** - *

                                    The Availability Zone in which the cluster was created.

                                    + *

                                    The number of megabytes per second being transferred to the snapshot backup. + * Returns 0 for a completed backup.

                                    */ - AvailabilityZone?: string; + CurrentBackupRateInMegaBytesPerSecond?: number; /** - *

                                    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 size of the complete set of backup data that would be used to restore the + * cluster.

                                    */ - VpcId?: string; + TotalBackupSizeInMegaBytes?: number; /** - *

                                    If true, the data in the snapshot is encrypted at rest.

                                    + *

                                    The estimate of the time remaining before the snapshot backup will complete. + * Returns 0 for a completed backup.

                                    */ - Encrypted?: boolean; + EstimatedSecondsToCompletion?: number; /** - *

                                    The snapshot identifier that is provided in the request.

                                    + *

                                    The port that the cluster is listening on.

                                    */ - SnapshotIdentifier?: string; + Port?: number; /** - *

                                    The list of node types that this cluster snapshot is able to restore - * into.

                                    + *

                                    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.

                                    */ - RestorableNodeTypes?: string[]; + SnapshotCreateTime?: Date; /** - *

                                    The port that the cluster is listening on.

                                    + *

                                    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

                                    */ - Port?: number; + EnhancedVpcRouting?: boolean; /** - *

                                    The size of the complete set of backup data that would be used to restore the - * cluster.

                                    + *

                                    The snapshot type. Snapshots created using CreateClusterSnapshot + * and CopyClusterSnapshot are of type "manual".

                                    */ - TotalBackupSizeInMegaBytes?: number; + SnapshotType?: string; /** *

                                    The time (UTC) when the cluster was originally created.

                                    @@ -838,10 +816,9 @@ export interface Snapshot { ClusterCreateTime?: Date; /** - *

                                    The snapshot type. Snapshots created using CreateClusterSnapshot - * and CopyClusterSnapshot are of type "manual".

                                    + *

                                    The number of nodes in the cluster.

                                    */ - SnapshotType?: string; + NumberOfNodes?: number; /** *

                                    The node type of the nodes in the cluster.

                                    @@ -849,9 +826,27 @@ export interface Snapshot { NodeType?: string; /** - *

                                    The list of tags for the cluster snapshot.

                                    + *

                                    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.

                                    */ - Tags?: Tag[]; + EncryptedWithHSM?: boolean; + + /** + *

                                    The list of node types that this cluster snapshot is able to restore + * into.

                                    + */ + RestorableNodeTypes?: string[]; + + /** + *

                                    A timestamp representing the start of the retention period for the snapshot.

                                    + */ + SnapshotRetentionStartTime?: Date; + + /** + *

                                    The name of the maintenance track for the snapshot.

                                    + */ + MaintenanceTrackName?: string; /** *

                                    For manual snapshots, the AWS customer account used to create or copy the snapshot. @@ -861,9 +856,14 @@ export interface Snapshot { OwnerAccount?: string; /** - *

                                    A timestamp representing the start of the retention period for the snapshot.

                                    + *

                                    The snapshot identifier that is provided in the request.

                                    */ - SnapshotRetentionStartTime?: Date; + SnapshotIdentifier?: string; + + /** + *

                                    The version ID of the Amazon Redshift engine that is running on the cluster.

                                    + */ + ClusterVersion?: string; } export namespace Snapshot { @@ -968,14 +968,14 @@ export namespace SupportedPlatform { */ export interface AvailabilityZone { /** - *

                                    The name of the availability zone.

                                    + *

                                    */ - Name?: string; + SupportedPlatforms?: SupportedPlatform[]; /** - *

                                    + *

                                    The name of the availability zone.

                                    */ - SupportedPlatforms?: SupportedPlatform[]; + Name?: string; } export namespace AvailabilityZone { @@ -988,14 +988,6 @@ export namespace AvailabilityZone { *

                                    */ export interface DeleteClusterSnapshotMessage { - /** - *

                                    The unique 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 - * specifies anything other than * for the cluster name.

                                    - *

                                    Constraints: Must be the name of valid cluster.

                                    - */ - SnapshotClusterIdentifier?: string; - /** *

                                    The unique identifier of the manual snapshot to be deleted.

                                    *

                                    Constraints: Must be the name of an existing snapshot that is in the @@ -1003,6 +995,14 @@ export interface DeleteClusterSnapshotMessage { * state.

                                    */ SnapshotIdentifier: string | undefined; + + /** + *

                                    The unique 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 + * specifies anything other than * for the cluster name.

                                    + *

                                    Constraints: Must be the name of valid cluster.

                                    + */ + SnapshotClusterIdentifier?: string; } export namespace DeleteClusterSnapshotMessage { @@ -1033,11 +1033,6 @@ export interface SnapshotErrorMessage { */ FailureReason?: string; - /** - *

                                    A unique identifier for the snapshot returning the error.

                                    - */ - SnapshotIdentifier?: string; - /** *

                                    A unique identifier for the cluster.

                                    */ @@ -1047,6 +1042,11 @@ export interface SnapshotErrorMessage { *

                                    The failure code for the error.

                                    */ FailureCode?: string; + + /** + *

                                    A unique identifier for the snapshot returning the error.

                                    + */ + SnapshotIdentifier?: string; } export namespace SnapshotErrorMessage { @@ -1117,15 +1117,15 @@ export interface BatchModifyClusterSnapshotsMessage { ManualSnapshotRetentionPeriod?: number; /** - *

                                    A boolean value indicating whether to override an exception if the retention period - * has passed.

                                    + *

                                    A list of snapshot identifiers you want to modify.

                                    */ - Force?: boolean; + SnapshotIdentifierList: string[] | undefined; /** - *

                                    A list of snapshot identifiers you want to modify.

                                    + *

                                    A boolean value indicating whether to override an exception if the retention period + * has passed.

                                    */ - SnapshotIdentifierList: string[] | undefined; + Force?: boolean; } export namespace BatchModifyClusterSnapshotsMessage { @@ -1248,32 +1248,19 @@ export namespace ResizeNotFoundFault { */ export interface ResizeProgressMessage { /** - *

                                    An enum with possible values of ClassicResize and - * ElasticResize. These values describe the type of resize operation being - * performed.

                                    - */ - ResizeType?: string; - - /** - *

                                    The number of nodes that the cluster will have after the resize operation is - * complete.

                                    - */ - TargetNumberOfNodes?: 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 status of the resize operation.

                                    + *

                                    Valid Values: NONE | IN_PROGRESS | FAILED | + * SUCCEEDED | CANCELLING + *

                                    */ - AvgResizeRateInMegaBytesPerSecond?: number; + 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 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.

                                    */ - EstimatedTimeToCompletionInSeconds?: number; + ElapsedTimeInSeconds?: number; /** *

                                    The names of tables that have not been yet imported.

                                    @@ -1281,13 +1268,6 @@ export interface ResizeProgressMessage { */ ImportTablesNotStarted?: 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.

                                    - */ - ElapsedTimeInSeconds?: number; - /** *

                                    The cluster type after the resize operation is complete.

                                    *

                                    Valid Values: multi-node | single-node @@ -1296,9 +1276,18 @@ export interface ResizeProgressMessage { TargetClusterType?: string; /** - *

                                    The percent of data transferred from source cluster to target cluster.

                                    + *

                                    The type of encryption for the cluster after the resize is complete.

                                    + *

                                    Possible values are KMS and None.

                                    */ - DataTransferProgressPercent?: number; + TargetEncryptionType?: 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.

                                    + */ + EstimatedTimeToCompletionInSeconds?: number; /** *

                                    The node type that the cluster will have after the resize operation is @@ -1313,22 +1302,17 @@ export interface ResizeProgressMessage { ImportTablesCompleted?: string[]; /** - *

                                    An optional string to provide additional details about the resize action.

                                    - */ - Message?: string; - - /** - *

                                    The estimated total amount of data, in megabytes, on the cluster before the resize - * operation began.

                                    + *

                                    The number of nodes that the cluster will have after the resize operation is + * complete.

                                    */ - TotalResizeDataInMegaBytes?: number; + TargetNumberOfNodes?: number; /** - *

                                    The type of encryption for the cluster after the resize is complete.

                                    - *

                                    Possible values are KMS and None. In the China region - * possible values are: Legacy and None.

                                    + *

                                    An enum with possible values of ClassicResize and + * ElasticResize. These values describe the type of resize operation being + * performed.

                                    */ - TargetEncryptionType?: string; + ResizeType?: string; /** *

                                    While the resize operation is in progress, this value shows the current amount of @@ -1339,6 +1323,13 @@ 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.

                                    + */ + AvgResizeRateInMegaBytesPerSecond?: number; + /** *

                                    The names of tables that are being currently imported.

                                    *

                                    Valid Values: List of table names.

                                    @@ -1346,12 +1337,20 @@ export interface ResizeProgressMessage { ImportTablesInProgress?: string[]; /** - *

                                    The status of the resize operation.

                                    - *

                                    Valid Values: NONE | IN_PROGRESS | FAILED | - * SUCCEEDED | CANCELLING - *

                                    + *

                                    An optional string to provide additional details about the resize action.

                                    */ - Status?: string; + Message?: string; + + /** + *

                                    The estimated total amount of data, in megabytes, on the cluster before the resize + * operation began.

                                    + */ + TotalResizeDataInMegaBytes?: number; + + /** + *

                                    The percent of data transferred from source cluster to target cluster.

                                    + */ + DataTransferProgressPercent?: number; } export namespace ResizeProgressMessage { @@ -1364,6 +1363,11 @@ export namespace ResizeProgressMessage { *

                                    The identifier of a node in a cluster.

                                    */ export interface ClusterNode { + /** + *

                                    The public IP address of a node within a cluster.

                                    + */ + PublicIPAddress?: string; + /** *

                                    The private IP address of a node within a cluster.

                                    */ @@ -1373,11 +1377,6 @@ export interface ClusterNode { *

                                    Whether the node is a leader node or a compute node.

                                    */ NodeRole?: string; - - /** - *

                                    The public IP address of a node within a cluster.

                                    - */ - PublicIPAddress?: string; } export namespace ClusterNode { @@ -1436,15 +1435,15 @@ export interface ClusterParameterStatus { ParameterApplyStatus?: string; /** - *

                                    The error that prevented the parameter from being applied to the - * database.

                                    + *

                                    The name of the parameter.

                                    */ - ParameterApplyErrorDescription?: string; + ParameterName?: string; /** - *

                                    The name of the parameter.

                                    + *

                                    The error that prevented the parameter from being applied to the + * database.

                                    */ - ParameterName?: string; + ParameterApplyErrorDescription?: string; } export namespace ClusterParameterStatus { @@ -1458,9 +1457,13 @@ export namespace ClusterParameterStatus { */ export interface ClusterParameterGroupStatus { /** - *

                                    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[]; /** *

                                    The status of parameter updates.

                                    @@ -1468,13 +1471,9 @@ export interface ClusterParameterGroupStatus { ParameterApplyStatus?: string; /** - *

                                    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; } export namespace ClusterParameterGroupStatus { @@ -1510,15 +1509,15 @@ export namespace ClusterSecurityGroupMembership { */ export interface ClusterSnapshotCopyStatus { /** - *

                                    The number of days that automated snapshots are retained in the destination region - * after they are copied from a source region.

                                    + *

                                    The name of the snapshot copy grant.

                                    */ - RetentionPeriod?: number; + SnapshotCopyGrantName?: string; /** - *

                                    The name of the snapshot copy grant.

                                    + *

                                    The number of days that automated snapshots are retained in the destination region + * after they are copied from a source region.

                                    */ - SnapshotCopyGrantName?: string; + RetentionPeriod?: number; /** *

                                    The number of days that automated snapshots are retained in the destination region @@ -1557,6 +1556,11 @@ export interface DataTransferProgress { */ Status?: string; + /** + *

                                    Describes the data transfer rate in MB's per second.

                                    + */ + CurrentRateInMegaBytesPerSecond?: number; + /** *

                                    Describes the number of seconds that have elapsed during the data transfer.

                                    */ @@ -1571,11 +1575,6 @@ export interface DataTransferProgress { *

                                    Describes the total amount of data that has been transfered in MB's.

                                    */ DataTransferredInMegaBytes?: number; - - /** - *

                                    Describes the data transfer rate in MB's per second.

                                    - */ - CurrentRateInMegaBytesPerSecond?: number; } export namespace DataTransferProgress { @@ -1589,14 +1588,14 @@ export namespace DataTransferProgress { */ export interface DeferredMaintenanceWindow { /** - *

                                    A unique identifier for the maintenance window.

                                    + *

                                    A timestamp for the end of the time period when we defer maintenance.

                                    */ - DeferMaintenanceIdentifier?: string; + DeferMaintenanceEndTime?: Date; /** - *

                                    A timestamp for the end of the time period when we defer maintenance.

                                    + *

                                    A unique identifier for the maintenance window.

                                    */ - DeferMaintenanceEndTime?: Date; + DeferMaintenanceIdentifier?: string; /** *

                                    A timestamp for the beginning of the time period when we defer maintenance.

                                    @@ -1615,14 +1614,14 @@ export namespace DeferredMaintenanceWindow { */ export interface ElasticIpStatus { /** - *

                                    The status of the elastic IP (EIP) address.

                                    + *

                                    The elastic IP (EIP) address for the cluster.

                                    */ - Status?: string; + ElasticIp?: string; /** - *

                                    The elastic IP (EIP) address for the cluster.

                                    + *

                                    The status of the elastic IP (EIP) address.

                                    */ - ElasticIp?: string; + Status?: string; } export namespace ElasticIpStatus { @@ -1656,6 +1655,12 @@ export namespace Endpoint { *

                                    Describes the status of changes to HSM settings.

                                    */ export interface HsmStatus { + /** + *

                                    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; + /** *

                                    Reports whether the Amazon Redshift cluster has finished applying any HSM settings * changes specified in a modify cluster command.

                                    @@ -1663,12 +1668,6 @@ export interface HsmStatus { */ Status?: string; - /** - *

                                    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; - /** *

                                    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.

                                    @@ -1729,9 +1728,9 @@ export namespace ClusterIamRole { */ export interface PendingModifiedValues { /** - *

                                    The pending or in-progress change of the service version.

                                    + *

                                    The pending or in-progress change of the cluster type.

                                    */ - ClusterVersion?: string; + ClusterType?: string; /** *

                                    The pending or in-progress change of the ability to connect to the cluster from the @@ -1740,19 +1739,25 @@ export interface PendingModifiedValues { PubliclyAccessible?: boolean; /** - *

                                    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 pending or in-progress change of the number of nodes in the cluster.

                                    + *

                                    The pending or in-progress change of the master user password for the + * cluster.

                                    */ - NumberOfNodes?: number; + MasterUserPassword?: string; /** - *

                                    The pending or in-progress change of the cluster type.

                                    + *

                                    The pending or in-progress change of the new identifier for the cluster.

                                    */ - ClusterType?: string; + ClusterIdentifier?: string; + + /** + *

                                    The encryption type for a cluster. Possible values are: KMS and None.

                                    + */ + EncryptionType?: string; /** *

                                    The name of the maintenance track that the cluster will change to during the next @@ -1760,6 +1765,11 @@ export interface PendingModifiedValues { */ MaintenanceTrackName?: string; + /** + *

                                    The pending or in-progress change of the cluster's node type.

                                    + */ + NodeType?: 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 @@ -1770,12 +1780,6 @@ export interface PendingModifiedValues { */ EnhancedVpcRouting?: boolean; - /** - *

                                    The pending or in-progress change of the master user password for the - * cluster.

                                    - */ - MasterUserPassword?: string; - /** *

                                    The pending or in-progress change of the automated snapshot retention * period.

                                    @@ -1783,15 +1787,9 @@ export interface PendingModifiedValues { AutomatedSnapshotRetentionPeriod?: number; /** - *

                                    The encryption type for a cluster. Possible values are: KMS and None. For the China - * region the possible values are None, and Legacy.

                                    - */ - EncryptionType?: string; - - /** - *

                                    The pending or in-progress change of the cluster's node type.

                                    + *

                                    The pending or in-progress change of the number of nodes in the cluster.

                                    */ - NodeType?: string; + NumberOfNodes?: number; } export namespace PendingModifiedValues { @@ -1805,14 +1803,14 @@ export namespace PendingModifiedValues { */ export interface ResizeInfo { /** - *

                                    A boolean value indicating if the resize operation can be cancelled.

                                    + *

                                    Returns the value ClassicResize.

                                    */ - AllowCancelResize?: boolean; + ResizeType?: string; /** - *

                                    Returns the value ClassicResize.

                                    + *

                                    A boolean value indicating if the resize operation can be cancelled.

                                    */ - ResizeType?: string; + AllowCancelResize?: boolean; } export namespace ResizeInfo { @@ -1833,10 +1831,18 @@ export interface RestoreStatus { SnapshotSizeInMegaBytes?: number; /** - *

                                    The number of megabytes that have been transferred from snapshot storage. + *

                                    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.

                                    */ - ProgressInMegaBytes?: number; + ElapsedTimeInSeconds?: number; + + /** + *

                                    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.

                                    + */ + EstimatedTimeToCompletionInSeconds?: number; /** *

                                    The status of the restore action. Returns starting, restoring, completed, or @@ -1852,18 +1858,10 @@ export interface RestoreStatus { CurrentRestoreRateInMegaBytesPerSecond?: number; /** - *

                                    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.

                                    - */ - EstimatedTimeToCompletionInSeconds?: number; - - /** - *

                                    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 that have been transferred from snapshot storage. * This field is only updated when you restore to DC2 and DS2 node types.

                                    */ - ElapsedTimeInSeconds?: number; + ProgressInMegaBytes?: number; } export namespace RestoreStatus { @@ -1877,14 +1875,14 @@ export namespace RestoreStatus { */ export interface VpcSecurityGroupMembership { /** - *

                                    The identifier of the VPC security group.

                                    + *

                                    The status of the VPC security group.

                                    */ - VpcSecurityGroupId?: string; + Status?: string; /** - *

                                    The status of the VPC security group.

                                    + *

                                    The identifier of the VPC security group.

                                    */ - Status?: string; + VpcSecurityGroupId?: string; } export namespace VpcSecurityGroupMembership { @@ -1898,54 +1896,40 @@ export namespace VpcSecurityGroupMembership { */ export interface Cluster { /** - *

                                    The connection endpoint.

                                    - */ - Endpoint?: Endpoint; - - /** - *

                                    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 boolean value that, if true, indicates that the cluster can be - * accessed from a public network.

                                    + *

                                    The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and backups enabled.

                                    */ - PubliclyAccessible?: boolean; + ExpectedNextSnapshotScheduleTime?: Date; /** - *

                                    A value that returns the destination region and retention period that are - * configured for cross-region snapshot copy.

                                    + *

                                    A boolean value that, if true, indicates that data in the cluster is + * encrypted at rest.

                                    */ - ClusterSnapshotCopyStatus?: ClusterSnapshotCopyStatus; + Encrypted?: boolean; /** - *

                                    The identifier of the VPC the cluster is in, if the cluster is in a VPC.

                                    + *

                                    Cluster operations that are waiting to be started.

                                    */ - VpcId?: string; + PendingActions?: string[]; /** - *

                                    The status of the elastic IP (EIP) address.

                                    + *

                                    The specific revision number of the database in the cluster.

                                    */ - ElasticIpStatus?: ElasticIpStatus; + ClusterRevisionNumber?: string; /** - *

                                    The status of a modify operation, if any, initiated for the cluster.

                                    + *

                                    The date and time that the cluster was created.

                                    */ - ModifyStatus?: string; + ClusterCreateTime?: Date; /** - *

                                    The unique identifier of the cluster.

                                    + *

                                    The current state of the cluster snapshot schedule.

                                    */ - ClusterIdentifier?: string; + SnapshotScheduleState?: ScheduleState | string; /** - *

                                    The list of tags for the cluster.

                                    + *

                                    The nodes in the cluster.

                                    */ - Tags?: Tag[]; + ClusterNodes?: ClusterNode[]; /** *

                                    A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are @@ -1955,67 +1939,58 @@ export interface Cluster { VpcSecurityGroups?: VpcSecurityGroupMembership[]; /** - *

                                    The nodes in the cluster.

                                    + *

                                    The status of the elastic IP (EIP) address.

                                    */ - ClusterNodes?: ClusterNode[]; + ElasticIpStatus?: ElasticIpStatus; /** - *

                                    The weekly time range, in Universal Coordinated Time (UTC), during which system - * maintenance can occur.

                                    + *

                                    The number of compute nodes in the cluster.

                                    */ - PreferredMaintenanceWindow?: string; + NumberOfNodes?: number; /** - *

                                    The current state of the cluster snapshot schedule.

                                    + *

                                    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

                                    */ - SnapshotScheduleState?: ScheduleState | string; + EnhancedVpcRouting?: boolean; /** - *

                                    The date and time in UTC when system maintenance can begin.

                                    + *

                                    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.

                                    */ - NextMaintenanceWindowStartTime?: Date; + RestoreStatus?: RestoreStatus; /** - *

                                    Cluster operations that are waiting to be started.

                                    + *

                                    The connection endpoint.

                                    */ - PendingActions?: string[]; + Endpoint?: Endpoint; /** - *

                                    The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and backups enabled.

                                    + *

                                    A unique identifier for the cluster snapshot schedule.

                                    */ - ExpectedNextSnapshotScheduleTime?: Date; + SnapshotScheduleIdentifier?: string; /** - *

                                    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.

                                      - *
                                    • - *
                                    + *

                                    The list of tags for the cluster.

                                    */ - ExpectedNextSnapshotScheduleTimeStatus?: string; + Tags?: Tag[]; /** - *

                                    Returns the following:

                                    - *
                                      - *
                                    • - *

                                      AllowCancelResize: a boolean value indicating if the resize operation can be - * cancelled.

                                      - *
                                    • - *
                                    • - *

                                      ResizeType: Returns ClassicResize

                                      - *
                                    • - *
                                    + *

                                    Describes a group of DeferredMaintenanceWindow objects.

                                    */ - ResizeInfo?: ResizeInfo; + DeferredMaintenanceWindows?: DeferredMaintenanceWindow[]; /** - *

                                    The public key for the cluster.

                                    + *

                                    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

                                    */ - ClusterPublicKey?: string; + HsmStatus?: HsmStatus; /** *

                                    The number of days that automatic cluster snapshots are retained.

                                    @@ -2028,6 +2003,20 @@ export interface Cluster { */ 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.

                                    */ @@ -2039,46 +2028,72 @@ export interface Cluster { DataTransferProgress?: DataTransferProgress; /** - *

                                    A unique identifier for the cluster snapshot schedule.

                                    + *

                                    The date and time in UTC when system maintenance can begin.

                                    */ - SnapshotScheduleIdentifier?: string; + NextMaintenanceWindowStartTime?: Date; /** - *

                                    The version ID of the Amazon Redshift engine that is running on the cluster.

                                    + *

                                    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.

                                      + *
                                    • + *
                                    */ - ClusterVersion?: string; + ExpectedNextSnapshotScheduleTimeStatus?: string; /** - *

                                    The node type for the nodes in the cluster.

                                    + *

                                    The version ID of the Amazon Redshift engine that is running on the cluster.

                                    */ - NodeType?: string; + ClusterVersion?: string; /** - *

                                    The number of nodes that you can resize the cluster to with the elastic resize method. - *

                                    + *

                                    A list of AWS Identity and Access Management (IAM) roles that can be used by the + * cluster to access other AWS services.

                                    */ - ElasticResizeNumberOfNodeOptions?: string; + IamRoles?: ClusterIamRole[]; /** - *

                                    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.

                                    + *

                                    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. + *

                                    */ - RestoreStatus?: RestoreStatus; + ClusterSecurityGroups?: ClusterSecurityGroupMembership[]; /** - *

                                    Describes a group of DeferredMaintenanceWindow objects.

                                    + *

                                    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.

                                      + *
                                    • + *
                                    */ - DeferredMaintenanceWindows?: DeferredMaintenanceWindow[]; + ClusterAvailabilityStatus?: 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

                                    + *

                                    The public key for the cluster.

                                    */ - EnhancedVpcRouting?: boolean; + ClusterPublicKey?: string; /** *

                                    A boolean value that, if true, indicates that major version upgrades @@ -2087,26 +2102,53 @@ export interface Cluster { AllowVersionUpgrade?: boolean; /** - *

                                    The number of compute nodes in the cluster.

                                    + *

                                    The weekly time range, in Universal Coordinated Time (UTC), during which system + * maintenance can occur.

                                    */ - NumberOfNodes?: number; + PreferredMaintenanceWindow?: string; /** - *

                                    A boolean value that, if true, indicates that data in the cluster is - * encrypted at rest.

                                    + *

                                    The unique identifier of the cluster.

                                    */ - Encrypted?: boolean; + ClusterIdentifier?: string; /** - *

                                    The date and time that the cluster was created.

                                    + *

                                    The node type for the nodes in the cluster.

                                    */ - ClusterCreateTime?: Date; + NodeType?: string; /** - *

                                    A list of AWS Identity and Access Management (IAM) roles that can be used by the - * cluster to access other AWS services.

                                    + *

                                    The status of a modify operation, if any, initiated for the cluster.

                                    */ - IamRoles?: ClusterIamRole[]; + 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; /** *

                                    The current state of the cluster. Possible values are the following:

                                    @@ -2215,45 +2257,6 @@ export interface Cluster { */ ClusterStatus?: string; - /** - *

                                    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 name of the Availability Zone in which the cluster is located.

                                    - */ - AvailabilityZone?: string; - - /** - *

                                    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 AWS Key Management Service (AWS KMS) key ID of the encryption key used to * encrypt data in the cluster.

                                    @@ -2261,23 +2264,11 @@ export interface Cluster { KmsKeyId?: string; /** - *

                                    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 specific revision number of the database in the cluster.

                                    - */ - ClusterRevisionNumber?: string; - - /** - *

                                    A value that, if present, indicates that changes to the cluster are pending. - * Specific pending changes are identified by subelements.

                                    + *

                                    The name of the initial database that was created when the cluster was created. + * This same name is returned for the life of the cluster. If an initial database was not + * specified, a database named devdev was created by default.

                                    */ - PendingModifiedValues?: PendingModifiedValues; + DBName?: string; /** *

                                    The name of the subnet group that is associated with the cluster. This parameter is @@ -2292,11 +2283,18 @@ export interface Cluster { MasterUsername?: string; /** - *

                                    The name of the initial database that was created when the cluster was created. - * This same name is returned for the life of the cluster. If an initial database was not - * specified, a database named devdev was created by default.

                                    + *

                                    A value that, if present, indicates that changes to the cluster are pending. + * Specific pending changes are identified by subelements.

                                    */ - DBName?: string; + PendingModifiedValues?: PendingModifiedValues; + + /** + *

                                    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; } export namespace Cluster { @@ -2325,12 +2323,6 @@ export namespace ClusterAlreadyExistsFault { *

                                    */ export interface ClusterCredentials { - /** - *

                                    A temporary password that authorizes the user name returned by DbUser - * to log on to the database DbName.

                                    - */ - DbPassword?: string; - /** *

                                    A database user name that is authorized to log on to the database * DbName using the password DbPassword. If the specified @@ -2345,6 +2337,12 @@ export interface ClusterCredentials { *

                                    The date and time the password in DbPassword expires.

                                    */ Expiration?: Date; + + /** + *

                                    A temporary password that authorizes the user name returned by DbUser + * to log on to the database DbName.

                                    + */ + DbPassword?: string; } export namespace ClusterCredentials { @@ -2387,14 +2385,14 @@ export namespace RevisionTarget { */ export interface ClusterDbRevision { /** - *

                                    A string representing the current cluster version.

                                    + *

                                    The date on which the database revision was released.

                                    */ - CurrentDatabaseRevision?: string; + DatabaseRevisionReleaseDate?: Date; /** - *

                                    The date on which the database revision was released.

                                    + *

                                    The unique identifier of the cluster.

                                    */ - DatabaseRevisionReleaseDate?: Date; + ClusterIdentifier?: string; /** *

                                    A list of RevisionTarget objects, where each object describes the @@ -2403,9 +2401,9 @@ export interface ClusterDbRevision { RevisionTargets?: RevisionTarget[]; /** - *

                                    The unique identifier of the cluster.

                                    + *

                                    A string representing the current cluster version.

                                    */ - ClusterIdentifier?: string; + CurrentDatabaseRevision?: string; } export namespace ClusterDbRevision { @@ -2455,14 +2453,9 @@ export namespace ClusterOnLatestRevisionFault { */ export interface ClusterParameterGroup { /** - *

                                    The list of tags for the cluster parameter group.

                                    - */ - Tags?: Tag[]; - - /** - *

                                    The description of the parameter group.

                                    + *

                                    The name of the cluster parameter group.

                                    */ - Description?: string; + ParameterGroupName?: string; /** *

                                    The name of the cluster parameter group family that this cluster parameter group is @@ -2471,9 +2464,14 @@ export interface ClusterParameterGroup { ParameterGroupFamily?: string; /** - *

                                    The name of the cluster parameter group.

                                    + *

                                    The description of the parameter group.

                                    */ - ParameterGroupName?: string; + Description?: string; + + /** + *

                                    The list of tags for the cluster parameter group.

                                    + */ + Tags?: Tag[]; } export namespace ClusterParameterGroup { @@ -2503,25 +2501,40 @@ 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.

                                    */ DataType?: string; + /** + *

                                    The earliest engine version to which the parameter can apply.

                                    + */ + MinimumEngineVersion?: string; + /** *

                                    The valid range of values for the parameter.

                                    */ AllowedValues?: string; /** - *

                                    The source of the parameter value, such as "engine-default" or "user".

                                    + *

                                    The value of the parameter.

                                    */ - Source?: string; + ParameterValue?: string; /** - *

                                    The name of the parameter.

                                    + *

                                    A description of the parameter.

                                    */ - ParameterName?: string; + Description?: string; /** *

                                    Specifies how to apply the WLM configuration parameter. Some properties can be @@ -2533,26 +2546,11 @@ export interface Parameter { */ ApplyType?: ParameterApplyType | string; - /** - *

                                    The value of the parameter.

                                    - */ - ParameterValue?: string; - /** *

                                    If true, the parameter can be modified. Some parameters have security * or operational implications that prevent them from being changed.

                                    */ IsModifiable?: boolean; - - /** - *

                                    A description of the parameter.

                                    - */ - Description?: string; - - /** - *

                                    The earliest engine version to which the parameter can apply.

                                    - */ - MinimumEngineVersion?: string; } export namespace Parameter { @@ -2650,12 +2648,6 @@ export namespace ClusterParameterGroupQuotaExceededFault { * action.

                                    */ export interface ClusterParameterGroupsMessage { - /** - *

                                    A list of ClusterParameterGroup instances. Each instance - * describes one cluster parameter group.

                                    - */ - ParameterGroups?: ClusterParameterGroup[]; - /** *

                                    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 @@ -2664,6 +2656,12 @@ export interface ClusterParameterGroupsMessage { * records have been retrieved for the request.

                                    */ Marker?: string; + + /** + *

                                    A list of ClusterParameterGroup instances. Each instance + * describes one cluster parameter group.

                                    + */ + ParameterGroups?: ClusterParameterGroup[]; } export namespace ClusterParameterGroupsMessage { @@ -2754,6 +2752,12 @@ 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 @@ -2762,12 +2766,6 @@ 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 { @@ -2813,12 +2811,7 @@ export namespace ClusterSnapshotQuotaExceededFault { */ export interface Subnet { /** - *

                                    - */ - SubnetAvailabilityZone?: AvailabilityZone; - - /** - *

                                    The identifier of the subnet.

                                    + *

                                    The identifier of the subnet.

                                    */ SubnetIdentifier?: string; @@ -2826,6 +2819,11 @@ export interface Subnet { *

                                    The status of the subnet.

                                    */ SubnetStatus?: string; + + /** + *

                                    + */ + SubnetAvailabilityZone?: AvailabilityZone; } export namespace Subnet { @@ -2843,31 +2841,31 @@ export interface ClusterSubnetGroup { */ Description?: string; - /** - *

                                    A list of the VPC Subnet elements.

                                    - */ - Subnets?: Subnet[]; - /** *

                                    The name of the cluster subnet group.

                                    */ ClusterSubnetGroupName?: string; /** - *

                                    The VPC ID of the cluster subnet group.

                                    + *

                                    The list of tags for the cluster subnet group.

                                    */ - VpcId?: string; + Tags?: Tag[]; /** - *

                                    The list of tags for the cluster subnet group.

                                    + *

                                    A list of the VPC Subnet elements.

                                    */ - Tags?: Tag[]; + Subnets?: Subnet[]; /** *

                                    The status of the cluster subnet group. Possible values are Complete, * Incomplete and Invalid.

                                    */ SubnetGroupStatus?: string; + + /** + *

                                    The VPC ID of the cluster subnet group.

                                    + */ + VpcId?: string; } export namespace ClusterSubnetGroup { @@ -2897,6 +2895,11 @@ 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 @@ -2905,11 +2908,6 @@ export interface ClusterSubnetGroupMessage { * records have been retrieved for the request.

                                    */ Marker?: string; - - /** - *

                                    A list of ClusterSubnetGroup instances.

                                    - */ - ClusterSubnetGroups?: ClusterSubnetGroup[]; } export namespace ClusterSubnetGroupMessage { @@ -3029,14 +3027,6 @@ export namespace ClusterVersionsMessage { *

                                    */ export interface CopyClusterSnapshotMessage { - /** - *

                                    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.

                                    - */ - ManualSnapshotRetentionPeriod?: number; - /** *

                                    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 @@ -3051,16 +3041,12 @@ export interface CopyClusterSnapshotMessage { SourceSnapshotClusterIdentifier?: string; /** - *

                                    The identifier for the source snapshot.

                                    - *

                                    Constraints:

                                    - *
                                      - *
                                    • - *

                                      Must be the identifier for a valid automated snapshot whose state is - * available.

                                      - *
                                    • - *
                                    + *

                                    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.

                                    */ - SourceSnapshotIdentifier: string | undefined; + ManualSnapshotRetentionPeriod?: number; /** *

                                    The identifier given to the new manual snapshot.

                                    @@ -3084,6 +3070,18 @@ export interface CopyClusterSnapshotMessage { *
                                  */ TargetSnapshotIdentifier: string | undefined; + + /** + *

                                  The identifier for the source snapshot.

                                  + *

                                  Constraints:

                                  + *
                                    + *
                                  • + *

                                    Must be the identifier for a valid automated snapshot whose state is + * available.

                                    + *
                                  • + *
                                  + */ + SourceSnapshotIdentifier: string | undefined; } export namespace CopyClusterSnapshotMessage { @@ -3125,79 +3123,6 @@ export namespace CopyToRegionDisabledFault { *

                                  */ export interface CreateClusterMessage { - /** - *

                                  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 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.

                                  - */ - 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; - - /** - *

                                  Reserved.

                                  - */ - AdditionalInfo?: 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.

                                    - *
                                  • - *
                                  - */ - DBName?: string; - - /** - *

                                  If true, the cluster can be accessed from a public network.

                                  - */ - PubliclyAccessible?: boolean; - - /** - *

                                  A list of tag instances.

                                  - */ - Tags?: Tag[]; - /** *

                                  The password associated with the master user account for the cluster that is being * created.

                                  @@ -3224,35 +3149,48 @@ export interface CreateClusterMessage { MasterUserPassword: string | undefined; /** - *

                                  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.

                                  + *

                                  If true, the cluster can be accessed from a public network.

                                  */ - VpcSecurityGroupIds?: string[]; + PubliclyAccessible?: boolean; /** - *

                                  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.

                                  + *

                                  A list of tag instances.

                                  */ - MaintenanceTrackName?: string; + Tags?: Tag[]; /** - *

                                  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 - *

                                  + *

                                  Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to + * retrieve the data encryption keys stored in an HSM.

                                  */ - NodeType: string | undefined; + HsmClientCertificateIdentifier?: string; /** - *

                                  A unique identifier for the snapshot schedule.

                                  + *

                                  If true, the data in the cluster is encrypted at rest.

                                  + *

                                  Default: false

                                  */ - SnapshotScheduleIdentifier?: string; + Encrypted?: boolean; + + /** + *

                                  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: 1 + *

                                  + *

                                  Constraints: Must be a value from 0 to 35.

                                  + */ + AutomatedSnapshotRetentionPeriod?: 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 + * the connection string requires the port on which the cluster will listen for incoming + * connections.

                                  + *

                                  Default: 5439 + *

                                  + *

                                  Valid Values: 1150-65535 + *

                                  + */ + Port?: number; /** *

                                  Specifies the name of the HSM configuration that contains the information the @@ -3292,57 +3230,115 @@ export interface CreateClusterMessage { ClusterType?: string; /** - *

                                  The port number on which the cluster accepts incoming connections.

                                  - *

                                  The cluster is accessible only via the JDBC and ODBC connection strings. Part of - * the connection string requires the port on which the cluster will listen for incoming - * connections.

                                  - *

                                  Default: 5439 - *

                                  - *

                                  Valid Values: 1150-65535 - *

                                  + *

                                  A unique identifier for the snapshot schedule.

                                  */ - Port?: number; + SnapshotScheduleIdentifier?: 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: 1 + *

                                  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.

                                  + *

                                  When a new major version of the Amazon Redshift engine is released, you can request that + * the service automatically apply upgrades during the maintenance window to the Amazon Redshift + * engine that is running on your cluster.

                                  + *

                                  Default: true *

                                  - *

                                  Constraints: Must be a value from 0 to 35.

                                  */ - AutomatedSnapshotRetentionPeriod?: number; + AllowVersionUpgrade?: 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 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.

                                  */ - EnhancedVpcRouting?: boolean; + ManualSnapshotRetentionPeriod?: number; /** - *

                                  The user name associated with the master user account for the cluster that is being - * created.

                                  + *

                                  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.

                                  + */ + MaintenanceTrackName?: string; + + /** + *

                                  Reserved.

                                  + */ + AdditionalInfo?: 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 AWS Key Management Service (KMS) key ID of the encryption key that you want to + * use to encrypt data in the cluster.

                                  + */ + KmsKeyId?: 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.

                                  + */ + IamRoles?: 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.

                                  + */ + 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 be 1 - 128 alphanumeric characters. The user name can't be - * PUBLIC.

                                    + *

                                    Must contain 1 to 64 alphanumeric characters.

                                    *
                                  • *
                                  • - *

                                    First character must be a letter.

                                    + *

                                    Must contain only lowercase letters.

                                    *
                                  • - *
                                  • - * - *

                                    Cannot be a reserved word. A list of reserved words can be found in Reserved - * Words in the Amazon Redshift Database Developer Guide.

                                    + *
                                  • + *

                                    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.

                                    *
                                  • *
                                  */ - MasterUsername: string | undefined; + DBName?: string; /** *

                                  The number of compute nodes in the cluster. This parameter is required when the @@ -3360,51 +3356,27 @@ export interface CreateClusterMessage { NumberOfNodes?: number; /** - *

                                  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; - - /** - *

                                  If true, the data in the cluster is encrypted at rest.

                                  + *

                                  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

                                  */ - Encrypted?: boolean; - - /** - *

                                  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 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; + EnhancedVpcRouting?: boolean; /** - *

                                  If true, major version upgrades can be applied during the maintenance - * window to the Amazon Redshift engine that is running on the cluster.

                                  - *

                                  When a new major version of the Amazon Redshift engine is released, you can request that - * the service automatically apply upgrades during the maintenance window to the Amazon Redshift - * engine that is running on your cluster.

                                  - *

                                  Default: true + *

                                  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.

                                  */ - AllowVersionUpgrade?: boolean; - - /** - *

                                  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; + PreferredMaintenanceWindow?: string; /** *

                                  The name of the parameter group to be associated with this cluster.

                                  @@ -3427,21 +3399,6 @@ export interface CreateClusterMessage { */ ClusterParameterGroupName?: string; - /** - *

                                  A list of security groups to be associated with this cluster.

                                  - *

                                  Default: The default cluster security group for Amazon Redshift.

                                  - */ - ClusterSecurityGroups?: 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.

                                  - */ - IamRoles?: 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 @@ -3469,6 +3426,47 @@ export interface CreateClusterMessage { *

                                  */ ClusterIdentifier: string | undefined; + + /** + *

                                  A list of security groups to be associated with this cluster.

                                  + *

                                  Default: The default cluster security group for Amazon Redshift.

                                  + */ + ClusterSecurityGroups?: 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.

                                    + *
                                  • + *
                                  + */ + MasterUsername: string | undefined; + + /** + *

                                  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.

                                  + */ + AvailabilityZone?: string; } export namespace CreateClusterMessage { @@ -3711,6 +3709,11 @@ export namespace UnauthorizedOperation { *

                                  */ export interface CreateClusterParameterGroupMessage { + /** + *

                                  A description of the parameter group.

                                  + */ + Description: string | undefined; + /** *

                                  The name of the cluster parameter group.

                                  *

                                  Constraints:

                                  @@ -3749,11 +3752,6 @@ export interface CreateClusterParameterGroupMessage { *

                                  A list of tag instances.

                                  */ Tags?: Tag[]; - - /** - *

                                  A description of the parameter group.

                                  - */ - Description: string | undefined; } export namespace CreateClusterParameterGroupMessage { @@ -3779,16 +3777,6 @@ export namespace CreateClusterParameterGroupResult { *

                                  */ export interface CreateClusterSecurityGroupMessage { - /** - *

                                  A description for the security group.

                                  - */ - Description: string | undefined; - - /** - *

                                  A list of tag instances.

                                  - */ - Tags?: Tag[]; - /** *

                                  The name for the security group. Amazon Redshift stores the value as a lowercase * string.

                                  @@ -3809,6 +3797,16 @@ export interface CreateClusterSecurityGroupMessage { *

                                  */ ClusterSecurityGroupName: string | undefined; + + /** + *

                                  A list of tag instances.

                                  + */ + Tags?: Tag[]; + + /** + *

                                  A description for the security group.

                                  + */ + Description: string | undefined; } export namespace CreateClusterSecurityGroupMessage { @@ -3835,25 +3833,15 @@ export namespace CreateClusterSecurityGroupResult { */ export interface CreateClusterSnapshotMessage { /** - *

                                  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.

                                  + *

                                  The cluster identifier for which you want a snapshot.

                                  */ - ManualSnapshotRetentionPeriod?: number; + ClusterIdentifier: string | undefined; /** *

                                  A list of tag instances.

                                  */ Tags?: Tag[]; - /** - *

                                  The cluster identifier for which you want a snapshot.

                                  - */ - ClusterIdentifier: string | undefined; - /** *

                                  A unique identifier for the snapshot that you are requesting. This identifier must * be unique for all snapshots within the AWS account.

                                  @@ -3876,6 +3864,16 @@ export interface CreateClusterSnapshotMessage { *

                                  */ SnapshotIdentifier: string | undefined; + + /** + *

                                  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.

                                  + */ + ManualSnapshotRetentionPeriod?: number; } export namespace CreateClusterSnapshotMessage { @@ -3912,6 +3910,11 @@ export interface CreateClusterSubnetGroupMessage { */ 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.

                                  @@ -3932,11 +3935,6 @@ export interface CreateClusterSubnetGroupMessage { *

                                  */ ClusterSubnetGroupName: string | undefined; - - /** - *

                                  A description for the subnet group.

                                  - */ - Description: string | undefined; } export namespace CreateClusterSubnetGroupMessage { @@ -3969,30 +3967,6 @@ export interface CreateEventSubscriptionMessage { */ SnsTopicArn: string | undefined; - /** - *

                                  A boolean value; set to true to activate the subscription, and set to - * false to create the subscription but not activate it.

                                  - */ - Enabled?: boolean; - - /** - *

                                  Specifies the Amazon Redshift event severity to be published by the event notification - * subscription.

                                  - *

                                  Values: ERROR, INFO

                                  - */ - Severity?: 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 - * subscription will return only events generated by the specified objects. If not - * specified, then events are returned for all objects within the source type - * specified.

                                  - *

                                  Example: my-cluster-1, my-cluster-2

                                  - *

                                  Example: my-snapshot-20131010

                                  - */ - SourceIds?: string[]; - /** *

                                  Specifies the Amazon Redshift event categories to be published by the event notification * subscription.

                                  @@ -4000,6 +3974,12 @@ export interface CreateEventSubscriptionMessage { */ 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. @@ -4009,11 +3989,6 @@ export interface CreateEventSubscriptionMessage { */ SourceType?: string; - /** - *

                                  A list of tag instances.

                                  - */ - Tags?: Tag[]; - /** *

                                  The name of the event subscription to be created.

                                  *

                                  Constraints:

                                  @@ -4033,6 +4008,29 @@ export interface CreateEventSubscriptionMessage { *
                                */ SubscriptionName: string | undefined; + + /** + *

                                Specifies the Amazon Redshift event severity to be published by the event notification + * subscription.

                                + *

                                Values: ERROR, INFO

                                + */ + Severity?: 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 + * subscription will return only events generated by the specified objects. If not + * specified, then events are returned for all objects within the source type + * specified.

                                + *

                                Example: my-cluster-1, my-cluster-2

                                + *

                                Example: my-snapshot-20131010

                                + */ + SourceIds?: string[]; + + /** + *

                                A list of tag instances.

                                + */ + Tags?: Tag[]; } export namespace CreateEventSubscriptionMessage { @@ -4045,12 +4043,6 @@ export namespace CreateEventSubscriptionMessage { *

                                Describes event subscriptions.

                                */ export interface EventSubscription { - /** - *

                                A list of the sources that publish events to the Amazon Redshift event notification - * subscription.

                                - */ - SourceIdsList?: string[]; - /** *

                                The status of the Amazon Redshift event notification subscription.

                                *

                                Constraints:

                                @@ -4070,29 +4062,27 @@ export interface EventSubscription { Status?: string; /** - *

                                The list of Amazon Redshift event categories specified in the event notification - * subscription.

                                - *

                                Values: Configuration, Management, Monitoring, Security

                                - */ - EventCategoriesList?: 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.

                                + *

                                The list of tags for the event subscription.

                                */ - SourceType?: string; + Tags?: Tag[]; /** - *

                                A boolean value indicating whether the subscription is enabled; true - * indicates that the subscription is enabled.

                                + *

                                A list of the sources that publish events to the Amazon Redshift event notification + * subscription.

                                */ - Enabled?: boolean; + SourceIdsList?: string[]; /** *

                                The name of the Amazon Redshift event notification subscription.

                                */ CustSubscriptionId?: string; + /** + *

                                The AWS customer account associated with the Amazon Redshift event notification + * subscription.

                                + */ + CustomerAwsId?: string; + /** *

                                The date and time the Amazon Redshift event notification subscription was * created.

                                @@ -4107,21 +4097,29 @@ export interface EventSubscription { Severity?: string; /** - *

                                The AWS customer account associated with the Amazon Redshift event notification - * subscription.

                                - */ - CustomerAwsId?: string; - - /** - *

                                The list of tags for the event subscription.

                                + *

                                A boolean value indicating whether the subscription is enabled; true + * indicates that the subscription is enabled.

                                */ - Tags?: Tag[]; + 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

                                + */ + EventCategoriesList?: string[]; } export namespace EventSubscription { @@ -4394,41 +4392,41 @@ export namespace HsmClientCertificateQuotaExceededFault { */ export interface CreateHsmConfigurationMessage { /** - *

                                The IP address that the Amazon Redshift cluster must use to access the HSM.

                                + *

                                The name of the partition in the HSM where the Amazon Redshift clusters will store their + * database encryption keys.

                                */ - HsmIpAddress: string | undefined; + HsmPartitionName: string | undefined; /** - *

                                The HSMs public certificate file. When using Cloud HSM, the file name is - * server.pem.

                                + *

                                A list of tag instances.

                                */ - HsmServerPublicCertificate: string | undefined; + Tags?: Tag[]; /** - *

                                A text description of the HSM configuration to be created.

                                + *

                                The identifier to be assigned to the new Amazon Redshift HSM configuration.

                                */ - Description: string | undefined; + HsmConfigurationIdentifier: string | undefined; /** - *

                                The password required to access the HSM partition.

                                + *

                                The IP address that the Amazon Redshift cluster must use to access the HSM.

                                */ - HsmPartitionPassword: string | undefined; + HsmIpAddress: string | undefined; /** - *

                                The name of the partition in the HSM where the Amazon Redshift clusters will store their - * database encryption keys.

                                + *

                                The password required to access the HSM partition.

                                */ - HsmPartitionName: string | undefined; + HsmPartitionPassword: string | undefined; /** - *

                                A list of tag instances.

                                + *

                                A text description of the HSM configuration to be created.

                                */ - Tags?: Tag[]; + Description: string | undefined; /** - *

                                The identifier to be assigned to the new Amazon Redshift HSM configuration.

                                + *

                                The HSMs public certificate file. When using Cloud HSM, the file name is + * server.pem.

                                */ - HsmConfigurationIdentifier: string | undefined; + HsmServerPublicCertificate: string | undefined; } export namespace CreateHsmConfigurationMessage { @@ -4449,25 +4447,25 @@ export interface HsmConfiguration { Description?: string; /** - *

                                The list of tags for the HSM configuration.

                                + *

                                The IP address that the Amazon Redshift cluster must use to access the HSM.

                                */ - Tags?: Tag[]; + HsmIpAddress?: string; /** - *

                                The name of the partition in the HSM where the Amazon Redshift clusters will store their - * database encryption keys.

                                + *

                                The name of the Amazon Redshift HSM configuration.

                                */ - HsmPartitionName?: string; + HsmConfigurationIdentifier?: string; /** - *

                                The name of the Amazon Redshift HSM configuration.

                                + *

                                The list of tags for the HSM configuration.

                                */ - HsmConfigurationIdentifier?: string; + Tags?: Tag[]; /** - *

                                The IP address that the Amazon Redshift cluster must use to access the HSM.

                                + *

                                The name of the partition in the HSM where the Amazon Redshift clusters will store their + * database encryption keys.

                                */ - HsmIpAddress?: string; + HsmPartitionName?: string; } export namespace HsmConfiguration { @@ -4525,6 +4523,9 @@ export namespace HsmConfigurationQuotaExceededFault { }); } +/** + *

                                Describes a pause cluster operation. For example, a scheduled action to run the PauseCluster API operation.

                                + */ export interface PauseClusterMessage { /** *

                                The identifier of the cluster to be paused.

                                @@ -4538,6 +4539,9 @@ export namespace PauseClusterMessage { }); } +/** + *

                                Describes a resize cluster operation. For example, a scheduled action to run the ResizeCluster API operation.

                                + */ export interface ResizeClusterMessage { /** *

                                The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.

                                @@ -4552,19 +4556,19 @@ export interface ResizeClusterMessage { Classic?: boolean; /** - *

                                The new number of nodes for the cluster.

                                + *

                                The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.

                                */ NumberOfNodes?: number; /** - *

                                The unique identifier for the cluster to resize.

                                + *

                                The new cluster type for the specified cluster.

                                */ - ClusterIdentifier: string | undefined; + ClusterType?: string; /** - *

                                The new cluster type for the specified cluster.

                                + *

                                The unique identifier for the cluster to resize.

                                */ - ClusterType?: string; + ClusterIdentifier: string | undefined; } export namespace ResizeClusterMessage { @@ -4573,6 +4577,9 @@ export namespace ResizeClusterMessage { }); } +/** + *

                                Describes a resume cluster operation. For example, a scheduled action to run the ResumeCluster API operation.

                                + */ export interface ResumeClusterMessage { /** *

                                The identifier of the cluster to be resumed.

                                @@ -4591,9 +4598,9 @@ export namespace ResumeClusterMessage { */ export interface ScheduledActionType { /** - *

                                An action that runs a ResizeCluster API operation.

                                + *

                                An action that runs a PauseCluster API operation.

                                */ - ResizeCluster?: ResizeClusterMessage; + PauseCluster?: PauseClusterMessage; /** *

                                An action that runs a ResumeCluster API operation.

                                @@ -4601,9 +4608,9 @@ export interface ScheduledActionType { ResumeCluster?: ResumeClusterMessage; /** - *

                                An action that runs a PauseCluster API operation.

                                + *

                                An action that runs a ResizeCluster API operation.

                                */ - PauseCluster?: PauseClusterMessage; + ResizeCluster?: ResizeClusterMessage; } export namespace ScheduledActionType { @@ -4632,22 +4639,23 @@ export interface CreateScheduledActionMessage { IamRole: string | undefined; /** - *

                                The description of the scheduled action. - *

                                + *

                                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.

                                */ - ScheduledActionDescription?: string; + 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; /** - *

                                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.

                                + *

                                The description of the scheduled action. + *

                                */ - EndTime?: Date; + ScheduledActionDescription?: string; /** *

                                The schedule in at( ) or cron( ) format. @@ -4656,11 +4664,10 @@ export interface CreateScheduledActionMessage { Schedule: string | undefined; /** - *

                                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.

                                + *

                                The name of the scheduled action. The name must be unique within an account. + * For more information about this parameter, see ScheduledAction.

                                */ - StartTime?: Date; + ScheduledActionName: string | undefined; } export namespace CreateScheduledActionMessage { @@ -4709,21 +4716,6 @@ export enum ScheduledActionState { * For information about which API operations can be scheduled, see ScheduledActionType.

                                */ export interface ScheduledAction { - /** - *

                                List of times when the scheduled action will run.

                                - */ - NextInvocations?: Date[]; - - /** - *

                                The description of the scheduled action.

                                - */ - ScheduledActionDescription?: string; - - /** - *

                                The name of the scheduled action.

                                - */ - ScheduledActionName?: 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. @@ -4737,10 +4729,9 @@ export interface ScheduledAction { IamRole?: string; /** - *

                                A JSON format string of the Amazon Redshift API operation with input parameters.

                                - *

                                "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}".

                                + *

                                The description of the scheduled action.

                                */ - TargetAction?: ScheduledActionType; + ScheduledActionDescription?: string; /** *

                                The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.

                                @@ -4748,9 +4739,15 @@ export interface ScheduledAction { EndTime?: Date; /** - *

                                The state of the scheduled action. For example, DISABLED.

                                + *

                                A JSON format string of the Amazon Redshift API operation with input parameters.

                                + *

                                "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}".

                                */ - State?: ScheduledActionState | string; + 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. @@ -4764,9 +4761,19 @@ export interface ScheduledAction { Schedule?: string; /** - *

                                The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.

                                + *

                                The state of the scheduled action. For example, DISABLED.

                                */ - StartTime?: Date; + State?: ScheduledActionState | string; + + /** + *

                                List of times when the scheduled action will run.

                                + */ + NextInvocations?: Date[]; + + /** + *

                                The name of the scheduled action.

                                + */ + ScheduledActionName?: string; } export namespace ScheduledAction { @@ -4824,6 +4831,12 @@ 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.

                                @@ -4852,12 +4865,6 @@ export interface CreateSnapshotCopyGrantMessage { *

                                A list of tag instances.

                                */ Tags?: Tag[]; - - /** - *

                                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; } export namespace CreateSnapshotCopyGrantMessage { @@ -4882,16 +4889,16 @@ export interface SnapshotCopyGrant { */ Tags?: Tag[]; - /** - *

                                The name of the snapshot copy grant.

                                - */ - SnapshotCopyGrantName?: string; - /** *

                                The unique identifier of the customer master key (CMK) in AWS KMS to which * Amazon Redshift is granted permission.

                                */ KmsKeyId?: string; + + /** + *

                                The name of the snapshot copy grant.

                                + */ + SnapshotCopyGrantName?: string; } export namespace SnapshotCopyGrant { @@ -4959,15 +4966,9 @@ export interface CreateSnapshotScheduleMessage { ScheduleDescription?: string; /** - *

                                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[]; - - /** - *

                                + *

                                An optional set of tags you can use to search for the schedule.

                                */ - DryRun?: boolean; + Tags?: Tag[]; /** *

                                @@ -4981,9 +4982,15 @@ export interface CreateSnapshotScheduleMessage { ScheduleIdentifier?: string; /** - *

                                An optional set of tags you can use to search for the schedule.

                                + *

                                */ - Tags?: Tag[]; + 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[]; } export namespace CreateSnapshotScheduleMessage { @@ -5013,14 +5020,14 @@ export namespace ScheduleDefinitionTypeUnsupportedFault { */ export interface SnapshotSchedule { /** - *

                                + *

                                A unique identifier for the schedule.

                                */ - NextInvocations?: Date[]; + ScheduleIdentifier?: string; /** - *

                                A list of clusters associated with the schedule. A maximum of 100 clusters is returned.

                                + *

                                */ - AssociatedClusters?: ClusterAssociatedToSchedule[]; + NextInvocations?: Date[]; /** *

                                The number of clusters associated with the schedule.

                                @@ -5028,9 +5035,9 @@ export interface SnapshotSchedule { AssociatedClusterCount?: number; /** - *

                                A unique identifier for the schedule.

                                + *

                                A list of clusters associated with the schedule. A maximum of 100 clusters is returned.

                                */ - ScheduleIdentifier?: string; + AssociatedClusters?: ClusterAssociatedToSchedule[]; /** *

                                An optional set of tags describing the schedule.

                                @@ -5038,14 +5045,14 @@ export interface SnapshotSchedule { Tags?: Tag[]; /** - *

                                The description of the schedule.

                                + *

                                A list of ScheduleDefinitions.

                                */ - ScheduleDescription?: string; + ScheduleDefinitions?: string[]; /** - *

                                A list of ScheduleDefinitions.

                                + *

                                The description of the schedule.

                                */ - ScheduleDefinitions?: string[]; + ScheduleDescription?: string; } export namespace SnapshotSchedule { @@ -5150,19 +5157,22 @@ export enum UsageLimitPeriod { export interface CreateUsageLimitMessage { /** - *

                                The Amazon Redshift feature that you want to limit.

                                + *

                                A list of tag instances.

                                */ - FeatureType: UsageLimitFeatureType | string | undefined; + Tags?: Tag[]; /** - *

                                A list of tag instances.

                                + *

                                The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB). + * The value must be a positive number. + *

                                */ - Tags?: Tag[]; + Amount: number | undefined; /** - *

                                The identifier of the cluster that you want to limit usage.

                                + *

                                The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly. + *

                                */ - ClusterIdentifier: string | undefined; + Period?: UsageLimitPeriod | string; /** *

                                The action that Amazon Redshift takes when the limit is reached. The default is log. @@ -5171,17 +5181,14 @@ export interface CreateUsageLimitMessage { BreachAction?: UsageLimitBreachAction | string; /** - *

                                The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly. - *

                                + *

                                The Amazon Redshift feature that you want to limit.

                                */ - Period?: UsageLimitPeriod | string; + FeatureType: UsageLimitFeatureType | string | undefined; /** - *

                                The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB). - * The value must be a positive number. - *

                                + *

                                The identifier of the cluster that you want to limit usage.

                                */ - Amount: number | undefined; + ClusterIdentifier: string | undefined; /** *

                                The type of limit. Depending on the feature type, this can be based on a time duration or data size. @@ -5223,19 +5230,19 @@ export interface UsageLimit { ClusterIdentifier?: string; /** - *

                                The Amazon Redshift feature to which the limit applies.

                                + *

                                A list of tag instances.

                                */ - FeatureType?: UsageLimitFeatureType | string; + Tags?: Tag[]; /** - *

                                A list of tag instances.

                                + *

                                The identifier of the usage limit.

                                */ - Tags?: Tag[]; + UsageLimitId?: string; /** - *

                                The type of limit. Depending on the feature type, this can be based on a time duration or data size.

                                + *

                                The Amazon Redshift feature to which the limit applies.

                                */ - LimitType?: UsageLimitLimitType | string; + FeatureType?: UsageLimitFeatureType | string; /** *

                                The action that Amazon Redshift takes when the limit is reached. Possible values are:

                                @@ -5257,19 +5264,19 @@ export interface UsageLimit { BreachAction?: UsageLimitBreachAction | string; /** - *

                                The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly.

                                + *

                                The type of limit. Depending on the feature type, this can be based on a time duration or data size.

                                */ - Period?: UsageLimitPeriod | string; + LimitType?: UsageLimitLimitType | string; /** - *

                                The identifier of the usage limit.

                                + *

                                The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB).

                                */ - UsageLimitId?: string; + Amount?: number; /** - *

                                The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB).

                                + *

                                The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly.

                                */ - Amount?: number; + Period?: UsageLimitPeriod | string; } export namespace UsageLimit { @@ -5320,6 +5327,12 @@ export interface DefaultClusterParameters { */ Parameters?: Parameter[]; + /** + *

                                The name of the cluster parameter group family to which the engine default + * parameters apply.

                                + */ + ParameterGroupFamily?: string; + /** *

                                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 @@ -5328,12 +5341,6 @@ export interface DefaultClusterParameters { * records have been retrieved for the request.

                                */ Marker?: string; - - /** - *

                                The name of the cluster parameter group family to which the engine default - * parameters apply.

                                - */ - ParameterGroupFamily?: string; } export namespace DefaultClusterParameters { @@ -5381,6 +5388,14 @@ 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, @@ -5399,14 +5414,6 @@ 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 { @@ -5750,16 +5757,16 @@ export namespace InvalidClusterSnapshotScheduleStateFault { *

                              Contains the output from the DeleteTags action.

                              */ export interface DeleteTagsMessage { - /** - *

                              The tag key that you want to delete.

                              - */ - TagKeys: string[] | undefined; - /** *

                              The Amazon Resource Name (ARN) from which you want to remove the tag or tags. For * example, arn:aws:redshift:us-east-2:123456789:cluster:t1.

                              */ ResourceName: string | undefined; + + /** + *

                              The tag key that you want to delete.

                              + */ + TagKeys: string[] | undefined; } export namespace DeleteTagsMessage { @@ -5822,13 +5829,6 @@ export interface DescribeClusterDbRevisionsMessage { */ Marker?: string; - /** - *

                              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.

                              - */ - 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 @@ -5839,6 +5839,13 @@ export interface DescribeClusterDbRevisionsMessage { *

                              Constraints: minimum 20, maximum 100.

                              */ 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.

                              + */ + ClusterIdentifier?: string; } export namespace DescribeClusterDbRevisionsMessage { @@ -5851,13 +5858,6 @@ 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 @@ -5869,6 +5869,13 @@ 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.

                              + */ + ParameterGroupName?: string; + /** *

                              A tag key or keys for which you want to return all matching cluster parameter * groups that are associated with the specified key or keys. For example, suppose that you @@ -5911,14 +5918,14 @@ export namespace DescribeClusterParameterGroupsMessage { */ export interface DescribeClusterParametersMessage { /** - *

                              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; /** *

                              The name of a cluster parameter group for which to return details.

                              @@ -5937,14 +5944,14 @@ export interface DescribeClusterParametersMessage { MaxRecords?: number; /** - *

                              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 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 + *

                              */ - Marker?: string; + Source?: string; } export namespace DescribeClusterParametersMessage { @@ -5957,26 +5964,6 @@ export namespace DescribeClusterParametersMessage { *

                              */ export interface DescribeClustersMessage { - /** - *

                              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[]; - - /** - *

                              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; - /** *

                              The unique identifier of a cluster whose properties you are requesting. This * parameter is case sensitive.

                              @@ -5995,6 +5982,17 @@ 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.

                              + */ + MaxRecords?: number; + /** *

                              A tag value or values for which you want to return all matching clusters that are * associated with the specified tag value or values. For example, suppose that you have @@ -6004,6 +6002,15 @@ 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 { @@ -6016,6 +6023,17 @@ export namespace DescribeClustersMessage { *

                              */ export interface DescribeClusterSecurityGroupsMessage { + /** + *

                              An optional parameter that specifies the starting point to return a set of response + * records. When the results of a DescribeClusterSecurityGroups 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.

                              + *

                              Constraints: You can specify either the ClusterSecurityGroupName parameter or the Marker parameter, but not both.

                              + */ + 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 @@ -6027,15 +6045,12 @@ export interface DescribeClusterSecurityGroupsMessage { TagValues?: string[]; /** - *

                              An optional parameter that specifies the starting point to return a set of response - * records. When the results of a DescribeClusterSecurityGroups 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.

                              - *

                              Constraints: You can specify either the ClusterSecurityGroupName parameter or the Marker parameter, but not both.

                              + *

                              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 + *

                              */ - Marker?: string; + ClusterSecurityGroupName?: string; /** *

                              A tag key or keys for which you want to return all matching cluster security groups @@ -6057,14 +6072,6 @@ export interface DescribeClusterSecurityGroupsMessage { *

                              Constraints: minimum 20, maximum 100.

                              */ MaxRecords?: number; - - /** - *

                              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; } export namespace DescribeClusterSecurityGroupsMessage { @@ -6089,14 +6096,14 @@ export enum SortByOrder { */ export interface SnapshotSortingEntity { /** - *

                              The category for sorting the snapshots.

                              + *

                              The order for listing the attributes.

                              */ - Attribute: SnapshotAttributeToSortBy | string | undefined; + SortOrder?: SortByOrder | string; /** - *

                              The order for listing the attributes.

                              + *

                              The category for sorting the snapshots.

                              */ - SortOrder?: SortByOrder | string; + Attribute: SnapshotAttributeToSortBy | string | undefined; } export namespace SnapshotSortingEntity { @@ -6115,10 +6122,22 @@ export interface DescribeClusterSnapshotsMessage { ClusterIdentifier?: string; /** - *

                              The snapshot identifier of the snapshot about which to return - * information.

                              + *

                              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.

                              */ - SnapshotIdentifier?: string; + 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; /** *

                              The type of snapshots for which you are requesting information. By default, @@ -6128,6 +6147,12 @@ 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 @@ -6138,17 +6163,6 @@ export interface DescribeClusterSnapshotsMessage { */ StartTime?: Date; - /** - *

                              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 - * to the ISO8601 Wikipedia - * page. - *

                              - *

                              Example: 2012-07-16T18:00:00Z - *

                              - */ - EndTime?: 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 @@ -6160,9 +6174,30 @@ export interface DescribeClusterSnapshotsMessage { 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 + * to the ISO8601 Wikipedia + * page. + *

                              + *

                              Example: 2012-07-16T18:00:00Z + *

                              + */ + 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.

                              */ - SortingEntities?: SnapshotSortingEntity[]; + TagValues?: string[]; /** *

                              The maximum number of response records to return in each call. If the number of @@ -6202,34 +6237,6 @@ export interface DescribeClusterSnapshotsMessage { *

                            */ ClusterExists?: boolean; - - /** - *

                            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; - - /** - *

                            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; - - /** - *

                            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[]; } export namespace DescribeClusterSnapshotsMessage { @@ -6269,14 +6276,19 @@ export namespace SnapshotMessage { */ export interface DescribeClusterSubnetGroupsMessage { /** - *

                            A tag value or values for which you want to return all matching cluster subnet - * groups that are associated with the specified tag value or values. For example, suppose - * that you have subnet 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 subnet groups that have either or both of these tag values - * associated with them.

                            + *

                            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.

                            */ - TagValues?: string[]; + Marker?: string; + + /** + *

                            The name of the cluster subnet group for which information is requested.

                            + */ + ClusterSubnetGroupName?: string; /** *

                            The maximum number of response records to return in each call. If the number of @@ -6300,19 +6312,14 @@ export interface DescribeClusterSubnetGroupsMessage { TagKeys?: string[]; /** - *

                            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.

                            + *

                            A tag value or values for which you want to return all matching cluster subnet + * groups that are associated with the specified tag value or values. For example, suppose + * that you have subnet 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 subnet groups that have either or both of these tag values + * associated with them.

                            */ - ClusterSubnetGroupName?: string; + TagValues?: string[]; } export namespace DescribeClusterSubnetGroupsMessage { @@ -6327,11 +6334,6 @@ export interface DescribeClusterTracksMessage { */ MaxRecords?: number; - /** - *

                            The name of the maintenance track.

                            - */ - MaintenanceTrackName?: string; - /** *

                            An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeClusterTracks request exceed the @@ -6341,6 +6343,11 @@ export interface DescribeClusterTracksMessage { * retrying the request.

                            */ Marker?: string; + + /** + *

                            The name of the maintenance track.

                            + */ + MaintenanceTrackName?: string; } export namespace DescribeClusterTracksMessage { @@ -6370,14 +6377,14 @@ export namespace SupportedOperation { */ export interface UpdateTarget { /** - *

                            The name of the new maintenance track.

                            + *

                            The cluster version for the new maintenance track.

                            */ - MaintenanceTrackName?: string; + DatabaseVersion?: string; /** - *

                            The cluster version for the new maintenance track.

                            + *

                            The name of the new maintenance track.

                            */ - DatabaseVersion?: string; + MaintenanceTrackName?: string; /** *

                            A list of operations supported by the maintenance track.

                            @@ -6399,18 +6406,18 @@ export namespace UpdateTarget { * the previously certified maintenance release.

                            */ export interface MaintenanceTrack { - /** - *

                            The name of the maintenance track. Possible values are current and - * trailing.

                            - */ - MaintenanceTrackName?: string; - /** *

                            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.

                            + */ + MaintenanceTrackName?: string; + /** *

                            The version number for the cluster release.

                            */ @@ -6424,18 +6431,18 @@ export namespace MaintenanceTrack { } export interface TrackListMessage { + /** + *

                            A list of maintenance tracks output by the DescribeClusterTracks + * operation.

                            + */ + MaintenanceTracks?: MaintenanceTrack[]; + /** *

                            The starting point to return a set of response tracklist records. 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 list of maintenance tracks output by the DescribeClusterTracks - * operation.

                            - */ - MaintenanceTracks?: MaintenanceTrack[]; } export namespace TrackListMessage { @@ -6510,16 +6517,6 @@ export interface DescribeDefaultClusterParametersMessage { */ ParameterGroupFamily: string | undefined; - /** - *

                            An optional parameter that specifies the starting point to return a set of response - * records. When the results of a DescribeDefaultClusterParameters - * 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 maximum number of response records to return in each call. If the number of * remaining response records exceeds the specified MaxRecords value, a value @@ -6530,6 +6527,16 @@ export interface DescribeDefaultClusterParametersMessage { *

                            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 DescribeDefaultClusterParameters + * 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; } export namespace DescribeDefaultClusterParametersMessage { @@ -6573,12 +6580,6 @@ export namespace DescribeEventCategoriesMessage { *

                            Describes event information.

                            */ export interface EventInfoMap { - /** - *

                            The severity of the event.

                            - *

                            Values: ERROR, INFO

                            - */ - Severity?: string; - /** *

                            The category of an Amazon Redshift event.

                            */ @@ -6593,6 +6594,12 @@ export interface EventInfoMap { *

                            The description of an Amazon Redshift event.

                            */ EventDescription?: string; + + /** + *

                            The severity of the event.

                            + *

                            Values: ERROR, INFO

                            + */ + Severity?: string; } export namespace EventInfoMap { @@ -6606,15 +6613,15 @@ export namespace EventInfoMap { */ export interface EventCategoriesMap { /** - *

                            The source type, such as cluster or cluster-snapshot, that the returned categories - * belong to.

                            + *

                            The events in the event category.

                            */ - SourceType?: string; + Events?: EventInfoMap[]; /** - *

                            The events in the event category.

                            + *

                            The source type, such as cluster or cluster-snapshot, that the returned categories + * belong to.

                            */ - Events?: EventInfoMap[]; + SourceType?: string; } export namespace EventCategoriesMap { @@ -6650,6 +6657,36 @@ export type SourceType = *

                            */ export interface DescribeEventsMessage { + /** + *

                            The event source to retrieve events for. If no value is specified, all events are + * returned.

                            + *

                            Constraints:

                            + *

                            If SourceType is supplied, + * SourceIdentifier must also be provided.

                            + *
                              + *
                            • + *

                              Specify cluster when SourceIdentifier is + * a cluster identifier.

                              + *
                            • + *
                            • + *

                              Specify cluster-security-group when + * SourceIdentifier is a cluster security group + * name.

                              + *
                            • + *
                            • + *

                              Specify cluster-parameter-group when + * SourceIdentifier is a cluster parameter group + * name.

                              + *
                            • + *
                            • + *

                              Specify cluster-snapshot when + * SourceIdentifier is a cluster snapshot + * identifier.

                              + *
                            • + *
                            + */ + 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, @@ -6660,15 +6697,13 @@ export interface DescribeEventsMessage { Duration?: number; /** - *

                            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 + *

                            The end of the time interval for which to retrieve events, specified in ISO 8601 + * format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. + *

                            + *

                            Example: 2009-07-08T18:00Z *

                            - *

                            Constraints: minimum 20, maximum 100.

                            */ - MaxRecords?: number; + EndTime?: Date; /** *

                            The identifier of the event source for which events will be returned. If this @@ -6698,62 +6733,34 @@ export interface DescribeEventsMessage { SourceIdentifier?: string; /** - *

                            The end of the time interval for which to retrieve events, specified in ISO 8601 - * format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. - *

                            - *

                            Example: 2009-07-08T18:00Z - *

                            - */ - EndTime?: 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 - * 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 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; - - /** - *

                            The event source to retrieve events for. If no value is specified, all events are - * returned.

                            - *

                            Constraints:

                            - *

                            If SourceType is supplied, - * SourceIdentifier must also be provided.

                            - *
                              - *
                            • - *

                              Specify cluster when SourceIdentifier is - * a cluster identifier.

                              - *
                            • - *
                            • - *

                              Specify cluster-security-group when - * SourceIdentifier is a cluster security group - * name.

                              - *
                            • - *
                            • - *

                              Specify cluster-parameter-group when - * SourceIdentifier is a cluster parameter group - * name.

                              - *
                            • - *
                            • - *

                              Specify cluster-snapshot when - * SourceIdentifier is a cluster snapshot - * identifier.

                              - *
                            • - *
                            + *

                            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.

                            */ - SourceType?: SourceType | string; + 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 + * 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; } export namespace DescribeEventsMessage { @@ -6767,21 +6774,15 @@ export namespace DescribeEventsMessage { */ export interface Event { /** - *

                            The date and time of the event.

                            + *

                            The text of this event.

                            */ - Date?: Date; + Message?: string; /** *

                            The source type for this event.

                            */ SourceType?: SourceType | string; - /** - *

                            The severity of the event.

                            - *

                            Values: ERROR, INFO

                            - */ - Severity?: string; - /** *

                            The identifier for the source of the event.

                            */ @@ -6799,9 +6800,15 @@ export interface Event { EventCategories?: string[]; /** - *

                            The text of this event.

                            + *

                            The severity of the event.

                            + *

                            Values: ERROR, INFO

                            */ - Message?: string; + Severity?: string; + + /** + *

                            The date and time of the event.

                            + */ + Date?: Date; } export namespace Event { @@ -6839,6 +6846,12 @@ export namespace EventsMessage { *

                            */ export interface DescribeEventSubscriptionsMessage { + /** + *

                            The name of the Amazon Redshift event notification subscription to be + * described.

                            + */ + 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, @@ -6859,17 +6872,6 @@ export interface DescribeEventSubscriptionsMessage { */ 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.

                            - */ - MaxRecords?: number; - /** *

                            A tag key or keys for which you want to return all matching event notification * subscriptions that are associated with the specified key or keys. For example, suppose @@ -6881,10 +6883,15 @@ export interface DescribeEventSubscriptionsMessage { TagKeys?: string[]; /** - *

                            The name of the Amazon Redshift event notification subscription to be - * described.

                            + *

                            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.

                            */ - SubscriptionName?: string; + MaxRecords?: number; } export namespace DescribeEventSubscriptionsMessage { @@ -6940,6 +6947,16 @@ export interface DescribeHsmClientCertificatesMessage { */ MaxRecords?: number; + /** + *

                            An optional parameter that specifies the starting point to return a set of response + * records. When the results of a DescribeHsmClientCertificates 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 HSM client * certificates that are associated with the specified tag value or values. For example, @@ -6959,16 +6976,6 @@ export interface DescribeHsmClientCertificatesMessage { * of these tag keys associated with them.

                            */ TagKeys?: string[]; - - /** - *

                            An optional parameter that specifies the starting point to return a set of response - * records. When the results of a DescribeHsmClientCertificates 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; } export namespace DescribeHsmClientCertificatesMessage { @@ -6981,6 +6988,12 @@ 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 @@ -6989,12 +7002,6 @@ 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 { @@ -7007,17 +7014,6 @@ export namespace HsmClientCertificateMessage { *

                            */ export interface DescribeHsmConfigurationsMessage { - /** - *

                            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; - /** *

                            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 @@ -7028,13 +7024,6 @@ export interface DescribeHsmConfigurationsMessage { */ TagKeys?: 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.

                            - */ - HsmConfigurationIdentifier?: string; - /** *

                            An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeHsmConfigurations request @@ -7045,6 +7034,13 @@ 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.

                            + */ + HsmConfigurationIdentifier?: string; + /** *

                            A tag value or values for which you want to return all matching HSM configurations * that are associated with the specified tag value or values. For example, suppose that @@ -7054,6 +7050,17 @@ 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 { @@ -7109,16 +7116,6 @@ export namespace DescribeLoggingStatusMessage { *

                            Describes the status of logging for a cluster.

                            */ export interface LoggingStatus { - /** - *

                            The prefix applied to the log file names.

                            - */ - S3KeyPrefix?: string; - - /** - *

                            The message indicating that logs failed to be delivered.

                            - */ - LastFailureMessage?: string; - /** *

                            * true if logging is on, false if logging is off.

                            @@ -7130,15 +7127,25 @@ export interface LoggingStatus { */ LastFailureTime?: Date; + /** + *

                            The last time that logs were delivered.

                            + */ + LastSuccessfulDeliveryTime?: Date; + /** *

                            The name of the S3 bucket where the log files are stored.

                            */ BucketName?: string; /** - *

                            The last time that logs were delivered.

                            + *

                            The message indicating that logs failed to be delivered.

                            */ - LastSuccessfulDeliveryTime?: Date; + LastFailureMessage?: string; + + /** + *

                            The prefix applied to the log file names.

                            + */ + S3KeyPrefix?: string; } export namespace LoggingStatus { @@ -7168,6 +7175,11 @@ export enum OperatorType { *

                            A set of elements to filter the returned node configurations.

                            */ export interface NodeConfigurationOptionsFilter { + /** + *

                            The name of the element to filter.

                            + */ + 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. @@ -7184,11 +7196,6 @@ export interface NodeConfigurationOptionsFilter { * Provide a list of values for 'in'.

                            */ Operator?: OperatorType | string; - - /** - *

                            The name of the element to filter.

                            - */ - Name?: NodeConfigurationOptionsFilterName | string; } export namespace NodeConfigurationOptionsFilter { @@ -7218,21 +7225,6 @@ export interface DescribeNodeConfigurationOptionsMessage { */ MaxRecords?: number; - /** - *

                            A set of name, operator, and value items to filter the results.

                            - */ - Filters?: NodeConfigurationOptionsFilter[]; - - /** - *

                            The identifier of the snapshot to evaluate for possible node configurations.

                            - */ - SnapshotIdentifier?: string; - - /** - *

                            The identifier of the cluster to evaluate for possible node configurations.

                            - */ - ClusterIdentifier?: string; - /** *

                            An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeNodeConfigurationOptions request @@ -7249,6 +7241,21 @@ export interface DescribeNodeConfigurationOptionsMessage { * optional if you own the snapshot.

                            */ OwnerAccount?: string; + + /** + *

                            The identifier of the snapshot to evaluate for possible node configurations.

                            + */ + SnapshotIdentifier?: string; + + /** + *

                            A set of name, operator, and value items to filter the results.

                            + */ + Filters?: NodeConfigurationOptionsFilter[]; + + /** + *

                            The identifier of the cluster to evaluate for possible node configurations.

                            + */ + ClusterIdentifier?: string; } export namespace DescribeNodeConfigurationOptionsMessage { @@ -7272,14 +7279,14 @@ export interface NodeConfigurationOption { EstimatedDiskUtilizationPercent?: number; /** - *

                            The category of the node configuration recommendation.

                            + *

                            The node type, such as, "ds2.8xlarge".

                            */ - Mode?: Mode | string; + NodeType?: string; /** - *

                            The node type, such as, "ds2.8xlarge".

                            + *

                            The category of the node configuration recommendation.

                            */ - NodeType?: string; + Mode?: Mode | string; /** *

                            The number of nodes.

                            @@ -7294,6 +7301,11 @@ export namespace NodeConfigurationOption { } export interface NodeConfigurationOptionsMessage { + /** + *

                            A list of valid node configurations.

                            + */ + NodeConfigurationOptionList?: NodeConfigurationOption[]; + /** *

                            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 @@ -7302,11 +7314,6 @@ export interface NodeConfigurationOptionsMessage { * records have been retrieved for the request.

                            */ Marker?: string; - - /** - *

                            A list of valid node configurations.

                            - */ - NodeConfigurationOptionList?: NodeConfigurationOption[]; } export namespace NodeConfigurationOptionsMessage { @@ -7320,18 +7327,15 @@ export namespace NodeConfigurationOptionsMessage { */ export interface DescribeOrderableClusterOptionsMessage { /** - *

                            The node type filter value. Specify this parameter to show only the available - * offerings matching the specified node type.

                            - */ - NodeType?: 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.

                            + *

                            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.

                            */ - ClusterVersion?: string; + MaxRecords?: number; /** *

                            An optional parameter that specifies the starting point to return a set of response @@ -7344,15 +7348,18 @@ export interface DescribeOrderableClusterOptionsMessage { 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.

                            + *

                            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.

                            */ - MaxRecords?: number; + 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 { @@ -7371,9 +7378,9 @@ export interface OrderableClusterOption { ClusterType?: string; /** - *

                            The node type for the orderable cluster.

                            + *

                            The version of the orderable cluster.

                            */ - NodeType?: string; + ClusterVersion?: string; /** *

                            A list of availability zones for the orderable cluster.

                            @@ -7381,9 +7388,9 @@ export interface OrderableClusterOption { AvailabilityZones?: AvailabilityZone[]; /** - *

                            The version of the orderable cluster.

                            + *

                            The node type for the orderable cluster.

                            */ - ClusterVersion?: string; + NodeType?: string; } export namespace OrderableClusterOption { @@ -7423,6 +7430,11 @@ export namespace OrderableClusterOptionsMessage { *

                            */ export interface DescribeReservedNodeOfferingsMessage { + /** + *

                            The unique identifier for the offering.

                            + */ + ReservedNodeOfferingId?: 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 @@ -7434,11 +7446,6 @@ export interface DescribeReservedNodeOfferingsMessage { */ MaxRecords?: number; - /** - *

                            The unique identifier for the offering.

                            - */ - ReservedNodeOfferingId?: string; - /** *

                            An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeReservedNodeOfferings request @@ -7465,11 +7472,6 @@ export interface ReservedNodeOffering { */ ReservedNodeOfferingType?: ReservedNodeOfferingType | string; - /** - *

                            The currency code for the compute nodes offering.

                            - */ - CurrencyCode?: string; - /** *

                            The anticipated utilization of the reserved node, as defined in the reserved node * offering.

                            @@ -7477,16 +7479,20 @@ export interface ReservedNodeOffering { OfferingType?: string; /** - *

                            The rate you are charged for each hour the cluster that is using the offering is - * running.

                            + *

                            The currency code for the compute nodes offering.

                            */ - UsagePrice?: number; + CurrencyCode?: string; /** *

                            The node type offered by the reserved node offering.

                            */ NodeType?: string; + /** + *

                            The offering identifier.

                            + */ + ReservedNodeOfferingId?: string; + /** *

                            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 @@ -7495,20 +7501,21 @@ export interface ReservedNodeOffering { RecurringCharges?: RecurringCharge[]; /** - *

                            The offering identifier.

                            + *

                            The upfront fixed charge you will pay to purchase the specific reserved node + * offering.

                            */ - ReservedNodeOfferingId?: string; + FixedPrice?: number; /** - *

                            The duration, in seconds, for which the offering will reserve the node.

                            + *

                            The rate you are charged for each hour the cluster that is using the offering is + * running.

                            */ - Duration?: number; + UsagePrice?: number; /** - *

                            The upfront fixed charge you will pay to purchase the specific reserved node - * offering.

                            + *

                            The duration, in seconds, for which the offering will reserve the node.

                            */ - FixedPrice?: number; + Duration?: number; } export namespace ReservedNodeOffering { @@ -7521,11 +7528,6 @@ export namespace ReservedNodeOffering { *

                            */ export interface ReservedNodeOfferingsMessage { - /** - *

                            A list of ReservedNodeOffering objects.

                            - */ - ReservedNodeOfferings?: ReservedNodeOffering[]; - /** *

                            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 @@ -7534,6 +7536,11 @@ export interface ReservedNodeOfferingsMessage { * records have been retrieved for the request.

                            */ Marker?: string; + + /** + *

                            A list of ReservedNodeOffering objects.

                            + */ + ReservedNodeOfferings?: ReservedNodeOffering[]; } export namespace ReservedNodeOfferingsMessage { @@ -7551,16 +7558,6 @@ export interface DescribeReservedNodesMessage { */ ReservedNodeId?: string; - /** - *

                            An optional parameter that specifies the starting point to return a set of response - * records. When the results of a DescribeReservedNodes 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 maximum number of response records to return in each call. If the number of * remaining response records exceeds the specified MaxRecords value, a value @@ -7571,6 +7568,16 @@ export interface DescribeReservedNodesMessage { *

                            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 DescribeReservedNodes 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; } export namespace DescribeReservedNodesMessage { @@ -7657,10 +7664,9 @@ export enum ScheduledActionTypeValues { export interface DescribeScheduledActionsMessage { /** - *

                            The start time in UTC of the scheduled actions to retrieve. - * Only active scheduled actions that have invocations after this time are retrieved.

                            + *

                            List of scheduled action filters.

                            */ - StartTime?: Date; + Filters?: ScheduledActionFilter[]; /** *

                            If true, retrieve only active scheduled actions. @@ -7701,14 +7707,15 @@ export interface DescribeScheduledActionsMessage { EndTime?: Date; /** - *

                            The type of the scheduled actions to retrieve.

                            + *

                            The start time in UTC of the scheduled actions to retrieve. + * Only active scheduled actions that have invocations after this time are retrieved.

                            */ - TargetActionType?: ScheduledActionTypeValues | string; + StartTime?: Date; /** - *

                            List of scheduled action filters.

                            + *

                            The type of the scheduled actions to retrieve.

                            */ - Filters?: ScheduledActionFilter[]; + TargetActionType?: ScheduledActionTypeValues | string; } export namespace DescribeScheduledActionsMessage { @@ -7718,11 +7725,6 @@ export namespace DescribeScheduledActionsMessage { } export interface ScheduledActionsMessage { - /** - *

                            List of retrieved scheduled actions.

                            - */ - ScheduledActions?: ScheduledAction[]; - /** *

                            An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeScheduledActions request @@ -7732,6 +7734,11 @@ export interface ScheduledActionsMessage { * retrying the request.

                            */ Marker?: string; + + /** + *

                            List of retrieved scheduled actions.

                            + */ + ScheduledActions?: ScheduledAction[]; } export namespace ScheduledActionsMessage { @@ -7744,6 +7751,15 @@ export namespace ScheduledActionsMessage { *

                            The result of the DescribeSnapshotCopyGrants action.

                            */ 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.

                            + */ + 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 @@ -7755,24 +7771,6 @@ export interface DescribeSnapshotCopyGrantsMessage { */ MaxRecords?: number; - /** - *

                            A tag value or values for which you want to return all matching resources that are - * associated with the specified value or values. For example, suppose that you have - * resources tagged with values called admin and test. If you - * specify both of these tag values in the request, Amazon Redshift returns a response with all - * resources 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 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.

                            - */ - TagKeys?: string[]; - /** *

                            An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeSnapshotCopyGrant request exceed the @@ -7788,6 +7786,15 @@ export interface DescribeSnapshotCopyGrantsMessage { *

                            The name of the snapshot copy grant.

                            */ SnapshotCopyGrantName?: string; + + /** + *

                            A tag value or values for which you want to return all matching resources that are + * associated with the specified value or values. For example, suppose that you have + * resources tagged with values called admin and test. If you + * specify both of these tag values in the request, Amazon Redshift returns a response with all + * resources that have either or both of these tag values associated with them.

                            + */ + TagValues?: string[]; } export namespace DescribeSnapshotCopyGrantsMessage { @@ -7800,6 +7807,11 @@ 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 @@ -7810,11 +7822,6 @@ 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 { @@ -7825,14 +7832,15 @@ export namespace SnapshotCopyGrantMessage { export interface DescribeSnapshotSchedulesMessage { /** - *

                            A unique identifier for a snapshot schedule.

                            + *

                            The unique identifier for the cluster whose snapshot schedules you want to + * view.

                            */ - ScheduleIdentifier?: string; + ClusterIdentifier?: string; /** - *

                            The key value for a snapshot schedule tag.

                            + *

                            The value corresponding to the key of the snapshot schedule tag.

                            */ - TagKeys?: string[]; + TagValues?: string[]; /** *

                            The maximum number or response records to return in each call. If the number of @@ -7844,15 +7852,14 @@ export interface DescribeSnapshotSchedulesMessage { MaxRecords?: number; /** - *

                            The unique identifier for the cluster whose snapshot schedules you want to - * view.

                            + *

                            The key value for a snapshot schedule tag.

                            */ - ClusterIdentifier?: string; + TagKeys?: string[]; /** - *

                            The value corresponding to the key of the snapshot schedule tag.

                            + *

                            A unique identifier for a snapshot schedule.

                            */ - TagValues?: string[]; + ScheduleIdentifier?: string; /** *

                            A value that indicates the starting point for the next set of response records in a @@ -7897,12 +7904,11 @@ export namespace DescribeSnapshotSchedulesOutputMessage { */ export interface DescribeTableRestoreStatusMessage { /** - *

                            An optional pagination token provided by a previous - * DescribeTableRestoreStatus request. If this parameter is specified, the - * response includes only records beyond the marker, up to the value specified by the - * MaxRecords parameter.

                            + *

                            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.

                            */ - Marker?: string; + MaxRecords?: number; /** *

                            The identifier of the table restore request to return status for. If you don't @@ -7913,16 +7919,17 @@ export interface DescribeTableRestoreStatusMessage { TableRestoreRequestId?: string; /** - *

                            The Amazon Redshift cluster that the table is being restored to.

                            + *

                            An optional pagination token provided by a previous + * DescribeTableRestoreStatus request. If this parameter is specified, the + * response includes only records beyond the marker, up to the value specified by the + * MaxRecords parameter.

                            */ - ClusterIdentifier?: string; + Marker?: 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.

                            + *

                            The Amazon Redshift cluster that the table is being restored to.

                            */ - MaxRecords?: number; + ClusterIdentifier?: string; } export namespace DescribeTableRestoreStatusMessage { @@ -7954,14 +7961,20 @@ export type TableRestoreStatusType = "CANCELED" | "FAILED" | "IN_PROGRESS" | "PE */ export interface TableRestoreStatus { /** - *

                            The name of the schema to restore the table to.

                            + *

                            The name of the source database that contains the table being restored.

                            */ - TargetSchemaName?: string; + SourceDatabaseName?: string; /** - *

                            The total amount of data to restore to the new table, in megabytes (MB).

                            + *

                            The time that the table restore request was made, in Universal Coordinated Time + * (UTC).

                            */ - TotalDataInMegaBytes?: number; + RequestTime?: Date; + + /** + *

                            The name of the source table being restored.

                            + */ + SourceTableName?: string; /** *

                            The name of the database to restore the table to.

                            @@ -7974,33 +7987,33 @@ export interface TableRestoreStatus { SnapshotIdentifier?: string; /** - *

                            The identifier of the Amazon Redshift cluster that the table is being restored - * to.

                            + *

                            The total amount of data to restore to the new table, in megabytes (MB).

                            */ - ClusterIdentifier?: string; + TotalDataInMegaBytes?: number; /** - *

                            The time that the table restore request was made, in Universal Coordinated Time - * (UTC).

                            + *

                            The name of the schema to restore the table to.

                            */ - RequestTime?: Date; + TargetSchemaName?: string; /** - *

                            The amount of data restored to the new table so far, in megabytes (MB).

                            + *

                            The identifier of the Amazon Redshift cluster that the table is being restored + * to.

                            */ - ProgressInMegaBytes?: number; + ClusterIdentifier?: string; /** - *

                            The name of the source database that contains the table being restored.

                            + *

                            The name of the table to create as a result of the table restore request.

                            */ - SourceDatabaseName?: string; + NewTableName?: string; /** - *

                            A description of the status of the table restore request. Status values include - * SUCCEEDED, FAILED, CANCELED, - * PENDING, IN_PROGRESS.

                            + *

                            A value that describes the current state of the table restore request.

                            + *

                            Valid Values: SUCCEEDED, FAILED, CANCELED, + * PENDING, IN_PROGRESS + *

                            */ - Message?: string; + Status?: TableRestoreStatusType | string; /** *

                            The name of the source schema that contains the table being restored.

                            @@ -8008,27 +8021,21 @@ export interface TableRestoreStatus { SourceSchemaName?: 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; /** - *

                            A value that describes the current state of the table restore request.

                            - *

                            Valid Values: SUCCEEDED, FAILED, CANCELED, - * PENDING, IN_PROGRESS - *

                            + *

                            The amount of data restored to the new table so far, in megabytes (MB).

                            */ - Status?: TableRestoreStatusType | string; + ProgressInMegaBytes?: number; /** *

                            The unique identifier for the table restore request.

                            */ - TableRestoreRequestId?: string; - - /** - *

                            The name of the table to create as a result of the table restore request.

                            - */ - NewTableName?: string; + TableRestoreRequestId?: string; } export namespace TableRestoreStatus { @@ -8042,14 +8049,14 @@ export namespace TableRestoreStatus { */ export interface TableRestoreStatusMessage { /** - *

                            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; /** - *

                            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[]; } export namespace TableRestoreStatusMessage { @@ -8062,21 +8069,6 @@ export namespace TableRestoreStatusMessage { *

                            */ export interface DescribeTagsMessage { - /** - *

                            A tag value or values for which you want to return all matching resources that are - * associated with the specified value or values. For example, suppose that you have - * resources tagged with values called admin and test. If you - * specify both of these tag values in the request, Amazon Redshift returns a response with all - * 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; - /** *

                            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 @@ -8143,6 +8135,21 @@ export interface DescribeTagsMessage { * 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 resources that are + * associated with the specified value or values. For example, suppose that you have + * resources tagged with values called admin and test. If you + * specify both of these tag values in the request, Amazon Redshift returns a response with all + * 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 { @@ -8155,11 +8162,6 @@ 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.

                            @@ -8202,6 +8204,11 @@ export interface TaggedResource { * Amazon Redshift Cluster Management Guide.

                            */ ResourceType?: string; + + /** + *

                            The tag for the resource.

                            + */ + Tag?: Tag; } export namespace TaggedResource { @@ -8236,6 +8243,22 @@ export namespace TaggedResourceListMessage { } export interface DescribeUsageLimitsMessage { + /** + *

                            The feature type for which you want to describe usage limits.

                            + */ + FeatureType?: UsageLimitFeatureType | 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; + /** *

                            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 @@ -8246,21 +8269,11 @@ export interface DescribeUsageLimitsMessage { */ TagKeys?: string[]; - /** - *

                            The feature type for which you want to describe usage limits.

                            - */ - FeatureType?: UsageLimitFeatureType | string; - /** *

                            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; - /** *

                            An optional parameter that specifies the starting point to return a set of response * records. When the results of a DescribeUsageLimits request @@ -8271,17 +8284,6 @@ export interface DescribeUsageLimitsMessage { */ 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.

                            - */ - MaxRecords?: number; - /** *

                            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 @@ -8291,6 +8293,11 @@ 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 { @@ -8300,6 +8307,12 @@ export namespace DescribeUsageLimitsMessage { } export interface UsageLimitList { + /** + *

                            Contains the output from the DescribeUsageLimits + * action.

                            + */ + UsageLimits?: UsageLimit[]; + /** *

                            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 @@ -8308,12 +8321,6 @@ export interface UsageLimitList { * records have been retrieved for the request.

                            */ Marker?: string; - - /** - *

                            Contains the output from the DescribeUsageLimits - * action.

                            - */ - UsageLimits?: UsageLimit[]; } export namespace UsageLimitList { @@ -8391,6 +8398,27 @@ export namespace SnapshotCopyAlreadyDisabledFault { *

                            */ export interface EnableLoggingMessage { + /** + *

                            The identifier of the cluster on which logging is to be started.

                            + *

                            Example: examplecluster + *

                            + */ + ClusterIdentifier: string | undefined; + + /** + *

                            The name of an existing S3 bucket where the log files are to be stored.

                            + *

                            Constraints:

                            + *
                              + *
                            • + *

                              Must be in the same region as the cluster

                              + *
                            • + *
                            • + *

                              The cluster must have read bucket and put object permissions

                              + *
                            • + *
                            + */ + BucketName: string | undefined; + /** *

                            The prefix applied to the log file names.

                            *

                            Constraints:

                            @@ -8422,27 +8450,6 @@ export interface EnableLoggingMessage { *
                          */ S3KeyPrefix?: string; - - /** - *

                          The name of an existing S3 bucket where the log files are to be stored.

                          - *

                          Constraints:

                          - *
                            - *
                          • - *

                            Must be in the same region as the cluster

                            - *
                          • - *
                          • - *

                            The cluster must have read bucket and put object permissions

                            - *
                          • - *
                          - */ - BucketName: string | undefined; - - /** - *

                          The identifier of the cluster on which logging is to be started.

                          - *

                          Example: examplecluster - *

                          - */ - ClusterIdentifier: string | undefined; } export namespace EnableLoggingMessage { @@ -8506,20 +8513,10 @@ export namespace InvalidS3KeyPrefixFault { */ export interface EnableSnapshotCopyMessage { /** - *

                          The number of days to retain newly copied snapshots in the destination AWS Region - * after they are copied from the source AWS Region. 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.

                          - */ - ManualSnapshotRetentionPeriod?: 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 unique identifier of the source cluster to copy snapshots from.

                          @@ -8537,10 +8534,20 @@ export interface EnableSnapshotCopyMessage { RetentionPeriod?: number; /** - *

                          The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted - * cluster are copied to the destination region.

                          + *

                          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. + *

                          */ - SnapshotCopyGrantName?: string; + DestinationRegion: string | undefined; + + /** + *

                          The number of days to retain newly copied snapshots in the destination AWS Region + * after they are copied from the source AWS Region. 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.

                          + */ + ManualSnapshotRetentionPeriod?: number; } export namespace EnableSnapshotCopyMessage { @@ -8612,14 +8619,28 @@ export namespace UnknownSnapshotCopyRegionFault { */ export interface GetClusterCredentialsMessage { /** - *

                          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 - * memberships for an existing user. If not specified, a new user is added only to - * PUBLIC.

                          - *

                          Database group name constraints

                          + *

                          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 + * user. If DbUser doesn't exist in the database and Autocreate + * is True, a new user is created using the value for DbUser with + * PUBLIC permissions. If a database user matching the value for DbUser + * doesn't exist and Autocreate is False, then the command + * succeeds but the connection attempt will fail because the user doesn't exist in the + * database.

                          + *

                          For more information, see CREATE USER in the Amazon + * Redshift Database Developer Guide.

                          + *

                          Constraints:

                          *
                            *
                          • - *

                            Must be 1 to 64 alphanumeric characters or hyphens

                            + *

                            Must be 1 to 64 alphanumeric characters or hyphens. The user name can't be + * PUBLIC.

                            *
                          • *
                          • *

                            Must contain only lowercase letters, numbers, underscore, plus sign, period @@ -8637,14 +8658,7 @@ export interface GetClusterCredentialsMessage { *

                          • *
                          */ - DbGroups?: string[]; - - /** - *

                          The number of seconds until the returned temporary password expires.

                          - *

                          Constraint: minimum 900, maximum 3600.

                          - *

                          Default: 900

                          - */ - DurationSeconds?: number; + DbUser: string | undefined; /** *

                          Create a database user with the name specified for the user named in @@ -8686,21 +8700,14 @@ export interface GetClusterCredentialsMessage { ClusterIdentifier: string | undefined; /** - *

                          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 - * user. If DbUser doesn't exist in the database and Autocreate - * is True, a new user is created using the value for DbUser with - * PUBLIC permissions. If a database user matching the value for DbUser - * doesn't exist and Autocreate is False, then the command - * succeeds but the connection attempt will fail because the user doesn't exist in the - * database.

                          - *

                          For more information, see CREATE USER in the Amazon - * Redshift Database Developer Guide.

                          - *

                          Constraints:

                          + *

                          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 + * memberships for an existing user. If not specified, a new user is added only to + * PUBLIC.

                          + *

                          Database group name constraints

                          *
                            *
                          • - *

                            Must be 1 to 64 alphanumeric characters or hyphens. The user name can't be - * PUBLIC.

                            + *

                            Must be 1 to 64 alphanumeric characters or hyphens

                            *
                          • *
                          • *

                            Must contain only lowercase letters, numbers, underscore, plus sign, period @@ -8718,7 +8725,7 @@ export interface GetClusterCredentialsMessage { *

                          • *
                          */ - DbUser: string | undefined; + DbGroups?: string[]; } export namespace GetClusterCredentialsMessage { @@ -8737,17 +8744,17 @@ export interface GetReservedNodeExchangeOfferingsInputMessage { */ MaxRecords?: number; - /** - *

                          A value that indicates the starting point for the next set of - * ReservedNodeOfferings.

                          - */ - Marker?: string; - /** *

                          A string representing the node identifier for the DC1 Reserved Node to be * exchanged.

                          */ ReservedNodeId: string | undefined; + + /** + *

                          A value that indicates the starting point for the next set of + * ReservedNodeOfferings.

                          + */ + Marker?: string; } export namespace GetReservedNodeExchangeOfferingsInputMessage { @@ -8757,6 +8764,11 @@ 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 @@ -8766,11 +8778,6 @@ 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 5c427f8290db..270e1f455492 100644 --- a/clients/client-redshift/models/models_1.ts +++ b/clients/client-redshift/models/models_1.ts @@ -18,115 +18,28 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface ModifyClusterMessage { /** - *

                          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; - - /** - *

                          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. In the China region we use legacy encryption - * if you specify that the cluster is encrypted.

                          - *

                          If the value is not encrypted (false), then the cluster is decrypted.

                          - */ - Encrypted?: boolean; - - /** - *

                          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.

                          - *

                          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 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; - - /** - *

                          The new identifier for the cluster.

                          - *

                          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: examplecluster - *

                          - */ - NewClusterIdentifier?: 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.

                          + *

                          The new node type of the cluster. If you specify a new node type, you must also + * specify the number of nodes 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.

                          - */ - NumberOfNodes?: number; - - /** - *

                          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; - - /** - *

                          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.

                          + *

                          Valid Values: ds2.xlarge | ds2.8xlarge | + * dc1.large | dc1.8xlarge | + * dc2.large | dc2.8xlarge | + * ra3.4xlarge | ra3.16xlarge + *

                          */ - MaintenanceTrackName?: string; + NodeType?: string; /** - *

                          If true, the cluster can be accessed from a public network. Only - * clusters in VPCs can be set to be publicly available.

                          + *

                          If true, major version upgrades will be applied automatically to the + * cluster during the maintenance window.

                          + *

                          Default: false + *

                          */ - PubliclyAccessible?: boolean; + AllowVersionUpgrade?: boolean; /** *

                          The new password for the cluster master user. This change is asynchronously applied @@ -161,14 +74,6 @@ export interface ModifyClusterMessage { */ MasterUserPassword?: string; - /** - *

                          If true, major version upgrades will be applied automatically to the - * cluster during the maintenance window.

                          - *

                          Default: false - *

                          - */ - AllowVersionUpgrade?: boolean; - /** *

                          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 @@ -179,26 +84,14 @@ export interface ModifyClusterMessage { ManualSnapshotRetentionPeriod?: number; /** - *

                          The new node type of the cluster. If you specify a new node type, you must also - * specify the number of nodes parameter.

                          - *

                          - * For more information about resizing clusters, go to - * Resizing Clusters in Amazon Redshift - * 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; - - /** - *

                          A list of virtual private cloud (VPC) security groups to be associated with the - * cluster. This change is asynchronously applied as soon as possible.

                          + *

                          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.

                          */ - VpcSecurityGroupIds?: string[]; + MaintenanceTrackName?: string; /** *

                          The weekly time range (in UTC) during which system maintenance can occur, if @@ -216,24 +109,84 @@ export interface ModifyClusterMessage { PreferredMaintenanceWindow?: string; /** - *

                          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:

                          - *
                            + *

                            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.

                            + */ + NumberOfNodes?: number; + + /** + *

                            If true, the cluster can be accessed from a public network. Only + * clusters in VPCs can be set to be publicly available.

                            + */ + PubliclyAccessible?: boolean; + + /** + *

                            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.

                            + */ + Encrypted?: boolean; + + /** + *

                            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 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; + + /** + *

                            The new identifier for the cluster.

                            + *

                            Constraints:

                            + *
                              *
                            • - *

                              Must be 1 to 255 alphanumeric characters or hyphens

                              + *

                              Must contain from 1 to 63 alphanumeric characters or hyphens.

                              *
                            • *
                            • - *

                              First character must be a letter

                              + *

                              Alphabetic characters must be lowercase.

                              *
                            • *
                            • - *

                              Cannot end with a hyphen or contain two consecutive hyphens

                              + *

                              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: examplecluster + *

                            */ - ClusterSecurityGroups?: string[]; + 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.

                            + */ + AutomatedSnapshotRetentionPeriod?: number; /** *

                            An option that specifies whether to create the cluster with enhanced VPC routing @@ -246,10 +199,24 @@ export interface ModifyClusterMessage { 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.

                            + *

                            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

                              + *
                            • + *
                            */ - HsmConfigurationIdentifier?: string; + ClusterSecurityGroups?: string[]; /** *

                            The new cluster type.

                            @@ -262,6 +229,13 @@ export interface ModifyClusterMessage { */ 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.

                            @@ -272,11 +246,36 @@ export interface ModifyClusterMessage { ClusterParameterGroupName?: string; /** - *

                            The unique identifier of the cluster to be modified.

                            - *

                            Example: examplecluster + *

                            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 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 *

                            */ - ClusterIdentifier: string | undefined; + 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 { @@ -373,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 { @@ -408,10 +407,9 @@ export namespace ModifyClusterIamRolesResult { export interface ModifyClusterMaintenanceMessage { /** - *

                            A timestamp indicating end time for the deferred maintenance window. If you specify an - * end time, you can't specify a duration.

                            + *

                            A boolean indicating whether to enable the deferred maintenance window.

                            */ - DeferMaintenanceEndTime?: Date; + DeferMaintenance?: boolean; /** *

                            A timestamp indicating the start time for the deferred maintenance window.

                            @@ -419,9 +417,10 @@ export interface ModifyClusterMaintenanceMessage { DeferMaintenanceStartTime?: Date; /** - *

                            A boolean indicating whether to enable 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.

                            */ - DeferMaintenance?: boolean; + DeferMaintenanceDuration?: number; /** *

                            A unique identifier for the cluster.

                            @@ -429,10 +428,10 @@ export interface ModifyClusterMaintenanceMessage { ClusterIdentifier: string | undefined; /** - *

                            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 timestamp indicating end time for the deferred maintenance window. If you specify an + * end time, you can't specify a duration.

                            */ - DeferMaintenanceDuration?: number; + DeferMaintenanceEndTime?: Date; /** *

                            A unique identifier for the deferred maintenance window.

                            @@ -460,7 +459,7 @@ export namespace ModifyClusterMaintenanceResult { } /** - *

                            + *

                            Describes a modify cluster parameter group operation.

                            */ export interface ModifyClusterParameterGroupMessage { /** @@ -533,17 +532,17 @@ export interface ModifyClusterSnapshotScheduleMessage { */ DisassociateSchedule?: boolean; - /** - *

                            A unique identifier for the cluster whose snapshot schedule you want to modify. - *

                            - */ - ClusterIdentifier: string | undefined; - /** *

                            A unique alphanumeric identifier for the schedule that you want to associate with the * cluster.

                            */ ScheduleIdentifier?: string; + + /** + *

                            A unique identifier for the cluster whose snapshot schedule you want to modify. + *

                            + */ + ClusterIdentifier: string | undefined; } export namespace ModifyClusterSnapshotScheduleMessage { @@ -556,6 +555,12 @@ 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.

                            */ @@ -565,12 +570,6 @@ 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 { @@ -611,13 +610,6 @@ export namespace SubnetAlreadyInUse { *

                            */ export interface ModifyEventSubscriptionMessage { - /** - *

                            Specifies the Amazon Redshift event severity to be published by the event notification - * subscription.

                            - *

                            Values: ERROR, INFO

                            - */ - Severity?: 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 @@ -630,24 +622,23 @@ export interface ModifyEventSubscriptionMessage { SourceIds?: string[]; /** - *

                            A Boolean value indicating if the subscription is enabled. true - * indicates the subscription is enabled

                            + *

                            The name of the modified Amazon Redshift event notification subscription.

                            */ - Enabled?: boolean; + SubscriptionName: string | undefined; /** - *

                            The name of the modified Amazon Redshift event notification subscription.

                            + *

                            Specifies the Amazon Redshift event severity to be published by the event notification + * subscription.

                            + *

                            Values: ERROR, INFO

                            */ - SubscriptionName: string | undefined; + Severity?: 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 categories to be published by the event notification + * subscription.

                            + *

                            Values: configuration, management, monitoring, security

                            */ - SourceType?: string; + EventCategories?: string[]; /** *

                            The Amazon Resource Name (ARN) of the SNS topic to be used by the event @@ -656,11 +647,19 @@ export interface ModifyEventSubscriptionMessage { SnsTopicArn?: string; /** - *

                            Specifies the Amazon Redshift event categories to be published by the event notification - * subscription.

                            - *

                            Values: configuration, management, monitoring, security

                            + *

                            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.

                            */ - EventCategories?: string[]; + SourceType?: string; + + /** + *

                            A Boolean value indicating if the subscription is enabled. true + * indicates the subscription is enabled

                            + */ + Enabled?: boolean; } export namespace ModifyEventSubscriptionMessage { @@ -690,26 +689,27 @@ export interface ModifyScheduledActionMessage { TargetAction?: ScheduledActionType; /** - *

                            A modified end time of the scheduled action. - * For more information about this parameter, see ScheduledAction.

                            + *

                            A modified schedule in either at( ) or cron( ) format. + * For more information about this parameter, see ScheduledAction.

                            */ - EndTime?: Date; + Schedule?: string; /** - *

                            A modified enable flag of the scheduled action. If true, the scheduled action is active. If false, the scheduled action is disabled.

                            + *

                            A modified description of the scheduled action.

                            */ - Enable?: boolean; + ScheduledActionDescription?: string; /** - *

                            A different IAM role to assume to run the target action. - * For more information about this parameter, see ScheduledAction.

                            + *

                            A modified start time of the scheduled action. + * For more information about this parameter, see ScheduledAction.

                            */ - IamRole?: string; + StartTime?: Date; /** - *

                            A modified description of the scheduled action.

                            + *

                            A modified end time of the scheduled action. + * For more information about this parameter, see ScheduledAction.

                            */ - ScheduledActionDescription?: string; + EndTime?: Date; /** *

                            The name of the scheduled action to modify.

                            @@ -717,16 +717,15 @@ export interface ModifyScheduledActionMessage { ScheduledActionName: string | undefined; /** - *

                            A modified schedule in either at( ) or cron( ) format. + *

                            A different IAM role to assume to run the target action. * For more information about this parameter, see ScheduledAction.

                            */ - Schedule?: string; + IamRole?: string; /** - *

                            A modified start time of the scheduled action. - * For more information about this parameter, see ScheduledAction.

                            + *

                            A modified enable flag of the scheduled action. If true, the scheduled action is active. If false, the scheduled action is disabled.

                            */ - StartTime?: Date; + Enable?: boolean; } export namespace ModifyScheduledActionMessage { @@ -739,15 +738,6 @@ 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.

                            @@ -771,6 +761,15 @@ 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,16 +808,16 @@ export namespace SnapshotCopyDisabledFault { } export interface ModifySnapshotScheduleMessage { - /** - *

                            A unique alphanumeric identifier of the schedule to modify.

                            - */ - ScheduleIdentifier: string | undefined; - /** *

                            An updated list of schedule definitions. A schedule definition is made up of schedule * expressions, for example, "cron(30 12 *)" or "rate(12 hours)".

                            */ ScheduleDefinitions: string[] | undefined; + + /** + *

                            A unique alphanumeric identifier of the schedule to modify.

                            + */ + ScheduleIdentifier: string | undefined; } export namespace ModifySnapshotScheduleMessage { @@ -843,6 +842,12 @@ 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.

                            */ @@ -853,12 +858,6 @@ 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 { @@ -884,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 { @@ -968,6 +967,11 @@ export namespace RebootClusterResult { *

                            */ export interface ResetClusterParameterGroupMessage { + /** + *

                            The name of the cluster parameter group to be reset.

                            + */ + ParameterGroupName: string | undefined; + /** *

                            If true, all parameters in the specified parameter group will be reset * to their default values.

                            @@ -976,11 +980,6 @@ export interface ResetClusterParameterGroupMessage { */ ResetAllParameters?: boolean; - /** - *

                            The name of the cluster parameter group to be reset.

                            - */ - ParameterGroupName: string | undefined; - /** *

                            An array of names of parameters to be reset. If * ResetAllParameters option is not used, then at least one @@ -1014,31 +1013,40 @@ export namespace ResizeClusterResult { */ export interface RestoreFromClusterSnapshotMessage { /** - *

                            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.

                            + *

                            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.

                            */ - OwnerAccount?: string; + AutomatedSnapshotRetentionPeriod?: number; /** - *

                            If true, the cluster can be accessed from a public network.

                            + *

                            The port number on which the cluster accepts connections.

                            + *

                            Default: The same port as the original cluster.

                            + *

                            Constraints: Must be between 1115 and 65535.

                            */ - PubliclyAccessible?: boolean; + Port?: number; /** - *

                            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.

                            + *

                            The name of the snapshot from which to create the new cluster. This parameter isn't + * case sensitive.

                            + *

                            Example: my-snapshot-id + *

                            */ - SnapshotClusterIdentifier?: string; + SnapshotIdentifier: string | undefined; /** - *

                            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.

                            + *

                            The number of nodes specified when provisioning the restored cluster.

                            */ - IamRoles?: string[]; + NumberOfNodes?: number; /** *

                            The elastic IP (EIP) address for the cluster.

                            @@ -1046,24 +1054,27 @@ export interface RestoreFromClusterSnapshotMessage { ElasticIp?: string; /** - *

                            The Amazon EC2 Availability Zone in which to restore the cluster.

                            - *

                            Default: A random, system-chosen Availability Zone.

                            - *

                            Example: us-east-2a + *

                            If true, major version upgrades can be applied during the maintenance + * window to the Amazon Redshift engine that is running on the cluster.

                            + *

                            Default: true *

                            */ - AvailabilityZone?: string; + AllowVersionUpgrade?: boolean; /** - *

                            Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to - * retrieve the data encryption keys stored in an HSM.

                            + *

                            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.

                            */ - HsmClientCertificateIdentifier?: string; + ManualSnapshotRetentionPeriod?: number; /** - *

                            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.

                            + *

                            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 + * provide subnet group name where you want the cluster restored.

                            */ - KmsKeyId?: string; + ClusterSubnetGroupName?: string; /** *

                            The weekly time range (in UTC) during which automated cluster maintenance can @@ -1085,29 +1096,31 @@ export interface RestoreFromClusterSnapshotMessage { ClusterSecurityGroups?: 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.

                              - *
                            • - *
                            + *

                            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

                            */ - ClusterParameterGroupName?: string; + EnhancedVpcRouting?: boolean; /** - *

                            The number of nodes specified when provisioning the restored cluster.

                            + *

                            The Amazon EC2 Availability Zone in which to restore the cluster.

                            + *

                            Default: A random, system-chosen Availability Zone.

                            + *

                            Example: us-east-2a + *

                            */ - NumberOfNodes?: number; + AvailabilityZone?: 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 identifier of the cluster that will be created from restoring the @@ -1134,65 +1147,48 @@ export interface RestoreFromClusterSnapshotMessage { ClusterIdentifier: string | undefined; /** - *

                            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; - - /** - *

                            If true, major version upgrades can be applied during the maintenance - * window to the Amazon Redshift engine that is running on the cluster.

                            - *

                            Default: true - *

                            - */ - AllowVersionUpgrade?: boolean; - - /** - *

                            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 - * provide subnet group name where you want the cluster restored.

                            + *

                            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.

                              + *
                            • + *
                            */ - ClusterSubnetGroupName?: string; + ClusterParameterGroupName?: string; /** - *

                            The node type that the restored cluster will be provisioned with.

                            - *

                            Default: The node type of the cluster from which the snapshot was taken. You can - * modify this if you are using any DS node type. In that case, you can choose to restore - * into another DS node type of the same size. For example, you can restore ds1.8xlarge - * into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have a DC instance type, you - * must restore into that same instance type and size. In other words, you can only restore - * a dc1.large instance type into another dc1.large instance type or dc2.large instance - * type. You can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge - * cluster, then resize to a dc2.8large cluster. For more information about node types, see - * - * About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.

                            + *

                            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.

                            */ - NodeType?: string; + SnapshotClusterIdentifier?: string; /** - *

                            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; /** - *

                            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.

                            + *

                            Reserved.

                            */ - VpcSecurityGroupIds?: string[]; + AdditionalInfo?: string; /** - *

                            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.

                            + *

                            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.

                            */ - ManualSnapshotRetentionPeriod?: number; + OwnerAccount?: string; /** *

                            The name of the maintenance track for the restored cluster. When you take a snapshot, @@ -1205,34 +1201,37 @@ export interface RestoreFromClusterSnapshotMessage { MaintenanceTrackName?: string; /** - *

                            Reserved.

                            + *

                            If true, the cluster can be accessed from a public network.

                            */ - AdditionalInfo?: string; + PubliclyAccessible?: boolean; /** - *

                            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.

                            + *

                            A unique identifier for the snapshot schedule.

                            */ - AutomatedSnapshotRetentionPeriod?: number; + SnapshotScheduleIdentifier?: string; /** - *

                            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 node type that the restored cluster will be provisioned with.

                            + *

                            Default: The node type of the cluster from which the snapshot was taken. You can + * modify this if you are using any DS node type. In that case, you can choose to restore + * into another DS node type of the same size. For example, you can restore ds1.8xlarge + * into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have a DC instance type, you + * must restore into that same instance type and size. In other words, you can only restore + * a dc1.large instance type into another dc1.large instance type or dc2.large instance + * type. You can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge + * cluster, then resize to a dc2.8large cluster. For more information about node types, see + * + * About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.

                            */ - Port?: number; + NodeType?: string; /** - *

                            The name of the snapshot from which to create the new cluster. This parameter isn't - * case sensitive.

                            - *

                            Example: my-snapshot-id - *

                            + *

                            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.

                            */ - SnapshotIdentifier: string | undefined; + VpcSecurityGroupIds?: string[]; /** *

                            Specifies the name of the HSM configuration that contains the information the @@ -1269,6 +1268,11 @@ export interface RestoreTableFromClusterSnapshotMessage { */ TargetSchemaName?: string; + /** + *

                            The name of the source database that contains the table to restore from.

                            + */ + SourceDatabaseName: string | undefined; + /** *

                            The name of the source schema that contains the table to restore from. If you do * not specify a SourceSchemaName value, the default is @@ -1277,36 +1281,31 @@ export interface RestoreTableFromClusterSnapshotMessage { SourceSchemaName?: 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 database to restore the table to.

                            */ - SnapshotIdentifier: string | undefined; + TargetDatabaseName?: string; /** - *

                            The name of the source database that contains the table to restore from.

                            + *

                            The name of the source table to restore from.

                            */ - SourceDatabaseName: string | undefined; + SourceTableName: string | undefined; /** - *

                            The name of the database to restore the table to.

                            + *

                            The name of the table to create as a result of the current request.

                            */ - TargetDatabaseName?: string; + NewTableName: string | undefined; /** - *

                            The name of the source table to restore from.

                            + *

                            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.

                            */ - SourceTableName: string | undefined; + SnapshotIdentifier: string | undefined; /** *

                            The identifier of the Amazon Redshift cluster to restore the table to.

                            */ ClusterIdentifier: string | undefined; - - /** - *

                            The name of the table to create as a result of the current request.

                            - */ - NewTableName: string | undefined; } export namespace RestoreTableFromClusterSnapshotMessage { @@ -1357,11 +1356,6 @@ export interface RevokeClusterSecurityGroupIngressMessage { */ EC2SecurityGroupOwnerId?: string; - /** - *

                            The name of the security Group from which to revoke the ingress rule.

                            - */ - ClusterSecurityGroupName: string | undefined; - /** *

                            The IP range for which to revoke access. This range must be a valid Classless * Inter-Domain Routing (CIDR) block of IP addresses. If CIDRIP is specified, @@ -1376,6 +1370,11 @@ export interface RevokeClusterSecurityGroupIngressMessage { * must also be provided and CIDRIP cannot be provided.

                            */ EC2SecurityGroupName?: string; + + /** + *

                            The name of the security Group from which to revoke the ingress rule.

                            + */ + ClusterSecurityGroupName: string | undefined; } export namespace RevokeClusterSecurityGroupIngressMessage { @@ -1402,9 +1401,11 @@ export namespace RevokeClusterSecurityGroupIngressResult { */ export interface RevokeSnapshotAccessMessage { /** - *

                            The identifier of the snapshot that the account can no longer access.

                            + *

                            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 + * specifies anything other than * for the cluster name.

                            */ - SnapshotIdentifier: string | undefined; + SnapshotClusterIdentifier?: string; /** *

                            The identifier of the AWS customer account that can no longer restore the specified @@ -1413,11 +1414,9 @@ export interface RevokeSnapshotAccessMessage { AccountWithRestoreAccess: 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 - * specifies anything other than * for the cluster name.

                            + *

                            The identifier of the snapshot that the account can no longer access.

                            */ - SnapshotClusterIdentifier?: string; + SnapshotIdentifier: string | undefined; } export namespace RevokeSnapshotAccessMessage { diff --git a/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts b/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts new file mode 100644 index 000000000000..08f0bdb417d5 --- /dev/null +++ b/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts @@ -0,0 +1,51 @@ +import { Redshift } from "../Redshift"; +import { RedshiftClient } from "../RedshiftClient"; +import { + DescribeDefaultClusterParametersCommand, + DescribeDefaultClusterParametersCommandInput, + DescribeDefaultClusterParametersCommandOutput, +} from "../commands/DescribeDefaultClusterParametersCommand"; +import { RedshiftPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RedshiftClient, + input: DescribeDefaultClusterParametersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeDefaultClusterParametersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Redshift, + input: DescribeDefaultClusterParametersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeDefaultClusterParameters(input, ...args); +}; +export async function* describeDefaultClusterParametersPaginate( + config: RedshiftPaginationConfiguration, + input: DescribeDefaultClusterParametersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeDefaultClusterParametersCommandOutput; + 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["DefaultClusterParameters"]["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 507c7847fe17..a79a9120cbdf 100644 --- a/clients/client-redshift/protocols/Aws_query.ts +++ b/clients/client-redshift/protocols/Aws_query.ts @@ -10779,18 +10779,18 @@ const serializeAws_queryAuthorizeClusterSecurityGroupIngressMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ClusterSecurityGroupName !== undefined) { - entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; + if (input.EC2SecurityGroupName !== undefined) { + entries["EC2SecurityGroupName"] = input.EC2SecurityGroupName; } 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; }; @@ -10834,9 +10834,6 @@ const serializeAws_queryBatchModifyClusterSnapshotsMessage = ( if (input.ManualSnapshotRetentionPeriod !== undefined) { entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; } - if (input.Force !== undefined) { - entries["Force"] = input.Force; - } if (input.SnapshotIdentifierList !== undefined) { const memberEntries = serializeAws_querySnapshotIdentifierList(input.SnapshotIdentifierList, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -10844,6 +10841,9 @@ const serializeAws_queryBatchModifyClusterSnapshotsMessage = ( entries[loc] = value; }); } + if (input.Force !== undefined) { + entries["Force"] = input.Force; + } return entries; }; @@ -10870,37 +10870,25 @@ const serializeAws_queryCopyClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; - } if (input.SourceSnapshotClusterIdentifier !== undefined) { entries["SourceSnapshotClusterIdentifier"] = input.SourceSnapshotClusterIdentifier; } - if (input.SourceSnapshotIdentifier !== undefined) { - entries["SourceSnapshotIdentifier"] = input.SourceSnapshotIdentifier; + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; } if (input.TargetSnapshotIdentifier !== undefined) { entries["TargetSnapshotIdentifier"] = input.TargetSnapshotIdentifier; } + if (input.SourceSnapshotIdentifier !== undefined) { + entries["SourceSnapshotIdentifier"] = input.SourceSnapshotIdentifier; + } return entries; }; const serializeAws_queryCreateClusterMessage = (input: CreateClusterMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; - } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; - } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; - } - if (input.AdditionalInfo !== undefined) { - entries["AdditionalInfo"] = input.AdditionalInfo; - } - if (input.DBName !== undefined) { - entries["DBName"] = input.DBName; + if (input.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; } if (input.PubliclyAccessible !== undefined) { entries["PubliclyAccessible"] = input.PubliclyAccessible; @@ -10912,24 +10900,17 @@ const serializeAws_queryCreateClusterMessage = (input: CreateClusterMessage, con entries[loc] = value; }); } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; - } - 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.HsmClientCertificateIdentifier !== undefined) { + entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; } - if (input.MaintenanceTrackName !== undefined) { - entries["MaintenanceTrackName"] = input.MaintenanceTrackName; + if (input.Encrypted !== undefined) { + entries["Encrypted"] = input.Encrypted; } - if (input.NodeType !== undefined) { - entries["NodeType"] = input.NodeType; + if (input.AutomatedSnapshotRetentionPeriod !== undefined) { + entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; } - if (input.SnapshotScheduleIdentifier !== undefined) { - entries["SnapshotScheduleIdentifier"] = input.SnapshotScheduleIdentifier; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } if (input.HsmConfigurationIdentifier !== undefined) { entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; @@ -10940,42 +10921,65 @@ const serializeAws_queryCreateClusterMessage = (input: CreateClusterMessage, con if (input.ClusterType !== undefined) { entries["ClusterType"] = input.ClusterType; } - if (input.Port !== undefined) { - entries["Port"] = input.Port; + if (input.SnapshotScheduleIdentifier !== undefined) { + entries["SnapshotScheduleIdentifier"] = input.SnapshotScheduleIdentifier; } - if (input.AutomatedSnapshotRetentionPeriod !== undefined) { - entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; + 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.EnhancedVpcRouting !== undefined) { - entries["EnhancedVpcRouting"] = input.EnhancedVpcRouting; + if (input.ClusterSubnetGroupName !== undefined) { + entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; } - if (input.MasterUsername !== undefined) { - entries["MasterUsername"] = input.MasterUsername; + if (input.AllowVersionUpgrade !== undefined) { + entries["AllowVersionUpgrade"] = input.AllowVersionUpgrade; } - if (input.NumberOfNodes !== undefined) { - entries["NumberOfNodes"] = input.NumberOfNodes; + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; + } + if (input.MaintenanceTrackName !== undefined) { + entries["MaintenanceTrackName"] = input.MaintenanceTrackName; + } + if (input.AdditionalInfo !== undefined) { + entries["AdditionalInfo"] = input.AdditionalInfo; + } + if (input.NodeType !== undefined) { + entries["NodeType"] = input.NodeType; + } + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; + } + 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.ElasticIp !== undefined) { entries["ElasticIp"] = input.ElasticIp; } - if (input.Encrypted !== undefined) { - entries["Encrypted"] = input.Encrypted; - } - if (input.HsmClientCertificateIdentifier !== undefined) { - entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; + if (input.DBName !== undefined) { + entries["DBName"] = input.DBName; } - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; + if (input.NumberOfNodes !== undefined) { + entries["NumberOfNodes"] = input.NumberOfNodes; } - if (input.AllowVersionUpgrade !== undefined) { - entries["AllowVersionUpgrade"] = input.AllowVersionUpgrade; + if (input.EnhancedVpcRouting !== undefined) { + entries["EnhancedVpcRouting"] = input.EnhancedVpcRouting; } - if (input.ClusterSubnetGroupName !== undefined) { - entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; + 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.ClusterSecurityGroups !== undefined) { const memberEntries = serializeAws_queryClusterSecurityGroupNameList(input.ClusterSecurityGroups, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -10983,15 +10987,11 @@ const serializeAws_queryCreateClusterMessage = (input: CreateClusterMessage, con entries[loc] = value; }); } - 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.MasterUsername !== undefined) { + entries["MasterUsername"] = input.MasterUsername; } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.AvailabilityZone !== undefined) { + entries["AvailabilityZone"] = input.AvailabilityZone; } return entries; }; @@ -11001,6 +11001,9 @@ 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; } @@ -11014,9 +11017,6 @@ const serializeAws_queryCreateClusterParameterGroupMessage = ( entries[loc] = value; }); } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } return entries; }; @@ -11025,8 +11025,8 @@ const serializeAws_queryCreateClusterSecurityGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Description !== undefined) { - entries["Description"] = input.Description; + if (input.ClusterSecurityGroupName !== undefined) { + entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); @@ -11035,8 +11035,8 @@ const serializeAws_queryCreateClusterSecurityGroupMessage = ( entries[loc] = value; }); } - if (input.ClusterSecurityGroupName !== undefined) { - entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; + if (input.Description !== undefined) { + entries["Description"] = input.Description; } return entries; }; @@ -11046,8 +11046,8 @@ const serializeAws_queryCreateClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); @@ -11056,12 +11056,12 @@ const serializeAws_queryCreateClusterSnapshotMessage = ( entries[loc] = value; }); } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } if (input.SnapshotIdentifier !== undefined) { entries["SnapshotIdentifier"] = input.SnapshotIdentifier; } + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; + } return entries; }; @@ -11084,12 +11084,12 @@ const serializeAws_queryCreateClusterSubnetGroupMessage = ( entries[loc] = value; }); } - if (input.ClusterSubnetGroupName !== undefined) { - entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; - } if (input.Description !== undefined) { entries["Description"] = input.Description; } + if (input.ClusterSubnetGroupName !== undefined) { + entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; + } return entries; }; @@ -11101,9 +11101,22 @@ const serializeAws_queryCreateEventSubscriptionMessage = ( if (input.SnsTopicArn !== undefined) { entries["SnsTopicArn"] = input.SnsTopicArn; } + if (input.EventCategories !== undefined) { + const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `EventCategories.${key}`; + 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; } @@ -11114,16 +11127,6 @@ const serializeAws_queryCreateEventSubscriptionMessage = ( entries[loc] = value; }); } - if (input.EventCategories !== undefined) { - const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `EventCategories.${key}`; - entries[loc] = value; - }); - } - if (input.SourceType !== undefined) { - entries["SourceType"] = input.SourceType; - } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11131,9 +11134,6 @@ const serializeAws_queryCreateEventSubscriptionMessage = ( entries[loc] = value; }); } - if (input.SubscriptionName !== undefined) { - entries["SubscriptionName"] = input.SubscriptionName; - } return entries; }; @@ -11160,18 +11160,6 @@ const serializeAws_queryCreateHsmConfigurationMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.HsmIpAddress !== undefined) { - entries["HsmIpAddress"] = input.HsmIpAddress; - } - if (input.HsmServerPublicCertificate !== undefined) { - entries["HsmServerPublicCertificate"] = input.HsmServerPublicCertificate; - } - if (input.Description !== undefined) { - entries["Description"] = input.Description; - } - if (input.HsmPartitionPassword !== undefined) { - entries["HsmPartitionPassword"] = input.HsmPartitionPassword; - } if (input.HsmPartitionName !== undefined) { entries["HsmPartitionName"] = input.HsmPartitionName; } @@ -11185,6 +11173,18 @@ const serializeAws_queryCreateHsmConfigurationMessage = ( if (input.HsmConfigurationIdentifier !== undefined) { entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; } + if (input.HsmIpAddress !== undefined) { + entries["HsmIpAddress"] = input.HsmIpAddress; + } + if (input.HsmPartitionPassword !== undefined) { + entries["HsmPartitionPassword"] = input.HsmPartitionPassword; + } + if (input.Description !== undefined) { + entries["Description"] = input.Description; + } + if (input.HsmServerPublicCertificate !== undefined) { + entries["HsmServerPublicCertificate"] = input.HsmServerPublicCertificate; + } return entries; }; @@ -11206,20 +11206,20 @@ const serializeAws_queryCreateScheduledActionMessage = ( if (input.IamRole !== undefined) { entries["IamRole"] = input.IamRole; } - if (input.ScheduledActionDescription !== undefined) { - entries["ScheduledActionDescription"] = input.ScheduledActionDescription; - } - if (input.ScheduledActionName !== undefined) { - entries["ScheduledActionName"] = input.ScheduledActionName; + 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.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + if (input.ScheduledActionName !== undefined) { + entries["ScheduledActionName"] = input.ScheduledActionName; } return entries; }; @@ -11229,6 +11229,9 @@ 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; } @@ -11239,9 +11242,6 @@ const serializeAws_queryCreateSnapshotCopyGrantMessage = ( entries[loc] = value; }); } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; - } return entries; }; @@ -11253,27 +11253,27 @@ const serializeAws_queryCreateSnapshotScheduleMessage = ( if (input.ScheduleDescription !== undefined) { entries["ScheduleDescription"] = input.ScheduleDescription; } - if (input.ScheduleDefinitions !== undefined) { - const memberEntries = serializeAws_queryScheduleDefinitionList(input.ScheduleDefinitions, context); + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ScheduleDefinitions.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } - if (input.DryRun !== undefined) { - entries["DryRun"] = input.DryRun; - } if (input.NextInvocations !== undefined) { entries["NextInvocations"] = input.NextInvocations; } if (input.ScheduleIdentifier !== undefined) { entries["ScheduleIdentifier"] = input.ScheduleIdentifier; } - 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.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; }); } return entries; @@ -11296,9 +11296,6 @@ const serializeAws_queryCreateTagsMessage = (input: CreateTagsMessage, context: const serializeAws_queryCreateUsageLimitMessage = (input: CreateUsageLimitMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.FeatureType !== undefined) { - entries["FeatureType"] = input.FeatureType; - } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11306,17 +11303,20 @@ const serializeAws_queryCreateUsageLimitMessage = (input: CreateUsageLimitMessag entries[loc] = value; }); } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.Amount !== undefined) { + entries["Amount"] = input.Amount; + } + if (input.Period !== undefined) { + entries["Period"] = input.Period; } if (input.BreachAction !== undefined) { entries["BreachAction"] = input.BreachAction; } - if (input.Period !== undefined) { - entries["Period"] = input.Period; + if (input.FeatureType !== undefined) { + entries["FeatureType"] = input.FeatureType; } - if (input.Amount !== undefined) { - entries["Amount"] = input.Amount; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; } if (input.LimitType !== undefined) { entries["LimitType"] = input.LimitType; @@ -11342,12 +11342,12 @@ const serializeAws_queryDeleteClusterMessage = (input: DeleteClusterMessage, con if (input.SkipFinalClusterSnapshot !== undefined) { entries["SkipFinalClusterSnapshot"] = input.SkipFinalClusterSnapshot; } - if (input.FinalClusterSnapshotIdentifier !== undefined) { - entries["FinalClusterSnapshotIdentifier"] = input.FinalClusterSnapshotIdentifier; - } if (input.FinalClusterSnapshotRetentionPeriod !== undefined) { entries["FinalClusterSnapshotRetentionPeriod"] = input.FinalClusterSnapshotRetentionPeriod; } + if (input.FinalClusterSnapshotIdentifier !== undefined) { + entries["FinalClusterSnapshotIdentifier"] = input.FinalClusterSnapshotIdentifier; + } return entries; }; @@ -11378,12 +11378,12 @@ const serializeAws_queryDeleteClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SnapshotClusterIdentifier !== undefined) { - entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier; - } if (input.SnapshotIdentifier !== undefined) { entries["SnapshotIdentifier"] = input.SnapshotIdentifier; } + if (input.SnapshotClusterIdentifier !== undefined) { + entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier; + } return entries; }; @@ -11482,6 +11482,9 @@ const serializeAws_queryDeleteSnapshotScheduleMessage = ( const serializeAws_queryDeleteTagsMessage = (input: DeleteTagsMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.ResourceName !== undefined) { + entries["ResourceName"] = input.ResourceName; + } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11489,9 +11492,6 @@ const serializeAws_queryDeleteTagsMessage = (input: DeleteTagsMessage, context: entries[loc] = value; }); } - if (input.ResourceName !== undefined) { - entries["ResourceName"] = input.ResourceName; - } return entries; }; @@ -11526,12 +11526,12 @@ const serializeAws_queryDescribeClusterDbRevisionsMessage = ( 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; + } return entries; }; @@ -11540,12 +11540,12 @@ 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.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11571,8 +11571,8 @@ const serializeAws_queryDescribeClusterParametersMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Source !== undefined) { - entries["Source"] = input.Source; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } if (input.ParameterGroupName !== undefined) { entries["ParameterGroupName"] = input.ParameterGroupName; @@ -11580,8 +11580,8 @@ const serializeAws_queryDescribeClusterParametersMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.Source !== undefined) { + entries["Source"] = input.Source; } return entries; }; @@ -11591,6 +11591,9 @@ 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]) => { @@ -11598,8 +11601,8 @@ const serializeAws_queryDescribeClusterSecurityGroupsMessage = ( entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.ClusterSecurityGroupName !== undefined) { + entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); @@ -11611,30 +11614,20 @@ const serializeAws_queryDescribeClusterSecurityGroupsMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.ClusterSecurityGroupName !== undefined) { - entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; - } return entries; }; const serializeAws_queryDescribeClustersMessage = (input: DescribeClustersMessage, 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.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } 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]) => { @@ -11642,6 +11635,13 @@ const serializeAws_queryDescribeClustersMessage = (input: DescribeClustersMessag entries[loc] = value; }); } + if (input.TagKeys !== undefined) { + const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagKeys.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -11653,18 +11653,21 @@ const serializeAws_queryDescribeClusterSnapshotsMessage = ( if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } + if (input.OwnerAccount !== undefined) { + entries["OwnerAccount"] = input.OwnerAccount; } 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.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11679,17 +11682,8 @@ const serializeAws_queryDescribeClusterSnapshotsMessage = ( entries[loc] = value; }); } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } - if (input.ClusterExists !== undefined) { - entries["ClusterExists"] = input.ClusterExists; - } - if (input.OwnerAccount !== undefined) { - entries["OwnerAccount"] = input.OwnerAccount; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; } if (input.TagValues !== undefined) { const memberEntries = serializeAws_queryTagValueList(input.TagValues, context); @@ -11698,6 +11692,12 @@ const serializeAws_queryDescribeClusterSnapshotsMessage = ( entries[loc] = value; }); } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } + if (input.ClusterExists !== undefined) { + entries["ClusterExists"] = input.ClusterExists; + } return entries; }; @@ -11706,12 +11706,11 @@ const serializeAws_queryDescribeClusterSubnetGroupsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - 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.ClusterSubnetGroupName !== undefined) { + entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; @@ -11723,11 +11722,12 @@ const serializeAws_queryDescribeClusterSubnetGroupsMessage = ( entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.ClusterSubnetGroupName !== undefined) { - entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; + 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; }; @@ -11740,12 +11740,12 @@ const serializeAws_queryDescribeClusterTracksMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.MaintenanceTrackName !== undefined) { - entries["MaintenanceTrackName"] = input.MaintenanceTrackName; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } + if (input.MaintenanceTrackName !== undefined) { + entries["MaintenanceTrackName"] = input.MaintenanceTrackName; + } return entries; }; @@ -11777,12 +11777,12 @@ const serializeAws_queryDescribeDefaultClusterParametersMessage = ( if (input.ParameterGroupFamily !== undefined) { entries["ParameterGroupFamily"] = input.ParameterGroupFamily; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -11799,26 +11799,26 @@ const serializeAws_queryDescribeEventCategoriesMessage = ( const serializeAws_queryDescribeEventsMessage = (input: DescribeEventsMessage, context: __SerdeContext): any => { const entries: any = {}; + if (input.SourceType !== undefined) { + entries["SourceType"] = input.SourceType; + } if (input.Duration !== undefined) { entries["Duration"] = input.Duration; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.EndTime !== undefined) { + entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; } if (input.SourceIdentifier !== undefined) { entries["SourceIdentifier"] = input.SourceIdentifier; } - if (input.EndTime !== undefined) { - entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; - } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.StartTime !== undefined) { entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; } - if (input.SourceType !== undefined) { - entries["SourceType"] = input.SourceType; + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; } return entries; }; @@ -11828,6 +11828,9 @@ const serializeAws_queryDescribeEventSubscriptionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + 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]) => { @@ -11838,9 +11841,6 @@ const serializeAws_queryDescribeEventSubscriptionsMessage = ( if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11848,8 +11848,8 @@ const serializeAws_queryDescribeEventSubscriptionsMessage = ( entries[loc] = value; }); } - if (input.SubscriptionName !== undefined) { - entries["SubscriptionName"] = input.SubscriptionName; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } return entries; }; @@ -11865,6 +11865,9 @@ const serializeAws_queryDescribeHsmClientCertificatesMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + 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]) => { @@ -11879,9 +11882,6 @@ const serializeAws_queryDescribeHsmClientCertificatesMessage = ( entries[loc] = value; }); } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } return entries; }; @@ -11890,9 +11890,6 @@ const serializeAws_queryDescribeHsmConfigurationsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11900,12 +11897,12 @@ const serializeAws_queryDescribeHsmConfigurationsMessage = ( entries[loc] = value; }); } - if (input.HsmConfigurationIdentifier !== undefined) { - entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; - } 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]) => { @@ -11913,6 +11910,9 @@ const serializeAws_queryDescribeHsmConfigurationsMessage = ( entries[loc] = value; }); } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } return entries; }; @@ -11938,6 +11938,15 @@ const serializeAws_queryDescribeNodeConfigurationOptionsMessage = ( 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.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; + } if (input.Filters !== undefined) { const memberEntries = serializeAws_queryNodeConfigurationOptionsFilterList(input.Filters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -11945,18 +11954,9 @@ const serializeAws_queryDescribeNodeConfigurationOptionsMessage = ( entries[loc] = value; }); } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } - if (input.OwnerAccount !== undefined) { - entries["OwnerAccount"] = input.OwnerAccount; - } return entries; }; @@ -11965,17 +11965,17 @@ const serializeAws_queryDescribeOrderableClusterOptionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NodeType !== undefined) { - entries["NodeType"] = input.NodeType; - } - if (input.ClusterVersion !== undefined) { - entries["ClusterVersion"] = input.ClusterVersion; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; + if (input.ClusterVersion !== undefined) { + entries["ClusterVersion"] = input.ClusterVersion; + } + if (input.NodeType !== undefined) { + entries["NodeType"] = input.NodeType; } return entries; }; @@ -11985,12 +11985,12 @@ const serializeAws_queryDescribeReservedNodeOfferingsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } if (input.ReservedNodeOfferingId !== undefined) { entries["ReservedNodeOfferingId"] = input.ReservedNodeOfferingId; } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } @@ -12005,12 +12005,12 @@ const serializeAws_queryDescribeReservedNodesMessage = ( if (input.ReservedNodeId !== undefined) { entries["ReservedNodeId"] = input.ReservedNodeId; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -12027,12 +12027,16 @@ const serializeAws_queryDescribeScheduledActionsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.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]) => { + const loc = `Filters.${key}`; + entries[loc] = value; + }); + } + if (input.Active !== undefined) { + entries["Active"] = input.Active; + } if (input.ScheduledActionName !== undefined) { entries["ScheduledActionName"] = input.ScheduledActionName; } @@ -12045,16 +12049,12 @@ const serializeAws_queryDescribeScheduledActionsMessage = ( 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; } - if (input.Filters !== undefined) { - const memberEntries = serializeAws_queryScheduledActionFilterList(input.Filters, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Filters.${key}`; - entries[loc] = value; - }); - } return entries; }; @@ -12063,16 +12063,6 @@ const serializeAws_queryDescribeSnapshotCopyGrantsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - 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.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12080,12 +12070,22 @@ const serializeAws_queryDescribeSnapshotCopyGrantsMessage = ( entries[loc] = value; }); } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } if (input.SnapshotCopyGrantName !== undefined) { entries["SnapshotCopyGrantName"] = input.SnapshotCopyGrantName; } + 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; }; @@ -12094,29 +12094,29 @@ const serializeAws_queryDescribeSnapshotSchedulesMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ScheduleIdentifier !== undefined) { - entries["ScheduleIdentifier"] = input.ScheduleIdentifier; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; } - 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; }); } if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } - 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.ScheduleIdentifier !== undefined) { + entries["ScheduleIdentifier"] = input.ScheduleIdentifier; + } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } @@ -12128,33 +12128,23 @@ const serializeAws_queryDescribeTableRestoreStatusMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; } if (input.TableRestoreRequestId !== undefined) { entries["TableRestoreRequestId"] = input.TableRestoreRequestId; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } - if (input.MaxRecords !== undefined) { - entries["MaxRecords"] = input.MaxRecords; - } return entries; }; const serializeAws_queryDescribeTagsMessage = (input: DescribeTagsMessage, context: __SerdeContext): any => { const entries: any = {}; - 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.ResourceName !== undefined) { - entries["ResourceName"] = input.ResourceName; - } if (input.Marker !== undefined) { entries["Marker"] = input.Marker; } @@ -12171,6 +12161,16 @@ const serializeAws_queryDescribeTagsMessage = (input: DescribeTagsMessage, conte 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; + }); + } + if (input.ResourceName !== undefined) { + entries["ResourceName"] = input.ResourceName; + } return entries; }; @@ -12179,6 +12179,12 @@ const serializeAws_queryDescribeUsageLimitsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.FeatureType !== undefined) { + entries["FeatureType"] = input.FeatureType; + } + if (input.MaxRecords !== undefined) { + entries["MaxRecords"] = input.MaxRecords; + } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12186,21 +12192,12 @@ const serializeAws_queryDescribeUsageLimitsMessage = ( entries[loc] = value; }); } - if (input.FeatureType !== undefined) { - entries["FeatureType"] = input.FeatureType; - } if (input.UsageLimitId !== undefined) { entries["UsageLimitId"] = input.UsageLimitId; } - 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]) => { @@ -12208,6 +12205,9 @@ const serializeAws_queryDescribeUsageLimitsMessage = ( entries[loc] = value; }); } + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } return entries; }; @@ -12232,14 +12232,14 @@ const serializeAws_queryDisableSnapshotCopyMessage = ( const serializeAws_queryEnableLoggingMessage = (input: EnableLoggingMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.S3KeyPrefix !== undefined) { - entries["S3KeyPrefix"] = input.S3KeyPrefix; + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; } if (input.BucketName !== undefined) { entries["BucketName"] = input.BucketName; } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.S3KeyPrefix !== undefined) { + entries["S3KeyPrefix"] = input.S3KeyPrefix; } return entries; }; @@ -12249,11 +12249,8 @@ const serializeAws_queryEnableSnapshotCopyMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; - } - if (input.DestinationRegion !== undefined) { - entries["DestinationRegion"] = input.DestinationRegion; + if (input.SnapshotCopyGrantName !== undefined) { + entries["SnapshotCopyGrantName"] = input.SnapshotCopyGrantName; } if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; @@ -12261,8 +12258,11 @@ const serializeAws_queryEnableSnapshotCopyMessage = ( if (input.RetentionPeriod !== undefined) { entries["RetentionPeriod"] = input.RetentionPeriod; } - if (input.SnapshotCopyGrantName !== undefined) { - entries["SnapshotCopyGrantName"] = input.SnapshotCopyGrantName; + if (input.DestinationRegion !== undefined) { + entries["DestinationRegion"] = input.DestinationRegion; + } + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; } return entries; }; @@ -12282,16 +12282,12 @@ const serializeAws_queryGetClusterCredentialsMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DbGroups !== undefined) { - const memberEntries = serializeAws_queryDbGroupList(input.DbGroups, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DbGroups.${key}`; - entries[loc] = value; - }); - } if (input.DurationSeconds !== undefined) { entries["DurationSeconds"] = input.DurationSeconds; } + if (input.DbUser !== undefined) { + entries["DbUser"] = input.DbUser; + } if (input.AutoCreate !== undefined) { entries["AutoCreate"] = input.AutoCreate; } @@ -12301,8 +12297,12 @@ const serializeAws_queryGetClusterCredentialsMessage = ( if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } - if (input.DbUser !== undefined) { - entries["DbUser"] = input.DbUser; + if (input.DbGroups !== undefined) { + const memberEntries = serializeAws_queryDbGroupList(input.DbGroups, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DbGroups.${key}`; + entries[loc] = value; + }); } return entries; }; @@ -12315,12 +12315,12 @@ const serializeAws_queryGetReservedNodeExchangeOfferingsInputMessage = ( if (input.MaxRecords !== undefined) { entries["MaxRecords"] = input.MaxRecords; } - if (input.Marker !== undefined) { - entries["Marker"] = input.Marker; - } if (input.ReservedNodeId !== undefined) { entries["ReservedNodeId"] = input.ReservedNodeId; } + if (input.Marker !== undefined) { + entries["Marker"] = input.Marker; + } return entries; }; @@ -12356,17 +12356,17 @@ const serializeAws_queryModifyClusterIamRolesMessage = ( if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } - 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; }); } - 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; }); } @@ -12378,20 +12378,20 @@ const serializeAws_queryModifyClusterMaintenanceMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DeferMaintenanceEndTime !== undefined) { - entries["DeferMaintenanceEndTime"] = input.DeferMaintenanceEndTime.toISOString().split(".")[0] + "Z"; + if (input.DeferMaintenance !== undefined) { + entries["DeferMaintenance"] = input.DeferMaintenance; } if (input.DeferMaintenanceStartTime !== undefined) { entries["DeferMaintenanceStartTime"] = input.DeferMaintenanceStartTime.toISOString().split(".")[0] + "Z"; } - if (input.DeferMaintenance !== undefined) { - entries["DeferMaintenance"] = input.DeferMaintenance; + if (input.DeferMaintenanceDuration !== undefined) { + entries["DeferMaintenanceDuration"] = input.DeferMaintenanceDuration; } if (input.ClusterIdentifier !== undefined) { entries["ClusterIdentifier"] = input.ClusterIdentifier; } - if (input.DeferMaintenanceDuration !== undefined) { - entries["DeferMaintenanceDuration"] = input.DeferMaintenanceDuration; + if (input.DeferMaintenanceEndTime !== undefined) { + entries["DeferMaintenanceEndTime"] = input.DeferMaintenanceEndTime.toISOString().split(".")[0] + "Z"; } if (input.DeferMaintenanceIdentifier !== undefined) { entries["DeferMaintenanceIdentifier"] = input.DeferMaintenanceIdentifier; @@ -12401,57 +12401,47 @@ const serializeAws_queryModifyClusterMaintenanceMessage = ( const serializeAws_queryModifyClusterMessage = (input: ModifyClusterMessage, context: __SerdeContext): any => { const entries: any = {}; - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.NodeType !== undefined) { + entries["NodeType"] = input.NodeType; } - 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.MasterUserPassword !== undefined) { + entries["MasterUserPassword"] = input.MasterUserPassword; } - if (input.AutomatedSnapshotRetentionPeriod !== undefined) { - entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; } - if (input.ClusterVersion !== undefined) { - entries["ClusterVersion"] = input.ClusterVersion; + if (input.MaintenanceTrackName !== undefined) { + entries["MaintenanceTrackName"] = input.MaintenanceTrackName; } - if (input.NewClusterIdentifier !== undefined) { - entries["NewClusterIdentifier"] = input.NewClusterIdentifier; + if (input.PreferredMaintenanceWindow !== undefined) { + entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; } if (input.NumberOfNodes !== undefined) { entries["NumberOfNodes"] = input.NumberOfNodes; } - if (input.ElasticIp !== undefined) { - entries["ElasticIp"] = input.ElasticIp; - } - if (input.MaintenanceTrackName !== undefined) { - entries["MaintenanceTrackName"] = input.MaintenanceTrackName; - } if (input.PubliclyAccessible !== undefined) { entries["PubliclyAccessible"] = input.PubliclyAccessible; } - if (input.MasterUserPassword !== undefined) { - entries["MasterUserPassword"] = input.MasterUserPassword; + 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.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; + if (input.ElasticIp !== undefined) { + entries["ElasticIp"] = input.ElasticIp; } - if (input.NodeType !== undefined) { - entries["NodeType"] = input.NodeType; + if (input.NewClusterIdentifier !== undefined) { + entries["NewClusterIdentifier"] = input.NewClusterIdentifier; } - 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.AutomatedSnapshotRetentionPeriod !== undefined) { + entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; } - if (input.PreferredMaintenanceWindow !== undefined) { - entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; + if (input.EnhancedVpcRouting !== undefined) { + entries["EnhancedVpcRouting"] = input.EnhancedVpcRouting; } if (input.ClusterSecurityGroups !== undefined) { const memberEntries = serializeAws_queryClusterSecurityGroupNameList(input.ClusterSecurityGroups, context); @@ -12460,20 +12450,30 @@ const serializeAws_queryModifyClusterMessage = (input: ModifyClusterMessage, con entries[loc] = value; }); } - if (input.EnhancedVpcRouting !== undefined) { - entries["EnhancedVpcRouting"] = input.EnhancedVpcRouting; - } - if (input.HsmConfigurationIdentifier !== undefined) { - entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; - } 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.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.HsmConfigurationIdentifier !== undefined) { + entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; + } + 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; }; @@ -12521,12 +12521,12 @@ const serializeAws_queryModifyClusterSnapshotScheduleMessage = ( 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; + } return entries; }; @@ -12535,12 +12535,6 @@ 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]) => { @@ -12548,6 +12542,12 @@ 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,9 +12556,6 @@ const serializeAws_queryModifyEventSubscriptionMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - 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]) => { @@ -12566,17 +12563,11 @@ const serializeAws_queryModifyEventSubscriptionMessage = ( entries[loc] = value; }); } - if (input.Enabled !== undefined) { - entries["Enabled"] = input.Enabled; - } if (input.SubscriptionName !== undefined) { entries["SubscriptionName"] = input.SubscriptionName; } - if (input.SourceType !== undefined) { - entries["SourceType"] = input.SourceType; - } - if (input.SnsTopicArn !== undefined) { - entries["SnsTopicArn"] = input.SnsTopicArn; + if (input.Severity !== undefined) { + entries["Severity"] = input.Severity; } if (input.EventCategories !== undefined) { const memberEntries = serializeAws_queryEventCategoriesList(input.EventCategories, context); @@ -12585,6 +12576,15 @@ const serializeAws_queryModifyEventSubscriptionMessage = ( entries[loc] = value; }); } + if (input.SnsTopicArn !== undefined) { + entries["SnsTopicArn"] = input.SnsTopicArn; + } + if (input.SourceType !== undefined) { + entries["SourceType"] = input.SourceType; + } + if (input.Enabled !== undefined) { + entries["Enabled"] = input.Enabled; + } return entries; }; @@ -12600,26 +12600,26 @@ const serializeAws_queryModifyScheduledActionMessage = ( entries[loc] = value; }); } - if (input.EndTime !== undefined) { - entries["EndTime"] = input.EndTime.toISOString().split(".")[0] + "Z"; - } - if (input.Enable !== undefined) { - entries["Enable"] = input.Enable; - } - if (input.IamRole !== undefined) { - entries["IamRole"] = input.IamRole; + if (input.Schedule !== undefined) { + entries["Schedule"] = input.Schedule; } 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.ScheduledActionName !== undefined) { entries["ScheduledActionName"] = input.ScheduledActionName; } - if (input.Schedule !== undefined) { - entries["Schedule"] = input.Schedule; + if (input.IamRole !== undefined) { + entries["IamRole"] = input.IamRole; } - if (input.StartTime !== undefined) { - entries["StartTime"] = input.StartTime.toISOString().split(".")[0] + "Z"; + if (input.Enable !== undefined) { + entries["Enable"] = input.Enable; } return entries; }; @@ -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,9 +12646,6 @@ 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]) => { @@ -12656,20 +12653,23 @@ 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; }; @@ -12678,6 +12678,9 @@ const serializeAws_queryNodeConfigurationOptionsFilter = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } if (input.Values !== undefined) { const memberEntries = serializeAws_queryValueStringList(input.Values, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12688,9 +12691,6 @@ const serializeAws_queryNodeConfigurationOptionsFilter = ( if (input.Operator !== undefined) { entries["Operator"] = input.Operator; } - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } return entries; }; @@ -12712,32 +12712,32 @@ const serializeAws_queryNodeConfigurationOptionsFilterList = ( const serializeAws_queryParameter = (input: Parameter, context: __SerdeContext): any => { const entries: any = {}; - if (input.DataType !== undefined) { - entries["DataType"] = input.DataType; - } - if (input.AllowedValues !== undefined) { - entries["AllowedValues"] = input.AllowedValues; - } if (input.Source !== undefined) { entries["Source"] = input.Source; } if (input.ParameterName !== undefined) { entries["ParameterName"] = input.ParameterName; } - if (input.ApplyType !== undefined) { - entries["ApplyType"] = input.ApplyType; + 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.IsModifiable !== undefined) { - entries["IsModifiable"] = input.IsModifiable; - } if (input.Description !== undefined) { entries["Description"] = input.Description; } - if (input.MinimumEngineVersion !== undefined) { - entries["MinimumEngineVersion"] = input.MinimumEngineVersion; + if (input.ApplyType !== undefined) { + entries["ApplyType"] = input.ApplyType; + } + if (input.IsModifiable !== undefined) { + entries["IsModifiable"] = input.IsModifiable; } return entries; }; @@ -12768,12 +12768,12 @@ const serializeAws_queryPurchaseReservedNodeOfferingMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ReservedNodeOfferingId !== undefined) { - entries["ReservedNodeOfferingId"] = input.ReservedNodeOfferingId; - } if (input.NodeCount !== undefined) { entries["NodeCount"] = input.NodeCount; } + if (input.ReservedNodeOfferingId !== undefined) { + entries["ReservedNodeOfferingId"] = input.ReservedNodeOfferingId; + } return entries; }; @@ -12790,12 +12790,12 @@ const serializeAws_queryResetClusterParameterGroupMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ResetAllParameters !== undefined) { - entries["ResetAllParameters"] = input.ResetAllParameters; - } if (input.ParameterGroupName !== undefined) { entries["ParameterGroupName"] = input.ParameterGroupName; } + if (input.ResetAllParameters !== undefined) { + entries["ResetAllParameters"] = input.ResetAllParameters; + } if (input.Parameters !== undefined) { const memberEntries = serializeAws_queryParametersList(input.Parameters, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -12817,12 +12817,12 @@ const serializeAws_queryResizeClusterMessage = (input: ResizeClusterMessage, con if (input.NumberOfNodes !== undefined) { entries["NumberOfNodes"] = input.NumberOfNodes; } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } if (input.ClusterType !== undefined) { entries["ClusterType"] = input.ClusterType; } + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } return entries; }; @@ -12831,33 +12831,32 @@ const serializeAws_queryRestoreFromClusterSnapshotMessage = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.OwnerAccount !== undefined) { - entries["OwnerAccount"] = input.OwnerAccount; + if (input.HsmClientCertificateIdentifier !== undefined) { + entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; } - if (input.PubliclyAccessible !== undefined) { - entries["PubliclyAccessible"] = input.PubliclyAccessible; + if (input.AutomatedSnapshotRetentionPeriod !== undefined) { + entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; } - if (input.SnapshotClusterIdentifier !== undefined) { - entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier; + if (input.Port !== undefined) { + entries["Port"] = input.Port; } - 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.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; + } + if (input.NumberOfNodes !== undefined) { + entries["NumberOfNodes"] = input.NumberOfNodes; } if (input.ElasticIp !== undefined) { entries["ElasticIp"] = input.ElasticIp; } - if (input.AvailabilityZone !== undefined) { - entries["AvailabilityZone"] = input.AvailabilityZone; + if (input.AllowVersionUpgrade !== undefined) { + entries["AllowVersionUpgrade"] = input.AllowVersionUpgrade; } - if (input.HsmClientCertificateIdentifier !== undefined) { - entries["HsmClientCertificateIdentifier"] = input.HsmClientCertificateIdentifier; + if (input.ManualSnapshotRetentionPeriod !== undefined) { + entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; } - if (input.KmsKeyId !== undefined) { - entries["KmsKeyId"] = input.KmsKeyId; + if (input.ClusterSubnetGroupName !== undefined) { + entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; } if (input.PreferredMaintenanceWindow !== undefined) { entries["PreferredMaintenanceWindow"] = input.PreferredMaintenanceWindow; @@ -12869,30 +12868,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); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `IamRoles.${key}`; + entries[loc] = value; + }); + } + if (input.ClusterIdentifier !== undefined) { + entries["ClusterIdentifier"] = input.ClusterIdentifier; + } if (input.ClusterParameterGroupName !== undefined) { entries["ClusterParameterGroupName"] = input.ClusterParameterGroupName; } - if (input.NumberOfNodes !== undefined) { - entries["NumberOfNodes"] = input.NumberOfNodes; - } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; + if (input.SnapshotClusterIdentifier !== undefined) { + entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier; } - if (input.EnhancedVpcRouting !== undefined) { - entries["EnhancedVpcRouting"] = input.EnhancedVpcRouting; + if (input.KmsKeyId !== undefined) { + entries["KmsKeyId"] = input.KmsKeyId; } - if (input.AllowVersionUpgrade !== undefined) { - entries["AllowVersionUpgrade"] = input.AllowVersionUpgrade; + if (input.AdditionalInfo !== undefined) { + entries["AdditionalInfo"] = input.AdditionalInfo; } - if (input.ClusterSubnetGroupName !== undefined) { - entries["ClusterSubnetGroupName"] = input.ClusterSubnetGroupName; + if (input.OwnerAccount !== undefined) { + entries["OwnerAccount"] = input.OwnerAccount; } - if (input.NodeType !== undefined) { - entries["NodeType"] = input.NodeType; + 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]) => { @@ -12900,24 +12918,6 @@ const serializeAws_queryRestoreFromClusterSnapshotMessage = ( entries[loc] = value; }); } - if (input.ManualSnapshotRetentionPeriod !== undefined) { - entries["ManualSnapshotRetentionPeriod"] = input.ManualSnapshotRetentionPeriod; - } - if (input.MaintenanceTrackName !== undefined) { - entries["MaintenanceTrackName"] = input.MaintenanceTrackName; - } - if (input.AdditionalInfo !== undefined) { - entries["AdditionalInfo"] = input.AdditionalInfo; - } - if (input.AutomatedSnapshotRetentionPeriod !== undefined) { - entries["AutomatedSnapshotRetentionPeriod"] = input.AutomatedSnapshotRetentionPeriod; - } - if (input.Port !== undefined) { - entries["Port"] = input.Port; - } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } if (input.HsmConfigurationIdentifier !== undefined) { entries["HsmConfigurationIdentifier"] = input.HsmConfigurationIdentifier; } @@ -12932,27 +12932,27 @@ const serializeAws_queryRestoreTableFromClusterSnapshotMessage = ( if (input.TargetSchemaName !== undefined) { entries["TargetSchemaName"] = input.TargetSchemaName; } - if (input.SourceSchemaName !== undefined) { - entries["SourceSchemaName"] = input.SourceSchemaName; - } - if (input.SnapshotIdentifier !== undefined) { - entries["SnapshotIdentifier"] = input.SnapshotIdentifier; - } if (input.SourceDatabaseName !== undefined) { entries["SourceDatabaseName"] = input.SourceDatabaseName; } + if (input.SourceSchemaName !== undefined) { + entries["SourceSchemaName"] = input.SourceSchemaName; + } if (input.TargetDatabaseName !== undefined) { entries["TargetDatabaseName"] = input.TargetDatabaseName; } if (input.SourceTableName !== undefined) { entries["SourceTableName"] = input.SourceTableName; } - if (input.ClusterIdentifier !== undefined) { - entries["ClusterIdentifier"] = input.ClusterIdentifier; - } 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; }; @@ -12972,15 +12972,15 @@ const serializeAws_queryRevokeClusterSecurityGroupIngressMessage = ( if (input.EC2SecurityGroupOwnerId !== undefined) { entries["EC2SecurityGroupOwnerId"] = input.EC2SecurityGroupOwnerId; } - 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.ClusterSecurityGroupName !== undefined) { + entries["ClusterSecurityGroupName"] = input.ClusterSecurityGroupName; + } return entries; }; @@ -12989,14 +12989,14 @@ 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.SnapshotClusterIdentifier !== undefined) { - entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier; + if (input.SnapshotIdentifier !== undefined) { + entries["SnapshotIdentifier"] = input.SnapshotIdentifier; } return entries; }; @@ -13042,10 +13042,10 @@ 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); + if (input.PauseCluster !== undefined) { + const memberEntries = serializeAws_queryPauseClusterMessage(input.PauseCluster, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ResizeCluster.${key}`; + const loc = `PauseCluster.${key}`; entries[loc] = value; }); } @@ -13056,10 +13056,10 @@ const serializeAws_queryScheduledActionType = (input: ScheduledActionType, conte entries[loc] = value; }); } - if (input.PauseCluster !== undefined) { - const memberEntries = serializeAws_queryPauseClusterMessage(input.PauseCluster, context); + if (input.ResizeCluster !== undefined) { + const memberEntries = serializeAws_queryResizeClusterMessage(input.ResizeCluster, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PauseCluster.${key}`; + const loc = `ResizeCluster.${key}`; entries[loc] = value; }); } @@ -13088,12 +13088,12 @@ const serializeAws_querySnapshotIdentifierList = (input: string[], context: __Se const serializeAws_querySnapshotSortingEntity = (input: SnapshotSortingEntity, context: __SerdeContext): any => { const entries: any = {}; - if (input.Attribute !== undefined) { - entries["Attribute"] = input.Attribute; - } if (input.SortOrder !== undefined) { entries["SortOrder"] = input.SortOrder; } + if (input.Attribute !== undefined) { + entries["Attribute"] = input.Attribute; + } return entries; }; @@ -13132,12 +13132,12 @@ const serializeAws_querySubnetIdentifierList = (input: string[], context: __Serd const serializeAws_queryTag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Key !== undefined) { entries["Key"] = input.Key; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -13222,12 +13222,9 @@ const deserializeAws_queryAccessToSnapshotDeniedFault = ( const deserializeAws_queryAccountAttribute = (output: any, context: __SerdeContext): AccountAttribute => { let contents: any = { - AttributeName: undefined, AttributeValues: undefined, + AttributeName: undefined, }; - if (output["AttributeName"] !== undefined) { - contents.AttributeName = output["AttributeName"]; - } if (output.AttributeValues === "") { contents.AttributeValues = []; } @@ -13237,6 +13234,9 @@ 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 = { - AccountId: undefined, AccountAlias: undefined, + AccountId: undefined, }; - if (output["AccountId"] !== undefined) { - contents.AccountId = output["AccountId"]; - } if (output["AccountAlias"] !== undefined) { contents.AccountAlias = output["AccountAlias"]; } + if (output["AccountId"] !== undefined) { + contents.AccountId = output["AccountId"]; + } return contents; }; @@ -13372,12 +13372,9 @@ const deserializeAws_queryAuthorizeSnapshotAccessResult = ( const deserializeAws_queryAvailabilityZone = (output: any, context: __SerdeContext): AvailabilityZone => { let contents: any = { - Name: undefined, SupportedPlatforms: undefined, + Name: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } if (output.SupportedPlatforms === "") { contents.SupportedPlatforms = []; } @@ -13387,6 +13384,9 @@ const deserializeAws_queryAvailabilityZone = (output: any, context: __SerdeConte context ); } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } return contents; }; @@ -13504,85 +13504,85 @@ const deserializeAws_queryBucketNotFoundFault = (output: any, context: __SerdeCo const deserializeAws_queryCluster = (output: any, context: __SerdeContext): Cluster => { let contents: any = { - Endpoint: undefined, - HsmStatus: undefined, - PubliclyAccessible: undefined, - ClusterSnapshotCopyStatus: undefined, - VpcId: undefined, + ExpectedNextSnapshotScheduleTime: undefined, + Encrypted: undefined, + PendingActions: undefined, + ClusterRevisionNumber: undefined, + ClusterCreateTime: undefined, + SnapshotScheduleState: undefined, + ClusterNodes: undefined, + VpcSecurityGroups: undefined, ElasticIpStatus: undefined, - ModifyStatus: undefined, - ClusterIdentifier: undefined, + NumberOfNodes: undefined, + EnhancedVpcRouting: undefined, + RestoreStatus: undefined, + Endpoint: undefined, + SnapshotScheduleIdentifier: undefined, Tags: undefined, - VpcSecurityGroups: undefined, - ClusterNodes: undefined, - PreferredMaintenanceWindow: undefined, - SnapshotScheduleState: undefined, - NextMaintenanceWindowStartTime: undefined, - PendingActions: undefined, - ExpectedNextSnapshotScheduleTime: undefined, - ExpectedNextSnapshotScheduleTimeStatus: undefined, - ResizeInfo: undefined, - ClusterPublicKey: undefined, + DeferredMaintenanceWindows: undefined, + HsmStatus: undefined, AutomatedSnapshotRetentionPeriod: undefined, ClusterParameterGroups: undefined, + ResizeInfo: undefined, MaintenanceTrackName: undefined, DataTransferProgress: undefined, - SnapshotScheduleIdentifier: undefined, + NextMaintenanceWindowStartTime: undefined, + ExpectedNextSnapshotScheduleTimeStatus: undefined, ClusterVersion: undefined, - NodeType: undefined, - ElasticResizeNumberOfNodeOptions: undefined, - RestoreStatus: undefined, - DeferredMaintenanceWindows: undefined, - EnhancedVpcRouting: undefined, - AllowVersionUpgrade: undefined, - NumberOfNodes: undefined, - Encrypted: undefined, - ClusterCreateTime: undefined, IamRoles: undefined, - ClusterStatus: undefined, + ClusterSecurityGroups: undefined, ClusterAvailabilityStatus: undefined, + ClusterPublicKey: undefined, + AllowVersionUpgrade: undefined, + PreferredMaintenanceWindow: undefined, + ClusterIdentifier: undefined, + NodeType: undefined, + ModifyStatus: undefined, + PubliclyAccessible: undefined, + ClusterSnapshotCopyStatus: undefined, + ElasticResizeNumberOfNodeOptions: undefined, AvailabilityZone: undefined, - ClusterSecurityGroups: undefined, + VpcId: undefined, + ClusterStatus: undefined, KmsKeyId: undefined, - ManualSnapshotRetentionPeriod: undefined, - ClusterRevisionNumber: undefined, - PendingModifiedValues: undefined, + DBName: undefined, ClusterSubnetGroupName: undefined, MasterUsername: undefined, - DBName: undefined, + PendingModifiedValues: undefined, + ManualSnapshotRetentionPeriod: undefined, }; - if (output["Endpoint"] !== undefined) { - contents.Endpoint = deserializeAws_queryEndpoint(output["Endpoint"], context); + if (output["ExpectedNextSnapshotScheduleTime"] !== undefined) { + contents.ExpectedNextSnapshotScheduleTime = new Date(output["ExpectedNextSnapshotScheduleTime"]); } - if (output["HsmStatus"] !== undefined) { - contents.HsmStatus = deserializeAws_queryHsmStatus(output["HsmStatus"], context); + if (output["Encrypted"] !== undefined) { + contents.Encrypted = output["Encrypted"] == "true"; } - if (output["PubliclyAccessible"] !== undefined) { - contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; + if (output.PendingActions === "") { + contents.PendingActions = []; } - if (output["ClusterSnapshotCopyStatus"] !== undefined) { - contents.ClusterSnapshotCopyStatus = deserializeAws_queryClusterSnapshotCopyStatus( - output["ClusterSnapshotCopyStatus"], + if (output["PendingActions"] !== undefined && output["PendingActions"]["member"] !== undefined) { + contents.PendingActions = deserializeAws_queryPendingActionsList( + __getArrayIfSingleItem(output["PendingActions"]["member"]), context ); } - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; - } - if (output["ElasticIpStatus"] !== undefined) { - contents.ElasticIpStatus = deserializeAws_queryElasticIpStatus(output["ElasticIpStatus"], context); + if (output["ClusterRevisionNumber"] !== undefined) { + contents.ClusterRevisionNumber = output["ClusterRevisionNumber"]; } - if (output["ModifyStatus"] !== undefined) { - contents.ModifyStatus = output["ModifyStatus"]; + if (output["ClusterCreateTime"] !== undefined) { + contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); } - if (output["ClusterIdentifier"] !== undefined) { - contents.ClusterIdentifier = output["ClusterIdentifier"]; + if (output["SnapshotScheduleState"] !== undefined) { + contents.SnapshotScheduleState = output["SnapshotScheduleState"]; } - if (output.Tags === "") { - contents.Tags = []; + if (output.ClusterNodes === "") { + contents.ClusterNodes = []; } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + if (output["ClusterNodes"] !== undefined && output["ClusterNodes"]["member"] !== undefined) { + contents.ClusterNodes = deserializeAws_queryClusterNodesList( + __getArrayIfSingleItem(output["ClusterNodes"]["member"]), + context + ); } if (output.VpcSecurityGroups === "") { contents.VpcSecurityGroups = []; @@ -13593,44 +13593,44 @@ const deserializeAws_queryCluster = (output: any, context: __SerdeContext): Clus context ); } - if (output.ClusterNodes === "") { - contents.ClusterNodes = []; + if (output["ElasticIpStatus"] !== undefined) { + contents.ElasticIpStatus = deserializeAws_queryElasticIpStatus(output["ElasticIpStatus"], context); } - if (output["ClusterNodes"] !== undefined && output["ClusterNodes"]["member"] !== undefined) { - contents.ClusterNodes = deserializeAws_queryClusterNodesList( - __getArrayIfSingleItem(output["ClusterNodes"]["member"]), - context - ); + if (output["NumberOfNodes"] !== undefined) { + contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); } - if (output["PreferredMaintenanceWindow"] !== undefined) { - contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; + 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["SnapshotScheduleState"] !== undefined) { - contents.SnapshotScheduleState = output["SnapshotScheduleState"]; + if (output.Tags === "") { + contents.Tags = []; } - if (output["NextMaintenanceWindowStartTime"] !== undefined) { - contents.NextMaintenanceWindowStartTime = new Date(output["NextMaintenanceWindowStartTime"]); + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } - if (output.PendingActions === "") { - contents.PendingActions = []; + if (output.DeferredMaintenanceWindows === "") { + contents.DeferredMaintenanceWindows = []; } - if (output["PendingActions"] !== undefined && output["PendingActions"]["member"] !== undefined) { - contents.PendingActions = deserializeAws_queryPendingActionsList( - __getArrayIfSingleItem(output["PendingActions"]["member"]), + if ( + output["DeferredMaintenanceWindows"] !== undefined && + output["DeferredMaintenanceWindows"]["DeferredMaintenanceWindow"] !== undefined + ) { + contents.DeferredMaintenanceWindows = deserializeAws_queryDeferredMaintenanceWindowsList( + __getArrayIfSingleItem(output["DeferredMaintenanceWindows"]["DeferredMaintenanceWindow"]), context ); } - if (output["ExpectedNextSnapshotScheduleTime"] !== undefined) { - contents.ExpectedNextSnapshotScheduleTime = new Date(output["ExpectedNextSnapshotScheduleTime"]); - } - if (output["ExpectedNextSnapshotScheduleTimeStatus"] !== undefined) { - contents.ExpectedNextSnapshotScheduleTimeStatus = output["ExpectedNextSnapshotScheduleTimeStatus"]; - } - if (output["ResizeInfo"] !== undefined) { - contents.ResizeInfo = deserializeAws_queryResizeInfo(output["ResizeInfo"], context); - } - if (output["ClusterPublicKey"] !== undefined) { - contents.ClusterPublicKey = output["ClusterPublicKey"]; + if (output["HsmStatus"] !== undefined) { + contents.HsmStatus = deserializeAws_queryHsmStatus(output["HsmStatus"], context); } if (output["AutomatedSnapshotRetentionPeriod"] !== undefined) { contents.AutomatedSnapshotRetentionPeriod = parseInt(output["AutomatedSnapshotRetentionPeriod"]); @@ -13647,92 +13647,98 @@ const deserializeAws_queryCluster = (output: any, context: __SerdeContext): Clus context ); } + if (output["ResizeInfo"] !== undefined) { + contents.ResizeInfo = deserializeAws_queryResizeInfo(output["ResizeInfo"], context); + } if (output["MaintenanceTrackName"] !== undefined) { contents.MaintenanceTrackName = output["MaintenanceTrackName"]; } if (output["DataTransferProgress"] !== undefined) { contents.DataTransferProgress = deserializeAws_queryDataTransferProgress(output["DataTransferProgress"], context); } - if (output["SnapshotScheduleIdentifier"] !== undefined) { - contents.SnapshotScheduleIdentifier = output["SnapshotScheduleIdentifier"]; + if (output["NextMaintenanceWindowStartTime"] !== undefined) { + contents.NextMaintenanceWindowStartTime = new Date(output["NextMaintenanceWindowStartTime"]); + } + if (output["ExpectedNextSnapshotScheduleTimeStatus"] !== undefined) { + contents.ExpectedNextSnapshotScheduleTimeStatus = output["ExpectedNextSnapshotScheduleTimeStatus"]; } if (output["ClusterVersion"] !== undefined) { contents.ClusterVersion = output["ClusterVersion"]; } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; - } - if (output["ElasticResizeNumberOfNodeOptions"] !== undefined) { - contents.ElasticResizeNumberOfNodeOptions = output["ElasticResizeNumberOfNodeOptions"]; + if (output.IamRoles === "") { + contents.IamRoles = []; } - if (output["RestoreStatus"] !== undefined) { - contents.RestoreStatus = deserializeAws_queryRestoreStatus(output["RestoreStatus"], context); + if (output["IamRoles"] !== undefined && output["IamRoles"]["ClusterIamRole"] !== undefined) { + contents.IamRoles = deserializeAws_queryClusterIamRoleList( + __getArrayIfSingleItem(output["IamRoles"]["ClusterIamRole"]), + context + ); } - if (output.DeferredMaintenanceWindows === "") { - contents.DeferredMaintenanceWindows = []; + if (output.ClusterSecurityGroups === "") { + contents.ClusterSecurityGroups = []; } if ( - output["DeferredMaintenanceWindows"] !== undefined && - output["DeferredMaintenanceWindows"]["DeferredMaintenanceWindow"] !== undefined + output["ClusterSecurityGroups"] !== undefined && + output["ClusterSecurityGroups"]["ClusterSecurityGroup"] !== undefined ) { - contents.DeferredMaintenanceWindows = deserializeAws_queryDeferredMaintenanceWindowsList( - __getArrayIfSingleItem(output["DeferredMaintenanceWindows"]["DeferredMaintenanceWindow"]), + contents.ClusterSecurityGroups = deserializeAws_queryClusterSecurityGroupMembershipList( + __getArrayIfSingleItem(output["ClusterSecurityGroups"]["ClusterSecurityGroup"]), context ); } - if (output["EnhancedVpcRouting"] !== undefined) { - contents.EnhancedVpcRouting = output["EnhancedVpcRouting"] == "true"; + if (output["ClusterAvailabilityStatus"] !== undefined) { + contents.ClusterAvailabilityStatus = output["ClusterAvailabilityStatus"]; + } + if (output["ClusterPublicKey"] !== undefined) { + contents.ClusterPublicKey = output["ClusterPublicKey"]; } if (output["AllowVersionUpgrade"] !== undefined) { contents.AllowVersionUpgrade = output["AllowVersionUpgrade"] == "true"; } - if (output["NumberOfNodes"] !== undefined) { - contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); + if (output["PreferredMaintenanceWindow"] !== undefined) { + contents.PreferredMaintenanceWindow = output["PreferredMaintenanceWindow"]; } - if (output["Encrypted"] !== undefined) { - contents.Encrypted = output["Encrypted"] == "true"; + if (output["ClusterIdentifier"] !== undefined) { + contents.ClusterIdentifier = output["ClusterIdentifier"]; } - if (output["ClusterCreateTime"] !== undefined) { - contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); + if (output["NodeType"] !== undefined) { + contents.NodeType = output["NodeType"]; } - if (output.IamRoles === "") { - contents.IamRoles = []; + if (output["ModifyStatus"] !== undefined) { + contents.ModifyStatus = output["ModifyStatus"]; } - if (output["IamRoles"] !== undefined && output["IamRoles"]["ClusterIamRole"] !== undefined) { - contents.IamRoles = deserializeAws_queryClusterIamRoleList( - __getArrayIfSingleItem(output["IamRoles"]["ClusterIamRole"]), + if (output["PubliclyAccessible"] !== undefined) { + contents.PubliclyAccessible = output["PubliclyAccessible"] == "true"; + } + if (output["ClusterSnapshotCopyStatus"] !== undefined) { + contents.ClusterSnapshotCopyStatus = deserializeAws_queryClusterSnapshotCopyStatus( + output["ClusterSnapshotCopyStatus"], context ); } - if (output["ClusterStatus"] !== undefined) { - contents.ClusterStatus = output["ClusterStatus"]; - } - if (output["ClusterAvailabilityStatus"] !== undefined) { - contents.ClusterAvailabilityStatus = output["ClusterAvailabilityStatus"]; + if (output["ElasticResizeNumberOfNodeOptions"] !== undefined) { + contents.ElasticResizeNumberOfNodeOptions = output["ElasticResizeNumberOfNodeOptions"]; } if (output["AvailabilityZone"] !== undefined) { contents.AvailabilityZone = output["AvailabilityZone"]; } - if (output.ClusterSecurityGroups === "") { - contents.ClusterSecurityGroups = []; + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; } - if ( - output["ClusterSecurityGroups"] !== undefined && - output["ClusterSecurityGroups"]["ClusterSecurityGroup"] !== undefined - ) { - contents.ClusterSecurityGroups = deserializeAws_queryClusterSecurityGroupMembershipList( - __getArrayIfSingleItem(output["ClusterSecurityGroups"]["ClusterSecurityGroup"]), - context - ); + if (output["ClusterStatus"] !== undefined) { + contents.ClusterStatus = output["ClusterStatus"]; } if (output["KmsKeyId"] !== undefined) { contents.KmsKeyId = output["KmsKeyId"]; } - if (output["ManualSnapshotRetentionPeriod"] !== undefined) { - contents.ManualSnapshotRetentionPeriod = parseInt(output["ManualSnapshotRetentionPeriod"]); + if (output["DBName"] !== undefined) { + contents.DBName = output["DBName"]; } - if (output["ClusterRevisionNumber"] !== undefined) { - contents.ClusterRevisionNumber = output["ClusterRevisionNumber"]; + if (output["ClusterSubnetGroupName"] !== undefined) { + contents.ClusterSubnetGroupName = output["ClusterSubnetGroupName"]; + } + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; } if (output["PendingModifiedValues"] !== undefined) { contents.PendingModifiedValues = deserializeAws_queryPendingModifiedValues( @@ -13740,14 +13746,8 @@ const deserializeAws_queryCluster = (output: any, context: __SerdeContext): Clus context ); } - if (output["ClusterSubnetGroupName"] !== undefined) { - contents.ClusterSubnetGroupName = output["ClusterSubnetGroupName"]; - } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; - } - if (output["DBName"] !== undefined) { - contents.DBName = output["DBName"]; + if (output["ManualSnapshotRetentionPeriod"] !== undefined) { + contents.ManualSnapshotRetentionPeriod = parseInt(output["ManualSnapshotRetentionPeriod"]); } return contents; }; @@ -13770,49 +13770,49 @@ const deserializeAws_queryClusterAssociatedToSchedule = ( context: __SerdeContext ): ClusterAssociatedToSchedule => { let contents: any = { - ScheduleAssociationState: undefined, ClusterIdentifier: undefined, + ScheduleAssociationState: undefined, }; - if (output["ScheduleAssociationState"] !== undefined) { - contents.ScheduleAssociationState = output["ScheduleAssociationState"]; - } if (output["ClusterIdentifier"] !== undefined) { contents.ClusterIdentifier = output["ClusterIdentifier"]; } + if (output["ScheduleAssociationState"] !== undefined) { + contents.ScheduleAssociationState = output["ScheduleAssociationState"]; + } return contents; }; const deserializeAws_queryClusterCredentials = (output: any, context: __SerdeContext): ClusterCredentials => { let contents: any = { - DbPassword: undefined, DbUser: undefined, Expiration: undefined, + DbPassword: undefined, }; - if (output["DbPassword"] !== undefined) { - contents.DbPassword = output["DbPassword"]; - } 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"]; + } return contents; }; const deserializeAws_queryClusterDbRevision = (output: any, context: __SerdeContext): ClusterDbRevision => { let contents: any = { - CurrentDatabaseRevision: undefined, DatabaseRevisionReleaseDate: undefined, - RevisionTargets: undefined, ClusterIdentifier: undefined, + RevisionTargets: undefined, + CurrentDatabaseRevision: undefined, }; - if (output["CurrentDatabaseRevision"] !== undefined) { - contents.CurrentDatabaseRevision = output["CurrentDatabaseRevision"]; - } if (output["DatabaseRevisionReleaseDate"] !== undefined) { contents.DatabaseRevisionReleaseDate = new Date(output["DatabaseRevisionReleaseDate"]); } + if (output["ClusterIdentifier"] !== undefined) { + contents.ClusterIdentifier = output["ClusterIdentifier"]; + } if (output.RevisionTargets === "") { contents.RevisionTargets = []; } @@ -13822,8 +13822,8 @@ const deserializeAws_queryClusterDbRevision = (output: any, context: __SerdeCont context ); } - if (output["ClusterIdentifier"] !== undefined) { - contents.ClusterIdentifier = output["ClusterIdentifier"]; + if (output["CurrentDatabaseRevision"] !== undefined) { + contents.CurrentDatabaseRevision = output["CurrentDatabaseRevision"]; } return contents; }; @@ -13879,19 +13879,19 @@ const deserializeAws_queryClusterList = (output: any, context: __SerdeContext): const deserializeAws_queryClusterNode = (output: any, context: __SerdeContext): ClusterNode => { let contents: any = { + PublicIPAddress: undefined, PrivateIPAddress: undefined, NodeRole: undefined, - PublicIPAddress: undefined, }; + if (output["PublicIPAddress"] !== undefined) { + contents.PublicIPAddress = output["PublicIPAddress"]; + } 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; }; @@ -13924,25 +13924,25 @@ const deserializeAws_queryClusterOnLatestRevisionFault = ( const deserializeAws_queryClusterParameterGroup = (output: any, context: __SerdeContext): ClusterParameterGroup => { let contents: any = { - Tags: undefined, - Description: undefined, - ParameterGroupFamily: undefined, ParameterGroupName: undefined, + ParameterGroupFamily: undefined, + Description: undefined, + Tags: undefined, }; - if (output.Tags === "") { - contents.Tags = []; + if (output["ParameterGroupName"] !== undefined) { + contents.ParameterGroupName = output["ParameterGroupName"]; } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + if (output["ParameterGroupFamily"] !== undefined) { + contents.ParameterGroupFamily = output["ParameterGroupFamily"]; } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output["ParameterGroupFamily"] !== undefined) { - contents.ParameterGroupFamily = output["ParameterGroupFamily"]; + if (output.Tags === "") { + contents.Tags = []; } - if (output["ParameterGroupName"] !== undefined) { - contents.ParameterGroupName = output["ParameterGroupName"]; + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } return contents; }; @@ -14031,9 +14031,12 @@ const deserializeAws_queryClusterParameterGroupsMessage = ( context: __SerdeContext ): ClusterParameterGroupsMessage => { let contents: any = { - ParameterGroups: undefined, Marker: undefined, + ParameterGroups: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ParameterGroups === "") { contents.ParameterGroups = []; } @@ -14043,9 +14046,6 @@ const deserializeAws_queryClusterParameterGroupsMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -14054,16 +14054,10 @@ const deserializeAws_queryClusterParameterGroupStatus = ( context: __SerdeContext ): ClusterParameterGroupStatus => { let contents: any = { - ParameterGroupName: undefined, - ParameterApplyStatus: undefined, ClusterParameterStatusList: undefined, + ParameterApplyStatus: undefined, + ParameterGroupName: undefined, }; - if (output["ParameterGroupName"] !== undefined) { - contents.ParameterGroupName = output["ParameterGroupName"]; - } - if (output["ParameterApplyStatus"] !== undefined) { - contents.ParameterApplyStatus = output["ParameterApplyStatus"]; - } if (output.ClusterParameterStatusList === "") { contents.ClusterParameterStatusList = []; } @@ -14076,6 +14070,12 @@ const deserializeAws_queryClusterParameterGroupStatus = ( context ); } + if (output["ParameterApplyStatus"] !== undefined) { + contents.ParameterApplyStatus = output["ParameterApplyStatus"]; + } + if (output["ParameterGroupName"] !== undefined) { + contents.ParameterGroupName = output["ParameterGroupName"]; + } return contents; }; @@ -14089,18 +14089,18 @@ const deserializeAws_queryClusterParameterGroupStatusList = ( const deserializeAws_queryClusterParameterStatus = (output: any, context: __SerdeContext): ClusterParameterStatus => { let contents: any = { ParameterApplyStatus: undefined, - ParameterApplyErrorDescription: undefined, ParameterName: undefined, + ParameterApplyErrorDescription: undefined, }; if (output["ParameterApplyStatus"] !== undefined) { contents.ParameterApplyStatus = output["ParameterApplyStatus"]; } - if (output["ParameterApplyErrorDescription"] !== undefined) { - contents.ParameterApplyErrorDescription = output["ParameterApplyErrorDescription"]; - } if (output["ParameterName"] !== undefined) { contents.ParameterName = output["ParameterName"]; } + if (output["ParameterApplyErrorDescription"] !== undefined) { + contents.ParameterApplyErrorDescription = output["ParameterApplyErrorDescription"]; + } return contents; }; @@ -14126,24 +14126,12 @@ const deserializeAws_queryClusterQuotaExceededFault = ( const deserializeAws_queryClusterSecurityGroup = (output: any, context: __SerdeContext): ClusterSecurityGroup => { let contents: any = { - Tags: undefined, - ClusterSecurityGroupName: undefined, - Description: undefined, - EC2SecurityGroups: undefined, - IPRanges: 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["ClusterSecurityGroupName"] !== undefined) { - contents.ClusterSecurityGroupName = output["ClusterSecurityGroupName"]; - } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } + EC2SecurityGroups: undefined, + IPRanges: undefined, + ClusterSecurityGroupName: undefined, + Tags: undefined, + Description: undefined, + }; if (output.EC2SecurityGroups === "") { contents.EC2SecurityGroups = []; } @@ -14159,6 +14147,18 @@ 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 +14257,18 @@ const deserializeAws_queryClusterSecurityGroups = (output: any, context: __Serde const deserializeAws_queryClustersMessage = (output: any, context: __SerdeContext): ClustersMessage => { let contents: any = { - Marker: undefined, Clusters: undefined, + Marker: 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,17 +14290,17 @@ const deserializeAws_queryClusterSnapshotCopyStatus = ( context: __SerdeContext ): ClusterSnapshotCopyStatus => { let contents: any = { - RetentionPeriod: undefined, SnapshotCopyGrantName: undefined, + RetentionPeriod: undefined, ManualSnapshotRetentionPeriod: undefined, DestinationRegion: undefined, }; - if (output["RetentionPeriod"] !== undefined) { - contents.RetentionPeriod = parseInt(output["RetentionPeriod"]); - } if (output["SnapshotCopyGrantName"] !== undefined) { contents.SnapshotCopyGrantName = output["SnapshotCopyGrantName"]; } + if (output["RetentionPeriod"] !== undefined) { + contents.RetentionPeriod = parseInt(output["RetentionPeriod"]); + } if (output["ManualSnapshotRetentionPeriod"] !== undefined) { contents.ManualSnapshotRetentionPeriod = parseInt(output["ManualSnapshotRetentionPeriod"]); } @@ -14339,36 +14339,36 @@ const deserializeAws_queryClusterSnapshotQuotaExceededFault = ( const deserializeAws_queryClusterSubnetGroup = (output: any, context: __SerdeContext): ClusterSubnetGroup => { let contents: any = { Description: undefined, - Subnets: undefined, ClusterSubnetGroupName: undefined, - VpcId: undefined, Tags: undefined, + Subnets: undefined, SubnetGroupStatus: undefined, + VpcId: undefined, }; if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output.Subnets === "") { - contents.Subnets = []; - } - if (output["Subnets"] !== undefined && output["Subnets"]["Subnet"] !== undefined) { - contents.Subnets = deserializeAws_querySubnetList(__getArrayIfSingleItem(output["Subnets"]["Subnet"]), context); - } if (output["ClusterSubnetGroupName"] !== undefined) { contents.ClusterSubnetGroupName = output["ClusterSubnetGroupName"]; } - 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.Subnets === "") { + contents.Subnets = []; + } + 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["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; + } return contents; }; @@ -14390,12 +14390,9 @@ const deserializeAws_queryClusterSubnetGroupMessage = ( context: __SerdeContext ): ClusterSubnetGroupMessage => { let contents: any = { - Marker: undefined, ClusterSubnetGroups: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.ClusterSubnetGroups === "") { contents.ClusterSubnetGroups = []; } @@ -14408,6 +14405,9 @@ const deserializeAws_queryClusterSubnetGroupMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -14657,10 +14657,10 @@ const deserializeAws_queryDataTransferProgress = (output: any, context: __SerdeC let contents: any = { EstimatedTimeToCompletionInSeconds: undefined, Status: undefined, + CurrentRateInMegaBytesPerSecond: undefined, ElapsedTimeInSeconds: undefined, TotalDataInMegaBytes: undefined, DataTransferredInMegaBytes: undefined, - CurrentRateInMegaBytesPerSecond: undefined, }; if (output["EstimatedTimeToCompletionInSeconds"] !== undefined) { contents.EstimatedTimeToCompletionInSeconds = parseInt(output["EstimatedTimeToCompletionInSeconds"]); @@ -14668,6 +14668,9 @@ const deserializeAws_queryDataTransferProgress = (output: any, context: __SerdeC 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"]); } @@ -14677,9 +14680,6 @@ const deserializeAws_queryDataTransferProgress = (output: any, context: __SerdeC if (output["DataTransferredInMegaBytes"] !== undefined) { contents.DataTransferredInMegaBytes = parseInt(output["DataTransferredInMegaBytes"]); } - if (output["CurrentRateInMegaBytesPerSecond"] !== undefined) { - contents.CurrentRateInMegaBytesPerSecond = parseFloat(output["CurrentRateInMegaBytesPerSecond"]); - } return contents; }; @@ -14689,8 +14689,8 @@ const deserializeAws_queryDefaultClusterParameters = ( ): DefaultClusterParameters => { let contents: any = { Parameters: undefined, - Marker: undefined, ParameterGroupFamily: undefined, + Marker: undefined, }; if (output.Parameters === "") { contents.Parameters = []; @@ -14701,12 +14701,12 @@ const deserializeAws_queryDefaultClusterParameters = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output["ParameterGroupFamily"] !== undefined) { contents.ParameterGroupFamily = output["ParameterGroupFamily"]; } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -14715,16 +14715,16 @@ const deserializeAws_queryDeferredMaintenanceWindow = ( context: __SerdeContext ): DeferredMaintenanceWindow => { let contents: any = { - DeferMaintenanceIdentifier: undefined, DeferMaintenanceEndTime: undefined, + DeferMaintenanceIdentifier: undefined, DeferMaintenanceStartTime: undefined, }; - if (output["DeferMaintenanceIdentifier"] !== undefined) { - contents.DeferMaintenanceIdentifier = output["DeferMaintenanceIdentifier"]; - } 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"]); } @@ -14842,22 +14842,22 @@ const deserializeAws_queryDisableSnapshotCopyResult = ( const deserializeAws_queryEC2SecurityGroup = (output: any, context: __SerdeContext): EC2SecurityGroup => { let contents: any = { EC2SecurityGroupOwnerId: undefined, - EC2SecurityGroupName: undefined, Tags: undefined, + EC2SecurityGroupName: undefined, Status: undefined, }; if (output["EC2SecurityGroupOwnerId"] !== undefined) { contents.EC2SecurityGroupOwnerId = output["EC2SecurityGroupOwnerId"]; } - if (output["EC2SecurityGroupName"] !== undefined) { - contents.EC2SecurityGroupName = output["EC2SecurityGroupName"]; - } if (output.Tags === "") { contents.Tags = []; } 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"]; } @@ -14870,15 +14870,15 @@ const deserializeAws_queryEC2SecurityGroupList = (output: any, context: __SerdeC const deserializeAws_queryElasticIpStatus = (output: any, context: __SerdeContext): ElasticIpStatus => { let contents: any = { - Status: undefined, ElasticIp: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["ElasticIp"] !== undefined) { contents.ElasticIp = output["ElasticIp"]; } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } return contents; }; @@ -14915,23 +14915,20 @@ const deserializeAws_queryEndpoint = (output: any, context: __SerdeContext): End const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event => { let contents: any = { - Date: undefined, + Message: undefined, SourceType: undefined, - Severity: undefined, SourceIdentifier: undefined, EventId: undefined, EventCategories: undefined, - Message: undefined, + Severity: undefined, + Date: undefined, }; - if (output["Date"] !== undefined) { - contents.Date = new Date(output["Date"]); + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; } if (output["SourceType"] !== undefined) { contents.SourceType = output["SourceType"]; } - if (output["Severity"] !== undefined) { - contents.Severity = output["Severity"]; - } if (output["SourceIdentifier"] !== undefined) { contents.SourceIdentifier = output["SourceIdentifier"]; } @@ -14947,8 +14944,11 @@ const deserializeAws_queryEvent = (output: any, context: __SerdeContext): Event context ); } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; + if (output["Severity"] !== undefined) { + contents.Severity = output["Severity"]; + } + if (output["Date"] !== undefined) { + contents.Date = new Date(output["Date"]); } return contents; }; @@ -14959,12 +14959,9 @@ const deserializeAws_queryEventCategoriesList = (output: any, context: __SerdeCo const deserializeAws_queryEventCategoriesMap = (output: any, context: __SerdeContext): EventCategoriesMap => { let contents: any = { - SourceType: undefined, Events: undefined, + SourceType: undefined, }; - if (output["SourceType"] !== undefined) { - contents.SourceType = output["SourceType"]; - } if (output.Events === "") { contents.Events = []; } @@ -14974,6 +14971,9 @@ const deserializeAws_queryEventCategoriesMap = (output: any, context: __SerdeCon context ); } + if (output["SourceType"] !== undefined) { + contents.SourceType = output["SourceType"]; + } return contents; }; @@ -15002,14 +15002,11 @@ const deserializeAws_queryEventCategoriesMessage = (output: any, context: __Serd const deserializeAws_queryEventInfoMap = (output: any, context: __SerdeContext): EventInfoMap => { let contents: any = { - Severity: undefined, EventCategories: undefined, EventId: undefined, EventDescription: undefined, + Severity: undefined, }; - if (output["Severity"] !== undefined) { - contents.Severity = output["Severity"]; - } if (output.EventCategories === "") { contents.EventCategories = []; } @@ -15025,6 +15022,9 @@ const deserializeAws_queryEventInfoMap = (output: any, context: __SerdeContext): if (output["EventDescription"] !== undefined) { contents.EventDescription = output["EventDescription"]; } + if (output["Severity"] !== undefined) { + contents.Severity = output["Severity"]; + } return contents; }; @@ -15055,18 +15055,27 @@ const deserializeAws_queryEventsMessage = (output: any, context: __SerdeContext) const deserializeAws_queryEventSubscription = (output: any, context: __SerdeContext): EventSubscription => { let contents: any = { - SourceIdsList: undefined, Status: undefined, - EventCategoriesList: undefined, - SourceType: undefined, - Enabled: undefined, + Tags: undefined, + SourceIdsList: undefined, CustSubscriptionId: undefined, + CustomerAwsId: undefined, SubscriptionCreationTime: undefined, Severity: undefined, - CustomerAwsId: undefined, - Tags: undefined, + Enabled: undefined, SnsTopicArn: undefined, + SourceType: undefined, + EventCategoriesList: undefined, }; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output.Tags === "") { + contents.Tags = []; + } + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + } if (output.SourceIdsList === "") { contents.SourceIdsList = []; } @@ -15076,45 +15085,36 @@ const deserializeAws_queryEventSubscription = (output: any, context: __SerdeCont context ); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output.EventCategoriesList === "") { - contents.EventCategoriesList = []; - } - if (output["EventCategoriesList"] !== undefined && output["EventCategoriesList"]["EventCategory"] !== undefined) { - contents.EventCategoriesList = deserializeAws_queryEventCategoriesList( - __getArrayIfSingleItem(output["EventCategoriesList"]["EventCategory"]), - context - ); - } - if (output["SourceType"] !== undefined) { - contents.SourceType = output["SourceType"]; - } - if (output["Enabled"] !== undefined) { - contents.Enabled = output["Enabled"] == "true"; - } if (output["CustSubscriptionId"] !== undefined) { contents.CustSubscriptionId = output["CustSubscriptionId"]; } + if (output["CustomerAwsId"] !== undefined) { + contents.CustomerAwsId = output["CustomerAwsId"]; + } if (output["SubscriptionCreationTime"] !== undefined) { contents.SubscriptionCreationTime = new Date(output["SubscriptionCreationTime"]); } if (output["Severity"] !== undefined) { contents.Severity = output["Severity"]; } - if (output["CustomerAwsId"] !== undefined) { - contents.CustomerAwsId = output["CustomerAwsId"]; - } - if (output.Tags === "") { - contents.Tags = []; - } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + 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["EventCategoriesList"] !== undefined && output["EventCategoriesList"]["EventCategory"] !== undefined) { + contents.EventCategoriesList = deserializeAws_queryEventCategoriesList( + __getArrayIfSingleItem(output["EventCategoriesList"]["EventCategory"]), + context + ); + } return contents; }; @@ -15166,12 +15166,9 @@ const deserializeAws_queryGetReservedNodeExchangeOfferingsOutputMessage = ( context: __SerdeContext ): GetReservedNodeExchangeOfferingsOutputMessage => { let contents: any = { - Marker: undefined, ReservedNodeOfferings: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.ReservedNodeOfferings === "") { contents.ReservedNodeOfferings = []; } @@ -15184,6 +15181,9 @@ const deserializeAws_queryGetReservedNodeExchangeOfferingsOutputMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -15230,12 +15230,9 @@ const deserializeAws_queryHsmClientCertificateMessage = ( context: __SerdeContext ): HsmClientCertificateMessage => { let contents: any = { - Marker: undefined, HsmClientCertificates: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.HsmClientCertificates === "") { contents.HsmClientCertificates = []; } @@ -15248,6 +15245,9 @@ const deserializeAws_queryHsmClientCertificateMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -15280,14 +15280,20 @@ const deserializeAws_queryHsmClientCertificateQuotaExceededFault = ( const deserializeAws_queryHsmConfiguration = (output: any, context: __SerdeContext): HsmConfiguration => { let contents: any = { Description: undefined, + HsmIpAddress: undefined, + HsmConfigurationIdentifier: undefined, Tags: undefined, HsmPartitionName: undefined, - HsmConfigurationIdentifier: undefined, - HsmIpAddress: undefined, }; 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.Tags === "") { contents.Tags = []; } @@ -15297,12 +15303,6 @@ const deserializeAws_queryHsmConfiguration = (output: any, context: __SerdeConte if (output["HsmPartitionName"] !== undefined) { contents.HsmPartitionName = output["HsmPartitionName"]; } - if (output["HsmConfigurationIdentifier"] !== undefined) { - contents.HsmConfigurationIdentifier = output["HsmConfigurationIdentifier"]; - } - if (output["HsmIpAddress"] !== undefined) { - contents.HsmIpAddress = output["HsmIpAddress"]; - } return contents; }; @@ -15371,16 +15371,16 @@ const deserializeAws_queryHsmConfigurationQuotaExceededFault = ( const deserializeAws_queryHsmStatus = (output: any, context: __SerdeContext): HsmStatus => { let contents: any = { - Status: undefined, HsmClientCertificateIdentifier: undefined, + Status: undefined, HsmConfigurationIdentifier: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["HsmClientCertificateIdentifier"] !== undefined) { contents.HsmClientCertificateIdentifier = output["HsmClientCertificateIdentifier"]; } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } if (output["HsmConfigurationIdentifier"] !== undefined) { contents.HsmConfigurationIdentifier = output["HsmConfigurationIdentifier"]; } @@ -15792,43 +15792,40 @@ const deserializeAws_queryLimitExceededFault = (output: any, context: __SerdeCon const deserializeAws_queryLoggingStatus = (output: any, context: __SerdeContext): LoggingStatus => { let contents: any = { - S3KeyPrefix: undefined, - LastFailureMessage: undefined, LoggingEnabled: undefined, LastFailureTime: undefined, - BucketName: undefined, LastSuccessfulDeliveryTime: undefined, - }; - if (output["S3KeyPrefix"] !== undefined) { - contents.S3KeyPrefix = output["S3KeyPrefix"]; - } - if (output["LastFailureMessage"] !== undefined) { - contents.LastFailureMessage = output["LastFailureMessage"]; - } + BucketName: undefined, + LastFailureMessage: undefined, + S3KeyPrefix: undefined, + }; if (output["LoggingEnabled"] !== undefined) { contents.LoggingEnabled = output["LoggingEnabled"] == "true"; } if (output["LastFailureTime"] !== undefined) { contents.LastFailureTime = new Date(output["LastFailureTime"]); } + if (output["LastSuccessfulDeliveryTime"] !== undefined) { + contents.LastSuccessfulDeliveryTime = new Date(output["LastSuccessfulDeliveryTime"]); + } if (output["BucketName"] !== undefined) { contents.BucketName = output["BucketName"]; } - if (output["LastSuccessfulDeliveryTime"] !== undefined) { - contents.LastSuccessfulDeliveryTime = new Date(output["LastSuccessfulDeliveryTime"]); + 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 = { - MaintenanceTrackName: undefined, UpdateTargets: undefined, + MaintenanceTrackName: undefined, DatabaseVersion: undefined, }; - if (output["MaintenanceTrackName"] !== undefined) { - contents.MaintenanceTrackName = output["MaintenanceTrackName"]; - } if (output.UpdateTargets === "") { contents.UpdateTargets = []; } @@ -15838,6 +15835,9 @@ const deserializeAws_queryMaintenanceTrack = (output: any, context: __SerdeConte context ); } + if (output["MaintenanceTrackName"] !== undefined) { + contents.MaintenanceTrackName = output["MaintenanceTrackName"]; + } if (output["DatabaseVersion"] !== undefined) { contents.DatabaseVersion = output["DatabaseVersion"]; } @@ -15948,19 +15948,19 @@ const deserializeAws_queryModifySnapshotCopyRetentionPeriodResult = ( const deserializeAws_queryNodeConfigurationOption = (output: any, context: __SerdeContext): NodeConfigurationOption => { let contents: any = { EstimatedDiskUtilizationPercent: undefined, - Mode: undefined, NodeType: undefined, + Mode: undefined, NumberOfNodes: undefined, }; if (output["EstimatedDiskUtilizationPercent"] !== undefined) { contents.EstimatedDiskUtilizationPercent = parseFloat(output["EstimatedDiskUtilizationPercent"]); } - if (output["Mode"] !== undefined) { - contents.Mode = output["Mode"]; - } 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"]); } @@ -15979,12 +15979,9 @@ const deserializeAws_queryNodeConfigurationOptionsMessage = ( context: __SerdeContext ): NodeConfigurationOptionsMessage => { let contents: any = { - Marker: undefined, NodeConfigurationOptionList: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.NodeConfigurationOptionList === "") { contents.NodeConfigurationOptionList = []; } @@ -15997,6 +15994,9 @@ const deserializeAws_queryNodeConfigurationOptionsMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -16029,15 +16029,15 @@ const deserializeAws_queryNumberOfNodesQuotaExceededFault = ( const deserializeAws_queryOrderableClusterOption = (output: any, context: __SerdeContext): OrderableClusterOption => { let contents: any = { ClusterType: undefined, - NodeType: undefined, - AvailabilityZones: undefined, ClusterVersion: undefined, + AvailabilityZones: undefined, + NodeType: undefined, }; if (output["ClusterType"] !== undefined) { contents.ClusterType = output["ClusterType"]; } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; + if (output["ClusterVersion"] !== undefined) { + contents.ClusterVersion = output["ClusterVersion"]; } if (output.AvailabilityZones === "") { contents.AvailabilityZones = []; @@ -16048,8 +16048,8 @@ const deserializeAws_queryOrderableClusterOption = (output: any, context: __Serd context ); } - if (output["ClusterVersion"] !== undefined) { - contents.ClusterVersion = output["ClusterVersion"]; + if (output["NodeType"] !== undefined) { + contents.NodeType = output["NodeType"]; } return contents; }; @@ -16089,42 +16089,42 @@ const deserializeAws_queryOrderableClusterOptionsMessage = ( const deserializeAws_queryParameter = (output: any, context: __SerdeContext): Parameter => { let contents: any = { - DataType: undefined, - AllowedValues: undefined, Source: undefined, ParameterName: undefined, - ApplyType: undefined, + DataType: undefined, + MinimumEngineVersion: undefined, + AllowedValues: undefined, ParameterValue: undefined, - IsModifiable: undefined, Description: undefined, - MinimumEngineVersion: undefined, + ApplyType: undefined, + IsModifiable: undefined, }; - if (output["DataType"] !== undefined) { - contents.DataType = output["DataType"]; - } - if (output["AllowedValues"] !== undefined) { - contents.AllowedValues = output["AllowedValues"]; - } if (output["Source"] !== undefined) { contents.Source = output["Source"]; } if (output["ParameterName"] !== undefined) { contents.ParameterName = output["ParameterName"]; } - if (output["ApplyType"] !== undefined) { - contents.ApplyType = output["ApplyType"]; + 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["IsModifiable"] !== undefined) { - contents.IsModifiable = output["IsModifiable"] == "true"; - } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } - if (output["MinimumEngineVersion"] !== undefined) { - contents.MinimumEngineVersion = output["MinimumEngineVersion"]; + if (output["ApplyType"] !== undefined) { + contents.ApplyType = output["ApplyType"]; + } + if (output["IsModifiable"] !== undefined) { + contents.IsModifiable = output["IsModifiable"] == "true"; } return contents; }; @@ -16163,50 +16163,50 @@ const deserializeAws_queryPendingActionsList = (output: any, context: __SerdeCon const deserializeAws_queryPendingModifiedValues = (output: any, context: __SerdeContext): PendingModifiedValues => { let contents: any = { - ClusterVersion: undefined, + ClusterType: undefined, PubliclyAccessible: undefined, + ClusterVersion: undefined, + MasterUserPassword: undefined, ClusterIdentifier: undefined, - NumberOfNodes: undefined, - ClusterType: undefined, + EncryptionType: undefined, MaintenanceTrackName: undefined, + NodeType: undefined, EnhancedVpcRouting: undefined, - MasterUserPassword: undefined, AutomatedSnapshotRetentionPeriod: undefined, - EncryptionType: undefined, - NodeType: undefined, + NumberOfNodes: undefined, }; - if (output["ClusterVersion"] !== undefined) { - contents.ClusterVersion = output["ClusterVersion"]; + 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["ClusterIdentifier"] !== undefined) { contents.ClusterIdentifier = output["ClusterIdentifier"]; } - if (output["NumberOfNodes"] !== undefined) { - contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); - } - if (output["ClusterType"] !== undefined) { - contents.ClusterType = output["ClusterType"]; + 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["EnhancedVpcRouting"] !== undefined) { contents.EnhancedVpcRouting = output["EnhancedVpcRouting"] == "true"; } - if (output["MasterUserPassword"] !== undefined) { - contents.MasterUserPassword = output["MasterUserPassword"]; - } if (output["AutomatedSnapshotRetentionPeriod"] !== undefined) { contents.AutomatedSnapshotRetentionPeriod = parseInt(output["AutomatedSnapshotRetentionPeriod"]); } - if (output["EncryptionType"] !== undefined) { - contents.EncryptionType = output["EncryptionType"]; - } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; + if (output["NumberOfNodes"] !== undefined) { + contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); } return contents; }; @@ -16254,20 +16254,38 @@ const deserializeAws_queryRecurringChargeList = (output: any, context: __SerdeCo const deserializeAws_queryReservedNode = (output: any, context: __SerdeContext): ReservedNode => { let contents: any = { - RecurringCharges: undefined, - ReservedNodeOfferingType: undefined, FixedPrice: undefined, - ReservedNodeOfferingId: undefined, - StartTime: undefined, State: undefined, + CurrencyCode: undefined, + ReservedNodeOfferingId: undefined, NodeType: undefined, + ReservedNodeOfferingType: undefined, + RecurringCharges: undefined, NodeCount: undefined, - Duration: undefined, OfferingType: undefined, - ReservedNodeId: undefined, - CurrencyCode: undefined, + StartTime: undefined, + Duration: undefined, UsagePrice: undefined, + ReservedNodeId: undefined, }; + if (output["FixedPrice"] !== undefined) { + contents.FixedPrice = parseFloat(output["FixedPrice"]); + } + if (output["State"] !== undefined) { + contents.State = output["State"]; + } + if (output["CurrencyCode"] !== undefined) { + contents.CurrencyCode = output["CurrencyCode"]; + } + if (output["ReservedNodeOfferingId"] !== undefined) { + contents.ReservedNodeOfferingId = output["ReservedNodeOfferingId"]; + } + if (output["NodeType"] !== undefined) { + contents.NodeType = output["NodeType"]; + } + if (output["ReservedNodeOfferingType"] !== undefined) { + contents.ReservedNodeOfferingType = output["ReservedNodeOfferingType"]; + } if (output.RecurringCharges === "") { contents.RecurringCharges = []; } @@ -16277,42 +16295,24 @@ const deserializeAws_queryReservedNode = (output: any, context: __SerdeContext): context ); } - if (output["ReservedNodeOfferingType"] !== undefined) { - contents.ReservedNodeOfferingType = output["ReservedNodeOfferingType"]; - } - if (output["FixedPrice"] !== undefined) { - contents.FixedPrice = parseFloat(output["FixedPrice"]); + if (output["NodeCount"] !== undefined) { + contents.NodeCount = parseInt(output["NodeCount"]); } - if (output["ReservedNodeOfferingId"] !== undefined) { - contents.ReservedNodeOfferingId = output["ReservedNodeOfferingId"]; + if (output["OfferingType"] !== undefined) { + contents.OfferingType = output["OfferingType"]; } if (output["StartTime"] !== undefined) { contents.StartTime = new Date(output["StartTime"]); } - if (output["State"] !== undefined) { - contents.State = output["State"]; - } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; - } - if (output["NodeCount"] !== undefined) { - contents.NodeCount = parseInt(output["NodeCount"]); - } if (output["Duration"] !== undefined) { contents.Duration = parseInt(output["Duration"]); } - if (output["OfferingType"] !== undefined) { - contents.OfferingType = output["OfferingType"]; + if (output["UsagePrice"] !== undefined) { + contents.UsagePrice = parseFloat(output["UsagePrice"]); } if (output["ReservedNodeId"] !== undefined) { contents.ReservedNodeId = output["ReservedNodeId"]; } - if (output["CurrencyCode"] !== undefined) { - contents.CurrencyCode = output["CurrencyCode"]; - } - if (output["UsagePrice"] !== undefined) { - contents.UsagePrice = parseFloat(output["UsagePrice"]); - } return contents; }; @@ -16362,30 +16362,30 @@ const deserializeAws_queryReservedNodeNotFoundFault = ( const deserializeAws_queryReservedNodeOffering = (output: any, context: __SerdeContext): ReservedNodeOffering => { let contents: any = { ReservedNodeOfferingType: undefined, - CurrencyCode: undefined, OfferingType: undefined, - UsagePrice: undefined, + CurrencyCode: undefined, NodeType: undefined, - RecurringCharges: undefined, ReservedNodeOfferingId: undefined, - Duration: undefined, + RecurringCharges: undefined, FixedPrice: undefined, + UsagePrice: undefined, + Duration: undefined, }; if (output["ReservedNodeOfferingType"] !== undefined) { contents.ReservedNodeOfferingType = output["ReservedNodeOfferingType"]; } - if (output["CurrencyCode"] !== undefined) { - contents.CurrencyCode = output["CurrencyCode"]; - } if (output["OfferingType"] !== undefined) { contents.OfferingType = output["OfferingType"]; } - 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.RecurringCharges === "") { contents.RecurringCharges = []; } @@ -16395,15 +16395,15 @@ const deserializeAws_queryReservedNodeOffering = (output: any, context: __SerdeC context ); } - if (output["ReservedNodeOfferingId"] !== undefined) { - contents.ReservedNodeOfferingId = output["ReservedNodeOfferingId"]; + 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["FixedPrice"] !== undefined) { - contents.FixedPrice = parseFloat(output["FixedPrice"]); - } return contents; }; @@ -16429,9 +16429,12 @@ const deserializeAws_queryReservedNodeOfferingsMessage = ( context: __SerdeContext ): ReservedNodeOfferingsMessage => { let contents: any = { - ReservedNodeOfferings: undefined, Marker: undefined, + ReservedNodeOfferings: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ReservedNodeOfferings === "") { contents.ReservedNodeOfferings = []; } @@ -16444,9 +16447,6 @@ const deserializeAws_queryReservedNodeOfferingsMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -16488,8 +16488,8 @@ const deserializeAws_queryResizeClusterMessage = (output: any, context: __SerdeC NodeType: undefined, Classic: undefined, NumberOfNodes: undefined, - ClusterIdentifier: undefined, ClusterType: undefined, + ClusterIdentifier: undefined, }; if (output["NodeType"] !== undefined) { contents.NodeType = output["NodeType"]; @@ -16500,12 +16500,12 @@ const deserializeAws_queryResizeClusterMessage = (output: any, context: __SerdeC if (output["NumberOfNodes"] !== undefined) { contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); } - if (output["ClusterIdentifier"] !== undefined) { - contents.ClusterIdentifier = output["ClusterIdentifier"]; - } if (output["ClusterType"] !== undefined) { contents.ClusterType = output["ClusterType"]; } + if (output["ClusterIdentifier"] !== undefined) { + contents.ClusterIdentifier = output["ClusterIdentifier"]; + } return contents; }; @@ -16521,15 +16521,15 @@ const deserializeAws_queryResizeClusterResult = (output: any, context: __SerdeCo const deserializeAws_queryResizeInfo = (output: any, context: __SerdeContext): ResizeInfo => { let contents: any = { - AllowCancelResize: undefined, ResizeType: undefined, + AllowCancelResize: undefined, }; - if (output["AllowCancelResize"] !== undefined) { - contents.AllowCancelResize = output["AllowCancelResize"] == "true"; - } if (output["ResizeType"] !== undefined) { contents.ResizeType = output["ResizeType"]; } + if (output["AllowCancelResize"] !== undefined) { + contents.AllowCancelResize = output["AllowCancelResize"] == "true"; + } return contents; }; @@ -16545,34 +16545,28 @@ const deserializeAws_queryResizeNotFoundFault = (output: any, context: __SerdeCo const deserializeAws_queryResizeProgressMessage = (output: any, context: __SerdeContext): ResizeProgressMessage => { let contents: any = { - ResizeType: undefined, - TargetNumberOfNodes: undefined, - AvgResizeRateInMegaBytesPerSecond: undefined, - EstimatedTimeToCompletionInSeconds: undefined, - ImportTablesNotStarted: undefined, + Status: undefined, ElapsedTimeInSeconds: undefined, + ImportTablesNotStarted: undefined, TargetClusterType: undefined, - DataTransferProgressPercent: undefined, + TargetEncryptionType: undefined, + EstimatedTimeToCompletionInSeconds: undefined, TargetNodeType: undefined, ImportTablesCompleted: undefined, - Message: undefined, - TotalResizeDataInMegaBytes: undefined, - TargetEncryptionType: undefined, + TargetNumberOfNodes: undefined, + ResizeType: undefined, ProgressInMegaBytes: undefined, + AvgResizeRateInMegaBytesPerSecond: undefined, ImportTablesInProgress: undefined, - Status: undefined, + Message: undefined, + TotalResizeDataInMegaBytes: undefined, + DataTransferProgressPercent: undefined, }; - if (output["ResizeType"] !== undefined) { - contents.ResizeType = output["ResizeType"]; - } - if (output["TargetNumberOfNodes"] !== undefined) { - contents.TargetNumberOfNodes = parseInt(output["TargetNumberOfNodes"]); - } - if (output["AvgResizeRateInMegaBytesPerSecond"] !== undefined) { - contents.AvgResizeRateInMegaBytesPerSecond = parseFloat(output["AvgResizeRateInMegaBytesPerSecond"]); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } - if (output["EstimatedTimeToCompletionInSeconds"] !== undefined) { - contents.EstimatedTimeToCompletionInSeconds = parseInt(output["EstimatedTimeToCompletionInSeconds"]); + if (output["ElapsedTimeInSeconds"] !== undefined) { + contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); } if (output.ImportTablesNotStarted === "") { contents.ImportTablesNotStarted = []; @@ -16583,14 +16577,14 @@ const deserializeAws_queryResizeProgressMessage = (output: any, context: __Serde context ); } - if (output["ElapsedTimeInSeconds"] !== undefined) { - contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); - } if (output["TargetClusterType"] !== undefined) { contents.TargetClusterType = output["TargetClusterType"]; } - if (output["DataTransferProgressPercent"] !== undefined) { - contents.DataTransferProgressPercent = parseFloat(output["DataTransferProgressPercent"]); + if (output["TargetEncryptionType"] !== undefined) { + contents.TargetEncryptionType = output["TargetEncryptionType"]; + } + if (output["EstimatedTimeToCompletionInSeconds"] !== undefined) { + contents.EstimatedTimeToCompletionInSeconds = parseInt(output["EstimatedTimeToCompletionInSeconds"]); } if (output["TargetNodeType"] !== undefined) { contents.TargetNodeType = output["TargetNodeType"]; @@ -16604,18 +16598,18 @@ const deserializeAws_queryResizeProgressMessage = (output: any, context: __Serde context ); } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; - } - if (output["TotalResizeDataInMegaBytes"] !== undefined) { - contents.TotalResizeDataInMegaBytes = parseInt(output["TotalResizeDataInMegaBytes"]); + if (output["TargetNumberOfNodes"] !== undefined) { + contents.TargetNumberOfNodes = parseInt(output["TargetNumberOfNodes"]); } - if (output["TargetEncryptionType"] !== undefined) { - contents.TargetEncryptionType = output["TargetEncryptionType"]; + 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 = []; } @@ -16625,8 +16619,14 @@ const deserializeAws_queryResizeProgressMessage = (output: any, context: __Serde context ); } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; + } + if (output["TotalResizeDataInMegaBytes"] !== undefined) { + contents.TotalResizeDataInMegaBytes = parseInt(output["TotalResizeDataInMegaBytes"]); + } + if (output["DataTransferProgressPercent"] !== undefined) { + contents.DataTransferProgressPercent = parseFloat(output["DataTransferProgressPercent"]); } return contents; }; @@ -16661,17 +16661,20 @@ const deserializeAws_queryRestoreFromClusterSnapshotResult = ( const deserializeAws_queryRestoreStatus = (output: any, context: __SerdeContext): RestoreStatus => { let contents: any = { SnapshotSizeInMegaBytes: undefined, - ProgressInMegaBytes: undefined, + ElapsedTimeInSeconds: undefined, + EstimatedTimeToCompletionInSeconds: undefined, Status: undefined, CurrentRestoreRateInMegaBytesPerSecond: undefined, - EstimatedTimeToCompletionInSeconds: undefined, - ElapsedTimeInSeconds: undefined, + ProgressInMegaBytes: undefined, }; 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"]); } if (output["Status"] !== undefined) { contents.Status = output["Status"]; @@ -16679,11 +16682,8 @@ const deserializeAws_queryRestoreStatus = (output: any, context: __SerdeContext) if (output["CurrentRestoreRateInMegaBytesPerSecond"] !== undefined) { contents.CurrentRestoreRateInMegaBytesPerSecond = parseFloat(output["CurrentRestoreRateInMegaBytesPerSecond"]); } - if (output["EstimatedTimeToCompletionInSeconds"] !== undefined) { - contents.EstimatedTimeToCompletionInSeconds = parseInt(output["EstimatedTimeToCompletionInSeconds"]); - } - if (output["ElapsedTimeInSeconds"] !== undefined) { - contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); + if (output["ProgressInMegaBytes"] !== undefined) { + contents.ProgressInMegaBytes = parseInt(output["ProgressInMegaBytes"]); } return contents; }; @@ -16784,48 +16784,48 @@ const deserializeAws_queryRotateEncryptionKeyResult = ( const deserializeAws_queryScheduledAction = (output: any, context: __SerdeContext): ScheduledAction => { let contents: any = { - NextInvocations: undefined, - ScheduledActionDescription: undefined, - ScheduledActionName: undefined, IamRole: undefined, - TargetAction: undefined, + ScheduledActionDescription: undefined, EndTime: undefined, - State: undefined, - Schedule: undefined, + TargetAction: undefined, StartTime: undefined, + Schedule: undefined, + State: undefined, + NextInvocations: undefined, + ScheduledActionName: undefined, }; - if (output.NextInvocations === "") { - contents.NextInvocations = []; - } - if (output["NextInvocations"] !== undefined && output["NextInvocations"]["ScheduledActionTime"] !== undefined) { - contents.NextInvocations = deserializeAws_queryScheduledActionTimeList( - __getArrayIfSingleItem(output["NextInvocations"]["ScheduledActionTime"]), - context - ); + if (output["IamRole"] !== undefined) { + contents.IamRole = output["IamRole"]; } if (output["ScheduledActionDescription"] !== undefined) { contents.ScheduledActionDescription = output["ScheduledActionDescription"]; } - if (output["ScheduledActionName"] !== undefined) { - contents.ScheduledActionName = output["ScheduledActionName"]; - } - if (output["IamRole"] !== undefined) { - contents.IamRole = output["IamRole"]; + if (output["EndTime"] !== undefined) { + contents.EndTime = new Date(output["EndTime"]); } if (output["TargetAction"] !== undefined) { contents.TargetAction = deserializeAws_queryScheduledActionType(output["TargetAction"], context); } - if (output["EndTime"] !== undefined) { - contents.EndTime = new Date(output["EndTime"]); + if (output["StartTime"] !== undefined) { + contents.StartTime = new Date(output["StartTime"]); + } + if (output["Schedule"] !== undefined) { + contents.Schedule = output["Schedule"]; } if (output["State"] !== undefined) { contents.State = output["State"]; } - if (output["Schedule"] !== undefined) { - contents.Schedule = output["Schedule"]; + if (output.NextInvocations === "") { + contents.NextInvocations = []; } - if (output["StartTime"] !== undefined) { - contents.StartTime = new Date(output["StartTime"]); + if (output["NextInvocations"] !== undefined && output["NextInvocations"]["ScheduledActionTime"] !== undefined) { + contents.NextInvocations = deserializeAws_queryScheduledActionTimeList( + __getArrayIfSingleItem(output["NextInvocations"]["ScheduledActionTime"]), + context + ); + } + if (output["ScheduledActionName"] !== undefined) { + contents.ScheduledActionName = output["ScheduledActionName"]; } return contents; }; @@ -16875,9 +16875,12 @@ const deserializeAws_queryScheduledActionQuotaExceededFault = ( const deserializeAws_queryScheduledActionsMessage = (output: any, context: __SerdeContext): ScheduledActionsMessage => { let contents: any = { - ScheduledActions: undefined, Marker: undefined, + ScheduledActions: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.ScheduledActions === "") { contents.ScheduledActions = []; } @@ -16887,9 +16890,6 @@ const deserializeAws_queryScheduledActionsMessage = (output: any, context: __Ser context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; @@ -16899,18 +16899,18 @@ const deserializeAws_queryScheduledActionTimeList = (output: any, context: __Ser const deserializeAws_queryScheduledActionType = (output: any, context: __SerdeContext): ScheduledActionType => { let contents: any = { - ResizeCluster: undefined, - ResumeCluster: 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["PauseCluster"] !== undefined) { - contents.PauseCluster = deserializeAws_queryPauseClusterMessage(output["PauseCluster"], context); + if (output["ResizeCluster"] !== undefined) { + contents.ResizeCluster = deserializeAws_queryResizeClusterMessage(output["ResizeCluster"], context); } return contents; }; @@ -16951,66 +16951,78 @@ const deserializeAws_queryScheduledSnapshotTimeList = (output: any, context: __S const deserializeAws_querySnapshot = (output: any, context: __SerdeContext): Snapshot => { let contents: any = { - EncryptedWithHSM: undefined, - ClusterVersion: undefined, - MaintenanceTrackName: undefined, - EstimatedSecondsToCompletion: undefined, - ElapsedTimeInSeconds: undefined, - CurrentBackupRateInMegaBytesPerSecond: undefined, - ManualSnapshotRemainingDays: undefined, - Status: undefined, ClusterIdentifier: undefined, - BackupProgressInMegaBytes: undefined, - AccountsWithRestoreAccess: undefined, - ActualIncrementalBackupSizeInMegaBytes: undefined, - NumberOfNodes: undefined, - ManualSnapshotRetentionPeriod: undefined, - SnapshotCreateTime: undefined, - EnhancedVpcRouting: undefined, + VpcId: undefined, + Tags: undefined, + Status: undefined, + ManualSnapshotRemainingDays: undefined, + Encrypted: undefined, + ElapsedTimeInSeconds: undefined, KmsKeyId: undefined, SourceRegion: undefined, + ManualSnapshotRetentionPeriod: undefined, DBName: undefined, - MasterUsername: undefined, AvailabilityZone: undefined, - VpcId: undefined, - Encrypted: undefined, - SnapshotIdentifier: undefined, - RestorableNodeTypes: undefined, - Port: undefined, + BackupProgressInMegaBytes: undefined, + AccountsWithRestoreAccess: undefined, + ActualIncrementalBackupSizeInMegaBytes: undefined, + MasterUsername: undefined, + CurrentBackupRateInMegaBytesPerSecond: undefined, TotalBackupSizeInMegaBytes: undefined, - ClusterCreateTime: undefined, + EstimatedSecondsToCompletion: undefined, + Port: undefined, + SnapshotCreateTime: undefined, + EnhancedVpcRouting: undefined, SnapshotType: undefined, + ClusterCreateTime: undefined, + NumberOfNodes: undefined, NodeType: undefined, - Tags: undefined, - OwnerAccount: undefined, + EncryptedWithHSM: undefined, + RestorableNodeTypes: undefined, SnapshotRetentionStartTime: undefined, + MaintenanceTrackName: undefined, + OwnerAccount: undefined, + SnapshotIdentifier: undefined, + ClusterVersion: undefined, }; - if (output["EncryptedWithHSM"] !== undefined) { - contents.EncryptedWithHSM = output["EncryptedWithHSM"] == "true"; + if (output["ClusterIdentifier"] !== undefined) { + contents.ClusterIdentifier = output["ClusterIdentifier"]; } - if (output["ClusterVersion"] !== undefined) { - contents.ClusterVersion = output["ClusterVersion"]; + if (output["VpcId"] !== undefined) { + contents.VpcId = output["VpcId"]; } - if (output["MaintenanceTrackName"] !== undefined) { - contents.MaintenanceTrackName = output["MaintenanceTrackName"]; + if (output.Tags === "") { + contents.Tags = []; } - if (output["EstimatedSecondsToCompletion"] !== undefined) { - contents.EstimatedSecondsToCompletion = parseInt(output["EstimatedSecondsToCompletion"]); + if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { + contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } + if (output["ManualSnapshotRemainingDays"] !== undefined) { + contents.ManualSnapshotRemainingDays = parseInt(output["ManualSnapshotRemainingDays"]); + } + if (output["Encrypted"] !== undefined) { + contents.Encrypted = output["Encrypted"] == "true"; } if (output["ElapsedTimeInSeconds"] !== undefined) { contents.ElapsedTimeInSeconds = parseInt(output["ElapsedTimeInSeconds"]); } - if (output["CurrentBackupRateInMegaBytesPerSecond"] !== undefined) { - contents.CurrentBackupRateInMegaBytesPerSecond = parseFloat(output["CurrentBackupRateInMegaBytesPerSecond"]); + if (output["KmsKeyId"] !== undefined) { + contents.KmsKeyId = output["KmsKeyId"]; } - if (output["ManualSnapshotRemainingDays"] !== undefined) { - contents.ManualSnapshotRemainingDays = parseInt(output["ManualSnapshotRemainingDays"]); + if (output["SourceRegion"] !== undefined) { + contents.SourceRegion = output["SourceRegion"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["ManualSnapshotRetentionPeriod"] !== undefined) { + contents.ManualSnapshotRetentionPeriod = parseInt(output["ManualSnapshotRetentionPeriod"]); } - if (output["ClusterIdentifier"] !== undefined) { - contents.ClusterIdentifier = output["ClusterIdentifier"]; + if (output["DBName"] !== undefined) { + contents.DBName = output["DBName"]; + } + if (output["AvailabilityZone"] !== undefined) { + contents.AvailabilityZone = output["AvailabilityZone"]; } if (output["BackupProgressInMegaBytes"] !== undefined) { contents.BackupProgressInMegaBytes = parseFloat(output["BackupProgressInMegaBytes"]); @@ -17030,41 +17042,41 @@ const deserializeAws_querySnapshot = (output: any, context: __SerdeContext): Sna if (output["ActualIncrementalBackupSizeInMegaBytes"] !== undefined) { contents.ActualIncrementalBackupSizeInMegaBytes = parseFloat(output["ActualIncrementalBackupSizeInMegaBytes"]); } - if (output["NumberOfNodes"] !== undefined) { - contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); + if (output["MasterUsername"] !== undefined) { + contents.MasterUsername = output["MasterUsername"]; } - if (output["ManualSnapshotRetentionPeriod"] !== undefined) { - contents.ManualSnapshotRetentionPeriod = parseInt(output["ManualSnapshotRetentionPeriod"]); + if (output["CurrentBackupRateInMegaBytesPerSecond"] !== undefined) { + contents.CurrentBackupRateInMegaBytesPerSecond = parseFloat(output["CurrentBackupRateInMegaBytesPerSecond"]); } - if (output["SnapshotCreateTime"] !== undefined) { - contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); + if (output["TotalBackupSizeInMegaBytes"] !== undefined) { + contents.TotalBackupSizeInMegaBytes = parseFloat(output["TotalBackupSizeInMegaBytes"]); } - if (output["EnhancedVpcRouting"] !== undefined) { - contents.EnhancedVpcRouting = output["EnhancedVpcRouting"] == "true"; + if (output["EstimatedSecondsToCompletion"] !== undefined) { + contents.EstimatedSecondsToCompletion = parseInt(output["EstimatedSecondsToCompletion"]); } - if (output["KmsKeyId"] !== undefined) { - contents.KmsKeyId = output["KmsKeyId"]; + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); } - if (output["SourceRegion"] !== undefined) { - contents.SourceRegion = output["SourceRegion"]; + if (output["SnapshotCreateTime"] !== undefined) { + contents.SnapshotCreateTime = new Date(output["SnapshotCreateTime"]); } - if (output["DBName"] !== undefined) { - contents.DBName = output["DBName"]; + if (output["EnhancedVpcRouting"] !== undefined) { + contents.EnhancedVpcRouting = output["EnhancedVpcRouting"] == "true"; } - if (output["MasterUsername"] !== undefined) { - contents.MasterUsername = output["MasterUsername"]; + if (output["SnapshotType"] !== undefined) { + contents.SnapshotType = output["SnapshotType"]; } - if (output["AvailabilityZone"] !== undefined) { - contents.AvailabilityZone = output["AvailabilityZone"]; + if (output["ClusterCreateTime"] !== undefined) { + contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); } - if (output["VpcId"] !== undefined) { - contents.VpcId = output["VpcId"]; + if (output["NumberOfNodes"] !== undefined) { + contents.NumberOfNodes = parseInt(output["NumberOfNodes"]); } - if (output["Encrypted"] !== undefined) { - contents.Encrypted = output["Encrypted"] == "true"; + if (output["NodeType"] !== undefined) { + contents.NodeType = output["NodeType"]; } - if (output["SnapshotIdentifier"] !== undefined) { - contents.SnapshotIdentifier = output["SnapshotIdentifier"]; + if (output["EncryptedWithHSM"] !== undefined) { + contents.EncryptedWithHSM = output["EncryptedWithHSM"] == "true"; } if (output.RestorableNodeTypes === "") { contents.RestorableNodeTypes = []; @@ -17075,32 +17087,20 @@ const deserializeAws_querySnapshot = (output: any, context: __SerdeContext): Sna context ); } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); - } - if (output["TotalBackupSizeInMegaBytes"] !== undefined) { - contents.TotalBackupSizeInMegaBytes = parseFloat(output["TotalBackupSizeInMegaBytes"]); - } - if (output["ClusterCreateTime"] !== undefined) { - contents.ClusterCreateTime = new Date(output["ClusterCreateTime"]); - } - if (output["SnapshotType"] !== undefined) { - contents.SnapshotType = output["SnapshotType"]; - } - if (output["NodeType"] !== undefined) { - contents.NodeType = output["NodeType"]; - } - if (output.Tags === "") { - contents.Tags = []; + if (output["SnapshotRetentionStartTime"] !== undefined) { + contents.SnapshotRetentionStartTime = new Date(output["SnapshotRetentionStartTime"]); } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + if (output["MaintenanceTrackName"] !== undefined) { + contents.MaintenanceTrackName = output["MaintenanceTrackName"]; } if (output["OwnerAccount"] !== undefined) { contents.OwnerAccount = output["OwnerAccount"]; } - if (output["SnapshotRetentionStartTime"] !== undefined) { - contents.SnapshotRetentionStartTime = new Date(output["SnapshotRetentionStartTime"]); + if (output["SnapshotIdentifier"] !== undefined) { + contents.SnapshotIdentifier = output["SnapshotIdentifier"]; + } + if (output["ClusterVersion"] !== undefined) { + contents.ClusterVersion = output["ClusterVersion"]; } return contents; }; @@ -17147,8 +17147,8 @@ const deserializeAws_querySnapshotCopyDisabledFault = ( const deserializeAws_querySnapshotCopyGrant = (output: any, context: __SerdeContext): SnapshotCopyGrant => { let contents: any = { Tags: undefined, - SnapshotCopyGrantName: undefined, KmsKeyId: undefined, + SnapshotCopyGrantName: undefined, }; if (output.Tags === "") { contents.Tags = []; @@ -17156,12 +17156,12 @@ const deserializeAws_querySnapshotCopyGrant = (output: any, context: __SerdeCont if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } - if (output["SnapshotCopyGrantName"] !== undefined) { - contents.SnapshotCopyGrantName = output["SnapshotCopyGrantName"]; - } if (output["KmsKeyId"] !== undefined) { contents.KmsKeyId = output["KmsKeyId"]; } + if (output["SnapshotCopyGrantName"] !== undefined) { + contents.SnapshotCopyGrantName = output["SnapshotCopyGrantName"]; + } return contents; }; @@ -17187,12 +17187,9 @@ const deserializeAws_querySnapshotCopyGrantMessage = ( context: __SerdeContext ): SnapshotCopyGrantMessage => { let contents: any = { - Marker: undefined, SnapshotCopyGrants: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.SnapshotCopyGrants === "") { contents.SnapshotCopyGrants = []; } @@ -17202,6 +17199,9 @@ const deserializeAws_querySnapshotCopyGrantMessage = ( context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -17234,22 +17234,22 @@ const deserializeAws_querySnapshotCopyGrantQuotaExceededFault = ( const deserializeAws_querySnapshotErrorMessage = (output: any, context: __SerdeContext): SnapshotErrorMessage => { let contents: any = { FailureReason: undefined, - SnapshotIdentifier: undefined, SnapshotClusterIdentifier: undefined, FailureCode: undefined, + SnapshotIdentifier: 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"]; } if (output["FailureCode"] !== undefined) { contents.FailureCode = output["FailureCode"]; } + if (output["SnapshotIdentifier"] !== undefined) { + contents.SnapshotIdentifier = output["SnapshotIdentifier"]; + } return contents; }; @@ -17283,14 +17283,17 @@ const deserializeAws_querySnapshotMessage = (output: any, context: __SerdeContex const deserializeAws_querySnapshotSchedule = (output: any, context: __SerdeContext): SnapshotSchedule => { let contents: any = { + ScheduleIdentifier: undefined, NextInvocations: undefined, - AssociatedClusters: undefined, AssociatedClusterCount: undefined, - ScheduleIdentifier: undefined, + AssociatedClusters: undefined, Tags: undefined, - ScheduleDescription: undefined, ScheduleDefinitions: undefined, + ScheduleDescription: undefined, }; + if (output["ScheduleIdentifier"] !== undefined) { + contents.ScheduleIdentifier = output["ScheduleIdentifier"]; + } if (output.NextInvocations === "") { contents.NextInvocations = []; } @@ -17300,6 +17303,9 @@ const deserializeAws_querySnapshotSchedule = (output: any, context: __SerdeConte context ); } + if (output["AssociatedClusterCount"] !== undefined) { + contents.AssociatedClusterCount = parseInt(output["AssociatedClusterCount"]); + } if (output.AssociatedClusters === "") { contents.AssociatedClusters = []; } @@ -17312,21 +17318,12 @@ const deserializeAws_querySnapshotSchedule = (output: any, context: __SerdeConte context ); } - if (output["AssociatedClusterCount"] !== undefined) { - contents.AssociatedClusterCount = parseInt(output["AssociatedClusterCount"]); - } - if (output["ScheduleIdentifier"] !== undefined) { - contents.ScheduleIdentifier = output["ScheduleIdentifier"]; - } if (output.Tags === "") { contents.Tags = []; } if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } - if (output["ScheduleDescription"] !== undefined) { - contents.ScheduleDescription = output["ScheduleDescription"]; - } if (output.ScheduleDefinitions === "") { contents.ScheduleDefinitions = []; } @@ -17339,6 +17336,9 @@ const deserializeAws_querySnapshotSchedule = (output: any, context: __SerdeConte context ); } + if (output["ScheduleDescription"] !== undefined) { + contents.ScheduleDescription = output["ScheduleDescription"]; + } return contents; }; @@ -17447,19 +17447,19 @@ const deserializeAws_querySourceNotFoundFault = (output: any, context: __SerdeCo const deserializeAws_querySubnet = (output: any, context: __SerdeContext): Subnet => { let contents: any = { - SubnetAvailabilityZone: undefined, SubnetIdentifier: undefined, SubnetStatus: undefined, + SubnetAvailabilityZone: undefined, }; - if (output["SubnetAvailabilityZone"] !== undefined) { - contents.SubnetAvailabilityZone = deserializeAws_queryAvailabilityZone(output["SubnetAvailabilityZone"], context); - } 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); + } return contents; }; @@ -17595,26 +17595,29 @@ const deserializeAws_queryTableRestoreNotFoundFault = ( const deserializeAws_queryTableRestoreStatus = (output: any, context: __SerdeContext): TableRestoreStatus => { let contents: any = { - TargetSchemaName: undefined, - TotalDataInMegaBytes: undefined, + SourceDatabaseName: undefined, + RequestTime: undefined, + SourceTableName: undefined, TargetDatabaseName: undefined, SnapshotIdentifier: undefined, + TotalDataInMegaBytes: undefined, + TargetSchemaName: undefined, ClusterIdentifier: undefined, - RequestTime: undefined, - ProgressInMegaBytes: undefined, - SourceDatabaseName: undefined, - Message: undefined, - SourceSchemaName: undefined, - SourceTableName: undefined, + NewTableName: undefined, Status: undefined, + SourceSchemaName: undefined, + Message: undefined, + ProgressInMegaBytes: undefined, TableRestoreRequestId: undefined, - NewTableName: undefined, }; - if (output["TargetSchemaName"] !== undefined) { - contents.TargetSchemaName = output["TargetSchemaName"]; + if (output["SourceDatabaseName"] !== undefined) { + contents.SourceDatabaseName = output["SourceDatabaseName"]; } - if (output["TotalDataInMegaBytes"] !== undefined) { - contents.TotalDataInMegaBytes = parseInt(output["TotalDataInMegaBytes"]); + if (output["RequestTime"] !== undefined) { + contents.RequestTime = new Date(output["RequestTime"]); + } + if (output["SourceTableName"] !== undefined) { + contents.SourceTableName = output["SourceTableName"]; } if (output["TargetDatabaseName"] !== undefined) { contents.TargetDatabaseName = output["TargetDatabaseName"]; @@ -17622,36 +17625,33 @@ const deserializeAws_queryTableRestoreStatus = (output: any, context: __SerdeCon if (output["SnapshotIdentifier"] !== undefined) { contents.SnapshotIdentifier = output["SnapshotIdentifier"]; } - if (output["ClusterIdentifier"] !== undefined) { - contents.ClusterIdentifier = output["ClusterIdentifier"]; + if (output["TotalDataInMegaBytes"] !== undefined) { + contents.TotalDataInMegaBytes = parseInt(output["TotalDataInMegaBytes"]); } - if (output["RequestTime"] !== undefined) { - contents.RequestTime = new Date(output["RequestTime"]); + if (output["TargetSchemaName"] !== undefined) { + contents.TargetSchemaName = output["TargetSchemaName"]; } - if (output["ProgressInMegaBytes"] !== undefined) { - contents.ProgressInMegaBytes = parseInt(output["ProgressInMegaBytes"]); + if (output["ClusterIdentifier"] !== undefined) { + contents.ClusterIdentifier = output["ClusterIdentifier"]; } - if (output["SourceDatabaseName"] !== undefined) { - contents.SourceDatabaseName = output["SourceDatabaseName"]; + if (output["NewTableName"] !== undefined) { + contents.NewTableName = output["NewTableName"]; } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["SourceSchemaName"] !== undefined) { contents.SourceSchemaName = output["SourceSchemaName"]; } - if (output["SourceTableName"] !== undefined) { - contents.SourceTableName = output["SourceTableName"]; + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["ProgressInMegaBytes"] !== undefined) { + contents.ProgressInMegaBytes = parseInt(output["ProgressInMegaBytes"]); } if (output["TableRestoreRequestId"] !== undefined) { contents.TableRestoreRequestId = output["TableRestoreRequestId"]; } - if (output["NewTableName"] !== undefined) { - contents.NewTableName = output["NewTableName"]; - } return contents; }; @@ -17664,9 +17664,12 @@ const deserializeAws_queryTableRestoreStatusMessage = ( context: __SerdeContext ): TableRestoreStatusMessage => { let contents: any = { - TableRestoreStatusDetails: undefined, Marker: undefined, + TableRestoreStatusDetails: undefined, }; + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } if (output.TableRestoreStatusDetails === "") { contents.TableRestoreStatusDetails = []; } @@ -17679,41 +17682,38 @@ const deserializeAws_queryTableRestoreStatusMessage = ( context ); } - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } return contents; }; const deserializeAws_queryTag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Value: undefined, Key: undefined, + Value: undefined, }; - if (output["Value"] !== undefined) { - contents.Value = output["Value"]; - } if (output["Key"] !== undefined) { contents.Key = output["Key"]; } + if (output["Value"] !== undefined) { + contents.Value = output["Value"]; + } return contents; }; 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; }; @@ -17764,12 +17764,9 @@ const deserializeAws_queryTrackList = (output: any, context: __SerdeContext): Ma const deserializeAws_queryTrackListMessage = (output: any, context: __SerdeContext): TrackListMessage => { let contents: any = { - Marker: undefined, MaintenanceTracks: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.MaintenanceTracks === "") { contents.MaintenanceTracks = []; } @@ -17779,6 +17776,9 @@ const deserializeAws_queryTrackListMessage = (output: any, context: __SerdeConte context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -17830,16 +17830,16 @@ const deserializeAws_queryUnsupportedOptionFault = (output: any, context: __Serd const deserializeAws_queryUpdateTarget = (output: any, context: __SerdeContext): UpdateTarget => { let contents: any = { - MaintenanceTrackName: undefined, DatabaseVersion: undefined, + MaintenanceTrackName: undefined, SupportedOperations: undefined, }; - if (output["MaintenanceTrackName"] !== undefined) { - contents.MaintenanceTrackName = output["MaintenanceTrackName"]; - } if (output["DatabaseVersion"] !== undefined) { contents.DatabaseVersion = output["DatabaseVersion"]; } + if (output["MaintenanceTrackName"] !== undefined) { + contents.MaintenanceTrackName = output["MaintenanceTrackName"]; + } if (output.SupportedOperations === "") { contents.SupportedOperations = []; } @@ -17858,41 +17858,41 @@ const deserializeAws_queryUpdateTarget = (output: any, context: __SerdeContext): const deserializeAws_queryUsageLimit = (output: any, context: __SerdeContext): UsageLimit => { let contents: any = { ClusterIdentifier: undefined, - FeatureType: undefined, Tags: undefined, - LimitType: undefined, - BreachAction: undefined, - Period: undefined, UsageLimitId: undefined, + FeatureType: undefined, + BreachAction: undefined, + LimitType: undefined, Amount: undefined, + Period: undefined, }; if (output["ClusterIdentifier"] !== undefined) { contents.ClusterIdentifier = output["ClusterIdentifier"]; } - if (output["FeatureType"] !== undefined) { - contents.FeatureType = output["FeatureType"]; - } if (output.Tags === "") { contents.Tags = []; } if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { contents.Tags = deserializeAws_queryTagList(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); } - if (output["LimitType"] !== undefined) { - contents.LimitType = output["LimitType"]; + if (output["UsageLimitId"] !== undefined) { + contents.UsageLimitId = output["UsageLimitId"]; + } + if (output["FeatureType"] !== undefined) { + contents.FeatureType = output["FeatureType"]; } if (output["BreachAction"] !== undefined) { contents.BreachAction = output["BreachAction"]; } - if (output["Period"] !== undefined) { - contents.Period = output["Period"]; - } - if (output["UsageLimitId"] !== undefined) { - contents.UsageLimitId = output["UsageLimitId"]; + if (output["LimitType"] !== undefined) { + contents.LimitType = output["LimitType"]; } if (output["Amount"] !== undefined) { contents.Amount = parseInt(output["Amount"]); } + if (output["Period"] !== undefined) { + contents.Period = output["Period"]; + } return contents; }; @@ -17911,12 +17911,9 @@ const deserializeAws_queryUsageLimitAlreadyExistsFault = ( const deserializeAws_queryUsageLimitList = (output: any, context: __SerdeContext): UsageLimitList => { let contents: any = { - Marker: undefined, UsageLimits: undefined, + Marker: undefined, }; - if (output["Marker"] !== undefined) { - contents.Marker = output["Marker"]; - } if (output.UsageLimits === "") { contents.UsageLimits = []; } @@ -17926,6 +17923,9 @@ const deserializeAws_queryUsageLimitList = (output: any, context: __SerdeContext context ); } + if (output["Marker"] !== undefined) { + contents.Marker = output["Marker"]; + } return contents; }; @@ -17948,15 +17948,15 @@ const deserializeAws_queryVpcSecurityGroupMembership = ( context: __SerdeContext ): VpcSecurityGroupMembership => { let contents: any = { - VpcSecurityGroupId: undefined, Status: undefined, + VpcSecurityGroupId: undefined, }; - if (output["VpcSecurityGroupId"] !== undefined) { - contents.VpcSecurityGroupId = output["VpcSecurityGroupId"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["VpcSecurityGroupId"] !== undefined) { + contents.VpcSecurityGroupId = output["VpcSecurityGroupId"]; + } return contents; }; diff --git a/clients/client-rekognition/Rekognition.ts b/clients/client-rekognition/Rekognition.ts index 99967d782a79..d84cd9cb51f2 100644 --- a/clients/client-rekognition/Rekognition.ts +++ b/clients/client-rekognition/Rekognition.ts @@ -81,6 +81,11 @@ import { DetectModerationLabelsCommandInput, DetectModerationLabelsCommandOutput, } from "./commands/DetectModerationLabelsCommand"; +import { + DetectProtectiveEquipmentCommand, + DetectProtectiveEquipmentCommandInput, + DetectProtectiveEquipmentCommandOutput, +} from "./commands/DetectProtectiveEquipmentCommand"; import { DetectTextCommand, DetectTextCommandInput, DetectTextCommandOutput } from "./commands/DetectTextCommand"; import { GetCelebrityInfoCommand, @@ -254,11 +259,7 @@ export class Rekognition extends RekognitionClient { * variety of common use cases. Use QualityFilter to set the quality bar * by specifying LOW, MEDIUM, or HIGH. * If you do not want to filter detected faces, specify NONE. The default value is NONE.

                            - * - *

                            To use quality filtering, you need a collection associated with version 3 of the - * face model or higher. To get the version of the face model associated with a collection, call - * DescribeCollection.

                            - *
                            + * *

                            If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the * source and target images. Use these values to display the images with the correct image orientation.

                            *

                            If no faces are detected in the source or target images, CompareFaces returns an @@ -1024,6 +1025,77 @@ export class Rekognition extends RekognitionClient { } } + /** + *

                            Detects Personal Protective Equipment (PPE) worn by people detected in an image. Amazon Rekognition can detect the + * following types of PPE.

                            + *
                              + *
                            • + *

                              Face cover

                              + *
                            • + *
                            • + *

                              Hand cover

                              + *
                            • + *
                            • + *

                              Head cover

                              + *
                            • + *
                            + * + *

                            You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. + * The image must be either a PNG or JPG formatted file.

                            + * + *

                            + * DetectProtectiveEquipment detects PPE worn by up to 15 persons detected in an image.

                            + *

                            For each person detected in the image the API returns an array of body parts (face, head, left-hand, right-hand). + * For each body part, an array of detected items of PPE is returned, including an indicator of whether or not the PPE + * covers the body part. The API returns the confidence it has in each detection + * (person, PPE, body part and body part coverage). It also returns a bounding box (BoundingBox) for each detected + * person and each detected item of PPE.

                            + *

                            You can optionally request a summary of detected PPE items with the SummarizationAttributes input parameter. + * The summary provides the following information.

                            + *
                              + *
                            • + *

                              The persons detected as wearing all of the types of PPE that you specify.

                              + *
                            • + *
                            • + *

                              The persons detected as not wearing all of the types PPE that you specify.

                              + *
                            • + *
                            • + *

                              The persons detected where PPE adornment could not be determined.

                              + *
                            • + *
                            + *

                            This is a stateless API operation. That is, the operation does not persist any data.

                            + * + *

                            This operation requires permissions to perform the rekognition:DetectProtectiveEquipment action.

                            + */ + public detectProtectiveEquipment( + args: DetectProtectiveEquipmentCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public detectProtectiveEquipment( + args: DetectProtectiveEquipmentCommandInput, + cb: (err: any, data?: DetectProtectiveEquipmentCommandOutput) => void + ): void; + public detectProtectiveEquipment( + args: DetectProtectiveEquipmentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DetectProtectiveEquipmentCommandOutput) => void + ): void; + public detectProtectiveEquipment( + args: DetectProtectiveEquipmentCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DetectProtectiveEquipmentCommandOutput) => void), + cb?: (err: any, data?: DetectProtectiveEquipmentCommandOutput) => void + ): Promise | void { + const command = new DetectProtectiveEquipmentCommand(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); + } + } + /** *

                            Detects text in the input image and converts it into machine-readable text.

                            *

                            Pass the input image as base64-encoded image bytes or as a reference to an image in an @@ -1793,10 +1865,10 @@ export class Rekognition extends RekognitionClient { *

                            Returns an array of celebrities recognized in the input image. For more information, see Recognizing Celebrities * in the Amazon Rekognition Developer Guide.

                            *

                            - * RecognizeCelebrities returns the 100 largest faces in the image. It lists + * RecognizeCelebrities returns the 64 largest faces in the image. It lists * recognized celebrities in the CelebrityFaces array and unrecognized faces in the * UnrecognizedFaces array. RecognizeCelebrities doesn't return - * celebrities whose faces aren't among the largest 100 faces in the image.

                            + * celebrities whose faces aren't among the largest 64 faces in the image.

                            * *

                            For each celebrity recognized, RecognizeCelebrities returns a * Celebrity object. The Celebrity object contains the celebrity diff --git a/clients/client-rekognition/RekognitionClient.ts b/clients/client-rekognition/RekognitionClient.ts index 12e848179f73..bbc06092b86b 100644 --- a/clients/client-rekognition/RekognitionClient.ts +++ b/clients/client-rekognition/RekognitionClient.ts @@ -37,6 +37,10 @@ import { DetectModerationLabelsCommandInput, DetectModerationLabelsCommandOutput, } from "./commands/DetectModerationLabelsCommand"; +import { + DetectProtectiveEquipmentCommandInput, + DetectProtectiveEquipmentCommandOutput, +} from "./commands/DetectProtectiveEquipmentCommand"; import { DetectTextCommandInput, DetectTextCommandOutput } from "./commands/DetectTextCommand"; import { GetCelebrityInfoCommandInput, GetCelebrityInfoCommandOutput } from "./commands/GetCelebrityInfoCommand"; import { @@ -173,6 +177,7 @@ export type ServiceInputTypes = | DetectFacesCommandInput | DetectLabelsCommandInput | DetectModerationLabelsCommandInput + | DetectProtectiveEquipmentCommandInput | DetectTextCommandInput | GetCelebrityInfoCommandInput | GetCelebrityRecognitionCommandInput @@ -222,6 +227,7 @@ export type ServiceOutputTypes = | DetectFacesCommandOutput | DetectLabelsCommandOutput | DetectModerationLabelsCommandOutput + | DetectProtectiveEquipmentCommandOutput | DetectTextCommandOutput | GetCelebrityInfoCommandOutput | GetCelebrityRecognitionCommandOutput diff --git a/clients/client-rekognition/commands/DetectProtectiveEquipmentCommand.ts b/clients/client-rekognition/commands/DetectProtectiveEquipmentCommand.ts new file mode 100644 index 000000000000..22278dc7fa24 --- /dev/null +++ b/clients/client-rekognition/commands/DetectProtectiveEquipmentCommand.ts @@ -0,0 +1,73 @@ +import { RekognitionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RekognitionClient"; +import { DetectProtectiveEquipmentRequest, DetectProtectiveEquipmentResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DetectProtectiveEquipmentCommand, + serializeAws_json1_1DetectProtectiveEquipmentCommand, +} 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 DetectProtectiveEquipmentCommandInput = DetectProtectiveEquipmentRequest; +export type DetectProtectiveEquipmentCommandOutput = DetectProtectiveEquipmentResponse & __MetadataBearer; + +export class DetectProtectiveEquipmentCommand extends $Command< + DetectProtectiveEquipmentCommandInput, + DetectProtectiveEquipmentCommandOutput, + RekognitionClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DetectProtectiveEquipmentCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RekognitionClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DetectProtectiveEquipmentRequest.filterSensitiveLog, + outputFilterSensitiveLog: DetectProtectiveEquipmentResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DetectProtectiveEquipmentCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DetectProtectiveEquipmentCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DetectProtectiveEquipmentCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-rekognition/index.ts b/clients/client-rekognition/index.ts index 77661f05f237..0b99c1b08508 100644 --- a/clients/client-rekognition/index.ts +++ b/clients/client-rekognition/index.ts @@ -20,6 +20,7 @@ export * from "./commands/DetectCustomLabelsCommand"; export * from "./commands/DetectFacesCommand"; export * from "./commands/DetectLabelsCommand"; export * from "./commands/DetectModerationLabelsCommand"; +export * from "./commands/DetectProtectiveEquipmentCommand"; export * from "./commands/DetectTextCommand"; export * from "./commands/GetCelebrityInfoCommand"; export * from "./commands/GetCelebrityRecognitionCommand"; diff --git a/clients/client-rekognition/models/models_0.ts b/clients/client-rekognition/models/models_0.ts index 383828f2632b..807ea35b93f9 100644 --- a/clients/client-rekognition/models/models_0.ts +++ b/clients/client-rekognition/models/models_0.ts @@ -34,14 +34,14 @@ export namespace AccessDeniedException { */ export interface AgeRange { /** - *

                            The highest estimated age.

                            + *

                            The lowest estimated age.

                            */ - High?: number; + Low?: number; /** - *

                            The lowest estimated age.

                            + *

                            The highest estimated age.

                            */ - Low?: number; + High?: number; } export namespace AgeRange { @@ -61,14 +61,14 @@ export namespace AgeRange { */ export interface S3Object { /** - *

                            Name of the S3 bucket.

                            + *

                            If the bucket is versioning enabled, you can specify the object version.

                            */ - Bucket?: string; + Version?: string; /** - *

                            If the bucket is versioning enabled, you can specify the object version.

                            + *

                            Name of the S3 bucket.

                            */ - Version?: string; + Bucket?: string; /** *

                            S3 object key name.

                            @@ -83,7 +83,8 @@ export namespace S3Object { } /** - *

                            The S3 bucket that contains the Ground Truth manifest file.

                            + *

                            The S3 bucket that contains an Amazon Sagemaker Ground Truth format manifest file. + *

                            */ export interface GroundTruthManifest { /** @@ -106,12 +107,13 @@ export namespace GroundTruthManifest { /** *

                            Assets are the images that you use to train and evaluate a model version. - * Assets are referenced by Sagemaker GroundTruth manifest files. - *

                            + * Assets can also contain validation information that you use to debug a failed model training. + *

                            */ export interface Asset { /** - *

                            The S3 bucket that contains the Ground Truth manifest file.

                            + *

                            The S3 bucket that contains an Amazon Sagemaker Ground Truth format manifest file. + *

                            */ GroundTruthManifest?: GroundTruthManifest; } @@ -133,14 +135,14 @@ export enum Attribute { */ export interface AudioMetadata { /** - *

                            The number of audio channels in the segement.

                            + *

                            The duration of the audio stream in milliseconds.

                            */ - NumberOfChannels?: number; + DurationMillis?: number; /** - *

                            The duration of the audio stream in milliseconds.

                            + *

                            The sample rate for the audio stream.

                            */ - DurationMillis?: number; + SampleRate?: number; /** *

                            The audio codec used to encode or decode the audio stream.

                            @@ -148,9 +150,9 @@ export interface AudioMetadata { Codec?: string; /** - *

                            The sample rate for the audio stream.

                            + *

                            The number of audio channels in the segment.

                            */ - SampleRate?: number; + NumberOfChannels?: number; } export namespace AudioMetadata { @@ -165,14 +167,14 @@ export namespace AudioMetadata { */ export interface Beard { /** - *

                            Boolean value that indicates whether the face has beard or not.

                            + *

                            Level of confidence in the determination.

                            */ - Value?: boolean; + Confidence?: number; /** - *

                            Level of confidence in the determination.

                            + *

                            Boolean value that indicates whether the face has beard or not.

                            */ - Confidence?: number; + Value?: boolean; } export namespace Beard { @@ -181,9 +183,16 @@ export namespace Beard { }); } +export enum BodyPart { + FACE = "FACE", + HEAD = "HEAD", + LEFT_HAND = "LEFT_HAND", + RIGHT_HAND = "RIGHT_HAND", +} + /** - *

                            Identifies the bounding box around the label, face, or text. The left - * (x-coordinate) and top (y-coordinate) are coordinates representing the top and + *

                            Identifies the bounding box around the label, face, text or personal protective equipment. + * The left (x-coordinate) and top (y-coordinate) are coordinates representing the top and * left sides of the bounding box. Note that the upper-left corner of the image is the origin * (0,0).

                            *

                            The top and left values returned are ratios of the overall @@ -202,6 +211,16 @@ export namespace Beard { * */ export interface BoundingBox { + /** + *

                            Left coordinate of the bounding box as a ratio of overall image width.

                            + */ + Left?: number; + + /** + *

                            Top coordinate of the bounding box as a ratio of overall image height.

                            + */ + Top?: number; + /** *

                            Width of the bounding box as a ratio of the overall image width.

                            */ @@ -211,20 +230,100 @@ export interface BoundingBox { *

                            Height of the bounding box as a ratio of the overall image height.

                            */ Height?: number; +} + +export namespace BoundingBox { + export const filterSensitiveLog = (obj: BoundingBox): any => ({ + ...obj, + }); +} +/** + *

                            Information about an item of Personal Protective Equipment covering a corresponding body part. For more + * information, see DetectProtectiveEquipment.

                            + */ +export interface CoversBodyPart { /** - *

                            Left coordinate of the bounding box as a ratio of overall image width.

                            + *

                            The confidence that Amazon Rekognition has in the value of Value.

                            */ - Left?: number; + Confidence?: number; /** - *

                            Top coordinate of the bounding box as a ratio of overall image height.

                            + *

                            True if the PPE covers the corresponding body part, otherwise false.

                            */ - Top?: number; + Value?: boolean; } -export namespace BoundingBox { - export const filterSensitiveLog = (obj: BoundingBox): any => ({ +export namespace CoversBodyPart { + export const filterSensitiveLog = (obj: CoversBodyPart): any => ({ + ...obj, + }); +} + +export enum ProtectiveEquipmentType { + FACE_COVER = "FACE_COVER", + HAND_COVER = "HAND_COVER", + HEAD_COVER = "HEAD_COVER", +} + +/** + *

                            Information about an item of Personal Protective Equipment (PPE) detected by + * DetectProtectiveEquipment. For more + * information, see DetectProtectiveEquipment.

                            + */ +export interface EquipmentDetection { + /** + *

                            A bounding box surrounding the item of detected PPE.

                            + */ + BoundingBox?: BoundingBox; + + /** + *

                            The confidence that Amazon Rekognition has that the bounding box (BoundingBox) contains an item of PPE.

                            + */ + Confidence?: number; + + /** + *

                            Information about the body part covered by the detected PPE.

                            + */ + CoversBodyPart?: CoversBodyPart; + + /** + *

                            The type of detected PPE.

                            + */ + Type?: ProtectiveEquipmentType | string; +} + +export namespace EquipmentDetection { + export const filterSensitiveLog = (obj: EquipmentDetection): any => ({ + ...obj, + }); +} + +/** + *

                            Information about a body part detected by DetectProtectiveEquipment that contains PPE. + * An array of ProtectiveEquipmentBodyPart objects is returned for each person detected by + * DetectProtectiveEquipment.

                            + */ +export interface ProtectiveEquipmentBodyPart { + /** + *

                            The detected body part.

                            + */ + Name?: BodyPart | string; + + /** + *

                            An array of Personal Protective Equipment items detected around a body part.

                            + */ + EquipmentDetections?: EquipmentDetection[]; + + /** + *

                            The confidence that Amazon Rekognition has in the detection accuracy of the detected body part. + *

                            + */ + Confidence?: number; +} + +export namespace ProtectiveEquipmentBodyPart { + export const filterSensitiveLog = (obj: ProtectiveEquipmentBodyPart): any => ({ ...obj, }); } @@ -272,18 +371,18 @@ export interface Landmark { Type?: LandmarkType | string; /** - *

                            The y-coordinate from the top left of the landmark expressed as the ratio of the height - * of the image. For example, if the image is 700 x 200 and the y-coordinate of the landmark is - * at 100 pixels, this value is 0.5.

                            + *

                            The x-coordinate of the landmark expressed as a ratio of the width of the image. + * The x-coordinate is measured from the left-side of the image. + * For example, if the image is 700 pixels wide and the x-coordinate of the landmark is at 350 pixels, this value is 0.5.

                            */ - Y?: number; + X?: number; /** - *

                            The x-coordinate from the top left of the landmark expressed as the ratio of the width - * of the image. For example, if the image is 700 x 200 and the x-coordinate of the landmark is - * at 350 pixels, this value is 0.5.

                            + *

                            The y-coordinate of the landmark expressed as a ratio of the height of the image. + * The y-coordinate is measured from the top of the image. + * For example, if the image height is 200 pixels and the y-coordinate of the landmark is at 50 pixels, this value is 0.25.

                            */ - X?: number; + Y?: number; } export namespace Landmark { @@ -322,17 +421,17 @@ export namespace Pose { *

                            Identifies face image brightness and sharpness.

                            */ export interface ImageQuality { - /** - *

                            Value representing sharpness of the face. The service returns a value between 0 and 100 - * (inclusive). A higher value indicates a sharper face image.

                            - */ - Sharpness?: number; - /** *

                            Value representing brightness of the face. The service returns a value between 0 and * 100 (inclusive). A higher value indicates a brighter face image.

                            */ Brightness?: number; + + /** + *

                            Value representing sharpness of the face. The service returns a value between 0 and 100 + * (inclusive). A higher value indicates a sharper face image.

                            + */ + Sharpness?: number; } export namespace ImageQuality { @@ -347,14 +446,14 @@ export namespace ImageQuality { */ export interface ComparedFace { /** - *

                            An array of facial landmarks.

                            + *

                            Level of confidence that what the bounding box contains is a face.

                            */ - Landmarks?: Landmark[]; + Confidence?: number; /** - *

                            Bounding box of the face.

                            + *

                            An array of facial landmarks.

                            */ - BoundingBox?: BoundingBox; + Landmarks?: Landmark[]; /** *

                            Identifies face image brightness and sharpness.

                            @@ -362,14 +461,14 @@ export interface ComparedFace { Quality?: ImageQuality; /** - *

                            Level of confidence that what the bounding box contains is a face.

                            + *

                            Indicates the pose of the face as determined by its pitch, roll, and yaw.

                            */ - Confidence?: number; + Pose?: Pose; /** - *

                            Indicates the pose of the face as determined by its pitch, roll, and yaw.

                            + *

                            Bounding box of the face.

                            */ - Pose?: Pose; + BoundingBox?: BoundingBox; } export namespace ComparedFace { @@ -383,32 +482,32 @@ export namespace ComparedFace { */ export interface Celebrity { /** - *

                            A unique identifier for the celebrity.

                            + *

                            An array of URLs pointing to additional information about the celebrity. If there is no + * additional information about the celebrity, this list is empty.

                            */ - Id?: string; + Urls?: string[]; /** - *

                            The confidence, in percentage, that Amazon Rekognition has that the recognized face is the - * celebrity.

                            + *

                            Provides information about the celebrity's face, such as its location on the + * image.

                            */ - MatchConfidence?: number; + Face?: ComparedFace; /** - *

                            The name of the celebrity.

                            + *

                            A unique identifier for the celebrity.

                            */ - Name?: string; + Id?: string; /** - *

                            An array of URLs pointing to additional information about the celebrity. If there is no - * additional information about the celebrity, this list is empty.

                            + *

                            The name of the celebrity.

                            */ - Urls?: string[]; + Name?: string; /** - *

                            Provides information about the celebrity's face, such as its location on the - * image.

                            + *

                            The confidence, in percentage, that Amazon Rekognition has that the recognized face is the + * celebrity.

                            */ - Face?: ComparedFace; + MatchConfidence?: number; } export namespace Celebrity { @@ -436,14 +535,14 @@ export type EmotionName = */ export interface Emotion { /** - *

                            Type of emotion detected.

                            + *

                            Level of confidence in the determination.

                            */ - Type?: EmotionName | string; + Confidence?: number; /** - *

                            Level of confidence in the determination.

                            + *

                            Type of emotion detected.

                            */ - Confidence?: number; + Type?: EmotionName | string; } export namespace Emotion { @@ -458,14 +557,14 @@ export namespace Emotion { */ export interface Eyeglasses { /** - *

                            Level of confidence in the determination.

                            + *

                            Boolean value that indicates whether the face is wearing eye glasses or not.

                            */ - Confidence?: number; + Value?: boolean; /** - *

                            Boolean value that indicates whether the face is wearing eye glasses or not.

                            + *

                            Level of confidence in the determination.

                            */ - Value?: boolean; + Confidence?: number; } export namespace Eyeglasses { @@ -480,14 +579,14 @@ export namespace Eyeglasses { */ export interface EyeOpen { /** - *

                            Level of confidence in the determination.

                            + *

                            Boolean value that indicates whether the eyes on the face are open.

                            */ - Confidence?: number; + Value?: boolean; /** - *

                            Boolean value that indicates whether the eyes on the face are open.

                            + *

                            Level of confidence in the determination.

                            */ - Value?: boolean; + Confidence?: number; } export namespace EyeOpen { @@ -518,14 +617,14 @@ export enum GenderType { */ export interface Gender { /** - *

                            Level of confidence in the prediction.

                            + *

                            The predicted gender of the face.

                            */ - Confidence?: number; + Value?: GenderType | string; /** - *

                            The predicted gender of the face.

                            + *

                            Level of confidence in the prediction.

                            */ - Value?: GenderType | string; + Confidence?: number; } export namespace Gender { @@ -540,14 +639,14 @@ export namespace Gender { */ export interface MouthOpen { /** - *

                            Boolean value that indicates whether the mouth on the face is open or not.

                            + *

                            Level of confidence in the determination.

                            */ - Value?: boolean; + Confidence?: number; /** - *

                            Level of confidence in the determination.

                            + *

                            Boolean value that indicates whether the mouth on the face is open or not.

                            */ - Confidence?: number; + Value?: boolean; } export namespace MouthOpen { @@ -562,14 +661,14 @@ export namespace MouthOpen { */ export interface Mustache { /** - *

                            Boolean value that indicates whether the face has mustache or not.

                            + *

                            Level of confidence in the determination.

                            */ - Value?: boolean; + Confidence?: number; /** - *

                            Level of confidence in the determination.

                            + *

                            Boolean value that indicates whether the face has mustache or not.

                            */ - Confidence?: number; + Value?: boolean; } export namespace Mustache { @@ -584,14 +683,14 @@ export namespace Mustache { */ export interface Smile { /** - *

                            Boolean value that indicates whether the face is smiling or not.

                            + *

                            Level of confidence in the determination.

                            */ - Value?: boolean; + Confidence?: number; /** - *

                            Level of confidence in the determination.

                            + *

                            Boolean value that indicates whether the face is smiling or not.

                            */ - Confidence?: number; + Value?: boolean; } export namespace Smile { @@ -606,14 +705,14 @@ export namespace Smile { */ export interface Sunglasses { /** - *

                            Level of confidence in the determination.

                            + *

                            Boolean value that indicates whether the face is wearing sunglasses or not.

                            */ - Confidence?: number; + Value?: boolean; /** - *

                            Boolean value that indicates whether the face is wearing sunglasses or not.

                            + *

                            Level of confidence in the determination.

                            */ - Value?: boolean; + Confidence?: number; } export namespace Sunglasses { @@ -649,92 +748,92 @@ export namespace Sunglasses { */ export interface FaceDetail { /** - *

                            Indicates whether or not the mouth on the face is open, and the confidence level in the + *

                            Indicates whether or not the eyes on the face are open, and the confidence level in the * determination.

                            */ - MouthOpen?: MouthOpen; + EyesOpen?: EyeOpen; /** - *

                            Indicates whether or not the face is wearing sunglasses, and the confidence level in - * the determination.

                            + *

                            Identifies image brightness and sharpness. Default attribute.

                            */ - Sunglasses?: Sunglasses; + Quality?: ImageQuality; /** - *

                            Indicates whether or not the eyes on the face are open, and the confidence level in the + *

                            Indicates whether or not the mouth on the face is open, and the confidence level in the * determination.

                            */ - EyesOpen?: EyeOpen; + MouthOpen?: MouthOpen; /** - *

                            The predicted gender of a detected face. - *

                            + *

                            Bounding box of the face. Default attribute.

                            */ - Gender?: Gender; + BoundingBox?: BoundingBox; /** - *

                            Indicates whether or not the face has a mustache, and the confidence level in the - * determination.

                            + *

                            Indicates the pose of the face as determined by its pitch, roll, and yaw. Default attribute.

                            */ - Mustache?: Mustache; + Pose?: Pose; /** - *

                            Identifies image brightness and sharpness. Default attribute.

                            + *

                            Indicates the location of landmarks on the face. Default attribute.

                            */ - Quality?: ImageQuality; + Landmarks?: Landmark[]; /** - *

                            Indicates whether or not the face is wearing eye glasses, and the confidence level in - * the determination.

                            + *

                            The emotions that appear to be expressed on the face, and the confidence level in the determination. + * The API is only making a determination of the physical appearance of a person's face. It is not a determination + * of the person’s internal emotional state and should not be used in such a way. For example, a person pretending to have + * a sad face might not be sad emotionally.

                            */ - Eyeglasses?: Eyeglasses; + Emotions?: Emotion[]; /** - *

                            Confidence level that the bounding box contains a face (and not a different object such - * as a tree). Default attribute.

                            + *

                            Indicates whether or not the face has a beard, and the confidence level in the + * determination.

                            */ - Confidence?: number; + Beard?: Beard; /** - *

                            Indicates whether or not the face is smiling, and the confidence level in the - * determination.

                            + *

                            The estimated age range, in years, for the face. Low represents the lowest estimated + * age and High represents the highest estimated age.

                            */ - Smile?: Smile; + AgeRange?: AgeRange; /** - *

                            Indicates whether or not the face has a beard, and the confidence level in the - * determination.

                            + *

                            Indicates whether or not the face is wearing sunglasses, and the confidence level in + * the determination.

                            */ - Beard?: Beard; + Sunglasses?: Sunglasses; /** - *

                            The emotions that appear to be expressed on the face, and the confidence level in the determination. - * The API is only making a determination of the physical appearance of a person's face. It is not a determination - * of the person’s internal emotional state and should not be used in such a way. For example, a person pretending to have - * a sad face might not be sad emotionally.

                            + *

                            Indicates whether or not the face has a mustache, and the confidence level in the + * determination.

                            */ - Emotions?: Emotion[]; + Mustache?: Mustache; /** - *

                            Bounding box of the face. Default attribute.

                            + *

                            Confidence level that the bounding box contains a face (and not a different object such + * as a tree). Default attribute.

                            */ - BoundingBox?: BoundingBox; + Confidence?: number; /** - *

                            Indicates the location of landmarks on the face. Default attribute.

                            + *

                            The predicted gender of a detected face. + *

                            */ - Landmarks?: Landmark[]; + Gender?: Gender; /** - *

                            The estimated age range, in years, for the face. Low represents the lowest estimated - * age and High represents the highest estimated age.

                            + *

                            Indicates whether or not the face is wearing eye glasses, and the confidence level in + * the determination.

                            */ - AgeRange?: AgeRange; + Eyeglasses?: Eyeglasses; /** - *

                            Indicates the pose of the face as determined by its pitch, roll, and yaw. Default attribute.

                            + *

                            Indicates whether or not the face is smiling, and the confidence level in the + * determination.

                            */ - Pose?: Pose; + Smile?: Smile; } export namespace FaceDetail { @@ -748,19 +847,19 @@ export namespace FaceDetail { */ export interface CelebrityDetail { /** - *

                            Bounding box around the body of a celebrity.

                            + *

                            The unique identifier for the celebrity.

                            */ - BoundingBox?: BoundingBox; + Id?: string; /** - *

                            The name of the celebrity.

                            + *

                            The confidence, in percentage, that Amazon Rekognition has that the recognized face is the celebrity.

                            */ - Name?: string; + Confidence?: number; /** - *

                            The confidence, in percentage, that Amazon Rekognition has that the recognized face is the celebrity.

                            + *

                            Face details for the recognized celebrity.

                            */ - Confidence?: number; + Face?: FaceDetail; /** *

                            An array of URLs pointing to additional celebrity information.

                            @@ -768,14 +867,14 @@ export interface CelebrityDetail { Urls?: string[]; /** - *

                            Face details for the recognized celebrity.

                            + *

                            The name of the celebrity.

                            */ - Face?: FaceDetail; + Name?: string; /** - *

                            The unique identifier for the celebrity.

                            + *

                            Bounding box around the body of a celebrity.

                            */ - Id?: string; + BoundingBox?: BoundingBox; } export namespace CelebrityDetail { @@ -819,14 +918,14 @@ export enum CelebrityRecognitionSortBy { */ export interface ComparedSourceImageFace { /** - *

                            Confidence level that the selected bounding box contains a face.

                            + *

                            Bounding box of the face.

                            */ - Confidence?: number; + BoundingBox?: BoundingBox; /** - *

                            Bounding box of the face.

                            + *

                            Confidence level that the selected bounding box contains a face.

                            */ - BoundingBox?: BoundingBox; + Confidence?: number; } export namespace ComparedSourceImageFace { @@ -887,16 +986,6 @@ export namespace Image { } export interface CompareFacesRequest { - /** - *

                            The input image as base64-encoded bytes or an S3 object. - * If you use the AWS CLI to call Amazon Rekognition operations, - * passing base64-encoded image bytes is not supported.

                            - *

                            If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes - * passed using the Bytes field. - * For more information, see Images in the Amazon Rekognition developer guide.

                            - */ - SourceImage: Image | undefined; - /** *

                            A filter that specifies a quality bar for how much filtering is done to identify faces. * Filtered faces aren't compared. If you specify AUTO, Amazon Rekognition chooses the quality bar. @@ -914,6 +1003,16 @@ export interface CompareFacesRequest { */ QualityFilter?: QualityFilter | string; + /** + *

                            The input image as base64-encoded bytes or an S3 object. + * If you use the AWS CLI to call Amazon Rekognition operations, + * passing base64-encoded image bytes is not supported.

                            + *

                            If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes + * passed using the Bytes field. + * For more information, see Images in the Amazon Rekognition developer guide.

                            + */ + SourceImage: Image | undefined; + /** *

                            The target image as base64-encoded bytes or an S3 object. If you use the AWS CLI to * call Amazon Rekognition operations, passing base64-encoded image bytes is not supported. @@ -944,16 +1043,16 @@ export namespace CompareFacesRequest { * that the source image face matches the face in the bounding box.

                            */ export interface CompareFacesMatch { - /** - *

                            Level of confidence that the faces match.

                            - */ - Similarity?: number; - /** *

                            Provides face metadata (bounding box and confidence that the bounding box actually * contains a face).

                            */ Face?: ComparedFace; + + /** + *

                            Level of confidence that the faces match.

                            + */ + Similarity?: number; } export namespace CompareFacesMatch { @@ -984,19 +1083,6 @@ export interface CompareFacesResponse { */ TargetImageOrientationCorrection?: OrientationCorrection | string; - /** - *

                            The face in the source image that was used for comparison.

                            - */ - SourceImageFace?: ComparedSourceImageFace; - - /** - *

                            An array of faces in the target image that match the source image face. Each - * CompareFacesMatch object provides the bounding box, the confidence level that - * the bounding box contains a face, and the similarity score for the face in the bounding box - * and the face in the source image.

                            - */ - FaceMatches?: CompareFacesMatch[]; - /** *

                            An array of faces in the target image that did not match the source image * face.

                            @@ -1016,6 +1102,19 @@ export interface CompareFacesResponse { *

                            */ SourceImageOrientationCorrection?: OrientationCorrection | string; + + /** + *

                            The face in the source image that was used for comparison.

                            + */ + SourceImageFace?: ComparedSourceImageFace; + + /** + *

                            An array of faces in the target image that match the source image face. Each + * CompareFacesMatch object provides the bounding box, the confidence level that + * the bounding box contains a face, and the similarity score for the face in the bounding box + * and the face in the source image.

                            + */ + FaceMatches?: CompareFacesMatch[]; } export namespace CompareFacesResponse { @@ -1031,13 +1130,12 @@ export namespace CompareFacesResponse { export interface ImageTooLargeException extends __SmithyException, $MetadataBearer { name: "ImageTooLargeException"; $fault: "client"; + Message?: string; + Code?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; - - Code?: string; - Message?: string; } export namespace ImageTooLargeException { @@ -1095,11 +1193,12 @@ export interface InvalidParameterException extends __SmithyException, $MetadataB name: "InvalidParameterException"; $fault: "client"; Code?: string; - Message?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; + + Message?: string; } export namespace InvalidParameterException { @@ -1136,13 +1235,13 @@ export namespace InvalidS3ObjectException { export interface ProvisionedThroughputExceededException extends __SmithyException, $MetadataBearer { name: "ProvisionedThroughputExceededException"; $fault: "client"; - Code?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; Message?: string; + Code?: string; } export namespace ProvisionedThroughputExceededException { @@ -1157,13 +1256,13 @@ export namespace ProvisionedThroughputExceededException { export interface ThrottlingException extends __SmithyException, $MetadataBearer { name: "ThrottlingException"; $fault: "server"; - Message?: string; + Code?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; - Code?: string; + Message?: string; } export namespace ThrottlingException { @@ -1184,10 +1283,13 @@ export enum ContentClassifier { */ export interface ModerationLabel { /** - *

                            The name for the parent label. Labels at the top level of the hierarchy have the parent - * label "".

                            + *

                            Specifies the confidence that Amazon Rekognition has that the label has been correctly + * identified.

                            + *

                            If you don't specify the MinConfidence parameter in the call to + * DetectModerationLabels, the operation returns labels with a confidence value + * greater than or equal to 50 percent.

                            */ - ParentName?: string; + Confidence?: number; /** *

                            The label name for the type of unsafe content detected in the image.

                            @@ -1195,13 +1297,10 @@ export interface ModerationLabel { Name?: string; /** - *

                            Specifies the confidence that Amazon Rekognition has that the label has been correctly - * identified.

                            - *

                            If you don't specify the MinConfidence parameter in the call to - * DetectModerationLabels, the operation returns labels with a confidence value - * greater than or equal to 50 percent.

                            + *

                            The name for the parent label. Labels at the top level of the hierarchy have the parent + * label "".

                            */ - Confidence?: number; + ParentName?: string; } export namespace ModerationLabel { @@ -1215,14 +1314,14 @@ export namespace ModerationLabel { */ export interface ContentModerationDetection { /** - *

                            The unsafe content label detected by in the stored video.

                            + *

                            Time, in milliseconds from the beginning of the video, that the unsafe content label was detected.

                            */ - ModerationLabel?: ModerationLabel; + Timestamp?: number; /** - *

                            Time, in milliseconds from the beginning of the video, that the unsafe content label was detected.

                            + *

                            The unsafe content label detected by in the stored video.

                            */ - Timestamp?: number; + ModerationLabel?: ModerationLabel; } export namespace ContentModerationDetection { @@ -1250,17 +1349,17 @@ export namespace CreateCollectionRequest { } export interface CreateCollectionResponse { - /** - *

                            Version number of the face detection model associated with the collection you are creating.

                            - */ - FaceModelVersion?: string; - /** *

                            Amazon Resource Name (ARN) of the collection. You can use this to manage permissions on * your resources.

                            */ CollectionArn?: string; + /** + *

                            Version number of the face detection model associated with the collection you are creating.

                            + */ + FaceModelVersion?: string; + /** *

                            HTTP status code indicating the result of the operation.

                            */ @@ -1280,12 +1379,11 @@ export interface ResourceAlreadyExistsException extends __SmithyException, $Meta name: "ResourceAlreadyExistsException"; $fault: "client"; Code?: string; + Message?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; - - Message?: string; } export namespace ResourceAlreadyExistsException { @@ -1329,12 +1427,12 @@ export namespace CreateProjectResponse { export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; $fault: "client"; - Message?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; + Message?: string; Code?: string; } @@ -1350,12 +1448,12 @@ export namespace LimitExceededException { export interface ResourceInUseException extends __SmithyException, $MetadataBearer { name: "ResourceInUseException"; $fault: "client"; - Code?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; + Code?: string; Message?: string; } @@ -1392,14 +1490,14 @@ export namespace OutputConfig { */ export interface TestingData { /** - *

                            The assets used for testing.

                            + *

                            If specified, Amazon Rekognition Custom Labels creates a testing dataset with an 80/20 split of the training dataset.

                            */ - Assets?: Asset[]; + AutoCreate?: boolean; /** - *

                            If specified, Amazon Rekognition Custom Labels creates a testing dataset with an 80/20 split of the training dataset.

                            + *

                            The assets used for testing.

                            */ - AutoCreate?: boolean; + Assets?: Asset[]; } export namespace TestingData { @@ -1426,20 +1524,19 @@ export namespace TrainingData { export interface CreateProjectVersionRequest { /** - *

                            The Amazon S3 location to store the results of training.

                            + *

                            A name for the version of the model. This value must be unique.

                            */ - OutputConfig: OutputConfig | undefined; + VersionName: string | undefined; /** - *

                            A name for the version of the model. This value must be unique.

                            + *

                            The Amazon S3 location to store the results of training.

                            */ - VersionName: string | undefined; + OutputConfig: OutputConfig | undefined; /** - *

                            The ARN of the Amazon Rekognition Custom Labels project that - * manages the model that you want to train.

                            + *

                            The dataset to use for testing.

                            */ - ProjectArn: string | undefined; + TestingData: TestingData | undefined; /** *

                            The dataset to use for training.

                            @@ -1447,9 +1544,10 @@ export interface CreateProjectVersionRequest { TrainingData: TrainingData | undefined; /** - *

                            The dataset to use for testing.

                            + *

                            The ARN of the Amazon Rekognition Custom Labels project that + * manages the model that you want to train.

                            */ - TestingData: TestingData | undefined; + ProjectArn: string | undefined; } export namespace CreateProjectVersionRequest { @@ -1601,10 +1699,14 @@ export namespace StreamProcessorSettings { export interface CreateStreamProcessorRequest { /** - *

                            Face recognition input parameters to be used by the stream processor. Includes the collection to use for face recognition and the face - * attributes to detect.

                            + *

                            Kinesis data stream stream to which Amazon Rekognition Video puts the analysis results. If you are using the AWS CLI, the parameter name is StreamProcessorOutput.

                            */ - Settings: StreamProcessorSettings | undefined; + Output: StreamProcessorOutput | undefined; + + /** + *

                            Kinesis video stream stream that provides the source streaming video. If you are using the AWS CLI, the parameter name is StreamProcessorInput.

                            + */ + Input: StreamProcessorInput | undefined; /** *

                            An identifier you assign to the stream processor. You can use Name to @@ -1615,14 +1717,10 @@ export interface CreateStreamProcessorRequest { Name: string | undefined; /** - *

                            Kinesis data stream stream to which Amazon Rekognition Video puts the analysis results. If you are using the AWS CLI, the parameter name is StreamProcessorOutput.

                            - */ - Output: StreamProcessorOutput | undefined; - - /** - *

                            Kinesis video stream stream that provides the source streaming video. If you are using the AWS CLI, the parameter name is StreamProcessorInput.

                            + *

                            Face recognition input parameters to be used by the stream processor. Includes the collection to use for face recognition and the face + * attributes to detect.

                            */ - Input: StreamProcessorInput | undefined; + Settings: StreamProcessorSettings | undefined; /** *

                            ARN of the IAM role that allows access to the stream processor.

                            @@ -1704,6 +1802,12 @@ export namespace Geometry { *

                            A custom label detected in an image by a call to DetectCustomLabels.

                            */ export interface CustomLabel { + /** + *

                            The confidence that the model has in the detection of the custom label. The + * range is 0-100. A higher value indicates a higher confidence.

                            + */ + Confidence?: number; + /** *

                            The name of the custom label.

                            */ @@ -1715,12 +1819,6 @@ export interface CustomLabel { * for more accurate spatial information.

                            */ Geometry?: Geometry; - - /** - *

                            The confidence that the model has in the detection of the custom label. The - * range is 0-100. A higher value indicates a higher confidence.

                            - */ - Confidence?: number; } export namespace CustomLabel { @@ -1892,15 +1990,21 @@ export namespace DescribeCollectionRequest { export interface DescribeCollectionResponse { /** - *

                            The number of milliseconds since the Unix epoch time until the creation of the collection. - * The Unix epoch time is 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970.

                            + *

                            The Amazon Resource Name (ARN) of the collection.

                            + */ + CollectionARN?: string; + + /** + *

                            The number of milliseconds since the Unix epoch time until the creation of the collection. + * The Unix epoch time is 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970.

                            */ CreationTimestamp?: Date; /** - *

                            The Amazon Resource Name (ARN) of the collection.

                            + *

                            The number of faces that are indexed into the collection. To index faces into a + * collection, use IndexFaces.

                            */ - CollectionARN?: string; + FaceCount?: number; /** *

                            The version of the face model that's used by the collection for face detection.

                            @@ -1909,12 +2013,6 @@ export interface DescribeCollectionResponse { * Amazon Rekognition Developer Guide.

                            */ FaceModelVersion?: string; - - /** - *

                            The number of faces that are indexed into the collection. To index faces into a - * collection, use IndexFaces.

                            - */ - FaceCount?: number; } export namespace DescribeCollectionResponse { @@ -1949,11 +2047,6 @@ export namespace DescribeProjectsRequest { *

                            A description of a Amazon Rekognition Custom Labels project.

                            */ export interface ProjectDescription { - /** - *

                            The current status of the project.

                            - */ - Status?: ProjectStatus | string; - /** *

                            The Amazon Resource Name (ARN) of the project.

                            */ @@ -1963,6 +2056,11 @@ export interface ProjectDescription { *

                            The Unix timestamp for the date and time that the project was created.

                            */ CreationTimestamp?: Date; + + /** + *

                            The current status of the project.

                            + */ + Status?: ProjectStatus | string; } export namespace ProjectDescription { @@ -1997,13 +2095,13 @@ export namespace DescribeProjectsResponse { export interface InvalidPaginationTokenException extends __SmithyException, $MetadataBearer { name: "InvalidPaginationTokenException"; $fault: "client"; - Code?: string; + Message?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; - Message?: string; + Code?: string; } export namespace InvalidPaginationTokenException { @@ -2014,11 +2112,9 @@ export namespace InvalidPaginationTokenException { export interface DescribeProjectVersionsRequest { /** - *

                            If the previous response was incomplete (because there is more - * results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. - * You can use this pagination token to retrieve the next set of results.

                            + *

                            The Amazon Resource Name (ARN) of the project that contains the models you want to describe.

                            */ - NextToken?: string; + ProjectArn: string | undefined; /** *

                            The maximum number of results to return per paginated call. @@ -2028,9 +2124,11 @@ export interface DescribeProjectVersionsRequest { MaxResults?: number; /** - *

                            The Amazon Resource Name (ARN) of the project that contains the models you want to describe.

                            + *

                            If the previous response was incomplete (because there is more + * results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. + * You can use this pagination token to retrieve the next set of results.

                            */ - ProjectArn: string | undefined; + NextToken?: string; /** *

                            A list of model version names that you want to describe. You can add up to 10 model version names @@ -2077,6 +2175,11 @@ export namespace Summary { *

                            The evaluation results for the training of a model.

                            */ export interface EvaluationResult { + /** + *

                            The S3 bucket that contains the training summary.

                            + */ + Summary?: Summary; + /** *

                            The F1 score for the evaluation of all labels. The F1 score metric evaluates the overall precision * and recall performance of the model as a single value. A higher value indicates better precision @@ -2085,23 +2188,50 @@ export interface EvaluationResult { *

                            */ F1Score?: number; +} + +export namespace EvaluationResult { + export const filterSensitiveLog = (obj: EvaluationResult): any => ({ + ...obj, + }); +} +/** + *

                            Contains the Amazon S3 bucket location of the validation data for a model training job.

                            + * + *

                            The validation data includes error information for individual + * JSON lines in the dataset. + * For more information, see Debugging a Failed Model Training in the + * Amazon Rekognition Custom Labels Developer Guide.

                            + *

                            You get the ValidationData object for the training dataset (TrainingDataResult) + * and the test dataset (TestingDataResult) by calling DescribeProjectVersions.

                            + *

                            The assets array contains a single Asset object. + * The GroundTruthManifest field of the Asset object contains the S3 bucket location of + * the validation data. + *

                            + */ +export interface ValidationData { /** - *

                            The S3 bucket that contains the training summary.

                            + *

                            The assets that comprise the validation data.

                            */ - Summary?: Summary; + Assets?: Asset[]; } -export namespace EvaluationResult { - export const filterSensitiveLog = (obj: EvaluationResult): any => ({ +export namespace ValidationData { + export const filterSensitiveLog = (obj: ValidationData): any => ({ ...obj, }); } /** - *

                            A Sagemaker Groundtruth format manifest file representing the dataset used for testing.

                            + *

                            Sagemaker Groundtruth format manifest files for the input, output and validation datasets that are used and created during testing.

                            */ export interface TestingDataResult { + /** + *

                            The location of the data validation manifest. The data validation manifest is created for the test dataset during model training.

                            + */ + Validation?: ValidationData; + /** *

                            The testing dataset that was supplied for training.

                            */ @@ -2121,18 +2251,23 @@ export namespace TestingDataResult { } /** - *

                            A Sagemaker Groundtruth format manifest file that represents the dataset used for training.

                            + *

                            Sagemaker Groundtruth format manifest files for the input, output and validation datasets that are used and created during testing.

                            */ export interface TrainingDataResult { /** - *

                            The images (assets) that were actually trained by Amazon Rekognition Custom Labels.

                            + *

                            The training assets that you supplied for training.

                            */ - Output?: TrainingData; + Input?: TrainingData; /** - *

                            The training assets that you supplied for training.

                            + *

                            The location of the data validation manifest. The data validation manifest is created for the training dataset during model training.

                            */ - Input?: TrainingData; + Validation?: ValidationData; + + /** + *

                            The images (assets) that were actually trained by Amazon Rekognition Custom Labels.

                            + */ + Output?: TrainingData; } export namespace TrainingDataResult { @@ -2146,9 +2281,15 @@ export namespace TrainingDataResult { */ export interface ProjectVersionDescription { /** - *

                            The location where training results are saved.

                            + *

                            The location of the summary manifest. The summary manifest provides aggregate data validation results for the training + * and test datasets.

                            */ - OutputConfig?: OutputConfig; + ManifestSummary?: GroundTruthManifest; + + /** + *

                            The training results. EvaluationResult is only returned if training is successful.

                            + */ + EvaluationResult?: EvaluationResult; /** *

                            The current status of the model version.

                            @@ -2156,10 +2297,14 @@ export interface ProjectVersionDescription { Status?: ProjectVersionStatus | string; /** - *

                            The minimum number of inference units used by the model. For more information, - * see StartProjectVersion.

                            + *

                            The location where training results are saved.

                            */ - MinInferenceUnits?: number; + OutputConfig?: OutputConfig; + + /** + *

                            Contains information about the training results.

                            + */ + TrainingDataResult?: TrainingDataResult; /** *

                            The Unix date and time that training of the model ended.

                            @@ -2167,14 +2312,15 @@ export interface ProjectVersionDescription { TrainingEndTimestamp?: Date; /** - *

                            The manifest file that represents the testing results.

                            + *

                            The minimum number of inference units used by the model. For more information, + * see StartProjectVersion.

                            */ - TestingDataResult?: TestingDataResult; + MinInferenceUnits?: number; /** - *

                            The manifest file that represents the training results.

                            + *

                            Contains information about the testing results.

                            */ - TrainingDataResult?: TrainingDataResult; + TestingDataResult?: TestingDataResult; /** *

                            The Amazon Resource Name (ARN) of the model version.

                            @@ -2182,9 +2328,9 @@ export interface ProjectVersionDescription { ProjectVersionArn?: string; /** - *

                            The training results. EvaluationResult is only returned if training is successful.

                            + *

                            A descriptive message for an error or warning that occurred.

                            */ - EvaluationResult?: EvaluationResult; + StatusMessage?: string; /** *

                            The duration, in seconds, that the model version has been billed for training. @@ -2192,11 +2338,6 @@ export interface ProjectVersionDescription { */ BillableTrainingTimeInSeconds?: number; - /** - *

                            A descriptive message for an error or warning that occurred.

                            - */ - StatusMessage?: string; - /** *

                            The Unix datetime for the date and time that training started.

                            */ @@ -2252,6 +2393,16 @@ export enum StreamProcessorStatus { } export interface DescribeStreamProcessorResponse { + /** + *

                            ARN of the stream processor.

                            + */ + StreamProcessorArn?: string; + + /** + *

                            Current status of the stream processor.

                            + */ + Status?: StreamProcessorStatus | string; + /** *

                            ARN of the IAM role that allows access to the stream processor.

                            */ @@ -2263,11 +2414,6 @@ export interface DescribeStreamProcessorResponse { */ LastUpdateTimestamp?: Date; - /** - *

                            Current status of the stream processor.

                            - */ - Status?: StreamProcessorStatus | string; - /** *

                            Kinesis video stream that provides the source streaming video.

                            */ @@ -2291,19 +2437,14 @@ export interface DescribeStreamProcessorResponse { Name?: string; /** - *

                            Date and time the stream processor was created

                            - */ - CreationTimestamp?: Date; - - /** - *

                            ARN of the stream processor.

                            + *

                            Kinesis data stream to which Amazon Rekognition Video puts the analysis results.

                            */ - StreamProcessorArn?: string; + Output?: StreamProcessorOutput; /** - *

                            Kinesis data stream to which Amazon Rekognition Video puts the analysis results.

                            + *

                            Date and time the stream processor was created

                            */ - Output?: StreamProcessorOutput; + CreationTimestamp?: Date; } export namespace DescribeStreamProcessorResponse { @@ -2327,6 +2468,11 @@ export interface DetectCustomLabelsRequest { */ MaxResults?: number; + /** + *

                            The ARN of the model version that you want to use.

                            + */ + ProjectVersionArn: string | undefined; + /** *

                            Provides the input image either as bytes or an S3 object.

                            *

                            You pass image bytes to an Amazon Rekognition API operation by using the Bytes @@ -2353,11 +2499,6 @@ export interface DetectCustomLabelsRequest { *

                            */ Image: Image | undefined; - - /** - *

                            The ARN of the model version that you want to use.

                            - */ - ProjectVersionArn: string | undefined; } export namespace DetectCustomLabelsRequest { @@ -2387,13 +2528,13 @@ export namespace DetectCustomLabelsResponse { export interface ResourceNotReadyException extends __SmithyException, $MetadataBearer { name: "ResourceNotReadyException"; $fault: "client"; + Message?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; Code?: string; - Message?: string; } export namespace ResourceNotReadyException { @@ -2403,6 +2544,15 @@ export namespace ResourceNotReadyException { } export interface DetectFacesRequest { + /** + *

                            The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call + * Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

                            + *

                            If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes + * passed using the Bytes field. + * For more information, see Images in the Amazon Rekognition developer guide.

                            + */ + Image: Image | undefined; + /** *

                            An array of facial attributes you want to be returned. This can be the default list of * attributes or all attributes. If you don't specify a value for Attributes or if @@ -2414,15 +2564,6 @@ export interface DetectFacesRequest { * operator to determine which attributes to return (in this case, all attributes).

                            */ Attributes?: (Attribute | string)[]; - - /** - *

                            The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call - * Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

                            - *

                            If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes - * passed using the Bytes field. - * For more information, see Images in the Amazon Rekognition developer guide.

                            - */ - Image: Image | undefined; } export namespace DetectFacesRequest { @@ -2462,6 +2603,13 @@ export namespace DetectFacesResponse { *

                            A set of parameters that allow you to filter out certain results from your returned results.

                            */ export interface DetectionFilter { + /** + *

                            Sets confidence of word detection. Words with detection confidence below this will be excluded + * from the result. Values should be between 0.5 and 1 as Text in Video will not return any result below + * 0.5.

                            + */ + MinConfidence?: number; + /** *

                            Sets the minimum height of the word bounding box. Words with bounding box heights lesser than * this value will be excluded from the result. Value is relative to the video frame height.

                            @@ -2473,13 +2621,6 @@ export interface DetectionFilter { * this value will be excluded from the result. Value is relative to the video frame width.

                            */ MinBoundingBoxWidth?: number; - - /** - *

                            Sets confidence of word detection. Words with detection confidence below this will be excluded - * from the result. Values should be between 0.5 and 1 as Text in Video will not return any result below - * 0.5.

                            - */ - MinConfidence?: number; } export namespace DetectionFilter { @@ -2489,6 +2630,14 @@ export namespace DetectionFilter { } export interface DetectLabelsRequest { + /** + *

                            Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't + * return any labels with confidence lower than this specified value.

                            + *

                            If MinConfidence is not specified, the operation returns labels with a + * confidence values greater than or equal to 55 percent.

                            + */ + MinConfidence?: number; + /** *

                            The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call * Amazon Rekognition operations, passing image bytes is not supported. Images stored in an S3 Bucket do @@ -2499,14 +2648,6 @@ export interface DetectLabelsRequest { */ Image: Image | undefined; - /** - *

                            Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't - * return any labels with confidence lower than this specified value.

                            - *

                            If MinConfidence is not specified, the operation returns labels with a - * confidence values greater than or equal to 55 percent.

                            - */ - MinConfidence?: number; - /** *

                            Maximum number of labels you want the service to return in the response. The service * returns the specified number of highest confidence labels.

                            @@ -2565,6 +2706,11 @@ export namespace Parent { *

                            */ export interface Label { + /** + *

                            The parent labels for a label. The response includes all ancestor labels.

                            + */ + Parents?: Parent[]; + /** *

                            The name (label) of the object or scene.

                            */ @@ -2576,11 +2722,6 @@ export interface Label { */ Instances?: Instance[]; - /** - *

                            The parent labels for a label. The response includes all ancestor labels.

                            - */ - Parents?: Parent[]; - /** *

                            Level of confidence.

                            */ @@ -2594,6 +2735,11 @@ export namespace Label { } export interface DetectLabelsResponse { + /** + *

                            Version number of the label detection model that was used to detect labels.

                            + */ + LabelModelVersion?: string; + /** *

                            The value of OrientationCorrection is always null.

                            *

                            If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata @@ -2608,11 +2754,6 @@ export interface DetectLabelsResponse { */ OrientationCorrection?: OrientationCorrection | string; - /** - *

                            Version number of the label detection model that was used to detect labels.

                            - */ - LabelModelVersion?: string; - /** *

                            An array of labels for the real-world objects detected.

                            */ @@ -2708,12 +2849,6 @@ export namespace DetectModerationLabelsRequest { * not trigger human review.

                            */ export interface HumanLoopActivationOutput { - /** - *

                            Shows the result of condition evaluations, including those conditions which activated a - * human review.

                            - */ - HumanLoopActivationConditionsEvaluationResults?: __LazyJsonString | string; - /** *

                            The Amazon Resource Name (ARN) of the HumanLoop created.

                            */ @@ -2723,6 +2858,12 @@ export interface HumanLoopActivationOutput { *

                            Shows if and why human review was needed.

                            */ HumanLoopActivationReasons?: string[]; + + /** + *

                            Shows the result of condition evaluations, including those conditions which activated a + * human review.

                            + */ + HumanLoopActivationConditionsEvaluationResults?: __LazyJsonString | string; } export namespace HumanLoopActivationOutput { @@ -2733,14 +2874,14 @@ export namespace HumanLoopActivationOutput { export interface DetectModerationLabelsResponse { /** - *

                            Shows the results of the human in the loop evaluation.

                            + *

                            Version number of the moderation detection model that was used to detect unsafe content.

                            */ - HumanLoopActivationOutput?: HumanLoopActivationOutput; + ModerationModelVersion?: string; /** - *

                            Version number of the moderation detection model that was used to detect unsafe content.

                            + *

                            Shows the results of the human in the loop evaluation.

                            */ - ModerationModelVersion?: string; + HumanLoopActivationOutput?: HumanLoopActivationOutput; /** *

                            Array of detected Moderation labels and the time, in milliseconds from the @@ -2762,26 +2903,26 @@ export interface HumanLoopQuotaExceededException extends __SmithyException, $Met name: "HumanLoopQuotaExceededException"; $fault: "client"; /** - *

                            The resource type.

                            + *

                            The quota code.

                            */ - ResourceType?: string; + QuotaCode?: string; /** - *

                            The quota code.

                            + *

                            The service code.

                            */ - QuotaCode?: string; + ServiceCode?: string; - Message?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; Code?: string; + Message?: string; /** - *

                            The service code.

                            + *

                            The resource type.

                            */ - ServiceCode?: string; + ResourceType?: string; } export namespace HumanLoopQuotaExceededException { @@ -2791,15 +2932,175 @@ export namespace HumanLoopQuotaExceededException { } /** - *

                            Specifies a location within the frame that Rekognition checks for text. Uses a BoundingBox - * object to set a region of the screen.

                            - *

                            A word is included in the region if the word is more than half in that region. If there is more than - * one region, the word will be compared with all regions of the screen. Any word more than half in a region - * is kept in the results.

                            + *

                            Specifies summary attributes to return from a call to DetectProtectiveEquipment. + * You can specify which types of PPE to summarize. You can also specify a minimum confidence value for detections. + * Summary information is returned in the Summary (ProtectiveEquipmentSummary) field of the response from + * DetectProtectiveEquipment. + * The summary includes which persons in an image were detected wearing the requested types of person protective equipment (PPE), which persons + * were detected as not wearing PPE, and the persons in which a determination could not be made. For more information, + * see ProtectiveEquipmentSummary.

                            */ -export interface RegionOfInterest { - /** - *

                            The box representing a region of interest on screen.

                            +export interface ProtectiveEquipmentSummarizationAttributes { + /** + *

                            The minimum confidence level for which you want summary information. + * The confidence level applies to person detection, body part detection, equipment detection, and body part coverage. + * Amazon Rekognition doesn't return summary information with a confidence than this specified value. There isn't a + * default value.

                            + *

                            Specify a MinConfidence value that is between 50-100% as DetectProtectiveEquipment + * returns predictions only where the detection confidence is between 50% - 100%. + * If you specify a value that is less than 50%, the results are the same specifying a value of 50%.

                            + *

                            + *

                            + */ + MinConfidence: number | undefined; + + /** + *

                            An array of personal protective equipment types for which you want summary information. + * If a person is detected wearing a required requipment type, the person's ID is added to the + * PersonsWithRequiredEquipment array field returned in ProtectiveEquipmentSummary + * by DetectProtectiveEquipment.

                            + */ + RequiredEquipmentTypes: (ProtectiveEquipmentType | string)[] | undefined; +} + +export namespace ProtectiveEquipmentSummarizationAttributes { + export const filterSensitiveLog = (obj: ProtectiveEquipmentSummarizationAttributes): any => ({ + ...obj, + }); +} + +export interface DetectProtectiveEquipmentRequest { + /** + *

                            An array of PPE types that you want to summarize.

                            + */ + SummarizationAttributes?: ProtectiveEquipmentSummarizationAttributes; + + /** + *

                            The image in which you want to detect PPE on detected persons. The image can be passed as image bytes or you can + * reference an image stored in an Amazon S3 bucket.

                            + */ + Image: Image | undefined; +} + +export namespace DetectProtectiveEquipmentRequest { + export const filterSensitiveLog = (obj: DetectProtectiveEquipmentRequest): any => ({ + ...obj, + }); +} + +/** + *

                            A person detected by a call to DetectProtectiveEquipment. The API returns + * all persons detected in the input + * image in an array of ProtectiveEquipmentPerson objects.

                            + */ +export interface ProtectiveEquipmentPerson { + /** + *

                            A bounding box around the detected person.

                            + */ + BoundingBox?: BoundingBox; + + /** + *

                            An array of body parts detected on a person's body (including body parts without PPE).

                            + */ + BodyParts?: ProtectiveEquipmentBodyPart[]; + + /** + *

                            The identifier for the detected person. The identifier is only unique for a single call to + * DetectProtectiveEquipment.

                            + */ + Id?: number; + + /** + *

                            The confidence that Amazon Rekognition has that the bounding box contains a person.

                            + */ + Confidence?: number; +} + +export namespace ProtectiveEquipmentPerson { + export const filterSensitiveLog = (obj: ProtectiveEquipmentPerson): any => ({ + ...obj, + }); +} + +/** + *

                            Summary information for required items of personal protective equipment (PPE) detected on persons by a call + * to DetectProtectiveEquipment. You specify the required type of PPE in + * the SummarizationAttributes + * (ProtectiveEquipmentSummarizationAttributes) input parameter. + * The summary includes which persons were detected wearing the required personal protective equipment + * (PersonsWithRequiredEquipment), + * which persons were detected as not wearing the required PPE (PersonsWithoutRequiredEquipment), + * and the persons in which a determination + * could not be made (PersonsIndeterminate).

                            + *

                            To get a total for each category, use the size of the field array. For example, + * to find out how many people were detected as wearing the specified PPE, + * use the size of the PersonsWithRequiredEquipment array. + * If you want to find out more about a person, such as the + * location (BoundingBox) of the person on the image, use the person ID in each array element. + * Each person ID matches the ID field of a ProtectiveEquipmentPerson object returned + * in the Persons array by DetectProtectiveEquipment.

                            + */ +export interface ProtectiveEquipmentSummary { + /** + *

                            An array of IDs for persons who are not wearing all of the types of PPE specified in the RequiredEquipmentTypes field of + * the detected personal protective equipment. + *

                            + */ + PersonsWithoutRequiredEquipment?: number[]; + + /** + *

                            An array of IDs for persons who are wearing detected personal protective equipment. + *

                            + */ + PersonsWithRequiredEquipment?: number[]; + + /** + *

                            An array of IDs for persons where it was not possible to determine if they are wearing personal protective equipment. + *

                            + */ + PersonsIndeterminate?: number[]; +} + +export namespace ProtectiveEquipmentSummary { + export const filterSensitiveLog = (obj: ProtectiveEquipmentSummary): any => ({ + ...obj, + }); +} + +export interface DetectProtectiveEquipmentResponse { + /** + *

                            An array of persons detected in the image (including persons not wearing PPE).

                            + */ + Persons?: ProtectiveEquipmentPerson[]; + + /** + *

                            The version number of the PPE detection model used to detect PPE in the image.

                            + */ + ProtectiveEquipmentModelVersion?: string; + + /** + *

                            Summary information for the types of PPE specified in the SummarizationAttributes input + * parameter.

                            + */ + Summary?: ProtectiveEquipmentSummary; +} + +export namespace DetectProtectiveEquipmentResponse { + export const filterSensitiveLog = (obj: DetectProtectiveEquipmentResponse): any => ({ + ...obj, + }); +} + +/** + *

                            Specifies a location within the frame that Rekognition checks for text. Uses a BoundingBox + * object to set a region of the screen.

                            + *

                            A word is included in the region if the word is more than half in that region. If there is more than + * one region, the word will be compared with all regions of the screen. Any word more than half in a region + * is kept in the results.

                            + */ +export interface RegionOfInterest { + /** + *

                            The box representing a region of interest on screen.

                            */ BoundingBox?: BoundingBox; } @@ -2817,16 +3118,16 @@ export namespace RegionOfInterest { *

                            */ export interface DetectTextFilters { - /** - *

                            A set of parameters that allow you to filter out certain results from your returned results.

                            - */ - WordFilter?: DetectionFilter; - /** *

                            A Filter focusing on a certain area of the image. Uses a BoundingBox object to set the region * of the image.

                            */ RegionsOfInterest?: RegionOfInterest[]; + + /** + *

                            A set of parameters that allow you to filter out certain results from your returned results.

                            + */ + WordFilter?: DetectionFilter; } export namespace DetectTextFilters { @@ -2875,17 +3176,11 @@ export enum TextTypes { */ export interface TextDetection { /** - *

                            The identifier for the detected text. The identifier is only unique for a single call - * to DetectText.

                            - */ - Id?: number; - - /** - *

                            The location of the detected text on the image. Includes an axis aligned coarse - * bounding box surrounding the text and a finer grain polygon for more accurate spatial - * information.

                            + *

                            The Parent identifier for the detected text identified by the value of ID. + * If the type of detected text is LINE, the value of ParentId is + * Null.

                            */ - Geometry?: Geometry; + ParentId?: number; /** *

                            The type of text that was detected.

                            @@ -2893,22 +3188,28 @@ export interface TextDetection { Type?: TextTypes | string; /** - *

                            The word or line of text recognized by Amazon Rekognition.

                            + *

                            The location of the detected text on the image. Includes an axis aligned coarse + * bounding box surrounding the text and a finer grain polygon for more accurate spatial + * information.

                            */ - DetectedText?: string; + Geometry?: Geometry; /** - *

                            The Parent identifier for the detected text identified by the value of ID. - * If the type of detected text is LINE, the value of ParentId is - * Null.

                            + *

                            The identifier for the detected text. The identifier is only unique for a single call + * to DetectText.

                            */ - ParentId?: number; + Id?: number; /** *

                            The confidence that Amazon Rekognition has in the accuracy of the detected text and the accuracy * of the geometry points around the detected text.

                            */ Confidence?: number; + + /** + *

                            The word or line of text recognized by Amazon Rekognition.

                            + */ + DetectedText?: string; } export namespace TextDetection { @@ -2919,14 +3220,14 @@ export namespace TextDetection { export interface DetectTextResponse { /** - *

                            The model version used to detect text.

                            + *

                            An array of text that was detected in the input image.

                            */ - TextModelVersion?: string; + TextDetections?: TextDetection[]; /** - *

                            An array of text that was detected in the input image.

                            + *

                            The model version used to detect text.

                            */ - TextDetections?: TextDetection[]; + TextModelVersion?: string; } export namespace DetectTextResponse { @@ -2941,9 +3242,9 @@ export namespace DetectTextResponse { */ export interface Face { /** - *

                            Unique identifier that Amazon Rekognition assigns to the face.

                            + *

                            Bounding box of the face.

                            */ - FaceId?: string; + BoundingBox?: BoundingBox; /** *

                            Confidence level that the bounding box contains a face (and not a different object such @@ -2957,14 +3258,14 @@ export interface Face { ImageId?: string; /** - *

                            Bounding box of the face.

                            + *

                            Identifier that you assign to all the faces in the input image.

                            */ - BoundingBox?: BoundingBox; + ExternalImageId?: string; /** - *

                            Identifier that you assign to all the faces in the input image.

                            + *

                            Unique identifier that Amazon Rekognition assigns to the face.

                            */ - ExternalImageId?: string; + FaceId?: string; } export namespace Face { @@ -2983,14 +3284,14 @@ export enum FaceAttributes { */ export interface FaceDetection { /** - *

                            Time, in milliseconds from the start of the video, that the face was detected.

                            + *

                            The face properties for the detected face.

                            */ - Timestamp?: number; + Face?: FaceDetail; /** - *

                            The face properties for the detected face.

                            + *

                            Time, in milliseconds from the start of the video, that the face was detected.

                            */ - Face?: FaceDetail; + Timestamp?: number; } export namespace FaceDetection { @@ -3004,16 +3305,16 @@ export namespace FaceDetection { * this face with the input face.

                            */ export interface FaceMatch { - /** - *

                            Confidence in the match of this face with the input face.

                            - */ - Similarity?: number; - /** *

                            Describes the face properties such as the bounding box, face ID, image ID of the source * image, and external image ID that you assigned.

                            */ Face?: Face; + + /** + *

                            Confidence in the match of this face with the input face.

                            + */ + Similarity?: number; } export namespace FaceMatch { @@ -3028,15 +3329,15 @@ export namespace FaceMatch { */ export interface FaceRecord { /** - *

                            Describes the face properties such as the bounding box, face ID, image ID of the input - * image, and external image ID that you assigned.

                            + *

                            Structure containing attributes of the face that the algorithm detected.

                            */ - Face?: Face; + FaceDetail?: FaceDetail; /** - *

                            Structure containing attributes of the face that the algorithm detected.

                            + *

                            Describes the face properties such as the bounding box, face ID, image ID of the input + * image, and external image ID that you assigned.

                            */ - FaceDetail?: FaceDetail; + Face?: Face; } export namespace FaceRecord { @@ -3066,14 +3367,14 @@ export namespace GetCelebrityInfoRequest { export interface GetCelebrityInfoResponse { /** - *

                            The name of the celebrity.

                            + *

                            An array of URLs pointing to additional celebrity information.

                            */ - Name?: string; + Urls?: string[]; /** - *

                            An array of URLs pointing to additional celebrity information.

                            + *

                            The name of the celebrity.

                            */ - Urls?: string[]; + Name?: string; } export namespace GetCelebrityInfoResponse { @@ -3084,10 +3385,10 @@ export namespace GetCelebrityInfoResponse { export interface GetCelebrityRecognitionRequest { /** - *

                            Sort to use for celebrities returned in Celebrities field. Specify ID to sort by the celebrity identifier, - * specify TIMESTAMP to sort by the time the celebrity was recognized.

                            + *

                            Job identifier for the required celebrity recognition analysis. You can get the job identifer from + * a call to StartCelebrityRecognition.

                            */ - SortBy?: CelebrityRecognitionSortBy | string; + JobId: string | undefined; /** *

                            Maximum number of results to return per paginated call. The largest value you can specify is 1000. @@ -3103,10 +3404,10 @@ export interface GetCelebrityRecognitionRequest { NextToken?: string; /** - *

                            Job identifier for the required celebrity recognition analysis. You can get the job identifer from - * a call to StartCelebrityRecognition.

                            + *

                            Sort to use for celebrities returned in Celebrities field. Specify ID to sort by the celebrity identifier, + * specify TIMESTAMP to sort by the time the celebrity was recognized.

                            */ - JobId: string | undefined; + SortBy?: CelebrityRecognitionSortBy | string; } export namespace GetCelebrityRecognitionRequest { @@ -3126,21 +3427,11 @@ export enum VideoJobStatus { * every page of paginated responses from a Amazon Rekognition video operation.

                            */ export interface VideoMetadata { - /** - *

                            Length of the video in milliseconds.

                            - */ - DurationMillis?: number; - /** *

                            Vertical pixel dimension of the video.

                            */ FrameHeight?: number; - /** - *

                            Number of frames per second in the video.

                            - */ - FrameRate?: number; - /** *

                            Horizontal pixel dimension of the video.

                            */ @@ -3155,6 +3446,16 @@ export interface VideoMetadata { *

                            Type of compression used in the analyzed video.

                            */ Codec?: string; + + /** + *

                            Length of the video in milliseconds.

                            + */ + DurationMillis?: number; + + /** + *

                            Number of frames per second in the video.

                            + */ + FrameRate?: number; } export namespace VideoMetadata { @@ -3164,11 +3465,6 @@ export namespace VideoMetadata { } export interface GetCelebrityRecognitionResponse { - /** - *

                            Array of celebrities recognized in the video.

                            - */ - Celebrities?: CelebrityRecognition[]; - /** *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request * to retrieve the next set of celebrities.

                            @@ -3176,9 +3472,10 @@ export interface GetCelebrityRecognitionResponse { NextToken?: string; /** - *

                            The current status of the celebrity recognition job.

                            + *

                            Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in + * every page of paginated responses from a Amazon Rekognition Video operation.

                            */ - JobStatus?: VideoJobStatus | string; + VideoMetadata?: VideoMetadata; /** *

                            If the job fails, StatusMessage provides a descriptive error message.

                            @@ -3186,10 +3483,14 @@ export interface GetCelebrityRecognitionResponse { StatusMessage?: string; /** - *

                            Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in - * every page of paginated responses from a Amazon Rekognition Video operation.

                            + *

                            Array of celebrities recognized in the video.

                            */ - VideoMetadata?: VideoMetadata; + Celebrities?: CelebrityRecognition[]; + + /** + *

                            The current status of the celebrity recognition job.

                            + */ + JobStatus?: VideoJobStatus | string; } export namespace GetCelebrityRecognitionResponse { @@ -3206,13 +3507,6 @@ export interface GetContentModerationRequest { */ MaxResults?: number; - /** - *

                            If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition - * returns a pagination token in the response. You can use this pagination token - * to retrieve the next set of unsafe content labels.

                            - */ - NextToken?: string; - /** *

                            Sort to use for elements in the ModerationLabelDetections array. * Use TIMESTAMP to sort array elements by the time labels are detected. @@ -3222,6 +3516,13 @@ export interface GetContentModerationRequest { */ SortBy?: ContentModerationSortBy | string; + /** + *

                            If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition + * returns a pagination token in the response. You can use this pagination token + * to retrieve the next set of unsafe content labels.

                            + */ + NextToken?: string; + /** *

                            The identifier for the unsafe content job. Use JobId to identify the job in * a subsequent call to GetContentModeration.

                            @@ -3236,16 +3537,6 @@ export namespace GetContentModerationRequest { } export interface GetContentModerationResponse { - /** - *

                            The current status of the unsafe content analysis job.

                            - */ - JobStatus?: VideoJobStatus | string; - - /** - *

                            The detected unsafe content labels and the time(s) they were detected.

                            - */ - ModerationLabels?: ContentModerationDetection[]; - /** *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent * request to retrieve the next set of unsafe content labels.

                            @@ -3257,12 +3548,22 @@ export interface GetContentModerationResponse { */ ModerationModelVersion?: string; + /** + *

                            The current status of the unsafe content analysis job.

                            + */ + JobStatus?: VideoJobStatus | string; + /** *

                            Information about a video that Amazon Rekognition analyzed. Videometadata * is returned in every page of paginated responses from GetContentModeration.

                            */ VideoMetadata?: VideoMetadata; + /** + *

                            The detected unsafe content labels and the time(s) they were detected.

                            + */ + ModerationLabels?: ContentModerationDetection[]; + /** *

                            If the job fails, StatusMessage provides a descriptive error message.

                            */ @@ -3277,15 +3578,15 @@ export namespace GetContentModerationResponse { export interface GetFaceDetectionRequest { /** - *

                            If the previous response was incomplete (because there are more faces to retrieve), Amazon Rekognition Video returns a pagination - * token in the response. You can use this pagination token to retrieve the next set of faces.

                            + *

                            Unique identifier for the face detection job. The JobId is returned from StartFaceDetection.

                            */ - NextToken?: string; + JobId: string | undefined; /** - *

                            Unique identifier for the face detection job. The JobId is returned from StartFaceDetection.

                            + *

                            If the previous response was incomplete (because there are more faces to retrieve), Amazon Rekognition Video returns a pagination + * token in the response. You can use this pagination token to retrieve the next set of faces.

                            */ - JobId: string | undefined; + NextToken?: string; /** *

                            Maximum number of results to return per paginated call. The largest value you can specify is 1000. @@ -3302,22 +3603,15 @@ export namespace GetFaceDetectionRequest { } export interface GetFaceDetectionResponse { - /** - *

                            Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in - * every page of paginated responses from a Amazon Rekognition video operation.

                            - */ - VideoMetadata?: VideoMetadata; - /** *

                            If the job fails, StatusMessage provides a descriptive error message.

                            */ StatusMessage?: string; /** - *

                            An array of faces detected in the video. Each element contains a detected face's details and the time, - * in milliseconds from the start of the video, the face was detected.

                            + *

                            If the response is truncated, Amazon Rekognition returns this token that you can use in the subsequent request to retrieve the next set of faces.

                            */ - Faces?: FaceDetection[]; + NextToken?: string; /** *

                            The current status of the face detection job.

                            @@ -3325,9 +3619,16 @@ export interface GetFaceDetectionResponse { JobStatus?: VideoJobStatus | string; /** - *

                            If the response is truncated, Amazon Rekognition returns this token that you can use in the subsequent request to retrieve the next set of faces.

                            + *

                            Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in + * every page of paginated responses from a Amazon Rekognition video operation.

                            */ - NextToken?: string; + VideoMetadata?: VideoMetadata; + + /** + *

                            An array of faces detected in the video. Each element contains a detected face's details and the time, + * in milliseconds from the start of the video, the face was detected.

                            + */ + Faces?: FaceDetection[]; } export namespace GetFaceDetectionResponse { @@ -3343,6 +3644,12 @@ export interface GetFaceSearchRequest { */ SortBy?: FaceSearchSortBy | string; + /** + *

                            If the previous response was incomplete (because there is more search results to retrieve), Amazon Rekognition Video returns a pagination + * token in the response. You can use this pagination token to retrieve the next set of search results.

                            + */ + NextToken?: string; + /** *

                            Maximum number of results to return per paginated call. The largest value you can specify is 1000. * If you specify a value greater than 1000, a maximum of 1000 results is returned. @@ -3350,12 +3657,6 @@ export interface GetFaceSearchRequest { */ MaxResults?: number; - /** - *

                            If the previous response was incomplete (because there is more search results to retrieve), Amazon Rekognition Video returns a pagination - * token in the response. You can use this pagination token to retrieve the next set of search results.

                            - */ - NextToken?: string; - /** *

                            The job identifer for the search request. You get the job identifier from an initial call to StartFaceSearch.

                            */ @@ -3401,6 +3702,11 @@ export namespace PersonDetail { * PersonMatch objects is returned by GetFaceSearch.

                            */ export interface PersonMatch { + /** + *

                            Information about the matched person.

                            + */ + Person?: PersonDetail; + /** *

                            Information about the faces in the input collection that match the face of a person in the video.

                            */ @@ -3410,11 +3716,6 @@ export interface PersonMatch { *

                            The time, in milliseconds from the beginning of the video, that the person was matched in the video.

                            */ Timestamp?: number; - - /** - *

                            Information about the matched person.

                            - */ - Person?: PersonDetail; } export namespace PersonMatch { @@ -3440,11 +3741,6 @@ export interface GetFaceSearchResponse { */ JobStatus?: VideoJobStatus | string; - /** - *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of search results.

                            - */ - NextToken?: string; - /** *

                            An array of persons, PersonMatch, * in the video whose face(s) match the face(s) in an Amazon Rekognition collection. It also includes time information @@ -3455,6 +3751,11 @@ export interface GetFaceSearchResponse { * and person information (Person) for the matched person.

                            */ Persons?: PersonMatch[]; + + /** + *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of search results.

                            + */ + NextToken?: string; } export namespace GetFaceSearchResponse { @@ -3469,12 +3770,6 @@ export enum LabelDetectionSortBy { } export interface GetLabelDetectionRequest { - /** - *

                            Job identifier for the label detection operation for which you want results returned. You get the job identifer from - * an initial call to StartlabelDetection.

                            - */ - JobId: string | undefined; - /** *

                            Sort to use for elements in the Labels array. * Use TIMESTAMP to sort array elements by the time labels are detected. @@ -3484,6 +3779,12 @@ export interface GetLabelDetectionRequest { */ SortBy?: LabelDetectionSortBy | string; + /** + *

                            Job identifier for the label detection operation for which you want results returned. You get the job identifer from + * an initial call to StartlabelDetection.

                            + */ + JobId: string | undefined; + /** *

                            Maximum number of results to return per paginated call. The largest value you can specify is 1000. * If you specify a value greater than 1000, a maximum of 1000 results is returned. @@ -3527,15 +3828,9 @@ export namespace LabelDetection { export interface GetLabelDetectionResponse { /** - *

                            Version number of the label detection model that was used to detect labels.

                            - */ - LabelModelVersion?: string; - - /** - *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request - * to retrieve the next set of labels.

                            + *

                            If the job fails, StatusMessage provides a descriptive error message.

                            */ - NextToken?: string; + StatusMessage?: string; /** *

                            An array of labels detected in the video. Each element contains the detected label and the time, @@ -3544,20 +3839,26 @@ export interface GetLabelDetectionResponse { Labels?: LabelDetection[]; /** - *

                            The current status of the label detection job.

                            + *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request + * to retrieve the next set of labels.

                            */ - JobStatus?: VideoJobStatus | string; + NextToken?: string; /** - *

                            If the job fails, StatusMessage provides a descriptive error message.

                            + *

                            The current status of the label detection job.

                            */ - StatusMessage?: string; + JobStatus?: VideoJobStatus | string; /** *

                            Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in * every page of paginated responses from a Amazon Rekognition video operation.

                            */ VideoMetadata?: VideoMetadata; + + /** + *

                            Version number of the label detection model that was used to detect labels.

                            + */ + LabelModelVersion?: string; } export namespace GetLabelDetectionResponse { @@ -3580,12 +3881,6 @@ export interface GetPersonTrackingRequest { */ SortBy?: PersonTrackingSortBy | string; - /** - *

                            The identifier for a job that tracks persons in a video. You get the JobId from a call to StartPersonTracking. - *

                            - */ - JobId: string | undefined; - /** *

                            Maximum number of results to return per paginated call. The largest value you can specify is 1000. * If you specify a value greater than 1000, a maximum of 1000 results is returned. @@ -3598,6 +3893,12 @@ export interface GetPersonTrackingRequest { * token in the response. You can use this pagination token to retrieve the next set of persons.

                            */ NextToken?: string; + + /** + *

                            The identifier for a job that tracks persons in a video. You get the JobId from a call to StartPersonTracking. + *

                            + */ + JobId: string | undefined; } export namespace GetPersonTrackingRequest { @@ -3642,12 +3943,6 @@ export interface GetPersonTrackingResponse { */ NextToken?: string; - /** - *

                            An array of the persons detected in the video and the time(s) their path was tracked throughout the video. - * An array element will exist for each time a person's path is tracked.

                            - */ - Persons?: PersonDetection[]; - /** *

                            Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in * every page of paginated responses from a Amazon Rekognition Video operation.

                            @@ -3658,6 +3953,12 @@ export interface GetPersonTrackingResponse { *

                            If the job fails, StatusMessage provides a descriptive error message.

                            */ StatusMessage?: string; + + /** + *

                            An array of the persons detected in the video and the time(s) their path was tracked throughout the video. + * An array element will exist for each time a person's path is tracked.

                            + */ + Persons?: PersonDetection[]; } export namespace GetPersonTrackingResponse { @@ -3672,17 +3973,17 @@ export interface GetSegmentDetectionRequest { */ MaxResults?: number; - /** - *

                            Job identifier for the text detection operation for which you want results returned. - * You get the job identifer from an initial call to StartSegmentDetection.

                            - */ - JobId: string | undefined; - /** *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent * request to retrieve the next set of text.

                            */ NextToken?: string; + + /** + *

                            Job identifier for the text detection operation for which you want results returned. + * You get the job identifer from an initial call to StartSegmentDetection.

                            + */ + JobId: string | undefined; } export namespace GetSegmentDetectionRequest { @@ -3697,14 +3998,14 @@ export namespace GetSegmentDetectionRequest { */ export interface ShotSegment { /** - *

                            The confidence that Amazon Rekognition Video has in the accuracy of the detected segment.

                            + *

                            An Identifier for a shot detection segment detected in a video.

                            */ - Confidence?: number; + Index?: number; /** - *

                            An Identifier for a shot detection segment detected in a video

                            + *

                            The confidence that Amazon Rekognition Video has in the accuracy of the detected segment.

                            */ - Index?: number; + Confidence?: number; } export namespace ShotSegment { @@ -3753,16 +4054,22 @@ export enum SegmentType { */ export interface SegmentDetection { /** - *

                            The frame-accurate SMPTE timecode, from the start of a video, for the start of a detected segment. - * StartTimecode is in HH:MM:SS:fr format - * (and ;fr for drop frame-rates).

                            + *

                            The duration of the detected segment in milliseconds.

                            */ - StartTimecodeSMPTE?: string; + DurationMillis?: number; /** - *

                            The duration of the timecode for the detected segment in SMPTE format.

                            + *

                            The start time of the detected segment in milliseconds from the start of the video. This value + * is rounded down. For example, if the actual timestamp is 100.6667 milliseconds, Amazon Rekognition Video returns a value of + * 100 millis.

                            */ - DurationSMPTE?: string; + StartTimestampMillis?: number; + + /** + *

                            The end time of the detected segment, in milliseconds, from the start of the video. + * This value is rounded down.

                            + */ + EndTimestampMillis?: number; /** *

                            If the segment is a shot detection, contains information about the shot detection.

                            @@ -3777,29 +4084,26 @@ export interface SegmentDetection { EndTimecodeSMPTE?: string; /** - *

                            The end time of the detected segment, in milliseconds, from the start of the video.

                            - */ - EndTimestampMillis?: number; - - /** - *

                            The start time of the detected segment in milliseconds from the start of the video.

                            + *

                            The duration of the timecode for the detected segment in SMPTE format.

                            */ - StartTimestampMillis?: number; + DurationSMPTE?: string; /** - *

                            The type of the segment. Valid values are TECHNICAL_CUE and SHOT.

                            + *

                            If the segment is a technical cue, contains information about the technical cue.

                            */ - Type?: SegmentType | string; + TechnicalCueSegment?: TechnicalCueSegment; /** - *

                            If the segment is a technical cue, contains information about the technical cue.

                            + *

                            The frame-accurate SMPTE timecode, from the start of a video, for the start of a detected segment. + * StartTimecode is in HH:MM:SS:fr format + * (and ;fr for drop frame-rates).

                            */ - TechnicalCueSegment?: TechnicalCueSegment; + StartTimecodeSMPTE?: string; /** - *

                            The duration of the detected segment in milliseconds.

                            + *

                            The type of the segment. Valid values are TECHNICAL_CUE and SHOT.

                            */ - DurationMillis?: number; + Type?: SegmentType | string; } export namespace SegmentDetection { @@ -3831,12 +4135,6 @@ export namespace SegmentTypeInfo { } export interface GetSegmentDetectionResponse { - /** - *

                            If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns - * a pagination token in the response. You can use this pagination token to retrieve the next set of text.

                            - */ - NextToken?: string; - /** *

                            An array of * objects. There can be multiple audio streams. @@ -3846,12 +4144,22 @@ export interface GetSegmentDetectionResponse { * and the sample rate. Audio metadata is returned in each page of information returned * by GetSegmentDetection.

                            */ - AudioMetadata?: AudioMetadata[]; + AudioMetadata?: AudioMetadata[]; + + /** + *

                            Currently, Amazon Rekognition Video returns a single object in the + * VideoMetadata array. The object + * contains information about the video stream in the input file that Amazon Rekognition Video chose to analyze. + * The VideoMetadata object includes the video codec, video format and other information. + * Video metadata is returned in each page of information returned by GetSegmentDetection.

                            + */ + VideoMetadata?: VideoMetadata[]; /** - *

                            An array of segments detected in a video.

                            + *

                            If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns + * a pagination token in the response. You can use this pagination token to retrieve the next set of text.

                            */ - Segments?: SegmentDetection[]; + NextToken?: string; /** *

                            An array containing the segment types requested in the call to StartSegmentDetection. @@ -3860,23 +4168,21 @@ export interface GetSegmentDetectionResponse { SelectedSegmentTypes?: SegmentTypeInfo[]; /** - *

                            If the job fails, StatusMessage provides a descriptive error message.

                            + *

                            An array of segments detected in a video. The array is sorted by the segment types (TECHNICAL_CUE or SHOT) + * specified in the SegmentTypes input parameter of StartSegmentDetection. Within + * each segment type the array is sorted by timestamp values.

                            */ - StatusMessage?: string; + Segments?: SegmentDetection[]; /** - *

                            Currently, Amazon Rekognition Video returns a single object in the - * VideoMetadata array. The object - * contains information about the video stream in the input file that Amazon Rekognition Video chose to analyze. - * The VideoMetadata object includes the video codec, video format and other information. - * Video metadata is returned in each page of information returned by GetSegmentDetection.

                            + *

                            Current status of the segment detection job.

                            */ - VideoMetadata?: VideoMetadata[]; + JobStatus?: VideoJobStatus | string; /** - *

                            Current status of the segment detection job.

                            + *

                            If the job fails, StatusMessage provides a descriptive error message.

                            */ - JobStatus?: VideoJobStatus | string; + StatusMessage?: string; } export namespace GetSegmentDetectionResponse { @@ -3887,10 +4193,10 @@ export namespace GetSegmentDetectionResponse { export interface GetTextDetectionRequest { /** - *

                            Job identifier for the text detection operation for which you want results returned. - * You get the job identifer from an initial call to StartTextDetection.

                            + *

                            If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns + * a pagination token in the response. You can use this pagination token to retrieve the next set of text.

                            */ - JobId: string | undefined; + NextToken?: string; /** *

                            Maximum number of results to return per paginated call. The largest value you can specify is 1000.

                            @@ -3898,10 +4204,10 @@ export interface GetTextDetectionRequest { MaxResults?: number; /** - *

                            If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns - * a pagination token in the response. You can use this pagination token to retrieve the next set of text.

                            + *

                            Job identifier for the text detection operation for which you want results returned. + * You get the job identifer from an initial call to StartTextDetection.

                            */ - NextToken?: string; + JobId: string | undefined; } export namespace GetTextDetectionRequest { @@ -3916,14 +4222,14 @@ export namespace GetTextDetectionRequest { */ export interface TextDetectionResult { /** - *

                            Details about text detected in a video.

                            + *

                            The time, in milliseconds from the start of the video, that the text was detected.

                            */ - TextDetection?: TextDetection; + Timestamp?: number; /** - *

                            The time, in milliseconds from the start of the video, that the text was detected.

                            + *

                            Details about text detected in a video.

                            */ - Timestamp?: number; + TextDetection?: TextDetection; } export namespace TextDetectionResult { @@ -3934,10 +4240,10 @@ export namespace TextDetectionResult { export interface GetTextDetectionResponse { /** - *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent - * request to retrieve the next set of text.

                            + *

                            Information about a video that Amazon Rekognition analyzed. Videometadata is returned in + * every page of paginated responses from a Amazon Rekognition video operation.

                            */ - NextToken?: string; + VideoMetadata?: VideoMetadata; /** *

                            Version number of the text detection model that was used to detect text.

                            @@ -3945,15 +4251,16 @@ export interface GetTextDetectionResponse { TextModelVersion?: string; /** - *

                            If the job fails, StatusMessage provides a descriptive error message.

                            + *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent + * request to retrieve the next set of text.

                            */ - StatusMessage?: string; + NextToken?: string; /** - *

                            Information about a video that Amazon Rekognition analyzed. Videometadata is returned in - * every page of paginated responses from a Amazon Rekognition video operation.

                            + *

                            An array of text detected in the video. Each element contains the detected text, the time in milliseconds + * from the start of the video that the text was detected, and where it was detected on the screen.

                            */ - VideoMetadata?: VideoMetadata; + TextDetections?: TextDetectionResult[]; /** *

                            Current status of the text detection job.

                            @@ -3961,10 +4268,9 @@ export interface GetTextDetectionResponse { JobStatus?: VideoJobStatus | string; /** - *

                            An array of text detected in the video. Each element contains the detected text, the time in milliseconds - * from the start of the video that the text was detected, and where it was detected on the screen.

                            + *

                            If the job fails, StatusMessage provides a descriptive error message.

                            */ - TextDetections?: TextDetectionResult[]; + StatusMessage?: string; } export namespace GetTextDetectionResponse { @@ -3980,13 +4286,13 @@ export namespace GetTextDetectionResponse { export interface IdempotentParameterMismatchException extends __SmithyException, $MetadataBearer { name: "IdempotentParameterMismatchException"; $fault: "client"; + Message?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; Code?: string; - Message?: string; } export namespace IdempotentParameterMismatchException { @@ -3997,15 +4303,26 @@ export namespace IdempotentParameterMismatchException { export interface IndexFacesRequest { /** - *

                            The ID of an existing collection to which you want to add the faces that are detected - * in the input images.

                            + *

                            The ID you want to assign to all the faces detected in the image.

                            */ - CollectionId: string | undefined; + ExternalImageId?: string; /** - *

                            The ID you want to assign to all the faces detected in the image.

                            + *

                            The maximum number of faces to index. The value of MaxFaces must be greater + * than or equal to 1. IndexFaces returns no more than 100 detected faces in an + * image, even if you specify a larger value for MaxFaces.

                            + *

                            If IndexFaces detects more faces than the value of MaxFaces, the + * faces with the lowest quality are filtered out first. If there are still more faces than the + * value of MaxFaces, the faces with the smallest bounding boxes are filtered out + * (up to the number that's needed to satisfy the value of MaxFaces). Information + * about the unindexed faces is available in the UnindexedFaces array.

                            + *

                            The faces that are returned by IndexFaces are sorted by the largest face + * bounding box size to the smallest size, in descending order.

                            + *

                            + * MaxFaces can be used with a collection associated with any version of + * the face model.

                            */ - ExternalImageId?: string; + MaxFaces?: number; /** *

                            An array of facial attributes that you want to be returned. This can be the default @@ -4028,6 +4345,12 @@ export interface IndexFacesRequest { */ Image: Image | undefined; + /** + *

                            The ID of an existing collection to which you want to add the faces that are detected + * in the input images.

                            + */ + CollectionId: string | undefined; + /** *

                            A filter that specifies a quality bar for how much filtering is done to identify faces. * Filtered faces aren't indexed. If you specify AUTO, Amazon Rekognition chooses the quality bar. @@ -4044,23 +4367,6 @@ export interface IndexFacesRequest { *

                            To use quality filtering, the collection you are using must be associated with version 3 of the face model or higher.

                            */ QualityFilter?: QualityFilter | string; - - /** - *

                            The maximum number of faces to index. The value of MaxFaces must be greater - * than or equal to 1. IndexFaces returns no more than 100 detected faces in an - * image, even if you specify a larger value for MaxFaces.

                            - *

                            If IndexFaces detects more faces than the value of MaxFaces, the - * faces with the lowest quality are filtered out first. If there are still more faces than the - * value of MaxFaces, the faces with the smallest bounding boxes are filtered out - * (up to the number that's needed to satisfy the value of MaxFaces). Information - * about the unindexed faces is available in the UnindexedFaces array.

                            - *

                            The faces that are returned by IndexFaces are sorted by the largest face - * bounding box size to the smallest size, in descending order.

                            - *

                            - * MaxFaces can be used with a collection associated with any version of - * the face model.

                            - */ - MaxFaces?: number; } export namespace IndexFacesRequest { @@ -4084,6 +4390,13 @@ export enum Reason { * Reasons response attribute to determine why a face wasn't indexed.

                            */ export interface UnindexedFace { + /** + *

                            The + * structure that contains attributes of a face that + * IndexFacesdetected, but didn't index.

                            + */ + FaceDetail?: FaceDetail; + /** *

                            An array of reasons that specify why a face wasn't indexed.

                            *
                              @@ -4110,13 +4423,6 @@ export interface UnindexedFace { *
                            */ Reasons?: (Reason | string)[]; - - /** - *

                            The - * structure that contains attributes of a face that - * IndexFacesdetected, but didn't index.

                            - */ - FaceDetail?: FaceDetail; } export namespace UnindexedFace { @@ -4126,20 +4432,6 @@ export namespace UnindexedFace { } export interface IndexFacesResponse { - /** - *

                            An array of faces that were detected in the image but weren't indexed. They weren't - * indexed because the quality filter identified them as low quality, or the - * MaxFaces request parameter filtered them out. To use the quality filter, you - * specify the QualityFilter request parameter.

                            - */ - UnindexedFaces?: UnindexedFace[]; - - /** - *

                            The version number of the face detection model that's associated with the input - * collection (CollectionId).

                            - */ - FaceModelVersion?: string; - /** *

                            If your collection is associated with a face detection model that's later * than version 3.0, the value of OrientationCorrection @@ -4171,12 +4463,26 @@ export interface IndexFacesResponse { */ OrientationCorrection?: OrientationCorrection | string; + /** + *

                            The version number of the face detection model that's associated with the input + * collection (CollectionId).

                            + */ + FaceModelVersion?: string; + /** *

                            An array of faces detected and added to the collection. * For more information, see Searching Faces in a Collection in the Amazon Rekognition Developer Guide. *

                            */ FaceRecords?: FaceRecord[]; + + /** + *

                            An array of faces that were detected in the image but weren't indexed. They weren't + * indexed because the quality filter identified them as low quality, or the + * MaxFaces request parameter filtered them out. To use the quality filter, you + * specify the QualityFilter request parameter.

                            + */ + UnindexedFaces?: UnindexedFace[]; } export namespace IndexFacesResponse { @@ -4185,6 +4491,30 @@ export namespace IndexFacesResponse { }); } +/** + *

                            + * + * + *

                            The size of the collection exceeds the allowed limit. For more information, see + * Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.

                            + */ +export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { + name: "ServiceQuotaExceededException"; + $fault: "client"; + Code?: string; + Message?: string; + /** + *

                            A universally unique identifier (UUID) for the request.

                            + */ + Logref?: string; +} + +export namespace ServiceQuotaExceededException { + export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ + ...obj, + }); +} + export interface ListCollectionsRequest { /** *

                            Pagination token from the previous response.

                            @@ -4205,15 +4535,15 @@ export namespace ListCollectionsRequest { export interface ListCollectionsResponse { /** - *

                            If the result is truncated, the response provides a NextToken that you can - * use in the subsequent request to fetch the next set of collection IDs.

                            + *

                            An array of collection IDs.

                            */ - NextToken?: string; + CollectionIds?: string[]; /** - *

                            An array of collection IDs.

                            + *

                            If the result is truncated, the response provides a NextToken that you can + * use in the subsequent request to fetch the next set of collection IDs.

                            */ - CollectionIds?: string[]; + NextToken?: string; /** *

                            Version numbers of the face detection models associated with the collections in the array CollectionIds. @@ -4230,6 +4560,13 @@ export namespace ListCollectionsResponse { } export interface ListFacesRequest { + /** + *

                            If the previous response was incomplete (because there is more data to retrieve), + * Amazon Rekognition returns a pagination token in the response. You can use this pagination token to + * retrieve the next set of faces.

                            + */ + NextToken?: string; + /** *

                            ID of the collection from which to list the faces.

                            */ @@ -4239,13 +4576,6 @@ export interface ListFacesRequest { *

                            Maximum number of faces to return.

                            */ MaxResults?: number; - - /** - *

                            If the previous response was incomplete (because there is more data to retrieve), - * Amazon Rekognition returns a pagination token in the response. You can use this pagination token to - * retrieve the next set of faces.

                            - */ - NextToken?: string; } export namespace ListFacesRequest { @@ -4256,15 +4586,15 @@ export namespace ListFacesRequest { export interface ListFacesResponse { /** - *

                            If the response is truncated, Amazon Rekognition returns this token that you can use in the - * subsequent request to retrieve the next set of faces.

                            + *

                            Version number of the face detection model associated with the input collection (CollectionId).

                            */ - NextToken?: string; + FaceModelVersion?: string; /** - *

                            Version number of the face detection model associated with the input collection (CollectionId).

                            + *

                            If the response is truncated, Amazon Rekognition returns this token that you can use in the + * subsequent request to retrieve the next set of faces.

                            */ - FaceModelVersion?: string; + NextToken?: string; /** *

                            An array of Face objects.

                            @@ -4280,15 +4610,15 @@ export namespace ListFacesResponse { export interface ListStreamProcessorsRequest { /** - *

                            If the previous response was incomplete (because there are more stream processors to retrieve), Amazon Rekognition Video - * returns a pagination token in the response. You can use this pagination token to retrieve the next set of stream processors.

                            + *

                            Maximum number of stream processors you want Amazon Rekognition Video to return in the response. The default is 1000.

                            */ - NextToken?: string; + MaxResults?: number; /** - *

                            Maximum number of stream processors you want Amazon Rekognition Video to return in the response. The default is 1000.

                            + *

                            If the previous response was incomplete (because there are more stream processors to retrieve), Amazon Rekognition Video + * returns a pagination token in the response. You can use this pagination token to retrieve the next set of stream processors.

                            */ - MaxResults?: number; + NextToken?: string; } export namespace ListStreamProcessorsRequest { @@ -4305,14 +4635,14 @@ export namespace ListStreamProcessorsRequest { */ export interface StreamProcessor { /** - *

                            Name of the Amazon Rekognition stream processor.

                            + *

                            Current status of the Amazon Rekognition stream processor.

                            */ - Name?: string; + Status?: StreamProcessorStatus | string; /** - *

                            Current status of the Amazon Rekognition stream processor.

                            + *

                            Name of the Amazon Rekognition stream processor.

                            */ - Status?: StreamProcessorStatus | string; + Name?: string; } export namespace StreamProcessor { @@ -4323,15 +4653,15 @@ export namespace StreamProcessor { export interface ListStreamProcessorsResponse { /** - *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent - * request to retrieve the next set of stream processors.

                            + *

                            List of stream processors that you have created.

                            */ - NextToken?: string; + StreamProcessors?: StreamProcessor[]; /** - *

                            List of stream processors that you have created.

                            + *

                            If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent + * request to retrieve the next set of stream processors.

                            */ - StreamProcessors?: StreamProcessor[]; + NextToken?: string; } export namespace ListStreamProcessorsResponse { @@ -4380,11 +4710,6 @@ export namespace RecognizeCelebritiesRequest { } export interface RecognizeCelebritiesResponse { - /** - *

                            Details about each unrecognized face in the image.

                            - */ - UnrecognizedFaces?: ComparedFace[]; - /** *

                            The orientation of the input image (counterclockwise direction). If your application * displays the image, you can use this value to correct the orientation. The bounding box @@ -4402,7 +4727,12 @@ export interface RecognizeCelebritiesResponse { OrientationCorrection?: OrientationCorrection | string; /** - *

                            Details about each celebrity found in the image. Amazon Rekognition can detect a maximum of 15 + *

                            Details about each unrecognized face in the image.

                            + */ + UnrecognizedFaces?: ComparedFace[]; + + /** + *

                            Details about each celebrity found in the image. Amazon Rekognition can detect a maximum of 64 * celebrities in an image.

                            */ CelebrityFaces?: Celebrity[]; @@ -4414,30 +4744,30 @@ export namespace RecognizeCelebritiesResponse { }); } -export interface SearchFacesRequest { +export interface SearchFacesRequest { + /** + *

                            Optional value specifying the minimum confidence in the face match to return. For + * example, don't return any matches where confidence in matches is less than 70%. + * The default value is 80%. + *

                            + */ + FaceMatchThreshold?: number; + /** *

                            ID of a face to find matches for in the collection.

                            */ FaceId: string | undefined; - /** - *

                            Maximum number of faces to return. The operation returns the maximum number of faces - * with the highest confidence in the match.

                            - */ - MaxFaces?: number; - /** *

                            ID of the collection the face belongs to.

                            */ CollectionId: string | undefined; /** - *

                            Optional value specifying the minimum confidence in the face match to return. For - * example, don't return any matches where confidence in matches is less than 70%. - * The default value is 80%. - *

                            + *

                            Maximum number of faces to return. The operation returns the maximum number of faces + * with the highest confidence in the match.

                            */ - FaceMatchThreshold?: number; + MaxFaces?: number; } export namespace SearchFacesRequest { @@ -4452,16 +4782,16 @@ export interface SearchFacesResponse { */ SearchedFaceId?: string; - /** - *

                            Version number of the face detection model associated with the input collection (CollectionId).

                            - */ - FaceModelVersion?: string; - /** *

                            An array of faces that matched the input face, along with the confidence in the * match.

                            */ FaceMatches?: FaceMatch[]; + + /** + *

                            Version number of the face detection model associated with the input collection (CollectionId).

                            + */ + FaceModelVersion?: string; } export namespace SearchFacesResponse { @@ -4471,12 +4801,6 @@ export namespace SearchFacesResponse { } export interface SearchFacesByImageRequest { - /** - *

                            Maximum number of faces to return. The operation returns the maximum number of faces - * with the highest confidence in the match.

                            - */ - MaxFaces?: number; - /** *

                            (Optional) Specifies the minimum confidence in the face match to return. For example, * don't return any matches where confidence in matches is less than 70%. @@ -4494,6 +4818,11 @@ export interface SearchFacesByImageRequest { */ Image: Image | undefined; + /** + *

                            ID of the collection to search.

                            + */ + CollectionId: string | undefined; + /** *

                            A filter that specifies a quality bar for how much filtering is done to identify faces. * Filtered faces aren't searched for in the collection. If you specify AUTO, Amazon Rekognition @@ -4512,9 +4841,10 @@ export interface SearchFacesByImageRequest { QualityFilter?: QualityFilter | string; /** - *

                            ID of the collection to search.

                            + *

                            Maximum number of faces to return. The operation returns the maximum number of faces + * with the highest confidence in the match.

                            */ - CollectionId: string | undefined; + MaxFaces?: number; } export namespace SearchFacesByImageRequest { @@ -4524,12 +4854,6 @@ export namespace SearchFacesByImageRequest { } export interface SearchFacesByImageResponse { - /** - *

                            The level of confidence that the searchedFaceBoundingBox, contains a - * face.

                            - */ - SearchedFaceConfidence?: number; - /** *

                            The bounding box around the face in the input image that Amazon Rekognition used for the * search.

                            @@ -4537,15 +4861,21 @@ export interface SearchFacesByImageResponse { SearchedFaceBoundingBox?: BoundingBox; /** - *

                            An array of faces that match the input face, along with the confidence in the - * match.

                            + *

                            Version number of the face detection model associated with the input collection (CollectionId).

                            */ - FaceMatches?: FaceMatch[]; + FaceModelVersion?: string; /** - *

                            Version number of the face detection model associated with the input collection (CollectionId).

                            + *

                            The level of confidence that the searchedFaceBoundingBox, contains a + * face.

                            */ - FaceModelVersion?: string; + SearchedFaceConfidence?: number; + + /** + *

                            An array of faces that match the input face, along with the confidence in the + * match.

                            + */ + FaceMatches?: FaceMatch[]; } export namespace SearchFacesByImageResponse { @@ -4572,6 +4902,12 @@ export namespace Video { } export interface StartCelebrityRecognitionRequest { + /** + *

                            The video in which you want to recognize celebrities. The video must be stored + * in an Amazon S3 bucket.

                            + */ + Video: Video | undefined; + /** *

                            Idempotent token used to identify the start request. If you use the same token with multiple * StartCelebrityRecognition requests, the same JobId is returned. Use @@ -4580,22 +4916,16 @@ export interface StartCelebrityRecognitionRequest { ClientRequestToken?: string; /** - *

                            The video in which you want to recognize celebrities. The video must be stored - * in an Amazon S3 bucket.

                            + *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. + * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            */ - Video: Video | undefined; + JobTag?: string; /** *

                            The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the * celebrity recognition analysis to.

                            */ NotificationChannel?: NotificationChannel; - - /** - *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. - * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            - */ - JobTag?: string; } export namespace StartCelebrityRecognitionRequest { @@ -4625,12 +4955,13 @@ export namespace StartCelebrityRecognitionResponse { export interface VideoTooLargeException extends __SmithyException, $MetadataBearer { name: "VideoTooLargeException"; $fault: "client"; - Message?: string; - Code?: string; /** *

                            A universally unique identifier (UUID) for the request.

                            */ Logref?: string; + + Message?: string; + Code?: string; } export namespace VideoTooLargeException { @@ -4640,15 +4971,6 @@ export namespace VideoTooLargeException { } export interface StartContentModerationRequest { - /** - *

                            Specifies the minimum confidence that Amazon Rekognition must have in order to return a moderated content label. Confidence - * represents how certain Amazon Rekognition is that the moderated content is correctly identified. 0 is the lowest confidence. - * 100 is the highest confidence. Amazon Rekognition doesn't return any moderated content labels with a confidence level - * lower than this specified value. If you don't specify MinConfidence, GetContentModeration - * returns labels with confidence values greater than or equal to 50 percent.

                            - */ - MinConfidence?: number; - /** *

                            The video in which you want to detect unsafe content. The video must be stored * in an Amazon S3 bucket.

                            @@ -4656,10 +4978,13 @@ export interface StartContentModerationRequest { Video: Video | undefined; /** - *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. - * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            + *

                            Specifies the minimum confidence that Amazon Rekognition must have in order to return a moderated content label. Confidence + * represents how certain Amazon Rekognition is that the moderated content is correctly identified. 0 is the lowest confidence. + * 100 is the highest confidence. Amazon Rekognition doesn't return any moderated content labels with a confidence level + * lower than this specified value. If you don't specify MinConfidence, GetContentModeration + * returns labels with confidence values greater than or equal to 50 percent.

                            */ - JobTag?: string; + MinConfidence?: number; /** *

                            The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the @@ -4673,6 +4998,12 @@ export interface StartContentModerationRequest { * ClientRequestToken to prevent the same job from being accidently started more than once.

                            */ ClientRequestToken?: string; + + /** + *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. + * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            + */ + JobTag?: string; } export namespace StartContentModerationRequest { @@ -4697,10 +5028,19 @@ export namespace StartContentModerationResponse { export interface StartFaceDetectionRequest { /** - *

                            The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the - * face detection operation.

                            + *

                            The face attributes you want returned.

                            + *

                            + * DEFAULT - The following subset of facial attributes are returned: BoundingBox, Confidence, Pose, Quality and Landmarks.

                            + *

                            + * ALL - All facial attributes are returned.

                            */ - NotificationChannel?: NotificationChannel; + FaceAttributes?: FaceAttributes | string; + + /** + *

                            The video in which you want to detect faces. The video must be stored + * in an Amazon S3 bucket.

                            + */ + Video: Video | undefined; /** *

                            Idempotent token used to identify the start request. If you use the same token with multiple @@ -4710,25 +5050,16 @@ export interface StartFaceDetectionRequest { ClientRequestToken?: string; /** - *

                            The video in which you want to detect faces. The video must be stored - * in an Amazon S3 bucket.

                            + *

                            The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the + * face detection operation.

                            */ - Video: Video | undefined; + NotificationChannel?: NotificationChannel; /** *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            */ JobTag?: string; - - /** - *

                            The face attributes you want returned.

                            - *

                            - * DEFAULT - The following subset of facial attributes are returned: BoundingBox, Confidence, Pose, Quality and Landmarks.

                            - *

                            - * ALL - All facial attributes are returned.

                            - */ - FaceAttributes?: FaceAttributes | string; } export namespace StartFaceDetectionRequest { @@ -4753,15 +5084,15 @@ export namespace StartFaceDetectionResponse { export interface StartFaceSearchRequest { /** - *

                            The minimum confidence in the person match to return. For example, don't return any matches where confidence in matches is less than 70%. - * The default value is 80%.

                            + *

                            ID of the collection that contains the faces you want to search for.

                            */ - FaceMatchThreshold?: number; + CollectionId: string | undefined; /** - *

                            ID of the collection that contains the faces you want to search for.

                            + *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. + * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            */ - CollectionId: string | undefined; + JobTag?: string; /** *

                            Idempotent token used to identify the start request. If you use the same token with multiple @@ -4771,20 +5102,20 @@ export interface StartFaceSearchRequest { ClientRequestToken?: string; /** - *

                            The video you want to search. The video must be stored in an Amazon S3 bucket.

                            + *

                            The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search.

                            */ - Video: Video | undefined; + NotificationChannel?: NotificationChannel; /** - *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. - * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            + *

                            The video you want to search. The video must be stored in an Amazon S3 bucket.

                            */ - JobTag?: string; + Video: Video | undefined; /** - *

                            The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search.

                            + *

                            The minimum confidence in the person match to return. For example, don't return any matches where confidence in matches is less than 70%. + * The default value is 80%.

                            */ - NotificationChannel?: NotificationChannel; + FaceMatchThreshold?: number; } export namespace StartFaceSearchRequest { @@ -4825,10 +5156,10 @@ export interface StartLabelDetectionRequest { MinConfidence?: number; /** - *

                            The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the label detection - * operation to.

                            + *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. + * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            */ - NotificationChannel?: NotificationChannel; + JobTag?: string; /** *

                            The video in which you want to detect labels. The video must be stored @@ -4837,10 +5168,10 @@ export interface StartLabelDetectionRequest { Video: Video | undefined; /** - *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. - * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            + *

                            The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the label detection + * operation to.

                            */ - JobTag?: string; + NotificationChannel?: NotificationChannel; } export namespace StartLabelDetectionRequest { @@ -4877,17 +5208,17 @@ export interface StartPersonTrackingRequest { */ Video: Video | undefined; - /** - *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. - * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            - */ - JobTag?: string; - /** *

                            The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the people detection * operation to.

                            */ NotificationChannel?: NotificationChannel; + + /** + *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. + * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            + */ + JobTag?: string; } export namespace StartPersonTrackingRequest { @@ -4996,14 +5327,14 @@ export namespace StartTechnicalCueDetectionFilter { */ export interface StartSegmentDetectionFilters { /** - *

                            Filters that are specific to shot detections.

                            + *

                            Filters that are specific to technical cues.

                            */ - ShotFilter?: StartShotDetectionFilter; + TechnicalCueFilter?: StartTechnicalCueDetectionFilter; /** - *

                            Filters that are specific to technical cues.

                            + *

                            Filters that are specific to shot detections.

                            */ - TechnicalCueFilter?: StartTechnicalCueDetectionFilter; + ShotFilter?: StartShotDetectionFilter; } export namespace StartSegmentDetectionFilters { @@ -5014,27 +5345,14 @@ export namespace StartSegmentDetectionFilters { export interface StartSegmentDetectionRequest { /** - *

                            An array of segment types to detect in the video. Valid values are TECHNICAL_CUE and SHOT.

                            - */ - SegmentTypes: (SegmentType | string)[] | undefined; - - /** - *

                            Idempotent token used to identify the start request. If you use the same token with multiple - * StartSegmentDetection requests, the same JobId is returned. Use - * ClientRequestToken to prevent the same job from being accidently started more than once.

                            - */ - ClientRequestToken?: string; - - /** - *

                            The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the - * segment detection operation.

                            + *

                            Filters for technical cue or shot detection.

                            */ - NotificationChannel?: NotificationChannel; + Filters?: StartSegmentDetectionFilters; /** - *

                            Filters for technical cue or shot detection.

                            + *

                            An array of segment types to detect in the video. Valid values are TECHNICAL_CUE and SHOT.

                            */ - Filters?: StartSegmentDetectionFilters; + SegmentTypes: (SegmentType | string)[] | undefined; /** *

                            Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to @@ -5042,11 +5360,24 @@ export interface StartSegmentDetectionRequest { */ Video: Video | undefined; + /** + *

                            Idempotent token used to identify the start request. If you use the same token with multiple + * StartSegmentDetection requests, the same JobId is returned. Use + * ClientRequestToken to prevent the same job from being accidently started more than once.

                            + */ + ClientRequestToken?: string; + /** *

                            An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. * For example, you can use JobTag to group related jobs and identify them in the completion notification.

                            */ JobTag?: string; + + /** + *

                            The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the + * segment detection operation.

                            + */ + NotificationChannel?: NotificationChannel; } export namespace StartSegmentDetectionRequest { @@ -5097,15 +5428,15 @@ export namespace StartStreamProcessorResponse { */ export interface StartTextDetectionFilters { /** - *

                            Filter focusing on a certain area of the frame. Uses a BoundingBox object to set the region - * of the screen.

                            + *

                            Filters focusing on qualities of the text, such as confidence or size.

                            */ - RegionsOfInterest?: RegionOfInterest[]; + WordFilter?: DetectionFilter; /** - *

                            Filters focusing on qualities of the text, such as confidence or size.

                            + *

                            Filter focusing on a certain area of the frame. Uses a BoundingBox object to set the region + * of the screen.

                            */ - WordFilter?: DetectionFilter; + RegionsOfInterest?: RegionOfInterest[]; } export namespace StartTextDetectionFilters { @@ -5115,11 +5446,6 @@ export namespace StartTextDetectionFilters { } export interface StartTextDetectionRequest { - /** - *

                            Optional parameters that let you set criteria the text must meet to be included in your response.

                            - */ - Filters?: StartTextDetectionFilters; - /** *

                            Idempotent token used to identify the start request. If you use the same token with multiple StartTextDetection * requests, the same JobId is returned. Use ClientRequestToken to prevent the same job @@ -5133,6 +5459,12 @@ export interface StartTextDetectionRequest { */ Video: Video | undefined; + /** + *

                            The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the completion status of a video analysis operation. For more information, see + * api-video.

                            + */ + NotificationChannel?: NotificationChannel; + /** *

                            An identifier returned in the completion status published by your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs * and identify them in the completion notification.

                            @@ -5140,10 +5472,9 @@ export interface StartTextDetectionRequest { JobTag?: string; /** - *

                            The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the completion status of a video analysis operation. For more information, see - * api-video.

                            + *

                            Optional parameters that let you set criteria the text must meet to be included in your response.

                            */ - NotificationChannel?: NotificationChannel; + Filters?: StartTextDetectionFilters; } export namespace StartTextDetectionRequest { diff --git a/clients/client-rekognition/protocols/Aws_json1_1.ts b/clients/client-rekognition/protocols/Aws_json1_1.ts index ea6a6663a7de..6d347995af92 100644 --- a/clients/client-rekognition/protocols/Aws_json1_1.ts +++ b/clients/client-rekognition/protocols/Aws_json1_1.ts @@ -37,6 +37,10 @@ import { DetectModerationLabelsCommandInput, DetectModerationLabelsCommandOutput, } from "../commands/DetectModerationLabelsCommand"; +import { + DetectProtectiveEquipmentCommandInput, + DetectProtectiveEquipmentCommandOutput, +} from "../commands/DetectProtectiveEquipmentCommand"; import { DetectTextCommandInput, DetectTextCommandOutput } from "../commands/DetectTextCommand"; import { GetCelebrityInfoCommandInput, GetCelebrityInfoCommandOutput } from "../commands/GetCelebrityInfoCommand"; import { @@ -123,6 +127,7 @@ import { ComparedSourceImageFace, ContentClassifier, ContentModerationDetection, + CoversBodyPart, CreateCollectionRequest, CreateCollectionResponse, CreateProjectRequest, @@ -158,11 +163,14 @@ import { DetectLabelsResponse, DetectModerationLabelsRequest, DetectModerationLabelsResponse, + DetectProtectiveEquipmentRequest, + DetectProtectiveEquipmentResponse, DetectTextFilters, DetectTextRequest, DetectTextResponse, DetectionFilter, Emotion, + EquipmentDetection, EvaluationResult, EyeOpen, Eyeglasses, @@ -234,6 +242,11 @@ import { Pose, ProjectDescription, ProjectVersionDescription, + ProtectiveEquipmentBodyPart, + ProtectiveEquipmentPerson, + ProtectiveEquipmentSummarizationAttributes, + ProtectiveEquipmentSummary, + ProtectiveEquipmentType, ProvisionedThroughputExceededException, Reason, RecognizeCelebritiesRequest, @@ -251,6 +264,7 @@ import { SegmentDetection, SegmentType, SegmentTypeInfo, + ServiceQuotaExceededException, ShotSegment, Smile, StartCelebrityRecognitionRequest, @@ -296,6 +310,7 @@ import { TrainingData, TrainingDataResult, UnindexedFace, + ValidationData, Video, VideoMetadata, VideoTooLargeException, @@ -544,6 +559,19 @@ export const serializeAws_json1_1DetectModerationLabelsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DetectProtectiveEquipmentCommand = async ( + input: DetectProtectiveEquipmentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "RekognitionService.DetectProtectiveEquipment", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DetectProtectiveEquipmentRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DetectTextCommand = async ( input: DetectTextCommandInput, context: __SerdeContext @@ -2807,6 +2835,117 @@ const deserializeAws_json1_1DetectModerationLabelsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DetectProtectiveEquipmentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DetectProtectiveEquipmentCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DetectProtectiveEquipmentResponse(data, context); + const response: DetectProtectiveEquipmentCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DetectProtectiveEquipmentCommandError = 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.rekognition#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ImageTooLargeException": + case "com.amazonaws.rekognition#ImageTooLargeException": + response = { + ...(await deserializeAws_json1_1ImageTooLargeExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerError": + case "com.amazonaws.rekognition#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidImageFormatException": + case "com.amazonaws.rekognition#InvalidImageFormatException": + response = { + ...(await deserializeAws_json1_1InvalidImageFormatExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.rekognition#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidS3ObjectException": + case "com.amazonaws.rekognition#InvalidS3ObjectException": + response = { + ...(await deserializeAws_json1_1InvalidS3ObjectExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ProvisionedThroughputExceededException": + case "com.amazonaws.rekognition#ProvisionedThroughputExceededException": + response = { + ...(await deserializeAws_json1_1ProvisionedThroughputExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.rekognition#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(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_1DetectTextCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3931,6 +4070,14 @@ const deserializeAws_json1_1IndexFacesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ServiceQuotaExceededException": + case "com.amazonaws.rekognition#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.rekognition#ThrottlingException": response = { @@ -6187,6 +6334,21 @@ const deserializeAws_json1_1ResourceNotReadyExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1ServiceQuotaExceededExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ServiceQuotaExceededException(body, context); + const contents: ServiceQuotaExceededException = { + name: "ServiceQuotaExceededException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1ThrottlingExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -6428,6 +6590,21 @@ const serializeAws_json1_1DetectModerationLabelsRequest = ( }; }; +const serializeAws_json1_1DetectProtectiveEquipmentRequest = ( + input: DetectProtectiveEquipmentRequest, + context: __SerdeContext +): any => { + return { + ...(input.Image !== undefined && { Image: serializeAws_json1_1Image(input.Image, context) }), + ...(input.SummarizationAttributes !== undefined && { + SummarizationAttributes: serializeAws_json1_1ProtectiveEquipmentSummarizationAttributes( + input.SummarizationAttributes, + context + ), + }), + }; +}; + const serializeAws_json1_1DetectTextFilters = (input: DetectTextFilters, context: __SerdeContext): any => { return { ...(input.RegionsOfInterest !== undefined && { @@ -6642,6 +6819,25 @@ const serializeAws_json1_1OutputConfig = (input: OutputConfig, context: __SerdeC }; }; +const serializeAws_json1_1ProtectiveEquipmentSummarizationAttributes = ( + input: ProtectiveEquipmentSummarizationAttributes, + context: __SerdeContext +): any => { + return { + ...(input.MinConfidence !== undefined && { MinConfidence: input.MinConfidence }), + ...(input.RequiredEquipmentTypes !== undefined && { + RequiredEquipmentTypes: serializeAws_json1_1ProtectiveEquipmentTypes(input.RequiredEquipmentTypes, context), + }), + }; +}; + +const serializeAws_json1_1ProtectiveEquipmentTypes = ( + input: (ProtectiveEquipmentType | string)[], + context: __SerdeContext +): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1RecognizeCelebritiesRequest = ( input: RecognizeCelebritiesRequest, context: __SerdeContext @@ -7000,6 +7196,10 @@ const deserializeAws_json1_1Beard = (output: any, context: __SerdeContext): Bear } as any; }; +const deserializeAws_json1_1BodyParts = (output: any, context: __SerdeContext): ProtectiveEquipmentBodyPart[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ProtectiveEquipmentBodyPart(entry, context)); +}; + const deserializeAws_json1_1BoundingBox = (output: any, context: __SerdeContext): BoundingBox => { return { Height: output.Height !== undefined && output.Height !== null ? output.Height : undefined, @@ -7164,6 +7364,13 @@ const deserializeAws_json1_1ContentModerationDetections = ( return (output || []).map((entry: any) => deserializeAws_json1_1ContentModerationDetection(entry, context)); }; +const deserializeAws_json1_1CoversBodyPart = (output: any, context: __SerdeContext): CoversBodyPart => { + return { + Confidence: output.Confidence !== undefined && output.Confidence !== null ? output.Confidence : undefined, + Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined, + } as any; +}; + const deserializeAws_json1_1CreateCollectionResponse = ( output: any, context: __SerdeContext @@ -7404,6 +7611,26 @@ const deserializeAws_json1_1DetectModerationLabelsResponse = ( } as any; }; +const deserializeAws_json1_1DetectProtectiveEquipmentResponse = ( + output: any, + context: __SerdeContext +): DetectProtectiveEquipmentResponse => { + return { + Persons: + output.Persons !== undefined && output.Persons !== null + ? deserializeAws_json1_1ProtectiveEquipmentPersons(output.Persons, context) + : undefined, + ProtectiveEquipmentModelVersion: + output.ProtectiveEquipmentModelVersion !== undefined && output.ProtectiveEquipmentModelVersion !== null + ? output.ProtectiveEquipmentModelVersion + : undefined, + Summary: + output.Summary !== undefined && output.Summary !== null + ? deserializeAws_json1_1ProtectiveEquipmentSummary(output.Summary, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DetectTextResponse = (output: any, context: __SerdeContext): DetectTextResponse => { return { TextDetections: @@ -7426,6 +7653,25 @@ const deserializeAws_json1_1Emotions = (output: any, context: __SerdeContext): E return (output || []).map((entry: any) => deserializeAws_json1_1Emotion(entry, context)); }; +const deserializeAws_json1_1EquipmentDetection = (output: any, context: __SerdeContext): EquipmentDetection => { + return { + BoundingBox: + output.BoundingBox !== undefined && output.BoundingBox !== null + ? deserializeAws_json1_1BoundingBox(output.BoundingBox, context) + : undefined, + Confidence: output.Confidence !== undefined && output.Confidence !== null ? output.Confidence : undefined, + CoversBodyPart: + output.CoversBodyPart !== undefined && output.CoversBodyPart !== null + ? deserializeAws_json1_1CoversBodyPart(output.CoversBodyPart, context) + : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_json1_1EquipmentDetections = (output: any, context: __SerdeContext): EquipmentDetection[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1EquipmentDetection(entry, context)); +}; + const deserializeAws_json1_1EvaluationResult = (output: any, context: __SerdeContext): EvaluationResult => { return { F1Score: output.F1Score !== undefined && output.F1Score !== null ? output.F1Score : undefined, @@ -8200,6 +8446,10 @@ const deserializeAws_json1_1ProjectVersionDescription = ( output.EvaluationResult !== undefined && output.EvaluationResult !== null ? deserializeAws_json1_1EvaluationResult(output.EvaluationResult, context) : undefined, + ManifestSummary: + output.ManifestSummary !== undefined && output.ManifestSummary !== null + ? deserializeAws_json1_1GroundTruthManifest(output.ManifestSummary, context) + : undefined, MinInferenceUnits: output.MinInferenceUnits !== undefined && output.MinInferenceUnits !== null ? output.MinInferenceUnits @@ -8237,6 +8487,69 @@ const deserializeAws_json1_1ProjectVersionDescriptions = ( return (output || []).map((entry: any) => deserializeAws_json1_1ProjectVersionDescription(entry, context)); }; +const deserializeAws_json1_1ProtectiveEquipmentBodyPart = ( + output: any, + context: __SerdeContext +): ProtectiveEquipmentBodyPart => { + return { + Confidence: output.Confidence !== undefined && output.Confidence !== null ? output.Confidence : undefined, + EquipmentDetections: + output.EquipmentDetections !== undefined && output.EquipmentDetections !== null + ? deserializeAws_json1_1EquipmentDetections(output.EquipmentDetections, context) + : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + +const deserializeAws_json1_1ProtectiveEquipmentPerson = ( + output: any, + context: __SerdeContext +): ProtectiveEquipmentPerson => { + return { + BodyParts: + output.BodyParts !== undefined && output.BodyParts !== null + ? deserializeAws_json1_1BodyParts(output.BodyParts, context) + : undefined, + BoundingBox: + output.BoundingBox !== undefined && output.BoundingBox !== null + ? deserializeAws_json1_1BoundingBox(output.BoundingBox, context) + : undefined, + Confidence: output.Confidence !== undefined && output.Confidence !== null ? output.Confidence : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + } as any; +}; + +const deserializeAws_json1_1ProtectiveEquipmentPersonIds = (output: any, context: __SerdeContext): number[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1ProtectiveEquipmentPersons = ( + output: any, + context: __SerdeContext +): ProtectiveEquipmentPerson[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ProtectiveEquipmentPerson(entry, context)); +}; + +const deserializeAws_json1_1ProtectiveEquipmentSummary = ( + output: any, + context: __SerdeContext +): ProtectiveEquipmentSummary => { + return { + PersonsIndeterminate: + output.PersonsIndeterminate !== undefined && output.PersonsIndeterminate !== null + ? deserializeAws_json1_1ProtectiveEquipmentPersonIds(output.PersonsIndeterminate, context) + : undefined, + PersonsWithRequiredEquipment: + output.PersonsWithRequiredEquipment !== undefined && output.PersonsWithRequiredEquipment !== null + ? deserializeAws_json1_1ProtectiveEquipmentPersonIds(output.PersonsWithRequiredEquipment, context) + : undefined, + PersonsWithoutRequiredEquipment: + output.PersonsWithoutRequiredEquipment !== undefined && output.PersonsWithoutRequiredEquipment !== null + ? deserializeAws_json1_1ProtectiveEquipmentPersonIds(output.PersonsWithoutRequiredEquipment, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ProvisionedThroughputExceededException = ( output: any, context: __SerdeContext @@ -8403,6 +8716,17 @@ const deserializeAws_json1_1SegmentTypesInfo = (output: any, context: __SerdeCon return (output || []).map((entry: any) => deserializeAws_json1_1SegmentTypeInfo(entry, context)); }; +const deserializeAws_json1_1ServiceQuotaExceededException = ( + output: any, + context: __SerdeContext +): ServiceQuotaExceededException => { + return { + Code: output.Code !== undefined && output.Code !== null ? output.Code : undefined, + Logref: output.Logref !== undefined && output.Logref !== null ? output.Logref : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1ShotSegment = (output: any, context: __SerdeContext): ShotSegment => { return { Confidence: output.Confidence !== undefined && output.Confidence !== null ? output.Confidence : undefined, @@ -8605,6 +8929,10 @@ const deserializeAws_json1_1TestingDataResult = (output: any, context: __SerdeCo output.Output !== undefined && output.Output !== null ? deserializeAws_json1_1TestingData(output.Output, context) : undefined, + Validation: + output.Validation !== undefined && output.Validation !== null + ? deserializeAws_json1_1ValidationData(output.Validation, context) + : undefined, } as any; }; @@ -8667,6 +8995,10 @@ const deserializeAws_json1_1TrainingDataResult = (output: any, context: __SerdeC output.Output !== undefined && output.Output !== null ? deserializeAws_json1_1TrainingData(output.Output, context) : undefined, + Validation: + output.Validation !== undefined && output.Validation !== null + ? deserializeAws_json1_1ValidationData(output.Validation, context) + : undefined, } as any; }; @@ -8691,6 +9023,15 @@ const deserializeAws_json1_1Urls = (output: any, context: __SerdeContext): strin return (output || []).map((entry: any) => entry); }; +const deserializeAws_json1_1ValidationData = (output: any, context: __SerdeContext): ValidationData => { + return { + Assets: + output.Assets !== undefined && output.Assets !== null + ? deserializeAws_json1_1Assets(output.Assets, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1VideoMetadata = (output: any, context: __SerdeContext): VideoMetadata => { return { Codec: output.Codec !== undefined && output.Codec !== null ? output.Codec : undefined, diff --git a/clients/client-resource-groups-tagging-api/ResourceGroupsTaggingAPI.ts b/clients/client-resource-groups-tagging-api/ResourceGroupsTaggingAPI.ts index 379ff1af69c6..fcf835ec1574 100644 --- a/clients/client-resource-groups-tagging-api/ResourceGroupsTaggingAPI.ts +++ b/clients/client-resource-groups-tagging-api/ResourceGroupsTaggingAPI.ts @@ -39,17 +39,21 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** * Resource Groups Tagging API - * *

                            This guide describes the API operations for the resource groups tagging.

                            *

                            A tag is a label that you assign to an AWS resource. A tag consists of a key and a * value, both of which you define. For example, if you have two Amazon EC2 instances, you might * assign both a tag key of "Stack." But the value of "Stack" might be "Testing" for one * and "Production" for the other.

                            + * + *

                            Do not store personally identifiable information (PII) or other confidential or + * sensitive information in tags. We use tags to provide you with billing and + * administration services. Tags are not intended to be used for private or sensitive + * data.

                            + *
                            *

                            Tagging can help you organize your resources and enables you to simplify resource * management, access management and cost allocation.

                            *

                            You can use the resource groups tagging API operations to complete the following * tasks:

                            - * *
                              *
                            • *

                              Tag and untag supported resources located in the specified Region for the @@ -68,10 +72,8 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * AWS account.

                              *
                            • *
                            - * *

                            To use resource groups tagging API operations, you must add the following permissions * to your IAM policy:

                            - * *
                              *
                            • *

                              @@ -99,305 +101,698 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

                              *
                            • *
                            - * *

                            You'll also need permissions to access the resources of individual services so that * you can tag and untag those resources.

                            *

                            For more information on IAM policies, see Managing IAM * Policies in the IAM User Guide.

                            + *

                            + * + * Services that support the Resource Groups Tagging + * API + * + *

                            *

                            You can use the Resource Groups Tagging API to tag resources for the following AWS * services.

                            - * * */ @@ -643,6 +1038,12 @@ export class ResourceGroupsTaggingAPI extends ResourceGroupsTaggingAPIClient { * information, see this list.

                            * *
                          + * + *

                          Do not store personally identifiable information (PII) or other confidential or + * sensitive information in tags. We use tags to provide you with billing and + * administration services. Tags are not intended to be used for private or sensitive + * data.

                          + *
                          */ public tagResources( args: TagResourcesCommandInput, diff --git a/clients/client-resource-groups-tagging-api/ResourceGroupsTaggingAPIClient.ts b/clients/client-resource-groups-tagging-api/ResourceGroupsTaggingAPIClient.ts index ccec6a6dba9f..6660fa72eb2a 100644 --- a/clients/client-resource-groups-tagging-api/ResourceGroupsTaggingAPIClient.ts +++ b/clients/client-resource-groups-tagging-api/ResourceGroupsTaggingAPIClient.ts @@ -198,17 +198,21 @@ export type ResourceGroupsTaggingAPIClientResolvedConfig = __SmithyResolvedConfi /** * Resource Groups Tagging API - * *

                          This guide describes the API operations for the resource groups tagging.

                          *

                          A tag is a label that you assign to an AWS resource. A tag consists of a key and a * value, both of which you define. For example, if you have two Amazon EC2 instances, you might * assign both a tag key of "Stack." But the value of "Stack" might be "Testing" for one * and "Production" for the other.

                          + * + *

                          Do not store personally identifiable information (PII) or other confidential or + * sensitive information in tags. We use tags to provide you with billing and + * administration services. Tags are not intended to be used for private or sensitive + * data.

                          + *
                          *

                          Tagging can help you organize your resources and enables you to simplify resource * management, access management and cost allocation.

                          *

                          You can use the resource groups tagging API operations to complete the following * tasks:

                          - * *
                            *
                          • *

                            Tag and untag supported resources located in the specified Region for the @@ -227,10 +231,8 @@ export type ResourceGroupsTaggingAPIClientResolvedConfig = __SmithyResolvedConfi * AWS account.

                            *
                          • *
                          - * *

                          To use resource groups tagging API operations, you must add the following permissions * to your IAM policy:

                          - * *
                            *
                          • *

                            @@ -258,305 +260,698 @@ export type ResourceGroupsTaggingAPIClientResolvedConfig = __SmithyResolvedConfi *

                            *
                          • *
                          - * *

                          You'll also need permissions to access the resources of individual services so that * you can tag and untag those resources.

                          *

                          For more information on IAM policies, see Managing IAM * Policies in the IAM User Guide.

                          + *

                          + * + * Services that support the Resource Groups Tagging + * API + * + *

                          *

                          You can use the Resource Groups Tagging API to tag resources for the following AWS * services.

                          - * * */ diff --git a/clients/client-resource-groups-tagging-api/models/models_0.ts b/clients/client-resource-groups-tagging-api/models/models_0.ts index a5db38501d0f..aa8a0f84d8f7 100644 --- a/clients/client-resource-groups-tagging-api/models/models_0.ts +++ b/clients/client-resource-groups-tagging-api/models/models_0.ts @@ -7,15 +7,15 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface ComplianceDetails { /** - *

                          These are keys defined in the effective policy that are on the resource with either - * incorrect case treatment or noncompliant values.

                          + *

                          Whether a resource is compliant with the effective tag policy.

                          */ - KeysWithNoncompliantValues?: string[]; + ComplianceStatus?: boolean; /** - *

                          Whether a resource is compliant with the effective tag policy.

                          + *

                          These are keys defined in the effective policy that are on the resource with either + * incorrect case treatment or noncompliant values.

                          */ - ComplianceStatus?: boolean; + KeysWithNoncompliantValues?: string[]; /** *

                          These tag keys on the resource are noncompliant with the effective tag policy.

                          @@ -88,21 +88,11 @@ export namespace DescribeReportCreationInput { } export interface DescribeReportCreationOutput { - /** - *

                          Details of the common errors that all operations return.

                          - */ - ErrorMessage?: string; - /** *

                          The date and time that the report was started.

                          */ StartDate?: string; - /** - *

                          The path to the Amazon S3 bucket where the report was stored on creation.

                          - */ - S3Location?: string; - /** *

                          Reports the status of the operation.

                          *

                          The operation status can be one of the following:

                          @@ -129,6 +119,16 @@ export interface DescribeReportCreationOutput { *
                        */ Status?: string; + + /** + *

                        Details of the common errors that all operations return.

                        + */ + ErrorMessage?: string; + + /** + *

                        The path to the Amazon S3 bucket where the report was stored on creation.

                        + */ + S3Location?: string; } export namespace DescribeReportCreationOutput { @@ -275,13 +275,6 @@ export enum GroupByAttribute { } export interface GetComplianceSummaryInput { - /** - *

                        The target identifiers (usually, specific account IDs) to limit the output by. If you - * use this parameter, the count of returned noncompliant resources includes only resources - * with the specified target IDs.

                        - */ - TargetIdFilters?: string[]; - /** *

                        A list of tag keys to limit the output by. If you use this parameter, the count of * returned noncompliant resources includes only resources that have the specified tag @@ -289,12 +282,6 @@ export interface GetComplianceSummaryInput { */ TagKeyFilters?: string[]; - /** - *

                        A list of Regions to limit the output by. If you use this parameter, the count of - * returned noncompliant resources includes only resources in the specified Regions.

                        - */ - RegionFilters?: string[]; - /** *

                        The constraints on the resources that you want returned. The format of each resource * type is service[:resourceType]. For example, specifying a resource type of @@ -321,6 +308,25 @@ export interface GetComplianceSummaryInput { */ ResourceTypeFilters?: string[]; + /** + *

                        The target identifiers (usually, specific account IDs) to limit the output by. If you + * use this parameter, the count of returned noncompliant resources includes only resources + * with the specified target IDs.

                        + */ + TargetIdFilters?: string[]; + + /** + *

                        A list of attributes to group the counts of noncompliant resources by. If supplied, + * the counts are sorted by those attributes.

                        + */ + GroupBy?: (GroupByAttribute | string)[]; + + /** + *

                        A list of Regions to limit the output by. If you use this parameter, the count of + * returned noncompliant resources includes only resources in the specified Regions.

                        + */ + RegionFilters?: string[]; + /** *

                        A string that indicates that additional data is available. Leave this value empty for * your initial request. If the response includes a PaginationToken, use that @@ -332,12 +338,6 @@ export interface GetComplianceSummaryInput { *

                        A limit that restricts the number of results that are returned per page.

                        */ MaxResults?: number; - - /** - *

                        A list of attributes to group the counts of noncompliant resources by. If supplied, - * the counts are sorted by those attributes.

                        - */ - GroupBy?: (GroupByAttribute | string)[]; } export namespace GetComplianceSummaryInput { @@ -357,9 +357,10 @@ export enum TargetIdType { */ export interface Summary { /** - *

                        The timestamp that shows when this summary was generated in this Region.

                        + *

                        The account identifier or the root identifier of the organization. If you don't know + * the root ID, you can call the AWS Organizations ListRoots API.

                        */ - LastUpdated?: string; + TargetId?: string; /** *

                        The AWS resource type.

                        @@ -367,25 +368,24 @@ export interface Summary { ResourceType?: string; /** - *

                        The AWS Region that the summary applies to.

                        + *

                        Whether the target is an account, an OU, or the organization root.

                        */ - Region?: string; + TargetIdType?: TargetIdType | string; /** - *

                        Whether the target is an account, an OU, or the organization root.

                        + *

                        The count of noncompliant resources.

                        */ - TargetIdType?: TargetIdType | string; + NonCompliantResources?: number; /** - *

                        The account identifier or the root identifier of the organization. If you don't know - * the root ID, you can call the AWS Organizations ListRoots API.

                        + *

                        The timestamp that shows when this summary was generated in this Region.

                        */ - TargetId?: string; + LastUpdated?: string; /** - *

                        The count of noncompliant resources.

                        + *

                        The AWS Region that the summary applies to.

                        */ - NonCompliantResources?: number; + Region?: string; } export namespace Summary { @@ -420,14 +420,14 @@ export namespace GetComplianceSummaryOutput { */ export interface TagFilter { /** - *

                        One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values.

                        + *

                        One part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key). The value can be empty or null.

                        */ - Key?: string; + Values?: string[]; /** - *

                        One part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key). The value can be empty or null.

                        + *

                        One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values.

                        */ - Values?: string[]; + Key?: string; } export namespace TagFilter { @@ -457,20 +457,6 @@ export interface GetResourcesInput { */ TagsPerPage?: number; - /** - *

                        A limit that restricts the number of resources returned by GetResources in paginated - * output. You can set ResourcesPerPage to a minimum of 1 item and the maximum of 100 - * items.

                        - */ - ResourcesPerPage?: number; - - /** - *

                        A string that indicates that additional data is available. Leave this value empty for - * your initial request. If the response includes a PaginationToken, use that - * string for this value to request an additional page of data.

                        - */ - PaginationToken?: string; - /** *

                        A list of TagFilters (keys and values). Each TagFilter specified must contain a key * with values as optional. A request can include up to 50 keys, and each key can include @@ -525,6 +511,13 @@ export interface GetResourcesInput { */ TagFilters?: TagFilter[]; + /** + *

                        Specifies whether to include details regarding the compliance with the effective tag + * policy. Set this to true to determine whether resources are compliant with + * the tag policy and to get details.

                        + */ + IncludeComplianceDetails?: boolean; + /** *

                        Specifies whether to exclude resources that are compliant with the tag policy. Set * this to true if you are interested in retrieving information on @@ -534,6 +527,13 @@ export interface GetResourcesInput { */ ExcludeCompliantResources?: boolean; + /** + *

                        A limit that restricts the number of resources returned by GetResources in paginated + * output. You can set ResourcesPerPage to a minimum of 1 item and the maximum of 100 + * items.

                        + */ + ResourcesPerPage?: number; + /** *

                        The constraints on the resources that you want returned. The format of each resource * type is service[:resourceType]. For example, specifying a resource type of @@ -561,11 +561,11 @@ export interface GetResourcesInput { ResourceTypeFilters?: string[]; /** - *

                        Specifies whether to include details regarding the compliance with the effective tag - * policy. Set this to true to determine whether resources are compliant with - * the tag policy and to get details.

                        + *

                        A string that indicates that additional data is available. Leave this value empty for + * your initial request. If the response includes a PaginationToken, use that + * string for this value to request an additional page of data.

                        */ - IncludeComplianceDetails?: boolean; + PaginationToken?: string; } export namespace GetResourcesInput { @@ -582,14 +582,14 @@ export namespace GetResourcesInput { */ export interface Tag { /** - *

                        One part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key). The value can be empty or null.

                        + *

                        One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values.

                        */ - Value: string | undefined; + Key: string | undefined; /** - *

                        One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values.

                        + *

                        One part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key). The value can be empty or null.

                        */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -663,13 +663,14 @@ export namespace PaginationTokenExpiredException { } export interface GetTagKeysInput { - MaxResults?: number; /** *

                        A string that indicates that additional data is available. Leave this value empty for * your initial request. If the response includes a PaginationToken, use that * string for this value to request an additional page of data.

                        */ PaginationToken?: string; + + MaxResults?: number; } export namespace GetTagKeysInput { @@ -679,17 +680,17 @@ export namespace GetTagKeysInput { } export interface GetTagKeysOutput { + /** + *

                        A list of all tag keys in the AWS account.

                        + */ + TagKeys?: string[]; + /** *

                        A string that indicates that the response contains more data than can be returned in a * single response. To receive additional data, specify this string for the * PaginationToken value in a subsequent request.

                        */ PaginationToken?: string; - - /** - *

                        A list of all tag keys in the AWS account.

                        - */ - TagKeys?: string[]; } export namespace GetTagKeysOutput { @@ -699,20 +700,19 @@ export namespace GetTagKeysOutput { } export interface GetTagValuesInput { - /** - *

                        A string that indicates that additional data is available. Leave this value empty for - * your initial request. If the response includes a PaginationToken, use that - * string for this value to request an additional page of data.

                        - */ - PaginationToken?: string; - + MaxResults?: number; /** *

                        The key for which you want to list all existing values in the specified Region for the * AWS account.

                        */ Key: string | undefined; - MaxResults?: number; + /** + *

                        A string that indicates that additional data is available. Leave this value empty for + * your initial request. If the response includes a PaginationToken, use that + * string for this value to request an additional page of data.

                        + */ + PaginationToken?: string; } export namespace GetTagValuesInput { @@ -722,17 +722,17 @@ export namespace GetTagValuesInput { } export interface GetTagValuesOutput { + /** + *

                        A list of all tag values for the specified key in the AWS account.

                        + */ + TagValues?: string[]; + /** *

                        A string that indicates that the response contains more data than can be returned in a * single response. To receive additional data, specify this string for the * PaginationToken value in a subsequent request.

                        */ PaginationToken?: string; - - /** - *

                        A list of all tag values for the specified key in the AWS account.

                        - */ - TagValues?: string[]; } export namespace GetTagValuesOutput { @@ -806,11 +806,6 @@ export namespace TagResourcesOutput { } export interface UntagResourcesInput { - /** - *

                        A list of the tag keys that you want to remove from the specified resources.

                        - */ - TagKeys: string[] | undefined; - /** *

                        A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. For more * information, see Amazon Resource @@ -818,6 +813,11 @@ export interface UntagResourcesInput { * Reference.

                        */ ResourceARNList: string[] | undefined; + + /** + *

                        A list of the tag keys that you want to remove from the specified resources.

                        + */ + TagKeys: string[] | undefined; } export namespace UntagResourcesInput { diff --git a/clients/client-resource-groups/ResourceGroups.ts b/clients/client-resource-groups/ResourceGroups.ts index 43c78f3ade3b..bc8a3c725ad2 100644 --- a/clients/client-resource-groups/ResourceGroups.ts +++ b/clients/client-resource-groups/ResourceGroups.ts @@ -47,23 +47,21 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** * AWS Resource Groups * - *

                        AWS Resource Groups lets you organize AWS resources such as Amazon EC2 instances, - * Amazon Relational Database Service databases, and Amazon S3 buckets into groups using - * criteria that you define as tags. A resource group is a collection of resources that - * match the resource types specified in a query, and share one or more tags or portions of - * tags. You can create a group of resources based on their roles in your cloud - * infrastructure, lifecycle stages, regions, application layers, or virtually any - * criteria. Resource groups enable you to automate management tasks, such as those in AWS - * Systems Manager Automation documents, on tag-related resources in AWS Systems Manager. - * Groups of tagged resources also let you quickly view a custom console in AWS Systems - * Manager that shows AWS Config compliance and other monitoring data about member + *

                        AWS Resource Groups lets you organize AWS resources such as Amazon EC2 instances, Amazon Relational Database Service + * databases, and Amazon S3 buckets into groups using criteria that you define as tags. A + * resource group is a collection of resources that match the resource types specified in a + * query, and share one or more tags or portions of tags. You can create a group of + * resources based on their roles in your cloud infrastructure, lifecycle stages, regions, + * application layers, or virtually any criteria. Resource Groups enable you to automate management + * tasks, such as those in AWS Systems Manager Automation documents, on tag-related resources in + * AWS Systems Manager. Groups of tagged resources also let you quickly view a custom console in + * AWS Systems Manager that shows AWS Config compliance and other monitoring data about member * resources.

                        *

                        To create a resource group, build a resource query, and specify tags that identify the * criteria that members of the group have in common. Tags are key-value pairs.

                        - *

                        For more information about Resource Groups, see the AWS Resource Groups User - * Guide.

                        - *

                        AWS Resource Groups uses a REST-compliant API that you can use to perform the - * following types of operations.

                        + *

                        For more information about Resource Groups, see the AWS Resource Groups User Guide.

                        + *

                        AWS Resource Groups uses a REST-compliant API that you can use to perform the following types of + * operations.

                        *
                          *
                        • *

                          Create, Read, Update, and Delete (CRUD) operations on resource groups and @@ -357,8 +355,8 @@ export class ResourceGroups extends ResourceGroupsClient { } /** - *

                          Returns a list of AWS resource identifiers that matches tne specified query. The query - * uses the same format as a resource query in a CreateGroup or UpdateGroupQuery + *

                          Returns a list of AWS resource identifiers that matches the specified query. The + * query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery * operation.

                          */ public searchResources( diff --git a/clients/client-resource-groups/ResourceGroupsClient.ts b/clients/client-resource-groups/ResourceGroupsClient.ts index f2313be29f78..71d11c57ce91 100644 --- a/clients/client-resource-groups/ResourceGroupsClient.ts +++ b/clients/client-resource-groups/ResourceGroupsClient.ts @@ -214,23 +214,21 @@ export type ResourceGroupsClientResolvedConfig = __SmithyResolvedConfiguration<_ /** * AWS Resource Groups * - *

                          AWS Resource Groups lets you organize AWS resources such as Amazon EC2 instances, - * Amazon Relational Database Service databases, and Amazon S3 buckets into groups using - * criteria that you define as tags. A resource group is a collection of resources that - * match the resource types specified in a query, and share one or more tags or portions of - * tags. You can create a group of resources based on their roles in your cloud - * infrastructure, lifecycle stages, regions, application layers, or virtually any - * criteria. Resource groups enable you to automate management tasks, such as those in AWS - * Systems Manager Automation documents, on tag-related resources in AWS Systems Manager. - * Groups of tagged resources also let you quickly view a custom console in AWS Systems - * Manager that shows AWS Config compliance and other monitoring data about member + *

                          AWS Resource Groups lets you organize AWS resources such as Amazon EC2 instances, Amazon Relational Database Service + * databases, and Amazon S3 buckets into groups using criteria that you define as tags. A + * resource group is a collection of resources that match the resource types specified in a + * query, and share one or more tags or portions of tags. You can create a group of + * resources based on their roles in your cloud infrastructure, lifecycle stages, regions, + * application layers, or virtually any criteria. Resource Groups enable you to automate management + * tasks, such as those in AWS Systems Manager Automation documents, on tag-related resources in + * AWS Systems Manager. Groups of tagged resources also let you quickly view a custom console in + * AWS Systems Manager that shows AWS Config compliance and other monitoring data about member * resources.

                          *

                          To create a resource group, build a resource query, and specify tags that identify the * criteria that members of the group have in common. Tags are key-value pairs.

                          - *

                          For more information about Resource Groups, see the AWS Resource Groups User - * Guide.

                          - *

                          AWS Resource Groups uses a REST-compliant API that you can use to perform the - * following types of operations.

                          + *

                          For more information about Resource Groups, see the AWS Resource Groups User Guide.

                          + *

                          AWS Resource Groups uses a REST-compliant API that you can use to perform the following types of + * operations.

                          *
                            *
                          • *

                            Create, Read, Update, and Delete (CRUD) operations on resource groups and diff --git a/clients/client-resource-groups/models/models_0.ts b/clients/client-resource-groups/models/models_0.ts index af6f943433da..1de866e75ca0 100644 --- a/clients/client-resource-groups/models/models_0.ts +++ b/clients/client-resource-groups/models/models_0.ts @@ -45,8 +45,8 @@ export interface GroupConfigurationParameter { * parameters.

                            *
                          • *
                          - *

                          For more information about EC2 capacity reservation groups, see Working with capacity reservation groups in the EC2 Users - * Guide.

                          + *

                          For more information about EC2 capacity reservation groups, see Working with capacity reservation groups in the EC2 + * Users Guide.

                          *
                        • *
                        */ @@ -85,8 +85,8 @@ export interface GroupConfigurationItem { *

                        * AWS::EC2::CapacityReservationPool *

                        - *

                        For more information about EC2 capacity reservation groups, see Working with capacity reservation groups in the EC2 Users - * Guide.

                        + *

                        For more information about EC2 capacity reservation groups, see Working with capacity reservation groups in the EC2 + * Users Guide.

                        *
                      • *
                      • *

                        @@ -115,14 +115,111 @@ export enum QueryType { } /** - *

                        The query that is used to define a resource group or a search for resources.

                        + *

                        The query that is used to define a resource group or a search for resources. A query + * specifies both a query type and a query string as a JSON object. See the examples + * section for example JSON strings.

                        + *

                        The examples that follow are shown as standard JSON strings. If you include such a + * string as a parameter to the AWS CLI or an SDK API, you might need to 'escape' the + * string into a single line. For example, see the Quoting + * strings in the AWS CLI User Guide.

                        + *

                        + * Example 1 + *

                        + *

                        The following generic example shows a resource query JSON string that includes + * only resources that meet the following criteria:

                        + *
                          + *
                        • + *

                          The resource type must be either resource_type1 or + * resource_type2.

                          + *
                        • + *
                        • + *

                          The resource must have a tag Key1 with a value of either + * ValueA or ValueB.

                          + *
                        • + *
                        • + *

                          The resource must have a tag Key2 with a value of either + * ValueC or ValueD.

                          + *
                        • + *
                        + *

                        + * { + * "Type": "TAG_FILTERS_1_0", + * "Query": { + * "ResourceTypeFilters": [ "resource_type1", "resource_type2"], + * "TagFilters": [ + * { + * "Key": "Key1", + * "Values": ["ValueA","ValueB"] + * }, + * { + * "Key":"Key2", + * "Values":["ValueC","ValueD"] + * } + * ] + * } + * } + *

                        + *

                        This has the equivalent "shortcut" syntax of the following:

                        + *

                        + * { + * "Type": "TAG_FILTERS_1_0", + * "Query": { + * "ResourceTypeFilters": [ "resource_type1", "resource_type2"], + * "TagFilters": [ + * { "Key1": ["ValueA","ValueB"] }, + * { "Key2": ["ValueC","ValueD"] + * } + * ] + * } + * } + *

                        + *

                        + * Example 2 + *

                        + *

                        The following example shows a resource query JSON string that includes only + * Amazon EC2 instances that are tagged Stage with a value of + * Test.

                        + *

                        + * { + * "Type": "TAG_FILTERS_1_0", + * "Query": "{ + * "ResourceTypeFilters": "AWS::EC2::Instance", + * "TagFilters": { "Stage": "Test" } + * } + * } + *

                        + *

                        + * Example 3 + *

                        + *

                        The following example shows a resource query JSON string that includes + * resource of any supported type as long as it is tagged Stage with a + * value of Prod.

                        + *

                        + * { + * "Type": "TAG_FILTERS_1_0", + * "Query": { + * "ResourceTypeFilters": "AWS::AllSupported", + * "TagFilters": { "Stage": "Prod" } + * } + * } + *

                        + *

                        + * Example 4 + *

                        + *

                        The following example shows a resource query JSON string that includes only + * Amazon EC2 instances and Amazon S3 buckets that are part of the specified AWS CloudFormation + * stack.

                        + *

                        + * { + * "Type": "CLOUDFORMATION_STACK_1_0", + * "Query": { + * "ResourceTypeFilters": [ "AWS::EC2::Instance", "AWS::S3::Bucket" ], + * "StackIdentifier": "arn:aws:cloudformation:us-west-2:123456789012:stack/AWStestuseraccount/fb0d5000-aba8-00e8-aa9e-50d5cEXAMPLE" + * } + * } + *

                        */ export interface ResourceQuery { - /** - *

                        The query that defines a group or a search.

                        - */ - Query: string | undefined; - /** *

                        The type of the query. You can use the following values:

                        *
                          @@ -130,40 +227,44 @@ export interface ResourceQuery { *

                          * * CLOUDFORMATION_STACK_1_0: - * A JSON syntax that - * lets you specify a CloudFormation stack ARN.

                          + *
                          Specifies that the + * Query contains an ARN for a CloudFormation stack.

                          * *
                        • *

                          * * TAG_FILTERS_1_0: - * A JSON syntax that lets you - * specify a collection of simple tag filters for resource types and tags, as - * supported by the AWS Tagging API - * ResourceTypeFilters parameter of the - * tagging:GetResources - * operation. If you specify more - * than one tag key, only resources that match all tag keys, and at least one value - * of each specified tag key, are returned in your query. If you specify more than - * one value for a tag key, a resource matches the filter if it has a tag key value - * that matches any of the specified values.

                          + * Specifies that the + * Query parameter contains a JSON string that represents a + * collection of simple tag filters for resource types and tags. The JSON string + * uses a syntax similar to the + * GetResources + * operation, but uses only the + * ResourceTypeFilters + * and + * TagFilters + * fields. If you specify more than one tag key, + * only resources that match all tag keys, and at least one value of each specified + * tag key, are returned in your query. If you specify more than one value for a + * tag key, a resource matches the filter if it has a tag key value that matches + * any of the specified values.

                          *

                          For example, consider the following sample query for resources that have two * tags, Stage and Version, with two values each:

                          *

                          - * [{"Key":"Stage","Values":["Test","Deploy"]},{"Key":"Version","Values":["1","2"]}] + * [{"Stage":["Test","Deploy"]},{"Version":["1","2"]}] *

                          *

                          The results of this query could include the following.

                          *
                            *
                          • *

                            An EC2 instance that has the following two tags: - * {"Key":"Stage","Value":"Deploy"}, and - * {"Key":"Version","Value":"2"} + * {"Stage":"Deploy"}, and + * {"Version":"2"} *

                            *
                          • *
                          • *

                            An S3 bucket that has the following two tags: - * {"Key":"Stage","Value":"Test"}, and - * {"Key":"Version","Value":"1"} + * {"Stage":"Test"}, and + * {"Version":"1"} *

                            *
                          • *
                          @@ -171,15 +272,15 @@ export interface ResourceQuery { *
                            *
                          • *

                            An EC2 instance that has only the following tag: - * {"Key":"Stage","Value":"Deploy"}.

                            + * {"Stage":"Deploy"}.

                            *

                            The instance does not have all of the * tag keys specified in the filter, so it is excluded from the * results.

                            *
                          • *
                          • *

                            An RDS database that has the following two tags: - * {"Key":"Stage","Value":"Archived"}, and - * {"Key":"Version","Value":"4"} + * {"Stage":"Archived"} and + * {"Version":"4"} *

                            *

                            The database has all of the tag keys, but none of those keys has an * associated value that matches at least one of the specified values in @@ -190,6 +291,11 @@ export interface ResourceQuery { *

                          */ Type: QueryType | string | undefined; + + /** + *

                          The query that defines a group or a search.

                          + */ + Query: string | undefined; } export namespace ResourceQuery { @@ -200,9 +306,14 @@ export namespace ResourceQuery { export interface CreateGroupInput { /** - *

                          The tags to add to the group. A tag is key-value pair string.

                          + *

                          The resource query that determines which AWS resources are members of this + * group.

                          + * + *

                          You can specify either a ResourceQuery or a + * Configuration, but not both.

                          + *
                          */ - Tags?: { [key: string]: string }; + ResourceQuery?: ResourceQuery; /** *

                          The description of the resource group. Descriptions can consist of letters, numbers, @@ -220,14 +331,9 @@ export interface CreateGroupInput { Name: string | undefined; /** - *

                          The resource query that determines which AWS resources are members of this - * group.

                          - * - *

                          You can specify either a ResourceQuery or a - * Configuration, but not both.

                          - *
                          + *

                          The tags to add to the group. A tag is key-value pair string.

                          */ - ResourceQuery?: ResourceQuery; + Tags?: { [key: string]: string }; /** *

                          A configuration associates the resource group with an AWS service and specifies how @@ -248,14 +354,14 @@ export namespace CreateGroupInput { } /** - *

                          A resource group that contains AWS resources. You can assign resources to the group by - * associating either of the following elements with the group:

                          + *

                          A resource group that contains AWS resources. You can assign resources to the group + * by associating either of the following elements with the group:

                          *
                            *
                          • *

                            * ResourceQuery - Use a resource query to specify a set of tag - * keys and values. All resources in the same AWS Region and AWS account that have - * those keys with the same values are included in the group. You can add a + * keys and values. All resources in the same AWS Region and AWS account that + * have those keys with the same values are included in the group. You can add a * resource query when you create the * group.

                            *
                          • @@ -269,9 +375,9 @@ export namespace CreateGroupInput { */ export interface Group { /** - *

                            The name of the resource group.

                            + *

                            The description of the resource group.

                            */ - Name: string | undefined; + Description?: string; /** *

                            The ARN of the resource group.

                            @@ -279,9 +385,9 @@ export interface Group { GroupArn: string | undefined; /** - *

                            The description of the resource group.

                            + *

                            The name of the resource group.

                            */ - Description?: string; + Name: string | undefined; } export namespace Group { @@ -304,17 +410,17 @@ export enum GroupConfigurationStatus { * group.

                            */ export interface GroupConfiguration { - /** - *

                            The current status of an attempt to update the group configuration.

                            - */ - Status?: GroupConfigurationStatus | string; - /** *

                            If present, the new configuration that is in the process of being applied to the * group.

                            */ ProposedConfiguration?: GroupConfigurationItem[]; + /** + *

                            The current status of an attempt to update the group configuration.

                            + */ + Status?: GroupConfigurationStatus | string; + /** *

                            If present, the reason why a request to update the group configuration failed.

                            */ @@ -334,9 +440,9 @@ export namespace GroupConfiguration { export interface CreateGroupOutput { /** - *

                            The description of the resource group.

                            + *

                            The resource query associated with the group.

                            */ - Group?: Group; + ResourceQuery?: ResourceQuery; /** *

                            The tags associated with the group.

                            @@ -358,9 +464,9 @@ export interface CreateGroupOutput { GroupConfiguration?: GroupConfiguration; /** - *

                            The resource query associated with the group.

                            + *

                            The description of the resource group.

                            */ - ResourceQuery?: ResourceQuery; + Group?: Group; } export namespace CreateGroupOutput { @@ -432,14 +538,14 @@ export namespace TooManyRequestsException { export interface DeleteGroupInput { /** - *

                            Don't use this parameter. Use Group instead.

                            + *

                            The name or the ARN of the resource group to delete.

                            */ - GroupName?: string; + Group?: string; /** - *

                            The name or the ARN of the resource group to delete.

                            + *

                            Don't use this parameter. Use Group instead.

                            */ - Group?: string; + GroupName?: string; } export namespace DeleteGroupInput { @@ -478,14 +584,14 @@ export namespace NotFoundException { export interface GetGroupInput { /** - *

                            Don't use this parameter. Use Group instead.

                            + *

                            The name or the ARN of the resource group to retrieve.

                            */ - GroupName?: string; + Group?: string; /** - *

                            The name or the ARN of the resource group to retrieve.

                            + *

                            Don't use this parameter. Use Group instead.

                            */ - Group?: string; + GroupName?: string; } export namespace GetGroupInput { @@ -556,17 +662,17 @@ export namespace GetGroupQueryInput { * that are members of the group.

                            */ export interface GroupQuery { - /** - *

                            The name of the resource group that is associated with the specified resource - * query.

                            - */ - GroupName: string | undefined; - /** *

                            The resource query that determines which AWS resources are members of the associated * resource group.

                            */ ResourceQuery: ResourceQuery | undefined; + + /** + *

                            The name of the resource group that is associated with the specified resource + * query.

                            + */ + GroupName: string | undefined; } export namespace GroupQuery { @@ -603,14 +709,14 @@ export namespace GetTagsInput { export interface GetTagsOutput { /** - *

                            The ARN of the tagged resource group.

                            + *

                            The tags associated with the specified resource group.

                            */ - Arn?: string; + Tags?: { [key: string]: string }; /** - *

                            The tags associated with the specified resource group.

                            + *

                            The ARN of the tagged resource group.

                            */ - Tags?: { [key: string]: string }; + Arn?: string; } export namespace GetTagsOutput { @@ -642,9 +748,9 @@ export namespace GroupResourcesInput { */ export interface FailedResource { /** - *

                            The error code associated with the failure.

                            + *

                            The ARN of the resource that failed to be added or removed.

                            */ - ErrorCode?: string; + ResourceArn?: string; /** *

                            The error message text associated with the failure.

                            @@ -652,9 +758,9 @@ export interface FailedResource { ErrorMessage?: string; /** - *

                            The ARN of the resource that failed to be added or removed.

                            + *

                            The error code associated with the failure.

                            */ - ResourceArn?: string; + ErrorCode?: string; } export namespace FailedResource { @@ -692,16 +798,16 @@ export enum ResourceFilterName { * of resources.

                            */ export interface ResourceFilter { - /** - *

                            The name of the filter. Filter names are case-sensitive.

                            - */ - Name: ResourceFilterName | string | undefined; - /** *

                            One or more filter values. Allowed filter values vary by resource filter name, and are * case-sensitive.

                            */ Values: string[] | undefined; + + /** + *

                            The name of the filter. Filter names are case-sensitive.

                            + */ + Name: ResourceFilterName | string | undefined; } export namespace ResourceFilter { @@ -711,15 +817,30 @@ export namespace ResourceFilter { } export interface ListGroupResourcesInput { + /** + *

                            The total number of results that you want included on each page of the + * response. If you do not include this parameter, it defaults to a value that is specific to the + * operation. If additional items exist beyond the maximum you specify, the NextToken + * response element is present and has a value (is not null). Include that value as the + * NextToken request parameter in the next call to the operation to get the next part + * of the results. Note that the service might return fewer results than the maximum even when there + * are more results available. You should check NextToken after every operation to + * ensure that you receive all of the results.

                            + */ + MaxResults?: number; + /** *

                            The name or the ARN of the resource group

                            */ Group?: string; /** - *

                            Don't use this parameter. Use Group instead.

                            + *

                            The parameter for receiving additional results if you receive a + * NextToken response in a previous request. A NextToken response + * indicates that more output is available. Set this parameter to the value provided by a previous + * call's NextToken response to indicate where the output should continue from.

                            */ - GroupName?: string; + NextToken?: string; /** *

                            Filters, formatted as ResourceFilter objects, that you want to apply @@ -735,13 +856,13 @@ export interface ListGroupResourcesInput { * *

                          *

                          When you specify a resource-type filter for - * ListGroupResources, AWS Resource Groups validates your filter resource - * types against the types that are defined in the query associated with the group. For - * example, if a group contains only S3 buckets because its query specifies only that - * resource type, but your resource-type filter includes EC2 instances, AWS - * Resource Groups does not filter for EC2 instances. In this case, a - * ListGroupResources request returns a BadRequestException - * error with a message similar to the following:

                          + * ListGroupResources, AWS Resource Groups validates your filter resource types + * against the types that are defined in the query associated with the group. For example, + * if a group contains only S3 buckets because its query specifies only that resource type, + * but your resource-type filter includes EC2 instances, AWS Resource Groups + * does not filter for EC2 instances. In this case, a ListGroupResources + * request returns a BadRequestException error with a message similar to the + * following:

                          *

                          * The resource types specified as filters in the request are not * valid. @@ -755,24 +876,9 @@ export interface ListGroupResourcesInput { Filters?: ResourceFilter[]; /** - *

                          The parameter for receiving additional results if you receive a - * NextToken response in a previous request. A NextToken response - * indicates that more output is available. Set this parameter to the value provided by a previous - * call's NextToken response to indicate where the output should continue from.

                          - */ - NextToken?: string; - - /** - *

                          The total number of results that you want included on each page of the - * response. If you do not include this parameter, it defaults to a value that is specific to the - * operation. If additional items exist beyond the maximum you specify, the NextToken - * response element is present and has a value (is not null). Include that value as the - * NextToken request parameter in the next call to the operation to get the next part - * of the results. Note that the service might return fewer results than the maximum even when there - * are more results available. You should check NextToken after every operation to - * ensure that you receive all of the results.

                          + *

                          Don't use this parameter. Use Group instead.

                          */ - MaxResults?: number; + GroupName?: string; } export namespace ListGroupResourcesInput { @@ -788,11 +894,11 @@ export enum QueryErrorCode { /** *

                          A two-part error structure that can occur in ListGroupResources or - * SearchResources operations on CloudFormation stack-based queries. The - * error occurs if the CloudFormation stack on which the query is based either does not - * exist, or has a status that renders the stack inactive. A QueryError - * occurrence does not necessarily mean that AWS Resource Groups could not complete the - * operation, but the resulting group might have no member resources.

                          + * SearchResources operations on CloudFormation stack-based queries. The error + * occurs if the CloudFormation stack on which the query is based either does not exist, or has a + * status that renders the stack inactive. A QueryError occurrence does not + * necessarily mean that AWS Resource Groups could not complete the operation, but the resulting + * group might have no member resources.

                          */ export interface QueryError { /** @@ -822,14 +928,14 @@ export namespace QueryError { */ export interface ResourceIdentifier { /** - *

                          The resource type of a resource, such as AWS::EC2::Instance.

                          + *

                          The ARN of a resource.

                          */ - ResourceType?: string; + ResourceArn?: string; /** - *

                          The ARN of a resource.

                          + *

                          The resource type of a resource, such as AWS::EC2::Instance.

                          */ - ResourceArn?: string; + ResourceType?: string; } export namespace ResourceIdentifier { @@ -840,12 +946,10 @@ export namespace ResourceIdentifier { export interface ListGroupResourcesOutput { /** - *

                          If present, indicates that more output is available than is - * included in the current response. Use this value in the NextToken request parameter - * in a subsequent call to the operation to get the next part of the output. You should repeat this - * until the NextToken response element comes back as null.

                          + *

                          The ARNs and resource types of resources that are members of the group that you + * specified.

                          */ - NextToken?: string; + ResourceIdentifiers?: ResourceIdentifier[]; /** *

                          A list of QueryError objects. Each error is an object that contains @@ -856,10 +960,12 @@ export interface ListGroupResourcesOutput { QueryErrors?: QueryError[]; /** - *

                          The ARNs and resource types of resources that are members of the group that you - * specified.

                          + *

                          If present, indicates that more output is available than is + * included in the current response. Use this value in the NextToken request parameter + * in a subsequent call to the operation to get the next part of the output. You should repeat this + * until the NextToken response element comes back as null.

                          */ - ResourceIdentifiers?: ResourceIdentifier[]; + NextToken?: string; } export namespace ListGroupResourcesOutput { @@ -894,16 +1000,16 @@ export enum GroupFilterName { * operation to only those you want to include.

                          */ export interface GroupFilter { - /** - *

                          The name of the filter. Filter names are case-sensitive.

                          - */ - Name: GroupFilterName | string | undefined; - /** *

                          One or more filter values. Allowed filter values vary by group filter name, and are * case-sensitive.

                          */ Values: string[] | undefined; + + /** + *

                          The name of the filter. Filter names are case-sensitive.

                          + */ + Name: GroupFilterName | string | undefined; } export namespace GroupFilter { @@ -914,24 +1020,24 @@ export namespace GroupFilter { export interface ListGroupsInput { /** - *

                          The parameter for receiving additional results if you receive a - * NextToken response in a previous request. A NextToken response - * indicates that more output is available. Set this parameter to the value provided by a previous - * call's NextToken response to indicate where the output should continue from.

                          + *

                          The total number of results that you want included on each page of the + * response. If you do not include this parameter, it defaults to a value that is specific to the + * operation. If additional items exist beyond the maximum you specify, the NextToken + * response element is present and has a value (is not null). Include that value as the + * NextToken request parameter in the next call to the operation to get the next part + * of the results. Note that the service might return fewer results than the maximum even when there + * are more results available. You should check NextToken after every operation to + * ensure that you receive all of the results.

                          */ - NextToken?: string; + MaxResults?: number; /** - *

                          The total number of results that you want included on each page of the - * response. If you do not include this parameter, it defaults to a value that is specific to the - * operation. If additional items exist beyond the maximum you specify, the NextToken - * response element is present and has a value (is not null). Include that value as the - * NextToken request parameter in the next call to the operation to get the next part - * of the results. Note that the service might return fewer results than the maximum even when there - * are more results available. You should check NextToken after every operation to - * ensure that you receive all of the results.

                          + *

                          The parameter for receiving additional results if you receive a + * NextToken response in a previous request. A NextToken response + * indicates that more output is available. Set this parameter to the value provided by a previous + * call's NextToken response to indicate where the output should continue from.

                          */ - MaxResults?: number; + NextToken?: string; /** *

                          Filters, formatted as GroupFilter objects, that you want to apply to @@ -973,14 +1079,14 @@ export namespace ListGroupsInput { */ export interface GroupIdentifier { /** - *

                          The name of the resource group.

                          + *

                          The ARN of the resource group.

                          */ - GroupName?: string; + GroupArn?: string; /** - *

                          The ARN of the resource group.

                          + *

                          The name of the resource group.

                          */ - GroupArn?: string; + GroupName?: string; } export namespace GroupIdentifier { @@ -991,18 +1097,18 @@ export namespace GroupIdentifier { export interface ListGroupsOutput { /** - *

                          A list of GroupIdentifier objects. Each identifier is an object that - * contains both the Name and the GroupArn.

                          + *

                          If present, indicates that more output is available than is + * included in the current response. Use this value in the NextToken request parameter + * in a subsequent call to the operation to get the next part of the output. You should repeat this + * until the NextToken response element comes back as null.

                          */ - GroupIdentifiers?: GroupIdentifier[]; + NextToken?: string; /** - *

                          If present, indicates that more output is available than is - * included in the current response. Use this value in the NextToken request parameter - * in a subsequent call to the operation to get the next part of the output. You should repeat this - * until the NextToken response element comes back as null.

                          + *

                          A list of GroupIdentifier objects. Each identifier is an object that + * contains both the Name and the GroupArn.

                          */ - NextToken?: string; + GroupIdentifiers?: GroupIdentifier[]; /** *

                          This output element is deprecated and shouldn't be used. Refer to @@ -1019,28 +1125,28 @@ export namespace ListGroupsOutput { export interface SearchResourcesInput { /** - *

                          The search query, using the same formats that are supported for resource group - * definition. For more information, see CreateGroup.

                          + *

                          The total number of results that you want included on each page of the + * response. If you do not include this parameter, it defaults to a value that is specific to the + * operation. If additional items exist beyond the maximum you specify, the NextToken + * response element is present and has a value (is not null). Include that value as the + * NextToken request parameter in the next call to the operation to get the next part + * of the results. Note that the service might return fewer results than the maximum even when there + * are more results available. You should check NextToken after every operation to + * ensure that you receive all of the results.

                          */ - ResourceQuery: ResourceQuery | undefined; + MaxResults?: number; /** - *

                          The total number of results that you want included on each page of the - * response. If you do not include this parameter, it defaults to a value that is specific to the - * operation. If additional items exist beyond the maximum you specify, the NextToken - * response element is present and has a value (is not null). Include that value as the - * NextToken request parameter in the next call to the operation to get the next part - * of the results. Note that the service might return fewer results than the maximum even when there - * are more results available. You should check NextToken after every operation to - * ensure that you receive all of the results.

                          + *

                          The search query, using the same formats that are supported for resource group + * definition. For more information, see CreateGroup.

                          */ - MaxResults?: number; + ResourceQuery: ResourceQuery | undefined; /** *

                          The parameter for receiving additional results if you receive a - * NextToken response in a previous request. A NextToken response - * indicates that more output is available. Set this parameter to the value provided by a previous - * call's NextToken response to indicate where the output should continue from.

                          + * NextToken response in a previous request. A NextToken response + * indicates that more output is available. Set this parameter to the value provided by a previous + * call's NextToken response to indicate where the output should continue from.

                          */ NextToken?: string; } @@ -1052,6 +1158,12 @@ export namespace SearchResourcesInput { } export interface SearchResourcesOutput { + /** + *

                          The ARNs and resource types of resources that are members of the group that you + * specified.

                          + */ + ResourceIdentifiers?: ResourceIdentifier[]; + /** *

                          A list of QueryError objects. Each error is an object that contains * ErrorCode and Message structures. Possible values for @@ -1062,17 +1174,11 @@ export interface SearchResourcesOutput { /** *

                          If present, indicates that more output is available than is - * included in the current response. Use this value in the NextToken request parameter - * in a subsequent call to the operation to get the next part of the output. You should repeat this - * until the NextToken response element comes back as null.

                          + * included in the current response. Use this value in the NextToken request parameter + * in a subsequent call to the operation to get the next part of the output. You should repeat this + * until the NextToken response element comes back as null.

                          */ NextToken?: string; - - /** - *

                          The ARNs and resource types of resources that are members of the group that you - * specified.

                          - */ - ResourceIdentifiers?: ResourceIdentifier[]; } export namespace SearchResourcesOutput { @@ -1120,14 +1226,14 @@ export namespace TagOutput { export interface UngroupResourcesInput { /** - *

                          The ARNs of the resources to be removed from the group.

                          + *

                          The name or the ARN of the resource group from which to remove the resources.

                          */ - ResourceArns: string[] | undefined; + Group: string | undefined; /** - *

                          The name or the ARN of the resource group from which to remove the resources.

                          + *

                          The ARNs of the resources to be removed from the group.

                          */ - Group: string | undefined; + ResourceArns: string[] | undefined; } export namespace UngroupResourcesInput { @@ -1155,16 +1261,16 @@ export namespace UngroupResourcesOutput { } export interface UntagInput { - /** - *

                          The keys of the tags to be removed.

                          - */ - Keys: string[] | undefined; - /** *

                          The ARN of the resource group from which to remove tags. The command removed both the * specified keys and any values associated with those keys.

                          */ Arn: string | undefined; + + /** + *

                          The keys of the tags to be removed.

                          + */ + Keys: string[] | undefined; } export namespace UntagInput { @@ -1175,14 +1281,14 @@ export namespace UntagInput { export interface UntagOutput { /** - *

                          The keys of the tags that were removed.

                          + *

                          The ARN of the resource group from which tags have been removed.

                          */ - Keys?: string[]; + Arn?: string; /** - *

                          The ARN of the resource group from which tags have been removed.

                          + *

                          The keys of the tags that were removed.

                          */ - Arn?: string; + Keys?: string[]; } export namespace UntagOutput { @@ -1198,15 +1304,15 @@ export interface UpdateGroupInput { GroupName?: string; /** - *

                          The new description that you want to update the resource group with. Descriptions can - * contain letters, numbers, hyphens, underscores, periods, and spaces.

                          + *

                          The name or the ARN of the resource group to modify.

                          */ - Description?: string; + Group?: string; /** - *

                          The name or the ARN of the resource group to modify.

                          + *

                          The new description that you want to update the resource group with. Descriptions can + * contain letters, numbers, hyphens, underscores, periods, and spaces.

                          */ - Group?: string; + Description?: string; } export namespace UpdateGroupInput { @@ -1230,15 +1336,15 @@ export namespace UpdateGroupOutput { export interface UpdateGroupQueryInput { /** - *

                          The resource query to determine which AWS resources are members of this resource - * group.

                          + *

                          Don't use this parameter. Use Group instead.

                          */ - ResourceQuery: ResourceQuery | undefined; + GroupName?: string; /** - *

                          Don't use this parameter. Use Group instead.

                          + *

                          The resource query to determine which AWS resources are members of this resource + * group.

                          */ - GroupName?: string; + ResourceQuery: ResourceQuery | undefined; /** *

                          The name or the ARN of the resource group to query.

                          diff --git a/clients/client-resource-groups/protocols/Aws_restJson1.ts b/clients/client-resource-groups/protocols/Aws_restJson1.ts index 739a712e7910..3936b9fd44ff 100644 --- a/clients/client-resource-groups/protocols/Aws_restJson1.ts +++ b/clients/client-resource-groups/protocols/Aws_restJson1.ts @@ -274,8 +274,8 @@ export const serializeAws_restJson1ListGroupsCommand = async ( }; let resolvedPath = "/groups-list"; const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; body = JSON.stringify({ diff --git a/clients/client-robomaker/RoboMaker.ts b/clients/client-robomaker/RoboMaker.ts index 699f99b485e6..d4fd91d0ffd2 100644 --- a/clients/client-robomaker/RoboMaker.ts +++ b/clients/client-robomaker/RoboMaker.ts @@ -1,4 +1,9 @@ import { RoboMakerClient } from "./RoboMakerClient"; +import { + BatchDeleteWorldsCommand, + BatchDeleteWorldsCommandInput, + BatchDeleteWorldsCommandOutput, +} from "./commands/BatchDeleteWorldsCommand"; import { BatchDescribeSimulationJobCommand, BatchDescribeSimulationJobCommandInput, @@ -19,6 +24,16 @@ import { CancelSimulationJobCommandInput, CancelSimulationJobCommandOutput, } from "./commands/CancelSimulationJobCommand"; +import { + CancelWorldExportJobCommand, + CancelWorldExportJobCommandInput, + CancelWorldExportJobCommandOutput, +} from "./commands/CancelWorldExportJobCommand"; +import { + CancelWorldGenerationJobCommand, + CancelWorldGenerationJobCommandInput, + CancelWorldGenerationJobCommandOutput, +} from "./commands/CancelWorldGenerationJobCommand"; import { CreateDeploymentJobCommand, CreateDeploymentJobCommandInput, @@ -51,6 +66,21 @@ import { CreateSimulationJobCommandInput, CreateSimulationJobCommandOutput, } from "./commands/CreateSimulationJobCommand"; +import { + CreateWorldExportJobCommand, + CreateWorldExportJobCommandInput, + CreateWorldExportJobCommandOutput, +} from "./commands/CreateWorldExportJobCommand"; +import { + CreateWorldGenerationJobCommand, + CreateWorldGenerationJobCommandInput, + CreateWorldGenerationJobCommandOutput, +} from "./commands/CreateWorldGenerationJobCommand"; +import { + CreateWorldTemplateCommand, + CreateWorldTemplateCommandInput, + CreateWorldTemplateCommandOutput, +} from "./commands/CreateWorldTemplateCommand"; import { DeleteFleetCommand, DeleteFleetCommandInput, DeleteFleetCommandOutput } from "./commands/DeleteFleetCommand"; import { DeleteRobotApplicationCommand, @@ -63,6 +93,11 @@ import { DeleteSimulationApplicationCommandInput, DeleteSimulationApplicationCommandOutput, } from "./commands/DeleteSimulationApplicationCommand"; +import { + DeleteWorldTemplateCommand, + DeleteWorldTemplateCommandInput, + DeleteWorldTemplateCommandOutput, +} from "./commands/DeleteWorldTemplateCommand"; import { DeregisterRobotCommand, DeregisterRobotCommandInput, @@ -103,6 +138,31 @@ import { DescribeSimulationJobCommandInput, DescribeSimulationJobCommandOutput, } from "./commands/DescribeSimulationJobCommand"; +import { + DescribeWorldCommand, + DescribeWorldCommandInput, + DescribeWorldCommandOutput, +} from "./commands/DescribeWorldCommand"; +import { + DescribeWorldExportJobCommand, + DescribeWorldExportJobCommandInput, + DescribeWorldExportJobCommandOutput, +} from "./commands/DescribeWorldExportJobCommand"; +import { + DescribeWorldGenerationJobCommand, + DescribeWorldGenerationJobCommandInput, + DescribeWorldGenerationJobCommandOutput, +} from "./commands/DescribeWorldGenerationJobCommand"; +import { + DescribeWorldTemplateCommand, + DescribeWorldTemplateCommandInput, + DescribeWorldTemplateCommandOutput, +} from "./commands/DescribeWorldTemplateCommand"; +import { + GetWorldTemplateBodyCommand, + GetWorldTemplateBodyCommandInput, + GetWorldTemplateBodyCommandOutput, +} from "./commands/GetWorldTemplateBodyCommand"; import { ListDeploymentJobsCommand, ListDeploymentJobsCommandInput, @@ -135,6 +195,22 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + ListWorldExportJobsCommand, + ListWorldExportJobsCommandInput, + ListWorldExportJobsCommandOutput, +} from "./commands/ListWorldExportJobsCommand"; +import { + ListWorldGenerationJobsCommand, + ListWorldGenerationJobsCommandInput, + ListWorldGenerationJobsCommandOutput, +} from "./commands/ListWorldGenerationJobsCommand"; +import { + ListWorldTemplatesCommand, + ListWorldTemplatesCommandInput, + ListWorldTemplatesCommandOutput, +} from "./commands/ListWorldTemplatesCommand"; +import { ListWorldsCommand, ListWorldsCommandInput, ListWorldsCommandOutput } from "./commands/ListWorldsCommand"; import { RegisterRobotCommand, RegisterRobotCommandInput, @@ -171,12 +247,49 @@ import { UpdateSimulationApplicationCommandInput, UpdateSimulationApplicationCommandOutput, } from "./commands/UpdateSimulationApplicationCommand"; +import { + UpdateWorldTemplateCommand, + UpdateWorldTemplateCommandInput, + UpdateWorldTemplateCommandOutput, +} from "./commands/UpdateWorldTemplateCommand"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** *

                          This section provides documentation for the AWS RoboMaker API operations.

                          */ export class RoboMaker extends RoboMakerClient { + /** + *

                          Deletes one or more worlds in a batch operation.

                          + */ + public batchDeleteWorlds( + args: BatchDeleteWorldsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public batchDeleteWorlds( + args: BatchDeleteWorldsCommandInput, + cb: (err: any, data?: BatchDeleteWorldsCommandOutput) => void + ): void; + public batchDeleteWorlds( + args: BatchDeleteWorldsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: BatchDeleteWorldsCommandOutput) => void + ): void; + public batchDeleteWorlds( + args: BatchDeleteWorldsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchDeleteWorldsCommandOutput) => void), + cb?: (err: any, data?: BatchDeleteWorldsCommandOutput) => void + ): Promise | void { + const command = new BatchDeleteWorldsCommand(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 one or more simulation jobs.

                          */ @@ -308,6 +421,70 @@ export class RoboMaker extends RoboMakerClient { } } + /** + *

                          Cancels the specified export job.

                          + */ + public cancelWorldExportJob( + args: CancelWorldExportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public cancelWorldExportJob( + args: CancelWorldExportJobCommandInput, + cb: (err: any, data?: CancelWorldExportJobCommandOutput) => void + ): void; + public cancelWorldExportJob( + args: CancelWorldExportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CancelWorldExportJobCommandOutput) => void + ): void; + public cancelWorldExportJob( + args: CancelWorldExportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CancelWorldExportJobCommandOutput) => void), + cb?: (err: any, data?: CancelWorldExportJobCommandOutput) => void + ): Promise | void { + const command = new CancelWorldExportJobCommand(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); + } + } + + /** + *

                          Cancels the specified world generator job.

                          + */ + public cancelWorldGenerationJob( + args: CancelWorldGenerationJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public cancelWorldGenerationJob( + args: CancelWorldGenerationJobCommandInput, + cb: (err: any, data?: CancelWorldGenerationJobCommandOutput) => void + ): void; + public cancelWorldGenerationJob( + args: CancelWorldGenerationJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CancelWorldGenerationJobCommandOutput) => void + ): void; + public cancelWorldGenerationJob( + args: CancelWorldGenerationJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CancelWorldGenerationJobCommandOutput) => void), + cb?: (err: any, data?: CancelWorldGenerationJobCommandOutput) => void + ): Promise | void { + const command = new CancelWorldGenerationJobCommand(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); + } + } + /** *

                          Deploys a specific version of a robot application to robots in a fleet.

                          *

                          The robot application must have a numbered applicationVersion @@ -565,6 +742,102 @@ export class RoboMaker extends RoboMakerClient { } } + /** + *

                          Creates a world export job.

                          + */ + public createWorldExportJob( + args: CreateWorldExportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createWorldExportJob( + args: CreateWorldExportJobCommandInput, + cb: (err: any, data?: CreateWorldExportJobCommandOutput) => void + ): void; + public createWorldExportJob( + args: CreateWorldExportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateWorldExportJobCommandOutput) => void + ): void; + public createWorldExportJob( + args: CreateWorldExportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateWorldExportJobCommandOutput) => void), + cb?: (err: any, data?: CreateWorldExportJobCommandOutput) => void + ): Promise | void { + const command = new CreateWorldExportJobCommand(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 worlds using the specified template.

                          + */ + public createWorldGenerationJob( + args: CreateWorldGenerationJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createWorldGenerationJob( + args: CreateWorldGenerationJobCommandInput, + cb: (err: any, data?: CreateWorldGenerationJobCommandOutput) => void + ): void; + public createWorldGenerationJob( + args: CreateWorldGenerationJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateWorldGenerationJobCommandOutput) => void + ): void; + public createWorldGenerationJob( + args: CreateWorldGenerationJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateWorldGenerationJobCommandOutput) => void), + cb?: (err: any, data?: CreateWorldGenerationJobCommandOutput) => void + ): Promise | void { + const command = new CreateWorldGenerationJobCommand(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 world template.

                          + */ + public createWorldTemplate( + args: CreateWorldTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createWorldTemplate( + args: CreateWorldTemplateCommandInput, + cb: (err: any, data?: CreateWorldTemplateCommandOutput) => void + ): void; + public createWorldTemplate( + args: CreateWorldTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateWorldTemplateCommandOutput) => void + ): void; + public createWorldTemplate( + args: CreateWorldTemplateCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateWorldTemplateCommandOutput) => void), + cb?: (err: any, data?: CreateWorldTemplateCommandOutput) => void + ): Promise | void { + const command = new CreateWorldTemplateCommand(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 fleet.

                          */ @@ -681,6 +954,38 @@ export class RoboMaker extends RoboMakerClient { } } + /** + *

                          Deletes a world template.

                          + */ + public deleteWorldTemplate( + args: DeleteWorldTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteWorldTemplate( + args: DeleteWorldTemplateCommandInput, + cb: (err: any, data?: DeleteWorldTemplateCommandOutput) => void + ): void; + public deleteWorldTemplate( + args: DeleteWorldTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteWorldTemplateCommandOutput) => void + ): void; + public deleteWorldTemplate( + args: DeleteWorldTemplateCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteWorldTemplateCommandOutput) => void), + cb?: (err: any, data?: DeleteWorldTemplateCommandOutput) => void + ): Promise | void { + const command = new DeleteWorldTemplateCommand(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); + } + } + /** *

                          Deregisters a robot.

                          */ @@ -937,6 +1242,166 @@ export class RoboMaker extends RoboMakerClient { } } + /** + *

                          Describes a world.

                          + */ + public describeWorld( + args: DescribeWorldCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeWorld( + args: DescribeWorldCommandInput, + cb: (err: any, data?: DescribeWorldCommandOutput) => void + ): void; + public describeWorld( + args: DescribeWorldCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeWorldCommandOutput) => void + ): void; + public describeWorld( + args: DescribeWorldCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeWorldCommandOutput) => void), + cb?: (err: any, data?: DescribeWorldCommandOutput) => void + ): Promise | void { + const command = new DescribeWorldCommand(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 a world export job.

                          + */ + public describeWorldExportJob( + args: DescribeWorldExportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeWorldExportJob( + args: DescribeWorldExportJobCommandInput, + cb: (err: any, data?: DescribeWorldExportJobCommandOutput) => void + ): void; + public describeWorldExportJob( + args: DescribeWorldExportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeWorldExportJobCommandOutput) => void + ): void; + public describeWorldExportJob( + args: DescribeWorldExportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeWorldExportJobCommandOutput) => void), + cb?: (err: any, data?: DescribeWorldExportJobCommandOutput) => void + ): Promise | void { + const command = new DescribeWorldExportJobCommand(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 a world generation job.

                          + */ + public describeWorldGenerationJob( + args: DescribeWorldGenerationJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeWorldGenerationJob( + args: DescribeWorldGenerationJobCommandInput, + cb: (err: any, data?: DescribeWorldGenerationJobCommandOutput) => void + ): void; + public describeWorldGenerationJob( + args: DescribeWorldGenerationJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeWorldGenerationJobCommandOutput) => void + ): void; + public describeWorldGenerationJob( + args: DescribeWorldGenerationJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeWorldGenerationJobCommandOutput) => void), + cb?: (err: any, data?: DescribeWorldGenerationJobCommandOutput) => void + ): Promise | void { + const command = new DescribeWorldGenerationJobCommand(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 a world template.

                          + */ + public describeWorldTemplate( + args: DescribeWorldTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeWorldTemplate( + args: DescribeWorldTemplateCommandInput, + cb: (err: any, data?: DescribeWorldTemplateCommandOutput) => void + ): void; + public describeWorldTemplate( + args: DescribeWorldTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeWorldTemplateCommandOutput) => void + ): void; + public describeWorldTemplate( + args: DescribeWorldTemplateCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeWorldTemplateCommandOutput) => void), + cb?: (err: any, data?: DescribeWorldTemplateCommandOutput) => void + ): Promise | void { + const command = new DescribeWorldTemplateCommand(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 world template body.

                          + */ + public getWorldTemplateBody( + args: GetWorldTemplateBodyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getWorldTemplateBody( + args: GetWorldTemplateBodyCommandInput, + cb: (err: any, data?: GetWorldTemplateBodyCommandOutput) => void + ): void; + public getWorldTemplateBody( + args: GetWorldTemplateBodyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetWorldTemplateBodyCommandOutput) => void + ): void; + public getWorldTemplateBody( + args: GetWorldTemplateBodyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetWorldTemplateBodyCommandOutput) => void), + cb?: (err: any, data?: GetWorldTemplateBodyCommandOutput) => void + ): Promise | void { + const command = new GetWorldTemplateBodyCommand(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 deployment jobs for a fleet. You can optionally provide filters to retrieve * specific deployment jobs. @@ -1190,6 +1655,128 @@ export class RoboMaker extends RoboMakerClient { } } + /** + *

                          Lists world export jobs.

                          + */ + public listWorldExportJobs( + args: ListWorldExportJobsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listWorldExportJobs( + args: ListWorldExportJobsCommandInput, + cb: (err: any, data?: ListWorldExportJobsCommandOutput) => void + ): void; + public listWorldExportJobs( + args: ListWorldExportJobsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListWorldExportJobsCommandOutput) => void + ): void; + public listWorldExportJobs( + args: ListWorldExportJobsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListWorldExportJobsCommandOutput) => void), + cb?: (err: any, data?: ListWorldExportJobsCommandOutput) => void + ): Promise | void { + const command = new ListWorldExportJobsCommand(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 world generator jobs.

                          + */ + public listWorldGenerationJobs( + args: ListWorldGenerationJobsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listWorldGenerationJobs( + args: ListWorldGenerationJobsCommandInput, + cb: (err: any, data?: ListWorldGenerationJobsCommandOutput) => void + ): void; + public listWorldGenerationJobs( + args: ListWorldGenerationJobsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListWorldGenerationJobsCommandOutput) => void + ): void; + public listWorldGenerationJobs( + args: ListWorldGenerationJobsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListWorldGenerationJobsCommandOutput) => void), + cb?: (err: any, data?: ListWorldGenerationJobsCommandOutput) => void + ): Promise | void { + const command = new ListWorldGenerationJobsCommand(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 worlds.

                          + */ + public listWorlds(args: ListWorldsCommandInput, options?: __HttpHandlerOptions): Promise; + public listWorlds(args: ListWorldsCommandInput, cb: (err: any, data?: ListWorldsCommandOutput) => void): void; + public listWorlds( + args: ListWorldsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListWorldsCommandOutput) => void + ): void; + public listWorlds( + args: ListWorldsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListWorldsCommandOutput) => void), + cb?: (err: any, data?: ListWorldsCommandOutput) => void + ): Promise | void { + const command = new ListWorldsCommand(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 world templates.

                          + */ + public listWorldTemplates( + args: ListWorldTemplatesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listWorldTemplates( + args: ListWorldTemplatesCommandInput, + cb: (err: any, data?: ListWorldTemplatesCommandOutput) => void + ): void; + public listWorldTemplates( + args: ListWorldTemplatesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListWorldTemplatesCommandOutput) => void + ): void; + public listWorldTemplates( + args: ListWorldTemplatesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListWorldTemplatesCommandOutput) => void), + cb?: (err: any, data?: ListWorldTemplatesCommandOutput) => void + ): Promise | void { + const command = new ListWorldTemplatesCommand(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); + } + } + /** *

                          Registers a robot with a fleet.

                          */ @@ -1447,4 +2034,36 @@ export class RoboMaker extends RoboMakerClient { return this.send(command, optionsOrCb); } } + + /** + *

                          Updates a world template.

                          + */ + public updateWorldTemplate( + args: UpdateWorldTemplateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateWorldTemplate( + args: UpdateWorldTemplateCommandInput, + cb: (err: any, data?: UpdateWorldTemplateCommandOutput) => void + ): void; + public updateWorldTemplate( + args: UpdateWorldTemplateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateWorldTemplateCommandOutput) => void + ): void; + public updateWorldTemplate( + args: UpdateWorldTemplateCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateWorldTemplateCommandOutput) => void), + cb?: (err: any, data?: UpdateWorldTemplateCommandOutput) => void + ): Promise | void { + const command = new UpdateWorldTemplateCommand(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-robomaker/RoboMakerClient.ts b/clients/client-robomaker/RoboMakerClient.ts index 8c699a9b24b9..e1e8e6e12015 100644 --- a/clients/client-robomaker/RoboMakerClient.ts +++ b/clients/client-robomaker/RoboMakerClient.ts @@ -1,3 +1,4 @@ +import { BatchDeleteWorldsCommandInput, BatchDeleteWorldsCommandOutput } from "./commands/BatchDeleteWorldsCommand"; import { BatchDescribeSimulationJobCommandInput, BatchDescribeSimulationJobCommandOutput, @@ -14,6 +15,14 @@ import { CancelSimulationJobCommandInput, CancelSimulationJobCommandOutput, } from "./commands/CancelSimulationJobCommand"; +import { + CancelWorldExportJobCommandInput, + CancelWorldExportJobCommandOutput, +} from "./commands/CancelWorldExportJobCommand"; +import { + CancelWorldGenerationJobCommandInput, + CancelWorldGenerationJobCommandOutput, +} from "./commands/CancelWorldGenerationJobCommand"; import { CreateDeploymentJobCommandInput, CreateDeploymentJobCommandOutput, @@ -40,6 +49,18 @@ import { CreateSimulationJobCommandInput, CreateSimulationJobCommandOutput, } from "./commands/CreateSimulationJobCommand"; +import { + CreateWorldExportJobCommandInput, + CreateWorldExportJobCommandOutput, +} from "./commands/CreateWorldExportJobCommand"; +import { + CreateWorldGenerationJobCommandInput, + CreateWorldGenerationJobCommandOutput, +} from "./commands/CreateWorldGenerationJobCommand"; +import { + CreateWorldTemplateCommandInput, + CreateWorldTemplateCommandOutput, +} from "./commands/CreateWorldTemplateCommand"; import { DeleteFleetCommandInput, DeleteFleetCommandOutput } from "./commands/DeleteFleetCommand"; import { DeleteRobotApplicationCommandInput, @@ -50,6 +71,10 @@ import { DeleteSimulationApplicationCommandInput, DeleteSimulationApplicationCommandOutput, } from "./commands/DeleteSimulationApplicationCommand"; +import { + DeleteWorldTemplateCommandInput, + DeleteWorldTemplateCommandOutput, +} from "./commands/DeleteWorldTemplateCommand"; import { DeregisterRobotCommandInput, DeregisterRobotCommandOutput } from "./commands/DeregisterRobotCommand"; import { DescribeDeploymentJobCommandInput, @@ -73,6 +98,23 @@ import { DescribeSimulationJobCommandInput, DescribeSimulationJobCommandOutput, } from "./commands/DescribeSimulationJobCommand"; +import { DescribeWorldCommandInput, DescribeWorldCommandOutput } from "./commands/DescribeWorldCommand"; +import { + DescribeWorldExportJobCommandInput, + DescribeWorldExportJobCommandOutput, +} from "./commands/DescribeWorldExportJobCommand"; +import { + DescribeWorldGenerationJobCommandInput, + DescribeWorldGenerationJobCommandOutput, +} from "./commands/DescribeWorldGenerationJobCommand"; +import { + DescribeWorldTemplateCommandInput, + DescribeWorldTemplateCommandOutput, +} from "./commands/DescribeWorldTemplateCommand"; +import { + GetWorldTemplateBodyCommandInput, + GetWorldTemplateBodyCommandOutput, +} from "./commands/GetWorldTemplateBodyCommand"; import { ListDeploymentJobsCommandInput, ListDeploymentJobsCommandOutput } from "./commands/ListDeploymentJobsCommand"; import { ListFleetsCommandInput, ListFleetsCommandOutput } from "./commands/ListFleetsCommand"; import { @@ -93,6 +135,16 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + ListWorldExportJobsCommandInput, + ListWorldExportJobsCommandOutput, +} from "./commands/ListWorldExportJobsCommand"; +import { + ListWorldGenerationJobsCommandInput, + ListWorldGenerationJobsCommandOutput, +} from "./commands/ListWorldGenerationJobsCommand"; +import { ListWorldTemplatesCommandInput, ListWorldTemplatesCommandOutput } from "./commands/ListWorldTemplatesCommand"; +import { ListWorldsCommandInput, ListWorldsCommandOutput } from "./commands/ListWorldsCommand"; import { RegisterRobotCommandInput, RegisterRobotCommandOutput } from "./commands/RegisterRobotCommand"; import { RestartSimulationJobCommandInput, @@ -113,6 +165,10 @@ import { UpdateSimulationApplicationCommandInput, UpdateSimulationApplicationCommandOutput, } from "./commands/UpdateSimulationApplicationCommand"; +import { + UpdateWorldTemplateCommandInput, + UpdateWorldTemplateCommandOutput, +} from "./commands/UpdateWorldTemplateCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; import { EndpointsInputConfig, @@ -163,10 +219,13 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | BatchDeleteWorldsCommandInput | BatchDescribeSimulationJobCommandInput | CancelDeploymentJobCommandInput | CancelSimulationJobBatchCommandInput | CancelSimulationJobCommandInput + | CancelWorldExportJobCommandInput + | CancelWorldGenerationJobCommandInput | CreateDeploymentJobCommandInput | CreateFleetCommandInput | CreateRobotApplicationCommandInput @@ -175,10 +234,14 @@ export type ServiceInputTypes = | CreateSimulationApplicationCommandInput | CreateSimulationApplicationVersionCommandInput | CreateSimulationJobCommandInput + | CreateWorldExportJobCommandInput + | CreateWorldGenerationJobCommandInput + | CreateWorldTemplateCommandInput | DeleteFleetCommandInput | DeleteRobotApplicationCommandInput | DeleteRobotCommandInput | DeleteSimulationApplicationCommandInput + | DeleteWorldTemplateCommandInput | DeregisterRobotCommandInput | DescribeDeploymentJobCommandInput | DescribeFleetCommandInput @@ -187,6 +250,11 @@ export type ServiceInputTypes = | DescribeSimulationApplicationCommandInput | DescribeSimulationJobBatchCommandInput | DescribeSimulationJobCommandInput + | DescribeWorldCommandInput + | DescribeWorldExportJobCommandInput + | DescribeWorldGenerationJobCommandInput + | DescribeWorldTemplateCommandInput + | GetWorldTemplateBodyCommandInput | ListDeploymentJobsCommandInput | ListFleetsCommandInput | ListRobotApplicationsCommandInput @@ -195,6 +263,10 @@ export type ServiceInputTypes = | ListSimulationJobBatchesCommandInput | ListSimulationJobsCommandInput | ListTagsForResourceCommandInput + | ListWorldExportJobsCommandInput + | ListWorldGenerationJobsCommandInput + | ListWorldTemplatesCommandInput + | ListWorldsCommandInput | RegisterRobotCommandInput | RestartSimulationJobCommandInput | StartSimulationJobBatchCommandInput @@ -202,13 +274,17 @@ export type ServiceInputTypes = | TagResourceCommandInput | UntagResourceCommandInput | UpdateRobotApplicationCommandInput - | UpdateSimulationApplicationCommandInput; + | UpdateSimulationApplicationCommandInput + | UpdateWorldTemplateCommandInput; export type ServiceOutputTypes = + | BatchDeleteWorldsCommandOutput | BatchDescribeSimulationJobCommandOutput | CancelDeploymentJobCommandOutput | CancelSimulationJobBatchCommandOutput | CancelSimulationJobCommandOutput + | CancelWorldExportJobCommandOutput + | CancelWorldGenerationJobCommandOutput | CreateDeploymentJobCommandOutput | CreateFleetCommandOutput | CreateRobotApplicationCommandOutput @@ -217,10 +293,14 @@ export type ServiceOutputTypes = | CreateSimulationApplicationCommandOutput | CreateSimulationApplicationVersionCommandOutput | CreateSimulationJobCommandOutput + | CreateWorldExportJobCommandOutput + | CreateWorldGenerationJobCommandOutput + | CreateWorldTemplateCommandOutput | DeleteFleetCommandOutput | DeleteRobotApplicationCommandOutput | DeleteRobotCommandOutput | DeleteSimulationApplicationCommandOutput + | DeleteWorldTemplateCommandOutput | DeregisterRobotCommandOutput | DescribeDeploymentJobCommandOutput | DescribeFleetCommandOutput @@ -229,6 +309,11 @@ export type ServiceOutputTypes = | DescribeSimulationApplicationCommandOutput | DescribeSimulationJobBatchCommandOutput | DescribeSimulationJobCommandOutput + | DescribeWorldCommandOutput + | DescribeWorldExportJobCommandOutput + | DescribeWorldGenerationJobCommandOutput + | DescribeWorldTemplateCommandOutput + | GetWorldTemplateBodyCommandOutput | ListDeploymentJobsCommandOutput | ListFleetsCommandOutput | ListRobotApplicationsCommandOutput @@ -237,6 +322,10 @@ export type ServiceOutputTypes = | ListSimulationJobBatchesCommandOutput | ListSimulationJobsCommandOutput | ListTagsForResourceCommandOutput + | ListWorldExportJobsCommandOutput + | ListWorldGenerationJobsCommandOutput + | ListWorldTemplatesCommandOutput + | ListWorldsCommandOutput | RegisterRobotCommandOutput | RestartSimulationJobCommandOutput | StartSimulationJobBatchCommandOutput @@ -244,7 +333,8 @@ export type ServiceOutputTypes = | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateRobotApplicationCommandOutput - | UpdateSimulationApplicationCommandOutput; + | UpdateSimulationApplicationCommandOutput + | UpdateWorldTemplateCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** diff --git a/clients/client-robomaker/commands/BatchDeleteWorldsCommand.ts b/clients/client-robomaker/commands/BatchDeleteWorldsCommand.ts new file mode 100644 index 000000000000..9b9ef7905dbd --- /dev/null +++ b/clients/client-robomaker/commands/BatchDeleteWorldsCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { BatchDeleteWorldsRequest, BatchDeleteWorldsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1BatchDeleteWorldsCommand, + serializeAws_restJson1BatchDeleteWorldsCommand, +} 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 BatchDeleteWorldsCommandInput = BatchDeleteWorldsRequest; +export type BatchDeleteWorldsCommandOutput = BatchDeleteWorldsResponse & __MetadataBearer; + +export class BatchDeleteWorldsCommand extends $Command< + BatchDeleteWorldsCommandInput, + BatchDeleteWorldsCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchDeleteWorldsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: BatchDeleteWorldsRequest.filterSensitiveLog, + outputFilterSensitiveLog: BatchDeleteWorldsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: BatchDeleteWorldsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1BatchDeleteWorldsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1BatchDeleteWorldsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/CancelWorldExportJobCommand.ts b/clients/client-robomaker/commands/CancelWorldExportJobCommand.ts new file mode 100644 index 000000000000..967d2a3809f4 --- /dev/null +++ b/clients/client-robomaker/commands/CancelWorldExportJobCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { CancelWorldExportJobRequest, CancelWorldExportJobResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CancelWorldExportJobCommand, + serializeAws_restJson1CancelWorldExportJobCommand, +} 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 CancelWorldExportJobCommandInput = CancelWorldExportJobRequest; +export type CancelWorldExportJobCommandOutput = CancelWorldExportJobResponse & __MetadataBearer; + +export class CancelWorldExportJobCommand extends $Command< + CancelWorldExportJobCommandInput, + CancelWorldExportJobCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CancelWorldExportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CancelWorldExportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: CancelWorldExportJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CancelWorldExportJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CancelWorldExportJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CancelWorldExportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/CancelWorldGenerationJobCommand.ts b/clients/client-robomaker/commands/CancelWorldGenerationJobCommand.ts new file mode 100644 index 000000000000..b5fa127d560c --- /dev/null +++ b/clients/client-robomaker/commands/CancelWorldGenerationJobCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { CancelWorldGenerationJobRequest, CancelWorldGenerationJobResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CancelWorldGenerationJobCommand, + serializeAws_restJson1CancelWorldGenerationJobCommand, +} 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 CancelWorldGenerationJobCommandInput = CancelWorldGenerationJobRequest; +export type CancelWorldGenerationJobCommandOutput = CancelWorldGenerationJobResponse & __MetadataBearer; + +export class CancelWorldGenerationJobCommand extends $Command< + CancelWorldGenerationJobCommandInput, + CancelWorldGenerationJobCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CancelWorldGenerationJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CancelWorldGenerationJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: CancelWorldGenerationJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CancelWorldGenerationJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CancelWorldGenerationJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CancelWorldGenerationJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/CreateWorldExportJobCommand.ts b/clients/client-robomaker/commands/CreateWorldExportJobCommand.ts new file mode 100644 index 000000000000..3ad9de1caef8 --- /dev/null +++ b/clients/client-robomaker/commands/CreateWorldExportJobCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { CreateWorldExportJobRequest, CreateWorldExportJobResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateWorldExportJobCommand, + serializeAws_restJson1CreateWorldExportJobCommand, +} 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 CreateWorldExportJobCommandInput = CreateWorldExportJobRequest; +export type CreateWorldExportJobCommandOutput = CreateWorldExportJobResponse & __MetadataBearer; + +export class CreateWorldExportJobCommand extends $Command< + CreateWorldExportJobCommandInput, + CreateWorldExportJobCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateWorldExportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateWorldExportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateWorldExportJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateWorldExportJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateWorldExportJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateWorldExportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/CreateWorldGenerationJobCommand.ts b/clients/client-robomaker/commands/CreateWorldGenerationJobCommand.ts new file mode 100644 index 000000000000..95d6c23f07d2 --- /dev/null +++ b/clients/client-robomaker/commands/CreateWorldGenerationJobCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { CreateWorldGenerationJobRequest, CreateWorldGenerationJobResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateWorldGenerationJobCommand, + serializeAws_restJson1CreateWorldGenerationJobCommand, +} 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 CreateWorldGenerationJobCommandInput = CreateWorldGenerationJobRequest; +export type CreateWorldGenerationJobCommandOutput = CreateWorldGenerationJobResponse & __MetadataBearer; + +export class CreateWorldGenerationJobCommand extends $Command< + CreateWorldGenerationJobCommandInput, + CreateWorldGenerationJobCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateWorldGenerationJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateWorldGenerationJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateWorldGenerationJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateWorldGenerationJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateWorldGenerationJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateWorldGenerationJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/CreateWorldTemplateCommand.ts b/clients/client-robomaker/commands/CreateWorldTemplateCommand.ts new file mode 100644 index 000000000000..0e7657777fd6 --- /dev/null +++ b/clients/client-robomaker/commands/CreateWorldTemplateCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { CreateWorldTemplateRequest, CreateWorldTemplateResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateWorldTemplateCommand, + serializeAws_restJson1CreateWorldTemplateCommand, +} 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 CreateWorldTemplateCommandInput = CreateWorldTemplateRequest; +export type CreateWorldTemplateCommandOutput = CreateWorldTemplateResponse & __MetadataBearer; + +export class CreateWorldTemplateCommand extends $Command< + CreateWorldTemplateCommandInput, + CreateWorldTemplateCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateWorldTemplateCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateWorldTemplateRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateWorldTemplateResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateWorldTemplateCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateWorldTemplateCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateWorldTemplateCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/DeleteWorldTemplateCommand.ts b/clients/client-robomaker/commands/DeleteWorldTemplateCommand.ts new file mode 100644 index 000000000000..b649d8be902e --- /dev/null +++ b/clients/client-robomaker/commands/DeleteWorldTemplateCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { DeleteWorldTemplateRequest, DeleteWorldTemplateResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteWorldTemplateCommand, + serializeAws_restJson1DeleteWorldTemplateCommand, +} 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 DeleteWorldTemplateCommandInput = DeleteWorldTemplateRequest; +export type DeleteWorldTemplateCommandOutput = DeleteWorldTemplateResponse & __MetadataBearer; + +export class DeleteWorldTemplateCommand extends $Command< + DeleteWorldTemplateCommandInput, + DeleteWorldTemplateCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteWorldTemplateCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteWorldTemplateRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteWorldTemplateResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteWorldTemplateCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteWorldTemplateCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteWorldTemplateCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/DescribeWorldCommand.ts b/clients/client-robomaker/commands/DescribeWorldCommand.ts new file mode 100644 index 000000000000..cabda9369902 --- /dev/null +++ b/clients/client-robomaker/commands/DescribeWorldCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { DescribeWorldRequest, DescribeWorldResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeWorldCommand, + serializeAws_restJson1DescribeWorldCommand, +} 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 DescribeWorldCommandInput = DescribeWorldRequest; +export type DescribeWorldCommandOutput = DescribeWorldResponse & __MetadataBearer; + +export class DescribeWorldCommand extends $Command< + DescribeWorldCommandInput, + DescribeWorldCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeWorldCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeWorldRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeWorldResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeWorldCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeWorldCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeWorldCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/DescribeWorldExportJobCommand.ts b/clients/client-robomaker/commands/DescribeWorldExportJobCommand.ts new file mode 100644 index 000000000000..ec6c96d80f26 --- /dev/null +++ b/clients/client-robomaker/commands/DescribeWorldExportJobCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { DescribeWorldExportJobRequest, DescribeWorldExportJobResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeWorldExportJobCommand, + serializeAws_restJson1DescribeWorldExportJobCommand, +} 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 DescribeWorldExportJobCommandInput = DescribeWorldExportJobRequest; +export type DescribeWorldExportJobCommandOutput = DescribeWorldExportJobResponse & __MetadataBearer; + +export class DescribeWorldExportJobCommand extends $Command< + DescribeWorldExportJobCommandInput, + DescribeWorldExportJobCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeWorldExportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeWorldExportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeWorldExportJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeWorldExportJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeWorldExportJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeWorldExportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/DescribeWorldGenerationJobCommand.ts b/clients/client-robomaker/commands/DescribeWorldGenerationJobCommand.ts new file mode 100644 index 000000000000..6b8095a86f30 --- /dev/null +++ b/clients/client-robomaker/commands/DescribeWorldGenerationJobCommand.ts @@ -0,0 +1,73 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { DescribeWorldGenerationJobRequest, DescribeWorldGenerationJobResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeWorldGenerationJobCommand, + serializeAws_restJson1DescribeWorldGenerationJobCommand, +} 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 DescribeWorldGenerationJobCommandInput = DescribeWorldGenerationJobRequest; +export type DescribeWorldGenerationJobCommandOutput = DescribeWorldGenerationJobResponse & __MetadataBearer; + +export class DescribeWorldGenerationJobCommand extends $Command< + DescribeWorldGenerationJobCommandInput, + DescribeWorldGenerationJobCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeWorldGenerationJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeWorldGenerationJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeWorldGenerationJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeWorldGenerationJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeWorldGenerationJobCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeWorldGenerationJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/DescribeWorldTemplateCommand.ts b/clients/client-robomaker/commands/DescribeWorldTemplateCommand.ts new file mode 100644 index 000000000000..ecc2983998bb --- /dev/null +++ b/clients/client-robomaker/commands/DescribeWorldTemplateCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { DescribeWorldTemplateRequest, DescribeWorldTemplateResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeWorldTemplateCommand, + serializeAws_restJson1DescribeWorldTemplateCommand, +} 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 DescribeWorldTemplateCommandInput = DescribeWorldTemplateRequest; +export type DescribeWorldTemplateCommandOutput = DescribeWorldTemplateResponse & __MetadataBearer; + +export class DescribeWorldTemplateCommand extends $Command< + DescribeWorldTemplateCommandInput, + DescribeWorldTemplateCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeWorldTemplateCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeWorldTemplateRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeWorldTemplateResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeWorldTemplateCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeWorldTemplateCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DescribeWorldTemplateCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/GetWorldTemplateBodyCommand.ts b/clients/client-robomaker/commands/GetWorldTemplateBodyCommand.ts new file mode 100644 index 000000000000..3e3dd3e89c0c --- /dev/null +++ b/clients/client-robomaker/commands/GetWorldTemplateBodyCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { GetWorldTemplateBodyRequest, GetWorldTemplateBodyResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetWorldTemplateBodyCommand, + serializeAws_restJson1GetWorldTemplateBodyCommand, +} 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 GetWorldTemplateBodyCommandInput = GetWorldTemplateBodyRequest; +export type GetWorldTemplateBodyCommandOutput = GetWorldTemplateBodyResponse & __MetadataBearer; + +export class GetWorldTemplateBodyCommand extends $Command< + GetWorldTemplateBodyCommandInput, + GetWorldTemplateBodyCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetWorldTemplateBodyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetWorldTemplateBodyRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetWorldTemplateBodyResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetWorldTemplateBodyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetWorldTemplateBodyCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1GetWorldTemplateBodyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/ListWorldExportJobsCommand.ts b/clients/client-robomaker/commands/ListWorldExportJobsCommand.ts new file mode 100644 index 000000000000..6e7978f314da --- /dev/null +++ b/clients/client-robomaker/commands/ListWorldExportJobsCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { ListWorldExportJobsRequest, ListWorldExportJobsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListWorldExportJobsCommand, + serializeAws_restJson1ListWorldExportJobsCommand, +} 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 ListWorldExportJobsCommandInput = ListWorldExportJobsRequest; +export type ListWorldExportJobsCommandOutput = ListWorldExportJobsResponse & __MetadataBearer; + +export class ListWorldExportJobsCommand extends $Command< + ListWorldExportJobsCommandInput, + ListWorldExportJobsCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListWorldExportJobsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListWorldExportJobsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListWorldExportJobsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListWorldExportJobsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListWorldExportJobsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListWorldExportJobsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/ListWorldGenerationJobsCommand.ts b/clients/client-robomaker/commands/ListWorldGenerationJobsCommand.ts new file mode 100644 index 000000000000..dd4a0c883d3d --- /dev/null +++ b/clients/client-robomaker/commands/ListWorldGenerationJobsCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { ListWorldGenerationJobsRequest, ListWorldGenerationJobsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListWorldGenerationJobsCommand, + serializeAws_restJson1ListWorldGenerationJobsCommand, +} 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 ListWorldGenerationJobsCommandInput = ListWorldGenerationJobsRequest; +export type ListWorldGenerationJobsCommandOutput = ListWorldGenerationJobsResponse & __MetadataBearer; + +export class ListWorldGenerationJobsCommand extends $Command< + ListWorldGenerationJobsCommandInput, + ListWorldGenerationJobsCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListWorldGenerationJobsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListWorldGenerationJobsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListWorldGenerationJobsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListWorldGenerationJobsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListWorldGenerationJobsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListWorldGenerationJobsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/ListWorldTemplatesCommand.ts b/clients/client-robomaker/commands/ListWorldTemplatesCommand.ts new file mode 100644 index 000000000000..8133c42bd1b5 --- /dev/null +++ b/clients/client-robomaker/commands/ListWorldTemplatesCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { ListWorldTemplatesRequest, ListWorldTemplatesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListWorldTemplatesCommand, + serializeAws_restJson1ListWorldTemplatesCommand, +} 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 ListWorldTemplatesCommandInput = ListWorldTemplatesRequest; +export type ListWorldTemplatesCommandOutput = ListWorldTemplatesResponse & __MetadataBearer; + +export class ListWorldTemplatesCommand extends $Command< + ListWorldTemplatesCommandInput, + ListWorldTemplatesCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListWorldTemplatesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListWorldTemplatesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListWorldTemplatesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListWorldTemplatesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListWorldTemplatesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListWorldTemplatesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/ListWorldsCommand.ts b/clients/client-robomaker/commands/ListWorldsCommand.ts new file mode 100644 index 000000000000..6d4e8f793201 --- /dev/null +++ b/clients/client-robomaker/commands/ListWorldsCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { ListWorldsRequest, ListWorldsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListWorldsCommand, + serializeAws_restJson1ListWorldsCommand, +} 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 ListWorldsCommandInput = ListWorldsRequest; +export type ListWorldsCommandOutput = ListWorldsResponse & __MetadataBearer; + +export class ListWorldsCommand extends $Command< + ListWorldsCommandInput, + ListWorldsCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListWorldsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListWorldsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListWorldsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListWorldsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListWorldsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListWorldsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/commands/UpdateWorldTemplateCommand.ts b/clients/client-robomaker/commands/UpdateWorldTemplateCommand.ts new file mode 100644 index 000000000000..4fe4abacea85 --- /dev/null +++ b/clients/client-robomaker/commands/UpdateWorldTemplateCommand.ts @@ -0,0 +1,70 @@ +import { RoboMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RoboMakerClient"; +import { UpdateWorldTemplateRequest, UpdateWorldTemplateResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateWorldTemplateCommand, + serializeAws_restJson1UpdateWorldTemplateCommand, +} 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 UpdateWorldTemplateCommandInput = UpdateWorldTemplateRequest; +export type UpdateWorldTemplateCommandOutput = UpdateWorldTemplateResponse & __MetadataBearer; + +export class UpdateWorldTemplateCommand extends $Command< + UpdateWorldTemplateCommandInput, + UpdateWorldTemplateCommandOutput, + RoboMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateWorldTemplateCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RoboMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateWorldTemplateRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateWorldTemplateResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateWorldTemplateCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateWorldTemplateCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UpdateWorldTemplateCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-robomaker/index.ts b/clients/client-robomaker/index.ts index 67e621d62dca..7e21b89a9955 100644 --- a/clients/client-robomaker/index.ts +++ b/clients/client-robomaker/index.ts @@ -1,9 +1,12 @@ export * from "./RoboMakerClient"; export * from "./RoboMaker"; +export * from "./commands/BatchDeleteWorldsCommand"; export * from "./commands/BatchDescribeSimulationJobCommand"; export * from "./commands/CancelDeploymentJobCommand"; export * from "./commands/CancelSimulationJobCommand"; export * from "./commands/CancelSimulationJobBatchCommand"; +export * from "./commands/CancelWorldExportJobCommand"; +export * from "./commands/CancelWorldGenerationJobCommand"; export * from "./commands/CreateDeploymentJobCommand"; export * from "./commands/CreateFleetCommand"; export * from "./commands/CreateRobotCommand"; @@ -12,10 +15,14 @@ export * from "./commands/CreateRobotApplicationVersionCommand"; export * from "./commands/CreateSimulationApplicationCommand"; export * from "./commands/CreateSimulationApplicationVersionCommand"; export * from "./commands/CreateSimulationJobCommand"; +export * from "./commands/CreateWorldExportJobCommand"; +export * from "./commands/CreateWorldGenerationJobCommand"; +export * from "./commands/CreateWorldTemplateCommand"; export * from "./commands/DeleteFleetCommand"; export * from "./commands/DeleteRobotCommand"; export * from "./commands/DeleteRobotApplicationCommand"; export * from "./commands/DeleteSimulationApplicationCommand"; +export * from "./commands/DeleteWorldTemplateCommand"; export * from "./commands/DeregisterRobotCommand"; export * from "./commands/DescribeDeploymentJobCommand"; export * from "./commands/DescribeFleetCommand"; @@ -24,6 +31,11 @@ export * from "./commands/DescribeRobotApplicationCommand"; export * from "./commands/DescribeSimulationApplicationCommand"; export * from "./commands/DescribeSimulationJobCommand"; export * from "./commands/DescribeSimulationJobBatchCommand"; +export * from "./commands/DescribeWorldCommand"; +export * from "./commands/DescribeWorldExportJobCommand"; +export * from "./commands/DescribeWorldGenerationJobCommand"; +export * from "./commands/DescribeWorldTemplateCommand"; +export * from "./commands/GetWorldTemplateBodyCommand"; export * from "./commands/ListDeploymentJobsCommand"; export * from "./pagination/ListDeploymentJobsPaginator"; export * from "./commands/ListFleetsCommand"; @@ -39,6 +51,14 @@ export * from "./pagination/ListSimulationJobBatchesPaginator"; export * from "./commands/ListSimulationJobsCommand"; export * from "./pagination/ListSimulationJobsPaginator"; export * from "./commands/ListTagsForResourceCommand"; +export * from "./commands/ListWorldExportJobsCommand"; +export * from "./pagination/ListWorldExportJobsPaginator"; +export * from "./commands/ListWorldGenerationJobsCommand"; +export * from "./pagination/ListWorldGenerationJobsPaginator"; +export * from "./commands/ListWorldsCommand"; +export * from "./pagination/ListWorldsPaginator"; +export * from "./commands/ListWorldTemplatesCommand"; +export * from "./pagination/ListWorldTemplatesPaginator"; export * from "./commands/RegisterRobotCommand"; export * from "./commands/RestartSimulationJobCommand"; export * from "./commands/StartSimulationJobBatchCommand"; @@ -47,5 +67,6 @@ export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateRobotApplicationCommand"; export * from "./commands/UpdateSimulationApplicationCommand"; +export * from "./commands/UpdateWorldTemplateCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-robomaker/models/models_0.ts b/clients/client-robomaker/models/models_0.ts index 60e6681e4513..febc65edc3b3 100644 --- a/clients/client-robomaker/models/models_0.ts +++ b/clients/client-robomaker/models/models_0.ts @@ -7,6 +7,78 @@ export enum Architecture { X86_64 = "X86_64", } +export interface BatchDeleteWorldsRequest { + /** + *

                          A list of Amazon Resource Names (arns) that correspond to worlds to delete.

                          + */ + worlds: string[] | undefined; +} + +export namespace BatchDeleteWorldsRequest { + export const filterSensitiveLog = (obj: BatchDeleteWorldsRequest): any => ({ + ...obj, + }); +} + +export interface BatchDeleteWorldsResponse { + /** + *

                          A list of unprocessed worlds associated with the call. These worlds were not deleted.

                          + */ + unprocessedWorlds?: string[]; +} + +export namespace BatchDeleteWorldsResponse { + export const filterSensitiveLog = (obj: BatchDeleteWorldsResponse): any => ({ + ...obj, + }); +} + +/** + *

                          AWS RoboMaker experienced a service issue. Try your call again.

                          + */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + message?: string; +} + +export namespace InternalServerException { + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +/** + *

                          A parameter specified in a request is not valid, is unsupported, or cannot be used. + * The returned message provides an explanation of the error value.

                          + */ +export interface InvalidParameterException extends __SmithyException, $MetadataBearer { + name: "InvalidParameterException"; + $fault: "client"; + message?: string; +} + +export namespace InvalidParameterException { + export const filterSensitiveLog = (obj: InvalidParameterException): any => ({ + ...obj, + }); +} + +/** + *

                          AWS RoboMaker is temporarily unable to process the request. Try your call again.

                          + */ +export interface ThrottlingException extends __SmithyException, $MetadataBearer { + name: "ThrottlingException"; + $fault: "client"; + message?: string; +} + +export namespace ThrottlingException { + export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + ...obj, + }); +} + export interface BatchDescribeSimulationJobRequest { /** *

                          A list of Amazon Resource Names (ARNs) of simulation jobs to describe.

                          @@ -29,6 +101,7 @@ export interface ComputeResponse { * proportional to the supplied simulation unit limit. A simulation * unit is 1 vcpu and 2GB of memory. You are only billed * for the SU utilization you consume up to the maximim value provided. + * The default is 15. *

                          */ simulationUnitLimit?: number; @@ -45,14 +118,14 @@ export namespace ComputeResponse { */ export interface S3KeyOutput { /** - *

                          The S3 key.

                          + *

                          The etag for the object.

                          */ - s3Key?: string; + etag?: string; /** - *

                          The etag for the object.

                          + *

                          The S3 key.

                          */ - etag?: string; + s3Key?: string; } export namespace S3KeyOutput { @@ -66,9 +139,9 @@ export namespace S3KeyOutput { */ export interface DataSource { /** - *

                          The name of the data source.

                          + *

                          The list of S3 keys identifying the data source files.

                          */ - name?: string; + s3Keys?: S3KeyOutput[]; /** *

                          The S3 bucket where the data files are located.

                          @@ -76,9 +149,9 @@ export interface DataSource { s3Bucket?: string; /** - *

                          The list of S3 keys identifying the data source files.

                          + *

                          The name of the data source.

                          */ - s3Keys?: S3KeyOutput[]; + name?: string; } export namespace DataSource { @@ -143,9 +216,9 @@ export namespace LoggingConfig { */ export interface NetworkInterface { /** - *

                          The IPv4 address of the network interface within the subnet.

                          + *

                          The IPv4 public address of the network interface.

                          */ - privateIpAddress?: string; + publicIpAddress?: string; /** *

                          The ID of the network interface.

                          @@ -153,9 +226,9 @@ export interface NetworkInterface { networkInterfaceId?: string; /** - *

                          The IPv4 public address of the network interface.

                          + *

                          The IPv4 address of the network interface within the subnet.

                          */ - publicIpAddress?: string; + privateIpAddress?: string; } export namespace NetworkInterface { @@ -189,11 +262,6 @@ export namespace OutputLocation { *

                          An object representing a port mapping.

                          */ export interface PortMapping { - /** - *

                          The port number on the simulation job instance to use as a remote connection point.

                          - */ - jobPort: number | undefined; - /** *

                          The port number on the application.

                          */ @@ -203,6 +271,11 @@ export interface PortMapping { *

                          A Boolean indicating whether to enable this port mapping on public IP.

                          */ enableOnPublicIp?: boolean; + + /** + *

                          The port number on the simulation job instance to use as a remote connection point.

                          + */ + jobPort: number | undefined; } export namespace PortMapping { @@ -232,33 +305,33 @@ export namespace PortForwardingConfig { */ export interface LaunchConfig { /** - *

                          The package name.

                          + *

                          Boolean indicating whether a streaming session will be configured for the application. If True, + * AWS RoboMaker will configure a connection so you can interact with your application as it is + * running in the simulation. You must configure and luanch the component. It must have a graphical + * user interface. + *

                          */ - packageName: string | undefined; + streamUI?: boolean; /** - *

                          The environment variables for the application launch.

                          + *

                          The package name.

                          */ - environmentVariables?: { [key: string]: string }; + packageName: string | undefined; /** - *

                          The launch file name.

                          + *

                          The port forwarding configuration.

                          */ - launchFile: string | undefined; + portForwardingConfig?: PortForwardingConfig; /** - *

                          Boolean indicating whether a streaming session will be configured for the application. If True, - * AWS RoboMaker will configure a connection so you can interact with your application as it is - * running in the simulation. You must configure and luanch the component. It must have a graphical - * user interface. - *

                          + *

                          The environment variables for the application launch.

                          */ - streamUI?: boolean; + environmentVariables?: { [key: string]: string }; /** - *

                          The port forwarding configuration.

                          + *

                          The launch file name.

                          */ - portForwardingConfig?: PortForwardingConfig; + launchFile: string | undefined; } export namespace LaunchConfig { @@ -272,9 +345,9 @@ export namespace LaunchConfig { */ export interface RobotApplicationConfig { /** - *

                          The version of the robot application.

                          + *

                          The application information for the robot application.

                          */ - applicationVersion?: string; + application: string | undefined; /** *

                          The launch configuration for the robot application.

                          @@ -282,9 +355,9 @@ export interface RobotApplicationConfig { launchConfig: LaunchConfig | undefined; /** - *

                          The application information for the robot application.

                          + *

                          The version of the robot application.

                          */ - application: string | undefined; + applicationVersion?: string; } export namespace RobotApplicationConfig { @@ -293,6 +366,22 @@ export namespace RobotApplicationConfig { }); } +/** + *

                          Configuration information for a world.

                          + */ +export interface WorldConfig { + /** + *

                          The world generated by Simulation WorldForge.

                          + */ + world?: string; +} + +export namespace WorldConfig { + export const filterSensitiveLog = (obj: WorldConfig): any => ({ + ...obj, + }); +} + /** *

                          Information about a simulation application configuration.

                          */ @@ -302,15 +391,20 @@ export interface SimulationApplicationConfig { */ launchConfig: LaunchConfig | undefined; + /** + *

                          The application information for the simulation application.

                          + */ + application: string | undefined; + /** *

                          The version of the simulation application.

                          */ applicationVersion?: string; /** - *

                          The application information for the simulation application.

                          + *

                          A list of world configurations.

                          */ - application: string | undefined; + worldConfigs?: WorldConfig[]; } export namespace SimulationApplicationConfig { @@ -341,6 +435,11 @@ export interface VPCConfigResponse { */ vpcId?: string; + /** + *

                          A boolean indicating if a public IP was assigned.

                          + */ + assignPublicIp?: boolean; + /** *

                          A list of security group IDs associated with the simulation job.

                          */ @@ -350,11 +449,6 @@ export interface VPCConfigResponse { *

                          A list of subnet IDs associated with the simulation job.

                          */ subnets?: string[]; - - /** - *

                          A boolean indicating if a public IP was assigned.

                          - */ - assignPublicIp?: boolean; } export namespace VPCConfigResponse { @@ -373,19 +467,34 @@ export interface SimulationJob { loggingConfig?: LoggingConfig; /** - *

                          Information about a network interface.

                          + *

                          The maximum simulation job duration in seconds. The value must be 8 days (691,200 seconds) or less.

                          */ - networkInterface?: NetworkInterface; + maxJobDurationInSeconds?: number; /** - *

                          The maximum simulation job duration in seconds. The value must be 8 days (691,200 seconds) or less.

                          + *

                          A map that contains tag keys and tag values that are attached to the simulation job.

                          */ - maxJobDurationInSeconds?: number; + tags?: { [key: string]: string }; /** - *

                          The simulation job execution duration in milliseconds.

                          + *

                          Status of the simulation job.

                          */ - simulationTimeMillis?: number; + status?: SimulationJobStatus | string; + + /** + *

                          The failure code of the simulation job if it failed.

                          + */ + failureCode?: SimulationJobErrorCode | string; + + /** + *

                          Compute information for the simulation job

                          + */ + compute?: ComputeResponse; + + /** + *

                          Location for output files generated by the simulation job.

                          + */ + outputLocation?: OutputLocation; /** *

                          The IAM role that allows the simulation instance to call the AWS APIs that @@ -395,15 +504,20 @@ export interface SimulationJob { */ iamRole?: string; + /** + *

                          The simulation job execution duration in milliseconds.

                          + */ + simulationTimeMillis?: number; + /** *

                          VPC configuration information.

                          */ vpcConfig?: VPCConfigResponse; /** - *

                          Status of the simulation job.

                          + *

                          Information about a network interface.

                          */ - status?: SimulationJobStatus | string; + networkInterface?: NetworkInterface; /** *

                          The failure behavior the simulation job.

                          @@ -421,69 +535,49 @@ export interface SimulationJob { failureBehavior?: FailureBehavior | string; /** - *

                          A unique identifier for this SimulationJob request.

                          - */ - clientRequestToken?: string; - - /** - *

                          A list of simulation applications.

                          + *

                          The reason why the simulation job failed.

                          */ - simulationApplications?: SimulationApplicationConfig[]; + failureReason?: string; /** - *

                          Compute information for the simulation job

                          + *

                          The time, in milliseconds since the epoch, when the simulation job was last started.

                          */ - compute?: ComputeResponse; + lastStartedAt?: Date; /** *

                          The name of the simulation job.

                          */ name?: string; - /** - *

                          The Amazon Resource Name (ARN) of the simulation job.

                          - */ - arn?: string; - - /** - *

                          The data sources for the simulation job.

                          - */ - dataSources?: DataSource[]; - /** *

                          A list of robot applications.

                          */ robotApplications?: RobotApplicationConfig[]; /** - *

                          The time, in milliseconds since the epoch, when the simulation job was last updated.

                          - */ - lastUpdatedAt?: Date; - - /** - *

                          The reason why the simulation job failed.

                          + *

                          The data sources for the simulation job.

                          */ - failureReason?: string; + dataSources?: DataSource[]; /** - *

                          A map that contains tag keys and tag values that are attached to the simulation job.

                          + *

                          The Amazon Resource Name (ARN) of the simulation job.

                          */ - tags?: { [key: string]: string }; + arn?: string; /** - *

                          The time, in milliseconds since the epoch, when the simulation job was last started.

                          + *

                          A list of simulation applications.

                          */ - lastStartedAt?: Date; + simulationApplications?: SimulationApplicationConfig[]; /** - *

                          The failure code of the simulation job if it failed.

                          + *

                          A unique identifier for this SimulationJob request.

                          */ - failureCode?: SimulationJobErrorCode | string; + clientRequestToken?: string; /** - *

                          Location for output files generated by the simulation job.

                          + *

                          The time, in milliseconds since the epoch, when the simulation job was last updated.

                          */ - outputLocation?: OutputLocation; + lastUpdatedAt?: Date; } export namespace SimulationJob { @@ -494,14 +588,14 @@ export namespace SimulationJob { export interface BatchDescribeSimulationJobResponse { /** - *

                          A list of simulation jobs.

                          + *

                          A list of unprocessed simulation job Amazon Resource Names (ARNs).

                          */ - jobs?: SimulationJob[]; + unprocessedJobs?: string[]; /** - *

                          A list of unprocessed simulation job Amazon Resource Names (ARNs).

                          + *

                          A list of simulation jobs.

                          */ - unprocessedJobs?: string[]; + jobs?: SimulationJob[]; } export namespace BatchDescribeSimulationJobResponse { @@ -511,38 +605,7 @@ export namespace BatchDescribeSimulationJobResponse { } /** - *

                          AWS RoboMaker experienced a service issue. Try your call again.

                          - */ -export interface InternalServerException extends __SmithyException, $MetadataBearer { - name: "InternalServerException"; - $fault: "server"; - message?: string; -} - -export namespace InternalServerException { - export const filterSensitiveLog = (obj: InternalServerException): any => ({ - ...obj, - }); -} - -/** - *

                          A parameter specified in a request is not valid, is unsupported, or cannot be used. - * The returned message provides an explanation of the error value.

                          - */ -export interface InvalidParameterException extends __SmithyException, $MetadataBearer { - name: "InvalidParameterException"; - $fault: "client"; - message?: string; -} - -export namespace InvalidParameterException { - export const filterSensitiveLog = (obj: InvalidParameterException): any => ({ - ...obj, - }); -} - -/** - *

                          The specified resource does not exist.

                          + *

                          The specified resource does not exist.

                          */ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; @@ -556,25 +619,21 @@ export namespace ResourceNotFoundException { }); } -/** - *

                          AWS RoboMaker is temporarily unable to process the request. Try your call again.

                          - */ -export interface ThrottlingException extends __SmithyException, $MetadataBearer { - name: "ThrottlingException"; - $fault: "client"; - message?: string; -} - -export namespace ThrottlingException { - export const filterSensitiveLog = (obj: ThrottlingException): any => ({ - ...obj, - }); -} - /** *

                          Information about the batch policy.

                          */ export interface BatchPolicy { + /** + *

                          The number of active simulation jobs create as part of the batch that + * can be in an active state at the same time. + *

                          + *

                          Active states include: Pending,Preparing, + * Running, Restarting, RunningFailed and + * Terminating. All other states are terminal states. + *

                          + */ + maxConcurrency?: number; + /** *

                          The amount of time, in seconds, to wait for the batch to complete. * @@ -589,17 +648,6 @@ export interface BatchPolicy { *

                          */ timeoutInSeconds?: number; - - /** - *

                          The number of active simulation jobs create as part of the batch that - * can be in an active state at the same time. - *

                          - *

                          Active states include: Pending,Preparing, - * Running, Restarting, RunningFailed and - * Terminating. All other states are terminal states. - *

                          - */ - maxConcurrency?: number; } export namespace BatchPolicy { @@ -671,6 +719,48 @@ export namespace CancelSimulationJobBatchResponse { }); } +export interface CancelWorldExportJobRequest { + /** + *

                          The Amazon Resource Name (arn) of the world export job to cancel.

                          + */ + job: string | undefined; +} + +export namespace CancelWorldExportJobRequest { + export const filterSensitiveLog = (obj: CancelWorldExportJobRequest): any => ({ + ...obj, + }); +} + +export interface CancelWorldExportJobResponse {} + +export namespace CancelWorldExportJobResponse { + export const filterSensitiveLog = (obj: CancelWorldExportJobResponse): any => ({ + ...obj, + }); +} + +export interface CancelWorldGenerationJobRequest { + /** + *

                          The Amazon Resource Name (arn) of the world generator job to cancel.

                          + */ + job: string | undefined; +} + +export namespace CancelWorldGenerationJobRequest { + export const filterSensitiveLog = (obj: CancelWorldGenerationJobRequest): any => ({ + ...obj, + }); +} + +export interface CancelWorldGenerationJobResponse {} + +export namespace CancelWorldGenerationJobResponse { + export const filterSensitiveLog = (obj: CancelWorldGenerationJobResponse): any => ({ + ...obj, + }); +} + /** *

                          Compute information for the simulation job.

                          */ @@ -680,6 +770,7 @@ export interface Compute { * proportional to the supplied simulation unit limit. A simulation * unit is 1 vcpu and 2GB of memory. You are only billed * for the SU utilization you consume up to the maximim value provided. + * The default is 15. *

                          */ simulationUnitLimit?: number; @@ -711,9 +802,9 @@ export namespace ConcurrentDeploymentException { */ export interface DeploymentLaunchConfig { /** - *

                          The deployment pre-launch file. This file will be executed prior to the launch file.

                          + *

                          The package name.

                          */ - preLaunchFile?: string; + packageName: string | undefined; /** *

                          The deployment post-launch file. This file will be executed after the launch file.

                          @@ -721,19 +812,19 @@ export interface DeploymentLaunchConfig { postLaunchFile?: string; /** - *

                          The package name.

                          + *

                          The deployment pre-launch file. This file will be executed prior to the launch file.

                          */ - packageName: string | undefined; + preLaunchFile?: string; /** - *

                          The launch file name.

                          + *

                          An array of key/value pairs specifying environment variables for the robot application

                          */ - launchFile: string | undefined; + environmentVariables?: { [key: string]: string }; /** - *

                          An array of key/value pairs specifying environment variables for the robot application

                          + *

                          The launch file name.

                          */ - environmentVariables?: { [key: string]: string }; + launchFile: string | undefined; } export namespace DeploymentLaunchConfig { @@ -746,6 +837,11 @@ export namespace DeploymentLaunchConfig { *

                          Information about a deployment application configuration.

                          */ export interface DeploymentApplicationConfig { + /** + *

                          The version of the application.

                          + */ + applicationVersion: string | undefined; + /** *

                          The Amazon Resource Name (ARN) of the robot application.

                          */ @@ -755,11 +851,6 @@ export interface DeploymentApplicationConfig { *

                          The launch configuration.

                          */ launchConfig: DeploymentLaunchConfig | undefined; - - /** - *

                          The version of the application.

                          - */ - applicationVersion: string | undefined; } export namespace DeploymentApplicationConfig { @@ -773,9 +864,9 @@ export namespace DeploymentApplicationConfig { */ export interface S3Object { /** - *

                          The etag of the object.

                          + *

                          The bucket containing the object.

                          */ - etag?: string; + bucket: string | undefined; /** *

                          The key of the object.

                          @@ -783,9 +874,9 @@ export interface S3Object { key: string | undefined; /** - *

                          The bucket containing the object.

                          + *

                          The etag of the object.

                          */ - bucket: string | undefined; + etag?: string; } export namespace S3Object { @@ -799,25 +890,25 @@ export namespace S3Object { */ export interface DeploymentConfig { /** - *

                          The percentage of deployments that need to fail before stopping deployment.

                          + *

                          The download condition file.

                          */ - failureThresholdPercentage?: number; + downloadConditionFile?: S3Object; /** - *

                          The download condition file.

                          + *

                          The percentage of robots receiving the deployment at the same time.

                          */ - downloadConditionFile?: S3Object; + concurrentDeploymentPercentage?: number; /** - *

                          The amount of time, in seconds, to wait for deployment to a single robot to complete. - * Choose a time between 1 minute and 7 days. The default is 5 hours.

                          + *

                          The percentage of deployments that need to fail before stopping deployment.

                          */ - robotDeploymentTimeoutInSeconds?: number; + failureThresholdPercentage?: number; /** - *

                          The percentage of robots receiving the deployment at the same time.

                          + *

                          The amount of time, in seconds, to wait for deployment to a single robot to complete. + * Choose a time between 1 minute and 7 days. The default is 5 hours.

                          */ - concurrentDeploymentPercentage?: number; + robotDeploymentTimeoutInSeconds?: number; } export namespace DeploymentConfig { @@ -838,9 +929,9 @@ export interface CreateDeploymentJobRequest { fleet: string | undefined; /** - *

                          The deployment application configuration.

                          + *

                          A map that contains tag keys and tag values that are attached to the deployment job.

                          */ - deploymentApplicationConfigs: DeploymentApplicationConfig[] | undefined; + tags?: { [key: string]: string }; /** *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          @@ -848,9 +939,9 @@ export interface CreateDeploymentJobRequest { clientRequestToken?: string; /** - *

                          A map that contains tag keys and tag values that are attached to the deployment job.

                          + *

                          The deployment application configuration.

                          */ - tags?: { [key: string]: string }; + deploymentApplicationConfigs: DeploymentApplicationConfig[] | undefined; } export namespace CreateDeploymentJobRequest { @@ -892,6 +983,21 @@ export enum DeploymentStatus { } export interface CreateDeploymentJobResponse { + /** + *

                          The deployment configuration.

                          + */ + deploymentConfig?: DeploymentConfig; + + /** + *

                          The target fleet for the deployment job.

                          + */ + fleet?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the deployment job.

                          + */ + arn?: string; + /** *

                          The deployment application configuration.

                          */ @@ -902,7 +1008,6 @@ export interface CreateDeploymentJobResponse { *
                          *
                          BadPermissionError
                          *
                          - * *

                          AWS Greengrass requires a service-level role permission to access * other services. The role must include the * @@ -964,24 +1069,9 @@ export interface CreateDeploymentJobResponse { failureCode?: DeploymentJobErrorCode | string; /** - *

                          The list of all tags added to the deployment job.

                          - */ - tags?: { [key: string]: string }; - - /** - *

                          The deployment configuration.

                          - */ - deploymentConfig?: DeploymentConfig; - - /** - *

                          The time, in milliseconds since the epoch, when the fleet was created.

                          - */ - createdAt?: Date; - - /** - *

                          The target fleet for the deployment job.

                          + *

                          The failure reason of the deployment job if it failed.

                          */ - fleet?: string; + failureReason?: string; /** *

                          The status of the deployment job.

                          @@ -989,14 +1079,14 @@ export interface CreateDeploymentJobResponse { status?: DeploymentStatus | string; /** - *

                          The Amazon Resource Name (ARN) of the deployment job.

                          + *

                          The list of all tags added to the deployment job.

                          */ - arn?: string; + tags?: { [key: string]: string }; /** - *

                          The failure reason of the deployment job if it failed.

                          + *

                          The time, in milliseconds since the epoch, when the fleet was created.

                          */ - failureReason?: string; + createdAt?: Date; } export namespace CreateDeploymentJobResponse { @@ -1039,14 +1129,14 @@ export namespace LimitExceededException { export interface CreateFleetRequest { /** - *

                          The name of the fleet.

                          + *

                          A map that contains tag keys and tag values that are attached to the fleet.

                          */ - name: string | undefined; + tags?: { [key: string]: string }; /** - *

                          A map that contains tag keys and tag values that are attached to the fleet.

                          + *

                          The name of the fleet.

                          */ - tags?: { [key: string]: string }; + name: string | undefined; } export namespace CreateFleetRequest { @@ -1057,24 +1147,24 @@ export namespace CreateFleetRequest { export interface CreateFleetResponse { /** - *

                          The time, in milliseconds since the epoch, when the fleet was created.

                          + *

                          The Amazon Resource Name (ARN) of the fleet.

                          */ - createdAt?: Date; + arn?: string; /** - *

                          The list of all tags added to the fleet.

                          + *

                          The name of the fleet.

                          */ - tags?: { [key: string]: string }; + name?: string; /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          + *

                          The list of all tags added to the fleet.

                          */ - arn?: string; + tags?: { [key: string]: string }; /** - *

                          The name of the fleet.

                          + *

                          The time, in milliseconds since the epoch, when the fleet was created.

                          */ - name?: string; + createdAt?: Date; } export namespace CreateFleetResponse { @@ -1085,24 +1175,24 @@ export namespace CreateFleetResponse { export interface CreateRobotRequest { /** - *

                          The Greengrass group id.

                          + *

                          A map that contains tag keys and tag values that are attached to the robot.

                          */ - greengrassGroupId: string | undefined; + tags?: { [key: string]: string }; /** - *

                          The name for the robot.

                          + *

                          The target architecture of the robot.

                          */ - name: string | undefined; + architecture: Architecture | string | undefined; /** - *

                          A map that contains tag keys and tag values that are attached to the robot.

                          + *

                          The name for the robot.

                          */ - tags?: { [key: string]: string }; + name: string | undefined; /** - *

                          The target architecture of the robot.

                          + *

                          The Greengrass group id.

                          */ - architecture: Architecture | string | undefined; + greengrassGroupId: string | undefined; } export namespace CreateRobotRequest { @@ -1113,14 +1203,9 @@ export namespace CreateRobotRequest { export interface CreateRobotResponse { /** - *

                          The target architecture of the robot.

                          - */ - architecture?: Architecture | string; - - /** - *

                          The name of the robot.

                          + *

                          The list of all tags added to the robot.

                          */ - name?: string; + tags?: { [key: string]: string }; /** *

                          The time, in milliseconds since the epoch, when the robot was created.

                          @@ -1128,23 +1213,28 @@ export interface CreateRobotResponse { createdAt?: Date; /** - *

                          The list of all tags added to the robot.

                          + *

                          The target architecture of the robot.

                          */ - tags?: { [key: string]: string }; + architecture?: Architecture | string; /** - *

                          The Amazon Resource Name (ARN) of the Greengrass group associated with the robot.

                          + *

                          The name of the robot.

                          */ - greengrassGroupId?: string; + name?: string; /** *

                          The Amazon Resource Name (ARN) of the robot.

                          */ arn?: string; -} -export namespace CreateRobotResponse { - export const filterSensitiveLog = (obj: CreateRobotResponse): any => ({ + /** + *

                          The Amazon Resource Name (ARN) of the Greengrass group associated with the robot.

                          + */ + greengrassGroupId?: string; +} + +export namespace CreateRobotResponse { + export const filterSensitiveLog = (obj: CreateRobotResponse): any => ({ ...obj, }); } @@ -1228,11 +1318,6 @@ export interface CreateRobotApplicationRequest { */ robotSoftwareSuite: RobotSoftwareSuite | undefined; - /** - *

                          The sources of the robot application.

                          - */ - sources: SourceConfig[] | undefined; - /** *

                          A map that contains tag keys and tag values that are attached to the robot application.

                          */ @@ -1242,6 +1327,11 @@ export interface CreateRobotApplicationRequest { *

                          The name of the robot application.

                          */ name: string | undefined; + + /** + *

                          The sources of the robot application.

                          + */ + sources: SourceConfig[] | undefined; } export namespace CreateRobotApplicationRequest { @@ -1255,24 +1345,24 @@ export namespace CreateRobotApplicationRequest { */ export interface Source { /** - *

                          The s3 object key.

                          + *

                          The taget processor architecture for the application.

                          */ - s3Key?: string; + architecture?: Architecture | string; /** - *

                          A hash of the object specified by s3Bucket and s3Key.

                          + *

                          The s3 bucket name.

                          */ - etag?: string; + s3Bucket?: string; /** - *

                          The s3 bucket name.

                          + *

                          A hash of the object specified by s3Bucket and s3Key.

                          */ - s3Bucket?: string; + etag?: string; /** - *

                          The taget processor architecture for the application.

                          + *

                          The s3 object key.

                          */ - architecture?: Architecture | string; + s3Key?: string; } export namespace Source { @@ -1283,34 +1373,34 @@ export namespace Source { export interface CreateRobotApplicationResponse { /** - *

                          The robot software suite (ROS distribution) used by the robot application.

                          + *

                          The time, in milliseconds since the epoch, when the robot application was last updated.

                          */ - robotSoftwareSuite?: RobotSoftwareSuite; + lastUpdatedAt?: Date; /** - *

                          The sources of the robot application.

                          + *

                          The Amazon Resource Name (ARN) of the robot application.

                          */ - sources?: Source[]; + arn?: string; /** - *

                          The time, in milliseconds since the epoch, when the robot application was last updated.

                          + *

                          The name of the robot application.

                          */ - lastUpdatedAt?: Date; + name?: string; /** - *

                          The Amazon Resource Name (ARN) of the robot application.

                          + *

                          The sources of the robot application.

                          */ - arn?: string; + sources?: Source[]; /** - *

                          The revision id of the robot application.

                          + *

                          The robot software suite (ROS distribution) used by the robot application.

                          */ - revisionId?: string; + robotSoftwareSuite?: RobotSoftwareSuite; /** - *

                          The version of the robot application.

                          + *

                          The revision id of the robot application.

                          */ - version?: string; + revisionId?: string; /** *

                          The list of all tags added to the robot application.

                          @@ -1318,9 +1408,9 @@ export interface CreateRobotApplicationResponse { tags?: { [key: string]: string }; /** - *

                          The name of the robot application.

                          + *

                          The version of the robot application.

                          */ - name?: string; + version?: string; } export namespace CreateRobotApplicationResponse { @@ -1330,16 +1420,16 @@ export namespace CreateRobotApplicationResponse { } export interface CreateRobotApplicationVersionRequest { - /** - *

                          The application information for the robot application.

                          - */ - application: string | undefined; - /** *

                          The current revision id for the robot application. If you provide a value and it * matches the latest revision ID, a new version will be created.

                          */ currentRevisionId?: string; + + /** + *

                          The application information for the robot application.

                          + */ + application: string | undefined; } export namespace CreateRobotApplicationVersionRequest { @@ -1350,39 +1440,39 @@ export namespace CreateRobotApplicationVersionRequest { export interface CreateRobotApplicationVersionResponse { /** - *

                          The Amazon Resource Name (ARN) of the robot application.

                          + *

                          The name of the robot application.

                          */ - arn?: string; + name?: string; /** - *

                          The time, in milliseconds since the epoch, when the robot application was last updated.

                          + *

                          The Amazon Resource Name (ARN) of the robot application.

                          */ - lastUpdatedAt?: Date; + arn?: string; /** - *

                          The robot software suite (ROS distribution) used by the robot application.

                          + *

                          The version of the robot application.

                          */ - robotSoftwareSuite?: RobotSoftwareSuite; + version?: string; /** - *

                          The sources of the robot application.

                          + *

                          The revision id of the robot application.

                          */ - sources?: Source[]; + revisionId?: string; /** - *

                          The version of the robot application.

                          + *

                          The robot software suite (ROS distribution) used by the robot application.

                          */ - version?: string; + robotSoftwareSuite?: RobotSoftwareSuite; /** - *

                          The name of the robot application.

                          + *

                          The time, in milliseconds since the epoch, when the robot application was last updated.

                          */ - name?: string; + lastUpdatedAt?: Date; /** - *

                          The revision id of the robot application.

                          + *

                          The sources of the robot application.

                          */ - revisionId?: string; + sources?: Source[]; } export namespace CreateRobotApplicationVersionResponse { @@ -1426,14 +1516,14 @@ export enum SimulationSoftwareSuiteType { */ export interface SimulationSoftwareSuite { /** - *

                          The name of the simulation software suite.

                          + *

                          The version of the simulation software suite.

                          */ - name?: SimulationSoftwareSuiteType | string; + version?: string; /** - *

                          The version of the simulation software suite.

                          + *

                          The name of the simulation software suite.

                          */ - version?: string; + name?: SimulationSoftwareSuiteType | string; } export namespace SimulationSoftwareSuite { @@ -1443,6 +1533,16 @@ export namespace SimulationSoftwareSuite { } export interface CreateSimulationApplicationRequest { + /** + *

                          The robot software suite (ROS distribution) used by the simulation application.

                          + */ + robotSoftwareSuite: RobotSoftwareSuite | undefined; + + /** + *

                          The name of the simulation application.

                          + */ + name: string | undefined; + /** *

                          A map that contains tag keys and tag values that are attached to the simulation application.

                          */ @@ -1462,16 +1562,6 @@ export interface CreateSimulationApplicationRequest { *

                          The sources of the simulation application.

                          */ sources: SourceConfig[] | undefined; - - /** - *

                          The robot software suite (ROS distribution) used by the simulation application.

                          - */ - robotSoftwareSuite: RobotSoftwareSuite | undefined; - - /** - *

                          The name of the simulation application.

                          - */ - name: string | undefined; } export namespace CreateSimulationApplicationRequest { @@ -1482,54 +1572,54 @@ export namespace CreateSimulationApplicationRequest { export interface CreateSimulationApplicationResponse { /** - *

                          The list of all tags added to the simulation application.

                          + *

                          The revision id of the simulation application.

                          */ - tags?: { [key: string]: string }; + revisionId?: string; /** - *

                          The name of the simulation application.

                          + *

                          Information about the robot software suite (ROS distribution).

                          */ - name?: string; + robotSoftwareSuite?: RobotSoftwareSuite; /** - *

                          The version of the simulation application.

                          + *

                          The rendering engine for the simulation application.

                          */ - version?: string; + renderingEngine?: RenderingEngine; /** - *

                          The revision id of the simulation application.

                          + *

                          The time, in milliseconds since the epoch, when the simulation application was last updated.

                          */ - revisionId?: string; + lastUpdatedAt?: Date; /** - *

                          The Amazon Resource Name (ARN) of the simulation application.

                          + *

                          The sources of the simulation application.

                          */ - arn?: string; + sources?: Source[]; /** - *

                          The simulation software suite used by the simulation application.

                          + *

                          The name of the simulation application.

                          */ - simulationSoftwareSuite?: SimulationSoftwareSuite; + name?: string; /** - *

                          Information about the robot software suite (ROS distribution).

                          + *

                          The simulation software suite used by the simulation application.

                          */ - robotSoftwareSuite?: RobotSoftwareSuite; + simulationSoftwareSuite?: SimulationSoftwareSuite; /** - *

                          The time, in milliseconds since the epoch, when the simulation application was last updated.

                          + *

                          The list of all tags added to the simulation application.

                          */ - lastUpdatedAt?: Date; + tags?: { [key: string]: string }; /** - *

                          The rendering engine for the simulation application.

                          + *

                          The Amazon Resource Name (ARN) of the simulation application.

                          */ - renderingEngine?: RenderingEngine; + arn?: string; /** - *

                          The sources of the simulation application.

                          + *

                          The version of the simulation application.

                          */ - sources?: Source[]; + version?: string; } export namespace CreateSimulationApplicationResponse { @@ -1540,15 +1630,15 @@ export namespace CreateSimulationApplicationResponse { export interface CreateSimulationApplicationVersionRequest { /** - *

                          The current revision id for the simulation application. If you provide a value and it - * matches the latest revision ID, a new version will be created.

                          + *

                          The application information for the simulation application.

                          */ - currentRevisionId?: string; + application: string | undefined; /** - *

                          The application information for the simulation application.

                          + *

                          The current revision id for the simulation application. If you provide a value and it + * matches the latest revision ID, a new version will be created.

                          */ - application: string | undefined; + currentRevisionId?: string; } export namespace CreateSimulationApplicationVersionRequest { @@ -1559,9 +1649,9 @@ export namespace CreateSimulationApplicationVersionRequest { export interface CreateSimulationApplicationVersionResponse { /** - *

                          The rendering engine for the simulation application.

                          + *

                          The revision ID of the simulation application.

                          */ - renderingEngine?: RenderingEngine; + revisionId?: string; /** *

                          The version of the simulation application.

                          @@ -1569,24 +1659,24 @@ export interface CreateSimulationApplicationVersionResponse { version?: string; /** - *

                          The name of the simulation application.

                          + *

                          The simulation software suite used by the simulation application.

                          */ - name?: string; + simulationSoftwareSuite?: SimulationSoftwareSuite; /** - *

                          Information about the robot software suite (ROS distribution).

                          + *

                          The name of the simulation application.

                          */ - robotSoftwareSuite?: RobotSoftwareSuite; + name?: string; /** - *

                          The Amazon Resource Name (ARN) of the simulation application.

                          + *

                          The time, in milliseconds since the epoch, when the simulation application was last updated.

                          */ - arn?: string; + lastUpdatedAt?: Date; /** - *

                          The time, in milliseconds since the epoch, when the simulation application was last updated.

                          + *

                          The rendering engine for the simulation application.

                          */ - lastUpdatedAt?: Date; + renderingEngine?: RenderingEngine; /** *

                          The sources of the simulation application.

                          @@ -1594,14 +1684,14 @@ export interface CreateSimulationApplicationVersionResponse { sources?: Source[]; /** - *

                          The revision ID of the simulation application.

                          + *

                          The Amazon Resource Name (ARN) of the simulation application.

                          */ - revisionId?: string; + arn?: string; /** - *

                          The simulation software suite used by the simulation application.

                          + *

                          Information about the robot software suite (ROS distribution).

                          */ - simulationSoftwareSuite?: SimulationSoftwareSuite; + robotSoftwareSuite?: RobotSoftwareSuite; } export namespace CreateSimulationApplicationVersionResponse { @@ -1615,9 +1705,9 @@ export namespace CreateSimulationApplicationVersionResponse { */ export interface DataSourceConfig { /** - *

                          The name of the data source.

                          + *

                          The list of S3 keys identifying the data source files.

                          */ - name: string | undefined; + s3Keys: string[] | undefined; /** *

                          The S3 bucket where the data files are located.

                          @@ -1625,9 +1715,9 @@ export interface DataSourceConfig { s3Bucket: string | undefined; /** - *

                          The list of S3 keys identifying the data source files.

                          + *

                          The name of the data source.

                          */ - s3Keys: string[] | undefined; + name: string | undefined; } export namespace DataSourceConfig { @@ -1643,9 +1733,9 @@ export namespace DataSourceConfig { */ export interface VPCConfig { /** - *

                          A list of one or more subnet IDs in your VPC.

                          + *

                          A list of one or more security groups IDs in your VPC.

                          */ - subnets: string[] | undefined; + securityGroups?: string[]; /** *

                          A boolean indicating whether to assign a public IP address.

                          @@ -1653,9 +1743,9 @@ export interface VPCConfig { assignPublicIp?: boolean; /** - *

                          A list of one or more security groups IDs in your VPC.

                          + *

                          A list of one or more subnet IDs in your VPC.

                          */ - securityGroups?: string[]; + subnets: string[] | undefined; } export namespace VPCConfig { @@ -1665,6 +1755,11 @@ export namespace VPCConfig { } export interface CreateSimulationJobRequest { + /** + *

                          The robot application to use in the simulation job.

                          + */ + robotApplications?: RobotApplicationConfig[]; + /** *

                          Specify data sources to mount read-only files from S3 into your simulation. These files are * available under /opt/robomaker/datasources/data_source_name. @@ -1677,11 +1772,26 @@ export interface CreateSimulationJobRequest { */ dataSources?: DataSourceConfig[]; + /** + *

                          The simulation application to use in the simulation job.

                          + */ + simulationApplications?: SimulationApplicationConfig[]; + + /** + *

                          Compute information for the simulation job.

                          + */ + compute?: Compute; + /** *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ clientRequestToken?: string; + /** + *

                          The logging configuration.

                          + */ + loggingConfig?: LoggingConfig; + /** *

                          The maximum simulation job duration in seconds (up to 14 days or 1,209,600 seconds. * When maxJobDurationInSeconds is reached, the simulation job will status will transition to @@ -1689,11 +1799,6 @@ export interface CreateSimulationJobRequest { */ maxJobDurationInSeconds: number | undefined; - /** - *

                          Location for output files generated by the simulation job.

                          - */ - outputLocation?: OutputLocation; - /** *

                          A map that contains tag keys and tag values that are attached to the simulation job.

                          */ @@ -1708,15 +1813,9 @@ export interface CreateSimulationJobRequest { iamRole: string | undefined; /** - *

                          The logging configuration.

                          + *

                          Location for output files generated by the simulation job.

                          */ - loggingConfig?: LoggingConfig; - - /** - *

                          If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. - * These must belong to the same VPC. You must provide at least one security group and one subnet ID.

                          - */ - vpcConfig?: VPCConfig; + outputLocation?: OutputLocation; /** *

                          The failure behavior the simulation job.

                          @@ -1734,19 +1833,10 @@ export interface CreateSimulationJobRequest { failureBehavior?: FailureBehavior | string; /** - *

                          The robot application to use in the simulation job.

                          - */ - robotApplications?: RobotApplicationConfig[]; - - /** - *

                          The simulation application to use in the simulation job.

                          - */ - simulationApplications?: SimulationApplicationConfig[]; - - /** - *

                          Compute information for the simulation job.

                          + *

                          If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. + * These must belong to the same VPC. You must provide at least one security group and one subnet ID.

                          */ - compute?: Compute; + vpcConfig?: VPCConfig; } export namespace CreateSimulationJobRequest { @@ -1757,15 +1847,30 @@ export namespace CreateSimulationJobRequest { export interface CreateSimulationJobResponse { /** - *

                          Simulation job output files location.

                          + *

                          The Amazon Resource Name (ARN) of the simulation job.

                          */ - outputLocation?: OutputLocation; + arn?: string; /** *

                          The time, in milliseconds since the epoch, when the simulation job was last updated.

                          */ lastUpdatedAt?: Date; + /** + *

                          The simulation application used by the simulation job.

                          + */ + simulationApplications?: SimulationApplicationConfig[]; + + /** + *

                          The robot application used by the simulation job.

                          + */ + robotApplications?: RobotApplicationConfig[]; + + /** + *

                          The data sources for the simulation job.

                          + */ + dataSources?: DataSource[]; + /** *

                          The failure code of the simulation job if it failed:

                          *
                          @@ -1830,14 +1935,9 @@ export interface CreateSimulationJobResponse { failureCode?: SimulationJobErrorCode | string; /** - *

                          The simulation application used by the simulation job.

                          - */ - simulationApplications?: SimulationApplicationConfig[]; - - /** - *

                          The time, in milliseconds since the epoch, when the simulation job was last started.

                          + *

                          The list of all tags added to the simulation job.

                          */ - lastStartedAt?: Date; + tags?: { [key: string]: string }; /** *

                          the failure behavior for the simulation job.

                          @@ -1845,29 +1945,20 @@ export interface CreateSimulationJobResponse { failureBehavior?: FailureBehavior | string; /** - *

                          The Amazon Resource Name (ARN) of the simulation job.

                          - */ - arn?: string; - - /** - *

                          The status of the simulation job.

                          - */ - status?: SimulationJobStatus | string; - - /** - *

                          The robot application used by the simulation job.

                          + *

                          The simulation job execution duration in milliseconds.

                          */ - robotApplications?: RobotApplicationConfig[]; + simulationTimeMillis?: number; /** - *

                          The data sources for the simulation job.

                          + *

                          The IAM role that allows the simulation job to call the AWS APIs that + * are specified in its associated policies on your behalf.

                          */ - dataSources?: DataSource[]; + iamRole?: string; /** - *

                          Compute information for the simulation job.

                          + *

                          Simulation job output files location.

                          */ - compute?: ComputeResponse; + outputLocation?: OutputLocation; /** *

                          Information about the vpc configuration.

                          @@ -1875,36 +1966,35 @@ export interface CreateSimulationJobResponse { vpcConfig?: VPCConfigResponse; /** - *

                          The IAM role that allows the simulation job to call the AWS APIs that - * are specified in its associated policies on your behalf.

                          + *

                          The time, in milliseconds since the epoch, when the simulation job was last started.

                          */ - iamRole?: string; + lastStartedAt?: Date; /** - *

                          The simulation job execution duration in milliseconds.

                          + *

                          The logging configuration.

                          */ - simulationTimeMillis?: number; + loggingConfig?: LoggingConfig; /** - *

                          The logging configuration.

                          + *

                          The status of the simulation job.

                          */ - loggingConfig?: LoggingConfig; + status?: SimulationJobStatus | string; /** - *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          + *

                          The maximum simulation job duration in seconds. + *

                          */ - clientRequestToken?: string; + maxJobDurationInSeconds?: number; /** - *

                          The list of all tags added to the simulation job.

                          + *

                          Compute information for the simulation job.

                          */ - tags?: { [key: string]: string }; + compute?: ComputeResponse; /** - *

                          The maximum simulation job duration in seconds. - *

                          + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ - maxJobDurationInSeconds?: number; + clientRequestToken?: string; } export namespace CreateSimulationJobResponse { @@ -1938,19 +2028,24 @@ export interface SimulationJobRequest { maxJobDurationInSeconds: number | undefined; /** - *

                          Compute information for the simulation job

                          + *

                          The logging configuration.

                          */ - compute?: Compute; + loggingConfig?: LoggingConfig; /** - *

                          Boolean indicating whether to use default simulation tool applications.

                          + *

                          The IAM role name that allows the simulation instance to call the AWS APIs that + * are specified in its associated policies on your behalf. This is how credentials are passed in to your + * simulation job. + *

                          */ - useDefaultApplications?: boolean; + iamRole?: string; /** - *

                          The logging configuration.

                          + *

                          If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security + * group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one + * security group and two subnet IDs.

                          */ - loggingConfig?: LoggingConfig; + vpcConfig?: VPCConfig; /** *

                          Specify data sources to mount read-only files from S3 into your simulation. These files are @@ -1965,24 +2060,19 @@ export interface SimulationJobRequest { dataSources?: DataSourceConfig[]; /** - *

                          The robot applications to use in the simulation job.

                          - */ - robotApplications?: RobotApplicationConfig[]; - - /** - *

                          The output location.

                          + *

                          The simulation applications to use in the simulation job.

                          */ - outputLocation?: OutputLocation; + simulationApplications?: SimulationApplicationConfig[]; /** - *

                          A map that contains tag keys and tag values that are attached to the simulation job request.

                          + *

                          Compute information for the simulation job

                          */ - tags?: { [key: string]: string }; + compute?: Compute; /** - *

                          The simulation applications to use in the simulation job.

                          + *

                          The robot applications to use in the simulation job.

                          */ - simulationApplications?: SimulationApplicationConfig[]; + robotApplications?: RobotApplicationConfig[]; /** *

                          The failure behavior the simulation job.

                          @@ -2000,19 +2090,19 @@ export interface SimulationJobRequest { failureBehavior?: FailureBehavior | string; /** - *

                          If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security - * group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one - * security group and two subnet IDs.

                          + *

                          The output location.

                          */ - vpcConfig?: VPCConfig; + outputLocation?: OutputLocation; /** - *

                          The IAM role name that allows the simulation instance to call the AWS APIs that - * are specified in its associated policies on your behalf. This is how credentials are passed in to your - * simulation job. - *

                          + *

                          A map that contains tag keys and tag values that are attached to the simulation job request.

                          */ - iamRole?: string; + tags?: { [key: string]: string }; + + /** + *

                          Boolean indicating whether to use default simulation tool applications.

                          + */ + useDefaultApplications?: boolean; } export namespace SimulationJobRequest { @@ -2021,1799 +2111,3165 @@ export namespace SimulationJobRequest { }); } -export interface DeleteFleetRequest { +export interface CreateWorldExportJobRequest { /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          + *

                          The output location.

                          */ - fleet: string | undefined; -} + outputLocation: OutputLocation | undefined; -export namespace DeleteFleetRequest { - export const filterSensitiveLog = (obj: DeleteFleetRequest): any => ({ - ...obj, - }); -} + /** + *

                          A map that contains tag keys and tag values that are attached to the world export job.

                          + */ + tags?: { [key: string]: string }; -export interface DeleteFleetResponse {} + /** + *

                          A list of Amazon Resource Names (arns) that correspond to worlds to export.

                          + */ + worlds: string[] | undefined; -export namespace DeleteFleetResponse { - export const filterSensitiveLog = (obj: DeleteFleetResponse): any => ({ - ...obj, - }); -} + /** + *

                          The IAM role that the world export process uses to access the Amazon S3 bucket and put the export.

                          + */ + iamRole: string | undefined; -export interface DeleteRobotRequest { /** - *

                          The Amazon Resource Name (ARN) of the robot.

                          + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ - robot: string | undefined; + clientRequestToken?: string; } -export namespace DeleteRobotRequest { - export const filterSensitiveLog = (obj: DeleteRobotRequest): any => ({ +export namespace CreateWorldExportJobRequest { + export const filterSensitiveLog = (obj: CreateWorldExportJobRequest): any => ({ ...obj, }); } -export interface DeleteRobotResponse {} +export enum WorldExportJobErrorCode { + AccessDenied = "AccessDenied", + InternalServiceError = "InternalServiceError", + InvalidInput = "InvalidInput", + LimitExceeded = "LimitExceeded", + RequestThrottled = "RequestThrottled", + ResourceNotFound = "ResourceNotFound", +} -export namespace DeleteRobotResponse { - export const filterSensitiveLog = (obj: DeleteRobotResponse): any => ({ - ...obj, - }); +export enum WorldExportJobStatus { + Canceled = "Canceled", + Canceling = "Canceling", + Completed = "Completed", + Failed = "Failed", + Pending = "Pending", + Running = "Running", } -export interface DeleteRobotApplicationRequest { +export interface CreateWorldExportJobResponse { /** - *

                          The version of the robot application to delete.

                          + *

                          The Amazon Resource Name (ARN) of the world export job.

                          */ - applicationVersion?: string; + arn?: string; /** - *

                          The Amazon Resource Name (ARN) of the the robot application.

                          + *

                          A map that contains tag keys and tag values that are attached to the world export job.

                          */ - application: string | undefined; -} + tags?: { [key: string]: string }; -export namespace DeleteRobotApplicationRequest { - export const filterSensitiveLog = (obj: DeleteRobotApplicationRequest): any => ({ - ...obj, - }); -} + /** + *

                          The status of the world export job.

                          + *
                          + *
                          Pending
                          + *
                          + *

                          The world export job request is pending.

                          + *
                          + *
                          Running
                          + *
                          + *

                          The world export job is running.

                          + *
                          + *
                          Completed
                          + *
                          + *

                          The world export job completed. + *

                          + *
                          + *
                          Failed
                          + *
                          + *

                          The world export job failed. See failureCode for more information. + *

                          + *
                          + *
                          Canceled
                          + *
                          + *

                          The world export job was cancelled.

                          + *
                          + *
                          Canceling
                          + *
                          + *

                          The world export job is being cancelled.

                          + *
                          + *
                          + */ + status?: WorldExportJobStatus | string; -export interface DeleteRobotApplicationResponse {} + /** + *

                          The IAM role that the world export process uses to access the Amazon S3 bucket and + * put the export. + *

                          + */ + iamRole?: string; -export namespace DeleteRobotApplicationResponse { - export const filterSensitiveLog = (obj: DeleteRobotApplicationResponse): any => ({ - ...obj, - }); -} + /** + *

                          The output location.

                          + */ + outputLocation?: OutputLocation; -export interface DeleteSimulationApplicationRequest { /** - *

                          The application information for the simulation application to delete.

                          + *

                          The time, in milliseconds since the epoch, when the world export job was created.

                          */ - application: string | undefined; + createdAt?: Date; /** - *

                          The version of the simulation application to delete.

                          + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ - applicationVersion?: string; -} + clientRequestToken?: string; -export namespace DeleteSimulationApplicationRequest { - export const filterSensitiveLog = (obj: DeleteSimulationApplicationRequest): any => ({ - ...obj, - }); + /** + *

                          The failure code of the world export job if it failed:

                          + *
                          + *
                          InternalServiceError
                          + *
                          + *

                          Internal service error.

                          + *
                          + *
                          LimitExceeded
                          + *
                          + *

                          The requested resource exceeds the maximum number allowed, or the number of concurrent + * stream requests exceeds the maximum number allowed. + *

                          + *
                          + *
                          ResourceNotFound
                          + *
                          + *

                          The specified resource could not be found. + *

                          + *
                          + *
                          RequestThrottled
                          + *
                          + *

                          The request was throttled.

                          + *
                          + *
                          InvalidInput
                          + *
                          + *

                          An input parameter in the request is not valid.

                          + *
                          + *
                          + */ + failureCode?: WorldExportJobErrorCode | string; } -export interface DeleteSimulationApplicationResponse {} - -export namespace DeleteSimulationApplicationResponse { - export const filterSensitiveLog = (obj: DeleteSimulationApplicationResponse): any => ({ +export namespace CreateWorldExportJobResponse { + export const filterSensitiveLog = (obj: CreateWorldExportJobResponse): any => ({ ...obj, }); } /** - *

                          Information about a deployment job.

                          + *

                          The number of worlds that will be created. You can configure the number + * of unique floorplans and the number of unique interiors for each floor plan. For example, + * if you want 1 world with 20 unique interiors, you set floorplanCount = 1 + * and interiorCountPerFloorplan = 20. This will result in 20 worlds + * (floorplanCount * interiorCountPerFloorplan). + *

                          + *

                          If you set floorplanCount = 4 and interiorCountPerFloorplan = 5, + * there will be 20 worlds with 5 unique floor plans. + *

                          */ -export interface DeploymentJob { +export interface WorldCount { /** - *

                          A short description of the reason why the deployment job failed.

                          - */ - failureReason?: string; - - /** - *

                          The status of the deployment job.

                          + *

                          The number of unique floorplans.

                          */ - status?: DeploymentStatus | string; + floorplanCount?: number; /** - *

                          The deployment job failure code.

                          + *

                          The number of unique interiors per floorplan.

                          */ - failureCode?: DeploymentJobErrorCode | string; + interiorCountPerFloorplan?: number; +} - /** - *

                          The time, in milliseconds since the epoch, when the deployment job was created.

                          - */ - createdAt?: Date; +export namespace WorldCount { + export const filterSensitiveLog = (obj: WorldCount): any => ({ + ...obj, + }); +} +export interface CreateWorldGenerationJobRequest { /** - *

                          The deployment configuration.

                          + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ - deploymentConfig?: DeploymentConfig; + clientRequestToken?: string; /** - *

                          The deployment application configuration.

                          + *

                          The Amazon Resource Name (arn) of the world template describing the worlds you want to create.

                          */ - deploymentApplicationConfigs?: DeploymentApplicationConfig[]; + template: string | undefined; /** - *

                          The Amazon Resource Name (ARN) of the deployment job.

                          + *

                          Information about the world count.

                          */ - arn?: string; + worldCount: WorldCount | undefined; /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          + *

                          A map that contains tag keys and tag values that are attached to the world generator job.

                          */ - fleet?: string; + tags?: { [key: string]: string }; } -export namespace DeploymentJob { - export const filterSensitiveLog = (obj: DeploymentJob): any => ({ +export namespace CreateWorldGenerationJobRequest { + export const filterSensitiveLog = (obj: CreateWorldGenerationJobRequest): any => ({ ...obj, }); } -export interface DeregisterRobotRequest { - /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          - */ - fleet: string | undefined; - - /** - *

                          The Amazon Resource Name (ARN) of the robot.

                          - */ - robot: string | undefined; +export enum WorldGenerationJobErrorCode { + AllWorldGenerationFailed = "AllWorldGenerationFailed", + InternalServiceError = "InternalServiceError", + InvalidInput = "InvalidInput", + LimitExceeded = "LimitExceeded", + RequestThrottled = "RequestThrottled", + ResourceNotFound = "ResourceNotFound", } -export namespace DeregisterRobotRequest { - export const filterSensitiveLog = (obj: DeregisterRobotRequest): any => ({ - ...obj, - }); +export enum WorldGenerationJobStatus { + Canceled = "Canceled", + Canceling = "Canceling", + Completed = "Completed", + Failed = "Failed", + PartialFailed = "PartialFailed", + Pending = "Pending", + Running = "Running", } -export interface DeregisterRobotResponse { +export interface CreateWorldGenerationJobResponse { /** - *

                          The Amazon Resource Name (ARN) of the robot.

                          + *

                          The Amazon Resource Name (ARN) of the world generator job.

                          */ - robot?: string; + arn?: string; /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          + *

                          The time, in milliseconds since the epoch, when the world generator job was created.

                          */ - fleet?: string; -} - -export namespace DeregisterRobotResponse { - export const filterSensitiveLog = (obj: DeregisterRobotResponse): any => ({ - ...obj, - }); -} + createdAt?: Date; -export interface DescribeDeploymentJobRequest { /** - *

                          The Amazon Resource Name (ARN) of the deployment job.

                          + *

                          The Amazon Resource Name (arn) of the world template.

                          */ - job: string | undefined; -} - -export namespace DescribeDeploymentJobRequest { - export const filterSensitiveLog = (obj: DescribeDeploymentJobRequest): any => ({ - ...obj, - }); -} + template?: string; -export enum RobotDeploymentStep { - DownloadingExtractingStep = "DownloadingExtracting", - ExecutingDownloadCondition = "ExecutingDownloadCondition", - FinishedStep = "Finished", - LaunchingStep = "Launching", - PostLaunchStep = "ExecutingPostLaunch", - PreLaunchStep = "ExecutingPreLaunch", - ValidatingStep = "Validating", -} + /** + *

                          The status of the world generator job.

                          + *
                          + *
                          Pending
                          + *
                          + *

                          The world generator job request is pending.

                          + *
                          + *
                          Running
                          + *
                          + *

                          The world generator job is running.

                          + *
                          + *
                          Completed
                          + *
                          + *

                          The world generator job completed. + *

                          + *
                          + *
                          Failed
                          + *
                          + *

                          The world generator job failed. See failureCode for more information. + *

                          + *
                          + *
                          PartialFailed
                          + *
                          + *

                          Some worlds did not generate.

                          + *
                          + *
                          Canceled
                          + *
                          + *

                          The world generator job was cancelled.

                          + *
                          + *
                          Canceling
                          + *
                          + *

                          The world generator job is being cancelled.

                          + *
                          + *
                          + */ + status?: WorldGenerationJobStatus | string; -/** - *

                          Information about the progress of a deployment job.

                          - */ -export interface ProgressDetail { /** - *

                          Precentage of the step that is done. This currently only applies to the Downloading/Extracting - * step of the deployment. It is empty for other steps.

                          + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ - percentDone?: number; + clientRequestToken?: string; /** - *

                          The current progress status.

                          + *

                          The failure code of the world generator job if it failed:

                          *
                          - *
                          Validating
                          - *
                          - *

                          Validating the deployment.

                          - *
                          - *
                          DownloadingExtracting
                          + *
                          InternalServiceError
                          *
                          - *

                          Downloading and extracting the bundle on the robot.

                          + *

                          Internal service error.

                          *
                          - *
                          ExecutingPreLaunch
                          + *
                          LimitExceeded
                          *
                          - *

                          Executing pre-launch script(s) if provided.

                          + *

                          The requested resource exceeds the maximum number allowed, or the number of concurrent + * stream requests exceeds the maximum number allowed. + *

                          *
                          - *
                          Launching
                          + *
                          ResourceNotFound
                          *
                          - *

                          Launching the robot application.

                          + *

                          The specified resource could not be found. + *

                          *
                          - *
                          ExecutingPostLaunch
                          + *
                          RequestThrottled
                          *
                          - *

                          Executing post-launch script(s) if provided.

                          + *

                          The request was throttled.

                          *
                          - *
                          Finished
                          + *
                          InvalidInput
                          *
                          - *

                          Deployment is complete.

                          + *

                          An input parameter in the request is not valid.

                          *
                          *
                          */ - currentProgress?: RobotDeploymentStep | string; + failureCode?: WorldGenerationJobErrorCode | string; /** - *

                          Estimated amount of time in seconds remaining in the step. This currently only applies - * to the Downloading/Extracting step of the deployment. It is empty for other steps.

                          + *

                          A map that contains tag keys and tag values that are attached to the world generator job.

                          */ - estimatedTimeRemainingSeconds?: number; + tags?: { [key: string]: string }; /** - *

                          The Amazon Resource Name (ARN) of the deployment job.

                          + *

                          Information about the world count.

                          */ - targetResource?: string; + worldCount?: WorldCount; } -export namespace ProgressDetail { - export const filterSensitiveLog = (obj: ProgressDetail): any => ({ +export namespace CreateWorldGenerationJobResponse { + export const filterSensitiveLog = (obj: CreateWorldGenerationJobResponse): any => ({ ...obj, }); } -export enum RobotStatus { - Available = "Available", - Deploying = "Deploying", - Failed = "Failed", - InSync = "InSync", - NoResponse = "NoResponse", - PendingNewDeployment = "PendingNewDeployment", - Registered = "Registered", -} - /** - *

                          Information about a robot deployment.

                          + *

                          Information about a template location.

                          */ -export interface RobotDeployment { +export interface TemplateLocation { /** - *

                          The status of the robot deployment.

                          + *

                          The Amazon S3 bucket name.

                          */ - status?: RobotStatus | string; + s3Bucket: string | undefined; /** - *

                          A short description of the reason why the robot deployment failed.

                          + *

                          The list of S3 keys identifying the data source files.

                          */ - failureReason?: string; + s3Key: string | undefined; +} + +export namespace TemplateLocation { + export const filterSensitiveLog = (obj: TemplateLocation): any => ({ + ...obj, + }); +} +export interface CreateWorldTemplateRequest { /** - *

                          The time, in milliseconds since the epoch, when the deployment was started.

                          + *

                          The world template body.

                          */ - deploymentStartTime?: Date; + templateBody?: string; /** - *

                          The robot deployment failure code.

                          + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ - failureCode?: DeploymentJobErrorCode | string; + clientRequestToken?: string; /** - *

                          The robot deployment Amazon Resource Name (ARN).

                          + *

                          The location of the world template.

                          */ - arn?: string; + templateLocation?: TemplateLocation; /** - *

                          Information about how the deployment is progressing.

                          + *

                          A map that contains tag keys and tag values that are attached to the world template.

                          */ - progressDetail?: ProgressDetail; + tags?: { [key: string]: string }; /** - *

                          The time, in milliseconds since the epoch, when the deployment finished.

                          + *

                          The name of the world template.

                          */ - deploymentFinishTime?: Date; + name?: string; } -export namespace RobotDeployment { - export const filterSensitiveLog = (obj: RobotDeployment): any => ({ +export namespace CreateWorldTemplateRequest { + export const filterSensitiveLog = (obj: CreateWorldTemplateRequest): any => ({ ...obj, }); } -export interface DescribeDeploymentJobResponse { - /** - *

                          The deployment job failure code.

                          - */ - failureCode?: DeploymentJobErrorCode | string; - +export interface CreateWorldTemplateResponse { /** - *

                          The status of the deployment job.

                          + *

                          The time, in milliseconds since the epoch, when the world template was created.

                          */ - status?: DeploymentStatus | string; + createdAt?: Date; /** - *

                          A short description of the reason why the deployment job failed.

                          + *

                          The Amazon Resource Name (ARN) of the world template.

                          */ - failureReason?: string; + arn?: string; /** - *

                          The list of all tags added to the specified deployment job.

                          + *

                          A map that contains tag keys and tag values that are attached to the world template.

                          */ tags?: { [key: string]: string }; /** - *

                          The deployment application configuration.

                          + *

                          The name of the world template.

                          */ - deploymentApplicationConfigs?: DeploymentApplicationConfig[]; + name?: string; /** - *

                          The deployment configuration.

                          + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ - deploymentConfig?: DeploymentConfig; + clientRequestToken?: string; +} + +export namespace CreateWorldTemplateResponse { + export const filterSensitiveLog = (obj: CreateWorldTemplateResponse): any => ({ + ...obj, + }); +} +export interface DeleteFleetRequest { /** *

                          The Amazon Resource Name (ARN) of the fleet.

                          */ - fleet?: string; + fleet: string | undefined; +} - /** - *

                          The Amazon Resource Name (ARN) of the deployment job.

                          - */ - arn?: string; +export namespace DeleteFleetRequest { + export const filterSensitiveLog = (obj: DeleteFleetRequest): any => ({ + ...obj, + }); +} - /** - *

                          A list of robot deployment summaries.

                          - */ - robotDeploymentSummary?: RobotDeployment[]; +export interface DeleteFleetResponse {} - /** - *

                          The time, in milliseconds since the epoch, when the deployment job was created.

                          - */ - createdAt?: Date; -} - -export namespace DescribeDeploymentJobResponse { - export const filterSensitiveLog = (obj: DescribeDeploymentJobResponse): any => ({ +export namespace DeleteFleetResponse { + export const filterSensitiveLog = (obj: DeleteFleetResponse): any => ({ ...obj, }); } -export interface DescribeFleetRequest { +export interface DeleteRobotRequest { /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          + *

                          The Amazon Resource Name (ARN) of the robot.

                          */ - fleet: string | undefined; + robot: string | undefined; } -export namespace DescribeFleetRequest { - export const filterSensitiveLog = (obj: DescribeFleetRequest): any => ({ +export namespace DeleteRobotRequest { + export const filterSensitiveLog = (obj: DeleteRobotRequest): any => ({ ...obj, }); } -/** - *

                          Information about a robot.

                          - */ -export interface Robot { - /** - *

                          The Amazon Resource Name (ARN) of the last deployment job.

                          - */ - lastDeploymentJob?: string; - - /** - *

                          The architecture of the robot.

                          - */ - architecture?: Architecture | string; - - /** - *

                          The time of the last deployment.

                          - */ - lastDeploymentTime?: Date; - - /** - *

                          The status of the robot.

                          - */ - status?: RobotStatus | string; - - /** - *

                          The time, in milliseconds since the epoch, when the robot was created.

                          - */ - createdAt?: Date; - - /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          - */ - fleetArn?: string; +export interface DeleteRobotResponse {} - /** - *

                          The Amazon Resource Name (ARN) of the robot.

                          - */ - arn?: string; +export namespace DeleteRobotResponse { + export const filterSensitiveLog = (obj: DeleteRobotResponse): any => ({ + ...obj, + }); +} +export interface DeleteRobotApplicationRequest { /** - *

                          The Greengrass group associated with the robot.

                          + *

                          The Amazon Resource Name (ARN) of the the robot application.

                          */ - greenGrassGroupId?: string; + application: string | undefined; /** - *

                          The name of the robot.

                          + *

                          The version of the robot application to delete.

                          */ - name?: string; + applicationVersion?: string; } -export namespace Robot { - export const filterSensitiveLog = (obj: Robot): any => ({ +export namespace DeleteRobotApplicationRequest { + export const filterSensitiveLog = (obj: DeleteRobotApplicationRequest): any => ({ ...obj, }); } -export interface DescribeFleetResponse { - /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          - */ - arn?: string; +export interface DeleteRobotApplicationResponse {} - /** - *

                          The status of the last deployment.

                          - */ - lastDeploymentStatus?: DeploymentStatus | string; +export namespace DeleteRobotApplicationResponse { + export const filterSensitiveLog = (obj: DeleteRobotApplicationResponse): any => ({ + ...obj, + }); +} +export interface DeleteSimulationApplicationRequest { /** - *

                          The time of the last deployment.

                          + *

                          The version of the simulation application to delete.

                          */ - lastDeploymentTime?: Date; + applicationVersion?: string; /** - *

                          The list of all tags added to the specified fleet.

                          + *

                          The application information for the simulation application to delete.

                          */ - tags?: { [key: string]: string }; + application: string | undefined; +} - /** - *

                          A list of robots.

                          - */ - robots?: Robot[]; +export namespace DeleteSimulationApplicationRequest { + export const filterSensitiveLog = (obj: DeleteSimulationApplicationRequest): any => ({ + ...obj, + }); +} - /** - *

                          The Amazon Resource Name (ARN) of the last deployment job.

                          - */ - lastDeploymentJob?: string; +export interface DeleteSimulationApplicationResponse {} - /** - *

                          The time, in milliseconds since the epoch, when the fleet was created.

                          - */ - createdAt?: Date; +export namespace DeleteSimulationApplicationResponse { + export const filterSensitiveLog = (obj: DeleteSimulationApplicationResponse): any => ({ + ...obj, + }); +} +export interface DeleteWorldTemplateRequest { /** - *

                          The name of the fleet.

                          + *

                          The Amazon Resource Name (arn) of the world template you want to delete.

                          */ - name?: string; + template: string | undefined; } -export namespace DescribeFleetResponse { - export const filterSensitiveLog = (obj: DescribeFleetResponse): any => ({ +export namespace DeleteWorldTemplateRequest { + export const filterSensitiveLog = (obj: DeleteWorldTemplateRequest): any => ({ ...obj, }); } -export interface DescribeRobotRequest { - /** - *

                          The Amazon Resource Name (ARN) of the robot to be described.

                          - */ - robot: string | undefined; -} +export interface DeleteWorldTemplateResponse {} -export namespace DescribeRobotRequest { - export const filterSensitiveLog = (obj: DescribeRobotRequest): any => ({ +export namespace DeleteWorldTemplateResponse { + export const filterSensitiveLog = (obj: DeleteWorldTemplateResponse): any => ({ ...obj, }); } -export interface DescribeRobotResponse { +/** + *

                          Information about a deployment job.

                          + */ +export interface DeploymentJob { /** - *

                          The time, in milliseconds since the epoch, when the robot was created.

                          + *

                          The time, in milliseconds since the epoch, when the deployment job was created.

                          */ createdAt?: Date; /** - *

                          The status of the fleet.

                          - */ - status?: RobotStatus | string; - - /** - *

                          The list of all tags added to the specified robot.

                          - */ - tags?: { [key: string]: string }; - - /** - *

                          The Amazon Resource Name (ARN) of the last deployment job.

                          + *

                          The Amazon Resource Name (ARN) of the fleet.

                          */ - lastDeploymentJob?: string; + fleet?: string; /** - *

                          The time of the last deployment job.

                          + *

                          The deployment configuration.

                          */ - lastDeploymentTime?: Date; + deploymentConfig?: DeploymentConfig; /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          + *

                          The Amazon Resource Name (ARN) of the deployment job.

                          */ - fleetArn?: string; + arn?: string; /** - *

                          The name of the robot.

                          + *

                          The status of the deployment job.

                          */ - name?: string; + status?: DeploymentStatus | string; /** - *

                          The Amazon Resource Name (ARN) of the robot.

                          + *

                          A short description of the reason why the deployment job failed.

                          */ - arn?: string; + failureReason?: string; /** - *

                          The target architecture of the robot application.

                          + *

                          The deployment job failure code.

                          */ - architecture?: Architecture | string; + failureCode?: DeploymentJobErrorCode | string; /** - *

                          The Greengrass group id.

                          + *

                          The deployment application configuration.

                          */ - greengrassGroupId?: string; + deploymentApplicationConfigs?: DeploymentApplicationConfig[]; } -export namespace DescribeRobotResponse { - export const filterSensitiveLog = (obj: DescribeRobotResponse): any => ({ +export namespace DeploymentJob { + export const filterSensitiveLog = (obj: DeploymentJob): any => ({ ...obj, }); } -export interface DescribeRobotApplicationRequest { +export interface DeregisterRobotRequest { /** - *

                          The version of the robot application to describe.

                          + *

                          The Amazon Resource Name (ARN) of the robot.

                          */ - applicationVersion?: string; + robot: string | undefined; /** - *

                          The Amazon Resource Name (ARN) of the robot application.

                          + *

                          The Amazon Resource Name (ARN) of the fleet.

                          */ - application: string | undefined; + fleet: string | undefined; } -export namespace DescribeRobotApplicationRequest { - export const filterSensitiveLog = (obj: DescribeRobotApplicationRequest): any => ({ +export namespace DeregisterRobotRequest { + export const filterSensitiveLog = (obj: DeregisterRobotRequest): any => ({ ...obj, }); } -export interface DescribeRobotApplicationResponse { - /** - *

                          The list of all tags added to the specified robot application.

                          - */ - tags?: { [key: string]: string }; - - /** - *

                          The version of the robot application.

                          - */ - version?: string; - - /** - *

                          The time, in milliseconds since the epoch, when the robot application was last updated.

                          - */ - lastUpdatedAt?: Date; - - /** - *

                          The sources of the robot application.

                          - */ - sources?: Source[]; - - /** - *

                          The revision id of the robot application.

                          - */ - revisionId?: string; - - /** - *

                          The robot software suite (ROS distribution) used by the robot application.

                          - */ - robotSoftwareSuite?: RobotSoftwareSuite; - +export interface DeregisterRobotResponse { /** - *

                          The name of the robot application.

                          + *

                          The Amazon Resource Name (ARN) of the fleet.

                          */ - name?: string; + fleet?: string; /** - *

                          The Amazon Resource Name (ARN) of the robot application.

                          + *

                          The Amazon Resource Name (ARN) of the robot.

                          */ - arn?: string; + robot?: string; } -export namespace DescribeRobotApplicationResponse { - export const filterSensitiveLog = (obj: DescribeRobotApplicationResponse): any => ({ +export namespace DeregisterRobotResponse { + export const filterSensitiveLog = (obj: DeregisterRobotResponse): any => ({ ...obj, }); } -export interface DescribeSimulationApplicationRequest { - /** - *

                          The application information for the simulation application.

                          - */ - application: string | undefined; - +export interface DescribeDeploymentJobRequest { /** - *

                          The version of the simulation application to describe.

                          + *

                          The Amazon Resource Name (ARN) of the deployment job.

                          */ - applicationVersion?: string; + job: string | undefined; } -export namespace DescribeSimulationApplicationRequest { - export const filterSensitiveLog = (obj: DescribeSimulationApplicationRequest): any => ({ +export namespace DescribeDeploymentJobRequest { + export const filterSensitiveLog = (obj: DescribeDeploymentJobRequest): any => ({ ...obj, }); } -export interface DescribeSimulationApplicationResponse { +export enum RobotDeploymentStep { + DownloadingExtractingStep = "DownloadingExtracting", + ExecutingDownloadCondition = "ExecutingDownloadCondition", + FinishedStep = "Finished", + LaunchingStep = "Launching", + PostLaunchStep = "ExecutingPostLaunch", + PreLaunchStep = "ExecutingPreLaunch", + ValidatingStep = "Validating", +} + +/** + *

                          Information about the progress of a deployment job.

                          + */ +export interface ProgressDetail { /** - *

                          The sources of the simulation application.

                          + *

                          The current progress status.

                          + *
                          + *
                          Validating
                          + *
                          + *

                          Validating the deployment.

                          + *
                          + *
                          DownloadingExtracting
                          + *
                          + *

                          Downloading and extracting the bundle on the robot.

                          + *
                          + *
                          ExecutingPreLaunch
                          + *
                          + *

                          Executing pre-launch script(s) if provided.

                          + *
                          + *
                          Launching
                          + *
                          + *

                          Launching the robot application.

                          + *
                          + *
                          ExecutingPostLaunch
                          + *
                          + *

                          Executing post-launch script(s) if provided.

                          + *
                          + *
                          Finished
                          + *
                          + *

                          Deployment is complete.

                          + *
                          + *
                          */ - sources?: Source[]; + currentProgress?: RobotDeploymentStep | string; /** - *

                          The revision id of the simulation application.

                          + *

                          Estimated amount of time in seconds remaining in the step. This currently only applies + * to the Downloading/Extracting step of the deployment. It is empty for other steps.

                          */ - revisionId?: string; + estimatedTimeRemainingSeconds?: number; /** - *

                          The version of the simulation application.

                          + *

                          The Amazon Resource Name (ARN) of the deployment job.

                          */ - version?: string; + targetResource?: string; /** - *

                          The list of all tags added to the specified simulation application.

                          + *

                          Precentage of the step that is done. This currently only applies to the Downloading/Extracting + * step of the deployment. It is empty for other steps.

                          */ - tags?: { [key: string]: string }; + percentDone?: number; +} + +export namespace ProgressDetail { + export const filterSensitiveLog = (obj: ProgressDetail): any => ({ + ...obj, + }); +} + +export enum RobotStatus { + Available = "Available", + Deploying = "Deploying", + Failed = "Failed", + InSync = "InSync", + NoResponse = "NoResponse", + PendingNewDeployment = "PendingNewDeployment", + Registered = "Registered", +} +/** + *

                          Information about a robot deployment.

                          + */ +export interface RobotDeployment { /** - *

                          The Amazon Resource Name (ARN) of the robot simulation application.

                          + *

                          Information about how the deployment is progressing.

                          */ - arn?: string; + progressDetail?: ProgressDetail; /** - *

                          Information about the robot software suite (ROS distribution).

                          + *

                          The time, in milliseconds since the epoch, when the deployment was started.

                          */ - robotSoftwareSuite?: RobotSoftwareSuite; + deploymentStartTime?: Date; /** - *

                          The rendering engine for the simulation application.

                          + *

                          The time, in milliseconds since the epoch, when the deployment finished.

                          */ - renderingEngine?: RenderingEngine; + deploymentFinishTime?: Date; /** - *

                          The name of the simulation application.

                          + *

                          The status of the robot deployment.

                          */ - name?: string; + status?: RobotStatus | string; /** - *

                          The simulation software suite used by the simulation application.

                          + *

                          A short description of the reason why the robot deployment failed.

                          */ - simulationSoftwareSuite?: SimulationSoftwareSuite; + failureReason?: string; /** - *

                          The time, in milliseconds since the epoch, when the simulation application was last updated.

                          + *

                          The robot deployment Amazon Resource Name (ARN).

                          */ - lastUpdatedAt?: Date; -} - -export namespace DescribeSimulationApplicationResponse { - export const filterSensitiveLog = (obj: DescribeSimulationApplicationResponse): any => ({ - ...obj, - }); -} + arn?: string; -export interface DescribeSimulationJobRequest { /** - *

                          The Amazon Resource Name (ARN) of the simulation job to be described.

                          + *

                          The robot deployment failure code.

                          */ - job: string | undefined; + failureCode?: DeploymentJobErrorCode | string; } -export namespace DescribeSimulationJobRequest { - export const filterSensitiveLog = (obj: DescribeSimulationJobRequest): any => ({ +export namespace RobotDeployment { + export const filterSensitiveLog = (obj: RobotDeployment): any => ({ ...obj, }); } -export interface DescribeSimulationJobResponse { +export interface DescribeDeploymentJobResponse { /** - *

                          The time, in milliseconds since the epoch, when the simulation job was last updated.

                          + *

                          A list of robot deployment summaries.

                          */ - lastUpdatedAt?: Date; + robotDeploymentSummary?: RobotDeployment[]; /** - *

                          The name of the simulation job.

                          + *

                          The deployment application configuration.

                          */ - name?: string; + deploymentApplicationConfigs?: DeploymentApplicationConfig[]; /** - *

                          The logging configuration.

                          + *

                          A short description of the reason why the deployment job failed.

                          */ - loggingConfig?: LoggingConfig; + failureReason?: string; /** - *

                          A list of robot applications.

                          + *

                          The time, in milliseconds since the epoch, when the deployment job was created.

                          */ - robotApplications?: RobotApplicationConfig[]; + createdAt?: Date; /** - *

                          The data sources for the simulation job.

                          + *

                          The list of all tags added to the specified deployment job.

                          */ - dataSources?: DataSource[]; + tags?: { [key: string]: string }; /** - *

                          The status of the simulation job.

                          + *

                          The deployment job failure code.

                          */ - status?: SimulationJobStatus | string; + failureCode?: DeploymentJobErrorCode | string; /** - *

                          The Amazon Resource Name (ARN) of the simulation job.

                          + *

                          The status of the deployment job.

                          + */ + status?: DeploymentStatus | string; + + /** + *

                          The Amazon Resource Name (ARN) of the deployment job.

                          */ arn?: string; /** - *

                          A list of simulation applications.

                          + *

                          The deployment configuration.

                          */ - simulationApplications?: SimulationApplicationConfig[]; + deploymentConfig?: DeploymentConfig; /** - *

                          The simulation job execution duration in milliseconds.

                          + *

                          The Amazon Resource Name (ARN) of the fleet.

                          */ - simulationTimeMillis?: number; + fleet?: string; +} + +export namespace DescribeDeploymentJobResponse { + export const filterSensitiveLog = (obj: DescribeDeploymentJobResponse): any => ({ + ...obj, + }); +} +export interface DescribeFleetRequest { /** - *

                          The IAM role that allows the simulation instance to call the AWS APIs that - * are specified in its associated policies on your behalf.

                          + *

                          The Amazon Resource Name (ARN) of the fleet.

                          */ - iamRole?: string; + fleet: string | undefined; +} + +export namespace DescribeFleetRequest { + export const filterSensitiveLog = (obj: DescribeFleetRequest): any => ({ + ...obj, + }); +} +/** + *

                          Information about a robot.

                          + */ +export interface Robot { /** - *

                          Compute information for the simulation job.

                          + *

                          The Greengrass group associated with the robot.

                          */ - compute?: ComputeResponse; + greenGrassGroupId?: string; /** - *

                          The VPC configuration.

                          + *

                          The time, in milliseconds since the epoch, when the robot was created.

                          */ - vpcConfig?: VPCConfigResponse; + createdAt?: Date; /** - *

                          The network interface information for the simulation job.

                          + *

                          The status of the robot.

                          */ - networkInterface?: NetworkInterface; + status?: RobotStatus | string; /** - *

                          The failure behavior for the simulation job.

                          + *

                          The Amazon Resource Name (ARN) of the robot.

                          */ - failureBehavior?: FailureBehavior | string; + arn?: string; /** - *

                          Details about why the simulation job failed. For more information - * about troubleshooting, see Troubleshooting.

                          + *

                          The Amazon Resource Name (ARN) of the last deployment job.

                          */ - failureReason?: string; + lastDeploymentJob?: string; /** - *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          + *

                          The time of the last deployment.

                          */ - clientRequestToken?: string; + lastDeploymentTime?: Date; /** - *

                          The time, in milliseconds since the epoch, when the simulation job was last started.

                          + *

                          The Amazon Resource Name (ARN) of the fleet.

                          */ - lastStartedAt?: Date; + fleetArn?: string; /** - *

                          The maximum job duration in seconds. The value must be 8 days (691,200 seconds) or less.

                          + *

                          The name of the robot.

                          */ - maxJobDurationInSeconds?: number; + name?: string; /** - *

                          The list of all tags added to the specified simulation job.

                          + *

                          The architecture of the robot.

                          */ - tags?: { [key: string]: string }; + architecture?: Architecture | string; +} + +export namespace Robot { + export const filterSensitiveLog = (obj: Robot): any => ({ + ...obj, + }); +} +export interface DescribeFleetResponse { /** - *

                          The failure code of the simulation job if it failed:

                          - *
                          - *
                          InternalServiceError
                          - *
                          - *

                          Internal service error.

                          - *
                          - *
                          RobotApplicationCrash
                          - *
                          - *

                          Robot application exited abnormally.

                          - *
                          - *
                          SimulationApplicationCrash
                          - *
                          - *

                          Simulation application exited abnormally.

                          - *
                          - *
                          BadPermissionsRobotApplication
                          - *
                          - *

                          Robot application bundle could not be downloaded.

                          - *
                          - *
                          BadPermissionsSimulationApplication
                          - *
                          - *

                          Simulation application bundle could not be downloaded.

                          - *
                          - *
                          BadPermissionsS3Output
                          - *
                          + *

                          The name of the fleet.

                          + */ + name?: string; + + /** + *

                          The time of the last deployment.

                          + */ + lastDeploymentTime?: Date; + + /** + *

                          A list of robots.

                          + */ + robots?: Robot[]; + + /** + *

                          The Amazon Resource Name (ARN) of the last deployment job.

                          + */ + lastDeploymentJob?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the fleet.

                          + */ + arn?: string; + + /** + *

                          The list of all tags added to the specified fleet.

                          + */ + tags?: { [key: string]: string }; + + /** + *

                          The time, in milliseconds since the epoch, when the fleet was created.

                          + */ + createdAt?: Date; + + /** + *

                          The status of the last deployment.

                          + */ + lastDeploymentStatus?: DeploymentStatus | string; +} + +export namespace DescribeFleetResponse { + export const filterSensitiveLog = (obj: DescribeFleetResponse): any => ({ + ...obj, + }); +} + +export interface DescribeRobotRequest { + /** + *

                          The Amazon Resource Name (ARN) of the robot to be described.

                          + */ + robot: string | undefined; +} + +export namespace DescribeRobotRequest { + export const filterSensitiveLog = (obj: DescribeRobotRequest): any => ({ + ...obj, + }); +} + +export interface DescribeRobotResponse { + /** + *

                          The Amazon Resource Name (ARN) of the robot.

                          + */ + arn?: string; + + /** + *

                          The time, in milliseconds since the epoch, when the robot was created.

                          + */ + createdAt?: Date; + + /** + *

                          The Greengrass group id.

                          + */ + greengrassGroupId?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the last deployment job.

                          + */ + lastDeploymentJob?: string; + + /** + *

                          The name of the robot.

                          + */ + name?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the fleet.

                          + */ + fleetArn?: string; + + /** + *

                          The status of the fleet.

                          + */ + status?: RobotStatus | string; + + /** + *

                          The list of all tags added to the specified robot.

                          + */ + tags?: { [key: string]: string }; + + /** + *

                          The time of the last deployment job.

                          + */ + lastDeploymentTime?: Date; + + /** + *

                          The target architecture of the robot application.

                          + */ + architecture?: Architecture | string; +} + +export namespace DescribeRobotResponse { + export const filterSensitiveLog = (obj: DescribeRobotResponse): any => ({ + ...obj, + }); +} + +export interface DescribeRobotApplicationRequest { + /** + *

                          The version of the robot application to describe.

                          + */ + applicationVersion?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the robot application.

                          + */ + application: string | undefined; +} + +export namespace DescribeRobotApplicationRequest { + export const filterSensitiveLog = (obj: DescribeRobotApplicationRequest): any => ({ + ...obj, + }); +} + +export interface DescribeRobotApplicationResponse { + /** + *

                          The robot software suite (ROS distribution) used by the robot application.

                          + */ + robotSoftwareSuite?: RobotSoftwareSuite; + + /** + *

                          The revision id of the robot application.

                          + */ + revisionId?: string; + + /** + *

                          The version of the robot application.

                          + */ + version?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the robot application.

                          + */ + arn?: string; + + /** + *

                          The name of the robot application.

                          + */ + name?: string; + + /** + *

                          The list of all tags added to the specified robot application.

                          + */ + tags?: { [key: string]: string }; + + /** + *

                          The time, in milliseconds since the epoch, when the robot application was last updated.

                          + */ + lastUpdatedAt?: Date; + + /** + *

                          The sources of the robot application.

                          + */ + sources?: Source[]; +} + +export namespace DescribeRobotApplicationResponse { + export const filterSensitiveLog = (obj: DescribeRobotApplicationResponse): any => ({ + ...obj, + }); +} + +export interface DescribeSimulationApplicationRequest { + /** + *

                          The version of the simulation application to describe.

                          + */ + applicationVersion?: string; + + /** + *

                          The application information for the simulation application.

                          + */ + application: string | undefined; +} + +export namespace DescribeSimulationApplicationRequest { + export const filterSensitiveLog = (obj: DescribeSimulationApplicationRequest): any => ({ + ...obj, + }); +} + +export interface DescribeSimulationApplicationResponse { + /** + *

                          The time, in milliseconds since the epoch, when the simulation application was last updated.

                          + */ + lastUpdatedAt?: Date; + + /** + *

                          The Amazon Resource Name (ARN) of the robot simulation application.

                          + */ + arn?: string; + + /** + *

                          The sources of the simulation application.

                          + */ + sources?: Source[]; + + /** + *

                          The rendering engine for the simulation application.

                          + */ + renderingEngine?: RenderingEngine; + + /** + *

                          The simulation software suite used by the simulation application.

                          + */ + simulationSoftwareSuite?: SimulationSoftwareSuite; + + /** + *

                          The list of all tags added to the specified simulation application.

                          + */ + tags?: { [key: string]: string }; + + /** + *

                          The revision id of the simulation application.

                          + */ + revisionId?: string; + + /** + *

                          The version of the simulation application.

                          + */ + version?: string; + + /** + *

                          The name of the simulation application.

                          + */ + name?: string; + + /** + *

                          Information about the robot software suite (ROS distribution).

                          + */ + robotSoftwareSuite?: RobotSoftwareSuite; +} + +export namespace DescribeSimulationApplicationResponse { + export const filterSensitiveLog = (obj: DescribeSimulationApplicationResponse): any => ({ + ...obj, + }); +} + +export interface DescribeSimulationJobRequest { + /** + *

                          The Amazon Resource Name (ARN) of the simulation job to be described.

                          + */ + job: string | undefined; +} + +export namespace DescribeSimulationJobRequest { + export const filterSensitiveLog = (obj: DescribeSimulationJobRequest): any => ({ + ...obj, + }); +} + +export interface DescribeSimulationJobResponse { + /** + *

                          The Amazon Resource Name (ARN) of the simulation job.

                          + */ + arn?: string; + + /** + *

                          A list of robot applications.

                          + */ + robotApplications?: RobotApplicationConfig[]; + + /** + *

                          The data sources for the simulation job.

                          + */ + dataSources?: DataSource[]; + + /** + *

                          Location for output files generated by the simulation job.

                          + */ + outputLocation?: OutputLocation; + + /** + *

                          The name of the simulation job.

                          + */ + name?: string; + + /** + *

                          The failure behavior for the simulation job.

                          + */ + failureBehavior?: FailureBehavior | string; + + /** + *

                          Details about why the simulation job failed. For more information + * about troubleshooting, see Troubleshooting.

                          + */ + failureReason?: string; + + /** + *

                          The time, in milliseconds since the epoch, when the simulation job was last started.

                          + */ + lastStartedAt?: Date; + + /** + *

                          The status of the simulation job.

                          + */ + status?: SimulationJobStatus | string; + + /** + *

                          A list of simulation applications.

                          + */ + simulationApplications?: SimulationApplicationConfig[]; + + /** + *

                          The failure code of the simulation job if it failed:

                          + *
                          + *
                          InternalServiceError
                          + *
                          + *

                          Internal service error.

                          + *
                          + *
                          RobotApplicationCrash
                          + *
                          + *

                          Robot application exited abnormally.

                          + *
                          + *
                          SimulationApplicationCrash
                          + *
                          + *

                          Simulation application exited abnormally.

                          + *
                          + *
                          BadPermissionsRobotApplication
                          + *
                          + *

                          Robot application bundle could not be downloaded.

                          + *
                          + *
                          BadPermissionsSimulationApplication
                          + *
                          + *

                          Simulation application bundle could not be downloaded.

                          + *
                          + *
                          BadPermissionsS3Output
                          + *
                          *

                          Unable to publish outputs to customer-provided S3 bucket.

                          *
                          - *
                          BadPermissionsCloudwatchLogs
                          + *
                          BadPermissionsCloudwatchLogs
                          + *
                          + *

                          Unable to publish logs to customer-provided CloudWatch Logs resource.

                          + *
                          + *
                          SubnetIpLimitExceeded
                          + *
                          + *

                          Subnet IP limit exceeded.

                          + *
                          + *
                          ENILimitExceeded
                          + *
                          + *

                          ENI limit exceeded.

                          + *
                          + *
                          BadPermissionsUserCredentials
                          + *
                          + *

                          Unable to use the Role provided.

                          + *
                          + *
                          InvalidBundleRobotApplication
                          + *
                          + *

                          Robot bundle cannot be extracted (invalid format, bundling error, or other issue).

                          + *
                          + *
                          InvalidBundleSimulationApplication
                          + *
                          + *

                          Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).

                          + *
                          + *
                          RobotApplicationVersionMismatchedEtag
                          + *
                          + *

                          Etag for RobotApplication does not match value during version creation.

                          + *
                          + *
                          SimulationApplicationVersionMismatchedEtag
                          + *
                          + *

                          Etag for SimulationApplication does not match value during version creation.

                          + *
                          + *
                          + */ + failureCode?: SimulationJobErrorCode | string; + + /** + *

                          The IAM role that allows the simulation instance to call the AWS APIs that + * are specified in its associated policies on your behalf.

                          + */ + iamRole?: string; + + /** + *

                          The simulation job execution duration in milliseconds.

                          + */ + simulationTimeMillis?: number; + + /** + *

                          The VPC configuration.

                          + */ + vpcConfig?: VPCConfigResponse; + + /** + *

                          The logging configuration.

                          + */ + loggingConfig?: LoggingConfig; + + /** + *

                          The network interface information for the simulation job.

                          + */ + networkInterface?: NetworkInterface; + + /** + *

                          The maximum job duration in seconds. The value must be 8 days (691,200 seconds) or less.

                          + */ + maxJobDurationInSeconds?: number; + + /** + *

                          Compute information for the simulation job.

                          + */ + compute?: ComputeResponse; + + /** + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          + */ + clientRequestToken?: string; + + /** + *

                          The list of all tags added to the specified simulation job.

                          + */ + tags?: { [key: string]: string }; + + /** + *

                          The time, in milliseconds since the epoch, when the simulation job was last updated.

                          + */ + lastUpdatedAt?: Date; +} + +export namespace DescribeSimulationJobResponse { + export const filterSensitiveLog = (obj: DescribeSimulationJobResponse): any => ({ + ...obj, + }); +} + +export interface DescribeSimulationJobBatchRequest { + /** + *

                          The id of the batch to describe.

                          + */ + batch: string | undefined; +} + +export namespace DescribeSimulationJobBatchRequest { + export const filterSensitiveLog = (obj: DescribeSimulationJobBatchRequest): any => ({ + ...obj, + }); +} + +/** + *

                          Summary information for a simulation job.

                          + */ +export interface SimulationJobSummary { + /** + *

                          The status of the simulation job.

                          + */ + status?: SimulationJobStatus | string; + + /** + *

                          The name of the simulation job.

                          + */ + name?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the simulation job.

                          + */ + arn?: string; + + /** + *

                          A list of simulation job simulation application names.

                          + */ + simulationApplicationNames?: string[]; + + /** + *

                          The names of the data sources.

                          + */ + dataSourceNames?: string[]; + + /** + *

                          The time, in milliseconds since the epoch, when the simulation job was last updated.

                          + */ + lastUpdatedAt?: Date; + + /** + *

                          A list of simulation job robot application names.

                          + */ + robotApplicationNames?: string[]; +} + +export namespace SimulationJobSummary { + export const filterSensitiveLog = (obj: SimulationJobSummary): any => ({ + ...obj, + }); +} + +/** + *

                          Information about a failed create simulation job request.

                          + */ +export interface FailedCreateSimulationJobRequest { + /** + *

                          The failure code.

                          + */ + failureCode?: SimulationJobErrorCode | string; + + /** + *

                          The failure reason of the simulation job request.

                          + */ + failureReason?: string; + + /** + *

                          The simulation job request.

                          + */ + request?: SimulationJobRequest; + + /** + *

                          The time, in milliseconds since the epoch, when the simulation job batch failed.

                          + */ + failedAt?: Date; +} + +export namespace FailedCreateSimulationJobRequest { + export const filterSensitiveLog = (obj: FailedCreateSimulationJobRequest): any => ({ + ...obj, + }); +} + +export enum SimulationJobBatchErrorCode { + InternalServiceError = "InternalServiceError", +} + +export enum SimulationJobBatchStatus { + Canceled = "Canceled", + Canceling = "Canceling", + Completed = "Completed", + Completing = "Completing", + Failed = "Failed", + InProgress = "InProgress", + Pending = "Pending", + TimedOut = "TimedOut", + TimingOut = "TimingOut", +} + +export interface DescribeSimulationJobBatchResponse { + /** + *

                          The reason the simulation job batch failed.

                          + */ + failureReason?: string; + + /** + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          + */ + clientRequestToken?: string; + + /** + *

                          The failure code of the simulation job batch.

                          + */ + failureCode?: SimulationJobBatchErrorCode | string; + + /** + *

                          A map that contains tag keys and tag values that are attached to the simulation job batch.

                          + */ + tags?: { [key: string]: string }; + + /** + *

                          The status of the batch.

                          + *
                          + *
                          Pending
                          + *
                          + *

                          The simulation job batch request is pending.

                          + *
                          + *
                          InProgress
                          + *
                          + *

                          The simulation job batch is in progress.

                          + *
                          + *
                          Failed
                          + *
                          + *

                          The simulation job batch failed. One or more simulation job requests could not be completed + * due to an internal failure (like InternalServiceError). + * See failureCode and failureReason for more information.

                          + *
                          + *
                          Completed
                          + *
                          + *

                          The simulation batch job completed. A batch is complete when (1) there are + * no pending simulation job requests in the batch and none of the + * failed simulation job requests are due to InternalServiceError and (2) + * when all created simulation jobs have reached a terminal state (for example, + * Completed or Failed). + *

                          + *
                          + *
                          Canceled
                          + *
                          + *

                          The simulation batch job was cancelled.

                          + *
                          + *
                          Canceling
                          + *
                          + *

                          The simulation batch job is being cancelled.

                          + *
                          + *
                          Completing
                          + *
                          + *

                          The simulation batch job is completing.

                          + *
                          + *
                          TimingOut
                          + *
                          + *

                          The simulation job batch is timing out.

                          + *

                          If a batch timing out, and there are pending requests that + * were failing due to an internal failure (like InternalServiceError), + * the batch status will be Failed. If there are no such failing request, + * the batch status will be TimedOut. + *

                          + *
                          + *
                          TimedOut
                          + *
                          + *

                          The simulation batch job timed out.

                          + *
                          + *
                          + */ + status?: SimulationJobBatchStatus | string; + + /** + *

                          A list of failed create simulation job requests. The request failed to + * be created into a simulation job. Failed requests do not + * have a simulation job ID. + *

                          + */ + failedRequests?: FailedCreateSimulationJobRequest[]; + + /** + *

                          The batch policy.

                          + */ + batchPolicy?: BatchPolicy; + + /** + *

                          The Amazon Resource Name (ARN) of the batch.

                          + */ + arn?: string; + + /** + *

                          A list of created simulation job summaries.

                          + */ + createdRequests?: SimulationJobSummary[]; + + /** + *

                          A list of pending simulation job requests. These requests have + * not yet been created into simulation jobs.

                          + */ + pendingRequests?: SimulationJobRequest[]; + + /** + *

                          The time, in milliseconds since the epoch, when the simulation job batch was last updated.

                          + */ + lastUpdatedAt?: Date; + + /** + *

                          The time, in milliseconds since the epoch, when the simulation job batch was created.

                          + */ + createdAt?: Date; +} + +export namespace DescribeSimulationJobBatchResponse { + export const filterSensitiveLog = (obj: DescribeSimulationJobBatchResponse): any => ({ + ...obj, + }); +} + +export interface DescribeWorldRequest { + /** + *

                          The Amazon Resource Name (arn) of the world you want to describe.

                          + */ + world: string | undefined; +} + +export namespace DescribeWorldRequest { + export const filterSensitiveLog = (obj: DescribeWorldRequest): any => ({ + ...obj, + }); +} + +export interface DescribeWorldResponse { + /** + *

                          The Amazon Resource Name (arn) of the world.

                          + */ + arn?: string; + + /** + *

                          The time, in milliseconds since the epoch, when the world was created.

                          + */ + createdAt?: Date; + + /** + *

                          The world template.

                          + */ + template?: string; + + /** + *

                          A map that contains tag keys and tag values that are attached to the world.

                          + */ + tags?: { [key: string]: string }; + + /** + *

                          The Amazon Resource Name (arn) of the world generation job that generated the world.

                          + */ + generationJob?: string; +} + +export namespace DescribeWorldResponse { + export const filterSensitiveLog = (obj: DescribeWorldResponse): any => ({ + ...obj, + }); +} + +export interface DescribeWorldExportJobRequest { + /** + *

                          The Amazon Resource Name (arn) of the world export job to describe.

                          + */ + job: string | undefined; +} + +export namespace DescribeWorldExportJobRequest { + export const filterSensitiveLog = (obj: DescribeWorldExportJobRequest): any => ({ + ...obj, + }); +} + +export interface DescribeWorldExportJobResponse { + /** + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          + */ + clientRequestToken?: string; + + /** + *

                          The status of the world export job.

                          + *
                          + *
                          Pending
                          + *
                          + *

                          The world export job request is pending.

                          + *
                          + *
                          Running
                          + *
                          + *

                          The world export job is running.

                          + *
                          + *
                          Completed
                          + *
                          + *

                          The world export job completed. + *

                          + *
                          + *
                          Failed
                          + *
                          + *

                          The world export job failed. See failureCode and failureReason + * for more information. + *

                          + *
                          + *
                          Canceled
                          + *
                          + *

                          The world export job was cancelled.

                          + *
                          + *
                          Canceling
                          + *
                          + *

                          The world export job is being cancelled.

                          + *
                          + *
                          + */ + status?: WorldExportJobStatus | string; + + /** + *

                          A list of Amazon Resource Names (arns) that correspond to worlds to be exported.

                          + */ + worlds?: string[]; + + /** + *

                          The output location.

                          + */ + outputLocation?: OutputLocation; + + /** + *

                          The IAM role that the world export process uses to access the Amazon S3 bucket and put the export.

                          + */ + iamRole?: string; + + /** + *

                          The time, in milliseconds since the epoch, when the world export job was created.

                          + */ + createdAt?: Date; + + /** + *

                          A map that contains tag keys and tag values that are attached to the world export job.

                          + */ + tags?: { [key: string]: string }; + + /** + *

                          The reason why the world export job failed.

                          + */ + failureReason?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the world export job.

                          + */ + arn?: string; + + /** + *

                          The failure code of the world export job if it failed:

                          + *
                          + *
                          InternalServiceError
                          + *
                          + *

                          Internal service error.

                          + *
                          + *
                          LimitExceeded
                          + *
                          + *

                          The requested resource exceeds the maximum number allowed, or the number of concurrent + * stream requests exceeds the maximum number allowed. + *

                          + *
                          + *
                          ResourceNotFound
                          + *
                          + *

                          The specified resource could not be found. + *

                          + *
                          + *
                          RequestThrottled
                          + *
                          + *

                          The request was throttled.

                          + *
                          + *
                          InvalidInput
                          + *
                          + *

                          An input parameter in the request is not valid.

                          + *
                          + *
                          + */ + failureCode?: WorldExportJobErrorCode | string; +} + +export namespace DescribeWorldExportJobResponse { + export const filterSensitiveLog = (obj: DescribeWorldExportJobResponse): any => ({ + ...obj, + }); +} + +export interface DescribeWorldGenerationJobRequest { + /** + *

                          The Amazon Resource Name (arn) of the world generation job to describe.

                          + */ + job: string | undefined; +} + +export namespace DescribeWorldGenerationJobRequest { + export const filterSensitiveLog = (obj: DescribeWorldGenerationJobRequest): any => ({ + ...obj, + }); +} + +/** + *

                          Information about a failed world.

                          + */ +export interface WorldFailure { + /** + *

                          The number of failed worlds.

                          + */ + failureCount?: number; + + /** + *

                          The sample reason why the world failed. World errors are aggregated. A sample is used + * as the sampleFailureReason. + *

                          + */ + sampleFailureReason?: string; + + /** + *

                          The failure code of the world export job if it failed:

                          + *
                          + *
                          InternalServiceError
                          + *
                          + *

                          Internal service error.

                          + *
                          + *
                          LimitExceeded
                          + *
                          + *

                          The requested resource exceeds the maximum number allowed, or the number of concurrent + * stream requests exceeds the maximum number allowed. + *

                          + *
                          + *
                          ResourceNotFound
                          + *
                          + *

                          The specified resource could not be found. + *

                          + *
                          + *
                          RequestThrottled
                          + *
                          + *

                          The request was throttled.

                          + *
                          + *
                          InvalidInput
                          + *
                          + *

                          An input parameter in the request is not valid.

                          + *
                          + *
                          + */ + failureCode?: WorldGenerationJobErrorCode | string; +} + +export namespace WorldFailure { + export const filterSensitiveLog = (obj: WorldFailure): any => ({ + ...obj, + }); +} + +/** + *

                          Information about worlds that failed.

                          + */ +export interface FailureSummary { + /** + *

                          The worlds that failed.

                          + */ + failures?: WorldFailure[]; + + /** + *

                          The total number of failures.

                          + */ + totalFailureCount?: number; +} + +export namespace FailureSummary { + export const filterSensitiveLog = (obj: FailureSummary): any => ({ + ...obj, + }); +} + +/** + *

                          Information about worlds that finished.

                          + */ +export interface FinishedWorldsSummary { + /** + *

                          The total number of finished worlds.

                          + */ + finishedCount?: number; + + /** + *

                          Information about worlds that failed.

                          + */ + failureSummary?: FailureSummary; + + /** + *

                          A list of worlds that succeeded.

                          + */ + succeededWorlds?: string[]; +} + +export namespace FinishedWorldsSummary { + export const filterSensitiveLog = (obj: FinishedWorldsSummary): any => ({ + ...obj, + }); +} + +export interface DescribeWorldGenerationJobResponse { + /** + *

                          The failure code of the world generation job if it failed:

                          + *
                          + *
                          InternalServiceError
                          + *
                          + *

                          Internal service error.

                          + *
                          + *
                          LimitExceeded
                          *
                          - *

                          Unable to publish logs to customer-provided CloudWatch Logs resource.

                          + *

                          The requested resource exceeds the maximum number allowed, or the number of concurrent + * stream requests exceeds the maximum number allowed. + *

                          *
                          - *
                          SubnetIpLimitExceeded
                          + *
                          ResourceNotFound
                          *
                          - *

                          Subnet IP limit exceeded.

                          + *

                          The specified resource could not be found. + *

                          *
                          - *
                          ENILimitExceeded
                          + *
                          RequestThrottled
                          *
                          - *

                          ENI limit exceeded.

                          + *

                          The request was throttled.

                          *
                          - *
                          BadPermissionsUserCredentials
                          + *
                          InvalidInput
                          *
                          - *

                          Unable to use the Role provided.

                          + *

                          An input parameter in the request is not valid.

                          *
                          - *
                          InvalidBundleRobotApplication
                          + *
                          + */ + failureCode?: WorldGenerationJobErrorCode | string; + + /** + *

                          A map that contains tag keys and tag values that are attached to the world generation job.

                          + */ + tags?: { [key: string]: string }; + + /** + *

                          The Amazon Resource Name (arn) of the world template.

                          + */ + template?: string; + + /** + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          + */ + clientRequestToken?: string; + + /** + *

                          The time, in milliseconds since the epoch, when the world generation job was created.

                          + */ + createdAt?: Date; + + /** + *

                          The status of the world generation job:

                          + *
                          + *
                          Pending
                          *
                          - *

                          Robot bundle cannot be extracted (invalid format, bundling error, or other issue).

                          + *

                          The world generation job request is pending.

                          *
                          - *
                          InvalidBundleSimulationApplication
                          + *
                          Running
                          *
                          - *

                          Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).

                          + *

                          The world generation job is running.

                          *
                          - *
                          RobotApplicationVersionMismatchedEtag
                          + *
                          Completed
                          *
                          - *

                          Etag for RobotApplication does not match value during version creation.

                          + *

                          The world generation job completed. + *

                          *
                          - *
                          SimulationApplicationVersionMismatchedEtag
                          + *
                          Failed
                          *
                          - *

                          Etag for SimulationApplication does not match value during version creation.

                          + *

                          The world generation job failed. See failureCode for more information. + *

                          + *
                          + *
                          PartialFailed
                          + *
                          + *

                          Some worlds did not generate.

                          + *
                          + *
                          Canceled
                          + *
                          + *

                          The world generation job was cancelled.

                          + *
                          + *
                          Canceling
                          + *
                          + *

                          The world generation job is being cancelled.

                          *
                          *
                          */ - failureCode?: SimulationJobErrorCode | string; + status?: WorldGenerationJobStatus | string; /** - *

                          Location for output files generated by the simulation job.

                          + *

                          The Amazon Resource Name (ARN) of the world generation job.

                          */ - outputLocation?: OutputLocation; + arn?: string; + + /** + *

                          Summary information about finished worlds.

                          + */ + finishedWorldsSummary?: FinishedWorldsSummary; + + /** + *

                          Information about the world count.

                          + */ + worldCount?: WorldCount; + + /** + *

                          The reason why the world generation job failed.

                          + */ + failureReason?: string; } -export namespace DescribeSimulationJobResponse { - export const filterSensitiveLog = (obj: DescribeSimulationJobResponse): any => ({ +export namespace DescribeWorldGenerationJobResponse { + export const filterSensitiveLog = (obj: DescribeWorldGenerationJobResponse): any => ({ ...obj, }); } -export interface DescribeSimulationJobBatchRequest { +export interface DescribeWorldTemplateRequest { /** - *

                          The id of the batch to describe.

                          + *

                          The Amazon Resource Name (arn) of the world template you want to describe.

                          */ - batch: string | undefined; + template: string | undefined; } -export namespace DescribeSimulationJobBatchRequest { - export const filterSensitiveLog = (obj: DescribeSimulationJobBatchRequest): any => ({ +export namespace DescribeWorldTemplateRequest { + export const filterSensitiveLog = (obj: DescribeWorldTemplateRequest): any => ({ ...obj, }); } -/** - *

                          Summary information for a simulation job.

                          - */ -export interface SimulationJobSummary { +export interface DescribeWorldTemplateResponse { /** - *

                          The name of the simulation job.

                          + *

                          The time, in milliseconds since the epoch, when the world template was created.

                          */ - name?: string; + createdAt?: Date; /** - *

                          A list of simulation job simulation application names.

                          + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ - simulationApplicationNames?: string[]; + clientRequestToken?: string; /** - *

                          A list of simulation job robot application names.

                          + *

                          A map that contains tag keys and tag values that are attached to the world template.

                          */ - robotApplicationNames?: string[]; + tags?: { [key: string]: string }; /** - *

                          The time, in milliseconds since the epoch, when the simulation job was last updated.

                          + *

                          The time, in milliseconds since the epoch, when the world template was last updated.

                          */ lastUpdatedAt?: Date; /** - *

                          The names of the data sources.

                          + *

                          The name of the world template.

                          */ - dataSourceNames?: string[]; + name?: string; /** - *

                          The status of the simulation job.

                          + *

                          The Amazon Resource Name (ARN) of the world template.

                          */ - status?: SimulationJobStatus | string; + arn?: string; +} + +export namespace DescribeWorldTemplateResponse { + export const filterSensitiveLog = (obj: DescribeWorldTemplateResponse): any => ({ + ...obj, + }); +} + +/** + *

                          Information about a filter.

                          + */ +export interface Filter { + /** + *

                          A list of values.

                          + */ + values?: string[]; /** - *

                          The Amazon Resource Name (ARN) of the simulation job.

                          + *

                          The name of the filter.

                          */ - arn?: string; + name?: string; } -export namespace SimulationJobSummary { - export const filterSensitiveLog = (obj: SimulationJobSummary): any => ({ +export namespace Filter { + export const filterSensitiveLog = (obj: Filter): any => ({ ...obj, }); } /** - *

                          Information about a failed create simulation job request.

                          + *

                          Information about a fleet.

                          */ -export interface FailedCreateSimulationJobRequest { +export interface Fleet { /** - *

                          The time, in milliseconds since the epoch, when the simulation job batch failed.

                          + *

                          The Amazon Resource Name (ARN) of the fleet.

                          */ - failedAt?: Date; + arn?: string; /** - *

                          The simulation job request.

                          + *

                          The status of the last fleet deployment.

                          */ - request?: SimulationJobRequest; + lastDeploymentStatus?: DeploymentStatus | string; /** - *

                          The failure code.

                          + *

                          The time of the last deployment.

                          */ - failureCode?: SimulationJobErrorCode | string; + lastDeploymentTime?: Date; + + /** + *

                          The time, in milliseconds since the epoch, when the fleet was created.

                          + */ + createdAt?: Date; + + /** + *

                          The Amazon Resource Name (ARN) of the last deployment job.

                          + */ + lastDeploymentJob?: string; + + /** + *

                          The name of the fleet.

                          + */ + name?: string; +} + +export namespace Fleet { + export const filterSensitiveLog = (obj: Fleet): any => ({ + ...obj, + }); +} + +export interface GetWorldTemplateBodyRequest { + /** + *

                          The Amazon Resource Name (arn) of the world generator job.

                          + */ + generationJob?: string; + + /** + *

                          The Amazon Resource Name (arn) of the world template.

                          + */ + template?: string; +} + +export namespace GetWorldTemplateBodyRequest { + export const filterSensitiveLog = (obj: GetWorldTemplateBodyRequest): any => ({ + ...obj, + }); +} + +export interface GetWorldTemplateBodyResponse { + /** + *

                          The world template body.

                          + */ + templateBody?: string; +} + +export namespace GetWorldTemplateBodyResponse { + export const filterSensitiveLog = (obj: GetWorldTemplateBodyResponse): any => ({ + ...obj, + }); +} + +export interface ListDeploymentJobsRequest { + /** + *

                          When this parameter is used, ListDeploymentJobs only returns + * maxResults results in a single page along with a nextToken response + * element. The remaining results of the initial request + * can be seen by sending another ListDeploymentJobs request with the returned + * nextToken value. + * This value can be between 1 and 200. If this parameter is not used, then ListDeploymentJobs + * returns up to 200 results and a nextToken value if applicable.

                          + */ + maxResults?: number; + + /** + *

                          Optional filters to limit results.

                          + *

                          The filter names status and fleetName are supported. + * When filtering, you must use the complete value of the filtered item. You can use up to three filters, + * but they must be for the same named item. For example, if you are looking for items with the status + * InProgress or the status Pending.

                          + */ + filters?: Filter[]; + + /** + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListDeploymentJobs again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          + */ + nextToken?: string; +} + +export namespace ListDeploymentJobsRequest { + export const filterSensitiveLog = (obj: ListDeploymentJobsRequest): any => ({ + ...obj, + }); +} + +export interface ListDeploymentJobsResponse { + /** + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListDeploymentJobs again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          + */ + nextToken?: string; + + /** + *

                          A list of deployment jobs that meet the criteria of the request.

                          + */ + deploymentJobs?: DeploymentJob[]; +} + +export namespace ListDeploymentJobsResponse { + export const filterSensitiveLog = (obj: ListDeploymentJobsResponse): any => ({ + ...obj, + }); +} + +export interface ListFleetsRequest { + /** + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListFleets again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          + * + *

                          This token should be treated as an opaque identifier that is only used to retrieve + * the next items in a list and not for other programmatic purposes.

                          + *
                          + */ + nextToken?: string; + + /** + *

                          When this parameter is used, ListFleets only returns + * maxResults results in a single page along with a nextToken response + * element. The remaining results of the initial request + * can be seen by sending another ListFleets request with the returned + * nextToken value. + * This value can be between 1 and 200. If this parameter is not used, then ListFleets + * returns up to 200 results and a nextToken value if applicable.

                          + */ + maxResults?: number; /** - *

                          The failure reason of the simulation job request.

                          + *

                          Optional filters to limit results.

                          + *

                          The filter name name is supported. + * When filtering, you must use the complete value of the filtered item. You can use up to three filters.

                          */ - failureReason?: string; + filters?: Filter[]; } -export namespace FailedCreateSimulationJobRequest { - export const filterSensitiveLog = (obj: FailedCreateSimulationJobRequest): any => ({ +export namespace ListFleetsRequest { + export const filterSensitiveLog = (obj: ListFleetsRequest): any => ({ ...obj, }); } -export enum SimulationJobBatchErrorCode { - InternalServiceError = "InternalServiceError", -} - -export enum SimulationJobBatchStatus { - Canceled = "Canceled", - Canceling = "Canceling", - Completed = "Completed", - Completing = "Completing", - Failed = "Failed", - InProgress = "InProgress", - Pending = "Pending", - TimedOut = "TimedOut", - TimingOut = "TimingOut", -} - -export interface DescribeSimulationJobBatchResponse { +export interface ListFleetsResponse { /** - *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          + *

                          A list of fleet details meeting the request criteria.

                          */ - clientRequestToken?: string; + fleetDetails?: Fleet[]; /** - *

                          The reason the simulation job batch failed.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListFleets again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ - failureReason?: string; + nextToken?: string; +} - /** - *

                          The time, in milliseconds since the epoch, when the simulation job batch was last updated.

                          - */ - lastUpdatedAt?: Date; +export namespace ListFleetsResponse { + export const filterSensitiveLog = (obj: ListFleetsResponse): any => ({ + ...obj, + }); +} +export interface ListRobotApplicationsRequest { /** - *

                          The time, in milliseconds since the epoch, when the simulation job batch was created.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListRobotApplications again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ - createdAt?: Date; + nextToken?: string; /** - *

                          The status of the batch.

                          - *
                          - *
                          Pending
                          - *
                          - *

                          The simulation job batch request is pending.

                          - *
                          - *
                          InProgress
                          - *
                          - *

                          The simulation job batch is in progress.

                          - *
                          - *
                          Failed
                          - *
                          - *

                          The simulation job batch failed. One or more simulation job requests could not be completed - * due to an internal failure (like InternalServiceError). - * See failureCode and failureReason for more information.

                          - *
                          - *
                          Completed
                          - *
                          - *

                          The simulation batch job completed. A batch is complete when (1) there are - * no pending simulation job requests in the batch and none of the - * failed simulation job requests are due to InternalServiceError and (2) - * when all created simulation jobs have reached a terminal state (for example, - * Completed or Failed). - *

                          - *
                          - *
                          Canceled
                          - *
                          - *

                          The simulation batch job was cancelled.

                          - *
                          - *
                          Canceling
                          - *
                          - *

                          The simulation batch job is being cancelled.

                          - *
                          - *
                          Completing
                          - *
                          - *

                          The simulation batch job is completing.

                          - *
                          - *
                          TimingOut
                          - *
                          - *

                          The simulation job batch is timing out.

                          - *

                          If a batch timing out, and there are pending requests that - * were failing due to an internal failure (like InternalServiceError), - * the batch status will be Failed. If there are no such failing request, - * the batch status will be TimedOut. - *

                          - *
                          - *
                          TimedOut
                          - *
                          - *

                          The simulation batch job timed out.

                          - *
                          - *
                          + *

                          Optional filters to limit results.

                          + *

                          The filter name name is supported. + * When filtering, you must use the complete value of the filtered item. You can use up to three filters.

                          */ - status?: SimulationJobBatchStatus | string; + filters?: Filter[]; /** - *

                          A list of pending simulation job requests. These requests have - * not yet been created into simulation jobs.

                          + *

                          When this parameter is used, ListRobotApplications only returns + * maxResults results in a single page along with a nextToken response + * element. The remaining results of the initial request + * can be seen by sending another ListRobotApplications request with the returned + * nextToken value. + * This value can be between 1 and 100. If this parameter is not used, then ListRobotApplications + * returns up to 100 results and a nextToken value if applicable.

                          */ - pendingRequests?: SimulationJobRequest[]; + maxResults?: number; /** - *

                          A list of created simulation job summaries.

                          + *

                          The version qualifier of the robot application.

                          */ - createdRequests?: SimulationJobSummary[]; + versionQualifier?: string; +} + +export namespace ListRobotApplicationsRequest { + export const filterSensitiveLog = (obj: ListRobotApplicationsRequest): any => ({ + ...obj, + }); +} +/** + *

                          Summary information for a robot application.

                          + */ +export interface RobotApplicationSummary { /** - *

                          The Amazon Resource Name (ARN) of the batch.

                          + *

                          The Amazon Resource Name (ARN) of the robot.

                          */ arn?: string; /** - *

                          A map that contains tag keys and tag values that are attached to the simulation job batch.

                          + *

                          Information about a robot software suite (ROS distribution).

                          */ - tags?: { [key: string]: string }; + robotSoftwareSuite?: RobotSoftwareSuite; /** - *

                          The failure code of the simulation job batch.

                          + *

                          The name of the robot application.

                          */ - failureCode?: SimulationJobBatchErrorCode | string; + name?: string; /** - *

                          The batch policy.

                          + *

                          The time, in milliseconds since the epoch, when the robot application was last updated.

                          */ - batchPolicy?: BatchPolicy; + lastUpdatedAt?: Date; /** - *

                          A list of failed create simulation job requests. The request failed to - * be created into a simulation job. Failed requests do not - * have a simulation job ID. - *

                          + *

                          The version of the robot application.

                          */ - failedRequests?: FailedCreateSimulationJobRequest[]; + version?: string; } -export namespace DescribeSimulationJobBatchResponse { - export const filterSensitiveLog = (obj: DescribeSimulationJobBatchResponse): any => ({ +export namespace RobotApplicationSummary { + export const filterSensitiveLog = (obj: RobotApplicationSummary): any => ({ ...obj, }); } -/** - *

                          Information about a filter.

                          - */ -export interface Filter { +export interface ListRobotApplicationsResponse { /** - *

                          The name of the filter.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListRobotApplications again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ - name?: string; + nextToken?: string; /** - *

                          A list of values.

                          + *

                          A list of robot application summaries that meet the criteria of the request.

                          */ - values?: string[]; + robotApplicationSummaries?: RobotApplicationSummary[]; } -export namespace Filter { - export const filterSensitiveLog = (obj: Filter): any => ({ +export namespace ListRobotApplicationsResponse { + export const filterSensitiveLog = (obj: ListRobotApplicationsResponse): any => ({ ...obj, }); } -/** - *

                          Information about a fleet.

                          - */ -export interface Fleet { +export interface ListRobotsRequest { /** - *

                          The time, in milliseconds since the epoch, when the fleet was created.

                          + *

                          When this parameter is used, ListRobots only returns + * maxResults results in a single page along with a nextToken response + * element. The remaining results of the initial request + * can be seen by sending another ListRobots request with the returned + * nextToken value. + * This value can be between 1 and 200. If this parameter is not used, then ListRobots + * returns up to 200 results and a nextToken value if applicable.

                          */ - createdAt?: Date; + maxResults?: number; /** - *

                          The status of the last fleet deployment.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListRobots again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ - lastDeploymentStatus?: DeploymentStatus | string; + nextToken?: string; /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          + *

                          Optional filters to limit results.

                          + *

                          The filter names status and fleetName are supported. + * When filtering, you must use the complete value of the filtered item. You can use up to three filters, + * but they must be for the same named item. For example, if you are looking for items with the status + * Registered or the status Available.

                          */ - arn?: string; + filters?: Filter[]; +} - /** - *

                          The name of the fleet.

                          - */ - name?: string; +export namespace ListRobotsRequest { + export const filterSensitiveLog = (obj: ListRobotsRequest): any => ({ + ...obj, + }); +} +export interface ListRobotsResponse { /** - *

                          The time of the last deployment.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListRobots again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ - lastDeploymentTime?: Date; + nextToken?: string; /** - *

                          The Amazon Resource Name (ARN) of the last deployment job.

                          + *

                          A list of robots that meet the criteria of the request.

                          */ - lastDeploymentJob?: string; + robots?: Robot[]; } -export namespace Fleet { - export const filterSensitiveLog = (obj: Fleet): any => ({ +export namespace ListRobotsResponse { + export const filterSensitiveLog = (obj: ListRobotsResponse): any => ({ ...obj, }); } -export interface ListDeploymentJobsRequest { +export interface ListSimulationApplicationsRequest { /** - *

                          Optional filters to limit results.

                          - *

                          The filter names status and fleetName are supported. - * When filtering, you must use the complete value of the filtered item. You can use up to three filters, - * but they must be for the same named item. For example, if you are looking for items with the status - * InProgress or the status Pending.

                          + *

                          Optional list of filters to limit results.

                          + *

                          The filter name name is supported. When filtering, you must use the complete + * value of the filtered item. You can use up to three filters.

                          */ filters?: Filter[]; /** - *

                          When this parameter is used, ListDeploymentJobs only returns - * maxResults results in a single page along with a nextToken response - * element. The remaining results of the initial request - * can be seen by sending another ListDeploymentJobs request with the returned - * nextToken value. - * This value can be between 1 and 200. If this parameter is not used, then ListDeploymentJobs - * returns up to 200 results and a nextToken value if applicable.

                          + *

                          The version qualifier of the simulation application.

                          */ - maxResults?: number; + versionQualifier?: string; /** - *

                          The nextToken value returned from a previous paginated - * ListDeploymentJobs 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. + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListSimulationApplications again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. *

                          */ nextToken?: string; + + /** + *

                          When this parameter is used, ListSimulationApplications only returns + * maxResults results in a single page along with a nextToken response + * element. The remaining results of the initial request + * can be seen by sending another ListSimulationApplications request with the returned + * nextToken value. + * This value can be between 1 and 100. If this parameter is not used, then ListSimulationApplications + * returns up to 100 results and a nextToken value if applicable.

                          + */ + maxResults?: number; } -export namespace ListDeploymentJobsRequest { - export const filterSensitiveLog = (obj: ListDeploymentJobsRequest): any => ({ +export namespace ListSimulationApplicationsRequest { + export const filterSensitiveLog = (obj: ListSimulationApplicationsRequest): any => ({ ...obj, }); } -export interface ListDeploymentJobsResponse { +/** + *

                          Summary information for a simulation application.

                          + */ +export interface SimulationApplicationSummary { /** - *

                          A list of deployment jobs that meet the criteria of the request.

                          + *

                          The version of the simulation application.

                          */ - deploymentJobs?: DeploymentJob[]; + version?: string; /** - *

                          The nextToken value to include in a future ListDeploymentJobs request. - * When the results of a ListDeploymentJobs request exceed maxResults, this - * value can be used to retrieve the next page of results. This value is null when there are no more - * results to return.

                          + *

                          Information about a simulation software suite.

                          */ - nextToken?: string; -} + simulationSoftwareSuite?: SimulationSoftwareSuite; -export namespace ListDeploymentJobsResponse { - export const filterSensitiveLog = (obj: ListDeploymentJobsResponse): any => ({ - ...obj, - }); -} + /** + *

                          The Amazon Resource Name (ARN) of the simulation application.

                          + */ + arn?: string; -export interface ListFleetsRequest { /** - *

                          Optional filters to limit results.

                          - *

                          The filter name name is supported. - * When filtering, you must use the complete value of the filtered item. You can use up to three filters.

                          + *

                          The time, in milliseconds since the epoch, when the simulation application was last updated.

                          */ - filters?: Filter[]; + lastUpdatedAt?: Date; /** - *

                          When this parameter is used, ListFleets only returns - * maxResults results in a single page along with a nextToken response - * element. The remaining results of the initial request - * can be seen by sending another ListFleets request with the returned - * nextToken value. - * This value can be between 1 and 200. If this parameter is not used, then ListFleets - * returns up to 200 results and a nextToken value if applicable.

                          + *

                          Information about a robot software suite (ROS distribution).

                          */ - maxResults?: number; + robotSoftwareSuite?: RobotSoftwareSuite; /** - *

                          The nextToken value returned from a previous paginated - * ListFleets 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. - *

                          - * - *

                          This token should be treated as an opaque identifier that is only used to retrieve - * the next items in a list and not for other programmatic purposes.

                          - *
                          + *

                          The name of the simulation application.

                          */ - nextToken?: string; + name?: string; } -export namespace ListFleetsRequest { - export const filterSensitiveLog = (obj: ListFleetsRequest): any => ({ +export namespace SimulationApplicationSummary { + export const filterSensitiveLog = (obj: SimulationApplicationSummary): any => ({ ...obj, }); } -export interface ListFleetsResponse { +export interface ListSimulationApplicationsResponse { /** - *

                          The nextToken value to include in a future ListDeploymentJobs request. - * When the results of a ListFleets request exceed maxResults, this - * value can be used to retrieve the next page of results. This value is null when there are no more - * results to return.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListSimulationApplications again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ nextToken?: string; /** - *

                          A list of fleet details meeting the request criteria.

                          + *

                          A list of simulation application summaries that meet the criteria of the request.

                          */ - fleetDetails?: Fleet[]; + simulationApplicationSummaries?: SimulationApplicationSummary[]; } -export namespace ListFleetsResponse { - export const filterSensitiveLog = (obj: ListFleetsResponse): any => ({ +export namespace ListSimulationApplicationsResponse { + export const filterSensitiveLog = (obj: ListSimulationApplicationsResponse): any => ({ ...obj, }); } -export interface ListRobotApplicationsRequest { +export interface ListSimulationJobBatchesRequest { + /** + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListSimulationJobBatches again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          + */ + nextToken?: string; + /** *

                          Optional filters to limit results.

                          - *

                          The filter name name is supported. - * When filtering, you must use the complete value of the filtered item. You can use up to three filters.

                          */ filters?: Filter[]; /** - *

                          When this parameter is used, ListRobotApplications only returns + *

                          When this parameter is used, ListSimulationJobBatches only returns * maxResults results in a single page along with a nextToken response * element. The remaining results of the initial request - * can be seen by sending another ListRobotApplications request with the returned + * can be seen by sending another ListSimulationJobBatches request with the returned * nextToken value. - * This value can be between 1 and 100. If this parameter is not used, then ListRobotApplications - * returns up to 100 results and a nextToken value if applicable.

                          - */ - maxResults?: number; - - /** - *

                          The version qualifier of the robot application.

                          - */ - versionQualifier?: string; - - /** - *

                          The nextToken value returned from a previous paginated - * ListRobotApplications 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. *

                          */ - nextToken?: string; + maxResults?: number; } -export namespace ListRobotApplicationsRequest { - export const filterSensitiveLog = (obj: ListRobotApplicationsRequest): any => ({ +export namespace ListSimulationJobBatchesRequest { + export const filterSensitiveLog = (obj: ListSimulationJobBatchesRequest): any => ({ ...obj, }); } /** - *

                          Summary information for a robot application.

                          + *

                          Information about a simulation job batch.

                          */ -export interface RobotApplicationSummary { +export interface SimulationJobBatchSummary { /** - *

                          The version of the robot application.

                          + *

                          The time, in milliseconds since the epoch, when the simulation job batch was last updated.

                          */ - version?: string; + lastUpdatedAt?: Date; /** - *

                          The Amazon Resource Name (ARN) of the robot.

                          + *

                          The Amazon Resource Name (ARN) of the batch.

                          */ arn?: string; /** - *

                          The time, in milliseconds since the epoch, when the robot application was last updated.

                          + *

                          The number of created simulation job requests.

                          */ - lastUpdatedAt?: Date; + createdRequestCount?: number; /** - *

                          The name of the robot application.

                          + *

                          The time, in milliseconds since the epoch, when the simulation job batch was created.

                          */ - name?: string; + createdAt?: Date; /** - *

                          Information about a robot software suite (ROS distribution).

                          + *

                          The status of the simulation job batch.

                          + *
                          + *
                          Pending
                          + *
                          + *

                          The simulation job batch request is pending.

                          + *
                          + *
                          InProgress
                          + *
                          + *

                          The simulation job batch is in progress.

                          + *
                          + *
                          Failed
                          + *
                          + *

                          The simulation job batch failed. One or more simulation job requests could not be completed + * due to an internal failure (like InternalServiceError). + * See failureCode and failureReason for more information.

                          + *
                          + *
                          Completed
                          + *
                          + *

                          The simulation batch job completed. A batch is complete when (1) there are + * no pending simulation job requests in the batch and none of the + * failed simulation job requests are due to InternalServiceError and (2) + * when all created simulation jobs have reached a terminal state (for example, + * Completed or Failed). + *

                          + *
                          + *
                          Canceled
                          + *
                          + *

                          The simulation batch job was cancelled.

                          + *
                          + *
                          Canceling
                          + *
                          + *

                          The simulation batch job is being cancelled.

                          + *
                          + *
                          Completing
                          + *
                          + *

                          The simulation batch job is completing.

                          + *
                          + *
                          TimingOut
                          + *
                          + *

                          The simulation job batch is timing out.

                          + *

                          If a batch timing out, and there are pending requests that + * were failing due to an internal failure (like InternalServiceError), + * the batch status will be Failed. If there are no such failing request, + * the batch status will be TimedOut. + *

                          + *
                          + *
                          TimedOut
                          + *
                          + *

                          The simulation batch job timed out.

                          + *
                          + *
                          */ - robotSoftwareSuite?: RobotSoftwareSuite; + status?: SimulationJobBatchStatus | string; + + /** + *

                          The number of pending simulation job requests.

                          + */ + pendingRequestCount?: number; + + /** + *

                          The number of failed simulation job requests.

                          + */ + failedRequestCount?: number; } -export namespace RobotApplicationSummary { - export const filterSensitiveLog = (obj: RobotApplicationSummary): any => ({ +export namespace SimulationJobBatchSummary { + export const filterSensitiveLog = (obj: SimulationJobBatchSummary): any => ({ ...obj, }); } -export interface ListRobotApplicationsResponse { +export interface ListSimulationJobBatchesResponse { /** - *

                          A list of robot application summaries that meet the criteria of the request.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListSimulationJobBatches again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ - robotApplicationSummaries?: RobotApplicationSummary[]; + nextToken?: string; /** - *

                          The nextToken value to include in a future ListRobotApplications request. - * When the results of a ListRobotApplications request exceed maxResults, this - * value can be used to retrieve the next page of results. This value is null when there are no more - * results to return.

                          + *

                          A list of simulation job batch summaries.

                          */ - nextToken?: string; + simulationJobBatchSummaries?: SimulationJobBatchSummary[]; } -export namespace ListRobotApplicationsResponse { - export const filterSensitiveLog = (obj: ListRobotApplicationsResponse): any => ({ +export namespace ListSimulationJobBatchesResponse { + export const filterSensitiveLog = (obj: ListSimulationJobBatchesResponse): any => ({ ...obj, }); } -export interface ListRobotsRequest { +export interface ListSimulationJobsRequest { /** *

                          Optional filters to limit results.

                          - *

                          The filter names status and fleetName are supported. + *

                          The filter names status and simulationApplicationName + * and robotApplicationName are supported. * When filtering, you must use the complete value of the filtered item. You can use up to three filters, * but they must be for the same named item. For example, if you are looking for items with the status - * Registered or the status Available.

                          + * Preparing or the status Running.

                          */ filters?: Filter[]; /** - *

                          The nextToken value returned from a previous paginated - * ListRobots 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. - *

                          - */ - nextToken?: string; - - /** - *

                          When this parameter is used, ListRobots only returns + *

                          When this parameter is used, ListSimulationJobs only returns * maxResults results in a single page along with a nextToken response * element. The remaining results of the initial request - * can be seen by sending another ListRobots request with the returned + * can be seen by sending another ListSimulationJobs request with the returned * nextToken value. - * This value can be between 1 and 200. If this parameter is not used, then ListRobots - * returns up to 200 results and a nextToken value if applicable.

                          + * This value can be between 1 and 1000. If this parameter is not used, then ListSimulationJobs + * returns up to 1000 results and a nextToken value if applicable.

                          */ maxResults?: number; + + /** + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListSimulationJobs again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          + */ + nextToken?: string; } -export namespace ListRobotsRequest { - export const filterSensitiveLog = (obj: ListRobotsRequest): any => ({ +export namespace ListSimulationJobsRequest { + export const filterSensitiveLog = (obj: ListSimulationJobsRequest): any => ({ ...obj, }); } -export interface ListRobotsResponse { +export interface ListSimulationJobsResponse { /** - *

                          A list of robots that meet the criteria of the request.

                          + *

                          A list of simulation job summaries that meet the criteria of the request.

                          */ - robots?: Robot[]; + simulationJobSummaries: SimulationJobSummary[] | undefined; /** - *

                          The nextToken value to include in a future ListRobots request. - * When the results of a ListRobot request exceed maxResults, this - * value can be used to retrieve the next page of results. This value is null when there are no more - * results to return.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListSimulationJobs again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ nextToken?: string; } -export namespace ListRobotsResponse { - export const filterSensitiveLog = (obj: ListRobotsResponse): any => ({ +export namespace ListSimulationJobsResponse { + export const filterSensitiveLog = (obj: ListSimulationJobsResponse): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceRequest { + /** + *

                          The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed.

                          + */ + resourceArn: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceResponse { + /** + *

                          The list of all tags added to the specified resource.

                          + */ + tags?: { [key: string]: string }; +} + +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ ...obj, }); } -export interface ListSimulationApplicationsRequest { +export interface ListWorldExportJobsRequest { /** - *

                          Optional list of filters to limit results.

                          - *

                          The filter name name is supported. When filtering, you must use the complete - * value of the filtered item. You can use up to three filters.

                          + *

                          Optional filters to limit results. You can use generationJobId and templateId.

                          */ filters?: Filter[]; /** - *

                          When this parameter is used, ListSimulationApplications only returns - * maxResults results in a single page along with a nextToken response - * element. The remaining results of the initial request - * can be seen by sending another ListSimulationApplications request with the returned - * nextToken value. - * This value can be between 1 and 100. If this parameter is not used, then ListSimulationApplications - * returns up to 100 results and a nextToken value if applicable.

                          - */ - maxResults?: number; - - /** - *

                          The nextToken value returned from a previous paginated - * ListSimulationApplications 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. + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListWorldExportJobs again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. *

                          */ nextToken?: string; /** - *

                          The version qualifier of the simulation application.

                          + *

                          When this parameter is used, ListWorldExportJobs only returns + * maxResults results in a single page along with a nextToken response + * element. The remaining results of the initial request + * can be seen by sending another ListWorldExportJobs request with the returned + * nextToken value. + * This value can be between 1 and 100. If this parameter is not used, then ListWorldExportJobs + * returns up to 100 results and a nextToken value if applicable. + *

                          */ - versionQualifier?: string; + maxResults?: number; } -export namespace ListSimulationApplicationsRequest { - export const filterSensitiveLog = (obj: ListSimulationApplicationsRequest): any => ({ +export namespace ListWorldExportJobsRequest { + export const filterSensitiveLog = (obj: ListWorldExportJobsRequest): any => ({ ...obj, }); } /** - *

                          Summary information for a simulation application.

                          + *

                          Information about a world export job.

                          */ -export interface SimulationApplicationSummary { - /** - *

                          The name of the simulation application.

                          - */ - name?: string; - +export interface WorldExportJobSummary { /** - *

                          The Amazon Resource Name (ARN) of the simulation application.

                          + *

                          The Amazon Resource Name (ARN) of the world export job.

                          */ arn?: string; /** - *

                          Information about a simulation software suite.

                          - */ - simulationSoftwareSuite?: SimulationSoftwareSuite; - - /** - *

                          The version of the simulation application.

                          + *

                          The time, in milliseconds since the epoch, when the world export job was created.

                          */ - version?: string; + createdAt?: Date; /** - *

                          Information about a robot software suite (ROS distribution).

                          + *

                          A list of worlds.

                          */ - robotSoftwareSuite?: RobotSoftwareSuite; + worlds?: string[]; /** - *

                          The time, in milliseconds since the epoch, when the simulation application was last updated.

                          + *

                          The status of the world export job.

                          + *
                          + *
                          Pending
                          + *
                          + *

                          The world export job request is pending.

                          + *
                          + *
                          Running
                          + *
                          + *

                          The world export job is running.

                          + *
                          + *
                          Completed
                          + *
                          + *

                          The world export job completed. + *

                          + *
                          + *
                          Failed
                          + *
                          + *

                          The world export job failed. See failureCode for more information. + *

                          + *
                          + *
                          Canceled
                          + *
                          + *

                          The world export job was cancelled.

                          + *
                          + *
                          Canceling
                          + *
                          + *

                          The world export job is being cancelled.

                          + *
                          + *
                          */ - lastUpdatedAt?: Date; + status?: WorldExportJobStatus | string; } -export namespace SimulationApplicationSummary { - export const filterSensitiveLog = (obj: SimulationApplicationSummary): any => ({ +export namespace WorldExportJobSummary { + export const filterSensitiveLog = (obj: WorldExportJobSummary): any => ({ ...obj, }); } -export interface ListSimulationApplicationsResponse { +export interface ListWorldExportJobsResponse { /** - *

                          The nextToken value to include in a future ListSimulationApplications request. - * When the results of a ListRobot request exceed maxResults, this - * value can be used to retrieve the next page of results. This value is null when there are no more - * results to return.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListWorldExportJobsRequest again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ nextToken?: string; /** - *

                          A list of simulation application summaries that meet the criteria of the request.

                          + *

                          Summary information for world export jobs.

                          */ - simulationApplicationSummaries?: SimulationApplicationSummary[]; + worldExportJobSummaries: WorldExportJobSummary[] | undefined; } -export namespace ListSimulationApplicationsResponse { - export const filterSensitiveLog = (obj: ListSimulationApplicationsResponse): any => ({ +export namespace ListWorldExportJobsResponse { + export const filterSensitiveLog = (obj: ListWorldExportJobsResponse): any => ({ ...obj, }); } -export interface ListSimulationJobBatchesRequest { +export interface ListWorldGenerationJobsRequest { /** - *

                          When this parameter is used, ListSimulationJobBatches only returns + *

                          When this parameter is used, ListWorldGeneratorJobs only returns * maxResults results in a single page along with a nextToken response * element. The remaining results of the initial request - * can be seen by sending another ListSimulationJobBatches request with the returned + * can be seen by sending another ListWorldGeneratorJobs request with the returned * nextToken value. + * This value can be between 1 and 100. If this parameter is not used, then ListWorldGeneratorJobs + * returns up to 100 results and a nextToken value if applicable. *

                          */ maxResults?: number; /** - *

                          The nextToken value returned from a previous paginated - * ListSimulationJobBatches 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. - *

                          + *

                          Optional filters to limit results. You can use status and templateId.

                          */ - nextToken?: string; + filters?: Filter[]; /** - *

                          Optional filters to limit results.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListWorldGenerationJobsRequest again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ - filters?: Filter[]; + nextToken?: string; } -export namespace ListSimulationJobBatchesRequest { - export const filterSensitiveLog = (obj: ListSimulationJobBatchesRequest): any => ({ +export namespace ListWorldGenerationJobsRequest { + export const filterSensitiveLog = (obj: ListWorldGenerationJobsRequest): any => ({ ...obj, }); } /** - *

                          Information about a simulation job batch.

                          + *

                          Information about a world generator job.

                          */ -export interface SimulationJobBatchSummary { +export interface WorldGenerationJobSummary { /** - *

                          The time, in milliseconds since the epoch, when the simulation job batch was created.

                          + *

                          The number of worlds that were generated.

                          + */ + succeededWorldCount?: number; + + /** + *

                          The time, in milliseconds since the epoch, when the world generator job was created.

                          */ createdAt?: Date; /** - *

                          The Amazon Resource Name (ARN) of the batch.

                          + *

                          The Amazon Resource Name (arn) of the world template.

                          */ - arn?: string; + template?: string; /** - *

                          The number of failed simulation job requests.

                          + *

                          The number of worlds that failed.

                          */ - failedRequestCount?: number; + failedWorldCount?: number; /** - *

                          The number of pending simulation job requests.

                          + *

                          The Amazon Resource Name (ARN) of the world generator job.

                          */ - pendingRequestCount?: number; + arn?: string; /** - *

                          The status of the simulation job batch.

                          + *

                          Information about the world count.

                          + */ + worldCount?: WorldCount; + + /** + *

                          The status of the world generator job:

                          *
                          *
                          Pending
                          *
                          - *

                          The simulation job batch request is pending.

                          - *
                          - *
                          InProgress
                          - *
                          - *

                          The simulation job batch is in progress.

                          + *

                          The world generator job request is pending.

                          *
                          - *
                          Failed
                          + *
                          Running
                          *
                          - *

                          The simulation job batch failed. One or more simulation job requests could not be completed - * due to an internal failure (like InternalServiceError). - * See failureCode and failureReason for more information.

                          + *

                          The world generator job is running.

                          *
                          *
                          Completed
                          *
                          - *

                          The simulation batch job completed. A batch is complete when (1) there are - * no pending simulation job requests in the batch and none of the - * failed simulation job requests are due to InternalServiceError and (2) - * when all created simulation jobs have reached a terminal state (for example, - * Completed or Failed). + *

                          The world generator job completed. *

                          *
                          - *
                          Canceled
                          - *
                          - *

                          The simulation batch job was cancelled.

                          - *
                          - *
                          Canceling
                          + *
                          Failed
                          *
                          - *

                          The simulation batch job is being cancelled.

                          + *

                          The world generator job failed. See failureCode for more information. + *

                          *
                          - *
                          Completing
                          + *
                          PartialFailed
                          *
                          - *

                          The simulation batch job is completing.

                          + *

                          Some worlds did not generate.

                          *
                          - *
                          TimingOut
                          + *
                          Canceled
                          *
                          - *

                          The simulation job batch is timing out.

                          - *

                          If a batch timing out, and there are pending requests that - * were failing due to an internal failure (like InternalServiceError), - * the batch status will be Failed. If there are no such failing request, - * the batch status will be TimedOut. - *

                          + *

                          The world generator job was cancelled.

                          *
                          - *
                          TimedOut
                          + *
                          Canceling
                          *
                          - *

                          The simulation batch job timed out.

                          + *

                          The world generator job is being cancelled.

                          *
                          *
                          */ - status?: SimulationJobBatchStatus | string; + status?: WorldGenerationJobStatus | string; +} +export namespace WorldGenerationJobSummary { + export const filterSensitiveLog = (obj: WorldGenerationJobSummary): any => ({ + ...obj, + }); +} + +export interface ListWorldGenerationJobsResponse { /** - *

                          The time, in milliseconds since the epoch, when the simulation job batch was last updated.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListWorldGeneratorJobsRequest again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ - lastUpdatedAt?: Date; + nextToken?: string; /** - *

                          The number of created simulation job requests.

                          + *

                          Summary information for world generator jobs.

                          */ - createdRequestCount?: number; + worldGenerationJobSummaries: WorldGenerationJobSummary[] | undefined; } -export namespace SimulationJobBatchSummary { - export const filterSensitiveLog = (obj: SimulationJobBatchSummary): any => ({ +export namespace ListWorldGenerationJobsResponse { + export const filterSensitiveLog = (obj: ListWorldGenerationJobsResponse): any => ({ ...obj, }); } -export interface ListSimulationJobBatchesResponse { +export interface ListWorldsRequest { /** - *

                          A list of simulation job batch summaries.

                          + *

                          When this parameter is used, ListWorlds only returns + * maxResults results in a single page along with a nextToken response + * element. The remaining results of the initial request + * can be seen by sending another ListWorlds request with the returned + * nextToken value. + * This value can be between 1 and 100. If this parameter is not used, then ListWorlds + * returns up to 100 results and a nextToken value if applicable. + *

                          */ - simulationJobBatchSummaries?: SimulationJobBatchSummary[]; + maxResults?: number; /** - *

                          The nextToken value to include in a future ListSimulationJobBatches request. - * When the results of a ListSimulationJobBatches request exceed maxResults, this - * value can be used to retrieve the next page of results. This value is null when there are no more - * results to return. + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListWorlds again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. *

                          */ nextToken?: string; + + /** + *

                          Optional filters to limit results. You can use status.

                          + */ + filters?: Filter[]; } -export namespace ListSimulationJobBatchesResponse { - export const filterSensitiveLog = (obj: ListSimulationJobBatchesResponse): any => ({ +export namespace ListWorldsRequest { + export const filterSensitiveLog = (obj: ListWorldsRequest): any => ({ ...obj, }); } -export interface ListSimulationJobsRequest { +/** + *

                          Information about a world.

                          + */ +export interface WorldSummary { /** - *

                          The nextToken value returned from a previous paginated - * ListSimulationJobs 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. - *

                          - * - *

                          This token should be treated as an opaque identifier that is only used to retrieve - * the next items in a list and not for other programmatic purposes.

                          - *
                          + *

                          The Amazon Resource Name (arn) of the world template.

                          */ - nextToken?: string; + template?: string; /** - *

                          When this parameter is used, ListSimulationJobs only returns - * maxResults results in a single page along with a nextToken response - * element. The remaining results of the initial request - * can be seen by sending another ListSimulationJobs request with the returned - * nextToken value. - * This value can be between 1 and 1000. If this parameter is not used, then ListSimulationJobs - * returns up to 1000 results and a nextToken value if applicable.

                          + *

                          The time, in milliseconds since the epoch, when the world was created.

                          */ - maxResults?: number; + createdAt?: Date; /** - *

                          Optional filters to limit results.

                          - *

                          The filter names status and simulationApplicationName - * and robotApplicationName are supported. - * When filtering, you must use the complete value of the filtered item. You can use up to three filters, - * but they must be for the same named item. For example, if you are looking for items with the status - * Preparing or the status Running.

                          + *

                          The Amazon Resource Name (arn) of the world generation job.

                          */ - filters?: Filter[]; + generationJob?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the world.

                          + */ + arn?: string; } -export namespace ListSimulationJobsRequest { - export const filterSensitiveLog = (obj: ListSimulationJobsRequest): any => ({ +export namespace WorldSummary { + export const filterSensitiveLog = (obj: WorldSummary): any => ({ ...obj, }); } -export interface ListSimulationJobsResponse { +export interface ListWorldsResponse { /** - *

                          A list of simulation job summaries that meet the criteria of the request.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListWorlds again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ - simulationJobSummaries: SimulationJobSummary[] | undefined; + nextToken?: string; /** - *

                          The nextToken value to include in a future ListSimulationJobs request. - * When the results of a ListRobot request exceed maxResults, this - * value can be used to retrieve the next page of results. This value is null when there are no more - * results to return.

                          + *

                          Summary information for worlds.

                          */ - nextToken?: string; + worldSummaries?: WorldSummary[]; } -export namespace ListSimulationJobsResponse { - export const filterSensitiveLog = (obj: ListSimulationJobsResponse): any => ({ +export namespace ListWorldsResponse { + export const filterSensitiveLog = (obj: ListWorldsResponse): any => ({ ...obj, }); } -export interface ListTagsForResourceRequest { +export interface ListWorldTemplatesRequest { /** - *

                          The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed.

                          + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListWorldTemplates again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          */ - resourceArn: string | undefined; + nextToken?: string; + + /** + *

                          When this parameter is used, ListWorldTemplates only returns + * maxResults results in a single page along with a nextToken response + * element. The remaining results of the initial request + * can be seen by sending another ListWorldTemplates request with the returned + * nextToken value. + * This value can be between 1 and 100. If this parameter is not used, then ListWorldTemplates + * returns up to 100 results and a nextToken value if applicable. + *

                          + */ + maxResults?: number; } -export namespace ListTagsForResourceRequest { - export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ +export namespace ListWorldTemplatesRequest { + export const filterSensitiveLog = (obj: ListWorldTemplatesRequest): any => ({ ...obj, }); } -export interface ListTagsForResourceResponse { +/** + *

                          Summary information for a template.

                          + */ +export interface TemplateSummary { /** - *

                          The list of all tags added to the specified resource.

                          + *

                          The time, in milliseconds since the epoch, when the template was last updated.

                          */ - tags?: { [key: string]: string }; + lastUpdatedAt?: Date; + + /** + *

                          The Amazon Resource Name (ARN) of the template.

                          + */ + arn?: string; + + /** + *

                          The name of the template.

                          + */ + name?: string; + + /** + *

                          The time, in milliseconds since the epoch, when the template was created.

                          + */ + createdAt?: Date; } -export namespace ListTagsForResourceResponse { - export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ +export namespace TemplateSummary { + export const filterSensitiveLog = (obj: TemplateSummary): any => ({ + ...obj, + }); +} + +export interface ListWorldTemplatesResponse { + /** + *

                          Summary information for templates.

                          + */ + templateSummaries?: TemplateSummary[]; + + /** + *

                          If the previous paginated request did not return all of the remaining results, + * the response object's nextToken parameter value is set to a token. To retrieve + * the next set of results, call ListWorldTemplates again and assign that token + * to the request object's nextToken parameter. If there are no remaining results, + * the previous response object's NextToken parameter is set to null. + *

                          + */ + nextToken?: string; +} + +export namespace ListWorldTemplatesResponse { + export const filterSensitiveLog = (obj: ListWorldTemplatesResponse): any => ({ ...obj, }); } @@ -3877,24 +5333,24 @@ export namespace RestartSimulationJobResponse { export interface StartSimulationJobBatchRequest { /** - *

                          The batch policy.

                          + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ - batchPolicy?: BatchPolicy; + clientRequestToken?: string; /** - *

                          A map that contains tag keys and tag values that are attached to the deployment job batch.

                          + *

                          A list of simulation job requests to create in the batch.

                          */ - tags?: { [key: string]: string }; + createSimulationJobRequests: SimulationJobRequest[] | undefined; /** - *

                          A list of simulation job requests to create in the batch.

                          + *

                          The batch policy.

                          */ - createSimulationJobRequests: SimulationJobRequest[] | undefined; + batchPolicy?: BatchPolicy; /** - *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          + *

                          A map that contains tag keys and tag values that are attached to the deployment job batch.

                          */ - clientRequestToken?: string; + tags?: { [key: string]: string }; } export namespace StartSimulationJobBatchRequest { @@ -3904,44 +5360,28 @@ export namespace StartSimulationJobBatchRequest { } export interface StartSimulationJobBatchResponse { - /** - *

                          A list of failed simulation job requests. The request failed to - * be created into a simulation job. Failed requests do not - * have a simulation job ID. - *

                          - */ - failedRequests?: FailedCreateSimulationJobRequest[]; - - /** - *

                          The reason the simulation job batch failed.

                          - */ - failureReason?: string; - /** *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ clientRequestToken?: string; /** - *

                          A list of pending simulation job requests. These requests have - * not yet been created into simulation jobs.

                          - */ - pendingRequests?: SimulationJobRequest[]; - - /** - *

                          The time, in milliseconds since the epoch, when the simulation job batch was created.

                          + *

                          The failure code if the simulation job batch failed.

                          */ - createdAt?: Date; + failureCode?: SimulationJobBatchErrorCode | string; /** - *

                          A list of created simulation job request summaries.

                          + *

                          A list of failed simulation job requests. The request failed to + * be created into a simulation job. Failed requests do not + * have a simulation job ID. + *

                          */ - createdRequests?: SimulationJobSummary[]; + failedRequests?: FailedCreateSimulationJobRequest[]; /** - *

                          The failure code if the simulation job batch failed.

                          + *

                          A map that contains tag keys and tag values that are attached to the deployment job batch.

                          */ - failureCode?: SimulationJobBatchErrorCode | string; + tags?: { [key: string]: string }; /** *

                          The status of the simulation job batch.

                          @@ -4009,9 +5449,25 @@ export interface StartSimulationJobBatchResponse { batchPolicy?: BatchPolicy; /** - *

                          A map that contains tag keys and tag values that are attached to the deployment job batch.

                          + *

                          A list of pending simulation job requests. These requests have + * not yet been created into simulation jobs.

                          */ - tags?: { [key: string]: string }; + pendingRequests?: SimulationJobRequest[]; + + /** + *

                          A list of created simulation job request summaries.

                          + */ + createdRequests?: SimulationJobSummary[]; + + /** + *

                          The time, in milliseconds since the epoch, when the simulation job batch was created.

                          + */ + createdAt?: Date; + + /** + *

                          The reason the simulation job batch failed.

                          + */ + failureReason?: string; } export namespace StartSimulationJobBatchResponse { @@ -4022,14 +5478,14 @@ export namespace StartSimulationJobBatchResponse { export interface SyncDeploymentJobRequest { /** - *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          + *

                          The target fleet for the synchronization.

                          */ - clientRequestToken?: string; + fleet: string | undefined; /** - *

                          The target fleet for the synchronization.

                          + *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                          */ - fleet: string | undefined; + clientRequestToken?: string; } export namespace SyncDeploymentJobRequest { @@ -4039,6 +5495,21 @@ export namespace SyncDeploymentJobRequest { } export interface SyncDeploymentJobResponse { + /** + *

                          Information about the deployment application configurations.

                          + */ + deploymentApplicationConfigs?: DeploymentApplicationConfig[]; + + /** + *

                          The time, in milliseconds since the epoch, when the fleet was created.

                          + */ + createdAt?: Date; + + /** + *

                          Information about the deployment configuration.

                          + */ + deploymentConfig?: DeploymentConfig; + /** *

                          The status of the synchronization job.

                          */ @@ -4050,9 +5521,14 @@ export interface SyncDeploymentJobResponse { failureReason?: string; /** - *

                          Information about the deployment application configurations.

                          + *

                          The Amazon Resource Name (ARN) of the synchronization request.

                          */ - deploymentApplicationConfigs?: DeploymentApplicationConfig[]; + arn?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the fleet.

                          + */ + fleet?: string; /** *

                          The failure code if the job fails:

                          @@ -4116,26 +5592,6 @@ export interface SyncDeploymentJobResponse { *
                          */ failureCode?: DeploymentJobErrorCode | string; - - /** - *

                          The Amazon Resource Name (ARN) of the fleet.

                          - */ - fleet?: string; - - /** - *

                          Information about the deployment configuration.

                          - */ - deploymentConfig?: DeploymentConfig; - - /** - *

                          The Amazon Resource Name (ARN) of the synchronization request.

                          - */ - arn?: string; - - /** - *

                          The time, in milliseconds since the epoch, when the fleet was created.

                          - */ - createdAt?: Date; } export namespace SyncDeploymentJobResponse { @@ -4146,14 +5602,14 @@ export namespace SyncDeploymentJobResponse { export interface TagResourceRequest { /** - *

                          A map that contains tag keys and tag values that are attached to the resource.

                          + *

                          The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging.

                          */ - tags: { [key: string]: string } | undefined; + resourceArn: string | undefined; /** - *

                          The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging.

                          + *

                          A map that contains tag keys and tag values that are attached to the resource.

                          */ - resourceArn: string | undefined; + tags: { [key: string]: string } | undefined; } export namespace TagResourceRequest { @@ -4172,14 +5628,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                          The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing tags.

                          + *

                          A map that contains tag keys and tag values that will be unattached from the resource.

                          */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; /** - *

                          A map that contains tag keys and tag values that will be unattached from the resource.

                          + *

                          The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing tags.

                          */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -4198,24 +5654,24 @@ export namespace UntagResourceResponse { export interface UpdateRobotApplicationRequest { /** - *

                          The revision id for the robot application.

                          + *

                          The application information for the robot application.

                          */ - currentRevisionId?: string; + application: string | undefined; /** - *

                          The sources of the robot application.

                          + *

                          The revision id for the robot application.

                          */ - sources: SourceConfig[] | undefined; + currentRevisionId?: string; /** - *

                          The application information for the robot application.

                          + *

                          The robot software suite (ROS distribution) used by the robot application.

                          */ - application: string | undefined; + robotSoftwareSuite: RobotSoftwareSuite | undefined; /** - *

                          The robot software suite (ROS distribution) used by the robot application.

                          + *

                          The sources of the robot application.

                          */ - robotSoftwareSuite: RobotSoftwareSuite | undefined; + sources: SourceConfig[] | undefined; } export namespace UpdateRobotApplicationRequest { @@ -4226,14 +5682,9 @@ export namespace UpdateRobotApplicationRequest { export interface UpdateRobotApplicationResponse { /** - *

                          The sources of the robot application.

                          - */ - sources?: Source[]; - - /** - *

                          The time, in milliseconds since the epoch, when the robot application was last updated.

                          + *

                          The version of the robot application.

                          */ - lastUpdatedAt?: Date; + version?: string; /** *

                          The robot software suite (ROS distribution) used by the robot application.

                          @@ -4246,9 +5697,9 @@ export interface UpdateRobotApplicationResponse { revisionId?: string; /** - *

                          The version of the robot application.

                          + *

                          The Amazon Resource Name (ARN) of the updated robot application.

                          */ - version?: string; + arn?: string; /** *

                          The name of the robot application.

                          @@ -4256,9 +5707,14 @@ export interface UpdateRobotApplicationResponse { name?: string; /** - *

                          The Amazon Resource Name (ARN) of the updated robot application.

                          + *

                          The time, in milliseconds since the epoch, when the robot application was last updated.

                          */ - arn?: string; + lastUpdatedAt?: Date; + + /** + *

                          The sources of the robot application.

                          + */ + sources?: Source[]; } export namespace UpdateRobotApplicationResponse { @@ -4274,19 +5730,19 @@ export interface UpdateSimulationApplicationRequest { simulationSoftwareSuite: SimulationSoftwareSuite | undefined; /** - *

                          The revision id for the robot application.

                          + *

                          Information about the robot software suite (ROS distribution).

                          */ - currentRevisionId?: string; + robotSoftwareSuite: RobotSoftwareSuite | undefined; /** - *

                          Information about the robot software suite (ROS distribution).

                          + *

                          The revision id for the robot application.

                          */ - robotSoftwareSuite: RobotSoftwareSuite | undefined; + currentRevisionId?: string; /** - *

                          The rendering engine for the simulation application.

                          + *

                          The application information for the simulation application.

                          */ - renderingEngine?: RenderingEngine; + application: string | undefined; /** *

                          The sources of the simulation application.

                          @@ -4294,9 +5750,9 @@ export interface UpdateSimulationApplicationRequest { sources: SourceConfig[] | undefined; /** - *

                          The application information for the simulation application.

                          + *

                          The rendering engine for the simulation application.

                          */ - application: string | undefined; + renderingEngine?: RenderingEngine; } export namespace UpdateSimulationApplicationRequest { @@ -4307,14 +5763,19 @@ export namespace UpdateSimulationApplicationRequest { export interface UpdateSimulationApplicationResponse { /** - *

                          The sources of the simulation application.

                          + *

                          The name of the simulation application.

                          */ - sources?: Source[]; + name?: string; /** - *

                          The Amazon Resource Name (ARN) of the updated simulation application.

                          + *

                          The rendering engine for the simulation application.

                          */ - arn?: string; + renderingEngine?: RenderingEngine; + + /** + *

                          The sources of the simulation application.

                          + */ + sources?: Source[]; /** *

                          The simulation software suite used by the simulation application.

                          @@ -4332,28 +5793,79 @@ export interface UpdateSimulationApplicationResponse { revisionId?: string; /** - *

                          The name of the simulation application.

                          + *

                          The version of the robot application.

                          */ - name?: string; + version?: string; + + /** + *

                          The Amazon Resource Name (ARN) of the updated simulation application.

                          + */ + arn?: string; /** *

                          Information about the robot software suite (ROS distribution).

                          */ robotSoftwareSuite?: RobotSoftwareSuite; +} +export namespace UpdateSimulationApplicationResponse { + export const filterSensitiveLog = (obj: UpdateSimulationApplicationResponse): any => ({ + ...obj, + }); +} + +export interface UpdateWorldTemplateRequest { /** - *

                          The version of the robot application.

                          + *

                          The Amazon Resource Name (arn) of the world template to update.

                          */ - version?: string; + template: string | undefined; /** - *

                          The rendering engine for the simulation application.

                          + *

                          The world template body.

                          */ - renderingEngine?: RenderingEngine; + templateBody?: string; + + /** + *

                          The location of the world template.

                          + */ + templateLocation?: TemplateLocation; + + /** + *

                          The name of the template.

                          + */ + name?: string; } -export namespace UpdateSimulationApplicationResponse { - export const filterSensitiveLog = (obj: UpdateSimulationApplicationResponse): any => ({ +export namespace UpdateWorldTemplateRequest { + export const filterSensitiveLog = (obj: UpdateWorldTemplateRequest): any => ({ + ...obj, + }); +} + +export interface UpdateWorldTemplateResponse { + /** + *

                          The time, in milliseconds since the epoch, when the world template was created.

                          + */ + createdAt?: Date; + + /** + *

                          The name of the world template.

                          + */ + name?: string; + + /** + *

                          The time, in milliseconds since the epoch, when the world template was last updated.

                          + */ + lastUpdatedAt?: Date; + + /** + *

                          The Amazon Resource Name (arn) of the world template.

                          + */ + arn?: string; +} + +export namespace UpdateWorldTemplateResponse { + export const filterSensitiveLog = (obj: UpdateWorldTemplateResponse): any => ({ ...obj, }); } diff --git a/clients/client-robomaker/pagination/ListWorldExportJobsPaginator.ts b/clients/client-robomaker/pagination/ListWorldExportJobsPaginator.ts new file mode 100644 index 000000000000..d0962544c489 --- /dev/null +++ b/clients/client-robomaker/pagination/ListWorldExportJobsPaginator.ts @@ -0,0 +1,51 @@ +import { RoboMaker } from "../RoboMaker"; +import { RoboMakerClient } from "../RoboMakerClient"; +import { + ListWorldExportJobsCommand, + ListWorldExportJobsCommandInput, + ListWorldExportJobsCommandOutput, +} from "../commands/ListWorldExportJobsCommand"; +import { RoboMakerPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RoboMakerClient, + input: ListWorldExportJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListWorldExportJobsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RoboMaker, + input: ListWorldExportJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listWorldExportJobs(input, ...args); +}; +export async function* listWorldExportJobsPaginate( + config: RoboMakerPaginationConfiguration, + input: ListWorldExportJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListWorldExportJobsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof RoboMaker) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RoboMakerClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-robomaker/pagination/ListWorldGenerationJobsPaginator.ts b/clients/client-robomaker/pagination/ListWorldGenerationJobsPaginator.ts new file mode 100644 index 000000000000..aa4269b8eaff --- /dev/null +++ b/clients/client-robomaker/pagination/ListWorldGenerationJobsPaginator.ts @@ -0,0 +1,51 @@ +import { RoboMaker } from "../RoboMaker"; +import { RoboMakerClient } from "../RoboMakerClient"; +import { + ListWorldGenerationJobsCommand, + ListWorldGenerationJobsCommandInput, + ListWorldGenerationJobsCommandOutput, +} from "../commands/ListWorldGenerationJobsCommand"; +import { RoboMakerPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RoboMakerClient, + input: ListWorldGenerationJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListWorldGenerationJobsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RoboMaker, + input: ListWorldGenerationJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listWorldGenerationJobs(input, ...args); +}; +export async function* listWorldGenerationJobsPaginate( + config: RoboMakerPaginationConfiguration, + input: ListWorldGenerationJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListWorldGenerationJobsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof RoboMaker) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RoboMakerClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-robomaker/pagination/ListWorldTemplatesPaginator.ts b/clients/client-robomaker/pagination/ListWorldTemplatesPaginator.ts new file mode 100644 index 000000000000..44836b43cabe --- /dev/null +++ b/clients/client-robomaker/pagination/ListWorldTemplatesPaginator.ts @@ -0,0 +1,51 @@ +import { RoboMaker } from "../RoboMaker"; +import { RoboMakerClient } from "../RoboMakerClient"; +import { + ListWorldTemplatesCommand, + ListWorldTemplatesCommandInput, + ListWorldTemplatesCommandOutput, +} from "../commands/ListWorldTemplatesCommand"; +import { RoboMakerPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RoboMakerClient, + input: ListWorldTemplatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListWorldTemplatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RoboMaker, + input: ListWorldTemplatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listWorldTemplates(input, ...args); +}; +export async function* listWorldTemplatesPaginate( + config: RoboMakerPaginationConfiguration, + input: ListWorldTemplatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListWorldTemplatesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof RoboMaker) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RoboMakerClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-robomaker/pagination/ListWorldsPaginator.ts b/clients/client-robomaker/pagination/ListWorldsPaginator.ts new file mode 100644 index 000000000000..d10d97792800 --- /dev/null +++ b/clients/client-robomaker/pagination/ListWorldsPaginator.ts @@ -0,0 +1,47 @@ +import { RoboMaker } from "../RoboMaker"; +import { RoboMakerClient } from "../RoboMakerClient"; +import { ListWorldsCommand, ListWorldsCommandInput, ListWorldsCommandOutput } from "../commands/ListWorldsCommand"; +import { RoboMakerPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: RoboMakerClient, + input: ListWorldsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListWorldsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: RoboMaker, + input: ListWorldsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listWorlds(input, ...args); +}; +export async function* listWorldsPaginate( + config: RoboMakerPaginationConfiguration, + input: ListWorldsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListWorldsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof RoboMaker) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RoboMakerClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-robomaker/protocols/Aws_restJson1.ts b/clients/client-robomaker/protocols/Aws_restJson1.ts index 5dfdfc8ab489..59193f20ef37 100644 --- a/clients/client-robomaker/protocols/Aws_restJson1.ts +++ b/clients/client-robomaker/protocols/Aws_restJson1.ts @@ -1,3 +1,4 @@ +import { BatchDeleteWorldsCommandInput, BatchDeleteWorldsCommandOutput } from "../commands/BatchDeleteWorldsCommand"; import { BatchDescribeSimulationJobCommandInput, BatchDescribeSimulationJobCommandOutput, @@ -14,6 +15,14 @@ import { CancelSimulationJobCommandInput, CancelSimulationJobCommandOutput, } from "../commands/CancelSimulationJobCommand"; +import { + CancelWorldExportJobCommandInput, + CancelWorldExportJobCommandOutput, +} from "../commands/CancelWorldExportJobCommand"; +import { + CancelWorldGenerationJobCommandInput, + CancelWorldGenerationJobCommandOutput, +} from "../commands/CancelWorldGenerationJobCommand"; import { CreateDeploymentJobCommandInput, CreateDeploymentJobCommandOutput, @@ -40,6 +49,18 @@ import { CreateSimulationJobCommandInput, CreateSimulationJobCommandOutput, } from "../commands/CreateSimulationJobCommand"; +import { + CreateWorldExportJobCommandInput, + CreateWorldExportJobCommandOutput, +} from "../commands/CreateWorldExportJobCommand"; +import { + CreateWorldGenerationJobCommandInput, + CreateWorldGenerationJobCommandOutput, +} from "../commands/CreateWorldGenerationJobCommand"; +import { + CreateWorldTemplateCommandInput, + CreateWorldTemplateCommandOutput, +} from "../commands/CreateWorldTemplateCommand"; import { DeleteFleetCommandInput, DeleteFleetCommandOutput } from "../commands/DeleteFleetCommand"; import { DeleteRobotApplicationCommandInput, @@ -50,6 +71,10 @@ import { DeleteSimulationApplicationCommandInput, DeleteSimulationApplicationCommandOutput, } from "../commands/DeleteSimulationApplicationCommand"; +import { + DeleteWorldTemplateCommandInput, + DeleteWorldTemplateCommandOutput, +} from "../commands/DeleteWorldTemplateCommand"; import { DeregisterRobotCommandInput, DeregisterRobotCommandOutput } from "../commands/DeregisterRobotCommand"; import { DescribeDeploymentJobCommandInput, @@ -73,6 +98,23 @@ import { DescribeSimulationJobCommandInput, DescribeSimulationJobCommandOutput, } from "../commands/DescribeSimulationJobCommand"; +import { DescribeWorldCommandInput, DescribeWorldCommandOutput } from "../commands/DescribeWorldCommand"; +import { + DescribeWorldExportJobCommandInput, + DescribeWorldExportJobCommandOutput, +} from "../commands/DescribeWorldExportJobCommand"; +import { + DescribeWorldGenerationJobCommandInput, + DescribeWorldGenerationJobCommandOutput, +} from "../commands/DescribeWorldGenerationJobCommand"; +import { + DescribeWorldTemplateCommandInput, + DescribeWorldTemplateCommandOutput, +} from "../commands/DescribeWorldTemplateCommand"; +import { + GetWorldTemplateBodyCommandInput, + GetWorldTemplateBodyCommandOutput, +} from "../commands/GetWorldTemplateBodyCommand"; import { ListDeploymentJobsCommandInput, ListDeploymentJobsCommandOutput } from "../commands/ListDeploymentJobsCommand"; import { ListFleetsCommandInput, ListFleetsCommandOutput } from "../commands/ListFleetsCommand"; import { @@ -93,6 +135,16 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; +import { + ListWorldExportJobsCommandInput, + ListWorldExportJobsCommandOutput, +} from "../commands/ListWorldExportJobsCommand"; +import { + ListWorldGenerationJobsCommandInput, + ListWorldGenerationJobsCommandOutput, +} from "../commands/ListWorldGenerationJobsCommand"; +import { ListWorldTemplatesCommandInput, ListWorldTemplatesCommandOutput } from "../commands/ListWorldTemplatesCommand"; +import { ListWorldsCommandInput, ListWorldsCommandOutput } from "../commands/ListWorldsCommand"; import { RegisterRobotCommandInput, RegisterRobotCommandOutput } from "../commands/RegisterRobotCommand"; import { RestartSimulationJobCommandInput, @@ -113,6 +165,10 @@ import { UpdateSimulationApplicationCommandInput, UpdateSimulationApplicationCommandOutput, } from "../commands/UpdateSimulationApplicationCommand"; +import { + UpdateWorldTemplateCommandInput, + UpdateWorldTemplateCommandOutput, +} from "../commands/UpdateWorldTemplateCommand"; import { BatchPolicy, Compute, @@ -125,7 +181,9 @@ import { DeploymentJob, DeploymentLaunchConfig, FailedCreateSimulationJobRequest, + FailureSummary, Filter, + FinishedWorldsSummary, Fleet, IdempotentParameterMismatchException, InternalServerException, @@ -158,9 +216,17 @@ import { SimulationSoftwareSuite, Source, SourceConfig, + TemplateLocation, + TemplateSummary, ThrottlingException, VPCConfig, VPCConfigResponse, + WorldConfig, + WorldCount, + WorldExportJobSummary, + WorldFailure, + WorldGenerationJobSummary, + WorldSummary, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { @@ -175,6 +241,30 @@ import { } from "@aws-sdk/types"; import { v4 as generateIdempotencyToken } from "uuid"; +export const serializeAws_restJson1BatchDeleteWorldsCommand = async ( + input: BatchDeleteWorldsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/batchDeleteWorlds"; + let body: any; + body = JSON.stringify({ + ...(input.worlds !== undefined && { worlds: serializeAws_restJson1Arns(input.worlds, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1BatchDescribeSimulationJobCommand = async ( input: BatchDescribeSimulationJobCommandInput, context: __SerdeContext @@ -271,6 +361,54 @@ export const serializeAws_restJson1CancelSimulationJobBatchCommand = async ( }); }; +export const serializeAws_restJson1CancelWorldExportJobCommand = async ( + input: CancelWorldExportJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/cancelWorldExportJob"; + let body: any; + body = JSON.stringify({ + ...(input.job !== undefined && { job: input.job }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CancelWorldGenerationJobCommand = async ( + input: CancelWorldGenerationJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/cancelWorldGenerationJob"; + let body: any; + body = JSON.stringify({ + ...(input.job !== undefined && { job: input.job }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateDeploymentJobCommand = async ( input: CreateDeploymentJobCommandInput, context: __SerdeContext @@ -517,6 +655,93 @@ export const serializeAws_restJson1CreateSimulationJobCommand = async ( }); }; +export const serializeAws_restJson1CreateWorldExportJobCommand = async ( + input: CreateWorldExportJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/createWorldExportJob"; + let body: any; + body = JSON.stringify({ + clientRequestToken: input.clientRequestToken ?? generateIdempotencyToken(), + ...(input.iamRole !== undefined && { iamRole: input.iamRole }), + ...(input.outputLocation !== undefined && { + outputLocation: serializeAws_restJson1OutputLocation(input.outputLocation, context), + }), + ...(input.tags !== undefined && { tags: serializeAws_restJson1TagMap(input.tags, context) }), + ...(input.worlds !== undefined && { worlds: serializeAws_restJson1Arns(input.worlds, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreateWorldGenerationJobCommand = async ( + input: CreateWorldGenerationJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/createWorldGenerationJob"; + let body: any; + body = JSON.stringify({ + clientRequestToken: input.clientRequestToken ?? generateIdempotencyToken(), + ...(input.tags !== undefined && { tags: serializeAws_restJson1TagMap(input.tags, context) }), + ...(input.template !== undefined && { template: input.template }), + ...(input.worldCount !== undefined && { worldCount: serializeAws_restJson1WorldCount(input.worldCount, context) }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1CreateWorldTemplateCommand = async ( + input: CreateWorldTemplateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/createWorldTemplate"; + let body: any; + body = JSON.stringify({ + ...(input.clientRequestToken !== undefined && { clientRequestToken: input.clientRequestToken }), + ...(input.name !== undefined && { name: input.name }), + ...(input.tags !== undefined && { tags: serializeAws_restJson1TagMap(input.tags, context) }), + ...(input.templateBody !== undefined && { templateBody: input.templateBody }), + ...(input.templateLocation !== undefined && { + templateLocation: serializeAws_restJson1TemplateLocation(input.templateLocation, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DeleteFleetCommand = async ( input: DeleteFleetCommandInput, context: __SerdeContext @@ -615,6 +840,30 @@ export const serializeAws_restJson1DeleteSimulationApplicationCommand = async ( }); }; +export const serializeAws_restJson1DeleteWorldTemplateCommand = async ( + input: DeleteWorldTemplateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/deleteWorldTemplate"; + let body: any; + body = JSON.stringify({ + ...(input.template !== undefined && { template: input.template }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DeregisterRobotCommand = async ( input: DeregisterRobotCommandInput, context: __SerdeContext @@ -810,19 +1059,17 @@ export const serializeAws_restJson1DescribeSimulationJobBatchCommand = async ( }); }; -export const serializeAws_restJson1ListDeploymentJobsCommand = async ( - input: ListDeploymentJobsCommandInput, +export const serializeAws_restJson1DescribeWorldCommand = async ( + input: DescribeWorldCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/listDeploymentJobs"; + let resolvedPath = "/describeWorld"; let body: any; body = JSON.stringify({ - ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, context) }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.world !== undefined && { world: input.world }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -836,19 +1083,17 @@ export const serializeAws_restJson1ListDeploymentJobsCommand = async ( }); }; -export const serializeAws_restJson1ListFleetsCommand = async ( - input: ListFleetsCommandInput, +export const serializeAws_restJson1DescribeWorldExportJobCommand = async ( + input: DescribeWorldExportJobCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/listFleets"; + let resolvedPath = "/describeWorldExportJob"; let body: any; body = JSON.stringify({ - ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, context) }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.job !== undefined && { job: input.job }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -862,20 +1107,17 @@ export const serializeAws_restJson1ListFleetsCommand = async ( }); }; -export const serializeAws_restJson1ListRobotApplicationsCommand = async ( - input: ListRobotApplicationsCommandInput, +export const serializeAws_restJson1DescribeWorldGenerationJobCommand = async ( + input: DescribeWorldGenerationJobCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/listRobotApplications"; + let resolvedPath = "/describeWorldGenerationJob"; let body: any; body = JSON.stringify({ - ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, context) }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.versionQualifier !== undefined && { versionQualifier: input.versionQualifier }), + ...(input.job !== undefined && { job: input.job }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -889,19 +1131,17 @@ export const serializeAws_restJson1ListRobotApplicationsCommand = async ( }); }; -export const serializeAws_restJson1ListRobotsCommand = async ( - input: ListRobotsCommandInput, +export const serializeAws_restJson1DescribeWorldTemplateCommand = async ( + input: DescribeWorldTemplateCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/listRobots"; + let resolvedPath = "/describeWorldTemplate"; let body: any; body = JSON.stringify({ - ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, context) }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.template !== undefined && { template: input.template }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -915,20 +1155,18 @@ export const serializeAws_restJson1ListRobotsCommand = async ( }); }; -export const serializeAws_restJson1ListSimulationApplicationsCommand = async ( - input: ListSimulationApplicationsCommandInput, +export const serializeAws_restJson1GetWorldTemplateBodyCommand = async ( + input: GetWorldTemplateBodyCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/listSimulationApplications"; + let resolvedPath = "/getWorldTemplateBody"; let body: any; body = JSON.stringify({ - ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, context) }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.versionQualifier !== undefined && { versionQualifier: input.versionQualifier }), + ...(input.generationJob !== undefined && { generationJob: input.generationJob }), + ...(input.template !== undefined && { template: input.template }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -942,14 +1180,14 @@ export const serializeAws_restJson1ListSimulationApplicationsCommand = async ( }); }; -export const serializeAws_restJson1ListSimulationJobBatchesCommand = async ( - input: ListSimulationJobBatchesCommandInput, +export const serializeAws_restJson1ListDeploymentJobsCommand = async ( + input: ListDeploymentJobsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/listSimulationJobBatches"; + let resolvedPath = "/listDeploymentJobs"; let body: any; body = JSON.stringify({ ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, context) }), @@ -968,14 +1206,14 @@ export const serializeAws_restJson1ListSimulationJobBatchesCommand = async ( }); }; -export const serializeAws_restJson1ListSimulationJobsCommand = async ( - input: ListSimulationJobsCommandInput, +export const serializeAws_restJson1ListFleetsCommand = async ( + input: ListFleetsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/listSimulationJobs"; + let resolvedPath = "/listFleets"; let body: any; body = JSON.stringify({ ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, context) }), @@ -994,48 +1232,46 @@ export const serializeAws_restJson1ListSimulationJobsCommand = async ( }); }; -export const serializeAws_restJson1ListTagsForResourceCommand = async ( - input: ListTagsForResourceCommandInput, +export const serializeAws_restJson1ListRobotApplicationsCommand = async ( + input: ListRobotApplicationsCommandInput, 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; - 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 resolvedPath = "/listRobotApplications"; let body: any; + body = JSON.stringify({ + ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, context) }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.versionQualifier !== undefined && { versionQualifier: input.versionQualifier }), + }); 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_restJson1RegisterRobotCommand = async ( - input: RegisterRobotCommandInput, +export const serializeAws_restJson1ListRobotsCommand = async ( + input: ListRobotsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/registerRobot"; + let resolvedPath = "/listRobots"; let body: any; body = JSON.stringify({ - ...(input.fleet !== undefined && { fleet: input.fleet }), - ...(input.robot !== undefined && { robot: input.robot }), + ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, context) }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1049,18 +1285,255 @@ export const serializeAws_restJson1RegisterRobotCommand = async ( }); }; -export const serializeAws_restJson1RestartSimulationJobCommand = async ( - input: RestartSimulationJobCommandInput, +export const serializeAws_restJson1ListSimulationApplicationsCommand = async ( + input: ListSimulationApplicationsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/json", }; - let resolvedPath = "/restartSimulationJob"; + let resolvedPath = "/listSimulationApplications"; let body: any; body = JSON.stringify({ - ...(input.job !== undefined && { job: input.job }), - }); + ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, context) }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.versionQualifier !== undefined && { versionQualifier: input.versionQualifier }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1ListSimulationJobBatchesCommand = async ( + input: ListSimulationJobBatchesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/listSimulationJobBatches"; + let body: any; + body = JSON.stringify({ + ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, 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", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1ListSimulationJobsCommand = async ( + input: ListSimulationJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/listSimulationJobs"; + let body: any; + body = JSON.stringify({ + ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, 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", + headers, + path: resolvedPath, + body, + }); +}; + +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_restJson1ListWorldExportJobsCommand = async ( + input: ListWorldExportJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/listWorldExportJobs"; + let body: any; + body = JSON.stringify({ + ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, 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", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1ListWorldGenerationJobsCommand = async ( + input: ListWorldGenerationJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/listWorldGenerationJobs"; + let body: any; + body = JSON.stringify({ + ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, 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", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1ListWorldsCommand = async ( + input: ListWorldsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/listWorlds"; + let body: any; + body = JSON.stringify({ + ...(input.filters !== undefined && { filters: serializeAws_restJson1Filters(input.filters, 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", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1ListWorldTemplatesCommand = async ( + input: ListWorldTemplatesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/listWorldTemplates"; + let body: any; + body = JSON.stringify({ + ...(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", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1RegisterRobotCommand = async ( + input: RegisterRobotCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/registerRobot"; + let body: any; + body = JSON.stringify({ + ...(input.fleet !== undefined && { fleet: input.fleet }), + ...(input.robot !== undefined && { robot: input.robot }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1RestartSimulationJobCommand = async ( + input: RestartSimulationJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/restartSimulationJob"; + let body: any; + body = JSON.stringify({ + ...(input.job !== undefined && { job: input.job }), + }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ protocol, @@ -1263,20 +1736,120 @@ export const serializeAws_restJson1UpdateSimulationApplicationCommand = async ( }); }; -export const deserializeAws_restJson1BatchDescribeSimulationJobCommand = async ( +export const serializeAws_restJson1UpdateWorldTemplateCommand = async ( + input: UpdateWorldTemplateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/updateWorldTemplate"; + let body: any; + body = JSON.stringify({ + ...(input.name !== undefined && { name: input.name }), + ...(input.template !== undefined && { template: input.template }), + ...(input.templateBody !== undefined && { templateBody: input.templateBody }), + ...(input.templateLocation !== undefined && { + templateLocation: serializeAws_restJson1TemplateLocation(input.templateLocation, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const deserializeAws_restJson1BatchDeleteWorldsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1BatchDescribeSimulationJobCommandError(output, context); + return deserializeAws_restJson1BatchDeleteWorldsCommandError(output, context); } - const contents: BatchDescribeSimulationJobCommandOutput = { + const contents: BatchDeleteWorldsCommandOutput = { $metadata: deserializeMetadata(output), - jobs: undefined, - unprocessedJobs: undefined, + unprocessedWorlds: undefined, }; const data: any = await parseBody(output.body, context); - if (data.jobs !== undefined && data.jobs !== null) { + if (data.unprocessedWorlds !== undefined && data.unprocessedWorlds !== null) { + contents.unprocessedWorlds = deserializeAws_restJson1Arns(data.unprocessedWorlds, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1BatchDeleteWorldsCommandError = 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.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1BatchDescribeSimulationJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1BatchDescribeSimulationJobCommandError(output, context); + } + const contents: BatchDescribeSimulationJobCommandOutput = { + $metadata: deserializeMetadata(output), + jobs: undefined, + unprocessedJobs: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.jobs !== undefined && data.jobs !== null) { contents.jobs = deserializeAws_restJson1SimulationJobs(data.jobs, context); } if (data.unprocessedJobs !== undefined && data.unprocessedJobs !== null) { @@ -1380,10 +1953,1556 @@ const deserializeAws_restJson1CancelDeploymentJobCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidParameterException": - case "com.amazonaws.robomaker#InvalidParameterException": + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CancelSimulationJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CancelSimulationJobCommandError(output, context); + } + const contents: CancelSimulationJobCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CancelSimulationJobCommandError = 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.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CancelSimulationJobBatchCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CancelSimulationJobBatchCommandError(output, context); + } + const contents: CancelSimulationJobBatchCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CancelSimulationJobBatchCommandError = 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.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CancelWorldExportJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CancelWorldExportJobCommandError(output, context); + } + const contents: CancelWorldExportJobCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CancelWorldExportJobCommandError = 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.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CancelWorldGenerationJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CancelWorldGenerationJobCommandError(output, context); + } + const contents: CancelWorldGenerationJobCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CancelWorldGenerationJobCommandError = 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.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CreateDeploymentJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateDeploymentJobCommandError(output, context); + } + const contents: CreateDeploymentJobCommandOutput = { + $metadata: deserializeMetadata(output), + arn: undefined, + createdAt: undefined, + deploymentApplicationConfigs: undefined, + deploymentConfig: undefined, + failureCode: undefined, + failureReason: undefined, + fleet: undefined, + status: undefined, + tags: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.deploymentApplicationConfigs !== undefined && data.deploymentApplicationConfigs !== null) { + contents.deploymentApplicationConfigs = deserializeAws_restJson1DeploymentApplicationConfigs( + data.deploymentApplicationConfigs, + context + ); + } + if (data.deploymentConfig !== undefined && data.deploymentConfig !== null) { + contents.deploymentConfig = deserializeAws_restJson1DeploymentConfig(data.deploymentConfig, context); + } + if (data.failureCode !== undefined && data.failureCode !== null) { + contents.failureCode = data.failureCode; + } + if (data.failureReason !== undefined && data.failureReason !== null) { + contents.failureReason = data.failureReason; + } + if (data.fleet !== undefined && data.fleet !== null) { + contents.fleet = data.fleet; + } + if (data.status !== undefined && data.status !== null) { + contents.status = data.status; + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateDeploymentJobCommandError = 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 "ConcurrentDeploymentException": + case "com.amazonaws.robomaker#ConcurrentDeploymentException": + response = { + ...(await deserializeAws_restJson1ConcurrentDeploymentExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "IdempotentParameterMismatchException": + case "com.amazonaws.robomaker#IdempotentParameterMismatchException": + response = { + ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.robomaker#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CreateFleetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateFleetCommandError(output, context); + } + const contents: CreateFleetCommandOutput = { + $metadata: deserializeMetadata(output), + arn: undefined, + createdAt: undefined, + name: undefined, + tags: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateFleetCommandError = 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.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.robomaker#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CreateRobotCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateRobotCommandError(output, context); + } + const contents: CreateRobotCommandOutput = { + $metadata: deserializeMetadata(output), + architecture: undefined, + arn: undefined, + createdAt: undefined, + greengrassGroupId: undefined, + name: undefined, + tags: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.architecture !== undefined && data.architecture !== null) { + contents.architecture = data.architecture; + } + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.greengrassGroupId !== undefined && data.greengrassGroupId !== null) { + contents.greengrassGroupId = data.greengrassGroupId; + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateRobotCommandError = 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.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.robomaker#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.robomaker#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CreateRobotApplicationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateRobotApplicationCommandError(output, context); + } + const contents: CreateRobotApplicationCommandOutput = { + $metadata: deserializeMetadata(output), + arn: undefined, + lastUpdatedAt: undefined, + name: undefined, + revisionId: undefined, + robotSoftwareSuite: undefined, + sources: undefined, + tags: undefined, + version: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + if (data.revisionId !== undefined && data.revisionId !== null) { + contents.revisionId = data.revisionId; + } + if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { + contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); + } + if (data.sources !== undefined && data.sources !== null) { + contents.sources = deserializeAws_restJson1Sources(data.sources, context); + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + if (data.version !== undefined && data.version !== null) { + contents.version = data.version; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateRobotApplicationCommandError = 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 "IdempotentParameterMismatchException": + case "com.amazonaws.robomaker#IdempotentParameterMismatchException": + response = { + ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.robomaker#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.robomaker#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CreateRobotApplicationVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateRobotApplicationVersionCommandError(output, context); + } + const contents: CreateRobotApplicationVersionCommandOutput = { + $metadata: deserializeMetadata(output), + arn: undefined, + lastUpdatedAt: undefined, + name: undefined, + revisionId: undefined, + robotSoftwareSuite: undefined, + sources: undefined, + version: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + if (data.revisionId !== undefined && data.revisionId !== null) { + contents.revisionId = data.revisionId; + } + if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { + contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); + } + if (data.sources !== undefined && data.sources !== null) { + contents.sources = deserializeAws_restJson1Sources(data.sources, context); + } + if (data.version !== undefined && data.version !== null) { + contents.version = data.version; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateRobotApplicationVersionCommandError = 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 "IdempotentParameterMismatchException": + case "com.amazonaws.robomaker#IdempotentParameterMismatchException": + response = { + ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.robomaker#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CreateSimulationApplicationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateSimulationApplicationCommandError(output, context); + } + const contents: CreateSimulationApplicationCommandOutput = { + $metadata: deserializeMetadata(output), + arn: undefined, + lastUpdatedAt: undefined, + name: undefined, + renderingEngine: undefined, + revisionId: undefined, + robotSoftwareSuite: undefined, + simulationSoftwareSuite: undefined, + sources: undefined, + tags: undefined, + version: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + if (data.renderingEngine !== undefined && data.renderingEngine !== null) { + contents.renderingEngine = deserializeAws_restJson1RenderingEngine(data.renderingEngine, context); + } + if (data.revisionId !== undefined && data.revisionId !== null) { + contents.revisionId = data.revisionId; + } + if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { + contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); + } + if (data.simulationSoftwareSuite !== undefined && data.simulationSoftwareSuite !== null) { + contents.simulationSoftwareSuite = deserializeAws_restJson1SimulationSoftwareSuite( + data.simulationSoftwareSuite, + context + ); + } + if (data.sources !== undefined && data.sources !== null) { + contents.sources = deserializeAws_restJson1Sources(data.sources, context); + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + if (data.version !== undefined && data.version !== null) { + contents.version = data.version; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateSimulationApplicationCommandError = 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 "IdempotentParameterMismatchException": + case "com.amazonaws.robomaker#IdempotentParameterMismatchException": + response = { + ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.robomaker#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.robomaker#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CreateSimulationApplicationVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateSimulationApplicationVersionCommandError(output, context); + } + const contents: CreateSimulationApplicationVersionCommandOutput = { + $metadata: deserializeMetadata(output), + arn: undefined, + lastUpdatedAt: undefined, + name: undefined, + renderingEngine: undefined, + revisionId: undefined, + robotSoftwareSuite: undefined, + simulationSoftwareSuite: undefined, + sources: undefined, + version: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + if (data.renderingEngine !== undefined && data.renderingEngine !== null) { + contents.renderingEngine = deserializeAws_restJson1RenderingEngine(data.renderingEngine, context); + } + if (data.revisionId !== undefined && data.revisionId !== null) { + contents.revisionId = data.revisionId; + } + if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { + contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); + } + if (data.simulationSoftwareSuite !== undefined && data.simulationSoftwareSuite !== null) { + contents.simulationSoftwareSuite = deserializeAws_restJson1SimulationSoftwareSuite( + data.simulationSoftwareSuite, + context + ); + } + if (data.sources !== undefined && data.sources !== null) { + contents.sources = deserializeAws_restJson1Sources(data.sources, context); + } + if (data.version !== undefined && data.version !== null) { + contents.version = data.version; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateSimulationApplicationVersionCommandError = 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 "IdempotentParameterMismatchException": + case "com.amazonaws.robomaker#IdempotentParameterMismatchException": + response = { + ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.robomaker#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CreateSimulationJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateSimulationJobCommandError(output, context); + } + const contents: CreateSimulationJobCommandOutput = { + $metadata: deserializeMetadata(output), + arn: undefined, + clientRequestToken: undefined, + compute: undefined, + dataSources: undefined, + failureBehavior: undefined, + failureCode: undefined, + iamRole: undefined, + lastStartedAt: undefined, + lastUpdatedAt: undefined, + loggingConfig: undefined, + maxJobDurationInSeconds: undefined, + outputLocation: undefined, + robotApplications: undefined, + simulationApplications: undefined, + simulationTimeMillis: undefined, + status: undefined, + tags: undefined, + vpcConfig: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { + contents.clientRequestToken = data.clientRequestToken; + } + if (data.compute !== undefined && data.compute !== null) { + contents.compute = deserializeAws_restJson1ComputeResponse(data.compute, context); + } + if (data.dataSources !== undefined && data.dataSources !== null) { + contents.dataSources = deserializeAws_restJson1DataSources(data.dataSources, context); + } + if (data.failureBehavior !== undefined && data.failureBehavior !== null) { + contents.failureBehavior = data.failureBehavior; + } + if (data.failureCode !== undefined && data.failureCode !== null) { + contents.failureCode = data.failureCode; + } + if (data.iamRole !== undefined && data.iamRole !== null) { + contents.iamRole = data.iamRole; + } + if (data.lastStartedAt !== undefined && data.lastStartedAt !== null) { + contents.lastStartedAt = new Date(Math.round(data.lastStartedAt * 1000)); + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.loggingConfig !== undefined && data.loggingConfig !== null) { + contents.loggingConfig = deserializeAws_restJson1LoggingConfig(data.loggingConfig, context); + } + if (data.maxJobDurationInSeconds !== undefined && data.maxJobDurationInSeconds !== null) { + contents.maxJobDurationInSeconds = data.maxJobDurationInSeconds; + } + if (data.outputLocation !== undefined && data.outputLocation !== null) { + contents.outputLocation = deserializeAws_restJson1OutputLocation(data.outputLocation, context); + } + if (data.robotApplications !== undefined && data.robotApplications !== null) { + contents.robotApplications = deserializeAws_restJson1RobotApplicationConfigs(data.robotApplications, context); + } + if (data.simulationApplications !== undefined && data.simulationApplications !== null) { + contents.simulationApplications = deserializeAws_restJson1SimulationApplicationConfigs( + data.simulationApplications, + context + ); + } + if (data.simulationTimeMillis !== undefined && data.simulationTimeMillis !== null) { + contents.simulationTimeMillis = data.simulationTimeMillis; + } + if (data.status !== undefined && data.status !== null) { + contents.status = data.status; + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + if (data.vpcConfig !== undefined && data.vpcConfig !== null) { + contents.vpcConfig = deserializeAws_restJson1VPCConfigResponse(data.vpcConfig, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateSimulationJobCommandError = 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 "IdempotentParameterMismatchException": + case "com.amazonaws.robomaker#IdempotentParameterMismatchException": + response = { + ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.robomaker#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.robomaker#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CreateWorldExportJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateWorldExportJobCommandError(output, context); + } + const contents: CreateWorldExportJobCommandOutput = { + $metadata: deserializeMetadata(output), + arn: undefined, + clientRequestToken: undefined, + createdAt: undefined, + failureCode: undefined, + iamRole: undefined, + outputLocation: undefined, + status: undefined, + tags: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { + contents.clientRequestToken = data.clientRequestToken; + } + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.failureCode !== undefined && data.failureCode !== null) { + contents.failureCode = data.failureCode; + } + if (data.iamRole !== undefined && data.iamRole !== null) { + contents.iamRole = data.iamRole; + } + if (data.outputLocation !== undefined && data.outputLocation !== null) { + contents.outputLocation = deserializeAws_restJson1OutputLocation(data.outputLocation, context); + } + if (data.status !== undefined && data.status !== null) { + contents.status = data.status; + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateWorldExportJobCommandError = 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 "IdempotentParameterMismatchException": + case "com.amazonaws.robomaker#IdempotentParameterMismatchException": + response = { + ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.robomaker#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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_restJson1CreateWorldGenerationJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateWorldGenerationJobCommandError(output, context); + } + const contents: CreateWorldGenerationJobCommandOutput = { + $metadata: deserializeMetadata(output), + arn: undefined, + clientRequestToken: undefined, + createdAt: undefined, + failureCode: undefined, + status: undefined, + tags: undefined, + template: undefined, + worldCount: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { + contents.clientRequestToken = data.clientRequestToken; + } + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.failureCode !== undefined && data.failureCode !== null) { + contents.failureCode = data.failureCode; + } + if (data.status !== undefined && data.status !== null) { + contents.status = data.status; + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + if (data.template !== undefined && data.template !== null) { + contents.template = data.template; + } + if (data.worldCount !== undefined && data.worldCount !== null) { + contents.worldCount = deserializeAws_restJson1WorldCount(data.worldCount, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateWorldGenerationJobCommandError = 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 "IdempotentParameterMismatchException": + case "com.amazonaws.robomaker#IdempotentParameterMismatchException": + response = { + ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.robomaker#LimitExceededException": response = { - ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1396,6 +3515,14 @@ const deserializeAws_restJson1CancelDeploymentJobCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ServiceUnavailableException": + case "com.amazonaws.robomaker#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.robomaker#ThrottlingException": response = { @@ -1421,24 +3548,44 @@ const deserializeAws_restJson1CancelDeploymentJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CancelSimulationJobCommand = async ( +export const deserializeAws_restJson1CreateWorldTemplateCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CancelSimulationJobCommandError(output, context); + return deserializeAws_restJson1CreateWorldTemplateCommandError(output, context); } - const contents: CancelSimulationJobCommandOutput = { + const contents: CreateWorldTemplateCommandOutput = { $metadata: deserializeMetadata(output), + arn: undefined, + clientRequestToken: undefined, + createdAt: undefined, + name: undefined, + tags: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { + contents.clientRequestToken = data.clientRequestToken; + } + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1CancelSimulationJobCommandError = async ( +const deserializeAws_restJson1CreateWorldTemplateCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1463,6 +3610,22 @@ const deserializeAws_restJson1CancelSimulationJobCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "LimitExceededException": + case "com.amazonaws.robomaker#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.robomaker#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.robomaker#ResourceNotFoundException": response = { @@ -1496,24 +3659,24 @@ const deserializeAws_restJson1CancelSimulationJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CancelSimulationJobBatchCommand = async ( +export const deserializeAws_restJson1DeleteFleetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CancelSimulationJobBatchCommandError(output, context); + return deserializeAws_restJson1DeleteFleetCommandError(output, context); } - const contents: CancelSimulationJobBatchCommandOutput = { + const contents: DeleteFleetCommandOutput = { $metadata: deserializeMetadata(output), }; await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CancelSimulationJobBatchCommandError = async ( +const deserializeAws_restJson1DeleteFleetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1538,14 +3701,6 @@ const deserializeAws_restJson1CancelSimulationJobBatchCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.robomaker#ResourceNotFoundException": - response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.robomaker#ThrottlingException": response = { @@ -1571,63 +3726,24 @@ const deserializeAws_restJson1CancelSimulationJobBatchCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateDeploymentJobCommand = async ( +export const deserializeAws_restJson1DeleteRobotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateDeploymentJobCommandError(output, context); + return deserializeAws_restJson1DeleteRobotCommandError(output, context); } - const contents: CreateDeploymentJobCommandOutput = { + const contents: DeleteRobotCommandOutput = { $metadata: deserializeMetadata(output), - arn: undefined, - createdAt: undefined, - deploymentApplicationConfigs: undefined, - deploymentConfig: undefined, - failureCode: undefined, - failureReason: undefined, - fleet: undefined, - status: undefined, - tags: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.arn !== undefined && data.arn !== null) { - contents.arn = data.arn; - } - if (data.createdAt !== undefined && data.createdAt !== null) { - contents.createdAt = new Date(Math.round(data.createdAt * 1000)); - } - if (data.deploymentApplicationConfigs !== undefined && data.deploymentApplicationConfigs !== null) { - contents.deploymentApplicationConfigs = deserializeAws_restJson1DeploymentApplicationConfigs( - data.deploymentApplicationConfigs, - context - ); - } - if (data.deploymentConfig !== undefined && data.deploymentConfig !== null) { - contents.deploymentConfig = deserializeAws_restJson1DeploymentConfig(data.deploymentConfig, context); - } - if (data.failureCode !== undefined && data.failureCode !== null) { - contents.failureCode = data.failureCode; - } - if (data.failureReason !== undefined && data.failureReason !== null) { - contents.failureReason = data.failureReason; - } - if (data.fleet !== undefined && data.fleet !== null) { - contents.fleet = data.fleet; - } - if (data.status !== undefined && data.status !== null) { - contents.status = data.status; - } - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateDeploymentJobCommandError = async ( +const deserializeAws_restJson1DeleteRobotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1636,22 +3752,6 @@ const deserializeAws_restJson1CreateDeploymentJobCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ConcurrentDeploymentException": - case "com.amazonaws.robomaker#ConcurrentDeploymentException": - response = { - ...(await deserializeAws_restJson1ConcurrentDeploymentExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "IdempotentParameterMismatchException": - case "com.amazonaws.robomaker#IdempotentParameterMismatchException": - response = { - ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerException": case "com.amazonaws.robomaker#InternalServerException": response = { @@ -1668,22 +3768,6 @@ const deserializeAws_restJson1CreateDeploymentJobCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.robomaker#LimitExceededException": - response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ResourceNotFoundException": - case "com.amazonaws.robomaker#ResourceNotFoundException": - response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.robomaker#ThrottlingException": response = { @@ -1709,40 +3793,24 @@ const deserializeAws_restJson1CreateDeploymentJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateFleetCommand = async ( +export const deserializeAws_restJson1DeleteRobotApplicationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateFleetCommandError(output, context); + return deserializeAws_restJson1DeleteRobotApplicationCommandError(output, context); } - const contents: CreateFleetCommandOutput = { + const contents: DeleteRobotApplicationCommandOutput = { $metadata: deserializeMetadata(output), - arn: undefined, - createdAt: undefined, - name: undefined, - tags: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.arn !== undefined && data.arn !== null) { - contents.arn = data.arn; - } - if (data.createdAt !== undefined && data.createdAt !== null) { - contents.createdAt = new Date(Math.round(data.createdAt * 1000)); - } - if (data.name !== undefined && data.name !== null) { - contents.name = data.name; - } - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateFleetCommandError = async ( +const deserializeAws_restJson1DeleteRobotApplicationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1767,14 +3835,6 @@ const deserializeAws_restJson1CreateFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.robomaker#LimitExceededException": - response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.robomaker#ThrottlingException": response = { @@ -1800,48 +3860,24 @@ const deserializeAws_restJson1CreateFleetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateRobotCommand = async ( +export const deserializeAws_restJson1DeleteSimulationApplicationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateRobotCommandError(output, context); + return deserializeAws_restJson1DeleteSimulationApplicationCommandError(output, context); } - const contents: CreateRobotCommandOutput = { + const contents: DeleteSimulationApplicationCommandOutput = { $metadata: deserializeMetadata(output), - architecture: undefined, - arn: undefined, - createdAt: undefined, - greengrassGroupId: undefined, - name: undefined, - tags: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.architecture !== undefined && data.architecture !== null) { - contents.architecture = data.architecture; - } - if (data.arn !== undefined && data.arn !== null) { - contents.arn = data.arn; - } - if (data.createdAt !== undefined && data.createdAt !== null) { - contents.createdAt = new Date(Math.round(data.createdAt * 1000)); - } - if (data.greengrassGroupId !== undefined && data.greengrassGroupId !== null) { - contents.greengrassGroupId = data.greengrassGroupId; - } - if (data.name !== undefined && data.name !== null) { - contents.name = data.name; - } - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateRobotCommandError = async ( +const deserializeAws_restJson1DeleteSimulationApplicationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1853,31 +3889,15 @@ const deserializeAws_restJson1CreateRobotCommandError = async ( case "InternalServerException": case "com.amazonaws.robomaker#InternalServerException": response = { - ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "InvalidParameterException": - case "com.amazonaws.robomaker#InvalidParameterException": - response = { - ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "LimitExceededException": - case "com.amazonaws.robomaker#LimitExceededException": - response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ResourceAlreadyExistsException": - case "com.amazonaws.robomaker#ResourceAlreadyExistsException": + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": response = { - ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1907,56 +3927,24 @@ const deserializeAws_restJson1CreateRobotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateRobotApplicationCommand = async ( +export const deserializeAws_restJson1DeleteWorldTemplateCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateRobotApplicationCommandError(output, context); + return deserializeAws_restJson1DeleteWorldTemplateCommandError(output, context); } - const contents: CreateRobotApplicationCommandOutput = { + const contents: DeleteWorldTemplateCommandOutput = { $metadata: deserializeMetadata(output), - arn: undefined, - lastUpdatedAt: undefined, - name: undefined, - revisionId: undefined, - robotSoftwareSuite: undefined, - sources: undefined, - tags: undefined, - version: undefined, }; - const data: any = await parseBody(output.body, context); - if (data.arn !== undefined && data.arn !== null) { - contents.arn = data.arn; - } - if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { - contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); - } - if (data.name !== undefined && data.name !== null) { - contents.name = data.name; - } - if (data.revisionId !== undefined && data.revisionId !== null) { - contents.revisionId = data.revisionId; - } - if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { - contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); - } - if (data.sources !== undefined && data.sources !== null) { - contents.sources = deserializeAws_restJson1Sources(data.sources, context); - } - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); - } - if (data.version !== undefined && data.version !== null) { - contents.version = data.version; - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateRobotApplicationCommandError = async ( +const deserializeAws_restJson1DeleteWorldTemplateCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1965,14 +3953,6 @@ const deserializeAws_restJson1CreateRobotApplicationCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "IdempotentParameterMismatchException": - case "com.amazonaws.robomaker#IdempotentParameterMismatchException": - response = { - ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerException": case "com.amazonaws.robomaker#InternalServerException": response = { @@ -1989,18 +3969,10 @@ const deserializeAws_restJson1CreateRobotApplicationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.robomaker#LimitExceededException": - response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ResourceAlreadyExistsException": - case "com.amazonaws.robomaker#ResourceAlreadyExistsException": + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2030,52 +4002,32 @@ const deserializeAws_restJson1CreateRobotApplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateRobotApplicationVersionCommand = async ( +export const deserializeAws_restJson1DeregisterRobotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateRobotApplicationVersionCommandError(output, context); + return deserializeAws_restJson1DeregisterRobotCommandError(output, context); } - const contents: CreateRobotApplicationVersionCommandOutput = { + const contents: DeregisterRobotCommandOutput = { $metadata: deserializeMetadata(output), - arn: undefined, - lastUpdatedAt: undefined, - name: undefined, - revisionId: undefined, - robotSoftwareSuite: undefined, - sources: undefined, - version: undefined, + fleet: undefined, + robot: undefined, }; const data: any = await parseBody(output.body, context); - if (data.arn !== undefined && data.arn !== null) { - contents.arn = data.arn; - } - if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { - contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); - } - if (data.name !== undefined && data.name !== null) { - contents.name = data.name; - } - if (data.revisionId !== undefined && data.revisionId !== null) { - contents.revisionId = data.revisionId; - } - if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { - contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); - } - if (data.sources !== undefined && data.sources !== null) { - contents.sources = deserializeAws_restJson1Sources(data.sources, context); + if (data.fleet !== undefined && data.fleet !== null) { + contents.fleet = data.fleet; } - if (data.version !== undefined && data.version !== null) { - contents.version = data.version; + if (data.robot !== undefined && data.robot !== null) { + contents.robot = data.robot; } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateRobotApplicationVersionCommandError = async ( +const deserializeAws_restJson1DeregisterRobotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2084,14 +4036,6 @@ const deserializeAws_restJson1CreateRobotApplicationVersionCommandError = async let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "IdempotentParameterMismatchException": - case "com.amazonaws.robomaker#IdempotentParameterMismatchException": - response = { - ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerException": case "com.amazonaws.robomaker#InternalServerException": response = { @@ -2108,10 +4052,10 @@ const deserializeAws_restJson1CreateRobotApplicationVersionCommandError = async $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.robomaker#LimitExceededException": + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2141,67 +4085,70 @@ const deserializeAws_restJson1CreateRobotApplicationVersionCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateSimulationApplicationCommand = async ( +export const deserializeAws_restJson1DescribeDeploymentJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateSimulationApplicationCommandError(output, context); + return deserializeAws_restJson1DescribeDeploymentJobCommandError(output, context); } - const contents: CreateSimulationApplicationCommandOutput = { + const contents: DescribeDeploymentJobCommandOutput = { $metadata: deserializeMetadata(output), arn: undefined, - lastUpdatedAt: undefined, - name: undefined, - renderingEngine: undefined, - revisionId: undefined, - robotSoftwareSuite: undefined, - simulationSoftwareSuite: undefined, - sources: undefined, + createdAt: undefined, + deploymentApplicationConfigs: undefined, + deploymentConfig: undefined, + failureCode: undefined, + failureReason: undefined, + fleet: undefined, + robotDeploymentSummary: undefined, + status: undefined, tags: undefined, - version: undefined, }; const data: any = await parseBody(output.body, context); if (data.arn !== undefined && data.arn !== null) { contents.arn = data.arn; } - if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { - contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); } - if (data.name !== undefined && data.name !== null) { - contents.name = data.name; + if (data.deploymentApplicationConfigs !== undefined && data.deploymentApplicationConfigs !== null) { + contents.deploymentApplicationConfigs = deserializeAws_restJson1DeploymentApplicationConfigs( + data.deploymentApplicationConfigs, + context + ); } - if (data.renderingEngine !== undefined && data.renderingEngine !== null) { - contents.renderingEngine = deserializeAws_restJson1RenderingEngine(data.renderingEngine, context); + if (data.deploymentConfig !== undefined && data.deploymentConfig !== null) { + contents.deploymentConfig = deserializeAws_restJson1DeploymentConfig(data.deploymentConfig, context); } - if (data.revisionId !== undefined && data.revisionId !== null) { - contents.revisionId = data.revisionId; + if (data.failureCode !== undefined && data.failureCode !== null) { + contents.failureCode = data.failureCode; } - if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { - contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); + if (data.failureReason !== undefined && data.failureReason !== null) { + contents.failureReason = data.failureReason; } - if (data.simulationSoftwareSuite !== undefined && data.simulationSoftwareSuite !== null) { - contents.simulationSoftwareSuite = deserializeAws_restJson1SimulationSoftwareSuite( - data.simulationSoftwareSuite, + if (data.fleet !== undefined && data.fleet !== null) { + contents.fleet = data.fleet; + } + if (data.robotDeploymentSummary !== undefined && data.robotDeploymentSummary !== null) { + contents.robotDeploymentSummary = deserializeAws_restJson1RobotDeploymentSummary( + data.robotDeploymentSummary, context ); } - if (data.sources !== undefined && data.sources !== null) { - contents.sources = deserializeAws_restJson1Sources(data.sources, context); + if (data.status !== undefined && data.status !== null) { + contents.status = data.status; } if (data.tags !== undefined && data.tags !== null) { contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } - if (data.version !== undefined && data.version !== null) { - contents.version = data.version; - } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateSimulationApplicationCommandError = async ( +const deserializeAws_restJson1DescribeDeploymentJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2210,14 +4157,6 @@ const deserializeAws_restJson1CreateSimulationApplicationCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "IdempotentParameterMismatchException": - case "com.amazonaws.robomaker#IdempotentParameterMismatchException": - response = { - ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerException": case "com.amazonaws.robomaker#InternalServerException": response = { @@ -2234,18 +4173,10 @@ const deserializeAws_restJson1CreateSimulationApplicationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.robomaker#LimitExceededException": - response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "ResourceAlreadyExistsException": - case "com.amazonaws.robomaker#ResourceAlreadyExistsException": + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2275,63 +4206,56 @@ const deserializeAws_restJson1CreateSimulationApplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateSimulationApplicationVersionCommand = async ( +export const deserializeAws_restJson1DescribeFleetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateSimulationApplicationVersionCommandError(output, context); + return deserializeAws_restJson1DescribeFleetCommandError(output, context); } - const contents: CreateSimulationApplicationVersionCommandOutput = { + const contents: DescribeFleetCommandOutput = { $metadata: deserializeMetadata(output), arn: undefined, - lastUpdatedAt: undefined, + createdAt: undefined, + lastDeploymentJob: undefined, + lastDeploymentStatus: undefined, + lastDeploymentTime: undefined, name: undefined, - renderingEngine: undefined, - revisionId: undefined, - robotSoftwareSuite: undefined, - simulationSoftwareSuite: undefined, - sources: undefined, - version: undefined, + robots: undefined, + tags: undefined, }; const data: any = await parseBody(output.body, context); if (data.arn !== undefined && data.arn !== null) { contents.arn = data.arn; } - if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { - contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); - } - if (data.name !== undefined && data.name !== null) { - contents.name = data.name; - } - if (data.renderingEngine !== undefined && data.renderingEngine !== null) { - contents.renderingEngine = deserializeAws_restJson1RenderingEngine(data.renderingEngine, context); + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); } - if (data.revisionId !== undefined && data.revisionId !== null) { - contents.revisionId = data.revisionId; + if (data.lastDeploymentJob !== undefined && data.lastDeploymentJob !== null) { + contents.lastDeploymentJob = data.lastDeploymentJob; } - if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { - contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); + if (data.lastDeploymentStatus !== undefined && data.lastDeploymentStatus !== null) { + contents.lastDeploymentStatus = data.lastDeploymentStatus; } - if (data.simulationSoftwareSuite !== undefined && data.simulationSoftwareSuite !== null) { - contents.simulationSoftwareSuite = deserializeAws_restJson1SimulationSoftwareSuite( - data.simulationSoftwareSuite, - context - ); + if (data.lastDeploymentTime !== undefined && data.lastDeploymentTime !== null) { + contents.lastDeploymentTime = new Date(Math.round(data.lastDeploymentTime * 1000)); } - if (data.sources !== undefined && data.sources !== null) { - contents.sources = deserializeAws_restJson1Sources(data.sources, context); + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; } - if (data.version !== undefined && data.version !== null) { - contents.version = data.version; + if (data.robots !== undefined && data.robots !== null) { + contents.robots = deserializeAws_restJson1Robots(data.robots, context); + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateSimulationApplicationVersionCommandError = async ( +const deserializeAws_restJson1DescribeFleetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2340,14 +4264,6 @@ const deserializeAws_restJson1CreateSimulationApplicationVersionCommandError = a let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "IdempotentParameterMismatchException": - case "com.amazonaws.robomaker#IdempotentParameterMismatchException": - response = { - ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerException": case "com.amazonaws.robomaker#InternalServerException": response = { @@ -2364,10 +4280,10 @@ const deserializeAws_restJson1CreateSimulationApplicationVersionCommandError = a $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.robomaker#LimitExceededException": + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2397,82 +4313,50 @@ const deserializeAws_restJson1CreateSimulationApplicationVersionCommandError = a return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateSimulationJobCommand = async ( +export const deserializeAws_restJson1DescribeRobotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1CreateSimulationJobCommandError(output, context); + return deserializeAws_restJson1DescribeRobotCommandError(output, context); } - const contents: CreateSimulationJobCommandOutput = { + const contents: DescribeRobotCommandOutput = { $metadata: deserializeMetadata(output), + architecture: undefined, arn: undefined, - clientRequestToken: undefined, - compute: undefined, - dataSources: undefined, - failureBehavior: undefined, - failureCode: undefined, - iamRole: undefined, - lastStartedAt: undefined, - lastUpdatedAt: undefined, - loggingConfig: undefined, - maxJobDurationInSeconds: undefined, - outputLocation: undefined, - robotApplications: undefined, - simulationApplications: undefined, - simulationTimeMillis: undefined, + createdAt: undefined, + fleetArn: undefined, + greengrassGroupId: undefined, + lastDeploymentJob: undefined, + lastDeploymentTime: undefined, + name: undefined, status: undefined, tags: undefined, - vpcConfig: undefined, }; const data: any = await parseBody(output.body, context); + if (data.architecture !== undefined && data.architecture !== null) { + contents.architecture = data.architecture; + } if (data.arn !== undefined && data.arn !== null) { contents.arn = data.arn; } - if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { - contents.clientRequestToken = data.clientRequestToken; - } - if (data.compute !== undefined && data.compute !== null) { - contents.compute = deserializeAws_restJson1ComputeResponse(data.compute, context); - } - if (data.dataSources !== undefined && data.dataSources !== null) { - contents.dataSources = deserializeAws_restJson1DataSources(data.dataSources, context); - } - if (data.failureBehavior !== undefined && data.failureBehavior !== null) { - contents.failureBehavior = data.failureBehavior; - } - if (data.failureCode !== undefined && data.failureCode !== null) { - contents.failureCode = data.failureCode; - } - if (data.iamRole !== undefined && data.iamRole !== null) { - contents.iamRole = data.iamRole; - } - if (data.lastStartedAt !== undefined && data.lastStartedAt !== null) { - contents.lastStartedAt = new Date(Math.round(data.lastStartedAt * 1000)); - } - if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { - contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); - } - if (data.loggingConfig !== undefined && data.loggingConfig !== null) { - contents.loggingConfig = deserializeAws_restJson1LoggingConfig(data.loggingConfig, context); + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); } - if (data.maxJobDurationInSeconds !== undefined && data.maxJobDurationInSeconds !== null) { - contents.maxJobDurationInSeconds = data.maxJobDurationInSeconds; + if (data.fleetArn !== undefined && data.fleetArn !== null) { + contents.fleetArn = data.fleetArn; } - if (data.outputLocation !== undefined && data.outputLocation !== null) { - contents.outputLocation = deserializeAws_restJson1OutputLocation(data.outputLocation, context); + if (data.greengrassGroupId !== undefined && data.greengrassGroupId !== null) { + contents.greengrassGroupId = data.greengrassGroupId; } - if (data.robotApplications !== undefined && data.robotApplications !== null) { - contents.robotApplications = deserializeAws_restJson1RobotApplicationConfigs(data.robotApplications, context); + if (data.lastDeploymentJob !== undefined && data.lastDeploymentJob !== null) { + contents.lastDeploymentJob = data.lastDeploymentJob; } - if (data.simulationApplications !== undefined && data.simulationApplications !== null) { - contents.simulationApplications = deserializeAws_restJson1SimulationApplicationConfigs( - data.simulationApplications, - context - ); + if (data.lastDeploymentTime !== undefined && data.lastDeploymentTime !== null) { + contents.lastDeploymentTime = new Date(Math.round(data.lastDeploymentTime * 1000)); } - if (data.simulationTimeMillis !== undefined && data.simulationTimeMillis !== null) { - contents.simulationTimeMillis = data.simulationTimeMillis; + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; } if (data.status !== undefined && data.status !== null) { contents.status = data.status; @@ -2480,16 +4364,13 @@ export const deserializeAws_restJson1CreateSimulationJobCommand = async ( if (data.tags !== undefined && data.tags !== null) { contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } - if (data.vpcConfig !== undefined && data.vpcConfig !== null) { - contents.vpcConfig = deserializeAws_restJson1VPCConfigResponse(data.vpcConfig, context); - } return Promise.resolve(contents); }; -const deserializeAws_restJson1CreateSimulationJobCommandError = async ( +const deserializeAws_restJson1DescribeRobotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2498,14 +4379,6 @@ const deserializeAws_restJson1CreateSimulationJobCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "IdempotentParameterMismatchException": - case "com.amazonaws.robomaker#IdempotentParameterMismatchException": - response = { - ...(await deserializeAws_restJson1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InternalServerException": case "com.amazonaws.robomaker#InternalServerException": response = { @@ -2522,14 +4395,6 @@ const deserializeAws_restJson1CreateSimulationJobCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "LimitExceededException": - case "com.amazonaws.robomaker#LimitExceededException": - response = { - ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceNotFoundException": case "com.amazonaws.robomaker#ResourceNotFoundException": response = { @@ -2538,14 +4403,6 @@ const deserializeAws_restJson1CreateSimulationJobCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ServiceUnavailableException": - case "com.amazonaws.robomaker#ServiceUnavailableException": - response = { - ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.robomaker#ThrottlingException": response = { @@ -2571,24 +4428,56 @@ const deserializeAws_restJson1CreateSimulationJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteFleetCommand = async ( +export const deserializeAws_restJson1DescribeRobotApplicationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteFleetCommandError(output, context); + return deserializeAws_restJson1DescribeRobotApplicationCommandError(output, context); } - const contents: DeleteFleetCommandOutput = { + const contents: DescribeRobotApplicationCommandOutput = { $metadata: deserializeMetadata(output), + arn: undefined, + lastUpdatedAt: undefined, + name: undefined, + revisionId: undefined, + robotSoftwareSuite: undefined, + sources: undefined, + tags: undefined, + version: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + if (data.revisionId !== undefined && data.revisionId !== null) { + contents.revisionId = data.revisionId; + } + if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { + contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); + } + if (data.sources !== undefined && data.sources !== null) { + contents.sources = deserializeAws_restJson1Sources(data.sources, context); + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + if (data.version !== undefined && data.version !== null) { + contents.version = data.version; + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteFleetCommandError = async ( +const deserializeAws_restJson1DescribeRobotApplicationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2613,6 +4502,14 @@ const deserializeAws_restJson1DeleteFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.robomaker#ThrottlingException": response = { @@ -2638,24 +4535,67 @@ const deserializeAws_restJson1DeleteFleetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteRobotCommand = async ( +export const deserializeAws_restJson1DescribeSimulationApplicationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteRobotCommandError(output, context); + return deserializeAws_restJson1DescribeSimulationApplicationCommandError(output, context); } - const contents: DeleteRobotCommandOutput = { + const contents: DescribeSimulationApplicationCommandOutput = { $metadata: deserializeMetadata(output), + arn: undefined, + lastUpdatedAt: undefined, + name: undefined, + renderingEngine: undefined, + revisionId: undefined, + robotSoftwareSuite: undefined, + simulationSoftwareSuite: undefined, + sources: undefined, + tags: undefined, + version: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + if (data.renderingEngine !== undefined && data.renderingEngine !== null) { + contents.renderingEngine = deserializeAws_restJson1RenderingEngine(data.renderingEngine, context); + } + if (data.revisionId !== undefined && data.revisionId !== null) { + contents.revisionId = data.revisionId; + } + if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { + contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); + } + if (data.simulationSoftwareSuite !== undefined && data.simulationSoftwareSuite !== null) { + contents.simulationSoftwareSuite = deserializeAws_restJson1SimulationSoftwareSuite( + data.simulationSoftwareSuite, + context + ); + } + if (data.sources !== undefined && data.sources !== null) { + contents.sources = deserializeAws_restJson1Sources(data.sources, context); + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + if (data.version !== undefined && data.version !== null) { + contents.version = data.version; + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteRobotCommandError = async ( +const deserializeAws_restJson1DescribeSimulationApplicationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2680,6 +4620,14 @@ const deserializeAws_restJson1DeleteRobotCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.robomaker#ThrottlingException": response = { @@ -2705,24 +4653,111 @@ const deserializeAws_restJson1DeleteRobotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteRobotApplicationCommand = async ( +export const deserializeAws_restJson1DescribeSimulationJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteRobotApplicationCommandError(output, context); + return deserializeAws_restJson1DescribeSimulationJobCommandError(output, context); } - const contents: DeleteRobotApplicationCommandOutput = { + const contents: DescribeSimulationJobCommandOutput = { $metadata: deserializeMetadata(output), + arn: undefined, + clientRequestToken: undefined, + compute: undefined, + dataSources: undefined, + failureBehavior: undefined, + failureCode: undefined, + failureReason: undefined, + iamRole: undefined, + lastStartedAt: undefined, + lastUpdatedAt: undefined, + loggingConfig: undefined, + maxJobDurationInSeconds: undefined, + name: undefined, + networkInterface: undefined, + outputLocation: undefined, + robotApplications: undefined, + simulationApplications: undefined, + simulationTimeMillis: undefined, + status: undefined, + tags: undefined, + vpcConfig: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { + contents.clientRequestToken = data.clientRequestToken; + } + if (data.compute !== undefined && data.compute !== null) { + contents.compute = deserializeAws_restJson1ComputeResponse(data.compute, context); + } + if (data.dataSources !== undefined && data.dataSources !== null) { + contents.dataSources = deserializeAws_restJson1DataSources(data.dataSources, context); + } + if (data.failureBehavior !== undefined && data.failureBehavior !== null) { + contents.failureBehavior = data.failureBehavior; + } + if (data.failureCode !== undefined && data.failureCode !== null) { + contents.failureCode = data.failureCode; + } + if (data.failureReason !== undefined && data.failureReason !== null) { + contents.failureReason = data.failureReason; + } + if (data.iamRole !== undefined && data.iamRole !== null) { + contents.iamRole = data.iamRole; + } + if (data.lastStartedAt !== undefined && data.lastStartedAt !== null) { + contents.lastStartedAt = new Date(Math.round(data.lastStartedAt * 1000)); + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.loggingConfig !== undefined && data.loggingConfig !== null) { + contents.loggingConfig = deserializeAws_restJson1LoggingConfig(data.loggingConfig, context); + } + if (data.maxJobDurationInSeconds !== undefined && data.maxJobDurationInSeconds !== null) { + contents.maxJobDurationInSeconds = data.maxJobDurationInSeconds; + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + if (data.networkInterface !== undefined && data.networkInterface !== null) { + contents.networkInterface = deserializeAws_restJson1NetworkInterface(data.networkInterface, context); + } + if (data.outputLocation !== undefined && data.outputLocation !== null) { + contents.outputLocation = deserializeAws_restJson1OutputLocation(data.outputLocation, context); + } + if (data.robotApplications !== undefined && data.robotApplications !== null) { + contents.robotApplications = deserializeAws_restJson1RobotApplicationConfigs(data.robotApplications, context); + } + if (data.simulationApplications !== undefined && data.simulationApplications !== null) { + contents.simulationApplications = deserializeAws_restJson1SimulationApplicationConfigs( + data.simulationApplications, + context + ); + } + if (data.simulationTimeMillis !== undefined && data.simulationTimeMillis !== null) { + contents.simulationTimeMillis = data.simulationTimeMillis; + } + if (data.status !== undefined && data.status !== null) { + contents.status = data.status; + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + if (data.vpcConfig !== undefined && data.vpcConfig !== null) { + contents.vpcConfig = deserializeAws_restJson1VPCConfigResponse(data.vpcConfig, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteRobotApplicationCommandError = async ( +const deserializeAws_restJson1DescribeSimulationJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2747,6 +4782,14 @@ const deserializeAws_restJson1DeleteRobotApplicationCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.robomaker#ThrottlingException": response = { @@ -2772,24 +4815,72 @@ const deserializeAws_restJson1DeleteRobotApplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeleteSimulationApplicationCommand = async ( +export const deserializeAws_restJson1DescribeSimulationJobBatchCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DeleteSimulationApplicationCommandError(output, context); + return deserializeAws_restJson1DescribeSimulationJobBatchCommandError(output, context); } - const contents: DeleteSimulationApplicationCommandOutput = { + const contents: DescribeSimulationJobBatchCommandOutput = { $metadata: deserializeMetadata(output), + arn: undefined, + batchPolicy: undefined, + clientRequestToken: undefined, + createdAt: undefined, + createdRequests: undefined, + failedRequests: undefined, + failureCode: undefined, + failureReason: undefined, + lastUpdatedAt: undefined, + pendingRequests: undefined, + status: undefined, + tags: undefined, }; - await collectBody(output.body, context); + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.batchPolicy !== undefined && data.batchPolicy !== null) { + contents.batchPolicy = deserializeAws_restJson1BatchPolicy(data.batchPolicy, context); + } + if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { + contents.clientRequestToken = data.clientRequestToken; + } + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.createdRequests !== undefined && data.createdRequests !== null) { + contents.createdRequests = deserializeAws_restJson1SimulationJobSummaries(data.createdRequests, context); + } + if (data.failedRequests !== undefined && data.failedRequests !== null) { + contents.failedRequests = deserializeAws_restJson1FailedCreateSimulationJobRequests(data.failedRequests, context); + } + if (data.failureCode !== undefined && data.failureCode !== null) { + contents.failureCode = data.failureCode; + } + if (data.failureReason !== undefined && data.failureReason !== null) { + contents.failureReason = data.failureReason; + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.pendingRequests !== undefined && data.pendingRequests !== null) { + contents.pendingRequests = deserializeAws_restJson1CreateSimulationJobRequests(data.pendingRequests, context); + } + if (data.status !== undefined && data.status !== null) { + contents.status = data.status; + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeleteSimulationApplicationCommandError = async ( +const deserializeAws_restJson1DescribeSimulationJobBatchCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2814,10 +4905,10 @@ const deserializeAws_restJson1DeleteSimulationApplicationCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.robomaker#ThrottlingException": + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2839,32 +4930,44 @@ const deserializeAws_restJson1DeleteSimulationApplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DeregisterRobotCommand = async ( +export const deserializeAws_restJson1DescribeWorldCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DeregisterRobotCommandError(output, context); + return deserializeAws_restJson1DescribeWorldCommandError(output, context); } - const contents: DeregisterRobotCommandOutput = { + const contents: DescribeWorldCommandOutput = { $metadata: deserializeMetadata(output), - fleet: undefined, - robot: undefined, + arn: undefined, + createdAt: undefined, + generationJob: undefined, + tags: undefined, + template: undefined, }; const data: any = await parseBody(output.body, context); - if (data.fleet !== undefined && data.fleet !== null) { - contents.fleet = data.fleet; + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; } - if (data.robot !== undefined && data.robot !== null) { - contents.robot = data.robot; + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.generationJob !== undefined && data.generationJob !== null) { + contents.generationJob = data.generationJob; + } + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + } + if (data.template !== undefined && data.template !== null) { + contents.template = data.template; } return Promise.resolve(contents); }; -const deserializeAws_restJson1DeregisterRobotCommandError = async ( +const deserializeAws_restJson1DescribeWorldCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2922,56 +5025,47 @@ const deserializeAws_restJson1DeregisterRobotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeDeploymentJobCommand = async ( +export const deserializeAws_restJson1DescribeWorldExportJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeDeploymentJobCommandError(output, context); + return deserializeAws_restJson1DescribeWorldExportJobCommandError(output, context); } - const contents: DescribeDeploymentJobCommandOutput = { + const contents: DescribeWorldExportJobCommandOutput = { $metadata: deserializeMetadata(output), arn: undefined, + clientRequestToken: undefined, createdAt: undefined, - deploymentApplicationConfigs: undefined, - deploymentConfig: undefined, failureCode: undefined, failureReason: undefined, - fleet: undefined, - robotDeploymentSummary: undefined, + iamRole: undefined, + outputLocation: undefined, status: undefined, tags: undefined, + worlds: undefined, }; const data: any = await parseBody(output.body, context); if (data.arn !== undefined && data.arn !== null) { contents.arn = data.arn; } + if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { + contents.clientRequestToken = data.clientRequestToken; + } if (data.createdAt !== undefined && data.createdAt !== null) { contents.createdAt = new Date(Math.round(data.createdAt * 1000)); } - if (data.deploymentApplicationConfigs !== undefined && data.deploymentApplicationConfigs !== null) { - contents.deploymentApplicationConfigs = deserializeAws_restJson1DeploymentApplicationConfigs( - data.deploymentApplicationConfigs, - context - ); - } - if (data.deploymentConfig !== undefined && data.deploymentConfig !== null) { - contents.deploymentConfig = deserializeAws_restJson1DeploymentConfig(data.deploymentConfig, context); - } if (data.failureCode !== undefined && data.failureCode !== null) { contents.failureCode = data.failureCode; } if (data.failureReason !== undefined && data.failureReason !== null) { contents.failureReason = data.failureReason; } - if (data.fleet !== undefined && data.fleet !== null) { - contents.fleet = data.fleet; + if (data.iamRole !== undefined && data.iamRole !== null) { + contents.iamRole = data.iamRole; } - if (data.robotDeploymentSummary !== undefined && data.robotDeploymentSummary !== null) { - contents.robotDeploymentSummary = deserializeAws_restJson1RobotDeploymentSummary( - data.robotDeploymentSummary, - context - ); + if (data.outputLocation !== undefined && data.outputLocation !== null) { + contents.outputLocation = deserializeAws_restJson1OutputLocation(data.outputLocation, context); } if (data.status !== undefined && data.status !== null) { contents.status = data.status; @@ -2979,13 +5073,16 @@ export const deserializeAws_restJson1DescribeDeploymentJobCommand = async ( if (data.tags !== undefined && data.tags !== null) { contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } + if (data.worlds !== undefined && data.worlds !== null) { + contents.worlds = deserializeAws_restJson1Arns(data.worlds, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeDeploymentJobCommandError = async ( +const deserializeAws_restJson1DescribeWorldExportJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3043,56 +5140,64 @@ const deserializeAws_restJson1DescribeDeploymentJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeFleetCommand = async ( +export const deserializeAws_restJson1DescribeWorldGenerationJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeFleetCommandError(output, context); + return deserializeAws_restJson1DescribeWorldGenerationJobCommandError(output, context); } - const contents: DescribeFleetCommandOutput = { + const contents: DescribeWorldGenerationJobCommandOutput = { $metadata: deserializeMetadata(output), arn: undefined, + clientRequestToken: undefined, createdAt: undefined, - lastDeploymentJob: undefined, - lastDeploymentStatus: undefined, - lastDeploymentTime: undefined, - name: undefined, - robots: undefined, + failureCode: undefined, + failureReason: undefined, + finishedWorldsSummary: undefined, + status: undefined, tags: undefined, + template: undefined, + worldCount: undefined, }; const data: any = await parseBody(output.body, context); if (data.arn !== undefined && data.arn !== null) { contents.arn = data.arn; } + if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { + contents.clientRequestToken = data.clientRequestToken; + } if (data.createdAt !== undefined && data.createdAt !== null) { contents.createdAt = new Date(Math.round(data.createdAt * 1000)); } - if (data.lastDeploymentJob !== undefined && data.lastDeploymentJob !== null) { - contents.lastDeploymentJob = data.lastDeploymentJob; - } - if (data.lastDeploymentStatus !== undefined && data.lastDeploymentStatus !== null) { - contents.lastDeploymentStatus = data.lastDeploymentStatus; + if (data.failureCode !== undefined && data.failureCode !== null) { + contents.failureCode = data.failureCode; } - if (data.lastDeploymentTime !== undefined && data.lastDeploymentTime !== null) { - contents.lastDeploymentTime = new Date(Math.round(data.lastDeploymentTime * 1000)); + if (data.failureReason !== undefined && data.failureReason !== null) { + contents.failureReason = data.failureReason; } - if (data.name !== undefined && data.name !== null) { - contents.name = data.name; + if (data.finishedWorldsSummary !== undefined && data.finishedWorldsSummary !== null) { + contents.finishedWorldsSummary = deserializeAws_restJson1FinishedWorldsSummary(data.finishedWorldsSummary, context); } - if (data.robots !== undefined && data.robots !== null) { - contents.robots = deserializeAws_restJson1Robots(data.robots, context); + if (data.status !== undefined && data.status !== null) { + contents.status = data.status; } if (data.tags !== undefined && data.tags !== null) { contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } + if (data.template !== undefined && data.template !== null) { + contents.template = data.template; + } + if (data.worldCount !== undefined && data.worldCount !== null) { + contents.worldCount = deserializeAws_restJson1WorldCount(data.worldCount, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeFleetCommandError = async ( +const deserializeAws_restJson1DescribeWorldGenerationJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3150,64 +5255,48 @@ const deserializeAws_restJson1DescribeFleetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeRobotCommand = async ( +export const deserializeAws_restJson1DescribeWorldTemplateCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeRobotCommandError(output, context); + return deserializeAws_restJson1DescribeWorldTemplateCommandError(output, context); } - const contents: DescribeRobotCommandOutput = { + const contents: DescribeWorldTemplateCommandOutput = { $metadata: deserializeMetadata(output), - architecture: undefined, arn: undefined, + clientRequestToken: undefined, createdAt: undefined, - fleetArn: undefined, - greengrassGroupId: undefined, - lastDeploymentJob: undefined, - lastDeploymentTime: undefined, + lastUpdatedAt: undefined, name: undefined, - status: undefined, tags: undefined, }; const data: any = await parseBody(output.body, context); - if (data.architecture !== undefined && data.architecture !== null) { - contents.architecture = data.architecture; - } if (data.arn !== undefined && data.arn !== null) { contents.arn = data.arn; } + if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { + contents.clientRequestToken = data.clientRequestToken; + } if (data.createdAt !== undefined && data.createdAt !== null) { contents.createdAt = new Date(Math.round(data.createdAt * 1000)); } - if (data.fleetArn !== undefined && data.fleetArn !== null) { - contents.fleetArn = data.fleetArn; - } - if (data.greengrassGroupId !== undefined && data.greengrassGroupId !== null) { - contents.greengrassGroupId = data.greengrassGroupId; - } - if (data.lastDeploymentJob !== undefined && data.lastDeploymentJob !== null) { - contents.lastDeploymentJob = data.lastDeploymentJob; - } - if (data.lastDeploymentTime !== undefined && data.lastDeploymentTime !== null) { - contents.lastDeploymentTime = new Date(Math.round(data.lastDeploymentTime * 1000)); + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); } if (data.name !== undefined && data.name !== null) { contents.name = data.name; } - if (data.status !== undefined && data.status !== null) { - contents.status = data.status; - } if (data.tags !== undefined && data.tags !== null) { contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeRobotCommandError = async ( +const deserializeAws_restJson1DescribeWorldTemplateCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3265,56 +5354,28 @@ const deserializeAws_restJson1DescribeRobotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeRobotApplicationCommand = async ( +export const deserializeAws_restJson1GetWorldTemplateBodyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeRobotApplicationCommandError(output, context); + return deserializeAws_restJson1GetWorldTemplateBodyCommandError(output, context); } - const contents: DescribeRobotApplicationCommandOutput = { + const contents: GetWorldTemplateBodyCommandOutput = { $metadata: deserializeMetadata(output), - arn: undefined, - lastUpdatedAt: undefined, - name: undefined, - revisionId: undefined, - robotSoftwareSuite: undefined, - sources: undefined, - tags: undefined, - version: undefined, + templateBody: undefined, }; const data: any = await parseBody(output.body, context); - if (data.arn !== undefined && data.arn !== null) { - contents.arn = data.arn; - } - if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { - contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); - } - if (data.name !== undefined && data.name !== null) { - contents.name = data.name; - } - if (data.revisionId !== undefined && data.revisionId !== null) { - contents.revisionId = data.revisionId; - } - if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { - contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); - } - if (data.sources !== undefined && data.sources !== null) { - contents.sources = deserializeAws_restJson1Sources(data.sources, context); - } - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); - } - if (data.version !== undefined && data.version !== null) { - contents.version = data.version; + if (data.templateBody !== undefined && data.templateBody !== null) { + contents.templateBody = data.templateBody; } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeRobotApplicationCommandError = async ( +const deserializeAws_restJson1GetWorldTemplateBodyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3372,67 +5433,32 @@ const deserializeAws_restJson1DescribeRobotApplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeSimulationApplicationCommand = async ( +export const deserializeAws_restJson1ListDeploymentJobsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeSimulationApplicationCommandError(output, context); + return deserializeAws_restJson1ListDeploymentJobsCommandError(output, context); } - const contents: DescribeSimulationApplicationCommandOutput = { + const contents: ListDeploymentJobsCommandOutput = { $metadata: deserializeMetadata(output), - arn: undefined, - lastUpdatedAt: undefined, - name: undefined, - renderingEngine: undefined, - revisionId: undefined, - robotSoftwareSuite: undefined, - simulationSoftwareSuite: undefined, - sources: undefined, - tags: undefined, - version: undefined, + deploymentJobs: undefined, + nextToken: undefined, }; const data: any = await parseBody(output.body, context); - if (data.arn !== undefined && data.arn !== null) { - contents.arn = data.arn; - } - if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { - contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); - } - if (data.name !== undefined && data.name !== null) { - contents.name = data.name; - } - if (data.renderingEngine !== undefined && data.renderingEngine !== null) { - contents.renderingEngine = deserializeAws_restJson1RenderingEngine(data.renderingEngine, context); - } - if (data.revisionId !== undefined && data.revisionId !== null) { - contents.revisionId = data.revisionId; - } - if (data.robotSoftwareSuite !== undefined && data.robotSoftwareSuite !== null) { - contents.robotSoftwareSuite = deserializeAws_restJson1RobotSoftwareSuite(data.robotSoftwareSuite, context); - } - if (data.simulationSoftwareSuite !== undefined && data.simulationSoftwareSuite !== null) { - contents.simulationSoftwareSuite = deserializeAws_restJson1SimulationSoftwareSuite( - data.simulationSoftwareSuite, - context - ); - } - if (data.sources !== undefined && data.sources !== null) { - contents.sources = deserializeAws_restJson1Sources(data.sources, context); - } - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + if (data.deploymentJobs !== undefined && data.deploymentJobs !== null) { + contents.deploymentJobs = deserializeAws_restJson1DeploymentJobs(data.deploymentJobs, context); } - if (data.version !== undefined && data.version !== null) { - contents.version = data.version; + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeSimulationApplicationCommandError = async ( +const deserializeAws_restJson1ListDeploymentJobsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3490,111 +5516,32 @@ const deserializeAws_restJson1DescribeSimulationApplicationCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeSimulationJobCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeSimulationJobCommandError(output, context); - } - const contents: DescribeSimulationJobCommandOutput = { - $metadata: deserializeMetadata(output), - arn: undefined, - clientRequestToken: undefined, - compute: undefined, - dataSources: undefined, - failureBehavior: undefined, - failureCode: undefined, - failureReason: undefined, - iamRole: undefined, - lastStartedAt: undefined, - lastUpdatedAt: undefined, - loggingConfig: undefined, - maxJobDurationInSeconds: undefined, - name: undefined, - networkInterface: undefined, - outputLocation: undefined, - robotApplications: undefined, - simulationApplications: undefined, - simulationTimeMillis: undefined, - status: undefined, - tags: undefined, - vpcConfig: undefined, - }; - const data: any = await parseBody(output.body, context); - if (data.arn !== undefined && data.arn !== null) { - contents.arn = data.arn; - } - if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { - contents.clientRequestToken = data.clientRequestToken; - } - if (data.compute !== undefined && data.compute !== null) { - contents.compute = deserializeAws_restJson1ComputeResponse(data.compute, context); - } - if (data.dataSources !== undefined && data.dataSources !== null) { - contents.dataSources = deserializeAws_restJson1DataSources(data.dataSources, context); - } - if (data.failureBehavior !== undefined && data.failureBehavior !== null) { - contents.failureBehavior = data.failureBehavior; - } - if (data.failureCode !== undefined && data.failureCode !== null) { - contents.failureCode = data.failureCode; - } - if (data.failureReason !== undefined && data.failureReason !== null) { - contents.failureReason = data.failureReason; - } - if (data.iamRole !== undefined && data.iamRole !== null) { - contents.iamRole = data.iamRole; - } - if (data.lastStartedAt !== undefined && data.lastStartedAt !== null) { - contents.lastStartedAt = new Date(Math.round(data.lastStartedAt * 1000)); - } - if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { - contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); - } - if (data.loggingConfig !== undefined && data.loggingConfig !== null) { - contents.loggingConfig = deserializeAws_restJson1LoggingConfig(data.loggingConfig, context); - } - if (data.maxJobDurationInSeconds !== undefined && data.maxJobDurationInSeconds !== null) { - contents.maxJobDurationInSeconds = data.maxJobDurationInSeconds; - } - if (data.name !== undefined && data.name !== null) { - contents.name = data.name; - } - if (data.networkInterface !== undefined && data.networkInterface !== null) { - contents.networkInterface = deserializeAws_restJson1NetworkInterface(data.networkInterface, context); - } - if (data.outputLocation !== undefined && data.outputLocation !== null) { - contents.outputLocation = deserializeAws_restJson1OutputLocation(data.outputLocation, context); - } - if (data.robotApplications !== undefined && data.robotApplications !== null) { - contents.robotApplications = deserializeAws_restJson1RobotApplicationConfigs(data.robotApplications, context); - } - if (data.simulationApplications !== undefined && data.simulationApplications !== null) { - contents.simulationApplications = deserializeAws_restJson1SimulationApplicationConfigs( - data.simulationApplications, - context - ); - } - if (data.simulationTimeMillis !== undefined && data.simulationTimeMillis !== null) { - contents.simulationTimeMillis = data.simulationTimeMillis; - } - if (data.status !== undefined && data.status !== null) { - contents.status = data.status; +export const deserializeAws_restJson1ListFleetsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListFleetsCommandError(output, context); } - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + const contents: ListFleetsCommandOutput = { + $metadata: deserializeMetadata(output), + fleetDetails: undefined, + nextToken: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.fleetDetails !== undefined && data.fleetDetails !== null) { + contents.fleetDetails = deserializeAws_restJson1Fleets(data.fleetDetails, context); } - if (data.vpcConfig !== undefined && data.vpcConfig !== null) { - contents.vpcConfig = deserializeAws_restJson1VPCConfigResponse(data.vpcConfig, context); + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeSimulationJobCommandError = async ( +const deserializeAws_restJson1ListFleetsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3652,72 +5599,35 @@ const deserializeAws_restJson1DescribeSimulationJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeSimulationJobBatchCommand = async ( +export const deserializeAws_restJson1ListRobotApplicationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeSimulationJobBatchCommandError(output, context); + return deserializeAws_restJson1ListRobotApplicationsCommandError(output, context); } - const contents: DescribeSimulationJobBatchCommandOutput = { + const contents: ListRobotApplicationsCommandOutput = { $metadata: deserializeMetadata(output), - arn: undefined, - batchPolicy: undefined, - clientRequestToken: undefined, - createdAt: undefined, - createdRequests: undefined, - failedRequests: undefined, - failureCode: undefined, - failureReason: undefined, - lastUpdatedAt: undefined, - pendingRequests: undefined, - status: undefined, - tags: undefined, + nextToken: undefined, + robotApplicationSummaries: undefined, }; const data: any = await parseBody(output.body, context); - if (data.arn !== undefined && data.arn !== null) { - contents.arn = data.arn; - } - if (data.batchPolicy !== undefined && data.batchPolicy !== null) { - contents.batchPolicy = deserializeAws_restJson1BatchPolicy(data.batchPolicy, context); - } - if (data.clientRequestToken !== undefined && data.clientRequestToken !== null) { - contents.clientRequestToken = data.clientRequestToken; - } - if (data.createdAt !== undefined && data.createdAt !== null) { - contents.createdAt = new Date(Math.round(data.createdAt * 1000)); - } - if (data.createdRequests !== undefined && data.createdRequests !== null) { - contents.createdRequests = deserializeAws_restJson1SimulationJobSummaries(data.createdRequests, context); - } - if (data.failedRequests !== undefined && data.failedRequests !== null) { - contents.failedRequests = deserializeAws_restJson1FailedCreateSimulationJobRequests(data.failedRequests, context); - } - if (data.failureCode !== undefined && data.failureCode !== null) { - contents.failureCode = data.failureCode; - } - if (data.failureReason !== undefined && data.failureReason !== null) { - contents.failureReason = data.failureReason; - } - if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { - contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); - } - if (data.pendingRequests !== undefined && data.pendingRequests !== null) { - contents.pendingRequests = deserializeAws_restJson1CreateSimulationJobRequests(data.pendingRequests, context); - } - if (data.status !== undefined && data.status !== null) { - contents.status = data.status; + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; } - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + if (data.robotApplicationSummaries !== undefined && data.robotApplicationSummaries !== null) { + contents.robotApplicationSummaries = deserializeAws_restJson1RobotApplicationSummaries( + data.robotApplicationSummaries, + context + ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeSimulationJobBatchCommandError = async ( +const deserializeAws_restJson1ListRobotApplicationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3742,10 +5652,10 @@ const deserializeAws_restJson1DescribeSimulationJobBatchCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.robomaker#ResourceNotFoundException": + case "ThrottlingException": + case "com.amazonaws.robomaker#ThrottlingException": response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -3767,32 +5677,32 @@ const deserializeAws_restJson1DescribeSimulationJobBatchCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListDeploymentJobsCommand = async ( +export const deserializeAws_restJson1ListRobotsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListDeploymentJobsCommandError(output, context); + return deserializeAws_restJson1ListRobotsCommandError(output, context); } - const contents: ListDeploymentJobsCommandOutput = { + const contents: ListRobotsCommandOutput = { $metadata: deserializeMetadata(output), - deploymentJobs: undefined, nextToken: undefined, + robots: undefined, }; const data: any = await parseBody(output.body, context); - if (data.deploymentJobs !== undefined && data.deploymentJobs !== null) { - contents.deploymentJobs = deserializeAws_restJson1DeploymentJobs(data.deploymentJobs, context); - } if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = data.nextToken; } + if (data.robots !== undefined && data.robots !== null) { + contents.robots = deserializeAws_restJson1Robots(data.robots, context); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListDeploymentJobsCommandError = async ( +const deserializeAws_restJson1ListRobotsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3850,32 +5760,35 @@ const deserializeAws_restJson1ListDeploymentJobsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListFleetsCommand = async ( +export const deserializeAws_restJson1ListSimulationApplicationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListFleetsCommandError(output, context); + return deserializeAws_restJson1ListSimulationApplicationsCommandError(output, context); } - const contents: ListFleetsCommandOutput = { + const contents: ListSimulationApplicationsCommandOutput = { $metadata: deserializeMetadata(output), - fleetDetails: undefined, nextToken: undefined, + simulationApplicationSummaries: undefined, }; const data: any = await parseBody(output.body, context); - if (data.fleetDetails !== undefined && data.fleetDetails !== null) { - contents.fleetDetails = deserializeAws_restJson1Fleets(data.fleetDetails, context); - } if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = data.nextToken; } + if (data.simulationApplicationSummaries !== undefined && data.simulationApplicationSummaries !== null) { + contents.simulationApplicationSummaries = deserializeAws_restJson1SimulationApplicationSummaries( + data.simulationApplicationSummaries, + context + ); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListFleetsCommandError = async ( +const deserializeAws_restJson1ListSimulationApplicationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3900,18 +5813,80 @@ const deserializeAws_restJson1ListFleetsCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.robomaker#ResourceNotFoundException": + case "ThrottlingException": + case "com.amazonaws.robomaker#ThrottlingException": response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.robomaker#ThrottlingException": + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; response = { - ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + ...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_restJson1ListSimulationJobBatchesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListSimulationJobBatchesCommandError(output, context); + } + const contents: ListSimulationJobBatchesCommandOutput = { + $metadata: deserializeMetadata(output), + nextToken: undefined, + simulationJobBatchSummaries: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + if (data.simulationJobBatchSummaries !== undefined && data.simulationJobBatchSummaries !== null) { + contents.simulationJobBatchSummaries = deserializeAws_restJson1SimulationJobBatchSummaries( + data.simulationJobBatchSummaries, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListSimulationJobBatchesCommandError = 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.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -3933,35 +5908,35 @@ const deserializeAws_restJson1ListFleetsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListRobotApplicationsCommand = async ( +export const deserializeAws_restJson1ListSimulationJobsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListRobotApplicationsCommandError(output, context); + return deserializeAws_restJson1ListSimulationJobsCommandError(output, context); } - const contents: ListRobotApplicationsCommandOutput = { + const contents: ListSimulationJobsCommandOutput = { $metadata: deserializeMetadata(output), nextToken: undefined, - robotApplicationSummaries: undefined, + simulationJobSummaries: undefined, }; const data: any = await parseBody(output.body, context); if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = data.nextToken; } - if (data.robotApplicationSummaries !== undefined && data.robotApplicationSummaries !== null) { - contents.robotApplicationSummaries = deserializeAws_restJson1RobotApplicationSummaries( - data.robotApplicationSummaries, + if (data.simulationJobSummaries !== undefined && data.simulationJobSummaries !== null) { + contents.simulationJobSummaries = deserializeAws_restJson1SimulationJobSummaries( + data.simulationJobSummaries, context ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListRobotApplicationsCommandError = async ( +const deserializeAws_restJson1ListSimulationJobsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -4011,32 +5986,28 @@ const deserializeAws_restJson1ListRobotApplicationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListRobotsCommand = async ( +export const deserializeAws_restJson1ListTagsForResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListRobotsCommandError(output, context); + return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); } - const contents: ListRobotsCommandOutput = { + const contents: ListTagsForResourceCommandOutput = { $metadata: deserializeMetadata(output), - nextToken: undefined, - robots: undefined, + tags: undefined, }; const data: any = await parseBody(output.body, context); - if (data.nextToken !== undefined && data.nextToken !== null) { - contents.nextToken = data.nextToken; - } - if (data.robots !== undefined && data.robots !== null) { - contents.robots = deserializeAws_restJson1Robots(data.robots, context); + if (data.tags !== undefined && data.tags !== null) { + contents.tags = deserializeAws_restJson1TagMap(data.tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListRobotsCommandError = async ( +const deserializeAws_restJson1ListTagsForResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -4094,35 +6065,35 @@ const deserializeAws_restJson1ListRobotsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListSimulationApplicationsCommand = async ( +export const deserializeAws_restJson1ListWorldExportJobsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListSimulationApplicationsCommandError(output, context); + return deserializeAws_restJson1ListWorldExportJobsCommandError(output, context); } - const contents: ListSimulationApplicationsCommandOutput = { + const contents: ListWorldExportJobsCommandOutput = { $metadata: deserializeMetadata(output), nextToken: undefined, - simulationApplicationSummaries: undefined, + worldExportJobSummaries: undefined, }; const data: any = await parseBody(output.body, context); if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = data.nextToken; } - if (data.simulationApplicationSummaries !== undefined && data.simulationApplicationSummaries !== null) { - contents.simulationApplicationSummaries = deserializeAws_restJson1SimulationApplicationSummaries( - data.simulationApplicationSummaries, + if (data.worldExportJobSummaries !== undefined && data.worldExportJobSummaries !== null) { + contents.worldExportJobSummaries = deserializeAws_restJson1WorldExportJobSummaries( + data.worldExportJobSummaries, context ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSimulationApplicationsCommandError = async ( +const deserializeAws_restJson1ListWorldExportJobsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -4172,35 +6143,35 @@ const deserializeAws_restJson1ListSimulationApplicationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListSimulationJobBatchesCommand = async ( +export const deserializeAws_restJson1ListWorldGenerationJobsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListSimulationJobBatchesCommandError(output, context); + return deserializeAws_restJson1ListWorldGenerationJobsCommandError(output, context); } - const contents: ListSimulationJobBatchesCommandOutput = { + const contents: ListWorldGenerationJobsCommandOutput = { $metadata: deserializeMetadata(output), nextToken: undefined, - simulationJobBatchSummaries: undefined, + worldGenerationJobSummaries: undefined, }; const data: any = await parseBody(output.body, context); if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = data.nextToken; } - if (data.simulationJobBatchSummaries !== undefined && data.simulationJobBatchSummaries !== null) { - contents.simulationJobBatchSummaries = deserializeAws_restJson1SimulationJobBatchSummaries( - data.simulationJobBatchSummaries, + if (data.worldGenerationJobSummaries !== undefined && data.worldGenerationJobSummaries !== null) { + contents.worldGenerationJobSummaries = deserializeAws_restJson1WorldGenerationJobSummaries( + data.worldGenerationJobSummaries, context ); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSimulationJobBatchesCommandError = async ( +const deserializeAws_restJson1ListWorldGenerationJobsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -4225,6 +6196,14 @@ const deserializeAws_restJson1ListSimulationJobBatchesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ThrottlingException": + case "com.amazonaws.robomaker#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -4242,35 +6221,32 @@ const deserializeAws_restJson1ListSimulationJobBatchesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListSimulationJobsCommand = async ( +export const deserializeAws_restJson1ListWorldsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListSimulationJobsCommandError(output, context); + return deserializeAws_restJson1ListWorldsCommandError(output, context); } - const contents: ListSimulationJobsCommandOutput = { + const contents: ListWorldsCommandOutput = { $metadata: deserializeMetadata(output), nextToken: undefined, - simulationJobSummaries: undefined, + worldSummaries: undefined, }; const data: any = await parseBody(output.body, context); if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = data.nextToken; } - if (data.simulationJobSummaries !== undefined && data.simulationJobSummaries !== null) { - contents.simulationJobSummaries = deserializeAws_restJson1SimulationJobSummaries( - data.simulationJobSummaries, - context - ); + if (data.worldSummaries !== undefined && data.worldSummaries !== null) { + contents.worldSummaries = deserializeAws_restJson1WorldSummaries(data.worldSummaries, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListSimulationJobsCommandError = async ( +const deserializeAws_restJson1ListWorldsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -4320,28 +6296,32 @@ const deserializeAws_restJson1ListSimulationJobsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListTagsForResourceCommand = async ( +export const deserializeAws_restJson1ListWorldTemplatesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); + return deserializeAws_restJson1ListWorldTemplatesCommandError(output, context); } - const contents: ListTagsForResourceCommandOutput = { + const contents: ListWorldTemplatesCommandOutput = { $metadata: deserializeMetadata(output), - tags: undefined, + nextToken: undefined, + templateSummaries: undefined, }; const data: any = await parseBody(output.body, context); - if (data.tags !== undefined && data.tags !== null) { - contents.tags = deserializeAws_restJson1TagMap(data.tags, context); + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = data.nextToken; + } + if (data.templateSummaries !== undefined && data.templateSummaries !== null) { + contents.templateSummaries = deserializeAws_restJson1TemplateSummaries(data.templateSummaries, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListTagsForResourceCommandError = async ( +const deserializeAws_restJson1ListWorldTemplatesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -4366,14 +6346,6 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.robomaker#ResourceNotFoundException": - response = { - ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.robomaker#ThrottlingException": response = { @@ -5217,6 +7189,97 @@ const deserializeAws_restJson1UpdateSimulationApplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1UpdateWorldTemplateCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateWorldTemplateCommandError(output, context); + } + const contents: UpdateWorldTemplateCommandOutput = { + $metadata: deserializeMetadata(output), + arn: undefined, + createdAt: undefined, + lastUpdatedAt: undefined, + name: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.arn !== undefined && data.arn !== null) { + contents.arn = data.arn; + } + if (data.createdAt !== undefined && data.createdAt !== null) { + contents.createdAt = new Date(Math.round(data.createdAt * 1000)); + } + if (data.lastUpdatedAt !== undefined && data.lastUpdatedAt !== null) { + contents.lastUpdatedAt = new Date(Math.round(data.lastUpdatedAt * 1000)); + } + if (data.name !== undefined && data.name !== null) { + contents.name = data.name; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateWorldTemplateCommandError = 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.robomaker#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.robomaker#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.robomaker#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.robomaker#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)); +}; + const deserializeAws_restJson1ConcurrentDeploymentExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -5587,6 +7650,9 @@ const serializeAws_restJson1SimulationApplicationConfig = ( ...(input.launchConfig !== undefined && { launchConfig: serializeAws_restJson1LaunchConfig(input.launchConfig, context), }), + ...(input.worldConfigs !== undefined && { + worldConfigs: serializeAws_restJson1WorldConfigs(input.worldConfigs, context), + }), }; }; @@ -5660,6 +7726,13 @@ const serializeAws_restJson1TagMap = (input: { [key: string]: string }, context: ); }; +const serializeAws_restJson1TemplateLocation = (input: TemplateLocation, context: __SerdeContext): any => { + return { + ...(input.s3Bucket !== undefined && { s3Bucket: input.s3Bucket }), + ...(input.s3Key !== undefined && { s3Key: input.s3Key }), + }; +}; + const serializeAws_restJson1VPCConfig = (input: VPCConfig, context: __SerdeContext): any => { return { ...(input.assignPublicIp !== undefined && { assignPublicIp: input.assignPublicIp }), @@ -5670,6 +7743,25 @@ const serializeAws_restJson1VPCConfig = (input: VPCConfig, context: __SerdeConte }; }; +const serializeAws_restJson1WorldConfig = (input: WorldConfig, context: __SerdeContext): any => { + return { + ...(input.world !== undefined && { world: input.world }), + }; +}; + +const serializeAws_restJson1WorldConfigs = (input: WorldConfig[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1WorldConfig(entry, context)); +}; + +const serializeAws_restJson1WorldCount = (input: WorldCount, context: __SerdeContext): any => { + return { + ...(input.floorplanCount !== undefined && { floorplanCount: input.floorplanCount }), + ...(input.interiorCountPerFloorplan !== undefined && { + interiorCountPerFloorplan: input.interiorCountPerFloorplan, + }), + }; +}; + const deserializeAws_restJson1Arns = (output: any, context: __SerdeContext): string[] => { return (output || []).map((entry: any) => entry); }; @@ -5871,6 +7963,34 @@ const deserializeAws_restJson1FailedCreateSimulationJobRequests = ( return (output || []).map((entry: any) => deserializeAws_restJson1FailedCreateSimulationJobRequest(entry, context)); }; +const deserializeAws_restJson1FailureSummary = (output: any, context: __SerdeContext): FailureSummary => { + return { + failures: + output.failures !== undefined && output.failures !== null + ? deserializeAws_restJson1WorldFailures(output.failures, context) + : undefined, + totalFailureCount: + output.totalFailureCount !== undefined && output.totalFailureCount !== null + ? output.totalFailureCount + : undefined, + } as any; +}; + +const deserializeAws_restJson1FinishedWorldsSummary = (output: any, context: __SerdeContext): FinishedWorldsSummary => { + return { + failureSummary: + output.failureSummary !== undefined && output.failureSummary !== null + ? deserializeAws_restJson1FailureSummary(output.failureSummary, context) + : undefined, + finishedCount: + output.finishedCount !== undefined && output.finishedCount !== null ? output.finishedCount : undefined, + succeededWorlds: + output.succeededWorlds !== undefined && output.succeededWorlds !== null + ? deserializeAws_restJson1Arns(output.succeededWorlds, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1Fleet = (output: any, context: __SerdeContext): Fleet => { return { arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, @@ -6145,6 +8265,10 @@ const deserializeAws_restJson1SimulationApplicationConfig = ( output.launchConfig !== undefined && output.launchConfig !== null ? deserializeAws_restJson1LaunchConfig(output.launchConfig, context) : undefined, + worldConfigs: + output.worldConfigs !== undefined && output.worldConfigs !== null + ? deserializeAws_restJson1WorldConfigs(output.worldConfigs, context) + : undefined, } as any; }; @@ -6416,6 +8540,25 @@ const deserializeAws_restJson1TagMap = (output: any, context: __SerdeContext): { ); }; +const deserializeAws_restJson1TemplateSummaries = (output: any, context: __SerdeContext): TemplateSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1TemplateSummary(entry, context)); +}; + +const deserializeAws_restJson1TemplateSummary = (output: any, context: __SerdeContext): TemplateSummary => { + return { + arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + createdAt: + output.createdAt !== undefined && output.createdAt !== null + ? new Date(Math.round(output.createdAt * 1000)) + : undefined, + lastUpdatedAt: + output.lastUpdatedAt !== undefined && output.lastUpdatedAt !== null + ? new Date(Math.round(output.lastUpdatedAt * 1000)) + : undefined, + name: output.name !== undefined && output.name !== null ? output.name : undefined, + } as any; +}; + const deserializeAws_restJson1VPCConfig = (output: any, context: __SerdeContext): VPCConfig => { return { assignPublicIp: @@ -6447,6 +8590,113 @@ const deserializeAws_restJson1VPCConfigResponse = (output: any, context: __Serde } as any; }; +const deserializeAws_restJson1WorldConfig = (output: any, context: __SerdeContext): WorldConfig => { + return { + world: output.world !== undefined && output.world !== null ? output.world : undefined, + } as any; +}; + +const deserializeAws_restJson1WorldConfigs = (output: any, context: __SerdeContext): WorldConfig[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1WorldConfig(entry, context)); +}; + +const deserializeAws_restJson1WorldCount = (output: any, context: __SerdeContext): WorldCount => { + return { + floorplanCount: + output.floorplanCount !== undefined && output.floorplanCount !== null ? output.floorplanCount : undefined, + interiorCountPerFloorplan: + output.interiorCountPerFloorplan !== undefined && output.interiorCountPerFloorplan !== null + ? output.interiorCountPerFloorplan + : undefined, + } as any; +}; + +const deserializeAws_restJson1WorldExportJobSummaries = ( + output: any, + context: __SerdeContext +): WorldExportJobSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1WorldExportJobSummary(entry, context)); +}; + +const deserializeAws_restJson1WorldExportJobSummary = (output: any, context: __SerdeContext): WorldExportJobSummary => { + return { + arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + createdAt: + output.createdAt !== undefined && output.createdAt !== null + ? new Date(Math.round(output.createdAt * 1000)) + : undefined, + status: output.status !== undefined && output.status !== null ? output.status : undefined, + worlds: + output.worlds !== undefined && output.worlds !== null + ? deserializeAws_restJson1Arns(output.worlds, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1WorldFailure = (output: any, context: __SerdeContext): WorldFailure => { + return { + failureCode: output.failureCode !== undefined && output.failureCode !== null ? output.failureCode : undefined, + failureCount: output.failureCount !== undefined && output.failureCount !== null ? output.failureCount : undefined, + sampleFailureReason: + output.sampleFailureReason !== undefined && output.sampleFailureReason !== null + ? output.sampleFailureReason + : undefined, + } as any; +}; + +const deserializeAws_restJson1WorldFailures = (output: any, context: __SerdeContext): WorldFailure[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1WorldFailure(entry, context)); +}; + +const deserializeAws_restJson1WorldGenerationJobSummaries = ( + output: any, + context: __SerdeContext +): WorldGenerationJobSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1WorldGenerationJobSummary(entry, context)); +}; + +const deserializeAws_restJson1WorldGenerationJobSummary = ( + output: any, + context: __SerdeContext +): WorldGenerationJobSummary => { + return { + arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + createdAt: + output.createdAt !== undefined && output.createdAt !== null + ? new Date(Math.round(output.createdAt * 1000)) + : undefined, + failedWorldCount: + output.failedWorldCount !== undefined && output.failedWorldCount !== null ? output.failedWorldCount : undefined, + status: output.status !== undefined && output.status !== null ? output.status : undefined, + succeededWorldCount: + output.succeededWorldCount !== undefined && output.succeededWorldCount !== null + ? output.succeededWorldCount + : undefined, + template: output.template !== undefined && output.template !== null ? output.template : undefined, + worldCount: + output.worldCount !== undefined && output.worldCount !== null + ? deserializeAws_restJson1WorldCount(output.worldCount, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1WorldSummaries = (output: any, context: __SerdeContext): WorldSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1WorldSummary(entry, context)); +}; + +const deserializeAws_restJson1WorldSummary = (output: any, context: __SerdeContext): WorldSummary => { + return { + arn: output.arn !== undefined && output.arn !== null ? output.arn : undefined, + createdAt: + output.createdAt !== undefined && output.createdAt !== null + ? new Date(Math.round(output.createdAt * 1000)) + : undefined, + generationJob: + output.generationJob !== undefined && output.generationJob !== null ? output.generationJob : undefined, + template: output.template !== undefined && output.template !== null ? output.template : undefined, + } as any; +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, httpHeaders: output.headers, diff --git a/clients/client-route-53-domains/models/models_0.ts b/clients/client-route-53-domains/models/models_0.ts index 41602e12492f..c8d4ad4ef01c 100644 --- a/clients/client-route-53-domains/models/models_0.ts +++ b/clients/client-route-53-domains/models/models_0.ts @@ -127,6 +127,16 @@ export enum OperationType { *

                          Information for one billing record.

                          */ export interface BillingRecord { + /** + *

                          The operation that you were charged for.

                          + */ + Operation?: OperationType | string; + + /** + *

                          The ID of the invoice that is associated with the billing record.

                          + */ + InvoiceId?: string; + /** *

                          The name of the domain that the billing record applies to. If the domain name contains characters * other than a-z, 0-9, and - (hyphen), such as an internationalized domain name, then this value is in Punycode. @@ -136,11 +146,6 @@ export interface BillingRecord { */ DomainName?: string; - /** - *

                          The operation that you were charged for.

                          - */ - Operation?: OperationType | string; - /** *

                          The price that you were charged for the operation, in US dollars.

                          *

                          Example value: 12.0

                          @@ -151,11 +156,6 @@ export interface BillingRecord { *

                          The date that the operation was billed, in Unix format.

                          */ BillDate?: Date; - - /** - *

                          The ID of the invoice that is associated with the billing record.

                          - */ - InvoiceId?: string; } export namespace BillingRecord { @@ -202,11 +202,6 @@ export namespace CancelDomainTransferToAnotherAwsAccountResponse { *

                          The CheckDomainAvailability request contains the following elements.

                          */ export interface CheckDomainAvailabilityRequest { - /** - *

                          Reserved for future use.

                          - */ - IdnLangCode?: string; - /** *

                          The name of the domain that you want to get availability for. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. * For a list of supported TLDs, see @@ -235,6 +230,11 @@ export interface CheckDomainAvailabilityRequest { *

                          */ DomainName: string | undefined; + + /** + *

                          Reserved for future use.

                          + */ + IdnLangCode?: string; } export namespace CheckDomainAvailabilityRequest { @@ -336,12 +336,6 @@ export namespace UnsupportedTLD { *

                          The CheckDomainTransferability request contains the following elements.

                          */ export interface CheckDomainTransferabilityRequest { - /** - *

                          If the registrar for the top-level domain (TLD) requires an authorization code to transfer the domain, - * the code that you got from the current registrar for the domain.

                          - */ - AuthCode?: string; - /** *

                          The name of the domain that you want to transfer to Route 53. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. * For a list of supported TLDs, see @@ -364,6 +358,12 @@ export interface CheckDomainTransferabilityRequest { *

                        */ DomainName: string | undefined; + + /** + *

                        If the registrar for the top-level domain (TLD) requires an authorization code to transfer the domain, + * the code that you got from the current registrar for the domain.

                        + */ + AuthCode?: string; } export namespace CheckDomainTransferabilityRequest { @@ -1486,36 +1486,41 @@ export namespace ExtraParam { */ export interface ContactDetail { /** - *

                        The city of the contact's address.

                        + *

                        Fax number of the contact.

                        + *

                        Constraints: Phone number must be specified in the format "+[country dialing code].[number including any area code]". + * For example, a US phone number might appear as "+1.1234567890".

                        */ - City?: string; + Fax?: string; /** - *

                        First line of the contact's address.

                        + *

                        First name of contact.

                        */ - AddressLine1?: string; + FirstName?: string; /** - *

                        The phone number of the contact.

                        - *

                        Constraints: Phone number must be specified in the format "+[country dialing code].[number including any area code>]". - * For example, a US phone number might appear as "+1.1234567890".

                        + *

                        Name of the organization for contact types other than PERSON.

                        */ - PhoneNumber?: string; + OrganizationName?: string; /** - *

                        Second line of contact's address, if any.

                        + *

                        Email address of the contact.

                        */ - AddressLine2?: string; + Email?: string; /** - *

                        The zip or postal code of the contact's address.

                        + *

                        First line of the contact's address.

                        */ - ZipCode?: string; + AddressLine1?: string; /** - *

                        Last name of contact.

                        + *

                        Second line of contact's address, if any.

                        */ - LastName?: string; + AddressLine2?: string; + + /** + *

                        Code for the country of the contact's address.

                        + */ + CountryCode?: CountryCode | string; /** *

                        The state or province of the contact's city.

                        @@ -1523,14 +1528,16 @@ export interface ContactDetail { State?: string; /** - *

                        Code for the country of the contact's address.

                        + *

                        The phone number of the contact.

                        + *

                        Constraints: Phone number must be specified in the format "+[country dialing code].[number including any area code>]". + * For example, a US phone number might appear as "+1.1234567890".

                        */ - CountryCode?: CountryCode | string; + PhoneNumber?: string; /** - *

                        Name of the organization for contact types other than PERSON.

                        + *

                        Last name of contact.

                        */ - OrganizationName?: string; + LastName?: string; /** *

                        A list of name-value pairs for parameters required by certain top-level domains.

                        @@ -1538,21 +1545,14 @@ export interface ContactDetail { ExtraParams?: ExtraParam[]; /** - *

                        Fax number of the contact.

                        - *

                        Constraints: Phone number must be specified in the format "+[country dialing code].[number including any area code]". - * For example, a US phone number might appear as "+1.1234567890".

                        - */ - Fax?: string; - - /** - *

                        First name of contact.

                        + *

                        The city of the contact's address.

                        */ - FirstName?: string; + City?: string; /** - *

                        Email address of the contact.

                        + *

                        The zip or postal code of the contact's address.

                        */ - Email?: string; + ZipCode?: string; /** *

                        Indicates whether the contact is a person, company, association, or public organization. Note the following:

                        @@ -1778,14 +1778,14 @@ export interface DomainSummary { Expiry?: Date; /** - *

                        The name of the domain that the summary information applies to.

                        + *

                        Indicates whether the domain is automatically renewed upon expiration.

                        */ - DomainName: string | undefined; + AutoRenew?: boolean; /** - *

                        Indicates whether the domain is automatically renewed upon expiration.

                        + *

                        The name of the domain that the summary information applies to.

                        */ - AutoRenew?: boolean; + DomainName: string | undefined; /** *

                        Indicates whether a domain is locked from unauthorized transfer to another party.

                        @@ -1949,74 +1949,82 @@ export namespace Nameserver { */ export interface GetDomainDetailResponse { /** - *

                        Reseller of the domain. Domains registered or transferred using Route 53 domains will have "Amazon" - * as the reseller.

                        + *

                        Specifies whether the domain registration is set to renew automatically.

                        */ - Reseller?: string; + AutoRenew?: boolean; /** - *

                        The last updated date of the domain as found in the response to a WHOIS query. The date and time is in + *

                        Specifies whether contact information is concealed from WHOIS queries. If the value is true, + * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) + * or for our registrar associate, Gandi (for all other TLDs). If the value is false, + * WHOIS queries return the information that you entered for the admin contact.

                        + */ + AdminPrivacy?: boolean; + + /** + *

                        The date when the domain was created as found in the response to a WHOIS query. The date and time is in * Unix time format and Coordinated Universal time (UTC).

                        */ - UpdatedDate?: Date; + CreationDate?: Date; /** - *

                        Provides details about the domain registrant.

                        + *

                        Email address to contact to report incorrect contact information for a domain, to report that the domain + * is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse.

                        */ - RegistrantContact: ContactDetail | undefined; + AbuseContactEmail?: string; /** - *

                        Specifies whether contact information is concealed from WHOIS queries. If the value is true, - * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) - * or for our registrar associate, Gandi (for all other TLDs). If the value is false, - * WHOIS queries return the information that you entered for the technical contact.

                        + *

                        The name of a domain.

                        */ - TechPrivacy?: boolean; + DomainName: string | undefined; /** - *

                        Provides details about the domain technical contact.

                        + *

                        The last updated date of the domain as found in the response to a WHOIS query. The date and time is in + * Unix time format and Coordinated Universal time (UTC).

                        */ - TechContact: ContactDetail | undefined; + UpdatedDate?: Date; /** - *

                        The name of a domain.

                        + *

                        Reseller of the domain. Domains registered or transferred using Route 53 domains will have "Amazon" + * as the reseller.

                        */ - DomainName: string | undefined; + Reseller?: string; /** - *

                        Specifies whether contact information is concealed from WHOIS queries. If the value is true, - * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) - * or for our registrar associate, Gandi (for all other TLDs). If the value is false, - * WHOIS queries return the information that you entered for the admin contact.

                        + *

                        Reserved for future use.

                        */ - AdminPrivacy?: boolean; + DnsSec?: string; /** - *

                        Email address to contact to report incorrect contact information for a domain, to report that the domain - * is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse.

                        + *

                        Provides details about the domain registrant.

                        */ - AbuseContactEmail?: string; + RegistrantContact: ContactDetail | undefined; /** - *

                        The date when the domain was created as found in the response to a WHOIS query. The date and time is in - * Unix time format and Coordinated Universal time (UTC).

                        + *

                        Specifies whether contact information is concealed from WHOIS queries. If the value is true, + * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) + * or for our registrar associate, Gandi (for all other TLDs). If the value is false, + * WHOIS queries return the information that you entered for the technical contact.

                        */ - CreationDate?: Date; + TechPrivacy?: boolean; /** - *

                        Reserved for future use.

                        + *

                        Specifies whether contact information is concealed from WHOIS queries. If the value is true, + * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) + * or for our registrar associate, Gandi (for all other TLDs). If the value is false, + * WHOIS queries return the information that you entered for the registrant contact (domain owner).

                        */ - DnsSec?: string; + RegistrantPrivacy?: boolean; /** - *

                        Specifies whether the domain registration is set to renew automatically.

                        + *

                        The name of the domain.

                        */ - AutoRenew?: boolean; + Nameservers: Nameserver[] | undefined; /** - *

                        Web address of the registrar.

                        + *

                        Provides details about the domain technical contact.

                        */ - RegistrarUrl?: string; + TechContact: ContactDetail | undefined; /** *

                        The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain.

                        @@ -2024,17 +2032,20 @@ export interface GetDomainDetailResponse { WhoIsServer?: string; /** - *

                        The name of the domain.

                        + *

                        Web address of the registrar.

                        */ - Nameservers: Nameserver[] | undefined; + RegistrarUrl?: string; /** - *

                        Specifies whether contact information is concealed from WHOIS queries. If the value is true, - * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) - * or for our registrar associate, Gandi (for all other TLDs). If the value is false, - * WHOIS queries return the information that you entered for the registrant contact (domain owner).

                        + *

                        The date when the registration for the domain is set to expire. The date and time is in + * Unix time format and Coordinated Universal time (UTC).

                        */ - RegistrantPrivacy?: boolean; + ExpirationDate?: Date; + + /** + *

                        Phone number for reporting abuse.

                        + */ + AbuseContactPhone?: string; /** *

                        An array of domain name status codes, also known as Extensible Provisioning Protocol (EPP) status codes.

                        @@ -2054,27 +2065,16 @@ export interface GetDomainDetailResponse { RegistryDomainId?: string; /** - *

                        Phone number for reporting abuse.

                        + *

                        Name of the registrar of the domain as identified in the registry. Domains with a .com, .net, or .org TLD are registered by + * Amazon Registrar. All other domains are registered by our registrar associate, Gandi. The value for domains that are registered by + * Gandi is "GANDI SAS".

                        */ - AbuseContactPhone?: string; + RegistrarName?: string; /** *

                        Provides details about the domain administrative contact.

                        */ AdminContact: ContactDetail | undefined; - - /** - *

                        The date when the registration for the domain is set to expire. The date and time is in - * Unix time format and Coordinated Universal time (UTC).

                        - */ - ExpirationDate?: Date; - - /** - *

                        Name of the registrar of the domain as identified in the registry. Domains with a .com, .net, or .org TLD are registered by - * Amazon Registrar. All other domains are registered by our registrar associate, Gandi. The value for domains that are registered by - * Gandi is "GANDI SAS".

                        - */ - RegistrarName?: string; } export namespace GetDomainDetailResponse { @@ -2087,19 +2087,6 @@ export namespace GetDomainDetailResponse { } export interface GetDomainSuggestionsRequest { - /** - *

                        The number of suggested domain names that you want Route 53 to return. Specify a value between 1 and 50.

                        - */ - SuggestionCount: number | undefined; - - /** - *

                        If OnlyAvailable is true, Route 53 returns only domain names that are available. - * If OnlyAvailable is false, Route 53 returns domain names without checking whether they're - * available to be registered. To determine whether the domain is available, you can call checkDomainAvailability - * for each suggestion.

                        - */ - OnlyAvailable: boolean | undefined; - /** *

                        A domain name that you want to use as the basis for a list of possible domain names. The top-level domain (TLD), such as .com, * must be a TLD that Route 53 supports. For a list of supported TLDs, see @@ -2126,6 +2113,19 @@ export interface GetDomainSuggestionsRequest { *

                        */ DomainName: string | undefined; + + /** + *

                        The number of suggested domain names that you want Route 53 to return. Specify a value between 1 and 50.

                        + */ + SuggestionCount: number | undefined; + + /** + *

                        If OnlyAvailable is true, Route 53 returns only domain names that are available. + * If OnlyAvailable is false, Route 53 returns domain names without checking whether they're + * available to be registered. To determine whether the domain is available, you can call checkDomainAvailability + * for each suggestion.

                        + */ + OnlyAvailable: boolean | undefined; } export namespace GetDomainSuggestionsRequest { @@ -2173,20 +2173,15 @@ export type OperationStatus = "ERROR" | "FAILED" | "IN_PROGRESS" | "SUBMITTED" | *

                        The GetOperationDetail response includes the following elements.

                        */ export interface GetOperationDetailResponse { - /** - *

                        Detailed information on the status including possible errors.

                        - */ - Message?: string; - /** *

                        The type of operation that was requested.

                        */ Type?: OperationType | string; /** - *

                        The name of a domain.

                        + *

                        The current status of the requested operation in the system.

                        */ - DomainName?: string; + Status?: OperationStatus | string; /** *

                        The date when the request was submitted.

                        @@ -2199,9 +2194,14 @@ export interface GetOperationDetailResponse { OperationId?: string; /** - *

                        The current status of the requested operation in the system.

                        + *

                        The name of a domain.

                        */ - Status?: OperationStatus | string; + DomainName?: string; + + /** + *

                        Detailed information on the status including possible errors.

                        + */ + Message?: string; } export namespace GetOperationDetailResponse { @@ -2271,17 +2271,17 @@ export interface ListOperationsRequest { */ Marker?: string; - /** - *

                        Number of domains to be returned.

                        - *

                        Default: 20

                        - */ - MaxItems?: number; - /** *

                        An optional parameter that lets you get information about all the operations that you submitted after a specified date and time. * Specify the date and time in Unix time format and Coordinated Universal time (UTC).

                        */ SubmittedSince?: Date; + + /** + *

                        Number of domains to be returned.

                        + *

                        Default: 20

                        + */ + MaxItems?: number; } export namespace ListOperationsRequest { @@ -2300,14 +2300,14 @@ export interface OperationSummary { SubmittedDate: Date | undefined; /** - *

                        The current status of the requested operation in the system.

                        + *

                        Type of the action requested.

                        */ - Status: OperationStatus | string | undefined; + Type: OperationType | string | undefined; /** - *

                        Type of the action requested.

                        + *

                        The current status of the requested operation in the system.

                        */ - Type: OperationType | string | undefined; + Status: OperationStatus | string | undefined; /** *

                        Identifier returned to track the requested action.

                        @@ -2413,25 +2413,54 @@ export interface RegisterDomainRequest { */ DurationInYears: number | undefined; + /** + *

                        The domain name that you want to register. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. + * For a list of supported TLDs, see + * Domains that You Can Register with Amazon Route 53 in the + * Amazon Route 53 Developer Guide.

                        + *

                        The domain name can contain only the following characters:

                        + *
                          + *
                        • + *

                          Letters a through z. Domain names are not case sensitive.

                          + *
                        • + *
                        • + *

                          Numbers 0 through 9.

                          + *
                        • + *
                        • + *

                          Hyphen (-). You can't specify a hyphen at the beginning or end of a label.

                          + *
                        • + *
                        • + *

                          Period (.) to separate the labels in the name, such as the . in example.com.

                          + *
                        • + *
                        + *

                        Internationalized domain names are not supported for some top-level domains. To determine whether the TLD that you want to use supports + * internationalized domain names, see + * Domains that You Can Register with Amazon Route 53. + * For more information, see + * Formatting Internationalized Domain Names. + *

                        + */ + DomainName: string | undefined; + /** *

                        Whether you want to conceal contact information from WHOIS queries. If you specify true, * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) * or for our registrar associate, Gandi (for all other TLDs). If you specify false, - * WHOIS queries return the information that you entered for the technical contact.

                        + * WHOIS queries return the information that you entered for the registrant contact (the domain owner).

                        *

                        Default: true *

                        */ - PrivacyProtectTechContact?: boolean; + PrivacyProtectRegistrantContact?: boolean; /** *

                        Whether you want to conceal contact information from WHOIS queries. If you specify true, * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) * or for our registrar associate, Gandi (for all other TLDs). If you specify false, - * WHOIS queries return the information that you entered for the registrant contact (the domain owner).

                        + * WHOIS queries return the information that you entered for the admin contact.

                        *

                        Default: true *

                        */ - PrivacyProtectRegistrantContact?: boolean; + PrivacyProtectAdminContact?: boolean; /** *

                        Indicates whether the domain will be automatically renewed (true) or not (false). @@ -2442,14 +2471,10 @@ export interface RegisterDomainRequest { AutoRenew?: boolean; /** - *

                        Whether you want to conceal contact information from WHOIS queries. If you specify true, - * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) - * or for our registrar associate, Gandi (for all other TLDs). If you specify false, - * WHOIS queries return the information that you entered for the admin contact.

                        - *

                        Default: true - *

                        + *

                        Provides detailed contact information. For information about the values that you specify for each element, see + * ContactDetail.

                        */ - PrivacyProtectAdminContact?: boolean; + AdminContact: ContactDetail | undefined; /** *

                        Reserved for future use.

                        @@ -2457,45 +2482,20 @@ export interface RegisterDomainRequest { IdnLangCode?: string; /** - *

                        Provides detailed contact information. For information about the values that you specify for each element, see - * ContactDetail.

                        + *

                        Whether you want to conceal contact information from WHOIS queries. If you specify true, + * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) + * or for our registrar associate, Gandi (for all other TLDs). If you specify false, + * WHOIS queries return the information that you entered for the technical contact.

                        + *

                        Default: true + *

                        */ - RegistrantContact: ContactDetail | undefined; + PrivacyProtectTechContact?: boolean; /** *

                        Provides detailed contact information. For information about the values that you specify for each element, see * ContactDetail.

                        */ - AdminContact: ContactDetail | undefined; - - /** - *

                        The domain name that you want to register. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. - * For a list of supported TLDs, see - * Domains that You Can Register with Amazon Route 53 in the - * Amazon Route 53 Developer Guide.

                        - *

                        The domain name can contain only the following characters:

                        - *
                          - *
                        • - *

                          Letters a through z. Domain names are not case sensitive.

                          - *
                        • - *
                        • - *

                          Numbers 0 through 9.

                          - *
                        • - *
                        • - *

                          Hyphen (-). You can't specify a hyphen at the beginning or end of a label.

                          - *
                        • - *
                        • - *

                          Period (.) to separate the labels in the name, such as the . in example.com.

                          - *
                        • - *
                        - *

                        Internationalized domain names are not supported for some top-level domains. To determine whether the TLD that you want to use supports - * internationalized domain names, see - * Domains that You Can Register with Amazon Route 53. - * For more information, see - * Formatting Internationalized Domain Names. - *

                        - */ - DomainName: string | undefined; + RegistrantContact: ContactDetail | undefined; /** *

                        Provides detailed contact information. For information about the values that you specify for each element, see @@ -2507,8 +2507,8 @@ export interface RegisterDomainRequest { export namespace RegisterDomainRequest { export const filterSensitiveLog = (obj: RegisterDomainRequest): any => ({ ...obj, - ...(obj.RegistrantContact && { RegistrantContact: SENSITIVE_STRING }), ...(obj.AdminContact && { AdminContact: SENSITIVE_STRING }), + ...(obj.RegistrantContact && { RegistrantContact: SENSITIVE_STRING }), ...(obj.TechContact && { TechContact: SENSITIVE_STRING }), }); } @@ -2576,11 +2576,6 @@ export interface RenewDomainRequest { */ DomainName: string | undefined; - /** - *

                        The year when the registration for the domain is set to expire. This value must match the current expiration date for the domain.

                        - */ - CurrentExpiryYear: number | undefined; - /** *

                        The number of years that you want to renew the domain for. The maximum number of years depends on the top-level domain. * For the range of valid values for your domain, see @@ -2589,6 +2584,11 @@ export interface RenewDomainRequest { *

                        Default: 1

                        */ DurationInYears?: number; + + /** + *

                        The year when the registration for the domain is set to expire. This value must match the current expiration date for the domain.

                        + */ + CurrentExpiryYear: number | undefined; } export namespace RenewDomainRequest { @@ -2625,13 +2625,6 @@ export namespace ResendContactReachabilityEmailRequest { } export interface ResendContactReachabilityEmailResponse { - /** - *

                        - * True if the email address for the registrant contact has already been verified, and false otherwise. - * If the email address has already been verified, we don't send another confirmation email.

                        - */ - isAlreadyVerified?: boolean; - /** *

                        The email address for the registrant contact at the time that we sent the verification email.

                        */ @@ -2641,6 +2634,13 @@ export interface ResendContactReachabilityEmailResponse { *

                        The domain name for which you requested a confirmation email.

                        */ domainName?: string; + + /** + *

                        + * True if the email address for the registrant contact has already been verified, and false otherwise. + * If the email address has already been verified, we don't send another confirmation email.

                        + */ + isAlreadyVerified?: boolean; } export namespace ResendContactReachabilityEmailResponse { @@ -2695,14 +2695,32 @@ export interface TransferDomainRequest { DurationInYears: number | undefined; /** - *

                        Whether you want to conceal contact information from WHOIS queries. If you specify true, - * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) - * or for our registrar associate, Gandi (for all other TLDs). If you specify false, - * WHOIS queries return the information that you entered for the technical contact.

                        - *

                        Default: true - *

                        + *

                        The authorization code for the domain. You get this value from the current registrar.

                        */ - PrivacyProtectTechContact?: boolean; + AuthCode?: string; + + /** + *

                        The name of the domain that you want to transfer to Route 53. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. + * For a list of supported TLDs, see + * Domains that You Can Register with Amazon Route 53 in the + * Amazon Route 53 Developer Guide.

                        + *

                        The domain name can contain only the following characters:

                        + *
                          + *
                        • + *

                          Letters a through z. Domain names are not case sensitive.

                          + *
                        • + *
                        • + *

                          Numbers 0 through 9.

                          + *
                        • + *
                        • + *

                          Hyphen (-). You can't specify a hyphen at the beginning or end of a label.

                          + *
                        • + *
                        • + *

                          Period (.) to separate the labels in the name, such as the . in example.com.

                          + *
                        • + *
                        + */ + DomainName: string | undefined; /** *

                        Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect @@ -2712,9 +2730,9 @@ export interface TransferDomainRequest { AutoRenew?: boolean; /** - *

                        Contains details for the host and glue IP addresses.

                        + *

                        Provides detailed contact information.

                        */ - Nameservers?: Nameserver[]; + AdminContact: ContactDetail | undefined; /** *

                        Whether you want to conceal contact information from WHOIS queries. If you specify true, @@ -2726,11 +2744,6 @@ export interface TransferDomainRequest { */ PrivacyProtectRegistrantContact?: boolean; - /** - *

                        The authorization code for the domain. You get this value from the current registrar.

                        - */ - AuthCode?: string; - /** *

                        Whether you want to conceal contact information from WHOIS queries. If you specify true, * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) @@ -2742,47 +2755,34 @@ export interface TransferDomainRequest { PrivacyProtectAdminContact?: boolean; /** - *

                        Reserved for future use.

                        + *

                        Contains details for the host and glue IP addresses.

                        */ - IdnLangCode?: string; + Nameservers?: Nameserver[]; /** - *

                        The name of the domain that you want to transfer to Route 53. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. - * For a list of supported TLDs, see - * Domains that You Can Register with Amazon Route 53 in the - * Amazon Route 53 Developer Guide.

                        - *

                        The domain name can contain only the following characters:

                        - *
                          - *
                        • - *

                          Letters a through z. Domain names are not case sensitive.

                          - *
                        • - *
                        • - *

                          Numbers 0 through 9.

                          - *
                        • - *
                        • - *

                          Hyphen (-). You can't specify a hyphen at the beginning or end of a label.

                          - *
                        • - *
                        • - *

                          Period (.) to separate the labels in the name, such as the . in example.com.

                          - *
                        • - *
                        + *

                        Reserved for future use.

                        */ - DomainName: string | undefined; + IdnLangCode?: string; /** - *

                        Provides detailed contact information.

                        + *

                        Whether you want to conceal contact information from WHOIS queries. If you specify true, + * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) + * or for our registrar associate, Gandi (for all other TLDs). If you specify false, + * WHOIS queries return the information that you entered for the technical contact.

                        + *

                        Default: true + *

                        */ - AdminContact: ContactDetail | undefined; + PrivacyProtectTechContact?: boolean; /** *

                        Provides detailed contact information.

                        */ - RegistrantContact: ContactDetail | undefined; + TechContact: ContactDetail | undefined; /** *

                        Provides detailed contact information.

                        */ - TechContact: ContactDetail | undefined; + RegistrantContact: ContactDetail | undefined; } export namespace TransferDomainRequest { @@ -2790,8 +2790,8 @@ export namespace TransferDomainRequest { ...obj, ...(obj.AuthCode && { AuthCode: SENSITIVE_STRING }), ...(obj.AdminContact && { AdminContact: SENSITIVE_STRING }), - ...(obj.RegistrantContact && { RegistrantContact: SENSITIVE_STRING }), ...(obj.TechContact && { TechContact: SENSITIVE_STRING }), + ...(obj.RegistrantContact && { RegistrantContact: SENSITIVE_STRING }), }); } @@ -2868,14 +2868,14 @@ export interface UpdateDomainContactRequest { AdminContact?: ContactDetail; /** - *

                        Provides detailed contact information.

                        + *

                        The name of the domain that you want to update contact information for.

                        */ - RegistrantContact?: ContactDetail; + DomainName: string | undefined; /** - *

                        The name of the domain that you want to update contact information for.

                        + *

                        Provides detailed contact information.

                        */ - DomainName: string | undefined; + RegistrantContact?: ContactDetail; /** *

                        Provides detailed contact information.

                        @@ -2921,6 +2921,14 @@ export interface UpdateDomainContactPrivacyRequest { */ AdminPrivacy?: boolean; + /** + *

                        Whether you want to conceal contact information from WHOIS queries. If you specify true, + * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) + * or for our registrar associate, Gandi (for all other TLDs). If you specify false, + * WHOIS queries return the information that you entered for the registrant contact (domain owner).

                        + */ + RegistrantPrivacy?: boolean; + /** *

                        The name of the domain that you want to update the privacy setting for.

                        */ @@ -2933,14 +2941,6 @@ export interface UpdateDomainContactPrivacyRequest { * WHOIS queries return the information that you entered for the technical contact.

                        */ TechPrivacy?: boolean; - - /** - *

                        Whether you want to conceal contact information from WHOIS queries. If you specify true, - * WHOIS ("who is") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) - * or for our registrar associate, Gandi (for all other TLDs). If you specify false, - * WHOIS queries return the information that you entered for the registrant contact (domain owner).

                        - */ - RegistrantPrivacy?: boolean; } export namespace UpdateDomainContactPrivacyRequest { @@ -3085,16 +3085,16 @@ export namespace ViewBillingRequest { *

                        The ViewBilling response includes the following elements.

                        */ export interface ViewBillingResponse { - /** - *

                        A summary of billing records.

                        - */ - BillingRecords?: BillingRecord[]; - /** *

                        If there are more billing records than you specified for MaxItems in the request, submit another * request and include the value of NextPageMarker in the value of Marker.

                        */ NextPageMarker?: string; + + /** + *

                        A summary of billing records.

                        + */ + BillingRecords?: BillingRecord[]; } export namespace ViewBillingResponse { diff --git a/clients/client-route-53/Route53.ts b/clients/client-route-53/Route53.ts index 4305aceeb187..e4afd7e11335 100644 --- a/clients/client-route-53/Route53.ts +++ b/clients/client-route-53/Route53.ts @@ -288,26 +288,16 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; export class Route53 extends Route53Client { /** *

                        Associates an Amazon VPC with a private hosted zone.

                        - * - * + * *

                        To perform the association, the VPC and the private hosted zone must already exist. - * Also, you can't convert a public hosted zone into a private hosted zone.

                        - *
                        - * - *

                        If you want to associate a VPC that was created by one AWS account with a private hosted zone that was created - * by a different account, do one of the following:

                        - *
                          - *
                        • - *

                          Use the AWS account that created the private hosted zone to submit a - * CreateVPCAssociationAuthorization - * request. Then use the account that created the VPC to submit an AssociateVPCWithHostedZone request.

                          - *
                        • - *
                        • - *

                          If a subnet in the VPC was shared with another account, you can use the account that the subnet was shared with - * to submit an AssociateVPCWithHostedZone request. For more information about sharing subnets, see - * Working with Shared VPCs.

                          - *
                        • - *
                        + * You can't convert a public hosted zone into a private hosted zone.

                        + * + * + *

                        If you want to associate a VPC that was created by using one AWS account with a private hosted zone that was created + * by using a different account, the AWS account that created the private hosted zone must first submit a + * CreateVPCAssociationAuthorization request. Then the account that created the VPC must submit an + * AssociateVPCWithHostedZone request.

                        + *
                        */ public associateVPCWithHostedZone( args: AssociateVPCWithHostedZoneCommandInput, @@ -1179,6 +1169,20 @@ export class Route53 extends Route53Client { /** *

                        Deletes a traffic policy.

                        + *

                        When you delete a traffic policy, Route 53 sets a flag on the policy to indicate that it has been deleted. However, Route 53 never fully deletes + * the traffic policy. Note the following:

                        + *
                          + *
                        • + *

                          Deleted traffic policies aren't listed if you run ListTrafficPolicies.

                          + *
                        • + *
                        • + *

                          There's no way to get a list of deleted policies.

                          + *
                        • + *
                        • + *

                          If you retain the ID of the policy, you can get information about the policy, including the traffic policy document, by running + * GetTrafficPolicy.

                          + *
                        • + *
                        */ public deleteTrafficPolicy( args: DeleteTrafficPolicyCommandInput, @@ -1839,6 +1843,9 @@ export class Route53 extends Route53Client { /** *

                        Gets information about a specific traffic policy version.

                        + *

                        For information about how of deleting a traffic policy affects the response from GetTrafficPolicy, see + * DeleteTrafficPolicy. + *

                        */ public getTrafficPolicy( args: GetTrafficPolicyCommandInput, @@ -2403,6 +2410,11 @@ export class Route53 extends Route53Client { /** *

                        Gets information about the latest version for every traffic policy that is associated with the current AWS account. * Policies are listed in the order that they were created in.

                        + * + *

                        For information about how of deleting a traffic policy affects the response from ListTrafficPolicies, see + * DeleteTrafficPolicy. + * + *

                        */ public listTrafficPolicies( args: ListTrafficPoliciesCommandInput, diff --git a/clients/client-route-53/models/models_0.ts b/clients/client-route-53/models/models_0.ts index ebcbffd92ec6..670f6674f21a 100644 --- a/clients/client-route-53/models/models_0.ts +++ b/clients/client-route-53/models/models_0.ts @@ -92,14 +92,6 @@ export type CloudWatchRegion = * the specified health check is healthy.

                        */ export interface AlarmIdentifier { - /** - *

                        For the CloudWatch alarm that you want Route 53 health checkers to use to determine whether this health check is healthy, - * the region that the alarm was created in.

                        - *

                        For the current list of CloudWatch regions, see Amazon CloudWatch in - * the AWS Service Endpoints chapter of the Amazon Web Services General Reference.

                        - */ - Region: CloudWatchRegion | string | undefined; - /** *

                        The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.

                        * @@ -117,6 +109,14 @@ export interface AlarmIdentifier { * */ Name: string | undefined; + + /** + *

                        For the CloudWatch alarm that you want Route 53 health checkers to use to determine whether this health check is healthy, + * the region that the alarm was created in.

                        + *

                        For the current list of CloudWatch regions, see Amazon CloudWatch in + * the AWS Service Endpoints chapter of the Amazon Web Services General Reference.

                        + */ + Region: CloudWatchRegion | string | undefined; } export namespace AlarmIdentifier { @@ -538,14 +538,14 @@ export type VPCRegion = */ export interface VPC { /** - *

                        (Private hosted zones only) The region that an Amazon VPC was created in.

                        + *

                        (Private hosted zones only) The ID of an Amazon VPC.

                        */ - VPCRegion?: VPCRegion | string; + VPCId?: string; /** - *

                        (Private hosted zones only) The ID of an Amazon VPC.

                        + *

                        (Private hosted zones only) The region that an Amazon VPC was created in.

                        */ - VPCId?: string; + VPCRegion?: VPCRegion | string; } export namespace VPC { @@ -565,15 +565,15 @@ export interface AssociateVPCWithHostedZoneRequest { HostedZoneId: string | undefined; /** - *

                        - * Optional: A comment about the association request.

                        + *

                        A complex type that contains information about the VPC that you want to associate with a private hosted zone.

                        */ - Comment?: string; + VPC: VPC | undefined; /** - *

                        A complex type that contains information about the VPC that you want to associate with a private hosted zone.

                        + *

                        + * Optional: A comment about the association request.

                        */ - VPC: VPC | undefined; + Comment?: string; } export namespace AssociateVPCWithHostedZoneRequest { @@ -594,6 +594,13 @@ export interface ChangeInfo { */ Id: string | undefined; + /** + *

                        The date and time that the change request was submitted in + * ISO 8601 format and Coordinated Universal Time (UTC). + * For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC.

                        + */ + SubmittedAt: Date | undefined; + /** *

                        A complex type that describes change information about changes made to your hosted * zone.

                        @@ -603,13 +610,6 @@ export interface ChangeInfo { */ Comment?: string; - /** - *

                        The date and time that the change request was submitted in - * ISO 8601 format and Coordinated Universal Time (UTC). - * For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC.

                        - */ - SubmittedAt: Date | undefined; - /** *

                        The current state of the request. PENDING indicates that this request has * not yet been applied to all Amazon Route 53 DNS servers.

                        @@ -937,202 +937,61 @@ export type RRType = "A" | "AAAA" | "CAA" | "CNAME" | "MX" | "NAPTR" | "NS" | "P export interface ResourceRecordSet { /** *

                        - * Resource record sets that have a routing policy other than simple: An identifier that differentiates among - * multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named - * acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of SetIdentifier - * must be unique for each resource record set.

                        - *

                        For information about routing policies, see - * Choosing a Routing Policy - * in the Amazon Route 53 Developer Guide.

                        - */ - SetIdentifier?: string; - - /** - *

                        - * Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an - * Amazon S3 bucket, that you want to route traffic to.

                        - *

                        If you're creating resource records sets for a private hosted zone, note the following:

                        - *
                          - *
                        • - *

                          You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.

                          - *
                        • - *
                        • - *

                          Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

                          - *
                        • - *
                        • - *

                          For information about creating failover resource record sets in a private hosted zone, see - * Configuring Failover in a Private Hosted Zone in the - * Amazon Route 53 Developer Guide.

                          - *
                        • - *
                        - */ - AliasTarget?: AliasTarget; - - /** - *

                        - * Weighted resource record sets only: Among resource record sets that have the same combination of DNS name and type, - * a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the - * sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries - * based on the ratio of a resource's weight to the total. Note the following:

                        - *
                          - *
                        • - *

                          You must specify a value for the Weight element for every weighted resource record set.

                          - *
                        • - *
                        • - *

                          You can only specify one ResourceRecord per weighted resource record set.

                          - *
                        • - *
                        • - *

                          You can't create latency, failover, or geolocation resource record sets that have the same values for the - * Name and Type elements as weighted resource record sets.

                          - *
                        • - *
                        • - *

                          You can create a maximum of 100 weighted resource record sets that have the same values for the Name and - * Type elements.

                          - *
                        • - *
                        • - *

                          For weighted (but not weighted alias) resource record sets, if you set Weight to 0 for a - * resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set - * Weight to 0 for all resource record sets that have the same combination of DNS name and type, - * traffic is routed to all resources with equal probability.

                          - *

                          The effect of setting Weight to 0 is different when you associate health checks with weighted - * resource record sets. For more information, see - * Options for Configuring Route 53 Active-Active and Active-Passive Failover - * in the Amazon Route 53 Developer Guide.

                          - *
                        • - *
                        - */ - Weight?: number; - - /** - *

                        If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a - * health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check.

                        - *

                        Route 53 determines whether a resource record set is healthy based on one of the following:

                        + * Multivalue answer resource record sets only: To route traffic approximately randomly to multiple resources, + * such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + * Note the following:

                        *
                          *
                        • - *

                          By periodically sending a request to the endpoint that is specified in the health check

                          + *

                          If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries + * with the corresponding IP address only when the health check is healthy.

                          *
                        • *
                        • - *

                          By aggregating the status of a specified group of health checks (calculated health checks)

                          + *

                          If you don't associate a health check with a multivalue answer record, Route 53 always considers the record + * to be healthy.

                          *
                        • *
                        • - *

                          By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)

                          + *

                          Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, + * Route 53 responds to all DNS queries with all the healthy records.

                          *
                        • - *
                        - * - * - *

                        Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint - * specified by the IP address in the Value element. When you add a HealthCheckId element to a - * resource record set, Route 53 checks the health of the endpoint that you specified in the health check.

                        - *
                        - * - *

                        For more information, see the following topics in the Amazon Route 53 Developer Guide:

                        - * - * - *

                        - * When to Specify HealthCheckId - *

                        - *

                        Specifying a value for HealthCheckId is useful only when Route 53 is choosing between two or more resource record sets - * to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks - * makes sense only in the following configurations:

                        + *

                        You can't create multivalue answer alias records.

                        + */ + MultiValueAnswer?: boolean; + + /** + *

                        The resource record cache time to live (TTL), in seconds. Note the following:

                        *
                          *
                        • - *

                          - * Non-alias resource record sets: You're checking the health of a group of non-alias - * resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com - * with a type of A) and you specify health check IDs for all the resource record sets.

                          - *

                          If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it - * responds to DNS queries with.

                          - *

                          If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value - * for that resource record set.

                          - *

                          If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets - * in the group healthy and responds to DNS queries accordingly.

                          + *

                          If you're creating or updating an alias resource record set, omit TTL. Amazon Route 53 uses the value of TTL + * for the alias target.

                          *
                        • *
                        • - *

                          - * Alias resource record sets: You specify the following settings:

                          - *
                            - *
                          • - *

                            You set EvaluateTargetHealth to true for an alias resource record set in a group of - * resource record sets that have the same routing policy, name, and type (such as multiple weighted records named - * www.example.com with a type of A).

                            - *
                          • - *
                          • - *

                            You configure the alias resource record set to route traffic to a non-alias resource record set - * in the same hosted zone.

                            - *
                          • - *
                          • - *

                            You specify a health check ID for the non-alias resource record set.

                            - *
                          • - *
                          - *

                          If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the - * alias record among the records that it responds to DNS queries with.

                          - *

                          If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.

                          - * - *

                          The alias resource record set can also route traffic to a group of non-alias resource record sets - * that have the same routing policy, name, and type. In that configuration, associate health checks with all of the - * resource record sets in the group of non-alias resource record sets.

                          - *
                          + *

                          If you're associating this resource record set with a health check (if you're adding a HealthCheckId element), + * we recommend that you specify a TTL of 60 seconds or less so clients respond quickly to changes in health status.

                          *
                        • - *
                        - * - *

                        - * Geolocation Routing - *

                        - *

                        For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated - * geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, - * for North America, and a resource record set that has * for CountryCode is *, which applies to - * all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the - * following order until it finds a resource record set for which the endpoint is healthy:

                        - *
                          - *
                        • - *

                          The United States

                          - *
                        • *
                        • - *

                          North America

                          - *
                        • + *

                          All of the resource record sets in a group of weighted resource record sets must have the same value for TTL.

                          + * *
                        • - *

                          The default resource record set

                          - *
                        • + *

                          If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the + * alias target is an ELB load balancer, we recommend that you specify a TTL of 60 seconds for all of the + * non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for + * load balancers) will change the effect of the values that you specify for Weight.

                          + * *
                        - * - *

                        - * Specifying the Health Check Endpoint by Domain Name - *

                        - *

                        If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. - * For example, create a health check for each HTTP server that is serving content for www.example.com. For the - * value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-2-www.example.com), - * not the name of the resource record sets (www.example.com).

                        - * - *

                        Health check results will be unpredictable if you do the following:

                        - *
                          - *
                        • - *

                          Create a health check that has the same value for FullyQualifiedDomainName as the name of a - * resource record set.

                          - *
                        • - *
                        • - *

                          Associate that health check with the resource record set.

                          - *
                        • - *
                        - *
                        */ - HealthCheckId?: string; + TTL?: number; /** *

                        @@ -1166,89 +1025,6 @@ export interface ResourceRecordSet { */ Region?: ResourceRecordSetRegion | string; - /** - *

                        - * Geolocation resource record sets only: A complex type that lets you control how Amazon Route 53 responds to DNS queries - * based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address - * of 192.0.2.111, create a resource record set with a Type of A and a ContinentCode of - * AF.

                        - * - *

                        Although creating geolocation and geolocation alias resource record sets in a private hosted zone is allowed, - * it's not supported.

                        - *
                        - *

                        If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and - * one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a - * continent to one resource and to route queries for a country on that continent to a different resource.

                        - *

                        You can't create two geolocation resource record sets that specify the same geographic location.

                        - *

                        The value * in the CountryCode element matches all geographic locations that aren't specified in other - * geolocation resource record sets that have the same values for the Name and Type elements.

                        - * - *

                        Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, - * so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations - * that it can't identify. We recommend that you create a resource record set for which the value of CountryCode is *. - * Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't - * created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a - * * resource record set, Route 53 returns a "no answer" response for queries from those locations.

                        - *
                        - *

                        You can't create non-geolocation resource record sets that have the same values for the Name and Type elements - * as geolocation resource record sets.

                        - */ - GeoLocation?: GeoLocation; - - /** - *

                        Information about the resource records to act upon.

                        - * - *

                        If you're creating an alias resource record set, omit ResourceRecords.

                        - *
                        - */ - ResourceRecords?: ResourceRecord[]; - - /** - *

                        - * Failover resource record sets only: To configure failover, you add the Failover element to - * two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other - * resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the - * health check that you want Amazon Route 53 to perform for each resource record set.

                        - *

                        Except where noted, the following failover behaviors assume that you have included the HealthCheckId element in both - * resource record sets:

                        - *
                          - *
                        • - *

                          When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the - * primary resource record set regardless of the health of the secondary resource record set.

                          - *
                        • - *
                        • - *

                          When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to - * DNS queries with the applicable value from the secondary resource record set.

                          - *
                        • - *
                        • - *

                          When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the - * primary resource record set regardless of the health of the primary resource record set.

                          - *
                        • - *
                        • - *

                          If you omit the HealthCheckId element for the secondary resource record set, and if the primary resource record set - * is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true - * regardless of the health of the associated endpoint.

                          - *
                        • - *
                        - *

                        You can't create non-failover resource record sets that have the same values for the Name and Type elements - * as failover resource record sets.

                        - *

                        For failover alias resource record sets, you must also include the EvaluateTargetHealth element and set the value to true.

                        - *

                        For more information about configuring failover for Route 53, see the following topics in the Amazon Route 53 Developer Guide:

                        - * - */ - Failover?: ResourceRecordSetFailover | string; - /** *

                        The DNS record type. For information about different record types and how data is encoded for them, see * Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

                        @@ -1324,62 +1100,240 @@ export interface ResourceRecordSet { Type: RRType | string | undefined; /** - *

                        The resource record cache time to live (TTL), in seconds. Note the following:

                        + *

                        + * Geolocation resource record sets only: A complex type that lets you control how Amazon Route 53 responds to DNS queries + * based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address + * of 192.0.2.111, create a resource record set with a Type of A and a ContinentCode of + * AF.

                        + * + *

                        Although creating geolocation and geolocation alias resource record sets in a private hosted zone is allowed, + * it's not supported.

                        + *
                        + *

                        If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and + * one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a + * continent to one resource and to route queries for a country on that continent to a different resource.

                        + *

                        You can't create two geolocation resource record sets that specify the same geographic location.

                        + *

                        The value * in the CountryCode element matches all geographic locations that aren't specified in other + * geolocation resource record sets that have the same values for the Name and Type elements.

                        + * + *

                        Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, + * so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations + * that it can't identify. We recommend that you create a resource record set for which the value of CountryCode is *. + * Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't + * created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a + * * resource record set, Route 53 returns a "no answer" response for queries from those locations.

                        + *
                        + *

                        You can't create non-geolocation resource record sets that have the same values for the Name and Type elements + * as geolocation resource record sets.

                        + */ + GeoLocation?: GeoLocation; + + /** + *

                        + * Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an + * Amazon S3 bucket, that you want to route traffic to.

                        + *

                        If you're creating resource records sets for a private hosted zone, note the following:

                        *
                          *
                        • - *

                          If you're creating or updating an alias resource record set, omit TTL. Amazon Route 53 uses the value of TTL - * for the alias target.

                          - *
                        • - *
                        • - *

                          If you're associating this resource record set with a health check (if you're adding a HealthCheckId element), - * we recommend that you specify a TTL of 60 seconds or less so clients respond quickly to changes in health status.

                          + *

                          You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.

                          *
                        • *
                        • - *

                          All of the resource record sets in a group of weighted resource record sets must have the same value for TTL.

                          + *

                          Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

                          *
                        • *
                        • - *

                          If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the - * alias target is an ELB load balancer, we recommend that you specify a TTL of 60 seconds for all of the - * non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for - * load balancers) will change the effect of the values that you specify for Weight.

                          + *

                          For information about creating failover resource record sets in a private hosted zone, see + * Configuring Failover in a Private Hosted Zone in the + * Amazon Route 53 Developer Guide.

                          *
                        • *
                        */ - TTL?: number; + AliasTarget?: AliasTarget; /** - *

                        - * Multivalue answer resource record sets only: To route traffic approximately randomly to multiple resources, - * such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. - * Note the following:

                        + *

                        If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a + * health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check.

                        + *

                        Route 53 determines whether a resource record set is healthy based on one of the following:

                        *
                          *
                        • - *

                          If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries - * with the corresponding IP address only when the health check is healthy.

                          + *

                          By periodically sending a request to the endpoint that is specified in the health check

                          *
                        • *
                        • - *

                          If you don't associate a health check with a multivalue answer record, Route 53 always considers the record - * to be healthy.

                          + *

                          By aggregating the status of a specified group of health checks (calculated health checks)

                          + *
                        • + *
                        • + *

                          By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)

                          *
                        • + *
                        + * + * + *

                        Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint + * specified by the IP address in the Value element. When you add a HealthCheckId element to a + * resource record set, Route 53 checks the health of the endpoint that you specified in the health check.

                        + *
                        + * + *

                        For more information, see the following topics in the Amazon Route 53 Developer Guide:

                        + * + * + *

                        + * When to Specify HealthCheckId + *

                        + *

                        Specifying a value for HealthCheckId is useful only when Route 53 is choosing between two or more resource record sets + * to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks + * makes sense only in the following configurations:

                        + *
                          + *
                        • + *

                          + * Non-alias resource record sets: You're checking the health of a group of non-alias + * resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com + * with a type of A) and you specify health check IDs for all the resource record sets.

                          + *

                          If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it + * responds to DNS queries with.

                          + *

                          If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value + * for that resource record set.

                          + *

                          If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets + * in the group healthy and responds to DNS queries accordingly.

                          + *
                        • + *
                        • + *

                          + * Alias resource record sets: You specify the following settings:

                          + *
                            + *
                          • + *

                            You set EvaluateTargetHealth to true for an alias resource record set in a group of + * resource record sets that have the same routing policy, name, and type (such as multiple weighted records named + * www.example.com with a type of A).

                            + *
                          • + *
                          • + *

                            You configure the alias resource record set to route traffic to a non-alias resource record set + * in the same hosted zone.

                            + *
                          • + *
                          • + *

                            You specify a health check ID for the non-alias resource record set.

                            + *
                          • + *
                          + *

                          If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the + * alias record among the records that it responds to DNS queries with.

                          + *

                          If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.

                          + * + *

                          The alias resource record set can also route traffic to a group of non-alias resource record sets + * that have the same routing policy, name, and type. In that configuration, associate health checks with all of the + * resource record sets in the group of non-alias resource record sets.

                          + *
                          + *
                        • + *
                        + * + *

                        + * Geolocation Routing + *

                        + *

                        For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated + * geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, + * for North America, and a resource record set that has * for CountryCode is *, which applies to + * all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the + * following order until it finds a resource record set for which the endpoint is healthy:

                        + *
                          + *
                        • + *

                          The United States

                          + *
                        • + *
                        • + *

                          North America

                          + *
                        • + *
                        • + *

                          The default resource record set

                          + *
                        • + *
                        + * + *

                        + * Specifying the Health Check Endpoint by Domain Name + *

                        + *

                        If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. + * For example, create a health check for each HTTP server that is serving content for www.example.com. For the + * value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-2-www.example.com), + * not the name of the resource record sets (www.example.com).

                        + * + *

                        Health check results will be unpredictable if you do the following:

                        + *
                          + *
                        • + *

                          Create a health check that has the same value for FullyQualifiedDomainName as the name of a + * resource record set.

                          + *
                        • + *
                        • + *

                          Associate that health check with the resource record set.

                          + *
                        • + *
                        + *
                        + */ + HealthCheckId?: string; + + /** + *

                        Information about the resource records to act upon.

                        + * + *

                        If you're creating an alias resource record set, omit ResourceRecords.

                        + *
                        + */ + ResourceRecords?: ResourceRecord[]; + + /** + *

                        + * Resource record sets that have a routing policy other than simple: An identifier that differentiates among + * multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named + * acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of SetIdentifier + * must be unique for each resource record set.

                        + *

                        For information about routing policies, see + * Choosing a Routing Policy + * in the Amazon Route 53 Developer Guide.

                        + */ + SetIdentifier?: string; + + /** + *

                        + * Weighted resource record sets only: Among resource record sets that have the same combination of DNS name and type, + * a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the + * sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries + * based on the ratio of a resource's weight to the total. Note the following:

                        + *
                          + *
                        • + *

                          You must specify a value for the Weight element for every weighted resource record set.

                          + *
                        • *
                        • - *

                          Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, - * Route 53 responds to all DNS queries with all the healthy records.

                          - *
                        • + *

                          You can only specify one ResourceRecord per weighted resource record set.

                          + * *
                        • - *

                          If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of - * healthy records.

                          - *
                        • + *

                          You can't create latency, failover, or geolocation resource record sets that have the same values for the + * Name and Type elements as weighted resource record sets.

                          + * *
                        • - *

                          When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.

                          - *
                        • + *

                          You can create a maximum of 100 weighted resource record sets that have the same values for the Name and + * Type elements.

                          + * *
                        • - *

                          If a resource becomes unavailable after a resolver caches a response, client software typically tries another - * of the IP addresses in the response.

                          - *
                        • + *

                          For weighted (but not weighted alias) resource record sets, if you set Weight to 0 for a + * resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set + * Weight to 0 for all resource record sets that have the same combination of DNS name and type, + * traffic is routed to all resources with equal probability.

                          + *

                          The effect of setting Weight to 0 is different when you associate health checks with weighted + * resource record sets. For more information, see + * Options for Configuring Route 53 Active-Active and Active-Passive Failover + * in the Amazon Route 53 Developer Guide.

                          + * *
                        - *

                        You can't create multivalue answer alias records.

                        */ - MultiValueAnswer?: boolean; + Weight?: number; /** *

                        For ChangeResourceRecordSets requests, the name of the record that you want to create, update, or delete. @@ -1428,6 +1382,52 @@ export interface ResourceRecordSet { * */ TrafficPolicyInstanceId?: string; + + /** + *

                        + * Failover resource record sets only: To configure failover, you add the Failover element to + * two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other + * resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the + * health check that you want Amazon Route 53 to perform for each resource record set.

                        + *

                        Except where noted, the following failover behaviors assume that you have included the HealthCheckId element in both + * resource record sets:

                        + *
                          + *
                        • + *

                          When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the + * primary resource record set regardless of the health of the secondary resource record set.

                          + *
                        • + *
                        • + *

                          When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to + * DNS queries with the applicable value from the secondary resource record set.

                          + *
                        • + *
                        • + *

                          When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the + * primary resource record set regardless of the health of the primary resource record set.

                          + *
                        • + *
                        • + *

                          If you omit the HealthCheckId element for the secondary resource record set, and if the primary resource record set + * is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true + * regardless of the health of the associated endpoint.

                          + *
                        • + *
                        + *

                        You can't create non-failover resource record sets that have the same values for the Name and Type elements + * as failover resource record sets.

                        + *

                        For failover alias resource record sets, you must also include the EvaluateTargetHealth element and set the value to true.

                        + *

                        For more information about configuring failover for Route 53, see the following topics in the Amazon Route 53 Developer Guide:

                        + * + */ + Failover?: ResourceRecordSetFailover | string; } export namespace ResourceRecordSet { @@ -1483,17 +1483,17 @@ export namespace Change { *

                        The information for a change request.

                        */ export interface ChangeBatch { - /** - *

                        Information about the changes to make to the record sets.

                        - */ - Changes: Change[] | undefined; - /** *

                        * Optional: Any comments you want to include about a change batch * request.

                        */ Comment?: string; + + /** + *

                        Information about the changes to make to the record sets.

                        + */ + Changes: Change[] | undefined; } export namespace ChangeBatch { @@ -1585,6 +1585,22 @@ export namespace NoSuchHealthCheck { *

                        A complex type that contains information about a tag that you want to add or edit for the specified health check or hosted zone.

                        */ export interface Tag { + /** + *

                        The value of Value depends on the operation that you want to perform:

                        + *
                          + *
                        • + *

                          + * Add a tag to a health check or hosted zone: Value is the value that you want to give + * the new tag.

                          + *
                        • + *
                        • + *

                          + * Edit a tag: Value is the new value that you want to assign the tag.

                          + *
                        • + *
                        + */ + Value?: string; + /** *

                        The value of Key depends on the operation that you want to perform:

                        *
                          @@ -1609,22 +1625,6 @@ export interface Tag { *
                        */ Key?: string; - - /** - *

                        The value of Value depends on the operation that you want to perform:

                        - *
                          - *
                        • - *

                          - * Add a tag to a health check or hosted zone: Value is the value that you want to give - * the new tag.

                          - *
                        • - *
                        • - *

                          - * Edit a tag: Value is the new value that you want to assign the tag.

                          - *
                        • - *
                        - */ - Value?: string; } export namespace Tag { @@ -1730,22 +1730,143 @@ export enum HealthCheckType { */ export interface HealthCheckConfig { /** - *

                        The number of child health checks that are associated with a CALCULATED health check that Amazon Route 53 must consider healthy for the - * CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a - * CALCULATED health check, use the - * ChildHealthChecks - * element.

                        - *

                        Note the following:

                        + *

                        The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint + * from unhealthy to healthy or vice versa. For more information, see + * How Amazon Route 53 Determines Whether an Endpoint Is Healthy + * in the Amazon Route 53 Developer Guide.

                        + *

                        If you don't specify a value for FailureThreshold, the default value is three health checks.

                        + */ + FailureThreshold?: number; + + /** + *

                        When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:

                        *
                          *
                        • - *

                          If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.

                          + *

                          + * Healthy: Route 53 considers the health check to be healthy.

                          *
                        • *
                        • - *

                          If you specify 0, Route 53 always considers this health check to be healthy.

                          + *

                          + * Unhealthy: Route 53 considers the health check to be unhealthy.

                          + *
                        • + *
                        • + *

                          + * LastKnownStatus: Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data + * to determine the alarm state. For new health checks that have no last known status, the default status for the health check is + * healthy.

                          + *
                        • + *
                        + */ + InsufficientDataHealthStatus?: InsufficientDataHealthStatus | string; + + /** + *

                        If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search for in the + * response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy.

                        + *

                        Route 53 considers case when searching for SearchString in the response body.

                        + */ + SearchString?: string; + + /** + *

                        The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next + * health check request. Each Route 53 health checker makes requests at this interval.

                        + * + *

                        You can't change the value of RequestInterval after you create a health check.

                        + *
                        + *

                        If you don't specify a value for RequestInterval, the default value is 30 seconds.

                        + */ + RequestInterval?: number; + + /** + *

                        Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it + * otherwise would be considered healthy.

                        + */ + Inverted?: boolean; + + /** + *

                        Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

                        + * + *

                        + * If you specify a value for + * IPAddress:

                        + *

                        Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName + * in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint + * on which you want Route 53 to perform health checks.

                        + *

                        When Route 53 checks the health of an endpoint, here is how it constructs the Host header:

                        + *
                          + *
                        • + *

                          If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for + * Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

                          + *
                        • + *
                        • + *

                          If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for + * Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

                          + *
                        • + *
                        • + *

                          If you specify another value for Port and any value except TCP for Type, Route 53 passes + * FullyQualifiedDomainName:Port to the endpoint in the Host header.

                          *
                        • *
                        + *

                        If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes the value of IPAddress in the + * Host header in each of the preceding cases.

                        + * + *

                        + * If you don't specify a value for IPAddress + * :

                        + *

                        Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for + * RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.

                        + * + *

                        If you don't specify a value for IPAddress, Route 53 uses only IPv4 to send health checks to the endpoint. If there's + * no resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a + * "DNS resolution failed" error.

                        + *
                        + *

                        If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by + * FullyQualifiedDomainName, we recommend that you create a separate health check for each endpoint. For example, create a + * health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, + * specify the domain name of the server (such as us-east-2-www.example.com), not the name of the resource record sets (www.example.com).

                        + * + *

                        In this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the + * resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

                        + *
                        + *

                        In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH, or + * HTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you + * specify a value for IPAddress. If the value of Type is TCP, Route 53 doesn't pass a Host header.

                        + */ + FullyQualifiedDomainName?: string; + + /** + *

                        The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint + * will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html. + * You can also include query string parameters, for example, /welcome.html?language=jp&login=y. + *

                        + */ + ResourcePath?: string; + + /** + *

                        A complex type that contains one Region element for each region from which you want Amazon Route 53 health checkers to check the + * specified endpoint.

                        + *

                        If you don't specify any regions, Route 53 health checkers automatically performs checks from all of the regions that are listed under + * Valid Values.

                        + *

                        If you update a health check to remove a region that has been performing health checks, Route 53 will briefly continue to perform checks + * from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with + * four different regions).

                        + */ + Regions?: (HealthCheckRegion | string)[]; + + /** + *

                        Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello + * message during TLS negotiation. This allows the endpoint to respond to HTTPS health check requests with the applicable + * SSL/TLS certificate.

                        + *

                        Some endpoints require that HTTPS requests include the host name in the client_hello message. If you don't + * enable SNI, the status of the health check will be SSL alert handshake_failure. A health check can also have that status for + * other reasons. If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that + * your certificate is valid.

                        + *

                        The SSL/TLS certificate on your endpoint includes a domain name in the Common Name field and possibly several more in the + * Subject Alternative Names field. One of the domain names in the certificate should match the value that you specify for + * FullyQualifiedDomainName. If the endpoint responds to the client_hello message with a certificate that does not + * include the domain name that you specified in FullyQualifiedDomainName, a health checker will retry the handshake. In the + * second attempt, the health checker will omit FullyQualifiedDomainName from the client_hello message.

                        */ - HealthThreshold?: number; + EnableSNI?: boolean; /** *

                        A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether @@ -1754,59 +1875,22 @@ export interface HealthCheckConfig { AlarmIdentifier?: AlarmIdentifier; /** - *

                        The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

                        - * - *

                        You can't change the value of Type after you create a health check.

                        - *
                        - *

                        You can create the following types of health checks:

                        + *

                        The number of child health checks that are associated with a CALCULATED health check that Amazon Route 53 must consider healthy for the + * CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a + * CALCULATED health check, use the + * ChildHealthChecks + * element.

                        + *

                        Note the following:

                        *
                          *
                        • - *

                          - * HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request - * and waits for an HTTP status code of 200 or greater and less than 400.

                          - *
                        • - *
                        • - *

                          - * HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request - * and waits for an HTTP status code of 200 or greater and less than 400.

                          - * - *

                          If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

                          - *
                          - *
                        • - *
                        • - *

                          - * HTTP_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an - * HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

                          - *
                        • - *
                        • - *

                          - * HTTPS_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an - * HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

                          - *
                        • - *
                        • - *

                          - * TCP: Route 53 tries to establish a TCP connection.

                          - *
                        • - *
                        • - *

                          - * CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. If the state of the alarm is - * OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. - * If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status - * depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or - * LastKnownStatus.

                          + *

                          If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.

                          *
                        • *
                        • - *

                          - * CALCULATED: For health checks that monitor the status of other health checks, Route 53 adds up - * the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of - * HealthThreshold.

                          + *

                          If you specify 0, Route 53 always considers this health check to be healthy.

                          *
                        • *
                        - *

                        For more information, see - * How Route 53 - * Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

                        */ - Type: HealthCheckType | string | undefined; + HealthThreshold?: number; /** *

                        The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for @@ -1857,14 +1941,6 @@ export interface HealthCheckConfig { */ IPAddress?: string; - /** - *

                        The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint - * will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html. - * You can also include query string parameters, for example, /welcome.html?language=jp&login=y. - *

                        - */ - ResourcePath?: string; - /** *

                        Stops Route 53 from performing health checks. When you disable a health check, here's what happens:

                        *
                          @@ -1896,144 +1972,65 @@ export interface HealthCheckConfig { Disabled?: boolean; /** - *

                          Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello - * message during TLS negotiation. This allows the endpoint to respond to HTTPS health check requests with the applicable - * SSL/TLS certificate.

                          - *

                          Some endpoints require that HTTPS requests include the host name in the client_hello message. If you don't - * enable SNI, the status of the health check will be SSL alert handshake_failure. A health check can also have that status for - * other reasons. If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that - * your certificate is valid.

                          - *

                          The SSL/TLS certificate on your endpoint includes a domain name in the Common Name field and possibly several more in the - * Subject Alternative Names field. One of the domain names in the certificate should match the value that you specify for - * FullyQualifiedDomainName. If the endpoint responds to the client_hello message with a certificate that does not - * include the domain name that you specified in FullyQualifiedDomainName, a health checker will retry the handshake. In the - * second attempt, the health checker will omit FullyQualifiedDomainName from the client_hello message.

                          - */ - EnableSNI?: boolean; - - /** - *

                          Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

                          - * - *

                          - * If you specify a value for - * IPAddress:

                          - *

                          Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName - * in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint - * on which you want Route 53 to perform health checks.

                          - *

                          When Route 53 checks the health of an endpoint, here is how it constructs the Host header:

                          + *

                          The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

                          + * + *

                          You can't change the value of Type after you create a health check.

                          + *
                          + *

                          You can create the following types of health checks:

                          *
                            *
                          • - *

                            If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for - * Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

                            + *

                            + * HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request + * and waits for an HTTP status code of 200 or greater and less than 400.

                            *
                          • *
                          • - *

                            If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for - * Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

                            + *

                            + * HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request + * and waits for an HTTP status code of 200 or greater and less than 400.

                            + * + *

                            If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

                            + *
                            *
                          • *
                          • - *

                            If you specify another value for Port and any value except TCP for Type, Route 53 passes - * FullyQualifiedDomainName:Port to the endpoint in the Host header.

                            + *

                            + * HTTP_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an + * HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

                            *
                          • - *
                          - *

                          If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes the value of IPAddress in the - * Host header in each of the preceding cases.

                          - * - *

                          - * If you don't specify a value for IPAddress - * :

                          - *

                          Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for - * RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.

                          - * - *

                          If you don't specify a value for IPAddress, Route 53 uses only IPv4 to send health checks to the endpoint. If there's - * no resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a - * "DNS resolution failed" error.

                          - *
                          - *

                          If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by - * FullyQualifiedDomainName, we recommend that you create a separate health check for each endpoint. For example, create a - * health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, - * specify the domain name of the server (such as us-east-2-www.example.com), not the name of the resource record sets (www.example.com).

                          - * - *

                          In this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the - * resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

                          - *
                          - *

                          In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH, or - * HTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you - * specify a value for IPAddress. If the value of Type is TCP, Route 53 doesn't pass a Host header.

                          - */ - FullyQualifiedDomainName?: string; - - /** - *

                          The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next - * health check request. Each Route 53 health checker makes requests at this interval.

                          - * - *

                          You can't change the value of RequestInterval after you create a health check.

                          - *
                          - *

                          If you don't specify a value for RequestInterval, the default value is 30 seconds.

                          - */ - RequestInterval?: number; - - /** - *

                          Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it - * otherwise would be considered healthy.

                          - */ - Inverted?: boolean; - - /** - *

                          When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:

                          - *
                            *
                          • *

                            - * Healthy: Route 53 considers the health check to be healthy.

                            + * HTTPS_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an + * HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

                            *
                          • *
                          • *

                            - * Unhealthy: Route 53 considers the health check to be unhealthy.

                            + * TCP: Route 53 tries to establish a TCP connection.

                            *
                          • *
                          • *

                            - * LastKnownStatus: Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data - * to determine the alarm state. For new health checks that have no last known status, the default status for the health check is - * healthy.

                            + * CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. If the state of the alarm is + * OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. + * If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status + * depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or + * LastKnownStatus.

                            + *
                          • + *
                          • + *

                            + * CALCULATED: For health checks that monitor the status of other health checks, Route 53 adds up + * the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of + * HealthThreshold.

                            *
                          • *
                          + *

                          For more information, see + * How Route 53 + * Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

                          */ - InsufficientDataHealthStatus?: InsufficientDataHealthStatus | string; - - /** - *

                          The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint - * from unhealthy to healthy or vice versa. For more information, see - * How Amazon Route 53 Determines Whether an Endpoint Is Healthy - * in the Amazon Route 53 Developer Guide.

                          - *

                          If you don't specify a value for FailureThreshold, the default value is three health checks.

                          - */ - FailureThreshold?: number; - - /** - *

                          If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search for in the - * response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy.

                          - *

                          Route 53 considers case when searching for SearchString in the response body.

                          - */ - SearchString?: string; - - /** - *

                          A complex type that contains one Region element for each region from which you want Amazon Route 53 health checkers to check the - * specified endpoint.

                          - *

                          If you don't specify any regions, Route 53 health checkers automatically performs checks from all of the regions that are listed under - * Valid Values.

                          - *

                          If you update a health check to remove a region that has been performing health checks, Route 53 will briefly continue to perform checks - * from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with - * four different regions).

                          - */ - Regions?: (HealthCheckRegion | string)[]; + Type: HealthCheckType | string | undefined; /** - *

                          Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to - * display CloudWatch latency graphs on the Health Checks page in the Route 53 console.

                          - * - *

                          You can't change the value of MeasureLatency after you create a health check.

                          - *
                          + *

                          (CALCULATED Health Checks Only) A complex type that contains one ChildHealthCheck element for each health check that + * you want to associate with a CALCULATED health check.

                          */ - MeasureLatency?: boolean; + ChildHealthChecks?: string[]; /** *

                          The port on the endpoint that you want Amazon Route 53 to perform health checks on.

                          @@ -2045,10 +2042,13 @@ export interface HealthCheckConfig { Port?: number; /** - *

                          (CALCULATED Health Checks Only) A complex type that contains one ChildHealthCheck element for each health check that - * you want to associate with a CALCULATED health check.

                          + *

                          Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to + * display CloudWatch latency graphs on the Health Checks page in the Route 53 console.

                          + * + *

                          You can't change the value of MeasureLatency after you create a health check.

                          + *
                          */ - ChildHealthChecks?: string[]; + MeasureLatency?: boolean; } export namespace HealthCheckConfig { @@ -2109,14 +2109,14 @@ export type ComparisonOperator = */ export interface Dimension { /** - *

                          For the metric that the CloudWatch alarm is associated with, the name of one dimension.

                          + *

                          For the metric that the CloudWatch alarm is associated with, the value of one dimension.

                          */ - Name: string | undefined; + Value: string | undefined; /** - *

                          For the metric that the CloudWatch alarm is associated with, the value of one dimension.

                          + *

                          For the metric that the CloudWatch alarm is associated with, the name of one dimension.

                          */ - Value: string | undefined; + Name: string | undefined; } export namespace Dimension { @@ -2131,18 +2131,6 @@ export type Statistic = "Average" | "Maximum" | "Minimum" | "SampleCount" | "Sum *

                          A complex type that contains information about the CloudWatch alarm that Amazon Route 53 is monitoring for this health check.

                          */ export interface CloudWatchAlarmConfiguration { - /** - *

                          For the metric that the CloudWatch alarm is associated with, the value the metric is compared with.

                          - */ - Threshold: number | undefined; - - /** - *

                          The namespace of the metric that the alarm is associated with. For more information, see - * Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference - * in the Amazon CloudWatch User Guide.

                          - */ - Namespace: string | undefined; - /** *

                          For the metric that the CloudWatch alarm is associated with, the duration of one evaluation period in seconds.

                          */ @@ -2157,24 +2145,36 @@ export interface CloudWatchAlarmConfiguration { Dimensions?: Dimension[]; /** - *

                          For the metric that the CloudWatch alarm is associated with, the number of periods that the metric is compared to the threshold.

                          + *

                          The namespace of the metric that the alarm is associated with. For more information, see + * Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference + * in the Amazon CloudWatch User Guide.

                          + */ + Namespace: string | undefined; + + /** + *

                          For the metric that the CloudWatch alarm is associated with, the value the metric is compared with.

                          */ - EvaluationPeriods: number | undefined; + Threshold: number | undefined; /** *

                          For the metric that the CloudWatch alarm is associated with, the arithmetic operation that is used for the comparison.

                          */ ComparisonOperator: ComparisonOperator | string | undefined; + /** + *

                          The name of the CloudWatch metric that the alarm is associated with.

                          + */ + MetricName: string | undefined; + /** *

                          For the metric that the CloudWatch alarm is associated with, the statistic that is applied to the metric.

                          */ Statistic: Statistic | string | undefined; /** - *

                          The name of the CloudWatch metric that the alarm is associated with.

                          + *

                          For the metric that the CloudWatch alarm is associated with, the number of periods that the metric is compared to the threshold.

                          */ - MetricName: string | undefined; + EvaluationPeriods: number | undefined; } export namespace CloudWatchAlarmConfiguration { @@ -2188,17 +2188,17 @@ export namespace CloudWatchAlarmConfiguration { * describes the service that created the resource. When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

                          */ export interface LinkedService { - /** - *

                          If the health check or hosted zone was created by another service, an optional description that can be provided by the other service. - * When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

                          - */ - Description?: string; - /** *

                          If the health check or hosted zone was created by another service, the service that created the resource. When a resource is created * by another service, you can't edit or delete it using Amazon Route 53.

                          */ ServicePrincipal?: string; + + /** + *

                          If the health check or hosted zone was created by another service, an optional description that can be provided by the other service. + * When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

                          + */ + Description?: string; } export namespace LinkedService { @@ -2218,14 +2218,10 @@ export interface HealthCheck { Id: string | undefined; /** - *

                          A complex type that contains detailed information about one health check.

                          - */ - HealthCheckConfig: HealthCheckConfig | undefined; - - /** - *

                          A complex type that contains information about the CloudWatch alarm that Amazon Route 53 is monitoring for this health check.

                          + *

                          The version of the health check. You can optionally pass this value in a call to UpdateHealthCheck to prevent overwriting + * another change to the health check.

                          */ - CloudWatchAlarmConfiguration?: CloudWatchAlarmConfiguration; + HealthCheckVersion: number | undefined; /** *

                          A unique string that you specified when you created the health check.

                          @@ -2233,16 +2229,20 @@ export interface HealthCheck { CallerReference: string | undefined; /** - *

                          The version of the health check. You can optionally pass this value in a call to UpdateHealthCheck to prevent overwriting - * another change to the health check.

                          + *

                          A complex type that contains detailed information about one health check.

                          */ - HealthCheckVersion: number | undefined; + HealthCheckConfig: HealthCheckConfig | undefined; /** *

                          If the health check was created by another service, the service that created the health check. When a health check is created * by another service, you can't edit or delete it using Amazon Route 53.

                          */ LinkedService?: LinkedService; + + /** + *

                          A complex type that contains information about the CloudWatch alarm that Amazon Route 53 is monitoring for this health check.

                          + */ + CloudWatchAlarmConfiguration?: CloudWatchAlarmConfiguration; } export namespace HealthCheck { @@ -2331,14 +2331,14 @@ export namespace TooManyHealthChecks { */ export interface HostedZoneConfig { /** - *

                          Any comments that you want to include about the hosted zone.

                          + *

                          A value that indicates whether this is a private hosted zone.

                          */ - Comment?: string; + PrivateZone?: boolean; /** - *

                          A value that indicates whether this is a private hosted zone.

                          + *

                          Any comments that you want to include about the hosted zone.

                          */ - PrivateZone?: boolean; + Comment?: string; } export namespace HostedZoneConfig { @@ -2351,13 +2351,6 @@ export namespace HostedZoneConfig { *

                          A complex type that contains information about the request to create a public or private hosted zone.

                          */ export interface CreateHostedZoneRequest { - /** - *

                          A unique string that identifies the request and that allows failed CreateHostedZone requests to be retried without - * the risk of executing the operation twice. You must use a unique CallerReference string every time you submit a - * CreateHostedZone request. CallerReference can be any unique string, for example, a date/time stamp.

                          - */ - CallerReference: string | undefined; - /** *

                          (Optional) A complex type that contains the following optional values:

                          *
                            @@ -2383,6 +2376,13 @@ export interface CreateHostedZoneRequest { */ Name: string | undefined; + /** + *

                            If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set + * when you created it. For more information about reusable delegation sets, see + * CreateReusableDelegationSet.

                            + */ + DelegationSetId?: string; + /** *

                            (Private hosted zones only) A complex type that contains information about the Amazon VPC that you're associating with this hosted zone.

                            *

                            You can specify only one Amazon VPC when you create a private hosted zone. To associate additional Amazon VPCs with the hosted zone, @@ -2392,11 +2392,11 @@ export interface CreateHostedZoneRequest { VPC?: VPC; /** - *

                            If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set - * when you created it. For more information about reusable delegation sets, see - * CreateReusableDelegationSet.

                            + *

                            A unique string that identifies the request and that allows failed CreateHostedZone requests to be retried without + * the risk of executing the operation twice. You must use a unique CallerReference string every time you submit a + * CreateHostedZone request. CallerReference can be any unique string, for example, a date/time stamp.

                            */ - DelegationSetId?: string; + CallerReference: string | undefined; } export namespace CreateHostedZoneRequest { @@ -2416,14 +2416,14 @@ export interface DelegationSet { NameServers: string[] | undefined; /** - *

                            The value that you specified for CallerReference when you created the reusable delegation set.

                            + *

                            The ID that Amazon Route 53 assigns to a reusable delegation set.

                            */ - CallerReference?: string; + Id?: string; /** - *

                            The ID that Amazon Route 53 assigns to a reusable delegation set.

                            + *

                            The value that you specified for CallerReference when you created the reusable delegation set.

                            */ - Id?: string; + CallerReference?: string; } export namespace DelegationSet { @@ -2441,6 +2441,11 @@ export interface HostedZone { */ ResourceRecordSetCount?: number; + /** + *

                            The ID that Amazon Route 53 assigned to the hosted zone when you created it.

                            + */ + Id: string | undefined; + /** *

                            The name of the domain. For public hosted zones, this is the name that you have * registered with your DNS registrar.

                            @@ -2450,6 +2455,12 @@ export interface HostedZone { */ Name: string | undefined; + /** + *

                            The value that you specified for CallerReference when you created the + * hosted zone.

                            + */ + CallerReference: string | undefined; + /** *

                            A complex type that includes the Comment and PrivateZone * elements. If you omitted the HostedZoneConfig and Comment elements @@ -2463,17 +2474,6 @@ export interface HostedZone { * by another service, you can't edit or delete it using Route 53.

                            */ LinkedService?: LinkedService; - - /** - *

                            The value that you specified for CallerReference when you created the - * hosted zone.

                            - */ - CallerReference: string | undefined; - - /** - *

                            The ID that Amazon Route 53 assigned to the hosted zone when you created it.

                            - */ - Id: string | undefined; } export namespace HostedZone { @@ -2492,24 +2492,24 @@ export interface CreateHostedZoneResponse { HostedZone: HostedZone | undefined; /** - *

                            A complex type that contains information about the CreateHostedZone request.

                            + *

                            The unique URL representing the new hosted zone.

                            */ - ChangeInfo: ChangeInfo | undefined; + Location: string | undefined; /** - *

                            A complex type that contains information about an Amazon VPC that you associated with this hosted zone.

                            + *

                            A complex type that contains information about the CreateHostedZone request.

                            */ - VPC?: VPC; + ChangeInfo: ChangeInfo | undefined; /** - *

                            The unique URL representing the new hosted zone.

                            + *

                            A complex type that describes the name servers for this hosted zone.

                            */ - Location: string | undefined; + DelegationSet: DelegationSet | undefined; /** - *

                            A complex type that describes the name servers for this hosted zone.

                            + *

                            A complex type that contains information about an Amazon VPC that you associated with this hosted zone.

                            */ - DelegationSet: DelegationSet | undefined; + VPC?: VPC; } export namespace CreateHostedZoneResponse { @@ -2656,6 +2656,11 @@ export namespace ConcurrentModification { } export interface CreateQueryLoggingConfigRequest { + /** + *

                            The ID of the hosted zone that you want to log queries for. You can log queries only for public hosted zones.

                            + */ + HostedZoneId: string | undefined; + /** *

                            The Amazon Resource Name (ARN) for the log group that you want to Amazon Route 53 to send query logs to. This is the format * of the ARN:

                            @@ -2669,11 +2674,6 @@ export interface CreateQueryLoggingConfigRequest { * or the applicable command in one of the AWS SDKs.

                            */ CloudWatchLogsLogGroupArn: string | undefined; - - /** - *

                            The ID of the hosted zone that you want to log queries for. You can log queries only for public hosted zones.

                            - */ - HostedZoneId: string | undefined; } export namespace CreateQueryLoggingConfigRequest { @@ -2692,14 +2692,14 @@ export interface QueryLoggingConfig { Id: string | undefined; /** - *

                            The ID of the hosted zone that CloudWatch Logs is logging queries for.

                            + *

                            The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.

                            */ - HostedZoneId: string | undefined; + CloudWatchLogsLogGroupArn: string | undefined; /** - *

                            The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.

                            + *

                            The ID of the hosted zone that CloudWatch Logs is logging queries for.

                            */ - CloudWatchLogsLogGroupArn: string | undefined; + HostedZoneId: string | undefined; } export namespace QueryLoggingConfig { @@ -2787,12 +2787,6 @@ export namespace QueryLoggingConfigAlreadyExists { } export interface CreateReusableDelegationSetRequest { - /** - *

                            If you want to mark the delegation set for an existing hosted zone as reusable, the ID - * for that hosted zone.

                            - */ - HostedZoneId?: string; - /** *

                            A unique string that identifies the request, and that allows you to retry failed * CreateReusableDelegationSet requests without the risk of executing the @@ -2801,6 +2795,12 @@ export interface CreateReusableDelegationSetRequest { * any unique string, for example a date/time stamp.

                            */ CallerReference: string | undefined; + + /** + *

                            If you want to mark the delegation set for an existing hosted zone as reusable, the ID + * for that hosted zone.

                            + */ + HostedZoneId?: string; } export namespace CreateReusableDelegationSetRequest { @@ -2909,15 +2909,15 @@ export interface CreateTrafficPolicyRequest { Name: string | undefined; /** - *

                            The definition of this traffic policy in JSON format. For more information, see - * Traffic Policy Document Format.

                            + *

                            (Optional) Any comments that you want to include about the traffic policy.

                            */ - Document: string | undefined; + Comment?: string; /** - *

                            (Optional) Any comments that you want to include about the traffic policy.

                            + *

                            The definition of this traffic policy in JSON format. For more information, see + * Traffic Policy Document Format.

                            */ - Comment?: string; + Document: string | undefined; } export namespace CreateTrafficPolicyRequest { @@ -2930,6 +2930,13 @@ export namespace CreateTrafficPolicyRequest { *

                            A complex type that contains settings for a traffic policy.

                            */ export interface TrafficPolicy { + /** + *

                            The definition of a traffic policy in JSON format. You specify the JSON document to use for a new + * traffic policy in the CreateTrafficPolicy request. For more information about the JSON format, see + * Traffic Policy Document Format.

                            + */ + Document: string | undefined; + /** *

                            The DNS type of the resource record sets that Amazon Route 53 creates when you use a traffic policy * to create a traffic policy instance.

                            @@ -2947,22 +2954,15 @@ export interface TrafficPolicy { Name: string | undefined; /** - *

                            The definition of a traffic policy in JSON format. You specify the JSON document to use for a new - * traffic policy in the CreateTrafficPolicy request. For more information about the JSON format, see - * Traffic Policy Document Format.

                            + *

                            The ID that Amazon Route 53 assigned to a traffic policy when you created it.

                            */ - Document: string | undefined; + Id: string | undefined; /** *

                            The version number that Amazon Route 53 assigns to a traffic policy. For a new traffic policy, * the value of Version is always 1.

                            */ Version: number | undefined; - - /** - *

                            The ID that Amazon Route 53 assigned to a traffic policy when you created it.

                            - */ - Id: string | undefined; } export namespace TrafficPolicy { @@ -3056,21 +3056,15 @@ export namespace TrafficPolicyAlreadyExists { *

                            A complex type that contains information about the resource record sets that you want to create based on a specified traffic policy.

                            */ export interface CreateTrafficPolicyInstanceRequest { - /** - *

                            The domain name (such as example.com) or subdomain name (such as www.example.com) for which Amazon Route 53 responds to DNS queries by using - * the resource record sets that Route 53 creates for this traffic policy instance.

                            - */ - Name: string | undefined; - /** *

                            (Optional) The TTL that you want Amazon Route 53 to assign to all of the resource record sets that it creates in the specified hosted zone.

                            */ TTL: number | undefined; /** - *

                            The ID of the traffic policy that you want to use to create resource record sets in the specified hosted zone.

                            + *

                            The ID of the hosted zone that you want Amazon Route 53 to create resource record sets in by using the configuration in a traffic policy.

                            */ - TrafficPolicyId: string | undefined; + HostedZoneId: string | undefined; /** *

                            The version of the traffic policy that you want to use to create resource record sets in the specified hosted zone.

                            @@ -3078,9 +3072,15 @@ export interface CreateTrafficPolicyInstanceRequest { TrafficPolicyVersion: number | undefined; /** - *

                            The ID of the hosted zone that you want Amazon Route 53 to create resource record sets in by using the configuration in a traffic policy.

                            + *

                            The ID of the traffic policy that you want to use to create resource record sets in the specified hosted zone.

                            */ - HostedZoneId: string | undefined; + TrafficPolicyId: string | undefined; + + /** + *

                            The domain name (such as example.com) or subdomain name (such as www.example.com) for which Amazon Route 53 responds to DNS queries by using + * the resource record sets that Route 53 creates for this traffic policy instance.

                            + */ + Name: string | undefined; } export namespace CreateTrafficPolicyInstanceRequest { @@ -3093,43 +3093,11 @@ export namespace CreateTrafficPolicyInstanceRequest { *

                            A complex type that contains settings for the new traffic policy instance.

                            */ export interface TrafficPolicyInstance { - /** - *

                            The TTL that Amazon Route 53 assigned to all of the resource record sets that it created in the specified hosted zone.

                            - */ - TTL: number | undefined; - /** *

                            The ID that Amazon Route 53 assigned to the new traffic policy instance.

                            */ Id: string | undefined; - /** - *

                            The version of the traffic policy that Amazon Route 53 used to create resource record sets in the specified hosted zone.

                            - */ - TrafficPolicyVersion: number | undefined; - - /** - *

                            The DNS name, such as www.example.com, for which Amazon Route 53 responds to queries by using the - * resource record sets that are associated with this traffic policy instance.

                            - */ - Name: string | undefined; - - /** - *

                            If State is Failed, an explanation of the reason for the failure. If State is another value, - * Message is empty.

                            - */ - Message: string | undefined; - - /** - *

                            The ID of the traffic policy that Amazon Route 53 used to create resource record sets in the specified hosted zone.

                            - */ - TrafficPolicyId: string | undefined; - - /** - *

                            The DNS type that Amazon Route 53 assigned to all of the resource record sets that it created for this traffic policy instance.

                            - */ - TrafficPolicyType: RRType | string | undefined; - /** *

                            The value of State is one of the following values:

                            *
                            @@ -3149,12 +3117,44 @@ export interface TrafficPolicyInstance { * *
                            */ - State: string | undefined; + State: string | undefined; + + /** + *

                            The DNS type that Amazon Route 53 assigned to all of the resource record sets that it created for this traffic policy instance.

                            + */ + TrafficPolicyType: RRType | string | undefined; + + /** + *

                            The TTL that Amazon Route 53 assigned to all of the resource record sets that it created in the specified hosted zone.

                            + */ + TTL: number | undefined; + + /** + *

                            If State is Failed, an explanation of the reason for the failure. If State is another value, + * Message is empty.

                            + */ + Message: string | undefined; + + /** + *

                            The ID of the hosted zone that Amazon Route 53 created resource record sets in.

                            + */ + HostedZoneId: string | undefined; + + /** + *

                            The version of the traffic policy that Amazon Route 53 used to create resource record sets in the specified hosted zone.

                            + */ + TrafficPolicyVersion: number | undefined; /** - *

                            The ID of the hosted zone that Amazon Route 53 created resource record sets in.

                            + *

                            The DNS name, such as www.example.com, for which Amazon Route 53 responds to queries by using the + * resource record sets that are associated with this traffic policy instance.

                            */ - HostedZoneId: string | undefined; + Name: string | undefined; + + /** + *

                            The ID of the traffic policy that Amazon Route 53 used to create resource record sets in the specified hosted zone.

                            + */ + TrafficPolicyId: string | undefined; } export namespace TrafficPolicyInstance { @@ -3168,14 +3168,14 @@ export namespace TrafficPolicyInstance { */ export interface CreateTrafficPolicyInstanceResponse { /** - *

                            A complex type that contains settings for the new traffic policy instance.

                            + *

                            A unique URL that represents a new traffic policy instance.

                            */ - TrafficPolicyInstance: TrafficPolicyInstance | undefined; + Location: string | undefined; /** - *

                            A unique URL that represents a new traffic policy instance.

                            + *

                            A complex type that contains settings for the new traffic policy instance.

                            */ - Location: string | undefined; + TrafficPolicyInstance: TrafficPolicyInstance | undefined; } export namespace CreateTrafficPolicyInstanceResponse { @@ -3346,14 +3346,14 @@ export namespace CreateVPCAssociationAuthorizationRequest { */ export interface CreateVPCAssociationAuthorizationResponse { /** - *

                            The VPC that you authorized associating with a hosted zone.

                            + *

                            The ID of the hosted zone that you authorized associating a VPC with.

                            */ - VPC: VPC | undefined; + HostedZoneId: string | undefined; /** - *

                            The ID of the hosted zone that you authorized associating a VPC with.

                            + *

                            The VPC that you authorized associating with a hosted zone.

                            */ - HostedZoneId: string | undefined; + VPC: VPC | undefined; } export namespace CreateVPCAssociationAuthorizationResponse { @@ -3666,15 +3666,15 @@ export namespace NoSuchTrafficPolicyInstance { export interface DeleteVPCAssociationAuthorizationRequest { /** *

                            When removing authorization to associate a VPC that was created by one AWS account with a hosted zone - * that was created with a different AWS account, a complex type that includes the ID and region of the VPC.

                            + * that was created with a different AWS account, the ID of the hosted zone.

                            */ - VPC: VPC | undefined; + HostedZoneId: string | undefined; /** *

                            When removing authorization to associate a VPC that was created by one AWS account with a hosted zone - * that was created with a different AWS account, the ID of the hosted zone.

                            + * that was created with a different AWS account, a complex type that includes the ID and region of the VPC.

                            */ - HostedZoneId: string | undefined; + VPC: VPC | undefined; } export namespace DeleteVPCAssociationAuthorizationRequest { @@ -3717,6 +3717,11 @@ export namespace VPCAssociationAuthorizationNotFound { * specified private hosted zone.

                            */ export interface DisassociateVPCFromHostedZoneRequest { + /** + *

                            The ID of the private hosted zone that you want to disassociate a VPC from.

                            + */ + HostedZoneId: string | undefined; + /** *

                            * Optional: A comment about the disassociation request.

                            @@ -3728,11 +3733,6 @@ export interface DisassociateVPCFromHostedZoneRequest { * from the specified hosted zone.

                            */ VPC: VPC | undefined; - - /** - *

                            The ID of the private hosted zone that you want to disassociate a VPC from.

                            - */ - HostedZoneId: string | undefined; } export namespace DisassociateVPCFromHostedZoneRequest { @@ -4003,25 +4003,20 @@ export namespace GetGeoLocationRequest { *

                            A complex type that contains the codes and full continent, country, and subdivision names for the specified geolocation code.

                            */ export interface GeoLocationDetails { - /** - *

                            The name of the country.

                            - */ - CountryName?: string; - /** *

                            The full name of the continent.

                            */ ContinentName?: string; /** - *

                            The full name of the subdivision. Route 53 currently supports only states in the United States.

                            + *

                            The name of the country.

                            */ - SubdivisionName?: string; + CountryName?: string; /** - *

                            The code for the subdivision. Route 53 currently supports only states in the United States.

                            + *

                            The full name of the subdivision. Route 53 currently supports only states in the United States.

                            */ - SubdivisionCode?: string; + SubdivisionName?: string; /** *

                            The two-letter code for the continent.

                            @@ -4032,6 +4027,11 @@ export interface GeoLocationDetails { *

                            The two-letter code for the country.

                            */ CountryCode?: string; + + /** + *

                            The code for the subdivision. Route 53 currently supports only states in the United States.

                            + */ + SubdivisionCode?: string; } export namespace GeoLocationDetails { @@ -4297,9 +4297,9 @@ export namespace GetHostedZoneRequest { */ export interface GetHostedZoneResponse { /** - *

                            A complex type that lists the Amazon Route 53 name servers for the specified hosted zone.

                            + *

                            A complex type that contains information about the VPCs that are associated with the specified hosted zone.

                            */ - DelegationSet?: DelegationSet; + VPCs?: VPC[]; /** *

                            A complex type that contains general information about the specified hosted zone.

                            @@ -4307,9 +4307,9 @@ export interface GetHostedZoneResponse { HostedZone: HostedZone | undefined; /** - *

                            A complex type that contains information about the VPCs that are associated with the specified hosted zone.

                            + *

                            A complex type that lists the Amazon Route 53 name servers for the specified hosted zone.

                            */ - VPCs?: VPC[]; + DelegationSet?: DelegationSet; } export namespace GetHostedZoneResponse { @@ -4417,19 +4417,19 @@ export namespace HostedZoneLimit { *

                            A complex type that contains the requested limit.

                            */ export interface GetHostedZoneLimitResponse { - /** - *

                            The current setting for the specified limit. For example, if you specified MAX_RRSETS_BY_ZONE for the value of - * Type in the request, the value of Limit is the maximum number of records that you can create - * in the specified hosted zone.

                            - */ - Limit: HostedZoneLimit | undefined; - /** *

                            The current number of entities that you have created of the specified type. For example, if you specified * MAX_RRSETS_BY_ZONE for the value of Type in the request, the value of Count * is the current number of records that you have created in the specified hosted zone.

                            */ Count: number | undefined; + + /** + *

                            The current setting for the specified limit. For example, if you specified MAX_RRSETS_BY_ZONE for the value of + * Type in the request, the value of Limit is the maximum number of records that you can create + * in the specified hosted zone.

                            + */ + Limit: HostedZoneLimit | undefined; } export namespace GetHostedZoneLimitResponse { @@ -4682,15 +4682,6 @@ export namespace GetTrafficPolicyInstanceCountResponse { *

                            A request to get a list of geographic locations that Amazon Route 53 supports for geolocation resource record sets.

                            */ export interface ListGeoLocationsRequest { - /** - *

                            The code for the continent with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Route 53 has already - * returned a page or more of results, if IsTruncated is true, and if NextContinentCode from the previous - * response has a value, enter that value in startcontinentcode to return the next page of results.

                            - *

                            Include startcontinentcode only if you want to list continents. Don't include startcontinentcode - * when you're listing countries or countries with their subdivisions.

                            - */ - StartContinentCode?: string; - /** *

                            The code for the state of the United States with which you want to start listing locations that Amazon Route 53 supports * for geolocation. If Route 53 has already returned a page or more of results, if IsTruncated is true, and if @@ -4700,6 +4691,15 @@ export interface ListGeoLocationsRequest { */ StartSubdivisionCode?: string; + /** + *

                            The code for the continent with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Route 53 has already + * returned a page or more of results, if IsTruncated is true, and if NextContinentCode from the previous + * response has a value, enter that value in startcontinentcode to return the next page of results.

                            + *

                            Include startcontinentcode only if you want to list continents. Don't include startcontinentcode + * when you're listing countries or countries with their subdivisions.

                            + */ + StartContinentCode?: string; + /** *

                            The code for the country with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Route 53 has already * returned a page or more of results, if IsTruncated is true, and if NextCountryCode from the @@ -4724,6 +4724,12 @@ export namespace ListGeoLocationsRequest { *

                            A complex type containing the response information for the request.

                            */ export interface ListGeoLocationsResponse { + /** + *

                            If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of + * NextSubdivisionCode in the startsubdivisioncode parameter in another ListGeoLocations request.

                            + */ + NextSubdivisionCode?: string; + /** *

                            A complex type that contains one GeoLocationDetails element for each location that Amazon Route 53 supports for geolocation.

                            */ @@ -4731,17 +4737,14 @@ export interface ListGeoLocationsResponse { /** *

                            If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of - * NextSubdivisionCode in the startsubdivisioncode parameter in another ListGeoLocations request.

                            + * NextCountryCode in the startcountrycode parameter in another ListGeoLocations request.

                            */ - NextSubdivisionCode?: string; + NextCountryCode?: string; /** - *

                            A value that indicates whether more locations remain to be listed after the last location in this response. If so, the value of - * IsTruncated is true. To get more values, submit another request and include the values of NextContinentCode, - * NextCountryCode, and NextSubdivisionCode in the startcontinentcode, startcountrycode, and - * startsubdivisioncode, as applicable.

                            + *

                            The value that you specified for MaxItems in the request.

                            */ - IsTruncated: boolean | undefined; + MaxItems: string | undefined; /** *

                            If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of @@ -4750,15 +4753,12 @@ export interface ListGeoLocationsResponse { NextContinentCode?: string; /** - *

                            If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of - * NextCountryCode in the startcountrycode parameter in another ListGeoLocations request.

                            - */ - NextCountryCode?: string; - - /** - *

                            The value that you specified for MaxItems in the request.

                            + *

                            A value that indicates whether more locations remain to be listed after the last location in this response. If so, the value of + * IsTruncated is true. To get more values, submit another request and include the values of NextContinentCode, + * NextCountryCode, and NextSubdivisionCode in the startcontinentcode, startcountrycode, and + * startsubdivisioncode, as applicable.

                            */ - MaxItems: string | undefined; + IsTruncated: boolean | undefined; } export namespace ListGeoLocationsResponse { @@ -4771,12 +4771,6 @@ export namespace ListGeoLocationsResponse { *

                            A request to retrieve a list of the health checks that are associated with the current AWS account.

                            */ export interface ListHealthChecksRequest { - /** - *

                            The maximum number of health checks that you want ListHealthChecks to return in response to the current request. - * Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Route 53 returns only the first 100 health checks.

                            - */ - MaxItems?: string; - /** *

                            If the value of IsTruncated in the previous response was true, you have more health checks. To get another group, * submit another ListHealthChecks request.

                            @@ -4785,6 +4779,12 @@ export interface ListHealthChecksRequest { *

                            If the value of IsTruncated in the previous response was false, there are no more health checks to get.

                            */ Marker?: string; + + /** + *

                            The maximum number of health checks that you want ListHealthChecks to return in response to the current request. + * Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Route 53 returns only the first 100 health checks.

                            + */ + MaxItems?: string; } export namespace ListHealthChecksRequest { @@ -4798,10 +4798,10 @@ export namespace ListHealthChecksRequest { */ export interface ListHealthChecksResponse { /** - *

                            A complex type that contains one HealthCheck element for each health check that is associated with the current - * AWS account.

                            + *

                            The value that you specified for the maxitems parameter in the call to ListHealthChecks that produced the + * current response.

                            */ - HealthChecks: HealthCheck[] | undefined; + MaxItems: string | undefined; /** *

                            A flag that indicates whether there are more health checks to be listed. If the response was truncated, you can get the next group of @@ -4810,12 +4810,6 @@ export interface ListHealthChecksResponse { */ IsTruncated: boolean | undefined; - /** - *

                            The value that you specified for the maxitems parameter in the call to ListHealthChecks that produced the - * current response.

                            - */ - MaxItems: string | undefined; - /** *

                            If IsTruncated is true, the value of NextMarker identifies the first health check that Amazon Route 53 * returns if you submit another ListHealthChecks request and specify the value of NextMarker in @@ -4828,6 +4822,12 @@ export interface ListHealthChecksResponse { * marker parameter in the previous request.

                            */ Marker: string | undefined; + + /** + *

                            A complex type that contains one HealthCheck element for each health check that is associated with the current + * AWS account.

                            + */ + HealthChecks: HealthCheck[] | undefined; } export namespace ListHealthChecksResponse { @@ -4846,6 +4846,13 @@ export interface ListHostedZonesRequest { */ DelegationSetId?: string; + /** + *

                            (Optional) The maximum number of hosted zones that you want Amazon Route 53 to return. If you have more than maxitems + * hosted zones, the value of IsTruncated in the response is true, and the value of NextMarker + * is the hosted zone ID of the first hosted zone that Route 53 will return if you submit another request.

                            + */ + MaxItems?: string; + /** *

                            If the value of IsTruncated in the previous response was true, you have more hosted zones. * To get more hosted zones, submit another ListHostedZones request.

                            @@ -4854,13 +4861,6 @@ export interface ListHostedZonesRequest { *

                            If the value of IsTruncated in the previous response was false, there are no more hosted zones to get.

                            */ Marker?: string; - - /** - *

                            (Optional) The maximum number of hosted zones that you want Amazon Route 53 to return. If you have more than maxitems - * hosted zones, the value of IsTruncated in the response is true, and the value of NextMarker - * is the hosted zone ID of the first hosted zone that Route 53 will return if you submit another request.

                            - */ - MaxItems?: string; } export namespace ListHostedZonesRequest { @@ -4879,9 +4879,10 @@ export interface ListHostedZonesResponse { NextMarker?: string; /** - *

                            A complex type that contains general information about the hosted zone.

                            + *

                            For the second and subsequent calls to ListHostedZones, Marker is the value that you specified for the + * marker parameter in the request that produced the current response.

                            */ - HostedZones: HostedZone[] | undefined; + Marker: string | undefined; /** *

                            A flag indicating whether there are more hosted zones to be listed. If the response was truncated, you can get more hosted zones @@ -4891,16 +4892,15 @@ export interface ListHostedZonesResponse { IsTruncated: boolean | undefined; /** - *

                            The value that you specified for the maxitems parameter in the call to ListHostedZones that - * produced the current response.

                            + *

                            A complex type that contains general information about the hosted zone.

                            */ - MaxItems: string | undefined; + HostedZones: HostedZone[] | undefined; /** - *

                            For the second and subsequent calls to ListHostedZones, Marker is the value that you specified for the - * marker parameter in the request that produced the current response.

                            + *

                            The value that you specified for the maxitems parameter in the call to ListHostedZones that + * produced the current response.

                            */ - Marker: string | undefined; + MaxItems: string | undefined; } export namespace ListHostedZonesResponse { @@ -4922,13 +4922,6 @@ export interface ListHostedZonesByNameRequest { */ DNSName?: string; - /** - *

                            The maximum number of hosted zones to be included in the response body for this request. If you have more than maxitems - * hosted zones, then the value of the IsTruncated element in the response is true, and the values of NextDNSName and - * NextHostedZoneId specify the first hosted zone in the next group of maxitems hosted zones.

                            - */ - MaxItems?: string; - /** *

                            (Optional) For your first request to ListHostedZonesByName, do not include the hostedzoneid parameter.

                            *

                            If you have more hosted zones than the value of maxitems, ListHostedZonesByName returns only the first @@ -4937,6 +4930,13 @@ export interface ListHostedZonesByNameRequest { * hostedzoneid, specify the value of the NextHostedZoneId element from the previous response.

                            */ HostedZoneId?: string; + + /** + *

                            The maximum number of hosted zones to be included in the response body for this request. If you have more than maxitems + * hosted zones, then the value of the IsTruncated element in the response is true, and the values of NextDNSName and + * NextHostedZoneId specify the first hosted zone in the next group of maxitems hosted zones.

                            + */ + MaxItems?: string; } export namespace ListHostedZonesByNameRequest { @@ -4958,23 +4958,21 @@ export interface ListHostedZonesByNameResponse { NextHostedZoneId?: string; /** - *

                            The ID that Amazon Route 53 assigned to the hosted zone when you created it.

                            + *

                            A complex type that contains general information about the hosted zone.

                            */ - HostedZoneId?: string; + HostedZones: HostedZone[] | undefined; /** - *

                            For the second and subsequent calls to ListHostedZonesByName, DNSName is the value that you specified for the - * dnsname parameter in the request that produced the current response.

                            + *

                            The ID that Amazon Route 53 assigned to the hosted zone when you created it.

                            */ - DNSName?: string; + HostedZoneId?: string; /** - *

                            If IsTruncated is true, the value of NextDNSName is the name of the first hosted zone in the next group of - * maxitems hosted zones. Call ListHostedZonesByName again and specify the value of NextDNSName - * and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

                            - *

                            This element is present only if IsTruncated is true.

                            + *

                            A flag that indicates whether there are more hosted zones to be listed. If the response was truncated, you can get the next group of + * maxitems hosted zones by calling ListHostedZonesByName again and specifying the values of NextDNSName and + * NextHostedZoneId elements in the dnsname and hostedzoneid parameters.

                            */ - NextDNSName?: string; + IsTruncated: boolean | undefined; /** *

                            The value that you specified for the maxitems parameter in the call to ListHostedZonesByName that produced the @@ -4983,16 +4981,18 @@ export interface ListHostedZonesByNameResponse { MaxItems: string | undefined; /** - *

                            A complex type that contains general information about the hosted zone.

                            + *

                            If IsTruncated is true, the value of NextDNSName is the name of the first hosted zone in the next group of + * maxitems hosted zones. Call ListHostedZonesByName again and specify the value of NextDNSName + * and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

                            + *

                            This element is present only if IsTruncated is true.

                            */ - HostedZones: HostedZone[] | undefined; + NextDNSName?: string; /** - *

                            A flag that indicates whether there are more hosted zones to be listed. If the response was truncated, you can get the next group of - * maxitems hosted zones by calling ListHostedZonesByName again and specifying the values of NextDNSName and - * NextHostedZoneId elements in the dnsname and hostedzoneid parameters.

                            + *

                            For the second and subsequent calls to ListHostedZonesByName, DNSName is the value that you specified for the + * dnsname parameter in the request that produced the current response.

                            */ - IsTruncated: boolean | undefined; + DNSName?: string; } export namespace ListHostedZonesByNameResponse { @@ -5025,11 +5025,6 @@ export interface ListHostedZonesByVPCRequest { */ VPCRegion: VPCRegion | string | undefined; - /** - *

                            The ID of the Amazon VPC that you want to list hosted zones for.

                            - */ - VPCId: string | undefined; - /** *

                            If the previous response included a NextToken element, the specified VPC is associated with more hosted zones. * To get more hosted zones, submit another ListHostedZonesByVPC request.

                            @@ -5038,10 +5033,15 @@ export interface ListHostedZonesByVPCRequest { */ NextToken?: string; + /** + *

                            The ID of the Amazon VPC that you want to list hosted zones for.

                            + */ + VPCId: string | undefined; + /** *

                            (Optional) The maximum number of hosted zones that you want Amazon Route 53 to return. If the specified VPC is associated with * more than MaxItems hosted zones, the response includes a NextToken element. NextToken contains - * the hosted zone ID of the first hosted zone that Route 53 will return if you submit another request.

                            + * an encrypted token that identifies the first hosted zone that Route 53 will return if you submit another request.

                            */ MaxItems?: string; } @@ -5107,7 +5107,13 @@ export namespace HostedZoneSummary { }); } -export interface ListHostedZonesByVPCResponse { +export interface ListHostedZonesByVPCResponse { + /** + *

                            A list that contains one HostedZoneSummary element for each hosted zone that the specified Amazon VPC is associated with. + * Each HostedZoneSummary element contains the hosted zone name and ID, and information about who owns the hosted zone.

                            + */ + HostedZoneSummaries: HostedZoneSummary[] | undefined; + /** *

                            The value that you specified for MaxItems in the most recent ListHostedZonesByVPC request.

                            */ @@ -5117,12 +5123,6 @@ export interface ListHostedZonesByVPCResponse { *

                            The value that you specified for NextToken in the most recent ListHostedZonesByVPC request.

                            */ NextToken?: string; - - /** - *

                            A list that contains one HostedZoneSummary element for each hosted zone that the specified Amazon VPC is associated with. - * Each HostedZoneSummary element contains the hosted zone name and ID, and information about who owns the hosted zone.

                            - */ - HostedZoneSummaries: HostedZoneSummary[] | undefined; } export namespace ListHostedZonesByVPCResponse { @@ -5166,13 +5166,6 @@ export namespace ListQueryLoggingConfigsRequest { } export interface ListQueryLoggingConfigsResponse { - /** - *

                            An array that contains one - * QueryLoggingConfig element - * for each configuration for DNS query logging that is associated with the current AWS account.

                            - */ - QueryLoggingConfigs: QueryLoggingConfig[] | undefined; - /** *

                            If a response includes the last of the query logging configurations that are associated with the current AWS account, * NextToken doesn't appear in the response.

                            @@ -5182,6 +5175,13 @@ export interface ListQueryLoggingConfigsResponse { * NextToken in the next request.

                            */ NextToken?: string; + + /** + *

                            An array that contains one + * QueryLoggingConfig element + * for each configuration for DNS query logging that is associated with the current AWS account.

                            + */ + QueryLoggingConfigs: QueryLoggingConfig[] | undefined; } export namespace ListQueryLoggingConfigsResponse { @@ -5194,34 +5194,6 @@ export namespace ListQueryLoggingConfigsResponse { *

                            A request for the resource record sets that are associated with a specified hosted zone.

                            */ export interface ListResourceRecordSetsRequest { - /** - *

                            The ID of the hosted zone that contains the resource record sets that you want to list.

                            - */ - HostedZoneId: string | undefined; - - /** - *

                            The first name in the lexicographic ordering of resource record sets that you want to list. - * If the specified record name doesn't exist, the results begin with the first resource record set that has a name - * greater than the value of name.

                            - */ - StartRecordName?: string; - - /** - *

                            (Optional) The maximum number of resource records sets to include in the response body for this request. If the response includes - * more than maxitems resource record sets, the value of the IsTruncated element in the response is true, - * and the values of the NextRecordName and NextRecordType elements in the response identify the first - * resource record set in the next group of maxitems resource record sets.

                            - */ - MaxItems?: string; - - /** - *

                            - * Resource record sets that have a routing policy other than simple: If results were truncated for a given DNS name and type, - * specify the value of NextRecordIdentifier from the previous response to get the next resource record set that has the current - * DNS name and type.

                            - */ - StartRecordIdentifier?: string; - /** *

                            The type of resource record set to begin the record listing from.

                            *

                            Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | @@ -5265,6 +5237,34 @@ export interface ListResourceRecordSetsRequest { *

                            Constraint: Specifying type without specifying name returns an InvalidInput error.

                            */ StartRecordType?: RRType | string; + + /** + *

                            + * Resource record sets that have a routing policy other than simple: If results were truncated for a given DNS name and type, + * specify the value of NextRecordIdentifier from the previous response to get the next resource record set that has the current + * DNS name and type.

                            + */ + StartRecordIdentifier?: string; + + /** + *

                            (Optional) The maximum number of resource records sets to include in the response body for this request. If the response includes + * more than maxitems resource record sets, the value of the IsTruncated element in the response is true, + * and the values of the NextRecordName and NextRecordType elements in the response identify the first + * resource record set in the next group of maxitems resource record sets.

                            + */ + MaxItems?: string; + + /** + *

                            The ID of the hosted zone that contains the resource record sets that you want to list.

                            + */ + HostedZoneId: string | undefined; + + /** + *

                            The first name in the lexicographic ordering of resource record sets that you want to list. + * If the specified record name doesn't exist, the results begin with the first resource record set that has a name + * greater than the value of name.

                            + */ + StartRecordName?: string; } export namespace ListResourceRecordSetsRequest { @@ -5284,14 +5284,21 @@ export interface ListResourceRecordSetsResponse { IsTruncated: boolean | undefined; /** - *

                            Information about multiple resource record sets.

                            + *

                            If the results were truncated, the name of the next record in the list.

                            + *

                            This element is present only if IsTruncated is true.

                            */ - ResourceRecordSets: ResourceRecordSet[] | undefined; + NextRecordName?: string; /** - *

                            The maximum number of records you requested.

                            + *

                            If the results were truncated, the type of the next record in the list.

                            + *

                            This element is present only if IsTruncated is true.

                            */ - MaxItems: string | undefined; + NextRecordType?: RRType | string; + + /** + *

                            Information about multiple resource record sets.

                            + */ + ResourceRecordSets: ResourceRecordSet[] | undefined; /** *

                            @@ -5304,16 +5311,9 @@ export interface ListResourceRecordSetsResponse { NextRecordIdentifier?: string; /** - *

                            If the results were truncated, the type of the next record in the list.

                            - *

                            This element is present only if IsTruncated is true.

                            - */ - NextRecordType?: RRType | string; - - /** - *

                            If the results were truncated, the name of the next record in the list.

                            - *

                            This element is present only if IsTruncated is true.

                            + *

                            The maximum number of records you requested.

                            */ - NextRecordName?: string; + MaxItems: string | undefined; } export namespace ListResourceRecordSetsResponse { @@ -5326,6 +5326,12 @@ export namespace ListResourceRecordSetsResponse { *

                            A request to get a list of the reusable delegation sets that are associated with the current AWS account.

                            */ export interface ListReusableDelegationSetsRequest { + /** + *

                            The number of reusable delegation sets that you want Amazon Route 53 to return in the response to this request. If you specify a value + * greater than 100, Route 53 returns only the first 100 reusable delegation sets.

                            + */ + MaxItems?: string; + /** *

                            If the value of IsTruncated in the previous response was true, you have more reusable delegation sets. * To get another group, submit another ListReusableDelegationSets request.

                            @@ -5334,12 +5340,6 @@ export interface ListReusableDelegationSetsRequest { *

                            If the value of IsTruncated in the previous response was false, there are no more reusable delegation sets to get.

                            */ Marker?: string; - - /** - *

                            The number of reusable delegation sets that you want Amazon Route 53 to return in the response to this request. If you specify a value - * greater than 100, Route 53 returns only the first 100 reusable delegation sets.

                            - */ - MaxItems?: string; } export namespace ListReusableDelegationSetsRequest { @@ -5353,16 +5353,10 @@ export namespace ListReusableDelegationSetsRequest { */ export interface ListReusableDelegationSetsResponse { /** - *

                            A complex type that contains one DelegationSet element for each reusable delegation set that was created - * by the current AWS account.

                            - */ - DelegationSets: DelegationSet[] | undefined; - - /** - *

                            For the second and subsequent calls to ListReusableDelegationSets, Marker is the value that you specified - * for the marker parameter in the request that produced the current response.

                            + *

                            The value that you specified for the maxitems parameter in the call to ListReusableDelegationSets that + * produced the current response.

                            */ - Marker: string | undefined; + MaxItems: string | undefined; /** *

                            If IsTruncated is true, the value of NextMarker identifies the next reusable delegation set @@ -5371,16 +5365,22 @@ export interface ListReusableDelegationSetsResponse { */ NextMarker?: string; + /** + *

                            For the second and subsequent calls to ListReusableDelegationSets, Marker is the value that you specified + * for the marker parameter in the request that produced the current response.

                            + */ + Marker: string | undefined; + /** *

                            A flag that indicates whether there are more reusable delegation sets to be listed.

                            */ IsTruncated: boolean | undefined; /** - *

                            The value that you specified for the maxitems parameter in the call to ListReusableDelegationSets that - * produced the current response.

                            + *

                            A complex type that contains one DelegationSet element for each reusable delegation set that was created + * by the current AWS account.

                            */ - MaxItems: string | undefined; + DelegationSets: DelegationSet[] | undefined; } export namespace ListReusableDelegationSetsResponse { @@ -5472,6 +5472,11 @@ export namespace ListTagsForResourceResponse { *

                            A complex type that contains information about the health checks or hosted zones for which you want to list tags.

                            */ export interface ListTagsForResourcesRequest { + /** + *

                            A complex type that contains the ResourceId element for each resource for which you want to get a list of tags.

                            + */ + ResourceIds: string[] | undefined; + /** *

                            The type of the resources.

                            *
                              @@ -5484,11 +5489,6 @@ export interface ListTagsForResourcesRequest { *
                            */ ResourceType: TagResourceType | string | undefined; - - /** - *

                            A complex type that contains the ResourceId element for each resource for which you want to get a list of tags.

                            - */ - ResourceIds: string[] | undefined; } export namespace ListTagsForResourcesRequest { @@ -5553,25 +5553,25 @@ export interface TrafficPolicySummary { Name: string | undefined; /** - *

                            The DNS type of the resource record sets that Amazon Route 53 creates when you use a traffic policy - * to create a traffic policy instance.

                            + *

                            The ID that Amazon Route 53 assigned to the traffic policy when you created it.

                            */ - Type: RRType | string | undefined; + Id: string | undefined; /** - *

                            The version number of the latest version of the traffic policy.

                            + *

                            The number of traffic policies that are associated with the current AWS account.

                            */ - LatestVersion: number | undefined; + TrafficPolicyCount: number | undefined; /** - *

                            The ID that Amazon Route 53 assigned to the traffic policy when you created it.

                            + *

                            The DNS type of the resource record sets that Amazon Route 53 creates when you use a traffic policy + * to create a traffic policy instance.

                            */ - Id: string | undefined; + Type: RRType | string | undefined; /** - *

                            The number of traffic policies that are associated with the current AWS account.

                            + *

                            The version number of the latest version of the traffic policy.

                            */ - TrafficPolicyCount: number | undefined; + LatestVersion: number | undefined; } export namespace TrafficPolicySummary { @@ -5590,6 +5590,12 @@ export interface ListTrafficPoliciesResponse { */ TrafficPolicyIdMarker: string | undefined; + /** + *

                            The value that you specified for the MaxItems parameter in the ListTrafficPolicies request that produced + * the current response.

                            + */ + MaxItems: string | undefined; + /** *

                            A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of * traffic policies by submitting another ListTrafficPolicies request and specifying the value of TrafficPolicyIdMarker @@ -5597,12 +5603,6 @@ export interface ListTrafficPoliciesResponse { */ IsTruncated: boolean | undefined; - /** - *

                            The value that you specified for the MaxItems parameter in the ListTrafficPolicies request that produced - * the current response.

                            - */ - MaxItems: string | undefined; - /** *

                            A list that contains one TrafficPolicySummary element for each traffic policy that was created by the current AWS account.

                            */ @@ -5619,6 +5619,15 @@ export namespace ListTrafficPoliciesResponse { *

                            A request to get information about the traffic policy instances that you created by using the current AWS account.

                            */ export interface ListTrafficPolicyInstancesRequest { + /** + *

                            If the value of IsTruncated in the previous response was true, you have more traffic policy instances. + * To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, + * specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance + * in the next group of traffic policy instances.

                            + *

                            If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

                            + */ + TrafficPolicyInstanceTypeMarker?: RRType | string; + /** *

                            The maximum number of traffic policy instances that you want Amazon Route 53 to return in response to a ListTrafficPolicyInstances request. * If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is @@ -5630,30 +5639,21 @@ export interface ListTrafficPolicyInstancesRequest { /** *

                            If the value of IsTruncated in the previous response was true, you have more traffic policy instances. - * To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of HostedZoneId, - * specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance - * in the next group of traffic policy instances.

                            - *

                            If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

                            - */ - HostedZoneIdMarker?: string; - - /** - *

                            If the value of IsTruncated in the previous response was true, you have more traffic policy instances. - * To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, - * specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance + * To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, + * specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance * in the next group of traffic policy instances.

                            *

                            If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

                            */ - TrafficPolicyInstanceTypeMarker?: RRType | string; + TrafficPolicyInstanceNameMarker?: string; /** *

                            If the value of IsTruncated in the previous response was true, you have more traffic policy instances. - * To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, - * specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance + * To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of HostedZoneId, + * specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance * in the next group of traffic policy instances.

                            *

                            If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

                            */ - TrafficPolicyInstanceNameMarker?: string; + HostedZoneIdMarker?: string; } export namespace ListTrafficPolicyInstancesRequest { @@ -5673,10 +5673,10 @@ export interface ListTrafficPolicyInstancesResponse { TrafficPolicyInstanceNameMarker?: string; /** - *

                            A list that contains one TrafficPolicyInstance element for each traffic policy instance that matches the elements - * in the request.

                            + *

                            The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstances + * that produced the current response.

                            */ - TrafficPolicyInstances: TrafficPolicyInstance[] | undefined; + MaxItems: string | undefined; /** *

                            If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets @@ -5699,10 +5699,10 @@ export interface ListTrafficPolicyInstancesResponse { HostedZoneIdMarker?: string; /** - *

                            The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstances - * that produced the current response.

                            + *

                            A list that contains one TrafficPolicyInstance element for each traffic policy instance that matches the elements + * in the request.

                            */ - MaxItems: string | undefined; + TrafficPolicyInstances: TrafficPolicyInstance[] | undefined; } export namespace ListTrafficPolicyInstancesResponse { @@ -5717,17 +5717,21 @@ export namespace ListTrafficPolicyInstancesResponse { export interface ListTrafficPolicyInstancesByHostedZoneRequest { /** *

                            If the value of IsTruncated in the previous response is true, you have more traffic policy instances. - * To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, - * specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance + * To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, + * specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance * in the next group of traffic policy instances.

                            *

                            If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

                            */ - TrafficPolicyInstanceTypeMarker?: RRType | string; + TrafficPolicyInstanceNameMarker?: string; /** - *

                            The ID of the hosted zone that you want to list traffic policy instances for.

                            + *

                            If the value of IsTruncated in the previous response is true, you have more traffic policy instances. + * To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, + * specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance + * in the next group of traffic policy instances.

                            + *

                            If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

                            */ - HostedZoneId: string | undefined; + TrafficPolicyInstanceTypeMarker?: RRType | string; /** *

                            The maximum number of traffic policy instances to be included in the response body for this request. If you have more than @@ -5738,13 +5742,9 @@ export interface ListTrafficPolicyInstancesByHostedZoneRequest { MaxItems?: string; /** - *

                            If the value of IsTruncated in the previous response is true, you have more traffic policy instances. - * To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, - * specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance - * in the next group of traffic policy instances.

                            - *

                            If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

                            + *

                            The ID of the hosted zone that you want to list traffic policy instances for.

                            */ - TrafficPolicyInstanceNameMarker?: string; + HostedZoneId: string | undefined; } export namespace ListTrafficPolicyInstancesByHostedZoneRequest { @@ -5753,17 +5753,20 @@ export namespace ListTrafficPolicyInstancesByHostedZoneRequest { }); } -/** - *

                            A complex type that contains the response information for the request.

                            - */ -export interface ListTrafficPolicyInstancesByHostedZoneResponse { +/** + *

                            A complex type that contains the response information for the request.

                            + */ +export interface ListTrafficPolicyInstancesByHostedZoneResponse { + /** + *

                            If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are + * associated with the first traffic policy instance in the next group of traffic policy instances.

                            + */ + TrafficPolicyInstanceTypeMarker?: RRType | string; + /** - *

                            A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the - * next group of traffic policy instances by submitting another ListTrafficPolicyInstancesByHostedZone request and specifying - * the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker - * in the corresponding request parameters.

                            + *

                            A list that contains one TrafficPolicyInstance element for each traffic policy instance that matches the elements in the request.

                            */ - IsTruncated: boolean | undefined; + TrafficPolicyInstances: TrafficPolicyInstance[] | undefined; /** *

                            The value that you specified for the MaxItems parameter in the ListTrafficPolicyInstancesByHostedZone request @@ -5772,21 +5775,18 @@ export interface ListTrafficPolicyInstancesByHostedZoneResponse { MaxItems: string | undefined; /** - *

                            A list that contains one TrafficPolicyInstance element for each traffic policy instance that matches the elements in the request.

                            + *

                            A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the + * next group of traffic policy instances by submitting another ListTrafficPolicyInstancesByHostedZone request and specifying + * the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker + * in the corresponding request parameters.

                            */ - TrafficPolicyInstances: TrafficPolicyInstance[] | undefined; + IsTruncated: boolean | undefined; /** *

                            If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy * instance in the next group of traffic policy instances.

                            */ TrafficPolicyInstanceNameMarker?: string; - - /** - *

                            If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are - * associated with the first traffic policy instance in the next group of traffic policy instances.

                            - */ - TrafficPolicyInstanceTypeMarker?: RRType | string; } export namespace ListTrafficPolicyInstancesByHostedZoneResponse { @@ -5809,13 +5809,18 @@ export interface ListTrafficPolicyInstancesByPolicyRequest { TrafficPolicyInstanceTypeMarker?: RRType | string; /** - *

                            If the value of IsTruncated in the previous response was true, you have more traffic policy instances. - * To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request.

                            - *

                            For the value of hostedzoneid, specify the value of HostedZoneIdMarker from the previous response, - * which is the hosted zone ID of the first traffic policy instance that Amazon Route 53 will return if you submit another request.

                            - *

                            If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

                            + *

                            The maximum number of traffic policy instances to be included in the response body for this request. If you have more than + * MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, + * and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker + * represent the first traffic policy instance that Amazon Route 53 will return if you submit another request.

                            */ - HostedZoneIdMarker?: string; + MaxItems?: string; + + /** + *

                            The version of the traffic policy for which you want to list traffic policy instances. The version must be associated with the + * traffic policy that is specified by TrafficPolicyId.

                            + */ + TrafficPolicyVersion: number | undefined; /** *

                            The ID of the traffic policy for which you want to list traffic policy instances.

                            @@ -5832,18 +5837,13 @@ export interface ListTrafficPolicyInstancesByPolicyRequest { TrafficPolicyInstanceNameMarker?: string; /** - *

                            The maximum number of traffic policy instances to be included in the response body for this request. If you have more than - * MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, - * and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker - * represent the first traffic policy instance that Amazon Route 53 will return if you submit another request.

                            - */ - MaxItems?: string; - - /** - *

                            The version of the traffic policy for which you want to list traffic policy instances. The version must be associated with the - * traffic policy that is specified by TrafficPolicyId.

                            + *

                            If the value of IsTruncated in the previous response was true, you have more traffic policy instances. + * To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request.

                            + *

                            For the value of hostedzoneid, specify the value of HostedZoneIdMarker from the previous response, + * which is the hosted zone ID of the first traffic policy instance that Amazon Route 53 will return if you submit another request.

                            + *

                            If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

                            */ - TrafficPolicyVersion: number | undefined; + HostedZoneIdMarker?: string; } export namespace ListTrafficPolicyInstancesByPolicyRequest { @@ -5857,15 +5857,21 @@ export namespace ListTrafficPolicyInstancesByPolicyRequest { */ export interface ListTrafficPolicyInstancesByPolicyResponse { /** - *

                            A list that contains one TrafficPolicyInstance element for each traffic policy instance that matches the elements in the request.

                            + *

                            If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first + * traffic policy instance in the next group of traffic policy instances.

                            */ - TrafficPolicyInstances: TrafficPolicyInstance[] | undefined; + HostedZoneIdMarker?: string; /** - *

                            If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance - * in the next group of MaxItems traffic policy instances.

                            + *

                            The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstancesByPolicy that produced + * the current response.

                            */ - TrafficPolicyInstanceNameMarker?: string; + MaxItems: string | undefined; + + /** + *

                            A list that contains one TrafficPolicyInstance element for each traffic policy instance that matches the elements in the request.

                            + */ + TrafficPolicyInstances: TrafficPolicyInstance[] | undefined; /** *

                            A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of @@ -5875,22 +5881,16 @@ export interface ListTrafficPolicyInstancesByPolicyResponse { IsTruncated: boolean | undefined; /** - *

                            The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstancesByPolicy that produced - * the current response.

                            + *

                            If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance + * in the next group of MaxItems traffic policy instances.

                            */ - MaxItems: string | undefined; + TrafficPolicyInstanceNameMarker?: string; /** *

                            If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets * that are associated with the first traffic policy instance in the next group of MaxItems traffic policy instances.

                            */ TrafficPolicyInstanceTypeMarker?: RRType | string; - - /** - *

                            If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first - * traffic policy instance in the next group of traffic policy instances.

                            - */ - HostedZoneIdMarker?: string; } export namespace ListTrafficPolicyInstancesByPolicyResponse { @@ -5904,6 +5904,11 @@ export namespace ListTrafficPolicyInstancesByPolicyResponse { * policies.

                            */ export interface ListTrafficPolicyVersionsRequest { + /** + *

                            Specify the value of Id of the traffic policy for which you want to list all versions.

                            + */ + Id: string | undefined; + /** *

                            The maximum number of traffic policy versions that you want Amazon Route 53 to include in the response body for this request. If the specified * traffic policy has more than MaxItems versions, the value of IsTruncated in the response is true, @@ -5920,11 +5925,6 @@ export interface ListTrafficPolicyVersionsRequest { * response.

                            */ TrafficPolicyVersionMarker?: string; - - /** - *

                            Specify the value of Id of the traffic policy for which you want to list all versions.

                            - */ - Id: string | undefined; } export namespace ListTrafficPolicyVersionsRequest { @@ -5937,19 +5937,6 @@ export namespace ListTrafficPolicyVersionsRequest { *

                            A complex type that contains the response information for the request.

                            */ export interface ListTrafficPolicyVersionsResponse { - /** - *

                            The value that you specified for the maxitems parameter in the ListTrafficPolicyVersions request that produced - * the current response.

                            - */ - MaxItems: string | undefined; - - /** - *

                            A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of - * traffic policies by submitting another ListTrafficPolicyVersions request and specifying the value of NextMarker - * in the marker parameter.

                            - */ - IsTruncated: boolean | undefined; - /** *

                            If IsTruncated is true, the value of TrafficPolicyVersionMarker identifies the first traffic policy * that Amazon Route 53 will return if you submit another request. Call ListTrafficPolicyVersions again and specify the value of @@ -5963,6 +5950,19 @@ export interface ListTrafficPolicyVersionsResponse { * version that is associated with the specified traffic policy.

                            */ TrafficPolicies: TrafficPolicy[] | undefined; + + /** + *

                            The value that you specified for the maxitems parameter in the ListTrafficPolicyVersions request that produced + * the current response.

                            + */ + MaxItems: string | undefined; + + /** + *

                            A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of + * traffic policies by submitting another ListTrafficPolicyVersions request and specifying the value of NextMarker + * in the marker parameter.

                            + */ + IsTruncated: boolean | undefined; } export namespace ListTrafficPolicyVersionsResponse { @@ -5975,6 +5975,11 @@ export namespace ListTrafficPolicyVersionsResponse { *

                            A complex type that contains information about that can be associated with your hosted zone.

                            */ export interface ListVPCAssociationAuthorizationsRequest { + /** + *

                            The ID of the hosted zone for which you want a list of VPCs that can be associated with the hosted zone.

                            + */ + HostedZoneId: string | undefined; + /** *

                            * Optional: An integer that specifies the maximum number of VPCs that you want Amazon Route 53 to return. @@ -5990,11 +5995,6 @@ export interface ListVPCAssociationAuthorizationsRequest { * in another ListVPCAssociationAuthorizations request.

                            */ NextToken?: string; - - /** - *

                            The ID of the hosted zone for which you want a list of VPCs that can be associated with the hosted zone.

                            - */ - HostedZoneId: string | undefined; } export namespace ListVPCAssociationAuthorizationsRequest { @@ -6008,9 +6008,9 @@ export namespace ListVPCAssociationAuthorizationsRequest { */ export interface ListVPCAssociationAuthorizationsResponse { /** - *

                            The ID of the hosted zone that you can associate the listed VPCs with.

                            + *

                            The list of VPCs that are authorized to be associated with the specified hosted zone.

                            */ - HostedZoneId: string | undefined; + VPCs: VPC[] | undefined; /** *

                            When the response includes a NextToken element, there are more VPCs that can be associated @@ -6020,9 +6020,9 @@ export interface ListVPCAssociationAuthorizationsResponse { NextToken?: string; /** - *

                            The list of VPCs that are authorized to be associated with the specified hosted zone.

                            + *

                            The ID of the hosted zone that you can associate the listed VPCs with.

                            */ - VPCs: VPC[] | undefined; + HostedZoneId: string | undefined; } export namespace ListVPCAssociationAuthorizationsResponse { @@ -6036,23 +6036,6 @@ export namespace ListVPCAssociationAuthorizationsResponse { * the IP address of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask.

                            */ export interface TestDNSAnswerRequest { - /** - *

                            If you want to simulate a request from a specific DNS resolver, specify the IP address for that resolver. - * If you omit this value, TestDnsAnswer uses the IP address of a DNS resolver in the AWS US East (N. Virginia) Region - * (us-east-1).

                            - */ - ResolverIP?: string; - - /** - *

                            The ID of the hosted zone that you want Amazon Route 53 to simulate a query for.

                            - */ - HostedZoneId: string | undefined; - - /** - *

                            The name of the resource record set that you want Amazon Route 53 to simulate a query for.

                            - */ - RecordName: string | undefined; - /** *

                            If you specify an IP address for edns0clientsubnetip, you can optionally specify the number of bits of the IP address * that you want the checking tool to include in the DNS query. For example, if you specify 192.0.2.44 for @@ -6073,15 +6056,32 @@ export interface TestDNSAnswerRequest { EDNS0ClientSubnetMask?: string; /** - *

                            The type of the resource record set.

                            + *

                            The ID of the hosted zone that you want Amazon Route 53 to simulate a query for.

                            */ - RecordType: RRType | string | undefined; + HostedZoneId: string | undefined; /** *

                            If the resolver that you specified for resolverip supports EDNS0, specify the IPv4 or IPv6 address of a client * in the applicable location, for example, 192.0.2.44 or 2001:db8:85a3::8a2e:370:7334.

                            */ EDNS0ClientSubnetIP?: string; + + /** + *

                            If you want to simulate a request from a specific DNS resolver, specify the IP address for that resolver. + * If you omit this value, TestDnsAnswer uses the IP address of a DNS resolver in the AWS US East (N. Virginia) Region + * (us-east-1).

                            + */ + ResolverIP?: string; + + /** + *

                            The name of the resource record set that you want Amazon Route 53 to simulate a query for.

                            + */ + RecordName: string | undefined; + + /** + *

                            The type of the resource record set.

                            + */ + RecordType: RRType | string | undefined; } export namespace TestDNSAnswerRequest { @@ -6095,20 +6095,15 @@ export namespace TestDNSAnswerRequest { */ export interface TestDNSAnswerResponse { /** - *

                            The Amazon Route 53 name server used to respond to the request.

                            + *

                            The type of the resource record set that you submitted a request for.

                            */ - Nameserver: string | undefined; + RecordType: RRType | string | undefined; /** *

                            The protocol that Amazon Route 53 used to respond to the request, either UDP or TCP.

                            */ Protocol: string | undefined; - /** - *

                            The name of the resource record set that you submitted a request for.

                            - */ - RecordName: string | undefined; - /** *

                            A code that indicates whether the request is valid or not. The most common response code is NOERROR, meaning that * the request is valid. If the response is not valid, Amazon Route 53 returns a response code that describes the error. @@ -6117,15 +6112,20 @@ export interface TestDNSAnswerResponse { */ ResponseCode: string | undefined; + /** + *

                            The name of the resource record set that you submitted a request for.

                            + */ + RecordName: string | undefined; + /** *

                            A list that contains values that Amazon Route 53 returned for this resource record set.

                            */ RecordData: string[] | undefined; /** - *

                            The type of the resource record set that you submitted a request for.

                            + *

                            The Amazon Route 53 name server used to respond to the request.

                            */ - RecordType: RRType | string | undefined; + Nameserver: string | undefined; } export namespace TestDNSAnswerResponse { @@ -6157,113 +6157,72 @@ export type ResettableElementName = "ChildHealthChecks" | "FullyQualifiedDomainN */ export interface UpdateHealthCheckRequest { /** - *

                            Stops Route 53 from performing health checks. When you disable a health check, here's what happens:

                            - *
                              - *
                            • - *

                              - * Health checks that check the health of endpoints: - * Route 53 stops submitting requests to your application, server, or other resource.

                              - *
                            • - *
                            • - *

                              - * Calculated health checks: - * Route 53 stops aggregating the status of the referenced health checks.

                              - *
                            • - *
                            • - *

                              - * Health checks that monitor CloudWatch alarms: - * Route 53 stops monitoring the corresponding CloudWatch metrics.

                              - *
                            • - *
                            - * - *

                            After you disable a health check, Route 53 considers the status of the health check to always be healthy. If you configured DNS failover, - * Route 53 continues to route traffic to the corresponding resources. If you want to stop routing traffic to a resource, change the value of - * Inverted. - *

                            - * - *

                            Charges for a health check still apply when the health check is disabled. For more information, see - * Amazon Route 53 Pricing.

                            + *

                            A complex type that contains one Region element for each region that you want Amazon Route 53 health checkers to check + * the specified endpoint from.

                            */ - Disabled?: boolean; + Regions?: (HealthCheckRegion | string)[]; /** - *

                            The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for - * IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName - * at the interval that you specify in RequestInterval. Using an IP address that is returned by DNS, Route 53 then - * checks the health of the endpoint.

                            - *

                            Use one of the following formats for the value of IPAddress:

                            - *
                              - *
                            • - *

                              - * IPv4 address: four values between 0 and 255, separated by periods (.), - * for example, 192.0.2.44.

                              - *
                            • - *
                            • - *

                              - * IPv6 address: eight groups of four hexadecimal values, separated by colons (:), - * for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, - * for example, 2001:db8:85a3::abcd:1:2345.

                              - *
                            • - *
                            - *

                            If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and - * specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance never changes. For more information, - * see the applicable documentation:

                            + *

                            A sequential counter that Amazon Route 53 sets to 1 when you create a health check and increments by 1 each time you + * update settings for the health check.

                            + *

                            We recommend that you use GetHealthCheck or ListHealthChecks to get the current value of + * HealthCheckVersion for the health check that you want to update, and that you include that value in your + * UpdateHealthCheck request. This prevents Route 53 from overwriting an intervening update:

                            *
                              *
                            • - *

                              Linux: Elastic IP Addresses (EIP) in the - * Amazon EC2 User Guide for Linux Instances - *

                              - *
                            • + *

                              If the value in the UpdateHealthCheck request matches the value of HealthCheckVersion in the + * health check, Route 53 updates the health check with the new settings.

                              + * *
                            • - *

                              Windows: Elastic IP Addresses (EIP) in the - * Amazon EC2 User Guide for Windows Instances - *

                              - *
                            • + *

                              If the value of HealthCheckVersion in the health check is greater, the health check was changed after you + * got the version number. Route 53 does not update the health check, and it returns a HealthCheckVersionMismatch error.

                              + * *
                            - * - *

                            If a health check already has a value for IPAddress, you can change the value. However, you can't update an - * existing health check to add or remove the value of IPAddress.

                            - *
                            - *

                            For more information, see - * FullyQualifiedDomainName. - *

                            - *

                            Constraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or - * multicast ranges. For more information about IP addresses for which you can't create health checks, see the following - * documents:

                            + */ + HealthCheckVersion?: number; + + /** + *

                            The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint + * from unhealthy to healthy or vice versa. For more information, see + * How Amazon Route 53 Determines Whether an Endpoint Is Healthy + * in the Amazon Route 53 Developer Guide.

                            + *

                            If you don't specify a value for FailureThreshold, the default value is three health checks.

                            + */ + FailureThreshold?: number; + + /** + *

                            When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign + * to the health check:

                            * */ - IPAddress?: string; + InsufficientDataHealthStatus?: InsufficientDataHealthStatus | string; /** - *

                            A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether - * the specified health check is healthy.

                            + *

                            If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string that you want + * Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers + * the resource healthy. (You can't change the value of Type when you update a health check.)

                            */ - AlarmIdentifier?: AlarmIdentifier; + SearchString?: string; /** - *

                            The port on the endpoint that you want Amazon Route 53 to perform health checks on.

                            - * - *

                            Don't specify a value for Port when you specify a value for Type of CLOUDWATCH_METRIC or - * CALCULATED.

                            - *
                            + *

                            Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it + * otherwise would be considered healthy.

                            */ - Port?: number; + Inverted?: boolean; /** *

                            The path that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint @@ -6273,42 +6232,6 @@ export interface UpdateHealthCheckRequest { */ ResourcePath?: string; - /** - *

                            Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it - * otherwise would be considered healthy.

                            - */ - Inverted?: boolean; - - /** - *

                            Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello - * message during TLS negotiation. This allows the endpoint to respond to HTTPS health check requests with the applicable - * SSL/TLS certificate.

                            - *

                            Some endpoints require that HTTPS requests include the host name in the client_hello message. If you don't enable SNI, - * the status of the health check will be SSL alert handshake_failure. A health check can also have that status for other reasons. - * If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid.

                            - *

                            The SSL/TLS certificate on your endpoint includes a domain name in the Common Name field and possibly several more - * in the Subject Alternative Names field. One of the domain names in the certificate should match the value that you specify for - * FullyQualifiedDomainName. If the endpoint responds to the client_hello message with a certificate that does not - * include the domain name that you specified in FullyQualifiedDomainName, a health checker will retry the handshake. In the - * second attempt, the health checker will omit FullyQualifiedDomainName from the client_hello message.

                            - */ - EnableSNI?: boolean; - - /** - *

                            The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint - * from unhealthy to healthy or vice versa. For more information, see - * How Amazon Route 53 Determines Whether an Endpoint Is Healthy - * in the Amazon Route 53 Developer Guide.

                            - *

                            If you don't specify a value for FailureThreshold, the default value is three health checks.

                            - */ - FailureThreshold?: number; - - /** - *

                            A complex type that contains one Region element for each region that you want Amazon Route 53 health checkers to check - * the specified endpoint from.

                            - */ - Regions?: (HealthCheckRegion | string)[]; - /** *

                            Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

                            * @@ -6370,32 +6293,61 @@ export interface UpdateHealthCheckRequest { FullyQualifiedDomainName?: string; /** - *

                            When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign - * to the health check:

                            + *

                            Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello + * message during TLS negotiation. This allows the endpoint to respond to HTTPS health check requests with the applicable + * SSL/TLS certificate.

                            + *

                            Some endpoints require that HTTPS requests include the host name in the client_hello message. If you don't enable SNI, + * the status of the health check will be SSL alert handshake_failure. A health check can also have that status for other reasons. + * If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid.

                            + *

                            The SSL/TLS certificate on your endpoint includes a domain name in the Common Name field and possibly several more + * in the Subject Alternative Names field. One of the domain names in the certificate should match the value that you specify for + * FullyQualifiedDomainName. If the endpoint responds to the client_hello message with a certificate that does not + * include the domain name that you specified in FullyQualifiedDomainName, a health checker will retry the handshake. In the + * second attempt, the health checker will omit FullyQualifiedDomainName from the client_hello message.

                            + */ + EnableSNI?: boolean; + + /** + *

                            Stops Route 53 from performing health checks. When you disable a health check, here's what happens:

                            *
                              *
                            • *

                              - * Healthy: Route 53 considers the health check to be healthy.

                              + * Health checks that check the health of endpoints: + * Route 53 stops submitting requests to your application, server, or other resource.

                              *
                            • *
                            • *

                              - * Unhealthy: Route 53 considers the health check to be unhealthy.

                              + * Calculated health checks: + * Route 53 stops aggregating the status of the referenced health checks.

                              *
                            • *
                            • *

                              - * LastKnownStatus: Route 53 uses the status of the health check from the last time CloudWatch had sufficient data - * to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

                              + * Health checks that monitor CloudWatch alarms: + * Route 53 stops monitoring the corresponding CloudWatch metrics.

                              *
                            • *
                            + * + *

                            After you disable a health check, Route 53 considers the status of the health check to always be healthy. If you configured DNS failover, + * Route 53 continues to route traffic to the corresponding resources. If you want to stop routing traffic to a resource, change the value of + * Inverted. + *

                            + * + *

                            Charges for a health check still apply when the health check is disabled. For more information, see + * Amazon Route 53 Pricing.

                            */ - InsufficientDataHealthStatus?: InsufficientDataHealthStatus | string; + Disabled?: boolean; /** - *

                            If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string that you want - * Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers - * the resource healthy. (You can't change the value of Type when you update a health check.)

                            + *

                            A complex type that contains one ChildHealthCheck element for each health check that you want to associate with a + * CALCULATED health check.

                            */ - SearchString?: string; + ChildHealthChecks?: string[]; + + /** + *

                            A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether + * the specified health check is healthy.

                            + */ + AlarmIdentifier?: AlarmIdentifier; /** *

                            The ID for the health check for which you want detailed information. When you created the health check, @@ -6404,23 +6356,68 @@ export interface UpdateHealthCheckRequest { HealthCheckId: string | undefined; /** - *

                            A sequential counter that Amazon Route 53 sets to 1 when you create a health check and increments by 1 each time you - * update settings for the health check.

                            - *

                            We recommend that you use GetHealthCheck or ListHealthChecks to get the current value of - * HealthCheckVersion for the health check that you want to update, and that you include that value in your - * UpdateHealthCheck request. This prevents Route 53 from overwriting an intervening update:

                            + *

                            The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for + * IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName + * at the interval that you specify in RequestInterval. Using an IP address that is returned by DNS, Route 53 then + * checks the health of the endpoint.

                            + *

                            Use one of the following formats for the value of IPAddress:

                            *
                              *
                            • - *

                              If the value in the UpdateHealthCheck request matches the value of HealthCheckVersion in the - * health check, Route 53 updates the health check with the new settings.

                              - *
                            • + *

                              + * IPv4 address: four values between 0 and 255, separated by periods (.), + * for example, 192.0.2.44.

                              + * *
                            • - *

                              If the value of HealthCheckVersion in the health check is greater, the health check was changed after you - * got the version number. Route 53 does not update the health check, and it returns a HealthCheckVersionMismatch error.

                              - *
                            • + *

                              + * IPv6 address: eight groups of four hexadecimal values, separated by colons (:), + * for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, + * for example, 2001:db8:85a3::abcd:1:2345.

                              + * + *
                            + *

                            If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and + * specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance never changes. For more information, + * see the applicable documentation:

                            + * + * + *

                            If a health check already has a value for IPAddress, you can change the value. However, you can't update an + * existing health check to add or remove the value of IPAddress.

                            + *
                            + *

                            For more information, see + * FullyQualifiedDomainName. + *

                            + *

                            Constraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or + * multicast ranges. For more information about IP addresses for which you can't create health checks, see the following + * documents:

                            + * */ - HealthCheckVersion?: number; + IPAddress?: string; /** *

                            The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the @@ -6471,10 +6468,13 @@ export interface UpdateHealthCheckRequest { ResetElements?: (ResettableElementName | string)[]; /** - *

                            A complex type that contains one ChildHealthCheck element for each health check that you want to associate with a - * CALCULATED health check.

                            + *

                            The port on the endpoint that you want Amazon Route 53 to perform health checks on.

                            + * + *

                            Don't specify a value for Port when you specify a value for Type of CLOUDWATCH_METRIC or + * CALCULATED.

                            + *
                            */ - ChildHealthChecks?: string[]; + Port?: number; } export namespace UpdateHealthCheckRequest { @@ -6503,16 +6503,16 @@ export namespace UpdateHealthCheckResponse { *

                            A request to update the comment for a hosted zone.

                            */ export interface UpdateHostedZoneCommentRequest { - /** - *

                            The ID for the hosted zone that you want to update the comment for.

                            - */ - Id: string | undefined; - /** *

                            The new comment for the hosted zone. If you don't specify a value for Comment, Amazon Route 53 deletes the existing value of the * Comment element, if any.

                            */ Comment?: string; + + /** + *

                            The ID for the hosted zone that you want to update the comment for.

                            + */ + Id: string | undefined; } export namespace UpdateHostedZoneCommentRequest { @@ -6541,11 +6541,6 @@ export namespace UpdateHostedZoneCommentResponse { *

                            A complex type that contains information about the traffic policy that you want to update the comment for.

                            */ export interface UpdateTrafficPolicyCommentRequest { - /** - *

                            The value of Version for the traffic policy that you want to update the comment for.

                            - */ - Version: number | undefined; - /** *

                            The new comment for the specified traffic policy and version.

                            */ @@ -6555,6 +6550,11 @@ export interface UpdateTrafficPolicyCommentRequest { *

                            The value of Id for the traffic policy that you want to update the comment for.

                            */ Id: string | undefined; + + /** + *

                            The value of Version for the traffic policy that you want to update the comment for.

                            + */ + Version: number | undefined; } export namespace UpdateTrafficPolicyCommentRequest { @@ -6609,9 +6609,9 @@ export interface UpdateTrafficPolicyInstanceRequest { TTL: number | undefined; /** - *

                            The ID of the traffic policy that you want Amazon Route 53 to use to update resource record sets for the specified traffic policy instance.

                            + *

                            The ID of the traffic policy instance that you want to update.

                            */ - TrafficPolicyId: string | undefined; + Id: string | undefined; /** *

                            The version of the traffic policy that you want Amazon Route 53 to use to update resource record sets for the specified traffic policy instance.

                            @@ -6619,9 +6619,9 @@ export interface UpdateTrafficPolicyInstanceRequest { TrafficPolicyVersion: number | undefined; /** - *

                            The ID of the traffic policy instance that you want to update.

                            + *

                            The ID of the traffic policy that you want Amazon Route 53 to use to update resource record sets for the specified traffic policy instance.

                            */ - Id: string | undefined; + TrafficPolicyId: string | undefined; } export namespace UpdateTrafficPolicyInstanceRequest { diff --git a/clients/client-route-53/protocols/Aws_restXml.ts b/clients/client-route-53/protocols/Aws_restXml.ts index f897374c2543..51b18fe4af49 100644 --- a/clients/client-route-53/protocols/Aws_restXml.ts +++ b/clients/client-route-53/protocols/Aws_restXml.ts @@ -1513,8 +1513,8 @@ export const serializeAws_restXmlListGeoLocationsCommand = async ( }; let resolvedPath = "/2013-04-01/geolocations"; const query: any = { - ...(input.StartContinentCode !== undefined && { startcontinentcode: input.StartContinentCode }), ...(input.StartSubdivisionCode !== undefined && { startsubdivisioncode: input.StartSubdivisionCode }), + ...(input.StartContinentCode !== undefined && { startcontinentcode: input.StartContinentCode }), ...(input.StartCountryCode !== undefined && { startcountrycode: input.StartCountryCode }), ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), }; @@ -1541,8 +1541,8 @@ export const serializeAws_restXmlListHealthChecksCommand = async ( }; let resolvedPath = "/2013-04-01/healthcheck"; const query: any = { - ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), ...(input.Marker !== undefined && { marker: input.Marker }), + ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1568,8 +1568,8 @@ export const serializeAws_restXmlListHostedZonesCommand = async ( let resolvedPath = "/2013-04-01/hostedzone"; const query: any = { ...(input.DelegationSetId !== undefined && { delegationsetid: input.DelegationSetId }), - ...(input.Marker !== undefined && { marker: input.Marker }), ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), + ...(input.Marker !== undefined && { marker: input.Marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1595,8 +1595,8 @@ export const serializeAws_restXmlListHostedZonesByNameCommand = async ( let resolvedPath = "/2013-04-01/hostedzonesbyname"; const query: any = { ...(input.DNSName !== undefined && { dnsname: input.DNSName }), - ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), ...(input.HostedZoneId !== undefined && { hostedzoneid: input.HostedZoneId }), + ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1622,8 +1622,8 @@ export const serializeAws_restXmlListHostedZonesByVPCCommand = async ( let resolvedPath = "/2013-04-01/hostedzonesbyvpc"; const query: any = { ...(input.VPCRegion !== undefined && { vpcregion: input.VPCRegion }), - ...(input.VPCId !== undefined && { vpcid: input.VPCId }), ...(input.NextToken !== undefined && { nexttoken: input.NextToken }), + ...(input.VPCId !== undefined && { vpcid: input.VPCId }), ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), }; let body: any; @@ -1685,10 +1685,10 @@ export const serializeAws_restXmlListResourceRecordSetsCommand = async ( throw new Error("No value provided for input HTTP label: HostedZoneId."); } const query: any = { - ...(input.StartRecordName !== undefined && { name: input.StartRecordName }), - ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), - ...(input.StartRecordIdentifier !== undefined && { identifier: input.StartRecordIdentifier }), ...(input.StartRecordType !== undefined && { type: input.StartRecordType }), + ...(input.StartRecordIdentifier !== undefined && { identifier: input.StartRecordIdentifier }), + ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), + ...(input.StartRecordName !== undefined && { name: input.StartRecordName }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1713,8 +1713,8 @@ export const serializeAws_restXmlListReusableDelegationSetsCommand = async ( }; let resolvedPath = "/2013-04-01/delegationset"; const query: any = { - ...(input.Marker !== undefined && { marker: input.Marker }), ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), + ...(input.Marker !== undefined && { marker: input.Marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1846,14 +1846,14 @@ export const serializeAws_restXmlListTrafficPolicyInstancesCommand = async ( }; let resolvedPath = "/2013-04-01/trafficpolicyinstances"; const query: any = { - ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), - ...(input.HostedZoneIdMarker !== undefined && { hostedzoneid: input.HostedZoneIdMarker }), ...(input.TrafficPolicyInstanceTypeMarker !== undefined && { trafficpolicyinstancetype: input.TrafficPolicyInstanceTypeMarker, }), + ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), ...(input.TrafficPolicyInstanceNameMarker !== undefined && { trafficpolicyinstancename: input.TrafficPolicyInstanceNameMarker, }), + ...(input.HostedZoneIdMarker !== undefined && { hostedzoneid: input.HostedZoneIdMarker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1878,14 +1878,14 @@ export const serializeAws_restXmlListTrafficPolicyInstancesByHostedZoneCommand = }; let resolvedPath = "/2013-04-01/trafficpolicyinstances/hostedzone"; const query: any = { + ...(input.TrafficPolicyInstanceNameMarker !== undefined && { + trafficpolicyinstancename: input.TrafficPolicyInstanceNameMarker, + }), ...(input.TrafficPolicyInstanceTypeMarker !== undefined && { trafficpolicyinstancetype: input.TrafficPolicyInstanceTypeMarker, }), - ...(input.HostedZoneId !== undefined && { id: input.HostedZoneId }), ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), - ...(input.TrafficPolicyInstanceNameMarker !== undefined && { - trafficpolicyinstancename: input.TrafficPolicyInstanceNameMarker, - }), + ...(input.HostedZoneId !== undefined && { id: input.HostedZoneId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1913,13 +1913,13 @@ export const serializeAws_restXmlListTrafficPolicyInstancesByPolicyCommand = asy ...(input.TrafficPolicyInstanceTypeMarker !== undefined && { trafficpolicyinstancetype: input.TrafficPolicyInstanceTypeMarker, }), - ...(input.HostedZoneIdMarker !== undefined && { hostedzoneid: input.HostedZoneIdMarker }), + ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), + ...(input.TrafficPolicyVersion !== undefined && { version: input.TrafficPolicyVersion.toString() }), ...(input.TrafficPolicyId !== undefined && { id: input.TrafficPolicyId }), ...(input.TrafficPolicyInstanceNameMarker !== undefined && { trafficpolicyinstancename: input.TrafficPolicyInstanceNameMarker, }), - ...(input.MaxItems !== undefined && { maxitems: input.MaxItems }), - ...(input.TrafficPolicyVersion !== undefined && { version: input.TrafficPolicyVersion.toString() }), + ...(input.HostedZoneIdMarker !== undefined && { hostedzoneid: input.HostedZoneIdMarker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2014,12 +2014,12 @@ export const serializeAws_restXmlTestDNSAnswerCommand = async ( }; let resolvedPath = "/2013-04-01/testdnsanswer"; const query: any = { - ...(input.ResolverIP !== undefined && { resolverip: input.ResolverIP }), + ...(input.EDNS0ClientSubnetMask !== undefined && { edns0clientsubnetmask: input.EDNS0ClientSubnetMask }), ...(input.HostedZoneId !== undefined && { hostedzoneid: input.HostedZoneId }), + ...(input.EDNS0ClientSubnetIP !== undefined && { edns0clientsubnetip: input.EDNS0ClientSubnetIP }), + ...(input.ResolverIP !== undefined && { resolverip: input.ResolverIP }), ...(input.RecordName !== undefined && { recordname: input.RecordName }), - ...(input.EDNS0ClientSubnetMask !== undefined && { edns0clientsubnetmask: input.EDNS0ClientSubnetMask }), ...(input.RecordType !== undefined && { recordtype: input.RecordType }), - ...(input.EDNS0ClientSubnetIP !== undefined && { edns0clientsubnetip: input.EDNS0ClientSubnetIP }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2201,15 +2201,6 @@ export const serializeAws_restXmlUpdateTrafficPolicyCommentCommand = async ( "Content-Type": "application/xml", }; let resolvedPath = "/2013-04-01/trafficpolicy/{Id}/{Version}"; - if (input.Version !== undefined) { - const labelValue: string = input.Version.toString(); - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Version."); - } - resolvedPath = resolvedPath.replace("{Version}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Version."); - } if (input.Id !== undefined) { const labelValue: string = input.Id; if (labelValue.length <= 0) { @@ -2219,6 +2210,15 @@ export const serializeAws_restXmlUpdateTrafficPolicyCommentCommand = async ( } else { throw new Error("No value provided for input HTTP label: Id."); } + if (input.Version !== undefined) { + const labelValue: string = input.Version.toString(); + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Version."); + } + resolvedPath = resolvedPath.replace("{Version}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Version."); + } let body: any; body = ''; const bodyNode = new __XmlNode("UpdateTrafficPolicyCommentRequest"); @@ -7684,14 +7684,14 @@ const deserializeAws_restXmlVPCAssociationNotFoundResponse = async ( const serializeAws_restXmlAlarmIdentifier = (input: AlarmIdentifier, context: __SerdeContext): any => { const bodyNode = new __XmlNode("AlarmIdentifier"); - if (input.Region !== undefined) { - const node = new __XmlNode("CloudWatchRegion").addChildNode(new __XmlText(input.Region)).withName("Region"); - bodyNode.addChildNode(node); - } if (input.Name !== undefined) { const node = new __XmlNode("AlarmName").addChildNode(new __XmlText(input.Name)).withName("Name"); bodyNode.addChildNode(node); } + if (input.Region !== undefined) { + const node = new __XmlNode("CloudWatchRegion").addChildNode(new __XmlText(input.Region)).withName("Region"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -7729,6 +7729,10 @@ const serializeAws_restXmlChange = (input: Change, context: __SerdeContext): any const serializeAws_restXmlChangeBatch = (input: ChangeBatch, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ChangeBatch"); + if (input.Comment !== undefined) { + const node = new __XmlNode("ResourceDescription").addChildNode(new __XmlText(input.Comment)).withName("Comment"); + bodyNode.addChildNode(node); + } if (input.Changes !== undefined) { const nodes = serializeAws_restXmlChanges(input.Changes, context); const containerNode = new __XmlNode("Changes"); @@ -7737,10 +7741,6 @@ const serializeAws_restXmlChangeBatch = (input: ChangeBatch, context: __SerdeCon }); bodyNode.addChildNode(containerNode); } - if (input.Comment !== undefined) { - const node = new __XmlNode("ResourceDescription").addChildNode(new __XmlText(input.Comment)).withName("Comment"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -7783,40 +7783,20 @@ const serializeAws_restXmlGeoLocation = (input: GeoLocation, context: __SerdeCon const serializeAws_restXmlHealthCheckConfig = (input: HealthCheckConfig, context: __SerdeContext): any => { const bodyNode = new __XmlNode("HealthCheckConfig"); - if (input.HealthThreshold !== undefined) { - const node = new __XmlNode("HealthThreshold") - .addChildNode(new __XmlText(String(input.HealthThreshold))) - .withName("HealthThreshold"); - bodyNode.addChildNode(node); - } - if (input.AlarmIdentifier !== undefined) { - const node = serializeAws_restXmlAlarmIdentifier(input.AlarmIdentifier, context).withName("AlarmIdentifier"); - bodyNode.addChildNode(node); - } - if (input.Type !== undefined) { - const node = new __XmlNode("HealthCheckType").addChildNode(new __XmlText(input.Type)).withName("Type"); - bodyNode.addChildNode(node); - } - if (input.IPAddress !== undefined) { - const node = new __XmlNode("IPAddress").addChildNode(new __XmlText(input.IPAddress)).withName("IPAddress"); - bodyNode.addChildNode(node); - } - if (input.ResourcePath !== undefined) { - const node = new __XmlNode("ResourcePath").addChildNode(new __XmlText(input.ResourcePath)).withName("ResourcePath"); - bodyNode.addChildNode(node); - } - if (input.Disabled !== undefined) { - const node = new __XmlNode("Disabled").addChildNode(new __XmlText(String(input.Disabled))).withName("Disabled"); + if (input.FailureThreshold !== undefined) { + const node = new __XmlNode("FailureThreshold") + .addChildNode(new __XmlText(String(input.FailureThreshold))) + .withName("FailureThreshold"); bodyNode.addChildNode(node); } - if (input.EnableSNI !== undefined) { - const node = new __XmlNode("EnableSNI").addChildNode(new __XmlText(String(input.EnableSNI))).withName("EnableSNI"); + if (input.InsufficientDataHealthStatus !== undefined) { + const node = new __XmlNode("InsufficientDataHealthStatus") + .addChildNode(new __XmlText(input.InsufficientDataHealthStatus)) + .withName("InsufficientDataHealthStatus"); bodyNode.addChildNode(node); } - if (input.FullyQualifiedDomainName !== undefined) { - const node = new __XmlNode("FullyQualifiedDomainName") - .addChildNode(new __XmlText(input.FullyQualifiedDomainName)) - .withName("FullyQualifiedDomainName"); + if (input.SearchString !== undefined) { + const node = new __XmlNode("SearchString").addChildNode(new __XmlText(input.SearchString)).withName("SearchString"); bodyNode.addChildNode(node); } if (input.RequestInterval !== undefined) { @@ -7829,20 +7809,14 @@ const serializeAws_restXmlHealthCheckConfig = (input: HealthCheckConfig, context const node = new __XmlNode("Inverted").addChildNode(new __XmlText(String(input.Inverted))).withName("Inverted"); bodyNode.addChildNode(node); } - if (input.InsufficientDataHealthStatus !== undefined) { - const node = new __XmlNode("InsufficientDataHealthStatus") - .addChildNode(new __XmlText(input.InsufficientDataHealthStatus)) - .withName("InsufficientDataHealthStatus"); - bodyNode.addChildNode(node); - } - if (input.FailureThreshold !== undefined) { - const node = new __XmlNode("FailureThreshold") - .addChildNode(new __XmlText(String(input.FailureThreshold))) - .withName("FailureThreshold"); + if (input.FullyQualifiedDomainName !== undefined) { + const node = new __XmlNode("FullyQualifiedDomainName") + .addChildNode(new __XmlText(input.FullyQualifiedDomainName)) + .withName("FullyQualifiedDomainName"); bodyNode.addChildNode(node); } - if (input.SearchString !== undefined) { - const node = new __XmlNode("SearchString").addChildNode(new __XmlText(input.SearchString)).withName("SearchString"); + if (input.ResourcePath !== undefined) { + const node = new __XmlNode("ResourcePath").addChildNode(new __XmlText(input.ResourcePath)).withName("ResourcePath"); bodyNode.addChildNode(node); } if (input.Regions !== undefined) { @@ -7853,14 +7827,30 @@ const serializeAws_restXmlHealthCheckConfig = (input: HealthCheckConfig, context }); bodyNode.addChildNode(containerNode); } - if (input.MeasureLatency !== undefined) { - const node = new __XmlNode("MeasureLatency") - .addChildNode(new __XmlText(String(input.MeasureLatency))) - .withName("MeasureLatency"); + if (input.EnableSNI !== undefined) { + const node = new __XmlNode("EnableSNI").addChildNode(new __XmlText(String(input.EnableSNI))).withName("EnableSNI"); bodyNode.addChildNode(node); } - if (input.Port !== undefined) { - const node = new __XmlNode("Port").addChildNode(new __XmlText(String(input.Port))).withName("Port"); + if (input.AlarmIdentifier !== undefined) { + const node = serializeAws_restXmlAlarmIdentifier(input.AlarmIdentifier, context).withName("AlarmIdentifier"); + bodyNode.addChildNode(node); + } + if (input.HealthThreshold !== undefined) { + const node = new __XmlNode("HealthThreshold") + .addChildNode(new __XmlText(String(input.HealthThreshold))) + .withName("HealthThreshold"); + bodyNode.addChildNode(node); + } + if (input.IPAddress !== undefined) { + const node = new __XmlNode("IPAddress").addChildNode(new __XmlText(input.IPAddress)).withName("IPAddress"); + bodyNode.addChildNode(node); + } + if (input.Disabled !== undefined) { + const node = new __XmlNode("Disabled").addChildNode(new __XmlText(String(input.Disabled))).withName("Disabled"); + bodyNode.addChildNode(node); + } + if (input.Type !== undefined) { + const node = new __XmlNode("HealthCheckType").addChildNode(new __XmlText(input.Type)).withName("Type"); bodyNode.addChildNode(node); } if (input.ChildHealthChecks !== undefined) { @@ -7871,6 +7861,16 @@ const serializeAws_restXmlHealthCheckConfig = (input: HealthCheckConfig, context }); bodyNode.addChildNode(containerNode); } + if (input.Port !== undefined) { + const node = new __XmlNode("Port").addChildNode(new __XmlText(String(input.Port))).withName("Port"); + bodyNode.addChildNode(node); + } + if (input.MeasureLatency !== undefined) { + const node = new __XmlNode("MeasureLatency") + .addChildNode(new __XmlText(String(input.MeasureLatency))) + .withName("MeasureLatency"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -7886,16 +7886,16 @@ const serializeAws_restXmlHealthCheckRegionList = ( const serializeAws_restXmlHostedZoneConfig = (input: HostedZoneConfig, context: __SerdeContext): any => { const bodyNode = new __XmlNode("HostedZoneConfig"); - if (input.Comment !== undefined) { - const node = new __XmlNode("ResourceDescription").addChildNode(new __XmlText(input.Comment)).withName("Comment"); - bodyNode.addChildNode(node); - } if (input.PrivateZone !== undefined) { const node = new __XmlNode("IsPrivateZone") .addChildNode(new __XmlText(String(input.PrivateZone))) .withName("PrivateZone"); bodyNode.addChildNode(node); } + if (input.Comment !== undefined) { + const node = new __XmlNode("ResourceDescription").addChildNode(new __XmlText(input.Comment)).withName("Comment"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -7927,36 +7927,38 @@ const serializeAws_restXmlResourceRecords = (input: ResourceRecord[], context: _ const serializeAws_restXmlResourceRecordSet = (input: ResourceRecordSet, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ResourceRecordSet"); - if (input.SetIdentifier !== undefined) { - const node = new __XmlNode("ResourceRecordSetIdentifier") - .addChildNode(new __XmlText(input.SetIdentifier)) - .withName("SetIdentifier"); - bodyNode.addChildNode(node); - } - if (input.AliasTarget !== undefined) { - const node = serializeAws_restXmlAliasTarget(input.AliasTarget, context).withName("AliasTarget"); - bodyNode.addChildNode(node); - } - if (input.Weight !== undefined) { - const node = new __XmlNode("ResourceRecordSetWeight") - .addChildNode(new __XmlText(String(input.Weight))) - .withName("Weight"); + if (input.MultiValueAnswer !== undefined) { + const node = new __XmlNode("ResourceRecordSetMultiValueAnswer") + .addChildNode(new __XmlText(String(input.MultiValueAnswer))) + .withName("MultiValueAnswer"); bodyNode.addChildNode(node); } - if (input.HealthCheckId !== undefined) { - const node = new __XmlNode("HealthCheckId") - .addChildNode(new __XmlText(input.HealthCheckId)) - .withName("HealthCheckId"); + if (input.TTL !== undefined) { + const node = new __XmlNode("TTL").addChildNode(new __XmlText(String(input.TTL))).withName("TTL"); bodyNode.addChildNode(node); } if (input.Region !== undefined) { const node = new __XmlNode("ResourceRecordSetRegion").addChildNode(new __XmlText(input.Region)).withName("Region"); bodyNode.addChildNode(node); } + if (input.Type !== undefined) { + const node = new __XmlNode("RRType").addChildNode(new __XmlText(input.Type)).withName("Type"); + bodyNode.addChildNode(node); + } if (input.GeoLocation !== undefined) { const node = serializeAws_restXmlGeoLocation(input.GeoLocation, context).withName("GeoLocation"); bodyNode.addChildNode(node); } + if (input.AliasTarget !== undefined) { + const node = serializeAws_restXmlAliasTarget(input.AliasTarget, context).withName("AliasTarget"); + bodyNode.addChildNode(node); + } + if (input.HealthCheckId !== undefined) { + const node = new __XmlNode("HealthCheckId") + .addChildNode(new __XmlText(input.HealthCheckId)) + .withName("HealthCheckId"); + bodyNode.addChildNode(node); + } if (input.ResourceRecords !== undefined) { const nodes = serializeAws_restXmlResourceRecords(input.ResourceRecords, context); const containerNode = new __XmlNode("ResourceRecords"); @@ -7965,24 +7967,16 @@ const serializeAws_restXmlResourceRecordSet = (input: ResourceRecordSet, context }); bodyNode.addChildNode(containerNode); } - if (input.Failover !== undefined) { - const node = new __XmlNode("ResourceRecordSetFailover") - .addChildNode(new __XmlText(input.Failover)) - .withName("Failover"); - bodyNode.addChildNode(node); - } - if (input.Type !== undefined) { - const node = new __XmlNode("RRType").addChildNode(new __XmlText(input.Type)).withName("Type"); - bodyNode.addChildNode(node); - } - if (input.TTL !== undefined) { - const node = new __XmlNode("TTL").addChildNode(new __XmlText(String(input.TTL))).withName("TTL"); + if (input.SetIdentifier !== undefined) { + const node = new __XmlNode("ResourceRecordSetIdentifier") + .addChildNode(new __XmlText(input.SetIdentifier)) + .withName("SetIdentifier"); bodyNode.addChildNode(node); } - if (input.MultiValueAnswer !== undefined) { - const node = new __XmlNode("ResourceRecordSetMultiValueAnswer") - .addChildNode(new __XmlText(String(input.MultiValueAnswer))) - .withName("MultiValueAnswer"); + if (input.Weight !== undefined) { + const node = new __XmlNode("ResourceRecordSetWeight") + .addChildNode(new __XmlText(String(input.Weight))) + .withName("Weight"); bodyNode.addChildNode(node); } if (input.Name !== undefined) { @@ -7995,19 +7989,25 @@ const serializeAws_restXmlResourceRecordSet = (input: ResourceRecordSet, context .withName("TrafficPolicyInstanceId"); bodyNode.addChildNode(node); } + if (input.Failover !== undefined) { + const node = new __XmlNode("ResourceRecordSetFailover") + .addChildNode(new __XmlText(input.Failover)) + .withName("Failover"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlTag = (input: Tag, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Tag"); - if (input.Key !== undefined) { - const node = new __XmlNode("TagKey").addChildNode(new __XmlText(input.Key)).withName("Key"); - bodyNode.addChildNode(node); - } if (input.Value !== undefined) { const node = new __XmlNode("TagValue").addChildNode(new __XmlText(input.Value)).withName("Value"); bodyNode.addChildNode(node); } + if (input.Key !== undefined) { + const node = new __XmlNode("TagKey").addChildNode(new __XmlText(input.Key)).withName("Key"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -8034,14 +8034,14 @@ const serializeAws_restXmlTagResourceIdList = (input: string[], context: __Serde const serializeAws_restXmlVPC = (input: VPC, context: __SerdeContext): any => { const bodyNode = new __XmlNode("VPC"); - if (input.VPCRegion !== undefined) { - const node = new __XmlNode("VPCRegion").addChildNode(new __XmlText(input.VPCRegion)).withName("VPCRegion"); - bodyNode.addChildNode(node); - } if (input.VPCId !== undefined) { const node = new __XmlNode("VPCId").addChildNode(new __XmlText(input.VPCId)).withName("VPCId"); bodyNode.addChildNode(node); } + if (input.VPCRegion !== undefined) { + const node = new __XmlNode("VPCRegion").addChildNode(new __XmlText(input.VPCRegion)).withName("VPCRegion"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -8061,15 +8061,15 @@ const deserializeAws_restXmlAccountLimit = (output: any, context: __SerdeContext const deserializeAws_restXmlAlarmIdentifier = (output: any, context: __SerdeContext): AlarmIdentifier => { let contents: any = { - Region: undefined, Name: undefined, + Region: undefined, }; - if (output["Region"] !== undefined) { - contents.Region = output["Region"]; - } if (output["Name"] !== undefined) { contents.Name = output["Name"]; } + if (output["Region"] !== undefined) { + contents.Region = output["Region"]; + } return contents; }; @@ -8094,19 +8094,19 @@ const deserializeAws_restXmlAliasTarget = (output: any, context: __SerdeContext) const deserializeAws_restXmlChangeInfo = (output: any, context: __SerdeContext): ChangeInfo => { let contents: any = { Id: undefined, - Comment: undefined, SubmittedAt: undefined, + Comment: undefined, Status: undefined, }; if (output["Id"] !== undefined) { contents.Id = output["Id"]; } - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; - } if (output["SubmittedAt"] !== undefined) { contents.SubmittedAt = new Date(output["SubmittedAt"]); } + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; + } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } @@ -8126,21 +8126,15 @@ const deserializeAws_restXmlCloudWatchAlarmConfiguration = ( context: __SerdeContext ): CloudWatchAlarmConfiguration => { let contents: any = { - Threshold: undefined, - Namespace: undefined, Period: undefined, Dimensions: undefined, - EvaluationPeriods: undefined, + Namespace: undefined, + Threshold: undefined, ComparisonOperator: undefined, - Statistic: undefined, MetricName: undefined, + Statistic: undefined, + EvaluationPeriods: undefined, }; - if (output["Threshold"] !== undefined) { - contents.Threshold = parseFloat(output["Threshold"]); - } - if (output["Namespace"] !== undefined) { - contents.Namespace = output["Namespace"]; - } if (output["Period"] !== undefined) { contents.Period = parseInt(output["Period"]); } @@ -8153,17 +8147,23 @@ const deserializeAws_restXmlCloudWatchAlarmConfiguration = ( context ); } - if (output["EvaluationPeriods"] !== undefined) { - contents.EvaluationPeriods = parseInt(output["EvaluationPeriods"]); + if (output["Namespace"] !== undefined) { + contents.Namespace = output["Namespace"]; + } + if (output["Threshold"] !== undefined) { + contents.Threshold = parseFloat(output["Threshold"]); } if (output["ComparisonOperator"] !== undefined) { contents.ComparisonOperator = output["ComparisonOperator"]; } + if (output["MetricName"] !== undefined) { + contents.MetricName = output["MetricName"]; + } if (output["Statistic"] !== undefined) { contents.Statistic = output["Statistic"]; } - if (output["MetricName"] !== undefined) { - contents.MetricName = output["MetricName"]; + if (output["EvaluationPeriods"] !== undefined) { + contents.EvaluationPeriods = parseInt(output["EvaluationPeriods"]); } return contents; }; @@ -8171,8 +8171,8 @@ const deserializeAws_restXmlCloudWatchAlarmConfiguration = ( const deserializeAws_restXmlDelegationSet = (output: any, context: __SerdeContext): DelegationSet => { let contents: any = { NameServers: undefined, - CallerReference: undefined, Id: undefined, + CallerReference: undefined, }; if (output.NameServers === "") { contents.NameServers = []; @@ -8183,12 +8183,12 @@ const deserializeAws_restXmlDelegationSet = (output: any, context: __SerdeContex context ); } - if (output["CallerReference"] !== undefined) { - contents.CallerReference = output["CallerReference"]; - } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } + if (output["CallerReference"] !== undefined) { + contents.CallerReference = output["CallerReference"]; + } return contents; }; @@ -8202,15 +8202,15 @@ const deserializeAws_restXmlDelegationSets = (output: any, context: __SerdeConte const deserializeAws_restXmlDimension = (output: any, context: __SerdeContext): Dimension => { let contents: any = { - Name: undefined, Value: undefined, + Name: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } return contents; }; @@ -8242,31 +8242,31 @@ const deserializeAws_restXmlGeoLocation = (output: any, context: __SerdeContext) const deserializeAws_restXmlGeoLocationDetails = (output: any, context: __SerdeContext): GeoLocationDetails => { let contents: any = { - CountryName: undefined, ContinentName: undefined, + CountryName: undefined, SubdivisionName: undefined, - SubdivisionCode: undefined, ContinentCode: undefined, CountryCode: undefined, + SubdivisionCode: undefined, }; - if (output["CountryName"] !== undefined) { - contents.CountryName = output["CountryName"]; - } if (output["ContinentName"] !== undefined) { contents.ContinentName = output["ContinentName"]; } + if (output["CountryName"] !== undefined) { + contents.CountryName = output["CountryName"]; + } if (output["SubdivisionName"] !== undefined) { contents.SubdivisionName = output["SubdivisionName"]; } - if (output["SubdivisionCode"] !== undefined) { - contents.SubdivisionCode = output["SubdivisionCode"]; - } if (output["ContinentCode"] !== undefined) { contents.ContinentCode = output["ContinentCode"]; } if (output["CountryCode"] !== undefined) { contents.CountryCode = output["CountryCode"]; } + if (output["SubdivisionCode"] !== undefined) { + contents.SubdivisionCode = output["SubdivisionCode"]; + } return contents; }; @@ -8277,79 +8277,64 @@ const deserializeAws_restXmlGeoLocationDetailsList = (output: any, context: __Se const deserializeAws_restXmlHealthCheck = (output: any, context: __SerdeContext): HealthCheck => { let contents: any = { Id: undefined, - HealthCheckConfig: undefined, - CloudWatchAlarmConfiguration: undefined, - CallerReference: undefined, HealthCheckVersion: undefined, + CallerReference: undefined, + HealthCheckConfig: undefined, LinkedService: undefined, + CloudWatchAlarmConfiguration: undefined, }; if (output["Id"] !== undefined) { contents.Id = output["Id"]; } + if (output["HealthCheckVersion"] !== undefined) { + contents.HealthCheckVersion = parseInt(output["HealthCheckVersion"]); + } + if (output["CallerReference"] !== undefined) { + contents.CallerReference = output["CallerReference"]; + } if (output["HealthCheckConfig"] !== undefined) { contents.HealthCheckConfig = deserializeAws_restXmlHealthCheckConfig(output["HealthCheckConfig"], context); } + if (output["LinkedService"] !== undefined) { + contents.LinkedService = deserializeAws_restXmlLinkedService(output["LinkedService"], context); + } if (output["CloudWatchAlarmConfiguration"] !== undefined) { contents.CloudWatchAlarmConfiguration = deserializeAws_restXmlCloudWatchAlarmConfiguration( output["CloudWatchAlarmConfiguration"], context ); } - if (output["CallerReference"] !== undefined) { - contents.CallerReference = output["CallerReference"]; - } - if (output["HealthCheckVersion"] !== undefined) { - contents.HealthCheckVersion = parseInt(output["HealthCheckVersion"]); - } - if (output["LinkedService"] !== undefined) { - contents.LinkedService = deserializeAws_restXmlLinkedService(output["LinkedService"], context); - } return contents; }; const deserializeAws_restXmlHealthCheckConfig = (output: any, context: __SerdeContext): HealthCheckConfig => { let contents: any = { - HealthThreshold: undefined, - AlarmIdentifier: undefined, - Type: undefined, - IPAddress: undefined, - ResourcePath: undefined, - Disabled: undefined, - EnableSNI: undefined, - FullyQualifiedDomainName: undefined, - RequestInterval: undefined, - Inverted: undefined, - InsufficientDataHealthStatus: undefined, FailureThreshold: undefined, + InsufficientDataHealthStatus: undefined, SearchString: undefined, + RequestInterval: undefined, + Inverted: undefined, + FullyQualifiedDomainName: undefined, + ResourcePath: undefined, Regions: undefined, - MeasureLatency: undefined, - Port: undefined, + EnableSNI: undefined, + AlarmIdentifier: undefined, + HealthThreshold: undefined, + IPAddress: undefined, + Disabled: undefined, + Type: undefined, ChildHealthChecks: undefined, + Port: undefined, + MeasureLatency: undefined, }; - if (output["HealthThreshold"] !== undefined) { - contents.HealthThreshold = parseInt(output["HealthThreshold"]); - } - if (output["AlarmIdentifier"] !== undefined) { - contents.AlarmIdentifier = deserializeAws_restXmlAlarmIdentifier(output["AlarmIdentifier"], context); - } - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; - } - if (output["IPAddress"] !== undefined) { - contents.IPAddress = output["IPAddress"]; - } - if (output["ResourcePath"] !== undefined) { - contents.ResourcePath = output["ResourcePath"]; - } - if (output["Disabled"] !== undefined) { - contents.Disabled = output["Disabled"] == "true"; + if (output["FailureThreshold"] !== undefined) { + contents.FailureThreshold = parseInt(output["FailureThreshold"]); } - if (output["EnableSNI"] !== undefined) { - contents.EnableSNI = output["EnableSNI"] == "true"; + if (output["InsufficientDataHealthStatus"] !== undefined) { + contents.InsufficientDataHealthStatus = output["InsufficientDataHealthStatus"]; } - if (output["FullyQualifiedDomainName"] !== undefined) { - contents.FullyQualifiedDomainName = output["FullyQualifiedDomainName"]; + if (output["SearchString"] !== undefined) { + contents.SearchString = output["SearchString"]; } if (output["RequestInterval"] !== undefined) { contents.RequestInterval = parseInt(output["RequestInterval"]); @@ -8357,14 +8342,11 @@ const deserializeAws_restXmlHealthCheckConfig = (output: any, context: __SerdeCo if (output["Inverted"] !== undefined) { contents.Inverted = output["Inverted"] == "true"; } - if (output["InsufficientDataHealthStatus"] !== undefined) { - contents.InsufficientDataHealthStatus = output["InsufficientDataHealthStatus"]; - } - if (output["FailureThreshold"] !== undefined) { - contents.FailureThreshold = parseInt(output["FailureThreshold"]); + if (output["FullyQualifiedDomainName"] !== undefined) { + contents.FullyQualifiedDomainName = output["FullyQualifiedDomainName"]; } - if (output["SearchString"] !== undefined) { - contents.SearchString = output["SearchString"]; + if (output["ResourcePath"] !== undefined) { + contents.ResourcePath = output["ResourcePath"]; } if (output.Regions === "") { contents.Regions = []; @@ -8375,11 +8357,23 @@ const deserializeAws_restXmlHealthCheckConfig = (output: any, context: __SerdeCo context ); } - if (output["MeasureLatency"] !== undefined) { - contents.MeasureLatency = output["MeasureLatency"] == "true"; + if (output["EnableSNI"] !== undefined) { + contents.EnableSNI = output["EnableSNI"] == "true"; } - if (output["Port"] !== undefined) { - contents.Port = parseInt(output["Port"]); + if (output["AlarmIdentifier"] !== undefined) { + contents.AlarmIdentifier = deserializeAws_restXmlAlarmIdentifier(output["AlarmIdentifier"], context); + } + if (output["HealthThreshold"] !== undefined) { + contents.HealthThreshold = parseInt(output["HealthThreshold"]); + } + if (output["IPAddress"] !== undefined) { + contents.IPAddress = output["IPAddress"]; + } + if (output["Disabled"] !== undefined) { + contents.Disabled = output["Disabled"] == "true"; + } + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; } if (output.ChildHealthChecks === "") { contents.ChildHealthChecks = []; @@ -8390,6 +8384,12 @@ const deserializeAws_restXmlHealthCheckConfig = (output: any, context: __SerdeCo context ); } + if (output["Port"] !== undefined) { + contents.Port = parseInt(output["Port"]); + } + if (output["MeasureLatency"] !== undefined) { + contents.MeasureLatency = output["MeasureLatency"] == "true"; + } return contents; }; @@ -8432,44 +8432,44 @@ const deserializeAws_restXmlHealthChecks = (output: any, context: __SerdeContext const deserializeAws_restXmlHostedZone = (output: any, context: __SerdeContext): HostedZone => { let contents: any = { ResourceRecordSetCount: undefined, + Id: undefined, Name: undefined, + CallerReference: undefined, Config: undefined, LinkedService: undefined, - CallerReference: undefined, - Id: undefined, }; if (output["ResourceRecordSetCount"] !== undefined) { contents.ResourceRecordSetCount = parseInt(output["ResourceRecordSetCount"]); } + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; + } if (output["Name"] !== undefined) { contents.Name = output["Name"]; } + if (output["CallerReference"] !== undefined) { + contents.CallerReference = output["CallerReference"]; + } if (output["Config"] !== undefined) { contents.Config = deserializeAws_restXmlHostedZoneConfig(output["Config"], context); } if (output["LinkedService"] !== undefined) { contents.LinkedService = deserializeAws_restXmlLinkedService(output["LinkedService"], context); } - if (output["CallerReference"] !== undefined) { - contents.CallerReference = output["CallerReference"]; - } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; - } return contents; }; const deserializeAws_restXmlHostedZoneConfig = (output: any, context: __SerdeContext): HostedZoneConfig => { let contents: any = { - Comment: undefined, PrivateZone: undefined, + Comment: undefined, }; - if (output["Comment"] !== undefined) { - contents.Comment = output["Comment"]; - } if (output["PrivateZone"] !== undefined) { contents.PrivateZone = output["PrivateZone"] == "true"; } + if (output["Comment"] !== undefined) { + contents.Comment = output["Comment"]; + } return contents; }; @@ -8529,33 +8529,33 @@ const deserializeAws_restXmlHostedZoneSummary = (output: any, context: __SerdeCo const deserializeAws_restXmlLinkedService = (output: any, context: __SerdeContext): LinkedService => { let contents: any = { - Description: undefined, ServicePrincipal: undefined, + Description: undefined, }; - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } if (output["ServicePrincipal"] !== undefined) { contents.ServicePrincipal = output["ServicePrincipal"]; } + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } return contents; }; const deserializeAws_restXmlQueryLoggingConfig = (output: any, context: __SerdeContext): QueryLoggingConfig => { let contents: any = { Id: undefined, - HostedZoneId: undefined, CloudWatchLogsLogGroupArn: undefined, + HostedZoneId: undefined, }; if (output["Id"] !== undefined) { contents.Id = output["Id"]; } - if (output["HostedZoneId"] !== undefined) { - contents.HostedZoneId = output["HostedZoneId"]; - } if (output["CloudWatchLogsLogGroupArn"] !== undefined) { contents.CloudWatchLogsLogGroupArn = output["CloudWatchLogsLogGroupArn"]; } + if (output["HostedZoneId"] !== undefined) { + contents.HostedZoneId = output["HostedZoneId"]; + } return contents; }; @@ -8583,38 +8583,41 @@ const deserializeAws_restXmlResourceRecords = (output: any, context: __SerdeCont const deserializeAws_restXmlResourceRecordSet = (output: any, context: __SerdeContext): ResourceRecordSet => { let contents: any = { - SetIdentifier: undefined, - AliasTarget: undefined, - Weight: undefined, - HealthCheckId: undefined, + MultiValueAnswer: undefined, + TTL: undefined, Region: undefined, + Type: undefined, GeoLocation: undefined, + AliasTarget: undefined, + HealthCheckId: undefined, ResourceRecords: undefined, - Failover: undefined, - Type: undefined, - TTL: undefined, - MultiValueAnswer: undefined, + SetIdentifier: undefined, + Weight: undefined, Name: undefined, TrafficPolicyInstanceId: undefined, + Failover: undefined, }; - if (output["SetIdentifier"] !== undefined) { - contents.SetIdentifier = output["SetIdentifier"]; - } - if (output["AliasTarget"] !== undefined) { - contents.AliasTarget = deserializeAws_restXmlAliasTarget(output["AliasTarget"], context); - } - if (output["Weight"] !== undefined) { - contents.Weight = parseInt(output["Weight"]); + if (output["MultiValueAnswer"] !== undefined) { + contents.MultiValueAnswer = output["MultiValueAnswer"] == "true"; } - if (output["HealthCheckId"] !== undefined) { - contents.HealthCheckId = output["HealthCheckId"]; + if (output["TTL"] !== undefined) { + contents.TTL = parseInt(output["TTL"]); } if (output["Region"] !== undefined) { contents.Region = output["Region"]; } + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; + } if (output["GeoLocation"] !== undefined) { contents.GeoLocation = deserializeAws_restXmlGeoLocation(output["GeoLocation"], context); } + if (output["AliasTarget"] !== undefined) { + contents.AliasTarget = deserializeAws_restXmlAliasTarget(output["AliasTarget"], context); + } + if (output["HealthCheckId"] !== undefined) { + contents.HealthCheckId = output["HealthCheckId"]; + } if (output.ResourceRecords === "") { contents.ResourceRecords = []; } @@ -8624,17 +8627,11 @@ const deserializeAws_restXmlResourceRecordSet = (output: any, context: __SerdeCo context ); } - if (output["Failover"] !== undefined) { - contents.Failover = output["Failover"]; - } - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; - } - if (output["TTL"] !== undefined) { - contents.TTL = parseInt(output["TTL"]); + if (output["SetIdentifier"] !== undefined) { + contents.SetIdentifier = output["SetIdentifier"]; } - if (output["MultiValueAnswer"] !== undefined) { - contents.MultiValueAnswer = output["MultiValueAnswer"] == "true"; + if (output["Weight"] !== undefined) { + contents.Weight = parseInt(output["Weight"]); } if (output["Name"] !== undefined) { contents.Name = output["Name"]; @@ -8642,6 +8639,9 @@ const deserializeAws_restXmlResourceRecordSet = (output: any, context: __SerdeCo if (output["TrafficPolicyInstanceId"] !== undefined) { contents.TrafficPolicyInstanceId = output["TrafficPolicyInstanceId"]; } + if (output["Failover"] !== undefined) { + contents.Failover = output["Failover"]; + } return contents; }; @@ -8707,15 +8707,15 @@ const deserializeAws_restXmlStatusReport = (output: any, context: __SerdeContext const deserializeAws_restXmlTag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Key: undefined, Value: undefined, + Key: undefined, }; - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; + } return contents; }; @@ -8729,13 +8729,16 @@ const deserializeAws_restXmlTrafficPolicies = (output: any, context: __SerdeCont const deserializeAws_restXmlTrafficPolicy = (output: any, context: __SerdeContext): TrafficPolicy => { let contents: any = { + Document: undefined, Type: undefined, Comment: undefined, Name: undefined, - Document: undefined, - Version: undefined, Id: undefined, + Version: undefined, }; + if (output["Document"] !== undefined) { + contents.Document = output["Document"]; + } if (output["Type"] !== undefined) { contents.Type = output["Type"]; } @@ -8745,35 +8748,44 @@ const deserializeAws_restXmlTrafficPolicy = (output: any, context: __SerdeContex if (output["Name"] !== undefined) { contents.Name = output["Name"]; } - if (output["Document"] !== undefined) { - contents.Document = output["Document"]; + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; } if (output["Version"] !== undefined) { contents.Version = parseInt(output["Version"]); } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; - } return contents; }; const deserializeAws_restXmlTrafficPolicyInstance = (output: any, context: __SerdeContext): TrafficPolicyInstance => { let contents: any = { - TTL: undefined, Id: undefined, + State: undefined, + TrafficPolicyType: undefined, + TTL: undefined, + Message: undefined, + HostedZoneId: undefined, TrafficPolicyVersion: undefined, Name: undefined, - Message: undefined, TrafficPolicyId: undefined, - TrafficPolicyType: undefined, - State: undefined, - HostedZoneId: undefined, }; + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; + } + if (output["State"] !== undefined) { + contents.State = output["State"]; + } + if (output["TrafficPolicyType"] !== undefined) { + contents.TrafficPolicyType = output["TrafficPolicyType"]; + } if (output["TTL"] !== undefined) { contents.TTL = parseInt(output["TTL"]); } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; + } + if (output["HostedZoneId"] !== undefined) { + contents.HostedZoneId = output["HostedZoneId"]; } if (output["TrafficPolicyVersion"] !== undefined) { contents.TrafficPolicyVersion = parseInt(output["TrafficPolicyVersion"]); @@ -8781,21 +8793,9 @@ const deserializeAws_restXmlTrafficPolicyInstance = (output: any, context: __Ser if (output["Name"] !== undefined) { contents.Name = output["Name"]; } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; - } if (output["TrafficPolicyId"] !== undefined) { contents.TrafficPolicyId = output["TrafficPolicyId"]; } - if (output["TrafficPolicyType"] !== undefined) { - contents.TrafficPolicyType = output["TrafficPolicyType"]; - } - if (output["State"] !== undefined) { - contents.State = output["State"]; - } - if (output["HostedZoneId"] !== undefined) { - contents.HostedZoneId = output["HostedZoneId"]; - } return contents; }; @@ -8813,40 +8813,40 @@ const deserializeAws_restXmlTrafficPolicySummaries = (output: any, context: __Se const deserializeAws_restXmlTrafficPolicySummary = (output: any, context: __SerdeContext): TrafficPolicySummary => { let contents: any = { Name: undefined, - Type: undefined, - LatestVersion: undefined, Id: undefined, TrafficPolicyCount: undefined, + Type: undefined, + LatestVersion: undefined, }; if (output["Name"] !== undefined) { contents.Name = output["Name"]; } - if (output["Type"] !== undefined) { - contents.Type = output["Type"]; - } - if (output["LatestVersion"] !== undefined) { - contents.LatestVersion = parseInt(output["LatestVersion"]); - } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } if (output["TrafficPolicyCount"] !== undefined) { contents.TrafficPolicyCount = parseInt(output["TrafficPolicyCount"]); } + if (output["Type"] !== undefined) { + contents.Type = output["Type"]; + } + if (output["LatestVersion"] !== undefined) { + contents.LatestVersion = parseInt(output["LatestVersion"]); + } return contents; }; const deserializeAws_restXmlVPC = (output: any, context: __SerdeContext): VPC => { let contents: any = { - VPCRegion: undefined, VPCId: undefined, + VPCRegion: undefined, }; - if (output["VPCRegion"] !== undefined) { - contents.VPCRegion = output["VPCRegion"]; - } if (output["VPCId"] !== undefined) { contents.VPCId = output["VPCId"]; } + if (output["VPCRegion"] !== undefined) { + contents.VPCRegion = output["VPCRegion"]; + } return contents; }; diff --git a/clients/client-route53resolver/Route53Resolver.ts b/clients/client-route53resolver/Route53Resolver.ts index aebdaffb16d4..6e18527b6211 100644 --- a/clients/client-route53resolver/Route53Resolver.ts +++ b/clients/client-route53resolver/Route53Resolver.ts @@ -4,6 +4,11 @@ import { AssociateResolverEndpointIpAddressCommandInput, AssociateResolverEndpointIpAddressCommandOutput, } from "./commands/AssociateResolverEndpointIpAddressCommand"; +import { + AssociateResolverQueryLogConfigCommand, + AssociateResolverQueryLogConfigCommandInput, + AssociateResolverQueryLogConfigCommandOutput, +} from "./commands/AssociateResolverQueryLogConfigCommand"; import { AssociateResolverRuleCommand, AssociateResolverRuleCommandInput, @@ -14,6 +19,11 @@ import { CreateResolverEndpointCommandInput, CreateResolverEndpointCommandOutput, } from "./commands/CreateResolverEndpointCommand"; +import { + CreateResolverQueryLogConfigCommand, + CreateResolverQueryLogConfigCommandInput, + CreateResolverQueryLogConfigCommandOutput, +} from "./commands/CreateResolverQueryLogConfigCommand"; import { CreateResolverRuleCommand, CreateResolverRuleCommandInput, @@ -24,6 +34,11 @@ import { DeleteResolverEndpointCommandInput, DeleteResolverEndpointCommandOutput, } from "./commands/DeleteResolverEndpointCommand"; +import { + DeleteResolverQueryLogConfigCommand, + DeleteResolverQueryLogConfigCommandInput, + DeleteResolverQueryLogConfigCommandOutput, +} from "./commands/DeleteResolverQueryLogConfigCommand"; import { DeleteResolverRuleCommand, DeleteResolverRuleCommandInput, @@ -34,6 +49,11 @@ import { DisassociateResolverEndpointIpAddressCommandInput, DisassociateResolverEndpointIpAddressCommandOutput, } from "./commands/DisassociateResolverEndpointIpAddressCommand"; +import { + DisassociateResolverQueryLogConfigCommand, + DisassociateResolverQueryLogConfigCommandInput, + DisassociateResolverQueryLogConfigCommandOutput, +} from "./commands/DisassociateResolverQueryLogConfigCommand"; import { DisassociateResolverRuleCommand, DisassociateResolverRuleCommandInput, @@ -44,6 +64,21 @@ import { GetResolverEndpointCommandInput, GetResolverEndpointCommandOutput, } from "./commands/GetResolverEndpointCommand"; +import { + GetResolverQueryLogConfigAssociationCommand, + GetResolverQueryLogConfigAssociationCommandInput, + GetResolverQueryLogConfigAssociationCommandOutput, +} from "./commands/GetResolverQueryLogConfigAssociationCommand"; +import { + GetResolverQueryLogConfigCommand, + GetResolverQueryLogConfigCommandInput, + GetResolverQueryLogConfigCommandOutput, +} from "./commands/GetResolverQueryLogConfigCommand"; +import { + GetResolverQueryLogConfigPolicyCommand, + GetResolverQueryLogConfigPolicyCommandInput, + GetResolverQueryLogConfigPolicyCommandOutput, +} from "./commands/GetResolverQueryLogConfigPolicyCommand"; import { GetResolverRuleAssociationCommand, GetResolverRuleAssociationCommandInput, @@ -69,6 +104,16 @@ import { ListResolverEndpointsCommandInput, ListResolverEndpointsCommandOutput, } from "./commands/ListResolverEndpointsCommand"; +import { + ListResolverQueryLogConfigAssociationsCommand, + ListResolverQueryLogConfigAssociationsCommandInput, + ListResolverQueryLogConfigAssociationsCommandOutput, +} from "./commands/ListResolverQueryLogConfigAssociationsCommand"; +import { + ListResolverQueryLogConfigsCommand, + ListResolverQueryLogConfigsCommandInput, + ListResolverQueryLogConfigsCommandOutput, +} from "./commands/ListResolverQueryLogConfigsCommand"; import { ListResolverRuleAssociationsCommand, ListResolverRuleAssociationsCommandInput, @@ -84,6 +129,11 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + PutResolverQueryLogConfigPolicyCommand, + PutResolverQueryLogConfigPolicyCommandInput, + PutResolverQueryLogConfigPolicyCommandOutput, +} from "./commands/PutResolverQueryLogConfigPolicyCommand"; import { PutResolverRulePolicyCommand, PutResolverRulePolicyCommandInput, @@ -108,55 +158,44 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

                            Here's how you set up to query an Amazon Route 53 private hosted zone from your network:

                            + *

                            When you create a VPC using Amazon VPC, you automatically get DNS resolution within the VPC from Route 53 Resolver. + * By default, Resolver answers DNS queries for VPC domain names such as domain names for EC2 instances or ELB load balancers. + * Resolver performs recursive lookups against public name servers for all other domain names.

                            * - *
                              - *
                            1. - *

                              Connect your network to a VPC using AWS Direct Connect or a VPN.

                              - *
                            2. - *
                            3. - *

                              Run the following AWS CLI command to create a Resolver endpoint:

                              - *

                              - * create-resolver-endpoint --name [endpoint_name] --direction INBOUND - * --creator-request-id [unique_string] --security-group-ids [security_group_with_inbound_rules] - * --ip-addresses SubnetId=[subnet_id] SubnetId=[subnet_id_in_different_AZ] - *

                              - *

                              Note the resolver endpoint ID that appears in the response. You'll use it in step 3.

                              - *
                            4. - *
                            5. - *

                              Get the IP addresses for the Resolver endpoints:

                              - *

                              - * get-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id] - *

                              - *
                            6. - *
                            7. - *

                              In your network configuration, define the IP addresses that you got in step 3 as DNS servers.

                              - *

                              You can now query instance names in your VPCs and the names of records in your private hosted zone.

                              - *
                            8. - *
                            + *

                            You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection:

                            * - *

                            You can also perform the following operations using the AWS CLI:

                            - *
                              - *
                            • - *

                              - * list-resolver-endpoints: List all endpoints. The syntax includes options for pagination and filtering.

                              - *
                            • - *
                            • - *

                              - * update-resolver-endpoints: Add IP addresses to an endpoint or remove IP addresses from an endpoint.

                              - *
                            • - *
                            + *

                            + * Forward DNS queries from resolvers on your network to Route 53 Resolver + *

                            + * + *

                            DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers + * to easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. + * For more information, see + * How DNS Resolvers + * on Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

                            * - *

                            To delete an endpoint, use the following AWS CLI command:

                            *

                            - * delete-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id] + * Conditionally forward queries from a VPC to resolvers on your network *

                            + * + *

                            You can configure Resolver to forward queries that it receives from EC2 instances in your VPCs to DNS resolvers on your network. + * To forward selected queries, you create Resolver rules that specify the domain names for the DNS queries that you want to forward + * (such as example.com), and the IP addresses of the DNS resolvers on your network that you want to forward the queries to. + * If a query matches multiple rules (example.com, acme.example.com), Resolver chooses the rule with the most specific match + * (acme.example.com) and forwards the query to the IP addresses that you specified in that rule. For more information, see + * How Route 53 Resolver + * Forwards DNS Queries from Your VPCs to Your Network in the Amazon Route 53 Developer Guide.

                            + * + *

                            Like Amazon VPC, Resolver is regional. In each region where you have VPCs, you can choose whether to forward queries from your VPCs + * to your network (outbound queries), from your network to your VPCs (inbound queries), or both.

                            */ export class Route53Resolver extends Route53ResolverClient { /** - *

                            Adds IP addresses to an inbound or an outbound resolver endpoint. If you want to adding more than one IP address, + *

                            Adds IP addresses to an inbound or an outbound Resolver endpoint. If you want to add more than one IP address, * submit one AssociateResolverEndpointIpAddress request for each IP address.

                            - *

                            To remove an IP address from an endpoint, see DisassociateResolverEndpointIpAddress.

                            + *

                            To remove an IP address from an endpoint, see + * DisassociateResolverEndpointIpAddress. + *

                            */ public associateResolverEndpointIpAddress( args: AssociateResolverEndpointIpAddressCommandInput, @@ -188,10 +227,52 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Associates a resolver rule with a VPC. When you associate a rule with a VPC, Resolver forwards all DNS queries + *

                            Associates an Amazon VPC with a specified query logging configuration. Route 53 Resolver logs DNS queries that originate in all of the Amazon VPCs + * that are associated with a specified query logging configuration. To associate more than one VPC with a configuration, submit one AssociateResolverQueryLogConfig + * request for each VPC.

                            + * + * + *

                            The VPCs that you associate with a query logging configuration must be in the same Region as the configuration.

                            + *
                            + * + *

                            To remove a VPC from a query logging configuration, see + * DisassociateResolverQueryLogConfig. + *

                            + */ + public associateResolverQueryLogConfig( + args: AssociateResolverQueryLogConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public associateResolverQueryLogConfig( + args: AssociateResolverQueryLogConfigCommandInput, + cb: (err: any, data?: AssociateResolverQueryLogConfigCommandOutput) => void + ): void; + public associateResolverQueryLogConfig( + args: AssociateResolverQueryLogConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateResolverQueryLogConfigCommandOutput) => void + ): void; + public associateResolverQueryLogConfig( + args: AssociateResolverQueryLogConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociateResolverQueryLogConfigCommandOutput) => void), + cb?: (err: any, data?: AssociateResolverQueryLogConfigCommandOutput) => void + ): Promise | void { + const command = new AssociateResolverQueryLogConfigCommand(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 Resolver rule with a VPC. When you associate a rule with a VPC, Resolver forwards all DNS queries * for the domain name that is specified in the rule and that originate in the VPC. The queries are forwarded to the * IP addresses for the DNS resolvers that are specified in the rule. For more information about rules, see - * CreateResolverRule.

                            + * CreateResolverRule.

                            */ public associateResolverRule( args: AssociateResolverRuleCommandInput, @@ -223,15 +304,15 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Creates a resolver endpoint. There are two types of resolver endpoints, inbound and outbound:

                            + *

                            Creates a Resolver endpoint. There are two types of Resolver endpoints, inbound and outbound:

                            *
                              *
                            • - *

                              An inbound resolver endpoint forwards DNS queries to the DNS service for a VPC - * from your network or another VPC.

                              + *

                              An inbound Resolver endpoint forwards DNS queries to the DNS service for a VPC + * from your network.

                              *
                            • *
                            • - *

                              An outbound resolver endpoint forwards DNS queries from the DNS service for a VPC - * to your network or another VPC.

                              + *

                              An outbound Resolver endpoint forwards DNS queries from the DNS service for a VPC + * to your network.

                              *
                            • *
                            */ @@ -265,7 +346,47 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            For DNS queries that originate in your VPCs, specifies which resolver endpoint the queries pass through, + *

                            Creates a Resolver query logging configuration, which defines where you want Resolver to save DNS query logs that originate in your VPCs. + * Resolver can log queries only for VPCs that are in the same Region as the query logging configuration.

                            + * + *

                            To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. For more information, see + * AssociateResolverQueryLogConfig.

                            + * + *

                            You can optionally use AWS Resource Access Manager (AWS RAM) to share a query logging configuration with other AWS accounts. The other accounts + * can then associate VPCs with the configuration. The query logs that Resolver creates for a configuration include all DNS queries that originate in all + * VPCs that are associated with the configuration.

                            + */ + public createResolverQueryLogConfig( + args: CreateResolverQueryLogConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createResolverQueryLogConfig( + args: CreateResolverQueryLogConfigCommandInput, + cb: (err: any, data?: CreateResolverQueryLogConfigCommandOutput) => void + ): void; + public createResolverQueryLogConfig( + args: CreateResolverQueryLogConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateResolverQueryLogConfigCommandOutput) => void + ): void; + public createResolverQueryLogConfig( + args: CreateResolverQueryLogConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateResolverQueryLogConfigCommandOutput) => void), + cb?: (err: any, data?: CreateResolverQueryLogConfigCommandOutput) => void + ): Promise | void { + const command = new CreateResolverQueryLogConfigCommand(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); + } + } + + /** + *

                            For DNS queries that originate in your VPCs, specifies which Resolver endpoint the queries pass through, * one domain name that you want to forward to your network, and the IP addresses of the DNS resolvers in your network.

                            */ public createResolverRule( @@ -298,18 +419,17 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Deletes a resolver endpoint. The effect of deleting a resolver endpoint depends on whether it's an inbound or an outbound - * resolver endpoint:

                            + *

                            Deletes a Resolver endpoint. The effect of deleting a Resolver endpoint depends on whether it's an inbound or an outbound + * Resolver endpoint:

                            *
                              *
                            • *

                              - * Inbound: DNS queries from your network or another VPC are no longer routed + * Inbound: DNS queries from your network are no longer routed * to the DNS service for the specified VPC.

                              *
                            • *
                            • *

                              - * Outbound: DNS queries from a VPC are no longer routed to your network or - * to another VPC.

                              + * Outbound: DNS queries from a VPC are no longer routed to your network.

                              *
                            • *
                            */ @@ -343,8 +463,51 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Deletes a resolver rule. Before you can delete a resolver rule, you must disassociate it from all the VPCs that you - * associated the resolver rule with. For more infomation, see DisassociateResolverRule.

                            + *

                            Deletes a query logging configuration. When you delete a configuration, Resolver stops logging DNS queries for all of the Amazon VPCs that are + * associated with the configuration. This also applies if the query logging configuration is shared with other AWS accounts, and + * the other accounts have associated VPCs with the shared configuration.

                            + * + *

                            Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. See + * DisassociateResolverQueryLogConfig.

                            + * + *

                            If you used Resource Access Manager (RAM) to share a query logging configuration with other accounts, you must stop sharing + * the configuration before you can delete a configuration. The accounts that you shared the configuration with can first disassociate VPCs + * that they associated with the configuration, but that's not necessary. If you stop sharing the configuration, those VPCs are automatically + * disassociated from the configuration.

                            + */ + public deleteResolverQueryLogConfig( + args: DeleteResolverQueryLogConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteResolverQueryLogConfig( + args: DeleteResolverQueryLogConfigCommandInput, + cb: (err: any, data?: DeleteResolverQueryLogConfigCommandOutput) => void + ): void; + public deleteResolverQueryLogConfig( + args: DeleteResolverQueryLogConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteResolverQueryLogConfigCommandOutput) => void + ): void; + public deleteResolverQueryLogConfig( + args: DeleteResolverQueryLogConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteResolverQueryLogConfigCommandOutput) => void), + cb?: (err: any, data?: DeleteResolverQueryLogConfigCommandOutput) => void + ): Promise | void { + const command = new DeleteResolverQueryLogConfigCommand(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 Resolver rule. Before you can delete a Resolver rule, you must disassociate it from all the VPCs that you + * associated the Resolver rule with. For more information, see + * DisassociateResolverRule.

                            */ public deleteResolverRule( args: DeleteResolverRuleCommandInput, @@ -376,9 +539,11 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Removes IP addresses from an inbound or an outbound resolver endpoint. If you want to remove more than one IP address, + *

                            Removes IP addresses from an inbound or an outbound Resolver endpoint. If you want to remove more than one IP address, * submit one DisassociateResolverEndpointIpAddress request for each IP address.

                            - *

                            To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress.

                            + *

                            To add an IP address to an endpoint, see + * AssociateResolverEndpointIpAddress. + *

                            */ public disassociateResolverEndpointIpAddress( args: DisassociateResolverEndpointIpAddressCommandInput, @@ -412,10 +577,56 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Removes the association between a specified resolver rule and a specified VPC.

                            + *

                            Disassociates a VPC from a query logging configuration.

                            + * + * + *

                            Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. If you used + * Resource Access Manager (RAM) to share a query logging configuration with other accounts, VPCs can be disassociated from the configuration + * in the following ways:

                            + *
                              + *
                            • + *

                              The accounts that you shared the configuration with can disassociate VPCs from the configuration.

                              + *
                            • + *
                            • + *

                              You can stop sharing the configuration.

                              + *
                            • + *
                            + *
                            + */ + public disassociateResolverQueryLogConfig( + args: DisassociateResolverQueryLogConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disassociateResolverQueryLogConfig( + args: DisassociateResolverQueryLogConfigCommandInput, + cb: (err: any, data?: DisassociateResolverQueryLogConfigCommandOutput) => void + ): void; + public disassociateResolverQueryLogConfig( + args: DisassociateResolverQueryLogConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateResolverQueryLogConfigCommandOutput) => void + ): void; + public disassociateResolverQueryLogConfig( + args: DisassociateResolverQueryLogConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateResolverQueryLogConfigCommandOutput) => void), + cb?: (err: any, data?: DisassociateResolverQueryLogConfigCommandOutput) => void + ): Promise | void { + const command = new DisassociateResolverQueryLogConfigCommand(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 association between a specified Resolver rule and a specified VPC.

                            * - *

                            If you disassociate a resolver rule from a VPC, Resolver stops forwarding DNS queries for the - * domain name that you specified in the resolver rule.

                            + *

                            If you disassociate a Resolver rule from a VPC, Resolver stops forwarding DNS queries for the + * domain name that you specified in the Resolver rule.

                            *
                            */ public disassociateResolverRule( @@ -448,7 +659,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Gets information about a specified resolver endpoint, such as whether it's an inbound or an outbound resolver endpoint, and the + *

                            Gets information about a specified Resolver endpoint, such as whether it's an inbound or an outbound Resolver endpoint, and the * current status of the endpoint.

                            */ public getResolverEndpoint( @@ -481,8 +692,107 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Gets information about a specified resolver rule, such as the domain name that the rule forwards DNS queries for and the ID of the - * outbound resolver endpoint that the rule is associated with.

                            + *

                            Gets information about a specified Resolver query logging configuration, such as the number of VPCs that the configuration + * is logging queries for and the location that logs are sent to.

                            + */ + public getResolverQueryLogConfig( + args: GetResolverQueryLogConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getResolverQueryLogConfig( + args: GetResolverQueryLogConfigCommandInput, + cb: (err: any, data?: GetResolverQueryLogConfigCommandOutput) => void + ): void; + public getResolverQueryLogConfig( + args: GetResolverQueryLogConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetResolverQueryLogConfigCommandOutput) => void + ): void; + public getResolverQueryLogConfig( + args: GetResolverQueryLogConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetResolverQueryLogConfigCommandOutput) => void), + cb?: (err: any, data?: GetResolverQueryLogConfigCommandOutput) => void + ): Promise | void { + const command = new GetResolverQueryLogConfigCommand(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 information about a specified association between a Resolver query logging configuration and an Amazon VPC. When you associate a VPC + * with a query logging configuration, Resolver logs DNS queries that originate in that VPC.

                            + */ + public getResolverQueryLogConfigAssociation( + args: GetResolverQueryLogConfigAssociationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getResolverQueryLogConfigAssociation( + args: GetResolverQueryLogConfigAssociationCommandInput, + cb: (err: any, data?: GetResolverQueryLogConfigAssociationCommandOutput) => void + ): void; + public getResolverQueryLogConfigAssociation( + args: GetResolverQueryLogConfigAssociationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetResolverQueryLogConfigAssociationCommandOutput) => void + ): void; + public getResolverQueryLogConfigAssociation( + args: GetResolverQueryLogConfigAssociationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetResolverQueryLogConfigAssociationCommandOutput) => void), + cb?: (err: any, data?: GetResolverQueryLogConfigAssociationCommandOutput) => void + ): Promise | void { + const command = new GetResolverQueryLogConfigAssociationCommand(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 information about a query logging policy. A query logging policy specifies the Resolver query logging + * operations and resources that you want to allow another AWS account to be able to use.

                            + */ + public getResolverQueryLogConfigPolicy( + args: GetResolverQueryLogConfigPolicyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getResolverQueryLogConfigPolicy( + args: GetResolverQueryLogConfigPolicyCommandInput, + cb: (err: any, data?: GetResolverQueryLogConfigPolicyCommandOutput) => void + ): void; + public getResolverQueryLogConfigPolicy( + args: GetResolverQueryLogConfigPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetResolverQueryLogConfigPolicyCommandOutput) => void + ): void; + public getResolverQueryLogConfigPolicy( + args: GetResolverQueryLogConfigPolicyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetResolverQueryLogConfigPolicyCommandOutput) => void), + cb?: (err: any, data?: GetResolverQueryLogConfigPolicyCommandOutput) => void + ): Promise | void { + const command = new GetResolverQueryLogConfigPolicyCommand(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 information about a specified Resolver rule, such as the domain name that the rule forwards DNS queries for and the ID of the + * outbound Resolver endpoint that the rule is associated with.

                            */ public getResolverRule( args: GetResolverRuleCommandInput, @@ -514,8 +824,8 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Gets information about an association between a specified resolver rule and a VPC. You associate a resolver rule and a VPC using - * AssociateResolverRule.

                            + *

                            Gets information about an association between a specified Resolver rule and a VPC. You associate a Resolver rule and a VPC using + * AssociateResolverRule.

                            */ public getResolverRuleAssociation( args: GetResolverRuleAssociationCommandInput, @@ -547,7 +857,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Gets information about a resolver rule policy. A resolver rule policy specifies the Resolver operations and resources + *

                            Gets information about a Resolver rule policy. A Resolver rule policy specifies the Resolver operations and resources * that you want to allow another AWS account to be able to use.

                            */ public getResolverRulePolicy( @@ -580,7 +890,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Gets the IP addresses for a specified resolver endpoint.

                            + *

                            Gets the IP addresses for a specified Resolver endpoint.

                            */ public listResolverEndpointIpAddresses( args: ListResolverEndpointIpAddressesCommandInput, @@ -612,7 +922,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Lists all the resolver endpoints that were created using the current AWS account.

                            + *

                            Lists all the Resolver endpoints that were created using the current AWS account.

                            */ public listResolverEndpoints( args: ListResolverEndpointsCommandInput, @@ -644,7 +954,74 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Lists the associations that were created between resolver rules and VPCs using the current AWS account.

                            + *

                            Lists information about associations between Amazon VPCs and query logging configurations.

                            + */ + public listResolverQueryLogConfigAssociations( + args: ListResolverQueryLogConfigAssociationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listResolverQueryLogConfigAssociations( + args: ListResolverQueryLogConfigAssociationsCommandInput, + cb: (err: any, data?: ListResolverQueryLogConfigAssociationsCommandOutput) => void + ): void; + public listResolverQueryLogConfigAssociations( + args: ListResolverQueryLogConfigAssociationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListResolverQueryLogConfigAssociationsCommandOutput) => void + ): void; + public listResolverQueryLogConfigAssociations( + args: ListResolverQueryLogConfigAssociationsCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: ListResolverQueryLogConfigAssociationsCommandOutput) => void), + cb?: (err: any, data?: ListResolverQueryLogConfigAssociationsCommandOutput) => void + ): Promise | void { + const command = new ListResolverQueryLogConfigAssociationsCommand(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 information about the specified query logging configurations. Each configuration defines where you want Resolver to save + * DNS query logs and specifies the VPCs that you want to log queries for.

                            + */ + public listResolverQueryLogConfigs( + args: ListResolverQueryLogConfigsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listResolverQueryLogConfigs( + args: ListResolverQueryLogConfigsCommandInput, + cb: (err: any, data?: ListResolverQueryLogConfigsCommandOutput) => void + ): void; + public listResolverQueryLogConfigs( + args: ListResolverQueryLogConfigsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListResolverQueryLogConfigsCommandOutput) => void + ): void; + public listResolverQueryLogConfigs( + args: ListResolverQueryLogConfigsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListResolverQueryLogConfigsCommandOutput) => void), + cb?: (err: any, data?: ListResolverQueryLogConfigsCommandOutput) => void + ): Promise | void { + const command = new ListResolverQueryLogConfigsCommand(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 associations that were created between Resolver rules and VPCs using the current AWS account.

                            */ public listResolverRuleAssociations( args: ListResolverRuleAssociationsCommandInput, @@ -676,7 +1053,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Lists the resolver rules that were created using the current AWS account.

                            + *

                            Lists the Resolver rules that were created using the current AWS account.

                            */ public listResolverRules( args: ListResolverRulesCommandInput, @@ -740,7 +1117,41 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Specifies the Resolver operations and resources that you want to allow another AWS account to be able to use.

                            + *

                            Specifies an AWS account that you want to share a query logging configuration with, the query logging configuration that you want to share, + * and the operations that you want the account to be able to perform on the configuration.

                            + */ + public putResolverQueryLogConfigPolicy( + args: PutResolverQueryLogConfigPolicyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putResolverQueryLogConfigPolicy( + args: PutResolverQueryLogConfigPolicyCommandInput, + cb: (err: any, data?: PutResolverQueryLogConfigPolicyCommandOutput) => void + ): void; + public putResolverQueryLogConfigPolicy( + args: PutResolverQueryLogConfigPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutResolverQueryLogConfigPolicyCommandOutput) => void + ): void; + public putResolverQueryLogConfigPolicy( + args: PutResolverQueryLogConfigPolicyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutResolverQueryLogConfigPolicyCommandOutput) => void), + cb?: (err: any, data?: PutResolverQueryLogConfigPolicyCommandOutput) => void + ): Promise | void { + const command = new PutResolverQueryLogConfigPolicyCommand(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); + } + } + + /** + *

                            Specifies an AWS account that you want to share rules with, the Resolver rules that you want to share, and the operations that you want + * the account to be able to perform on those rules.

                            */ public putResolverRulePolicy( args: PutResolverRulePolicyCommandInput, @@ -830,7 +1241,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Updates the name of an inbound or an outbound resolver endpoint.

                            + *

                            Updates the name of an inbound or an outbound Resolver endpoint.

                            */ public updateResolverEndpoint( args: UpdateResolverEndpointCommandInput, @@ -862,7 +1273,7 @@ export class Route53Resolver extends Route53ResolverClient { } /** - *

                            Updates settings for a specified resolver rule. ResolverRuleId is required, and all other parameters are optional. + *

                            Updates settings for a specified Resolver rule. ResolverRuleId is required, and all other parameters are optional. * If you don't specify a parameter, it retains its current value.

                            */ public updateResolverRule( diff --git a/clients/client-route53resolver/Route53ResolverClient.ts b/clients/client-route53resolver/Route53ResolverClient.ts index e1f7c8affffc..ac04e08e7ffd 100644 --- a/clients/client-route53resolver/Route53ResolverClient.ts +++ b/clients/client-route53resolver/Route53ResolverClient.ts @@ -2,6 +2,10 @@ import { AssociateResolverEndpointIpAddressCommandInput, AssociateResolverEndpointIpAddressCommandOutput, } from "./commands/AssociateResolverEndpointIpAddressCommand"; +import { + AssociateResolverQueryLogConfigCommandInput, + AssociateResolverQueryLogConfigCommandOutput, +} from "./commands/AssociateResolverQueryLogConfigCommand"; import { AssociateResolverRuleCommandInput, AssociateResolverRuleCommandOutput, @@ -10,16 +14,28 @@ import { CreateResolverEndpointCommandInput, CreateResolverEndpointCommandOutput, } from "./commands/CreateResolverEndpointCommand"; +import { + CreateResolverQueryLogConfigCommandInput, + CreateResolverQueryLogConfigCommandOutput, +} from "./commands/CreateResolverQueryLogConfigCommand"; import { CreateResolverRuleCommandInput, CreateResolverRuleCommandOutput } from "./commands/CreateResolverRuleCommand"; import { DeleteResolverEndpointCommandInput, DeleteResolverEndpointCommandOutput, } from "./commands/DeleteResolverEndpointCommand"; +import { + DeleteResolverQueryLogConfigCommandInput, + DeleteResolverQueryLogConfigCommandOutput, +} from "./commands/DeleteResolverQueryLogConfigCommand"; import { DeleteResolverRuleCommandInput, DeleteResolverRuleCommandOutput } from "./commands/DeleteResolverRuleCommand"; import { DisassociateResolverEndpointIpAddressCommandInput, DisassociateResolverEndpointIpAddressCommandOutput, } from "./commands/DisassociateResolverEndpointIpAddressCommand"; +import { + DisassociateResolverQueryLogConfigCommandInput, + DisassociateResolverQueryLogConfigCommandOutput, +} from "./commands/DisassociateResolverQueryLogConfigCommand"; import { DisassociateResolverRuleCommandInput, DisassociateResolverRuleCommandOutput, @@ -28,6 +44,18 @@ import { GetResolverEndpointCommandInput, GetResolverEndpointCommandOutput, } from "./commands/GetResolverEndpointCommand"; +import { + GetResolverQueryLogConfigAssociationCommandInput, + GetResolverQueryLogConfigAssociationCommandOutput, +} from "./commands/GetResolverQueryLogConfigAssociationCommand"; +import { + GetResolverQueryLogConfigCommandInput, + GetResolverQueryLogConfigCommandOutput, +} from "./commands/GetResolverQueryLogConfigCommand"; +import { + GetResolverQueryLogConfigPolicyCommandInput, + GetResolverQueryLogConfigPolicyCommandOutput, +} from "./commands/GetResolverQueryLogConfigPolicyCommand"; import { GetResolverRuleAssociationCommandInput, GetResolverRuleAssociationCommandOutput, @@ -45,6 +73,14 @@ import { ListResolverEndpointsCommandInput, ListResolverEndpointsCommandOutput, } from "./commands/ListResolverEndpointsCommand"; +import { + ListResolverQueryLogConfigAssociationsCommandInput, + ListResolverQueryLogConfigAssociationsCommandOutput, +} from "./commands/ListResolverQueryLogConfigAssociationsCommand"; +import { + ListResolverQueryLogConfigsCommandInput, + ListResolverQueryLogConfigsCommandOutput, +} from "./commands/ListResolverQueryLogConfigsCommand"; import { ListResolverRuleAssociationsCommandInput, ListResolverRuleAssociationsCommandOutput, @@ -54,6 +90,10 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + PutResolverQueryLogConfigPolicyCommandInput, + PutResolverQueryLogConfigPolicyCommandOutput, +} from "./commands/PutResolverQueryLogConfigPolicyCommand"; import { PutResolverRulePolicyCommandInput, PutResolverRulePolicyCommandOutput, @@ -116,22 +156,32 @@ import { export type ServiceInputTypes = | AssociateResolverEndpointIpAddressCommandInput + | AssociateResolverQueryLogConfigCommandInput | AssociateResolverRuleCommandInput | CreateResolverEndpointCommandInput + | CreateResolverQueryLogConfigCommandInput | CreateResolverRuleCommandInput | DeleteResolverEndpointCommandInput + | DeleteResolverQueryLogConfigCommandInput | DeleteResolverRuleCommandInput | DisassociateResolverEndpointIpAddressCommandInput + | DisassociateResolverQueryLogConfigCommandInput | DisassociateResolverRuleCommandInput | GetResolverEndpointCommandInput + | GetResolverQueryLogConfigAssociationCommandInput + | GetResolverQueryLogConfigCommandInput + | GetResolverQueryLogConfigPolicyCommandInput | GetResolverRuleAssociationCommandInput | GetResolverRuleCommandInput | GetResolverRulePolicyCommandInput | ListResolverEndpointIpAddressesCommandInput | ListResolverEndpointsCommandInput + | ListResolverQueryLogConfigAssociationsCommandInput + | ListResolverQueryLogConfigsCommandInput | ListResolverRuleAssociationsCommandInput | ListResolverRulesCommandInput | ListTagsForResourceCommandInput + | PutResolverQueryLogConfigPolicyCommandInput | PutResolverRulePolicyCommandInput | TagResourceCommandInput | UntagResourceCommandInput @@ -140,22 +190,32 @@ export type ServiceInputTypes = export type ServiceOutputTypes = | AssociateResolverEndpointIpAddressCommandOutput + | AssociateResolverQueryLogConfigCommandOutput | AssociateResolverRuleCommandOutput | CreateResolverEndpointCommandOutput + | CreateResolverQueryLogConfigCommandOutput | CreateResolverRuleCommandOutput | DeleteResolverEndpointCommandOutput + | DeleteResolverQueryLogConfigCommandOutput | DeleteResolverRuleCommandOutput | DisassociateResolverEndpointIpAddressCommandOutput + | DisassociateResolverQueryLogConfigCommandOutput | DisassociateResolverRuleCommandOutput | GetResolverEndpointCommandOutput + | GetResolverQueryLogConfigAssociationCommandOutput + | GetResolverQueryLogConfigCommandOutput + | GetResolverQueryLogConfigPolicyCommandOutput | GetResolverRuleAssociationCommandOutput | GetResolverRuleCommandOutput | GetResolverRulePolicyCommandOutput | ListResolverEndpointIpAddressesCommandOutput | ListResolverEndpointsCommandOutput + | ListResolverQueryLogConfigAssociationsCommandOutput + | ListResolverQueryLogConfigsCommandOutput | ListResolverRuleAssociationsCommandOutput | ListResolverRulesCommandOutput | ListTagsForResourceCommandOutput + | PutResolverQueryLogConfigPolicyCommandOutput | PutResolverRulePolicyCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput @@ -275,49 +335,36 @@ export type Route53ResolverClientResolvedConfig = __SmithyResolvedConfiguration< HostHeaderResolvedConfig; /** - *

                            Here's how you set up to query an Amazon Route 53 private hosted zone from your network:

                            + *

                            When you create a VPC using Amazon VPC, you automatically get DNS resolution within the VPC from Route 53 Resolver. + * By default, Resolver answers DNS queries for VPC domain names such as domain names for EC2 instances or ELB load balancers. + * Resolver performs recursive lookups against public name servers for all other domain names.

                            * - *
                              - *
                            1. - *

                              Connect your network to a VPC using AWS Direct Connect or a VPN.

                              - *
                            2. - *
                            3. - *

                              Run the following AWS CLI command to create a Resolver endpoint:

                              - *

                              - * create-resolver-endpoint --name [endpoint_name] --direction INBOUND - * --creator-request-id [unique_string] --security-group-ids [security_group_with_inbound_rules] - * --ip-addresses SubnetId=[subnet_id] SubnetId=[subnet_id_in_different_AZ] - *

                              - *

                              Note the resolver endpoint ID that appears in the response. You'll use it in step 3.

                              - *
                            4. - *
                            5. - *

                              Get the IP addresses for the Resolver endpoints:

                              - *

                              - * get-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id] - *

                              - *
                            6. - *
                            7. - *

                              In your network configuration, define the IP addresses that you got in step 3 as DNS servers.

                              - *

                              You can now query instance names in your VPCs and the names of records in your private hosted zone.

                              - *
                            8. - *
                            + *

                            You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection:

                            * - *

                            You can also perform the following operations using the AWS CLI:

                            - *
                              - *
                            • - *

                              - * list-resolver-endpoints: List all endpoints. The syntax includes options for pagination and filtering.

                              - *
                            • - *
                            • - *

                              - * update-resolver-endpoints: Add IP addresses to an endpoint or remove IP addresses from an endpoint.

                              - *
                            • - *
                            + *

                            + * Forward DNS queries from resolvers on your network to Route 53 Resolver + *

                            + * + *

                            DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers + * to easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. + * For more information, see + * How DNS Resolvers + * on Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

                            * - *

                            To delete an endpoint, use the following AWS CLI command:

                            *

                            - * delete-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id] + * Conditionally forward queries from a VPC to resolvers on your network *

                            + * + *

                            You can configure Resolver to forward queries that it receives from EC2 instances in your VPCs to DNS resolvers on your network. + * To forward selected queries, you create Resolver rules that specify the domain names for the DNS queries that you want to forward + * (such as example.com), and the IP addresses of the DNS resolvers on your network that you want to forward the queries to. + * If a query matches multiple rules (example.com, acme.example.com), Resolver chooses the rule with the most specific match + * (acme.example.com) and forwards the query to the IP addresses that you specified in that rule. For more information, see + * How Route 53 Resolver + * Forwards DNS Queries from Your VPCs to Your Network in the Amazon Route 53 Developer Guide.

                            + * + *

                            Like Amazon VPC, Resolver is regional. In each region where you have VPCs, you can choose whether to forward queries from your VPCs + * to your network (outbound queries), from your network to your VPCs (inbound queries), or both.

                            */ export class Route53ResolverClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-route53resolver/commands/AssociateResolverQueryLogConfigCommand.ts b/clients/client-route53resolver/commands/AssociateResolverQueryLogConfigCommand.ts new file mode 100644 index 000000000000..fdb18d7d1f4d --- /dev/null +++ b/clients/client-route53resolver/commands/AssociateResolverQueryLogConfigCommand.ts @@ -0,0 +1,76 @@ +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; +import { AssociateResolverQueryLogConfigRequest, AssociateResolverQueryLogConfigResponse } from "../models/models_0"; +import { + deserializeAws_json1_1AssociateResolverQueryLogConfigCommand, + serializeAws_json1_1AssociateResolverQueryLogConfigCommand, +} 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 AssociateResolverQueryLogConfigCommandInput = AssociateResolverQueryLogConfigRequest; +export type AssociateResolverQueryLogConfigCommandOutput = AssociateResolverQueryLogConfigResponse & __MetadataBearer; + +export class AssociateResolverQueryLogConfigCommand extends $Command< + AssociateResolverQueryLogConfigCommandInput, + AssociateResolverQueryLogConfigCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociateResolverQueryLogConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: AssociateResolverQueryLogConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: AssociateResolverQueryLogConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: AssociateResolverQueryLogConfigCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1AssociateResolverQueryLogConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1AssociateResolverQueryLogConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/commands/CreateResolverQueryLogConfigCommand.ts b/clients/client-route53resolver/commands/CreateResolverQueryLogConfigCommand.ts new file mode 100644 index 000000000000..afe226e96247 --- /dev/null +++ b/clients/client-route53resolver/commands/CreateResolverQueryLogConfigCommand.ts @@ -0,0 +1,73 @@ +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; +import { CreateResolverQueryLogConfigRequest, CreateResolverQueryLogConfigResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateResolverQueryLogConfigCommand, + serializeAws_json1_1CreateResolverQueryLogConfigCommand, +} 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 CreateResolverQueryLogConfigCommandInput = CreateResolverQueryLogConfigRequest; +export type CreateResolverQueryLogConfigCommandOutput = CreateResolverQueryLogConfigResponse & __MetadataBearer; + +export class CreateResolverQueryLogConfigCommand extends $Command< + CreateResolverQueryLogConfigCommandInput, + CreateResolverQueryLogConfigCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateResolverQueryLogConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateResolverQueryLogConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateResolverQueryLogConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateResolverQueryLogConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateResolverQueryLogConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1CreateResolverQueryLogConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/commands/DeleteResolverQueryLogConfigCommand.ts b/clients/client-route53resolver/commands/DeleteResolverQueryLogConfigCommand.ts new file mode 100644 index 000000000000..9844400f44eb --- /dev/null +++ b/clients/client-route53resolver/commands/DeleteResolverQueryLogConfigCommand.ts @@ -0,0 +1,73 @@ +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; +import { DeleteResolverQueryLogConfigRequest, DeleteResolverQueryLogConfigResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteResolverQueryLogConfigCommand, + serializeAws_json1_1DeleteResolverQueryLogConfigCommand, +} 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 DeleteResolverQueryLogConfigCommandInput = DeleteResolverQueryLogConfigRequest; +export type DeleteResolverQueryLogConfigCommandOutput = DeleteResolverQueryLogConfigResponse & __MetadataBearer; + +export class DeleteResolverQueryLogConfigCommand extends $Command< + DeleteResolverQueryLogConfigCommandInput, + DeleteResolverQueryLogConfigCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteResolverQueryLogConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteResolverQueryLogConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteResolverQueryLogConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteResolverQueryLogConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteResolverQueryLogConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DeleteResolverQueryLogConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/commands/DisassociateResolverQueryLogConfigCommand.ts b/clients/client-route53resolver/commands/DisassociateResolverQueryLogConfigCommand.ts new file mode 100644 index 000000000000..e8ddf9667083 --- /dev/null +++ b/clients/client-route53resolver/commands/DisassociateResolverQueryLogConfigCommand.ts @@ -0,0 +1,80 @@ +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; +import { + DisassociateResolverQueryLogConfigRequest, + DisassociateResolverQueryLogConfigResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DisassociateResolverQueryLogConfigCommand, + serializeAws_json1_1DisassociateResolverQueryLogConfigCommand, +} 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 DisassociateResolverQueryLogConfigCommandInput = DisassociateResolverQueryLogConfigRequest; +export type DisassociateResolverQueryLogConfigCommandOutput = DisassociateResolverQueryLogConfigResponse & + __MetadataBearer; + +export class DisassociateResolverQueryLogConfigCommand extends $Command< + DisassociateResolverQueryLogConfigCommandInput, + DisassociateResolverQueryLogConfigCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisassociateResolverQueryLogConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DisassociateResolverQueryLogConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: DisassociateResolverQueryLogConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DisassociateResolverQueryLogConfigCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DisassociateResolverQueryLogConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DisassociateResolverQueryLogConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/commands/GetResolverQueryLogConfigAssociationCommand.ts b/clients/client-route53resolver/commands/GetResolverQueryLogConfigAssociationCommand.ts new file mode 100644 index 000000000000..71e718eaee4c --- /dev/null +++ b/clients/client-route53resolver/commands/GetResolverQueryLogConfigAssociationCommand.ts @@ -0,0 +1,80 @@ +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; +import { + GetResolverQueryLogConfigAssociationRequest, + GetResolverQueryLogConfigAssociationResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1GetResolverQueryLogConfigAssociationCommand, + serializeAws_json1_1GetResolverQueryLogConfigAssociationCommand, +} 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 GetResolverQueryLogConfigAssociationCommandInput = GetResolverQueryLogConfigAssociationRequest; +export type GetResolverQueryLogConfigAssociationCommandOutput = GetResolverQueryLogConfigAssociationResponse & + __MetadataBearer; + +export class GetResolverQueryLogConfigAssociationCommand extends $Command< + GetResolverQueryLogConfigAssociationCommandInput, + GetResolverQueryLogConfigAssociationCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetResolverQueryLogConfigAssociationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetResolverQueryLogConfigAssociationRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetResolverQueryLogConfigAssociationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: GetResolverQueryLogConfigAssociationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1GetResolverQueryLogConfigAssociationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1GetResolverQueryLogConfigAssociationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/commands/GetResolverQueryLogConfigCommand.ts b/clients/client-route53resolver/commands/GetResolverQueryLogConfigCommand.ts new file mode 100644 index 000000000000..d527fb06e1d1 --- /dev/null +++ b/clients/client-route53resolver/commands/GetResolverQueryLogConfigCommand.ts @@ -0,0 +1,73 @@ +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; +import { GetResolverQueryLogConfigRequest, GetResolverQueryLogConfigResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetResolverQueryLogConfigCommand, + serializeAws_json1_1GetResolverQueryLogConfigCommand, +} 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 GetResolverQueryLogConfigCommandInput = GetResolverQueryLogConfigRequest; +export type GetResolverQueryLogConfigCommandOutput = GetResolverQueryLogConfigResponse & __MetadataBearer; + +export class GetResolverQueryLogConfigCommand extends $Command< + GetResolverQueryLogConfigCommandInput, + GetResolverQueryLogConfigCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetResolverQueryLogConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetResolverQueryLogConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetResolverQueryLogConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetResolverQueryLogConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetResolverQueryLogConfigCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1GetResolverQueryLogConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/commands/GetResolverQueryLogConfigPolicyCommand.ts b/clients/client-route53resolver/commands/GetResolverQueryLogConfigPolicyCommand.ts new file mode 100644 index 000000000000..e073662a6e76 --- /dev/null +++ b/clients/client-route53resolver/commands/GetResolverQueryLogConfigPolicyCommand.ts @@ -0,0 +1,76 @@ +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; +import { GetResolverQueryLogConfigPolicyRequest, GetResolverQueryLogConfigPolicyResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetResolverQueryLogConfigPolicyCommand, + serializeAws_json1_1GetResolverQueryLogConfigPolicyCommand, +} 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 GetResolverQueryLogConfigPolicyCommandInput = GetResolverQueryLogConfigPolicyRequest; +export type GetResolverQueryLogConfigPolicyCommandOutput = GetResolverQueryLogConfigPolicyResponse & __MetadataBearer; + +export class GetResolverQueryLogConfigPolicyCommand extends $Command< + GetResolverQueryLogConfigPolicyCommandInput, + GetResolverQueryLogConfigPolicyCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetResolverQueryLogConfigPolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetResolverQueryLogConfigPolicyRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetResolverQueryLogConfigPolicyResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: GetResolverQueryLogConfigPolicyCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1GetResolverQueryLogConfigPolicyCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1GetResolverQueryLogConfigPolicyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/commands/ListResolverQueryLogConfigAssociationsCommand.ts b/clients/client-route53resolver/commands/ListResolverQueryLogConfigAssociationsCommand.ts new file mode 100644 index 000000000000..f606ce67cd65 --- /dev/null +++ b/clients/client-route53resolver/commands/ListResolverQueryLogConfigAssociationsCommand.ts @@ -0,0 +1,80 @@ +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; +import { + ListResolverQueryLogConfigAssociationsRequest, + ListResolverQueryLogConfigAssociationsResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1ListResolverQueryLogConfigAssociationsCommand, + serializeAws_json1_1ListResolverQueryLogConfigAssociationsCommand, +} 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 ListResolverQueryLogConfigAssociationsCommandInput = ListResolverQueryLogConfigAssociationsRequest; +export type ListResolverQueryLogConfigAssociationsCommandOutput = ListResolverQueryLogConfigAssociationsResponse & + __MetadataBearer; + +export class ListResolverQueryLogConfigAssociationsCommand extends $Command< + ListResolverQueryLogConfigAssociationsCommandInput, + ListResolverQueryLogConfigAssociationsCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListResolverQueryLogConfigAssociationsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListResolverQueryLogConfigAssociationsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListResolverQueryLogConfigAssociationsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListResolverQueryLogConfigAssociationsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1ListResolverQueryLogConfigAssociationsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListResolverQueryLogConfigAssociationsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/commands/ListResolverQueryLogConfigsCommand.ts b/clients/client-route53resolver/commands/ListResolverQueryLogConfigsCommand.ts new file mode 100644 index 000000000000..2d3ee1424744 --- /dev/null +++ b/clients/client-route53resolver/commands/ListResolverQueryLogConfigsCommand.ts @@ -0,0 +1,73 @@ +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; +import { ListResolverQueryLogConfigsRequest, ListResolverQueryLogConfigsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListResolverQueryLogConfigsCommand, + serializeAws_json1_1ListResolverQueryLogConfigsCommand, +} 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 ListResolverQueryLogConfigsCommandInput = ListResolverQueryLogConfigsRequest; +export type ListResolverQueryLogConfigsCommandOutput = ListResolverQueryLogConfigsResponse & __MetadataBearer; + +export class ListResolverQueryLogConfigsCommand extends $Command< + ListResolverQueryLogConfigsCommandInput, + ListResolverQueryLogConfigsCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListResolverQueryLogConfigsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListResolverQueryLogConfigsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListResolverQueryLogConfigsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListResolverQueryLogConfigsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListResolverQueryLogConfigsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListResolverQueryLogConfigsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/commands/PutResolverQueryLogConfigPolicyCommand.ts b/clients/client-route53resolver/commands/PutResolverQueryLogConfigPolicyCommand.ts new file mode 100644 index 000000000000..30cc3a397764 --- /dev/null +++ b/clients/client-route53resolver/commands/PutResolverQueryLogConfigPolicyCommand.ts @@ -0,0 +1,76 @@ +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; +import { PutResolverQueryLogConfigPolicyRequest, PutResolverQueryLogConfigPolicyResponse } from "../models/models_0"; +import { + deserializeAws_json1_1PutResolverQueryLogConfigPolicyCommand, + serializeAws_json1_1PutResolverQueryLogConfigPolicyCommand, +} 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 PutResolverQueryLogConfigPolicyCommandInput = PutResolverQueryLogConfigPolicyRequest; +export type PutResolverQueryLogConfigPolicyCommandOutput = PutResolverQueryLogConfigPolicyResponse & __MetadataBearer; + +export class PutResolverQueryLogConfigPolicyCommand extends $Command< + PutResolverQueryLogConfigPolicyCommandInput, + PutResolverQueryLogConfigPolicyCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutResolverQueryLogConfigPolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: PutResolverQueryLogConfigPolicyRequest.filterSensitiveLog, + outputFilterSensitiveLog: PutResolverQueryLogConfigPolicyResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: PutResolverQueryLogConfigPolicyCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1PutResolverQueryLogConfigPolicyCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1PutResolverQueryLogConfigPolicyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/index.ts b/clients/client-route53resolver/index.ts index 58c9c560cb52..e635f80a0e76 100644 --- a/clients/client-route53resolver/index.ts +++ b/clients/client-route53resolver/index.ts @@ -1,14 +1,21 @@ export * from "./Route53ResolverClient"; export * from "./Route53Resolver"; export * from "./commands/AssociateResolverEndpointIpAddressCommand"; +export * from "./commands/AssociateResolverQueryLogConfigCommand"; export * from "./commands/AssociateResolverRuleCommand"; export * from "./commands/CreateResolverEndpointCommand"; +export * from "./commands/CreateResolverQueryLogConfigCommand"; export * from "./commands/CreateResolverRuleCommand"; export * from "./commands/DeleteResolverEndpointCommand"; +export * from "./commands/DeleteResolverQueryLogConfigCommand"; export * from "./commands/DeleteResolverRuleCommand"; export * from "./commands/DisassociateResolverEndpointIpAddressCommand"; +export * from "./commands/DisassociateResolverQueryLogConfigCommand"; export * from "./commands/DisassociateResolverRuleCommand"; export * from "./commands/GetResolverEndpointCommand"; +export * from "./commands/GetResolverQueryLogConfigCommand"; +export * from "./commands/GetResolverQueryLogConfigAssociationCommand"; +export * from "./commands/GetResolverQueryLogConfigPolicyCommand"; export * from "./commands/GetResolverRuleCommand"; export * from "./commands/GetResolverRuleAssociationCommand"; export * from "./commands/GetResolverRulePolicyCommand"; @@ -16,11 +23,17 @@ export * from "./commands/ListResolverEndpointIpAddressesCommand"; export * from "./pagination/ListResolverEndpointIpAddressesPaginator"; export * from "./commands/ListResolverEndpointsCommand"; export * from "./pagination/ListResolverEndpointsPaginator"; +export * from "./commands/ListResolverQueryLogConfigAssociationsCommand"; +export * from "./pagination/ListResolverQueryLogConfigAssociationsPaginator"; +export * from "./commands/ListResolverQueryLogConfigsCommand"; +export * from "./pagination/ListResolverQueryLogConfigsPaginator"; export * from "./commands/ListResolverRuleAssociationsCommand"; export * from "./pagination/ListResolverRuleAssociationsPaginator"; export * from "./commands/ListResolverRulesCommand"; export * from "./pagination/ListResolverRulesPaginator"; export * from "./commands/ListTagsForResourceCommand"; +export * from "./pagination/ListTagsForResourcePaginator"; +export * from "./commands/PutResolverQueryLogConfigPolicyCommand"; export * from "./commands/PutResolverRulePolicyCommand"; export * from "./commands/TagResourceCommand"; export * from "./commands/UntagResourceCommand"; diff --git a/clients/client-route53resolver/models/models_0.ts b/clients/client-route53resolver/models/models_0.ts index b7ae0e04bf4e..13f330600a33 100644 --- a/clients/client-route53resolver/models/models_0.ts +++ b/clients/client-route53resolver/models/models_0.ts @@ -2,25 +2,44 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; /** - *

                            In an UpdateResolverEndpoint request, information about an IP address to update.

                            + *

                            The current account doesn't have the IAM permissions required to perform the specified Resolver operation.

                            */ -export interface IpAddressUpdate { - /** - *

                            The new IP address.

                            - */ - Ip?: string; +export interface AccessDeniedException extends __SmithyException, $MetadataBearer { + name: "AccessDeniedException"; + $fault: "client"; + Message?: string; +} +export namespace AccessDeniedException { + export const filterSensitiveLog = (obj: AccessDeniedException): any => ({ + ...obj, + }); +} + +/** + *

                            In an + * UpdateResolverEndpoint + * request, information about an IP address to update.

                            + */ +export interface IpAddressUpdate { /** - *

                            The ID of the subnet that includes the IP address that you want to update. To get this ID, use GetResolverEndpoint.

                            + *

                            The ID of the subnet that includes the IP address that you want to update. To get this ID, use + * GetResolverEndpoint.

                            */ SubnetId?: string; /** *

                            - * Only when removing an IP address from a resolver endpoint: The ID of the IP address that you want to remove. - * To get this ID, use GetResolverEndpoint.

                            + * Only when removing an IP address from a Resolver endpoint: The ID of the IP address that you want to remove. + * To get this ID, use + * GetResolverEndpoint.

                            */ IpId?: string; + + /** + *

                            The new IP address.

                            + */ + Ip?: string; } export namespace IpAddressUpdate { @@ -31,15 +50,15 @@ export namespace IpAddressUpdate { export interface AssociateResolverEndpointIpAddressRequest { /** - *

                            Either the IPv4 address that you want to add to a resolver endpoint or a subnet ID. If you specify a subnet ID, - * Resolver chooses an IP address for you from the available IPs in the specified subnet.

                            + *

                            The ID of the Resolver endpoint that you want to associate IP addresses with.

                            */ - IpAddress: IpAddressUpdate | undefined; + ResolverEndpointId: string | undefined; /** - *

                            The ID of the resolver endpoint that you want to associate IP addresses with.

                            + *

                            Either the IPv4 address that you want to add to a Resolver endpoint or a subnet ID. If you specify a subnet ID, + * Resolver chooses an IP address for you from the available IPs in the specified subnet.

                            */ - ResolverEndpointId: string | undefined; + IpAddress: IpAddressUpdate | undefined; } export namespace AssociateResolverEndpointIpAddressRequest { @@ -63,81 +82,133 @@ export enum ResolverEndpointStatus { } /** - *

                            In the response to a CreateResolverEndpoint, DeleteResolverEndpoint, GetResolverEndpoint, - * ListResolverEndpoints, or UpdateResolverEndpoint request, a complex type that contains settings - * for an existing inbound or outbound resolver endpoint.

                            + *

                            In the response to a + * CreateResolverEndpoint, + * DeleteResolverEndpoint, + * GetResolverEndpoint, + * ListResolverEndpoints, + * or + * UpdateResolverEndpoint + * request, a complex type that contains settings for an existing inbound or outbound Resolver endpoint.

                            */ export interface ResolverEndpoint { /** - *

                            The name that you assigned to the resolver endpoint when you submitted a CreateResolverEndpoint request.

                            - */ - Name?: string; - - /** - *

                            The date and time that the endpoint was last modified, in Unix time format and Coordinated Universal Time (UTC).

                            - */ - ModificationTime?: string; - - /** - *

                            The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound resolver rules.

                            - */ - SecurityGroupIds?: string[]; - - /** - *

                            The date and time that the endpoint was created, in Unix time format and Coordinated Universal Time (UTC).

                            + *

                            The ARN (Amazon Resource Name) for the Resolver endpoint.

                            */ - CreationTime?: string; + Arn?: string; /** - *

                            The ID of the VPC that you want to create the resolver endpoint in.

                            + *

                            The ID of the VPC that you want to create the Resolver endpoint in.

                            */ HostVPCId?: string; /** - *

                            The ID of the resolver endpoint.

                            - */ - Id?: string; - - /** - *

                            Indicates whether the resolver endpoint allows inbound or outbound DNS queries:

                            + *

                            Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:

                            *
                              *
                            • *

                              - * INBOUND: allows DNS queries to your VPC from your network or another VPC

                              + * INBOUND: allows DNS queries to your VPC from your network

                              *
                            • *
                            • *

                              - * OUTBOUND: allows DNS queries from your VPC to your network or another VPC

                              + * OUTBOUND: allows DNS queries from your VPC to your network

                              *
                            • *
                            */ Direction?: ResolverEndpointDirection | string; /** - *

                            A code that specifies the current status of the resolver endpoint.

                            + *

                            A unique string that identifies the request that created the Resolver endpoint. The CreatorRequestId allows failed requests + * to be retried without the risk of executing the operation twice.

                            */ - Status?: ResolverEndpointStatus | string; + CreatorRequestId?: string; /** - *

                            The ARN (Amazon Resource Name) for the resolver endpoint.

                            + *

                            The ID of the Resolver endpoint.

                            */ - Arn?: string; + Id?: string; + + /** + *

                            The date and time that the endpoint was created, in Unix time format and Coordinated Universal Time (UTC).

                            + */ + CreationTime?: string; /** - *

                            A detailed description of the status of the resolver endpoint.

                            + *

                            The name that you assigned to the Resolver endpoint when you submitted a + * CreateResolverEndpoint + * request.

                            + */ + Name?: string; + + /** + *

                            A detailed description of the status of the Resolver endpoint.

                            */ StatusMessage?: string; /** - *

                            A unique string that identifies the request that created the resolver endpoint. The CreatorRequestId allows failed requests - * to be retried without the risk of executing the operation twice.

                            + *

                            The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules + * (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. + * For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.

                            */ - CreatorRequestId?: string; + SecurityGroupIds?: string[]; /** - *

                            The number of IP addresses that the resolver endpoint can use for DNS queries.

                            + *

                            The number of IP addresses that the Resolver endpoint can use for DNS queries.

                            */ IpAddressCount?: number; + + /** + *

                            The date and time that the endpoint was last modified, in Unix time format and Coordinated Universal Time (UTC).

                            + */ + ModificationTime?: string; + + /** + *

                            A code that specifies the current status of the Resolver endpoint. Valid values include the following:

                            + *
                              + *
                            • + *

                              + * CREATING: Resolver is creating and configuring one or more Amazon VPC network interfaces + * for this endpoint.

                              + *
                            • + *
                            • + *

                              + * OPERATIONAL: The Amazon VPC network interfaces for this endpoint are correctly configured and + * able to pass inbound or outbound DNS queries between your network and Resolver.

                              + *
                            • + *
                            • + *

                              + * UPDATING: Resolver is associating or disassociating one or more network interfaces + * with this endpoint.

                              + *
                            • + *
                            • + *

                              + * AUTO_RECOVERING: Resolver is trying to recover one or more of the network interfaces + * that are associated with this endpoint. During the recovery process, the endpoint functions with limited capacity because of the + * limit on the number of DNS queries per IP address (per network interface). For the current limit, see + * Limits on Route 53 Resolver.

                              + *
                            • + *
                            • + *

                              + * ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically recover it. + * To resolve the problem, we recommend that you check each IP address that you associated with the endpoint. For each IP address + * that isn't available, add another IP address and then delete the IP address that isn't available. (An endpoint must always include + * at least two IP addresses.) A status of ACTION_NEEDED can have a variety of causes. Here are two common causes:

                              + *
                                + *
                              • + *

                                One or more of the network interfaces that are associated with the endpoint were deleted using Amazon VPC.

                                + *
                              • + *
                              • + *

                                The network interface couldn't be created for some reason that's outside the control of Resolver.

                                + *
                              • + *
                              + *
                            • + *
                            • + *

                              + * DELETING: Resolver is deleting this endpoint and the associated network interfaces.

                              + *
                            • + *
                            + */ + Status?: ResolverEndpointStatus | string; } export namespace ResolverEndpoint { @@ -235,12 +306,11 @@ export namespace LimitExceededException { export interface ResourceExistsException extends __SmithyException, $MetadataBearer { name: "ResourceExistsException"; $fault: "client"; + Message?: string; /** *

                            For a ResourceExistsException error, the type of resource that the error applies to.

                            */ ResourceType?: string; - - Message?: string; } export namespace ResourceExistsException { @@ -284,22 +354,154 @@ export namespace ThrottlingException { }); } -export interface AssociateResolverRuleRequest { +export interface AssociateResolverQueryLogConfigRequest { /** - *

                            The ID of the resolver rule that you want to associate with the VPC. To list the existing resolver rules, use - * ListResolverRules.

                            + *

                            The ID of the query logging configuration that you want to associate a VPC with.

                            */ - ResolverRuleId: string | undefined; + ResolverQueryLogConfigId: string | undefined; /** - *

                            A name for the association that you're creating between a resolver rule and a VPC.

                            + *

                            The ID of an Amazon VPC that you want this query logging configuration to log queries for.

                            + * + * + *

                            The VPCs and the query logging configuration must be in the same Region.

                            + *
                            */ - Name?: string; + ResourceId: string | undefined; +} + +export namespace AssociateResolverQueryLogConfigRequest { + export const filterSensitiveLog = (obj: AssociateResolverQueryLogConfigRequest): any => ({ + ...obj, + }); +} + +export enum ResolverQueryLogConfigAssociationError { + AccessDenied = "ACCESS_DENIED", + DestinationNotFound = "DESTINATION_NOT_FOUND", + InternalServiceError = "INTERNAL_SERVICE_ERROR", + None = "NONE", +} + +export enum ResolverQueryLogConfigAssociationStatus { + ActionNeeded = "ACTION_NEEDED", + Active = "ACTIVE", + Creating = "CREATING", + Deleting = "DELETING", + Failed = "FAILED", +} + +/** + *

                            In the response to an + * AssociateResolverQueryLogConfig, + * DisassociateResolverQueryLogConfig, + * GetResolverQueryLogConfigAssociation, + * or + * ListResolverQueryLogConfigAssociations, + * request, a complex type that contains settings for a specified association between an Amazon VPC and a query logging configuration.

                            + */ +export interface ResolverQueryLogConfigAssociation { + /** + *

                            The status of the specified query logging association. Valid values include the following:

                            + *
                              + *
                            • + *

                              + * CREATING: Resolver is creating an association between an Amazon VPC and a query logging configuration.

                              + *
                            • + *
                            • + *

                              + * CREATED: The association between an Amazon VPC and a query logging configuration + * was successfully created. Resolver is logging queries that originate in the specified VPC.

                              + *
                            • + *
                            • + *

                              + * DELETING: Resolver is deleting this query logging association.

                              + *
                            • + *
                            • + *

                              + * FAILED: Resolver either couldn't create or couldn't delete the query logging association.

                              + *
                            • + *
                            + */ + Status?: ResolverQueryLogConfigAssociationStatus | string; + + /** + *

                            The ID of the query logging configuration that a VPC is associated with.

                            + */ + ResolverQueryLogConfigId?: string; + + /** + *

                            The ID of the query logging association.

                            + */ + Id?: string; + + /** + *

                            Contains additional information about the error. If the value or Error is null, the value of ErrorMessage also is null.

                            + */ + ErrorMessage?: string; + + /** + *

                            The ID of the Amazon VPC that is associated with the query logging configuration.

                            + */ + ResourceId?: string; + + /** + *

                            The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).

                            + */ + CreationTime?: string; + + /** + *

                            If the value of Status is FAILED, the value of Error indicates the cause:

                            + *
                              + *
                            • + *

                              + * DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon S3 bucket) was deleted.

                              + *
                            • + *
                            • + *

                              + * ACCESS_DENIED: Permissions don't allow sending logs to the destination.

                              + *
                            • + *
                            + *

                            If the value of Status is a value other than FAILED, Error is null.

                            + */ + Error?: ResolverQueryLogConfigAssociationError | string; +} + +export namespace ResolverQueryLogConfigAssociation { + export const filterSensitiveLog = (obj: ResolverQueryLogConfigAssociation): any => ({ + ...obj, + }); +} + +export interface AssociateResolverQueryLogConfigResponse { + /** + *

                            A complex type that contains settings for a specified association between an Amazon VPC and a query logging configuration.

                            + */ + ResolverQueryLogConfigAssociation?: ResolverQueryLogConfigAssociation; +} + +export namespace AssociateResolverQueryLogConfigResponse { + export const filterSensitiveLog = (obj: AssociateResolverQueryLogConfigResponse): any => ({ + ...obj, + }); +} +export interface AssociateResolverRuleRequest { /** - *

                            The ID of the VPC that you want to associate the resolver rule with.

                            + *

                            The ID of the VPC that you want to associate the Resolver rule with.

                            */ VPCId: string | undefined; + + /** + *

                            The ID of the Resolver rule that you want to associate with the VPC. To list the existing Resolver rules, use + * ListResolverRules.

                            + */ + ResolverRuleId: string | undefined; + + /** + *

                            A name for the association that you're creating between a Resolver rule and a VPC.

                            + */ + Name?: string; } export namespace AssociateResolverRuleRequest { @@ -317,41 +519,46 @@ export enum ResolverRuleAssociationStatus { } /** - *

                            In the response to an AssociateResolverRule, - * DisassociateResolverRule, or ListResolverRuleAssociations request, - * information about an association between a resolver rule and a VPC.

                            + *

                            In the response to an + * AssociateResolverRule, + * DisassociateResolverRule, + * or + * ListResolverRuleAssociations + * request, provides information about an association between a Resolver rule and a VPC. + * The association determines which DNS queries that originate in the VPC are forwarded to your network.

                            */ export interface ResolverRuleAssociation { /** - *

                            The ID of the VPC that you associated the resolver rule with.

                            + *

                            A detailed description of the status of the association between a Resolver rule and a VPC.

                            */ - VPCId?: string; + StatusMessage?: string; /** - *

                            A code that specifies the current status of the association between a resolver rule and a VPC.

                            + *

                            The name of an association between a Resolver rule and a VPC.

                            */ - Status?: ResolverRuleAssociationStatus | string; + Name?: string; /** - *

                            The ID of the resolver rule that you associated with the VPC that is specified by VPCId.

                            + *

                            The ID of the association between a Resolver rule and a VPC. Resolver assigns this value when you submit an + * AssociateResolverRule + * request.

                            */ - ResolverRuleId?: string; + Id?: string; /** - *

                            The ID of the association between a resolver rule and a VPC. Resolver assigns this value when you submit an - * AssociateResolverRule request.

                            + *

                            A code that specifies the current status of the association between a Resolver rule and a VPC.

                            */ - Id?: string; + Status?: ResolverRuleAssociationStatus | string; /** - *

                            The name of an association between a resolver rule and a VPC.

                            + *

                            The ID of the VPC that you associated the Resolver rule with.

                            */ - Name?: string; + VPCId?: string; /** - *

                            A detailed description of the status of the association between a resolver rule and a VPC.

                            + *

                            The ID of the Resolver rule that you associated with the VPC that is specified by VPCId.

                            */ - StatusMessage?: string; + ResolverRuleId?: string; } export namespace ResolverRuleAssociation { @@ -379,12 +586,11 @@ export namespace AssociateResolverRuleResponse { export interface ResourceUnavailableException extends __SmithyException, $MetadataBearer { name: "ResourceUnavailableException"; $fault: "client"; + Message?: string; /** *

                            For a ResourceUnavailableException error, the type of resource that isn't available.

                            */ ResourceType?: string; - - Message?: string; } export namespace ResourceUnavailableException { @@ -394,18 +600,21 @@ export namespace ResourceUnavailableException { } /** - *

                            In an CreateResolverEndpoint request, a subnet and IP address that you want to use for DNS queries.

                            + *

                            In a + * CreateResolverEndpoint + * request, the IP address that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). + * IpAddressRequest also includes the ID of the subnet that contains the IP address.

                            */ export interface IpAddressRequest { /** - *

                            The IP address that you want to use for DNS queries.

                            + *

                            The ID of the subnet that contains the IP address.

                            */ - Ip?: string; + SubnetId: string | undefined; /** - *

                            The subnet that contains the IP address.

                            + *

                            The IP address that you want to use for DNS queries.

                            */ - SubnetId: string | undefined; + Ip?: string; } export namespace IpAddressRequest { @@ -419,16 +628,16 @@ export namespace IpAddressRequest { */ export interface Tag { /** - *

                            The name for the tag. For example, if you want to associate Resolver resources with the account IDs of your customers for billing purposes, - * the value of Key might be account-id.

                            + *

                            The value for the tag. For example, if Key is account-id, then Value might be the ID of the + * customer account that you're creating the resource for.

                            */ - Key?: string; + Value: string | undefined; /** - *

                            The value for the tag. For example, if Key is account-id, then Value might be the ID of the - * customer account that you're creating the resource for.

                            + *

                            The name for the tag. For example, if you want to associate Resolver resources with the account IDs of your customers for billing purposes, + * the value of Key might be account-id.

                            */ - Value?: string; + Key: string | undefined; } export namespace Tag { @@ -439,19 +648,14 @@ export namespace Tag { export interface CreateResolverEndpointRequest { /** - *

                            The ID of one or more security groups that you want to use to control access to this VPC. The security group that you specify - * must include one or more inbound rules (for inbound resolver endpoints) or outbound rules (for outbound resolver endpoints).

                            - */ - SecurityGroupIds: string[] | undefined; - - /** - *

                            A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.

                            + *

                            A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. + * CreatorRequestId can be any unique string, for example, a date/time stamp.

                            */ - Name?: string; + CreatorRequestId: string | undefined; /** - *

                            The subnets and IP addresses in your VPC that you want DNS queries to pass through on the way from your VPCs to your network - * (for outbound endpoints) or on the way from your network to your VPCs (for inbound resolver endpoints).

                            + *

                            The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward + * DNS queries to (for inbound endpoints). The subnet ID uniquely identifies a VPC.

                            */ IpAddresses: IpAddressRequest[] | undefined; @@ -461,25 +665,32 @@ export interface CreateResolverEndpointRequest { Tags?: Tag[]; /** - *

                            A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. - * CreatorRequestId can be any unique string, for example, a date/time stamp.

                            + *

                            A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.

                            */ - CreatorRequestId: string | undefined; + Name?: string; /** *

                            Specify the applicable value:

                            *
                              *
                            • *

                              - * INBOUND: Resolver forwards DNS queries to the DNS service for a VPC from your network or another VPC

                              + * INBOUND: Resolver forwards DNS queries to the DNS service for a VPC from your network

                              *
                            • *
                            • *

                              - * OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC to your network or another VPC

                              + * OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC to your network

                              *
                            • *
                            */ Direction: ResolverEndpointDirection | string | undefined; + + /** + *

                            The ID of one or more security groups that you want to use to control access to this VPC. The security group that you specify + * must include one or more inbound rules (for inbound Resolver endpoints) or outbound rules (for outbound Resolver endpoints). + * Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port + * that you're using for DNS queries on your network.

                            + */ + SecurityGroupIds: string[] | undefined; } export namespace CreateResolverEndpointRequest { @@ -501,61 +712,241 @@ export namespace CreateResolverEndpointResponse { }); } -export enum RuleTypeOption { - Forward = "FORWARD", - Recursive = "RECURSIVE", - System = "SYSTEM", -} - -/** - *

                            In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.

                            - */ -export interface TargetAddress { +export interface CreateResolverQueryLogConfigRequest { /** - *

                            The port at Ip that you want to forward DNS queries to.

                            + *

                            The name that you want to give the query logging configuration

                            */ - Port?: number; + Name: string | undefined; /** - *

                            One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses.

                            + *

                            A list of the tag keys and values that you want to associate with the query logging configuration.

                            */ - Ip: string | undefined; -} - -export namespace TargetAddress { - export const filterSensitiveLog = (obj: TargetAddress): any => ({ - ...obj, - }); -} + Tags?: Tag[]; -export interface CreateResolverRuleRequest { /** - *

                            A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. - * CreatorRequestId can be any unique string, for example, a date/time stamp.

                            - */ - CreatorRequestId: string | undefined; - + *

                            The ARN of the resource that you want Resolver to send query logs. You can send query logs to an S3 bucket, a CloudWatch Logs log group, + * or a Kinesis Data Firehose delivery stream. Examples of valid values include the following:

                            + * + *
                              + *
                            • + *

                              + * S3 bucket:

                              + *

                              + * arn:aws:s3:::examplebucket + *

                              + *

                              You can optionally append a file prefix to the end of the ARN.

                              + *

                              + * arn:aws:s3:::examplebucket/development/ + *

                              + *
                            • + *
                            • + *

                              + * CloudWatch Logs log group:

                              + *

                              + * arn:aws:logs:us-west-1:123456789012:log-group:/mystack-testgroup-12ABC1AB12A1:* + *

                              + *
                            • + *
                            • + *

                              + * Kinesis Data Firehose delivery stream:

                              + *

                              + * arn:aws:kinesis:us-east-2:0123456789:stream/my_stream_name + *

                              + *
                            • + *
                            + */ + DestinationArn: string | undefined; + /** - *

                            Specify FORWARD. Other resolver rule types aren't supported.

                            + *

                            A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. + * CreatorRequestId can be any unique string, for example, a date/time stamp.

                            */ - RuleType: RuleTypeOption | string | undefined; + CreatorRequestId?: string; +} + +export namespace CreateResolverQueryLogConfigRequest { + export const filterSensitiveLog = (obj: CreateResolverQueryLogConfigRequest): any => ({ + ...obj, + }); +} + +export enum ShareStatus { + NotShared = "NOT_SHARED", + SharedByMe = "SHARED_BY_ME", + SharedWithMe = "SHARED_WITH_ME", +} + +export enum ResolverQueryLogConfigStatus { + Created = "CREATED", + Creating = "CREATING", + Deleting = "DELETING", + Failed = "FAILED", +} + +/** + *

                            In the response to a + * CreateResolverQueryLogConfig, + * DeleteResolverQueryLogConfig, + * GetResolverQueryLogConfig, + * or + * ListResolverQueryLogConfigs + * request, a complex type that contains settings for one query logging configuration.

                            + */ +export interface ResolverQueryLogConfig { + /** + *

                            The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).

                            + */ + CreationTime?: string; /** - *

                            The IPs that you want Resolver to forward DNS queries to. You can specify only IPv4 addresses. Separate IP addresses with a comma.

                            + *

                            The ARN for the query logging configuration.

                            */ - TargetIps?: TargetAddress[]; + Arn?: string; /** - *

                            A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.

                            + *

                            A unique string that identifies the request that created the query logging configuration. The CreatorRequestId allows failed requests + * to be retried without the risk of executing the operation twice.

                            + */ + CreatorRequestId?: string; + + /** + *

                            The name of the query logging configuration.

                            */ Name?: string; /** - *

                            DNS queries for this domain name are forwarded to the IP addresses that you specify in TargetIps. If a query matches - * multiple resolver rules (example.com and www.example.com), outbound DNS queries are routed using the resolver rule that contains - * the most specific domain name (www.example.com).

                            + *

                            The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or + * a Kinesis Data Firehose delivery stream.

                            */ - DomainName: string | undefined; + DestinationArn?: string; + + /** + *

                            The status of the specified query logging configuration. Valid values include the following:

                            + *
                              + *
                            • + *

                              + * CREATING: Resolver is creating the query logging configuration.

                              + *
                            • + *
                            • + *

                              + * CREATED: The query logging configuration was successfully created. + * Resolver is logging queries that originate in the specified VPC.

                              + *
                            • + *
                            • + *

                              + * DELETING: Resolver is deleting this query logging configuration.

                              + *
                            • + *
                            • + *

                              + * FAILED: Resolver can't deliver logs to the location that is specified in the query logging configuration. + * Here are two common causes:

                              + *
                                + *
                              • + *

                                The specified destination (for example, an Amazon S3 bucket) was deleted.

                                + *
                              • + *
                              • + *

                                Permissions don't allow sending logs to the destination.

                                + *
                              • + *
                              + *
                            • + *
                            + */ + Status?: ResolverQueryLogConfigStatus | string; + + /** + *

                            The ID for the query logging configuration.

                            + */ + Id?: string; + + /** + *

                            An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another + * AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                            + */ + ShareStatus?: ShareStatus | string; + + /** + *

                            The AWS account ID for the account that created the query logging configuration.

                            + */ + OwnerId?: string; + + /** + *

                            The number of VPCs that are associated with the query logging configuration.

                            + */ + AssociationCount?: number; +} + +export namespace ResolverQueryLogConfig { + export const filterSensitiveLog = (obj: ResolverQueryLogConfig): any => ({ + ...obj, + }); +} + +export interface CreateResolverQueryLogConfigResponse { + /** + *

                            Information about the CreateResolverQueryLogConfig request, including the status of the request.

                            + */ + ResolverQueryLogConfig?: ResolverQueryLogConfig; +} + +export namespace CreateResolverQueryLogConfigResponse { + export const filterSensitiveLog = (obj: CreateResolverQueryLogConfigResponse): any => ({ + ...obj, + }); +} + +export enum RuleTypeOption { + Forward = "FORWARD", + Recursive = "RECURSIVE", + System = "SYSTEM", +} + +/** + *

                            In a + * CreateResolverRule + * request, an array of the IPs that you want to forward DNS queries to.

                            + */ +export interface TargetAddress { + /** + *

                            One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses.

                            + */ + Ip: string | undefined; + + /** + *

                            The port at Ip that you want to forward DNS queries to.

                            + */ + Port?: number; +} + +export namespace TargetAddress { + export const filterSensitiveLog = (obj: TargetAddress): any => ({ + ...obj, + }); +} + +export interface CreateResolverRuleRequest { + /** + *

                            When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

                            + *

                            When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for + * a subdomain of that domain, specify SYSTEM.

                            + *

                            For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD + * for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify + * SYSTEM for RuleType.

                            + *

                            Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

                            + */ + RuleType: RuleTypeOption | string | undefined; + + /** + *

                            A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. + * CreatorRequestId can be any unique string, for example, a date/time stamp.

                            + */ + CreatorRequestId: string | undefined; + + /** + *

                            The IPs that you want Resolver to forward DNS queries to. You can specify only IPv4 addresses. Separate IP addresses with a comma.

                            + *

                            + * TargetIps is available only when the value of Rule type is FORWARD.

                            + */ + TargetIps?: TargetAddress[]; /** *

                            A list of the tag keys and values that you want to associate with the endpoint.

                            @@ -563,10 +954,22 @@ export interface CreateResolverRuleRequest { Tags?: Tag[]; /** - *

                            The ID of the outbound resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify + *

                            A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.

                            + */ + Name?: string; + + /** + *

                            The ID of the outbound Resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify * in TargetIps.

                            */ ResolverEndpointId?: string; + + /** + *

                            DNS queries for this domain name are forwarded to the IP addresses that you specify in TargetIps. If a query matches + * multiple Resolver rules (example.com and www.example.com), outbound DNS queries are routed using the Resolver rule that contains + * the most specific domain name (www.example.com).

                            + */ + DomainName: string | undefined; } export namespace CreateResolverRuleRequest { @@ -575,12 +978,6 @@ export namespace CreateResolverRuleRequest { }); } -export enum ShareStatus { - NotShared = "NOT_SHARED", - SharedByMe = "SHARED_BY_ME", - SharedWithMe = "SHARED_WITH_ME", -} - export enum ResolverRuleStatus { Complete = "COMPLETE", Deleting = "DELETING", @@ -589,50 +986,70 @@ export enum ResolverRuleStatus { } /** - *

                            For queries that originate in your VPC, detailed information about a resolver rule, which specifies how to route DNS queries - * out of the VPC. The ResolverRule parameter appears in the response to a CreateResolverRule, - * DeleteResolverRule, GetResolverRule, ListResolverRules, or UpdateResolverRule - * request.

                            + *

                            For queries that originate in your VPC, detailed information about a Resolver rule, which specifies how to route DNS queries + * out of the VPC. The ResolverRule parameter appears in the response to a + * CreateResolverRule, + * DeleteResolverRule, + * GetResolverRule, + * ListResolverRules, + * or + * UpdateResolverRule request.

                            */ export interface ResolverRule { /** - *

                            The ARN (Amazon Resource Name) for the resolver rule specified by Id.

                            + *

                            The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).

                            */ - Arn?: string; + ModificationTime?: string; /** - *

                            This value is always FORWARD. Other resolver rule types aren't supported.

                            + *

                            DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches + * multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name + * (www.example.com).

                            */ - RuleType?: RuleTypeOption | string; + DomainName?: string; /** - *

                            A unique string that you specified when you created the resolver rule. CreatorRequestIdidentifies the request and allows failed requests - * to be retried without the risk of executing the operation twice.

                            + *

                            The ID that Resolver assigned to the Resolver rule when you created it.

                            */ - CreatorRequestId?: string; + Id?: string; /** - *

                            The ID that Resolver assigned to the resolver rule when you created it.

                            + *

                            The ID of the endpoint that the rule is associated with.

                            */ - Id?: string; + ResolverEndpointId?: string; /** - *

                            Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or - * another account is sharing the rule with the current account.

                            + *

                            A detailed description of the status of a Resolver rule.

                            */ - ShareStatus?: ShareStatus | string; + StatusMessage?: string; /** - *

                            A code that specifies the current status of the resolver rule.

                            + *

                            When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

                            + *

                            When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for + * a subdomain of that domain, specify SYSTEM.

                            + *

                            For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD + * for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify + * SYSTEM for RuleType.

                            + *

                            Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

                            */ - Status?: ResolverRuleStatus | string; + RuleType?: RuleTypeOption | string; /** - *

                            DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches - * multiple resolver rules (example.com and www.example.com), the query is routed using the resolver rule that contains the most specific domain name - * (www.example.com).

                            + *

                            A unique string that you specified when you created the Resolver rule. CreatorRequestId identifies the request and + * allows failed requests to be retried without the risk of executing the operation twice.

                            */ - DomainName?: string; + CreatorRequestId?: string; + + /** + *

                            An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, + * these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.

                            + */ + TargetIps?: TargetAddress[]; + + /** + *

                            The name for the Resolver rule, which you specified when you created the Resolver rule.

                            + */ + Name?: string; /** *

                            When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

                            @@ -640,24 +1057,25 @@ export interface ResolverRule { OwnerId?: string; /** - *

                            The ID of the endpoint that the rule is associated with.

                            + *

                            Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or + * another account is sharing the rule with the current account.

                            */ - ResolverEndpointId?: string; + ShareStatus?: ShareStatus | string; /** - *

                            An array that contains the IP addresses and ports that you want to forward

                            + *

                            The date and time that the Resolver rule was created, in Unix time format and Coordinated Universal Time (UTC).

                            */ - TargetIps?: TargetAddress[]; + CreationTime?: string; /** - *

                            The name for the resolver rule, which you specified when you created the resolver rule.

                            + *

                            The ARN (Amazon Resource Name) for the Resolver rule specified by Id.

                            */ - Name?: string; + Arn?: string; /** - *

                            A detailed description of the status of a resolver rule.

                            + *

                            A code that specifies the current status of the Resolver rule.

                            */ - StatusMessage?: string; + Status?: ResolverRuleStatus | string; } export namespace ResolverRule { @@ -681,7 +1099,7 @@ export namespace CreateResolverRuleResponse { export interface DeleteResolverEndpointRequest { /** - *

                            The ID of the resolver endpoint that you want to delete.

                            + *

                            The ID of the Resolver endpoint that you want to delete.

                            */ ResolverEndpointId: string | undefined; } @@ -705,9 +1123,35 @@ export namespace DeleteResolverEndpointResponse { }); } +export interface DeleteResolverQueryLogConfigRequest { + /** + *

                            The ID of the query logging configuration that you want to delete.

                            + */ + ResolverQueryLogConfigId: string | undefined; +} + +export namespace DeleteResolverQueryLogConfigRequest { + export const filterSensitiveLog = (obj: DeleteResolverQueryLogConfigRequest): any => ({ + ...obj, + }); +} + +export interface DeleteResolverQueryLogConfigResponse { + /** + *

                            Information about the query logging configuration that you deleted, including the status of the request.

                            + */ + ResolverQueryLogConfig?: ResolverQueryLogConfig; +} + +export namespace DeleteResolverQueryLogConfigResponse { + export const filterSensitiveLog = (obj: DeleteResolverQueryLogConfigResponse): any => ({ + ...obj, + }); +} + export interface DeleteResolverRuleRequest { /** - *

                            The ID of the resolver rule that you want to delete.

                            + *

                            The ID of the Resolver rule that you want to delete.

                            */ ResolverRuleId: string | undefined; } @@ -737,12 +1181,11 @@ export namespace DeleteResolverRuleResponse { export interface ResourceInUseException extends __SmithyException, $MetadataBearer { name: "ResourceInUseException"; $fault: "client"; + Message?: string; /** *

                            For a ResourceInUseException error, the type of resource that is currently in use.

                            */ ResourceType?: string; - - Message?: string; } export namespace ResourceInUseException { @@ -753,14 +1196,14 @@ export namespace ResourceInUseException { export interface DisassociateResolverEndpointIpAddressRequest { /** - *

                            The ID of the resolver endpoint that you want to disassociate an IP address from.

                            + *

                            The IPv4 address that you want to remove from a Resolver endpoint.

                            */ - ResolverEndpointId: string | undefined; + IpAddress: IpAddressUpdate | undefined; /** - *

                            The IPv4 address that you want to remove from a resolver endpoint.

                            + *

                            The ID of the Resolver endpoint that you want to disassociate an IP address from.

                            */ - IpAddress: IpAddressUpdate | undefined; + ResolverEndpointId: string | undefined; } export namespace DisassociateResolverEndpointIpAddressRequest { @@ -782,91 +1225,462 @@ export namespace DisassociateResolverEndpointIpAddressResponse { }); } -export interface DisassociateResolverRuleRequest { +export interface DisassociateResolverQueryLogConfigRequest { /** - *

                            The ID of the resolver rule that you want to disassociate from the specified VPC.

                            + *

                            The ID of the query logging configuration that you want to disassociate a specified VPC from.

                            */ - ResolverRuleId: string | undefined; + ResolverQueryLogConfigId: string | undefined; /** - *

                            The ID of the VPC that you want to disassociate the resolver rule from.

                            + *

                            The ID of the Amazon VPC that you want to disassociate from a specified query logging configuration.

                            */ - VPCId: string | undefined; + ResourceId: string | undefined; } -export namespace DisassociateResolverRuleRequest { - export const filterSensitiveLog = (obj: DisassociateResolverRuleRequest): any => ({ +export namespace DisassociateResolverQueryLogConfigRequest { + export const filterSensitiveLog = (obj: DisassociateResolverQueryLogConfigRequest): any => ({ ...obj, }); } -export interface DisassociateResolverRuleResponse { +export interface DisassociateResolverQueryLogConfigResponse { /** - *

                            Information about the DisassociateResolverRule request, including the status of the request.

                            + *

                            A complex type that contains settings for the association that you deleted between an Amazon VPC and a query logging configuration.

                            */ - ResolverRuleAssociation?: ResolverRuleAssociation; + ResolverQueryLogConfigAssociation?: ResolverQueryLogConfigAssociation; } -export namespace DisassociateResolverRuleResponse { - export const filterSensitiveLog = (obj: DisassociateResolverRuleResponse): any => ({ +export namespace DisassociateResolverQueryLogConfigResponse { + export const filterSensitiveLog = (obj: DisassociateResolverQueryLogConfigResponse): any => ({ ...obj, }); } -/** - *

                            For List operations, an optional specification to return a subset of objects, such as resolver endpoints or resolver rules.

                            - */ -export interface Filter { +export interface DisassociateResolverRuleRequest { /** - *

                            When you're using a List operation and you want the operation to return a subset of objects, such as resolver endpoints or resolver rules, - * the name of the parameter that you want to use to filter objects. For example, to list only inbound resolver endpoints, specify - * Direction for the value of Name.

                            + *

                            The ID of the VPC that you want to disassociate the Resolver rule from.

                            */ - Name?: string; + VPCId: string | undefined; /** - *

                            When you're using a List operation and you want the operation to return a subset of objects, such as resolver endpoints or resolver rules, - * the value of the parameter that you want to use to filter objects. For example, to list only inbound resolver endpoints, specify - * INBOUND for the value of Values.

                            + *

                            The ID of the Resolver rule that you want to disassociate from the specified VPC.

                            */ - Values?: string[]; + ResolverRuleId: string | undefined; } -export namespace Filter { - export const filterSensitiveLog = (obj: Filter): any => ({ +export namespace DisassociateResolverRuleRequest { + export const filterSensitiveLog = (obj: DisassociateResolverRuleRequest): any => ({ ...obj, }); } -export interface GetResolverEndpointRequest { +export interface DisassociateResolverRuleResponse { /** - *

                            The ID of the resolver endpoint that you want to get information about.

                            + *

                            Information about the DisassociateResolverRule request, including the status of the request.

                            */ - ResolverEndpointId: string | undefined; + ResolverRuleAssociation?: ResolverRuleAssociation; } -export namespace GetResolverEndpointRequest { - export const filterSensitiveLog = (obj: GetResolverEndpointRequest): any => ({ +export namespace DisassociateResolverRuleResponse { + export const filterSensitiveLog = (obj: DisassociateResolverRuleResponse): any => ({ ...obj, }); } -export interface GetResolverEndpointResponse { +/** + *

                            For Resolver list operations + * (ListResolverEndpoints, + * ListResolverRules, + * ListResolverRuleAssociations, + * ListResolverQueryLogConfigs, + * and + * ListResolverQueryLogConfigAssociations), + * an optional specification to return a subset of objects.

                            + *

                            To filter objects, such as Resolver endpoints or Resolver rules, you specify Name and Values. For example, + * to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.

                            + */ +export interface Filter { /** - *

                            Information about the resolver endpoint that you specified in a GetResolverEndpoint request.

                            - */ - ResolverEndpoint?: ResolverEndpoint; -} - -export namespace GetResolverEndpointResponse { - export const filterSensitiveLog = (obj: GetResolverEndpointResponse): any => ({ + *

                            The name of the parameter that you want to use to filter objects.

                            + *

                            The valid values for Name depend on the action that you're including the filter in, + * ListResolverEndpoints, + * ListResolverRules, + * ListResolverRuleAssociations, + * ListResolverQueryLogConfigs, + * or + * ListResolverQueryLogConfigAssociations.

                            + * + * + *

                            In early versions of Resolver, values for Name were listed as uppercase, with underscore (_) delimiters. For example, + * CreatorRequestId was originally listed as CREATOR_REQUEST_ID. Uppercase values for Name are still supported.

                            + *
                            + * + *

                            + * ListResolverEndpoints + *

                            + *

                            Valid values for Name include the following:

                            + *
                              + *
                            • + *

                              + * CreatorRequestId: The value that you specified when you created the Resolver endpoint.

                              + *
                            • + *
                            • + *

                              + * Direction: Whether you want to return inbound or outbound Resolver endpoints. If you specify DIRECTION + * for Name, specify INBOUND or OUTBOUND for Values.

                              + *
                            • + *
                            • + *

                              + * HostVpcId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or + * the VPC that outbound queries pass through on the way from your VPCs to your network. In a + * CreateResolverEndpoint + * request, SubnetId indirectly identifies the VPC. In a + * GetResolverEndpoint + * request, the VPC ID for a Resolver endpoint + * is returned in the HostVPCId element.

                              + *
                            • + *
                            • + *

                              + * IpAddressCount: The number of IP addresses that you have associated with the Resolver endpoint.

                              + *
                            • + *
                            • + *

                              + * Name: The name of the Resolver endpoint.

                              + *
                            • + *
                            • + *

                              + * SecurityGroupIds: The IDs of the VPC security groups that you specified when you created the + * Resolver endpoint.

                              + *
                            • + *
                            • + *

                              + * Status: The status of the Resolver endpoint. If you specify Status for Name, + * specify one of the following status codes for Values: CREATING, OPERATIONAL, UPDATING, + * AUTO_RECOVERING, ACTION_NEEDED, or DELETING. For more information, see Status in + * ResolverEndpoint.

                              + *
                            • + *
                            + * + *

                            + * ListResolverRules + *

                            + *

                            Valid values for Name include the following:

                            + *
                              + *
                            • + *

                              + * CreatorRequestId: The value that you specified when you created the Resolver rule.

                              + *
                            • + *
                            • + *

                              + * DomainName: The domain name for which Resolver is forwarding DNS queries to your network. In the value that + * you specify for Values, include a trailing dot (.) after the domain name. For example, if the domain name is example.com, + * specify the following value. Note the "." after com:

                              + *

                              + * example.com. + *

                              + *
                            • + *
                            • + *

                              + * Name: The name of the Resolver rule.

                              + *
                            • + *
                            • + *

                              + * ResolverEndpointId: The ID of the Resolver endpoint that the Resolver rule is associated with.

                              + * + *

                              You can filter on the Resolver endpoint only for rules that have a value of FORWARD for + * RuleType.

                              + *
                              + *
                            • + *
                            • + *

                              + * Status: The status of the Resolver rule. If you specify Status for Name, + * specify one of the following status codes for Values: COMPLETE, DELETING, UPDATING, + * or FAILED.

                              + *
                            • + *
                            • + *

                              + * Type: The type of the Resolver rule. If you specify TYPE + * for Name, specify FORWARD or SYSTEM for Values.

                              + *
                            • + *
                            + * + *

                            + * ListResolverRuleAssociations + *

                            + *

                            Valid values for Name include the following:

                            + *
                              + *
                            • + *

                              + * Name: The name of the Resolver rule association.

                              + *
                            • + *
                            • + *

                              + * ResolverRuleId: The ID of the Resolver rule that is associated with one or more VPCs.

                              + *
                            • + *
                            • + *

                              + * Status: The status of the Resolver rule association. If you specify Status for Name, + * specify one of the following status codes for Values: CREATING, COMPLETE, DELETING, or + * FAILED.

                              + *
                            • + *
                            • + *

                              + * VPCId: The ID of the VPC that the Resolver rule is associated with.

                              + *
                            • + *
                            + * + *

                            + * ListResolverQueryLogConfigs + *

                            + *

                            Valid values for Name include the following:

                            + *
                              + *
                            • + *

                              + * Arn: The ARN for the query logging configuration.

                              + *
                            • + *
                            • + *

                              + * AssociationCount: The number of VPCs that are associated with the query logging configuration.

                              + *
                            • + *
                            • + *

                              + * CreationTime: The date and time that the query logging configuration was created, in Unix time format and + * Coordinated Universal Time (UTC).

                              + *
                            • + *
                            • + *

                              + * CreatorRequestId: A unique string that identifies the request that created the query logging configuration.

                              + *
                            • + *
                            • + *

                              + * Destination: The AWS service that you want to forward query logs to. Valid values include the following:

                              + *
                                + *
                              • + *

                                + * S3 + *

                                + *
                              • + *
                              • + *

                                + * CloudWatchLogs + *

                                + *
                              • + *
                              • + *

                                + * KinesisFirehose + *

                                + *
                              • + *
                              + *
                            • + *
                            • + *

                              + * DestinationArn: The ARN of the location that Resolver is sending query logs to. This value can be the ARN for an + * S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

                              + *
                            • + *
                            • + *

                              + * Id: The ID of the query logging configuration

                              + *
                            • + *
                            • + *

                              + * Name: The name of the query logging configuration

                              + *
                            • + *
                            • + *

                              + * OwnerId: The AWS account ID for the account that created the query logging configuration.

                              + *
                            • + *
                            • + *

                              + * ShareStatus: An indication of whether the query logging configuration is shared with other AWS accounts, + * or was shared with the current account by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, + * or SHARED_BY_ME.

                              + *
                            • + *
                            • + *

                              + * Status: The status of the query logging configuration. If you specify Status for Name, + * specify the applicable status code for Values: CREATING, CREATED, + * DELETING, or FAILED. For more information, see + * Status. + *

                              + *
                            • + *
                            + * + *

                            + * ListResolverQueryLogConfigAssociations + *

                            + *

                            Valid values for Name include the following:

                            + *
                              + *
                            • + *

                              + * CreationTime: The date and time that the VPC was associated with the query logging configuration, in Unix time format and + * Coordinated Universal Time (UTC).

                              + *
                            • + *
                            • + *

                              + * Error: If the value of Status is FAILED, specify the cause: + * DESTINATION_NOT_FOUND or ACCESS_DENIED.

                              + *
                            • + *
                            • + *

                              + * Id: The ID of the query logging association.

                              + *
                            • + *
                            • + *

                              + * ResolverQueryLogConfigId: The ID of the query logging configuration that a VPC is associated with.

                              + *
                            • + *
                            • + *

                              + * ResourceId: The ID of the Amazon VPC that is associated with the query logging configuration.

                              + *
                            • + *
                            • + *

                              + * Status: The status of the query logging association. If you specify Status for Name, + * specify the applicable status code for Values: CREATING, CREATED, + * DELETING, or FAILED. For more information, see + * Status. + *

                              + *
                            • + *
                            + */ + Name?: string; + + /** + *

                            When you're using a List operation and you want the operation to return a subset of objects, such as Resolver endpoints or Resolver rules, + * the value of the parameter that you want to use to filter objects. For example, to list only inbound Resolver endpoints, specify Direction for + * Name and specify INBOUND for Values.

                            + */ + Values?: string[]; +} + +export namespace Filter { + export const filterSensitiveLog = (obj: Filter): any => ({ + ...obj, + }); +} + +export interface GetResolverEndpointRequest { + /** + *

                            The ID of the Resolver endpoint that you want to get information about.

                            + */ + ResolverEndpointId: string | undefined; +} + +export namespace GetResolverEndpointRequest { + export const filterSensitiveLog = (obj: GetResolverEndpointRequest): any => ({ + ...obj, + }); +} + +export interface GetResolverEndpointResponse { + /** + *

                            Information about the Resolver endpoint that you specified in a GetResolverEndpoint request.

                            + */ + ResolverEndpoint?: ResolverEndpoint; +} + +export namespace GetResolverEndpointResponse { + export const filterSensitiveLog = (obj: GetResolverEndpointResponse): any => ({ + ...obj, + }); +} + +export interface GetResolverQueryLogConfigRequest { + /** + *

                            The ID of the Resolver query logging configuration that you want to get information about.

                            + */ + ResolverQueryLogConfigId: string | undefined; +} + +export namespace GetResolverQueryLogConfigRequest { + export const filterSensitiveLog = (obj: GetResolverQueryLogConfigRequest): any => ({ + ...obj, + }); +} + +export interface GetResolverQueryLogConfigResponse { + /** + *

                            Information about the Resolver query logging configuration that you specified in a GetQueryLogConfig request.

                            + */ + ResolverQueryLogConfig?: ResolverQueryLogConfig; +} + +export namespace GetResolverQueryLogConfigResponse { + export const filterSensitiveLog = (obj: GetResolverQueryLogConfigResponse): any => ({ + ...obj, + }); +} + +export interface GetResolverQueryLogConfigAssociationRequest { + /** + *

                            The ID of the Resolver query logging configuration association that you want to get information about.

                            + */ + ResolverQueryLogConfigAssociationId: string | undefined; +} + +export namespace GetResolverQueryLogConfigAssociationRequest { + export const filterSensitiveLog = (obj: GetResolverQueryLogConfigAssociationRequest): any => ({ + ...obj, + }); +} + +export interface GetResolverQueryLogConfigAssociationResponse { + /** + *

                            Information about the Resolver query logging configuration association that you specified in a GetQueryLogConfigAssociation request.

                            + */ + ResolverQueryLogConfigAssociation?: ResolverQueryLogConfigAssociation; +} + +export namespace GetResolverQueryLogConfigAssociationResponse { + export const filterSensitiveLog = (obj: GetResolverQueryLogConfigAssociationResponse): any => ({ + ...obj, + }); +} + +export interface GetResolverQueryLogConfigPolicyRequest { + /** + *

                            The ARN of the query logging configuration that you want to get the query logging policy for.

                            + */ + Arn: string | undefined; +} + +export namespace GetResolverQueryLogConfigPolicyRequest { + export const filterSensitiveLog = (obj: GetResolverQueryLogConfigPolicyRequest): any => ({ + ...obj, + }); +} + +export interface GetResolverQueryLogConfigPolicyResponse { + /** + *

                            Information about the query logging policy for the query logging configuration that you specified in a + * GetResolverQueryLogConfigPolicy request.

                            + */ + ResolverQueryLogConfigPolicy?: string; +} + +export namespace GetResolverQueryLogConfigPolicyResponse { + export const filterSensitiveLog = (obj: GetResolverQueryLogConfigPolicyResponse): any => ({ + ...obj, + }); +} + +/** + *

                            The specified resource doesn't exist.

                            + */ +export interface UnknownResourceException extends __SmithyException, $MetadataBearer { + name: "UnknownResourceException"; + $fault: "client"; + Message?: string; +} + +export namespace UnknownResourceException { + export const filterSensitiveLog = (obj: UnknownResourceException): any => ({ ...obj, }); } export interface GetResolverRuleRequest { /** - *

                            The ID of the resolver rule that you want to get information about.

                            + *

                            The ID of the Resolver rule that you want to get information about.

                            */ ResolverRuleId: string | undefined; } @@ -879,7 +1693,7 @@ export namespace GetResolverRuleRequest { export interface GetResolverRuleResponse { /** - *

                            Information about the resolver rule that you specified in a GetResolverRule request.

                            + *

                            Information about the Resolver rule that you specified in a GetResolverRule request.

                            */ ResolverRule?: ResolverRule; } @@ -892,7 +1706,7 @@ export namespace GetResolverRuleResponse { export interface GetResolverRuleAssociationRequest { /** - *

                            The ID of the resolver rule association that you want to get information about.

                            + *

                            The ID of the Resolver rule association that you want to get information about.

                            */ ResolverRuleAssociationId: string | undefined; } @@ -905,7 +1719,7 @@ export namespace GetResolverRuleAssociationRequest { export interface GetResolverRuleAssociationResponse { /** - *

                            Information about the resolver rule association that you specified in a GetResolverRuleAssociation request.

                            + *

                            Information about the Resolver rule association that you specified in a GetResolverRuleAssociation request.

                            */ ResolverRuleAssociation?: ResolverRuleAssociation; } @@ -918,7 +1732,7 @@ export namespace GetResolverRuleAssociationResponse { export interface GetResolverRulePolicyRequest { /** - *

                            The ID of the resolver rule policy that you want to get information about.

                            + *

                            The ID of the Resolver rule policy that you want to get information about.

                            */ Arn: string | undefined; } @@ -931,7 +1745,7 @@ export namespace GetResolverRulePolicyRequest { export interface GetResolverRulePolicyResponse { /** - *

                            Information about the resolver rule policy that you specified in a GetResolverRulePolicy request.

                            + *

                            Information about the Resolver rule policy that you specified in a GetResolverRulePolicy request.

                            */ ResolverRulePolicy?: string; } @@ -942,21 +1756,6 @@ export namespace GetResolverRulePolicyResponse { }); } -/** - *

                            The specified resource doesn't exist.

                            - */ -export interface UnknownResourceException extends __SmithyException, $MetadataBearer { - name: "UnknownResourceException"; - $fault: "client"; - Message?: string; -} - -export namespace UnknownResourceException { - export const filterSensitiveLog = (obj: UnknownResourceException): any => ({ - ...obj, - }); -} - /** *

                            The value that you specified for NextToken in a List request isn't valid.

                            */ @@ -973,7 +1772,7 @@ export namespace InvalidNextTokenException { } /** - *

                            The specified resolver rule policy is invalid.

                            + *

                            The specified Resolver rule policy is invalid.

                            */ export interface InvalidPolicyDocument extends __SmithyException, $MetadataBearer { name: "InvalidPolicyDocument"; @@ -1016,10 +1815,31 @@ export enum IpAddressStatus { } /** - *

                            In the response to a GetResolverEndpoint request, information about the IP addresses that - * the resolver endpoint uses for DNS queries.

                            + *

                            In the response to a + * GetResolverEndpoint + * request, information about the IP addresses that the Resolver endpoint uses for DNS queries.

                            */ export interface IpAddressResponse { + /** + *

                            The date and time that the IP address was last modified, in Unix time format and Coordinated Universal Time (UTC).

                            + */ + ModificationTime?: string; + + /** + *

                            The ID of one subnet.

                            + */ + SubnetId?: string; + + /** + *

                            A message that provides additional information about the status of the request.

                            + */ + StatusMessage?: string; + + /** + *

                            The date and time that the IP address was created, in Unix time format and Coordinated Universal Time (UTC).

                            + */ + CreationTime?: string; + /** *

                            A status code that gives the current status of the request.

                            */ @@ -1031,153 +1851,443 @@ export interface IpAddressResponse { IpId?: string; /** - *

                            The ID of one subnet.

                            + *

                            One IP address that the Resolver endpoint uses for DNS queries.

                            */ - SubnetId?: string; + Ip?: string; +} +export namespace IpAddressResponse { + export const filterSensitiveLog = (obj: IpAddressResponse): any => ({ + ...obj, + }); +} + +export interface ListResolverEndpointIpAddressesRequest { /** - *

                            The date and time that the IP address was last modified, in Unix time format and Coordinated Universal Time (UTC).

                            + *

                            The maximum number of IP addresses that you want to return in the response to a ListResolverEndpointIpAddresses request. + * If you don't specify a value for MaxResults, Resolver returns up to 100 IP addresses.

                            */ - ModificationTime?: string; + MaxResults?: number; /** - *

                            The date and time that the IP address was created, in Unix time format and Coordinated Universal Time (UTC).

                            + *

                            The ID of the Resolver endpoint that you want to get IP addresses for.

                            + */ + ResolverEndpointId: string | undefined; + + /** + *

                            For the first ListResolverEndpointIpAddresses request, omit this value.

                            + *

                            If the specified Resolver endpoint has more than MaxResults IP addresses, you can submit another + * ListResolverEndpointIpAddresses request to get the next group of IP addresses. In the next request, specify the value of + * NextToken from the previous response.

                            + */ + NextToken?: string; +} + +export namespace ListResolverEndpointIpAddressesRequest { + export const filterSensitiveLog = (obj: ListResolverEndpointIpAddressesRequest): any => ({ + ...obj, + }); +} + +export interface ListResolverEndpointIpAddressesResponse { + /** + *

                            The value that you specified for MaxResults in the request.

                            + */ + MaxResults?: number; + + /** + *

                            If the specified endpoint has more than MaxResults IP addresses, you can submit another + * ListResolverEndpointIpAddresses request to get the next group of IP addresses. In the next request, + * specify the value of NextToken from the previous response.

                            + */ + NextToken?: string; + + /** + *

                            Information about the IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward + * DNS queries to (for inbound endpoints).

                            + */ + IpAddresses?: IpAddressResponse[]; +} + +export namespace ListResolverEndpointIpAddressesResponse { + export const filterSensitiveLog = (obj: ListResolverEndpointIpAddressesResponse): any => ({ + ...obj, + }); +} + +export interface ListResolverEndpointsRequest { + /** + *

                            An optional specification to return a subset of Resolver endpoints, such as all inbound Resolver endpoints.

                            + * + *

                            If you submit a second or subsequent ListResolverEndpoints request and specify the NextToken parameter, + * you must use the same values for Filters, if any, as in the previous request.

                            + *
                            + */ + Filters?: Filter[]; + + /** + *

                            For the first ListResolverEndpoints request, omit this value.

                            + *

                            If you have more than MaxResults Resolver endpoints, you can submit another ListResolverEndpoints request + * to get the next group of Resolver endpoints. In the next request, specify the value of NextToken from the previous response.

                            + */ + NextToken?: string; + + /** + *

                            The maximum number of Resolver endpoints that you want to return in the response to a ListResolverEndpoints request. + * If you don't specify a value for MaxResults, Resolver returns up to 100 Resolver endpoints.

                            + */ + MaxResults?: number; +} + +export namespace ListResolverEndpointsRequest { + export const filterSensitiveLog = (obj: ListResolverEndpointsRequest): any => ({ + ...obj, + }); +} + +export interface ListResolverEndpointsResponse { + /** + *

                            The Resolver endpoints that were created by using the current AWS account, and that match the specified filters, if any.

                            + */ + ResolverEndpoints?: ResolverEndpoint[]; + + /** + *

                            If more than MaxResults IP addresses match the specified criteria, you can submit another ListResolverEndpoint request + * to get the next group of results. In the next request, specify the value of NextToken from the previous response.

                            + */ + NextToken?: string; + + /** + *

                            The value that you specified for MaxResults in the request.

                            + */ + MaxResults?: number; +} + +export namespace ListResolverEndpointsResponse { + export const filterSensitiveLog = (obj: ListResolverEndpointsResponse): any => ({ + ...obj, + }); +} + +export enum SortOrder { + Ascending = "ASCENDING", + Descending = "DESCENDING", +} + +export interface ListResolverQueryLogConfigAssociationsRequest { + /** + *

                            The element that you want Resolver to sort query logging associations by.

                            + * + *

                            If you submit a second or subsequent ListResolverQueryLogConfigAssociations request and specify the NextToken parameter, + * you must use the same value for SortBy, if any, as in the previous request.

                            + *
                            + * + *

                            Valid values include the following elements:

                            + *
                              + *
                            • + *

                              + * CreationTime: The ID of the query logging association.

                              + *
                            • + *
                            • + *

                              + * Error: If the value of Status is FAILED, the value of Error + * indicates the cause:

                              + *
                                + *
                              • + *

                                + * DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon S3 bucket) was deleted.

                                + *
                              • + *
                              • + *

                                + * ACCESS_DENIED: Permissions don't allow sending logs to the destination.

                                + *
                              • + *
                              + *

                              If Status is a value other than FAILED, ERROR is null.

                              + *
                            • + *
                            • + *

                              + * Id: The ID of the query logging association

                              + *
                            • + *
                            • + *

                              + * ResolverQueryLogConfigId: The ID of the query logging configuration

                              + *
                            • + *
                            • + *

                              + * ResourceId: The ID of the VPC that is associated with the query logging configuration

                              + *
                            • + *
                            • + *

                              + * Status: The current status of the configuration. Valid values include the following:

                              + * + *
                                + *
                              • + *

                                + * CREATING: Resolver is creating an association between an Amazon VPC and a query logging configuration.

                                + *
                              • + *
                              • + *

                                + * CREATED: The association between an Amazon VPC and a query logging configuration + * was successfully created. Resolver is logging queries that originate in the specified VPC.

                                + *
                              • + *
                              • + *

                                + * DELETING: Resolver is deleting this query logging association.

                                + *
                              • + *
                              • + *

                                + * FAILED: Resolver either couldn't create or couldn't delete the query logging association. + * Here are two common causes:

                                + *
                                  + *
                                • + *

                                  The specified destination (for example, an Amazon S3 bucket) was deleted.

                                  + *
                                • + *
                                • + *

                                  Permissions don't allow sending logs to the destination.

                                  + *
                                • + *
                                + *
                              • + *
                              + *
                            • + *
                            */ - CreationTime?: string; + SortBy?: string; /** - *

                            A message that provides additional information about the status of the request.

                            + *

                            The maximum number of query logging associations that you want to return in the response to a ListResolverQueryLogConfigAssociations request. + * If you don't specify a value for MaxResults, Resolver returns up to 100 query logging associations.

                            */ - StatusMessage?: string; + MaxResults?: number; /** - *

                            One IP address that the resolver endpoint uses for DNS queries.

                            + *

                            If you specified a value for SortBy, the order that you want query logging associations to be listed in, + * ASCENDING or DESCENDING.

                            + * + *

                            If you submit a second or subsequent ListResolverQueryLogConfigAssociations request and specify the NextToken parameter, + * you must use the same value for SortOrder, if any, as in the previous request.

                            + *
                            */ - Ip?: string; -} - -export namespace IpAddressResponse { - export const filterSensitiveLog = (obj: IpAddressResponse): any => ({ - ...obj, - }); -} + SortOrder?: SortOrder | string; -export interface ListResolverEndpointIpAddressesRequest { /** - *

                            For the first ListResolverEndpointIpAddresses request, omit this value.

                            - *

                            If the specified resolver endpoint has more than MaxResults IP addresses, you can submit another - * ListResolverEndpointIpAddresses request to get the next group of IP addresses. In the next request, specify the value of + *

                            For the first ListResolverQueryLogConfigAssociations request, omit this value.

                            + *

                            If there are more than MaxResults query logging associations that match the values that you specify for Filters, + * you can submit another ListResolverQueryLogConfigAssociations request to get the next group of associations. In the next request, specify the value of * NextToken from the previous response.

                            */ NextToken?: string; /** - *

                            The maximum number of IP addresses that you want to return in the response to a ListResolverEndpointIpAddresses request. - * If you don't specify a value for MaxResults, Resolver returns up to 100 IP addresses.

                            - */ - MaxResults?: number; - - /** - *

                            The ID of the resolver endpoint that you want to get IP addresses for.

                            + *

                            An optional specification to return a subset of query logging associations.

                            + * + *

                            If you submit a second or subsequent ListResolverQueryLogConfigAssociations request and specify the NextToken parameter, + * you must use the same values for Filters, if any, as in the previous request.

                            + *
                            */ - ResolverEndpointId: string | undefined; + Filters?: Filter[]; } -export namespace ListResolverEndpointIpAddressesRequest { - export const filterSensitiveLog = (obj: ListResolverEndpointIpAddressesRequest): any => ({ +export namespace ListResolverQueryLogConfigAssociationsRequest { + export const filterSensitiveLog = (obj: ListResolverQueryLogConfigAssociationsRequest): any => ({ ...obj, }); } -export interface ListResolverEndpointIpAddressesResponse { +export interface ListResolverQueryLogConfigAssociationsResponse { /** - *

                            The value that you specified for MaxResults in the request.

                            + *

                            The total number of query logging associations that were created by the current account in the specified Region and that match the filters + * that were specified in the ListResolverQueryLogConfigAssociations request. For the total number of associations that were created by the + * current account in the specified Region, see TotalCount.

                            */ - MaxResults?: number; + TotalFilteredCount?: number; /** - *

                            If the specified endpoint has more than MaxResults IP addresses, you can submit another - * ListResolverEndpointIpAddresses request to get the next group of IP addresses. In the next request, - * specify the value of NextToken from the previous response.

                            + *

                            If there are more than MaxResults query logging associations, you can submit another ListResolverQueryLogConfigAssociations request + * to get the next group of associations. In the next request, specify the value of NextToken from the previous response.

                            */ NextToken?: string; /** - *

                            The IP addresses that DNS queries pass through on their way to your network (outbound endpoint) or on the way to - * Resolver (inbound endpoint).

                            + *

                            A list that contains one ResolverQueryLogConfigAssociations element for each query logging association that matches the + * values that you specified for Filter.

                            */ - IpAddresses?: IpAddressResponse[]; + ResolverQueryLogConfigAssociations?: ResolverQueryLogConfigAssociation[]; + + /** + *

                            The total number of query logging associations that were created by the current account in the specified Region. This count can differ from the + * number of associations that are returned in a ListResolverQueryLogConfigAssociations response, depending on the values that you specify + * in the request.

                            + */ + TotalCount?: number; } -export namespace ListResolverEndpointIpAddressesResponse { - export const filterSensitiveLog = (obj: ListResolverEndpointIpAddressesResponse): any => ({ +export namespace ListResolverQueryLogConfigAssociationsResponse { + export const filterSensitiveLog = (obj: ListResolverQueryLogConfigAssociationsResponse): any => ({ ...obj, }); } -export interface ListResolverEndpointsRequest { +export interface ListResolverQueryLogConfigsRequest { /** - *

                            The maximum number of resolver endpoints that you want to return in the response to a ListResolverEndpoints request. - * If you don't specify a value for MaxResults, Resolver returns up to 100 resolver endpoints.

                            + *

                            The maximum number of query logging configurations that you want to return in the response to a ListResolverQueryLogConfigs request. + * If you don't specify a value for MaxResults, Resolver returns up to 100 query logging configurations.

                            */ MaxResults?: number; /** - *

                            For the first ListResolverEndpoints request, omit this value.

                            - *

                            If you have more than MaxResults resolver endpoints, you can submit another ListResolverEndpoints request - * to get the next group of resolver endpoints. In the next request, specify the value of NextToken from the previous response.

                            + *

                            If you specified a value for SortBy, the order that you want query logging configurations to be listed in, + * ASCENDING or DESCENDING.

                            + * + *

                            If you submit a second or subsequent ListResolverQueryLogConfigs request and specify the NextToken parameter, + * you must use the same value for SortOrder, if any, as in the previous request.

                            + *
                            */ - NextToken?: string; + SortOrder?: SortOrder | string; /** - *

                            An optional specification to return a subset of resolver endpoints, such as all inbound resolver endpoints.

                            + *

                            An optional specification to return a subset of query logging configurations.

                            * - *

                            If you submit a second or subsequent ListResolverEndpoints request and specify the NextToken parameter, - * you must use the same values for Filters, if any, as in the previous request.

                            - *
                            + *

                            If you submit a second or subsequent ListResolverQueryLogConfigs request and specify the NextToken parameter, + * you must use the same values for Filters, if any, as in the previous request.

                            + * */ Filters?: Filter[]; + + /** + *

                            The element that you want Resolver to sort query logging configurations by.

                            + * + *

                            If you submit a second or subsequent ListResolverQueryLogConfigs request and specify the NextToken parameter, + * you must use the same value for SortBy, if any, as in the previous request.

                            + *
                            + * + *

                            Valid values include the following elements:

                            + *
                              + *
                            • + *

                              + * Arn: The ARN of the query logging configuration

                              + *
                            • + *
                            • + *

                              + * AssociationCount: The number of VPCs that are associated with the specified configuration

                              + *
                            • + *
                            • + *

                              + * CreationTime: The date and time that Resolver returned when the configuration was created

                              + *
                            • + *
                            • + *

                              + * CreatorRequestId: The value that was specified for CreatorRequestId when the configuration was created

                              + *
                            • + *
                            • + *

                              + * DestinationArn: The location that logs are sent to

                              + *
                            • + *
                            • + *

                              + * Id: The ID of the configuration

                              + *
                            • + *
                            • + *

                              + * Name: The name of the configuration

                              + *
                            • + *
                            • + *

                              + * OwnerId: The AWS account number of the account that created the configuration

                              + *
                            • + *
                            • + *

                              + * ShareStatus: Whether the configuration is shared with other AWS accounts or shared with the current account by + * another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                              + *
                            • + *
                            • + *

                              + * Status: The current status of the configuration. Valid values include the following:

                              + * + *
                                + *
                              • + *

                                + * CREATING: Resolver is creating the query logging configuration.

                                + *
                              • + *
                              • + *

                                + * CREATED: The query logging configuration was successfully created. + * Resolver is logging queries that originate in the specified VPC.

                                + *
                              • + *
                              • + *

                                + * DELETING: Resolver is deleting this query logging configuration.

                                + *
                              • + *
                              • + *

                                + * FAILED: Resolver either couldn't create or couldn't delete the query logging configuration. + * Here are two common causes:

                                + *
                                  + *
                                • + *

                                  The specified destination (for example, an Amazon S3 bucket) was deleted.

                                  + *
                                • + *
                                • + *

                                  Permissions don't allow sending logs to the destination.

                                  + *
                                • + *
                                + *
                              • + *
                              + *
                            • + *
                            + */ + SortBy?: string; + + /** + *

                            For the first ListResolverQueryLogConfigs request, omit this value.

                            + *

                            If there are more than MaxResults query logging configurations that match the values that you specify for Filters, + * you can submit another ListResolverQueryLogConfigs request to get the next group of configurations. In the next request, specify the value of + * NextToken from the previous response.

                            + */ + NextToken?: string; } -export namespace ListResolverEndpointsRequest { - export const filterSensitiveLog = (obj: ListResolverEndpointsRequest): any => ({ +export namespace ListResolverQueryLogConfigsRequest { + export const filterSensitiveLog = (obj: ListResolverQueryLogConfigsRequest): any => ({ ...obj, }); } -export interface ListResolverEndpointsResponse { +export interface ListResolverQueryLogConfigsResponse { /** - *

                            The value that you specified for MaxResults in the request.

                            + *

                            A list that contains one ResolverQueryLogConfig element for each query logging configuration that matches the + * values that you specified for Filter.

                            */ - MaxResults?: number; + ResolverQueryLogConfigs?: ResolverQueryLogConfig[]; /** - *

                            If more than MaxResults IP addresses match the specified criteria, you can submit another ListResolverEndpoint request - * to get the next group of results. In the next request, specify the value of NextToken from the previous response.

                            + *

                            The total number of query logging configurations that were created by the current account in the specified Region and that match the filters + * that were specified in the ListResolverQueryLogConfigs request. For the total number of query logging configurations that were created by the + * current account in the specified Region, see TotalCount.

                            + */ + TotalFilteredCount?: number; + + /** + *

                            If there are more than MaxResults query logging configurations, you can submit another ListResolverQueryLogConfigs request + * to get the next group of configurations. In the next request, specify the value of NextToken from the previous response.

                            */ NextToken?: string; /** - *

                            The resolver endpoints that were created by using the current AWS account, and that match the specified filters, if any.

                            + *

                            The total number of query logging configurations that were created by the current account in the specified Region. This count can differ from the + * number of query logging configurations that are returned in a ListResolverQueryLogConfigs response, depending on the values that you specify + * in the request.

                            */ - ResolverEndpoints?: ResolverEndpoint[]; + TotalCount?: number; } -export namespace ListResolverEndpointsResponse { - export const filterSensitiveLog = (obj: ListResolverEndpointsResponse): any => ({ +export namespace ListResolverQueryLogConfigsResponse { + export const filterSensitiveLog = (obj: ListResolverQueryLogConfigsResponse): any => ({ ...obj, }); } export interface ListResolverRuleAssociationsRequest { /** - *

                            The maximum number of rule associations that you want to return in the response to a ListResolverRuleAssociations request. - * If you don't specify a value for MaxResults, Resolver returns up to 100 rule associations.

                            - */ - MaxResults?: number; - - /** - *

                            An optional specification to return a subset of resolver rules, such as resolver rules that are associated with the same VPC ID.

                            + *

                            An optional specification to return a subset of Resolver rules, such as Resolver rules that are associated with the same VPC ID.

                            * *

                            If you submit a second or subsequent ListResolverRuleAssociations request and specify the NextToken parameter, * you must use the same values for Filters, if any, as in the previous request.

                            @@ -1185,6 +2295,12 @@ export interface ListResolverRuleAssociationsRequest { */ Filters?: Filter[]; + /** + *

                            The maximum number of rule associations that you want to return in the response to a ListResolverRuleAssociations request. + * If you don't specify a value for MaxResults, Resolver returns up to 100 rule associations.

                            + */ + MaxResults?: number; + /** *

                            For the first ListResolverRuleAssociation request, omit this value.

                            *

                            If you have more than MaxResults rule associations, you can submit another ListResolverRuleAssociation request @@ -1201,10 +2317,11 @@ export namespace ListResolverRuleAssociationsRequest { export interface ListResolverRuleAssociationsResponse { /** - *

                            The associations that were created between resolver rules and VPCs using the current AWS account, and that match the - * specified filters, if any.

                            + *

                            If more than MaxResults rule associations match the specified criteria, you can submit another + * ListResolverRuleAssociation request to get the next group of results. In the next request, specify the value of + * NextToken from the previous response.

                            */ - ResolverRuleAssociations?: ResolverRuleAssociation[]; + NextToken?: string; /** *

                            The value that you specified for MaxResults in the request.

                            @@ -1212,11 +2329,10 @@ export interface ListResolverRuleAssociationsResponse { MaxResults?: number; /** - *

                            If more than MaxResults rule associations match the specified criteria, you can submit another - * ListResolverRuleAssociation request to get the next group of results. In the next request, specify the value of - * NextToken from the previous response.

                            + *

                            The associations that were created between Resolver rules and VPCs using the current AWS account, and that match the + * specified filters, if any.

                            */ - NextToken?: string; + ResolverRuleAssociations?: ResolverRuleAssociation[]; } export namespace ListResolverRuleAssociationsResponse { @@ -1227,20 +2343,20 @@ export namespace ListResolverRuleAssociationsResponse { export interface ListResolverRulesRequest { /** - *

                            For the first ListResolverRules request, omit this value.

                            - *

                            If you have more than MaxResults resolver rules, you can submit another ListResolverRules request - * to get the next group of resolver rules. In the next request, specify the value of NextToken from the previous response.

                            + *

                            The maximum number of Resolver rules that you want to return in the response to a ListResolverRules request. + * If you don't specify a value for MaxResults, Resolver returns up to 100 Resolver rules.

                            */ - NextToken?: string; + MaxResults?: number; /** - *

                            The maximum number of resolver rules that you want to return in the response to a ListResolverRules request. - * If you don't specify a value for MaxResults, Resolver returns up to 100 resolver rules.

                            + *

                            For the first ListResolverRules request, omit this value.

                            + *

                            If you have more than MaxResults Resolver rules, you can submit another ListResolverRules request + * to get the next group of Resolver rules. In the next request, specify the value of NextToken from the previous response.

                            */ - MaxResults?: number; + NextToken?: string; /** - *

                            An optional specification to return a subset of resolver rules, such as all resolver rules that are associated with the same resolver endpoint.

                            + *

                            An optional specification to return a subset of Resolver rules, such as all Resolver rules that are associated with the same Resolver endpoint.

                            * *

                            If you submit a second or subsequent ListResolverRules request and specify the NextToken parameter, * you must use the same values for Filters, if any, as in the previous request.

                            @@ -1257,21 +2373,21 @@ export namespace ListResolverRulesRequest { export interface ListResolverRulesResponse { /** - *

                            If more than MaxResults resolver rules match the specified criteria, you can submit another + *

                            If more than MaxResults Resolver rules match the specified criteria, you can submit another * ListResolverRules request to get the next group of results. In the next request, specify the value of * NextToken from the previous response.

                            */ NextToken?: string; /** - *

                            The value that you specified for MaxResults in the request.

                            + *

                            The Resolver rules that were created using the current AWS account and that match the specified filters, if any.

                            */ - MaxResults?: number; + ResolverRules?: ResolverRule[]; /** - *

                            The resolver rules that were created using the current AWS account and that match the specified filters, if any.

                            + *

                            The value that you specified for MaxResults in the request.

                            */ - ResolverRules?: ResolverRule[]; + MaxResults?: number; } export namespace ListResolverRulesResponse { @@ -1281,11 +2397,6 @@ export namespace ListResolverRulesResponse { } export interface ListTagsForResourceRequest { - /** - *

                            The Amazon Resource Name (ARN) for the resource that you want to list tags for.

                            - */ - ResourceArn: string | undefined; - /** *

                            The maximum number of tags that you want to return in the response to a ListTagsForResource request. * If you don't specify a value for MaxResults, Resolver returns up to 100 tags.

                            @@ -1298,6 +2409,11 @@ export interface ListTagsForResourceRequest { * to get the next group of tags for the resource. In the next request, specify the value of NextToken from the previous response.

                            */ NextToken?: string; + + /** + *

                            The Amazon Resource Name (ARN) for the resource that you want to list tags for.

                            + */ + ResourceArn: string | undefined; } export namespace ListTagsForResourceRequest { @@ -1326,16 +2442,108 @@ export namespace ListTagsForResourceResponse { }); } -export interface PutResolverRulePolicyRequest { +export interface PutResolverQueryLogConfigPolicyRequest { /** - *

                            The Amazon Resource Name (ARN) of the account that you want to grant permissions to.

                            + *

                            The Amazon Resource Name (ARN) of the account that you want to share rules with.

                            */ Arn: string | undefined; /** - *

                            An AWS Identity and Access Management policy statement that lists the permissions that you want to grant to another AWS account.

                            + *

                            An AWS Identity and Access Management policy statement that lists the query logging configurations that you want to share with another AWS account + * and the operations that you want the account to be able to perform. You can specify the following operations in the Actions section + * of the statement:

                            + *
                              + *
                            • + *

                              + * route53resolver:AssociateResolverQueryLogConfig + *

                              + *
                            • + *
                            • + *

                              + * route53resolver:DisassociateResolverQueryLogConfig + *

                              + *
                            • + *
                            • + *

                              + * route53resolver:ListResolverQueryLogConfigAssociations + *

                              + *
                            • + *
                            • + *

                              + * route53resolver:ListResolverQueryLogConfigs + *

                              + *
                            • + *
                            + * + *

                            In the Resource section of the statement, you specify the ARNs for the query logging configurations that you want to share + * with the account that you specified in Arn.

                            + */ + ResolverQueryLogConfigPolicy: string | undefined; +} + +export namespace PutResolverQueryLogConfigPolicyRequest { + export const filterSensitiveLog = (obj: PutResolverQueryLogConfigPolicyRequest): any => ({ + ...obj, + }); +} + +/** + *

                            The response to a PutResolverQueryLogConfigPolicy request.

                            + */ +export interface PutResolverQueryLogConfigPolicyResponse { + /** + *

                            Whether the PutResolverQueryLogConfigPolicy request was successful.

                            + */ + ReturnValue?: boolean; +} + +export namespace PutResolverQueryLogConfigPolicyResponse { + export const filterSensitiveLog = (obj: PutResolverQueryLogConfigPolicyResponse): any => ({ + ...obj, + }); +} + +export interface PutResolverRulePolicyRequest { + /** + *

                            An AWS Identity and Access Management policy statement that lists the rules that you want to share with another AWS account and the operations that you want the account + * to be able to perform. You can specify the following operations in the Actions section of the statement:

                            + *
                              + *
                            • + *

                              + * route53resolver:GetResolverRule + *

                              + *
                            • + *
                            • + *

                              + * route53resolver:AssociateResolverRule + *

                              + *
                            • + *
                            • + *

                              + * route53resolver:DisassociateResolverRule + *

                              + *
                            • + *
                            • + *

                              + * route53resolver:ListResolverRules + *

                              + *
                            • + *
                            • + *

                              + * route53resolver:ListResolverRuleAssociations + *

                              + *
                            • + *
                            + * + *

                            In the Resource section of the statement, you specify the ARNs for the rules that you want to share with the account that you + * specified in Arn.

                            */ ResolverRulePolicy: string | undefined; + + /** + *

                            The Amazon Resource Name (ARN) of the account that you want to share rules with.

                            + */ + Arn: string | undefined; } export namespace PutResolverRulePolicyRequest { @@ -1361,24 +2569,26 @@ export namespace PutResolverRulePolicyResponse { } /** - *

                            In an UpdateResolverRule request, information about the changes that you want to make.

                            + *

                            In an + * UpdateResolverRule + * request, information about the changes that you want to make.

                            */ export interface ResolverRuleConfig { /** - *

                            The ID of the new outbound resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in + *

                            The ID of the new outbound Resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in * TargetIps.

                            */ ResolverEndpointId?: string; /** - *

                            For DNS queries that originate in your VPC, the new IP addresses that you want to route outbound DNS queries to.

                            + *

                            The new name for the Resolver rule. The name that you specify appears in the Resolver dashboard in the Route 53 console.

                            */ - TargetIps?: TargetAddress[]; + Name?: string; /** - *

                            The new name for the resolver rule. The name that you specify appears in the Resolver dashboard in the Route 53 console.

                            + *

                            For DNS queries that originate in your VPC, the new IP addresses that you want to route outbound DNS queries to.

                            */ - Name?: string; + TargetIps?: TargetAddress[]; } export namespace ResolverRuleConfig { @@ -1388,48 +2598,48 @@ export namespace ResolverRuleConfig { } export interface TagResourceRequest { - /** - *

                            The tags that you want to add to the specified resource.

                            - */ - Tags: Tag[] | undefined; - /** *

                            The Amazon Resource Name (ARN) for the resource that you want to add tags to. To get the ARN for a resource, use the applicable * Get or List command:

                            * */ ResourceArn: string | undefined; + + /** + *

                            The tags that you want to add to the specified resource.

                            + */ + Tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -1452,35 +2662,35 @@ export interface UntagResourceRequest { * Get or List command:

                            * */ ResourceArn: string | undefined; @@ -1507,12 +2717,12 @@ export namespace UntagResourceResponse { export interface UpdateResolverEndpointRequest { /** - *

                            The ID of the resolver endpoint that you want to update.

                            + *

                            The ID of the Resolver endpoint that you want to update.

                            */ ResolverEndpointId: string | undefined; /** - *

                            The name of the resolver endpoint that you want to update.

                            + *

                            The name of the Resolver endpoint that you want to update.

                            */ Name?: string; } @@ -1538,14 +2748,14 @@ export namespace UpdateResolverEndpointResponse { export interface UpdateResolverRuleRequest { /** - *

                            The new settings for the resolver rule.

                            + *

                            The ID of the Resolver rule that you want to update.

                            */ - Config: ResolverRuleConfig | undefined; + ResolverRuleId: string | undefined; /** - *

                            The ID of the resolver rule that you want to update.

                            + *

                            The new settings for the Resolver rule.

                            */ - ResolverRuleId: string | undefined; + Config: ResolverRuleConfig | undefined; } export namespace UpdateResolverRuleRequest { diff --git a/clients/client-route53resolver/package.json b/clients/client-route53resolver/package.json index 004dd181db91..08accd5bb64d 100644 --- a/clients/client-route53resolver/package.json +++ b/clients/client-route53resolver/package.json @@ -56,11 +56,13 @@ "@aws-sdk/util-user-agent-node": "1.0.0-rc.1", "@aws-sdk/util-utf8-browser": "1.0.0-rc.1", "@aws-sdk/util-utf8-node": "1.0.0-rc.1", - "tslib": "^2.0.0" + "tslib": "^2.0.0", + "uuid": "^3.0.0" }, "devDependencies": { "@aws-sdk/client-documentation-generator": "1.0.0-rc.1", "@types/node": "^12.7.5", + "@types/uuid": "^3.0.0", "jest": "^26.1.0", "rimraf": "^3.0.0", "typedoc": "^0.17.8", diff --git a/clients/client-route53resolver/pagination/ListResolverQueryLogConfigAssociationsPaginator.ts b/clients/client-route53resolver/pagination/ListResolverQueryLogConfigAssociationsPaginator.ts new file mode 100644 index 000000000000..427c129f1251 --- /dev/null +++ b/clients/client-route53resolver/pagination/ListResolverQueryLogConfigAssociationsPaginator.ts @@ -0,0 +1,51 @@ +import { Route53Resolver } from "../Route53Resolver"; +import { Route53ResolverClient } from "../Route53ResolverClient"; +import { + ListResolverQueryLogConfigAssociationsCommand, + ListResolverQueryLogConfigAssociationsCommandInput, + ListResolverQueryLogConfigAssociationsCommandOutput, +} from "../commands/ListResolverQueryLogConfigAssociationsCommand"; +import { Route53ResolverPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Route53ResolverClient, + input: ListResolverQueryLogConfigAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListResolverQueryLogConfigAssociationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Route53Resolver, + input: ListResolverQueryLogConfigAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listResolverQueryLogConfigAssociations(input, ...args); +}; +export async function* listResolverQueryLogConfigAssociationsPaginate( + config: Route53ResolverPaginationConfiguration, + input: ListResolverQueryLogConfigAssociationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListResolverQueryLogConfigAssociationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Route53Resolver) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Route53ResolverClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-route53resolver/pagination/ListResolverQueryLogConfigsPaginator.ts b/clients/client-route53resolver/pagination/ListResolverQueryLogConfigsPaginator.ts new file mode 100644 index 000000000000..8ab6c647cd27 --- /dev/null +++ b/clients/client-route53resolver/pagination/ListResolverQueryLogConfigsPaginator.ts @@ -0,0 +1,51 @@ +import { Route53Resolver } from "../Route53Resolver"; +import { Route53ResolverClient } from "../Route53ResolverClient"; +import { + ListResolverQueryLogConfigsCommand, + ListResolverQueryLogConfigsCommandInput, + ListResolverQueryLogConfigsCommandOutput, +} from "../commands/ListResolverQueryLogConfigsCommand"; +import { Route53ResolverPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Route53ResolverClient, + input: ListResolverQueryLogConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListResolverQueryLogConfigsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Route53Resolver, + input: ListResolverQueryLogConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listResolverQueryLogConfigs(input, ...args); +}; +export async function* listResolverQueryLogConfigsPaginate( + config: Route53ResolverPaginationConfiguration, + input: ListResolverQueryLogConfigsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListResolverQueryLogConfigsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Route53Resolver) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Route53ResolverClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-route53resolver/pagination/ListTagsForResourcePaginator.ts b/clients/client-route53resolver/pagination/ListTagsForResourcePaginator.ts new file mode 100644 index 000000000000..c96b5144d041 --- /dev/null +++ b/clients/client-route53resolver/pagination/ListTagsForResourcePaginator.ts @@ -0,0 +1,51 @@ +import { Route53Resolver } from "../Route53Resolver"; +import { Route53ResolverClient } from "../Route53ResolverClient"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; +import { Route53ResolverPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: Route53ResolverClient, + input: ListTagsForResourceCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListTagsForResourceCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Route53Resolver, + input: ListTagsForResourceCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listTagsForResource(input, ...args); +}; +export async function* listTagsForResourcePaginate( + config: Route53ResolverPaginationConfiguration, + input: ListTagsForResourceCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListTagsForResourceCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Route53Resolver) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Route53ResolverClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-route53resolver/protocols/Aws_json1_1.ts b/clients/client-route53resolver/protocols/Aws_json1_1.ts index a6d7d2803a65..855a69594454 100644 --- a/clients/client-route53resolver/protocols/Aws_json1_1.ts +++ b/clients/client-route53resolver/protocols/Aws_json1_1.ts @@ -2,6 +2,10 @@ import { AssociateResolverEndpointIpAddressCommandInput, AssociateResolverEndpointIpAddressCommandOutput, } from "../commands/AssociateResolverEndpointIpAddressCommand"; +import { + AssociateResolverQueryLogConfigCommandInput, + AssociateResolverQueryLogConfigCommandOutput, +} from "../commands/AssociateResolverQueryLogConfigCommand"; import { AssociateResolverRuleCommandInput, AssociateResolverRuleCommandOutput, @@ -10,16 +14,28 @@ import { CreateResolverEndpointCommandInput, CreateResolverEndpointCommandOutput, } from "../commands/CreateResolverEndpointCommand"; +import { + CreateResolverQueryLogConfigCommandInput, + CreateResolverQueryLogConfigCommandOutput, +} from "../commands/CreateResolverQueryLogConfigCommand"; import { CreateResolverRuleCommandInput, CreateResolverRuleCommandOutput } from "../commands/CreateResolverRuleCommand"; import { DeleteResolverEndpointCommandInput, DeleteResolverEndpointCommandOutput, } from "../commands/DeleteResolverEndpointCommand"; +import { + DeleteResolverQueryLogConfigCommandInput, + DeleteResolverQueryLogConfigCommandOutput, +} from "../commands/DeleteResolverQueryLogConfigCommand"; import { DeleteResolverRuleCommandInput, DeleteResolverRuleCommandOutput } from "../commands/DeleteResolverRuleCommand"; import { DisassociateResolverEndpointIpAddressCommandInput, DisassociateResolverEndpointIpAddressCommandOutput, } from "../commands/DisassociateResolverEndpointIpAddressCommand"; +import { + DisassociateResolverQueryLogConfigCommandInput, + DisassociateResolverQueryLogConfigCommandOutput, +} from "../commands/DisassociateResolverQueryLogConfigCommand"; import { DisassociateResolverRuleCommandInput, DisassociateResolverRuleCommandOutput, @@ -28,6 +44,18 @@ import { GetResolverEndpointCommandInput, GetResolverEndpointCommandOutput, } from "../commands/GetResolverEndpointCommand"; +import { + GetResolverQueryLogConfigAssociationCommandInput, + GetResolverQueryLogConfigAssociationCommandOutput, +} from "../commands/GetResolverQueryLogConfigAssociationCommand"; +import { + GetResolverQueryLogConfigCommandInput, + GetResolverQueryLogConfigCommandOutput, +} from "../commands/GetResolverQueryLogConfigCommand"; +import { + GetResolverQueryLogConfigPolicyCommandInput, + GetResolverQueryLogConfigPolicyCommandOutput, +} from "../commands/GetResolverQueryLogConfigPolicyCommand"; import { GetResolverRuleAssociationCommandInput, GetResolverRuleAssociationCommandOutput, @@ -45,6 +73,14 @@ import { ListResolverEndpointsCommandInput, ListResolverEndpointsCommandOutput, } from "../commands/ListResolverEndpointsCommand"; +import { + ListResolverQueryLogConfigAssociationsCommandInput, + ListResolverQueryLogConfigAssociationsCommandOutput, +} from "../commands/ListResolverQueryLogConfigAssociationsCommand"; +import { + ListResolverQueryLogConfigsCommandInput, + ListResolverQueryLogConfigsCommandOutput, +} from "../commands/ListResolverQueryLogConfigsCommand"; import { ListResolverRuleAssociationsCommandInput, ListResolverRuleAssociationsCommandOutput, @@ -54,6 +90,10 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; +import { + PutResolverQueryLogConfigPolicyCommandInput, + PutResolverQueryLogConfigPolicyCommandOutput, +} from "../commands/PutResolverQueryLogConfigPolicyCommand"; import { PutResolverRulePolicyCommandInput, PutResolverRulePolicyCommandOutput, @@ -66,25 +106,40 @@ import { } from "../commands/UpdateResolverEndpointCommand"; import { UpdateResolverRuleCommandInput, UpdateResolverRuleCommandOutput } from "../commands/UpdateResolverRuleCommand"; import { + AccessDeniedException, AssociateResolverEndpointIpAddressRequest, AssociateResolverEndpointIpAddressResponse, + AssociateResolverQueryLogConfigRequest, + AssociateResolverQueryLogConfigResponse, AssociateResolverRuleRequest, AssociateResolverRuleResponse, CreateResolverEndpointRequest, CreateResolverEndpointResponse, + CreateResolverQueryLogConfigRequest, + CreateResolverQueryLogConfigResponse, CreateResolverRuleRequest, CreateResolverRuleResponse, DeleteResolverEndpointRequest, DeleteResolverEndpointResponse, + DeleteResolverQueryLogConfigRequest, + DeleteResolverQueryLogConfigResponse, DeleteResolverRuleRequest, DeleteResolverRuleResponse, DisassociateResolverEndpointIpAddressRequest, DisassociateResolverEndpointIpAddressResponse, + DisassociateResolverQueryLogConfigRequest, + DisassociateResolverQueryLogConfigResponse, DisassociateResolverRuleRequest, DisassociateResolverRuleResponse, Filter, GetResolverEndpointRequest, GetResolverEndpointResponse, + GetResolverQueryLogConfigAssociationRequest, + GetResolverQueryLogConfigAssociationResponse, + GetResolverQueryLogConfigPolicyRequest, + GetResolverQueryLogConfigPolicyResponse, + GetResolverQueryLogConfigRequest, + GetResolverQueryLogConfigResponse, GetResolverRuleAssociationRequest, GetResolverRuleAssociationResponse, GetResolverRulePolicyRequest, @@ -105,15 +160,23 @@ import { ListResolverEndpointIpAddressesResponse, ListResolverEndpointsRequest, ListResolverEndpointsResponse, + ListResolverQueryLogConfigAssociationsRequest, + ListResolverQueryLogConfigAssociationsResponse, + ListResolverQueryLogConfigsRequest, + ListResolverQueryLogConfigsResponse, ListResolverRuleAssociationsRequest, ListResolverRuleAssociationsResponse, ListResolverRulesRequest, ListResolverRulesResponse, ListTagsForResourceRequest, ListTagsForResourceResponse, + PutResolverQueryLogConfigPolicyRequest, + PutResolverQueryLogConfigPolicyResponse, PutResolverRulePolicyRequest, PutResolverRulePolicyResponse, ResolverEndpoint, + ResolverQueryLogConfig, + ResolverQueryLogConfigAssociation, ResolverRule, ResolverRuleAssociation, ResolverRuleConfig, @@ -143,6 +206,7 @@ import { ResponseMetadata as __ResponseMetadata, SerdeContext as __SerdeContext, } from "@aws-sdk/types"; +import { v4 as generateIdempotencyToken } from "uuid"; export const serializeAws_json1_1AssociateResolverEndpointIpAddressCommand = async ( input: AssociateResolverEndpointIpAddressCommandInput, @@ -157,6 +221,19 @@ export const serializeAws_json1_1AssociateResolverEndpointIpAddressCommand = asy return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1AssociateResolverQueryLogConfigCommand = async ( + input: AssociateResolverQueryLogConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Route53Resolver.AssociateResolverQueryLogConfig", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1AssociateResolverQueryLogConfigRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1AssociateResolverRuleCommand = async ( input: AssociateResolverRuleCommandInput, context: __SerdeContext @@ -183,6 +260,19 @@ export const serializeAws_json1_1CreateResolverEndpointCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateResolverQueryLogConfigCommand = async ( + input: CreateResolverQueryLogConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Route53Resolver.CreateResolverQueryLogConfig", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateResolverQueryLogConfigRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateResolverRuleCommand = async ( input: CreateResolverRuleCommandInput, context: __SerdeContext @@ -209,6 +299,19 @@ export const serializeAws_json1_1DeleteResolverEndpointCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteResolverQueryLogConfigCommand = async ( + input: DeleteResolverQueryLogConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Route53Resolver.DeleteResolverQueryLogConfig", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteResolverQueryLogConfigRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteResolverRuleCommand = async ( input: DeleteResolverRuleCommandInput, context: __SerdeContext @@ -235,6 +338,19 @@ export const serializeAws_json1_1DisassociateResolverEndpointIpAddressCommand = return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DisassociateResolverQueryLogConfigCommand = async ( + input: DisassociateResolverQueryLogConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Route53Resolver.DisassociateResolverQueryLogConfig", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DisassociateResolverQueryLogConfigRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DisassociateResolverRuleCommand = async ( input: DisassociateResolverRuleCommandInput, context: __SerdeContext @@ -261,6 +377,45 @@ export const serializeAws_json1_1GetResolverEndpointCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetResolverQueryLogConfigCommand = async ( + input: GetResolverQueryLogConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Route53Resolver.GetResolverQueryLogConfig", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetResolverQueryLogConfigRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetResolverQueryLogConfigAssociationCommand = async ( + input: GetResolverQueryLogConfigAssociationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Route53Resolver.GetResolverQueryLogConfigAssociation", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetResolverQueryLogConfigAssociationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetResolverQueryLogConfigPolicyCommand = async ( + input: GetResolverQueryLogConfigPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Route53Resolver.GetResolverQueryLogConfigPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetResolverQueryLogConfigPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetResolverRuleCommand = async ( input: GetResolverRuleCommandInput, context: __SerdeContext @@ -326,6 +481,32 @@ export const serializeAws_json1_1ListResolverEndpointsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListResolverQueryLogConfigAssociationsCommand = async ( + input: ListResolverQueryLogConfigAssociationsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Route53Resolver.ListResolverQueryLogConfigAssociations", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListResolverQueryLogConfigAssociationsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListResolverQueryLogConfigsCommand = async ( + input: ListResolverQueryLogConfigsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Route53Resolver.ListResolverQueryLogConfigs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListResolverQueryLogConfigsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListResolverRuleAssociationsCommand = async ( input: ListResolverRuleAssociationsCommandInput, context: __SerdeContext @@ -365,6 +546,19 @@ export const serializeAws_json1_1ListTagsForResourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1PutResolverQueryLogConfigPolicyCommand = async ( + input: PutResolverQueryLogConfigPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Route53Resolver.PutResolverQueryLogConfigPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1PutResolverQueryLogConfigPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1PutResolverRulePolicyCommand = async ( input: PutResolverRulePolicyCommandInput, context: __SerdeContext @@ -533,27 +727,27 @@ const deserializeAws_json1_1AssociateResolverEndpointIpAddressCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1AssociateResolverRuleCommand = async ( +export const deserializeAws_json1_1AssociateResolverQueryLogConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1AssociateResolverRuleCommandError(output, context); + return deserializeAws_json1_1AssociateResolverQueryLogConfigCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1AssociateResolverRuleResponse(data, context); - const response: AssociateResolverRuleCommandOutput = { + contents = deserializeAws_json1_1AssociateResolverQueryLogConfigResponse(data, context); + const response: AssociateResolverQueryLogConfigCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1AssociateResolverRuleCommandError = async ( +const deserializeAws_json1_1AssociateResolverQueryLogConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -563,6 +757,14 @@ const deserializeAws_json1_1AssociateResolverRuleCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.route53resolver#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceErrorException": case "com.amazonaws.route53resolver#InternalServiceErrorException": response = { @@ -587,6 +789,14 @@ const deserializeAws_json1_1AssociateResolverRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "LimitExceededException": + case "com.amazonaws.route53resolver#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceExistsException": case "com.amazonaws.route53resolver#ResourceExistsException": response = { @@ -603,14 +813,6 @@ const deserializeAws_json1_1AssociateResolverRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceUnavailableException": - case "com.amazonaws.route53resolver#ResourceUnavailableException": - response = { - ...(await deserializeAws_json1_1ResourceUnavailableExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.route53resolver#ThrottlingException": response = { @@ -636,27 +838,27 @@ const deserializeAws_json1_1AssociateResolverRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateResolverEndpointCommand = async ( +export const deserializeAws_json1_1AssociateResolverRuleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateResolverEndpointCommandError(output, context); + return deserializeAws_json1_1AssociateResolverRuleCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateResolverEndpointResponse(data, context); - const response: CreateResolverEndpointCommandOutput = { + contents = deserializeAws_json1_1AssociateResolverRuleResponse(data, context); + const response: AssociateResolverRuleCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateResolverEndpointCommandError = async ( +const deserializeAws_json1_1AssociateResolverRuleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -714,6 +916,14 @@ const deserializeAws_json1_1CreateResolverEndpointCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceUnavailableException": + case "com.amazonaws.route53resolver#ResourceUnavailableException": + response = { + ...(await deserializeAws_json1_1ResourceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.route53resolver#ThrottlingException": response = { @@ -739,27 +949,27 @@ const deserializeAws_json1_1CreateResolverEndpointCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateResolverRuleCommand = async ( +export const deserializeAws_json1_1CreateResolverEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateResolverRuleCommandError(output, context); + return deserializeAws_json1_1CreateResolverEndpointCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateResolverRuleResponse(data, context); - const response: CreateResolverRuleCommandOutput = { + contents = deserializeAws_json1_1CreateResolverEndpointResponse(data, context); + const response: CreateResolverEndpointCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateResolverRuleCommandError = async ( +const deserializeAws_json1_1CreateResolverEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -817,14 +1027,6 @@ const deserializeAws_json1_1CreateResolverRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceUnavailableException": - case "com.amazonaws.route53resolver#ResourceUnavailableException": - response = { - ...(await deserializeAws_json1_1ResourceUnavailableExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ThrottlingException": case "com.amazonaws.route53resolver#ThrottlingException": response = { @@ -850,27 +1052,27 @@ const deserializeAws_json1_1CreateResolverRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteResolverEndpointCommand = async ( +export const deserializeAws_json1_1CreateResolverQueryLogConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteResolverEndpointCommandError(output, context); + return deserializeAws_json1_1CreateResolverQueryLogConfigCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteResolverEndpointResponse(data, context); - const response: DeleteResolverEndpointCommandOutput = { + contents = deserializeAws_json1_1CreateResolverQueryLogConfigResponse(data, context); + const response: CreateResolverQueryLogConfigCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteResolverEndpointCommandError = async ( +const deserializeAws_json1_1CreateResolverQueryLogConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -880,6 +1082,14 @@ const deserializeAws_json1_1DeleteResolverEndpointCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.route53resolver#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceErrorException": case "com.amazonaws.route53resolver#InternalServiceErrorException": response = { @@ -904,6 +1114,22 @@ const deserializeAws_json1_1DeleteResolverEndpointCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "LimitExceededException": + case "com.amazonaws.route53resolver#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceExistsException": + case "com.amazonaws.route53resolver#ResourceExistsException": + response = { + ...(await deserializeAws_json1_1ResourceExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.route53resolver#ResourceNotFoundException": response = { @@ -937,27 +1163,27 @@ const deserializeAws_json1_1DeleteResolverEndpointCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteResolverRuleCommand = async ( +export const deserializeAws_json1_1CreateResolverRuleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteResolverRuleCommandError(output, context); + return deserializeAws_json1_1CreateResolverRuleCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteResolverRuleResponse(data, context); - const response: DeleteResolverRuleCommandOutput = { + contents = deserializeAws_json1_1CreateResolverRuleResponse(data, context); + const response: CreateResolverRuleCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteResolverRuleCommandError = async ( +const deserializeAws_json1_1CreateResolverRuleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -983,10 +1209,26 @@ const deserializeAws_json1_1DeleteResolverRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceInUseException": - case "com.amazonaws.route53resolver#ResourceInUseException": + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": response = { - ...(await deserializeAws_json1_1ResourceInUseExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.route53resolver#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceExistsException": + case "com.amazonaws.route53resolver#ResourceExistsException": + response = { + ...(await deserializeAws_json1_1ResourceExistsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -999,6 +1241,14 @@ const deserializeAws_json1_1DeleteResolverRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceUnavailableException": + case "com.amazonaws.route53resolver#ResourceUnavailableException": + response = { + ...(await deserializeAws_json1_1ResourceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.route53resolver#ThrottlingException": response = { @@ -1024,27 +1274,27 @@ const deserializeAws_json1_1DeleteResolverRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DisassociateResolverEndpointIpAddressCommand = async ( +export const deserializeAws_json1_1DeleteResolverEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DisassociateResolverEndpointIpAddressCommandError(output, context); + return deserializeAws_json1_1DeleteResolverEndpointCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DisassociateResolverEndpointIpAddressResponse(data, context); - const response: DisassociateResolverEndpointIpAddressCommandOutput = { + contents = deserializeAws_json1_1DeleteResolverEndpointResponse(data, context); + const response: DeleteResolverEndpointCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DisassociateResolverEndpointIpAddressCommandError = async ( +const deserializeAws_json1_1DeleteResolverEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1078,14 +1328,6 @@ const deserializeAws_json1_1DisassociateResolverEndpointIpAddressCommandError = $metadata: deserializeMetadata(output), }; break; - case "ResourceExistsException": - case "com.amazonaws.route53resolver#ResourceExistsException": - response = { - ...(await deserializeAws_json1_1ResourceExistsExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ResourceNotFoundException": case "com.amazonaws.route53resolver#ResourceNotFoundException": response = { @@ -1119,27 +1361,27 @@ const deserializeAws_json1_1DisassociateResolverEndpointIpAddressCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DisassociateResolverRuleCommand = async ( +export const deserializeAws_json1_1DeleteResolverQueryLogConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DisassociateResolverRuleCommandError(output, context); + return deserializeAws_json1_1DeleteResolverQueryLogConfigCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DisassociateResolverRuleResponse(data, context); - const response: DisassociateResolverRuleCommandOutput = { + contents = deserializeAws_json1_1DeleteResolverQueryLogConfigResponse(data, context); + const response: DeleteResolverQueryLogConfigCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DisassociateResolverRuleCommandError = async ( +const deserializeAws_json1_1DeleteResolverQueryLogConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1149,6 +1391,14 @@ const deserializeAws_json1_1DisassociateResolverRuleCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.route53resolver#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceErrorException": case "com.amazonaws.route53resolver#InternalServiceErrorException": response = { @@ -1165,6 +1415,14 @@ const deserializeAws_json1_1DisassociateResolverRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.route53resolver#ResourceNotFoundException": response = { @@ -1198,27 +1456,27 @@ const deserializeAws_json1_1DisassociateResolverRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetResolverEndpointCommand = async ( +export const deserializeAws_json1_1DeleteResolverRuleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetResolverEndpointCommandError(output, context); + return deserializeAws_json1_1DeleteResolverRuleCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetResolverEndpointResponse(data, context); - const response: GetResolverEndpointCommandOutput = { + contents = deserializeAws_json1_1DeleteResolverRuleResponse(data, context); + const response: DeleteResolverRuleCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetResolverEndpointCommandError = async ( +const deserializeAws_json1_1DeleteResolverRuleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1244,6 +1502,14 @@ const deserializeAws_json1_1GetResolverEndpointCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceInUseException": + case "com.amazonaws.route53resolver#ResourceInUseException": + response = { + ...(await deserializeAws_json1_1ResourceInUseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.route53resolver#ResourceNotFoundException": response = { @@ -1277,27 +1543,27 @@ const deserializeAws_json1_1GetResolverEndpointCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetResolverRuleCommand = async ( +export const deserializeAws_json1_1DisassociateResolverEndpointIpAddressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetResolverRuleCommandError(output, context); + return deserializeAws_json1_1DisassociateResolverEndpointIpAddressCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetResolverRuleResponse(data, context); - const response: GetResolverRuleCommandOutput = { + contents = deserializeAws_json1_1DisassociateResolverEndpointIpAddressResponse(data, context); + const response: DisassociateResolverEndpointIpAddressCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetResolverRuleCommandError = async ( +const deserializeAws_json1_1DisassociateResolverEndpointIpAddressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1323,6 +1589,22 @@ const deserializeAws_json1_1GetResolverRuleCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceExistsException": + case "com.amazonaws.route53resolver#ResourceExistsException": + response = { + ...(await deserializeAws_json1_1ResourceExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.route53resolver#ResourceNotFoundException": response = { @@ -1356,27 +1638,27 @@ const deserializeAws_json1_1GetResolverRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetResolverRuleAssociationCommand = async ( +export const deserializeAws_json1_1DisassociateResolverQueryLogConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetResolverRuleAssociationCommandError(output, context); + return deserializeAws_json1_1DisassociateResolverQueryLogConfigCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetResolverRuleAssociationResponse(data, context); - const response: GetResolverRuleAssociationCommandOutput = { + contents = deserializeAws_json1_1DisassociateResolverQueryLogConfigResponse(data, context); + const response: DisassociateResolverQueryLogConfigCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetResolverRuleAssociationCommandError = async ( +const deserializeAws_json1_1DisassociateResolverQueryLogConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1386,6 +1668,14 @@ const deserializeAws_json1_1GetResolverRuleAssociationCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.route53resolver#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InternalServiceErrorException": case "com.amazonaws.route53resolver#InternalServiceErrorException": response = { @@ -1402,6 +1692,14 @@ const deserializeAws_json1_1GetResolverRuleAssociationCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.route53resolver#ResourceNotFoundException": response = { @@ -1435,27 +1733,27 @@ const deserializeAws_json1_1GetResolverRuleAssociationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetResolverRulePolicyCommand = async ( +export const deserializeAws_json1_1DisassociateResolverRuleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetResolverRulePolicyCommandError(output, context); + return deserializeAws_json1_1DisassociateResolverRuleCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetResolverRulePolicyResponse(data, context); - const response: GetResolverRulePolicyCommandOutput = { + contents = deserializeAws_json1_1DisassociateResolverRuleResponse(data, context); + const response: DisassociateResolverRuleCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetResolverRulePolicyCommandError = async ( +const deserializeAws_json1_1DisassociateResolverRuleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1481,10 +1779,18 @@ const deserializeAws_json1_1GetResolverRulePolicyCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "UnknownResourceException": - case "com.amazonaws.route53resolver#UnknownResourceException": + case "ResourceNotFoundException": + case "com.amazonaws.route53resolver#ResourceNotFoundException": response = { - ...(await deserializeAws_json1_1UnknownResourceExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1506,27 +1812,27 @@ const deserializeAws_json1_1GetResolverRulePolicyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListResolverEndpointIpAddressesCommand = async ( +export const deserializeAws_json1_1GetResolverEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListResolverEndpointIpAddressesCommandError(output, context); + return deserializeAws_json1_1GetResolverEndpointCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListResolverEndpointIpAddressesResponse(data, context); - const response: ListResolverEndpointIpAddressesCommandOutput = { + contents = deserializeAws_json1_1GetResolverEndpointResponse(data, context); + const response: GetResolverEndpointCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListResolverEndpointIpAddressesCommandError = async ( +const deserializeAws_json1_1GetResolverEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1544,14 +1850,6 @@ const deserializeAws_json1_1ListResolverEndpointIpAddressesCommandError = async $metadata: deserializeMetadata(output), }; break; - case "InvalidNextTokenException": - case "com.amazonaws.route53resolver#InvalidNextTokenException": - response = { - ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.route53resolver#InvalidParameterException": response = { @@ -1593,27 +1891,27 @@ const deserializeAws_json1_1ListResolverEndpointIpAddressesCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListResolverEndpointsCommand = async ( +export const deserializeAws_json1_1GetResolverQueryLogConfigCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListResolverEndpointsCommandError(output, context); + return deserializeAws_json1_1GetResolverQueryLogConfigCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListResolverEndpointsResponse(data, context); - const response: ListResolverEndpointsCommandOutput = { + contents = deserializeAws_json1_1GetResolverQueryLogConfigResponse(data, context); + const response: GetResolverQueryLogConfigCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListResolverEndpointsCommandError = async ( +const deserializeAws_json1_1GetResolverQueryLogConfigCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1623,18 +1921,18 @@ const deserializeAws_json1_1ListResolverEndpointsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServiceErrorException": - case "com.amazonaws.route53resolver#InternalServiceErrorException": + case "AccessDeniedException": + case "com.amazonaws.route53resolver#AccessDeniedException": response = { - ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InvalidNextTokenException": - case "com.amazonaws.route53resolver#InvalidNextTokenException": + case "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": response = { - ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1655,6 +1953,14 @@ const deserializeAws_json1_1ListResolverEndpointsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceNotFoundException": + case "com.amazonaws.route53resolver#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.route53resolver#ThrottlingException": response = { @@ -1680,27 +1986,27 @@ const deserializeAws_json1_1ListResolverEndpointsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListResolverRuleAssociationsCommand = async ( +export const deserializeAws_json1_1GetResolverQueryLogConfigAssociationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListResolverRuleAssociationsCommandError(output, context); + return deserializeAws_json1_1GetResolverQueryLogConfigAssociationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListResolverRuleAssociationsResponse(data, context); - const response: ListResolverRuleAssociationsCommandOutput = { + contents = deserializeAws_json1_1GetResolverQueryLogConfigAssociationResponse(data, context); + const response: GetResolverQueryLogConfigAssociationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListResolverRuleAssociationsCommandError = async ( +const deserializeAws_json1_1GetResolverQueryLogConfigAssociationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1710,18 +2016,18 @@ const deserializeAws_json1_1ListResolverRuleAssociationsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServiceErrorException": - case "com.amazonaws.route53resolver#InternalServiceErrorException": + case "AccessDeniedException": + case "com.amazonaws.route53resolver#AccessDeniedException": response = { - ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InvalidNextTokenException": - case "com.amazonaws.route53resolver#InvalidNextTokenException": + case "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": response = { - ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1742,6 +2048,14 @@ const deserializeAws_json1_1ListResolverRuleAssociationsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceNotFoundException": + case "com.amazonaws.route53resolver#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.route53resolver#ThrottlingException": response = { @@ -1767,27 +2081,881 @@ const deserializeAws_json1_1ListResolverRuleAssociationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListResolverRulesCommand = async ( +export const deserializeAws_json1_1GetResolverQueryLogConfigPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListResolverRulesCommandError(output, context); + return deserializeAws_json1_1GetResolverQueryLogConfigPolicyCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListResolverRulesResponse(data, context); - const response: ListResolverRulesCommandOutput = { + contents = deserializeAws_json1_1GetResolverQueryLogConfigPolicyResponse(data, context); + const response: GetResolverQueryLogConfigPolicyCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListResolverRulesCommandError = async ( +const deserializeAws_json1_1GetResolverQueryLogConfigPolicyCommandError = 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.route53resolver#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnknownResourceException": + case "com.amazonaws.route53resolver#UnknownResourceException": + response = { + ...(await deserializeAws_json1_1UnknownResourceExceptionResponse(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_1GetResolverRuleCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetResolverRuleCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetResolverRuleResponse(data, context); + const response: GetResolverRuleCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetResolverRuleCommandError = 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 "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.route53resolver#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(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_1GetResolverRuleAssociationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetResolverRuleAssociationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetResolverRuleAssociationResponse(data, context); + const response: GetResolverRuleAssociationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetResolverRuleAssociationCommandError = 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 "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.route53resolver#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(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_1GetResolverRulePolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetResolverRulePolicyCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetResolverRulePolicyResponse(data, context); + const response: GetResolverRulePolicyCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetResolverRulePolicyCommandError = 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 "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnknownResourceException": + case "com.amazonaws.route53resolver#UnknownResourceException": + response = { + ...(await deserializeAws_json1_1UnknownResourceExceptionResponse(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_1ListResolverEndpointIpAddressesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListResolverEndpointIpAddressesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListResolverEndpointIpAddressesResponse(data, context); + const response: ListResolverEndpointIpAddressesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListResolverEndpointIpAddressesCommandError = 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 "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.route53resolver#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.route53resolver#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(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_1ListResolverEndpointsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListResolverEndpointsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListResolverEndpointsResponse(data, context); + const response: ListResolverEndpointsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListResolverEndpointsCommandError = 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 "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.route53resolver#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(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_1ListResolverQueryLogConfigAssociationsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListResolverQueryLogConfigAssociationsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListResolverQueryLogConfigAssociationsResponse(data, context); + const response: ListResolverQueryLogConfigAssociationsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListResolverQueryLogConfigAssociationsCommandError = 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.route53resolver#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.route53resolver#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(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_1ListResolverQueryLogConfigsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListResolverQueryLogConfigsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListResolverQueryLogConfigsResponse(data, context); + const response: ListResolverQueryLogConfigsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListResolverQueryLogConfigsCommandError = 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.route53resolver#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.route53resolver#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(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_1ListResolverRuleAssociationsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListResolverRuleAssociationsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListResolverRuleAssociationsResponse(data, context); + const response: ListResolverRuleAssociationsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListResolverRuleAssociationsCommandError = 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 "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.route53resolver#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(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_1ListResolverRulesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListResolverRulesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListResolverRulesResponse(data, context); + const response: ListResolverRulesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListResolverRulesCommandError = 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 "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.route53resolver#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(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_1ListTagsForResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListTagsForResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListTagsForResourceResponse(data, context); + const response: ListTagsForResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListTagsForResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1829,6 +2997,14 @@ const deserializeAws_json1_1ListResolverRulesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceNotFoundException": + case "com.amazonaws.route53resolver#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ThrottlingException": case "com.amazonaws.route53resolver#ThrottlingException": response = { @@ -1854,27 +3030,27 @@ const deserializeAws_json1_1ListResolverRulesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListTagsForResourceCommand = async ( +export const deserializeAws_json1_1PutResolverQueryLogConfigPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListTagsForResourceCommandError(output, context); + return deserializeAws_json1_1PutResolverQueryLogConfigPolicyCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListTagsForResourceResponse(data, context); - const response: ListTagsForResourceCommandOutput = { + contents = deserializeAws_json1_1PutResolverQueryLogConfigPolicyResponse(data, context); + const response: PutResolverQueryLogConfigPolicyCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListTagsForResourceCommandError = async ( +const deserializeAws_json1_1PutResolverQueryLogConfigPolicyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1884,18 +3060,18 @@ const deserializeAws_json1_1ListTagsForResourceCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InternalServiceErrorException": - case "com.amazonaws.route53resolver#InternalServiceErrorException": + case "AccessDeniedException": + case "com.amazonaws.route53resolver#AccessDeniedException": response = { - ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InvalidNextTokenException": - case "com.amazonaws.route53resolver#InvalidNextTokenException": + case "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": response = { - ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1908,26 +3084,26 @@ const deserializeAws_json1_1ListTagsForResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "InvalidRequestException": - case "com.amazonaws.route53resolver#InvalidRequestException": + case "InvalidPolicyDocument": + case "com.amazonaws.route53resolver#InvalidPolicyDocument": response = { - ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidPolicyDocumentResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ResourceNotFoundException": - case "com.amazonaws.route53resolver#ResourceNotFoundException": + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": response = { - ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "ThrottlingException": - case "com.amazonaws.route53resolver#ThrottlingException": + case "UnknownResourceException": + case "com.amazonaws.route53resolver#UnknownResourceException": response = { - ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1UnknownResourceExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2074,6 +3250,14 @@ const deserializeAws_json1_1TagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidTagException": case "com.amazonaws.route53resolver#InvalidTagException": response = { @@ -2169,6 +3353,14 @@ const deserializeAws_json1_1UntagResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.route53resolver#ResourceNotFoundException": response = { @@ -2392,6 +3584,21 @@ const deserializeAws_json1_1UpdateResolverRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +const deserializeAws_json1_1AccessDeniedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1AccessDeniedException(body, context); + const contents: AccessDeniedException = { + name: "AccessDeniedException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1InternalServiceErrorExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -2597,6 +3804,16 @@ const serializeAws_json1_1AssociateResolverEndpointIpAddressRequest = ( }; }; +const serializeAws_json1_1AssociateResolverQueryLogConfigRequest = ( + input: AssociateResolverQueryLogConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.ResolverQueryLogConfigId !== undefined && { ResolverQueryLogConfigId: input.ResolverQueryLogConfigId }), + ...(input.ResourceId !== undefined && { ResourceId: input.ResourceId }), + }; +}; + const serializeAws_json1_1AssociateResolverRuleRequest = ( input: AssociateResolverRuleRequest, context: __SerdeContext @@ -2626,6 +3843,18 @@ const serializeAws_json1_1CreateResolverEndpointRequest = ( }; }; +const serializeAws_json1_1CreateResolverQueryLogConfigRequest = ( + input: CreateResolverQueryLogConfigRequest, + context: __SerdeContext +): any => { + return { + CreatorRequestId: input.CreatorRequestId ?? generateIdempotencyToken(), + ...(input.DestinationArn !== undefined && { DestinationArn: input.DestinationArn }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + const serializeAws_json1_1CreateResolverRuleRequest = ( input: CreateResolverRuleRequest, context: __SerdeContext @@ -2650,6 +3879,15 @@ const serializeAws_json1_1DeleteResolverEndpointRequest = ( }; }; +const serializeAws_json1_1DeleteResolverQueryLogConfigRequest = ( + input: DeleteResolverQueryLogConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.ResolverQueryLogConfigId !== undefined && { ResolverQueryLogConfigId: input.ResolverQueryLogConfigId }), + }; +}; + const serializeAws_json1_1DeleteResolverRuleRequest = ( input: DeleteResolverRuleRequest, context: __SerdeContext @@ -2669,6 +3907,16 @@ const serializeAws_json1_1DisassociateResolverEndpointIpAddressRequest = ( }; }; +const serializeAws_json1_1DisassociateResolverQueryLogConfigRequest = ( + input: DisassociateResolverQueryLogConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.ResolverQueryLogConfigId !== undefined && { ResolverQueryLogConfigId: input.ResolverQueryLogConfigId }), + ...(input.ResourceId !== undefined && { ResourceId: input.ResourceId }), + }; +}; + const serializeAws_json1_1DisassociateResolverRuleRequest = ( input: DisassociateResolverRuleRequest, context: __SerdeContext @@ -2703,6 +3951,35 @@ const serializeAws_json1_1GetResolverEndpointRequest = ( }; }; +const serializeAws_json1_1GetResolverQueryLogConfigAssociationRequest = ( + input: GetResolverQueryLogConfigAssociationRequest, + context: __SerdeContext +): any => { + return { + ...(input.ResolverQueryLogConfigAssociationId !== undefined && { + ResolverQueryLogConfigAssociationId: input.ResolverQueryLogConfigAssociationId, + }), + }; +}; + +const serializeAws_json1_1GetResolverQueryLogConfigPolicyRequest = ( + input: GetResolverQueryLogConfigPolicyRequest, + context: __SerdeContext +): any => { + return { + ...(input.Arn !== undefined && { Arn: input.Arn }), + }; +}; + +const serializeAws_json1_1GetResolverQueryLogConfigRequest = ( + input: GetResolverQueryLogConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.ResolverQueryLogConfigId !== undefined && { ResolverQueryLogConfigId: input.ResolverQueryLogConfigId }), + }; +}; + const serializeAws_json1_1GetResolverRuleAssociationRequest = ( input: GetResolverRuleAssociationRequest, context: __SerdeContext @@ -2770,6 +4047,32 @@ const serializeAws_json1_1ListResolverEndpointsRequest = ( }; }; +const serializeAws_json1_1ListResolverQueryLogConfigAssociationsRequest = ( + input: ListResolverQueryLogConfigAssociationsRequest, + context: __SerdeContext +): any => { + return { + ...(input.Filters !== undefined && { Filters: serializeAws_json1_1Filters(input.Filters, context) }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.SortBy !== undefined && { SortBy: input.SortBy }), + ...(input.SortOrder !== undefined && { SortOrder: input.SortOrder }), + }; +}; + +const serializeAws_json1_1ListResolverQueryLogConfigsRequest = ( + input: ListResolverQueryLogConfigsRequest, + context: __SerdeContext +): any => { + return { + ...(input.Filters !== undefined && { Filters: serializeAws_json1_1Filters(input.Filters, context) }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.SortBy !== undefined && { SortBy: input.SortBy }), + ...(input.SortOrder !== undefined && { SortOrder: input.SortOrder }), + }; +}; + const serializeAws_json1_1ListResolverRuleAssociationsRequest = ( input: ListResolverRuleAssociationsRequest, context: __SerdeContext @@ -2803,6 +4106,18 @@ const serializeAws_json1_1ListTagsForResourceRequest = ( }; }; +const serializeAws_json1_1PutResolverQueryLogConfigPolicyRequest = ( + input: PutResolverQueryLogConfigPolicyRequest, + context: __SerdeContext +): any => { + return { + ...(input.Arn !== undefined && { Arn: input.Arn }), + ...(input.ResolverQueryLogConfigPolicy !== undefined && { + ResolverQueryLogConfigPolicy: input.ResolverQueryLogConfigPolicy, + }), + }; +}; + const serializeAws_json1_1PutResolverRulePolicyRequest = ( input: PutResolverRulePolicyRequest, context: __SerdeContext @@ -2885,6 +4200,12 @@ const serializeAws_json1_1UpdateResolverRuleRequest = ( }; }; +const deserializeAws_json1_1AccessDeniedException = (output: any, context: __SerdeContext): AccessDeniedException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1AssociateResolverEndpointIpAddressResponse = ( output: any, context: __SerdeContext @@ -2897,6 +4218,18 @@ const deserializeAws_json1_1AssociateResolverEndpointIpAddressResponse = ( } as any; }; +const deserializeAws_json1_1AssociateResolverQueryLogConfigResponse = ( + output: any, + context: __SerdeContext +): AssociateResolverQueryLogConfigResponse => { + return { + ResolverQueryLogConfigAssociation: + output.ResolverQueryLogConfigAssociation !== undefined && output.ResolverQueryLogConfigAssociation !== null + ? deserializeAws_json1_1ResolverQueryLogConfigAssociation(output.ResolverQueryLogConfigAssociation, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1AssociateResolverRuleResponse = ( output: any, context: __SerdeContext @@ -2921,6 +4254,18 @@ const deserializeAws_json1_1CreateResolverEndpointResponse = ( } as any; }; +const deserializeAws_json1_1CreateResolverQueryLogConfigResponse = ( + output: any, + context: __SerdeContext +): CreateResolverQueryLogConfigResponse => { + return { + ResolverQueryLogConfig: + output.ResolverQueryLogConfig !== undefined && output.ResolverQueryLogConfig !== null + ? deserializeAws_json1_1ResolverQueryLogConfig(output.ResolverQueryLogConfig, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1CreateResolverRuleResponse = ( output: any, context: __SerdeContext @@ -2945,6 +4290,18 @@ const deserializeAws_json1_1DeleteResolverEndpointResponse = ( } as any; }; +const deserializeAws_json1_1DeleteResolverQueryLogConfigResponse = ( + output: any, + context: __SerdeContext +): DeleteResolverQueryLogConfigResponse => { + return { + ResolverQueryLogConfig: + output.ResolverQueryLogConfig !== undefined && output.ResolverQueryLogConfig !== null + ? deserializeAws_json1_1ResolverQueryLogConfig(output.ResolverQueryLogConfig, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DeleteResolverRuleResponse = ( output: any, context: __SerdeContext @@ -2969,6 +4326,18 @@ const deserializeAws_json1_1DisassociateResolverEndpointIpAddressResponse = ( } as any; }; +const deserializeAws_json1_1DisassociateResolverQueryLogConfigResponse = ( + output: any, + context: __SerdeContext +): DisassociateResolverQueryLogConfigResponse => { + return { + ResolverQueryLogConfigAssociation: + output.ResolverQueryLogConfigAssociation !== undefined && output.ResolverQueryLogConfigAssociation !== null + ? deserializeAws_json1_1ResolverQueryLogConfigAssociation(output.ResolverQueryLogConfigAssociation, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DisassociateResolverRuleResponse = ( output: any, context: __SerdeContext @@ -2993,6 +4362,42 @@ const deserializeAws_json1_1GetResolverEndpointResponse = ( } as any; }; +const deserializeAws_json1_1GetResolverQueryLogConfigAssociationResponse = ( + output: any, + context: __SerdeContext +): GetResolverQueryLogConfigAssociationResponse => { + return { + ResolverQueryLogConfigAssociation: + output.ResolverQueryLogConfigAssociation !== undefined && output.ResolverQueryLogConfigAssociation !== null + ? deserializeAws_json1_1ResolverQueryLogConfigAssociation(output.ResolverQueryLogConfigAssociation, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1GetResolverQueryLogConfigPolicyResponse = ( + output: any, + context: __SerdeContext +): GetResolverQueryLogConfigPolicyResponse => { + return { + ResolverQueryLogConfigPolicy: + output.ResolverQueryLogConfigPolicy !== undefined && output.ResolverQueryLogConfigPolicy !== null + ? output.ResolverQueryLogConfigPolicy + : undefined, + } as any; +}; + +const deserializeAws_json1_1GetResolverQueryLogConfigResponse = ( + output: any, + context: __SerdeContext +): GetResolverQueryLogConfigResponse => { + return { + ResolverQueryLogConfig: + output.ResolverQueryLogConfig !== undefined && output.ResolverQueryLogConfig !== null + ? deserializeAws_json1_1ResolverQueryLogConfig(output.ResolverQueryLogConfig, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1GetResolverRuleAssociationResponse = ( output: any, context: __SerdeContext @@ -3131,6 +4536,45 @@ const deserializeAws_json1_1ListResolverEndpointsResponse = ( } as any; }; +const deserializeAws_json1_1ListResolverQueryLogConfigAssociationsResponse = ( + output: any, + context: __SerdeContext +): ListResolverQueryLogConfigAssociationsResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + ResolverQueryLogConfigAssociations: + output.ResolverQueryLogConfigAssociations !== undefined && output.ResolverQueryLogConfigAssociations !== null + ? deserializeAws_json1_1ResolverQueryLogConfigAssociationList( + output.ResolverQueryLogConfigAssociations, + context + ) + : undefined, + TotalCount: output.TotalCount !== undefined && output.TotalCount !== null ? output.TotalCount : undefined, + TotalFilteredCount: + output.TotalFilteredCount !== undefined && output.TotalFilteredCount !== null + ? output.TotalFilteredCount + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListResolverQueryLogConfigsResponse = ( + output: any, + context: __SerdeContext +): ListResolverQueryLogConfigsResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + ResolverQueryLogConfigs: + output.ResolverQueryLogConfigs !== undefined && output.ResolverQueryLogConfigs !== null + ? deserializeAws_json1_1ResolverQueryLogConfigList(output.ResolverQueryLogConfigs, context) + : undefined, + TotalCount: output.TotalCount !== undefined && output.TotalCount !== null ? output.TotalCount : undefined, + TotalFilteredCount: + output.TotalFilteredCount !== undefined && output.TotalFilteredCount !== null + ? output.TotalFilteredCount + : undefined, + } as any; +}; + const deserializeAws_json1_1ListResolverRuleAssociationsResponse = ( output: any, context: __SerdeContext @@ -3172,6 +4616,15 @@ const deserializeAws_json1_1ListTagsForResourceResponse = ( } as any; }; +const deserializeAws_json1_1PutResolverQueryLogConfigPolicyResponse = ( + output: any, + context: __SerdeContext +): PutResolverQueryLogConfigPolicyResponse => { + return { + ReturnValue: output.ReturnValue !== undefined && output.ReturnValue !== null ? output.ReturnValue : undefined, + } as any; +}; + const deserializeAws_json1_1PutResolverRulePolicyResponse = ( output: any, context: __SerdeContext @@ -3209,13 +4662,66 @@ const deserializeAws_json1_1ResolverEndpoints = (output: any, context: __SerdeCo return (output || []).map((entry: any) => deserializeAws_json1_1ResolverEndpoint(entry, context)); }; +const deserializeAws_json1_1ResolverQueryLogConfig = (output: any, context: __SerdeContext): ResolverQueryLogConfig => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + AssociationCount: + output.AssociationCount !== undefined && output.AssociationCount !== null ? output.AssociationCount : undefined, + CreationTime: output.CreationTime !== undefined && output.CreationTime !== null ? output.CreationTime : undefined, + CreatorRequestId: + output.CreatorRequestId !== undefined && output.CreatorRequestId !== null ? output.CreatorRequestId : undefined, + DestinationArn: + output.DestinationArn !== undefined && output.DestinationArn !== null ? output.DestinationArn : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + OwnerId: output.OwnerId !== undefined && output.OwnerId !== null ? output.OwnerId : undefined, + ShareStatus: output.ShareStatus !== undefined && output.ShareStatus !== null ? output.ShareStatus : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1ResolverQueryLogConfigAssociation = ( + output: any, + context: __SerdeContext +): ResolverQueryLogConfigAssociation => { + return { + CreationTime: output.CreationTime !== undefined && output.CreationTime !== null ? output.CreationTime : undefined, + Error: output.Error !== undefined && output.Error !== null ? output.Error : undefined, + ErrorMessage: output.ErrorMessage !== undefined && output.ErrorMessage !== null ? output.ErrorMessage : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + ResolverQueryLogConfigId: + output.ResolverQueryLogConfigId !== undefined && output.ResolverQueryLogConfigId !== null + ? output.ResolverQueryLogConfigId + : undefined, + ResourceId: output.ResourceId !== undefined && output.ResourceId !== null ? output.ResourceId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1ResolverQueryLogConfigAssociationList = ( + output: any, + context: __SerdeContext +): ResolverQueryLogConfigAssociation[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ResolverQueryLogConfigAssociation(entry, context)); +}; + +const deserializeAws_json1_1ResolverQueryLogConfigList = ( + output: any, + context: __SerdeContext +): ResolverQueryLogConfig[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ResolverQueryLogConfig(entry, context)); +}; + const deserializeAws_json1_1ResolverRule = (output: any, context: __SerdeContext): ResolverRule => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + CreationTime: output.CreationTime !== undefined && output.CreationTime !== null ? output.CreationTime : undefined, CreatorRequestId: output.CreatorRequestId !== undefined && output.CreatorRequestId !== null ? output.CreatorRequestId : undefined, DomainName: output.DomainName !== undefined && output.DomainName !== null ? output.DomainName : undefined, Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + ModificationTime: + output.ModificationTime !== undefined && output.ModificationTime !== null ? output.ModificationTime : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, OwnerId: output.OwnerId !== undefined && output.OwnerId !== null ? output.OwnerId : undefined, ResolverEndpointId: diff --git a/clients/client-s3-control/S3Control.ts b/clients/client-s3-control/S3Control.ts index 6102815caf48..f723006f7eb2 100644 --- a/clients/client-s3-control/S3Control.ts +++ b/clients/client-s3-control/S3Control.ts @@ -148,11 +148,57 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** *

                            * AWS S3 Control provides access to Amazon S3 control plane operations. + * *

                            */ export class S3Control extends S3ControlClient { /** - *

                            Creates an access point and associates it with the specified bucket. For more information, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.

                            + *

                            Creates an access point and associates it with the specified bucket. For more information, see + * Managing Data Access with Amazon S3 Access + * Points in the Amazon Simple Storage Service Developer Guide.

                            + *

                            + *

                            + * Using this action with Amazon S3 on Outposts + *

                            + *

                            This action:

                            + *
                              + *
                            • + *

                              Requires a virtual private cloud (VPC) configuration as S3 on Outposts only supports VPC style access points.

                              + *
                            • + *
                            • + *

                              Does not support ACL on S3 on Outposts buckets.

                              + *
                            • + *
                            • + *

                              Does not support Public Access on S3 on Outposts buckets.

                              + *
                            • + *
                            • + *

                              Does not support object lock for S3 on Outposts buckets.

                              + *
                            • + *
                            + *

                            For more information, see + * Using Amazon S3 on Outposts in the Amazon Simple Storage Service Developer Guide .

                            + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + *

                            + *

                            The following actions are related to CreateAccessPoint:

                            + * */ public createAccessPoint( args: CreateAccessPointCommandInput, @@ -183,6 +229,64 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API operation creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see Create Bucket in the Amazon Simple Storage Service API. + *

                            + *
                            + *

                            Creates a new Outposts bucket. By creating the bucket, you become the bucket owner. To create an Outposts bucket, you must have S3 on Outposts. + * For more information, see Using Amazon S3 on Outposts in Amazon Simple Storage Service Developer Guide.

                            + *

                            Not every string is an acceptable bucket name. For information on bucket naming restrictions, see Working with Amazon S3 Buckets.

                            + * + *

                            S3 on Outposts buckets do not support

                            + *
                              + *
                            • + *

                              ACLs. Instead, configure access point policies to manage + * access to buckets.

                              + *
                            • + *
                            • + *

                              Public access.

                              + *
                            • + *
                            • + *

                              Object Lock

                              + *
                            • + *
                            • + *

                              Bucket Location constraint

                              + *
                            • + *
                            + *

                            For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and outpost-id in your API request, see the + * + * Example section below.

                            + * + *

                            The following actions are related to CreateBucket for Amazon S3 on Outposts:

                            + * + */ public createBucket( args: CreateBucketCommandInput, options?: __HttpHandlerOptions @@ -210,32 +314,32 @@ export class S3Control extends S3ControlClient { } /** - *

                            S3 Batch Operations performs large-scale Batch Operations on Amazon S3 objects. Batch Operations can - * execute a single operation or action on lists of Amazon S3 objects that you specify. For more - * information, see S3 Batch Operations in - * the Amazon Simple Storage Service Developer Guide.

                            + *

                            S3 Batch Operations performs large-scale Batch Operations on Amazon S3 objects. Batch Operations can run a + * single operation or action on lists of Amazon S3 objects that you specify. For more information, + * see S3 Batch Operations in the + * Amazon Simple Storage Service Developer Guide.

                            *

                            This operation creates a S3 Batch Operations job.

                            *

                            *

                            Related actions include:

                            * @@ -265,6 +369,28 @@ export class S3Control extends S3ControlClient { /** *

                            Deletes the specified access point.

                            + * + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the ARN, see the + * + * Example section below.

                            + *

                            The following actions are related to DeleteAccessPoint:

                            + * */ public deleteAccessPoint( args: DeleteAccessPointCommandInput, @@ -297,6 +423,23 @@ export class S3Control extends S3ControlClient { /** *

                            Deletes the access point policy for the specified access point.

                            + *

                            + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + *

                            The following actions are related to DeleteAccessPointPolicy:

                            + * */ public deleteAccessPointPolicy( args: DeleteAccessPointPolicyCommandInput, @@ -327,6 +470,39 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API operation deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, + * see DeleteBucket in the Amazon Simple Storage Service API. + *

                            + *
                            + *

                            Deletes the Amazon S3 on Outposts bucket. All objects (including all object versions and delete markers) in the + * bucket must be deleted before the bucket itself can be deleted. + * For more information, see Using Amazon S3 on Outposts in Amazon Simple Storage Service Developer Guide.

                            + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + *

                            + * Related Resources + *

                            + * + */ public deleteBucket( args: DeleteBucketCommandInput, options?: __HttpHandlerOptions @@ -353,6 +529,40 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete an + * S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon Simple Storage Service API. + *

                            + *
                            + *

                            Deletes the lifecycle configuration from the specified Outposts bucket. Amazon S3 on Outposts removes all the lifecycle configuration + * rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer automatically + * deletes any objects on the basis of rules contained in the deleted lifecycle configuration. + * For more information, see Using Amazon S3 on Outposts in Amazon Simple Storage Service Developer Guide.

                            + *

                            To use this operation, you must have permission to perform the + * s3outposts:DeleteLifecycleConfiguration action. By default, the bucket + * owner has this permission and the Outposts bucket owner can grant this permission to + * others.

                            + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + * + *

                            For more information about object expiration, see + * Elements to Describe Lifecycle Actions.

                            + *

                            Related actions include:

                            + * + */ public deleteBucketLifecycleConfiguration( args: DeleteBucketLifecycleConfigurationCommandInput, options?: __HttpHandlerOptions @@ -382,6 +592,52 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API operation deletes an Amazon S3 on Outposts bucket policy. To delete an + * S3 bucket policy, see DeleteBucketPolicy in the Amazon Simple Storage Service API. + *

                            + *
                            + *

                            This implementation of the DELETE operation uses the policy subresource to delete the + * policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the + * root user of the AWS account that owns the bucket, the calling identity must have the + * s3outposts:DeleteBucketPolicy permissions on the specified Outposts bucket + * and belong to the bucket owner's account to use this operation. For more information, see + * Using Amazon S3 on Outposts in + * Amazon Simple Storage Service Developer Guide.

                            + * + *

                            If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a + * 403 Access Denied error. If you have the correct permissions, but you're + * not using an identity that belongs to the bucket owner's account, Amazon S3 returns a + * 405 Method Not Allowed error.

                            + * + * + * + *

                            As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, + * even if the policy explicitly denies the root user the ability to perform this action.

                            + *
                            + * + *

                            For more information about bucket policies, see Using Bucket Policies and User + * Policies.

                            + * + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + * + *

                            The following actions are related to DeleteBucketPolicy:

                            + * + */ public deleteBucketPolicy( args: DeleteBucketPolicyCommandInput, options?: __HttpHandlerOptions @@ -411,6 +667,37 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API operation deletes an Amazon S3 on Outposts bucket's tags. To delete an + * S3 bucket tags, see DeleteBucketTagging in the Amazon Simple Storage Service API. + *

                            + *
                            + *

                            Deletes the tags from the Outposts bucket. For more information, see Using Amazon S3 on Outposts in + * Amazon Simple Storage Service Developer Guide.

                            + * + *

                            To use this operation, you must have permission to perform the PutBucketTagging action. + * By default, the bucket owner has this permission and can grant this permission to others. + *

                            + * + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + * + *

                            The following actions are related to DeleteBucketTagging:

                            + * + */ public deleteBucketTagging( args: DeleteBucketTaggingCommandInput, options?: __HttpHandlerOptions @@ -450,17 +737,17 @@ export class S3Control extends S3ControlClient { * @@ -495,7 +782,22 @@ export class S3Control extends S3ControlClient { } /** - *

                            Removes the PublicAccessBlock configuration for an AWS account.

                            + *

                            Removes the PublicAccessBlock configuration for an AWS account. For more + * information, see Using Amazon S3 block + * public access.

                            + *

                            Related actions include:

                            + * */ public deletePublicAccessBlock( args: DeletePublicAccessBlockCommandInput, @@ -535,22 +837,22 @@ export class S3Control extends S3ControlClient { * @@ -580,6 +882,29 @@ export class S3Control extends S3ControlClient { /** *

                            Returns configuration information about the specified access point.

                            + *

                            + * + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + *

                            The following actions are related to GetAccessPoint:

                            + * */ public getAccessPoint( args: GetAccessPointCommandInput, @@ -612,6 +937,19 @@ export class S3Control extends S3ControlClient { /** *

                            Returns the access point policy associated with the specified access point.

                            + *

                            The following actions are related to GetAccessPointPolicy:

                            + * */ public getAccessPointPolicy( args: GetAccessPointPolicyCommandInput, @@ -674,6 +1012,28 @@ export class S3Control extends S3ControlClient { } } + /** + *

                            Gets an Amazon S3 on Outposts bucket. For more information, see + * Using Amazon S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                            + *

                            The following actions are related to GetBucket for Amazon S3 on Outposts:

                            + * + */ public getBucket(args: GetBucketCommandInput, options?: __HttpHandlerOptions): Promise; public getBucket(args: GetBucketCommandInput, cb: (err: any, data?: GetBucketCommandOutput) => void): void; public getBucket( @@ -697,6 +1057,61 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API operation gets an Amazon S3 on Outposts bucket's lifecycle configuration. To get an + * S3 bucket's lifecycle configuration, see GetBucketLifecycleConfiguration in the Amazon Simple Storage Service API. + *

                            + *
                            + *

                            Returns the lifecycle configuration information set on the Outposts bucket. For more + * information, see Using Amazon S3 on Outposts and for + * information about lifecycle configuration, see Object Lifecycle Management in + * Amazon Simple Storage Service Developer Guide.

                            + * + *

                            To use this operation, you must have permission to perform the s3outposts:GetLifecycleConfiguration action. + * The Outposts bucket owner has this permission, by default. The bucket owner 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 Resources.

                            + * + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + * + *

                            + * GetBucketLifecycleConfiguration has the following special error:

                            + *
                              + *
                            • + *

                              Error code: NoSuchLifecycleConfiguration + *

                              + *
                                + *
                              • + *

                                Description: The lifecycle configuration does not exist.

                                + *
                              • + *
                              • + *

                                HTTP Status Code: 404 Not Found

                                + *
                              • + *
                              • + *

                                SOAP Fault Code Prefix: Client

                                + *
                              • + *
                              + *
                            • + *
                            + *

                            The following actions are related to GetBucketLifecycleConfiguration:

                            + * + */ public getBucketLifecycleConfiguration( args: GetBucketLifecycleConfigurationCommandInput, options?: __HttpHandlerOptions @@ -726,6 +1141,50 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API action gets a bucket policy for an Amazon S3 on Outposts bucket. To get a policy for an S3 + * bucket, see GetBucketPolicy in the + * Amazon Simple Storage Service API.

                            + *
                            + *

                            Returns the policy of a specified Outposts bucket. For more information, see Using Amazon S3 on Outposts in the + * Amazon Simple Storage Service Developer Guide.

                            + *

                            If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity + * must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

                            + * + *

                            If you don't have s3outposts:GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, + * but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

                            + * + * + *

                            As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy + * explicitly denies the root user the ability to perform this action.

                            + *
                            + * + *

                            For more information about bucket policies, see Using Bucket Policies and User Policies.

                            + * + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + * + *

                            The following actions are related to GetBucketPolicy:

                            + * + */ public getBucketPolicy( args: GetBucketPolicyCommandInput, options?: __HttpHandlerOptions @@ -755,6 +1214,49 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API operation gets an Amazon S3 on Outposts bucket's tags. To get an + * S3 bucket tags, see GetBucketTagging in the Amazon Simple Storage Service API. + *

                            + *
                            + *

                            Returns the tag set associated with the Outposts bucket. For more information, see + * Using Amazon S3 on Outposts in the + * Amazon Simple Storage Service Developer Guide.

                            + *

                            To use this operation, you must have permission to perform the GetBucketTagging action. + * By default, the bucket owner has this permission and can grant this permission to others.

                            + * + *

                            + * GetBucketTagging has the following special error:

                            + *
                              + *
                            • + *

                              Error code: NoSuchTagSetError + *

                              + *
                                + *
                              • + *

                                Description: There is no tag set associated with the bucket.

                                + *
                              • + *
                              + *
                            • + *
                            + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + * + *

                            The following actions are related to GetBucketTagging:

                            + * + */ public getBucketTagging( args: GetBucketTaggingCommandInput, options?: __HttpHandlerOptions @@ -795,17 +1297,17 @@ export class S3Control extends S3ControlClient { * @@ -840,7 +1342,22 @@ export class S3Control extends S3ControlClient { } /** - *

                            Retrieves the PublicAccessBlock configuration for an AWS account.

                            + *

                            Retrieves the PublicAccessBlock configuration for an AWS account. For more + * information, see Using Amazon S3 block + * public access.

                            + *

                            Related actions include:

                            + * */ public getPublicAccessBlock( args: GetPublicAccessBlockCommandInput, @@ -877,6 +1394,28 @@ export class S3Control extends S3ControlClient { * access points (or the number specified in maxResults, whichever is less), the * response will include a continuation token that you can use to list the additional access * points.

                            + *

                            + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + *

                            The following actions are related to ListAccessPoints:

                            + * */ public listAccessPoints( args: ListAccessPointsCommandInput, @@ -916,22 +1455,22 @@ export class S3Control extends S3ControlClient { * @@ -959,6 +1498,13 @@ export class S3Control extends S3ControlClient { } } + /** + *

                            Returns a list of all Outposts buckets in an Outposts that are owned by the + * authenticated sender of the request. For more information, see Using Amazon S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                            + *

                            For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and outpost-id in your API request, see the + * + * Example section below.

                            + */ public listRegionalBuckets( args: ListRegionalBucketsCommandInput, options?: __HttpHandlerOptions @@ -989,7 +1535,25 @@ export class S3Control extends S3ControlClient { } /** - *

                            Associates an access policy with the specified access point. Each access point can have only one policy, so a request made to this API replaces any existing policy associated with the specified access point.

                            + *

                            Associates an access policy with the specified access point. Each access point can have only one policy, so a request made to this API + * replaces any existing policy associated with the specified access point.

                            + *

                            + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + *

                            The following actions are related to PutAccessPointPolicy:

                            + * */ public putAccessPointPolicy( args: PutAccessPointPolicyCommandInput, @@ -1020,6 +1584,33 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. To put a lifecycle configuration to an S3 bucket, + * see PutBucketLifecycleConfiguration in the Amazon Simple Storage Service API. + *

                            + *
                            + *

                            Creates a new lifecycle configuration for the Outposts bucket or replaces an existing + * lifecycle configuration. Outposts buckets can only support a lifecycle that deletes objects + * after a certain period of time. For more information, see Managing Lifecycle Permissions for Amazon S3 on Outposts.

                            + *

                            + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + *

                            The following actions are related to PutBucketLifecycleConfiguration:

                            + * + */ public putBucketLifecycleConfiguration( args: PutBucketLifecycleConfigurationCommandInput, options?: __HttpHandlerOptions @@ -1049,6 +1640,49 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API action puts a bucket policy to an Amazon S3 on Outposts bucket. To put a policy on an S3 bucket, + * see PutBucketPolicy in the Amazon Simple Storage Service API. + *

                            + *
                            + *

                            Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, see Using Amazon S3 on Outposts in the + * Amazon Simple Storage Service Developer Guide.

                            + *

                            If you are using an identity other than the root user of the AWS account that owns the + * Outposts bucket, the calling identity must have the PutBucketPolicy + * permissions on the specified Outposts bucket and belong to the bucket owner's account in + * order to use this operation.

                            + * + *

                            If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, + * but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

                            + * + * + *

                            As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy + * explicitly denies the root user the ability to perform this action. + *

                            + *
                            + * + * + *

                            For more information about bucket policies, see Using Bucket Policies and User Policies.

                            + * + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + * + *

                            The following actions are related to PutBucketPolicy:

                            + * + */ public putBucketPolicy( args: PutBucketPolicyCommandInput, options?: __HttpHandlerOptions @@ -1078,6 +1712,93 @@ export class S3Control extends S3ControlClient { } } + /** + * + *

                            This API action puts tags on an Amazon S3 on Outposts bucket. To put tags on an S3 bucket, see + * PutBucketTagging in the Amazon Simple Storage Service API.

                            + *
                            + *

                            Sets the tags for an Outposts bucket. For more information, see Using Amazon S3 on Outposts in the + * Amazon Simple Storage Service Developer Guide.

                            + *

                            Use tags to organize your AWS bill to reflect your own cost structure. To do this, sign up to get your + * AWS account bill with tag key values included. Then, to see the cost of combined resources, organize your + * billing information according to resources with the same tag key values. For example, you can tag several + * resources with a specific application name, and then organize your billing information to see the total cost + * of that application across several services. For more information, see + * Cost Allocation and Tagging.

                            + * + * + *

                            Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites + * the old value. For more information, see Using Cost Allocation in Amazon S3 + * Bucket Tags.

                            + *
                            + *

                            To use this operation, you must have permissions to perform the + * s3outposts:PutBucketTagging action. The Outposts bucket owner has this + * permission by default 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 + * Resources.

                            + * + *

                            + * PutBucketTagging has the following special errors:

                            + *
                              + *
                            • + *

                              Error code: InvalidTagError + *

                              + * + *
                            • + *
                            • + *

                              Error code: MalformedXMLError + *

                              + *
                                + *
                              • + *

                                Description: The XML provided does not match the schema.

                                + *
                              • + *
                              + *
                            • + *
                            • + *

                              Error code: OperationAbortedError + *

                              + *
                                + *
                              • + *

                                Description: A conflicting conditional operation is currently in progress against this + * resource. Try again.

                                + *
                              • + *
                              + *
                            • + *
                            • + *

                              Error code: InternalError + *

                              + *
                                + *
                              • + *

                                Description: The service was unable to apply the provided tag to the bucket.

                                + *
                              • + *
                              + *
                            • + *
                            + *

                            All Amazon S3 on Outposts REST API requests for this action require an additional parameter of outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the outpost-id derived using the access point ARN, see the + * + * Example section below.

                            + * + *

                            The following actions are related to PutBucketTagging:

                            + * + */ public putBucketTagging( args: PutBucketTaggingCommandInput, options?: __HttpHandlerOptions @@ -1112,7 +1833,7 @@ export class S3Control extends S3ControlClient { *

                            A tag is a key-value pair. You can associate S3 Batch Operations tags with any job by sending * a PUT request against the tagging subresource that is associated with the job. To modify * the existing tag set, you can either replace the existing tag set entirely, or make changes - * within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this API action to replace the + * within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this API action to replace the * tag set with the one you modified. For more information, see Controlling access and * labeling jobs using tags in the Amazon Simple Storage Service Developer Guide.

                            *

                            @@ -1125,7 +1846,7 @@ export class S3Control extends S3ControlClient { * pricing.

                            * *
                          • - *

                            For deleting existing tags for your Batch Operations job, a DeleteJobTagging + *

                            For deleting existing tags for your Batch Operations job, a DeleteJobTagging * request is preferred because it achieves the same result without incurring * charges.

                            *
                          • @@ -1158,17 +1879,17 @@ export class S3Control extends S3ControlClient { * @@ -1203,8 +1924,22 @@ export class S3Control extends S3ControlClient { } /** - *

                            Creates or modifies the PublicAccessBlock configuration for an AWS - * account.

                            + *

                            Creates or modifies the PublicAccessBlock configuration for an AWS account. For + * more information, see Using Amazon S3 block + * public access.

                            + *

                            Related actions include:

                            + * */ public putPublicAccessBlock( args: PutPublicAccessBlockCommandInput, @@ -1243,22 +1978,22 @@ export class S3Control extends S3ControlClient { * @@ -1301,22 +2036,22 @@ export class S3Control extends S3ControlClient { * diff --git a/clients/client-s3-control/S3ControlClient.ts b/clients/client-s3-control/S3ControlClient.ts index de2317a829e9..9785bb9ef6de 100644 --- a/clients/client-s3-control/S3ControlClient.ts +++ b/clients/client-s3-control/S3ControlClient.ts @@ -305,6 +305,7 @@ export type S3ControlClientResolvedConfig = __SmithyResolvedConfiguration<__Http /** *

                            * AWS S3 Control provides access to Amazon S3 control plane operations. + * *

                            */ export class S3ControlClient extends __Client< diff --git a/clients/client-s3-control/models/models_0.ts b/clients/client-s3-control/models/models_0.ts index 7e185cb2ed79..8b64a4093a66 100644 --- a/clients/client-s3-control/models/models_0.ts +++ b/clients/client-s3-control/models/models_0.ts @@ -1,7 +1,14 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +/** + *

                            The container for abort incomplete multipart upload

                            + */ export interface AbortIncompleteMultipartUpload { + /** + *

                            Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload to + * the Outposts bucket.

                            + */ DaysAfterInitiation?: number; } @@ -37,9 +44,14 @@ export namespace VpcConfiguration { */ export interface AccessPoint { /** - *

                            The name of this access point.

                            + *

                            The name of the bucket associated with this access point.

                            */ - Name: string | undefined; + Bucket: string | undefined; + + /** + *

                            The ARN for the access point.

                            + */ + AccessPointArn?: string; /** *

                            Indicates whether this access point allows access from the public internet. If @@ -52,15 +64,14 @@ export interface AccessPoint { NetworkOrigin: NetworkOrigin | string | undefined; /** - *

                            The name of the bucket associated with this access point.

                            + *

                            The virtual private cloud (VPC) configuration for this access point, if one exists.

                            */ - Bucket: string | undefined; + VpcConfiguration?: VpcConfiguration; - AccessPointArn?: string; /** - *

                            The virtual private cloud (VPC) configuration for this access point, if one exists.

                            + *

                            The name of this access point.

                            */ - VpcConfiguration?: VpcConfiguration; + Name: string | undefined; } export namespace AccessPoint { @@ -74,26 +85,9 @@ export namespace AccessPoint { * You can enable the configuration options in any combination. For more information about * when Amazon S3 considers a bucket or object public, see The Meaning of "Public" in the Amazon Simple Storage Service Developer * Guide.

                            + *

                            This is not supported for Amazon S3 on Outposts.

                            */ export interface PublicAccessBlockConfiguration { - /** - *

                            Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in - * this account. Setting this element to TRUE causes the following behavior:

                            - *
                              - *
                            • - *

                              PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public.

                              - *
                            • - *
                            • - *

                              PUT Object calls fail if the request includes a public ACL.

                              - *
                            • - *
                            • - *

                              PUT Bucket calls fail if the request includes a public ACL.

                              - *
                            • - *
                            - *

                            Enabling this setting doesn't affect existing policies or ACLs.

                            - */ - BlockPublicAcls?: boolean; - /** *

                            Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. * Setting this element to TRUE restricts access to buckets with public policies @@ -101,6 +95,7 @@ export interface PublicAccessBlockConfiguration { *

                            Enabling this setting doesn't affect previously stored bucket policies, except that public * and cross-account access within any public bucket policy, including non-public delegation to * specific accounts, is blocked.

                            + *

                            This is not supported for Amazon S3 on Outposts.

                            */ RestrictPublicBuckets?: boolean; @@ -109,15 +104,36 @@ export interface PublicAccessBlockConfiguration { * Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket * policy if the specified bucket policy allows public access.

                            *

                            Enabling this setting doesn't affect existing bucket policies.

                            + *

                            This is not supported for Amazon S3 on Outposts.

                            */ BlockPublicPolicy?: boolean; + /** + *

                            Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in + * this account. Setting this element to TRUE causes the following behavior:

                            + *
                              + *
                            • + *

                              PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public.

                              + *
                            • + *
                            • + *

                              PUT Object calls fail if the request includes a public ACL.

                              + *
                            • + *
                            • + *

                              PUT Bucket calls fail if the request includes a public ACL.

                              + *
                            • + *
                            + *

                            Enabling this setting doesn't affect existing policies or ACLs.

                            + *

                            This is not supported for Amazon S3 on Outposts.

                            + */ + BlockPublicAcls?: boolean; + /** *

                            Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this * element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this * account and any objects that they contain.

                            *

                            Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't * prevent new public ACLs from being set.

                            + *

                            This is not supported for Amazon S3 on Outposts.

                            */ IgnorePublicAcls?: boolean; } @@ -129,11 +145,6 @@ export namespace PublicAccessBlockConfiguration { } export interface CreateAccessPointRequest { - /** - *

                            The AWS account ID for the owner of the bucket for which you want to create an access point.

                            - */ - AccountId?: string; - /** *

                            The name you want to assign to this access point.

                            */ @@ -142,6 +153,9 @@ export interface CreateAccessPointRequest { /** *

                            If you include this field, Amazon S3 restricts access to this access point to requests from the * specified virtual private cloud (VPC).

                            + * + *

                            This is required for creating an access point for Amazon S3 on Outposts buckets.

                            + *
                            */ VpcConfiguration?: VpcConfiguration; @@ -150,13 +164,20 @@ export interface CreateAccessPointRequest { * You can enable the configuration options in any combination. For more information about * when Amazon S3 considers a bucket or object public, see The Meaning of "Public" in the Amazon Simple Storage Service Developer * Guide.

                            + *

                            This is not supported for Amazon S3 on Outposts.

                            */ PublicAccessBlockConfiguration?: PublicAccessBlockConfiguration; /** *

                            The name of the bucket that you want to associate this access point with.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            */ Bucket: string | undefined; + + /** + *

                            The AWS account ID for the owner of the bucket for which you want to create an access point.

                            + */ + AccountId?: string; } export namespace CreateAccessPointRequest { @@ -166,6 +187,9 @@ export namespace CreateAccessPointRequest { } export interface CreateAccessPointResult { + /** + *

                            The ARN of the access point.

                            + */ AccessPointArn?: string; } @@ -175,6 +199,11 @@ export namespace CreateAccessPointResult { }); } +/** + *

                            The requested Outposts bucket name is not available. The bucket namespace is shared by + * all users of the AWS Outposts in this Region. Select a different name and try + * again.

                            + */ export interface BucketAlreadyExists extends __SmithyException, $MetadataBearer { name: "BucketAlreadyExists"; $fault: "client"; @@ -186,6 +215,9 @@ export namespace BucketAlreadyExists { }); } +/** + *

                            The Outposts bucket you tried to create already exists, and you own it.

                            + */ export interface BucketAlreadyOwnedByYou extends __SmithyException, $MetadataBearer { name: "BucketAlreadyOwnedByYou"; $fault: "client"; @@ -212,7 +244,22 @@ export type BucketLocationConstraint = | "us-west-1" | "us-west-2"; +/** + *

                            The container for the bucket configuration.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ export interface CreateBucketConfiguration { + /** + *

                            Specifies the Region where the bucket will be created. + * If you are creating a bucket on the US East (N. Virginia) Region (us-east-1), + * you do not need to specify the location. + *

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ LocationConstraint?: BucketLocationConstraint | string; } @@ -223,16 +270,82 @@ export namespace CreateBucketConfiguration { } export interface CreateBucketRequest { - Bucket: string | undefined; - GrantFullControl?: string; + /** + *

                            Specifies whether you want S3 Object Lock to be enabled for the new bucket.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ + ObjectLockEnabledForBucket?: boolean; + + /** + *

                            Allows grantee to list the objects in the bucket.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ GrantRead?: string; - GrantReadACP?: string; + + /** + *

                            The canned ACL to apply to the bucket.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ ACL?: BucketCannedACL | string; + + /** + *

                            Allows grantee to create, overwrite, and delete any object in the bucket.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ GrantWrite?: string; - GrantWriteACP?: string; + + /** + *

                            The name of the bucket.

                            + */ + Bucket: string | undefined; + + /** + *

                            Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ + GrantFullControl?: string; + + /** + *

                            The configuration information for the bucket.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ CreateBucketConfiguration?: CreateBucketConfiguration; - ObjectLockEnabledForBucket?: boolean; + + /** + *

                            Allows grantee to read the bucket ACL.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ + GrantReadACP?: string; + + /** + *

                            The ID of the Outposts where the bucket is being created.

                            + * + *

                            This is required by Amazon S3 on Outposts buckets.

                            + *
                            + */ OutpostId?: string; + + /** + *

                            Allows grantee to write the ACL for the applicable bucket.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ + GrantWriteACP?: string; } export namespace CreateBucketRequest { @@ -242,8 +355,16 @@ export namespace CreateBucketRequest { } export interface CreateBucketResult { - BucketArn?: string; + /** + *

                            The location of the bucket.

                            + */ Location?: string; + + /** + *

                            The Amazon Resource Name (ARN) of the bucket.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ + BucketArn?: string; } export namespace CreateBucketResult { @@ -271,11 +392,6 @@ export namespace BadRequestException { *

                            Contains the information required to locate a manifest object.

                            */ export interface JobManifestLocation { - /** - *

                            The optional version ID to identify a specific version of the manifest object.

                            - */ - ObjectVersionId?: string; - /** *

                            The ETag for the specified manifest object.

                            */ @@ -285,6 +401,11 @@ export interface JobManifestLocation { *

                            The Amazon Resource Name (ARN) for a manifest object.

                            */ ObjectArn: string | undefined; + + /** + *

                            The optional version ID to identify a specific version of the manifest object.

                            + */ + ObjectVersionId?: string; } export namespace JobManifestLocation { @@ -310,14 +431,14 @@ export enum JobManifestFormat { */ export interface JobManifestSpec { /** - *

                            If the specified manifest object is in the S3BatchOperations_CSV_20180820 format, this element describes which columns contain the required data.

                            + *

                            Indicates which of the available formats the specified manifest uses.

                            */ - Fields?: (JobManifestFieldName | string)[]; + Format: JobManifestFormat | string | undefined; /** - *

                            Indicates which of the available formats the specified manifest uses.

                            + *

                            If the specified manifest object is in the S3BatchOperations_CSV_20180820 format, this element describes which columns contain the required data.

                            */ - Format: JobManifestFormat | string | undefined; + Fields?: (JobManifestFieldName | string)[]; } export namespace JobManifestSpec { @@ -377,12 +498,12 @@ export interface S3InitiateRestoreObjectOperation { /** *

                            */ - GlacierJobTier?: S3GlacierJobTier | string; + ExpirationInDays?: number; /** *

                            */ - ExpirationInDays?: number; + GlacierJobTier?: S3GlacierJobTier | string; } export namespace S3InitiateRestoreObjectOperation { @@ -404,12 +525,12 @@ export interface S3Grantee { /** *

                            */ - DisplayName?: string; + TypeIdentifier?: S3GranteeTypeIdentifier | string; /** *

                            */ - TypeIdentifier?: S3GranteeTypeIdentifier | string; + DisplayName?: string; /** *

                            @@ -438,12 +559,12 @@ export interface S3Grant { /** *

                            */ - Permission?: S3Permission | string; + Grantee?: S3Grantee; /** *

                            */ - Grantee?: S3Grantee; + Permission?: S3Permission | string; } export namespace S3Grant { @@ -480,12 +601,12 @@ export interface S3AccessControlList { /** *

                            */ - Owner: S3ObjectOwner | undefined; + Grants?: S3Grant[]; /** *

                            */ - Grants?: S3Grant[]; + Owner: S3ObjectOwner | undefined; } export namespace S3AccessControlList { @@ -559,32 +680,32 @@ export interface S3ObjectMetadata { /** *

                            */ - UserMetadata?: { [key: string]: string }; + ContentEncoding?: string; /** *

                            */ - ContentLanguage?: string; + ContentDisposition?: string; /** *

                            */ - ContentLength?: number; + ContentType?: string; /** *

                            */ - ContentEncoding?: string; + ContentLength?: number; /** *

                            */ - HttpExpiresDate?: Date; + CacheControl?: string; /** *

                            */ - ContentDisposition?: string; + HttpExpiresDate?: Date; /** *

                            @@ -594,22 +715,22 @@ export interface S3ObjectMetadata { /** *

                            */ - ContentMD5?: string; + UserMetadata?: { [key: string]: string }; /** *

                            */ - RequesterCharged?: boolean; + ContentMD5?: string; /** *

                            */ - CacheControl?: string; + ContentLanguage?: string; /** *

                            */ - ContentType?: string; + RequesterCharged?: boolean; } export namespace S3ObjectMetadata { @@ -663,25 +784,15 @@ export enum S3StorageClass { * API. For more information about the parameters for this operation, see PUT Object - Copy.

                            */ export interface S3CopyObjectOperation { - /** - *

                            The legal hold status to be applied to all objects in the Batch Operations job.

                            - */ - ObjectLockLegalHoldStatus?: S3ObjectLockLegalHoldStatus | string; - - /** - *

                            - */ - MetadataDirective?: S3MetadataDirective | string; - /** *

                            */ - StorageClass?: S3StorageClass | string; + SSEAwsKmsKeyId?: string; /** - *

                            + *

                            The retention mode to be applied to all objects in the Batch Operations job.

                            */ - SSEAwsKmsKeyId?: string; + ObjectLockMode?: S3ObjectLockMode | string; /** *

                            @@ -700,24 +811,24 @@ export interface S3CopyObjectOperation { ObjectLockRetainUntilDate?: Date; /** - *

                            + *

                            The legal hold status to be applied to all objects in the Batch Operations job.

                            */ - RequesterPays?: boolean; + ObjectLockLegalHoldStatus?: S3ObjectLockLegalHoldStatus | string; /** *

                            */ - NewObjectTagging?: S3Tag[]; + MetadataDirective?: S3MetadataDirective | string; /** - *

                            The retention mode to be applied to all objects in the Batch Operations job.

                            + *

                            */ - ObjectLockMode?: S3ObjectLockMode | string; + TargetKeyPrefix?: string; /** *

                            */ - ModifiedSinceConstraint?: Date; + TargetResource?: string; /** *

                            @@ -727,22 +838,32 @@ export interface S3CopyObjectOperation { /** *

                            */ - UnModifiedSinceConstraint?: Date; + CannedAccessControlList?: S3CannedAccessControlList | string; /** *

                            */ - CannedAccessControlList?: S3CannedAccessControlList | string; + NewObjectTagging?: S3Tag[]; /** *

                            */ - TargetKeyPrefix?: string; + ModifiedSinceConstraint?: Date; /** *

                            */ - TargetResource?: string; + UnModifiedSinceConstraint?: Date; + + /** + *

                            + */ + RequesterPays?: boolean; + + /** + *

                            + */ + StorageClass?: S3StorageClass | string; } export namespace S3CopyObjectOperation { @@ -826,18 +947,18 @@ export namespace S3Retention { * Amazon Simple Storage Service Developer Guide.

                            */ export interface S3SetObjectRetentionOperation { + /** + *

                            Indicates if the action should be applied to objects in the Batch Operations job even if they have Object Lock + * GOVERNANCE type in place.

                            + */ + BypassGovernanceRetention?: boolean; + /** *

                            Contains the Object Lock retention mode to be applied to all objects in the Batch Operations * job. For more information, see Using S3 Object Lock retention * with S3 Batch Operations in the Amazon Simple Storage Service Developer Guide.

                            */ Retention: S3Retention | undefined; - - /** - *

                            Indicates if the action should be applied to objects in the Batch Operations job even if they have Object Lock - * GOVERNANCE type in place.

                            - */ - BypassGovernanceRetention?: boolean; } export namespace S3SetObjectRetentionOperation { @@ -869,16 +990,6 @@ export namespace S3SetObjectTaggingOperation { * Amazon Simple Storage Service Developer Guide.

                            */ export interface JobOperation { - /** - *

                            Directs the specified job to execute a PUT Object tagging call on each object in the manifest.

                            - */ - S3PutObjectTagging?: S3SetObjectTaggingOperation; - - /** - *

                            Directs the specified job to execute a PUT Object acl call on each object in the manifest.

                            - */ - S3PutObjectAcl?: S3SetObjectAclOperation; - /** *

                            Contains the configuration for an S3 Object Lock legal hold operation that an * S3 Batch Operations job passes each object through to the underlying @@ -889,15 +1000,20 @@ export interface JobOperation { S3PutObjectLegalHold?: S3SetObjectLegalHoldOperation; /** - *

                            Directs the specified job to invoke an AWS Lambda function on each object in the manifest.

                            + *

                            Directs the specified job to run a PUT Copy object call on each object in the manifest.

                            */ - LambdaInvoke?: LambdaInvokeOperation; + S3PutObjectCopy?: S3CopyObjectOperation; /** - *

                            Directs the specified job to execute an Initiate Glacier Restore call on each object in the manifest.

                            + *

                            Directs the specified job to run an Initiate Glacier Restore call on each object in the manifest.

                            */ S3InitiateRestoreObject?: S3InitiateRestoreObjectOperation; + /** + *

                            Directs the specified job to run a PUT Object tagging call on each object in the manifest.

                            + */ + S3PutObjectTagging?: S3SetObjectTaggingOperation; + /** *

                            Contains the configuration parameters for the Object Lock retention action for an * S3 Batch Operations job. Batch Operations passes each value through to the underlying @@ -908,13 +1024,18 @@ export interface JobOperation { S3PutObjectRetention?: S3SetObjectRetentionOperation; /** - *

                            Directs the specified job to execute a PUT Copy object call on each object in the manifest.

                            + *

                            Directs the specified job to invoke an AWS Lambda function on each object in the manifest.

                            */ - S3PutObjectCopy?: S3CopyObjectOperation; -} + LambdaInvoke?: LambdaInvokeOperation; -export namespace JobOperation { - export const filterSensitiveLog = (obj: JobOperation): any => ({ + /** + *

                            Directs the specified job to run a PUT Object acl call on each object in the manifest.

                            + */ + S3PutObjectAcl?: S3SetObjectAclOperation; +} + +export namespace JobOperation { + export const filterSensitiveLog = (obj: JobOperation): any => ({ ...obj, }); } @@ -932,6 +1053,11 @@ export enum JobReportScope { *

                            Contains the configuration parameters for a job-completion report.

                            */ export interface JobReport { + /** + *

                            The format of the specified job-completion report.

                            + */ + Format?: JobReportFormat | string; + /** *

                            Indicates whether the job-completion report will include details of all tasks or only failed tasks.

                            */ @@ -944,20 +1070,15 @@ export interface JobReport { */ Prefix?: string; - /** - *

                            The Amazon Resource Name (ARN) for the bucket where specified job-completion report will be stored.

                            - */ - Bucket?: string; - /** *

                            Indicates whether the specified job will generate a job-completion report.

                            */ Enabled: boolean | undefined; /** - *

                            The format of the specified job-completion report.

                            + *

                            The Amazon Resource Name (ARN) for the bucket where specified job-completion report will be stored.

                            */ - Format?: JobReportFormat | string; + Bucket?: string; } export namespace JobReport { @@ -968,58 +1089,58 @@ export namespace JobReport { export interface CreateJobRequest { /** - *

                            An idempotency token to ensure that you don't accidentally submit the same request twice. You can use any string up to the maximum length.

                            + *

                            The AWS account ID that creates the job.

                            */ - ClientRequestToken?: string; + AccountId?: string; /** - *

                            The numerical priority for this job. Higher numbers indicate higher priority.

                            + *

                            Configuration parameters for the manifest.

                            */ - Priority: number | undefined; + Manifest: JobManifest | undefined; /** - *

                            A set of tags to associate with the S3 Batch Operations job. This is an optional parameter.

                            + *

                            A description for this job. You can use any string within the permitted length. Descriptions don't need to be unique and can be used for multiple jobs.

                            */ - Tags?: S3Tag[]; + Description?: string; /** - *

                            The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) role - * that Batch Operations will use to execute this job's operation on each object in the - * manifest.

                            + *

                            The operation that you want this job to perform on each object listed in the manifest. + * For more information about the available operations, see Operations in the + * Amazon Simple Storage Service Developer Guide.

                            */ - RoleArn: string | undefined; + Operation: JobOperation | undefined; /** - *

                            A description for this job. You can use any string within the permitted length. Descriptions don't need to be unique and can be used for multiple jobs.

                            + *

                            An idempotency token to ensure that you don't accidentally submit the same request twice. You can use any string up to the maximum length.

                            */ - Description?: string; + ClientRequestToken?: string; /** - *

                            Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console.

                            + *

                            The numerical priority for this job. Higher numbers indicate higher priority.

                            */ - ConfirmationRequired?: boolean; + Priority: number | undefined; /** - *

                            + *

                            Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console.

                            */ - AccountId?: string; + ConfirmationRequired?: boolean; /** - *

                            Configuration parameters for the manifest.

                            + *

                            Configuration parameters for the optional job-completion report.

                            */ - Manifest: JobManifest | undefined; + Report: JobReport | undefined; /** - *

                            The operation that you want this job to perform on each object listed in the manifest. - * For more information about the available operations, see Operations in the - * Amazon Simple Storage Service Developer Guide.

                            + *

                            A set of tags to associate with the S3 Batch Operations job. This is an optional parameter.

                            */ - Operation: JobOperation | undefined; + Tags?: S3Tag[]; /** - *

                            Configuration parameters for the optional job-completion report.

                            + *

                            The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) role + * that Batch Operations will use to run this job's operation on each object in the + * manifest.

                            */ - Report: JobReport | undefined; + RoleArn: string | undefined; } export namespace CreateJobRequest { @@ -1089,14 +1210,15 @@ export namespace TooManyRequestsException { export interface DeleteAccessPointRequest { /** - *

                            The name of the access point you want to delete.

                            + *

                            The account ID for the account that owns the specified access point.

                            */ - Name: string | undefined; + AccountId?: string; /** - *

                            The account ID for the account that owns the specified access point.

                            + *

                            The name of the access point you want to delete.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

                            */ - AccountId?: string; + Name: string | undefined; } export namespace DeleteAccessPointRequest { @@ -1113,6 +1235,7 @@ export interface DeleteAccessPointPolicyRequest { /** *

                            The name of the access point whose policy you want to delete.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

                            */ Name: string | undefined; } @@ -1124,7 +1247,15 @@ export namespace DeleteAccessPointPolicyRequest { } export interface DeleteBucketRequest { + /** + *

                            Specifies the bucket being deleted.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ Bucket: string | undefined; + + /** + *

                            The account ID that owns the Outposts bucket.

                            + */ AccountId?: string; } @@ -1135,8 +1266,16 @@ export namespace DeleteBucketRequest { } export interface DeleteBucketLifecycleConfigurationRequest { - Bucket: string | undefined; + /** + *

                            The account ID of the lifecycle configuration to delete.

                            + */ AccountId?: string; + + /** + *

                            The bucket ARN of the bucket.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ + Bucket: string | undefined; } export namespace DeleteBucketLifecycleConfigurationRequest { @@ -1146,8 +1285,16 @@ export namespace DeleteBucketLifecycleConfigurationRequest { } export interface DeleteBucketPolicyRequest { - Bucket: string | undefined; + /** + *

                            The account ID of the Outposts bucket.

                            + */ AccountId?: string; + + /** + *

                            The ARN of the bucket.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ + Bucket: string | undefined; } export namespace DeleteBucketPolicyRequest { @@ -1157,7 +1304,15 @@ export namespace DeleteBucketPolicyRequest { } export interface DeleteBucketTaggingRequest { + /** + *

                            The AWS account ID of the Outposts bucket tag set to be removed.

                            + */ AccountId?: string; + + /** + *

                            The bucket ARN that has the tag set to be removed.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ Bucket: string | undefined; } @@ -1224,14 +1379,14 @@ export namespace DeletePublicAccessBlockRequest { export interface DescribeJobRequest { /** - *

                            + *

                            The ID for the job whose information you want to retrieve.

                            */ - AccountId?: string; + JobId: string | undefined; /** - *

                            The ID for the job whose information you want to retrieve.

                            + *

                            */ - JobId: string | undefined; + AccountId?: string; } export namespace DescribeJobRequest { @@ -1262,13 +1417,13 @@ export namespace JobFailure { } /** - *

                            Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.

                            + *

                            Describes the total number of tasks that the specified job has started, the number of tasks that succeeded, and the number of tasks that failed.

                            */ export interface JobProgressSummary { /** *

                            */ - NumberOfTasksFailed?: number; + NumberOfTasksSucceeded?: number; /** *

                            @@ -1278,7 +1433,7 @@ export interface JobProgressSummary { /** *

                            */ - NumberOfTasksSucceeded?: number; + NumberOfTasksFailed?: number; } export namespace JobProgressSummary { @@ -1308,14 +1463,15 @@ export enum JobStatus { */ export interface JobDescriptor { /** - *

                            The Amazon Resource Name (ARN) for this job.

                            + *

                            The configuration information for the specified job's manifest object.

                            */ - JobArn?: string; + Manifest?: JobManifest; /** - *

                            The configuration information for the specified job's manifest object.

                            + *

                            Describes the total number of tasks that the specified job has run, the number of tasks + * that succeeded, and the number of tasks that failed.

                            */ - Manifest?: JobManifest; + ProgressSummary?: JobProgressSummary; /** *

                            Indicates whether confirmation is required before Amazon S3 begins running the specified job. Confirmation is required only for jobs created through the Amazon S3 console.

                            @@ -1323,76 +1479,76 @@ export interface JobDescriptor { ConfirmationRequired?: boolean; /** - *

                            The timestamp when this job was suspended, if it has been suspended.

                            + *

                            The Amazon Resource Name (ARN) for this job.

                            */ - SuspendedDate?: Date; + JobArn?: string; /** - *

                            A timestamp indicating when this job was created.

                            + *

                            The priority of the specified job.

                            */ - CreationTime?: Date; + Priority?: number; /** - *

                            The ID for the specified job.

                            + *

                            Contains the configuration information for the job-completion report if you requested one in the Create Job request.

                            */ - JobId?: string; + Report?: JobReport; /** - *

                            A timestamp indicating when this job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.

                            + *

                            The current status of the specified job.

                            */ - TerminationDate?: Date; + Status?: JobStatus | string; /** - *

                            The description for this job, if one was provided in this job's Create Job request.

                            + *

                            A timestamp indicating when this job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.

                            */ - Description?: string; + TerminationDate?: Date; /** - *

                            The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) role - * assigned to execute the tasks for this job.

                            + *

                            The reason why the specified job was suspended. A job is only suspended if you create it through the Amazon S3 console. When you create the job, it enters + * the Suspended state to await confirmation before running. After you confirm the job, it automatically exits the Suspended state.

                            */ - RoleArn?: string; + SuspendedCause?: string; /** - *

                            If the specified job failed, this field contains information describing the failure.

                            + *

                            The description for this job, if one was provided in this job's Create Job request.

                            */ - FailureReasons?: JobFailure[]; + Description?: string; /** - *

                            + *

                            The operation that the specified job is configured to run on the objects listed in the manifest.

                            */ - StatusUpdateReason?: string; + Operation?: JobOperation; /** - *

                            The priority of the specified job.

                            + *

                            The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) role + * assigned to run the tasks for this job.

                            */ - Priority?: number; + RoleArn?: string; /** - *

                            The reason why the specified job was suspended. A job is only suspended if you create it through the Amazon S3 console. When you create the job, it enters - * the Suspended state to await confirmation before running. After you confirm the job, it automatically exits the Suspended state.

                            + *

                            The timestamp when this job was suspended, if it has been suspended.

                            */ - SuspendedCause?: string; + SuspendedDate?: Date; /** - *

                            Contains the configuration information for the job-completion report if you requested one in the Create Job request.

                            + *

                            If the specified job failed, this field contains information describing the failure.

                            */ - Report?: JobReport; + FailureReasons?: JobFailure[]; /** - *

                            The current status of the specified job.

                            + *

                            The reason for updating the job.

                            */ - Status?: JobStatus | string; + StatusUpdateReason?: string; /** - *

                            The operation that the specified job is configured to execute on the objects listed in the manifest.

                            + *

                            A timestamp indicating when this job was created.

                            */ - Operation?: JobOperation; + CreationTime?: Date; /** - *

                            Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.

                            + *

                            The ID for the specified job.

                            */ - ProgressSummary?: JobProgressSummary; + JobId?: string; } export namespace JobDescriptor { @@ -1417,6 +1573,7 @@ export namespace DescribeJobResult { export interface GetAccessPointRequest { /** *

                            The name of the access point whose configuration information you want to retrieve.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

                            */ Name: string | undefined; @@ -1434,14 +1591,14 @@ export namespace GetAccessPointRequest { export interface GetAccessPointResult { /** - *

                            Indicates whether this access point allows access from the public internet. If - * VpcConfiguration is specified for this access point, then - * NetworkOrigin is VPC, and the access point doesn't allow access from - * the public internet. Otherwise, NetworkOrigin is Internet, and - * the access point allows access from the public internet, subject to the access point and bucket access - * policies.

                            + *

                            The name of the specified access point.

                            */ - NetworkOrigin?: NetworkOrigin | string; + Name?: string; + + /** + *

                            Contains the virtual private cloud (VPC) configuration for the specified access point.

                            + */ + VpcConfiguration?: VpcConfiguration; /** *

                            The name of the bucket associated with the specified access point.

                            @@ -1453,23 +1610,25 @@ export interface GetAccessPointResult { */ CreationDate?: Date; + /** + *

                            Indicates whether this access point allows access from the public internet. If + * VpcConfiguration is specified for this access point, then + * NetworkOrigin is VPC, and the access point doesn't allow access from + * the public internet. Otherwise, NetworkOrigin is Internet, and + * the access point allows access from the public internet, subject to the access point and bucket access + * policies.

                            + *

                            This will always be true for an Amazon S3 on Outposts access point

                            + */ + NetworkOrigin?: NetworkOrigin | string; + /** *

                            The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. * You can enable the configuration options in any combination. For more information about * when Amazon S3 considers a bucket or object public, see The Meaning of "Public" in the Amazon Simple Storage Service Developer * Guide.

                            + *

                            This is not supported for Amazon S3 on Outposts.

                            */ PublicAccessBlockConfiguration?: PublicAccessBlockConfiguration; - - /** - *

                            The name of the specified access point.

                            - */ - Name?: string; - - /** - *

                            Contains the virtual private cloud (VPC) configuration for the specified access point.

                            - */ - VpcConfiguration?: VpcConfiguration; } export namespace GetAccessPointResult { @@ -1481,6 +1640,7 @@ export namespace GetAccessPointResult { export interface GetAccessPointPolicyRequest { /** *

                            The name of the access point whose policy you want to retrieve.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

                            */ Name: string | undefined; @@ -1511,14 +1671,14 @@ export namespace GetAccessPointPolicyResult { export interface GetAccessPointPolicyStatusRequest { /** - *

                            The account ID for the account that owns the specified access point.

                            + *

                            The name of the access point whose policy status you want to retrieve.

                            */ - AccountId?: string; + Name: string | undefined; /** - *

                            The name of the access point whose policy status you want to retrieve.

                            + *

                            The account ID for the account that owns the specified access point.

                            */ - Name: string | undefined; + AccountId?: string; } export namespace GetAccessPointPolicyStatusRequest { @@ -1560,7 +1720,15 @@ export namespace GetAccessPointPolicyStatusResult { } export interface GetBucketRequest { + /** + *

                            The AWS account ID of the Outposts bucket.

                            + */ AccountId?: string; + + /** + *

                            The ARN of the bucket.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ Bucket: string | undefined; } @@ -1571,9 +1739,20 @@ export namespace GetBucketRequest { } export interface GetBucketResult { + /** + *

                            The creation date of the Outposts bucket.

                            + */ + CreationDate?: Date; + + /** + *

                            + */ PublicAccessBlockEnabled?: boolean; + + /** + *

                            The Outposts bucket requested.

                            + */ Bucket?: string; - CreationDate?: Date; } export namespace GetBucketResult { @@ -1583,8 +1762,16 @@ export namespace GetBucketResult { } export interface GetBucketLifecycleConfigurationRequest { - AccountId?: string; + /** + *

                            The Amazon Resource Name (ARN) of the bucket.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ Bucket: string | undefined; + + /** + *

                            The AWS account ID of the Outposts bucket.

                            + */ + AccountId?: string; } export namespace GetBucketLifecycleConfigurationRequest { @@ -1593,10 +1780,27 @@ export namespace GetBucketLifecycleConfigurationRequest { }); } +/** + *

                            The container of the Outposts bucket lifecycle expiration.

                            + */ export interface LifecycleExpiration { + /** + *

                            Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set + * to true, the delete marker will be expired. If set to false, the policy takes no action. + * This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

                            + */ ExpiredObjectDeleteMarker?: boolean; - Days?: number; + + /** + *

                            Indicates at what date the object is to be deleted. Should be in GMT ISO 8601 + * format.

                            + */ Date?: Date; + + /** + *

                            Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

                            + */ + Days?: number; } export namespace LifecycleExpiration { @@ -1605,24 +1809,44 @@ export namespace LifecycleExpiration { }); } +/** + *

                            The container for the Outposts bucket lifecycle rule and operator.

                            + */ export interface LifecycleRuleAndOperator { - Prefix?: string; + /** + *

                            All of these tags must exist in the object's tag set in order for the rule to apply.

                            + */ Tags?: S3Tag[]; -} -export namespace LifecycleRuleAndOperator { - export const filterSensitiveLog = (obj: LifecycleRuleAndOperator): any => ({ + /** + *

                            Prefix identifying one or more objects to which the rule applies.

                            + */ + Prefix?: string; +} + +export namespace LifecycleRuleAndOperator { + export const filterSensitiveLog = (obj: LifecycleRuleAndOperator): any => ({ ...obj, }); } +/** + *

                            The container for the filter of the lifecycle rule.

                            + */ export interface LifecycleRuleFilter { /** *

                            */ Tag?: S3Tag; + /** + *

                            Prefix identifying one or more objects to which the rule applies.

                            + */ Prefix?: string; + + /** + *

                            The container for the AND condition for the lifecycle rule.

                            + */ And?: LifecycleRuleAndOperator; } @@ -1632,7 +1856,16 @@ export namespace LifecycleRuleFilter { }); } +/** + *

                            The container of the noncurrent version expiration.

                            + */ export interface NoncurrentVersionExpiration { + /** + *

                            Specifies the number of days an object is noncurrent before Amazon S3 can perform the + * associated action. For information about the noncurrent days calculations, see How + * Amazon S3 Calculates When an Object Became Noncurrent in the Amazon + * Simple Storage Service Developer Guide.

                            + */ NoncurrentDays?: number; } @@ -1644,9 +1877,22 @@ export namespace NoncurrentVersionExpiration { export type TransitionStorageClass = "DEEP_ARCHIVE" | "GLACIER" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "STANDARD_IA"; +/** + *

                            The container for the noncurrent version transition.

                            + */ export interface NoncurrentVersionTransition { - StorageClass?: TransitionStorageClass | string; + /** + *

                            Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. + * For information about the noncurrent days calculations, see + * + * How Amazon S3 Calculates How Long an Object Has Been Noncurrent in the Amazon Simple Storage Service Developer Guide.

                            + */ NoncurrentDays?: number; + + /** + *

                            The class of storage used to store the object.

                            + */ + StorageClass?: TransitionStorageClass | string; } export namespace NoncurrentVersionTransition { @@ -1657,9 +1903,28 @@ export namespace NoncurrentVersionTransition { export type ExpirationStatus = "Disabled" | "Enabled"; +/** + *

                            Specifies when an object transitions to a specified storage class. For more information + * about Amazon S3 Lifecycle configuration rules, see + * Transitioning Objects Using Amazon S3 Lifecycle in the + * Amazon Simple Storage Service Developer Guide.

                            + */ export interface Transition { - StorageClass?: TransitionStorageClass | string; + /** + *

                            Indicates when objects are transitioned to the specified storage class. + * The date value must be in ISO 8601 format. The time is always midnight UTC.

                            + */ Date?: Date; + + /** + *

                            The storage class to which you want the object to transition.

                            + */ + StorageClass?: TransitionStorageClass | string; + + /** + *

                            Indicates the number of days after creation when objects are transitioned to the specified storage class. + * The value must be a positive integer.

                            + */ Days?: number; } @@ -1669,15 +1934,66 @@ export namespace Transition { }); } +/** + *

                            The container for the Outposts bucket lifecycle rule.

                            + */ export interface LifecycleRule { - Status: ExpirationStatus | string | undefined; - NoncurrentVersionExpiration?: NoncurrentVersionExpiration; - AbortIncompleteMultipartUpload?: AbortIncompleteMultipartUpload; - Transitions?: Transition[]; + /** + *

                            Unique identifier for the rule. The value cannot be longer than 255 characters.

                            + */ ID?: string; - NoncurrentVersionTransitions?: NoncurrentVersionTransition[]; - Expiration?: LifecycleExpiration; + + /** + *

                            The container for the filter of lifecycle rule.

                            + */ Filter?: LifecycleRuleFilter; + + /** + *

                            Specifies the expiration for the lifecycle of the object in the form of date, days and, whether the object + * has a delete marker.

                            + */ + Expiration?: LifecycleExpiration; + + /** + *

                            Specifies when an Amazon S3 object transitions to a specified storage class.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ + Transitions?: Transition[]; + + /** + *

                            The noncurrent version expiration of the lifecycle rule.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ + NoncurrentVersionExpiration?: NoncurrentVersionExpiration; + + /** + *

                            Specifies the transition rule for the lifecycle rule that describes when noncurrent + * objects transition to a specific storage class. If your bucket is versioning-enabled (or + * versioning is suspended), you can set this action to request that Amazon S3 transition + * noncurrent object versions to a specific storage class at a set period in the object's + * lifetime.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ + NoncurrentVersionTransitions?: NoncurrentVersionTransition[]; + + /** + *

                            If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

                            + */ + Status: ExpirationStatus | string | undefined; + + /** + *

                            Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 + * waits before permanently removing all parts of the upload. For more information, see + * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy in the + * Amazon Simple Storage Service Developer Guide.

                            + */ + AbortIncompleteMultipartUpload?: AbortIncompleteMultipartUpload; } export namespace LifecycleRule { @@ -1687,6 +2003,9 @@ export namespace LifecycleRule { } export interface GetBucketLifecycleConfigurationResult { + /** + *

                            Container for the lifecycle rule of the Outposts bucket.

                            + */ Rules?: LifecycleRule[]; } @@ -1697,8 +2016,16 @@ export namespace GetBucketLifecycleConfigurationResult { } export interface GetBucketPolicyRequest { - Bucket: string | undefined; + /** + *

                            The AWS account ID of the Outposts bucket.

                            + */ AccountId?: string; + + /** + *

                            The ARN of the bucket.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ + Bucket: string | undefined; } export namespace GetBucketPolicyRequest { @@ -1708,6 +2035,9 @@ export namespace GetBucketPolicyRequest { } export interface GetBucketPolicyResult { + /** + *

                            The policy of the Outposts bucket.

                            + */ Policy?: string; } @@ -1718,7 +2048,15 @@ export namespace GetBucketPolicyResult { } export interface GetBucketTaggingRequest { + /** + *

                            The ARN of the bucket.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ Bucket: string | undefined; + + /** + *

                            The AWS account ID of the Outposts bucket.

                            + */ AccountId?: string; } @@ -1729,6 +2067,9 @@ export namespace GetBucketTaggingRequest { } export interface GetBucketTaggingResult { + /** + *

                            The tags set of the Outposts bucket.

                            + */ TagSet: S3Tag[] | undefined; } @@ -1814,13 +2155,9 @@ export namespace NoSuchPublicAccessBlockConfiguration { } export interface ListAccessPointsRequest { - /** - *

                            The AWS account ID for owner of the bucket whose access points you want to list.

                            - */ - AccountId?: string; - /** *

                            The name of the bucket whose associated access points you want to list.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            */ Bucket?: string; @@ -1832,6 +2169,11 @@ export interface ListAccessPointsRequest { */ MaxResults?: number; + /** + *

                            The AWS account ID for owner of the bucket whose access points you want to list.

                            + */ + AccountId?: string; + /** *

                            A continuation token. If a previous call to ListAccessPoints returned a continuation token in the NextToken field, then providing that value here causes Amazon S3 to retrieve the next page of results.

                            */ @@ -1846,17 +2188,17 @@ export namespace ListAccessPointsRequest { export interface ListAccessPointsResult { /** - *

                            Contains identification and configuration information for one or more access points - * associated with the specified bucket.

                            + *

                            If the specified bucket has more access points than can be returned in one call to this + * API, this field contains a continuation token that you can provide in subsequent calls to + * this API to retrieve additional access points.

                            */ - AccessPointList?: AccessPoint[]; + NextToken?: string; /** - *

                            If the specified bucket has more access points than can be returned in one call to this - * API, then this field contains a continuation token that you can provide in subsequent calls - * to this API to retrieve additional access points.

                            + *

                            Contains identification and configuration information for one or more access points + * associated with the specified bucket.

                            */ - NextToken?: string; + AccessPointList?: AccessPoint[]; } export namespace ListAccessPointsResult { @@ -1897,24 +2239,24 @@ export namespace InvalidRequestException { export interface ListJobsRequest { /** - *

                            A pagination token to request the next page of results. Use the token that Amazon S3 returned in the NextToken element of the ListJobsResult from the previous List Jobs request.

                            + *

                            The List Jobs request returns jobs that match the statuses listed in this element.

                            */ - NextToken?: string; + JobStatuses?: (JobStatus | string)[]; /** - *

                            + *

                            The maximum number of jobs that Amazon S3 will include in the List Jobs response. If there are more jobs than this number, the response will include a pagination token in the NextToken field to enable you to retrieve the next page of results.

                            */ - AccountId?: string; + MaxResults?: number; /** - *

                            The maximum number of jobs that Amazon S3 will include in the List Jobs response. If there are more jobs than this number, the response will include a pagination token in the NextToken field to enable you to retrieve the next page of results.

                            + *

                            A pagination token to request the next page of results. Use the token that Amazon S3 returned in the NextToken element of the ListJobsResult from the previous List Jobs request.

                            */ - MaxResults?: number; + NextToken?: string; /** - *

                            The List Jobs request returns jobs that match the statuses listed in this element.

                            + *

                            */ - JobStatuses?: (JobStatus | string)[]; + AccountId?: string; } export namespace ListJobsRequest { @@ -1937,30 +2279,21 @@ export enum OperationName { *

                            Contains the configuration and status information for a single job retrieved as part of a job list.

                            */ export interface JobListDescriptor { - /** - *

                            Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.

                            - */ - ProgressSummary?: JobProgressSummary; - /** *

                            The ID for the specified job.

                            */ JobId?: string; /** - *

                            A timestamp indicating when the specified job was created.

                            - */ - CreationTime?: Date; - - /** - *

                            A timestamp indicating when the specified job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.

                            + *

                            The current priority for the specified job.

                            */ - TerminationDate?: Date; + Priority?: number; /** - *

                            The specified job's current status.

                            + *

                            Describes the total number of tasks that the specified job has run, the number of tasks + * that succeeded, and the number of tasks that failed.

                            */ - Status?: JobStatus | string; + ProgressSummary?: JobProgressSummary; /** *

                            The user-specified description that was included in the specified job's Create Job request.

                            @@ -1973,9 +2306,19 @@ export interface JobListDescriptor { Operation?: OperationName | string; /** - *

                            The current priority for the specified job.

                            + *

                            A timestamp indicating when the specified job was created.

                            */ - Priority?: number; + CreationTime?: Date; + + /** + *

                            A timestamp indicating when the specified job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.

                            + */ + TerminationDate?: Date; + + /** + *

                            The specified job's current status.

                            + */ + Status?: JobStatus | string; } export namespace JobListDescriptor { @@ -2004,10 +2347,28 @@ export namespace ListJobsResult { } export interface ListRegionalBucketsRequest { + /** + *

                            The AWS account ID of the Outposts bucket.

                            + */ AccountId?: string; + + /** + *

                            + */ + MaxResults?: number; + + /** + *

                            The ID of the AWS Outposts.

                            + * + *

                            This is required by Amazon S3 on Outposts buckets.

                            + *
                            + */ OutpostId?: string; + + /** + *

                            + */ NextToken?: string; - MaxResults?: number; } export namespace ListRegionalBucketsRequest { @@ -2016,12 +2377,34 @@ export namespace ListRegionalBucketsRequest { }); } +/** + *

                            The container for the regional bucket.

                            + */ export interface RegionalBucket { + /** + *

                            + */ + PublicAccessBlockEnabled: boolean | undefined; + + /** + *

                            + */ + Bucket: string | undefined; + + /** + *

                            The Amazon Resource Name (ARN) for the regional bucket.

                            + */ BucketArn?: string; - CreationDate: Date | undefined; + + /** + *

                            The AWS Outposts ID of the regional bucket.

                            + */ OutpostId?: string; - Bucket: string | undefined; - PublicAccessBlockEnabled: boolean | undefined; + + /** + *

                            The creation date of the regional bucket

                            + */ + CreationDate: Date | undefined; } export namespace RegionalBucket { @@ -2031,8 +2414,19 @@ export namespace RegionalBucket { } export interface ListRegionalBucketsResult { - RegionalBucketList?: RegionalBucket[]; + /** + *

                            + * NextToken is sent when isTruncated is true, which means + * there are more buckets that can be listed. The next list requests to Amazon S3 + * can be continued with this NextToken. + * NextToken is obfuscated and is not a real key.

                            + */ NextToken?: string; + + /** + *

                            + */ + RegionalBucketList?: RegionalBucket[]; } export namespace ListRegionalBucketsResult { @@ -2042,13 +2436,9 @@ export namespace ListRegionalBucketsResult { } export interface PutAccessPointPolicyRequest { - /** - *

                            The AWS account ID for owner of the bucket associated with the specified access point.

                            - */ - AccountId?: string; - /** *

                            The name of the access point that you want to associate with the specified policy.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

                            */ Name: string | undefined; @@ -2056,6 +2446,11 @@ export interface PutAccessPointPolicyRequest { *

                            The policy that you want to apply to the specified access point. For more information about access point policies, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.

                            */ Policy: string | undefined; + + /** + *

                            The AWS account ID for owner of the bucket associated with the specified access point.

                            + */ + AccountId?: string; } export namespace PutAccessPointPolicyRequest { @@ -2064,7 +2459,13 @@ export namespace PutAccessPointPolicyRequest { }); } +/** + *

                            The container for the Outposts bucket lifecycle configuration.

                            + */ export interface LifecycleConfiguration { + /** + *

                            A lifecycle rule for individual objects in an Outposts bucket.

                            + */ Rules?: LifecycleRule[]; } @@ -2075,8 +2476,19 @@ export namespace LifecycleConfiguration { } export interface PutBucketLifecycleConfigurationRequest { + /** + *

                            The name of the bucket for which to set the configuration.

                            + */ Bucket: string | undefined; + + /** + *

                            The AWS account ID of the Outposts bucket.

                            + */ AccountId?: string; + + /** + *

                            Container for lifecycle rules. You can add as many as 1,000 rules.

                            + */ LifecycleConfiguration?: LifecycleConfiguration; } @@ -2087,10 +2499,29 @@ export namespace PutBucketLifecycleConfigurationRequest { } export interface PutBucketPolicyRequest { - Policy: string | undefined; + /** + *

                            The AWS account ID of the Outposts bucket.

                            + */ AccountId?: string; - ConfirmRemoveSelfBucketAccess?: boolean; + + /** + *

                            The ARN of the bucket.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ Bucket: string | undefined; + + /** + *

                            Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future.

                            + * + *

                            This is not supported by Amazon S3 on Outposts buckets.

                            + *
                            + */ + ConfirmRemoveSelfBucketAccess?: boolean; + + /** + *

                            The bucket policy as a JSON document.

                            + */ + Policy: string | undefined; } export namespace PutBucketPolicyRequest { @@ -2099,7 +2530,13 @@ export namespace PutBucketPolicyRequest { }); } +/** + *

                            + */ export interface Tagging { + /** + *

                            A collection for a set of tags.

                            + */ TagSet: S3Tag[] | undefined; } @@ -2110,9 +2547,21 @@ export namespace Tagging { } export interface PutBucketTaggingRequest { - Bucket: string | undefined; - AccountId?: string; + /** + *

                            + */ Tagging: Tagging | undefined; + + /** + *

                            The AWS account ID of the Outposts bucket.

                            + */ + AccountId?: string; + + /** + *

                            The Amazon Resource Name (ARN) of the bucket.

                            + *

                            For Amazon S3 on Outposts specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

                            + */ + Bucket: string | undefined; } export namespace PutBucketTaggingRequest { @@ -2122,11 +2571,6 @@ export namespace PutBucketTaggingRequest { } export interface PutJobTaggingRequest { - /** - *

                            The ID for the S3 Batch Operations job whose tags you want to replace.

                            - */ - JobId: string | undefined; - /** *

                            The AWS account ID associated with the S3 Batch Operations job.

                            */ @@ -2136,6 +2580,11 @@ export interface PutJobTaggingRequest { *

                            The set of tags to associate with the S3 Batch Operations job.

                            */ Tags: S3Tag[] | undefined; + + /** + *

                            The ID for the S3 Batch Operations job whose tags you want to replace.

                            + */ + JobId: string | undefined; } export namespace PutJobTaggingRequest { @@ -2168,17 +2617,17 @@ export namespace TooManyTagsException { } export interface PutPublicAccessBlockRequest { - /** - *

                            The account ID for the AWS account whose PublicAccessBlock configuration you want - * to set.

                            - */ - AccountId?: string; - /** *

                            The PublicAccessBlock configuration that you want to apply to the specified AWS * account.

                            */ PublicAccessBlockConfiguration: PublicAccessBlockConfiguration | undefined; + + /** + *

                            The account ID for the AWS account whose PublicAccessBlock configuration you want + * to set.

                            + */ + AccountId?: string; } export namespace PutPublicAccessBlockRequest { @@ -2189,14 +2638,14 @@ export namespace PutPublicAccessBlockRequest { export interface UpdateJobPriorityRequest { /** - *

                            + *

                            The ID for the job whose priority you want to update.

                            */ - AccountId?: string; + JobId: string | undefined; /** - *

                            The ID for the job whose priority you want to update.

                            + *

                            */ - JobId: string | undefined; + AccountId?: string; /** *

                            The priority you want to assign to this job.

                            @@ -2277,6 +2726,11 @@ export namespace UpdateJobStatusRequest { } export interface UpdateJobStatusResult { + /** + *

                            The current status for the specified job.

                            + */ + Status?: JobStatus | string; + /** *

                            The reason that the specified job's status was updated.

                            */ @@ -2286,11 +2740,6 @@ export interface UpdateJobStatusResult { *

                            The ID for the job whose status was updated.

                            */ JobId?: string; - - /** - *

                            The current status for the specified job.

                            - */ - Status?: JobStatus | string; } export namespace UpdateJobStatusResult { diff --git a/clients/client-s3-control/protocols/Aws_restXml.ts b/clients/client-s3-control/protocols/Aws_restXml.ts index f6083c4142f6..7a10c4425931 100644 --- a/clients/client-s3-control/protocols/Aws_restXml.ts +++ b/clients/client-s3-control/protocols/Aws_restXml.ts @@ -210,16 +210,16 @@ export const serializeAws_restXmlCreateBucketCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", - ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), - ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), - ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), - ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), - ...(isSerializableHeaderValue(input.GrantWrite) && { "x-amz-grant-write": input.GrantWrite! }), - ...(isSerializableHeaderValue(input.GrantWriteACP) && { "x-amz-grant-write-acp": input.GrantWriteACP! }), ...(isSerializableHeaderValue(input.ObjectLockEnabledForBucket) && { "x-amz-bucket-object-lock-enabled": input.ObjectLockEnabledForBucket!.toString(), }), + ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), + ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), + ...(isSerializableHeaderValue(input.GrantWrite) && { "x-amz-grant-write": input.GrantWrite! }), + ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), + ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), ...(isSerializableHeaderValue(input.OutpostId) && { "x-amz-outpost-id": input.OutpostId! }), + ...(isSerializableHeaderValue(input.GrantWriteACP) && { "x-amz-grant-write-acp": input.GrantWriteACP! }), }; let resolvedPath = "/v20180820/bucket/{Bucket}"; if (input.Bucket !== undefined) { @@ -314,10 +314,21 @@ export const serializeAws_restXmlCreateJobCommand = async ( bodyNode.addChildNode(containerNode); } body += bodyNode.toString(); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "{AccountId}." + resolvedHostname; + if (input.AccountId === undefined) { + throw new Error("Empty value provided for input host prefix: AccountId."); + } + resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId!); + 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", headers, @@ -597,10 +608,21 @@ export const serializeAws_restXmlDeleteJobTaggingCommand = async ( throw new Error("No value provided for input HTTP label: JobId."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "{AccountId}." + resolvedHostname; + if (input.AccountId === undefined) { + throw new Error("Empty value provided for input host prefix: AccountId."); + } + resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId!); + 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, @@ -661,10 +683,21 @@ export const serializeAws_restXmlDescribeJobCommand = async ( throw new Error("No value provided for input HTTP label: JobId."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "{AccountId}." + resolvedHostname; + if (input.AccountId === undefined) { + throw new Error("Empty value provided for input host prefix: AccountId."); + } + resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId!); + 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, @@ -986,10 +1019,21 @@ export const serializeAws_restXmlGetJobTaggingCommand = async ( throw new Error("No value provided for input HTTP label: JobId."); } let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "{AccountId}." + resolvedHostname; + if (input.AccountId === undefined) { + throw new Error("Empty value provided for input host prefix: AccountId."); + } + resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId!); + 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, @@ -1080,15 +1124,26 @@ export const serializeAws_restXmlListJobsCommand = async ( }; let resolvedPath = "/v20180820/jobs"; const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), ...(input.JobStatuses !== undefined && { jobStatuses: (input.JobStatuses || []).map((_entry) => _entry) }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "{AccountId}." + resolvedHostname; + if (input.AccountId === undefined) { + throw new Error("Empty value provided for input host prefix: AccountId."); + } + resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId!); + 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, @@ -1109,8 +1164,8 @@ export const serializeAws_restXmlListRegionalBucketsCommand = async ( }; let resolvedPath = "/v20180820/bucket"; const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; let { hostname: resolvedHostname } = await context.endpoint(); @@ -1369,10 +1424,21 @@ export const serializeAws_restXmlPutJobTaggingCommand = async ( bodyNode.addChildNode(containerNode); } body += bodyNode.toString(); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "{AccountId}." + resolvedHostname; + if (input.AccountId === undefined) { + throw new Error("Empty value provided for input host prefix: AccountId."); + } + resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId!); + 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, @@ -1443,10 +1509,21 @@ export const serializeAws_restXmlUpdateJobPriorityCommand = async ( ...(input.Priority !== undefined && { priority: input.Priority.toString() }), }; let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "{AccountId}." + resolvedHostname; + if (input.AccountId === undefined) { + throw new Error("Empty value provided for input host prefix: AccountId."); + } + resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId!); + 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", headers, @@ -1479,10 +1556,21 @@ export const serializeAws_restXmlUpdateJobStatusCommand = async ( ...(input.StatusUpdateReason !== undefined && { statusUpdateReason: input.StatusUpdateReason }), }; let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "{AccountId}." + resolvedHostname; + if (input.AccountId === undefined) { + throw new Error("Empty value provided for input host prefix: AccountId."); + } + resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId!); + 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", headers, @@ -2463,8 +2551,8 @@ export const deserializeAws_restXmlGetBucketTaggingCommand = async ( if (data.TagSet === "") { contents.TagSet = []; } - if (data["TagSet"] !== undefined && data["TagSet"]["Tag"] !== undefined) { - contents.TagSet = deserializeAws_restXmlS3TagSet(__getArrayIfSingleItem(data["TagSet"]["Tag"]), context); + if (data["TagSet"] !== undefined && data["TagSet"]["member"] !== undefined) { + contents.TagSet = deserializeAws_restXmlS3TagSet(__getArrayIfSingleItem(data["TagSet"]["member"]), context); } return Promise.resolve(contents); }; @@ -2513,8 +2601,8 @@ export const deserializeAws_restXmlGetJobTaggingCommand = async ( if (data.Tags === "") { contents.Tags = []; } - if (data["Tags"] !== undefined && data["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_restXmlS3TagSet(__getArrayIfSingleItem(data["Tags"]["Tag"]), context); + if (data["Tags"] !== undefined && data["Tags"]["member"] !== undefined) { + contents.Tags = deserializeAws_restXmlS3TagSet(__getArrayIfSingleItem(data["Tags"]["member"]), context); } return Promise.resolve(contents); }; @@ -3537,12 +3625,6 @@ const serializeAws_restXmlJobManifestFieldList = ( const serializeAws_restXmlJobManifestLocation = (input: JobManifestLocation, context: __SerdeContext): any => { const bodyNode = new __XmlNode("JobManifestLocation"); - if (input.ObjectVersionId !== undefined) { - const node = new __XmlNode("S3ObjectVersionId") - .addChildNode(new __XmlText(input.ObjectVersionId)) - .withName("ObjectVersionId"); - bodyNode.addChildNode(node); - } if (input.ETag !== undefined) { const node = new __XmlNode("NonEmptyMaxLength1024String").addChildNode(new __XmlText(input.ETag)).withName("ETag"); bodyNode.addChildNode(node); @@ -3551,11 +3633,21 @@ const serializeAws_restXmlJobManifestLocation = (input: JobManifestLocation, con const node = new __XmlNode("S3KeyArnString").addChildNode(new __XmlText(input.ObjectArn)).withName("ObjectArn"); bodyNode.addChildNode(node); } + if (input.ObjectVersionId !== undefined) { + const node = new __XmlNode("S3ObjectVersionId") + .addChildNode(new __XmlText(input.ObjectVersionId)) + .withName("ObjectVersionId"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlJobManifestSpec = (input: JobManifestSpec, context: __SerdeContext): any => { const bodyNode = new __XmlNode("JobManifestSpec"); + if (input.Format !== undefined) { + const node = new __XmlNode("JobManifestFormat").addChildNode(new __XmlText(input.Format)).withName("Format"); + bodyNode.addChildNode(node); + } if (input.Fields !== undefined) { const nodes = serializeAws_restXmlJobManifestFieldList(input.Fields, context); const containerNode = new __XmlNode("Fields"); @@ -3564,33 +3656,19 @@ const serializeAws_restXmlJobManifestSpec = (input: JobManifestSpec, context: __ }); bodyNode.addChildNode(containerNode); } - if (input.Format !== undefined) { - const node = new __XmlNode("JobManifestFormat").addChildNode(new __XmlText(input.Format)).withName("Format"); - bodyNode.addChildNode(node); - } return bodyNode; }; const serializeAws_restXmlJobOperation = (input: JobOperation, context: __SerdeContext): any => { const bodyNode = new __XmlNode("JobOperation"); - if (input.S3PutObjectTagging !== undefined) { - const node = serializeAws_restXmlS3SetObjectTaggingOperation(input.S3PutObjectTagging, context).withName( - "S3PutObjectTagging" - ); - bodyNode.addChildNode(node); - } - if (input.S3PutObjectAcl !== undefined) { - const node = serializeAws_restXmlS3SetObjectAclOperation(input.S3PutObjectAcl, context).withName("S3PutObjectAcl"); - bodyNode.addChildNode(node); - } if (input.S3PutObjectLegalHold !== undefined) { const node = serializeAws_restXmlS3SetObjectLegalHoldOperation(input.S3PutObjectLegalHold, context).withName( "S3PutObjectLegalHold" ); bodyNode.addChildNode(node); } - if (input.LambdaInvoke !== undefined) { - const node = serializeAws_restXmlLambdaInvokeOperation(input.LambdaInvoke, context).withName("LambdaInvoke"); + if (input.S3PutObjectCopy !== undefined) { + const node = serializeAws_restXmlS3CopyObjectOperation(input.S3PutObjectCopy, context).withName("S3PutObjectCopy"); bodyNode.addChildNode(node); } if (input.S3InitiateRestoreObject !== undefined) { @@ -3599,14 +3677,24 @@ const serializeAws_restXmlJobOperation = (input: JobOperation, context: __SerdeC ); bodyNode.addChildNode(node); } + if (input.S3PutObjectTagging !== undefined) { + const node = serializeAws_restXmlS3SetObjectTaggingOperation(input.S3PutObjectTagging, context).withName( + "S3PutObjectTagging" + ); + bodyNode.addChildNode(node); + } if (input.S3PutObjectRetention !== undefined) { const node = serializeAws_restXmlS3SetObjectRetentionOperation(input.S3PutObjectRetention, context).withName( "S3PutObjectRetention" ); bodyNode.addChildNode(node); } - if (input.S3PutObjectCopy !== undefined) { - const node = serializeAws_restXmlS3CopyObjectOperation(input.S3PutObjectCopy, context).withName("S3PutObjectCopy"); + if (input.LambdaInvoke !== undefined) { + const node = serializeAws_restXmlLambdaInvokeOperation(input.LambdaInvoke, context).withName("LambdaInvoke"); + bodyNode.addChildNode(node); + } + if (input.S3PutObjectAcl !== undefined) { + const node = serializeAws_restXmlS3SetObjectAclOperation(input.S3PutObjectAcl, context).withName("S3PutObjectAcl"); bodyNode.addChildNode(node); } return bodyNode; @@ -3614,6 +3702,10 @@ const serializeAws_restXmlJobOperation = (input: JobOperation, context: __SerdeC const serializeAws_restXmlJobReport = (input: JobReport, context: __SerdeContext): any => { const bodyNode = new __XmlNode("JobReport"); + if (input.Format !== undefined) { + const node = new __XmlNode("JobReportFormat").addChildNode(new __XmlText(input.Format)).withName("Format"); + bodyNode.addChildNode(node); + } if (input.ReportScope !== undefined) { const node = new __XmlNode("JobReportScope").addChildNode(new __XmlText(input.ReportScope)).withName("ReportScope"); bodyNode.addChildNode(node); @@ -3622,16 +3714,12 @@ const serializeAws_restXmlJobReport = (input: JobReport, context: __SerdeContext const node = new __XmlNode("ReportPrefixString").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); bodyNode.addChildNode(node); } - if (input.Bucket !== undefined) { - const node = new __XmlNode("S3BucketArnString").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); - bodyNode.addChildNode(node); - } if (input.Enabled !== undefined) { const node = new __XmlNode("Boolean").addChildNode(new __XmlText(String(input.Enabled))).withName("Enabled"); bodyNode.addChildNode(node); } - if (input.Format !== undefined) { - const node = new __XmlNode("JobReportFormat").addChildNode(new __XmlText(input.Format)).withName("Format"); + if (input.Bucket !== undefined) { + const node = new __XmlNode("S3BucketArnString").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); bodyNode.addChildNode(node); } return bodyNode; @@ -3669,36 +3757,31 @@ const serializeAws_restXmlLifecycleExpiration = (input: LifecycleExpiration, con .withName("ExpiredObjectDeleteMarker"); bodyNode.addChildNode(node); } - if (input.Days !== undefined) { - const node = new __XmlNode("Days").addChildNode(new __XmlText(String(input.Days))).withName("Days"); - bodyNode.addChildNode(node); - } if (input.Date !== undefined) { const node = new __XmlNode("Date") .addChildNode(new __XmlText(input.Date.toISOString().split(".")[0] + "Z")) .withName("Date"); bodyNode.addChildNode(node); } + if (input.Days !== undefined) { + const node = new __XmlNode("Days").addChildNode(new __XmlText(String(input.Days))).withName("Days"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlLifecycleRule = (input: LifecycleRule, context: __SerdeContext): any => { const bodyNode = new __XmlNode("LifecycleRule"); - if (input.Status !== undefined) { - const node = new __XmlNode("ExpirationStatus").addChildNode(new __XmlText(input.Status)).withName("Status"); + if (input.ID !== undefined) { + const node = new __XmlNode("ID").addChildNode(new __XmlText(input.ID)).withName("ID"); bodyNode.addChildNode(node); } - if (input.NoncurrentVersionExpiration !== undefined) { - const node = serializeAws_restXmlNoncurrentVersionExpiration(input.NoncurrentVersionExpiration, context).withName( - "NoncurrentVersionExpiration" - ); + if (input.Filter !== undefined) { + const node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName("Filter"); bodyNode.addChildNode(node); } - if (input.AbortIncompleteMultipartUpload !== undefined) { - const node = serializeAws_restXmlAbortIncompleteMultipartUpload( - input.AbortIncompleteMultipartUpload, - context - ).withName("AbortIncompleteMultipartUpload"); + if (input.Expiration !== undefined) { + const node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName("Expiration"); bodyNode.addChildNode(node); } if (input.Transitions !== undefined) { @@ -3709,8 +3792,10 @@ const serializeAws_restXmlLifecycleRule = (input: LifecycleRule, context: __Serd }); bodyNode.addChildNode(containerNode); } - if (input.ID !== undefined) { - const node = new __XmlNode("ID").addChildNode(new __XmlText(input.ID)).withName("ID"); + if (input.NoncurrentVersionExpiration !== undefined) { + const node = serializeAws_restXmlNoncurrentVersionExpiration(input.NoncurrentVersionExpiration, context).withName( + "NoncurrentVersionExpiration" + ); bodyNode.addChildNode(node); } if (input.NoncurrentVersionTransitions !== undefined) { @@ -3721,12 +3806,15 @@ const serializeAws_restXmlLifecycleRule = (input: LifecycleRule, context: __Serd }); bodyNode.addChildNode(containerNode); } - if (input.Expiration !== undefined) { - const node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName("Expiration"); + if (input.Status !== undefined) { + const node = new __XmlNode("ExpirationStatus").addChildNode(new __XmlText(input.Status)).withName("Status"); bodyNode.addChildNode(node); } - if (input.Filter !== undefined) { - const node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName("Filter"); + if (input.AbortIncompleteMultipartUpload !== undefined) { + const node = serializeAws_restXmlAbortIncompleteMultipartUpload( + input.AbortIncompleteMultipartUpload, + context + ).withName("AbortIncompleteMultipartUpload"); bodyNode.addChildNode(node); } return bodyNode; @@ -3737,10 +3825,6 @@ const serializeAws_restXmlLifecycleRuleAndOperator = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("LifecycleRuleAndOperator"); - if (input.Prefix !== undefined) { - const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); - bodyNode.addChildNode(node); - } if (input.Tags !== undefined) { const nodes = serializeAws_restXmlS3TagSet(input.Tags, context); const containerNode = new __XmlNode("Tags"); @@ -3749,6 +3833,10 @@ const serializeAws_restXmlLifecycleRuleAndOperator = ( }); bodyNode.addChildNode(containerNode); } + if (input.Prefix !== undefined) { + const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -3795,18 +3883,18 @@ const serializeAws_restXmlNoncurrentVersionTransition = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("NoncurrentVersionTransition"); - if (input.StorageClass !== undefined) { - const node = new __XmlNode("TransitionStorageClass") - .addChildNode(new __XmlText(input.StorageClass)) - .withName("StorageClass"); - bodyNode.addChildNode(node); - } if (input.NoncurrentDays !== undefined) { const node = new __XmlNode("Days") .addChildNode(new __XmlText(String(input.NoncurrentDays))) .withName("NoncurrentDays"); bodyNode.addChildNode(node); } + if (input.StorageClass !== undefined) { + const node = new __XmlNode("TransitionStorageClass") + .addChildNode(new __XmlText(input.StorageClass)) + .withName("StorageClass"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -3825,12 +3913,6 @@ const serializeAws_restXmlPublicAccessBlockConfiguration = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("PublicAccessBlockConfiguration"); - if (input.BlockPublicAcls !== undefined) { - const node = new __XmlNode("Setting") - .addChildNode(new __XmlText(String(input.BlockPublicAcls))) - .withName("BlockPublicAcls"); - bodyNode.addChildNode(node); - } if (input.RestrictPublicBuckets !== undefined) { const node = new __XmlNode("Setting") .addChildNode(new __XmlText(String(input.RestrictPublicBuckets))) @@ -3843,6 +3925,12 @@ const serializeAws_restXmlPublicAccessBlockConfiguration = ( .withName("BlockPublicPolicy"); bodyNode.addChildNode(node); } + if (input.BlockPublicAcls !== undefined) { + const node = new __XmlNode("Setting") + .addChildNode(new __XmlText(String(input.BlockPublicAcls))) + .withName("BlockPublicAcls"); + bodyNode.addChildNode(node); + } if (input.IgnorePublicAcls !== undefined) { const node = new __XmlNode("Setting") .addChildNode(new __XmlText(String(input.IgnorePublicAcls))) @@ -3854,10 +3942,6 @@ const serializeAws_restXmlPublicAccessBlockConfiguration = ( const serializeAws_restXmlS3AccessControlList = (input: S3AccessControlList, context: __SerdeContext): any => { const bodyNode = new __XmlNode("S3AccessControlList"); - if (input.Owner !== undefined) { - const node = serializeAws_restXmlS3ObjectOwner(input.Owner, context).withName("Owner"); - bodyNode.addChildNode(node); - } if (input.Grants !== undefined) { const nodes = serializeAws_restXmlS3GrantList(input.Grants, context); const containerNode = new __XmlNode("Grants"); @@ -3866,6 +3950,10 @@ const serializeAws_restXmlS3AccessControlList = (input: S3AccessControlList, con }); bodyNode.addChildNode(containerNode); } + if (input.Owner !== undefined) { + const node = serializeAws_restXmlS3ObjectOwner(input.Owner, context).withName("Owner"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -3888,30 +3976,18 @@ const serializeAws_restXmlS3AccessControlPolicy = (input: S3AccessControlPolicy, const serializeAws_restXmlS3CopyObjectOperation = (input: S3CopyObjectOperation, context: __SerdeContext): any => { const bodyNode = new __XmlNode("S3CopyObjectOperation"); - if (input.ObjectLockLegalHoldStatus !== undefined) { - const node = new __XmlNode("S3ObjectLockLegalHoldStatus") - .addChildNode(new __XmlText(input.ObjectLockLegalHoldStatus)) - .withName("ObjectLockLegalHoldStatus"); - bodyNode.addChildNode(node); - } - if (input.MetadataDirective !== undefined) { - const node = new __XmlNode("S3MetadataDirective") - .addChildNode(new __XmlText(input.MetadataDirective)) - .withName("MetadataDirective"); - bodyNode.addChildNode(node); - } - if (input.StorageClass !== undefined) { - const node = new __XmlNode("S3StorageClass") - .addChildNode(new __XmlText(input.StorageClass)) - .withName("StorageClass"); - bodyNode.addChildNode(node); - } if (input.SSEAwsKmsKeyId !== undefined) { const node = new __XmlNode("KmsKeyArnString") .addChildNode(new __XmlText(input.SSEAwsKmsKeyId)) .withName("SSEAwsKmsKeyId"); bodyNode.addChildNode(node); } + if (input.ObjectLockMode !== undefined) { + const node = new __XmlNode("S3ObjectLockMode") + .addChildNode(new __XmlText(input.ObjectLockMode)) + .withName("ObjectLockMode"); + bodyNode.addChildNode(node); + } if (input.AccessControlGrants !== undefined) { const nodes = serializeAws_restXmlS3GrantList(input.AccessControlGrants, context); const containerNode = new __XmlNode("AccessControlGrants"); @@ -3932,10 +4008,38 @@ const serializeAws_restXmlS3CopyObjectOperation = (input: S3CopyObjectOperation, .withName("ObjectLockRetainUntilDate"); bodyNode.addChildNode(node); } - if (input.RequesterPays !== undefined) { - const node = new __XmlNode("Boolean") - .addChildNode(new __XmlText(String(input.RequesterPays))) - .withName("RequesterPays"); + if (input.ObjectLockLegalHoldStatus !== undefined) { + const node = new __XmlNode("S3ObjectLockLegalHoldStatus") + .addChildNode(new __XmlText(input.ObjectLockLegalHoldStatus)) + .withName("ObjectLockLegalHoldStatus"); + bodyNode.addChildNode(node); + } + if (input.MetadataDirective !== undefined) { + const node = new __XmlNode("S3MetadataDirective") + .addChildNode(new __XmlText(input.MetadataDirective)) + .withName("MetadataDirective"); + bodyNode.addChildNode(node); + } + if (input.TargetKeyPrefix !== undefined) { + const node = new __XmlNode("NonEmptyMaxLength1024String") + .addChildNode(new __XmlText(input.TargetKeyPrefix)) + .withName("TargetKeyPrefix"); + bodyNode.addChildNode(node); + } + if (input.TargetResource !== undefined) { + const node = new __XmlNode("S3BucketArnString") + .addChildNode(new __XmlText(input.TargetResource)) + .withName("TargetResource"); + bodyNode.addChildNode(node); + } + if (input.NewObjectMetadata !== undefined) { + const node = serializeAws_restXmlS3ObjectMetadata(input.NewObjectMetadata, context).withName("NewObjectMetadata"); + bodyNode.addChildNode(node); + } + if (input.CannedAccessControlList !== undefined) { + const node = new __XmlNode("S3CannedAccessControlList") + .addChildNode(new __XmlText(input.CannedAccessControlList)) + .withName("CannedAccessControlList"); bodyNode.addChildNode(node); } if (input.NewObjectTagging !== undefined) { @@ -3946,44 +4050,28 @@ const serializeAws_restXmlS3CopyObjectOperation = (input: S3CopyObjectOperation, }); bodyNode.addChildNode(containerNode); } - if (input.ObjectLockMode !== undefined) { - const node = new __XmlNode("S3ObjectLockMode") - .addChildNode(new __XmlText(input.ObjectLockMode)) - .withName("ObjectLockMode"); - bodyNode.addChildNode(node); - } if (input.ModifiedSinceConstraint !== undefined) { const node = new __XmlNode("TimeStamp") .addChildNode(new __XmlText(input.ModifiedSinceConstraint.toISOString().split(".")[0] + "Z")) .withName("ModifiedSinceConstraint"); bodyNode.addChildNode(node); } - if (input.NewObjectMetadata !== undefined) { - const node = serializeAws_restXmlS3ObjectMetadata(input.NewObjectMetadata, context).withName("NewObjectMetadata"); - bodyNode.addChildNode(node); - } if (input.UnModifiedSinceConstraint !== undefined) { const node = new __XmlNode("TimeStamp") .addChildNode(new __XmlText(input.UnModifiedSinceConstraint.toISOString().split(".")[0] + "Z")) .withName("UnModifiedSinceConstraint"); bodyNode.addChildNode(node); } - if (input.CannedAccessControlList !== undefined) { - const node = new __XmlNode("S3CannedAccessControlList") - .addChildNode(new __XmlText(input.CannedAccessControlList)) - .withName("CannedAccessControlList"); - bodyNode.addChildNode(node); - } - if (input.TargetKeyPrefix !== undefined) { - const node = new __XmlNode("NonEmptyMaxLength1024String") - .addChildNode(new __XmlText(input.TargetKeyPrefix)) - .withName("TargetKeyPrefix"); + if (input.RequesterPays !== undefined) { + const node = new __XmlNode("Boolean") + .addChildNode(new __XmlText(String(input.RequesterPays))) + .withName("RequesterPays"); bodyNode.addChildNode(node); } - if (input.TargetResource !== undefined) { - const node = new __XmlNode("S3BucketArnString") - .addChildNode(new __XmlText(input.TargetResource)) - .withName("TargetResource"); + if (input.StorageClass !== undefined) { + const node = new __XmlNode("S3StorageClass") + .addChildNode(new __XmlText(input.StorageClass)) + .withName("StorageClass"); bodyNode.addChildNode(node); } return bodyNode; @@ -3991,31 +4079,31 @@ const serializeAws_restXmlS3CopyObjectOperation = (input: S3CopyObjectOperation, const serializeAws_restXmlS3Grant = (input: S3Grant, context: __SerdeContext): any => { const bodyNode = new __XmlNode("S3Grant"); - if (input.Permission !== undefined) { - const node = new __XmlNode("S3Permission").addChildNode(new __XmlText(input.Permission)).withName("Permission"); - bodyNode.addChildNode(node); - } if (input.Grantee !== undefined) { const node = serializeAws_restXmlS3Grantee(input.Grantee, context).withName("Grantee"); bodyNode.addChildNode(node); } + if (input.Permission !== undefined) { + const node = new __XmlNode("S3Permission").addChildNode(new __XmlText(input.Permission)).withName("Permission"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlS3Grantee = (input: S3Grantee, context: __SerdeContext): any => { const bodyNode = new __XmlNode("S3Grantee"); - if (input.DisplayName !== undefined) { - const node = new __XmlNode("NonEmptyMaxLength1024String") - .addChildNode(new __XmlText(input.DisplayName)) - .withName("DisplayName"); - bodyNode.addChildNode(node); - } if (input.TypeIdentifier !== undefined) { const node = new __XmlNode("S3GranteeTypeIdentifier") .addChildNode(new __XmlText(input.TypeIdentifier)) .withName("TypeIdentifier"); bodyNode.addChildNode(node); } + if (input.DisplayName !== undefined) { + const node = new __XmlNode("NonEmptyMaxLength1024String") + .addChildNode(new __XmlText(input.DisplayName)) + .withName("DisplayName"); + bodyNode.addChildNode(node); + } if (input.Identifier !== undefined) { const node = new __XmlNode("NonEmptyMaxLength1024String") .addChildNode(new __XmlText(input.Identifier)) @@ -4037,18 +4125,18 @@ const serializeAws_restXmlS3InitiateRestoreObjectOperation = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("S3InitiateRestoreObjectOperation"); - if (input.GlacierJobTier !== undefined) { - const node = new __XmlNode("S3GlacierJobTier") - .addChildNode(new __XmlText(input.GlacierJobTier)) - .withName("GlacierJobTier"); - bodyNode.addChildNode(node); - } if (input.ExpirationInDays !== undefined) { const node = new __XmlNode("S3ExpirationInDays") .addChildNode(new __XmlText(String(input.ExpirationInDays))) .withName("ExpirationInDays"); bodyNode.addChildNode(node); } + if (input.GlacierJobTier !== undefined) { + const node = new __XmlNode("S3GlacierJobTier") + .addChildNode(new __XmlText(input.GlacierJobTier)) + .withName("GlacierJobTier"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -4065,18 +4153,22 @@ const serializeAws_restXmlS3ObjectLockLegalHold = (input: S3ObjectLockLegalHold, const serializeAws_restXmlS3ObjectMetadata = (input: S3ObjectMetadata, context: __SerdeContext): any => { const bodyNode = new __XmlNode("S3ObjectMetadata"); - if (input.UserMetadata !== undefined) { - const nodes = serializeAws_restXmlS3UserMetadata(input.UserMetadata, context); - const containerNode = new __XmlNode("UserMetadata"); - nodes.map((node: any) => { - containerNode.addChildNode(node); - }); - bodyNode.addChildNode(containerNode); + if (input.ContentEncoding !== undefined) { + const node = new __XmlNode("NonEmptyMaxLength1024String") + .addChildNode(new __XmlText(input.ContentEncoding)) + .withName("ContentEncoding"); + bodyNode.addChildNode(node); } - if (input.ContentLanguage !== undefined) { + if (input.ContentDisposition !== undefined) { const node = new __XmlNode("NonEmptyMaxLength1024String") - .addChildNode(new __XmlText(input.ContentLanguage)) - .withName("ContentLanguage"); + .addChildNode(new __XmlText(input.ContentDisposition)) + .withName("ContentDisposition"); + bodyNode.addChildNode(node); + } + if (input.ContentType !== undefined) { + const node = new __XmlNode("NonEmptyMaxLength1024String") + .addChildNode(new __XmlText(input.ContentType)) + .withName("ContentType"); bodyNode.addChildNode(node); } if (input.ContentLength !== undefined) { @@ -4085,10 +4177,10 @@ const serializeAws_restXmlS3ObjectMetadata = (input: S3ObjectMetadata, context: .withName("ContentLength"); bodyNode.addChildNode(node); } - if (input.ContentEncoding !== undefined) { + if (input.CacheControl !== undefined) { const node = new __XmlNode("NonEmptyMaxLength1024String") - .addChildNode(new __XmlText(input.ContentEncoding)) - .withName("ContentEncoding"); + .addChildNode(new __XmlText(input.CacheControl)) + .withName("CacheControl"); bodyNode.addChildNode(node); } if (input.HttpExpiresDate !== undefined) { @@ -4097,42 +4189,38 @@ const serializeAws_restXmlS3ObjectMetadata = (input: S3ObjectMetadata, context: .withName("HttpExpiresDate"); bodyNode.addChildNode(node); } - if (input.ContentDisposition !== undefined) { - const node = new __XmlNode("NonEmptyMaxLength1024String") - .addChildNode(new __XmlText(input.ContentDisposition)) - .withName("ContentDisposition"); - bodyNode.addChildNode(node); - } if (input.SSEAlgorithm !== undefined) { const node = new __XmlNode("S3SSEAlgorithm") .addChildNode(new __XmlText(input.SSEAlgorithm)) .withName("SSEAlgorithm"); bodyNode.addChildNode(node); } + if (input.UserMetadata !== undefined) { + const nodes = serializeAws_restXmlS3UserMetadata(input.UserMetadata, context); + const containerNode = new __XmlNode("UserMetadata"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); + } if (input.ContentMD5 !== undefined) { const node = new __XmlNode("NonEmptyMaxLength1024String") .addChildNode(new __XmlText(input.ContentMD5)) .withName("ContentMD5"); bodyNode.addChildNode(node); } + if (input.ContentLanguage !== undefined) { + const node = new __XmlNode("NonEmptyMaxLength1024String") + .addChildNode(new __XmlText(input.ContentLanguage)) + .withName("ContentLanguage"); + bodyNode.addChildNode(node); + } if (input.RequesterCharged !== undefined) { const node = new __XmlNode("Boolean") .addChildNode(new __XmlText(String(input.RequesterCharged))) .withName("RequesterCharged"); bodyNode.addChildNode(node); } - if (input.CacheControl !== undefined) { - const node = new __XmlNode("NonEmptyMaxLength1024String") - .addChildNode(new __XmlText(input.CacheControl)) - .withName("CacheControl"); - bodyNode.addChildNode(node); - } - if (input.ContentType !== undefined) { - const node = new __XmlNode("NonEmptyMaxLength1024String") - .addChildNode(new __XmlText(input.ContentType)) - .withName("ContentType"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -4194,16 +4282,16 @@ const serializeAws_restXmlS3SetObjectRetentionOperation = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("S3SetObjectRetentionOperation"); - if (input.Retention !== undefined) { - const node = serializeAws_restXmlS3Retention(input.Retention, context).withName("Retention"); - bodyNode.addChildNode(node); - } if (input.BypassGovernanceRetention !== undefined) { const node = new __XmlNode("Boolean") .addChildNode(new __XmlText(String(input.BypassGovernanceRetention))) .withName("BypassGovernanceRetention"); bodyNode.addChildNode(node); } + if (input.Retention !== undefined) { + const node = serializeAws_restXmlS3Retention(input.Retention, context).withName("Retention"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -4239,7 +4327,7 @@ const serializeAws_restXmlS3Tag = (input: S3Tag, context: __SerdeContext): any = const serializeAws_restXmlS3TagSet = (input: S3Tag[], context: __SerdeContext): any => { return input.map((entry) => { const node = serializeAws_restXmlS3Tag(entry, context); - return node.withName("Tag"); + return node.withName("member"); }); }; @@ -4269,18 +4357,18 @@ const serializeAws_restXmlTagging = (input: Tagging, context: __SerdeContext): a const serializeAws_restXmlTransition = (input: Transition, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Transition"); - if (input.StorageClass !== undefined) { - const node = new __XmlNode("TransitionStorageClass") - .addChildNode(new __XmlText(input.StorageClass)) - .withName("StorageClass"); - bodyNode.addChildNode(node); - } if (input.Date !== undefined) { const node = new __XmlNode("Date") .addChildNode(new __XmlText(input.Date.toISOString().split(".")[0] + "Z")) .withName("Date"); bodyNode.addChildNode(node); } + if (input.StorageClass !== undefined) { + const node = new __XmlNode("TransitionStorageClass") + .addChildNode(new __XmlText(input.StorageClass)) + .withName("StorageClass"); + bodyNode.addChildNode(node); + } if (input.Days !== undefined) { const node = new __XmlNode("Days").addChildNode(new __XmlText(String(input.Days))).withName("Days"); bodyNode.addChildNode(node); @@ -4319,27 +4407,27 @@ const deserializeAws_restXmlAbortIncompleteMultipartUpload = ( const deserializeAws_restXmlAccessPoint = (output: any, context: __SerdeContext): AccessPoint => { let contents: any = { - Name: undefined, - NetworkOrigin: undefined, Bucket: undefined, AccessPointArn: undefined, + NetworkOrigin: undefined, VpcConfiguration: undefined, + Name: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } - if (output["NetworkOrigin"] !== undefined) { - contents.NetworkOrigin = output["NetworkOrigin"]; - } if (output["Bucket"] !== undefined) { contents.Bucket = output["Bucket"]; } if (output["AccessPointArn"] !== undefined) { contents.AccessPointArn = output["AccessPointArn"]; } + if (output["NetworkOrigin"] !== undefined) { + contents.NetworkOrigin = output["NetworkOrigin"]; + } if (output["VpcConfiguration"] !== undefined) { contents.VpcConfiguration = deserializeAws_restXmlVpcConfiguration(output["VpcConfiguration"], context); } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } return contents; }; @@ -4349,51 +4437,63 @@ const deserializeAws_restXmlAccessPointList = (output: any, context: __SerdeCont const deserializeAws_restXmlJobDescriptor = (output: any, context: __SerdeContext): JobDescriptor => { let contents: any = { - JobArn: undefined, Manifest: undefined, + ProgressSummary: undefined, ConfirmationRequired: undefined, - SuspendedDate: undefined, - CreationTime: undefined, - JobId: undefined, + JobArn: undefined, + Priority: undefined, + Report: undefined, + Status: undefined, TerminationDate: undefined, + SuspendedCause: undefined, Description: undefined, + Operation: undefined, RoleArn: undefined, + SuspendedDate: undefined, FailureReasons: undefined, StatusUpdateReason: undefined, - Priority: undefined, - SuspendedCause: undefined, - Report: undefined, - Status: undefined, - Operation: undefined, - ProgressSummary: undefined, + CreationTime: undefined, + JobId: undefined, }; - if (output["JobArn"] !== undefined) { - contents.JobArn = output["JobArn"]; - } if (output["Manifest"] !== undefined) { contents.Manifest = deserializeAws_restXmlJobManifest(output["Manifest"], context); } + if (output["ProgressSummary"] !== undefined) { + contents.ProgressSummary = deserializeAws_restXmlJobProgressSummary(output["ProgressSummary"], context); + } if (output["ConfirmationRequired"] !== undefined) { contents.ConfirmationRequired = output["ConfirmationRequired"] == "true"; } - if (output["SuspendedDate"] !== undefined) { - contents.SuspendedDate = new Date(output["SuspendedDate"]); + if (output["JobArn"] !== undefined) { + contents.JobArn = output["JobArn"]; } - if (output["CreationTime"] !== undefined) { - contents.CreationTime = new Date(output["CreationTime"]); + if (output["Priority"] !== undefined) { + contents.Priority = parseInt(output["Priority"]); } - if (output["JobId"] !== undefined) { - contents.JobId = output["JobId"]; + if (output["Report"] !== undefined) { + contents.Report = deserializeAws_restXmlJobReport(output["Report"], context); + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } if (output["TerminationDate"] !== undefined) { contents.TerminationDate = new Date(output["TerminationDate"]); } + if (output["SuspendedCause"] !== undefined) { + contents.SuspendedCause = output["SuspendedCause"]; + } if (output["Description"] !== undefined) { contents.Description = output["Description"]; } + if (output["Operation"] !== undefined) { + contents.Operation = deserializeAws_restXmlJobOperation(output["Operation"], context); + } if (output["RoleArn"] !== undefined) { contents.RoleArn = output["RoleArn"]; } + if (output["SuspendedDate"] !== undefined) { + contents.SuspendedDate = new Date(output["SuspendedDate"]); + } if (output.FailureReasons === "") { contents.FailureReasons = []; } @@ -4406,23 +4506,11 @@ const deserializeAws_restXmlJobDescriptor = (output: any, context: __SerdeContex if (output["StatusUpdateReason"] !== undefined) { contents.StatusUpdateReason = output["StatusUpdateReason"]; } - if (output["Priority"] !== undefined) { - contents.Priority = parseInt(output["Priority"]); - } - if (output["SuspendedCause"] !== undefined) { - contents.SuspendedCause = output["SuspendedCause"]; - } - if (output["Report"] !== undefined) { - contents.Report = deserializeAws_restXmlJobReport(output["Report"], context); - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["Operation"] !== undefined) { - contents.Operation = deserializeAws_restXmlJobOperation(output["Operation"], context); + if (output["CreationTime"] !== undefined) { + contents.CreationTime = new Date(output["CreationTime"]); } - if (output["ProgressSummary"] !== undefined) { - contents.ProgressSummary = deserializeAws_restXmlJobProgressSummary(output["ProgressSummary"], context); + if (output["JobId"] !== undefined) { + contents.JobId = output["JobId"]; } return contents; }; @@ -4447,20 +4535,29 @@ const deserializeAws_restXmlJobFailureList = (output: any, context: __SerdeConte const deserializeAws_restXmlJobListDescriptor = (output: any, context: __SerdeContext): JobListDescriptor => { let contents: any = { - ProgressSummary: undefined, JobId: undefined, + Priority: undefined, + ProgressSummary: undefined, + Description: undefined, + Operation: undefined, CreationTime: undefined, TerminationDate: undefined, Status: undefined, - Description: undefined, - Operation: undefined, - Priority: undefined, }; + if (output["JobId"] !== undefined) { + contents.JobId = output["JobId"]; + } + if (output["Priority"] !== undefined) { + contents.Priority = parseInt(output["Priority"]); + } if (output["ProgressSummary"] !== undefined) { contents.ProgressSummary = deserializeAws_restXmlJobProgressSummary(output["ProgressSummary"], context); } - if (output["JobId"] !== undefined) { - contents.JobId = output["JobId"]; + if (output["Description"] !== undefined) { + contents.Description = output["Description"]; + } + if (output["Operation"] !== undefined) { + contents.Operation = output["Operation"]; } if (output["CreationTime"] !== undefined) { contents.CreationTime = new Date(output["CreationTime"]); @@ -4471,15 +4568,6 @@ const deserializeAws_restXmlJobListDescriptor = (output: any, context: __SerdeCo if (output["Status"] !== undefined) { contents.Status = output["Status"]; } - if (output["Description"] !== undefined) { - contents.Description = output["Description"]; - } - if (output["Operation"] !== undefined) { - contents.Operation = output["Operation"]; - } - if (output["Priority"] !== undefined) { - contents.Priority = parseInt(output["Priority"]); - } return contents; }; @@ -4510,27 +4598,30 @@ const deserializeAws_restXmlJobManifestFieldList = ( const deserializeAws_restXmlJobManifestLocation = (output: any, context: __SerdeContext): JobManifestLocation => { let contents: any = { - ObjectVersionId: undefined, ETag: undefined, ObjectArn: undefined, + ObjectVersionId: undefined, }; - if (output["ObjectVersionId"] !== undefined) { - contents.ObjectVersionId = output["ObjectVersionId"]; - } if (output["ETag"] !== undefined) { contents.ETag = output["ETag"]; } if (output["ObjectArn"] !== undefined) { contents.ObjectArn = output["ObjectArn"]; } + if (output["ObjectVersionId"] !== undefined) { + contents.ObjectVersionId = output["ObjectVersionId"]; + } return contents; }; const deserializeAws_restXmlJobManifestSpec = (output: any, context: __SerdeContext): JobManifestSpec => { let contents: any = { - Fields: undefined, Format: undefined, + Fields: undefined, }; + if (output["Format"] !== undefined) { + contents.Format = output["Format"]; + } if (output.Fields === "") { contents.Fields = []; } @@ -4540,39 +4631,27 @@ const deserializeAws_restXmlJobManifestSpec = (output: any, context: __SerdeCont context ); } - if (output["Format"] !== undefined) { - contents.Format = output["Format"]; - } return contents; }; const deserializeAws_restXmlJobOperation = (output: any, context: __SerdeContext): JobOperation => { let contents: any = { - S3PutObjectTagging: undefined, - S3PutObjectAcl: undefined, S3PutObjectLegalHold: undefined, - LambdaInvoke: undefined, + S3PutObjectCopy: undefined, S3InitiateRestoreObject: undefined, + S3PutObjectTagging: undefined, S3PutObjectRetention: undefined, - S3PutObjectCopy: undefined, + LambdaInvoke: undefined, + S3PutObjectAcl: undefined, }; - if (output["S3PutObjectTagging"] !== undefined) { - contents.S3PutObjectTagging = deserializeAws_restXmlS3SetObjectTaggingOperation( - output["S3PutObjectTagging"], - context - ); - } - if (output["S3PutObjectAcl"] !== undefined) { - contents.S3PutObjectAcl = deserializeAws_restXmlS3SetObjectAclOperation(output["S3PutObjectAcl"], context); - } if (output["S3PutObjectLegalHold"] !== undefined) { contents.S3PutObjectLegalHold = deserializeAws_restXmlS3SetObjectLegalHoldOperation( output["S3PutObjectLegalHold"], context ); } - if (output["LambdaInvoke"] !== undefined) { - contents.LambdaInvoke = deserializeAws_restXmlLambdaInvokeOperation(output["LambdaInvoke"], context); + if (output["S3PutObjectCopy"] !== undefined) { + contents.S3PutObjectCopy = deserializeAws_restXmlS3CopyObjectOperation(output["S3PutObjectCopy"], context); } if (output["S3InitiateRestoreObject"] !== undefined) { contents.S3InitiateRestoreObject = deserializeAws_restXmlS3InitiateRestoreObjectOperation( @@ -4580,58 +4659,67 @@ const deserializeAws_restXmlJobOperation = (output: any, context: __SerdeContext context ); } + if (output["S3PutObjectTagging"] !== undefined) { + contents.S3PutObjectTagging = deserializeAws_restXmlS3SetObjectTaggingOperation( + output["S3PutObjectTagging"], + context + ); + } if (output["S3PutObjectRetention"] !== undefined) { contents.S3PutObjectRetention = deserializeAws_restXmlS3SetObjectRetentionOperation( output["S3PutObjectRetention"], context ); } - if (output["S3PutObjectCopy"] !== undefined) { - contents.S3PutObjectCopy = deserializeAws_restXmlS3CopyObjectOperation(output["S3PutObjectCopy"], context); + if (output["LambdaInvoke"] !== undefined) { + contents.LambdaInvoke = deserializeAws_restXmlLambdaInvokeOperation(output["LambdaInvoke"], context); + } + if (output["S3PutObjectAcl"] !== undefined) { + contents.S3PutObjectAcl = deserializeAws_restXmlS3SetObjectAclOperation(output["S3PutObjectAcl"], context); } return contents; }; const deserializeAws_restXmlJobProgressSummary = (output: any, context: __SerdeContext): JobProgressSummary => { let contents: any = { - NumberOfTasksFailed: undefined, - TotalNumberOfTasks: undefined, NumberOfTasksSucceeded: undefined, + TotalNumberOfTasks: undefined, + NumberOfTasksFailed: undefined, }; - if (output["NumberOfTasksFailed"] !== undefined) { - contents.NumberOfTasksFailed = parseInt(output["NumberOfTasksFailed"]); + if (output["NumberOfTasksSucceeded"] !== undefined) { + contents.NumberOfTasksSucceeded = parseInt(output["NumberOfTasksSucceeded"]); } if (output["TotalNumberOfTasks"] !== undefined) { contents.TotalNumberOfTasks = parseInt(output["TotalNumberOfTasks"]); } - if (output["NumberOfTasksSucceeded"] !== undefined) { - contents.NumberOfTasksSucceeded = parseInt(output["NumberOfTasksSucceeded"]); + if (output["NumberOfTasksFailed"] !== undefined) { + contents.NumberOfTasksFailed = parseInt(output["NumberOfTasksFailed"]); } return contents; }; const deserializeAws_restXmlJobReport = (output: any, context: __SerdeContext): JobReport => { let contents: any = { + Format: undefined, ReportScope: undefined, Prefix: undefined, - Bucket: undefined, Enabled: undefined, - Format: undefined, + Bucket: undefined, }; + if (output["Format"] !== undefined) { + contents.Format = output["Format"]; + } if (output["ReportScope"] !== undefined) { contents.ReportScope = output["ReportScope"]; } if (output["Prefix"] !== undefined) { contents.Prefix = output["Prefix"]; } - if (output["Bucket"] !== undefined) { - contents.Bucket = output["Bucket"]; - } if (output["Enabled"] !== undefined) { contents.Enabled = output["Enabled"] == "true"; } - if (output["Format"] !== undefined) { - contents.Format = output["Format"]; + if (output["Bucket"] !== undefined) { + contents.Bucket = output["Bucket"]; } return contents; }; @@ -4649,46 +4737,40 @@ const deserializeAws_restXmlLambdaInvokeOperation = (output: any, context: __Ser const deserializeAws_restXmlLifecycleExpiration = (output: any, context: __SerdeContext): LifecycleExpiration => { let contents: any = { ExpiredObjectDeleteMarker: undefined, - Days: undefined, Date: undefined, + Days: undefined, }; if (output["ExpiredObjectDeleteMarker"] !== undefined) { contents.ExpiredObjectDeleteMarker = output["ExpiredObjectDeleteMarker"] == "true"; } - if (output["Days"] !== undefined) { - contents.Days = parseInt(output["Days"]); - } if (output["Date"] !== undefined) { contents.Date = new Date(output["Date"]); } + if (output["Days"] !== undefined) { + contents.Days = parseInt(output["Days"]); + } return contents; }; const deserializeAws_restXmlLifecycleRule = (output: any, context: __SerdeContext): LifecycleRule => { let contents: any = { - Status: undefined, - NoncurrentVersionExpiration: undefined, - AbortIncompleteMultipartUpload: undefined, - Transitions: undefined, ID: undefined, - NoncurrentVersionTransitions: undefined, - Expiration: undefined, Filter: undefined, + Expiration: undefined, + Transitions: undefined, + NoncurrentVersionExpiration: undefined, + NoncurrentVersionTransitions: undefined, + Status: undefined, + AbortIncompleteMultipartUpload: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; + if (output["ID"] !== undefined) { + contents.ID = output["ID"]; } - if (output["NoncurrentVersionExpiration"] !== undefined) { - contents.NoncurrentVersionExpiration = deserializeAws_restXmlNoncurrentVersionExpiration( - output["NoncurrentVersionExpiration"], - context - ); + if (output["Filter"] !== undefined) { + contents.Filter = deserializeAws_restXmlLifecycleRuleFilter(output["Filter"], context); } - if (output["AbortIncompleteMultipartUpload"] !== undefined) { - contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload( - output["AbortIncompleteMultipartUpload"], - context - ); + if (output["Expiration"] !== undefined) { + contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output["Expiration"], context); } if (output.Transitions === "") { contents.Transitions = []; @@ -4699,8 +4781,11 @@ const deserializeAws_restXmlLifecycleRule = (output: any, context: __SerdeContex context ); } - if (output["ID"] !== undefined) { - contents.ID = output["ID"]; + if (output["NoncurrentVersionExpiration"] !== undefined) { + contents.NoncurrentVersionExpiration = deserializeAws_restXmlNoncurrentVersionExpiration( + output["NoncurrentVersionExpiration"], + context + ); } if (output.NoncurrentVersionTransitions === "") { contents.NoncurrentVersionTransitions = []; @@ -4714,11 +4799,14 @@ const deserializeAws_restXmlLifecycleRule = (output: any, context: __SerdeContex context ); } - if (output["Expiration"] !== undefined) { - contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output["Expiration"], context); + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; } - if (output["Filter"] !== undefined) { - contents.Filter = deserializeAws_restXmlLifecycleRuleFilter(output["Filter"], context); + if (output["AbortIncompleteMultipartUpload"] !== undefined) { + contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload( + output["AbortIncompleteMultipartUpload"], + context + ); } return contents; }; @@ -4728,17 +4816,17 @@ const deserializeAws_restXmlLifecycleRuleAndOperator = ( context: __SerdeContext ): LifecycleRuleAndOperator => { let contents: any = { - Prefix: undefined, Tags: undefined, + Prefix: undefined, }; - if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; - } if (output.Tags === "") { contents.Tags = []; } - if (output["Tags"] !== undefined && output["Tags"]["Tag"] !== undefined) { - contents.Tags = deserializeAws_restXmlS3TagSet(__getArrayIfSingleItem(output["Tags"]["Tag"]), context); + if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) { + contents.Tags = deserializeAws_restXmlS3TagSet(__getArrayIfSingleItem(output["Tags"]["member"]), context); + } + if (output["Prefix"] !== undefined) { + contents.Prefix = output["Prefix"]; } return contents; }; @@ -4783,15 +4871,15 @@ const deserializeAws_restXmlNoncurrentVersionTransition = ( context: __SerdeContext ): NoncurrentVersionTransition => { let contents: any = { - StorageClass: undefined, NoncurrentDays: undefined, + StorageClass: undefined, }; - if (output["StorageClass"] !== undefined) { - contents.StorageClass = output["StorageClass"]; - } if (output["NoncurrentDays"] !== undefined) { contents.NoncurrentDays = parseInt(output["NoncurrentDays"]); } + if (output["StorageClass"] !== undefined) { + contents.StorageClass = output["StorageClass"]; + } return contents; }; @@ -4817,20 +4905,20 @@ const deserializeAws_restXmlPublicAccessBlockConfiguration = ( context: __SerdeContext ): PublicAccessBlockConfiguration => { let contents: any = { - BlockPublicAcls: undefined, RestrictPublicBuckets: undefined, BlockPublicPolicy: undefined, + BlockPublicAcls: undefined, IgnorePublicAcls: undefined, }; - if (output["BlockPublicAcls"] !== undefined) { - contents.BlockPublicAcls = output["BlockPublicAcls"] == "true"; - } if (output["RestrictPublicBuckets"] !== undefined) { contents.RestrictPublicBuckets = output["RestrictPublicBuckets"] == "true"; } if (output["BlockPublicPolicy"] !== undefined) { contents.BlockPublicPolicy = output["BlockPublicPolicy"] == "true"; } + if (output["BlockPublicAcls"] !== undefined) { + contents.BlockPublicAcls = output["BlockPublicAcls"] == "true"; + } if (output["IgnorePublicAcls"] !== undefined) { contents.IgnorePublicAcls = output["IgnorePublicAcls"] == "true"; } @@ -4839,26 +4927,26 @@ const deserializeAws_restXmlPublicAccessBlockConfiguration = ( const deserializeAws_restXmlRegionalBucket = (output: any, context: __SerdeContext): RegionalBucket => { let contents: any = { + PublicAccessBlockEnabled: undefined, + Bucket: undefined, BucketArn: undefined, - CreationDate: undefined, OutpostId: undefined, - Bucket: undefined, - PublicAccessBlockEnabled: undefined, + CreationDate: undefined, }; + if (output["PublicAccessBlockEnabled"] !== undefined) { + contents.PublicAccessBlockEnabled = output["PublicAccessBlockEnabled"] == "true"; + } + if (output["Bucket"] !== undefined) { + contents.Bucket = output["Bucket"]; + } if (output["BucketArn"] !== undefined) { contents.BucketArn = output["BucketArn"]; } - if (output["CreationDate"] !== undefined) { - contents.CreationDate = new Date(output["CreationDate"]); - } if (output["OutpostId"] !== undefined) { contents.OutpostId = output["OutpostId"]; } - if (output["Bucket"] !== undefined) { - contents.Bucket = output["Bucket"]; - } - if (output["PublicAccessBlockEnabled"] !== undefined) { - contents.PublicAccessBlockEnabled = output["PublicAccessBlockEnabled"] == "true"; + if (output["CreationDate"] !== undefined) { + contents.CreationDate = new Date(output["CreationDate"]); } return contents; }; @@ -4869,18 +4957,18 @@ const deserializeAws_restXmlRegionalBucketList = (output: any, context: __SerdeC const deserializeAws_restXmlS3AccessControlList = (output: any, context: __SerdeContext): S3AccessControlList => { let contents: any = { - Owner: undefined, Grants: undefined, + Owner: undefined, }; - if (output["Owner"] !== undefined) { - contents.Owner = deserializeAws_restXmlS3ObjectOwner(output["Owner"], context); - } if (output.Grants === "") { contents.Grants = []; } if (output["Grants"] !== undefined && output["Grants"]["member"] !== undefined) { contents.Grants = deserializeAws_restXmlS3GrantList(__getArrayIfSingleItem(output["Grants"]["member"]), context); } + if (output["Owner"] !== undefined) { + contents.Owner = deserializeAws_restXmlS3ObjectOwner(output["Owner"], context); + } return contents; }; @@ -4900,35 +4988,29 @@ const deserializeAws_restXmlS3AccessControlPolicy = (output: any, context: __Ser const deserializeAws_restXmlS3CopyObjectOperation = (output: any, context: __SerdeContext): S3CopyObjectOperation => { let contents: any = { - ObjectLockLegalHoldStatus: undefined, - MetadataDirective: undefined, - StorageClass: undefined, SSEAwsKmsKeyId: undefined, + ObjectLockMode: undefined, AccessControlGrants: undefined, RedirectLocation: undefined, ObjectLockRetainUntilDate: undefined, - RequesterPays: undefined, + ObjectLockLegalHoldStatus: undefined, + MetadataDirective: undefined, + TargetKeyPrefix: undefined, + TargetResource: undefined, + NewObjectMetadata: undefined, + CannedAccessControlList: undefined, NewObjectTagging: undefined, - ObjectLockMode: undefined, ModifiedSinceConstraint: undefined, - NewObjectMetadata: undefined, UnModifiedSinceConstraint: undefined, - CannedAccessControlList: undefined, - TargetKeyPrefix: undefined, - TargetResource: undefined, + RequesterPays: undefined, + StorageClass: undefined, }; - if (output["ObjectLockLegalHoldStatus"] !== undefined) { - contents.ObjectLockLegalHoldStatus = output["ObjectLockLegalHoldStatus"]; - } - if (output["MetadataDirective"] !== undefined) { - contents.MetadataDirective = output["MetadataDirective"]; - } - if (output["StorageClass"] !== undefined) { - contents.StorageClass = output["StorageClass"]; - } if (output["SSEAwsKmsKeyId"] !== undefined) { contents.SSEAwsKmsKeyId = output["SSEAwsKmsKeyId"]; } + if (output["ObjectLockMode"] !== undefined) { + contents.ObjectLockMode = output["ObjectLockMode"]; + } if (output.AccessControlGrants === "") { contents.AccessControlGrants = []; } @@ -4944,68 +5026,74 @@ const deserializeAws_restXmlS3CopyObjectOperation = (output: any, context: __Ser if (output["ObjectLockRetainUntilDate"] !== undefined) { contents.ObjectLockRetainUntilDate = new Date(output["ObjectLockRetainUntilDate"]); } - if (output["RequesterPays"] !== undefined) { - contents.RequesterPays = output["RequesterPays"] == "true"; + if (output["ObjectLockLegalHoldStatus"] !== undefined) { + contents.ObjectLockLegalHoldStatus = output["ObjectLockLegalHoldStatus"]; + } + if (output["MetadataDirective"] !== undefined) { + contents.MetadataDirective = output["MetadataDirective"]; + } + if (output["TargetKeyPrefix"] !== undefined) { + contents.TargetKeyPrefix = output["TargetKeyPrefix"]; + } + if (output["TargetResource"] !== undefined) { + contents.TargetResource = output["TargetResource"]; + } + if (output["NewObjectMetadata"] !== undefined) { + contents.NewObjectMetadata = deserializeAws_restXmlS3ObjectMetadata(output["NewObjectMetadata"], context); + } + if (output["CannedAccessControlList"] !== undefined) { + contents.CannedAccessControlList = output["CannedAccessControlList"]; } if (output.NewObjectTagging === "") { contents.NewObjectTagging = []; } - if (output["NewObjectTagging"] !== undefined && output["NewObjectTagging"]["Tag"] !== undefined) { + if (output["NewObjectTagging"] !== undefined && output["NewObjectTagging"]["member"] !== undefined) { contents.NewObjectTagging = deserializeAws_restXmlS3TagSet( - __getArrayIfSingleItem(output["NewObjectTagging"]["Tag"]), + __getArrayIfSingleItem(output["NewObjectTagging"]["member"]), context ); } - if (output["ObjectLockMode"] !== undefined) { - contents.ObjectLockMode = output["ObjectLockMode"]; - } if (output["ModifiedSinceConstraint"] !== undefined) { contents.ModifiedSinceConstraint = new Date(output["ModifiedSinceConstraint"]); } - if (output["NewObjectMetadata"] !== undefined) { - contents.NewObjectMetadata = deserializeAws_restXmlS3ObjectMetadata(output["NewObjectMetadata"], context); - } if (output["UnModifiedSinceConstraint"] !== undefined) { contents.UnModifiedSinceConstraint = new Date(output["UnModifiedSinceConstraint"]); } - if (output["CannedAccessControlList"] !== undefined) { - contents.CannedAccessControlList = output["CannedAccessControlList"]; - } - if (output["TargetKeyPrefix"] !== undefined) { - contents.TargetKeyPrefix = output["TargetKeyPrefix"]; + if (output["RequesterPays"] !== undefined) { + contents.RequesterPays = output["RequesterPays"] == "true"; } - if (output["TargetResource"] !== undefined) { - contents.TargetResource = output["TargetResource"]; + if (output["StorageClass"] !== undefined) { + contents.StorageClass = output["StorageClass"]; } return contents; }; const deserializeAws_restXmlS3Grant = (output: any, context: __SerdeContext): S3Grant => { let contents: any = { - Permission: undefined, Grantee: undefined, + Permission: undefined, }; - if (output["Permission"] !== undefined) { - contents.Permission = output["Permission"]; - } if (output["Grantee"] !== undefined) { contents.Grantee = deserializeAws_restXmlS3Grantee(output["Grantee"], context); } + if (output["Permission"] !== undefined) { + contents.Permission = output["Permission"]; + } return contents; }; const deserializeAws_restXmlS3Grantee = (output: any, context: __SerdeContext): S3Grantee => { let contents: any = { - DisplayName: undefined, TypeIdentifier: undefined, + DisplayName: undefined, Identifier: undefined, }; - if (output["DisplayName"] !== undefined) { - contents.DisplayName = output["DisplayName"]; - } if (output["TypeIdentifier"] !== undefined) { contents.TypeIdentifier = output["TypeIdentifier"]; } + if (output["DisplayName"] !== undefined) { + contents.DisplayName = output["DisplayName"]; + } if (output["Identifier"] !== undefined) { contents.Identifier = output["Identifier"]; } @@ -5021,15 +5109,15 @@ const deserializeAws_restXmlS3InitiateRestoreObjectOperation = ( context: __SerdeContext ): S3InitiateRestoreObjectOperation => { let contents: any = { - GlacierJobTier: undefined, ExpirationInDays: undefined, + GlacierJobTier: undefined, }; - if (output["GlacierJobTier"] !== undefined) { - contents.GlacierJobTier = output["GlacierJobTier"]; - } if (output["ExpirationInDays"] !== undefined) { contents.ExpirationInDays = parseInt(output["ExpirationInDays"]); } + if (output["GlacierJobTier"] !== undefined) { + contents.GlacierJobTier = output["GlacierJobTier"]; + } return contents; }; @@ -5045,57 +5133,57 @@ const deserializeAws_restXmlS3ObjectLockLegalHold = (output: any, context: __Ser const deserializeAws_restXmlS3ObjectMetadata = (output: any, context: __SerdeContext): S3ObjectMetadata => { let contents: any = { - UserMetadata: undefined, - ContentLanguage: undefined, - ContentLength: undefined, ContentEncoding: undefined, - HttpExpiresDate: undefined, ContentDisposition: undefined, + ContentType: undefined, + ContentLength: undefined, + CacheControl: undefined, + HttpExpiresDate: undefined, SSEAlgorithm: undefined, + UserMetadata: undefined, ContentMD5: undefined, + ContentLanguage: undefined, RequesterCharged: undefined, - CacheControl: undefined, - ContentType: undefined, }; - if (output.UserMetadata === "") { - contents.UserMetadata = {}; + if (output["ContentEncoding"] !== undefined) { + contents.ContentEncoding = output["ContentEncoding"]; } - if (output["UserMetadata"] !== undefined && output["UserMetadata"]["entry"] !== undefined) { - contents.UserMetadata = deserializeAws_restXmlS3UserMetadata( - __getArrayIfSingleItem(output["UserMetadata"]["entry"]), - context - ); + if (output["ContentDisposition"] !== undefined) { + contents.ContentDisposition = output["ContentDisposition"]; } - if (output["ContentLanguage"] !== undefined) { - contents.ContentLanguage = output["ContentLanguage"]; + if (output["ContentType"] !== undefined) { + contents.ContentType = output["ContentType"]; } if (output["ContentLength"] !== undefined) { contents.ContentLength = parseInt(output["ContentLength"]); } - if (output["ContentEncoding"] !== undefined) { - contents.ContentEncoding = output["ContentEncoding"]; + if (output["CacheControl"] !== undefined) { + contents.CacheControl = output["CacheControl"]; } if (output["HttpExpiresDate"] !== undefined) { contents.HttpExpiresDate = new Date(output["HttpExpiresDate"]); } - if (output["ContentDisposition"] !== undefined) { - contents.ContentDisposition = output["ContentDisposition"]; - } if (output["SSEAlgorithm"] !== undefined) { contents.SSEAlgorithm = output["SSEAlgorithm"]; } + if (output.UserMetadata === "") { + contents.UserMetadata = {}; + } + if (output["UserMetadata"] !== undefined && output["UserMetadata"]["entry"] !== undefined) { + contents.UserMetadata = deserializeAws_restXmlS3UserMetadata( + __getArrayIfSingleItem(output["UserMetadata"]["entry"]), + context + ); + } if (output["ContentMD5"] !== undefined) { contents.ContentMD5 = output["ContentMD5"]; } + if (output["ContentLanguage"] !== undefined) { + contents.ContentLanguage = output["ContentLanguage"]; + } if (output["RequesterCharged"] !== undefined) { contents.RequesterCharged = output["RequesterCharged"] == "true"; } - if (output["CacheControl"] !== undefined) { - contents.CacheControl = output["CacheControl"]; - } - if (output["ContentType"] !== undefined) { - contents.ContentType = output["ContentType"]; - } return contents; }; @@ -5158,15 +5246,15 @@ const deserializeAws_restXmlS3SetObjectRetentionOperation = ( context: __SerdeContext ): S3SetObjectRetentionOperation => { let contents: any = { - Retention: undefined, BypassGovernanceRetention: undefined, + Retention: undefined, }; - if (output["Retention"] !== undefined) { - contents.Retention = deserializeAws_restXmlS3Retention(output["Retention"], context); - } if (output["BypassGovernanceRetention"] !== undefined) { contents.BypassGovernanceRetention = output["BypassGovernanceRetention"] == "true"; } + if (output["Retention"] !== undefined) { + contents.Retention = deserializeAws_restXmlS3Retention(output["Retention"], context); + } return contents; }; @@ -5180,8 +5268,8 @@ const deserializeAws_restXmlS3SetObjectTaggingOperation = ( if (output.TagSet === "") { contents.TagSet = []; } - if (output["TagSet"] !== undefined && output["TagSet"]["Tag"] !== undefined) { - contents.TagSet = deserializeAws_restXmlS3TagSet(__getArrayIfSingleItem(output["TagSet"]["Tag"]), context); + if (output["TagSet"] !== undefined && output["TagSet"]["member"] !== undefined) { + contents.TagSet = deserializeAws_restXmlS3TagSet(__getArrayIfSingleItem(output["TagSet"]["member"]), context); } return contents; }; @@ -5216,16 +5304,16 @@ const deserializeAws_restXmlS3UserMetadata = (output: any, context: __SerdeConte const deserializeAws_restXmlTransition = (output: any, context: __SerdeContext): Transition => { let contents: any = { - StorageClass: undefined, Date: undefined, + StorageClass: undefined, Days: undefined, }; - if (output["StorageClass"] !== undefined) { - contents.StorageClass = output["StorageClass"]; - } if (output["Date"] !== undefined) { contents.Date = new Date(output["Date"]); } + if (output["StorageClass"] !== undefined) { + contents.StorageClass = output["StorageClass"]; + } if (output["Days"] !== undefined) { contents.Days = parseInt(output["Days"]); } diff --git a/clients/client-s3/S3.ts b/clients/client-s3/S3.ts index 3d5f6f4501c3..54fbad863a96 100644 --- a/clients/client-s3/S3.ts +++ b/clients/client-s3/S3.ts @@ -55,6 +55,11 @@ import { DeleteBucketMetricsConfigurationCommandInput, DeleteBucketMetricsConfigurationCommandOutput, } from "./commands/DeleteBucketMetricsConfigurationCommand"; +import { + DeleteBucketOwnershipControlsCommand, + DeleteBucketOwnershipControlsCommandInput, + DeleteBucketOwnershipControlsCommandOutput, +} from "./commands/DeleteBucketOwnershipControlsCommand"; import { DeleteBucketPolicyCommand, DeleteBucketPolicyCommandInput, @@ -150,6 +155,11 @@ import { GetBucketNotificationConfigurationCommandInput, GetBucketNotificationConfigurationCommandOutput, } from "./commands/GetBucketNotificationConfigurationCommand"; +import { + GetBucketOwnershipControlsCommand, + GetBucketOwnershipControlsCommandInput, + GetBucketOwnershipControlsCommandOutput, +} from "./commands/GetBucketOwnershipControlsCommand"; import { GetBucketPolicyCommand, GetBucketPolicyCommandInput, @@ -306,6 +316,11 @@ import { PutBucketNotificationConfigurationCommandInput, PutBucketNotificationConfigurationCommandOutput, } from "./commands/PutBucketNotificationConfigurationCommand"; +import { + PutBucketOwnershipControlsCommand, + PutBucketOwnershipControlsCommandInput, + PutBucketOwnershipControlsCommandOutput, +} from "./commands/PutBucketOwnershipControlsCommand"; import { PutBucketPolicyCommand, PutBucketPolicyCommandInput, @@ -392,7 +407,7 @@ export class S3 extends S3Client { /** *

                            This operation aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads might or might not succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts.

                            *

                            To verify that all parts have been removed, so you don't get charged for the part storage, you - * should call the ListParts operation and ensure that the parts list is + * should call the ListParts operation and ensure that the parts list is * empty.

                            *

                            For information about permissions required to use the multipart upload API, see Multipart * Upload API and Permissions.

                            @@ -400,27 +415,27 @@ export class S3 extends S3Client { * @@ -456,7 +471,8 @@ export class S3 extends S3Client { /** *

                            Completes a multipart upload by assembling previously uploaded parts.

                            - *

                            You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an + *

                            You first initiate the multipart upload and then upload all parts using the + * UploadPart operation. After successfully uploading all relevant parts of an * upload, you call this operation to complete the upload. Upon receiving this request, Amazon * S3 concatenates all the parts in ascending order by part number to create a new object. In * the Complete Multipart Upload request, you must provide the parts list. You must ensure @@ -477,7 +493,7 @@ export class S3 extends S3Client { * * *

                            - * GetBucketLifecycle has the following special errors:

                            + * CompleteMultipartUpload has the following special errors:

                            *
                              *
                            • *

                              Error code: EntityTooSmall @@ -533,27 +549,27 @@ export class S3 extends S3Client { *

                              @@ -743,17 +759,17 @@ export class S3 extends S3Client { * Amazon S3 generates is always null.

                              *

                              If the source object's storage class is GLACIER, you must restore a copy of this object * before you can use it as a source object for the copy operation. For more information, see - * .

                              + * RestoreObject.

                              *

                              The following operations are related to CopyObject:

                              * @@ -783,21 +799,24 @@ export class S3 extends S3Client { } /** - *

                              Creates a new bucket. To create a bucket, you must register with Amazon S3 and have a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

                              - *

                              Not every string is an acceptable bucket name. For information on bucket naming restrictions, see Working with Amazon S3 Buckets.

                              + *

                              Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

                              + *

                              Not every string is an acceptable bucket name. For information about bucket naming + * restrictions, see Working with Amazon S3 + * buckets.

                              + *

                              If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

                              *

                              By default, the bucket is created in the US East (N. Virginia) Region. You can * optionally specify a Region in the request body. You might choose a Region to optimize * latency, minimize costs, or address regulatory requirements. For example, if you reside in * Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) - * Region. For more information, see How to Select a Region for Your Buckets.

                              + * Region. For more information, see Accessing a + * bucket.

                              * *

                              If you send your create bucket request to the s3.amazonaws.com endpoint, the * request goes to the us-east-1 Region. Accordingly, the signature calculations in * Signature Version 4 must use us-east-1 as the Region, even if the location constraint in * the request specifies another Region where the bucket is to be created. If you create a * bucket in a Region other than US East (N. Virginia), your application must be able to - * handle 307 redirect. For more information, see Virtual - * Hosting of Buckets.

                              + * handle 307 redirect. For more information, see Virtual hosting of buckets.

                              *
                              *

                              When creating a bucket using this operation, you can optionally specify the accounts or groups that should be granted specific permissions on the bucket. There are two ways to grant the appropriate permissions using the request headers.

                              *
                                @@ -810,9 +829,9 @@ export class S3 extends S3Client { *

                                Specify access permissions explicitly using the x-amz-grant-read, * x-amz-grant-write, x-amz-grant-read-acp, * x-amz-grant-write-acp, and x-amz-grant-full-control - * headers. These headers map to the set of permissions Amazon S3 supports in an ACL. - * For more information, see Access - * Control List (ACL) Overview.

                                + * headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For + * more information, see Access control list + * (ACL) overview.

                                *

                                You specify each grantee as a type=value pair, where the type is one of the following:

                                *
                                  *
                                • @@ -875,12 +894,12 @@ export class S3 extends S3Client { * @@ -912,7 +931,7 @@ export class S3 extends S3Client { } /** - *

                                  This operation initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request.

                                  + *

                                  This operation initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request.

                                  * *

                                  For more information about multipart uploads, see Multipart Upload Overview.

                                  * @@ -927,7 +946,12 @@ export class S3 extends S3Client { *

                                  * * - *

                                  You can optionally request server-side encryption. For server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can provide your own encryption key, or use AWS Key Management Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in UploadPart) and UploadPartCopy) requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload.

                                  + *

                                  You can optionally request server-side encryption. For server-side encryption, Amazon S3 + * encrypts your data as it writes it to disks in its data centers and decrypts it when you + * access it. You can provide your own encryption key, or use AWS Key Management Service (AWS + * KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. If you choose to provide + * your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to + * initiate the upload by using CreateMultipartUpload.

                                  *

                                  To perform a multipart upload with encryption using an AWS KMS CMK, the requester must have permission to the kms:Encrypt, kms:Decrypt, kms:ReEncrypt*, kms:GenerateDataKey*, and kms:DescribeKey actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload.

                                  * *

                                  If your AWS Identity and Access Management (IAM) user or role is in the same AWS account as the AWS KMS CMK, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role.

                                  @@ -963,7 +987,7 @@ export class S3 extends S3Client { * encrypt data, specify the following headers in the request.

                                  * @@ -3463,13 +3596,13 @@ export class S3 extends S3Client { *

                                  If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers:

                                  *
                                    *
                                  • - *

                                    x-amz-server-side​-encryption​-customer-algorithm

                                    + *

                                    x-amz-server-side-encryption-customer-algorithm

                                    *
                                  • *
                                  • - *

                                    x-amz-server-side​-encryption​-customer-key

                                    + *

                                    x-amz-server-side-encryption-customer-key

                                    *
                                  • *
                                  • - *

                                    x-amz-server-side​-encryption​-customer-key-MD5

                                    + *

                                    x-amz-server-side-encryption-customer-key-MD5

                                    *
                                  • *
                                  *

                                  For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

                                  @@ -3538,7 +3671,7 @@ export class S3 extends S3Client { * @@ -3579,17 +3712,17 @@ export class S3 extends S3Client { * @@ -3637,17 +3770,17 @@ export class S3 extends S3Client { * @@ -3694,17 +3827,17 @@ export class S3 extends S3Client { * @@ -3779,27 +3912,27 @@ export class S3 extends S3Client { * @@ -3839,7 +3972,7 @@ export class S3 extends S3Client { * response can contain valid or invalid XML. Be sure to design your application to parse the * contents of the response and handle it appropriately.

                                  * - *

                                  This API has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects.

                                  + *

                                  This API has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects.

                                  *
                                  * * @@ -3847,27 +3980,27 @@ export class S3 extends S3Client { * @@ -3902,26 +4035,26 @@ export class S3 extends S3Client { * *

                                  To use this operation in an AWS Identity and Access Management (IAM) policy, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default 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 Resources.

                                  * - *

                                  This section describes the latest revision of the API. We recommend that you use this revised API for application development. For backward compatibility, Amazon S3 continues to support the prior version of this API, ListObjects.

                                  + *

                                  This section describes the latest revision of the API. We recommend that you use this revised API for application development. For backward compatibility, Amazon S3 continues to support the prior version of this API, ListObjects.

                                  *
                                  * - *

                                  To get a list of your buckets, see ListBuckets.

                                  + *

                                  To get a list of your buckets, see ListBuckets.

                                  * *

                                  The following operations are related to ListObjectsV2:

                                  * @@ -3956,33 +4089,34 @@ export class S3 extends S3Client { } /** - *

                                  Returns metadata about all of the versions of objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions.

                                  - * + *

                                  Returns metadata about all versions of the objects in a bucket. You can also use request + * parameters as selection criteria to return metadata about a subset of all the object + * versions.

                                  * *

                                  A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately.

                                  *
                                  *

                                  To use this operation, you must have READ access to the bucket.

                                  - * + *

                                  This action is not supported by Amazon S3 on Outposts.

                                  *

                                  The following operations are related to ListObjectVersions:

                                  * @@ -4017,7 +4151,7 @@ export class S3 extends S3Client { } /** - *

                                  Lists the parts that have been uploaded for a specific multipart upload. This operation must include the upload ID, which you obtain by sending the initiate multipart upload request (see CreateMultipartUpload). This request returns a maximum of 1,000 uploaded parts. The default number of parts returned is 1,000 parts. You can restrict the number of parts returned by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. In subsequent ListParts requests you can include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response.

                                  + *

                                  Lists the parts that have been uploaded for a specific multipart upload. This operation must include the upload ID, which you obtain by sending the initiate multipart upload request (see CreateMultipartUpload). This request returns a maximum of 1,000 uploaded parts. The default number of parts returned is 1,000 parts. You can restrict the number of parts returned by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. In subsequent ListParts requests you can include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response.

                                  * *

                                  For more information on multipart uploads, see Uploading Objects Using Multipart Upload.

                                  * @@ -4027,27 +4161,27 @@ export class S3 extends S3Client { * @@ -4091,7 +4225,7 @@ export class S3 extends S3Client { *
                                * * - *

                                The GetBucketAccelerateConfiguration operation returns the transfer acceleration state of a bucket.

                                + *

                                The GetBucketAccelerateConfiguration operation returns the transfer acceleration state of a bucket.

                                * *

                                After setting the Transfer Acceleration state of a bucket to Enabled, it might take up to thirty minutes before the data transfer rates to the bucket increase.

                                * @@ -4103,12 +4237,12 @@ export class S3 extends S3Client { * @@ -4309,17 +4443,17 @@ export class S3 extends S3Client { * @@ -4442,18 +4576,18 @@ export class S3 extends S3Client { * */ @@ -4525,17 +4659,17 @@ export class S3 extends S3Client { * @@ -4593,12 +4727,12 @@ export class S3 extends S3Client { * @@ -4716,17 +4850,17 @@ export class S3 extends S3Client { * @@ -4764,7 +4898,7 @@ export class S3 extends S3Client { *

                                Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. For information about lifecycle configuration, see Managing Access Permissions to Your Amazon S3 Resources.

                                * * - *

                                Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, or a combination of both. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility. For the related API description, see PutBucketLifecycle.

                                + *

                                Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, or a combination of both. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility. For the related API description, see PutBucketLifecycle.

                                *
                                * * @@ -4821,12 +4955,12 @@ export class S3 extends S3Client { * *
                              • *

                                - * GetBucketLifecycleConfiguration + * GetBucketLifecycleConfiguration *

                                *
                              • *
                              • *

                                - * DeleteBucketLifecycle + * DeleteBucketLifecycle *

                                *
                              • *
                              @@ -4906,28 +5040,29 @@ export class S3 extends S3Client { * *

                              For more information about server access logging, see Server Access Logging.

                              * - *

                              For more information about creating a bucket, see CreateBucket. For more information about returning the logging status of a bucket, see GetBucketLogging.

                              + *

                              For more information about creating a bucket, see CreateBucket. + * For more information about returning the logging status of a bucket, see GetBucketLogging.

                              * *

                              The following operations are related to PutBucketLogging:

                              * @@ -4976,17 +5111,17 @@ export class S3 extends S3Client { * @@ -5082,7 +5217,7 @@ export class S3 extends S3Client { * @@ -5116,6 +5251,54 @@ export class S3 extends S3Client { } } + /** + *

                              Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this + * operation, you must have the s3:GetBucketOwnershipControls permission. For + * more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

                              + *

                              For information about Amazon S3 Object Ownership, see Using Object Ownership.

                              + *

                              The following operations are related to GetBucketOwnershipControls:

                              + * + */ + public putBucketOwnershipControls( + args: PutBucketOwnershipControlsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putBucketOwnershipControls( + args: PutBucketOwnershipControlsCommandInput, + cb: (err: any, data?: PutBucketOwnershipControlsCommandOutput) => void + ): void; + public putBucketOwnershipControls( + args: PutBucketOwnershipControlsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutBucketOwnershipControlsCommandOutput) => void + ): void; + public putBucketOwnershipControls( + args: PutBucketOwnershipControlsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutBucketOwnershipControlsCommandOutput) => void), + cb?: (err: any, data?: PutBucketOwnershipControlsCommandOutput) => void + ): Promise | void { + const command = new PutBucketOwnershipControlsCommand(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 an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the PutBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

                              * @@ -5133,12 +5316,12 @@ export class S3 extends S3Client { * @@ -5183,8 +5366,14 @@ export class S3 extends S3Client { * *

                              A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To choose additional subsets of objects to replicate, add a rule for each subset. All rules must specify the same destination bucket.

                              * - *

                              To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as a child of the Rule element. You can filter objects based on an object key prefix, one or more object tags, or both. When you add the Filter element in the configuration, you must also add the following elements: DeleteMarkerReplication, Status, and Priority.

                              - * + *

                              To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as a child of the Rule element. + * You can filter objects based on an object key prefix, one or more object tags, or both. When you add the Filter element in the configuration, + * you must also add the following elements: 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.

                              + *
                              *

                              For information about enabling versioning on a bucket, see Using Versioning.

                              * *

                              By default, a resource owner, in this case the AWS account that created the bucket, can perform this operation. The resource owner can also grant others permissions to perform the operation. For more information about permissions, see Specifying Permissions in a Policy and Managing Access Permissions to Your Amazon S3 Resources.

                              @@ -5194,7 +5383,7 @@ export class S3 extends S3Client { *

                              *

                              By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following: SourceSelectionCriteria, SseKmsEncryptedObjects, Status, EncryptionConfiguration, and ReplicaKmsKeyID. For information about replication configuration, see Replicating Objects Created with SSE Using CMKs stored in AWS KMS.

                              * - *

                              For information on PutBucketReplication errors, see ReplicationErrorCodeList + *

                              For information on PutBucketReplication errors, see List of replication-related error codes *

                              * * @@ -5202,12 +5391,12 @@ export class S3 extends S3Client { * @@ -5248,12 +5437,12 @@ export class S3 extends S3Client { * @@ -5342,12 +5531,12 @@ export class S3 extends S3Client { * @@ -5391,7 +5580,7 @@ export class S3 extends S3Client { *

                              * Suspended—Disables versioning for the objects in the bucket. All objects added to the bucket receive the version ID null.

                              * - *

                              If the versioning state has never been set on a bucket, it has no versioning state; a GetBucketVersioning request does not return a versioning state value.

                              + *

                              If the versioning state has never been set on a bucket, it has no versioning state; a GetBucketVersioning request does not return a versioning state value.

                              * *

                              If the bucket owner enables MFA Delete in the bucket versioning configuration, the bucket * owner must include the x-amz-mfa request header and the Status @@ -5408,17 +5597,17 @@ export class S3 extends S3Client { *

                              @@ -5634,12 +5823,14 @@ export class S3 extends S3Client { *

                              * Storage Class Options *

                              - *

                              By default, Amazon S3 uses the STANDARD storage class to store newly created objects. + *

                              By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. * The STANDARD storage class provides high durability and high availability. Depending on - * performance needs, you can specify a different storage class. For more information, see + * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only + * uses the OUTPOSTS Storage Class. For more information, see * Storage Classes in the * Amazon S3 Service Developer Guide.

                              * + * *

                              * Versioning *

                              @@ -5649,7 +5840,7 @@ export class S3 extends S3Client { * same object simultaneously, it stores all of the objects.

                              *

                              For more information about versioning, see Adding Objects to * Versioning Enabled Buckets. For information about returning the versioning state - * of a bucket, see GetBucketVersioning.

                              + * of a bucket, see GetBucketVersioning.

                              * * *

                              @@ -5658,12 +5849,12 @@ export class S3 extends S3Client { *

                              @@ -5692,9 +5883,9 @@ export class S3 extends S3Client { } /** - *

                              Uses the acl subresource to set the access control list (ACL) permissions for an - * object that already exists in a bucket. You must have WRITE_ACP permission to - * set the ACL of an object.

                              + *

                              Uses the acl subresource to set the access control list (ACL) permissions for a new or existing object in an S3 bucket. You must have WRITE_ACP permission to + * set the ACL of an object. For more information, see What permissions can I grant? in the Amazon Simple Storage Service Developer Guide.

                              + *

                              This action is not supported by Amazon S3 on Outposts.

                              *

                              Depending on your application needs, you can choose to set the ACL on an object using * either the request body or the headers. For example, if you have an existing application * that updates a bucket ACL using the request body, you can continue to use that @@ -5850,12 +6041,12 @@ export class S3 extends S3Client { *

                              @@ -5888,6 +6079,7 @@ export class S3 extends S3Client { /** *

                              Applies a Legal Hold configuration to the specified object.

                              + *

                              This action is not supported by Amazon S3 on Outposts.

                              *

                              * Related Resources *

                              @@ -5976,6 +6168,7 @@ export class S3 extends S3Client { /** *

                              Places an Object Retention configuration on an object.

                              + *

                              This action is not supported by Amazon S3 on Outposts.

                              *

                              * Related Resources *

                              @@ -6018,7 +6211,7 @@ export class S3 extends S3Client { /** *

                              Sets the supplied tag-set to an object that already exists in a bucket.

                              - *

                              A tag is a key-value pair. You can associate tags with an object by sending a PUT request against the tagging subresource that is associated with the object. You can retrieve tags by sending a GET request. For more information, see GetObjectTagging.

                              + *

                              A tag is a key-value pair. You can associate tags with an object by sending a PUT request against the tagging subresource that is associated with the object. You can retrieve tags by sending a GET request. For more information, see GetObjectTagging.

                              * *

                              For tagging-related restrictions related to characters and encodings, see Tag Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per object.

                              * @@ -6034,9 +6227,6 @@ export class S3 extends S3Client { *

                              *
                                *
                              • - *

                                - * - *

                                *
                                  *
                                • *

                                  @@ -6051,9 +6241,6 @@ export class S3 extends S3Client { *

                                *
                              • *
                              • - *

                                - * - *

                                *
                                  *
                                • *

                                  @@ -6108,7 +6295,7 @@ export class S3 extends S3Client { *

                                  @@ -6167,17 +6354,17 @@ export class S3 extends S3Client { *
                                    *
                                  • *

                                    - * GetPublicAccessBlock + * GetPublicAccessBlock *

                                    *
                                  • *
                                  • *

                                    - * DeletePublicAccessBlock + * DeletePublicAccessBlock *

                                    *
                                  • *
                                  • *

                                    - * GetBucketPolicyStatus + * GetBucketPolicyStatus *

                                    *
                                  • *
                                  • @@ -6218,7 +6405,8 @@ export class S3 extends S3Client { /** *

                                    Restores an archived copy of an object back into Amazon S3

                                    - *

                                    This operation performs the following types of requests:

                                    + *

                                    This action is not supported by Amazon S3 on Outposts.

                                    + *

                                    This action performs the following types of requests:

                                    *
                                      *
                                    • *

                                      @@ -6256,7 +6444,7 @@ export class S3 extends S3Client { *

                                        *
                                      • *

                                        - * PutObject + * PutObject *

                                        *
                                      • *
                                      • @@ -6410,7 +6598,7 @@ export class S3 extends S3Client { * action, the object expiration overrides the life span that you specify in a restore * request. For example, if you restore an object copy for 10 days, but the object is * scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information - * about lifecycle configuration, see PutBucketLifecycleConfiguration and + * about lifecycle configuration, see PutBucketLifecycleConfiguration and * Object Lifecycle Management * in Amazon Simple Storage Service Developer Guide.

                                        *

                                        @@ -6433,9 +6621,6 @@ export class S3 extends S3Client { *

                                        *
                                          *
                                        • - *

                                          - * - *

                                          *
                                            *
                                          • *

                                            @@ -6461,9 +6646,6 @@ export class S3 extends S3Client { *

                                          *
                                        • *
                                        • - *

                                          - * - *

                                          *
                                            *
                                          • *

                                            @@ -6498,12 +6680,12 @@ export class S3 extends S3Client { *

                                              *
                                            • *

                                              - * PutBucketLifecycleConfiguration + * PutBucketLifecycleConfiguration *

                                              *
                                            • *
                                            • *

                                              - * GetBucketNotificationConfiguration + * GetBucketNotificationConfiguration *

                                              *
                                            • *
                                            • @@ -6550,6 +6732,7 @@ export class S3 extends S3Client { * uses this format to parse object data into records, and returns only records that match * the specified SQL expression. You must also specify the data serialization format for * the response.

                                              + *

                                              This action is not supported by Amazon S3 on Outposts.

                                              *

                                              For more information about Amazon S3 Select, see * Selecting Content from Objects * in the Amazon Simple Storage Service Developer Guide.

                                              @@ -6595,7 +6778,7 @@ export class S3 extends S3Client { * encryption.

                                              *

                                              For objects that are encrypted with customer-provided encryption keys * (SSE-C), you must use HTTPS, and you must use the headers that are - * documented in the GetObject. For more information + * documented in the GetObject. For more information * about SSE-C, see Server-Side * Encryption (Using Customer-Provided Encryption Keys) in the * Amazon Simple Storage Service Developer Guide.

                                              @@ -6613,19 +6796,19 @@ export class S3 extends S3Client { * Working with the Response Body *

                                              *

                                              Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked - * as its value in the response. For more information, see RESTSelectObjectAppendix + * as its value in the response. For more information, see Appendix: SelectObjectContent Response * .

                                              * *

                                              *

                                              * GetObject Support *

                                              - *

                                              The SelectObjectContent operation does not support the following GetObject functionality. For more information, see GetObject.

                                              + *

                                              The SelectObjectContent operation does not support the following GetObject functionality. For more information, see GetObject.

                                              *
                                                *
                                              • *

                                                * Range: Although you can specify a scan range for an Amazon S3 Select request - * (see SelectObjectContentRequest$ScanRange in the request + * (see SelectObjectContentRequest - ScanRange in the request * parameters), you cannot specify the range of bytes of an object to return.

                                                *
                                              • *
                                              • @@ -6641,7 +6824,8 @@ export class S3 extends S3Client { * Special Errors *

                                                * - *

                                                For a list of special errors for this operation, see SelectObjectContentErrorCodeList + *

                                                For a list of special errors for this operation, see + * List of SELECT Object Content Error Codes *

                                                *

                                                * Related Resources @@ -6649,17 +6833,17 @@ export class S3 extends S3Client { *

                                                @@ -6698,11 +6882,11 @@ export class S3 extends S3Client { * *

                                                In this operation, you provide part data in your request. However, you have an * option to specify your existing Amazon S3 object as a data source for the part you are - * uploading. To upload a part from an existing object, you use the UploadPartCopy + * uploading. To upload a part from an existing object, you use the UploadPartCopy * operation.

                                                *
                                                * - *

                                                You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to + *

                                                You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to * your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must * include in your upload part request.

                                                *

                                                Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely @@ -6714,6 +6898,8 @@ export class S3 extends S3Client { * Content-MD5 header in the upload part request. Amazon S3 checks the part * data against the provided MD5 value. If they do not match, Amazon S3 returns an error.

                                                * + *

                                                If the upload request is signed with Signature Version 4, then AWS S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (AWS Signature Version 4).

                                                + * * * *

                                                @@ -6730,14 +6916,14 @@ export class S3 extends S3Client { * the option of providing your own encryption key, or you can use the AWS managed encryption * keys. If you choose to provide your own encryption key, the request headers you provide in * the request must match the headers you used in the request to initiate the upload by using - * CreateMultipartUpload. For more information, go to Using Server-Side Encryption in + * CreateMultipartUpload. For more information, go to Using Server-Side Encryption in * the Amazon Simple Storage Service Developer Guide.

                                                * *

                                                Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are * using a customer-provided encryption key, you don't need to specify the encryption * parameters in each UploadPart request. Instead, you only need to specify the server-side * encryption parameters in the initial Initiate Multipart request. For more information, see - * CreateMultipartUpload.

                                                + * CreateMultipartUpload.

                                                * *

                                                If you requested server-side encryption using a customer-provided encryption * key in your initiate multipart upload request, you must provide identical @@ -6746,13 +6932,13 @@ export class S3 extends S3Client { * *

                                                  *
                                                • - *

                                                  x-amz-server-side​-encryption​-customer-algorithm

                                                  + *

                                                  x-amz-server-side-encryption-customer-algorithm

                                                  *
                                                • *
                                                • - *

                                                  x-amz-server-side​-encryption​-customer-key

                                                  + *

                                                  x-amz-server-side-encryption-customer-key

                                                  *
                                                • *
                                                • - *

                                                  x-amz-server-side​-encryption​-customer-key-MD5

                                                  + *

                                                  x-amz-server-side-encryption-customer-key-MD5

                                                  *
                                                • *
                                                * @@ -6761,9 +6947,6 @@ export class S3 extends S3Client { *

                                                *
                                                  *
                                                • - *

                                                  - * - *

                                                  * *

                                                  Note the following additional considerations about the request headers @@ -6947,9 +7130,6 @@ export class S3 extends S3Client { *

                                                  *
                                                    *
                                                  • - *

                                                    - * - *

                                                    *
                                                      *
                                                    • *

                                                      @@ -6969,9 +7149,6 @@ export class S3 extends S3Client { *

                                                    *
                                                  • *
                                                  • - *

                                                    - * - *

                                                    *
                                                      *
                                                    • *

                                                      @@ -7003,32 +7180,32 @@ export class S3 extends S3Client { *

                                                      diff --git a/clients/client-s3/S3Client.ts b/clients/client-s3/S3Client.ts index 8df0f9973e6e..0b408bae235f 100644 --- a/clients/client-s3/S3Client.ts +++ b/clients/client-s3/S3Client.ts @@ -34,6 +34,10 @@ import { DeleteBucketMetricsConfigurationCommandInput, DeleteBucketMetricsConfigurationCommandOutput, } from "./commands/DeleteBucketMetricsConfigurationCommand"; +import { + DeleteBucketOwnershipControlsCommandInput, + DeleteBucketOwnershipControlsCommandOutput, +} from "./commands/DeleteBucketOwnershipControlsCommand"; import { DeleteBucketPolicyCommandInput, DeleteBucketPolicyCommandOutput } from "./commands/DeleteBucketPolicyCommand"; import { DeleteBucketReplicationCommandInput, @@ -89,6 +93,10 @@ import { GetBucketNotificationConfigurationCommandInput, GetBucketNotificationConfigurationCommandOutput, } from "./commands/GetBucketNotificationConfigurationCommand"; +import { + GetBucketOwnershipControlsCommandInput, + GetBucketOwnershipControlsCommandOutput, +} from "./commands/GetBucketOwnershipControlsCommand"; import { GetBucketPolicyCommandInput, GetBucketPolicyCommandOutput } from "./commands/GetBucketPolicyCommand"; import { GetBucketPolicyStatusCommandInput, @@ -176,6 +184,10 @@ import { PutBucketNotificationConfigurationCommandInput, PutBucketNotificationConfigurationCommandOutput, } from "./commands/PutBucketNotificationConfigurationCommand"; +import { + PutBucketOwnershipControlsCommandInput, + PutBucketOwnershipControlsCommandOutput, +} from "./commands/PutBucketOwnershipControlsCommand"; import { PutBucketPolicyCommandInput, PutBucketPolicyCommandOutput } from "./commands/PutBucketPolicyCommand"; import { PutBucketReplicationCommandInput, @@ -289,6 +301,7 @@ export type ServiceInputTypes = | DeleteBucketInventoryConfigurationCommandInput | DeleteBucketLifecycleCommandInput | DeleteBucketMetricsConfigurationCommandInput + | DeleteBucketOwnershipControlsCommandInput | DeleteBucketPolicyCommandInput | DeleteBucketReplicationCommandInput | DeleteBucketTaggingCommandInput @@ -308,6 +321,7 @@ export type ServiceInputTypes = | GetBucketLoggingCommandInput | GetBucketMetricsConfigurationCommandInput | GetBucketNotificationConfigurationCommandInput + | GetBucketOwnershipControlsCommandInput | GetBucketPolicyCommandInput | GetBucketPolicyStatusCommandInput | GetBucketReplicationCommandInput @@ -344,6 +358,7 @@ export type ServiceInputTypes = | PutBucketLoggingCommandInput | PutBucketMetricsConfigurationCommandInput | PutBucketNotificationConfigurationCommandInput + | PutBucketOwnershipControlsCommandInput | PutBucketPolicyCommandInput | PutBucketReplicationCommandInput | PutBucketRequestPaymentCommandInput @@ -375,6 +390,7 @@ export type ServiceOutputTypes = | DeleteBucketInventoryConfigurationCommandOutput | DeleteBucketLifecycleCommandOutput | DeleteBucketMetricsConfigurationCommandOutput + | DeleteBucketOwnershipControlsCommandOutput | DeleteBucketPolicyCommandOutput | DeleteBucketReplicationCommandOutput | DeleteBucketTaggingCommandOutput @@ -394,6 +410,7 @@ export type ServiceOutputTypes = | GetBucketLoggingCommandOutput | GetBucketMetricsConfigurationCommandOutput | GetBucketNotificationConfigurationCommandOutput + | GetBucketOwnershipControlsCommandOutput | GetBucketPolicyCommandOutput | GetBucketPolicyStatusCommandOutput | GetBucketReplicationCommandOutput @@ -430,6 +447,7 @@ export type ServiceOutputTypes = | PutBucketLoggingCommandOutput | PutBucketMetricsConfigurationCommandOutput | PutBucketNotificationConfigurationCommandOutput + | PutBucketOwnershipControlsCommandOutput | PutBucketPolicyCommandOutput | PutBucketReplicationCommandOutput | PutBucketRequestPaymentCommandOutput diff --git a/clients/client-s3/commands/DeleteBucketOwnershipControlsCommand.ts b/clients/client-s3/commands/DeleteBucketOwnershipControlsCommand.ts new file mode 100644 index 000000000000..a8ae5e4fd0ab --- /dev/null +++ b/clients/client-s3/commands/DeleteBucketOwnershipControlsCommand.ts @@ -0,0 +1,75 @@ +import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; +import { DeleteBucketOwnershipControlsRequest } from "../models/models_0"; +import { + deserializeAws_restXmlDeleteBucketOwnershipControlsCommand, + serializeAws_restXmlDeleteBucketOwnershipControlsCommand, +} from "../protocols/Aws_restXml"; +import { getBucketEndpointPlugin } from "@aws-sdk/middleware-bucket-endpoint"; +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 DeleteBucketOwnershipControlsCommandInput = DeleteBucketOwnershipControlsRequest; +export type DeleteBucketOwnershipControlsCommandOutput = __MetadataBearer; + +export class DeleteBucketOwnershipControlsCommand extends $Command< + DeleteBucketOwnershipControlsCommandInput, + DeleteBucketOwnershipControlsCommandOutput, + S3ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteBucketOwnershipControlsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: S3ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use(getBucketEndpointPlugin(configuration)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteBucketOwnershipControlsRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteBucketOwnershipControlsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlDeleteBucketOwnershipControlsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restXmlDeleteBucketOwnershipControlsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-s3/commands/GetBucketOwnershipControlsCommand.ts b/clients/client-s3/commands/GetBucketOwnershipControlsCommand.ts new file mode 100644 index 000000000000..473e3cf51262 --- /dev/null +++ b/clients/client-s3/commands/GetBucketOwnershipControlsCommand.ts @@ -0,0 +1,75 @@ +import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; +import { GetBucketOwnershipControlsOutput, GetBucketOwnershipControlsRequest } from "../models/models_0"; +import { + deserializeAws_restXmlGetBucketOwnershipControlsCommand, + serializeAws_restXmlGetBucketOwnershipControlsCommand, +} from "../protocols/Aws_restXml"; +import { getBucketEndpointPlugin } from "@aws-sdk/middleware-bucket-endpoint"; +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 GetBucketOwnershipControlsCommandInput = GetBucketOwnershipControlsRequest; +export type GetBucketOwnershipControlsCommandOutput = GetBucketOwnershipControlsOutput & __MetadataBearer; + +export class GetBucketOwnershipControlsCommand extends $Command< + GetBucketOwnershipControlsCommandInput, + GetBucketOwnershipControlsCommandOutput, + S3ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetBucketOwnershipControlsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: S3ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use(getBucketEndpointPlugin(configuration)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetBucketOwnershipControlsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetBucketOwnershipControlsOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetBucketOwnershipControlsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlGetBucketOwnershipControlsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restXmlGetBucketOwnershipControlsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-s3/commands/PutBucketOwnershipControlsCommand.ts b/clients/client-s3/commands/PutBucketOwnershipControlsCommand.ts new file mode 100644 index 000000000000..79c75e5c3065 --- /dev/null +++ b/clients/client-s3/commands/PutBucketOwnershipControlsCommand.ts @@ -0,0 +1,75 @@ +import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; +import { PutBucketOwnershipControlsRequest } from "../models/models_0"; +import { + deserializeAws_restXmlPutBucketOwnershipControlsCommand, + serializeAws_restXmlPutBucketOwnershipControlsCommand, +} from "../protocols/Aws_restXml"; +import { getBucketEndpointPlugin } from "@aws-sdk/middleware-bucket-endpoint"; +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 PutBucketOwnershipControlsCommandInput = PutBucketOwnershipControlsRequest; +export type PutBucketOwnershipControlsCommandOutput = __MetadataBearer; + +export class PutBucketOwnershipControlsCommand extends $Command< + PutBucketOwnershipControlsCommandInput, + PutBucketOwnershipControlsCommandOutput, + S3ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutBucketOwnershipControlsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: S3ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use(getBucketEndpointPlugin(configuration)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: PutBucketOwnershipControlsRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: PutBucketOwnershipControlsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restXmlPutBucketOwnershipControlsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restXmlPutBucketOwnershipControlsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-s3/commands/RestoreObjectCommand.ts b/clients/client-s3/commands/RestoreObjectCommand.ts index 8361c0a8e948..b0c78266f555 100644 --- a/clients/client-s3/commands/RestoreObjectCommand.ts +++ b/clients/client-s3/commands/RestoreObjectCommand.ts @@ -1,5 +1,6 @@ import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; -import { RestoreObjectOutput, RestoreObjectRequest } from "../models/models_0"; +import { RestoreObjectOutput } from "../models/models_0"; +import { RestoreObjectRequest } from "../models/models_1"; import { deserializeAws_restXmlRestoreObjectCommand, serializeAws_restXmlRestoreObjectCommand, diff --git a/clients/client-s3/index.ts b/clients/client-s3/index.ts index 702794fad8d1..fe04e460928c 100644 --- a/clients/client-s3/index.ts +++ b/clients/client-s3/index.ts @@ -12,6 +12,7 @@ export * from "./commands/DeleteBucketEncryptionCommand"; export * from "./commands/DeleteBucketInventoryConfigurationCommand"; export * from "./commands/DeleteBucketLifecycleCommand"; export * from "./commands/DeleteBucketMetricsConfigurationCommand"; +export * from "./commands/DeleteBucketOwnershipControlsCommand"; export * from "./commands/DeleteBucketPolicyCommand"; export * from "./commands/DeleteBucketReplicationCommand"; export * from "./commands/DeleteBucketTaggingCommand"; @@ -31,6 +32,7 @@ export * from "./commands/GetBucketLocationCommand"; export * from "./commands/GetBucketLoggingCommand"; export * from "./commands/GetBucketMetricsConfigurationCommand"; export * from "./commands/GetBucketNotificationConfigurationCommand"; +export * from "./commands/GetBucketOwnershipControlsCommand"; export * from "./commands/GetBucketPolicyCommand"; export * from "./commands/GetBucketPolicyStatusCommand"; export * from "./commands/GetBucketReplicationCommand"; @@ -68,6 +70,7 @@ export * from "./commands/PutBucketLifecycleConfigurationCommand"; export * from "./commands/PutBucketLoggingCommand"; export * from "./commands/PutBucketMetricsConfigurationCommand"; export * from "./commands/PutBucketNotificationConfigurationCommand"; +export * from "./commands/PutBucketOwnershipControlsCommand"; export * from "./commands/PutBucketPolicyCommand"; export * from "./commands/PutBucketReplicationCommand"; export * from "./commands/PutBucketRequestPaymentCommand"; diff --git a/clients/client-s3/models/models_0.ts b/clients/client-s3/models/models_0.ts index 19452c9ba47c..d25ef12197b7 100644 --- a/clients/client-s3/models/models_0.ts +++ b/clients/client-s3/models/models_0.ts @@ -39,10 +39,9 @@ export type RequestPayer = "requester"; export interface AbortMultipartUploadRequest { /** - *

                                                      The bucket name to which the upload was taking place.

                                                      - *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      Upload ID that identifies the multipart upload.

                                                      */ - Bucket: string | undefined; + UploadId: string | undefined; /** *

                                                      Confirms that the requester knows that they will be charged for the request. Bucket @@ -53,14 +52,21 @@ export interface AbortMultipartUploadRequest { RequestPayer?: RequestPayer | string; /** - *

                                                      Upload ID that identifies the multipart upload.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - UploadId: string | undefined; + ExpectedBucketOwner?: string; /** *

                                                      Key of the object for which the multipart upload was initiated.

                                                      */ Key: string | undefined; + + /** + *

                                                      The bucket name to which the upload was taking place.

                                                      + *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                      + */ + Bucket: string | undefined; } export namespace AbortMultipartUploadRequest { @@ -109,16 +115,6 @@ export type Type = "AmazonCustomerByEmail" | "CanonicalUser" | "Group"; *

                                                      Container for the person being granted permissions.

                                                      */ export interface Grantee { - /** - *

                                                      The canonical user ID of the grantee.

                                                      - */ - ID?: string; - - /** - *

                                                      Screen name of the grantee.

                                                      - */ - DisplayName?: string; - /** *

                                                      Email address of the grantee.

                                                      * @@ -154,11 +150,21 @@ export interface Grantee { */ EmailAddress?: string; + /** + *

                                                      Screen name of the grantee.

                                                      + */ + DisplayName?: string; + /** *

                                                      URI of the grantee group.

                                                      */ URI?: string; + /** + *

                                                      The canonical user ID of the grantee.

                                                      + */ + ID?: string; + /** *

                                                      Type of grantee

                                                      */ @@ -178,14 +184,14 @@ export type Permission = "FULL_CONTROL" | "READ" | "READ_ACP" | "WRITE" | "WRITE */ export interface Grant { /** - *

                                                      Specifies the permission given to the grantee.

                                                      + *

                                                      The person being granted permissions.

                                                      */ - Permission?: Permission | string; + Grantee?: Grantee; /** - *

                                                      The person being granted permissions.

                                                      + *

                                                      Specifies the permission given to the grantee.

                                                      */ - Grantee?: Grantee; + Permission?: Permission | string; } export namespace Grant { @@ -259,24 +265,21 @@ export type ServerSideEncryption = "AES256" | "aws:kms"; export interface CompleteMultipartUploadOutput { /** - *

                                                      The object key of the newly created object.

                                                      - */ - Key?: string; - - /** - *

                                                      Version ID of the newly created object, in case the bucket has versioning turned on.

                                                      + *

                                                      If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.

                                                      */ - VersionId?: string; + Expiration?: string; /** - *

                                                      The URI that identifies the newly created object.

                                                      + *

                                                      The name of the bucket that contains the newly created object.

                                                      + *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                      */ - Location?: string; + Bucket?: string; /** - *

                                                      If present, indicates that the requester was successfully charged for the request.

                                                      + *

                                                      If you specified server-side encryption either with an Amazon S3-managed encryption key or an AWS KMS customer master key (CMK) in your initiate multipart upload request, the response includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the object.

                                                      */ - RequestCharged?: RequestCharged | string; + ServerSideEncryption?: ServerSideEncryption | string; /** *

                                                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key @@ -285,24 +288,29 @@ export interface CompleteMultipartUploadOutput { SSEKMSKeyId?: string; /** - *

                                                      If you specified server-side encryption either with an Amazon S3-managed encryption key or an AWS KMS customer master key (CMK) in your initiate multipart upload request, the response includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the object.

                                                      + *

                                                      The URI that identifies the newly created object.

                                                      */ - ServerSideEncryption?: ServerSideEncryption | string; + Location?: string; /** - *

                                                      If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.

                                                      + *

                                                      Version ID of the newly created object, in case the bucket has versioning turned on.

                                                      */ - Expiration?: string; + VersionId?: string; /** - *

                                                      Entity tag that identifies the newly created object's data. Objects with different object data will have different entity tags. The entity tag is an opaque string. The entity tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters and/or will consist of less than 32 or more than 32 hexadecimal digits.

                                                      + *

                                                      If present, indicates that the requester was successfully charged for the request.

                                                      */ - ETag?: string; + RequestCharged?: RequestCharged | string; /** - *

                                                      The name of the bucket that contains the newly created object.

                                                      + *

                                                      The object key of the newly created object.

                                                      */ - Bucket?: string; + Key?: string; + + /** + *

                                                      Entity tag that identifies the newly created object's data. Objects with different object data will have different entity tags. The entity tag is an opaque string. The entity tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters and/or will consist of less than 32 or more than 32 hexadecimal digits.

                                                      + */ + ETag?: string; } export namespace CompleteMultipartUploadOutput { @@ -351,9 +359,9 @@ export namespace CompletedMultipartUpload { export interface CompleteMultipartUploadRequest { /** - *

                                                      ID for the initiated multipart upload.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - UploadId: string | undefined; + ExpectedBucketOwner?: string; /** *

                                                      Confirms that the requester knows that they will be charged for the request. Bucket @@ -364,9 +372,9 @@ export interface CompleteMultipartUploadRequest { RequestPayer?: RequestPayer | string; /** - *

                                                      The container for the multipart upload request information.

                                                      + *

                                                      Object key for which the multipart upload was initiated.

                                                      */ - MultipartUpload?: CompletedMultipartUpload; + Key: string | undefined; /** *

                                                      Name of the bucket to which the multipart upload was initiated.

                                                      @@ -374,9 +382,14 @@ export interface CompleteMultipartUploadRequest { Bucket: string | undefined; /** - *

                                                      Object key for which the multipart upload was initiated.

                                                      + *

                                                      ID for the initiated multipart upload.

                                                      */ - Key: string | undefined; + UploadId: string | undefined; + + /** + *

                                                      The container for the multipart upload request information.

                                                      + */ + MultipartUpload?: CompletedMultipartUpload; } export namespace CompleteMultipartUploadRequest { @@ -390,14 +403,14 @@ export namespace CompleteMultipartUploadRequest { */ export interface CopyObjectResult { /** - *

                                                      Returns the date that the object was last modified.

                                                      + *

                                                      Returns the ETag of the new object. The ETag reflects only changes to the contents of an object, not its metadata. The source and destination ETag is identical for a successfully copied object.

                                                      */ - LastModified?: Date; + ETag?: string; /** - *

                                                      Returns the ETag of the new object. The ETag reflects only changes to the contents of an object, not its metadata. The source and destination ETag is identical for a successfully copied object.

                                                      + *

                                                      Returns the date that the object was last modified.

                                                      */ - ETag?: string; + LastModified?: Date; } export namespace CopyObjectResult { @@ -407,11 +420,6 @@ export namespace CopyObjectResult { } export interface CopyObjectOutput { - /** - *

                                                      If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                      - */ - SSECustomerAlgorithm?: string; - /** *

                                                      If server-side encryption with a customer-provided encryption key was requested, the response * will include this header to provide round-trip message integrity verification of the @@ -420,21 +428,24 @@ export interface CopyObjectOutput { SSECustomerKeyMD5?: string; /** - *

                                                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key - * (CMK) that was used for the object.

                                                      + *

                                                      If the object expiration is configured, the response includes this header.

                                                      */ - SSEKMSKeyId?: string; + Expiration?: string; /** - *

                                                      Version of the copied object in the destination bucket.

                                                      + *

                                                      Version ID of the newly created copy.

                                                      */ - CopySourceVersionId?: string; + VersionId?: string; /** - *

                                                      The server-side encryption algorithm used when storing this object in Amazon S3 (for example, - * AES256, aws:kms).

                                                      + *

                                                      If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                      */ - ServerSideEncryption?: ServerSideEncryption | string; + SSECustomerAlgorithm?: string; + + /** + *

                                                      Version of the copied object in the destination bucket.

                                                      + */ + CopySourceVersionId?: string; /** *

                                                      Container for all response elements.

                                                      @@ -447,26 +458,28 @@ export interface CopyObjectOutput { SSEKMSEncryptionContext?: string; /** - *

                                                      If present, indicates that the requester was successfully charged for the request.

                                                      + *

                                                      The server-side encryption algorithm used when storing this object in Amazon S3 (for example, + * AES256, aws:kms).

                                                      */ - RequestCharged?: RequestCharged | string; + ServerSideEncryption?: ServerSideEncryption | string; /** - *

                                                      Version ID of the newly created copy.

                                                      + *

                                                      If present, indicates that the requester was successfully charged for the request.

                                                      */ - VersionId?: string; + RequestCharged?: RequestCharged | string; /** - *

                                                      If the object expiration is configured, the response includes this header.

                                                      + *

                                                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key + * (CMK) that was used for the object.

                                                      */ - Expiration?: string; + SSEKMSKeyId?: string; } export namespace CopyObjectOutput { export const filterSensitiveLog = (obj: CopyObjectOutput): any => ({ ...obj, - ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }), ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }), + ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }), }); } @@ -490,6 +503,7 @@ export type StorageClass = | "GLACIER" | "INTELLIGENT_TIERING" | "ONEZONE_IA" + | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA"; @@ -498,52 +512,60 @@ export type TaggingDirective = "COPY" | "REPLACE"; export interface CopyObjectRequest { /** - *

                                                      Allows grantee to read the object ACL.

                                                      + *

                                                      The tag-set for the object destination object this value must be used in conjunction with the + * TaggingDirective. The tag-set must be encoded as URL Query + * parameters.

                                                      */ - GrantReadACP?: string; + Tagging?: string; /** - *

                                                      The key of the destination object.

                                                      + *

                                                      Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

                                                      */ - Key: string | undefined; + SSEKMSEncryptionContext?: string; /** - *

                                                      Specifies whether you want to apply a Legal Hold to the copied object.

                                                      + *

                                                      The canned ACL to apply to the object.

                                                      + *

                                                      This action is not supported by Amazon S3 on Outposts.

                                                      */ - ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string; + ACL?: ObjectCannedACL | string; /** - *

                                                      Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an - * object protected by AWS KMS will fail if not made via SSL or using SigV4. For information - * about configuring using any of the officially supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication - * in the Amazon S3 Developer Guide.

                                                      + *

                                                      The date and time at which the object is no longer cacheable.

                                                      */ - SSEKMSKeyId?: string; + Expires?: Date; /** - *

                                                      Specifies the algorithm to use when decrypting the source object (for example, AES256).

                                                      + *

                                                      The account id of the expected destination bucket owner. If the destination bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - CopySourceSSECustomerAlgorithm?: string; + ExpectedBucketOwner?: string; /** - *

                                                      Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

                                                      + *

                                                      Copies the object if it has been modified since the specified time.

                                                      */ - ContentEncoding?: string; + CopySourceIfModifiedSince?: Date; /** - *

                                                      Allows grantee to read the object data and its metadata.

                                                      + *

                                                      Specifies presentational information for the object.

                                                      */ - GrantRead?: string; + ContentDisposition?: string; /** - *

                                                      Copies the object if it hasn't been modified since the specified time.

                                                      + *

                                                      Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This + * value is used to store the object and then it is discarded; Amazon S3 does not store the + * encryption key. The key must be appropriate for use with the algorithm specified in the + * x-amz-server-side-encryption-customer-algorithm header.

                                                      */ - CopySourceIfUnmodifiedSince?: Date; + SSECustomerKey?: string; /** - *

                                                      Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.

                                                      + *

                                                      If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

                                                      */ - TaggingDirective?: TaggingDirective | string; + WebsiteRedirectLocation?: string; + + /** + *

                                                      The date and time when you want the copied object's Object Lock to expire.

                                                      + */ + ObjectLockRetainUntilDate?: Date; /** *

                                                      The language the content is in.

                                                      @@ -551,27 +573,60 @@ export interface CopyObjectRequest { ContentLanguage?: string; /** - *

                                                      Specifies presentational information for the object.

                                                      + *

                                                      Allows grantee to read the object data and its metadata.

                                                      + *

                                                      This action is not supported by Amazon S3 on Outposts.

                                                      */ - ContentDisposition?: string; + GrantRead?: string; /** - *

                                                      Copies the object if its entity tag (ETag) matches the specified tag.

                                                      + *

                                                      Specifies whether you want to apply a Legal Hold to the copied object.

                                                      */ - CopySourceIfMatch?: string; + ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string; /** - *

                                                      A standard MIME type describing the format of the object data.

                                                      + *

                                                      The key of the destination object.

                                                      */ - ContentType?: string; + Key: string | undefined; /** - *

                                                      Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This - * value is used to store the object and then it is discarded; Amazon S3 does not store the - * encryption key. The key must be appropriate for use with the algorithm specified in the - * x-amz-server-side​-encryption​-customer-algorithm header.

                                                      + *

                                                      Allows grantee to write the ACL for the applicable object.

                                                      + *

                                                      This action is not supported by Amazon S3 on Outposts.

                                                      */ - SSECustomerKey?: string; + GrantWriteACP?: string; + + /** + *

                                                      Specifies the source object for the copy operation. You specify the value in one of two formats, depending on whether you want + * to access the source object through an access point:

                                                      + *
                                                        + *
                                                      • + *

                                                        For objects not accessed through an access point, specify the name of the source bucket and the key of the source object, separated by a slash (/). + * For example, to copy the object reports/january.pdf from the bucket awsexamplebucket, use awsexamplebucket/reports/january.pdf. The value must be URL encoded.

                                                        + *
                                                      • + *
                                                      • + *

                                                        For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                                                        + * + *

                                                        Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                                                        + *
                                                        + *

                                                        Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL encoded.

                                                        + *
                                                      • + *
                                                      + *

                                                      To copy a specific version of an object, append ?versionId= + * to the value (for example, + * awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893). + * If you don't specify a version ID, Amazon S3 copies the latest version of the source + * object.

                                                      + */ + CopySource: string | undefined; + + /** + *

                                                      Specifies the algorithm to use when decrypting the source object (for example, AES256).

                                                      + */ + CopySourceSSECustomerAlgorithm?: string; + + /** + *

                                                      Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.

                                                      + */ + CopySourceSSECustomerKey?: string; /** *

                                                      Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses @@ -581,14 +636,15 @@ export interface CopyObjectRequest { CopySourceSSECustomerKeyMD5?: string; /** - *

                                                      The name of the destination bucket.

                                                      + *

                                                      Specifies caching behavior along the request/reply chain.

                                                      */ - Bucket: string | undefined; + CacheControl?: string; /** - *

                                                      Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                      + *

                                                      Allows grantee to read the object ACL.

                                                      + *

                                                      This action is not supported by Amazon S3 on Outposts.

                                                      */ - SSECustomerAlgorithm?: string; + GrantReadACP?: string; /** *

                                                      Confirms that the requester knows that they will be charged for the request. Bucket @@ -599,113 +655,112 @@ export interface CopyObjectRequest { RequestPayer?: RequestPayer | string; /** - *

                                                      The date and time when you want the copied object's Object Lock to expire.

                                                      + *

                                                      A map of metadata to store with the object in S3.

                                                      */ - ObjectLockRetainUntilDate?: Date; + Metadata?: { [key: string]: string }; /** - *

                                                      The date and time at which the object is no longer cacheable.

                                                      + *

                                                      Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses + * this header for a message integrity check to ensure that the encryption key was transmitted + * without error.

                                                      */ - Expires?: Date; + SSECustomerKeyMD5?: string; /** - *

                                                      The tag-set for the object destination object this value must be used in conjunction with the - * TaggingDirective. The tag-set must be encoded as URL Query - * parameters.

                                                      + *

                                                      Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.

                                                      */ - Tagging?: string; + TaggingDirective?: TaggingDirective | string; /** - *

                                                      If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

                                                      + *

                                                      Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

                                                      */ - WebsiteRedirectLocation?: string; + ContentEncoding?: string; /** - *

                                                      Allows grantee to write the ACL for the applicable object.

                                                      + *

                                                      Copies the object if it hasn't been modified since the specified time.

                                                      */ - GrantWriteACP?: string; + CopySourceIfUnmodifiedSince?: Date; /** - *

                                                      Specifies caching behavior along the request/reply chain.

                                                      + *

                                                      A standard MIME type describing the format of the object data.

                                                      */ - CacheControl?: string; - - /** - *

                                                      Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses - * this header for a message integrity check to ensure that the encryption key was transmitted - * without error.

                                                      - */ - SSECustomerKeyMD5?: string; - - /** - *

                                                      The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.

                                                      - */ - CopySource: string | undefined; + ContentType?: string; /** - *

                                                      Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.

                                                      + *

                                                      Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                      */ - CopySourceSSECustomerKey?: string; + SSECustomerAlgorithm?: string; /** - *

                                                      The type of storage to use for the object. Defaults to 'STANDARD'.

                                                      + *

                                                      Copies the object if its entity tag (ETag) matches the specified tag.

                                                      */ - StorageClass?: StorageClass | string; + CopySourceIfMatch?: string; /** - *

                                                      Copies the object if it has been modified since the specified time.

                                                      + *

                                                      The name of the destination bucket.

                                                      + *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                      */ - CopySourceIfModifiedSince?: Date; + Bucket: string | undefined; /** - *

                                                      The canned ACL to apply to the object.

                                                      + *

                                                      The Object Lock mode that you want to apply to the copied object.

                                                      */ - ACL?: ObjectCannedACL | string; + ObjectLockMode?: ObjectLockMode | string; /** - *

                                                      Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

                                                      + *

                                                      Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an + * object protected by AWS KMS will fail if not made via SSL or using SigV4. For information + * about configuring using any of the officially supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication + * in the Amazon S3 Developer Guide.

                                                      */ - GrantFullControl?: string; + SSEKMSKeyId?: string; /** - *

                                                      Copies the object if its entity tag (ETag) is different than the specified ETag.

                                                      + *

                                                      The account id of the expected source bucket owner. If the source bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - CopySourceIfNoneMatch?: string; + ExpectedSourceBucketOwner?: string; /** - *

                                                      A map of metadata to store with the object in S3.

                                                      + *

                                                      The server-side encryption algorithm used when storing this object in Amazon S3 (for example, + * AES256, aws:kms).

                                                      */ - Metadata?: { [key: string]: string }; + ServerSideEncryption?: ServerSideEncryption | string; /** - *

                                                      Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

                                                      + *

                                                      Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.

                                                      */ - SSEKMSEncryptionContext?: string; + MetadataDirective?: MetadataDirective | string; /** - *

                                                      The server-side encryption algorithm used when storing this object in Amazon S3 (for example, - * AES256, aws:kms).

                                                      + *

                                                      Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

                                                      + *

                                                      This action is not supported by Amazon S3 on Outposts.

                                                      */ - ServerSideEncryption?: ServerSideEncryption | string; + GrantFullControl?: string; /** - *

                                                      Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.

                                                      + *

                                                      Copies the object if its entity tag (ETag) is different than the specified ETag.

                                                      */ - MetadataDirective?: MetadataDirective | string; + CopySourceIfNoneMatch?: string; /** - *

                                                      The Object Lock mode that you want to apply to the copied object.

                                                      + *

                                                      By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. + * The STANDARD storage class provides high durability and high availability. Depending on + * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only + * uses the OUTPOSTS Storage Class. For more information, see + * Storage Classes in the + * Amazon S3 Service Developer Guide.

                                                      */ - ObjectLockMode?: ObjectLockMode | string; + StorageClass?: StorageClass | string; } export namespace CopyObjectRequest { export const filterSensitiveLog = (obj: CopyObjectRequest): any => ({ ...obj, - ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }), + ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }), ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }), ...(obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: SENSITIVE_STRING }), - ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }), + ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }), }); } @@ -725,7 +780,8 @@ export namespace ObjectNotInActiveTierError { } /** - *

                                                      The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.

                                                      + *

                                                      The requested bucket name is not available. The bucket namespace is shared by all users of the + * system. Select a different name and try again.

                                                      */ export interface BucketAlreadyExists extends __SmithyException, $MetadataBearer { name: "BucketAlreadyExists"; @@ -774,14 +830,28 @@ export type BucketCannedACL = "authenticated-read" | "private" | "public-read" | export type BucketLocationConstraint = | "EU" + | "af-south-1" + | "ap-east-1" | "ap-northeast-1" + | "ap-northeast-2" + | "ap-northeast-3" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" + | "ca-central-1" | "cn-north-1" + | "cn-northwest-1" | "eu-central-1" + | "eu-north-1" + | "eu-south-1" | "eu-west-1" + | "eu-west-2" + | "eu-west-3" + | "me-south-1" | "sa-east-1" + | "us-east-2" + | "us-gov-east-1" + | "us-gov-west-1" | "us-west-1" | "us-west-2"; @@ -804,14 +874,14 @@ export namespace CreateBucketConfiguration { export interface CreateBucketRequest { /** - *

                                                      Allows grantee to create, overwrite, and delete any object in the bucket.

                                                      + *

                                                      Allows grantee to read the bucket ACL.

                                                      */ - GrantWrite?: string; + GrantReadACP?: string; /** - *

                                                      Specifies whether you want S3 Object Lock to be enabled for the new bucket.

                                                      + *

                                                      Allows grantee to list the objects in the bucket.

                                                      */ - ObjectLockEnabledForBucket?: boolean; + GrantRead?: string; /** *

                                                      The canned ACL to apply to the bucket.

                                                      @@ -819,34 +889,34 @@ export interface CreateBucketRequest { ACL?: BucketCannedACL | string; /** - *

                                                      Allows grantee to write the ACL for the applicable bucket.

                                                      + *

                                                      Allows grantee to create, overwrite, and delete any object in the bucket.

                                                      */ - GrantWriteACP?: string; + GrantWrite?: string; /** - *

                                                      Allows grantee to list the objects in the bucket.

                                                      + *

                                                      The name of the bucket to create.

                                                      */ - GrantRead?: string; + Bucket: string | undefined; /** - *

                                                      The configuration information for the bucket.

                                                      + *

                                                      Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

                                                      */ - CreateBucketConfiguration?: CreateBucketConfiguration; + GrantFullControl?: string; /** - *

                                                      Allows grantee to read the bucket ACL.

                                                      + *

                                                      Specifies whether you want S3 Object Lock to be enabled for the new bucket.

                                                      */ - GrantReadACP?: string; + ObjectLockEnabledForBucket?: boolean; /** - *

                                                      Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

                                                      + *

                                                      Allows grantee to write the ACL for the applicable bucket.

                                                      */ - GrantFullControl?: string; + GrantWriteACP?: string; /** - *

                                                      The name of the bucket to create.

                                                      + *

                                                      The configuration information for the bucket.

                                                      */ - Bucket: string | undefined; + CreateBucketConfiguration?: CreateBucketConfiguration; } export namespace CreateBucketRequest { @@ -856,36 +926,11 @@ export namespace CreateBucketRequest { } export interface CreateMultipartUploadOutput { - /** - *

                                                      If server-side encryption with a customer-provided encryption key was requested, the response - * will include this header to provide round-trip message integrity verification of the - * customer-provided encryption key.

                                                      - */ - SSECustomerKeyMD5?: string; - - /** - *

                                                      Name of the bucket to which the multipart upload was initiated.

                                                      - *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      - */ - Bucket?: string; - /** *

                                                      If present, specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

                                                      */ SSEKMSEncryptionContext?: string; - /** - *

                                                      If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                      - */ - SSECustomerAlgorithm?: string; - - /** - *

                                                      This header is returned along with the x-amz-abort-date header. It identifies the - * applicable lifecycle configuration rule that defines the action to abort incomplete - * multipart uploads.

                                                      - */ - AbortRuleId?: string; - /** *

                                                      The server-side encryption algorithm used when storing this object in Amazon S3 (for example, * AES256, aws:kms).

                                                      @@ -893,9 +938,9 @@ export interface CreateMultipartUploadOutput { ServerSideEncryption?: ServerSideEncryption | string; /** - *

                                                      ID for the initiated multipart upload.

                                                      + *

                                                      Object key for which the multipart upload was initiated.

                                                      */ - UploadId?: string; + Key?: string; /** *

                                                      If present, indicates that the requester was successfully charged for the request.

                                                      @@ -912,61 +957,69 @@ export interface CreateMultipartUploadOutput { AbortDate?: Date; /** - *

                                                      Object key for which the multipart upload was initiated.

                                                      + *

                                                      If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                      */ - Key?: string; + SSECustomerAlgorithm?: string; + + /** + *

                                                      The name of the bucket to which the multipart upload was initiated.

                                                      + *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                      + */ + Bucket?: string; /** *

                                                      If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key * (CMK) that was used for the object.

                                                      */ SSEKMSKeyId?: string; -} - -export namespace CreateMultipartUploadOutput { - export const filterSensitiveLog = (obj: CreateMultipartUploadOutput): any => ({ - ...obj, - ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }), - ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }), - }); -} -export interface CreateMultipartUploadRequest { /** - *

                                                      The server-side encryption algorithm used when storing this object in Amazon S3 (for example, - * AES256, aws:kms).

                                                      + *

                                                      This header is returned along with the x-amz-abort-date header. It identifies the + * applicable lifecycle configuration rule that defines the action to abort incomplete + * multipart uploads.

                                                      */ - ServerSideEncryption?: ServerSideEncryption | string; + AbortRuleId?: string; /** - *

                                                      If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

                                                      + *

                                                      If server-side encryption with a customer-provided encryption key was requested, the response + * will include this header to provide round-trip message integrity verification of the + * customer-provided encryption key.

                                                      */ - WebsiteRedirectLocation?: string; + SSECustomerKeyMD5?: string; /** - *

                                                      Allows grantee to write the ACL for the applicable object.

                                                      + *

                                                      ID for the initiated multipart upload.

                                                      */ - GrantWriteACP?: string; + UploadId?: string; +} - /** - *

                                                      The tag-set for the object. The tag-set must be encoded as URL Query parameters.

                                                      - */ - Tagging?: string; +export namespace CreateMultipartUploadOutput { + export const filterSensitiveLog = (obj: CreateMultipartUploadOutput): any => ({ + ...obj, + ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }), + ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }), + }); +} +export interface CreateMultipartUploadRequest { /** - *

                                                      The canned ACL to apply to the object.

                                                      + *

                                                      A map of metadata to store with the object in S3.

                                                      */ - ACL?: ObjectCannedACL | string; + Metadata?: { [key: string]: string }; /** - *

                                                      The date and time at which the object is no longer cacheable.

                                                      + *

                                                      The name of the bucket to which to initiate the upload

                                                      + *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                      */ - Expires?: Date; + Bucket: string | undefined; /** - *

                                                      Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                      + *

                                                      Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

                                                      + *

                                                      This action is not supported by Amazon S3 on Outposts.

                                                      */ - SSECustomerAlgorithm?: string; + GrantFullControl?: string; /** *

                                                      Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses @@ -976,42 +1029,57 @@ export interface CreateMultipartUploadRequest { SSECustomerKeyMD5?: string; /** - *

                                                      Allows grantee to read the object ACL.

                                                      + *

                                                      Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                      */ - GrantReadACP?: string; + SSECustomerAlgorithm?: string; /** *

                                                      Object key for which the multipart upload is to be initiated.

                                                      */ Key: string | undefined; + /** + *

                                                      Specifies the ID of the symmetric customer managed AWS KMS CMK to use for object encryption. All GET and PUT requests for an + * object protected by AWS KMS will fail if not made via SSL or using SigV4. For information + * about configuring using any of the officially supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication + * in the Amazon S3 Developer Guide.

                                                      + */ + SSEKMSKeyId?: string; + /** *

                                                      Specifies whether you want to apply a Legal Hold to the uploaded object.

                                                      */ ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string; /** - *

                                                      Specifies caching behavior along the request/reply chain.

                                                      + *

                                                      Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                      */ - CacheControl?: string; + RequestPayer?: RequestPayer | string; /** - *

                                                      A standard MIME type describing the format of the object data.

                                                      + *

                                                      Allows grantee to read the object data and its metadata.

                                                      + *

                                                      This action is not supported by Amazon S3 on Outposts.

                                                      */ - ContentType?: string; + GrantRead?: string; /** - *

                                                      Specifies the Object Lock mode that you want to apply to the uploaded object.

                                                      + *

                                                      Allows grantee to write the ACL for the applicable object.

                                                      + *

                                                      This action is not supported by Amazon S3 on Outposts.

                                                      */ - ObjectLockMode?: ObjectLockMode | string; + GrantWriteACP?: string; /** - *

                                                      Specifies the ID of the symmetric customer managed AWS KMS CMK to use for object encryption. All GET and PUT requests for an - * object protected by AWS KMS will fail if not made via SSL or using SigV4. For information - * about configuring using any of the officially supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication - * in the Amazon S3 Developer Guide.

                                                      + *

                                                      If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

                                                      */ - SSEKMSKeyId?: string; + WebsiteRedirectLocation?: string; + + /** + *

                                                      A standard MIME type describing the format of the object data.

                                                      + */ + ContentType?: string; /** *

                                                      The language the content is in.

                                                      @@ -1019,77 +1087,102 @@ export interface CreateMultipartUploadRequest { ContentLanguage?: string; /** - *

                                                      Allows grantee to read the object data and its metadata.

                                                      + *

                                                      Specifies caching behavior along the request/reply chain.

                                                      */ - GrantRead?: string; + CacheControl?: string; /** - *

                                                      Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                      + *

                                                      Allows grantee to read the object ACL.

                                                      + *

                                                      This action is not supported by Amazon S3 on Outposts.

                                                      */ - RequestPayer?: RequestPayer | string; + GrantReadACP?: string; /** - *

                                                      Specifies the date and time when you want the Object Lock to expire.

                                                      + *

                                                      The tag-set for the object. The tag-set must be encoded as URL Query parameters.

                                                      */ - ObjectLockRetainUntilDate?: Date; + Tagging?: string; /** - *

                                                      The name of the bucket to which to initiate the upload

                                                      + *

                                                      Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

                                                      */ - Bucket: string | undefined; + SSEKMSEncryptionContext?: string; /** - *

                                                      Specifies presentational information for the object.

                                                      + *

                                                      The canned ACL to apply to the object.

                                                      + *

                                                      This action is not supported by Amazon S3 on Outposts.

                                                      */ - ContentDisposition?: string; + ACL?: ObjectCannedACL | string; /** *

                                                      Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This * value is used to store the object and then it is discarded; Amazon S3 does not store the * encryption key. The key must be appropriate for use with the algorithm specified in the - * x-amz-server-side​-encryption​-customer-algorithm header.

                                                      + * x-amz-server-side-encryption-customer-algorithm header.

                                                      */ SSECustomerKey?: string; /** - *

                                                      Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - ContentEncoding?: string; + ExpectedBucketOwner?: string; /** - *

                                                      The type of storage to use for the object. Defaults to 'STANDARD'.

                                                      + *

                                                      The date and time at which the object is no longer cacheable.

                                                      */ - StorageClass?: StorageClass | string; + Expires?: Date; /** - *

                                                      A map of metadata to store with the object in S3.

                                                      + *

                                                      Specifies the date and time when you want the Object Lock to expire.

                                                      */ - Metadata?: { [key: string]: string }; + ObjectLockRetainUntilDate?: Date; /** - *

                                                      Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

                                                      + *

                                                      The server-side encryption algorithm used when storing this object in Amazon S3 (for example, + * AES256, aws:kms).

                                                      */ - GrantFullControl?: string; + ServerSideEncryption?: ServerSideEncryption | string; /** - *

                                                      Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

                                                      + *

                                                      Specifies presentational information for the object.

                                                      */ - SSEKMSEncryptionContext?: string; + ContentDisposition?: string; + + /** + *

                                                      Specifies the Object Lock mode that you want to apply to the uploaded object.

                                                      + */ + ObjectLockMode?: ObjectLockMode | string; + + /** + *

                                                      By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. + * The STANDARD storage class provides high durability and high availability. Depending on + * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only + * uses the OUTPOSTS Storage Class. For more information, see + * Storage Classes in the + * Amazon S3 Service Developer Guide.

                                                      + */ + StorageClass?: StorageClass | string; + + /** + *

                                                      Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

                                                      + */ + ContentEncoding?: string; } export namespace CreateMultipartUploadRequest { export const filterSensitiveLog = (obj: CreateMultipartUploadRequest): any => ({ ...obj, ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }), - ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }), ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }), + ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }), }); } export interface DeleteBucketRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      Specifies the bucket being deleted.

                                                      */ @@ -1104,14 +1197,19 @@ export namespace DeleteBucketRequest { export interface DeleteBucketAnalyticsConfigurationRequest { /** - *

                                                      The name of the bucket from which an analytics configuration is deleted.

                                                      + *

                                                      The ID that identifies the analytics configuration.

                                                      */ - Bucket: string | undefined; + Id: string | undefined; /** - *

                                                      The ID that identifies the analytics configuration.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - Id: string | undefined; + ExpectedBucketOwner?: string; + + /** + *

                                                      The name of the bucket from which an analytics configuration is deleted.

                                                      + */ + Bucket: string | undefined; } export namespace DeleteBucketAnalyticsConfigurationRequest { @@ -1121,6 +1219,11 @@ export namespace DeleteBucketAnalyticsConfigurationRequest { } export interface DeleteBucketCorsRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      Specifies the bucket whose cors configuration is being deleted.

                                                      */ @@ -1138,6 +1241,11 @@ export interface DeleteBucketEncryptionRequest { *

                                                      The name of the bucket containing the server-side encryption configuration to delete.

                                                      */ Bucket: string | undefined; + + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; } export namespace DeleteBucketEncryptionRequest { @@ -1148,14 +1256,19 @@ export namespace DeleteBucketEncryptionRequest { export interface DeleteBucketInventoryConfigurationRequest { /** - *

                                                      The ID used to identify the inventory configuration.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - Id: string | undefined; + ExpectedBucketOwner?: string; /** *

                                                      The name of the bucket containing the inventory configuration to delete.

                                                      */ Bucket: string | undefined; + + /** + *

                                                      The ID used to identify the inventory configuration.

                                                      + */ + Id: string | undefined; } export namespace DeleteBucketInventoryConfigurationRequest { @@ -1169,6 +1282,11 @@ export interface DeleteBucketLifecycleRequest { *

                                                      The bucket name of the lifecycle to delete.

                                                      */ Bucket: string | undefined; + + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; } export namespace DeleteBucketLifecycleRequest { @@ -1179,14 +1297,19 @@ export namespace DeleteBucketLifecycleRequest { export interface DeleteBucketMetricsConfigurationRequest { /** - *

                                                      The name of the bucket containing the metrics configuration to delete.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; /** *

                                                      The ID used to identify the metrics configuration.

                                                      */ Id: string | undefined; + + /** + *

                                                      The name of the bucket containing the metrics configuration to delete.

                                                      + */ + Bucket: string | undefined; } export namespace DeleteBucketMetricsConfigurationRequest { @@ -1195,11 +1318,30 @@ export namespace DeleteBucketMetricsConfigurationRequest { }); } +export interface DeleteBucketOwnershipControlsRequest { + ExpectedBucketOwner?: string; + /** + *

                                                      The Amazon S3 bucket whose OwnershipControls you want to delete.

                                                      + */ + Bucket: string | undefined; +} + +export namespace DeleteBucketOwnershipControlsRequest { + export const filterSensitiveLog = (obj: DeleteBucketOwnershipControlsRequest): any => ({ + ...obj, + }); +} + export interface DeleteBucketPolicyRequest { /** *

                                                      The bucket name.

                                                      */ Bucket: string | undefined; + + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; } export namespace DeleteBucketPolicyRequest { @@ -1215,6 +1357,11 @@ export interface DeleteBucketReplicationRequest { *

                                                      */ Bucket: string | undefined; + + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; } export namespace DeleteBucketReplicationRequest { @@ -1224,6 +1371,11 @@ export namespace DeleteBucketReplicationRequest { } export interface DeleteBucketTaggingRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      The bucket that has the tag set to be removed.

                                                      */ @@ -1237,6 +1389,11 @@ export namespace DeleteBucketTaggingRequest { } export interface DeleteBucketWebsiteRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      The bucket name for which you want to remove the website configuration.

                                                      */ @@ -1251,9 +1408,9 @@ export namespace DeleteBucketWebsiteRequest { export interface DeleteObjectOutput { /** - *

                                                      Returns the version ID of the delete marker created as a result of the DELETE operation.

                                                      + *

                                                      Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.

                                                      */ - VersionId?: string; + DeleteMarker?: boolean; /** *

                                                      If present, indicates that the requester was successfully charged for the request.

                                                      @@ -1261,9 +1418,9 @@ export interface DeleteObjectOutput { RequestCharged?: RequestCharged | string; /** - *

                                                      Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.

                                                      + *

                                                      Returns the version ID of the delete marker created as a result of the DELETE operation.

                                                      */ - DeleteMarker?: boolean; + VersionId?: string; } export namespace DeleteObjectOutput { @@ -1274,29 +1431,33 @@ export namespace DeleteObjectOutput { export interface DeleteObjectRequest { /** - *

                                                      VersionId used to reference a specific version of the object.

                                                      + *

                                                      The bucket name of the bucket containing the object.

                                                      + *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                      */ - VersionId?: string; + Bucket: string | undefined; /** - *

                                                      Key name of the object to delete.

                                                      + *

                                                      The concatenation of the authentication device's serial number, a space, and the value that is + * displayed on your authentication device. Required to permanently delete a versioned object + * if versioning is configured with MFA delete enabled.

                                                      */ - Key: string | undefined; + MFA?: string; /** - *

                                                      Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - RequestPayer?: RequestPayer | string; + ExpectedBucketOwner?: string; /** - *

                                                      The concatenation of the authentication device's serial number, a space, and the value that is - * displayed on your authentication device. Required to permanently delete a versioned object - * if versioning is configured with MFA delete enabled.

                                                      + *

                                                      VersionId used to reference a specific version of the object.

                                                      */ - MFA?: string; + VersionId?: string; + + /** + *

                                                      Key name of the object to delete.

                                                      + */ + Key: string | undefined; /** *

                                                      Indicates whether S3 Object Lock should bypass Governance-mode restrictions to process this operation.

                                                      @@ -1304,10 +1465,12 @@ export interface DeleteObjectRequest { BypassGovernanceRetention?: boolean; /** - *

                                                      The bucket name of the bucket containing the object.

                                                      - *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                      */ - Bucket: string | undefined; + RequestPayer?: RequestPayer | string; } export namespace DeleteObjectRequest { @@ -1321,24 +1484,24 @@ export namespace DeleteObjectRequest { */ export interface DeletedObject { /** - *

                                                      The name of the deleted object.

                                                      + *

                                                      Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker. In a simple DELETE, this header indicates whether (true) or not (false) a delete marker was created.

                                                      */ - Key?: string; + DeleteMarker?: boolean; /** - *

                                                      The version ID of the delete marker created as a result of the DELETE operation. If you delete a specific object version, the value returned by this header is the version ID of the object version deleted.

                                                      + *

                                                      The name of the deleted object.

                                                      */ - DeleteMarkerVersionId?: string; + Key?: string; /** - *

                                                      Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker. In a simple DELETE, this header indicates whether (true) or not (false) a delete marker was created.

                                                      + *

                                                      The version ID of the deleted object.

                                                      */ - DeleteMarker?: boolean; + VersionId?: string; /** - *

                                                      The version ID of the deleted object.

                                                      + *

                                                      The version ID of the delete marker created as a result of the DELETE operation. If you delete a specific object version, the value returned by this header is the version ID of the object version deleted.

                                                      */ - VersionId?: string; + DeleteMarkerVersionId?: string; } export namespace DeletedObject { @@ -1352,9 +1515,9 @@ export namespace DeletedObject { */ export interface _Error { /** - *

                                                      The error key.

                                                      + *

                                                      The error message contains a generic description of the error condition in English. It is intended for a human audience. Simple programs display the message directly to the end user if they encounter an error condition they don't know how or don't care to handle. Sophisticated programs with more exhaustive error handling and proper internationalization are more likely to ignore the error message.

                                                      */ - Key?: string; + Message?: string; /** *

                                                      The error code is a string that uniquely identifies an error condition. It is meant to be read and understood by programs that detect and handle errors by type.

                                                      @@ -3178,9 +3341,9 @@ export interface _Error { Code?: string; /** - *

                                                      The error message contains a generic description of the error condition in English. It is intended for a human audience. Simple programs display the message directly to the end user if they encounter an error condition they don't know how or don't care to handle. Sophisticated programs with more exhaustive error handling and proper internationalization are more likely to ignore the error message.

                                                      + *

                                                      The error key.

                                                      */ - Message?: string; + Key?: string; /** *

                                                      The version ID of the error.

                                                      @@ -3195,6 +3358,11 @@ export namespace _Error { } export interface DeleteObjectsOutput { + /** + *

                                                      Container for a failed delete operation that describes the object that Amazon S3 attempted to delete and the error it encountered.

                                                      + */ + Errors?: _Error[]; + /** *

                                                      Container element for a successful delete. It identifies the object that was successfully deleted.

                                                      */ @@ -3204,11 +3372,6 @@ export interface DeleteObjectsOutput { *

                                                      If present, indicates that the requester was successfully charged for the request.

                                                      */ RequestCharged?: RequestCharged | string; - - /** - *

                                                      Container for a failed delete operation that describes the object that Amazon S3 attempted to delete and the error it encountered.

                                                      - */ - Errors?: _Error[]; } export namespace DeleteObjectsOutput { @@ -3261,12 +3424,11 @@ export namespace Delete { export interface DeleteObjectsRequest { /** - *

                                                      Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                      + *

                                                      The concatenation of the authentication device's serial number, a space, and the value that is + * displayed on your authentication device. Required to permanently delete a versioned object + * if versioning is configured with MFA delete enabled.

                                                      */ - RequestPayer?: RequestPayer | string; + MFA?: string; /** *

                                                      Specifies whether you want to delete this object even if it has a Governance-type Object Lock in place. You must have sufficient permissions to perform this operation.

                                                      @@ -3274,22 +3436,29 @@ export interface DeleteObjectsRequest { BypassGovernanceRetention?: boolean; /** - *

                                                      Container for the request.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - Delete: Delete | undefined; + ExpectedBucketOwner?: string; /** *

                                                      The bucket name containing the objects to delete.

                                                      - *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                      */ Bucket: string | undefined; /** - *

                                                      The concatenation of the authentication device's serial number, a space, and the value that is - * displayed on your authentication device. Required to permanently delete a versioned object - * if versioning is configured with MFA delete enabled.

                                                      + *

                                                      Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                      */ - MFA?: string; + RequestPayer?: RequestPayer | string; + + /** + *

                                                      Container for the request.

                                                      + */ + Delete: Delete | undefined; } export namespace DeleteObjectsRequest { @@ -3313,20 +3482,26 @@ export namespace DeleteObjectTaggingOutput { export interface DeleteObjectTaggingRequest { /** - *

                                                      The versionId of the object that the tag-set will be removed from.

                                                      + *

                                                      The bucket name containing the objects from which to remove the tags.

                                                      + *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                      */ - VersionId?: string; + Bucket: string | undefined; /** - *

                                                      Name of the tag.

                                                      + *

                                                      Name of the object key.

                                                      */ Key: string | undefined; /** - *

                                                      The bucket name containing the objects from which to remove the tags.

                                                      - *

                                                      When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; + + /** + *

                                                      The versionId of the object that the tag-set will be removed from.

                                                      + */ + VersionId?: string; } export namespace DeleteObjectTaggingRequest { @@ -3336,6 +3511,11 @@ export namespace DeleteObjectTaggingRequest { } export interface DeletePublicAccessBlockRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      The Amazon S3 bucket whose PublicAccessBlock configuration you want to * delete.

                                                      @@ -3364,7 +3544,12 @@ export namespace GetBucketAccelerateConfigurationOutput { export interface GetBucketAccelerateConfigurationRequest { /** - *

                                                      Name of the bucket for which the accelerate configuration is retrieved.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + + /** + *

                                                      The name of the bucket for which the accelerate configuration is retrieved.

                                                      */ Bucket: string | undefined; } @@ -3377,14 +3562,14 @@ export namespace GetBucketAccelerateConfigurationRequest { export interface GetBucketAclOutput { /** - *

                                                      A list of grants.

                                                      + *

                                                      Container for the bucket owner's display name and ID.

                                                      */ - Grants?: Grant[]; + Owner?: Owner; /** - *

                                                      Container for the bucket owner's display name and ID.

                                                      + *

                                                      A list of grants.

                                                      */ - Owner?: Owner; + Grants?: Grant[]; } export namespace GetBucketAclOutput { @@ -3394,6 +3579,11 @@ export namespace GetBucketAclOutput { } export interface GetBucketAclRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      Specifies the S3 bucket whose ACL is being requested.

                                                      */ @@ -3411,14 +3601,14 @@ export namespace GetBucketAclRequest { */ export interface Tag { /** - *

                                                      Name of the tag.

                                                      + *

                                                      Value of the tag.

                                                      */ - Key: string | undefined; + Value: string | undefined; /** - *

                                                      Value of the tag.

                                                      + *

                                                      Name of the object key.

                                                      */ - Value: string | undefined; + Key: string | undefined; } export namespace Tag { @@ -3432,14 +3622,14 @@ export namespace Tag { */ export interface AnalyticsAndOperator { /** - *

                                                      The list of tags to use when evaluating an AND predicate.

                                                      + *

                                                      The prefix to use when evaluating an AND predicate: The prefix that an object must have to be included in the metrics results.

                                                      */ - Tags?: Tag[]; + Prefix?: string; /** - *

                                                      The prefix to use when evaluating an AND predicate: The prefix that an object must have to be included in the metrics results.

                                                      + *

                                                      The list of tags to use when evaluating an AND predicate.

                                                      */ - Prefix?: string; + Tags?: Tag[]; } export namespace AnalyticsAndOperator { @@ -3452,11 +3642,6 @@ export namespace AnalyticsAndOperator { *

                                                      The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.

                                                      */ export interface AnalyticsFilter { - /** - *

                                                      A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.

                                                      - */ - And?: AnalyticsAndOperator; - /** *

                                                      The prefix to use when evaluating an analytics filter.

                                                      */ @@ -3466,6 +3651,11 @@ export interface AnalyticsFilter { *

                                                      The tag to use when evaluating an analytics filter.

                                                      */ Tag?: Tag; + + /** + *

                                                      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 { @@ -3480,21 +3670,11 @@ export type AnalyticsS3ExportFileFormat = "CSV"; *

                                                      Contains information about where to publish the analytics results.

                                                      */ export interface AnalyticsS3BucketDestination { - /** - *

                                                      Specifies the file format used when exporting data to Amazon S3.

                                                      - */ - Format: AnalyticsS3ExportFileFormat | string | undefined; - /** *

                                                      The prefix to use when exporting data. The prefix is prepended to all results.

                                                      */ Prefix?: string; - /** - *

                                                      The Amazon Resource Name (ARN) of the bucket to which data is exported.

                                                      - */ - Bucket: string | undefined; - /** *

                                                      The account ID that owns the destination S3 bucket. * If no account ID is provided, the owner is not validated before exporting data.

                                                      @@ -3506,6 +3686,16 @@ export interface AnalyticsS3BucketDestination { *
                                                      */ BucketAccountId?: string; + + /** + *

                                                      The Amazon Resource Name (ARN) of the bucket to which data is exported.

                                                      + */ + Bucket: string | undefined; + + /** + *

                                                      Specifies the file format used when exporting data to Amazon S3.

                                                      + */ + Format: AnalyticsS3ExportFileFormat | string | undefined; } export namespace AnalyticsS3BucketDestination { @@ -3536,16 +3726,16 @@ export type StorageClassAnalysisSchemaVersion = "V_1"; *

                                                      Container for data related to the storage class analysis for an Amazon S3 bucket for export.

                                                      */ export interface StorageClassAnalysisDataExport { - /** - *

                                                      The place to store the data for an analysis.

                                                      - */ - Destination: AnalyticsExportDestination | undefined; - /** *

                                                      The version of the output schema to use when exporting data. Must be V_1.

                                                      */ OutputSchemaVersion: StorageClassAnalysisSchemaVersion | string | undefined; -} + + /** + *

                                                      The place to store the data for an analysis.

                                                      + */ + Destination: AnalyticsExportDestination | undefined; +} export namespace StorageClassAnalysisDataExport { export const filterSensitiveLog = (obj: StorageClassAnalysisDataExport): any => ({ @@ -3612,6 +3802,11 @@ export namespace GetBucketAnalyticsConfigurationOutput { } export interface GetBucketAnalyticsConfigurationRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      The name of the bucket from which an analytics configuration is retrieved.

                                                      */ @@ -3634,9 +3829,12 @@ export namespace GetBucketAnalyticsConfigurationRequest { */ export interface CORSRule { /** - *

                                                      The time in seconds that your browser is to cache the preflight response for the specified resource.

                                                      + *

                                                      Headers that are specified in the Access-Control-Request-Headers + * header. These headers are allowed in a preflight OPTIONS request. In response to + * any preflight OPTIONS request, Amazon S3 returns any requested headers that are + * allowed.

                                                      */ - MaxAgeSeconds?: number; + AllowedHeaders?: string[]; /** *

                                                      One or more origins you want customers to be able to access the bucket from.

                                                      @@ -3644,12 +3842,14 @@ export interface CORSRule { AllowedOrigins: string[] | undefined; /** - *

                                                      Headers that are specified in the Access-Control-Request-Headers - * header. These headers are allowed in a preflight OPTIONS request. In response to - * any preflight OPTIONS request, Amazon S3 returns any requested headers that are - * allowed.

                                                      + *

                                                      The time in seconds that your browser is to cache the preflight response for the specified resource.

                                                      */ - AllowedHeaders?: string[]; + MaxAgeSeconds?: number; + + /** + *

                                                      One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

                                                      + */ + ExposeHeaders?: string[]; /** *

                                                      An HTTP method that you allow the origin to execute. Valid values are @@ -3657,11 +3857,6 @@ export interface CORSRule { * DELETE.

                                                      */ AllowedMethods: string[] | undefined; - - /** - *

                                                      One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

                                                      - */ - ExposeHeaders?: string[]; } export namespace CORSRule { @@ -3688,6 +3883,11 @@ export interface GetBucketCorsRequest { *

                                                      The bucket name for which to get the cors configuration.

                                                      */ Bucket: string | undefined; + + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; } export namespace GetBucketCorsRequest { @@ -3700,6 +3900,11 @@ export namespace GetBucketCorsRequest { *

                                                      Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. For more information, see PUT Bucket encryption in the Amazon Simple Storage Service API Reference.

                                                      */ export interface ServerSideEncryptionByDefault { + /** + *

                                                      Server-side encryption algorithm to use for the default encryption.

                                                      + */ + SSEAlgorithm: ServerSideEncryption | string | undefined; + /** *

                                                      AWS Key Management Service (KMS) customer master key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms.

                                                      *

                                                      You can specify the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are using encryption with cross-account operations, you must use a fully qualified CMK ARN. For more information, see Using encryption for cross-account operations.

                                                      @@ -3721,11 +3926,6 @@ export interface ServerSideEncryptionByDefault { * */ KMSMasterKeyID?: string; - - /** - *

                                                      Server-side encryption algorithm to use for the default encryption.

                                                      - */ - SSEAlgorithm: ServerSideEncryption | string | undefined; } export namespace ServerSideEncryptionByDefault { @@ -3792,6 +3992,11 @@ export namespace GetBucketEncryptionOutput { } export interface GetBucketEncryptionRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      The name of the bucket from which the server-side encryption configuration is retrieved.

                                                      */ @@ -3838,14 +4043,14 @@ export namespace SSES3 { */ export interface InventoryEncryption { /** - *

                                                      Specifies the use of SSE-S3 to encrypt delivered inventory reports.

                                                      + *

                                                      Specifies the use of SSE-KMS to encrypt delivered inventory reports.

                                                      */ - SSES3?: SSES3; + SSEKMS?: SSEKMS; /** - *

                                                      Specifies the use of SSE-KMS to encrypt delivered inventory reports.

                                                      + *

                                                      Specifies the use of SSE-S3 to encrypt delivered inventory reports.

                                                      */ - SSEKMS?: SSEKMS; + SSES3?: SSES3; } export namespace InventoryEncryption { @@ -3862,6 +4067,21 @@ export type InventoryFormat = "CSV" | "ORC" | "Parquet"; * inventory results are published.

                                                      */ export interface InventoryS3BucketDestination { + /** + *

                                                      Specifies the output format of the inventory results.

                                                      + */ + Format: InventoryFormat | string | undefined; + + /** + *

                                                      Contains the type of server-side encryption used to encrypt the inventory results.

                                                      + */ + Encryption?: InventoryEncryption; + + /** + *

                                                      The prefix that is prepended to all inventory results.

                                                      + */ + Prefix?: string; + /** *

                                                      The Amazon Resource Name (ARN) of the bucket where inventory results will be published.

                                                      */ @@ -3878,21 +4098,6 @@ export interface InventoryS3BucketDestination { * */ AccountId?: string; - - /** - *

                                                      Contains the type of server-side encryption used to encrypt the inventory results.

                                                      - */ - Encryption?: InventoryEncryption; - - /** - *

                                                      The prefix that is prepended to all inventory results.

                                                      - */ - Prefix?: string; - - /** - *

                                                      Specifies the output format of the inventory results.

                                                      - */ - Format: InventoryFormat | string | undefined; } export namespace InventoryS3BucketDestination { @@ -3977,19 +4182,19 @@ export namespace InventorySchedule { */ export interface InventoryConfiguration { /** - *

                                                      Contains the optional fields that are included in the inventory results.

                                                      + *

                                                      Object versions to include in the inventory list. If set to All, the list includes all the object versions, which adds the version-related fields VersionId, IsLatest, and DeleteMarker to the list. If set to Current, the list does not contain these version-related fields.

                                                      */ - OptionalFields?: (InventoryOptionalField | string)[]; + IncludedObjectVersions: InventoryIncludedObjectVersions | string | undefined; /** - *

                                                      Contains information about where to publish the inventory results.

                                                      + *

                                                      Specifies whether the inventory is enabled or disabled. If set to True, an inventory list is generated. If set to False, no inventory list is generated.

                                                      */ - Destination: InventoryDestination | undefined; + IsEnabled: boolean | undefined; /** - *

                                                      The ID used to identify the inventory configuration.

                                                      + *

                                                      Specifies the schedule for generating inventory results.

                                                      */ - Id: string | undefined; + Schedule: InventorySchedule | undefined; /** *

                                                      Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.

                                                      @@ -3997,19 +4202,19 @@ export interface InventoryConfiguration { Filter?: InventoryFilter; /** - *

                                                      Specifies the schedule for generating inventory results.

                                                      + *

                                                      Contains the optional fields that are included in the inventory results.

                                                      */ - Schedule: InventorySchedule | undefined; + OptionalFields?: (InventoryOptionalField | string)[]; /** - *

                                                      Specifies whether the inventory is enabled or disabled. If set to True, an inventory list is generated. If set to False, no inventory list is generated.

                                                      + *

                                                      Contains information about where to publish the inventory results.

                                                      */ - IsEnabled: boolean | undefined; + Destination: InventoryDestination | undefined; /** - *

                                                      Object versions to include in the inventory list. If set to All, the list includes all the object versions, which adds the version-related fields VersionId, IsLatest, and DeleteMarker to the list. If set to Current, the list does not contain these version-related fields.

                                                      + *

                                                      The ID used to identify the inventory configuration.

                                                      */ - IncludedObjectVersions: InventoryIncludedObjectVersions | string | undefined; + Id: string | undefined; } export namespace InventoryConfiguration { @@ -4037,14 +4242,19 @@ export namespace GetBucketInventoryConfigurationOutput { export interface GetBucketInventoryConfigurationRequest { /** - *

                                                      The ID used to identify the inventory configuration.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      */ - Id: string | undefined; + ExpectedBucketOwner?: string; /** *

                                                      The name of the bucket containing the inventory configuration to retrieve.

                                                      */ Bucket: string | undefined; + + /** + *

                                                      The ID used to identify the inventory configuration.

                                                      + */ + Id: string | undefined; } export namespace GetBucketInventoryConfigurationRequest { @@ -4058,9 +4268,9 @@ export namespace GetBucketInventoryConfigurationRequest { */ export interface LifecycleExpiration { /** - *

                                                      Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

                                                      + *

                                                      Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

                                                      */ - Date?: Date; + Days?: number; /** *

                                                      Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

                                                      @@ -4068,9 +4278,9 @@ export interface LifecycleExpiration { ExpiredObjectDeleteMarker?: boolean; /** - *

                                                      Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

                                                      + *

                                                      Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

                                                      */ - Days?: number; + Date?: Date; } export namespace LifecycleExpiration { @@ -4084,14 +4294,14 @@ export namespace LifecycleExpiration { */ export interface LifecycleRuleAndOperator { /** - *

                                                      All of these tags must exist in the object's tag set in order for the rule to apply.

                                                      + *

                                                      Prefix identifying one or more objects to which the rule applies.

                                                      */ - Tags?: Tag[]; + Prefix?: string; /** - *

                                                      Prefix identifying one or more objects to which the rule applies.

                                                      + *

                                                      All of these tags must exist in the object's tag set in order for the rule to apply.

                                                      */ - Prefix?: string; + Tags?: Tag[]; } export namespace LifecycleRuleAndOperator { @@ -4158,14 +4368,14 @@ export type TransitionStorageClass = "DEEP_ARCHIVE" | "GLACIER" | "INTELLIGENT_T */ export interface NoncurrentVersionTransition { /** - *

                                                      Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      The class of storage used to store the object.

                                                      */ - NoncurrentDays?: number; + StorageClass?: TransitionStorageClass | string; /** - *

                                                      The class of storage used to store the object.

                                                      + *

                                                      Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent in the Amazon Simple Storage Service Developer Guide.

                                                      */ - StorageClass?: TransitionStorageClass | string; + NoncurrentDays?: number; } export namespace NoncurrentVersionTransition { @@ -4181,14 +4391,14 @@ export type ExpirationStatus = "Disabled" | "Enabled"; */ export interface Transition { /** - *

                                                      Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.

                                                      + *

                                                      Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.

                                                      */ - Date?: Date; + Days?: number; /** - *

                                                      Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.

                                                      + *

                                                      Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.

                                                      */ - Days?: number; + Date?: Date; /** *

                                                      The storage class to which you want the object to transition.

                                                      @@ -4207,30 +4417,28 @@ export namespace Transition { */ export interface LifecycleRule { /** - *

                                                      Unique identifier for the rule. The value cannot be longer than 255 characters.

                                                      + *

                                                      Specifies the transition rule for the lifecycle rule that describes when noncurrent + * objects transition to a specific storage class. If your bucket is versioning-enabled (or + * versioning is suspended), you can set this action to request that Amazon S3 transition + * noncurrent object versions to a specific storage class at a set period in the object's + * lifetime.

                                                      */ - ID?: string; + NoncurrentVersionTransitions?: NoncurrentVersionTransition[]; /** - *

                                                      If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

                                                      + *

                                                      Specifies the expiration for the lifecycle of the object in the form of date, days and, whether the object has a delete marker.

                                                      */ - Status: ExpirationStatus | string | undefined; + Expiration?: LifecycleExpiration; /** - *

                                                      Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see - * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy - * in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      Unique identifier for the rule. The value cannot be longer than 255 characters.

                                                      */ - AbortIncompleteMultipartUpload?: AbortIncompleteMultipartUpload; + ID?: string; /** - *

                                                      Specifies the transition rule for the lifecycle rule that describes when noncurrent - * objects transition to a specific storage class. If your bucket is versioning-enabled (or - * versioning is suspended), you can set this action to request that Amazon S3 transition - * noncurrent object versions to a specific storage class at a set period in the object's - * lifetime.

                                                      + *

                                                      Specifies when an Amazon S3 object transitions to a specified storage class.

                                                      */ - NoncurrentVersionTransitions?: NoncurrentVersionTransition[]; + Transitions?: Transition[]; /** *

                                                      Prefix identifying one or more objects to which the rule applies. This is @@ -4239,9 +4447,18 @@ export interface LifecycleRule { Prefix?: string; /** - *

                                                      Specifies when an Amazon S3 object transitions to a specified storage class.

                                                      + *

                                                      Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. + * + * You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.

                                                      */ - Transitions?: Transition[]; + NoncurrentVersionExpiration?: NoncurrentVersionExpiration; + + /** + *

                                                      Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see + * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy + * in the Amazon Simple Storage Service Developer Guide.

                                                      + */ + AbortIncompleteMultipartUpload?: AbortIncompleteMultipartUpload; /** *

                                                      The Filter is used to identify objects that a Lifecycle Rule applies to. A @@ -4251,16 +4468,9 @@ export interface LifecycleRule { Filter?: LifecycleRuleFilter; /** - *

                                                      Specifies the expiration for the lifecycle of the object in the form of date, days and, whether the object has a delete marker.

                                                      - */ - Expiration?: LifecycleExpiration; - - /** - *

                                                      Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. - * - * You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.

                                                      + *

                                                      If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

                                                      */ - NoncurrentVersionExpiration?: NoncurrentVersionExpiration; + Status: ExpirationStatus | string | undefined; } export namespace LifecycleRule { @@ -4287,6 +4497,11 @@ export interface GetBucketLifecycleConfigurationRequest { *

                                                      The name of the bucket for which to get the lifecycle information.

                                                      */ Bucket: string | undefined; + + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; } export namespace GetBucketLifecycleConfigurationRequest { @@ -4311,6 +4526,11 @@ export namespace GetBucketLocationOutput { } export interface GetBucketLocationRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      The name of the bucket for which to get the location.

                                                      */ @@ -4335,7 +4555,7 @@ export interface TargetGrant { Grantee?: Grantee; /** - *

                                                      Logging permissions assigned to the Grantee for the bucket.

                                                      + *

                                                      Logging permissions assigned to the grantee for the bucket.

                                                      */ Permission?: BucketLogsPermission | string; } @@ -4352,6 +4572,11 @@ export namespace TargetGrant { * Amazon Simple Storage Service API Reference.

                                                      */ export interface LoggingEnabled { + /** + *

                                                      Container for granting information.

                                                      + */ + TargetGrants?: TargetGrant[]; + /** *

                                                      Specifies the bucket where you want Amazon S3 to store server access logs. You can have your * logs delivered to any bucket that you own, including the same bucket that is being logged. @@ -4367,11 +4592,6 @@ export interface LoggingEnabled { * came from which bucket.

                                                      */ TargetPrefix: string | undefined; - - /** - *

                                                      Container for granting information.

                                                      - */ - TargetGrants?: TargetGrant[]; } export namespace LoggingEnabled { @@ -4400,6 +4620,11 @@ export interface GetBucketLoggingRequest { *

                                                      The bucket name for which to get the logging information.

                                                      */ Bucket: string | undefined; + + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; } export namespace GetBucketLoggingRequest { @@ -4438,14 +4663,14 @@ export namespace MetricsAndOperator { */ export interface MetricsFilter { /** - *

                                                      The prefix used when evaluating a metrics filter.

                                                      + *

                                                      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.

                                                      */ - Prefix?: string; + And?: MetricsAndOperator; /** - *

                                                      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.

                                                      + *

                                                      The prefix used when evaluating a metrics filter.

                                                      */ - And?: MetricsAndOperator; + Prefix?: string; /** *

                                                      The tag used when evaluating a metrics filter.

                                                      @@ -4467,14 +4692,14 @@ export namespace MetricsFilter { */ export interface MetricsConfiguration { /** - *

                                                      Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).

                                                      + *

                                                      The ID used to identify the metrics configuration.

                                                      */ - Filter?: MetricsFilter; + Id: string | undefined; /** - *

                                                      The ID used to identify the metrics configuration.

                                                      + *

                                                      Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).

                                                      */ - Id: string | undefined; + Filter?: MetricsFilter; } export namespace MetricsConfiguration { @@ -4497,6 +4722,11 @@ export namespace GetBucketMetricsConfigurationOutput { } export interface GetBucketMetricsConfigurationRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      The name of the bucket containing the metrics configuration to retrieve.

                                                      */ @@ -4516,7 +4746,12 @@ export namespace GetBucketMetricsConfigurationRequest { export interface GetBucketNotificationConfigurationRequest { /** - *

                                                      Name of the bucket for which to get the notification configuration.

                                                      + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + + /** + *

                                                      The name of the bucket for which to get the notification configuration.

                                                      */ Bucket: string | undefined; } @@ -4612,17 +4847,6 @@ export namespace NotificationConfigurationFilter { *

                                                      A container for specifying the configuration for AWS Lambda notifications.

                                                      */ export interface LambdaFunctionConfiguration { - /** - *

                                                      The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.

                                                      - */ - LambdaFunctionArn: string | undefined; - - /** - *

                                                      An optional unique identifier for configurations in a notification configuration. If you don't - * provide one, Amazon S3 will assign an ID.

                                                      - */ - Id?: string; - /** *

                                                      The Amazon S3 bucket event for which to invoke the AWS Lambda function. * For more information, see Supported Event Types in the @@ -4637,11 +4861,22 @@ export interface LambdaFunctionConfiguration { * Guide.

                                                      */ Filter?: NotificationConfigurationFilter; -} -export namespace LambdaFunctionConfiguration { - export const filterSensitiveLog = (obj: LambdaFunctionConfiguration): any => ({ - ...obj, + /** + *

                                                      The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.

                                                      + */ + LambdaFunctionArn: string | undefined; + + /** + *

                                                      An optional unique identifier for configurations in a notification configuration. If you don't + * provide one, Amazon S3 will assign an ID.

                                                      + */ + Id?: string; +} + +export namespace LambdaFunctionConfiguration { + export const filterSensitiveLog = (obj: LambdaFunctionConfiguration): any => ({ + ...obj, }); } @@ -4650,22 +4885,16 @@ export namespace LambdaFunctionConfiguration { * Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.

                                                      */ export interface QueueConfiguration { - /** - *

                                                      An optional unique identifier for configurations in a notification configuration. If you don't - * provide one, Amazon S3 will assign an ID.

                                                      - */ - Id?: string; - /** *

                                                      A collection of bucket events for which to send notifications

                                                      */ Events: (Event | string)[] | undefined; /** - *

                                                      The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a - * message when it detects events of the specified type.

                                                      + *

                                                      An optional unique identifier for configurations in a notification configuration. If you don't + * provide one, Amazon S3 will assign an ID.

                                                      */ - QueueArn: string | undefined; + Id?: string; /** *

                                                      Specifies object key name filtering rules. For information about key name filtering, see @@ -4674,6 +4903,12 @@ export interface QueueConfiguration { * Guide.

                                                      */ Filter?: NotificationConfigurationFilter; + + /** + *

                                                      The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a + * message when it detects events of the specified type.

                                                      + */ + QueueArn: string | undefined; } export namespace QueueConfiguration { @@ -4688,16 +4923,11 @@ export namespace QueueConfiguration { */ export interface TopicConfiguration { /** - *

                                                      The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a - * message when it detects events of the specified type.

                                                      - */ - TopicArn: string | undefined; - - /** - *

                                                      An optional unique identifier for configurations in a notification configuration. If you don't - * provide one, Amazon S3 will assign an ID.

                                                      + *

                                                      The Amazon S3 bucket event about which to send notifications. For more + * information, see Supported Event + * Types in the Amazon Simple Storage Service Developer Guide.

                                                      */ - Id?: string; + Events: (Event | string)[] | undefined; /** *

                                                      Specifies object key name filtering rules. For information about key name filtering, see @@ -4708,11 +4938,16 @@ export interface TopicConfiguration { Filter?: NotificationConfigurationFilter; /** - *

                                                      The Amazon S3 bucket event about which to send notifications. For more - * information, see Supported Event - * Types in the Amazon Simple Storage Service Developer Guide.

                                                      + *

                                                      The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a + * message when it detects events of the specified type.

                                                      */ - Events: (Event | string)[] | undefined; + TopicArn: string | undefined; + + /** + *

                                                      An optional unique identifier for configurations in a notification configuration. If you don't + * provide one, Amazon S3 will assign an ID.

                                                      + */ + Id?: string; } export namespace TopicConfiguration { @@ -4727,9 +4962,9 @@ export namespace TopicConfiguration { */ export interface NotificationConfiguration { /** - *

                                                      Describes the AWS Lambda functions to invoke and the events for which to invoke them.

                                                      + *

                                                      The topic to which notifications are sent and the events for which notifications are generated.

                                                      */ - LambdaFunctionConfigurations?: LambdaFunctionConfiguration[]; + TopicConfigurations?: TopicConfiguration[]; /** *

                                                      The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.

                                                      @@ -4737,9 +4972,9 @@ export interface NotificationConfiguration { QueueConfigurations?: QueueConfiguration[]; /** - *

                                                      The topic to which notifications are sent and the events for which notifications are generated.

                                                      + *

                                                      Describes the AWS Lambda functions to invoke and the events for which to invoke them.

                                                      */ - TopicConfigurations?: TopicConfiguration[]; + LambdaFunctionConfigurations?: LambdaFunctionConfiguration[]; } export namespace NotificationConfiguration { @@ -4748,6 +4983,75 @@ export namespace NotificationConfiguration { }); } +export type ObjectOwnership = "BucketOwnerPreferred" | "ObjectWriter"; + +/** + *

                                                      The container element for an ownership control rule.

                                                      + */ +export interface OwnershipControlsRule { + /** + *

                                                      The container element for object ownership for a bucket's ownership controls.

                                                      + *

                                                      BucketOwnerPreferred - Objects uploaded to the bucket change ownership to the bucket + * owner if the objects are uploaded with the bucket-owner-full-control canned + * ACL.

                                                      + *

                                                      ObjectWriter - The uploading account will own the object if the object is uploaded with + * the bucket-owner-full-control canned ACL.

                                                      + */ + ObjectOwnership: ObjectOwnership | string | undefined; +} + +export namespace OwnershipControlsRule { + export const filterSensitiveLog = (obj: OwnershipControlsRule): any => ({ + ...obj, + }); +} + +/** + *

                                                      The container element for a bucket's ownership controls.

                                                      + */ +export interface OwnershipControls { + /** + *

                                                      The container element for an ownership control rule.

                                                      + */ + Rules: OwnershipControlsRule[] | undefined; +} + +export namespace OwnershipControls { + export const filterSensitiveLog = (obj: OwnershipControls): any => ({ + ...obj, + }); +} + +export interface GetBucketOwnershipControlsOutput { + /** + *

                                                      The OwnershipControls (BucketOwnerPreferred or ObjectWriter) currently in + * effect for this Amazon S3 bucket.

                                                      + */ + OwnershipControls?: OwnershipControls; +} + +export namespace GetBucketOwnershipControlsOutput { + export const filterSensitiveLog = (obj: GetBucketOwnershipControlsOutput): any => ({ + ...obj, + }); +} + +export interface GetBucketOwnershipControlsRequest { + /** + *

                                                      The name of the Amazon S3 bucket whose OwnershipControls you want to retrieve. + *

                                                      + */ + Bucket: string | undefined; + + ExpectedBucketOwner?: string; +} + +export namespace GetBucketOwnershipControlsRequest { + export const filterSensitiveLog = (obj: GetBucketOwnershipControlsRequest): any => ({ + ...obj, + }); +} + export interface GetBucketPolicyOutput { /** *

                                                      The bucket policy as a JSON document.

                                                      @@ -4766,6 +5070,11 @@ export interface GetBucketPolicyRequest { *

                                                      The bucket name for which to get the bucket policy.

                                                      */ Bucket: string | undefined; + + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; } export namespace GetBucketPolicyRequest { @@ -4805,6 +5114,11 @@ export namespace GetBucketPolicyStatusOutput { } export interface GetBucketPolicyStatusRequest { + /** + *

                                                      The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                      + */ + ExpectedBucketOwner?: string; + /** *

                                                      The name of the Amazon S3 bucket whose policy status you want to retrieve.

                                                      */ @@ -4894,17 +5208,17 @@ export type MetricsStatus = "Disabled" | "Enabled"; export interface Metrics { /** *

                                                      - * A container specifying the time threshold for emitting the s3:Replication:OperationMissedThreshold event. + * Specifies whether the replication metrics are enabled. *

                                                      */ - EventThreshold: ReplicationTimeValue | undefined; + Status: MetricsStatus | string | undefined; /** *

                                                      - * Specifies whether the replication metrics are enabled. + * A container specifying the time threshold for emitting the s3:Replication:OperationMissedThreshold event. *

                                                      */ - Status: MetricsStatus | string | undefined; + EventThreshold: ReplicationTimeValue | undefined; } export namespace Metrics { @@ -4922,18 +5236,18 @@ export type ReplicationTimeStatus = "Disabled" | "Enabled"; *

                                                      */ export interface ReplicationTime { + /** + *

                                                      A container specifying the time by which replication should be complete for all objects and + * operations on objects.

                                                      + */ + Time: ReplicationTimeValue | undefined; + /** *

                                                      * Specifies whether the replication time is enabled. *

                                                      */ Status: ReplicationTimeStatus | string | undefined; - - /** - *

                                                      A container specifying the time by which replication should be complete for all objects and - * operations on objects.

                                                      - */ - Time: ReplicationTimeValue | undefined; } export namespace ReplicationTime { @@ -4948,30 +5262,15 @@ export namespace ReplicationTime { */ export interface Destination { /** - *

                                                      - * The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. - *

                                                      - *

                                                      For valid values, see the StorageClass element of the - * PUT Bucket - * replication action in the Amazon Simple Storage Service API Reference.

                                                      - */ - StorageClass?: StorageClass | string; - - /** - *

                                                      - * A container specifying replication metrics-related settings enabling metrics and Amazon S3 events for S3 Replication Time Control (S3 RTC). - * Must be specified together with a ReplicationTime block. - *

                                                      + *

                                                      A container that provides information about encryption. If + * SourceSelectionCriteria is specified, you must specify this element.

                                                      */ - Metrics?: Metrics; + EncryptionConfiguration?: EncryptionConfiguration; /** - *

                                                      - * A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. - * Must be specified together with a Metrics block. - *

                                                      + *

                                                      The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.

                                                      */ - ReplicationTime?: ReplicationTime; + Bucket: string | undefined; /** *

                                                      Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 @@ -4984,20 +5283,35 @@ export interface Destination { Account?: string; /** - *

                                                      A container that provides information about encryption. If - * SourceSelectionCriteria is specified, you must specify this element.

                                                      + *

                                                      + * The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. + *

                                                      + *

                                                      For valid values, see the StorageClass element of the + * PUT Bucket + * replication action in the Amazon Simple Storage Service API Reference.

                                                      */ - EncryptionConfiguration?: EncryptionConfiguration; + StorageClass?: StorageClass | string; /** - *

                                                      The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.

                                                      + *

                                                      + * A container specifying replication metrics-related settings enabling metrics and Amazon S3 events for S3 Replication Time Control (S3 RTC). + * Must be specified together with a ReplicationTime block. + *

                                                      */ - Bucket: string | undefined; + Metrics?: Metrics; /** *

                                                      Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.

                                                      */ AccessControlTranslation?: AccessControlTranslation; + + /** + *

                                                      + * A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. + * Must be specified together with a Metrics block. + *

                                                      + */ + ReplicationTime?: ReplicationTime; } export namespace Destination { @@ -5042,16 +5356,16 @@ export namespace ExistingObjectReplication { *
                                                    */ export interface ReplicationRuleAndOperator { - /** - *

                                                    An array of tags containing key and value pairs.

                                                    - */ - Tags?: Tag[]; - /** *

                                                    An object key name prefix that identifies the subset of objects to which the rule * applies.

                                                    */ Prefix?: string; + + /** + *

                                                    An array of tags containing key and value pairs.

                                                    + */ + Tags?: Tag[]; } export namespace ReplicationRuleAndOperator { @@ -5066,6 +5380,18 @@ export namespace ReplicationRuleAndOperator { * And child element.

                                                    */ export interface ReplicationRuleFilter { + /** + *

                                                    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; + + /** + *

                                                    An object key name prefix that identifies the subset of objects to which the rule + * applies.

                                                    + */ + Prefix?: string; + /** *

                                                    A container for specifying rule filters. The filters determine the subset of objects to * which the rule applies. This element is required only if you specify more than one filter. For @@ -5082,18 +5408,6 @@ export interface ReplicationRuleFilter { *

                                                  */ And?: ReplicationRuleAndOperator; - - /** - *

                                                  An object key name prefix that identifies the subset of objects to which the rule - * applies.

                                                  - */ - Prefix?: string; - - /** - *

                                                  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 namespace ReplicationRuleFilter { @@ -5149,9 +5463,43 @@ export type ReplicationRuleStatus = "Disabled" | "Enabled"; */ export interface ReplicationRule { /** - *

                                                  Specifies whether the rule is enabled.

                                                  + *

                                                  An object key name prefix that identifies the object or objects to which the rule applies. + * The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify + * an empty string.

                                                  */ - Status: ReplicationRuleStatus | string | undefined; + Prefix?: string; + + /** + *

                                                  A unique identifier for the rule. The maximum value is 255 characters.

                                                  + */ + ID?: string; + + /** + *

                                                  A container that describes additional filters for identifying the source objects that you + * want to replicate. You can choose to enable or disable the replication of these objects. + * Currently, Amazon S3 supports only the filter that you can specify for objects created with + * server-side encryption using a customer master key (CMK) stored in AWS Key Management Service (SSE-KMS).

                                                  + */ + SourceSelectionCriteria?: SourceSelectionCriteria; + + /** + *

                                                  Specifies whether Amazon S3 replicates the delete markers. If you specify a Filter, you must specify this element. However, in the latest version of replication configuration (when Filter is specified), Amazon S3 doesn't replicate delete markers. Therefore, the DeleteMarkerReplication element can contain only Disabled. For an example configuration, see Basic Rule Configuration. + *

                                                  + * + * + *

                                                  If you don't specify the Filter element, Amazon S3 assumes that the replication + * configuration is the earlier version, V1. In the earlier version, Amazon S3 handled + * replication of delete markers differently. For more information, see Backward Compatibility.

                                                  + *
                                                  + */ + DeleteMarkerReplication?: DeleteMarkerReplication; + + /** + *

                                                  A filter that identifies the subset of objects to which the replication rule applies. A + * Filter must specify exactly one Prefix, Tag, or an + * And child element.

                                                  + */ + Filter?: ReplicationRuleFilter; /** *

                                                  The priority associated with the rule. If you specify multiple rules in a replication @@ -5173,37 +5521,9 @@ export interface ReplicationRule { Priority?: number; /** - *

                                                  A container for information about the replication destination - * and its configurations including enabling the S3 Replication Time Control (S3 RTC).

                                                  - */ - Destination: Destination | undefined; - - /** - *

                                                  A unique identifier for the rule. The maximum value is 255 characters.

                                                  - */ - ID?: string; - - /** - *

                                                  A container that describes additional filters for identifying the source objects that you - * want to replicate. You can choose to enable or disable the replication of these objects. - * Currently, Amazon S3 supports only the filter that you can specify for objects created with - * server-side encryption using a customer master key (CMK) stored in AWS Key Management Service (SSE-KMS).

                                                  - */ - SourceSelectionCriteria?: SourceSelectionCriteria; - - /** - *

                                                  An object key name prefix that identifies the object or objects to which the rule applies. - * The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify - * an empty string.

                                                  - */ - Prefix?: string; - - /** - *

                                                  A filter that identifies the subset of objects to which the replication rule applies. A - * Filter must specify exactly one Prefix, Tag, or an - * And child element.

                                                  + *

                                                  Specifies whether the rule is enabled.

                                                  */ - Filter?: ReplicationRuleFilter; + Status: ReplicationRuleStatus | string | undefined; /** *

                                                  @@ -5211,16 +5531,10 @@ export interface ReplicationRule { ExistingObjectReplication?: ExistingObjectReplication; /** - *

                                                  Specifies whether Amazon S3 replicates the delete markers. If you specify a Filter, you must specify this element. However, in the latest version of replication configuration (when Filter is specified), Amazon S3 doesn't replicate delete markers. Therefore, the DeleteMarkerReplication element can contain only Disabled. For an example configuration, see Basic Rule Configuration. - *

                                                  - * - * - *

                                                  If you don't specify the Filter element, Amazon S3 assumes that the replication - * configuration is the earlier version, V1. In the earlier version, Amazon S3 handled - * replication of delete markers differently. For more information, see Backward Compatibility.

                                                  - *
                                                  + *

                                                  A container for information about the replication destination + * and its configurations including enabling the S3 Replication Time Control (S3 RTC).

                                                  */ - DeleteMarkerReplication?: DeleteMarkerReplication; + Destination: Destination | undefined; } export namespace ReplicationRule { @@ -5268,6 +5582,11 @@ export namespace GetBucketReplicationOutput { } export interface GetBucketReplicationRequest { + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  The bucket name for which to get the replication information.

                                                  */ @@ -5300,6 +5619,11 @@ export interface GetBucketRequestPaymentRequest { *

                                                  The name of the bucket for which to get the payment request configuration

                                                  */ Bucket: string | undefined; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; } export namespace GetBucketRequestPaymentRequest { @@ -5322,6 +5646,11 @@ export namespace GetBucketTaggingOutput { } export interface GetBucketTaggingRequest { + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  The name of the bucket for which to get the tagging information.

                                                  */ @@ -5340,14 +5669,14 @@ export type BucketVersioningStatus = "Enabled" | "Suspended"; export interface GetBucketVersioningOutput { /** - *

                                                  Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.

                                                  + *

                                                  The versioning state of the bucket.

                                                  */ - MFADelete?: MFADeleteStatus | string; + Status?: BucketVersioningStatus | string; /** - *

                                                  The versioning state of the bucket.

                                                  + *

                                                  Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.

                                                  */ - Status?: BucketVersioningStatus | string; + MFADelete?: MFADeleteStatus | string; } export namespace GetBucketVersioningOutput { @@ -5357,6 +5686,11 @@ export namespace GetBucketVersioningOutput { } export interface GetBucketVersioningRequest { + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  The name of the bucket for which to get the versioning information.

                                                  */ @@ -5459,19 +5793,19 @@ export namespace Condition { */ export interface Redirect { /** - *

                                                  Protocol to use when redirecting requests. The default is the protocol that is used in the original request.

                                                  + *

                                                  The HTTP redirect code to use on the response. Not required if one of the siblings is present.

                                                  */ - Protocol?: Protocol | string; + HttpRedirectCode?: string; /** - *

                                                  The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the siblings is present. Can be present only if ReplaceKeyPrefixWith is not provided.

                                                  + *

                                                  The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.

                                                  */ - ReplaceKeyWith?: string; + ReplaceKeyPrefixWith?: string; /** - *

                                                  The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.

                                                  + *

                                                  Protocol to use when redirecting requests. The default is the protocol that is used in the original request.

                                                  */ - ReplaceKeyPrefixWith?: string; + Protocol?: Protocol | string; /** *

                                                  The host name to use in the redirect request.

                                                  @@ -5479,9 +5813,9 @@ export interface Redirect { HostName?: string; /** - *

                                                  The HTTP redirect code to use on the response. Not required if one of the siblings is present.

                                                  + *

                                                  The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the siblings is present. Can be present only if ReplaceKeyPrefixWith is not provided.

                                                  */ - HttpRedirectCode?: string; + ReplaceKeyWith?: string; } export namespace Redirect { @@ -5491,20 +5825,22 @@ export namespace Redirect { } /** - *

                                                  Specifies the redirect behavior and when a redirect is applied.

                                                  + *

                                                  Specifies the redirect behavior and when a redirect is applied. For more information + * about routing rules, see Configuring advanced conditional redirects in the + * Amazon Simple Storage Service Developer Guide.

                                                  */ export interface RoutingRule { - /** - *

                                                  A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

                                                  - */ - Condition?: Condition; - /** *

                                                  Container for redirect information. You can redirect requests to another host, to another * page, or with another protocol. In the event of an error, you can specify a different error * code to return.

                                                  */ Redirect: Redirect | undefined; + + /** + *

                                                  A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

                                                  + */ + Condition?: Condition; } export namespace RoutingRule { @@ -5514,25 +5850,25 @@ export namespace RoutingRule { } export interface GetBucketWebsiteOutput { - /** - *

                                                  Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.

                                                  - */ - RedirectAllRequestsTo?: RedirectAllRequestsTo; - /** *

                                                  The object key name of the website error document to use for 4XX class errors.

                                                  */ ErrorDocument?: ErrorDocument; /** - *

                                                  The name of the index document for the website (for example index.html).

                                                  + *

                                                  Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.

                                                  */ - IndexDocument?: IndexDocument; + RedirectAllRequestsTo?: RedirectAllRequestsTo; /** *

                                                  Rules that define when a redirect is applied and the redirect behavior.

                                                  */ RoutingRules?: RoutingRule[]; + + /** + *

                                                  The name of the index document for the website (for example index.html).

                                                  + */ + IndexDocument?: IndexDocument; } export namespace GetBucketWebsiteOutput { @@ -5542,6 +5878,11 @@ export namespace GetBucketWebsiteOutput { } export interface GetBucketWebsiteRequest { + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  The bucket name for which to get the website configuration.

                                                  */ @@ -5558,66 +5899,65 @@ export type ReplicationStatus = "COMPLETE" | "FAILED" | "PENDING" | "REPLICA"; export interface GetObjectOutput { /** - *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                  + *

                                                  The Object Lock mode currently in place for this object.

                                                  */ - SSECustomerAlgorithm?: string; + ObjectLockMode?: ObjectLockMode | string; /** - *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  + *

                                                  The language the content is in.

                                                  */ - RequestCharged?: RequestCharged | string; + ContentLanguage?: string; /** - *

                                                  Provides information about object restoration operation and expiration time of the restored object copy.

                                                  + *

                                                  Specifies presentational information for the object.

                                                  */ - Restore?: string; + ContentDisposition?: string; /** - *

                                                  Last modified date of the object

                                                  + *

                                                  Specifies caching behavior along the request/reply chain.

                                                  */ - LastModified?: Date; + CacheControl?: string; /** - *

                                                  The server-side encryption algorithm used when storing this object in Amazon S3 (for example, - * AES256, aws:kms).

                                                  + *

                                                  A standard MIME type describing the format of the object data.

                                                  */ - ServerSideEncryption?: ServerSideEncryption | string; + ContentType?: string; /** - *

                                                  The count of parts this object has.

                                                  + *

                                                  The portion of the object returned in the response.

                                                  */ - PartsCount?: number; + ContentRange?: string; /** - *

                                                  The portion of the object returned in the response.

                                                  + *

                                                  If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key + * (CMK) that was used for the object.

                                                  */ - ContentRange?: string; + SSEKMSKeyId?: string; /** - *

                                                  Object data.

                                                  + *

                                                  Size of the body in bytes.

                                                  */ - Body?: Readable | ReadableStream | Blob; + ContentLength?: number; /** - *

                                                  If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key - * (CMK) that was used for the object.

                                                  + *

                                                  The date and time when this object's Object Lock will expire.

                                                  */ - SSEKMSKeyId?: string; + ObjectLockRetainUntilDate?: Date; /** - *

                                                  The Object Lock mode currently in place for this object.

                                                  + *

                                                  Indicates whether this object has an active legal hold. This field is only returned if you have permission to view an object's legal hold status.

                                                  */ - ObjectLockMode?: ObjectLockMode | string; + ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string; /** - *

                                                  Indicates that a range of bytes was specified.

                                                  + *

                                                  A map of metadata to store with the object in S3.

                                                  */ - AcceptRanges?: string; + Metadata?: { [key: string]: string }; /** - *

                                                  Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

                                                  + *

                                                  Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

                                                  */ - ContentEncoding?: string; + DeleteMarker?: boolean; /** *

                                                  Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.

                                                  @@ -5625,77 +5965,80 @@ export interface GetObjectOutput { StorageClass?: StorageClass | string; /** - *

                                                  A map of metadata to store with the object in S3.

                                                  + *

                                                  Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

                                                  */ - Metadata?: { [key: string]: string }; + ContentEncoding?: string; /** - *

                                                  The number of tags, if any, on the object.

                                                  + *

                                                  Provides information about object restoration operation and expiration time of the restored object copy.

                                                  */ - TagCount?: number; + Restore?: string; /** - *

                                                  Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

                                                  + *

                                                  If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

                                                  */ - DeleteMarker?: boolean; + WebsiteRedirectLocation?: string; /** - *

                                                  This is set to the number of metadata entries not returned in x-amz-meta headers. - * This can happen if you create metadata using an API like SOAP that supports more flexible - * metadata than the REST API. For example, using SOAP, you can create metadata whose values - * are not legal HTTP headers.

                                                  + *

                                                  The server-side encryption algorithm used when storing this object in Amazon S3 (for example, + * AES256, aws:kms).

                                                  */ - MissingMeta?: number; + ServerSideEncryption?: ServerSideEncryption | string; /** - *

                                                  The date and time when this object's Object Lock will expire.

                                                  + *

                                                  The count of parts this object has.

                                                  */ - ObjectLockRetainUntilDate?: Date; + PartsCount?: number; /** - *

                                                  The language the content is in.

                                                  + *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                  */ - ContentLanguage?: string; + SSECustomerAlgorithm?: string; /** - *

                                                  The date and time at which the object is no longer cacheable.

                                                  + *

                                                  Indicates that a range of bytes was specified.

                                                  */ - Expires?: Date; + AcceptRanges?: string; /** - *

                                                  Size of the body in bytes.

                                                  + *

                                                  Version of the object.

                                                  */ - ContentLength?: number; + VersionId?: string; /** - *

                                                  Specifies presentational information for the object.

                                                  + *

                                                  Object data.

                                                  */ - ContentDisposition?: string; + Body?: Readable | ReadableStream | Blob; /** - *

                                                  Version of the object.

                                                  + *

                                                  The date and time at which the object is no longer cacheable.

                                                  */ - VersionId?: string; + Expires?: Date; /** - *

                                                  Indicates whether this object has an active legal hold. This field is only returned if you have permission to view an object's legal hold status.

                                                  + *

                                                  If the object expiration is configured (see PUT Bucket lifecycle), the response includes this + * header. It includes the expiry-date and rule-id key-value pairs providing object expiration + * information. The value of the rule-id is URL encoded.

                                                  */ - ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string; + Expiration?: string; /** - *

                                                  A standard MIME type describing the format of the object data.

                                                  + *

                                                  This is set to the number of metadata entries not returned in x-amz-meta headers. + * This can happen if you create metadata using an API like SOAP that supports more flexible + * metadata than the REST API. For example, using SOAP, you can create metadata whose values + * are not legal HTTP headers.

                                                  */ - ContentType?: string; + MissingMeta?: number; /** - *

                                                  Specifies caching behavior along the request/reply chain.

                                                  + *

                                                  Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule.

                                                  */ - CacheControl?: string; + ReplicationStatus?: ReplicationStatus | string; /** - *

                                                  If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

                                                  + *

                                                  The number of tags, if any, on the object.

                                                  */ - WebsiteRedirectLocation?: string; + TagCount?: number; /** *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response @@ -5705,22 +6048,20 @@ export interface GetObjectOutput { SSECustomerKeyMD5?: string; /** - *

                                                  An ETag is an opaque identifier assigned by a web server to a specific version of a resource - * found at a URL.

                                                  + *

                                                  Last modified date of the object

                                                  */ - ETag?: string; + LastModified?: Date; /** - *

                                                  Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule.

                                                  + *

                                                  An ETag is an opaque identifier assigned by a web server to a specific version of a resource + * found at a URL.

                                                  */ - ReplicationStatus?: ReplicationStatus | string; + ETag?: string; /** - *

                                                  If the object expiration is configured (see PUT Bucket lifecycle), the response includes this - * header. It includes the expiry-date and rule-id key-value pairs providing object expiration - * information. The value of the rule-id is URL encoded.

                                                  + *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  */ - Expiration?: string; + RequestCharged?: RequestCharged | string; } export namespace GetObjectOutput { @@ -5732,57 +6073,54 @@ export namespace GetObjectOutput { export interface GetObjectRequest { /** - *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                  + *

                                                  Sets the Content-Encoding header of the response.

                                                  */ - RequestPayer?: RequestPayer | string; + ResponseContentEncoding?: string; /** - *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses - * this header for a message integrity check to ensure that the encryption key was transmitted - * without error.

                                                  + *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This + * value is used to store the object and then it is discarded; Amazon S3 does not store the + * encryption key. The key must be appropriate for use with the algorithm specified in the + * x-amz-server-side-encryption-customer-algorithm header.

                                                  */ - SSECustomerKeyMD5?: string; + SSECustomerKey?: string; /** *

                                                  The bucket name containing the object.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ Bucket: string | undefined; /** - *

                                                  Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

                                                  + *

                                                  Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                  */ - IfNoneMatch?: string; + SSECustomerAlgorithm?: string; /** - *

                                                  Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).

                                                  + *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses + * this header for a message integrity check to ensure that the encryption key was transmitted + * without error.

                                                  */ - IfMatch?: string; + SSECustomerKeyMD5?: string; /** - *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This - * value is used to store the object and then it is discarded; Amazon S3 does not store the - * encryption key. The key must be appropriate for use with the algorithm specified in the - * x-amz-server-side​-encryption​-customer-algorithm header.

                                                  + *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                  */ - SSECustomerKey?: string; + RequestPayer?: RequestPayer | string; /** - *

                                                  Downloads the specified range bytes of an object. For more information about the HTTP Range - * header, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

                                                  - * - *

                                                  Amazon S3 doesn't support retrieving multiple ranges of data per GET request.

                                                  - *
                                                  + *

                                                  Key of the object to get.

                                                  */ - Range?: string; + Key: string | undefined; /** - *

                                                  Sets the Content-Disposition header of the response

                                                  + *

                                                  Sets the Cache-Control header of the response.

                                                  */ - ResponseContentDisposition?: string; + ResponseCacheControl?: string; /** *

                                                  Sets the Content-Language header of the response.

                                                  @@ -5790,24 +6128,24 @@ export interface GetObjectRequest { ResponseContentLanguage?: string; /** - *

                                                  VersionId used to reference a specific version of the object.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - VersionId?: string; + ExpectedBucketOwner?: string; /** - *

                                                  Sets the Content-Encoding header of the response.

                                                  + *

                                                  Sets the Content-Disposition header of the response

                                                  */ - ResponseContentEncoding?: string; + ResponseContentDisposition?: string; /** - *

                                                  Key of the object to get.

                                                  + *

                                                  Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

                                                  */ - Key: string | undefined; + IfUnmodifiedSince?: Date; /** - *

                                                  Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                  + *

                                                  Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object.

                                                  */ - SSECustomerAlgorithm?: string; + PartNumber?: number; /** *

                                                  Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).

                                                  @@ -5815,29 +6153,38 @@ export interface GetObjectRequest { IfModifiedSince?: Date; /** - *

                                                  Sets the Cache-Control header of the response.

                                                  + *

                                                  VersionId used to reference a specific version of the object.

                                                  */ - ResponseCacheControl?: string; + VersionId?: string; /** - *

                                                  Sets the Expires header of the response.

                                                  + *

                                                  Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

                                                  */ - ResponseExpires?: Date; + IfNoneMatch?: string; /** - *

                                                  Sets the Content-Type header of the response.

                                                  + *

                                                  Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).

                                                  */ - ResponseContentType?: string; + IfMatch?: string; /** - *

                                                  Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

                                                  + *

                                                  Sets the Expires header of the response.

                                                  */ - IfUnmodifiedSince?: Date; + ResponseExpires?: Date; /** - *

                                                  Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object.

                                                  + *

                                                  Downloads the specified range bytes of an object. For more information about the HTTP Range + * header, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

                                                  + * + *

                                                  Amazon S3 doesn't support retrieving multiple ranges of data per GET request.

                                                  + *
                                                  */ - PartNumber?: number; + Range?: string; + + /** + *

                                                  Sets the Content-Type header of the response.

                                                  + */ + ResponseContentType?: string; } export namespace GetObjectRequest { @@ -5863,9 +6210,9 @@ export namespace NoSuchKey { export interface GetObjectAclOutput { /** - *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  + *

                                                  A list of grants.

                                                  */ - RequestCharged?: RequestCharged | string; + Grants?: Grant[]; /** *

                                                  @@ -5874,9 +6221,9 @@ export interface GetObjectAclOutput { Owner?: Owner; /** - *

                                                  A list of grants.

                                                  + *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  */ - Grants?: Grant[]; + RequestCharged?: RequestCharged | string; } export namespace GetObjectAclOutput { @@ -5887,9 +6234,20 @@ export namespace GetObjectAclOutput { export interface GetObjectAclRequest { /** - *

                                                  VersionId used to reference a specific version of the object.

                                                  + *

                                                  The key of the object for which to get the ACL information.

                                                  */ - VersionId?: string; + Key: string | undefined; + + /** + *

                                                  The bucket name that contains the object for which to get the ACL information.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + */ + Bucket: string | undefined; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; /** *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket @@ -5900,15 +6258,9 @@ export interface GetObjectAclRequest { RequestPayer?: RequestPayer | string; /** - *

                                                  The key of the object for which to get the ACL information.

                                                  - */ - Key: string | undefined; - - /** - *

                                                  The bucket name that contains the object for which to get the ACL information.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  VersionId used to reference a specific version of the object.

                                                  */ - Bucket: string | undefined; + VersionId?: string; } export namespace GetObjectAclRequest { @@ -5953,10 +6305,15 @@ export interface GetObjectLegalHoldRequest { */ Key: string | undefined; + /** + *

                                                  The version ID of the object whose Legal Hold status you want to retrieve.

                                                  + */ + VersionId?: string; + /** *

                                                  The bucket name containing the object whose Legal * Hold status you want to retrieve.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  */ Bucket: string | undefined; @@ -5969,9 +6326,9 @@ export interface GetObjectLegalHoldRequest { RequestPayer?: RequestPayer | string; /** - *

                                                  The version ID of the object whose Legal Hold status you want to retrieve.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - VersionId?: string; + ExpectedBucketOwner?: string; } export namespace GetObjectLegalHoldRequest { @@ -5989,14 +6346,14 @@ export type ObjectLockRetentionMode = "COMPLIANCE" | "GOVERNANCE"; */ export interface DefaultRetention { /** - *

                                                  The default Object Lock retention mode you want to apply to new objects placed in the specified bucket.

                                                  + *

                                                  The number of days that you want to specify for the default retention period.

                                                  */ - Mode?: ObjectLockRetentionMode | string; + Days?: number; /** - *

                                                  The number of days that you want to specify for the default retention period.

                                                  + *

                                                  The default Object Lock retention mode you want to apply to new objects placed in the specified bucket.

                                                  */ - Days?: number; + Mode?: ObjectLockRetentionMode | string; /** *

                                                  The number of years that you want to specify for the default retention period.

                                                  @@ -6063,8 +6420,14 @@ export namespace GetObjectLockConfigurationOutput { export interface GetObjectLockConfigurationRequest { /** *

                                                  The bucket whose Object Lock configuration you want to retrieve.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  */ Bucket: string | undefined; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; } export namespace GetObjectLockConfigurationRequest { @@ -6108,29 +6471,34 @@ export namespace GetObjectRetentionOutput { } export interface GetObjectRetentionRequest { - /** - *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                  - */ - RequestPayer?: RequestPayer | string; - /** *

                                                  The version ID for the object whose retention settings you want to retrieve.

                                                  */ VersionId?: string; /** - *

                                                  The bucket name containing the object whose retention settings you want to retrieve.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; /** *

                                                  The key name for the object whose retention settings you want to retrieve.

                                                  */ Key: string | undefined; + + /** + *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                  + */ + RequestPayer?: RequestPayer | string; + + /** + *

                                                  The bucket name containing the object whose retention settings you want to retrieve.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + */ + Bucket: string | undefined; } export namespace GetObjectRetentionRequest { @@ -6158,16 +6526,22 @@ export namespace GetObjectTaggingOutput { } export interface GetObjectTaggingRequest { + /** + *

                                                  The bucket name containing the object for which to get the tagging information.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  + */ + Bucket: string | undefined; + /** *

                                                  The versionId of the object for which to get the tagging information.

                                                  */ VersionId?: string; /** - *

                                                  The bucket name containing the object for which to get the tagging information.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; /** *

                                                  Object key for which to get the tagging information.

                                                  @@ -6183,14 +6557,14 @@ export namespace GetObjectTaggingRequest { export interface GetObjectTorrentOutput { /** - *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  + *

                                                  A Bencoded dictionary as defined by the BitTorrent specification

                                                  */ - RequestCharged?: RequestCharged | string; + Body?: Readable | ReadableStream | Blob; /** - *

                                                  A Bencoded dictionary as defined by the BitTorrent specification

                                                  + *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  */ - Body?: Readable | ReadableStream | Blob; + RequestCharged?: RequestCharged | string; } export namespace GetObjectTorrentOutput { @@ -6200,11 +6574,6 @@ export namespace GetObjectTorrentOutput { } export interface GetObjectTorrentRequest { - /** - *

                                                  The object key for which to get the information.

                                                  - */ - Key: string | undefined; - /** *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket * owners need not specify this parameter in their requests. For information about downloading @@ -6217,6 +6586,16 @@ export interface GetObjectTorrentRequest { *

                                                  The name of the bucket containing the object for which to get the torrent files.

                                                  */ Bucket: string | undefined; + + /** + *

                                                  The object key for which to get the information.

                                                  + */ + Key: string | undefined; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; } export namespace GetObjectTorrentRequest { @@ -6232,14 +6611,12 @@ export namespace GetObjectTorrentRequest { */ export interface PublicAccessBlockConfiguration { /** - *

                                                  Specifies whether Amazon S3 should restrict public bucket policies for this bucket. - * Setting this element to TRUE restricts access to this bucket to only AWS services - * and authorized users within this account if the bucket has a public policy.

                                                  - *

                                                  Enabling this setting doesn't affect previously stored bucket policies, except that public - * and cross-account access within any public bucket policy, including non-public delegation to - * specific accounts, is blocked.

                                                  + *

                                                  Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting + * this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the + * specified bucket policy allows public access.

                                                  + *

                                                  Enabling this setting doesn't affect existing bucket policies.

                                                  */ - RestrictPublicBuckets?: boolean; + BlockPublicPolicy?: boolean; /** *

                                                  Specifies whether Amazon S3 should block public access control lists (ACLs) for this @@ -6260,6 +6637,16 @@ export interface PublicAccessBlockConfiguration { */ BlockPublicAcls?: boolean; + /** + *

                                                  Specifies whether Amazon S3 should restrict public bucket policies for this bucket. + * Setting this element to TRUE restricts access to this bucket to only AWS services + * and authorized users within this account if the bucket has a public policy.

                                                  + *

                                                  Enabling this setting doesn't affect previously stored bucket policies, except that public + * and cross-account access within any public bucket policy, including non-public delegation to + * specific accounts, is blocked.

                                                  + */ + RestrictPublicBuckets?: boolean; + /** *

                                                  Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this * bucket. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs @@ -6268,14 +6655,6 @@ export interface PublicAccessBlockConfiguration { * prevent new public ACLs from being set.

                                                  */ IgnorePublicAcls?: boolean; - - /** - *

                                                  Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting - * this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the - * specified bucket policy allows public access.

                                                  - *

                                                  Enabling this setting doesn't affect existing bucket policies.

                                                  - */ - BlockPublicPolicy?: boolean; } export namespace PublicAccessBlockConfiguration { @@ -6299,6 +6678,11 @@ export namespace GetPublicAccessBlockOutput { } export interface GetPublicAccessBlockRequest { + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  The name of the Amazon S3 bucket whose PublicAccessBlock configuration you * want to retrieve.

                                                  @@ -6313,8 +6697,15 @@ export namespace GetPublicAccessBlockRequest { } export interface HeadBucketRequest { + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  The bucket name.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ Bucket: string | undefined; } @@ -6341,14 +6732,52 @@ export namespace NoSuchBucket { export interface HeadObjectOutput { /** - *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                  + *

                                                  Specifies caching behavior along the request/reply chain.

                                                  */ - SSECustomerAlgorithm?: string; + CacheControl?: string; /** - *

                                                  Last modified date of the object

                                                  + *

                                                  Size of the body in bytes.

                                                  */ - LastModified?: Date; + ContentLength?: number; + + /** + *

                                                  The date and time when the Object Lock retention period expires. This header is only returned if the requester has the s3:GetObjectRetention permission.

                                                  + */ + ObjectLockRetainUntilDate?: Date; + + /** + *

                                                  A standard MIME type describing the format of the object data.

                                                  + */ + ContentType?: string; + + /** + *

                                                  An ETag is an opaque identifier assigned by a web server to a specific version of a resource + * found at a URL.

                                                  + */ + ETag?: string; + + /** + *

                                                  Specifies presentational information for the object.

                                                  + */ + ContentDisposition?: string; + + /** + *

                                                  The language the content is in.

                                                  + */ + ContentLanguage?: string; + + /** + *

                                                  If the object expiration is configured (see PUT Bucket lifecycle), the response includes this + * header. It includes the expiry-date and rule-id key-value pairs providing object expiration + * information. The value of the rule-id is URL encoded.

                                                  + */ + Expiration?: string; + + /** + *

                                                  The date and time at which the object is no longer cacheable.

                                                  + */ + Expires?: Date; /** *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response @@ -6357,11 +6786,6 @@ export interface HeadObjectOutput { */ SSECustomerKeyMD5?: string; - /** - *

                                                  The count of parts this object has.

                                                  - */ - PartsCount?: number; - /** *

                                                  Amazon S3 can return this header if your request involves a bucket that is either a source or destination in a replication rule.

                                                  * @@ -6395,34 +6819,22 @@ export interface HeadObjectOutput { ReplicationStatus?: ReplicationStatus | string; /** - *

                                                  A map of metadata to store with the object in S3.

                                                  - */ - Metadata?: { [key: string]: string }; - - /** - *

                                                  If the object is an archived object (an object whose storage class is GLACIER), the response includes this header if either the archive restoration is in progress (see RestoreObject or an archive copy is already restored.

                                                  - * - *

                                                  If an archive copy is already restored, the header value indicates when Amazon S3 is scheduled to delete the object copy. For example:

                                                  - * - *

                                                  - * x-amz-restore: ongoing-request="false", expiry-date="Fri, 23 Dec 2012 00:00:00 GMT" - *

                                                  - * - *

                                                  If the object restoration is in progress, the header returns the value ongoing-request="true".

                                                  - * - *

                                                  For more information about archiving objects, see Transitioning Objects: General Considerations.

                                                  + *

                                                  Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the s3:GetObjectLegalHold permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see Object Lock.

                                                  */ - Restore?: string; + ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string; /** - *

                                                  Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

                                                  + *

                                                  If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

                                                  */ - ContentEncoding?: string; + WebsiteRedirectLocation?: string; /** - *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  + *

                                                  If the object is stored using server-side encryption either with an AWS KMS customer master + * key (CMK) or an Amazon S3-managed encryption key, the response includes this header with + * the value of the server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).

                                                  */ - RequestCharged?: RequestCharged | string; + ServerSideEncryption?: ServerSideEncryption | string; /** *

                                                  Version of the object.

                                                  @@ -6430,34 +6842,24 @@ export interface HeadObjectOutput { VersionId?: string; /** - *

                                                  Specifies caching behavior along the request/reply chain.

                                                  - */ - CacheControl?: string; - - /** - *

                                                  The date and time when the Object Lock retention period expires. This header is only returned if the requester has the s3:GetObjectRetention permission.

                                                  - */ - ObjectLockRetainUntilDate?: Date; - - /** - *

                                                  If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

                                                  + *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                  */ - WebsiteRedirectLocation?: string; + SSECustomerAlgorithm?: string; /** - *

                                                  Size of the body in bytes.

                                                  + *

                                                  The count of parts this object has.

                                                  */ - ContentLength?: number; + PartsCount?: number; /** - *

                                                  The date and time at which the object is no longer cacheable.

                                                  + *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  */ - Expires?: Date; + RequestCharged?: RequestCharged | string; /** - *

                                                  Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the s3:GetObjectLegalHold permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see Object Lock.

                                                  + *

                                                  Last modified date of the object

                                                  */ - ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string; + LastModified?: Date; /** *

                                                  This is set to the number of metadata entries not returned in x-amz-meta headers. @@ -6468,55 +6870,48 @@ export interface HeadObjectOutput { MissingMeta?: number; /** - *

                                                  Specifies presentational information for the object.

                                                  - */ - ContentDisposition?: string; - - /** - *

                                                  Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

                                                  + *

                                                  If the object is an archived object (an object whose storage class is GLACIER), + * the response includes this header if either the archive restoration is in progress (see RestoreObject or an archive copy is already restored.

                                                  + * + *

                                                  If an archive copy is already restored, the header value indicates when Amazon S3 is scheduled to delete the object copy. For example:

                                                  + * + *

                                                  + * x-amz-restore: ongoing-request="false", expiry-date="Fri, 23 Dec 2012 00:00:00 GMT" + *

                                                  + * + *

                                                  If the object restoration is in progress, the header returns the value ongoing-request="true".

                                                  + * + *

                                                  For more information about archiving objects, see Transitioning Objects: General Considerations.

                                                  */ - DeleteMarker?: boolean; + Restore?: string; /** - *

                                                  The language the content is in.

                                                  + *

                                                  Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

                                                  */ - ContentLanguage?: string; + ContentEncoding?: string; /** - *

                                                  An ETag is an opaque identifier assigned by a web server to a specific version of a resource - * found at a URL.

                                                  + *

                                                  Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.

                                                  + * + *

                                                  For more information, see Storage Classes.

                                                  */ - ETag?: string; + StorageClass?: StorageClass | string; /** - *

                                                  If the object expiration is configured (see PUT Bucket lifecycle), the response includes this - * header. It includes the expiry-date and rule-id key-value pairs providing object expiration - * information. The value of the rule-id is URL encoded.

                                                  + *

                                                  A map of metadata to store with the object in S3.

                                                  */ - Expiration?: string; + Metadata?: { [key: string]: string }; /** - *

                                                  Indicates that a range of bytes was specified.

                                                  + *

                                                  Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

                                                  */ - AcceptRanges?: string; + DeleteMarker?: boolean; /** *

                                                  The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the s3:GetObjectRetention permission. For more information about S3 Object Lock, see Object Lock.

                                                  */ ObjectLockMode?: ObjectLockMode | string; - /** - *

                                                  A standard MIME type describing the format of the object data.

                                                  - */ - ContentType?: string; - - /** - *

                                                  Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.

                                                  - * - *

                                                  For more information, see Storage Classes.

                                                  - */ - StorageClass?: StorageClass | string; - /** *

                                                  If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key * (CMK) that was used for the object.

                                                  @@ -6524,12 +6919,9 @@ export interface HeadObjectOutput { SSEKMSKeyId?: string; /** - *

                                                  If the object is stored using server-side encryption either with an AWS KMS customer master - * key (CMK) or an Amazon S3-managed encryption key, the response includes this header with - * the value of the server-side encryption algorithm used when storing this object in Amazon - * S3 (for example, AES256, aws:kms).

                                                  + *

                                                  Indicates that a range of bytes was specified.

                                                  */ - ServerSideEncryption?: ServerSideEncryption | string; + AcceptRanges?: string; } export namespace HeadObjectOutput { @@ -6541,28 +6933,21 @@ export namespace HeadObjectOutput { export interface HeadObjectRequest { /** - *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses - * this header for a message integrity check to ensure that the encryption key was transmitted - * without error.

                                                  - */ - SSECustomerKeyMD5?: string; - - /** - *

                                                  The name of the bucket containing the object.

                                                  + *

                                                  Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                  */ - Bucket: string | undefined; + SSECustomerAlgorithm?: string; /** - *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                  + *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This + * value is used to store the object and then it is discarded; Amazon S3 does not store the + * encryption key. The key must be appropriate for use with the algorithm specified in the + * x-amz-server-side-encryption-customer-algorithm header.

                                                  */ - RequestPayer?: RequestPayer | string; + SSECustomerKey?: string; /** *

                                                  Downloads the specified range bytes of an object. For more information about the HTTP Range - * header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

                                                  + * header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

                                                  * *

                                                  Amazon S3 doesn't support retrieving multiple ranges of data per GET request.

                                                  *
                                                  @@ -6570,9 +6955,9 @@ export interface HeadObjectRequest { Range?: string; /** - *

                                                  Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

                                                  + *

                                                  Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

                                                  */ - IfUnmodifiedSince?: Date; + IfNoneMatch?: string; /** *

                                                  Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about the size of the part and the number of parts in this object.

                                                  @@ -6580,32 +6965,33 @@ export interface HeadObjectRequest { PartNumber?: number; /** - *

                                                  Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

                                                  + *

                                                  Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

                                                  */ - IfNoneMatch?: string; + IfUnmodifiedSince?: Date; /** - *

                                                  The object key.

                                                  + *

                                                  Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).

                                                  */ - Key: string | undefined; + IfModifiedSince?: Date; /** - *

                                                  Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - IfModifiedSince?: Date; + ExpectedBucketOwner?: string; /** - *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This - * value is used to store the object and then it is discarded; Amazon S3 does not store the - * encryption key. The key must be appropriate for use with the algorithm specified in the - * x-amz-server-side​-encryption​-customer-algorithm header.

                                                  + *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses + * this header for a message integrity check to ensure that the encryption key was transmitted + * without error.

                                                  */ - SSECustomerKey?: string; + SSECustomerKeyMD5?: string; /** - *

                                                  VersionId used to reference a specific version of the object.

                                                  + *

                                                  The name of the bucket containing the object.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ - VersionId?: string; + Bucket: string | undefined; /** *

                                                  Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).

                                                  @@ -6613,9 +6999,22 @@ export interface HeadObjectRequest { IfMatch?: string; /** - *

                                                  Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                  + *

                                                  The object key.

                                                  */ - SSECustomerAlgorithm?: string; + Key: string | undefined; + + /** + *

                                                  VersionId used to reference a specific version of the object.

                                                  + */ + VersionId?: string; + + /** + *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                  + */ + RequestPayer?: RequestPayer | string; } export namespace HeadObjectRequest { @@ -6627,9 +7026,9 @@ export namespace HeadObjectRequest { export interface ListBucketAnalyticsConfigurationsOutput { /** - *

                                                  The marker that is used as a starting point for this analytics configuration list response. This value is present if it was sent in the request.

                                                  + *

                                                  The list of analytics configurations for a bucket.

                                                  */ - ContinuationToken?: string; + AnalyticsConfigurationList?: AnalyticsConfiguration[]; /** *

                                                  @@ -6641,14 +7040,14 @@ export interface ListBucketAnalyticsConfigurationsOutput { NextContinuationToken?: string; /** - *

                                                  The list of analytics configurations for a bucket.

                                                  + *

                                                  Indicates whether the returned list of analytics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.

                                                  */ - AnalyticsConfigurationList?: AnalyticsConfiguration[]; + IsTruncated?: boolean; /** - *

                                                  Indicates whether the returned list of analytics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.

                                                  + *

                                                  The marker that is used as a starting point for this analytics configuration list response. This value is present if it was sent in the request.

                                                  */ - IsTruncated?: boolean; + ContinuationToken?: string; } export namespace ListBucketAnalyticsConfigurationsOutput { @@ -6659,14 +7058,19 @@ export namespace ListBucketAnalyticsConfigurationsOutput { export interface ListBucketAnalyticsConfigurationsRequest { /** - *

                                                  The name of the bucket from which analytics configurations are retrieved.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; /** *

                                                  The ContinuationToken that represents a placeholder from where this request should begin.

                                                  */ ContinuationToken?: string; + + /** + *

                                                  The name of the bucket from which analytics configurations are retrieved.

                                                  + */ + Bucket: string | undefined; } export namespace ListBucketAnalyticsConfigurationsRequest { @@ -6690,14 +7094,14 @@ export interface ListBucketInventoryConfigurationsOutput { NextContinuationToken?: string; /** - *

                                                  If sent in the request, the marker that is used as a starting point for this inventory configuration list response.

                                                  + *

                                                  Tells whether the returned list of inventory configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken is provided for a subsequent request.

                                                  */ - ContinuationToken?: string; + IsTruncated?: boolean; /** - *

                                                  Tells whether the returned list of inventory configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken is provided for a subsequent request.

                                                  + *

                                                  If sent in the request, the marker that is used as a starting point for this inventory configuration list response.

                                                  */ - IsTruncated?: boolean; + ContinuationToken?: string; } export namespace ListBucketInventoryConfigurationsOutput { @@ -6713,14 +7117,19 @@ export namespace ListBucketInventoryConfigurationsOutput { export interface ListBucketInventoryConfigurationsRequest { /** - *

                                                  The marker used to continue an inventory configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

                                                  + *

                                                  The name of the bucket containing the inventory configurations to retrieve.

                                                  */ - ContinuationToken?: string; + Bucket: string | undefined; /** - *

                                                  The name of the bucket containing the inventory configurations to retrieve.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; + + /** + *

                                                  The marker used to continue an inventory configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

                                                  + */ + ContinuationToken?: string; } export namespace ListBucketInventoryConfigurationsRequest { @@ -6730,11 +7139,6 @@ export namespace ListBucketInventoryConfigurationsRequest { } export interface ListBucketMetricsConfigurationsOutput { - /** - *

                                                  The list of metrics configurations for a bucket.

                                                  - */ - MetricsConfigurationList?: MetricsConfiguration[]; - /** *

                                                  The marker used to continue a metrics configuration listing that has been truncated. Use the * NextContinuationToken from a previously truncated list response to continue @@ -6742,6 +7146,11 @@ export interface ListBucketMetricsConfigurationsOutput { */ NextContinuationToken?: string; + /** + *

                                                  The list of metrics configurations for a bucket.

                                                  + */ + MetricsConfigurationList?: MetricsConfiguration[]; + /** *

                                                  The marker that is used as a starting point for this metrics configuration list response. This value is present if it was sent in the request.

                                                  */ @@ -6765,6 +7174,11 @@ export interface ListBucketMetricsConfigurationsRequest { */ ContinuationToken?: string; + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  The name of the bucket containing the metrics configurations to retrieve.

                                                  */ @@ -6801,14 +7215,14 @@ export namespace Bucket { export interface ListBucketsOutput { /** - *

                                                  The list of buckets owned by the requestor.

                                                  + *

                                                  The owner of the buckets listed.

                                                  */ - Buckets?: Bucket[]; + Owner?: Owner; /** - *

                                                  The owner of the buckets listed.

                                                  + *

                                                  The list of buckets owned by the requestor.

                                                  */ - Owner?: Owner; + Buckets?: Bucket[]; } export namespace ListBucketsOutput { @@ -6865,9 +7279,9 @@ export namespace Initiator { */ export interface MultipartUpload { /** - *

                                                  Key of the object for which the multipart upload was initiated.

                                                  + *

                                                  Identifies who initiated the multipart upload.

                                                  */ - Key?: string; + Initiator?: Initiator; /** *

                                                  Upload ID that identifies the multipart upload.

                                                  @@ -6875,9 +7289,9 @@ export interface MultipartUpload { UploadId?: string; /** - *

                                                  Date and time at which the multipart upload was initiated.

                                                  + *

                                                  Key of the object for which the multipart upload was initiated.

                                                  */ - Initiated?: Date; + Key?: string; /** *

                                                  Specifies the owner of the object that is part of the multipart upload.

                                                  @@ -6885,14 +7299,14 @@ export interface MultipartUpload { Owner?: Owner; /** - *

                                                  Identifies who initiated the multipart upload.

                                                  + *

                                                  The class of storage used to store the object.

                                                  */ - Initiator?: Initiator; + StorageClass?: StorageClass | string; /** - *

                                                  The class of storage used to store the object.

                                                  + *

                                                  Date and time at which the multipart upload was initiated.

                                                  */ - StorageClass?: StorageClass | string; + Initiated?: Date; } export namespace MultipartUpload { @@ -6903,12 +7317,22 @@ export namespace MultipartUpload { export interface ListMultipartUploadsOutput { /** - *

                                                  When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix.

                                                  + *

                                                  Contains the delimiter you specified in the request. If you don't specify a delimiter in your request, this element is absent from the response.

                                                  */ - Prefix?: string; + Delimiter?: string; /** - *

                                                  Encoding type used by Amazon S3 to encode object keys in the response.

                                                  + *

                                                  The key at or after which the listing began.

                                                  + */ + KeyMarker?: string; + + /** + *

                                                  Maximum number of multipart uploads that could have been included in the response.

                                                  + */ + MaxUploads?: number; + + /** + *

                                                  Encoding type used by Amazon S3 to encode object keys in the response.

                                                  *

                                                  If you specify encoding-type request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:

                                                  * *

                                                  @@ -6917,20 +7341,15 @@ export interface ListMultipartUploadsOutput { EncodingType?: EncodingType | string; /** - *

                                                  Container for elements related to a particular multipart upload. A response can contain - * zero or more Upload elements.

                                                  - */ - Uploads?: MultipartUpload[]; - - /** - *

                                                  Name of the bucket to which the multipart upload was initiated.

                                                  + *

                                                  Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads.

                                                  */ - Bucket?: string; + IsTruncated?: boolean; /** - *

                                                  Maximum number of multipart uploads that could have been included in the response.

                                                  + *

                                                  Container for elements related to a particular multipart upload. A response can contain + * zero or more Upload elements.

                                                  */ - MaxUploads?: number; + Uploads?: MultipartUpload[]; /** *

                                                  When a list is truncated, this element specifies the value that should be used for the @@ -6939,9 +7358,9 @@ export interface ListMultipartUploadsOutput { NextUploadIdMarker?: string; /** - *

                                                  Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads.

                                                  + *

                                                  Upload ID after which listing began.

                                                  */ - IsTruncated?: boolean; + UploadIdMarker?: string; /** *

                                                  If you specify a delimiter in the request, then the result returns each distinct key @@ -6951,24 +7370,19 @@ export interface ListMultipartUploadsOutput { CommonPrefixes?: CommonPrefix[]; /** - *

                                                  When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request.

                                                  - */ - NextKeyMarker?: string; - - /** - *

                                                  The key at or after which the listing began.

                                                  + *

                                                  When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix.

                                                  */ - KeyMarker?: string; + Prefix?: string; /** - *

                                                  Contains the delimiter you specified in the request. If you don't specify a delimiter in your request, this element is absent from the response.

                                                  + *

                                                  When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request.

                                                  */ - Delimiter?: string; + NextKeyMarker?: string; /** - *

                                                  Upload ID after which listing began.

                                                  + *

                                                  The name of the bucket to which the multipart upload was initiated.

                                                  */ - UploadIdMarker?: string; + Bucket?: string; } export namespace ListMultipartUploadsOutput { @@ -6979,21 +7393,37 @@ export namespace ListMultipartUploadsOutput { export interface ListMultipartUploadsRequest { /** - *

                                                  Character you use to group keys.

                                                  - *

                                                  All keys that contain the same string between the prefix, if specified, and the first occurrence of the delimiter after the prefix are grouped under a single result element, CommonPrefixes. If you don't specify the prefix parameter, then the substring starts at the beginning of the key. The keys that are grouped under CommonPrefixes result element are not returned elsewhere in the response.

                                                  + *

                                                  Together with key-marker, specifies the multipart upload after which listing should begin. If + * key-marker is not specified, the upload-id-marker parameter is ignored. Otherwise, any + * multipart uploads for a key equal to the key-marker might be included in the list only if + * they have an upload ID lexicographically greater than the specified + * upload-id-marker.

                                                  */ - Delimiter?: string; + UploadIdMarker?: string; /** - *

                                                  Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response.

                                                  + *

                                                  The name of the bucket to which the multipart upload was initiated.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ - EncodingType?: EncodingType | string; + Bucket: string | undefined; /** *

                                                  Lists in-progress uploads only for those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different grouping of keys. (You can think of using prefix to make groups in the same way you'd use a folder in a file system.)

                                                  */ Prefix?: string; + /** + *

                                                  Character you use to group keys.

                                                  + *

                                                  All keys that contain the same string between the prefix, if specified, and the first occurrence of the delimiter after the prefix are grouped under a single result element, CommonPrefixes. If you don't specify the prefix parameter, then the substring starts at the beginning of the key. The keys that are grouped under CommonPrefixes result element are not returned elsewhere in the response.

                                                  + */ + Delimiter?: string; + + /** + *

                                                  Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that can be returned in a response.

                                                  + */ + MaxUploads?: number; + /** *

                                                  Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin.

                                                  *

                                                  If upload-id-marker is not specified, only the keys lexicographically greater than the specified key-marker will be included in the list.

                                                  @@ -7003,24 +7433,14 @@ export interface ListMultipartUploadsRequest { KeyMarker?: string; /** - *

                                                  Together with key-marker, specifies the multipart upload after which listing should begin. If - * key-marker is not specified, the upload-id-marker parameter is ignored. Otherwise, any - * multipart uploads for a key equal to the key-marker might be included in the list only if - * they have an upload ID lexicographically greater than the specified - * upload-id-marker.

                                                  - */ - UploadIdMarker?: string; - - /** - *

                                                  Name of the bucket to which the multipart upload was initiated.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; /** - *

                                                  Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that can be returned in a response.

                                                  + *

                                                  Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response.

                                                  */ - MaxUploads?: number; + EncodingType?: EncodingType | string; } export namespace ListMultipartUploadsRequest { @@ -7034,6 +7454,7 @@ export type ObjectStorageClass = | "GLACIER" | "INTELLIGENT_TIERING" | "ONEZONE_IA" + | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA"; @@ -7043,35 +7464,53 @@ export type ObjectStorageClass = */ export interface _Object { /** - *

                                                  The owner of the object

                                                  + *

                                                  Size in bytes of the object

                                                  */ - Owner?: Owner; + Size?: number; /** - *

                                                  The class of storage used to store the object.

                                                  + *

                                                  The entity tag is a hash of the object. The ETag reflects changes only to the + * contents of an object, not its metadata. The ETag may or may not be an MD5 digest of + * the object data. Whether or not it is depends on how the object was created and how it + * is encrypted as described below:

                                                  + *
                                                    + *
                                                  • + *

                                                    Objects created by the PUT Object, POST Object, or Copy operation, or through + * the AWS Management Console, and are encrypted by SSE-S3 or plaintext, have ETags + * that are an MD5 digest of their object data.

                                                    + *
                                                  • + *
                                                  • + *

                                                    Objects created by the PUT Object, POST Object, or Copy operation, or through + * the AWS Management Console, and are encrypted by SSE-C or SSE-KMS, have + * ETags that are not an MD5 digest of their object data.

                                                    + *
                                                  • + *
                                                  • + *

                                                    If an object is created by either the Multipart Upload or Part Copy operation, + * the ETag is not an MD5 digest, regardless of the method of encryption.

                                                    + *
                                                  • + *
                                                  */ - StorageClass?: ObjectStorageClass | string; + ETag?: string; /** - *

                                                  The date the Object was Last Modified

                                                  + *

                                                  The owner of the object

                                                  */ - LastModified?: Date; + Owner?: Owner; /** - *

                                                  The entity tag is an MD5 hash of the object. ETag reflects only changes - * to the contents of an object, not its metadata.

                                                  + *

                                                  The class of storage used to store the object.

                                                  */ - ETag?: string; + StorageClass?: ObjectStorageClass | string; /** - *

                                                  Size in bytes of the object

                                                  + *

                                                  The name that you assign to an object. You use the object key to retrieve the object.

                                                  */ - Size?: number; + Key?: string; /** - *

                                                  The name that you assign to an object. You use the object key to retrieve the object.

                                                  + *

                                                  The date the Object was Last Modified

                                                  */ - Key?: string; + LastModified?: Date; } export namespace _Object { @@ -7082,24 +7521,28 @@ export namespace _Object { export interface ListObjectsOutput { /** - *

                                                  Keys that begin with the indicated prefix.

                                                  + *

                                                  The maximum number of keys returned in the response body.

                                                  */ - Prefix?: string; + MaxKeys?: number; /** - *

                                                  Indicates where in the bucket listing begins. Marker is included in the response if it was sent with the request.

                                                  + *

                                                  Metadata about each object returned.

                                                  */ - Marker?: string; + Contents?: _Object[]; /** - *

                                                  Bucket name.

                                                  + *

                                                  Causes keys that contain the same string between the prefix and the first occurrence of + * the delimiter to be rolled up into a single result element in the + * CommonPrefixes collection. These rolled-up keys are not returned elsewhere + * in the response. Each rolled-up result counts as only one return against the + * MaxKeys value.

                                                  */ - Name?: string; + Delimiter?: string; /** - *

                                                  When response is truncated (the IsTruncated element value in the response is true), you can use the key name in this field as marker in the subsequent request to get next set of objects. Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.

                                                  + *

                                                  The bucket name.

                                                  */ - NextMarker?: string; + Name?: string; /** *

                                                  A flag that indicates whether Amazon S3 returned all of the results that satisfied the search @@ -7108,14 +7551,24 @@ export interface ListObjectsOutput { IsTruncated?: boolean; /** - *

                                                  Encoding type used by Amazon S3 to encode object keys in the response.

                                                  + *

                                                  When response is truncated (the IsTruncated element value in the response is true), you can use the key name in this field as marker in the subsequent request to get next set of objects. Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter request parameter specified. If response does not include the NextMarker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.

                                                  */ - EncodingType?: EncodingType | string; + NextMarker?: string; /** - *

                                                  Metadata about each object returned.

                                                  + *

                                                  Keys that begin with the indicated prefix.

                                                  */ - Contents?: _Object[]; + Prefix?: string; + + /** + *

                                                  Indicates where in the bucket listing begins. Marker is included in the response if it was sent with the request.

                                                  + */ + Marker?: string; + + /** + *

                                                  Encoding type used by Amazon S3 to encode object keys in the response.

                                                  + */ + EncodingType?: EncodingType | string; /** *

                                                  All of the keys rolled up in a common prefix count as a single return when calculating the number of returns.

                                                  @@ -7129,20 +7582,6 @@ export interface ListObjectsOutput { *

                                                  For example, if the prefix is notes/ and the delimiter is a slash (/) as in notes/summer/july, the common prefix is notes/summer/. All of the keys that roll up into a common prefix count as a single return when calculating the number of returns.

                                                  */ CommonPrefixes?: CommonPrefix[]; - - /** - *

                                                  The maximum number of keys returned in the response body.

                                                  - */ - MaxKeys?: number; - - /** - *

                                                  Causes keys that contain the same string between the prefix and the first occurrence of - * the delimiter to be rolled up into a single result element in the - * CommonPrefixes collection. These rolled-up keys are not returned elsewhere - * in the response. Each rolled-up result counts as only one return against the - * MaxKeys value.

                                                  - */ - Delimiter?: string; } export namespace ListObjectsOutput { @@ -7153,9 +7592,14 @@ export namespace ListObjectsOutput { export interface ListObjectsRequest { /** - *

                                                  Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests.

                                                  + *

                                                  Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

                                                  */ - RequestPayer?: RequestPayer | string; + MaxKeys?: number; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; /** *

                                                  Specifies the key to start with when listing objects in a bucket.

                                                  @@ -7168,24 +7612,26 @@ export interface ListObjectsRequest { Prefix?: string; /** - *

                                                  The name of the bucket containing the objects.

                                                  + *

                                                  A delimiter is a character you use to group keys.

                                                  */ - Bucket: string | undefined; + Delimiter?: string; /** - *

                                                  Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response.

                                                  + *

                                                  The name of the bucket containing the objects.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ - EncodingType?: EncodingType | string; + Bucket: string | undefined; /** - *

                                                  Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

                                                  + *

                                                  Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests.

                                                  */ - MaxKeys?: number; + RequestPayer?: RequestPayer | string; /** - *

                                                  A delimiter is a character you use to group keys.

                                                  + *

                                                  Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response.

                                                  */ - Delimiter?: string; + EncodingType?: EncodingType | string; } export namespace ListObjectsRequest { @@ -7195,37 +7641,6 @@ export namespace ListObjectsRequest { } export interface ListObjectsV2Output { - /** - *

                                                  If StartAfter was sent with the request, it is included in the response.

                                                  - */ - StartAfter?: string; - - /** - *

                                                  - * Keys that begin with the indicated prefix.

                                                  - */ - Prefix?: string; - - /** - *

                                                  All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.

                                                  - * - *

                                                  A response can contain CommonPrefixes only if you specify a delimiter.

                                                  - * - *

                                                  - * CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by a delimiter.

                                                  - * - *

                                                  - * CommonPrefixes lists keys that act like subdirectories in the directory specified by Prefix.

                                                  - * - *

                                                  For example, if the prefix is notes/ and the delimiter is a slash (/) as in notes/summer/july, the common prefix is notes/summer/. All of the keys that roll up into a common prefix count as a single return when calculating the number of returns.

                                                  - */ - CommonPrefixes?: CommonPrefix[]; - - /** - *

                                                  Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

                                                  - */ - MaxKeys?: number; - /** *

                                                  Causes keys that contain the same string between the prefix and the first occurrence of the * delimiter to be rolled up into a single result element in the CommonPrefixes collection. @@ -7235,19 +7650,26 @@ export interface ListObjectsV2Output { Delimiter?: string; /** - *

                                                  KeyCount is the number of keys returned with this request. KeyCount will always be less than equals to MaxKeys field. Say you ask for 50 keys, your result will include less than equals 50 keys

                                                  + *

                                                  Set to false if all of the results were returned. Set to true if more keys are available to return. If the number of results exceeds that specified by MaxKeys, all of the results might not be returned.

                                                  */ - KeyCount?: number; + IsTruncated?: boolean; /** - *

                                                  Set to false if all of the results were returned. Set to true if more keys are available to return. If the number of results exceeds that specified by MaxKeys, all of the results might not be returned.

                                                  + *

                                                  The bucket name.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ - IsTruncated?: boolean; + Name?: string; /** - *

                                                  Metadata about each object returned.

                                                  + *

                                                  Encoding type used by Amazon S3 to encode object key names in the XML response.

                                                  + * + *

                                                  If you specify the encoding-type request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:

                                                  + * + *

                                                  + * Delimiter, Prefix, Key, and StartAfter.

                                                  */ - Contents?: _Object[]; + EncodingType?: EncodingType | string; /** *

                                                  @@ -7256,14 +7678,29 @@ export interface ListObjectsV2Output { ContinuationToken?: string; /** - *

                                                  Encoding type used by Amazon S3 to encode object key names in the XML response.

                                                  + *

                                                  Metadata about each object returned.

                                                  + */ + Contents?: _Object[]; + + /** + *

                                                  All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.

                                                  * - *

                                                  If you specify the encoding-type request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:

                                                  + *

                                                  A response can contain CommonPrefixes only if you specify a delimiter.

                                                  * *

                                                  - * Delimiter, Prefix, Key, and StartAfter.

                                                  + * CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by a delimiter.

                                                  + * + *

                                                  + * CommonPrefixes lists keys that act like subdirectories in the directory specified by Prefix.

                                                  + * + *

                                                  For example, if the prefix is notes/ and the delimiter is a slash (/) as in notes/summer/july, the common prefix is notes/summer/. All of the keys that roll up into a common prefix count as a single return when calculating the number of returns.

                                                  */ - EncodingType?: EncodingType | string; + CommonPrefixes?: CommonPrefix[]; + + /** + *

                                                  If StartAfter was sent with the request, it is included in the response.

                                                  + */ + StartAfter?: string; /** *

                                                  @@ -7275,10 +7712,20 @@ export interface ListObjectsV2Output { NextContinuationToken?: string; /** - *

                                                  Bucket name.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

                                                  */ - Name?: string; + MaxKeys?: number; + + /** + *

                                                  KeyCount is the number of keys returned with this request. KeyCount will always be less than equals to MaxKeys field. Say you ask for 50 keys, your result will include less than equals 50 keys

                                                  + */ + KeyCount?: number; + + /** + *

                                                  + * Keys that begin with the indicated prefix.

                                                  + */ + Prefix?: string; } export namespace ListObjectsV2Output { @@ -7289,19 +7736,14 @@ export namespace ListObjectsV2Output { export interface ListObjectsV2Request { /** - *

                                                  Confirms that the requester knows that she or he will be charged for the list objects request in V2 style. Bucket owners need not specify this parameter in their requests.

                                                  - */ - RequestPayer?: RequestPayer | string; - - /** - *

                                                  Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

                                                  + *

                                                  ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key.

                                                  */ - MaxKeys?: number; + ContinuationToken?: string; /** - *

                                                  StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - StartAfter?: string; + ExpectedBucketOwner?: string; /** *

                                                  The owner field is not present in listV2 by default, if you want to return owner field with @@ -7309,31 +7751,42 @@ export interface ListObjectsV2Request { */ FetchOwner?: boolean; + /** + *

                                                  Encoding type used by Amazon S3 to encode object keys in the response.

                                                  + */ + EncodingType?: EncodingType | string; + + /** + *

                                                  Confirms that the requester knows that she or he will be charged for the list objects request in V2 style. Bucket owners need not specify this parameter in their requests.

                                                  + */ + RequestPayer?: RequestPayer | string; + /** *

                                                  Limits the response to keys that begin with the specified prefix.

                                                  */ Prefix?: string; /** - *

                                                  A delimiter is a character you use to group keys.

                                                  + *

                                                  StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket.

                                                  */ - Delimiter?: string; + StartAfter?: string; /** *

                                                  Bucket name to list.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ Bucket: string | undefined; /** - *

                                                  ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key.

                                                  + *

                                                  A delimiter is a character you use to group keys.

                                                  */ - ContinuationToken?: string; + Delimiter?: string; /** - *

                                                  Encoding type used by Amazon S3 to encode object keys in the response.

                                                  + *

                                                  Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

                                                  */ - EncodingType?: EncodingType | string; + MaxKeys?: number; } export namespace ListObjectsV2Request { @@ -7357,9 +7810,9 @@ export interface DeleteMarkerEntry { LastModified?: Date; /** - *

                                                  The account that created the delete marker.>

                                                  + *

                                                  The object key.

                                                  */ - Owner?: Owner; + Key?: string; /** *

                                                  Specifies whether the object is (true) or is not (false) the latest version of an object.

                                                  @@ -7367,9 +7820,9 @@ export interface DeleteMarkerEntry { IsLatest?: boolean; /** - *

                                                  The object key.

                                                  + *

                                                  The account that created the delete marker.>

                                                  */ - Key?: string; + Owner?: Owner; } export namespace DeleteMarkerEntry { @@ -7385,44 +7838,44 @@ export type ObjectVersionStorageClass = "STANDARD"; */ export interface ObjectVersion { /** - *

                                                  The class of storage used to store the object.

                                                  - */ - StorageClass?: ObjectVersionStorageClass | string; - - /** - *

                                                  Specifies whether the object is (true) or is not (false) the latest version of an object.

                                                  + *

                                                  Size in bytes of the object.

                                                  */ - IsLatest?: boolean; + Size?: number; /** - *

                                                  Specifies the owner of the object.

                                                  + *

                                                  The object key.

                                                  */ - Owner?: Owner; + Key?: string; /** - *

                                                  The entity tag is an MD5 hash of that version of the object.

                                                  + *

                                                  The class of storage used to store the object.

                                                  */ - ETag?: string; + StorageClass?: ObjectVersionStorageClass | string; /** - *

                                                  Version ID of an object.

                                                  + *

                                                  Specifies the owner of the object.

                                                  */ - VersionId?: string; + Owner?: Owner; /** - *

                                                  Size in bytes of the object.

                                                  + *

                                                  Specifies whether the object is (true) or is not (false) the latest version of an object.

                                                  */ - Size?: number; + IsLatest?: boolean; /** - *

                                                  The object key.

                                                  + *

                                                  The entity tag is an MD5 hash of that version of the object.

                                                  */ - Key?: string; + ETag?: string; /** *

                                                  Date and time the object was last modified.

                                                  */ LastModified?: Date; + + /** + *

                                                  Version ID of an object.

                                                  + */ + VersionId?: string; } export namespace ObjectVersion { @@ -7433,19 +7886,37 @@ export namespace ObjectVersion { export interface ListObjectVersionsOutput { /** - *

                                                  Container for an object that is a delete marker.

                                                  + *

                                                  The bucket name.

                                                  */ - DeleteMarkers?: DeleteMarkerEntry[]; + Name?: string; /** - *

                                                  All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.

                                                  + *

                                                  The delimiter grouping the included keys. A delimiter is a character that you specify to + * group keys. All keys that contain the same string between the prefix and the first + * occurrence of the delimiter are grouped under a single result element in + * CommonPrefixes. These groups are counted as one result against the max-keys + * limitation. These keys are not returned elsewhere in the response.

                                                  */ - CommonPrefixes?: CommonPrefix[]; + Delimiter?: string; /** - *

                                                  Selects objects that start with the value supplied by this parameter.

                                                  + *

                                                  + * Encoding type used by Amazon S3 to encode object key names in the XML response.

                                                  + * + *

                                                  If you specify encoding-type request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:

                                                  + * + *

                                                  + * KeyMarker, NextKeyMarker, Prefix, Key, and Delimiter.

                                                  */ - Prefix?: string; + EncodingType?: EncodingType | string; + + /** + *

                                                  When the number of responses exceeds the value of MaxKeys, + * NextVersionIdMarker specifies the first object version not returned that + * satisfies the search criteria. Use this value for the version-id-marker request parameter + * in a subsequent request.

                                                  + */ + NextVersionIdMarker?: string; /** *

                                                  When the number of responses exceeds the value of MaxKeys, @@ -7456,9 +7927,14 @@ export interface ListObjectVersionsOutput { NextKeyMarker?: string; /** - *

                                                  Bucket name.

                                                  + *

                                                  All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.

                                                  */ - Name?: string; + CommonPrefixes?: CommonPrefix[]; + + /** + *

                                                  Marks the last version of the key returned in a truncated response.

                                                  + */ + VersionIdMarker?: string; /** *

                                                  A flag that indicates whether Amazon S3 returned all of the results that satisfied the search @@ -7469,52 +7945,29 @@ export interface ListObjectVersionsOutput { IsTruncated?: boolean; /** - *

                                                  - * Encoding type used by Amazon S3 to encode object key names in the XML response.

                                                  - * - *

                                                  If you specify encoding-type request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:

                                                  - * - *

                                                  - * KeyMarker, NextKeyMarker, Prefix, Key, and Delimiter.

                                                  - */ - EncodingType?: EncodingType | string; - - /** - *

                                                  Marks the last version of the key returned in a truncated response.

                                                  + *

                                                  Specifies the maximum number of objects to return.

                                                  */ - VersionIdMarker?: string; + MaxKeys?: number; /** - *

                                                  When the number of responses exceeds the value of MaxKeys, - * NextVersionIdMarker specifies the first object version not returned that - * satisfies the search criteria. Use this value for the version-id-marker request parameter - * in a subsequent request.

                                                  + *

                                                  Selects objects that start with the value supplied by this parameter.

                                                  */ - NextVersionIdMarker?: string; + Prefix?: string; /** - *

                                                  Specifies the maximum number of objects to return.

                                                  + *

                                                  Container for version information.

                                                  */ - MaxKeys?: number; + Versions?: ObjectVersion[]; /** - *

                                                  The delimiter grouping the included keys. A delimiter is a character that you specify to - * group keys. All keys that contain the same string between the prefix and the first - * occurrence of the delimiter are grouped under a single result element in - * CommonPrefixes. These groups are counted as one result against the max-keys - * limitation. These keys are not returned elsewhere in the response.

                                                  + *

                                                  Container for an object that is a delete marker.

                                                  */ - Delimiter?: string; + DeleteMarkers?: DeleteMarkerEntry[]; /** *

                                                  Marks the last key returned in a truncated response.

                                                  */ KeyMarker?: string; - - /** - *

                                                  Container for version information.

                                                  - */ - Versions?: ObjectVersion[]; } export namespace ListObjectVersionsOutput { @@ -7525,24 +7978,24 @@ export namespace ListObjectVersionsOutput { export interface ListObjectVersionsRequest { /** - *

                                                  Use this parameter to select only those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different groupings of keys. (You can think of using prefix to make groups in the same way you'd use a folder in a file system.) You can use prefix with delimiter to roll up numerous objects into a single result under CommonPrefixes.

                                                  + *

                                                  Specifies the key to start with when listing objects in a bucket.

                                                  */ - Prefix?: string; + KeyMarker?: string; /** - *

                                                  Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response.

                                                  + *

                                                  Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more. If additional keys satisfy the search criteria, but were not returned because max-keys was exceeded, the response contains true. To return the additional keys, see key-marker and version-id-marker.

                                                  */ - EncodingType?: EncodingType | string; + MaxKeys?: number; /** - *

                                                  Specifies the key to start with when listing objects in a bucket.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - KeyMarker?: string; + ExpectedBucketOwner?: string; /** - *

                                                  Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more. If additional keys satisfy the search criteria, but were not returned because max-keys was exceeded, the response contains true. To return the additional keys, see key-marker and version-id-marker.

                                                  + *

                                                  A delimiter is a character that you specify to group keys. All keys that contain the same string between the prefix and the first occurrence of the delimiter are grouped under a single result element in CommonPrefixes. These groups are counted as one result against the max-keys limitation. These keys are not returned elsewhere in the response.

                                                  */ - MaxKeys?: number; + Delimiter?: string; /** *

                                                  Specifies the object version you want to start listing from.

                                                  @@ -7550,15 +8003,19 @@ export interface ListObjectVersionsRequest { VersionIdMarker?: string; /** - *

                                                  The bucket name that contains the objects.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  The bucket name that contains the objects.

                                                  */ Bucket: string | undefined; /** - *

                                                  A delimiter is a character that you specify to group keys. All keys that contain the same string between the prefix and the first occurrence of the delimiter are grouped under a single result element in CommonPrefixes. These groups are counted as one result against the max-keys limitation. These keys are not returned elsewhere in the response.

                                                  + *

                                                  Use this parameter to select only those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different groupings of keys. (You can think of using prefix to make groups in the same way you'd use a folder in a file system.) You can use prefix with delimiter to roll up numerous objects into a single result under CommonPrefixes.

                                                  */ - Delimiter?: string; + Prefix?: string; + + /** + *

                                                  Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response.

                                                  + */ + EncodingType?: EncodingType | string; } export namespace ListObjectVersionsRequest { @@ -7572,24 +8029,24 @@ export namespace ListObjectVersionsRequest { */ export interface Part { /** - *

                                                  Entity tag returned when the part was uploaded.

                                                  + *

                                                  Size in bytes of the uploaded part data.

                                                  */ - ETag?: string; + Size?: number; /** - *

                                                  Part number identifying the part. This is a positive integer between 1 and 10,000.

                                                  + *

                                                  Date and time at which the part was uploaded.

                                                  */ - PartNumber?: number; + LastModified?: Date; /** - *

                                                  Date and time at which the part was uploaded.

                                                  + *

                                                  Part number identifying the part. This is a positive integer between 1 and 10,000.

                                                  */ - LastModified?: Date; + PartNumber?: number; /** - *

                                                  Size in bytes of the uploaded part data.

                                                  + *

                                                  Entity tag returned when the part was uploaded.

                                                  */ - Size?: number; + ETag?: string; } export namespace Part { @@ -7600,12 +8057,16 @@ export namespace Part { export interface ListPartsOutput { /** - *

                                                  Container element that identifies who initiated the multipart upload. If the initiator is an - * AWS account, this element provides the same information as the Owner element. - * If the initiator is an IAM User, this element provides the user ARN and display - * name.

                                                  + *

                                                  Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded object.

                                                  */ - Initiator?: Initiator; + StorageClass?: StorageClass | string; + + /** + *

                                                  This header is returned along with the x-amz-abort-date header. It identifies + * applicable lifecycle configuration rule that defines the action to abort incomplete + * multipart uploads.

                                                  + */ + AbortRuleId?: string; /** *

                                                  @@ -7616,7 +8077,7 @@ export interface ListPartsOutput { /** *

                                                  When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request.

                                                  */ - PartNumberMarker?: number; + NextPartNumberMarker?: number; /** *

                                                  Object key for which the multipart upload was initiated.

                                                  @@ -7624,37 +8085,27 @@ export interface ListPartsOutput { Key?: string; /** - *

                                                  Maximum number of parts that were allowed in the response.

                                                  - */ - MaxParts?: number; - - /** - *

                                                  Container for elements related to a particular part. A response can contain zero or - * more Part elements.

                                                  - */ - Parts?: Part[]; - - /** - *

                                                  Upload ID identifying the multipart upload whose parts are being listed.

                                                  + *

                                                  When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request.

                                                  */ - UploadId?: string; + PartNumberMarker?: number; /** - *

                                                  Name of the bucket to which the multipart upload was initiated.

                                                  + *

                                                  Container element that identifies who initiated the multipart upload. If the initiator is an + * AWS account, this element provides the same information as the Owner element. + * If the initiator is an IAM User, this element provides the user ARN and display + * name.

                                                  */ - Bucket?: string; + Initiator?: Initiator; /** - *

                                                  This header is returned along with the x-amz-abort-date header. It identifies - * applicable lifecycle configuration rule that defines the action to abort incomplete - * multipart uploads.

                                                  + *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  */ - AbortRuleId?: string; + RequestCharged?: RequestCharged | string; /** - *

                                                  Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded object.

                                                  + *

                                                  Maximum number of parts that were allowed in the response.

                                                  */ - StorageClass?: StorageClass | string; + MaxParts?: number; /** *

                                                  If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, then the response includes this header indicating when the initiated multipart upload will become eligible for abort operation. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

                                                  @@ -7665,20 +8116,26 @@ export interface ListPartsOutput { AbortDate?: Date; /** - *

                                                  When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request.

                                                  + *

                                                  Container for elements related to a particular part. A response can contain zero or + * more Part elements.

                                                  */ - NextPartNumberMarker?: number; + Parts?: Part[]; /** - *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  + *

                                                  The name of the bucket to which the multipart upload was initiated.

                                                  */ - RequestCharged?: RequestCharged | string; + Bucket?: string; /** *

                                                  * Indicates whether the returned list of parts is truncated. A true value indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the MaxParts element.

                                                  */ IsTruncated?: boolean; + + /** + *

                                                  Upload ID identifying the multipart upload whose parts are being listed.

                                                  + */ + UploadId?: string; } export namespace ListPartsOutput { @@ -7689,9 +8146,24 @@ export namespace ListPartsOutput { export interface ListPartsRequest { /** - *

                                                  Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.

                                                  + *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                  */ - PartNumberMarker?: number; + RequestPayer?: RequestPayer | string; + + /** + *

                                                  Upload ID identifying the multipart upload whose parts are being listed.

                                                  + */ + UploadId: string | undefined; + + /** + *

                                                  The name of the bucket to which the parts are being uploaded.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  + */ + Bucket: string | undefined; /** *

                                                  Sets the maximum number of parts to return.

                                                  @@ -7699,9 +8171,9 @@ export interface ListPartsRequest { MaxParts?: number; /** - *

                                                  Upload ID identifying the multipart upload whose parts are being listed.

                                                  + *

                                                  Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.

                                                  */ - UploadId: string | undefined; + PartNumberMarker?: number; /** *

                                                  Object key for which the multipart upload was initiated.

                                                  @@ -7709,18 +8181,9 @@ export interface ListPartsRequest { Key: string | undefined; /** - *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                  - */ - RequestPayer?: RequestPayer | string; - - /** - *

                                                  Name of the bucket to which the parts are being uploaded.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; } export namespace ListPartsRequest { @@ -7731,10 +8194,15 @@ export namespace ListPartsRequest { export interface PutBucketAccelerateConfigurationRequest { /** - *

                                                  Name of the bucket for which the accelerate configuration is set.

                                                  + *

                                                  The name of the bucket for which the accelerate configuration is set.

                                                  */ Bucket: string | undefined; + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  Container for setting the transfer acceleration state.

                                                  */ @@ -7749,20 +8217,25 @@ export namespace PutBucketAccelerateConfigurationRequest { export interface PutBucketAclRequest { /** - *

                                                  Contains the elements that set the ACL permissions for an object per grantee.

                                                  + *

                                                  Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

                                                  */ - AccessControlPolicy?: AccessControlPolicy; + GrantFullControl?: string; /** - *

                                                  Allows grantee to list the objects in the bucket.

                                                  + *

                                                  The bucket to which to apply the ACL.

                                                  */ - GrantRead?: string; + Bucket: string | undefined; /** *

                                                  Allows grantee to read the bucket ACL.

                                                  */ GrantReadACP?: string; + /** + *

                                                  Allows grantee to create, overwrite, and delete any object in the bucket.

                                                  + */ + GrantWrite?: string; + /** *

                                                  The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message integrity * check to verify that the request body was not corrupted in transit. For more information, go to @@ -7777,24 +8250,24 @@ export interface PutBucketAclRequest { ACL?: BucketCannedACL | string; /** - *

                                                  Allows grantee to create, overwrite, and delete any object in the bucket.

                                                  + *

                                                  Allows grantee to write the ACL for the applicable bucket.

                                                  */ - GrantWrite?: string; + GrantWriteACP?: string; /** - *

                                                  The bucket to which to apply the ACL.

                                                  + *

                                                  Contains the elements that set the ACL permissions for an object per grantee.

                                                  */ - Bucket: string | undefined; + AccessControlPolicy?: AccessControlPolicy; /** - *

                                                  Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

                                                  + *

                                                  Allows grantee to list the objects in the bucket.

                                                  */ - GrantFullControl?: string; + GrantRead?: string; /** - *

                                                  Allows grantee to write the ACL for the applicable bucket.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - GrantWriteACP?: string; + ExpectedBucketOwner?: string; } export namespace PutBucketAclRequest { @@ -7809,15 +8282,20 @@ export interface PutBucketAnalyticsConfigurationRequest { */ Id: string | undefined; + /** + *

                                                  The name of the bucket to which an analytics configuration is stored.

                                                  + */ + Bucket: string | undefined; + /** *

                                                  The configuration and any analyses for the analytics filter.

                                                  */ AnalyticsConfiguration: AnalyticsConfiguration | undefined; /** - *

                                                  The name of the bucket to which an analytics configuration is stored.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; } export namespace PutBucketAnalyticsConfigurationRequest { @@ -7846,11 +8324,9 @@ export namespace CORSConfiguration { export interface PutBucketCorsRequest { /** - *

                                                  Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more - * information, see Enabling Cross-Origin Resource - * Sharing in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  Specifies the bucket impacted by the corsconfiguration.

                                                  */ - CORSConfiguration: CORSConfiguration | undefined; + Bucket: string | undefined; /** *

                                                  The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message integrity @@ -7861,9 +8337,16 @@ export interface PutBucketCorsRequest { ContentMD5?: string; /** - *

                                                  Specifies the bucket impacted by the corsconfiguration.

                                                  + *

                                                  Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more + * information, see Enabling Cross-Origin Resource + * Sharing in the Amazon Simple Storage Service Developer Guide.

                                                  */ - Bucket: string | undefined; + CORSConfiguration: CORSConfiguration | undefined; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; } export namespace PutBucketCorsRequest { @@ -7874,9 +8357,9 @@ export namespace PutBucketCorsRequest { export interface PutBucketEncryptionRequest { /** - *

                                                  Specifies the default server-side-encryption configuration.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration | undefined; + ExpectedBucketOwner?: string; /** *

                                                  The base64-encoded 128-bit MD5 digest of the server-side encryption configuration. This @@ -7888,6 +8371,11 @@ export interface PutBucketEncryptionRequest { *

                                                  Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS (SSE-KMS). For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon Simple Storage Service Developer Guide.

                                                  */ Bucket: string | undefined; + + /** + *

                                                  Specifies the default server-side-encryption configuration.

                                                  + */ + ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration | undefined; } export namespace PutBucketEncryptionRequest { @@ -7902,11 +8390,6 @@ export namespace PutBucketEncryptionRequest { } export interface PutBucketInventoryConfigurationRequest { - /** - *

                                                  Specifies the inventory configuration.

                                                  - */ - InventoryConfiguration: InventoryConfiguration | undefined; - /** *

                                                  The name of the bucket where the inventory configuration will be stored.

                                                  */ @@ -7916,6 +8399,16 @@ export interface PutBucketInventoryConfigurationRequest { *

                                                  The ID used to identify the inventory configuration.

                                                  */ Id: string | undefined; + + /** + *

                                                  Specifies the inventory configuration.

                                                  + */ + InventoryConfiguration: InventoryConfiguration | undefined; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; } export namespace PutBucketInventoryConfigurationRequest { @@ -7946,15 +8439,20 @@ export namespace BucketLifecycleConfiguration { } export interface PutBucketLifecycleConfigurationRequest { + /** + *

                                                  Container for lifecycle rules. You can add as many as 1,000 rules.

                                                  + */ + LifecycleConfiguration?: BucketLifecycleConfiguration; + /** *

                                                  The name of the bucket for which to set the configuration.

                                                  */ Bucket: string | undefined; /** - *

                                                  Container for lifecycle rules. You can add as many as 1,000 rules.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - LifecycleConfiguration?: BucketLifecycleConfiguration; + ExpectedBucketOwner?: string; } export namespace PutBucketLifecycleConfigurationRequest { @@ -7982,6 +8480,16 @@ export namespace BucketLoggingStatus { } export interface PutBucketLoggingRequest { + /** + *

                                                  The name of the bucket for which to set the logging parameters.

                                                  + */ + Bucket: string | undefined; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  Container for logging status information.

                                                  */ @@ -7991,11 +8499,6 @@ export interface PutBucketLoggingRequest { *

                                                  The MD5 hash of the PutBucketLogging request body.

                                                  */ ContentMD5?: string; - - /** - *

                                                  The name of the bucket for which to set the logging parameters.

                                                  - */ - Bucket: string | undefined; } export namespace PutBucketLoggingRequest { @@ -8005,6 +8508,11 @@ export namespace PutBucketLoggingRequest { } export interface PutBucketMetricsConfigurationRequest { + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  The name of the bucket for which the metrics configuration is set.

                                                  */ @@ -8028,6 +8536,11 @@ export namespace PutBucketMetricsConfigurationRequest { } export interface PutBucketNotificationConfigurationRequest { + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  A container for specifying the notification configuration of the bucket. If this element is * empty, notifications are turned off for the bucket.

                                                  @@ -8046,26 +8559,57 @@ export namespace PutBucketNotificationConfigurationRequest { }); } -export interface PutBucketPolicyRequest { +export interface PutBucketOwnershipControlsRequest { /** - *

                                                  The name of the bucket.

                                                  + *

                                                  The name of the Amazon S3 bucket whose OwnershipControls you want to set.

                                                  */ Bucket: string | undefined; /** - *

                                                  The bucket policy as a JSON document.

                                                  + *

                                                  The MD5 hash of the OwnershipControls request body.

                                                  */ - Policy: string | undefined; + ContentMD5?: string; /** - *

                                                  Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future.

                                                  + *

                                                  The OwnershipControls (BucketOwnerPreferred or ObjectWriter) that you want + * to apply to this Amazon S3 bucket.

                                                  */ - ConfirmRemoveSelfBucketAccess?: boolean; + OwnershipControls: OwnershipControls | undefined; + + ExpectedBucketOwner?: string; +} + +export namespace PutBucketOwnershipControlsRequest { + export const filterSensitiveLog = (obj: PutBucketOwnershipControlsRequest): any => ({ + ...obj, + }); +} + +export interface PutBucketPolicyRequest { + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; /** *

                                                  The MD5 hash of the request body.

                                                  */ ContentMD5?: string; + + /** + *

                                                  The bucket policy as a JSON document.

                                                  + */ + Policy: string | undefined; + + /** + *

                                                  The name of the bucket.

                                                  + */ + Bucket: string | undefined; + + /** + *

                                                  Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future.

                                                  + */ + ConfirmRemoveSelfBucketAccess?: boolean; } export namespace PutBucketPolicyRequest { @@ -8076,9 +8620,9 @@ export namespace PutBucketPolicyRequest { export interface PutBucketReplicationRequest { /** - *

                                                  The name of the bucket

                                                  + *

                                                  */ - Bucket: string | undefined; + Token?: string; /** *

                                                  A container for replication rules. You can add up to 1,000 rules. The maximum size of a @@ -8086,15 +8630,20 @@ export interface PutBucketReplicationRequest { */ ReplicationConfiguration: ReplicationConfiguration | undefined; + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  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.

                                                  */ ContentMD5?: string; /** - *

                                                  + *

                                                  The name of the bucket

                                                  */ - Token?: string; + Bucket: string | undefined; } export namespace PutBucketReplicationRequest { @@ -8120,6 +8669,11 @@ export namespace RequestPaymentConfiguration { } export interface PutBucketRequestPaymentRequest { + /** + *

                                                  The bucket name.

                                                  + */ + Bucket: string | undefined; + /** *

                                                  Container for Payer.

                                                  */ @@ -8131,9 +8685,9 @@ export interface PutBucketRequestPaymentRequest { ContentMD5?: string; /** - *

                                                  The bucket name.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; } export namespace PutBucketRequestPaymentRequest { @@ -8160,9 +8714,9 @@ export namespace Tagging { 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.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - ContentMD5?: string; + ExpectedBucketOwner?: string; /** *

                                                  The bucket name.

                                                  @@ -8173,6 +8727,11 @@ export interface PutBucketTaggingRequest { *

                                                  Container for the TagSet and Tag elements.

                                                  */ Tagging: Tagging | undefined; + + /** + *

                                                  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.

                                                  + */ + ContentMD5?: string; } export namespace PutBucketTaggingRequest { @@ -8189,14 +8748,14 @@ export type MFADelete = "Disabled" | "Enabled"; */ export interface VersioningConfiguration { /** - *

                                                  Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.

                                                  + *

                                                  The versioning state of the bucket.

                                                  */ - MFADelete?: MFADelete | string; + Status?: BucketVersioningStatus | string; /** - *

                                                  The versioning state of the bucket.

                                                  + *

                                                  Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.

                                                  */ - Status?: BucketVersioningStatus | string; + MFADelete?: MFADelete | string; } export namespace VersioningConfiguration { @@ -8207,9 +8766,9 @@ export namespace VersioningConfiguration { export interface PutBucketVersioningRequest { /** - *

                                                  The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

                                                  + *

                                                  >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.

                                                  */ - MFA?: string; + ContentMD5?: string; /** *

                                                  The bucket name.

                                                  @@ -8217,14 +8776,19 @@ export interface PutBucketVersioningRequest { Bucket: string | undefined; /** - *

                                                  >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.

                                                  + *

                                                  The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

                                                  */ - ContentMD5?: string; + MFA?: string; /** *

                                                  Container for setting the versioning state.

                                                  */ VersioningConfiguration: VersioningConfiguration | undefined; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; } export namespace PutBucketVersioningRequest { @@ -8238,14 +8802,9 @@ export namespace PutBucketVersioningRequest { */ export interface WebsiteConfiguration { /** - *

                                                  Rules that define when a redirect is applied and the redirect behavior.

                                                  - */ - RoutingRules?: RoutingRule[]; - - /** - *

                                                  The name of the index document for the website.

                                                  + *

                                                  The name of the error document for the website.

                                                  */ - IndexDocument?: IndexDocument; + ErrorDocument?: ErrorDocument; /** *

                                                  The redirect behavior for every request to this bucket's website endpoint.

                                                  @@ -8256,9 +8815,14 @@ export interface WebsiteConfiguration { RedirectAllRequestsTo?: RedirectAllRequestsTo; /** - *

                                                  The name of the error document for the website.

                                                  + *

                                                  The name of the index document for the website.

                                                  */ - ErrorDocument?: ErrorDocument; + IndexDocument?: IndexDocument; + + /** + *

                                                  Rules that define when a redirect is applied and the redirect behavior.

                                                  + */ + RoutingRules?: RoutingRule[]; } export namespace WebsiteConfiguration { @@ -8269,9 +8833,14 @@ export namespace WebsiteConfiguration { export interface PutBucketWebsiteRequest { /** - *

                                                  The bucket name.

                                                  + *

                                                  Container for the request.

                                                  */ - Bucket: string | undefined; + WebsiteConfiguration: WebsiteConfiguration | undefined; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; /** *

                                                  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.

                                                  @@ -8279,9 +8848,9 @@ export interface PutBucketWebsiteRequest { ContentMD5?: string; /** - *

                                                  Container for the request.

                                                  + *

                                                  The bucket name.

                                                  */ - WebsiteConfiguration: WebsiteConfiguration | undefined; + Bucket: string | undefined; } export namespace PutBucketWebsiteRequest { @@ -8292,84 +8861,114 @@ export namespace PutBucketWebsiteRequest { export interface PutObjectOutput { /** - *

                                                  Version of the object.

                                                  + *

                                                  If present, specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

                                                  */ - VersionId?: string; + SSEKMSEncryptionContext?: string; /** - *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  + *

                                                  + * If the expiration is configured for the object (see PutBucketLifecycleConfiguration), the response includes this header. It includes the expiry-date and rule-id key-value pairs that provide information about object expiration. The value of the rule-id is URL encoded.

                                                  */ - RequestCharged?: RequestCharged | string; + Expiration?: string; /** - *

                                                  If x-amz-server-side-encryption is present and has the value of - * aws:kms, this header specifies the ID of the AWS Key Management Service - * (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

                                                  + *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response + * will include this header to provide round-trip message integrity verification of the + * customer-provided encryption key.

                                                  */ - SSEKMSKeyId?: string; + SSECustomerKeyMD5?: string; /** - *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                  + *

                                                  Entity tag for the uploaded object.

                                                  */ - SSECustomerAlgorithm?: string; + ETag?: string; /** - *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response - * will include this header to provide round-trip message integrity verification of the - * customer-provided encryption key.

                                                  + *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                  */ - SSECustomerKeyMD5?: string; + SSECustomerAlgorithm?: string; /** - *

                                                  If present, specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

                                                  + *

                                                  Version of the object.

                                                  */ - SSEKMSEncryptionContext?: string; + VersionId?: string; /** - *

                                                  If you specified server-side encryption either with an AWS KMS customer master key (CMK) or Amazon S3-managed encryption key in your PUT request, the response includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the object.

                                                  + *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  */ - ServerSideEncryption?: ServerSideEncryption | string; + RequestCharged?: RequestCharged | string; /** - *

                                                  Entity tag for the uploaded object.

                                                  + *

                                                  If x-amz-server-side-encryption is present and has the value of + * aws:kms, this header specifies the ID of the AWS Key Management Service + * (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

                                                  */ - ETag?: string; + SSEKMSKeyId?: string; /** - *

                                                  - * If the expiration is configured for the object (see PutBucketLifecycleConfiguration), the response includes this header. It includes the expiry-date and rule-id key-value pairs that provide information about object expiration. The value of the rule-id is URL encoded.

                                                  + *

                                                  If you specified server-side encryption either with an AWS KMS customer master key (CMK) or Amazon S3-managed encryption key in your PUT request, the response includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the object.

                                                  */ - Expiration?: string; + ServerSideEncryption?: ServerSideEncryption | string; } export namespace PutObjectOutput { export const filterSensitiveLog = (obj: PutObjectOutput): any => ({ ...obj, - ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }), ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }), + ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }), }); } export interface PutObjectRequest { /** - *

                                                  Object data.

                                                  + *

                                                  The bucket name to which the PUT operation was initiated.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ - Body?: Readable | ReadableStream | Blob; + Bucket: string | undefined; /** - *

                                                  If you don't specify, S3 Standard is the default storage class. Amazon S3 supports other storage classes.

                                                  + *

                                                  Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

                                                  + *

                                                  This action is not supported by Amazon S3 on Outposts.

                                                  */ - StorageClass?: StorageClass | string; + GrantFullControl?: string; /** - *

                                                  The tag-set for the object. The tag-set must be encoded as URL Query parameters. (For example, "Key1=Value1")

                                                  + *

                                                  A map of metadata to store with the object in S3.

                                                  */ - Tagging?: string; + Metadata?: { [key: string]: string }; /** - *

                                                  Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

                                                  + *

                                                  Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11.

                                                  */ - SSEKMSEncryptionContext?: string; + ContentEncoding?: string; + + /** + *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                  + */ + RequestPayer?: RequestPayer | string; + + /** + *

                                                  Allows grantee to read the object ACL.

                                                  + *

                                                  This action is not supported by Amazon S3 on Outposts.

                                                  + */ + GrantReadACP?: string; + + /** + *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses + * this header for a message integrity check to ensure that the encryption key was transmitted + * without error.

                                                  + */ + SSECustomerKeyMD5?: string; + + /** + *

                                                  + * Can be used to specify caching behavior along the request/reply chain. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

                                                  + */ + CacheControl?: string; /** *

                                                  If the bucket is configured as a website, redirects requests for this object to another object @@ -8393,43 +8992,35 @@ export interface PutObjectRequest { WebsiteRedirectLocation?: string; /** - *

                                                  The server-side encryption algorithm used when storing this object in Amazon S3 (for example, - * AES256, aws:kms).

                                                  + *

                                                  Object key for which the PUT operation was initiated.

                                                  */ - ServerSideEncryption?: ServerSideEncryption | string; + Key: string | undefined; /** - *

                                                  The date and time at which the object is no longer cacheable. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21.

                                                  + *

                                                  Specifies whether a legal hold will be applied to this object. For more information about S3 Object Lock, see Object Lock.

                                                  */ - Expires?: Date; + ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string; /** *

                                                  Allows grantee to write the ACL for the applicable object.

                                                  + *

                                                  This action is not supported by Amazon S3 on Outposts.

                                                  */ GrantWriteACP?: string; /** - *

                                                  Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                  - */ - SSECustomerAlgorithm?: string; - - /** - *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This - * value is used to store the object and then it is discarded; Amazon S3 does not store the - * encryption key. The key must be appropriate for use with the algorithm specified in the - * x-amz-server-side​-encryption​-customer-algorithm header.

                                                  + *

                                                  Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13.

                                                  */ - SSECustomerKey?: string; + ContentLength?: number; /** - *

                                                  The base64-encoded 128-bit MD5 digest of the message (without the headers) according to RFC 1864. This header can be used as a message integrity check to verify that the data is the same data that was originally sent. Although it is optional, we recommend using the Content-MD5 mechanism as an end-to-end integrity check. For more information about REST request authentication, see REST Authentication.

                                                  + *

                                                  The date and time when you want this object's Object Lock to expire.

                                                  */ - ContentMD5?: string; + ObjectLockRetainUntilDate?: Date; /** - *

                                                  Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

                                                  + *

                                                  Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                  */ - GrantFullControl?: string; + SSECustomerAlgorithm?: string; /** *

                                                  Specifies presentational information for the object. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1.

                                                  @@ -8437,61 +9028,63 @@ export interface PutObjectRequest { ContentDisposition?: string; /** - *

                                                  Bucket name to which the PUT operation was initiated.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This + * value is used to store the object and then it is discarded; Amazon S3 does not store the + * encryption key. The key must be appropriate for use with the algorithm specified in the + * x-amz-server-side-encryption-customer-algorithm header.

                                                  */ - Bucket: string | undefined; + SSECustomerKey?: string; /** - *

                                                  Allows grantee to read the object ACL.

                                                  + *

                                                  Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

                                                  */ - GrantReadACP?: string; + SSEKMSEncryptionContext?: string; /** - *

                                                  Specifies whether a legal hold will be applied to this object. For more information about S3 Object Lock, see Object Lock.

                                                  + *

                                                  The tag-set for the object. The tag-set must be encoded as URL Query parameters. (For example, "Key1=Value1")

                                                  */ - ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string; + Tagging?: string; /** - *

                                                  Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11.

                                                  + *

                                                  The date and time at which the object is no longer cacheable. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21.

                                                  */ - ContentEncoding?: string; + Expires?: Date; /** - *

                                                  A map of metadata to store with the object in S3.

                                                  + *

                                                  By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. + * The STANDARD storage class provides high durability and high availability. Depending on + * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only + * uses the OUTPOSTS Storage Class. For more information, see + * Storage Classes in the + * Amazon S3 Service Developer Guide.

                                                  */ - Metadata?: { [key: string]: string }; + StorageClass?: StorageClass | string; /** - *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - RequestPayer?: RequestPayer | string; + ExpectedBucketOwner?: string; /** - *

                                                  The date and time when you want this object's Object Lock to expire.

                                                  + *

                                                  Object data.

                                                  */ - ObjectLockRetainUntilDate?: Date; + Body?: Readable | ReadableStream | Blob; /** - *

                                                  - * Can be used to specify caching behavior along the request/reply chain. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

                                                  + *

                                                  The base64-encoded 128-bit MD5 digest of the message (without the headers) according to RFC 1864. This header can be used as a message integrity check to verify that the data is the same data that was originally sent. Although it is optional, we recommend using the Content-MD5 mechanism as an end-to-end integrity check. For more information about REST request authentication, see REST Authentication.

                                                  */ - CacheControl?: string; + ContentMD5?: string; /** - *

                                                  Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13.

                                                  + *

                                                  The server-side encryption algorithm used when storing this object in Amazon S3 (for example, + * AES256, aws:kms).

                                                  */ - ContentLength?: number; + ServerSideEncryption?: ServerSideEncryption | string; /** - *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses - * this header for a message integrity check to ensure that the encryption key was transmitted - * without error.

                                                  + *

                                                  The Object Lock mode that you want to apply to this object.

                                                  */ - SSECustomerKeyMD5?: string; + ObjectLockMode?: ObjectLockMode | string; /** *

                                                  If x-amz-server-side-encryption is present and has the value of @@ -8506,22 +9099,19 @@ export interface PutObjectRequest { SSEKMSKeyId?: string; /** - *

                                                  The Object Lock mode that you want to apply to this object.

                                                  - */ - ObjectLockMode?: ObjectLockMode | string; - - /** - *

                                                  Object key for which the PUT operation was initiated.

                                                  + *

                                                  The language the content is in.

                                                  */ - Key: string | undefined; + ContentLanguage?: string; /** - *

                                                  The language the content is in.

                                                  + *

                                                  Allows grantee to read the object data and its metadata.

                                                  + *

                                                  This action is not supported by Amazon S3 on Outposts.

                                                  */ - ContentLanguage?: string; + GrantRead?: string; /** *

                                                  The canned ACL to apply to the object. For more information, see Canned ACL.

                                                  + *

                                                  This action is not supported by Amazon S3 on Outposts.

                                                  */ ACL?: ObjectCannedACL | string; @@ -8529,18 +9119,13 @@ export interface PutObjectRequest { *

                                                  A standard MIME type describing the format of the contents. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17.

                                                  */ ContentType?: string; - - /** - *

                                                  Allows grantee to read the object data and its metadata.

                                                  - */ - GrantRead?: string; } export namespace PutObjectRequest { export const filterSensitiveLog = (obj: PutObjectRequest): any => ({ ...obj, - ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }), ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }), + ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }), ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }), }); } @@ -8560,72 +9145,83 @@ export namespace PutObjectAclOutput { export interface PutObjectAclRequest { /** - *

                                                  The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message integrity - * check to verify that the request body was not corrupted in transit. For more information, go to - * RFC 1864.> - *

                                                  + *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                  */ - ContentMD5?: string; + RequestPayer?: RequestPayer | string; /** - *

                                                  Allows grantee to read the bucket ACL.

                                                  + *

                                                  The canned ACL to apply to the object. For more information, see Canned + * ACL.

                                                  */ - GrantReadACP?: string; + ACL?: ObjectCannedACL | string; /** - *

                                                  VersionId used to reference a specific version of the object.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - VersionId?: string; + ExpectedBucketOwner?: string; /** - *

                                                  Key for which the PUT operation was initiated.

                                                  + *

                                                  The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message integrity + * check to verify that the request body was not corrupted in transit. For more information, go to + * RFC 1864.> + *

                                                  */ - Key: string | undefined; + ContentMD5?: string; /** - *

                                                  Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

                                                  + *

                                                  Contains the elements that set the ACL permissions for an object per grantee.

                                                  */ - GrantFullControl?: string; + AccessControlPolicy?: AccessControlPolicy; /** - *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                  + *

                                                  Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

                                                  + *

                                                  This action is not supported by Amazon S3 on Outposts.

                                                  */ - RequestPayer?: RequestPayer | string; + GrantFullControl?: string; /** - *

                                                  Contains the elements that set the ACL permissions for an object per grantee.

                                                  + *

                                                  Allows grantee to read the bucket ACL.

                                                  + *

                                                  This action is not supported by Amazon S3 on Outposts.

                                                  */ - AccessControlPolicy?: AccessControlPolicy; + GrantReadACP?: string; /** *

                                                  Allows grantee to list the objects in the bucket.

                                                  + *

                                                  This action is not supported by Amazon S3 on Outposts.

                                                  */ GrantRead?: string; /** - *

                                                  Allows grantee to write the ACL for the applicable bucket.

                                                  + *

                                                  Allows grantee to create, overwrite, and delete any object in the bucket.

                                                  */ - GrantWriteACP?: string; + GrantWrite?: string; /** - *

                                                  The bucket name that contains the object to which you want to attach the ACL.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  Key for which the PUT operation was initiated.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ - Bucket: string | undefined; + Key: string | undefined; /** - *

                                                  Allows grantee to create, overwrite, and delete any object in the bucket.

                                                  + *

                                                  Allows grantee to write the ACL for the applicable bucket.

                                                  + *

                                                  This action is not supported by Amazon S3 on Outposts.

                                                  */ - GrantWrite?: string; + GrantWriteACP?: string; /** - *

                                                  The canned ACL to apply to the object. For more information, see Canned - * ACL.

                                                  + *

                                                  VersionId used to reference a specific version of the object.

                                                  */ - ACL?: ObjectCannedACL | string; + VersionId?: string; + + /** + *

                                                  The bucket name that contains the object to which you want to attach the ACL.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + */ + Bucket: string | undefined; } export namespace PutObjectAclRequest { @@ -8649,15 +9245,31 @@ export namespace PutObjectLegalHoldOutput { export interface PutObjectLegalHoldRequest { /** - *

                                                  The version ID of the object that you want to place a Legal Hold on.

                                                  + *

                                                  The bucket name containing the object that you want to place a Legal Hold on.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  */ - VersionId?: string; + Bucket: string | undefined; /** *

                                                  The MD5 hash for the request body.

                                                  */ ContentMD5?: string; + /** + *

                                                  Container element for the Legal Hold configuration you want to apply to the specified object.

                                                  + */ + LegalHold?: ObjectLockLegalHold; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + + /** + *

                                                  The version ID of the object that you want to place a Legal Hold on.

                                                  + */ + VersionId?: string; + /** *

                                                  The key name for the object that you want to place a Legal Hold on.

                                                  */ @@ -8670,17 +9282,6 @@ export interface PutObjectLegalHoldRequest { * Amazon S3 Developer Guide.

                                                  */ RequestPayer?: RequestPayer | string; - - /** - *

                                                  Container element for the Legal Hold configuration you want to apply to the specified object.

                                                  - */ - LegalHold?: ObjectLockLegalHold; - - /** - *

                                                  The bucket name containing the object that you want to place a Legal Hold on.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  - */ - Bucket: string | undefined; } export namespace PutObjectLegalHoldRequest { @@ -8704,32 +9305,37 @@ export namespace PutObjectLockConfigurationOutput { export interface PutObjectLockConfigurationRequest { /** - *

                                                  The bucket whose Object Lock configuration you want to create or replace.

                                                  + *

                                                  A token to allow Object Lock to be enabled for an existing bucket.

                                                  */ - Bucket: string | undefined; + Token?: string; /** - *

                                                  The MD5 hash for the request body.

                                                  + *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                  */ - ContentMD5?: string; + RequestPayer?: RequestPayer | string; /** - *

                                                  A token to allow Object Lock to be enabled for an existing bucket.

                                                  + *

                                                  The Object Lock configuration that you want to apply to the specified bucket.

                                                  */ - Token?: string; + ObjectLockConfiguration?: ObjectLockConfiguration; /** - *

                                                  The Object Lock configuration that you want to apply to the specified bucket.

                                                  + *

                                                  The bucket whose Object Lock configuration you want to create or replace.

                                                  */ - ObjectLockConfiguration?: ObjectLockConfiguration; + Bucket: string | undefined; /** - *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                  + *

                                                  The MD5 hash for the request body.

                                                  */ - RequestPayer?: RequestPayer | string; + ContentMD5?: string; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; } export namespace PutObjectLockConfigurationRequest { @@ -8753,20 +9359,25 @@ export namespace PutObjectRetentionOutput { export interface PutObjectRetentionRequest { /** - *

                                                  The version ID for the object that you want to apply this Object Retention configuration to.

                                                  + *

                                                  The key name for the object that you want to apply this Object Retention configuration to.

                                                  */ - VersionId?: string; + Key: string | undefined; /** - *

                                                  The MD5 hash for the request body.

                                                  + *

                                                  The bucket name that contains the object you want to apply this Object Retention configuration to.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  */ - ContentMD5?: string; + Bucket: string | undefined; /** - *

                                                  The bucket name that contains the object you want to apply this Object Retention configuration to.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  The container element for the Object Retention configuration.

                                                  */ - Bucket: string | undefined; + Retention?: ObjectLockRetention; + + /** + *

                                                  The version ID for the object that you want to apply this Object Retention configuration to.

                                                  + */ + VersionId?: string; /** *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket @@ -8777,19 +9388,19 @@ export interface PutObjectRetentionRequest { RequestPayer?: RequestPayer | string; /** - *

                                                  Indicates whether this operation should bypass Governance-mode restrictions.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - BypassGovernanceRetention?: boolean; + ExpectedBucketOwner?: string; /** - *

                                                  The key name for the object that you want to apply this Object Retention configuration to.

                                                  + *

                                                  Indicates whether this operation should bypass Governance-mode restrictions.

                                                  */ - Key: string | undefined; + BypassGovernanceRetention?: boolean; /** - *

                                                  The container element for the Object Retention configuration.

                                                  + *

                                                  The MD5 hash for the request body.

                                                  */ - Retention?: ObjectLockRetention; + ContentMD5?: string; } export namespace PutObjectRetentionRequest { @@ -8812,16 +9423,27 @@ export namespace PutObjectTaggingOutput { } export interface PutObjectTaggingRequest { + /** + *

                                                  The bucket name containing the object.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  + */ + Bucket: string | undefined; + + /** + *

                                                  Name of the object key.

                                                  + */ + Key: string | undefined; + /** *

                                                  The versionId of the object that the tag-set will be added to.

                                                  */ VersionId?: string; /** - *

                                                  The bucket name containing the object.

                                                  - *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - Bucket: string | undefined; + ExpectedBucketOwner?: string; /** *

                                                  Container for the TagSet and Tag elements

                                                  @@ -8832,11 +9454,6 @@ export interface PutObjectTaggingRequest { *

                                                  The MD5 hash for the request body.

                                                  */ ContentMD5?: string; - - /** - *

                                                  Name of the tag.

                                                  - */ - Key: string | undefined; } export namespace PutObjectTaggingRequest { @@ -8845,7 +9462,20 @@ export namespace PutObjectTaggingRequest { }); } -export interface PutPublicAccessBlockRequest { +export interface PutPublicAccessBlockRequest { + /** + *

                                                  The PublicAccessBlock configuration that you want to apply to this Amazon S3 + * bucket. You can enable the configuration options in any combination. For more information + * about when Amazon S3 considers a bucket or object public, see The Meaning of "Public" in the Amazon Simple Storage Service Developer + * Guide.

                                                  + */ + PublicAccessBlockConfiguration: PublicAccessBlockConfiguration | undefined; + + /** + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  + */ + ExpectedBucketOwner?: string; + /** *

                                                  The name of the Amazon S3 bucket whose PublicAccessBlock configuration you * want to set.

                                                  @@ -8856,14 +9486,6 @@ export interface PutPublicAccessBlockRequest { *

                                                  The MD5 hash of the PutPublicAccessBlock request body.

                                                  */ ContentMD5?: string; - - /** - *

                                                  The PublicAccessBlock configuration that you want to apply to this Amazon S3 - * bucket. You can enable the configuration options in any combination. For more information - * about when Amazon S3 considers a bucket or object public, see The Meaning of "Public" in the Amazon Simple Storage Service Developer - * Guide.

                                                  - */ - PublicAccessBlockConfiguration: PublicAccessBlockConfiguration | undefined; } export namespace PutPublicAccessBlockRequest { @@ -8888,14 +9510,14 @@ export namespace ObjectAlreadyInActiveTierError { export interface RestoreObjectOutput { /** - *

                                                  Indicates the path in the provided S3 output location where Select results will be restored to.

                                                  + *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  */ - RestoreOutputPath?: string; + RequestCharged?: RequestCharged | string; /** - *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  + *

                                                  Indicates the path in the provided S3 output location where Select results will be restored to.

                                                  */ - RequestCharged?: RequestCharged | string; + RestoreOutputPath?: string; } export namespace RestoreObjectOutput { @@ -8926,18 +9548,18 @@ export namespace GlacierJobParameters { *

                                                  Contains the type of server-side encryption used.

                                                  */ export interface Encryption { - /** - *

                                                  If the encryption type is aws:kms, this optional value can be used to specify the - * encryption context for the restore results.

                                                  - */ - KMSContext?: string; - /** *

                                                  If the encryption type is aws:kms, this optional value specifies the ID of the symmetric customer managed AWS KMS CMK * to use for encryption of job results. Amazon S3 only supports symmetric CMKs. For more information, see Using Symmetric and Asymmetric Keys in the AWS Key Management Service Developer Guide.

                                                  */ KMSKeyId?: string; + /** + *

                                                  If the encryption type is aws:kms, this optional value can be used to specify the + * encryption context for the restore results.

                                                  + */ + KMSContext?: string; + /** *

                                                  The server-side encryption algorithm used when storing job results in Amazon S3 (for example, * AES256, aws:kms).

                                                  @@ -8957,14 +9579,14 @@ export namespace Encryption { */ export interface MetadataEntry { /** - *

                                                  Name of the Object.

                                                  + *

                                                  Value of the Object.

                                                  */ - Name?: string; + Value?: string; /** - *

                                                  Value of the Object.

                                                  + *

                                                  Name of the Object.

                                                  */ - Value?: string; + Name?: string; } export namespace MetadataEntry { @@ -8978,9 +9600,9 @@ export namespace MetadataEntry { */ export interface S3Location { /** - *

                                                  A list of metadata to store with the restore results in S3.

                                                  + *

                                                  The name of the bucket where the restore results will be placed.

                                                  */ - UserMetadata?: MetadataEntry[]; + BucketName: string | undefined; /** *

                                                  The class of storage used to store the restore results.

                                                  @@ -8993,9 +9615,9 @@ export interface S3Location { CannedACL?: ObjectCannedACL | string; /** - *

                                                  Contains the type of server-side encryption used.

                                                  + *

                                                  A list of metadata to store with the restore results in S3.

                                                  */ - Encryption?: Encryption; + UserMetadata?: MetadataEntry[]; /** *

                                                  The prefix that is prepended to the restore results for this request.

                                                  @@ -9003,19 +9625,19 @@ export interface S3Location { Prefix: string | undefined; /** - *

                                                  The name of the bucket where the restore results will be placed.

                                                  + *

                                                  The tag-set that is applied to the restore results.

                                                  */ - BucketName: string | undefined; + Tagging?: Tagging; /** - *

                                                  A list of grants that control access to the staged results.

                                                  + *

                                                  Contains the type of server-side encryption used.

                                                  */ - AccessControlList?: Grant[]; + Encryption?: Encryption; /** - *

                                                  The tag-set that is applied to the restore results.

                                                  + *

                                                  A list of grants that control access to the staged results.

                                                  */ - Tagging?: Tagging; + AccessControlList?: Grant[]; } export namespace S3Location { @@ -9057,6 +9679,16 @@ export enum FileHeaderInfo { * formatted.

                                                  */ export interface CSVInput { + /** + *

                                                  A single character used to separate individual fields in a record. You can specify an arbitrary delimiter.

                                                  + */ + FieldDelimiter?: string; + + /** + *

                                                  Specifies that CSV field values may contain quoted record delimiters and such records should be allowed. Default value is FALSE. Setting this value to TRUE may lower performance.

                                                  + */ + AllowQuotedRecordDelimiter?: boolean; + /** *

                                                  Describes the first line of input. Valid values are:

                                                  *
                                                    @@ -9081,21 +9713,6 @@ export interface CSVInput { */ FileHeaderInfo?: FileHeaderInfo | string; - /** - *

                                                    A single character used to indicate that a row should be ignored when the character is present at the start of that row. You can specify any character to indicate a comment line.

                                                    - */ - Comments?: string; - - /** - *

                                                    Specifies that CSV field values may contain quoted record delimiters and such records should be allowed. Default value is FALSE. Setting this value to TRUE may lower performance.

                                                    - */ - AllowQuotedRecordDelimiter?: boolean; - - /** - *

                                                    A single character used to separate individual fields in a record. You can specify an arbitrary delimiter.

                                                    - */ - FieldDelimiter?: string; - /** *

                                                    A single character used for escaping when the field delimiter is part of the value. * For example, if the value is a, b, Amazon S3 wraps this @@ -9118,6 +9735,11 @@ export interface CSVInput { *

                                                    A single character used to separate individual records in the input. Instead of the default value, you can specify an arbitrary delimiter.

                                                    */ RecordDelimiter?: string; + + /** + *

                                                    A single character used to indicate that a row should be ignored when the character is present at the start of that row. You can specify any character to indicate a comment line.

                                                    + */ + Comments?: string; } export namespace CSVInput { @@ -9162,6 +9784,11 @@ export namespace ParquetInput { *

                                                    Describes the serialization format of the object.

                                                    */ export interface InputSerialization { + /** + *

                                                    Specifies JSON as object's input serialization format.

                                                    + */ + JSON?: JSONInput; + /** *

                                                    Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.

                                                    */ @@ -9176,11 +9803,6 @@ export interface InputSerialization { *

                                                    Describes the serialization of a CSV-encoded object.

                                                    */ CSV?: CSVInput; - - /** - *

                                                    Specifies JSON as object's input serialization format.

                                                    - */ - JSON?: JSONInput; } export namespace InputSerialization { @@ -9199,22 +9821,9 @@ export enum QuoteFields { */ export interface CSVOutput { /** - *

                                                    The single character used for escaping the quote character inside an already escaped - * value.

                                                    - */ - QuoteEscapeCharacter?: string; - - /** - *

                                                    A single character used for escaping when the field delimiter is part of the value. For example, if the value is a, b, Amazon S3 wraps this - * field value in quotation marks, as follows: " a , b - * ".

                                                    - */ - QuoteCharacter?: string; - - /** - *

                                                    A single character used to separate individual records in the output. Instead of the default value, you can specify an arbitrary delimiter.

                                                    + *

                                                    The value used to separate individual fields in a record. You can specify an arbitrary delimiter.

                                                    */ - RecordDelimiter?: string; + FieldDelimiter?: string; /** *

                                                    Indicates whether to use quotation marks around output fields.

                                                    @@ -9232,9 +9841,22 @@ export interface CSVOutput { QuoteFields?: QuoteFields | string; /** - *

                                                    The value used to separate individual fields in a record. You can specify an arbitrary delimiter.

                                                    + *

                                                    A single character used for escaping when the field delimiter is part of the value. For example, if the value is a, b, Amazon S3 wraps this + * field value in quotation marks, as follows: " a , b + * ".

                                                    */ - FieldDelimiter?: string; + QuoteCharacter?: string; + + /** + *

                                                    A single character used to separate individual records in the output. Instead of the default value, you can specify an arbitrary delimiter.

                                                    + */ + RecordDelimiter?: string; + + /** + *

                                                    The single character used for escaping the quote character inside an already escaped + * value.

                                                    + */ + QuoteEscapeCharacter?: string; } export namespace CSVOutput { @@ -9248,7 +9870,8 @@ export namespace CSVOutput { */ export interface JSONOutput { /** - *

                                                    The value used to separate individual records in the output. If no value is specified, Amazon S3 uses a newline character ('\n').

                                                    + *

                                                    The value used to separate individual records in the output. If no value is specified, Amazon S3 + * uses a newline character ('\n').

                                                    */ RecordDelimiter?: string; } @@ -9264,14 +9887,14 @@ export namespace JSONOutput { */ export interface OutputSerialization { /** - *

                                                    Describes the serialization of CSV-encoded Select results.

                                                    + *

                                                    Specifies JSON as request's output serialization format.

                                                    */ - CSV?: CSVOutput; + JSON?: JSONOutput; /** - *

                                                    Specifies JSON as request's output serialization format.

                                                    + *

                                                    Describes the serialization of CSV-encoded Select results.

                                                    */ - JSON?: JSONOutput; + CSV?: CSVOutput; } export namespace OutputSerialization { @@ -9284,16 +9907,6 @@ export namespace OutputSerialization { *

                                                    Describes the parameters for Select job types.

                                                    */ export interface SelectParameters { - /** - *

                                                    The expression that is used to query the object.

                                                    - */ - Expression: string | undefined; - - /** - *

                                                    Describes the serialization format of the object.

                                                    - */ - InputSerialization: InputSerialization | undefined; - /** *

                                                    The type of the provided expression (for example, SQL).

                                                    */ @@ -9303,165 +9916,20 @@ export interface SelectParameters { *

                                                    Describes how the results of the Select job are serialized.

                                                    */ OutputSerialization: OutputSerialization | undefined; -} - -export namespace SelectParameters { - export const filterSensitiveLog = (obj: SelectParameters): any => ({ - ...obj, - }); -} - -export enum RestoreRequestType { - SELECT = "SELECT", -} - -/** - *

                                                    Container for restore job parameters.

                                                    - */ -export interface RestoreRequest { - /** - *

                                                    The optional description for the job.

                                                    - */ - Description?: string; - - /** - *

                                                    S3 Glacier related parameters pertaining to this job. Do not use with restores that specify - * OutputLocation.

                                                    - */ - GlacierJobParameters?: GlacierJobParameters; - - /** - *

                                                    S3 Glacier retrieval tier at which the restore will be processed.

                                                    - */ - Tier?: Tier | string; - - /** - *

                                                    Lifetime of the active copy in days. Do not use with restores that specify - * OutputLocation.

                                                    - */ - Days?: number; - - /** - *

                                                    Describes the location where the restore job's output is stored.

                                                    - */ - OutputLocation?: OutputLocation; - - /** - *

                                                    Describes the parameters for Select job types.

                                                    - */ - SelectParameters?: SelectParameters; - - /** - *

                                                    Type of restore request.

                                                    - */ - Type?: RestoreRequestType | string; -} - -export namespace RestoreRequest { - export const filterSensitiveLog = (obj: RestoreRequest): any => ({ - ...obj, - ...(obj.OutputLocation && { OutputLocation: OutputLocation.filterSensitiveLog(obj.OutputLocation) }), - }); -} -export interface RestoreObjectRequest { /** - *

                                                    VersionId used to reference a specific version of the object.

                                                    - */ - VersionId?: string; - - /** - *

                                                    Container for restore job parameters.

                                                    - */ - RestoreRequest?: RestoreRequest; - - /** - *

                                                    The bucket name or containing the object to restore.

                                                    - *

                                                    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                    - */ - Bucket: string | undefined; - - /** - *

                                                    Confirms that the requester knows that they will be charged for the request. Bucket - * owners need not specify this parameter in their requests. For information about downloading - * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the - * Amazon S3 Developer Guide.

                                                    - */ - RequestPayer?: RequestPayer | string; - - /** - *

                                                    Object key for which the operation was initiated.

                                                    - */ - Key: string | undefined; -} - -export namespace RestoreObjectRequest { - export const filterSensitiveLog = (obj: RestoreObjectRequest): any => ({ - ...obj, - ...(obj.RestoreRequest && { RestoreRequest: RestoreRequest.filterSensitiveLog(obj.RestoreRequest) }), - }); -} - -/** - *

                                                    - */ -export interface ContinuationEvent {} - -export namespace ContinuationEvent { - export const filterSensitiveLog = (obj: ContinuationEvent): any => ({ - ...obj, - }); -} - -/** - *

                                                    A message that indicates the request is complete and no more messages will be sent. You should not assume that the request is complete until the client receives an EndEvent.

                                                    - */ -export interface EndEvent {} - -export namespace EndEvent { - export const filterSensitiveLog = (obj: EndEvent): any => ({ - ...obj, - }); -} - -/** - *

                                                    This data type contains information about progress of an operation.

                                                    - */ -export interface Progress { - /** - *

                                                    The current number of object bytes scanned.

                                                    - */ - BytesScanned?: number; - - /** - *

                                                    The current number of uncompressed object bytes processed.

                                                    - */ - BytesProcessed?: number; - - /** - *

                                                    The current number of bytes of records payload data returned.

                                                    + *

                                                    The expression that is used to query the object.

                                                    */ - BytesReturned?: number; -} - -export namespace Progress { - export const filterSensitiveLog = (obj: Progress): any => ({ - ...obj, - }); -} + Expression: string | undefined; -/** - *

                                                    This data type contains information about the progress event of an operation.

                                                    - */ -export interface ProgressEvent { /** - *

                                                    The Progress event details.

                                                    + *

                                                    Describes the serialization format of the object.

                                                    */ - Details?: Progress; + InputSerialization: InputSerialization | undefined; } -export namespace ProgressEvent { - export const filterSensitiveLog = (obj: ProgressEvent): any => ({ +export namespace SelectParameters { + export const filterSensitiveLog = (obj: SelectParameters): any => ({ ...obj, }); } diff --git a/clients/client-s3/models/models_1.ts b/clients/client-s3/models/models_1.ts index e8c83fc3dcd2..7d8752ebface 100644 --- a/clients/client-s3/models/models_1.ts +++ b/clients/client-s3/models/models_1.ts @@ -1,17 +1,179 @@ import { - ContinuationEvent, - EndEvent, ExpressionType, + GlacierJobParameters, InputSerialization, + OutputLocation, OutputSerialization, - ProgressEvent, RequestCharged, RequestPayer, + SelectParameters, ServerSideEncryption, + Tier, } from "./models_0"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; import { Readable } from "stream"; +export enum RestoreRequestType { + SELECT = "SELECT", +} + +/** + *

                                                    Container for restore job parameters.

                                                    + */ +export interface RestoreRequest { + /** + *

                                                    S3 Glacier related parameters pertaining to this job. Do not use with restores that specify + * OutputLocation.

                                                    + */ + GlacierJobParameters?: GlacierJobParameters; + + /** + *

                                                    Lifetime of the active copy in days. Do not use with restores that specify + * OutputLocation.

                                                    + */ + Days?: number; + + /** + *

                                                    Describes the location where the restore job's output is stored.

                                                    + */ + OutputLocation?: OutputLocation; + + /** + *

                                                    Describes the parameters for Select job types.

                                                    + */ + SelectParameters?: SelectParameters; + + /** + *

                                                    S3 Glacier retrieval tier at which the restore will be processed.

                                                    + */ + Tier?: Tier | string; + + /** + *

                                                    The optional description for the job.

                                                    + */ + Description?: string; + + /** + *

                                                    Type of restore request.

                                                    + */ + Type?: RestoreRequestType | string; +} + +export namespace RestoreRequest { + export const filterSensitiveLog = (obj: RestoreRequest): any => ({ + ...obj, + ...(obj.OutputLocation && { OutputLocation: OutputLocation.filterSensitiveLog(obj.OutputLocation) }), + }); +} + +export interface RestoreObjectRequest { + /** + *

                                                    Container for restore job parameters.

                                                    + */ + RestoreRequest?: RestoreRequest; + + /** + *

                                                    Confirms that the requester knows that they will be charged for the request. Bucket + * owners need not specify this parameter in their requests. For information about downloading + * objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the + * Amazon S3 Developer Guide.

                                                    + */ + RequestPayer?: RequestPayer | string; + + /** + *

                                                    VersionId used to reference a specific version of the object.

                                                    + */ + VersionId?: string; + + /** + *

                                                    Object key for which the operation was initiated.

                                                    + */ + Key: string | undefined; + + /** + *

                                                    The bucket name or containing the object to restore.

                                                    + *

                                                    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                    + *

                                                    When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                    + */ + Bucket: string | undefined; + + /** + *

                                                    The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                    + */ + ExpectedBucketOwner?: string; +} + +export namespace RestoreObjectRequest { + export const filterSensitiveLog = (obj: RestoreObjectRequest): any => ({ + ...obj, + ...(obj.RestoreRequest && { RestoreRequest: RestoreRequest.filterSensitiveLog(obj.RestoreRequest) }), + }); +} + +/** + *

                                                    + */ +export interface ContinuationEvent {} + +export namespace ContinuationEvent { + export const filterSensitiveLog = (obj: ContinuationEvent): any => ({ + ...obj, + }); +} + +/** + *

                                                    A message that indicates the request is complete and no more messages will be sent. You should not assume that the request is complete until the client receives an EndEvent.

                                                    + */ +export interface EndEvent {} + +export namespace EndEvent { + export const filterSensitiveLog = (obj: EndEvent): any => ({ + ...obj, + }); +} + +/** + *

                                                    This data type contains information about progress of an operation.

                                                    + */ +export interface Progress { + /** + *

                                                    The current number of object bytes scanned.

                                                    + */ + BytesScanned?: number; + + /** + *

                                                    The current number of uncompressed object bytes processed.

                                                    + */ + BytesProcessed?: number; + + /** + *

                                                    The current number of bytes of records payload data returned.

                                                    + */ + BytesReturned?: number; +} + +export namespace Progress { + export const filterSensitiveLog = (obj: Progress): any => ({ + ...obj, + }); +} + +/** + *

                                                    This data type contains information about the progress event of an operation.

                                                    + */ +export interface ProgressEvent { + /** + *

                                                    The Progress event details.

                                                    + */ + Details?: Progress; +} + +export namespace ProgressEvent { + export const filterSensitiveLog = (obj: ProgressEvent): any => ({ + ...obj, + }); +} + /** *

                                                    The container for the records event.

                                                    */ @@ -83,98 +245,98 @@ export type SelectObjectContentEventStream = export namespace SelectObjectContentEventStream { /** - *

                                                    The Stats Event.

                                                    + *

                                                    The Continuation Event.

                                                    */ - export interface StatsMember { - Stats: StatsEvent; - End?: never; + export interface ContMember { + Cont: ContinuationEvent; Progress?: never; + Stats?: never; + End?: never; Records?: never; - Cont?: never; $unknown?: never; } /** - *

                                                    The End Event.

                                                    + *

                                                    The Progress Event.

                                                    */ - export interface EndMember { + export interface ProgressMember { + Cont?: never; + Progress: ProgressEvent; Stats?: never; - End: EndEvent; - Progress?: never; + End?: never; Records?: never; - Cont?: never; $unknown?: never; } /** - *

                                                    The Progress Event.

                                                    + *

                                                    The Stats Event.

                                                    */ - export interface ProgressMember { - Stats?: never; + export interface StatsMember { + Cont?: never; + Progress?: never; + Stats: StatsEvent; End?: never; - Progress: ProgressEvent; Records?: never; - Cont?: never; $unknown?: never; } /** - *

                                                    The Records Event.

                                                    + *

                                                    The End Event.

                                                    */ - export interface RecordsMember { - Stats?: never; - End?: never; - Progress?: never; - Records: RecordsEvent; + export interface EndMember { Cont?: never; + Progress?: never; + Stats?: never; + End: EndEvent; + Records?: never; $unknown?: never; } /** - *

                                                    The Continuation Event.

                                                    + *

                                                    The Records Event.

                                                    */ - export interface ContMember { + export interface RecordsMember { + Cont?: never; + Progress?: never; Stats?: never; End?: never; - Progress?: never; - Records?: never; - Cont: ContinuationEvent; + Records: RecordsEvent; $unknown?: never; } export interface $UnknownMember { + Cont?: never; + Progress?: never; Stats?: never; End?: never; - Progress?: never; Records?: never; - Cont?: never; $unknown: [string, any]; } export interface Visitor { + Cont: (value: ContinuationEvent) => T; + Progress: (value: ProgressEvent) => T; Stats: (value: StatsEvent) => T; End: (value: EndEvent) => T; - Progress: (value: ProgressEvent) => T; Records: (value: RecordsEvent) => T; - Cont: (value: ContinuationEvent) => T; _: (name: string, value: any) => T; } export const visit = (value: SelectObjectContentEventStream, visitor: Visitor): T => { + if (value.Cont !== undefined) return visitor.Cont(value.Cont); + if (value.Progress !== undefined) return visitor.Progress(value.Progress); if (value.Stats !== undefined) return visitor.Stats(value.Stats); if (value.End !== undefined) return visitor.End(value.End); - if (value.Progress !== undefined) return visitor.Progress(value.Progress); if (value.Records !== undefined) return visitor.Records(value.Records); - if (value.Cont !== undefined) return visitor.Cont(value.Cont); return visitor._(value.$unknown[0], value.$unknown[1]); }; export const filterSensitiveLog = (obj: SelectObjectContentEventStream): any => { + if (obj.Cont !== undefined) return { Cont: ContinuationEvent.filterSensitiveLog(obj.Cont) }; + if (obj.Progress !== undefined) return { Progress: ProgressEvent.filterSensitiveLog(obj.Progress) }; if (obj.Stats !== undefined) return { Stats: StatsEvent.filterSensitiveLog(obj.Stats) }; if (obj.End !== undefined) return { End: EndEvent.filterSensitiveLog(obj.End) }; - if (obj.Progress !== undefined) return { Progress: ProgressEvent.filterSensitiveLog(obj.Progress) }; if (obj.Records !== undefined) return { Records: RecordsEvent.filterSensitiveLog(obj.Records) }; - if (obj.Cont !== undefined) return { Cont: ContinuationEvent.filterSensitiveLog(obj.Cont) }; if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; }; } @@ -215,12 +377,6 @@ export namespace RequestProgress { * but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.

                                                    */ export interface ScanRange { - /** - *

                                                    Specifies the start of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is 0. - * If only start is supplied, it means scan from that point to the end of the file.For example; 50 means scan from byte 50 until the end of the file.

                                                    - */ - Start?: number; - /** *

                                                    Specifies the end of the byte range. This parameter is optional. Valid values: non-negative * integers. The default value is one less than the size of the object being queried. If only @@ -229,6 +385,12 @@ export interface ScanRange { * means scan the last 50 bytes.

                                                    */ End?: number; + + /** + *

                                                    Specifies the start of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is 0. + * If only start is supplied, it means scan from that point to the end of the file.For example; 50 means scan from byte 50 until the end of the file.

                                                    + */ + Start?: number; } export namespace ScanRange { @@ -247,19 +409,19 @@ export namespace ScanRange { */ export interface SelectObjectContentRequest { /** - *

                                                    Specifies if periodic request progress information should be enabled.

                                                    + *

                                                    The object key.

                                                    */ - RequestProgress?: RequestProgress; + Key: string | undefined; /** - *

                                                    Describes the format of the data in the object that is being queried.

                                                    + *

                                                    The SSE Algorithm used to encrypt the object. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

                                                    */ - InputSerialization: InputSerialization | undefined; + SSECustomerAlgorithm?: string; /** - *

                                                    The type of the provided expression (for example, SQL).

                                                    + *

                                                    Describes the format of the data that you want Amazon S3 to return in response.

                                                    */ - ExpressionType: ExpressionType | string | undefined; + OutputSerialization: OutputSerialization | undefined; /** *

                                                    The SSE Customer Key. For more information, see Server-Side Encryption @@ -268,20 +430,41 @@ export interface SelectObjectContentRequest { SSECustomerKey?: string; /** - *

                                                    The object key.

                                                    + *

                                                    The type of the provided expression (for example, SQL).

                                                    */ - Key: string | undefined; + ExpressionType: ExpressionType | string | undefined; /** - *

                                                    Describes the format of the data that you want Amazon S3 to return in response.

                                                    + *

                                                    The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                    */ - OutputSerialization: OutputSerialization | undefined; + ExpectedBucketOwner?: string; + + /** + *

                                                    Describes the format of the data in the object that is being queried.

                                                    + */ + InputSerialization: InputSerialization | undefined; + + /** + *

                                                    The SSE Customer Key MD5. For more information, see Server-Side Encryption + * (Using Customer-Provided Encryption Keys.

                                                    + */ + SSECustomerKeyMD5?: string; /** *

                                                    The expression that is used to query the object.

                                                    */ Expression: string | undefined; + /** + *

                                                    The S3 bucket.

                                                    + */ + Bucket: string | undefined; + + /** + *

                                                    Specifies if periodic request progress information should be enabled.

                                                    + */ + RequestProgress?: RequestProgress; + /** *

                                                    Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, * but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.

                                                    @@ -303,22 +486,6 @@ export interface SelectObjectContentRequest { *
                                                  */ ScanRange?: ScanRange; - - /** - *

                                                  The SSE Customer Key MD5. For more information, see Server-Side Encryption - * (Using Customer-Provided Encryption Keys.

                                                  - */ - SSECustomerKeyMD5?: string; - - /** - *

                                                  The S3 bucket.

                                                  - */ - Bucket: string | undefined; - - /** - *

                                                  The SSE Algorithm used to encrypt the object. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

                                                  - */ - SSECustomerAlgorithm?: string; } export namespace SelectObjectContentRequest { @@ -330,10 +497,11 @@ export namespace SelectObjectContentRequest { export interface UploadPartOutput { /** - *

                                                  If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key - * (CMK) was used for the object.

                                                  + *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response + * will include this header to provide round-trip message integrity verification of the + * customer-provided encryption key.

                                                  */ - SSEKMSKeyId?: string; + SSECustomerKeyMD5?: string; /** *

                                                  The server-side encryption algorithm used when storing this object in Amazon S3 (for example, @@ -342,26 +510,25 @@ export interface UploadPartOutput { ServerSideEncryption?: ServerSideEncryption | string; /** - *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  + *

                                                  If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key + * (CMK) was used for the object.

                                                  */ - RequestCharged?: RequestCharged | string; + SSEKMSKeyId?: string; /** - *

                                                  Entity tag for the uploaded object.

                                                  + *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                  */ - ETag?: string; + SSECustomerAlgorithm?: string; /** - *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response - * will include this header to provide round-trip message integrity verification of the - * customer-provided encryption key.

                                                  + *

                                                  If present, indicates that the requester was successfully charged for the request.

                                                  */ - SSECustomerKeyMD5?: string; + RequestCharged?: RequestCharged | string; /** - *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                  + *

                                                  Entity tag for the uploaded object.

                                                  */ - SSECustomerAlgorithm?: string; + ETag?: string; } export namespace UploadPartOutput { @@ -373,30 +540,19 @@ export namespace UploadPartOutput { export interface UploadPartRequest { /** - *

                                                  Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.

                                                  - */ - ContentLength?: number; - - /** - *

                                                  Name of the bucket to which the multipart upload was initiated.

                                                  + *

                                                  Part number of part being uploaded. This is a positive integer between 1 and 10,000.

                                                  */ - Bucket: string | undefined; + PartNumber: number | undefined; /** - *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This - * value is used to store the object and then it is discarded; Amazon S3 does not store the - * encryption key. The key must be appropriate for use with the algorithm specified in the - * x-amz-server-side​-encryption​-customer-algorithm header. This must be the - * same encryption key specified in the initiate multipart upload request.

                                                  + *

                                                  Object data.

                                                  */ - SSECustomerKey?: string; + Body?: Readable | ReadableStream | Blob; /** - *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses - * this header for a message integrity check to ensure that the encryption key was transmitted - * without error.

                                                  + *

                                                  The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - SSECustomerKeyMD5?: string; + ExpectedBucketOwner?: string; /** *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket @@ -407,26 +563,35 @@ export interface UploadPartRequest { RequestPayer?: RequestPayer | string; /** - *

                                                  The base64-encoded 128-bit MD5 digest of the part data. This parameter is auto-populated when - * using the command from the CLI. This parameter is required if object lock parameters are - * specified.

                                                  + *

                                                  Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.

                                                  */ - ContentMD5?: string; + ContentLength?: number; /** - *

                                                  Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                  + *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This + * value is used to store the object and then it is discarded; Amazon S3 does not store the + * encryption key. The key must be appropriate for use with the algorithm specified in the + * x-amz-server-side-encryption-customer-algorithm header. This must be the + * same encryption key specified in the initiate multipart upload request.

                                                  */ - SSECustomerAlgorithm?: string; + SSECustomerKey?: string; /** - *

                                                  Object data.

                                                  + *

                                                  The name of the bucket to which the multipart upload was initiated.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ - Body?: Readable | ReadableStream | Blob; + Bucket: string | undefined; /** - *

                                                  Part number of part being uploaded. This is a positive integer between 1 and 10,000.

                                                  + *

                                                  Object key for which the multipart upload was initiated.

                                                  */ - PartNumber: number | undefined; + Key: string | undefined; + + /** + *

                                                  Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                  + */ + SSECustomerAlgorithm?: string; /** *

                                                  Upload ID identifying the multipart upload whose part is being uploaded.

                                                  @@ -434,9 +599,18 @@ export interface UploadPartRequest { UploadId: string | undefined; /** - *

                                                  Object key for which the multipart upload was initiated.

                                                  + *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses + * this header for a message integrity check to ensure that the encryption key was transmitted + * without error.

                                                  */ - Key: string | undefined; + SSECustomerKeyMD5?: string; + + /** + *

                                                  The base64-encoded 128-bit MD5 digest of the part data. This parameter is auto-populated when + * using the command from the CLI. This parameter is required if object lock parameters are + * specified.

                                                  + */ + ContentMD5?: string; } export namespace UploadPartRequest { @@ -469,23 +643,21 @@ export namespace CopyPartResult { export interface UploadPartCopyOutput { /** - *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response - * will include this header to provide round-trip message integrity verification of the - * customer-provided encryption key.

                                                  + *

                                                  The version of the source object that was copied, if you have enabled versioning on the source bucket.

                                                  */ - SSECustomerKeyMD5?: string; + CopySourceVersionId?: string; /** - *

                                                  The server-side encryption algorithm used when storing this object in Amazon S3 (for example, - * AES256, aws:kms).

                                                  + *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                  */ - ServerSideEncryption?: ServerSideEncryption | string; + SSECustomerAlgorithm?: string; /** - *

                                                  If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key - * (CMK) that was used for the object.

                                                  + *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response + * will include this header to provide round-trip message integrity verification of the + * customer-provided encryption key.

                                                  */ - SSEKMSKeyId?: string; + SSECustomerKeyMD5?: string; /** *

                                                  Container for all response elements.

                                                  @@ -498,14 +670,16 @@ export interface UploadPartCopyOutput { RequestCharged?: RequestCharged | string; /** - *

                                                  The version of the source object that was copied, if you have enabled versioning on the source bucket.

                                                  + *

                                                  If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key + * (CMK) that was used for the object.

                                                  */ - CopySourceVersionId?: string; + SSEKMSKeyId?: string; /** - *

                                                  If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

                                                  + *

                                                  The server-side encryption algorithm used when storing this object in Amazon S3 (for example, + * AES256, aws:kms).

                                                  */ - SSECustomerAlgorithm?: string; + ServerSideEncryption?: ServerSideEncryption | string; } export namespace UploadPartCopyOutput { @@ -516,6 +690,11 @@ export namespace UploadPartCopyOutput { } export interface UploadPartCopyRequest { + /** + *

                                                  Upload ID identifying the multipart upload whose part is being copied.

                                                  + */ + UploadId: string | undefined; + /** *

                                                  Confirms that the requester knows that they will be charged for the request. Bucket * owners need not specify this parameter in their requests. For information about downloading @@ -525,43 +704,72 @@ export interface UploadPartCopyRequest { RequestPayer?: RequestPayer | string; /** - *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses - * this header for a message integrity check to ensure that the encryption key was transmitted - * without error.

                                                  + *

                                                  The range of bytes to copy from the source object. The range value must use the form + * bytes=first-last, where the first and last are the zero-based byte offsets to copy. For + * example, bytes=0-9 indicates that you want to copy the first 10 bytes of the source. You + * can copy a range only if the source object is greater than 5 MB.

                                                  */ - SSECustomerKeyMD5?: string; + CopySourceRange?: string; /** - *

                                                  Upload ID identifying the multipart upload whose part is being copied.

                                                  + *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This + * value is used to store the object and then it is discarded; Amazon S3 does not store the + * encryption key. The key must be appropriate for use with the algorithm specified in the + * x-amz-server-side-encryption-customer-algorithm header. This must be the + * same encryption key specified in the initiate multipart upload request.

                                                  */ - UploadId: string | undefined; + SSECustomerKey?: string; /** - *

                                                  Copies the object if it hasn't been modified since the specified time.

                                                  + *

                                                  Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                  */ - CopySourceIfUnmodifiedSince?: Date; + SSECustomerAlgorithm?: string; /** - *

                                                  Copies the object if its entity tag (ETag) is different than the specified ETag.

                                                  + *

                                                  Copies the object if its entity tag (ETag) matches the specified tag.

                                                  */ - CopySourceIfNoneMatch?: string; + CopySourceIfMatch?: string; /** *

                                                  The bucket name.

                                                  + *

                                                  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

                                                  + *

                                                  When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

                                                  */ Bucket: string | undefined; /** - *

                                                  Copies the object if its entity tag (ETag) matches the specified tag.

                                                  + *

                                                  The account id of the expected destination bucket owner. If the destination bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - CopySourceIfMatch?: string; + ExpectedBucketOwner?: string; /** - *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses - * this header for a message integrity check to ensure that the encryption key was transmitted - * without error.

                                                  + *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.

                                                  */ - CopySourceSSECustomerKeyMD5?: string; + CopySourceSSECustomerKey?: string; + + /** + *

                                                  Specifies the source object for the copy operation. You specify the value in one of two formats, depending on whether you want + * to access the source object through an access point:

                                                  + *
                                                    + *
                                                  • + *

                                                    For objects not accessed through an access point, specify the name of the source bucket and key of the source object, separated by a slash (/). + * For example, to copy the object reports/january.pdf from the bucket awsexamplebucket, use awsexamplebucket/reports/january.pdf. The value must be URL encoded.

                                                    + *
                                                  • + *
                                                  • + *

                                                    For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                                                    + * + *

                                                    Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                                                    + *
                                                    + *

                                                    Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL encoded.

                                                    + *
                                                  • + *
                                                  + *

                                                  To copy a specific version of an object, append ?versionId= + * to the value (for example, + * awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893). + * If you don't specify a version ID, Amazon S3 copies the latest version of the source + * object.

                                                  + */ + CopySource: string | undefined; /** *

                                                  Part number of part being copied. This is a positive integer between 1 and 10,000.

                                                  @@ -569,9 +777,9 @@ export interface UploadPartCopyRequest { PartNumber: number | undefined; /** - *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.

                                                  + *

                                                  Copies the object if it has been modified since the specified time.

                                                  */ - CopySourceSSECustomerKey?: string; + CopySourceIfModifiedSince?: Date; /** *

                                                  Specifies the algorithm to use when decrypting the source object (for example, AES256).

                                                  @@ -579,47 +787,44 @@ export interface UploadPartCopyRequest { CopySourceSSECustomerAlgorithm?: string; /** - *

                                                  Copies the object if it has been modified since the specified time.

                                                  + *

                                                  Object key for which the multipart upload was initiated.

                                                  */ - CopySourceIfModifiedSince?: Date; + Key: string | undefined; /** - *

                                                  Specifies the algorithm to use to when encrypting the object (for example, AES256).

                                                  + *

                                                  Copies the object if it hasn't been modified since the specified time.

                                                  */ - SSECustomerAlgorithm?: string; + CopySourceIfUnmodifiedSince?: Date; /** - *

                                                  Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This - * value is used to store the object and then it is discarded; Amazon S3 does not store the - * encryption key. The key must be appropriate for use with the algorithm specified in the - * x-amz-server-side​-encryption​-customer-algorithm header. This must be the - * same encryption key specified in the initiate multipart upload request.

                                                  + *

                                                  The account id of the expected source bucket owner. If the source bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                  */ - SSECustomerKey?: string; + ExpectedSourceBucketOwner?: string; /** - *

                                                  The range of bytes to copy from the source object. The range value must use the form - * bytes=first-last, where the first and last are the zero-based byte offsets to copy. For - * example, bytes=0-9 indicates that you want to copy the first 10 bytes of the source. You - * can copy a range only if the source object is greater than 5 MB.

                                                  + *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses + * this header for a message integrity check to ensure that the encryption key was transmitted + * without error.

                                                  */ - CopySourceRange?: string; + SSECustomerKeyMD5?: string; /** - *

                                                  The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.

                                                  + *

                                                  Copies the object if its entity tag (ETag) is different than the specified ETag.

                                                  */ - CopySource: string | undefined; + CopySourceIfNoneMatch?: string; /** - *

                                                  Object key for which the multipart upload was initiated.

                                                  + *

                                                  Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses + * this header for a message integrity check to ensure that the encryption key was transmitted + * without error.

                                                  */ - Key: string | undefined; + CopySourceSSECustomerKeyMD5?: string; } export namespace UploadPartCopyRequest { export const filterSensitiveLog = (obj: UploadPartCopyRequest): any => ({ ...obj, - ...(obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: SENSITIVE_STRING }), ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }), + ...(obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: SENSITIVE_STRING }), }); } diff --git a/clients/client-s3/protocols/Aws_restXml.ts b/clients/client-s3/protocols/Aws_restXml.ts index 606f34f049be..f1067b68c817 100644 --- a/clients/client-s3/protocols/Aws_restXml.ts +++ b/clients/client-s3/protocols/Aws_restXml.ts @@ -34,6 +34,10 @@ import { DeleteBucketMetricsConfigurationCommandInput, DeleteBucketMetricsConfigurationCommandOutput, } from "../commands/DeleteBucketMetricsConfigurationCommand"; +import { + DeleteBucketOwnershipControlsCommandInput, + DeleteBucketOwnershipControlsCommandOutput, +} from "../commands/DeleteBucketOwnershipControlsCommand"; import { DeleteBucketPolicyCommandInput, DeleteBucketPolicyCommandOutput } from "../commands/DeleteBucketPolicyCommand"; import { DeleteBucketReplicationCommandInput, @@ -89,6 +93,10 @@ import { GetBucketNotificationConfigurationCommandInput, GetBucketNotificationConfigurationCommandOutput, } from "../commands/GetBucketNotificationConfigurationCommand"; +import { + GetBucketOwnershipControlsCommandInput, + GetBucketOwnershipControlsCommandOutput, +} from "../commands/GetBucketOwnershipControlsCommand"; import { GetBucketPolicyCommandInput, GetBucketPolicyCommandOutput } from "../commands/GetBucketPolicyCommand"; import { GetBucketPolicyStatusCommandInput, @@ -176,6 +184,10 @@ import { PutBucketNotificationConfigurationCommandInput, PutBucketNotificationConfigurationCommandOutput, } from "../commands/PutBucketNotificationConfigurationCommand"; +import { + PutBucketOwnershipControlsCommandInput, + PutBucketOwnershipControlsCommandOutput, +} from "../commands/PutBucketOwnershipControlsCommand"; import { PutBucketPolicyCommandInput, PutBucketPolicyCommandOutput } from "../commands/PutBucketPolicyCommand"; import { PutBucketReplicationCommandInput, @@ -234,7 +246,6 @@ import { CompletedMultipartUpload, CompletedPart, Condition, - ContinuationEvent, CopyObjectResult, CreateBucketConfiguration, DefaultRetention, @@ -245,7 +256,6 @@ import { Destination, Encryption, EncryptionConfiguration, - EndEvent, ErrorDocument, Event, ExistingObjectReplication, @@ -295,10 +305,11 @@ import { OutputLocation, OutputSerialization, Owner, + OwnershipControls, + OwnershipControlsRule, ParquetInput, Part, PolicyStatus, - ProgressEvent, PublicAccessBlockConfiguration, QueueConfiguration, Redirect, @@ -310,7 +321,6 @@ import { ReplicationTime, ReplicationTimeValue, RequestPaymentConfiguration, - RestoreRequest, RoutingRule, S3KeyFilter, S3Location, @@ -335,9 +345,13 @@ import { _Object, } from "../models/models_0"; import { + ContinuationEvent, CopyPartResult, + EndEvent, + ProgressEvent, RecordsEvent, RequestProgress, + RestoreRequest, ScanRange, SelectObjectContentEventStream, StatsEvent, @@ -367,17 +381,11 @@ export const serializeAws_restXmlAbortMultipartUploadCommand = async ( const headers: any = { "Content-Type": "", ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}/{Key+}"; - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { @@ -393,6 +401,15 @@ export const serializeAws_restXmlAbortMultipartUploadCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } const query: any = { "x-id": "AbortMultipartUpload", ...(input.UploadId !== undefined && { uploadId: input.UploadId }), @@ -417,18 +434,12 @@ export const serializeAws_restXmlCompleteMultipartUploadCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), }; let resolvedPath = "/{Bucket}/{Key+}"; - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { @@ -444,6 +455,15 @@ export const serializeAws_restXmlCompleteMultipartUploadCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } const query: any = { ...(input.UploadId !== undefined && { uploadId: input.UploadId }), }; @@ -474,74 +494,80 @@ export const serializeAws_restXmlCopyObjectCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", - ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), - ...(isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && { - "x-amz-object-lock-legal-hold": input.ObjectLockLegalHoldStatus!, - }), - ...(isSerializableHeaderValue(input.SSEKMSKeyId) && { - "x-amz-server-side-encryption-aws-kms-key-id": input.SSEKMSKeyId!, + ...(isSerializableHeaderValue(input.Tagging) && { "x-amz-tagging": input.Tagging! }), + ...(isSerializableHeaderValue(input.SSEKMSEncryptionContext) && { + "x-amz-server-side-encryption-context": input.SSEKMSEncryptionContext!, }), - ...(isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && { - "x-amz-copy-source-server-side-encryption-customer-algorithm": input.CopySourceSSECustomerAlgorithm!, + ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), + ...(isSerializableHeaderValue(input.Expires) && { Expires: __dateToUtcString(input.Expires!).toString() }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, }), - ...(isSerializableHeaderValue(input.ContentEncoding) && { "Content-Encoding": input.ContentEncoding! }), - ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), - ...(isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && { - "x-amz-copy-source-if-unmodified-since": __dateToUtcString(input.CopySourceIfUnmodifiedSince!).toString(), + ...(isSerializableHeaderValue(input.CopySourceIfModifiedSince) && { + "x-amz-copy-source-if-modified-since": __dateToUtcString(input.CopySourceIfModifiedSince!).toString(), }), - ...(isSerializableHeaderValue(input.TaggingDirective) && { "x-amz-tagging-directive": input.TaggingDirective! }), - ...(isSerializableHeaderValue(input.ContentLanguage) && { "Content-Language": input.ContentLanguage! }), ...(isSerializableHeaderValue(input.ContentDisposition) && { "Content-Disposition": input.ContentDisposition! }), - ...(isSerializableHeaderValue(input.CopySourceIfMatch) && { - "x-amz-copy-source-if-match": input.CopySourceIfMatch!, - }), - ...(isSerializableHeaderValue(input.ContentType) && { "Content-Type": input.ContentType! }), ...(isSerializableHeaderValue(input.SSECustomerKey) && { "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, }), - ...(isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && { - "x-amz-copy-source-server-side-encryption-customer-key-MD5": input.CopySourceSSECustomerKeyMD5!, - }), - ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { - "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, + ...(isSerializableHeaderValue(input.WebsiteRedirectLocation) && { + "x-amz-website-redirect-location": input.WebsiteRedirectLocation!, }), - ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), ...(isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && { "x-amz-object-lock-retain-until-date": ( input.ObjectLockRetainUntilDate!.toISOString().split(".")[0] + "Z" ).toString(), }), - ...(isSerializableHeaderValue(input.Expires) && { Expires: __dateToUtcString(input.Expires!).toString() }), - ...(isSerializableHeaderValue(input.Tagging) && { "x-amz-tagging": input.Tagging! }), - ...(isSerializableHeaderValue(input.WebsiteRedirectLocation) && { - "x-amz-website-redirect-location": input.WebsiteRedirectLocation!, + ...(isSerializableHeaderValue(input.ContentLanguage) && { "Content-Language": input.ContentLanguage! }), + ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), + ...(isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && { + "x-amz-object-lock-legal-hold": input.ObjectLockLegalHoldStatus!, }), ...(isSerializableHeaderValue(input.GrantWriteACP) && { "x-amz-grant-write-acp": input.GrantWriteACP! }), + ...(isSerializableHeaderValue(input.CopySource) && { "x-amz-copy-source": input.CopySource! }), + ...(isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && { + "x-amz-copy-source-server-side-encryption-customer-algorithm": input.CopySourceSSECustomerAlgorithm!, + }), + ...(isSerializableHeaderValue(input.CopySourceSSECustomerKey) && { + "x-amz-copy-source-server-side-encryption-customer-key": input.CopySourceSSECustomerKey!, + }), + ...(isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && { + "x-amz-copy-source-server-side-encryption-customer-key-MD5": input.CopySourceSSECustomerKeyMD5!, + }), ...(isSerializableHeaderValue(input.CacheControl) && { "Cache-Control": input.CacheControl! }), + ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), + ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, }), - ...(isSerializableHeaderValue(input.CopySource) && { "x-amz-copy-source": input.CopySource! }), - ...(isSerializableHeaderValue(input.CopySourceSSECustomerKey) && { - "x-amz-copy-source-server-side-encryption-customer-key": input.CopySourceSSECustomerKey!, + ...(isSerializableHeaderValue(input.TaggingDirective) && { "x-amz-tagging-directive": input.TaggingDirective! }), + ...(isSerializableHeaderValue(input.ContentEncoding) && { "Content-Encoding": input.ContentEncoding! }), + ...(isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && { + "x-amz-copy-source-if-unmodified-since": __dateToUtcString(input.CopySourceIfUnmodifiedSince!).toString(), }), - ...(isSerializableHeaderValue(input.StorageClass) && { "x-amz-storage-class": input.StorageClass! }), - ...(isSerializableHeaderValue(input.CopySourceIfModifiedSince) && { - "x-amz-copy-source-if-modified-since": __dateToUtcString(input.CopySourceIfModifiedSince!).toString(), + ...(isSerializableHeaderValue(input.ContentType) && { "Content-Type": input.ContentType! }), + ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { + "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, }), - ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), - ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), - ...(isSerializableHeaderValue(input.CopySourceIfNoneMatch) && { - "x-amz-copy-source-if-none-match": input.CopySourceIfNoneMatch!, + ...(isSerializableHeaderValue(input.CopySourceIfMatch) && { + "x-amz-copy-source-if-match": input.CopySourceIfMatch!, }), - ...(isSerializableHeaderValue(input.SSEKMSEncryptionContext) && { - "x-amz-server-side-encryption-context": input.SSEKMSEncryptionContext!, + ...(isSerializableHeaderValue(input.ObjectLockMode) && { "x-amz-object-lock-mode": input.ObjectLockMode! }), + ...(isSerializableHeaderValue(input.SSEKMSKeyId) && { + "x-amz-server-side-encryption-aws-kms-key-id": input.SSEKMSKeyId!, + }), + ...(isSerializableHeaderValue(input.ExpectedSourceBucketOwner) && { + "x-amz-source-expected-bucket-owner": input.ExpectedSourceBucketOwner!, }), ...(isSerializableHeaderValue(input.ServerSideEncryption) && { "x-amz-server-side-encryption": input.ServerSideEncryption!, }), ...(isSerializableHeaderValue(input.MetadataDirective) && { "x-amz-metadata-directive": input.MetadataDirective! }), - ...(isSerializableHeaderValue(input.ObjectLockMode) && { "x-amz-object-lock-mode": input.ObjectLockMode! }), + ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), + ...(isSerializableHeaderValue(input.CopySourceIfNoneMatch) && { + "x-amz-copy-source-if-none-match": input.CopySourceIfNoneMatch!, + }), + ...(isSerializableHeaderValue(input.StorageClass) && { "x-amz-storage-class": input.StorageClass! }), ...(input.Metadata !== undefined && Object.keys(input.Metadata).reduce((acc: any, suffix: string) => { acc["x-amz-meta-" + suffix] = input.Metadata![suffix]; @@ -596,15 +622,15 @@ export const serializeAws_restXmlCreateBucketCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), + ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), + ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), ...(isSerializableHeaderValue(input.GrantWrite) && { "x-amz-grant-write": input.GrantWrite! }), + ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), ...(isSerializableHeaderValue(input.ObjectLockEnabledForBucket) && { "x-amz-bucket-object-lock-enabled": input.ObjectLockEnabledForBucket!.toString(), }), - ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), ...(isSerializableHeaderValue(input.GrantWriteACP) && { "x-amz-grant-write-acp": input.GrantWriteACP! }), - ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), - ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), - ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -642,50 +668,53 @@ export const serializeAws_restXmlCreateMultipartUploadCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", - ...(isSerializableHeaderValue(input.ServerSideEncryption) && { - "x-amz-server-side-encryption": input.ServerSideEncryption!, - }), - ...(isSerializableHeaderValue(input.WebsiteRedirectLocation) && { - "x-amz-website-redirect-location": input.WebsiteRedirectLocation!, + ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), + ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { + "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, }), - ...(isSerializableHeaderValue(input.GrantWriteACP) && { "x-amz-grant-write-acp": input.GrantWriteACP! }), - ...(isSerializableHeaderValue(input.Tagging) && { "x-amz-tagging": input.Tagging! }), - ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), - ...(isSerializableHeaderValue(input.Expires) && { Expires: __dateToUtcString(input.Expires!).toString() }), ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, }), - ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { - "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, + ...(isSerializableHeaderValue(input.SSEKMSKeyId) && { + "x-amz-server-side-encryption-aws-kms-key-id": input.SSEKMSKeyId!, }), - ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), ...(isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && { "x-amz-object-lock-legal-hold": input.ObjectLockLegalHoldStatus!, }), - ...(isSerializableHeaderValue(input.CacheControl) && { "Cache-Control": input.CacheControl! }), - ...(isSerializableHeaderValue(input.ContentType) && { "Content-Type": input.ContentType! }), - ...(isSerializableHeaderValue(input.ObjectLockMode) && { "x-amz-object-lock-mode": input.ObjectLockMode! }), - ...(isSerializableHeaderValue(input.SSEKMSKeyId) && { - "x-amz-server-side-encryption-aws-kms-key-id": input.SSEKMSKeyId!, + ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), + ...(isSerializableHeaderValue(input.GrantWriteACP) && { "x-amz-grant-write-acp": input.GrantWriteACP! }), + ...(isSerializableHeaderValue(input.WebsiteRedirectLocation) && { + "x-amz-website-redirect-location": input.WebsiteRedirectLocation!, }), + ...(isSerializableHeaderValue(input.ContentType) && { "Content-Type": input.ContentType! }), ...(isSerializableHeaderValue(input.ContentLanguage) && { "Content-Language": input.ContentLanguage! }), - ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), - ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.CacheControl) && { "Cache-Control": input.CacheControl! }), + ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), + ...(isSerializableHeaderValue(input.Tagging) && { "x-amz-tagging": input.Tagging! }), + ...(isSerializableHeaderValue(input.SSEKMSEncryptionContext) && { + "x-amz-server-side-encryption-context": input.SSEKMSEncryptionContext!, + }), + ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), + ...(isSerializableHeaderValue(input.SSECustomerKey) && { + "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, + }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), + ...(isSerializableHeaderValue(input.Expires) && { Expires: __dateToUtcString(input.Expires!).toString() }), ...(isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && { "x-amz-object-lock-retain-until-date": ( input.ObjectLockRetainUntilDate!.toISOString().split(".")[0] + "Z" ).toString(), }), - ...(isSerializableHeaderValue(input.ContentDisposition) && { "Content-Disposition": input.ContentDisposition! }), - ...(isSerializableHeaderValue(input.SSECustomerKey) && { - "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, + ...(isSerializableHeaderValue(input.ServerSideEncryption) && { + "x-amz-server-side-encryption": input.ServerSideEncryption!, }), - ...(isSerializableHeaderValue(input.ContentEncoding) && { "Content-Encoding": input.ContentEncoding! }), + ...(isSerializableHeaderValue(input.ContentDisposition) && { "Content-Disposition": input.ContentDisposition! }), + ...(isSerializableHeaderValue(input.ObjectLockMode) && { "x-amz-object-lock-mode": input.ObjectLockMode! }), ...(isSerializableHeaderValue(input.StorageClass) && { "x-amz-storage-class": input.StorageClass! }), - ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), - ...(isSerializableHeaderValue(input.SSEKMSEncryptionContext) && { - "x-amz-server-side-encryption-context": input.SSEKMSEncryptionContext!, - }), + ...(isSerializableHeaderValue(input.ContentEncoding) && { "Content-Encoding": input.ContentEncoding! }), ...(input.Metadata !== undefined && Object.keys(input.Metadata).reduce((acc: any, suffix: string) => { acc["x-amz-meta-" + suffix] = input.Metadata![suffix]; @@ -693,6 +722,15 @@ export const serializeAws_restXmlCreateMultipartUploadCommand = async ( }, {})), }; let resolvedPath = "/{Bucket}/{Key+}"; + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { @@ -708,15 +746,6 @@ export const serializeAws_restXmlCreateMultipartUploadCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } const query: any = { uploads: "", }; @@ -740,6 +769,9 @@ export const serializeAws_restXmlDeleteBucketCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -770,6 +802,9 @@ export const serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = asy ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -805,6 +840,9 @@ export const serializeAws_restXmlDeleteBucketCorsCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -839,6 +877,9 @@ export const serializeAws_restXmlDeleteBucketEncryptionCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -873,6 +914,9 @@ export const serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = asy ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -908,6 +952,9 @@ export const serializeAws_restXmlDeleteBucketLifecycleCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -942,6 +989,9 @@ export const serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = async ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -971,12 +1021,15 @@ export const serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = async }); }; -export const serializeAws_restXmlDeleteBucketPolicyCommand = async ( - input: DeleteBucketPolicyCommandInput, +export const serializeAws_restXmlDeleteBucketOwnershipControlsCommand = async ( + input: DeleteBucketOwnershipControlsCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -989,7 +1042,7 @@ export const serializeAws_restXmlDeleteBucketPolicyCommand = async ( throw new Error("No value provided for input HTTP label: Bucket."); } const query: any = { - policy: "", + ownershipControls: "", }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1005,12 +1058,15 @@ export const serializeAws_restXmlDeleteBucketPolicyCommand = async ( }); }; -export const serializeAws_restXmlDeleteBucketReplicationCommand = async ( - input: DeleteBucketReplicationCommandInput, +export const serializeAws_restXmlDeleteBucketPolicyCommand = async ( + input: DeleteBucketPolicyCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1023,7 +1079,7 @@ export const serializeAws_restXmlDeleteBucketReplicationCommand = async ( throw new Error("No value provided for input HTTP label: Bucket."); } const query: any = { - replication: "", + policy: "", }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1039,12 +1095,15 @@ export const serializeAws_restXmlDeleteBucketReplicationCommand = async ( }); }; -export const serializeAws_restXmlDeleteBucketTaggingCommand = async ( - input: DeleteBucketTaggingCommandInput, +export const serializeAws_restXmlDeleteBucketReplicationCommand = async ( + input: DeleteBucketReplicationCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1057,7 +1116,7 @@ export const serializeAws_restXmlDeleteBucketTaggingCommand = async ( throw new Error("No value provided for input HTTP label: Bucket."); } const query: any = { - tagging: "", + replication: "", }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1073,12 +1132,15 @@ export const serializeAws_restXmlDeleteBucketTaggingCommand = async ( }); }; -export const serializeAws_restXmlDeleteBucketWebsiteCommand = async ( - input: DeleteBucketWebsiteCommandInput, +export const serializeAws_restXmlDeleteBucketTaggingCommand = async ( + input: DeleteBucketTaggingCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1091,7 +1153,7 @@ export const serializeAws_restXmlDeleteBucketWebsiteCommand = async ( throw new Error("No value provided for input HTTP label: Bucket."); } const query: any = { - website: "", + tagging: "", }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1107,20 +1169,69 @@ export const serializeAws_restXmlDeleteBucketWebsiteCommand = async ( }); }; -export const serializeAws_restXmlDeleteObjectCommand = async ( - input: DeleteObjectCommandInput, +export const serializeAws_restXmlDeleteBucketWebsiteCommand = async ( + input: DeleteBucketWebsiteCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", - ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), - ...(isSerializableHeaderValue(input.MFA) && { "x-amz-mfa": input.MFA! }), - ...(isSerializableHeaderValue(input.BypassGovernanceRetention) && { - "x-amz-bypass-governance-retention": input.BypassGovernanceRetention!.toString(), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, }), }; - let resolvedPath = "/{Bucket}/{Key+}"; - if (input.Key !== undefined) { + let resolvedPath = "/{Bucket}"; + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } + const query: any = { + website: "", + }; + 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_restXmlDeleteObjectCommand = async ( + input: DeleteObjectCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + ...(isSerializableHeaderValue(input.MFA) && { "x-amz-mfa": input.MFA! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), + ...(isSerializableHeaderValue(input.BypassGovernanceRetention) && { + "x-amz-bypass-governance-retention": input.BypassGovernanceRetention!.toString(), + }), + ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + }; + let resolvedPath = "/{Bucket}/{Key+}"; + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } + if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { throw new Error("Empty value provided for input HTTP label: Key."); @@ -1135,15 +1246,6 @@ export const serializeAws_restXmlDeleteObjectCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } const query: any = { "x-id": "DeleteObject", ...(input.VersionId !== undefined && { versionId: input.VersionId }), @@ -1168,11 +1270,14 @@ export const serializeAws_restXmlDeleteObjectsCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", - ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.MFA) && { "x-amz-mfa": input.MFA! }), ...(isSerializableHeaderValue(input.BypassGovernanceRetention) && { "x-amz-bypass-governance-retention": input.BypassGovernanceRetention!.toString(), }), - ...(isSerializableHeaderValue(input.MFA) && { "x-amz-mfa": input.MFA! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), + ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1214,8 +1319,20 @@ export const serializeAws_restXmlDeleteObjectTaggingCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}/{Key+}"; + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { @@ -1231,15 +1348,6 @@ export const serializeAws_restXmlDeleteObjectTaggingCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } const query: any = { tagging: "", ...(input.VersionId !== undefined && { versionId: input.VersionId }), @@ -1264,6 +1372,9 @@ export const serializeAws_restXmlDeletePublicAccessBlockCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1298,6 +1409,9 @@ export const serializeAws_restXmlGetBucketAccelerateConfigurationCommand = async ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1332,6 +1446,9 @@ export const serializeAws_restXmlGetBucketAclCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1366,6 +1483,9 @@ export const serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = async ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1402,6 +1522,9 @@ export const serializeAws_restXmlGetBucketCorsCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1436,6 +1559,9 @@ export const serializeAws_restXmlGetBucketEncryptionCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1470,6 +1596,9 @@ export const serializeAws_restXmlGetBucketInventoryConfigurationCommand = async ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1506,6 +1635,9 @@ export const serializeAws_restXmlGetBucketLifecycleConfigurationCommand = async ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1540,6 +1672,9 @@ export const serializeAws_restXmlGetBucketLocationCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1574,6 +1709,9 @@ export const serializeAws_restXmlGetBucketLoggingCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1608,6 +1746,9 @@ export const serializeAws_restXmlGetBucketMetricsConfigurationCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1644,6 +1785,9 @@ export const serializeAws_restXmlGetBucketNotificationConfigurationCommand = asy ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1672,12 +1816,52 @@ export const serializeAws_restXmlGetBucketNotificationConfigurationCommand = asy }); }; +export const serializeAws_restXmlGetBucketOwnershipControlsCommand = async ( + input: GetBucketOwnershipControlsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), + }; + let resolvedPath = "/{Bucket}"; + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } + const query: any = { + ownershipControls: "", + }; + 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_restXmlGetBucketPolicyCommand = async ( input: GetBucketPolicyCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1712,6 +1896,9 @@ export const serializeAws_restXmlGetBucketPolicyStatusCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1746,6 +1933,9 @@ export const serializeAws_restXmlGetBucketReplicationCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1780,6 +1970,9 @@ export const serializeAws_restXmlGetBucketRequestPaymentCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1814,6 +2007,9 @@ export const serializeAws_restXmlGetBucketTaggingCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1848,6 +2044,9 @@ export const serializeAws_restXmlGetBucketVersioningCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1882,6 +2081,9 @@ export const serializeAws_restXmlGetBucketWebsiteCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -1916,25 +2118,28 @@ export const serializeAws_restXmlGetObjectCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", - ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), - ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { - "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, - }), - ...(isSerializableHeaderValue(input.IfNoneMatch) && { "If-None-Match": input.IfNoneMatch! }), - ...(isSerializableHeaderValue(input.IfMatch) && { "If-Match": input.IfMatch! }), ...(isSerializableHeaderValue(input.SSECustomerKey) && { "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, }), - ...(isSerializableHeaderValue(input.Range) && { Range: input.Range! }), ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, }), - ...(isSerializableHeaderValue(input.IfModifiedSince) && { - "If-Modified-Since": __dateToUtcString(input.IfModifiedSince!).toString(), + ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { + "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, + }), + ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, }), ...(isSerializableHeaderValue(input.IfUnmodifiedSince) && { "If-Unmodified-Since": __dateToUtcString(input.IfUnmodifiedSince!).toString(), }), + ...(isSerializableHeaderValue(input.IfModifiedSince) && { + "If-Modified-Since": __dateToUtcString(input.IfModifiedSince!).toString(), + }), + ...(isSerializableHeaderValue(input.IfNoneMatch) && { "If-None-Match": input.IfNoneMatch! }), + ...(isSerializableHeaderValue(input.IfMatch) && { "If-Match": input.IfMatch! }), + ...(isSerializableHeaderValue(input.Range) && { Range: input.Range! }), }; let resolvedPath = "/{Bucket}/{Key+}"; if (input.Bucket !== undefined) { @@ -1963,18 +2168,18 @@ export const serializeAws_restXmlGetObjectCommand = async ( } const query: any = { "x-id": "GetObject", + ...(input.ResponseContentEncoding !== undefined && { "response-content-encoding": input.ResponseContentEncoding }), + ...(input.ResponseCacheControl !== undefined && { "response-cache-control": input.ResponseCacheControl }), + ...(input.ResponseContentLanguage !== undefined && { "response-content-language": input.ResponseContentLanguage }), ...(input.ResponseContentDisposition !== undefined && { "response-content-disposition": input.ResponseContentDisposition, }), - ...(input.ResponseContentLanguage !== undefined && { "response-content-language": input.ResponseContentLanguage }), + ...(input.PartNumber !== undefined && { partNumber: input.PartNumber.toString() }), ...(input.VersionId !== undefined && { versionId: input.VersionId }), - ...(input.ResponseContentEncoding !== undefined && { "response-content-encoding": input.ResponseContentEncoding }), - ...(input.ResponseCacheControl !== undefined && { "response-cache-control": input.ResponseCacheControl }), ...(input.ResponseExpires !== undefined && { "response-expires": (input.ResponseExpires.toISOString().split(".")[0] + "Z").toString(), }), ...(input.ResponseContentType !== undefined && { "response-content-type": input.ResponseContentType }), - ...(input.PartNumber !== undefined && { partNumber: input.PartNumber.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1996,6 +2201,9 @@ export const serializeAws_restXmlGetObjectAclCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), }; let resolvedPath = "/{Bucket}/{Key+}"; @@ -2048,6 +2256,9 @@ export const serializeAws_restXmlGetObjectLegalHoldCommand = async ( const headers: any = { "Content-Type": "", ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}/{Key+}"; if (input.Key !== undefined) { @@ -2098,6 +2309,9 @@ export const serializeAws_restXmlGetObjectLockConfigurationCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2132,18 +2346,12 @@ export const serializeAws_restXmlGetObjectRetentionCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), }; let resolvedPath = "/{Bucket}/{Key+}"; - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { @@ -2159,6 +2367,15 @@ export const serializeAws_restXmlGetObjectRetentionCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } const query: any = { retention: "", ...(input.VersionId !== undefined && { versionId: input.VersionId }), @@ -2183,6 +2400,9 @@ export const serializeAws_restXmlGetObjectTaggingCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}/{Key+}"; if (input.Bucket !== undefined) { @@ -2234,8 +2454,20 @@ export const serializeAws_restXmlGetObjectTorrentCommand = async ( const headers: any = { "Content-Type": "", ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}/{Key+}"; + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { @@ -2251,15 +2483,6 @@ export const serializeAws_restXmlGetObjectTorrentCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } const query: any = { torrent: "", }; @@ -2283,6 +2506,9 @@ export const serializeAws_restXmlGetPublicAccessBlockCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2317,6 +2543,9 @@ export const serializeAws_restXmlHeadBucketCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2347,25 +2576,28 @@ export const serializeAws_restXmlHeadObjectCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", - ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { - "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, + ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { + "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, + }), + ...(isSerializableHeaderValue(input.SSECustomerKey) && { + "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, }), - ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), ...(isSerializableHeaderValue(input.Range) && { Range: input.Range! }), + ...(isSerializableHeaderValue(input.IfNoneMatch) && { "If-None-Match": input.IfNoneMatch! }), ...(isSerializableHeaderValue(input.IfUnmodifiedSince) && { "If-Unmodified-Since": __dateToUtcString(input.IfUnmodifiedSince!).toString(), }), - ...(isSerializableHeaderValue(input.IfNoneMatch) && { "If-None-Match": input.IfNoneMatch! }), ...(isSerializableHeaderValue(input.IfModifiedSince) && { "If-Modified-Since": __dateToUtcString(input.IfModifiedSince!).toString(), }), - ...(isSerializableHeaderValue(input.SSECustomerKey) && { - "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, }), - ...(isSerializableHeaderValue(input.IfMatch) && { "If-Match": input.IfMatch! }), - ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { - "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, + ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { + "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, }), + ...(isSerializableHeaderValue(input.IfMatch) && { "If-Match": input.IfMatch! }), + ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), }; let resolvedPath = "/{Bucket}/{Key+}"; if (input.Bucket !== undefined) { @@ -2416,6 +2648,9 @@ export const serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = asyn ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2452,6 +2687,9 @@ export const serializeAws_restXmlListBucketInventoryConfigurationsCommand = asyn ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2488,6 +2726,9 @@ export const serializeAws_restXmlListBucketMetricsConfigurationsCommand = async ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2546,6 +2787,9 @@ export const serializeAws_restXmlListMultipartUploadsCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2559,12 +2803,12 @@ export const serializeAws_restXmlListMultipartUploadsCommand = async ( } const query: any = { uploads: "", - ...(input.Delimiter !== undefined && { delimiter: input.Delimiter }), - ...(input.EncodingType !== undefined && { "encoding-type": input.EncodingType }), - ...(input.Prefix !== undefined && { prefix: input.Prefix }), - ...(input.KeyMarker !== undefined && { "key-marker": input.KeyMarker }), ...(input.UploadIdMarker !== undefined && { "upload-id-marker": input.UploadIdMarker }), + ...(input.Prefix !== undefined && { prefix: input.Prefix }), + ...(input.Delimiter !== undefined && { delimiter: input.Delimiter }), ...(input.MaxUploads !== undefined && { "max-uploads": input.MaxUploads.toString() }), + ...(input.KeyMarker !== undefined && { "key-marker": input.KeyMarker }), + ...(input.EncodingType !== undefined && { "encoding-type": input.EncodingType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2586,6 +2830,9 @@ export const serializeAws_restXmlListObjectsCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), }; let resolvedPath = "/{Bucket}"; @@ -2599,11 +2846,11 @@ export const serializeAws_restXmlListObjectsCommand = async ( throw new Error("No value provided for input HTTP label: Bucket."); } const query: any = { + ...(input.MaxKeys !== undefined && { "max-keys": input.MaxKeys.toString() }), ...(input.Marker !== undefined && { marker: input.Marker }), ...(input.Prefix !== undefined && { prefix: input.Prefix }), - ...(input.EncodingType !== undefined && { "encoding-type": input.EncodingType }), - ...(input.MaxKeys !== undefined && { "max-keys": input.MaxKeys.toString() }), ...(input.Delimiter !== undefined && { delimiter: input.Delimiter }), + ...(input.EncodingType !== undefined && { "encoding-type": input.EncodingType }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2625,6 +2872,9 @@ export const serializeAws_restXmlListObjectsV2Command = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), }; let resolvedPath = "/{Bucket}"; @@ -2639,13 +2889,13 @@ export const serializeAws_restXmlListObjectsV2Command = async ( } const query: any = { "list-type": "2", - ...(input.MaxKeys !== undefined && { "max-keys": input.MaxKeys.toString() }), - ...(input.StartAfter !== undefined && { "start-after": input.StartAfter }), + ...(input.ContinuationToken !== undefined && { "continuation-token": input.ContinuationToken }), ...(input.FetchOwner !== undefined && { "fetch-owner": input.FetchOwner.toString() }), + ...(input.EncodingType !== undefined && { "encoding-type": input.EncodingType }), ...(input.Prefix !== undefined && { prefix: input.Prefix }), + ...(input.StartAfter !== undefined && { "start-after": input.StartAfter }), ...(input.Delimiter !== undefined && { delimiter: input.Delimiter }), - ...(input.ContinuationToken !== undefined && { "continuation-token": input.ContinuationToken }), - ...(input.EncodingType !== undefined && { "encoding-type": input.EncodingType }), + ...(input.MaxKeys !== undefined && { "max-keys": input.MaxKeys.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2667,6 +2917,9 @@ export const serializeAws_restXmlListObjectVersionsCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2680,13 +2933,13 @@ export const serializeAws_restXmlListObjectVersionsCommand = async ( } const query: any = { versions: "", - ...(input.Prefix !== undefined && { prefix: input.Prefix }), - ...(input.EncodingType !== undefined && { "encoding-type": input.EncodingType }), ...(input.KeyMarker !== undefined && { "key-marker": input.KeyMarker }), ...(input.MaxKeys !== undefined && { "max-keys": input.MaxKeys.toString() }), - ...(input.VersionIdMarker !== undefined && { "version-id-marker": input.VersionIdMarker }), ...(input.Delimiter !== undefined && { delimiter: input.Delimiter }), - }; + ...(input.VersionIdMarker !== undefined && { "version-id-marker": input.VersionIdMarker }), + ...(input.Prefix !== undefined && { prefix: input.Prefix }), + ...(input.EncodingType !== undefined && { "encoding-type": input.EncodingType }), + }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2708,8 +2961,20 @@ export const serializeAws_restXmlListPartsCommand = async ( const headers: any = { "Content-Type": "", ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}/{Key+}"; + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { @@ -2725,20 +2990,11 @@ export const serializeAws_restXmlListPartsCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } const query: any = { "x-id": "ListParts", - ...(input.PartNumberMarker !== undefined && { "part-number-marker": input.PartNumberMarker.toString() }), - ...(input.MaxParts !== undefined && { "max-parts": input.MaxParts.toString() }), ...(input.UploadId !== undefined && { uploadId: input.UploadId }), + ...(input.MaxParts !== undefined && { "max-parts": input.MaxParts.toString() }), + ...(input.PartNumberMarker !== undefined && { "part-number-marker": input.PartNumberMarker.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2760,6 +3016,9 @@ export const serializeAws_restXmlPutBucketAccelerateConfigurationCommand = async ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2801,13 +3060,16 @@ export const serializeAws_restXmlPutBucketAclCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", - ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), + ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), + ...(isSerializableHeaderValue(input.GrantWrite) && { "x-amz-grant-write": input.GrantWrite! }), ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), - ...(isSerializableHeaderValue(input.GrantWrite) && { "x-amz-grant-write": input.GrantWrite! }), - ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), ...(isSerializableHeaderValue(input.GrantWriteACP) && { "x-amz-grant-write-acp": input.GrantWriteACP! }), + ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2849,6 +3111,9 @@ export const serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = async ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2892,6 +3157,9 @@ export const serializeAws_restXmlPutBucketCorsCommand = async ( const headers: any = { "Content-Type": "application/xml", ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -2933,6 +3201,9 @@ export const serializeAws_restXmlPutBucketEncryptionCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), }; let resolvedPath = "/{Bucket}"; @@ -2975,6 +3246,9 @@ export const serializeAws_restXmlPutBucketInventoryConfigurationCommand = async ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -3017,6 +3291,9 @@ export const serializeAws_restXmlPutBucketLifecycleConfigurationCommand = async ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -3058,6 +3335,9 @@ export const serializeAws_restXmlPutBucketLoggingCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), }; let resolvedPath = "/{Bucket}"; @@ -3100,6 +3380,9 @@ export const serializeAws_restXmlPutBucketMetricsConfigurationCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -3142,6 +3425,9 @@ export const serializeAws_restXmlPutBucketNotificationConfigurationCommand = asy ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -3177,16 +3463,64 @@ export const serializeAws_restXmlPutBucketNotificationConfigurationCommand = asy }); }; +export const serializeAws_restXmlPutBucketOwnershipControlsCommand = async ( + input: PutBucketOwnershipControlsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), + }; + let resolvedPath = "/{Bucket}"; + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } + const query: any = { + ownershipControls: "", + }; + let body: any; + let contents: any; + if (input.OwnershipControls !== undefined) { + contents = serializeAws_restXmlOwnershipControls(input.OwnershipControls, context); + body = ''; + contents.addAttribute("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/"); + body += contents.toString(); + } + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restXmlPutBucketPolicyCommand = async ( input: PutBucketPolicyCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), + ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), ...(isSerializableHeaderValue(input.ConfirmRemoveSelfBucketAccess) && { "x-amz-confirm-remove-self-bucket-access": input.ConfirmRemoveSelfBucketAccess!.toString(), }), - ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -3229,8 +3563,11 @@ export const serializeAws_restXmlPutBucketReplicationCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", - ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), ...(isSerializableHeaderValue(input.Token) && { "x-amz-bucket-object-lock-token": input.Token! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), + ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -3273,6 +3610,9 @@ export const serializeAws_restXmlPutBucketRequestPaymentCommand = async ( const headers: any = { "Content-Type": "application/xml", ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -3314,6 +3654,9 @@ export const serializeAws_restXmlPutBucketTaggingCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), }; let resolvedPath = "/{Bucket}"; @@ -3356,8 +3699,11 @@ export const serializeAws_restXmlPutBucketVersioningCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", - ...(isSerializableHeaderValue(input.MFA) && { "x-amz-mfa": input.MFA! }), ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), + ...(isSerializableHeaderValue(input.MFA) && { "x-amz-mfa": input.MFA! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -3399,6 +3745,9 @@ export const serializeAws_restXmlPutBucketWebsiteCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), }; let resolvedPath = "/{Bucket}"; @@ -3441,52 +3790,55 @@ export const serializeAws_restXmlPutObjectCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/octet-stream", - ...(isSerializableHeaderValue(input.StorageClass) && { "x-amz-storage-class": input.StorageClass! }), - ...(isSerializableHeaderValue(input.Tagging) && { "x-amz-tagging": input.Tagging! }), - ...(isSerializableHeaderValue(input.SSEKMSEncryptionContext) && { - "x-amz-server-side-encryption-context": input.SSEKMSEncryptionContext!, + ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), + ...(isSerializableHeaderValue(input.ContentEncoding) && { "Content-Encoding": input.ContentEncoding! }), + ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), + ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { + "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, }), + ...(isSerializableHeaderValue(input.CacheControl) && { "Cache-Control": input.CacheControl! }), ...(isSerializableHeaderValue(input.WebsiteRedirectLocation) && { "x-amz-website-redirect-location": input.WebsiteRedirectLocation!, }), - ...(isSerializableHeaderValue(input.ServerSideEncryption) && { - "x-amz-server-side-encryption": input.ServerSideEncryption!, + ...(isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && { + "x-amz-object-lock-legal-hold": input.ObjectLockLegalHoldStatus!, }), - ...(isSerializableHeaderValue(input.Expires) && { Expires: __dateToUtcString(input.Expires!).toString() }), ...(isSerializableHeaderValue(input.GrantWriteACP) && { "x-amz-grant-write-acp": input.GrantWriteACP! }), + ...(isSerializableHeaderValue(input.ContentLength) && { "Content-Length": input.ContentLength!.toString() }), + ...(isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && { + "x-amz-object-lock-retain-until-date": ( + input.ObjectLockRetainUntilDate!.toISOString().split(".")[0] + "Z" + ).toString(), + }), ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, }), + ...(isSerializableHeaderValue(input.ContentDisposition) && { "Content-Disposition": input.ContentDisposition! }), ...(isSerializableHeaderValue(input.SSECustomerKey) && { "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, }), - ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), - ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), - ...(isSerializableHeaderValue(input.ContentDisposition) && { "Content-Disposition": input.ContentDisposition! }), - ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), - ...(isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && { - "x-amz-object-lock-legal-hold": input.ObjectLockLegalHoldStatus!, + ...(isSerializableHeaderValue(input.SSEKMSEncryptionContext) && { + "x-amz-server-side-encryption-context": input.SSEKMSEncryptionContext!, }), - ...(isSerializableHeaderValue(input.ContentEncoding) && { "Content-Encoding": input.ContentEncoding! }), - ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), - ...(isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && { - "x-amz-object-lock-retain-until-date": ( - input.ObjectLockRetainUntilDate!.toISOString().split(".")[0] + "Z" - ).toString(), + ...(isSerializableHeaderValue(input.Tagging) && { "x-amz-tagging": input.Tagging! }), + ...(isSerializableHeaderValue(input.Expires) && { Expires: __dateToUtcString(input.Expires!).toString() }), + ...(isSerializableHeaderValue(input.StorageClass) && { "x-amz-storage-class": input.StorageClass! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, }), - ...(isSerializableHeaderValue(input.CacheControl) && { "Cache-Control": input.CacheControl! }), - ...(isSerializableHeaderValue(input.ContentLength) && { "Content-Length": input.ContentLength!.toString() }), - ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { - "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, + ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), + ...(isSerializableHeaderValue(input.ServerSideEncryption) && { + "x-amz-server-side-encryption": input.ServerSideEncryption!, }), + ...(isSerializableHeaderValue(input.ObjectLockMode) && { "x-amz-object-lock-mode": input.ObjectLockMode! }), ...(isSerializableHeaderValue(input.SSEKMSKeyId) && { "x-amz-server-side-encryption-aws-kms-key-id": input.SSEKMSKeyId!, }), - ...(isSerializableHeaderValue(input.ObjectLockMode) && { "x-amz-object-lock-mode": input.ObjectLockMode! }), ...(isSerializableHeaderValue(input.ContentLanguage) && { "Content-Language": input.ContentLanguage! }), + ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), ...(isSerializableHeaderValue(input.ContentType) && { "Content-Type": input.ContentType! }), - ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), ...(input.Metadata !== undefined && Object.keys(input.Metadata).reduce((acc: any, suffix: string) => { acc["x-amz-meta-" + suffix] = input.Metadata![suffix]; @@ -3546,14 +3898,17 @@ export const serializeAws_restXmlPutObjectAclCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), - ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl! }), - ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP! }), ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead! }), - ...(isSerializableHeaderValue(input.GrantWriteACP) && { "x-amz-grant-write-acp": input.GrantWriteACP! }), ...(isSerializableHeaderValue(input.GrantWrite) && { "x-amz-grant-write": input.GrantWrite! }), - ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL! }), + ...(isSerializableHeaderValue(input.GrantWriteACP) && { "x-amz-grant-write-acp": input.GrantWriteACP! }), }; let resolvedPath = "/{Bucket}/{Key+}"; if (input.Key !== undefined) { @@ -3612,9 +3967,21 @@ export const serializeAws_restXmlPutObjectLegalHoldCommand = async ( const headers: any = { "Content-Type": "application/xml", ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), }; let resolvedPath = "/{Bucket}/{Key+}"; + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { @@ -3630,15 +3997,6 @@ export const serializeAws_restXmlPutObjectLegalHoldCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } const query: any = { "legal-hold": "", ...(input.VersionId !== undefined && { versionId: input.VersionId }), @@ -3670,9 +4028,12 @@ export const serializeAws_restXmlPutObjectLockConfigurationCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", - ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), ...(isSerializableHeaderValue(input.Token) && { "x-amz-bucket-object-lock-token": input.Token! }), ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}"; if (input.Bucket !== undefined) { @@ -3714,22 +4075,16 @@ export const serializeAws_restXmlPutObjectRetentionCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", - ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.BypassGovernanceRetention) && { "x-amz-bypass-governance-retention": input.BypassGovernanceRetention!.toString(), }), + ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), }; let resolvedPath = "/{Bucket}/{Key+}"; - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { @@ -3745,6 +4100,15 @@ export const serializeAws_restXmlPutObjectRetentionCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } const query: any = { retention: "", ...(input.VersionId !== undefined && { versionId: input.VersionId }), @@ -3776,6 +4140,9 @@ export const serializeAws_restXmlPutObjectTaggingCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), }; let resolvedPath = "/{Bucket}/{Key+}"; @@ -3834,6 +4201,9 @@ export const serializeAws_restXmlPutPublicAccessBlockCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), }; let resolvedPath = "/{Bucket}"; @@ -3877,17 +4247,11 @@ export const serializeAws_restXmlRestoreObjectCommand = async ( const headers: any = { "Content-Type": "application/xml", ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), }; let resolvedPath = "/{Bucket}/{Key+}"; - if (input.Bucket !== undefined) { - const labelValue: string = input.Bucket; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Bucket."); - } - resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Bucket."); - } if (input.Key !== undefined) { const labelValue: string = input.Key; if (labelValue.length <= 0) { @@ -3903,6 +4267,15 @@ export const serializeAws_restXmlRestoreObjectCommand = async ( } else { throw new Error("No value provided for input HTTP label: Key."); } + if (input.Bucket !== undefined) { + const labelValue: string = input.Bucket; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Bucket."); + } + resolvedPath = resolvedPath.replace("{Bucket}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Bucket."); + } const query: any = { restore: "", ...(input.VersionId !== undefined && { versionId: input.VersionId }), @@ -3934,15 +4307,18 @@ export const serializeAws_restXmlSelectObjectContentCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/xml", + ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { + "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, + }), ...(isSerializableHeaderValue(input.SSECustomerKey) && { "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, }), + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, }), - ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { - "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, - }), }; let resolvedPath = "/{Bucket}/{Key+}"; if (input.Key !== undefined) { @@ -4027,18 +4403,21 @@ export const serializeAws_restXmlUploadPartCommand = async ( ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "application/octet-stream", + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, + }), + ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), ...(isSerializableHeaderValue(input.ContentLength) && { "Content-Length": input.ContentLength!.toString() }), ...(isSerializableHeaderValue(input.SSECustomerKey) && { "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, }), + ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { + "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, + }), ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, }), - ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), ...(isSerializableHeaderValue(input.ContentMD5) && { "Content-MD5": input.ContentMD5! }), - ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { - "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, - }), }; let resolvedPath = "/{Bucket}/{Key+}"; if (input.Bucket !== undefined) { @@ -4096,38 +4475,44 @@ export const serializeAws_restXmlUploadPartCopyCommand = async ( const headers: any = { "Content-Type": "", ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer! }), - ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { - "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, - }), - ...(isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && { - "x-amz-copy-source-if-unmodified-since": __dateToUtcString(input.CopySourceIfUnmodifiedSince!).toString(), + ...(isSerializableHeaderValue(input.CopySourceRange) && { "x-amz-copy-source-range": input.CopySourceRange! }), + ...(isSerializableHeaderValue(input.SSECustomerKey) && { + "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, }), - ...(isSerializableHeaderValue(input.CopySourceIfNoneMatch) && { - "x-amz-copy-source-if-none-match": input.CopySourceIfNoneMatch!, + ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { + "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, }), ...(isSerializableHeaderValue(input.CopySourceIfMatch) && { "x-amz-copy-source-if-match": input.CopySourceIfMatch!, }), - ...(isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && { - "x-amz-copy-source-server-side-encryption-customer-key-MD5": input.CopySourceSSECustomerKeyMD5!, + ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && { + "x-amz-expected-bucket-owner": input.ExpectedBucketOwner!, }), ...(isSerializableHeaderValue(input.CopySourceSSECustomerKey) && { "x-amz-copy-source-server-side-encryption-customer-key": input.CopySourceSSECustomerKey!, }), - ...(isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && { - "x-amz-copy-source-server-side-encryption-customer-algorithm": input.CopySourceSSECustomerAlgorithm!, - }), + ...(isSerializableHeaderValue(input.CopySource) && { "x-amz-copy-source": input.CopySource! }), ...(isSerializableHeaderValue(input.CopySourceIfModifiedSince) && { "x-amz-copy-source-if-modified-since": __dateToUtcString(input.CopySourceIfModifiedSince!).toString(), }), - ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && { - "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm!, + ...(isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && { + "x-amz-copy-source-server-side-encryption-customer-algorithm": input.CopySourceSSECustomerAlgorithm!, }), - ...(isSerializableHeaderValue(input.SSECustomerKey) && { - "x-amz-server-side-encryption-customer-key": input.SSECustomerKey!, + ...(isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && { + "x-amz-copy-source-if-unmodified-since": __dateToUtcString(input.CopySourceIfUnmodifiedSince!).toString(), + }), + ...(isSerializableHeaderValue(input.ExpectedSourceBucketOwner) && { + "x-amz-source-expected-bucket-owner": input.ExpectedSourceBucketOwner!, + }), + ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && { + "x-amz-server-side-encryption-customer-key-MD5": input.SSECustomerKeyMD5!, + }), + ...(isSerializableHeaderValue(input.CopySourceIfNoneMatch) && { + "x-amz-copy-source-if-none-match": input.CopySourceIfNoneMatch!, + }), + ...(isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && { + "x-amz-copy-source-server-side-encryption-customer-key-MD5": input.CopySourceSSECustomerKeyMD5!, }), - ...(isSerializableHeaderValue(input.CopySourceRange) && { "x-amz-copy-source-range": input.CopySourceRange! }), - ...(isSerializableHeaderValue(input.CopySource) && { "x-amz-copy-source": input.CopySource! }), }; let resolvedPath = "/{Bucket}/{Key+}"; if (input.Bucket !== undefined) { @@ -4247,20 +4632,20 @@ export const deserializeAws_restXmlCompleteMultipartUploadCommand = async ( ServerSideEncryption: undefined, VersionId: undefined, }; - if (output.headers["x-amz-version-id"] !== undefined) { - contents.VersionId = output.headers["x-amz-version-id"]; + if (output.headers["x-amz-expiration"] !== undefined) { + contents.Expiration = output.headers["x-amz-expiration"]; } - if (output.headers["x-amz-request-charged"] !== undefined) { - contents.RequestCharged = output.headers["x-amz-request-charged"]; + if (output.headers["x-amz-server-side-encryption"] !== undefined) { + contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; } if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; } - if (output.headers["x-amz-server-side-encryption"] !== undefined) { - contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; + if (output.headers["x-amz-version-id"] !== undefined) { + contents.VersionId = output.headers["x-amz-version-id"]; } - if (output.headers["x-amz-expiration"] !== undefined) { - contents.Expiration = output.headers["x-amz-expiration"]; + if (output.headers["x-amz-request-charged"] !== undefined) { + contents.RequestCharged = output.headers["x-amz-request-charged"]; } const data: any = await parseBody(output.body, context); if (data["Bucket"] !== undefined) { @@ -4327,32 +4712,32 @@ export const deserializeAws_restXmlCopyObjectCommand = async ( ServerSideEncryption: undefined, VersionId: undefined, }; - if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { - contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; - } if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; } - if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { - contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; + if (output.headers["x-amz-expiration"] !== undefined) { + contents.Expiration = output.headers["x-amz-expiration"]; + } + if (output.headers["x-amz-version-id"] !== undefined) { + contents.VersionId = output.headers["x-amz-version-id"]; + } + if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { + contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; } if (output.headers["x-amz-copy-source-version-id"] !== undefined) { contents.CopySourceVersionId = output.headers["x-amz-copy-source-version-id"]; } - if (output.headers["x-amz-server-side-encryption"] !== undefined) { - contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; - } if (output.headers["x-amz-server-side-encryption-context"] !== undefined) { contents.SSEKMSEncryptionContext = output.headers["x-amz-server-side-encryption-context"]; } + if (output.headers["x-amz-server-side-encryption"] !== undefined) { + contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; + } if (output.headers["x-amz-request-charged"] !== undefined) { contents.RequestCharged = output.headers["x-amz-request-charged"]; } - if (output.headers["x-amz-version-id"] !== undefined) { - contents.VersionId = output.headers["x-amz-version-id"]; - } - if (output.headers["x-amz-expiration"] !== undefined) { - contents.Expiration = output.headers["x-amz-expiration"]; + if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { + contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; } const data: any = await parseBody(output.body, context); contents.CopyObjectResult = deserializeAws_restXmlCopyObjectResult(data, context); @@ -4480,18 +4865,9 @@ export const deserializeAws_restXmlCreateMultipartUploadCommand = async ( ServerSideEncryption: undefined, UploadId: undefined, }; - if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { - contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; - } if (output.headers["x-amz-server-side-encryption-context"] !== undefined) { contents.SSEKMSEncryptionContext = output.headers["x-amz-server-side-encryption-context"]; } - if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { - contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; - } - if (output.headers["x-amz-abort-rule-id"] !== undefined) { - contents.AbortRuleId = output.headers["x-amz-abort-rule-id"]; - } if (output.headers["x-amz-server-side-encryption"] !== undefined) { contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; } @@ -4501,9 +4877,18 @@ export const deserializeAws_restXmlCreateMultipartUploadCommand = async ( if (output.headers["x-amz-abort-date"] !== undefined) { contents.AbortDate = new Date(output.headers["x-amz-abort-date"]); } + if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { + contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; + } if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; } + if (output.headers["x-amz-abort-rule-id"] !== undefined) { + contents.AbortRuleId = output.headers["x-amz-abort-rule-id"]; + } + if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { + contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; + } const data: any = await parseBody(output.body, context); if (data["Bucket"] !== undefined) { contents.Bucket = data["Bucket"]; @@ -4847,6 +5232,49 @@ const deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError(output, context); + } + const contents: DeleteBucketOwnershipControlsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + 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_restXmlDeleteBucketPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5032,14 +5460,14 @@ export const deserializeAws_restXmlDeleteObjectCommand = async ( RequestCharged: undefined, VersionId: undefined, }; - if (output.headers["x-amz-version-id"] !== undefined) { - contents.VersionId = output.headers["x-amz-version-id"]; + if (output.headers["x-amz-delete-marker"] !== undefined) { + contents.DeleteMarker = output.headers["x-amz-delete-marker"] === "true"; } if (output.headers["x-amz-request-charged"] !== undefined) { contents.RequestCharged = output.headers["x-amz-request-charged"]; } - if (output.headers["x-amz-delete-marker"] !== undefined) { - contents.DeleteMarker = output.headers["x-amz-delete-marker"] === "true"; + if (output.headers["x-amz-version-id"] !== undefined) { + contents.VersionId = output.headers["x-amz-version-id"]; } await collectBody(output.body, context); return Promise.resolve(contents); @@ -5773,6 +6201,51 @@ const deserializeAws_restXmlGetBucketNotificationConfigurationCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restXmlGetBucketOwnershipControlsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restXmlGetBucketOwnershipControlsCommandError(output, context); + } + const contents: GetBucketOwnershipControlsCommandOutput = { + $metadata: deserializeMetadata(output), + OwnershipControls: undefined, + }; + const data: any = await parseBody(output.body, context); + contents.OwnershipControls = deserializeAws_restXmlOwnershipControls(data, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlGetBucketOwnershipControlsCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + 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_restXmlGetBucketPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6167,23 +6640,20 @@ export const deserializeAws_restXmlGetObjectCommand = async ( VersionId: undefined, WebsiteRedirectLocation: undefined, }; - if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { - contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; - } - if (output.headers["x-amz-request-charged"] !== undefined) { - contents.RequestCharged = output.headers["x-amz-request-charged"]; + if (output.headers["x-amz-object-lock-mode"] !== undefined) { + contents.ObjectLockMode = output.headers["x-amz-object-lock-mode"]; } - if (output.headers["x-amz-restore"] !== undefined) { - contents.Restore = output.headers["x-amz-restore"]; + if (output.headers["content-language"] !== undefined) { + contents.ContentLanguage = output.headers["content-language"]; } - if (output.headers["last-modified"] !== undefined) { - contents.LastModified = new Date(output.headers["last-modified"]); + if (output.headers["content-disposition"] !== undefined) { + contents.ContentDisposition = output.headers["content-disposition"]; } - if (output.headers["x-amz-server-side-encryption"] !== undefined) { - contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; + if (output.headers["cache-control"] !== undefined) { + contents.CacheControl = output.headers["cache-control"]; } - if (output.headers["x-amz-mp-parts-count"] !== undefined) { - contents.PartsCount = parseInt(output.headers["x-amz-mp-parts-count"], 10); + if (output.headers["content-type"] !== undefined) { + contents.ContentType = output.headers["content-type"]; } if (output.headers["content-range"] !== undefined) { contents.ContentRange = output.headers["content-range"]; @@ -6191,68 +6661,71 @@ export const deserializeAws_restXmlGetObjectCommand = async ( if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; } - if (output.headers["x-amz-object-lock-mode"] !== undefined) { - contents.ObjectLockMode = output.headers["x-amz-object-lock-mode"]; + if (output.headers["content-length"] !== undefined) { + contents.ContentLength = parseInt(output.headers["content-length"], 10); } - if (output.headers["accept-ranges"] !== undefined) { - contents.AcceptRanges = output.headers["accept-ranges"]; + if (output.headers["x-amz-object-lock-retain-until-date"] !== undefined) { + contents.ObjectLockRetainUntilDate = new Date(output.headers["x-amz-object-lock-retain-until-date"]); } - if (output.headers["content-encoding"] !== undefined) { - contents.ContentEncoding = output.headers["content-encoding"]; + if (output.headers["x-amz-object-lock-legal-hold"] !== undefined) { + contents.ObjectLockLegalHoldStatus = output.headers["x-amz-object-lock-legal-hold"]; + } + if (output.headers["x-amz-delete-marker"] !== undefined) { + contents.DeleteMarker = output.headers["x-amz-delete-marker"] === "true"; } if (output.headers["x-amz-storage-class"] !== undefined) { contents.StorageClass = output.headers["x-amz-storage-class"]; } - if (output.headers["x-amz-tagging-count"] !== undefined) { - contents.TagCount = parseInt(output.headers["x-amz-tagging-count"], 10); - } - if (output.headers["x-amz-delete-marker"] !== undefined) { - contents.DeleteMarker = output.headers["x-amz-delete-marker"] === "true"; + if (output.headers["content-encoding"] !== undefined) { + contents.ContentEncoding = output.headers["content-encoding"]; } - if (output.headers["x-amz-missing-meta"] !== undefined) { - contents.MissingMeta = parseInt(output.headers["x-amz-missing-meta"], 10); + if (output.headers["x-amz-restore"] !== undefined) { + contents.Restore = output.headers["x-amz-restore"]; } - if (output.headers["x-amz-object-lock-retain-until-date"] !== undefined) { - contents.ObjectLockRetainUntilDate = new Date(output.headers["x-amz-object-lock-retain-until-date"]); + if (output.headers["x-amz-website-redirect-location"] !== undefined) { + contents.WebsiteRedirectLocation = output.headers["x-amz-website-redirect-location"]; } - if (output.headers["content-language"] !== undefined) { - contents.ContentLanguage = output.headers["content-language"]; + if (output.headers["x-amz-server-side-encryption"] !== undefined) { + contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; } - if (output.headers["expires"] !== undefined) { - contents.Expires = new Date(output.headers["expires"]); + if (output.headers["x-amz-mp-parts-count"] !== undefined) { + contents.PartsCount = parseInt(output.headers["x-amz-mp-parts-count"], 10); } - if (output.headers["content-length"] !== undefined) { - contents.ContentLength = parseInt(output.headers["content-length"], 10); + if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { + contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; } - if (output.headers["content-disposition"] !== undefined) { - contents.ContentDisposition = output.headers["content-disposition"]; + if (output.headers["accept-ranges"] !== undefined) { + contents.AcceptRanges = output.headers["accept-ranges"]; } if (output.headers["x-amz-version-id"] !== undefined) { contents.VersionId = output.headers["x-amz-version-id"]; } - if (output.headers["x-amz-object-lock-legal-hold"] !== undefined) { - contents.ObjectLockLegalHoldStatus = output.headers["x-amz-object-lock-legal-hold"]; + if (output.headers["expires"] !== undefined) { + contents.Expires = new Date(output.headers["expires"]); } - if (output.headers["content-type"] !== undefined) { - contents.ContentType = output.headers["content-type"]; + if (output.headers["x-amz-expiration"] !== undefined) { + contents.Expiration = output.headers["x-amz-expiration"]; } - if (output.headers["cache-control"] !== undefined) { - contents.CacheControl = output.headers["cache-control"]; + if (output.headers["x-amz-missing-meta"] !== undefined) { + contents.MissingMeta = parseInt(output.headers["x-amz-missing-meta"], 10); } - if (output.headers["x-amz-website-redirect-location"] !== undefined) { - contents.WebsiteRedirectLocation = output.headers["x-amz-website-redirect-location"]; + if (output.headers["x-amz-replication-status"] !== undefined) { + contents.ReplicationStatus = output.headers["x-amz-replication-status"]; + } + if (output.headers["x-amz-tagging-count"] !== undefined) { + contents.TagCount = parseInt(output.headers["x-amz-tagging-count"], 10); } if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; } + if (output.headers["last-modified"] !== undefined) { + contents.LastModified = new Date(output.headers["last-modified"]); + } if (output.headers["etag"] !== undefined) { contents.ETag = output.headers["etag"]; } - if (output.headers["x-amz-replication-status"] !== undefined) { - contents.ReplicationStatus = output.headers["x-amz-replication-status"]; - } - if (output.headers["x-amz-expiration"] !== undefined) { - contents.Expiration = output.headers["x-amz-expiration"]; + if (output.headers["x-amz-request-charged"] !== undefined) { + contents.RequestCharged = output.headers["x-amz-request-charged"]; } Object.keys(output.headers).forEach((header) => { if (contents.Metadata === undefined) { @@ -6742,86 +7215,86 @@ export const deserializeAws_restXmlHeadObjectCommand = async ( VersionId: undefined, WebsiteRedirectLocation: undefined, }; - if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { - contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; + if (output.headers["cache-control"] !== undefined) { + contents.CacheControl = output.headers["cache-control"]; } - if (output.headers["last-modified"] !== undefined) { - contents.LastModified = new Date(output.headers["last-modified"]); + if (output.headers["content-length"] !== undefined) { + contents.ContentLength = parseInt(output.headers["content-length"], 10); + } + if (output.headers["x-amz-object-lock-retain-until-date"] !== undefined) { + contents.ObjectLockRetainUntilDate = new Date(output.headers["x-amz-object-lock-retain-until-date"]); + } + if (output.headers["content-type"] !== undefined) { + contents.ContentType = output.headers["content-type"]; + } + if (output.headers["etag"] !== undefined) { + contents.ETag = output.headers["etag"]; + } + if (output.headers["content-disposition"] !== undefined) { + contents.ContentDisposition = output.headers["content-disposition"]; + } + if (output.headers["content-language"] !== undefined) { + contents.ContentLanguage = output.headers["content-language"]; + } + if (output.headers["x-amz-expiration"] !== undefined) { + contents.Expiration = output.headers["x-amz-expiration"]; + } + if (output.headers["expires"] !== undefined) { + contents.Expires = new Date(output.headers["expires"]); } if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; } - if (output.headers["x-amz-mp-parts-count"] !== undefined) { - contents.PartsCount = parseInt(output.headers["x-amz-mp-parts-count"], 10); - } if (output.headers["x-amz-replication-status"] !== undefined) { contents.ReplicationStatus = output.headers["x-amz-replication-status"]; } - if (output.headers["x-amz-restore"] !== undefined) { - contents.Restore = output.headers["x-amz-restore"]; + if (output.headers["x-amz-object-lock-legal-hold"] !== undefined) { + contents.ObjectLockLegalHoldStatus = output.headers["x-amz-object-lock-legal-hold"]; } - if (output.headers["content-encoding"] !== undefined) { - contents.ContentEncoding = output.headers["content-encoding"]; + if (output.headers["x-amz-website-redirect-location"] !== undefined) { + contents.WebsiteRedirectLocation = output.headers["x-amz-website-redirect-location"]; } - if (output.headers["x-amz-request-charged"] !== undefined) { - contents.RequestCharged = output.headers["x-amz-request-charged"]; + if (output.headers["x-amz-server-side-encryption"] !== undefined) { + contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; } if (output.headers["x-amz-version-id"] !== undefined) { contents.VersionId = output.headers["x-amz-version-id"]; } - if (output.headers["cache-control"] !== undefined) { - contents.CacheControl = output.headers["cache-control"]; - } - if (output.headers["x-amz-object-lock-retain-until-date"] !== undefined) { - contents.ObjectLockRetainUntilDate = new Date(output.headers["x-amz-object-lock-retain-until-date"]); - } - if (output.headers["x-amz-website-redirect-location"] !== undefined) { - contents.WebsiteRedirectLocation = output.headers["x-amz-website-redirect-location"]; + if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { + contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; } - if (output.headers["content-length"] !== undefined) { - contents.ContentLength = parseInt(output.headers["content-length"], 10); + if (output.headers["x-amz-mp-parts-count"] !== undefined) { + contents.PartsCount = parseInt(output.headers["x-amz-mp-parts-count"], 10); } - if (output.headers["expires"] !== undefined) { - contents.Expires = new Date(output.headers["expires"]); + if (output.headers["x-amz-request-charged"] !== undefined) { + contents.RequestCharged = output.headers["x-amz-request-charged"]; } - if (output.headers["x-amz-object-lock-legal-hold"] !== undefined) { - contents.ObjectLockLegalHoldStatus = output.headers["x-amz-object-lock-legal-hold"]; + if (output.headers["last-modified"] !== undefined) { + contents.LastModified = new Date(output.headers["last-modified"]); } if (output.headers["x-amz-missing-meta"] !== undefined) { contents.MissingMeta = parseInt(output.headers["x-amz-missing-meta"], 10); } - if (output.headers["content-disposition"] !== undefined) { - contents.ContentDisposition = output.headers["content-disposition"]; - } - if (output.headers["x-amz-delete-marker"] !== undefined) { - contents.DeleteMarker = output.headers["x-amz-delete-marker"] === "true"; - } - if (output.headers["content-language"] !== undefined) { - contents.ContentLanguage = output.headers["content-language"]; + if (output.headers["x-amz-restore"] !== undefined) { + contents.Restore = output.headers["x-amz-restore"]; } - if (output.headers["etag"] !== undefined) { - contents.ETag = output.headers["etag"]; + if (output.headers["content-encoding"] !== undefined) { + contents.ContentEncoding = output.headers["content-encoding"]; } - if (output.headers["x-amz-expiration"] !== undefined) { - contents.Expiration = output.headers["x-amz-expiration"]; + if (output.headers["x-amz-storage-class"] !== undefined) { + contents.StorageClass = output.headers["x-amz-storage-class"]; } - if (output.headers["accept-ranges"] !== undefined) { - contents.AcceptRanges = output.headers["accept-ranges"]; + if (output.headers["x-amz-delete-marker"] !== undefined) { + contents.DeleteMarker = output.headers["x-amz-delete-marker"] === "true"; } if (output.headers["x-amz-object-lock-mode"] !== undefined) { contents.ObjectLockMode = output.headers["x-amz-object-lock-mode"]; } - if (output.headers["content-type"] !== undefined) { - contents.ContentType = output.headers["content-type"]; - } - if (output.headers["x-amz-storage-class"] !== undefined) { - contents.StorageClass = output.headers["x-amz-storage-class"]; - } if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; } - if (output.headers["x-amz-server-side-encryption"] !== undefined) { - contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; + if (output.headers["accept-ranges"] !== undefined) { + contents.AcceptRanges = output.headers["accept-ranges"]; } Object.keys(output.headers).forEach((header) => { if (contents.Metadata === undefined) { @@ -7563,12 +8036,12 @@ export const deserializeAws_restXmlListPartsCommand = async ( if (output.headers["x-amz-abort-rule-id"] !== undefined) { contents.AbortRuleId = output.headers["x-amz-abort-rule-id"]; } - if (output.headers["x-amz-abort-date"] !== undefined) { - contents.AbortDate = new Date(output.headers["x-amz-abort-date"]); - } if (output.headers["x-amz-request-charged"] !== undefined) { contents.RequestCharged = output.headers["x-amz-request-charged"]; } + if (output.headers["x-amz-abort-date"] !== undefined) { + contents.AbortDate = new Date(output.headers["x-amz-abort-date"]); + } const data: any = await parseBody(output.body, context); if (data["Bucket"] !== undefined) { contents.Bucket = data["Bucket"]; @@ -8068,6 +8541,49 @@ const deserializeAws_restXmlPutBucketNotificationConfigurationCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restXmlPutBucketOwnershipControlsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restXmlPutBucketOwnershipControlsCommandError(output, context); + } + const contents: PutBucketOwnershipControlsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restXmlPutBucketOwnershipControlsCommandError = 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 = loadRestXmlErrorCode(output, parsedOutput.body); + switch (errorCode) { + 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_restXmlPutBucketPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -8345,6 +8861,21 @@ export const deserializeAws_restXmlPutObjectCommand = async ( ServerSideEncryption: undefined, VersionId: undefined, }; + if (output.headers["x-amz-server-side-encryption-context"] !== undefined) { + contents.SSEKMSEncryptionContext = output.headers["x-amz-server-side-encryption-context"]; + } + if (output.headers["x-amz-expiration"] !== undefined) { + contents.Expiration = output.headers["x-amz-expiration"]; + } + if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { + contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; + } + if (output.headers["etag"] !== undefined) { + contents.ETag = output.headers["etag"]; + } + if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { + contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; + } if (output.headers["x-amz-version-id"] !== undefined) { contents.VersionId = output.headers["x-amz-version-id"]; } @@ -8354,24 +8885,9 @@ export const deserializeAws_restXmlPutObjectCommand = async ( if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; } - if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { - contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; - } - if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { - contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; - } - if (output.headers["x-amz-server-side-encryption-context"] !== undefined) { - contents.SSEKMSEncryptionContext = output.headers["x-amz-server-side-encryption-context"]; - } if (output.headers["x-amz-server-side-encryption"] !== undefined) { contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; } - if (output.headers["etag"] !== undefined) { - contents.ETag = output.headers["etag"]; - } - if (output.headers["x-amz-expiration"] !== undefined) { - contents.Expiration = output.headers["x-amz-expiration"]; - } await collectBody(output.body, context); return Promise.resolve(contents); }; @@ -8703,12 +9219,12 @@ export const deserializeAws_restXmlRestoreObjectCommand = async ( RequestCharged: undefined, RestoreOutputPath: undefined, }; - if (output.headers["x-amz-restore-output-path"] !== undefined) { - contents.RestoreOutputPath = output.headers["x-amz-restore-output-path"]; - } if (output.headers["x-amz-request-charged"] !== undefined) { contents.RequestCharged = output.headers["x-amz-request-charged"]; } + if (output.headers["x-amz-restore-output-path"] !== undefined) { + contents.RestoreOutputPath = output.headers["x-amz-restore-output-path"]; + } await collectBody(output.body, context); return Promise.resolve(contents); }; @@ -8825,24 +9341,24 @@ export const deserializeAws_restXmlUploadPartCommand = async ( SSEKMSKeyId: undefined, ServerSideEncryption: undefined, }; - if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { - contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; + if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { + contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; } if (output.headers["x-amz-server-side-encryption"] !== undefined) { contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; } + if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { + contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; + } + if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { + contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; + } if (output.headers["x-amz-request-charged"] !== undefined) { contents.RequestCharged = output.headers["x-amz-request-charged"]; } if (output.headers["etag"] !== undefined) { contents.ETag = output.headers["etag"]; } - if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { - contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; - } - if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { - contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; - } await collectBody(output.body, context); return Promise.resolve(contents); }; @@ -8893,23 +9409,23 @@ export const deserializeAws_restXmlUploadPartCopyCommand = async ( SSEKMSKeyId: undefined, ServerSideEncryption: undefined, }; - if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { - contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; + if (output.headers["x-amz-copy-source-version-id"] !== undefined) { + contents.CopySourceVersionId = output.headers["x-amz-copy-source-version-id"]; } - if (output.headers["x-amz-server-side-encryption"] !== undefined) { - contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; + if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { + contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; } - if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { - contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; + if (output.headers["x-amz-server-side-encryption-customer-key-md5"] !== undefined) { + contents.SSECustomerKeyMD5 = output.headers["x-amz-server-side-encryption-customer-key-md5"]; } if (output.headers["x-amz-request-charged"] !== undefined) { contents.RequestCharged = output.headers["x-amz-request-charged"]; } - if (output.headers["x-amz-copy-source-version-id"] !== undefined) { - contents.CopySourceVersionId = output.headers["x-amz-copy-source-version-id"]; + if (output.headers["x-amz-server-side-encryption-aws-kms-key-id"] !== undefined) { + contents.SSEKMSKeyId = output.headers["x-amz-server-side-encryption-aws-kms-key-id"]; } - if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) { - contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"]; + if (output.headers["x-amz-server-side-encryption"] !== undefined) { + contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"]; } const data: any = await parseBody(output.body, context); contents.CopyPartResult = deserializeAws_restXmlCopyPartResult(data, context); @@ -8949,29 +9465,29 @@ const deserializeAws_restXmlSelectObjectContentEventStream_event = async ( output: any, context: __SerdeContext ): Promise => { - if (output["Stats"] !== undefined) { + if (output["Cont"] !== undefined) { return { - Stats: await deserializeAws_restXmlStatsEvent_event(output["Stats"], context), + Cont: await deserializeAws_restXmlContinuationEvent_event(output["Cont"], context), }; } - if (output["End"] !== undefined) { + if (output["Progress"] !== undefined) { return { - End: await deserializeAws_restXmlEndEvent_event(output["End"], context), + Progress: await deserializeAws_restXmlProgressEvent_event(output["Progress"], context), }; } - if (output["Progress"] !== undefined) { + if (output["Stats"] !== undefined) { return { - Progress: await deserializeAws_restXmlProgressEvent_event(output["Progress"], context), + Stats: await deserializeAws_restXmlStatsEvent_event(output["Stats"], context), }; } - if (output["Records"] !== undefined) { + if (output["End"] !== undefined) { return { - Records: await deserializeAws_restXmlRecordsEvent_event(output["Records"], context), + End: await deserializeAws_restXmlEndEvent_event(output["End"], context), }; } - if (output["Cont"] !== undefined) { + if (output["Records"] !== undefined) { return { - Cont: await deserializeAws_restXmlContinuationEvent_event(output["Cont"], context), + Records: await deserializeAws_restXmlRecordsEvent_event(output["Records"], context), }; } return { $unknown: output }; @@ -9174,6 +9690,10 @@ const serializeAws_restXmlAllowedOrigins = (input: string[], context: __SerdeCon const serializeAws_restXmlAnalyticsAndOperator = (input: AnalyticsAndOperator, context: __SerdeContext): any => { const bodyNode = new __XmlNode("AnalyticsAndOperator"); + if (input.Prefix !== undefined) { + const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); + bodyNode.addChildNode(node); + } if (input.Tags !== undefined) { const nodes = serializeAws_restXmlTagSet(input.Tags, context); nodes.map((node: any) => { @@ -9181,10 +9701,6 @@ const serializeAws_restXmlAnalyticsAndOperator = (input: AnalyticsAndOperator, c bodyNode.addChildNode(node); }); } - if (input.Prefix !== undefined) { - const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -9223,10 +9739,6 @@ const serializeAws_restXmlAnalyticsExportDestination = ( const serializeAws_restXmlAnalyticsFilter = (input: AnalyticsFilter, context: __SerdeContext): any => { const bodyNode = new __XmlNode("AnalyticsFilter"); - if (input.And !== undefined) { - const node = serializeAws_restXmlAnalyticsAndOperator(input.And, context).withName("And"); - bodyNode.addChildNode(node); - } if (input.Prefix !== undefined) { const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); bodyNode.addChildNode(node); @@ -9235,6 +9747,10 @@ const serializeAws_restXmlAnalyticsFilter = (input: AnalyticsFilter, context: __ 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); + } return bodyNode; }; @@ -9243,26 +9759,26 @@ const serializeAws_restXmlAnalyticsS3BucketDestination = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("AnalyticsS3BucketDestination"); - if (input.Format !== undefined) { - const node = new __XmlNode("AnalyticsS3ExportFileFormat") - .addChildNode(new __XmlText(input.Format)) - .withName("Format"); - bodyNode.addChildNode(node); - } if (input.Prefix !== undefined) { const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); bodyNode.addChildNode(node); } - if (input.Bucket !== undefined) { - const node = new __XmlNode("BucketName").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); - bodyNode.addChildNode(node); - } if (input.BucketAccountId !== undefined) { const node = new __XmlNode("AccountId") .addChildNode(new __XmlText(input.BucketAccountId)) .withName("BucketAccountId"); bodyNode.addChildNode(node); } + if (input.Bucket !== undefined) { + const node = new __XmlNode("BucketName").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); + bodyNode.addChildNode(node); + } + if (input.Format !== undefined) { + const node = new __XmlNode("AnalyticsS3ExportFileFormat") + .addChildNode(new __XmlText(input.Format)) + .withName("Format"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -9358,11 +9874,12 @@ const serializeAws_restXmlCORSConfiguration = (input: CORSConfiguration, context const serializeAws_restXmlCORSRule = (input: CORSRule, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CORSRule"); - if (input.MaxAgeSeconds !== undefined) { - const node = new __XmlNode("MaxAgeSeconds") - .addChildNode(new __XmlText(String(input.MaxAgeSeconds))) - .withName("MaxAgeSeconds"); - bodyNode.addChildNode(node); + if (input.AllowedHeaders !== undefined) { + const nodes = serializeAws_restXmlAllowedHeaders(input.AllowedHeaders, context); + nodes.map((node: any) => { + node = node.withName("AllowedHeader"); + bodyNode.addChildNode(node); + }); } if (input.AllowedOrigins !== undefined) { const nodes = serializeAws_restXmlAllowedOrigins(input.AllowedOrigins, context); @@ -9371,10 +9888,16 @@ const serializeAws_restXmlCORSRule = (input: CORSRule, context: __SerdeContext): bodyNode.addChildNode(node); }); } - if (input.AllowedHeaders !== undefined) { - const nodes = serializeAws_restXmlAllowedHeaders(input.AllowedHeaders, context); + if (input.MaxAgeSeconds !== undefined) { + const node = new __XmlNode("MaxAgeSeconds") + .addChildNode(new __XmlText(String(input.MaxAgeSeconds))) + .withName("MaxAgeSeconds"); + bodyNode.addChildNode(node); + } + if (input.ExposeHeaders !== undefined) { + const nodes = serializeAws_restXmlExposeHeaders(input.ExposeHeaders, context); nodes.map((node: any) => { - node = node.withName("AllowedHeader"); + node = node.withName("ExposeHeader"); bodyNode.addChildNode(node); }); } @@ -9385,13 +9908,6 @@ const serializeAws_restXmlCORSRule = (input: CORSRule, context: __SerdeContext): bodyNode.addChildNode(node); }); } - if (input.ExposeHeaders !== undefined) { - const nodes = serializeAws_restXmlExposeHeaders(input.ExposeHeaders, context); - nodes.map((node: any) => { - node = node.withName("ExposeHeader"); - bodyNode.addChildNode(node); - }); - } return bodyNode; }; @@ -9418,14 +9934,10 @@ const serializeAws_restXmlCreateBucketConfiguration = ( const serializeAws_restXmlCSVInput = (input: CSVInput, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CSVInput"); - if (input.FileHeaderInfo !== undefined) { - const node = new __XmlNode("FileHeaderInfo") - .addChildNode(new __XmlText(input.FileHeaderInfo)) - .withName("FileHeaderInfo"); - bodyNode.addChildNode(node); - } - if (input.Comments !== undefined) { - const node = new __XmlNode("Comments").addChildNode(new __XmlText(input.Comments)).withName("Comments"); + if (input.FieldDelimiter !== undefined) { + const node = new __XmlNode("FieldDelimiter") + .addChildNode(new __XmlText(input.FieldDelimiter)) + .withName("FieldDelimiter"); bodyNode.addChildNode(node); } if (input.AllowQuotedRecordDelimiter !== undefined) { @@ -9434,10 +9946,10 @@ const serializeAws_restXmlCSVInput = (input: CSVInput, context: __SerdeContext): .withName("AllowQuotedRecordDelimiter"); bodyNode.addChildNode(node); } - if (input.FieldDelimiter !== undefined) { - const node = new __XmlNode("FieldDelimiter") - .addChildNode(new __XmlText(input.FieldDelimiter)) - .withName("FieldDelimiter"); + if (input.FileHeaderInfo !== undefined) { + const node = new __XmlNode("FileHeaderInfo") + .addChildNode(new __XmlText(input.FileHeaderInfo)) + .withName("FileHeaderInfo"); bodyNode.addChildNode(node); } if (input.QuoteCharacter !== undefined) { @@ -9458,15 +9970,23 @@ const serializeAws_restXmlCSVInput = (input: CSVInput, context: __SerdeContext): .withName("RecordDelimiter"); bodyNode.addChildNode(node); } + if (input.Comments !== undefined) { + const node = new __XmlNode("Comments").addChildNode(new __XmlText(input.Comments)).withName("Comments"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlCSVOutput = (input: CSVOutput, context: __SerdeContext): any => { const bodyNode = new __XmlNode("CSVOutput"); - if (input.QuoteEscapeCharacter !== undefined) { - const node = new __XmlNode("QuoteEscapeCharacter") - .addChildNode(new __XmlText(input.QuoteEscapeCharacter)) - .withName("QuoteEscapeCharacter"); + if (input.FieldDelimiter !== undefined) { + const node = new __XmlNode("FieldDelimiter") + .addChildNode(new __XmlText(input.FieldDelimiter)) + .withName("FieldDelimiter"); + bodyNode.addChildNode(node); + } + if (input.QuoteFields !== undefined) { + const node = new __XmlNode("QuoteFields").addChildNode(new __XmlText(input.QuoteFields)).withName("QuoteFields"); bodyNode.addChildNode(node); } if (input.QuoteCharacter !== undefined) { @@ -9481,14 +10001,10 @@ const serializeAws_restXmlCSVOutput = (input: CSVOutput, context: __SerdeContext .withName("RecordDelimiter"); bodyNode.addChildNode(node); } - if (input.QuoteFields !== undefined) { - const node = new __XmlNode("QuoteFields").addChildNode(new __XmlText(input.QuoteFields)).withName("QuoteFields"); - bodyNode.addChildNode(node); - } - if (input.FieldDelimiter !== undefined) { - const node = new __XmlNode("FieldDelimiter") - .addChildNode(new __XmlText(input.FieldDelimiter)) - .withName("FieldDelimiter"); + if (input.QuoteEscapeCharacter !== undefined) { + const node = new __XmlNode("QuoteEscapeCharacter") + .addChildNode(new __XmlText(input.QuoteEscapeCharacter)) + .withName("QuoteEscapeCharacter"); bodyNode.addChildNode(node); } return bodyNode; @@ -9496,14 +10012,14 @@ const serializeAws_restXmlCSVOutput = (input: CSVOutput, context: __SerdeContext const serializeAws_restXmlDefaultRetention = (input: DefaultRetention, context: __SerdeContext): any => { const bodyNode = new __XmlNode("DefaultRetention"); - if (input.Mode !== undefined) { - const node = new __XmlNode("ObjectLockRetentionMode").addChildNode(new __XmlText(input.Mode)).withName("Mode"); - bodyNode.addChildNode(node); - } if (input.Days !== undefined) { const node = new __XmlNode("Days").addChildNode(new __XmlText(String(input.Days))).withName("Days"); bodyNode.addChildNode(node); } + if (input.Mode !== undefined) { + const node = new __XmlNode("ObjectLockRetentionMode").addChildNode(new __XmlText(input.Mode)).withName("Mode"); + bodyNode.addChildNode(node); + } if (input.Years !== undefined) { const node = new __XmlNode("Years").addChildNode(new __XmlText(String(input.Years))).withName("Years"); bodyNode.addChildNode(node); @@ -9540,30 +10056,26 @@ const serializeAws_restXmlDeleteMarkerReplication = (input: DeleteMarkerReplicat const serializeAws_restXmlDestination = (input: Destination, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Destination"); - if (input.StorageClass !== undefined) { - const node = new __XmlNode("StorageClass").addChildNode(new __XmlText(input.StorageClass)).withName("StorageClass"); - bodyNode.addChildNode(node); - } - if (input.Metrics !== undefined) { - const node = serializeAws_restXmlMetrics(input.Metrics, context).withName("Metrics"); + if (input.EncryptionConfiguration !== undefined) { + const node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName( + "EncryptionConfiguration" + ); bodyNode.addChildNode(node); } - if (input.ReplicationTime !== undefined) { - const node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName("ReplicationTime"); + if (input.Bucket !== undefined) { + const node = new __XmlNode("BucketName").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); bodyNode.addChildNode(node); } if (input.Account !== undefined) { const node = new __XmlNode("AccountId").addChildNode(new __XmlText(input.Account)).withName("Account"); bodyNode.addChildNode(node); } - if (input.EncryptionConfiguration !== undefined) { - const node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName( - "EncryptionConfiguration" - ); + if (input.StorageClass !== undefined) { + const node = new __XmlNode("StorageClass").addChildNode(new __XmlText(input.StorageClass)).withName("StorageClass"); bodyNode.addChildNode(node); } - if (input.Bucket !== undefined) { - const node = new __XmlNode("BucketName").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); + if (input.Metrics !== undefined) { + const node = serializeAws_restXmlMetrics(input.Metrics, context).withName("Metrics"); bodyNode.addChildNode(node); } if (input.AccessControlTranslation !== undefined) { @@ -9572,19 +10084,23 @@ const serializeAws_restXmlDestination = (input: Destination, context: __SerdeCon ); bodyNode.addChildNode(node); } + if (input.ReplicationTime !== undefined) { + const node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName("ReplicationTime"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlEncryption = (input: Encryption, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Encryption"); - if (input.KMSContext !== undefined) { - const node = new __XmlNode("KMSContext").addChildNode(new __XmlText(input.KMSContext)).withName("KMSContext"); - bodyNode.addChildNode(node); - } if (input.KMSKeyId !== undefined) { const node = new __XmlNode("SSEKMSKeyId").addChildNode(new __XmlText(input.KMSKeyId)).withName("KMSKeyId"); bodyNode.addChildNode(node); } + if (input.KMSContext !== undefined) { + const node = new __XmlNode("KMSContext").addChildNode(new __XmlText(input.KMSContext)).withName("KMSContext"); + bodyNode.addChildNode(node); + } if (input.EncryptionType !== undefined) { const node = new __XmlNode("ServerSideEncryption") .addChildNode(new __XmlText(input.EncryptionType)) @@ -9673,35 +10189,35 @@ const serializeAws_restXmlGlacierJobParameters = (input: GlacierJobParameters, c const serializeAws_restXmlGrant = (input: Grant, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Grant"); - if (input.Permission !== undefined) { - const node = new __XmlNode("Permission").addChildNode(new __XmlText(input.Permission)).withName("Permission"); - bodyNode.addChildNode(node); - } if (input.Grantee !== undefined) { const node = serializeAws_restXmlGrantee(input.Grantee, context).withName("Grantee"); bodyNode.addChildNode(node); } + if (input.Permission !== undefined) { + const node = new __XmlNode("Permission").addChildNode(new __XmlText(input.Permission)).withName("Permission"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlGrantee = (input: Grantee, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Grantee"); - if (input.ID !== undefined) { - const node = new __XmlNode("ID").addChildNode(new __XmlText(input.ID)).withName("ID"); + if (input.EmailAddress !== undefined) { + const node = new __XmlNode("EmailAddress").addChildNode(new __XmlText(input.EmailAddress)).withName("EmailAddress"); bodyNode.addChildNode(node); } if (input.DisplayName !== undefined) { const node = new __XmlNode("DisplayName").addChildNode(new __XmlText(input.DisplayName)).withName("DisplayName"); bodyNode.addChildNode(node); } - if (input.EmailAddress !== undefined) { - const node = new __XmlNode("EmailAddress").addChildNode(new __XmlText(input.EmailAddress)).withName("EmailAddress"); - bodyNode.addChildNode(node); - } if (input.URI !== undefined) { const node = new __XmlNode("URI").addChildNode(new __XmlText(input.URI)).withName("URI"); bodyNode.addChildNode(node); } + if (input.ID !== undefined) { + const node = new __XmlNode("ID").addChildNode(new __XmlText(input.ID)).withName("ID"); + bodyNode.addChildNode(node); + } if (input.Type !== undefined) { bodyNode.addAttribute("xsi:type", input.Type); } @@ -9726,6 +10242,10 @@ const serializeAws_restXmlIndexDocument = (input: IndexDocument, context: __Serd const serializeAws_restXmlInputSerialization = (input: InputSerialization, context: __SerdeContext): any => { const bodyNode = new __XmlNode("InputSerialization"); + if (input.JSON !== undefined) { + const node = serializeAws_restXmlJSONInput(input.JSON, context).withName("JSON"); + bodyNode.addChildNode(node); + } if (input.CompressionType !== undefined) { const node = new __XmlNode("CompressionType") .addChildNode(new __XmlText(input.CompressionType)) @@ -9740,15 +10260,29 @@ const serializeAws_restXmlInputSerialization = (input: InputSerialization, conte const node = serializeAws_restXmlCSVInput(input.CSV, context).withName("CSV"); bodyNode.addChildNode(node); } - if (input.JSON !== undefined) { - const node = serializeAws_restXmlJSONInput(input.JSON, context).withName("JSON"); - bodyNode.addChildNode(node); - } return bodyNode; }; const serializeAws_restXmlInventoryConfiguration = (input: InventoryConfiguration, context: __SerdeContext): any => { const bodyNode = new __XmlNode("InventoryConfiguration"); + if (input.IncludedObjectVersions !== undefined) { + const node = new __XmlNode("InventoryIncludedObjectVersions") + .addChildNode(new __XmlText(input.IncludedObjectVersions)) + .withName("IncludedObjectVersions"); + bodyNode.addChildNode(node); + } + if (input.IsEnabled !== undefined) { + const node = new __XmlNode("IsEnabled").addChildNode(new __XmlText(String(input.IsEnabled))).withName("IsEnabled"); + bodyNode.addChildNode(node); + } + if (input.Schedule !== undefined) { + const node = serializeAws_restXmlInventorySchedule(input.Schedule, context).withName("Schedule"); + bodyNode.addChildNode(node); + } + if (input.Filter !== undefined) { + const node = serializeAws_restXmlInventoryFilter(input.Filter, context).withName("Filter"); + bodyNode.addChildNode(node); + } if (input.OptionalFields !== undefined) { const nodes = serializeAws_restXmlInventoryOptionalFields(input.OptionalFields, context); const containerNode = new __XmlNode("OptionalFields"); @@ -9765,24 +10299,6 @@ const serializeAws_restXmlInventoryConfiguration = (input: InventoryConfiguratio const node = new __XmlNode("InventoryId").addChildNode(new __XmlText(input.Id)).withName("Id"); bodyNode.addChildNode(node); } - if (input.Filter !== undefined) { - const node = serializeAws_restXmlInventoryFilter(input.Filter, context).withName("Filter"); - bodyNode.addChildNode(node); - } - if (input.Schedule !== undefined) { - const node = serializeAws_restXmlInventorySchedule(input.Schedule, context).withName("Schedule"); - bodyNode.addChildNode(node); - } - if (input.IsEnabled !== undefined) { - const node = new __XmlNode("IsEnabled").addChildNode(new __XmlText(String(input.IsEnabled))).withName("IsEnabled"); - bodyNode.addChildNode(node); - } - if (input.IncludedObjectVersions !== undefined) { - const node = new __XmlNode("InventoryIncludedObjectVersions") - .addChildNode(new __XmlText(input.IncludedObjectVersions)) - .withName("IncludedObjectVersions"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -9799,14 +10315,14 @@ const serializeAws_restXmlInventoryDestination = (input: InventoryDestination, c const serializeAws_restXmlInventoryEncryption = (input: InventoryEncryption, context: __SerdeContext): any => { const bodyNode = new __XmlNode("InventoryEncryption"); - if (input.SSES3 !== undefined) { - const node = serializeAws_restXmlSSES3(input.SSES3, context).withName("SSE-S3"); - bodyNode.addChildNode(node); - } if (input.SSEKMS !== undefined) { const node = serializeAws_restXmlSSEKMS(input.SSEKMS, context).withName("SSE-KMS"); bodyNode.addChildNode(node); } + if (input.SSES3 !== undefined) { + const node = serializeAws_restXmlSSES3(input.SSES3, context).withName("SSE-S3"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -9834,12 +10350,8 @@ const serializeAws_restXmlInventoryS3BucketDestination = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("InventoryS3BucketDestination"); - if (input.Bucket !== undefined) { - const node = new __XmlNode("BucketName").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); - bodyNode.addChildNode(node); - } - if (input.AccountId !== undefined) { - const node = new __XmlNode("AccountId").addChildNode(new __XmlText(input.AccountId)).withName("AccountId"); + if (input.Format !== undefined) { + const node = new __XmlNode("InventoryFormat").addChildNode(new __XmlText(input.Format)).withName("Format"); bodyNode.addChildNode(node); } if (input.Encryption !== undefined) { @@ -9850,8 +10362,12 @@ const serializeAws_restXmlInventoryS3BucketDestination = ( const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); bodyNode.addChildNode(node); } - if (input.Format !== undefined) { - const node = new __XmlNode("InventoryFormat").addChildNode(new __XmlText(input.Format)).withName("Format"); + if (input.Bucket !== undefined) { + const node = new __XmlNode("BucketName").addChildNode(new __XmlText(input.Bucket)).withName("Bucket"); + bodyNode.addChildNode(node); + } + if (input.AccountId !== undefined) { + const node = new __XmlNode("AccountId").addChildNode(new __XmlText(input.AccountId)).withName("AccountId"); bodyNode.addChildNode(node); } return bodyNode; @@ -9891,16 +10407,6 @@ const serializeAws_restXmlLambdaFunctionConfiguration = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("LambdaFunctionConfiguration"); - if (input.LambdaFunctionArn !== undefined) { - const node = new __XmlNode("LambdaFunctionArn") - .addChildNode(new __XmlText(input.LambdaFunctionArn)) - .withName("CloudFunction"); - bodyNode.addChildNode(node); - } - if (input.Id !== undefined) { - const node = new __XmlNode("NotificationId").addChildNode(new __XmlText(input.Id)).withName("Id"); - bodyNode.addChildNode(node); - } if (input.Events !== undefined) { const nodes = serializeAws_restXmlEventList(input.Events, context); nodes.map((node: any) => { @@ -9912,6 +10418,16 @@ const serializeAws_restXmlLambdaFunctionConfiguration = ( const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName("Filter"); bodyNode.addChildNode(node); } + if (input.LambdaFunctionArn !== undefined) { + const node = new __XmlNode("LambdaFunctionArn") + .addChildNode(new __XmlText(input.LambdaFunctionArn)) + .withName("CloudFunction"); + bodyNode.addChildNode(node); + } + if (input.Id !== undefined) { + const node = new __XmlNode("NotificationId").addChildNode(new __XmlText(input.Id)).withName("Id"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -9927,10 +10443,8 @@ const serializeAws_restXmlLambdaFunctionConfigurationList = ( const serializeAws_restXmlLifecycleExpiration = (input: LifecycleExpiration, context: __SerdeContext): any => { const bodyNode = new __XmlNode("LifecycleExpiration"); - if (input.Date !== undefined) { - const node = new __XmlNode("Date") - .addChildNode(new __XmlText(input.Date.toISOString().split(".")[0] + "Z")) - .withName("Date"); + if (input.Days !== undefined) { + const node = new __XmlNode("Days").addChildNode(new __XmlText(String(input.Days))).withName("Days"); bodyNode.addChildNode(node); } if (input.ExpiredObjectDeleteMarker !== undefined) { @@ -9939,8 +10453,10 @@ const serializeAws_restXmlLifecycleExpiration = (input: LifecycleExpiration, con .withName("ExpiredObjectDeleteMarker"); bodyNode.addChildNode(node); } - if (input.Days !== undefined) { - const node = new __XmlNode("Days").addChildNode(new __XmlText(String(input.Days))).withName("Days"); + if (input.Date !== undefined) { + const node = new __XmlNode("Date") + .addChildNode(new __XmlText(input.Date.toISOString().split(".")[0] + "Z")) + .withName("Date"); bodyNode.addChildNode(node); } return bodyNode; @@ -9948,21 +10464,6 @@ const serializeAws_restXmlLifecycleExpiration = (input: LifecycleExpiration, con const serializeAws_restXmlLifecycleRule = (input: LifecycleRule, context: __SerdeContext): any => { const bodyNode = new __XmlNode("LifecycleRule"); - if (input.ID !== undefined) { - const node = new __XmlNode("ID").addChildNode(new __XmlText(input.ID)).withName("ID"); - bodyNode.addChildNode(node); - } - if (input.Status !== undefined) { - const node = new __XmlNode("ExpirationStatus").addChildNode(new __XmlText(input.Status)).withName("Status"); - bodyNode.addChildNode(node); - } - if (input.AbortIncompleteMultipartUpload !== undefined) { - const node = serializeAws_restXmlAbortIncompleteMultipartUpload( - input.AbortIncompleteMultipartUpload, - context - ).withName("AbortIncompleteMultipartUpload"); - bodyNode.addChildNode(node); - } if (input.NoncurrentVersionTransitions !== undefined) { const nodes = serializeAws_restXmlNoncurrentVersionTransitionList(input.NoncurrentVersionTransitions, context); nodes.map((node: any) => { @@ -9970,8 +10471,12 @@ const serializeAws_restXmlLifecycleRule = (input: LifecycleRule, context: __Serd bodyNode.addChildNode(node); }); } - if (input.Prefix !== undefined) { - const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); + if (input.Expiration !== undefined) { + const node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName("Expiration"); + bodyNode.addChildNode(node); + } + if (input.ID !== undefined) { + const node = new __XmlNode("ID").addChildNode(new __XmlText(input.ID)).withName("ID"); bodyNode.addChildNode(node); } if (input.Transitions !== undefined) { @@ -9981,12 +10486,8 @@ const serializeAws_restXmlLifecycleRule = (input: LifecycleRule, context: __Serd bodyNode.addChildNode(node); }); } - if (input.Filter !== undefined) { - const node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName("Filter"); - bodyNode.addChildNode(node); - } - if (input.Expiration !== undefined) { - const node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName("Expiration"); + if (input.Prefix !== undefined) { + const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); bodyNode.addChildNode(node); } if (input.NoncurrentVersionExpiration !== undefined) { @@ -9995,6 +10496,21 @@ const serializeAws_restXmlLifecycleRule = (input: LifecycleRule, context: __Serd ); bodyNode.addChildNode(node); } + if (input.AbortIncompleteMultipartUpload !== undefined) { + const node = serializeAws_restXmlAbortIncompleteMultipartUpload( + input.AbortIncompleteMultipartUpload, + context + ).withName("AbortIncompleteMultipartUpload"); + bodyNode.addChildNode(node); + } + if (input.Filter !== undefined) { + const node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName("Filter"); + bodyNode.addChildNode(node); + } + if (input.Status !== undefined) { + const node = new __XmlNode("ExpirationStatus").addChildNode(new __XmlText(input.Status)).withName("Status"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10003,6 +10519,10 @@ const serializeAws_restXmlLifecycleRuleAndOperator = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("LifecycleRuleAndOperator"); + if (input.Prefix !== undefined) { + const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); + bodyNode.addChildNode(node); + } if (input.Tags !== undefined) { const nodes = serializeAws_restXmlTagSet(input.Tags, context); nodes.map((node: any) => { @@ -10010,10 +10530,6 @@ const serializeAws_restXmlLifecycleRuleAndOperator = ( bodyNode.addChildNode(node); }); } - if (input.Prefix !== undefined) { - const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); - bodyNode.addChildNode(node); - } return bodyNode; }; @@ -10043,14 +10559,6 @@ const serializeAws_restXmlLifecycleRules = (input: LifecycleRule[], context: __S const serializeAws_restXmlLoggingEnabled = (input: LoggingEnabled, context: __SerdeContext): any => { const bodyNode = new __XmlNode("LoggingEnabled"); - if (input.TargetBucket !== undefined) { - const node = new __XmlNode("TargetBucket").addChildNode(new __XmlText(input.TargetBucket)).withName("TargetBucket"); - bodyNode.addChildNode(node); - } - if (input.TargetPrefix !== undefined) { - const node = new __XmlNode("TargetPrefix").addChildNode(new __XmlText(input.TargetPrefix)).withName("TargetPrefix"); - bodyNode.addChildNode(node); - } if (input.TargetGrants !== undefined) { const nodes = serializeAws_restXmlTargetGrants(input.TargetGrants, context); const containerNode = new __XmlNode("TargetGrants"); @@ -10059,32 +10567,40 @@ const serializeAws_restXmlLoggingEnabled = (input: LoggingEnabled, context: __Se }); bodyNode.addChildNode(containerNode); } + if (input.TargetBucket !== undefined) { + const node = new __XmlNode("TargetBucket").addChildNode(new __XmlText(input.TargetBucket)).withName("TargetBucket"); + bodyNode.addChildNode(node); + } + if (input.TargetPrefix !== undefined) { + const node = new __XmlNode("TargetPrefix").addChildNode(new __XmlText(input.TargetPrefix)).withName("TargetPrefix"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlMetadataEntry = (input: MetadataEntry, context: __SerdeContext): any => { const bodyNode = new __XmlNode("MetadataEntry"); - if (input.Name !== undefined) { - const node = new __XmlNode("MetadataKey").addChildNode(new __XmlText(input.Name)).withName("Name"); - bodyNode.addChildNode(node); - } if (input.Value !== undefined) { const node = new __XmlNode("MetadataValue").addChildNode(new __XmlText(input.Value)).withName("Value"); bodyNode.addChildNode(node); } + if (input.Name !== undefined) { + const node = new __XmlNode("MetadataKey").addChildNode(new __XmlText(input.Name)).withName("Name"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlMetrics = (input: Metrics, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Metrics"); - if (input.EventThreshold !== undefined) { - const node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName("EventThreshold"); - bodyNode.addChildNode(node); - } if (input.Status !== undefined) { const node = new __XmlNode("MetricsStatus").addChildNode(new __XmlText(input.Status)).withName("Status"); bodyNode.addChildNode(node); } + if (input.EventThreshold !== undefined) { + const node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName("EventThreshold"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10106,27 +10622,27 @@ const serializeAws_restXmlMetricsAndOperator = (input: MetricsAndOperator, conte const serializeAws_restXmlMetricsConfiguration = (input: MetricsConfiguration, context: __SerdeContext): any => { const bodyNode = new __XmlNode("MetricsConfiguration"); - if (input.Filter !== undefined) { - const node = serializeAws_restXmlMetricsFilter(input.Filter, context).withName("Filter"); - bodyNode.addChildNode(node); - } if (input.Id !== undefined) { const node = new __XmlNode("MetricsId").addChildNode(new __XmlText(input.Id)).withName("Id"); bodyNode.addChildNode(node); } + if (input.Filter !== undefined) { + const node = serializeAws_restXmlMetricsFilter(input.Filter, context).withName("Filter"); + bodyNode.addChildNode(node); + } return bodyNode; }; 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.And !== undefined) { const node = serializeAws_restXmlMetricsAndOperator(input.And, context).withName("And"); bodyNode.addChildNode(node); } + 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); @@ -10153,18 +10669,18 @@ const serializeAws_restXmlNoncurrentVersionTransition = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("NoncurrentVersionTransition"); - if (input.NoncurrentDays !== undefined) { - const node = new __XmlNode("Days") - .addChildNode(new __XmlText(String(input.NoncurrentDays))) - .withName("NoncurrentDays"); - bodyNode.addChildNode(node); - } if (input.StorageClass !== undefined) { const node = new __XmlNode("TransitionStorageClass") .addChildNode(new __XmlText(input.StorageClass)) .withName("StorageClass"); bodyNode.addChildNode(node); } + if (input.NoncurrentDays !== undefined) { + const node = new __XmlNode("Days") + .addChildNode(new __XmlText(String(input.NoncurrentDays))) + .withName("NoncurrentDays"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10183,10 +10699,10 @@ const serializeAws_restXmlNotificationConfiguration = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("NotificationConfiguration"); - if (input.LambdaFunctionConfigurations !== undefined) { - const nodes = serializeAws_restXmlLambdaFunctionConfigurationList(input.LambdaFunctionConfigurations, context); + if (input.TopicConfigurations !== undefined) { + const nodes = serializeAws_restXmlTopicConfigurationList(input.TopicConfigurations, context); nodes.map((node: any) => { - node = node.withName("CloudFunctionConfiguration"); + node = node.withName("TopicConfiguration"); bodyNode.addChildNode(node); }); } @@ -10197,10 +10713,10 @@ const serializeAws_restXmlNotificationConfiguration = ( bodyNode.addChildNode(node); }); } - if (input.TopicConfigurations !== undefined) { - const nodes = serializeAws_restXmlTopicConfigurationList(input.TopicConfigurations, context); + if (input.LambdaFunctionConfigurations !== undefined) { + const nodes = serializeAws_restXmlLambdaFunctionConfigurationList(input.LambdaFunctionConfigurations, context); nodes.map((node: any) => { - node = node.withName("TopicConfiguration"); + node = node.withName("CloudFunctionConfiguration"); bodyNode.addChildNode(node); }); } @@ -10300,14 +10816,14 @@ const serializeAws_restXmlOutputLocation = (input: OutputLocation, context: __Se const serializeAws_restXmlOutputSerialization = (input: OutputSerialization, context: __SerdeContext): any => { const bodyNode = new __XmlNode("OutputSerialization"); - if (input.CSV !== undefined) { - const node = serializeAws_restXmlCSVOutput(input.CSV, context).withName("CSV"); - bodyNode.addChildNode(node); - } if (input.JSON !== undefined) { const node = serializeAws_restXmlJSONOutput(input.JSON, context).withName("JSON"); bodyNode.addChildNode(node); } + if (input.CSV !== undefined) { + const node = serializeAws_restXmlCSVOutput(input.CSV, context).withName("CSV"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10324,6 +10840,36 @@ const serializeAws_restXmlOwner = (input: Owner, context: __SerdeContext): any = return bodyNode; }; +const serializeAws_restXmlOwnershipControls = (input: OwnershipControls, context: __SerdeContext): any => { + const bodyNode = new __XmlNode("OwnershipControls"); + if (input.Rules !== undefined) { + const nodes = serializeAws_restXmlOwnershipControlsRules(input.Rules, context); + nodes.map((node: any) => { + node = node.withName("Rule"); + bodyNode.addChildNode(node); + }); + } + return bodyNode; +}; + +const serializeAws_restXmlOwnershipControlsRule = (input: OwnershipControlsRule, context: __SerdeContext): any => { + const bodyNode = new __XmlNode("OwnershipControlsRule"); + if (input.ObjectOwnership !== undefined) { + const node = new __XmlNode("ObjectOwnership") + .addChildNode(new __XmlText(input.ObjectOwnership)) + .withName("ObjectOwnership"); + bodyNode.addChildNode(node); + } + return bodyNode; +}; + +const serializeAws_restXmlOwnershipControlsRules = (input: OwnershipControlsRule[], context: __SerdeContext): any => { + return input.map((entry) => { + const node = serializeAws_restXmlOwnershipControlsRule(entry, context); + return node.withName("member"); + }); +}; + const serializeAws_restXmlParquetInput = (input: ParquetInput, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ParquetInput"); return bodyNode; @@ -10334,10 +10880,10 @@ const serializeAws_restXmlPublicAccessBlockConfiguration = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("PublicAccessBlockConfiguration"); - if (input.RestrictPublicBuckets !== undefined) { + if (input.BlockPublicPolicy !== undefined) { const node = new __XmlNode("Setting") - .addChildNode(new __XmlText(String(input.RestrictPublicBuckets))) - .withName("RestrictPublicBuckets"); + .addChildNode(new __XmlText(String(input.BlockPublicPolicy))) + .withName("BlockPublicPolicy"); bodyNode.addChildNode(node); } if (input.BlockPublicAcls !== undefined) { @@ -10346,16 +10892,16 @@ const serializeAws_restXmlPublicAccessBlockConfiguration = ( .withName("BlockPublicAcls"); bodyNode.addChildNode(node); } - if (input.IgnorePublicAcls !== undefined) { + if (input.RestrictPublicBuckets !== undefined) { const node = new __XmlNode("Setting") - .addChildNode(new __XmlText(String(input.IgnorePublicAcls))) - .withName("IgnorePublicAcls"); + .addChildNode(new __XmlText(String(input.RestrictPublicBuckets))) + .withName("RestrictPublicBuckets"); bodyNode.addChildNode(node); } - if (input.BlockPublicPolicy !== undefined) { + if (input.IgnorePublicAcls !== undefined) { const node = new __XmlNode("Setting") - .addChildNode(new __XmlText(String(input.BlockPublicPolicy))) - .withName("BlockPublicPolicy"); + .addChildNode(new __XmlText(String(input.IgnorePublicAcls))) + .withName("IgnorePublicAcls"); bodyNode.addChildNode(node); } return bodyNode; @@ -10363,10 +10909,6 @@ const serializeAws_restXmlPublicAccessBlockConfiguration = ( const serializeAws_restXmlQueueConfiguration = (input: QueueConfiguration, context: __SerdeContext): any => { const bodyNode = new __XmlNode("QueueConfiguration"); - if (input.Id !== undefined) { - const node = new __XmlNode("NotificationId").addChildNode(new __XmlText(input.Id)).withName("Id"); - bodyNode.addChildNode(node); - } if (input.Events !== undefined) { const nodes = serializeAws_restXmlEventList(input.Events, context); nodes.map((node: any) => { @@ -10374,14 +10916,18 @@ const serializeAws_restXmlQueueConfiguration = (input: QueueConfiguration, conte bodyNode.addChildNode(node); }); } - if (input.QueueArn !== undefined) { - const node = new __XmlNode("QueueArn").addChildNode(new __XmlText(input.QueueArn)).withName("Queue"); + if (input.Id !== undefined) { + const node = new __XmlNode("NotificationId").addChildNode(new __XmlText(input.Id)).withName("Id"); bodyNode.addChildNode(node); } if (input.Filter !== undefined) { const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName("Filter"); bodyNode.addChildNode(node); } + if (input.QueueArn !== undefined) { + const node = new __XmlNode("QueueArn").addChildNode(new __XmlText(input.QueueArn)).withName("Queue"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10394,14 +10940,10 @@ const serializeAws_restXmlQueueConfigurationList = (input: QueueConfiguration[], const serializeAws_restXmlRedirect = (input: Redirect, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Redirect"); - if (input.Protocol !== undefined) { - const node = new __XmlNode("Protocol").addChildNode(new __XmlText(input.Protocol)).withName("Protocol"); - bodyNode.addChildNode(node); - } - if (input.ReplaceKeyWith !== undefined) { - const node = new __XmlNode("ReplaceKeyWith") - .addChildNode(new __XmlText(input.ReplaceKeyWith)) - .withName("ReplaceKeyWith"); + if (input.HttpRedirectCode !== undefined) { + const node = new __XmlNode("HttpRedirectCode") + .addChildNode(new __XmlText(input.HttpRedirectCode)) + .withName("HttpRedirectCode"); bodyNode.addChildNode(node); } if (input.ReplaceKeyPrefixWith !== undefined) { @@ -10410,14 +10952,18 @@ const serializeAws_restXmlRedirect = (input: Redirect, context: __SerdeContext): .withName("ReplaceKeyPrefixWith"); bodyNode.addChildNode(node); } + if (input.Protocol !== undefined) { + const node = new __XmlNode("Protocol").addChildNode(new __XmlText(input.Protocol)).withName("Protocol"); + bodyNode.addChildNode(node); + } if (input.HostName !== undefined) { const node = new __XmlNode("HostName").addChildNode(new __XmlText(input.HostName)).withName("HostName"); bodyNode.addChildNode(node); } - if (input.HttpRedirectCode !== undefined) { - const node = new __XmlNode("HttpRedirectCode") - .addChildNode(new __XmlText(input.HttpRedirectCode)) - .withName("HttpRedirectCode"); + if (input.ReplaceKeyWith !== undefined) { + const node = new __XmlNode("ReplaceKeyWith") + .addChildNode(new __XmlText(input.ReplaceKeyWith)) + .withName("ReplaceKeyWith"); bodyNode.addChildNode(node); } return bodyNode; @@ -10457,16 +11003,8 @@ const serializeAws_restXmlReplicationConfiguration = ( const serializeAws_restXmlReplicationRule = (input: ReplicationRule, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ReplicationRule"); - if (input.Status !== undefined) { - const node = new __XmlNode("ReplicationRuleStatus").addChildNode(new __XmlText(input.Status)).withName("Status"); - bodyNode.addChildNode(node); - } - if (input.Priority !== undefined) { - const node = new __XmlNode("Priority").addChildNode(new __XmlText(String(input.Priority))).withName("Priority"); - bodyNode.addChildNode(node); - } - if (input.Destination !== undefined) { - const node = serializeAws_restXmlDestination(input.Destination, context).withName("Destination"); + if (input.Prefix !== undefined) { + const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); bodyNode.addChildNode(node); } if (input.ID !== undefined) { @@ -10479,24 +11017,32 @@ const serializeAws_restXmlReplicationRule = (input: ReplicationRule, context: __ ); bodyNode.addChildNode(node); } - if (input.Prefix !== undefined) { - const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); + if (input.DeleteMarkerReplication !== undefined) { + const node = serializeAws_restXmlDeleteMarkerReplication(input.DeleteMarkerReplication, context).withName( + "DeleteMarkerReplication" + ); bodyNode.addChildNode(node); } if (input.Filter !== undefined) { const node = serializeAws_restXmlReplicationRuleFilter(input.Filter, context).withName("Filter"); bodyNode.addChildNode(node); } + if (input.Priority !== undefined) { + const node = new __XmlNode("Priority").addChildNode(new __XmlText(String(input.Priority))).withName("Priority"); + bodyNode.addChildNode(node); + } + if (input.Status !== undefined) { + const node = new __XmlNode("ReplicationRuleStatus").addChildNode(new __XmlText(input.Status)).withName("Status"); + bodyNode.addChildNode(node); + } if (input.ExistingObjectReplication !== undefined) { const node = serializeAws_restXmlExistingObjectReplication(input.ExistingObjectReplication, context).withName( "ExistingObjectReplication" ); bodyNode.addChildNode(node); } - if (input.DeleteMarkerReplication !== undefined) { - const node = serializeAws_restXmlDeleteMarkerReplication(input.DeleteMarkerReplication, context).withName( - "DeleteMarkerReplication" - ); + if (input.Destination !== undefined) { + const node = serializeAws_restXmlDestination(input.Destination, context).withName("Destination"); bodyNode.addChildNode(node); } return bodyNode; @@ -10507,6 +11053,10 @@ const serializeAws_restXmlReplicationRuleAndOperator = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("ReplicationRuleAndOperator"); + if (input.Prefix !== undefined) { + const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); + bodyNode.addChildNode(node); + } if (input.Tags !== undefined) { const nodes = serializeAws_restXmlTagSet(input.Tags, context); nodes.map((node: any) => { @@ -10514,25 +11064,21 @@ const serializeAws_restXmlReplicationRuleAndOperator = ( bodyNode.addChildNode(node); }); } - if (input.Prefix !== undefined) { - const node = new __XmlNode("Prefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); - bodyNode.addChildNode(node); - } return bodyNode; }; const serializeAws_restXmlReplicationRuleFilter = (input: ReplicationRuleFilter, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ReplicationRuleFilter"); - if (input.And !== undefined) { - const node = serializeAws_restXmlReplicationRuleAndOperator(input.And, context).withName("And"); + if (input.Tag !== undefined) { + const node = serializeAws_restXmlTag(input.Tag, context).withName("Tag"); bodyNode.addChildNode(node); } 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"); + if (input.And !== undefined) { + const node = serializeAws_restXmlReplicationRuleAndOperator(input.And, context).withName("And"); bodyNode.addChildNode(node); } return bodyNode; @@ -10547,14 +11093,14 @@ const serializeAws_restXmlReplicationRules = (input: ReplicationRule[], context: const serializeAws_restXmlReplicationTime = (input: ReplicationTime, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ReplicationTime"); - if (input.Status !== undefined) { - const node = new __XmlNode("ReplicationTimeStatus").addChildNode(new __XmlText(input.Status)).withName("Status"); - bodyNode.addChildNode(node); - } if (input.Time !== undefined) { const node = serializeAws_restXmlReplicationTimeValue(input.Time, context).withName("Time"); bodyNode.addChildNode(node); } + if (input.Status !== undefined) { + const node = new __XmlNode("ReplicationTimeStatus").addChildNode(new __XmlText(input.Status)).withName("Status"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10592,20 +11138,12 @@ const serializeAws_restXmlRequestProgress = (input: RequestProgress, context: __ const serializeAws_restXmlRestoreRequest = (input: RestoreRequest, context: __SerdeContext): any => { const bodyNode = new __XmlNode("RestoreRequest"); - if (input.Description !== undefined) { - const node = new __XmlNode("Description").addChildNode(new __XmlText(input.Description)).withName("Description"); - bodyNode.addChildNode(node); - } if (input.GlacierJobParameters !== undefined) { const node = serializeAws_restXmlGlacierJobParameters(input.GlacierJobParameters, context).withName( "GlacierJobParameters" ); bodyNode.addChildNode(node); } - if (input.Tier !== undefined) { - const node = new __XmlNode("Tier").addChildNode(new __XmlText(input.Tier)).withName("Tier"); - bodyNode.addChildNode(node); - } if (input.Days !== undefined) { const node = new __XmlNode("Days").addChildNode(new __XmlText(String(input.Days))).withName("Days"); bodyNode.addChildNode(node); @@ -10618,6 +11156,14 @@ const serializeAws_restXmlRestoreRequest = (input: RestoreRequest, context: __Se const node = serializeAws_restXmlSelectParameters(input.SelectParameters, context).withName("SelectParameters"); bodyNode.addChildNode(node); } + if (input.Tier !== undefined) { + const node = new __XmlNode("Tier").addChildNode(new __XmlText(input.Tier)).withName("Tier"); + bodyNode.addChildNode(node); + } + if (input.Description !== undefined) { + const node = new __XmlNode("Description").addChildNode(new __XmlText(input.Description)).withName("Description"); + bodyNode.addChildNode(node); + } if (input.Type !== undefined) { const node = new __XmlNode("RestoreRequestType").addChildNode(new __XmlText(input.Type)).withName("Type"); bodyNode.addChildNode(node); @@ -10627,14 +11173,14 @@ const serializeAws_restXmlRestoreRequest = (input: RestoreRequest, context: __Se const serializeAws_restXmlRoutingRule = (input: RoutingRule, context: __SerdeContext): any => { const bodyNode = new __XmlNode("RoutingRule"); - if (input.Condition !== undefined) { - const node = serializeAws_restXmlCondition(input.Condition, context).withName("Condition"); - bodyNode.addChildNode(node); - } if (input.Redirect !== undefined) { const node = serializeAws_restXmlRedirect(input.Redirect, context).withName("Redirect"); bodyNode.addChildNode(node); } + if (input.Condition !== undefined) { + const node = serializeAws_restXmlCondition(input.Condition, context).withName("Condition"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10659,13 +11205,9 @@ const serializeAws_restXmlS3KeyFilter = (input: S3KeyFilter, context: __SerdeCon const serializeAws_restXmlS3Location = (input: S3Location, context: __SerdeContext): any => { const bodyNode = new __XmlNode("S3Location"); - if (input.UserMetadata !== undefined) { - const nodes = serializeAws_restXmlUserMetadata(input.UserMetadata, context); - const containerNode = new __XmlNode("UserMetadata"); - nodes.map((node: any) => { - containerNode.addChildNode(node); - }); - bodyNode.addChildNode(containerNode); + if (input.BucketName !== undefined) { + const node = new __XmlNode("BucketName").addChildNode(new __XmlText(input.BucketName)).withName("BucketName"); + bodyNode.addChildNode(node); } if (input.StorageClass !== undefined) { const node = new __XmlNode("StorageClass").addChildNode(new __XmlText(input.StorageClass)).withName("StorageClass"); @@ -10675,16 +11217,24 @@ const serializeAws_restXmlS3Location = (input: S3Location, context: __SerdeConte const node = new __XmlNode("ObjectCannedACL").addChildNode(new __XmlText(input.CannedACL)).withName("CannedACL"); bodyNode.addChildNode(node); } - if (input.Encryption !== undefined) { - const node = serializeAws_restXmlEncryption(input.Encryption, context).withName("Encryption"); - bodyNode.addChildNode(node); + if (input.UserMetadata !== undefined) { + const nodes = serializeAws_restXmlUserMetadata(input.UserMetadata, context); + const containerNode = new __XmlNode("UserMetadata"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); } if (input.Prefix !== undefined) { const node = new __XmlNode("LocationPrefix").addChildNode(new __XmlText(input.Prefix)).withName("Prefix"); bodyNode.addChildNode(node); } - if (input.BucketName !== undefined) { - const node = new __XmlNode("BucketName").addChildNode(new __XmlText(input.BucketName)).withName("BucketName"); + if (input.Tagging !== undefined) { + const node = serializeAws_restXmlTagging(input.Tagging, context).withName("Tagging"); + bodyNode.addChildNode(node); + } + if (input.Encryption !== undefined) { + const node = serializeAws_restXmlEncryption(input.Encryption, context).withName("Encryption"); bodyNode.addChildNode(node); } if (input.AccessControlList !== undefined) { @@ -10695,38 +11245,24 @@ const serializeAws_restXmlS3Location = (input: S3Location, context: __SerdeConte }); bodyNode.addChildNode(containerNode); } - if (input.Tagging !== undefined) { - const node = serializeAws_restXmlTagging(input.Tagging, context).withName("Tagging"); - bodyNode.addChildNode(node); - } return bodyNode; }; const serializeAws_restXmlScanRange = (input: ScanRange, context: __SerdeContext): any => { const bodyNode = new __XmlNode("ScanRange"); - if (input.Start !== undefined) { - const node = new __XmlNode("Start").addChildNode(new __XmlText(String(input.Start))).withName("Start"); - bodyNode.addChildNode(node); - } if (input.End !== undefined) { const node = new __XmlNode("End").addChildNode(new __XmlText(String(input.End))).withName("End"); bodyNode.addChildNode(node); } + if (input.Start !== undefined) { + const node = new __XmlNode("Start").addChildNode(new __XmlText(String(input.Start))).withName("Start"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlSelectParameters = (input: SelectParameters, context: __SerdeContext): any => { const bodyNode = new __XmlNode("SelectParameters"); - if (input.Expression !== undefined) { - const node = new __XmlNode("Expression").addChildNode(new __XmlText(input.Expression)).withName("Expression"); - bodyNode.addChildNode(node); - } - if (input.InputSerialization !== undefined) { - const node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName( - "InputSerialization" - ); - bodyNode.addChildNode(node); - } if (input.ExpressionType !== undefined) { const node = new __XmlNode("ExpressionType") .addChildNode(new __XmlText(input.ExpressionType)) @@ -10739,6 +11275,16 @@ const serializeAws_restXmlSelectParameters = (input: SelectParameters, context: ); bodyNode.addChildNode(node); } + if (input.Expression !== undefined) { + const node = new __XmlNode("Expression").addChildNode(new __XmlText(input.Expression)).withName("Expression"); + bodyNode.addChildNode(node); + } + if (input.InputSerialization !== undefined) { + const node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName( + "InputSerialization" + ); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10747,18 +11293,18 @@ const serializeAws_restXmlServerSideEncryptionByDefault = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("ServerSideEncryptionByDefault"); - if (input.KMSMasterKeyID !== undefined) { - const node = new __XmlNode("SSEKMSKeyId") - .addChildNode(new __XmlText(input.KMSMasterKeyID)) - .withName("KMSMasterKeyID"); - bodyNode.addChildNode(node); - } if (input.SSEAlgorithm !== undefined) { const node = new __XmlNode("ServerSideEncryption") .addChildNode(new __XmlText(input.SSEAlgorithm)) .withName("SSEAlgorithm"); bodyNode.addChildNode(node); } + if (input.KMSMasterKeyID !== undefined) { + const node = new __XmlNode("SSEKMSKeyId") + .addChildNode(new __XmlText(input.KMSMasterKeyID)) + .withName("KMSMasterKeyID"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10852,29 +11398,29 @@ const serializeAws_restXmlStorageClassAnalysisDataExport = ( context: __SerdeContext ): any => { const bodyNode = new __XmlNode("StorageClassAnalysisDataExport"); - if (input.Destination !== undefined) { - const node = serializeAws_restXmlAnalyticsExportDestination(input.Destination, context).withName("Destination"); - bodyNode.addChildNode(node); - } if (input.OutputSchemaVersion !== undefined) { const node = new __XmlNode("StorageClassAnalysisSchemaVersion") .addChildNode(new __XmlText(input.OutputSchemaVersion)) .withName("OutputSchemaVersion"); bodyNode.addChildNode(node); } + if (input.Destination !== undefined) { + const node = serializeAws_restXmlAnalyticsExportDestination(input.Destination, context).withName("Destination"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlTag = (input: Tag, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Tag"); - if (input.Key !== undefined) { - const node = new __XmlNode("ObjectKey").addChildNode(new __XmlText(input.Key)).withName("Key"); - bodyNode.addChildNode(node); - } if (input.Value !== undefined) { const node = new __XmlNode("Value").addChildNode(new __XmlText(input.Value)).withName("Value"); bodyNode.addChildNode(node); } + if (input.Key !== undefined) { + const node = new __XmlNode("ObjectKey").addChildNode(new __XmlText(input.Key)).withName("Key"); + bodyNode.addChildNode(node); + } return bodyNode; }; @@ -10922,6 +11468,17 @@ const serializeAws_restXmlTargetGrants = (input: TargetGrant[], context: __Serde const serializeAws_restXmlTopicConfiguration = (input: TopicConfiguration, context: __SerdeContext): any => { const bodyNode = new __XmlNode("TopicConfiguration"); + if (input.Events !== undefined) { + const nodes = serializeAws_restXmlEventList(input.Events, context); + nodes.map((node: any) => { + node = node.withName("Event"); + bodyNode.addChildNode(node); + }); + } + if (input.Filter !== undefined) { + const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName("Filter"); + bodyNode.addChildNode(node); + } if (input.TopicArn !== undefined) { const node = new __XmlNode("TopicArn").addChildNode(new __XmlText(input.TopicArn)).withName("Topic"); bodyNode.addChildNode(node); @@ -10930,17 +11487,6 @@ const serializeAws_restXmlTopicConfiguration = (input: TopicConfiguration, conte const node = new __XmlNode("NotificationId").addChildNode(new __XmlText(input.Id)).withName("Id"); bodyNode.addChildNode(node); } - if (input.Filter !== undefined) { - const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName("Filter"); - bodyNode.addChildNode(node); - } - if (input.Events !== undefined) { - const nodes = serializeAws_restXmlEventList(input.Events, context); - nodes.map((node: any) => { - node = node.withName("Event"); - bodyNode.addChildNode(node); - }); - } return bodyNode; }; @@ -10953,16 +11499,16 @@ const serializeAws_restXmlTopicConfigurationList = (input: TopicConfiguration[], const serializeAws_restXmlTransition = (input: Transition, context: __SerdeContext): any => { const bodyNode = new __XmlNode("Transition"); + if (input.Days !== undefined) { + const node = new __XmlNode("Days").addChildNode(new __XmlText(String(input.Days))).withName("Days"); + bodyNode.addChildNode(node); + } if (input.Date !== undefined) { const node = new __XmlNode("Date") .addChildNode(new __XmlText(input.Date.toISOString().split(".")[0] + "Z")) .withName("Date"); bodyNode.addChildNode(node); } - if (input.Days !== undefined) { - const node = new __XmlNode("Days").addChildNode(new __XmlText(String(input.Days))).withName("Days"); - bodyNode.addChildNode(node); - } if (input.StorageClass !== undefined) { const node = new __XmlNode("TransitionStorageClass") .addChildNode(new __XmlText(input.StorageClass)) @@ -10988,29 +11534,21 @@ const serializeAws_restXmlUserMetadata = (input: MetadataEntry[], context: __Ser const serializeAws_restXmlVersioningConfiguration = (input: VersioningConfiguration, context: __SerdeContext): any => { const bodyNode = new __XmlNode("VersioningConfiguration"); - if (input.MFADelete !== undefined) { - const node = new __XmlNode("MFADelete").addChildNode(new __XmlText(input.MFADelete)).withName("MfaDelete"); - bodyNode.addChildNode(node); - } if (input.Status !== undefined) { const node = new __XmlNode("BucketVersioningStatus").addChildNode(new __XmlText(input.Status)).withName("Status"); bodyNode.addChildNode(node); } + if (input.MFADelete !== undefined) { + const node = new __XmlNode("MFADelete").addChildNode(new __XmlText(input.MFADelete)).withName("MfaDelete"); + bodyNode.addChildNode(node); + } return bodyNode; }; const serializeAws_restXmlWebsiteConfiguration = (input: WebsiteConfiguration, context: __SerdeContext): any => { const bodyNode = new __XmlNode("WebsiteConfiguration"); - if (input.RoutingRules !== undefined) { - const nodes = serializeAws_restXmlRoutingRules(input.RoutingRules, context); - const containerNode = new __XmlNode("RoutingRules"); - nodes.map((node: any) => { - containerNode.addChildNode(node); - }); - bodyNode.addChildNode(containerNode); - } - if (input.IndexDocument !== undefined) { - const node = serializeAws_restXmlIndexDocument(input.IndexDocument, context).withName("IndexDocument"); + if (input.ErrorDocument !== undefined) { + const node = serializeAws_restXmlErrorDocument(input.ErrorDocument, context).withName("ErrorDocument"); bodyNode.addChildNode(node); } if (input.RedirectAllRequestsTo !== undefined) { @@ -11019,10 +11557,18 @@ const serializeAws_restXmlWebsiteConfiguration = (input: WebsiteConfiguration, c ); bodyNode.addChildNode(node); } - if (input.ErrorDocument !== undefined) { - const node = serializeAws_restXmlErrorDocument(input.ErrorDocument, context).withName("ErrorDocument"); + if (input.IndexDocument !== undefined) { + const node = serializeAws_restXmlIndexDocument(input.IndexDocument, context).withName("IndexDocument"); bodyNode.addChildNode(node); } + if (input.RoutingRules !== undefined) { + const nodes = serializeAws_restXmlRoutingRules(input.RoutingRules, context); + const containerNode = new __XmlNode("RoutingRules"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); + } return bodyNode; }; @@ -11066,18 +11612,18 @@ const deserializeAws_restXmlAllowedOrigins = (output: any, context: __SerdeConte const deserializeAws_restXmlAnalyticsAndOperator = (output: any, context: __SerdeContext): AnalyticsAndOperator => { let contents: any = { - Tags: undefined, Prefix: undefined, + Tags: undefined, }; + if (output["Prefix"] !== undefined) { + contents.Prefix = output["Prefix"]; + } if (output.Tag === "") { contents.Tags = []; } if (output["Tag"] !== undefined) { contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output["Tag"]), context); } - if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; - } return contents; }; @@ -11124,19 +11670,19 @@ const deserializeAws_restXmlAnalyticsExportDestination = ( const deserializeAws_restXmlAnalyticsFilter = (output: any, context: __SerdeContext): AnalyticsFilter => { let contents: any = { - And: undefined, Prefix: undefined, Tag: undefined, + And: undefined, }; - if (output["And"] !== undefined) { - contents.And = deserializeAws_restXmlAnalyticsAndOperator(output["And"], context); - } if (output["Prefix"] !== undefined) { contents.Prefix = output["Prefix"]; } if (output["Tag"] !== undefined) { contents.Tag = deserializeAws_restXmlTag(output["Tag"], context); } + if (output["And"] !== undefined) { + contents.And = deserializeAws_restXmlAnalyticsAndOperator(output["And"], context); + } return contents; }; @@ -11145,22 +11691,22 @@ const deserializeAws_restXmlAnalyticsS3BucketDestination = ( context: __SerdeContext ): AnalyticsS3BucketDestination => { let contents: any = { - Format: undefined, Prefix: undefined, - Bucket: undefined, BucketAccountId: undefined, + Bucket: undefined, + Format: undefined, }; - if (output["Format"] !== undefined) { - contents.Format = output["Format"]; - } if (output["Prefix"] !== undefined) { contents.Prefix = output["Prefix"]; } + if (output["BucketAccountId"] !== undefined) { + contents.BucketAccountId = output["BucketAccountId"]; + } if (output["Bucket"] !== undefined) { contents.Bucket = output["Bucket"]; } - if (output["BucketAccountId"] !== undefined) { - contents.BucketAccountId = output["BucketAccountId"]; + if (output["Format"] !== undefined) { + contents.Format = output["Format"]; } return contents; }; @@ -11213,15 +11759,15 @@ const deserializeAws_restXmlCondition = (output: any, context: __SerdeContext): const deserializeAws_restXmlCopyObjectResult = (output: any, context: __SerdeContext): CopyObjectResult => { let contents: any = { - LastModified: undefined, ETag: undefined, + LastModified: undefined, }; - if (output["LastModified"] !== undefined) { - contents.LastModified = new Date(output["LastModified"]); - } if (output["ETag"] !== undefined) { contents.ETag = output["ETag"]; } + if (output["LastModified"] !== undefined) { + contents.LastModified = new Date(output["LastModified"]); + } return contents; }; @@ -11241,14 +11787,20 @@ const deserializeAws_restXmlCopyPartResult = (output: any, context: __SerdeConte const deserializeAws_restXmlCORSRule = (output: any, context: __SerdeContext): CORSRule => { let contents: any = { - MaxAgeSeconds: undefined, - AllowedOrigins: undefined, AllowedHeaders: undefined, - AllowedMethods: undefined, + AllowedOrigins: undefined, + MaxAgeSeconds: undefined, ExposeHeaders: undefined, + AllowedMethods: undefined, }; - if (output["MaxAgeSeconds"] !== undefined) { - contents.MaxAgeSeconds = parseInt(output["MaxAgeSeconds"]); + if (output.AllowedHeader === "") { + contents.AllowedHeaders = []; + } + if (output["AllowedHeader"] !== undefined) { + contents.AllowedHeaders = deserializeAws_restXmlAllowedHeaders( + __getArrayIfSingleItem(output["AllowedHeader"]), + context + ); } if (output.AllowedOrigin === "") { contents.AllowedOrigins = []; @@ -11259,12 +11811,15 @@ const deserializeAws_restXmlCORSRule = (output: any, context: __SerdeContext): C context ); } - if (output.AllowedHeader === "") { - contents.AllowedHeaders = []; + if (output["MaxAgeSeconds"] !== undefined) { + contents.MaxAgeSeconds = parseInt(output["MaxAgeSeconds"]); } - if (output["AllowedHeader"] !== undefined) { - contents.AllowedHeaders = deserializeAws_restXmlAllowedHeaders( - __getArrayIfSingleItem(output["AllowedHeader"]), + if (output.ExposeHeader === "") { + contents.ExposeHeaders = []; + } + if (output["ExposeHeader"] !== undefined) { + contents.ExposeHeaders = deserializeAws_restXmlExposeHeaders( + __getArrayIfSingleItem(output["ExposeHeader"]), context ); } @@ -11277,15 +11832,6 @@ const deserializeAws_restXmlCORSRule = (output: any, context: __SerdeContext): C context ); } - if (output.ExposeHeader === "") { - contents.ExposeHeaders = []; - } - if (output["ExposeHeader"] !== undefined) { - contents.ExposeHeaders = deserializeAws_restXmlExposeHeaders( - __getArrayIfSingleItem(output["ExposeHeader"]), - context - ); - } return contents; }; @@ -11295,16 +11841,16 @@ const deserializeAws_restXmlCORSRules = (output: any, context: __SerdeContext): const deserializeAws_restXmlDefaultRetention = (output: any, context: __SerdeContext): DefaultRetention => { let contents: any = { - Mode: undefined, Days: undefined, + Mode: undefined, Years: undefined, }; - if (output["Mode"] !== undefined) { - contents.Mode = output["Mode"]; - } if (output["Days"] !== undefined) { contents.Days = parseInt(output["Days"]); } + if (output["Mode"] !== undefined) { + contents.Mode = output["Mode"]; + } if (output["Years"] !== undefined) { contents.Years = parseInt(output["Years"]); } @@ -11313,23 +11859,23 @@ const deserializeAws_restXmlDefaultRetention = (output: any, context: __SerdeCon const deserializeAws_restXmlDeletedObject = (output: any, context: __SerdeContext): DeletedObject => { let contents: any = { - Key: undefined, - DeleteMarkerVersionId: undefined, DeleteMarker: undefined, + Key: undefined, VersionId: undefined, + DeleteMarkerVersionId: undefined, }; - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; - } - if (output["DeleteMarkerVersionId"] !== undefined) { - contents.DeleteMarkerVersionId = output["DeleteMarkerVersionId"]; - } if (output["DeleteMarker"] !== undefined) { contents.DeleteMarker = output["DeleteMarker"] == "true"; } + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; + } if (output["VersionId"] !== undefined) { contents.VersionId = output["VersionId"]; } + if (output["DeleteMarkerVersionId"] !== undefined) { + contents.DeleteMarkerVersionId = output["DeleteMarkerVersionId"]; + } return contents; }; @@ -11341,9 +11887,9 @@ const deserializeAws_restXmlDeleteMarkerEntry = (output: any, context: __SerdeCo let contents: any = { VersionId: undefined, LastModified: undefined, - Owner: undefined, - IsLatest: undefined, Key: undefined, + IsLatest: undefined, + Owner: undefined, }; if (output["VersionId"] !== undefined) { contents.VersionId = output["VersionId"]; @@ -11351,14 +11897,14 @@ const deserializeAws_restXmlDeleteMarkerEntry = (output: any, context: __SerdeCo if (output["LastModified"] !== undefined) { contents.LastModified = new Date(output["LastModified"]); } - if (output["Owner"] !== undefined) { - contents.Owner = deserializeAws_restXmlOwner(output["Owner"], context); + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; } if (output["IsLatest"] !== undefined) { contents.IsLatest = output["IsLatest"] == "true"; } - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; + if (output["Owner"] !== undefined) { + contents.Owner = deserializeAws_restXmlOwner(output["Owner"], context); } return contents; }; @@ -11382,26 +11928,14 @@ const deserializeAws_restXmlDeleteMarkers = (output: any, context: __SerdeContex const deserializeAws_restXmlDestination = (output: any, context: __SerdeContext): Destination => { let contents: any = { - StorageClass: undefined, - Metrics: undefined, - ReplicationTime: undefined, - Account: undefined, EncryptionConfiguration: undefined, Bucket: undefined, + Account: undefined, + StorageClass: undefined, + Metrics: undefined, AccessControlTranslation: undefined, + ReplicationTime: undefined, }; - if (output["StorageClass"] !== undefined) { - contents.StorageClass = output["StorageClass"]; - } - if (output["Metrics"] !== undefined) { - contents.Metrics = deserializeAws_restXmlMetrics(output["Metrics"], context); - } - if (output["ReplicationTime"] !== undefined) { - contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output["ReplicationTime"], context); - } - if (output["Account"] !== undefined) { - contents.Account = output["Account"]; - } if (output["EncryptionConfiguration"] !== undefined) { contents.EncryptionConfiguration = deserializeAws_restXmlEncryptionConfiguration( output["EncryptionConfiguration"], @@ -11411,12 +11945,24 @@ const deserializeAws_restXmlDestination = (output: any, context: __SerdeContext) if (output["Bucket"] !== undefined) { contents.Bucket = output["Bucket"]; } + if (output["Account"] !== undefined) { + contents.Account = output["Account"]; + } + if (output["StorageClass"] !== undefined) { + contents.StorageClass = output["StorageClass"]; + } + if (output["Metrics"] !== undefined) { + contents.Metrics = deserializeAws_restXmlMetrics(output["Metrics"], context); + } if (output["AccessControlTranslation"] !== undefined) { contents.AccessControlTranslation = deserializeAws_restXmlAccessControlTranslation( output["AccessControlTranslation"], context ); } + if (output["ReplicationTime"] !== undefined) { + contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output["ReplicationTime"], context); + } return contents; }; @@ -11435,19 +11981,19 @@ const deserializeAws_restXmlEncryptionConfiguration = ( const deserializeAws_restXml_Error = (output: any, context: __SerdeContext): _Error => { let contents: any = { - Key: undefined, - Code: undefined, Message: undefined, + Code: undefined, + Key: undefined, VersionId: undefined, }; - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; } if (output["Code"] !== undefined) { contents.Code = output["Code"]; } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; } if (output["VersionId"] !== undefined) { contents.VersionId = output["VersionId"]; @@ -11510,38 +12056,38 @@ const deserializeAws_restXmlFilterRuleList = (output: any, context: __SerdeConte const deserializeAws_restXmlGrant = (output: any, context: __SerdeContext): Grant => { let contents: any = { - Permission: undefined, Grantee: undefined, + Permission: undefined, }; - if (output["Permission"] !== undefined) { - contents.Permission = output["Permission"]; - } if (output["Grantee"] !== undefined) { contents.Grantee = deserializeAws_restXmlGrantee(output["Grantee"], context); } + if (output["Permission"] !== undefined) { + contents.Permission = output["Permission"]; + } return contents; }; const deserializeAws_restXmlGrantee = (output: any, context: __SerdeContext): Grantee => { let contents: any = { - ID: undefined, - DisplayName: undefined, EmailAddress: undefined, + DisplayName: undefined, URI: undefined, + ID: undefined, Type: undefined, }; - if (output["ID"] !== undefined) { - contents.ID = output["ID"]; + if (output["EmailAddress"] !== undefined) { + contents.EmailAddress = output["EmailAddress"]; } if (output["DisplayName"] !== undefined) { contents.DisplayName = output["DisplayName"]; } - if (output["EmailAddress"] !== undefined) { - contents.EmailAddress = output["EmailAddress"]; - } if (output["URI"] !== undefined) { contents.URI = output["URI"]; } + if (output["ID"] !== undefined) { + contents.ID = output["ID"]; + } if (output["xsi:type"] !== undefined) { contents.Type = output["xsi:type"]; } @@ -11578,14 +12124,26 @@ const deserializeAws_restXmlInitiator = (output: any, context: __SerdeContext): const deserializeAws_restXmlInventoryConfiguration = (output: any, context: __SerdeContext): InventoryConfiguration => { let contents: any = { + IncludedObjectVersions: undefined, + IsEnabled: undefined, + Schedule: undefined, + Filter: undefined, OptionalFields: undefined, Destination: undefined, Id: undefined, - Filter: undefined, - Schedule: undefined, - IsEnabled: undefined, - IncludedObjectVersions: undefined, }; + if (output["IncludedObjectVersions"] !== undefined) { + contents.IncludedObjectVersions = output["IncludedObjectVersions"]; + } + if (output["IsEnabled"] !== undefined) { + contents.IsEnabled = output["IsEnabled"] == "true"; + } + if (output["Schedule"] !== undefined) { + contents.Schedule = deserializeAws_restXmlInventorySchedule(output["Schedule"], context); + } + if (output["Filter"] !== undefined) { + contents.Filter = deserializeAws_restXmlInventoryFilter(output["Filter"], context); + } if (output.OptionalFields === "") { contents.OptionalFields = []; } @@ -11601,18 +12159,6 @@ const deserializeAws_restXmlInventoryConfiguration = (output: any, context: __Se if (output["Id"] !== undefined) { contents.Id = output["Id"]; } - if (output["Filter"] !== undefined) { - contents.Filter = deserializeAws_restXmlInventoryFilter(output["Filter"], context); - } - if (output["Schedule"] !== undefined) { - contents.Schedule = deserializeAws_restXmlInventorySchedule(output["Schedule"], context); - } - if (output["IsEnabled"] !== undefined) { - contents.IsEnabled = output["IsEnabled"] == "true"; - } - if (output["IncludedObjectVersions"] !== undefined) { - contents.IncludedObjectVersions = output["IncludedObjectVersions"]; - } return contents; }; @@ -11638,15 +12184,15 @@ const deserializeAws_restXmlInventoryDestination = (output: any, context: __Serd const deserializeAws_restXmlInventoryEncryption = (output: any, context: __SerdeContext): InventoryEncryption => { let contents: any = { - SSES3: undefined, SSEKMS: undefined, + SSES3: undefined, }; - if (output["SSE-S3"] !== undefined) { - contents.SSES3 = deserializeAws_restXmlSSES3(output["SSE-S3"], context); - } if (output["SSE-KMS"] !== undefined) { contents.SSEKMS = deserializeAws_restXmlSSEKMS(output["SSE-KMS"], context); } + if (output["SSE-S3"] !== undefined) { + contents.SSES3 = deserializeAws_restXmlSSES3(output["SSE-S3"], context); + } return contents; }; @@ -11672,17 +12218,14 @@ const deserializeAws_restXmlInventoryS3BucketDestination = ( context: __SerdeContext ): InventoryS3BucketDestination => { let contents: any = { - Bucket: undefined, - AccountId: undefined, + Format: undefined, Encryption: undefined, Prefix: undefined, - Format: undefined, + Bucket: undefined, + AccountId: undefined, }; - if (output["Bucket"] !== undefined) { - contents.Bucket = output["Bucket"]; - } - if (output["AccountId"] !== undefined) { - contents.AccountId = output["AccountId"]; + if (output["Format"] !== undefined) { + contents.Format = output["Format"]; } if (output["Encryption"] !== undefined) { contents.Encryption = deserializeAws_restXmlInventoryEncryption(output["Encryption"], context); @@ -11690,8 +12233,11 @@ const deserializeAws_restXmlInventoryS3BucketDestination = ( if (output["Prefix"] !== undefined) { contents.Prefix = output["Prefix"]; } - if (output["Format"] !== undefined) { - contents.Format = output["Format"]; + if (output["Bucket"] !== undefined) { + contents.Bucket = output["Bucket"]; + } + if (output["AccountId"] !== undefined) { + contents.AccountId = output["AccountId"]; } return contents; }; @@ -11711,17 +12257,11 @@ const deserializeAws_restXmlLambdaFunctionConfiguration = ( context: __SerdeContext ): LambdaFunctionConfiguration => { let contents: any = { - LambdaFunctionArn: undefined, - Id: undefined, Events: undefined, Filter: undefined, + LambdaFunctionArn: undefined, + Id: undefined, }; - if (output["CloudFunction"] !== undefined) { - contents.LambdaFunctionArn = output["CloudFunction"]; - } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; - } if (output.Event === "") { contents.Events = []; } @@ -11731,6 +12271,12 @@ const deserializeAws_restXmlLambdaFunctionConfiguration = ( if (output["Filter"] !== undefined) { contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output["Filter"], context); } + if (output["CloudFunction"] !== undefined) { + contents.LambdaFunctionArn = output["CloudFunction"]; + } + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; + } return contents; }; @@ -11743,46 +12289,34 @@ const deserializeAws_restXmlLambdaFunctionConfigurationList = ( const deserializeAws_restXmlLifecycleExpiration = (output: any, context: __SerdeContext): LifecycleExpiration => { let contents: any = { - Date: undefined, - ExpiredObjectDeleteMarker: undefined, Days: undefined, + ExpiredObjectDeleteMarker: undefined, + Date: undefined, }; - if (output["Date"] !== undefined) { - contents.Date = new Date(output["Date"]); + if (output["Days"] !== undefined) { + contents.Days = parseInt(output["Days"]); } if (output["ExpiredObjectDeleteMarker"] !== undefined) { contents.ExpiredObjectDeleteMarker = output["ExpiredObjectDeleteMarker"] == "true"; } - if (output["Days"] !== undefined) { - contents.Days = parseInt(output["Days"]); + if (output["Date"] !== undefined) { + contents.Date = new Date(output["Date"]); } return contents; }; const deserializeAws_restXmlLifecycleRule = (output: any, context: __SerdeContext): LifecycleRule => { let contents: any = { - ID: undefined, - Status: undefined, - AbortIncompleteMultipartUpload: undefined, NoncurrentVersionTransitions: undefined, - Prefix: undefined, - Transitions: undefined, - Filter: undefined, Expiration: undefined, + ID: undefined, + Transitions: undefined, + Prefix: undefined, NoncurrentVersionExpiration: undefined, + AbortIncompleteMultipartUpload: undefined, + Filter: undefined, + Status: undefined, }; - if (output["ID"] !== undefined) { - contents.ID = output["ID"]; - } - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["AbortIncompleteMultipartUpload"] !== undefined) { - contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload( - output["AbortIncompleteMultipartUpload"], - context - ); - } if (output.NoncurrentVersionTransition === "") { contents.NoncurrentVersionTransitions = []; } @@ -11792,8 +12326,11 @@ const deserializeAws_restXmlLifecycleRule = (output: any, context: __SerdeContex context ); } - if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; + if (output["Expiration"] !== undefined) { + contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output["Expiration"], context); + } + if (output["ID"] !== undefined) { + contents.ID = output["ID"]; } if (output.Transition === "") { contents.Transitions = []; @@ -11801,11 +12338,8 @@ const deserializeAws_restXmlLifecycleRule = (output: any, context: __SerdeContex if (output["Transition"] !== undefined) { contents.Transitions = deserializeAws_restXmlTransitionList(__getArrayIfSingleItem(output["Transition"]), context); } - if (output["Filter"] !== undefined) { - contents.Filter = deserializeAws_restXmlLifecycleRuleFilter(output["Filter"], context); - } - if (output["Expiration"] !== undefined) { - contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output["Expiration"], context); + if (output["Prefix"] !== undefined) { + contents.Prefix = output["Prefix"]; } if (output["NoncurrentVersionExpiration"] !== undefined) { contents.NoncurrentVersionExpiration = deserializeAws_restXmlNoncurrentVersionExpiration( @@ -11813,6 +12347,18 @@ const deserializeAws_restXmlLifecycleRule = (output: any, context: __SerdeContex context ); } + if (output["AbortIncompleteMultipartUpload"] !== undefined) { + contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload( + output["AbortIncompleteMultipartUpload"], + context + ); + } + if (output["Filter"] !== undefined) { + contents.Filter = deserializeAws_restXmlLifecycleRuleFilter(output["Filter"], context); + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } return contents; }; @@ -11821,18 +12367,18 @@ const deserializeAws_restXmlLifecycleRuleAndOperator = ( context: __SerdeContext ): LifecycleRuleAndOperator => { let contents: any = { - Tags: undefined, Prefix: undefined, + Tags: undefined, }; + if (output["Prefix"] !== undefined) { + contents.Prefix = output["Prefix"]; + } if (output.Tag === "") { contents.Tags = []; } if (output["Tag"] !== undefined) { contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output["Tag"]), context); } - if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; - } return contents; }; @@ -11860,16 +12406,10 @@ const deserializeAws_restXmlLifecycleRules = (output: any, context: __SerdeConte const deserializeAws_restXmlLoggingEnabled = (output: any, context: __SerdeContext): LoggingEnabled => { let contents: any = { + TargetGrants: undefined, TargetBucket: undefined, TargetPrefix: undefined, - TargetGrants: undefined, }; - if (output["TargetBucket"] !== undefined) { - contents.TargetBucket = output["TargetBucket"]; - } - if (output["TargetPrefix"] !== undefined) { - contents.TargetPrefix = output["TargetPrefix"]; - } if (output.TargetGrants === "") { contents.TargetGrants = []; } @@ -11879,20 +12419,26 @@ const deserializeAws_restXmlLoggingEnabled = (output: any, context: __SerdeConte context ); } + if (output["TargetBucket"] !== undefined) { + contents.TargetBucket = output["TargetBucket"]; + } + if (output["TargetPrefix"] !== undefined) { + contents.TargetPrefix = output["TargetPrefix"]; + } return contents; }; const deserializeAws_restXmlMetrics = (output: any, context: __SerdeContext): Metrics => { let contents: any = { - EventThreshold: undefined, Status: undefined, + EventThreshold: undefined, }; - if (output["EventThreshold"] !== undefined) { - contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output["EventThreshold"], context); - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["EventThreshold"] !== undefined) { + contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output["EventThreshold"], context); + } return contents; }; @@ -11915,15 +12461,15 @@ const deserializeAws_restXmlMetricsAndOperator = (output: any, context: __SerdeC const deserializeAws_restXmlMetricsConfiguration = (output: any, context: __SerdeContext): MetricsConfiguration => { let contents: any = { - Filter: undefined, Id: undefined, + Filter: undefined, }; - if (output["Filter"] !== undefined) { - contents.Filter = deserializeAws_restXmlMetricsFilter(output["Filter"], context); - } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } + if (output["Filter"] !== undefined) { + contents.Filter = deserializeAws_restXmlMetricsFilter(output["Filter"], context); + } return contents; }; @@ -11936,16 +12482,16 @@ const deserializeAws_restXmlMetricsConfigurationList = ( const deserializeAws_restXmlMetricsFilter = (output: any, context: __SerdeContext): MetricsFilter => { let contents: any = { - Prefix: undefined, And: undefined, + Prefix: undefined, Tag: undefined, }; - if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; - } if (output["And"] !== undefined) { contents.And = deserializeAws_restXmlMetricsAndOperator(output["And"], context); } + if (output["Prefix"] !== undefined) { + contents.Prefix = output["Prefix"]; + } if (output["Tag"] !== undefined) { contents.Tag = deserializeAws_restXmlTag(output["Tag"], context); } @@ -11954,31 +12500,31 @@ const deserializeAws_restXmlMetricsFilter = (output: any, context: __SerdeContex const deserializeAws_restXmlMultipartUpload = (output: any, context: __SerdeContext): MultipartUpload => { let contents: any = { - Key: undefined, + Initiator: undefined, UploadId: undefined, - Initiated: undefined, + Key: undefined, Owner: undefined, - Initiator: undefined, StorageClass: undefined, + Initiated: undefined, }; - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; + if (output["Initiator"] !== undefined) { + contents.Initiator = deserializeAws_restXmlInitiator(output["Initiator"], context); } if (output["UploadId"] !== undefined) { contents.UploadId = output["UploadId"]; } - if (output["Initiated"] !== undefined) { - contents.Initiated = new Date(output["Initiated"]); + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; } if (output["Owner"] !== undefined) { contents.Owner = deserializeAws_restXmlOwner(output["Owner"], context); } - if (output["Initiator"] !== undefined) { - contents.Initiator = deserializeAws_restXmlInitiator(output["Initiator"], context); - } if (output["StorageClass"] !== undefined) { contents.StorageClass = output["StorageClass"]; } + if (output["Initiated"] !== undefined) { + contents.Initiated = new Date(output["Initiated"]); + } return contents; }; @@ -12004,15 +12550,15 @@ const deserializeAws_restXmlNoncurrentVersionTransition = ( context: __SerdeContext ): NoncurrentVersionTransition => { let contents: any = { - NoncurrentDays: undefined, StorageClass: undefined, + NoncurrentDays: undefined, }; - if (output["NoncurrentDays"] !== undefined) { - contents.NoncurrentDays = parseInt(output["NoncurrentDays"]); - } if (output["StorageClass"] !== undefined) { contents.StorageClass = output["StorageClass"]; } + if (output["NoncurrentDays"] !== undefined) { + contents.NoncurrentDays = parseInt(output["NoncurrentDays"]); + } return contents; }; @@ -12038,31 +12584,31 @@ const deserializeAws_restXmlNotificationConfigurationFilter = ( const deserializeAws_restXml_Object = (output: any, context: __SerdeContext): _Object => { let contents: any = { + Size: undefined, + ETag: undefined, Owner: undefined, StorageClass: undefined, - LastModified: undefined, - ETag: undefined, - Size: undefined, Key: undefined, + LastModified: undefined, }; - if (output["Owner"] !== undefined) { - contents.Owner = deserializeAws_restXmlOwner(output["Owner"], context); - } - if (output["StorageClass"] !== undefined) { - contents.StorageClass = output["StorageClass"]; - } - if (output["LastModified"] !== undefined) { - contents.LastModified = new Date(output["LastModified"]); + if (output["Size"] !== undefined) { + contents.Size = parseInt(output["Size"]); } if (output["ETag"] !== undefined) { contents.ETag = output["ETag"]; } - if (output["Size"] !== undefined) { - contents.Size = parseInt(output["Size"]); + if (output["Owner"] !== undefined) { + contents.Owner = deserializeAws_restXmlOwner(output["Owner"], context); + } + if (output["StorageClass"] !== undefined) { + contents.StorageClass = output["StorageClass"]; } if (output["Key"] !== undefined) { contents.Key = output["Key"]; } + if (output["LastModified"] !== undefined) { + contents.LastModified = new Date(output["LastModified"]); + } return contents; }; @@ -12123,39 +12669,39 @@ const deserializeAws_restXmlObjectLockRule = (output: any, context: __SerdeConte const deserializeAws_restXmlObjectVersion = (output: any, context: __SerdeContext): ObjectVersion => { let contents: any = { + Size: undefined, + Key: undefined, StorageClass: undefined, - IsLatest: undefined, Owner: undefined, + IsLatest: undefined, ETag: undefined, - VersionId: undefined, - Size: undefined, - Key: undefined, LastModified: undefined, + VersionId: undefined, }; + if (output["Size"] !== undefined) { + contents.Size = parseInt(output["Size"]); + } + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; + } if (output["StorageClass"] !== undefined) { contents.StorageClass = output["StorageClass"]; } - if (output["IsLatest"] !== undefined) { - contents.IsLatest = output["IsLatest"] == "true"; - } if (output["Owner"] !== undefined) { contents.Owner = deserializeAws_restXmlOwner(output["Owner"], context); } + if (output["IsLatest"] !== undefined) { + contents.IsLatest = output["IsLatest"] == "true"; + } if (output["ETag"] !== undefined) { contents.ETag = output["ETag"]; } - if (output["VersionId"] !== undefined) { - contents.VersionId = output["VersionId"]; - } - if (output["Size"] !== undefined) { - contents.Size = parseInt(output["Size"]); - } - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; - } if (output["LastModified"] !== undefined) { contents.LastModified = new Date(output["LastModified"]); } + if (output["VersionId"] !== undefined) { + contents.VersionId = output["VersionId"]; + } return contents; }; @@ -12177,24 +12723,54 @@ const deserializeAws_restXmlOwner = (output: any, context: __SerdeContext): Owne return contents; }; +const deserializeAws_restXmlOwnershipControls = (output: any, context: __SerdeContext): OwnershipControls => { + let contents: any = { + Rules: undefined, + }; + if (output.Rule === "") { + contents.Rules = []; + } + if (output["Rule"] !== undefined) { + contents.Rules = deserializeAws_restXmlOwnershipControlsRules(__getArrayIfSingleItem(output["Rule"]), context); + } + return contents; +}; + +const deserializeAws_restXmlOwnershipControlsRule = (output: any, context: __SerdeContext): OwnershipControlsRule => { + let contents: any = { + ObjectOwnership: undefined, + }; + if (output["ObjectOwnership"] !== undefined) { + contents.ObjectOwnership = output["ObjectOwnership"]; + } + return contents; +}; + +const deserializeAws_restXmlOwnershipControlsRules = ( + output: any, + context: __SerdeContext +): OwnershipControlsRule[] => { + return (output || []).map((entry: any) => deserializeAws_restXmlOwnershipControlsRule(entry, context)); +}; + const deserializeAws_restXmlPart = (output: any, context: __SerdeContext): Part => { let contents: any = { - ETag: undefined, - PartNumber: undefined, - LastModified: undefined, Size: undefined, + LastModified: undefined, + PartNumber: undefined, + ETag: undefined, }; - if (output["ETag"] !== undefined) { - contents.ETag = output["ETag"]; - } - if (output["PartNumber"] !== undefined) { - contents.PartNumber = parseInt(output["PartNumber"]); + if (output["Size"] !== undefined) { + contents.Size = parseInt(output["Size"]); } if (output["LastModified"] !== undefined) { contents.LastModified = new Date(output["LastModified"]); } - if (output["Size"] !== undefined) { - contents.Size = parseInt(output["Size"]); + if (output["PartNumber"] !== undefined) { + contents.PartNumber = parseInt(output["PartNumber"]); + } + if (output["ETag"] !== undefined) { + contents.ETag = output["ETag"]; } return contents; }; @@ -12218,48 +12794,48 @@ const deserializeAws_restXmlPublicAccessBlockConfiguration = ( context: __SerdeContext ): PublicAccessBlockConfiguration => { let contents: any = { - RestrictPublicBuckets: undefined, + BlockPublicPolicy: undefined, BlockPublicAcls: undefined, + RestrictPublicBuckets: undefined, IgnorePublicAcls: undefined, - BlockPublicPolicy: undefined, }; - if (output["RestrictPublicBuckets"] !== undefined) { - contents.RestrictPublicBuckets = output["RestrictPublicBuckets"] == "true"; + if (output["BlockPublicPolicy"] !== undefined) { + contents.BlockPublicPolicy = output["BlockPublicPolicy"] == "true"; } if (output["BlockPublicAcls"] !== undefined) { contents.BlockPublicAcls = output["BlockPublicAcls"] == "true"; } + if (output["RestrictPublicBuckets"] !== undefined) { + contents.RestrictPublicBuckets = output["RestrictPublicBuckets"] == "true"; + } if (output["IgnorePublicAcls"] !== undefined) { contents.IgnorePublicAcls = output["IgnorePublicAcls"] == "true"; } - if (output["BlockPublicPolicy"] !== undefined) { - contents.BlockPublicPolicy = output["BlockPublicPolicy"] == "true"; - } return contents; }; const deserializeAws_restXmlQueueConfiguration = (output: any, context: __SerdeContext): QueueConfiguration => { let contents: any = { - Id: undefined, Events: undefined, - QueueArn: undefined, + Id: undefined, Filter: undefined, + QueueArn: undefined, }; - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; - } if (output.Event === "") { contents.Events = []; } if (output["Event"] !== undefined) { contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output["Event"]), context); } - if (output["Queue"] !== undefined) { - contents.QueueArn = output["Queue"]; + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; } if (output["Filter"] !== undefined) { contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output["Filter"], context); } + if (output["Queue"] !== undefined) { + contents.QueueArn = output["Queue"]; + } return contents; }; @@ -12269,26 +12845,26 @@ const deserializeAws_restXmlQueueConfigurationList = (output: any, context: __Se const deserializeAws_restXmlRedirect = (output: any, context: __SerdeContext): Redirect => { let contents: any = { - Protocol: undefined, - ReplaceKeyWith: undefined, + HttpRedirectCode: undefined, ReplaceKeyPrefixWith: undefined, + Protocol: undefined, HostName: undefined, - HttpRedirectCode: undefined, + ReplaceKeyWith: undefined, }; - if (output["Protocol"] !== undefined) { - contents.Protocol = output["Protocol"]; - } - if (output["ReplaceKeyWith"] !== undefined) { - contents.ReplaceKeyWith = output["ReplaceKeyWith"]; + if (output["HttpRedirectCode"] !== undefined) { + contents.HttpRedirectCode = output["HttpRedirectCode"]; } if (output["ReplaceKeyPrefixWith"] !== undefined) { contents.ReplaceKeyPrefixWith = output["ReplaceKeyPrefixWith"]; } + if (output["Protocol"] !== undefined) { + contents.Protocol = output["Protocol"]; + } if (output["HostName"] !== undefined) { contents.HostName = output["HostName"]; } - if (output["HttpRedirectCode"] !== undefined) { - contents.HttpRedirectCode = output["HttpRedirectCode"]; + if (output["ReplaceKeyWith"] !== undefined) { + contents.ReplaceKeyWith = output["ReplaceKeyWith"]; } return contents; }; @@ -12329,24 +12905,18 @@ const deserializeAws_restXmlReplicationConfiguration = ( const deserializeAws_restXmlReplicationRule = (output: any, context: __SerdeContext): ReplicationRule => { let contents: any = { - Status: undefined, - Priority: undefined, - Destination: undefined, + Prefix: undefined, ID: undefined, SourceSelectionCriteria: undefined, - Prefix: undefined, + DeleteMarkerReplication: undefined, Filter: undefined, + Priority: undefined, + Status: undefined, ExistingObjectReplication: undefined, - DeleteMarkerReplication: undefined, + Destination: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } - if (output["Priority"] !== undefined) { - contents.Priority = parseInt(output["Priority"]); - } - if (output["Destination"] !== undefined) { - contents.Destination = deserializeAws_restXmlDestination(output["Destination"], context); + if (output["Prefix"] !== undefined) { + contents.Prefix = output["Prefix"]; } if (output["ID"] !== undefined) { contents.ID = output["ID"]; @@ -12357,23 +12927,29 @@ const deserializeAws_restXmlReplicationRule = (output: any, context: __SerdeCont context ); } - if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; + if (output["DeleteMarkerReplication"] !== undefined) { + contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication( + output["DeleteMarkerReplication"], + context + ); } if (output["Filter"] !== undefined) { contents.Filter = deserializeAws_restXmlReplicationRuleFilter(output["Filter"], context); } + if (output["Priority"] !== undefined) { + contents.Priority = parseInt(output["Priority"]); + } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } if (output["ExistingObjectReplication"] !== undefined) { contents.ExistingObjectReplication = deserializeAws_restXmlExistingObjectReplication( output["ExistingObjectReplication"], context ); } - if (output["DeleteMarkerReplication"] !== undefined) { - contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication( - output["DeleteMarkerReplication"], - context - ); + if (output["Destination"] !== undefined) { + contents.Destination = deserializeAws_restXmlDestination(output["Destination"], context); } return contents; }; @@ -12383,35 +12959,35 @@ const deserializeAws_restXmlReplicationRuleAndOperator = ( context: __SerdeContext ): ReplicationRuleAndOperator => { let contents: any = { - Tags: undefined, Prefix: undefined, + Tags: undefined, }; + if (output["Prefix"] !== undefined) { + contents.Prefix = output["Prefix"]; + } if (output.Tag === "") { contents.Tags = []; } if (output["Tag"] !== undefined) { contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output["Tag"]), context); } - if (output["Prefix"] !== undefined) { - contents.Prefix = output["Prefix"]; - } return contents; }; const deserializeAws_restXmlReplicationRuleFilter = (output: any, context: __SerdeContext): ReplicationRuleFilter => { let contents: any = { - And: undefined, - Prefix: undefined, Tag: undefined, + Prefix: undefined, + And: undefined, }; - if (output["And"] !== undefined) { - contents.And = deserializeAws_restXmlReplicationRuleAndOperator(output["And"], context); + if (output["Tag"] !== undefined) { + contents.Tag = deserializeAws_restXmlTag(output["Tag"], context); } if (output["Prefix"] !== undefined) { contents.Prefix = output["Prefix"]; } - if (output["Tag"] !== undefined) { - contents.Tag = deserializeAws_restXmlTag(output["Tag"], context); + if (output["And"] !== undefined) { + contents.And = deserializeAws_restXmlReplicationRuleAndOperator(output["And"], context); } return contents; }; @@ -12422,15 +12998,15 @@ const deserializeAws_restXmlReplicationRules = (output: any, context: __SerdeCon const deserializeAws_restXmlReplicationTime = (output: any, context: __SerdeContext): ReplicationTime => { let contents: any = { - Status: undefined, Time: undefined, + Status: undefined, }; - if (output["Status"] !== undefined) { - contents.Status = output["Status"]; - } if (output["Time"] !== undefined) { contents.Time = deserializeAws_restXmlReplicationTimeValue(output["Time"], context); } + if (output["Status"] !== undefined) { + contents.Status = output["Status"]; + } return contents; }; @@ -12446,15 +13022,15 @@ const deserializeAws_restXmlReplicationTimeValue = (output: any, context: __Serd const deserializeAws_restXmlRoutingRule = (output: any, context: __SerdeContext): RoutingRule => { let contents: any = { - Condition: undefined, Redirect: undefined, + Condition: undefined, }; - if (output["Condition"] !== undefined) { - contents.Condition = deserializeAws_restXmlCondition(output["Condition"], context); - } if (output["Redirect"] !== undefined) { contents.Redirect = deserializeAws_restXmlRedirect(output["Redirect"], context); } + if (output["Condition"] !== undefined) { + contents.Condition = deserializeAws_restXmlCondition(output["Condition"], context); + } return contents; }; @@ -12480,15 +13056,15 @@ const deserializeAws_restXmlServerSideEncryptionByDefault = ( context: __SerdeContext ): ServerSideEncryptionByDefault => { let contents: any = { - KMSMasterKeyID: undefined, SSEAlgorithm: undefined, + KMSMasterKeyID: undefined, }; - if (output["KMSMasterKeyID"] !== undefined) { - contents.KMSMasterKeyID = output["KMSMasterKeyID"]; - } if (output["SSEAlgorithm"] !== undefined) { contents.SSEAlgorithm = output["SSEAlgorithm"]; } + if (output["KMSMasterKeyID"] !== undefined) { + contents.KMSMasterKeyID = output["KMSMasterKeyID"]; + } return contents; }; @@ -12587,29 +13163,29 @@ const deserializeAws_restXmlStorageClassAnalysisDataExport = ( context: __SerdeContext ): StorageClassAnalysisDataExport => { let contents: any = { - Destination: undefined, OutputSchemaVersion: undefined, + Destination: undefined, }; - if (output["Destination"] !== undefined) { - contents.Destination = deserializeAws_restXmlAnalyticsExportDestination(output["Destination"], context); - } if (output["OutputSchemaVersion"] !== undefined) { contents.OutputSchemaVersion = output["OutputSchemaVersion"]; } + if (output["Destination"] !== undefined) { + contents.Destination = deserializeAws_restXmlAnalyticsExportDestination(output["Destination"], context); + } return contents; }; const deserializeAws_restXmlTag = (output: any, context: __SerdeContext): Tag => { let contents: any = { - Key: undefined, Value: undefined, + Key: undefined, }; - if (output["Key"] !== undefined) { - contents.Key = output["Key"]; - } if (output["Value"] !== undefined) { contents.Value = output["Value"]; } + if (output["Key"] !== undefined) { + contents.Key = output["Key"]; + } return contents; }; @@ -12637,25 +13213,25 @@ const deserializeAws_restXmlTargetGrants = (output: any, context: __SerdeContext const deserializeAws_restXmlTopicConfiguration = (output: any, context: __SerdeContext): TopicConfiguration => { let contents: any = { + Events: undefined, + Filter: undefined, TopicArn: undefined, Id: undefined, - Filter: undefined, - Events: undefined, }; - if (output["Topic"] !== undefined) { - contents.TopicArn = output["Topic"]; + if (output.Event === "") { + contents.Events = []; } - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; + if (output["Event"] !== undefined) { + contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output["Event"]), context); } if (output["Filter"] !== undefined) { contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output["Filter"], context); } - if (output.Event === "") { - contents.Events = []; + if (output["Topic"] !== undefined) { + contents.TopicArn = output["Topic"]; } - if (output["Event"] !== undefined) { - contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output["Event"]), context); + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; } return contents; }; @@ -12666,16 +13242,16 @@ const deserializeAws_restXmlTopicConfigurationList = (output: any, context: __Se const deserializeAws_restXmlTransition = (output: any, context: __SerdeContext): Transition => { let contents: any = { - Date: undefined, Days: undefined, + Date: undefined, StorageClass: undefined, }; - if (output["Date"] !== undefined) { - contents.Date = new Date(output["Date"]); - } if (output["Days"] !== undefined) { contents.Days = parseInt(output["Days"]); } + if (output["Date"] !== undefined) { + contents.Date = new Date(output["Date"]); + } if (output["StorageClass"] !== undefined) { contents.StorageClass = output["StorageClass"]; } diff --git a/clients/client-s3outposts/.gitignore b/clients/client-s3outposts/.gitignore new file mode 100644 index 000000000000..b41c05b597c4 --- /dev/null +++ b/clients/client-s3outposts/.gitignore @@ -0,0 +1,14 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/types/ +/dist/ +*.tsbuildinfo +*.tgz +*.log +package-lock.json + +*.d.ts +*.js +*.js.map diff --git a/clients/client-s3outposts/.npmignore b/clients/client-s3outposts/.npmignore new file mode 100644 index 000000000000..b7ff81137c4a --- /dev/null +++ b/clients/client-s3outposts/.npmignore @@ -0,0 +1,4 @@ +/coverage/ +/docs/ +tsconfig.test.json +*.tsbuildinfo diff --git a/clients/client-s3outposts/LICENSE b/clients/client-s3outposts/LICENSE new file mode 100644 index 000000000000..dd65ae06be7a --- /dev/null +++ b/clients/client-s3outposts/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-s3outposts/README.md b/clients/client-s3outposts/README.md new file mode 100644 index 000000000000..afb8af69966d --- /dev/null +++ b/clients/client-s3outposts/README.md @@ -0,0 +1,6 @@ +@aws-sdk/client-s3outposts + +[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-s3outposts/beta.svg)](https://www.npmjs.com/package/@aws-sdk/client-s3outposts) +[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-s3outposts.svg)](https://www.npmjs.com/package/@aws-sdk/client-s3outposts) + +For SDK usage, please step to [SDK readme](https://github.com/aws/aws-sdk-js-v3). diff --git a/clients/client-s3outposts/S3Outposts.ts b/clients/client-s3outposts/S3Outposts.ts new file mode 100644 index 000000000000..11be572c3d3d --- /dev/null +++ b/clients/client-s3outposts/S3Outposts.ts @@ -0,0 +1,171 @@ +import { S3OutpostsClient } from "./S3OutpostsClient"; +import { + CreateEndpointCommand, + CreateEndpointCommandInput, + CreateEndpointCommandOutput, +} from "./commands/CreateEndpointCommand"; +import { + DeleteEndpointCommand, + DeleteEndpointCommandInput, + DeleteEndpointCommandOutput, +} from "./commands/DeleteEndpointCommand"; +import { + ListEndpointsCommand, + ListEndpointsCommandInput, + ListEndpointsCommandOutput, +} from "./commands/ListEndpointsCommand"; +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +/** + *

                                                  Amazon S3 on Outposts provides access to S3 on Outposts operations.

                                                  + */ +export class S3Outposts extends S3OutpostsClient { + /** + *

                                                  S3 on Outposts access points simplify managing data access at scale for shared datasets + * in Amazon S3 on Outposts. S3 on Outposts uses endpoints to connect to Outposts buckets so that you can perform + * actions within your virtual private cloud (VPC).

                                                  + *

                                                  This action creates an endpoint and associates it with the specified Outpost.

                                                  + *

                                                  + *

                                                  Related actions include:

                                                  + * + */ + public createEndpoint( + args: CreateEndpointCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createEndpoint( + args: CreateEndpointCommandInput, + cb: (err: any, data?: CreateEndpointCommandOutput) => void + ): void; + public createEndpoint( + args: CreateEndpointCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateEndpointCommandOutput) => void + ): void; + public createEndpoint( + args: CreateEndpointCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateEndpointCommandOutput) => void), + cb?: (err: any, data?: CreateEndpointCommandOutput) => void + ): Promise | void { + const command = new CreateEndpointCommand(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); + } + } + + /** + *

                                                  S3 on Outposts access points simplify managing data access at scale for shared datasets + * in Amazon S3 on Outposts. S3 on Outposts uses endpoints to connect to Outposts buckets so that you can perform + * actions within your virtual private cloud (VPC).

                                                  + *

                                                  This action deletes an endpoint. + *

                                                  + *

                                                  + *

                                                  Related actions include:

                                                  + * + */ + public deleteEndpoint( + args: DeleteEndpointCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteEndpoint( + args: DeleteEndpointCommandInput, + cb: (err: any, data?: DeleteEndpointCommandOutput) => void + ): void; + public deleteEndpoint( + args: DeleteEndpointCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteEndpointCommandOutput) => void + ): void; + public deleteEndpoint( + args: DeleteEndpointCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteEndpointCommandOutput) => void), + cb?: (err: any, data?: DeleteEndpointCommandOutput) => void + ): Promise | void { + const command = new DeleteEndpointCommand(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); + } + } + + /** + *

                                                  S3 on Outposts access points simplify managing data access at scale for shared datasets + * in Amazon S3 on Outposts. S3 on Outposts uses endpoints to connect to Outposts buckets so that you can perform + * actions within your virtual private cloud (VPC).

                                                  + *

                                                  This action lists endpoints associated with the Outpost. + *

                                                  + *

                                                  + *

                                                  Related actions include:

                                                  + * + */ + public listEndpoints( + args: ListEndpointsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listEndpoints( + args: ListEndpointsCommandInput, + cb: (err: any, data?: ListEndpointsCommandOutput) => void + ): void; + public listEndpoints( + args: ListEndpointsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListEndpointsCommandOutput) => void + ): void; + public listEndpoints( + args: ListEndpointsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListEndpointsCommandOutput) => void), + cb?: (err: any, data?: ListEndpointsCommandOutput) => void + ): Promise | void { + const command = new ListEndpointsCommand(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-s3outposts/S3OutpostsClient.ts b/clients/client-s3outposts/S3OutpostsClient.ts new file mode 100644 index 000000000000..ababc11c47c5 --- /dev/null +++ b/clients/client-s3outposts/S3OutpostsClient.ts @@ -0,0 +1,204 @@ +import { CreateEndpointCommandInput, CreateEndpointCommandOutput } from "./commands/CreateEndpointCommand"; +import { DeleteEndpointCommandInput, DeleteEndpointCommandOutput } from "./commands/DeleteEndpointCommand"; +import { ListEndpointsCommandInput, ListEndpointsCommandOutput } from "./commands/ListEndpointsCommand"; +import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; +import { + EndpointsInputConfig, + EndpointsResolvedConfig, + RegionInputConfig, + RegionResolvedConfig, + resolveEndpointsConfig, + resolveRegionConfig, +} from "@aws-sdk/config-resolver"; +import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length"; +import { + HostHeaderInputConfig, + HostHeaderResolvedConfig, + getHostHeaderPlugin, + resolveHostHeaderConfig, +} from "@aws-sdk/middleware-host-header"; +import { getLoggerPlugin } from "@aws-sdk/middleware-logger"; +import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry"; +import { + AwsAuthInputConfig, + AwsAuthResolvedConfig, + getAwsAuthPlugin, + resolveAwsAuthConfig, +} from "@aws-sdk/middleware-signing"; +import { + UserAgentInputConfig, + UserAgentResolvedConfig, + getUserAgentPlugin, + resolveUserAgentConfig, +} from "@aws-sdk/middleware-user-agent"; +import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http"; +import { + Client as __Client, + SmithyConfiguration as __SmithyConfiguration, + SmithyResolvedConfiguration as __SmithyResolvedConfiguration, +} from "@aws-sdk/smithy-client"; +import { + RegionInfoProvider, + Credentials as __Credentials, + Decoder as __Decoder, + Encoder as __Encoder, + HashConstructor as __HashConstructor, + HttpHandlerOptions as __HttpHandlerOptions, + Logger as __Logger, + Provider as __Provider, + StreamCollector as __StreamCollector, + UrlParser as __UrlParser, +} from "@aws-sdk/types"; + +export type ServiceInputTypes = CreateEndpointCommandInput | DeleteEndpointCommandInput | ListEndpointsCommandInput; + +export type ServiceOutputTypes = CreateEndpointCommandOutput | DeleteEndpointCommandOutput | ListEndpointsCommandOutput; + +export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { + /** + * The HTTP handler to use. Fetch in browser and Https in Nodejs. + */ + requestHandler?: __HttpHandler; + + /** + * A constructor for a class implementing the @aws-sdk/types.Hash interface + * that computes the SHA-256 HMAC or checksum of a string or binary buffer. + */ + sha256?: __HashConstructor; + + /** + * The function that will be used to convert strings into HTTP endpoints. + */ + urlParser?: __UrlParser; + + /** + * A function that can calculate the length of a request body. + */ + bodyLengthChecker?: (body: any) => number | undefined; + + /** + * A function that converts a stream into an array of bytes. + */ + streamCollector?: __StreamCollector; + + /** + * The function that will be used to convert a base64-encoded string to a byte array + */ + base64Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a base64-encoded string + */ + base64Encoder?: __Encoder; + + /** + * The function that will be used to convert a UTF8-encoded string to a byte array + */ + utf8Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a UTF-8 encoded string + */ + utf8Encoder?: __Encoder; + + /** + * The string that will be used to populate default value in 'User-Agent' header + */ + defaultUserAgent?: string; + + /** + * The runtime environment + */ + runtime?: string; + + /** + * Disable dyanamically changing the endpoint of the client based on the hostPrefix + * trait of an operation. + */ + disableHostPrefix?: boolean; + + /** + * The service name with which to sign requests. + */ + signingName?: string; + + /** + * Default credentials provider; Not available in browser runtime + */ + credentialDefaultProvider?: (input: any) => __Provider<__Credentials>; + + /** + * The AWS region to which this client will send requests + */ + region?: string | __Provider; + + /** + * Value for how many times a request will be made at most in case of retry. + */ + maxAttempts?: number | __Provider; + + /** + * Optional logger for logging debug/info/warn/error. + */ + logger?: __Logger; + + /** + * Fetch related hostname, signing name or signing region with given region. + */ + regionInfoProvider?: RegionInfoProvider; +} + +export type S3OutpostsClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & + ClientDefaults & + RegionInputConfig & + EndpointsInputConfig & + AwsAuthInputConfig & + RetryInputConfig & + UserAgentInputConfig & + HostHeaderInputConfig; + +export type S3OutpostsClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> & + Required & + RegionResolvedConfig & + EndpointsResolvedConfig & + AwsAuthResolvedConfig & + RetryResolvedConfig & + UserAgentResolvedConfig & + HostHeaderResolvedConfig; + +/** + *

                                                  Amazon S3 on Outposts provides access to S3 on Outposts operations.

                                                  + */ +export class S3OutpostsClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + S3OutpostsClientResolvedConfig +> { + readonly config: S3OutpostsClientResolvedConfig; + + constructor(configuration: S3OutpostsClientConfig) { + let _config_0 = { + ...__ClientDefaultValues, + ...configuration, + }; + let _config_1 = resolveRegionConfig(_config_0); + let _config_2 = resolveEndpointsConfig(_config_1); + let _config_3 = resolveAwsAuthConfig(_config_2); + let _config_4 = resolveRetryConfig(_config_3); + let _config_5 = resolveUserAgentConfig(_config_4); + let _config_6 = resolveHostHeaderConfig(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use(getAwsAuthPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + } + + destroy(): void { + super.destroy(); + } +} diff --git a/clients/client-s3outposts/commands/CreateEndpointCommand.ts b/clients/client-s3outposts/commands/CreateEndpointCommand.ts new file mode 100644 index 000000000000..1db72dbb7e9b --- /dev/null +++ b/clients/client-s3outposts/commands/CreateEndpointCommand.ts @@ -0,0 +1,70 @@ +import { S3OutpostsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3OutpostsClient"; +import { CreateEndpointRequest, CreateEndpointResult } from "../models/models_0"; +import { + deserializeAws_restJson1CreateEndpointCommand, + serializeAws_restJson1CreateEndpointCommand, +} 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 CreateEndpointCommandInput = CreateEndpointRequest; +export type CreateEndpointCommandOutput = CreateEndpointResult & __MetadataBearer; + +export class CreateEndpointCommand extends $Command< + CreateEndpointCommandInput, + CreateEndpointCommandOutput, + S3OutpostsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateEndpointCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: S3OutpostsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateEndpointRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateEndpointResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateEndpointCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateEndpointCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateEndpointCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-s3outposts/commands/DeleteEndpointCommand.ts b/clients/client-s3outposts/commands/DeleteEndpointCommand.ts new file mode 100644 index 000000000000..a1891390a6c7 --- /dev/null +++ b/clients/client-s3outposts/commands/DeleteEndpointCommand.ts @@ -0,0 +1,70 @@ +import { S3OutpostsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3OutpostsClient"; +import { DeleteEndpointRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteEndpointCommand, + serializeAws_restJson1DeleteEndpointCommand, +} 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 DeleteEndpointCommandInput = DeleteEndpointRequest; +export type DeleteEndpointCommandOutput = __MetadataBearer; + +export class DeleteEndpointCommand extends $Command< + DeleteEndpointCommandInput, + DeleteEndpointCommandOutput, + S3OutpostsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteEndpointCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: S3OutpostsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteEndpointRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteEndpointCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteEndpointCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteEndpointCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-s3outposts/commands/ListEndpointsCommand.ts b/clients/client-s3outposts/commands/ListEndpointsCommand.ts new file mode 100644 index 000000000000..f95affc87c01 --- /dev/null +++ b/clients/client-s3outposts/commands/ListEndpointsCommand.ts @@ -0,0 +1,70 @@ +import { S3OutpostsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3OutpostsClient"; +import { ListEndpointsRequest, ListEndpointsResult } from "../models/models_0"; +import { + deserializeAws_restJson1ListEndpointsCommand, + serializeAws_restJson1ListEndpointsCommand, +} 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 ListEndpointsCommandInput = ListEndpointsRequest; +export type ListEndpointsCommandOutput = ListEndpointsResult & __MetadataBearer; + +export class ListEndpointsCommand extends $Command< + ListEndpointsCommandInput, + ListEndpointsCommandOutput, + S3OutpostsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListEndpointsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: S3OutpostsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListEndpointsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListEndpointsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListEndpointsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListEndpointsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListEndpointsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-s3outposts/endpoints.ts b/clients/client-s3outposts/endpoints.ts new file mode 100644 index 000000000000..c6493cdc4431 --- /dev/null +++ b/clients/client-s3outposts/endpoints.ts @@ -0,0 +1,81 @@ +import { RegionInfo, RegionInfoProvider } from "@aws-sdk/types"; + +// Partition default templates +const AWS_TEMPLATE = "s3-outposts.{region}.amazonaws.com"; +const AWS_CN_TEMPLATE = "s3-outposts.{region}.amazonaws.com.cn"; +const AWS_ISO_TEMPLATE = "s3-outposts.{region}.c2s.ic.gov"; +const AWS_ISO_B_TEMPLATE = "s3-outposts.{region}.sc2s.sgov.gov"; +const AWS_US_GOV_TEMPLATE = "s3-outposts.{region}.amazonaws.com"; + +// Partition regions +const AWS_REGIONS = new Set([ + "ap-east-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-west-1", + "eu-west-2", + "eu-west-3", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2", +]); +const AWS_CN_REGIONS = new Set(["cn-north-1", "cn-northwest-1"]); +const AWS_ISO_REGIONS = new Set(["us-iso-east-1"]); +const AWS_ISO_B_REGIONS = new Set(["us-isob-east-1"]); +const AWS_US_GOV_REGIONS = new Set(["us-gov-east-1", "us-gov-west-1"]); + +export const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => { + let regionInfo: RegionInfo | undefined = undefined; + switch (region) { + // First, try to match exact region names. + // Next, try to match partition endpoints. + default: + if (AWS_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + if (AWS_CN_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_CN_TEMPLATE.replace("{region}", region), + partition: "aws-cn", + }; + } + if (AWS_ISO_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_TEMPLATE.replace("{region}", region), + partition: "aws-iso", + }; + } + if (AWS_ISO_B_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_B_TEMPLATE.replace("{region}", region), + partition: "aws-iso-b", + }; + } + if (AWS_US_GOV_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_US_GOV_TEMPLATE.replace("{region}", region), + partition: "aws-us-gov", + }; + } + // Finally, assume it's an AWS partition endpoint. + if (regionInfo === undefined) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + } + return Promise.resolve(regionInfo); +}; diff --git a/clients/client-s3outposts/index.ts b/clients/client-s3outposts/index.ts new file mode 100644 index 000000000000..b2e59f954b0a --- /dev/null +++ b/clients/client-s3outposts/index.ts @@ -0,0 +1,8 @@ +export * from "./S3OutpostsClient"; +export * from "./S3Outposts"; +export * from "./commands/CreateEndpointCommand"; +export * from "./commands/DeleteEndpointCommand"; +export * from "./commands/ListEndpointsCommand"; +export * from "./pagination/ListEndpointsPaginator"; +export * from "./pagination/Interfaces"; +export * from "./models/index"; diff --git a/clients/client-s3outposts/models/index.ts b/clients/client-s3outposts/models/index.ts new file mode 100644 index 000000000000..09c5d6e09b8c --- /dev/null +++ b/clients/client-s3outposts/models/index.ts @@ -0,0 +1 @@ +export * from "./models_0"; diff --git a/clients/client-s3outposts/models/models_0.ts b/clients/client-s3outposts/models/models_0.ts new file mode 100644 index 000000000000..9ea3d04fe877 --- /dev/null +++ b/clients/client-s3outposts/models/models_0.ts @@ -0,0 +1,231 @@ +import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; + +/** + *

                                                  Access was denied for this action.

                                                  + */ +export interface AccessDeniedException extends __SmithyException, $MetadataBearer { + name: "AccessDeniedException"; + $fault: "client"; + Message?: string; +} + +export namespace AccessDeniedException { + export const filterSensitiveLog = (obj: AccessDeniedException): any => ({ + ...obj, + }); +} + +/** + *

                                                  There was a conflict with this action, and it could not be completed.

                                                  + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + Message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +export interface CreateEndpointRequest { + /** + *

                                                  The ID of the AWS Outpost.

                                                  + */ + OutpostId: string | undefined; + + /** + *

                                                  The ID of the security group to use with the endpoint.

                                                  + */ + SecurityGroupId: string | undefined; + + /** + *

                                                  The ID of the subnet in the selected VPC.

                                                  + */ + SubnetId: string | undefined; +} + +export namespace CreateEndpointRequest { + export const filterSensitiveLog = (obj: CreateEndpointRequest): any => ({ + ...obj, + }); +} + +export interface CreateEndpointResult { + /** + *

                                                  The Amazon Resource Name (ARN) of the endpoint.

                                                  + */ + EndpointArn?: string; +} + +export namespace CreateEndpointResult { + export const filterSensitiveLog = (obj: CreateEndpointResult): any => ({ + ...obj, + }); +} + +/** + *

                                                  There was an exception with the internal server.

                                                  + */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + Message?: string; +} + +export namespace InternalServerException { + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +/** + *

                                                  The requested resource was not found.

                                                  + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + Message?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +/** + *

                                                  There was an exception validating this data.

                                                  + */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + Message?: string; +} + +export namespace ValidationException { + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +export interface DeleteEndpointRequest { + /** + *

                                                  The ID of the end point.

                                                  + */ + EndpointId: string | undefined; + + /** + *

                                                  The ID of the AWS Outpost.

                                                  + */ + OutpostId: string | undefined; +} + +export namespace DeleteEndpointRequest { + export const filterSensitiveLog = (obj: DeleteEndpointRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                  The container for the network interface.

                                                  + */ +export interface NetworkInterface { + /** + *

                                                  The ID for the network interface.

                                                  + */ + NetworkInterfaceId?: string; +} + +export namespace NetworkInterface { + export const filterSensitiveLog = (obj: NetworkInterface): any => ({ + ...obj, + }); +} + +export enum EndpointStatus { + AVAILABLE = "AVAILABLE", + PENDING = "PENDING", +} + +/** + *

                                                  S3 on Outposts access points simplify managing data access at scale for shared datasets + * in Amazon S3 on Outposts. S3 on Outposts uses endpoints to connect to Outposts buckets so that you can perform + * actions within your virtual private cloud (VPC).

                                                  + */ +export interface Endpoint { + /** + *

                                                  The ID of the AWS Outpost.

                                                  + */ + OutpostsId?: string; + + /** + *

                                                  The network interface of the endpoint.

                                                  + */ + NetworkInterfaces?: NetworkInterface[]; + + /** + *

                                                  The status of the endpoint.

                                                  + */ + Status?: EndpointStatus | string; + + /** + *

                                                  The VPC CIDR committed by this endpoint.

                                                  + */ + CidrBlock?: string; + + /** + *

                                                  The time the endpoint was created.

                                                  + */ + CreationTime?: Date; + + /** + *

                                                  The Amazon Resource Name (ARN) of the endpoint.

                                                  + */ + EndpointArn?: string; +} + +export namespace Endpoint { + export const filterSensitiveLog = (obj: Endpoint): any => ({ + ...obj, + }); +} + +export interface ListEndpointsRequest { + /** + *

                                                  The max number of endpoints that can be returned on the request.

                                                  + */ + MaxResults?: number; + + /** + *

                                                  The next endpoint requested in the list.

                                                  + */ + NextToken?: string; +} + +export namespace ListEndpointsRequest { + export const filterSensitiveLog = (obj: ListEndpointsRequest): any => ({ + ...obj, + }); +} + +export interface ListEndpointsResult { + /** + *

                                                  Returns an array of endpoints associated with AWS Outpost.

                                                  + */ + Endpoints?: Endpoint[]; + + /** + *

                                                  The next endpoint returned in the list.

                                                  + */ + NextToken?: string; +} + +export namespace ListEndpointsResult { + export const filterSensitiveLog = (obj: ListEndpointsResult): any => ({ + ...obj, + }); +} diff --git a/clients/client-s3outposts/package.json b/clients/client-s3outposts/package.json new file mode 100644 index 000000000000..28cea25f5422 --- /dev/null +++ b/clients/client-s3outposts/package.json @@ -0,0 +1,77 @@ +{ + "name": "@aws-sdk/client-s3outposts", + "description": "@aws-sdk/client-s3outposts client", + "version": "1.0.0-rc.1", + "scripts": { + "clean": "npm run remove-definitions && npm run remove-dist", + "build-documentation": "npm run clean && typedoc ./", + "prepublishOnly": "yarn build", + "pretest": "yarn build:cjs", + "remove-definitions": "rimraf ./types", + "remove-dist": "rimraf ./dist", + "remove-documentation": "rimraf ./docs", + "test": "yarn build && jest --coverage --passWithNoTests", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig.es.json", + "build": "yarn build:cjs && yarn build:es" + }, + "main": "./dist/cjs/index.js", + "types": "./types/index.d.ts", + "module": "./dist/es/index.js", + "browser": { + "./runtimeConfig": "./runtimeConfig.browser" + }, + "react-native": { + "./runtimeConfig": "./runtimeConfig.native" + }, + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0-alpha.0", + "@aws-crypto/sha256-js": "^1.0.0-alpha.0", + "@aws-sdk/config-resolver": "1.0.0-rc.1", + "@aws-sdk/credential-provider-node": "1.0.0-rc.1", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.1", + "@aws-sdk/hash-node": "1.0.0-rc.1", + "@aws-sdk/invalid-dependency": "1.0.0-rc.1", + "@aws-sdk/middleware-content-length": "1.0.0-rc.1", + "@aws-sdk/middleware-host-header": "1.0.0-rc.1", + "@aws-sdk/middleware-logger": "1.0.0-rc.1", + "@aws-sdk/middleware-retry": "1.0.0-rc.1", + "@aws-sdk/middleware-serde": "1.0.0-rc.1", + "@aws-sdk/middleware-signing": "1.0.0-rc.1", + "@aws-sdk/middleware-stack": "1.0.0-rc.1", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.1", + "@aws-sdk/node-config-provider": "1.0.0-rc.1", + "@aws-sdk/node-http-handler": "1.0.0-rc.1", + "@aws-sdk/protocol-http": "1.0.0-rc.1", + "@aws-sdk/smithy-client": "1.0.0-rc.1", + "@aws-sdk/types": "1.0.0-rc.1", + "@aws-sdk/url-parser-browser": "1.0.0-rc.1", + "@aws-sdk/url-parser-node": "1.0.0-rc.1", + "@aws-sdk/util-base64-browser": "1.0.0-rc.1", + "@aws-sdk/util-base64-node": "1.0.0-rc.1", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.1", + "@aws-sdk/util-body-length-node": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.1", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.1", + "@aws-sdk/util-utf8-node": "1.0.0-rc.1", + "tslib": "^2.0.0" + }, + "devDependencies": { + "@aws-sdk/client-documentation-generator": "1.0.0-rc.1", + "@types/node": "^12.7.5", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "typedoc": "^0.17.8", + "typescript": "~4.0.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0" +} diff --git a/clients/client-s3outposts/pagination/Interfaces.ts b/clients/client-s3outposts/pagination/Interfaces.ts new file mode 100644 index 000000000000..3904eddbfa3c --- /dev/null +++ b/clients/client-s3outposts/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { S3Outposts } from "../S3Outposts"; +import { S3OutpostsClient } from "../S3OutpostsClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface S3OutpostsPaginationConfiguration extends PaginationConfiguration { + client: S3Outposts | S3OutpostsClient; +} diff --git a/clients/client-s3outposts/pagination/ListEndpointsPaginator.ts b/clients/client-s3outposts/pagination/ListEndpointsPaginator.ts new file mode 100644 index 000000000000..e37f2d4fd2e2 --- /dev/null +++ b/clients/client-s3outposts/pagination/ListEndpointsPaginator.ts @@ -0,0 +1,51 @@ +import { S3Outposts } from "../S3Outposts"; +import { S3OutpostsClient } from "../S3OutpostsClient"; +import { + ListEndpointsCommand, + ListEndpointsCommandInput, + ListEndpointsCommandOutput, +} from "../commands/ListEndpointsCommand"; +import { S3OutpostsPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: S3OutpostsClient, + input: ListEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListEndpointsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: S3Outposts, + input: ListEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listEndpoints(input, ...args); +}; +export async function* listEndpointsPaginate( + config: S3OutpostsPaginationConfiguration, + input: ListEndpointsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListEndpointsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof S3Outposts) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof S3OutpostsClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected S3Outposts | S3OutpostsClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-s3outposts/protocols/Aws_restJson1.ts b/clients/client-s3outposts/protocols/Aws_restJson1.ts new file mode 100644 index 000000000000..26a6c98a49bc --- /dev/null +++ b/clients/client-s3outposts/protocols/Aws_restJson1.ts @@ -0,0 +1,530 @@ +import { CreateEndpointCommandInput, CreateEndpointCommandOutput } from "../commands/CreateEndpointCommand"; +import { DeleteEndpointCommandInput, DeleteEndpointCommandOutput } from "../commands/DeleteEndpointCommand"; +import { ListEndpointsCommandInput, ListEndpointsCommandOutput } from "../commands/ListEndpointsCommand"; +import { + AccessDeniedException, + ConflictException, + Endpoint, + InternalServerException, + NetworkInterface, + ResourceNotFoundException, + ValidationException, +} from "../models/models_0"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { + SmithyException as __SmithyException, + extendedEncodeURIComponent as __extendedEncodeURIComponent, +} from "@aws-sdk/smithy-client"; +import { + Endpoint as __Endpoint, + MetadataBearer as __MetadataBearer, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export const serializeAws_restJson1CreateEndpointCommand = async ( + input: CreateEndpointCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/S3Outposts/CreateEndpoint"; + let body: any; + body = JSON.stringify({ + ...(input.OutpostId !== undefined && { OutpostId: input.OutpostId }), + ...(input.SecurityGroupId !== undefined && { SecurityGroupId: input.SecurityGroupId }), + ...(input.SubnetId !== undefined && { SubnetId: input.SubnetId }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1DeleteEndpointCommand = async ( + input: DeleteEndpointCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/S3Outposts/DeleteEndpoint"; + const query: any = { + ...(input.EndpointId !== undefined && { endpointId: input.EndpointId }), + ...(input.OutpostId !== undefined && { outpostId: input.OutpostId }), + }; + 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_restJson1ListEndpointsCommand = async ( + input: ListEndpointsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/S3Outposts/ListEndpoints"; + const query: any = { + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { nextToken: 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 deserializeAws_restJson1CreateEndpointCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateEndpointCommandError(output, context); + } + const contents: CreateEndpointCommandOutput = { + $metadata: deserializeMetadata(output), + EndpointArn: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.EndpointArn !== undefined && data.EndpointArn !== null) { + contents.EndpointArn = data.EndpointArn; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateEndpointCommandError = 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.s3outposts#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.s3outposts#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.s3outposts#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.s3outposts#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.s3outposts#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_restJson1DeleteEndpointCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteEndpointCommandError(output, context); + } + const contents: DeleteEndpointCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteEndpointCommandError = 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.s3outposts#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.s3outposts#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.s3outposts#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.s3outposts#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_restJson1ListEndpointsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListEndpointsCommandError(output, context); + } + const contents: ListEndpointsCommandOutput = { + $metadata: deserializeMetadata(output), + Endpoints: undefined, + NextToken: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Endpoints !== undefined && data.Endpoints !== null) { + contents.Endpoints = deserializeAws_restJson1Endpoints(data.Endpoints, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListEndpointsCommandError = 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.s3outposts#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.s3outposts#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.s3outposts#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.s3outposts#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 +): Promise => { + const contents: AccessDeniedException = { + name: "AccessDeniedException", + $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_restJson1ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ConflictException = { + name: "ConflictException", + $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_restJson1InternalServerExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: InternalServerException = { + name: "InternalServerException", + $fault: "server", + $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_restJson1ResourceNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ResourceNotFoundException = { + name: "ResourceNotFoundException", + $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_restJson1ValidationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ValidationException = { + name: "ValidationException", + $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_restJson1Endpoint = (output: any, context: __SerdeContext): Endpoint => { + return { + CidrBlock: output.CidrBlock !== undefined && output.CidrBlock !== null ? output.CidrBlock : undefined, + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? new Date(Math.round(output.CreationTime * 1000)) + : undefined, + EndpointArn: output.EndpointArn !== undefined && output.EndpointArn !== null ? output.EndpointArn : undefined, + NetworkInterfaces: + output.NetworkInterfaces !== undefined && output.NetworkInterfaces !== null + ? deserializeAws_restJson1NetworkInterfaces(output.NetworkInterfaces, context) + : undefined, + OutpostsId: output.OutpostsId !== undefined && output.OutpostsId !== null ? output.OutpostsId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_restJson1Endpoints = (output: any, context: __SerdeContext): Endpoint[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Endpoint(entry, context)); +}; + +const deserializeAws_restJson1NetworkInterface = (output: any, context: __SerdeContext): NetworkInterface => { + return { + NetworkInterfaceId: + output.NetworkInterfaceId !== undefined && output.NetworkInterfaceId !== null + ? output.NetworkInterfaceId + : undefined, + } as any; +}; + +const deserializeAws_restJson1NetworkInterfaces = (output: any, context: __SerdeContext): NetworkInterface[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1NetworkInterface(entry, context)); +}; + +const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ + httpStatusCode: output.statusCode, + httpHeaders: output.headers, + requestId: output.headers["x-amzn-requestid"], +}); + +// Collect low-level response body stream to Uint8Array. +const collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => { + if (streamBody instanceof Uint8Array) { + return Promise.resolve(streamBody); + } + return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); +}; + +// Encode Uint8Array data into string with utf-8. +const collectBodyString = (streamBody: any, context: __SerdeContext): Promise => + collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); + +const isSerializableHeaderValue = (value: any): boolean => + value !== undefined && + value !== "" && + (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) && + (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0); + +const parseBody = (streamBody: any, context: __SerdeContext): any => + collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); + +/** + * Load an error code for the aws.rest-json-1.1 protocol. + */ +const loadRestJsonErrorCode = (output: __HttpResponse, data: any): string => { + const findKey = (object: any, key: string) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + + const sanitizeErrorCode = (rawValue: string): string => { + let cleanValue = rawValue; + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== undefined) { + return sanitizeErrorCode(output.headers[headerKey]); + } + + if (data.code !== undefined) { + return sanitizeErrorCode(data.code); + } + + if (data["__type"] !== undefined) { + return sanitizeErrorCode(data["__type"]); + } + + return ""; +}; diff --git a/clients/client-s3outposts/runtimeConfig.browser.ts b/clients/client-s3outposts/runtimeConfig.browser.ts new file mode 100644 index 000000000000..f60cf4b99d82 --- /dev/null +++ b/clients/client-s3outposts/runtimeConfig.browser.ts @@ -0,0 +1,31 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-browser"; +import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler"; +import { invalidFunction } from "@aws-sdk/invalid-dependency"; +import { DEFAULT_MAX_ATTEMPTS } from "@aws-sdk/middleware-retry"; +import { parseUrl } from "@aws-sdk/url-parser-browser"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-browser"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser"; +import { ClientDefaults } from "./S3OutpostsClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "browser", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider: invalidFunction("Credential is missing") as any, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: DEFAULT_MAX_ATTEMPTS, + region: invalidFunction("Region is missing") as any, + requestHandler: new FetchHttpHandler(), + sha256: Sha256, + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-s3outposts/runtimeConfig.native.ts b/clients/client-s3outposts/runtimeConfig.native.ts new file mode 100644 index 000000000000..a38e72d20c53 --- /dev/null +++ b/clients/client-s3outposts/runtimeConfig.native.ts @@ -0,0 +1,14 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-js"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { ClientDefaults } from "./S3OutpostsClient"; +import { ClientDefaultValues as BrowserDefaults } from "./runtimeConfig.browser"; + +export const ClientDefaultValues: Required = { + ...BrowserDefaults, + runtime: "react-native", + defaultUserAgent: `aws-sdk-js-v3-react-native-${packageInfo.name}/${packageInfo.version}`, + sha256: Sha256, + urlParser: parseUrl, +}; diff --git a/clients/client-s3outposts/runtimeConfig.shared.ts b/clients/client-s3outposts/runtimeConfig.shared.ts new file mode 100644 index 000000000000..61a44647201b --- /dev/null +++ b/clients/client-s3outposts/runtimeConfig.shared.ts @@ -0,0 +1,10 @@ +import { defaultRegionInfoProvider } from "./endpoints"; +import { Logger as __Logger } from "@aws-sdk/types"; + +export const ClientSharedValues = { + apiVersion: "2017-07-25", + disableHostPrefix: false, + logger: {} as __Logger, + regionInfoProvider: defaultRegionInfoProvider, + signingName: "s3-outposts", +}; diff --git a/clients/client-s3outposts/runtimeConfig.ts b/clients/client-s3outposts/runtimeConfig.ts new file mode 100644 index 000000000000..db800421f0d5 --- /dev/null +++ b/clients/client-s3outposts/runtimeConfig.ts @@ -0,0 +1,33 @@ +import packageInfo from "./package.json"; + +import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@aws-sdk/config-resolver"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; +import { Hash } from "@aws-sdk/hash-node"; +import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry"; +import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider"; +import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-node"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node"; +import { ClientDefaults } from "./S3OutpostsClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "node", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: new NodeHttpHandler(), + sha256: Hash.bind(null, "sha256"), + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-s3outposts/tsconfig.es.json b/clients/client-s3outposts/tsconfig.es.json new file mode 100644 index 000000000000..30df5d2e6986 --- /dev/null +++ b/clients/client-s3outposts/tsconfig.es.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "target": "es5", + "module": "esnext", + "moduleResolution": "node", + "declaration": false, + "declarationDir": null, + "lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], + "outDir": "dist/es" + } +} diff --git a/clients/client-s3outposts/tsconfig.json b/clients/client-s3outposts/tsconfig.json new file mode 100644 index 000000000000..3b440583a9a2 --- /dev/null +++ b/clients/client-s3outposts/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "alwaysStrict": true, + "target": "ES2018", + "module": "commonjs", + "declaration": true, + "strict": true, + "sourceMap": true, + "downlevelIteration": true, + "importHelpers": true, + "noEmitHelpers": true, + "incremental": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "declarationDir": "./types", + "outDir": "dist/cjs" + }, + "typedocOptions": { + "exclude": "**/node_modules/**", + "excludedNotExported": true, + "excludePrivate": true, + "hideGenerator": true, + "ignoreCompilerErrors": true, + "mode": "file", + "out": "./docs", + "plugin": "@aws-sdk/client-documentation-generator" + } +} diff --git a/clients/client-sagemaker-a2i-runtime/models/models_0.ts b/clients/client-sagemaker-a2i-runtime/models/models_0.ts index 041959d4ea43..a8f3e7fb39da 100644 --- a/clients/client-sagemaker-a2i-runtime/models/models_0.ts +++ b/clients/client-sagemaker-a2i-runtime/models/models_0.ts @@ -126,17 +126,27 @@ export enum HumanLoopStatus { } export interface DescribeHumanLoopResponse { + /** + *

                                                  The name of the human loop. The name must be lowercase, unique within the Region in your + * account, and can have up to 63 characters. Valid characters: a-z, 0-9, and - (hyphen).

                                                  + */ + HumanLoopName: string | undefined; + /** *

                                                  The status of the human loop.

                                                  */ HumanLoopStatus: HumanLoopStatus | string | undefined; /** - *

                                                  A failure code that identifies - * the - * type of failure.

                                                  + *

                                                  The Amazon Resource Name (ARN) of the flow definition.

                                                  */ - FailureCode?: string; + FlowDefinitionArn: string | undefined; + + /** + *

                                                  The reason why a human loop failed. The failure reason is returned when the status of the + * human loop is Failed.

                                                  + */ + FailureReason?: string; /** *

                                                  An object that contains information about the output of the human loop.

                                                  @@ -154,21 +164,11 @@ export interface DescribeHumanLoopResponse { CreationTime: Date | undefined; /** - *

                                                  The reason why a human loop failed. The failure reason is returned when the status of the - * human loop is Failed.

                                                  - */ - FailureReason?: string; - - /** - *

                                                  The name of the human loop. The name must be lowercase, unique within the Region in your - * account, and can have up to 63 characters. Valid characters: a-z, 0-9, and - (hyphen).

                                                  - */ - HumanLoopName: string | undefined; - - /** - *

                                                  The Amazon Resource Name (ARN) of the flow definition.

                                                  + *

                                                  A failure code that identifies + * the + * type of failure.

                                                  */ - FlowDefinitionArn: string | undefined; + FailureCode?: string; } export namespace DescribeHumanLoopResponse { @@ -188,6 +188,11 @@ export interface ListHumanLoopsRequest { */ CreationTimeAfter?: Date; + /** + *

                                                  A token to display the next page of results.

                                                  + */ + NextToken?: string; + /** *

                                                  (Optional) The timestamp of the date before which you want the human loops to begin in ISO 8601 format. For example, 2020-02-24.

                                                  */ @@ -200,11 +205,6 @@ export interface ListHumanLoopsRequest { */ MaxResults?: number; - /** - *

                                                  A token to display the next page of results.

                                                  - */ - NextToken?: string; - /** *

                                                  The Amazon Resource Name (ARN) of a flow definition.

                                                  */ @@ -227,17 +227,23 @@ export namespace ListHumanLoopsRequest { *

                                                  Summary information about the human loop.

                                                  */ export interface HumanLoopSummary { - /** - *

                                                  The name of the human loop.

                                                  - */ - HumanLoopName?: string; - /** *

                                                  The Amazon Resource Name (ARN) of the flow definition used to configure the human * loop.

                                                  */ FlowDefinitionArn?: string; + /** + *

                                                  The reason why the human loop failed. A failure reason is returned when the status of the + * human loop is Failed.

                                                  + */ + FailureReason?: string; + + /** + *

                                                  The name of the human loop.

                                                  + */ + HumanLoopName?: string; + /** *

                                                  The status of the human loop.

                                                  */ @@ -247,12 +253,6 @@ export interface HumanLoopSummary { *

                                                  When Amazon Augmented AI created the human loop.

                                                  */ CreationTime?: Date; - - /** - *

                                                  The reason why the human loop failed. A failure reason is returned when the status of the - * human loop is Failed.

                                                  - */ - FailureReason?: string; } export namespace HumanLoopSummary { @@ -263,14 +263,14 @@ export namespace HumanLoopSummary { export interface ListHumanLoopsResponse { /** - *

                                                  A token to display the next page of results.

                                                  + *

                                                  An array of objects that contain information about the human loops.

                                                  */ - NextToken?: string; + HumanLoopSummaries: HumanLoopSummary[] | undefined; /** - *

                                                  An array of objects that contain information about the human loops.

                                                  + *

                                                  A token to display the next page of results.

                                                  */ - HumanLoopSummaries: HumanLoopSummary[] | undefined; + NextToken?: string; } export namespace ListHumanLoopsResponse { @@ -359,11 +359,6 @@ export interface StartHumanLoopRequest { */ FlowDefinitionArn: string | undefined; - /** - *

                                                  An object that contains information about the human loop.

                                                  - */ - HumanLoopInput: HumanLoopInput | undefined; - /** *

                                                  The name of the human loop.

                                                  */ @@ -374,6 +369,11 @@ export interface StartHumanLoopRequest { * is free of personally identifiable information and/or free of adult content.

                                                  */ DataAttributes?: HumanLoopDataAttributes; + + /** + *

                                                  An object that contains information about the human loop.

                                                  + */ + HumanLoopInput: HumanLoopInput | undefined; } export namespace StartHumanLoopRequest { diff --git a/clients/client-sagemaker-a2i-runtime/protocols/Aws_restJson1.ts b/clients/client-sagemaker-a2i-runtime/protocols/Aws_restJson1.ts index cc81c88312e7..685540099620 100644 --- a/clients/client-sagemaker-a2i-runtime/protocols/Aws_restJson1.ts +++ b/clients/client-sagemaker-a2i-runtime/protocols/Aws_restJson1.ts @@ -100,11 +100,11 @@ export const serializeAws_restJson1ListHumanLoopsCommand = async ( ...(input.CreationTimeAfter !== undefined && { CreationTimeAfter: (input.CreationTimeAfter.toISOString().split(".")[0] + "Z").toString(), }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.CreationTimeBefore !== undefined && { CreationTimeBefore: (input.CreationTimeBefore.toISOString().split(".")[0] + "Z").toString(), }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.FlowDefinitionArn !== undefined && { FlowDefinitionArn: input.FlowDefinitionArn }), ...(input.SortOrder !== undefined && { SortOrder: input.SortOrder }), }; diff --git a/clients/client-sagemaker-runtime/SageMakerRuntime.ts b/clients/client-sagemaker-runtime/SageMakerRuntime.ts index 7486694d4cfd..35d3500f05e4 100644 --- a/clients/client-sagemaker-runtime/SageMakerRuntime.ts +++ b/clients/client-sagemaker-runtime/SageMakerRuntime.ts @@ -7,22 +7,29 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

                                                  - * Amazon SageMaker runtime API. - *

                                                  + *

                                                  The Amazon SageMaker runtime API.

                                                  */ export class SageMakerRuntime extends SageMakerRuntimeClient { /** *

                                                  After you deploy a model into production using Amazon SageMaker hosting services, your * client applications use this API to get inferences from the model hosted at the * specified endpoint.

                                                  - *

                                                  For an overview of Amazon SageMaker, see How It Works - *

                                                  - *

                                                  - * Amazon SageMaker strips all POST headers except those supported by - * the API. Amazon SageMaker might add additional headers. You should - * not rely on the behavior of headers outside those enumerated in the request syntax. - *

                                                  + *

                                                  For an overview of Amazon SageMaker, see How It Works.

                                                  + *

                                                  Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add + * additional headers. You should not rely on the behavior of headers outside those + * enumerated in the request syntax.

                                                  + *

                                                  Calls to InvokeEndpoint are authenticated by using AWS Signature Version + * 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API + * Reference.

                                                  + *

                                                  A customer's model containers must respond to requests within 60 seconds. The model + * itself can have a maximum processing time of 60 seconds before responding to the + * /invocations. If your model is going to take 50-60 seconds of processing time, the SDK + * socket timeout should be set to be 70 seconds.

                                                  + * + *

                                                  Endpoints are scoped to an individual account, and are not public. The URL does + * not contain the account ID, but Amazon SageMaker determines the account ID from the + * authentication token that is supplied by the caller.

                                                  + *
                                                  */ public invokeEndpoint( args: InvokeEndpointCommandInput, diff --git a/clients/client-sagemaker-runtime/SageMakerRuntimeClient.ts b/clients/client-sagemaker-runtime/SageMakerRuntimeClient.ts index 1f9444c22333..76848af96885 100644 --- a/clients/client-sagemaker-runtime/SageMakerRuntimeClient.ts +++ b/clients/client-sagemaker-runtime/SageMakerRuntimeClient.ts @@ -165,9 +165,7 @@ export type SageMakerRuntimeClientResolvedConfig = __SmithyResolvedConfiguration HostHeaderResolvedConfig; /** - *

                                                  - * Amazon SageMaker runtime API. - *

                                                  + *

                                                  The Amazon SageMaker runtime API.

                                                  */ export class SageMakerRuntimeClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-sagemaker-runtime/models/models_0.ts b/clients/client-sagemaker-runtime/models/models_0.ts index 072c5aa87235..1ede1563b84b 100644 --- a/clients/client-sagemaker-runtime/models/models_0.ts +++ b/clients/client-sagemaker-runtime/models/models_0.ts @@ -2,9 +2,7 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; /** - *

                                                  - * Internal failure occurred. - *

                                                  + *

                                                  An internal failure occurred.

                                                  */ export interface InternalFailure extends __SmithyException, $MetadataBearer { name: "InternalFailure"; @@ -24,18 +22,45 @@ export interface InvokeEndpointInput { */ ContentType?: string; + /** + *

                                                  The model to request for inference when invoking a multi-model endpoint.

                                                  + */ + TargetModel?: string; + /** *

                                                  Provides input data, in the format specified in the ContentType * request header. Amazon SageMaker passes all of the data in the body to the model.

                                                  + *

                                                  For information about the format of the request body, see Common Data + * Formats-Inference.

                                                  */ Body: Uint8Array | undefined; + /** + *

                                                  Provides additional information about a request for an inference submitted to a model + * hosted at an Amazon SageMaker endpoint. The information is an opaque value that is + * forwarded verbatim. You could use this value, for example, to provide an ID that you can + * use to track a request or to provide other metadata that a service endpoint was + * programmed to process. The value must consist of no more than 1024 visible US-ASCII + * characters as specified in Section 3.3.6. Field Value + * Components of the Hypertext Transfer Protocol (HTTP/1.1). This feature is + * currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.

                                                  + */ + CustomAttributes?: string; + /** *

                                                  The name of the endpoint that you specified when you created the endpoint using the * CreateEndpoint API.

                                                  */ EndpointName: string | undefined; + /** + *

                                                  Specify the production variant to send the inference request to when + * invoking an endpoint that is running two or more variants. Note that this parameter + * overrides the default behavior for the endpoint, which is to distribute the invocation + * traffic based on the variant weights.

                                                  + */ + TargetVariant?: string; + /** *

                                                  The desired MIME type of the inference in the response.

                                                  */ @@ -46,61 +71,73 @@ export namespace InvokeEndpointInput { export const filterSensitiveLog = (obj: InvokeEndpointInput): any => ({ ...obj, ...(obj.Body && { Body: SENSITIVE_STRING }), + ...(obj.CustomAttributes && { CustomAttributes: SENSITIVE_STRING }), }); } export interface InvokeEndpointOutput { /** - *

                                                  Includes the inference provided by the model.

                                                  + *

                                                  Identifies the production variant that was invoked.

                                                  */ - Body: Uint8Array | undefined; + InvokedProductionVariant?: string; /** - *

                                                  Identifies the production variant that was invoked.

                                                  + *

                                                  Includes the inference provided by the model.

                                                  + *

                                                  For information about the format of the response body, see Common Data + * Formats-Inference.

                                                  */ - InvokedProductionVariant?: string; + Body: Uint8Array | undefined; /** *

                                                  The MIME type of the inference returned in the response body.

                                                  */ ContentType?: string; + + /** + *

                                                  Provides additional information in the response about the inference returned by a + * model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is + * forwarded verbatim. You could use this value, for example, to return an ID received in + * the CustomAttributes header of a request or other metadata that a service + * endpoint was programmed to produce. The value must consist of no more than 1024 visible + * US-ASCII characters as specified in Section 3.3.6. Field Value + * Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer + * wants the custom attribute returned, the model must set the custom attribute to be + * included on the way back.

                                                  + *

                                                  This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker + * Python SDK.

                                                  + */ + CustomAttributes?: string; } export namespace InvokeEndpointOutput { export const filterSensitiveLog = (obj: InvokeEndpointOutput): any => ({ ...obj, ...(obj.Body && { Body: SENSITIVE_STRING }), + ...(obj.CustomAttributes && { CustomAttributes: SENSITIVE_STRING }), }); } /** - *

                                                  - * Model (owned by the customer in the container) returned an error 500. + *

                                                  Model (owned by the customer in the container) returned 4xx or 5xx error code. *

                                                  */ export interface ModelError extends __SmithyException, $MetadataBearer { name: "ModelError"; $fault: "client"; /** - *

                                                  - * Amazon Resource Name (ARN) of the log stream. - *

                                                  + *

                                                  The Amazon Resource Name (ARN) of the log stream.

                                                  */ LogStreamArn?: string; /** - *

                                                  - * Original status code. - *

                                                  + *

                                                  Original message.

                                                  */ - OriginalStatusCode?: number; + OriginalMessage?: string; /** - *

                                                  - * Original message. - *

                                                  + *

                                                  Original status code.

                                                  */ - OriginalMessage?: string; + OriginalStatusCode?: number; Message?: string; } @@ -112,9 +149,7 @@ export namespace ModelError { } /** - *

                                                  - * Service is unavailable. Try your call again. - *

                                                  + *

                                                  The service is unavailable. Try your call again.

                                                  */ export interface ServiceUnavailable extends __SmithyException, $MetadataBearer { name: "ServiceUnavailable"; @@ -129,10 +164,7 @@ export namespace ServiceUnavailable { } /** - *

                                                  - * Inspect your request and try again. - * - *

                                                  + *

                                                  Inspect your request and try again.

                                                  */ export interface ValidationError extends __SmithyException, $MetadataBearer { name: "ValidationError"; diff --git a/clients/client-sagemaker-runtime/protocols/Aws_restJson1.ts b/clients/client-sagemaker-runtime/protocols/Aws_restJson1.ts index 6d3e4ac26a11..df2e9d221db3 100644 --- a/clients/client-sagemaker-runtime/protocols/Aws_restJson1.ts +++ b/clients/client-sagemaker-runtime/protocols/Aws_restJson1.ts @@ -19,6 +19,11 @@ export const serializeAws_restJson1InvokeEndpointCommand = async ( const headers: any = { "Content-Type": "application/octet-stream", ...(isSerializableHeaderValue(input.ContentType) && { "Content-Type": input.ContentType! }), + ...(isSerializableHeaderValue(input.TargetModel) && { "X-Amzn-SageMaker-Target-Model": input.TargetModel! }), + ...(isSerializableHeaderValue(input.CustomAttributes) && { + "X-Amzn-SageMaker-Custom-Attributes": input.CustomAttributes!, + }), + ...(isSerializableHeaderValue(input.TargetVariant) && { "X-Amzn-SageMaker-Target-Variant": input.TargetVariant! }), ...(isSerializableHeaderValue(input.Accept) && { Accept: input.Accept! }), }; let resolvedPath = "/endpoints/{EndpointName}/invocations"; @@ -58,6 +63,7 @@ export const deserializeAws_restJson1InvokeEndpointCommand = async ( $metadata: deserializeMetadata(output), Body: undefined, ContentType: undefined, + CustomAttributes: undefined, InvokedProductionVariant: undefined, }; if (output.headers["x-amzn-invoked-production-variant"] !== undefined) { @@ -66,6 +72,9 @@ export const deserializeAws_restJson1InvokeEndpointCommand = async ( if (output.headers["content-type"] !== undefined) { contents.ContentType = output.headers["content-type"]; } + if (output.headers["x-amzn-sagemaker-custom-attributes"] !== undefined) { + contents.CustomAttributes = output.headers["x-amzn-sagemaker-custom-attributes"]; + } const data: any = await collectBody(output.body, context); contents.Body = data; return Promise.resolve(contents); diff --git a/clients/client-sagemaker/SageMaker.ts b/clients/client-sagemaker/SageMaker.ts index 6701e15a129f..59caabf11224 100644 --- a/clients/client-sagemaker/SageMaker.ts +++ b/clients/client-sagemaker/SageMaker.ts @@ -781,11 +781,12 @@ export class SageMaker extends SageMakerClient { } /** - *

                                                  Creates an AutoPilot job.

                                                  - *

                                                  After you run an AutoPilot job, you can find the best performing model by calling , and then deploy that model by following the steps - * described in Step 6.1: Deploy the Model to Amazon SageMaker Hosting Services.

                                                  - *

                                                  For information about how to use AutoPilot, see Use AutoPilot to Automate - * Model Development.

                                                  + *

                                                  Creates an Autopilot job.

                                                  + *

                                                  Find the best performing model after you run an Autopilot job by calling . Deploy that model by following the steps described in + * Step 6.1: + * Deploy the Model to Amazon SageMaker Hosting Services.

                                                  + *

                                                  For information about how to use Autopilot, see Automate Model + * Development with Amazon SageMaker Autopilot.

                                                  */ public createAutoMLJob( args: CreateAutoMLJobCommandInput, @@ -918,20 +919,78 @@ export class SageMaker extends SageMakerClient { } /** - *

                                                  Creates a Domain used by SageMaker Studio. A domain consists of an associated - * directory, a list of authorized users, and a variety of security, application, policy, and - * Amazon Virtual Private Cloud (VPC) configurations. An AWS account is limited to one domain per region. Users - * within a domain can share notebook files and other artifacts with each other.

                                                  - *

                                                  When a domain is created, an Amazon Elastic File System (EFS) volume is also created for use by all of the users - * within the domain. Each user receives a private home directory within the EFS for notebooks, - * Git repositories, and data files.

                                                  - *

                                                  All traffic between the domain and the EFS volume is communicated through the specified - * subnet IDs. All other traffic goes over the Internet through an Amazon SageMaker system VPC. The EFS - * traffic uses the NFS/TCP protocol over port 2049.

                                                  - * - *

                                                  NFS traffic over TCP on port 2049 needs to be allowed in both inbound and outbound rules - * in order to launch a SageMaker Studio app successfully.

                                                  - *
                                                  + *

                                                  Creates a Domain used by Amazon SageMaker Studio. A domain consists of an associated + * Amazon Elastic File System (EFS) volume, a list of authorized users, and a variety of security, application, + * policy, and Amazon Virtual Private Cloud (VPC) configurations. An AWS account is limited to one domain per region. + * Users within a domain can share notebook files and other artifacts with each other.

                                                  + *

                                                  When a domain is created, an EFS volume is created for use by all of the users within the + * domain. Each user receives a private home directory within the EFS volume for notebooks, + * Git repositories, and data files.

                                                  + * + *

                                                  + * VPC configuration + *

                                                  + *

                                                  All SageMaker Studio traffic between the domain and the EFS volume is through the specified + * VPC and subnets. For other Studio traffic, you can specify the AppNetworkAccessType + * parameter. AppNetworkAccessType corresponds to the network access type that you + * choose when you onboard to Studio. The following options are available:

                                                  + *
                                                    + *
                                                  • + *

                                                    + * PublicInternetOnly - Non-EFS traffic goes through a VPC managed by + * Amazon SageMaker, which allows internet access. This is the default value.

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * VpcOnly - All Studio traffic is through the specified VPC and subnets. + * Internet access is disabled by default. To allow internet access, you must specify a + * NAT gateway.

                                                    + *

                                                    When internet access is disabled, you won't be able to train or host models unless + * your VPC has an interface endpoint (PrivateLink) or a NAT gateway and your security groups + * allow outbound connections.

                                                    + *
                                                  • + *
                                                  + * + *

                                                  + * + * VpcOnly network access type + *

                                                  + *

                                                  When you choose VpcOnly, you must specify the following:

                                                  + *
                                                    + *
                                                  • + *

                                                    Security group inbound and outbound rules to allow NFS traffic over TCP on port 2049 + * between the domain and the EFS volume

                                                    + * + *
                                                  • + *
                                                  • + *

                                                    Security group inbound and outbound rules to allow traffic between the JupyterServer + * app and the KernelGateway apps

                                                    + *
                                                  • + *
                                                  • + *

                                                    Interface endpoints to access the SageMaker API and SageMaker runtime

                                                    + *
                                                  • + *
                                                  + *

                                                  For more information, see:

                                                  + * */ public createDomain( args: CreateDomainCommandInput, @@ -1550,6 +1609,11 @@ export class SageMaker extends SageMakerClient { * the Apps and files associated with the Domain's Amazon Elastic File System (EFS) volume. * This operation can only be called when the authentication mode equals IAM. *

                                                  + * + *

                                                  The URL that you get from a call to CreatePresignedDomainUrl is valid + * only for 5 minutes. If you try to use the URL after the 5-minute limit expires, you + * are directed to the AWS console sign-in page.

                                                  + *
                                                  */ public createPresignedDomainUrl( args: CreatePresignedDomainUrlCommandInput, @@ -1948,11 +2012,11 @@ export class SageMaker extends SageMakerClient { /** *

                                                  Use this operation to create a workforce. This operation will return an error * if a workforce already exists in the AWS Region that you specify. You can only - * create one workforce in each AWS Region.

                                                  + * create one workforce in each AWS Region per AWS account.

                                                  * - *

                                                  If you want to create a new workforce in an AWS Region where the + *

                                                  If you want to create a new workforce in an AWS Region where * a workforce already exists, use the API - * operation to delete the existing workforce and then use this operation + * operation to delete the existing workforce and then use CreateWorkforce * to create a new workforce.

                                                  * *

                                                  To create a private workforce using Amazon Cognito, you must specify a Cognito user pool @@ -1963,9 +2027,9 @@ export class SageMaker extends SageMakerClient { * Create a Private Workforce (Amazon Cognito).

                                                  * *

                                                  To create a private workforce using your own OIDC Identity Provider (IdP), specify your IdP - * configuration in OidcConfig. You must create a OIDC IdP workforce using - * this API operation. For more information, see - * + * configuration in OidcConfig. Your OIDC IdP must support groups + * because groups are used by Ground Truth and Amazon A2I to create work teams. + * For more information, see * Create a Private Workforce (OIDC IdP).

                                                  */ public createWorkforce( @@ -2630,10 +2694,17 @@ export class SageMaker extends SageMakerClient { /** *

                                                  Use this operation to delete a workforce.

                                                  * - *

                                                  If you want to create a new workforce in an AWS Region where the + *

                                                  If you want to create a new workforce in an AWS Region where * a workforce already exists, use this operation to delete the * existing workforce and then use * to create a new workforce.

                                                  + * + *

                                                  If a private workforce contains one or more work teams, you must use + * the + * operation to delete all work teams before you delete the workforce. + * If you try to delete a workforce that contains one or more work teams, + * you will recieve a ResourceInUse error.

                                                  + *
                                                  */ public deleteWorkforce( args: DeleteWorkforceCommandInput, @@ -4645,7 +4716,7 @@ export class SageMaker extends SageMakerClient { } /** - *

                                                  Gets a list of work teams that you have defined in a region. The list may be empty if + *

                                                  Gets a list of private work teams that you have defined in a region. The list may be empty if * no work team satisfies the filter specified in the NameContains * parameter.

                                                  */ @@ -5498,17 +5569,27 @@ export class SageMaker extends SageMakerClient { } /** - *

                                                  Restricts access to tasks assigned to workers in the specified workforce to those - * within specific ranges of IP addresses. You specify allowed IP addresses by creating a - * list of up to ten CIDRs.

                                                  - *

                                                  By default, a workforce isn't restricted to specific IP addresses. If you specify a + *

                                                  Use this operation to update your workforce. You can use this operation to + * require that workers use specific IP addresses to work on tasks + * and to update your OpenID Connect (OIDC) Identity Provider (IdP) workforce configuration.

                                                  + * + *

                                                  Use SourceIpConfig to restrict worker access to tasks to a specific range of IP addresses. + * You specify allowed IP addresses by creating a list of up to ten CIDRs. + * By default, a workforce isn't restricted to specific IP addresses. If you specify a * range of IP addresses, workers who attempt to access tasks using any IP address outside - * the specified range are denied access and get a Not Found error message on - * the worker portal. After restricting access with this operation, you can see the allowed - * IP values for a private workforce with the + * the specified range are denied and get a Not Found error message on + * the worker portal.

                                                  + *

                                                  Use OidcConfig to update the configuration of a workforce created using + * your own OIDC IdP.

                                                  + * + *

                                                  You can only update your OIDC IdP configuration when there are no work teams + * associated with your workforce. You can delete work teams using the operation.

                                                  + *
                                                  + *

                                                  After restricting access to a range of IP addresses or updating your OIDC IdP configuration with this operation, you + * can view details about your update workforce using the * operation.

                                                  * - *

                                                  This operation applies only to private workforces.

                                                  + *

                                                  This operation only applies to private workforces.

                                                  *
                                                  */ public updateWorkforce( diff --git a/clients/client-sagemaker/commands/DeleteNotebookInstanceLifecycleConfigCommand.ts b/clients/client-sagemaker/commands/DeleteNotebookInstanceLifecycleConfigCommand.ts index c969a8ce804d..6ed836523c90 100644 --- a/clients/client-sagemaker/commands/DeleteNotebookInstanceLifecycleConfigCommand.ts +++ b/clients/client-sagemaker/commands/DeleteNotebookInstanceLifecycleConfigCommand.ts @@ -1,5 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { DeleteNotebookInstanceLifecycleConfigInput } from "../models/models_0"; +import { DeleteNotebookInstanceLifecycleConfigInput } from "../models/models_1"; import { deserializeAws_json1_1DeleteNotebookInstanceLifecycleConfigCommand, serializeAws_json1_1DeleteNotebookInstanceLifecycleConfigCommand, diff --git a/clients/client-sagemaker/commands/DeleteTagsCommand.ts b/clients/client-sagemaker/commands/DeleteTagsCommand.ts index 8b1ffa5bed4b..51ae38f98589 100644 --- a/clients/client-sagemaker/commands/DeleteTagsCommand.ts +++ b/clients/client-sagemaker/commands/DeleteTagsCommand.ts @@ -1,5 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { DeleteTagsInput, DeleteTagsOutput } from "../models/models_0"; +import { DeleteTagsInput, DeleteTagsOutput } from "../models/models_1"; import { deserializeAws_json1_1DeleteTagsCommand, serializeAws_json1_1DeleteTagsCommand, diff --git a/clients/client-sagemaker/commands/DeleteTrialCommand.ts b/clients/client-sagemaker/commands/DeleteTrialCommand.ts index 74baa6ab0e4e..def8fe3c5240 100644 --- a/clients/client-sagemaker/commands/DeleteTrialCommand.ts +++ b/clients/client-sagemaker/commands/DeleteTrialCommand.ts @@ -1,6 +1,5 @@ import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; -import { DeleteTrialRequest } from "../models/models_0"; -import { DeleteTrialResponse } from "../models/models_1"; +import { DeleteTrialRequest, DeleteTrialResponse } from "../models/models_1"; import { deserializeAws_json1_1DeleteTrialCommand, serializeAws_json1_1DeleteTrialCommand, diff --git a/clients/client-sagemaker/models/models_0.ts b/clients/client-sagemaker/models/models_0.ts index b2fcdeb932ae..70069c194248 100644 --- a/clients/client-sagemaker/models/models_0.ts +++ b/clients/client-sagemaker/models/models_0.ts @@ -10,14 +10,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface Tag { /** - *

                                                  The tag value.

                                                  + *

                                                  The tag key.

                                                  */ - Value: string | undefined; + Key: string | undefined; /** - *

                                                  The tag key.

                                                  + *

                                                  The tag value.

                                                  */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -111,23 +111,28 @@ export enum TrainingInputMode { */ export interface AlgorithmSpecification { /** - *

                                                  The input mode that the algorithm supports. For the input modes that Amazon SageMaker - * algorithms support, see Algorithms. If an algorithm supports the File input mode, Amazon SageMaker - * downloads the training data from S3 to the provisioned ML storage Volume, and mounts the - * directory to docker volume for training container. If an algorithm supports the - * Pipe input mode, Amazon SageMaker streams data directly from S3 to the container.

                                                  - *

                                                  In File mode, make sure you provision ML storage volume with sufficient capacity - * to accommodate the data download from S3. In addition to the training data, the ML - * storage volume also stores the output model. The algorithm container use ML storage - * volume to also store intermediate information, if any.

                                                  - *

                                                  For distributed algorithms using File mode, training data is distributed - * uniformly, and your training duration is predictable if the input data objects size is - * approximately same. Amazon SageMaker does not split the files any further for model training. If the - * object sizes are skewed, training won't be optimal as the data distribution is also - * skewed where one host in a training cluster is overloaded, thus becoming bottleneck in - * training.

                                                  + *

                                                  The registry path of the Docker image + * that contains the training algorithm. + * For information about docker registry paths for built-in algorithms, see Algorithms + * Provided by Amazon SageMaker: Common Parameters. Amazon SageMaker supports both + * registry/repository[:tag] and registry/repository[@digest] + * image path formats. For more information, see Using Your Own Algorithms with Amazon + * SageMaker.

                                                  */ - TrainingInputMode: TrainingInputMode | string | undefined; + TrainingImage?: string; + + /** + *

                                                  The name of the algorithm resource to use for the training job. This must be an + * algorithm resource that you created or subscribe to on AWS Marketplace. If you specify a value for + * this parameter, you can't specify a value for TrainingImage.

                                                  + */ + AlgorithmName?: string; + + /** + *

                                                  A list of metric definition objects. Each object specifies the metric name and regular + * expressions used to parse algorithm logs. Amazon SageMaker publishes each metric to Amazon CloudWatch.

                                                  + */ + MetricDefinitions?: MetricDefinition[]; /** *

                                                  To generate and save time-series metrics during training, set to true. @@ -160,28 +165,23 @@ export interface AlgorithmSpecification { EnableSageMakerMetricsTimeSeries?: boolean; /** - *

                                                  The name of the algorithm resource to use for the training job. This must be an - * algorithm resource that you created or subscribe to on AWS Marketplace. If you specify a value for - * this parameter, you can't specify a value for TrainingImage.

                                                  - */ - AlgorithmName?: string; - - /** - *

                                                  A list of metric definition objects. Each object specifies the metric name and regular - * expressions used to parse algorithm logs. Amazon SageMaker publishes each metric to Amazon CloudWatch.

                                                  - */ - MetricDefinitions?: MetricDefinition[]; - - /** - *

                                                  The registry path of the Docker image - * that contains the training algorithm. - * For information about docker registry paths for built-in algorithms, see Algorithms - * Provided by Amazon SageMaker: Common Parameters. Amazon SageMaker supports both - * registry/repository[:tag] and registry/repository[@digest] - * image path formats. For more information, see Using Your Own Algorithms with Amazon - * SageMaker.

                                                  + *

                                                  The input mode that the algorithm supports. For the input modes that Amazon SageMaker + * algorithms support, see Algorithms. If an algorithm supports the File input mode, Amazon SageMaker + * downloads the training data from S3 to the provisioned ML storage Volume, and mounts the + * directory to docker volume for training container. If an algorithm supports the + * Pipe input mode, Amazon SageMaker streams data directly from S3 to the container.

                                                  + *

                                                  In File mode, make sure you provision ML storage volume with sufficient capacity + * to accommodate the data download from S3. In addition to the training data, the ML + * storage volume also stores the output model. The algorithm container use ML storage + * volume to also store intermediate information, if any.

                                                  + *

                                                  For distributed algorithms using File mode, training data is distributed + * uniformly, and your training duration is predictable if the input data objects size is + * approximately same. Amazon SageMaker does not split the files any further for model training. If the + * object sizes are skewed, training won't be optimal as the data distribution is also + * skewed where one host in a training cluster is overloaded, thus becoming bottleneck in + * training.

                                                  */ - TrainingImage?: string; + TrainingInputMode: TrainingInputMode | string | undefined; } export namespace AlgorithmSpecification { @@ -210,9 +210,9 @@ export enum DetailedAlgorithmStatus { */ export interface AlgorithmStatusItem { /** - *

                                                  The current status.

                                                  + *

                                                  The name of the algorithm for which the overall status is being reported.

                                                  */ - Status: DetailedAlgorithmStatus | string | undefined; + Name: string | undefined; /** *

                                                  if the overall status is Failed, the reason for the failure.

                                                  @@ -220,9 +220,9 @@ export interface AlgorithmStatusItem { FailureReason?: string; /** - *

                                                  The name of the algorithm for which the overall status is being reported.

                                                  + *

                                                  The current status.

                                                  */ - Name: string | undefined; + Status: DetailedAlgorithmStatus | string | undefined; } export namespace AlgorithmStatusItem { @@ -236,14 +236,14 @@ export namespace AlgorithmStatusItem { */ export interface AlgorithmStatusDetails { /** - *

                                                  The status of algorithm validation.

                                                  + *

                                                  The status of the scan of the algorithm's Docker image container.

                                                  */ - ValidationStatuses?: AlgorithmStatusItem[]; + ImageScanStatuses?: AlgorithmStatusItem[]; /** - *

                                                  The status of the scan of the algorithm's Docker image container.

                                                  + *

                                                  The status of algorithm validation.

                                                  */ - ImageScanStatuses?: AlgorithmStatusItem[]; + ValidationStatuses?: AlgorithmStatusItem[]; } export namespace AlgorithmStatusDetails { @@ -256,11 +256,6 @@ export namespace AlgorithmStatusDetails { *

                                                  Provides summary information about an algorithm.

                                                  */ export interface AlgorithmSummary { - /** - *

                                                  A timestamp that shows when the algorithm was created.

                                                  - */ - CreationTime: Date | undefined; - /** *

                                                  A brief description of the algorithm.

                                                  */ @@ -271,6 +266,11 @@ export interface AlgorithmSummary { */ AlgorithmStatus: AlgorithmStatus | string | undefined; + /** + *

                                                  A timestamp that shows when the algorithm was created.

                                                  + */ + CreationTime: Date | undefined; + /** *

                                                  The Amazon Resource Name (ARN) of the algorithm.

                                                  */ @@ -308,16 +308,14 @@ export enum FileSystemType { */ export interface FileSystemDataSource { /** - *

                                                  The full path to the directory to associate with the channel.

                                                  + *

                                                  The file system id.

                                                  */ - DirectoryPath: string | undefined; + FileSystemId: string | undefined; /** - *

                                                  The access mode of the mount of the directory associated with the channel. A directory - * can be mounted either in ro (read-only) or rw (read-write) - * mode.

                                                  + *

                                                  The full path to the directory to associate with the channel.

                                                  */ - FileSystemAccessMode: FileSystemAccessMode | string | undefined; + DirectoryPath: string | undefined; /** *

                                                  The file system type.

                                                  @@ -325,9 +323,11 @@ export interface FileSystemDataSource { FileSystemType: FileSystemType | string | undefined; /** - *

                                                  The file system id.

                                                  + *

                                                  The access mode of the mount of the directory associated with the channel. A directory + * can be mounted either in ro (read-only) or rw (read-write) + * mode.

                                                  */ - FileSystemId: string | undefined; + FileSystemAccessMode: FileSystemAccessMode | string | undefined; } export namespace FileSystemDataSource { @@ -351,25 +351,6 @@ export enum S3DataType { *

                                                  Describes the S3 data source.

                                                  */ export interface S3DataSource { - /** - *

                                                  If you want Amazon SageMaker to replicate the entire dataset on each ML compute instance that - * is launched for model training, specify FullyReplicated.

                                                  - *

                                                  If you want Amazon SageMaker to replicate a subset of data on each ML compute instance that is - * launched for model training, specify ShardedByS3Key. If there are - * n ML compute instances launched for a training job, each - * instance gets approximately 1/n of the number of S3 objects. In - * this case, model training on each machine uses only the subset of training data.

                                                  - *

                                                  Don't choose more ML compute instances for training than available S3 objects. If - * you do, some nodes won't get any data and you will pay for nodes that aren't getting any - * training data. This applies in both File and Pipe modes. Keep this in mind when - * developing algorithms.

                                                  - *

                                                  In distributed training, where you use multiple ML compute EC2 instances, you might - * choose ShardedByS3Key. If the algorithm requires copying training data to - * the ML storage volume (when TrainingInputMode is set to File), - * this copies 1/n of the number of objects.

                                                  - */ - S3DataDistributionType?: S3DataDistribution | string; - /** *

                                                  A list of one or more attribute names to use that are found in a specified augmented * manifest file.

                                                  @@ -427,7 +408,8 @@ export interface S3DataSource { *

                                                  * ] *

                                                  - *

                                                  This JSON is equivalent to the following S3Uri list:

                                                  + *

                                                  This JSON is equivalent to the following S3Uri + * list:

                                                  *

                                                  * s3://customer_bucket/some/prefix/relative/path/to/custdata-1 *

                                                  @@ -448,6 +430,25 @@ export interface S3DataSource { *
                                                */ S3Uri: string | undefined; + + /** + *

                                                If you want Amazon SageMaker to replicate the entire dataset on each ML compute instance that + * is launched for model training, specify FullyReplicated.

                                                + *

                                                If you want Amazon SageMaker to replicate a subset of data on each ML compute instance that is + * launched for model training, specify ShardedByS3Key. If there are + * n ML compute instances launched for a training job, each + * instance gets approximately 1/n of the number of S3 objects. In + * this case, model training on each machine uses only the subset of training data.

                                                + *

                                                Don't choose more ML compute instances for training than available S3 objects. If + * you do, some nodes won't get any data and you will pay for nodes that aren't getting any + * training data. This applies in both File and Pipe modes. Keep this in mind when + * developing algorithms.

                                                + *

                                                In distributed training, where you use multiple ML compute EC2 instances, you might + * choose ShardedByS3Key. If the algorithm requires copying training data to + * the ML storage volume (when TrainingInputMode is set to File), + * this copies 1/n of the number of objects.

                                                + */ + S3DataDistributionType?: S3DataDistribution | string; } export namespace S3DataSource { @@ -461,14 +462,14 @@ export namespace S3DataSource { */ export interface DataSource { /** - *

                                                The S3 location of the data source that is associated with a channel.

                                                + *

                                                The file system that is associated with a channel.

                                                */ - S3DataSource?: S3DataSource; + FileSystemDataSource?: FileSystemDataSource; /** - *

                                                The file system that is associated with a channel.

                                                + *

                                                The S3 location of the data source that is associated with a channel.

                                                */ - FileSystemDataSource?: FileSystemDataSource; + S3DataSource?: S3DataSource; } export namespace DataSource { @@ -515,24 +516,27 @@ export namespace ShuffleConfig { *

                                                A channel is a named input source that training algorithms can consume.

                                                */ export interface Channel { + /** + *

                                                The location of the channel data.

                                                + */ + DataSource: DataSource | undefined; + /** *

                                                The MIME type of the data.

                                                */ ContentType?: string; /** - *

                                                (Optional) The input mode to use for the data channel in a training job. If you don't - * set a value for InputMode, Amazon SageMaker uses the value set for - * TrainingInputMode. Use this parameter to override the - * TrainingInputMode setting in a AlgorithmSpecification - * request when you have a channel that needs a different input mode from the training - * job's general setting. To download the data from Amazon Simple Storage Service (Amazon S3) to the provisioned ML - * storage volume, and mount the directory to a Docker volume, use File input - * mode. To stream data directly from Amazon S3 to the container, choose Pipe input - * mode.

                                                - *

                                                To use a model for incremental training, choose File input model.

                                                + *

                                                The name of the channel.

                                                */ - InputMode?: TrainingInputMode | string; + ChannelName: string | undefined; + + /** + *

                                                If training data is compressed, the compression type. The default value is + * None. CompressionType is used only in Pipe input mode. In + * File mode, leave this field unset or set it to None.

                                                + */ + CompressionType?: CompressionType | string; /** *

                                                A configuration for a shuffle option for input data in a channel. If you use @@ -552,6 +556,20 @@ export interface Channel { */ ShuffleConfig?: ShuffleConfig; + /** + *

                                                (Optional) The input mode to use for the data channel in a training job. If you don't + * set a value for InputMode, Amazon SageMaker uses the value set for + * TrainingInputMode. Use this parameter to override the + * TrainingInputMode setting in a AlgorithmSpecification + * request when you have a channel that needs a different input mode from the training + * job's general setting. To download the data from Amazon Simple Storage Service (Amazon S3) to the provisioned ML + * storage volume, and mount the directory to a Docker volume, use File input + * mode. To stream data directly from Amazon S3 to the container, choose Pipe input + * mode.

                                                + *

                                                To use a model for incremental training, choose File input model.

                                                + */ + InputMode?: TrainingInputMode | string; + /** *

                                                *

                                                Specify RecordIO as the value when input data is in raw format but the training @@ -562,23 +580,6 @@ export interface Channel { *

                                                In File mode, leave this field unset or set it to None.

                                                */ RecordWrapperType?: RecordWrapper | string; - - /** - *

                                                The name of the channel.

                                                - */ - ChannelName: string | undefined; - - /** - *

                                                If training data is compressed, the compression type. The default value is - * None. CompressionType is used only in Pipe input mode. In - * File mode, leave this field unset or set it to None.

                                                - */ - CompressionType?: CompressionType | string; - - /** - *

                                                The location of the channel data.

                                                - */ - DataSource: DataSource | undefined; } export namespace Channel { @@ -592,6 +593,12 @@ export namespace Channel { * artifacts).

                                                */ export interface OutputDataConfig { + /** + *

                                                Identifies the S3 path where you want Amazon SageMaker to store the model artifacts. For + * example, s3://bucket-name/key-name-prefix.

                                                + */ + S3OutputPath: string | undefined; + /** *

                                                The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using * Amazon S3 server-side encryption. The KmsKeyId can be any of the following @@ -640,12 +647,6 @@ export interface OutputDataConfig { * Guide.

                                                */ KmsKeyId?: string; - - /** - *

                                                Identifies the S3 path where you want Amazon SageMaker to store the model artifacts. For - * example, s3://bucket-name/key-name-prefix.

                                                - */ - S3OutputPath: string | undefined; } export namespace OutputDataConfig { @@ -701,13 +702,47 @@ export enum TrainingInstanceType { */ export interface ResourceConfig { /** - *

                                                The AWS KMS key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML - * compute instance(s) that run the training job.

                                                + *

                                                The number of ML compute instances to use. For distributed training, provide a + * value greater than 1.

                                                + */ + InstanceCount: number | undefined; + + /** + *

                                                The size of the ML storage volume that you want to provision.

                                                + *

                                                ML storage volumes store model artifacts and incremental states. Training + * algorithms might also use the ML storage volume for scratch space. If you want to store + * the training data in the ML storage volume, choose File as the + * TrainingInputMode in the algorithm specification.

                                                + *

                                                You must specify sufficient ML storage for your scenario.

                                                * - *

                                                Certain Nitro-based instances include local storage, dependent on the instance - * type. Local storage volumes are encrypted using a hardware module on the instance. - * You can't request a VolumeKmsKeyId when using an instance type with - * local storage.

                                                + *

                                                Amazon SageMaker supports only the General Purpose SSD (gp2) ML storage volume type. + *

                                                + *
                                                + * + *

                                                Certain Nitro-based instances include local storage with a fixed total size, + * dependent on the instance type. When using these instances for training, Amazon SageMaker mounts + * the local instance storage instead of Amazon EBS gp2 storage. You can't request a + * VolumeSizeInGB greater than the total size of the local instance + * storage.

                                                + *

                                                For a list of instance types that support local instance storage, including the + * total size per instance type, see Instance Store Volumes.

                                                + *
                                                + */ + VolumeSizeInGB: number | undefined; + + /** + *

                                                The ML compute instance type.

                                                + */ + InstanceType: TrainingInstanceType | string | undefined; + + /** + *

                                                The AWS KMS key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML + * compute instance(s) that run the training job.

                                                + * + *

                                                Certain Nitro-based instances include local storage, dependent on the instance + * type. Local storage volumes are encrypted using a hardware module on the instance. + * You can't request a VolumeKmsKeyId when using an instance type with + * local storage.

                                                *

                                                For a list of instance types that support local instance storage, see Instance Store Volumes.

                                                *

                                                For more information about local instance storage encryption, see SSD * Instance Store Volumes.

                                                @@ -729,40 +764,6 @@ export interface ResourceConfig { *
                                              */ VolumeKmsKeyId?: string; - - /** - *

                                              The ML compute instance type.

                                              - */ - InstanceType: TrainingInstanceType | string | undefined; - - /** - *

                                              The number of ML compute instances to use. For distributed training, provide a - * value greater than 1.

                                              - */ - InstanceCount: number | undefined; - - /** - *

                                              The size of the ML storage volume that you want to provision.

                                              - *

                                              ML storage volumes store model artifacts and incremental states. Training - * algorithms might also use the ML storage volume for scratch space. If you want to store - * the training data in the ML storage volume, choose File as the - * TrainingInputMode in the algorithm specification.

                                              - *

                                              You must specify sufficient ML storage for your scenario.

                                              - * - *

                                              Amazon SageMaker supports only the General Purpose SSD (gp2) ML storage volume type. - *

                                              - *
                                              - * - *

                                              Certain Nitro-based instances include local storage with a fixed total size, - * dependent on the instance type. When using these instances for training, Amazon SageMaker mounts - * the local instance storage instead of Amazon EBS gp2 storage. You can't request a - * VolumeSizeInGB greater than the total size of the local instance - * storage.

                                              - *

                                              For a list of instance types that support local instance storage, including the - * total size per instance type, see Instance Store Volumes.

                                              - *
                                              - */ - VolumeSizeInGB: number | undefined; } export namespace ResourceConfig { @@ -792,6 +793,13 @@ export namespace ResourceConfig { * */ export interface StoppingCondition { + /** + *

                                              The maximum length of time, in seconds, that the training or compilation job can run. + * If job does not complete during this time, Amazon SageMaker ends the job. If value is not specified, + * default value is 1 day. The maximum value is 28 days.

                                              + */ + MaxRuntimeInSeconds?: number; + /** *

                                              The maximum length of time, in seconds, how long you are willing to wait for a managed * spot training job to complete. It is the amount of time spent waiting for Spot capacity @@ -799,13 +807,6 @@ export interface StoppingCondition { * MaxRuntimeInSeconds.

                                              */ MaxWaitTimeInSeconds?: number; - - /** - *

                                              The maximum length of time, in seconds, that the training or compilation job can run. - * If job does not complete during this time, Amazon SageMaker ends the job. If value is not specified, - * default value is 1 day. The maximum value is 28 days.

                                              - */ - MaxRuntimeInSeconds?: number; } export namespace StoppingCondition { @@ -818,21 +819,6 @@ export namespace StoppingCondition { *

                                              Defines the input needed to run a training job using the algorithm.

                                              */ export interface TrainingJobDefinition { - /** - *

                                              The input mode used by the algorithm for the training job. For the input modes that - * Amazon SageMaker algorithms support, see Algorithms.

                                              - *

                                              If an algorithm supports the File input mode, Amazon SageMaker downloads the training - * data from S3 to the provisioned ML storage Volume, and mounts the directory to docker - * volume for training container. If an algorithm supports the Pipe input - * mode, Amazon SageMaker streams data directly from S3 to the container.

                                              - */ - TrainingInputMode: TrainingInputMode | string | undefined; - - /** - *

                                              The hyperparameters used for the training job.

                                              - */ - HyperParameters?: { [key: string]: string }; - /** *

                                              An array of Channel objects, each of which specifies an input * source.

                                              @@ -846,10 +832,19 @@ export interface TrainingJobDefinition { OutputDataConfig: OutputDataConfig | undefined; /** - *

                                              The resources, including the ML compute instances and ML storage volumes, to use for - * model training.

                                              + *

                                              The hyperparameters used for the training job.

                                              */ - ResourceConfig: ResourceConfig | undefined; + HyperParameters?: { [key: string]: string }; + + /** + *

                                              The input mode used by the algorithm for the training job. For the input modes that + * Amazon SageMaker algorithms support, see Algorithms.

                                              + *

                                              If an algorithm supports the File input mode, Amazon SageMaker downloads the training + * data from S3 to the provisioned ML storage Volume, and mounts the directory to docker + * volume for training container. If an algorithm supports the Pipe input + * mode, Amazon SageMaker streams data directly from S3 to the container.

                                              + */ + TrainingInputMode: TrainingInputMode | string | undefined; /** *

                                              Specifies a limit to how long a model training job can run. When the job reaches the @@ -859,6 +854,12 @@ export interface TrainingJobDefinition { * artifacts.

                                              */ StoppingCondition: StoppingCondition | undefined; + + /** + *

                                              The resources, including the ML compute instances and ML storage volumes, to use for + * model training.

                                              + */ + ResourceConfig: ResourceConfig | undefined; } export namespace TrainingJobDefinition { @@ -876,6 +877,20 @@ export enum BatchStrategy { *

                                              Describes the S3 data source.

                                              */ export interface TransformS3DataSource { + /** + *

                                              If you choose S3Prefix, S3Uri identifies a key name prefix. + * Amazon SageMaker uses all objects with the specified key name prefix for batch transform.

                                              + *

                                              If you choose ManifestFile, S3Uri identifies an object that + * is a manifest file containing a list of object keys that you want Amazon SageMaker to use for batch + * transform.

                                              + *

                                              The following values are compatible: ManifestFile, + * S3Prefix + *

                                              + *

                                              The following value is not compatible: AugmentedManifestFile + *

                                              + */ + S3DataType: S3DataType | string | undefined; + /** *

                                              Depending on the value specified for the S3DataType, identifies either a * key name prefix or a manifest. For example:

                                              @@ -928,20 +943,6 @@ export interface TransformS3DataSource { *
                                            */ S3Uri: string | undefined; - - /** - *

                                            If you choose S3Prefix, S3Uri identifies a key name prefix. - * Amazon SageMaker uses all objects with the specified key name prefix for batch transform.

                                            - *

                                            If you choose ManifestFile, S3Uri identifies an object that - * is a manifest file containing a list of object keys that you want Amazon SageMaker to use for batch - * transform.

                                            - *

                                            The following values are compatible: ManifestFile, - * S3Prefix - *

                                            - *

                                            The following value is not compatible: AugmentedManifestFile - *

                                            - */ - S3DataType: S3DataType | string | undefined; } export namespace TransformS3DataSource { @@ -978,6 +979,14 @@ export enum SplitType { * it.

                                            */ export interface TransformInput { + /** + *

                                            The multipurpose internet mail extension + * (MIME) + * type of the data. Amazon SageMaker uses the MIME type with each http call to + * transfer data to the transform job.

                                            + */ + ContentType?: string; + /** *

                                            If your transform data * is @@ -995,14 +1004,6 @@ export interface TransformInput { */ DataSource: TransformDataSource | undefined; - /** - *

                                            The multipurpose internet mail extension - * (MIME) - * type of the data. Amazon SageMaker uses the MIME type with each http call to - * transfer data to the transform job.

                                            - */ - ContentType?: string; - /** *

                                            The method to use to split the transform job's data files into smaller batches. * Splitting is necessary when the total size of each object is too large to fit in a @@ -1012,7 +1013,15 @@ export interface TransformInput { * payloads contain the entire contents of an input object. Set the value of this parameter * to Line to split records on a newline character boundary. * SplitType also supports a number of record-oriented binary data - * formats.

                                            + * formats. Currently, the supported record formats are:

                                            + *
                                              + *
                                            • + *

                                              RecordIO

                                              + *
                                            • + *
                                            • + *

                                              TFRecord

                                              + *
                                            • + *
                                            *

                                            When splitting is enabled, the size of a mini-batch depends on the values of the * BatchStrategy and MaxPayloadInMB parameters. When the * value of BatchStrategy is MultiRecord, Amazon SageMaker sends the maximum @@ -1048,6 +1057,39 @@ export enum AssemblyType { *

                                            Describes the results of a transform job.

                                            */ export interface TransformOutput { + /** + *

                                            The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For + * example, s3://bucket-name/key-name-prefix.

                                            + *

                                            For every S3 object used as input for the transform job, batch transform stores the + * transformed data with an .out suffix in a corresponding subfolder in the + * location in the output prefix. For example, for the input data stored at + * s3://bucket-name/input-name-prefix/dataset01/data.csv, batch transform + * stores the transformed data at + * s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out. + * Batch transform doesn't upload partially processed objects. For an input S3 object that + * contains multiple records, it creates an .out file only if the transform + * job succeeds on the entire file. When the input contains multiple S3 objects, the batch + * transform job processes the listed S3 objects and uploads only the output for + * successfully processed objects. If any object fails in the transform job batch transform + * marks the job as failed to prompt investigation.

                                            + */ + S3OutputPath: string | undefined; + + /** + *

                                            Defines how to assemble the results of the transform job as a single S3 object. Choose + * a format that is most convenient to you. To concatenate the results in binary format, + * specify None. To add a newline character at the end of every transformed + * record, specify + * Line.

                                            + */ + AssembleWith?: AssemblyType | string; + + /** + *

                                            The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http + * call to transfer data from the transform job.

                                            + */ + Accept?: string; + /** *

                                            The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using * Amazon S3 server-side encryption. The KmsKeyId can be any of the following @@ -1086,39 +1128,6 @@ export interface TransformOutput { * Guide.

                                            */ KmsKeyId?: string; - - /** - *

                                            Defines how to assemble the results of the transform job as a single S3 object. Choose - * a format that is most convenient to you. To concatenate the results in binary format, - * specify None. To add a newline character at the end of every transformed - * record, specify - * Line.

                                            - */ - AssembleWith?: AssemblyType | string; - - /** - *

                                            The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http - * call to transfer data from the transform job.

                                            - */ - Accept?: string; - - /** - *

                                            The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For - * example, s3://bucket-name/key-name-prefix.

                                            - *

                                            For every S3 object used as input for the transform job, batch transform stores the - * transformed data with an .out suffix in a corresponding subfolder in the - * location in the output prefix. For example, for the input data stored at - * s3://bucket-name/input-name-prefix/dataset01/data.csv, batch transform - * stores the transformed data at - * s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out. - * Batch transform doesn't upload partially processed objects. For an input S3 object that - * contains multiple records, it creates an .out file only if the transform - * job succeeds on the entire file. When the input contains multiple S3 objects, the batch - * transform job processes the listed S3 objects and uploads only the output for - * successfully processed objects. If any object fails in the transform job batch transform - * marks the job as failed to prompt investigation.

                                            - */ - S3OutputPath: string | undefined; } export namespace TransformOutput { @@ -1161,15 +1170,6 @@ export enum TransformInstanceType { * transform job.

                                            */ export interface TransformResources { - /** - *

                                            The number of - * ML - * compute instances to use in the transform job. For distributed - * transform jobs, specify a value greater than 1. The default value is - * 1.

                                            - */ - InstanceCount: number | undefined; - /** *

                                            The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume * attached to the ML compute instance(s) that run the batch transform job. The @@ -1206,6 +1206,15 @@ export interface TransformResources { * instance types.

                                            */ InstanceType: TransformInstanceType | string | undefined; + + /** + *

                                            The number of + * ML + * compute instances to use in the transform job. For distributed + * transform jobs, specify a value greater than 1. The default value is + * 1.

                                            + */ + InstanceCount: number | undefined; } export namespace TransformResources { @@ -1220,24 +1229,21 @@ export namespace TransformResources { */ export interface TransformJobDefinition { /** - *

                                            The environment variables to set in the Docker container. We support up to 16 key and - * values entries in the map.

                                            + *

                                            The maximum payload size allowed, in MB. A payload is the data portion of a record + * (without metadata).

                                            */ - Environment?: { [key: string]: string }; + MaxPayloadInMB?: number; /** - *

                                            A string that determines the number of records included in a single mini-batch.

                                            - *

                                            - * SingleRecord means only one record is used per mini-batch. - * MultiRecord means a mini-batch is set to contain as many records that - * can fit within the MaxPayloadInMB limit.

                                            + *

                                            Identifies the ML compute instances for the transform job.

                                            */ - BatchStrategy?: BatchStrategy | string; + TransformResources: TransformResources | undefined; /** - *

                                            A description of the input source and the way the transform job consumes it.

                                            + *

                                            Identifies the Amazon S3 location where you want Amazon SageMaker to save the results + * from the transform job.

                                            */ - TransformInput: TransformInput | undefined; + TransformOutput: TransformOutput | undefined; /** *

                                            The maximum number of parallel requests that can be sent to each instance in a @@ -1246,21 +1252,24 @@ export interface TransformJobDefinition { MaxConcurrentTransforms?: number; /** - *

                                            Identifies the Amazon S3 location where you want Amazon SageMaker to save the results - * from the transform job.

                                            + *

                                            The environment variables to set in the Docker container. We support up to 16 key and + * values entries in the map.

                                            */ - TransformOutput: TransformOutput | undefined; + Environment?: { [key: string]: string }; /** - *

                                            Identifies the ML compute instances for the transform job.

                                            + *

                                            A string that determines the number of records included in a single mini-batch.

                                            + *

                                            + * SingleRecord means only one record is used per mini-batch. + * MultiRecord means a mini-batch is set to contain as many records that + * can fit within the MaxPayloadInMB limit.

                                            */ - TransformResources: TransformResources | undefined; + BatchStrategy?: BatchStrategy | string; /** - *

                                            The maximum payload size allowed, in MB. A payload is the data portion of a record - * (without metadata).

                                            + *

                                            A description of the input source and the way the transform job consumes it.

                                            */ - MaxPayloadInMB?: number; + TransformInput: TransformInput | undefined; } export namespace TransformJobDefinition { @@ -1276,12 +1285,6 @@ export namespace TransformJobDefinition { * Marketplace.

                                            */ export interface AlgorithmValidationProfile { - /** - *

                                            The TrainingJobDefinition object that describes the training job that - * Amazon SageMaker runs to validate your algorithm.

                                            - */ - TrainingJobDefinition: TrainingJobDefinition | undefined; - /** *

                                            The name of the profile for the algorithm. The name must have 1 to 63 characters. * Valid characters are a-z, A-Z, 0-9, and - (hyphen).

                                            @@ -1293,6 +1296,12 @@ export interface AlgorithmValidationProfile { * Amazon SageMaker runs to validate your algorithm.

                                            */ TransformJobDefinition?: TransformJobDefinition; + + /** + *

                                            The TrainingJobDefinition object that describes the training job that + * Amazon SageMaker runs to validate your algorithm.

                                            + */ + TrainingJobDefinition: TrainingJobDefinition | undefined; } export namespace AlgorithmValidationProfile { @@ -2406,6 +2415,11 @@ export enum AppStatus { *

                                            The app's details.

                                            */ export interface AppDetails { + /** + *

                                            The type of app.

                                            + */ + AppType?: AppType | string; + /** *

                                            The name of the app.

                                            */ @@ -2416,16 +2430,6 @@ export interface AppDetails { */ CreationTime?: Date; - /** - *

                                            The domain ID.

                                            - */ - DomainId?: string; - - /** - *

                                            The type of app.

                                            - */ - AppType?: AppType | string; - /** *

                                            The user profile name.

                                            */ @@ -2435,6 +2439,11 @@ export interface AppDetails { *

                                            The status.

                                            */ Status?: AppStatus | string; + + /** + *

                                            The domain ID.

                                            + */ + DomainId?: string; } export namespace AppDetails { @@ -2478,6 +2487,11 @@ export enum AppInstanceType { SYSTEM = "system", } +export enum AppNetworkAccessType { + PublicInternetOnly = "PublicInternetOnly", + VpcOnly = "VpcOnly", +} + export enum AppSortKey { CreationTime = "CreationTime", } @@ -2487,9 +2501,9 @@ export enum AppSortKey { */ export interface AppSpecification { /** - *

                                            The arguments for a container used to run a processing job.

                                            + *

                                            The entrypoint for a container used to run a processing job.

                                            */ - ContainerArguments?: string[]; + ContainerEntrypoint?: string[]; /** *

                                            The container image to be run by the processing job.

                                            @@ -2497,9 +2511,9 @@ export interface AppSpecification { ImageUri: string | undefined; /** - *

                                            The entrypoint for a container used to run a processing job.

                                            + *

                                            The arguments for a container used to run a processing job.

                                            */ - ContainerEntrypoint?: string[]; + ContainerArguments?: string[]; } export namespace AppSpecification { @@ -2510,14 +2524,14 @@ export namespace AppSpecification { export interface AssociateTrialComponentRequest { /** - *

                                            The name of the component to associated with the trial.

                                            + *

                                            The name of the trial to associate with.

                                            */ - TrialComponentName: string | undefined; + TrialName: string | undefined; /** - *

                                            The name of the trial to associate with.

                                            + *

                                            The name of the component to associated with the trial.

                                            */ - TrialName: string | undefined; + TrialComponentName: string | undefined; } export namespace AssociateTrialComponentRequest { @@ -2528,14 +2542,14 @@ export namespace AssociateTrialComponentRequest { export interface AssociateTrialComponentResponse { /** - *

                                            The ARN of the trial component.

                                            + *

                                            The Amazon Resource Name (ARN) of the trial.

                                            */ - TrialComponentArn?: string; + TrialArn?: string; /** - *

                                            The Amazon Resource Name (ARN) of the trial.

                                            + *

                                            The ARN of the trial component.

                                            */ - TrialArn?: string; + TrialComponentArn?: string; } export namespace AssociateTrialComponentResponse { @@ -2598,11 +2612,6 @@ export enum CandidateStepType { *

                                            Information about the steps for a Candidate, and what step it is working on.

                                            */ export interface AutoMLCandidateStep { - /** - *

                                            The name for the Candidate's step.

                                            - */ - CandidateStepName: string | undefined; - /** *

                                            Whether the Candidate is at the transform, training, or processing step.

                                            */ @@ -2612,6 +2621,11 @@ export interface AutoMLCandidateStep { *

                                            The ARN for the Candidate's step.

                                            */ CandidateStepArn: string | undefined; + + /** + *

                                            The name for the Candidate's step.

                                            + */ + CandidateStepName: string | undefined; } export namespace AutoMLCandidateStep { @@ -2622,6 +2636,7 @@ export namespace AutoMLCandidateStep { export enum AutoMLMetricEnum { ACCURACY = "Accuracy", + AUC = "AUC", F1 = "F1", F1_MACRO = "F1macro", MSE = "MSE", @@ -2633,23 +2648,24 @@ export enum AutoMLJobObjectiveType { } /** - *

                                            The candidate result from a job.

                                            + *

                                            The best candidate result from an AutoML training job.

                                            */ export interface FinalAutoMLJobObjectiveMetric { /** - *

                                            The value of the metric.

                                            + *

                                            The type of metric with the best result.

                                            */ - Value: number | undefined; + Type?: AutoMLJobObjectiveType | string; /** - *

                                            The metric type used.

                                            + *

                                            The name of the metric with the best result. For a description of the possible objective + * metrics, see AutoMLJobObjective$MetricName.

                                            */ - Type?: AutoMLJobObjectiveType | string; + MetricName: AutoMLMetricEnum | string | undefined; /** - *

                                            The name of the metric.

                                            + *

                                            The value of the metric with the best result.

                                            */ - MetricName: AutoMLMetricEnum | string | undefined; + Value: number | undefined; } export namespace FinalAutoMLJobObjectiveMetric { @@ -2694,59 +2710,59 @@ export enum ObjectiveStatus { } /** - *

                                            An AutoPilot job will return recommendations, or candidates. Each candidate has futher details + *

                                            An Autopilot job returns recommendations, or candidates. Each candidate has futher details * about the steps involed, and the status.

                                            */ export interface AutoMLCandidate { /** - *

                                            The candidate name.

                                            + *

                                            The inference containers.

                                            */ - CandidateName: string | undefined; + InferenceContainers?: AutoMLContainerDefinition[]; /** - *

                                            The failure reason.

                                            + *

                                            The best candidate result from an AutoML training job.

                                            */ - FailureReason?: string; + FinalAutoMLJobObjectiveMetric?: FinalAutoMLJobObjectiveMetric; /** - *

                                            The candidate's status.

                                            + *

                                            The end time.

                                            */ - CandidateStatus: CandidateStatus | string | undefined; + EndTime?: Date; /** - *

                                            The objective status.

                                            + *

                                            The creation time.

                                            */ - ObjectiveStatus: ObjectiveStatus | string | undefined; + CreationTime: Date | undefined; /** - *

                                            The candidate result from a job.

                                            + *

                                            The candidate's steps.

                                            */ - FinalAutoMLJobObjectiveMetric?: FinalAutoMLJobObjectiveMetric; + CandidateSteps: AutoMLCandidateStep[] | undefined; /** - *

                                            The end time.

                                            + *

                                            The last modified time.

                                            */ - EndTime?: Date; + LastModifiedTime: Date | undefined; /** - *

                                            The inference containers.

                                            + *

                                            The objective status.

                                            */ - InferenceContainers?: AutoMLContainerDefinition[]; + ObjectiveStatus: ObjectiveStatus | string | undefined; /** - *

                                            The creation time.

                                            + *

                                            The candidate's status.

                                            */ - CreationTime: Date | undefined; + CandidateStatus: CandidateStatus | string | undefined; /** - *

                                            The last modified time.

                                            + *

                                            The failure reason.

                                            */ - LastModifiedTime: Date | undefined; + FailureReason?: string; /** - *

                                            The candidate's steps.

                                            + *

                                            The candidate name.

                                            */ - CandidateSteps: AutoMLCandidateStep[] | undefined; + CandidateName: string | undefined; } export namespace AutoMLCandidate { @@ -2765,14 +2781,14 @@ export enum AutoMLS3DataType { */ export interface AutoMLS3DataSource { /** - *

                                            The data type.

                                            + *

                                            The URL to the Amazon S3 data source.

                                            */ - S3DataType: AutoMLS3DataType | string | undefined; + S3Uri: string | undefined; /** - *

                                            The URL to the Amazon S3 data source.

                                            + *

                                            The data type.

                                            */ - S3Uri: string | undefined; + S3DataType: AutoMLS3DataType | string | undefined; } export namespace AutoMLS3DataSource { @@ -2782,13 +2798,13 @@ export namespace AutoMLS3DataSource { } /** - *

                                            The data source for the AutoPilot job.

                                            + *

                                            The data source for the Autopilot job.

                                            */ export interface AutoMLDataSource { /** *

                                            The Amazon S3 location of the input data.

                                            * - *

                                            The input data must be in CSV format and contain at least 1000 rows.

                                            + *

                                            The input data must be in CSV format and contain at least 500 rows.

                                            *
                                            */ S3DataSource: AutoMLS3DataSource | undefined; @@ -2805,11 +2821,6 @@ export namespace AutoMLDataSource { * consume. Refer to Channel for detailed descriptions.

                                            */ export interface AutoMLChannel { - /** - *

                                            The name of the target variable in supervised learning, a.k.a. 'y'.

                                            - */ - TargetAttributeName: string | undefined; - /** *

                                            The data source.

                                            */ @@ -2819,6 +2830,11 @@ export interface AutoMLChannel { *

                                            You can use Gzip or None. The default value is None.

                                            */ CompressionType?: CompressionType | string; + + /** + *

                                            The name of the target variable in supervised learning, a.k.a. 'y'.

                                            + */ + TargetAttributeName: string | undefined; } export namespace AutoMLChannel { @@ -2858,16 +2874,16 @@ export interface AutoMLJobCompletionCriteria { */ MaxRuntimePerTrainingJobInSeconds?: number; - /** - *

                                            The maximum number of times a training job is allowed to run.

                                            - */ - MaxCandidates?: number; - /** *

                                            The maximum time, in seconds, an AutoML job is allowed to wait for a trial to complete. * It must be equal to or greater than MaxRuntimePerTrainingJobInSeconds.

                                            */ MaxAutoMLJobRuntimeInSeconds?: number; + + /** + *

                                            The maximum number of times a training job is allowed to run.

                                            + */ + MaxCandidates?: number; } export namespace AutoMLJobCompletionCriteria { @@ -2883,18 +2899,18 @@ export namespace AutoMLJobCompletionCriteria { * by Using an Amazon Virtual Private Cloud.

                                            */ export interface VpcConfig { + /** + *

                                            The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for + * the VPC that is specified in the Subnets field.

                                            + */ + SecurityGroupIds: string[] | undefined; + /** *

                                            The ID of the subnets in the VPC to which you want to connect your training job or * model. For information about the availability of specific instance types, see Supported * Instance Types and Availability Zones.

                                            */ Subnets: string[] | undefined; - - /** - *

                                            The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for - * the VPC that is specified in the Subnets field.

                                            - */ - SecurityGroupIds: string[] | undefined; } export namespace VpcConfig { @@ -2908,14 +2924,14 @@ export namespace VpcConfig { */ export interface AutoMLSecurityConfig { /** - *

                                            VPC configuration.

                                            + *

                                            Whether to use traffic encryption between the container layers.

                                            */ - VpcConfig?: VpcConfig; + EnableInterContainerTrafficEncryption?: boolean; /** - *

                                            Whether to use traffic encryption between the container layers.

                                            + *

                                            VPC configuration.

                                            */ - EnableInterContainerTrafficEncryption?: boolean; + VpcConfig?: VpcConfig; /** *

                                            The key used to encrypt stored data.

                                            @@ -2952,11 +2968,93 @@ export namespace AutoMLJobConfig { } /** - *

                                            Applies a metric to minimize or maximize for the job's objective.

                                            + *

                                            Specifies a metric to minimize or maximize as the objective of a job.

                                            */ export interface AutoMLJobObjective { /** - *

                                            The name of the metric.

                                            + *

                                            The name of the objective metric used to measure the predictive quality of a machine + * learning system. This metric is optimized during training to provide the best estimate for + * model parameter values from data.

                                            + *

                                            Here are the options:

                                            + *
                                              + *
                                            • + *

                                              + * MSE: The mean squared error (MSE) is + * the average of the squared differences between the predicted and actual values. It is + * used for regression. MSE values are always positive, the better a model is at + * predicting the actual values the smaller the MSE value. When the data contains + * outliers, they tend to dominate the MSE which might cause subpar prediction + * performance.

                                              + *
                                            • + *
                                            • + *

                                              + * Accuracy: The ratio of the number + * correctly classified items to the total number (correctly and incorrectly) + * classified. It is used for binary and multiclass classification. Measures how close + * the predicted class values are to the actual values. Accuracy values vary between + * zero and one, one being perfect accuracy and zero perfect inaccuracy.

                                              + *
                                            • + *
                                            • + *

                                              + * F1: The F1 score is the harmonic + * mean of the precision and recall. It is used for binary classification into classes + * traditionally referred to as positive and negative. Predictions are said to be true + * when they match their actual (correct) class; false when they do not. Precision is + * the ratio of the true positive predictions to all positive predictions (including the + * false positives) in a data set and measures the quality of the prediction when it + * predicts the positive class. Recall (or sensitivity) is the ratio of the true + * positive predictions to all actual positive instances and measures how completely a + * model predicts the actual class members in a data set. The standard F1 score weighs + * precision and recall equally. But which metric is paramount typically depends on + * specific aspects of a problem. F1 scores vary between zero and one, one being the + * best possible performance and zero the worst.

                                              + *
                                            • + *
                                            • + *

                                              + * AUC: The area under the curve (AUC) + * metric is used to compare and evaluate binary classification by algorithms such as + * logistic regression that return probabilities. A threshold is needed to map the + * probabilities into classifications. The relevant curve is the receiver operating + * characteristic curve that plots the true positive rate (TPR) of predictions (or + * recall) against the false positive rate (FPR) as a function of the threshold value, + * above which a prediction is considered positive. Increasing the threshold results in + * fewer false positives but more false negatives. AUC is the area under this receiver + * operating characteristic curve and so provides an aggregated measure of the model + * performance across all possible classification thresholds. The AUC score can also be + * interpreted as the probability that a randomly selected positive data point is more + * likely to be predicted positive than a randomly selected negative example. AUC scores + * vary between zero and one, one being perfect accuracy and one half not better than a + * random classifier. Values less that one half predict worse than a random predictor + * and such consistently bad predictors can be inverted to obtain better than random + * predictors.

                                              + *
                                            • + *
                                            • + *

                                              + * F1macro: The F1macro score applies + * F1 scoring to multiclass classification. In this context, you have multiple classes + * to predict. You just calculate the precision and recall for each class as you did for + * the positive class in binary classification. Then used these values to calculate the + * F1 score for each class and average them to obtain the F1macro score. F1macro scores + * vary between zero and one, one being the best possible performance and zero the + * worst.

                                              + *
                                            • + *
                                            + *

                                            If you do not specify a metric explicitly, the default behavior is to automatically + * use:

                                            + *
                                              + *
                                            • + *

                                              + * MSE: for regression.

                                              + *
                                            • + *
                                            • + *

                                              + * F1: for binary classification

                                              + *
                                            • + *
                                            • + *

                                              + * Accuracy: for multiclass classification.

                                              + *
                                            • + *
                                            */ MetricName: AutoMLMetricEnum | string | undefined; } @@ -2993,44 +3091,44 @@ export enum AutoMLJobStatus { */ export interface AutoMLJobSummary { /** - *

                                            The ARN of the job.

                                            + *

                                            The job's secondary status.

                                            */ - AutoMLJobArn: string | undefined; + AutoMLJobSecondaryStatus: AutoMLJobSecondaryStatus | string | undefined; /** - *

                                            The failure reason.

                                            + *

                                            The end time of an AutoML job.

                                            */ - FailureReason?: string; + EndTime?: Date; /** - *

                                            The name of the object you are requesting.

                                            + *

                                            When the job was created.

                                            */ - AutoMLJobName: string | undefined; + CreationTime: Date | undefined; /** - *

                                            The end time.

                                            + *

                                            When the job was last modified.

                                            */ - EndTime?: Date; + LastModifiedTime: Date | undefined; /** - *

                                            When the job was created.

                                            + *

                                            The job's status.

                                            */ - CreationTime: Date | undefined; + AutoMLJobStatus: AutoMLJobStatus | string | undefined; /** - *

                                            When the job was last modified.

                                            + *

                                            The ARN of the job.

                                            */ - LastModifiedTime: Date | undefined; + AutoMLJobArn: string | undefined; /** - *

                                            The job's secondary status.

                                            + *

                                            The failure reason of a job.

                                            */ - AutoMLJobSecondaryStatus: AutoMLJobSecondaryStatus | string | undefined; + FailureReason?: string; /** - *

                                            The job's status.

                                            + *

                                            The name of the object you are requesting.

                                            */ - AutoMLJobStatus: AutoMLJobStatus | string | undefined; + AutoMLJobName: string | undefined; } export namespace AutoMLJobSummary { @@ -3094,12 +3192,12 @@ export interface CaptureContentTypeHeader { /** *

                                            */ - CsvContentTypes?: string[]; + JsonContentTypes?: string[]; /** *

                                            */ - JsonContentTypes?: string[]; + CsvContentTypes?: string[]; } export namespace CaptureContentTypeHeader { @@ -3178,14 +3276,19 @@ export namespace CategoricalParameterRangeSpecification { */ export interface ChannelSpecification { /** - *

                                            The supported MIME types for the data.

                                            + *

                                            A brief description of the channel.

                                            */ - SupportedContentTypes: string[] | undefined; + Description?: string; /** - *

                                            Indicates whether the channel is required by the algorithm.

                                            + *

                                            The allowed input mode, either FILE or PIPE.

                                            + *

                                            In FILE mode, Amazon SageMaker copies the data from the input source onto the local + * Amazon Elastic Block Store (Amazon EBS) volumes before starting your training algorithm. + * This is the most commonly used input mode.

                                            + *

                                            In PIPE mode, Amazon SageMaker streams input data from the source directly to your + * algorithm without using the EBS volume.

                                            */ - IsRequired?: boolean; + SupportedInputModes: (TrainingInputMode | string)[] | undefined; /** *

                                            The allowed compression types, if data compression is used.

                                            @@ -3193,24 +3296,19 @@ export interface ChannelSpecification { SupportedCompressionTypes?: (CompressionType | string)[]; /** - *

                                            A brief description of the channel.

                                            + *

                                            The supported MIME types for the data.

                                            */ - Description?: string; + SupportedContentTypes: string[] | undefined; /** - *

                                            The allowed input mode, either FILE or PIPE.

                                            - *

                                            In FILE mode, Amazon SageMaker copies the data from the input source onto the local - * Amazon Elastic Block Store (Amazon EBS) volumes before starting your training algorithm. - * This is the most commonly used input mode.

                                            - *

                                            In PIPE mode, Amazon SageMaker streams input data from the source directly to your - * algorithm without using the EBS volume.

                                            + *

                                            The name of the channel.

                                            */ - SupportedInputModes: (TrainingInputMode | string)[] | undefined; + Name: string | undefined; /** - *

                                            The name of the channel.

                                            + *

                                            Indicates whether the channel is required by the algorithm.

                                            */ - Name: string | undefined; + IsRequired?: boolean; } export namespace ChannelSpecification { @@ -3224,17 +3322,17 @@ export namespace ChannelSpecification { * data.

                                            */ export interface CheckpointConfig { - /** - *

                                            (Optional) The local directory where checkpoints are written. The default directory is - * /opt/ml/checkpoints/.

                                            - */ - LocalPath?: string; - /** *

                                            Identifies the S3 path where you want Amazon SageMaker to store checkpoints. For example, * s3://bucket-name/key-name-prefix.

                                            */ S3Uri: string | undefined; + + /** + *

                                            (Optional) The local directory where checkpoints are written. The default directory is + * /opt/ml/checkpoints/.

                                            + */ + LocalPath?: string; } export namespace CheckpointConfig { @@ -3258,11 +3356,6 @@ export enum CodeRepositorySortOrder { *

                                            Specifies configuration details for a Git repository in your AWS account.

                                            */ export interface GitConfig { - /** - *

                                            The default branch for the Git repository.

                                            - */ - Branch?: string; - /** *

                                            The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the * credentials used to access the git repository. The secret must have a staging label of @@ -3278,6 +3371,11 @@ export interface GitConfig { *

                                            The URL where the Git repository is located.

                                            */ RepositoryUrl: string | undefined; + + /** + *

                                            The default branch for the Git repository.

                                            + */ + Branch?: string; } export namespace GitConfig { @@ -3290,11 +3388,6 @@ export namespace GitConfig { *

                                            Specifies summary information about a Git repository.

                                            */ export interface CodeRepositorySummary { - /** - *

                                            The Amazon Resource Name (ARN) of the Git repository.

                                            - */ - CodeRepositoryArn: string | undefined; - /** *

                                            The date and time that the Git repository was created.

                                            */ @@ -3316,6 +3409,11 @@ export interface CodeRepositorySummary { *

                                            The name of the Git repository.

                                            */ CodeRepositoryName: string | undefined; + + /** + *

                                            The Amazon Resource Name (ARN) of the Git repository.

                                            + */ + CodeRepositoryArn: string | undefined; } export namespace CodeRepositorySummary { @@ -3331,11 +3429,6 @@ export namespace CodeRepositorySummary { * Amazon Cognito user pool.

                                            */ export interface CognitoConfig { - /** - *

                                            The client ID for your Amazon Cognito user pool.

                                            - */ - ClientId: string | undefined; - /** *

                                            A * user pool is a user directory in Amazon Cognito. @@ -3344,6 +3437,11 @@ export interface CognitoConfig { * Google, Facebook, Amazon, or Apple, and through SAML identity providers.

                                            */ UserPool: string | undefined; + + /** + *

                                            The client ID for your Amazon Cognito user pool.

                                            + */ + ClientId: string | undefined; } export namespace CognitoConfig { @@ -3357,12 +3455,6 @@ export namespace CognitoConfig { * teams.

                                            */ export interface CognitoMemberDefinition { - /** - *

                                            An identifier for an application client. You must create the app client ID using - * Amazon Cognito.

                                            - */ - ClientId: string | undefined; - /** *

                                            An identifier for a user pool. The user pool must be in the same region as the service * that you are calling.

                                            @@ -3373,6 +3465,12 @@ export interface CognitoMemberDefinition { *

                                            An identifier for a user group.

                                            */ UserGroup: string | undefined; + + /** + *

                                            An identifier for an application client. You must create the app client ID using + * Amazon Cognito.

                                            + */ + ClientId: string | undefined; } export namespace CognitoMemberDefinition { @@ -3385,6 +3483,11 @@ export namespace CognitoMemberDefinition { *

                                            Configuration information for tensor collections.

                                            */ export interface CollectionConfiguration { + /** + *

                                            The name of the tensor collection. The name must be unique relative to other rule configuration names.

                                            + */ + CollectionName?: string; + /** *

                                            Parameter values for the tensor collection. The allowed parameters are * "name", "include_regex", "reduction_config", @@ -3392,11 +3495,6 @@ export interface CollectionConfiguration { * "save_histogram".

                                            */ CollectionParameters?: { [key: string]: string }; - - /** - *

                                            The name of the tensor collection. The name must be unique relative to other rule configuration names.

                                            - */ - CollectionName?: string; } export namespace CollectionConfiguration { @@ -3417,6 +3515,7 @@ export enum CompilationJobStatus { export enum TargetDevice { AISAGE = "aisage", AMBA_CV22 = "amba_cv22", + COREML = "coreml", DEEPLENS = "deeplens", IMX8QM = "imx8qm", JETSON_NANO = "jetson_nano", @@ -3467,29 +3566,32 @@ export enum TargetPlatformOs { */ export interface CompilationJobSummary { /** - *

                                            The type of OS that the model will run on after the compilation job has completed.

                                            + *

                                            The name of the model compilation job that you want a summary for.

                                            */ - CompilationTargetPlatformOs?: TargetPlatformOs | string; + CompilationJobName: string | undefined; /** - *

                                            The type of device that the model will run on after the compilation job has completed.

                                            + *

                                            The status of the model compilation job.

                                            */ - CompilationTargetDevice?: TargetDevice | string; + CompilationJobStatus: CompilationJobStatus | string | undefined; /** - *

                                            The type of architecture that the model will run on after the compilation job has completed.

                                            + *

                                            The type of OS that the model will run on after the compilation job has + * completed.

                                            */ - CompilationTargetPlatformArch?: TargetPlatformArch | string; + CompilationTargetPlatformOs?: TargetPlatformOs | string; /** - *

                                            The time when the model compilation job completed.

                                            + *

                                            The type of accelerator that the model will run on after the compilation job has + * completed.

                                            */ - CompilationEndTime?: Date; + CompilationTargetPlatformAccelerator?: TargetPlatformAccelerator | string; /** - *

                                            The type of accelerator that the model will run on after the compilation job has completed.

                                            + *

                                            The type of device that the model will run on after the compilation job has + * completed.

                                            */ - CompilationTargetPlatformAccelerator?: TargetPlatformAccelerator | string; + CompilationTargetDevice?: TargetDevice | string; /** *

                                            The time when the model compilation job was created.

                                            @@ -3497,29 +3599,30 @@ export interface CompilationJobSummary { CreationTime: Date | undefined; /** - *

                                            The time when the model compilation job was last modified.

                                            + *

                                            The time when the model compilation job started.

                                            */ - LastModifiedTime?: Date; + CompilationStartTime?: Date; /** - *

                                            The time when the model compilation job started.

                                            + *

                                            The time when the model compilation job was last modified.

                                            */ - CompilationStartTime?: Date; + LastModifiedTime?: Date; /** - *

                                            The Amazon Resource Name (ARN) of the model compilation job.

                                            + *

                                            The type of architecture that the model will run on after the compilation job has + * completed.

                                            */ - CompilationJobArn: string | undefined; + CompilationTargetPlatformArch?: TargetPlatformArch | string; /** - *

                                            The name of the model compilation job that you want a summary for.

                                            + *

                                            The time when the model compilation job completed.

                                            */ - CompilationJobName: string | undefined; + CompilationEndTime?: Date; /** - *

                                            The status of the model compilation job.

                                            + *

                                            The Amazon Resource Name (ARN) of the model compilation job.

                                            */ - CompilationJobStatus: CompilationJobStatus | string | undefined; + CompilationJobArn: string | undefined; } export namespace CompilationJobSummary { @@ -3544,33 +3647,49 @@ export namespace ConflictException { }); } -export enum ContainerMode { - MULTI_MODEL = "MultiModel", - SINGLE_MODEL = "SingleModel", +export enum RepositoryAccessMode { + PLATFORM = "Platform", + VPC = "Vpc", } /** - *

                                            Describes the container, as part of model definition.

                                            + *

                                            Specifies whether the model container is in Amazon ECR or a private Docker registry + * accessible from your + * Amazon Virtual Private Cloud (VPC).

                                            */ -export interface ContainerDefinition { +export interface ImageConfig { /** - *

                                            The environment variables to set in the Docker container. Each key and value in the - * Environment string to string map can have length of up to 1024. We - * support up to 16 entries in the map.

                                            + *

                                            Set this to one of the following values:

                                            + *
                                              + *
                                            • + *

                                              + * Platform - The model image is hosted in Amazon ECR.

                                              + *
                                            • + *
                                            • + *

                                              + * Vpc - The model image is hosted in a private Docker registry in + * your VPC.

                                              + *
                                            • + *
                                            */ - Environment?: { [key: string]: string }; + RepositoryAccessMode: RepositoryAccessMode | string | undefined; +} - /** - *

                                            The name or Amazon Resource Name (ARN) of the model package to use to create the - * model.

                                            - */ - ModelPackageName?: string; +export namespace ImageConfig { + export const filterSensitiveLog = (obj: ImageConfig): any => ({ + ...obj, + }); +} - /** - *

                                            Whether the container hosts a single model or multiple models.

                                            - */ - Mode?: ContainerMode | string; +export enum ContainerMode { + MULTI_MODEL = "MultiModel", + SINGLE_MODEL = "SingleModel", +} +/** + *

                                            Describes the container, as part of model definition.

                                            + */ +export interface ContainerDefinition { /** *

                                            This parameter is ignored for models that contain only a * PrimaryContainer.

                                            @@ -3589,7 +3708,19 @@ export interface ContainerDefinition { ContainerHostname?: string; /** - *

                                            The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored. If you are using your + *

                                            Specifies whether the model container is in Amazon ECR or a private Docker registry + * accessible from your + * Amazon Virtual Private Cloud (VPC). For information about storing containers in a private Docker registry, + * see Use a Private Docker + * Registry for Real-Time Inference Containers + *

                                            + */ + ImageConfig?: ImageConfig; + + /** + *

                                            The path where inference code is stored. This can be either in Amazon EC2 Container Registry or in a + * Docker registry that is accessible from the same VPC that you configure for your + * endpoint. If you are using your * own custom algorithm instead of an algorithm provided by Amazon SageMaker, the inference code must * meet Amazon SageMaker requirements. Amazon SageMaker supports both registry/repository[:tag] and * registry/repository[@digest] image path formats. For more information, @@ -3605,6 +3736,10 @@ export interface ContainerDefinition { * path is required for Amazon SageMaker built-in algorithms, but not if you use your own algorithms. * For more information on built-in algorithms, see Common * Parameters.

                                            + * + *

                                            The model artifacts must be in an S3 bucket that is in the same region as the + * model or endpoint you are creating.

                                            + *
                                            *

                                            If you provide a value for this parameter, Amazon SageMaker uses AWS Security Token Service to * download model artifacts from the S3 path you provide. AWS STS is activated in your * IAM user account by default. If you previously deactivated AWS STS for a region, you @@ -3617,6 +3752,24 @@ export interface ContainerDefinition { * */ ModelDataUrl?: string; + + /** + *

                                            The environment variables to set in the Docker container. Each key and value in the + * Environment string to string map can have length of up to 1024. We + * support up to 16 entries in the map.

                                            + */ + Environment?: { [key: string]: string }; + + /** + *

                                            The name or Amazon Resource Name (ARN) of the model package to use to create the + * model.

                                            + */ + ModelPackageName?: string; + + /** + *

                                            Whether the container hosts a single model or multiple models.

                                            + */ + Mode?: ContainerMode | string; } export namespace ContainerDefinition { @@ -3641,6 +3794,19 @@ export enum HyperParameterScalingType { *

                                            A list of continuous hyperparameters to tune.

                                            */ export interface ContinuousParameterRange { + /** + *

                                            The minimum value for the hyperparameter. + * The + * tuning job uses floating-point values between this value and MaxValuefor + * tuning.

                                            + */ + MinValue: string | undefined; + + /** + *

                                            The name of the continuous hyperparameter to tune.

                                            + */ + Name: string | undefined; + /** *

                                            The maximum value for the hyperparameter. The tuning job uses floating-point values * between MinValue value and this value for tuning.

                                            @@ -3678,19 +3844,6 @@ export interface ContinuousParameterRange { * */ ScalingType?: HyperParameterScalingType | string; - - /** - *

                                            The name of the continuous hyperparameter to tune.

                                            - */ - Name: string | undefined; - - /** - *

                                            The minimum value for the hyperparameter. - * The - * tuning job uses floating-point values between this value and MaxValuefor - * tuning.

                                            - */ - MinValue: string | undefined; } export namespace ContinuousParameterRange { @@ -3725,22 +3878,22 @@ export namespace ContinuousParameterRangeSpecification { */ export interface ModelPackageContainerDefinition { /** - *

                                            The AWS Marketplace product ID of the model package.

                                            + *

                                            An MD5 hash of the training algorithm that identifies the Docker image used for + * training.

                                            */ - ProductId?: string; + ImageDigest?: string; /** *

                                            The Amazon S3 path where the model artifacts, which result from model training, are stored. * This path must point to a single gzip compressed tar archive * (.tar.gz suffix).

                                            + * + *

                                            The model artifacts must be in an S3 bucket that is in the same region as the + * model package.

                                            + *
                                            */ ModelDataUrl?: string; - /** - *

                                            The DNS host name for the Docker container.

                                            - */ - ContainerHostname?: string; - /** *

                                            The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored.

                                            *

                                            If you are using your own custom algorithm instead of an algorithm provided by Amazon SageMaker, @@ -3752,10 +3905,14 @@ export interface ModelPackageContainerDefinition { Image: string | undefined; /** - *

                                            An MD5 hash of the training algorithm that identifies the Docker image used for - * training.

                                            + *

                                            The DNS host name for the Docker container.

                                            */ - ImageDigest?: string; + ContainerHostname?: string; + + /** + *

                                            The AWS Marketplace product ID of the model package.

                                            + */ + ProductId?: string; } export namespace ModelPackageContainerDefinition { @@ -3838,14 +3995,9 @@ export enum ProductionVariantInstanceType { */ export interface InferenceSpecification { /** - *

                                            A list of the instance types that are used to generate inferences in real-time.

                                            - */ - SupportedRealtimeInferenceInstanceTypes: (ProductionVariantInstanceType | string)[] | undefined; - - /** - *

                                            The supported MIME types for the input data.

                                            + *

                                            The supported MIME types for the output data.

                                            */ - SupportedContentTypes: string[] | undefined; + SupportedResponseMIMETypes: string[] | undefined; /** *

                                            A list of the instance types on which a transformation job can be run or on which an @@ -3854,14 +4006,19 @@ export interface InferenceSpecification { SupportedTransformInstanceTypes: (TransformInstanceType | string)[] | undefined; /** - *

                                            The supported MIME types for the output data.

                                            + *

                                            The Amazon ECR registry path of the Docker image that contains the inference code.

                                            */ - SupportedResponseMIMETypes: string[] | undefined; + Containers: ModelPackageContainerDefinition[] | undefined; /** - *

                                            The Amazon ECR registry path of the Docker image that contains the inference code.

                                            + *

                                            The supported MIME types for the input data.

                                            */ - Containers: ModelPackageContainerDefinition[] | undefined; + SupportedContentTypes: string[] | undefined; + + /** + *

                                            A list of the instance types that are used to generate inferences in real-time.

                                            + */ + SupportedRealtimeInferenceInstanceTypes: (ProductionVariantInstanceType | string)[] | undefined; } export namespace InferenceSpecification { @@ -3875,14 +4032,14 @@ export namespace InferenceSpecification { */ export interface IntegerParameterRangeSpecification { /** - *

                                            The maximum integer value allowed.

                                            + *

                                            The minimum integer value allowed.

                                            */ - MaxValue: string | undefined; + MinValue: string | undefined; /** - *

                                            The minimum integer value allowed.

                                            + *

                                            The maximum integer value allowed.

                                            */ - MinValue: string | undefined; + MaxValue: string | undefined; } export namespace IntegerParameterRangeSpecification { @@ -3897,10 +4054,10 @@ export namespace IntegerParameterRangeSpecification { */ export interface ParameterRange { /** - *

                                            A IntegerParameterRangeSpecification object that defines the possible - * values for an integer hyperparameter.

                                            + *

                                            A ContinuousParameterRangeSpecification object that defines the possible + * values for a continuous hyperparameter.

                                            */ - IntegerParameterRangeSpecification?: IntegerParameterRangeSpecification; + ContinuousParameterRangeSpecification?: ContinuousParameterRangeSpecification; /** *

                                            A CategoricalParameterRangeSpecification object that defines the possible @@ -3909,10 +4066,10 @@ export interface ParameterRange { CategoricalParameterRangeSpecification?: CategoricalParameterRangeSpecification; /** - *

                                            A ContinuousParameterRangeSpecification object that defines the possible - * values for a continuous hyperparameter.

                                            + *

                                            A IntegerParameterRangeSpecification object that defines the possible + * values for an integer hyperparameter.

                                            */ - ContinuousParameterRangeSpecification?: ContinuousParameterRangeSpecification; + IntegerParameterRangeSpecification?: IntegerParameterRangeSpecification; } export namespace ParameterRange { @@ -3933,25 +4090,25 @@ export enum ParameterType { */ export interface HyperParameterSpecification { /** - *

                                            The type of this hyperparameter. The valid types are Integer, - * Continuous, Categorical, and FreeText.

                                            + *

                                            The allowed range for this hyperparameter.

                                            */ - Type: ParameterType | string | undefined; + Range?: ParameterRange; /** - *

                                            A brief description of the hyperparameter.

                                            + *

                                            Indicates whether this hyperparameter is required.

                                            */ - Description?: string; + IsRequired?: boolean; /** - *

                                            The allowed range for this hyperparameter.

                                            + *

                                            The name of this hyperparameter. The name must be unique.

                                            */ - Range?: ParameterRange; + Name: string | undefined; /** - *

                                            The name of this hyperparameter. The name must be unique.

                                            + *

                                            The type of this hyperparameter. The valid types are Integer, + * Continuous, Categorical, and FreeText.

                                            */ - Name: string | undefined; + Type: ParameterType | string | undefined; /** *

                                            The default value for this hyperparameter. If a default value is specified, a @@ -3966,9 +4123,9 @@ export interface HyperParameterSpecification { IsTunable?: boolean; /** - *

                                            Indicates whether this hyperparameter is required.

                                            + *

                                            A brief description of the hyperparameter.

                                            */ - IsRequired?: boolean; + Description?: string; } export namespace HyperParameterSpecification { @@ -3991,18 +4148,18 @@ export enum HyperParameterTuningJobObjectiveType { * parameter.

                                            */ export interface HyperParameterTuningJobObjective { - /** - *

                                            The - * name of the metric to use for the objective metric.

                                            - */ - MetricName: string | undefined; - /** *

                                            Whether to * minimize * or maximize the objective metric.

                                            */ Type: HyperParameterTuningJobObjectiveType | string | undefined; + + /** + *

                                            The + * name of the metric to use for the objective metric.

                                            + */ + MetricName: string | undefined; } export namespace HyperParameterTuningJobObjective { @@ -4016,16 +4173,16 @@ export namespace HyperParameterTuningJobObjective { */ export interface TrainingSpecification { /** - *

                                            A list of the metrics that the algorithm emits that can be used as the objective - * metric in a hyperparameter tuning job.

                                            + *

                                            A list of the instance types that this algorithm can use for training.

                                            */ - SupportedTuningJobObjectiveMetrics?: HyperParameterTuningJobObjective[]; + SupportedTrainingInstanceTypes: (TrainingInstanceType | string)[] | undefined; /** - *

                                            A list of ChannelSpecification objects, which specify the input sources - * to be used by the algorithm.

                                            + *

                                            A list of the HyperParameterSpecification objects, that define the + * supported hyperparameters. This is required if the algorithm supports automatic model + * tuning.>

                                            */ - TrainingChannels: ChannelSpecification[] | undefined; + SupportedHyperParameters?: HyperParameterSpecification[]; /** *

                                            Indicates whether the algorithm supports distributed training. If set to false, buyers @@ -4033,13 +4190,6 @@ export interface TrainingSpecification { */ SupportsDistributedTraining?: boolean; - /** - *

                                            A list of the HyperParameterSpecification objects, that define the - * supported hyperparameters. This is required if the algorithm supports automatic model - * tuning.>

                                            - */ - SupportedHyperParameters?: HyperParameterSpecification[]; - /** *

                                            A list of MetricDefinition objects, which are used for parsing metrics * generated by the algorithm.

                                            @@ -4052,6 +4202,12 @@ export interface TrainingSpecification { */ TrainingImage: string | undefined; + /** + *

                                            A list of ChannelSpecification objects, which specify the input sources + * to be used by the algorithm.

                                            + */ + TrainingChannels: ChannelSpecification[] | undefined; + /** *

                                            An MD5 hash of the training algorithm that identifies the Docker image used for * training.

                                            @@ -4059,9 +4215,10 @@ export interface TrainingSpecification { TrainingImageDigest?: string; /** - *

                                            A list of the instance types that this algorithm can use for training.

                                            + *

                                            A list of the metrics that the algorithm emits that can be used as the objective + * metric in a hyperparameter tuning job.

                                            */ - SupportedTrainingInstanceTypes: (TrainingInstanceType | string)[] | undefined; + SupportedTuningJobObjectiveMetrics?: HyperParameterTuningJobObjective[]; } export namespace TrainingSpecification { @@ -4071,6 +4228,28 @@ export namespace TrainingSpecification { } export interface CreateAlgorithmInput { + /** + *

                                            A description of the algorithm.

                                            + */ + AlgorithmDescription?: string; + + /** + *

                                            Whether to certify the algorithm so that it can be listed in AWS Marketplace.

                                            + */ + CertifyForMarketplace?: boolean; + + /** + *

                                            The name of the algorithm.

                                            + */ + AlgorithmName: string | undefined; + + /** + *

                                            Specifies configurations for one or more training jobs and that Amazon SageMaker runs to test the + * algorithm's training code and, optionally, one or more batch transform jobs that Amazon SageMaker + * runs to test the algorithm's inference code.

                                            + */ + ValidationSpecification?: AlgorithmValidationSpecification; + /** *

                                            Specifies details about training jobs run by this algorithm, including the * following:

                                            @@ -4123,28 +4302,6 @@ export interface CreateAlgorithmInput { *
                                          */ InferenceSpecification?: InferenceSpecification; - - /** - *

                                          A description of the algorithm.

                                          - */ - AlgorithmDescription?: string; - - /** - *

                                          Whether to certify the algorithm so that it can be listed in AWS Marketplace.

                                          - */ - CertifyForMarketplace?: boolean; - - /** - *

                                          The name of the algorithm.

                                          - */ - AlgorithmName: string | undefined; - - /** - *

                                          Specifies configurations for one or more training jobs and that Amazon SageMaker runs to test the - * algorithm's training code and, optionally, one or more batch transform jobs that Amazon SageMaker - * runs to test the algorithm's inference code.

                                          - */ - ValidationSpecification?: AlgorithmValidationSpecification; } export namespace CreateAlgorithmInput { @@ -4190,14 +4347,15 @@ export namespace ResourceSpec { export interface CreateAppRequest { /** - *

                                          The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

                                          + *

                                          The user profile name.

                                          */ - ResourceSpec?: ResourceSpec; + UserProfileName: string | undefined; /** - *

                                          The name of the app.

                                          + *

                                          Each tag consists of a key and an optional value. + * Tag keys must be unique per resource.

                                          */ - AppName: string | undefined; + Tags?: Tag[]; /** *

                                          The type of app.

                                          @@ -4205,20 +4363,19 @@ export interface CreateAppRequest { AppType: AppType | string | undefined; /** - *

                                          The domain ID.

                                          + *

                                          The name of the app.

                                          */ - DomainId: string | undefined; + AppName: string | undefined; /** - *

                                          The user profile name.

                                          + *

                                          The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

                                          */ - UserProfileName: string | undefined; + ResourceSpec?: ResourceSpec; /** - *

                                          Each tag consists of a key and an optional value. - * Tag keys must be unique per resource.

                                          + *

                                          The domain ID.

                                          */ - Tags?: Tag[]; + DomainId: string | undefined; } export namespace CreateAppRequest { @@ -4263,55 +4420,55 @@ export enum ProblemType { export interface CreateAutoMLJobRequest { /** - *

                                          Identifies an AutoPilot job. Must be unique to your account and is case-insensitive.

                                          + *

                                          Similar to OutputDataConfig supported by Tuning. Format(s) supported: CSV.

                                          */ - AutoMLJobName: string | undefined; + OutputDataConfig: AutoMLOutputDataConfig | undefined; /** - *

                                          Defines the job's objective. You provide a MetricName and AutoML will infer minimize or - * maximize. If this is not provided, the most commonly used ObjectiveMetric for problem type - * will be selected.

                                          + *

                                          Generates possible candidates without training a model. A candidate is a combination of + * data preprocessors, algorithms, and algorithm parameter settings.

                                          */ - AutoMLJobObjective?: AutoMLJobObjective; + GenerateCandidateDefinitionsOnly?: boolean; /** - *

                                          Defines the kind of preprocessing and algorithms intended for the candidates. Options - * include: BinaryClassification, MulticlassClassification, and Regression.

                                          + *

                                          The ARN of the role that is used to access the data.

                                          */ - ProblemType?: ProblemType | string; + RoleArn: string | undefined; /** - *

                                          Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. Minimum of - * 1000 rows.

                                          + *

                                          Identifies an Autopilot job. Must be unique to your account and is case-insensitive.

                                          */ - InputDataConfig: AutoMLChannel[] | undefined; + AutoMLJobName: string | undefined; /** - *

                                          The ARN of the role that will be used to access the data.

                                          + *

                                          Defines the objective of a an AutoML job. You provide a AutoMLJobObjective$MetricName and Autopilot infers whether to minimize or + * maximize it. If a metric is not specified, the most commonly used ObjectiveMetric for + * problem type is automaically selected.

                                          */ - RoleArn: string | undefined; + AutoMLJobObjective?: AutoMLJobObjective; /** - *

                                          Contains CompletionCriteria and SecurityConfig.

                                          + *

                                          Defines the kind of preprocessing and algorithms intended for the candidates. Options + * include: BinaryClassification, MulticlassClassification, and Regression.

                                          */ - AutoMLJobConfig?: AutoMLJobConfig; + ProblemType?: ProblemType | string; /** - *

                                          This will generate possible candidates without training a model. A candidate is a - * combination of data preprocessors, algorithms, and algorithm parameter settings.

                                          + *

                                          Each tag consists of a key and an optional value. Tag keys must be unique per + * resource.

                                          */ - GenerateCandidateDefinitionsOnly?: boolean; + Tags?: Tag[]; /** - *

                                          Similar to OutputDataConfig supported by Tuning. Format(s) supported: CSV.

                                          + *

                                          Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. Minimum of 500 + * rows.

                                          */ - OutputDataConfig: AutoMLOutputDataConfig | undefined; + InputDataConfig: AutoMLChannel[] | undefined; /** - *

                                          Each tag consists of a key and an optional value. Tag keys must be unique per - * resource.

                                          + *

                                          Contains CompletionCriteria and SecurityConfig.

                                          */ - Tags?: Tag[]; + AutoMLJobConfig?: AutoMLJobConfig; } export namespace CreateAutoMLJobRequest { @@ -4566,6 +4723,111 @@ export interface InputConfig { * XGBOOST: input data name and shape are not needed.

                                          *
                                        • *
                                        + *

                                        + * DataInputConfig supports the following parameters for CoreML + * OutputConfig$TargetDevice (ML Model format):

                                        + *
                                          + *
                                        • + *

                                          + * shape: Input shape, for example {"input_1": {"shape": [1,224,224,3]}}. + * In addition to static input shapes, CoreML converter supports Flexible input shapes:

                                          + *
                                            + *
                                          • + *

                                            Range Dimension. You can use the Range Dimension feature if you know the input shape + * will be within some specific interval in that dimension, + * for example: {"input_1": {"shape": ["1..10", 224, 224, 3]}} + *

                                            + *
                                          • + *
                                          • + *

                                            Enumerated shapes. Sometimes, the models are trained to work only on a select + * set of inputs. You can enumerate all supported input shapes, + * for example: {"input_1": {"shape": [[1, 224, 224, 3], [1, 160, 160, 3]]}} + *

                                            + *
                                          • + *
                                          + *
                                        • + *
                                        • + *

                                          + * default_shape: Default input shape. You can set a default shape during + * conversion for both Range Dimension and Enumerated Shapes. For example + * {"input_1": {"shape": ["1..10", 224, 224, 3], "default_shape": [1, 224, 224, 3]}} + *

                                          + *
                                        • + *
                                        • + *

                                          + * type: Input type. Allowed values: Image and Tensor. + * By default, the converter generates an ML Model with inputs of type Tensor (MultiArray). + * User can set input type to be Image. Image input type requires additional input parameters + * such as bias and scale.

                                          + *
                                        • + *
                                        • + *

                                          + * bias: If the input type is an Image, you need to provide the bias vector.

                                          + *
                                        • + *
                                        • + *

                                          + * scale: If the input type is an Image, you need to provide a scale factor.

                                          + *
                                        • + *
                                        + *

                                        CoreML ClassifierConfig parameters can be specified using + * OutputConfig$CompilerOptions. CoreML converter supports Tensorflow and PyTorch models. + * CoreML conversion examples:

                                        + *
                                          + *
                                        • + *

                                          Tensor type input:

                                          + *
                                            + *
                                          • + *

                                            + * "DataInputConfig": {"input_1": {"shape": [[1,224,224,3], [1,160,160,3]], "default_shape": + * [1,224,224,3]}} + *

                                            + *
                                          • + *
                                          + *
                                        • + *
                                        • + *

                                          Tensor type input without input name (PyTorch):

                                          + *
                                            + *
                                          • + *

                                            + * "DataInputConfig": [{"shape": [[1,3,224,224], [1,3,160,160]], "default_shape": + * [1,3,224,224]}] + *

                                            + *
                                          • + *
                                          + *
                                        • + *
                                        • + *

                                          Image type input:

                                          + *
                                            + *
                                          • + *

                                            + * "DataInputConfig": {"input_1": {"shape": [[1,224,224,3], [1,160,160,3]], "default_shape": + * [1,224,224,3], "type": "Image", "bias": [-1,-1,-1], "scale": 0.007843137255}} + *

                                            + *
                                          • + *
                                          • + *

                                            + * "CompilerOptions": {"class_labels": "imagenet_labels_1000.txt"} + *

                                            + *
                                          • + *
                                          + *
                                        • + *
                                        • + *

                                          Image type input without input name (PyTorch):

                                          + *
                                            + *
                                          • + *

                                            + * "DataInputConfig": [{"shape": [[1,3,224,224], [1,3,160,160]], "default_shape": + * [1,3,224,224], "type": "Image", "bias": [-1,-1,-1], "scale": 0.007843137255}] + *

                                            + *
                                          • + *
                                          • + *

                                            + * "CompilerOptions": {"class_labels": "imagenet_labels_1000.txt"} + *

                                            + *
                                          • + *
                                          + *
                                        • + *
                                        */ DataInputConfig: string | undefined; @@ -4583,74 +4845,77 @@ export namespace InputConfig { } /** - *

                                        Contains information about a target platform that you want your model to run on, - * such as OS, architecture, and accelerators. It is an alternative of TargetDevice.

                                        + *

                                        Contains information about a target platform that you want your model to run on, such + * as OS, architecture, and accelerators. It is an alternative of + * TargetDevice.

                                        */ export interface TargetPlatform { /** - *

                                        Specifies a target platform OS.

                                        + *

                                        Specifies a target platform architecture.

                                        *
                                          *
                                        • *

                                          - * LINUX: Linux-based operating systems.

                                          + * X86_64: 64-bit version of the x86 instruction set.

                                          *
                                        • *
                                        • *

                                          - * ANDROID: Android operating systems. Android API level can be specified - * using the ANDROID_PLATFORM compiler option. - * For example, "CompilerOptions": {'ANDROID_PLATFORM': 28} - *

                                          + * X86: 32-bit version of the x86 instruction set.

                                          *
                                        • - *
                                        - */ - Os: TargetPlatformOs | string | undefined; - - /** - *

                                        Specifies a target platform accelerator (optional).

                                        - *
                                          *
                                        • *

                                          - * NVIDIA: Nvidia graphics processing unit. It also requires gpu-code, - * trt-ver, cuda-ver compiler options

                                          + * ARM64: ARMv8 64-bit CPU.

                                          *
                                        • *
                                        • *

                                          - * MALI: ARM Mali graphics processor

                                          + * ARM_EABIHF: ARMv7 32-bit, Hard Float.

                                          *
                                        • *
                                        • *

                                          - * INTEL_GRAPHICS: Integrated Intel graphics

                                          + * ARM_EABI: ARMv7 32-bit, Soft Float. Used by Android 32-bit ARM + * platform.

                                          *
                                        • *
                                        */ - Accelerator?: TargetPlatformAccelerator | string; + Arch: TargetPlatformArch | string | undefined; /** - *

                                        Specifies a target platform architecture.

                                        + *

                                        Specifies a target platform OS.

                                        *
                                          *
                                        • *

                                          - * X86_64: 64-bit version of the x86 instruction set.

                                          + * LINUX: Linux-based operating systems.

                                          *
                                        • *
                                        • *

                                          - * X86: 32-bit version of the x86 instruction set.

                                          + * ANDROID: Android operating systems. Android API level can be + * specified using the ANDROID_PLATFORM compiler option. For example, + * "CompilerOptions": {'ANDROID_PLATFORM': 28} + *

                                          *
                                        • + *
                                        + */ + Os: TargetPlatformOs | string | undefined; + + /** + *

                                        Specifies a target platform accelerator (optional).

                                        + *
                                          *
                                        • *

                                          - * ARM64: ARMv8 64-bit CPU.

                                          + * NVIDIA: Nvidia graphics processing unit. It also requires + * gpu-code, trt-ver, cuda-ver compiler + * options

                                          *
                                        • *
                                        • *

                                          - * ARM_EABIHF: ARMv7 32-bit, Hard Float.

                                          + * MALI: ARM Mali graphics processor

                                          *
                                        • *
                                        • *

                                          - * ARM_EABI: ARMv7 32-bit, Soft Float. Used by Android 32-bit ARM platform.

                                          + * INTEL_GRAPHICS: Integrated Intel graphics

                                          *
                                        • *
                                        */ - Arch: TargetPlatformArch | string | undefined; + Accelerator?: TargetPlatformAccelerator | string; } export namespace TargetPlatform { @@ -4669,117 +4934,31 @@ export namespace TargetPlatform { * settings that are required or recommended to use for particular TargetPlatform.

                                        */ export interface OutputConfig { - /** - *

                                        Specifies additional parameters for compiler options in JSON format. The compiler - * options are TargetPlatform specific. It is required for NVIDIA - * accelerators and highly recommended for CPU compliations. For any other cases, it is - * optional to specify CompilerOptions. - *

                                        - *
                                          - *
                                        • - *

                                          - * CPU: Compilation for CPU supports the following compiler options.

                                          - *
                                            - *
                                          • - *

                                            - * mcpu: CPU micro-architecture. For example, - * {'mcpu': 'skylake-avx512'} - *

                                            - *
                                          • - *
                                          • - *

                                            - * mattr: CPU flags. For example, {'mattr': ['+neon', '+vfpv4']} - *

                                            - *
                                          • - *
                                          - *
                                        • - *
                                        • - *

                                          - * ARM: Details of ARM CPU compilations.

                                          - *
                                            - *
                                          • - *

                                            - * NEON: NEON is an implementation of the Advanced SIMD extension used in ARMv7 processors.

                                            - *

                                            For example, add {'mattr': ['+neon']} to the compiler options if compiling - * for ARM 32-bit platform with the NEON support.

                                            - *
                                          • - *
                                          - *
                                        • - *
                                        • - *

                                          - * NVIDIA: Compilation for NVIDIA GPU supports the following compiler options.

                                          - *
                                            - *
                                          • - *

                                            - * gpu_code: Specifies the targeted architecture.

                                            - *
                                          • - *
                                          • - *

                                            - * trt-ver: Specifies the TensorRT versions in x.y.z. format.

                                            - *
                                          • - *
                                          • - *

                                            - * cuda-ver: Specifies the CUDA version in x.y format.

                                            - *
                                          • - *
                                          - *

                                          For example, {'gpu-code': 'sm_72', 'trt-ver': '6.0.1', 'cuda-ver': '10.1'} - *

                                          - *
                                        • - *
                                        • - *

                                          - * ANDROID: Compilation for the Android OS supports the following compiler options:

                                          - *
                                            - *
                                          • - *

                                            - * ANDROID_PLATFORM: Specifies the Android API levels. Available levels range - * from 21 to 29. For example, {'ANDROID_PLATFORM': 28}.

                                            - *
                                          • - *
                                          • - *

                                            - * mattr: Add {'mattr': ['+neon']} to compiler options if compiling - * for ARM 32-bit platform with NEON support.

                                            - *
                                          • - *
                                          - *
                                        • - *
                                        - */ - CompilerOptions?: string; - - /** - *

                                        Identifies the S3 bucket where you want Amazon SageMaker to store the model artifacts. For - * example, s3://bucket-name/key-name-prefix.

                                        - */ - S3OutputLocation: string | undefined; - /** *

                                        Contains information about a target platform that you want your model to run on, such * as OS, architecture, and accelerators. It is an alternative of * TargetDevice.

                                        - *

                                        The following examples show how to configure the TargetPlatform and CompilerOptions JSON strings - * for popular target platforms: - *

                                        + *

                                        The following examples show how to configure the TargetPlatform and + * CompilerOptions JSON strings for popular target platforms:

                                        *
                                          *
                                        • *

                                          Raspberry Pi 3 Model B+

                                          *

                                          - * "TargetPlatform": {"Os": "LINUX", - * "Arch": "ARM_EABIHF"}, + * "TargetPlatform": {"Os": "LINUX", "Arch": "ARM_EABIHF"}, *

                                          *

                                          - * - * "CompilerOptions": {'mattr': ['+neon']} + * "CompilerOptions": {'mattr': ['+neon']} *

                                          *
                                        • *
                                        • *

                                          Jetson TX2

                                          *

                                          - * "TargetPlatform": {"Os": "LINUX", - * "Arch": "ARM64", - * "Accelerator": "NVIDIA"}, + * "TargetPlatform": {"Os": "LINUX", "Arch": "ARM64", "Accelerator": + * "NVIDIA"}, *

                                          *

                                          - * - * "CompilerOptions": {'gpu-code': 'sm_62', 'trt-ver': '6.0.1', 'cuda-ver': '10.0'} + * "CompilerOptions": {'gpu-code': 'sm_62', 'trt-ver': '6.0.1', + * 'cuda-ver': '10.0'} *

                                          *
                                        • *
                                        • @@ -4789,38 +4968,33 @@ export interface OutputConfig { * "NVIDIA"}, *

                                          *

                                          - * - * "CompilerOptions": {'mcpu': 'skylake-avx512'} + * "CompilerOptions": {'mcpu': 'skylake-avx512'} *

                                          *
                                        • *
                                        • *

                                          RK3399

                                          *

                                          - * "TargetPlatform": {"Os": "LINUX", - * "Arch": "ARM64", - * "Accelerator": "MALI"} + * "TargetPlatform": {"Os": "LINUX", "Arch": "ARM64", "Accelerator": + * "MALI"} *

                                          *
                                        • *
                                        • *

                                          ARMv7 phone (CPU)

                                          *

                                          - * "TargetPlatform": {"Os": "ANDROID", - * "Arch": "ARM_EABI"}, + * "TargetPlatform": {"Os": "ANDROID", "Arch": "ARM_EABI"}, *

                                          *

                                          - * - * "CompilerOptions": {'ANDROID_PLATFORM': 25, 'mattr': ['+neon']} + * "CompilerOptions": {'ANDROID_PLATFORM': 25, 'mattr': + * ['+neon']} *

                                          *
                                        • *
                                        • *

                                          ARMv8 phone (CPU)

                                          *

                                          - * "TargetPlatform": {"Os": "ANDROID", - * "Arch": "ARM64"}, + * "TargetPlatform": {"Os": "ANDROID", "Arch": "ARM64"}, *

                                          *

                                          - * - * "CompilerOptions": {'ANDROID_PLATFORM': 29} + * "CompilerOptions": {'ANDROID_PLATFORM': 29} *

                                          *
                                        • *
                                        @@ -4834,6 +5008,112 @@ export interface OutputConfig { * used instead of TargetPlatform.

                                        */ TargetDevice?: TargetDevice | string; + + /** + *

                                        Identifies the S3 bucket where you want Amazon SageMaker to store the model artifacts. For + * example, s3://bucket-name/key-name-prefix.

                                        + */ + S3OutputLocation: string | undefined; + + /** + *

                                        Specifies additional parameters for compiler options in JSON format. The compiler + * options are TargetPlatform specific. It is required for NVIDIA accelerators + * and highly recommended for CPU compilations. For any other cases, it is optional to + * specify CompilerOptions. + *

                                        + *
                                          + *
                                        • + *

                                          + * CPU: Compilation for CPU supports the following compiler + * options.

                                          + *
                                            + *
                                          • + *

                                            + * mcpu: CPU micro-architecture. For example, {'mcpu': + * 'skylake-avx512'} + *

                                            + *
                                          • + *
                                          • + *

                                            + * mattr: CPU flags. For example, {'mattr': ['+neon', + * '+vfpv4']} + *

                                            + *
                                          • + *
                                          + *
                                        • + *
                                        • + *

                                          + * ARM: Details of ARM CPU compilations.

                                          + *
                                            + *
                                          • + *

                                            + * NEON: NEON is an implementation of the Advanced SIMD + * extension used in ARMv7 processors.

                                            + *

                                            For example, add {'mattr': ['+neon']} to the compiler + * options if compiling for ARM 32-bit platform with the NEON + * support.

                                            + *
                                          • + *
                                          + *
                                        • + *
                                        • + *

                                          + * NVIDIA: Compilation for NVIDIA GPU supports the following + * compiler options.

                                          + *
                                            + *
                                          • + *

                                            + * gpu_code: Specifies the targeted architecture.

                                            + *
                                          • + *
                                          • + *

                                            + * trt-ver: Specifies the TensorRT versions in x.y.z. + * format.

                                            + *
                                          • + *
                                          • + *

                                            + * cuda-ver: Specifies the CUDA version in x.y + * format.

                                            + *
                                          • + *
                                          + *

                                          For example, {'gpu-code': 'sm_72', 'trt-ver': '6.0.1', 'cuda-ver': + * '10.1'} + *

                                          + *
                                        • + *
                                        • + *

                                          + * ANDROID: Compilation for the Android OS supports the following + * compiler options:

                                          + *
                                            + *
                                          • + *

                                            + * ANDROID_PLATFORM: Specifies the Android API levels. + * Available levels range from 21 to 29. For example, + * {'ANDROID_PLATFORM': 28}.

                                            + *
                                          • + *
                                          • + *

                                            + * mattr: Add {'mattr': ['+neon']} to compiler + * options if compiling for ARM 32-bit platform with NEON support.

                                            + *
                                          • + *
                                          + *
                                        • + *
                                        • + *

                                          + * CoreML: Compilation for the CoreML OutputConfig$TargetDevice + * supports the following compiler options:

                                          + *
                                            + *
                                          • + *

                                            + * class_labels: Specifies the classification labels file + * name inside input tar.gz file. For example, + * {"class_labels": "imagenet_labels_1000.txt"}. + * Labels inside the txt file should be separated by newlines.

                                            + *
                                          • + *
                                          + *
                                        • + *
                                        + */ + CompilerOptions?: string; } export namespace OutputConfig { @@ -4843,25 +5123,6 @@ export namespace OutputConfig { } export interface CreateCompilationJobRequest { - /** - *

                                        Provides information about the output location for the compiled model and the target - * device the model runs on.

                                        - */ - OutputConfig: OutputConfig | undefined; - - /** - *

                                        Specifies a limit to how long a model compilation job can run. When the job reaches - * the time limit, Amazon SageMaker ends the compilation job. Use this API to cap model training - * costs.

                                        - */ - StoppingCondition: StoppingCondition | undefined; - - /** - *

                                        Provides information about the location of input model artifacts, the name and shape - * of the expected data inputs, and the framework in which the model was trained.

                                        - */ - InputConfig: InputConfig | undefined; - /** *

                                        The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on * your behalf.

                                        @@ -4888,11 +5149,30 @@ export interface CreateCompilationJobRequest { */ RoleArn: string | undefined; + /** + *

                                        Specifies a limit to how long a model compilation job can run. When the job reaches + * the time limit, Amazon SageMaker ends the compilation job. Use this API to cap model training + * costs.

                                        + */ + StoppingCondition: StoppingCondition | undefined; + /** *

                                        A name for the model compilation job. The name must be unique within the AWS Region * and within your AWS account.

                                        */ CompilationJobName: string | undefined; + + /** + *

                                        Provides information about the location of input model artifacts, the name and shape + * of the expected data inputs, and the framework in which the model was trained.

                                        + */ + InputConfig: InputConfig | undefined; + + /** + *

                                        Provides information about the output location for the compiled model and the target + * device the model runs on.

                                        + */ + OutputConfig: OutputConfig | undefined; } export namespace CreateCompilationJobRequest { @@ -4967,23 +5247,22 @@ export enum NotebookOutputOption { */ export interface SharingSettings { /** - *

                                        Whether to include the notebook cell output when sharing the notebook. The default - * is Disabled.

                                        + *

                                        When NotebookOutputOption is Allowed, the AWS Key Management Service (KMS) + * encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.

                                        */ - NotebookOutputOption?: NotebookOutputOption | string; + S3KmsKeyId?: string; /** *

                                        When NotebookOutputOption is Allowed, the Amazon S3 bucket used - * to save the notebook cell output. If S3OutputPath isn't specified, a default - * bucket is used.

                                        + * to save the notebook cell output.

                                        */ S3OutputPath?: string; /** - *

                                        When NotebookOutputOption is Allowed, the AWS Key Management Service (KMS) - * encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.

                                        + *

                                        Whether to include the notebook cell output when sharing the notebook. The default + * is Disabled.

                                        */ - S3KmsKeyId?: string; + NotebookOutputOption?: NotebookOutputOption | string; } export namespace SharingSettings { @@ -5013,34 +5292,34 @@ export namespace TensorBoardAppSettings { */ export interface UserSettings { /** - *

                                        The execution role for the user.

                                        + *

                                        The kernel gateway app settings.

                                        */ - ExecutionRole?: string; + KernelGatewayAppSettings?: KernelGatewayAppSettings; /** - *

                                        The Jupyter server's app settings.

                                        + *

                                        The security groups.

                                        */ - JupyterServerAppSettings?: JupyterServerAppSettings; + SecurityGroups?: string[]; /** - *

                                        The TensorBoard app settings.

                                        + *

                                        The sharing settings.

                                        */ - TensorBoardAppSettings?: TensorBoardAppSettings; + SharingSettings?: SharingSettings; /** - *

                                        The kernel gateway app settings.

                                        + *

                                        The execution role for the user.

                                        */ - KernelGatewayAppSettings?: KernelGatewayAppSettings; + ExecutionRole?: string; /** - *

                                        The sharing settings.

                                        + *

                                        The Jupyter server's app settings.

                                        */ - SharingSettings?: SharingSettings; + JupyterServerAppSettings?: JupyterServerAppSettings; /** - *

                                        The security groups.

                                        + *

                                        The TensorBoard app settings.

                                        */ - SecurityGroups?: string[]; + TensorBoardAppSettings?: TensorBoardAppSettings; } export namespace UserSettings { @@ -5051,24 +5330,38 @@ export namespace UserSettings { export interface CreateDomainRequest { /** - *

                                        The ID of the Amazon Virtual Private Cloud (VPC) to use for communication with the EFS volume.

                                        + *

                                        Tags to associated with the Domain. Each tag consists of a key and an optional value. + * Tag keys must be unique per resource. Tags are searchable using the + * Search API.

                                        */ - VpcId: string | undefined; + Tags?: Tag[]; /** - *

                                        The default user settings.

                                        + *

                                        The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

                                        */ - DefaultUserSettings: UserSettings | undefined; + VpcId: string | undefined; /** - *

                                        The mode of authentication that members use to access the domain.

                                        + *

                                        Specifies the VPC used for non-EFS traffic. The default value is + * PublicInternetOnly.

                                        + *
                                          + *
                                        • + *

                                          + * PublicInternetOnly - Non-EFS traffic is through a VPC managed by + * Amazon SageMaker, which allows direct internet access

                                          + *
                                        • + *
                                        • + *

                                          + * VpcOnly - All Studio traffic is through the specified VPC and subnets

                                          + *
                                        • + *
                                        */ - AuthMode: AuthMode | string | undefined; + AppNetworkAccessType?: AppNetworkAccessType | string; /** - *

                                        The VPC subnets to use for communication with the EFS volume.

                                        + *

                                        A name for the domain.

                                        */ - SubnetIds: string[] | undefined; + DomainName: string | undefined; /** *

                                        The AWS Key Management Service (KMS) encryption key ID. @@ -5077,16 +5370,19 @@ export interface CreateDomainRequest { HomeEfsFileSystemKmsKeyId?: string; /** - *

                                        Tags to associated with the Domain. Each tag consists of a key and an optional value. - * Tag keys must be unique per resource. Tags are searchable using the - * Search API.

                                        + *

                                        The mode of authentication that members use to access the domain.

                                        */ - Tags?: Tag[]; + AuthMode: AuthMode | string | undefined; /** - *

                                        A name for the domain.

                                        + *

                                        The default user settings.

                                        */ - DomainName: string | undefined; + DefaultUserSettings: UserSettings | undefined; + + /** + *

                                        The VPC subnets that Studio uses for communication.

                                        + */ + SubnetIds: string[] | undefined; } export namespace CreateDomainRequest { @@ -5097,14 +5393,14 @@ export namespace CreateDomainRequest { export interface CreateDomainResponse { /** - *

                                        The URL to the created domain.

                                        + *

                                        The Amazon Resource Name (ARN) of the created domain.

                                        */ - Url?: string; + DomainArn?: string; /** - *

                                        The Amazon Resource Name (ARN) of the created domain.

                                        + *

                                        The URL to the created domain.

                                        */ - DomainArn?: string; + Url?: string; } export namespace CreateDomainResponse { @@ -5123,17 +5419,17 @@ export interface CreateEndpointInput { */ Tags?: Tag[]; - /** - *

                                        The name of the endpoint. The name must be unique within an AWS Region in your AWS - * account.

                                        - */ - EndpointName: string | undefined; - /** *

                                        The name of an endpoint configuration. For more information, see * CreateEndpointConfig.

                                        */ EndpointConfigName: string | undefined; + + /** + *

                                        The name of the endpoint. The name must be unique within an AWS Region in your AWS + * account.

                                        + */ + EndpointName: string | undefined; } export namespace CreateEndpointInput { @@ -5162,7 +5458,7 @@ export interface DataCaptureConfig { /** *

                                        */ - EnableCapture?: boolean; + CaptureContentTypeHeader?: CaptureContentTypeHeader; /** *

                                        @@ -5172,22 +5468,22 @@ export interface DataCaptureConfig { /** *

                                        */ - DestinationS3Uri: string | undefined; + CaptureOptions: CaptureOption[] | undefined; /** *

                                        */ - InitialSamplingPercentage: number | undefined; + EnableCapture?: boolean; /** *

                                        */ - CaptureOptions: CaptureOption[] | undefined; + InitialSamplingPercentage: number | undefined; /** *

                                        */ - CaptureContentTypeHeader?: CaptureContentTypeHeader; + DestinationS3Uri: string | undefined; } export namespace DataCaptureConfig { @@ -5213,20 +5509,27 @@ export enum ProductionVariantAcceleratorType { */ export interface ProductionVariant { /** - *

                                        The name of the model that you want to host. This is the name that you specified - * when creating the model.

                                        + *

                                        Determines initial traffic distribution among all of the models that you specify in + * the endpoint configuration. The traffic to a production variant is determined by the + * ratio of the VariantWeight to the sum of all VariantWeight + * values across all ProductionVariants. If unspecified, it defaults to 1.0. + *

                                        */ - ModelName: string | undefined; + InitialVariantWeight?: number; /** - *

                                        The ML compute instance type.

                                        + *

                                        The name of the model that you want to host. This is the name that you specified + * when creating the model.

                                        */ - InstanceType: ProductionVariantInstanceType | string | undefined; + ModelName: string | undefined; /** - *

                                        Number of instances to launch initially.

                                        + *

                                        The size of the Elastic Inference (EI) instance to use for the production variant. EI + * instances provide on-demand GPU computing for inference. For more information, see + * Using Elastic + * Inference in Amazon SageMaker.

                                        */ - InitialInstanceCount: number | undefined; + AcceleratorType?: ProductionVariantAcceleratorType | string; /** *

                                        The name of the production variant.

                                        @@ -5234,21 +5537,14 @@ export interface ProductionVariant { VariantName: string | undefined; /** - *

                                        Determines initial traffic distribution among all of the models that you specify in - * the endpoint configuration. The traffic to a production variant is determined by the - * ratio of the VariantWeight to the sum of all VariantWeight - * values across all ProductionVariants. If unspecified, it defaults to 1.0. - *

                                        + *

                                        Number of instances to launch initially.

                                        */ - InitialVariantWeight?: number; + InitialInstanceCount: number | undefined; /** - *

                                        The size of the Elastic Inference (EI) instance to use for the production variant. EI - * instances provide on-demand GPU computing for inference. For more information, see - * Using Elastic - * Inference in Amazon SageMaker.

                                        + *

                                        The ML compute instance type.

                                        */ - AcceleratorType?: ProductionVariantAcceleratorType | string; + InstanceType: ProductionVariantInstanceType | string | undefined; } export namespace ProductionVariant { @@ -5258,6 +5554,29 @@ export namespace ProductionVariant { } export interface CreateEndpointConfigInput { + /** + *

                                        + */ + DataCaptureConfig?: DataCaptureConfig; + + /** + *

                                        A list of key-value pairs. For more information, see Using + * Cost Allocation Tags in the AWS Billing and Cost Management User + * Guide.

                                        + */ + Tags?: Tag[]; + + /** + *

                                        The name of the endpoint configuration. You specify this name in a CreateEndpoint request.

                                        + */ + EndpointConfigName: string | undefined; + + /** + *

                                        An list of ProductionVariant objects, one for each model that you want + * to host at this endpoint.

                                        + */ + ProductionVariants: ProductionVariant[] | undefined; + /** *

                                        The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on * the storage volume attached to the ML compute instance that hosts the endpoint.

                                        @@ -5302,29 +5621,6 @@ export interface CreateEndpointConfigInput { * */ KmsKeyId?: string; - - /** - *

                                        The name of the endpoint configuration. You specify this name in a CreateEndpoint request.

                                        - */ - EndpointConfigName: string | undefined; - - /** - *

                                        A list of key-value pairs. For more information, see Using - * Cost Allocation Tags in the AWS Billing and Cost Management User - * Guide.

                                        - */ - Tags?: Tag[]; - - /** - *

                                        An list of ProductionVariant objects, one for each model that you want - * to host at this endpoint.

                                        - */ - ProductionVariants: ProductionVariant[] | undefined; - - /** - *

                                        - */ - DataCaptureConfig?: DataCaptureConfig; } export namespace CreateEndpointConfigInput { @@ -5353,10 +5649,10 @@ export interface CreateExperimentRequest { Description?: string; /** - *

                                        The name of the experiment. The name must be unique in your AWS account and is not - * case-sensitive.

                                        + *

                                        A list of tags to associate with the experiment. You can use Search API + * to search on the tags.

                                        */ - ExperimentName: string | undefined; + Tags?: Tag[]; /** *

                                        The name of the experiment as displayed. The name doesn't need to be unique. If you don't @@ -5366,10 +5662,10 @@ export interface CreateExperimentRequest { DisplayName?: string; /** - *

                                        A list of tags to associate with the experiment. You can use Search API - * to search on the tags.

                                        + *

                                        The name of the experiment. The name must be unique in your AWS account and is not + * case-sensitive.

                                        */ - Tags?: Tag[]; + ExperimentName: string | undefined; } export namespace CreateExperimentRequest { @@ -5774,6 +6070,11 @@ export namespace PublicWorkforceTaskPrice { *

                                        Describes the work to be performed by human workers.

                                        */ export interface HumanLoopConfig { + /** + *

                                        A title for the human worker task.

                                        + */ + TaskTitle: string | undefined; + /** *

                                        Defines the amount of money paid to an Amazon Mechanical Turk worker for each task performed.

                                        *

                                        Use one of the following prices for bounding box tasks. Prices are in US dollars and @@ -6080,11 +6381,6 @@ export interface HumanLoopConfig { */ PublicWorkforceTaskPrice?: PublicWorkforceTaskPrice; - /** - *

                                        The amount of time that a worker has to complete a task.

                                        - */ - TaskTimeLimitInSeconds?: number; - /** *

                                        The number of distinct workers who will perform the same task on each object. * For example, if TaskCount is set to 3 for an image classification @@ -6094,34 +6390,34 @@ export interface HumanLoopConfig { TaskCount: number | undefined; /** - *

                                        Keywords used to describe the task so that workers can discover the task.

                                        + *

                                        The Amazon Resource Name (ARN) of the human task user interface.

                                        */ - TaskKeywords?: string[]; + HumanTaskUiArn: string | undefined; /** - *

                                        The length of time that a task remains available for labeling by human workers.

                                        + *

                                        The length of time that a task remains available for review by human workers.

                                        */ TaskAvailabilityLifetimeInSeconds?: number; /** - *

                                        A title for the human worker task.

                                        + *

                                        A description for the human worker task.

                                        */ - TaskTitle: string | undefined; + TaskDescription: string | undefined; /** - *

                                        The Amazon Resource Name (ARN) of the human task user interface.

                                        + *

                                        The amount of time that a worker has to complete a task. The default value is 3,600 seconds (1 hour)

                                        */ - HumanTaskUiArn: string | undefined; + TaskTimeLimitInSeconds?: number; /** - *

                                        A description for the human worker task.

                                        + *

                                        Amazon Resource Name (ARN) of a team of workers.

                                        */ - TaskDescription: string | undefined; + WorkteamArn: string | undefined; /** - *

                                        Amazon Resource Name (ARN) of a team of workers.

                                        + *

                                        Keywords used to describe the task so that workers can discover the task.

                                        */ - WorkteamArn: string | undefined; + TaskKeywords?: string[]; } export namespace HumanLoopConfig { @@ -6152,14 +6448,14 @@ export namespace HumanLoopRequestSource { */ export interface FlowDefinitionOutputConfig { /** - *

                                        The Amazon Key Management Service (KMS) key ID for server-side encryption.

                                        + *

                                        The Amazon S3 path where the object containing human output will be made available.

                                        */ - KmsKeyId?: string; + S3OutputPath: string | undefined; /** - *

                                        The Amazon S3 path where the object containing human output will be made available.

                                        + *

                                        The Amazon Key Management Service (KMS) key ID for server-side encryption.

                                        */ - S3OutputPath: string | undefined; + KmsKeyId?: string; } export namespace FlowDefinitionOutputConfig { @@ -6170,20 +6466,20 @@ export namespace FlowDefinitionOutputConfig { export interface CreateFlowDefinitionRequest { /** - *

                                        An object containing information about the tasks the human reviewers will perform.

                                        + *

                                        An object containing information about where the human review results will be uploaded.

                                        */ - HumanLoopConfig: HumanLoopConfig | undefined; + OutputConfig: FlowDefinitionOutputConfig | undefined; /** - *

                                        Container for configuring the source of human task requests. Use to specify if - * Amazon Rekognition or Amazon Textract is used as an integration source.

                                        + *

                                        An array of key-value pairs that contain metadata to help you categorize and organize a flow definition. Each tag consists of a key and a value, both of which you define.

                                        */ - HumanLoopRequestSource?: HumanLoopRequestSource; + Tags?: Tag[]; /** - *

                                        The name of your flow definition.

                                        + *

                                        Container for configuring the source of human task requests. Use to specify if + * Amazon Rekognition or Amazon Textract is used as an integration source.

                                        */ - FlowDefinitionName: string | undefined; + HumanLoopRequestSource?: HumanLoopRequestSource; /** *

                                        An object containing information about the events that trigger a human workflow.

                                        @@ -6191,19 +6487,19 @@ export interface CreateFlowDefinitionRequest { HumanLoopActivationConfig?: HumanLoopActivationConfig; /** - *

                                        An array of key-value pairs that contain metadata to help you categorize and organize a flow definition. Each tag consists of a key and a value, both of which you define.

                                        + *

                                        The Amazon Resource Name (ARN) of the role needed to call other services on your behalf. For example, arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

                                        */ - Tags?: Tag[]; + RoleArn: string | undefined; /** - *

                                        The Amazon Resource Name (ARN) of the role needed to call other services on your behalf. For example, arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

                                        + *

                                        An object containing information about the tasks the human reviewers will perform.

                                        */ - RoleArn: string | undefined; + HumanLoopConfig: HumanLoopConfig | undefined; /** - *

                                        An object containing information about where the human review results will be uploaded.

                                        + *

                                        The name of your flow definition.

                                        */ - OutputConfig: FlowDefinitionOutputConfig | undefined; + FlowDefinitionName: string | undefined; } export namespace CreateFlowDefinitionRequest { @@ -6242,6 +6538,11 @@ export namespace UiTemplate { } export interface CreateHumanTaskUiRequest { + /** + *

                                        The Liquid template for the worker user interface.

                                        + */ + UiTemplate: UiTemplate | undefined; + /** *

                                        The name of the user interface you are creating.

                                        */ @@ -6251,11 +6552,6 @@ export interface CreateHumanTaskUiRequest { *

                                        An array of key-value pairs that contain metadata to help you categorize and organize a human review workflow user interface. Each tag consists of a key and a value, both of which you define.

                                        */ Tags?: Tag[]; - - /** - *

                                        The Liquid template for the worker user interface.

                                        - */ - UiTemplate: UiTemplate | undefined; } export namespace CreateHumanTaskUiRequest { @@ -6283,6 +6579,25 @@ export namespace CreateHumanTaskUiResponse { * a hyperparameter tuning job searches.

                                        */ export interface IntegerParameterRange { + /** + *

                                        The minimum + * value + * of the hyperparameter to search.

                                        + */ + MinValue: string | undefined; + + /** + *

                                        The maximum + * value + * of the hyperparameter to search.

                                        + */ + MaxValue: string | undefined; + + /** + *

                                        The name of the hyperparameter to search.

                                        + */ + Name: string | undefined; + /** *

                                        The scale that hyperparameter tuning uses to search the hyperparameter range. For * information about choosing a hyperparameter scale, see Hyperparameter Scaling. One of the following values:

                                        @@ -6307,25 +6622,6 @@ export interface IntegerParameterRange { * */ ScalingType?: HyperParameterScalingType | string; - - /** - *

                                        The maximum - * value - * of the hyperparameter to search.

                                        - */ - MaxValue: string | undefined; - - /** - *

                                        The minimum - * value - * of the hyperparameter to search.

                                        - */ - MinValue: string | undefined; - - /** - *

                                        The name of the hyperparameter to search.

                                        - */ - Name: string | undefined; } export namespace IntegerParameterRange { @@ -6347,18 +6643,18 @@ export namespace IntegerParameterRange { * */ export interface ParameterRanges { - /** - *

                                        The array of CategoricalParameterRange objects that specify ranges - * of categorical hyperparameters that a hyperparameter tuning job searches.

                                        - */ - CategoricalParameterRanges?: CategoricalParameterRange[]; - /** *

                                        The array of ContinuousParameterRange objects that specify ranges of * continuous hyperparameters that a hyperparameter tuning job searches.

                                        */ ContinuousParameterRanges?: ContinuousParameterRange[]; + /** + *

                                        The array of CategoricalParameterRange objects that specify ranges + * of categorical hyperparameters that a hyperparameter tuning job searches.

                                        + */ + CategoricalParameterRanges?: CategoricalParameterRange[]; + /** *

                                        The array of IntegerParameterRange objects that specify ranges of * integer hyperparameters that a hyperparameter tuning job searches.

                                        @@ -6382,18 +6678,18 @@ export interface ResourceLimits { /** *

                                        The * maximum - * number of concurrent training jobs that a hyperparameter tuning job can + * number of training jobs that a hyperparameter tuning job can * launch.

                                        */ - MaxParallelTrainingJobs: number | undefined; + MaxNumberOfTrainingJobs: number | undefined; /** *

                                        The * maximum - * number of training jobs that a hyperparameter tuning job can + * number of concurrent training jobs that a hyperparameter tuning job can * launch.

                                        */ - MaxNumberOfTrainingJobs: number | undefined; + MaxParallelTrainingJobs: number | undefined; } export namespace ResourceLimits { @@ -6417,7 +6713,7 @@ export enum TrainingJobEarlyStoppingType { */ export interface TuningJobCompletionCriteria { /** - *

                                        The objective metric's value.

                                        + *

                                        The value of the objective metric.

                                        */ TargetObjectiveMetricValue: number | undefined; } @@ -6433,11 +6729,11 @@ export namespace TuningJobCompletionCriteria { */ export interface HyperParameterTuningJobConfig { /** - *

                                        The HyperParameterTuningJobObjective object that specifies the - * objective - * metric for this tuning job.

                                        + *

                                        The ParameterRanges object that specifies the ranges of + * hyperparameters + * that this tuning job searches.

                                        */ - HyperParameterTuningJobObjective?: HyperParameterTuningJobObjective; + ParameterRanges?: ParameterRanges; /** *

                                        The tuning job's completion criteria.

                                        @@ -6445,12 +6741,11 @@ export interface HyperParameterTuningJobConfig { TuningJobCompletionCriteria?: TuningJobCompletionCriteria; /** - *

                                        The ResourceLimits object that specifies the - * maximum - * number of training jobs and parallel training jobs for this tuning - * job.

                                        + *

                                        The HyperParameterTuningJobObjective object that specifies the + * objective + * metric for this tuning job.

                                        */ - ResourceLimits: ResourceLimits | undefined; + HyperParameterTuningJobObjective?: HyperParameterTuningJobObjective; /** *

                                        Specifies how hyperparameter tuning chooses the combinations of hyperparameter values @@ -6482,11 +6777,12 @@ export interface HyperParameterTuningJobConfig { TrainingJobEarlyStoppingType?: TrainingJobEarlyStoppingType | string; /** - *

                                        The ParameterRanges object that specifies the ranges of - * hyperparameters - * that this tuning job searches.

                                        + *

                                        The ResourceLimits object that specifies the + * maximum + * number of training jobs and parallel training jobs for this tuning + * job.

                                        */ - ParameterRanges?: ParameterRanges; + ResourceLimits: ResourceLimits | undefined; } export namespace HyperParameterTuningJobConfig { @@ -6502,6 +6798,30 @@ export namespace HyperParameterTuningJobConfig { * tuning job launches and the metrics to monitor.

                                        */ export interface HyperParameterAlgorithmSpecification { + /** + *

                                        An array of MetricDefinition objects that specify the + * metrics + * that the algorithm emits.

                                        + */ + MetricDefinitions?: MetricDefinition[]; + + /** + *

                                        The registry path of the Docker image that contains the training algorithm. For + * information about Docker registry paths for built-in algorithms, see Algorithms + * Provided by Amazon SageMaker: Common Parameters. Amazon SageMaker supports both + * registry/repository[:tag] and registry/repository[@digest] + * image path formats. For more information, see Using Your Own Algorithms with Amazon + * SageMaker.

                                        + */ + TrainingImage?: string; + + /** + *

                                        The name of the resource algorithm to use for the hyperparameter tuning job. If you + * specify a value for this parameter, do not specify a value for + * TrainingImage.

                                        + */ + AlgorithmName?: string; + /** *

                                        The input mode that the algorithm supports: * File @@ -6521,30 +6841,6 @@ export interface HyperParameterAlgorithmSpecification { *

                                        For more information about input modes, see Algorithms.

                                        */ TrainingInputMode: TrainingInputMode | string | undefined; - - /** - *

                                        An array of MetricDefinition objects that specify the - * metrics - * that the algorithm emits.

                                        - */ - MetricDefinitions?: MetricDefinition[]; - - /** - *

                                        The name of the resource algorithm to use for the hyperparameter tuning job. If you - * specify a value for this parameter, do not specify a value for - * TrainingImage.

                                        - */ - AlgorithmName?: string; - - /** - *

                                        The registry path of the Docker image that contains the training algorithm. For - * information about Docker registry paths for built-in algorithms, see Algorithms - * Provided by Amazon SageMaker: Common Parameters. Amazon SageMaker supports both - * registry/repository[:tag] and registry/repository[@digest] - * image path formats. For more information, see Using Your Own Algorithms with Amazon - * SageMaker.

                                        - */ - TrainingImage?: string; } export namespace HyperParameterAlgorithmSpecification { @@ -6558,32 +6854,6 @@ export namespace HyperParameterAlgorithmSpecification { * the training jobs launched by a hyperparameter tuning job.

                                        */ export interface HyperParameterTrainingJobDefinition { - /** - *

                                        To encrypt all communications between ML compute instances in distributed training, - * choose True. Encryption provides greater security for distributed training, - * but training might take longer. How long it takes depends on the amount of communication - * between compute instances, especially if you use a deep learning algorithm in - * distributed training.

                                        - */ - EnableInterContainerTrafficEncryption?: boolean; - - /** - *

                                        Isolates the training container. No inbound or outbound network calls can be made, - * except for calls between peers within a training cluster for distributed training. If - * network isolation is used for training jobs that are configured to use a VPC, Amazon SageMaker - * downloads and uploads customer data and model artifacts through the specified VPC, but - * the training container does not have network access.

                                        - */ - EnableNetworkIsolation?: boolean; - - /** - *

                                        Specifies a limit to how long a model hyperparameter training job can run. It also - * specifies how long you are willing to wait for a managed spot training job to complete. - * When the job reaches the a limit, Amazon SageMaker ends the training job. Use this API to cap model - * training costs.

                                        - */ - StoppingCondition: StoppingCondition | undefined; - /** *

                                        Specifies the values of hyperparameters * that @@ -6591,20 +6861,6 @@ export interface HyperParameterTrainingJobDefinition { */ StaticHyperParameters?: { [key: string]: string }; - /** - *

                                        Specifies ranges of integer, continuous, and categorical hyperparameters that a - * hyperparameter tuning job searches. The hyperparameter tuning job launches training jobs - * with hyperparameter values within these ranges to find the combination of values that - * result in the training job with the best performance as measured by the objective metric - * of the hyperparameter tuning job.

                                        - * - *

                                        You can specify a maximum of 20 hyperparameters that a hyperparameter tuning job - * can search over. Every possible value of a categorical parameter range counts - * against this limit.

                                        - *
                                        - */ - HyperParameterRanges?: ParameterRanges; - /** *

                                        The resources, * including @@ -6623,33 +6879,41 @@ export interface HyperParameterTrainingJobDefinition { ResourceConfig: ResourceConfig | undefined; /** - *

                                        Defines the objective metric for a hyperparameter tuning job. - * Hyperparameter - * tuning uses the value of this metric to evaluate the training jobs it launches, and - * returns the training job that results in either the highest or lowest value for this - * metric, depending on the value you specify for the Type - * parameter.

                                        + *

                                        Specifies ranges of integer, continuous, and categorical hyperparameters that a + * hyperparameter tuning job searches. The hyperparameter tuning job launches training jobs + * with hyperparameter values within these ranges to find the combination of values that + * result in the training job with the best performance as measured by the objective metric + * of the hyperparameter tuning job.

                                        + * + *

                                        You can specify a maximum of 20 hyperparameters that a hyperparameter tuning job + * can search over. Every possible value of a categorical parameter range counts + * against this limit.

                                        + *
                                        */ - TuningObjective?: HyperParameterTuningJobObjective; + HyperParameterRanges?: ParameterRanges; /** - *

                                        The HyperParameterAlgorithmSpecification object that - * specifies - * the resource algorithm to use for the training jobs that the tuning - * job launches.

                                        + *

                                        A Boolean indicating whether managed spot training is enabled (True) or + * not (False).

                                        */ - AlgorithmSpecification: HyperParameterAlgorithmSpecification | undefined; + EnableManagedSpotTraining?: boolean; /** - *

                                        The job definition name.

                                        + *

                                        Isolates the training container. No inbound or outbound network calls can be made, + * except for calls between peers within a training cluster for distributed training. If + * network isolation is used for training jobs that are configured to use a VPC, Amazon SageMaker + * downloads and uploads customer data and model artifacts through the specified VPC, but + * the training container does not have network access.

                                        */ - DefinitionName?: string; + EnableNetworkIsolation?: boolean; /** - *

                                        Contains information about the output location for managed spot training checkpoint - * data.

                                        + *

                                        Specifies a limit to how long a model hyperparameter training job can run. It also + * specifies how long you are willing to wait for a managed spot training job to complete. + * When the job reaches the a limit, Amazon SageMaker ends the training job. Use this API to cap model + * training costs.

                                        */ - CheckpointConfig?: CheckpointConfig; + StoppingCondition: StoppingCondition | undefined; /** *

                                        The VpcConfig object that @@ -6670,6 +6934,17 @@ export interface HyperParameterTrainingJobDefinition { */ OutputDataConfig: OutputDataConfig | undefined; + /** + *

                                        Contains information about the output location for managed spot training checkpoint + * data.

                                        + */ + CheckpointConfig?: CheckpointConfig; + + /** + *

                                        The job definition name.

                                        + */ + DefinitionName?: string; + /** *

                                        An array of Channel objects that specify * the @@ -6686,10 +6961,31 @@ export interface HyperParameterTrainingJobDefinition { RoleArn: string | undefined; /** - *

                                        A Boolean indicating whether managed spot training is enabled (True) or - * not (False).

                                        + *

                                        The HyperParameterAlgorithmSpecification object that + * specifies + * the resource algorithm to use for the training jobs that the tuning + * job launches.

                                        */ - EnableManagedSpotTraining?: boolean; + AlgorithmSpecification: HyperParameterAlgorithmSpecification | undefined; + + /** + *

                                        To encrypt all communications between ML compute instances in distributed training, + * choose True. Encryption provides greater security for distributed training, + * but training might take longer. How long it takes depends on the amount of communication + * between compute instances, especially if you use a deep learning algorithm in + * distributed training.

                                        + */ + EnableInterContainerTrafficEncryption?: boolean; + + /** + *

                                        Defines the objective metric for a hyperparameter tuning job. + * Hyperparameter + * tuning uses the value of this metric to evaluate the training jobs it launches, and + * returns the training job that results in either the highest or lowest value for this + * metric, depending on the value you specify for the Type + * parameter.

                                        + */ + TuningObjective?: HyperParameterTuningJobObjective; } export namespace HyperParameterTrainingJobDefinition { @@ -6738,16 +7034,6 @@ export enum HyperParameterTuningJobWarmStartType { * */ export interface HyperParameterTuningJobWarmStartConfig { - /** - *

                                        An array of hyperparameter tuning jobs that are used as the starting point for the new - * hyperparameter tuning job. For more information about warm starting a hyperparameter - * tuning job, see Using a Previous - * Hyperparameter Tuning Job as a Starting Point.

                                        - *

                                        Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent - * jobs for warm start tuning jobs.

                                        - */ - ParentHyperParameterTuningJobs: ParentHyperParameterTuningJob[] | undefined; - /** *

                                        Specifies one of the following:

                                        *
                                        @@ -6780,6 +7066,16 @@ export interface HyperParameterTuningJobWarmStartConfig { *
                                        */ WarmStartType: HyperParameterTuningJobWarmStartType | string | undefined; + + /** + *

                                        An array of hyperparameter tuning jobs that are used as the starting point for the new + * hyperparameter tuning job. For more information about warm starting a hyperparameter + * tuning job, see Using a Previous + * Hyperparameter Tuning Job as a Starting Point.

                                        + *

                                        Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent + * jobs for warm start tuning jobs.

                                        + */ + ParentHyperParameterTuningJobs: ParentHyperParameterTuningJob[] | undefined; } export namespace HyperParameterTuningJobWarmStartConfig { @@ -6789,30 +7085,6 @@ export namespace HyperParameterTuningJobWarmStartConfig { } export interface CreateHyperParameterTuningJobRequest { - /** - *

                                        An array of key-value pairs. You can use tags to categorize your AWS resources in - * different ways, for example, by purpose, owner, or environment. For more information, - * see AWS - * Tagging Strategies.

                                        - *

                                        Tags that you specify for the tuning job are also added to all training jobs that the - * tuning job launches.

                                        - */ - Tags?: Tag[]; - - /** - *

                                        The name of the tuning job. This name is the prefix for the names of all training jobs - * that this tuning job launches. The name must be unique within the same AWS account and - * AWS Region. The name must have { } to { } characters. Valid characters are a-z, A-Z, - * 0-9, and : + = @ _ % - (hyphen). The name is not case sensitive.

                                        - */ - HyperParameterTuningJobName: string | undefined; - - /** - *

                                        A list of the HyperParameterTrainingJobDefinition objects launched - * for this tuning job.

                                        - */ - TrainingJobDefinitions?: HyperParameterTrainingJobDefinition[]; - /** *

                                        The HyperParameterTrainingJobDefinition object that describes the * training jobs that this tuning job launches, @@ -6822,15 +7094,6 @@ export interface CreateHyperParameterTuningJobRequest { */ TrainingJobDefinition?: HyperParameterTrainingJobDefinition; - /** - *

                                        The HyperParameterTuningJobConfig object that describes the tuning - * job, including the search strategy, the objective metric used to evaluate training jobs, - * ranges of parameters to search, and resource limits for the tuning job. For more - * information, see How - * Hyperparameter Tuning Works.

                                        - */ - HyperParameterTuningJobConfig: HyperParameterTuningJobConfig | undefined; - /** *

                                        Specifies the configuration for starting the hyperparameter tuning job using one or * more previous tuning jobs as a starting point. The results of previous tuning jobs are @@ -6849,6 +7112,39 @@ export interface CreateHyperParameterTuningJobRequest { * */ WarmStartConfig?: HyperParameterTuningJobWarmStartConfig; + + /** + *

                                        A list of the HyperParameterTrainingJobDefinition objects launched + * for this tuning job.

                                        + */ + TrainingJobDefinitions?: HyperParameterTrainingJobDefinition[]; + + /** + *

                                        The HyperParameterTuningJobConfig object that describes the tuning + * job, including the search strategy, the objective metric used to evaluate training jobs, + * ranges of parameters to search, and resource limits for the tuning job. For more + * information, see How + * Hyperparameter Tuning Works.

                                        + */ + HyperParameterTuningJobConfig: HyperParameterTuningJobConfig | undefined; + + /** + *

                                        An array of key-value pairs. You can use tags to categorize your AWS resources in + * different ways, for example, by purpose, owner, or environment. For more information, + * see AWS + * Tagging Strategies.

                                        + *

                                        Tags that you specify for the tuning job are also added to all training jobs that the + * tuning job launches.

                                        + */ + Tags?: Tag[]; + + /** + *

                                        The name of the tuning job. This name is the prefix for the names of all training jobs + * that this tuning job launches. The name must be unique within the same AWS account and + * AWS Region. The name must have { } to { } characters. Valid characters are a-z, A-Z, + * 0-9, and : + = @ _ % - (hyphen). The name is not case sensitive.

                                        + */ + HyperParameterTuningJobName: string | undefined; } export namespace CreateHyperParameterTuningJobRequest { @@ -6875,21 +7171,30 @@ export namespace CreateHyperParameterTuningJobResponse { *

                                        Provided configuration information for the worker UI for a labeling job.

                                        */ export interface UiConfig { + /** + *

                                        The Amazon S3 bucket location of the UI template, or worker task template. This is the + * template used to render the worker UI and tools for labeling job tasks. For more + * information about the contents of a UI template, see Creating Your Custom + * Labeling Task Template.

                                        + */ + UiTemplateS3Uri?: string; + /** *

                                        The ARN of the worker task template used to render the worker UI and tools for * labeling job tasks.

                                        - *

                                        Use this parameter when you are creating a labeling job for 3D point cloud - * and video fram labeling jobs. Use your labeling job task type to select one of the following ARN's and use - * it with this parameter when you create a labeling job. Replace aws-region - * with the AWS region you are creating your labeling job in.

                                        + *

                                        Use this parameter when you are creating a labeling job for 3D point cloud and video + * fram labeling jobs. Use your labeling job task type to select one of the following ARN's + * and use it with this parameter when you create a labeling job. Replace + * aws-region with the AWS region you are creating your labeling job + * in.

                                        * - *

                                        + *

                                        * 3D Point Cloud HumanTaskUiArns *

                                        * - *

                                        Use this HumanTaskUiArn for 3D point cloud object detection and - * 3D point cloud object detection adjustment labeling jobs.

                                        - *
                                          + *

                                          Use this HumanTaskUiArn for 3D point cloud object detection and 3D point + * cloud object detection adjustment labeling jobs.

                                          + *
                                            *
                                          • *

                                            * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudObjectDetection @@ -6897,9 +7202,9 @@ export interface UiConfig { *

                                          • *
                                          * - *

                                          Use this HumanTaskUiArn for 3D point cloud object tracking and - * 3D point cloud object tracking adjustment labeling jobs.

                                          - *
                                            + *

                                            Use this HumanTaskUiArn for 3D point cloud object tracking and 3D point + * cloud object tracking adjustment labeling jobs.

                                            + *
                                              *
                                            • *

                                              * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudObjectTracking @@ -6907,9 +7212,9 @@ export interface UiConfig { *

                                            • *
                                            * - *

                                            Use this HumanTaskUiArn for 3D point cloud semantic segmentation - * and 3D point cloud semantic segmentation adjustment labeling jobs.

                                            - *
                                              + *

                                              Use this HumanTaskUiArn for 3D point cloud semantic segmentation and 3D + * point cloud semantic segmentation adjustment labeling jobs.

                                              + *
                                                *
                                              • *

                                                * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudSemanticSegmentation @@ -6917,13 +7222,13 @@ export interface UiConfig { *

                                              • *
                                              * - *

                                              + *

                                              * Video Frame HumanTaskUiArns *

                                              * - *

                                              Use this HumanTaskUiArn for video frame object detection and - * video frame object detection adjustment labeling jobs.

                                              - *
                                                + *

                                                Use this HumanTaskUiArn for video frame object detection and video frame + * object detection adjustment labeling jobs.

                                                + *
                                                  *
                                                • *

                                                  * arn:aws:sagemaker:region:394669845002:human-task-ui/VideoObjectDetection @@ -6931,9 +7236,9 @@ export interface UiConfig { *

                                                • *
                                                * - *

                                                Use this HumanTaskUiArn for video frame object tracking and - * video frame object tracking adjustment labeling jobs.

                                                - *
                                                  + *

                                                  Use this HumanTaskUiArn for video frame object tracking and video frame + * object tracking adjustment labeling jobs.

                                                  + *
                                                    *
                                                  • *

                                                    * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/VideoObjectTracking @@ -6942,14 +7247,6 @@ export interface UiConfig { *

                                                  */ HumanTaskUiArn?: string; - - /** - *

                                                  The Amazon S3 bucket location of the UI template, or worker task template. This is the - * template used to render the worker UI and tools for labeling job tasks. For more - * information about the contents of a UI template, see Creating Your Custom - * Labeling Task Template.

                                                  - */ - UiTemplateS3Uri?: string; } export namespace UiConfig { @@ -6962,45 +7259,6 @@ export namespace UiConfig { *

                                                  Information required for human workers to complete a labeling task.

                                                  */ export interface HumanTaskConfig { - /** - *

                                                  The Amazon Resource Name (ARN) of the work team assigned to complete the tasks.

                                                  - */ - WorkteamArn: string | undefined; - - /** - *

                                                  Defines the maximum number of data objects that can be labeled by human workers at the - * same time. Also referred to as batch size. Each object may have more than one worker at one time. - * The default value is 1000 objects.

                                                  - */ - MaxConcurrentTaskCount?: number; - - /** - *

                                                  Configures how labels are consolidated across human workers.

                                                  - */ - AnnotationConsolidationConfig: AnnotationConsolidationConfig | undefined; - - /** - *

                                                  Information about the user interface that workers use to complete the labeling - * task.

                                                  - */ - UiConfig: UiConfig | undefined; - - /** - *

                                                  Keywords used to describe the task so that workers on Amazon Mechanical Turk can - * discover the task.

                                                  - */ - TaskKeywords?: string[]; - - /** - *

                                                  The amount of time that a worker has to complete a task.

                                                  - */ - TaskTimeLimitInSeconds: number | undefined; - - /** - *

                                                  A title for the task for your human workers.

                                                  - */ - TaskTitle: string | undefined; - /** *

                                                  The Amazon Resource Name (ARN) of a Lambda function that is run before a data object * is sent to a human worker. Use this function to provide input to a custom labeling @@ -8526,12 +8784,10 @@ export interface HumanTaskConfig { PreHumanTaskLambdaArn: string | undefined; /** - *

                                                  The length of time that a task remains available for labeling by human workers. - * If you choose the Amazon Mechanical Turk workforce, the maximum is 12 hours - * (43200). The default value is 864000 seconds (10 days). For private and vendor workforces, the maximum is as - * listed.

                                                  + *

                                                  Keywords used to describe the task so that workers on Amazon Mechanical Turk can + * discover the task.

                                                  */ - TaskAvailabilityLifetimeInSeconds?: number; + TaskKeywords?: string[]; /** *

                                                  The price that you pay for each task performed by an Amazon Mechanical Turk worker.

                                                  @@ -8543,10 +8799,51 @@ export interface HumanTaskConfig { */ NumberOfHumanWorkersPerDataObject: number | undefined; + /** + *

                                                  Configures how labels are consolidated across human workers.

                                                  + */ + AnnotationConsolidationConfig: AnnotationConsolidationConfig | undefined; + + /** + *

                                                  The amount of time that a worker has to complete a task.

                                                  + */ + TaskTimeLimitInSeconds: number | undefined; + /** *

                                                  A description of the task for your human workers.

                                                  */ TaskDescription: string | undefined; + + /** + *

                                                  The length of time that a task remains available for labeling by human workers. + * If you choose the Amazon Mechanical Turk workforce, the maximum is 12 hours + * (43200). The default value is 864000 seconds (10 days). For private and vendor workforces, the maximum is as + * listed.

                                                  + */ + TaskAvailabilityLifetimeInSeconds?: number; + + /** + *

                                                  Information about the user interface that workers use to complete the labeling + * task.

                                                  + */ + UiConfig: UiConfig | undefined; + + /** + *

                                                  Defines the maximum number of data objects that can be labeled by human workers at the + * same time. Also referred to as batch size. Each object may have more than one worker at one time. + * The default value is 1000 objects.

                                                  + */ + MaxConcurrentTaskCount?: number; + + /** + *

                                                  The Amazon Resource Name (ARN) of the work team assigned to complete the tasks.

                                                  + */ + WorkteamArn: string | undefined; + + /** + *

                                                  A title for the task for your human workers.

                                                  + */ + TaskTitle: string | undefined; } export namespace HumanTaskConfig { @@ -8590,10 +8887,41 @@ export namespace LabelingJobS3DataSource { }); } +/** + *

                                                  An Amazon SNS data source used for streaming labeling jobs.

                                                  + */ +export interface LabelingJobSnsDataSource { + /** + *

                                                  The Amazon SNS input topic Amazon Resource Name (ARN). Specify the ARN of the input topic + * you will use to send new data objects to a streaming labeling job.

                                                  + *

                                                  If you specify an input topic for SnsTopicArn in InputConfig, + * you must specify a value for SnsTopicArn in OutputConfig.

                                                  + */ + SnsTopicArn: string | undefined; +} + +export namespace LabelingJobSnsDataSource { + export const filterSensitiveLog = (obj: LabelingJobSnsDataSource): any => ({ + ...obj, + }); +} + /** *

                                                  Provides information about the location of input data.

                                                  + *

                                                  You must specify at least one of the following: S3DataSource or SnsDataSource.

                                                  + *

                                                  Use SnsDataSource to specify an SNS input topic + * for a streaming labeling job. If you do not specify + * and SNS input topic ARN, Ground Truth will create a one-time labeling job.

                                                  + *

                                                  Use S3DataSource to specify an input + * manifest file for both streaming and one-time labeling jobs. + * Adding an S3DataSource is optional if you use SnsDataSource to create a streaming labeling job.

                                                  */ export interface LabelingJobDataSource { + /** + *

                                                  An Amazon SNS data source used for streaming labeling jobs.

                                                  + */ + SnsDataSource?: LabelingJobSnsDataSource; + /** *

                                                  The Amazon S3 location of the input data objects.

                                                  */ @@ -8665,13 +8993,6 @@ export namespace LabelingJobResourceConfig { * auto-labeling.

                                                  */ export interface LabelingJobAlgorithmsConfig { - /** - *

                                                  At the end of an auto-label job Amazon SageMaker Ground Truth sends the Amazon Resource Nam (ARN) of the final - * model used for auto-labeling. You can use this model as the starting point for - * subsequent similar jobs by providing the ARN of the model here.

                                                  - */ - InitialActiveLearningModelArn?: string; - /** *

                                                  Provides configuration information for a labeling job.

                                                  */ @@ -8716,6 +9037,13 @@ export interface LabelingJobAlgorithmsConfig { *
                                                */ LabelingJobAlgorithmSpecificationArn: string | undefined; + + /** + *

                                                At the end of an auto-label job Ground Truth sends the Amazon Resource Name (ARN) of the final + * model used for auto-labeling. You can use this model as the starting point for + * subsequent similar jobs by providing the ARN of the model here.

                                                + */ + InitialActiveLearningModelArn?: string; } export namespace LabelingJobAlgorithmsConfig { @@ -8728,6 +9056,21 @@ export namespace LabelingJobAlgorithmsConfig { *

                                                Output configuration information for a labeling job.

                                                */ export interface LabelingJobOutputConfig { + /** + *

                                                An Amazon Simple Notification Service (Amazon SNS) output topic ARN.

                                                + *

                                                When workers complete labeling tasks, Ground Truth will send + * labeling task output data to the SNS output topic you specify here.

                                                + *

                                                You must provide a value for this parameter + * if you provide an Amazon SNS input topic in SnsDataSource + * in InputConfig.

                                                + */ + SnsTopicArn?: string; + + /** + *

                                                The Amazon S3 location to write output data.

                                                + */ + S3OutputPath: string | undefined; + /** *

                                                The AWS Key Management Service ID of the key used to encrypt the output data, if any.

                                                *

                                                If you use a KMS key ID or an alias of your master key, the Amazon SageMaker execution role must @@ -8746,11 +9089,6 @@ export interface LabelingJobOutputConfig { * Guide.

                                                */ KmsKeyId?: string; - - /** - *

                                                The Amazon S3 location to write output data.

                                                - */ - S3OutputPath: string | undefined; } export namespace LabelingJobOutputConfig { @@ -8786,6 +9124,34 @@ export namespace LabelingJobStoppingConditions { } export interface CreateLabelingJobRequest { + /** + *

                                                The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf + * during data labeling. You must grant this role the necessary permissions so that Amazon SageMaker + * can successfully complete data labeling.

                                                + */ + RoleArn: string | undefined; + + /** + *

                                                The name of the labeling job. This name is used to identify the job in a list of + * labeling jobs.

                                                + */ + LabelingJobName: string | undefined; + + /** + *

                                                An array of key/value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management + * User Guide.

                                                + */ + Tags?: Tag[]; + + /** + *

                                                The attribute name to use for the label in the output manifest file. This is the key + * for the key/value pair formed with the label that a worker assigns to the object. The + * name can't end with "-metadata". If you are running a semantic segmentation labeling + * job, the attribute name must end with "-ref". If you are running any other kind of + * labeling job, the attribute name must not end with "-ref".

                                                + */ + LabelAttributeName: string | undefined; + /** *

                                                A set of conditions for stopping the labeling job. If any of the conditions are met, * the job is automatically stopped. You can use these conditions to control the cost of @@ -8800,21 +9166,20 @@ export interface CreateLabelingJobRequest { InputConfig: LabelingJobInputConfig | undefined; /** - *

                                                Configures the labeling task and how it is presented to workers; including, but not limited to price, keywords, and batch size (task count).

                                                + *

                                                Configures the information required to perform automated data labeling.

                                                */ - HumanTaskConfig: HumanTaskConfig | undefined; + LabelingJobAlgorithmsConfig?: LabelingJobAlgorithmsConfig; /** - *

                                                The name of the labeling job. This name is used to identify the job in a list of - * labeling jobs.

                                                + *

                                                Configures the labeling task and how it is presented to workers; including, but not limited to price, keywords, and batch size (task count).

                                                */ - LabelingJobName: string | undefined; + HumanTaskConfig: HumanTaskConfig | undefined; /** - *

                                                An array of key/value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management - * User Guide.

                                                + *

                                                The location of the output data and the AWS Key Management Service key ID for the key used to encrypt + * the output data, if any.

                                                */ - Tags?: Tag[]; + OutputConfig: LabelingJobOutputConfig | undefined; /** *

                                                The S3 URL of the file that defines the categories used to label the data @@ -8872,56 +9237,46 @@ export interface CreateLabelingJobRequest { *

                                                */ LabelCategoryConfigS3Uri?: string; +} + +export namespace CreateLabelingJobRequest { + export const filterSensitiveLog = (obj: CreateLabelingJobRequest): any => ({ + ...obj, + }); +} +export interface CreateLabelingJobResponse { /** - *

                                                The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf - * during data labeling. You must grant this role the necessary permissions so that Amazon SageMaker - * can successfully complete data labeling.

                                                + *

                                                The Amazon Resource Name (ARN) of the labeling job. You use this ARN to identify the + * labeling job.

                                                */ - RoleArn: string | undefined; + LabelingJobArn: string | undefined; +} - /** - *

                                                The attribute name to use for the label in the output manifest file. This is the key - * for the key/value pair formed with the label that a worker assigns to the object. The - * name can't end with "-metadata". If you are running a semantic segmentation labeling - * job, the attribute name must end with "-ref". If you are running any other kind of - * labeling job, the attribute name must not end with "-ref".

                                                - */ - LabelAttributeName: string | undefined; +export namespace CreateLabelingJobResponse { + export const filterSensitiveLog = (obj: CreateLabelingJobResponse): any => ({ + ...obj, + }); +} +export interface CreateModelInput { /** - *

                                                Configures the information required to perform automated data labeling.

                                                + *

                                                The location of the primary docker image containing inference code, associated + * artifacts, and custom environment map that the inference code uses when the model is + * deployed for predictions.

                                                */ - LabelingJobAlgorithmsConfig?: LabelingJobAlgorithmsConfig; + PrimaryContainer?: ContainerDefinition; /** - *

                                                The location of the output data and the AWS Key Management Service key ID for the key used to encrypt - * the output data, if any.

                                                + *

                                                Specifies the containers in the inference pipeline.

                                                */ - OutputConfig: LabelingJobOutputConfig | undefined; -} - -export namespace CreateLabelingJobRequest { - export const filterSensitiveLog = (obj: CreateLabelingJobRequest): any => ({ - ...obj, - }); -} + Containers?: ContainerDefinition[]; -export interface CreateLabelingJobResponse { /** - *

                                                The Amazon Resource Name (ARN) of the labeling job. You use this ARN to identify the - * labeling job.

                                                + *

                                                The name of the new model.

                                                */ - LabelingJobArn: string | undefined; -} - -export namespace CreateLabelingJobResponse { - export const filterSensitiveLog = (obj: CreateLabelingJobResponse): any => ({ - ...obj, - }); -} + ModelName: string | undefined; -export interface CreateModelInput { /** *

                                                A VpcConfig object that specifies the VPC that you want your model * to connect to. Control access to and from your model container by configuring the VPC. @@ -8931,20 +9286,6 @@ export interface CreateModelInput { */ VpcConfig?: VpcConfig; - /** - *

                                                Isolates the model container. No inbound or outbound network calls can be made to or - * from the model container.

                                                - */ - EnableNetworkIsolation?: boolean; - - /** - *

                                                An array of key-value pairs. For more information, see Using - * Cost Allocation Tags in the AWS Billing and Cost Management User - * Guide. - *

                                                - */ - Tags?: Tag[]; - /** *

                                                The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access model * artifacts and docker image for deployment on ML compute instances or for batch transform @@ -8959,21 +9300,18 @@ export interface CreateModelInput { ExecutionRoleArn: string | undefined; /** - *

                                                The location of the primary docker image containing inference code, associated - * artifacts, and custom environment map that the inference code uses when the model is - * deployed for predictions.

                                                - */ - PrimaryContainer?: ContainerDefinition; - - /** - *

                                                The name of the new model.

                                                + *

                                                An array of key-value pairs. For more information, see Using + * Cost Allocation Tags in the AWS Billing and Cost Management User + * Guide. + *

                                                */ - ModelName: string | undefined; + Tags?: Tag[]; /** - *

                                                Specifies the containers in the inference pipeline.

                                                + *

                                                Isolates the model container. No inbound or outbound network calls can be made to or + * from the model container.

                                                */ - Containers?: ContainerDefinition[]; + EnableNetworkIsolation?: boolean; } export namespace CreateModelInput { @@ -9012,6 +9350,10 @@ export interface SourceAlgorithm { *

                                                The Amazon S3 path where the model artifacts, which result from model training, are stored. * This path must point to a single gzip compressed tar archive * (.tar.gz suffix).

                                                + * + *

                                                The model artifacts must be in an S3 bucket that is in the same region as the + * algorithm.

                                                + *
                                                */ ModelDataUrl?: string; } @@ -9068,15 +9410,15 @@ export namespace ModelPackageValidationProfile { */ export interface ModelPackageValidationSpecification { /** - *

                                                An array of ModelPackageValidationProfile objects, each of which - * specifies a batch transform job that Amazon SageMaker runs to validate your model package.

                                                + *

                                                The IAM roles to be used for the validation of the model package.

                                                */ - ValidationProfiles: ModelPackageValidationProfile[] | undefined; + ValidationRole: string | undefined; /** - *

                                                The IAM roles to be used for the validation of the model package.

                                                + *

                                                An array of ModelPackageValidationProfile objects, each of which + * specifies a batch transform job that Amazon SageMaker runs to validate your model package.

                                                */ - ValidationRole: string | undefined; + ValidationProfiles: ModelPackageValidationProfile[] | undefined; } export namespace ModelPackageValidationSpecification { @@ -9087,20 +9429,10 @@ export namespace ModelPackageValidationSpecification { export interface CreateModelPackageInput { /** - *

                                                Details about the algorithm that was used to create the model package.

                                                - */ - SourceAlgorithmSpecification?: SourceAlgorithmSpecification; - - /** - *

                                                Specifies configurations for one or more transform jobs that Amazon SageMaker runs to test the - * model package.

                                                - */ - ValidationSpecification?: ModelPackageValidationSpecification; - - /** - *

                                                A description of the model package.

                                                + *

                                                The name of the model package. The name must have 1 to 63 characters. Valid characters + * are a-z, A-Z, 0-9, and - (hyphen).

                                                */ - ModelPackageDescription?: string; + ModelPackageName: string | undefined; /** *

                                                Specifies details about inference jobs that can be run with models based on this model @@ -9123,15 +9455,25 @@ export interface CreateModelPackageInput { InferenceSpecification?: InferenceSpecification; /** - *

                                                The name of the model package. The name must have 1 to 63 characters. Valid characters - * are a-z, A-Z, 0-9, and - (hyphen).

                                                + *

                                                Details about the algorithm that was used to create the model package.

                                                */ - ModelPackageName: string | undefined; + SourceAlgorithmSpecification?: SourceAlgorithmSpecification; + + /** + *

                                                A description of the model package.

                                                + */ + ModelPackageDescription?: string; /** *

                                                Whether to certify the model package for listing on AWS Marketplace.

                                                */ CertifyForMarketplace?: boolean; + + /** + *

                                                Specifies configurations for one or more transform jobs that Amazon SageMaker runs to test the + * model package.

                                                + */ + ValidationSpecification?: ModelPackageValidationSpecification; } export namespace CreateModelPackageInput { @@ -9192,16 +9534,16 @@ export namespace MonitoringStatisticsResource { */ export interface MonitoringBaselineConfig { /** - *

                                                The baseline statistics file in Amazon S3 that the current monitoring job should be + *

                                                The baseline constraint file in Amazon S3 that the current monitoring job should * validated against.

                                                */ - StatisticsResource?: MonitoringStatisticsResource; + ConstraintsResource?: MonitoringConstraintsResource; /** - *

                                                The baseline constraint file in Amazon S3 that the current monitoring job should + *

                                                The baseline statistics file in Amazon S3 that the current monitoring job should be * validated against.

                                                */ - ConstraintsResource?: MonitoringConstraintsResource; + StatisticsResource?: MonitoringStatisticsResource; } export namespace MonitoringBaselineConfig { @@ -9215,14 +9557,17 @@ export namespace MonitoringBaselineConfig { */ export interface MonitoringAppSpecification { /** - *

                                                The container image to be run by the monitoring job.

                                                + *

                                                An array of arguments for the container used to run the monitoring job.

                                                */ - ImageUri: string | undefined; + ContainerArguments?: string[]; /** - *

                                                Specifies the entrypoint for a container used to run the monitoring job.

                                                + *

                                                An Amazon S3 URI to a script that is called per row prior to running analysis. It can + * base64 decode the payload and convert it into a flatted json so that the built-in container + * can use the converted data. Applicable only for the built-in (first party) + * containers.

                                                */ - ContainerEntrypoint?: string[]; + RecordPreprocessorSourceUri?: string; /** *

                                                An Amazon S3 URI to a script that is called after analysis has been performed. @@ -9231,17 +9576,14 @@ export interface MonitoringAppSpecification { PostAnalyticsProcessorSourceUri?: string; /** - *

                                                An array of arguments for the container used to run the monitoring job.

                                                + *

                                                Specifies the entrypoint for a container used to run the monitoring job.

                                                */ - ContainerArguments?: string[]; + ContainerEntrypoint?: string[]; /** - *

                                                An Amazon S3 URI to a script that is called per row prior to running analysis. It can - * base64 decode the payload and convert it into a flatted json so that the built-in container - * can use the converted data. Applicable only for the built-in (first party) - * containers.

                                                + *

                                                The container image to be run by the monitoring job.

                                                */ - RecordPreprocessorSourceUri?: string; + ImageUri: string | undefined; } export namespace MonitoringAppSpecification { @@ -9265,18 +9607,15 @@ export enum ProcessingS3InputMode { */ export interface EndpointInput { /** - *

                                                An endpoint in customer's account which has enabled DataCaptureConfig - * enabled.

                                                + *

                                                Path to the filesystem where the endpoint data is available to the container.

                                                */ - EndpointName: string | undefined; + LocalPath: string | undefined; /** - *

                                                Whether the Pipe or File is used as the input mode for - * transfering data for the monitoring job. Pipe mode is recommended for large - * datasets. File mode is useful for small files that fit in memory. Defaults to - * File.

                                                + *

                                                An endpoint in customer's account which has enabled DataCaptureConfig + * enabled.

                                                */ - S3InputMode?: ProcessingS3InputMode | string; + EndpointName: string | undefined; /** *

                                                Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. @@ -9286,9 +9625,12 @@ export interface EndpointInput { S3DataDistributionType?: ProcessingS3DataDistributionType | string; /** - *

                                                Path to the filesystem where the endpoint data is available to the container.

                                                + *

                                                Whether the Pipe or File is used as the input mode for + * transfering data for the monitoring job. Pipe mode is recommended for large + * datasets. File mode is useful for small files that fit in memory. Defaults to + * File.

                                                */ - LocalPath: string | undefined; + S3InputMode?: ProcessingS3InputMode | string; } export namespace EndpointInput { @@ -9324,10 +9666,10 @@ export enum ProcessingS3UploadMode { */ export interface MonitoringS3Output { /** - *

                                                The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a - * monitoring job. LocalPath is an absolute path for the output data.

                                                + *

                                                A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a + * monitoring job.

                                                */ - LocalPath: string | undefined; + S3Uri: string | undefined; /** *

                                                Whether to upload the results of the monitoring job continuously or after the job @@ -9336,10 +9678,10 @@ export interface MonitoringS3Output { S3UploadMode?: ProcessingS3UploadMode | string; /** - *

                                                A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a - * monitoring job.

                                                + *

                                                The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a + * monitoring job. LocalPath is an absolute path for the output data.

                                                */ - S3Uri: string | undefined; + LocalPath: string | undefined; } export namespace MonitoringS3Output { @@ -9368,17 +9710,17 @@ export namespace MonitoringOutput { *

                                                The output configuration for monitoring jobs.

                                                */ export interface MonitoringOutputConfig { - /** - *

                                                Monitoring outputs for monitoring jobs. This is where the output of the periodic - * monitoring jobs is uploaded.

                                                - */ - MonitoringOutputs: MonitoringOutput[] | undefined; - /** *

                                                The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model * artifacts at rest using Amazon S3 server-side encryption.

                                                */ KmsKeyId?: string; + + /** + *

                                                Monitoring outputs for monitoring jobs. This is where the output of the periodic + * monitoring jobs is uploaded.

                                                + */ + MonitoringOutputs: MonitoringOutput[] | undefined; } export namespace MonitoringOutputConfig { @@ -9433,15 +9775,21 @@ export enum ProcessingInstanceType { */ export interface MonitoringClusterConfig { /** - *

                                                The number of ML compute instances to use in the model monitoring job. For distributed - * processing jobs, specify a value greater than 1. The default value is 1.

                                                + *

                                                The ML compute instance type for the processing job.

                                                */ - InstanceCount: number | undefined; + InstanceType: ProcessingInstanceType | string | undefined; /** - *

                                                The ML compute instance type for the processing job.

                                                + *

                                                The size of the ML storage volume, in gigabytes, that you want to provision. You must + * specify sufficient ML storage for your scenario.

                                                */ - InstanceType: ProcessingInstanceType | string | undefined; + VolumeSizeInGB: number | undefined; + + /** + *

                                                The number of ML compute instances to use in the model monitoring job. For distributed + * processing jobs, specify a value greater than 1. The default value is 1.

                                                + */ + InstanceCount: number | undefined; /** *

                                                The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data @@ -9449,12 +9797,6 @@ export interface MonitoringClusterConfig { * job.

                                                */ VolumeKmsKeyId?: string; - - /** - *

                                                The size of the ML storage volume, in gigabytes, that you want to provision. You must - * specify sufficient ML storage for your scenario.

                                                - */ - VolumeSizeInGB: number | undefined; } export namespace MonitoringClusterConfig { @@ -9485,6 +9827,14 @@ export namespace MonitoringResources { * subnets and security groups to use for VPC-enabled jobs.

                                                */ export interface NetworkConfig { + /** + *

                                                Specifies a VPC that your training jobs and hosted models have access to. Control + * access to and from your training and model containers by configuring the VPC. For more + * information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Training Jobs + * by Using an Amazon Virtual Private Cloud.

                                                + */ + VpcConfig?: VpcConfig; + /** *

                                                Whether to allow inbound and outbound network calls to and from the containers used for * the processing job.

                                                @@ -9497,14 +9847,6 @@ export interface NetworkConfig { * processing jobs, but the processing might take longer.

                                                */ EnableInterContainerTrafficEncryption?: boolean; - - /** - *

                                                Specifies a VPC that your training jobs and hosted models have access to. Control - * access to and from your training and model containers by configuring the VPC. For more - * information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Training Jobs - * by Using an Amazon Virtual Private Cloud.

                                                - */ - VpcConfig?: VpcConfig; } export namespace NetworkConfig { @@ -9534,21 +9876,26 @@ export namespace MonitoringStoppingCondition { */ export interface MonitoringJobDefinition { /** - *

                                                The array of outputs from the monitoring job to be uploaded to Amazon Simple Storage - * Service (Amazon S3).

                                                + *

                                                Specifies a time limit for how long the monitoring job is allowed to run.

                                                */ - MonitoringOutputConfig: MonitoringOutputConfig | undefined; + StoppingCondition?: MonitoringStoppingCondition; /** - *

                                                Identifies the resources, ML compute instances, and ML storage volumes to deploy for a - * monitoring job. In distributed processing, you specify more than one instance.

                                                + *

                                                Baseline configuration used to validate that the data conforms to the specified + * constraints and statistics

                                                */ - MonitoringResources: MonitoringResources | undefined; + BaselineConfig?: MonitoringBaselineConfig; /** - *

                                                Configures the monitoring job to run a specified Docker container image.

                                                + *

                                                Specifies networking options for an monitoring job.

                                                */ - MonitoringAppSpecification: MonitoringAppSpecification | undefined; + NetworkConfig?: NetworkConfig; + + /** + *

                                                The array of inputs for the monitoring job. Currently we support monitoring an Amazon SageMaker + * Endpoint.

                                                + */ + MonitoringInputs: MonitoringInput[] | undefined; /** *

                                                The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on @@ -9562,26 +9909,21 @@ export interface MonitoringJobDefinition { Environment?: { [key: string]: string }; /** - *

                                                Baseline configuration used to validate that the data conforms to the specified - * constraints and statistics

                                                - */ - BaselineConfig?: MonitoringBaselineConfig; - - /** - *

                                                Specifies a time limit for how long the monitoring job is allowed to run.

                                                + *

                                                Identifies the resources, ML compute instances, and ML storage volumes to deploy for a + * monitoring job. In distributed processing, you specify more than one instance.

                                                */ - StoppingCondition?: MonitoringStoppingCondition; + MonitoringResources: MonitoringResources | undefined; /** - *

                                                The array of inputs for the monitoring job. Currently we support monitoring an Amazon SageMaker - * Endpoint.

                                                + *

                                                Configures the monitoring job to run a specified Docker container image.

                                                */ - MonitoringInputs: MonitoringInput[] | undefined; + MonitoringAppSpecification: MonitoringAppSpecification | undefined; /** - *

                                                Specifies networking options for an monitoring job.

                                                + *

                                                The array of outputs from the monitoring job to be uploaded to Amazon Simple Storage + * Service (Amazon S3).

                                                */ - NetworkConfig?: NetworkConfig; + MonitoringOutputConfig: MonitoringOutputConfig | undefined; } export namespace MonitoringJobDefinition { @@ -9668,14 +10010,14 @@ export namespace ScheduleConfig { */ export interface MonitoringScheduleConfig { /** - *

                                                Defines the monitoring job.

                                                + *

                                                Configures the monitoring schedule.

                                                */ - MonitoringJobDefinition: MonitoringJobDefinition | undefined; + ScheduleConfig?: ScheduleConfig; /** - *

                                                Configures the monitoring schedule.

                                                + *

                                                Defines the monitoring job.

                                                */ - ScheduleConfig?: ScheduleConfig; + MonitoringJobDefinition: MonitoringJobDefinition | undefined; } export namespace MonitoringScheduleConfig { @@ -9785,14 +10127,42 @@ export enum RootAccess { export interface CreateNotebookInstanceInput { /** - *

                                                A Git repository to associate with the notebook instance as its default code - * repository. This can be either the name of a Git repository stored as a resource in your - * account, or the URL of a Git repository in AWS CodeCommit or in any - * other Git repository. When you open a notebook instance, it opens in the directory that - * contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker - * Notebook Instances.

                                                + *

                                                When you send any requests to AWS resources from the notebook instance, Amazon SageMaker + * assumes this role to perform tasks on your behalf. You must grant this role necessary + * permissions so Amazon SageMaker can perform these tasks. The policy must allow the Amazon SageMaker service + * principal (sagemaker.amazonaws.com) permissions to assume this role. For more + * information, see Amazon SageMaker Roles.

                                                + * + *

                                                To be able to pass this role to Amazon SageMaker, the caller of this API must have the + * iam:PassRole permission.

                                                + *
                                                */ - DefaultCodeRepository?: string; + RoleArn: string | undefined; + + /** + *

                                                The ID of the subnet in a VPC to which you would like to have a connectivity from + * your ML compute instance.

                                                + */ + SubnetId?: string; + + /** + *

                                                The size, in GB, of the ML storage volume to attach to the notebook instance. The + * default value is 5 GB.

                                                + */ + VolumeSizeInGB?: number; + + /** + *

                                                The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be + * for the same VPC as specified in the subnet.

                                                + */ + SecurityGroupIds?: string[]; + + /** + *

                                                A list of Elastic Inference (EI) instance types to associate with this notebook + * instance. Currently, only one instance type can be associated with a notebook instance. + * For more information, see Using Elastic Inference in Amazon SageMaker.

                                                + */ + AcceleratorTypes?: (NotebookInstanceAcceleratorType | string)[]; /** *

                                                An array of up to three Git repositories to associate with the notebook instance. @@ -9804,6 +10174,14 @@ export interface CreateNotebookInstanceInput { */ AdditionalCodeRepositories?: string[]; + /** + *

                                                The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on + * the storage volume attached to your notebook instance. The KMS key you provide must be + * enabled. For information, see Enabling and Disabling + * Keys in the AWS Key Management Service Developer Guide.

                                                + */ + KmsKeyId?: string; + /** *

                                                Sets whether Amazon SageMaker provides internet access to the notebook instance. If you set this * to Disabled this notebook instance will be able to access resources only in @@ -9815,26 +10193,6 @@ export interface CreateNotebookInstanceInput { */ DirectInternetAccess?: DirectInternetAccess | string; - /** - *

                                                The ID of the subnet in a VPC to which you would like to have a connectivity from - * your ML compute instance.

                                                - */ - SubnetId?: string; - - /** - *

                                                A list of Elastic Inference (EI) instance types to associate with this notebook - * instance. Currently, only one instance type can be associated with a notebook instance. - * For more information, see Using Elastic Inference in Amazon SageMaker.

                                                - */ - AcceleratorTypes?: (NotebookInstanceAcceleratorType | string)[]; - - /** - *

                                                The name of a lifecycle configuration to associate with the notebook instance. For - * information about lifestyle configurations, see Step 2.1: (Optional) - * Customize a Notebook Instance.

                                                - */ - LifecycleConfigName?: string; - /** *

                                                Whether root access is enabled or disabled for users of the notebook instance. The * default value is Enabled.

                                                @@ -9847,17 +10205,6 @@ export interface CreateNotebookInstanceInput { */ RootAccess?: RootAccess | string; - /** - *

                                                The type of ML compute instance to launch for the notebook instance.

                                                - */ - InstanceType: _InstanceType | string | undefined; - - /** - *

                                                The size, in GB, of the ML storage volume to attach to the notebook instance. The - * default value is 5 GB.

                                                - */ - VolumeSizeInGB?: number; - /** *

                                                A list of tags to associate with the notebook instance. You can add tags later by * using the CreateTags API.

                                                @@ -9865,36 +10212,31 @@ export interface CreateNotebookInstanceInput { Tags?: Tag[]; /** - *

                                                The name of the new notebook instance.

                                                + *

                                                A Git repository to associate with the notebook instance as its default code + * repository. This can be either the name of a Git repository stored as a resource in your + * account, or the URL of a Git repository in AWS CodeCommit or in any + * other Git repository. When you open a notebook instance, it opens in the directory that + * contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker + * Notebook Instances.

                                                */ - NotebookInstanceName: string | undefined; + DefaultCodeRepository?: string; /** - *

                                                The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on - * the storage volume attached to your notebook instance. The KMS key you provide must be - * enabled. For information, see Enabling and Disabling - * Keys in the AWS Key Management Service Developer Guide.

                                                + *

                                                The name of a lifecycle configuration to associate with the notebook instance. For + * information about lifestyle configurations, see Step 2.1: (Optional) + * Customize a Notebook Instance.

                                                */ - KmsKeyId?: string; + LifecycleConfigName?: string; /** - *

                                                When you send any requests to AWS resources from the notebook instance, Amazon SageMaker - * assumes this role to perform tasks on your behalf. You must grant this role necessary - * permissions so Amazon SageMaker can perform these tasks. The policy must allow the Amazon SageMaker service - * principal (sagemaker.amazonaws.com) permissions to assume this role. For more - * information, see Amazon SageMaker Roles.

                                                - * - *

                                                To be able to pass this role to Amazon SageMaker, the caller of this API must have the - * iam:PassRole permission.

                                                - *
                                                + *

                                                The type of ML compute instance to launch for the notebook instance.

                                                */ - RoleArn: string | undefined; + InstanceType: _InstanceType | string | undefined; /** - *

                                                The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be - * for the same VPC as specified in the subnet.

                                                + *

                                                The name of the new notebook instance.

                                                */ - SecurityGroupIds?: string[]; + NotebookInstanceName: string | undefined; } export namespace CreateNotebookInstanceInput { @@ -9945,6 +10287,11 @@ export namespace NotebookInstanceLifecycleHook { } export interface CreateNotebookInstanceLifecycleConfigInput { + /** + *

                                                The name of the lifecycle configuration.

                                                + */ + NotebookInstanceLifecycleConfigName: string | undefined; + /** *

                                                A shell script that runs only once, when you create a notebook instance. The shell * script must be a base64-encoded string.

                                                @@ -9956,11 +10303,6 @@ export interface CreateNotebookInstanceLifecycleConfigInput { * create the notebook instance. The shell script must be a base64-encoded string.

                                                */ OnStart?: NotebookInstanceLifecycleHook[]; - - /** - *

                                                The name of the lifecycle configuration.

                                                - */ - NotebookInstanceLifecycleConfigName: string | undefined; } export namespace CreateNotebookInstanceLifecycleConfigInput { @@ -9983,6 +10325,11 @@ export namespace CreateNotebookInstanceLifecycleConfigOutput { } export interface CreatePresignedDomainUrlRequest { + /** + *

                                                The session expiration duration in seconds.

                                                + */ + SessionExpirationDurationInSeconds?: number; + /** *

                                                The name of the UserProfile to sign-in as.

                                                */ @@ -9992,11 +10339,6 @@ export interface CreatePresignedDomainUrlRequest { *

                                                The domain ID.

                                                */ DomainId: string | undefined; - - /** - *

                                                The session expiration duration in seconds.

                                                - */ - SessionExpirationDurationInSeconds?: number; } export namespace CreatePresignedDomainUrlRequest { @@ -10020,14 +10362,14 @@ export namespace CreatePresignedDomainUrlResponse { export interface CreatePresignedNotebookInstanceUrlInput { /** - *

                                                The name of the notebook instance.

                                                + *

                                                The duration of the session, in seconds. The default is 12 hours.

                                                */ - NotebookInstanceName: string | undefined; + SessionExpirationDurationInSeconds?: number; /** - *

                                                The duration of the session, in seconds. The default is 12 hours.

                                                + *

                                                The name of the notebook instance.

                                                */ - SessionExpirationDurationInSeconds?: number; + NotebookInstanceName: string | undefined; } export namespace CreatePresignedNotebookInstanceUrlInput { @@ -10072,10 +10414,10 @@ export namespace CreatePresignedNotebookInstanceUrlOutput { */ export interface ExperimentConfig { /** - *

                                                The name of an existing trial to associate the trial component with. If not specified, a - * new trial is created.

                                                + *

                                                The display name for the trial component. If this key isn't specified, the display name is + * the trial component name.

                                                */ - TrialName?: string; + TrialComponentDisplayName?: string; /** *

                                                The name of an existing experiment to associate the trial component with.

                                                @@ -10083,10 +10425,10 @@ export interface ExperimentConfig { ExperimentName?: string; /** - *

                                                The display name for the trial component. If this key isn't specified, the display name is - * the trial component name.

                                                + *

                                                The name of an existing trial to associate the trial component with. If not specified, a + * new trial is created.

                                                */ - TrialComponentDisplayName?: string; + TrialName?: string; } export namespace ExperimentConfig { @@ -10110,6 +10452,12 @@ export enum ProcessingS3DataType { * job.

                                                */ export interface ProcessingS3Input { + /** + *

                                                The URI for the Amazon S3 storage where you want Amazon SageMaker to download the artifacts needed + * to run a processing job.

                                                + */ + S3Uri: string | undefined; + /** *

                                                Whether you use an S3Prefix or a ManifestFile for * the data type. If you choose S3Prefix, S3Uri identifies a key @@ -10121,10 +10469,11 @@ export interface ProcessingS3Input { S3DataType: ProcessingS3DataType | string | undefined; /** - *

                                                Whether the data stored in Amazon S3 is FullyReplicated or - * ShardedByS3Key.

                                                + *

                                                The local path to the Amazon S3 bucket where you want Amazon SageMaker to download the inputs to + * run a processing job. LocalPath is an absolute path to the input + * data.

                                                */ - S3DataDistributionType?: ProcessingS3DataDistributionType | string; + LocalPath: string | undefined; /** *

                                                Whether to use File or Pipe input mode. In @@ -10136,22 +10485,15 @@ export interface ProcessingS3Input { S3InputMode: ProcessingS3InputMode | string | undefined; /** - *

                                                Whether to use Gzip compression for Amazon S3 storage.

                                                - */ - S3CompressionType?: ProcessingS3CompressionType | string; - - /** - *

                                                The URI for the Amazon S3 storage where you want Amazon SageMaker to download the artifacts needed - * to run a processing job.

                                                + *

                                                Whether the data stored in Amazon S3 is FullyReplicated or + * ShardedByS3Key.

                                                */ - S3Uri: string | undefined; + S3DataDistributionType?: ProcessingS3DataDistributionType | string; /** - *

                                                The local path to the Amazon S3 bucket where you want Amazon SageMaker to download the inputs to - * run a processing job. LocalPath is an absolute path to the input - * data.

                                                + *

                                                Whether to use Gzip compression for Amazon S3 storage.

                                                */ - LocalPath: string | undefined; + S3CompressionType?: ProcessingS3CompressionType | string; } export namespace ProcessingS3Input { @@ -10165,14 +10507,14 @@ export namespace ProcessingS3Input { */ export interface ProcessingInput { /** - *

                                                The name of the inputs for the processing job.

                                                + *

                                                The S3 inputs for the processing job.

                                                */ - InputName: string | undefined; + S3Input: ProcessingS3Input | undefined; /** - *

                                                The S3 inputs for the processing job.

                                                + *

                                                The name of the inputs for the processing job.

                                                */ - S3Input: ProcessingS3Input | undefined; + InputName: string | undefined; } export namespace ProcessingInput { @@ -10187,10 +10529,10 @@ export namespace ProcessingInput { */ export interface ProcessingS3Output { /** - *

                                                The local path to the Amazon S3 bucket where you want Amazon SageMaker to save the results of an - * processing job. LocalPath is an absolute path to the input data.

                                                + *

                                                A URI that identifies the Amazon S3 bucket where you want Amazon SageMaker to save the results of + * a processing job.

                                                */ - LocalPath: string | undefined; + S3Uri: string | undefined; /** *

                                                Whether to upload the results of the processing job continuously or after the job @@ -10199,10 +10541,10 @@ export interface ProcessingS3Output { S3UploadMode: ProcessingS3UploadMode | string | undefined; /** - *

                                                A URI that identifies the Amazon S3 bucket where you want Amazon SageMaker to save the results of - * a processing job.

                                                + *

                                                The local path to the Amazon S3 bucket where you want Amazon SageMaker to save the results of an + * processing job. LocalPath is an absolute path to the input data.

                                                */ - S3Uri: string | undefined; + LocalPath: string | undefined; } export namespace ProcessingS3Output { @@ -10260,18 +10602,6 @@ export namespace ProcessingOutputConfig { *

                                                Configuration for the cluster used to run a processing job.

                                                */ export interface ProcessingClusterConfig { - /** - *

                                                The number of ML compute instances to use in the processing job. For distributed - * processing jobs, specify a value greater than 1. The default value is 1.

                                                - */ - InstanceCount: number | undefined; - - /** - *

                                                The size of the ML storage volume in gigabytes that you want to provision. You must - * specify sufficient ML storage for your scenario.

                                                - */ - VolumeSizeInGB: number | undefined; - /** *

                                                The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the * storage volume attached to the ML compute instance(s) that run the processing job. @@ -10283,16 +10613,28 @@ export interface ProcessingClusterConfig { *

                                                The ML compute instance type for the processing job.

                                                */ InstanceType: ProcessingInstanceType | string | undefined; -} -export namespace ProcessingClusterConfig { - export const filterSensitiveLog = (obj: ProcessingClusterConfig): any => ({ - ...obj, - }); -} - -/** - *

                                                Identifies the resources, ML compute instances, and ML storage volumes to deploy for a + /** + *

                                                The number of ML compute instances to use in the processing job. For distributed + * processing jobs, specify a value greater than 1. The default value is 1.

                                                + */ + InstanceCount: number | undefined; + + /** + *

                                                The size of the ML storage volume in gigabytes that you want to provision. You must + * specify sufficient ML storage for your scenario.

                                                + */ + VolumeSizeInGB: number | undefined; +} + +export namespace ProcessingClusterConfig { + export const filterSensitiveLog = (obj: ProcessingClusterConfig): any => ({ + ...obj, + }); +} + +/** + *

                                                Identifies the resources, ML compute instances, and ML storage volumes to deploy for a * processing job. In distributed training, you specify more than one instance.

                                                */ export interface ProcessingResources { @@ -10326,60 +10668,22 @@ export namespace ProcessingStoppingCondition { } export interface CreateProcessingJobRequest { - /** - *

                                                The name of the processing job. The name must be unique within an AWS Region in the - * AWS account.

                                                - */ - ProcessingJobName: string | undefined; - - /** - *

                                                Configures the processing job to run a specified Docker container image.

                                                - */ - AppSpecification: AppSpecification | undefined; - - /** - *

                                                Sets the environment variables in the Docker container.

                                                - */ - Environment?: { [key: string]: string }; - - /** - *

                                                Output configuration for the processing job.

                                                - */ - ProcessingOutputConfig?: ProcessingOutputConfig; - - /** - *

                                                Identifies the resources, ML compute instances, and ML storage volumes to deploy for a - * processing job. In distributed training, you specify more than one instance.

                                                - */ - ProcessingResources: ProcessingResources | undefined; - - /** - *

                                                The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on - * your behalf.

                                                - */ - RoleArn: string | undefined; - /** *

                                                (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management * User Guide.

                                                */ Tags?: Tag[]; - /** - *

                                                For each input, data is downloaded from S3 into the processing container before the - * processing job begins running if "S3InputMode" is set to File.

                                                - */ - ProcessingInputs?: ProcessingInput[]; - /** *

                                                The time limit for how long the processing job is allowed to run.

                                                */ StoppingCondition?: ProcessingStoppingCondition; /** - *

                                                Networking options for a processing job.

                                                + *

                                                Identifies the resources, ML compute instances, and ML storage volumes to deploy for a + * processing job. In distributed training, you specify more than one instance.

                                                */ - NetworkConfig?: NetworkConfig; + ProcessingResources: ProcessingResources | undefined; /** *

                                                Associates a SageMaker job as a trial component with an experiment and trial. Specified when @@ -10403,6 +10707,44 @@ export interface CreateProcessingJobRequest { *

                                              */ ExperimentConfig?: ExperimentConfig; + + /** + *

                                              For each input, data is downloaded from S3 into the processing container before the + * processing job begins running if "S3InputMode" is set to File.

                                              + */ + ProcessingInputs?: ProcessingInput[]; + + /** + *

                                              Configures the processing job to run a specified Docker container image.

                                              + */ + AppSpecification: AppSpecification | undefined; + + /** + *

                                              Output configuration for the processing job.

                                              + */ + ProcessingOutputConfig?: ProcessingOutputConfig; + + /** + *

                                              Networking options for a processing job.

                                              + */ + NetworkConfig?: NetworkConfig; + + /** + *

                                              Sets the environment variables in the Docker container.

                                              + */ + Environment?: { [key: string]: string }; + + /** + *

                                              The name of the processing job. The name must be unique within an AWS Region in the + * AWS account.

                                              + */ + ProcessingJobName: string | undefined; + + /** + *

                                              The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on + * your behalf.

                                              + */ + RoleArn: string | undefined; } export namespace CreateProcessingJobRequest { @@ -10430,9 +10772,9 @@ export namespace CreateProcessingJobResponse { */ export interface DebugHookConfig { /** - *

                                              Configuration information for tensor collections.

                                              + *

                                              Path to Amazon S3 storage location for tensors.

                                              */ - CollectionConfigurations?: CollectionConfiguration[]; + S3OutputPath: string | undefined; /** *

                                              Path to local storage location for tensors. Defaults to @@ -10441,14 +10783,14 @@ export interface DebugHookConfig { LocalPath?: string; /** - *

                                              Configuration information for the debug hook parameters.

                                              + *

                                              Configuration information for tensor collections.

                                              */ - HookParameters?: { [key: string]: string }; + CollectionConfigurations?: CollectionConfiguration[]; /** - *

                                              Path to Amazon S3 storage location for tensors.

                                              + *

                                              Configuration information for the debug hook parameters.

                                              */ - S3OutputPath: string | undefined; + HookParameters?: { [key: string]: string }; } export namespace DebugHookConfig { @@ -10462,41 +10804,41 @@ export namespace DebugHookConfig { */ export interface DebugRuleConfiguration { /** - *

                                              Path to Amazon S3 storage location for rules.

                                              + *

                                              The name of the rule configuration. It must be unique relative to other rule + * configuration names.

                                              */ - S3OutputPath?: string; + RuleConfigurationName: string | undefined; /** - *

                                              The instance type to deploy for a training job.

                                              + *

                                              Path to local storage location for output of rules. Defaults to + * /opt/ml/processing/output/rule/.

                                              */ - InstanceType?: ProcessingInstanceType | string; + LocalPath?: string; /** - *

                                              The Amazon Elastic Container (ECR) Image for the managed rule evaluation.

                                              + *

                                              The size, in GB, of the ML storage volume attached to the processing instance.

                                              */ - RuleEvaluatorImage: string | undefined; + VolumeSizeInGB?: number; /** - *

                                              The name of the rule configuration. It must be unique relative to other rule - * configuration names.

                                              + *

                                              Runtime configuration for rule container.

                                              */ - RuleConfigurationName: string | undefined; + RuleParameters?: { [key: string]: string }; /** - *

                                              Runtime configuration for rule container.

                                              + *

                                              Path to Amazon S3 storage location for rules.

                                              */ - RuleParameters?: { [key: string]: string }; + S3OutputPath?: string; /** - *

                                              The size, in GB, of the ML storage volume attached to the processing instance.

                                              + *

                                              The instance type to deploy for a training job.

                                              */ - VolumeSizeInGB?: number; + InstanceType?: ProcessingInstanceType | string; /** - *

                                              Path to local storage location for output of rules. Defaults to - * /opt/ml/processing/output/rule/.

                                              + *

                                              The Amazon Elastic Container (ECR) Image for the managed rule evaluation.

                                              */ - LocalPath?: string; + RuleEvaluatorImage: string | undefined; } export namespace DebugRuleConfiguration { @@ -10509,16 +10851,16 @@ export namespace DebugRuleConfiguration { *

                                              Configuration of storage locations for TensorBoard output.

                                              */ export interface TensorBoardOutputConfig { - /** - *

                                              Path to Amazon S3 storage location for TensorBoard output.

                                              - */ - S3OutputPath: string | undefined; - /** *

                                              Path to local storage location for tensorBoard output. Defaults to * /opt/ml/output/tensorboard.

                                              */ LocalPath?: string; + + /** + *

                                              Path to Amazon S3 storage location for TensorBoard output.

                                              + */ + S3OutputPath: string | undefined; } export namespace TensorBoardOutputConfig { @@ -10529,14 +10871,30 @@ export namespace TensorBoardOutputConfig { export interface CreateTrainingJobRequest { /** - *

                                              To encrypt all communications between ML compute instances in distributed training, - * choose True. Encryption provides greater security for distributed training, - * but training might take longer. How long it takes depends on the amount of communication - * between compute instances, especially if you use a deep learning algorithm in - * distributed training. For more information, see Protect Communications Between ML - * Compute Instances in a Distributed Training Job.

                                              + *

                                              The name of the training job. The name must be unique within an AWS Region in an + * AWS account.

                                              */ - EnableInterContainerTrafficEncryption?: boolean; + TrainingJobName: string | undefined; + + /** + *

                                              The registry path of the Docker image that contains the training algorithm and + * algorithm-specific metadata, including the input mode. For more information about + * algorithms provided by Amazon SageMaker, see Algorithms. For information about + * providing your own algorithms, see Using Your Own Algorithms with Amazon + * SageMaker.

                                              + */ + AlgorithmSpecification: AlgorithmSpecification | undefined; + + /** + *

                                              The resources, including the ML compute instances and ML storage volumes, to use + * for model training.

                                              + *

                                              ML storage volumes store model artifacts and incremental states. Training + * algorithms might also use ML storage volumes for scratch space. If you want Amazon SageMaker to use + * the ML storage volume to store the training data, choose File as the + * TrainingInputMode in the algorithm specification. For distributed + * training algorithms, specify an instance count greater than 1.

                                              + */ + ResourceConfig: ResourceConfig | undefined; /** *

                                              Algorithm-specific parameters that influence the quality of the model. You set @@ -10549,18 +10907,34 @@ export interface CreateTrainingJobRequest { HyperParameters?: { [key: string]: string }; /** - *

                                              An array of key-value pairs. For more information, see Using - * Cost Allocation Tags in the AWS Billing and Cost Management User - * Guide. - * - *

                                              + *

                                              Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker + * creates subfolders for the artifacts.

                                              */ - Tags?: Tag[]; + OutputDataConfig: OutputDataConfig | undefined; /** - *

                                              Configuration information for debugging rules.

                                              + *

                                              Contains information about the output location for managed spot training checkpoint + * data.

                                              */ - DebugRuleConfigurations?: DebugRuleConfiguration[]; + CheckpointConfig?: CheckpointConfig; + + /** + *

                                              To encrypt all communications between ML compute instances in distributed training, + * choose True. Encryption provides greater security for distributed training, + * but training might take longer. How long it takes depends on the amount of communication + * between compute instances, especially if you use a deep learning algorithm in + * distributed training. For more information, see Protect Communications Between ML + * Compute Instances in a Distributed Training Job.

                                              + */ + EnableInterContainerTrafficEncryption?: boolean; + + /** + *

                                              A VpcConfig object that specifies the VPC that you want your + * training job to connect to. Control access to and from your training container by + * configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon + * Virtual Private Cloud.

                                              + */ + VpcConfig?: VpcConfig; /** *

                                              Configuration of storage locations for TensorBoard output.

                                              @@ -10568,13 +10942,22 @@ export interface CreateTrainingJobRequest { TensorBoardOutputConfig?: TensorBoardOutputConfig; /** - *

                                              The registry path of the Docker image that contains the training algorithm and - * algorithm-specific metadata, including the input mode. For more information about - * algorithms provided by Amazon SageMaker, see Algorithms. For information about - * providing your own algorithms, see Using Your Own Algorithms with Amazon - * SageMaker.

                                              + *

                                              An array of key-value pairs. For more information, see Using + * Cost Allocation Tags in the AWS Billing and Cost Management User + * Guide. + * + *

                                              */ - AlgorithmSpecification: AlgorithmSpecification | undefined; + Tags?: Tag[]; + + /** + *

                                              Specifies a limit to how long a model training job can run. When the job reaches the + * time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

                                              + *

                                              To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays + * job termination for 120 seconds. Algorithms can use this 120-second window to save the + * model artifacts, so the results of training are not lost.

                                              + */ + StoppingCondition: StoppingCondition | undefined; /** *

                                              Associates a SageMaker job as a trial component with an experiment and trial. Specified when @@ -10600,29 +10983,18 @@ export interface CreateTrainingJobRequest { ExperimentConfig?: ExperimentConfig; /** - *

                                              An array of Channel objects. Each channel is a named input source. - * InputDataConfig - * - * describes the input data and its location.

                                              - *

                                              Algorithms can accept input data from one or more channels. For example, an - * algorithm might have two channels of input data, training_data and - * validation_data. The configuration for each channel provides the S3, - * EFS, or FSx location where the input data is stored. It also provides information about - * the stored data: the MIME type, compression method, and whether the data is wrapped in - * RecordIO format.

                                              - *

                                              Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input - * data files from an S3 bucket to a local directory in the Docker container, or makes it - * available as input streams. For example, if you specify an EFS location, input data - * files will be made available as input streams. They do not need to be - * downloaded.

                                              + *

                                              Configuration information for debugging rules.

                                              */ - InputDataConfig?: Channel[]; + DebugRuleConfigurations?: DebugRuleConfiguration[]; /** - *

                                              Configuration information for the debug hook parameters, collection configuration, and - * storage paths.

                                              + *

                                              Isolates the training container. No inbound or outbound network calls can be made, + * except for calls between peers within a training cluster for distributed training. If + * you enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker + * downloads and uploads customer data and model artifacts through the specified VPC, but + * the training container does not have network access.

                                              */ - DebugHookConfig?: DebugHookConfig; + EnableNetworkIsolation?: boolean; /** *

                                              The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform @@ -10639,6 +11011,31 @@ export interface CreateTrainingJobRequest { */ RoleArn: string | undefined; + /** + *

                                              Configuration information for the debug hook parameters, collection configuration, and + * storage paths.

                                              + */ + DebugHookConfig?: DebugHookConfig; + + /** + *

                                              An array of Channel objects. Each channel is a named input source. + * InputDataConfig + * + * describes the input data and its location.

                                              + *

                                              Algorithms can accept input data from one or more channels. For example, an + * algorithm might have two channels of input data, training_data and + * validation_data. The configuration for each channel provides the S3, + * EFS, or FSx location where the input data is stored. It also provides information about + * the stored data: the MIME type, compression method, and whether the data is wrapped in + * RecordIO format.

                                              + *

                                              Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input + * data files from an S3 bucket to a local directory in the Docker container, or makes it + * available as input streams. For example, if you specify an EFS location, input data + * files will be made available as input streams. They do not need to be + * downloaded.

                                              + */ + InputDataConfig?: Channel[]; + /** *

                                              To train models using managed spot training, choose True. Managed spot * training provides a fully managed and scalable infrastructure for training machine @@ -10650,61 +11047,6 @@ export interface CreateTrainingJobRequest { * interrupted, resumed, or completed.

                                              */ EnableManagedSpotTraining?: boolean; - - /** - *

                                              Isolates the training container. No inbound or outbound network calls can be made, - * except for calls between peers within a training cluster for distributed training. If - * you enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker - * downloads and uploads customer data and model artifacts through the specified VPC, but - * the training container does not have network access.

                                              - */ - EnableNetworkIsolation?: boolean; - - /** - *

                                              Specifies a limit to how long a model training job can run. When the job reaches the - * time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

                                              - *

                                              To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays - * job termination for 120 seconds. Algorithms can use this 120-second window to save the - * model artifacts, so the results of training are not lost.

                                              - */ - StoppingCondition: StoppingCondition | undefined; - - /** - *

                                              The resources, including the ML compute instances and ML storage volumes, to use - * for model training.

                                              - *

                                              ML storage volumes store model artifacts and incremental states. Training - * algorithms might also use ML storage volumes for scratch space. If you want Amazon SageMaker to use - * the ML storage volume to store the training data, choose File as the - * TrainingInputMode in the algorithm specification. For distributed - * training algorithms, specify an instance count greater than 1.

                                              - */ - ResourceConfig: ResourceConfig | undefined; - - /** - *

                                              Contains information about the output location for managed spot training checkpoint - * data.

                                              - */ - CheckpointConfig?: CheckpointConfig; - - /** - *

                                              Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker - * creates subfolders for the artifacts.

                                              - */ - OutputDataConfig: OutputDataConfig | undefined; - - /** - *

                                              A VpcConfig object that specifies the VPC that you want your - * training job to connect to. Control access to and from your training container by - * configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon - * Virtual Private Cloud.

                                              - */ - VpcConfig?: VpcConfig; - - /** - *

                                              The name of the training job. The name must be unique within an AWS Region in an - * AWS account.

                                              - */ - TrainingJobName: string | undefined; } export namespace CreateTrainingJobRequest { @@ -10741,16 +11083,6 @@ export enum JoinSource { * Results with their Corresponding Input Records.

                                              */ export interface DataProcessing { - /** - *

                                              A JSONPath expression used to select a portion of the input data to pass to - * the algorithm. Use the InputFilter parameter to exclude fields, such as an - * ID column, from the input. If you want Amazon SageMaker to pass the entire input dataset to the - * algorithm, accept the default value $.

                                              - *

                                              Examples: "$", "$[1:]", "$.features" - *

                                              - */ - InputFilter?: string; - /** *

                                              Specifies the source of the data to join with the transformed data. The valid values * are None and Input. The default value is None, @@ -10781,6 +11113,16 @@ export interface DataProcessing { *

                                              */ OutputFilter?: string; + + /** + *

                                              A JSONPath expression used to select a portion of the input data to pass to + * the algorithm. Use the InputFilter parameter to exclude fields, such as an + * ID column, from the input. If you want Amazon SageMaker to pass the entire input dataset to the + * algorithm, accept the default value $.

                                              + *

                                              Examples: "$", "$[1:]", "$.features" + *

                                              + */ + InputFilter?: string; } export namespace DataProcessing { @@ -10790,18 +11132,19 @@ export namespace DataProcessing { } /** - *

                                              Configures the timeout and maximum number of retries for processing a transform job invocation.

                                              + *

                                              Configures the timeout and maximum number of retries for processing a transform job + * invocation.

                                              */ export interface ModelClientConfig { /** - *

                                              The timeout value in seconds for an invocation request.

                                              + *

                                              The maximum number of retries when invocation requests are failing.

                                              */ - InvocationsTimeoutInSeconds?: number; + InvocationsMaxRetries?: number; /** - *

                                              The maximum number of retries when invocation requests are failing.

                                              + *

                                              The timeout value in seconds for an invocation request.

                                              */ - InvocationsMaxRetries?: number; + InvocationsTimeoutInSeconds?: number; } export namespace ModelClientConfig { @@ -10811,18 +11154,6 @@ export namespace ModelClientConfig { } export interface CreateTransformJobRequest { - /** - *

                                              The name of the model that you want to use for the transform job. - * ModelName must be the name of an existing Amazon SageMaker model within an AWS - * Region in an AWS account.

                                              - */ - ModelName: string | undefined; - - /** - *

                                              Describes the results of the transform job.

                                              - */ - TransformOutput: TransformOutput | undefined; - /** *

                                              Associates a SageMaker job as a trial component with an experiment and trial. Specified when * you call the following APIs:

                                              @@ -10846,28 +11177,6 @@ export interface CreateTransformJobRequest { */ ExperimentConfig?: ExperimentConfig; - /** - *

                                              The name of the transform job. The name must be unique within an AWS Region in an - * AWS account.

                                              - */ - TransformJobName: string | undefined; - - /** - *

                                              The maximum allowed size of the payload, in MB. A payload is the - * data portion of a record (without metadata). The value in MaxPayloadInMB - * must be greater than, or equal to, the size of a single record. To estimate the size of - * a record in MB, divide the size of your dataset by the number of records. To ensure that - * the records fit within the maximum payload size, we recommend using a slightly larger - * value. The default value is 6 MB. - *

                                              - *

                                              For cases where the payload might be arbitrarily large and is transmitted using HTTP - * chunked encoding, set the value to 0. - * This - * feature works only in supported algorithms. Currently, Amazon SageMaker built-in - * algorithms do not support HTTP chunked encoding.

                                              - */ - MaxPayloadInMB?: number; - /** *

                                              Specifies the number of records to include in a mini-batch for an HTTP inference * request. A record @@ -10885,13 +11194,10 @@ export interface CreateTransformJobRequest { BatchStrategy?: BatchStrategy | string; /** - *

                                              (Optional) - * An - * array of key-value pairs. For more information, see Using - * Cost Allocation Tags in the AWS Billing and Cost Management User - * Guide.

                                              + *

                                              The name of the transform job. The name must be unique within an AWS Region in an + * AWS account.

                                              */ - Tags?: Tag[]; + TransformJobName: string | undefined; /** *

                                              Describes the resources, including @@ -10902,27 +11208,35 @@ export interface CreateTransformJobRequest { TransformResources: TransformResources | undefined; /** - *

                                              The data structure used to specify the data to be used for inference in a batch - * transform job and to associate the data that is relevant to the prediction results in - * the output. The input filter provided allows you to exclude input data that is not - * needed for inference in a batch transform job. The output filter provided allows you to - * include input data relevant to interpreting the predictions in the output from the job. - * For more information, see Associate Prediction - * Results with their Corresponding Input Records.

                                              + *

                                              (Optional) + * An + * array of key-value pairs. For more information, see Using + * Cost Allocation Tags in the AWS Billing and Cost Management User + * Guide.

                                              */ - DataProcessing?: DataProcessing; + Tags?: Tag[]; /** - *

                                              The environment variables to set in the Docker container. We support up to 16 key and - * values entries in the map.

                                              + *

                                              The maximum number of parallel requests that can be sent to each instance in a + * transform job. If MaxConcurrentTransforms is set to 0 or left + * unset, Amazon SageMaker checks the optional execution-parameters to determine the settings for your + * chosen algorithm. If the execution-parameters endpoint is not enabled, the default value + * is 1. For more information on execution-parameters, see How Containers Serve Requests. For built-in algorithms, you don't need to + * set a value for MaxConcurrentTransforms.

                                              */ - Environment?: { [key: string]: string }; + MaxConcurrentTransforms?: number; /** - *

                                              Configures the timeout and maximum number of retries for processing a transform job invocation.

                                              + *

                                              Configures the timeout and maximum number of retries for processing a transform job + * invocation.

                                              */ ModelClientConfig?: ModelClientConfig; + /** + *

                                              Describes the results of the transform job.

                                              + */ + TransformOutput: TransformOutput | undefined; + /** *

                                              Describes the input source and * the @@ -10931,14 +11245,44 @@ export interface CreateTransformJobRequest { TransformInput: TransformInput | undefined; /** - *

                                              The maximum number of parallel requests that can be sent to each instance in a - * transform job. If MaxConcurrentTransforms is set to 0 or left - * unset, Amazon SageMaker checks the optional execution-parameters to determine the settings for your - * chosen algorithm. If the execution-parameters endpoint is not enabled, the default value - * is 1. For more information on execution-parameters, see How Containers Serve Requests. For built-in algorithms, you don't need to - * set a value for MaxConcurrentTransforms.

                                              + *

                                              The environment variables to set in the Docker container. We support up to 16 key and + * values entries in the map.

                                              */ - MaxConcurrentTransforms?: number; + Environment?: { [key: string]: string }; + + /** + *

                                              The data structure used to specify the data to be used for inference in a batch + * transform job and to associate the data that is relevant to the prediction results in + * the output. The input filter provided allows you to exclude input data that is not + * needed for inference in a batch transform job. The output filter provided allows you to + * include input data relevant to interpreting the predictions in the output from the job. + * For more information, see Associate Prediction + * Results with their Corresponding Input Records.

                                              + */ + DataProcessing?: DataProcessing; + + /** + *

                                              The name of the model that you want to use for the transform job. + * ModelName must be the name of an existing Amazon SageMaker model within an AWS + * Region in an AWS account.

                                              + */ + ModelName: string | undefined; + + /** + *

                                              The maximum allowed size of the payload, in MB. A payload is the + * data portion of a record (without metadata). The value in MaxPayloadInMB + * must be greater than, or equal to, the size of a single record. To estimate the size of + * a record in MB, divide the size of your dataset by the number of records. To ensure that + * the records fit within the maximum payload size, we recommend using a slightly larger + * value. The default value is 6 MB. + *

                                              + *

                                              For cases where the payload might be arbitrarily large and is transmitted using HTTP + * chunked encoding, set the value to 0. + * This + * feature works only in supported algorithms. Currently, Amazon SageMaker built-in + * algorithms do not support HTTP chunked encoding.

                                              + */ + MaxPayloadInMB?: number; } export namespace CreateTransformJobRequest { @@ -10961,6 +11305,12 @@ export namespace CreateTransformJobResponse { } export interface CreateTrialRequest { + /** + *

                                              A list of tags to associate with the trial. You can use Search API to + * search on the tags.

                                              + */ + Tags?: Tag[]; + /** *

                                              The name of the trial as displayed. The name doesn't need to be unique. If * DisplayName isn't specified, TrialName is displayed.

                                              @@ -10977,12 +11327,6 @@ export interface CreateTrialRequest { * case-sensitive.

                                              */ TrialName: string | undefined; - - /** - *

                                              A list of tags to associate with the trial. You can use Search API to - * search on the tags.

                                              - */ - Tags?: Tag[]; } export namespace CreateTrialRequest { @@ -11009,15 +11353,10 @@ export namespace CreateTrialResponse { * TrialComponentArtifact as part of the InputArtifacts and * OutputArtifacts parameters in the CreateTrialComponent * request.

                                              - *

                                              Examples of input artifacts are datasets, algorithms, hyperparameters, source code, and - * instance types. Examples of output artifacts are metrics, snapshots, logs, and images.

                                              - */ -export interface TrialComponentArtifact { - /** - *

                                              The location of the artifact.

                                              - */ - Value: string | undefined; - + *

                                              Examples of input artifacts are datasets, algorithms, hyperparameters, source code, and + * instance types. Examples of output artifacts are metrics, snapshots, logs, and images.

                                              + */ +export interface TrialComponentArtifact { /** *

                                              The media type of the artifact, which indicates the type of data in the artifact file. The * media type consists of a type and a subtype @@ -11025,6 +11364,11 @@ export interface TrialComponentArtifact { * type specifies the category of the media. The subtype specifies the kind of data.

                                              */ MediaType?: string; + + /** + *

                                              The location of the artifact.

                                              + */ + Value: string | undefined; } export namespace TrialComponentArtifact { @@ -11039,17 +11383,17 @@ export namespace TrialComponentArtifact { *

                                              This object is specified in the CreateTrialComponent request.

                                              */ export interface TrialComponentParameterValue { - /** - *

                                              The string value of a categorical hyperparameter. If you specify a value for this - * parameter, you can't specify the NumberValue parameter.

                                              - */ - StringValue?: string; - /** *

                                              The numeric value of a numeric hyperparameter. If you specify a value for this parameter, * you can't specify the StringValue parameter.

                                              */ NumberValue?: number; + + /** + *

                                              The string value of a categorical hyperparameter. If you specify a value for this + * parameter, you can't specify the NumberValue parameter.

                                              + */ + StringValue?: string; } export namespace TrialComponentParameterValue { @@ -11071,14 +11415,14 @@ export enum TrialComponentPrimaryStatus { */ export interface TrialComponentStatus { /** - *

                                              The status of the trial component.

                                              + *

                                              If the component failed, a message describing why.

                                              */ - PrimaryStatus?: TrialComponentPrimaryStatus | string; + Message?: string; /** - *

                                              If the component failed, a message describing why.

                                              + *

                                              The status of the trial component.

                                              */ - Message?: string; + PrimaryStatus?: TrialComponentPrimaryStatus | string; } export namespace TrialComponentStatus { @@ -11089,9 +11433,22 @@ export namespace TrialComponentStatus { export interface CreateTrialComponentRequest { /** - *

                                              The hyperparameters for the component.

                                              + *

                                              The name of the component as displayed. The name doesn't need to be unique. If + * DisplayName isn't specified, TrialComponentName is + * displayed.

                                              */ - Parameters?: { [key: string]: TrialComponentParameterValue }; + DisplayName?: string; + + /** + *

                                              When the component ended.

                                              + */ + EndTime?: Date; + + /** + *

                                              The input artifacts for the component. Examples of input artifacts are datasets, + * algorithms, hyperparameters, source code, and instance types.

                                              + */ + InputArtifacts?: { [key: string]: TrialComponentArtifact }; /** *

                                              The status of the component. States include:

                                              @@ -11110,15 +11467,15 @@ export interface CreateTrialComponentRequest { Status?: TrialComponentStatus; /** - *

                                              When the component ended.

                                              + *

                                              The output artifacts for the component. Examples of output artifacts are metrics, + * snapshots, logs, and images.

                                              */ - EndTime?: Date; + OutputArtifacts?: { [key: string]: TrialComponentArtifact }; /** - *

                                              The name of the component. The name must be unique in your AWS account and is not - * case-sensitive.

                                              + *

                                              When the component started.

                                              */ - TrialComponentName: string | undefined; + StartTime?: Date; /** *

                                              A list of tags to associate with the component. You can use Search API @@ -11127,28 +11484,15 @@ export interface CreateTrialComponentRequest { Tags?: Tag[]; /** - *

                                              The output artifacts for the component. Examples of output artifacts are metrics, - * snapshots, logs, and images.

                                              - */ - OutputArtifacts?: { [key: string]: TrialComponentArtifact }; - - /** - *

                                              The name of the component as displayed. The name doesn't need to be unique. If - * DisplayName isn't specified, TrialComponentName is - * displayed.

                                              - */ - DisplayName?: string; - - /** - *

                                              When the component started.

                                              + *

                                              The hyperparameters for the component.

                                              */ - StartTime?: Date; + Parameters?: { [key: string]: TrialComponentParameterValue }; /** - *

                                              The input artifacts for the component. Examples of input artifacts are datasets, - * algorithms, hyperparameters, source code, and instance types.

                                              + *

                                              The name of the component. The name must be unique in your AWS account and is not + * case-sensitive.

                                              */ - InputArtifacts?: { [key: string]: TrialComponentArtifact }; + TrialComponentName: string | undefined; } export namespace CreateTrialComponentRequest { @@ -11171,23 +11515,11 @@ export namespace CreateTrialComponentResponse { } export interface CreateUserProfileRequest { - /** - *

                                              The username of the associated AWS Single Sign-On User for this UserProfile. If the Domain's AuthMode is SSO, this field is - * required, and must match a valid username of a user in your directory. If the Domain's AuthMode is not SSO, this field cannot be specified. - *

                                              - */ - SingleSignOnUserValue?: string; - /** *

                                              A collection of settings.

                                              */ UserSettings?: UserSettings; - /** - *

                                              The ID of the associated Domain.

                                              - */ - DomainId: string | undefined; - /** *

                                              A specifier for the type of value specified in SingleSignOnUserValue. Currently, the only supported value is "UserName". * If the Domain's AuthMode is SSO, this field is required. If the Domain's AuthMode is not SSO, this field cannot be specified. @@ -11195,6 +11527,18 @@ export interface CreateUserProfileRequest { */ SingleSignOnUserIdentifier?: string; + /** + *

                                              The username of the associated AWS Single Sign-On User for this UserProfile. If the Domain's AuthMode is SSO, this field is + * required, and must match a valid username of a user in your directory. If the Domain's AuthMode is not SSO, this field cannot be specified. + *

                                              + */ + SingleSignOnUserValue?: string; + + /** + *

                                              The ID of the associated Domain.

                                              + */ + DomainId: string | undefined; + /** *

                                              A name for the UserProfile.

                                              */ @@ -11231,19 +11575,9 @@ export namespace CreateUserProfileResponse { */ export interface OidcConfig { /** - *

                                              The OIDC IdP logout endpoint used to configure your private workforce.

                                              - */ - LogoutEndpoint: string | undefined; - - /** - *

                                              The OIDC IdP JSON Web Key Set (Jwks) URI used to configure your private workforce.

                                              - */ - JwksUri: string | undefined; - - /** - *

                                              The OIDC IdP token endpoint used to configure your private workforce.

                                              + *

                                              The OIDC IdP issuer used to configure your private workforce.

                                              */ - TokenEndpoint: string | undefined; + Issuer: string | undefined; /** *

                                              The OIDC IdP authorization endpoint used to configure your private workforce.

                                              @@ -11261,14 +11595,24 @@ export interface OidcConfig { ClientId: string | undefined; /** - *

                                              The OIDC IdP issuer used to configure your private workforce.

                                              + *

                                              The OIDC IdP client secret used to configure your private workforce.

                                              */ - Issuer: string | undefined; + ClientSecret: string | undefined; /** - *

                                              The OIDC IdP client secret used to configure your private workforce.

                                              + *

                                              The OIDC IdP logout endpoint used to configure your private workforce.

                                              */ - ClientSecret: string | undefined; + LogoutEndpoint: string | undefined; + + /** + *

                                              The OIDC IdP JSON Web Key Set (Jwks) URI used to configure your private workforce.

                                              + */ + JwksUri: string | undefined; + + /** + *

                                              The OIDC IdP token endpoint used to configure your private workforce.

                                              + */ + TokenEndpoint: string | undefined; } export namespace OidcConfig { @@ -11280,7 +11624,8 @@ export namespace OidcConfig { /** *

                                              A list of IP address ranges (CIDRs). Used to create an allow - * list of IP addresses for a private workforce. For more information, see .

                                              + * list of IP addresses for a private workforce. Workers will only be able to login to their worker portal from an + * IP address within this range. By default, a workforce isn't restricted to specific IP addresses.

                                              */ export interface SourceIpConfig { /** @@ -11302,15 +11647,13 @@ export namespace SourceIpConfig { export interface CreateWorkforceRequest { /** - *

                                              An array of key-value pairs that contain metadata to help you categorize and - * organize our workforce. Each tag consists of a key and a value, - * both of which you define.

                                              + *

                                              The name of the private workforce.

                                              */ - Tags?: Tag[]; + WorkforceName: string | undefined; /** - *

                                              Use this parameter to configure a private workforce using your own OIDC Identity Provider. - * Do not use CognitoConfig if you specify values for + *

                                              Use this parameter to configure a private workforce using your own OIDC Identity Provider.

                                              + *

                                              Do not use CognitoConfig if you specify values for * OidcConfig.

                                              */ OidcConfig?: OidcConfig; @@ -11328,14 +11671,17 @@ export interface CreateWorkforceRequest { /** *

                                              A list of IP address ranges (CIDRs). Used to create an allow - * list of IP addresses for a private workforce. For more information, see .

                                              + * list of IP addresses for a private workforce. Workers will only be able to login to their worker portal from an + * IP address within this range. By default, a workforce isn't restricted to specific IP addresses.

                                              */ SourceIpConfig?: SourceIpConfig; /** - *

                                              The name of the private workforce.

                                              + *

                                              An array of key-value pairs that contain metadata to help you categorize and + * organize our workforce. Each tag consists of a key and a value, + * both of which you define.

                                              */ - WorkforceName: string | undefined; + Tags?: Tag[]; } export namespace CreateWorkforceRequest { @@ -11359,17 +11705,17 @@ export namespace CreateWorkforceResponse { } /** - *

                                              A list user groups that exist in your OIDC Identity Provider (IdP). - * One to ten groups can be used to create a single private work team. - * When you add a user group to the list of Groups, you can add that user group to one or more - * private work teams. If you add a user group to a private work team, all workers in that user group - * are added to the work team.

                                              + *

                                              A list of user groups that exist in your OIDC Identity Provider (IdP). + * One to ten groups can be used to create a single private work team. + * When you add a user group to the list of Groups, you can add that user group to one or more + * private work teams. If you add a user group to a private work team, all workers in that user group + * are added to the work team.

                                              */ export interface OidcMemberDefinition { /** *

                                              A list of comma seperated strings that identifies - * user groups in your OIDC IdP. Each user group is - * made up of a group of private workers.

                                              + * user groups in your OIDC IdP. Each user group is + * made up of a group of private workers.

                                              */ Groups: string[] | undefined; } @@ -11381,22 +11727,22 @@ export namespace OidcMemberDefinition { } /** - *

                                              Defines the Amazon Cognito user group that is part of a work team.

                                              + *

                                              Defines an Amazon Cognito or your own OIDC IdP user group that is part of a work team.

                                              */ export interface MemberDefinition { /** - *

                                              The Amazon Cognito user group that is part of the work team.

                                              + *

                                              A list user groups that exist in your OIDC Identity Provider (IdP). + * One to ten groups can be used to create a single private work team. + * When you add a user group to the list of Groups, you can add that user group to one or more + * private work teams. If you add a user group to a private work team, all workers in that user group + * are added to the work team.

                                              */ - CognitoMemberDefinition?: CognitoMemberDefinition; + OidcMemberDefinition?: OidcMemberDefinition; /** - *

                                              A list user groups that exist in your OIDC Identity Provider (IdP). - * One to ten groups can be used to create a single private work team. - * When you add a user group to the list of Groups, you can add that user group to one or more - * private work teams. If you add a user group to a private work team, all workers in that user group - * are added to the work team.

                                              + *

                                              The Amazon Cognito user group that is part of the work team.

                                              */ - OidcMemberDefinition?: OidcMemberDefinition; + CognitoMemberDefinition?: CognitoMemberDefinition; } export namespace MemberDefinition { @@ -11424,14 +11770,13 @@ export namespace NotificationConfiguration { export interface CreateWorkteamRequest { /** - *

                                              Configures notification of workers regarding available or expiring work items.

                                              - */ - NotificationConfiguration?: NotificationConfiguration; - - /** - *

                                              The name of the work team. Use this name to identify the work team.

                                              + *

                                              An array of key-value pairs.

                                              + *

                                              For more information, see Resource + * Tag and Using + * Cost Allocation Tags in the AWS Billing and Cost Management User + * Guide.

                                              */ - WorkteamName: string | undefined; + Tags?: Tag[]; /** *

                                              A description of the work team.

                                              @@ -11439,14 +11784,9 @@ export interface CreateWorkteamRequest { Description: string | undefined; /** - *

                                              A list of MemberDefinition objects that contains objects that identify - * the Amazon Cognito user pool that makes up the work team. For more information, see Amazon Cognito User - * Pools.

                                              - *

                                              All of the CognitoMemberDefinition objects that make up the member - * definition must have the same ClientId and UserPool - * values.

                                              + *

                                              Configures notification of workers regarding available or expiring work items.

                                              */ - MemberDefinitions: MemberDefinition[] | undefined; + NotificationConfiguration?: NotificationConfiguration; /** *

                                              The name of the workforce.

                                              @@ -11454,13 +11794,30 @@ export interface CreateWorkteamRequest { WorkforceName?: string; /** - *

                                              An array of key-value pairs.

                                              - *

                                              For more information, see Resource - * Tag and Using - * Cost Allocation Tags in the AWS Billing and Cost Management User - * Guide.

                                              + *

                                              The name of the work team. Use this name to identify the work team.

                                              */ - Tags?: Tag[]; + WorkteamName: string | undefined; + + /** + *

                                              A list of MemberDefinition objects that contains objects that identify + * the workers that make up the work team.

                                              + *

                                              Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For + * private workforces created using Amazon Cognito use CognitoMemberDefinition. For + * workforces created using your own OIDC identity provider (IdP) use + * OidcMemberDefinition. Do not provide input for both of these parameters + * in a single request.

                                              + *

                                              For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito + * user groups within the user pool used to create a workforce. All of the + * CognitoMemberDefinition objects that make up the member definition must + * have the same ClientId and UserPool values. To add a Amazon + * Cognito user group to an existing worker pool, see Adding groups to a User + * Pool. For more information about user pools, see Amazon Cognito User + * Pools.

                                              + *

                                              For workforces created using your own OIDC IdP, specify the user groups that you want to + * include in your private work team in OidcMemberDefinition by listing those groups + * in Groups.

                                              + */ + MemberDefinitions: MemberDefinition[] | undefined; } export namespace CreateWorkteamRequest { @@ -11490,27 +11847,27 @@ export interface DataCaptureConfigSummary { /** *

                                              */ - DestinationS3Uri: string | undefined; + CaptureStatus: CaptureStatus | string | undefined; /** *

                                              */ - CaptureStatus: CaptureStatus | string | undefined; + KmsKeyId: string | undefined; /** *

                                              */ - KmsKeyId: string | undefined; + CurrentSamplingPercentage: number | undefined; /** *

                                              */ - EnableCapture: boolean | undefined; + DestinationS3Uri: string | undefined; /** *

                                              */ - CurrentSamplingPercentage: number | undefined; + EnableCapture: boolean | undefined; } export namespace DataCaptureConfigSummary { @@ -11533,9 +11890,9 @@ export enum RuleEvaluationStatus { */ export interface DebugRuleEvaluationStatus { /** - *

                                              Timestamp when the rule evaluation status was last modified.

                                              + *

                                              The name of the rule configuration

                                              */ - LastModifiedTime?: Date; + RuleConfigurationName?: string; /** *

                                              Details from the rule evaluation.

                                              @@ -11543,19 +11900,19 @@ export interface DebugRuleEvaluationStatus { StatusDetails?: string; /** - *

                                              The Amazon Resource Name (ARN) of the rule evaluation job.

                                              + *

                                              Status of the rule evaluation.

                                              */ - RuleEvaluationJobArn?: string; + RuleEvaluationStatus?: RuleEvaluationStatus | string; /** - *

                                              Status of the rule evaluation.

                                              + *

                                              Timestamp when the rule evaluation status was last modified.

                                              */ - RuleEvaluationStatus?: RuleEvaluationStatus | string; + LastModifiedTime?: Date; /** - *

                                              The name of the rule configuration

                                              + *

                                              The Amazon Resource Name (ARN) of the rule evaluation job.

                                              */ - RuleConfigurationName?: string; + RuleEvaluationJobArn?: string; } export namespace DebugRuleEvaluationStatus { @@ -11579,9 +11936,9 @@ export namespace DeleteAlgorithmInput { export interface DeleteAppRequest { /** - *

                                              The type of app.

                                              + *

                                              The domain ID.

                                              */ - AppType: AppType | string | undefined; + DomainId: string | undefined; /** *

                                              The user profile name.

                                              @@ -11594,9 +11951,9 @@ export interface DeleteAppRequest { AppName: string | undefined; /** - *

                                              The domain ID.

                                              + *

                                              The type of app.

                                              */ - DomainId: string | undefined; + AppType: AppType | string | undefined; } export namespace DeleteAppRequest { @@ -11806,56 +12163,3 @@ export namespace DeleteNotebookInstanceInput { ...obj, }); } - -export interface DeleteNotebookInstanceLifecycleConfigInput { - /** - *

                                              The name of the lifecycle configuration to delete.

                                              - */ - NotebookInstanceLifecycleConfigName: string | undefined; -} - -export namespace DeleteNotebookInstanceLifecycleConfigInput { - export const filterSensitiveLog = (obj: DeleteNotebookInstanceLifecycleConfigInput): any => ({ - ...obj, - }); -} - -export interface DeleteTagsInput { - /** - *

                                              An array or one or more tag keys to delete.

                                              - */ - TagKeys: string[] | undefined; - - /** - *

                                              The Amazon Resource Name (ARN) of the resource whose tags you want to - * delete.

                                              - */ - ResourceArn: string | undefined; -} - -export namespace DeleteTagsInput { - export const filterSensitiveLog = (obj: DeleteTagsInput): any => ({ - ...obj, - }); -} - -export interface DeleteTagsOutput {} - -export namespace DeleteTagsOutput { - export const filterSensitiveLog = (obj: DeleteTagsOutput): any => ({ - ...obj, - }); -} - -export interface DeleteTrialRequest { - /** - *

                                              The name of the trial to delete.

                                              - */ - TrialName: string | undefined; -} - -export namespace DeleteTrialRequest { - export const filterSensitiveLog = (obj: DeleteTrialRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-sagemaker/models/models_1.ts b/clients/client-sagemaker/models/models_1.ts index 6960b0ba236e..c6b164f7b742 100644 --- a/clients/client-sagemaker/models/models_1.ts +++ b/clients/client-sagemaker/models/models_1.ts @@ -6,6 +6,7 @@ import { AlgorithmSummary, AlgorithmValidationSpecification, AppDetails, + AppNetworkAccessType, AppSortKey, AppSpecification, AppStatus, @@ -102,6 +103,59 @@ import { } from "./models_0"; import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; +export interface DeleteNotebookInstanceLifecycleConfigInput { + /** + *

                                              The name of the lifecycle configuration to delete.

                                              + */ + NotebookInstanceLifecycleConfigName: string | undefined; +} + +export namespace DeleteNotebookInstanceLifecycleConfigInput { + export const filterSensitiveLog = (obj: DeleteNotebookInstanceLifecycleConfigInput): any => ({ + ...obj, + }); +} + +export interface DeleteTagsInput { + /** + *

                                              The Amazon Resource Name (ARN) of the resource whose tags you want to + * delete.

                                              + */ + ResourceArn: string | undefined; + + /** + *

                                              An array or one or more tag keys to delete.

                                              + */ + TagKeys: string[] | undefined; +} + +export namespace DeleteTagsInput { + export const filterSensitiveLog = (obj: DeleteTagsInput): any => ({ + ...obj, + }); +} + +export interface DeleteTagsOutput {} + +export namespace DeleteTagsOutput { + export const filterSensitiveLog = (obj: DeleteTagsOutput): any => ({ + ...obj, + }); +} + +export interface DeleteTrialRequest { + /** + *

                                              The name of the trial to delete.

                                              + */ + TrialName: string | undefined; +} + +export namespace DeleteTrialRequest { + export const filterSensitiveLog = (obj: DeleteTrialRequest): any => ({ + ...obj, + }); +} + export interface DeleteTrialResponse { /** *

                                              The Amazon Resource Name (ARN) of the trial that is being deleted.

                                              @@ -216,6 +270,11 @@ export namespace DeleteWorkteamResponse { * a specific version of an image. For information about Amazon ECR paths, see Pulling an Image in the Amazon ECR User Guide.

                                              */ export interface DeployedImage { + /** + *

                                              The image path you specified when you created the model.

                                              + */ + SpecifiedImage?: string; + /** *

                                              The date and time when the image path for the model resolved to the * ResolvedImage @@ -228,11 +287,6 @@ export interface DeployedImage { * ProductionVariant.

                                              */ ResolvedImage?: string; - - /** - *

                                              The image path you specified when you created the model.

                                              - */ - SpecifiedImage?: string; } export namespace DeployedImage { @@ -256,45 +310,45 @@ export namespace DescribeAlgorithmInput { export interface DescribeAlgorithmOutput { /** - *

                                              Whether the algorithm is certified to be listed in AWS Marketplace.

                                              + *

                                              The current status of the algorithm.

                                              */ - CertifyForMarketplace?: boolean; + AlgorithmStatus: AlgorithmStatus | string | undefined; /** - *

                                              Details about training jobs run by this algorithm.

                                              + *

                                              Details about configurations for one or more training jobs that Amazon SageMaker runs to test the + * algorithm.

                                              */ - TrainingSpecification: TrainingSpecification | undefined; + ValidationSpecification?: AlgorithmValidationSpecification; /** - *

                                              The product identifier of the algorithm.

                                              + *

                                              Details about training jobs run by this algorithm.

                                              */ - ProductId?: string; + TrainingSpecification: TrainingSpecification | undefined; /** - *

                                              Details about inference jobs that the algorithm runs.

                                              + *

                                              The name of the algorithm being described.

                                              */ - InferenceSpecification?: InferenceSpecification; + AlgorithmName: string | undefined; /** - *

                                              The current status of the algorithm.

                                              + *

                                              Details about the current status of the algorithm.

                                              */ - AlgorithmStatus: AlgorithmStatus | string | undefined; + AlgorithmStatusDetails: AlgorithmStatusDetails | undefined; /** - *

                                              Details about configurations for one or more training jobs that Amazon SageMaker runs to test the - * algorithm.

                                              + *

                                              A brief summary about the algorithm.

                                              */ - ValidationSpecification?: AlgorithmValidationSpecification; + AlgorithmDescription?: string; /** - *

                                              Details about the current status of the algorithm.

                                              + *

                                              Whether the algorithm is certified to be listed in AWS Marketplace.

                                              */ - AlgorithmStatusDetails: AlgorithmStatusDetails | undefined; + CertifyForMarketplace?: boolean; /** - *

                                              A brief summary about the algorithm.

                                              + *

                                              The Amazon Resource Name (ARN) of the algorithm.

                                              */ - AlgorithmDescription?: string; + AlgorithmArn: string | undefined; /** *

                                              A timestamp specifying when the algorithm was created.

                                              @@ -302,14 +356,14 @@ export interface DescribeAlgorithmOutput { CreationTime: Date | undefined; /** - *

                                              The Amazon Resource Name (ARN) of the algorithm.

                                              + *

                                              The product identifier of the algorithm.

                                              */ - AlgorithmArn: string | undefined; + ProductId?: string; /** - *

                                              The name of the algorithm being described.

                                              + *

                                              Details about inference jobs that the algorithm runs.

                                              */ - AlgorithmName: string | undefined; + InferenceSpecification?: InferenceSpecification; } export namespace DescribeAlgorithmOutput { @@ -320,24 +374,24 @@ export namespace DescribeAlgorithmOutput { export interface DescribeAppRequest { /** - *

                                              The type of app.

                                              + *

                                              The user profile name.

                                              */ - AppType: AppType | string | undefined; + UserProfileName: string | undefined; /** - *

                                              The name of the app.

                                              + *

                                              The domain ID.

                                              */ - AppName: string | undefined; + DomainId: string | undefined; /** - *

                                              The user profile name.

                                              + *

                                              The name of the app.

                                              */ - UserProfileName: string | undefined; + AppName: string | undefined; /** - *

                                              The domain ID.

                                              + *

                                              The type of app.

                                              */ - DomainId: string | undefined; + AppType: AppType | string | undefined; } export namespace DescribeAppRequest { @@ -348,59 +402,59 @@ export namespace DescribeAppRequest { export interface DescribeAppResponse { /** - *

                                              The status.

                                              + *

                                              The timestamp of the last user's activity.

                                              */ - Status?: AppStatus | string; + LastUserActivityTimestamp?: Date; /** - *

                                              The user profile name.

                                              + *

                                              The name of the app.

                                              */ - UserProfileName?: string; + AppName?: string; /** - *

                                              The app's Amazon Resource Name (ARN).

                                              + *

                                              The creation time.

                                              */ - AppArn?: string; + CreationTime?: Date; /** - *

                                              The failure reason.

                                              + *

                                              The type of app.

                                              */ - FailureReason?: string; + AppType?: AppType | string; /** - *

                                              The domain ID.

                                              + *

                                              The user profile name.

                                              */ - DomainId?: string; + UserProfileName?: string; /** - *

                                              The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

                                              + *

                                              The app's Amazon Resource Name (ARN).

                                              */ - ResourceSpec?: ResourceSpec; + AppArn?: string; /** - *

                                              The name of the app.

                                              + *

                                              The domain ID.

                                              */ - AppName?: string; + DomainId?: string; /** - *

                                              The timestamp of the last health check.

                                              + *

                                              The status.

                                              */ - LastHealthCheckTimestamp?: Date; + Status?: AppStatus | string; /** - *

                                              The timestamp of the last user's activity.

                                              + *

                                              The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

                                              */ - LastUserActivityTimestamp?: Date; + ResourceSpec?: ResourceSpec; /** - *

                                              The creation time.

                                              + *

                                              The failure reason.

                                              */ - CreationTime?: Date; + FailureReason?: string; /** - *

                                              The type of app.

                                              + *

                                              The timestamp of the last health check.

                                              */ - AppType?: AppType | string; + LastHealthCheckTimestamp?: Date; } export namespace DescribeAppResponse { @@ -432,15 +486,15 @@ export interface ResolvedAttributes { ProblemType?: ProblemType | string; /** - *

                                              How long a job is allowed to run, or how many candidates a job is allowed to - * generate.

                                              + *

                                              Specifies a metric to minimize or maximize as the objective of a job.

                                              */ - CompletionCriteria?: AutoMLJobCompletionCriteria; + AutoMLJobObjective?: AutoMLJobObjective; /** - *

                                              Applies a metric to minimize or maximize for the job's objective.

                                              + *

                                              How long a job is allowed to run, or how many candidates a job is allowed to + * generate.

                                              */ - AutoMLJobObjective?: AutoMLJobObjective; + CompletionCriteria?: AutoMLJobCompletionCriteria; } export namespace ResolvedAttributes { @@ -451,97 +505,97 @@ export namespace ResolvedAttributes { export interface DescribeAutoMLJobResponse { /** - *

                                              Returns the job's creation time.

                                              + *

                                              Returns the job's config.

                                              */ - CreationTime: Date | undefined; + AutoMLJobConfig?: AutoMLJobConfig; /** - *

                                              Returns the job's last modified time.

                                              + *

                                              Returns the job's AutoMLJobStatus.

                                              */ - LastModifiedTime: Date | undefined; + AutoMLJobStatus: AutoMLJobStatus | string | undefined; /** - *

                                              Returns the job's BestCandidate.

                                              + *

                                              Returns the name of a job.

                                              */ - BestCandidate?: AutoMLCandidate; + AutoMLJobName: string | undefined; /** - *

                                              Returns the job's end time.

                                              + *

                                              Returns the job's input data config.

                                              */ - EndTime?: Date; + InputDataConfig: AutoMLChannel[] | undefined; /** - *

                                              Returns the name of a job.

                                              + *

                                              Returns the job's objective.

                                              */ - AutoMLJobName: string | undefined; + AutoMLJobObjective?: AutoMLJobObjective; /** - *

                                              Returns the job's ARN.

                                              + *

                                              Returns the job's end time.

                                              */ - AutoMLJobArn: string | undefined; + EndTime?: Date; /** - *

                                              Returns the job's output from GenerateCandidateDefinitionsOnly.

                                              + *

                                              Returns the job's output data config.

                                              */ - GenerateCandidateDefinitionsOnly?: boolean; + OutputDataConfig: AutoMLOutputDataConfig | undefined; /** - *

                                              Returns the job's FailureReason.

                                              + *

                                              This contains ProblemType, AutoMLJobObjective and CompletionCriteria. They're + * auto-inferred values, if not provided by you. If you do provide them, then they'll be the + * same as provided.

                                              */ - FailureReason?: string; + ResolvedAttributes?: ResolvedAttributes; /** - *

                                              Returns the job's objective.

                                              + *

                                              The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that has read permission to + * the input data location and write permission to the output data location in Amazon S3.

                                              */ - AutoMLJobObjective?: AutoMLJobObjective; + RoleArn: string | undefined; /** - *

                                              Returns information on the job's artifacts found in AutoMLJobArtifacts.

                                              + *

                                              Returns the job's BestCandidate.

                                              */ - AutoMLJobArtifacts?: AutoMLJobArtifacts; + BestCandidate?: AutoMLCandidate; /** - *

                                              Returns the job's AutoMLJobSecondaryStatus.

                                              + *

                                              Returns the job's problem type.

                                              */ - AutoMLJobSecondaryStatus: AutoMLJobSecondaryStatus | string | undefined; + ProblemType?: ProblemType | string; /** - *

                                              This contains ProblemType, AutoMLJobObjective and CompletionCriteria. They're - * auto-inferred values, if not provided by you. If you do provide them, then they'll be the - * same as provided.

                                              + *

                                              Returns the job's creation time.

                                              */ - ResolvedAttributes?: ResolvedAttributes; + CreationTime: Date | undefined; /** - *

                                              Returns the job's output data config.

                                              + *

                                              Returns the job's last modified time.

                                              */ - OutputDataConfig: AutoMLOutputDataConfig | undefined; + LastModifiedTime: Date | undefined; /** - *

                                              Returns the job's problem type.

                                              + *

                                              Returns the job's AutoMLJobSecondaryStatus.

                                              */ - ProblemType?: ProblemType | string; + AutoMLJobSecondaryStatus: AutoMLJobSecondaryStatus | string | undefined; /** - *

                                              Returns the job's AutoMLJobStatus.

                                              + *

                                              Returns the job's ARN.

                                              */ - AutoMLJobStatus: AutoMLJobStatus | string | undefined; + AutoMLJobArn: string | undefined; /** - *

                                              Returns the job's config.

                                              + *

                                              Returns information on the job's artifacts found in AutoMLJobArtifacts.

                                              */ - AutoMLJobConfig?: AutoMLJobConfig; + AutoMLJobArtifacts?: AutoMLJobArtifacts; /** - *

                                              The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that has read permission to - * the input data location and write permission to the output data location in Amazon S3.

                                              + *

                                              Returns the job's FailureReason.

                                              */ - RoleArn: string | undefined; + FailureReason?: string; /** - *

                                              Returns the job's input data config.

                                              + *

                                              Returns the job's output from GenerateCandidateDefinitionsOnly.

                                              */ - InputDataConfig: AutoMLChannel[] | undefined; + GenerateCandidateDefinitionsOnly?: boolean; } export namespace DescribeAutoMLJobResponse { @@ -569,11 +623,6 @@ export interface DescribeCodeRepositoryOutput { */ CodeRepositoryArn: string | undefined; - /** - *

                                              The name of the Git repository.

                                              - */ - CodeRepositoryName: string | undefined; - /** *

                                              Configuration details about the repository, including the URL where the repository is * located, the default branch, and the Amazon Resource Name (ARN) of the AWS Secrets @@ -581,6 +630,11 @@ export interface DescribeCodeRepositoryOutput { */ GitConfig?: GitConfig; + /** + *

                                              The name of the Git repository.

                                              + */ + CodeRepositoryName: string | undefined; + /** *

                                              The date and time that the repository was created.

                                              */ @@ -633,6 +687,11 @@ export namespace ModelArtifacts { } export interface DescribeCompilationJobResponse { + /** + *

                                              The status of the model compilation job.

                                              + */ + CompilationJobStatus: CompilationJobStatus | string | undefined; + /** *

                                              Information about the location in Amazon S3 that has been configured for storing the model * artifacts used in the compilation job.

                                              @@ -640,9 +699,10 @@ export interface DescribeCompilationJobResponse { ModelArtifacts: ModelArtifacts | undefined; /** - *

                                              The Amazon Resource Name (ARN) of the model compilation job.

                                              + *

                                              The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker assumes to perform the model + * compilation job.

                                              */ - RoleArn: string | undefined; + CompilationJobArn: string | undefined; /** *

                                              The time when the model compilation job started the CompilationJob @@ -653,16 +713,6 @@ export interface DescribeCompilationJobResponse { */ CompilationStartTime?: Date; - /** - *

                                              The name of the model compilation job.

                                              - */ - CompilationJobName: string | undefined; - - /** - *

                                              The time that the model compilation job was created.

                                              - */ - CreationTime: Date | undefined; - /** *

                                              The time that the status * of @@ -671,9 +721,9 @@ export interface DescribeCompilationJobResponse { LastModifiedTime: Date | undefined; /** - *

                                              If a model compilation job failed, the reason it failed.

                                              + *

                                              The time that the model compilation job was created.

                                              */ - FailureReason: string | undefined; + CreationTime: Date | undefined; /** *

                                              Information about the location in Amazon S3 of the input model artifacts, the name and @@ -689,9 +739,16 @@ export interface DescribeCompilationJobResponse { OutputConfig: OutputConfig | undefined; /** - *

                                              The status of the model compilation job.

                                              + *

                                              If a model compilation job failed, the reason it failed.

                                              */ - CompilationJobStatus: CompilationJobStatus | string | undefined; + FailureReason: string | undefined; + + /** + *

                                              The time when the model compilation job on a compilation job instance ended. For a + * successful or stopped job, this is when the job's model artifacts have finished + * uploading. For a failed job, this is when Amazon SageMaker detected that the job failed.

                                              + */ + CompilationEndTime?: Date; /** *

                                              Specifies a limit to how long a model compilation job can run. When the job reaches @@ -701,17 +758,14 @@ export interface DescribeCompilationJobResponse { StoppingCondition: StoppingCondition | undefined; /** - *

                                              The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker assumes to perform the model - * compilation job.

                                              + *

                                              The Amazon Resource Name (ARN) of the model compilation job.

                                              */ - CompilationJobArn: string | undefined; + RoleArn: string | undefined; /** - *

                                              The time when the model compilation job on a compilation job instance ended. For a - * successful or stopped job, this is when the job's model artifacts have finished - * uploading. For a failed job, this is when Amazon SageMaker detected that the job failed.

                                              + *

                                              The name of the model compilation job.

                                              */ - CompilationEndTime?: Date; + CompilationJobName: string | undefined; } export namespace DescribeCompilationJobResponse { @@ -742,66 +796,78 @@ export enum DomainStatus { export interface DescribeDomainResponse { /** - *

                                              Settings which are applied to all UserProfile in this domain, if settings are not explicitly specified - * in a given UserProfile. - *

                                              + *

                                              The domain name.

                                              */ - DefaultUserSettings?: UserSettings; + DomainName?: string; /** - *

                                              The AWS Key Management Service encryption key ID.

                                              + *

                                              The domain's Amazon Resource Name (ARN).

                                              */ - HomeEfsFileSystemKmsKeyId?: string; + DomainArn?: string; /** - *

                                              The domain's URL.

                                              + *

                                              The VPC subnets that Studio uses for communication.

                                              */ - Url?: string; + SubnetIds?: string[]; /** - *

                                              Security setting to limit to a set of subnets.

                                              + *

                                              Specifies the VPC used for non-EFS traffic. The default value is + * PublicInternetOnly.

                                              + *
                                                + *
                                              • + *

                                                + * PublicInternetOnly - Non-EFS traffic is through a VPC managed by + * Amazon SageMaker, which allows direct internet access

                                                + *
                                              • + *
                                              • + *

                                                + * VpcOnly - All Studio traffic is through the specified VPC and subnets

                                                + *
                                              • + *
                                              */ - SubnetIds?: string[]; + AppNetworkAccessType?: AppNetworkAccessType | string; /** - *

                                              The domain's Amazon Resource Name (ARN).

                                              + *

                                              The status.

                                              */ - DomainArn?: string; + Status?: DomainStatus | string; /** - *

                                              The ID of the Amazon Virtual Private Cloud.

                                              + *

                                              Settings which are applied to all UserProfile in this domain, if settings are not explicitly specified + * in a given UserProfile. + *

                                              */ - VpcId?: string; + DefaultUserSettings?: UserSettings; /** - *

                                              The domain name.

                                              + *

                                              The SSO managed application instance ID.

                                              */ - DomainName?: string; + SingleSignOnManagedApplicationInstanceId?: string; /** - *

                                              The domain's authentication mode.

                                              + *

                                              The domain's URL.

                                              */ - AuthMode?: AuthMode | string; + Url?: string; /** - *

                                              The creation time.

                                              + *

                                              The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

                                              */ - CreationTime?: Date; + VpcId?: string; /** - *

                                              The last modified time.

                                              + *

                                              The domain ID.

                                              */ - LastModifiedTime?: Date; + DomainId?: string; /** - *

                                              The SSO managed application instance ID.

                                              + *

                                              The failure reason.

                                              */ - SingleSignOnManagedApplicationInstanceId?: string; + FailureReason?: string; /** - *

                                              The domain ID.

                                              + *

                                              The domain's authentication mode.

                                              */ - DomainId?: string; + AuthMode?: AuthMode | string; /** *

                                              The ID of the Amazon Elastic File System (EFS) managed by this Domain.

                                              @@ -809,14 +875,19 @@ export interface DescribeDomainResponse { HomeEfsFileSystemId?: string; /** - *

                                              The status.

                                              + *

                                              The AWS Key Management Service encryption key ID.

                                              */ - Status?: DomainStatus | string; + HomeEfsFileSystemKmsKeyId?: string; /** - *

                                              The failure reason.

                                              + *

                                              The creation time.

                                              */ - FailureReason?: string; + CreationTime?: Date; + + /** + *

                                              The last modified time.

                                              + */ + LastModifiedTime?: Date; } export namespace DescribeDomainResponse { @@ -857,15 +928,16 @@ export enum EndpointStatus { */ export interface ProductionVariantSummary { /** - *

                                              The requested weight, as specified in the - * UpdateEndpointWeightsAndCapacities request.

                                              + *

                                              An array of DeployedImage objects that specify the Amazon EC2 Container Registry paths of the + * inference images deployed on instances of this ProductionVariant.

                                              */ - DesiredWeight?: number; + DeployedImages?: DeployedImage[]; /** - *

                                              The name of the variant.

                                              + *

                                              The number of instances requested in the + * UpdateEndpointWeightsAndCapacities request.

                                              */ - VariantName: string | undefined; + DesiredInstanceCount?: number; /** *

                                              The number of instances associated with the variant.

                                              @@ -873,21 +945,20 @@ export interface ProductionVariantSummary { CurrentInstanceCount?: number; /** - *

                                              The number of instances requested in the - * UpdateEndpointWeightsAndCapacities request.

                                              + *

                                              The weight associated with the variant.

                                              */ - DesiredInstanceCount?: number; + CurrentWeight?: number; /** - *

                                              The weight associated with the variant.

                                              + *

                                              The name of the variant.

                                              */ - CurrentWeight?: number; + VariantName: string | undefined; /** - *

                                              An array of DeployedImage objects that specify the Amazon EC2 Container Registry paths of the - * inference images deployed on instances of this ProductionVariant.

                                              + *

                                              The requested weight, as specified in the + * UpdateEndpointWeightsAndCapacities request.

                                              */ - DeployedImages?: DeployedImage[]; + DesiredWeight?: number; } export namespace ProductionVariantSummary { @@ -897,6 +968,21 @@ export namespace ProductionVariantSummary { } export interface DescribeEndpointOutput { + /** + *

                                              A timestamp that shows when the endpoint was created.

                                              + */ + CreationTime: Date | undefined; + + /** + *

                                              A timestamp that shows when the endpoint was last modified.

                                              + */ + LastModifiedTime: Date | undefined; + + /** + *

                                              + */ + DataCaptureConfig?: DataCaptureConfigSummary; + /** *

                                              The status of the endpoint.

                                              *
                                                @@ -951,20 +1037,15 @@ export interface DescribeEndpointOutput { EndpointStatus: EndpointStatus | string | undefined; /** - *

                                                An array of ProductionVariantSummary objects, one for each model - * hosted behind this endpoint.

                                                - */ - ProductionVariants?: ProductionVariantSummary[]; - - /** - *

                                                The name of the endpoint configuration associated with this endpoint.

                                                + *

                                                The Amazon Resource Name (ARN) of the endpoint.

                                                */ - EndpointConfigName: string | undefined; + EndpointArn: string | undefined; /** - *

                                                Name of the endpoint.

                                                + *

                                                An array of ProductionVariantSummary objects, one for each model + * hosted behind this endpoint.

                                                */ - EndpointName: string | undefined; + ProductionVariants?: ProductionVariantSummary[]; /** *

                                                If the status of the endpoint is Failed, the reason why it failed. @@ -973,24 +1054,14 @@ export interface DescribeEndpointOutput { FailureReason?: string; /** - *

                                                A timestamp that shows when the endpoint was created.

                                                - */ - CreationTime: Date | undefined; - - /** - *

                                                A timestamp that shows when the endpoint was last modified.

                                                - */ - LastModifiedTime: Date | undefined; - - /** - *

                                                The Amazon Resource Name (ARN) of the endpoint.

                                                + *

                                                The name of the endpoint configuration associated with this endpoint.

                                                */ - EndpointArn: string | undefined; + EndpointConfigName: string | undefined; /** - *

                                                + *

                                                Name of the endpoint.

                                                */ - DataCaptureConfig?: DataCaptureConfigSummary; + EndpointName: string | undefined; } export namespace DescribeEndpointOutput { @@ -1014,36 +1085,36 @@ export namespace DescribeEndpointConfigInput { export interface DescribeEndpointConfigOutput { /** - *

                                                An array of ProductionVariant objects, one for each model that you - * want to host at this endpoint.

                                                + *

                                                Name of the Amazon SageMaker endpoint configuration.

                                                */ - ProductionVariants: ProductionVariant[] | undefined; + EndpointConfigName: string | undefined; /** - *

                                                + *

                                                The Amazon Resource Name (ARN) of the endpoint configuration.

                                                */ - DataCaptureConfig?: DataCaptureConfig; + EndpointConfigArn: string | undefined; /** - *

                                                A timestamp that shows when the endpoint configuration was created.

                                                + *

                                                AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage + * volume attached to the instance.

                                                */ - CreationTime: Date | undefined; + KmsKeyId?: string; /** - *

                                                The Amazon Resource Name (ARN) of the endpoint configuration.

                                                + *

                                                An array of ProductionVariant objects, one for each model that you + * want to host at this endpoint.

                                                */ - EndpointConfigArn: string | undefined; + ProductionVariants: ProductionVariant[] | undefined; /** - *

                                                AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage - * volume attached to the instance.

                                                + *

                                                A timestamp that shows when the endpoint configuration was created.

                                                */ - KmsKeyId?: string; + CreationTime: Date | undefined; /** - *

                                                Name of the Amazon SageMaker endpoint configuration.

                                                + *

                                                */ - EndpointConfigName: string | undefined; + DataCaptureConfig?: DataCaptureConfig; } export namespace DescribeEndpointConfigOutput { @@ -1070,11 +1141,6 @@ export namespace DescribeExperimentRequest { * component.

                                                */ export interface UserContext { - /** - *

                                                The domain associated with the user.

                                                - */ - DomainId?: string; - /** *

                                                The name of the user's profile.

                                                */ @@ -1084,6 +1150,11 @@ export interface UserContext { *

                                                The Amazon Resource Name (ARN) of the user's profile.

                                                */ UserProfileArn?: string; + + /** + *

                                                The domain associated with the user.

                                                + */ + DomainId?: string; } export namespace UserContext { @@ -1097,14 +1168,14 @@ export namespace UserContext { */ export interface ExperimentSource { /** - *

                                                The Amazon Resource Name (ARN) of the source.

                                                + *

                                                The source type.

                                                */ - SourceArn: string | undefined; + SourceType?: string; /** - *

                                                The source type.

                                                + *

                                                The Amazon Resource Name (ARN) of the source.

                                                */ - SourceType?: string; + SourceArn: string | undefined; } export namespace ExperimentSource { @@ -1115,14 +1186,19 @@ export namespace ExperimentSource { export interface DescribeExperimentResponse { /** - *

                                                When the experiment was created.

                                                + *

                                                Who created the experiment.

                                                */ - CreationTime?: Date; + CreatedBy?: UserContext; /** - *

                                                When the experiment was last modified.

                                                + *

                                                The name of the experiment.

                                                */ - LastModifiedTime?: Date; + ExperimentName?: string; + + /** + *

                                                The Amazon Resource Name (ARN) of the experiment.

                                                + */ + ExperimentArn?: string; /** *

                                                The name of the experiment as displayed. If DisplayName isn't specified, @@ -1131,35 +1207,30 @@ export interface DescribeExperimentResponse { DisplayName?: string; /** - *

                                                Who last modified the experiment.

                                                + *

                                                When the experiment was last modified.

                                                */ - LastModifiedBy?: UserContext; + LastModifiedTime?: Date; /** - *

                                                The ARN of the source and, optionally, the type.

                                                + *

                                                When the experiment was created.

                                                */ - Source?: ExperimentSource; + CreationTime?: Date; /** - *

                                                Who created the experiment.

                                                + *

                                                Who last modified the experiment.

                                                */ - CreatedBy?: UserContext; + LastModifiedBy?: UserContext; /** - *

                                                The description of the experiment.

                                                + *

                                                The ARN of the source and, optionally, the type.

                                                */ - Description?: string; + Source?: ExperimentSource; /** - *

                                                The name of the experiment.

                                                + *

                                                The description of the experiment.

                                                */ - ExperimentName?: string; - - /** - *

                                                The Amazon Resource Name (ARN) of the experiment.

                                                - */ - ExperimentArn?: string; -} + Description?: string; +} export namespace DescribeExperimentResponse { export const filterSensitiveLog = (obj: DescribeExperimentResponse): any => ({ @@ -1189,55 +1260,55 @@ export enum FlowDefinitionStatus { export interface DescribeFlowDefinitionResponse { /** - *

                                                The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) execution role for the flow definition.

                                                + *

                                                The reason your flow definition failed.

                                                */ - RoleArn: string | undefined; + FailureReason?: string; /** - *

                                                The status of the flow definition. Valid values are listed below.

                                                + *

                                                An object containing information about who works on the task, the workforce task price, and other task details.

                                                */ - FlowDefinitionStatus: FlowDefinitionStatus | string | undefined; + HumanLoopConfig: HumanLoopConfig | undefined; /** - *

                                                The timestamp when the flow definition was created.

                                                + *

                                                An object containing information about what triggers a human review workflow.

                                                */ - CreationTime: Date | undefined; + HumanLoopActivationConfig?: HumanLoopActivationConfig; /** - *

                                                An object containing information about the output file.

                                                + *

                                                Container for configuring the source of human task requests. Used to specify if + * Amazon Rekognition or Amazon Textract is used as an integration source.

                                                */ - OutputConfig: FlowDefinitionOutputConfig | undefined; + HumanLoopRequestSource?: HumanLoopRequestSource; /** - *

                                                An object containing information about what triggers a human review workflow.

                                                + *

                                                The Amazon Resource Name (ARN) of the flow defintion.

                                                */ - HumanLoopActivationConfig?: HumanLoopActivationConfig; + FlowDefinitionArn: string | undefined; /** - *

                                                Container for configuring the source of human task requests. Used to specify if - * Amazon Rekognition or Amazon Textract is used as an integration source.

                                                + *

                                                The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) execution role for the flow definition.

                                                */ - HumanLoopRequestSource?: HumanLoopRequestSource; + RoleArn: string | undefined; /** - *

                                                An object containing information about who works on the task, the workforce task price, and other task details.

                                                + *

                                                The Amazon Resource Name (ARN) of the flow definition.

                                                */ - HumanLoopConfig: HumanLoopConfig | undefined; + FlowDefinitionName: string | undefined; /** - *

                                                The reason your flow definition failed.

                                                + *

                                                The status of the flow definition. Valid values are listed below.

                                                */ - FailureReason?: string; + FlowDefinitionStatus: FlowDefinitionStatus | string | undefined; /** - *

                                                The Amazon Resource Name (ARN) of the flow defintion.

                                                + *

                                                An object containing information about the output file.

                                                */ - FlowDefinitionArn: string | undefined; + OutputConfig: FlowDefinitionOutputConfig | undefined; /** - *

                                                The Amazon Resource Name (ARN) of the flow definition.

                                                + *

                                                The timestamp when the flow definition was created.

                                                */ - FlowDefinitionName: string | undefined; + CreationTime: Date | undefined; } export namespace DescribeFlowDefinitionResponse { @@ -1270,14 +1341,14 @@ export enum HumanTaskUiStatus { */ export interface UiTemplateInfo { /** - *

                                                The SHA-256 digest of the contents of the template.

                                                + *

                                                The URL for the user interface template.

                                                */ - ContentSha256?: string; + Url?: string; /** - *

                                                The URL for the user interface template.

                                                + *

                                                The SHA-256 digest of the contents of the template.

                                                */ - Url?: string; + ContentSha256?: string; } export namespace UiTemplateInfo { @@ -1293,24 +1364,24 @@ export interface DescribeHumanTaskUiResponse { HumanTaskUiName: string | undefined; /** - *

                                                The Amazon Resource Name (ARN) of the human task user interface (worker task template).

                                                + *

                                                Container for user interface template information.

                                                */ - HumanTaskUiArn: string | undefined; + UiTemplate: UiTemplateInfo | undefined; /** - *

                                                The timestamp when the human task user interface was created.

                                                + *

                                                The Amazon Resource Name (ARN) of the human task user interface (worker task template).

                                                */ - CreationTime: Date | undefined; + HumanTaskUiArn: string | undefined; /** - *

                                                Container for user interface template information.

                                                + *

                                                The status of the human task user interface (worker task template). Valid values are listed below.

                                                */ - UiTemplate: UiTemplateInfo | undefined; + HumanTaskUiStatus?: HumanTaskUiStatus | string; /** - *

                                                The status of the human task user interface (worker task template). Valid values are listed below.

                                                + *

                                                The timestamp when the human task user interface was created.

                                                */ - HumanTaskUiStatus?: HumanTaskUiStatus | string; + CreationTime: Date | undefined; } export namespace DescribeHumanTaskUiResponse { @@ -1340,6 +1411,13 @@ export namespace DescribeHyperParameterTuningJobRequest { * HyperParameterTuningJobObjective parameter of HyperParameterTuningJobConfig.

                                                */ export interface FinalHyperParameterTuningJobObjectiveMetric { + /** + *

                                                The name of the + * objective + * metric.

                                                + */ + MetricName: string | undefined; + /** *

                                                Whether to * minimize @@ -1352,13 +1430,6 @@ export interface FinalHyperParameterTuningJobObjectiveMetric { *

                                                The value of the objective metric.

                                                */ Value: number | undefined; - - /** - *

                                                The name of the - * objective - * metric.

                                                - */ - MetricName: string | undefined; } export namespace FinalHyperParameterTuningJobObjectiveMetric { @@ -1381,22 +1452,14 @@ export enum TrainingJobStatus { */ export interface HyperParameterTrainingJobSummary { /** - *

                                                The date and time that the training job started.

                                                - */ - TrainingStartTime?: Date; - - /** - *

                                                The date and time that the training job was created.

                                                - */ - CreationTime: Date | undefined; - - /** - *

                                                Specifies the time when the training job ends on training instances. You are billed - * for the time interval between the value of TrainingStartTime and this time. - * For successful jobs and stopped jobs, this is the time after model artifacts are - * uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

                                                + *

                                                The FinalHyperParameterTuningJobObjectiveMetric object that + * specifies the + * value + * of the + * objective + * metric of the tuning job that launched this training job.

                                                */ - TrainingEndTime?: Date; + FinalHyperParameterTuningJobObjectiveMetric?: FinalHyperParameterTuningJobObjectiveMetric; /** *

                                                The @@ -1406,33 +1469,33 @@ export interface HyperParameterTrainingJobSummary { FailureReason?: string; /** - *

                                                The training job definition name.

                                                + *

                                                A + * list of the hyperparameters for which you specified ranges to + * search.

                                                */ - TrainingJobDefinitionName?: string; + TunedHyperParameters: { [key: string]: string } | undefined; /** - *

                                                The HyperParameter tuning job that launched the training job.

                                                + *

                                                The name of the training job.

                                                */ - TuningJobName?: string; + TrainingJobName: string | undefined; /** - *

                                                The - * status - * of the training job.

                                                + *

                                                The HyperParameter tuning job that launched the training job.

                                                */ - TrainingJobStatus: TrainingJobStatus | string | undefined; + TuningJobName?: string; /** - *

                                                A - * list of the hyperparameters for which you specified ranges to - * search.

                                                + *

                                                The + * Amazon + * Resource Name (ARN) of the training job.

                                                */ - TunedHyperParameters: { [key: string]: string } | undefined; + TrainingJobArn: string | undefined; /** - *

                                                The name of the training job.

                                                + *

                                                The date and time that the training job started.

                                                */ - TrainingJobName: string | undefined; + TrainingStartTime?: Date; /** *

                                                The status of the objective metric for the training job:

                                                @@ -1465,21 +1528,29 @@ export interface HyperParameterTrainingJobSummary { ObjectiveStatus?: ObjectiveStatus | string; /** - *

                                                The FinalHyperParameterTuningJobObjectiveMetric object that - * specifies the - * value - * of the - * objective - * metric of the tuning job that launched this training job.

                                                + *

                                                Specifies the time when the training job ends on training instances. You are billed + * for the time interval between the value of TrainingStartTime and this time. + * For successful jobs and stopped jobs, this is the time after model artifacts are + * uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

                                                */ - FinalHyperParameterTuningJobObjectiveMetric?: FinalHyperParameterTuningJobObjectiveMetric; + TrainingEndTime?: Date; /** *

                                                The - * Amazon - * Resource Name (ARN) of the training job.

                                                + * status + * of the training job.

                                                */ - TrainingJobArn: string | undefined; + TrainingJobStatus: TrainingJobStatus | string | undefined; + + /** + *

                                                The training job definition name.

                                                + */ + TrainingJobDefinitionName?: string; + + /** + *

                                                The date and time that the training job was created.

                                                + */ + CreationTime: Date | undefined; } export namespace HyperParameterTrainingJobSummary { @@ -1505,12 +1576,6 @@ export enum HyperParameterTuningJobStatus { * tuning job and used in the hyperparameter tuning process.

                                                */ export interface ObjectiveStatusCounters { - /** - *

                                                The number of training jobs that are in progress and pending evaluation of their final - * objective metric.

                                                - */ - Pending?: number; - /** *

                                                The number of training jobs whose final objective metric was not evaluated and used in * the hyperparameter tuning process. This typically occurs when the training job failed or @@ -1523,6 +1588,12 @@ export interface ObjectiveStatusCounters { * hyperparameter tuning job and used in the hyperparameter tuning process.

                                                */ Succeeded?: number; + + /** + *

                                                The number of training jobs that are in progress and pending evaluation of their final + * objective metric.

                                                + */ + Pending?: number; } export namespace ObjectiveStatusCounters { @@ -1537,35 +1608,35 @@ export namespace ObjectiveStatusCounters { */ export interface TrainingJobStatusCounters { /** - *

                                                The number of training jobs that failed, but can be retried. A failed training job can - * be retried only if it failed because an internal service error occurred.

                                                + *

                                                The number of in-progress training jobs launched by a hyperparameter tuning + * job.

                                                */ - RetryableError?: number; + InProgress?: number; /** - *

                                                The number of training jobs that failed and can't be retried. A failed training job - * can't be retried if it failed because a client error occurred.

                                                + *

                                                The number of training jobs launched by a hyperparameter tuning job that were + * manually + * stopped.

                                                */ - NonRetryableError?: number; + Stopped?: number; /** - *

                                                The number of completed training jobs launched by the hyperparameter tuning - * job.

                                                + *

                                                The number of training jobs that failed and can't be retried. A failed training job + * can't be retried if it failed because a client error occurred.

                                                */ - Completed?: number; + NonRetryableError?: number; /** - *

                                                The number of training jobs launched by a hyperparameter tuning job that were - * manually - * stopped.

                                                + *

                                                The number of training jobs that failed, but can be retried. A failed training job can + * be retried only if it failed because an internal service error occurred.

                                                */ - Stopped?: number; + RetryableError?: number; /** - *

                                                The number of in-progress training jobs launched by a hyperparameter tuning + *

                                                The number of completed training jobs launched by the hyperparameter tuning * job.

                                                */ - InProgress?: number; + Completed?: number; } export namespace TrainingJobStatusCounters { @@ -1576,36 +1647,34 @@ export namespace TrainingJobStatusCounters { export interface DescribeHyperParameterTuningJobResponse { /** - *

                                                The HyperParameterTuningJobConfig object that specifies the - * configuration of the tuning job.

                                                + *

                                                The + * Amazon Resource Name (ARN) of the tuning job.

                                                */ - HyperParameterTuningJobConfig: HyperParameterTuningJobConfig | undefined; + HyperParameterTuningJobArn: string | undefined; /** - *

                                                If the hyperparameter tuning job is an warm start tuning job with a - * WarmStartType of IDENTICAL_DATA_AND_ALGORITHM, this is the - * TrainingJobSummary for the training job with the best objective - * metric value of all training jobs launched by this tuning job and all parent jobs - * specified for the warm start tuning job.

                                                + *

                                                A list of the HyperParameterTrainingJobDefinition objects launched + * for this tuning job.

                                                */ - OverallBestTrainingJob?: HyperParameterTrainingJobSummary; + TrainingJobDefinitions?: HyperParameterTrainingJobDefinition[]; /** - *

                                                The TrainingJobStatusCounters object that specifies the number of - * training jobs, categorized by status, that this tuning job launched.

                                                + *

                                                The status of the tuning job: InProgress, Completed, Failed, Stopping, or + * Stopped.

                                                */ - TrainingJobStatusCounters: TrainingJobStatusCounters | undefined; + HyperParameterTuningJobStatus: HyperParameterTuningJobStatus | string | undefined; /** - *

                                                The date and time that the tuning job ended.

                                                + *

                                                The HyperParameterTuningJobConfig object that specifies the + * configuration of the tuning job.

                                                */ - HyperParameterTuningEndTime?: Date; + HyperParameterTuningJobConfig: HyperParameterTuningJobConfig | undefined; /** - *

                                                The HyperParameterTrainingJobDefinition object that specifies the - * definition of the training jobs that this tuning job launches.

                                                + *

                                                The TrainingJobStatusCounters object that specifies the number of + * training jobs, categorized by status, that this tuning job launched.

                                                */ - TrainingJobDefinition?: HyperParameterTrainingJobDefinition; + TrainingJobStatusCounters: TrainingJobStatusCounters | undefined; /** *

                                                The configuration for starting the hyperparameter parameter tuning job using one or @@ -1616,55 +1685,57 @@ export interface DescribeHyperParameterTuningJobResponse { WarmStartConfig?: HyperParameterTuningJobWarmStartConfig; /** - *

                                                The ObjectiveStatusCounters object that specifies the number of - * training jobs, categorized by the status of their final objective metric, that this - * tuning job launched.

                                                + *

                                                A TrainingJobSummary object that describes the training job that + * completed with the best current HyperParameterTuningJobObjective.

                                                */ - ObjectiveStatusCounters: ObjectiveStatusCounters | undefined; + BestTrainingJob?: HyperParameterTrainingJobSummary; /** - *

                                                The status of the tuning job: InProgress, Completed, Failed, Stopping, or - * Stopped.

                                                + *

                                                If the tuning job failed, the reason it failed.

                                                */ - HyperParameterTuningJobStatus: HyperParameterTuningJobStatus | string | undefined; + FailureReason?: string; /** - *

                                                A list of the HyperParameterTrainingJobDefinition objects launched - * for this tuning job.

                                                + *

                                                The name of the tuning job.

                                                */ - TrainingJobDefinitions?: HyperParameterTrainingJobDefinition[]; + HyperParameterTuningJobName: string | undefined; /** - *

                                                The date and time that the tuning job started.

                                                - */ - CreationTime: Date | undefined; + *

                                                If the hyperparameter tuning job is an warm start tuning job with a + * WarmStartType of IDENTICAL_DATA_AND_ALGORITHM, this is the + * TrainingJobSummary for the training job with the best objective + * metric value of all training jobs launched by this tuning job and all parent jobs + * specified for the warm start tuning job.

                                                + */ + OverallBestTrainingJob?: HyperParameterTrainingJobSummary; /** - *

                                                The date and time that the status of the tuning job was modified.

                                                + *

                                                The date and time that the tuning job ended.

                                                */ - LastModifiedTime?: Date; + HyperParameterTuningEndTime?: Date; /** - *

                                                The name of the tuning job.

                                                + *

                                                The date and time that the status of the tuning job was modified.

                                                */ - HyperParameterTuningJobName: string | undefined; + LastModifiedTime?: Date; /** - *

                                                A TrainingJobSummary object that describes the training job that - * completed with the best current HyperParameterTuningJobObjective.

                                                + *

                                                The date and time that the tuning job started.

                                                */ - BestTrainingJob?: HyperParameterTrainingJobSummary; + CreationTime: Date | undefined; /** - *

                                                The - * Amazon Resource Name (ARN) of the tuning job.

                                                + *

                                                The HyperParameterTrainingJobDefinition object that specifies the + * definition of the training jobs that this tuning job launches.

                                                */ - HyperParameterTuningJobArn: string | undefined; + TrainingJobDefinition?: HyperParameterTrainingJobDefinition; /** - *

                                                If the tuning job failed, the reason it failed.

                                                + *

                                                The ObjectiveStatusCounters object that specifies the number of + * training jobs, categorized by the status of their final objective metric, that this + * tuning job launched.

                                                */ - FailureReason?: string; + ObjectiveStatusCounters: ObjectiveStatusCounters | undefined; } export namespace DescribeHyperParameterTuningJobResponse { @@ -1691,9 +1762,9 @@ export namespace DescribeLabelingJobRequest { */ export interface LabelCounters { /** - *

                                                The total number of objects labeled by automated data labeling.

                                                + *

                                                The total number of objects not yet labeled.

                                                */ - MachineLabeled?: number; + Unlabeled?: number; /** *

                                                The total number of objects that could not be labeled due to an error.

                                                @@ -1711,9 +1782,9 @@ export interface LabelCounters { HumanLabeled?: number; /** - *

                                                The total number of objects not yet labeled.

                                                + *

                                                The total number of objects labeled by automated data labeling.

                                                */ - Unlabeled?: number; + MachineLabeled?: number; } export namespace LabelCounters { @@ -1755,58 +1826,22 @@ export enum LabelingJobStatus { export interface DescribeLabelingJobResponse { /** - *

                                                The date and time that the labeling job was last updated.

                                                - */ - LastModifiedTime: Date | undefined; - - /** - *

                                                The date and time that the labeling job was created.

                                                - */ - CreationTime: Date | undefined; - - /** - *

                                                Input configuration information for the labeling job, such as the Amazon S3 location of the - * data objects and the location of the manifest file that describes the data - * objects.

                                                - */ - InputConfig: LabelingJobInputConfig | undefined; - - /** - *

                                                Configuration information required for human workers to complete a labeling - * task.

                                                - */ - HumanTaskConfig: HumanTaskConfig | undefined; - - /** - *

                                                A set of conditions for stopping a labeling job. If any of the conditions are met, the - * job is automatically stopped.

                                                - */ - StoppingConditions?: LabelingJobStoppingConditions; - - /** - *

                                                Configuration information for automated data labeling.

                                                - */ - LabelingJobAlgorithmsConfig?: LabelingJobAlgorithmsConfig; - - /** - *

                                                The processing status of the labeling job.

                                                - */ - LabelingJobStatus: LabelingJobStatus | string | undefined; - - /** - *

                                                The Amazon Resource Name (ARN) of the labeling job.

                                                + *

                                                The name assigned to the labeling job when it was created.

                                                */ - LabelingJobArn: string | undefined; + LabelingJobName: string | undefined; /** - *

                                                If the job failed, the reason that it failed.

                                                + *

                                                An array of key/value pairs. For more information, see Using + * Cost Allocation Tags in the AWS Billing and Cost Management User + * Guide.

                                                */ - FailureReason?: string; + Tags?: Tag[]; /** - *

                                                The name assigned to the labeling job when it was created.

                                                + *

                                                The location of the job's output data and the AWS Key Management Service key ID for the key used to + * encrypt the output data, if any.

                                                */ - LabelingJobName: string | undefined; + OutputConfig: LabelingJobOutputConfig | undefined; /** *

                                                The S3 location of the JSON file that defines the categories used to label data @@ -1869,16 +1904,15 @@ export interface DescribeLabelingJobResponse { LabelCategoryConfigS3Uri?: string; /** - *

                                                An array of key/value pairs. For more information, see Using - * Cost Allocation Tags in the AWS Billing and Cost Management User - * Guide.

                                                + *

                                                Configuration information required for human workers to complete a labeling + * task.

                                                */ - Tags?: Tag[]; + HumanTaskConfig: HumanTaskConfig | undefined; /** - *

                                                The location of the output produced by the labeling job.

                                                + *

                                                Configuration information for automated data labeling.

                                                */ - LabelingJobOutput?: LabelingJobOutput; + LabelingJobAlgorithmsConfig?: LabelingJobAlgorithmsConfig; /** *

                                                The attribute used as the label in the output manifest file.

                                                @@ -1897,17 +1931,54 @@ export interface DescribeLabelingJobResponse { */ LabelCounters: LabelCounters | undefined; - /** - *

                                                The location of the job's output data and the AWS Key Management Service key ID for the key used to - * encrypt the output data, if any.

                                                - */ - OutputConfig: LabelingJobOutputConfig | undefined; - /** *

                                                The Amazon Resource Name (ARN) that Amazon SageMaker assumes to perform tasks on your behalf * during data labeling.

                                                */ RoleArn: string | undefined; + + /** + *

                                                The location of the output produced by the labeling job.

                                                + */ + LabelingJobOutput?: LabelingJobOutput; + + /** + *

                                                The processing status of the labeling job.

                                                + */ + LabelingJobStatus: LabelingJobStatus | string | undefined; + + /** + *

                                                The date and time that the labeling job was created.

                                                + */ + CreationTime: Date | undefined; + + /** + *

                                                The date and time that the labeling job was last updated.

                                                + */ + LastModifiedTime: Date | undefined; + + /** + *

                                                Input configuration information for the labeling job, such as the Amazon S3 location of the + * data objects and the location of the manifest file that describes the data + * objects.

                                                + */ + InputConfig: LabelingJobInputConfig | undefined; + + /** + *

                                                If the job failed, the reason that it failed.

                                                + */ + FailureReason?: string; + + /** + *

                                                The Amazon Resource Name (ARN) of the labeling job.

                                                + */ + LabelingJobArn: string | undefined; + + /** + *

                                                A set of conditions for stopping a labeling job. If any of the conditions are met, the + * job is automatically stopped.

                                                + */ + StoppingConditions?: LabelingJobStoppingConditions; } export namespace DescribeLabelingJobResponse { @@ -1931,17 +2002,14 @@ export namespace DescribeModelInput { export interface DescribeModelOutput { /** - *

                                                A VpcConfig object that specifies the VPC that this model has access - * to. For more information, see Protect Endpoints by Using an Amazon Virtual - * Private Cloud - *

                                                + *

                                                A timestamp that shows when the model was created.

                                                */ - VpcConfig?: VpcConfig; + CreationTime: Date | undefined; /** - *

                                                The Amazon Resource Name (ARN) of the model.

                                                + *

                                                The containers in the inference pipeline.

                                                */ - ModelArn: string | undefined; + Containers?: ContainerDefinition[]; /** *

                                                The Amazon Resource Name (ARN) of the IAM role that you specified for the @@ -1950,14 +2018,23 @@ export interface DescribeModelOutput { ExecutionRoleArn: string | undefined; /** - *

                                                The containers in the inference pipeline.

                                                + *

                                                The Amazon Resource Name (ARN) of the model.

                                                */ - Containers?: ContainerDefinition[]; + ModelArn: string | undefined; /** - *

                                                Name of the Amazon SageMaker model.

                                                + *

                                                If True, no inbound or outbound network calls can be made to or from the + * model container.

                                                */ - ModelName: string | undefined; + EnableNetworkIsolation?: boolean; + + /** + *

                                                A VpcConfig object that specifies the VPC that this model has access + * to. For more information, see Protect Endpoints by Using an Amazon Virtual + * Private Cloud + *

                                                + */ + VpcConfig?: VpcConfig; /** *

                                                The location of the primary inference code, associated artifacts, and custom @@ -1967,15 +2044,9 @@ export interface DescribeModelOutput { PrimaryContainer?: ContainerDefinition; /** - *

                                                A timestamp that shows when the model was created.

                                                - */ - CreationTime: Date | undefined; - - /** - *

                                                If True, no inbound or outbound network calls can be made to or from the - * model container.

                                                + *

                                                Name of the Amazon SageMaker model.

                                                */ - EnableNetworkIsolation?: boolean; + ModelName: string | undefined; } export namespace DescribeModelOutput { @@ -2016,6 +2087,11 @@ export enum DetailedModelPackageStatus { *

                                                Represents the overall status of a model package.

                                                */ export interface ModelPackageStatusItem { + /** + *

                                                The current status.

                                                + */ + Status: DetailedModelPackageStatus | string | undefined; + /** *

                                                if the overall status is Failed, the reason for the failure.

                                                */ @@ -2025,11 +2101,6 @@ export interface ModelPackageStatusItem { *

                                                The name of the model package for which the overall status is being reported.

                                                */ Name: string | undefined; - - /** - *

                                                The current status.

                                                - */ - Status: DetailedModelPackageStatus | string | undefined; } export namespace ModelPackageStatusItem { @@ -2043,14 +2114,14 @@ export namespace ModelPackageStatusItem { */ export interface ModelPackageStatusDetails { /** - *

                                                The validation status of the model package.

                                                + *

                                                The status of the scan of the Docker image container for the model package.

                                                */ - ValidationStatuses: ModelPackageStatusItem[] | undefined; + ImageScanStatuses?: ModelPackageStatusItem[]; /** - *

                                                The status of the scan of the Docker image container for the model package.

                                                + *

                                                The validation status of the model package.

                                                */ - ImageScanStatuses?: ModelPackageStatusItem[]; + ValidationStatuses: ModelPackageStatusItem[] | undefined; } export namespace ModelPackageStatusDetails { @@ -2061,24 +2132,24 @@ export namespace ModelPackageStatusDetails { export interface DescribeModelPackageOutput { /** - *

                                                The name of the model package being described.

                                                + *

                                                A brief summary of the model package.

                                                */ - ModelPackageName: string | undefined; + ModelPackageDescription?: string; /** - *

                                                A timestamp specifying when the model package was created.

                                                + *

                                                Whether the model package is certified for listing on AWS Marketplace.

                                                */ - CreationTime: Date | undefined; + CertifyForMarketplace?: boolean; /** - *

                                                The Amazon Resource Name (ARN) of the model package.

                                                + *

                                                The current status of the model package.

                                                */ - ModelPackageArn: string | undefined; + ModelPackageStatus: ModelPackageStatus | string | undefined; /** - *

                                                Details about the algorithm that was used to create the model package.

                                                + *

                                                A timestamp specifying when the model package was created.

                                                */ - SourceAlgorithmSpecification?: SourceAlgorithmSpecification; + CreationTime: Date | undefined; /** *

                                                Details about the current status of the model package.

                                                @@ -2092,25 +2163,25 @@ export interface DescribeModelPackageOutput { ValidationSpecification?: ModelPackageValidationSpecification; /** - *

                                                A brief summary of the model package.

                                                + *

                                                The name of the model package being described.

                                                */ - ModelPackageDescription?: string; + ModelPackageName: string | undefined; /** - *

                                                Whether the model package is certified for listing on AWS Marketplace.

                                                + *

                                                Details about inference jobs that can be run with models based on this model + * package.

                                                */ - CertifyForMarketplace?: boolean; + InferenceSpecification?: InferenceSpecification; /** - *

                                                The current status of the model package.

                                                + *

                                                Details about the algorithm that was used to create the model package.

                                                */ - ModelPackageStatus: ModelPackageStatus | string | undefined; + SourceAlgorithmSpecification?: SourceAlgorithmSpecification; /** - *

                                                Details about inference jobs that can be run with models based on this model - * package.

                                                + *

                                                The Amazon Resource Name (ARN) of the model package.

                                                */ - InferenceSpecification?: InferenceSpecification; + ModelPackageArn: string | undefined; } export namespace DescribeModelPackageOutput { @@ -2147,19 +2218,19 @@ export enum ExecutionStatus { */ export interface MonitoringExecutionSummary { /** - *

                                                The time the monitoring job was scheduled.

                                                + *

                                                The name of teh endpoint used to run the monitoring job.

                                                */ - ScheduledTime: Date | undefined; + EndpointName?: string; /** - *

                                                The Amazon Resource Name (ARN) of the monitoring job.

                                                + *

                                                The name of the monitoring schedule.

                                                */ - ProcessingJobArn?: string; + MonitoringScheduleName: string | undefined; /** - *

                                                The status of the monitoring job.

                                                + *

                                                The time at which the monitoring job was created.

                                                */ - MonitoringExecutionStatus: ExecutionStatus | string | undefined; + CreationTime: Date | undefined; /** *

                                                A timestamp that indicates the last time the monitoring job was modified.

                                                @@ -2167,24 +2238,24 @@ export interface MonitoringExecutionSummary { LastModifiedTime: Date | undefined; /** - *

                                                The time at which the monitoring job was created.

                                                + *

                                                The time the monitoring job was scheduled.

                                                */ - CreationTime: Date | undefined; + ScheduledTime: Date | undefined; /** - *

                                                The name of the monitoring schedule.

                                                + *

                                                Contains the reason a monitoring job failed, if it failed.

                                                */ - MonitoringScheduleName: string | undefined; + FailureReason?: string; /** - *

                                                Contains the reason a monitoring job failed, if it failed.

                                                + *

                                                The Amazon Resource Name (ARN) of the monitoring job.

                                                */ - FailureReason?: string; + ProcessingJobArn?: string; /** - *

                                                The name of teh endpoint used to run the monitoring job.

                                                + *

                                                The status of the monitoring job.

                                                */ - EndpointName?: string; + MonitoringExecutionStatus: ExecutionStatus | string | undefined; } export namespace MonitoringExecutionSummary { @@ -2202,51 +2273,51 @@ export enum ScheduleStatus { export interface DescribeMonitoringScheduleResponse { /** - *

                                                The status of an monitoring job.

                                                + *

                                                The time at which the monitoring job was created.

                                                */ - MonitoringScheduleStatus: ScheduleStatus | string | undefined; + CreationTime: Date | undefined; /** - *

                                                The name of the endpoint for the monitoring job.

                                                + *

                                                The time at which the monitoring job was last modified.

                                                */ - EndpointName?: string; + LastModifiedTime: Date | undefined; /** - *

                                                Describes metadata on the last execution to run, if there was one.

                                                + *

                                                A string, up to one KB in size, that contains the reason a monitoring job failed, if it + * failed.

                                                */ - LastMonitoringExecutionSummary?: MonitoringExecutionSummary; + FailureReason?: string; /** - *

                                                The configuration object that specifies the monitoring schedule and defines the - * monitoring job.

                                                + *

                                                Name of the monitoring schedule.

                                                */ - MonitoringScheduleConfig: MonitoringScheduleConfig | undefined; + MonitoringScheduleName: string | undefined; /** - *

                                                A string, up to one KB in size, that contains the reason a monitoring job failed, if it - * failed.

                                                + *

                                                The Amazon Resource Name (ARN) of the monitoring schedule.

                                                */ - FailureReason?: string; + MonitoringScheduleArn: string | undefined; /** - *

                                                The time at which the monitoring job was created.

                                                + *

                                                Describes metadata on the last execution to run, if there was one.

                                                */ - CreationTime: Date | undefined; + LastMonitoringExecutionSummary?: MonitoringExecutionSummary; /** - *

                                                The time at which the monitoring job was last modified.

                                                + *

                                                The configuration object that specifies the monitoring schedule and defines the + * monitoring job.

                                                */ - LastModifiedTime: Date | undefined; + MonitoringScheduleConfig: MonitoringScheduleConfig | undefined; /** - *

                                                Name of the monitoring schedule.

                                                + *

                                                The name of the endpoint for the monitoring job.

                                                */ - MonitoringScheduleName: string | undefined; + EndpointName?: string; /** - *

                                                The Amazon Resource Name (ARN) of the monitoring schedule.

                                                + *

                                                The status of an monitoring job.

                                                */ - MonitoringScheduleArn: string | undefined; + MonitoringScheduleStatus: ScheduleStatus | string | undefined; } export namespace DescribeMonitoringScheduleResponse { @@ -2280,63 +2351,66 @@ export enum NotebookInstanceStatus { export interface DescribeNotebookInstanceOutput { /** - *

                                                Whether root access is enabled or disabled for users of the notebook instance.

                                                - * - *

                                                Lifecycle configurations need root access to be able to set up a notebook - * instance. Because of this, lifecycle configurations associated with a notebook - * instance always run with root access even if you disable root access for - * users.

                                                - *
                                                + *

                                                The URL that you use to connect to the Jupyter notebook that is running in your + * notebook instance.

                                                */ - RootAccess?: RootAccess | string; + Url?: string; /** - *

                                                The name of the Amazon SageMaker notebook instance.

                                                + *

                                                A list of the Elastic Inference (EI) instance types associated with this notebook + * instance. Currently only one EI instance type can be associated with a notebook + * instance. For more information, see Using Elastic Inference in Amazon + * SageMaker.

                                                */ - NotebookInstanceName?: string; + AcceleratorTypes?: (NotebookInstanceAcceleratorType | string)[]; /** - *

                                                A timestamp. Use this parameter to return the time when the notebook instance was - * created

                                                + *

                                                Describes whether Amazon SageMaker provides internet access to the notebook instance. If this + * value is set to Disabled, the notebook instance does not have + * internet access, and cannot connect to Amazon SageMaker training and endpoint services.

                                                + *

                                                For more information, see Notebook Instances Are Internet-Enabled by Default.

                                                */ - CreationTime?: Date; + DirectInternetAccess?: DirectInternetAccess | string; /** - *

                                                A timestamp. Use this parameter to retrieve the time when the notebook instance was - * last modified.

                                                + *

                                                The ID of the VPC subnet.

                                                */ - LastModifiedTime?: Date; + SubnetId?: string; /** - *

                                                The URL that you use to connect to the Jupyter notebook that is running in your - * notebook instance.

                                                + *

                                                If status is Failed, the reason it failed.

                                                */ - Url?: string; + FailureReason?: string; /** - *

                                                The network interface IDs that Amazon SageMaker created at the time of creating the instance. - *

                                                + *

                                                The Git repository associated with the notebook instance as its default code + * repository. This can be either the name of a Git repository stored as a resource in your + * account, or the URL of a Git repository in AWS CodeCommit or in any + * other Git repository. When you open a notebook instance, it opens in the directory that + * contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker + * Notebook Instances.

                                                */ - NetworkInterfaceId?: string; + DefaultCodeRepository?: string; /** - *

                                                A list of the Elastic Inference (EI) instance types associated with this notebook - * instance. Currently only one EI instance type can be associated with a notebook - * instance. For more information, see Using Elastic Inference in Amazon - * SageMaker.

                                                + *

                                                An array of up to three Git repositories associated with the notebook instance. These + * can be either the names of Git repositories stored as resources in your account, or the + * URL of Git repositories in AWS CodeCommit or in any + * other Git repository. These repositories are cloned at the same level as the default + * repository of your notebook instance. For more information, see Associating Git + * Repositories with Amazon SageMaker Notebook Instances.

                                                */ - AcceleratorTypes?: (NotebookInstanceAcceleratorType | string)[]; + AdditionalCodeRepositories?: string[]; /** - *

                                                The Amazon Resource Name (ARN) of the IAM role associated with the instance. - *

                                                + *

                                                The status of the notebook instance.

                                                */ - RoleArn?: string; + NotebookInstanceStatus?: NotebookInstanceStatus | string; /** - *

                                                The size, in GB, of the ML storage volume attached to the notebook instance.

                                                + *

                                                The type of ML compute instance running on the notebook instance.

                                                */ - VolumeSizeInGB?: number; + InstanceType?: _InstanceType | string; /** *

                                                Returns the name of a notebook instance lifecycle configuration.

                                                @@ -2347,68 +2421,65 @@ export interface DescribeNotebookInstanceOutput { NotebookInstanceLifecycleConfigName?: string; /** - *

                                                Describes whether Amazon SageMaker provides internet access to the notebook instance. If this - * value is set to Disabled, the notebook instance does not have - * internet access, and cannot connect to Amazon SageMaker training and endpoint services.

                                                - *

                                                For more information, see Notebook Instances Are Internet-Enabled by Default.

                                                + *

                                                The AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage + * volume attached to the instance.

                                                */ - DirectInternetAccess?: DirectInternetAccess | string; + KmsKeyId?: string; /** - *

                                                The Amazon Resource Name (ARN) of the notebook instance.

                                                + *

                                                The size, in GB, of the ML storage volume attached to the notebook instance.

                                                */ - NotebookInstanceArn?: string; + VolumeSizeInGB?: number; /** - *

                                                The AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage - * volume attached to the instance.

                                                + *

                                                The IDs of the VPC security groups.

                                                */ - KmsKeyId?: string; + SecurityGroups?: string[]; /** - *

                                                The ID of the VPC subnet.

                                                + *

                                                The Amazon Resource Name (ARN) of the IAM role associated with the instance. + *

                                                */ - SubnetId?: string; + RoleArn?: string; /** - *

                                                An array of up to three Git repositories associated with the notebook instance. These - * can be either the names of Git repositories stored as resources in your account, or the - * URL of Git repositories in AWS CodeCommit or in any - * other Git repository. These repositories are cloned at the same level as the default - * repository of your notebook instance. For more information, see Associating Git - * Repositories with Amazon SageMaker Notebook Instances.

                                                + *

                                                The network interface IDs that Amazon SageMaker created at the time of creating the instance. + *

                                                */ - AdditionalCodeRepositories?: string[]; + NetworkInterfaceId?: string; /** - *

                                                The type of ML compute instance running on the notebook instance.

                                                + *

                                                The Amazon Resource Name (ARN) of the notebook instance.

                                                */ - InstanceType?: _InstanceType | string; + NotebookInstanceArn?: string; /** - *

                                                The IDs of the VPC security groups.

                                                + *

                                                The name of the Amazon SageMaker notebook instance.

                                                */ - SecurityGroups?: string[]; + NotebookInstanceName?: string; /** - *

                                                The Git repository associated with the notebook instance as its default code - * repository. This can be either the name of a Git repository stored as a resource in your - * account, or the URL of a Git repository in AWS CodeCommit or in any - * other Git repository. When you open a notebook instance, it opens in the directory that - * contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker - * Notebook Instances.

                                                + *

                                                A timestamp. Use this parameter to retrieve the time when the notebook instance was + * last modified.

                                                */ - DefaultCodeRepository?: string; + LastModifiedTime?: Date; /** - *

                                                The status of the notebook instance.

                                                + *

                                                A timestamp. Use this parameter to return the time when the notebook instance was + * created

                                                */ - NotebookInstanceStatus?: NotebookInstanceStatus | string; + CreationTime?: Date; /** - *

                                                If status is Failed, the reason it failed.

                                                + *

                                                Whether root access is enabled or disabled for users of the notebook instance.

                                                + * + *

                                                Lifecycle configurations need root access to be able to set up a notebook + * instance. Because of this, lifecycle configurations associated with a notebook + * instance always run with root access even if you disable root access for + * users.

                                                + *
                                                */ - FailureReason?: string; + RootAccess?: RootAccess | string; } export namespace DescribeNotebookInstanceOutput { @@ -2432,10 +2503,9 @@ export namespace DescribeNotebookInstanceLifecycleConfigInput { export interface DescribeNotebookInstanceLifecycleConfigOutput { /** - *

                                                The shell script that runs every time you start a notebook instance, including when - * you create the notebook instance.

                                                + *

                                                The Amazon Resource Name (ARN) of the lifecycle configuration.

                                                */ - OnStart?: NotebookInstanceLifecycleHook[]; + NotebookInstanceLifecycleConfigArn?: string; /** *

                                                A timestamp that tells when the lifecycle configuration was last modified.

                                                @@ -2447,11 +2517,6 @@ export interface DescribeNotebookInstanceLifecycleConfigOutput { */ CreationTime?: Date; - /** - *

                                                The Amazon Resource Name (ARN) of the lifecycle configuration.

                                                - */ - NotebookInstanceLifecycleConfigArn?: string; - /** *

                                                The shell script that runs only once, when you create a notebook instance.

                                                */ @@ -2461,6 +2526,12 @@ export interface DescribeNotebookInstanceLifecycleConfigOutput { *

                                                The name of the lifecycle configuration.

                                                */ NotebookInstanceLifecycleConfigName?: string; + + /** + *

                                                The shell script that runs every time you start a notebook instance, including when + * you create the notebook instance.

                                                + */ + OnStart?: NotebookInstanceLifecycleHook[]; } export namespace DescribeNotebookInstanceLifecycleConfigOutput { @@ -2493,36 +2564,24 @@ export enum ProcessingJobStatus { export interface DescribeProcessingJobResponse { /** - *

                                                The ARN of a monitoring schedule for an endpoint associated with this processing - * job.

                                                - */ - MonitoringScheduleArn?: string; - - /** - *

                                                The time at which the processing job started.

                                                - */ - ProcessingStartTime?: Date; - - /** - *

                                                The configuration information used to create an experiment.

                                                + *

                                                The ARN of a training job associated with this processing job.

                                                */ - ExperimentConfig?: ExperimentConfig; + TrainingJobArn?: string; /** - *

                                                The time limit for how long the processing job is allowed to run.

                                                + *

                                                Configures the processing job to run a specified container image.

                                                */ - StoppingCondition?: ProcessingStoppingCondition; + AppSpecification: AppSpecification | undefined; /** - *

                                                Identifies the resources, ML compute instances, and ML storage volumes to deploy for a - * processing job. In distributed training, you specify more than one instance.

                                                + *

                                                The environment variables set in the Docker container.

                                                */ - ProcessingResources: ProcessingResources | undefined; + Environment?: { [key: string]: string }; /** - *

                                                Networking options for a processing job.

                                                + *

                                                The configuration information used to create an experiment.

                                                */ - NetworkConfig?: NetworkConfig; + ExperimentConfig?: ExperimentConfig; /** *

                                                The ARN of an AutoML job associated with this processing job.

                                                @@ -2536,25 +2595,25 @@ export interface DescribeProcessingJobResponse { FailureReason?: string; /** - *

                                                The ARN of a training job associated with this processing job.

                                                + *

                                                The ARN of a monitoring schedule for an endpoint associated with this processing + * job.

                                                */ - TrainingJobArn?: string; + MonitoringScheduleArn?: string; /** - *

                                                The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on - * your behalf.

                                                + *

                                                Output configuration for the processing job.

                                                */ - RoleArn?: string; + ProcessingOutputConfig?: ProcessingOutputConfig; /** - *

                                                The time at which the processing job completed.

                                                + *

                                                Networking options for a processing job.

                                                */ - ProcessingEndTime?: Date; + NetworkConfig?: NetworkConfig; /** - *

                                                The inputs for a processing job.

                                                + *

                                                The time at which the processing job started.

                                                */ - ProcessingInputs?: ProcessingInput[]; + ProcessingStartTime?: Date; /** *

                                                The name of the processing job. The name must be unique within an AWS Region in the @@ -2563,9 +2622,9 @@ export interface DescribeProcessingJobResponse { ProcessingJobName: string | undefined; /** - *

                                                The Amazon Resource Name (ARN) of the processing job.

                                                + *

                                                The time at which the processing job completed.

                                                */ - ProcessingJobArn: string | undefined; + ProcessingEndTime?: Date; /** *

                                                An optional string, up to one KB in size, that contains metadata from the processing @@ -2574,34 +2633,46 @@ export interface DescribeProcessingJobResponse { ExitMessage?: string; /** - *

                                                Provides the status of a processing job.

                                                + *

                                                The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on + * your behalf.

                                                */ - ProcessingJobStatus: ProcessingJobStatus | string | undefined; + RoleArn?: string; /** - *

                                                Configures the processing job to run a specified container image.

                                                + *

                                                The Amazon Resource Name (ARN) of the processing job.

                                                */ - AppSpecification: AppSpecification | undefined; + ProcessingJobArn: string | undefined; /** - *

                                                Output configuration for the processing job.

                                                + *

                                                The time at which the processing job was created.

                                                */ - ProcessingOutputConfig?: ProcessingOutputConfig; + CreationTime: Date | undefined; /** - *

                                                The time at which the processing job was created.

                                                + *

                                                The time at which the processing job was last modified.

                                                */ - CreationTime: Date | undefined; + LastModifiedTime?: Date; /** - *

                                                The environment variables set in the Docker container.

                                                + *

                                                Provides the status of a processing job.

                                                */ - Environment?: { [key: string]: string }; + ProcessingJobStatus: ProcessingJobStatus | string | undefined; /** - *

                                                The time at which the processing job was last modified.

                                                + *

                                                The time limit for how long the processing job is allowed to run.

                                                */ - LastModifiedTime?: Date; + StoppingCondition?: ProcessingStoppingCondition; + + /** + *

                                                Identifies the resources, ML compute instances, and ML storage volumes to deploy for a + * processing job. In distributed training, you specify more than one instance.

                                                + */ + ProcessingResources: ProcessingResources | undefined; + + /** + *

                                                The inputs for a processing job.

                                                + */ + ProcessingInputs?: ProcessingInput[]; } export namespace DescribeProcessingJobResponse { @@ -2627,15 +2698,20 @@ export namespace DescribeSubscribedWorkteamRequest { *

                                                Describes a work team of a vendor that does the a labelling job.

                                                */ export interface SubscribedWorkteam { + /** + *

                                                The description of the vendor from the Amazon Marketplace.

                                                + */ + MarketplaceDescription?: string; + /** *

                                                The Amazon Resource Name (ARN) of the vendor that you have subscribed.

                                                */ WorkteamArn: string | undefined; /** - *

                                                The title of the service provided by the vendor in the Amazon Marketplace.

                                                + *

                                                The name of the vendor in the Amazon Marketplace.

                                                */ - MarketplaceTitle?: string; + SellerName?: string; /** *

                                                Marketplace product listing ID.

                                                @@ -2643,14 +2719,9 @@ export interface SubscribedWorkteam { ListingId?: string; /** - *

                                                The description of the vendor from the Amazon Marketplace.

                                                - */ - MarketplaceDescription?: string; - - /** - *

                                                The name of the vendor in the Amazon Marketplace.

                                                + *

                                                The title of the service provided by the vendor in the Amazon Marketplace.

                                                */ - SellerName?: string; + MarketplaceTitle?: string; } export namespace SubscribedWorkteam { @@ -2695,14 +2766,14 @@ export interface MetricData { MetricName?: string; /** - *

                                                The date and time that the algorithm emitted the metric.

                                                + *

                                                The value of the metric.

                                                */ - Timestamp?: Date; + Value?: number; /** - *

                                                The value of the metric.

                                                + *

                                                The date and time that the algorithm emitted the metric.

                                                */ - Value?: number; + Timestamp?: Date; } export namespace MetricData { @@ -2811,10 +2882,10 @@ export interface SecondaryStatusTransition { StatusMessage?: string; /** - *

                                                A timestamp that shows when the training job transitioned to the current secondary - * status state.

                                                + *

                                                A timestamp that shows when the training job transitioned out of this secondary status + * state into another secondary status state or when the training job has ended.

                                                */ - StartTime: Date | undefined; + EndTime?: Date; /** *

                                                Contains a secondary status information from a training @@ -2912,10 +2983,10 @@ export interface SecondaryStatusTransition { Status: SecondaryStatus | string | undefined; /** - *

                                                A timestamp that shows when the training job transitioned out of this secondary status - * state into another secondary status state or when the training job has ended.

                                                + *

                                                A timestamp that shows when the training job transitioned to the current secondary + * status state.

                                                */ - EndTime?: Date; + StartTime: Date | undefined; } export namespace SecondaryStatusTransition { @@ -2926,9 +2997,145 @@ export namespace SecondaryStatusTransition { export interface DescribeTrainingJobResponse { /** - *

                                                Configuration of storage locations for TensorBoard output.

                                                + *

                                                To encrypt all communications between ML compute instances in distributed training, + * choose True. Encryption provides greater security for distributed training, + * but training might take longer. How long it takes depends on the amount of communication + * between compute instances, especially if you use a deep learning algorithms in + * distributed training.

                                                */ - TensorBoardOutputConfig?: TensorBoardOutputConfig; + EnableInterContainerTrafficEncryption?: boolean; + + /** + *

                                                The status of the + * training + * job.

                                                + *

                                                Amazon SageMaker provides the following training job statuses:

                                                + *
                                                  + *
                                                • + *

                                                  + * InProgress - The training is in progress.

                                                  + *
                                                • + *
                                                • + *

                                                  + * Completed - The training job has completed.

                                                  + *
                                                • + *
                                                • + *

                                                  + * Failed - The training job has failed. To see the reason for the + * failure, see the FailureReason field in the response to a + * DescribeTrainingJobResponse call.

                                                  + *
                                                • + *
                                                • + *

                                                  + * Stopping - The training job is stopping.

                                                  + *
                                                • + *
                                                • + *

                                                  + * Stopped - The training job has stopped.

                                                  + *
                                                • + *
                                                + *

                                                For + * more detailed information, see SecondaryStatus.

                                                + */ + TrainingJobStatus: TrainingJobStatus | string | undefined; + + /** + *

                                                The billable time in seconds.

                                                + *

                                                You can calculate the savings from using managed spot training using the formula + * (1 - BillableTimeInSeconds / TrainingTimeInSeconds) * 100. For example, + * if BillableTimeInSeconds is 100 and TrainingTimeInSeconds is + * 500, the savings is 80%.

                                                + */ + BillableTimeInSeconds?: number; + + /** + *

                                                Configuration information for debugging rules.

                                                + */ + DebugRuleConfigurations?: DebugRuleConfiguration[]; + + /** + *

                                                The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the + * training job was launched by a hyperparameter tuning job.

                                                + */ + TuningJobArn?: string; + + /** + *

                                                The Amazon Resource Name (ARN) of the training job.

                                                + */ + TrainingJobArn: string | undefined; + + /** + *

                                                Specifies a limit to how long a model training job can run. It also specifies the + * maximum time to wait for a spot instance. When the job reaches the time limit, Amazon SageMaker ends + * the training job. Use this API to cap model training costs.

                                                + *

                                                To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays + * job termination for 120 seconds. Algorithms can use this 120-second window to save the + * model artifacts, so the results of training are not lost.

                                                + */ + StoppingCondition: StoppingCondition | undefined; + + /** + *

                                                Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                                + * + */ + ExperimentConfig?: ExperimentConfig; + + /** + *

                                                A history of all of the secondary statuses that the training job has transitioned + * through.

                                                + */ + SecondaryStatusTransitions?: SecondaryStatusTransition[]; + + /** + *

                                                A Boolean indicating whether managed spot training is enabled (True) or + * not (False).

                                                + */ + EnableManagedSpotTraining?: boolean; + + /** + *

                                                An array of Channel objects that describes each data input channel. + *

                                                + */ + InputDataConfig?: Channel[]; + + /** + *

                                                Contains information about the output location for managed spot training checkpoint + * data.

                                                + */ + CheckpointConfig?: CheckpointConfig; + + /** + *

                                                A collection of MetricData objects that specify the names, values, and + * dates and times that the training algorithm emitted to Amazon CloudWatch.

                                                + */ + FinalMetricDataList?: MetricData[]; + + /** + *

                                                Name of the model training job.

                                                + */ + TrainingJobName: string | undefined; + + /** + *

                                                Algorithm-specific parameters.

                                                + */ + HyperParameters?: { [key: string]: string }; /** *

                                                If the training job failed, the reason it failed.

                                                @@ -2942,13 +3149,19 @@ export interface DescribeTrainingJobResponse { LabelingJobArn?: string; /** - *

                                                If you want to allow inbound or outbound network calls, except for calls between peers - * within a training cluster for distributed training, choose True. If you - * enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker - * downloads and uploads customer data and model artifacts through the specified VPC, but - * the training container does not have network access.

                                                + *

                                                Indicates the time when the training job starts on training instances. You are + * billed for the time interval between this time and the value of + * TrainingEndTime. The start time in CloudWatch Logs might be later than this time. + * The difference is due to the time it takes to download the training data and to the size + * of the training container.

                                                */ - EnableNetworkIsolation?: boolean; + TrainingStartTime?: Date; + + /** + *

                                                Information about the algorithm used for training, and algorithm metadata. + *

                                                + */ + AlgorithmSpecification: AlgorithmSpecification | undefined; /** *

                                                Indicates the time when the training job ends on training instances. You are billed @@ -2959,10 +3172,10 @@ export interface DescribeTrainingJobResponse { TrainingEndTime?: Date; /** - *

                                                Contains information about the output location for managed spot training checkpoint - * data.

                                                + *

                                                A timestamp that indicates when the status of the training job was last + * modified.

                                                */ - CheckpointConfig?: CheckpointConfig; + LastModifiedTime?: Date; /** *

                                                A timestamp that indicates when the training job was created.

                                                @@ -2970,27 +3183,58 @@ export interface DescribeTrainingJobResponse { CreationTime: Date | undefined; /** - *

                                                A timestamp that indicates when the status of the training job was last - * modified.

                                                + *

                                                Status about the debug rule evaluation.

                                                */ - LastModifiedTime?: Date; + DebugRuleEvaluationStatuses?: DebugRuleEvaluationStatus[]; /** - *

                                                Resources, including ML compute instances and ML storage volumes, that are - * configured for model training.

                                                + *

                                                Information about the Amazon S3 location that is configured for storing model artifacts. + *

                                                */ - ResourceConfig: ResourceConfig | undefined; + ModelArtifacts: ModelArtifacts | undefined; /** - *

                                                A collection of MetricData objects that specify the names, values, and - * dates and times that the training algorithm emitted to Amazon CloudWatch.

                                                + *

                                                The S3 path where model artifacts that you configured when creating the job are + * stored. Amazon SageMaker creates subfolders for model artifacts.

                                                */ - FinalMetricDataList?: MetricData[]; + OutputDataConfig?: OutputDataConfig; /** - *

                                                Name of the model training job.

                                                + *

                                                Configuration of storage locations for TensorBoard output.

                                                */ - TrainingJobName: string | undefined; + TensorBoardOutputConfig?: TensorBoardOutputConfig; + + /** + *

                                                The training time in seconds.

                                                + */ + TrainingTimeInSeconds?: number; + + /** + *

                                                If you want to allow inbound or outbound network calls, except for calls between peers + * within a training cluster for distributed training, choose True. If you + * enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker + * downloads and uploads customer data and model artifacts through the specified VPC, but + * the training container does not have network access.

                                                + */ + EnableNetworkIsolation?: boolean; + + /** + *

                                                A VpcConfig object that specifies the VPC that this training job has + * access to. For more information, see Protect Training Jobs by Using an Amazon + * Virtual Private Cloud.

                                                + */ + VpcConfig?: VpcConfig; + + /** + *

                                                Configuration information for the debug hook parameters, collection configuration, and + * storage paths.

                                                + */ + DebugHookConfig?: DebugHookConfig; + + /** + *

                                                The AWS Identity and Access Management (IAM) role configured for the training job.

                                                + */ + RoleArn?: string; /** *

                                                Provides detailed information about the state of the training job. For detailed @@ -3059,7 +3303,7 @@ export interface DescribeTrainingJobResponse { * *

                                              • *

                                                - * MaxWaitTmeExceeded - The job stopped because it + * MaxWaitTimeExceeded - The job stopped because it * exceeded the maximum allowed wait time.

                                                *
                                              • *
                                              • @@ -3088,204 +3332,31 @@ export interface DescribeTrainingJobResponse { *

                                                * LaunchingMLInstances *

                                                - *
                                              • - *
                                              • - *

                                                - * PreparingTrainingStack - *

                                                - *
                                              • - *
                                              • - *

                                                - * DownloadingTrainingImage - *

                                                - *
                                              • - *
                                              - */ - SecondaryStatus: SecondaryStatus | string | undefined; - - /** - *

                                              An array of Channel objects that describes each data input channel. - *

                                              - */ - InputDataConfig?: Channel[]; - - /** - *

                                              The billable time in seconds.

                                              - *

                                              You can calculate the savings from using managed spot training using the formula - * (1 - BillableTimeInSeconds / TrainingTimeInSeconds) * 100. For example, - * if BillableTimeInSeconds is 100 and TrainingTimeInSeconds is - * 500, the savings is 80%.

                                              - */ - BillableTimeInSeconds?: number; - - /** - *

                                              The AWS Identity and Access Management (IAM) role configured for the training job.

                                              - */ - RoleArn?: string; - - /** - *

                                              Information about the Amazon S3 location that is configured for storing model artifacts. - *

                                              - */ - ModelArtifacts: ModelArtifacts | undefined; - - /** - *

                                              Specifies a limit to how long a model training job can run. It also specifies the - * maximum time to wait for a spot instance. When the job reaches the time limit, Amazon SageMaker ends - * the training job. Use this API to cap model training costs.

                                              - *

                                              To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays - * job termination for 120 seconds. Algorithms can use this 120-second window to save the - * model artifacts, so the results of training are not lost.

                                              - */ - StoppingCondition: StoppingCondition | undefined; - - /** - *

                                              Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                              - * - */ - ExperimentConfig?: ExperimentConfig; - - /** - *

                                              The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the - * training job was launched by a hyperparameter tuning job.

                                              - */ - TuningJobArn?: string; - - /** - *

                                              Configuration information for debugging rules.

                                              - */ - DebugRuleConfigurations?: DebugRuleConfiguration[]; - - /** - *

                                              The Amazon Resource Name (ARN) of an AutoML job.

                                              - */ - AutoMLJobArn?: string; - - /** - *

                                              To encrypt all communications between ML compute instances in distributed training, - * choose True. Encryption provides greater security for distributed training, - * but training might take longer. How long it takes depends on the amount of communication - * between compute instances, especially if you use a deep learning algorithms in - * distributed training.

                                              - */ - EnableInterContainerTrafficEncryption?: boolean; - - /** - *

                                              A VpcConfig object that specifies the VPC that this training job has - * access to. For more information, see Protect Training Jobs by Using an Amazon - * Virtual Private Cloud.

                                              - */ - VpcConfig?: VpcConfig; - - /** - *

                                              The status of the - * training - * job.

                                              - *

                                              Amazon SageMaker provides the following training job statuses:

                                              - *
                                                - *
                                              • - *

                                                - * InProgress - The training is in progress.

                                                - *
                                              • - *
                                              • - *

                                                - * Completed - The training job has completed.

                                                - *
                                              • - *
                                              • - *

                                                - * Failed - The training job has failed. To see the reason for the - * failure, see the FailureReason field in the response to a - * DescribeTrainingJobResponse call.

                                                - *
                                              • - *
                                              • - *

                                                - * Stopping - The training job is stopping.

                                                - *
                                              • - *
                                              • - *

                                                - * Stopped - The training job has stopped.

                                                - *
                                              • - *
                                              - *

                                              For - * more detailed information, see SecondaryStatus.

                                              - */ - TrainingJobStatus: TrainingJobStatus | string | undefined; - - /** - *

                                              A history of all of the secondary statuses that the training job has transitioned - * through.

                                              - */ - SecondaryStatusTransitions?: SecondaryStatusTransition[]; - - /** - *

                                              A Boolean indicating whether managed spot training is enabled (True) or - * not (False).

                                              - */ - EnableManagedSpotTraining?: boolean; - - /** - *

                                              Configuration information for the debug hook parameters, collection configuration, and - * storage paths.

                                              - */ - DebugHookConfig?: DebugHookConfig; - - /** - *

                                              The S3 path where model artifacts that you configured when creating the job are - * stored. Amazon SageMaker creates subfolders for model artifacts.

                                              - */ - OutputDataConfig?: OutputDataConfig; - - /** - *

                                              Information about the algorithm used for training, and algorithm metadata. - *

                                              - */ - AlgorithmSpecification: AlgorithmSpecification | undefined; - - /** - *

                                              Indicates the time when the training job starts on training instances. You are - * billed for the time interval between this time and the value of - * TrainingEndTime. The start time in CloudWatch Logs might be later than this time. - * The difference is due to the time it takes to download the training data and to the size - * of the training container.

                                              - */ - TrainingStartTime?: Date; - - /** - *

                                              The Amazon Resource Name (ARN) of the training job.

                                              - */ - TrainingJobArn: string | undefined; - - /** - *

                                              The training time in seconds.

                                              + * + *
                                            • + *

                                              + * PreparingTrainingStack + *

                                              + *
                                            • + *
                                            • + *

                                              + * DownloadingTrainingImage + *

                                              + *
                                            • + *
                                            */ - TrainingTimeInSeconds?: number; + SecondaryStatus: SecondaryStatus | string | undefined; /** - *

                                            Status about the debug rule evaluation.

                                            + *

                                            Resources, including ML compute instances and ML storage volumes, that are + * configured for model training.

                                            */ - DebugRuleEvaluationStatuses?: DebugRuleEvaluationStatus[]; + ResourceConfig: ResourceConfig | undefined; /** - *

                                            Algorithm-specific parameters.

                                            + *

                                            The Amazon Resource Name (ARN) of an AutoML job.

                                            */ - HyperParameters?: { [key: string]: string }; + AutoMLJobArn?: string; } export namespace DescribeTrainingJobResponse { @@ -3317,14 +3388,9 @@ export enum TransformJobStatus { export interface DescribeTransformJobResponse { /** - *

                                            The name of the model used in the transform job.

                                            - */ - ModelName: string | undefined; - - /** - *

                                            A timestamp that shows when the transform Job was created.

                                            + *

                                            The Amazon Resource Name (ARN) of the AutoML transform job.

                                            */ - CreationTime: Date | undefined; + AutoMLJobArn?: string; /** *

                                            Specifies the number of records to include in a mini-batch for an HTTP inference @@ -3340,16 +3406,40 @@ export interface DescribeTransformJobResponse { BatchStrategy?: BatchStrategy | string; /** - *

                                            The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the - * transform or training job.

                                            + *

                                            If the transform job failed, FailureReason describes + * why + * it failed. A transform job creates a log file, which includes error + * messages, and stores it + * as + * an Amazon S3 object. For more information, see Log Amazon SageMaker Events with + * Amazon CloudWatch.

                                            */ - LabelingJobArn?: string; + FailureReason?: string; /** *

                                            The name of the transform job.

                                            */ TransformJobName: string | undefined; + /** + *

                                            The + * status of the transform job. If the transform job failed, the reason + * is returned in the FailureReason field.

                                            + */ + TransformJobStatus: TransformJobStatus | string | undefined; + + /** + *

                                            The timeout and maximum number of retries for processing a transform job + * invocation.

                                            + */ + ModelClientConfig?: ModelClientConfig; + + /** + *

                                            The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the + * transform or training job.

                                            + */ + LabelingJobArn?: string; + /** *

                                            Associates a SageMaker job as a trial component with an experiment and trial. Specified when * you call the following APIs:

                                            @@ -3374,54 +3464,48 @@ export interface DescribeTransformJobResponse { ExperimentConfig?: ExperimentConfig; /** - *

                                            The - * maximum - * payload size, in MB, used in the - * transform job.

                                            + *

                                            A timestamp that shows when the transform Job was created.

                                            */ - MaxPayloadInMB?: number; + CreationTime: Date | undefined; /** - *

                                            If the transform job failed, FailureReason describes - * why - * it failed. A transform job creates a log file, which includes error - * messages, and stores it - * as - * an Amazon S3 object. For more information, see Log Amazon SageMaker Events with - * Amazon CloudWatch.

                                            + *

                                            Describes + * the resources, including ML instance types and ML instance count, to + * use for the transform job.

                                            */ - FailureReason?: string; + TransformResources: TransformResources | undefined; /** - *

                                            The Amazon Resource Name (ARN) of the AutoML transform job.

                                            + *

                                            The Amazon Resource Name (ARN) of the transform job.

                                            */ - AutoMLJobArn?: string; + TransformJobArn: string | undefined; /** *

                                            The - * status of the transform job. If the transform job failed, the reason - * is returned in the FailureReason field.

                                            + * environment variables to set in the Docker container. We support up to 16 key and values + * entries in the map.

                                            */ - TransformJobStatus: TransformJobStatus | string | undefined; + Environment?: { [key: string]: string }; /** - *

                                            Indicates when the transform job has been - * - * completed, or has stopped or failed. You are billed for the time - * interval between this time and the value of TransformStartTime.

                                            + *

                                            Describes the dataset to be transformed and the Amazon S3 location where it is + * stored.

                                            */ - TransformEndTime?: Date; + TransformInput: TransformInput | undefined; /** - *

                                            The data structure used to specify the data to be used for inference in a batch - * transform job and to associate the data that is relevant to the prediction results in - * the output. The input filter provided allows you to exclude input data that is not - * needed for inference in a batch transform job. The output filter provided allows you to - * include input data relevant to interpreting the predictions in the output from the job. - * For more information, see Associate Prediction - * Results with their Corresponding Input Records.

                                            + *

                                            The + * maximum + * payload size, in MB, used in the + * transform job.

                                            */ - DataProcessing?: DataProcessing; + MaxPayloadInMB?: number; + + /** + *

                                            Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the + * transform job.

                                            + */ + TransformOutput?: TransformOutput; /** *

                                            The @@ -3433,17 +3517,9 @@ export interface DescribeTransformJobResponse { MaxConcurrentTransforms?: number; /** - *

                                            Describes - * the resources, including ML instance types and ML instance count, to - * use for the transform job.

                                            - */ - TransformResources: TransformResources | undefined; - - /** - *

                                            Describes the dataset to be transformed and the Amazon S3 location where it is - * stored.

                                            + *

                                            The name of the model used in the transform job.

                                            */ - TransformInput: TransformInput | undefined; + ModelName: string | undefined; /** *

                                            Indicates when the transform job starts @@ -3454,27 +3530,23 @@ export interface DescribeTransformJobResponse { TransformStartTime?: Date; /** - *

                                            The Amazon Resource Name (ARN) of the transform job.

                                            - */ - TransformJobArn: string | undefined; - - /** - *

                                            The timeout and maximum number of retries for processing a transform job invocation.

                                            - */ - ModelClientConfig?: ModelClientConfig; - - /** - *

                                            The - * environment variables to set in the Docker container. We support up to 16 key and values - * entries in the map.

                                            + *

                                            The data structure used to specify the data to be used for inference in a batch + * transform job and to associate the data that is relevant to the prediction results in + * the output. The input filter provided allows you to exclude input data that is not + * needed for inference in a batch transform job. The output filter provided allows you to + * include input data relevant to interpreting the predictions in the output from the job. + * For more information, see Associate Prediction + * Results with their Corresponding Input Records.

                                            */ - Environment?: { [key: string]: string }; + DataProcessing?: DataProcessing; /** - *

                                            Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the - * transform job.

                                            + *

                                            Indicates when the transform job has been + * + * completed, or has stopped or failed. You are billed for the time + * interval between this time and the value of TransformStartTime.

                                            */ - TransformOutput?: TransformOutput; + TransformEndTime?: Date; } export namespace DescribeTransformJobResponse { @@ -3519,50 +3591,50 @@ export namespace TrialSource { export interface DescribeTrialResponse { /** - *

                                            When the trial was last modified.

                                            + *

                                            Who created the trial.

                                            */ - LastModifiedTime?: Date; + CreatedBy?: UserContext; /** - *

                                            The name of the trial as displayed. If DisplayName isn't specified, - * TrialName is displayed.

                                            + *

                                            The Amazon Resource Name (ARN) of the source and, optionally, the job type.

                                            */ - DisplayName?: string; + Source?: TrialSource; /** - *

                                            The Amazon Resource Name (ARN) of the trial.

                                            + *

                                            Who last modified the trial.

                                            */ - TrialArn?: string; + LastModifiedBy?: UserContext; /** - *

                                            When the trial was created.

                                            + *

                                            When the trial was last modified.

                                            */ - CreationTime?: Date; + LastModifiedTime?: Date; /** - *

                                            The name of the experiment the trial is part of.

                                            + *

                                            When the trial was created.

                                            */ - ExperimentName?: string; + CreationTime?: Date; /** - *

                                            The name of the trial.

                                            + *

                                            The Amazon Resource Name (ARN) of the trial.

                                            */ - TrialName?: string; + TrialArn?: string; /** - *

                                            Who created the trial.

                                            + *

                                            The name of the experiment the trial is part of.

                                            */ - CreatedBy?: UserContext; + ExperimentName?: string; /** - *

                                            Who last modified the trial.

                                            + *

                                            The name of the trial as displayed. If DisplayName isn't specified, + * TrialName is displayed.

                                            */ - LastModifiedBy?: UserContext; + DisplayName?: string; /** - *

                                            The Amazon Resource Name (ARN) of the source and, optionally, the job type.

                                            + *

                                            The name of the trial.

                                            */ - Source?: TrialSource; + TrialName?: string; } export namespace DescribeTrialResponse { @@ -3589,19 +3661,14 @@ export namespace DescribeTrialComponentRequest { */ export interface TrialComponentMetricSummary { /** - *

                                            When the metric was last updated.

                                            - */ - TimeStamp?: Date; - - /** - *

                                            The Amazon Resource Name (ARN) of the source.

                                            + *

                                            The maximum value of the metric.

                                            */ - SourceArn?: string; + Max?: number; /** - *

                                            The most recent value of the metric.

                                            + *

                                            The average value of the metric.

                                            */ - Last?: number; + Avg?: number; /** *

                                            The number of samples used to generate the metric.

                                            @@ -3614,9 +3681,9 @@ export interface TrialComponentMetricSummary { Min?: number; /** - *

                                            The average value of the metric.

                                            + *

                                            The name of the metric.

                                            */ - Avg?: number; + MetricName?: string; /** *

                                            The standard deviation of the metric.

                                            @@ -3624,14 +3691,19 @@ export interface TrialComponentMetricSummary { StdDev?: number; /** - *

                                            The maximum value of the metric.

                                            + *

                                            When the metric was last updated.

                                            */ - Max?: number; + TimeStamp?: Date; /** - *

                                            The name of the metric.

                                            + *

                                            The Amazon Resource Name (ARN) of the source.

                                            */ - MetricName?: string; + SourceArn?: string; + + /** + *

                                            The most recent value of the metric.

                                            + */ + Last?: number; } export namespace TrialComponentMetricSummary { @@ -3645,14 +3717,14 @@ export namespace TrialComponentMetricSummary { */ export interface TrialComponentSource { /** - *

                                            The source ARN.

                                            + *

                                            The source job type.

                                            */ - SourceArn: string | undefined; + SourceType?: string; /** - *

                                            The source job type.

                                            + *

                                            The source ARN.

                                            */ - SourceType?: string; + SourceArn: string | undefined; } export namespace TrialComponentSource { @@ -3663,55 +3735,35 @@ export namespace TrialComponentSource { export interface DescribeTrialComponentResponse { /** - *

                                            When the component started.

                                            - */ - StartTime?: Date; - - /** - *

                                            The metrics for the component.

                                            + *

                                            Who created the component.

                                            */ - Metrics?: TrialComponentMetricSummary[]; + CreatedBy?: UserContext; /** *

                                            The hyperparameters of the component.

                                            */ Parameters?: { [key: string]: TrialComponentParameterValue }; - /** - *

                                            Who last modified the component.

                                            - */ - LastModifiedBy?: UserContext; - /** *

                                            The Amazon Resource Name (ARN) of the source and, optionally, the job type.

                                            */ Source?: TrialComponentSource; /** - *

                                            The name of the trial component.

                                            - */ - TrialComponentName?: string; - - /** - *

                                            When the component ended.

                                            + *

                                            Who last modified the component.

                                            */ - EndTime?: Date; + LastModifiedBy?: UserContext; /** - *

                                            The input artifacts of the component.

                                            + *

                                            The Amazon Resource Name (ARN) of the trial component.

                                            */ - InputArtifacts?: { [key: string]: TrialComponentArtifact }; + TrialComponentArn?: string; /** *

                                            The output artifacts of the component.

                                            */ OutputArtifacts?: { [key: string]: TrialComponentArtifact }; - /** - *

                                            Who created the component.

                                            - */ - CreatedBy?: UserContext; - /** *

                                            The status of the component. States include:

                                            *
                                              @@ -3728,6 +3780,26 @@ export interface DescribeTrialComponentResponse { */ Status?: TrialComponentStatus; + /** + *

                                              The name of the trial component.

                                              + */ + TrialComponentName?: string; + + /** + *

                                              The metrics for the component.

                                              + */ + Metrics?: TrialComponentMetricSummary[]; + + /** + *

                                              When the component was created.

                                              + */ + CreationTime?: Date; + + /** + *

                                              When the component was last modified.

                                              + */ + LastModifiedTime?: Date; + /** *

                                              The name of the component as displayed. If DisplayName isn't specified, * TrialComponentName is displayed.

                                              @@ -3735,19 +3807,19 @@ export interface DescribeTrialComponentResponse { DisplayName?: string; /** - *

                                              When the component was last modified.

                                              + *

                                              When the component ended.

                                              */ - LastModifiedTime?: Date; + EndTime?: Date; /** - *

                                              When the component was created.

                                              + *

                                              When the component started.

                                              */ - CreationTime?: Date; + StartTime?: Date; /** - *

                                              The Amazon Resource Name (ARN) of the trial component.

                                              + *

                                              The input artifacts of the component.

                                              */ - TrialComponentArn?: string; + InputArtifacts?: { [key: string]: TrialComponentArtifact }; } export namespace DescribeTrialComponentResponse { @@ -3758,14 +3830,14 @@ export namespace DescribeTrialComponentResponse { export interface DescribeUserProfileRequest { /** - *

                                              The user profile name.

                                              + *

                                              The domain ID.

                                              */ - UserProfileName: string | undefined; + DomainId: string | undefined; /** - *

                                              The domain ID.

                                              + *

                                              The user profile name.

                                              */ - DomainId: string | undefined; + UserProfileName: string | undefined; } export namespace DescribeUserProfileRequest { @@ -3783,14 +3855,14 @@ export enum UserProfileStatus { export interface DescribeUserProfileResponse { /** - *

                                              The user profile Amazon Resource Name (ARN).

                                              + *

                                              The ID of the domain that contains the profile.

                                              */ - UserProfileArn?: string; + DomainId?: string; /** - *

                                              The SSO user value.

                                              + *

                                              The user profile name.

                                              */ - SingleSignOnUserValue?: string; + UserProfileName?: string; /** *

                                              The ID of the user's profile in the Amazon Elastic File System (EFS) volume.

                                              @@ -3798,14 +3870,14 @@ export interface DescribeUserProfileResponse { HomeEfsFileSystemUid?: string; /** - *

                                              The failure reason.

                                              + *

                                              The creation time.

                                              */ - FailureReason?: string; + CreationTime?: Date; /** - *

                                              A collection of settings.

                                              + *

                                              The last modified time.

                                              */ - UserSettings?: UserSettings; + LastModifiedTime?: Date; /** *

                                              The SSO user identifier.

                                              @@ -3813,9 +3885,9 @@ export interface DescribeUserProfileResponse { SingleSignOnUserIdentifier?: string; /** - *

                                              The ID of the domain that contains the profile.

                                              + *

                                              The SSO user value.

                                              */ - DomainId?: string; + SingleSignOnUserValue?: string; /** *

                                              The status.

                                              @@ -3823,19 +3895,19 @@ export interface DescribeUserProfileResponse { Status?: UserProfileStatus | string; /** - *

                                              The user profile name.

                                              + *

                                              The failure reason.

                                              */ - UserProfileName?: string; + FailureReason?: string; /** - *

                                              The last modified time.

                                              + *

                                              The user profile Amazon Resource Name (ARN).

                                              */ - LastModifiedTime?: Date; + UserProfileArn?: string; /** - *

                                              The creation time.

                                              + *

                                              A collection of settings.

                                              */ - CreationTime?: Date; + UserSettings?: UserSettings; } export namespace DescribeUserProfileResponse { @@ -3860,23 +3932,13 @@ export namespace DescribeWorkforceRequest { } /** - *

                                              Your Amazon Cognito workforce configuration.

                                              + *

                                              Your OIDC IdP workforce configuration.

                                              */ export interface OidcConfigForResponse { /** - *

                                              The OIDC IdP token endpoint used to configure your private workforce.

                                              - */ - TokenEndpoint?: string; - - /** - *

                                              The OIDC IdP logout endpoint used to configure your private workforce.

                                              - */ - LogoutEndpoint?: string; - - /** - *

                                              The OIDC IdP JSON Web Key Set (Jwks) URI used to configure your private workforce.

                                              + *

                                              The OIDC IdP authorization endpoint used to configure your private workforce.

                                              */ - JwksUri?: string; + AuthorizationEndpoint?: string; /** *

                                              The OIDC IdP user information endpoint used to configure your private workforce.

                                              @@ -3894,9 +3956,19 @@ export interface OidcConfigForResponse { Issuer?: string; /** - *

                                              The OIDC IdP authorization endpoint used to configure your private workforce.

                                              + *

                                              The OIDC IdP token endpoint used to configure your private workforce.

                                              */ - AuthorizationEndpoint?: string; + TokenEndpoint?: string; + + /** + *

                                              The OIDC IdP logout endpoint used to configure your private workforce.

                                              + */ + LogoutEndpoint?: string; + + /** + *

                                              The OIDC IdP JSON Web Key Set (Jwks) URI used to configure your private workforce.

                                              + */ + JwksUri?: string; } export namespace OidcConfigForResponse { @@ -3913,26 +3985,25 @@ export namespace OidcConfigForResponse { */ export interface Workforce { /** - *

                                              The configuration of an OIDC Identity Provider (IdP) private workforce.

                                              + *

                                              The Amazon Resource Name (ARN) of the private workforce.

                                              */ - OidcConfig?: OidcConfigForResponse; + WorkforceArn: string | undefined; /** - *

                                              The name of the private workforce.

                                              + *

                                              The date that the workforce is created.

                                              */ - WorkforceName: string | undefined; + CreateDate?: Date; /** - *

                                              The most recent date that was used to - * successfully add one or more IP address ranges (CIDRs) to a private workforce's - * allow list.

                                              + *

                                              The name of the private workforce.

                                              */ - LastUpdatedDate?: Date; + WorkforceName: string | undefined; /** - *

                                              The subdomain for your OIDC Identity Provider.

                                              + *

                                              A list of one to ten IP address ranges (CIDRs) to be added to the + * workforce allow list. By default, a workforce isn't restricted to specific IP addresses.

                                              */ - SubDomain?: string; + SourceIpConfig?: SourceIpConfig; /** *

                                              The configuration of an Amazon Cognito workforce. @@ -3943,20 +4014,21 @@ export interface Workforce { CognitoConfig?: CognitoConfig; /** - *

                                              A list of one to ten IP address ranges (CIDRs) to be added to the - * workforce allow list.

                                              + *

                                              The subdomain for your OIDC Identity Provider.

                                              */ - SourceIpConfig?: SourceIpConfig; + SubDomain?: string; /** - *

                                              The date that the workforce is created.

                                              + *

                                              The configuration of an OIDC Identity Provider (IdP) private workforce.

                                              */ - CreateDate?: Date; + OidcConfig?: OidcConfigForResponse; /** - *

                                              The Amazon Resource Name (ARN) of the private workforce.

                                              + *

                                              The most recent date that was used to + * successfully add one or more IP address ranges (CIDRs) to a private workforce's + * allow list.

                                              */ - WorkforceArn: string | undefined; + LastUpdatedDate?: Date; } export namespace Workforce { @@ -3999,56 +4071,61 @@ export namespace DescribeWorkteamRequest { */ export interface Workteam { /** - *

                                              The date and time that the work team was last updated (timestamp).

                                              + *

                                              A list of MemberDefinition objects that contains objects that identify + * the workers that make up the work team.

                                              + *

                                              Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). + * For private workforces created using Amazon Cognito use + * CognitoMemberDefinition. For workforces created using your own OIDC identity + * provider (IdP) use OidcMemberDefinition.

                                              */ - LastUpdatedDate?: Date; + MemberDefinitions: MemberDefinition[] | undefined; /** - *

                                              The date and time that the work team was created (timestamp).

                                              + *

                                              The Amazon Marketplace identifier for a vendor's work team.

                                              */ - CreateDate?: Date; + ProductListingIds?: string[]; /** - *

                                              The URI of the labeling job's user interface. Workers open this URI to start labeling - * your data objects.

                                              + *

                                              The name of the work team.

                                              */ - SubDomain?: string; + WorkteamName: string | undefined; /** - *

                                              A description of the work team.

                                              + *

                                              Configures SNS notifications of available or expiring work items for work + * teams.

                                              */ - Description: string | undefined; + NotificationConfiguration?: NotificationConfiguration; /** - *

                                              The Amazon Resource Name (ARN) that identifies the work team.

                                              + *

                                              The Amazon Resource Name (ARN) of the workforce.

                                              */ - WorkteamArn: string | undefined; + WorkforceArn?: string; /** - *

                                              The Amazon Marketplace identifier for a vendor's work team.

                                              + *

                                              The Amazon Resource Name (ARN) that identifies the work team.

                                              */ - ProductListingIds?: string[]; + WorkteamArn: string | undefined; /** - *

                                              Configures SNS notifications of available or expiring work items for work - * teams.

                                              + *

                                              The date and time that the work team was last updated (timestamp).

                                              */ - NotificationConfiguration?: NotificationConfiguration; + LastUpdatedDate?: Date; /** - *

                                              The Amazon Resource Name (ARN) of the workforce.

                                              + *

                                              The date and time that the work team was created (timestamp).

                                              */ - WorkforceArn?: string; + CreateDate?: Date; /** - *

                                              The Amazon Cognito user groups that make up the work team.

                                              + *

                                              The URI of the labeling job's user interface. Workers open this URI to start labeling + * your data objects.

                                              */ - MemberDefinitions: MemberDefinition[] | undefined; + SubDomain?: string; /** - *

                                              The name of the work team.

                                              + *

                                              A description of the work team.

                                              */ - WorkteamName: string | undefined; + Description: string | undefined; } export namespace Workteam { @@ -4075,13 +4152,6 @@ export namespace DescribeWorkteamResponse { *

                                              Specifies weight and capacity values for a production variant.

                                              */ export interface DesiredWeightAndCapacity { - /** - *

                                              The name of the - * variant - * to update.

                                              - */ - VariantName: string | undefined; - /** *

                                              The variant's capacity.

                                              */ @@ -4091,6 +4161,13 @@ export interface DesiredWeightAndCapacity { *

                                              The variant's weight.

                                              */ DesiredWeight?: number; + + /** + *

                                              The name of the + * variant + * to update.

                                              + */ + VariantName: string | undefined; } export namespace DesiredWeightAndCapacity { @@ -4101,14 +4178,14 @@ export namespace DesiredWeightAndCapacity { export interface DisassociateTrialComponentRequest { /** - *

                                              The name of the trial to disassociate from.

                                              + *

                                              The name of the component to disassociate from the trial.

                                              */ - TrialName: string | undefined; + TrialComponentName: string | undefined; /** - *

                                              The name of the component to disassociate from the trial.

                                              + *

                                              The name of the trial to disassociate from.

                                              */ - TrialComponentName: string | undefined; + TrialName: string | undefined; } export namespace DisassociateTrialComponentRequest { @@ -4119,14 +4196,14 @@ export namespace DisassociateTrialComponentRequest { export interface DisassociateTrialComponentResponse { /** - *

                                              The ARN of the trial component.

                                              + *

                                              The Amazon Resource Name (ARN) of the trial.

                                              */ - TrialComponentArn?: string; + TrialArn?: string; /** - *

                                              The Amazon Resource Name (ARN) of the trial.

                                              + *

                                              The ARN of the trial component.

                                              */ - TrialArn?: string; + TrialComponentArn?: string; } export namespace DisassociateTrialComponentResponse { @@ -4140,14 +4217,9 @@ export namespace DisassociateTrialComponentResponse { */ export interface DomainDetails { /** - *

                                              The domain name.

                                              - */ - DomainName?: string; - - /** - *

                                              The domain ID.

                                              + *

                                              The domain's URL.

                                              */ - DomainId?: string; + Url?: string; /** *

                                              The status.

                                              @@ -4155,9 +4227,9 @@ export interface DomainDetails { Status?: DomainStatus | string; /** - *

                                              The creation time.

                                              + *

                                              The domain's Amazon Resource Name (ARN).

                                              */ - CreationTime?: Date; + DomainArn?: string; /** *

                                              The last modified time.

                                              @@ -4165,14 +4237,19 @@ export interface DomainDetails { LastModifiedTime?: Date; /** - *

                                              The domain's URL.

                                              + *

                                              The creation time.

                                              */ - Url?: string; + CreationTime?: Date; /** - *

                                              The domain's Amazon Resource Name (ARN).

                                              + *

                                              The domain name.

                                              */ - DomainArn?: string; + DomainName?: string; + + /** + *

                                              The domain ID.

                                              + */ + DomainId?: string; } export namespace DomainDetails { @@ -4191,9 +4268,9 @@ export enum EndpointConfigSortKey { */ export interface EndpointConfigSummary { /** - *

                                              The name of the endpoint configuration.

                                              + *

                                              The Amazon Resource Name (ARN) of the endpoint configuration.

                                              */ - EndpointConfigName: string | undefined; + EndpointConfigArn: string | undefined; /** *

                                              A timestamp that shows when the endpoint configuration was created.

                                              @@ -4201,9 +4278,9 @@ export interface EndpointConfigSummary { CreationTime: Date | undefined; /** - *

                                              The Amazon Resource Name (ARN) of the endpoint configuration.

                                              + *

                                              The name of the endpoint configuration.

                                              */ - EndpointConfigArn: string | undefined; + EndpointConfigName: string | undefined; } export namespace EndpointConfigSummary { @@ -4218,14 +4295,24 @@ export enum EndpointSortKey { Status = "Status", } -/** - *

                                              Provides summary information for an endpoint.

                                              - */ -export interface EndpointSummary { +/** + *

                                              Provides summary information for an endpoint.

                                              + */ +export interface EndpointSummary { + /** + *

                                              The Amazon Resource Name (ARN) of the endpoint.

                                              + */ + EndpointArn: string | undefined; + /** - *

                                              The name of the endpoint.

                                              + *

                                              A timestamp that shows when the endpoint was last modified.

                                              */ - EndpointName: string | undefined; + LastModifiedTime: Date | undefined; + + /** + *

                                              A timestamp that shows when the endpoint was created.

                                              + */ + CreationTime: Date | undefined; /** *

                                              The status of the endpoint.

                                              @@ -4282,19 +4369,9 @@ export interface EndpointSummary { EndpointStatus: EndpointStatus | string | undefined; /** - *

                                              The Amazon Resource Name (ARN) of the endpoint.

                                              - */ - EndpointArn: string | undefined; - - /** - *

                                              A timestamp that shows when the endpoint was created.

                                              - */ - CreationTime: Date | undefined; - - /** - *

                                              A timestamp that shows when the endpoint was last modified.

                                              + *

                                              The name of the endpoint.

                                              */ - LastModifiedTime: Date | undefined; + EndpointName: string | undefined; } export namespace EndpointSummary { @@ -4308,14 +4385,9 @@ export namespace EndpointSummary { */ export interface Experiment { /** - *

                                              The list of tags that are associated with the experiment. You can use Search API to search on the tags.

                                              - */ - Tags?: Tag[]; - - /** - *

                                              The source of the experiment.

                                              + *

                                              The description of the experiment.

                                              */ - Source?: ExperimentSource; + Description?: string; /** *

                                              Information about the user who created or modified an experiment, trial, or trial @@ -4324,25 +4396,24 @@ export interface Experiment { LastModifiedBy?: UserContext; /** - *

                                              The description of the experiment.

                                              + *

                                              The name of the experiment.

                                              */ - Description?: string; + ExperimentName?: string; /** - *

                                              Information about the user who created or modified an experiment, trial, or trial - * component.

                                              + *

                                              The list of tags that are associated with the experiment. You can use Search API to search on the tags.

                                              */ - CreatedBy?: UserContext; + Tags?: Tag[]; /** - *

                                              The name of the experiment.

                                              + *

                                              When the experiment was created.

                                              */ - ExperimentName?: string; + CreationTime?: Date; /** - *

                                              The Amazon Resource Name (ARN) of the experiment.

                                              + *

                                              When the experiment was last modified.

                                              */ - ExperimentArn?: string; + LastModifiedTime?: Date; /** *

                                              The name of the experiment as displayed. If DisplayName isn't specified, @@ -4351,14 +4422,20 @@ export interface Experiment { DisplayName?: string; /** - *

                                              When the experiment was last modified.

                                              + *

                                              The source of the experiment.

                                              */ - LastModifiedTime?: Date; + Source?: ExperimentSource; /** - *

                                              When the experiment was created.

                                              + *

                                              Information about the user who created or modified an experiment, trial, or trial + * component.

                                              */ - CreationTime?: Date; + CreatedBy?: UserContext; + + /** + *

                                              The Amazon Resource Name (ARN) of the experiment.

                                              + */ + ExperimentArn?: string; } export namespace Experiment { @@ -4373,11 +4450,6 @@ export namespace Experiment { * ExperimentName.

                                              */ export interface ExperimentSummary { - /** - *

                                              The source of the experiment.

                                              - */ - ExperimentSource?: ExperimentSource; - /** *

                                              The name of the experiment.

                                              */ @@ -4389,20 +4461,25 @@ export interface ExperimentSummary { ExperimentArn?: string; /** - *

                                              When the experiment was created.

                                              + *

                                              When the experiment was last modified.

                                              */ - CreationTime?: Date; + LastModifiedTime?: Date; /** - *

                                              When the experiment was last modified.

                                              + *

                                              When the experiment was created.

                                              */ - LastModifiedTime?: Date; + CreationTime?: Date; /** *

                                              The name of the experiment as displayed. If DisplayName isn't specified, * ExperimentName is displayed.

                                              */ DisplayName?: string; + + /** + *

                                              The source of the experiment.

                                              + */ + ExperimentSource?: ExperimentSource; } export namespace ExperimentSummary { @@ -4490,15 +4567,6 @@ export enum Operator { * */ export interface Filter { - /** - *

                                              A value used with Name and Operator to determine which - * resources satisfy the filter's condition. For numerical properties, Value - * must be an integer or floating-point decimal. For timestamp properties, - * Value must be an ISO 8601 date-time string of the following format: - * YYYY-mm-dd'T'HH:MM:SS.

                                              - */ - Value?: string; - /** *

                                              A resource property name. For example, TrainingJobName. For * valid property names, see SearchRecord. @@ -4623,6 +4691,15 @@ export interface Filter { * */ Operator?: Operator | string; + + /** + *

                                              A value used with Name and Operator to determine which + * resources satisfy the filter's condition. For numerical properties, Value + * must be an integer or floating-point decimal. For timestamp properties, + * Value must be an ISO 8601 date-time string of the following format: + * YYYY-mm-dd'T'HH:MM:SS.

                                              + */ + Value?: string; } export namespace Filter { @@ -4635,21 +4712,11 @@ export namespace Filter { *

                                              Contains summary information about the flow definition.

                                              */ export interface FlowDefinitionSummary { - /** - *

                                              The timestamp when SageMaker created the flow definition.

                                              - */ - CreationTime: Date | undefined; - /** *

                                              The reason why the flow definition creation failed. A failure reason is returned only when the flow definition status is Failed.

                                              */ FailureReason?: string; - /** - *

                                              The status of the flow definition. Valid values:

                                              - */ - FlowDefinitionStatus: FlowDefinitionStatus | string | undefined; - /** *

                                              The Amazon Resource Name (ARN) of the flow definition.

                                              */ @@ -4659,6 +4726,16 @@ export interface FlowDefinitionSummary { *

                                              The name of the flow definition.

                                              */ FlowDefinitionName: string | undefined; + + /** + *

                                              The timestamp when SageMaker created the flow definition.

                                              + */ + CreationTime: Date | undefined; + + /** + *

                                              The status of the flow definition. Valid values:

                                              + */ + FlowDefinitionStatus: FlowDefinitionStatus | string | undefined; } export namespace FlowDefinitionSummary { @@ -4711,14 +4788,14 @@ export namespace SuggestionQuery { export interface GetSearchSuggestionsRequest { /** - *

                                              Limits the property names that are included in the response.

                                              + *

                                              The name of the Amazon SageMaker resource to search for.

                                              */ - SuggestionQuery?: SuggestionQuery; + Resource: ResourceType | string | undefined; /** - *

                                              The name of the Amazon SageMaker resource to search for.

                                              + *

                                              Limits the property names that are included in the response.

                                              */ - Resource: ResourceType | string | undefined; + SuggestionQuery?: SuggestionQuery; } export namespace GetSearchSuggestionsRequest { @@ -4792,14 +4869,14 @@ export interface HumanTaskUiSummary { HumanTaskUiArn: string | undefined; /** - *

                                              The name of the human task user interface.

                                              + *

                                              A timestamp when SageMaker created the human task user interface.

                                              */ - HumanTaskUiName: string | undefined; + CreationTime: Date | undefined; /** - *

                                              A timestamp when SageMaker created the human task user interface.

                                              + *

                                              The name of the human task user interface.

                                              */ - CreationTime: Date | undefined; + HumanTaskUiName: string | undefined; } export namespace HumanTaskUiSummary { @@ -4819,16 +4896,9 @@ export enum HyperParameterTuningJobSortByOptions { */ export interface HyperParameterTuningJobSummary { /** - *

                                              The ResourceLimits object that specifies the maximum number of - * training jobs and parallel training jobs allowed for this tuning job.

                                              - */ - ResourceLimits?: ResourceLimits; - - /** - *

                                              The date and time that the tuning job was - * modified.

                                              + *

                                              The date and time that the tuning job ended.

                                              */ - LastModifiedTime?: Date; + HyperParameterTuningEndTime?: Date; /** *

                                              The @@ -4838,19 +4908,34 @@ export interface HyperParameterTuningJobSummary { HyperParameterTuningJobArn: string | undefined; /** - *

                                              Specifies the search strategy hyperparameter tuning uses to choose which - * hyperparameters to - * use - * for each iteration. Currently, the only valid value is - * Bayesian.

                                              + *

                                              The name of the tuning job.

                                              */ - Strategy: HyperParameterTuningJobStrategyType | string | undefined; + HyperParameterTuningJobName: string | undefined; + + /** + *

                                              The ObjectiveStatusCounters object that specifies the numbers of + * training jobs, categorized by objective metric status, that this tuning job + * launched.

                                              + */ + ObjectiveStatusCounters: ObjectiveStatusCounters | undefined; /** *

                                              The date and time that the tuning job was created.

                                              */ CreationTime: Date | undefined; + /** + *

                                              The date and time that the tuning job was + * modified.

                                              + */ + LastModifiedTime?: Date; + + /** + *

                                              The ResourceLimits object that specifies the maximum number of + * training jobs and parallel training jobs allowed for this tuning job.

                                              + */ + ResourceLimits?: ResourceLimits; + /** *

                                              The status of the * tuning @@ -4858,13 +4943,6 @@ export interface HyperParameterTuningJobSummary { */ HyperParameterTuningJobStatus: HyperParameterTuningJobStatus | string | undefined; - /** - *

                                              The ObjectiveStatusCounters object that specifies the numbers of - * training jobs, categorized by objective metric status, that this tuning job - * launched.

                                              - */ - ObjectiveStatusCounters: ObjectiveStatusCounters | undefined; - /** *

                                              The TrainingJobStatusCounters object that specifies the numbers of * training jobs, categorized by status, that this tuning job launched.

                                              @@ -4872,14 +4950,13 @@ export interface HyperParameterTuningJobSummary { TrainingJobStatusCounters: TrainingJobStatusCounters | undefined; /** - *

                                              The date and time that the tuning job ended.

                                              - */ - HyperParameterTuningEndTime?: Date; - - /** - *

                                              The name of the tuning job.

                                              + *

                                              Specifies the search strategy hyperparameter tuning uses to choose which + * hyperparameters to + * use + * for each iteration. Currently, the only valid value is + * Bayesian.

                                              */ - HyperParameterTuningJobName: string | undefined; + Strategy: HyperParameterTuningJobStrategyType | string | undefined; } export namespace HyperParameterTuningJobSummary { @@ -4893,9 +4970,9 @@ export namespace HyperParameterTuningJobSummary { */ export interface LabelCountersForWorkteam { /** - *

                                              The total number of data objects that need to be labeled by a human worker.

                                              + *

                                              The total number of data objects labeled by a human worker.

                                              */ - PendingHuman?: number; + HumanLabeled?: number; /** *

                                              The total number of tasks in the labeling job.

                                              @@ -4903,9 +4980,9 @@ export interface LabelCountersForWorkteam { Total?: number; /** - *

                                              The total number of data objects labeled by a human worker.

                                              + *

                                              The total number of data objects that need to be labeled by a human worker.

                                              */ - HumanLabeled?: number; + PendingHuman?: number; } export namespace LabelCountersForWorkteam { @@ -4919,15 +4996,14 @@ export namespace LabelCountersForWorkteam { */ export interface LabelingJobForWorkteamSummary { /** - *

                                              Provides information about the progress of a labeling job.

                                              + *

                                              The name of the labeling job that the work team is assigned to.

                                              */ - LabelCounters?: LabelCountersForWorkteam; + LabelingJobName?: string; /** - *

                                              A unique identifier for a labeling job. You can use this to refer to a specific - * labeling job.

                                              + *

                                              The date and time that the labeling job was created.

                                              */ - JobReferenceCode: string | undefined; + CreationTime: Date | undefined; /** *

                                              The configured number of workers per data object.

                                              @@ -4935,19 +5011,20 @@ export interface LabelingJobForWorkteamSummary { NumberOfHumanWorkersPerDataObject?: number; /** - *

                                              + *

                                              A unique identifier for a labeling job. You can use this to refer to a specific + * labeling job.

                                              */ - WorkRequesterAccountId: string | undefined; + JobReferenceCode: string | undefined; /** - *

                                              The date and time that the labeling job was created.

                                              + *

                                              Provides information about the progress of a labeling job.

                                              */ - CreationTime: Date | undefined; + LabelCounters?: LabelCountersForWorkteam; /** - *

                                              The name of the labeling job that the work team is assigned to.

                                              + *

                                              */ - LabelingJobName?: string; + WorkRequesterAccountId: string | undefined; } export namespace LabelingJobForWorkteamSummary { @@ -4961,14 +5038,36 @@ export namespace LabelingJobForWorkteamSummary { */ export interface LabelingJobSummary { /** - *

                                              The date and time that the job was created (timestamp).

                                              + *

                                              The name of the labeling job.

                                              */ - CreationTime: Date | undefined; + LabelingJobName: string | undefined; /** - *

                                              The date and time that the job was last modified (timestamp).

                                              + *

                                              Counts showing the progress of the labeling job.

                                              */ - LastModifiedTime: Date | undefined; + LabelCounters: LabelCounters | undefined; + + /** + *

                                              The Amazon Resource Name (ARN) of the work team assigned to the job.

                                              + */ + WorkteamArn: string | undefined; + + /** + *

                                              The location of the output produced by the labeling job.

                                              + */ + LabelingJobOutput?: LabelingJobOutput; + + /** + *

                                              If the LabelingJobStatus field is Failed, this field + * contains a description of the error.

                                              + */ + FailureReason?: string; + + /** + *

                                              The Amazon Resource Name (ARN) assigned to the labeling job when it was + * created.

                                              + */ + LabelingJobArn: string | undefined; /** *

                                              The current status of the labeling job.

                                              @@ -4976,10 +5075,10 @@ export interface LabelingJobSummary { LabelingJobStatus: LabelingJobStatus | string | undefined; /** - *

                                              If the LabelingJobStatus field is Failed, this field - * contains a description of the error.

                                              + *

                                              The Amazon Resource Name (ARN) of a Lambda function. The function is run before each + * data object is sent to a worker.

                                              */ - FailureReason?: string; + PreHumanTaskLambdaArn: string | undefined; /** *

                                              The Amazon Resource Name (ARN) of the Lambda function used to consolidate the @@ -4989,42 +5088,20 @@ export interface LabelingJobSummary { */ AnnotationConsolidationLambdaArn?: string; - /** - *

                                              Counts showing the progress of the labeling job.

                                              - */ - LabelCounters: LabelCounters | undefined; - /** *

                                              Input configuration for the labeling job.

                                              */ InputConfig?: LabelingJobInputConfig; /** - *

                                              The name of the labeling job.

                                              - */ - LabelingJobName: string | undefined; - - /** - *

                                              The Amazon Resource Name (ARN) of a Lambda function. The function is run before each - * data object is sent to a worker.

                                              - */ - PreHumanTaskLambdaArn: string | undefined; - - /** - *

                                              The Amazon Resource Name (ARN) of the work team assigned to the job.

                                              - */ - WorkteamArn: string | undefined; - - /** - *

                                              The Amazon Resource Name (ARN) assigned to the labeling job when it was - * created.

                                              + *

                                              The date and time that the job was last modified (timestamp).

                                              */ - LabelingJobArn: string | undefined; + LastModifiedTime: Date | undefined; /** - *

                                              The location of the output produced by the labeling job.

                                              + *

                                              The date and time that the job was created (timestamp).

                                              */ - LabelingJobOutput?: LabelingJobOutput; + CreationTime: Date | undefined; } export namespace LabelingJobSummary { @@ -5039,23 +5116,18 @@ export enum SortOrder { } export interface ListAlgorithmsInput { - /** - *

                                              The sort order for the results. The default is Ascending.

                                              - */ - SortOrder?: SortOrder | string; - - /** - *

                                              A string in the algorithm name. This filter returns only algorithms whose name - * contains the specified string.

                                              - */ - NameContains?: string; - /** *

                                              A filter that returns only algorithms created before the specified time * (timestamp).

                                              */ CreationTimeBefore?: Date; + /** + *

                                              The parameter by which to sort the results. The default is + * CreationTime.

                                              + */ + SortBy?: AlgorithmSortBy | string; + /** *

                                              A filter that returns only algorithms created after the specified time * (timestamp).

                                              @@ -5063,9 +5135,9 @@ export interface ListAlgorithmsInput { CreationTimeAfter?: Date; /** - *

                                              The maximum number of algorithms to return in the response.

                                              + *

                                              The sort order for the results. The default is Ascending.

                                              */ - MaxResults?: number; + SortOrder?: SortOrder | string; /** *

                                              If the response to a previous ListAlgorithms request was truncated, the @@ -5075,10 +5147,15 @@ export interface ListAlgorithmsInput { NextToken?: string; /** - *

                                              The parameter by which to sort the results. The default is - * CreationTime.

                                              + *

                                              The maximum number of algorithms to return in the response.

                                              */ - SortBy?: AlgorithmSortBy | string; + MaxResults?: number; + + /** + *

                                              A string in the algorithm name. This filter returns only algorithms whose name + * contains the specified string.

                                              + */ + NameContains?: string; } export namespace ListAlgorithmsInput { @@ -5088,17 +5165,17 @@ export namespace ListAlgorithmsInput { } export interface ListAlgorithmsOutput { - /** - *

                                              If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * algorithms, use it in the subsequent request.

                                              - */ - NextToken?: string; - /** *

                                              >An array of AlgorithmSummary objects, each of which lists an * algorithm.

                                              */ AlgorithmSummaryList: AlgorithmSummary[] | undefined; + + /** + *

                                              If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * algorithms, use it in the subsequent request.

                                              + */ + NextToken?: string; } export namespace ListAlgorithmsOutput { @@ -5109,14 +5186,14 @@ export namespace ListAlgorithmsOutput { export interface ListAppsRequest { /** - *

                                              The sort order for the results. The default is Ascending.

                                              + *

                                              A parameter to search for the domain ID.

                                              */ - SortOrder?: SortOrder | string; + DomainIdEquals?: string; /** - *

                                              A parameter to search by user profile name.

                                              + *

                                              The parameter by which to sort the results. The default is CreationTime.

                                              */ - UserProfileNameEquals?: string; + SortBy?: AppSortKey | string; /** *

                                              If the previous response was truncated, you will receive this token. @@ -5130,14 +5207,14 @@ export interface ListAppsRequest { MaxResults?: number; /** - *

                                              The parameter by which to sort the results. The default is CreationTime.

                                              + *

                                              The sort order for the results. The default is Ascending.

                                              */ - SortBy?: AppSortKey | string; + SortOrder?: SortOrder | string; /** - *

                                              A parameter to search for the domain ID.

                                              + *

                                              A parameter to search by user profile name.

                                              */ - DomainIdEquals?: string; + UserProfileNameEquals?: string; } export namespace ListAppsRequest { @@ -5148,15 +5225,15 @@ export namespace ListAppsRequest { export interface ListAppsResponse { /** - *

                                              If the previous response was truncated, you will receive this token. - * Use it in your next request to receive the next set of results.

                                              + *

                                              The list of apps.

                                              */ - NextToken?: string; + Apps?: AppDetails[]; /** - *

                                              The list of apps.

                                              + *

                                              If the previous response was truncated, you will receive this token. + * Use it in your next request to receive the next set of results.

                                              */ - Apps?: AppDetails[]; + NextToken?: string; } export namespace ListAppsResponse { @@ -5167,55 +5244,55 @@ export namespace ListAppsResponse { export interface ListAutoMLJobsRequest { /** - *

                                              The parameter by which to sort the results. The default is AutoMLJobName.

                                              + *

                                              The sort order for the results. The default is Descending.

                                              */ - SortBy?: AutoMLSortBy | string; + SortOrder?: AutoMLSortOrder | string; /** - *

                                              Request a list of jobs, using a filter for time.

                                              + *

                                              Request a list of jobs, using a filter for status.

                                              */ - CreationTimeBefore?: Date; + StatusEquals?: AutoMLJobStatus | string; /** - *

                                              Request a list of jobs, using a filter for status.

                                              + *

                                              Request a list of jobs up to a specified limit.

                                              */ - StatusEquals?: AutoMLJobStatus | string; + MaxResults?: number; /** *

                                              Request a list of jobs, using a filter for time.

                                              */ - LastModifiedTimeBefore?: Date; + LastModifiedTimeAfter?: Date; /** *

                                              Request a list of jobs, using a filter for time.

                                              */ - CreationTimeAfter?: Date; + CreationTimeBefore?: Date; /** - *

                                              Request a list of jobs, using a search filter for name.

                                              + *

                                              The parameter by which to sort the results. The default is AutoMLJobName.

                                              */ - NameContains?: string; + SortBy?: AutoMLSortBy | string; /** - *

                                              The sort order for the results. The default is Descending.

                                              + *

                                              Request a list of jobs, using a filter for time.

                                              */ - SortOrder?: AutoMLSortOrder | string; + LastModifiedTimeBefore?: Date; /** - *

                                              If the previous response was truncated, you will receive this token. Use it in your next + *

                                              If the previous response was truncated, you receive this token. Use it in your next * request to receive the next set of results.

                                              */ NextToken?: string; /** - *

                                              Request a list of jobs, using a filter for time.

                                              + *

                                              Request a list of jobs, using a search filter for name.

                                              */ - LastModifiedTimeAfter?: Date; + NameContains?: string; /** - *

                                              Request a list of jobs up to a specified limit.

                                              + *

                                              Request a list of jobs, using a filter for time.

                                              */ - MaxResults?: number; + CreationTimeAfter?: Date; } export namespace ListAutoMLJobsRequest { @@ -5226,15 +5303,15 @@ export namespace ListAutoMLJobsRequest { export interface ListAutoMLJobsResponse { /** - *

                                              Returns a summary list of jobs.

                                              + *

                                              If the previous response was truncated, you receive this token. Use it in your next + * request to receive the next set of results.

                                              */ - AutoMLJobSummaries: AutoMLJobSummary[] | undefined; + NextToken?: string; /** - *

                                              If the previous response was truncated, you will receive this token. Use it in your next - * request to receive the next set of results.

                                              + *

                                              Returns a summary list of jobs.

                                              */ - NextToken?: string; + AutoMLJobSummaries: AutoMLJobSummary[] | undefined; } export namespace ListAutoMLJobsResponse { @@ -5245,20 +5322,26 @@ export namespace ListAutoMLJobsResponse { export interface ListCandidatesForAutoMLJobRequest { /** - *

                                              List the Candidates for the job and filter by status.

                                              + *

                                              List the Candidates for the job and filter by candidate name.

                                              */ - StatusEquals?: CandidateStatus | string; + CandidateNameEquals?: string; /** - *

                                              The parameter by which to sort the results. The default is Descending.

                                              + *

                                              If the previous response was truncated, you receive this token. Use it in your next + * request to receive the next set of results.

                                              */ - SortBy?: CandidateSortBy | string; + NextToken?: string; /** *

                                              The sort order for the results. The default is Ascending.

                                              */ SortOrder?: AutoMLSortOrder | string; + /** + *

                                              List the Candidates for the job and filter by status.

                                              + */ + StatusEquals?: CandidateStatus | string; + /** *

                                              List the job's Candidates up to a specified limit.

                                              */ @@ -5270,15 +5353,9 @@ export interface ListCandidatesForAutoMLJobRequest { AutoMLJobName: string | undefined; /** - *

                                              If the previous response was truncated, you will receive this token. Use it in your next - * request to receive the next set of results.

                                              - */ - NextToken?: string; - - /** - *

                                              List the Candidates for the job and filter by candidate name.

                                              + *

                                              The parameter by which to sort the results. The default is Descending.

                                              */ - CandidateNameEquals?: string; + SortBy?: CandidateSortBy | string; } export namespace ListCandidatesForAutoMLJobRequest { @@ -5294,7 +5371,7 @@ export interface ListCandidatesForAutoMLJobResponse { Candidates: AutoMLCandidate[] | undefined; /** - *

                                              If the previous response was truncated, you will receive this token. Use it in your next + *

                                              If the previous response was truncated, you receive this token. Use it in your next * request to receive the next set of results.

                                              */ NextToken?: string; @@ -5308,16 +5385,17 @@ export namespace ListCandidatesForAutoMLJobResponse { export interface ListCodeRepositoriesInput { /** - *

                                              A filter that returns only Git repositories that were last modified after the - * specified time.

                                              + *

                                              If the result of a ListCodeRepositoriesOutput request was truncated, the + * response includes a NextToken. To get the next set of Git repositories, use + * the token in the next request.

                                              */ - LastModifiedTimeAfter?: Date; + NextToken?: string; /** - *

                                              A string in the Git repositories name. This filter returns only repositories whose - * name contains the specified string.

                                              + *

                                              A filter that returns only Git repositories that were created after the specified + * time.

                                              */ - NameContains?: string; + CreationTimeAfter?: Date; /** *

                                              A filter that returns only Git repositories that were last modified before the @@ -5326,16 +5404,9 @@ export interface ListCodeRepositoriesInput { LastModifiedTimeBefore?: Date; /** - *

                                              A filter that returns only Git repositories that were created before the specified - * time.

                                              - */ - CreationTimeBefore?: Date; - - /** - *

                                              A filter that returns only Git repositories that were created after the specified - * time.

                                              + *

                                              The field to sort results by. The default is Name.

                                              */ - CreationTimeAfter?: Date; + SortBy?: CodeRepositorySortBy | string; /** *

                                              The sort order for results. The default is Ascending.

                                              @@ -5343,11 +5414,10 @@ export interface ListCodeRepositoriesInput { SortOrder?: CodeRepositorySortOrder | string; /** - *

                                              If the result of a ListCodeRepositoriesOutput request was truncated, the - * response includes a NextToken. To get the next set of Git repositories, use - * the token in the next request.

                                              + *

                                              A filter that returns only Git repositories that were created before the specified + * time.

                                              */ - NextToken?: string; + CreationTimeBefore?: Date; /** *

                                              The maximum number of Git repositories to return in the response.

                                              @@ -5355,9 +5425,16 @@ export interface ListCodeRepositoriesInput { MaxResults?: number; /** - *

                                              The field to sort results by. The default is Name.

                                              + *

                                              A filter that returns only Git repositories that were last modified after the + * specified time.

                                              */ - SortBy?: CodeRepositorySortBy | string; + LastModifiedTimeAfter?: Date; + + /** + *

                                              A string in the Git repositories name. This filter returns only repositories whose + * name contains the specified string.

                                              + */ + NameContains?: string; } export namespace ListCodeRepositoriesInput { @@ -5414,17 +5491,15 @@ export enum ListCompilationJobsSortBy { export interface ListCompilationJobsRequest { /** - *

                                              If the result of the previous ListCompilationJobs request was truncated, - * the response includes a NextToken. To retrieve the next set of model - * compilation jobs, use the token in the next request.

                                              + *

                                              The maximum number of model compilation jobs to return in the response.

                                              */ - NextToken?: string; + MaxResults?: number; /** - *

                                              A filter that returns the model compilation jobs that were created after a specified - * time.

                                              + *

                                              A filter that returns the model compilation jobs that were created before a specified + * time.

                                              */ - CreationTimeAfter?: Date; + CreationTimeBefore?: Date; /** *

                                              A filter that returns the model compilation jobs that were modified before a specified @@ -5433,20 +5508,9 @@ export interface ListCompilationJobsRequest { LastModifiedTimeBefore?: Date; /** - *

                                              The field by which to sort results. The default is CreationTime.

                                              - */ - SortBy?: ListCompilationJobsSortBy | string; - - /** - *

                                              A filter that returns the model compilation jobs whose name contains a specified - * string.

                                              - */ - NameContains?: string; - - /** - *

                                              The maximum number of model compilation jobs to return in the response.

                                              + *

                                              A filter that retrieves model compilation jobs with a specific DescribeCompilationJobResponse$CompilationJobStatus status.

                                              */ - MaxResults?: number; + StatusEquals?: CompilationJobStatus | string; /** *

                                              A filter that returns the model compilation jobs that were modified after a specified @@ -5454,21 +5518,34 @@ export interface ListCompilationJobsRequest { */ LastModifiedTimeAfter?: Date; + /** + *

                                              A filter that returns the model compilation jobs whose name contains a specified + * string.

                                              + */ + NameContains?: string; + /** *

                                              The sort order for results. The default is Ascending.

                                              */ SortOrder?: SortOrder | string; /** - *

                                              A filter that retrieves model compilation jobs with a specific DescribeCompilationJobResponse$CompilationJobStatus status.

                                              + *

                                              If the result of the previous ListCompilationJobs request was truncated, + * the response includes a NextToken. To retrieve the next set of model + * compilation jobs, use the token in the next request.

                                              */ - StatusEquals?: CompilationJobStatus | string; + NextToken?: string; /** - *

                                              A filter that returns the model compilation jobs that were created before a specified - * time.

                                              + *

                                              The field by which to sort results. The default is CreationTime.

                                              + */ + SortBy?: ListCompilationJobsSortBy | string; + + /** + *

                                              A filter that returns the model compilation jobs that were created after a specified + * time.

                                              */ - CreationTimeBefore?: Date; + CreationTimeAfter?: Date; } export namespace ListCompilationJobsRequest { @@ -5498,16 +5575,16 @@ export namespace ListCompilationJobsResponse { } export interface ListDomainsRequest { - /** - *

                                              Returns a list up to a specified limit.

                                              - */ - MaxResults?: number; - /** *

                                              If the previous response was truncated, you will receive this token. * Use it in your next request to receive the next set of results.

                                              */ NextToken?: string; + + /** + *

                                              Returns a list up to a specified limit.

                                              + */ + MaxResults?: number; } export namespace ListDomainsRequest { @@ -5542,22 +5619,14 @@ export enum OrderKey { export interface ListEndpointConfigsInput { /** - *

                                              A filter that returns only endpoint configurations created before the specified - * time (timestamp).

                                              - */ - CreationTimeBefore?: Date; - - /** - *

                                              A string in the endpoint configuration name. This filter returns only endpoint - * configurations whose name contains the specified string.

                                              + *

                                              The sort order for results. The default is Descending.

                                              */ - NameContains?: string; + SortOrder?: OrderKey | string; /** - *

                                              A filter that returns only endpoint configurations with a creation time greater - * than or equal to the specified time (timestamp).

                                              + *

                                              The maximum number of training jobs to return in the response.

                                              */ - CreationTimeAfter?: Date; + MaxResults?: number; /** *

                                              If the result of the previous ListEndpointConfig request was @@ -5567,19 +5636,27 @@ export interface ListEndpointConfigsInput { NextToken?: string; /** - *

                                              The maximum number of training jobs to return in the response.

                                              + *

                                              The field to sort results by. The default is CreationTime.

                                              */ - MaxResults?: number; + SortBy?: EndpointConfigSortKey | string; /** - *

                                              The field to sort results by. The default is CreationTime.

                                              + *

                                              A filter that returns only endpoint configurations created before the specified + * time (timestamp).

                                              */ - SortBy?: EndpointConfigSortKey | string; + CreationTimeBefore?: Date; /** - *

                                              The sort order for results. The default is Descending.

                                              + *

                                              A filter that returns only endpoint configurations with a creation time greater + * than or equal to the specified time (timestamp).

                                              */ - SortOrder?: OrderKey | string; + CreationTimeAfter?: Date; + + /** + *

                                              A string in the endpoint configuration name. This filter returns only endpoint + * configurations whose name contains the specified string.

                                              + */ + NameContains?: string; } export namespace ListEndpointConfigsInput { @@ -5609,15 +5686,21 @@ export namespace ListEndpointConfigsOutput { export interface ListEndpointsInput { /** - *

                                              A filter that returns only endpoints with the specified status.

                                              + *

                                              The sort order for results. The default is Descending.

                                              */ - StatusEquals?: EndpointStatus | string; + SortOrder?: OrderKey | string; /** - *

                                              A filter that returns only endpoints that were modified after the specified - * timestamp.

                                              + *

                                              A filter that returns only endpoints with a creation time greater than or equal to + * the specified time (timestamp).

                                              */ - LastModifiedTimeAfter?: Date; + CreationTimeAfter?: Date; + + /** + *

                                              A string in endpoint names. This filter returns only endpoints whose name contains + * the specified string.

                                              + */ + NameContains?: string; /** *

                                              Sorts the list of results. The default is CreationTime.

                                              @@ -5625,10 +5708,10 @@ export interface ListEndpointsInput { SortBy?: EndpointSortKey | string; /** - *

                                              A filter that returns only endpoints that were created before the specified time - * (timestamp).

                                              + *

                                              A filter that returns only endpoints that were modified after the specified + * timestamp.

                                              */ - CreationTimeBefore?: Date; + LastModifiedTimeAfter?: Date; /** *

                                              If the result of a ListEndpoints request was truncated, the response @@ -5643,27 +5726,21 @@ export interface ListEndpointsInput { MaxResults?: number; /** - *

                                              A string in endpoint names. This filter returns only endpoints whose name contains - * the specified string.

                                              - */ - NameContains?: string; - - /** - *

                                              The sort order for results. The default is Descending.

                                              + *

                                              A filter that returns only endpoints that were modified before the specified + * timestamp.

                                              */ - SortOrder?: OrderKey | string; + LastModifiedTimeBefore?: Date; /** - *

                                              A filter that returns only endpoints with a creation time greater than or equal to - * the specified time (timestamp).

                                              + *

                                              A filter that returns only endpoints with the specified status.

                                              */ - CreationTimeAfter?: Date; + StatusEquals?: EndpointStatus | string; /** - *

                                              A filter that returns only endpoints that were modified before the specified - * timestamp.

                                              + *

                                              A filter that returns only endpoints that were created before the specified time + * (timestamp).

                                              */ - LastModifiedTimeBefore?: Date; + CreationTimeBefore?: Date; } export namespace ListEndpointsInput { @@ -5673,16 +5750,16 @@ export namespace ListEndpointsInput { } export interface ListEndpointsOutput { - /** - *

                                              An array or endpoint objects.

                                              - */ - Endpoints: EndpointSummary[] | undefined; - /** *

                                              If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of * training jobs, use it in the subsequent request.

                                              */ NextToken?: string; + + /** + *

                                              An array or endpoint objects.

                                              + */ + Endpoints: EndpointSummary[] | undefined; } export namespace ListEndpointsOutput { @@ -5698,19 +5775,21 @@ export enum SortExperimentsBy { export interface ListExperimentsRequest { /** - *

                                              The sort order. The default value is Descending.

                                              + *

                                              If the previous call to ListExperiments didn't return the full set of + * experiments, the call returns a token for getting the next set of experiments.

                                              */ - SortOrder?: SortOrder | string; + NextToken?: string; /** - *

                                              A filter that returns only experiments created before the specified time.

                                              + *

                                              A filter that returns only experiments created after the specified time.

                                              */ - CreatedBefore?: Date; + CreatedAfter?: Date; /** - *

                                              A filter that returns only experiments created after the specified time.

                                              + *

                                              The maximum number of experiments to return in the response. The default value is + * 10.

                                              */ - CreatedAfter?: Date; + MaxResults?: number; /** *

                                              The property used to sort results. The default value is CreationTime.

                                              @@ -5718,16 +5797,14 @@ export interface ListExperimentsRequest { SortBy?: SortExperimentsBy | string; /** - *

                                              If the previous call to ListExperiments didn't return the full set of - * experiments, the call returns a token for getting the next set of experiments.

                                              + *

                                              The sort order. The default value is Descending.

                                              */ - NextToken?: string; + SortOrder?: SortOrder | string; /** - *

                                              The maximum number of experiments to return in the response. The default value is - * 10.

                                              + *

                                              A filter that returns only experiments created before the specified time.

                                              */ - MaxResults?: number; + CreatedBefore?: Date; } export namespace ListExperimentsRequest { @@ -5756,9 +5833,9 @@ export namespace ListExperimentsResponse { export interface ListFlowDefinitionsRequest { /** - *

                                              A token to resume pagination.

                                              + *

                                              A filter that returns only flow definitions that were created before the specified timestamp.

                                              */ - NextToken?: string; + CreationTimeBefore?: Date; /** *

                                              An optional value that specifies whether you want the results sorted in Ascending or Descending order.

                                              @@ -5766,19 +5843,19 @@ export interface ListFlowDefinitionsRequest { SortOrder?: SortOrder | string; /** - *

                                              A filter that returns only flow definitions with a creation time greater than or equal to the specified timestamp.

                                              + *

                                              The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken will be provided in the output that you can use to resume pagination.

                                              */ - CreationTimeAfter?: Date; + MaxResults?: number; /** - *

                                              The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken will be provided in the output that you can use to resume pagination.

                                              + *

                                              A filter that returns only flow definitions with a creation time greater than or equal to the specified timestamp.

                                              */ - MaxResults?: number; + CreationTimeAfter?: Date; /** - *

                                              A filter that returns only flow definitions that were created before the specified timestamp.

                                              + *

                                              A token to resume pagination.

                                              */ - CreationTimeBefore?: Date; + NextToken?: string; } export namespace ListFlowDefinitionsRequest { @@ -5807,29 +5884,29 @@ export namespace ListFlowDefinitionsResponse { export interface ListHumanTaskUisRequest { /** - *

                                              The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken will be provided in the output that you can use to resume pagination.

                                              + *

                                              A filter that returns only human task user interfaces with a creation time greater than or equal to the specified timestamp.

                                              */ - MaxResults?: number; + CreationTimeAfter?: Date; /** - *

                                              A filter that returns only human task user interfaces that were created before the specified timestamp.

                                              + *

                                              A token to resume pagination.

                                              */ - CreationTimeBefore?: Date; + NextToken?: string; /** - *

                                              An optional value that specifies whether you want the results sorted in Ascending or Descending order.

                                              + *

                                              The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken will be provided in the output that you can use to resume pagination.

                                              */ - SortOrder?: SortOrder | string; + MaxResults?: number; /** - *

                                              A token to resume pagination.

                                              + *

                                              An optional value that specifies whether you want the results sorted in Ascending or Descending order.

                                              */ - NextToken?: string; + SortOrder?: SortOrder | string; /** - *

                                              A filter that returns only human task user interfaces with a creation time greater than or equal to the specified timestamp.

                                              + *

                                              A filter that returns only human task user interfaces that were created before the specified timestamp.

                                              */ - CreationTimeAfter?: Date; + CreationTimeBefore?: Date; } export namespace ListHumanTaskUisRequest { @@ -5840,14 +5917,14 @@ export namespace ListHumanTaskUisRequest { export interface ListHumanTaskUisResponse { /** - *

                                              An array of objects describing the human task user interfaces.

                                              + *

                                              A token to resume pagination.

                                              */ - HumanTaskUiSummaries: HumanTaskUiSummary[] | undefined; + NextToken?: string; /** - *

                                              A token to resume pagination.

                                              + *

                                              An array of objects describing the human task user interfaces.

                                              */ - NextToken?: string; + HumanTaskUiSummaries: HumanTaskUiSummary[] | undefined; } export namespace ListHumanTaskUisResponse { @@ -5858,37 +5935,24 @@ export namespace ListHumanTaskUisResponse { export interface ListHyperParameterTuningJobsRequest { /** - *

                                              A filter that returns only tuning jobs that were created after the + *

                                              A filter that returns only tuning jobs that were created before the * specified * time.

                                              */ - CreationTimeAfter?: Date; - - /** - *

                                              If the result of the previous ListHyperParameterTuningJobs request was - * truncated, the response includes a NextToken. To retrieve the next set of - * tuning jobs, use the token in the next request.

                                              - */ - NextToken?: string; - - /** - *

                                              A string in the tuning job name. This filter returns only tuning jobs whose name - * contains the specified string.

                                              - */ - NameContains?: string; + CreationTimeBefore?: Date; /** - *

                                              A filter that returns only tuning jobs that were created before the + *

                                              A filter that returns only tuning jobs with the * specified - * time.

                                              + * status.

                                              */ - CreationTimeBefore?: Date; + StatusEquals?: HyperParameterTuningJobStatus | string; /** - *

                                              A filter that returns only tuning jobs that were modified before the specified + *

                                              A filter that returns only tuning jobs that were modified after the specified * time.

                                              */ - LastModifiedTimeBefore?: Date; + LastModifiedTimeAfter?: Date; /** *

                                              The @@ -5898,17 +5962,11 @@ export interface ListHyperParameterTuningJobsRequest { MaxResults?: number; /** - *

                                              A filter that returns only tuning jobs with the - * specified - * status.

                                              - */ - StatusEquals?: HyperParameterTuningJobStatus | string; - - /** - *

                                              A filter that returns only tuning jobs that were modified after the specified - * time.

                                              + *

                                              If the result of the previous ListHyperParameterTuningJobs request was + * truncated, the response includes a NextToken. To retrieve the next set of + * tuning jobs, use the token in the next request.

                                              */ - LastModifiedTimeAfter?: Date; + NextToken?: string; /** *

                                              The @@ -5923,6 +5981,25 @@ export interface ListHyperParameterTuningJobsRequest { * for results. The default is Ascending.

                                              */ SortOrder?: SortOrder | string; + + /** + *

                                              A string in the tuning job name. This filter returns only tuning jobs whose name + * contains the specified string.

                                              + */ + NameContains?: string; + + /** + *

                                              A filter that returns only tuning jobs that were created after the + * specified + * time.

                                              + */ + CreationTimeAfter?: Date; + + /** + *

                                              A filter that returns only tuning jobs that were modified before the specified + * time.

                                              + */ + LastModifiedTimeBefore?: Date; } export namespace ListHyperParameterTuningJobsRequest { @@ -5961,6 +6038,29 @@ export enum SortBy { } export interface ListLabelingJobsRequest { + /** + *

                                              A filter that returns only labeling jobs created before the specified time + * (timestamp).

                                              + */ + CreationTimeBefore?: Date; + + /** + *

                                              A filter that retrieves only labeling jobs with a specific status.

                                              + */ + StatusEquals?: LabelingJobStatus | string; + + /** + *

                                              A filter that returns only labeling jobs modified before the specified time + * (timestamp).

                                              + */ + LastModifiedTimeBefore?: Date; + + /** + *

                                              A filter that returns only labeling jobs modified after the specified time + * (timestamp).

                                              + */ + LastModifiedTimeAfter?: Date; + /** *

                                              A string in the labeling job name. This filter returns only labeling jobs whose name * contains the specified string.

                                              @@ -5968,11 +6068,9 @@ export interface ListLabelingJobsRequest { NameContains?: string; /** - *

                                              If the result of the previous ListLabelingJobs request was truncated, the - * response includes a NextToken. To retrieve the next set of labeling jobs, - * use the token in the next request.

                                              + *

                                              The sort order for results. The default is Ascending.

                                              */ - NextToken?: string; + SortOrder?: SortOrder | string; /** *

                                              A filter that returns only labeling jobs created after the specified time @@ -5986,37 +6084,16 @@ export interface ListLabelingJobsRequest { SortBy?: SortBy | string; /** - *

                                              The sort order for results. The default is Ascending.

                                              - */ - SortOrder?: SortOrder | string; - - /** - *

                                              A filter that retrieves only labeling jobs with a specific status.

                                              - */ - StatusEquals?: LabelingJobStatus | string; - - /** - *

                                              A filter that returns only labeling jobs modified after the specified time - * (timestamp).

                                              + *

                                              If the result of the previous ListLabelingJobs request was truncated, the + * response includes a NextToken. To retrieve the next set of labeling jobs, + * use the token in the next request.

                                              */ - LastModifiedTimeAfter?: Date; + NextToken?: string; /** *

                                              The maximum number of labeling jobs to return in each page of the response.

                                              */ MaxResults?: number; - - /** - *

                                              A filter that returns only labeling jobs created before the specified time - * (timestamp).

                                              - */ - CreationTimeBefore?: Date; - - /** - *

                                              A filter that returns only labeling jobs modified before the specified time - * (timestamp).

                                              - */ - LastModifiedTimeBefore?: Date; } export namespace ListLabelingJobsRequest { @@ -6050,35 +6127,17 @@ export enum ListLabelingJobsForWorkteamSortByOptions { } export interface ListLabelingJobsForWorkteamRequest { - /** - *

                                              The field to sort results by. The default is CreationTime.

                                              - */ - SortBy?: ListLabelingJobsForWorkteamSortByOptions | string; - /** *

                                              A filter the limits jobs to only the ones whose job reference code contains the * specified string.

                                              */ JobReferenceCodeContains?: string; - /** - *

                                              If the result of the previous ListLabelingJobsForWorkteam request was - * truncated, the response includes a NextToken. To retrieve the next set of - * labeling jobs, use the token in the next request.

                                              - */ - NextToken?: string; - /** *

                                              The maximum number of labeling jobs to return in each page of the response.

                                              */ MaxResults?: number; - /** - *

                                              A filter that returns only labeling jobs created before the specified time - * (timestamp).

                                              - */ - CreationTimeBefore?: Date; - /** *

                                              The sort order for results. The default is Ascending.

                                              */ @@ -6095,6 +6154,24 @@ export interface ListLabelingJobsForWorkteamRequest { * jobs for.

                                              */ WorkteamArn: string | undefined; + + /** + *

                                              The field to sort results by. The default is CreationTime.

                                              + */ + SortBy?: ListLabelingJobsForWorkteamSortByOptions | string; + + /** + *

                                              A filter that returns only labeling jobs created before the specified time + * (timestamp).

                                              + */ + CreationTimeBefore?: Date; + + /** + *

                                              If the result of the previous ListLabelingJobsForWorkteam request was + * truncated, the response includes a NextToken. To retrieve the next set of + * labeling jobs, use the token in the next request.

                                              + */ + NextToken?: string; } export namespace ListLabelingJobsForWorkteamRequest { @@ -6130,20 +6207,17 @@ export enum ModelPackageSortBy { export interface ListModelPackagesInput { /** - *

                                              The maximum number of model packages to return in the response.

                                              - */ - MaxResults?: number; - - /** - *

                                              The sort order for the results. The default is Ascending.

                                              + *

                                              If the response to a previous ListModelPackages request was truncated, + * the response includes a NextToken. To retrieve the next set of model + * packages, use the token in the next request.

                                              */ - SortOrder?: SortOrder | string; + NextToken?: string; /** - *

                                              The parameter by which to sort the results. The default is - * CreationTime.

                                              + *

                                              A string in the model package name. This filter returns only model packages whose name + * contains the specified string.

                                              */ - SortBy?: ModelPackageSortBy | string; + NameContains?: string; /** *

                                              A filter that returns only model packages created after the specified time @@ -6158,17 +6232,20 @@ export interface ListModelPackagesInput { CreationTimeBefore?: Date; /** - *

                                              If the response to a previous ListModelPackages request was truncated, - * the response includes a NextToken. To retrieve the next set of model - * packages, use the token in the next request.

                                              + *

                                              The maximum number of model packages to return in the response.

                                              */ - NextToken?: string; + MaxResults?: number; /** - *

                                              A string in the model package name. This filter returns only model packages whose name - * contains the specified string.

                                              + *

                                              The sort order for the results. The default is Ascending.

                                              */ - NameContains?: string; + SortOrder?: SortOrder | string; + + /** + *

                                              The parameter by which to sort the results. The default is + * CreationTime.

                                              + */ + SortBy?: ModelPackageSortBy | string; } export namespace ListModelPackagesInput { @@ -6182,9 +6259,9 @@ export namespace ListModelPackagesInput { */ export interface ModelPackageSummary { /** - *

                                              The name of the model package.

                                              + *

                                              The overall status of the model package.

                                              */ - ModelPackageName: string | undefined; + ModelPackageStatus: ModelPackageStatus | string | undefined; /** *

                                              The Amazon Resource Name (ARN) of the model package.

                                              @@ -6192,19 +6269,19 @@ export interface ModelPackageSummary { ModelPackageArn: string | undefined; /** - *

                                              A brief description of the model package.

                                              + *

                                              A timestamp that shows when the model package was created.

                                              */ - ModelPackageDescription?: string; + CreationTime: Date | undefined; /** - *

                                              The overall status of the model package.

                                              + *

                                              The name of the model package.

                                              */ - ModelPackageStatus: ModelPackageStatus | string | undefined; + ModelPackageName: string | undefined; /** - *

                                              A timestamp that shows when the model package was created.

                                              + *

                                              A brief description of the model package.

                                              */ - CreationTime: Date | undefined; + ModelPackageDescription?: string; } export namespace ModelPackageSummary { @@ -6214,17 +6291,17 @@ export namespace ModelPackageSummary { } export interface ListModelPackagesOutput { - /** - *

                                              An array of ModelPackageSummary objects, each of which lists a model - * package.

                                              - */ - ModelPackageSummaryList: ModelPackageSummary[] | undefined; - /** *

                                              If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of * model packages, use it in the subsequent request.

                                              */ NextToken?: string; + + /** + *

                                              An array of ModelPackageSummary objects, each of which lists a model + * package.

                                              + */ + ModelPackageSummaryList: ModelPackageSummary[] | undefined; } export namespace ListModelPackagesOutput { @@ -6240,29 +6317,27 @@ export enum ModelSortKey { export interface ListModelsInput { /** - *

                                              A filter that returns only models with a creation time greater than or equal to the - * specified time (timestamp).

                                              + *

                                              Sorts the list of results. The default is CreationTime.

                                              */ - CreationTimeAfter?: Date; + SortBy?: ModelSortKey | string; /** - *

                                              If the response to a previous ListModels request was truncated, the - * response includes a NextToken. To retrieve the next set of models, use the - * token in the next request.

                                              + *

                                              A filter that returns only models created before the specified time + * (timestamp).

                                              */ - NextToken?: string; + CreationTimeBefore?: Date; /** - *

                                              A string in the training job name. This filter returns only models in the training - * job whose name contains the specified string.

                                              + *

                                              The sort order for results. The default is Descending.

                                              */ - NameContains?: string; + SortOrder?: OrderKey | string; /** - *

                                              A filter that returns only models created before the specified time - * (timestamp).

                                              + *

                                              If the response to a previous ListModels request was truncated, the + * response includes a NextToken. To retrieve the next set of models, use the + * token in the next request.

                                              */ - CreationTimeBefore?: Date; + NextToken?: string; /** *

                                              The maximum number of models to return in the response.

                                              @@ -6270,14 +6345,16 @@ export interface ListModelsInput { MaxResults?: number; /** - *

                                              Sorts the list of results. The default is CreationTime.

                                              + *

                                              A string in the training job name. This filter returns only models in the training + * job whose name contains the specified string.

                                              */ - SortBy?: ModelSortKey | string; + NameContains?: string; /** - *

                                              The sort order for results. The default is Descending.

                                              + *

                                              A filter that returns only models with a creation time greater than or equal to the + * specified time (timestamp).

                                              */ - SortOrder?: OrderKey | string; + CreationTimeAfter?: Date; } export namespace ListModelsInput { @@ -6290,11 +6367,6 @@ export namespace ListModelsInput { *

                                              Provides summary information about a model.

                                              */ export interface ModelSummary { - /** - *

                                              A timestamp that indicates when the model was created.

                                              - */ - CreationTime: Date | undefined; - /** *

                                              The Amazon Resource Name (ARN) of the model.

                                              */ @@ -6304,6 +6376,11 @@ export interface ModelSummary { *

                                              The name of the model that you want a summary for.

                                              */ ModelName: string | undefined; + + /** + *

                                              A timestamp that indicates when the model was created.

                                              + */ + CreationTime: Date | undefined; } export namespace ModelSummary { @@ -6313,17 +6390,17 @@ export namespace ModelSummary { } export interface ListModelsOutput { - /** - *

                                              If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * models, use it in the subsequent request.

                                              - */ - NextToken?: string; - /** *

                                              An array of ModelSummary objects, each of which lists a * model.

                                              */ Models: ModelSummary[] | undefined; + + /** + *

                                              If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * models, use it in the subsequent request.

                                              + */ + NextToken?: string; } export namespace ListModelsOutput { @@ -6346,19 +6423,20 @@ export interface ListMonitoringExecutionsRequest { SortOrder?: SortOrder | string; /** - *

                                              A filter that returns only jobs modified after a specified time.

                                              + *

                                              Name of a specific schedule to fetch jobs for.

                                              */ - LastModifiedTimeBefore?: Date; + MonitoringScheduleName?: string; /** - *

                                              A filter that returns only jobs modified before a specified time.

                                              + *

                                              Filter for jobs scheduled after a specified time.

                                              */ - LastModifiedTimeAfter?: Date; + ScheduledTimeAfter?: Date; /** - *

                                              Filter for jobs scheduled after a specified time.

                                              + *

                                              The token returned if the response is truncated. To retrieve the next set of job + * executions, use it in the next request.

                                              */ - ScheduledTimeAfter?: Date; + NextToken?: string; /** *

                                              The maximum number of jobs to return in the response. The default value is 10.

                                              @@ -6366,46 +6444,45 @@ export interface ListMonitoringExecutionsRequest { MaxResults?: number; /** - *

                                              Filter for jobs scheduled before a specified time.

                                              + *

                                              A filter that returns only jobs modified after a specified time.

                                              */ - ScheduledTimeBefore?: Date; + LastModifiedTimeBefore?: Date; /** - *

                                              Whether to sort results by Status, CreationTime, - * ScheduledTime field. The default is CreationTime.

                                              + *

                                              A filter that retrieves only jobs with a specific status.

                                              */ - SortBy?: MonitoringExecutionSortKey | string; + StatusEquals?: ExecutionStatus | string; /** - *

                                              The token returned if the response is truncated. To retrieve the next set of job - * executions, use it in the next request.

                                              + *

                                              A filter that returns only jobs modified before a specified time.

                                              */ - NextToken?: string; + LastModifiedTimeAfter?: Date; /** - *

                                              Name of a specific endpoint to fetch jobs for.

                                              + *

                                              A filter that returns only jobs created before a specified time.

                                              */ - EndpointName?: string; + CreationTimeBefore?: Date; /** - *

                                              Name of a specific schedule to fetch jobs for.

                                              + *

                                              Whether to sort results by Status, CreationTime, + * ScheduledTime field. The default is CreationTime.

                                              */ - MonitoringScheduleName?: string; + SortBy?: MonitoringExecutionSortKey | string; /** - *

                                              A filter that returns only jobs created before a specified time.

                                              + *

                                              A filter that returns only jobs created after a specified time.

                                              */ - CreationTimeBefore?: Date; + CreationTimeAfter?: Date; /** - *

                                              A filter that retrieves only jobs with a specific status.

                                              + *

                                              Filter for jobs scheduled before a specified time.

                                              */ - StatusEquals?: ExecutionStatus | string; + ScheduledTimeBefore?: Date; /** - *

                                              A filter that returns only jobs created after a specified time.

                                              + *

                                              Name of a specific endpoint to fetch jobs for.

                                              */ - CreationTimeAfter?: Date; + EndpointName?: string; } export namespace ListMonitoringExecutionsRequest { @@ -6441,62 +6518,62 @@ export enum MonitoringScheduleSortKey { export interface ListMonitoringSchedulesRequest { /** - *

                                              The maximum number of jobs to return in the response. The default value is 10.

                                              + *

                                              Filter for monitoring schedules whose name contains a specified string.

                                              */ - MaxResults?: number; + NameContains?: string; /** - *

                                              A filter that returns only monitoring schedules modified after a specified time.

                                              + *

                                              A filter that returns only monitoring schedules created after a specified time.

                                              */ - LastModifiedTimeAfter?: Date; + CreationTimeAfter?: Date; /** - *

                                              Name of a specific endpoint to fetch schedules for.

                                              + *

                                              A filter that returns only monitoring schedules modified before a specified time.

                                              */ - EndpointName?: string; + LastModifiedTimeBefore?: Date; /** - *

                                              Whether to sort results by Status, CreationTime, - * ScheduledTime field. The default is CreationTime.

                                              + *

                                              A filter that returns only monitoring schedules modified before a specified time.

                                              */ - SortBy?: MonitoringScheduleSortKey | string; + StatusEquals?: ScheduleStatus | string; /** - *

                                              Whether to sort the results in Ascending or Descending order. - * The default is Descending.

                                              + *

                                              Name of a specific endpoint to fetch schedules for.

                                              */ - SortOrder?: SortOrder | string; + EndpointName?: string; /** - *

                                              The token returned if the response is truncated. To retrieve the next set of job - * executions, use it in the next request.

                                              + *

                                              A filter that returns only monitoring schedules modified after a specified time.

                                              */ - NextToken?: string; + LastModifiedTimeAfter?: Date; /** - *

                                              A filter that returns only monitoring schedules created after a specified time.

                                              + *

                                              A filter that returns only monitoring schedules created before a specified time.

                                              */ - CreationTimeAfter?: Date; + CreationTimeBefore?: Date; /** - *

                                              Filter for monitoring schedules whose name contains a specified string.

                                              + *

                                              The maximum number of jobs to return in the response. The default value is 10.

                                              */ - NameContains?: string; + MaxResults?: number; /** - *

                                              A filter that returns only monitoring schedules created before a specified time.

                                              + *

                                              The token returned if the response is truncated. To retrieve the next set of job + * executions, use it in the next request.

                                              */ - CreationTimeBefore?: Date; + NextToken?: string; /** - *

                                              A filter that returns only monitoring schedules modified before a specified time.

                                              + *

                                              Whether to sort the results in Ascending or Descending order. + * The default is Descending.

                                              */ - StatusEquals?: ScheduleStatus | string; + SortOrder?: SortOrder | string; /** - *

                                              A filter that returns only monitoring schedules modified before a specified time.

                                              + *

                                              Whether to sort results by Status, CreationTime, + * ScheduledTime field. The default is CreationTime.

                                              */ - LastModifiedTimeBefore?: Date; + SortBy?: MonitoringScheduleSortKey | string; } export namespace ListMonitoringSchedulesRequest { @@ -6510,34 +6587,34 @@ export namespace ListMonitoringSchedulesRequest { */ export interface MonitoringScheduleSummary { /** - *

                                              The last time the monitoring schedule was modified.

                                              + *

                                              The name of the monitoring schedule.

                                              */ - LastModifiedTime: Date | undefined; + MonitoringScheduleName: string | undefined; /** - *

                                              The creation time of the monitoring schedule.

                                              + *

                                              The Amazon Resource Name (ARN) of the monitoring schedule.

                                              */ - CreationTime: Date | undefined; + MonitoringScheduleArn: string | undefined; /** - *

                                              The name of the endpoint using the monitoring schedule.

                                              + *

                                              The creation time of the monitoring schedule.

                                              */ - EndpointName?: string; + CreationTime: Date | undefined; /** - *

                                              The status of the monitoring schedule.

                                              + *

                                              The last time the monitoring schedule was modified.

                                              */ - MonitoringScheduleStatus: ScheduleStatus | string | undefined; + LastModifiedTime: Date | undefined; /** - *

                                              The name of the monitoring schedule.

                                              + *

                                              The name of the endpoint using the monitoring schedule.

                                              */ - MonitoringScheduleName: string | undefined; + EndpointName?: string; /** - *

                                              The Amazon Resource Name (ARN) of the monitoring schedule.

                                              + *

                                              The status of the monitoring schedule.

                                              */ - MonitoringScheduleArn: string | undefined; + MonitoringScheduleStatus: ScheduleStatus | string | undefined; } export namespace MonitoringScheduleSummary { @@ -6578,27 +6655,26 @@ export enum NotebookInstanceLifecycleConfigSortOrder { export interface ListNotebookInstanceLifecycleConfigsInput { /** - *

                                              The maximum number of lifecycle configurations to return in the response.

                                              + *

                                              The sort order for results.

                                              */ - MaxResults?: number; + SortOrder?: NotebookInstanceLifecycleConfigSortOrder | string; /** - *

                                              A filter that returns only lifecycle configurations that were modified after the - * specified time (timestamp).

                                              + *

                                              A string in the lifecycle configuration name. This filter returns only lifecycle + * configurations whose name contains the specified string.

                                              */ - LastModifiedTimeAfter?: Date; + NameContains?: string; /** - *

                                              A filter that returns only lifecycle configurations that were created before the + *

                                              A filter that returns only lifecycle configurations that were created after the * specified time (timestamp).

                                              */ - CreationTimeBefore?: Date; + CreationTimeAfter?: Date; /** - *

                                              A filter that returns only lifecycle configurations that were modified before the - * specified time (timestamp).

                                              + *

                                              The maximum number of lifecycle configurations to return in the response.

                                              */ - LastModifiedTimeBefore?: Date; + MaxResults?: number; /** *

                                              If the result of a ListNotebookInstanceLifecycleConfigs request was @@ -6608,26 +6684,27 @@ export interface ListNotebookInstanceLifecycleConfigsInput { NextToken?: string; /** - *

                                              A filter that returns only lifecycle configurations that were created after the - * specified time (timestamp).

                                              + *

                                              Sorts the list of results. The default is CreationTime.

                                              */ - CreationTimeAfter?: Date; + SortBy?: NotebookInstanceLifecycleConfigSortKey | string; /** - *

                                              A string in the lifecycle configuration name. This filter returns only lifecycle - * configurations whose name contains the specified string.

                                              + *

                                              A filter that returns only lifecycle configurations that were created before the + * specified time (timestamp).

                                              */ - NameContains?: string; + CreationTimeBefore?: Date; /** - *

                                              Sorts the list of results. The default is CreationTime.

                                              + *

                                              A filter that returns only lifecycle configurations that were modified after the + * specified time (timestamp).

                                              */ - SortBy?: NotebookInstanceLifecycleConfigSortKey | string; + LastModifiedTimeAfter?: Date; /** - *

                                              The sort order for results.

                                              + *

                                              A filter that returns only lifecycle configurations that were modified before the + * specified time (timestamp).

                                              */ - SortOrder?: NotebookInstanceLifecycleConfigSortOrder | string; + LastModifiedTimeBefore?: Date; } export namespace ListNotebookInstanceLifecycleConfigsInput { @@ -6641,24 +6718,24 @@ export namespace ListNotebookInstanceLifecycleConfigsInput { */ export interface NotebookInstanceLifecycleConfigSummary { /** - *

                                              The name of the lifecycle configuration.

                                              + *

                                              A timestamp that tells when the lifecycle configuration was last modified.

                                              */ - NotebookInstanceLifecycleConfigName: string | undefined; + LastModifiedTime?: Date; /** - *

                                              The Amazon Resource Name (ARN) of the lifecycle configuration.

                                              + *

                                              A timestamp that tells when the lifecycle configuration was created.

                                              */ - NotebookInstanceLifecycleConfigArn: string | undefined; + CreationTime?: Date; /** - *

                                              A timestamp that tells when the lifecycle configuration was last modified.

                                              + *

                                              The Amazon Resource Name (ARN) of the lifecycle configuration.

                                              */ - LastModifiedTime?: Date; + NotebookInstanceLifecycleConfigArn: string | undefined; /** - *

                                              A timestamp that tells when the lifecycle configuration was created.

                                              + *

                                              The name of the lifecycle configuration.

                                              */ - CreationTime?: Date; + NotebookInstanceLifecycleConfigName: string | undefined; } export namespace NotebookInstanceLifecycleConfigSummary { @@ -6700,10 +6777,10 @@ export enum NotebookInstanceSortOrder { export interface ListNotebookInstancesInput { /** - *

                                              A filter that returns only notebook instances that were modified before the - * specified time (timestamp).

                                              + *

                                              A filter that returns only notebook instances that were created after the specified + * time (timestamp).

                                              */ - LastModifiedTimeBefore?: Date; + CreationTimeAfter?: Date; /** *

                                              A string in the name of a notebook instances lifecycle configuration associated with @@ -6731,56 +6808,56 @@ export interface ListNotebookInstancesInput { SortBy?: NotebookInstanceSortKey | string; /** - *

                                              The sort order for results.

                                              + *

                                              A filter that returns only notebook instances with the specified status.

                                              */ - SortOrder?: NotebookInstanceSortOrder | string; + StatusEquals?: NotebookInstanceStatus | string; /** - *

                                              A filter that returns only notebook instances that were modified after the - * specified time (timestamp).

                                              + *

                                              A filter that returns only notebook instances with associated with the specified git + * repository.

                                              */ - LastModifiedTimeAfter?: Date; + AdditionalCodeRepositoryEquals?: string; /** - *

                                              The maximum number of notebook instances to return.

                                              + *

                                              A filter that returns only notebook instances that were modified after the + * specified time (timestamp).

                                              */ - MaxResults?: number; + LastModifiedTimeAfter?: Date; /** - *

                                              A filter that returns only notebook instances that were created before the - * specified time (timestamp).

                                              + *

                                              A filter that returns only notebook instances that were modified before the + * specified time (timestamp).

                                              */ - CreationTimeBefore?: Date; + LastModifiedTimeBefore?: Date; /** - *

                                              A string in the name or URL of a Git repository associated with this notebook - * instance. This filter returns only notebook instances associated with a git repository - * with a name that contains the specified string.

                                              + *

                                              A string in the notebook instances' name. This filter returns only notebook + * instances whose name contains the specified string.

                                              */ - DefaultCodeRepositoryContains?: string; + NameContains?: string; /** - *

                                              A filter that returns only notebook instances with the specified status.

                                              + *

                                              The maximum number of notebook instances to return.

                                              */ - StatusEquals?: NotebookInstanceStatus | string; + MaxResults?: number; /** - *

                                              A filter that returns only notebook instances that were created after the specified - * time (timestamp).

                                              + *

                                              The sort order for results.

                                              */ - CreationTimeAfter?: Date; + SortOrder?: NotebookInstanceSortOrder | string; /** - *

                                              A string in the notebook instances' name. This filter returns only notebook - * instances whose name contains the specified string.

                                              + *

                                              A filter that returns only notebook instances that were created before the + * specified time (timestamp).

                                              */ - NameContains?: string; + CreationTimeBefore?: Date; /** - *

                                              A filter that returns only notebook instances with associated with the specified git - * repository.

                                              + *

                                              A string in the name or URL of a Git repository associated with this notebook + * instance. This filter returns only notebook instances associated with a git repository + * with a name that contains the specified string.

                                              */ - AdditionalCodeRepositoryEquals?: string; + DefaultCodeRepositoryContains?: string; } export namespace ListNotebookInstancesInput { @@ -6793,6 +6870,11 @@ export namespace ListNotebookInstancesInput { *

                                              Provides summary information for an Amazon SageMaker notebook instance.

                                              */ export interface NotebookInstanceSummary { + /** + *

                                              The Amazon Resource Name (ARN) of the notebook instance.

                                              + */ + NotebookInstanceArn: string | undefined; + /** *

                                              A timestamp that shows when the notebook instance was created.

                                              */ @@ -6808,6 +6890,11 @@ export interface NotebookInstanceSummary { */ DefaultCodeRepository?: string; + /** + *

                                              The status of the notebook instance.

                                              + */ + NotebookInstanceStatus?: NotebookInstanceStatus | string; + /** *

                                              An array of up to three Git repositories associated with the notebook instance. These * can be either the names of Git repositories stored as resources in your account, or the @@ -6819,19 +6906,21 @@ export interface NotebookInstanceSummary { AdditionalCodeRepositories?: string[]; /** - *

                                              A timestamp that shows when the notebook instance was last modified.

                                              + *

                                              The + * URL that you use to connect to the Jupyter instance running in your notebook instance. + *

                                              */ - LastModifiedTime?: Date; + Url?: string; /** - *

                                              The Amazon Resource Name (ARN) of the notebook instance.

                                              + *

                                              A timestamp that shows when the notebook instance was last modified.

                                              */ - NotebookInstanceArn: string | undefined; + LastModifiedTime?: Date; /** - *

                                              The status of the notebook instance.

                                              + *

                                              The type of ML compute instance that the notebook instance is running on.

                                              */ - NotebookInstanceStatus?: NotebookInstanceStatus | string; + InstanceType?: _InstanceType | string; /** *

                                              The name of a notebook instance lifecycle configuration associated with this notebook @@ -6845,18 +6934,6 @@ export interface NotebookInstanceSummary { *

                                              The name of the notebook instance that you want a summary for.

                                              */ NotebookInstanceName: string | undefined; - - /** - *

                                              The type of ML compute instance that the notebook instance is running on.

                                              - */ - InstanceType?: _InstanceType | string; - - /** - *

                                              The - * URL that you use to connect to the Jupyter instance running in your notebook instance. - *

                                              - */ - Url?: string; } export namespace NotebookInstanceSummary { @@ -6866,18 +6943,18 @@ export namespace NotebookInstanceSummary { } export interface ListNotebookInstancesOutput { + /** + *

                                              An array of NotebookInstanceSummary objects, one for each notebook + * instance.

                                              + */ + NotebookInstances?: NotebookInstanceSummary[]; + /** *

                                              If the response to the previous ListNotebookInstances request was * truncated, Amazon SageMaker returns this token. To retrieve the next set of notebook instances, use * the token in the next request.

                                              */ NextToken?: string; - - /** - *

                                              An array of NotebookInstanceSummary objects, one for each notebook - * instance.

                                              - */ - NotebookInstances?: NotebookInstanceSummary[]; } export namespace ListNotebookInstancesOutput { @@ -6888,14 +6965,20 @@ export namespace ListNotebookInstancesOutput { export interface ListProcessingJobsRequest { /** - *

                                              The field to sort results by. The default is CreationTime.

                                              + *

                                              A filter that returns only processing jobs modified after the specified time.

                                              */ - SortBy?: SortBy | string; + LastModifiedTimeAfter?: Date; /** - *

                                              A filter that returns only processing jobs created after the specified time.

                                              + *

                                              The maximum number of processing jobs to return in the response.

                                              */ - CreationTimeBefore?: Date; + MaxResults?: number; + + /** + *

                                              A string in the processing job name. This filter returns only processing jobs whose + * name contains the specified string.

                                              + */ + NameContains?: string; /** *

                                              A filter that returns only processing jobs created after the specified time.

                                              @@ -6907,16 +6990,6 @@ export interface ListProcessingJobsRequest { */ LastModifiedTimeBefore?: Date; - /** - *

                                              A filter that retrieves only processing jobs with a specific status.

                                              - */ - StatusEquals?: ProcessingJobStatus | string; - - /** - *

                                              The sort order for results. The default is Ascending.

                                              - */ - SortOrder?: SortOrder | string; - /** *

                                              If the result of the previous ListProcessingJobs request was truncated, * the response includes a NextToken. To retrieve the next set of processing @@ -6925,20 +6998,24 @@ export interface ListProcessingJobsRequest { NextToken?: string; /** - *

                                              The maximum number of processing jobs to return in the response.

                                              + *

                                              The field to sort results by. The default is CreationTime.

                                              */ - MaxResults?: number; + SortBy?: SortBy | string; /** - *

                                              A filter that returns only processing jobs modified after the specified time.

                                              + *

                                              The sort order for results. The default is Ascending.

                                              */ - LastModifiedTimeAfter?: Date; + SortOrder?: SortOrder | string; /** - *

                                              A string in the processing job name. This filter returns only processing jobs whose - * name contains the specified string.

                                              + *

                                              A filter that retrieves only processing jobs with a specific status.

                                              */ - NameContains?: string; + StatusEquals?: ProcessingJobStatus | string; + + /** + *

                                              A filter that returns only processing jobs created after the specified time.

                                              + */ + CreationTimeBefore?: Date; } export namespace ListProcessingJobsRequest { @@ -6952,19 +7029,9 @@ export namespace ListProcessingJobsRequest { */ export interface ProcessingJobSummary { /** - *

                                              A timestamp that indicates the last time the processing job was modified.

                                              - */ - LastModifiedTime?: Date; - - /** - *

                                              The time at which the processing job was created.

                                              - */ - CreationTime: Date | undefined; - - /** - *

                                              The status of the processing job.

                                              + *

                                              The Amazon Resource Name (ARN) of the processing job..

                                              */ - ProcessingJobStatus: ProcessingJobStatus | string | undefined; + ProcessingJobArn: string | undefined; /** *

                                              The time at which the processing job completed.

                                              @@ -6977,11 +7044,6 @@ export interface ProcessingJobSummary { */ ExitMessage?: string; - /** - *

                                              The Amazon Resource Name (ARN) of the processing job..

                                              - */ - ProcessingJobArn: string | undefined; - /** *

                                              The name of the processing job.

                                              */ @@ -6992,6 +7054,21 @@ export interface ProcessingJobSummary { * it failed.

                                              */ FailureReason?: string; + + /** + *

                                              A timestamp that indicates the last time the processing job was modified.

                                              + */ + LastModifiedTime?: Date; + + /** + *

                                              The time at which the processing job was created.

                                              + */ + CreationTime: Date | undefined; + + /** + *

                                              The status of the processing job.

                                              + */ + ProcessingJobStatus: ProcessingJobStatus | string | undefined; } export namespace ProcessingJobSummary { @@ -7021,6 +7098,11 @@ export namespace ListProcessingJobsResponse { } export interface ListSubscribedWorkteamsRequest { + /** + *

                                              The maximum number of work teams to return in each page of the response.

                                              + */ + MaxResults?: number; + /** *

                                              If the result of the previous ListSubscribedWorkteams request was * truncated, the response includes a NextToken. To retrieve the next set of @@ -7033,11 +7115,6 @@ export interface ListSubscribedWorkteamsRequest { * contains the specified string.

                                              */ NameContains?: string; - - /** - *

                                              The maximum number of work teams to return in each page of the response.

                                              - */ - MaxResults?: number; } export namespace ListSubscribedWorkteamsRequest { @@ -7067,10 +7144,11 @@ export namespace ListSubscribedWorkteamsResponse { export interface ListTagsInput { /** - *

                                              The Amazon Resource Name (ARN) of the resource whose tags you want to - * retrieve.

                                              + *

                                              If the response to the previous ListTags request is truncated, Amazon SageMaker + * returns this token. To retrieve the next set of tags, use it in the subsequent request. + *

                                              */ - ResourceArn: string | undefined; + NextToken?: string; /** *

                                              Maximum number of tags to return.

                                              @@ -7078,11 +7156,10 @@ export interface ListTagsInput { MaxResults?: number; /** - *

                                              If the response to the previous ListTags request is truncated, Amazon SageMaker - * returns this token. To retrieve the next set of tags, use it in the subsequent request. - *

                                              + *

                                              The Amazon Resource Name (ARN) of the resource whose tags you want to + * retrieve.

                                              */ - NextToken?: string; + ResourceArn: string | undefined; } export namespace ListTagsInput { @@ -7112,37 +7189,37 @@ export namespace ListTagsOutput { export interface ListTrainingJobsRequest { /** - *

                                              A filter that returns only training jobs created before the specified time - * (timestamp).

                                              + *

                                              The maximum number of training jobs to return in the response.

                                              */ - CreationTimeBefore?: Date; + MaxResults?: number; /** - *

                                              The field to sort results by. The default is CreationTime.

                                              + *

                                              The sort order for results. The default is Ascending.

                                              */ - SortBy?: SortBy | string; + SortOrder?: SortOrder | string; /** - *

                                              A filter that returns only training jobs modified before the specified time - * (timestamp).

                                              + *

                                              A string in the training job name. This filter returns only training jobs whose + * name contains the specified string.

                                              */ - LastModifiedTimeBefore?: Date; + NameContains?: string; /** - *

                                              The maximum number of training jobs to return in the response.

                                              + *

                                              A filter that returns only training jobs created after the specified time + * (timestamp).

                                              */ - MaxResults?: number; + CreationTimeAfter?: Date; /** - *

                                              A filter that returns only training jobs modified after the specified time + *

                                              A filter that returns only training jobs modified before the specified time * (timestamp).

                                              */ - LastModifiedTimeAfter?: Date; + LastModifiedTimeBefore?: Date; /** - *

                                              A filter that retrieves only training jobs with a specific status.

                                              + *

                                              The field to sort results by. The default is CreationTime.

                                              */ - StatusEquals?: TrainingJobStatus | string; + SortBy?: SortBy | string; /** *

                                              If the result of the previous ListTrainingJobs request was truncated, @@ -7152,21 +7229,21 @@ export interface ListTrainingJobsRequest { NextToken?: string; /** - *

                                              The sort order for results. The default is Ascending.

                                              + *

                                              A filter that returns only training jobs created before the specified time + * (timestamp).

                                              */ - SortOrder?: SortOrder | string; + CreationTimeBefore?: Date; /** - *

                                              A filter that returns only training jobs created after the specified time + *

                                              A filter that returns only training jobs modified after the specified time * (timestamp).

                                              */ - CreationTimeAfter?: Date; + LastModifiedTimeAfter?: Date; /** - *

                                              A string in the training job name. This filter returns only training jobs whose - * name contains the specified string.

                                              + *

                                              A filter that retrieves only training jobs with a specific status.

                                              */ - NameContains?: string; + StatusEquals?: TrainingJobStatus | string; } export namespace ListTrainingJobsRequest { @@ -7180,36 +7257,36 @@ export namespace ListTrainingJobsRequest { */ export interface TrainingJobSummary { /** - *

                                              The status of the training job.

                                              + *

                                              A timestamp that shows when the training job was created.

                                              */ - TrainingJobStatus: TrainingJobStatus | string | undefined; + CreationTime: Date | undefined; /** - *

                                              The Amazon Resource Name (ARN) of the training job.

                                              + *

                                              Timestamp when the training job was last modified.

                                              */ - TrainingJobArn: string | undefined; + LastModifiedTime?: Date; /** - *

                                              A timestamp that shows when the training job ended. This field is set only if the - * training job has one of the terminal statuses (Completed, - * Failed, or Stopped).

                                              + *

                                              The name of the training job that you want a summary for.

                                              */ - TrainingEndTime?: Date; + TrainingJobName: string | undefined; /** - *

                                              Timestamp when the training job was last modified.

                                              + *

                                              The Amazon Resource Name (ARN) of the training job.

                                              */ - LastModifiedTime?: Date; + TrainingJobArn: string | undefined; /** - *

                                              The name of the training job that you want a summary for.

                                              + *

                                              The status of the training job.

                                              */ - TrainingJobName: string | undefined; + TrainingJobStatus: TrainingJobStatus | string | undefined; /** - *

                                              A timestamp that shows when the training job was created.

                                              + *

                                              A timestamp that shows when the training job ended. This field is set only if the + * training job has one of the terminal statuses (Completed, + * Failed, or Stopped).

                                              */ - CreationTime: Date | undefined; + TrainingEndTime?: Date; } export namespace TrainingJobSummary { @@ -7219,17 +7296,17 @@ export namespace TrainingJobSummary { } export interface ListTrainingJobsResponse { - /** - *

                                              If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of - * training jobs, use it in the subsequent request.

                                              - */ - NextToken?: string; - /** *

                                              An array of TrainingJobSummary objects, each listing a training * job.

                                              */ TrainingJobSummaries: TrainingJobSummary[] | undefined; + + /** + *

                                              If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of + * training jobs, use it in the subsequent request.

                                              + */ + NextToken?: string; } export namespace ListTrainingJobsResponse { @@ -7246,6 +7323,25 @@ export enum TrainingJobSortByOptions { } export interface ListTrainingJobsForHyperParameterTuningJobRequest { + /** + *

                                              A filter that returns only training jobs with the + * specified + * status.

                                              + */ + StatusEquals?: TrainingJobStatus | string; + + /** + *

                                              The name of the tuning job whose training jobs you want to list.

                                              + */ + HyperParameterTuningJobName: string | undefined; + + /** + *

                                              The sort order + * for + * results. The default is Ascending.

                                              + */ + SortOrder?: SortOrder | string; + /** *

                                              The field to sort * results @@ -7266,25 +7362,6 @@ export interface ListTrainingJobsForHyperParameterTuningJobRequest { * next set of training jobs, use the token in the next request.

                                              */ NextToken?: string; - - /** - *

                                              The sort order - * for - * results. The default is Ascending.

                                              - */ - SortOrder?: SortOrder | string; - - /** - *

                                              The name of the tuning job whose training jobs you want to list.

                                              - */ - HyperParameterTuningJobName: string | undefined; - - /** - *

                                              A filter that returns only training jobs with the - * specified - * status.

                                              - */ - StatusEquals?: TrainingJobStatus | string; } export namespace ListTrainingJobsForHyperParameterTuningJobRequest { @@ -7294,6 +7371,13 @@ export namespace ListTrainingJobsForHyperParameterTuningJobRequest { } export interface ListTrainingJobsForHyperParameterTuningJobResponse { + /** + *

                                              If the result of this ListTrainingJobsForHyperParameterTuningJob request + * was truncated, the response includes a NextToken. To retrieve the next set + * of training jobs, use the token in the next request.

                                              + */ + NextToken?: string; + /** *

                                              A list of TrainingJobSummary objects that * describe @@ -7301,13 +7385,6 @@ export interface ListTrainingJobsForHyperParameterTuningJobResponse { * ListTrainingJobsForHyperParameterTuningJob request returned.

                                              */ TrainingJobSummaries: HyperParameterTrainingJobSummary[] | undefined; - - /** - *

                                              If the result of this ListTrainingJobsForHyperParameterTuningJob request - * was truncated, the response includes a NextToken. To retrieve the next set - * of training jobs, use the token in the next request.

                                              - */ - NextToken?: string; } export namespace ListTrainingJobsForHyperParameterTuningJobResponse { @@ -7318,14 +7395,16 @@ export namespace ListTrainingJobsForHyperParameterTuningJobResponse { export interface ListTransformJobsRequest { /** - *

                                              A filter that retrieves only transform jobs with a specific status.

                                              + *

                                              If the result of the previous ListTransformJobs request was truncated, + * the response includes a NextToken. To retrieve the next set of transform + * jobs, use the token in the next request.

                                              */ - StatusEquals?: TransformJobStatus | string; + NextToken?: string; /** - *

                                              A filter that returns only transform jobs modified after the specified time.

                                              + *

                                              A filter that returns only transform jobs created after the specified time.

                                              */ - LastModifiedTimeAfter?: Date; + CreationTimeAfter?: Date; /** *

                                              The sort order for results. The default is Descending.

                                              @@ -7333,11 +7412,15 @@ export interface ListTransformJobsRequest { SortOrder?: SortOrder | string; /** - *

                                              If the result of the previous ListTransformJobs request was truncated, - * the response includes a NextToken. To retrieve the next set of transform - * jobs, use the token in the next request.

                                              + *

                                              A filter that returns only transform jobs modified before the specified time.

                                              */ - NextToken?: string; + LastModifiedTimeBefore?: Date; + + /** + *

                                              A string in the transform job name. This filter returns only transform jobs whose name + * contains the specified string.

                                              + */ + NameContains?: string; /** *

                                              The maximum number of @@ -7348,14 +7431,14 @@ export interface ListTransformJobsRequest { MaxResults?: number; /** - *

                                              The field to sort results by. The default is CreationTime.

                                              + *

                                              A filter that returns only transform jobs modified after the specified time.

                                              */ - SortBy?: SortBy | string; + LastModifiedTimeAfter?: Date; /** - *

                                              A filter that returns only transform jobs modified before the specified time.

                                              + *

                                              A filter that retrieves only transform jobs with a specific status.

                                              */ - LastModifiedTimeBefore?: Date; + StatusEquals?: TransformJobStatus | string; /** *

                                              A filter that returns only transform jobs created before the specified time.

                                              @@ -7363,42 +7446,24 @@ export interface ListTransformJobsRequest { CreationTimeBefore?: Date; /** - *

                                              A filter that returns only transform jobs created after the specified time.

                                              - */ - CreationTimeAfter?: Date; - - /** - *

                                              A string in the transform job name. This filter returns only transform jobs whose name - * contains the specified string.

                                              + *

                                              The field to sort results by. The default is CreationTime.

                                              */ - NameContains?: string; + SortBy?: SortBy | string; } export namespace ListTransformJobsRequest { - export const filterSensitiveLog = (obj: ListTransformJobsRequest): any => ({ - ...obj, - }); -} - -/** - *

                                              Provides a - * summary - * of a transform job. Multiple TransformJobSummary objects are returned as a - * list after in response to a ListTransformJobs call.

                                              - */ -export interface TransformJobSummary { - /** - *

                                              If the transform job failed, - * the - * reason it failed.

                                              - */ - FailureReason?: string; - - /** - *

                                              The status of the transform job.

                                              - */ - TransformJobStatus: TransformJobStatus | string | undefined; + export const filterSensitiveLog = (obj: ListTransformJobsRequest): any => ({ + ...obj, + }); +} +/** + *

                                              Provides a + * summary + * of a transform job. Multiple TransformJobSummary objects are returned as a + * list after in response to a ListTransformJobs call.

                                              + */ +export interface TransformJobSummary { /** *

                                              Indicates when the transform * job @@ -7411,24 +7476,36 @@ export interface TransformJobSummary { TransformEndTime?: Date; /** - *

                                              Indicates when the transform job was last modified.

                                              + *

                                              A timestamp that shows when the transform Job was created.

                                              */ - LastModifiedTime?: Date; + CreationTime: Date | undefined; /** - *

                                              A timestamp that shows when the transform Job was created.

                                              + *

                                              Indicates when the transform job was last modified.

                                              */ - CreationTime: Date | undefined; + LastModifiedTime?: Date; /** *

                                              The Amazon Resource Name (ARN) of the transform job.

                                              */ TransformJobArn: string | undefined; + /** + *

                                              If the transform job failed, + * the + * reason it failed.

                                              + */ + FailureReason?: string; + /** *

                                              The name of the transform job.

                                              */ TransformJobName: string | undefined; + + /** + *

                                              The status of the transform job.

                                              + */ + TransformJobStatus: TransformJobStatus | string | undefined; } export namespace TransformJobSummary { @@ -7465,15 +7542,24 @@ export enum SortTrialComponentsBy { export interface ListTrialComponentsRequest { /** - *

                                              If the previous call to ListTrialComponents didn't return the full set of - * components, the call returns a token for getting the next set of components.

                                              + *

                                              A filter that returns only components that are part of the specified trial. If you specify + * TrialName, you can't filter by ExperimentName or + * SourceArn.

                                              */ - NextToken?: string; + TrialName?: string; /** - *

                                              A filter that returns only components created before the specified time.

                                              + *

                                              A filter that returns only components that are part of the specified experiment. If you + * specify ExperimentName, you can't filter by SourceArn or + * TrialName.

                                              */ - CreatedBefore?: Date; + ExperimentName?: string; + + /** + *

                                              If the previous call to ListTrialComponents didn't return the full set of + * components, the call returns a token for getting the next set of components.

                                              + */ + NextToken?: string; /** *

                                              A filter that returns only components that have the specified source Amazon Resource Name @@ -7483,29 +7569,20 @@ export interface ListTrialComponentsRequest { SourceArn?: string; /** - *

                                              The maximum number of components to return in the response. The default value is - * 10.

                                              - */ - MaxResults?: number; - - /** - *

                                              A filter that returns only components that are part of the specified experiment. If you - * specify ExperimentName, you can't filter by SourceArn or - * TrialName.

                                              + *

                                              A filter that returns only components created after the specified time.

                                              */ - ExperimentName?: string; + CreatedAfter?: Date; /** - *

                                              A filter that returns only components that are part of the specified trial. If you specify - * TrialName, you can't filter by ExperimentName or - * SourceArn.

                                              + *

                                              The maximum number of components to return in the response. The default value is + * 10.

                                              */ - TrialName?: string; + MaxResults?: number; /** - *

                                              A filter that returns only components created after the specified time.

                                              + *

                                              The sort order. The default value is Descending.

                                              */ - CreatedAfter?: Date; + SortOrder?: SortOrder | string; /** *

                                              The property used to sort results. The default value is CreationTime.

                                              @@ -7513,9 +7590,9 @@ export interface ListTrialComponentsRequest { SortBy?: SortTrialComponentsBy | string; /** - *

                                              The sort order. The default value is Descending.

                                              + *

                                              A filter that returns only components created before the specified time.

                                              */ - SortOrder?: SortOrder | string; + CreatedBefore?: Date; } export namespace ListTrialComponentsRequest { @@ -7531,20 +7608,9 @@ export namespace ListTrialComponentsRequest { */ export interface TrialComponentSummary { /** - *

                                              The status of the component. States include:

                                              - *
                                                - *
                                              • - *

                                                InProgress

                                                - *
                                              • - *
                                              • - *

                                                Completed

                                                - *
                                              • - *
                                              • - *

                                                Failed

                                                - *
                                              • - *
                                              + *

                                              When the component ended.

                                              */ - Status?: TrialComponentStatus; + EndTime?: Date; /** *

                                              Who last modified the component.

                                              @@ -7552,50 +7618,61 @@ export interface TrialComponentSummary { LastModifiedBy?: UserContext; /** - *

                                              Who created the component.

                                              + *

                                              The name of the component as displayed. If DisplayName isn't specified, + * TrialComponentName is displayed.

                                              */ - CreatedBy?: UserContext; + DisplayName?: string; /** *

                                              When the component was created.

                                              */ CreationTime?: Date; - /** - *

                                              When the component was last modified.

                                              - */ - LastModifiedTime?: Date; - - /** - *

                                              When the component started.

                                              - */ - StartTime?: Date; - /** *

                                              The name of the trial component.

                                              */ TrialComponentName?: string; /** - *

                                              When the component ended.

                                              + *

                                              When the component was last modified.

                                              */ - EndTime?: Date; + LastModifiedTime?: Date; /** *

                                              The ARN of the trial component.

                                              */ TrialComponentArn?: string; + /** + *

                                              Who created the component.

                                              + */ + CreatedBy?: UserContext; + /** *

                                              The Amazon Resource Name (ARN) and job type of the source of a trial component.

                                              */ TrialComponentSource?: TrialComponentSource; /** - *

                                              The name of the component as displayed. If DisplayName isn't specified, - * TrialComponentName is displayed.

                                              + *

                                              The status of the component. States include:

                                              + *
                                                + *
                                              • + *

                                                InProgress

                                                + *
                                              • + *
                                              • + *

                                                Completed

                                                + *
                                              • + *
                                              • + *

                                                Failed

                                                + *
                                              • + *
                                              */ - DisplayName?: string; + Status?: TrialComponentStatus; + + /** + *

                                              When the component started.

                                              + */ + StartTime?: Date; } export namespace TrialComponentSummary { @@ -7629,25 +7706,25 @@ export enum SortTrialsBy { export interface ListTrialsRequest { /** - *

                                              A filter that returns only trials that are part of the specified experiment.

                                              + *

                                              The property used to sort results. The default value is CreationTime.

                                              */ - ExperimentName?: string; + SortBy?: SortTrialsBy | string; /** - *

                                              If the previous call to ListTrials didn't return the full set of trials, the - * call returns a token for getting the next set of trials.

                                              + *

                                              A filter that returns only trials that are associated with the specified trial + * component.

                                              */ - NextToken?: string; + TrialComponentName?: string; /** - *

                                              The maximum number of trials to return in the response. The default value is 10.

                                              + *

                                              A filter that returns only trials that are part of the specified experiment.

                                              */ - MaxResults?: number; + ExperimentName?: string; /** - *

                                              The property used to sort results. The default value is CreationTime.

                                              + *

                                              A filter that returns only trials created before the specified time.

                                              */ - SortBy?: SortTrialsBy | string; + CreatedBefore?: Date; /** *

                                              The sort order. The default value is Descending.

                                              @@ -7655,20 +7732,20 @@ export interface ListTrialsRequest { SortOrder?: SortOrder | string; /** - *

                                              A filter that returns only trials created after the specified time.

                                              + *

                                              If the previous call to ListTrials didn't return the full set of trials, the + * call returns a token for getting the next set of trials.

                                              */ - CreatedAfter?: Date; + NextToken?: string; /** - *

                                              A filter that returns only trials that are associated with the specified trial - * component.

                                              + *

                                              A filter that returns only trials created after the specified time.

                                              */ - TrialComponentName?: string; + CreatedAfter?: Date; /** - *

                                              A filter that returns only trials created before the specified time.

                                              + *

                                              The maximum number of trials to return in the response. The default value is 10.

                                              */ - CreatedBefore?: Date; + MaxResults?: number; } export namespace ListTrialsRequest { @@ -7683,19 +7760,20 @@ export namespace ListTrialsRequest { */ export interface TrialSummary { /** - *

                                              The name of the trial.

                                              + *

                                              The source of the trial.

                                              */ - TrialName?: string; + TrialSource?: TrialSource; /** - *

                                              The source of the trial.

                                              + *

                                              The name of the trial as displayed. If DisplayName isn't specified, + * TrialName is displayed.

                                              */ - TrialSource?: TrialSource; + DisplayName?: string; /** - *

                                              When the trial was created.

                                              + *

                                              The Amazon Resource Name (ARN) of the trial.

                                              */ - CreationTime?: Date; + TrialArn?: string; /** *

                                              When the trial was last modified.

                                              @@ -7703,15 +7781,14 @@ export interface TrialSummary { LastModifiedTime?: Date; /** - *

                                              The Amazon Resource Name (ARN) of the trial.

                                              + *

                                              When the trial was created.

                                              */ - TrialArn?: string; + CreationTime?: Date; /** - *

                                              The name of the trial as displayed. If DisplayName isn't specified, - * TrialName is displayed.

                                              + *

                                              The name of the trial.

                                              */ - DisplayName?: string; + TrialName?: string; } export namespace TrialSummary { @@ -7745,9 +7822,9 @@ export enum UserProfileSortKey { export interface ListUserProfilesRequest { /** - *

                                              The sort order for the results. The default is Ascending.

                                              + *

                                              A parameter by which to filter the results.

                                              */ - SortOrder?: SortOrder | string; + DomainIdEquals?: string; /** *

                                              A parameter by which to filter the results.

                                              @@ -7761,19 +7838,19 @@ export interface ListUserProfilesRequest { NextToken?: string; /** - *

                                              The parameter by which to sort the results. The default is CreationTime.

                                              + *

                                              Returns a list up to a specified limit.

                                              */ - SortBy?: UserProfileSortKey | string; + MaxResults?: number; /** - *

                                              A parameter by which to filter the results.

                                              + *

                                              The sort order for the results. The default is Ascending.

                                              */ - DomainIdEquals?: string; + SortOrder?: SortOrder | string; /** - *

                                              Returns a list up to a specified limit.

                                              + *

                                              The parameter by which to sort the results. The default is CreationTime.

                                              */ - MaxResults?: number; + SortBy?: UserProfileSortKey | string; } export namespace ListUserProfilesRequest { @@ -7787,19 +7864,14 @@ export namespace ListUserProfilesRequest { */ export interface UserProfileDetails { /** - *

                                              The user profile name.

                                              - */ - UserProfileName?: string; - - /** - *

                                              The status.

                                              + *

                                              The domain ID.

                                              */ - Status?: UserProfileStatus | string; + DomainId?: string; /** - *

                                              The domain ID.

                                              + *

                                              The user profile name.

                                              */ - DomainId?: string; + UserProfileName?: string; /** *

                                              The last modified time.

                                              @@ -7810,6 +7882,11 @@ export interface UserProfileDetails { *

                                              The creation time.

                                              */ CreationTime?: Date; + + /** + *

                                              The status.

                                              + */ + Status?: UserProfileStatus | string; } export namespace UserProfileDetails { @@ -7819,16 +7896,16 @@ export namespace UserProfileDetails { } export interface ListUserProfilesResponse { - /** - *

                                              The list of user profiles.

                                              - */ - UserProfiles?: UserProfileDetails[]; - /** *

                                              If the previous response was truncated, you will receive this token. * Use it in your next request to receive the next set of results.

                                              */ NextToken?: string; + + /** + *

                                              The list of user profiles.

                                              + */ + UserProfiles?: UserProfileDetails[]; } export namespace ListUserProfilesResponse { @@ -7844,9 +7921,9 @@ export enum ListWorkforcesSortByOptions { export interface ListWorkforcesRequest { /** - *

                                              A token to resume pagination.

                                              + *

                                              The maximum number of workforces returned in the response.

                                              */ - NextToken?: string; + MaxResults?: number; /** *

                                              Sort workforces using the workforce name or creation date.

                                              @@ -7854,19 +7931,19 @@ export interface ListWorkforcesRequest { SortBy?: ListWorkforcesSortByOptions | string; /** - *

                                              Sort workforces in ascending or descending order.

                                              + *

                                              A filter you can use to search for workforces using part of the workforce name.

                                              */ - SortOrder?: SortOrder | string; + NameContains?: string; /** - *

                                              The maximum number of workforces returned in the response.

                                              + *

                                              Sort workforces in ascending or descending order.

                                              */ - MaxResults?: number; + SortOrder?: SortOrder | string; /** - *

                                              A filter you can use to search for workforces using part of the workforce name.

                                              + *

                                              A token to resume pagination.

                                              */ - NameContains?: string; + NextToken?: string; } export namespace ListWorkforcesRequest { @@ -7876,15 +7953,15 @@ export namespace ListWorkforcesRequest { } export interface ListWorkforcesResponse { - /** - *

                                              A token to resume pagination.

                                              - */ - NextToken?: string; - /** *

                                              A list containing information about your workforce.

                                              */ Workforces: Workforce[] | undefined; + + /** + *

                                              A token to resume pagination.

                                              + */ + NextToken?: string; } export namespace ListWorkforcesResponse { @@ -7900,16 +7977,10 @@ export enum ListWorkteamsSortByOptions { export interface ListWorkteamsRequest { /** - *

                                              If the result of the previous ListWorkteams request was truncated, the - * response includes a NextToken. To retrieve the next set of labeling jobs, - * use the token in the next request.

                                              - */ - NextToken?: string; - - /** - *

                                              The maximum number of work teams to return in each page of the response.

                                              + *

                                              A string in the work team's name. This filter returns only work teams whose name + * contains the specified string.

                                              */ - MaxResults?: number; + NameContains?: string; /** *

                                              The field to sort results by. The default is CreationTime.

                                              @@ -7922,10 +7993,16 @@ export interface ListWorkteamsRequest { SortOrder?: SortOrder | string; /** - *

                                              A string in the work team's name. This filter returns only work teams whose name - * contains the specified string.

                                              + *

                                              The maximum number of work teams to return in each page of the response.

                                              */ - NameContains?: string; + MaxResults?: number; + + /** + *

                                              If the result of the previous ListWorkteams request was truncated, the + * response includes a NextToken. To retrieve the next set of labeling jobs, + * use the token in the next request.

                                              + */ + NextToken?: string; } export namespace ListWorkteamsRequest { @@ -8002,14 +8079,14 @@ export namespace NestedFilters { */ export interface Parent { /** - *

                                              The name of the experiment.

                                              + *

                                              The name of the trial.

                                              */ - ExperimentName?: string; + TrialName?: string; /** - *

                                              The name of the trial.

                                              + *

                                              The name of the experiment.

                                              */ - TrialName?: string; + ExperimentName?: string; } export namespace Parent { @@ -8025,70 +8102,53 @@ export namespace Parent { */ export interface ProcessingJob { /** - *

                                              For each input, data is downloaded from S3 into the processing container before the - * processing job begins running if "S3InputMode" is set to File.

                                              + *

                                              The time that the processing job ended.

                                              */ - ProcessingInputs?: ProcessingInput[]; + ProcessingEndTime?: Date; /** - *

                                              The name of the processing job.

                                              + *

                                              The status of the processing job.

                                              */ - ProcessingJobName?: string; + ProcessingJobStatus?: ProcessingJobStatus | string; /** - *

                                              The ARN of the role used to create the processing job.

                                              + *

                                              Networking options for a job, such as network traffic encryption between containers, + * whether to allow inbound and outbound network calls to and from containers, and the VPC + * subnets and security groups to use for VPC-enabled jobs.

                                              */ - RoleArn?: string; + NetworkConfig?: NetworkConfig; /** - *

                                              The output configuration for the processing job.

                                              + *

                                              A string, up to one KB in size, that contains metadata from the processing + * container when the processing job exits.

                                              */ - ProcessingOutputConfig?: ProcessingOutputConfig; + ExitMessage?: string; /** - *

                                              The ARN of the training job associated with this processing job.

                                              + *

                                              The ARN of the processing job.

                                              */ - TrainingJobArn?: string; + ProcessingJobArn?: string; /** - *

                                              Networking options for a job, such as network traffic encryption between containers, - * whether to allow inbound and outbound network calls to and from containers, and the VPC - * subnets and security groups to use for VPC-enabled jobs.

                                              + *

                                              Specifies a time limit for how long the processing job is allowed to run.

                                              */ - NetworkConfig?: NetworkConfig; + StoppingCondition?: ProcessingStoppingCondition; /** - *

                                              The time that the processing job ended.

                                              + *

                                              A string, up to one KB in size, that contains the reason a processing job failed, if + * it failed.

                                              */ - ProcessingEndTime?: Date; + FailureReason?: string; /** - *

                                              The ARN of the processing job.

                                              + *

                                              The Amazon Resource Name (ARN) of the AutoML job associated with this processing job.

                                              */ - ProcessingJobArn?: string; + AutoMLJobArn?: string; /** - *

                                              Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

                                              - * + *

                                              The name of the processing job.

                                              */ - ExperimentConfig?: ExperimentConfig; + ProcessingJobName?: string; /** *

                                              The time that the processing job started.

                                              @@ -8096,69 +8156,86 @@ export interface ProcessingJob { ProcessingStartTime?: Date; /** - *

                                              The ARN of a monitoring schedule for an endpoint associated with this processing - * job.

                                              + *

                                              The output configuration for the processing job.

                                              */ - MonitoringScheduleArn?: string; + ProcessingOutputConfig?: ProcessingOutputConfig; /** - *

                                              An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management - * User Guide.

                                              + *

                                              Sets the environment variables in the Docker container.

                                              */ - Tags?: Tag[]; + Environment?: { [key: string]: string }; /** - *

                                              A string, up to one KB in size, that contains the reason a processing job failed, if - * it failed.

                                              + *

                                              The time the processing job was last modified.

                                              */ - FailureReason?: string; + LastModifiedTime?: Date; /** - *

                                              The Amazon Resource Name (ARN) of the AutoML job associated with this processing job.

                                              + *

                                              The time the processing job was created.

                                              */ - AutoMLJobArn?: string; + CreationTime?: Date; /** - *

                                              Identifies the resources, ML compute instances, and ML storage volumes to deploy for a - * processing job. In distributed training, you specify more than one instance.

                                              + *

                                              An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management + * User Guide.

                                              */ - ProcessingResources?: ProcessingResources; + Tags?: Tag[]; /** - *

                                              A string, up to one KB in size, that contains metadata from the processing - * container when the processing job exits.

                                              + *

                                              Configuration to run a processing job in a specified container image.

                                              */ - ExitMessage?: string; + AppSpecification?: AppSpecification; /** - *

                                              The status of the processing job.

                                              + *

                                              The ARN of the training job associated with this processing job.

                                              */ - ProcessingJobStatus?: ProcessingJobStatus | string; + TrainingJobArn?: string; /** - *

                                              The time the processing job was last modified.

                                              + *

                                              The ARN of a monitoring schedule for an endpoint associated with this processing + * job.

                                              */ - LastModifiedTime?: Date; + MonitoringScheduleArn?: string; /** - *

                                              The time the processing job was created.

                                              + *

                                              Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

                                              + * */ - CreationTime?: Date; + ExperimentConfig?: ExperimentConfig; /** - *

                                              Sets the environment variables in the Docker container.

                                              + *

                                              For each input, data is downloaded from S3 into the processing container before the + * processing job begins running if "S3InputMode" is set to File.

                                              */ - Environment?: { [key: string]: string }; + ProcessingInputs?: ProcessingInput[]; /** - *

                                              Configuration to run a processing job in a specified container image.

                                              + *

                                              Identifies the resources, ML compute instances, and ML storage volumes to deploy for a + * processing job. In distributed training, you specify more than one instance.

                                              */ - AppSpecification?: AppSpecification; + ProcessingResources?: ProcessingResources; /** - *

                                              Specifies a time limit for how long the processing job is allowed to run.

                                              + *

                                              The ARN of the role used to create the processing job.

                                              */ - StoppingCondition?: ProcessingStoppingCondition; + RoleArn?: string; } export namespace ProcessingJob { @@ -8191,14 +8268,14 @@ export namespace RenderableTask { */ export interface RenderingError { /** - *

                                              A human-readable message describing the error.

                                              + *

                                              A unique identifier for a specific class of errors.

                                              */ - Message: string | undefined; + Code: string | undefined; /** - *

                                              A unique identifier for a specific class of errors.

                                              + *

                                              A human-readable message describing the error.

                                              */ - Code: string | undefined; + Message: string | undefined; } export namespace RenderingError { @@ -8208,16 +8285,22 @@ export namespace RenderingError { } export interface RenderUiTemplateRequest { + /** + *

                                              The Amazon Resource Name (ARN) that has access to the S3 objects that are used by the + * template.

                                              + */ + RoleArn: string | undefined; + /** *

                                              A Template object containing the worker UI template to render.

                                              */ UiTemplate?: UiTemplate; /** - *

                                              The HumanTaskUiArn of the worker UI that you want to render. - * Do not provide a HumanTaskUiArn if you use the UiTemplate parameter.

                                              - *

                                              See a list - * of available Human Ui Amazon Resource Names (ARNs) in UiConfig.

                                              + *

                                              The HumanTaskUiArn of the worker UI that you want to render. Do not + * provide a HumanTaskUiArn if you use the UiTemplate + * parameter.

                                              + *

                                              See a list of available Human Ui Amazon Resource Names (ARNs) in UiConfig.

                                              */ HumanTaskUiArn?: string; @@ -8226,12 +8309,6 @@ export interface RenderUiTemplateRequest { * render.

                                              */ Task: RenderableTask | undefined; - - /** - *

                                              The Amazon Resource Name (ARN) that has access to the S3 objects that are used by the - * template.

                                              - */ - RoleArn: string | undefined; } export namespace RenderUiTemplateRequest { @@ -8241,16 +8318,16 @@ export namespace RenderUiTemplateRequest { } export interface RenderUiTemplateResponse { - /** - *

                                              A Liquid template that renders the HTML for the worker UI.

                                              - */ - RenderedContent: string | undefined; - /** *

                                              A list of one or more RenderingError objects if any were encountered * while rendering the template. If there were no errors, the list is empty.

                                              */ Errors: RenderingError[] | undefined; + + /** + *

                                              A Liquid template that renders the HTML for the worker UI.

                                              + */ + RenderedContent: string | undefined; } export namespace RenderUiTemplateResponse { @@ -8269,91 +8346,79 @@ export enum SearchSortOrder { */ export interface TrainingJob { /** - *

                                              Resources, including ML compute instances and ML storage volumes, that are configured - * for model training.

                                              - */ - ResourceConfig?: ResourceConfig; - - /** - *

                                              The S3 path where model artifacts that you configured when creating the job are - * stored. Amazon SageMaker creates subfolders for model artifacts.

                                              + *

                                              When true, enables managed spot training using Amazon EC2 Spot instances to run + * training jobs instead of on-demand instances. For more information, see Managed Spot Training.

                                              */ - OutputDataConfig?: OutputDataConfig; + EnableManagedSpotTraining?: boolean; /** - *

                                              Information about the Amazon S3 location that is configured for storing model - * artifacts.

                                              + *

                                              Contains information about the output location for managed spot training checkpoint + * data.

                                              */ - ModelArtifacts?: ModelArtifacts; + CheckpointConfig?: CheckpointConfig; /** - *

                                              Information about the evaluation status of the rules for the training job.

                                              + *

                                              The AWS Identity and Access Management (IAM) role configured for the training job.

                                              */ - DebugRuleEvaluationStatuses?: DebugRuleEvaluationStatus[]; + RoleArn?: string; /** - *

                                              A VpcConfig object that specifies the VPC that this training job has - * access to. For more information, see Protect Training Jobs by Using an Amazon - * Virtual Private Cloud.

                                              + *

                                              Configuration information for the debug hook parameters, collection configuration, and + * storage paths.

                                              */ - VpcConfig?: VpcConfig; + DebugHookConfig?: DebugHookConfig; /** - *

                                              An array of Channel objects that describes each data input - * channel.

                                              + *

                                              Indicates the time when the training job ends on training instances. You are billed + * for the time interval between the value of TrainingStartTime and this time. + * For successful jobs and stopped jobs, this is the time after model artifacts are + * uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

                                              */ - InputDataConfig?: Channel[]; + TrainingEndTime?: Date; /** - *

                                              If the TrainingJob was created with network isolation, the value is set - * to true. If network isolation is enabled, nodes can't communicate beyond - * the VPC they run in.

                                              + *

                                              Indicates the time when the training job starts on training instances. You are billed + * for the time interval between this time and the value of TrainingEndTime. + * The start time in CloudWatch Logs might be later than this time. The difference is due to the time + * it takes to download the training data and to the size of the training container.

                                              */ - EnableNetworkIsolation?: boolean; + TrainingStartTime?: Date; /** - *

                                              Specifies a limit to how long a model training job can run. When the job reaches the - * time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

                                              - *

                                              To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays - * job termination for 120 seconds. Algorithms can use this 120-second window to save the - * model artifacts, so the results of training are not lost.

                                              + *

                                              Information about the algorithm used for training, and algorithm metadata.

                                              */ - StoppingCondition?: StoppingCondition; + AlgorithmSpecification?: AlgorithmSpecification; /** - *

                                              An array of key-value pairs. For more information, see Using - * Cost Allocation Tags in the AWS Billing and Cost Management User - * Guide.

                                              + *

                                              The training time in seconds.

                                              */ - Tags?: Tag[]; + TrainingTimeInSeconds?: number; /** - *

                                              Information about the debug rule configuration.

                                              + *

                                              If the training job failed, the reason it failed.

                                              */ - DebugRuleConfigurations?: DebugRuleConfiguration[]; + FailureReason?: string; /** - *

                                              The Amazon Resource Name (ARN) of the job.

                                              + *

                                              The Amazon Resource Name (ARN) of the labeling job.

                                              */ - AutoMLJobArn?: string; + LabelingJobArn?: string; /** - *

                                              Indicates the time when the training job starts on training instances. You are billed - * for the time interval between this time and the value of TrainingEndTime. - * The start time in CloudWatch Logs might be later than this time. The difference is due to the time - * it takes to download the training data and to the size of the training container.

                                              + *

                                              The Amazon Resource Name (ARN) of the training job.

                                              */ - TrainingStartTime?: Date; + TrainingJobArn?: string; /** - *

                                              Information about the algorithm used for training, and algorithm metadata.

                                              + *

                                              A history of all of the secondary statuses that the training job has transitioned + * through.

                                              */ - AlgorithmSpecification?: AlgorithmSpecification; + SecondaryStatusTransitions?: SecondaryStatusTransition[]; /** - *

                                              The name of the training job.

                                              + *

                                              Configuration of storage locations for TensorBoard output.

                                              */ - TrainingJobName?: string; + TensorBoardOutputConfig?: TensorBoardOutputConfig; /** *

                                              Provides detailed information about the state of the training job. For detailed @@ -8455,44 +8520,59 @@ export interface TrainingJob { */ SecondaryStatus?: SecondaryStatus | string; + /** + *

                                              The billable time in seconds.

                                              + */ + BillableTimeInSeconds?: number; + /** *

                                              Algorithm-specific parameters.

                                              */ HyperParameters?: { [key: string]: string }; /** - *

                                              A list of final metric values that are set when the training job completes. Used only - * if the training job was configured to use metrics.

                                              + *

                                              The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the + * training job was launched by a hyperparameter tuning job.

                                              */ - FinalMetricDataList?: MetricData[]; + TuningJobArn?: string; /** - *

                                              A history of all of the secondary statuses that the training job has transitioned - * through.

                                              + *

                                              To encrypt all communications between ML compute instances in distributed training, + * choose True. Encryption provides greater security for distributed training, + * but training might take longer. How long it takes depends on the amount of communication + * between compute instances, especially if you use a deep learning algorithm in + * distributed training.

                                              */ - SecondaryStatusTransitions?: SecondaryStatusTransition[]; + EnableInterContainerTrafficEncryption?: boolean; /** - *

                                              The billable time in seconds.

                                              + *

                                              If the TrainingJob was created with network isolation, the value is set + * to true. If network isolation is enabled, nodes can't communicate beyond + * the VPC they run in.

                                              */ - BillableTimeInSeconds?: number; + EnableNetworkIsolation?: boolean; /** - *

                                              Contains information about the output location for managed spot training checkpoint - * data.

                                              + *

                                              A timestamp that indicates when the status of the training job was last + * modified.

                                              */ - CheckpointConfig?: CheckpointConfig; + LastModifiedTime?: Date; /** - *

                                              Configuration information for the debug hook parameters, collection configuration, and - * storage paths.

                                              + *

                                              A timestamp that indicates when the training job was created.

                                              */ - DebugHookConfig?: DebugHookConfig; + CreationTime?: Date; /** - *

                                              The AWS Identity and Access Management (IAM) role configured for the training job.

                                              + *

                                              The name of the training job.

                                              */ - RoleArn?: string; + TrainingJobName?: string; + + /** + *

                                              A list of final metric values that are set when the training job completes. Used only + * if the training job was configured to use metrics.

                                              + */ + FinalMetricDataList?: MetricData[]; /** *

                                              The status of the @@ -8529,26 +8609,34 @@ export interface TrainingJob { TrainingJobStatus?: TrainingJobStatus | string; /** - *

                                              When true, enables managed spot training using Amazon EC2 Spot instances to run - * training jobs instead of on-demand instances. For more information, see Managed Spot Training.

                                              + *

                                              A VpcConfig object that specifies the VPC that this training job has + * access to. For more information, see Protect Training Jobs by Using an Amazon + * Virtual Private Cloud.

                                              */ - EnableManagedSpotTraining?: boolean; + VpcConfig?: VpcConfig; /** - *

                                              The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the - * training job was launched by a hyperparameter tuning job.

                                              + *

                                              An array of Channel objects that describes each data input + * channel.

                                              */ - TuningJobArn?: string; + InputDataConfig?: Channel[]; /** - *

                                              If the training job failed, the reason it failed.

                                              + *

                                              The S3 path where model artifacts that you configured when creating the job are + * stored. Amazon SageMaker creates subfolders for model artifacts.

                                              */ - FailureReason?: string; + OutputDataConfig?: OutputDataConfig; /** - *

                                              The Amazon Resource Name (ARN) of the labeling job.

                                              + *

                                              Information about the Amazon S3 location that is configured for storing model + * artifacts.

                                              */ - LabelingJobArn?: string; + ModelArtifacts?: ModelArtifacts; + + /** + *

                                              The Amazon Resource Name (ARN) of the job.

                                              + */ + AutoMLJobArn?: string; /** *

                                              Associates a SageMaker job as a trial component with an experiment and trial. Specified when @@ -8574,47 +8662,36 @@ export interface TrainingJob { ExperimentConfig?: ExperimentConfig; /** - *

                                              A timestamp that indicates when the status of the training job was last - * modified.

                                              - */ - LastModifiedTime?: Date; - - /** - *

                                              A timestamp that indicates when the training job was created.

                                              - */ - CreationTime?: Date; - - /** - *

                                              Configuration of storage locations for TensorBoard output.

                                              + *

                                              Information about the evaluation status of the rules for the training job.

                                              */ - TensorBoardOutputConfig?: TensorBoardOutputConfig; + DebugRuleEvaluationStatuses?: DebugRuleEvaluationStatus[]; /** - *

                                              The training time in seconds.

                                              + *

                                              Information about the debug rule configuration.

                                              */ - TrainingTimeInSeconds?: number; + DebugRuleConfigurations?: DebugRuleConfiguration[]; /** - *

                                              To encrypt all communications between ML compute instances in distributed training, - * choose True. Encryption provides greater security for distributed training, - * but training might take longer. How long it takes depends on the amount of communication - * between compute instances, especially if you use a deep learning algorithm in - * distributed training.

                                              + *

                                              An array of key-value pairs. For more information, see Using + * Cost Allocation Tags in the AWS Billing and Cost Management User + * Guide.

                                              */ - EnableInterContainerTrafficEncryption?: boolean; + Tags?: Tag[]; /** - *

                                              The Amazon Resource Name (ARN) of the training job.

                                              + *

                                              Specifies a limit to how long a model training job can run. When the job reaches the + * time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

                                              + *

                                              To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays + * job termination for 120 seconds. Algorithms can use this 120-second window to save the + * model artifacts, so the results of training are not lost.

                                              */ - TrainingJobArn?: string; + StoppingCondition?: StoppingCondition; /** - *

                                              Indicates the time when the training job ends on training instances. You are billed - * for the time interval between the value of TrainingStartTime and this time. - * For successful jobs and stopped jobs, this is the time after model artifacts are - * uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

                                              + *

                                              Resources, including ML compute instances and ML storage volumes, that are configured + * for model training.

                                              */ - TrainingEndTime?: Date; + ResourceConfig?: ResourceConfig; } export namespace TrainingJob { @@ -8628,14 +8705,20 @@ export namespace TrainingJob { */ export interface TrialComponentSimpleSummary { /** - *

                                              The Amazon Resource Name (ARN) and job type of the source of a trial component.

                                              + *

                                              When the component was created.

                                              */ - TrialComponentSource?: TrialComponentSource; + CreationTime?: Date; /** - *

                                              When the component was created.

                                              + *

                                              Information about the user who created or modified an experiment, trial, or trial + * component.

                                              */ - CreationTime?: Date; + CreatedBy?: UserContext; + + /** + *

                                              The Amazon Resource Name (ARN) and job type of the source of a trial component.

                                              + */ + TrialComponentSource?: TrialComponentSource; /** *

                                              The name of the trial component.

                                              @@ -8646,12 +8729,6 @@ export interface TrialComponentSimpleSummary { *

                                              The Amazon Resource Name (ARN) of the trial component.

                                              */ TrialComponentArn?: string; - - /** - *

                                              Information about the user who created or modified an experiment, trial, or trial - * component.

                                              - */ - CreatedBy?: UserContext; } export namespace TrialComponentSimpleSummary { @@ -8665,14 +8742,16 @@ export namespace TrialComponentSimpleSummary { */ export interface Trial { /** - *

                                              The name of the experiment the trial is part of.

                                              + *

                                              A list of the components associated with the trial. For each component, a summary of the + * component's properties is included.

                                              */ - ExperimentName?: string; + TrialComponentSummaries?: TrialComponentSimpleSummary[]; /** - *

                                              When the trial was created.

                                              + *

                                              Information about the user who created or modified an experiment, trial, or trial + * component.

                                              */ - CreationTime?: Date; + CreatedBy?: UserContext; /** *

                                              The Amazon Resource Name (ARN) of the trial.

                                              @@ -8685,9 +8764,20 @@ export interface Trial { TrialName?: string; /** - *

                                              The source of the trial.

                                              + *

                                              The name of the experiment the trial is part of.

                                              */ - Source?: TrialSource; + ExperimentName?: string; + + /** + *

                                              Information about the user who created or modified an experiment, trial, or trial + * component.

                                              + */ + LastModifiedBy?: UserContext; + + /** + *

                                              When the trial was created.

                                              + */ + CreationTime?: Date; /** *

                                              Who last modified the trial.

                                              @@ -8700,12 +8790,6 @@ export interface Trial { */ DisplayName?: string; - /** - *

                                              Information about the user who created or modified an experiment, trial, or trial - * component.

                                              - */ - CreatedBy?: UserContext; - /** *

                                              The list of tags that are associated with the trial. You can use Search * API to search on the tags.

                                              @@ -8713,16 +8797,9 @@ export interface Trial { Tags?: Tag[]; /** - *

                                              A list of the components associated with the trial. For each component, a summary of the - * component's properties is included.

                                              - */ - TrialComponentSummaries?: TrialComponentSimpleSummary[]; - - /** - *

                                              Information about the user who created or modified an experiment, trial, or trial - * component.

                                              + *

                                              The source of the trial.

                                              */ - LastModifiedBy?: UserContext; + Source?: TrialSource; } export namespace Trial { @@ -8737,80 +8814,110 @@ export namespace Trial { */ export interface TransformJob { /** - *

                                              Describes the results of a transform job.

                                              + *

                                              The status of the transform job.

                                              + *

                                              Transform job statuses are:

                                              + *
                                                + *
                                              • + *

                                                + * InProgress - The job is in progress.

                                                + *
                                              • + *
                                              • + *

                                                + * Completed - The job has completed.

                                                + *
                                              • + *
                                              • + *

                                                + * Failed - The transform job has failed. To see the reason for the failure, + * see the FailureReason field in the response to a + * DescribeTransformJob call.

                                                + *
                                              • + *
                                              • + *

                                                + * Stopping - The transform job is stopping.

                                                + *
                                              • + *
                                              • + *

                                                + * Stopped - The transform job has stopped.

                                                + *
                                              • + *
                                              */ - TransformOutput?: TransformOutput; + TransformJobStatus?: TransformJobStatus | string; /** - *

                                              The name of the model associated with the transform job.

                                              + *

                                              A timestamp that shows when the transform Job was created.

                                              */ - ModelName?: string; - - /** - *

                                              The maximum allowed size of the payload, in MB. A payload is the data portion of a record - * (without metadata). The value in MaxPayloadInMB must be greater than, or equal - * to, the size of a single record. To estimate the size of a record in MB, divide the size of - * your dataset by the number of records. To ensure that the records fit within the maximum - * payload size, we recommend using a slightly larger value. The default value is 6 MB. For cases - * where the payload might be arbitrarily large and is transmitted using HTTP chunked encoding, - * set the value to 0. This feature works only in supported algorithms. Currently, SageMaker built-in - * algorithms do not support HTTP chunked encoding.

                                              + CreationTime?: Date; + + /** + *

                                              The name of the model associated with the transform job.

                                              */ - MaxPayloadInMB?: number; + ModelName?: string; /** - *

                                              The environment variables to set in the Docker container. We support up to 16 key and - * values entries in the map.

                                              + *

                                              Indicates when the transform job starts on ML instances. You are billed for the time + * interval between this time and the value of TransformEndTime.

                                              */ - Environment?: { [key: string]: string }; + TransformStartTime?: Date; /** - *

                                              A timestamp that shows when the transform Job was created.

                                              + *

                                              Configures the timeout and maximum number of retries for processing a transform job + * invocation.

                                              */ - CreationTime?: Date; + ModelClientConfig?: ModelClientConfig; /** - *

                                              Specifies the number of records to include in a mini-batch for an HTTP inference request. - * A record is a single unit of input data that inference can be made on. For example, a single - * line in a CSV file is a record.

                                              + *

                                              The maximum number of parallel requests that can be sent to each instance in a transform + * job. If MaxConcurrentTransforms is set to 0 or left unset, SageMaker checks the + * optional execution-parameters to determine the settings for your chosen algorithm. If the + * execution-parameters endpoint is not enabled, the default value is 1. For built-in algorithms, + * you don't need to set a value for MaxConcurrentTransforms.

                                              */ - BatchStrategy?: BatchStrategy | string; + MaxConcurrentTransforms?: number; /** - *

                                              The name of the transform job.

                                              + *

                                              Describes the results of a transform job.

                                              */ - TransformJobName?: string; + TransformOutput?: TransformOutput; /** - *

                                              A list of tags associated with the transform job.

                                              + *

                                              The Amazon Resource Name (ARN) of the transform job.

                                              */ - Tags?: Tag[]; + TransformJobArn?: string; /** - *

                                              Describes the resources, including ML instance types and ML instance count, to use for - * transform job.

                                              + *

                                              Describes the input source of a transform job and the way the transform job consumes + * it.

                                              */ - TransformResources?: TransformResources; + TransformInput?: TransformInput; /** - *

                                              Indicates when the transform job starts on ML instances. You are billed for the time - * interval between this time and the value of TransformEndTime.

                                              + *

                                              Indicates when the transform job has been completed, or has stopped or failed. You are + * billed for the time interval between this time and the value of + * TransformStartTime.

                                              */ - TransformStartTime?: Date; + TransformEndTime?: Date; /** - *

                                              Configures the timeout and maximum number of retries for processing a transform job invocation.

                                              + *

                                              The environment variables to set in the Docker container. We support up to 16 key and + * values entries in the map.

                                              */ - ModelClientConfig?: ModelClientConfig; + Environment?: { [key: string]: string }; /** - *

                                              The maximum number of parallel requests that can be sent to each instance in a transform - * job. If MaxConcurrentTransforms is set to 0 or left unset, SageMaker checks the - * optional execution-parameters to determine the settings for your chosen algorithm. If the - * execution-parameters endpoint is not enabled, the default value is 1. For built-in algorithms, - * you don't need to set a value for MaxConcurrentTransforms.

                                              + *

                                              The data structure used to specify the data to be used for inference in a batch + * transform job and to associate the data that is relevant to the prediction results in + * the output. The input filter provided allows you to exclude input data that is not + * needed for inference in a batch transform job. The output filter provided allows you to + * include input data relevant to interpreting the predictions in the output from the job. + * For more information, see Associate Prediction + * Results with their Corresponding Input Records.

                                              */ - MaxConcurrentTransforms?: number; + DataProcessing?: DataProcessing; + + /** + *

                                              A list of tags associated with the transform job.

                                              + */ + Tags?: Tag[]; /** *

                                              The Amazon Resource Name (ARN) of the labeling job that created the transform job.

                                              @@ -8841,73 +8948,44 @@ export interface TransformJob { ExperimentConfig?: ExperimentConfig; /** - *

                                              The Amazon Resource Name (ARN) of the AutoML job that created the transform job.

                                              - */ - AutoMLJobArn?: string; - - /** - *

                                              If the transform job failed, the reason it failed.

                                              + *

                                              Describes the resources, including ML instance types and ML instance count, to use for + * transform job.

                                              */ - FailureReason?: string; + TransformResources?: TransformResources; /** - *

                                              Describes the input source of a transform job and the way the transform job consumes - * it.

                                              + *

                                              The Amazon Resource Name (ARN) of the AutoML job that created the transform job.

                                              */ - TransformInput?: TransformInput; + AutoMLJobArn?: string; /** - *

                                              The status of the transform job.

                                              - *

                                              Transform job statuses are:

                                              - *
                                                - *
                                              • - *

                                                - * InProgress - The job is in progress.

                                                - *
                                              • - *
                                              • - *

                                                - * Completed - The job has completed.

                                                - *
                                              • - *
                                              • - *

                                                - * Failed - The transform job has failed. To see the reason for the failure, - * see the FailureReason field in the response to a - * DescribeTransformJob call.

                                                - *
                                              • - *
                                              • - *

                                                - * Stopping - The transform job is stopping.

                                                - *
                                              • - *
                                              • - *

                                                - * Stopped - The transform job has stopped.

                                                - *
                                              • - *
                                              + *

                                              Specifies the number of records to include in a mini-batch for an HTTP inference request. + * A record is a single unit of input data that inference can be made on. For example, a single + * line in a CSV file is a record.

                                              */ - TransformJobStatus?: TransformJobStatus | string; + BatchStrategy?: BatchStrategy | string; /** - *

                                              The Amazon Resource Name (ARN) of the transform job.

                                              + *

                                              The name of the transform job.

                                              */ - TransformJobArn?: string; + TransformJobName?: string; /** - *

                                              Indicates when the transform job has been completed, or has stopped or failed. You are - * billed for the time interval between this time and the value of - * TransformStartTime.

                                              + *

                                              If the transform job failed, the reason it failed.

                                              */ - TransformEndTime?: Date; + FailureReason?: string; /** - *

                                              The data structure used to specify the data to be used for inference in a batch - * transform job and to associate the data that is relevant to the prediction results in - * the output. The input filter provided allows you to exclude input data that is not - * needed for inference in a batch transform job. The output filter provided allows you to - * include input data relevant to interpreting the predictions in the output from the job. - * For more information, see Associate Prediction - * Results with their Corresponding Input Records.

                                              + *

                                              The maximum allowed size of the payload, in MB. A payload is the data portion of a record + * (without metadata). The value in MaxPayloadInMB must be greater than, or equal + * to, the size of a single record. To estimate the size of a record in MB, divide the size of + * your dataset by the number of records. To ensure that the records fit within the maximum + * payload size, we recommend using a slightly larger value. The default value is 6 MB. For cases + * where the payload might be arbitrarily large and is transmitted using HTTP chunked encoding, + * set the value to 0. This feature works only in supported algorithms. Currently, SageMaker built-in + * algorithms do not support HTTP chunked encoding.

                                              */ - DataProcessing?: DataProcessing; + MaxPayloadInMB?: number; } export namespace TransformJob { @@ -8922,24 +9000,24 @@ export namespace TransformJob { */ export interface TrialComponentSourceDetail { /** - *

                                              Information about a processing job that's the source of a trial component.

                                              + *

                                              Information about a training job that's the source of a trial component.

                                              */ - ProcessingJob?: ProcessingJob; + TrainingJob?: TrainingJob; /** - *

                                              The Amazon Resource Name (ARN) of the source.

                                              + *

                                              Information about a processing job that's the source of a trial component.

                                              */ - SourceArn?: string; + ProcessingJob?: ProcessingJob; /** - *

                                              Information about a training job that's the source of a trial component.

                                              + *

                                              Information about a transform job that's the source of a trial component.

                                              */ - TrainingJob?: TrainingJob; + TransformJob?: TransformJob; /** - *

                                              Information about a transform job that's the source of the trial component.

                                              + *

                                              The Amazon Resource Name (ARN) of the source.

                                              */ - TransformJob?: TransformJob; + SourceArn?: string; } export namespace TrialComponentSourceDetail { @@ -8954,14 +9032,9 @@ export namespace TrialComponentSourceDetail { */ export interface TrialComponent { /** - *

                                              When the component ended.

                                              - */ - EndTime?: Date; - - /** - *

                                              When the component was created.

                                              + *

                                              The input artifacts of the component.

                                              */ - CreationTime?: Date; + InputArtifacts?: { [key: string]: TrialComponentArtifact }; /** *

                                              When the component was last modified.

                                              @@ -8969,10 +9042,9 @@ export interface TrialComponent { LastModifiedTime?: Date; /** - *

                                              Information about the user who created or modified an experiment, trial, or trial - * component.

                                              + *

                                              The output artifacts of the component.

                                              */ - LastModifiedBy?: UserContext; + OutputArtifacts?: { [key: string]: TrialComponentArtifact }; /** *

                                              The name of the trial component.

                                              @@ -8980,20 +9052,20 @@ export interface TrialComponent { TrialComponentName?: string; /** - *

                                              The metrics for the component.

                                              + *

                                              The name of the component as displayed. If DisplayName isn't specified, + * TrialComponentName is displayed.

                                              */ - Metrics?: TrialComponentMetricSummary[]; + DisplayName?: string; /** - *

                                              Information about the user who created or modified an experiment, trial, or trial - * component.

                                              + *

                                              When the component was created.

                                              */ - CreatedBy?: UserContext; + CreationTime?: Date; /** - *

                                              The hyperparameters of the component.

                                              + *

                                              The metrics for the component.

                                              */ - Parameters?: { [key: string]: TrialComponentParameterValue }; + Metrics?: TrialComponentMetricSummary[]; /** *

                                              An array of the parents of the component. A parent is a trial the component is associated @@ -9002,19 +9074,25 @@ export interface TrialComponent { Parents?: Parent[]; /** - *

                                              The input artifacts of the component.

                                              + *

                                              When the component ended.

                                              */ - InputArtifacts?: { [key: string]: TrialComponentArtifact }; + EndTime?: Date; /** - *

                                              When the component started.

                                              + *

                                              Information about the user who created or modified an experiment, trial, or trial + * component.

                                              */ - StartTime?: Date; + LastModifiedBy?: UserContext; /** - *

                                              The Amazon Resource Name (ARN) of the trial component.

                                              + *

                                              The Amazon Resource Name (ARN) and job type of the source of the component.

                                              */ - TrialComponentArn?: string; + Source?: TrialComponentSource; + + /** + *

                                              When the component started.

                                              + */ + StartTime?: Date; /** *

                                              Details of the source of the component.

                                              @@ -9022,30 +9100,30 @@ export interface TrialComponent { SourceDetail?: TrialComponentSourceDetail; /** - *

                                              The list of tags that are associated with the component. You can use Search API to search on the tags.

                                              + *

                                              The hyperparameters of the component.

                                              */ - Tags?: Tag[]; + Parameters?: { [key: string]: TrialComponentParameterValue }; /** - *

                                              The Amazon Resource Name (ARN) and job type of the source of the component.

                                              + *

                                              The status of the trial component.

                                              */ - Source?: TrialComponentSource; + Status?: TrialComponentStatus; /** - *

                                              The name of the component as displayed. If DisplayName isn't specified, - * TrialComponentName is displayed.

                                              + *

                                              The Amazon Resource Name (ARN) of the trial component.

                                              */ - DisplayName?: string; + TrialComponentArn?: string; /** - *

                                              The output artifacts of the component.

                                              + *

                                              The list of tags that are associated with the component. You can use Search API to search on the tags.

                                              */ - OutputArtifacts?: { [key: string]: TrialComponentArtifact }; + Tags?: Tag[]; /** - *

                                              The status of the trial component.

                                              + *

                                              Information about the user who created or modified an experiment, trial, or trial + * component.

                                              */ - Status?: TrialComponentStatus; + CreatedBy?: UserContext; } export namespace TrialComponent { @@ -9059,24 +9137,24 @@ export namespace TrialComponent { */ export interface SearchRecord { /** - *

                                              The properties of a trial.

                                              + *

                                              The properties of a trial component.

                                              */ - Trial?: Trial; + TrialComponent?: TrialComponent; /** - *

                                              The properties of an experiment.

                                              + *

                                              The properties of a training job.

                                              */ - Experiment?: Experiment; + TrainingJob?: TrainingJob; /** - *

                                              The properties of a trial component.

                                              + *

                                              The properties of an experiment.

                                              */ - TrialComponent?: TrialComponent; + Experiment?: Experiment; /** - *

                                              The properties of a training job.

                                              + *

                                              The properties of a trial.

                                              */ - TrainingJob?: TrainingJob; + Trial?: Trial; } export namespace SearchRecord { @@ -9288,14 +9366,14 @@ export namespace UpdateCodeRepositoryOutput { export interface UpdateDomainRequest { /** - *

                                              The ID of the domain to be updated.

                                              + *

                                              A collection of settings.

                                              */ - DomainId: string | undefined; + DefaultUserSettings?: UserSettings; /** - *

                                              A collection of settings.

                                              + *

                                              The ID of the domain to be updated.

                                              */ - DefaultUserSettings?: UserSettings; + DomainId: string | undefined; } export namespace UpdateDomainRequest { @@ -9366,14 +9444,9 @@ export interface UpdateEndpointInput { EndpointConfigName: string | undefined; /** - *

                                              When updating endpoint resources, enables or disables the retention of variant - * properties, such as the instance count or the variant weight. To retain the variant - * properties of an endpoint when updating it, set RetainAllVariantProperties - * to true. To use the variant properties specified in a new - * EndpointConfig call when updating an endpoint, set - * RetainAllVariantProperties to false.

                                              + *

                                              The name of the endpoint whose configuration you want to update.

                                              */ - RetainAllVariantProperties?: boolean; + EndpointName: string | undefined; /** *

                                              When you are updating endpoint resources with UpdateEndpointInput$RetainAllVariantProperties, whose value is set to @@ -9386,9 +9459,14 @@ export interface UpdateEndpointInput { ExcludeRetainedVariantProperties?: VariantProperty[]; /** - *

                                              The name of the endpoint whose configuration you want to update.

                                              + *

                                              When updating endpoint resources, enables or disables the retention of variant + * properties, such as the instance count or the variant weight. To retain the variant + * properties of an endpoint when updating it, set RetainAllVariantProperties + * to true. To use the variant properties specified in a new + * EndpointConfig call when updating an endpoint, set + * RetainAllVariantProperties to false.

                                              */ - EndpointName: string | undefined; + RetainAllVariantProperties?: boolean; } export namespace UpdateEndpointInput { @@ -9442,6 +9520,12 @@ export namespace UpdateEndpointWeightsAndCapacitiesOutput { } export interface UpdateExperimentRequest { + /** + *

                                              The name of the experiment as displayed. The name doesn't need to be unique. If + * DisplayName isn't specified, ExperimentName is displayed.

                                              + */ + DisplayName?: string; + /** *

                                              The description of the experiment.

                                              */ @@ -9451,12 +9535,6 @@ export interface UpdateExperimentRequest { *

                                              The name of the experiment to update.

                                              */ ExperimentName: string | undefined; - - /** - *

                                              The name of the experiment as displayed. The name doesn't need to be unique. If - * DisplayName isn't specified, ExperimentName is displayed.

                                              - */ - DisplayName?: string; } export namespace UpdateExperimentRequest { @@ -9479,17 +9557,17 @@ export namespace UpdateExperimentResponse { } export interface UpdateMonitoringScheduleRequest { - /** - *

                                              The name of the monitoring schedule. The name must be unique within an AWS Region within - * an AWS account.

                                              - */ - MonitoringScheduleName: string | undefined; - /** *

                                              The configuration object that specifies the monitoring schedule and defines the * monitoring job.

                                              */ MonitoringScheduleConfig: MonitoringScheduleConfig | undefined; + + /** + *

                                              The name of the monitoring schedule. The name must be unique within an AWS Region within + * an AWS account.

                                              + */ + MonitoringScheduleName: string | undefined; } export namespace UpdateMonitoringScheduleRequest { @@ -9512,6 +9590,22 @@ export namespace UpdateMonitoringScheduleResponse { } export interface UpdateNotebookInstanceInput { + /** + *

                                              Whether root access is enabled or disabled for users of the notebook instance. The + * default value is Enabled.

                                              + * + *

                                              If you set this to Disabled, users don't have root access on the + * notebook instance, but lifecycle configuration scripts still run with root + * permissions.

                                              + *
                                              + */ + RootAccess?: RootAccess | string; + + /** + *

                                              The name of the notebook instance to update.

                                              + */ + NotebookInstanceName: string | undefined; + /** *

                                              A list of the Elastic Inference (EI) instance types to remove from this notebook * instance. This operation is idempotent. If you specify an accelerator type that is not @@ -9520,33 +9614,51 @@ export interface UpdateNotebookInstanceInput { */ DisassociateAcceleratorTypes?: boolean; + /** + *

                                              Set to true to remove the notebook instance lifecycle configuration + * currently associated with the notebook instance. This operation is idempotent. If you + * specify a lifecycle configuration that is not associated with the notebook instance when + * you call this method, it does not throw an error.

                                              + */ + DisassociateLifecycleConfig?: boolean; + /** *

                                              The Amazon ML compute instance type.

                                              */ InstanceType?: _InstanceType | string; /** - *

                                              The name of the notebook instance to update.

                                              + *

                                              The size, in GB, of the ML storage volume to attach to the notebook instance. The + * default value is 5 GB. ML storage volumes are encrypted, so Amazon SageMaker can't determine the + * amount of available free space on the volume. Because of this, you can increase the + * volume size when you update a notebook instance, but you can't decrease the volume size. + * If you want to decrease the size of the ML storage volume in use, create a new notebook + * instance with the desired size.

                                              */ - NotebookInstanceName: string | undefined; + VolumeSizeInGB?: number; /** - *

                                              The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access the - * notebook instance. For more information, see Amazon SageMaker Roles.

                                              - * - *

                                              To be able to pass this role to Amazon SageMaker, the caller of this API must have the - * iam:PassRole permission.

                                              - *
                                              + *

                                              The name of a lifecycle configuration to associate with the notebook instance. For + * information about lifestyle configurations, see Step 2.1: (Optional) + * Customize a Notebook Instance.

                                              */ - RoleArn?: string; + LifecycleConfigName?: string; /** - *

                                              Set to true to remove the notebook instance lifecycle configuration - * currently associated with the notebook instance. This operation is idempotent. If you - * specify a lifecycle configuration that is not associated with the notebook instance when - * you call this method, it does not throw an error.

                                              + *

                                              A list of names or URLs of the default Git repositories to remove from this notebook + * instance. This operation is idempotent. If you specify a Git repository that is not + * associated with the notebook instance when you call this method, it does not throw an + * error.

                                              */ - DisassociateLifecycleConfig?: boolean; + DisassociateAdditionalCodeRepositories?: boolean; + + /** + *

                                              A list of the Elastic Inference (EI) instance types to associate with this notebook + * instance. Currently only one EI instance type can be associated with a notebook + * instance. For more information, see Using Elastic Inference in Amazon + * SageMaker.

                                              + */ + AcceleratorTypes?: (NotebookInstanceAcceleratorType | string)[]; /** *

                                              The Git repository to associate with the notebook instance as its default code @@ -9569,19 +9681,14 @@ export interface UpdateNotebookInstanceInput { AdditionalCodeRepositories?: string[]; /** - *

                                              A list of the Elastic Inference (EI) instance types to associate with this notebook - * instance. Currently only one EI instance type can be associated with a notebook - * instance. For more information, see Using Elastic Inference in Amazon - * SageMaker.

                                              - */ - AcceleratorTypes?: (NotebookInstanceAcceleratorType | string)[]; - - /** - *

                                              The name of a lifecycle configuration to associate with the notebook instance. For - * information about lifestyle configurations, see Step 2.1: (Optional) - * Customize a Notebook Instance.

                                              + *

                                              The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access the + * notebook instance. For more information, see Amazon SageMaker Roles.

                                              + * + *

                                              To be able to pass this role to Amazon SageMaker, the caller of this API must have the + * iam:PassRole permission.

                                              + *
                                              */ - LifecycleConfigName?: string; + RoleArn?: string; /** *

                                              The name or URL of the default Git repository to remove from this notebook instance. @@ -9589,35 +9696,6 @@ export interface UpdateNotebookInstanceInput { * with the notebook instance when you call this method, it does not throw an error.

                                              */ DisassociateDefaultCodeRepository?: boolean; - - /** - *

                                              A list of names or URLs of the default Git repositories to remove from this notebook - * instance. This operation is idempotent. If you specify a Git repository that is not - * associated with the notebook instance when you call this method, it does not throw an - * error.

                                              - */ - DisassociateAdditionalCodeRepositories?: boolean; - - /** - *

                                              Whether root access is enabled or disabled for users of the notebook instance. The - * default value is Enabled.

                                              - * - *

                                              If you set this to Disabled, users don't have root access on the - * notebook instance, but lifecycle configuration scripts still run with root - * permissions.

                                              - *
                                              - */ - RootAccess?: RootAccess | string; - - /** - *

                                              The size, in GB, of the ML storage volume to attach to the notebook instance. The - * default value is 5 GB. ML storage volumes are encrypted, so Amazon SageMaker can't determine the - * amount of available free space on the volume. Because of this, you can increase the - * volume size when you update a notebook instance, but you can't decrease the volume size. - * If you want to decrease the size of the ML storage volume in use, create a new notebook - * instance with the desired size.

                                              - */ - VolumeSizeInGB?: number; } export namespace UpdateNotebookInstanceInput { @@ -9669,16 +9747,16 @@ export namespace UpdateNotebookInstanceLifecycleConfigOutput { } export interface UpdateTrialRequest { - /** - *

                                              The name of the trial to update.

                                              - */ - TrialName: string | undefined; - /** *

                                              The name of the trial as displayed. The name doesn't need to be unique. If * DisplayName isn't specified, TrialName is displayed.

                                              */ DisplayName?: string; + + /** + *

                                              The name of the trial to update.

                                              + */ + TrialName: string | undefined; } export namespace UpdateTrialRequest { @@ -9702,61 +9780,61 @@ export namespace UpdateTrialResponse { export interface UpdateTrialComponentRequest { /** - *

                                              Replaces all of the component's hyperparameters with the specified hyperparameters.

                                              + *

                                              The hyperparameters to remove from the component.

                                              */ - Parameters?: { [key: string]: TrialComponentParameterValue }; + ParametersToRemove?: string[]; /** - *

                                              The output artifacts to remove from the component.

                                              + *

                                              The input artifacts to remove from the component.

                                              */ - OutputArtifactsToRemove?: string[]; + InputArtifactsToRemove?: string[]; /** - *

                                              The new status of the component.

                                              + *

                                              When the component ended.

                                              */ - Status?: TrialComponentStatus; + EndTime?: Date; /** - *

                                              Replaces all of the component's input artifacts with the specified artifacts.

                                              + *

                                              The name of the component as displayed. The name doesn't need to be unique. If + * DisplayName isn't specified, TrialComponentName is + * displayed.

                                              */ - InputArtifacts?: { [key: string]: TrialComponentArtifact }; + DisplayName?: string; /** - *

                                              The input artifacts to remove from the component.

                                              + *

                                              The name of the component to update.

                                              */ - InputArtifactsToRemove?: string[]; + TrialComponentName: string | undefined; /** - *

                                              Replaces all of the component's output artifacts with the specified artifacts.

                                              + *

                                              Replaces all of the component's hyperparameters with the specified hyperparameters.

                                              */ - OutputArtifacts?: { [key: string]: TrialComponentArtifact }; + Parameters?: { [key: string]: TrialComponentParameterValue }; /** - *

                                              The hyperparameters to remove from the component.

                                              + *

                                              The new status of the component.

                                              */ - ParametersToRemove?: string[]; + Status?: TrialComponentStatus; /** - *

                                              When the component started.

                                              + *

                                              The output artifacts to remove from the component.

                                              */ - StartTime?: Date; + OutputArtifactsToRemove?: string[]; /** - *

                                              The name of the component to update.

                                              + *

                                              When the component started.

                                              */ - TrialComponentName: string | undefined; + StartTime?: Date; /** - *

                                              When the component ended.

                                              + *

                                              Replaces all of the component's input artifacts with the specified artifacts.

                                              */ - EndTime?: Date; + InputArtifacts?: { [key: string]: TrialComponentArtifact }; /** - *

                                              The name of the component as displayed. The name doesn't need to be unique. If - * DisplayName isn't specified, TrialComponentName is - * displayed.

                                              + *

                                              Replaces all of the component's output artifacts with the specified artifacts.

                                              */ - DisplayName?: string; + OutputArtifacts?: { [key: string]: TrialComponentArtifact }; } export namespace UpdateTrialComponentRequest { @@ -9785,14 +9863,14 @@ export interface UpdateUserProfileRequest { DomainId: string | undefined; /** - *

                                              The user profile name.

                                              + *

                                              A collection of settings.

                                              */ - UserProfileName: string | undefined; + UserSettings?: UserSettings; /** - *

                                              A collection of settings.

                                              + *

                                              The user profile name.

                                              */ - UserSettings?: UserSettings; + UserProfileName: string | undefined; } export namespace UpdateUserProfileRequest { @@ -9821,19 +9899,18 @@ export interface UpdateWorkforceRequest { */ OidcConfig?: OidcConfig; - /** - *

                                              The name of the private workforce whose access you want to restrict. - * WorkforceName is automatically set to default when a - * workforce is created and cannot be modified.

                                              - */ - WorkforceName: string | undefined; - /** *

                                              A list of one to ten worker IP address ranges (CIDRs) that can be used to * access tasks assigned to this workforce.

                                              *

                                              Maximum: Ten CIDR values

                                              */ SourceIpConfig?: SourceIpConfig; + + /** + *

                                              The name of the private workforce that you want to update. You can find your workforce + * name by using the operation.

                                              + */ + WorkforceName: string | undefined; } export namespace UpdateWorkforceRequest { @@ -9845,8 +9922,7 @@ export namespace UpdateWorkforceRequest { export interface UpdateWorkforceResponse { /** - *

                                              A single private workforce, which is automatically created when you create your first - * private work team. You can create one private work force in each AWS Region. By default, + *

                                              A single private workforce. You can create one private work force in each AWS Region. By default, * any workforce-related API operation used in a specific region will apply to the * workforce created in that region. To learn how to create a private workforce, see Create a Private Workforce.

                                              */ @@ -9861,20 +9937,38 @@ export namespace UpdateWorkforceResponse { export interface UpdateWorkteamRequest { /** - *

                                              A list of MemberDefinition objects that contain the updated work team - * members.

                                              + *

                                              An updated description for the work team.

                                              */ - MemberDefinitions?: MemberDefinition[]; + Description?: string; /** - *

                                              The name of the work team to update.

                                              + *

                                              A list of MemberDefinition objects that contains objects that identify + * the workers that make up the work team.

                                              + *

                                              Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). + * For private workforces created using Amazon Cognito use + * CognitoMemberDefinition. For workforces created using your own OIDC identity + * provider (IdP) use OidcMemberDefinition. You should not provide input + * for both of these parameters in a single request.

                                              + *

                                              For workforces created using Amazon Cognito, private work teams correspond to Amazon Cognito + * user groups within the user pool used to create a workforce. All of the + * CognitoMemberDefinition objects that make up the member definition must + * have the same ClientId and UserPool values. To add a Amazon + * Cognito user group to an existing worker pool, see Adding groups to a User + * Pool. For more information about user pools, see Amazon Cognito User + * Pools.

                                              + *

                                              For workforces created using your own OIDC IdP, specify the user groups that you want + * to include in your private work team in OidcMemberDefinition by listing + * those groups in Groups. Be aware that user groups that are already in the + * work team must also be listed in Groups when you make this request to + * remain on the work team. If you do not include these user groups, they will no longer be + * associated with the work team you update.

                                              */ - WorkteamName: string | undefined; + MemberDefinitions?: MemberDefinition[]; /** - *

                                              An updated description for the work team.

                                              + *

                                              The name of the work team to update.

                                              */ - Description?: string; + WorkteamName: string | undefined; /** *

                                              Configures SNS topic notifications for available or expiring work items

                                              @@ -9929,11 +10023,6 @@ export namespace UpdateWorkteamResponse { *
                                            */ export interface SearchExpression { - /** - *

                                            A list of filter objects.

                                            - */ - Filters?: Filter[]; - /** *

                                            A list of search expression objects.

                                            */ @@ -9952,6 +10041,11 @@ export interface SearchExpression { *

                                            A list of nested filter objects.

                                            */ NestedFilters?: NestedFilters[]; + + /** + *

                                            A list of filter objects.

                                            + */ + Filters?: Filter[]; } export namespace SearchExpression { @@ -9962,9 +10056,12 @@ export namespace SearchExpression { export interface SearchRequest { /** - *

                                            The name of the Amazon SageMaker resource to search for.

                                            + *

                                            If more than MaxResults resources match the specified + * SearchExpression, the response includes a + * NextToken. The NextToken can be passed to the next + * SearchRequest to continue retrieving results.

                                            */ - Resource: ResourceType | string | undefined; + NextToken?: string; /** *

                                            How SearchResults are ordered. Valid values are Ascending or @@ -9988,12 +10085,9 @@ export interface SearchRequest { SortBy?: string; /** - *

                                            If more than MaxResults resources match the specified - * SearchExpression, the response includes a - * NextToken. The NextToken can be passed to the next - * SearchRequest to continue retrieving results.

                                            + *

                                            The name of the Amazon SageMaker resource to search for.

                                            */ - NextToken?: string; + Resource: ResourceType | string | undefined; /** *

                                            The maximum number of results to return.

                                            diff --git a/clients/client-sagemaker/protocols/Aws_json1_1.ts b/clients/client-sagemaker/protocols/Aws_json1_1.ts index 110af7e50626..e53b1406588f 100644 --- a/clients/client-sagemaker/protocols/Aws_json1_1.ts +++ b/clients/client-sagemaker/protocols/Aws_json1_1.ts @@ -451,10 +451,6 @@ import { DeleteModelPackageInput, DeleteMonitoringScheduleRequest, DeleteNotebookInstanceInput, - DeleteNotebookInstanceLifecycleConfigInput, - DeleteTagsInput, - DeleteTagsOutput, - DeleteTrialRequest, EndpointInput, ExperimentConfig, FileSystemDataSource, @@ -472,6 +468,7 @@ import { HyperParameterTuningJobConfig, HyperParameterTuningJobObjective, HyperParameterTuningJobWarmStartConfig, + ImageConfig, InferenceSpecification, InputConfig, IntegerParameterRange, @@ -485,6 +482,7 @@ import { LabelingJobOutputConfig, LabelingJobResourceConfig, LabelingJobS3DataSource, + LabelingJobSnsDataSource, LabelingJobStoppingConditions, MemberDefinition, MetricDefinition, @@ -568,8 +566,12 @@ import { VpcConfig, } from "../models/models_0"; import { + DeleteNotebookInstanceLifecycleConfigInput, + DeleteTagsInput, + DeleteTagsOutput, DeleteTrialComponentRequest, DeleteTrialComponentResponse, + DeleteTrialRequest, DeleteTrialResponse, DeleteUserProfileRequest, DeleteWorkforceRequest, @@ -10226,6 +10228,9 @@ const serializeAws_json1_1ContainerDefinition = (input: ContainerDefinition, con Environment: serializeAws_json1_1EnvironmentMap(input.Environment, context), }), ...(input.Image !== undefined && { Image: input.Image }), + ...(input.ImageConfig !== undefined && { + ImageConfig: serializeAws_json1_1ImageConfig(input.ImageConfig, context), + }), ...(input.Mode !== undefined && { Mode: input.Mode }), ...(input.ModelDataUrl !== undefined && { ModelDataUrl: input.ModelDataUrl }), ...(input.ModelPackageName !== undefined && { ModelPackageName: input.ModelPackageName }), @@ -10368,6 +10373,7 @@ const serializeAws_json1_1CreateCompilationJobRequest = ( const serializeAws_json1_1CreateDomainRequest = (input: CreateDomainRequest, context: __SerdeContext): any => { return { + ...(input.AppNetworkAccessType !== undefined && { AppNetworkAccessType: input.AppNetworkAccessType }), ...(input.AuthMode !== undefined && { AuthMode: input.AuthMode }), ...(input.DefaultUserSettings !== undefined && { DefaultUserSettings: serializeAws_json1_1UserSettings(input.DefaultUserSettings, context), @@ -11682,6 +11688,12 @@ const serializeAws_json1_1HyperParameterTuningJobWarmStartConfig = ( }; }; +const serializeAws_json1_1ImageConfig = (input: ImageConfig, context: __SerdeContext): any => { + return { + ...(input.RepositoryAccessMode !== undefined && { RepositoryAccessMode: input.RepositoryAccessMode }), + }; +}; + const serializeAws_json1_1InferenceSpecification = (input: InferenceSpecification, context: __SerdeContext): any => { return { ...(input.Containers !== undefined && { @@ -11809,6 +11821,9 @@ const serializeAws_json1_1LabelingJobDataSource = (input: LabelingJobDataSource, ...(input.S3DataSource !== undefined && { S3DataSource: serializeAws_json1_1LabelingJobS3DataSource(input.S3DataSource, context), }), + ...(input.SnsDataSource !== undefined && { + SnsDataSource: serializeAws_json1_1LabelingJobSnsDataSource(input.SnsDataSource, context), + }), }; }; @@ -11827,6 +11842,7 @@ const serializeAws_json1_1LabelingJobOutputConfig = (input: LabelingJobOutputCon return { ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), ...(input.S3OutputPath !== undefined && { S3OutputPath: input.S3OutputPath }), + ...(input.SnsTopicArn !== undefined && { SnsTopicArn: input.SnsTopicArn }), }; }; @@ -11845,6 +11861,15 @@ const serializeAws_json1_1LabelingJobS3DataSource = (input: LabelingJobS3DataSou }; }; +const serializeAws_json1_1LabelingJobSnsDataSource = ( + input: LabelingJobSnsDataSource, + context: __SerdeContext +): any => { + return { + ...(input.SnsTopicArn !== undefined && { SnsTopicArn: input.SnsTopicArn }), + }; +}; + const serializeAws_json1_1LabelingJobStoppingConditions = ( input: LabelingJobStoppingConditions, context: __SerdeContext @@ -14462,6 +14487,10 @@ const deserializeAws_json1_1ContainerDefinition = (output: any, context: __Serde ? deserializeAws_json1_1EnvironmentMap(output.Environment, context) : undefined, Image: output.Image !== undefined && output.Image !== null ? output.Image : undefined, + ImageConfig: + output.ImageConfig !== undefined && output.ImageConfig !== null + ? deserializeAws_json1_1ImageConfig(output.ImageConfig, context) + : undefined, Mode: output.Mode !== undefined && output.Mode !== null ? output.Mode : undefined, ModelDataUrl: output.ModelDataUrl !== undefined && output.ModelDataUrl !== null ? output.ModelDataUrl : undefined, ModelPackageName: @@ -15225,6 +15254,10 @@ const deserializeAws_json1_1DescribeCompilationJobResponse = ( const deserializeAws_json1_1DescribeDomainResponse = (output: any, context: __SerdeContext): DescribeDomainResponse => { return { + AppNetworkAccessType: + output.AppNetworkAccessType !== undefined && output.AppNetworkAccessType !== null + ? output.AppNetworkAccessType + : undefined, AuthMode: output.AuthMode !== undefined && output.AuthMode !== null ? output.AuthMode : undefined, CreationTime: output.CreationTime !== undefined && output.CreationTime !== null @@ -16933,6 +16966,15 @@ const deserializeAws_json1_1HyperParameterTuningJobWarmStartConfig = ( } as any; }; +const deserializeAws_json1_1ImageConfig = (output: any, context: __SerdeContext): ImageConfig => { + return { + RepositoryAccessMode: + output.RepositoryAccessMode !== undefined && output.RepositoryAccessMode !== null + ? output.RepositoryAccessMode + : undefined, + } as any; +}; + const deserializeAws_json1_1InferenceSpecification = (output: any, context: __SerdeContext): InferenceSpecification => { return { Containers: @@ -17093,6 +17135,10 @@ const deserializeAws_json1_1LabelingJobDataSource = (output: any, context: __Ser output.S3DataSource !== undefined && output.S3DataSource !== null ? deserializeAws_json1_1LabelingJobS3DataSource(output.S3DataSource, context) : undefined, + SnsDataSource: + output.SnsDataSource !== undefined && output.SnsDataSource !== null + ? deserializeAws_json1_1LabelingJobSnsDataSource(output.SnsDataSource, context) + : undefined, } as any; }; @@ -17164,6 +17210,7 @@ const deserializeAws_json1_1LabelingJobOutputConfig = ( return { KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, S3OutputPath: output.S3OutputPath !== undefined && output.S3OutputPath !== null ? output.S3OutputPath : undefined, + SnsTopicArn: output.SnsTopicArn !== undefined && output.SnsTopicArn !== null ? output.SnsTopicArn : undefined, } as any; }; @@ -17187,6 +17234,15 @@ const deserializeAws_json1_1LabelingJobS3DataSource = ( } as any; }; +const deserializeAws_json1_1LabelingJobSnsDataSource = ( + output: any, + context: __SerdeContext +): LabelingJobSnsDataSource => { + return { + SnsTopicArn: output.SnsTopicArn !== undefined && output.SnsTopicArn !== null ? output.SnsTopicArn : undefined, + } as any; +}; + const deserializeAws_json1_1LabelingJobStoppingConditions = ( output: any, context: __SerdeContext diff --git a/clients/client-savingsplans/Savingsplans.ts b/clients/client-savingsplans/Savingsplans.ts index 64dbf3842358..08a98e4c1ee7 100644 --- a/clients/client-savingsplans/Savingsplans.ts +++ b/clients/client-savingsplans/Savingsplans.ts @@ -4,6 +4,11 @@ import { CreateSavingsPlanCommandInput, CreateSavingsPlanCommandOutput, } from "./commands/CreateSavingsPlanCommand"; +import { + DeleteQueuedSavingsPlanCommand, + DeleteQueuedSavingsPlanCommandInput, + DeleteQueuedSavingsPlanCommandOutput, +} from "./commands/DeleteQueuedSavingsPlanCommand"; import { DescribeSavingsPlanRatesCommand, DescribeSavingsPlanRatesCommandInput, @@ -76,6 +81,38 @@ export class Savingsplans extends SavingsplansClient { } } + /** + *

                                            Deletes the queued purchase for the specified Savings Plan.

                                            + */ + public deleteQueuedSavingsPlan( + args: DeleteQueuedSavingsPlanCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteQueuedSavingsPlan( + args: DeleteQueuedSavingsPlanCommandInput, + cb: (err: any, data?: DeleteQueuedSavingsPlanCommandOutput) => void + ): void; + public deleteQueuedSavingsPlan( + args: DeleteQueuedSavingsPlanCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteQueuedSavingsPlanCommandOutput) => void + ): void; + public deleteQueuedSavingsPlan( + args: DeleteQueuedSavingsPlanCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteQueuedSavingsPlanCommandOutput) => void), + cb?: (err: any, data?: DeleteQueuedSavingsPlanCommandOutput) => void + ): Promise | void { + const command = new DeleteQueuedSavingsPlanCommand(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 Savings Plans rates.

                                            */ diff --git a/clients/client-savingsplans/SavingsplansClient.ts b/clients/client-savingsplans/SavingsplansClient.ts index c4a9b7fba253..420b810fba95 100644 --- a/clients/client-savingsplans/SavingsplansClient.ts +++ b/clients/client-savingsplans/SavingsplansClient.ts @@ -1,4 +1,8 @@ import { CreateSavingsPlanCommandInput, CreateSavingsPlanCommandOutput } from "./commands/CreateSavingsPlanCommand"; +import { + DeleteQueuedSavingsPlanCommandInput, + DeleteQueuedSavingsPlanCommandOutput, +} from "./commands/DeleteQueuedSavingsPlanCommand"; import { DescribeSavingsPlanRatesCommandInput, DescribeSavingsPlanRatesCommandOutput, @@ -72,6 +76,7 @@ import { export type ServiceInputTypes = | CreateSavingsPlanCommandInput + | DeleteQueuedSavingsPlanCommandInput | DescribeSavingsPlanRatesCommandInput | DescribeSavingsPlansCommandInput | DescribeSavingsPlansOfferingRatesCommandInput @@ -82,6 +87,7 @@ export type ServiceInputTypes = export type ServiceOutputTypes = | CreateSavingsPlanCommandOutput + | DeleteQueuedSavingsPlanCommandOutput | DescribeSavingsPlanRatesCommandOutput | DescribeSavingsPlansCommandOutput | DescribeSavingsPlansOfferingRatesCommandOutput diff --git a/clients/client-savingsplans/commands/DeleteQueuedSavingsPlanCommand.ts b/clients/client-savingsplans/commands/DeleteQueuedSavingsPlanCommand.ts new file mode 100644 index 000000000000..6ea8451d4270 --- /dev/null +++ b/clients/client-savingsplans/commands/DeleteQueuedSavingsPlanCommand.ts @@ -0,0 +1,70 @@ +import { SavingsplansClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SavingsplansClient"; +import { DeleteQueuedSavingsPlanRequest, DeleteQueuedSavingsPlanResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteQueuedSavingsPlanCommand, + serializeAws_restJson1DeleteQueuedSavingsPlanCommand, +} 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 DeleteQueuedSavingsPlanCommandInput = DeleteQueuedSavingsPlanRequest; +export type DeleteQueuedSavingsPlanCommandOutput = DeleteQueuedSavingsPlanResponse & __MetadataBearer; + +export class DeleteQueuedSavingsPlanCommand extends $Command< + DeleteQueuedSavingsPlanCommandInput, + DeleteQueuedSavingsPlanCommandOutput, + SavingsplansClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteQueuedSavingsPlanCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SavingsplansClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteQueuedSavingsPlanRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteQueuedSavingsPlanResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteQueuedSavingsPlanCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteQueuedSavingsPlanCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1DeleteQueuedSavingsPlanCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-savingsplans/index.ts b/clients/client-savingsplans/index.ts index 60edc1959401..30199b53db04 100644 --- a/clients/client-savingsplans/index.ts +++ b/clients/client-savingsplans/index.ts @@ -1,6 +1,7 @@ export * from "./SavingsplansClient"; export * from "./Savingsplans"; export * from "./commands/CreateSavingsPlanCommand"; +export * from "./commands/DeleteQueuedSavingsPlanCommand"; export * from "./commands/DescribeSavingsPlanRatesCommand"; export * from "./commands/DescribeSavingsPlansCommand"; export * from "./commands/DescribeSavingsPlansOfferingRatesCommand"; diff --git a/clients/client-savingsplans/models/models_0.ts b/clients/client-savingsplans/models/models_0.ts index 18eaefa1e6d5..9d5f74d8fbb8 100644 --- a/clients/client-savingsplans/models/models_0.ts +++ b/clients/client-savingsplans/models/models_0.ts @@ -2,21 +2,15 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface CreateSavingsPlanRequest { - /** - *

                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                            - */ - clientToken?: string; - /** *

                                            The ID of the offering.

                                            */ savingsPlanOfferingId: string | undefined; /** - *

                                            The hourly commitment, in USD. This is a value between 0.001 and 1 million. You cannot specify more - * than three digits after the decimal point.

                                            + *

                                            One or more tags.

                                            */ - commitment: string | undefined; + tags?: { [key: string]: string }; /** *

                                            The up-front payment amount. This is a whole number between 50 and 99 percent of the total value of the Savings Plan. @@ -25,9 +19,20 @@ export interface CreateSavingsPlanRequest { upfrontPaymentAmount?: string; /** - *

                                            One or more tags.

                                            + *

                                            The time at which to purchase the Savings Plan, in UTC format (YYYY-MM-DDTHH:MM:SSZ).

                                            */ - tags?: { [key: string]: string }; + purchaseTime?: Date; + + /** + *

                                            The hourly commitment, in USD. This is a value between 0.001 and 1 million. You cannot specify more + * than three digits after the decimal point.

                                            + */ + commitment: string | undefined; + + /** + *

                                            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                                            + */ + clientToken?: string; } export namespace CreateSavingsPlanRequest { @@ -109,6 +114,27 @@ export namespace ValidationException { }); } +export interface DeleteQueuedSavingsPlanRequest { + /** + *

                                            The ID of the Savings Plan.

                                            + */ + savingsPlanId: string | undefined; +} + +export namespace DeleteQueuedSavingsPlanRequest { + export const filterSensitiveLog = (obj: DeleteQueuedSavingsPlanRequest): any => ({ + ...obj, + }); +} + +export interface DeleteQueuedSavingsPlanResponse {} + +export namespace DeleteQueuedSavingsPlanResponse { + export const filterSensitiveLog = (obj: DeleteQueuedSavingsPlanResponse): any => ({ + ...obj, + }); +} + export enum SavingsPlanRateFilterName { INSTANCE_TYPE = "instanceType", OPERATION = "operation", @@ -142,6 +168,11 @@ export namespace SavingsPlanRateFilter { } export interface DescribeSavingsPlanRatesRequest { + /** + *

                                            The filters.

                                            + */ + filters?: SavingsPlanRateFilter[]; + /** *

                                            The maximum number of results to return with a single call. To retrieve additional results, make another * call with the returned token value.

                                            @@ -157,11 +188,6 @@ export interface DescribeSavingsPlanRatesRequest { *

                                            The token for the next page of results.

                                            */ nextToken?: string; - - /** - *

                                            The filters.

                                            - */ - filters?: SavingsPlanRateFilter[]; } export namespace DescribeSavingsPlanRatesRequest { @@ -191,14 +217,14 @@ export enum SavingsPlanRatePropertyKey { */ export interface SavingsPlanRateProperty { /** - *

                                            The property value.

                                            + *

                                            The property name.

                                            */ - value?: string; + name?: SavingsPlanRatePropertyKey | string; /** - *

                                            The property name.

                                            + *

                                            The property value.

                                            */ - name?: SavingsPlanRatePropertyKey | string; + value?: string; } export namespace SavingsPlanRateProperty { @@ -224,19 +250,19 @@ export enum SavingsPlanRateUnit { */ export interface SavingsPlanRate { /** - *

                                            The rate.

                                            + *

                                            The currency.

                                            */ - rate?: string; + currency?: CurrencyCode | string; /** - *

                                            The usage details of the line item in the billing report.

                                            + *

                                            The properties.

                                            */ - usageType?: string; + properties?: SavingsPlanRateProperty[]; /** - *

                                            The currency.

                                            + *

                                            The usage details of the line item in the billing report.

                                            */ - currency?: CurrencyCode | string; + usageType?: string; /** *

                                            The service.

                                            @@ -248,6 +274,11 @@ export interface SavingsPlanRate { */ unit?: SavingsPlanRateUnit | string; + /** + *

                                            The rate.

                                            + */ + rate?: string; + /** *

                                            The product type.

                                            */ @@ -257,11 +288,6 @@ export interface SavingsPlanRate { *

                                            The specific AWS operation for the line item in the billing report.

                                            */ operation?: string; - - /** - *

                                            The properties.

                                            - */ - properties?: SavingsPlanRateProperty[]; } export namespace SavingsPlanRate { @@ -272,9 +298,9 @@ export namespace SavingsPlanRate { export interface DescribeSavingsPlanRatesResponse { /** - *

                                            Information about the Savings Plans rates.

                                            + *

                                            The ID of the Savings Plan.

                                            */ - searchResults?: SavingsPlanRate[]; + savingsPlanId?: string; /** *

                                            The token to use to retrieve the next page of results. This value is null when there are no more @@ -283,9 +309,9 @@ export interface DescribeSavingsPlanRatesResponse { nextToken?: string; /** - *

                                            The ID of the Savings Plan.

                                            + *

                                            Information about the Savings Plans rates.

                                            */ - savingsPlanId?: string; + searchResults?: SavingsPlanRate[]; } export namespace DescribeSavingsPlanRatesResponse { @@ -331,15 +357,16 @@ export enum SavingsPlanState { ACTIVE = "active", PAYMENT_FAILED = "payment-failed", PAYMENT_PENDING = "payment-pending", + QUEUED = "queued", + QUEUED_DELETED = "queued-deleted", RETIRED = "retired", } export interface DescribeSavingsPlansRequest { /** - *

                                            The maximum number of results to return with a single call. To retrieve additional results, make another - * call with the returned token value.

                                            + *

                                            The filters.

                                            */ - maxResults?: number; + filters?: SavingsPlanFilter[]; /** *

                                            The Amazon Resource Names (ARN) of the Savings Plans.

                                            @@ -347,14 +374,15 @@ export interface DescribeSavingsPlansRequest { savingsPlanArns?: string[]; /** - *

                                            The IDs of the Savings Plans.

                                            + *

                                            The maximum number of results to return with a single call. To retrieve additional results, make another + * call with the returned token value.

                                            */ - savingsPlanIds?: string[]; + maxResults?: number; /** - *

                                            The token for the next page of results.

                                            + *

                                            The IDs of the Savings Plans.

                                            */ - nextToken?: string; + savingsPlanIds?: string[]; /** *

                                            The states.

                                            @@ -362,9 +390,9 @@ export interface DescribeSavingsPlansRequest { states?: (SavingsPlanState | string)[]; /** - *

                                            The filters.

                                            + *

                                            The token for the next page of results.

                                            */ - filters?: SavingsPlanFilter[]; + nextToken?: string; } export namespace DescribeSavingsPlansRequest { @@ -389,44 +417,39 @@ export enum SavingsPlanType { */ export interface SavingsPlan { /** - *

                                            The hourly commitment, in USD.

                                            - */ - commitment?: string; - - /** - *

                                            The end time.

                                            + *

                                            The currency.

                                            */ - end?: string; + currency?: CurrencyCode | string; /** - *

                                            The start time.

                                            + *

                                            The state.

                                            */ - start?: string; + state?: SavingsPlanState | string; /** - *

                                            The payment option.

                                            + *

                                            One or more tags.

                                            */ - paymentOption?: SavingsPlanPaymentOption | string; + tags?: { [key: string]: string }; /** - *

                                            The up-front payment amount.

                                            + *

                                            The product types.

                                            */ - upfrontPaymentAmount?: string; + productTypes?: (SavingsPlanProductType | string)[]; /** - *

                                            One or more tags.

                                            + *

                                            The Amazon Resource Name (ARN) of the Savings Plan.

                                            */ - tags?: { [key: string]: string }; + savingsPlanArn?: string; /** - *

                                            The Amazon Resource Name (ARN) of the Savings Plan.

                                            + *

                                            The up-front payment amount.

                                            */ - savingsPlanArn?: string; + upfrontPaymentAmount?: string; /** - *

                                            The ID of the offering.

                                            + *

                                            The EC2 instance family.

                                            */ - offeringId?: string; + ec2InstanceFamily?: string; /** *

                                            The description.

                                            @@ -434,34 +457,34 @@ export interface SavingsPlan { description?: string; /** - *

                                            The EC2 instance family.

                                            + *

                                            The hourly commitment, in USD.

                                            */ - ec2InstanceFamily?: string; + commitment?: string; /** - *

                                            The currency.

                                            + *

                                            The start time.

                                            */ - currency?: CurrencyCode | string; + start?: string; /** - *

                                            The AWS Region.

                                            + *

                                            The ID of the offering.

                                            */ - region?: string; + offeringId?: string; /** - *

                                            The state.

                                            + *

                                            The payment option.

                                            */ - state?: SavingsPlanState | string; + paymentOption?: SavingsPlanPaymentOption | string; /** - *

                                            The product types.

                                            + *

                                            The end time.

                                            */ - productTypes?: (SavingsPlanProductType | string)[]; + end?: string; /** - *

                                            The recurring payment amount.

                                            + *

                                            The AWS Region.

                                            */ - recurringPaymentAmount?: string; + region?: string; /** *

                                            The duration of the term, in seconds.

                                            @@ -469,14 +492,19 @@ export interface SavingsPlan { termDurationInSeconds?: number; /** - *

                                            The plan type.

                                            + *

                                            The recurring payment amount.

                                            */ - savingsPlanType?: SavingsPlanType | string; + recurringPaymentAmount?: string; /** *

                                            The ID of the Savings Plan.

                                            */ savingsPlanId?: string; + + /** + *

                                            The plan type.

                                            + */ + savingsPlanType?: SavingsPlanType | string; } export namespace SavingsPlan { @@ -536,14 +564,14 @@ export namespace SavingsPlanOfferingRateFilterElement { export interface DescribeSavingsPlansOfferingRatesRequest { /** - *

                                            The services.

                                            + *

                                            The usage details of the line item in the billing report.

                                            */ - serviceCodes?: (SavingsPlanRateServiceCode | string)[]; + usageTypes?: string[]; /** - *

                                            The payment options.

                                            + *

                                            The token for the next page of results.

                                            */ - savingsPlanPaymentOptions?: (SavingsPlanPaymentOption | string)[]; + nextToken?: string; /** *

                                            The AWS products.

                                            @@ -551,14 +579,14 @@ export interface DescribeSavingsPlansOfferingRatesRequest { products?: (SavingsPlanProductType | string)[]; /** - *

                                            The token for the next page of results.

                                            + *

                                            The IDs of the offerings.

                                            */ - nextToken?: string; + savingsPlanOfferingIds?: string[]; /** - *

                                            The IDs of the offerings.

                                            + *

                                            The specific AWS operation for the line item in the billing report.

                                            */ - savingsPlanOfferingIds?: string[]; + operations?: string[]; /** *

                                            The maximum number of results to return with a single call. To retrieve additional results, make another @@ -567,14 +595,9 @@ export interface DescribeSavingsPlansOfferingRatesRequest { maxResults?: number; /** - *

                                            The usage details of the line item in the billing report.

                                            - */ - usageTypes?: string[]; - - /** - *

                                            The specific AWS operation for the line item in the billing report.

                                            + *

                                            The payment options.

                                            */ - operations?: string[]; + savingsPlanPaymentOptions?: (SavingsPlanPaymentOption | string)[]; /** *

                                            The plan types.

                                            @@ -585,6 +608,11 @@ export interface DescribeSavingsPlansOfferingRatesRequest { *

                                            The filters.

                                            */ filters?: SavingsPlanOfferingRateFilterElement[]; + + /** + *

                                            The services.

                                            + */ + serviceCodes?: (SavingsPlanRateServiceCode | string)[]; } export namespace DescribeSavingsPlansOfferingRatesRequest { @@ -624,14 +652,14 @@ export interface ParentSavingsPlanOffering { durationSeconds?: number; /** - *

                                            The description.

                                            + *

                                            The payment option.

                                            */ - planDescription?: string; + paymentOption?: SavingsPlanPaymentOption | string; /** - *

                                            The ID of the offering.

                                            + *

                                            The description.

                                            */ - offeringId?: string; + planDescription?: string; /** *

                                            The currency.

                                            @@ -639,14 +667,14 @@ export interface ParentSavingsPlanOffering { currency?: CurrencyCode | string; /** - *

                                            The payment option.

                                            + *

                                            The plan type.

                                            */ - paymentOption?: SavingsPlanPaymentOption | string; + planType?: SavingsPlanType | string; /** - *

                                            The plan type.

                                            + *

                                            The ID of the offering.

                                            */ - planType?: SavingsPlanType | string; + offeringId?: string; } export namespace ParentSavingsPlanOffering { @@ -660,39 +688,39 @@ export namespace ParentSavingsPlanOffering { */ export interface SavingsPlanOfferingRate { /** - *

                                            The service.

                                            + *

                                            The properties.

                                            */ - serviceCode?: SavingsPlanRateServiceCode | string; + properties?: SavingsPlanOfferingRateProperty[]; /** - *

                                            The specific AWS operation for the line item in the billing report.

                                            + *

                                            The usage details of the line item in the billing report.

                                            */ - operation?: string; + usageType?: string; /** - *

                                            The unit.

                                            + *

                                            The product type.

                                            */ - unit?: SavingsPlanRateUnit | string; + productType?: SavingsPlanProductType | string; /** - *

                                            The properties.

                                            + *

                                            The Savings Plan offering.

                                            */ - properties?: SavingsPlanOfferingRateProperty[]; + savingsPlanOffering?: ParentSavingsPlanOffering; /** - *

                                            The usage details of the line item in the billing report.

                                            + *

                                            The unit.

                                            */ - usageType?: string; + unit?: SavingsPlanRateUnit | string; /** - *

                                            The Savings Plan offering.

                                            + *

                                            The service.

                                            */ - savingsPlanOffering?: ParentSavingsPlanOffering; + serviceCode?: SavingsPlanRateServiceCode | string; /** - *

                                            The product type.

                                            + *

                                            The specific AWS operation for the line item in the billing report.

                                            */ - productType?: SavingsPlanProductType | string; + operation?: string; /** *

                                            The Savings Plan rate.

                                            @@ -735,14 +763,14 @@ export enum SavingsPlanOfferingFilterAttribute { */ export interface SavingsPlanOfferingFilterElement { /** - *

                                            The filter name.

                                            + *

                                            The filter values.

                                            */ - name?: SavingsPlanOfferingFilterAttribute | string; + values?: string[]; /** - *

                                            The filter values.

                                            + *

                                            The filter name.

                                            */ - values?: string[]; + name?: SavingsPlanOfferingFilterAttribute | string; } export namespace SavingsPlanOfferingFilterElement { @@ -753,19 +781,19 @@ export namespace SavingsPlanOfferingFilterElement { export interface DescribeSavingsPlansOfferingsRequest { /** - *

                                            The descriptions.

                                            + *

                                            The filters.

                                            */ - descriptions?: string[]; + filters?: SavingsPlanOfferingFilterElement[]; /** - *

                                            The IDs of the offerings.

                                            + *

                                            The services.

                                            */ - offeringIds?: string[]; + serviceCodes?: string[]; /** - *

                                            The currencies.

                                            + *

                                            The specific AWS operation for the line item in the billing report.

                                            */ - currencies?: (CurrencyCode | string)[]; + operations?: string[]; /** *

                                            The usage details of the line item in the billing report.

                                            @@ -773,9 +801,14 @@ export interface DescribeSavingsPlansOfferingsRequest { usageTypes?: string[]; /** - *

                                            The plan type.

                                            + *

                                            The product type.

                                            */ - planTypes?: (SavingsPlanType | string)[]; + productType?: SavingsPlanProductType | string; + + /** + *

                                            The payment options.

                                            + */ + paymentOptions?: (SavingsPlanPaymentOption | string)[]; /** *

                                            The durations, in seconds.

                                            @@ -783,40 +816,35 @@ export interface DescribeSavingsPlansOfferingsRequest { durations?: number[]; /** - *

                                            The payment options.

                                            + *

                                            The plan type.

                                            */ - paymentOptions?: (SavingsPlanPaymentOption | string)[]; + planTypes?: (SavingsPlanType | string)[]; /** - *

                                            The specific AWS operation for the line item in the billing report.

                                            + *

                                            The descriptions.

                                            */ - operations?: string[]; + descriptions?: string[]; /** - *

                                            The filters.

                                            + *

                                            The IDs of the offerings.

                                            */ - filters?: SavingsPlanOfferingFilterElement[]; + offeringIds?: string[]; /** - *

                                            The product type.

                                            + *

                                            The currencies.

                                            */ - productType?: SavingsPlanProductType | string; + currencies?: (CurrencyCode | string)[]; /** - *

                                            The services.

                                            + *

                                            The token for the next page of results.

                                            */ - serviceCodes?: string[]; + nextToken?: string; /** *

                                            The maximum number of results to return with a single call. To retrieve additional results, make another * call with the returned token value.

                                            */ maxResults?: number; - - /** - *

                                            The token for the next page of results.

                                            - */ - nextToken?: string; } export namespace DescribeSavingsPlansOfferingsRequest { @@ -835,14 +863,14 @@ export enum SavingsPlanOfferingPropertyKey { */ export interface SavingsPlanOfferingProperty { /** - *

                                            The property value.

                                            + *

                                            The property name.

                                            */ - value?: string; + name?: SavingsPlanOfferingPropertyKey | string; /** - *

                                            The property name.

                                            + *

                                            The property value.

                                            */ - name?: SavingsPlanOfferingPropertyKey | string; + value?: string; } export namespace SavingsPlanOfferingProperty { @@ -856,49 +884,49 @@ export namespace SavingsPlanOfferingProperty { */ export interface SavingsPlanOffering { /** - *

                                            The plan type.

                                            + *

                                            The specific AWS operation for the line item in the billing report.

                                            */ - planType?: SavingsPlanType | string; + operation?: string; /** - *

                                            The properties.

                                            + *

                                            The duration, in seconds.

                                            */ - properties?: SavingsPlanOfferingProperty[]; + durationSeconds?: number; /** - *

                                            The description.

                                            + *

                                            The plan type.

                                            */ - description?: string; + planType?: SavingsPlanType | string; /** - *

                                            The product type.

                                            + *

                                            The usage details of the line item in the billing report.

                                            */ - productTypes?: (SavingsPlanProductType | string)[]; + usageType?: string; /** - *

                                            The service.

                                            + *

                                            The description.

                                            */ - serviceCode?: string; + description?: string; /** - *

                                            The duration, in seconds.

                                            + *

                                            The payment option.

                                            */ - durationSeconds?: number; + paymentOption?: SavingsPlanPaymentOption | string; /** - *

                                            The specific AWS operation for the line item in the billing report.

                                            + *

                                            The properties.

                                            */ - operation?: string; + properties?: SavingsPlanOfferingProperty[]; /** - *

                                            The usage details of the line item in the billing report.

                                            + *

                                            The service.

                                            */ - usageType?: string; + serviceCode?: string; /** - *

                                            The payment option.

                                            + *

                                            The product type.

                                            */ - paymentOption?: SavingsPlanPaymentOption | string; + productTypes?: (SavingsPlanProductType | string)[]; /** *

                                            The ID of the offering.

                                            @@ -990,14 +1018,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                            The tag keys.

                                            + *

                                            The Amazon Resource Name (ARN) of the resource.

                                            */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; /** - *

                                            The Amazon Resource Name (ARN) of the resource.

                                            + *

                                            The tag keys.

                                            */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { diff --git a/clients/client-savingsplans/protocols/Aws_restJson1.ts b/clients/client-savingsplans/protocols/Aws_restJson1.ts index 992ada92a0bd..c899fc235ba3 100644 --- a/clients/client-savingsplans/protocols/Aws_restJson1.ts +++ b/clients/client-savingsplans/protocols/Aws_restJson1.ts @@ -1,4 +1,8 @@ import { CreateSavingsPlanCommandInput, CreateSavingsPlanCommandOutput } from "../commands/CreateSavingsPlanCommand"; +import { + DeleteQueuedSavingsPlanCommandInput, + DeleteQueuedSavingsPlanCommandOutput, +} from "../commands/DeleteQueuedSavingsPlanCommand"; import { DescribeSavingsPlanRatesCommandInput, DescribeSavingsPlanRatesCommandOutput, @@ -67,6 +71,7 @@ export const serializeAws_restJson1CreateSavingsPlanCommand = async ( body = JSON.stringify({ clientToken: input.clientToken ?? generateIdempotencyToken(), ...(input.commitment !== undefined && { commitment: input.commitment }), + ...(input.purchaseTime !== undefined && { purchaseTime: Math.round(input.purchaseTime.getTime() / 1000) }), ...(input.savingsPlanOfferingId !== undefined && { savingsPlanOfferingId: input.savingsPlanOfferingId }), ...(input.tags !== undefined && { tags: serializeAws_restJson1TagMap(input.tags, context) }), ...(input.upfrontPaymentAmount !== undefined && { upfrontPaymentAmount: input.upfrontPaymentAmount }), @@ -83,6 +88,30 @@ export const serializeAws_restJson1CreateSavingsPlanCommand = async ( }); }; +export const serializeAws_restJson1DeleteQueuedSavingsPlanCommand = async ( + input: DeleteQueuedSavingsPlanCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/DeleteQueuedSavingsPlan"; + let body: any; + body = JSON.stringify({ + ...(input.savingsPlanId !== undefined && { savingsPlanId: input.savingsPlanId }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DescribeSavingsPlanRatesCommand = async ( input: DescribeSavingsPlanRatesCommandInput, context: __SerdeContext @@ -404,6 +433,81 @@ const deserializeAws_restJson1CreateSavingsPlanCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DeleteQueuedSavingsPlanCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteQueuedSavingsPlanCommandError(output, context); + } + const contents: DeleteQueuedSavingsPlanCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteQueuedSavingsPlanCommandError = 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.savingsplans#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.savingsplans#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.savingsplans#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.savingsplans#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_restJson1DescribeSavingsPlanRatesCommand = async ( output: __HttpResponse, context: __SerdeContext diff --git a/clients/client-schemas/Schemas.ts b/clients/client-schemas/Schemas.ts index a0fffa54ca95..478353b91dd6 100644 --- a/clients/client-schemas/Schemas.ts +++ b/clients/client-schemas/Schemas.ts @@ -59,6 +59,11 @@ import { DescribeSchemaCommandInput, DescribeSchemaCommandOutput, } from "./commands/DescribeSchemaCommand"; +import { + ExportSchemaCommand, + ExportSchemaCommandInput, + ExportSchemaCommandOutput, +} from "./commands/ExportSchemaCommand"; import { GetCodeBindingSourceCommand, GetCodeBindingSourceCommandInput, @@ -525,6 +530,32 @@ export class Schemas extends SchemasClient { } } + public exportSchema( + args: ExportSchemaCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public exportSchema(args: ExportSchemaCommandInput, cb: (err: any, data?: ExportSchemaCommandOutput) => void): void; + public exportSchema( + args: ExportSchemaCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ExportSchemaCommandOutput) => void + ): void; + public exportSchema( + args: ExportSchemaCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ExportSchemaCommandOutput) => void), + cb?: (err: any, data?: ExportSchemaCommandOutput) => void + ): Promise | void { + const command = new ExportSchemaCommand(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 code binding source URI.

                                            */ diff --git a/clients/client-schemas/SchemasClient.ts b/clients/client-schemas/SchemasClient.ts index 95733fd3ca53..1cd9417dc1b9 100644 --- a/clients/client-schemas/SchemasClient.ts +++ b/clients/client-schemas/SchemasClient.ts @@ -19,6 +19,7 @@ import { import { DescribeDiscovererCommandInput, DescribeDiscovererCommandOutput } from "./commands/DescribeDiscovererCommand"; import { DescribeRegistryCommandInput, DescribeRegistryCommandOutput } from "./commands/DescribeRegistryCommand"; import { DescribeSchemaCommandInput, DescribeSchemaCommandOutput } from "./commands/DescribeSchemaCommand"; +import { ExportSchemaCommandInput, ExportSchemaCommandOutput } from "./commands/ExportSchemaCommand"; import { GetCodeBindingSourceCommandInput, GetCodeBindingSourceCommandOutput, @@ -108,6 +109,7 @@ export type ServiceInputTypes = | DescribeDiscovererCommandInput | DescribeRegistryCommandInput | DescribeSchemaCommandInput + | ExportSchemaCommandInput | GetCodeBindingSourceCommandInput | GetDiscoveredSchemaCommandInput | GetResourcePolicyCommandInput @@ -140,6 +142,7 @@ export type ServiceOutputTypes = | DescribeDiscovererCommandOutput | DescribeRegistryCommandOutput | DescribeSchemaCommandOutput + | ExportSchemaCommandOutput | GetCodeBindingSourceCommandOutput | GetDiscoveredSchemaCommandOutput | GetResourcePolicyCommandOutput diff --git a/clients/client-schemas/commands/ExportSchemaCommand.ts b/clients/client-schemas/commands/ExportSchemaCommand.ts new file mode 100644 index 000000000000..73ced49d30c7 --- /dev/null +++ b/clients/client-schemas/commands/ExportSchemaCommand.ts @@ -0,0 +1,70 @@ +import { SchemasClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SchemasClient"; +import { ExportSchemaRequest, ExportSchemaResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ExportSchemaCommand, + serializeAws_restJson1ExportSchemaCommand, +} 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 ExportSchemaCommandInput = ExportSchemaRequest; +export type ExportSchemaCommandOutput = ExportSchemaResponse & __MetadataBearer; + +export class ExportSchemaCommand extends $Command< + ExportSchemaCommandInput, + ExportSchemaCommandOutput, + SchemasClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ExportSchemaCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SchemasClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ExportSchemaRequest.filterSensitiveLog, + outputFilterSensitiveLog: ExportSchemaResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ExportSchemaCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ExportSchemaCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ExportSchemaCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-schemas/index.ts b/clients/client-schemas/index.ts index 36b55a4ff71c..9342ed6d2741 100644 --- a/clients/client-schemas/index.ts +++ b/clients/client-schemas/index.ts @@ -12,17 +12,23 @@ export * from "./commands/DescribeCodeBindingCommand"; export * from "./commands/DescribeDiscovererCommand"; export * from "./commands/DescribeRegistryCommand"; export * from "./commands/DescribeSchemaCommand"; +export * from "./commands/ExportSchemaCommand"; export * from "./commands/GetCodeBindingSourceCommand"; export * from "./commands/GetDiscoveredSchemaCommand"; export * from "./commands/GetResourcePolicyCommand"; export * from "./commands/ListDiscoverersCommand"; +export * from "./pagination/ListDiscoverersPaginator"; 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/ListTagsForResourceCommand"; export * from "./commands/PutCodeBindingCommand"; export * from "./commands/PutResourcePolicyCommand"; export * from "./commands/SearchSchemasCommand"; +export * from "./pagination/SearchSchemasPaginator"; export * from "./commands/StartDiscovererCommand"; export * from "./commands/StopDiscovererCommand"; export * from "./commands/TagResourceCommand"; @@ -30,4 +36,5 @@ export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateDiscovererCommand"; export * from "./commands/UpdateRegistryCommand"; export * from "./commands/UpdateSchemaCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-schemas/models/models_0.ts b/clients/client-schemas/models/models_0.ts index 09101530042c..28926eefbe38 100644 --- a/clients/client-schemas/models/models_0.ts +++ b/clients/client-schemas/models/models_0.ts @@ -12,9 +12,14 @@ export enum DiscovererState { export interface DiscovererSummary { /** - *

                                            The state of the discoverer.

                                            + *

                                            The ARN of the discoverer.

                                            */ - State?: DiscovererState | string; + DiscovererArn?: string; + + /** + *

                                            Tags associated with the resource.

                                            + */ + Tags?: { [key: string]: string }; /** *

                                            The ARN of the event bus.

                                            @@ -27,14 +32,9 @@ export interface DiscovererSummary { DiscovererId?: string; /** - *

                                            Tags associated with the resource.

                                            - */ - Tags?: { [key: string]: string }; - - /** - *

                                            The ARN of the discoverer.

                                            + *

                                            The state of the discoverer.

                                            */ - DiscovererArn?: string; + State?: DiscovererState | string; } export namespace DiscovererSummary { @@ -45,9 +45,9 @@ export namespace DiscovererSummary { export interface RegistrySummary { /** - *

                                            The ARN of the registry.

                                            + *

                                            Tags associated with the registry.

                                            */ - RegistryArn?: string; + Tags?: { [key: string]: string }; /** *

                                            The name of the registry.

                                            @@ -55,9 +55,9 @@ export interface RegistrySummary { RegistryName?: string; /** - *

                                            Tags associated with the registry.

                                            + *

                                            The ARN of the registry.

                                            */ - Tags?: { [key: string]: string }; + RegistryArn?: string; } export namespace RegistrySummary { @@ -80,11 +80,6 @@ export interface SchemaSummary { */ SchemaArn?: string; - /** - *

                                            The number of versions available for the schema.

                                            - */ - VersionCount?: number; - /** *

                                            The date and time that schema was modified.

                                            */ @@ -94,6 +89,11 @@ export interface SchemaSummary { *

                                            Tags associated with the schema.

                                            */ Tags?: { [key: string]: string }; + + /** + *

                                            The number of versions available for the schema.

                                            + */ + VersionCount?: number; } export namespace SchemaSummary { @@ -102,12 +102,22 @@ export namespace SchemaSummary { }); } +export enum Type { + JSONSchemaDraft4 = "JSONSchemaDraft4", + OpenApi3 = "OpenApi3", +} + export interface SchemaVersionSummary { /** *

                                            The version number of the schema.

                                            */ SchemaVersion?: string; + /** + *

                                            The type of schema.

                                            + */ + Type?: Type | string; + /** *

                                            The name of the schema.

                                            */ @@ -131,6 +141,11 @@ export interface SearchSchemaVersionSummary { */ SchemaVersion?: string; + /** + *

                                            The type of schema.

                                            + */ + Type?: Type | string; + /** *

                                            The date the schema version was created.

                                            */ @@ -145,14 +160,14 @@ export namespace SearchSchemaVersionSummary { export interface SearchSchemaSummary { /** - *

                                            An array of schema version summaries.

                                            + *

                                            The name of the schema.

                                            */ - SchemaVersions?: SearchSchemaVersionSummary[]; + SchemaName?: string; /** - *

                                            The name of the schema.

                                            + *

                                            An array of schema version summaries.

                                            */ - SchemaName?: string; + SchemaVersions?: SearchSchemaVersionSummary[]; /** *

                                            The ARN of the schema.

                                            @@ -175,14 +190,14 @@ export interface BadRequestException extends __SmithyException, $MetadataBearer name: "BadRequestException"; $fault: "client"; /** - *

                                            The error code.

                                            + *

                                            The message string of the error output.

                                            */ - Code: string | undefined; + Message: string | undefined; /** - *

                                            The message string of the error output.

                                            + *

                                            The error code.

                                            */ - Message: string | undefined; + Code: string | undefined; } export namespace BadRequestException { @@ -241,35 +256,35 @@ export namespace CreateDiscovererRequest { } export interface CreateDiscovererResponse { - /** - *

                                            Tags associated with the resource.

                                            - */ - Tags?: { [key: string]: string }; - /** *

                                            The ARN of the discoverer.

                                            */ DiscovererArn?: string; /** - *

                                            The ID of the discoverer.

                                            + *

                                            The state of the discoverer.

                                            */ - DiscovererId?: string; + State?: DiscovererState | string; /** *

                                            The description of the discoverer.

                                            */ Description?: string; + /** + *

                                            The ID of the discoverer.

                                            + */ + DiscovererId?: string; + /** *

                                            The ARN of the event bus.

                                            */ SourceArn?: string; /** - *

                                            The state of the discoverer.

                                            + *

                                            Tags associated with the resource.

                                            */ - State?: DiscovererState | string; + Tags?: { [key: string]: string }; } export namespace CreateDiscovererResponse { @@ -302,14 +317,14 @@ export interface InternalServerErrorException extends __SmithyException, $Metada name: "InternalServerErrorException"; $fault: "server"; /** - *

                                            The message string of the error output.

                                            + *

                                            The error code.

                                            */ - Message: string | undefined; + Code: string | undefined; /** - *

                                            The error code.

                                            + *

                                            The message string of the error output.

                                            */ - Code: string | undefined; + Message: string | undefined; } export namespace InternalServerErrorException { @@ -342,14 +357,14 @@ export interface UnauthorizedException extends __SmithyException, $MetadataBeare name: "UnauthorizedException"; $fault: "client"; /** - *

                                            The message string of the error output.

                                            + *

                                            The error code.

                                            */ - Message: string | undefined; + Code: string | undefined; /** - *

                                            The error code.

                                            + *

                                            The message string of the error output.

                                            */ - Code: string | undefined; + Message: string | undefined; } export namespace UnauthorizedException { @@ -359,11 +374,6 @@ export namespace UnauthorizedException { } export interface CreateRegistryRequest { - /** - *

                                            Tags to associate with the registry.

                                            - */ - Tags?: { [key: string]: string }; - /** *

                                            A description of the registry to be created.

                                            */ @@ -373,6 +383,11 @@ export interface CreateRegistryRequest { *

                                            The name of the registry.

                                            */ RegistryName: string | undefined; + + /** + *

                                            Tags to associate with the registry.

                                            + */ + Tags?: { [key: string]: string }; } export namespace CreateRegistryRequest { @@ -388,9 +403,9 @@ export interface CreateRegistryResponse { Description?: string; /** - *

                                            The ARN of the registry.

                                            + *

                                            The name of the registry.

                                            */ - RegistryArn?: string; + RegistryName?: string; /** *

                                            Tags associated with the registry.

                                            @@ -398,9 +413,9 @@ export interface CreateRegistryResponse { Tags?: { [key: string]: string }; /** - *

                                            The name of the registry.

                                            + *

                                            The ARN of the registry.

                                            */ - RegistryName?: string; + RegistryArn?: string; } export namespace CreateRegistryResponse { @@ -409,15 +424,11 @@ export namespace CreateRegistryResponse { }); } -export enum Type { - OpenApi3 = "OpenApi3", -} - export interface CreateSchemaRequest { /** - *

                                            The source of the schema definition.

                                            + *

                                            The name of the registry.

                                            */ - Content: string | undefined; + RegistryName: string | undefined; /** *

                                            The name of the schema.

                                            @@ -425,24 +436,24 @@ export interface CreateSchemaRequest { SchemaName: string | undefined; /** - *

                                            Tags associated with the schema.

                                            + *

                                            The source of the schema definition.

                                            */ - Tags?: { [key: string]: string }; + Content: string | undefined; /** - *

                                            The type of schema.

                                            + *

                                            A description of the schema.

                                            */ - Type: Type | string | undefined; + Description?: string; /** - *

                                            A description of the schema.

                                            + *

                                            The type of schema.

                                            */ - Description?: string; + Type: Type | string | undefined; /** - *

                                            The name of the registry.

                                            + *

                                            Tags associated with the schema.

                                            */ - RegistryName: string | undefined; + Tags?: { [key: string]: string }; } export namespace CreateSchemaRequest { @@ -453,9 +464,9 @@ export namespace CreateSchemaRequest { export interface CreateSchemaResponse { /** - *

                                            The name of the schema.

                                            + *

                                            The date the schema version was created.

                                            */ - SchemaName?: string; + VersionCreatedDate?: Date; /** *

                                            The ARN of the schema.

                                            @@ -463,34 +474,34 @@ export interface CreateSchemaResponse { SchemaArn?: string; /** - *

                                            The date the schema version was created.

                                            + *

                                            Key-value pairs associated with a resource.

                                            */ - VersionCreatedDate?: Date; + Tags?: { [key: string]: string }; /** - *

                                            The version number of the schema

                                            + *

                                            The type of the schema.

                                            */ - SchemaVersion?: string; + Type?: string; /** - *

                                            The description of the schema.

                                            + *

                                            The date and time that schema was modified.

                                            */ - Description?: string; + LastModified?: Date; /** - *

                                            The date and time that schema was modified.

                                            + *

                                            The name of the schema.

                                            */ - LastModified?: Date; + SchemaName?: string; /** - *

                                            The type of the schema.

                                            + *

                                            The version number of the schema

                                            */ - Type?: string; + SchemaVersion?: string; /** - *

                                            Key-value pairs associated with a resource.

                                            + *

                                            The description of the schema.

                                            */ - Tags?: { [key: string]: string }; + Description?: string; } export namespace CreateSchemaResponse { @@ -560,14 +571,14 @@ export namespace DeleteResourcePolicyRequest { export interface DeleteSchemaRequest { /** - *

                                            The name of the registry.

                                            + *

                                            The name of the schema.

                                            */ - RegistryName: string | undefined; + SchemaName: string | undefined; /** - *

                                            The name of the schema.

                                            + *

                                            The name of the registry.

                                            */ - SchemaName: string | undefined; + RegistryName: string | undefined; } export namespace DeleteSchemaRequest { @@ -606,9 +617,9 @@ export interface DescribeCodeBindingRequest { SchemaVersion?: string; /** - *

                                            The name of the registry.

                                            + *

                                            The name of the schema.

                                            */ - RegistryName: string | undefined; + SchemaName: string | undefined; /** *

                                            The language of the code binding.

                                            @@ -616,9 +627,9 @@ export interface DescribeCodeBindingRequest { Language: string | undefined; /** - *

                                            The name of the schema.

                                            + *

                                            The name of the registry.

                                            */ - SchemaName: string | undefined; + RegistryName: string | undefined; } export namespace DescribeCodeBindingRequest { @@ -629,24 +640,24 @@ export namespace DescribeCodeBindingRequest { export interface DescribeCodeBindingResponse { /** - *

                                            The version number of the schema.

                                            + *

                                            The current status of code binding generation.

                                            */ - SchemaVersion?: string; + Status?: CodeGenerationStatus | string; /** - *

                                            The time and date that the code binding was created.

                                            + *

                                            The date and time that code bindings were modified.

                                            */ - CreationDate?: Date; + LastModified?: Date; /** - *

                                            The date and time that code bindings were modified.

                                            + *

                                            The time and date that the code binding was created.

                                            */ - LastModified?: Date; + CreationDate?: Date; /** - *

                                            The current status of code binding generation.

                                            + *

                                            The version number of the schema.

                                            */ - Status?: CodeGenerationStatus | string; + SchemaVersion?: string; } export namespace DescribeCodeBindingResponse { @@ -690,9 +701,9 @@ export namespace DescribeDiscovererRequest { export interface DescribeDiscovererResponse { /** - *

                                            The state of the discoverer.

                                            + *

                                            The ARN of the event bus.

                                            */ - State?: DiscovererState | string; + SourceArn?: string; /** *

                                            The description of the discoverer.

                                            @@ -700,24 +711,24 @@ export interface DescribeDiscovererResponse { Description?: string; /** - *

                                            The ARN of the discoverer.

                                            + *

                                            The state of the discoverer.

                                            */ - DiscovererArn?: string; + State?: DiscovererState | string; /** - *

                                            Tags associated with the resource.

                                            + *

                                            The ID of the discoverer.

                                            */ - Tags?: { [key: string]: string }; + DiscovererId?: string; /** - *

                                            The ID of the discoverer.

                                            + *

                                            The ARN of the discoverer.

                                            */ - DiscovererId?: string; + DiscovererArn?: string; /** - *

                                            The ARN of the event bus.

                                            + *

                                            Tags associated with the resource.

                                            */ - SourceArn?: string; + Tags?: { [key: string]: string }; } export namespace DescribeDiscovererResponse { @@ -741,14 +752,14 @@ export namespace DescribeRegistryRequest { export interface DescribeRegistryResponse { /** - *

                                            Tags associated with the registry.

                                            + *

                                            The description of the registry.

                                            */ - Tags?: { [key: string]: string }; + Description?: string; /** - *

                                            The description of the registry.

                                            + *

                                            The name of the registry.

                                            */ - Description?: string; + RegistryName?: string; /** *

                                            The ARN of the registry.

                                            @@ -756,9 +767,9 @@ export interface DescribeRegistryResponse { RegistryArn?: string; /** - *

                                            The name of the registry.

                                            + *

                                            Tags associated with the registry.

                                            */ - RegistryName?: string; + Tags?: { [key: string]: string }; } export namespace DescribeRegistryResponse { @@ -791,35 +802,30 @@ export namespace DescribeSchemaRequest { } export interface DescribeSchemaResponse { - /** - *

                                            The version number of the schema

                                            - */ - SchemaVersion?: string; - /** *

                                            The type of the schema.

                                            */ Type?: string; /** - *

                                            Tags associated with the resource.

                                            + *

                                            The version number of the schema

                                            */ - Tags?: { [key: string]: string }; + SchemaVersion?: string; /** - *

                                            The ARN of the schema.

                                            + *

                                            The date the schema version was created.

                                            */ - SchemaArn?: string; + VersionCreatedDate?: Date; /** - *

                                            The name of the schema.

                                            + *

                                            The source of the schema definition.

                                            */ - SchemaName?: string; + Content?: string; /** - *

                                            The date and time that schema was modified.

                                            + *

                                            The name of the schema.

                                            */ - LastModified?: Date; + SchemaName?: string; /** *

                                            The description of the schema.

                                            @@ -827,14 +833,19 @@ export interface DescribeSchemaResponse { Description?: string; /** - *

                                            The source of the schema definition.

                                            + *

                                            The date and time that schema was modified.

                                            */ - Content?: string; + LastModified?: Date; /** - *

                                            The date the schema version was created.

                                            + *

                                            The ARN of the schema.

                                            */ - VersionCreatedDate?: Date; + SchemaArn?: string; + + /** + *

                                            Tags associated with the resource.

                                            + */ + Tags?: { [key: string]: string }; } export namespace DescribeSchemaResponse { @@ -843,16 +854,50 @@ export namespace DescribeSchemaResponse { }); } -export interface GetCodeBindingSourceRequest { +export interface ExportSchemaRequest { + /** + *

                                            The name of the schema.

                                            + */ + SchemaName: string | undefined; + + /** + *

                                            Specifying this limits the results to only this schema version.

                                            + */ + SchemaVersion?: string; + /** *

                                            The name of the registry.

                                            */ RegistryName: string | undefined; + Type: string | undefined; +} + +export namespace ExportSchemaRequest { + export const filterSensitiveLog = (obj: ExportSchemaRequest): any => ({ + ...obj, + }); +} + +export interface ExportSchemaResponse { + Content?: string; + SchemaArn?: string; + SchemaName?: string; + SchemaVersion?: string; + Type?: string; +} + +export namespace ExportSchemaResponse { + export const filterSensitiveLog = (obj: ExportSchemaResponse): any => ({ + ...obj, + }); +} + +export interface GetCodeBindingSourceRequest { /** - *

                                            The language of the code binding.

                                            + *

                                            Specifying this limits the results to only this schema version.

                                            */ - Language: string | undefined; + SchemaVersion?: string; /** *

                                            The name of the schema.

                                            @@ -860,9 +905,14 @@ export interface GetCodeBindingSourceRequest { SchemaName: string | undefined; /** - *

                                            Specifying this limits the results to only this schema version.

                                            + *

                                            The language of the code binding.

                                            */ - SchemaVersion?: string; + Language: string | undefined; + + /** + *

                                            The name of the registry.

                                            + */ + RegistryName: string | undefined; } export namespace GetCodeBindingSourceRequest { @@ -883,14 +933,14 @@ export namespace GetCodeBindingSourceResponse { export interface GetDiscoveredSchemaRequest { /** - *

                                            An array of strings where each string is a JSON event. These are the events that were used to generate the schema. The array includes a single type of event and has a maximum size of 10 events.

                                            + *

                                            The type of event.

                                            */ - Events: string[] | undefined; + Type: Type | string | undefined; /** - *

                                            The type of event.

                                            + *

                                            An array of strings where each string is a JSON event. These are the events that were used to generate the schema. The array includes a single type of event and has a maximum size of 10 events.

                                            */ - Type: Type | string | undefined; + Events: string[] | undefined; } export namespace GetDiscoveredSchemaRequest { @@ -947,14 +997,14 @@ export interface GoneException extends __SmithyException, $MetadataBearer { name: "GoneException"; $fault: "client"; /** - *

                                            The error code.

                                            + *

                                            The message string of the error output.

                                            */ - Code: string | undefined; + Message: string | undefined; /** - *

                                            The message string of the error output.

                                            + *

                                            The error code.

                                            */ - Message: string | undefined; + Code: string | undefined; } export namespace GoneException { @@ -964,21 +1014,21 @@ export namespace GoneException { } export interface ListDiscoverersRequest { - Limit?: number; /** *

                                            Specifying this limits the results to only those discoverer IDs that start with the specified prefix.

                                            */ DiscovererIdPrefix?: string; + Limit?: number; /** - *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            + *

                                            Specifying this limits the results to only those ARNs that start with the specified prefix.

                                            */ - NextToken?: string; + SourceArnPrefix?: string; /** - *

                                            Specifying this limits the results to only those ARNs that start with the specified prefix.

                                            + *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            */ - SourceArnPrefix?: string; + NextToken?: string; } export namespace ListDiscoverersRequest { @@ -1007,20 +1057,20 @@ export namespace ListDiscoverersResponse { export interface ListRegistriesRequest { /** - *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            + *

                                            Can be set to Local or AWS to limit responses to your custom registries, or the ones provided by AWS.

                                            */ - NextToken?: string; + Scope?: string; /** - *

                                            Specifying this limits the results to only those registry names that start with the specified prefix.

                                            + *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            */ - RegistryNamePrefix?: string; + NextToken?: string; Limit?: number; /** - *

                                            Can be set to Local or AWS to limit responses to your custom registries, or the ones provided by AWS.

                                            + *

                                            Specifying this limits the results to only those registry names that start with the specified prefix.

                                            */ - Scope?: string; + RegistryNamePrefix?: string; } export namespace ListRegistriesRequest { @@ -1053,17 +1103,16 @@ export interface ListSchemasRequest { */ NextToken?: string; - /** - *

                                            Specifying this limits the results to only those schema names that start with the specified prefix.

                                            - */ - SchemaNamePrefix?: string; - + Limit?: number; /** *

                                            The name of the registry.

                                            */ RegistryName: string | undefined; - Limit?: number; + /** + *

                                            Specifying this limits the results to only those schema names that start with the specified prefix.

                                            + */ + SchemaNamePrefix?: string; } export namespace ListSchemasRequest { @@ -1074,14 +1123,14 @@ export namespace ListSchemasRequest { export interface ListSchemasResponse { /** - *

                                            An array of schema summaries.

                                            + *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            */ - Schemas?: SchemaSummary[]; + NextToken?: string; /** - *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            + *

                                            An array of schema summaries.

                                            */ - NextToken?: string; + Schemas?: SchemaSummary[]; } export namespace ListSchemasResponse { @@ -1097,14 +1146,14 @@ export interface ListSchemaVersionsRequest { RegistryName: string | undefined; /** - *

                                            The name of the schema.

                                            + *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            */ - SchemaName: string | undefined; + NextToken?: string; /** - *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            + *

                                            The name of the schema.

                                            */ - NextToken?: string; + SchemaName: string | undefined; Limit?: number; } @@ -1117,14 +1166,14 @@ export namespace ListSchemaVersionsRequest { export interface ListSchemaVersionsResponse { /** - *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            + *

                                            An array of schema version summaries.

                                            */ - NextToken?: string; + SchemaVersions?: SchemaVersionSummary[]; /** - *

                                            An array of schema version summaries.

                                            + *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            */ - SchemaVersions?: SchemaVersionSummary[]; + NextToken?: string; } export namespace ListSchemaVersionsResponse { @@ -1163,14 +1212,14 @@ export interface PreconditionFailedException extends __SmithyException, $Metadat name: "PreconditionFailedException"; $fault: "client"; /** - *

                                            The error code.

                                            + *

                                            The message string of the error output.

                                            */ - Code: string | undefined; + Message: string | undefined; /** - *

                                            The message string of the error output.

                                            + *

                                            The error code.

                                            */ - Message: string | undefined; + Code: string | undefined; } export namespace PreconditionFailedException { @@ -1185,6 +1234,11 @@ export interface PutCodeBindingRequest { */ SchemaVersion?: string; + /** + *

                                            The name of the registry.

                                            + */ + RegistryName: string | undefined; + /** *

                                            The name of the schema.

                                            */ @@ -1194,11 +1248,6 @@ export interface PutCodeBindingRequest { *

                                            The language of the code binding.

                                            */ Language: string | undefined; - - /** - *

                                            The name of the registry.

                                            - */ - RegistryName: string | undefined; } export namespace PutCodeBindingRequest { @@ -1209,14 +1258,14 @@ export namespace PutCodeBindingRequest { export interface PutCodeBindingResponse { /** - *

                                            The time and date that the code binding was created.

                                            + *

                                            The current status of code binding generation.

                                            */ - CreationDate?: Date; + Status?: CodeGenerationStatus | string; /** - *

                                            The date and time that code bindings were modified.

                                            + *

                                            The time and date that the code binding was created.

                                            */ - LastModified?: Date; + CreationDate?: Date; /** *

                                            The version number of the schema.

                                            @@ -1224,9 +1273,9 @@ export interface PutCodeBindingResponse { SchemaVersion?: string; /** - *

                                            The current status of code binding generation.

                                            + *

                                            The date and time that code bindings were modified.

                                            */ - Status?: CodeGenerationStatus | string; + LastModified?: Date; } export namespace PutCodeBindingResponse { @@ -1239,6 +1288,11 @@ export namespace PutCodeBindingResponse { *

                                            The name of the policy.

                                            */ export interface PutResourcePolicyRequest { + /** + *

                                            The name of the registry.

                                            + */ + RegistryName?: string; + /** *

                                            The revision ID of the policy.

                                            */ @@ -1248,11 +1302,6 @@ export interface PutResourcePolicyRequest { *

                                            The resource-based policy.

                                            */ Policy: __LazyJsonString | string | undefined; - - /** - *

                                            The name of the registry.

                                            - */ - RegistryName?: string; } export namespace PutResourcePolicyRequest { @@ -1280,22 +1329,21 @@ export namespace PutResourcePolicyResponse { } export interface SearchSchemasRequest { + Limit?: number; /** *

                                            Specifying this limits the results to only schemas that include the provided keywords.

                                            */ Keywords: string | undefined; - /** - *

                                            The name of the registry.

                                            - */ - RegistryName: string | undefined; - /** *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            */ NextToken?: string; - Limit?: number; + /** + *

                                            The name of the registry.

                                            + */ + RegistryName: string | undefined; } export namespace SearchSchemasRequest { @@ -1306,14 +1354,14 @@ export namespace SearchSchemasRequest { export interface SearchSchemasResponse { /** - *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            + *

                                            An array of SearchSchemaSummary information.

                                            */ - NextToken?: string; + Schemas?: SearchSchemaSummary[]; /** - *

                                            An array of SearchSchemaSummary information.

                                            + *

                                            The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

                                            */ - Schemas?: SearchSchemaSummary[]; + NextToken?: string; } export namespace SearchSchemasResponse { @@ -1337,14 +1385,14 @@ export namespace StartDiscovererRequest { export interface StartDiscovererResponse { /** - *

                                            The state of the discoverer.

                                            + *

                                            The ID of the discoverer.

                                            */ - State?: DiscovererState | string; + DiscovererId?: string; /** - *

                                            The ID of the discoverer.

                                            + *

                                            The state of the discoverer.

                                            */ - DiscovererId?: string; + State?: DiscovererState | string; } export namespace StartDiscovererResponse { @@ -1368,14 +1416,14 @@ export namespace StopDiscovererRequest { export interface StopDiscovererResponse { /** - *

                                            The state of the discoverer.

                                            + *

                                            The ID of the discoverer.

                                            */ - State?: DiscovererState | string; + DiscovererId?: string; /** - *

                                            The ID of the discoverer.

                                            + *

                                            The state of the discoverer.

                                            */ - DiscovererId?: string; + State?: DiscovererState | string; } export namespace StopDiscovererResponse { @@ -1425,14 +1473,14 @@ export namespace UntagResourceRequest { export interface UpdateDiscovererRequest { /** - *

                                            The description of the discoverer to update.

                                            + *

                                            The ID of the discoverer.

                                            */ - Description?: string; + DiscovererId: string | undefined; /** - *

                                            The ID of the discoverer.

                                            + *

                                            The description of the discoverer to update.

                                            */ - DiscovererId: string | undefined; + Description?: string; } export namespace UpdateDiscovererRequest { @@ -1442,20 +1490,15 @@ export namespace UpdateDiscovererRequest { } export interface UpdateDiscovererResponse { - /** - *

                                            Tags associated with the resource.

                                            - */ - Tags?: { [key: string]: string }; - /** *

                                            The description of the discoverer.

                                            */ Description?: string; /** - *

                                            The ARN of the discoverer.

                                            + *

                                            The ID of the discoverer.

                                            */ - DiscovererArn?: string; + DiscovererId?: string; /** *

                                            The state of the discoverer.

                                            @@ -1468,9 +1511,14 @@ export interface UpdateDiscovererResponse { SourceArn?: string; /** - *

                                            The ID of the discoverer.

                                            + *

                                            Tags associated with the resource.

                                            */ - DiscovererId?: string; + Tags?: { [key: string]: string }; + + /** + *

                                            The ARN of the discoverer.

                                            + */ + DiscovererArn?: string; } export namespace UpdateDiscovererResponse { @@ -1484,14 +1532,14 @@ export namespace UpdateDiscovererResponse { */ export interface UpdateRegistryRequest { /** - *

                                            The name of the registry.

                                            + *

                                            The description of the registry to update.

                                            */ - RegistryName: string | undefined; + Description?: string; /** - *

                                            The description of the registry to update.

                                            + *

                                            The name of the registry.

                                            */ - Description?: string; + RegistryName: string | undefined; } export namespace UpdateRegistryRequest { @@ -1502,9 +1550,9 @@ export namespace UpdateRegistryRequest { export interface UpdateRegistryResponse { /** - *

                                            The name of the registry.

                                            + *

                                            The ARN of the registry.

                                            */ - RegistryName?: string; + RegistryArn?: string; /** *

                                            Tags associated with the registry.

                                            @@ -1517,9 +1565,9 @@ export interface UpdateRegistryResponse { Description?: string; /** - *

                                            The ARN of the registry.

                                            + *

                                            The name of the registry.

                                            */ - RegistryArn?: string; + RegistryName?: string; } export namespace UpdateRegistryResponse { @@ -1530,9 +1578,9 @@ export namespace UpdateRegistryResponse { export interface UpdateSchemaRequest { /** - *

                                            The source of the schema definition.

                                            + *

                                            The schema type for the events schema.

                                            */ - Content?: string; + Type?: Type | string; /** *

                                            The name of the registry.

                                            @@ -1540,9 +1588,9 @@ export interface UpdateSchemaRequest { RegistryName: string | undefined; /** - *

                                            The name of the schema.

                                            + *

                                            The source of the schema definition.

                                            */ - SchemaName: string | undefined; + Content?: string; /** *

                                            The description of the schema.

                                            @@ -1550,14 +1598,14 @@ export interface UpdateSchemaRequest { Description?: string; /** - *

                                            The schema type for the events schema.

                                            + *

                                            The ID of the client token.

                                            */ - Type?: Type | string; + ClientTokenId?: string; /** - *

                                            The ID of the client token.

                                            + *

                                            The name of the schema.

                                            */ - ClientTokenId?: string; + SchemaName: string | undefined; } export namespace UpdateSchemaRequest { @@ -1568,24 +1616,24 @@ export namespace UpdateSchemaRequest { export interface UpdateSchemaResponse { /** - *

                                            The description of the schema.

                                            + *

                                            The name of the schema.

                                            */ - Description?: string; + SchemaName?: string; /** - *

                                            The date and time that schema was modified.

                                            + *

                                            The ARN of the schema.

                                            */ - LastModified?: Date; + SchemaArn?: string; /** - *

                                            The ARN of the schema.

                                            + *

                                            The date the schema version was created.

                                            */ - SchemaArn?: string; + VersionCreatedDate?: Date; /** - *

                                            The name of the schema.

                                            + *

                                            The type of the schema.

                                            */ - SchemaName?: string; + Type?: string; /** *

                                            The version number of the schema

                                            @@ -1593,19 +1641,19 @@ export interface UpdateSchemaResponse { SchemaVersion?: string; /** - *

                                            The date the schema version was created.

                                            + *

                                            Key-value pairs associated with a resource.

                                            */ - VersionCreatedDate?: Date; + Tags?: { [key: string]: string }; /** - *

                                            Key-value pairs associated with a resource.

                                            + *

                                            The description of the schema.

                                            */ - Tags?: { [key: string]: string }; + Description?: string; /** - *

                                            The type of the schema.

                                            + *

                                            The date and time that schema was modified.

                                            */ - Type?: string; + LastModified?: Date; } export namespace UpdateSchemaResponse { diff --git a/clients/client-schemas/pagination/Interfaces.ts b/clients/client-schemas/pagination/Interfaces.ts new file mode 100644 index 000000000000..b0f8fb2c45c8 --- /dev/null +++ b/clients/client-schemas/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { Schemas } from "../Schemas"; +import { SchemasClient } from "../SchemasClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface SchemasPaginationConfiguration extends PaginationConfiguration { + client: Schemas | SchemasClient; +} diff --git a/clients/client-schemas/pagination/ListDiscoverersPaginator.ts b/clients/client-schemas/pagination/ListDiscoverersPaginator.ts new file mode 100644 index 000000000000..63f6e469147e --- /dev/null +++ b/clients/client-schemas/pagination/ListDiscoverersPaginator.ts @@ -0,0 +1,51 @@ +import { Schemas } from "../Schemas"; +import { SchemasClient } from "../SchemasClient"; +import { + ListDiscoverersCommand, + ListDiscoverersCommandInput, + ListDiscoverersCommandOutput, +} from "../commands/ListDiscoverersCommand"; +import { SchemasPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SchemasClient, + input: ListDiscoverersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListDiscoverersCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Schemas, + input: ListDiscoverersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listDiscoverers(input, ...args); +}; +export async function* listDiscoverersPaginate( + config: SchemasPaginationConfiguration, + input: ListDiscoverersCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListDiscoverersCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof Schemas) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SchemasClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Schemas | SchemasClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-schemas/pagination/ListRegistriesPaginator.ts b/clients/client-schemas/pagination/ListRegistriesPaginator.ts new file mode 100644 index 000000000000..8a50282ac60b --- /dev/null +++ b/clients/client-schemas/pagination/ListRegistriesPaginator.ts @@ -0,0 +1,51 @@ +import { Schemas } from "../Schemas"; +import { SchemasClient } from "../SchemasClient"; +import { + ListRegistriesCommand, + ListRegistriesCommandInput, + ListRegistriesCommandOutput, +} from "../commands/ListRegistriesCommand"; +import { SchemasPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SchemasClient, + input: ListRegistriesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListRegistriesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Schemas, + input: ListRegistriesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listRegistries(input, ...args); +}; +export async function* listRegistriesPaginate( + config: SchemasPaginationConfiguration, + input: ListRegistriesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListRegistriesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof Schemas) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SchemasClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Schemas | SchemasClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-schemas/pagination/ListSchemaVersionsPaginator.ts b/clients/client-schemas/pagination/ListSchemaVersionsPaginator.ts new file mode 100644 index 000000000000..f4c116d2de32 --- /dev/null +++ b/clients/client-schemas/pagination/ListSchemaVersionsPaginator.ts @@ -0,0 +1,51 @@ +import { Schemas } from "../Schemas"; +import { SchemasClient } from "../SchemasClient"; +import { + ListSchemaVersionsCommand, + ListSchemaVersionsCommandInput, + ListSchemaVersionsCommandOutput, +} from "../commands/ListSchemaVersionsCommand"; +import { SchemasPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SchemasClient, + input: ListSchemaVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSchemaVersionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Schemas, + input: ListSchemaVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSchemaVersions(input, ...args); +}; +export async function* listSchemaVersionsPaginate( + config: SchemasPaginationConfiguration, + input: ListSchemaVersionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListSchemaVersionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof Schemas) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SchemasClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Schemas | SchemasClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-schemas/pagination/ListSchemasPaginator.ts b/clients/client-schemas/pagination/ListSchemasPaginator.ts new file mode 100644 index 000000000000..078242ddfb9c --- /dev/null +++ b/clients/client-schemas/pagination/ListSchemasPaginator.ts @@ -0,0 +1,47 @@ +import { Schemas } from "../Schemas"; +import { SchemasClient } from "../SchemasClient"; +import { ListSchemasCommand, ListSchemasCommandInput, ListSchemasCommandOutput } from "../commands/ListSchemasCommand"; +import { SchemasPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SchemasClient, + input: ListSchemasCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSchemasCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Schemas, + input: ListSchemasCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSchemas(input, ...args); +}; +export async function* listSchemasPaginate( + config: SchemasPaginationConfiguration, + input: ListSchemasCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListSchemasCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof Schemas) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SchemasClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Schemas | SchemasClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-schemas/pagination/SearchSchemasPaginator.ts b/clients/client-schemas/pagination/SearchSchemasPaginator.ts new file mode 100644 index 000000000000..4e5b4c23d3db --- /dev/null +++ b/clients/client-schemas/pagination/SearchSchemasPaginator.ts @@ -0,0 +1,51 @@ +import { Schemas } from "../Schemas"; +import { SchemasClient } from "../SchemasClient"; +import { + SearchSchemasCommand, + SearchSchemasCommandInput, + SearchSchemasCommandOutput, +} from "../commands/SearchSchemasCommand"; +import { SchemasPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SchemasClient, + input: SearchSchemasCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new SearchSchemasCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Schemas, + input: SearchSchemasCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.searchSchemas(input, ...args); +}; +export async function* searchSchemasPaginate( + config: SchemasPaginationConfiguration, + input: SearchSchemasCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: SearchSchemasCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["Limit"] = config.pageSize; + if (config.client instanceof Schemas) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SchemasClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Schemas | SchemasClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-schemas/protocols/Aws_restJson1.ts b/clients/client-schemas/protocols/Aws_restJson1.ts index cb83f9becbb1..f3a1c8eeaa37 100644 --- a/clients/client-schemas/protocols/Aws_restJson1.ts +++ b/clients/client-schemas/protocols/Aws_restJson1.ts @@ -19,6 +19,7 @@ import { import { DescribeDiscovererCommandInput, DescribeDiscovererCommandOutput } from "../commands/DescribeDiscovererCommand"; import { DescribeRegistryCommandInput, DescribeRegistryCommandOutput } from "../commands/DescribeRegistryCommand"; import { DescribeSchemaCommandInput, DescribeSchemaCommandOutput } from "../commands/DescribeSchemaCommand"; +import { ExportSchemaCommandInput, ExportSchemaCommandOutput } from "../commands/ExportSchemaCommand"; import { GetCodeBindingSourceCommandInput, GetCodeBindingSourceCommandOutput, @@ -146,15 +147,6 @@ export const serializeAws_restJson1CreateSchemaCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v1/registries/name/{RegistryName}/schemas/name/{SchemaName}"; - if (input.SchemaName !== undefined) { - const labelValue: string = input.SchemaName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SchemaName."); - } - resolvedPath = resolvedPath.replace("{SchemaName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: SchemaName."); - } if (input.RegistryName !== undefined) { const labelValue: string = input.RegistryName; if (labelValue.length <= 0) { @@ -164,6 +156,15 @@ export const serializeAws_restJson1CreateSchemaCommand = async ( } else { throw new Error("No value provided for input HTTP label: RegistryName."); } + if (input.SchemaName !== undefined) { + const labelValue: string = input.SchemaName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SchemaName."); + } + resolvedPath = resolvedPath.replace("{SchemaName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SchemaName."); + } let body: any; body = JSON.stringify({ ...(input.Content !== undefined && { Content: input.Content }), @@ -276,15 +277,6 @@ export const serializeAws_restJson1DeleteSchemaCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/registries/name/{RegistryName}/schemas/name/{SchemaName}"; - if (input.RegistryName !== undefined) { - const labelValue: string = input.RegistryName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RegistryName."); - } - resolvedPath = resolvedPath.replace("{RegistryName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RegistryName."); - } if (input.SchemaName !== undefined) { const labelValue: string = input.SchemaName; if (labelValue.length <= 0) { @@ -294,6 +286,15 @@ export const serializeAws_restJson1DeleteSchemaCommand = async ( } else { throw new Error("No value provided for input HTTP label: SchemaName."); } + if (input.RegistryName !== undefined) { + const labelValue: string = input.RegistryName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RegistryName."); + } + resolvedPath = resolvedPath.replace("{RegistryName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RegistryName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -363,14 +364,14 @@ export const serializeAws_restJson1DescribeCodeBindingCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/registries/name/{RegistryName}/schemas/name/{SchemaName}/language/{Language}"; - if (input.RegistryName !== undefined) { - const labelValue: string = input.RegistryName; + if (input.SchemaName !== undefined) { + const labelValue: string = input.SchemaName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RegistryName."); + throw new Error("Empty value provided for input HTTP label: SchemaName."); } - resolvedPath = resolvedPath.replace("{RegistryName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{SchemaName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: RegistryName."); + throw new Error("No value provided for input HTTP label: SchemaName."); } if (input.Language !== undefined) { const labelValue: string = input.Language; @@ -381,14 +382,14 @@ export const serializeAws_restJson1DescribeCodeBindingCommand = async ( } else { throw new Error("No value provided for input HTTP label: Language."); } - if (input.SchemaName !== undefined) { - const labelValue: string = input.SchemaName; + if (input.RegistryName !== undefined) { + const labelValue: string = input.RegistryName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SchemaName."); + throw new Error("Empty value provided for input HTTP label: RegistryName."); } - resolvedPath = resolvedPath.replace("{SchemaName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{RegistryName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: SchemaName."); + throw new Error("No value provided for input HTTP label: RegistryName."); } const query: any = { ...(input.SchemaVersion !== undefined && { schemaVersion: input.SchemaVersion }), @@ -510,14 +511,23 @@ export const serializeAws_restJson1DescribeSchemaCommand = async ( }); }; -export const serializeAws_restJson1GetCodeBindingSourceCommand = async ( - input: GetCodeBindingSourceCommandInput, +export const serializeAws_restJson1ExportSchemaCommand = async ( + input: ExportSchemaCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const headers: any = { "Content-Type": "", }; - let resolvedPath = "/v1/registries/name/{RegistryName}/schemas/name/{SchemaName}/language/{Language}/source"; + let resolvedPath = "/v1/registries/name/{RegistryName}/schemas/name/{SchemaName}/export"; + if (input.SchemaName !== undefined) { + const labelValue: string = input.SchemaName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SchemaName."); + } + resolvedPath = resolvedPath.replace("{SchemaName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SchemaName."); + } if (input.RegistryName !== undefined) { const labelValue: string = input.RegistryName; if (labelValue.length <= 0) { @@ -527,6 +537,41 @@ export const serializeAws_restJson1GetCodeBindingSourceCommand = async ( } else { throw new Error("No value provided for input HTTP label: RegistryName."); } + const query: any = { + ...(input.SchemaVersion !== undefined && { schemaVersion: input.SchemaVersion }), + ...(input.Type !== undefined && { type: input.Type }), + }; + 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_restJson1GetCodeBindingSourceCommand = async ( + input: GetCodeBindingSourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v1/registries/name/{RegistryName}/schemas/name/{SchemaName}/language/{Language}/source"; + if (input.SchemaName !== undefined) { + const labelValue: string = input.SchemaName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SchemaName."); + } + resolvedPath = resolvedPath.replace("{SchemaName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SchemaName."); + } if (input.Language !== undefined) { const labelValue: string = input.Language; if (labelValue.length <= 0) { @@ -536,14 +581,14 @@ export const serializeAws_restJson1GetCodeBindingSourceCommand = async ( } else { throw new Error("No value provided for input HTTP label: Language."); } - if (input.SchemaName !== undefined) { - const labelValue: string = input.SchemaName; + if (input.RegistryName !== undefined) { + const labelValue: string = input.RegistryName; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SchemaName."); + throw new Error("Empty value provided for input HTTP label: RegistryName."); } - resolvedPath = resolvedPath.replace("{SchemaName}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{RegistryName}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: SchemaName."); + throw new Error("No value provided for input HTTP label: RegistryName."); } const query: any = { ...(input.SchemaVersion !== undefined && { schemaVersion: input.SchemaVersion }), @@ -623,10 +668,10 @@ export const serializeAws_restJson1ListDiscoverersCommand = async ( }; let resolvedPath = "/v1/discoverers"; const query: any = { - ...(input.Limit !== undefined && { limit: input.Limit.toString() }), ...(input.DiscovererIdPrefix !== undefined && { discovererIdPrefix: input.DiscovererIdPrefix }), - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.Limit !== undefined && { limit: input.Limit.toString() }), ...(input.SourceArnPrefix !== undefined && { sourceArnPrefix: input.SourceArnPrefix }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -651,10 +696,10 @@ export const serializeAws_restJson1ListRegistriesCommand = async ( }; let resolvedPath = "/v1/registries"; const query: any = { + ...(input.Scope !== undefined && { scope: input.Scope }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.RegistryNamePrefix !== undefined && { registryNamePrefix: input.RegistryNamePrefix }), ...(input.Limit !== undefined && { limit: input.Limit.toString() }), - ...(input.Scope !== undefined && { scope: input.Scope }), + ...(input.RegistryNamePrefix !== undefined && { registryNamePrefix: input.RegistryNamePrefix }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -689,8 +734,8 @@ export const serializeAws_restJson1ListSchemasCommand = async ( } const query: any = { ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.SchemaNamePrefix !== undefined && { schemaNamePrefix: input.SchemaNamePrefix }), ...(input.Limit !== undefined && { limit: input.Limit.toString() }), + ...(input.SchemaNamePrefix !== undefined && { schemaNamePrefix: input.SchemaNamePrefix }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -788,6 +833,15 @@ export const serializeAws_restJson1PutCodeBindingCommand = async ( "Content-Type": "", }; let resolvedPath = "/v1/registries/name/{RegistryName}/schemas/name/{SchemaName}/language/{Language}"; + if (input.RegistryName !== undefined) { + const labelValue: string = input.RegistryName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RegistryName."); + } + resolvedPath = resolvedPath.replace("{RegistryName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RegistryName."); + } if (input.SchemaName !== undefined) { const labelValue: string = input.SchemaName; if (labelValue.length <= 0) { @@ -806,15 +860,6 @@ export const serializeAws_restJson1PutCodeBindingCommand = async ( } else { throw new Error("No value provided for input HTTP label: Language."); } - if (input.RegistryName !== undefined) { - const labelValue: string = input.RegistryName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RegistryName."); - } - resolvedPath = resolvedPath.replace("{RegistryName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RegistryName."); - } const query: any = { ...(input.SchemaVersion !== undefined && { schemaVersion: input.SchemaVersion }), }; @@ -879,9 +924,9 @@ export const serializeAws_restJson1SearchSchemasCommand = async ( throw new Error("No value provided for input HTTP label: RegistryName."); } const query: any = { + ...(input.Limit !== undefined && { limit: input.Limit.toString() }), ...(input.Keywords !== undefined && { keywords: input.Keywords }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), - ...(input.Limit !== undefined && { limit: input.Limit.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2375,6 +2420,125 @@ const deserializeAws_restJson1DescribeSchemaCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ExportSchemaCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ExportSchemaCommandError(output, context); + } + const contents: ExportSchemaCommandOutput = { + $metadata: deserializeMetadata(output), + Content: undefined, + SchemaArn: undefined, + SchemaName: undefined, + SchemaVersion: undefined, + Type: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.Content !== undefined && data.Content !== null) { + contents.Content = data.Content; + } + if (data.SchemaArn !== undefined && data.SchemaArn !== null) { + contents.SchemaArn = data.SchemaArn; + } + if (data.SchemaName !== undefined && data.SchemaName !== null) { + contents.SchemaName = data.SchemaName; + } + if (data.SchemaVersion !== undefined && data.SchemaVersion !== null) { + contents.SchemaVersion = data.SchemaVersion; + } + if (data.Type !== undefined && data.Type !== null) { + contents.Type = data.Type; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ExportSchemaCommandError = 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.schemas#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.schemas#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerErrorException": + case "com.amazonaws.schemas#InternalServerErrorException": + response = { + ...(await deserializeAws_restJson1InternalServerErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.schemas#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.schemas#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.schemas#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedException": + case "com.amazonaws.schemas#UnauthorizedException": + response = { + ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(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_restJson1GetCodeBindingSourceCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4411,6 +4575,7 @@ const deserializeAws_restJson1SchemaVersionSummary = (output: any, context: __Se SchemaName: output.SchemaName !== undefined && output.SchemaName !== null ? output.SchemaName : undefined, SchemaVersion: output.SchemaVersion !== undefined && output.SchemaVersion !== null ? output.SchemaVersion : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, } as any; }; @@ -4435,6 +4600,7 @@ const deserializeAws_restJson1SearchSchemaVersionSummary = ( output.CreatedDate !== undefined && output.CreatedDate !== null ? new Date(output.CreatedDate) : undefined, SchemaVersion: output.SchemaVersion !== undefined && output.SchemaVersion !== null ? output.SchemaVersion : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, } as any; }; diff --git a/clients/client-secrets-manager/models/models_0.ts b/clients/client-secrets-manager/models/models_0.ts index 8368841be216..31e87ddfe3e9 100644 --- a/clients/client-secrets-manager/models/models_0.ts +++ b/clients/client-secrets-manager/models/models_0.ts @@ -30,6 +30,11 @@ export namespace CancelRotateSecretRequest { } export interface CancelRotateSecretResponse { + /** + *

                                            The ARN of the secret for which rotation was canceled.

                                            + */ + ARN?: string; + /** *

                                            The unique identifier of the version of the secret created during the rotation. This * version might not be complete, and should be evaluated for possible deletion. At the very @@ -39,11 +44,6 @@ export interface CancelRotateSecretResponse { */ VersionId?: string; - /** - *

                                            The ARN of the secret for which rotation was canceled.

                                            - */ - ARN?: string; - /** *

                                            The friendly name of the secret for which rotation was canceled.

                                            */ @@ -161,6 +161,86 @@ export interface CreateSecretRequest { */ Name: string | undefined; + /** + *

                                            (Optional) Specifies a list of user-defined tags that are attached to the secret. Each tag + * is a "Key" and "Value" pair of strings. This operation only appends tags to the existing list + * of tags. To remove tags, you must use UntagResource.

                                            + * + *
                                              + *
                                            • + *

                                              Secrets Manager tag key names are case sensitive. A tag with the key "ABC" is a different tag + * from one with key "abc".

                                              + *
                                            • + *
                                            • + *

                                              If you check tags in IAM policy Condition elements as part of your + * security strategy, then adding or removing a tag can change permissions. If the + * successful completion of this operation would result in you losing your permissions for + * this secret, then this operation is blocked and returns an Access Denied + * error.

                                              + *
                                            • + *
                                            + *
                                            + *

                                            This parameter requires a JSON text string argument. For information on how to format a + * JSON parameter for the various command line tool environments, see Using JSON for + * Parameters in the AWS CLI User Guide. For example:

                                            + *

                                            + * [{"Key":"CostCenter","Value":"12345"},{"Key":"environment","Value":"production"}] + *

                                            + *

                                            If your command-line tool or SDK requires quotation marks around the parameter, you should + * use single quotes to avoid confusion with the double quotes required in the JSON text.

                                            + *

                                            The following basic restrictions apply to tags:

                                            + *
                                              + *
                                            • + *

                                              Maximum number of tags per secret—50

                                              + *
                                            • + *
                                            • + *

                                              Maximum key length—127 Unicode characters in UTF-8

                                              + *
                                            • + *
                                            • + *

                                              Maximum value length—255 Unicode characters in UTF-8

                                              + *
                                            • + *
                                            • + *

                                              Tag keys and values are case sensitive.

                                              + *
                                            • + *
                                            • + *

                                              Do not use the aws: prefix in your tag names or values because AWS reserves it + * for AWS use. You can't edit or delete tag names or values with this + * prefix. Tags with this prefix do not count against your tags per secret limit.

                                              + *
                                            • + *
                                            • + *

                                              If you use your tagging schema across multiple services and resources, + * remember other services might have restrictions on allowed characters. Generally + * allowed characters: letters, spaces, and numbers representable in UTF-8, plus the + * following special characters: + - = . _ : / @.

                                              + *
                                            • + *
                                            + */ + Tags?: Tag[]; + + /** + *

                                            (Optional) Specifies the ARN, Key ID, or alias of the AWS KMS customer master key (CMK) to + * be used to encrypt the SecretString or SecretBinary values in the + * versions stored in this secret.

                                            + *

                                            You can specify any of the supported ways to identify a AWS KMS key ID. If you need to + * reference a CMK in a different account, you can use only the key ARN or the alias ARN.

                                            + *

                                            If you don't specify this value, then Secrets Manager defaults to using the AWS account's + * default CMK (the one named aws/secretsmanager). If a AWS KMS CMK with that name doesn't yet + * exist, then Secrets Manager creates it for you automatically the first time it needs to encrypt a + * version's SecretString or SecretBinary fields.

                                            + * + *

                                            You can use the account default CMK to encrypt and decrypt only if you call this + * operation using credentials from the same account that owns the secret. If the secret + * resides in a different account, then you must create a custom CMK and specify the ARN in + * this field.

                                            + *
                                            + */ + KmsKeyId?: string; + + /** + *

                                            (Optional) Specifies a user-provided description of the secret.

                                            + */ + Description?: string; + /** *

                                            (Optional) Specifies text data that you want to encrypt and store in this new version of * the secret.

                                            @@ -182,11 +262,6 @@ export interface CreateSecretRequest { */ SecretString?: string; - /** - *

                                            (Optional) Specifies a user-provided description of the secret.

                                            - */ - Description?: string; - /** *

                                            (Optional) Specifies binary data that you want to encrypt and store in the new version of * the secret. To use this parameter in the command-line tools, we recommend that you store your @@ -235,81 +310,6 @@ export interface CreateSecretRequest { *

                                            This value becomes the VersionId of the new version.

                                            */ ClientRequestToken?: string; - - /** - *

                                            (Optional) Specifies the ARN, Key ID, or alias of the AWS KMS customer master key (CMK) to - * be used to encrypt the SecretString or SecretBinary values in the - * versions stored in this secret.

                                            - *

                                            You can specify any of the supported ways to identify a AWS KMS key ID. If you need to - * reference a CMK in a different account, you can use only the key ARN or the alias ARN.

                                            - *

                                            If you don't specify this value, then Secrets Manager defaults to using the AWS account's - * default CMK (the one named aws/secretsmanager). If a AWS KMS CMK with that name doesn't yet - * exist, then Secrets Manager creates it for you automatically the first time it needs to encrypt a - * version's SecretString or SecretBinary fields.

                                            - * - *

                                            You can use the account default CMK to encrypt and decrypt only if you call this - * operation using credentials from the same account that owns the secret. If the secret - * resides in a different account, then you must create a custom CMK and specify the ARN in - * this field.

                                            - *
                                            - */ - KmsKeyId?: string; - - /** - *

                                            (Optional) Specifies a list of user-defined tags that are attached to the secret. Each tag - * is a "Key" and "Value" pair of strings. This operation only appends tags to the existing list - * of tags. To remove tags, you must use UntagResource.

                                            - * - *
                                              - *
                                            • - *

                                              Secrets Manager tag key names are case sensitive. A tag with the key "ABC" is a different tag - * from one with key "abc".

                                              - *
                                            • - *
                                            • - *

                                              If you check tags in IAM policy Condition elements as part of your - * security strategy, then adding or removing a tag can change permissions. If the - * successful completion of this operation would result in you losing your permissions for - * this secret, then this operation is blocked and returns an Access Denied - * error.

                                              - *
                                            • - *
                                            - *
                                            - *

                                            This parameter requires a JSON text string argument. For information on how to format a - * JSON parameter for the various command line tool environments, see Using JSON for - * Parameters in the AWS CLI User Guide. For example:

                                            - *

                                            - * [{"Key":"CostCenter","Value":"12345"},{"Key":"environment","Value":"production"}] - *

                                            - *

                                            If your command-line tool or SDK requires quotation marks around the parameter, you should - * use single quotes to avoid confusion with the double quotes required in the JSON text.

                                            - *

                                            The following basic restrictions apply to tags:

                                            - *
                                              - *
                                            • - *

                                              Maximum number of tags per secret—50

                                              - *
                                            • - *
                                            • - *

                                              Maximum key length—127 Unicode characters in UTF-8

                                              - *
                                            • - *
                                            • - *

                                              Maximum value length—255 Unicode characters in UTF-8

                                              - *
                                            • - *
                                            • - *

                                              Tag keys and values are case sensitive.

                                              - *
                                            • - *
                                            • - *

                                              Do not use the aws: prefix in your tag names or values because AWS reserves it - * for AWS use. You can't edit or delete tag names or values with this - * prefix. Tags with this prefix do not count against your tags per secret limit.

                                              - *
                                            • - *
                                            • - *

                                              If you use your tagging schema across multiple services and resources, - * remember other services might have restrictions on allowed characters. Generally - * allowed characters: letters, spaces, and numbers representable in UTF-8, plus the - * following special characters: + - = . _ : / @.

                                              - *
                                            • - *
                                            - */ - Tags?: Tag[]; } export namespace CreateSecretRequest { @@ -321,17 +321,17 @@ export namespace CreateSecretRequest { } export interface CreateSecretResponse { - /** - *

                                            The friendly name of the secret that you just created.

                                            - */ - Name?: string; - /** *

                                            The unique identifier associated with the version of the secret you just * created.

                                            */ VersionId?: string; + /** + *

                                            The friendly name of the secret that you just created.

                                            + */ + Name?: string; + /** *

                                            The Amazon Resource Name (ARN) of the secret that you just created.

                                            * @@ -474,14 +474,14 @@ export namespace DeleteResourcePolicyRequest { export interface DeleteResourcePolicyResponse { /** - *

                                            The friendly name of the secret that the resource-based policy was deleted for.

                                            + *

                                            The ARN of the secret that the resource-based policy was deleted for.

                                            */ - Name?: string; + ARN?: string; /** - *

                                            The ARN of the secret that the resource-based policy was deleted for.

                                            + *

                                            The friendly name of the secret that the resource-based policy was deleted for.

                                            */ - ARN?: string; + Name?: string; } export namespace DeleteResourcePolicyResponse { @@ -509,6 +509,14 @@ export interface DeleteSecretRequest { */ ForceDeleteWithoutRecovery?: boolean; + /** + *

                                            (Optional) Specifies the number of days that Secrets Manager waits before it can delete the secret. + * You can't use both this parameter and the ForceDeleteWithoutRecovery parameter in + * the same API call.

                                            + *

                                            This value can range from 7 to 30 days. The default value is 30.

                                            + */ + RecoveryWindowInDays?: number; + /** *

                                            Specifies the secret that you want to delete. You can specify either the Amazon Resource * Name (ARN) or the friendly name of the secret.

                                            @@ -528,14 +536,6 @@ export interface DeleteSecretRequest { *
                                            */ SecretId: string | undefined; - - /** - *

                                            (Optional) Specifies the number of days that Secrets Manager waits before it can delete the secret. - * You can't use both this parameter and the ForceDeleteWithoutRecovery parameter in - * the same API call.

                                            - *

                                            This value can range from 7 to 30 days. The default value is 30.

                                            - */ - RecoveryWindowInDays?: number; } export namespace DeleteSecretRequest { @@ -620,36 +620,23 @@ export namespace RotationRulesType { export interface DescribeSecretResponse { /** - *

                                            The ARN of a Lambda function that's invoked by Secrets Manager to rotate the - * secret either automatically per the schedule or manually by a call to - * RotateSecret.

                                            - */ - RotationLambdaARN?: string; - - /** - *

                                            The last date that this secret was accessed. This value is truncated to midnight of the - * date and therefore shows only the date, not the time.

                                            - */ - LastAccessedDate?: Date; - - /** - *

                                            The list of user-defined tags that are associated with the secret. To add tags to a - * secret, use TagResource. To remove tags, use UntagResource.

                                            + *

                                            The most recent date and time that the Secrets Manager rotation process was successfully + * completed. This value is null if the secret has never rotated.

                                            */ - Tags?: Tag[]; + LastRotatedDate?: Date; /** - *

                                            Returns the name of the service that created this secret.

                                            + *

                                            The user-provided description of the secret.

                                            */ - OwningService?: string; + Description?: string; /** - *

                                            This value exists if the secret is scheduled for deletion. Some time after the specified - * date and time, Secrets Manager deletes the secret and all of its versions.

                                            - *

                                            If a secret is scheduled for deletion, then its details, including the encrypted secret - * information, is not accessible. To cancel a scheduled deletion and restore access, use RestoreSecret.

                                            + *

                                            The ARN or alias of the AWS KMS customer master key (CMK) that's used to encrypt the + * SecretString or SecretBinary fields in each version of the secret. + * If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with the + * default AWS KMS CMK (the one named awssecretsmanager) for this account.

                                            */ - DeletedDate?: Date; + KmsKeyId?: string; /** *

                                            A list of all of the currently assigned VersionStage staging labels and the @@ -663,20 +650,14 @@ export interface DescribeSecretResponse { VersionIdsToStages?: { [key: string]: string[] }; /** - *

                                            The ARN of the secret.

                                            - */ - ARN?: string; - - /** - *

                                            The date that the secret was created.

                                            + *

                                            The last date and time that this secret was modified in any way.

                                            */ - CreatedDate?: Date; + LastChangedDate?: Date; /** - *

                                            The most recent date and time that the Secrets Manager rotation process was successfully - * completed. This value is null if the secret has never rotated.

                                            + *

                                            A structure that contains the rotation configuration for this secret.

                                            */ - LastRotatedDate?: Date; + RotationRules?: RotationRulesType; /** *

                                            The user-provided friendly name of the secret.

                                            @@ -684,35 +665,54 @@ export interface DescribeSecretResponse { Name?: string; /** - *

                                            The user-provided description of the secret.

                                            + *

                                            Specifies whether automatic rotation is enabled for this secret.

                                            + *

                                            To enable rotation, use RotateSecret with + * AutomaticallyRotateAfterDays set to a value greater than 0. To disable + * rotation, use CancelRotateSecret.

                                            */ - Description?: string; + RotationEnabled?: boolean; /** - *

                                            A structure that contains the rotation configuration for this secret.

                                            + *

                                            The last date that this secret was accessed. This value is truncated to midnight of the + * date and therefore shows only the date, not the time.

                                            */ - RotationRules?: RotationRulesType; + LastAccessedDate?: Date; /** - *

                                            Specifies whether automatic rotation is enabled for this secret.

                                            - *

                                            To enable rotation, use RotateSecret with - * AutomaticallyRotateAfterDays set to a value greater than 0. To disable - * rotation, use CancelRotateSecret.

                                            + *

                                            The date that the secret was created.

                                            */ - RotationEnabled?: boolean; + CreatedDate?: Date; /** - *

                                            The ARN or alias of the AWS KMS customer master key (CMK) that's used to encrypt the - * SecretString or SecretBinary fields in each version of the secret. - * If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with the - * default AWS KMS CMK (the one named awssecretsmanager) for this account.

                                            + *

                                            This value exists if the secret is scheduled for deletion. Some time after the specified + * date and time, Secrets Manager deletes the secret and all of its versions.

                                            + *

                                            If a secret is scheduled for deletion, then its details, including the encrypted secret + * information, is not accessible. To cancel a scheduled deletion and restore access, use RestoreSecret.

                                            */ - KmsKeyId?: string; + DeletedDate?: Date; /** - *

                                            The last date and time that this secret was modified in any way.

                                            + *

                                            The ARN of the secret.

                                            */ - LastChangedDate?: Date; + ARN?: string; + + /** + *

                                            Returns the name of the service that created this secret.

                                            + */ + OwningService?: string; + + /** + *

                                            The ARN of a Lambda function that's invoked by Secrets Manager to rotate the + * secret either automatically per the schedule or manually by a call to + * RotateSecret.

                                            + */ + RotationLambdaARN?: string; + + /** + *

                                            The list of user-defined tags that are associated with the secret. To add tags to a + * secret, use TagResource. To remove tags, use UntagResource.

                                            + */ + Tags?: Tag[]; } export namespace DescribeSecretResponse { @@ -745,12 +745,6 @@ export namespace Filter { } export interface GetRandomPasswordRequest { - /** - *

                                            A string that includes characters that should not be included in the generated password. - * The default is that all characters from the included sets can be used.

                                            - */ - ExcludeCharacters?: string; - /** *

                                            Specifies that the generated password should not include digits. The default if you do not * include this switch parameter is that digits can be included.

                                            @@ -758,10 +752,16 @@ export interface GetRandomPasswordRequest { ExcludeNumbers?: boolean; /** - *

                                            Specifies that the generated password should not include lowercase letters. The default if - * you do not include this switch parameter is that lowercase letters can be included.

                                            + *

                                            A string that includes characters that should not be included in the generated password. + * The default is that all characters from the included sets can be used.

                                            */ - ExcludeLowercase?: boolean; + ExcludeCharacters?: string; + + /** + *

                                            The desired length of the generated password. The default value if you do not include this + * parameter is 32 characters.

                                            + */ + PasswordLength?: number; /** *

                                            A boolean value that specifies whether the generated password must include at least one of @@ -771,10 +771,10 @@ export interface GetRandomPasswordRequest { RequireEachIncludedType?: boolean; /** - *

                                            Specifies that the generated password should not include uppercase letters. The default if - * you do not include this switch parameter is that uppercase letters can be included.

                                            + *

                                            Specifies that the generated password can include the space character. The default if you + * do not include this switch parameter is that the space character is not included.

                                            */ - ExcludeUppercase?: boolean; + IncludeSpace?: boolean; /** *

                                            Specifies that the generated password should not include punctuation characters. The @@ -791,16 +791,16 @@ export interface GetRandomPasswordRequest { ExcludePunctuation?: boolean; /** - *

                                            Specifies that the generated password can include the space character. The default if you - * do not include this switch parameter is that the space character is not included.

                                            + *

                                            Specifies that the generated password should not include lowercase letters. The default if + * you do not include this switch parameter is that lowercase letters can be included.

                                            */ - IncludeSpace?: boolean; + ExcludeLowercase?: boolean; /** - *

                                            The desired length of the generated password. The default value if you do not include this - * parameter is 32 characters.

                                            + *

                                            Specifies that the generated password should not include uppercase letters. The default if + * you do not include this switch parameter is that uppercase letters can be included.

                                            */ - PasswordLength?: number; + ExcludeUppercase?: boolean; } export namespace GetRandomPasswordRequest { @@ -852,11 +852,6 @@ export namespace GetResourcePolicyRequest { } export interface GetResourcePolicyResponse { - /** - *

                                            The ARN of the secret that the resource-based policy was retrieved for.

                                            - */ - ARN?: string; - /** *

                                            A JSON-formatted string that describes the permissions that are associated with the * attached secret. These permissions are combined with any permissions that are associated with @@ -870,6 +865,11 @@ export interface GetResourcePolicyResponse { *

                                            The friendly name of the secret that the resource-based policy was retrieved for.

                                            */ Name?: string; + + /** + *

                                            The ARN of the secret that the resource-based policy was retrieved for.

                                            + */ + ARN?: string; } export namespace GetResourcePolicyResponse { @@ -899,17 +899,6 @@ export interface GetSecretValueRequest { */ SecretId: string | undefined; - /** - *

                                            Specifies the unique identifier of the version of the secret that you want to retrieve. If - * you specify this parameter then don't specify VersionStage. If you - * don't specify either a VersionStage or VersionId then the - * default is to perform the operation on the version with the VersionStage value of - * AWSCURRENT.

                                            - *

                                            This value is typically a UUID-type value with - * 32 hexadecimal digits.

                                            - */ - VersionId?: string; - /** *

                                            Specifies the secret version that you want to retrieve by the staging label attached to * the version.

                                            @@ -920,6 +909,17 @@ export interface GetSecretValueRequest { * AWSCURRENT.

                                            */ VersionStage?: string; + + /** + *

                                            Specifies the unique identifier of the version of the secret that you want to retrieve. If + * you specify this parameter then don't specify VersionStage. If you + * don't specify either a VersionStage or VersionId then the + * default is to perform the operation on the version with the VersionStage value of + * AWSCURRENT.

                                            + *

                                            This value is typically a UUID-type value with + * 32 hexadecimal digits.

                                            + */ + VersionId?: string; } export namespace GetSecretValueRequest { @@ -930,27 +930,15 @@ export namespace GetSecretValueRequest { export interface GetSecretValueResponse { /** - *

                                            The friendly name of the secret.

                                            + *

                                            The unique identifier of this version of the secret.

                                            */ - Name?: string; + VersionId?: string; /** *

                                            The date and time that this version of the secret was created.

                                            */ CreatedDate?: Date; - /** - *

                                            The decrypted part of the protected secret information that was originally provided as - * binary data in the form of a byte array. The response parameter represents the binary data as - * a base64-encoded - * string.

                                            - *

                                            This parameter is not used if the secret is created by the Secrets Manager console.

                                            - *

                                            If you store custom information in this field of the secret, then you must code your - * Lambda rotation function to parse and interpret whatever you store in the - * SecretString or SecretBinary fields.

                                            - */ - SecretBinary?: Uint8Array; - /** *

                                            The decrypted part of the protected secret information that was originally provided as a * string.

                                            @@ -966,27 +954,39 @@ export interface GetSecretValueResponse { SecretString?: string; /** - *

                                            The unique identifier of this version of the secret.

                                            - */ - VersionId?: string; - - /** - *

                                            The ARN of the secret.

                                            + *

                                            The decrypted part of the protected secret information that was originally provided as + * binary data in the form of a byte array. The response parameter represents the binary data as + * a base64-encoded + * string.

                                            + *

                                            This parameter is not used if the secret is created by the Secrets Manager console.

                                            + *

                                            If you store custom information in this field of the secret, then you must code your + * Lambda rotation function to parse and interpret whatever you store in the + * SecretString or SecretBinary fields.

                                            */ - ARN?: string; + SecretBinary?: Uint8Array; /** *

                                            A list of all of the staging labels currently attached to this version of the * secret.

                                            */ VersionStages?: string[]; + + /** + *

                                            The friendly name of the secret.

                                            + */ + Name?: string; + + /** + *

                                            The ARN of the secret.

                                            + */ + ARN?: string; } export namespace GetSecretValueResponse { export const filterSensitiveLog = (obj: GetSecretValueResponse): any => ({ ...obj, - ...(obj.SecretBinary && { SecretBinary: SENSITIVE_STRING }), ...(obj.SecretString && { SecretString: SENSITIVE_STRING }), + ...(obj.SecretBinary && { SecretBinary: SENSITIVE_STRING }), }); } @@ -1011,11 +1011,6 @@ export enum SortOrderType { } export interface ListSecretsRequest { - /** - *

                                            Lists the secret request filters.

                                            - */ - Filters?: Filter[]; - /** *

                                            (Optional) Limits the number of results you want to include in * the response. If you don't include this parameter, it defaults to a value that's @@ -1028,6 +1023,11 @@ export interface ListSecretsRequest { */ MaxResults?: number; + /** + *

                                            Lists secrets in the requested order.

                                            + */ + SortOrder?: SortOrderType | string; + /** *

                                            (Optional) Use this parameter in a request if you receive a * NextToken response in a previous request indicating there's more @@ -1037,9 +1037,9 @@ export interface ListSecretsRequest { NextToken?: string; /** - *

                                            Lists secrets in the requested order.

                                            + *

                                            Lists the secret request filters.

                                            */ - SortOrder?: SortOrderType | string; + Filters?: Filter[]; } export namespace ListSecretsRequest { @@ -1055,32 +1055,14 @@ export namespace ListSecretsRequest { */ export interface SecretListEntry { /** - *

                                            The ARN of an AWS Lambda function invoked by Secrets Manager to rotate and expire the - * secret either automatically per the schedule or manually by a call to RotateSecret.

                                            - */ - RotationLambdaARN?: string; - - /** - *

                                            The last date that this secret was accessed. This value is truncated to midnight of the - * date and therefore shows only the date, not the time.

                                            - */ - LastAccessedDate?: Date; - - /** - *

                                            The list of user-defined tags associated with the secret. To add tags to a - * secret, use TagResource. To remove tags, use UntagResource.

                                            - */ - Tags?: Tag[]; - - /** - *

                                            Returns the name of the service that created the secret.

                                            + *

                                            The last date and time that the rotation process for this secret was invoked.

                                            */ - OwningService?: string; + LastRotatedDate?: Date; /** - *

                                            Indicates whether automatic, scheduled rotation is enabled for this secret.

                                            + *

                                            The user-provided description of the secret.

                                            */ - RotationEnabled?: boolean; + Description?: string; /** *

                                            The ARN or alias of the AWS KMS customer master key (CMK) used to encrypt the @@ -1102,51 +1084,69 @@ export interface SecretListEntry { SecretVersionsToStages?: { [key: string]: string[] }; /** - *

                                            The last date and time that this secret was modified in any way.

                                            + *

                                            The date and time when a secret was created.

                                            */ - LastChangedDate?: Date; + CreatedDate?: Date; /** - *

                                            A structure that defines the rotation configuration for the secret.

                                            + *

                                            The date and time the deletion of the secret occurred. Not present on active secrets. The + * secret can be recovered until the number of days in the recovery window has passed, as + * specified in the RecoveryWindowInDays parameter of the DeleteSecret operation.

                                            */ - RotationRules?: RotationRulesType; + DeletedDate?: Date; /** - *

                                            The friendly name of the secret. You can use forward slashes in the name to represent a - * path hierarchy. For example, /prod/databases/dbserver1 could represent the secret - * for a server named dbserver1 in the folder databases in the folder - * prod.

                                            + *

                                            The Amazon Resource Name (ARN) of the secret.

                                            + *

                                            For more information about ARNs in Secrets Manager, see Policy Resources in the + * AWS Secrets Manager User Guide.

                                            */ - Name?: string; + ARN?: string; /** - *

                                            The user-provided description of the secret.

                                            + *

                                            Returns the name of the service that created the secret.

                                            */ - Description?: string; + OwningService?: string; /** - *

                                            The Amazon Resource Name (ARN) of the secret.

                                            - *

                                            For more information about ARNs in Secrets Manager, see Policy Resources in the - * AWS Secrets Manager User Guide.

                                            + *

                                            The ARN of an AWS Lambda function invoked by Secrets Manager to rotate and expire the + * secret either automatically per the schedule or manually by a call to RotateSecret.

                                            */ - ARN?: string; + RotationLambdaARN?: string; /** - *

                                            The date and time when a secret was created.

                                            + *

                                            The list of user-defined tags associated with the secret. To add tags to a + * secret, use TagResource. To remove tags, use UntagResource.

                                            */ - CreatedDate?: Date; + Tags?: Tag[]; /** - *

                                            The date and time the deletion of the secret occurred. Not present on active secrets. The - * secret can be recovered until the number of days in the recovery window has passed, as - * specified in the RecoveryWindowInDays parameter of the DeleteSecret operation.

                                            + *

                                            Indicates whether automatic, scheduled rotation is enabled for this secret.

                                            */ - DeletedDate?: Date; + RotationEnabled?: boolean; /** - *

                                            The last date and time that the rotation process for this secret was invoked.

                                            + *

                                            The last date that this secret was accessed. This value is truncated to midnight of the + * date and therefore shows only the date, not the time.

                                            */ - LastRotatedDate?: Date; + LastAccessedDate?: Date; + + /** + *

                                            The last date and time that this secret was modified in any way.

                                            + */ + LastChangedDate?: Date; + + /** + *

                                            A structure that defines the rotation configuration for the secret.

                                            + */ + RotationRules?: RotationRulesType; + + /** + *

                                            The friendly name of the secret. You can use forward slashes in the name to represent a + * path hierarchy. For example, /prod/databases/dbserver1 could represent the secret + * for a server named dbserver1 in the folder databases in the folder + * prod.

                                            + */ + Name?: string; } export namespace SecretListEntry { @@ -1156,6 +1156,11 @@ export namespace SecretListEntry { } export interface ListSecretsResponse { + /** + *

                                            A list of the secrets in the account.

                                            + */ + SecretList?: SecretListEntry[]; + /** *

                                            If present in the response, this value indicates that * there's more output available than included in the current response. This can @@ -1166,11 +1171,6 @@ export interface ListSecretsResponse { * null).

                                            */ NextToken?: string; - - /** - *

                                            A list of the secrets in the account.

                                            - */ - SecretList?: SecretListEntry[]; } export namespace ListSecretsResponse { @@ -1192,13 +1192,6 @@ export interface ListSecretVersionIdsRequest { */ MaxResults?: number; - /** - *

                                            (Optional) Specifies that you want the results to include versions that do not have any - * staging labels attached to them. Such versions are considered deprecated and are subject to - * deletion by Secrets Manager as needed.

                                            - */ - IncludeDeprecated?: boolean; - /** *

                                            The identifier for the secret containing the versions you want to list. You can specify * either the Amazon Resource Name (ARN) or the friendly name of the secret.

                                            @@ -1226,6 +1219,13 @@ export interface ListSecretVersionIdsRequest { * NextToken response to indicate where the output should continue from.

                                            */ NextToken?: string; + + /** + *

                                            (Optional) Specifies that you want the results to include versions that do not have any + * staging labels attached to them. Such versions are considered deprecated and are subject to + * deletion by Secrets Manager as needed.

                                            + */ + IncludeDeprecated?: boolean; } export namespace ListSecretVersionIdsRequest { @@ -1239,26 +1239,26 @@ export namespace ListSecretVersionIdsRequest { */ export interface SecretVersionsListEntry { /** - *

                                            The unique version identifier of this version of the secret.

                                            + *

                                            An array of staging labels that are currently associated with this version of the + * secret.

                                            */ - VersionId?: string; + VersionStages?: string[]; /** - *

                                            The date that this version of the secret was last accessed. Note that the resolution of - * this field is at the date level and does not include the time.

                                            + *

                                            The date and time this version of the secret was created.

                                            */ - LastAccessedDate?: Date; + CreatedDate?: Date; /** - *

                                            The date and time this version of the secret was created.

                                            + *

                                            The unique version identifier of this version of the secret.

                                            */ - CreatedDate?: Date; + VersionId?: string; /** - *

                                            An array of staging labels that are currently associated with this version of the - * secret.

                                            + *

                                            The date that this version of the secret was last accessed. Note that the resolution of + * this field is at the date level and does not include the time.

                                            */ - VersionStages?: string[]; + LastAccessedDate?: Date; } export namespace SecretVersionsListEntry { @@ -1268,6 +1268,22 @@ export namespace SecretVersionsListEntry { } export interface ListSecretVersionIdsResponse { + /** + *

                                            If present in the response, this value indicates that + * there's more output available than included in the current response. This can + * occur even when the response includes no values at all, such as when you ask for a filtered view + * of a very long list. Use this value in the NextToken request parameter in a + * subsequent call to the operation to continue processing and get the next part of the output. You + * should repeat this until the NextToken response element comes back empty (as + * null).

                                            + */ + NextToken?: string; + + /** + *

                                            The list of the currently available versions of the specified secret.

                                            + */ + Versions?: SecretVersionsListEntry[]; + /** *

                                            The Amazon Resource Name (ARN) for the secret.

                                            * @@ -1278,28 +1294,12 @@ export interface ListSecretVersionIdsResponse { * automatically get access to the new secret because the ARNs are different.

                                            *
                                            */ - ARN?: string; - - /** - *

                                            The friendly name of the secret.

                                            - */ - Name?: string; - - /** - *

                                            If present in the response, this value indicates that - * there's more output available than included in the current response. This can - * occur even when the response includes no values at all, such as when you ask for a filtered view - * of a very long list. Use this value in the NextToken request parameter in a - * subsequent call to the operation to continue processing and get the next part of the output. You - * should repeat this until the NextToken response element comes back empty (as - * null).

                                            - */ - NextToken?: string; + ARN?: string; /** - *

                                            The list of the currently available versions of the specified secret.

                                            + *

                                            The friendly name of the secret.

                                            */ - Versions?: SecretVersionsListEntry[]; + Name?: string; } export namespace ListSecretVersionIdsResponse { @@ -1324,11 +1324,6 @@ export namespace PublicPolicyException { } export interface PutResourcePolicyRequest { - /** - *

                                            Makes an optional API call to Zelkova to validate the Resource Policy to prevent broad access to your secret.

                                            - */ - BlockPublicPolicy?: boolean; - /** *

                                            A JSON-formatted string that's constructed according to the grammar and syntax for an * AWS resource-based policy. The policy in the string identifies who can access or manage this @@ -1338,6 +1333,11 @@ export interface PutResourcePolicyRequest { */ ResourcePolicy: string | undefined; + /** + *

                                            Makes an optional API call to Zelkova to validate the Resource Policy to prevent broad access to your secret.

                                            + */ + BlockPublicPolicy?: boolean; + /** *

                                            Specifies the secret that you want to attach the resource-based policy to. You can specify * either the ARN or the friendly name of the secret.

                                            @@ -1367,14 +1367,14 @@ export namespace PutResourcePolicyRequest { export interface PutResourcePolicyResponse { /** - *

                                            The friendly name of the secret that the retrieved by the resource-based policy.

                                            + *

                                            The ARN of the secret retrieved by the resource-based policy.

                                            */ - Name?: string; + ARN?: string; /** - *

                                            The ARN of the secret retrieved by the resource-based policy.

                                            + *

                                            The friendly name of the secret that the retrieved by the resource-based policy.

                                            */ - ARN?: string; + Name?: string; } export namespace PutResourcePolicyResponse { @@ -1384,6 +1384,40 @@ export namespace PutResourcePolicyResponse { } export interface PutSecretValueRequest { + /** + *

                                            (Optional) Specifies a unique identifier for the new version of the secret.

                                            + * + *

                                            If you use the AWS CLI or one of the AWS SDK to call this operation, then you can + * leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that + * in the request. If you don't use the SDK and instead generate a raw HTTP request to the + * Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself + * for new versions and include that value in the request.

                                            + *
                                            + *

                                            This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental + * creation of duplicate versions if there are failures and retries during the Lambda rotation + * function's processing. We recommend that you generate a UUID-type value to + * ensure uniqueness within the specified secret.

                                            + *
                                              + *
                                            • + *

                                              If the ClientRequestToken value isn't already associated with a version + * of the secret then a new version of the secret is created.

                                              + *
                                            • + *
                                            • + *

                                              If a version with this value already exists and that version's + * SecretString or SecretBinary values are the same as those in + * the request then the request is ignored (the operation is idempotent).

                                              + *
                                            • + *
                                            • + *

                                              If a version with this value already exists and the version of the + * SecretString and SecretBinary values are different from those + * in the request then the request fails because you cannot modify an existing secret + * version. You can only create new versions to store new secret values.

                                              + *
                                            • + *
                                            + *

                                            This value becomes the VersionId of the new version.

                                            + */ + ClientRequestToken?: string; + /** *

                                            Specifies the secret to which you want to add a new version. You can specify either the * Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already @@ -1405,18 +1439,6 @@ export interface PutSecretValueRequest { */ SecretId: string | undefined; - /** - *

                                            (Optional) Specifies binary data that you want to encrypt and store in the new version of - * the secret. To use this parameter in the command-line tools, we recommend that you store your - * binary data in a file and then use the appropriate technique for your tool to pass the - * contents of the file as a parameter. Either SecretBinary or - * SecretString must have a value, but not both. They cannot both be empty.

                                            - * - *

                                            This parameter is not accessible if the secret using the Secrets Manager console.

                                            - *

                                            - */ - SecretBinary?: Uint8Array; - /** *

                                            (Optional) Specifies text data that you want to encrypt and store in this new version of * the secret. Either SecretString or SecretBinary must have a value, @@ -1440,38 +1462,16 @@ export interface PutSecretValueRequest { SecretString?: string; /** - *

                                            (Optional) Specifies a unique identifier for the new version of the secret.

                                            - * - *

                                            If you use the AWS CLI or one of the AWS SDK to call this operation, then you can - * leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that - * in the request. If you don't use the SDK and instead generate a raw HTTP request to the - * Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself - * for new versions and include that value in the request.

                                            - *
                                            - *

                                            This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental - * creation of duplicate versions if there are failures and retries during the Lambda rotation - * function's processing. We recommend that you generate a UUID-type value to - * ensure uniqueness within the specified secret.

                                            - *
                                              - *
                                            • - *

                                              If the ClientRequestToken value isn't already associated with a version - * of the secret then a new version of the secret is created.

                                              - *
                                            • - *
                                            • - *

                                              If a version with this value already exists and that version's - * SecretString or SecretBinary values are the same as those in - * the request then the request is ignored (the operation is idempotent).

                                              - *
                                            • - *
                                            • - *

                                              If a version with this value already exists and the version of the - * SecretString and SecretBinary values are different from those - * in the request then the request fails because you cannot modify an existing secret - * version. You can only create new versions to store new secret values.

                                              - *
                                            • - *
                                            - *

                                            This value becomes the VersionId of the new version.

                                            + *

                                            (Optional) Specifies binary data that you want to encrypt and store in the new version of + * the secret. To use this parameter in the command-line tools, we recommend that you store your + * binary data in a file and then use the appropriate technique for your tool to pass the + * contents of the file as a parameter. Either SecretBinary or + * SecretString must have a value, but not both. They cannot both be empty.

                                            + * + *

                                            This parameter is not accessible if the secret using the Secrets Manager console.

                                            + *

                                            */ - ClientRequestToken?: string; + SecretBinary?: Uint8Array; /** *

                                            (Optional) Specifies a list of staging labels that are attached to this version of the @@ -1489,17 +1489,12 @@ export interface PutSecretValueRequest { export namespace PutSecretValueRequest { export const filterSensitiveLog = (obj: PutSecretValueRequest): any => ({ ...obj, - ...(obj.SecretBinary && { SecretBinary: SENSITIVE_STRING }), ...(obj.SecretString && { SecretString: SENSITIVE_STRING }), + ...(obj.SecretBinary && { SecretBinary: SENSITIVE_STRING }), }); } export interface PutSecretValueResponse { - /** - *

                                            The unique identifier of the version of the secret you just created or updated.

                                            - */ - VersionId?: string; - /** *

                                            The Amazon Resource Name (ARN) for the secret for which you just created a version.

                                            */ @@ -1516,6 +1511,11 @@ export interface PutSecretValueResponse { *

                                            The friendly name of the secret for which you just created or updated a version.

                                            */ Name?: string; + + /** + *

                                            The unique identifier of the version of the secret you just created or updated.

                                            + */ + VersionId?: string; } export namespace PutSecretValueResponse { @@ -1571,6 +1571,26 @@ export namespace RestoreSecretResponse { } export interface RotateSecretRequest { + /** + *

                                            Specifies the secret that you want to rotate. You can specify either the Amazon Resource + * Name (ARN) or the friendly name of the secret.

                                            + * + *

                                            If you specify an ARN, we generally recommend that you specify a complete ARN. You can + * specify a partial ARN too—for example, if you don’t include the final hyphen and six random + * characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN + * match can work as long as it uniquely matches only one secret. However, if your secret has a + * name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six + * characters to the ARN) and you try to use that as a partial ARN, then those characters cause + * Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected + * results. To avoid this situation, we recommend that you don’t create secret names ending + * with a hyphen followed by six characters.

                                            + *

                                            If you specify an incomplete ARN without the random suffix, and instead provide the + * 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, + * you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

                                            + *
                                            + */ + SecretId: string | undefined; + /** *

                                            (Optional) Specifies a unique identifier for the new version of the secret that helps * ensure idempotency.

                                            @@ -1589,35 +1609,15 @@ export interface RotateSecretRequest { */ ClientRequestToken?: string; - /** - *

                                            (Optional) Specifies the ARN of the Lambda function that can rotate the secret.

                                            - */ - RotationLambdaARN?: string; - /** *

                                            A structure that defines the rotation configuration for this secret.

                                            */ RotationRules?: RotationRulesType; /** - *

                                            Specifies the secret that you want to rotate. You can specify either the Amazon Resource - * Name (ARN) or the friendly name of the secret.

                                            - * - *

                                            If you specify an ARN, we generally recommend that you specify a complete ARN. You can - * specify a partial ARN too—for example, if you don’t include the final hyphen and six random - * characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN - * match can work as long as it uniquely matches only one secret. However, if your secret has a - * name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six - * characters to the ARN) and you try to use that as a partial ARN, then those characters cause - * Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected - * results. To avoid this situation, we recommend that you don’t create secret names ending - * with a hyphen followed by six characters.

                                            - *

                                            If you specify an incomplete ARN without the random suffix, and instead provide the - * 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, - * you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.

                                            - *
                                            + *

                                            (Optional) Specifies the ARN of the Lambda function that can rotate the secret.

                                            */ - SecretId: string | undefined; + RotationLambdaARN?: string; } export namespace RotateSecretRequest { @@ -1628,10 +1628,9 @@ export namespace RotateSecretRequest { export interface RotateSecretResponse { /** - *

                                            The ID of the new version of the secret created by the rotation started by this - * request.

                                            + *

                                            The ARN of the secret.

                                            */ - VersionId?: string; + ARN?: string; /** *

                                            The friendly name of the secret.

                                            @@ -1639,9 +1638,10 @@ export interface RotateSecretResponse { Name?: string; /** - *

                                            The ARN of the secret.

                                            + *

                                            The ID of the new version of the secret created by the rotation started by this + * request.

                                            */ - ARN?: string; + VersionId?: string; } export namespace RotateSecretResponse { @@ -1726,16 +1726,6 @@ export namespace UntagResourceRequest { } export interface UpdateSecretRequest { - /** - *

                                            (Optional) Specifies updated binary data that you want to encrypt and store in the new - * version of the secret. To use this parameter in the command-line tools, we recommend that you - * store your binary data in a file and then use the appropriate technique for your tool to pass - * the contents of the file as a parameter. Either SecretBinary or - * SecretString must have a value, but not both. They cannot both be empty.

                                            - *

                                            This parameter is not accessible using the Secrets Manager console.

                                            - */ - SecretBinary?: Uint8Array; - /** *

                                            (Optional) Specifies updated text data that you want to encrypt and store in this new * version of the secret. Either SecretBinary or SecretString must have @@ -1775,11 +1765,6 @@ export interface UpdateSecretRequest { */ KmsKeyId?: string; - /** - *

                                            (Optional) Specifies an updated user-provided description of the secret.

                                            - */ - Description?: string; - /** *

                                            Specifies the secret that you want to modify or to which you want to add a new version. * You can specify either the Amazon Resource Name (ARN) or the friendly name of the @@ -1801,6 +1786,11 @@ export interface UpdateSecretRequest { */ SecretId: string | undefined; + /** + *

                                            (Optional) Specifies an updated user-provided description of the secret.

                                            + */ + Description?: string; + /** *

                                            (Optional) If you want to add a new version to the secret, this parameter specifies a * unique identifier for the new version that helps ensure idempotency.

                                            @@ -1834,28 +1824,31 @@ export interface UpdateSecretRequest { *

                                            This value becomes the VersionId of the new version.

                                            */ ClientRequestToken?: string; + + /** + *

                                            (Optional) Specifies updated binary data that you want to encrypt and store in the new + * version of the secret. To use this parameter in the command-line tools, we recommend that you + * store your binary data in a file and then use the appropriate technique for your tool to pass + * the contents of the file as a parameter. Either SecretBinary or + * SecretString must have a value, but not both. They cannot both be empty.

                                            + *

                                            This parameter is not accessible using the Secrets Manager console.

                                            + */ + SecretBinary?: Uint8Array; } export namespace UpdateSecretRequest { export const filterSensitiveLog = (obj: UpdateSecretRequest): any => ({ ...obj, - ...(obj.SecretBinary && { SecretBinary: SENSITIVE_STRING }), ...(obj.SecretString && { SecretString: SENSITIVE_STRING }), + ...(obj.SecretBinary && { SecretBinary: SENSITIVE_STRING }), }); } export interface UpdateSecretResponse { /** - *

                                            The ARN of the secret that was updated.

                                            - * - *

                                            Secrets Manager automatically adds several random characters to the name at the end of the ARN when - * you initially create a secret. This affects only the ARN and not the actual friendly name. - * This ensures that if you create a new secret with the same name as an old secret that you - * previously deleted, then users with access to the old secret don't - * automatically get access to the new secret because the ARNs are different.

                                            - *
                                            + *

                                            The friendly name of the secret that was updated.

                                            */ - ARN?: string; + Name?: string; /** *

                                            If a new version of the secret was created by this operation, then VersionId @@ -1864,9 +1857,16 @@ export interface UpdateSecretResponse { VersionId?: string; /** - *

                                            The friendly name of the secret that was updated.

                                            + *

                                            The ARN of the secret that was updated.

                                            + * + *

                                            Secrets Manager automatically adds several random characters to the name at the end of the ARN when + * you initially create a secret. This affects only the ARN and not the actual friendly name. + * This ensures that if you create a new secret with the same name as an old secret that you + * previously deleted, then users with access to the old secret don't + * automatically get access to the new secret because the ARNs are different.

                                            + *
                                            */ - Name?: string; + ARN?: string; } export namespace UpdateSecretResponse { @@ -1945,6 +1945,11 @@ export namespace UpdateSecretVersionStageResponse { } export interface ValidateResourcePolicyRequest { + /** + *

                                            Identifies the Resource Policy attached to the secret.

                                            + */ + ResourcePolicy: string | undefined; + /** *

                                            The identifier for the secret that you want to validate a resource policy. You can specify either * the Amazon Resource Name (ARN) or the friendly name of the secret.

                                            @@ -1964,11 +1969,6 @@ export interface ValidateResourcePolicyRequest { * */ SecretId?: string; - - /** - *

                                            Identifies the Resource Policy attached to the secret.

                                            - */ - ResourcePolicy: string | undefined; } export namespace ValidateResourcePolicyRequest { @@ -1982,14 +1982,14 @@ export namespace ValidateResourcePolicyRequest { */ export interface ValidationErrorsEntry { /** - *

                                            Checks the name of the policy.

                                            + *

                                            Displays error messages if validation encounters problems during validation of the resource policy.

                                            */ - CheckName?: string; + ErrorMessage?: string; /** - *

                                            Displays error messages if validation encounters problems during validation of the resource policy.

                                            + *

                                            Checks the name of the policy.

                                            */ - ErrorMessage?: string; + CheckName?: string; } export namespace ValidationErrorsEntry { @@ -2000,14 +2000,14 @@ export namespace ValidationErrorsEntry { export interface ValidateResourcePolicyResponse { /** - *

                                            Returns a message stating that your Reource Policy passed validation.

                                            + *

                                            Returns an error message if your policy doesn't pass validatation.

                                            */ - PolicyValidationPassed?: boolean; + ValidationErrors?: ValidationErrorsEntry[]; /** - *

                                            Returns an error message if your policy doesn't pass validatation.

                                            + *

                                            Returns a message stating that your Reource Policy passed validation.

                                            */ - ValidationErrors?: ValidationErrorsEntry[]; + PolicyValidationPassed?: boolean; } export namespace ValidateResourcePolicyResponse { diff --git a/clients/client-securityhub/SecurityHub.ts b/clients/client-securityhub/SecurityHub.ts index 6521ba005e86..06b693bb5c75 100644 --- a/clients/client-securityhub/SecurityHub.ts +++ b/clients/client-securityhub/SecurityHub.ts @@ -218,6 +218,13 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *
                                          • *

                                            * + * BatchEnableStandards + * - RateLimit of 1 + * request per second, BurstLimit of 1 request per second.

                                            + *
                                          • + *
                                          • + *

                                            + * * GetFindings * - RateLimit of 3 requests per second. * BurstLimit of 6 requests per second.

                                            @@ -230,6 +237,13 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * second. BurstLimit of 5 requests per second.

                                            *
                                          • *
                                          • + *

                                            + * + * UpdateStandardsControl + * - RateLimit of + * 1 request per second, BurstLimit of 5 requests per second.

                                            + *
                                          • + *
                                          • *

                                            All other operations - RateLimit of 10 requests per second. * BurstLimit of 30 requests per second.

                                            *
                                          • @@ -437,8 +451,8 @@ export class SecurityHub extends SecurityHubClient { * account.

                                            *

                                            Updates from BatchUpdateFindings do not affect the value of * UpdatedAt for a finding.

                                            - *

                                            Master accounts can use BatchUpdateFindings to update the following finding - * fields and objects.

                                            + *

                                            Master and member accounts can use BatchUpdateFindings to update the + * following finding fields and objects.

                                            *
                                              *
                                            • *

                                              @@ -486,8 +500,10 @@ export class SecurityHub extends SecurityHubClient { *

                                              *
                                            • *
                                            - *

                                            Member accounts can only use BatchUpdateFindings to update the Note - * object.

                                            + *

                                            You can configure IAM policies to restrict access to fields and field values. For + * example, you might not want member accounts to be able to suppress findings or change the + * finding severity. See Configuring access to BatchUpdateFindings in the + * AWS Security Hub User Guide.

                                            */ public batchUpdateFindings( args: BatchUpdateFindingsCommandInput, diff --git a/clients/client-securityhub/SecurityHubClient.ts b/clients/client-securityhub/SecurityHubClient.ts index bc33c8050560..c060b0b2c9bd 100644 --- a/clients/client-securityhub/SecurityHubClient.ts +++ b/clients/client-securityhub/SecurityHubClient.ts @@ -366,6 +366,13 @@ export type SecurityHubClientResolvedConfig = __SmithyResolvedConfiguration<__Ht *
                                          • *

                                            * + * BatchEnableStandards + * - RateLimit of 1 + * request per second, BurstLimit of 1 request per second.

                                            + *
                                          • + *
                                          • + *

                                            + * * GetFindings * - RateLimit of 3 requests per second. * BurstLimit of 6 requests per second.

                                            @@ -378,6 +385,13 @@ export type SecurityHubClientResolvedConfig = __SmithyResolvedConfiguration<__Ht * second. BurstLimit of 5 requests per second.

                                            *
                                          • *
                                          • + *

                                            + * + * UpdateStandardsControl + * - RateLimit of + * 1 request per second, BurstLimit of 5 requests per second.

                                            + *
                                          • + *
                                          • *

                                            All other operations - RateLimit of 10 requests per second. * BurstLimit of 30 requests per second.

                                            *
                                          • diff --git a/clients/client-securityhub/commands/GetInvitationsCountCommand.ts b/clients/client-securityhub/commands/GetInvitationsCountCommand.ts index 8ea51e100990..1c62c39dab0f 100644 --- a/clients/client-securityhub/commands/GetInvitationsCountCommand.ts +++ b/clients/client-securityhub/commands/GetInvitationsCountCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { GetInvitationsCountRequest, GetInvitationsCountResponse } from "../models/models_0"; +import { GetInvitationsCountRequest, GetInvitationsCountResponse } from "../models/models_1"; import { deserializeAws_restJson1GetInvitationsCountCommand, serializeAws_restJson1GetInvitationsCountCommand, diff --git a/clients/client-securityhub/commands/GetMasterAccountCommand.ts b/clients/client-securityhub/commands/GetMasterAccountCommand.ts index a906f57a6e4a..da051817a2d7 100644 --- a/clients/client-securityhub/commands/GetMasterAccountCommand.ts +++ b/clients/client-securityhub/commands/GetMasterAccountCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { GetMasterAccountRequest, GetMasterAccountResponse } from "../models/models_0"; +import { GetMasterAccountRequest, GetMasterAccountResponse } from "../models/models_1"; import { deserializeAws_restJson1GetMasterAccountCommand, serializeAws_restJson1GetMasterAccountCommand, diff --git a/clients/client-securityhub/commands/GetMembersCommand.ts b/clients/client-securityhub/commands/GetMembersCommand.ts index b1a7abd3c707..1a53e30cb265 100644 --- a/clients/client-securityhub/commands/GetMembersCommand.ts +++ b/clients/client-securityhub/commands/GetMembersCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { GetMembersRequest, GetMembersResponse } from "../models/models_0"; +import { GetMembersRequest, GetMembersResponse } from "../models/models_1"; import { deserializeAws_restJson1GetMembersCommand, serializeAws_restJson1GetMembersCommand, diff --git a/clients/client-securityhub/commands/InviteMembersCommand.ts b/clients/client-securityhub/commands/InviteMembersCommand.ts index e7bb30c6a6fd..bdd700dcde6f 100644 --- a/clients/client-securityhub/commands/InviteMembersCommand.ts +++ b/clients/client-securityhub/commands/InviteMembersCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { InviteMembersRequest, InviteMembersResponse } from "../models/models_0"; +import { InviteMembersRequest, InviteMembersResponse } from "../models/models_1"; import { deserializeAws_restJson1InviteMembersCommand, serializeAws_restJson1InviteMembersCommand, diff --git a/clients/client-securityhub/commands/ListEnabledProductsForImportCommand.ts b/clients/client-securityhub/commands/ListEnabledProductsForImportCommand.ts index 136273d6d307..ec7627008e7e 100644 --- a/clients/client-securityhub/commands/ListEnabledProductsForImportCommand.ts +++ b/clients/client-securityhub/commands/ListEnabledProductsForImportCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { ListEnabledProductsForImportRequest, ListEnabledProductsForImportResponse } from "../models/models_0"; +import { ListEnabledProductsForImportRequest, ListEnabledProductsForImportResponse } from "../models/models_1"; import { deserializeAws_restJson1ListEnabledProductsForImportCommand, serializeAws_restJson1ListEnabledProductsForImportCommand, diff --git a/clients/client-securityhub/commands/ListInvitationsCommand.ts b/clients/client-securityhub/commands/ListInvitationsCommand.ts index 1981d9660661..ee25c5d6f51e 100644 --- a/clients/client-securityhub/commands/ListInvitationsCommand.ts +++ b/clients/client-securityhub/commands/ListInvitationsCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { ListInvitationsRequest, ListInvitationsResponse } from "../models/models_0"; +import { ListInvitationsRequest, ListInvitationsResponse } from "../models/models_1"; import { deserializeAws_restJson1ListInvitationsCommand, serializeAws_restJson1ListInvitationsCommand, diff --git a/clients/client-securityhub/commands/ListMembersCommand.ts b/clients/client-securityhub/commands/ListMembersCommand.ts index 4af7dc7deb61..46042f0991fa 100644 --- a/clients/client-securityhub/commands/ListMembersCommand.ts +++ b/clients/client-securityhub/commands/ListMembersCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { ListMembersRequest, ListMembersResponse } from "../models/models_0"; +import { ListMembersRequest, ListMembersResponse } from "../models/models_1"; import { deserializeAws_restJson1ListMembersCommand, serializeAws_restJson1ListMembersCommand, diff --git a/clients/client-securityhub/commands/ListTagsForResourceCommand.ts b/clients/client-securityhub/commands/ListTagsForResourceCommand.ts index e966e77b0c95..631ab8ec2e12 100644 --- a/clients/client-securityhub/commands/ListTagsForResourceCommand.ts +++ b/clients/client-securityhub/commands/ListTagsForResourceCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_1"; import { deserializeAws_restJson1ListTagsForResourceCommand, serializeAws_restJson1ListTagsForResourceCommand, diff --git a/clients/client-securityhub/commands/TagResourceCommand.ts b/clients/client-securityhub/commands/TagResourceCommand.ts index b6277b2f7466..c0f9b1148b00 100644 --- a/clients/client-securityhub/commands/TagResourceCommand.ts +++ b/clients/client-securityhub/commands/TagResourceCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { TagResourceRequest, TagResourceResponse } from "../models/models_0"; +import { TagResourceRequest, TagResourceResponse } from "../models/models_1"; import { deserializeAws_restJson1TagResourceCommand, serializeAws_restJson1TagResourceCommand, diff --git a/clients/client-securityhub/commands/UntagResourceCommand.ts b/clients/client-securityhub/commands/UntagResourceCommand.ts index ffb2233ab94e..a307c51d0b0b 100644 --- a/clients/client-securityhub/commands/UntagResourceCommand.ts +++ b/clients/client-securityhub/commands/UntagResourceCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_1"; import { deserializeAws_restJson1UntagResourceCommand, serializeAws_restJson1UntagResourceCommand, diff --git a/clients/client-securityhub/commands/UpdateActionTargetCommand.ts b/clients/client-securityhub/commands/UpdateActionTargetCommand.ts index 263b2c38e196..60b6bd22fe36 100644 --- a/clients/client-securityhub/commands/UpdateActionTargetCommand.ts +++ b/clients/client-securityhub/commands/UpdateActionTargetCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { UpdateActionTargetRequest, UpdateActionTargetResponse } from "../models/models_0"; +import { UpdateActionTargetRequest, UpdateActionTargetResponse } from "../models/models_1"; import { deserializeAws_restJson1UpdateActionTargetCommand, serializeAws_restJson1UpdateActionTargetCommand, diff --git a/clients/client-securityhub/commands/UpdateFindingsCommand.ts b/clients/client-securityhub/commands/UpdateFindingsCommand.ts index 292dc63aafc0..d76f30e1cc1b 100644 --- a/clients/client-securityhub/commands/UpdateFindingsCommand.ts +++ b/clients/client-securityhub/commands/UpdateFindingsCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { UpdateFindingsRequest, UpdateFindingsResponse } from "../models/models_0"; +import { UpdateFindingsRequest, UpdateFindingsResponse } from "../models/models_1"; import { deserializeAws_restJson1UpdateFindingsCommand, serializeAws_restJson1UpdateFindingsCommand, diff --git a/clients/client-securityhub/commands/UpdateInsightCommand.ts b/clients/client-securityhub/commands/UpdateInsightCommand.ts index 5460bcdeaf4f..8ef1970b82d6 100644 --- a/clients/client-securityhub/commands/UpdateInsightCommand.ts +++ b/clients/client-securityhub/commands/UpdateInsightCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { UpdateInsightRequest, UpdateInsightResponse } from "../models/models_0"; +import { UpdateInsightRequest, UpdateInsightResponse } from "../models/models_1"; import { deserializeAws_restJson1UpdateInsightCommand, serializeAws_restJson1UpdateInsightCommand, diff --git a/clients/client-securityhub/commands/UpdateSecurityHubConfigurationCommand.ts b/clients/client-securityhub/commands/UpdateSecurityHubConfigurationCommand.ts index d894d0ca9b2c..8347d2ee433c 100644 --- a/clients/client-securityhub/commands/UpdateSecurityHubConfigurationCommand.ts +++ b/clients/client-securityhub/commands/UpdateSecurityHubConfigurationCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { UpdateSecurityHubConfigurationRequest, UpdateSecurityHubConfigurationResponse } from "../models/models_0"; +import { UpdateSecurityHubConfigurationRequest, UpdateSecurityHubConfigurationResponse } from "../models/models_1"; import { deserializeAws_restJson1UpdateSecurityHubConfigurationCommand, serializeAws_restJson1UpdateSecurityHubConfigurationCommand, diff --git a/clients/client-securityhub/commands/UpdateStandardsControlCommand.ts b/clients/client-securityhub/commands/UpdateStandardsControlCommand.ts index b04172dec9ca..4bb841b7f2ea 100644 --- a/clients/client-securityhub/commands/UpdateStandardsControlCommand.ts +++ b/clients/client-securityhub/commands/UpdateStandardsControlCommand.ts @@ -1,5 +1,5 @@ import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient"; -import { UpdateStandardsControlRequest, UpdateStandardsControlResponse } from "../models/models_0"; +import { UpdateStandardsControlRequest, UpdateStandardsControlResponse } from "../models/models_1"; import { deserializeAws_restJson1UpdateStandardsControlCommand, serializeAws_restJson1UpdateStandardsControlCommand, diff --git a/clients/client-securityhub/models/index.ts b/clients/client-securityhub/models/index.ts index 09c5d6e09b8c..ae1cfffa2ca6 100644 --- a/clients/client-securityhub/models/index.ts +++ b/clients/client-securityhub/models/index.ts @@ -1 +1,2 @@ export * from "./models_0"; +export * from "./models_1"; diff --git a/clients/client-securityhub/models/models_0.ts b/clients/client-securityhub/models/models_0.ts index 622abf82a9e7..7bc10985f3e5 100644 --- a/clients/client-securityhub/models/models_0.ts +++ b/clients/client-securityhub/models/models_0.ts @@ -66,8 +66,8 @@ export namespace InvalidAccessException { export interface InvalidInputException extends __SmithyException, $MetadataBearer { name: "InvalidInputException"; $fault: "client"; - Message?: string; Code?: string; + Message?: string; } export namespace InvalidInputException { @@ -83,8 +83,8 @@ export namespace InvalidInputException { export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; $fault: "client"; - Code?: string; Message?: string; + Code?: string; } export namespace LimitExceededException { @@ -115,8 +115,8 @@ export namespace ResourceNotFoundException { export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; $fault: "client"; - Code?: string; Message?: string; + Code?: string; } export namespace AccessDeniedException { @@ -130,14 +130,14 @@ export namespace AccessDeniedException { */ export interface AccountDetails { /** - *

                                            The ID of an AWS account.

                                            + *

                                            The email of an AWS account.

                                            */ - AccountId?: string; + Email?: string; /** - *

                                            The email of an AWS account.

                                            + *

                                            The ID of an AWS account.

                                            */ - Email?: string; + AccountId?: string; } export namespace AccountDetails { @@ -151,9 +151,9 @@ export namespace AccountDetails { */ export interface ActionTarget { /** - *

                                            The ARN for the target action.

                                            + *

                                            The name of the action target.

                                            */ - ActionTargetArn: string | undefined; + Name: string | undefined; /** *

                                            The description of the target action.

                                            @@ -161,9 +161,9 @@ export interface ActionTarget { Description: string | undefined; /** - *

                                            The name of the action target.

                                            + *

                                            The ARN for the target action.

                                            */ - Name: string | undefined; + ActionTargetArn: string | undefined; } export namespace ActionTarget { @@ -177,14 +177,14 @@ export namespace ActionTarget { */ export interface AvailabilityZone { /** - *

                                            The ID of the subnet. You can specify one subnet per Availability Zone.

                                            + *

                                            The name of the Availability Zone.

                                            */ - SubnetId?: string; + ZoneName?: string; /** - *

                                            The name of the Availability Zone.

                                            + *

                                            The ID of the subnet. You can specify one subnet per Availability Zone.

                                            */ - ZoneName?: string; + SubnetId?: string; } export namespace AvailabilityZone { @@ -194,5477 +194,10003 @@ export namespace AvailabilityZone { } /** - *

                                            Provides details about an auto scaling group.

                                            + *

                                            Contains information about settings for logging access for the stage.

                                            */ -export interface AwsAutoScalingAutoScalingGroupDetails { +export interface AwsApiGatewayAccessLogSettings { /** - *

                                            The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it checks the - * health status of an EC2 instance that has come into service.

                                            + *

                                            The ARN of the CloudWatch Logs log group that receives the access logs.

                                            */ - HealthCheckGracePeriod?: number; + DestinationArn?: string; /** - *

                                            The service to use for the health checks.

                                            + *

                                            A single-line format of the access logs of data, as specified by selected + * $context variables. The format must include at least + * $context.requestId.

                                            */ - HealthCheckType?: string; + Format?: string; +} + +export namespace AwsApiGatewayAccessLogSettings { + export const filterSensitiveLog = (obj: AwsApiGatewayAccessLogSettings): any => ({ + ...obj, + }); +} +/** + *

                                            Contains information about settings for canary deployment in the stage.

                                            + */ +export interface AwsApiGatewayCanarySettings { /** - *

                                            The list of load balancers associated with the group.

                                            + *

                                            The deployment identifier for the canary deployment.

                                            */ - LoadBalancerNames?: string[]; + DeploymentId?: string; /** - *

                                            The datetime when the auto scaling group was created.

                                            + *

                                            The percentage of traffic that is diverted to a canary deployment.

                                            */ - CreatedTime?: string; + PercentTraffic?: number; /** - *

                                            The name of the launch configuration.

                                            + *

                                            Indicates whether the canary deployment uses the stage cache.

                                            */ - LaunchConfigurationName?: string; + UseStageCache?: boolean; + + /** + *

                                            Stage variables that are overridden in the canary release deployment. The variables + * include new stage variables that are introduced in the canary.

                                            + *

                                            Each variable is represented as a string-to-string map between the stage variable name + * and the variable value.

                                            + */ + StageVariableOverrides?: { [key: string]: string }; } -export namespace AwsAutoScalingAutoScalingGroupDetails { - export const filterSensitiveLog = (obj: AwsAutoScalingAutoScalingGroupDetails): any => ({ +export namespace AwsApiGatewayCanarySettings { + export const filterSensitiveLog = (obj: AwsApiGatewayCanarySettings): any => ({ ...obj, }); } /** - *

                                            A complex type that controls whether access logs are written for the distribution.

                                            + *

                                            Contains information about the endpoints for the API.

                                            */ -export interface AwsCloudFrontDistributionLogging { +export interface AwsApiGatewayEndpointConfiguration { /** - *

                                            With this field, you can enable or disable the selected distribution.

                                            + *

                                            A list of endpoint types for the REST API.

                                            + *

                                            For an edge-optimized API, the endpoint type is EDGE. For a Regional API, + * the endpoint type is REGIONAL. For a private API, the endpoint type is + * PRIVATE.

                                            */ - Enabled?: boolean; + Types?: string[]; +} + +export namespace AwsApiGatewayEndpointConfiguration { + export const filterSensitiveLog = (obj: AwsApiGatewayEndpointConfiguration): any => ({ + ...obj, + }); +} +/** + *

                                            Defines settings for a method for the stage.

                                            + */ +export interface AwsApiGatewayMethodSettings { /** - *

                                            An optional string that you want CloudFront to use as a prefix to the access log - * filenames for this distribution.

                                            + *

                                            The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to + * multiple methods.

                                            */ - Prefix?: string; + HttpMethod?: string; /** - *

                                            Specifies whether you want CloudFront to include cookies in access logs.

                                            + *

                                            Indicates whether authorization is required for a cache invalidation request.

                                            */ - IncludeCookies?: boolean; + RequireAuthorizationForCacheControl?: boolean; /** - *

                                            The Amazon S3 bucket to store the access logs in.

                                            + *

                                            The resource path for this method. Forward slashes (/) are encoded as ~1 . The initial + * slash must include a forward slash.

                                            + *

                                            For example, the path value /resource/subresource must be encoded as + * /~1resource~1subresource.

                                            + *

                                            To specify the root path, use only a slash (/). You can use an asterisk (*) as a + * wildcard to apply method settings to multiple methods.

                                            */ - Bucket?: string; + ResourcePath?: string; + + /** + *

                                            The logging level for this method. The logging level affects the log entries that are + * pushed to CloudWatch Logs.

                                            + *

                                            If the logging level is ERROR, then the logs only include error-level + * entries.

                                            + *

                                            If the logging level is INFO, then the logs include both ERROR + * events and extra informational events.

                                            + *

                                            Valid values: OFF | ERROR | INFO + *

                                            + */ + LoggingLevel?: string; + + /** + *

                                            Indicates whether responses are cached and returned for requests. For responses to be + * cached, a cache cluster must be enabled on the stage.

                                            + */ + CachingEnabled?: boolean; + + /** + *

                                            Indicates whether data trace logging is enabled for the method. Data trace logging + * affects the log entries that are pushed to CloudWatch Logs.

                                            + */ + DataTraceEnabled?: boolean; + + /** + *

                                            The throttling burst limit for the method.

                                            + */ + ThrottlingBurstLimit?: number; + + /** + *

                                            The throttling rate limit for the method.

                                            + */ + ThrottlingRateLimit?: number; + + /** + *

                                            Indicates how to handle unauthorized requests for cache invalidation.

                                            + *

                                            Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | + * SUCCEED_WITHOUT_RESPONSE_HEADER + *

                                            + */ + UnauthorizedCacheControlHeaderStrategy?: string; + + /** + *

                                            Indicates whether the cached responses are encrypted.

                                            + */ + CacheDataEncrypted?: boolean; + + /** + *

                                            Indicates whether CloudWatch metrics are enabled for the method.

                                            + */ + MetricsEnabled?: boolean; + + /** + *

                                            Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, + * the longer the response is cached.

                                            + */ + CacheTtlInSeconds?: number; } -export namespace AwsCloudFrontDistributionLogging { - export const filterSensitiveLog = (obj: AwsCloudFrontDistributionLogging): any => ({ +export namespace AwsApiGatewayMethodSettings { + export const filterSensitiveLog = (obj: AwsApiGatewayMethodSettings): any => ({ ...obj, }); } /** - *

                                            A complex type that describes the Amazon S3 bucket, HTTP server (for example, a web - * server), Amazon Elemental MediaStore, or other server from which CloudFront gets your - * files.

                                            + *

                                            contains information about a REST API in version 1 of Amazon API Gateway.

                                            */ -export interface AwsCloudFrontDistributionOriginItem { +export interface AwsApiGatewayRestApiDetails { /** - *

                                            A unique identifier for the origin or origin group.

                                            + *

                                            A description of the REST API.

                                            + */ + Description?: string; + + /** + *

                                            The list of binary media types supported by the REST API.

                                            + */ + BinaryMediaTypes?: string[]; + + /** + *

                                            The source of the API key for metering requests according to a usage plan.

                                            + *

                                            + * HEADER indicates whether to read the API key from the X-API-Key header of a + * request.

                                            + *

                                            + * AUTHORIZER indicates whether to read the API key from the + * UsageIdentifierKey from a custom authorizer.

                                            + */ + ApiKeySource?: string; + + /** + *

                                            The minimum size in bytes of a payload before compression is enabled.

                                            + *

                                            If null, then compression is disabled.

                                            + *

                                            If 0, then all payloads are compressed.

                                            + */ + MinimumCompressionSize?: number; + + /** + *

                                            The identifier of the REST API.

                                            */ Id?: string; /** - *

                                            Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin.

                                            + *

                                            The name of the REST API.

                                            */ - DomainName?: string; + Name?: string; /** - *

                                            An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.

                                            + *

                                            The endpoint configuration of the REST API.

                                            */ - OriginPath?: string; -} + EndpointConfiguration?: AwsApiGatewayEndpointConfiguration; -export namespace AwsCloudFrontDistributionOriginItem { - export const filterSensitiveLog = (obj: AwsCloudFrontDistributionOriginItem): any => ({ - ...obj, - }); -} + /** + *

                                            The version identifier for the REST API.

                                            + */ + Version?: string; -/** - *

                                            A complex type that contains information about origins and origin groups for this distribution.

                                            - */ -export interface AwsCloudFrontDistributionOrigins { /** - *

                                            A complex type that contains origins or origin groups for this distribution.

                                            + *

                                            Indicates when the API was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Items?: AwsCloudFrontDistributionOriginItem[]; + CreatedDate?: string; } -export namespace AwsCloudFrontDistributionOrigins { - export const filterSensitiveLog = (obj: AwsCloudFrontDistributionOrigins): any => ({ +export namespace AwsApiGatewayRestApiDetails { + export const filterSensitiveLog = (obj: AwsApiGatewayRestApiDetails): any => ({ ...obj, }); } /** - *

                                            A distribution configuration.

                                            + *

                                            Provides information about a version 1 Amazon API Gateway stage.

                                            */ -export interface AwsCloudFrontDistributionDetails { +export interface AwsApiGatewayStageDetails { /** - *

                                            The date and time that the distribution was last modified.

                                            + *

                                            Defines the method settings for the stage.

                                            */ - LastModifiedTime?: string; + MethodSettings?: AwsApiGatewayMethodSettings[]; /** - *

                                            A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

                                            + *

                                            Information about settings for canary deployment in the stage.

                                            */ - WebAclId?: string; + CanarySettings?: AwsApiGatewayCanarySettings; /** - *

                                            The domain name corresponding to the distribution.

                                            + *

                                            If a cache cluster is enabled, the status of the cache cluster.

                                            */ - DomainName?: string; + CacheClusterStatus?: string; /** - *

                                            The entity tag is a hash of the object.

                                            + *

                                            Indicates when the stage was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - ETag?: string; + CreatedDate?: string; /** - *

                                            Indicates the current status of the distribution.

                                            + *

                                            Indicates when the stage was most recently updated.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Status?: string; + LastUpdatedDate?: string; /** - *

                                            A complex type that controls whether access logs are written for the distribution.

                                            + *

                                            The ARN of the web ACL associated with the stage.

                                            */ - Logging?: AwsCloudFrontDistributionLogging; + WebAclArn?: string; /** - *

                                            A complex type that contains information about origins for this distribution.

                                            + *

                                            The name of the stage.

                                            */ - Origins?: AwsCloudFrontDistributionOrigins; -} + StageName?: string; -export namespace AwsCloudFrontDistributionDetails { - export const filterSensitiveLog = (obj: AwsCloudFrontDistributionDetails): any => ({ - ...obj, - }); -} + /** + *

                                            If a cache cluster is enabled, the size of the cache cluster.

                                            + */ + CacheClusterSize?: string; -/** - *

                                            The credentials for access to a private registry.

                                            - */ -export interface AwsCodeBuildProjectEnvironmentRegistryCredential { /** - *

                                            The service that created the credentials to access a private Docker registry.

                                            - *

                                            The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

                                            + *

                                            Settings for logging access for the stage.

                                            */ - CredentialProvider?: string; + AccessLogSettings?: AwsApiGatewayAccessLogSettings; /** - *

                                            The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets - * Manager.

                                            - * - *

                                            The credential can use the name of the credentials only if they exist in your current - * AWS Region.

                                            - *
                                            + *

                                            The version of the API documentation that is associated with the stage.

                                            */ - Credential?: string; -} + DocumentationVersion?: string; -export namespace AwsCodeBuildProjectEnvironmentRegistryCredential { - export const filterSensitiveLog = (obj: AwsCodeBuildProjectEnvironmentRegistryCredential): any => ({ - ...obj, - }); -} + /** + *

                                            Indicates whether active tracing with AWS X-Ray is enabled for the stage.

                                            + */ + TracingEnabled?: boolean; -/** - *

                                            Information about the build environment for this build project.

                                            - */ -export interface AwsCodeBuildProjectEnvironment { /** - *

                                            The certificate to use with this build project.

                                            + *

                                            The identifier of the deployment that the stage points to.

                                            */ - Certificate?: string; + DeploymentId?: string; /** - *

                                            The credentials for access to a private registry.

                                            + *

                                            A description of the stage.

                                            */ - RegistryCredential?: AwsCodeBuildProjectEnvironmentRegistryCredential; + Description?: string; /** - *

                                            The type of credentials AWS CodeBuild uses to pull images in your build.

                                            - *

                                            Valid values:

                                            + *

                                            The identifier of the client certificate for the stage.

                                            + */ + ClientCertificateId?: string; + + /** + *

                                            Indicates whether a cache cluster is enabled for the stage.

                                            + */ + CacheClusterEnabled?: boolean; + + /** + *

                                            A map that defines the stage variables for the stage.

                                            + *

                                            Variable names can have alphanumeric and underscore characters.

                                            + *

                                            Variable values can contain the following characters:

                                            *
                                              *
                                            • - *

                                              - * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This - * requires that you modify your ECR repository policy to trust the AWS CodeBuild - * service principal.

                                              + *

                                              Uppercase and lowercase letters

                                              *
                                            • *
                                            • - *

                                              - * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's - * service role.

                                              + *

                                              Numbers

                                              + *
                                            • + *
                                            • + *

                                              Special characters -._~:/?#&=,

                                              *
                                            • *
                                            - *

                                            When you use a cross-account or private registry image, you must use - * SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you - * must use CODEBUILD credentials.

                                            - */ - ImagePullCredentialsType?: string; - - /** - *

                                            The type of build environment to use for related builds.

                                            - *

                                            The environment type ARM_CONTAINER is available only in Regions US East (N. - * Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia - * Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).

                                            - *

                                            The environment type LINUX_CONTAINER with compute type - * build.general1.2xlarge is available only in Regions US East (N. Virginia), US East (N. - * Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe - * (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia - * Pacific (Sydney), China (Beijing), and China (Ningxia).

                                            - *

                                            The environment type LINUX_GPU_CONTAINER is available only in Regions US - * East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe - * (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), - * Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China - * (Ningxia).

                                            - *

                                            Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | - * LINUX_GPU_CONTAINER | ARM_CONTAINER - *

                                            */ - Type?: string; + Variables?: { [key: string]: string }; } -export namespace AwsCodeBuildProjectEnvironment { - export const filterSensitiveLog = (obj: AwsCodeBuildProjectEnvironment): any => ({ +export namespace AwsApiGatewayStageDetails { + export const filterSensitiveLog = (obj: AwsApiGatewayStageDetails): any => ({ ...obj, }); } /** - *

                                            Information about the build input source code for this build project.

                                            + *

                                            Contains the cross-origin resource sharing (CORS) configuration for the API. CORS is + * only supported for HTTP APIs.

                                            */ -export interface AwsCodeBuildProjectSource { +export interface AwsCorsConfiguration { /** - *

                                            Information about the location of the source code to be built.

                                            - *

                                            Valid values include:

                                            - *
                                              - *
                                            • - *

                                              For source code settings that are specified in the source action of a pipeline in - * AWS CodePipeline, location should not be specified. If it is specified, AWS - * CodePipeline ignores it. This is because AWS CodePipeline uses the settings in a - * pipeline's source action instead of this value.

                                              - *
                                            • - *
                                            • - *

                                              For source code in an AWS CodeCommit repository, the HTTPS clone URL to the - * repository that contains the source code and the build spec file (for example, - * https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name - * ).

                                              - *
                                            • - *
                                            • - *

                                              For source code in an S3 input bucket, one of the following.

                                              - *
                                                - *
                                              • - *

                                                The path to the ZIP file that contains the source code (for example, - * bucket-name/path/to/object-name.zip).

                                                - *
                                              • - *
                                              • - *

                                                The path to the folder that contains the source code (for example, - * bucket-name/path/to/source-code/folder/).

                                                - *
                                              • - *
                                              - *
                                            • - *
                                            • - *

                                              For source code in a GitHub repository, the HTTPS clone URL to the repository that - * contains the source and the build spec file.

                                              - *
                                            • - *
                                            • - *

                                              For source code in a Bitbucket repository, the HTTPS clone URL to the repository - * that contains the source and the build spec file.

                                              - *
                                            • - *
                                            + *

                                            The number of seconds for which the browser caches preflight request results.

                                            */ - Location?: string; + MaxAge?: number; /** - *

                                            Information about the Git clone depth for the build project.

                                            + *

                                            The allowed methods for CORS requests.

                                            */ - GitCloneDepth?: number; + AllowMethods?: string[]; /** - *

                                            The type of repository that contains the source code to be built. Valid values - * are:

                                            - *
                                              - *
                                            • - *

                                              - * BITBUCKET - The source code is in a Bitbucket repository.

                                              - *
                                            • - *
                                            • - *

                                              - * CODECOMMIT - The source code is in an AWS CodeCommit - * repository.

                                              - *
                                            • - *
                                            • - *

                                              - * CODEPIPELINE - The source code settings are specified in the source - * action of a pipeline in AWS CodePipeline.

                                              - *
                                            • - *
                                            • - *

                                              - * GITHUB - The source code is in a GitHub repository.

                                              - *
                                            • - *
                                            • - *

                                              - * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise - * repository.

                                              - *
                                            • - *
                                            • - *

                                              - * NO_SOURCE - The project does not have input source code.

                                              - *
                                            • - *
                                            • - *

                                              - * S3 - The source code is in an S3 input bucket.

                                              - *
                                            • - *
                                            + *

                                            The exposed headers for CORS requests.

                                            */ - Type?: string; + ExposeHeaders?: string[]; /** - *

                                            Whether to ignore SSL warnings while connecting to the project source code.

                                            + *

                                            Indicates whether the CORS request includes credentials.

                                            */ - InsecureSsl?: boolean; + AllowCredentials?: boolean; + + /** + *

                                            The allowed headers for CORS requests.

                                            + */ + AllowHeaders?: string[]; + + /** + *

                                            The allowed origins for CORS requests.

                                            + */ + AllowOrigins?: string[]; } -export namespace AwsCodeBuildProjectSource { - export const filterSensitiveLog = (obj: AwsCodeBuildProjectSource): any => ({ +export namespace AwsCorsConfiguration { + export const filterSensitiveLog = (obj: AwsCorsConfiguration): any => ({ ...obj, }); } /** - *

                                            Information about the VPC configuration that AWS CodeBuild accesses.

                                            + *

                                            Contains information about a version 2 API in Amazon API Gateway.

                                            */ -export interface AwsCodeBuildProjectVpcConfig { +export interface AwsApiGatewayV2ApiDetails { /** - *

                                            A list of one or more subnet IDs in your Amazon VPC.

                                            + *

                                            The name of the API.

                                            */ - Subnets?: string[]; + Name?: string; /** - *

                                            A list of one or more security group IDs in your Amazon VPC.

                                            + *

                                            The version identifier for the API.

                                            */ - SecurityGroupIds?: string[]; + Version?: string; /** - *

                                            The ID of the VPC.

                                            + *

                                            A cross-origin resource sharing (CORS) configuration. Supported only for HTTP + * APIs.

                                            */ - VpcId?: string; + CorsConfiguration?: AwsCorsConfiguration; + + /** + *

                                            The route selection expression for the API.

                                            + *

                                            For HTTP APIs, must be ${request.method} ${request.path}. This is the + * default value for HTTP APIs.

                                            + *

                                            For WebSocket APIs, there is no default value.

                                            + */ + RouteSelectionExpression?: string; + + /** + *

                                            Indicates when the API was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + CreatedDate?: string; + + /** + *

                                            The URI of the API.

                                            + *

                                            Uses the format + * + * .execute-api..amazonaws.com + *

                                            + *

                                            The stage name is typically appended to the URI to form a complete path to a deployed + * API stage.

                                            + */ + ApiEndpoint?: string; + + /** + *

                                            An API key selection expression. Supported only for WebSocket APIs.

                                            + */ + ApiKeySelectionExpression?: string; + + /** + *

                                            A description of the API.

                                            + */ + Description?: string; + + /** + *

                                            The API protocol for the API.

                                            + *

                                            Valid values: WEBSOCKET | HTTP + *

                                            + */ + ProtocolType?: string; + + /** + *

                                            The identifier of the API.

                                            + */ + ApiId?: string; } -export namespace AwsCodeBuildProjectVpcConfig { - export const filterSensitiveLog = (obj: AwsCodeBuildProjectVpcConfig): any => ({ +export namespace AwsApiGatewayV2ApiDetails { + export const filterSensitiveLog = (obj: AwsApiGatewayV2ApiDetails): any => ({ ...obj, }); } /** - *

                                            Information about an AWS CodeBuild project.

                                            + *

                                            Contains route settings for a stage.

                                            */ -export interface AwsCodeBuildProjectDetails { - /** - *

                                            Information about the build environment for this build project.

                                            - */ - Environment?: AwsCodeBuildProjectEnvironment; - +export interface AwsApiGatewayV2RouteSettings { /** - *

                                            The name of the build project.

                                            + *

                                            The throttling rate limit.

                                            */ - Name?: string; + ThrottlingRateLimit?: number; /** - *

                                            Information about the build input source code for this build project.

                                            + *

                                            Indicates whether data trace logging is enabled. Data trace logging affects the log + * entries that are pushed to CloudWatch Logs. Supported only for WebSocket APIs.

                                            */ - Source?: AwsCodeBuildProjectSource; + DataTraceEnabled?: boolean; /** - *

                                            The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS - * services on behalf of the AWS account.

                                            + *

                                            Indicates whether detailed metrics are enabled.

                                            */ - ServiceRole?: string; + DetailedMetricsEnabled?: boolean; /** - *

                                            The AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the - * build output artifacts.

                                            - *

                                            You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the - * CMK alias (using the format alias/alias-name).

                                            + *

                                            The throttling burst limit.

                                            */ - EncryptionKey?: string; + ThrottlingBurstLimit?: number; /** - *

                                            Information about the VPC configuration that AWS CodeBuild accesses.

                                            + *

                                            The logging level. The logging level affects the log entries that are pushed to + * CloudWatch Logs. Supported only for WebSocket APIs.

                                            + *

                                            If the logging level is ERROR, then the logs only include error-level + * entries.

                                            + *

                                            If the logging level is INFO, then the logs include both ERROR + * events and extra informational events.

                                            + *

                                            Valid values: OFF | ERROR | INFO + *

                                            */ - VpcConfig?: AwsCodeBuildProjectVpcConfig; + LoggingLevel?: string; } -export namespace AwsCodeBuildProjectDetails { - export const filterSensitiveLog = (obj: AwsCodeBuildProjectDetails): any => ({ +export namespace AwsApiGatewayV2RouteSettings { + export const filterSensitiveLog = (obj: AwsApiGatewayV2RouteSettings): any => ({ ...obj, }); } /** - *

                                            The details of an Amazon EC2 instance.

                                            + *

                                            Contains information about a version 2 stage for Amazon API Gateway.

                                            */ -export interface AwsEc2InstanceDetails { +export interface AwsApiGatewayV2StageDetails { /** - *

                                            The date/time the instance was launched.

                                            + *

                                            Indicates when the stage was most recently updated.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - LaunchedAt?: string; + LastUpdatedDate?: string; /** - *

                                            The instance type of the instance.

                                            + *

                                            The identifier of the deployment that the stage is associated with.

                                            */ - Type?: string; + DeploymentId?: string; /** - *

                                            The IPv6 addresses associated with the instance.

                                            + *

                                            Indicates whether the stage is managed by API Gateway.

                                            */ - IpV6Addresses?: string[]; + ApiGatewayManaged?: boolean; /** - *

                                            The Amazon Machine Image (AMI) ID of the instance.

                                            + *

                                            The route settings for the stage.

                                            */ - ImageId?: string; + RouteSettings?: AwsApiGatewayV2RouteSettings; /** - *

                                            The identifier of the VPC that the instance was launched in.

                                            + *

                                            The status of the last deployment of a stage. Supported only if the stage has automatic + * deployment enabled.

                                            */ - VpcId?: string; + LastDeploymentStatusMessage?: string; /** - *

                                            The IPv4 addresses associated with the instance.

                                            + *

                                            A map that defines the stage variables for the stage.

                                            + *

                                            Variable names can have alphanumeric and underscore characters.

                                            + *

                                            Variable values can contain the following characters:

                                            + *
                                              + *
                                            • + *

                                              Uppercase and lowercase letters

                                              + *
                                            • + *
                                            • + *

                                              Numbers

                                              + *
                                            • + *
                                            • + *

                                              Special characters -._~:/?#&=,

                                              + *
                                            • + *
                                            */ - IpV4Addresses?: string[]; + StageVariables?: { [key: string]: string }; /** - *

                                            The key name associated with the instance.

                                            + *

                                            The name of the stage.

                                            */ - KeyName?: string; + StageName?: string; /** - *

                                            The IAM profile ARN of the instance.

                                            + *

                                            Information about settings for logging access for the stage.

                                            */ - IamInstanceProfileArn?: string; + AccessLogSettings?: AwsApiGatewayAccessLogSettings; /** - *

                                            The identifier of the subnet that the instance was launched in.

                                            + *

                                            Indicates when the stage was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - SubnetId?: string; -} + CreatedDate?: string; -export namespace AwsEc2InstanceDetails { - export const filterSensitiveLog = (obj: AwsEc2InstanceDetails): any => ({ - ...obj, - }); -} + /** + *

                                            Default route settings for the stage.

                                            + */ + DefaultRouteSettings?: AwsApiGatewayV2RouteSettings; -/** - *

                                            Information about the network interface attachment.

                                            - */ -export interface AwsEc2NetworkInterfaceAttachment { /** - *

                                            The attachment state.

                                            - *

                                            Valid values: attaching | attached | detaching | - * detached - *

                                            + *

                                            The description of the stage.

                                            */ - Status?: string; + Description?: string; /** - *

                                            The AWS account ID of the owner of the instance.

                                            + *

                                            Indicates whether updates to an API automatically trigger a new deployment.

                                            */ - InstanceOwnerId?: string; + AutoDeploy?: boolean; +} + +export namespace AwsApiGatewayV2StageDetails { + export const filterSensitiveLog = (obj: AwsApiGatewayV2StageDetails): any => ({ + ...obj, + }); +} +/** + *

                                            Provides details about an auto scaling group.

                                            + */ +export interface AwsAutoScalingAutoScalingGroupDetails { /** - *

                                            The timestamp indicating when the attachment initiated.

                                            + *

                                            The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it checks the + * health status of an EC2 instance that has come into service.

                                            */ - AttachTime?: string; + HealthCheckGracePeriod?: number; /** - *

                                            The identifier of the network interface attachment

                                            + *

                                            The list of load balancers associated with the group.

                                            */ - AttachmentId?: string; + LoadBalancerNames?: string[]; /** - *

                                            Indicates whether the network interface is deleted when the instance is - * terminated.

                                            + *

                                            The name of the launch configuration.

                                            */ - DeleteOnTermination?: boolean; + LaunchConfigurationName?: string; /** - *

                                            The device index of the network interface attachment on the instance.

                                            + *

                                            Indicates when the auto scaling group was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - DeviceIndex?: number; + CreatedTime?: string; /** - *

                                            The ID of the instance.

                                            + *

                                            The service to use for the health checks.

                                            */ - InstanceId?: string; + HealthCheckType?: string; } -export namespace AwsEc2NetworkInterfaceAttachment { - export const filterSensitiveLog = (obj: AwsEc2NetworkInterfaceAttachment): any => ({ +export namespace AwsAutoScalingAutoScalingGroupDetails { + export const filterSensitiveLog = (obj: AwsAutoScalingAutoScalingGroupDetails): any => ({ ...obj, }); } /** - *

                                            A security group associated with the network interface.

                                            + *

                                            Provides details about the CNAME record that is added to the DNS database for domain + * validation.

                                            */ -export interface AwsEc2NetworkInterfaceSecurityGroup { +export interface AwsCertificateManagerCertificateResourceRecord { /** - *

                                            The name of the security group.

                                            + *

                                            The type of resource.

                                            */ - GroupName?: string; + Type?: string; /** - *

                                            The ID of the security group.

                                            + *

                                            The value of the resource.

                                            */ - GroupId?: string; + Value?: string; + + /** + *

                                            The name of the resource.

                                            + */ + Name?: string; } -export namespace AwsEc2NetworkInterfaceSecurityGroup { - export const filterSensitiveLog = (obj: AwsEc2NetworkInterfaceSecurityGroup): any => ({ +export namespace AwsCertificateManagerCertificateResourceRecord { + export const filterSensitiveLog = (obj: AwsCertificateManagerCertificateResourceRecord): any => ({ ...obj, }); } /** - *

                                            Details about the network interface

                                            + *

                                            Contains information about one of the following:

                                            + *
                                              + *
                                            • + *

                                              The initial validation of each domain name that occurs as a result of the + * RequestCertificate request

                                              + *
                                            • + *
                                            • + *

                                              The validation of each domain name in the certificate, as it pertains to AWS + * Certificate Manager managed renewal

                                              + *
                                            • + *
                                            */ -export interface AwsEc2NetworkInterfaceDetails { +export interface AwsCertificateManagerCertificateDomainValidationOption { /** - *

                                            The network interface attachment.

                                            + *

                                            The validation status of the domain name.

                                            */ - Attachment?: AwsEc2NetworkInterfaceAttachment; + ValidationStatus?: string; /** - *

                                            The ID of the network interface.

                                            + *

                                            The CNAME record that is added to the DNS database for domain validation.

                                            */ - NetworkInterfaceId?: string; + ResourceRecord?: AwsCertificateManagerCertificateResourceRecord; /** - *

                                            Indicates whether traffic to or from the instance is validated.

                                            + *

                                            A list of email addresses that AWS Certificate Manager uses to send domain validation + * emails.

                                            */ - SourceDestCheck?: boolean; + ValidationEmails?: string[]; /** - *

                                            Security groups for the network interface.

                                            + *

                                            The domain name that AWS Certificate Manager uses to send domain validation + * emails.

                                            */ - SecurityGroups?: AwsEc2NetworkInterfaceSecurityGroup[]; + ValidationDomain?: string; + + /** + *

                                            The method used to validate the domain name.

                                            + */ + ValidationMethod?: string; + + /** + *

                                            A fully qualified domain name (FQDN) in the certificate.

                                            + */ + DomainName?: string; } -export namespace AwsEc2NetworkInterfaceDetails { - export const filterSensitiveLog = (obj: AwsEc2NetworkInterfaceDetails): any => ({ +export namespace AwsCertificateManagerCertificateDomainValidationOption { + export const filterSensitiveLog = (obj: AwsCertificateManagerCertificateDomainValidationOption): any => ({ ...obj, }); } /** - *

                                            A range of IPv4 addresses.

                                            + *

                                            Contains information about an extended key usage X.509 v3 extension object.

                                            */ -export interface AwsEc2SecurityGroupIpRange { +export interface AwsCertificateManagerCertificateExtendedKeyUsage { /** - *

                                            The IPv4 CIDR range. You can specify either a CIDR range or a source security group, but - * not both. To specify a single IPv4 address, use the /32 prefix length.

                                            + *

                                            The name of an extension value. Indicates the purpose for which the certificate public + * key can be used.

                                            */ - CidrIp?: string; + Name?: string; + + /** + *

                                            An object identifier (OID) for the extension value.

                                            + *

                                            The format is numbers separated by periods.

                                            + */ + OId?: string; } -export namespace AwsEc2SecurityGroupIpRange { - export const filterSensitiveLog = (obj: AwsEc2SecurityGroupIpRange): any => ({ +export namespace AwsCertificateManagerCertificateExtendedKeyUsage { + export const filterSensitiveLog = (obj: AwsCertificateManagerCertificateExtendedKeyUsage): any => ({ ...obj, }); } /** - *

                                            A range of IPv6 addresses.

                                            + *

                                            Contains information about a key usage X.509 v3 extension object.

                                            */ -export interface AwsEc2SecurityGroupIpv6Range { +export interface AwsCertificateManagerCertificateKeyUsage { /** - *

                                            The IPv6 CIDR range. You can specify either a CIDR range or a source security group, but - * not both. To specify a single IPv6 address, use the /128 prefix length.

                                            + *

                                            The key usage extension name.

                                            */ - CidrIpv6?: string; + Name?: string; } -export namespace AwsEc2SecurityGroupIpv6Range { - export const filterSensitiveLog = (obj: AwsEc2SecurityGroupIpv6Range): any => ({ +export namespace AwsCertificateManagerCertificateKeyUsage { + export const filterSensitiveLog = (obj: AwsCertificateManagerCertificateKeyUsage): any => ({ ...obj, }); } /** - *

                                            A prefix list ID.

                                            + *

                                            Contains other options for the certificate.

                                            */ -export interface AwsEc2SecurityGroupPrefixListId { +export interface AwsCertificateManagerCertificateOptions { /** - *

                                            The ID of the prefix.

                                            + *

                                            Whether to add the certificate to a transparency log.

                                            + *

                                            Valid values: DISABLED | ENABLED + *

                                            */ - PrefixListId?: string; + CertificateTransparencyLoggingPreference?: string; } -export namespace AwsEc2SecurityGroupPrefixListId { - export const filterSensitiveLog = (obj: AwsEc2SecurityGroupPrefixListId): any => ({ +export namespace AwsCertificateManagerCertificateOptions { + export const filterSensitiveLog = (obj: AwsCertificateManagerCertificateOptions): any => ({ ...obj, }); } /** - *

                                            A relationship between a security group and a user.

                                            + *

                                            Contains information about the AWS Certificate Manager managed renewal for an + * AMAZON_ISSUED certificate.

                                            */ -export interface AwsEc2SecurityGroupUserIdGroupPair { - /** - *

                                            The status of a VPC peering connection, if applicable.

                                            - */ - PeeringStatus?: string; - +export interface AwsCertificateManagerCertificateRenewalSummary { /** - *

                                            The ID of the VPC for the referenced security group, if applicable.

                                            - */ - VpcId?: string; - - /** - *

                                            The ID of the security group.

                                            + *

                                            The status of the AWS Certificate Manager managed renewal of the certificate.

                                            + *

                                            Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | + * SUCCESS | FAILED + *

                                            */ - GroupId?: string; + RenewalStatus?: string; /** - *

                                            The ID of the VPC peering connection, if applicable.

                                            + *

                                            Information about the validation of each domain name in the certificate, as it pertains + * to AWS Certificate Manager managed renewal. Provided only when the certificate type is + * AMAZON_ISSUED.

                                            */ - VpcPeeringConnectionId?: string; + DomainValidationOptions?: AwsCertificateManagerCertificateDomainValidationOption[]; /** - *

                                            The ID of an AWS account.

                                            - *

                                            For a referenced security group in another VPC, the account ID of the referenced - * security group is returned in the response. If the referenced security group is deleted, - * this value is not returned.

                                            - *

                                            [EC2-Classic] Required when adding or removing rules that reference a security group in - * another AWS.

                                            + *

                                            The reason that a renewal request was unsuccessful.

                                            + *

                                            Valid values: NO_AVAILABLE_CONTACTS | + * ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED | + * INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | + * CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN + * | PCA_INVALID_STATE | PCA_REQUEST_FAILED | + * PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | + * PCA_INVALID_ARGS | PCA_INVALID_DURATION | + * PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER + *

                                            */ - UserId?: string; + RenewalStatusReason?: string; /** - *

                                            The name of the security group.

                                            + *

                                            Indicates when the renewal summary was last updated.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - GroupName?: string; + UpdatedAt?: string; } -export namespace AwsEc2SecurityGroupUserIdGroupPair { - export const filterSensitiveLog = (obj: AwsEc2SecurityGroupUserIdGroupPair): any => ({ +export namespace AwsCertificateManagerCertificateRenewalSummary { + export const filterSensitiveLog = (obj: AwsCertificateManagerCertificateRenewalSummary): any => ({ ...obj, }); } /** - *

                                            An IP permission for an EC2 security group.

                                            + *

                                            Provides details about an AWS Certificate Manager certificate.

                                            */ -export interface AwsEc2SecurityGroupIpPermission { +export interface AwsCertificateManagerCertificateDetails { /** - *

                                            [VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS - * service to access through a VPC endpoint from instances associated with the security - * group.

                                            - */ - PrefixListIds?: AwsEc2SecurityGroupPrefixListId[]; - - /** - *

                                            The IPv6 ranges.

                                            + *

                                            The algorithm that was used to generate the public-private key pair.

                                            + *

                                            Valid values: RSA_2048 | RSA_1024 | RSA_4096 | + * EC_prime256v1 | EC_secp384r1 | + * EC_secp521r1 + *

                                            */ - Ipv6Ranges?: AwsEc2SecurityGroupIpv6Range[]; + KeyAlgorithm?: string; /** - *

                                            The security group and AWS account ID pairs.

                                            + *

                                            The ARN of the private certificate authority (CA) that will be used to issue the + * certificate.

                                            */ - UserIdGroupPairs?: AwsEc2SecurityGroupUserIdGroupPair[]; + CertificateAuthorityArn?: string; /** - *

                                            The IPv4 ranges.

                                            + *

                                            Indicates when the certificate was imported. Provided if the certificate type is + * IMPORTED.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - IpRanges?: AwsEc2SecurityGroupIpRange[]; + ImportedAt?: string; /** - *

                                            The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type - * number.

                                            - *

                                            A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you - * must specify all codes.

                                            + *

                                            The source of the certificate. For certificates that AWS Certificate Manager provides, + * Type is AMAZON_ISSUED. For certificates that are imported with + * ImportCertificate, Type is IMPORTED.

                                            + *

                                            Valid values: IMPORTED | AMAZON_ISSUED | + * PRIVATE + *

                                            */ - FromPort?: number; + Type?: string; /** - *

                                            The IP protocol name (tcp, udp, icmp, - * icmpv6) or number.

                                            - *

                                            [VPC only] Use -1 to specify all protocols.

                                            - *

                                            When authorizing security group rules, specifying -1 or a protocol number other than - * tcp, udp, icmp, or icmpv6 allows - * traffic on all ports, regardless of any port range you specify.

                                            - *

                                            For tcp, udp, and icmp, you must specify a port - * range.

                                            - *

                                            For icmpv6, the port range is optional. If you omit the port range, traffic - * for all types and codes is allowed.

                                            + *

                                            Information about the status of the AWS Certificate Manager managed renewal for the + * certificate. Provided only when the certificate type is AMAZON_ISSUED.

                                            */ - IpProtocol?: string; + RenewalSummary?: AwsCertificateManagerCertificateRenewalSummary; /** - *

                                            The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.

                                            - *

                                            A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you - * must specify all codes.

                                            + *

                                            For a failed certificate request, the reason for the failure.

                                            + *

                                            Valid values: NO_AVAILABLE_CONTACTS | + * ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED | + * INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | + * CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN + * | PCA_INVALID_STATE | PCA_REQUEST_FAILED | + * PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | + * PCA_INVALID_ARGS | PCA_INVALID_DURATION | + * PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER + *

                                            */ - ToPort?: number; -} - -export namespace AwsEc2SecurityGroupIpPermission { - export const filterSensitiveLog = (obj: AwsEc2SecurityGroupIpPermission): any => ({ - ...obj, - }); -} + FailureReason?: string; -/** - *

                                            Details about an EC2 security group.

                                            - */ -export interface AwsEc2SecurityGroupDetails { /** - *

                                            The inbound rules associated with the security group.

                                            + *

                                            A list of key usage X.509 v3 extension objects.

                                            */ - IpPermissions?: AwsEc2SecurityGroupIpPermission[]; + KeyUsages?: AwsCertificateManagerCertificateKeyUsage[]; /** - *

                                            The AWS account ID of the owner of the security group.

                                            + *

                                            One or more domain names (subject alternative names) included in the certificate. This + * list contains the domain names that are bound to the public key that is contained in the + * certificate.

                                            + *

                                            The subject alternative names include the canonical domain name (CN) of the certificate + * and additional domain names that can be used to connect to the website.

                                            */ - OwnerId?: string; + SubjectAlternativeNames?: string[]; /** - *

                                            The name of the security group.

                                            + *

                                            Contains information about the initial validation of each domain name that occurs as a + * result of the RequestCertificate request.

                                            + *

                                            Only provided if the certificate type is AMAZON_ISSUED.

                                            */ - GroupName?: string; + DomainValidationOptions?: AwsCertificateManagerCertificateDomainValidationOption[]; /** - *

                                            [VPC only] The ID of the VPC for the security group.

                                            + *

                                            The list of ARNs for the AWS resources that use the certificate.

                                            */ - VpcId?: string; + InUseBy?: string[]; /** - *

                                            The ID of the security group.

                                            + *

                                            The serial number of the certificate.

                                            */ - GroupId?: string; + Serial?: string; /** - *

                                            [VPC only] The outbound rules associated with the security group.

                                            + *

                                            The fully qualified domain name (FQDN), such as www.example.com, that is secured by the + * certificate.

                                            */ - IpPermissionsEgress?: AwsEc2SecurityGroupIpPermission[]; -} - -export namespace AwsEc2SecurityGroupDetails { - export const filterSensitiveLog = (obj: AwsEc2SecurityGroupDetails): any => ({ - ...obj, - }); -} + DomainName?: string; -/** - *

                                            An attachment to an AWS EC2 volume.

                                            - */ -export interface AwsEc2VolumeAttachment { /** - *

                                            The identifier of the EC2 instance.

                                            + *

                                            Indicates when the certificate was issued. Provided if the certificate type is + * AMAZON_ISSUED.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - InstanceId?: string; + IssuedAt?: string; /** - *

                                            The attachment state of the volume.

                                            + *

                                            Provides a value that specifies whether to add the certificate to a transparency + * log.

                                            */ - Status?: string; + Options?: AwsCertificateManagerCertificateOptions; /** - *

                                            The datetime when the attachment initiated.

                                            + *

                                            Indicates when the certificate was requested.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - AttachTime?: string; + CreatedAt?: string; /** - *

                                            Whether the EBS volume is deleted when the EC2 instance is terminated.

                                            + *

                                            The time before which the certificate is not valid.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - DeleteOnTermination?: boolean; -} - -export namespace AwsEc2VolumeAttachment { - export const filterSensitiveLog = (obj: AwsEc2VolumeAttachment): any => ({ - ...obj, - }); -} + NotBefore?: string; -/** - *

                                            Details about an EC2 volume.

                                            - */ -export interface AwsEc2VolumeDetails { /** - *

                                            The volume attachments.

                                            + *

                                            The name of the certificate authority that issued and signed the certificate.

                                            */ - Attachments?: AwsEc2VolumeAttachment[]; + Issuer?: string; /** - *

                                            The snapshot from which the volume was created.

                                            + *

                                            The status of the certificate.

                                            + *

                                            Valid values: PENDING_VALIDATION | ISSUED | + * INACTIVE | EXPIRED | VALIDATION_TIMED_OUT | + * REVOKED | FAILED + *

                                            */ - SnapshotId?: string; + Status?: string; /** - *

                                            The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was - * used to protect the volume encryption key for the volume.

                                            + *

                                            The algorithm that was used to sign the certificate.

                                            */ - KmsKeyId?: string; + SignatureAlgorithm?: string; /** - *

                                            The volume state.

                                            + *

                                            The name of the entity that is associated with the public key contained in the + * certificate.

                                            */ - Status?: string; + Subject?: string; /** - *

                                            Whether the volume is encrypted.

                                            + *

                                            Whether the certificate is eligible for renewal.

                                            + *

                                            Valid values: ELIGIBLE | INELIGIBLE + *

                                            */ - Encrypted?: boolean; + RenewalEligibility?: string; /** - *

                                            The datetime when the volume was created.

                                            + *

                                            The time after which the certificate becomes invalid.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - CreateTime?: string; + NotAfter?: string; /** - *

                                            The size of the volume, in GiBs.

                                            + *

                                            Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies + * a purpose for which the certificate public key can be used and consists of a name and an + * object identifier (OID).

                                            */ - Size?: number; + ExtendedKeyUsages?: AwsCertificateManagerCertificateExtendedKeyUsage[]; } -export namespace AwsEc2VolumeDetails { - export const filterSensitiveLog = (obj: AwsEc2VolumeDetails): any => ({ +export namespace AwsCertificateManagerCertificateDetails { + export const filterSensitiveLog = (obj: AwsCertificateManagerCertificateDetails): any => ({ ...obj, }); } /** - *

                                            An IPv4 CIDR block association.

                                            + *

                                            Information about a cache behavior for the distribution.

                                            */ -export interface CidrBlockAssociation { - /** - *

                                            The association ID for the IPv4 CIDR block.

                                            - */ - AssociationId?: string; - - /** - *

                                            The IPv4 CIDR block.

                                            - */ - CidrBlock?: string; - +export interface AwsCloudFrontDistributionCacheBehavior { /** - *

                                            Information about the state of the IPv4 CIDR block.

                                            + *

                                            The protocol that viewers can use to access the files in an origin. You can specify the + * following options:

                                            + *
                                              + *
                                            • + *

                                              + * allow-all - Viewers can use HTTP or HTTPS.

                                              + *
                                            • + *
                                            • + *

                                              + * redirect-to-https - CloudFront responds to HTTP requests with an HTTP + * status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then uses the + * new URL to resubmit.

                                              + *
                                            • + *
                                            • + *

                                              + * https-only - CloudFront responds to HTTP request with an HTTP status + * code of 403 (Forbidden).

                                              + *
                                            • + *
                                            */ - CidrBlockState?: string; + ViewerProtocolPolicy?: string; } -export namespace CidrBlockAssociation { - export const filterSensitiveLog = (obj: CidrBlockAssociation): any => ({ +export namespace AwsCloudFrontDistributionCacheBehavior { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionCacheBehavior): any => ({ ...obj, }); } /** - *

                                            An IPV6 CIDR block association.

                                            + *

                                            Provides information about caching for the distribution.

                                            */ -export interface Ipv6CidrBlockAssociation { +export interface AwsCloudFrontDistributionCacheBehaviors { /** - *

                                            The association ID for the IPv6 CIDR block.

                                            + *

                                            The cache behaviors for the distribution.

                                            */ - AssociationId?: string; + Items?: AwsCloudFrontDistributionCacheBehavior[]; +} - /** - *

                                            Information about the state of the CIDR block.

                                            - */ - CidrBlockState?: string; +export namespace AwsCloudFrontDistributionCacheBehaviors { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionCacheBehaviors): any => ({ + ...obj, + }); +} +/** + *

                                            Contains information about the default cache configuration for the distribution.

                                            + */ +export interface AwsCloudFrontDistributionDefaultCacheBehavior { /** - *

                                            The IPv6 CIDR block.

                                            + *

                                            The protocol that viewers can use to access the files in an origin. You can specify the + * following options:

                                            + *
                                              + *
                                            • + *

                                              + * allow-all - Viewers can use HTTP or HTTPS.

                                              + *
                                            • + *
                                            • + *

                                              + * redirect-to-https - CloudFront responds to HTTP requests with an HTTP + * status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then uses the + * new URL to resubmit.

                                              + *
                                            • + *
                                            • + *

                                              + * https-only - CloudFront responds to HTTP request with an HTTP status + * code of 403 (Forbidden).

                                              + *
                                            • + *
                                            */ - Ipv6CidrBlock?: string; + ViewerProtocolPolicy?: string; } -export namespace Ipv6CidrBlockAssociation { - export const filterSensitiveLog = (obj: Ipv6CidrBlockAssociation): any => ({ +export namespace AwsCloudFrontDistributionDefaultCacheBehavior { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionDefaultCacheBehavior): any => ({ ...obj, }); } /** - *

                                            Details about an EC2 VPC.

                                            + *

                                            A complex type that controls whether access logs are written for the distribution.

                                            */ -export interface AwsEc2VpcDetails { +export interface AwsCloudFrontDistributionLogging { /** - *

                                            The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options that are - * associated with the VPC. If the default options are associated with the VPC, then this is - * default.

                                            + *

                                            An optional string that you want CloudFront to use as a prefix to the access log + * filenames for this distribution.

                                            */ - DhcpOptionsId?: string; + Prefix?: string; /** - *

                                            Information about the IPv4 CIDR blocks associated with the VPC.

                                            + *

                                            With this field, you can enable or disable the selected distribution.

                                            */ - CidrBlockAssociationSet?: CidrBlockAssociation[]; + Enabled?: boolean; /** - *

                                            The current state of the VPC.

                                            + *

                                            The Amazon S3 bucket to store the access logs in.

                                            */ - State?: string; + Bucket?: string; /** - *

                                            Information about the IPv6 CIDR blocks associated with the VPC.

                                            + *

                                            Specifies whether you want CloudFront to include cookies in access logs.

                                            */ - Ipv6CidrBlockAssociationSet?: Ipv6CidrBlockAssociation[]; + IncludeCookies?: boolean; } -export namespace AwsEc2VpcDetails { - export const filterSensitiveLog = (obj: AwsEc2VpcDetails): any => ({ +export namespace AwsCloudFrontDistributionLogging { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionLogging): any => ({ ...obj, }); } /** - *

                                            Additional options for the domain endpoint, such as whether to require HTTPS for all - * traffic.

                                            + *

                                            The status codes that cause an origin group to fail over.

                                            */ -export interface AwsElasticsearchDomainDomainEndpointOptions { +export interface AwsCloudFrontDistributionOriginGroupFailoverStatusCodes { /** - *

                                            Whether to require that all traffic to the domain arrive over HTTPS.

                                            + *

                                            The list of status code values that can cause a failover to the next origin.

                                            */ - EnforceHTTPS?: boolean; + Items?: number[]; /** - *

                                            The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch - * domain.

                                            - *

                                            Valid values:

                                            - *
                                              - *
                                            • - *

                                              - * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher

                                              - *
                                            • - *
                                            • - *

                                              - * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2

                                              - *
                                            • - *
                                            + *

                                            The number of status codes that can cause a failover.

                                            */ - TLSSecurityPolicy?: string; + Quantity?: number; } -export namespace AwsElasticsearchDomainDomainEndpointOptions { - export const filterSensitiveLog = (obj: AwsElasticsearchDomainDomainEndpointOptions): any => ({ +export namespace AwsCloudFrontDistributionOriginGroupFailoverStatusCodes { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionOriginGroupFailoverStatusCodes): any => ({ ...obj, }); } /** - *

                                            Details about the configuration for encryption at rest.

                                            + *

                                            Provides information about when an origin group fails over.

                                            */ -export interface AwsElasticsearchDomainEncryptionAtRestOptions { +export interface AwsCloudFrontDistributionOriginGroupFailover { /** - *

                                            The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.

                                            + *

                                            Information about the status codes that cause an origin group to fail over.

                                            */ - KmsKeyId?: string; + StatusCodes?: AwsCloudFrontDistributionOriginGroupFailoverStatusCodes; +} + +export namespace AwsCloudFrontDistributionOriginGroupFailover { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionOriginGroupFailover): any => ({ + ...obj, + }); +} +/** + *

                                            Information about an origin group for the distribution.

                                            + */ +export interface AwsCloudFrontDistributionOriginGroup { /** - *

                                            Whether encryption at rest is enabled.

                                            + *

                                            Provides the criteria for an origin group to fail over.

                                            */ - Enabled?: boolean; + FailoverCriteria?: AwsCloudFrontDistributionOriginGroupFailover; } -export namespace AwsElasticsearchDomainEncryptionAtRestOptions { - export const filterSensitiveLog = (obj: AwsElasticsearchDomainEncryptionAtRestOptions): any => ({ +export namespace AwsCloudFrontDistributionOriginGroup { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionOriginGroup): any => ({ ...obj, }); } /** - *

                                            Details about the configuration for node-to-node encryption.

                                            + *

                                            Provides information about origin groups that are associated with the + * distribution.

                                            */ -export interface AwsElasticsearchDomainNodeToNodeEncryptionOptions { +export interface AwsCloudFrontDistributionOriginGroups { /** - *

                                            Whether node-to-node encryption is enabled.

                                            + *

                                            The list of origin groups.

                                            */ - Enabled?: boolean; + Items?: AwsCloudFrontDistributionOriginGroup[]; } -export namespace AwsElasticsearchDomainNodeToNodeEncryptionOptions { - export const filterSensitiveLog = (obj: AwsElasticsearchDomainNodeToNodeEncryptionOptions): any => ({ +export namespace AwsCloudFrontDistributionOriginGroups { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionOriginGroups): any => ({ ...obj, }); } /** - *

                                            Information that Amazon ES derives based on VPCOptions for the - * domain.

                                            + *

                                            Information about an origin that is an S3 bucket that is not configured with static + * website hosting.

                                            */ -export interface AwsElasticsearchDomainVPCOptions { +export interface AwsCloudFrontDistributionOriginS3OriginConfig { /** - *

                                            The list of Availability Zones associated with the VPC subnets.

                                            + *

                                            The CloudFront origin access identity to associate with the origin.

                                            */ - AvailabilityZones?: string[]; + OriginAccessIdentity?: string; +} + +export namespace AwsCloudFrontDistributionOriginS3OriginConfig { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionOriginS3OriginConfig): any => ({ + ...obj, + }); +} +/** + *

                                            A complex type that describes the Amazon S3 bucket, HTTP server (for example, a web + * server), Amazon Elemental MediaStore, or other server from which CloudFront gets your + * files.

                                            + */ +export interface AwsCloudFrontDistributionOriginItem { /** - *

                                            A list of subnet IDs associated with the VPC endpoints for the domain.

                                            + *

                                            An origin that is an S3 bucket that is not configured with static website + * hosting.

                                            */ - SubnetIds?: string[]; + S3OriginConfig?: AwsCloudFrontDistributionOriginS3OriginConfig; /** - *

                                            ID for the VPC.

                                            + *

                                            Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin.

                                            */ - VPCId?: string; + DomainName?: string; /** - *

                                            The list of security group IDs associated with the VPC endpoints for the domain.

                                            + *

                                            A unique identifier for the origin or origin group.

                                            */ - SecurityGroupIds?: string[]; + Id?: string; + + /** + *

                                            An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.

                                            + */ + OriginPath?: string; } -export namespace AwsElasticsearchDomainVPCOptions { - export const filterSensitiveLog = (obj: AwsElasticsearchDomainVPCOptions): any => ({ +export namespace AwsCloudFrontDistributionOriginItem { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionOriginItem): any => ({ ...obj, }); } /** - *

                                            Information about an Elasticsearch domain.

                                            + *

                                            A complex type that contains information about origins and origin groups for this distribution.

                                            */ -export interface AwsElasticsearchDomainDetails { +export interface AwsCloudFrontDistributionOrigins { /** - *

                                            Domain-specific endpoint used to submit index, search, and data upload requests to an - * Amazon ES domain.

                                            - *

                                            The endpoint is a service URL.

                                            + *

                                            A complex type that contains origins or origin groups for this distribution.

                                            */ - Endpoint?: string; + Items?: AwsCloudFrontDistributionOriginItem[]; +} + +export namespace AwsCloudFrontDistributionOrigins { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionOrigins): any => ({ + ...obj, + }); +} +/** + *

                                            A distribution configuration.

                                            + */ +export interface AwsCloudFrontDistributionDetails { /** - *

                                            Name of an Amazon ES domain.

                                            - *

                                            Domain names are unique across all domains owned by the same account within an AWS - * Region.

                                            - *

                                            Domain names must start with a lowercase letter and must be between 3 and 28 - * characters.

                                            - *

                                            Valid characters are a-z (lowercase only), 0-9, and – (hyphen).

                                            + *

                                            A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

                                            */ - DomainName?: string; + WebAclId?: string; /** - *

                                            Details about the configuration for node-to-node encryption.

                                            + *

                                            The entity tag is a hash of the object.

                                            */ - NodeToNodeEncryptionOptions?: AwsElasticsearchDomainNodeToNodeEncryptionOptions; + ETag?: string; /** - *

                                            Unique identifier for an Amazon ES domain.

                                            + *

                                            Indicates when that the distribution was last modified.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - DomainId?: string; + LastModifiedTime?: string; /** - *

                                            Details about the configuration for encryption at rest.

                                            + *

                                            The object that CloudFront sends in response to requests from the origin (for example, + * index.html) when a viewer requests the root URL for the distribution + * (http://www.example.com) instead of an object in your distribution + * (http://www.example.com/product-description.html).

                                            */ - EncryptionAtRestOptions?: AwsElasticsearchDomainEncryptionAtRestOptions; + DefaultRootObject?: string; /** - *

                                            IAM policy document specifying the access policies for the new Amazon ES domain.

                                            + *

                                            Provides information about the cache configuration for the distribution.

                                            */ - AccessPolicies?: string; + CacheBehaviors?: AwsCloudFrontDistributionCacheBehaviors; /** - *

                                            Elasticsearch version.

                                            + *

                                            A complex type that controls whether access logs are written for the distribution.

                                            */ - ElasticsearchVersion?: string; + Logging?: AwsCloudFrontDistributionLogging; /** - *

                                            Additional options for the domain endpoint.

                                            + *

                                            Indicates the current status of the distribution.

                                            */ - DomainEndpointOptions?: AwsElasticsearchDomainDomainEndpointOptions; + Status?: string; /** - *

                                            The key-value pair that exists if the Amazon ES domain uses VPC endpoints.

                                            + *

                                            The default cache behavior for the configuration.

                                            */ - Endpoints?: { [key: string]: string }; + DefaultCacheBehavior?: AwsCloudFrontDistributionDefaultCacheBehavior; /** - *

                                            Information that Amazon ES derives based on VPCOptions for the - * domain.

                                            + *

                                            A complex type that contains information about origins for this distribution.

                                            */ - VPCOptions?: AwsElasticsearchDomainVPCOptions; -} - -export namespace AwsElasticsearchDomainDetails { - export const filterSensitiveLog = (obj: AwsElasticsearchDomainDetails): any => ({ - ...obj, - }); -} + Origins?: AwsCloudFrontDistributionOrigins; -/** - *

                                            Information about the state of the load balancer.

                                            - */ -export interface LoadBalancerState { /** - *

                                            The state code. The initial state of the load balancer is provisioning.

                                            - *

                                            After the load balancer is fully set up and ready to route traffic, its state is - * active.

                                            - *

                                            If the load balancer could not be set up, its state is failed.

                                            + *

                                            Provides information about the origin groups in the distribution.

                                            */ - Code?: string; + OriginGroups?: AwsCloudFrontDistributionOriginGroups; /** - *

                                            A description of the state.

                                            + *

                                            The domain name corresponding to the distribution.

                                            */ - Reason?: string; + DomainName?: string; } -export namespace LoadBalancerState { - export const filterSensitiveLog = (obj: LoadBalancerState): any => ({ +export namespace AwsCloudFrontDistributionDetails { + export const filterSensitiveLog = (obj: AwsCloudFrontDistributionDetails): any => ({ ...obj, }); } /** - *

                                            Information about a load balancer.

                                            + *

                                            Provides details about a CloudTrail trail.

                                            */ -export interface AwsElbv2LoadBalancerDetails { - /** - *

                                            The state of the load balancer.

                                            - */ - State?: LoadBalancerState; - +export interface AwsCloudTrailTrailDetails { /** - *

                                            The ID of the Amazon Route 53 hosted zone associated with the load balancer.

                                            + *

                                            The ARN of the role that the CloudWatch Logs endpoint assumes when it writes to the log + * group.

                                            */ - CanonicalHostedZoneId?: string; + CloudWatchLogsRoleArn?: string; /** - *

                                            The ID of the VPC for the load balancer.

                                            + *

                                            The ARN of the SNS topic that is used for notifications of log file delivery.

                                            */ - VpcId?: string; + SnsTopicArn?: string; /** - *

                                            The Availability Zones for the load balancer.

                                            + *

                                            The name of the S3 bucket where the log files are published.

                                            */ - AvailabilityZones?: AvailabilityZone[]; + S3BucketName?: string; /** - *

                                            The nodes of an Internet-facing load balancer have public IP addresses.

                                            + *

                                            Indicates whether the trail publishes events from global services such as IAM to the log + * files.

                                            */ - Scheme?: string; + IncludeGlobalServiceEvents?: boolean; /** - *

                                            The IDs of the security groups for the load balancer.

                                            + *

                                            The Region where the trail was created.

                                            */ - SecurityGroups?: string[]; + HomeRegion?: string; /** - *

                                            The date and time the load balancer was created.

                                            + *

                                            The name of the SNS topic that is used for notifications of log file delivery.

                                            */ - CreatedTime?: string; + SnsTopicName?: string; /** - *

                                            The type of load balancer.

                                            + *

                                            Whether the trail is created for all accounts in an organization in AWS Organizations, + * or only for the current AWS account.

                                            */ - Type?: string; + IsOrganizationTrail?: boolean; /** - *

                                            The public DNS name of the load balancer.

                                            + *

                                            The name of the trail.

                                            */ - DNSName?: string; + Name?: string; /** - *

                                            The type of IP addresses used by the subnets for your load balancer. The possible values - * are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 - * addresses).

                                            + *

                                            Indicates whether the trail has custom event selectors.

                                            */ - IpAddressType?: string; -} - -export namespace AwsElbv2LoadBalancerDetails { - export const filterSensitiveLog = (obj: AwsElbv2LoadBalancerDetails): any => ({ - ...obj, - }); -} - -export enum AwsIamAccessKeyStatus { - ACTIVE = "Active", - INACTIVE = "Inactive", -} + HasCustomEventSelectors?: boolean; -/** - *

                                            IAM access key details related to a finding.

                                            - */ -export interface AwsIamAccessKeyDetails { /** - *

                                            The name of the principal.

                                            + *

                                            The AWS KMS key ID to use to encrypt the logs.

                                            */ - PrincipalName?: string; + KmsKeyId?: string; /** - *

                                            The type of principal associated with an access key.

                                            + *

                                            The S3 key prefix. The key prefix is added after the name of the S3 bucket where the log + * files are published.

                                            */ - PrincipalType?: string; + S3KeyPrefix?: string; /** - *

                                            The user associated with the IAM access key related to a finding.

                                            - *

                                            The UserName parameter has been replaced with the PrincipalName parameter because access keys can also be assigned to principals that are not IAM users.

                                            + *

                                            The ARN of the log group that CloudTrail logs are delivered to.

                                            */ - UserName?: string; + CloudWatchLogsLogGroupArn?: string; /** - *

                                            The creation date/time of the IAM access key related to a finding.

                                            + *

                                            Indicates whether CloudTrail log file validation is enabled.

                                            */ - CreatedAt?: string; + LogFileValidationEnabled?: boolean; /** - *

                                            The status of the IAM access key related to a finding.

                                            + *

                                            Indicates whether the trail applies only to the current Region or to all Regions.

                                            */ - Status?: AwsIamAccessKeyStatus | string; + IsMultiRegionTrail?: boolean; /** - *

                                            The ID of the principal associated with an access key.

                                            + *

                                            The ARN of the trail.

                                            */ - PrincipalId?: string; + TrailArn?: string; } -export namespace AwsIamAccessKeyDetails { - export const filterSensitiveLog = (obj: AwsIamAccessKeyDetails): any => ({ +export namespace AwsCloudTrailTrailDetails { + export const filterSensitiveLog = (obj: AwsCloudTrailTrailDetails): any => ({ ...obj, }); } /** - *

                                            Contains information about an IAM role, including all of the role's policies.

                                            + *

                                            The credentials for access to a private registry.

                                            */ -export interface AwsIamRoleDetails { - /** - *

                                            The trust policy that grants permission to assume the role.

                                            - */ - AssumeRolePolicyDocument?: string; - - /** - *

                                            The date and time, in ISO 8601 date-time format, when the role was created.

                                            - */ - CreateDate?: string; - - /** - *

                                            The path to the role.

                                            - */ - Path?: string; - - /** - *

                                            The maximum session duration (in seconds) that you want to set for the specified role.

                                            - */ - MaxSessionDuration?: number; - +export interface AwsCodeBuildProjectEnvironmentRegistryCredential { /** - *

                                            The stable and unique string identifying the role.

                                            + *

                                            The service that created the credentials to access a private Docker registry.

                                            + *

                                            The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

                                            */ - RoleId?: string; + CredentialProvider?: string; /** - *

                                            The friendly name that identifies the role.

                                            + *

                                            The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets + * Manager.

                                            + * + *

                                            The credential can use the name of the credentials only if they exist in your current + * AWS Region.

                                            + *
                                            */ - RoleName?: string; + Credential?: string; } -export namespace AwsIamRoleDetails { - export const filterSensitiveLog = (obj: AwsIamRoleDetails): any => ({ +export namespace AwsCodeBuildProjectEnvironmentRegistryCredential { + export const filterSensitiveLog = (obj: AwsCodeBuildProjectEnvironmentRegistryCredential): any => ({ ...obj, }); } /** - *

                                            Contains metadata about a customer master key (CMK).

                                            + *

                                            Information about the build environment for this build project.

                                            */ -export interface AwsKmsKeyDetails { +export interface AwsCodeBuildProjectEnvironment { /** - *

                                            The date and time when the CMK was created.

                                            + *

                                            The credentials for access to a private registry.

                                            */ - CreationDate?: number; - - /** - *

                                            The source of the CMK's key material.

                                            - *

                                            When this value is AWS_KMS, AWS KMS created the key material.

                                            - *

                                            When this value is EXTERNAL, the key material was imported from your - * existing key management infrastructure or the CMK lacks key material.

                                            - *

                                            When this value is AWS_CLOUDHSM, the key material was created in the AWS - * CloudHSM cluster associated with a custom key store.

                                            - */ - Origin?: string; - - /** - *

                                            The twelve-digit account ID of the AWS account that owns the CMK.

                                            - */ - AWSAccountId?: string; + RegistryCredential?: AwsCodeBuildProjectEnvironmentRegistryCredential; /** - *

                                            The globally unique identifier for the CMK.

                                            + *

                                            The type of credentials AWS CodeBuild uses to pull images in your build.

                                            + *

                                            Valid values:

                                            + *
                                              + *
                                            • + *

                                              + * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This + * requires that you modify your ECR repository policy to trust the AWS CodeBuild + * service principal.

                                              + *
                                            • + *
                                            • + *

                                              + * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's + * service role.

                                              + *
                                            • + *
                                            + *

                                            When you use a cross-account or private registry image, you must use + * SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you + * must use CODEBUILD credentials.

                                            */ - KeyId?: string; + ImagePullCredentialsType?: string; /** - *

                                            The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed.

                                            + *

                                            The type of build environment to use for related builds.

                                            + *

                                            The environment type ARM_CONTAINER is available only in Regions US East (N. + * Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia + * Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).

                                            + *

                                            The environment type LINUX_CONTAINER with compute type + * build.general1.2xlarge is available only in Regions US East (N. Virginia), US East (N. + * Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe + * (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia + * Pacific (Sydney), China (Beijing), and China (Ningxia).

                                            + *

                                            The environment type LINUX_GPU_CONTAINER is available only in Regions US + * East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe + * (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), + * Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China + * (Ningxia).

                                            + *

                                            Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | + * LINUX_GPU_CONTAINER | ARM_CONTAINER + *

                                            */ - KeyManager?: string; + Type?: string; /** - *

                                            The state of the CMK.

                                            + *

                                            The certificate to use with this build project.

                                            */ - KeyState?: string; + Certificate?: string; } -export namespace AwsKmsKeyDetails { - export const filterSensitiveLog = (obj: AwsKmsKeyDetails): any => ({ +export namespace AwsCodeBuildProjectEnvironment { + export const filterSensitiveLog = (obj: AwsCodeBuildProjectEnvironment): any => ({ ...obj, }); } /** - *

                                            The code for the Lambda function. You can specify either an object in Amazon S3, or upload a deployment package directly.

                                            + *

                                            Information about the build input source code for this build project.

                                            */ -export interface AwsLambdaFunctionCode { +export interface AwsCodeBuildProjectSource { /** - *

                                            An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

                                            + *

                                            Information about the Git clone depth for the build project.

                                            */ - S3Bucket?: string; + GitCloneDepth?: number; /** - *

                                            The Amazon S3 key of the deployment package.

                                            + *

                                            The type of repository that contains the source code to be built. Valid values + * are:

                                            + *
                                              + *
                                            • + *

                                              + * BITBUCKET - The source code is in a Bitbucket repository.

                                              + *
                                            • + *
                                            • + *

                                              + * CODECOMMIT - The source code is in an AWS CodeCommit + * repository.

                                              + *
                                            • + *
                                            • + *

                                              + * CODEPIPELINE - The source code settings are specified in the source + * action of a pipeline in AWS CodePipeline.

                                              + *
                                            • + *
                                            • + *

                                              + * GITHUB - The source code is in a GitHub repository.

                                              + *
                                            • + *
                                            • + *

                                              + * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise + * repository.

                                              + *
                                            • + *
                                            • + *

                                              + * NO_SOURCE - The project does not have input source code.

                                              + *
                                            • + *
                                            • + *

                                              + * S3 - The source code is in an S3 input bucket.

                                              + *
                                            • + *
                                            */ - S3Key?: string; + Type?: string; /** - *

                                            The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

                                            + *

                                            Information about the location of the source code to be built.

                                            + *

                                            Valid values include:

                                            + *
                                              + *
                                            • + *

                                              For source code settings that are specified in the source action of a pipeline in + * AWS CodePipeline, location should not be specified. If it is specified, AWS + * CodePipeline ignores it. This is because AWS CodePipeline uses the settings in a + * pipeline's source action instead of this value.

                                              + *
                                            • + *
                                            • + *

                                              For source code in an AWS CodeCommit repository, the HTTPS clone URL to the + * repository that contains the source code and the build spec file (for example, + * https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name + * ).

                                              + *
                                            • + *
                                            • + *

                                              For source code in an S3 input bucket, one of the following.

                                              + *
                                                + *
                                              • + *

                                                The path to the ZIP file that contains the source code (for example, + * bucket-name/path/to/object-name.zip).

                                                + *
                                              • + *
                                              • + *

                                                The path to the folder that contains the source code (for example, + * bucket-name/path/to/source-code/folder/).

                                                + *
                                              • + *
                                              + *
                                            • + *
                                            • + *

                                              For source code in a GitHub repository, the HTTPS clone URL to the repository that + * contains the source and the build spec file.

                                              + *
                                            • + *
                                            • + *

                                              For source code in a Bitbucket repository, the HTTPS clone URL to the repository + * that contains the source and the build spec file.

                                              + *
                                            • + *
                                            */ - ZipFile?: string; + Location?: string; /** - *

                                            For versioned objects, the version of the deployment package object to use.

                                            + *

                                            Whether to ignore SSL warnings while connecting to the project source code.

                                            */ - S3ObjectVersion?: string; + InsecureSsl?: boolean; } -export namespace AwsLambdaFunctionCode { - export const filterSensitiveLog = (obj: AwsLambdaFunctionCode): any => ({ +export namespace AwsCodeBuildProjectSource { + export const filterSensitiveLog = (obj: AwsCodeBuildProjectSource): any => ({ ...obj, }); } /** - *

                                            The dead-letter queue for failed asynchronous invocations.

                                            + *

                                            Information about the VPC configuration that AWS CodeBuild accesses.

                                            */ -export interface AwsLambdaFunctionDeadLetterConfig { +export interface AwsCodeBuildProjectVpcConfig { /** - *

                                            The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

                                            + *

                                            A list of one or more security group IDs in your Amazon VPC.

                                            */ - TargetArn?: string; + SecurityGroupIds?: string[]; + + /** + *

                                            A list of one or more subnet IDs in your Amazon VPC.

                                            + */ + Subnets?: string[]; + + /** + *

                                            The ID of the VPC.

                                            + */ + VpcId?: string; } -export namespace AwsLambdaFunctionDeadLetterConfig { - export const filterSensitiveLog = (obj: AwsLambdaFunctionDeadLetterConfig): any => ({ +export namespace AwsCodeBuildProjectVpcConfig { + export const filterSensitiveLog = (obj: AwsCodeBuildProjectVpcConfig): any => ({ ...obj, }); } /** - *

                                            Error messages for environment variables that couldn't be applied.

                                            + *

                                            Information about an AWS CodeBuild project.

                                            */ -export interface AwsLambdaFunctionEnvironmentError { +export interface AwsCodeBuildProjectDetails { /** - *

                                            The error code.

                                            + *

                                            Information about the VPC configuration that AWS CodeBuild accesses.

                                            */ - ErrorCode?: string; + VpcConfig?: AwsCodeBuildProjectVpcConfig; /** - *

                                            The error message.

                                            + *

                                            Information about the build environment for this build project.

                                            */ - Message?: string; + Environment?: AwsCodeBuildProjectEnvironment; + + /** + *

                                            The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS + * services on behalf of the AWS account.

                                            + */ + ServiceRole?: string; + + /** + *

                                            The name of the build project.

                                            + */ + Name?: string; + + /** + *

                                            Information about the build input source code for this build project.

                                            + */ + Source?: AwsCodeBuildProjectSource; + + /** + *

                                            The AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the + * build output artifacts.

                                            + *

                                            You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the + * CMK alias (using the format alias/alias-name).

                                            + */ + EncryptionKey?: string; } -export namespace AwsLambdaFunctionEnvironmentError { - export const filterSensitiveLog = (obj: AwsLambdaFunctionEnvironmentError): any => ({ +export namespace AwsCodeBuildProjectDetails { + export const filterSensitiveLog = (obj: AwsCodeBuildProjectDetails): any => ({ ...obj, }); } /** - *

                                            A function's environment variable settings.

                                            + *

                                            Contains a definition of an attribute for the table.

                                            */ -export interface AwsLambdaFunctionEnvironment { +export interface AwsDynamoDbTableAttributeDefinition { /** - *

                                            Environment variable key-value pairs.

                                            + *

                                            The name of the attribute.

                                            */ - Variables?: { [key: string]: string }; + AttributeName?: string; /** - *

                                            An AwsLambdaFunctionEnvironmentError object.

                                            + *

                                            The type of the attribute.

                                            */ - Error?: AwsLambdaFunctionEnvironmentError; + AttributeType?: string; } -export namespace AwsLambdaFunctionEnvironment { - export const filterSensitiveLog = (obj: AwsLambdaFunctionEnvironment): any => ({ +export namespace AwsDynamoDbTableAttributeDefinition { + export const filterSensitiveLog = (obj: AwsDynamoDbTableAttributeDefinition): any => ({ ...obj, }); } /** - *

                                            An AWS Lambda layer.

                                            + *

                                            Provides information about the billing for read/write capacity on the table.

                                            */ -export interface AwsLambdaFunctionLayer { +export interface AwsDynamoDbTableBillingModeSummary { /** - *

                                            The size of the layer archive in bytes.

                                            + *

                                            If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was + * set to that value.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - CodeSize?: number; + LastUpdateToPayPerRequestDateTime?: string; /** - *

                                            The Amazon Resource Name (ARN) of the function layer.

                                            + *

                                            The method used to charge for read and write throughput and to manage capacity.

                                            */ - Arn?: string; + BillingMode?: string; } -export namespace AwsLambdaFunctionLayer { - export const filterSensitiveLog = (obj: AwsLambdaFunctionLayer): any => ({ +export namespace AwsDynamoDbTableBillingModeSummary { + export const filterSensitiveLog = (obj: AwsDynamoDbTableBillingModeSummary): any => ({ ...obj, }); } /** - *

                                            The function's AWS X-Ray tracing configuration.

                                            + *

                                            A component of the key schema for the DynamoDB table, a global secondary index, or a + * local secondary index.

                                            */ -export interface AwsLambdaFunctionTracingConfig { +export interface AwsDynamoDbTableKeySchema { /** - *

                                            The tracing mode.

                                            + *

                                            The name of the key schema attribute.

                                            */ - Mode?: string; + AttributeName?: string; + + /** + *

                                            The type of key used for the key schema attribute.

                                            + */ + KeyType?: string; } -export namespace AwsLambdaFunctionTracingConfig { - export const filterSensitiveLog = (obj: AwsLambdaFunctionTracingConfig): any => ({ +export namespace AwsDynamoDbTableKeySchema { + export const filterSensitiveLog = (obj: AwsDynamoDbTableKeySchema): any => ({ ...obj, }); } /** - *

                                            The VPC security groups and subnets that are attached to a Lambda function. For more information, see VPC Settings.

                                            + *

                                            For global and local secondary indexes, identifies the attributes that are copied from + * the table into the index.

                                            */ -export interface AwsLambdaFunctionVpcConfig { +export interface AwsDynamoDbTableProjection { /** - *

                                            A list of VPC security groups IDs.

                                            + *

                                            The types of attributes that are projected into the index.

                                            */ - SecurityGroupIds?: string[]; + ProjectionType?: string; /** - *

                                            A list of VPC subnet IDs.

                                            + *

                                            The nonkey attributes that are projected into the index. For each attribute, provide the + * attribute name.

                                            */ - SubnetIds?: string[]; + NonKeyAttributes?: string[]; +} - /** - *

                                            The ID of the VPC.

                                            - */ - VpcId?: string; -} - -export namespace AwsLambdaFunctionVpcConfig { - export const filterSensitiveLog = (obj: AwsLambdaFunctionVpcConfig): any => ({ +export namespace AwsDynamoDbTableProjection { + export const filterSensitiveLog = (obj: AwsDynamoDbTableProjection): any => ({ ...obj, }); } /** - *

                                            Details about a function's configuration.

                                            + *

                                            Information about the provisioned throughput for the table or for a global secondary + * index.

                                            */ -export interface AwsLambdaFunctionDetails { +export interface AwsDynamoDbTableProvisionedThroughput { /** - *

                                            The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

                                            + *

                                            The maximum number of writes consumed per second before DynamoDB returns a + * ThrottlingException.

                                            */ - KmsKeyArn?: string; + WriteCapacityUnits?: number; /** - *

                                            For Lambda@Edge functions, the ARN of the master function.

                                            + *

                                            Indicates when the provisioned throughput was last decreased.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - MasterArn?: string; + LastDecreaseDateTime?: string; /** - *

                                            The name of the function.

                                            + *

                                            The number of times during the current UTC calendar day that the provisioned throughput + * was decreased.

                                            */ - FunctionName?: string; + NumberOfDecreasesToday?: number; /** - *

                                            The amount of time that Lambda allows a function to run before stopping it.

                                            + *

                                            The maximum number of strongly consistent reads consumed per second before DynamoDB + * returns a ThrottlingException.

                                            */ - Timeout?: number; + ReadCapacityUnits?: number; /** - *

                                            The function's networking configuration.

                                            + *

                                            Indicates when the provisioned throughput was last increased.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - VpcConfig?: AwsLambdaFunctionVpcConfig; + LastIncreaseDateTime?: string; +} + +export namespace AwsDynamoDbTableProvisionedThroughput { + export const filterSensitiveLog = (obj: AwsDynamoDbTableProvisionedThroughput): any => ({ + ...obj, + }); +} +/** + *

                                            Information abut a global secondary index for the table.

                                            + */ +export interface AwsDynamoDbTableGlobalSecondaryIndex { /** - *

                                            The runtime environment for the Lambda function.

                                            + *

                                            The key schema for the index.

                                            */ - Runtime?: string; + KeySchema?: AwsDynamoDbTableKeySchema[]; /** - *

                                            The function's environment variables.

                                            + *

                                            The number of items in the index.

                                            */ - Environment?: AwsLambdaFunctionEnvironment; + ItemCount?: number; /** - *

                                            The function's execution role.

                                            + *

                                            Information about the provisioned throughput settings for the indexes.

                                            */ - Role?: string; + ProvisionedThroughput?: AwsDynamoDbTableProvisionedThroughput; /** - *

                                            The function's layers.

                                            + *

                                            The total size in bytes of the index.

                                            */ - Layers?: AwsLambdaFunctionLayer[]; + IndexSizeBytes?: number; /** - *

                                            The function's AWS X-Ray tracing configuration.

                                            + *

                                            Attributes that are copied from the table into an index.

                                            */ - TracingConfig?: AwsLambdaFunctionTracingConfig; + Projection?: AwsDynamoDbTableProjection; /** - *

                                            The memory that's allocated to the function.

                                            + *

                                            Whether the index is currently backfilling.

                                            */ - MemorySize?: number; + Backfilling?: boolean; /** - *

                                            The version of the Lambda function.

                                            + *

                                            The ARN of the index.

                                            */ - Version?: string; + IndexArn?: string; /** - *

                                            The function's dead letter queue.

                                            + *

                                            The name of the index.

                                            */ - DeadLetterConfig?: AwsLambdaFunctionDeadLetterConfig; + IndexName?: string; /** - *

                                            An AwsLambdaFunctionCode object.

                                            + *

                                            The current status of the index.

                                            */ - Code?: AwsLambdaFunctionCode; + IndexStatus?: string; +} + +export namespace AwsDynamoDbTableGlobalSecondaryIndex { + export const filterSensitiveLog = (obj: AwsDynamoDbTableGlobalSecondaryIndex): any => ({ + ...obj, + }); +} +/** + *

                                            Information about a local secondary index for a DynamoDB table.

                                            + */ +export interface AwsDynamoDbTableLocalSecondaryIndex { /** - *

                                            The SHA256 hash of the function's deployment package.

                                            + *

                                            Attributes that are copied from the table into the index. These are in addition to the + * primary key attributes and index key attributes, which are automatically projected.

                                            */ - CodeSha256?: string; + Projection?: AwsDynamoDbTableProjection; /** - *

                                            The function that Lambda calls to begin executing your function.

                                            + *

                                            The ARN of the index.

                                            */ - Handler?: string; + IndexArn?: string; /** - *

                                            The latest updated revision of the function or alias.

                                            + *

                                            The complete key schema for the index.

                                            */ - RevisionId?: string; + KeySchema?: AwsDynamoDbTableKeySchema[]; /** - *

                                            The date and time that the function was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

                                            + *

                                            The name of the index.

                                            */ - LastModified?: string; + IndexName?: string; } -export namespace AwsLambdaFunctionDetails { - export const filterSensitiveLog = (obj: AwsLambdaFunctionDetails): any => ({ +export namespace AwsDynamoDbTableLocalSecondaryIndex { + export const filterSensitiveLog = (obj: AwsDynamoDbTableLocalSecondaryIndex): any => ({ ...obj, }); } /** - *

                                            Details about a Lambda layer version.

                                            + *

                                            Replica-specific configuration for the provisioned throughput.

                                            */ -export interface AwsLambdaLayerVersionDetails { +export interface AwsDynamoDbTableProvisionedThroughputOverride { /** - *

                                            The version number.

                                            + *

                                            The read capacity units for the replica.

                                            */ - Version?: number; + ReadCapacityUnits?: number; +} +export namespace AwsDynamoDbTableProvisionedThroughputOverride { + export const filterSensitiveLog = (obj: AwsDynamoDbTableProvisionedThroughputOverride): any => ({ + ...obj, + }); +} + +/** + *

                                            Information about a global secondary index for a DynamoDB table replica.

                                            + */ +export interface AwsDynamoDbTableReplicaGlobalSecondaryIndex { /** - *

                                            The date that the version was created, in ISO 8601 format. For example, - * 2018-11-27T15:10:45.123+0000.

                                            + *

                                            The name of the index.

                                            */ - CreatedDate?: string; + IndexName?: string; /** - *

                                            The layer's compatible runtimes. Maximum number of five items.

                                            - *

                                            Valid values: nodejs10.x | nodejs12.x | java8 | - * java11 | python2.7 | python3.6 | - * python3.7 | python3.8 | dotnetcore1.0 | - * dotnetcore2.1 | go1.x | ruby2.5 | - * provided - *

                                            + *

                                            Replica-specific configuration for the provisioned throughput for the index.

                                            */ - CompatibleRuntimes?: string[]; + ProvisionedThroughputOverride?: AwsDynamoDbTableProvisionedThroughputOverride; } -export namespace AwsLambdaLayerVersionDetails { - export const filterSensitiveLog = (obj: AwsLambdaLayerVersionDetails): any => ({ +export namespace AwsDynamoDbTableReplicaGlobalSecondaryIndex { + export const filterSensitiveLog = (obj: AwsDynamoDbTableReplicaGlobalSecondaryIndex): any => ({ ...obj, }); } /** - *

                                            An AWS Identity and Access Management (IAM) role associated with the DB instance.

                                            + *

                                            Information about a replica of a DynamoDB table.

                                            */ -export interface AwsRdsDbInstanceAssociatedRole { +export interface AwsDynamoDbTableReplica { /** - *

                                            The name of the feature associated with the IAM)role.

                                            + *

                                            List of global secondary indexes for the replica.

                                            */ - FeatureName?: string; + GlobalSecondaryIndexes?: AwsDynamoDbTableReplicaGlobalSecondaryIndex[]; /** - *

                                            The Amazon Resource Name (ARN) of the IAM role that is associated with the DB - * instance.

                                            + *

                                            The identifier of the AWS KMS customer master key (CMK) that will be used for AWS KMS + * encryption for the replica.

                                            */ - RoleArn?: string; + KmsMasterKeyId?: string; /** - *

                                            Describes the state of the association between the IAM role and the DB instance. The - * Status property returns one of the following values:

                                            - *
                                              - *
                                            • - *

                                              - * ACTIVE - The IAM role ARN is associated with the DB instance and can - * be used to access other AWS services on your behalf.

                                              - *
                                            • - *
                                            • - *

                                              - * PENDING - The IAM role ARN is being associated with the DB - * instance.

                                              - *
                                            • - *
                                            • - *

                                              - * INVALID - The IAM role ARN is associated with the DB instance. But - * the DB instance is unable to assume the IAM role in order to access other AWS - * services on your behalf.

                                              - *
                                            • - *
                                            + *

                                            The name of the Region where the replica is located.

                                            */ - Status?: string; + RegionName?: string; + + /** + *

                                            Replica-specific configuration for the provisioned throughput.

                                            + */ + ProvisionedThroughputOverride?: AwsDynamoDbTableProvisionedThroughputOverride; + + /** + *

                                            The current status of the replica.

                                            + */ + ReplicaStatus?: string; + + /** + *

                                            Detailed information about the replica status.

                                            + */ + ReplicaStatusDescription?: string; } -export namespace AwsRdsDbInstanceAssociatedRole { - export const filterSensitiveLog = (obj: AwsRdsDbInstanceAssociatedRole): any => ({ +export namespace AwsDynamoDbTableReplica { + export const filterSensitiveLog = (obj: AwsDynamoDbTableReplica): any => ({ ...obj, }); } /** - *

                                            Specifies the connection endpoint.

                                            + *

                                            Information about the restore for the table.

                                            */ -export interface AwsRdsDbInstanceEndpoint { +export interface AwsDynamoDbTableRestoreSummary { /** - *

                                            Specifies the DNS address of the DB instance.

                                            + *

                                            Indicates the point in time that the table was restored to.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Address?: string; + RestoreDateTime?: string; /** - *

                                            Specifies the port that the database engine is listening on.

                                            + *

                                            The ARN of the source backup from which the table was restored.

                                            */ - Port?: number; + SourceBackupArn?: string; /** - *

                                            Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

                                            + *

                                            The ARN of the source table for the backup.

                                            */ - HostedZoneId?: string; + SourceTableArn?: string; + + /** + *

                                            Whether a restore is currently in progress.

                                            + */ + RestoreInProgress?: boolean; } -export namespace AwsRdsDbInstanceEndpoint { - export const filterSensitiveLog = (obj: AwsRdsDbInstanceEndpoint): any => ({ +export namespace AwsDynamoDbTableRestoreSummary { + export const filterSensitiveLog = (obj: AwsDynamoDbTableRestoreSummary): any => ({ ...obj, }); } /** - *

                                            A VPC security groups that the DB instance belongs to.

                                            + *

                                            Information about the server-side encryption for the table.

                                            */ -export interface AwsRdsDbInstanceVpcSecurityGroup { +export interface AwsDynamoDbTableSseDescription { /** - *

                                            The name of the VPC security group.

                                            + *

                                            The ARN of the AWS KMS customer master key (CMK) that is used for the AWS KMS + * encryption.

                                            */ - VpcSecurityGroupId?: string; + KmsMasterKeyArn?: string; /** - *

                                            The status of the VPC security group.

                                            + *

                                            The type of server-side encryption.

                                            + */ + SseType?: string; + + /** + *

                                            If the key is inaccessible, the date and time when DynamoDB detected that the key was + * inaccessible.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + InaccessibleEncryptionDateTime?: string; + + /** + *

                                            The status of the server-side encryption.

                                            */ Status?: string; } -export namespace AwsRdsDbInstanceVpcSecurityGroup { - export const filterSensitiveLog = (obj: AwsRdsDbInstanceVpcSecurityGroup): any => ({ +export namespace AwsDynamoDbTableSseDescription { + export const filterSensitiveLog = (obj: AwsDynamoDbTableSseDescription): any => ({ ...obj, }); } /** - *

                                            Contains the details of an Amazon RDS DB instance.

                                            + *

                                            The current DynamoDB Streams configuration for the table.

                                            */ -export interface AwsRdsDbInstanceDetails { +export interface AwsDynamoDbTableStreamSpecification { /** - *

                                            Specifies the connection endpoint.

                                            + *

                                            Determines the information that is written to the table.

                                            */ - Endpoint?: AwsRdsDbInstanceEndpoint; + StreamViewType?: string; /** - *

                                            The AWS Region-unique, immutable identifier for the DB instance. This identifier is - * found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is - * accessed.

                                            + *

                                            Indicates whether DynamoDB Streams is enabled on the table.

                                            */ - DbiResourceId?: string; + StreamEnabled?: boolean; +} + +export namespace AwsDynamoDbTableStreamSpecification { + export const filterSensitiveLog = (obj: AwsDynamoDbTableStreamSpecification): any => ({ + ...obj, + }); +} +/** + *

                                            Provides details about a DynamoDB table.

                                            + */ +export interface AwsDynamoDbTableDetails { /** - *

                                            The meaning of this parameter differs according to the database engine you use.

                                            - *

                                            - * MySQL, MariaDB, SQL Server, PostgreSQL - *

                                            - *

                                            Contains the name of the initial database of this instance that was provided at create - * time, if one was specified when the DB instance was created. This same name is returned for - * the life of the DB instance.

                                            - *

                                            - * Oracle - *

                                            - *

                                            Contains the Oracle System ID (SID) of the created DB instance. Not shown when the - * returned parameters do not apply to an Oracle DB instance.

                                            + *

                                            Information about the server-side encryption for the table.

                                            */ - DBName?: string; + SseDescription?: AwsDynamoDbTableSseDescription; /** - *

                                            The identifier of the CA certificate for this DB instance.

                                            + *

                                            The number of items in the table.

                                            */ - CACertificateIdentifier?: string; + ItemCount?: number; /** - *

                                            Specifies the port that the DB instance listens on. If the DB instance is part of a DB - * cluster, this can be a different port than the DB cluster port.

                                            + *

                                            The current DynamoDB Streams configuration for the table.

                                            */ - DbInstancePort?: number; + StreamSpecification?: AwsDynamoDbTableStreamSpecification; /** - *

                                            If StorageEncrypted is true, the AWS KMS key identifier for the encrypted - * DB instance.

                                            + *

                                            List of global secondary indexes for the table.

                                            */ - KmsKeyId?: string; + GlobalSecondaryIndexes?: AwsDynamoDbTableGlobalSecondaryIndex[]; /** - *

                                            A list of VPC security groups that the DB instance belongs to.

                                            + *

                                            The total size of the table in bytes.

                                            */ - VpcSecurityGroups?: AwsRdsDbInstanceVpcSecurityGroup[]; + TableSizeBytes?: number; /** - *

                                            Indicates whether the DB instance has deletion protection enabled.

                                            - *

                                            When deletion protection is enabled, the database cannot be deleted.

                                            + *

                                            The name of the table.

                                            */ - DeletionProtection?: boolean; + TableName?: string; /** - *

                                            True if mapping of AWS Identity and Access Management (IAM) accounts to database - * accounts is enabled, and otherwise false.

                                            - *

                                            IAM database authentication can be enabled for the following database engines.

                                            - *
                                              - *
                                            • - *

                                              For MySQL 5.6, minor version 5.6.34 or higher

                                              - *
                                            • - *
                                            • - *

                                              For MySQL 5.7, minor version 5.7.16 or higher

                                              - *
                                            • - *
                                            • - *

                                              Aurora 5.6 or higher

                                              - *
                                            • - *
                                            + *

                                            A list of attribute definitions for the table.

                                            */ - IAMDatabaseAuthenticationEnabled?: boolean; + AttributeDefinitions?: AwsDynamoDbTableAttributeDefinition[]; /** - *

                                            Specifies whether the DB instance is encrypted.

                                            + *

                                            The primary key structure for the table.

                                            */ - StorageEncrypted?: boolean; + KeySchema?: AwsDynamoDbTableKeySchema[]; /** - *

                                            If the DB instance is a member of a DB cluster, contains the name of the DB cluster that - * the DB instance is a member of.

                                            + *

                                            The label of the latest stream. The label is not a unique identifier.

                                            */ - DBClusterIdentifier?: string; + LatestStreamLabel?: string; /** - *

                                            Contains the name of the compute and memory capacity class of the DB instance.

                                            + *

                                            Information about the billing for read/write capacity on the table.

                                            */ - DBInstanceClass?: string; + BillingModeSummary?: AwsDynamoDbTableBillingModeSummary; /** - *

                                            Provides the name of the database engine to use for this DB instance.

                                            + *

                                            The ARN of the latest stream for the table.

                                            */ - Engine?: string; + LatestStreamArn?: string; /** - *

                                            The ARN from the key store with which the instance is associated for TDE - * encryption.

                                            + *

                                            The list of local secondary indexes for the table.

                                            */ - TdeCredentialArn?: string; + LocalSecondaryIndexes?: AwsDynamoDbTableLocalSecondaryIndex[]; /** - *

                                            Provides the date and time the DB instance was created.

                                            + *

                                            Information about the provisioned throughput for the table.

                                            */ - InstanceCreateTime?: string; + ProvisionedThroughput?: AwsDynamoDbTableProvisionedThroughput; /** - *

                                            Contains a user-supplied database identifier. This identifier is the unique key that - * identifies a DB instance.

                                            + *

                                            The current status of the table.

                                            */ - DBInstanceIdentifier?: string; + TableStatus?: string; /** - *

                                            The AWS Identity and Access Management (IAM) roles associated with the DB - * instance.

                                            + *

                                            Indicates when the table was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - AssociatedRoles?: AwsRdsDbInstanceAssociatedRole[]; + CreationDateTime?: string; /** - *

                                            Indicates the database engine version.

                                            + *

                                            The identifier of the table.

                                            */ - EngineVersion?: string; + TableId?: string; /** - *

                                            Specifies the accessibility options for the DB instance.

                                            - *

                                            A value of true specifies an Internet-facing instance with a publicly resolvable DNS - * name, which resolves to a public IP address.

                                            - *

                                            A value of false specifies an internal instance with a DNS name that resolves to a - * private IP address.

                                            + *

                                            The list of replicas of this table.

                                            */ - PubliclyAccessible?: boolean; -} + Replicas?: AwsDynamoDbTableReplica[]; -export namespace AwsRdsDbInstanceDetails { - export const filterSensitiveLog = (obj: AwsRdsDbInstanceDetails): any => ({ - ...obj, - }); -} - -/** - *

                                            Specifies the default server-side encryption to apply to new objects in the - * bucket.

                                            - */ -export interface AwsS3BucketServerSideEncryptionByDefault { /** - *

                                            Server-side encryption algorithm to use for the default encryption.

                                            + *

                                            Information about the restore for the table.

                                            */ - SSEAlgorithm?: string; + RestoreSummary?: AwsDynamoDbTableRestoreSummary; /** - *

                                            AWS KMS customer master key (CMK) ID to use for the default encryption.

                                            + *

                                            The version of global tables being used.

                                            */ - KMSMasterKeyID?: string; + GlobalTableVersion?: string; } -export namespace AwsS3BucketServerSideEncryptionByDefault { - export const filterSensitiveLog = (obj: AwsS3BucketServerSideEncryptionByDefault): any => ({ +export namespace AwsDynamoDbTableDetails { + export const filterSensitiveLog = (obj: AwsDynamoDbTableDetails): any => ({ ...obj, }); } /** - *

                                            An encryption rule to apply to the S3 bucket.

                                            + *

                                            Information about an Elastic IP address.

                                            */ -export interface AwsS3BucketServerSideEncryptionRule { +export interface AwsEc2EipDetails { /** - *

                                            Specifies the default server-side encryption to apply to new objects in the bucket. If a - * PUT object request doesn't specify any server-side encryption, this default - * encryption is applied.

                                            + *

                                            A public IP address that is associated with the EC2 instance.

                                            */ - ApplyServerSideEncryptionByDefault?: AwsS3BucketServerSideEncryptionByDefault; -} + PublicIp?: string; -export namespace AwsS3BucketServerSideEncryptionRule { - export const filterSensitiveLog = (obj: AwsS3BucketServerSideEncryptionRule): any => ({ - ...obj, - }); -} + /** + *

                                            The identifier of the network interface.

                                            + */ + NetworkInterfaceId?: string; -/** - *

                                            The encryption configuration for the S3 bucket.

                                            - */ -export interface AwsS3BucketServerSideEncryptionConfiguration { /** - *

                                            The encryption rules that are applied to the S3 bucket.

                                            + *

                                            The domain in which to allocate the address.

                                            + *

                                            If the address is for use with EC2 instances in a VPC, then Domain is + * vpc. Otherwise, Domain is standard.

                                            */ - Rules?: AwsS3BucketServerSideEncryptionRule[]; -} + Domain?: string; -export namespace AwsS3BucketServerSideEncryptionConfiguration { - export const filterSensitiveLog = (obj: AwsS3BucketServerSideEncryptionConfiguration): any => ({ - ...obj, - }); -} + /** + *

                                            The identifier that AWS assigns to represent the allocation of the Elastic IP address + * for use with Amazon VPC.

                                            + */ + AllocationId?: string; -/** - *

                                            The details of an Amazon S3 bucket.

                                            - */ -export interface AwsS3BucketDetails { /** - *

                                            The encryption rules that are applied to the S3 bucket.

                                            + *

                                            The identifier of the EC2 instance.

                                            */ - ServerSideEncryptionConfiguration?: AwsS3BucketServerSideEncryptionConfiguration; + InstanceId?: string; /** - *

                                            The canonical user ID of the owner of the S3 bucket.

                                            + *

                                            The name of the location from which the Elastic IP address is advertised.

                                            */ - OwnerId?: string; + NetworkBorderGroup?: string; /** - *

                                            The display name of the owner of the S3 bucket.

                                            + *

                                            The identifier that represents the association of the Elastic IP address with an EC2 + * instance.

                                            */ - OwnerName?: string; + AssociationId?: string; /** - *

                                            The date and time when the S3 bucket was created.

                                            + *

                                            The identifier of an IP address pool. This parameter allows Amazon EC2 to select an IP + * address from the address pool.

                                            */ - CreatedAt?: string; + PublicIpv4Pool?: string; + + /** + *

                                            The AWS account ID of the owner of the network interface.

                                            + */ + NetworkInterfaceOwnerId?: string; + + /** + *

                                            The private IP address that is associated with the Elastic IP address.

                                            + */ + PrivateIpAddress?: string; } -export namespace AwsS3BucketDetails { - export const filterSensitiveLog = (obj: AwsS3BucketDetails): any => ({ +export namespace AwsEc2EipDetails { + export const filterSensitiveLog = (obj: AwsEc2EipDetails): any => ({ ...obj, }); } /** - *

                                            Details about an Amazon S3 object.

                                            + *

                                            The details of an Amazon EC2 instance.

                                            */ -export interface AwsS3ObjectDetails { +export interface AwsEc2InstanceDetails { /** - *

                                            If the object is stored using server-side encryption, the value of the server-side - * encryption algorithm used when storing this object in Amazon S3.

                                            + *

                                            The IPv4 addresses associated with the instance.

                                            */ - ServerSideEncryption?: string; + IpV4Addresses?: string[]; /** - *

                                            The identifier of the AWS Key Management Service (AWS KMS) symmetric customer managed - * customer master key (CMK) that was used for the object.

                                            + *

                                            The identifier of the VPC that the instance was launched in.

                                            */ - SSEKMSKeyId?: string; + VpcId?: string; /** - *

                                            The version of the object.

                                            + *

                                            The Amazon Machine Image (AMI) ID of the instance.

                                            */ - VersionId?: string; + ImageId?: string; /** - *

                                            The date and time when the object was last modified.

                                            + *

                                            The identifier of the subnet that the instance was launched in.

                                            */ - LastModified?: string; + SubnetId?: string; /** - *

                                            The opaque identifier assigned by a web server to a specific version of a resource found - * at a URL.

                                            + *

                                            Indicates when the instance was launched.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - ETag?: string; + LaunchedAt?: string; /** - *

                                            A standard MIME type describing the format of the object data.

                                            + *

                                            The instance type of the instance.

                                            */ - ContentType?: string; -} - -export namespace AwsS3ObjectDetails { - export const filterSensitiveLog = (obj: AwsS3ObjectDetails): any => ({ - ...obj, - }); -} + Type?: string; -export enum ComplianceStatus { - FAILED = "FAILED", - NOT_AVAILABLE = "NOT_AVAILABLE", - PASSED = "PASSED", - WARNING = "WARNING", -} + /** + *

                                            The IAM profile ARN of the instance.

                                            + */ + IamInstanceProfileArn?: string; -/** - *

                                            Provides additional context for the value of Compliance.Status.

                                            - */ -export interface StatusReason { /** - *

                                            A code that represents a reason for the control status. For the list of status reason - * codes and their meanings, see Standards-related information in the ASFF in the - * AWS Security Hub User Guide.

                                            + *

                                            The key name associated with the instance.

                                            */ - ReasonCode: string | undefined; + KeyName?: string; /** - *

                                            The corresponding description for the status reason code.

                                            + *

                                            The IPv6 addresses associated with the instance.

                                            */ - Description?: string; + IpV6Addresses?: string[]; } -export namespace StatusReason { - export const filterSensitiveLog = (obj: StatusReason): any => ({ +export namespace AwsEc2InstanceDetails { + export const filterSensitiveLog = (obj: AwsEc2InstanceDetails): any => ({ ...obj, }); } /** - *

                                            Contains finding details that are specific to control-based findings. Only returned for - * findings generated from controls.

                                            + *

                                            Information about the network interface attachment.

                                            */ -export interface Compliance { +export interface AwsEc2NetworkInterfaceAttachment { /** - *

                                            The result of a standards check.

                                            - *

                                            The valid values for Status are as follows.

                                            - *
                                              - *
                                            • - *
                                                - *
                                              • - *

                                                - * PASSED - Standards check passed for all evaluated - * resources.

                                                - *
                                              • - *
                                              • - *

                                                - * WARNING - Some information is missing or this check is not - * supported for your configuration.

                                                - *
                                              • - *
                                              • - *

                                                - * FAILED - Standards check failed for at least one evaluated - * resource.

                                                - *
                                              • - *
                                              • - *

                                                - * NOT_AVAILABLE - Check could not be performed due to a service - * outage, API error, or because the result of the AWS Config evaluation was - * NOT_APPLICABLE. If the AWS Config evaluation result was - * NOT_APPLICABLE, then after 3 days, Security Hub automatically archives - * the finding.

                                                - *
                                              • - *
                                              - *
                                            • - *
                                            + *

                                            The ID of the instance.

                                            */ - Status?: ComplianceStatus | string; + InstanceId?: string; /** - *

                                            For a control, the industry or regulatory framework requirements that are related to the - * control. The check for that control is aligned with these requirements.

                                            + *

                                            The identifier of the network interface attachment

                                            */ - RelatedRequirements?: string[]; + AttachmentId?: string; /** - *

                                            For findings generated from controls, a list of reasons behind the value of - * Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the - * AWS Security Hub User Guide.

                                            + *

                                            Indicates whether the network interface is deleted when the instance is + * terminated.

                                            */ - StatusReasons?: StatusReason[]; -} - -export namespace Compliance { - export const filterSensitiveLog = (obj: Compliance): any => ({ - ...obj, - }); -} - -export enum MalwareState { - OBSERVED = "OBSERVED", - REMOVAL_FAILED = "REMOVAL_FAILED", - REMOVED = "REMOVED", -} - -export enum MalwareType { - ADWARE = "ADWARE", - BLENDED_THREAT = "BLENDED_THREAT", - BOTNET_AGENT = "BOTNET_AGENT", - COIN_MINER = "COIN_MINER", - EXPLOIT_KIT = "EXPLOIT_KIT", - KEYLOGGER = "KEYLOGGER", - MACRO = "MACRO", - POTENTIALLY_UNWANTED = "POTENTIALLY_UNWANTED", - RANSOMWARE = "RANSOMWARE", - REMOTE_ACCESS = "REMOTE_ACCESS", - ROOTKIT = "ROOTKIT", - SPYWARE = "SPYWARE", - TROJAN = "TROJAN", - VIRUS = "VIRUS", - WORM = "WORM", -} + DeleteOnTermination?: boolean; -/** - *

                                            A list of malware related to a finding.

                                            - */ -export interface Malware { /** - *

                                            The file system path of the malware that was observed.

                                            + *

                                            Indicates when the attachment initiated.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Path?: string; + AttachTime?: string; /** - *

                                            The type of the malware that was observed.

                                            + *

                                            The device index of the network interface attachment on the instance.

                                            */ - Type?: MalwareType | string; + DeviceIndex?: number; /** - *

                                            The name of the malware that was observed.

                                            + *

                                            The attachment state.

                                            + *

                                            Valid values: attaching | attached | detaching | + * detached + *

                                            */ - Name: string | undefined; + Status?: string; /** - *

                                            The state of the malware that was observed.

                                            + *

                                            The AWS account ID of the owner of the instance.

                                            */ - State?: MalwareState | string; + InstanceOwnerId?: string; } -export namespace Malware { - export const filterSensitiveLog = (obj: Malware): any => ({ +export namespace AwsEc2NetworkInterfaceAttachment { + export const filterSensitiveLog = (obj: AwsEc2NetworkInterfaceAttachment): any => ({ ...obj, }); } -export enum NetworkDirection { - IN = "IN", - OUT = "OUT", -} - /** - *

                                            A range of ports.

                                            + *

                                            A security group associated with the network interface.

                                            */ -export interface PortRange { +export interface AwsEc2NetworkInterfaceSecurityGroup { /** - *

                                            The last port in the port range.

                                            + *

                                            The ID of the security group.

                                            */ - End?: number; + GroupId?: string; /** - *

                                            The first port in the port range.

                                            + *

                                            The name of the security group.

                                            */ - Begin?: number; + GroupName?: string; } -export namespace PortRange { - export const filterSensitiveLog = (obj: PortRange): any => ({ +export namespace AwsEc2NetworkInterfaceSecurityGroup { + export const filterSensitiveLog = (obj: AwsEc2NetworkInterfaceSecurityGroup): any => ({ ...obj, }); } /** - *

                                            The details of network-related information about a finding.

                                            + *

                                            Details about the network interface

                                            */ -export interface Network { +export interface AwsEc2NetworkInterfaceDetails { /** - *

                                            The source port of network-related information about a finding.

                                            + *

                                            The network interface attachment.

                                            */ - SourcePort?: number; + Attachment?: AwsEc2NetworkInterfaceAttachment; /** - *

                                            The destination IPv6 address of network-related information about a finding.

                                            + *

                                            Security groups for the network interface.

                                            */ - DestinationIpV6?: string; + SecurityGroups?: AwsEc2NetworkInterfaceSecurityGroup[]; /** - *

                                            The source IPv6 address of network-related information about a finding.

                                            + *

                                            Indicates whether traffic to or from the instance is validated.

                                            */ - SourceIpV6?: string; + SourceDestCheck?: boolean; /** - *

                                            The destination IPv4 address of network-related information about a finding.

                                            + *

                                            The ID of the network interface.

                                            */ - DestinationIpV4?: string; - - /** - *

                                            The destination port of network-related information about a finding.

                                            - */ - DestinationPort?: number; - - /** - *

                                            The range of open ports that is present on the network.

                                            - */ - OpenPortRange?: PortRange; + NetworkInterfaceId?: string; +} - /** - *

                                            The direction of network traffic associated with a finding.

                                            - */ - Direction?: NetworkDirection | string; +export namespace AwsEc2NetworkInterfaceDetails { + export const filterSensitiveLog = (obj: AwsEc2NetworkInterfaceDetails): any => ({ + ...obj, + }); +} +/** + *

                                            A range of IPv4 addresses.

                                            + */ +export interface AwsEc2SecurityGroupIpRange { /** - *

                                            The protocol of network-related information about a finding.

                                            + *

                                            The IPv4 CIDR range. You can specify either a CIDR range or a source security group, but + * not both. To specify a single IPv4 address, use the /32 prefix length.

                                            */ - Protocol?: string; + CidrIp?: string; +} - /** - *

                                            The source domain of network-related information about a finding.

                                            - */ - SourceDomain?: string; +export namespace AwsEc2SecurityGroupIpRange { + export const filterSensitiveLog = (obj: AwsEc2SecurityGroupIpRange): any => ({ + ...obj, + }); +} +/** + *

                                            A range of IPv6 addresses.

                                            + */ +export interface AwsEc2SecurityGroupIpv6Range { /** - *

                                            The source IPv4 address of network-related information about a finding.

                                            + *

                                            The IPv6 CIDR range. You can specify either a CIDR range or a source security group, but + * not both. To specify a single IPv6 address, use the /128 prefix length.

                                            */ - SourceIpV4?: string; + CidrIpv6?: string; +} - /** - *

                                            The source media access control (MAC) address of network-related information about a - * finding.

                                            - */ - SourceMac?: string; +export namespace AwsEc2SecurityGroupIpv6Range { + export const filterSensitiveLog = (obj: AwsEc2SecurityGroupIpv6Range): any => ({ + ...obj, + }); +} +/** + *

                                            A prefix list ID.

                                            + */ +export interface AwsEc2SecurityGroupPrefixListId { /** - *

                                            The destination domain of network-related information about a finding.

                                            + *

                                            The ID of the prefix.

                                            */ - DestinationDomain?: string; + PrefixListId?: string; } -export namespace Network { - export const filterSensitiveLog = (obj: Network): any => ({ +export namespace AwsEc2SecurityGroupPrefixListId { + export const filterSensitiveLog = (obj: AwsEc2SecurityGroupPrefixListId): any => ({ ...obj, }); } /** - *

                                            Information about the destination of the next component in the network path.

                                            + *

                                            A relationship between a security group and a user.

                                            */ -export interface NetworkPathComponentDetails { +export interface AwsEc2SecurityGroupUserIdGroupPair { /** - *

                                            A list of port ranges for the destination.

                                            + *

                                            The name of the security group.

                                            */ - PortRanges?: PortRange[]; + GroupName?: string; /** - *

                                            The IP addresses of the destination.

                                            + *

                                            The ID of an AWS account.

                                            + *

                                            For a referenced security group in another VPC, the account ID of the referenced + * security group is returned in the response. If the referenced security group is deleted, + * this value is not returned.

                                            + *

                                            [EC2-Classic] Required when adding or removing rules that reference a security group in + * another AWS.

                                            */ - Address?: string[]; -} + UserId?: string; -export namespace NetworkPathComponentDetails { - export const filterSensitiveLog = (obj: NetworkPathComponentDetails): any => ({ - ...obj, - }); -} + /** + *

                                            The ID of the VPC peering connection, if applicable.

                                            + */ + VpcPeeringConnectionId?: string; -/** - *

                                            Details about a network path component that occurs before or after the current - * component.

                                            - */ -export interface NetworkHeader { /** - *

                                            The protocol used for the component.

                                            + *

                                            The ID of the security group.

                                            */ - Protocol?: string; + GroupId?: string; /** - *

                                            Information about the destination of the component.

                                            + *

                                            The ID of the VPC for the referenced security group, if applicable.

                                            */ - Destination?: NetworkPathComponentDetails; + VpcId?: string; /** - *

                                            Information about the origin of the component.

                                            + *

                                            The status of a VPC peering connection, if applicable.

                                            */ - Source?: NetworkPathComponentDetails; + PeeringStatus?: string; } -export namespace NetworkHeader { - export const filterSensitiveLog = (obj: NetworkHeader): any => ({ +export namespace AwsEc2SecurityGroupUserIdGroupPair { + export const filterSensitiveLog = (obj: AwsEc2SecurityGroupUserIdGroupPair): any => ({ ...obj, }); } /** - *

                                            Information about a network path component.

                                            + *

                                            An IP permission for an EC2 security group.

                                            */ -export interface NetworkPathComponent { +export interface AwsEc2SecurityGroupIpPermission { /** - *

                                            The type of component.

                                            + *

                                            The IP protocol name (tcp, udp, icmp, + * icmpv6) or number.

                                            + *

                                            [VPC only] Use -1 to specify all protocols.

                                            + *

                                            When authorizing security group rules, specifying -1 or a protocol number other than + * tcp, udp, icmp, or icmpv6 allows + * traffic on all ports, regardless of any port range you specify.

                                            + *

                                            For tcp, udp, and icmp, you must specify a port + * range.

                                            + *

                                            For icmpv6, the port range is optional. If you omit the port range, traffic + * for all types and codes is allowed.

                                            */ - ComponentType?: string; + IpProtocol?: string; /** - *

                                            The identifier of a component in the network path.

                                            + *

                                            The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type + * number.

                                            + *

                                            A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you + * must specify all codes.

                                            */ - ComponentId?: string; + FromPort?: number; /** - *

                                            Information about the component that comes after the current component in the network - * path.

                                            + *

                                            The IPv4 ranges.

                                            */ - Egress?: NetworkHeader; + IpRanges?: AwsEc2SecurityGroupIpRange[]; /** - *

                                            Information about the component that comes before the current node in the network - * path.

                                            + *

                                            The security group and AWS account ID pairs.

                                            */ - Ingress?: NetworkHeader; -} - -export namespace NetworkPathComponent { - export const filterSensitiveLog = (obj: NetworkPathComponent): any => ({ - ...obj, - }); -} + UserIdGroupPairs?: AwsEc2SecurityGroupUserIdGroupPair[]; -/** - *

                                            A user-defined note added to a finding.

                                            - */ -export interface Note { /** - *

                                            The text of a note.

                                            + *

                                            The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.

                                            + *

                                            A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you + * must specify all codes.

                                            */ - Text: string | undefined; + ToPort?: number; /** - *

                                            The timestamp of when the note was updated.

                                            + *

                                            [VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS + * service to access through a VPC endpoint from instances associated with the security + * group.

                                            */ - UpdatedAt: string | undefined; + PrefixListIds?: AwsEc2SecurityGroupPrefixListId[]; /** - *

                                            The principal that created a note.

                                            + *

                                            The IPv6 ranges.

                                            */ - UpdatedBy: string | undefined; + Ipv6Ranges?: AwsEc2SecurityGroupIpv6Range[]; } -export namespace Note { - export const filterSensitiveLog = (obj: Note): any => ({ +export namespace AwsEc2SecurityGroupIpPermission { + export const filterSensitiveLog = (obj: AwsEc2SecurityGroupIpPermission): any => ({ ...obj, }); } /** - *

                                            The details of process-related information about a finding.

                                            + *

                                            Details about an EC2 security group.

                                            */ -export interface ProcessDetails { +export interface AwsEc2SecurityGroupDetails { /** - *

                                            The process ID.

                                            + *

                                            [VPC only] The ID of the VPC for the security group.

                                            */ - Pid?: number; + VpcId?: string; /** - *

                                            The date/time that the process was launched.

                                            + *

                                            The name of the security group.

                                            */ - LaunchedAt?: string; + GroupName?: string; /** - *

                                            The parent process ID.

                                            + *

                                            [VPC only] The outbound rules associated with the security group.

                                            */ - ParentPid?: number; + IpPermissionsEgress?: AwsEc2SecurityGroupIpPermission[]; /** - *

                                            The date and time when the process was terminated.

                                            + *

                                            The AWS account ID of the owner of the security group.

                                            */ - TerminatedAt?: string; + OwnerId?: string; /** - *

                                            The path to the process executable.

                                            + *

                                            The ID of the security group.

                                            */ - Path?: string; + GroupId?: string; /** - *

                                            The name of the process.

                                            + *

                                            The inbound rules associated with the security group.

                                            */ - Name?: string; + IpPermissions?: AwsEc2SecurityGroupIpPermission[]; } -export namespace ProcessDetails { - export const filterSensitiveLog = (obj: ProcessDetails): any => ({ +export namespace AwsEc2SecurityGroupDetails { + export const filterSensitiveLog = (obj: AwsEc2SecurityGroupDetails): any => ({ ...obj, }); } -export enum RecordState { - ACTIVE = "ACTIVE", - ARCHIVED = "ARCHIVED", -} - /** - *

                                            Details about a related finding.

                                            + *

                                            An attachment to an AWS EC2 volume.

                                            */ -export interface RelatedFinding { +export interface AwsEc2VolumeAttachment { /** - *

                                            The ARN of the product that generated a related finding.

                                            + *

                                            The identifier of the EC2 instance.

                                            */ - ProductArn: string | undefined; + InstanceId?: string; /** - *

                                            The product-generated identifier for a related finding.

                                            + *

                                            Whether the EBS volume is deleted when the EC2 instance is terminated.

                                            */ - Id: string | undefined; + DeleteOnTermination?: boolean; + + /** + *

                                            The datetime when the attachment initiated.

                                            + */ + AttachTime?: string; + + /** + *

                                            The attachment state of the volume.

                                            + */ + Status?: string; } -export namespace RelatedFinding { - export const filterSensitiveLog = (obj: RelatedFinding): any => ({ +export namespace AwsEc2VolumeAttachment { + export const filterSensitiveLog = (obj: AwsEc2VolumeAttachment): any => ({ ...obj, }); } /** - *

                                            A recommendation on how to remediate the issue identified in a finding.

                                            + *

                                            Details about an EC2 volume.

                                            */ -export interface Recommendation { +export interface AwsEc2VolumeDetails { /** - *

                                            Describes the recommended steps to take to remediate an issue identified in a finding.

                                            + *

                                            The volume attachments.

                                            */ - Text?: string; + Attachments?: AwsEc2VolumeAttachment[]; /** - *

                                            A URL to a page or site that contains information about how to remediate a finding.

                                            + *

                                            Whether the volume is encrypted.

                                            */ - Url?: string; -} + Encrypted?: boolean; -export namespace Recommendation { - export const filterSensitiveLog = (obj: Recommendation): any => ({ - ...obj, - }); -} + /** + *

                                            The snapshot from which the volume was created.

                                            + */ + SnapshotId?: string; -/** - *

                                            Details about the remediation steps for a finding.

                                            - */ -export interface Remediation { /** - *

                                            A recommendation on the steps to take to remediate the issue identified by a finding.

                                            + *

                                            The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was + * used to protect the volume encryption key for the volume.

                                            */ - Recommendation?: Recommendation; + KmsKeyId?: string; + + /** + *

                                            The size of the volume, in GiBs.

                                            + */ + Size?: number; + + /** + *

                                            Indicates when the volume was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + CreateTime?: string; + + /** + *

                                            The volume state.

                                            + */ + Status?: string; } -export namespace Remediation { - export const filterSensitiveLog = (obj: Remediation): any => ({ +export namespace AwsEc2VolumeDetails { + export const filterSensitiveLog = (obj: AwsEc2VolumeDetails): any => ({ ...obj, }); } /** - *

                                            A wrapper type for the attributes of an Amazon SNS subscription.

                                            + *

                                            An IPv4 CIDR block association.

                                            */ -export interface AwsSnsTopicSubscription { +export interface CidrBlockAssociation { /** - *

                                            The subscription's endpoint (format depends on the protocol).

                                            + *

                                            The IPv4 CIDR block.

                                            */ - Endpoint?: string; + CidrBlock?: string; /** - *

                                            The subscription's protocol.

                                            + *

                                            The association ID for the IPv4 CIDR block.

                                            */ - Protocol?: string; + AssociationId?: string; + + /** + *

                                            Information about the state of the IPv4 CIDR block.

                                            + */ + CidrBlockState?: string; } -export namespace AwsSnsTopicSubscription { - export const filterSensitiveLog = (obj: AwsSnsTopicSubscription): any => ({ +export namespace CidrBlockAssociation { + export const filterSensitiveLog = (obj: CidrBlockAssociation): any => ({ ...obj, }); } /** - *

                                            A wrapper type for the topic's Amazon Resource Name (ARN).

                                            + *

                                            An IPV6 CIDR block association.

                                            */ -export interface AwsSnsTopicDetails { - /** - *

                                            The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom - * CMK.

                                            - */ - KmsMasterKeyId?: string; - +export interface Ipv6CidrBlockAssociation { /** - *

                                            Subscription is an embedded property that describes the subscription endpoints of an Amazon SNS topic.

                                            + *

                                            The association ID for the IPv6 CIDR block.

                                            */ - Subscription?: AwsSnsTopicSubscription[]; + AssociationId?: string; /** - *

                                            The name of the topic.

                                            + *

                                            The IPv6 CIDR block.

                                            */ - TopicName?: string; + Ipv6CidrBlock?: string; /** - *

                                            The subscription's owner.

                                            + *

                                            Information about the state of the CIDR block.

                                            */ - Owner?: string; + CidrBlockState?: string; } -export namespace AwsSnsTopicDetails { - export const filterSensitiveLog = (obj: AwsSnsTopicDetails): any => ({ +export namespace Ipv6CidrBlockAssociation { + export const filterSensitiveLog = (obj: Ipv6CidrBlockAssociation): any => ({ ...obj, }); } /** - *

                                            Data about a queue.

                                            + *

                                            Details about an EC2 VPC.

                                            */ -export interface AwsSqsQueueDetails { +export interface AwsEc2VpcDetails { /** - *

                                            The name of the new queue.

                                            + *

                                            The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options that are + * associated with the VPC. If the default options are associated with the VPC, then this is + * default.

                                            */ - QueueName?: string; + DhcpOptionsId?: string; /** - *

                                            The ID of an AWS managed customer master key (CMK) for Amazon SQS or a custom - * CMK.

                                            + *

                                            The current state of the VPC.

                                            */ - KmsMasterKeyId?: string; + State?: string; /** - *

                                            The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves - * messages after the value of maxReceiveCount is exceeded.

                                            + *

                                            Information about the IPv4 CIDR blocks associated with the VPC.

                                            */ - DeadLetterTargetArn?: string; + CidrBlockAssociationSet?: CidrBlockAssociation[]; /** - *

                                            The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again.

                                            + *

                                            Information about the IPv6 CIDR blocks associated with the VPC.

                                            */ - KmsDataKeyReusePeriodSeconds?: number; + Ipv6CidrBlockAssociationSet?: Ipv6CidrBlockAssociation[]; } -export namespace AwsSqsQueueDetails { - export const filterSensitiveLog = (obj: AwsSqsQueueDetails): any => ({ +export namespace AwsEc2VpcDetails { + export const filterSensitiveLog = (obj: AwsEc2VpcDetails): any => ({ ...obj, }); } /** - *

                                            Details about the action that CloudFront or AWS WAF takes when a web request matches the - * conditions in the rule.

                                            + *

                                            Additional options for the domain endpoint, such as whether to require HTTPS for all + * traffic.

                                            */ -export interface WafAction { +export interface AwsElasticsearchDomainDomainEndpointOptions { /** - *

                                            Specifies how you want AWS WAF to respond to requests that match the settings in a - * rule.

                                            - *

                                            Valid settings include the following:

                                            + *

                                            Whether to require that all traffic to the domain arrive over HTTPS.

                                            + */ + EnforceHTTPS?: boolean; + + /** + *

                                            The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch + * domain.

                                            + *

                                            Valid values:

                                            *
                                              *
                                            • *

                                              - * ALLOW - AWS WAF allows requests

                                              - *
                                            • - *
                                            • - *

                                              - * BLOCK - AWS WAF blocks requests

                                              + * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher

                                              *
                                            • *
                                            • *

                                              - * COUNT - AWS WAF increments a counter of the requests that match all - * of the conditions in the rule. AWS WAF then continues to inspect the web request - * based on the remaining rules in the web ACL. You can't specify COUNT for - * the default action for a WebACL.

                                              + * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2

                                              *
                                            • *
                                            */ - Type?: string; + TLSSecurityPolicy?: string; } -export namespace WafAction { - export const filterSensitiveLog = (obj: WafAction): any => ({ +export namespace AwsElasticsearchDomainDomainEndpointOptions { + export const filterSensitiveLog = (obj: AwsElasticsearchDomainDomainEndpointOptions): any => ({ ...obj, }); } /** - *

                                            Details about a rule to exclude from a rule group.

                                            + *

                                            Details about the configuration for encryption at rest.

                                            */ -export interface WafExcludedRule { +export interface AwsElasticsearchDomainEncryptionAtRestOptions { /** - *

                                            The unique identifier for the rule to exclude from the rule group.

                                            + *

                                            The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.

                                            */ - RuleId?: string; + KmsKeyId?: string; + + /** + *

                                            Whether encryption at rest is enabled.

                                            + */ + Enabled?: boolean; } -export namespace WafExcludedRule { - export const filterSensitiveLog = (obj: WafExcludedRule): any => ({ +export namespace AwsElasticsearchDomainEncryptionAtRestOptions { + export const filterSensitiveLog = (obj: AwsElasticsearchDomainEncryptionAtRestOptions): any => ({ ...obj, }); } /** - *

                                            Details about an override action for a rule.

                                            + *

                                            Details about the configuration for node-to-node encryption.

                                            */ -export interface WafOverrideAction { +export interface AwsElasticsearchDomainNodeToNodeEncryptionOptions { /** - *

                                            - * COUNT overrides the action specified by the individual rule within a - * RuleGroup .

                                            - *

                                            If set to NONE, the rule's action takes place.

                                            + *

                                            Whether node-to-node encryption is enabled.

                                            */ - Type?: string; + Enabled?: boolean; } -export namespace WafOverrideAction { - export const filterSensitiveLog = (obj: WafOverrideAction): any => ({ +export namespace AwsElasticsearchDomainNodeToNodeEncryptionOptions { + export const filterSensitiveLog = (obj: AwsElasticsearchDomainNodeToNodeEncryptionOptions): any => ({ ...obj, }); } /** - *

                                            Details for a rule in a WAF WebACL.

                                            + *

                                            Information that Amazon ES derives based on VPCOptions for the + * domain.

                                            */ -export interface AwsWafWebAclRule { - /** - *

                                            Use the OverrideAction to test your RuleGroup.

                                            - *

                                            Any rule in a RuleGroup can potentially block a request. If you set the - * OverrideAction to None, the RuleGroup blocks a request if any - * individual rule in the RuleGroup matches the request and is configured to block that - * request.

                                            - *

                                            However, if you first want to test the RuleGroup, set the OverrideAction to - * Count. The RuleGroup then overrides any block action specified by - * individual rules contained within the group. Instead of blocking matching requests, those - * requests are counted.

                                            - *

                                            - * ActivatedRule|OverrideAction applies only when updating or - * adding a RuleGroup to a WebACL. In this case you do not use - * ActivatedRule|Action. For all other update requests, - * ActivatedRule|Action is used instead of - * ActivatedRule|OverrideAction.

                                            - */ - OverrideAction?: WafOverrideAction; - - /** - *

                                            Specifies the action that CloudFront or AWS WAF takes when a web request matches the - * conditions in the rule.

                                            - */ - Action?: WafAction; - +export interface AwsElasticsearchDomainVPCOptions { /** - *

                                            Specifies the order in which the rules in a WebACL are evaluated. Rules with a lower - * value for Priority are evaluated before rules with a higher value. The value - * must be a unique integer. If you add multiple rules to a WebACL, the values do not need to - * be consecutive.

                                            + *

                                            A list of subnet IDs associated with the VPC endpoints for the domain.

                                            */ - Priority?: number; + SubnetIds?: string[]; /** - *

                                            The identifier for a rule.

                                            + *

                                            The list of security group IDs associated with the VPC endpoints for the domain.

                                            */ - RuleId?: string; + SecurityGroupIds?: string[]; /** - *

                                            The rule type.

                                            - *

                                            Valid values: REGULAR | RATE_BASED | GROUP - *

                                            - *

                                            The default is REGULAR.

                                            + *

                                            ID for the VPC.

                                            */ - Type?: string; + VPCId?: string; /** - *

                                            Rules to exclude from a rule group.

                                            + *

                                            The list of Availability Zones associated with the VPC subnets.

                                            */ - ExcludedRules?: WafExcludedRule[]; + AvailabilityZones?: string[]; } -export namespace AwsWafWebAclRule { - export const filterSensitiveLog = (obj: AwsWafWebAclRule): any => ({ +export namespace AwsElasticsearchDomainVPCOptions { + export const filterSensitiveLog = (obj: AwsElasticsearchDomainVPCOptions): any => ({ ...obj, }); } /** - *

                                            Details about a WAF WebACL.

                                            + *

                                            Information about an Elasticsearch domain.

                                            */ -export interface AwsWafWebAclDetails { +export interface AwsElasticsearchDomainDetails { /** - *

                                            A unique identifier for a WebACL.

                                            + *

                                            Unique identifier for an Amazon ES domain.

                                            */ - WebAclId?: string; + DomainId?: string; /** - *

                                            A friendly name or description of the WebACL. You can't change the name of a WebACL - * after you create it.

                                            + *

                                            Domain-specific endpoint used to submit index, search, and data upload requests to an + * Amazon ES domain.

                                            + *

                                            The endpoint is a service URL.

                                            */ - Name?: string; + Endpoint?: string; /** - *

                                            An array that contains the action for each rule in a WebACL, the priority of the rule, - * and the ID of the rule.

                                            - */ - Rules?: AwsWafWebAclRule[]; + *

                                            Information that Amazon ES derives based on VPCOptions for the + * domain.

                                            + */ + VPCOptions?: AwsElasticsearchDomainVPCOptions; /** - *

                                            The action to perform if none of the rules contained in the WebACL match.

                                            + *

                                            Details about the configuration for node-to-node encryption.

                                            */ - DefaultAction?: string; -} + NodeToNodeEncryptionOptions?: AwsElasticsearchDomainNodeToNodeEncryptionOptions; -export namespace AwsWafWebAclDetails { - export const filterSensitiveLog = (obj: AwsWafWebAclDetails): any => ({ - ...obj, - }); -} + /** + *

                                            IAM policy document specifying the access policies for the new Amazon ES domain.

                                            + */ + AccessPolicies?: string; -/** - *

                                            Container details related to a finding.

                                            - */ -export interface ContainerDetails { /** - *

                                            The name of the container related to a finding.

                                            + *

                                            Details about the configuration for encryption at rest.

                                            */ - Name?: string; + EncryptionAtRestOptions?: AwsElasticsearchDomainEncryptionAtRestOptions; /** - *

                                            The identifier of the image related to a finding.

                                            + *

                                            Additional options for the domain endpoint.

                                            */ - ImageId?: string; + DomainEndpointOptions?: AwsElasticsearchDomainDomainEndpointOptions; + + /** + *

                                            The key-value pair that exists if the Amazon ES domain uses VPC endpoints.

                                            + */ + Endpoints?: { [key: string]: string }; /** - *

                                            The date and time when the container started.

                                            + *

                                            Name of an Amazon ES domain.

                                            + *

                                            Domain names are unique across all domains owned by the same account within an AWS + * Region.

                                            + *

                                            Domain names must start with a lowercase letter and must be between 3 and 28 + * characters.

                                            + *

                                            Valid characters are a-z (lowercase only), 0-9, and – (hyphen).

                                            */ - LaunchedAt?: string; + DomainName?: string; /** - *

                                            The name of the image related to a finding.

                                            + *

                                            Elasticsearch version.

                                            */ - ImageName?: string; + ElasticsearchVersion?: string; } -export namespace ContainerDetails { - export const filterSensitiveLog = (obj: ContainerDetails): any => ({ +export namespace AwsElasticsearchDomainDetails { + export const filterSensitiveLog = (obj: AwsElasticsearchDomainDetails): any => ({ ...obj, }); } /** - *

                                            Additional details about a resource related to a finding.

                                            - *

                                            To provide the details, use the object that corresponds to the resource type. For - * example, if the resource type is AwsEc2Instance, then you use the - * AwsEc2Instance object to provide the details.

                                            - *

                                            If the type-specific object does not contain all of the fields you want to populate, - * then you use the Other object to populate those additional fields.

                                            - *

                                            You also use the Other object to populate the details when the selected - * type does not have a corresponding object.

                                            + *

                                            Contains information about a stickiness policy that was created using + * CreateAppCookieStickinessPolicy.

                                            */ -export interface ResourceDetails { +export interface AwsElbAppCookieStickinessPolicy { /** - *

                                            Details about an Amazon S3 object related to a finding.

                                            + *

                                            The mnemonic name for the policy being created. The name must be unique within the set + * of policies for the load balancer.

                                            */ - AwsS3Object?: AwsS3ObjectDetails; + PolicyName?: string; /** - *

                                            Details about an SNS topic.

                                            + *

                                            The name of the application cookie used for stickiness.

                                            */ - AwsSnsTopic?: AwsSnsTopicDetails; + CookieName?: string; +} + +export namespace AwsElbAppCookieStickinessPolicy { + export const filterSensitiveLog = (obj: AwsElbAppCookieStickinessPolicy): any => ({ + ...obj, + }); +} +/** + *

                                            Contains information about a stickiness policy that was created using + * CreateLBCookieStickinessPolicy.

                                            + */ +export interface AwsElbLbCookieStickinessPolicy { /** - *

                                            Details for an AWS CodeBuild project.

                                            + *

                                            The name of the policy. The name must be unique within the set of policies for the load + * balancer.

                                            */ - AwsCodeBuildProject?: AwsCodeBuildProjectDetails; + PolicyName?: string; /** - *

                                            Details about a container resource related to a finding.

                                            + *

                                            The amount of time, in seconds, after which the cookie is considered stale. If an + * expiration period is not specified, the stickiness session lasts for the duration of the + * browser session.

                                            */ - Container?: ContainerDetails; + CookieExpirationPeriod?: number; +} + +export namespace AwsElbLbCookieStickinessPolicy { + export const filterSensitiveLog = (obj: AwsElbLbCookieStickinessPolicy): any => ({ + ...obj, + }); +} +/** + *

                                            Contains information about the access log configuration for the load balancer.

                                            + */ +export interface AwsElbLoadBalancerAccessLog { /** - *

                                            Details about an Amazon EC2 instance related to a finding.

                                            + *

                                            The logical hierarchy that was created for the S3 bucket.

                                            + *

                                            If a prefix is not provided, the log is placed at the root level of the bucket.

                                            */ - AwsEc2Instance?: AwsEc2InstanceDetails; + S3BucketPrefix?: string; /** - *

                                            Details for an EC2 VPC.

                                            + *

                                            The interval in minutes for publishing the access logs.

                                            + *

                                            You can publish access logs either every 5 minutes or every 60 minutes.

                                            */ - AwsEc2Vpc?: AwsEc2VpcDetails; + EmitInterval?: number; /** - *

                                            Details about a KMS key.

                                            + *

                                            The name of the S3 bucket where the access logs are stored.

                                            */ - AwsKmsKey?: AwsKmsKeyDetails; + S3BucketName?: string; /** - *

                                            Details for an autoscaling group.

                                            + *

                                            Indicates whether access logs are enabled for the load balancer.

                                            */ - AwsAutoScalingAutoScalingGroup?: AwsAutoScalingAutoScalingGroupDetails; + Enabled?: boolean; +} + +export namespace AwsElbLoadBalancerAccessLog { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerAccessLog): any => ({ + ...obj, + }); +} +/** + *

                                            Contains information about the connection draining configuration for the load + * balancer.

                                            + */ +export interface AwsElbLoadBalancerConnectionDraining { /** - *

                                            Details about a CloudFront distribution.

                                            + *

                                            The maximum time, in seconds, to keep the existing connections open before deregistering + * the instances.

                                            */ - AwsCloudFrontDistribution?: AwsCloudFrontDistributionDetails; + Timeout?: number; /** - *

                                            Details about a Lambda function.

                                            + *

                                            Indicates whether connection draining is enabled for the load balancer.

                                            */ - AwsLambdaFunction?: AwsLambdaFunctionDetails; + Enabled?: boolean; +} + +export namespace AwsElbLoadBalancerConnectionDraining { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerConnectionDraining): any => ({ + ...obj, + }); +} +/** + *

                                            Contains connection settings for the load balancer.

                                            + */ +export interface AwsElbLoadBalancerConnectionSettings { /** - *

                                            Details about an Amazon S3 bucket related to a finding.

                                            + *

                                            The time, in seconds, that the connection can be idle (no data is sent over the + * connection) before it is closed by the load balancer.

                                            */ - AwsS3Bucket?: AwsS3BucketDetails; + IdleTimeout?: number; +} + +export namespace AwsElbLoadBalancerConnectionSettings { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerConnectionSettings): any => ({ + ...obj, + }); +} +/** + *

                                            Contains cross-zone load balancing settings for the load balancer.

                                            + */ +export interface AwsElbLoadBalancerCrossZoneLoadBalancing { /** - *

                                            Details for an Amazon EC2 network interface.

                                            + *

                                            Indicates whether cross-zone load balancing is enabled for the load balancer.

                                            */ - AwsEc2NetworkInterface?: AwsEc2NetworkInterfaceDetails; + Enabled?: boolean; +} + +export namespace AwsElbLoadBalancerCrossZoneLoadBalancing { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerCrossZoneLoadBalancing): any => ({ + ...obj, + }); +} +/** + *

                                            Contains attributes for the load balancer.

                                            + */ +export interface AwsElbLoadBalancerAttributes { /** - *

                                            Details about an SQS queue.

                                            + *

                                            Information about the connection draining configuration for the load balancer.

                                            + *

                                            If connection draining is enabled, the load balancer allows existing requests to + * complete before it shifts traffic away from a deregistered or unhealthy instance.

                                            */ - AwsSqsQueue?: AwsSqsQueueDetails; + ConnectionDraining?: AwsElbLoadBalancerConnectionDraining; /** - *

                                            Details for an EC2 security group.

                                            + *

                                            Connection settings for the load balancer.

                                            + *

                                            If an idle timeout is configured, the load balancer allows connections to remain idle + * for the specified duration. When a connection is idle, no data is sent over the + * connection.

                                            */ - AwsEc2SecurityGroup?: AwsEc2SecurityGroupDetails; + ConnectionSettings?: AwsElbLoadBalancerConnectionSettings; /** - *

                                            Details about an IAM role.

                                            + *

                                            Cross-zone load balancing settings for the load balancer.

                                            + *

                                            If cross-zone load balancing is enabled, the load balancer routes the request traffic + * evenly across all instances regardless of the Availability Zones.

                                            */ - AwsIamRole?: AwsIamRoleDetails; + CrossZoneLoadBalancing?: AwsElbLoadBalancerCrossZoneLoadBalancing; /** - *

                                            Details for an Elasticsearch domain.

                                            + *

                                            Information about the access log configuration for the load balancer.

                                            + *

                                            If the access log is enabled, the load balancer captures detailed information about all + * requests. It delivers the information to a specified S3 bucket.

                                            */ - AwsElasticsearchDomain?: AwsElasticsearchDomainDetails; + AccessLog?: AwsElbLoadBalancerAccessLog; +} + +export namespace AwsElbLoadBalancerAttributes { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerAttributes): any => ({ + ...obj, + }); +} +/** + *

                                            Provides information about the configuration of an EC2 instance for the load + * balancer.

                                            + */ +export interface AwsElbLoadBalancerBackendServerDescription { /** - *

                                            Details for an Amazon RDS database instance.

                                            + *

                                            The port on which the EC2 instance is listening.

                                            */ - AwsRdsDbInstance?: AwsRdsDbInstanceDetails; + InstancePort?: number; /** - *

                                            Details for an EC2 volume.

                                            + *

                                            The names of the policies that are enabled for the EC2 instance.

                                            */ - AwsEc2Volume?: AwsEc2VolumeDetails; + PolicyNames?: string[]; +} + +export namespace AwsElbLoadBalancerBackendServerDescription { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerBackendServerDescription): any => ({ + ...obj, + }); +} +/** + *

                                            Contains information about the health checks that are conducted on the load + * balancer.

                                            + */ +export interface AwsElbLoadBalancerHealthCheck { /** - *

                                            Details about a load balancer.

                                            + *

                                            The amount of time, in seconds, during which no response means a failed health + * check.

                                            */ - AwsElbv2LoadBalancer?: AwsElbv2LoadBalancerDetails; + Timeout?: number; /** - *

                                            Details for a Lambda layer version.

                                            + *

                                            The number of consecutive health check failures that must occur before the instance is + * moved to the Unhealthy state.

                                            */ - AwsLambdaLayerVersion?: AwsLambdaLayerVersionDetails; + UnhealthyThreshold?: number; /** - *

                                            Details about an IAM access key related to a finding.

                                            + *

                                            The number of consecutive health check successes required before the instance is moved + * to the Healthy state.

                                            */ - AwsIamAccessKey?: AwsIamAccessKeyDetails; + HealthyThreshold?: number; /** - *

                                            Details for a WAF WebACL.

                                            + *

                                            The instance that is being checked. The target specifies the protocol and port. The + * available protocols are TCP, SSL, HTTP, and HTTPS. The range of valid ports is 1 through + * 65535.

                                            + *

                                            For the HTTP and HTTPS protocols, the target also specifies the ping path.

                                            + *

                                            For the TCP protocol, the target is specified as TCP: + * + * .

                                            + *

                                            For the SSL protocol, the target is specified as + * SSL. + * .

                                            + *

                                            For the HTTP and HTTPS protocols, the target is specified as + * + * :/ + * .

                                            */ - AwsWafWebAcl?: AwsWafWebAclDetails; + Target?: string; /** - *

                                            Details about a resource that are not available in a type-specific details object. Use - * the Other object in the following cases.

                                            - *
                                              - *
                                            • - *

                                              The type-specific object does not contain all of the fields that you want to - * populate. In this case, first use the type-specific object to populate those fields. - * Use the Other object to populate the fields that are missing from the - * type-specific object.

                                              - *
                                            • - *
                                            • - *

                                              The resource type does not have a corresponding object. This includes resources - * for which the type is Other.

                                              - *
                                            • - *
                                            + *

                                            The approximate interval, in seconds, between health checks of an individual + * instance.

                                            */ - Other?: { [key: string]: string }; + Interval?: number; } -export namespace ResourceDetails { - export const filterSensitiveLog = (obj: ResourceDetails): any => ({ +export namespace AwsElbLoadBalancerHealthCheck { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerHealthCheck): any => ({ ...obj, }); } -export enum Partition { - AWS = "aws", - AWS_CN = "aws-cn", - AWS_US_GOV = "aws-us-gov", -} - /** - *

                                            A resource related to a finding.

                                            + *

                                            Provides information about an EC2 instance for a load balancer.

                                            */ -export interface Resource { +export interface AwsElbLoadBalancerInstance { /** - *

                                            The canonical AWS external Region name where this resource is located.

                                            + *

                                            The instance identifier.

                                            */ - Region?: string; + InstanceId?: string; +} + +export namespace AwsElbLoadBalancerInstance { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerInstance): any => ({ + ...obj, + }); +} +/** + *

                                            Information about a load balancer listener.

                                            + */ +export interface AwsElbLoadBalancerListener { /** - *

                                            The type of the resource that details are provided for. If possible, set - * Type to one of the supported resource types. For example, if the resource - * is an EC2 instance, then set Type to AwsEc2Instance.

                                            - *

                                            If the resource does not match any of the provided types, then set Type to - * Other.

                                            + *

                                            The protocol to use to route traffic to instances.

                                            + *

                                            Valid values: HTTP | HTTPS | TCP | + * SSL + *

                                            */ - Type: string | undefined; + InstanceProtocol?: string; /** - *

                                            A list of AWS tags associated with a resource at the time the finding was - * processed.

                                            + *

                                            The port on which the instance is listening.

                                            */ - Tags?: { [key: string]: string }; + InstancePort?: number; /** - *

                                            Additional details about the resource related to a finding.

                                            + *

                                            The ARN of the server certificate.

                                            */ - Details?: ResourceDetails; + SslCertificateId?: string; /** - *

                                            The canonical AWS partition name that the Region is assigned to.

                                            + *

                                            The load balancer transport protocol to use for routing.

                                            + *

                                            Valid values: HTTP | HTTPS | TCP | + * SSL + *

                                            */ - Partition?: Partition | string; + Protocol?: string; /** - *

                                            The canonical identifier for the given resource type.

                                            + *

                                            The port on which the load balancer is listening.

                                            + *

                                            On EC2-VPC, you can specify any port from the range 1-65535.

                                            + *

                                            On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, + * 1024-65535.

                                            */ - Id: string | undefined; + LoadBalancerPort?: number; } -export namespace Resource { - export const filterSensitiveLog = (obj: Resource): any => ({ +export namespace AwsElbLoadBalancerListener { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerListener): any => ({ ...obj, }); } -export enum SeverityLabel { - CRITICAL = "CRITICAL", - HIGH = "HIGH", - INFORMATIONAL = "INFORMATIONAL", - LOW = "LOW", - MEDIUM = "MEDIUM", +/** + *

                                            Lists the policies that are enabled for a load balancer listener.

                                            + */ +export interface AwsElbLoadBalancerListenerDescription { + /** + *

                                            The policies enabled for the listener.

                                            + */ + PolicyNames?: string[]; + + /** + *

                                            Information about the listener.

                                            + */ + Listener?: AwsElbLoadBalancerListener; +} + +export namespace AwsElbLoadBalancerListenerDescription { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerListenerDescription): any => ({ + ...obj, + }); } /** - *

                                            The severity of the finding.

                                            - *

                                            The finding provider can provide the initial severity, but cannot update it after that. - * The severity can only be updated by a master account. It cannot be updated by a member - * account.

                                            - *

                                            The finding must have either Label or Normalized populated. If - * only one of these attributes is populated, then Security Hub automatically populates the other - * one. If neither attribute is populated, then the finding is invalid. Label is - * the preferred attribute.

                                            + *

                                            Contains information about the policies for a load balancer.

                                            */ -export interface Severity { +export interface AwsElbLoadBalancerPolicies { /** - *

                                            The native severity from the finding product that generated the finding.

                                            + *

                                            The policies other than the stickiness policies.

                                            */ - Original?: string; + OtherPolicies?: string[]; /** - *

                                            Deprecated. The normalized severity of a finding. This attribute is being deprecated. - * Instead of providing Normalized, provide Label.

                                            - *

                                            If you provide Label and do not provide Normalized, then - * Normalized is set automatically as follows.

                                            - *
                                              - *
                                            • - *

                                              - * INFORMATIONAL - 0

                                              - *
                                            • - *
                                            • - *

                                              - * LOW - 1

                                              - *
                                            • - *
                                            • - *

                                              - * MEDIUM - 40

                                              - *
                                            • - *
                                            • - *

                                              - * HIGH - 70

                                              - *
                                            • - *
                                            • - *

                                              - * CRITICAL - 90

                                              - *
                                            • - *
                                            - */ - Normalized?: number; - - /** - *

                                            Deprecated. This attribute is being deprecated. Instead of providing - * Product, provide Original.

                                            - *

                                            The native severity as defined by the AWS service or integrated partner product that - * generated the finding.

                                            + *

                                            The stickiness policies that are created using + * CreateLBCookieStickinessPolicy.

                                            */ - Product?: number; + LbCookieStickinessPolicies?: AwsElbLbCookieStickinessPolicy[]; /** - *

                                            The severity value of the finding. The allowed values are the following.

                                            - *
                                              - *
                                            • - *

                                              - * INFORMATIONAL - No issue was found.

                                              - *
                                            • - *
                                            • - *

                                              - * LOW - The issue does not require action on its own.

                                              - *
                                            • - *
                                            • - *

                                              - * MEDIUM - The issue must be addressed but not urgently.

                                              - *
                                            • - *
                                            • - *

                                              - * HIGH - The issue must be addressed as a priority.

                                              - *
                                            • - *
                                            • - *

                                              - * CRITICAL - The issue must be remediated immediately to avoid it - * escalating.

                                              - *
                                            • - *
                                            - *

                                            If you provide Normalized and do not provide Label, then - * Label is set automatically as follows.

                                            - *
                                              - *
                                            • - *

                                              0 - INFORMATIONAL - *

                                              - *
                                            • - *
                                            • - *

                                              1–39 - LOW - *

                                              - *
                                            • - *
                                            • - *

                                              40–69 - MEDIUM - *

                                              - *
                                            • - *
                                            • - *

                                              70–89 - HIGH - *

                                              - *
                                            • - *
                                            • - *

                                              90–100 - CRITICAL - *

                                              - *
                                            • - *
                                            + *

                                            The stickiness policies that are created using + * CreateAppCookieStickinessPolicy.

                                            */ - Label?: SeverityLabel | string; + AppCookieStickinessPolicies?: AwsElbAppCookieStickinessPolicy[]; } -export namespace Severity { - export const filterSensitiveLog = (obj: Severity): any => ({ +export namespace AwsElbLoadBalancerPolicies { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerPolicies): any => ({ ...obj, }); } -export enum ThreatIntelIndicatorCategory { - BACKDOOR = "BACKDOOR", - CARD_STEALER = "CARD_STEALER", - COMMAND_AND_CONTROL = "COMMAND_AND_CONTROL", - DROP_SITE = "DROP_SITE", - EXPLOIT_SITE = "EXPLOIT_SITE", - KEYLOGGER = "KEYLOGGER", +/** + *

                                            Contains information about the security group for the load balancer.

                                            + */ +export interface AwsElbLoadBalancerSourceSecurityGroup { + /** + *

                                            The name of the security group.

                                            + */ + GroupName?: string; + + /** + *

                                            The owner of the security group.

                                            + */ + OwnerAlias?: string; } -export enum ThreatIntelIndicatorType { - DOMAIN = "DOMAIN", - EMAIL_ADDRESS = "EMAIL_ADDRESS", - HASH_MD5 = "HASH_MD5", - HASH_SHA1 = "HASH_SHA1", - HASH_SHA256 = "HASH_SHA256", - HASH_SHA512 = "HASH_SHA512", - IPV4_ADDRESS = "IPV4_ADDRESS", - IPV6_ADDRESS = "IPV6_ADDRESS", - MUTEX = "MUTEX", - PROCESS = "PROCESS", - URL = "URL", +export namespace AwsElbLoadBalancerSourceSecurityGroup { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerSourceSecurityGroup): any => ({ + ...obj, + }); } /** - *

                                            Details about the threat intelligence related to a finding.

                                            + *

                                            Contains details about a Classic Load Balancer.

                                            */ -export interface ThreatIntelIndicator { +export interface AwsElbLoadBalancerDetails { /** - *

                                            The value of a threat intelligence indicator.

                                            + *

                                            The ID of the Amazon Route 53 hosted zone for the load balancer.

                                            */ - Value?: string; + CanonicalHostedZoneNameID?: string; /** - *

                                            The URL to the page or site where you can get more information about the threat - * intelligence indicator.

                                            + *

                                            The identifier of the VPC for the load balancer.

                                            */ - SourceUrl?: string; + VpcId?: string; /** - *

                                            The type of threat intelligence indicator.

                                            + *

                                            Information about the configuration of the EC2 instances.

                                            */ - Type?: ThreatIntelIndicatorType | string; + BackendServerDescriptions?: AwsElbLoadBalancerBackendServerDescription[]; /** - *

                                            The category of a threat intelligence indicator.

                                            + *

                                            Information about the health checks that are conducted on the load balancer.

                                            */ - Category?: ThreatIntelIndicatorCategory | string; + HealthCheck?: AwsElbLoadBalancerHealthCheck; /** - *

                                            The source of the threat intelligence indicator.

                                            + *

                                            The policies that are enabled for the load balancer listeners.

                                            */ - Source?: string; + ListenerDescriptions?: AwsElbLoadBalancerListenerDescription[]; /** - *

                                            The date and time when the most recent instance of a threat intelligence indicator was - * observed.

                                            + *

                                            List of EC2 instances for the load balancer.

                                            */ - LastObservedAt?: string; -} + Instances?: AwsElbLoadBalancerInstance[]; -export namespace ThreatIntelIndicator { - export const filterSensitiveLog = (obj: ThreatIntelIndicator): any => ({ - ...obj, - }); -} + /** + *

                                            The type of load balancer. Only provided if the load balancer is in a VPC.

                                            + *

                                            If Scheme is internet-facing, the load balancer has a public + * DNS name that resolves to a public IP address.

                                            + *

                                            If Scheme is internal, the load balancer has a public DNS name + * that resolves to a private IP address.

                                            + */ + Scheme?: string; -export enum VerificationState { - BENIGN_POSITIVE = "BENIGN_POSITIVE", - FALSE_POSITIVE = "FALSE_POSITIVE", - TRUE_POSITIVE = "TRUE_POSITIVE", - UNKNOWN = "UNKNOWN", -} + /** + *

                                            The name of the Amazon Route 53 hosted zone for the load balancer.

                                            + */ + CanonicalHostedZoneName?: string; -/** - *

                                            CVSS scores from the advisory related to the vulnerability.

                                            - */ -export interface Cvss { /** - *

                                            The version of CVSS for the CVSS score.

                                            + *

                                            Indicates when the load balancer was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Version?: string; + CreatedTime?: string; /** - *

                                            The base CVSS score.

                                            + *

                                            The DNS name of the load balancer.

                                            */ - BaseScore?: number; + DnsName?: string; /** - *

                                            The base scoring vector for the CVSS score.

                                            + *

                                            The security groups for the load balancer. Only provided if the load balancer is in a + * VPC.

                                            */ - BaseVector?: string; -} + SecurityGroups?: string[]; -export namespace Cvss { - export const filterSensitiveLog = (obj: Cvss): any => ({ - ...obj, - }); -} + /** + *

                                            Information about the security group for the load balancer. This is the security group + * that is used for inbound rules.

                                            + */ + SourceSecurityGroup?: AwsElbLoadBalancerSourceSecurityGroup; -/** - *

                                            A vendor that generates a vulnerability report.

                                            - */ -export interface VulnerabilityVendor { /** - *

                                            The datetime when the vulnerability advisory was created.

                                            + *

                                            The list of Availability Zones for the load balancer.

                                            */ - VendorCreatedAt?: string; + AvailabilityZones?: string[]; /** - *

                                            The datetime when the vulnerability advisory was last updated.

                                            + *

                                            The attributes for a load balancer.

                                            */ - VendorUpdatedAt?: string; + LoadBalancerAttributes?: AwsElbLoadBalancerAttributes; /** - *

                                            The severity that the vendor assigned to the vulnerability.

                                            + *

                                            The policies for a load balancer.

                                            */ - VendorSeverity?: string; + Policies?: AwsElbLoadBalancerPolicies; /** - *

                                            The URL of the vulnerability advisory.

                                            + *

                                            The list of subnet identifiers for the load balancer.

                                            */ - Url?: string; + Subnets?: string[]; /** - *

                                            The name of the vendor.

                                            + *

                                            The name of the load balancer.

                                            */ - Name: string | undefined; + LoadBalancerName?: string; } -export namespace VulnerabilityVendor { - export const filterSensitiveLog = (obj: VulnerabilityVendor): any => ({ +export namespace AwsElbLoadBalancerDetails { + export const filterSensitiveLog = (obj: AwsElbLoadBalancerDetails): any => ({ ...obj, }); } /** - *

                                            Information about a software package.

                                            + *

                                            Information about the state of the load balancer.

                                            */ -export interface SoftwarePackage { +export interface LoadBalancerState { /** - *

                                            The name of the software package.

                                            + *

                                            A description of the state.

                                            */ - Name?: string; + Reason?: string; /** - *

                                            The version of the software package.

                                            + *

                                            The state code. The initial state of the load balancer is provisioning.

                                            + *

                                            After the load balancer is fully set up and ready to route traffic, its state is + * active.

                                            + *

                                            If the load balancer could not be set up, its state is failed.

                                            */ - Version?: string; + Code?: string; +} + +export namespace LoadBalancerState { + export const filterSensitiveLog = (obj: LoadBalancerState): any => ({ + ...obj, + }); +} +/** + *

                                            Information about a load balancer.

                                            + */ +export interface AwsElbv2LoadBalancerDetails { /** - *

                                            The release of the software package.

                                            + *

                                            The ID of the VPC for the load balancer.

                                            */ - Release?: string; + VpcId?: string; /** - *

                                            The epoch of the software package.

                                            + *

                                            The type of load balancer.

                                            */ - Epoch?: string; + Type?: string; /** - *

                                            The architecture used for the software package.

                                            + *

                                            The type of IP addresses used by the subnets for your load balancer. The possible values + * are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 + * addresses).

                                            */ - Architecture?: string; -} + IpAddressType?: string; -export namespace SoftwarePackage { - export const filterSensitiveLog = (obj: SoftwarePackage): any => ({ - ...obj, - }); -} + /** + *

                                            The nodes of an Internet-facing load balancer have public IP addresses.

                                            + */ + Scheme?: string; -/** - *

                                            A vulnerability associated with a finding.

                                            - */ -export interface Vulnerability { /** - *

                                            List of vulnerabilities that are related to this vulnerability.

                                            + *

                                            Indicates when the load balancer was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - RelatedVulnerabilities?: string[]; + CreatedTime?: string; /** - *

                                            CVSS scores from the advisory related to the vulnerability.

                                            + *

                                            The Availability Zones for the load balancer.

                                            */ - Cvss?: Cvss[]; + AvailabilityZones?: AvailabilityZone[]; /** - *

                                            Information about the vendor that generates the vulnerability report.

                                            + *

                                            The public DNS name of the load balancer.

                                            */ - Vendor?: VulnerabilityVendor; + DNSName?: string; /** - *

                                            List of software packages that have the vulnerability.

                                            + *

                                            The state of the load balancer.

                                            */ - VulnerablePackages?: SoftwarePackage[]; + State?: LoadBalancerState; /** - *

                                            The identifier of the vulnerability.

                                            + *

                                            The ID of the Amazon Route 53 hosted zone associated with the load balancer.

                                            */ - Id: string | undefined; + CanonicalHostedZoneId?: string; /** - *

                                            A list of URLs that provide additional information about the vulnerability.

                                            + *

                                            The IDs of the security groups for the load balancer.

                                            */ - ReferenceUrls?: string[]; + SecurityGroups?: string[]; } -export namespace Vulnerability { - export const filterSensitiveLog = (obj: Vulnerability): any => ({ +export namespace AwsElbv2LoadBalancerDetails { + export const filterSensitiveLog = (obj: AwsElbv2LoadBalancerDetails): any => ({ ...obj, }); } -export enum WorkflowStatus { - NEW = "NEW", - NOTIFIED = "NOTIFIED", - RESOLVED = "RESOLVED", - SUPPRESSED = "SUPPRESSED", -} - /** - *

                                            Provides information about the status of the investigation into a finding.

                                            + *

                                            Attributes of the session that the key was used for.

                                            */ -export interface Workflow { +export interface AwsIamAccessKeySessionContextAttributes { /** - *

                                            The status of the investigation into the finding. The allowed values are the - * following.

                                            - *
                                              - *
                                            • - *

                                              - * NEW - The initial state of a finding, before it is reviewed.

                                              - *
                                            • - *
                                            • - *

                                              - * NOTIFIED - Indicates that you notified the resource owner about the - * security issue. Used when the initial reviewer is not the resource owner, and needs - * intervention from the resource owner.

                                              - *
                                            • - *
                                            • - *

                                              - * SUPPRESSED - The finding will not be reviewed again and will not be - * acted upon.

                                              - *
                                            • - *
                                            • - *

                                              - * RESOLVED - The finding was reviewed and remediated and is now - * considered resolved.

                                              - *
                                            • - *
                                            + *

                                            Indicates when the session was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Status?: WorkflowStatus | string; + CreationDate?: string; + + /** + *

                                            Indicates whether the session used multi-factor authentication (MFA).

                                            + */ + MfaAuthenticated?: boolean; } -export namespace Workflow { - export const filterSensitiveLog = (obj: Workflow): any => ({ +export namespace AwsIamAccessKeySessionContextAttributes { + export const filterSensitiveLog = (obj: AwsIamAccessKeySessionContextAttributes): any => ({ ...obj, }); } -export enum WorkflowState { - ASSIGNED = "ASSIGNED", - DEFERRED = "DEFERRED", - IN_PROGRESS = "IN_PROGRESS", - NEW = "NEW", - RESOLVED = "RESOLVED", -} - /** - *

                                            Provides consistent format for the contents of the Security Hub-aggregated findings. - * AwsSecurityFinding format enables you to share findings between AWS - * security services and third-party solutions, and security standards checks.

                                            - * - *

                                            A finding is a potential security issue generated either by AWS services (Amazon - * GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated third-party - * solutions and standards checks.

                                            - *
                                            + *

                                            Information about the entity that created the session.

                                            */ -export interface AwsSecurityFinding { +export interface AwsIamAccessKeySessionContextSessionIssuer { /** - *

                                            One or more finding types in the format of namespace/category/classifier - * that classify a finding.

                                            - *

                                            Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual - * Behaviors | Sensitive Data Identifications

                                            + *

                                            The type of principal (user, role, or group) that created the session.

                                            */ - Types: string[] | undefined; + Type?: string; /** - *

                                            The ARN generated by Security Hub that uniquely identifies a product that generates findings. - * This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for - * a custom integration.

                                            + *

                                            The identifier of the AWS account that created the session.

                                            */ - ProductArn: string | undefined; + AccountId?: string; /** - *

                                            A URL that links to a page about the current finding in the security-findings provider's - * solution.

                                            + *

                                            The principal ID of the principal (user, role, or group) that created the + * session.

                                            */ - SourceUrl?: string; + PrincipalId?: string; /** - *

                                            Threat intelligence details related to a finding.

                                            + *

                                            The ARN of the session.

                                            */ - ThreatIntelIndicators?: ThreatIntelIndicator[]; + Arn?: string; /** - *

                                            A finding's description.

                                            - * - *

                                            In this release, Description is a required property.

                                            - *
                                            + *

                                            The name of the principal that created the session.

                                            */ - Description: string | undefined; + UserName?: string; +} - /** - *

                                            Provides a list of vulnerabilities associated with the findings.

                                            - */ - Vulnerabilities?: Vulnerability[]; +export namespace AwsIamAccessKeySessionContextSessionIssuer { + export const filterSensitiveLog = (obj: AwsIamAccessKeySessionContextSessionIssuer): any => ({ + ...obj, + }); +} +/** + *

                                            Provides information about the session that the key was used for.

                                            + */ +export interface AwsIamAccessKeySessionContext { /** - *

                                            The level of importance assigned to the resources associated with the finding.

                                            - *

                                            A score of 0 means that the underlying resources have no criticality, and a score of 100 - * is reserved for the most critical resources.

                                            + *

                                            Information about the entity that created the session.

                                            */ - Criticality?: number; + SessionIssuer?: AwsIamAccessKeySessionContextSessionIssuer; /** - *

                                            Indicates the veracity of a finding.

                                            + *

                                            Attributes of the session that the key was used for.

                                            */ - VerificationState?: VerificationState | string; + Attributes?: AwsIamAccessKeySessionContextAttributes; +} - /** - *

                                            A set of resource data types that describe the resources that the finding refers - * to.

                                            - */ - Resources: Resource[] | undefined; +export namespace AwsIamAccessKeySessionContext { + export const filterSensitiveLog = (obj: AwsIamAccessKeySessionContext): any => ({ + ...obj, + }); +} + +export enum AwsIamAccessKeyStatus { + ACTIVE = "Active", + INACTIVE = "Inactive", +} +/** + *

                                            IAM access key details related to a finding.

                                            + */ +export interface AwsIamAccessKeyDetails { /** - *

                                            The details of network-related information about a finding.

                                            + *

                                            Information about the session that the key was used for.

                                            */ - Network?: Network; + SessionContext?: AwsIamAccessKeySessionContext; /** - *

                                            A list of malware related to a finding.

                                            + *

                                            The identifier of the access key.

                                            */ - Malware?: Malware[]; + AccessKeyId?: string; /** - *

                                            Provides information about a network path that is relevant to a finding. Each entry - * under NetworkPath represents a component of that path.

                                            + *

                                            The ID of the principal associated with an access key.

                                            */ - NetworkPath?: NetworkPathComponent[]; + PrincipalId?: string; /** - *

                                            Provides information about the status of the investigation into a finding.

                                            + *

                                            The name of the principal.

                                            */ - Workflow?: Workflow; + PrincipalName?: string; /** - *

                                            The details of process-related information about a finding.

                                            + *

                                            Indicates when the IAM access key was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Process?: ProcessDetails; + CreatedAt?: string; /** - *

                                            A list of related findings.

                                            + *

                                            The user associated with the IAM access key related to a finding.

                                            + *

                                            The UserName parameter has been replaced with the + * PrincipalName parameter because access keys can also be assigned to + * principals that are not IAM users.

                                            */ - RelatedFindings?: RelatedFinding[]; + UserName?: string; /** - *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider first - * observed the potential security issue that a finding captured.

                                            + *

                                            The status of the IAM access key related to a finding.

                                            */ - FirstObservedAt?: string; + Status?: AwsIamAccessKeyStatus | string; /** - *

                                            A finding's severity.

                                            + *

                                            The type of principal associated with an access key.

                                            */ - Severity: Severity | undefined; + PrincipalType?: string; /** - *

                                            The schema version that a finding is formatted for.

                                            + *

                                            The AWS account ID of the account for the key.

                                            */ - SchemaVersion: string | undefined; + AccountId?: string; +} + +export namespace AwsIamAccessKeyDetails { + export const filterSensitiveLog = (obj: AwsIamAccessKeyDetails): any => ({ + ...obj, + }); +} +/** + *

                                            A managed policy that is attached to an IAM principal.

                                            + */ +export interface AwsIamAttachedManagedPolicy { /** - *

                                            The record state of a finding.

                                            + *

                                            The name of the policy.

                                            */ - RecordState?: RecordState | string; + PolicyName?: string; /** - *

                                            A data type where security-findings providers can include additional solution-specific - * details that aren't part of the defined AwsSecurityFinding format.

                                            + *

                                            The ARN of the policy.

                                            */ - ProductFields?: { [key: string]: string }; + PolicyArn?: string; +} + +export namespace AwsIamAttachedManagedPolicy { + export const filterSensitiveLog = (obj: AwsIamAttachedManagedPolicy): any => ({ + ...obj, + }); +} +/** + *

                                            A managed policy that is attached to the IAM group.

                                            + */ +export interface AwsIamGroupPolicy { /** - *

                                            A data type that describes the remediation options for a finding.

                                            + *

                                            The name of the policy.

                                            */ - Remediation?: Remediation; + PolicyName?: string; +} + +export namespace AwsIamGroupPolicy { + export const filterSensitiveLog = (obj: AwsIamGroupPolicy): any => ({ + ...obj, + }); +} +/** + *

                                            Contains details about an IAM group.

                                            + */ +export interface AwsIamGroupDetails { /** - *

                                            A finding's title.

                                            - * - *

                                            In this release, Title is a required property.

                                            - *
                                            + *

                                            A list of the managed policies that are attached to the IAM group.

                                            */ - Title: string | undefined; + AttachedManagedPolicies?: AwsIamAttachedManagedPolicy[]; /** - *

                                            A finding's confidence. Confidence is defined as the likelihood that a finding - * accurately identifies the behavior or issue that it was intended to identify.

                                            - *

                                            Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent - * confidence and 100 means 100 percent confidence.

                                            + *

                                            The name of the IAM group.

                                            */ - Confidence?: number; + GroupName?: string; /** - *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider most - * recently observed the potential security issue that a finding captured.

                                            + *

                                            The path to the group.

                                            */ - LastObservedAt?: string; + Path?: string; /** - *

                                            The AWS account ID that a finding is generated in.

                                            + *

                                            The list of inline policies that are embedded in the group.

                                            */ - AwsAccountId: string | undefined; + GroupPolicyList?: AwsIamGroupPolicy[]; /** - *

                                            The security findings provider-specific identifier for a finding.

                                            + *

                                            The identifier of the IAM group.

                                            */ - Id: string | undefined; + GroupId?: string; /** - *

                                            A list of name/value string pairs associated with the finding. These are custom, - * user-defined fields added to a finding.

                                            + *

                                            Indicates when the IAM group was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - UserDefinedFields?: { [key: string]: string }; + CreateDate?: string; +} + +export namespace AwsIamGroupDetails { + export const filterSensitiveLog = (obj: AwsIamGroupDetails): any => ({ + ...obj, + }); +} +/** + *

                                            Information about a role associated with an instance profile.

                                            + */ +export interface AwsIamInstanceProfileRole { /** - *

                                            The workflow state of a finding.

                                            + *

                                            The identifier of the role.

                                            */ - WorkflowState?: WorkflowState | string; + RoleId?: string; /** - *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider last - * updated the finding record.

                                            + *

                                            The policy that grants an entity permission to assume the role.

                                            */ - UpdatedAt: string | undefined; + AssumeRolePolicyDocument?: string; /** - *

                                            This data type is exclusive to findings that are generated as the result of a check run - * against a specific rule in a supported security standard, such as CIS AWS Foundations. - * Contains security standard-related finding details.

                                            + *

                                            The ARN of the role.

                                            */ - Compliance?: Compliance; + Arn?: string; /** - *

                                            A user-defined note added to a finding.

                                            + *

                                            The path to the role.

                                            */ - Note?: Note; + Path?: string; /** - *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider - * created the potential security issue that a finding captured.

                                            + *

                                            The name of the role.

                                            */ - CreatedAt: string | undefined; + RoleName?: string; /** - *

                                            The identifier for the solution-specific component (a discrete unit of logic) that - * generated a finding. In various security-findings providers' solutions, this generator can - * be called a rule, a check, a detector, a plugin, etc.

                                            + *

                                            Indicates when the role was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - GeneratorId: string | undefined; + CreateDate?: string; } -export namespace AwsSecurityFinding { - export const filterSensitiveLog = (obj: AwsSecurityFinding): any => ({ +export namespace AwsIamInstanceProfileRole { + export const filterSensitiveLog = (obj: AwsIamInstanceProfileRole): any => ({ ...obj, }); } -export enum StringFilterComparison { - EQUALS = "EQUALS", - PREFIX = "PREFIX", -} - /** - *

                                            A string filter for querying findings.

                                            + *

                                            Information about an instance profile.

                                            */ -export interface StringFilter { +export interface AwsIamInstanceProfile { /** - *

                                            The condition to be applied to a string value when querying for findings.

                                            + *

                                            The path to the instance profile.

                                            */ - Comparison?: StringFilterComparison | string; + Path?: string; /** - *

                                            The string filter value.

                                            + *

                                            The name of the instance profile.

                                            */ - Value?: string; -} + InstanceProfileName?: string; -export namespace StringFilter { - export const filterSensitiveLog = (obj: StringFilter): any => ({ - ...obj, - }); -} + /** + *

                                            The identifier of the instance profile.

                                            + */ + InstanceProfileId?: string; -/** - *

                                            A number filter for querying findings.

                                            - */ -export interface NumberFilter { /** - *

                                            The greater-than-equal condition to be applied to a single field when querying for - * findings.

                                            + *

                                            The roles associated with the instance profile.

                                            */ - Gte?: number; + Roles?: AwsIamInstanceProfileRole[]; /** - *

                                            The equal-to condition to be applied to a single field when querying for - * findings.

                                            + *

                                            The ARN of the instance profile.

                                            */ - Eq?: number; + Arn?: string; /** - *

                                            The less-than-equal condition to be applied to a single field when querying for - * findings.

                                            + *

                                            Indicates when the instance profile was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Lte?: number; + CreateDate?: string; } -export namespace NumberFilter { - export const filterSensitiveLog = (obj: NumberFilter): any => ({ +export namespace AwsIamInstanceProfile { + export const filterSensitiveLog = (obj: AwsIamInstanceProfile): any => ({ ...obj, }); } -export enum DateRangeUnit { - DAYS = "DAYS", -} - /** - *

                                            A date range for the date filter.

                                            + *

                                            Information about the policy used to set the permissions boundary for an IAM + * principal.

                                            */ -export interface DateRange { +export interface AwsIamPermissionsBoundary { /** - *

                                            A date range unit for the date filter.

                                            + *

                                            The ARN of the policy used to set the permissions boundary.

                                            */ - Unit?: DateRangeUnit | string; + PermissionsBoundaryArn?: string; /** - *

                                            A date range value for the date filter.

                                            + *

                                            The usage type for the permissions boundary.

                                            */ - Value?: number; + PermissionsBoundaryType?: string; } -export namespace DateRange { - export const filterSensitiveLog = (obj: DateRange): any => ({ +export namespace AwsIamPermissionsBoundary { + export const filterSensitiveLog = (obj: AwsIamPermissionsBoundary): any => ({ ...obj, }); } /** - *

                                            A date filter for querying findings.

                                            + *

                                            A version of an IAM policy.

                                            */ -export interface DateFilter { +export interface AwsIamPolicyVersion { /** - *

                                            A start date for the date filter.

                                            + *

                                            Whether the version is the default version.

                                            */ - Start?: string; + IsDefaultVersion?: boolean; /** - *

                                            An end date for the date filter.

                                            + *

                                            The identifier of the policy version.

                                            */ - End?: string; + VersionId?: string; /** - *

                                            A date range for the date filter.

                                            + *

                                            Indicates when the version was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - DateRange?: DateRange; + CreateDate?: string; } -export namespace DateFilter { - export const filterSensitiveLog = (obj: DateFilter): any => ({ +export namespace AwsIamPolicyVersion { + export const filterSensitiveLog = (obj: AwsIamPolicyVersion): any => ({ ...obj, }); } /** - *

                                            A keyword filter for querying findings.

                                            + *

                                            Represents an IAM permissions policy.

                                            */ -export interface KeywordFilter { +export interface AwsIamPolicyDetails { /** - *

                                            A value for the keyword.

                                            + *

                                            The path to the policy.

                                            */ - Value?: string; -} - -export namespace KeywordFilter { - export const filterSensitiveLog = (obj: KeywordFilter): any => ({ - ...obj, - }); -} + Path?: string; -/** - *

                                            The IP filter for querying findings.

                                            - */ -export interface IpFilter { /** - *

                                            A finding's CIDR value.

                                            + *

                                            The number of users, groups, and roles that the policy is attached to.

                                            */ - Cidr?: string; -} - -export namespace IpFilter { - export const filterSensitiveLog = (obj: IpFilter): any => ({ - ...obj, - }); -} + AttachmentCount?: number; -export enum MapFilterComparison { - EQUALS = "EQUALS", -} - -/** - *

                                            The map filter for querying findings.

                                            - */ -export interface MapFilter { /** - *

                                            The value for the key in the map filter.

                                            + *

                                            When the policy was most recently updated.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Value?: string; + UpdateDate?: string; /** - *

                                            The condition to apply to a key value when querying for findings with a map - * filter.

                                            + *

                                            The unique identifier of the policy.

                                            */ - Comparison?: MapFilterComparison | string; + PolicyId?: string; /** - *

                                            The key of the map filter.

                                            + *

                                            Whether the policy can be attached to a user, group, or role.

                                            */ - Key?: string; -} - -export namespace MapFilter { - export const filterSensitiveLog = (obj: MapFilter): any => ({ - ...obj, - }); -} + IsAttachable?: boolean; -/** - *

                                            A collection of attributes that are applied to all active Security Hub-aggregated findings and - * that result in a subset of findings that are included in this insight.

                                            - */ -export interface AwsSecurityFindingFilters { /** - *

                                            The path to the process executable.

                                            + *

                                            When the policy was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - ProcessPath?: StringFilter[]; + CreateDate?: string; /** - *

                                            The protocol of network-related information about a finding.

                                            + *

                                            The identifier of the default version of the policy.

                                            */ - NetworkProtocol?: StringFilter[]; + DefaultVersionId?: string; /** - *

                                            The IPv4 addresses associated with the instance.

                                            + *

                                            List of versions of the policy.

                                            */ - ResourceAwsEc2InstanceIpV4Addresses?: IpFilter[]; + PolicyVersionList?: AwsIamPolicyVersion[]; /** - *

                                            The canonical AWS partition name that the Region is assigned to.

                                            + *

                                            A description of the policy.

                                            */ - ResourcePartition?: StringFilter[]; + Description?: string; /** - *

                                            The creation date/time of the IAM access key related to a finding.

                                            + *

                                            The name of the policy.

                                            */ - ResourceAwsIamAccessKeyCreatedAt?: DateFilter[]; + PolicyName?: string; /** - *

                                            The solution-generated identifier for a related finding.

                                            + *

                                            The number of users and roles that use the policy to set the permissions + * boundary.

                                            */ - RelatedFindingsId?: StringFilter[]; + PermissionsBoundaryUsageCount?: number; +} + +export namespace AwsIamPolicyDetails { + export const filterSensitiveLog = (obj: AwsIamPolicyDetails): any => ({ + ...obj, + }); +} +/** + *

                                            An inline policy that is embedded in the role.

                                            + */ +export interface AwsIamRolePolicy { /** - *

                                            Specifies the type of the resource that details are provided for.

                                            + *

                                            The name of the policy.

                                            */ - ResourceType?: StringFilter[]; + PolicyName?: string; +} + +export namespace AwsIamRolePolicy { + export const filterSensitiveLog = (obj: AwsIamRolePolicy): any => ({ + ...obj, + }); +} +/** + *

                                            Contains information about an IAM role, including all of the role's policies.

                                            + */ +export interface AwsIamRoleDetails { /** - *

                                            The source IPv4 address of network-related information about a finding.

                                            + *

                                            The list of the managed policies that are attached to the role.

                                            */ - NetworkSourceIpV4?: IpFilter[]; + AttachedManagedPolicies?: AwsIamAttachedManagedPolicy[]; /** - *

                                            The source IPv6 address of network-related information about a finding.

                                            + *

                                            The path to the role.

                                            */ - NetworkSourceIpV6?: IpFilter[]; + Path?: string; /** - *

                                            The principal that created a note.

                                            + *

                                            The maximum session duration (in seconds) that you want to set for the specified role.

                                            */ - NoteUpdatedBy?: StringFilter[]; + MaxSessionDuration?: number; /** - *

                                            Indicates the direction of network traffic associated with a finding.

                                            + *

                                            The friendly name that identifies the role.

                                            */ - NetworkDirection?: StringFilter[]; + RoleName?: string; /** - *

                                            The identifier of the VPC that the instance was launched in.

                                            + *

                                            The list of inline policies that are embedded in the role.

                                            */ - ResourceAwsEc2InstanceVpcId?: StringFilter[]; + RolePolicyList?: AwsIamRolePolicy[]; /** - *

                                            The source port of network-related information about a finding.

                                            + *

                                            The trust policy that grants permission to assume the role.

                                            */ - NetworkSourcePort?: NumberFilter[]; + AssumeRolePolicyDocument?: string; /** - *

                                            The type of a threat intelligence indicator.

                                            + *

                                            The list of instance profiles that contain this role.

                                            */ - ThreatIntelIndicatorType?: StringFilter[]; + InstanceProfileList?: AwsIamInstanceProfile[]; /** - *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider first - * observed the potential security issue that a finding captured.

                                            + *

                                            The stable and unique string identifying the role.

                                            */ - FirstObservedAt?: DateFilter[]; + RoleId?: string; /** - *

                                            The value of a threat intelligence indicator.

                                            + *

                                            Information about the policy used to set the permissions boundary for an IAM + * principal.

                                            */ - ThreatIntelIndicatorValue?: StringFilter[]; + PermissionsBoundary?: AwsIamPermissionsBoundary; /** - *

                                            The normalized severity of a finding.

                                            + *

                                            Indicates when the role was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - SeverityNormalized?: NumberFilter[]; + CreateDate?: string; +} +export namespace AwsIamRoleDetails { + export const filterSensitiveLog = (obj: AwsIamRoleDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            Information about an inline policy that is embedded in the user.

                                            + */ +export interface AwsIamUserPolicy { /** - *

                                            The date/time that the container was started.

                                            + *

                                            The name of the policy.

                                            */ - ResourceContainerLaunchedAt?: DateFilter[]; + PolicyName?: string; +} + +export namespace AwsIamUserPolicy { + export const filterSensitiveLog = (obj: AwsIamUserPolicy): any => ({ + ...obj, + }); +} +/** + *

                                            Information about an IAM user.

                                            + */ +export interface AwsIamUserDetails { /** - *

                                            The display name of the owner of the S3 bucket.

                                            + *

                                            The path to the user.

                                            */ - ResourceAwsS3BucketOwnerName?: StringFilter[]; + Path?: string; /** - *

                                            The date/time that the process was launched.

                                            + *

                                            A list of the managed policies that are attached to the user.

                                            */ - ProcessLaunchedAt?: DateFilter[]; + AttachedManagedPolicies?: AwsIamAttachedManagedPolicy[]; /** - *

                                            The security findings provider-specific identifier for a finding.

                                            + *

                                            The unique identifier for the user.

                                            */ - Id?: StringFilter[]; + UserId?: string; /** - *

                                            The user associated with the IAM access key related to a finding.

                                            + *

                                            A list of IAM groups that the user belongs to.

                                            */ - ResourceAwsIamAccessKeyUserName?: StringFilter[]; + GroupList?: string[]; /** - *

                                            The level of importance assigned to the resources associated with the finding.

                                            - *

                                            A score of 0 means that the underlying resources have no criticality, and a score of 100 - * is reserved for the most critical resources.

                                            + *

                                            The list of inline policies that are embedded in the user.

                                            */ - Criticality?: NumberFilter[]; + UserPolicyList?: AwsIamUserPolicy[]; /** - *

                                            The destination port of network-related information about a finding.

                                            + *

                                            Indicates when the user was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - NetworkDestinationPort?: NumberFilter[]; + CreateDate?: string; /** - *

                                            A list of AWS tags associated with a resource at the time the finding was - * processed.

                                            + *

                                            The name of the user.

                                            */ - ResourceTags?: MapFilter[]; + UserName?: string; /** - *

                                            The IAM profile ARN of the instance.

                                            + *

                                            The permissions boundary for the user.

                                            */ - ResourceAwsEc2InstanceIamInstanceProfileArn?: StringFilter[]; + PermissionsBoundary?: AwsIamPermissionsBoundary; +} + +export namespace AwsIamUserDetails { + export const filterSensitiveLog = (obj: AwsIamUserDetails): any => ({ + ...obj, + }); +} +/** + *

                                            Contains metadata about a customer master key (CMK).

                                            + */ +export interface AwsKmsKeyDetails { /** - *

                                            The destination IPv6 address of network-related information about a finding.

                                            + *

                                            The source of the CMK's key material.

                                            + *

                                            When this value is AWS_KMS, AWS KMS created the key material.

                                            + *

                                            When this value is EXTERNAL, the key material was imported from your + * existing key management infrastructure or the CMK lacks key material.

                                            + *

                                            When this value is AWS_CLOUDHSM, the key material was created in the AWS + * CloudHSM cluster associated with a custom key store.

                                            */ - NetworkDestinationIpV6?: IpFilter[]; + Origin?: string; /** - *

                                            The timestamp of when the note was updated.

                                            + *

                                            Indicates when the CMK was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - NoteUpdatedAt?: DateFilter[]; + CreationDate?: number; /** - *

                                            The identifier of the image related to a finding.

                                            + *

                                            The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed.

                                            */ - ResourceContainerImageId?: StringFilter[]; + KeyManager?: string; /** - *

                                            The destination IPv4 address of network-related information about a finding.

                                            + *

                                            The state of the CMK.

                                            */ - NetworkDestinationIpV4?: IpFilter[]; + KeyState?: string; /** - *

                                            The type of the malware that was observed.

                                            + *

                                            The twelve-digit account ID of the AWS account that owns the CMK.

                                            */ - MalwareType?: StringFilter[]; + AWSAccountId?: string; /** - *

                                            The parent process ID.

                                            + *

                                            The globally unique identifier for the CMK.

                                            */ - ProcessParentPid?: NumberFilter[]; + KeyId?: string; /** - *

                                            The source of the threat intelligence.

                                            + *

                                            A description of the key.

                                            */ - ThreatIntelIndicatorSource?: StringFilter[]; + Description?: string; +} + +export namespace AwsKmsKeyDetails { + export const filterSensitiveLog = (obj: AwsKmsKeyDetails): any => ({ + ...obj, + }); +} +/** + *

                                            The code for the Lambda function. You can specify either an object in Amazon S3, or upload a deployment package directly.

                                            + */ +export interface AwsLambdaFunctionCode { /** - *

                                            The date and time the instance was launched.

                                            + *

                                            An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

                                            */ - ResourceAwsEc2InstanceLaunchedAt?: DateFilter[]; + S3Bucket?: string; /** - *

                                            The recommendation of what to do about the issue described in a finding.

                                            + *

                                            The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

                                            */ - RecommendationText?: StringFilter[]; + ZipFile?: string; /** - *

                                            The details of a resource that doesn't have a specific subfield for the resource type - * defined.

                                            + *

                                            The Amazon S3 key of the deployment package.

                                            */ - ResourceDetailsOther?: MapFilter[]; + S3Key?: string; /** - *

                                            Exclusive to findings that are generated as the result of a check run against a specific - * rule in a supported standard, such as CIS AWS Foundations. Contains security - * standard-related finding details.

                                            + *

                                            For versioned objects, the version of the deployment package object to use.

                                            */ - ComplianceStatus?: StringFilter[]; + S3ObjectVersion?: string; +} - /** - *

                                            The date/time that the process was terminated.

                                            - */ - ProcessTerminatedAt?: DateFilter[]; +export namespace AwsLambdaFunctionCode { + export const filterSensitiveLog = (obj: AwsLambdaFunctionCode): any => ({ + ...obj, + }); +} +/** + *

                                            The dead-letter queue for failed asynchronous invocations.

                                            + */ +export interface AwsLambdaFunctionDeadLetterConfig { /** - *

                                            The instance type of the instance.

                                            + *

                                            The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

                                            */ - ResourceAwsEc2InstanceType?: StringFilter[]; + TargetArn?: string; +} - /** - *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider - * captured the potential security issue that a finding captured.

                                            - */ - CreatedAt?: DateFilter[]; +export namespace AwsLambdaFunctionDeadLetterConfig { + export const filterSensitiveLog = (obj: AwsLambdaFunctionDeadLetterConfig): any => ({ + ...obj, + }); +} +/** + *

                                            Error messages for environment variables that couldn't be applied.

                                            + */ +export interface AwsLambdaFunctionEnvironmentError { /** - *

                                            The process ID.

                                            + *

                                            The error code.

                                            */ - ProcessPid?: NumberFilter[]; + ErrorCode?: string; /** - *

                                            The state of the malware that was observed.

                                            + *

                                            The error message.

                                            */ - MalwareState?: StringFilter[]; + Message?: string; +} - /** - *

                                            The filesystem path of the malware that was observed.

                                            - */ - MalwarePath?: StringFilter[]; +export namespace AwsLambdaFunctionEnvironmentError { + export const filterSensitiveLog = (obj: AwsLambdaFunctionEnvironmentError): any => ({ + ...obj, + }); +} +/** + *

                                            A function's environment variable settings.

                                            + */ +export interface AwsLambdaFunctionEnvironment { /** - *

                                            The name of the image related to a finding.

                                            + *

                                            Environment variable key-value pairs.

                                            */ - ResourceContainerImageName?: StringFilter[]; + Variables?: { [key: string]: string }; /** - *

                                            The status of the investigation into a finding. Allowed values are the following.

                                            - *
                                              - *
                                            • - *

                                              - * NEW - The initial state of a finding, before it is reviewed.

                                              - *
                                            • - *
                                            • - *

                                              - * NOTIFIED - Indicates that the resource owner has been notified about - * the security issue. Used when the initial reviewer is not the resource owner, and - * needs intervention from the resource owner.

                                              - *
                                            • - *
                                            • - *

                                              - * SUPPRESSED - The finding will not be reviewed again and will not be - * acted upon.

                                              - *
                                            • - *
                                            • - *

                                              - * RESOLVED - The finding was reviewed and remediated and is now - * considered resolved.

                                              - *
                                            • - *
                                            + *

                                            An AwsLambdaFunctionEnvironmentError object.

                                            */ - WorkflowStatus?: StringFilter[]; + Error?: AwsLambdaFunctionEnvironmentError; +} - /** - *

                                            The AWS account ID that a finding is generated in.

                                            - */ - AwsAccountId?: StringFilter[]; +export namespace AwsLambdaFunctionEnvironment { + export const filterSensitiveLog = (obj: AwsLambdaFunctionEnvironment): any => ({ + ...obj, + }); +} +/** + *

                                            An AWS Lambda layer.

                                            + */ +export interface AwsLambdaFunctionLayer { /** - *

                                            The label of a finding's severity.

                                            + *

                                            The Amazon Resource Name (ARN) of the function layer.

                                            */ - SeverityLabel?: StringFilter[]; + Arn?: string; /** - *

                                            The ARN of the solution that generated a related finding.

                                            + *

                                            The size of the layer archive in bytes.

                                            */ - RelatedFindingsProductArn?: StringFilter[]; + CodeSize?: number; +} + +export namespace AwsLambdaFunctionLayer { + export const filterSensitiveLog = (obj: AwsLambdaFunctionLayer): any => ({ + ...obj, + }); +} +/** + *

                                            The function's AWS X-Ray tracing configuration.

                                            + */ +export interface AwsLambdaFunctionTracingConfig { /** - *

                                            A finding's title.

                                            + *

                                            The tracing mode.

                                            */ - Title?: StringFilter[]; + Mode?: string; +} + +export namespace AwsLambdaFunctionTracingConfig { + export const filterSensitiveLog = (obj: AwsLambdaFunctionTracingConfig): any => ({ + ...obj, + }); +} +/** + *

                                            The VPC security groups and subnets that are attached to a Lambda function. For more information, see VPC Settings.

                                            + */ +export interface AwsLambdaFunctionVpcConfig { /** - *

                                            The category of a threat intelligence indicator.

                                            + *

                                            A list of VPC security groups IDs.

                                            */ - ThreatIntelIndicatorCategory?: StringFilter[]; + SecurityGroupIds?: string[]; /** - *

                                            The canonical identifier for the given resource type.

                                            + *

                                            The ID of the VPC.

                                            */ - ResourceId?: StringFilter[]; + VpcId?: string; /** - *

                                            The identifier of the subnet that the instance was launched in.

                                            + *

                                            A list of VPC subnet IDs.

                                            */ - ResourceAwsEc2InstanceSubnetId?: StringFilter[]; + SubnetIds?: string[]; +} +export namespace AwsLambdaFunctionVpcConfig { + export const filterSensitiveLog = (obj: AwsLambdaFunctionVpcConfig): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about a function's configuration.

                                            + */ +export interface AwsLambdaFunctionDetails { /** - *

                                            A data type where security-findings providers can include additional solution-specific - * details that aren't part of the defined AwsSecurityFinding format.

                                            + *

                                            The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

                                            */ - ProductFields?: MapFilter[]; + KmsKeyArn?: string; /** - *

                                            The updated record state for the finding.

                                            + *

                                            For Lambda@Edge functions, the ARN of the master function.

                                            */ - RecordState?: StringFilter[]; + MasterArn?: string; /** - *

                                            The Amazon Machine Image (AMI) ID of the instance.

                                            + *

                                            The name of the function.

                                            */ - ResourceAwsEc2InstanceImageId?: StringFilter[]; + FunctionName?: string; /** - *

                                            The name of the findings provider (company) that owns the solution (product) that - * generates findings.

                                            + *

                                            Indicates when the function was last updated.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - CompanyName?: StringFilter[]; + LastModified?: string; /** - *

                                            The native severity as defined by the security-findings provider's solution that - * generated the finding.

                                            + *

                                            The runtime environment for the Lambda function.

                                            */ - SeverityProduct?: NumberFilter[]; + Runtime?: string; /** - *

                                            The status of the IAM access key related to a finding.

                                            + *

                                            The SHA256 hash of the function's deployment package.

                                            */ - ResourceAwsIamAccessKeyStatus?: StringFilter[]; + CodeSha256?: string; /** - *

                                            The ARN generated by Security Hub that uniquely identifies a third-party company - * (security findings provider) after this provider's product (solution that generates - * findings) is registered with Security Hub.

                                            + *

                                            The latest updated revision of the function or alias.

                                            */ - ProductArn?: StringFilter[]; + RevisionId?: string; /** - *

                                            The canonical AWS external Region name where this resource is located.

                                            + *

                                            The version of the Lambda function.

                                            */ - ResourceRegion?: StringFilter[]; + Version?: string; /** - *

                                            The date/time of the last observation of a threat intelligence indicator.

                                            + *

                                            An AwsLambdaFunctionCode object.

                                            */ - ThreatIntelIndicatorLastObservedAt?: DateFilter[]; + Code?: AwsLambdaFunctionCode; /** - *

                                            A list of name/value string pairs associated with the finding. These are custom, - * user-defined fields added to a finding.

                                            + *

                                            The memory that's allocated to the function.

                                            */ - UserDefinedFields?: MapFilter[]; + MemorySize?: number; /** - *

                                            A finding's description.

                                            + *

                                            The amount of time that Lambda allows a function to run before stopping it.

                                            */ - Description?: StringFilter[]; + Timeout?: number; /** - *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider most - * recently observed the potential security issue that a finding captured.

                                            + *

                                            The function's dead letter queue.

                                            */ - LastObservedAt?: DateFilter[]; + DeadLetterConfig?: AwsLambdaFunctionDeadLetterConfig; /** - *

                                            The name of the malware that was observed.

                                            + *

                                            The function that Lambda calls to begin executing your function.

                                            */ - MalwareName?: StringFilter[]; + Handler?: string; /** - *

                                            The URL for more details from the source of the threat intelligence.

                                            + *

                                            The function's AWS X-Ray tracing configuration.

                                            */ - ThreatIntelIndicatorSourceUrl?: StringFilter[]; + TracingConfig?: AwsLambdaFunctionTracingConfig; /** - *

                                            A finding type in the format of namespace/category/classifier that - * classifies a finding.

                                            + *

                                            The function's layers.

                                            */ - Type?: StringFilter[]; + Layers?: AwsLambdaFunctionLayer[]; /** - *

                                            The key name associated with the instance.

                                            + *

                                            The function's environment variables.

                                            */ - ResourceAwsEc2InstanceKeyName?: StringFilter[]; + Environment?: AwsLambdaFunctionEnvironment; /** - *

                                            The name of the container related to a finding.

                                            + *

                                            The function's execution role.

                                            */ - ResourceContainerName?: StringFilter[]; + Role?: string; /** - *

                                            The IPv6 addresses associated with the instance.

                                            + *

                                            The function's networking configuration.

                                            */ - ResourceAwsEc2InstanceIpV6Addresses?: IpFilter[]; + VpcConfig?: AwsLambdaFunctionVpcConfig; +} + +export namespace AwsLambdaFunctionDetails { + export const filterSensitiveLog = (obj: AwsLambdaFunctionDetails): any => ({ + ...obj, + }); +} +/** + *

                                            Details about a Lambda layer version.

                                            + */ +export interface AwsLambdaLayerVersionDetails { /** - *

                                            A URL that links to a page about the current finding in the security-findings provider's - * solution.

                                            + *

                                            Indicates when the version was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - SourceUrl?: StringFilter[]; + CreatedDate?: string; /** - *

                                            The source domain of network-related information about a finding.

                                            + *

                                            The layer's compatible runtimes. Maximum number of five items.

                                            + *

                                            Valid values: nodejs10.x | nodejs12.x | java8 | + * java11 | python2.7 | python3.6 | + * python3.7 | python3.8 | dotnetcore1.0 | + * dotnetcore2.1 | go1.x | ruby2.5 | + * provided + *

                                            */ - NetworkSourceDomain?: StringFilter[]; + CompatibleRuntimes?: string[]; /** - *

                                            The veracity of a finding.

                                            + *

                                            The version number.

                                            */ - VerificationState?: StringFilter[]; + Version?: number; +} - /** - *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider last - * updated the finding record.

                                            - */ - UpdatedAt?: DateFilter[]; +export namespace AwsLambdaLayerVersionDetails { + export const filterSensitiveLog = (obj: AwsLambdaLayerVersionDetails): any => ({ + ...obj, + }); +} +/** + *

                                            An IAM role that is associated with the Amazon RDS DB cluster.

                                            + */ +export interface AwsRdsDbClusterAssociatedRole { /** - *

                                            The destination domain of network-related information about a finding.

                                            + *

                                            The status of the association between the IAM role and the DB cluster.

                                            */ - NetworkDestinationDomain?: StringFilter[]; + Status?: string; /** - *

                                            The workflow state of a finding.

                                            - *

                                            Note that this field is deprecated. To search for a finding based on its workflow - * status, use WorkflowStatus.

                                            + *

                                            The ARN of the IAM role.

                                            */ - WorkflowState?: StringFilter[]; + RoleArn?: string; +} - /** - *

                                            A finding's confidence. Confidence is defined as the likelihood that a finding - * accurately identifies the behavior or issue that it was intended to identify.

                                            - *

                                            Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent - * confidence and 100 means 100 percent confidence.

                                            - */ - Confidence?: NumberFilter[]; +export namespace AwsRdsDbClusterAssociatedRole { + export const filterSensitiveLog = (obj: AwsRdsDbClusterAssociatedRole): any => ({ + ...obj, + }); +} +/** + *

                                            Information about an instance in the DB cluster.

                                            + */ +export interface AwsRdsDbClusterMember { /** - *

                                            The name of the process.

                                            + *

                                            Specifies the order in which an Aurora replica is promoted to the primary instance when + * the existing primary instance fails.

                                            */ - ProcessName?: StringFilter[]; + PromotionTier?: number; /** - *

                                            The source media access control (MAC) address of network-related information about a - * finding.

                                            + *

                                            Whether the cluster member is the primary instance for the DB cluster.

                                            */ - NetworkSourceMac?: StringFilter[]; + IsClusterWriter?: boolean; /** - *

                                            The name of the solution (product) that generates findings.

                                            + *

                                            The instance identifier for this member of the DB cluster.

                                            */ - ProductName?: StringFilter[]; + DbInstanceIdentifier?: string; /** - *

                                            The identifier for the solution-specific component (a discrete unit of logic) that - * generated a finding. In various security-findings providers' solutions, this generator can - * be called a rule, a check, a detector, a plugin, etc.

                                            + *

                                            The status of the DB cluster parameter group for this member of the DB cluster.

                                            */ - GeneratorId?: StringFilter[]; + DbClusterParameterGroupStatus?: string; +} - /** - *

                                            The canonical user ID of the owner of the S3 bucket.

                                            - */ - ResourceAwsS3BucketOwnerId?: StringFilter[]; +export namespace AwsRdsDbClusterMember { + export const filterSensitiveLog = (obj: AwsRdsDbClusterMember): any => ({ + ...obj, + }); +} +/** + *

                                            Information about an option group membership for a DB cluster.

                                            + */ +export interface AwsRdsDbClusterOptionGroupMembership { /** - *

                                            The text of a note.

                                            + *

                                            The status of the DB cluster option group.

                                            */ - NoteText?: StringFilter[]; + Status?: string; /** - *

                                            A keyword for a finding.

                                            + *

                                            The name of the DB cluster option group.

                                            */ - Keyword?: KeywordFilter[]; + DbClusterOptionGroupName?: string; } -export namespace AwsSecurityFindingFilters { - export const filterSensitiveLog = (obj: AwsSecurityFindingFilters): any => ({ +export namespace AwsRdsDbClusterOptionGroupMembership { + export const filterSensitiveLog = (obj: AwsRdsDbClusterOptionGroupMembership): any => ({ ...obj, }); } /** - *

                                            Identifies a finding to update using BatchUpdateFindings.

                                            + *

                                            Information about an Active Directory domain membership record associated with the DB + * instance.

                                            */ -export interface AwsSecurityFindingIdentifier { +export interface AwsRdsDbDomainMembership { /** - *

                                            The identifier of the finding that was specified by the finding provider.

                                            + *

                                            The name of the IAM role to use when making API calls to the Directory Service.

                                            */ - Id: string | undefined; + IamRoleName?: string; /** - *

                                            The ARN generated by Security Hub that uniquely identifies a product that generates findings. - * This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for - * a custom integration.

                                            + *

                                            The fully qualified domain name of the Active Directory domain.

                                            */ - ProductArn: string | undefined; + Fqdn?: string; + + /** + *

                                            The status of the Active Directory Domain membership for the DB instance.

                                            + */ + Status?: string; + + /** + *

                                            The identifier of the Active Directory domain.

                                            + */ + Domain?: string; } -export namespace AwsSecurityFindingIdentifier { - export const filterSensitiveLog = (obj: AwsSecurityFindingIdentifier): any => ({ +export namespace AwsRdsDbDomainMembership { + export const filterSensitiveLog = (obj: AwsRdsDbDomainMembership): any => ({ ...obj, }); } -export interface BatchDisableStandardsRequest { +/** + *

                                            A VPC security groups that the DB instance belongs to.

                                            + */ +export interface AwsRdsDbInstanceVpcSecurityGroup { /** - *

                                            The ARNs of the standards subscriptions to disable.

                                            + *

                                            The status of the VPC security group.

                                            */ - StandardsSubscriptionArns: string[] | undefined; + Status?: string; + + /** + *

                                            The name of the VPC security group.

                                            + */ + VpcSecurityGroupId?: string; } -export namespace BatchDisableStandardsRequest { - export const filterSensitiveLog = (obj: BatchDisableStandardsRequest): any => ({ +export namespace AwsRdsDbInstanceVpcSecurityGroup { + export const filterSensitiveLog = (obj: AwsRdsDbInstanceVpcSecurityGroup): any => ({ ...obj, }); } -export enum StandardsStatus { - DELETING = "DELETING", - FAILED = "FAILED", - INCOMPLETE = "INCOMPLETE", - PENDING = "PENDING", - READY = "READY", -} - /** - *

                                            A resource that represents your subscription to a supported standard.

                                            + *

                                            Information about an Amazon RDS DB cluster.

                                            */ -export interface StandardsSubscription { +export interface AwsRdsDbClusterDetails { /** - *

                                            The status of the standards subscription.

                                            + *

                                            The port number on which the DB instances in the DB cluster accept connections.

                                            */ - StandardsStatus: StandardsStatus | string | undefined; + Port?: number; /** - *

                                            The ARN of a standard.

                                            + *

                                            Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.

                                            */ - StandardsArn: string | undefined; + HttpEndpointEnabled?: boolean; /** - *

                                            The ARN of a resource that represents your subscription to a supported standard.

                                            + *

                                            The status of the database activity stream.

                                            */ - StandardsSubscriptionArn: string | undefined; + ActivityStreamStatus?: string; /** - *

                                            A key-value pair of input for the standard.

                                            + *

                                            Whether the DB cluster is encrypted.

                                            */ - StandardsInput: { [key: string]: string } | undefined; -} + StorageEncrypted?: boolean; -export namespace StandardsSubscription { - export const filterSensitiveLog = (obj: StandardsSubscription): any => ({ - ...obj, - }); -} + /** + *

                                            The number of days for which automated backups are retained.

                                            + */ + BackupRetentionPeriod?: number; -export interface BatchDisableStandardsResponse { /** - *

                                            The details of the standards subscriptions that were disabled.

                                            + *

                                            The range of time each day when automated backups are created, if automated backups are + * enabled.

                                            + *

                                            Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

                                            */ - StandardsSubscriptions?: StandardsSubscription[]; -} + PreferredBackupWindow?: string; -export namespace BatchDisableStandardsResponse { - export const filterSensitiveLog = (obj: BatchDisableStandardsResponse): any => ({ - ...obj, - }); -} + /** + *

                                            The identifier of the DB cluster. The identifier must be unique within each AWS Region + * and is immutable.

                                            + */ + DbClusterResourceId?: string; -/** - *

                                            The standard that you want to enable.

                                            - */ -export interface StandardsSubscriptionRequest { /** - *

                                            A key-value pair of input for the standard.

                                            + *

                                            The Active Directory domain membership records that are associated with the DB + * cluster.

                                            */ - StandardsInput?: { [key: string]: string }; + DomainMemberships?: AwsRdsDbDomainMembership[]; /** - *

                                            The ARN of the standard that you want to enable. To view the list of available standards - * and their ARNs, use the - * DescribeStandards - * operation.

                                            + *

                                            The name of the master user for the DB cluster.

                                            */ - StandardsArn: string | undefined; -} + MasterUsername?: string; -export namespace StandardsSubscriptionRequest { - export const filterSensitiveLog = (obj: StandardsSubscriptionRequest): any => ({ - ...obj, - }); -} + /** + *

                                            A list of VPC security groups that the DB cluster belongs to.

                                            + */ + VpcSecurityGroups?: AwsRdsDbInstanceVpcSecurityGroup[]; -export interface BatchEnableStandardsRequest { /** - *

                                            The list of standards checks to enable.

                                            + *

                                            The list of option group memberships for this DB cluster.

                                            */ - StandardsSubscriptionRequests: StandardsSubscriptionRequest[] | undefined; -} + DbClusterOptionGroupMemberships?: AwsRdsDbClusterOptionGroupMembership[]; -export namespace BatchEnableStandardsRequest { - export const filterSensitiveLog = (obj: BatchEnableStandardsRequest): any => ({ - ...obj, - }); -} + /** + *

                                            Whether tags are copied from the DB cluster to snapshots of the DB cluster.

                                            + */ + CopyTagsToSnapshot?: boolean; -export interface BatchEnableStandardsResponse { /** - *

                                            The details of the standards subscriptions that were enabled.

                                            + *

                                            The weekly time range during which system maintenance can occur, in Universal + * Coordinated Time (UTC).

                                            + *

                                            Uses the format :HH:MM-:HH:MM.

                                            + *

                                            For the day values, use + * mon|tue|wed|thu|fri|sat|sun.

                                            + *

                                            For example, sun:09:32-sun:10:02.

                                            */ - StandardsSubscriptions?: StandardsSubscription[]; -} + PreferredMaintenanceWindow?: string; -export namespace BatchEnableStandardsResponse { - export const filterSensitiveLog = (obj: BatchEnableStandardsResponse): any => ({ - ...obj, - }); -} + /** + *

                                            A list of the IAM roles that are associated with the DB cluster.

                                            + */ + AssociatedRoles?: AwsRdsDbClusterAssociatedRole[]; -export interface BatchImportFindingsRequest { /** - *

                                            A list of findings to import. To successfully import a finding, it must follow the - * AWS Security Finding Format. Maximum of 100 findings per request.

                                            + *

                                            Whether the DB cluster is a clone of a DB cluster owned by a different AWS + * account.

                                            */ - Findings: AwsSecurityFinding[] | undefined; -} + CrossAccountClone?: boolean; -export namespace BatchImportFindingsRequest { - export const filterSensitiveLog = (obj: BatchImportFindingsRequest): any => ({ - ...obj, - }); -} + /** + *

                                            The DB cluster identifier that the user assigned to the cluster. This identifier is the + * unique key that identifies a DB cluster.

                                            + */ + DbClusterIdentifier?: string; -/** - *

                                            The list of the findings that cannot be imported. For each finding, the list provides - * the error.

                                            - */ -export interface ImportFindingsError { /** - *

                                            The message of the error returned by the BatchImportFindings - * operation.

                                            + *

                                            A list of log types that this DB cluster is configured to export to CloudWatch + * Logs.

                                            */ - ErrorMessage: string | undefined; + EnabledCloudWatchLogsExports?: string[]; /** - *

                                            The code of the error returned by the BatchImportFindings operation.

                                            + *

                                            Whether the DB cluster has deletion protection enabled.

                                            */ - ErrorCode: string | undefined; + DeletionProtection?: boolean; /** - *

                                            The identifier of the finding that could not be updated.

                                            + *

                                            For all database engines except Aurora, specifies the allocated storage size in + * gibibytes (GiB).

                                            */ - Id: string | undefined; -} + AllocatedStorage?: number; -export namespace ImportFindingsError { - export const filterSensitiveLog = (obj: ImportFindingsError): any => ({ - ...obj, - }); -} + /** + *

                                            The ARN of the AWS KMS master key that is used to encrypt the database instances in the + * DB cluster.

                                            + */ + KmsKeyId?: string; -export interface BatchImportFindingsResponse { /** - *

                                            The number of findings that failed to import.

                                            + *

                                            The current status of this DB cluster.

                                            */ - FailedCount: number | undefined; + Status?: string; /** - *

                                            The list of findings that failed to import.

                                            + *

                                            The name of the database.

                                            */ - FailedFindings?: ImportFindingsError[]; + DatabaseName?: string; /** - *

                                            The number of findings that were successfully imported.

                                            + *

                                            Whether the DB cluster has instances in multiple Availability Zones.

                                            */ - SuccessCount: number | undefined; -} + MultiAz?: boolean; -export namespace BatchImportFindingsResponse { - export const filterSensitiveLog = (obj: BatchImportFindingsResponse): any => ({ - ...obj, - }); -} + /** + *

                                            The name of the DB cluster parameter group for the DB cluster.

                                            + */ + DbClusterParameterGroup?: string; -/** - *

                                            The updated note.

                                            - */ -export interface NoteUpdate { /** - *

                                            The principal that updated the note.

                                            + *

                                            Whether the mapping of IAM accounts to database accounts is enabled.

                                            */ - UpdatedBy: string | undefined; + IamDatabaseAuthenticationEnabled?: boolean; /** - *

                                            The updated note text.

                                            + *

                                            Specifies the identifier that Amazon Route 53 assigns when you create a hosted + * zone.

                                            */ - Text: string | undefined; -} + HostedZoneId?: string; -export namespace NoteUpdate { - export const filterSensitiveLog = (obj: NoteUpdate): any => ({ - ...obj, - }); -} + /** + *

                                            A list of Availability Zones (AZs) where instances in the DB cluster can be + * created.

                                            + */ + AvailabilityZones?: string[]; -/** - *

                                            Updates to the severity information for a finding.

                                            - */ -export interface SeverityUpdate { /** - *

                                            The normalized severity for the finding. This attribute is to be deprecated in favor of - * Label.

                                            - *

                                            If you provide Normalized and do not provide Label, - * Label is set automatically as follows.

                                            - *
                                              - *
                                            • - *

                                              0 - INFORMATIONAL - *

                                              - *
                                            • - *
                                            • - *

                                              1–39 - LOW - *

                                              - *
                                            • - *
                                            • - *

                                              40–69 - MEDIUM - *

                                              - *
                                            • - *
                                            • - *

                                              70–89 - HIGH - *

                                              - *
                                            • - *
                                            • - *

                                              90–100 - CRITICAL - *

                                              - *
                                            • - *
                                            + *

                                            The name of the database engine to use for this DB cluster.

                                            */ - Normalized?: number; + Engine?: string; /** - *

                                            The severity value of the finding. The allowed values are the following.

                                            - *
                                              - *
                                            • - *

                                              - * INFORMATIONAL - No issue was found.

                                              - *
                                            • - *
                                            • - *

                                              - * LOW - The issue does not require action on its own.

                                              - *
                                            • - *
                                            • - *

                                              - * MEDIUM - The issue must be addressed but not urgently.

                                              - *
                                            • - *
                                            • - *

                                              - * HIGH - The issue must be addressed as a priority.

                                              - *
                                            • - *
                                            • - *

                                              - * CRITICAL - The issue must be remediated immediately to avoid it - * escalating.

                                              - *
                                            • - *
                                            + *

                                            The connection endpoint for the primary instance of the DB cluster.

                                            */ - Label?: SeverityLabel | string; + Endpoint?: string; /** - *

                                            The native severity as defined by the AWS service or integrated partner product that - * generated the finding.

                                            + *

                                            A list of custom endpoints for the DB cluster.

                                            */ - Product?: number; -} + CustomEndpoints?: string[]; -export namespace SeverityUpdate { - export const filterSensitiveLog = (obj: SeverityUpdate): any => ({ - ...obj, - }); -} + /** + *

                                            The list of instances that make up the DB cluster.

                                            + */ + DbClusterMembers?: AwsRdsDbClusterMember[]; -/** - *

                                            Used to update information about the investigation into the finding.

                                            - */ -export interface WorkflowUpdate { /** - *

                                            The status of the investigation into the finding. The allowed values are the - * following.

                                            - *
                                              - *
                                            • - *

                                              - * NEW - The initial state of a finding, before it is reviewed.

                                              - *
                                            • - *
                                            • - *

                                              - * NOTIFIED - Indicates that you notified the resource owner about the - * security issue. Used when the initial reviewer is not the resource owner, and needs - * intervention from the resource owner.

                                              - *
                                            • - *
                                            • - *

                                              - * RESOLVED - The finding was reviewed and remediated and is now - * considered resolved.

                                              - *
                                            • - *
                                            • - *

                                              - * SUPPRESSED - The finding will not be reviewed again and will not be - * acted upon.

                                              - *
                                            • - *
                                            + *

                                            The identifiers of the read replicas that are associated with this DB cluster.

                                            */ - Status?: WorkflowStatus | string; -} + ReadReplicaIdentifiers?: string[]; -export namespace WorkflowUpdate { - export const filterSensitiveLog = (obj: WorkflowUpdate): any => ({ - ...obj, - }); -} + /** + *

                                            The subnet group that is associated with the DB cluster, including the name, + * description, and subnets in the subnet group.

                                            + */ + DbSubnetGroup?: string; -export interface BatchUpdateFindingsRequest { /** - *

                                            Indicates the veracity of a finding.

                                            - *

                                            The available values for VerificationState are as follows.

                                            - *
                                              - *
                                            • - *

                                              - * UNKNOWN – The default disposition of a security finding

                                              - *
                                            • - *
                                            • - *

                                              - * TRUE_POSITIVE – The security finding is confirmed

                                              - *
                                            • - *
                                            • - *

                                              - * FALSE_POSITIVE – The security finding was determined to be a false - * alarm

                                              - *
                                            • - *
                                            • - *

                                              - * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where - * the finding doesn't pose any threat, is expected, or both

                                              - *
                                            • - *
                                            + *

                                            The reader endpoint for the DB cluster.

                                            */ - VerificationState?: VerificationState | string; + ReaderEndpoint?: string; /** - *

                                            A list of findings that are related to the updated findings.

                                            + *

                                            Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - RelatedFindings?: RelatedFinding[]; + ClusterCreateTime?: string; /** - *

                                            The list of findings to update. BatchUpdateFindings can be used to update - * up to 100 findings at a time.

                                            - *

                                            For each finding, the list provides the finding identifier and the ARN of the finding - * provider.

                                            + *

                                            The database engine mode of the DB cluster.

                                            */ - FindingIdentifiers: AwsSecurityFindingIdentifier[] | undefined; + EngineMode?: string; /** - *

                                            The updated value for the finding confidence. Confidence is defined as the likelihood - * that a finding accurately identifies the behavior or issue that it was intended to - * identify.

                                            - *

                                            Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent - * confidence and 100 means 100 percent confidence.

                                            + *

                                            The version number of the database engine to use.

                                            */ - Confidence?: number; + EngineVersion?: string; +} + +export namespace AwsRdsDbClusterDetails { + export const filterSensitiveLog = (obj: AwsRdsDbClusterDetails): any => ({ + ...obj, + }); +} +/** + *

                                            Information about an Amazon RDS DB cluster snapshot.

                                            + */ +export interface AwsRdsDbClusterSnapshotDetails { /** - *

                                            One or more finding types in the format of namespace/category/classifier that classify a - * finding.

                                            - *

                                            Valid namespace values are as follows.

                                            - *
                                              - *
                                            • - *

                                              Software and Configuration Checks

                                              - *
                                            • - *
                                            • - *

                                              TTPs

                                              - *
                                            • - *
                                            • - *

                                              Effects

                                              - *
                                            • - *
                                            • - *

                                              Unusual Behaviors

                                              - *
                                            • - *
                                            • - *

                                              Sensitive Data Identifications

                                              - *
                                            • - *
                                            + *

                                            Indicates when the snapshot was taken.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Types?: string[]; + SnapshotCreateTime?: string; /** - *

                                            The updated note.

                                            + *

                                            */ - Note?: NoteUpdate; + Engine?: string; /** - *

                                            The updated value for the level of importance assigned to the resources associated with - * the findings.

                                            - *

                                            A score of 0 means that the underlying resources have no criticality, and a score of 100 - * is reserved for the most critical resources.

                                            + *

                                            Whether the DB cluster is encrypted.

                                            */ - Criticality?: number; + StorageEncrypted?: boolean; /** - *

                                            A list of name/value string pairs associated with the finding. These are custom, - * user-defined fields added to a finding.

                                            + *

                                            The license model information for this DB cluster snapshot.

                                            */ - UserDefinedFields?: { [key: string]: string }; + LicenseModel?: string; /** - *

                                            Used to update the workflow status of a finding.

                                            - *

                                            The workflow status indicates the progress of the investigation into the finding.

                                            + *

                                            The VPC ID that is associated with the DB cluster snapshot.

                                            */ - Workflow?: WorkflowUpdate; + VpcId?: string; /** - *

                                            Used to update the finding severity.

                                            + *

                                            A list of Availability Zones where instances in the DB cluster can be created.

                                            */ - Severity?: SeverityUpdate; -} + AvailabilityZones?: string[]; -export namespace BatchUpdateFindingsRequest { - export const filterSensitiveLog = (obj: BatchUpdateFindingsRequest): any => ({ - ...obj, - }); -} + /** + *

                                            The ARN of the AWS KMS master key that is used to encrypt the database instances in the + * DB cluster.

                                            + */ + KmsKeyId?: string; -/** - *

                                            A finding from a BatchUpdateFindings request that Security Hub was unable to - * update.

                                            - */ -export interface BatchUpdateFindingsUnprocessedFinding { /** - *

                                            The identifier of the finding that was not updated.

                                            + *

                                            The type of DB cluster snapshot.

                                            */ - FindingIdentifier: AwsSecurityFindingIdentifier | undefined; + SnapshotType?: string; /** - *

                                            The message associated with the error.

                                            + *

                                            The name of the master user for the DB cluster.

                                            */ - ErrorMessage: string | undefined; + MasterUsername?: string; /** - *

                                            The code associated with the error.

                                            + *

                                            Specifies the percentage of the estimated data that has been transferred.

                                            */ - ErrorCode: string | undefined; -} + PercentProgress?: number; -export namespace BatchUpdateFindingsUnprocessedFinding { - export const filterSensitiveLog = (obj: BatchUpdateFindingsUnprocessedFinding): any => ({ - ...obj, - }); -} + /** + *

                                            The DB cluster identifier.

                                            + */ + DbClusterIdentifier?: string; -export interface BatchUpdateFindingsResponse { /** - *

                                            The list of findings that were updated successfully.

                                            + *

                                            Whether mapping of IAM accounts to database accounts is enabled.

                                            */ - ProcessedFindings: AwsSecurityFindingIdentifier[] | undefined; + IamDatabaseAuthenticationEnabled?: boolean; /** - *

                                            The list of findings that were not updated.

                                            + *

                                            Specifies the allocated storage size in gibibytes (GiB).

                                            */ - UnprocessedFindings: BatchUpdateFindingsUnprocessedFinding[] | undefined; -} + AllocatedStorage?: number; -export namespace BatchUpdateFindingsResponse { - export const filterSensitiveLog = (obj: BatchUpdateFindingsResponse): any => ({ - ...obj, - }); -} + /** + *

                                            The status of this DB cluster snapshot.

                                            + */ + Status?: string; -export enum ControlStatus { - DISABLED = "DISABLED", - ENABLED = "ENABLED", -} + /** + *

                                            The version of the database engine to use.

                                            + */ + EngineVersion?: string; -export interface CreateActionTargetRequest { /** - *

                                            The ID for the custom action target.

                                            + *

                                            The identifier of the DB cluster snapshot.

                                            */ - Id: string | undefined; + DbClusterSnapshotIdentifier?: string; /** - *

                                            The description for the custom action target.

                                            + *

                                            The port number on which the DB instances in the DB cluster accept connections.

                                            */ - Description: string | undefined; + Port?: number; /** - *

                                            The name of the custom action target.

                                            + *

                                            Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            */ - Name: string | undefined; + ClusterCreateTime?: string; } -export namespace CreateActionTargetRequest { - export const filterSensitiveLog = (obj: CreateActionTargetRequest): any => ({ - ...obj, - }); -} - -export interface CreateActionTargetResponse { - /** - *

                                            The ARN for the custom action target.

                                            - */ - ActionTargetArn: string | undefined; -} - -export namespace CreateActionTargetResponse { - export const filterSensitiveLog = (obj: CreateActionTargetResponse): any => ({ +export namespace AwsRdsDbClusterSnapshotDetails { + export const filterSensitiveLog = (obj: AwsRdsDbClusterSnapshotDetails): any => ({ ...obj, }); } /** - *

                                            The resource specified in the request conflicts with an existing resource.

                                            + *

                                            An AWS Identity and Access Management (IAM) role associated with the DB instance.

                                            */ -export interface ResourceConflictException extends __SmithyException, $MetadataBearer { - name: "ResourceConflictException"; - $fault: "client"; - Code?: string; - Message?: string; -} - -export namespace ResourceConflictException { - export const filterSensitiveLog = (obj: ResourceConflictException): any => ({ - ...obj, - }); -} - -export interface CreateInsightRequest { +export interface AwsRdsDbInstanceAssociatedRole { /** - *

                                            The name of the custom insight to create.

                                            + *

                                            The name of the feature associated with the IAM)role.

                                            */ - Name: string | undefined; + FeatureName?: string; /** - *

                                            The attribute used to group the findings for the insight. The grouping attribute - * identifies the type of item that the insight applies to. For example, if an insight is - * grouped by resource identifier, then the insight produces a list of resource - * identifiers.

                                            + *

                                            Describes the state of the association between the IAM role and the DB instance. The + * Status property returns one of the following values:

                                            + *
                                              + *
                                            • + *

                                              + * ACTIVE - The IAM role ARN is associated with the DB instance and can + * be used to access other AWS services on your behalf.

                                              + *
                                            • + *
                                            • + *

                                              + * PENDING - The IAM role ARN is being associated with the DB + * instance.

                                              + *
                                            • + *
                                            • + *

                                              + * INVALID - The IAM role ARN is associated with the DB instance. But + * the DB instance is unable to assume the IAM role in order to access other AWS + * services on your behalf.

                                              + *
                                            • + *
                                            */ - GroupByAttribute: string | undefined; + Status?: string; /** - *

                                            One or more attributes used to filter the findings included in the insight. The insight - * only includes findings that match the criteria defined in the filters.

                                            + *

                                            The Amazon Resource Name (ARN) of the IAM role that is associated with the DB + * instance.

                                            */ - Filters: AwsSecurityFindingFilters | undefined; + RoleArn?: string; } -export namespace CreateInsightRequest { - export const filterSensitiveLog = (obj: CreateInsightRequest): any => ({ +export namespace AwsRdsDbInstanceAssociatedRole { + export const filterSensitiveLog = (obj: AwsRdsDbInstanceAssociatedRole): any => ({ ...obj, }); } -export interface CreateInsightResponse { +/** + *

                                            + */ +export interface AwsRdsDbParameterGroup { /** - *

                                            The ARN of the insight created.

                                            + *

                                            */ - InsightArn: string | undefined; + ParameterApplyStatus?: string; + + /** + *

                                            + */ + DbParameterGroupName?: string; } -export namespace CreateInsightResponse { - export const filterSensitiveLog = (obj: CreateInsightResponse): any => ({ +export namespace AwsRdsDbParameterGroup { + export const filterSensitiveLog = (obj: AwsRdsDbParameterGroup): any => ({ ...obj, }); } -export interface CreateMembersRequest { +/** + *

                                            An Availability Zone for a subnet in a subnet group.

                                            + */ +export interface AwsRdsDbSubnetGroupSubnetAvailabilityZone { /** - *

                                            The list of accounts to associate with the Security Hub master account. For each account, the - * list includes the account ID and the email address.

                                            + *

                                            The name of the Availability Zone for a subnet in the subnet group.

                                            */ - AccountDetails?: AccountDetails[]; + Name?: string; } -export namespace CreateMembersRequest { - export const filterSensitiveLog = (obj: CreateMembersRequest): any => ({ +export namespace AwsRdsDbSubnetGroupSubnetAvailabilityZone { + export const filterSensitiveLog = (obj: AwsRdsDbSubnetGroupSubnetAvailabilityZone): any => ({ ...obj, }); } /** - *

                                            Details about the account that was not processed.

                                            + *

                                            Information about a subnet in a subnet group.

                                            */ -export interface Result { +export interface AwsRdsDbSubnetGroupSubnet { /** - *

                                            The reason that the account was not processed.

                                            + *

                                            The identifier of a subnet in the subnet group.

                                            */ - ProcessingResult?: string; + SubnetIdentifier?: string; /** - *

                                            An AWS account ID of the account that was not processed.

                                            + *

                                            The status of a subnet in the subnet group.

                                            */ - AccountId?: string; -} + SubnetStatus?: string; -export namespace Result { - export const filterSensitiveLog = (obj: Result): any => ({ - ...obj, - }); -} - -export interface CreateMembersResponse { /** - *

                                            The list of AWS accounts that were not processed. For each account, the list includes - * the account ID and the email address.

                                            + *

                                            Information about the Availability Zone for a subnet in the subnet group.

                                            */ - UnprocessedAccounts?: Result[]; + SubnetAvailabilityZone?: AwsRdsDbSubnetGroupSubnetAvailabilityZone; } -export namespace CreateMembersResponse { - export const filterSensitiveLog = (obj: CreateMembersResponse): any => ({ +export namespace AwsRdsDbSubnetGroupSubnet { + export const filterSensitiveLog = (obj: AwsRdsDbSubnetGroupSubnet): any => ({ ...obj, }); } -export interface DeclineInvitationsRequest { +/** + *

                                            Information about the subnet group for the database instance.

                                            + */ +export interface AwsRdsDbSubnetGroup { /** - *

                                            The list of account IDs for the accounts from which to decline the invitations to - * Security Hub.

                                            + *

                                            The VPC ID of the subnet group.

                                            */ - AccountIds: string[] | undefined; -} - -export namespace DeclineInvitationsRequest { - export const filterSensitiveLog = (obj: DeclineInvitationsRequest): any => ({ - ...obj, - }); -} + VpcId?: string; -export interface DeclineInvitationsResponse { /** - *

                                            The list of AWS accounts that were not processed. For each account, the list includes - * the account ID and the email address.

                                            + *

                                            A list of subnets in the subnet group.

                                            */ - UnprocessedAccounts?: Result[]; -} + Subnets?: AwsRdsDbSubnetGroupSubnet[]; -export namespace DeclineInvitationsResponse { - export const filterSensitiveLog = (obj: DeclineInvitationsResponse): any => ({ - ...obj, - }); -} + /** + *

                                            The status of the subnet group.

                                            + */ + SubnetGroupStatus?: string; -export interface DeleteActionTargetRequest { /** - *

                                            The ARN of the custom action target to delete.

                                            + *

                                            The description of the subnet group.

                                            */ - ActionTargetArn: string | undefined; -} + DbSubnetGroupDescription?: string; -export namespace DeleteActionTargetRequest { - export const filterSensitiveLog = (obj: DeleteActionTargetRequest): any => ({ - ...obj, - }); -} + /** + *

                                            The name of the subnet group.

                                            + */ + DbSubnetGroupName?: string; -export interface DeleteActionTargetResponse { /** - *

                                            The ARN of the custom action target that was deleted.

                                            + *

                                            The ARN of the subnet group.

                                            */ - ActionTargetArn: string | undefined; + DbSubnetGroupArn?: string; } -export namespace DeleteActionTargetResponse { - export const filterSensitiveLog = (obj: DeleteActionTargetResponse): any => ({ +export namespace AwsRdsDbSubnetGroup { + export const filterSensitiveLog = (obj: AwsRdsDbSubnetGroup): any => ({ ...obj, }); } -export interface DeleteInsightRequest { +/** + *

                                            Specifies the connection endpoint.

                                            + */ +export interface AwsRdsDbInstanceEndpoint { /** - *

                                            The ARN of the insight to delete.

                                            + *

                                            Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

                                            */ - InsightArn: string | undefined; -} + HostedZoneId?: string; -export namespace DeleteInsightRequest { - export const filterSensitiveLog = (obj: DeleteInsightRequest): any => ({ - ...obj, - }); -} + /** + *

                                            Specifies the DNS address of the DB instance.

                                            + */ + Address?: string; -export interface DeleteInsightResponse { /** - *

                                            The ARN of the insight that was deleted.

                                            + *

                                            Specifies the port that the database engine is listening on.

                                            */ - InsightArn: string | undefined; + Port?: number; } -export namespace DeleteInsightResponse { - export const filterSensitiveLog = (obj: DeleteInsightResponse): any => ({ +export namespace AwsRdsDbInstanceEndpoint { + export const filterSensitiveLog = (obj: AwsRdsDbInstanceEndpoint): any => ({ ...obj, }); } -export interface DeleteInvitationsRequest { +/** + *

                                            + */ +export interface AwsRdsDbOptionGroupMembership { /** - *

                                            The list of the account IDs that sent the invitations to delete.

                                            + *

                                            */ - AccountIds: string[] | undefined; -} - -export namespace DeleteInvitationsRequest { - export const filterSensitiveLog = (obj: DeleteInvitationsRequest): any => ({ - ...obj, - }); -} + Status?: string; -export interface DeleteInvitationsResponse { /** - *

                                            The list of AWS accounts for which the invitations were not deleted. For each account, - * the list includes the account ID and the email address.

                                            + *

                                            */ - UnprocessedAccounts?: Result[]; + OptionGroupName?: string; } -export namespace DeleteInvitationsResponse { - export const filterSensitiveLog = (obj: DeleteInvitationsResponse): any => ({ +export namespace AwsRdsDbOptionGroupMembership { + export const filterSensitiveLog = (obj: AwsRdsDbOptionGroupMembership): any => ({ ...obj, }); } -export interface DeleteMembersRequest { +/** + *

                                            Identifies the log types to enable and disable.

                                            + */ +export interface AwsRdsPendingCloudWatchLogsExports { /** - *

                                            The list of account IDs for the member accounts to delete.

                                            + *

                                            A list of log types that are being enabled.

                                            */ - AccountIds?: string[]; + LogTypesToEnable?: string[]; + + /** + *

                                            A list of log types that are being disabled.

                                            + */ + LogTypesToDisable?: string[]; } -export namespace DeleteMembersRequest { - export const filterSensitiveLog = (obj: DeleteMembersRequest): any => ({ +export namespace AwsRdsPendingCloudWatchLogsExports { + export const filterSensitiveLog = (obj: AwsRdsPendingCloudWatchLogsExports): any => ({ ...obj, }); } -export interface DeleteMembersResponse { +/** + *

                                            + */ +export interface AwsRdsDbProcessorFeature { /** - *

                                            The list of AWS accounts that were not deleted. For each account, the list includes the - * account ID and the email address.

                                            + *

                                            */ - UnprocessedAccounts?: Result[]; + Value?: string; + + /** + *

                                            + */ + Name?: string; } -export namespace DeleteMembersResponse { - export const filterSensitiveLog = (obj: DeleteMembersResponse): any => ({ +export namespace AwsRdsDbProcessorFeature { + export const filterSensitiveLog = (obj: AwsRdsDbProcessorFeature): any => ({ ...obj, }); } -export interface DescribeActionTargetsRequest { +/** + *

                                            + */ +export interface AwsRdsDbPendingModifiedValues { /** - *

                                            The maximum number of results to return.

                                            + *

                                            */ - MaxResults?: number; + PendingCloudWatchLogsExports?: AwsRdsPendingCloudWatchLogsExports; /** - *

                                            The token that is required for pagination. On your first call to the - * DescribeActionTargets operation, set the value of this parameter to - * NULL.

                                            - *

                                            For subsequent calls to the operation, to continue listing data, set the value of this - * parameter to the value returned from the previous response.

                                            + *

                                            */ - NextToken?: string; + DbSubnetGroupName?: string; /** - *

                                            A list of custom action target ARNs for the custom action targets to retrieve.

                                            + *

                                            */ - ActionTargetArns?: string[]; -} - -export namespace DescribeActionTargetsRequest { - export const filterSensitiveLog = (obj: DescribeActionTargetsRequest): any => ({ - ...obj, - }); -} + DbInstanceClass?: string; -export interface DescribeActionTargetsResponse { /** - *

                                            The pagination token to use to request the next page of results.

                                            + *

                                            */ - NextToken?: string; + MasterUserPassword?: string; /** - *

                                            A list of ActionTarget objects. Each object includes the ActionTargetArn, - * Description, and Name of a custom action target available in - * Security Hub.

                                            + *

                                            */ - ActionTargets: ActionTarget[] | undefined; -} + ProcessorFeatures?: AwsRdsDbProcessorFeature[]; -export namespace DescribeActionTargetsResponse { - export const filterSensitiveLog = (obj: DescribeActionTargetsResponse): any => ({ - ...obj, - }); -} - -export interface DescribeHubRequest { /** - *

                                            The ARN of the Hub resource to retrieve.

                                            + *

                                            */ - HubArn?: string; + DbInstanceIdentifier?: string; + + /** + *

                                            + */ + EngineVersion?: string; + + /** + *

                                            + */ + StorageType?: string; + + /** + *

                                            + */ + LicenseModel?: string; + + /** + *

                                            + */ + MultiAZ?: boolean; + + /** + *

                                            + */ + CaCertificateIdentifier?: string; + + /** + *

                                            + */ + BackupRetentionPeriod?: number; + + /** + *

                                            + */ + AllocatedStorage?: number; + + /** + *

                                            + */ + Iops?: number; + + /** + *

                                            + */ + Port?: number; +} + +export namespace AwsRdsDbPendingModifiedValues { + export const filterSensitiveLog = (obj: AwsRdsDbPendingModifiedValues): any => ({ + ...obj, + }); +} + +/** + *

                                            Information about the status of a read replica.

                                            + */ +export interface AwsRdsDbStatusInfo { + /** + *

                                            If the read replica is currently in an error state, provides the error details.

                                            + */ + Message?: string; + + /** + *

                                            The type of status. For a read replica, the status type is read replication.

                                            + */ + StatusType?: string; + + /** + *

                                            Whether the read replica instance is operating normally.

                                            + */ + Normal?: boolean; + + /** + *

                                            The status of the read replica instance.

                                            + */ + Status?: string; +} + +export namespace AwsRdsDbStatusInfo { + export const filterSensitiveLog = (obj: AwsRdsDbStatusInfo): any => ({ + ...obj, + }); +} + +/** + *

                                            Contains the details of an Amazon RDS DB instance.

                                            + */ +export interface AwsRdsDbInstanceDetails { + /** + *

                                            The range of time each day when automated backups are created, if automated backups are + * enabled.

                                            + *

                                            Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

                                            + */ + PreferredBackupWindow?: string; + + /** + *

                                            Whether to copy resource tags to snapshots of the DB instance.

                                            + */ + CopyTagsToSnapshot?: boolean; + + /** + *

                                            The master user name of the DB instance.

                                            + */ + MasterUsername?: string; + + /** + *

                                            The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring metrics to + * CloudWatch Logs.

                                            + */ + MonitoringRoleArn?: string; + + /** + *

                                            Information about the subnet group that is associated with the DB instance.

                                            + */ + DbSubnetGroup?: AwsRdsDbSubnetGroup; + + /** + *

                                            The order in which to promote an Aurora replica to the primary instance after a failure + * of the existing primary instance.

                                            + */ + PromotionTier?: number; + + /** + *

                                            Whether the DB instance is a multiple Availability Zone deployment.

                                            + */ + MultiAz?: boolean; + + /** + *

                                            The identifier of the AWS KMS key used to encrypt the Performance Insights data.

                                            + */ + PerformanceInsightsKmsKeyId?: string; + + /** + *

                                            The number of CPU cores and the number of threads per core for the DB instance class of + * the DB instance.

                                            + */ + ProcessorFeatures?: AwsRdsDbProcessorFeature[]; + + /** + *

                                            The number of days to retain Performance Insights data.

                                            + */ + PerformanceInsightsRetentionPeriod?: number; + + /** + *

                                            A list of the DB security groups to assign to the DB instance.

                                            + */ + DbSecurityGroups?: string[]; + + /** + *

                                            Specifies the connection endpoint.

                                            + */ + ListenerEndpoint?: AwsRdsDbInstanceEndpoint; + + /** + *

                                            The name of the character set that this DB instance is associated with.

                                            + */ + CharacterSetName?: string; + + /** + *

                                            The storage type for the DB instance.

                                            + */ + StorageType?: string; + + /** + *

                                            A list of log types that this DB instance is configured to export to CloudWatch + * Logs.

                                            + */ + EnabledCloudWatchLogsExports?: string[]; + + /** + *

                                            Contains a user-supplied database identifier. This identifier is the unique key that + * identifies a DB instance.

                                            + */ + DBInstanceIdentifier?: string; + + /** + *

                                            List of identifiers of the read replicas associated with this DB instance.

                                            + */ + ReadReplicaDBInstanceIdentifiers?: string[]; + + /** + *

                                            The meaning of this parameter differs according to the database engine you use.

                                            + *

                                            + * MySQL, MariaDB, SQL Server, PostgreSQL + *

                                            + *

                                            Contains the name of the initial database of this instance that was provided at create + * time, if one was specified when the DB instance was created. This same name is returned for + * the life of the DB instance.

                                            + *

                                            + * Oracle + *

                                            + *

                                            Contains the Oracle System ID (SID) of the created DB instance. Not shown when the + * returned parameters do not apply to an Oracle DB instance.

                                            + */ + DBName?: string; + + /** + *

                                            Specifies the port that the DB instance listens on. If the DB instance is part of a DB + * cluster, this can be a different port than the DB cluster port.

                                            + */ + DbInstancePort?: number; + + /** + *

                                            Specifies the connection endpoint.

                                            + */ + Endpoint?: AwsRdsDbInstanceEndpoint; + + /** + *

                                            The identifier of the CA certificate for this DB instance.

                                            + */ + CACertificateIdentifier?: string; + + /** + *

                                            Provides the name of the database engine to use for this DB instance.

                                            + */ + Engine?: string; + + /** + *

                                            Specifies the provisioned IOPS (I/O operations per second) for this DB instance.

                                            + */ + Iops?: number; + + /** + *

                                            A list of the DB parameter groups to assign to the DB instance.

                                            + */ + DbParameterGroups?: AwsRdsDbParameterGroup[]; + + /** + *

                                            License model information for this DB instance.

                                            + */ + LicenseModel?: string; + + /** + *

                                            True if mapping of AWS Identity and Access Management (IAM) accounts to database + * accounts is enabled, and otherwise false.

                                            + *

                                            IAM database authentication can be enabled for the following database engines.

                                            + *
                                              + *
                                            • + *

                                              For MySQL 5.6, minor version 5.6.34 or higher

                                              + *
                                            • + *
                                            • + *

                                              For MySQL 5.7, minor version 5.7.16 or higher

                                              + *
                                            • + *
                                            • + *

                                              Aurora 5.6 or higher

                                              + *
                                            • + *
                                            + */ + IAMDatabaseAuthenticationEnabled?: boolean; + + /** + *

                                            The weekly time range during which system maintenance can occur, in Universal + * Coordinated Time (UTC).

                                            + *

                                            Uses the format :HH:MM-:HH:MM.

                                            + *

                                            For the day values, use + * mon|tue|wed|thu|fri|sat|sun.

                                            + *

                                            For example, sun:09:32-sun:10:02.

                                            + */ + PreferredMaintenanceWindow?: string; + + /** + *

                                            The AWS Region-unique, immutable identifier for the DB instance. This identifier is + * found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is + * accessed.

                                            + */ + DbiResourceId?: string; + + /** + *

                                            The Active Directory domain membership records associated with the DB instance.

                                            + */ + DomainMemberships?: AwsRdsDbDomainMembership[]; + + /** + *

                                            The upper limit to which Amazon RDS can automatically scale the storage of the DB + * instance.

                                            + */ + MaxAllocatedStorage?: number; + + /** + *

                                            The number of days for which to retain automated backups.

                                            + */ + BackupRetentionPeriod?: number; + + /** + *

                                            If the DB instance is a member of a DB cluster, contains the name of the DB cluster that + * the DB instance is a member of.

                                            + */ + DBClusterIdentifier?: string; + + /** + *

                                            For a DB instance with multi-Availability Zone support, the name of the secondary + * Availability Zone.

                                            + */ + SecondaryAvailabilityZone?: string; + + /** + *

                                            Indicates whether Performance Insights is enabled for the DB instance.

                                            + */ + PerformanceInsightsEnabled?: boolean; + + /** + *

                                            The ARN from the key store with which the instance is associated for TDE + * encryption.

                                            + */ + TdeCredentialArn?: string; + + /** + *

                                            Specifies whether the DB instance is encrypted.

                                            + */ + StorageEncrypted?: boolean; + + /** + *

                                            Indicates the database engine version.

                                            + */ + EngineVersion?: string; + + /** + *

                                            If this DB instance is a read replica, contains the identifier of the source DB + * instance.

                                            + */ + ReadReplicaSourceDBInstanceIdentifier?: string; + + /** + *

                                            The amount of storage (in gigabytes) to initially allocate for the DB instance.

                                            + */ + AllocatedStorage?: number; + + /** + *

                                            The current status of the DB instance.

                                            + */ + DbInstanceStatus?: string; + + /** + *

                                            Specifies the accessibility options for the DB instance.

                                            + *

                                            A value of true specifies an Internet-facing instance with a publicly resolvable DNS + * name, which resolves to a public IP address.

                                            + *

                                            A value of false specifies an internal instance with a DNS name that resolves to a + * private IP address.

                                            + */ + PubliclyAccessible?: boolean; + + /** + *

                                            Indicates whether the DB instance has deletion protection enabled.

                                            + *

                                            When deletion protection is enabled, the database cannot be deleted.

                                            + */ + DeletionProtection?: boolean; + + /** + *

                                            If StorageEncrypted is true, the AWS KMS key identifier for the encrypted + * DB instance.

                                            + */ + KmsKeyId?: string; + + /** + *

                                            The Availability Zone where the DB instance will be created.

                                            + */ + AvailabilityZone?: string; + + /** + *

                                            Changes to the DB instance that are currently pending.

                                            + */ + PendingModifiedValues?: AwsRdsDbPendingModifiedValues; + + /** + *

                                            The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring metrics + * data for the DB instance.

                                            + */ + EnhancedMonitoringResourceArn?: string; + + /** + *

                                            Specifies the latest time to which a database can be restored with point-in-time + * restore.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + LatestRestorableTime?: string; + + /** + *

                                            Contains the name of the compute and memory capacity class of the DB instance.

                                            + */ + DBInstanceClass?: string; + + /** + *

                                            Indicates when the DB instance was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + InstanceCreateTime?: string; + + /** + *

                                            The AWS Identity and Access Management (IAM) roles associated with the DB + * instance.

                                            + */ + AssociatedRoles?: AwsRdsDbInstanceAssociatedRole[]; + + /** + *

                                            The status of a read replica. If the instance isn't a read replica, this is + * empty.

                                            + */ + StatusInfos?: AwsRdsDbStatusInfo[]; + + /** + *

                                            The list of option group memberships for this DB instance.

                                            + */ + OptionGroupMemberships?: AwsRdsDbOptionGroupMembership[]; + + /** + *

                                            The time zone of the DB instance.

                                            + */ + Timezone?: string; + + /** + *

                                            The interval, in seconds, between points when enhanced monitoring metrics are collected + * for the DB instance.

                                            + */ + MonitoringInterval?: number; + + /** + *

                                            List of identifiers of Aurora DB clusters to which the RDS DB instance is replicated as + * a read replica.

                                            + */ + ReadReplicaDBClusterIdentifiers?: string[]; + + /** + *

                                            Indicates whether minor version patches are applied automatically.

                                            + */ + AutoMinorVersionUpgrade?: boolean; + + /** + *

                                            A list of VPC security groups that the DB instance belongs to.

                                            + */ + VpcSecurityGroups?: AwsRdsDbInstanceVpcSecurityGroup[]; +} + +export namespace AwsRdsDbInstanceDetails { + export const filterSensitiveLog = (obj: AwsRdsDbInstanceDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            + */ +export interface AwsRdsDbSnapshotDetails { + /** + *

                                            + */ + ProcessorFeatures?: AwsRdsDbProcessorFeature[]; + + /** + *

                                            + */ + TdeCredentialArn?: string; + + /** + *

                                            + */ + IamDatabaseAuthenticationEnabled?: boolean; + + /** + *

                                            + */ + Encrypted?: boolean; + + /** + *

                                            + */ + Port?: number; + + /** + *

                                            + */ + AvailabilityZone?: string; + + /** + *

                                            + */ + DbiResourceId?: string; + + /** + *

                                            + */ + SnapshotType?: string; + + /** + *

                                            + */ + LicenseModel?: string; + + /** + *

                                            + */ + InstanceCreateTime?: string; + + /** + *

                                            + */ + VpcId?: string; + + /** + *

                                            + */ + Timezone?: string; + + /** + *

                                            + */ + DbInstanceIdentifier?: string; + + /** + *

                                            + */ + KmsKeyId?: string; + + /** + *

                                            + */ + MasterUsername?: string; + + /** + *

                                            + */ + DbSnapshotIdentifier?: string; + + /** + *

                                            + */ + SourceRegion?: string; + + /** + *

                                            + */ + Iops?: number; + + /** + *

                                            + */ + SnapshotCreateTime?: string; + + /** + *

                                            + */ + Engine?: string; + + /** + *

                                            + */ + SourceDbSnapshotIdentifier?: string; + + /** + *

                                            + */ + Status?: string; + + /** + *

                                            + */ + EngineVersion?: string; + + /** + *

                                            + */ + StorageType?: string; + + /** + *

                                            + */ + PercentProgress?: number; + + /** + *

                                            + */ + OptionGroupName?: string; + + /** + *

                                            + */ + AllocatedStorage?: number; +} + +export namespace AwsRdsDbSnapshotDetails { + export const filterSensitiveLog = (obj: AwsRdsDbSnapshotDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            A node in an Amazon Redshift cluster.

                                            + */ +export interface AwsRedshiftClusterClusterNode { + /** + *

                                            The private IP address of the node.

                                            + */ + PrivateIpAddress?: string; + + /** + *

                                            The role of the node. A node might be a leader node or a compute node.

                                            + */ + NodeRole?: string; + + /** + *

                                            The public IP address of the node.

                                            + */ + PublicIpAddress?: string; +} + +export namespace AwsRedshiftClusterClusterNode { + export const filterSensitiveLog = (obj: AwsRedshiftClusterClusterNode): any => ({ + ...obj, + }); +} + +/** + *

                                            The status of a parameter in a cluster parameter group for an Amazon Redshift + * cluster.

                                            + */ +export interface AwsRedshiftClusterClusterParameterStatus { + /** + *

                                            The error that prevented the parameter from being applied to the database.

                                            + */ + ParameterApplyErrorDescription?: string; + + /** + *

                                            The name of the parameter.

                                            + */ + ParameterName?: string; + + /** + *

                                            The status of the parameter. Indicates whether the parameter is in sync with the + * database, waiting for a cluster reboot, or encountered an error when it was applied.

                                            + *

                                            Valid values: in-sync | pending-reboot | applying + * | invalid-parameter | apply-deferred | apply-error | + * unknown-error + *

                                            + */ + ParameterApplyStatus?: string; +} + +export namespace AwsRedshiftClusterClusterParameterStatus { + export const filterSensitiveLog = (obj: AwsRedshiftClusterClusterParameterStatus): any => ({ + ...obj, + }); +} + +/** + *

                                            A cluster parameter group that is associated with an Amazon Redshift cluster.

                                            + */ +export interface AwsRedshiftClusterClusterParameterGroup { + /** + *

                                            The list of parameter statuses.

                                            + */ + ClusterParameterStatusList?: AwsRedshiftClusterClusterParameterStatus[]; + + /** + *

                                            The status of updates to the parameters.

                                            + */ + ParameterApplyStatus?: string; + + /** + *

                                            The name of the parameter group.

                                            + */ + ParameterGroupName?: string; +} + +export namespace AwsRedshiftClusterClusterParameterGroup { + export const filterSensitiveLog = (obj: AwsRedshiftClusterClusterParameterGroup): any => ({ + ...obj, + }); +} + +/** + *

                                            A security group that is associated with the cluster.

                                            + */ +export interface AwsRedshiftClusterClusterSecurityGroup { + /** + *

                                            The status of the cluster security group.

                                            + */ + Status?: string; + + /** + *

                                            The name of the cluster security group.

                                            + */ + ClusterSecurityGroupName?: string; +} + +export namespace AwsRedshiftClusterClusterSecurityGroup { + export const filterSensitiveLog = (obj: AwsRedshiftClusterClusterSecurityGroup): any => ({ + ...obj, + }); +} + +/** + *

                                            Information about a cross-Region snapshot copy.

                                            + */ +export interface AwsRedshiftClusterClusterSnapshotCopyStatus { + /** + *

                                            The number of days that manual snapshots are retained in the destination region after + * they are copied from a source region.

                                            + *

                                            If the value is -1, then the manual snapshot is retained indefinitely.

                                            + *

                                            Valid values: Either -1 or an integer between 1 and 3,653

                                            + */ + ManualSnapshotRetentionPeriod?: number; + + /** + *

                                            The destination Region that snapshots are automatically copied to when cross-Region + * snapshot copy is enabled.

                                            + */ + DestinationRegion?: string; + + /** + *

                                            The number of days to retain automated snapshots in the destination Region after they + * are copied from a source Region.

                                            + */ + RetentionPeriod?: number; + + /** + *

                                            The name of the snapshot copy grant.

                                            + */ + SnapshotCopyGrantName?: string; +} + +export namespace AwsRedshiftClusterClusterSnapshotCopyStatus { + export const filterSensitiveLog = (obj: AwsRedshiftClusterClusterSnapshotCopyStatus): any => ({ + ...obj, + }); +} + +/** + *

                                            A time windows during which maintenance was deferred for an Amazon Redshift + * cluster.

                                            + */ +export interface AwsRedshiftClusterDeferredMaintenanceWindow { + /** + *

                                            The start of the time window for which maintenance was deferred.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + DeferMaintenanceStartTime?: string; + + /** + *

                                            The identifier of the maintenance window.

                                            + */ + DeferMaintenanceIdentifier?: string; + + /** + *

                                            The end of the time window for which maintenance was deferred.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + DeferMaintenanceEndTime?: string; +} + +export namespace AwsRedshiftClusterDeferredMaintenanceWindow { + export const filterSensitiveLog = (obj: AwsRedshiftClusterDeferredMaintenanceWindow): any => ({ + ...obj, + }); +} + +/** + *

                                            The status of the elastic IP (EIP) address for an Amazon Redshift cluster.

                                            + */ +export interface AwsRedshiftClusterElasticIpStatus { + /** + *

                                            The status of the elastic IP address.

                                            + */ + Status?: string; + + /** + *

                                            The elastic IP address for the cluster.

                                            + */ + ElasticIp?: string; +} + +export namespace AwsRedshiftClusterElasticIpStatus { + export const filterSensitiveLog = (obj: AwsRedshiftClusterElasticIpStatus): any => ({ + ...obj, + }); +} + +/** + *

                                            The connection endpoint for an Amazon Redshift cluster.

                                            + */ +export interface AwsRedshiftClusterEndpoint { + /** + *

                                            The DNS address of the cluster.

                                            + */ + Address?: string; + + /** + *

                                            The port that the database engine listens on.

                                            + */ + Port?: number; +} + +export namespace AwsRedshiftClusterEndpoint { + export const filterSensitiveLog = (obj: AwsRedshiftClusterEndpoint): any => ({ + ...obj, + }); +} + +/** + *

                                            Information about whether an Amazon Redshift cluster finished applying any hardware + * changes to security module (HSM) settings that were specified in a modify cluster + * command.

                                            + */ +export interface AwsRedshiftClusterHsmStatus { + /** + *

                                            The name of the HSM configuration that contains the information that the Amazon Redshift + * cluster can use to retrieve and store keys in an HSM.

                                            + */ + HsmConfigurationIdentifier?: string; + + /** + *

                                            The name of the HSM client certificate that the Amazon Redshift cluster uses to retrieve + * the data encryption keys that are stored in an HSM.

                                            + */ + HsmClientCertificateIdentifier?: string; + + /** + *

                                            Indicates whether the Amazon Redshift cluster has finished applying any HSM settings + * changes specified in a modify cluster command.

                                            + *

                                            Type: String

                                            + *

                                            Valid values: active | applying + *

                                            + */ + Status?: string; +} + +export namespace AwsRedshiftClusterHsmStatus { + export const filterSensitiveLog = (obj: AwsRedshiftClusterHsmStatus): any => ({ + ...obj, + }); +} + +/** + *

                                            An IAM role that the cluster can use to access other AWS services.

                                            + */ +export interface AwsRedshiftClusterIamRole { + /** + *

                                            The status of the IAM role's association with the cluster.

                                            + *

                                            Valid values: in-sync | adding | removing + *

                                            + */ + ApplyStatus?: string; + + /** + *

                                            The ARN of the IAM role.

                                            + */ + IamRoleArn?: string; +} + +export namespace AwsRedshiftClusterIamRole { + export const filterSensitiveLog = (obj: AwsRedshiftClusterIamRole): any => ({ + ...obj, + }); +} + +/** + *

                                            Changes to the Amazon Redshift cluster that are currently pending.

                                            + */ +export interface AwsRedshiftClusterPendingModifiedValues { + /** + *

                                            The pending or in-progress change to the number of nodes in the cluster.

                                            + */ + NumberOfNodes?: number; + + /** + *

                                            The pending or in-progress change to the automated snapshot retention period.

                                            + */ + AutomatedSnapshotRetentionPeriod?: number; + + /** + *

                                            Indicates whether to create the cluster with enhanced VPC routing enabled.

                                            + */ + EnhancedVpcRouting?: boolean; + + /** + *

                                            The name of the maintenance track that the cluster changes to during the next + * maintenance window.

                                            + */ + MaintenanceTrackName?: string; + + /** + *

                                            The pending or in-progress change to the cluster's node type.

                                            + */ + NodeType?: string; + + /** + *

                                            The pending or in-progress change to the master user password for the cluster.

                                            + */ + MasterUserPassword?: string; + + /** + *

                                            The encryption type for a cluster.

                                            + */ + EncryptionType?: string; + + /** + *

                                            The pending or in-progress change to the service version.

                                            + */ + ClusterVersion?: string; + + /** + *

                                            The pending or in-progress change to whether the cluster can be connected to from the + * public network.

                                            + */ + PubliclyAccessible?: boolean; + + /** + *

                                            The pending or in-progress change to the identifier for the cluster.

                                            + */ + ClusterIdentifier?: string; + + /** + *

                                            The pending or in-progress change to the cluster type.

                                            + */ + ClusterType?: string; +} + +export namespace AwsRedshiftClusterPendingModifiedValues { + export const filterSensitiveLog = (obj: AwsRedshiftClusterPendingModifiedValues): any => ({ + ...obj, + }); +} + +/** + *

                                            Information about the resize operation for the cluster.

                                            + */ +export interface AwsRedshiftClusterResizeInfo { + /** + *

                                            The type of resize operation.

                                            + *

                                            Valid values: ClassicResize + *

                                            + */ + ResizeType?: string; + + /** + *

                                            Indicates whether the resize operation can be canceled.

                                            + */ + AllowCancelResize?: boolean; +} + +export namespace AwsRedshiftClusterResizeInfo { + export const filterSensitiveLog = (obj: AwsRedshiftClusterResizeInfo): any => ({ + ...obj, + }); +} + +/** + *

                                            Information about the status of a cluster restore action. It only applies if the cluster + * was created by restoring a snapshot.

                                            + */ +export interface AwsRedshiftClusterRestoreStatus { + /** + *

                                            The size of the set of snapshot data that was used to restore the cluster.

                                            + *

                                            This field is only updated when you restore to DC2 and DS2 node types.

                                            + */ + SnapshotSizeInMegaBytes?: number; + + /** + *

                                            The status of the restore action.

                                            + *

                                            Valid values: starting | restoring | completed | + * failed + *

                                            + */ + Status?: string; + + /** + *

                                            The number of megabytes that were transferred from snapshot storage.

                                            + *

                                            This field is only updated when you restore to DC2 and DS2 node types.

                                            + */ + ProgressInMegaBytes?: number; + + /** + *

                                            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.

                                            + */ + CurrentRestoreRateInMegaBytesPerSecond?: number; + + /** + *

                                            The estimate of the time remaining before the restore is complete. Returns 0 for a + * completed restore.

                                            + *

                                            This field is only updated when you restore to DC2 and DS2 node types.

                                            + */ + EstimatedTimeToCompletionInSeconds?: number; + + /** + *

                                            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.

                                            + */ + ElapsedTimeInSeconds?: number; +} + +export namespace AwsRedshiftClusterRestoreStatus { + export const filterSensitiveLog = (obj: AwsRedshiftClusterRestoreStatus): any => ({ + ...obj, + }); +} + +/** + *

                                            A VPC security group that the cluster belongs to, if the cluster is in a VPC.

                                            + */ +export interface AwsRedshiftClusterVpcSecurityGroup { + /** + *

                                            The status of the VPC security group.

                                            + */ + Status?: string; + + /** + *

                                            The identifier of the VPC security group.

                                            + */ + VpcSecurityGroupId?: string; +} + +export namespace AwsRedshiftClusterVpcSecurityGroup { + export const filterSensitiveLog = (obj: AwsRedshiftClusterVpcSecurityGroup): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about an Amazon Redshift cluster.

                                            + */ +export interface AwsRedshiftClusterDetails { + /** + *

                                            A list of IAM roles that the cluster can use to access other AWS services.

                                            + */ + IamRoles?: AwsRedshiftClusterIamRole[]; + + /** + *

                                            The identifier of the AWS KMS encryption key that is used to encrypt data in the + * cluster.

                                            + */ + KmsKeyId?: string; + + /** + *

                                            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 name of the initial database that was created when the cluster was created.

                                            + *

                                            The same name is returned for the life of the cluster.

                                            + *

                                            If an initial database is not specified, a database named devdev is created + * by default.

                                            + */ + DBName?: string; + + /** + *

                                            The name of the Availability Zone in which the cluster is located.

                                            + */ + AvailabilityZone?: string; + + /** + *

                                            The status of the next expected snapshot.

                                            + *

                                            Valid values: OnTrack | Pending + *

                                            + */ + ExpectedNextSnapshotScheduleTimeStatus?: string; + + /** + *

                                            The version ID of the Amazon Redshift engine that runs on the cluster.

                                            + */ + ClusterVersion?: string; + + /** + *

                                            Information about the resize operation for the cluster.

                                            + */ + ResizeInfo?: AwsRedshiftClusterResizeInfo; + + /** + *

                                            Indicates the start of the next maintenance window.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + NextMaintenanceWindowStartTime?: string; + + /** + *

                                            Whether the cluster can be accessed from a public network.

                                            + */ + PubliclyAccessible?: boolean; + + /** + *

                                            The name of the maintenance track for the cluster.

                                            + */ + MaintenanceTrackName?: string; + + /** + *

                                            The list of cluster parameter groups that are associated with this cluster.

                                            + */ + ClusterParameterGroups?: AwsRedshiftClusterClusterParameterGroup[]; + + /** + *

                                            The current status of the cluster.

                                            + *

                                            Valid values: available | available, prep-for-resize | + * available, resize-cleanup | cancelling-resize | + * creating | deleting | final-snapshot | + * hardware-failure | incompatible-hsm | + * incompatible-network | incompatible-parameters | + * incompatible-restore | modifying | paused | + * rebooting | renaming | resizing | + * rotating-keys | storage-full | + * updating-hsm + *

                                            + */ + ClusterStatus?: string; + + /** + *

                                            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.

                                            + *

                                            Valid values: Either -1 or an integer between 1 and 3,653

                                            + */ + ManualSnapshotRetentionPeriod?: number; + + /** + *

                                            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; + + /** + *

                                            Indicates whether major version upgrades are applied automatically to the cluster during + * the maintenance window.

                                            + */ + AllowVersionUpgrade?: boolean; + + /** + *

                                            The nodes in the cluster.

                                            + */ + ClusterNodes?: AwsRedshiftClusterClusterNode[]; + + /** + *

                                            The number of nodes that you can use the elastic resize method to resize the cluster + * to.

                                            + */ + ElasticResizeNumberOfNodeOptions?: string; + + /** + *

                                            A list of changes to the cluster that are currently pending.

                                            + */ + PendingModifiedValues?: AwsRedshiftClusterPendingModifiedValues; + + /** + *

                                            The specific revision number of the database in the cluster.

                                            + */ + ClusterRevisionNumber?: string; + + /** + *

                                            Information about the destination Region and retention period for the cross-Region + * snapshot copy.

                                            + */ + ClusterSnapshotCopyStatus?: AwsRedshiftClusterClusterSnapshotCopyStatus; + + /** + *

                                            The unique identifier of the cluster.

                                            + */ + ClusterIdentifier?: string; + + /** + *

                                            The weekly time range, in Universal Coordinated Time (UTC), during which system + * maintenance can occur.

                                            + *

                                            Format: + * + * :HH:MM-:HH:MM + *

                                            + *

                                            For the day values, use mon | tue | wed | + * thu | fri | sat | sun + *

                                            + *

                                            For example, sun:09:32-sun:10:02 + *

                                            + */ + PreferredMaintenanceWindow?: string; + + /** + *

                                            The number of compute nodes in the cluster.

                                            + */ + NumberOfNodes?: number; + + /** + *

                                            A list of cluster security groups that are associated with the cluster.

                                            + */ + ClusterSecurityGroups?: AwsRedshiftClusterClusterSecurityGroup[]; + + /** + *

                                            The identifier of the VPC that the cluster is in, if the cluster is in a VPC.

                                            + */ + VpcId?: string; + + /** + *

                                            Indicates whether to create the cluster with enhanced VPC routing enabled.

                                            + */ + EnhancedVpcRouting?: boolean; + + /** + *

                                            The list of VPC security groups that the cluster belongs to, if the cluster is in a + * VPC.

                                            + */ + VpcSecurityGroups?: AwsRedshiftClusterVpcSecurityGroup[]; + + /** + *

                                            The number of days that automatic cluster snapshots are retained.

                                            + */ + AutomatedSnapshotRetentionPeriod?: number; + + /** + *

                                            Indicates whether the data in the cluster is encrypted at rest.

                                            + */ + Encrypted?: boolean; + + /** + *

                                            A list of cluster operations that are waiting to start.

                                            + */ + PendingActions?: string[]; + + /** + *

                                            Indicates when the cluster was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + ClusterCreateTime?: string; + + /** + *

                                            List of time windows during which maintenance was deferred.

                                            + */ + DeferredMaintenanceWindows?: AwsRedshiftClusterDeferredMaintenanceWindow[]; + + /** + *

                                            The master user name for the cluster. This name is used to connect to the database that + * is specified in as the value of DBName.

                                            + */ + MasterUsername?: string; + + /** + *

                                            The current state of the cluster snapshot schedule.

                                            + *

                                            Valid values: MODIFYING | ACTIVE | FAILED + *

                                            + */ + SnapshotScheduleState?: string; + + /** + *

                                            Indicates when the next snapshot is expected to be taken. The cluster must have a valid + * snapshot schedule and have backups enabled.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + ExpectedNextSnapshotScheduleTime?: string; + + /** + *

                                            Information about the status of the Elastic IP (EIP) address.

                                            + */ + ElasticIpStatus?: AwsRedshiftClusterElasticIpStatus; + + /** + *

                                            The node type for the nodes in the cluster.

                                            + */ + NodeType?: string; + + /** + *

                                            The connection endpoint.

                                            + */ + Endpoint?: AwsRedshiftClusterEndpoint; + + /** + *

                                            A unique identifier for the cluster snapshot schedule.

                                            + */ + SnapshotScheduleIdentifier?: string; + + /** + *

                                            Information about whether the Amazon Redshift cluster finished applying any changes to + * hardware security module (HSM) settings that were specified in a modify cluster + * command.

                                            + */ + HsmStatus?: AwsRedshiftClusterHsmStatus; + + /** + *

                                            Information about the status of a cluster restore action. Only applies to a cluster that + * was created by restoring a snapshot.

                                            + */ + RestoreStatus?: AwsRedshiftClusterRestoreStatus; + + /** + *

                                            The public key for the cluster.

                                            + */ + ClusterPublicKey?: string; +} + +export namespace AwsRedshiftClusterDetails { + export const filterSensitiveLog = (obj: AwsRedshiftClusterDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            Specifies the default server-side encryption to apply to new objects in the + * bucket.

                                            + */ +export interface AwsS3BucketServerSideEncryptionByDefault { + /** + *

                                            Server-side encryption algorithm to use for the default encryption.

                                            + */ + SSEAlgorithm?: string; + + /** + *

                                            AWS KMS customer master key (CMK) ID to use for the default encryption.

                                            + */ + KMSMasterKeyID?: string; +} + +export namespace AwsS3BucketServerSideEncryptionByDefault { + export const filterSensitiveLog = (obj: AwsS3BucketServerSideEncryptionByDefault): any => ({ + ...obj, + }); +} + +/** + *

                                            An encryption rule to apply to the S3 bucket.

                                            + */ +export interface AwsS3BucketServerSideEncryptionRule { + /** + *

                                            Specifies the default server-side encryption to apply to new objects in the bucket. If a + * PUT object request doesn't specify any server-side encryption, this default + * encryption is applied.

                                            + */ + ApplyServerSideEncryptionByDefault?: AwsS3BucketServerSideEncryptionByDefault; +} + +export namespace AwsS3BucketServerSideEncryptionRule { + export const filterSensitiveLog = (obj: AwsS3BucketServerSideEncryptionRule): any => ({ + ...obj, + }); +} + +/** + *

                                            The encryption configuration for the S3 bucket.

                                            + */ +export interface AwsS3BucketServerSideEncryptionConfiguration { + /** + *

                                            The encryption rules that are applied to the S3 bucket.

                                            + */ + Rules?: AwsS3BucketServerSideEncryptionRule[]; +} + +export namespace AwsS3BucketServerSideEncryptionConfiguration { + export const filterSensitiveLog = (obj: AwsS3BucketServerSideEncryptionConfiguration): any => ({ + ...obj, + }); +} + +/** + *

                                            The details of an Amazon S3 bucket.

                                            + */ +export interface AwsS3BucketDetails { + /** + *

                                            The encryption rules that are applied to the S3 bucket.

                                            + */ + ServerSideEncryptionConfiguration?: AwsS3BucketServerSideEncryptionConfiguration; + + /** + *

                                            The canonical user ID of the owner of the S3 bucket.

                                            + */ + OwnerId?: string; + + /** + *

                                            Indicates when the S3 bucket was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + CreatedAt?: string; + + /** + *

                                            The display name of the owner of the S3 bucket.

                                            + */ + OwnerName?: string; +} + +export namespace AwsS3BucketDetails { + export const filterSensitiveLog = (obj: AwsS3BucketDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about an Amazon S3 object.

                                            + */ +export interface AwsS3ObjectDetails { + /** + *

                                            If the object is stored using server-side encryption, the value of the server-side + * encryption algorithm used when storing this object in Amazon S3.

                                            + */ + ServerSideEncryption?: string; + + /** + *

                                            The identifier of the AWS Key Management Service (AWS KMS) symmetric customer managed + * customer master key (CMK) that was used for the object.

                                            + */ + SSEKMSKeyId?: string; + + /** + *

                                            A standard MIME type describing the format of the object data.

                                            + */ + ContentType?: string; + + /** + *

                                            Indicates when the object was last modified.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + LastModified?: string; + + /** + *

                                            The version of the object.

                                            + */ + VersionId?: string; + + /** + *

                                            The opaque identifier assigned by a web server to a specific version of a resource found + * at a URL.

                                            + */ + ETag?: string; +} + +export namespace AwsS3ObjectDetails { + export const filterSensitiveLog = (obj: AwsS3ObjectDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            Defines the rotation schedule for the secret.

                                            + */ +export interface AwsSecretsManagerSecretRotationRules { + /** + *

                                            The number of days after the previous rotation to rotate the secret.

                                            + */ + AutomaticallyAfterDays?: number; +} + +export namespace AwsSecretsManagerSecretRotationRules { + export const filterSensitiveLog = (obj: AwsSecretsManagerSecretRotationRules): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about an AWS Secrets Manager secret.

                                            + */ +export interface AwsSecretsManagerSecretDetails { + /** + *

                                            The user-provided description of the secret.

                                            + */ + Description?: string; + + /** + *

                                            Whether rotation is enabled.

                                            + */ + RotationEnabled?: boolean; + + /** + *

                                            Whether the rotation occurred within the specified rotation frequency.

                                            + */ + RotationOccurredWithinFrequency?: boolean; + + /** + *

                                            The ARN of the Lambda function that rotates the secret.

                                            + */ + RotationLambdaArn?: string; + + /** + *

                                            Defines the rotation schedule for the secret.

                                            + */ + RotationRules?: AwsSecretsManagerSecretRotationRules; + + /** + *

                                            The name of the secret.

                                            + */ + Name?: string; + + /** + *

                                            Whether the secret is deleted.

                                            + */ + Deleted?: boolean; + + /** + *

                                            The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to encrypt the + * SecretString or SecretBinary values for versions of this + * secret.

                                            + */ + KmsKeyId?: string; +} + +export namespace AwsSecretsManagerSecretDetails { + export const filterSensitiveLog = (obj: AwsSecretsManagerSecretDetails): any => ({ + ...obj, + }); +} + +export enum ComplianceStatus { + FAILED = "FAILED", + NOT_AVAILABLE = "NOT_AVAILABLE", + PASSED = "PASSED", + WARNING = "WARNING", +} + +/** + *

                                            Provides additional context for the value of Compliance.Status.

                                            + */ +export interface StatusReason { + /** + *

                                            The corresponding description for the status reason code.

                                            + */ + Description?: string; + + /** + *

                                            A code that represents a reason for the control status. For the list of status reason + * codes and their meanings, see Standards-related information in the ASFF in the + * AWS Security Hub User Guide.

                                            + */ + ReasonCode: string | undefined; +} + +export namespace StatusReason { + export const filterSensitiveLog = (obj: StatusReason): any => ({ + ...obj, + }); +} + +/** + *

                                            Contains finding details that are specific to control-based findings. Only returned for + * findings generated from controls.

                                            + */ +export interface Compliance { + /** + *

                                            The result of a standards check.

                                            + *

                                            The valid values for Status are as follows.

                                            + *
                                              + *
                                            • + *
                                                + *
                                              • + *

                                                + * PASSED - Standards check passed for all evaluated + * resources.

                                                + *
                                              • + *
                                              • + *

                                                + * WARNING - Some information is missing or this check is not + * supported for your configuration.

                                                + *
                                              • + *
                                              • + *

                                                + * FAILED - Standards check failed for at least one evaluated + * resource.

                                                + *
                                              • + *
                                              • + *

                                                + * NOT_AVAILABLE - Check could not be performed due to a service + * outage, API error, or because the result of the AWS Config evaluation was + * NOT_APPLICABLE. If the AWS Config evaluation result was + * NOT_APPLICABLE, then after 3 days, Security Hub automatically archives + * the finding.

                                                + *
                                              • + *
                                              + *
                                            • + *
                                            + */ + Status?: ComplianceStatus | string; + + /** + *

                                            For a control, the industry or regulatory framework requirements that are related to the + * control. The check for that control is aligned with these requirements.

                                            + */ + RelatedRequirements?: string[]; + + /** + *

                                            For findings generated from controls, a list of reasons behind the value of + * Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the + * AWS Security Hub User Guide.

                                            + */ + StatusReasons?: StatusReason[]; +} + +export namespace Compliance { + export const filterSensitiveLog = (obj: Compliance): any => ({ + ...obj, + }); +} + +export enum MalwareState { + OBSERVED = "OBSERVED", + REMOVAL_FAILED = "REMOVAL_FAILED", + REMOVED = "REMOVED", +} + +export enum MalwareType { + ADWARE = "ADWARE", + BLENDED_THREAT = "BLENDED_THREAT", + BOTNET_AGENT = "BOTNET_AGENT", + COIN_MINER = "COIN_MINER", + EXPLOIT_KIT = "EXPLOIT_KIT", + KEYLOGGER = "KEYLOGGER", + MACRO = "MACRO", + POTENTIALLY_UNWANTED = "POTENTIALLY_UNWANTED", + RANSOMWARE = "RANSOMWARE", + REMOTE_ACCESS = "REMOTE_ACCESS", + ROOTKIT = "ROOTKIT", + SPYWARE = "SPYWARE", + TROJAN = "TROJAN", + VIRUS = "VIRUS", + WORM = "WORM", +} + +/** + *

                                            A list of malware related to a finding.

                                            + */ +export interface Malware { + /** + *

                                            The file system path of the malware that was observed.

                                            + */ + Path?: string; + + /** + *

                                            The state of the malware that was observed.

                                            + */ + State?: MalwareState | string; + + /** + *

                                            The name of the malware that was observed.

                                            + */ + Name: string | undefined; + + /** + *

                                            The type of the malware that was observed.

                                            + */ + Type?: MalwareType | string; +} + +export namespace Malware { + export const filterSensitiveLog = (obj: Malware): any => ({ + ...obj, + }); +} + +export enum NetworkDirection { + IN = "IN", + OUT = "OUT", +} + +/** + *

                                            A range of ports.

                                            + */ +export interface PortRange { + /** + *

                                            The first port in the port range.

                                            + */ + Begin?: number; + + /** + *

                                            The last port in the port range.

                                            + */ + End?: number; +} + +export namespace PortRange { + export const filterSensitiveLog = (obj: PortRange): any => ({ + ...obj, + }); +} + +/** + *

                                            The details of network-related information about a finding.

                                            + */ +export interface Network { + /** + *

                                            The destination domain of network-related information about a finding.

                                            + */ + DestinationDomain?: string; + + /** + *

                                            The source IPv6 address of network-related information about a finding.

                                            + */ + SourceIpV6?: string; + + /** + *

                                            The source IPv4 address of network-related information about a finding.

                                            + */ + SourceIpV4?: string; + + /** + *

                                            The source port of network-related information about a finding.

                                            + */ + SourcePort?: number; + + /** + *

                                            The protocol of network-related information about a finding.

                                            + */ + Protocol?: string; + + /** + *

                                            The source domain of network-related information about a finding.

                                            + */ + SourceDomain?: string; + + /** + *

                                            The source media access control (MAC) address of network-related information about a + * finding.

                                            + */ + SourceMac?: string; + + /** + *

                                            The range of open ports that is present on the network.

                                            + */ + OpenPortRange?: PortRange; + + /** + *

                                            The direction of network traffic associated with a finding.

                                            + */ + Direction?: NetworkDirection | string; + + /** + *

                                            The destination IPv4 address of network-related information about a finding.

                                            + */ + DestinationIpV4?: string; + + /** + *

                                            The destination port of network-related information about a finding.

                                            + */ + DestinationPort?: number; + + /** + *

                                            The destination IPv6 address of network-related information about a finding.

                                            + */ + DestinationIpV6?: string; +} + +export namespace Network { + export const filterSensitiveLog = (obj: Network): any => ({ + ...obj, + }); +} + +/** + *

                                            Information about the destination of the next component in the network path.

                                            + */ +export interface NetworkPathComponentDetails { + /** + *

                                            The IP addresses of the destination.

                                            + */ + Address?: string[]; + + /** + *

                                            A list of port ranges for the destination.

                                            + */ + PortRanges?: PortRange[]; +} + +export namespace NetworkPathComponentDetails { + export const filterSensitiveLog = (obj: NetworkPathComponentDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about a network path component that occurs before or after the current + * component.

                                            + */ +export interface NetworkHeader { + /** + *

                                            Information about the origin of the component.

                                            + */ + Source?: NetworkPathComponentDetails; + + /** + *

                                            Information about the destination of the component.

                                            + */ + Destination?: NetworkPathComponentDetails; + + /** + *

                                            The protocol used for the component.

                                            + */ + Protocol?: string; +} + +export namespace NetworkHeader { + export const filterSensitiveLog = (obj: NetworkHeader): any => ({ + ...obj, + }); +} + +/** + *

                                            Information about a network path component.

                                            + */ +export interface NetworkPathComponent { + /** + *

                                            The identifier of a component in the network path.

                                            + */ + ComponentId?: string; + + /** + *

                                            The type of component.

                                            + */ + ComponentType?: string; + + /** + *

                                            Information about the component that comes before the current node in the network + * path.

                                            + */ + Ingress?: NetworkHeader; + + /** + *

                                            Information about the component that comes after the current component in the network + * path.

                                            + */ + Egress?: NetworkHeader; +} + +export namespace NetworkPathComponent { + export const filterSensitiveLog = (obj: NetworkPathComponent): any => ({ + ...obj, + }); +} + +/** + *

                                            A user-defined note added to a finding.

                                            + */ +export interface Note { + /** + *

                                            The timestamp of when the note was updated.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + UpdatedAt: string | undefined; + + /** + *

                                            The principal that created a note.

                                            + */ + UpdatedBy: string | undefined; + + /** + *

                                            The text of a note.

                                            + */ + Text: string | undefined; +} + +export namespace Note { + export const filterSensitiveLog = (obj: Note): any => ({ + ...obj, + }); +} + +/** + *

                                            Provides an overview of the patch compliance status for an instance against a selected + * compliance standard.

                                            + */ +export interface PatchSummary { + /** + *

                                            The number of patches that were applied, but that require the instance to be rebooted in + * order to be marked as installed.

                                            + */ + InstalledPendingReboot?: number; + + /** + *

                                            The number of patches from the compliance standard that failed to install.

                                            + */ + FailedCount?: number; + + /** + *

                                            The number of patches that are installed but are also on a list of patches that the + * customer rejected.

                                            + */ + InstalledRejectedCount?: number; + + /** + *

                                            The number of patches that are part of the compliance standard but are not installed. + * The count includes patches that failed to install.

                                            + */ + MissingCount?: number; + + /** + *

                                            Indicates when the operation started.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + OperationStartTime?: string; + + /** + *

                                            The number of patches from the compliance standard that were installed + * successfully.

                                            + */ + InstalledCount?: number; + + /** + *

                                            The identifier of the compliance standard that was used to determine the patch + * compliance status.

                                            + */ + Id: string | undefined; + + /** + *

                                            The type of patch operation performed. For Patch Manager, the values are + * SCAN and INSTALL.

                                            + */ + Operation?: string; + + /** + *

                                            Indicates when the operation completed.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + OperationEndTime?: string; + + /** + *

                                            The number of installed patches that are not part of the compliance standard.

                                            + */ + InstalledOtherCount?: number; + + /** + *

                                            The reboot option specified for the instance.

                                            + */ + RebootOption?: string; +} + +export namespace PatchSummary { + export const filterSensitiveLog = (obj: PatchSummary): any => ({ + ...obj, + }); +} + +/** + *

                                            The details of process-related information about a finding.

                                            + */ +export interface ProcessDetails { + /** + *

                                            Indicates when the process was terminated.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + TerminatedAt?: string; + + /** + *

                                            Indicates when the process was launched.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + LaunchedAt?: string; + + /** + *

                                            The process ID.

                                            + */ + Pid?: number; + + /** + *

                                            The name of the process.

                                            + */ + Name?: string; + + /** + *

                                            The path to the process executable.

                                            + */ + Path?: string; + + /** + *

                                            The parent process ID.

                                            + */ + ParentPid?: number; +} + +export namespace ProcessDetails { + export const filterSensitiveLog = (obj: ProcessDetails): any => ({ + ...obj, + }); +} + +export enum RecordState { + ACTIVE = "ACTIVE", + ARCHIVED = "ARCHIVED", +} + +/** + *

                                            Details about a related finding.

                                            + */ +export interface RelatedFinding { + /** + *

                                            The ARN of the product that generated a related finding.

                                            + */ + ProductArn: string | undefined; + + /** + *

                                            The product-generated identifier for a related finding.

                                            + */ + Id: string | undefined; +} + +export namespace RelatedFinding { + export const filterSensitiveLog = (obj: RelatedFinding): any => ({ + ...obj, + }); +} + +/** + *

                                            A recommendation on how to remediate the issue identified in a finding.

                                            + */ +export interface Recommendation { + /** + *

                                            A URL to a page or site that contains information about how to remediate a finding.

                                            + */ + Url?: string; + + /** + *

                                            Describes the recommended steps to take to remediate an issue identified in a finding.

                                            + */ + Text?: string; +} + +export namespace Recommendation { + export const filterSensitiveLog = (obj: Recommendation): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about the remediation steps for a finding.

                                            + */ +export interface Remediation { + /** + *

                                            A recommendation on the steps to take to remediate the issue identified by a finding.

                                            + */ + Recommendation?: Recommendation; +} + +export namespace Remediation { + export const filterSensitiveLog = (obj: Remediation): any => ({ + ...obj, + }); +} + +/** + *

                                            A wrapper type for the attributes of an Amazon SNS subscription.

                                            + */ +export interface AwsSnsTopicSubscription { + /** + *

                                            The subscription's protocol.

                                            + */ + Protocol?: string; + + /** + *

                                            The subscription's endpoint (format depends on the protocol).

                                            + */ + Endpoint?: string; +} + +export namespace AwsSnsTopicSubscription { + export const filterSensitiveLog = (obj: AwsSnsTopicSubscription): any => ({ + ...obj, + }); +} + +/** + *

                                            A wrapper type for the topic's Amazon Resource Name (ARN).

                                            + */ +export interface AwsSnsTopicDetails { + /** + *

                                            The subscription's owner.

                                            + */ + Owner?: string; + + /** + *

                                            The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom + * CMK.

                                            + */ + KmsMasterKeyId?: string; + + /** + *

                                            The name of the topic.

                                            + */ + TopicName?: string; + + /** + *

                                            Subscription is an embedded property that describes the subscription endpoints of an Amazon SNS topic.

                                            + */ + Subscription?: AwsSnsTopicSubscription[]; +} + +export namespace AwsSnsTopicDetails { + export const filterSensitiveLog = (obj: AwsSnsTopicDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            Data about a queue.

                                            + */ +export interface AwsSqsQueueDetails { + /** + *

                                            The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again.

                                            + */ + KmsDataKeyReusePeriodSeconds?: number; + + /** + *

                                            The ID of an AWS managed customer master key (CMK) for Amazon SQS or a custom + * CMK.

                                            + */ + KmsMasterKeyId?: string; + + /** + *

                                            The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves + * messages after the value of maxReceiveCount is exceeded.

                                            + */ + DeadLetterTargetArn?: string; + + /** + *

                                            The name of the new queue.

                                            + */ + QueueName?: string; +} + +export namespace AwsSqsQueueDetails { + export const filterSensitiveLog = (obj: AwsSqsQueueDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about the action that CloudFront or AWS WAF takes when a web request matches the + * conditions in the rule.

                                            + */ +export interface WafAction { + /** + *

                                            Specifies how you want AWS WAF to respond to requests that match the settings in a + * rule.

                                            + *

                                            Valid settings include the following:

                                            + *
                                              + *
                                            • + *

                                              + * ALLOW - AWS WAF allows requests

                                              + *
                                            • + *
                                            • + *

                                              + * BLOCK - AWS WAF blocks requests

                                              + *
                                            • + *
                                            • + *

                                              + * COUNT - AWS WAF increments a counter of the requests that match all + * of the conditions in the rule. AWS WAF then continues to inspect the web request + * based on the remaining rules in the web ACL. You can't specify COUNT for + * the default action for a WebACL.

                                              + *
                                            • + *
                                            + */ + Type?: string; +} + +export namespace WafAction { + export const filterSensitiveLog = (obj: WafAction): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about a rule to exclude from a rule group.

                                            + */ +export interface WafExcludedRule { + /** + *

                                            The unique identifier for the rule to exclude from the rule group.

                                            + */ + RuleId?: string; +} + +export namespace WafExcludedRule { + export const filterSensitiveLog = (obj: WafExcludedRule): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about an override action for a rule.

                                            + */ +export interface WafOverrideAction { + /** + *

                                            + * COUNT overrides the action specified by the individual rule within a + * RuleGroup .

                                            + *

                                            If set to NONE, the rule's action takes place.

                                            + */ + Type?: string; +} + +export namespace WafOverrideAction { + export const filterSensitiveLog = (obj: WafOverrideAction): any => ({ + ...obj, + }); +} + +/** + *

                                            Details for a rule in a WAF WebACL.

                                            + */ +export interface AwsWafWebAclRule { + /** + *

                                            Rules to exclude from a rule group.

                                            + */ + ExcludedRules?: WafExcludedRule[]; + + /** + *

                                            The rule type.

                                            + *

                                            Valid values: REGULAR | RATE_BASED | GROUP + *

                                            + *

                                            The default is REGULAR.

                                            + */ + Type?: string; + + /** + *

                                            Specifies the order in which the rules in a WebACL are evaluated. Rules with a lower + * value for Priority are evaluated before rules with a higher value. The value + * must be a unique integer. If you add multiple rules to a WebACL, the values do not need to + * be consecutive.

                                            + */ + Priority?: number; + + /** + *

                                            The identifier for a rule.

                                            + */ + RuleId?: string; + + /** + *

                                            Use the OverrideAction to test your RuleGroup.

                                            + *

                                            Any rule in a RuleGroup can potentially block a request. If you set the + * OverrideAction to None, the RuleGroup blocks a request if any + * individual rule in the RuleGroup matches the request and is configured to block that + * request.

                                            + *

                                            However, if you first want to test the RuleGroup, set the OverrideAction to + * Count. The RuleGroup then overrides any block action specified by + * individual rules contained within the group. Instead of blocking matching requests, those + * requests are counted.

                                            + *

                                            + * ActivatedRule|OverrideAction applies only when updating or + * adding a RuleGroup to a WebACL. In this case you do not use + * ActivatedRule|Action. For all other update requests, + * ActivatedRule|Action is used instead of + * ActivatedRule|OverrideAction.

                                            + */ + OverrideAction?: WafOverrideAction; + + /** + *

                                            Specifies the action that CloudFront or AWS WAF takes when a web request matches the + * conditions in the rule.

                                            + */ + Action?: WafAction; +} + +export namespace AwsWafWebAclRule { + export const filterSensitiveLog = (obj: AwsWafWebAclRule): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about a WAF WebACL.

                                            + */ +export interface AwsWafWebAclDetails { + /** + *

                                            A unique identifier for a WebACL.

                                            + */ + WebAclId?: string; + + /** + *

                                            An array that contains the action for each rule in a WebACL, the priority of the rule, + * and the ID of the rule.

                                            + */ + Rules?: AwsWafWebAclRule[]; + + /** + *

                                            A friendly name or description of the WebACL. You can't change the name of a WebACL + * after you create it.

                                            + */ + Name?: string; + + /** + *

                                            The action to perform if none of the rules contained in the WebACL match.

                                            + */ + DefaultAction?: string; +} + +export namespace AwsWafWebAclDetails { + export const filterSensitiveLog = (obj: AwsWafWebAclDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            Container details related to a finding.

                                            + */ +export interface ContainerDetails { + /** + *

                                            The name of the container related to a finding.

                                            + */ + Name?: string; + + /** + *

                                            The name of the image related to a finding.

                                            + */ + ImageName?: string; + + /** + *

                                            Indicates when the container started.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + LaunchedAt?: string; + + /** + *

                                            The identifier of the image related to a finding.

                                            + */ + ImageId?: string; +} + +export namespace ContainerDetails { + export const filterSensitiveLog = (obj: ContainerDetails): any => ({ + ...obj, + }); +} + +/** + *

                                            Additional details about a resource related to a finding.

                                            + *

                                            To provide the details, use the object that corresponds to the resource type. For + * example, if the resource type is AwsEc2Instance, then you use the + * AwsEc2Instance object to provide the details.

                                            + *

                                            If the type-specific object does not contain all of the fields you want to populate, + * then you use the Other object to populate those additional fields.

                                            + *

                                            You also use the Other object to populate the details when the selected + * type does not have a corresponding object.

                                            + */ +export interface ResourceDetails { + /** + *

                                            Details about a Lambda function.

                                            + */ + AwsLambdaFunction?: AwsLambdaFunctionDetails; + + /** + *

                                            + */ + AwsCloudTrailTrail?: AwsCloudTrailTrailDetails; + + /** + *

                                            + */ + AwsApiGatewayV2Stage?: AwsApiGatewayV2StageDetails; + + /** + *

                                            + */ + AwsApiGatewayV2Api?: AwsApiGatewayV2ApiDetails; + + /** + *

                                            Details about an Amazon S3 object related to a finding.

                                            + */ + AwsS3Object?: AwsS3ObjectDetails; + + /** + *

                                            + */ + AwsElbLoadBalancer?: AwsElbLoadBalancerDetails; + + /** + *

                                            Details about a Secrets Manager secret.

                                            + */ + AwsSecretsManagerSecret?: AwsSecretsManagerSecretDetails; + + /** + *

                                            Details for an Elasticsearch domain.

                                            + */ + AwsElasticsearchDomain?: AwsElasticsearchDomainDetails; + + /** + *

                                            Details for a WAF WebACL.

                                            + */ + AwsWafWebAcl?: AwsWafWebAclDetails; + + /** + *

                                            Details about an SQS queue.

                                            + */ + AwsSqsQueue?: AwsSqsQueueDetails; + + /** + *

                                            Details about an Amazon RDS database instance.

                                            + */ + AwsRdsDbInstance?: AwsRdsDbInstanceDetails; + + /** + *

                                            Details about an Elastic IP address.

                                            + */ + AwsEc2Eip?: AwsEc2EipDetails; + + /** + *

                                            Details for an EC2 security group.

                                            + */ + AwsEc2SecurityGroup?: AwsEc2SecurityGroupDetails; + + /** + *

                                            + */ + AwsApiGatewayStage?: AwsApiGatewayStageDetails; + + /** + *

                                            Details about an IAM user.

                                            + */ + AwsIamUser?: AwsIamUserDetails; + + /** + *

                                            Details about a container resource related to a finding.

                                            + */ + Container?: ContainerDetails; + + /** + *

                                            Details about an Amazon EC2 instance related to a finding.

                                            + */ + AwsEc2Instance?: AwsEc2InstanceDetails; + + /** + *

                                            Details about a DynamoDB table.

                                            + */ + AwsDynamoDbTable?: AwsDynamoDbTableDetails; + + /** + *

                                            Details about an Amazon RDS database cluster.

                                            + */ + AwsRdsDbCluster?: AwsRdsDbClusterDetails; + + /** + *

                                            + */ + AwsIamGroup?: AwsIamGroupDetails; + + /** + *

                                            Details about an SNS topic.

                                            + */ + AwsSnsTopic?: AwsSnsTopicDetails; + + /** + *

                                            Details about a load balancer.

                                            + */ + AwsElbv2LoadBalancer?: AwsElbv2LoadBalancerDetails; + + /** + *

                                            Details about an IAM access key related to a finding.

                                            + */ + AwsIamAccessKey?: AwsIamAccessKeyDetails; + + /** + *

                                            Details about a KMS key.

                                            + */ + AwsKmsKey?: AwsKmsKeyDetails; + + /** + *

                                            Details about an IAM role.

                                            + */ + AwsIamRole?: AwsIamRoleDetails; + + /** + *

                                            + */ + AwsCertificateManagerCertificate?: AwsCertificateManagerCertificateDetails; + + /** + *

                                            Details about a resource that are not available in a type-specific details object. Use + * the Other object in the following cases.

                                            + *
                                              + *
                                            • + *

                                              The type-specific object does not contain all of the fields that you want to + * populate. In this case, first use the type-specific object to populate those fields. + * Use the Other object to populate the fields that are missing from the + * type-specific object.

                                              + *
                                            • + *
                                            • + *

                                              The resource type does not have a corresponding object. This includes resources + * for which the type is Other.

                                              + *
                                            • + *
                                            + */ + Other?: { [key: string]: string }; + + /** + *

                                            Details about an IAM permissions policy.

                                            + */ + AwsIamPolicy?: AwsIamPolicyDetails; + + /** + *

                                            Details about an Amazon S3 bucket related to a finding.

                                            + */ + AwsS3Bucket?: AwsS3BucketDetails; + + /** + *

                                            + */ + AwsRedshiftCluster?: AwsRedshiftClusterDetails; + + /** + *

                                            + */ + AwsApiGatewayRestApi?: AwsApiGatewayRestApiDetails; + + /** + *

                                            Details about a CloudFront distribution.

                                            + */ + AwsCloudFrontDistribution?: AwsCloudFrontDistributionDetails; + + /** + *

                                            Details for an autoscaling group.

                                            + */ + AwsAutoScalingAutoScalingGroup?: AwsAutoScalingAutoScalingGroupDetails; + + /** + *

                                            Details about an Amazon RDS database snapshot.

                                            + */ + AwsRdsDbSnapshot?: AwsRdsDbSnapshotDetails; + + /** + *

                                            Details for a Lambda layer version.

                                            + */ + AwsLambdaLayerVersion?: AwsLambdaLayerVersionDetails; + + /** + *

                                            Details for an EC2 VPC.

                                            + */ + AwsEc2Vpc?: AwsEc2VpcDetails; + + /** + *

                                            Details for an EC2 volume.

                                            + */ + AwsEc2Volume?: AwsEc2VolumeDetails; + + /** + *

                                            Details for an Amazon EC2 network interface.

                                            + */ + AwsEc2NetworkInterface?: AwsEc2NetworkInterfaceDetails; + + /** + *

                                            Details for an AWS CodeBuild project.

                                            + */ + AwsCodeBuildProject?: AwsCodeBuildProjectDetails; + + /** + *

                                            Details about an Amazon RDS database cluster snapshot.

                                            + */ + AwsRdsDbClusterSnapshot?: AwsRdsDbClusterSnapshotDetails; +} + +export namespace ResourceDetails { + export const filterSensitiveLog = (obj: ResourceDetails): any => ({ + ...obj, + }); +} + +export enum Partition { + AWS = "aws", + AWS_CN = "aws-cn", + AWS_US_GOV = "aws-us-gov", +} + +/** + *

                                            A resource related to a finding.

                                            + */ +export interface Resource { + /** + *

                                            The canonical AWS external Region name where this resource is located.

                                            + */ + Region?: string; + + /** + *

                                            The canonical identifier for the given resource type.

                                            + */ + Id: string | undefined; + + /** + *

                                            Additional details about the resource related to a finding.

                                            + */ + Details?: ResourceDetails; + + /** + *

                                            The type of the resource that details are provided for. If possible, set + * Type to one of the supported resource types. For example, if the resource + * is an EC2 instance, then set Type to AwsEc2Instance.

                                            + *

                                            If the resource does not match any of the provided types, then set Type to + * Other.

                                            + */ + Type: string | undefined; + + /** + *

                                            A list of AWS tags associated with a resource at the time the finding was + * processed.

                                            + */ + Tags?: { [key: string]: string }; + + /** + *

                                            The canonical AWS partition name that the Region is assigned to.

                                            + */ + Partition?: Partition | string; + + /** + *

                                            + */ + ResourceRole?: string; +} + +export namespace Resource { + export const filterSensitiveLog = (obj: Resource): any => ({ + ...obj, + }); +} + +export enum SeverityLabel { + CRITICAL = "CRITICAL", + HIGH = "HIGH", + INFORMATIONAL = "INFORMATIONAL", + LOW = "LOW", + MEDIUM = "MEDIUM", +} + +/** + *

                                            The severity of the finding.

                                            + *

                                            The finding provider can provide the initial severity, but cannot update it after that. + * The severity can only be updated by a master account. It cannot be updated by a member + * account.

                                            + *

                                            The finding must have either Label or Normalized populated. If + * only one of these attributes is populated, then Security Hub automatically populates the other + * one. If neither attribute is populated, then the finding is invalid. Label is + * the preferred attribute.

                                            + */ +export interface Severity { + /** + *

                                            Deprecated. The normalized severity of a finding. This attribute is being deprecated. + * Instead of providing Normalized, provide Label.

                                            + *

                                            If you provide Label and do not provide Normalized, then + * Normalized is set automatically as follows.

                                            + *
                                              + *
                                            • + *

                                              + * INFORMATIONAL - 0

                                              + *
                                            • + *
                                            • + *

                                              + * LOW - 1

                                              + *
                                            • + *
                                            • + *

                                              + * MEDIUM - 40

                                              + *
                                            • + *
                                            • + *

                                              + * HIGH - 70

                                              + *
                                            • + *
                                            • + *

                                              + * CRITICAL - 90

                                              + *
                                            • + *
                                            + */ + Normalized?: number; + + /** + *

                                            The severity value of the finding. The allowed values are the following.

                                            + *
                                              + *
                                            • + *

                                              + * INFORMATIONAL - No issue was found.

                                              + *
                                            • + *
                                            • + *

                                              + * LOW - The issue does not require action on its own.

                                              + *
                                            • + *
                                            • + *

                                              + * MEDIUM - The issue must be addressed but not urgently.

                                              + *
                                            • + *
                                            • + *

                                              + * HIGH - The issue must be addressed as a priority.

                                              + *
                                            • + *
                                            • + *

                                              + * CRITICAL - The issue must be remediated immediately to avoid it + * escalating.

                                              + *
                                            • + *
                                            + *

                                            If you provide Normalized and do not provide Label, then + * Label is set automatically as follows.

                                            + *
                                              + *
                                            • + *

                                              0 - INFORMATIONAL + *

                                              + *
                                            • + *
                                            • + *

                                              1–39 - LOW + *

                                              + *
                                            • + *
                                            • + *

                                              40–69 - MEDIUM + *

                                              + *
                                            • + *
                                            • + *

                                              70–89 - HIGH + *

                                              + *
                                            • + *
                                            • + *

                                              90–100 - CRITICAL + *

                                              + *
                                            • + *
                                            + */ + Label?: SeverityLabel | string; + + /** + *

                                            Deprecated. This attribute is being deprecated. Instead of providing + * Product, provide Original.

                                            + *

                                            The native severity as defined by the AWS service or integrated partner product that + * generated the finding.

                                            + */ + Product?: number; + + /** + *

                                            The native severity from the finding product that generated the finding.

                                            + */ + Original?: string; +} + +export namespace Severity { + export const filterSensitiveLog = (obj: Severity): any => ({ + ...obj, + }); +} + +export enum ThreatIntelIndicatorCategory { + BACKDOOR = "BACKDOOR", + CARD_STEALER = "CARD_STEALER", + COMMAND_AND_CONTROL = "COMMAND_AND_CONTROL", + DROP_SITE = "DROP_SITE", + EXPLOIT_SITE = "EXPLOIT_SITE", + KEYLOGGER = "KEYLOGGER", +} + +export enum ThreatIntelIndicatorType { + DOMAIN = "DOMAIN", + EMAIL_ADDRESS = "EMAIL_ADDRESS", + HASH_MD5 = "HASH_MD5", + HASH_SHA1 = "HASH_SHA1", + HASH_SHA256 = "HASH_SHA256", + HASH_SHA512 = "HASH_SHA512", + IPV4_ADDRESS = "IPV4_ADDRESS", + IPV6_ADDRESS = "IPV6_ADDRESS", + MUTEX = "MUTEX", + PROCESS = "PROCESS", + URL = "URL", +} + +/** + *

                                            Details about the threat intelligence related to a finding.

                                            + */ +export interface ThreatIntelIndicator { + /** + *

                                            The source of the threat intelligence indicator.

                                            + */ + Source?: string; + + /** + *

                                            The type of threat intelligence indicator.

                                            + */ + Type?: ThreatIntelIndicatorType | string; + + /** + *

                                            The category of a threat intelligence indicator.

                                            + */ + Category?: ThreatIntelIndicatorCategory | string; + + /** + *

                                            Indicates when the most recent instance of a threat intelligence indicator was + * observed.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + LastObservedAt?: string; + + /** + *

                                            The URL to the page or site where you can get more information about the threat + * intelligence indicator.

                                            + */ + SourceUrl?: string; + + /** + *

                                            The value of a threat intelligence indicator.

                                            + */ + Value?: string; +} + +export namespace ThreatIntelIndicator { + export const filterSensitiveLog = (obj: ThreatIntelIndicator): any => ({ + ...obj, + }); +} + +export enum VerificationState { + BENIGN_POSITIVE = "BENIGN_POSITIVE", + FALSE_POSITIVE = "FALSE_POSITIVE", + TRUE_POSITIVE = "TRUE_POSITIVE", + UNKNOWN = "UNKNOWN", +} + +/** + *

                                            CVSS scores from the advisory related to the vulnerability.

                                            + */ +export interface Cvss { + /** + *

                                            The base CVSS score.

                                            + */ + BaseScore?: number; + + /** + *

                                            The base scoring vector for the CVSS score.

                                            + */ + BaseVector?: string; + + /** + *

                                            The version of CVSS for the CVSS score.

                                            + */ + Version?: string; +} + +export namespace Cvss { + export const filterSensitiveLog = (obj: Cvss): any => ({ + ...obj, + }); +} + +/** + *

                                            A vendor that generates a vulnerability report.

                                            + */ +export interface VulnerabilityVendor { + /** + *

                                            Indicates when the vulnerability advisory was created.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + VendorCreatedAt?: string; + + /** + *

                                            The severity that the vendor assigned to the vulnerability.

                                            + */ + VendorSeverity?: string; + + /** + *

                                            The name of the vendor.

                                            + */ + Name: string | undefined; + + /** + *

                                            Indicates when the vulnerability advisory was last updated.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + VendorUpdatedAt?: string; + + /** + *

                                            The URL of the vulnerability advisory.

                                            + */ + Url?: string; +} + +export namespace VulnerabilityVendor { + export const filterSensitiveLog = (obj: VulnerabilityVendor): any => ({ + ...obj, + }); +} + +/** + *

                                            Information about a software package.

                                            + */ +export interface SoftwarePackage { + /** + *

                                            The name of the software package.

                                            + */ + Name?: string; + + /** + *

                                            The epoch of the software package.

                                            + */ + Epoch?: string; + + /** + *

                                            The release of the software package.

                                            + */ + Release?: string; + + /** + *

                                            The architecture used for the software package.

                                            + */ + Architecture?: string; + + /** + *

                                            The version of the software package.

                                            + */ + Version?: string; +} + +export namespace SoftwarePackage { + export const filterSensitiveLog = (obj: SoftwarePackage): any => ({ + ...obj, + }); +} + +/** + *

                                            A vulnerability associated with a finding.

                                            + */ +export interface Vulnerability { + /** + *

                                            The identifier of the vulnerability.

                                            + */ + Id: string | undefined; + + /** + *

                                            List of vulnerabilities that are related to this vulnerability.

                                            + */ + RelatedVulnerabilities?: string[]; + + /** + *

                                            Information about the vendor that generates the vulnerability report.

                                            + */ + Vendor?: VulnerabilityVendor; + + /** + *

                                            List of software packages that have the vulnerability.

                                            + */ + VulnerablePackages?: SoftwarePackage[]; + + /** + *

                                            CVSS scores from the advisory related to the vulnerability.

                                            + */ + Cvss?: Cvss[]; + + /** + *

                                            A list of URLs that provide additional information about the vulnerability.

                                            + */ + ReferenceUrls?: string[]; +} + +export namespace Vulnerability { + export const filterSensitiveLog = (obj: Vulnerability): any => ({ + ...obj, + }); +} + +export enum WorkflowStatus { + NEW = "NEW", + NOTIFIED = "NOTIFIED", + RESOLVED = "RESOLVED", + SUPPRESSED = "SUPPRESSED", +} + +/** + *

                                            Provides information about the status of the investigation into a finding.

                                            + */ +export interface Workflow { + /** + *

                                            The status of the investigation into the finding. The allowed values are the + * following.

                                            + *
                                              + *
                                            • + *

                                              + * NEW - The initial state of a finding, before it is reviewed.

                                              + *
                                            • + *
                                            • + *

                                              + * NOTIFIED - Indicates that you notified the resource owner about the + * security issue. Used when the initial reviewer is not the resource owner, and needs + * intervention from the resource owner.

                                              + *
                                            • + *
                                            • + *

                                              + * SUPPRESSED - The finding will not be reviewed again and will not be + * acted upon.

                                              + *
                                            • + *
                                            • + *

                                              + * RESOLVED - The finding was reviewed and remediated and is now + * considered resolved.

                                              + *
                                            • + *
                                            + */ + Status?: WorkflowStatus | string; +} + +export namespace Workflow { + export const filterSensitiveLog = (obj: Workflow): any => ({ + ...obj, + }); +} + +export enum WorkflowState { + ASSIGNED = "ASSIGNED", + DEFERRED = "DEFERRED", + IN_PROGRESS = "IN_PROGRESS", + NEW = "NEW", + RESOLVED = "RESOLVED", +} + +/** + *

                                            Provides consistent format for the contents of the Security Hub-aggregated findings. + * AwsSecurityFinding format enables you to share findings between AWS + * security services and third-party solutions, and security standards checks.

                                            + * + *

                                            A finding is a potential security issue generated either by AWS services (Amazon + * GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated third-party + * solutions and standards checks.

                                            + *
                                            + */ +export interface AwsSecurityFinding { + /** + *

                                            The ARN generated by Security Hub that uniquely identifies a product that generates findings. + * This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for + * a custom integration.

                                            + */ + ProductArn: string | undefined; + + /** + *

                                            Indicates when the security-findings provider created the potential security issue that + * a finding captured.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + CreatedAt: string | undefined; + + /** + *

                                            The level of importance assigned to the resources associated with the finding.

                                            + *

                                            A score of 0 means that the underlying resources have no criticality, and a score of 100 + * is reserved for the most critical resources.

                                            + */ + Criticality?: number; + + /** + *

                                            This data type is exclusive to findings that are generated as the result of a check run + * against a specific rule in a supported security standard, such as CIS AWS Foundations. + * Contains security standard-related finding details.

                                            + */ + Compliance?: Compliance; + + /** + *

                                            Threat intelligence details related to a finding.

                                            + */ + ThreatIntelIndicators?: ThreatIntelIndicator[]; + + /** + *

                                            The security findings provider-specific identifier for a finding.

                                            + */ + Id: string | undefined; + + /** + *

                                            A finding's description.

                                            + * + *

                                            In this release, Description is a required property.

                                            + *
                                            + */ + Description: string | undefined; + + /** + *

                                            A URL that links to a page about the current finding in the security-findings provider's + * solution.

                                            + */ + SourceUrl?: string; + + /** + *

                                            Indicates when the security-findings provider first observed the potential security + * issue that a finding captured.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + FirstObservedAt?: string; + + /** + *

                                            Indicates when the security-findings provider most recently observed the potential + * security issue that a finding captured.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + LastObservedAt?: string; + + /** + *

                                            The details of process-related information about a finding.

                                            + */ + Process?: ProcessDetails; + + /** + *

                                            Provides a list of vulnerabilities associated with the findings.

                                            + */ + Vulnerabilities?: Vulnerability[]; + + /** + *

                                            A list of name/value string pairs associated with the finding. These are custom, + * user-defined fields added to a finding.

                                            + */ + UserDefinedFields?: { [key: string]: string }; + + /** + *

                                            One or more finding types in the format of namespace/category/classifier + * that classify a finding.

                                            + *

                                            Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual + * Behaviors | Sensitive Data Identifications

                                            + */ + Types: string[] | undefined; + + /** + *

                                            The details of network-related information about a finding.

                                            + */ + Network?: Network; + + /** + *

                                            A finding's confidence. Confidence is defined as the likelihood that a finding + * accurately identifies the behavior or issue that it was intended to identify.

                                            + *

                                            Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent + * confidence and 100 means 100 percent confidence.

                                            + */ + Confidence?: number; + + /** + *

                                            Indicates the veracity of a finding.

                                            + */ + VerificationState?: VerificationState | string; + + /** + *

                                            A data type that describes the remediation options for a finding.

                                            + */ + Remediation?: Remediation; + + /** + *

                                            A data type where security-findings providers can include additional solution-specific + * details that aren't part of the defined AwsSecurityFinding format.

                                            + */ + ProductFields?: { [key: string]: string }; + + /** + *

                                            The record state of a finding.

                                            + */ + RecordState?: RecordState | string; + + /** + *

                                            A list of malware related to a finding.

                                            + */ + Malware?: Malware[]; + + /** + *

                                            The schema version that a finding is formatted for.

                                            + */ + SchemaVersion: string | undefined; + + /** + *

                                            A finding's title.

                                            + * + *

                                            In this release, Title is a required property.

                                            + *
                                            + */ + Title: string | undefined; + + /** + *

                                            A list of related findings.

                                            + */ + RelatedFindings?: RelatedFinding[]; + + /** + *

                                            Provides information about a network path that is relevant to a finding. Each entry + * under NetworkPath represents a component of that path.

                                            + */ + NetworkPath?: NetworkPathComponent[]; + + /** + *

                                            A finding's severity.

                                            + */ + Severity: Severity | undefined; + + /** + *

                                            The identifier for the solution-specific component (a discrete unit of logic) that + * generated a finding. In various security-findings providers' solutions, this generator can + * be called a rule, a check, a detector, a plugin, etc.

                                            + */ + GeneratorId: string | undefined; + + /** + *

                                            Provides information about the status of the investigation into a finding.

                                            + */ + Workflow?: Workflow; + + /** + *

                                            Indicates when the security-findings provider last updated the finding record.

                                            + *

                                            Uses the date-time format specified in RFC 3339 section 5.6, Internet + * Date/Time Format. The value cannot contain spaces. For example, + * 2020-03-22T13:22:13.933Z.

                                            + */ + UpdatedAt: string | undefined; + + /** + *

                                            A user-defined note added to a finding.

                                            + */ + Note?: Note; + + /** + *

                                            The workflow state of a finding.

                                            + */ + WorkflowState?: WorkflowState | string; + + /** + *

                                            The AWS account ID that a finding is generated in.

                                            + */ + AwsAccountId: string | undefined; + + /** + *

                                            A set of resource data types that describe the resources that the finding refers + * to.

                                            + */ + Resources: Resource[] | undefined; + + /** + *

                                            Provides an overview of the patch compliance status for an instance against a selected + * compliance standard.

                                            + */ + PatchSummary?: PatchSummary; +} + +export namespace AwsSecurityFinding { + export const filterSensitiveLog = (obj: AwsSecurityFinding): any => ({ + ...obj, + }); +} + +export enum StringFilterComparison { + EQUALS = "EQUALS", + NOT_EQUALS = "NOT_EQUALS", + PREFIX = "PREFIX", + PREFIX_NOT_EQUALS = "PREFIX_NOT_EQUALS", +} + +/** + *

                                            A string filter for querying findings.

                                            + */ +export interface StringFilter { + /** + *

                                            The condition to apply to a string value when querying for findings. To search for + * values that contain the filter criteria value, use one of the following comparison + * operators:

                                            + *
                                              + *
                                            • + *

                                              To search for values that exactly match the filter value, use + * EQUALS.

                                              + *

                                              For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only + * matches findings that have a resource type of + * AwsEc2SecurityGroup.

                                              + *
                                            • + *
                                            • + *

                                              To search for values that start with the filter value, use + * PREFIX.

                                              + *

                                              For example, the filter ResourceType PREFIX AwsIam matches findings + * that have a resource type that starts with AwsIam. Findings with a + * resource type of AwsIamPolicy, AwsIamRole, or + * AwsIamUser would all match.

                                              + *
                                            • + *
                                            + *

                                            + * EQUALS and PREFIX filters on the same field are joined by + * OR. A finding matches if it matches any one of those filters.

                                            + *

                                            To search for values that do not contain the filter criteria value, use one of the + * following comparison operators:

                                            + *
                                              + *
                                            • + *

                                              To search for values that do not exactly match the filter value, use + * NOT_EQUALS.

                                              + *

                                              For example, the filter ResourceType NOT_EQUALS AwsIamPolicy matches + * findings that have a resource type other than AwsIamPolicy.

                                              + *
                                            • + *
                                            • + *

                                              To search for values that do not start with the filter value, use + * PREFIX_NOT_EQUALS.

                                              + *

                                              For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches + * findings that have a resource type that does not start with AwsIam. + * Findings with a resource type of AwsIamPolicy, AwsIamRole, + * or AwsIamUser would all be excluded from the results.

                                              + *
                                            • + *
                                            + *

                                            + * NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are + * joined by AND. A finding matches only if it matches all of those + * filters.

                                            + *

                                            For filters on the same field, you cannot provide both an EQUALS filter and + * a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in + * this way always returns an error, even if the provided filter values would return valid + * results.

                                            + *

                                            You can combine PREFIX filters with NOT_EQUALS or + * PREFIX_NOT_EQUALS filters for the same field. Security Hub first processes the + * PREFIX filters, then the NOT_EQUALS or + * PREFIX_NOT_EQUALS filters.

                                            + *

                                            For example, for the following filter, Security Hub first identifies findings that have + * resource types that start with either AwsIAM or AwsEc2. It then + * excludes findings that have a resource type of AwsIamPolicy and findings that + * have a resource type of AwsEc2NetworkInterface.

                                            + *
                                              + *
                                            • + *

                                              + * ResourceType PREFIX AwsIam + *

                                              + *
                                            • + *
                                            • + *

                                              + * ResourceType PREFIX AwsEc2 + *

                                              + *
                                            • + *
                                            • + *

                                              + * ResourceType NOT_EQUALS AwsIamPolicy + *

                                              + *
                                            • + *
                                            • + *

                                              + * ResourceType NOT_EQUALS AwsEc2NetworkInterface + *

                                              + *
                                            • + *
                                            + */ + Comparison?: StringFilterComparison | string; + + /** + *

                                            The string filter value. Filter values are case sensitive. For example, the product name + * for control-based findings is Security Hub. If you provide security hub + * as the filter text, then there is no match.

                                            + */ + Value?: string; +} + +export namespace StringFilter { + export const filterSensitiveLog = (obj: StringFilter): any => ({ + ...obj, + }); +} + +/** + *

                                            A number filter for querying findings.

                                            + */ +export interface NumberFilter { + /** + *

                                            The less-than-equal condition to be applied to a single field when querying for + * findings.

                                            + */ + Lte?: number; + + /** + *

                                            The equal-to condition to be applied to a single field when querying for + * findings.

                                            + */ + Eq?: number; + + /** + *

                                            The greater-than-equal condition to be applied to a single field when querying for + * findings.

                                            + */ + Gte?: number; +} + +export namespace NumberFilter { + export const filterSensitiveLog = (obj: NumberFilter): any => ({ + ...obj, + }); +} + +export enum DateRangeUnit { + DAYS = "DAYS", +} + +/** + *

                                            A date range for the date filter.

                                            + */ +export interface DateRange { + /** + *

                                            A date range unit for the date filter.

                                            + */ + Unit?: DateRangeUnit | string; + + /** + *

                                            A date range value for the date filter.

                                            + */ + Value?: number; +} + +export namespace DateRange { + export const filterSensitiveLog = (obj: DateRange): any => ({ + ...obj, + }); +} + +/** + *

                                            A date filter for querying findings.

                                            + */ +export interface DateFilter { + /** + *

                                            An end date for the date filter.

                                            + */ + End?: string; + + /** + *

                                            A start date for the date filter.

                                            + */ + Start?: string; + + /** + *

                                            A date range for the date filter.

                                            + */ + DateRange?: DateRange; +} + +export namespace DateFilter { + export const filterSensitiveLog = (obj: DateFilter): any => ({ + ...obj, + }); +} + +/** + *

                                            A keyword filter for querying findings.

                                            + */ +export interface KeywordFilter { + /** + *

                                            A value for the keyword.

                                            + */ + Value?: string; +} + +export namespace KeywordFilter { + export const filterSensitiveLog = (obj: KeywordFilter): any => ({ + ...obj, + }); +} + +/** + *

                                            The IP filter for querying findings.

                                            + */ +export interface IpFilter { + /** + *

                                            A finding's CIDR value.

                                            + */ + Cidr?: string; +} + +export namespace IpFilter { + export const filterSensitiveLog = (obj: IpFilter): any => ({ + ...obj, + }); +} + +export enum MapFilterComparison { + EQUALS = "EQUALS", + NOT_EQUALS = "NOT_EQUALS", +} + +/** + *

                                            A map filter for querying findings. Each map filter provides the field to check, the + * value to look for, and the comparison operator.

                                            + */ +export interface MapFilter { + /** + *

                                            The value for the key in the map filter. Filter values are case sensitive. For example, + * one of the values for a tag called Department might be Security. + * If you provide security as the filter value, then there is no match.

                                            + */ + Value?: string; + + /** + *

                                            The key of the map filter. For example, for ResourceTags, Key + * identifies the name of the tag. For UserDefinedFields, Key is the + * name of the field.

                                            + */ + Key?: string; + + /** + *

                                            The condition to apply to the key value when querying for findings with a map + * filter.

                                            + *

                                            To search for values that exactly match the filter value, use EQUALS. For + * example, for the ResourceTags field, the filter Department EQUALS + * Security matches findings that have the value Security for the tag + * Department.

                                            + *

                                            To search for values other than the filter value, use NOT_EQUALS. For + * example, for the ResourceTags field, the filter Department NOT_EQUALS + * Finance matches findings that do not have the value Finance for the + * tag Department.

                                            + *

                                            + * EQUALS filters on the same field are joined by OR. A finding + * matches if it matches any one of those filters.

                                            + *

                                            + * NOT_EQUALS filters on the same field are joined by AND. A + * finding matches only if it matches all of those filters.

                                            + *

                                            You cannot have both an EQUALS filter and a NOT_EQUALS filter + * on the same field.

                                            + */ + Comparison?: MapFilterComparison | string; +} + +export namespace MapFilter { + export const filterSensitiveLog = (obj: MapFilter): any => ({ + ...obj, + }); +} + +/** + *

                                            A collection of attributes that are applied to all active Security Hub-aggregated findings and + * that result in a subset of findings that are included in this insight.

                                            + *

                                            You can filter by up to 10 finding attributes. For each attribute, you can provide up to + * 20 filter values.

                                            + */ +export interface AwsSecurityFindingFilters { + /** + *

                                            The canonical AWS partition name that the Region is assigned to.

                                            + */ + ResourcePartition?: StringFilter[]; + + /** + *

                                            The path to the process executable.

                                            + */ + ProcessPath?: StringFilter[]; + + /** + *

                                            The source media access control (MAC) address of network-related information about a + * finding.

                                            + */ + NetworkSourceMac?: StringFilter[]; + + /** + *

                                            A keyword for a finding.

                                            + */ + Keyword?: KeywordFilter[]; + + /** + *

                                            The recommendation of what to do about the issue described in a finding.

                                            + */ + RecommendationText?: StringFilter[]; + + /** + *

                                            The solution-generated identifier for a related finding.

                                            + */ + RelatedFindingsId?: StringFilter[]; + + /** + *

                                            The date/time that the process was terminated.

                                            + */ + ProcessTerminatedAt?: DateFilter[]; + + /** + *

                                            The date and time the instance was launched.

                                            + */ + ResourceAwsEc2InstanceLaunchedAt?: DateFilter[]; + + /** + *

                                            The source IPv6 address of network-related information about a finding.

                                            + */ + NetworkSourceIpV6?: IpFilter[]; + + /** + *

                                            The IPv4 addresses associated with the instance.

                                            + */ + ResourceAwsEc2InstanceIpV4Addresses?: IpFilter[]; + + /** + *

                                            The creation date/time of the IAM access key related to a finding.

                                            + */ + ResourceAwsIamAccessKeyCreatedAt?: DateFilter[]; + + /** + *

                                            The protocol of network-related information about a finding.

                                            + */ + NetworkProtocol?: StringFilter[]; + + /** + *

                                            The source IPv4 address of network-related information about a finding.

                                            + */ + NetworkSourceIpV4?: IpFilter[]; + + /** + *

                                            The timestamp of when the note was updated.

                                            + */ + NoteUpdatedAt?: DateFilter[]; + + /** + *

                                            Indicates the direction of network traffic associated with a finding.

                                            + */ + NetworkDirection?: StringFilter[]; + + /** + *

                                            The value of a threat intelligence indicator.

                                            + */ + ThreatIntelIndicatorValue?: StringFilter[]; + + /** + *

                                            Specifies the type of the resource that details are provided for.

                                            + */ + ResourceType?: StringFilter[]; + + /** + *

                                            The level of importance assigned to the resources associated with the finding.

                                            + *

                                            A score of 0 means that the underlying resources have no criticality, and a score of 100 + * is reserved for the most critical resources.

                                            + */ + Criticality?: NumberFilter[]; + + /** + *

                                            The user associated with the IAM access key related to a finding.

                                            + */ + ResourceAwsIamAccessKeyUserName?: StringFilter[]; + + /** + *

                                            A finding's description.

                                            + */ + Description?: StringFilter[]; + + /** + *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider first + * observed the potential security issue that a finding captured.

                                            + */ + FirstObservedAt?: DateFilter[]; + + /** + *

                                            The name of the solution (product) that generates findings.

                                            + */ + ProductName?: StringFilter[]; + + /** + *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider most + * recently observed the potential security issue that a finding captured.

                                            + */ + LastObservedAt?: DateFilter[]; + + /** + *

                                            A URL that links to a page about the current finding in the security-findings provider's + * solution.

                                            + */ + SourceUrl?: StringFilter[]; + + /** + *

                                            The name of the process.

                                            + */ + ProcessName?: StringFilter[]; + + /** + *

                                            The name of the container related to a finding.

                                            + */ + ResourceContainerName?: StringFilter[]; + + /** + *

                                            The key name associated with the instance.

                                            + */ + ResourceAwsEc2InstanceKeyName?: StringFilter[]; + + /** + *

                                            The canonical user ID of the owner of the S3 bucket.

                                            + */ + ResourceAwsS3BucketOwnerId?: StringFilter[]; + + /** + *

                                            The canonical AWS external Region name where this resource is located.

                                            + */ + ResourceRegion?: StringFilter[]; + + /** + *

                                            The URL for more details from the source of the threat intelligence.

                                            + */ + ThreatIntelIndicatorSourceUrl?: StringFilter[]; + + /** + *

                                            A list of name/value string pairs associated with the finding. These are custom, + * user-defined fields added to a finding.

                                            + */ + UserDefinedFields?: MapFilter[]; + + /** + *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider last + * updated the finding record.

                                            + */ + UpdatedAt?: DateFilter[]; + + /** + *

                                            The text of a note.

                                            + */ + NoteText?: StringFilter[]; + + /** + *

                                            The type of a threat intelligence indicator.

                                            + */ + ThreatIntelIndicatorType?: StringFilter[]; + + /** + *

                                            The destination domain of network-related information about a finding.

                                            + */ + NetworkDestinationDomain?: StringFilter[]; + + /** + *

                                            The canonical identifier for the given resource type.

                                            + */ + ResourceId?: StringFilter[]; + + /** + *

                                            The identifier for the solution-specific component (a discrete unit of logic) that + * generated a finding. In various security-findings providers' solutions, this generator can + * be called a rule, a check, a detector, a plugin, etc.

                                            + */ + GeneratorId?: StringFilter[]; + + /** + *

                                            A finding's title.

                                            + */ + Title?: StringFilter[]; + + /** + *

                                            The workflow state of a finding.

                                            + *

                                            Note that this field is deprecated. To search for a finding based on its workflow + * status, use WorkflowStatus.

                                            + */ + WorkflowState?: StringFilter[]; + + /** + *

                                            The name of the malware that was observed.

                                            + */ + MalwareName?: StringFilter[]; + + /** + *

                                            A finding type in the format of namespace/category/classifier that + * classifies a finding.

                                            + */ + Type?: StringFilter[]; + + /** + *

                                            The IPv6 addresses associated with the instance.

                                            + */ + ResourceAwsEc2InstanceIpV6Addresses?: IpFilter[]; + + /** + *

                                            The updated record state for the finding.

                                            + */ + RecordState?: StringFilter[]; + + /** + *

                                            The filesystem path of the malware that was observed.

                                            + */ + MalwarePath?: StringFilter[]; + + /** + *

                                            The AWS account ID that a finding is generated in.

                                            + */ + AwsAccountId?: StringFilter[]; + + /** + *

                                            The name of the image related to a finding.

                                            + */ + ResourceContainerImageName?: StringFilter[]; + + /** + *

                                            The category of a threat intelligence indicator.

                                            + */ + ThreatIntelIndicatorCategory?: StringFilter[]; + + /** + *

                                            The identifier of the subnet that the instance was launched in.

                                            + */ + ResourceAwsEc2InstanceSubnetId?: StringFilter[]; + + /** + *

                                            The status of the investigation into a finding. Allowed values are the following.

                                            + *
                                              + *
                                            • + *

                                              + * NEW - The initial state of a finding, before it is reviewed.

                                              + *
                                            • + *
                                            • + *

                                              + * NOTIFIED - Indicates that the resource owner has been notified about + * the security issue. Used when the initial reviewer is not the resource owner, and + * needs intervention from the resource owner.

                                              + *
                                            • + *
                                            • + *

                                              + * SUPPRESSED - The finding will not be reviewed again and will not be + * acted upon.

                                              + *
                                            • + *
                                            • + *

                                              + * RESOLVED - The finding was reviewed and remediated and is now + * considered resolved.

                                              + *
                                            • + *
                                            + */ + WorkflowStatus?: StringFilter[]; + + /** + *

                                            Exclusive to findings that are generated as the result of a check run against a specific + * rule in a supported standard, such as CIS AWS Foundations. Contains security + * standard-related finding details.

                                            + */ + ComplianceStatus?: StringFilter[]; + + /** + *

                                            A data type where security-findings providers can include additional solution-specific + * details that aren't part of the defined AwsSecurityFinding format.

                                            + */ + ProductFields?: MapFilter[]; + + /** + *

                                            The veracity of a finding.

                                            + */ + VerificationState?: StringFilter[]; + + /** + *

                                            A finding's confidence. Confidence is defined as the likelihood that a finding + * accurately identifies the behavior or issue that it was intended to identify.

                                            + *

                                            Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent + * confidence and 100 means 100 percent confidence.

                                            + */ + Confidence?: NumberFilter[]; + + /** + *

                                            The status of the IAM access key related to a finding.

                                            + */ + ResourceAwsIamAccessKeyStatus?: StringFilter[]; + + /** + *

                                            The ARN generated by Security Hub that uniquely identifies a third-party company + * (security findings provider) after this provider's product (solution that generates + * findings) is registered with Security Hub.

                                            + */ + ProductArn?: StringFilter[]; + + /** + *

                                            The source domain of network-related information about a finding.

                                            + */ + NetworkSourceDomain?: StringFilter[]; + + /** + *

                                            The native severity as defined by the security-findings provider's solution that + * generated the finding.

                                            + */ + SeverityProduct?: NumberFilter[]; + + /** + *

                                            The name of the findings provider (company) that owns the solution (product) that + * generates findings.

                                            + */ + CompanyName?: StringFilter[]; + + /** + *

                                            The ARN of the solution that generated a related finding.

                                            + */ + RelatedFindingsProductArn?: StringFilter[]; + + /** + *

                                            The display name of the owner of the S3 bucket.

                                            + */ + ResourceAwsS3BucketOwnerName?: StringFilter[]; + + /** + *

                                            The date/time that the container was started.

                                            + */ + ResourceContainerLaunchedAt?: DateFilter[]; + + /** + *

                                            The normalized severity of a finding.

                                            + */ + SeverityNormalized?: NumberFilter[]; + + /** + *

                                            The date/time that the process was launched.

                                            + */ + ProcessLaunchedAt?: DateFilter[]; + + /** + *

                                            The security findings provider-specific identifier for a finding.

                                            + */ + Id?: StringFilter[]; + + /** + *

                                            The details of a resource that doesn't have a specific subfield for the resource type + * defined.

                                            + */ + ResourceDetailsOther?: MapFilter[]; + + /** + *

                                            The state of the malware that was observed.

                                            + */ + MalwareState?: StringFilter[]; + + /** + *

                                            The process ID.

                                            + */ + ProcessPid?: NumberFilter[]; + + /** + *

                                            The instance type of the instance.

                                            + */ + ResourceAwsEc2InstanceType?: StringFilter[]; + + /** + *

                                            The date/time of the last observation of a threat intelligence indicator.

                                            + */ + ThreatIntelIndicatorLastObservedAt?: DateFilter[]; + + /** + *

                                            An ISO8601-formatted timestamp that indicates when the security-findings provider + * captured the potential security issue that a finding captured.

                                            + */ + CreatedAt?: DateFilter[]; + + /** + *

                                            The source of the threat intelligence.

                                            + */ + ThreatIntelIndicatorSource?: StringFilter[]; + + /** + *

                                            The source port of network-related information about a finding.

                                            + */ + NetworkSourcePort?: NumberFilter[]; + + /** + *

                                            The type of the malware that was observed.

                                            + */ + MalwareType?: StringFilter[]; + + /** + *

                                            The principal that created a note.

                                            + */ + NoteUpdatedBy?: StringFilter[]; + + /** + *

                                            The parent process ID.

                                            + */ + ProcessParentPid?: NumberFilter[]; + + /** + *

                                            The identifier of the VPC that the instance was launched in.

                                            + */ + ResourceAwsEc2InstanceVpcId?: StringFilter[]; + + /** + *

                                            The destination IPv6 address of network-related information about a finding.

                                            + */ + NetworkDestinationIpV6?: IpFilter[]; + + /** + *

                                            A list of AWS tags associated with a resource at the time the finding was + * processed.

                                            + */ + ResourceTags?: MapFilter[]; + + /** + *

                                            The Amazon Machine Image (AMI) ID of the instance.

                                            + */ + ResourceAwsEc2InstanceImageId?: StringFilter[]; + + /** + *

                                            The label of a finding's severity.

                                            + */ + SeverityLabel?: StringFilter[]; + + /** + *

                                            The identifier of the image related to a finding.

                                            + */ + ResourceContainerImageId?: StringFilter[]; + + /** + *

                                            The destination port of network-related information about a finding.

                                            + */ + NetworkDestinationPort?: NumberFilter[]; + + /** + *

                                            The IAM profile ARN of the instance.

                                            + */ + ResourceAwsEc2InstanceIamInstanceProfileArn?: StringFilter[]; + + /** + *

                                            The destination IPv4 address of network-related information about a finding.

                                            + */ + NetworkDestinationIpV4?: IpFilter[]; +} + +export namespace AwsSecurityFindingFilters { + export const filterSensitiveLog = (obj: AwsSecurityFindingFilters): any => ({ + ...obj, + }); +} + +/** + *

                                            Identifies a finding to update using BatchUpdateFindings.

                                            + */ +export interface AwsSecurityFindingIdentifier { + /** + *

                                            The ARN generated by Security Hub that uniquely identifies a product that generates findings. + * This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for + * a custom integration.

                                            + */ + ProductArn: string | undefined; + + /** + *

                                            The identifier of the finding that was specified by the finding provider.

                                            + */ + Id: string | undefined; +} + +export namespace AwsSecurityFindingIdentifier { + export const filterSensitiveLog = (obj: AwsSecurityFindingIdentifier): any => ({ + ...obj, + }); +} + +export interface BatchDisableStandardsRequest { + /** + *

                                            The ARNs of the standards subscriptions to disable.

                                            + */ + StandardsSubscriptionArns: string[] | undefined; +} + +export namespace BatchDisableStandardsRequest { + export const filterSensitiveLog = (obj: BatchDisableStandardsRequest): any => ({ + ...obj, + }); +} + +export enum StandardsStatus { + DELETING = "DELETING", + FAILED = "FAILED", + INCOMPLETE = "INCOMPLETE", + PENDING = "PENDING", + READY = "READY", +} + +/** + *

                                            A resource that represents your subscription to a supported standard.

                                            + */ +export interface StandardsSubscription { + /** + *

                                            The ARN of a standard.

                                            + */ + StandardsArn: string | undefined; + + /** + *

                                            The status of the standards subscription.

                                            + */ + StandardsStatus: StandardsStatus | string | undefined; + + /** + *

                                            The ARN of a resource that represents your subscription to a supported standard.

                                            + */ + StandardsSubscriptionArn: string | undefined; + + /** + *

                                            A key-value pair of input for the standard.

                                            + */ + StandardsInput: { [key: string]: string } | undefined; +} + +export namespace StandardsSubscription { + export const filterSensitiveLog = (obj: StandardsSubscription): any => ({ + ...obj, + }); +} + +export interface BatchDisableStandardsResponse { + /** + *

                                            The details of the standards subscriptions that were disabled.

                                            + */ + StandardsSubscriptions?: StandardsSubscription[]; +} + +export namespace BatchDisableStandardsResponse { + export const filterSensitiveLog = (obj: BatchDisableStandardsResponse): any => ({ + ...obj, + }); +} + +/** + *

                                            The standard that you want to enable.

                                            + */ +export interface StandardsSubscriptionRequest { + /** + *

                                            A key-value pair of input for the standard.

                                            + */ + StandardsInput?: { [key: string]: string }; + + /** + *

                                            The ARN of the standard that you want to enable. To view the list of available standards + * and their ARNs, use the + * DescribeStandards + * operation.

                                            + */ + StandardsArn: string | undefined; +} + +export namespace StandardsSubscriptionRequest { + export const filterSensitiveLog = (obj: StandardsSubscriptionRequest): any => ({ + ...obj, + }); +} + +export interface BatchEnableStandardsRequest { + /** + *

                                            The list of standards checks to enable.

                                            + */ + StandardsSubscriptionRequests: StandardsSubscriptionRequest[] | undefined; +} + +export namespace BatchEnableStandardsRequest { + export const filterSensitiveLog = (obj: BatchEnableStandardsRequest): any => ({ + ...obj, + }); +} + +export interface BatchEnableStandardsResponse { + /** + *

                                            The details of the standards subscriptions that were enabled.

                                            + */ + StandardsSubscriptions?: StandardsSubscription[]; +} + +export namespace BatchEnableStandardsResponse { + export const filterSensitiveLog = (obj: BatchEnableStandardsResponse): any => ({ + ...obj, + }); +} + +export interface BatchImportFindingsRequest { + /** + *

                                            A list of findings to import. To successfully import a finding, it must follow the + * AWS Security Finding Format. Maximum of 100 findings per request.

                                            + */ + Findings: AwsSecurityFinding[] | undefined; +} + +export namespace BatchImportFindingsRequest { + export const filterSensitiveLog = (obj: BatchImportFindingsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                            The list of the findings that cannot be imported. For each finding, the list provides + * the error.

                                            + */ +export interface ImportFindingsError { + /** + *

                                            The message of the error returned by the BatchImportFindings + * operation.

                                            + */ + ErrorMessage: string | undefined; + + /** + *

                                            The code of the error returned by the BatchImportFindings operation.

                                            + */ + ErrorCode: string | undefined; + + /** + *

                                            The identifier of the finding that could not be updated.

                                            + */ + Id: string | undefined; } -export namespace DescribeHubRequest { - export const filterSensitiveLog = (obj: DescribeHubRequest): any => ({ +export namespace ImportFindingsError { + export const filterSensitiveLog = (obj: ImportFindingsError): any => ({ ...obj, }); } -export interface DescribeHubResponse { +export interface BatchImportFindingsResponse { /** - *

                                            Whether to automatically enable new controls when they are added to standards that are - * enabled.

                                            - *

                                            If set to true, then new controls for enabled standards are enabled - * automatically. If set to false, then new controls are not enabled.

                                            + *

                                            The number of findings that failed to import.

                                            */ - AutoEnableControls?: boolean; + FailedCount: number | undefined; /** - *

                                            The ARN of the Hub resource that was retrieved.

                                            + *

                                            The list of findings that failed to import.

                                            */ - HubArn?: string; + FailedFindings?: ImportFindingsError[]; /** - *

                                            The date and time when Security Hub was enabled in the account.

                                            + *

                                            The number of findings that were successfully imported.

                                            */ - SubscribedAt?: string; + SuccessCount: number | undefined; } -export namespace DescribeHubResponse { - export const filterSensitiveLog = (obj: DescribeHubResponse): any => ({ +export namespace BatchImportFindingsResponse { + export const filterSensitiveLog = (obj: BatchImportFindingsResponse): any => ({ ...obj, }); } -export interface DescribeProductsRequest { +/** + *

                                            The updated note.

                                            + */ +export interface NoteUpdate { /** - *

                                            The maximum number of results to return.

                                            + *

                                            The updated note text.

                                            */ - MaxResults?: number; + Text: string | undefined; /** - *

                                            The token that is required for pagination. On your first call to the - * DescribeProducts operation, set the value of this parameter to - * NULL.

                                            - *

                                            For subsequent calls to the operation, to continue listing data, set the value of this - * parameter to the value returned from the previous response.

                                            + *

                                            The principal that updated the note.

                                            */ - NextToken?: string; + UpdatedBy: string | undefined; } -export namespace DescribeProductsRequest { - export const filterSensitiveLog = (obj: DescribeProductsRequest): any => ({ +export namespace NoteUpdate { + export const filterSensitiveLog = (obj: NoteUpdate): any => ({ ...obj, }); } -export enum IntegrationType { - RECEIVE_FINDINGS_FROM_SECURITY_HUB = "RECEIVE_FINDINGS_FROM_SECURITY_HUB", - SEND_FINDINGS_TO_SECURITY_HUB = "SEND_FINDINGS_TO_SECURITY_HUB", -} - /** - *

                                            Contains details about a product.

                                            + *

                                            Updates to the severity information for a finding.

                                            */ -export interface Product { +export interface SeverityUpdate { /** - *

                                            The name of the product.

                                            + *

                                            The normalized severity for the finding. This attribute is to be deprecated in favor of + * Label.

                                            + *

                                            If you provide Normalized and do not provide Label, + * Label is set automatically as follows.

                                            + *
                                              + *
                                            • + *

                                              0 - INFORMATIONAL + *

                                              + *
                                            • + *
                                            • + *

                                              1–39 - LOW + *

                                              + *
                                            • + *
                                            • + *

                                              40–69 - MEDIUM + *

                                              + *
                                            • + *
                                            • + *

                                              70–89 - HIGH + *

                                              + *
                                            • + *
                                            • + *

                                              90–100 - CRITICAL + *

                                              + *
                                            • + *
                                            */ - ProductName?: string; + Normalized?: number; /** - *

                                            A description of the product.

                                            + *

                                            The severity value of the finding. The allowed values are the following.

                                            + *
                                              + *
                                            • + *

                                              + * INFORMATIONAL - No issue was found.

                                              + *
                                            • + *
                                            • + *

                                              + * LOW - The issue does not require action on its own.

                                              + *
                                            • + *
                                            • + *

                                              + * MEDIUM - The issue must be addressed but not urgently.

                                              + *
                                            • + *
                                            • + *

                                              + * HIGH - The issue must be addressed as a priority.

                                              + *
                                            • + *
                                            • + *

                                              + * CRITICAL - The issue must be remediated immediately to avoid it + * escalating.

                                              + *
                                            • + *
                                            */ - Description?: string; + Label?: SeverityLabel | string; /** - *

                                            The resource policy associated with the product.

                                            + *

                                            The native severity as defined by the AWS service or integrated partner product that + * generated the finding.

                                            */ - ProductSubscriptionResourcePolicy?: string; + Product?: number; +} + +export namespace SeverityUpdate { + export const filterSensitiveLog = (obj: SeverityUpdate): any => ({ + ...obj, + }); +} +/** + *

                                            Used to update information about the investigation into the finding.

                                            + */ +export interface WorkflowUpdate { /** - *

                                            The URL for the page that contains more information about the product.

                                            + *

                                            The status of the investigation into the finding. The allowed values are the + * following.

                                            + *
                                              + *
                                            • + *

                                              + * NEW - The initial state of a finding, before it is reviewed.

                                              + *
                                            • + *
                                            • + *

                                              + * NOTIFIED - Indicates that you notified the resource owner about the + * security issue. Used when the initial reviewer is not the resource owner, and needs + * intervention from the resource owner.

                                              + *
                                            • + *
                                            • + *

                                              + * RESOLVED - The finding was reviewed and remediated and is now + * considered resolved.

                                              + *
                                            • + *
                                            • + *

                                              + * SUPPRESSED - The finding will not be reviewed again and will not be + * acted upon.

                                              + *
                                            • + *
                                            */ - MarketplaceUrl?: string; + Status?: WorkflowStatus | string; +} + +export namespace WorkflowUpdate { + export const filterSensitiveLog = (obj: WorkflowUpdate): any => ({ + ...obj, + }); +} +export interface BatchUpdateFindingsRequest { /** - *

                                            The name of the company that provides the product.

                                            + *

                                            Used to update the finding severity.

                                            */ - CompanyName?: string; + Severity?: SeverityUpdate; /** - *

                                            The types of integration that the product supports. Available values are the - * following.

                                            + *

                                            Indicates the veracity of a finding.

                                            + *

                                            The available values for VerificationState are as follows.

                                            *
                                              *
                                            • *

                                              - * SEND_FINDINGS_TO_SECURITY_HUB - Indicates that the integration sends - * findings to Security Hub.

                                              + * UNKNOWN – The default disposition of a security finding

                                              *
                                            • *
                                            • *

                                              - * RECEIVE_FINDINGS_FROM_SECURITY_HUB - Indicates that the integration - * receives findings from Security Hub.

                                              + * TRUE_POSITIVE – The security finding is confirmed

                                              + *
                                            • + *
                                            • + *

                                              + * FALSE_POSITIVE – The security finding was determined to be a false + * alarm

                                              + *
                                            • + *
                                            • + *

                                              + * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where + * the finding doesn't pose any threat, is expected, or both

                                              *
                                            • *
                                            */ - IntegrationTypes?: (IntegrationType | string)[]; + VerificationState?: VerificationState | string; /** - *

                                            The ARN assigned to the product.

                                            + *

                                            A list of findings that are related to the updated findings.

                                            */ - ProductArn: string | undefined; + RelatedFindings?: RelatedFinding[]; /** - *

                                            The URL used to activate the product.

                                            + *

                                            The list of findings to update. BatchUpdateFindings can be used to update + * up to 100 findings at a time.

                                            + *

                                            For each finding, the list provides the finding identifier and the ARN of the finding + * provider.

                                            */ - ActivationUrl?: string; + FindingIdentifiers: AwsSecurityFindingIdentifier[] | undefined; /** - *

                                            The categories assigned to the product.

                                            + *

                                            The updated value for the finding confidence. Confidence is defined as the likelihood + * that a finding accurately identifies the behavior or issue that it was intended to + * identify.

                                            + *

                                            Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent + * confidence and 100 means 100 percent confidence.

                                            */ - Categories?: string[]; -} - -export namespace Product { - export const filterSensitiveLog = (obj: Product): any => ({ - ...obj, - }); -} + Confidence?: number; -export interface DescribeProductsResponse { /** - *

                                            A list of products, including details for each product.

                                            + *

                                            Used to update the workflow status of a finding.

                                            + *

                                            The workflow status indicates the progress of the investigation into the finding.

                                            */ - Products: Product[] | undefined; + Workflow?: WorkflowUpdate; /** - *

                                            The pagination token to use to request the next page of results.

                                            + *

                                            The updated note.

                                            */ - NextToken?: string; -} + Note?: NoteUpdate; -export namespace DescribeProductsResponse { - export const filterSensitiveLog = (obj: DescribeProductsResponse): any => ({ - ...obj, - }); -} + /** + *

                                            A list of name/value string pairs associated with the finding. These are custom, + * user-defined fields added to a finding.

                                            + */ + UserDefinedFields?: { [key: string]: string }; -export interface DescribeStandardsRequest { /** - *

                                            The maximum number of standards to return.

                                            + *

                                            One or more finding types in the format of namespace/category/classifier that classify a + * finding.

                                            + *

                                            Valid namespace values are as follows.

                                            + *
                                              + *
                                            • + *

                                              Software and Configuration Checks

                                              + *
                                            • + *
                                            • + *

                                              TTPs

                                              + *
                                            • + *
                                            • + *

                                              Effects

                                              + *
                                            • + *
                                            • + *

                                              Unusual Behaviors

                                              + *
                                            • + *
                                            • + *

                                              Sensitive Data Identifications

                                              + *
                                            • + *
                                            */ - MaxResults?: number; + Types?: string[]; /** - *

                                            The token that is required for pagination. On your first call to the - * DescribeStandards operation, set the value of this parameter to - * NULL.

                                            - *

                                            For subsequent calls to the operation, to continue listing data, set the value of this - * parameter to the value returned from the previous response.

                                            + *

                                            The updated value for the level of importance assigned to the resources associated with + * the findings.

                                            + *

                                            A score of 0 means that the underlying resources have no criticality, and a score of 100 + * is reserved for the most critical resources.

                                            */ - NextToken?: string; + Criticality?: number; } -export namespace DescribeStandardsRequest { - export const filterSensitiveLog = (obj: DescribeStandardsRequest): any => ({ +export namespace BatchUpdateFindingsRequest { + export const filterSensitiveLog = (obj: BatchUpdateFindingsRequest): any => ({ ...obj, }); } /** - *

                                            Provides information about a specific standard.

                                            + *

                                            A finding from a BatchUpdateFindings request that Security Hub was unable to + * update.

                                            */ -export interface Standard { - /** - *

                                            The ARN of a standard.

                                            - */ - StandardsArn?: string; - +export interface BatchUpdateFindingsUnprocessedFinding { /** - *

                                            Whether the standard is enabled by default. When Security Hub is enabled from the console, if a - * standard is enabled by default, the check box for that standard is selected by - * default.

                                            - *

                                            When Security Hub is enabled using the EnableSecurityHub API operation, the - * standard is enabled by default unless EnableDefaultStandards is set to - * false.

                                            + *

                                            The identifier of the finding that was not updated.

                                            */ - EnabledByDefault?: boolean; + FindingIdentifier: AwsSecurityFindingIdentifier | undefined; /** - *

                                            A description of the standard.

                                            + *

                                            The message associated with the error.

                                            */ - Description?: string; + ErrorMessage: string | undefined; /** - *

                                            The name of the standard.

                                            + *

                                            The code associated with the error.

                                            */ - Name?: string; + ErrorCode: string | undefined; } -export namespace Standard { - export const filterSensitiveLog = (obj: Standard): any => ({ +export namespace BatchUpdateFindingsUnprocessedFinding { + export const filterSensitiveLog = (obj: BatchUpdateFindingsUnprocessedFinding): any => ({ ...obj, }); } -export interface DescribeStandardsResponse { +export interface BatchUpdateFindingsResponse { /** - *

                                            A list of available standards.

                                            + *

                                            The list of findings that were not updated.

                                            */ - Standards?: Standard[]; + UnprocessedFindings: BatchUpdateFindingsUnprocessedFinding[] | undefined; /** - *

                                            The pagination token to use to request the next page of results.

                                            + *

                                            The list of findings that were updated successfully.

                                            */ - NextToken?: string; + ProcessedFindings: AwsSecurityFindingIdentifier[] | undefined; } -export namespace DescribeStandardsResponse { - export const filterSensitiveLog = (obj: DescribeStandardsResponse): any => ({ +export namespace BatchUpdateFindingsResponse { + export const filterSensitiveLog = (obj: BatchUpdateFindingsResponse): any => ({ ...obj, }); } -export interface DescribeStandardsControlsRequest { +export enum ControlStatus { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + +export interface CreateActionTargetRequest { /** - *

                                            The maximum number of security standard controls to return.

                                            + *

                                            The name of the custom action target.

                                            */ - MaxResults?: number; + Name: string | undefined; /** - *

                                            The ARN of a resource that represents your subscription to a supported standard.

                                            + *

                                            The ID for the custom action target.

                                            */ - StandardsSubscriptionArn: string | undefined; + Id: string | undefined; /** - *

                                            The token that is required for pagination. On your first call to the - * DescribeStandardsControls operation, set the value of this parameter to - * NULL.

                                            - *

                                            For subsequent calls to the operation, to continue listing data, set the value of this - * parameter to the value returned from the previous response.

                                            + *

                                            The description for the custom action target.

                                            */ - NextToken?: string; + Description: string | undefined; } -export namespace DescribeStandardsControlsRequest { - export const filterSensitiveLog = (obj: DescribeStandardsControlsRequest): any => ({ +export namespace CreateActionTargetRequest { + export const filterSensitiveLog = (obj: CreateActionTargetRequest): any => ({ ...obj, }); } -export enum SeverityRating { - CRITICAL = "CRITICAL", - HIGH = "HIGH", - LOW = "LOW", - MEDIUM = "MEDIUM", +export interface CreateActionTargetResponse { + /** + *

                                            The ARN for the custom action target.

                                            + */ + ActionTargetArn: string | undefined; +} + +export namespace CreateActionTargetResponse { + export const filterSensitiveLog = (obj: CreateActionTargetResponse): any => ({ + ...obj, + }); } /** - *

                                            Details for an individual security standard control.

                                            + *

                                            The resource specified in the request conflicts with an existing resource.

                                            */ -export interface StandardsControl { - /** - *

                                            A link to remediation information for the control in the Security Hub user - * documentation.

                                            - */ - RemediationUrl?: string; - - /** - *

                                            The current status of the security standard control. Indicates whether the control is - * enabled or disabled. Security Hub does not check against disabled controls.

                                            - */ - ControlStatus?: ControlStatus | string; +export interface ResourceConflictException extends __SmithyException, $MetadataBearer { + name: "ResourceConflictException"; + $fault: "client"; + Message?: string; + Code?: string; +} - /** - *

                                            The list of requirements that are related to this control.

                                            - */ - RelatedRequirements?: string[]; +export namespace ResourceConflictException { + export const filterSensitiveLog = (obj: ResourceConflictException): any => ({ + ...obj, + }); +} +export interface CreateInsightRequest { /** - *

                                            The identifier of the security standard control.

                                            + *

                                            The name of the custom insight to create.

                                            */ - ControlId?: string; + Name: string | undefined; /** - *

                                            The longer description of the security standard control. Provides information about what - * the control is checking for.

                                            + *

                                            One or more attributes used to filter the findings included in the insight. The insight + * only includes findings that match the criteria defined in the filters.

                                            */ - Description?: string; + Filters: AwsSecurityFindingFilters | undefined; /** - *

                                            The title of the security standard control.

                                            + *

                                            The attribute used to group the findings for the insight. The grouping attribute + * identifies the type of item that the insight applies to. For example, if an insight is + * grouped by resource identifier, then the insight produces a list of resource + * identifiers.

                                            */ - Title?: string; + GroupByAttribute: string | undefined; +} - /** - *

                                            The reason provided for the most recent change in status for the control.

                                            - */ - DisabledReason?: string; +export namespace CreateInsightRequest { + export const filterSensitiveLog = (obj: CreateInsightRequest): any => ({ + ...obj, + }); +} +export interface CreateInsightResponse { /** - *

                                            The severity of findings generated from this security standard control.

                                            - *

                                            The finding severity is based on an assessment of how easy it would be to compromise AWS - * resources if the issue is detected.

                                            + *

                                            The ARN of the insight created.

                                            */ - SeverityRating?: SeverityRating | string; + InsightArn: string | undefined; +} - /** - *

                                            The date and time that the status of the security standard control was most recently - * updated.

                                            - */ - ControlStatusUpdatedAt?: Date; +export namespace CreateInsightResponse { + export const filterSensitiveLog = (obj: CreateInsightResponse): any => ({ + ...obj, + }); +} +export interface CreateMembersRequest { /** - *

                                            The ARN of the security standard control.

                                            + *

                                            The list of accounts to associate with the Security Hub master account. For each account, the + * list includes the account ID and the email address.

                                            */ - StandardsControlArn?: string; + AccountDetails?: AccountDetails[]; } -export namespace StandardsControl { - export const filterSensitiveLog = (obj: StandardsControl): any => ({ +export namespace CreateMembersRequest { + export const filterSensitiveLog = (obj: CreateMembersRequest): any => ({ ...obj, }); } -export interface DescribeStandardsControlsResponse { +/** + *

                                            Details about the account that was not processed.

                                            + */ +export interface Result { /** - *

                                            A list of security standards controls.

                                            + *

                                            An AWS account ID of the account that was not processed.

                                            */ - Controls?: StandardsControl[]; + AccountId?: string; /** - *

                                            The pagination token to use to request the next page of results.

                                            + *

                                            The reason that the account was not processed.

                                            */ - NextToken?: string; + ProcessingResult?: string; } -export namespace DescribeStandardsControlsResponse { - export const filterSensitiveLog = (obj: DescribeStandardsControlsResponse): any => ({ +export namespace Result { + export const filterSensitiveLog = (obj: Result): any => ({ ...obj, }); } -export interface DisableImportFindingsForProductRequest { +export interface CreateMembersResponse { /** - *

                                            The ARN of the integrated product to disable the integration for.

                                            + *

                                            The list of AWS accounts that were not processed. For each account, the list includes + * the account ID and the email address.

                                            */ - ProductSubscriptionArn: string | undefined; + UnprocessedAccounts?: Result[]; } -export namespace DisableImportFindingsForProductRequest { - export const filterSensitiveLog = (obj: DisableImportFindingsForProductRequest): any => ({ +export namespace CreateMembersResponse { + export const filterSensitiveLog = (obj: CreateMembersResponse): any => ({ ...obj, }); } -export interface DisableImportFindingsForProductResponse {} - -export namespace DisableImportFindingsForProductResponse { - export const filterSensitiveLog = (obj: DisableImportFindingsForProductResponse): any => ({ - ...obj, - }); +export interface DeclineInvitationsRequest { + /** + *

                                            The list of account IDs for the accounts from which to decline the invitations to + * Security Hub.

                                            + */ + AccountIds: string[] | undefined; } -export interface DisableSecurityHubRequest {} - -export namespace DisableSecurityHubRequest { - export const filterSensitiveLog = (obj: DisableSecurityHubRequest): any => ({ +export namespace DeclineInvitationsRequest { + export const filterSensitiveLog = (obj: DeclineInvitationsRequest): any => ({ ...obj, }); } -export interface DisableSecurityHubResponse {} - -export namespace DisableSecurityHubResponse { - export const filterSensitiveLog = (obj: DisableSecurityHubResponse): any => ({ - ...obj, - }); +export interface DeclineInvitationsResponse { + /** + *

                                            The list of AWS accounts that were not processed. For each account, the list includes + * the account ID and the email address.

                                            + */ + UnprocessedAccounts?: Result[]; } - -export interface DisassociateFromMasterAccountRequest {} - -export namespace DisassociateFromMasterAccountRequest { - export const filterSensitiveLog = (obj: DisassociateFromMasterAccountRequest): any => ({ + +export namespace DeclineInvitationsResponse { + export const filterSensitiveLog = (obj: DeclineInvitationsResponse): any => ({ ...obj, }); } -export interface DisassociateFromMasterAccountResponse {} +export interface DeleteActionTargetRequest { + /** + *

                                            The ARN of the custom action target to delete.

                                            + */ + ActionTargetArn: string | undefined; +} -export namespace DisassociateFromMasterAccountResponse { - export const filterSensitiveLog = (obj: DisassociateFromMasterAccountResponse): any => ({ +export namespace DeleteActionTargetRequest { + export const filterSensitiveLog = (obj: DeleteActionTargetRequest): any => ({ ...obj, }); } -export interface DisassociateMembersRequest { +export interface DeleteActionTargetResponse { /** - *

                                            The account IDs of the member accounts to disassociate from the master account.

                                            + *

                                            The ARN of the custom action target that was deleted.

                                            */ - AccountIds?: string[]; + ActionTargetArn: string | undefined; } -export namespace DisassociateMembersRequest { - export const filterSensitiveLog = (obj: DisassociateMembersRequest): any => ({ +export namespace DeleteActionTargetResponse { + export const filterSensitiveLog = (obj: DeleteActionTargetResponse): any => ({ ...obj, }); } -export interface DisassociateMembersResponse {} +export interface DeleteInsightRequest { + /** + *

                                            The ARN of the insight to delete.

                                            + */ + InsightArn: string | undefined; +} -export namespace DisassociateMembersResponse { - export const filterSensitiveLog = (obj: DisassociateMembersResponse): any => ({ +export namespace DeleteInsightRequest { + export const filterSensitiveLog = (obj: DeleteInsightRequest): any => ({ ...obj, }); } -export interface EnableImportFindingsForProductRequest { +export interface DeleteInsightResponse { /** - *

                                            The ARN of the product to enable the integration for.

                                            + *

                                            The ARN of the insight that was deleted.

                                            */ - ProductArn: string | undefined; + InsightArn: string | undefined; } -export namespace EnableImportFindingsForProductRequest { - export const filterSensitiveLog = (obj: EnableImportFindingsForProductRequest): any => ({ +export namespace DeleteInsightResponse { + export const filterSensitiveLog = (obj: DeleteInsightResponse): any => ({ ...obj, }); } -export interface EnableImportFindingsForProductResponse { +export interface DeleteInvitationsRequest { /** - *

                                            The ARN of your subscription to the product to enable integrations for.

                                            + *

                                            The list of the account IDs that sent the invitations to delete.

                                            */ - ProductSubscriptionArn?: string; + AccountIds: string[] | undefined; } -export namespace EnableImportFindingsForProductResponse { - export const filterSensitiveLog = (obj: EnableImportFindingsForProductResponse): any => ({ +export namespace DeleteInvitationsRequest { + export const filterSensitiveLog = (obj: DeleteInvitationsRequest): any => ({ ...obj, }); } -export interface EnableSecurityHubRequest { +export interface DeleteInvitationsResponse { /** - *

                                            The tags to add to the hub resource when you enable Security Hub.

                                            + *

                                            The list of AWS accounts for which the invitations were not deleted. For each account, + * the list includes the account ID and the email address.

                                            */ - Tags?: { [key: string]: string }; + UnprocessedAccounts?: Result[]; +} + +export namespace DeleteInvitationsResponse { + export const filterSensitiveLog = (obj: DeleteInvitationsResponse): any => ({ + ...obj, + }); +} +export interface DeleteMembersRequest { /** - *

                                            Whether to enable the security standards that Security Hub has designated as automatically - * enabled. If you do not provide a value for EnableDefaultStandards, it is set - * to true. To not enable the automatically enabled standards, set - * EnableDefaultStandards to false.

                                            + *

                                            The list of account IDs for the member accounts to delete.

                                            */ - EnableDefaultStandards?: boolean; + AccountIds?: string[]; } -export namespace EnableSecurityHubRequest { - export const filterSensitiveLog = (obj: EnableSecurityHubRequest): any => ({ +export namespace DeleteMembersRequest { + export const filterSensitiveLog = (obj: DeleteMembersRequest): any => ({ ...obj, }); } -export interface EnableSecurityHubResponse {} +export interface DeleteMembersResponse { + /** + *

                                            The list of AWS accounts that were not deleted. For each account, the list includes the + * account ID and the email address.

                                            + */ + UnprocessedAccounts?: Result[]; +} -export namespace EnableSecurityHubResponse { - export const filterSensitiveLog = (obj: EnableSecurityHubResponse): any => ({ +export namespace DeleteMembersResponse { + export const filterSensitiveLog = (obj: DeleteMembersResponse): any => ({ ...obj, }); } -export interface GetEnabledStandardsRequest { +export interface DescribeActionTargetsRequest { /** *

                                            The token that is required for pagination. On your first call to the - * GetEnabledStandards operation, set the value of this parameter to + * DescribeActionTargets operation, set the value of this parameter to * NULL.

                                            *

                                            For subsequent calls to the operation, to continue listing data, set the value of this * parameter to the value returned from the previous response.

                                            @@ -5672,28 +10198,29 @@ export interface GetEnabledStandardsRequest { NextToken?: string; /** - *

                                            The maximum number of results to return in the response.

                                            + *

                                            The maximum number of results to return.

                                            */ MaxResults?: number; /** - *

                                            The list of the standards subscription ARNs for the standards to retrieve.

                                            + *

                                            A list of custom action target ARNs for the custom action targets to retrieve.

                                            */ - StandardsSubscriptionArns?: string[]; + ActionTargetArns?: string[]; } -export namespace GetEnabledStandardsRequest { - export const filterSensitiveLog = (obj: GetEnabledStandardsRequest): any => ({ +export namespace DescribeActionTargetsRequest { + export const filterSensitiveLog = (obj: DescribeActionTargetsRequest): any => ({ ...obj, }); } -export interface GetEnabledStandardsResponse { +export interface DescribeActionTargetsResponse { /** - *

                                            The list of StandardsSubscriptions objects that include information about - * the enabled standards.

                                            + *

                                            A list of ActionTarget objects. Each object includes the ActionTargetArn, + * Description, and Name of a custom action target available in + * Security Hub.

                                            */ - StandardsSubscriptions?: StandardsSubscription[]; + ActionTargets: ActionTarget[] | undefined; /** *

                                            The pagination token to use to request the next page of results.

                                            @@ -5701,472 +10228,498 @@ export interface GetEnabledStandardsResponse { NextToken?: string; } -export namespace GetEnabledStandardsResponse { - export const filterSensitiveLog = (obj: GetEnabledStandardsResponse): any => ({ +export namespace DescribeActionTargetsResponse { + export const filterSensitiveLog = (obj: DescribeActionTargetsResponse): any => ({ ...obj, }); } -export enum SortOrder { - ASCENDING = "asc", - DESCENDING = "desc", -} - -/** - *

                                            A collection of finding attributes used to sort findings.

                                            - */ -export interface SortCriterion { - /** - *

                                            The finding attribute used to sort findings.

                                            - */ - Field?: string; - +export interface DescribeHubRequest { /** - *

                                            The order used to sort findings.

                                            + *

                                            The ARN of the Hub resource to retrieve.

                                            */ - SortOrder?: SortOrder | string; + HubArn?: string; } -export namespace SortCriterion { - export const filterSensitiveLog = (obj: SortCriterion): any => ({ +export namespace DescribeHubRequest { + export const filterSensitiveLog = (obj: DescribeHubRequest): any => ({ ...obj, }); } -export interface GetFindingsRequest { +export interface DescribeHubResponse { /** - *

                                            The finding attributes used to define a condition to filter the returned - * findings.

                                            - *

                                            Note that in the available filter fields, WorkflowState is deprecated. To - * search for a finding based on its workflow status, use WorkflowStatus.

                                            + *

                                            Whether to automatically enable new controls when they are added to standards that are + * enabled.

                                            + *

                                            If set to true, then new controls for enabled standards are enabled + * automatically. If set to false, then new controls are not enabled.

                                            */ - Filters?: AwsSecurityFindingFilters; + AutoEnableControls?: boolean; /** - *

                                            The finding attributes used to sort the list of returned findings.

                                            + *

                                            The ARN of the Hub resource that was retrieved.

                                            */ - SortCriteria?: SortCriterion[]; + HubArn?: string; /** - *

                                            The maximum number of findings to return.

                                            + *

                                            The date and time when Security Hub was enabled in the account.

                                            + */ + SubscribedAt?: string; +} + +export namespace DescribeHubResponse { + export const filterSensitiveLog = (obj: DescribeHubResponse): any => ({ + ...obj, + }); +} + +export interface DescribeProductsRequest { + /** + *

                                            The maximum number of results to return.

                                            */ MaxResults?: number; /** *

                                            The token that is required for pagination. On your first call to the - * GetFindings operation, set the value of this parameter to - * NULL.

                                            + * DescribeProducts operation, set the value of this parameter to + * NULL.

                                            *

                                            For subsequent calls to the operation, to continue listing data, set the value of this * parameter to the value returned from the previous response.

                                            */ NextToken?: string; } -export namespace GetFindingsRequest { - export const filterSensitiveLog = (obj: GetFindingsRequest): any => ({ +export namespace DescribeProductsRequest { + export const filterSensitiveLog = (obj: DescribeProductsRequest): any => ({ ...obj, }); } -export interface GetFindingsResponse { +export enum IntegrationType { + RECEIVE_FINDINGS_FROM_SECURITY_HUB = "RECEIVE_FINDINGS_FROM_SECURITY_HUB", + SEND_FINDINGS_TO_SECURITY_HUB = "SEND_FINDINGS_TO_SECURITY_HUB", +} + +/** + *

                                            Contains details about a product.

                                            + */ +export interface Product { /** - *

                                            The pagination token to use to request the next page of results.

                                            + *

                                            A description of the product.

                                            */ - NextToken?: string; + Description?: string; /** - *

                                            The findings that matched the filters specified in the request.

                                            + *

                                            The types of integration that the product supports. Available values are the + * following.

                                            + *
                                              + *
                                            • + *

                                              + * SEND_FINDINGS_TO_SECURITY_HUB - Indicates that the integration sends + * findings to Security Hub.

                                              + *
                                            • + *
                                            • + *

                                              + * RECEIVE_FINDINGS_FROM_SECURITY_HUB - Indicates that the integration + * receives findings from Security Hub.

                                              + *
                                            • + *
                                            */ - Findings: AwsSecurityFinding[] | undefined; + IntegrationTypes?: (IntegrationType | string)[]; + + /** + *

                                            The resource policy associated with the product.

                                            + */ + ProductSubscriptionResourcePolicy?: string; + + /** + *

                                            The URL for the page that contains more information about the product.

                                            + */ + MarketplaceUrl?: string; + + /** + *

                                            The name of the product.

                                            + */ + ProductName?: string; + + /** + *

                                            The categories assigned to the product.

                                            + */ + Categories?: string[]; + + /** + *

                                            The URL used to activate the product.

                                            + */ + ActivationUrl?: string; + + /** + *

                                            The ARN assigned to the product.

                                            + */ + ProductArn: string | undefined; + + /** + *

                                            The name of the company that provides the product.

                                            + */ + CompanyName?: string; } -export namespace GetFindingsResponse { - export const filterSensitiveLog = (obj: GetFindingsResponse): any => ({ +export namespace Product { + export const filterSensitiveLog = (obj: Product): any => ({ ...obj, }); } -export interface GetInsightResultsRequest { +export interface DescribeProductsResponse { + /** + *

                                            A list of products, including details for each product.

                                            + */ + Products: Product[] | undefined; + /** - *

                                            The ARN of the insight for which to return results.

                                            + *

                                            The pagination token to use to request the next page of results.

                                            */ - InsightArn: string | undefined; + NextToken?: string; } -export namespace GetInsightResultsRequest { - export const filterSensitiveLog = (obj: GetInsightResultsRequest): any => ({ +export namespace DescribeProductsResponse { + export const filterSensitiveLog = (obj: DescribeProductsResponse): any => ({ ...obj, }); } -/** - *

                                            The insight result values returned by the GetInsightResults - * operation.

                                            - */ -export interface InsightResultValue { +export interface DescribeStandardsRequest { /** - *

                                            The value of the attribute that the findings are grouped by for the insight whose - * results are returned by the GetInsightResults operation.

                                            + *

                                            The token that is required for pagination. On your first call to the + * DescribeStandards operation, set the value of this parameter to + * NULL.

                                            + *

                                            For subsequent calls to the operation, to continue listing data, set the value of this + * parameter to the value returned from the previous response.

                                            */ - GroupByAttributeValue: string | undefined; + NextToken?: string; /** - *

                                            The number of findings returned for each GroupByAttributeValue.

                                            + *

                                            The maximum number of standards to return.

                                            */ - Count: number | undefined; + MaxResults?: number; } -export namespace InsightResultValue { - export const filterSensitiveLog = (obj: InsightResultValue): any => ({ +export namespace DescribeStandardsRequest { + export const filterSensitiveLog = (obj: DescribeStandardsRequest): any => ({ ...obj, }); } /** - *

                                            The insight results returned by the GetInsightResults operation.

                                            + *

                                            Provides information about a specific standard.

                                            */ -export interface InsightResults { +export interface Standard { /** - *

                                            The ARN of the insight whose results are returned by the GetInsightResults - * operation.

                                            + *

                                            The ARN of a standard.

                                            */ - InsightArn: string | undefined; + StandardsArn?: string; /** - *

                                            The list of insight result values returned by the GetInsightResults - * operation.

                                            + *

                                            A description of the standard.

                                            */ - ResultValues: InsightResultValue[] | undefined; + Description?: string; /** - *

                                            The attribute that the findings are grouped by for the insight whose results are - * returned by the GetInsightResults operation.

                                            + *

                                            The name of the standard.

                                            */ - GroupByAttribute: string | undefined; + Name?: string; + + /** + *

                                            Whether the standard is enabled by default. When Security Hub is enabled from the console, if a + * standard is enabled by default, the check box for that standard is selected by + * default.

                                            + *

                                            When Security Hub is enabled using the EnableSecurityHub API operation, the + * standard is enabled by default unless EnableDefaultStandards is set to + * false.

                                            + */ + EnabledByDefault?: boolean; } -export namespace InsightResults { - export const filterSensitiveLog = (obj: InsightResults): any => ({ +export namespace Standard { + export const filterSensitiveLog = (obj: Standard): any => ({ ...obj, }); } -export interface GetInsightResultsResponse { +export interface DescribeStandardsResponse { /** - *

                                            The insight results returned by the operation.

                                            + *

                                            The pagination token to use to request the next page of results.

                                            */ - InsightResults: InsightResults | undefined; + NextToken?: string; + + /** + *

                                            A list of available standards.

                                            + */ + Standards?: Standard[]; } -export namespace GetInsightResultsResponse { - export const filterSensitiveLog = (obj: GetInsightResultsResponse): any => ({ +export namespace DescribeStandardsResponse { + export const filterSensitiveLog = (obj: DescribeStandardsResponse): any => ({ ...obj, }); } -export interface GetInsightsRequest { +export interface DescribeStandardsControlsRequest { /** - *

                                            The ARNs of the insights to describe. If you do not provide any insight ARNs, then - * GetInsights returns all of your custom insights. It does not return any - * managed insights.

                                            + *

                                            The ARN of a resource that represents your subscription to a supported standard.

                                            */ - InsightArns?: string[]; + StandardsSubscriptionArn: string | undefined; /** - *

                                            The maximum number of items to return in the response.

                                            + *

                                            The maximum number of security standard controls to return.

                                            */ MaxResults?: number; /** *

                                            The token that is required for pagination. On your first call to the - * GetInsights operation, set the value of this parameter to - * NULL.

                                            + * DescribeStandardsControls operation, set the value of this parameter to + * NULL.

                                            *

                                            For subsequent calls to the operation, to continue listing data, set the value of this * parameter to the value returned from the previous response.

                                            */ NextToken?: string; } -export namespace GetInsightsRequest { - export const filterSensitiveLog = (obj: GetInsightsRequest): any => ({ +export namespace DescribeStandardsControlsRequest { + export const filterSensitiveLog = (obj: DescribeStandardsControlsRequest): any => ({ ...obj, }); } +export enum SeverityRating { + CRITICAL = "CRITICAL", + HIGH = "HIGH", + LOW = "LOW", + MEDIUM = "MEDIUM", +} + /** - *

                                            Contains information about a Security Hub insight.

                                            + *

                                            Details for an individual security standard control.

                                            */ -export interface Insight { +export interface StandardsControl { /** - *

                                            The name of a Security Hub insight.

                                            + *

                                            A link to remediation information for the control in the Security Hub user + * documentation.

                                            */ - Name: string | undefined; + RemediationUrl?: string; /** - *

                                            The ARN of a Security Hub insight.

                                            + *

                                            The ARN of the security standard control.

                                            */ - InsightArn: string | undefined; + StandardsControlArn?: string; /** - *

                                            One or more attributes used to filter the findings included in the insight. The insight - * only includes findings that match the criteria defined in the filters.

                                            + *

                                            The date and time that the status of the security standard control was most recently + * updated.

                                            */ - Filters: AwsSecurityFindingFilters | undefined; + ControlStatusUpdatedAt?: Date; /** - *

                                            The grouping attribute for the insight's findings. Indicates how to group the matching - * findings, and identifies the type of item that the insight applies to. For example, if an - * insight is grouped by resource identifier, then the insight produces a list of resource - * identifiers.

                                            + *

                                            The list of requirements that are related to this control.

                                            */ - GroupByAttribute: string | undefined; -} - -export namespace Insight { - export const filterSensitiveLog = (obj: Insight): any => ({ - ...obj, - }); -} + RelatedRequirements?: string[]; -export interface GetInsightsResponse { /** - *

                                            The pagination token to use to request the next page of results.

                                            + *

                                            The title of the security standard control.

                                            */ - NextToken?: string; + Title?: string; /** - *

                                            The insights returned by the operation.

                                            + *

                                            The reason provided for the most recent change in status for the control.

                                            */ - Insights: Insight[] | undefined; -} - -export namespace GetInsightsResponse { - export const filterSensitiveLog = (obj: GetInsightsResponse): any => ({ - ...obj, - }); -} + DisabledReason?: string; -export interface GetInvitationsCountRequest {} + /** + *

                                            The identifier of the security standard control.

                                            + */ + ControlId?: string; -export namespace GetInvitationsCountRequest { - export const filterSensitiveLog = (obj: GetInvitationsCountRequest): any => ({ - ...obj, - }); -} + /** + *

                                            The severity of findings generated from this security standard control.

                                            + *

                                            The finding severity is based on an assessment of how easy it would be to compromise AWS + * resources if the issue is detected.

                                            + */ + SeverityRating?: SeverityRating | string; -export interface GetInvitationsCountResponse { /** - *

                                            The number of all membership invitations sent to this Security Hub member account, not - * including the currently accepted invitation.

                                            + *

                                            The longer description of the security standard control. Provides information about what + * the control is checking for.

                                            */ - InvitationsCount?: number; -} + Description?: string; -export namespace GetInvitationsCountResponse { - export const filterSensitiveLog = (obj: GetInvitationsCountResponse): any => ({ - ...obj, - }); + /** + *

                                            The current status of the security standard control. Indicates whether the control is + * enabled or disabled. Security Hub does not check against disabled controls.

                                            + */ + ControlStatus?: ControlStatus | string; } -export interface GetMasterAccountRequest {} - -export namespace GetMasterAccountRequest { - export const filterSensitiveLog = (obj: GetMasterAccountRequest): any => ({ +export namespace StandardsControl { + export const filterSensitiveLog = (obj: StandardsControl): any => ({ ...obj, }); } -/** - *

                                            Details about an invitation.

                                            - */ -export interface Invitation { - /** - *

                                            The account ID of the Security Hub master account that the invitation was sent from.

                                            - */ - AccountId?: string; - - /** - *

                                            The current status of the association between the member and master accounts.

                                            - */ - MemberStatus?: string; - +export interface DescribeStandardsControlsResponse { /** - *

                                            The ID of the invitation sent to the member account.

                                            + *

                                            A list of security standards controls.

                                            */ - InvitationId?: string; + Controls?: StandardsControl[]; /** - *

                                            The timestamp of when the invitation was sent.

                                            + *

                                            The pagination token to use to request the next page of results.

                                            */ - InvitedAt?: Date; + NextToken?: string; } -export namespace Invitation { - export const filterSensitiveLog = (obj: Invitation): any => ({ +export namespace DescribeStandardsControlsResponse { + export const filterSensitiveLog = (obj: DescribeStandardsControlsResponse): any => ({ ...obj, }); } -export interface GetMasterAccountResponse { +export interface DisableImportFindingsForProductRequest { /** - *

                                            A list of details about the Security Hub master account for the current member account. - *

                                            + *

                                            The ARN of the integrated product to disable the integration for.

                                            */ - Master?: Invitation; + ProductSubscriptionArn: string | undefined; } -export namespace GetMasterAccountResponse { - export const filterSensitiveLog = (obj: GetMasterAccountResponse): any => ({ +export namespace DisableImportFindingsForProductRequest { + export const filterSensitiveLog = (obj: DisableImportFindingsForProductRequest): any => ({ ...obj, }); } -export interface GetMembersRequest { - /** - *

                                            The list of account IDs for the Security Hub member accounts to return the details for.

                                            - */ - AccountIds: string[] | undefined; +export interface DisableImportFindingsForProductResponse {} + +export namespace DisableImportFindingsForProductResponse { + export const filterSensitiveLog = (obj: DisableImportFindingsForProductResponse): any => ({ + ...obj, + }); } -export namespace GetMembersRequest { - export const filterSensitiveLog = (obj: GetMembersRequest): any => ({ +export interface DisableSecurityHubRequest {} + +export namespace DisableSecurityHubRequest { + export const filterSensitiveLog = (obj: DisableSecurityHubRequest): any => ({ ...obj, }); } -/** - *

                                            The details about a member account.

                                            - */ -export interface Member { - /** - *

                                            The AWS account ID of the Security Hub master account associated with this member account.

                                            - */ - MasterId?: string; +export interface DisableSecurityHubResponse {} - /** - *

                                            A timestamp for the date and time when the invitation was sent to the member - * account.

                                            - */ - InvitedAt?: Date; +export namespace DisableSecurityHubResponse { + export const filterSensitiveLog = (obj: DisableSecurityHubResponse): any => ({ + ...obj, + }); +} - /** - *

                                            The status of the relationship between the member account and its master account. - *

                                            - */ - MemberStatus?: string; +export interface DisassociateFromMasterAccountRequest {} - /** - *

                                            The timestamp for the date and time when the member account was updated.

                                            - */ - UpdatedAt?: Date; +export namespace DisassociateFromMasterAccountRequest { + export const filterSensitiveLog = (obj: DisassociateFromMasterAccountRequest): any => ({ + ...obj, + }); +} - /** - *

                                            The email address of the member account.

                                            - */ - Email?: string; +export interface DisassociateFromMasterAccountResponse {} + +export namespace DisassociateFromMasterAccountResponse { + export const filterSensitiveLog = (obj: DisassociateFromMasterAccountResponse): any => ({ + ...obj, + }); +} +export interface DisassociateMembersRequest { /** - *

                                            The AWS account ID of the member account.

                                            + *

                                            The account IDs of the member accounts to disassociate from the master account.

                                            */ - AccountId?: string; + AccountIds?: string[]; } -export namespace Member { - export const filterSensitiveLog = (obj: Member): any => ({ +export namespace DisassociateMembersRequest { + export const filterSensitiveLog = (obj: DisassociateMembersRequest): any => ({ ...obj, }); } -export interface GetMembersResponse { - /** - *

                                            The list of details about the Security Hub member accounts.

                                            - */ - Members?: Member[]; - - /** - *

                                            The list of AWS accounts that could not be processed. For each account, the list - * includes the account ID and the email address.

                                            - */ - UnprocessedAccounts?: Result[]; -} +export interface DisassociateMembersResponse {} -export namespace GetMembersResponse { - export const filterSensitiveLog = (obj: GetMembersResponse): any => ({ +export namespace DisassociateMembersResponse { + export const filterSensitiveLog = (obj: DisassociateMembersResponse): any => ({ ...obj, }); } -export interface InviteMembersRequest { +export interface EnableImportFindingsForProductRequest { /** - *

                                            The list of account IDs of the AWS accounts to invite to Security Hub as members.

                                            + *

                                            The ARN of the product to enable the integration for.

                                            */ - AccountIds?: string[]; + ProductArn: string | undefined; } -export namespace InviteMembersRequest { - export const filterSensitiveLog = (obj: InviteMembersRequest): any => ({ +export namespace EnableImportFindingsForProductRequest { + export const filterSensitiveLog = (obj: EnableImportFindingsForProductRequest): any => ({ ...obj, }); } -export interface InviteMembersResponse { +export interface EnableImportFindingsForProductResponse { /** - *

                                            The list of AWS accounts that could not be processed. For each account, the list - * includes the account ID and the email address.

                                            + *

                                            The ARN of your subscription to the product to enable integrations for.

                                            */ - UnprocessedAccounts?: Result[]; + ProductSubscriptionArn?: string; } -export namespace InviteMembersResponse { - export const filterSensitiveLog = (obj: InviteMembersResponse): any => ({ +export namespace EnableImportFindingsForProductResponse { + export const filterSensitiveLog = (obj: EnableImportFindingsForProductResponse): any => ({ ...obj, }); } -export interface ListEnabledProductsForImportRequest { +export interface EnableSecurityHubRequest { /** - *

                                            The token that is required for pagination. On your first call to the - * ListEnabledProductsForImport operation, set the value of this parameter to - * NULL.

                                            - *

                                            For subsequent calls to the operation, to continue listing data, set the value of this - * parameter to the value returned from the previous response.

                                            + *

                                            Whether to enable the security standards that Security Hub has designated as automatically + * enabled. If you do not provide a value for EnableDefaultStandards, it is set + * to true. To not enable the automatically enabled standards, set + * EnableDefaultStandards to false.

                                            */ - NextToken?: string; + EnableDefaultStandards?: boolean; /** - *

                                            The maximum number of items to return in the response.

                                            + *

                                            The tags to add to the hub resource when you enable Security Hub.

                                            */ - MaxResults?: number; + Tags?: { [key: string]: string }; } -export namespace ListEnabledProductsForImportRequest { - export const filterSensitiveLog = (obj: ListEnabledProductsForImportRequest): any => ({ +export namespace EnableSecurityHubRequest { + export const filterSensitiveLog = (obj: EnableSecurityHubRequest): any => ({ ...obj, }); } -export interface ListEnabledProductsForImportResponse { - /** - *

                                            The list of ARNs for the resources that represent your subscriptions to products.

                                            - */ - ProductSubscriptions?: string[]; - - /** - *

                                            The pagination token to use to request the next page of results.

                                            - */ - NextToken?: string; -} +export interface EnableSecurityHubResponse {} -export namespace ListEnabledProductsForImportResponse { - export const filterSensitiveLog = (obj: ListEnabledProductsForImportResponse): any => ({ +export namespace EnableSecurityHubResponse { + export const filterSensitiveLog = (obj: EnableSecurityHubResponse): any => ({ ...obj, }); } -export interface ListInvitationsRequest { +export interface GetEnabledStandardsRequest { + /** + *

                                            The list of the standards subscription ARNs for the standards to retrieve.

                                            + */ + StandardsSubscriptionArns?: string[]; + /** *

                                            The token that is required for pagination. On your first call to the - * ListInvitations operation, set the value of this parameter to + * GetEnabledStandards operation, set the value of this parameter to * NULL.

                                            *

                                            For subsequent calls to the operation, to continue listing data, set the value of this * parameter to the value returned from the previous response.

                                            @@ -6174,315 +10727,273 @@ export interface ListInvitationsRequest { NextToken?: string; /** - *

                                            The maximum number of items to return in the response.

                                            + *

                                            The maximum number of results to return in the response.

                                            */ MaxResults?: number; } -export namespace ListInvitationsRequest { - export const filterSensitiveLog = (obj: ListInvitationsRequest): any => ({ +export namespace GetEnabledStandardsRequest { + export const filterSensitiveLog = (obj: GetEnabledStandardsRequest): any => ({ ...obj, }); } -export interface ListInvitationsResponse { +export interface GetEnabledStandardsResponse { /** *

                                            The pagination token to use to request the next page of results.

                                            */ NextToken?: string; /** - *

                                            The details of the invitations returned by the operation.

                                            + *

                                            The list of StandardsSubscriptions objects that include information about + * the enabled standards.

                                            */ - Invitations?: Invitation[]; + StandardsSubscriptions?: StandardsSubscription[]; } -export namespace ListInvitationsResponse { - export const filterSensitiveLog = (obj: ListInvitationsResponse): any => ({ +export namespace GetEnabledStandardsResponse { + export const filterSensitiveLog = (obj: GetEnabledStandardsResponse): any => ({ ...obj, }); } -export interface ListMembersRequest { - /** - *

                                            Specifies which member accounts to include in the response based on their relationship - * status with the master account. The default value is TRUE.

                                            - *

                                            If OnlyAssociated is set to TRUE, the response includes member - * accounts whose relationship status with the master is set to ENABLED or - * DISABLED.

                                            - *

                                            If OnlyAssociated is set to FALSE, the response includes all - * existing member accounts.

                                            - */ - OnlyAssociated?: boolean; +export enum SortOrder { + ASCENDING = "asc", + DESCENDING = "desc", +} +/** + *

                                            A collection of finding attributes used to sort findings.

                                            + */ +export interface SortCriterion { /** - *

                                            The token that is required for pagination. On your first call to the - * ListMembers operation, set the value of this parameter to - * NULL.

                                            - *

                                            For subsequent calls to the operation, to continue listing data, set the value of this - * parameter to the value returned from the previous response.

                                            + *

                                            The order used to sort findings.

                                            */ - NextToken?: string; + SortOrder?: SortOrder | string; /** - *

                                            The maximum number of items to return in the response.

                                            + *

                                            The finding attribute used to sort findings.

                                            */ - MaxResults?: number; + Field?: string; } -export namespace ListMembersRequest { - export const filterSensitiveLog = (obj: ListMembersRequest): any => ({ +export namespace SortCriterion { + export const filterSensitiveLog = (obj: SortCriterion): any => ({ ...obj, }); } -export interface ListMembersResponse { +export interface GetFindingsRequest { /** - *

                                            Member details returned by the operation.

                                            + *

                                            The finding attributes used to define a condition to filter the returned + * findings.

                                            + *

                                            You can filter by up to 10 finding attributes. For each attribute, you can provide up to + * 20 filter values.

                                            + *

                                            Note that in the available filter fields, WorkflowState is deprecated. To + * search for a finding based on its workflow status, use WorkflowStatus.

                                            */ - Members?: Member[]; + Filters?: AwsSecurityFindingFilters; /** - *

                                            The pagination token to use to request the next page of results.

                                            + *

                                            The token that is required for pagination. On your first call to the + * GetFindings operation, set the value of this parameter to + * NULL.

                                            + *

                                            For subsequent calls to the operation, to continue listing data, set the value of this + * parameter to the value returned from the previous response.

                                            */ NextToken?: string; -} - -export namespace ListMembersResponse { - export const filterSensitiveLog = (obj: ListMembersResponse): any => ({ - ...obj, - }); -} -export interface ListTagsForResourceRequest { /** - *

                                            The ARN of the resource to retrieve tags for.

                                            + *

                                            The maximum number of findings to return.

                                            */ - ResourceArn: string | undefined; -} - -export namespace ListTagsForResourceRequest { - export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface ListTagsForResourceResponse { /** - *

                                            The tags associated with a resource.

                                            + *

                                            The finding attributes used to sort the list of returned findings.

                                            */ - Tags?: { [key: string]: string }; + SortCriteria?: SortCriterion[]; } -export namespace ListTagsForResourceResponse { - export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ +export namespace GetFindingsRequest { + export const filterSensitiveLog = (obj: GetFindingsRequest): any => ({ ...obj, }); } -export interface TagResourceRequest { +export interface GetFindingsResponse { /** - *

                                            The ARN of the resource to apply the tags to.

                                            + *

                                            The findings that matched the filters specified in the request.

                                            */ - ResourceArn: string | undefined; + Findings: AwsSecurityFinding[] | undefined; /** - *

                                            The tags to add to the resource.

                                            + *

                                            The pagination token to use to request the next page of results.

                                            */ - Tags: { [key: string]: string } | undefined; + NextToken?: string; } -export namespace TagResourceRequest { - export const filterSensitiveLog = (obj: TagResourceRequest): any => ({ +export namespace GetFindingsResponse { + export const filterSensitiveLog = (obj: GetFindingsResponse): any => ({ ...obj, }); } -export interface TagResourceResponse {} +export interface GetInsightResultsRequest { + /** + *

                                            The ARN of the insight for which to return results.

                                            + */ + InsightArn: string | undefined; +} -export namespace TagResourceResponse { - export const filterSensitiveLog = (obj: TagResourceResponse): any => ({ +export namespace GetInsightResultsRequest { + export const filterSensitiveLog = (obj: GetInsightResultsRequest): any => ({ ...obj, }); } -export interface UntagResourceRequest { +/** + *

                                            The insight result values returned by the GetInsightResults + * operation.

                                            + */ +export interface InsightResultValue { /** - *

                                            The tag keys associated with the tags to remove from the resource.

                                            + *

                                            The value of the attribute that the findings are grouped by for the insight whose + * results are returned by the GetInsightResults operation.

                                            */ - TagKeys: string[] | undefined; + GroupByAttributeValue: string | undefined; /** - *

                                            The ARN of the resource to remove the tags from.

                                            + *

                                            The number of findings returned for each GroupByAttributeValue.

                                            */ - ResourceArn: string | undefined; -} - -export namespace UntagResourceRequest { - export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({ - ...obj, - }); + Count: number | undefined; } -export interface UntagResourceResponse {} - -export namespace UntagResourceResponse { - export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({ +export namespace InsightResultValue { + export const filterSensitiveLog = (obj: InsightResultValue): any => ({ ...obj, }); } -export interface UpdateActionTargetRequest { +/** + *

                                            The insight results returned by the GetInsightResults operation.

                                            + */ +export interface InsightResults { /** - *

                                            The ARN of the custom action target to update.

                                            + *

                                            The ARN of the insight whose results are returned by the GetInsightResults + * operation.

                                            */ - ActionTargetArn: string | undefined; + InsightArn: string | undefined; /** - *

                                            The updated description for the custom action target.

                                            + *

                                            The list of insight result values returned by the GetInsightResults + * operation.

                                            */ - Description?: string; + ResultValues: InsightResultValue[] | undefined; /** - *

                                            The updated name of the custom action target.

                                            + *

                                            The attribute that the findings are grouped by for the insight whose results are + * returned by the GetInsightResults operation.

                                            */ - Name?: string; + GroupByAttribute: string | undefined; } -export namespace UpdateActionTargetRequest { - export const filterSensitiveLog = (obj: UpdateActionTargetRequest): any => ({ +export namespace InsightResults { + export const filterSensitiveLog = (obj: InsightResults): any => ({ ...obj, }); } -export interface UpdateActionTargetResponse {} +export interface GetInsightResultsResponse { + /** + *

                                            The insight results returned by the operation.

                                            + */ + InsightResults: InsightResults | undefined; +} -export namespace UpdateActionTargetResponse { - export const filterSensitiveLog = (obj: UpdateActionTargetResponse): any => ({ +export namespace GetInsightResultsResponse { + export const filterSensitiveLog = (obj: GetInsightResultsResponse): any => ({ ...obj, }); } -export interface UpdateFindingsRequest { +export interface GetInsightsRequest { /** - *

                                            The updated record state for the finding.

                                            + *

                                            The maximum number of items to return in the response.

                                            */ - RecordState?: RecordState | string; + MaxResults?: number; /** - *

                                            The updated note for the finding.

                                            + *

                                            The token that is required for pagination. On your first call to the + * GetInsights operation, set the value of this parameter to + * NULL.

                                            + *

                                            For subsequent calls to the operation, to continue listing data, set the value of this + * parameter to the value returned from the previous response.

                                            */ - Note?: NoteUpdate; + NextToken?: string; /** - *

                                            A collection of attributes that specify which findings you want to update.

                                            + *

                                            The ARNs of the insights to describe. If you do not provide any insight ARNs, then + * GetInsights returns all of your custom insights. It does not return any + * managed insights.

                                            */ - Filters: AwsSecurityFindingFilters | undefined; -} - -export namespace UpdateFindingsRequest { - export const filterSensitiveLog = (obj: UpdateFindingsRequest): any => ({ - ...obj, - }); + InsightArns?: string[]; } -export interface UpdateFindingsResponse {} - -export namespace UpdateFindingsResponse { - export const filterSensitiveLog = (obj: UpdateFindingsResponse): any => ({ +export namespace GetInsightsRequest { + export const filterSensitiveLog = (obj: GetInsightsRequest): any => ({ ...obj, }); } -export interface UpdateInsightRequest { - /** - *

                                            The updated GroupBy attribute that defines this insight.

                                            - */ - GroupByAttribute?: string; - +/** + *

                                            Contains information about a Security Hub insight.

                                            + */ +export interface Insight { /** - *

                                            The ARN of the insight that you want to update.

                                            + *

                                            The ARN of a Security Hub insight.

                                            */ InsightArn: string | undefined; /** - *

                                            The updated name for the insight.

                                            + *

                                            The name of a Security Hub insight.

                                            */ - Name?: string; + Name: string | undefined; /** - *

                                            The updated filters that define this insight.

                                            + *

                                            The grouping attribute for the insight's findings. Indicates how to group the matching + * findings, and identifies the type of item that the insight applies to. For example, if an + * insight is grouped by resource identifier, then the insight produces a list of resource + * identifiers.

                                            */ - Filters?: AwsSecurityFindingFilters; -} - -export namespace UpdateInsightRequest { - export const filterSensitiveLog = (obj: UpdateInsightRequest): any => ({ - ...obj, - }); -} - -export interface UpdateInsightResponse {} - -export namespace UpdateInsightResponse { - export const filterSensitiveLog = (obj: UpdateInsightResponse): any => ({ - ...obj, - }); -} + GroupByAttribute: string | undefined; -export interface UpdateSecurityHubConfigurationRequest { /** - *

                                            Whether to automatically enable new controls when they are added to standards that are - * enabled.

                                            - *

                                            By default, this is set to true, and new controls are enabled - * automatically. To not automatically enable new controls, set this to false. - *

                                            + *

                                            One or more attributes used to filter the findings included in the insight. The insight + * only includes findings that match the criteria defined in the filters.

                                            */ - AutoEnableControls?: boolean; -} - -export namespace UpdateSecurityHubConfigurationRequest { - export const filterSensitiveLog = (obj: UpdateSecurityHubConfigurationRequest): any => ({ - ...obj, - }); + Filters: AwsSecurityFindingFilters | undefined; } -export interface UpdateSecurityHubConfigurationResponse {} - -export namespace UpdateSecurityHubConfigurationResponse { - export const filterSensitiveLog = (obj: UpdateSecurityHubConfigurationResponse): any => ({ +export namespace Insight { + export const filterSensitiveLog = (obj: Insight): any => ({ ...obj, }); } -export interface UpdateStandardsControlRequest { - /** - *

                                            The updated status of the security standard control.

                                            - */ - ControlStatus?: ControlStatus | string; - +export interface GetInsightsResponse { /** - *

                                            A description of the reason why you are disabling a security standard control. If you - * are disabling a control, then this is required.

                                            + *

                                            The insights returned by the operation.

                                            */ - DisabledReason?: string; + Insights: Insight[] | undefined; /** - *

                                            The ARN of the security standard control to enable or disable.

                                            + *

                                            The pagination token to use to request the next page of results.

                                            */ - StandardsControlArn: string | undefined; -} - -export namespace UpdateStandardsControlRequest { - export const filterSensitiveLog = (obj: UpdateStandardsControlRequest): any => ({ - ...obj, - }); + NextToken?: string; } -export interface UpdateStandardsControlResponse {} - -export namespace UpdateStandardsControlResponse { - export const filterSensitiveLog = (obj: UpdateStandardsControlResponse): any => ({ +export namespace GetInsightsResponse { + export const filterSensitiveLog = (obj: GetInsightsResponse): any => ({ ...obj, }); } diff --git a/clients/client-securityhub/models/models_1.ts b/clients/client-securityhub/models/models_1.ts new file mode 100644 index 000000000000..3419e1f52dec --- /dev/null +++ b/clients/client-securityhub/models/models_1.ts @@ -0,0 +1,576 @@ +import { AwsSecurityFindingFilters, ControlStatus, NoteUpdate, RecordState, Result } from "./models_0"; +import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; + +export interface GetInvitationsCountRequest {} + +export namespace GetInvitationsCountRequest { + export const filterSensitiveLog = (obj: GetInvitationsCountRequest): any => ({ + ...obj, + }); +} + +export interface GetInvitationsCountResponse { + /** + *

                                            The number of all membership invitations sent to this Security Hub member account, not + * including the currently accepted invitation.

                                            + */ + InvitationsCount?: number; +} + +export namespace GetInvitationsCountResponse { + export const filterSensitiveLog = (obj: GetInvitationsCountResponse): any => ({ + ...obj, + }); +} + +export interface GetMasterAccountRequest {} + +export namespace GetMasterAccountRequest { + export const filterSensitiveLog = (obj: GetMasterAccountRequest): any => ({ + ...obj, + }); +} + +/** + *

                                            Details about an invitation.

                                            + */ +export interface Invitation { + /** + *

                                            The timestamp of when the invitation was sent.

                                            + */ + InvitedAt?: Date; + + /** + *

                                            The current status of the association between the member and master accounts.

                                            + */ + MemberStatus?: string; + + /** + *

                                            The ID of the invitation sent to the member account.

                                            + */ + InvitationId?: string; + + /** + *

                                            The account ID of the Security Hub master account that the invitation was sent from.

                                            + */ + AccountId?: string; +} + +export namespace Invitation { + export const filterSensitiveLog = (obj: Invitation): any => ({ + ...obj, + }); +} + +export interface GetMasterAccountResponse { + /** + *

                                            A list of details about the Security Hub master account for the current member account. + *

                                            + */ + Master?: Invitation; +} + +export namespace GetMasterAccountResponse { + export const filterSensitiveLog = (obj: GetMasterAccountResponse): any => ({ + ...obj, + }); +} + +export interface GetMembersRequest { + /** + *

                                            The list of account IDs for the Security Hub member accounts to return the details for.

                                            + */ + AccountIds: string[] | undefined; +} + +export namespace GetMembersRequest { + export const filterSensitiveLog = (obj: GetMembersRequest): any => ({ + ...obj, + }); +} + +/** + *

                                            The details about a member account.

                                            + */ +export interface Member { + /** + *

                                            The email address of the member account.

                                            + */ + Email?: string; + + /** + *

                                            The timestamp for the date and time when the member account was updated.

                                            + */ + UpdatedAt?: Date; + + /** + *

                                            A timestamp for the date and time when the invitation was sent to the member + * account.

                                            + */ + InvitedAt?: Date; + + /** + *

                                            The status of the relationship between the member account and its master account. + *

                                            + *

                                            The status can have one of the following values:

                                            + *
                                              + *
                                            • + *

                                              + * CREATED - Indicates that the master account added the member account, + * but has not yet invited the member account.

                                              + *
                                            • + *
                                            • + *

                                              + * INVITED - Indicates that the master account invited the member + * account. The member account has not yet responded to the invitation.

                                              + *
                                            • + *
                                            • + *

                                              + * ASSOCIATED - Indicates that the member account accepted the + * invitation.

                                              + *
                                            • + *
                                            • + *

                                              + * REMOVED - Indicates that the master account disassociated the member + * account.

                                              + *
                                            • + *
                                            • + *

                                              + * RESIGNED - Indicates that the member account disassociated themselves + * from the master account.

                                              + *
                                            • + *
                                            • + *

                                              + * DELETED - Indicates that the master account deleted the member + * account.

                                              + *
                                            • + *
                                            + */ + MemberStatus?: string; + + /** + *

                                            The AWS account ID of the Security Hub master account associated with this member account.

                                            + */ + MasterId?: string; + + /** + *

                                            The AWS account ID of the member account.

                                            + */ + AccountId?: string; +} + +export namespace Member { + export const filterSensitiveLog = (obj: Member): any => ({ + ...obj, + }); +} + +export interface GetMembersResponse { + /** + *

                                            The list of AWS accounts that could not be processed. For each account, the list + * includes the account ID and the email address.

                                            + */ + UnprocessedAccounts?: Result[]; + + /** + *

                                            The list of details about the Security Hub member accounts.

                                            + */ + Members?: Member[]; +} + +export namespace GetMembersResponse { + export const filterSensitiveLog = (obj: GetMembersResponse): any => ({ + ...obj, + }); +} + +export interface InviteMembersRequest { + /** + *

                                            The list of account IDs of the AWS accounts to invite to Security Hub as members.

                                            + */ + AccountIds?: string[]; +} + +export namespace InviteMembersRequest { + export const filterSensitiveLog = (obj: InviteMembersRequest): any => ({ + ...obj, + }); +} + +export interface InviteMembersResponse { + /** + *

                                            The list of AWS accounts that could not be processed. For each account, the list + * includes the account ID and the email address.

                                            + */ + UnprocessedAccounts?: Result[]; +} + +export namespace InviteMembersResponse { + export const filterSensitiveLog = (obj: InviteMembersResponse): any => ({ + ...obj, + }); +} + +export interface ListEnabledProductsForImportRequest { + /** + *

                                            The token that is required for pagination. On your first call to the + * ListEnabledProductsForImport operation, set the value of this parameter to + * NULL.

                                            + *

                                            For subsequent calls to the operation, to continue listing data, set the value of this + * parameter to the value returned from the previous response.

                                            + */ + NextToken?: string; + + /** + *

                                            The maximum number of items to return in the response.

                                            + */ + MaxResults?: number; +} + +export namespace ListEnabledProductsForImportRequest { + export const filterSensitiveLog = (obj: ListEnabledProductsForImportRequest): any => ({ + ...obj, + }); +} + +export interface ListEnabledProductsForImportResponse { + /** + *

                                            The list of ARNs for the resources that represent your subscriptions to products.

                                            + */ + ProductSubscriptions?: string[]; + + /** + *

                                            The pagination token to use to request the next page of results.

                                            + */ + NextToken?: string; +} + +export namespace ListEnabledProductsForImportResponse { + export const filterSensitiveLog = (obj: ListEnabledProductsForImportResponse): any => ({ + ...obj, + }); +} + +export interface ListInvitationsRequest { + /** + *

                                            The token that is required for pagination. On your first call to the + * ListInvitations operation, set the value of this parameter to + * NULL.

                                            + *

                                            For subsequent calls to the operation, to continue listing data, set the value of this + * parameter to the value returned from the previous response.

                                            + */ + NextToken?: string; + + /** + *

                                            The maximum number of items to return in the response.

                                            + */ + MaxResults?: number; +} + +export namespace ListInvitationsRequest { + export const filterSensitiveLog = (obj: ListInvitationsRequest): any => ({ + ...obj, + }); +} + +export interface ListInvitationsResponse { + /** + *

                                            The details of the invitations returned by the operation.

                                            + */ + Invitations?: Invitation[]; + + /** + *

                                            The pagination token to use to request the next page of results.

                                            + */ + NextToken?: string; +} + +export namespace ListInvitationsResponse { + export const filterSensitiveLog = (obj: ListInvitationsResponse): any => ({ + ...obj, + }); +} + +export interface ListMembersRequest { + /** + *

                                            The maximum number of items to return in the response.

                                            + */ + MaxResults?: number; + + /** + *

                                            Specifies which member accounts to include in the response based on their relationship + * status with the master account. The default value is TRUE.

                                            + *

                                            If OnlyAssociated is set to TRUE, the response includes member + * accounts whose relationship status with the master is set to ENABLED or + * DISABLED.

                                            + *

                                            If OnlyAssociated is set to FALSE, the response includes all + * existing member accounts.

                                            + */ + OnlyAssociated?: boolean; + + /** + *

                                            The token that is required for pagination. On your first call to the + * ListMembers operation, set the value of this parameter to + * NULL.

                                            + *

                                            For subsequent calls to the operation, to continue listing data, set the value of this + * parameter to the value returned from the previous response.

                                            + */ + NextToken?: string; +} + +export namespace ListMembersRequest { + export const filterSensitiveLog = (obj: ListMembersRequest): any => ({ + ...obj, + }); +} + +export interface ListMembersResponse { + /** + *

                                            Member details returned by the operation.

                                            + */ + Members?: Member[]; + + /** + *

                                            The pagination token to use to request the next page of results.

                                            + */ + NextToken?: string; +} + +export namespace ListMembersResponse { + export const filterSensitiveLog = (obj: ListMembersResponse): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceRequest { + /** + *

                                            The ARN of the resource to retrieve tags for.

                                            + */ + ResourceArn: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceResponse { + /** + *

                                            The tags associated with a resource.

                                            + */ + Tags?: { [key: string]: string }; +} + +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + }); +} + +export interface TagResourceRequest { + /** + *

                                            The tags to add to the resource.

                                            + */ + Tags: { [key: string]: string } | undefined; + + /** + *

                                            The ARN of the resource to apply the tags to.

                                            + */ + ResourceArn: 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 ARN of the resource to remove the tags from.

                                            + */ + ResourceArn: string | undefined; + + /** + *

                                            The tag keys associated with the tags to remove from the resource.

                                            + */ + 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, + }); +} + +export interface UpdateActionTargetRequest { + /** + *

                                            The updated name of the custom action target.

                                            + */ + Name?: string; + + /** + *

                                            The ARN of the custom action target to update.

                                            + */ + ActionTargetArn: string | undefined; + + /** + *

                                            The updated description for the custom action target.

                                            + */ + Description?: string; +} + +export namespace UpdateActionTargetRequest { + export const filterSensitiveLog = (obj: UpdateActionTargetRequest): any => ({ + ...obj, + }); +} + +export interface UpdateActionTargetResponse {} + +export namespace UpdateActionTargetResponse { + export const filterSensitiveLog = (obj: UpdateActionTargetResponse): any => ({ + ...obj, + }); +} + +export interface UpdateFindingsRequest { + /** + *

                                            A collection of attributes that specify which findings you want to update.

                                            + */ + Filters: AwsSecurityFindingFilters | undefined; + + /** + *

                                            The updated record state for the finding.

                                            + */ + RecordState?: RecordState | string; + + /** + *

                                            The updated note for the finding.

                                            + */ + Note?: NoteUpdate; +} + +export namespace UpdateFindingsRequest { + export const filterSensitiveLog = (obj: UpdateFindingsRequest): any => ({ + ...obj, + }); +} + +export interface UpdateFindingsResponse {} + +export namespace UpdateFindingsResponse { + export const filterSensitiveLog = (obj: UpdateFindingsResponse): any => ({ + ...obj, + }); +} + +export interface UpdateInsightRequest { + /** + *

                                            The ARN of the insight that you want to update.

                                            + */ + InsightArn: string | undefined; + + /** + *

                                            The updated filters that define this insight.

                                            + */ + Filters?: AwsSecurityFindingFilters; + + /** + *

                                            The updated GroupBy attribute that defines this insight.

                                            + */ + GroupByAttribute?: string; + + /** + *

                                            The updated name for the insight.

                                            + */ + Name?: string; +} + +export namespace UpdateInsightRequest { + export const filterSensitiveLog = (obj: UpdateInsightRequest): any => ({ + ...obj, + }); +} + +export interface UpdateInsightResponse {} + +export namespace UpdateInsightResponse { + export const filterSensitiveLog = (obj: UpdateInsightResponse): any => ({ + ...obj, + }); +} + +export interface UpdateSecurityHubConfigurationRequest { + /** + *

                                            Whether to automatically enable new controls when they are added to standards that are + * enabled.

                                            + *

                                            By default, this is set to true, and new controls are enabled + * automatically. To not automatically enable new controls, set this to false. + *

                                            + */ + AutoEnableControls?: boolean; +} + +export namespace UpdateSecurityHubConfigurationRequest { + export const filterSensitiveLog = (obj: UpdateSecurityHubConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface UpdateSecurityHubConfigurationResponse {} + +export namespace UpdateSecurityHubConfigurationResponse { + export const filterSensitiveLog = (obj: UpdateSecurityHubConfigurationResponse): any => ({ + ...obj, + }); +} + +export interface UpdateStandardsControlRequest { + /** + *

                                            The ARN of the security standard control to enable or disable.

                                            + */ + StandardsControlArn: string | undefined; + + /** + *

                                            A description of the reason why you are disabling a security standard control. If you + * are disabling a control, then this is required.

                                            + */ + DisabledReason?: string; + + /** + *

                                            The updated status of the security standard control.

                                            + */ + ControlStatus?: ControlStatus | string; +} + +export namespace UpdateStandardsControlRequest { + export const filterSensitiveLog = (obj: UpdateStandardsControlRequest): any => ({ + ...obj, + }); +} + +export interface UpdateStandardsControlResponse {} + +export namespace UpdateStandardsControlResponse { + export const filterSensitiveLog = (obj: UpdateStandardsControlResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-securityhub/protocols/Aws_restJson1.ts b/clients/client-securityhub/protocols/Aws_restJson1.ts index 02890cf66ce4..f325c7b971a4 100644 --- a/clients/client-securityhub/protocols/Aws_restJson1.ts +++ b/clients/client-securityhub/protocols/Aws_restJson1.ts @@ -94,16 +94,57 @@ import { AccountDetails, ActionTarget, AvailabilityZone, + AwsApiGatewayAccessLogSettings, + AwsApiGatewayCanarySettings, + AwsApiGatewayEndpointConfiguration, + AwsApiGatewayMethodSettings, + AwsApiGatewayRestApiDetails, + AwsApiGatewayStageDetails, + AwsApiGatewayV2ApiDetails, + AwsApiGatewayV2RouteSettings, + AwsApiGatewayV2StageDetails, AwsAutoScalingAutoScalingGroupDetails, + AwsCertificateManagerCertificateDetails, + AwsCertificateManagerCertificateDomainValidationOption, + AwsCertificateManagerCertificateExtendedKeyUsage, + AwsCertificateManagerCertificateKeyUsage, + AwsCertificateManagerCertificateOptions, + AwsCertificateManagerCertificateRenewalSummary, + AwsCertificateManagerCertificateResourceRecord, + AwsCloudFrontDistributionCacheBehavior, + AwsCloudFrontDistributionCacheBehaviors, + AwsCloudFrontDistributionDefaultCacheBehavior, AwsCloudFrontDistributionDetails, AwsCloudFrontDistributionLogging, + AwsCloudFrontDistributionOriginGroup, + AwsCloudFrontDistributionOriginGroupFailover, + AwsCloudFrontDistributionOriginGroupFailoverStatusCodes, + AwsCloudFrontDistributionOriginGroups, AwsCloudFrontDistributionOriginItem, + AwsCloudFrontDistributionOriginS3OriginConfig, AwsCloudFrontDistributionOrigins, + AwsCloudTrailTrailDetails, AwsCodeBuildProjectDetails, AwsCodeBuildProjectEnvironment, AwsCodeBuildProjectEnvironmentRegistryCredential, AwsCodeBuildProjectSource, AwsCodeBuildProjectVpcConfig, + AwsCorsConfiguration, + AwsDynamoDbTableAttributeDefinition, + AwsDynamoDbTableBillingModeSummary, + AwsDynamoDbTableDetails, + AwsDynamoDbTableGlobalSecondaryIndex, + AwsDynamoDbTableKeySchema, + AwsDynamoDbTableLocalSecondaryIndex, + AwsDynamoDbTableProjection, + AwsDynamoDbTableProvisionedThroughput, + AwsDynamoDbTableProvisionedThroughputOverride, + AwsDynamoDbTableReplica, + AwsDynamoDbTableReplicaGlobalSecondaryIndex, + AwsDynamoDbTableRestoreSummary, + AwsDynamoDbTableSseDescription, + AwsDynamoDbTableStreamSpecification, + AwsEc2EipDetails, AwsEc2InstanceDetails, AwsEc2NetworkInterfaceAttachment, AwsEc2NetworkInterfaceDetails, @@ -122,9 +163,38 @@ import { AwsElasticsearchDomainEncryptionAtRestOptions, AwsElasticsearchDomainNodeToNodeEncryptionOptions, AwsElasticsearchDomainVPCOptions, + AwsElbAppCookieStickinessPolicy, + AwsElbLbCookieStickinessPolicy, + AwsElbLoadBalancerAccessLog, + AwsElbLoadBalancerAttributes, + AwsElbLoadBalancerBackendServerDescription, + AwsElbLoadBalancerConnectionDraining, + AwsElbLoadBalancerConnectionSettings, + AwsElbLoadBalancerCrossZoneLoadBalancing, + AwsElbLoadBalancerDetails, + AwsElbLoadBalancerHealthCheck, + AwsElbLoadBalancerInstance, + AwsElbLoadBalancerListener, + AwsElbLoadBalancerListenerDescription, + AwsElbLoadBalancerPolicies, + AwsElbLoadBalancerSourceSecurityGroup, AwsElbv2LoadBalancerDetails, AwsIamAccessKeyDetails, + AwsIamAccessKeySessionContext, + AwsIamAccessKeySessionContextAttributes, + AwsIamAccessKeySessionContextSessionIssuer, + AwsIamAttachedManagedPolicy, + AwsIamGroupDetails, + AwsIamGroupPolicy, + AwsIamInstanceProfile, + AwsIamInstanceProfileRole, + AwsIamPermissionsBoundary, + AwsIamPolicyDetails, + AwsIamPolicyVersion, AwsIamRoleDetails, + AwsIamRolePolicy, + AwsIamUserDetails, + AwsIamUserPolicy, AwsKmsKeyDetails, AwsLambdaFunctionCode, AwsLambdaFunctionDeadLetterConfig, @@ -135,15 +205,48 @@ import { AwsLambdaFunctionTracingConfig, AwsLambdaFunctionVpcConfig, AwsLambdaLayerVersionDetails, + AwsRdsDbClusterAssociatedRole, + AwsRdsDbClusterDetails, + AwsRdsDbClusterMember, + AwsRdsDbClusterOptionGroupMembership, + AwsRdsDbClusterSnapshotDetails, + AwsRdsDbDomainMembership, AwsRdsDbInstanceAssociatedRole, AwsRdsDbInstanceDetails, AwsRdsDbInstanceEndpoint, AwsRdsDbInstanceVpcSecurityGroup, + AwsRdsDbOptionGroupMembership, + AwsRdsDbParameterGroup, + AwsRdsDbPendingModifiedValues, + AwsRdsDbProcessorFeature, + AwsRdsDbSnapshotDetails, + AwsRdsDbStatusInfo, + AwsRdsDbSubnetGroup, + AwsRdsDbSubnetGroupSubnet, + AwsRdsDbSubnetGroupSubnetAvailabilityZone, + AwsRdsPendingCloudWatchLogsExports, + AwsRedshiftClusterClusterNode, + AwsRedshiftClusterClusterParameterGroup, + AwsRedshiftClusterClusterParameterStatus, + AwsRedshiftClusterClusterSecurityGroup, + AwsRedshiftClusterClusterSnapshotCopyStatus, + AwsRedshiftClusterDeferredMaintenanceWindow, + AwsRedshiftClusterDetails, + AwsRedshiftClusterElasticIpStatus, + AwsRedshiftClusterEndpoint, + AwsRedshiftClusterHsmStatus, + AwsRedshiftClusterIamRole, + AwsRedshiftClusterPendingModifiedValues, + AwsRedshiftClusterResizeInfo, + AwsRedshiftClusterRestoreStatus, + AwsRedshiftClusterVpcSecurityGroup, AwsS3BucketDetails, AwsS3BucketServerSideEncryptionByDefault, AwsS3BucketServerSideEncryptionConfiguration, AwsS3BucketServerSideEncryptionRule, AwsS3ObjectDetails, + AwsSecretsManagerSecretDetails, + AwsSecretsManagerSecretRotationRules, AwsSecurityFinding, AwsSecurityFindingFilters, AwsSecurityFindingIdentifier, @@ -167,7 +270,6 @@ import { InternalException, InvalidAccessException, InvalidInputException, - Invitation, IpFilter, Ipv6CidrBlockAssociation, KeywordFilter, @@ -175,7 +277,6 @@ import { LoadBalancerState, Malware, MapFilter, - Member, Network, NetworkHeader, NetworkPathComponent, @@ -183,6 +284,7 @@ import { Note, NoteUpdate, NumberFilter, + PatchSummary, PortRange, ProcessDetails, Product, @@ -213,6 +315,7 @@ import { Workflow, WorkflowUpdate, } from "../models/models_0"; +import { Invitation, Member } from "../models/models_1"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { SmithyException as __SmithyException, @@ -691,8 +794,8 @@ export const serializeAws_restJson1DescribeStandardsCommand = async ( }; let resolvedPath = "/standards"; 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(); @@ -1185,9 +1288,9 @@ export const serializeAws_restJson1ListMembersCommand = async ( }; let resolvedPath = "/members"; const query: any = { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults.toString() }), ...(input.OnlyAssociated !== undefined && { OnlyAssociated: input.OnlyAssociated.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(); @@ -5207,2681 +5310,7541 @@ const serializeAws_restJson1AvailabilityZones = (input: AvailabilityZone[], cont return input.map((entry) => serializeAws_restJson1AvailabilityZone(entry, context)); }; -const serializeAws_restJson1AwsAutoScalingAutoScalingGroupDetails = ( - input: AwsAutoScalingAutoScalingGroupDetails, +const serializeAws_restJson1AwsApiGatewayAccessLogSettings = ( + input: AwsApiGatewayAccessLogSettings, context: __SerdeContext ): any => { return { - ...(input.CreatedTime !== undefined && { CreatedTime: input.CreatedTime }), - ...(input.HealthCheckGracePeriod !== undefined && { HealthCheckGracePeriod: input.HealthCheckGracePeriod }), - ...(input.HealthCheckType !== undefined && { HealthCheckType: input.HealthCheckType }), - ...(input.LaunchConfigurationName !== undefined && { LaunchConfigurationName: input.LaunchConfigurationName }), - ...(input.LoadBalancerNames !== undefined && { - LoadBalancerNames: serializeAws_restJson1StringList(input.LoadBalancerNames, context), - }), + ...(input.DestinationArn !== undefined && { DestinationArn: input.DestinationArn }), + ...(input.Format !== undefined && { Format: input.Format }), }; }; -const serializeAws_restJson1AwsCloudFrontDistributionDetails = ( - input: AwsCloudFrontDistributionDetails, +const serializeAws_restJson1AwsApiGatewayCanarySettings = ( + input: AwsApiGatewayCanarySettings, context: __SerdeContext ): any => { return { - ...(input.DomainName !== undefined && { DomainName: input.DomainName }), - ...(input.ETag !== undefined && { ETag: input.ETag }), - ...(input.LastModifiedTime !== undefined && { LastModifiedTime: input.LastModifiedTime }), - ...(input.Logging !== undefined && { - Logging: serializeAws_restJson1AwsCloudFrontDistributionLogging(input.Logging, context), + ...(input.DeploymentId !== undefined && { DeploymentId: input.DeploymentId }), + ...(input.PercentTraffic !== undefined && { PercentTraffic: input.PercentTraffic }), + ...(input.StageVariableOverrides !== undefined && { + StageVariableOverrides: serializeAws_restJson1FieldMap(input.StageVariableOverrides, context), }), - ...(input.Origins !== undefined && { - Origins: serializeAws_restJson1AwsCloudFrontDistributionOrigins(input.Origins, context), - }), - ...(input.Status !== undefined && { Status: input.Status }), - ...(input.WebAclId !== undefined && { WebAclId: input.WebAclId }), + ...(input.UseStageCache !== undefined && { UseStageCache: input.UseStageCache }), }; }; -const serializeAws_restJson1AwsCloudFrontDistributionLogging = ( - input: AwsCloudFrontDistributionLogging, +const serializeAws_restJson1AwsApiGatewayEndpointConfiguration = ( + input: AwsApiGatewayEndpointConfiguration, context: __SerdeContext ): any => { return { - ...(input.Bucket !== undefined && { Bucket: input.Bucket }), - ...(input.Enabled !== undefined && { Enabled: input.Enabled }), - ...(input.IncludeCookies !== undefined && { IncludeCookies: input.IncludeCookies }), - ...(input.Prefix !== undefined && { Prefix: input.Prefix }), + ...(input.Types !== undefined && { Types: serializeAws_restJson1NonEmptyStringList(input.Types, context) }), }; }; -const serializeAws_restJson1AwsCloudFrontDistributionOriginItem = ( - input: AwsCloudFrontDistributionOriginItem, +const serializeAws_restJson1AwsApiGatewayMethodSettings = ( + input: AwsApiGatewayMethodSettings, context: __SerdeContext ): any => { return { - ...(input.DomainName !== undefined && { DomainName: input.DomainName }), - ...(input.Id !== undefined && { Id: input.Id }), - ...(input.OriginPath !== undefined && { OriginPath: input.OriginPath }), + ...(input.CacheDataEncrypted !== undefined && { CacheDataEncrypted: input.CacheDataEncrypted }), + ...(input.CacheTtlInSeconds !== undefined && { CacheTtlInSeconds: input.CacheTtlInSeconds }), + ...(input.CachingEnabled !== undefined && { CachingEnabled: input.CachingEnabled }), + ...(input.DataTraceEnabled !== undefined && { DataTraceEnabled: input.DataTraceEnabled }), + ...(input.HttpMethod !== undefined && { HttpMethod: input.HttpMethod }), + ...(input.LoggingLevel !== undefined && { LoggingLevel: input.LoggingLevel }), + ...(input.MetricsEnabled !== undefined && { MetricsEnabled: input.MetricsEnabled }), + ...(input.RequireAuthorizationForCacheControl !== undefined && { + RequireAuthorizationForCacheControl: input.RequireAuthorizationForCacheControl, + }), + ...(input.ResourcePath !== undefined && { ResourcePath: input.ResourcePath }), + ...(input.ThrottlingBurstLimit !== undefined && { ThrottlingBurstLimit: input.ThrottlingBurstLimit }), + ...(input.ThrottlingRateLimit !== undefined && { ThrottlingRateLimit: input.ThrottlingRateLimit }), + ...(input.UnauthorizedCacheControlHeaderStrategy !== undefined && { + UnauthorizedCacheControlHeaderStrategy: input.UnauthorizedCacheControlHeaderStrategy, + }), }; }; -const serializeAws_restJson1AwsCloudFrontDistributionOriginItemList = ( - input: AwsCloudFrontDistributionOriginItem[], +const serializeAws_restJson1AwsApiGatewayMethodSettingsList = ( + input: AwsApiGatewayMethodSettings[], context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsCloudFrontDistributionOriginItem(entry, context)); + return input.map((entry) => serializeAws_restJson1AwsApiGatewayMethodSettings(entry, context)); }; -const serializeAws_restJson1AwsCloudFrontDistributionOrigins = ( - input: AwsCloudFrontDistributionOrigins, +const serializeAws_restJson1AwsApiGatewayRestApiDetails = ( + input: AwsApiGatewayRestApiDetails, context: __SerdeContext ): any => { return { - ...(input.Items !== undefined && { - Items: serializeAws_restJson1AwsCloudFrontDistributionOriginItemList(input.Items, context), + ...(input.ApiKeySource !== undefined && { ApiKeySource: input.ApiKeySource }), + ...(input.BinaryMediaTypes !== undefined && { + BinaryMediaTypes: serializeAws_restJson1NonEmptyStringList(input.BinaryMediaTypes, context), + }), + ...(input.CreatedDate !== undefined && { CreatedDate: input.CreatedDate }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.EndpointConfiguration !== undefined && { + EndpointConfiguration: serializeAws_restJson1AwsApiGatewayEndpointConfiguration( + input.EndpointConfiguration, + context + ), }), + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.MinimumCompressionSize !== undefined && { MinimumCompressionSize: input.MinimumCompressionSize }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Version !== undefined && { Version: input.Version }), }; }; -const serializeAws_restJson1AwsCodeBuildProjectDetails = ( - input: AwsCodeBuildProjectDetails, +const serializeAws_restJson1AwsApiGatewayStageDetails = ( + input: AwsApiGatewayStageDetails, context: __SerdeContext ): any => { return { - ...(input.EncryptionKey !== undefined && { EncryptionKey: input.EncryptionKey }), - ...(input.Environment !== undefined && { - Environment: serializeAws_restJson1AwsCodeBuildProjectEnvironment(input.Environment, context), + ...(input.AccessLogSettings !== undefined && { + AccessLogSettings: serializeAws_restJson1AwsApiGatewayAccessLogSettings(input.AccessLogSettings, context), }), - ...(input.Name !== undefined && { Name: input.Name }), - ...(input.ServiceRole !== undefined && { ServiceRole: input.ServiceRole }), - ...(input.Source !== undefined && { - Source: serializeAws_restJson1AwsCodeBuildProjectSource(input.Source, context), + ...(input.CacheClusterEnabled !== undefined && { CacheClusterEnabled: input.CacheClusterEnabled }), + ...(input.CacheClusterSize !== undefined && { CacheClusterSize: input.CacheClusterSize }), + ...(input.CacheClusterStatus !== undefined && { CacheClusterStatus: input.CacheClusterStatus }), + ...(input.CanarySettings !== undefined && { + CanarySettings: serializeAws_restJson1AwsApiGatewayCanarySettings(input.CanarySettings, context), }), - ...(input.VpcConfig !== undefined && { - VpcConfig: serializeAws_restJson1AwsCodeBuildProjectVpcConfig(input.VpcConfig, context), + ...(input.ClientCertificateId !== undefined && { ClientCertificateId: input.ClientCertificateId }), + ...(input.CreatedDate !== undefined && { CreatedDate: input.CreatedDate }), + ...(input.DeploymentId !== undefined && { DeploymentId: input.DeploymentId }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.DocumentationVersion !== undefined && { DocumentationVersion: input.DocumentationVersion }), + ...(input.LastUpdatedDate !== undefined && { LastUpdatedDate: input.LastUpdatedDate }), + ...(input.MethodSettings !== undefined && { + MethodSettings: serializeAws_restJson1AwsApiGatewayMethodSettingsList(input.MethodSettings, context), }), + ...(input.StageName !== undefined && { StageName: input.StageName }), + ...(input.TracingEnabled !== undefined && { TracingEnabled: input.TracingEnabled }), + ...(input.Variables !== undefined && { Variables: serializeAws_restJson1FieldMap(input.Variables, context) }), + ...(input.WebAclArn !== undefined && { WebAclArn: input.WebAclArn }), }; }; -const serializeAws_restJson1AwsCodeBuildProjectEnvironment = ( - input: AwsCodeBuildProjectEnvironment, +const serializeAws_restJson1AwsApiGatewayV2ApiDetails = ( + input: AwsApiGatewayV2ApiDetails, context: __SerdeContext ): any => { return { - ...(input.Certificate !== undefined && { Certificate: input.Certificate }), - ...(input.ImagePullCredentialsType !== undefined && { ImagePullCredentialsType: input.ImagePullCredentialsType }), - ...(input.RegistryCredential !== undefined && { - RegistryCredential: serializeAws_restJson1AwsCodeBuildProjectEnvironmentRegistryCredential( - input.RegistryCredential, - context - ), + ...(input.ApiEndpoint !== undefined && { ApiEndpoint: input.ApiEndpoint }), + ...(input.ApiId !== undefined && { ApiId: input.ApiId }), + ...(input.ApiKeySelectionExpression !== undefined && { + ApiKeySelectionExpression: input.ApiKeySelectionExpression, }), - ...(input.Type !== undefined && { Type: input.Type }), + ...(input.CorsConfiguration !== undefined && { + CorsConfiguration: serializeAws_restJson1AwsCorsConfiguration(input.CorsConfiguration, context), + }), + ...(input.CreatedDate !== undefined && { CreatedDate: input.CreatedDate }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.ProtocolType !== undefined && { ProtocolType: input.ProtocolType }), + ...(input.RouteSelectionExpression !== undefined && { RouteSelectionExpression: input.RouteSelectionExpression }), + ...(input.Version !== undefined && { Version: input.Version }), }; }; -const serializeAws_restJson1AwsCodeBuildProjectEnvironmentRegistryCredential = ( - input: AwsCodeBuildProjectEnvironmentRegistryCredential, +const serializeAws_restJson1AwsApiGatewayV2RouteSettings = ( + input: AwsApiGatewayV2RouteSettings, context: __SerdeContext ): any => { return { - ...(input.Credential !== undefined && { Credential: input.Credential }), - ...(input.CredentialProvider !== undefined && { CredentialProvider: input.CredentialProvider }), + ...(input.DataTraceEnabled !== undefined && { DataTraceEnabled: input.DataTraceEnabled }), + ...(input.DetailedMetricsEnabled !== undefined && { DetailedMetricsEnabled: input.DetailedMetricsEnabled }), + ...(input.LoggingLevel !== undefined && { LoggingLevel: input.LoggingLevel }), + ...(input.ThrottlingBurstLimit !== undefined && { ThrottlingBurstLimit: input.ThrottlingBurstLimit }), + ...(input.ThrottlingRateLimit !== undefined && { ThrottlingRateLimit: input.ThrottlingRateLimit }), }; }; -const serializeAws_restJson1AwsCodeBuildProjectSource = ( - input: AwsCodeBuildProjectSource, +const serializeAws_restJson1AwsApiGatewayV2StageDetails = ( + input: AwsApiGatewayV2StageDetails, context: __SerdeContext ): any => { return { - ...(input.GitCloneDepth !== undefined && { GitCloneDepth: input.GitCloneDepth }), - ...(input.InsecureSsl !== undefined && { InsecureSsl: input.InsecureSsl }), - ...(input.Location !== undefined && { Location: input.Location }), - ...(input.Type !== undefined && { Type: input.Type }), + ...(input.AccessLogSettings !== undefined && { + AccessLogSettings: serializeAws_restJson1AwsApiGatewayAccessLogSettings(input.AccessLogSettings, context), + }), + ...(input.ApiGatewayManaged !== undefined && { ApiGatewayManaged: input.ApiGatewayManaged }), + ...(input.AutoDeploy !== undefined && { AutoDeploy: input.AutoDeploy }), + ...(input.CreatedDate !== undefined && { CreatedDate: input.CreatedDate }), + ...(input.DefaultRouteSettings !== undefined && { + DefaultRouteSettings: serializeAws_restJson1AwsApiGatewayV2RouteSettings(input.DefaultRouteSettings, context), + }), + ...(input.DeploymentId !== undefined && { DeploymentId: input.DeploymentId }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.LastDeploymentStatusMessage !== undefined && { + LastDeploymentStatusMessage: input.LastDeploymentStatusMessage, + }), + ...(input.LastUpdatedDate !== undefined && { LastUpdatedDate: input.LastUpdatedDate }), + ...(input.RouteSettings !== undefined && { + RouteSettings: serializeAws_restJson1AwsApiGatewayV2RouteSettings(input.RouteSettings, context), + }), + ...(input.StageName !== undefined && { StageName: input.StageName }), + ...(input.StageVariables !== undefined && { + StageVariables: serializeAws_restJson1FieldMap(input.StageVariables, context), + }), }; }; -const serializeAws_restJson1AwsCodeBuildProjectVpcConfig = ( - input: AwsCodeBuildProjectVpcConfig, +const serializeAws_restJson1AwsAutoScalingAutoScalingGroupDetails = ( + input: AwsAutoScalingAutoScalingGroupDetails, context: __SerdeContext ): any => { return { - ...(input.SecurityGroupIds !== undefined && { - SecurityGroupIds: serializeAws_restJson1NonEmptyStringList(input.SecurityGroupIds, context), - }), - ...(input.Subnets !== undefined && { Subnets: serializeAws_restJson1NonEmptyStringList(input.Subnets, context) }), - ...(input.VpcId !== undefined && { VpcId: input.VpcId }), - }; -}; - -const serializeAws_restJson1AwsEc2InstanceDetails = (input: AwsEc2InstanceDetails, context: __SerdeContext): any => { - return { - ...(input.IamInstanceProfileArn !== undefined && { IamInstanceProfileArn: input.IamInstanceProfileArn }), - ...(input.ImageId !== undefined && { ImageId: input.ImageId }), - ...(input.IpV4Addresses !== undefined && { - IpV4Addresses: serializeAws_restJson1StringList(input.IpV4Addresses, context), - }), - ...(input.IpV6Addresses !== undefined && { - IpV6Addresses: serializeAws_restJson1StringList(input.IpV6Addresses, context), + ...(input.CreatedTime !== undefined && { CreatedTime: input.CreatedTime }), + ...(input.HealthCheckGracePeriod !== undefined && { HealthCheckGracePeriod: input.HealthCheckGracePeriod }), + ...(input.HealthCheckType !== undefined && { HealthCheckType: input.HealthCheckType }), + ...(input.LaunchConfigurationName !== undefined && { LaunchConfigurationName: input.LaunchConfigurationName }), + ...(input.LoadBalancerNames !== undefined && { + LoadBalancerNames: serializeAws_restJson1StringList(input.LoadBalancerNames, context), }), - ...(input.KeyName !== undefined && { KeyName: input.KeyName }), - ...(input.LaunchedAt !== undefined && { LaunchedAt: input.LaunchedAt }), - ...(input.SubnetId !== undefined && { SubnetId: input.SubnetId }), - ...(input.Type !== undefined && { Type: input.Type }), - ...(input.VpcId !== undefined && { VpcId: input.VpcId }), }; }; -const serializeAws_restJson1AwsEc2NetworkInterfaceAttachment = ( - input: AwsEc2NetworkInterfaceAttachment, +const serializeAws_restJson1AwsCertificateManagerCertificateDetails = ( + input: AwsCertificateManagerCertificateDetails, context: __SerdeContext ): any => { return { - ...(input.AttachTime !== undefined && { AttachTime: input.AttachTime }), - ...(input.AttachmentId !== undefined && { AttachmentId: input.AttachmentId }), - ...(input.DeleteOnTermination !== undefined && { DeleteOnTermination: input.DeleteOnTermination }), - ...(input.DeviceIndex !== undefined && { DeviceIndex: input.DeviceIndex }), - ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), - ...(input.InstanceOwnerId !== undefined && { InstanceOwnerId: input.InstanceOwnerId }), + ...(input.CertificateAuthorityArn !== undefined && { CertificateAuthorityArn: input.CertificateAuthorityArn }), + ...(input.CreatedAt !== undefined && { CreatedAt: input.CreatedAt }), + ...(input.DomainName !== undefined && { DomainName: input.DomainName }), + ...(input.DomainValidationOptions !== undefined && { + DomainValidationOptions: serializeAws_restJson1AwsCertificateManagerCertificateDomainValidationOptions( + input.DomainValidationOptions, + context + ), + }), + ...(input.ExtendedKeyUsages !== undefined && { + ExtendedKeyUsages: serializeAws_restJson1AwsCertificateManagerCertificateExtendedKeyUsages( + input.ExtendedKeyUsages, + context + ), + }), + ...(input.FailureReason !== undefined && { FailureReason: input.FailureReason }), + ...(input.ImportedAt !== undefined && { ImportedAt: input.ImportedAt }), + ...(input.InUseBy !== undefined && { InUseBy: serializeAws_restJson1StringList(input.InUseBy, context) }), + ...(input.IssuedAt !== undefined && { IssuedAt: input.IssuedAt }), + ...(input.Issuer !== undefined && { Issuer: input.Issuer }), + ...(input.KeyAlgorithm !== undefined && { KeyAlgorithm: input.KeyAlgorithm }), + ...(input.KeyUsages !== undefined && { + KeyUsages: serializeAws_restJson1AwsCertificateManagerCertificateKeyUsages(input.KeyUsages, context), + }), + ...(input.NotAfter !== undefined && { NotAfter: input.NotAfter }), + ...(input.NotBefore !== undefined && { NotBefore: input.NotBefore }), + ...(input.Options !== undefined && { + Options: serializeAws_restJson1AwsCertificateManagerCertificateOptions(input.Options, context), + }), + ...(input.RenewalEligibility !== undefined && { RenewalEligibility: input.RenewalEligibility }), + ...(input.RenewalSummary !== undefined && { + RenewalSummary: serializeAws_restJson1AwsCertificateManagerCertificateRenewalSummary( + input.RenewalSummary, + context + ), + }), + ...(input.Serial !== undefined && { Serial: input.Serial }), + ...(input.SignatureAlgorithm !== undefined && { SignatureAlgorithm: input.SignatureAlgorithm }), ...(input.Status !== undefined && { Status: input.Status }), + ...(input.Subject !== undefined && { Subject: input.Subject }), + ...(input.SubjectAlternativeNames !== undefined && { + SubjectAlternativeNames: serializeAws_restJson1StringList(input.SubjectAlternativeNames, context), + }), + ...(input.Type !== undefined && { Type: input.Type }), }; }; -const serializeAws_restJson1AwsEc2NetworkInterfaceDetails = ( - input: AwsEc2NetworkInterfaceDetails, +const serializeAws_restJson1AwsCertificateManagerCertificateDomainValidationOption = ( + input: AwsCertificateManagerCertificateDomainValidationOption, context: __SerdeContext ): any => { return { - ...(input.Attachment !== undefined && { - Attachment: serializeAws_restJson1AwsEc2NetworkInterfaceAttachment(input.Attachment, context), + ...(input.DomainName !== undefined && { DomainName: input.DomainName }), + ...(input.ResourceRecord !== undefined && { + ResourceRecord: serializeAws_restJson1AwsCertificateManagerCertificateResourceRecord( + input.ResourceRecord, + context + ), }), - ...(input.NetworkInterfaceId !== undefined && { NetworkInterfaceId: input.NetworkInterfaceId }), - ...(input.SecurityGroups !== undefined && { - SecurityGroups: serializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroupList(input.SecurityGroups, context), + ...(input.ValidationDomain !== undefined && { ValidationDomain: input.ValidationDomain }), + ...(input.ValidationEmails !== undefined && { + ValidationEmails: serializeAws_restJson1StringList(input.ValidationEmails, context), }), - ...(input.SourceDestCheck !== undefined && { SourceDestCheck: input.SourceDestCheck }), + ...(input.ValidationMethod !== undefined && { ValidationMethod: input.ValidationMethod }), + ...(input.ValidationStatus !== undefined && { ValidationStatus: input.ValidationStatus }), }; }; -const serializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroup = ( - input: AwsEc2NetworkInterfaceSecurityGroup, +const serializeAws_restJson1AwsCertificateManagerCertificateDomainValidationOptions = ( + input: AwsCertificateManagerCertificateDomainValidationOption[], context: __SerdeContext ): any => { - return { - ...(input.GroupId !== undefined && { GroupId: input.GroupId }), - ...(input.GroupName !== undefined && { GroupName: input.GroupName }), - }; + return input.map((entry) => + serializeAws_restJson1AwsCertificateManagerCertificateDomainValidationOption(entry, context) + ); }; -const serializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroupList = ( - input: AwsEc2NetworkInterfaceSecurityGroup[], +const serializeAws_restJson1AwsCertificateManagerCertificateExtendedKeyUsage = ( + input: AwsCertificateManagerCertificateExtendedKeyUsage, context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroup(entry, context)); + return { + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.OId !== undefined && { OId: input.OId }), + }; }; -const serializeAws_restJson1AwsEc2SecurityGroupDetails = ( - input: AwsEc2SecurityGroupDetails, +const serializeAws_restJson1AwsCertificateManagerCertificateExtendedKeyUsages = ( + input: AwsCertificateManagerCertificateExtendedKeyUsage[], context: __SerdeContext ): any => { - return { - ...(input.GroupId !== undefined && { GroupId: input.GroupId }), - ...(input.GroupName !== undefined && { GroupName: input.GroupName }), - ...(input.IpPermissions !== undefined && { - IpPermissions: serializeAws_restJson1AwsEc2SecurityGroupIpPermissionList(input.IpPermissions, context), - }), - ...(input.IpPermissionsEgress !== undefined && { - IpPermissionsEgress: serializeAws_restJson1AwsEc2SecurityGroupIpPermissionList( - input.IpPermissionsEgress, - context - ), - }), - ...(input.OwnerId !== undefined && { OwnerId: input.OwnerId }), - ...(input.VpcId !== undefined && { VpcId: input.VpcId }), - }; + return input.map((entry) => serializeAws_restJson1AwsCertificateManagerCertificateExtendedKeyUsage(entry, context)); }; -const serializeAws_restJson1AwsEc2SecurityGroupIpPermission = ( - input: AwsEc2SecurityGroupIpPermission, +const serializeAws_restJson1AwsCertificateManagerCertificateKeyUsage = ( + input: AwsCertificateManagerCertificateKeyUsage, context: __SerdeContext ): any => { return { - ...(input.FromPort !== undefined && { FromPort: input.FromPort }), - ...(input.IpProtocol !== undefined && { IpProtocol: input.IpProtocol }), - ...(input.IpRanges !== undefined && { - IpRanges: serializeAws_restJson1AwsEc2SecurityGroupIpRangeList(input.IpRanges, context), - }), - ...(input.Ipv6Ranges !== undefined && { - Ipv6Ranges: serializeAws_restJson1AwsEc2SecurityGroupIpv6RangeList(input.Ipv6Ranges, context), - }), - ...(input.PrefixListIds !== undefined && { - PrefixListIds: serializeAws_restJson1AwsEc2SecurityGroupPrefixListIdList(input.PrefixListIds, context), - }), - ...(input.ToPort !== undefined && { ToPort: input.ToPort }), - ...(input.UserIdGroupPairs !== undefined && { - UserIdGroupPairs: serializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPairList(input.UserIdGroupPairs, context), - }), + ...(input.Name !== undefined && { Name: input.Name }), }; }; -const serializeAws_restJson1AwsEc2SecurityGroupIpPermissionList = ( - input: AwsEc2SecurityGroupIpPermission[], +const serializeAws_restJson1AwsCertificateManagerCertificateKeyUsages = ( + input: AwsCertificateManagerCertificateKeyUsage[], context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsEc2SecurityGroupIpPermission(entry, context)); + return input.map((entry) => serializeAws_restJson1AwsCertificateManagerCertificateKeyUsage(entry, context)); }; -const serializeAws_restJson1AwsEc2SecurityGroupIpRange = ( - input: AwsEc2SecurityGroupIpRange, +const serializeAws_restJson1AwsCertificateManagerCertificateOptions = ( + input: AwsCertificateManagerCertificateOptions, context: __SerdeContext ): any => { return { - ...(input.CidrIp !== undefined && { CidrIp: input.CidrIp }), + ...(input.CertificateTransparencyLoggingPreference !== undefined && { + CertificateTransparencyLoggingPreference: input.CertificateTransparencyLoggingPreference, + }), }; }; -const serializeAws_restJson1AwsEc2SecurityGroupIpRangeList = ( - input: AwsEc2SecurityGroupIpRange[], +const serializeAws_restJson1AwsCertificateManagerCertificateRenewalSummary = ( + input: AwsCertificateManagerCertificateRenewalSummary, context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsEc2SecurityGroupIpRange(entry, context)); + return { + ...(input.DomainValidationOptions !== undefined && { + DomainValidationOptions: serializeAws_restJson1AwsCertificateManagerCertificateDomainValidationOptions( + input.DomainValidationOptions, + context + ), + }), + ...(input.RenewalStatus !== undefined && { RenewalStatus: input.RenewalStatus }), + ...(input.RenewalStatusReason !== undefined && { RenewalStatusReason: input.RenewalStatusReason }), + ...(input.UpdatedAt !== undefined && { UpdatedAt: input.UpdatedAt }), + }; }; -const serializeAws_restJson1AwsEc2SecurityGroupIpv6Range = ( - input: AwsEc2SecurityGroupIpv6Range, +const serializeAws_restJson1AwsCertificateManagerCertificateResourceRecord = ( + input: AwsCertificateManagerCertificateResourceRecord, context: __SerdeContext ): any => { return { - ...(input.CidrIpv6 !== undefined && { CidrIpv6: input.CidrIpv6 }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Type !== undefined && { Type: input.Type }), + ...(input.Value !== undefined && { Value: input.Value }), }; }; -const serializeAws_restJson1AwsEc2SecurityGroupIpv6RangeList = ( - input: AwsEc2SecurityGroupIpv6Range[], +const serializeAws_restJson1AwsCloudFrontDistributionCacheBehavior = ( + input: AwsCloudFrontDistributionCacheBehavior, context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsEc2SecurityGroupIpv6Range(entry, context)); + return { + ...(input.ViewerProtocolPolicy !== undefined && { ViewerProtocolPolicy: input.ViewerProtocolPolicy }), + }; }; -const serializeAws_restJson1AwsEc2SecurityGroupPrefixListId = ( - input: AwsEc2SecurityGroupPrefixListId, +const serializeAws_restJson1AwsCloudFrontDistributionCacheBehaviors = ( + input: AwsCloudFrontDistributionCacheBehaviors, context: __SerdeContext ): any => { return { - ...(input.PrefixListId !== undefined && { PrefixListId: input.PrefixListId }), + ...(input.Items !== undefined && { + Items: serializeAws_restJson1AwsCloudFrontDistributionCacheBehaviorsItemList(input.Items, context), + }), }; }; -const serializeAws_restJson1AwsEc2SecurityGroupPrefixListIdList = ( - input: AwsEc2SecurityGroupPrefixListId[], +const serializeAws_restJson1AwsCloudFrontDistributionCacheBehaviorsItemList = ( + input: AwsCloudFrontDistributionCacheBehavior[], context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsEc2SecurityGroupPrefixListId(entry, context)); + return input.map((entry) => serializeAws_restJson1AwsCloudFrontDistributionCacheBehavior(entry, context)); }; -const serializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPair = ( - input: AwsEc2SecurityGroupUserIdGroupPair, +const serializeAws_restJson1AwsCloudFrontDistributionDefaultCacheBehavior = ( + input: AwsCloudFrontDistributionDefaultCacheBehavior, context: __SerdeContext ): any => { return { - ...(input.GroupId !== undefined && { GroupId: input.GroupId }), - ...(input.GroupName !== undefined && { GroupName: input.GroupName }), - ...(input.PeeringStatus !== undefined && { PeeringStatus: input.PeeringStatus }), - ...(input.UserId !== undefined && { UserId: input.UserId }), - ...(input.VpcId !== undefined && { VpcId: input.VpcId }), - ...(input.VpcPeeringConnectionId !== undefined && { VpcPeeringConnectionId: input.VpcPeeringConnectionId }), + ...(input.ViewerProtocolPolicy !== undefined && { ViewerProtocolPolicy: input.ViewerProtocolPolicy }), }; }; -const serializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPairList = ( - input: AwsEc2SecurityGroupUserIdGroupPair[], +const serializeAws_restJson1AwsCloudFrontDistributionDetails = ( + input: AwsCloudFrontDistributionDetails, context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPair(entry, context)); -}; - -const serializeAws_restJson1AwsEc2VolumeAttachment = (input: AwsEc2VolumeAttachment, context: __SerdeContext): any => { return { - ...(input.AttachTime !== undefined && { AttachTime: input.AttachTime }), - ...(input.DeleteOnTermination !== undefined && { DeleteOnTermination: input.DeleteOnTermination }), - ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), + ...(input.CacheBehaviors !== undefined && { + CacheBehaviors: serializeAws_restJson1AwsCloudFrontDistributionCacheBehaviors(input.CacheBehaviors, context), + }), + ...(input.DefaultCacheBehavior !== undefined && { + DefaultCacheBehavior: serializeAws_restJson1AwsCloudFrontDistributionDefaultCacheBehavior( + input.DefaultCacheBehavior, + context + ), + }), + ...(input.DefaultRootObject !== undefined && { DefaultRootObject: input.DefaultRootObject }), + ...(input.DomainName !== undefined && { DomainName: input.DomainName }), + ...(input.ETag !== undefined && { ETag: input.ETag }), + ...(input.LastModifiedTime !== undefined && { LastModifiedTime: input.LastModifiedTime }), + ...(input.Logging !== undefined && { + Logging: serializeAws_restJson1AwsCloudFrontDistributionLogging(input.Logging, context), + }), + ...(input.OriginGroups !== undefined && { + OriginGroups: serializeAws_restJson1AwsCloudFrontDistributionOriginGroups(input.OriginGroups, context), + }), + ...(input.Origins !== undefined && { + Origins: serializeAws_restJson1AwsCloudFrontDistributionOrigins(input.Origins, context), + }), ...(input.Status !== undefined && { Status: input.Status }), + ...(input.WebAclId !== undefined && { WebAclId: input.WebAclId }), }; }; -const serializeAws_restJson1AwsEc2VolumeAttachmentList = ( - input: AwsEc2VolumeAttachment[], +const serializeAws_restJson1AwsCloudFrontDistributionLogging = ( + input: AwsCloudFrontDistributionLogging, context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsEc2VolumeAttachment(entry, context)); + return { + ...(input.Bucket !== undefined && { Bucket: input.Bucket }), + ...(input.Enabled !== undefined && { Enabled: input.Enabled }), + ...(input.IncludeCookies !== undefined && { IncludeCookies: input.IncludeCookies }), + ...(input.Prefix !== undefined && { Prefix: input.Prefix }), + }; }; -const serializeAws_restJson1AwsEc2VolumeDetails = (input: AwsEc2VolumeDetails, context: __SerdeContext): any => { +const serializeAws_restJson1AwsCloudFrontDistributionOriginGroup = ( + input: AwsCloudFrontDistributionOriginGroup, + context: __SerdeContext +): any => { return { - ...(input.Attachments !== undefined && { - Attachments: serializeAws_restJson1AwsEc2VolumeAttachmentList(input.Attachments, context), + ...(input.FailoverCriteria !== undefined && { + FailoverCriteria: serializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailover( + input.FailoverCriteria, + context + ), }), - ...(input.CreateTime !== undefined && { CreateTime: input.CreateTime }), - ...(input.Encrypted !== undefined && { Encrypted: input.Encrypted }), - ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), - ...(input.Size !== undefined && { Size: input.Size }), - ...(input.SnapshotId !== undefined && { SnapshotId: input.SnapshotId }), - ...(input.Status !== undefined && { Status: input.Status }), }; }; -const serializeAws_restJson1AwsEc2VpcDetails = (input: AwsEc2VpcDetails, context: __SerdeContext): any => { +const serializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailover = ( + input: AwsCloudFrontDistributionOriginGroupFailover, + context: __SerdeContext +): any => { return { - ...(input.CidrBlockAssociationSet !== undefined && { - CidrBlockAssociationSet: serializeAws_restJson1CidrBlockAssociationList(input.CidrBlockAssociationSet, context), - }), - ...(input.DhcpOptionsId !== undefined && { DhcpOptionsId: input.DhcpOptionsId }), - ...(input.Ipv6CidrBlockAssociationSet !== undefined && { - Ipv6CidrBlockAssociationSet: serializeAws_restJson1Ipv6CidrBlockAssociationList( - input.Ipv6CidrBlockAssociationSet, + ...(input.StatusCodes !== undefined && { + StatusCodes: serializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailoverStatusCodes( + input.StatusCodes, context ), }), - ...(input.State !== undefined && { State: input.State }), }; }; -const serializeAws_restJson1AwsElasticsearchDomainDetails = ( - input: AwsElasticsearchDomainDetails, +const serializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailoverStatusCodes = ( + input: AwsCloudFrontDistributionOriginGroupFailoverStatusCodes, context: __SerdeContext ): any => { return { - ...(input.AccessPolicies !== undefined && { AccessPolicies: input.AccessPolicies }), - ...(input.DomainEndpointOptions !== undefined && { - DomainEndpointOptions: serializeAws_restJson1AwsElasticsearchDomainDomainEndpointOptions( - input.DomainEndpointOptions, + ...(input.Items !== undefined && { + Items: serializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList( + input.Items, context ), }), - ...(input.DomainId !== undefined && { DomainId: input.DomainId }), - ...(input.DomainName !== undefined && { DomainName: input.DomainName }), - ...(input.ElasticsearchVersion !== undefined && { ElasticsearchVersion: input.ElasticsearchVersion }), - ...(input.EncryptionAtRestOptions !== undefined && { - EncryptionAtRestOptions: serializeAws_restJson1AwsElasticsearchDomainEncryptionAtRestOptions( - input.EncryptionAtRestOptions, - context - ), + ...(input.Quantity !== undefined && { Quantity: input.Quantity }), + }; +}; + +const serializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList = ( + input: number[], + context: __SerdeContext +): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1AwsCloudFrontDistributionOriginGroups = ( + input: AwsCloudFrontDistributionOriginGroups, + context: __SerdeContext +): any => { + return { + ...(input.Items !== undefined && { + Items: serializeAws_restJson1AwsCloudFrontDistributionOriginGroupsItemList(input.Items, context), }), - ...(input.Endpoint !== undefined && { Endpoint: input.Endpoint }), - ...(input.Endpoints !== undefined && { Endpoints: serializeAws_restJson1FieldMap(input.Endpoints, context) }), - ...(input.NodeToNodeEncryptionOptions !== undefined && { - NodeToNodeEncryptionOptions: serializeAws_restJson1AwsElasticsearchDomainNodeToNodeEncryptionOptions( - input.NodeToNodeEncryptionOptions, + }; +}; + +const serializeAws_restJson1AwsCloudFrontDistributionOriginGroupsItemList = ( + input: AwsCloudFrontDistributionOriginGroup[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsCloudFrontDistributionOriginGroup(entry, context)); +}; + +const serializeAws_restJson1AwsCloudFrontDistributionOriginItem = ( + input: AwsCloudFrontDistributionOriginItem, + context: __SerdeContext +): any => { + return { + ...(input.DomainName !== undefined && { DomainName: input.DomainName }), + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.OriginPath !== undefined && { OriginPath: input.OriginPath }), + ...(input.S3OriginConfig !== undefined && { + S3OriginConfig: serializeAws_restJson1AwsCloudFrontDistributionOriginS3OriginConfig( + input.S3OriginConfig, context ), }), - ...(input.VPCOptions !== undefined && { - VPCOptions: serializeAws_restJson1AwsElasticsearchDomainVPCOptions(input.VPCOptions, context), - }), }; }; -const serializeAws_restJson1AwsElasticsearchDomainDomainEndpointOptions = ( - input: AwsElasticsearchDomainDomainEndpointOptions, +const serializeAws_restJson1AwsCloudFrontDistributionOriginItemList = ( + input: AwsCloudFrontDistributionOriginItem[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsCloudFrontDistributionOriginItem(entry, context)); +}; + +const serializeAws_restJson1AwsCloudFrontDistributionOrigins = ( + input: AwsCloudFrontDistributionOrigins, context: __SerdeContext ): any => { return { - ...(input.EnforceHTTPS !== undefined && { EnforceHTTPS: input.EnforceHTTPS }), - ...(input.TLSSecurityPolicy !== undefined && { TLSSecurityPolicy: input.TLSSecurityPolicy }), + ...(input.Items !== undefined && { + Items: serializeAws_restJson1AwsCloudFrontDistributionOriginItemList(input.Items, context), + }), }; }; -const serializeAws_restJson1AwsElasticsearchDomainEncryptionAtRestOptions = ( - input: AwsElasticsearchDomainEncryptionAtRestOptions, +const serializeAws_restJson1AwsCloudFrontDistributionOriginS3OriginConfig = ( + input: AwsCloudFrontDistributionOriginS3OriginConfig, context: __SerdeContext ): any => { return { - ...(input.Enabled !== undefined && { Enabled: input.Enabled }), - ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + ...(input.OriginAccessIdentity !== undefined && { OriginAccessIdentity: input.OriginAccessIdentity }), }; }; -const serializeAws_restJson1AwsElasticsearchDomainNodeToNodeEncryptionOptions = ( - input: AwsElasticsearchDomainNodeToNodeEncryptionOptions, +const serializeAws_restJson1AwsCloudTrailTrailDetails = ( + input: AwsCloudTrailTrailDetails, context: __SerdeContext ): any => { return { - ...(input.Enabled !== undefined && { Enabled: input.Enabled }), + ...(input.CloudWatchLogsLogGroupArn !== undefined && { + CloudWatchLogsLogGroupArn: input.CloudWatchLogsLogGroupArn, + }), + ...(input.CloudWatchLogsRoleArn !== undefined && { CloudWatchLogsRoleArn: input.CloudWatchLogsRoleArn }), + ...(input.HasCustomEventSelectors !== undefined && { HasCustomEventSelectors: input.HasCustomEventSelectors }), + ...(input.HomeRegion !== undefined && { HomeRegion: input.HomeRegion }), + ...(input.IncludeGlobalServiceEvents !== undefined && { + IncludeGlobalServiceEvents: input.IncludeGlobalServiceEvents, + }), + ...(input.IsMultiRegionTrail !== undefined && { IsMultiRegionTrail: input.IsMultiRegionTrail }), + ...(input.IsOrganizationTrail !== undefined && { IsOrganizationTrail: input.IsOrganizationTrail }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + ...(input.LogFileValidationEnabled !== undefined && { LogFileValidationEnabled: input.LogFileValidationEnabled }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.S3BucketName !== undefined && { S3BucketName: input.S3BucketName }), + ...(input.S3KeyPrefix !== undefined && { S3KeyPrefix: input.S3KeyPrefix }), + ...(input.SnsTopicArn !== undefined && { SnsTopicArn: input.SnsTopicArn }), + ...(input.SnsTopicName !== undefined && { SnsTopicName: input.SnsTopicName }), + ...(input.TrailArn !== undefined && { TrailArn: input.TrailArn }), }; }; -const serializeAws_restJson1AwsElasticsearchDomainVPCOptions = ( - input: AwsElasticsearchDomainVPCOptions, +const serializeAws_restJson1AwsCodeBuildProjectDetails = ( + input: AwsCodeBuildProjectDetails, context: __SerdeContext ): any => { return { - ...(input.AvailabilityZones !== undefined && { - AvailabilityZones: serializeAws_restJson1NonEmptyStringList(input.AvailabilityZones, context), + ...(input.EncryptionKey !== undefined && { EncryptionKey: input.EncryptionKey }), + ...(input.Environment !== undefined && { + Environment: serializeAws_restJson1AwsCodeBuildProjectEnvironment(input.Environment, context), }), - ...(input.SecurityGroupIds !== undefined && { - SecurityGroupIds: serializeAws_restJson1NonEmptyStringList(input.SecurityGroupIds, context), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.ServiceRole !== undefined && { ServiceRole: input.ServiceRole }), + ...(input.Source !== undefined && { + Source: serializeAws_restJson1AwsCodeBuildProjectSource(input.Source, context), }), - ...(input.SubnetIds !== undefined && { - SubnetIds: serializeAws_restJson1NonEmptyStringList(input.SubnetIds, context), + ...(input.VpcConfig !== undefined && { + VpcConfig: serializeAws_restJson1AwsCodeBuildProjectVpcConfig(input.VpcConfig, context), }), - ...(input.VPCId !== undefined && { VPCId: input.VPCId }), }; }; -const serializeAws_restJson1AwsElbv2LoadBalancerDetails = ( - input: AwsElbv2LoadBalancerDetails, +const serializeAws_restJson1AwsCodeBuildProjectEnvironment = ( + input: AwsCodeBuildProjectEnvironment, context: __SerdeContext ): any => { return { - ...(input.AvailabilityZones !== undefined && { - AvailabilityZones: serializeAws_restJson1AvailabilityZones(input.AvailabilityZones, context), - }), - ...(input.CanonicalHostedZoneId !== undefined && { CanonicalHostedZoneId: input.CanonicalHostedZoneId }), - ...(input.CreatedTime !== undefined && { CreatedTime: input.CreatedTime }), - ...(input.DNSName !== undefined && { DNSName: input.DNSName }), - ...(input.IpAddressType !== undefined && { IpAddressType: input.IpAddressType }), - ...(input.Scheme !== undefined && { Scheme: input.Scheme }), - ...(input.SecurityGroups !== undefined && { - SecurityGroups: serializeAws_restJson1SecurityGroups(input.SecurityGroups, context), + ...(input.Certificate !== undefined && { Certificate: input.Certificate }), + ...(input.ImagePullCredentialsType !== undefined && { ImagePullCredentialsType: input.ImagePullCredentialsType }), + ...(input.RegistryCredential !== undefined && { + RegistryCredential: serializeAws_restJson1AwsCodeBuildProjectEnvironmentRegistryCredential( + input.RegistryCredential, + context + ), }), - ...(input.State !== undefined && { State: serializeAws_restJson1LoadBalancerState(input.State, context) }), ...(input.Type !== undefined && { Type: input.Type }), - ...(input.VpcId !== undefined && { VpcId: input.VpcId }), }; }; -const serializeAws_restJson1AwsIamAccessKeyDetails = (input: AwsIamAccessKeyDetails, context: __SerdeContext): any => { +const serializeAws_restJson1AwsCodeBuildProjectEnvironmentRegistryCredential = ( + input: AwsCodeBuildProjectEnvironmentRegistryCredential, + context: __SerdeContext +): any => { return { - ...(input.CreatedAt !== undefined && { CreatedAt: input.CreatedAt }), - ...(input.PrincipalId !== undefined && { PrincipalId: input.PrincipalId }), - ...(input.PrincipalName !== undefined && { PrincipalName: input.PrincipalName }), - ...(input.PrincipalType !== undefined && { PrincipalType: input.PrincipalType }), - ...(input.Status !== undefined && { Status: input.Status }), - ...(input.UserName !== undefined && { UserName: input.UserName }), + ...(input.Credential !== undefined && { Credential: input.Credential }), + ...(input.CredentialProvider !== undefined && { CredentialProvider: input.CredentialProvider }), }; }; -const serializeAws_restJson1AwsIamRoleDetails = (input: AwsIamRoleDetails, context: __SerdeContext): any => { +const serializeAws_restJson1AwsCodeBuildProjectSource = ( + input: AwsCodeBuildProjectSource, + context: __SerdeContext +): any => { return { - ...(input.AssumeRolePolicyDocument !== undefined && { AssumeRolePolicyDocument: input.AssumeRolePolicyDocument }), - ...(input.CreateDate !== undefined && { CreateDate: input.CreateDate }), - ...(input.MaxSessionDuration !== undefined && { MaxSessionDuration: input.MaxSessionDuration }), - ...(input.Path !== undefined && { Path: input.Path }), - ...(input.RoleId !== undefined && { RoleId: input.RoleId }), - ...(input.RoleName !== undefined && { RoleName: input.RoleName }), + ...(input.GitCloneDepth !== undefined && { GitCloneDepth: input.GitCloneDepth }), + ...(input.InsecureSsl !== undefined && { InsecureSsl: input.InsecureSsl }), + ...(input.Location !== undefined && { Location: input.Location }), + ...(input.Type !== undefined && { Type: input.Type }), }; }; -const serializeAws_restJson1AwsKmsKeyDetails = (input: AwsKmsKeyDetails, context: __SerdeContext): any => { +const serializeAws_restJson1AwsCodeBuildProjectVpcConfig = ( + input: AwsCodeBuildProjectVpcConfig, + context: __SerdeContext +): any => { return { - ...(input.AWSAccountId !== undefined && { AWSAccountId: input.AWSAccountId }), - ...(input.CreationDate !== undefined && { CreationDate: input.CreationDate }), - ...(input.KeyId !== undefined && { KeyId: input.KeyId }), - ...(input.KeyManager !== undefined && { KeyManager: input.KeyManager }), - ...(input.KeyState !== undefined && { KeyState: input.KeyState }), - ...(input.Origin !== undefined && { Origin: input.Origin }), + ...(input.SecurityGroupIds !== undefined && { + SecurityGroupIds: serializeAws_restJson1NonEmptyStringList(input.SecurityGroupIds, context), + }), + ...(input.Subnets !== undefined && { Subnets: serializeAws_restJson1NonEmptyStringList(input.Subnets, context) }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), }; }; -const serializeAws_restJson1AwsLambdaFunctionCode = (input: AwsLambdaFunctionCode, context: __SerdeContext): any => { +const serializeAws_restJson1AwsCorsConfiguration = (input: AwsCorsConfiguration, context: __SerdeContext): any => { return { - ...(input.S3Bucket !== undefined && { S3Bucket: input.S3Bucket }), - ...(input.S3Key !== undefined && { S3Key: input.S3Key }), - ...(input.S3ObjectVersion !== undefined && { S3ObjectVersion: input.S3ObjectVersion }), - ...(input.ZipFile !== undefined && { ZipFile: input.ZipFile }), + ...(input.AllowCredentials !== undefined && { AllowCredentials: input.AllowCredentials }), + ...(input.AllowHeaders !== undefined && { + AllowHeaders: serializeAws_restJson1NonEmptyStringList(input.AllowHeaders, context), + }), + ...(input.AllowMethods !== undefined && { + AllowMethods: serializeAws_restJson1NonEmptyStringList(input.AllowMethods, context), + }), + ...(input.AllowOrigins !== undefined && { + AllowOrigins: serializeAws_restJson1NonEmptyStringList(input.AllowOrigins, context), + }), + ...(input.ExposeHeaders !== undefined && { + ExposeHeaders: serializeAws_restJson1NonEmptyStringList(input.ExposeHeaders, context), + }), + ...(input.MaxAge !== undefined && { MaxAge: input.MaxAge }), }; }; -const serializeAws_restJson1AwsLambdaFunctionDeadLetterConfig = ( - input: AwsLambdaFunctionDeadLetterConfig, +const serializeAws_restJson1AwsDynamoDbTableAttributeDefinition = ( + input: AwsDynamoDbTableAttributeDefinition, context: __SerdeContext ): any => { return { - ...(input.TargetArn !== undefined && { TargetArn: input.TargetArn }), + ...(input.AttributeName !== undefined && { AttributeName: input.AttributeName }), + ...(input.AttributeType !== undefined && { AttributeType: input.AttributeType }), }; }; -const serializeAws_restJson1AwsLambdaFunctionDetails = ( - input: AwsLambdaFunctionDetails, +const serializeAws_restJson1AwsDynamoDbTableAttributeDefinitionList = ( + input: AwsDynamoDbTableAttributeDefinition[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsDynamoDbTableAttributeDefinition(entry, context)); +}; + +const serializeAws_restJson1AwsDynamoDbTableBillingModeSummary = ( + input: AwsDynamoDbTableBillingModeSummary, context: __SerdeContext ): any => { return { - ...(input.Code !== undefined && { Code: serializeAws_restJson1AwsLambdaFunctionCode(input.Code, context) }), - ...(input.CodeSha256 !== undefined && { CodeSha256: input.CodeSha256 }), - ...(input.DeadLetterConfig !== undefined && { - DeadLetterConfig: serializeAws_restJson1AwsLambdaFunctionDeadLetterConfig(input.DeadLetterConfig, context), + ...(input.BillingMode !== undefined && { BillingMode: input.BillingMode }), + ...(input.LastUpdateToPayPerRequestDateTime !== undefined && { + LastUpdateToPayPerRequestDateTime: input.LastUpdateToPayPerRequestDateTime, }), - ...(input.Environment !== undefined && { - Environment: serializeAws_restJson1AwsLambdaFunctionEnvironment(input.Environment, context), + }; +}; + +const serializeAws_restJson1AwsDynamoDbTableDetails = ( + input: AwsDynamoDbTableDetails, + context: __SerdeContext +): any => { + return { + ...(input.AttributeDefinitions !== undefined && { + AttributeDefinitions: serializeAws_restJson1AwsDynamoDbTableAttributeDefinitionList( + input.AttributeDefinitions, + context + ), }), - ...(input.FunctionName !== undefined && { FunctionName: input.FunctionName }), - ...(input.Handler !== undefined && { Handler: input.Handler }), - ...(input.KmsKeyArn !== undefined && { KmsKeyArn: input.KmsKeyArn }), - ...(input.LastModified !== undefined && { LastModified: input.LastModified }), - ...(input.Layers !== undefined && { - Layers: serializeAws_restJson1AwsLambdaFunctionLayerList(input.Layers, context), + ...(input.BillingModeSummary !== undefined && { + BillingModeSummary: serializeAws_restJson1AwsDynamoDbTableBillingModeSummary(input.BillingModeSummary, context), }), - ...(input.MasterArn !== undefined && { MasterArn: input.MasterArn }), - ...(input.MemorySize !== undefined && { MemorySize: input.MemorySize }), - ...(input.RevisionId !== undefined && { RevisionId: input.RevisionId }), - ...(input.Role !== undefined && { Role: input.Role }), - ...(input.Runtime !== undefined && { Runtime: input.Runtime }), - ...(input.Timeout !== undefined && { Timeout: input.Timeout }), - ...(input.TracingConfig !== undefined && { - TracingConfig: serializeAws_restJson1AwsLambdaFunctionTracingConfig(input.TracingConfig, context), + ...(input.CreationDateTime !== undefined && { CreationDateTime: input.CreationDateTime }), + ...(input.GlobalSecondaryIndexes !== undefined && { + GlobalSecondaryIndexes: serializeAws_restJson1AwsDynamoDbTableGlobalSecondaryIndexList( + input.GlobalSecondaryIndexes, + context + ), }), - ...(input.Version !== undefined && { Version: input.Version }), - ...(input.VpcConfig !== undefined && { - VpcConfig: serializeAws_restJson1AwsLambdaFunctionVpcConfig(input.VpcConfig, context), + ...(input.GlobalTableVersion !== undefined && { GlobalTableVersion: input.GlobalTableVersion }), + ...(input.ItemCount !== undefined && { ItemCount: input.ItemCount }), + ...(input.KeySchema !== undefined && { + KeySchema: serializeAws_restJson1AwsDynamoDbTableKeySchemaList(input.KeySchema, context), + }), + ...(input.LatestStreamArn !== undefined && { LatestStreamArn: input.LatestStreamArn }), + ...(input.LatestStreamLabel !== undefined && { LatestStreamLabel: input.LatestStreamLabel }), + ...(input.LocalSecondaryIndexes !== undefined && { + LocalSecondaryIndexes: serializeAws_restJson1AwsDynamoDbTableLocalSecondaryIndexList( + input.LocalSecondaryIndexes, + context + ), + }), + ...(input.ProvisionedThroughput !== undefined && { + ProvisionedThroughput: serializeAws_restJson1AwsDynamoDbTableProvisionedThroughput( + input.ProvisionedThroughput, + context + ), }), + ...(input.Replicas !== undefined && { + Replicas: serializeAws_restJson1AwsDynamoDbTableReplicaList(input.Replicas, context), + }), + ...(input.RestoreSummary !== undefined && { + RestoreSummary: serializeAws_restJson1AwsDynamoDbTableRestoreSummary(input.RestoreSummary, context), + }), + ...(input.SseDescription !== undefined && { + SseDescription: serializeAws_restJson1AwsDynamoDbTableSseDescription(input.SseDescription, context), + }), + ...(input.StreamSpecification !== undefined && { + StreamSpecification: serializeAws_restJson1AwsDynamoDbTableStreamSpecification( + input.StreamSpecification, + context + ), + }), + ...(input.TableId !== undefined && { TableId: input.TableId }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + ...(input.TableSizeBytes !== undefined && { TableSizeBytes: input.TableSizeBytes }), + ...(input.TableStatus !== undefined && { TableStatus: input.TableStatus }), }; }; -const serializeAws_restJson1AwsLambdaFunctionEnvironment = ( - input: AwsLambdaFunctionEnvironment, +const serializeAws_restJson1AwsDynamoDbTableGlobalSecondaryIndex = ( + input: AwsDynamoDbTableGlobalSecondaryIndex, context: __SerdeContext ): any => { return { - ...(input.Error !== undefined && { - Error: serializeAws_restJson1AwsLambdaFunctionEnvironmentError(input.Error, context), + ...(input.Backfilling !== undefined && { Backfilling: input.Backfilling }), + ...(input.IndexArn !== undefined && { IndexArn: input.IndexArn }), + ...(input.IndexName !== undefined && { IndexName: input.IndexName }), + ...(input.IndexSizeBytes !== undefined && { IndexSizeBytes: input.IndexSizeBytes }), + ...(input.IndexStatus !== undefined && { IndexStatus: input.IndexStatus }), + ...(input.ItemCount !== undefined && { ItemCount: input.ItemCount }), + ...(input.KeySchema !== undefined && { + KeySchema: serializeAws_restJson1AwsDynamoDbTableKeySchemaList(input.KeySchema, context), + }), + ...(input.Projection !== undefined && { + Projection: serializeAws_restJson1AwsDynamoDbTableProjection(input.Projection, context), + }), + ...(input.ProvisionedThroughput !== undefined && { + ProvisionedThroughput: serializeAws_restJson1AwsDynamoDbTableProvisionedThroughput( + input.ProvisionedThroughput, + context + ), }), - ...(input.Variables !== undefined && { Variables: serializeAws_restJson1FieldMap(input.Variables, context) }), }; }; -const serializeAws_restJson1AwsLambdaFunctionEnvironmentError = ( - input: AwsLambdaFunctionEnvironmentError, +const serializeAws_restJson1AwsDynamoDbTableGlobalSecondaryIndexList = ( + input: AwsDynamoDbTableGlobalSecondaryIndex[], context: __SerdeContext ): any => { - return { - ...(input.ErrorCode !== undefined && { ErrorCode: input.ErrorCode }), - ...(input.Message !== undefined && { Message: input.Message }), - }; + return input.map((entry) => serializeAws_restJson1AwsDynamoDbTableGlobalSecondaryIndex(entry, context)); }; -const serializeAws_restJson1AwsLambdaFunctionLayer = (input: AwsLambdaFunctionLayer, context: __SerdeContext): any => { +const serializeAws_restJson1AwsDynamoDbTableKeySchema = ( + input: AwsDynamoDbTableKeySchema, + context: __SerdeContext +): any => { return { - ...(input.Arn !== undefined && { Arn: input.Arn }), - ...(input.CodeSize !== undefined && { CodeSize: input.CodeSize }), + ...(input.AttributeName !== undefined && { AttributeName: input.AttributeName }), + ...(input.KeyType !== undefined && { KeyType: input.KeyType }), }; }; -const serializeAws_restJson1AwsLambdaFunctionLayerList = ( - input: AwsLambdaFunctionLayer[], +const serializeAws_restJson1AwsDynamoDbTableKeySchemaList = ( + input: AwsDynamoDbTableKeySchema[], context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsLambdaFunctionLayer(entry, context)); + return input.map((entry) => serializeAws_restJson1AwsDynamoDbTableKeySchema(entry, context)); }; -const serializeAws_restJson1AwsLambdaFunctionTracingConfig = ( - input: AwsLambdaFunctionTracingConfig, +const serializeAws_restJson1AwsDynamoDbTableLocalSecondaryIndex = ( + input: AwsDynamoDbTableLocalSecondaryIndex, context: __SerdeContext ): any => { return { - ...(input.Mode !== undefined && { Mode: input.Mode }), + ...(input.IndexArn !== undefined && { IndexArn: input.IndexArn }), + ...(input.IndexName !== undefined && { IndexName: input.IndexName }), + ...(input.KeySchema !== undefined && { + KeySchema: serializeAws_restJson1AwsDynamoDbTableKeySchemaList(input.KeySchema, context), + }), + ...(input.Projection !== undefined && { + Projection: serializeAws_restJson1AwsDynamoDbTableProjection(input.Projection, context), + }), }; }; -const serializeAws_restJson1AwsLambdaFunctionVpcConfig = ( - input: AwsLambdaFunctionVpcConfig, +const serializeAws_restJson1AwsDynamoDbTableLocalSecondaryIndexList = ( + input: AwsDynamoDbTableLocalSecondaryIndex[], context: __SerdeContext ): any => { - return { - ...(input.SecurityGroupIds !== undefined && { - SecurityGroupIds: serializeAws_restJson1NonEmptyStringList(input.SecurityGroupIds, context), - }), - ...(input.SubnetIds !== undefined && { - SubnetIds: serializeAws_restJson1NonEmptyStringList(input.SubnetIds, context), - }), - ...(input.VpcId !== undefined && { VpcId: input.VpcId }), - }; + return input.map((entry) => serializeAws_restJson1AwsDynamoDbTableLocalSecondaryIndex(entry, context)); }; -const serializeAws_restJson1AwsLambdaLayerVersionDetails = ( - input: AwsLambdaLayerVersionDetails, +const serializeAws_restJson1AwsDynamoDbTableProjection = ( + input: AwsDynamoDbTableProjection, context: __SerdeContext ): any => { return { - ...(input.CompatibleRuntimes !== undefined && { - CompatibleRuntimes: serializeAws_restJson1NonEmptyStringList(input.CompatibleRuntimes, context), + ...(input.NonKeyAttributes !== undefined && { + NonKeyAttributes: serializeAws_restJson1StringList(input.NonKeyAttributes, context), }), - ...(input.CreatedDate !== undefined && { CreatedDate: input.CreatedDate }), - ...(input.Version !== undefined && { Version: input.Version }), + ...(input.ProjectionType !== undefined && { ProjectionType: input.ProjectionType }), }; }; -const serializeAws_restJson1AwsRdsDbInstanceAssociatedRole = ( - input: AwsRdsDbInstanceAssociatedRole, +const serializeAws_restJson1AwsDynamoDbTableProvisionedThroughput = ( + input: AwsDynamoDbTableProvisionedThroughput, context: __SerdeContext ): any => { return { - ...(input.FeatureName !== undefined && { FeatureName: input.FeatureName }), - ...(input.RoleArn !== undefined && { RoleArn: input.RoleArn }), - ...(input.Status !== undefined && { Status: input.Status }), + ...(input.LastDecreaseDateTime !== undefined && { LastDecreaseDateTime: input.LastDecreaseDateTime }), + ...(input.LastIncreaseDateTime !== undefined && { LastIncreaseDateTime: input.LastIncreaseDateTime }), + ...(input.NumberOfDecreasesToday !== undefined && { NumberOfDecreasesToday: input.NumberOfDecreasesToday }), + ...(input.ReadCapacityUnits !== undefined && { ReadCapacityUnits: input.ReadCapacityUnits }), + ...(input.WriteCapacityUnits !== undefined && { WriteCapacityUnits: input.WriteCapacityUnits }), }; }; -const serializeAws_restJson1AwsRdsDbInstanceAssociatedRoles = ( - input: AwsRdsDbInstanceAssociatedRole[], +const serializeAws_restJson1AwsDynamoDbTableProvisionedThroughputOverride = ( + input: AwsDynamoDbTableProvisionedThroughputOverride, context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsRdsDbInstanceAssociatedRole(entry, context)); + return { + ...(input.ReadCapacityUnits !== undefined && { ReadCapacityUnits: input.ReadCapacityUnits }), + }; }; -const serializeAws_restJson1AwsRdsDbInstanceDetails = ( - input: AwsRdsDbInstanceDetails, +const serializeAws_restJson1AwsDynamoDbTableReplica = ( + input: AwsDynamoDbTableReplica, context: __SerdeContext ): any => { return { - ...(input.AssociatedRoles !== undefined && { - AssociatedRoles: serializeAws_restJson1AwsRdsDbInstanceAssociatedRoles(input.AssociatedRoles, context), - }), - ...(input.CACertificateIdentifier !== undefined && { CACertificateIdentifier: input.CACertificateIdentifier }), - ...(input.DBClusterIdentifier !== undefined && { DBClusterIdentifier: input.DBClusterIdentifier }), - ...(input.DBInstanceClass !== undefined && { DBInstanceClass: input.DBInstanceClass }), - ...(input.DBInstanceIdentifier !== undefined && { DBInstanceIdentifier: input.DBInstanceIdentifier }), - ...(input.DBName !== undefined && { DBName: input.DBName }), - ...(input.DbInstancePort !== undefined && { DbInstancePort: input.DbInstancePort }), - ...(input.DbiResourceId !== undefined && { DbiResourceId: input.DbiResourceId }), - ...(input.DeletionProtection !== undefined && { DeletionProtection: input.DeletionProtection }), - ...(input.Endpoint !== undefined && { - Endpoint: serializeAws_restJson1AwsRdsDbInstanceEndpoint(input.Endpoint, context), + ...(input.GlobalSecondaryIndexes !== undefined && { + GlobalSecondaryIndexes: serializeAws_restJson1AwsDynamoDbTableReplicaGlobalSecondaryIndexList( + input.GlobalSecondaryIndexes, + context + ), }), - ...(input.Engine !== undefined && { Engine: input.Engine }), - ...(input.EngineVersion !== undefined && { EngineVersion: input.EngineVersion }), - ...(input.IAMDatabaseAuthenticationEnabled !== undefined && { - IAMDatabaseAuthenticationEnabled: input.IAMDatabaseAuthenticationEnabled, + ...(input.KmsMasterKeyId !== undefined && { KmsMasterKeyId: input.KmsMasterKeyId }), + ...(input.ProvisionedThroughputOverride !== undefined && { + ProvisionedThroughputOverride: serializeAws_restJson1AwsDynamoDbTableProvisionedThroughputOverride( + input.ProvisionedThroughputOverride, + context + ), }), - ...(input.InstanceCreateTime !== undefined && { InstanceCreateTime: input.InstanceCreateTime }), - ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), - ...(input.PubliclyAccessible !== undefined && { PubliclyAccessible: input.PubliclyAccessible }), - ...(input.StorageEncrypted !== undefined && { StorageEncrypted: input.StorageEncrypted }), - ...(input.TdeCredentialArn !== undefined && { TdeCredentialArn: input.TdeCredentialArn }), - ...(input.VpcSecurityGroups !== undefined && { - VpcSecurityGroups: serializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroups(input.VpcSecurityGroups, context), + ...(input.RegionName !== undefined && { RegionName: input.RegionName }), + ...(input.ReplicaStatus !== undefined && { ReplicaStatus: input.ReplicaStatus }), + ...(input.ReplicaStatusDescription !== undefined && { ReplicaStatusDescription: input.ReplicaStatusDescription }), + }; +}; + +const serializeAws_restJson1AwsDynamoDbTableReplicaGlobalSecondaryIndex = ( + input: AwsDynamoDbTableReplicaGlobalSecondaryIndex, + context: __SerdeContext +): any => { + return { + ...(input.IndexName !== undefined && { IndexName: input.IndexName }), + ...(input.ProvisionedThroughputOverride !== undefined && { + ProvisionedThroughputOverride: serializeAws_restJson1AwsDynamoDbTableProvisionedThroughputOverride( + input.ProvisionedThroughputOverride, + context + ), }), }; }; -const serializeAws_restJson1AwsRdsDbInstanceEndpoint = ( - input: AwsRdsDbInstanceEndpoint, +const serializeAws_restJson1AwsDynamoDbTableReplicaGlobalSecondaryIndexList = ( + input: AwsDynamoDbTableReplicaGlobalSecondaryIndex[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsDynamoDbTableReplicaGlobalSecondaryIndex(entry, context)); +}; + +const serializeAws_restJson1AwsDynamoDbTableReplicaList = ( + input: AwsDynamoDbTableReplica[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsDynamoDbTableReplica(entry, context)); +}; + +const serializeAws_restJson1AwsDynamoDbTableRestoreSummary = ( + input: AwsDynamoDbTableRestoreSummary, context: __SerdeContext ): any => { return { - ...(input.Address !== undefined && { Address: input.Address }), - ...(input.HostedZoneId !== undefined && { HostedZoneId: input.HostedZoneId }), - ...(input.Port !== undefined && { Port: input.Port }), + ...(input.RestoreDateTime !== undefined && { RestoreDateTime: input.RestoreDateTime }), + ...(input.RestoreInProgress !== undefined && { RestoreInProgress: input.RestoreInProgress }), + ...(input.SourceBackupArn !== undefined && { SourceBackupArn: input.SourceBackupArn }), + ...(input.SourceTableArn !== undefined && { SourceTableArn: input.SourceTableArn }), }; }; -const serializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroup = ( - input: AwsRdsDbInstanceVpcSecurityGroup, +const serializeAws_restJson1AwsDynamoDbTableSseDescription = ( + input: AwsDynamoDbTableSseDescription, context: __SerdeContext ): any => { return { + ...(input.InaccessibleEncryptionDateTime !== undefined && { + InaccessibleEncryptionDateTime: input.InaccessibleEncryptionDateTime, + }), + ...(input.KmsMasterKeyArn !== undefined && { KmsMasterKeyArn: input.KmsMasterKeyArn }), + ...(input.SseType !== undefined && { SseType: input.SseType }), ...(input.Status !== undefined && { Status: input.Status }), - ...(input.VpcSecurityGroupId !== undefined && { VpcSecurityGroupId: input.VpcSecurityGroupId }), }; }; -const serializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroups = ( - input: AwsRdsDbInstanceVpcSecurityGroup[], +const serializeAws_restJson1AwsDynamoDbTableStreamSpecification = ( + input: AwsDynamoDbTableStreamSpecification, context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroup(entry, context)); + return { + ...(input.StreamEnabled !== undefined && { StreamEnabled: input.StreamEnabled }), + ...(input.StreamViewType !== undefined && { StreamViewType: input.StreamViewType }), + }; }; -const serializeAws_restJson1AwsS3BucketDetails = (input: AwsS3BucketDetails, context: __SerdeContext): any => { +const serializeAws_restJson1AwsEc2EipDetails = (input: AwsEc2EipDetails, context: __SerdeContext): any => { return { - ...(input.CreatedAt !== undefined && { CreatedAt: input.CreatedAt }), - ...(input.OwnerId !== undefined && { OwnerId: input.OwnerId }), - ...(input.OwnerName !== undefined && { OwnerName: input.OwnerName }), - ...(input.ServerSideEncryptionConfiguration !== undefined && { - ServerSideEncryptionConfiguration: serializeAws_restJson1AwsS3BucketServerSideEncryptionConfiguration( - input.ServerSideEncryptionConfiguration, - context - ), + ...(input.AllocationId !== undefined && { AllocationId: input.AllocationId }), + ...(input.AssociationId !== undefined && { AssociationId: input.AssociationId }), + ...(input.Domain !== undefined && { Domain: input.Domain }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), + ...(input.NetworkBorderGroup !== undefined && { NetworkBorderGroup: input.NetworkBorderGroup }), + ...(input.NetworkInterfaceId !== undefined && { NetworkInterfaceId: input.NetworkInterfaceId }), + ...(input.NetworkInterfaceOwnerId !== undefined && { NetworkInterfaceOwnerId: input.NetworkInterfaceOwnerId }), + ...(input.PrivateIpAddress !== undefined && { PrivateIpAddress: input.PrivateIpAddress }), + ...(input.PublicIp !== undefined && { PublicIp: input.PublicIp }), + ...(input.PublicIpv4Pool !== undefined && { PublicIpv4Pool: input.PublicIpv4Pool }), + }; +}; + +const serializeAws_restJson1AwsEc2InstanceDetails = (input: AwsEc2InstanceDetails, context: __SerdeContext): any => { + return { + ...(input.IamInstanceProfileArn !== undefined && { IamInstanceProfileArn: input.IamInstanceProfileArn }), + ...(input.ImageId !== undefined && { ImageId: input.ImageId }), + ...(input.IpV4Addresses !== undefined && { + IpV4Addresses: serializeAws_restJson1StringList(input.IpV4Addresses, context), + }), + ...(input.IpV6Addresses !== undefined && { + IpV6Addresses: serializeAws_restJson1StringList(input.IpV6Addresses, context), }), + ...(input.KeyName !== undefined && { KeyName: input.KeyName }), + ...(input.LaunchedAt !== undefined && { LaunchedAt: input.LaunchedAt }), + ...(input.SubnetId !== undefined && { SubnetId: input.SubnetId }), + ...(input.Type !== undefined && { Type: input.Type }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), }; }; -const serializeAws_restJson1AwsS3BucketServerSideEncryptionByDefault = ( - input: AwsS3BucketServerSideEncryptionByDefault, +const serializeAws_restJson1AwsEc2NetworkInterfaceAttachment = ( + input: AwsEc2NetworkInterfaceAttachment, context: __SerdeContext ): any => { return { - ...(input.KMSMasterKeyID !== undefined && { KMSMasterKeyID: input.KMSMasterKeyID }), - ...(input.SSEAlgorithm !== undefined && { SSEAlgorithm: input.SSEAlgorithm }), + ...(input.AttachTime !== undefined && { AttachTime: input.AttachTime }), + ...(input.AttachmentId !== undefined && { AttachmentId: input.AttachmentId }), + ...(input.DeleteOnTermination !== undefined && { DeleteOnTermination: input.DeleteOnTermination }), + ...(input.DeviceIndex !== undefined && { DeviceIndex: input.DeviceIndex }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), + ...(input.InstanceOwnerId !== undefined && { InstanceOwnerId: input.InstanceOwnerId }), + ...(input.Status !== undefined && { Status: input.Status }), }; }; -const serializeAws_restJson1AwsS3BucketServerSideEncryptionConfiguration = ( - input: AwsS3BucketServerSideEncryptionConfiguration, +const serializeAws_restJson1AwsEc2NetworkInterfaceDetails = ( + input: AwsEc2NetworkInterfaceDetails, context: __SerdeContext ): any => { return { - ...(input.Rules !== undefined && { - Rules: serializeAws_restJson1AwsS3BucketServerSideEncryptionRules(input.Rules, context), + ...(input.Attachment !== undefined && { + Attachment: serializeAws_restJson1AwsEc2NetworkInterfaceAttachment(input.Attachment, context), + }), + ...(input.NetworkInterfaceId !== undefined && { NetworkInterfaceId: input.NetworkInterfaceId }), + ...(input.SecurityGroups !== undefined && { + SecurityGroups: serializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroupList(input.SecurityGroups, context), }), + ...(input.SourceDestCheck !== undefined && { SourceDestCheck: input.SourceDestCheck }), }; }; -const serializeAws_restJson1AwsS3BucketServerSideEncryptionRule = ( - input: AwsS3BucketServerSideEncryptionRule, +const serializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroup = ( + input: AwsEc2NetworkInterfaceSecurityGroup, context: __SerdeContext ): any => { return { - ...(input.ApplyServerSideEncryptionByDefault !== undefined && { - ApplyServerSideEncryptionByDefault: serializeAws_restJson1AwsS3BucketServerSideEncryptionByDefault( - input.ApplyServerSideEncryptionByDefault, - context - ), - }), + ...(input.GroupId !== undefined && { GroupId: input.GroupId }), + ...(input.GroupName !== undefined && { GroupName: input.GroupName }), }; }; -const serializeAws_restJson1AwsS3BucketServerSideEncryptionRules = ( - input: AwsS3BucketServerSideEncryptionRule[], +const serializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroupList = ( + input: AwsEc2NetworkInterfaceSecurityGroup[], context: __SerdeContext ): any => { - return input.map((entry) => serializeAws_restJson1AwsS3BucketServerSideEncryptionRule(entry, context)); + return input.map((entry) => serializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroup(entry, context)); }; -const serializeAws_restJson1AwsS3ObjectDetails = (input: AwsS3ObjectDetails, context: __SerdeContext): any => { +const serializeAws_restJson1AwsEc2SecurityGroupDetails = ( + input: AwsEc2SecurityGroupDetails, + context: __SerdeContext +): any => { return { - ...(input.ContentType !== undefined && { ContentType: input.ContentType }), - ...(input.ETag !== undefined && { ETag: input.ETag }), - ...(input.LastModified !== undefined && { LastModified: input.LastModified }), - ...(input.SSEKMSKeyId !== undefined && { SSEKMSKeyId: input.SSEKMSKeyId }), - ...(input.ServerSideEncryption !== undefined && { ServerSideEncryption: input.ServerSideEncryption }), - ...(input.VersionId !== undefined && { VersionId: input.VersionId }), + ...(input.GroupId !== undefined && { GroupId: input.GroupId }), + ...(input.GroupName !== undefined && { GroupName: input.GroupName }), + ...(input.IpPermissions !== undefined && { + IpPermissions: serializeAws_restJson1AwsEc2SecurityGroupIpPermissionList(input.IpPermissions, context), + }), + ...(input.IpPermissionsEgress !== undefined && { + IpPermissionsEgress: serializeAws_restJson1AwsEc2SecurityGroupIpPermissionList( + input.IpPermissionsEgress, + context + ), + }), + ...(input.OwnerId !== undefined && { OwnerId: input.OwnerId }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), }; }; -const serializeAws_restJson1AwsSecurityFinding = (input: AwsSecurityFinding, context: __SerdeContext): any => { +const serializeAws_restJson1AwsEc2SecurityGroupIpPermission = ( + input: AwsEc2SecurityGroupIpPermission, + context: __SerdeContext +): any => { return { - ...(input.AwsAccountId !== undefined && { AwsAccountId: input.AwsAccountId }), - ...(input.Compliance !== undefined && { Compliance: serializeAws_restJson1Compliance(input.Compliance, context) }), - ...(input.Confidence !== undefined && { Confidence: input.Confidence }), - ...(input.CreatedAt !== undefined && { CreatedAt: input.CreatedAt }), - ...(input.Criticality !== undefined && { Criticality: input.Criticality }), - ...(input.Description !== undefined && { Description: input.Description }), - ...(input.FirstObservedAt !== undefined && { FirstObservedAt: input.FirstObservedAt }), - ...(input.GeneratorId !== undefined && { GeneratorId: input.GeneratorId }), - ...(input.Id !== undefined && { Id: input.Id }), - ...(input.LastObservedAt !== undefined && { LastObservedAt: input.LastObservedAt }), - ...(input.Malware !== undefined && { Malware: serializeAws_restJson1MalwareList(input.Malware, context) }), - ...(input.Network !== undefined && { Network: serializeAws_restJson1Network(input.Network, context) }), - ...(input.NetworkPath !== undefined && { - NetworkPath: serializeAws_restJson1NetworkPathList(input.NetworkPath, context), - }), - ...(input.Note !== undefined && { Note: serializeAws_restJson1Note(input.Note, context) }), - ...(input.Process !== undefined && { Process: serializeAws_restJson1ProcessDetails(input.Process, context) }), - ...(input.ProductArn !== undefined && { ProductArn: input.ProductArn }), - ...(input.ProductFields !== undefined && { - ProductFields: serializeAws_restJson1FieldMap(input.ProductFields, context), - }), - ...(input.RecordState !== undefined && { RecordState: input.RecordState }), - ...(input.RelatedFindings !== undefined && { - RelatedFindings: serializeAws_restJson1RelatedFindingList(input.RelatedFindings, context), - }), - ...(input.Remediation !== undefined && { - Remediation: serializeAws_restJson1Remediation(input.Remediation, context), + ...(input.FromPort !== undefined && { FromPort: input.FromPort }), + ...(input.IpProtocol !== undefined && { IpProtocol: input.IpProtocol }), + ...(input.IpRanges !== undefined && { + IpRanges: serializeAws_restJson1AwsEc2SecurityGroupIpRangeList(input.IpRanges, context), }), - ...(input.Resources !== undefined && { Resources: serializeAws_restJson1ResourceList(input.Resources, context) }), - ...(input.SchemaVersion !== undefined && { SchemaVersion: input.SchemaVersion }), - ...(input.Severity !== undefined && { Severity: serializeAws_restJson1Severity(input.Severity, context) }), - ...(input.SourceUrl !== undefined && { SourceUrl: input.SourceUrl }), - ...(input.ThreatIntelIndicators !== undefined && { - ThreatIntelIndicators: serializeAws_restJson1ThreatIntelIndicatorList(input.ThreatIntelIndicators, context), + ...(input.Ipv6Ranges !== undefined && { + Ipv6Ranges: serializeAws_restJson1AwsEc2SecurityGroupIpv6RangeList(input.Ipv6Ranges, context), }), - ...(input.Title !== undefined && { Title: input.Title }), - ...(input.Types !== undefined && { Types: serializeAws_restJson1TypeList(input.Types, context) }), - ...(input.UpdatedAt !== undefined && { UpdatedAt: input.UpdatedAt }), - ...(input.UserDefinedFields !== undefined && { - UserDefinedFields: serializeAws_restJson1FieldMap(input.UserDefinedFields, context), + ...(input.PrefixListIds !== undefined && { + PrefixListIds: serializeAws_restJson1AwsEc2SecurityGroupPrefixListIdList(input.PrefixListIds, context), }), - ...(input.VerificationState !== undefined && { VerificationState: input.VerificationState }), - ...(input.Vulnerabilities !== undefined && { - Vulnerabilities: serializeAws_restJson1VulnerabilityList(input.Vulnerabilities, context), + ...(input.ToPort !== undefined && { ToPort: input.ToPort }), + ...(input.UserIdGroupPairs !== undefined && { + UserIdGroupPairs: serializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPairList(input.UserIdGroupPairs, context), }), - ...(input.Workflow !== undefined && { Workflow: serializeAws_restJson1Workflow(input.Workflow, context) }), - ...(input.WorkflowState !== undefined && { WorkflowState: input.WorkflowState }), }; }; -const serializeAws_restJson1AwsSecurityFindingFilters = ( - input: AwsSecurityFindingFilters, +const serializeAws_restJson1AwsEc2SecurityGroupIpPermissionList = ( + input: AwsEc2SecurityGroupIpPermission[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsEc2SecurityGroupIpPermission(entry, context)); +}; + +const serializeAws_restJson1AwsEc2SecurityGroupIpRange = ( + input: AwsEc2SecurityGroupIpRange, context: __SerdeContext ): any => { return { - ...(input.AwsAccountId !== undefined && { - AwsAccountId: serializeAws_restJson1StringFilterList(input.AwsAccountId, context), + ...(input.CidrIp !== undefined && { CidrIp: input.CidrIp }), + }; +}; + +const serializeAws_restJson1AwsEc2SecurityGroupIpRangeList = ( + input: AwsEc2SecurityGroupIpRange[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsEc2SecurityGroupIpRange(entry, context)); +}; + +const serializeAws_restJson1AwsEc2SecurityGroupIpv6Range = ( + input: AwsEc2SecurityGroupIpv6Range, + context: __SerdeContext +): any => { + return { + ...(input.CidrIpv6 !== undefined && { CidrIpv6: input.CidrIpv6 }), + }; +}; + +const serializeAws_restJson1AwsEc2SecurityGroupIpv6RangeList = ( + input: AwsEc2SecurityGroupIpv6Range[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsEc2SecurityGroupIpv6Range(entry, context)); +}; + +const serializeAws_restJson1AwsEc2SecurityGroupPrefixListId = ( + input: AwsEc2SecurityGroupPrefixListId, + context: __SerdeContext +): any => { + return { + ...(input.PrefixListId !== undefined && { PrefixListId: input.PrefixListId }), + }; +}; + +const serializeAws_restJson1AwsEc2SecurityGroupPrefixListIdList = ( + input: AwsEc2SecurityGroupPrefixListId[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsEc2SecurityGroupPrefixListId(entry, context)); +}; + +const serializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPair = ( + input: AwsEc2SecurityGroupUserIdGroupPair, + context: __SerdeContext +): any => { + return { + ...(input.GroupId !== undefined && { GroupId: input.GroupId }), + ...(input.GroupName !== undefined && { GroupName: input.GroupName }), + ...(input.PeeringStatus !== undefined && { PeeringStatus: input.PeeringStatus }), + ...(input.UserId !== undefined && { UserId: input.UserId }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), + ...(input.VpcPeeringConnectionId !== undefined && { VpcPeeringConnectionId: input.VpcPeeringConnectionId }), + }; +}; + +const serializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPairList = ( + input: AwsEc2SecurityGroupUserIdGroupPair[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPair(entry, context)); +}; + +const serializeAws_restJson1AwsEc2VolumeAttachment = (input: AwsEc2VolumeAttachment, context: __SerdeContext): any => { + return { + ...(input.AttachTime !== undefined && { AttachTime: input.AttachTime }), + ...(input.DeleteOnTermination !== undefined && { DeleteOnTermination: input.DeleteOnTermination }), + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsEc2VolumeAttachmentList = ( + input: AwsEc2VolumeAttachment[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsEc2VolumeAttachment(entry, context)); +}; + +const serializeAws_restJson1AwsEc2VolumeDetails = (input: AwsEc2VolumeDetails, context: __SerdeContext): any => { + return { + ...(input.Attachments !== undefined && { + Attachments: serializeAws_restJson1AwsEc2VolumeAttachmentList(input.Attachments, context), }), - ...(input.CompanyName !== undefined && { - CompanyName: serializeAws_restJson1StringFilterList(input.CompanyName, context), + ...(input.CreateTime !== undefined && { CreateTime: input.CreateTime }), + ...(input.Encrypted !== undefined && { Encrypted: input.Encrypted }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + ...(input.Size !== undefined && { Size: input.Size }), + ...(input.SnapshotId !== undefined && { SnapshotId: input.SnapshotId }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsEc2VpcDetails = (input: AwsEc2VpcDetails, context: __SerdeContext): any => { + return { + ...(input.CidrBlockAssociationSet !== undefined && { + CidrBlockAssociationSet: serializeAws_restJson1CidrBlockAssociationList(input.CidrBlockAssociationSet, context), }), - ...(input.ComplianceStatus !== undefined && { - ComplianceStatus: serializeAws_restJson1StringFilterList(input.ComplianceStatus, context), + ...(input.DhcpOptionsId !== undefined && { DhcpOptionsId: input.DhcpOptionsId }), + ...(input.Ipv6CidrBlockAssociationSet !== undefined && { + Ipv6CidrBlockAssociationSet: serializeAws_restJson1Ipv6CidrBlockAssociationList( + input.Ipv6CidrBlockAssociationSet, + context + ), }), - ...(input.Confidence !== undefined && { - Confidence: serializeAws_restJson1NumberFilterList(input.Confidence, context), + ...(input.State !== undefined && { State: input.State }), + }; +}; + +const serializeAws_restJson1AwsElasticsearchDomainDetails = ( + input: AwsElasticsearchDomainDetails, + context: __SerdeContext +): any => { + return { + ...(input.AccessPolicies !== undefined && { AccessPolicies: input.AccessPolicies }), + ...(input.DomainEndpointOptions !== undefined && { + DomainEndpointOptions: serializeAws_restJson1AwsElasticsearchDomainDomainEndpointOptions( + input.DomainEndpointOptions, + context + ), }), - ...(input.CreatedAt !== undefined && { CreatedAt: serializeAws_restJson1DateFilterList(input.CreatedAt, context) }), - ...(input.Criticality !== undefined && { - Criticality: serializeAws_restJson1NumberFilterList(input.Criticality, context), + ...(input.DomainId !== undefined && { DomainId: input.DomainId }), + ...(input.DomainName !== undefined && { DomainName: input.DomainName }), + ...(input.ElasticsearchVersion !== undefined && { ElasticsearchVersion: input.ElasticsearchVersion }), + ...(input.EncryptionAtRestOptions !== undefined && { + EncryptionAtRestOptions: serializeAws_restJson1AwsElasticsearchDomainEncryptionAtRestOptions( + input.EncryptionAtRestOptions, + context + ), }), - ...(input.Description !== undefined && { - Description: serializeAws_restJson1StringFilterList(input.Description, context), + ...(input.Endpoint !== undefined && { Endpoint: input.Endpoint }), + ...(input.Endpoints !== undefined && { Endpoints: serializeAws_restJson1FieldMap(input.Endpoints, context) }), + ...(input.NodeToNodeEncryptionOptions !== undefined && { + NodeToNodeEncryptionOptions: serializeAws_restJson1AwsElasticsearchDomainNodeToNodeEncryptionOptions( + input.NodeToNodeEncryptionOptions, + context + ), }), - ...(input.FirstObservedAt !== undefined && { - FirstObservedAt: serializeAws_restJson1DateFilterList(input.FirstObservedAt, context), + ...(input.VPCOptions !== undefined && { + VPCOptions: serializeAws_restJson1AwsElasticsearchDomainVPCOptions(input.VPCOptions, context), }), - ...(input.GeneratorId !== undefined && { - GeneratorId: serializeAws_restJson1StringFilterList(input.GeneratorId, context), + }; +}; + +const serializeAws_restJson1AwsElasticsearchDomainDomainEndpointOptions = ( + input: AwsElasticsearchDomainDomainEndpointOptions, + context: __SerdeContext +): any => { + return { + ...(input.EnforceHTTPS !== undefined && { EnforceHTTPS: input.EnforceHTTPS }), + ...(input.TLSSecurityPolicy !== undefined && { TLSSecurityPolicy: input.TLSSecurityPolicy }), + }; +}; + +const serializeAws_restJson1AwsElasticsearchDomainEncryptionAtRestOptions = ( + input: AwsElasticsearchDomainEncryptionAtRestOptions, + context: __SerdeContext +): any => { + return { + ...(input.Enabled !== undefined && { Enabled: input.Enabled }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + }; +}; + +const serializeAws_restJson1AwsElasticsearchDomainNodeToNodeEncryptionOptions = ( + input: AwsElasticsearchDomainNodeToNodeEncryptionOptions, + context: __SerdeContext +): any => { + return { + ...(input.Enabled !== undefined && { Enabled: input.Enabled }), + }; +}; + +const serializeAws_restJson1AwsElasticsearchDomainVPCOptions = ( + input: AwsElasticsearchDomainVPCOptions, + context: __SerdeContext +): any => { + return { + ...(input.AvailabilityZones !== undefined && { + AvailabilityZones: serializeAws_restJson1NonEmptyStringList(input.AvailabilityZones, context), }), - ...(input.Id !== undefined && { Id: serializeAws_restJson1StringFilterList(input.Id, context) }), - ...(input.Keyword !== undefined && { Keyword: serializeAws_restJson1KeywordFilterList(input.Keyword, context) }), - ...(input.LastObservedAt !== undefined && { - LastObservedAt: serializeAws_restJson1DateFilterList(input.LastObservedAt, context), + ...(input.SecurityGroupIds !== undefined && { + SecurityGroupIds: serializeAws_restJson1NonEmptyStringList(input.SecurityGroupIds, context), }), - ...(input.MalwareName !== undefined && { - MalwareName: serializeAws_restJson1StringFilterList(input.MalwareName, context), + ...(input.SubnetIds !== undefined && { + SubnetIds: serializeAws_restJson1NonEmptyStringList(input.SubnetIds, context), }), - ...(input.MalwarePath !== undefined && { - MalwarePath: serializeAws_restJson1StringFilterList(input.MalwarePath, context), - }), - ...(input.MalwareState !== undefined && { - MalwareState: serializeAws_restJson1StringFilterList(input.MalwareState, context), - }), - ...(input.MalwareType !== undefined && { - MalwareType: serializeAws_restJson1StringFilterList(input.MalwareType, context), - }), - ...(input.NetworkDestinationDomain !== undefined && { - NetworkDestinationDomain: serializeAws_restJson1StringFilterList(input.NetworkDestinationDomain, context), - }), - ...(input.NetworkDestinationIpV4 !== undefined && { - NetworkDestinationIpV4: serializeAws_restJson1IpFilterList(input.NetworkDestinationIpV4, context), - }), - ...(input.NetworkDestinationIpV6 !== undefined && { - NetworkDestinationIpV6: serializeAws_restJson1IpFilterList(input.NetworkDestinationIpV6, context), - }), - ...(input.NetworkDestinationPort !== undefined && { - NetworkDestinationPort: serializeAws_restJson1NumberFilterList(input.NetworkDestinationPort, context), - }), - ...(input.NetworkDirection !== undefined && { - NetworkDirection: serializeAws_restJson1StringFilterList(input.NetworkDirection, context), - }), - ...(input.NetworkProtocol !== undefined && { - NetworkProtocol: serializeAws_restJson1StringFilterList(input.NetworkProtocol, context), - }), - ...(input.NetworkSourceDomain !== undefined && { - NetworkSourceDomain: serializeAws_restJson1StringFilterList(input.NetworkSourceDomain, context), - }), - ...(input.NetworkSourceIpV4 !== undefined && { - NetworkSourceIpV4: serializeAws_restJson1IpFilterList(input.NetworkSourceIpV4, context), - }), - ...(input.NetworkSourceIpV6 !== undefined && { - NetworkSourceIpV6: serializeAws_restJson1IpFilterList(input.NetworkSourceIpV6, context), - }), - ...(input.NetworkSourceMac !== undefined && { - NetworkSourceMac: serializeAws_restJson1StringFilterList(input.NetworkSourceMac, context), - }), - ...(input.NetworkSourcePort !== undefined && { - NetworkSourcePort: serializeAws_restJson1NumberFilterList(input.NetworkSourcePort, context), - }), - ...(input.NoteText !== undefined && { NoteText: serializeAws_restJson1StringFilterList(input.NoteText, context) }), - ...(input.NoteUpdatedAt !== undefined && { - NoteUpdatedAt: serializeAws_restJson1DateFilterList(input.NoteUpdatedAt, context), - }), - ...(input.NoteUpdatedBy !== undefined && { - NoteUpdatedBy: serializeAws_restJson1StringFilterList(input.NoteUpdatedBy, context), - }), - ...(input.ProcessLaunchedAt !== undefined && { - ProcessLaunchedAt: serializeAws_restJson1DateFilterList(input.ProcessLaunchedAt, context), - }), - ...(input.ProcessName !== undefined && { - ProcessName: serializeAws_restJson1StringFilterList(input.ProcessName, context), - }), - ...(input.ProcessParentPid !== undefined && { - ProcessParentPid: serializeAws_restJson1NumberFilterList(input.ProcessParentPid, context), - }), - ...(input.ProcessPath !== undefined && { - ProcessPath: serializeAws_restJson1StringFilterList(input.ProcessPath, context), - }), - ...(input.ProcessPid !== undefined && { - ProcessPid: serializeAws_restJson1NumberFilterList(input.ProcessPid, context), - }), - ...(input.ProcessTerminatedAt !== undefined && { - ProcessTerminatedAt: serializeAws_restJson1DateFilterList(input.ProcessTerminatedAt, context), - }), - ...(input.ProductArn !== undefined && { - ProductArn: serializeAws_restJson1StringFilterList(input.ProductArn, context), - }), - ...(input.ProductFields !== undefined && { - ProductFields: serializeAws_restJson1MapFilterList(input.ProductFields, context), - }), - ...(input.ProductName !== undefined && { - ProductName: serializeAws_restJson1StringFilterList(input.ProductName, context), - }), - ...(input.RecommendationText !== undefined && { - RecommendationText: serializeAws_restJson1StringFilterList(input.RecommendationText, context), - }), - ...(input.RecordState !== undefined && { - RecordState: serializeAws_restJson1StringFilterList(input.RecordState, context), + ...(input.VPCId !== undefined && { VPCId: input.VPCId }), + }; +}; + +const serializeAws_restJson1AwsElbAppCookieStickinessPolicies = ( + input: AwsElbAppCookieStickinessPolicy[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsElbAppCookieStickinessPolicy(entry, context)); +}; + +const serializeAws_restJson1AwsElbAppCookieStickinessPolicy = ( + input: AwsElbAppCookieStickinessPolicy, + context: __SerdeContext +): any => { + return { + ...(input.CookieName !== undefined && { CookieName: input.CookieName }), + ...(input.PolicyName !== undefined && { PolicyName: input.PolicyName }), + }; +}; + +const serializeAws_restJson1AwsElbLbCookieStickinessPolicies = ( + input: AwsElbLbCookieStickinessPolicy[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsElbLbCookieStickinessPolicy(entry, context)); +}; + +const serializeAws_restJson1AwsElbLbCookieStickinessPolicy = ( + input: AwsElbLbCookieStickinessPolicy, + context: __SerdeContext +): any => { + return { + ...(input.CookieExpirationPeriod !== undefined && { CookieExpirationPeriod: input.CookieExpirationPeriod }), + ...(input.PolicyName !== undefined && { PolicyName: input.PolicyName }), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerAccessLog = ( + input: AwsElbLoadBalancerAccessLog, + context: __SerdeContext +): any => { + return { + ...(input.EmitInterval !== undefined && { EmitInterval: input.EmitInterval }), + ...(input.Enabled !== undefined && { Enabled: input.Enabled }), + ...(input.S3BucketName !== undefined && { S3BucketName: input.S3BucketName }), + ...(input.S3BucketPrefix !== undefined && { S3BucketPrefix: input.S3BucketPrefix }), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerAttributes = ( + input: AwsElbLoadBalancerAttributes, + context: __SerdeContext +): any => { + return { + ...(input.AccessLog !== undefined && { + AccessLog: serializeAws_restJson1AwsElbLoadBalancerAccessLog(input.AccessLog, context), }), - ...(input.RelatedFindingsId !== undefined && { - RelatedFindingsId: serializeAws_restJson1StringFilterList(input.RelatedFindingsId, context), + ...(input.ConnectionDraining !== undefined && { + ConnectionDraining: serializeAws_restJson1AwsElbLoadBalancerConnectionDraining(input.ConnectionDraining, context), }), - ...(input.RelatedFindingsProductArn !== undefined && { - RelatedFindingsProductArn: serializeAws_restJson1StringFilterList(input.RelatedFindingsProductArn, context), + ...(input.ConnectionSettings !== undefined && { + ConnectionSettings: serializeAws_restJson1AwsElbLoadBalancerConnectionSettings(input.ConnectionSettings, context), }), - ...(input.ResourceAwsEc2InstanceIamInstanceProfileArn !== undefined && { - ResourceAwsEc2InstanceIamInstanceProfileArn: serializeAws_restJson1StringFilterList( - input.ResourceAwsEc2InstanceIamInstanceProfileArn, + ...(input.CrossZoneLoadBalancing !== undefined && { + CrossZoneLoadBalancing: serializeAws_restJson1AwsElbLoadBalancerCrossZoneLoadBalancing( + input.CrossZoneLoadBalancing, context ), }), - ...(input.ResourceAwsEc2InstanceImageId !== undefined && { - ResourceAwsEc2InstanceImageId: serializeAws_restJson1StringFilterList( - input.ResourceAwsEc2InstanceImageId, - context - ), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerBackendServerDescription = ( + input: AwsElbLoadBalancerBackendServerDescription, + context: __SerdeContext +): any => { + return { + ...(input.InstancePort !== undefined && { InstancePort: input.InstancePort }), + ...(input.PolicyNames !== undefined && { + PolicyNames: serializeAws_restJson1StringList(input.PolicyNames, context), }), - ...(input.ResourceAwsEc2InstanceIpV4Addresses !== undefined && { - ResourceAwsEc2InstanceIpV4Addresses: serializeAws_restJson1IpFilterList( - input.ResourceAwsEc2InstanceIpV4Addresses, - context - ), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerBackendServerDescriptions = ( + input: AwsElbLoadBalancerBackendServerDescription[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsElbLoadBalancerBackendServerDescription(entry, context)); +}; + +const serializeAws_restJson1AwsElbLoadBalancerConnectionDraining = ( + input: AwsElbLoadBalancerConnectionDraining, + context: __SerdeContext +): any => { + return { + ...(input.Enabled !== undefined && { Enabled: input.Enabled }), + ...(input.Timeout !== undefined && { Timeout: input.Timeout }), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerConnectionSettings = ( + input: AwsElbLoadBalancerConnectionSettings, + context: __SerdeContext +): any => { + return { + ...(input.IdleTimeout !== undefined && { IdleTimeout: input.IdleTimeout }), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerCrossZoneLoadBalancing = ( + input: AwsElbLoadBalancerCrossZoneLoadBalancing, + context: __SerdeContext +): any => { + return { + ...(input.Enabled !== undefined && { Enabled: input.Enabled }), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerDetails = ( + input: AwsElbLoadBalancerDetails, + context: __SerdeContext +): any => { + return { + ...(input.AvailabilityZones !== undefined && { + AvailabilityZones: serializeAws_restJson1StringList(input.AvailabilityZones, context), }), - ...(input.ResourceAwsEc2InstanceIpV6Addresses !== undefined && { - ResourceAwsEc2InstanceIpV6Addresses: serializeAws_restJson1IpFilterList( - input.ResourceAwsEc2InstanceIpV6Addresses, + ...(input.BackendServerDescriptions !== undefined && { + BackendServerDescriptions: serializeAws_restJson1AwsElbLoadBalancerBackendServerDescriptions( + input.BackendServerDescriptions, context ), }), - ...(input.ResourceAwsEc2InstanceKeyName !== undefined && { - ResourceAwsEc2InstanceKeyName: serializeAws_restJson1StringFilterList( - input.ResourceAwsEc2InstanceKeyName, - context - ), + ...(input.CanonicalHostedZoneName !== undefined && { CanonicalHostedZoneName: input.CanonicalHostedZoneName }), + ...(input.CanonicalHostedZoneNameID !== undefined && { + CanonicalHostedZoneNameID: input.CanonicalHostedZoneNameID, }), - ...(input.ResourceAwsEc2InstanceLaunchedAt !== undefined && { - ResourceAwsEc2InstanceLaunchedAt: serializeAws_restJson1DateFilterList( - input.ResourceAwsEc2InstanceLaunchedAt, - context - ), + ...(input.CreatedTime !== undefined && { CreatedTime: input.CreatedTime }), + ...(input.DnsName !== undefined && { DnsName: input.DnsName }), + ...(input.HealthCheck !== undefined && { + HealthCheck: serializeAws_restJson1AwsElbLoadBalancerHealthCheck(input.HealthCheck, context), }), - ...(input.ResourceAwsEc2InstanceSubnetId !== undefined && { - ResourceAwsEc2InstanceSubnetId: serializeAws_restJson1StringFilterList( - input.ResourceAwsEc2InstanceSubnetId, + ...(input.Instances !== undefined && { + Instances: serializeAws_restJson1AwsElbLoadBalancerInstances(input.Instances, context), + }), + ...(input.ListenerDescriptions !== undefined && { + ListenerDescriptions: serializeAws_restJson1AwsElbLoadBalancerListenerDescriptions( + input.ListenerDescriptions, context ), }), - ...(input.ResourceAwsEc2InstanceType !== undefined && { - ResourceAwsEc2InstanceType: serializeAws_restJson1StringFilterList(input.ResourceAwsEc2InstanceType, context), + ...(input.LoadBalancerAttributes !== undefined && { + LoadBalancerAttributes: serializeAws_restJson1AwsElbLoadBalancerAttributes(input.LoadBalancerAttributes, context), }), - ...(input.ResourceAwsEc2InstanceVpcId !== undefined && { - ResourceAwsEc2InstanceVpcId: serializeAws_restJson1StringFilterList(input.ResourceAwsEc2InstanceVpcId, context), + ...(input.LoadBalancerName !== undefined && { LoadBalancerName: input.LoadBalancerName }), + ...(input.Policies !== undefined && { + Policies: serializeAws_restJson1AwsElbLoadBalancerPolicies(input.Policies, context), }), - ...(input.ResourceAwsIamAccessKeyCreatedAt !== undefined && { - ResourceAwsIamAccessKeyCreatedAt: serializeAws_restJson1DateFilterList( - input.ResourceAwsIamAccessKeyCreatedAt, + ...(input.Scheme !== undefined && { Scheme: input.Scheme }), + ...(input.SecurityGroups !== undefined && { + SecurityGroups: serializeAws_restJson1StringList(input.SecurityGroups, context), + }), + ...(input.SourceSecurityGroup !== undefined && { + SourceSecurityGroup: serializeAws_restJson1AwsElbLoadBalancerSourceSecurityGroup( + input.SourceSecurityGroup, context ), }), - ...(input.ResourceAwsIamAccessKeyStatus !== undefined && { - ResourceAwsIamAccessKeyStatus: serializeAws_restJson1StringFilterList( - input.ResourceAwsIamAccessKeyStatus, + ...(input.Subnets !== undefined && { Subnets: serializeAws_restJson1StringList(input.Subnets, context) }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerHealthCheck = ( + input: AwsElbLoadBalancerHealthCheck, + context: __SerdeContext +): any => { + return { + ...(input.HealthyThreshold !== undefined && { HealthyThreshold: input.HealthyThreshold }), + ...(input.Interval !== undefined && { Interval: input.Interval }), + ...(input.Target !== undefined && { Target: input.Target }), + ...(input.Timeout !== undefined && { Timeout: input.Timeout }), + ...(input.UnhealthyThreshold !== undefined && { UnhealthyThreshold: input.UnhealthyThreshold }), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerInstance = ( + input: AwsElbLoadBalancerInstance, + context: __SerdeContext +): any => { + return { + ...(input.InstanceId !== undefined && { InstanceId: input.InstanceId }), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerInstances = ( + input: AwsElbLoadBalancerInstance[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsElbLoadBalancerInstance(entry, context)); +}; + +const serializeAws_restJson1AwsElbLoadBalancerListener = ( + input: AwsElbLoadBalancerListener, + context: __SerdeContext +): any => { + return { + ...(input.InstancePort !== undefined && { InstancePort: input.InstancePort }), + ...(input.InstanceProtocol !== undefined && { InstanceProtocol: input.InstanceProtocol }), + ...(input.LoadBalancerPort !== undefined && { LoadBalancerPort: input.LoadBalancerPort }), + ...(input.Protocol !== undefined && { Protocol: input.Protocol }), + ...(input.SslCertificateId !== undefined && { SslCertificateId: input.SslCertificateId }), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerListenerDescription = ( + input: AwsElbLoadBalancerListenerDescription, + context: __SerdeContext +): any => { + return { + ...(input.Listener !== undefined && { + Listener: serializeAws_restJson1AwsElbLoadBalancerListener(input.Listener, context), + }), + ...(input.PolicyNames !== undefined && { + PolicyNames: serializeAws_restJson1StringList(input.PolicyNames, context), + }), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerListenerDescriptions = ( + input: AwsElbLoadBalancerListenerDescription[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsElbLoadBalancerListenerDescription(entry, context)); +}; + +const serializeAws_restJson1AwsElbLoadBalancerPolicies = ( + input: AwsElbLoadBalancerPolicies, + context: __SerdeContext +): any => { + return { + ...(input.AppCookieStickinessPolicies !== undefined && { + AppCookieStickinessPolicies: serializeAws_restJson1AwsElbAppCookieStickinessPolicies( + input.AppCookieStickinessPolicies, context ), }), - ...(input.ResourceAwsIamAccessKeyUserName !== undefined && { - ResourceAwsIamAccessKeyUserName: serializeAws_restJson1StringFilterList( - input.ResourceAwsIamAccessKeyUserName, + ...(input.LbCookieStickinessPolicies !== undefined && { + LbCookieStickinessPolicies: serializeAws_restJson1AwsElbLbCookieStickinessPolicies( + input.LbCookieStickinessPolicies, context ), }), - ...(input.ResourceAwsS3BucketOwnerId !== undefined && { - ResourceAwsS3BucketOwnerId: serializeAws_restJson1StringFilterList(input.ResourceAwsS3BucketOwnerId, context), - }), - ...(input.ResourceAwsS3BucketOwnerName !== undefined && { - ResourceAwsS3BucketOwnerName: serializeAws_restJson1StringFilterList(input.ResourceAwsS3BucketOwnerName, context), - }), - ...(input.ResourceContainerImageId !== undefined && { - ResourceContainerImageId: serializeAws_restJson1StringFilterList(input.ResourceContainerImageId, context), + ...(input.OtherPolicies !== undefined && { + OtherPolicies: serializeAws_restJson1StringList(input.OtherPolicies, context), }), - ...(input.ResourceContainerImageName !== undefined && { - ResourceContainerImageName: serializeAws_restJson1StringFilterList(input.ResourceContainerImageName, context), - }), - ...(input.ResourceContainerLaunchedAt !== undefined && { - ResourceContainerLaunchedAt: serializeAws_restJson1DateFilterList(input.ResourceContainerLaunchedAt, context), - }), - ...(input.ResourceContainerName !== undefined && { - ResourceContainerName: serializeAws_restJson1StringFilterList(input.ResourceContainerName, context), - }), - ...(input.ResourceDetailsOther !== undefined && { - ResourceDetailsOther: serializeAws_restJson1MapFilterList(input.ResourceDetailsOther, context), - }), - ...(input.ResourceId !== undefined && { - ResourceId: serializeAws_restJson1StringFilterList(input.ResourceId, context), - }), - ...(input.ResourcePartition !== undefined && { - ResourcePartition: serializeAws_restJson1StringFilterList(input.ResourcePartition, context), - }), - ...(input.ResourceRegion !== undefined && { - ResourceRegion: serializeAws_restJson1StringFilterList(input.ResourceRegion, context), - }), - ...(input.ResourceTags !== undefined && { - ResourceTags: serializeAws_restJson1MapFilterList(input.ResourceTags, context), - }), - ...(input.ResourceType !== undefined && { - ResourceType: serializeAws_restJson1StringFilterList(input.ResourceType, context), - }), - ...(input.SeverityLabel !== undefined && { - SeverityLabel: serializeAws_restJson1StringFilterList(input.SeverityLabel, context), + }; +}; + +const serializeAws_restJson1AwsElbLoadBalancerSourceSecurityGroup = ( + input: AwsElbLoadBalancerSourceSecurityGroup, + context: __SerdeContext +): any => { + return { + ...(input.GroupName !== undefined && { GroupName: input.GroupName }), + ...(input.OwnerAlias !== undefined && { OwnerAlias: input.OwnerAlias }), + }; +}; + +const serializeAws_restJson1AwsElbv2LoadBalancerDetails = ( + input: AwsElbv2LoadBalancerDetails, + context: __SerdeContext +): any => { + return { + ...(input.AvailabilityZones !== undefined && { + AvailabilityZones: serializeAws_restJson1AvailabilityZones(input.AvailabilityZones, context), }), - ...(input.SeverityNormalized !== undefined && { - SeverityNormalized: serializeAws_restJson1NumberFilterList(input.SeverityNormalized, context), + ...(input.CanonicalHostedZoneId !== undefined && { CanonicalHostedZoneId: input.CanonicalHostedZoneId }), + ...(input.CreatedTime !== undefined && { CreatedTime: input.CreatedTime }), + ...(input.DNSName !== undefined && { DNSName: input.DNSName }), + ...(input.IpAddressType !== undefined && { IpAddressType: input.IpAddressType }), + ...(input.Scheme !== undefined && { Scheme: input.Scheme }), + ...(input.SecurityGroups !== undefined && { + SecurityGroups: serializeAws_restJson1SecurityGroups(input.SecurityGroups, context), }), - ...(input.SeverityProduct !== undefined && { - SeverityProduct: serializeAws_restJson1NumberFilterList(input.SeverityProduct, context), + ...(input.State !== undefined && { State: serializeAws_restJson1LoadBalancerState(input.State, context) }), + ...(input.Type !== undefined && { Type: input.Type }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), + }; +}; + +const serializeAws_restJson1AwsIamAccessKeyDetails = (input: AwsIamAccessKeyDetails, context: __SerdeContext): any => { + return { + ...(input.AccessKeyId !== undefined && { AccessKeyId: input.AccessKeyId }), + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.CreatedAt !== undefined && { CreatedAt: input.CreatedAt }), + ...(input.PrincipalId !== undefined && { PrincipalId: input.PrincipalId }), + ...(input.PrincipalName !== undefined && { PrincipalName: input.PrincipalName }), + ...(input.PrincipalType !== undefined && { PrincipalType: input.PrincipalType }), + ...(input.SessionContext !== undefined && { + SessionContext: serializeAws_restJson1AwsIamAccessKeySessionContext(input.SessionContext, context), }), - ...(input.SourceUrl !== undefined && { - SourceUrl: serializeAws_restJson1StringFilterList(input.SourceUrl, context), + ...(input.Status !== undefined && { Status: input.Status }), + ...(input.UserName !== undefined && { UserName: input.UserName }), + }; +}; + +const serializeAws_restJson1AwsIamAccessKeySessionContext = ( + input: AwsIamAccessKeySessionContext, + context: __SerdeContext +): any => { + return { + ...(input.Attributes !== undefined && { + Attributes: serializeAws_restJson1AwsIamAccessKeySessionContextAttributes(input.Attributes, context), }), - ...(input.ThreatIntelIndicatorCategory !== undefined && { - ThreatIntelIndicatorCategory: serializeAws_restJson1StringFilterList(input.ThreatIntelIndicatorCategory, context), + ...(input.SessionIssuer !== undefined && { + SessionIssuer: serializeAws_restJson1AwsIamAccessKeySessionContextSessionIssuer(input.SessionIssuer, context), }), - ...(input.ThreatIntelIndicatorLastObservedAt !== undefined && { - ThreatIntelIndicatorLastObservedAt: serializeAws_restJson1DateFilterList( - input.ThreatIntelIndicatorLastObservedAt, + }; +}; + +const serializeAws_restJson1AwsIamAccessKeySessionContextAttributes = ( + input: AwsIamAccessKeySessionContextAttributes, + context: __SerdeContext +): any => { + return { + ...(input.CreationDate !== undefined && { CreationDate: input.CreationDate }), + ...(input.MfaAuthenticated !== undefined && { MfaAuthenticated: input.MfaAuthenticated }), + }; +}; + +const serializeAws_restJson1AwsIamAccessKeySessionContextSessionIssuer = ( + input: AwsIamAccessKeySessionContextSessionIssuer, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.Arn !== undefined && { Arn: input.Arn }), + ...(input.PrincipalId !== undefined && { PrincipalId: input.PrincipalId }), + ...(input.Type !== undefined && { Type: input.Type }), + ...(input.UserName !== undefined && { UserName: input.UserName }), + }; +}; + +const serializeAws_restJson1AwsIamAttachedManagedPolicy = ( + input: AwsIamAttachedManagedPolicy, + context: __SerdeContext +): any => { + return { + ...(input.PolicyArn !== undefined && { PolicyArn: input.PolicyArn }), + ...(input.PolicyName !== undefined && { PolicyName: input.PolicyName }), + }; +}; + +const serializeAws_restJson1AwsIamAttachedManagedPolicyList = ( + input: AwsIamAttachedManagedPolicy[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsIamAttachedManagedPolicy(entry, context)); +}; + +const serializeAws_restJson1AwsIamGroupDetails = (input: AwsIamGroupDetails, context: __SerdeContext): any => { + return { + ...(input.AttachedManagedPolicies !== undefined && { + AttachedManagedPolicies: serializeAws_restJson1AwsIamAttachedManagedPolicyList( + input.AttachedManagedPolicies, context ), }), - ...(input.ThreatIntelIndicatorSource !== undefined && { - ThreatIntelIndicatorSource: serializeAws_restJson1StringFilterList(input.ThreatIntelIndicatorSource, context), + ...(input.CreateDate !== undefined && { CreateDate: input.CreateDate }), + ...(input.GroupId !== undefined && { GroupId: input.GroupId }), + ...(input.GroupName !== undefined && { GroupName: input.GroupName }), + ...(input.GroupPolicyList !== undefined && { + GroupPolicyList: serializeAws_restJson1AwsIamGroupPolicyList(input.GroupPolicyList, context), }), - ...(input.ThreatIntelIndicatorSourceUrl !== undefined && { - ThreatIntelIndicatorSourceUrl: serializeAws_restJson1StringFilterList( - input.ThreatIntelIndicatorSourceUrl, + ...(input.Path !== undefined && { Path: input.Path }), + }; +}; + +const serializeAws_restJson1AwsIamGroupPolicy = (input: AwsIamGroupPolicy, context: __SerdeContext): any => { + return { + ...(input.PolicyName !== undefined && { PolicyName: input.PolicyName }), + }; +}; + +const serializeAws_restJson1AwsIamGroupPolicyList = (input: AwsIamGroupPolicy[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1AwsIamGroupPolicy(entry, context)); +}; + +const serializeAws_restJson1AwsIamInstanceProfile = (input: AwsIamInstanceProfile, context: __SerdeContext): any => { + return { + ...(input.Arn !== undefined && { Arn: input.Arn }), + ...(input.CreateDate !== undefined && { CreateDate: input.CreateDate }), + ...(input.InstanceProfileId !== undefined && { InstanceProfileId: input.InstanceProfileId }), + ...(input.InstanceProfileName !== undefined && { InstanceProfileName: input.InstanceProfileName }), + ...(input.Path !== undefined && { Path: input.Path }), + ...(input.Roles !== undefined && { Roles: serializeAws_restJson1AwsIamInstanceProfileRoles(input.Roles, context) }), + }; +}; + +const serializeAws_restJson1AwsIamInstanceProfileList = ( + input: AwsIamInstanceProfile[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsIamInstanceProfile(entry, context)); +}; + +const serializeAws_restJson1AwsIamInstanceProfileRole = ( + input: AwsIamInstanceProfileRole, + context: __SerdeContext +): any => { + return { + ...(input.Arn !== undefined && { Arn: input.Arn }), + ...(input.AssumeRolePolicyDocument !== undefined && { AssumeRolePolicyDocument: input.AssumeRolePolicyDocument }), + ...(input.CreateDate !== undefined && { CreateDate: input.CreateDate }), + ...(input.Path !== undefined && { Path: input.Path }), + ...(input.RoleId !== undefined && { RoleId: input.RoleId }), + ...(input.RoleName !== undefined && { RoleName: input.RoleName }), + }; +}; + +const serializeAws_restJson1AwsIamInstanceProfileRoles = ( + input: AwsIamInstanceProfileRole[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsIamInstanceProfileRole(entry, context)); +}; + +const serializeAws_restJson1AwsIamPermissionsBoundary = ( + input: AwsIamPermissionsBoundary, + context: __SerdeContext +): any => { + return { + ...(input.PermissionsBoundaryArn !== undefined && { PermissionsBoundaryArn: input.PermissionsBoundaryArn }), + ...(input.PermissionsBoundaryType !== undefined && { PermissionsBoundaryType: input.PermissionsBoundaryType }), + }; +}; + +const serializeAws_restJson1AwsIamPolicyDetails = (input: AwsIamPolicyDetails, context: __SerdeContext): any => { + return { + ...(input.AttachmentCount !== undefined && { AttachmentCount: input.AttachmentCount }), + ...(input.CreateDate !== undefined && { CreateDate: input.CreateDate }), + ...(input.DefaultVersionId !== undefined && { DefaultVersionId: input.DefaultVersionId }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.IsAttachable !== undefined && { IsAttachable: input.IsAttachable }), + ...(input.Path !== undefined && { Path: input.Path }), + ...(input.PermissionsBoundaryUsageCount !== undefined && { + PermissionsBoundaryUsageCount: input.PermissionsBoundaryUsageCount, + }), + ...(input.PolicyId !== undefined && { PolicyId: input.PolicyId }), + ...(input.PolicyName !== undefined && { PolicyName: input.PolicyName }), + ...(input.PolicyVersionList !== undefined && { + PolicyVersionList: serializeAws_restJson1AwsIamPolicyVersionList(input.PolicyVersionList, context), + }), + ...(input.UpdateDate !== undefined && { UpdateDate: input.UpdateDate }), + }; +}; + +const serializeAws_restJson1AwsIamPolicyVersion = (input: AwsIamPolicyVersion, context: __SerdeContext): any => { + return { + ...(input.CreateDate !== undefined && { CreateDate: input.CreateDate }), + ...(input.IsDefaultVersion !== undefined && { IsDefaultVersion: input.IsDefaultVersion }), + ...(input.VersionId !== undefined && { VersionId: input.VersionId }), + }; +}; + +const serializeAws_restJson1AwsIamPolicyVersionList = (input: AwsIamPolicyVersion[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1AwsIamPolicyVersion(entry, context)); +}; + +const serializeAws_restJson1AwsIamRoleDetails = (input: AwsIamRoleDetails, context: __SerdeContext): any => { + return { + ...(input.AssumeRolePolicyDocument !== undefined && { AssumeRolePolicyDocument: input.AssumeRolePolicyDocument }), + ...(input.AttachedManagedPolicies !== undefined && { + AttachedManagedPolicies: serializeAws_restJson1AwsIamAttachedManagedPolicyList( + input.AttachedManagedPolicies, context ), }), - ...(input.ThreatIntelIndicatorType !== undefined && { - ThreatIntelIndicatorType: serializeAws_restJson1StringFilterList(input.ThreatIntelIndicatorType, context), + ...(input.CreateDate !== undefined && { CreateDate: input.CreateDate }), + ...(input.InstanceProfileList !== undefined && { + InstanceProfileList: serializeAws_restJson1AwsIamInstanceProfileList(input.InstanceProfileList, context), }), - ...(input.ThreatIntelIndicatorValue !== undefined && { - ThreatIntelIndicatorValue: serializeAws_restJson1StringFilterList(input.ThreatIntelIndicatorValue, context), + ...(input.MaxSessionDuration !== undefined && { MaxSessionDuration: input.MaxSessionDuration }), + ...(input.Path !== undefined && { Path: input.Path }), + ...(input.PermissionsBoundary !== undefined && { + PermissionsBoundary: serializeAws_restJson1AwsIamPermissionsBoundary(input.PermissionsBoundary, context), }), - ...(input.Title !== undefined && { Title: serializeAws_restJson1StringFilterList(input.Title, context) }), - ...(input.Type !== undefined && { Type: serializeAws_restJson1StringFilterList(input.Type, context) }), - ...(input.UpdatedAt !== undefined && { UpdatedAt: serializeAws_restJson1DateFilterList(input.UpdatedAt, context) }), - ...(input.UserDefinedFields !== undefined && { - UserDefinedFields: serializeAws_restJson1MapFilterList(input.UserDefinedFields, context), + ...(input.RoleId !== undefined && { RoleId: input.RoleId }), + ...(input.RoleName !== undefined && { RoleName: input.RoleName }), + ...(input.RolePolicyList !== undefined && { + RolePolicyList: serializeAws_restJson1AwsIamRolePolicyList(input.RolePolicyList, context), }), - ...(input.VerificationState !== undefined && { - VerificationState: serializeAws_restJson1StringFilterList(input.VerificationState, context), + }; +}; + +const serializeAws_restJson1AwsIamRolePolicy = (input: AwsIamRolePolicy, context: __SerdeContext): any => { + return { + ...(input.PolicyName !== undefined && { PolicyName: input.PolicyName }), + }; +}; + +const serializeAws_restJson1AwsIamRolePolicyList = (input: AwsIamRolePolicy[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1AwsIamRolePolicy(entry, context)); +}; + +const serializeAws_restJson1AwsIamUserDetails = (input: AwsIamUserDetails, context: __SerdeContext): any => { + return { + ...(input.AttachedManagedPolicies !== undefined && { + AttachedManagedPolicies: serializeAws_restJson1AwsIamAttachedManagedPolicyList( + input.AttachedManagedPolicies, + context + ), }), - ...(input.WorkflowState !== undefined && { - WorkflowState: serializeAws_restJson1StringFilterList(input.WorkflowState, context), + ...(input.CreateDate !== undefined && { CreateDate: input.CreateDate }), + ...(input.GroupList !== undefined && { GroupList: serializeAws_restJson1StringList(input.GroupList, context) }), + ...(input.Path !== undefined && { Path: input.Path }), + ...(input.PermissionsBoundary !== undefined && { + PermissionsBoundary: serializeAws_restJson1AwsIamPermissionsBoundary(input.PermissionsBoundary, context), }), - ...(input.WorkflowStatus !== undefined && { - WorkflowStatus: serializeAws_restJson1StringFilterList(input.WorkflowStatus, context), + ...(input.UserId !== undefined && { UserId: input.UserId }), + ...(input.UserName !== undefined && { UserName: input.UserName }), + ...(input.UserPolicyList !== undefined && { + UserPolicyList: serializeAws_restJson1AwsIamUserPolicyList(input.UserPolicyList, context), }), }; }; -const serializeAws_restJson1AwsSecurityFindingIdentifier = ( - input: AwsSecurityFindingIdentifier, - context: __SerdeContext -): any => { +const serializeAws_restJson1AwsIamUserPolicy = (input: AwsIamUserPolicy, context: __SerdeContext): any => { return { - ...(input.Id !== undefined && { Id: input.Id }), - ...(input.ProductArn !== undefined && { ProductArn: input.ProductArn }), + ...(input.PolicyName !== undefined && { PolicyName: input.PolicyName }), }; }; -const serializeAws_restJson1AwsSecurityFindingIdentifierList = ( - input: AwsSecurityFindingIdentifier[], - context: __SerdeContext -): any => { - return input.map((entry) => serializeAws_restJson1AwsSecurityFindingIdentifier(entry, context)); -}; - -const serializeAws_restJson1AwsSecurityFindingList = (input: AwsSecurityFinding[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1AwsSecurityFinding(entry, context)); +const serializeAws_restJson1AwsIamUserPolicyList = (input: AwsIamUserPolicy[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1AwsIamUserPolicy(entry, context)); }; -const serializeAws_restJson1AwsSnsTopicDetails = (input: AwsSnsTopicDetails, context: __SerdeContext): any => { +const serializeAws_restJson1AwsKmsKeyDetails = (input: AwsKmsKeyDetails, context: __SerdeContext): any => { return { - ...(input.KmsMasterKeyId !== undefined && { KmsMasterKeyId: input.KmsMasterKeyId }), - ...(input.Owner !== undefined && { Owner: input.Owner }), - ...(input.Subscription !== undefined && { - Subscription: serializeAws_restJson1AwsSnsTopicSubscriptionList(input.Subscription, context), - }), - ...(input.TopicName !== undefined && { TopicName: input.TopicName }), + ...(input.AWSAccountId !== undefined && { AWSAccountId: input.AWSAccountId }), + ...(input.CreationDate !== undefined && { CreationDate: input.CreationDate }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.KeyId !== undefined && { KeyId: input.KeyId }), + ...(input.KeyManager !== undefined && { KeyManager: input.KeyManager }), + ...(input.KeyState !== undefined && { KeyState: input.KeyState }), + ...(input.Origin !== undefined && { Origin: input.Origin }), }; }; -const serializeAws_restJson1AwsSnsTopicSubscription = ( - input: AwsSnsTopicSubscription, +const serializeAws_restJson1AwsLambdaFunctionCode = (input: AwsLambdaFunctionCode, context: __SerdeContext): any => { + return { + ...(input.S3Bucket !== undefined && { S3Bucket: input.S3Bucket }), + ...(input.S3Key !== undefined && { S3Key: input.S3Key }), + ...(input.S3ObjectVersion !== undefined && { S3ObjectVersion: input.S3ObjectVersion }), + ...(input.ZipFile !== undefined && { ZipFile: input.ZipFile }), + }; +}; + +const serializeAws_restJson1AwsLambdaFunctionDeadLetterConfig = ( + input: AwsLambdaFunctionDeadLetterConfig, + context: __SerdeContext +): any => { + return { + ...(input.TargetArn !== undefined && { TargetArn: input.TargetArn }), + }; +}; + +const serializeAws_restJson1AwsLambdaFunctionDetails = ( + input: AwsLambdaFunctionDetails, + context: __SerdeContext +): any => { + return { + ...(input.Code !== undefined && { Code: serializeAws_restJson1AwsLambdaFunctionCode(input.Code, context) }), + ...(input.CodeSha256 !== undefined && { CodeSha256: input.CodeSha256 }), + ...(input.DeadLetterConfig !== undefined && { + DeadLetterConfig: serializeAws_restJson1AwsLambdaFunctionDeadLetterConfig(input.DeadLetterConfig, context), + }), + ...(input.Environment !== undefined && { + Environment: serializeAws_restJson1AwsLambdaFunctionEnvironment(input.Environment, context), + }), + ...(input.FunctionName !== undefined && { FunctionName: input.FunctionName }), + ...(input.Handler !== undefined && { Handler: input.Handler }), + ...(input.KmsKeyArn !== undefined && { KmsKeyArn: input.KmsKeyArn }), + ...(input.LastModified !== undefined && { LastModified: input.LastModified }), + ...(input.Layers !== undefined && { + Layers: serializeAws_restJson1AwsLambdaFunctionLayerList(input.Layers, context), + }), + ...(input.MasterArn !== undefined && { MasterArn: input.MasterArn }), + ...(input.MemorySize !== undefined && { MemorySize: input.MemorySize }), + ...(input.RevisionId !== undefined && { RevisionId: input.RevisionId }), + ...(input.Role !== undefined && { Role: input.Role }), + ...(input.Runtime !== undefined && { Runtime: input.Runtime }), + ...(input.Timeout !== undefined && { Timeout: input.Timeout }), + ...(input.TracingConfig !== undefined && { + TracingConfig: serializeAws_restJson1AwsLambdaFunctionTracingConfig(input.TracingConfig, context), + }), + ...(input.Version !== undefined && { Version: input.Version }), + ...(input.VpcConfig !== undefined && { + VpcConfig: serializeAws_restJson1AwsLambdaFunctionVpcConfig(input.VpcConfig, context), + }), + }; +}; + +const serializeAws_restJson1AwsLambdaFunctionEnvironment = ( + input: AwsLambdaFunctionEnvironment, + context: __SerdeContext +): any => { + return { + ...(input.Error !== undefined && { + Error: serializeAws_restJson1AwsLambdaFunctionEnvironmentError(input.Error, context), + }), + ...(input.Variables !== undefined && { Variables: serializeAws_restJson1FieldMap(input.Variables, context) }), + }; +}; + +const serializeAws_restJson1AwsLambdaFunctionEnvironmentError = ( + input: AwsLambdaFunctionEnvironmentError, + context: __SerdeContext +): any => { + return { + ...(input.ErrorCode !== undefined && { ErrorCode: input.ErrorCode }), + ...(input.Message !== undefined && { Message: input.Message }), + }; +}; + +const serializeAws_restJson1AwsLambdaFunctionLayer = (input: AwsLambdaFunctionLayer, context: __SerdeContext): any => { + return { + ...(input.Arn !== undefined && { Arn: input.Arn }), + ...(input.CodeSize !== undefined && { CodeSize: input.CodeSize }), + }; +}; + +const serializeAws_restJson1AwsLambdaFunctionLayerList = ( + input: AwsLambdaFunctionLayer[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsLambdaFunctionLayer(entry, context)); +}; + +const serializeAws_restJson1AwsLambdaFunctionTracingConfig = ( + input: AwsLambdaFunctionTracingConfig, + context: __SerdeContext +): any => { + return { + ...(input.Mode !== undefined && { Mode: input.Mode }), + }; +}; + +const serializeAws_restJson1AwsLambdaFunctionVpcConfig = ( + input: AwsLambdaFunctionVpcConfig, + context: __SerdeContext +): any => { + return { + ...(input.SecurityGroupIds !== undefined && { + SecurityGroupIds: serializeAws_restJson1NonEmptyStringList(input.SecurityGroupIds, context), + }), + ...(input.SubnetIds !== undefined && { + SubnetIds: serializeAws_restJson1NonEmptyStringList(input.SubnetIds, context), + }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), + }; +}; + +const serializeAws_restJson1AwsLambdaLayerVersionDetails = ( + input: AwsLambdaLayerVersionDetails, + context: __SerdeContext +): any => { + return { + ...(input.CompatibleRuntimes !== undefined && { + CompatibleRuntimes: serializeAws_restJson1NonEmptyStringList(input.CompatibleRuntimes, context), + }), + ...(input.CreatedDate !== undefined && { CreatedDate: input.CreatedDate }), + ...(input.Version !== undefined && { Version: input.Version }), + }; +}; + +const serializeAws_restJson1AwsRdsDbClusterAssociatedRole = ( + input: AwsRdsDbClusterAssociatedRole, + context: __SerdeContext +): any => { + return { + ...(input.RoleArn !== undefined && { RoleArn: input.RoleArn }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsRdsDbClusterAssociatedRoles = ( + input: AwsRdsDbClusterAssociatedRole[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbClusterAssociatedRole(entry, context)); +}; + +const serializeAws_restJson1AwsRdsDbClusterDetails = (input: AwsRdsDbClusterDetails, context: __SerdeContext): any => { + return { + ...(input.ActivityStreamStatus !== undefined && { ActivityStreamStatus: input.ActivityStreamStatus }), + ...(input.AllocatedStorage !== undefined && { AllocatedStorage: input.AllocatedStorage }), + ...(input.AssociatedRoles !== undefined && { + AssociatedRoles: serializeAws_restJson1AwsRdsDbClusterAssociatedRoles(input.AssociatedRoles, context), + }), + ...(input.AvailabilityZones !== undefined && { + AvailabilityZones: serializeAws_restJson1StringList(input.AvailabilityZones, context), + }), + ...(input.BackupRetentionPeriod !== undefined && { BackupRetentionPeriod: input.BackupRetentionPeriod }), + ...(input.ClusterCreateTime !== undefined && { ClusterCreateTime: input.ClusterCreateTime }), + ...(input.CopyTagsToSnapshot !== undefined && { CopyTagsToSnapshot: input.CopyTagsToSnapshot }), + ...(input.CrossAccountClone !== undefined && { CrossAccountClone: input.CrossAccountClone }), + ...(input.CustomEndpoints !== undefined && { + CustomEndpoints: serializeAws_restJson1StringList(input.CustomEndpoints, context), + }), + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.DbClusterIdentifier !== undefined && { DbClusterIdentifier: input.DbClusterIdentifier }), + ...(input.DbClusterMembers !== undefined && { + DbClusterMembers: serializeAws_restJson1AwsRdsDbClusterMembers(input.DbClusterMembers, context), + }), + ...(input.DbClusterOptionGroupMemberships !== undefined && { + DbClusterOptionGroupMemberships: serializeAws_restJson1AwsRdsDbClusterOptionGroupMemberships( + input.DbClusterOptionGroupMemberships, + context + ), + }), + ...(input.DbClusterParameterGroup !== undefined && { DbClusterParameterGroup: input.DbClusterParameterGroup }), + ...(input.DbClusterResourceId !== undefined && { DbClusterResourceId: input.DbClusterResourceId }), + ...(input.DbSubnetGroup !== undefined && { DbSubnetGroup: input.DbSubnetGroup }), + ...(input.DeletionProtection !== undefined && { DeletionProtection: input.DeletionProtection }), + ...(input.DomainMemberships !== undefined && { + DomainMemberships: serializeAws_restJson1AwsRdsDbDomainMemberships(input.DomainMemberships, context), + }), + ...(input.EnabledCloudWatchLogsExports !== undefined && { + EnabledCloudWatchLogsExports: serializeAws_restJson1StringList(input.EnabledCloudWatchLogsExports, context), + }), + ...(input.Endpoint !== undefined && { Endpoint: input.Endpoint }), + ...(input.Engine !== undefined && { Engine: input.Engine }), + ...(input.EngineMode !== undefined && { EngineMode: input.EngineMode }), + ...(input.EngineVersion !== undefined && { EngineVersion: input.EngineVersion }), + ...(input.HostedZoneId !== undefined && { HostedZoneId: input.HostedZoneId }), + ...(input.HttpEndpointEnabled !== undefined && { HttpEndpointEnabled: input.HttpEndpointEnabled }), + ...(input.IamDatabaseAuthenticationEnabled !== undefined && { + IamDatabaseAuthenticationEnabled: input.IamDatabaseAuthenticationEnabled, + }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + ...(input.MasterUsername !== undefined && { MasterUsername: input.MasterUsername }), + ...(input.MultiAz !== undefined && { MultiAz: input.MultiAz }), + ...(input.Port !== undefined && { Port: input.Port }), + ...(input.PreferredBackupWindow !== undefined && { PreferredBackupWindow: input.PreferredBackupWindow }), + ...(input.PreferredMaintenanceWindow !== undefined && { + PreferredMaintenanceWindow: input.PreferredMaintenanceWindow, + }), + ...(input.ReadReplicaIdentifiers !== undefined && { + ReadReplicaIdentifiers: serializeAws_restJson1StringList(input.ReadReplicaIdentifiers, context), + }), + ...(input.ReaderEndpoint !== undefined && { ReaderEndpoint: input.ReaderEndpoint }), + ...(input.Status !== undefined && { Status: input.Status }), + ...(input.StorageEncrypted !== undefined && { StorageEncrypted: input.StorageEncrypted }), + ...(input.VpcSecurityGroups !== undefined && { + VpcSecurityGroups: serializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroups(input.VpcSecurityGroups, context), + }), + }; +}; + +const serializeAws_restJson1AwsRdsDbClusterMember = (input: AwsRdsDbClusterMember, context: __SerdeContext): any => { + return { + ...(input.DbClusterParameterGroupStatus !== undefined && { + DbClusterParameterGroupStatus: input.DbClusterParameterGroupStatus, + }), + ...(input.DbInstanceIdentifier !== undefined && { DbInstanceIdentifier: input.DbInstanceIdentifier }), + ...(input.IsClusterWriter !== undefined && { IsClusterWriter: input.IsClusterWriter }), + ...(input.PromotionTier !== undefined && { PromotionTier: input.PromotionTier }), + }; +}; + +const serializeAws_restJson1AwsRdsDbClusterMembers = (input: AwsRdsDbClusterMember[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbClusterMember(entry, context)); +}; + +const serializeAws_restJson1AwsRdsDbClusterOptionGroupMembership = ( + input: AwsRdsDbClusterOptionGroupMembership, + context: __SerdeContext +): any => { + return { + ...(input.DbClusterOptionGroupName !== undefined && { DbClusterOptionGroupName: input.DbClusterOptionGroupName }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsRdsDbClusterOptionGroupMemberships = ( + input: AwsRdsDbClusterOptionGroupMembership[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbClusterOptionGroupMembership(entry, context)); +}; + +const serializeAws_restJson1AwsRdsDbClusterSnapshotDetails = ( + input: AwsRdsDbClusterSnapshotDetails, + context: __SerdeContext +): any => { + return { + ...(input.AllocatedStorage !== undefined && { AllocatedStorage: input.AllocatedStorage }), + ...(input.AvailabilityZones !== undefined && { + AvailabilityZones: serializeAws_restJson1StringList(input.AvailabilityZones, context), + }), + ...(input.ClusterCreateTime !== undefined && { ClusterCreateTime: input.ClusterCreateTime }), + ...(input.DbClusterIdentifier !== undefined && { DbClusterIdentifier: input.DbClusterIdentifier }), + ...(input.DbClusterSnapshotIdentifier !== undefined && { + DbClusterSnapshotIdentifier: input.DbClusterSnapshotIdentifier, + }), + ...(input.Engine !== undefined && { Engine: input.Engine }), + ...(input.EngineVersion !== undefined && { EngineVersion: input.EngineVersion }), + ...(input.IamDatabaseAuthenticationEnabled !== undefined && { + IamDatabaseAuthenticationEnabled: input.IamDatabaseAuthenticationEnabled, + }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + ...(input.LicenseModel !== undefined && { LicenseModel: input.LicenseModel }), + ...(input.MasterUsername !== undefined && { MasterUsername: input.MasterUsername }), + ...(input.PercentProgress !== undefined && { PercentProgress: input.PercentProgress }), + ...(input.Port !== undefined && { Port: input.Port }), + ...(input.SnapshotCreateTime !== undefined && { SnapshotCreateTime: input.SnapshotCreateTime }), + ...(input.SnapshotType !== undefined && { SnapshotType: input.SnapshotType }), + ...(input.Status !== undefined && { Status: input.Status }), + ...(input.StorageEncrypted !== undefined && { StorageEncrypted: input.StorageEncrypted }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), + }; +}; + +const serializeAws_restJson1AwsRdsDbDomainMembership = ( + input: AwsRdsDbDomainMembership, + context: __SerdeContext +): any => { + return { + ...(input.Domain !== undefined && { Domain: input.Domain }), + ...(input.Fqdn !== undefined && { Fqdn: input.Fqdn }), + ...(input.IamRoleName !== undefined && { IamRoleName: input.IamRoleName }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsRdsDbDomainMemberships = ( + input: AwsRdsDbDomainMembership[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbDomainMembership(entry, context)); +}; + +const serializeAws_restJson1AwsRdsDbInstanceAssociatedRole = ( + input: AwsRdsDbInstanceAssociatedRole, + context: __SerdeContext +): any => { + return { + ...(input.FeatureName !== undefined && { FeatureName: input.FeatureName }), + ...(input.RoleArn !== undefined && { RoleArn: input.RoleArn }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsRdsDbInstanceAssociatedRoles = ( + input: AwsRdsDbInstanceAssociatedRole[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbInstanceAssociatedRole(entry, context)); +}; + +const serializeAws_restJson1AwsRdsDbInstanceDetails = ( + input: AwsRdsDbInstanceDetails, context: __SerdeContext ): any => { return { - ...(input.Endpoint !== undefined && { Endpoint: input.Endpoint }), - ...(input.Protocol !== undefined && { Protocol: input.Protocol }), - }; + ...(input.AllocatedStorage !== undefined && { AllocatedStorage: input.AllocatedStorage }), + ...(input.AssociatedRoles !== undefined && { + AssociatedRoles: serializeAws_restJson1AwsRdsDbInstanceAssociatedRoles(input.AssociatedRoles, context), + }), + ...(input.AutoMinorVersionUpgrade !== undefined && { AutoMinorVersionUpgrade: input.AutoMinorVersionUpgrade }), + ...(input.AvailabilityZone !== undefined && { AvailabilityZone: input.AvailabilityZone }), + ...(input.BackupRetentionPeriod !== undefined && { BackupRetentionPeriod: input.BackupRetentionPeriod }), + ...(input.CACertificateIdentifier !== undefined && { CACertificateIdentifier: input.CACertificateIdentifier }), + ...(input.CharacterSetName !== undefined && { CharacterSetName: input.CharacterSetName }), + ...(input.CopyTagsToSnapshot !== undefined && { CopyTagsToSnapshot: input.CopyTagsToSnapshot }), + ...(input.DBClusterIdentifier !== undefined && { DBClusterIdentifier: input.DBClusterIdentifier }), + ...(input.DBInstanceClass !== undefined && { DBInstanceClass: input.DBInstanceClass }), + ...(input.DBInstanceIdentifier !== undefined && { DBInstanceIdentifier: input.DBInstanceIdentifier }), + ...(input.DBName !== undefined && { DBName: input.DBName }), + ...(input.DbInstancePort !== undefined && { DbInstancePort: input.DbInstancePort }), + ...(input.DbInstanceStatus !== undefined && { DbInstanceStatus: input.DbInstanceStatus }), + ...(input.DbParameterGroups !== undefined && { + DbParameterGroups: serializeAws_restJson1AwsRdsDbParameterGroups(input.DbParameterGroups, context), + }), + ...(input.DbSecurityGroups !== undefined && { + DbSecurityGroups: serializeAws_restJson1StringList(input.DbSecurityGroups, context), + }), + ...(input.DbSubnetGroup !== undefined && { + DbSubnetGroup: serializeAws_restJson1AwsRdsDbSubnetGroup(input.DbSubnetGroup, context), + }), + ...(input.DbiResourceId !== undefined && { DbiResourceId: input.DbiResourceId }), + ...(input.DeletionProtection !== undefined && { DeletionProtection: input.DeletionProtection }), + ...(input.DomainMemberships !== undefined && { + DomainMemberships: serializeAws_restJson1AwsRdsDbDomainMemberships(input.DomainMemberships, context), + }), + ...(input.EnabledCloudWatchLogsExports !== undefined && { + EnabledCloudWatchLogsExports: serializeAws_restJson1StringList(input.EnabledCloudWatchLogsExports, context), + }), + ...(input.Endpoint !== undefined && { + Endpoint: serializeAws_restJson1AwsRdsDbInstanceEndpoint(input.Endpoint, context), + }), + ...(input.Engine !== undefined && { Engine: input.Engine }), + ...(input.EngineVersion !== undefined && { EngineVersion: input.EngineVersion }), + ...(input.EnhancedMonitoringResourceArn !== undefined && { + EnhancedMonitoringResourceArn: input.EnhancedMonitoringResourceArn, + }), + ...(input.IAMDatabaseAuthenticationEnabled !== undefined && { + IAMDatabaseAuthenticationEnabled: input.IAMDatabaseAuthenticationEnabled, + }), + ...(input.InstanceCreateTime !== undefined && { InstanceCreateTime: input.InstanceCreateTime }), + ...(input.Iops !== undefined && { Iops: input.Iops }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + ...(input.LatestRestorableTime !== undefined && { LatestRestorableTime: input.LatestRestorableTime }), + ...(input.LicenseModel !== undefined && { LicenseModel: input.LicenseModel }), + ...(input.ListenerEndpoint !== undefined && { + ListenerEndpoint: serializeAws_restJson1AwsRdsDbInstanceEndpoint(input.ListenerEndpoint, context), + }), + ...(input.MasterUsername !== undefined && { MasterUsername: input.MasterUsername }), + ...(input.MaxAllocatedStorage !== undefined && { MaxAllocatedStorage: input.MaxAllocatedStorage }), + ...(input.MonitoringInterval !== undefined && { MonitoringInterval: input.MonitoringInterval }), + ...(input.MonitoringRoleArn !== undefined && { MonitoringRoleArn: input.MonitoringRoleArn }), + ...(input.MultiAz !== undefined && { MultiAz: input.MultiAz }), + ...(input.OptionGroupMemberships !== undefined && { + OptionGroupMemberships: serializeAws_restJson1AwsRdsDbOptionGroupMemberships( + input.OptionGroupMemberships, + context + ), + }), + ...(input.PendingModifiedValues !== undefined && { + PendingModifiedValues: serializeAws_restJson1AwsRdsDbPendingModifiedValues(input.PendingModifiedValues, context), + }), + ...(input.PerformanceInsightsEnabled !== undefined && { + PerformanceInsightsEnabled: input.PerformanceInsightsEnabled, + }), + ...(input.PerformanceInsightsKmsKeyId !== undefined && { + PerformanceInsightsKmsKeyId: input.PerformanceInsightsKmsKeyId, + }), + ...(input.PerformanceInsightsRetentionPeriod !== undefined && { + PerformanceInsightsRetentionPeriod: input.PerformanceInsightsRetentionPeriod, + }), + ...(input.PreferredBackupWindow !== undefined && { PreferredBackupWindow: input.PreferredBackupWindow }), + ...(input.PreferredMaintenanceWindow !== undefined && { + PreferredMaintenanceWindow: input.PreferredMaintenanceWindow, + }), + ...(input.ProcessorFeatures !== undefined && { + ProcessorFeatures: serializeAws_restJson1AwsRdsDbProcessorFeatures(input.ProcessorFeatures, context), + }), + ...(input.PromotionTier !== undefined && { PromotionTier: input.PromotionTier }), + ...(input.PubliclyAccessible !== undefined && { PubliclyAccessible: input.PubliclyAccessible }), + ...(input.ReadReplicaDBClusterIdentifiers !== undefined && { + ReadReplicaDBClusterIdentifiers: serializeAws_restJson1StringList(input.ReadReplicaDBClusterIdentifiers, context), + }), + ...(input.ReadReplicaDBInstanceIdentifiers !== undefined && { + ReadReplicaDBInstanceIdentifiers: serializeAws_restJson1StringList( + input.ReadReplicaDBInstanceIdentifiers, + context + ), + }), + ...(input.ReadReplicaSourceDBInstanceIdentifier !== undefined && { + ReadReplicaSourceDBInstanceIdentifier: input.ReadReplicaSourceDBInstanceIdentifier, + }), + ...(input.SecondaryAvailabilityZone !== undefined && { + SecondaryAvailabilityZone: input.SecondaryAvailabilityZone, + }), + ...(input.StatusInfos !== undefined && { + StatusInfos: serializeAws_restJson1AwsRdsDbStatusInfos(input.StatusInfos, context), + }), + ...(input.StorageEncrypted !== undefined && { StorageEncrypted: input.StorageEncrypted }), + ...(input.StorageType !== undefined && { StorageType: input.StorageType }), + ...(input.TdeCredentialArn !== undefined && { TdeCredentialArn: input.TdeCredentialArn }), + ...(input.Timezone !== undefined && { Timezone: input.Timezone }), + ...(input.VpcSecurityGroups !== undefined && { + VpcSecurityGroups: serializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroups(input.VpcSecurityGroups, context), + }), + }; +}; + +const serializeAws_restJson1AwsRdsDbInstanceEndpoint = ( + input: AwsRdsDbInstanceEndpoint, + context: __SerdeContext +): any => { + return { + ...(input.Address !== undefined && { Address: input.Address }), + ...(input.HostedZoneId !== undefined && { HostedZoneId: input.HostedZoneId }), + ...(input.Port !== undefined && { Port: input.Port }), + }; +}; + +const serializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroup = ( + input: AwsRdsDbInstanceVpcSecurityGroup, + context: __SerdeContext +): any => { + return { + ...(input.Status !== undefined && { Status: input.Status }), + ...(input.VpcSecurityGroupId !== undefined && { VpcSecurityGroupId: input.VpcSecurityGroupId }), + }; +}; + +const serializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroups = ( + input: AwsRdsDbInstanceVpcSecurityGroup[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroup(entry, context)); +}; + +const serializeAws_restJson1AwsRdsDbOptionGroupMembership = ( + input: AwsRdsDbOptionGroupMembership, + context: __SerdeContext +): any => { + return { + ...(input.OptionGroupName !== undefined && { OptionGroupName: input.OptionGroupName }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsRdsDbOptionGroupMemberships = ( + input: AwsRdsDbOptionGroupMembership[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbOptionGroupMembership(entry, context)); +}; + +const serializeAws_restJson1AwsRdsDbParameterGroup = (input: AwsRdsDbParameterGroup, context: __SerdeContext): any => { + return { + ...(input.DbParameterGroupName !== undefined && { DbParameterGroupName: input.DbParameterGroupName }), + ...(input.ParameterApplyStatus !== undefined && { ParameterApplyStatus: input.ParameterApplyStatus }), + }; +}; + +const serializeAws_restJson1AwsRdsDbParameterGroups = ( + input: AwsRdsDbParameterGroup[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbParameterGroup(entry, context)); +}; + +const serializeAws_restJson1AwsRdsDbPendingModifiedValues = ( + input: AwsRdsDbPendingModifiedValues, + context: __SerdeContext +): any => { + return { + ...(input.AllocatedStorage !== undefined && { AllocatedStorage: input.AllocatedStorage }), + ...(input.BackupRetentionPeriod !== undefined && { BackupRetentionPeriod: input.BackupRetentionPeriod }), + ...(input.CaCertificateIdentifier !== undefined && { CaCertificateIdentifier: input.CaCertificateIdentifier }), + ...(input.DbInstanceClass !== undefined && { DbInstanceClass: input.DbInstanceClass }), + ...(input.DbInstanceIdentifier !== undefined && { DbInstanceIdentifier: input.DbInstanceIdentifier }), + ...(input.DbSubnetGroupName !== undefined && { DbSubnetGroupName: input.DbSubnetGroupName }), + ...(input.EngineVersion !== undefined && { EngineVersion: input.EngineVersion }), + ...(input.Iops !== undefined && { Iops: input.Iops }), + ...(input.LicenseModel !== undefined && { LicenseModel: input.LicenseModel }), + ...(input.MasterUserPassword !== undefined && { MasterUserPassword: input.MasterUserPassword }), + ...(input.MultiAZ !== undefined && { MultiAZ: input.MultiAZ }), + ...(input.PendingCloudWatchLogsExports !== undefined && { + PendingCloudWatchLogsExports: serializeAws_restJson1AwsRdsPendingCloudWatchLogsExports( + input.PendingCloudWatchLogsExports, + context + ), + }), + ...(input.Port !== undefined && { Port: input.Port }), + ...(input.ProcessorFeatures !== undefined && { + ProcessorFeatures: serializeAws_restJson1AwsRdsDbProcessorFeatures(input.ProcessorFeatures, context), + }), + ...(input.StorageType !== undefined && { StorageType: input.StorageType }), + }; +}; + +const serializeAws_restJson1AwsRdsDbProcessorFeature = ( + input: AwsRdsDbProcessorFeature, + context: __SerdeContext +): any => { + return { + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_restJson1AwsRdsDbProcessorFeatures = ( + input: AwsRdsDbProcessorFeature[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbProcessorFeature(entry, context)); +}; + +const serializeAws_restJson1AwsRdsDbSnapshotDetails = ( + input: AwsRdsDbSnapshotDetails, + context: __SerdeContext +): any => { + return { + ...(input.AllocatedStorage !== undefined && { AllocatedStorage: input.AllocatedStorage }), + ...(input.AvailabilityZone !== undefined && { AvailabilityZone: input.AvailabilityZone }), + ...(input.DbInstanceIdentifier !== undefined && { DbInstanceIdentifier: input.DbInstanceIdentifier }), + ...(input.DbSnapshotIdentifier !== undefined && { DbSnapshotIdentifier: input.DbSnapshotIdentifier }), + ...(input.DbiResourceId !== undefined && { DbiResourceId: input.DbiResourceId }), + ...(input.Encrypted !== undefined && { Encrypted: input.Encrypted }), + ...(input.Engine !== undefined && { Engine: input.Engine }), + ...(input.EngineVersion !== undefined && { EngineVersion: input.EngineVersion }), + ...(input.IamDatabaseAuthenticationEnabled !== undefined && { + IamDatabaseAuthenticationEnabled: input.IamDatabaseAuthenticationEnabled, + }), + ...(input.InstanceCreateTime !== undefined && { InstanceCreateTime: input.InstanceCreateTime }), + ...(input.Iops !== undefined && { Iops: input.Iops }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + ...(input.LicenseModel !== undefined && { LicenseModel: input.LicenseModel }), + ...(input.MasterUsername !== undefined && { MasterUsername: input.MasterUsername }), + ...(input.OptionGroupName !== undefined && { OptionGroupName: input.OptionGroupName }), + ...(input.PercentProgress !== undefined && { PercentProgress: input.PercentProgress }), + ...(input.Port !== undefined && { Port: input.Port }), + ...(input.ProcessorFeatures !== undefined && { + ProcessorFeatures: serializeAws_restJson1AwsRdsDbProcessorFeatures(input.ProcessorFeatures, context), + }), + ...(input.SnapshotCreateTime !== undefined && { SnapshotCreateTime: input.SnapshotCreateTime }), + ...(input.SnapshotType !== undefined && { SnapshotType: input.SnapshotType }), + ...(input.SourceDbSnapshotIdentifier !== undefined && { + SourceDbSnapshotIdentifier: input.SourceDbSnapshotIdentifier, + }), + ...(input.SourceRegion !== undefined && { SourceRegion: input.SourceRegion }), + ...(input.Status !== undefined && { Status: input.Status }), + ...(input.StorageType !== undefined && { StorageType: input.StorageType }), + ...(input.TdeCredentialArn !== undefined && { TdeCredentialArn: input.TdeCredentialArn }), + ...(input.Timezone !== undefined && { Timezone: input.Timezone }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), + }; +}; + +const serializeAws_restJson1AwsRdsDbStatusInfo = (input: AwsRdsDbStatusInfo, context: __SerdeContext): any => { + return { + ...(input.Message !== undefined && { Message: input.Message }), + ...(input.Normal !== undefined && { Normal: input.Normal }), + ...(input.Status !== undefined && { Status: input.Status }), + ...(input.StatusType !== undefined && { StatusType: input.StatusType }), + }; +}; + +const serializeAws_restJson1AwsRdsDbStatusInfos = (input: AwsRdsDbStatusInfo[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbStatusInfo(entry, context)); +}; + +const serializeAws_restJson1AwsRdsDbSubnetGroup = (input: AwsRdsDbSubnetGroup, context: __SerdeContext): any => { + return { + ...(input.DbSubnetGroupArn !== undefined && { DbSubnetGroupArn: input.DbSubnetGroupArn }), + ...(input.DbSubnetGroupDescription !== undefined && { DbSubnetGroupDescription: input.DbSubnetGroupDescription }), + ...(input.DbSubnetGroupName !== undefined && { DbSubnetGroupName: input.DbSubnetGroupName }), + ...(input.SubnetGroupStatus !== undefined && { SubnetGroupStatus: input.SubnetGroupStatus }), + ...(input.Subnets !== undefined && { + Subnets: serializeAws_restJson1AwsRdsDbSubnetGroupSubnets(input.Subnets, context), + }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), + }; +}; + +const serializeAws_restJson1AwsRdsDbSubnetGroupSubnet = ( + input: AwsRdsDbSubnetGroupSubnet, + context: __SerdeContext +): any => { + return { + ...(input.SubnetAvailabilityZone !== undefined && { + SubnetAvailabilityZone: serializeAws_restJson1AwsRdsDbSubnetGroupSubnetAvailabilityZone( + input.SubnetAvailabilityZone, + context + ), + }), + ...(input.SubnetIdentifier !== undefined && { SubnetIdentifier: input.SubnetIdentifier }), + ...(input.SubnetStatus !== undefined && { SubnetStatus: input.SubnetStatus }), + }; +}; + +const serializeAws_restJson1AwsRdsDbSubnetGroupSubnetAvailabilityZone = ( + input: AwsRdsDbSubnetGroupSubnetAvailabilityZone, + context: __SerdeContext +): any => { + return { + ...(input.Name !== undefined && { Name: input.Name }), + }; +}; + +const serializeAws_restJson1AwsRdsDbSubnetGroupSubnets = ( + input: AwsRdsDbSubnetGroupSubnet[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRdsDbSubnetGroupSubnet(entry, context)); +}; + +const serializeAws_restJson1AwsRdsPendingCloudWatchLogsExports = ( + input: AwsRdsPendingCloudWatchLogsExports, + context: __SerdeContext +): any => { + return { + ...(input.LogTypesToDisable !== undefined && { + LogTypesToDisable: serializeAws_restJson1StringList(input.LogTypesToDisable, context), + }), + ...(input.LogTypesToEnable !== undefined && { + LogTypesToEnable: serializeAws_restJson1StringList(input.LogTypesToEnable, context), + }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterClusterNode = ( + input: AwsRedshiftClusterClusterNode, + context: __SerdeContext +): any => { + return { + ...(input.NodeRole !== undefined && { NodeRole: input.NodeRole }), + ...(input.PrivateIpAddress !== undefined && { PrivateIpAddress: input.PrivateIpAddress }), + ...(input.PublicIpAddress !== undefined && { PublicIpAddress: input.PublicIpAddress }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterClusterNodes = ( + input: AwsRedshiftClusterClusterNode[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRedshiftClusterClusterNode(entry, context)); +}; + +const serializeAws_restJson1AwsRedshiftClusterClusterParameterGroup = ( + input: AwsRedshiftClusterClusterParameterGroup, + context: __SerdeContext +): any => { + return { + ...(input.ClusterParameterStatusList !== undefined && { + ClusterParameterStatusList: serializeAws_restJson1AwsRedshiftClusterClusterParameterStatusList( + input.ClusterParameterStatusList, + context + ), + }), + ...(input.ParameterApplyStatus !== undefined && { ParameterApplyStatus: input.ParameterApplyStatus }), + ...(input.ParameterGroupName !== undefined && { ParameterGroupName: input.ParameterGroupName }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterClusterParameterGroups = ( + input: AwsRedshiftClusterClusterParameterGroup[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRedshiftClusterClusterParameterGroup(entry, context)); +}; + +const serializeAws_restJson1AwsRedshiftClusterClusterParameterStatus = ( + input: AwsRedshiftClusterClusterParameterStatus, + context: __SerdeContext +): any => { + return { + ...(input.ParameterApplyErrorDescription !== undefined && { + ParameterApplyErrorDescription: input.ParameterApplyErrorDescription, + }), + ...(input.ParameterApplyStatus !== undefined && { ParameterApplyStatus: input.ParameterApplyStatus }), + ...(input.ParameterName !== undefined && { ParameterName: input.ParameterName }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterClusterParameterStatusList = ( + input: AwsRedshiftClusterClusterParameterStatus[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRedshiftClusterClusterParameterStatus(entry, context)); +}; + +const serializeAws_restJson1AwsRedshiftClusterClusterSecurityGroup = ( + input: AwsRedshiftClusterClusterSecurityGroup, + context: __SerdeContext +): any => { + return { + ...(input.ClusterSecurityGroupName !== undefined && { ClusterSecurityGroupName: input.ClusterSecurityGroupName }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterClusterSecurityGroups = ( + input: AwsRedshiftClusterClusterSecurityGroup[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRedshiftClusterClusterSecurityGroup(entry, context)); +}; + +const serializeAws_restJson1AwsRedshiftClusterClusterSnapshotCopyStatus = ( + input: AwsRedshiftClusterClusterSnapshotCopyStatus, + context: __SerdeContext +): any => { + return { + ...(input.DestinationRegion !== undefined && { DestinationRegion: input.DestinationRegion }), + ...(input.ManualSnapshotRetentionPeriod !== undefined && { + ManualSnapshotRetentionPeriod: input.ManualSnapshotRetentionPeriod, + }), + ...(input.RetentionPeriod !== undefined && { RetentionPeriod: input.RetentionPeriod }), + ...(input.SnapshotCopyGrantName !== undefined && { SnapshotCopyGrantName: input.SnapshotCopyGrantName }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterDeferredMaintenanceWindow = ( + input: AwsRedshiftClusterDeferredMaintenanceWindow, + context: __SerdeContext +): any => { + return { + ...(input.DeferMaintenanceEndTime !== undefined && { DeferMaintenanceEndTime: input.DeferMaintenanceEndTime }), + ...(input.DeferMaintenanceIdentifier !== undefined && { + DeferMaintenanceIdentifier: input.DeferMaintenanceIdentifier, + }), + ...(input.DeferMaintenanceStartTime !== undefined && { + DeferMaintenanceStartTime: input.DeferMaintenanceStartTime, + }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterDeferredMaintenanceWindows = ( + input: AwsRedshiftClusterDeferredMaintenanceWindow[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRedshiftClusterDeferredMaintenanceWindow(entry, context)); +}; + +const serializeAws_restJson1AwsRedshiftClusterDetails = ( + input: AwsRedshiftClusterDetails, + context: __SerdeContext +): any => { + return { + ...(input.AllowVersionUpgrade !== undefined && { AllowVersionUpgrade: input.AllowVersionUpgrade }), + ...(input.AutomatedSnapshotRetentionPeriod !== undefined && { + AutomatedSnapshotRetentionPeriod: input.AutomatedSnapshotRetentionPeriod, + }), + ...(input.AvailabilityZone !== undefined && { AvailabilityZone: input.AvailabilityZone }), + ...(input.ClusterAvailabilityStatus !== undefined && { + ClusterAvailabilityStatus: input.ClusterAvailabilityStatus, + }), + ...(input.ClusterCreateTime !== undefined && { ClusterCreateTime: input.ClusterCreateTime }), + ...(input.ClusterIdentifier !== undefined && { ClusterIdentifier: input.ClusterIdentifier }), + ...(input.ClusterNodes !== undefined && { + ClusterNodes: serializeAws_restJson1AwsRedshiftClusterClusterNodes(input.ClusterNodes, context), + }), + ...(input.ClusterParameterGroups !== undefined && { + ClusterParameterGroups: serializeAws_restJson1AwsRedshiftClusterClusterParameterGroups( + input.ClusterParameterGroups, + context + ), + }), + ...(input.ClusterPublicKey !== undefined && { ClusterPublicKey: input.ClusterPublicKey }), + ...(input.ClusterRevisionNumber !== undefined && { ClusterRevisionNumber: input.ClusterRevisionNumber }), + ...(input.ClusterSecurityGroups !== undefined && { + ClusterSecurityGroups: serializeAws_restJson1AwsRedshiftClusterClusterSecurityGroups( + input.ClusterSecurityGroups, + context + ), + }), + ...(input.ClusterSnapshotCopyStatus !== undefined && { + ClusterSnapshotCopyStatus: serializeAws_restJson1AwsRedshiftClusterClusterSnapshotCopyStatus( + input.ClusterSnapshotCopyStatus, + context + ), + }), + ...(input.ClusterStatus !== undefined && { ClusterStatus: input.ClusterStatus }), + ...(input.ClusterSubnetGroupName !== undefined && { ClusterSubnetGroupName: input.ClusterSubnetGroupName }), + ...(input.ClusterVersion !== undefined && { ClusterVersion: input.ClusterVersion }), + ...(input.DBName !== undefined && { DBName: input.DBName }), + ...(input.DeferredMaintenanceWindows !== undefined && { + DeferredMaintenanceWindows: serializeAws_restJson1AwsRedshiftClusterDeferredMaintenanceWindows( + input.DeferredMaintenanceWindows, + context + ), + }), + ...(input.ElasticIpStatus !== undefined && { + ElasticIpStatus: serializeAws_restJson1AwsRedshiftClusterElasticIpStatus(input.ElasticIpStatus, context), + }), + ...(input.ElasticResizeNumberOfNodeOptions !== undefined && { + ElasticResizeNumberOfNodeOptions: input.ElasticResizeNumberOfNodeOptions, + }), + ...(input.Encrypted !== undefined && { Encrypted: input.Encrypted }), + ...(input.Endpoint !== undefined && { + Endpoint: serializeAws_restJson1AwsRedshiftClusterEndpoint(input.Endpoint, context), + }), + ...(input.EnhancedVpcRouting !== undefined && { EnhancedVpcRouting: input.EnhancedVpcRouting }), + ...(input.ExpectedNextSnapshotScheduleTime !== undefined && { + ExpectedNextSnapshotScheduleTime: input.ExpectedNextSnapshotScheduleTime, + }), + ...(input.ExpectedNextSnapshotScheduleTimeStatus !== undefined && { + ExpectedNextSnapshotScheduleTimeStatus: input.ExpectedNextSnapshotScheduleTimeStatus, + }), + ...(input.HsmStatus !== undefined && { + HsmStatus: serializeAws_restJson1AwsRedshiftClusterHsmStatus(input.HsmStatus, context), + }), + ...(input.IamRoles !== undefined && { + IamRoles: serializeAws_restJson1AwsRedshiftClusterIamRoles(input.IamRoles, context), + }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + ...(input.MaintenanceTrackName !== undefined && { MaintenanceTrackName: input.MaintenanceTrackName }), + ...(input.ManualSnapshotRetentionPeriod !== undefined && { + ManualSnapshotRetentionPeriod: input.ManualSnapshotRetentionPeriod, + }), + ...(input.MasterUsername !== undefined && { MasterUsername: input.MasterUsername }), + ...(input.NextMaintenanceWindowStartTime !== undefined && { + NextMaintenanceWindowStartTime: input.NextMaintenanceWindowStartTime, + }), + ...(input.NodeType !== undefined && { NodeType: input.NodeType }), + ...(input.NumberOfNodes !== undefined && { NumberOfNodes: input.NumberOfNodes }), + ...(input.PendingActions !== undefined && { + PendingActions: serializeAws_restJson1StringList(input.PendingActions, context), + }), + ...(input.PendingModifiedValues !== undefined && { + PendingModifiedValues: serializeAws_restJson1AwsRedshiftClusterPendingModifiedValues( + input.PendingModifiedValues, + context + ), + }), + ...(input.PreferredMaintenanceWindow !== undefined && { + PreferredMaintenanceWindow: input.PreferredMaintenanceWindow, + }), + ...(input.PubliclyAccessible !== undefined && { PubliclyAccessible: input.PubliclyAccessible }), + ...(input.ResizeInfo !== undefined && { + ResizeInfo: serializeAws_restJson1AwsRedshiftClusterResizeInfo(input.ResizeInfo, context), + }), + ...(input.RestoreStatus !== undefined && { + RestoreStatus: serializeAws_restJson1AwsRedshiftClusterRestoreStatus(input.RestoreStatus, context), + }), + ...(input.SnapshotScheduleIdentifier !== undefined && { + SnapshotScheduleIdentifier: input.SnapshotScheduleIdentifier, + }), + ...(input.SnapshotScheduleState !== undefined && { SnapshotScheduleState: input.SnapshotScheduleState }), + ...(input.VpcId !== undefined && { VpcId: input.VpcId }), + ...(input.VpcSecurityGroups !== undefined && { + VpcSecurityGroups: serializeAws_restJson1AwsRedshiftClusterVpcSecurityGroups(input.VpcSecurityGroups, context), + }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterElasticIpStatus = ( + input: AwsRedshiftClusterElasticIpStatus, + context: __SerdeContext +): any => { + return { + ...(input.ElasticIp !== undefined && { ElasticIp: input.ElasticIp }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterEndpoint = ( + input: AwsRedshiftClusterEndpoint, + context: __SerdeContext +): any => { + return { + ...(input.Address !== undefined && { Address: input.Address }), + ...(input.Port !== undefined && { Port: input.Port }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterHsmStatus = ( + input: AwsRedshiftClusterHsmStatus, + context: __SerdeContext +): any => { + return { + ...(input.HsmClientCertificateIdentifier !== undefined && { + HsmClientCertificateIdentifier: input.HsmClientCertificateIdentifier, + }), + ...(input.HsmConfigurationIdentifier !== undefined && { + HsmConfigurationIdentifier: input.HsmConfigurationIdentifier, + }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterIamRole = ( + input: AwsRedshiftClusterIamRole, + context: __SerdeContext +): any => { + return { + ...(input.ApplyStatus !== undefined && { ApplyStatus: input.ApplyStatus }), + ...(input.IamRoleArn !== undefined && { IamRoleArn: input.IamRoleArn }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterIamRoles = ( + input: AwsRedshiftClusterIamRole[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRedshiftClusterIamRole(entry, context)); +}; + +const serializeAws_restJson1AwsRedshiftClusterPendingModifiedValues = ( + input: AwsRedshiftClusterPendingModifiedValues, + context: __SerdeContext +): any => { + return { + ...(input.AutomatedSnapshotRetentionPeriod !== undefined && { + AutomatedSnapshotRetentionPeriod: input.AutomatedSnapshotRetentionPeriod, + }), + ...(input.ClusterIdentifier !== undefined && { ClusterIdentifier: input.ClusterIdentifier }), + ...(input.ClusterType !== undefined && { ClusterType: input.ClusterType }), + ...(input.ClusterVersion !== undefined && { ClusterVersion: input.ClusterVersion }), + ...(input.EncryptionType !== undefined && { EncryptionType: input.EncryptionType }), + ...(input.EnhancedVpcRouting !== undefined && { EnhancedVpcRouting: input.EnhancedVpcRouting }), + ...(input.MaintenanceTrackName !== undefined && { MaintenanceTrackName: input.MaintenanceTrackName }), + ...(input.MasterUserPassword !== undefined && { MasterUserPassword: input.MasterUserPassword }), + ...(input.NodeType !== undefined && { NodeType: input.NodeType }), + ...(input.NumberOfNodes !== undefined && { NumberOfNodes: input.NumberOfNodes }), + ...(input.PubliclyAccessible !== undefined && { PubliclyAccessible: input.PubliclyAccessible }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterResizeInfo = ( + input: AwsRedshiftClusterResizeInfo, + context: __SerdeContext +): any => { + return { + ...(input.AllowCancelResize !== undefined && { AllowCancelResize: input.AllowCancelResize }), + ...(input.ResizeType !== undefined && { ResizeType: input.ResizeType }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterRestoreStatus = ( + input: AwsRedshiftClusterRestoreStatus, + context: __SerdeContext +): any => { + return { + ...(input.CurrentRestoreRateInMegaBytesPerSecond !== undefined && { + CurrentRestoreRateInMegaBytesPerSecond: input.CurrentRestoreRateInMegaBytesPerSecond, + }), + ...(input.ElapsedTimeInSeconds !== undefined && { ElapsedTimeInSeconds: input.ElapsedTimeInSeconds }), + ...(input.EstimatedTimeToCompletionInSeconds !== undefined && { + EstimatedTimeToCompletionInSeconds: input.EstimatedTimeToCompletionInSeconds, + }), + ...(input.ProgressInMegaBytes !== undefined && { ProgressInMegaBytes: input.ProgressInMegaBytes }), + ...(input.SnapshotSizeInMegaBytes !== undefined && { SnapshotSizeInMegaBytes: input.SnapshotSizeInMegaBytes }), + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterVpcSecurityGroup = ( + input: AwsRedshiftClusterVpcSecurityGroup, + context: __SerdeContext +): any => { + return { + ...(input.Status !== undefined && { Status: input.Status }), + ...(input.VpcSecurityGroupId !== undefined && { VpcSecurityGroupId: input.VpcSecurityGroupId }), + }; +}; + +const serializeAws_restJson1AwsRedshiftClusterVpcSecurityGroups = ( + input: AwsRedshiftClusterVpcSecurityGroup[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsRedshiftClusterVpcSecurityGroup(entry, context)); +}; + +const serializeAws_restJson1AwsS3BucketDetails = (input: AwsS3BucketDetails, context: __SerdeContext): any => { + return { + ...(input.CreatedAt !== undefined && { CreatedAt: input.CreatedAt }), + ...(input.OwnerId !== undefined && { OwnerId: input.OwnerId }), + ...(input.OwnerName !== undefined && { OwnerName: input.OwnerName }), + ...(input.ServerSideEncryptionConfiguration !== undefined && { + ServerSideEncryptionConfiguration: serializeAws_restJson1AwsS3BucketServerSideEncryptionConfiguration( + input.ServerSideEncryptionConfiguration, + context + ), + }), + }; +}; + +const serializeAws_restJson1AwsS3BucketServerSideEncryptionByDefault = ( + input: AwsS3BucketServerSideEncryptionByDefault, + context: __SerdeContext +): any => { + return { + ...(input.KMSMasterKeyID !== undefined && { KMSMasterKeyID: input.KMSMasterKeyID }), + ...(input.SSEAlgorithm !== undefined && { SSEAlgorithm: input.SSEAlgorithm }), + }; +}; + +const serializeAws_restJson1AwsS3BucketServerSideEncryptionConfiguration = ( + input: AwsS3BucketServerSideEncryptionConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.Rules !== undefined && { + Rules: serializeAws_restJson1AwsS3BucketServerSideEncryptionRules(input.Rules, context), + }), + }; +}; + +const serializeAws_restJson1AwsS3BucketServerSideEncryptionRule = ( + input: AwsS3BucketServerSideEncryptionRule, + context: __SerdeContext +): any => { + return { + ...(input.ApplyServerSideEncryptionByDefault !== undefined && { + ApplyServerSideEncryptionByDefault: serializeAws_restJson1AwsS3BucketServerSideEncryptionByDefault( + input.ApplyServerSideEncryptionByDefault, + context + ), + }), + }; +}; + +const serializeAws_restJson1AwsS3BucketServerSideEncryptionRules = ( + input: AwsS3BucketServerSideEncryptionRule[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsS3BucketServerSideEncryptionRule(entry, context)); +}; + +const serializeAws_restJson1AwsS3ObjectDetails = (input: AwsS3ObjectDetails, context: __SerdeContext): any => { + return { + ...(input.ContentType !== undefined && { ContentType: input.ContentType }), + ...(input.ETag !== undefined && { ETag: input.ETag }), + ...(input.LastModified !== undefined && { LastModified: input.LastModified }), + ...(input.SSEKMSKeyId !== undefined && { SSEKMSKeyId: input.SSEKMSKeyId }), + ...(input.ServerSideEncryption !== undefined && { ServerSideEncryption: input.ServerSideEncryption }), + ...(input.VersionId !== undefined && { VersionId: input.VersionId }), + }; +}; + +const serializeAws_restJson1AwsSecretsManagerSecretDetails = ( + input: AwsSecretsManagerSecretDetails, + context: __SerdeContext +): any => { + return { + ...(input.Deleted !== undefined && { Deleted: input.Deleted }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.RotationEnabled !== undefined && { RotationEnabled: input.RotationEnabled }), + ...(input.RotationLambdaArn !== undefined && { RotationLambdaArn: input.RotationLambdaArn }), + ...(input.RotationOccurredWithinFrequency !== undefined && { + RotationOccurredWithinFrequency: input.RotationOccurredWithinFrequency, + }), + ...(input.RotationRules !== undefined && { + RotationRules: serializeAws_restJson1AwsSecretsManagerSecretRotationRules(input.RotationRules, context), + }), + }; +}; + +const serializeAws_restJson1AwsSecretsManagerSecretRotationRules = ( + input: AwsSecretsManagerSecretRotationRules, + context: __SerdeContext +): any => { + return { + ...(input.AutomaticallyAfterDays !== undefined && { AutomaticallyAfterDays: input.AutomaticallyAfterDays }), + }; +}; + +const serializeAws_restJson1AwsSecurityFinding = (input: AwsSecurityFinding, context: __SerdeContext): any => { + return { + ...(input.AwsAccountId !== undefined && { AwsAccountId: input.AwsAccountId }), + ...(input.Compliance !== undefined && { Compliance: serializeAws_restJson1Compliance(input.Compliance, context) }), + ...(input.Confidence !== undefined && { Confidence: input.Confidence }), + ...(input.CreatedAt !== undefined && { CreatedAt: input.CreatedAt }), + ...(input.Criticality !== undefined && { Criticality: input.Criticality }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.FirstObservedAt !== undefined && { FirstObservedAt: input.FirstObservedAt }), + ...(input.GeneratorId !== undefined && { GeneratorId: input.GeneratorId }), + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.LastObservedAt !== undefined && { LastObservedAt: input.LastObservedAt }), + ...(input.Malware !== undefined && { Malware: serializeAws_restJson1MalwareList(input.Malware, context) }), + ...(input.Network !== undefined && { Network: serializeAws_restJson1Network(input.Network, context) }), + ...(input.NetworkPath !== undefined && { + NetworkPath: serializeAws_restJson1NetworkPathList(input.NetworkPath, context), + }), + ...(input.Note !== undefined && { Note: serializeAws_restJson1Note(input.Note, context) }), + ...(input.PatchSummary !== undefined && { + PatchSummary: serializeAws_restJson1PatchSummary(input.PatchSummary, context), + }), + ...(input.Process !== undefined && { Process: serializeAws_restJson1ProcessDetails(input.Process, context) }), + ...(input.ProductArn !== undefined && { ProductArn: input.ProductArn }), + ...(input.ProductFields !== undefined && { + ProductFields: serializeAws_restJson1FieldMap(input.ProductFields, context), + }), + ...(input.RecordState !== undefined && { RecordState: input.RecordState }), + ...(input.RelatedFindings !== undefined && { + RelatedFindings: serializeAws_restJson1RelatedFindingList(input.RelatedFindings, context), + }), + ...(input.Remediation !== undefined && { + Remediation: serializeAws_restJson1Remediation(input.Remediation, context), + }), + ...(input.Resources !== undefined && { Resources: serializeAws_restJson1ResourceList(input.Resources, context) }), + ...(input.SchemaVersion !== undefined && { SchemaVersion: input.SchemaVersion }), + ...(input.Severity !== undefined && { Severity: serializeAws_restJson1Severity(input.Severity, context) }), + ...(input.SourceUrl !== undefined && { SourceUrl: input.SourceUrl }), + ...(input.ThreatIntelIndicators !== undefined && { + ThreatIntelIndicators: serializeAws_restJson1ThreatIntelIndicatorList(input.ThreatIntelIndicators, context), + }), + ...(input.Title !== undefined && { Title: input.Title }), + ...(input.Types !== undefined && { Types: serializeAws_restJson1TypeList(input.Types, context) }), + ...(input.UpdatedAt !== undefined && { UpdatedAt: input.UpdatedAt }), + ...(input.UserDefinedFields !== undefined && { + UserDefinedFields: serializeAws_restJson1FieldMap(input.UserDefinedFields, context), + }), + ...(input.VerificationState !== undefined && { VerificationState: input.VerificationState }), + ...(input.Vulnerabilities !== undefined && { + Vulnerabilities: serializeAws_restJson1VulnerabilityList(input.Vulnerabilities, context), + }), + ...(input.Workflow !== undefined && { Workflow: serializeAws_restJson1Workflow(input.Workflow, context) }), + ...(input.WorkflowState !== undefined && { WorkflowState: input.WorkflowState }), + }; +}; + +const serializeAws_restJson1AwsSecurityFindingFilters = ( + input: AwsSecurityFindingFilters, + context: __SerdeContext +): any => { + return { + ...(input.AwsAccountId !== undefined && { + AwsAccountId: serializeAws_restJson1StringFilterList(input.AwsAccountId, context), + }), + ...(input.CompanyName !== undefined && { + CompanyName: serializeAws_restJson1StringFilterList(input.CompanyName, context), + }), + ...(input.ComplianceStatus !== undefined && { + ComplianceStatus: serializeAws_restJson1StringFilterList(input.ComplianceStatus, context), + }), + ...(input.Confidence !== undefined && { + Confidence: serializeAws_restJson1NumberFilterList(input.Confidence, context), + }), + ...(input.CreatedAt !== undefined && { CreatedAt: serializeAws_restJson1DateFilterList(input.CreatedAt, context) }), + ...(input.Criticality !== undefined && { + Criticality: serializeAws_restJson1NumberFilterList(input.Criticality, context), + }), + ...(input.Description !== undefined && { + Description: serializeAws_restJson1StringFilterList(input.Description, context), + }), + ...(input.FirstObservedAt !== undefined && { + FirstObservedAt: serializeAws_restJson1DateFilterList(input.FirstObservedAt, context), + }), + ...(input.GeneratorId !== undefined && { + GeneratorId: serializeAws_restJson1StringFilterList(input.GeneratorId, context), + }), + ...(input.Id !== undefined && { Id: serializeAws_restJson1StringFilterList(input.Id, context) }), + ...(input.Keyword !== undefined && { Keyword: serializeAws_restJson1KeywordFilterList(input.Keyword, context) }), + ...(input.LastObservedAt !== undefined && { + LastObservedAt: serializeAws_restJson1DateFilterList(input.LastObservedAt, context), + }), + ...(input.MalwareName !== undefined && { + MalwareName: serializeAws_restJson1StringFilterList(input.MalwareName, context), + }), + ...(input.MalwarePath !== undefined && { + MalwarePath: serializeAws_restJson1StringFilterList(input.MalwarePath, context), + }), + ...(input.MalwareState !== undefined && { + MalwareState: serializeAws_restJson1StringFilterList(input.MalwareState, context), + }), + ...(input.MalwareType !== undefined && { + MalwareType: serializeAws_restJson1StringFilterList(input.MalwareType, context), + }), + ...(input.NetworkDestinationDomain !== undefined && { + NetworkDestinationDomain: serializeAws_restJson1StringFilterList(input.NetworkDestinationDomain, context), + }), + ...(input.NetworkDestinationIpV4 !== undefined && { + NetworkDestinationIpV4: serializeAws_restJson1IpFilterList(input.NetworkDestinationIpV4, context), + }), + ...(input.NetworkDestinationIpV6 !== undefined && { + NetworkDestinationIpV6: serializeAws_restJson1IpFilterList(input.NetworkDestinationIpV6, context), + }), + ...(input.NetworkDestinationPort !== undefined && { + NetworkDestinationPort: serializeAws_restJson1NumberFilterList(input.NetworkDestinationPort, context), + }), + ...(input.NetworkDirection !== undefined && { + NetworkDirection: serializeAws_restJson1StringFilterList(input.NetworkDirection, context), + }), + ...(input.NetworkProtocol !== undefined && { + NetworkProtocol: serializeAws_restJson1StringFilterList(input.NetworkProtocol, context), + }), + ...(input.NetworkSourceDomain !== undefined && { + NetworkSourceDomain: serializeAws_restJson1StringFilterList(input.NetworkSourceDomain, context), + }), + ...(input.NetworkSourceIpV4 !== undefined && { + NetworkSourceIpV4: serializeAws_restJson1IpFilterList(input.NetworkSourceIpV4, context), + }), + ...(input.NetworkSourceIpV6 !== undefined && { + NetworkSourceIpV6: serializeAws_restJson1IpFilterList(input.NetworkSourceIpV6, context), + }), + ...(input.NetworkSourceMac !== undefined && { + NetworkSourceMac: serializeAws_restJson1StringFilterList(input.NetworkSourceMac, context), + }), + ...(input.NetworkSourcePort !== undefined && { + NetworkSourcePort: serializeAws_restJson1NumberFilterList(input.NetworkSourcePort, context), + }), + ...(input.NoteText !== undefined && { NoteText: serializeAws_restJson1StringFilterList(input.NoteText, context) }), + ...(input.NoteUpdatedAt !== undefined && { + NoteUpdatedAt: serializeAws_restJson1DateFilterList(input.NoteUpdatedAt, context), + }), + ...(input.NoteUpdatedBy !== undefined && { + NoteUpdatedBy: serializeAws_restJson1StringFilterList(input.NoteUpdatedBy, context), + }), + ...(input.ProcessLaunchedAt !== undefined && { + ProcessLaunchedAt: serializeAws_restJson1DateFilterList(input.ProcessLaunchedAt, context), + }), + ...(input.ProcessName !== undefined && { + ProcessName: serializeAws_restJson1StringFilterList(input.ProcessName, context), + }), + ...(input.ProcessParentPid !== undefined && { + ProcessParentPid: serializeAws_restJson1NumberFilterList(input.ProcessParentPid, context), + }), + ...(input.ProcessPath !== undefined && { + ProcessPath: serializeAws_restJson1StringFilterList(input.ProcessPath, context), + }), + ...(input.ProcessPid !== undefined && { + ProcessPid: serializeAws_restJson1NumberFilterList(input.ProcessPid, context), + }), + ...(input.ProcessTerminatedAt !== undefined && { + ProcessTerminatedAt: serializeAws_restJson1DateFilterList(input.ProcessTerminatedAt, context), + }), + ...(input.ProductArn !== undefined && { + ProductArn: serializeAws_restJson1StringFilterList(input.ProductArn, context), + }), + ...(input.ProductFields !== undefined && { + ProductFields: serializeAws_restJson1MapFilterList(input.ProductFields, context), + }), + ...(input.ProductName !== undefined && { + ProductName: serializeAws_restJson1StringFilterList(input.ProductName, context), + }), + ...(input.RecommendationText !== undefined && { + RecommendationText: serializeAws_restJson1StringFilterList(input.RecommendationText, context), + }), + ...(input.RecordState !== undefined && { + RecordState: serializeAws_restJson1StringFilterList(input.RecordState, context), + }), + ...(input.RelatedFindingsId !== undefined && { + RelatedFindingsId: serializeAws_restJson1StringFilterList(input.RelatedFindingsId, context), + }), + ...(input.RelatedFindingsProductArn !== undefined && { + RelatedFindingsProductArn: serializeAws_restJson1StringFilterList(input.RelatedFindingsProductArn, context), + }), + ...(input.ResourceAwsEc2InstanceIamInstanceProfileArn !== undefined && { + ResourceAwsEc2InstanceIamInstanceProfileArn: serializeAws_restJson1StringFilterList( + input.ResourceAwsEc2InstanceIamInstanceProfileArn, + context + ), + }), + ...(input.ResourceAwsEc2InstanceImageId !== undefined && { + ResourceAwsEc2InstanceImageId: serializeAws_restJson1StringFilterList( + input.ResourceAwsEc2InstanceImageId, + context + ), + }), + ...(input.ResourceAwsEc2InstanceIpV4Addresses !== undefined && { + ResourceAwsEc2InstanceIpV4Addresses: serializeAws_restJson1IpFilterList( + input.ResourceAwsEc2InstanceIpV4Addresses, + context + ), + }), + ...(input.ResourceAwsEc2InstanceIpV6Addresses !== undefined && { + ResourceAwsEc2InstanceIpV6Addresses: serializeAws_restJson1IpFilterList( + input.ResourceAwsEc2InstanceIpV6Addresses, + context + ), + }), + ...(input.ResourceAwsEc2InstanceKeyName !== undefined && { + ResourceAwsEc2InstanceKeyName: serializeAws_restJson1StringFilterList( + input.ResourceAwsEc2InstanceKeyName, + context + ), + }), + ...(input.ResourceAwsEc2InstanceLaunchedAt !== undefined && { + ResourceAwsEc2InstanceLaunchedAt: serializeAws_restJson1DateFilterList( + input.ResourceAwsEc2InstanceLaunchedAt, + context + ), + }), + ...(input.ResourceAwsEc2InstanceSubnetId !== undefined && { + ResourceAwsEc2InstanceSubnetId: serializeAws_restJson1StringFilterList( + input.ResourceAwsEc2InstanceSubnetId, + context + ), + }), + ...(input.ResourceAwsEc2InstanceType !== undefined && { + ResourceAwsEc2InstanceType: serializeAws_restJson1StringFilterList(input.ResourceAwsEc2InstanceType, context), + }), + ...(input.ResourceAwsEc2InstanceVpcId !== undefined && { + ResourceAwsEc2InstanceVpcId: serializeAws_restJson1StringFilterList(input.ResourceAwsEc2InstanceVpcId, context), + }), + ...(input.ResourceAwsIamAccessKeyCreatedAt !== undefined && { + ResourceAwsIamAccessKeyCreatedAt: serializeAws_restJson1DateFilterList( + input.ResourceAwsIamAccessKeyCreatedAt, + context + ), + }), + ...(input.ResourceAwsIamAccessKeyStatus !== undefined && { + ResourceAwsIamAccessKeyStatus: serializeAws_restJson1StringFilterList( + input.ResourceAwsIamAccessKeyStatus, + context + ), + }), + ...(input.ResourceAwsIamAccessKeyUserName !== undefined && { + ResourceAwsIamAccessKeyUserName: serializeAws_restJson1StringFilterList( + input.ResourceAwsIamAccessKeyUserName, + context + ), + }), + ...(input.ResourceAwsS3BucketOwnerId !== undefined && { + ResourceAwsS3BucketOwnerId: serializeAws_restJson1StringFilterList(input.ResourceAwsS3BucketOwnerId, context), + }), + ...(input.ResourceAwsS3BucketOwnerName !== undefined && { + ResourceAwsS3BucketOwnerName: serializeAws_restJson1StringFilterList(input.ResourceAwsS3BucketOwnerName, context), + }), + ...(input.ResourceContainerImageId !== undefined && { + ResourceContainerImageId: serializeAws_restJson1StringFilterList(input.ResourceContainerImageId, context), + }), + ...(input.ResourceContainerImageName !== undefined && { + ResourceContainerImageName: serializeAws_restJson1StringFilterList(input.ResourceContainerImageName, context), + }), + ...(input.ResourceContainerLaunchedAt !== undefined && { + ResourceContainerLaunchedAt: serializeAws_restJson1DateFilterList(input.ResourceContainerLaunchedAt, context), + }), + ...(input.ResourceContainerName !== undefined && { + ResourceContainerName: serializeAws_restJson1StringFilterList(input.ResourceContainerName, context), + }), + ...(input.ResourceDetailsOther !== undefined && { + ResourceDetailsOther: serializeAws_restJson1MapFilterList(input.ResourceDetailsOther, context), + }), + ...(input.ResourceId !== undefined && { + ResourceId: serializeAws_restJson1StringFilterList(input.ResourceId, context), + }), + ...(input.ResourcePartition !== undefined && { + ResourcePartition: serializeAws_restJson1StringFilterList(input.ResourcePartition, context), + }), + ...(input.ResourceRegion !== undefined && { + ResourceRegion: serializeAws_restJson1StringFilterList(input.ResourceRegion, context), + }), + ...(input.ResourceTags !== undefined && { + ResourceTags: serializeAws_restJson1MapFilterList(input.ResourceTags, context), + }), + ...(input.ResourceType !== undefined && { + ResourceType: serializeAws_restJson1StringFilterList(input.ResourceType, context), + }), + ...(input.SeverityLabel !== undefined && { + SeverityLabel: serializeAws_restJson1StringFilterList(input.SeverityLabel, context), + }), + ...(input.SeverityNormalized !== undefined && { + SeverityNormalized: serializeAws_restJson1NumberFilterList(input.SeverityNormalized, context), + }), + ...(input.SeverityProduct !== undefined && { + SeverityProduct: serializeAws_restJson1NumberFilterList(input.SeverityProduct, context), + }), + ...(input.SourceUrl !== undefined && { + SourceUrl: serializeAws_restJson1StringFilterList(input.SourceUrl, context), + }), + ...(input.ThreatIntelIndicatorCategory !== undefined && { + ThreatIntelIndicatorCategory: serializeAws_restJson1StringFilterList(input.ThreatIntelIndicatorCategory, context), + }), + ...(input.ThreatIntelIndicatorLastObservedAt !== undefined && { + ThreatIntelIndicatorLastObservedAt: serializeAws_restJson1DateFilterList( + input.ThreatIntelIndicatorLastObservedAt, + context + ), + }), + ...(input.ThreatIntelIndicatorSource !== undefined && { + ThreatIntelIndicatorSource: serializeAws_restJson1StringFilterList(input.ThreatIntelIndicatorSource, context), + }), + ...(input.ThreatIntelIndicatorSourceUrl !== undefined && { + ThreatIntelIndicatorSourceUrl: serializeAws_restJson1StringFilterList( + input.ThreatIntelIndicatorSourceUrl, + context + ), + }), + ...(input.ThreatIntelIndicatorType !== undefined && { + ThreatIntelIndicatorType: serializeAws_restJson1StringFilterList(input.ThreatIntelIndicatorType, context), + }), + ...(input.ThreatIntelIndicatorValue !== undefined && { + ThreatIntelIndicatorValue: serializeAws_restJson1StringFilterList(input.ThreatIntelIndicatorValue, context), + }), + ...(input.Title !== undefined && { Title: serializeAws_restJson1StringFilterList(input.Title, context) }), + ...(input.Type !== undefined && { Type: serializeAws_restJson1StringFilterList(input.Type, context) }), + ...(input.UpdatedAt !== undefined && { UpdatedAt: serializeAws_restJson1DateFilterList(input.UpdatedAt, context) }), + ...(input.UserDefinedFields !== undefined && { + UserDefinedFields: serializeAws_restJson1MapFilterList(input.UserDefinedFields, context), + }), + ...(input.VerificationState !== undefined && { + VerificationState: serializeAws_restJson1StringFilterList(input.VerificationState, context), + }), + ...(input.WorkflowState !== undefined && { + WorkflowState: serializeAws_restJson1StringFilterList(input.WorkflowState, context), + }), + ...(input.WorkflowStatus !== undefined && { + WorkflowStatus: serializeAws_restJson1StringFilterList(input.WorkflowStatus, context), + }), + }; +}; + +const serializeAws_restJson1AwsSecurityFindingIdentifier = ( + input: AwsSecurityFindingIdentifier, + context: __SerdeContext +): any => { + return { + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.ProductArn !== undefined && { ProductArn: input.ProductArn }), + }; +}; + +const serializeAws_restJson1AwsSecurityFindingIdentifierList = ( + input: AwsSecurityFindingIdentifier[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsSecurityFindingIdentifier(entry, context)); +}; + +const serializeAws_restJson1AwsSecurityFindingList = (input: AwsSecurityFinding[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1AwsSecurityFinding(entry, context)); +}; + +const serializeAws_restJson1AwsSnsTopicDetails = (input: AwsSnsTopicDetails, context: __SerdeContext): any => { + return { + ...(input.KmsMasterKeyId !== undefined && { KmsMasterKeyId: input.KmsMasterKeyId }), + ...(input.Owner !== undefined && { Owner: input.Owner }), + ...(input.Subscription !== undefined && { + Subscription: serializeAws_restJson1AwsSnsTopicSubscriptionList(input.Subscription, context), + }), + ...(input.TopicName !== undefined && { TopicName: input.TopicName }), + }; +}; + +const serializeAws_restJson1AwsSnsTopicSubscription = ( + input: AwsSnsTopicSubscription, + context: __SerdeContext +): any => { + return { + ...(input.Endpoint !== undefined && { Endpoint: input.Endpoint }), + ...(input.Protocol !== undefined && { Protocol: input.Protocol }), + }; +}; + +const serializeAws_restJson1AwsSnsTopicSubscriptionList = ( + input: AwsSnsTopicSubscription[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1AwsSnsTopicSubscription(entry, context)); +}; + +const serializeAws_restJson1AwsSqsQueueDetails = (input: AwsSqsQueueDetails, context: __SerdeContext): any => { + return { + ...(input.DeadLetterTargetArn !== undefined && { DeadLetterTargetArn: input.DeadLetterTargetArn }), + ...(input.KmsDataKeyReusePeriodSeconds !== undefined && { + KmsDataKeyReusePeriodSeconds: input.KmsDataKeyReusePeriodSeconds, + }), + ...(input.KmsMasterKeyId !== undefined && { KmsMasterKeyId: input.KmsMasterKeyId }), + ...(input.QueueName !== undefined && { QueueName: input.QueueName }), + }; +}; + +const serializeAws_restJson1AwsWafWebAclDetails = (input: AwsWafWebAclDetails, context: __SerdeContext): any => { + return { + ...(input.DefaultAction !== undefined && { DefaultAction: input.DefaultAction }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Rules !== undefined && { Rules: serializeAws_restJson1AwsWafWebAclRuleList(input.Rules, context) }), + ...(input.WebAclId !== undefined && { WebAclId: input.WebAclId }), + }; +}; + +const serializeAws_restJson1AwsWafWebAclRule = (input: AwsWafWebAclRule, context: __SerdeContext): any => { + return { + ...(input.Action !== undefined && { Action: serializeAws_restJson1WafAction(input.Action, context) }), + ...(input.ExcludedRules !== undefined && { + ExcludedRules: serializeAws_restJson1WafExcludedRuleList(input.ExcludedRules, context), + }), + ...(input.OverrideAction !== undefined && { + OverrideAction: serializeAws_restJson1WafOverrideAction(input.OverrideAction, context), + }), + ...(input.Priority !== undefined && { Priority: input.Priority }), + ...(input.RuleId !== undefined && { RuleId: input.RuleId }), + ...(input.Type !== undefined && { Type: input.Type }), + }; +}; + +const serializeAws_restJson1AwsWafWebAclRuleList = (input: AwsWafWebAclRule[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1AwsWafWebAclRule(entry, context)); +}; + +const serializeAws_restJson1CidrBlockAssociation = (input: CidrBlockAssociation, context: __SerdeContext): any => { + return { + ...(input.AssociationId !== undefined && { AssociationId: input.AssociationId }), + ...(input.CidrBlock !== undefined && { CidrBlock: input.CidrBlock }), + ...(input.CidrBlockState !== undefined && { CidrBlockState: input.CidrBlockState }), + }; +}; + +const serializeAws_restJson1CidrBlockAssociationList = ( + input: CidrBlockAssociation[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1CidrBlockAssociation(entry, context)); +}; + +const serializeAws_restJson1Compliance = (input: Compliance, context: __SerdeContext): any => { + return { + ...(input.RelatedRequirements !== undefined && { + RelatedRequirements: serializeAws_restJson1RelatedRequirementsList(input.RelatedRequirements, context), + }), + ...(input.Status !== undefined && { Status: input.Status }), + ...(input.StatusReasons !== undefined && { + StatusReasons: serializeAws_restJson1StatusReasonsList(input.StatusReasons, context), + }), + }; +}; + +const serializeAws_restJson1ContainerDetails = (input: ContainerDetails, context: __SerdeContext): any => { + return { + ...(input.ImageId !== undefined && { ImageId: input.ImageId }), + ...(input.ImageName !== undefined && { ImageName: input.ImageName }), + ...(input.LaunchedAt !== undefined && { LaunchedAt: input.LaunchedAt }), + ...(input.Name !== undefined && { Name: input.Name }), + }; +}; + +const serializeAws_restJson1Cvss = (input: Cvss, context: __SerdeContext): any => { + return { + ...(input.BaseScore !== undefined && { BaseScore: input.BaseScore }), + ...(input.BaseVector !== undefined && { BaseVector: input.BaseVector }), + ...(input.Version !== undefined && { Version: input.Version }), + }; +}; + +const serializeAws_restJson1CvssList = (input: Cvss[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1Cvss(entry, context)); +}; + +const serializeAws_restJson1DateFilter = (input: DateFilter, context: __SerdeContext): any => { + return { + ...(input.DateRange !== undefined && { DateRange: serializeAws_restJson1DateRange(input.DateRange, context) }), + ...(input.End !== undefined && { End: input.End }), + ...(input.Start !== undefined && { Start: input.Start }), + }; +}; + +const serializeAws_restJson1DateFilterList = (input: DateFilter[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1DateFilter(entry, context)); +}; + +const serializeAws_restJson1DateRange = (input: DateRange, context: __SerdeContext): any => { + return { + ...(input.Unit !== undefined && { Unit: input.Unit }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_restJson1FieldMap = (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_restJson1IpFilter = (input: IpFilter, context: __SerdeContext): any => { + return { + ...(input.Cidr !== undefined && { Cidr: input.Cidr }), + }; +}; + +const serializeAws_restJson1IpFilterList = (input: IpFilter[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1IpFilter(entry, context)); +}; + +const serializeAws_restJson1Ipv6CidrBlockAssociation = ( + input: Ipv6CidrBlockAssociation, + context: __SerdeContext +): any => { + return { + ...(input.AssociationId !== undefined && { AssociationId: input.AssociationId }), + ...(input.CidrBlockState !== undefined && { CidrBlockState: input.CidrBlockState }), + ...(input.Ipv6CidrBlock !== undefined && { Ipv6CidrBlock: input.Ipv6CidrBlock }), + }; +}; + +const serializeAws_restJson1Ipv6CidrBlockAssociationList = ( + input: Ipv6CidrBlockAssociation[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1Ipv6CidrBlockAssociation(entry, context)); +}; + +const serializeAws_restJson1KeywordFilter = (input: KeywordFilter, context: __SerdeContext): any => { + return { + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_restJson1KeywordFilterList = (input: KeywordFilter[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1KeywordFilter(entry, context)); +}; + +const serializeAws_restJson1LoadBalancerState = (input: LoadBalancerState, context: __SerdeContext): any => { + return { + ...(input.Code !== undefined && { Code: input.Code }), + ...(input.Reason !== undefined && { Reason: input.Reason }), + }; +}; + +const serializeAws_restJson1Malware = (input: Malware, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Path !== undefined && { Path: input.Path }), + ...(input.State !== undefined && { State: input.State }), + ...(input.Type !== undefined && { Type: input.Type }), + }; +}; + +const serializeAws_restJson1MalwareList = (input: Malware[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1Malware(entry, context)); +}; + +const serializeAws_restJson1MapFilter = (input: MapFilter, context: __SerdeContext): any => { + return { + ...(input.Comparison !== undefined && { Comparison: input.Comparison }), + ...(input.Key !== undefined && { Key: input.Key }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_restJson1MapFilterList = (input: MapFilter[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1MapFilter(entry, context)); +}; + +const serializeAws_restJson1Network = (input: Network, context: __SerdeContext): any => { + return { + ...(input.DestinationDomain !== undefined && { DestinationDomain: input.DestinationDomain }), + ...(input.DestinationIpV4 !== undefined && { DestinationIpV4: input.DestinationIpV4 }), + ...(input.DestinationIpV6 !== undefined && { DestinationIpV6: input.DestinationIpV6 }), + ...(input.DestinationPort !== undefined && { DestinationPort: input.DestinationPort }), + ...(input.Direction !== undefined && { Direction: input.Direction }), + ...(input.OpenPortRange !== undefined && { + OpenPortRange: serializeAws_restJson1PortRange(input.OpenPortRange, context), + }), + ...(input.Protocol !== undefined && { Protocol: input.Protocol }), + ...(input.SourceDomain !== undefined && { SourceDomain: input.SourceDomain }), + ...(input.SourceIpV4 !== undefined && { SourceIpV4: input.SourceIpV4 }), + ...(input.SourceIpV6 !== undefined && { SourceIpV6: input.SourceIpV6 }), + ...(input.SourceMac !== undefined && { SourceMac: input.SourceMac }), + ...(input.SourcePort !== undefined && { SourcePort: input.SourcePort }), + }; +}; + +const serializeAws_restJson1NetworkHeader = (input: NetworkHeader, context: __SerdeContext): any => { + return { + ...(input.Destination !== undefined && { + Destination: serializeAws_restJson1NetworkPathComponentDetails(input.Destination, context), + }), + ...(input.Protocol !== undefined && { Protocol: input.Protocol }), + ...(input.Source !== undefined && { + Source: serializeAws_restJson1NetworkPathComponentDetails(input.Source, context), + }), + }; +}; + +const serializeAws_restJson1NetworkPathComponent = (input: NetworkPathComponent, context: __SerdeContext): any => { + return { + ...(input.ComponentId !== undefined && { ComponentId: input.ComponentId }), + ...(input.ComponentType !== undefined && { ComponentType: input.ComponentType }), + ...(input.Egress !== undefined && { Egress: serializeAws_restJson1NetworkHeader(input.Egress, context) }), + ...(input.Ingress !== undefined && { Ingress: serializeAws_restJson1NetworkHeader(input.Ingress, context) }), + }; +}; + +const serializeAws_restJson1NetworkPathComponentDetails = ( + input: NetworkPathComponentDetails, + context: __SerdeContext +): any => { + return { + ...(input.Address !== undefined && { Address: serializeAws_restJson1StringList(input.Address, context) }), + ...(input.PortRanges !== undefined && { + PortRanges: serializeAws_restJson1PortRangeList(input.PortRanges, context), + }), + }; +}; + +const serializeAws_restJson1NetworkPathList = (input: NetworkPathComponent[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1NetworkPathComponent(entry, context)); +}; + +const serializeAws_restJson1NonEmptyStringList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1Note = (input: Note, context: __SerdeContext): any => { + return { + ...(input.Text !== undefined && { Text: input.Text }), + ...(input.UpdatedAt !== undefined && { UpdatedAt: input.UpdatedAt }), + ...(input.UpdatedBy !== undefined && { UpdatedBy: input.UpdatedBy }), + }; +}; + +const serializeAws_restJson1NoteUpdate = (input: NoteUpdate, context: __SerdeContext): any => { + return { + ...(input.Text !== undefined && { Text: input.Text }), + ...(input.UpdatedBy !== undefined && { UpdatedBy: input.UpdatedBy }), + }; +}; + +const serializeAws_restJson1NumberFilter = (input: NumberFilter, context: __SerdeContext): any => { + return { + ...(input.Eq !== undefined && { Eq: input.Eq }), + ...(input.Gte !== undefined && { Gte: input.Gte }), + ...(input.Lte !== undefined && { Lte: input.Lte }), + }; +}; + +const serializeAws_restJson1NumberFilterList = (input: NumberFilter[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1NumberFilter(entry, context)); +}; + +const serializeAws_restJson1PatchSummary = (input: PatchSummary, context: __SerdeContext): any => { + return { + ...(input.FailedCount !== undefined && { FailedCount: input.FailedCount }), + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.InstalledCount !== undefined && { InstalledCount: input.InstalledCount }), + ...(input.InstalledOtherCount !== undefined && { InstalledOtherCount: input.InstalledOtherCount }), + ...(input.InstalledPendingReboot !== undefined && { InstalledPendingReboot: input.InstalledPendingReboot }), + ...(input.InstalledRejectedCount !== undefined && { InstalledRejectedCount: input.InstalledRejectedCount }), + ...(input.MissingCount !== undefined && { MissingCount: input.MissingCount }), + ...(input.Operation !== undefined && { Operation: input.Operation }), + ...(input.OperationEndTime !== undefined && { OperationEndTime: input.OperationEndTime }), + ...(input.OperationStartTime !== undefined && { OperationStartTime: input.OperationStartTime }), + ...(input.RebootOption !== undefined && { RebootOption: input.RebootOption }), + }; +}; + +const serializeAws_restJson1PortRange = (input: PortRange, context: __SerdeContext): any => { + return { + ...(input.Begin !== undefined && { Begin: input.Begin }), + ...(input.End !== undefined && { End: input.End }), + }; +}; + +const serializeAws_restJson1PortRangeList = (input: PortRange[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1PortRange(entry, context)); +}; + +const serializeAws_restJson1ProcessDetails = (input: ProcessDetails, context: __SerdeContext): any => { + return { + ...(input.LaunchedAt !== undefined && { LaunchedAt: input.LaunchedAt }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.ParentPid !== undefined && { ParentPid: input.ParentPid }), + ...(input.Path !== undefined && { Path: input.Path }), + ...(input.Pid !== undefined && { Pid: input.Pid }), + ...(input.TerminatedAt !== undefined && { TerminatedAt: input.TerminatedAt }), + }; +}; + +const serializeAws_restJson1Recommendation = (input: Recommendation, context: __SerdeContext): any => { + return { + ...(input.Text !== undefined && { Text: input.Text }), + ...(input.Url !== undefined && { Url: input.Url }), + }; +}; + +const serializeAws_restJson1RelatedFinding = (input: RelatedFinding, context: __SerdeContext): any => { + return { + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.ProductArn !== undefined && { ProductArn: input.ProductArn }), + }; +}; + +const serializeAws_restJson1RelatedFindingList = (input: RelatedFinding[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1RelatedFinding(entry, context)); +}; + +const serializeAws_restJson1RelatedRequirementsList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1Remediation = (input: Remediation, context: __SerdeContext): any => { + return { + ...(input.Recommendation !== undefined && { + Recommendation: serializeAws_restJson1Recommendation(input.Recommendation, context), + }), + }; +}; + +const serializeAws_restJson1Resource = (input: Resource, context: __SerdeContext): any => { + return { + ...(input.Details !== undefined && { Details: serializeAws_restJson1ResourceDetails(input.Details, context) }), + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.Partition !== undefined && { Partition: input.Partition }), + ...(input.Region !== undefined && { Region: input.Region }), + ...(input.ResourceRole !== undefined && { ResourceRole: input.ResourceRole }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1FieldMap(input.Tags, context) }), + ...(input.Type !== undefined && { Type: input.Type }), + }; +}; + +const serializeAws_restJson1ResourceDetails = (input: ResourceDetails, context: __SerdeContext): any => { + return { + ...(input.AwsApiGatewayRestApi !== undefined && { + AwsApiGatewayRestApi: serializeAws_restJson1AwsApiGatewayRestApiDetails(input.AwsApiGatewayRestApi, context), + }), + ...(input.AwsApiGatewayStage !== undefined && { + AwsApiGatewayStage: serializeAws_restJson1AwsApiGatewayStageDetails(input.AwsApiGatewayStage, context), + }), + ...(input.AwsApiGatewayV2Api !== undefined && { + AwsApiGatewayV2Api: serializeAws_restJson1AwsApiGatewayV2ApiDetails(input.AwsApiGatewayV2Api, context), + }), + ...(input.AwsApiGatewayV2Stage !== undefined && { + AwsApiGatewayV2Stage: serializeAws_restJson1AwsApiGatewayV2StageDetails(input.AwsApiGatewayV2Stage, context), + }), + ...(input.AwsAutoScalingAutoScalingGroup !== undefined && { + AwsAutoScalingAutoScalingGroup: serializeAws_restJson1AwsAutoScalingAutoScalingGroupDetails( + input.AwsAutoScalingAutoScalingGroup, + context + ), + }), + ...(input.AwsCertificateManagerCertificate !== undefined && { + AwsCertificateManagerCertificate: serializeAws_restJson1AwsCertificateManagerCertificateDetails( + input.AwsCertificateManagerCertificate, + context + ), + }), + ...(input.AwsCloudFrontDistribution !== undefined && { + AwsCloudFrontDistribution: serializeAws_restJson1AwsCloudFrontDistributionDetails( + input.AwsCloudFrontDistribution, + context + ), + }), + ...(input.AwsCloudTrailTrail !== undefined && { + AwsCloudTrailTrail: serializeAws_restJson1AwsCloudTrailTrailDetails(input.AwsCloudTrailTrail, context), + }), + ...(input.AwsCodeBuildProject !== undefined && { + AwsCodeBuildProject: serializeAws_restJson1AwsCodeBuildProjectDetails(input.AwsCodeBuildProject, context), + }), + ...(input.AwsDynamoDbTable !== undefined && { + AwsDynamoDbTable: serializeAws_restJson1AwsDynamoDbTableDetails(input.AwsDynamoDbTable, context), + }), + ...(input.AwsEc2Eip !== undefined && { + AwsEc2Eip: serializeAws_restJson1AwsEc2EipDetails(input.AwsEc2Eip, context), + }), + ...(input.AwsEc2Instance !== undefined && { + AwsEc2Instance: serializeAws_restJson1AwsEc2InstanceDetails(input.AwsEc2Instance, context), + }), + ...(input.AwsEc2NetworkInterface !== undefined && { + AwsEc2NetworkInterface: serializeAws_restJson1AwsEc2NetworkInterfaceDetails( + input.AwsEc2NetworkInterface, + context + ), + }), + ...(input.AwsEc2SecurityGroup !== undefined && { + AwsEc2SecurityGroup: serializeAws_restJson1AwsEc2SecurityGroupDetails(input.AwsEc2SecurityGroup, context), + }), + ...(input.AwsEc2Volume !== undefined && { + AwsEc2Volume: serializeAws_restJson1AwsEc2VolumeDetails(input.AwsEc2Volume, context), + }), + ...(input.AwsEc2Vpc !== undefined && { + AwsEc2Vpc: serializeAws_restJson1AwsEc2VpcDetails(input.AwsEc2Vpc, context), + }), + ...(input.AwsElasticsearchDomain !== undefined && { + AwsElasticsearchDomain: serializeAws_restJson1AwsElasticsearchDomainDetails( + input.AwsElasticsearchDomain, + context + ), + }), + ...(input.AwsElbLoadBalancer !== undefined && { + AwsElbLoadBalancer: serializeAws_restJson1AwsElbLoadBalancerDetails(input.AwsElbLoadBalancer, context), + }), + ...(input.AwsElbv2LoadBalancer !== undefined && { + AwsElbv2LoadBalancer: serializeAws_restJson1AwsElbv2LoadBalancerDetails(input.AwsElbv2LoadBalancer, context), + }), + ...(input.AwsIamAccessKey !== undefined && { + AwsIamAccessKey: serializeAws_restJson1AwsIamAccessKeyDetails(input.AwsIamAccessKey, context), + }), + ...(input.AwsIamGroup !== undefined && { + AwsIamGroup: serializeAws_restJson1AwsIamGroupDetails(input.AwsIamGroup, context), + }), + ...(input.AwsIamPolicy !== undefined && { + AwsIamPolicy: serializeAws_restJson1AwsIamPolicyDetails(input.AwsIamPolicy, context), + }), + ...(input.AwsIamRole !== undefined && { + AwsIamRole: serializeAws_restJson1AwsIamRoleDetails(input.AwsIamRole, context), + }), + ...(input.AwsIamUser !== undefined && { + AwsIamUser: serializeAws_restJson1AwsIamUserDetails(input.AwsIamUser, context), + }), + ...(input.AwsKmsKey !== undefined && { + AwsKmsKey: serializeAws_restJson1AwsKmsKeyDetails(input.AwsKmsKey, context), + }), + ...(input.AwsLambdaFunction !== undefined && { + AwsLambdaFunction: serializeAws_restJson1AwsLambdaFunctionDetails(input.AwsLambdaFunction, context), + }), + ...(input.AwsLambdaLayerVersion !== undefined && { + AwsLambdaLayerVersion: serializeAws_restJson1AwsLambdaLayerVersionDetails(input.AwsLambdaLayerVersion, context), + }), + ...(input.AwsRdsDbCluster !== undefined && { + AwsRdsDbCluster: serializeAws_restJson1AwsRdsDbClusterDetails(input.AwsRdsDbCluster, context), + }), + ...(input.AwsRdsDbClusterSnapshot !== undefined && { + AwsRdsDbClusterSnapshot: serializeAws_restJson1AwsRdsDbClusterSnapshotDetails( + input.AwsRdsDbClusterSnapshot, + context + ), + }), + ...(input.AwsRdsDbInstance !== undefined && { + AwsRdsDbInstance: serializeAws_restJson1AwsRdsDbInstanceDetails(input.AwsRdsDbInstance, context), + }), + ...(input.AwsRdsDbSnapshot !== undefined && { + AwsRdsDbSnapshot: serializeAws_restJson1AwsRdsDbSnapshotDetails(input.AwsRdsDbSnapshot, context), + }), + ...(input.AwsRedshiftCluster !== undefined && { + AwsRedshiftCluster: serializeAws_restJson1AwsRedshiftClusterDetails(input.AwsRedshiftCluster, context), + }), + ...(input.AwsS3Bucket !== undefined && { + AwsS3Bucket: serializeAws_restJson1AwsS3BucketDetails(input.AwsS3Bucket, context), + }), + ...(input.AwsS3Object !== undefined && { + AwsS3Object: serializeAws_restJson1AwsS3ObjectDetails(input.AwsS3Object, context), + }), + ...(input.AwsSecretsManagerSecret !== undefined && { + AwsSecretsManagerSecret: serializeAws_restJson1AwsSecretsManagerSecretDetails( + input.AwsSecretsManagerSecret, + context + ), + }), + ...(input.AwsSnsTopic !== undefined && { + AwsSnsTopic: serializeAws_restJson1AwsSnsTopicDetails(input.AwsSnsTopic, context), + }), + ...(input.AwsSqsQueue !== undefined && { + AwsSqsQueue: serializeAws_restJson1AwsSqsQueueDetails(input.AwsSqsQueue, context), + }), + ...(input.AwsWafWebAcl !== undefined && { + AwsWafWebAcl: serializeAws_restJson1AwsWafWebAclDetails(input.AwsWafWebAcl, context), + }), + ...(input.Container !== undefined && { + Container: serializeAws_restJson1ContainerDetails(input.Container, context), + }), + ...(input.Other !== undefined && { Other: serializeAws_restJson1FieldMap(input.Other, context) }), + }; +}; + +const serializeAws_restJson1ResourceList = (input: Resource[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1Resource(entry, context)); +}; + +const serializeAws_restJson1SecurityGroups = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1Severity = (input: Severity, context: __SerdeContext): any => { + return { + ...(input.Label !== undefined && { Label: input.Label }), + ...(input.Normalized !== undefined && { Normalized: input.Normalized }), + ...(input.Original !== undefined && { Original: input.Original }), + ...(input.Product !== undefined && { Product: input.Product }), + }; +}; + +const serializeAws_restJson1SeverityUpdate = (input: SeverityUpdate, context: __SerdeContext): any => { + return { + ...(input.Label !== undefined && { Label: input.Label }), + ...(input.Normalized !== undefined && { Normalized: input.Normalized }), + ...(input.Product !== undefined && { Product: input.Product }), + }; +}; + +const serializeAws_restJson1SoftwarePackage = (input: SoftwarePackage, context: __SerdeContext): any => { + return { + ...(input.Architecture !== undefined && { Architecture: input.Architecture }), + ...(input.Epoch !== undefined && { Epoch: input.Epoch }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Release !== undefined && { Release: input.Release }), + ...(input.Version !== undefined && { Version: input.Version }), + }; +}; + +const serializeAws_restJson1SoftwarePackageList = (input: SoftwarePackage[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1SoftwarePackage(entry, context)); +}; + +const serializeAws_restJson1SortCriteria = (input: SortCriterion[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1SortCriterion(entry, context)); +}; + +const serializeAws_restJson1SortCriterion = (input: SortCriterion, context: __SerdeContext): any => { + return { + ...(input.Field !== undefined && { Field: input.Field }), + ...(input.SortOrder !== undefined && { SortOrder: input.SortOrder }), + }; +}; + +const serializeAws_restJson1StandardsInputParameterMap = ( + 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_restJson1StandardsSubscriptionArns = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1StandardsSubscriptionRequest = ( + input: StandardsSubscriptionRequest, + context: __SerdeContext +): any => { + return { + ...(input.StandardsArn !== undefined && { StandardsArn: input.StandardsArn }), + ...(input.StandardsInput !== undefined && { + StandardsInput: serializeAws_restJson1StandardsInputParameterMap(input.StandardsInput, context), + }), + }; +}; + +const serializeAws_restJson1StandardsSubscriptionRequests = ( + input: StandardsSubscriptionRequest[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1StandardsSubscriptionRequest(entry, context)); +}; + +const serializeAws_restJson1StatusReason = (input: StatusReason, context: __SerdeContext): any => { + return { + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.ReasonCode !== undefined && { ReasonCode: input.ReasonCode }), + }; +}; + +const serializeAws_restJson1StatusReasonsList = (input: StatusReason[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1StatusReason(entry, context)); +}; + +const serializeAws_restJson1StringFilter = (input: StringFilter, context: __SerdeContext): any => { + return { + ...(input.Comparison !== undefined && { Comparison: input.Comparison }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_restJson1StringFilterList = (input: StringFilter[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1StringFilter(entry, context)); +}; + +const serializeAws_restJson1StringList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +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_restJson1ThreatIntelIndicator = (input: ThreatIntelIndicator, context: __SerdeContext): any => { + return { + ...(input.Category !== undefined && { Category: input.Category }), + ...(input.LastObservedAt !== undefined && { LastObservedAt: input.LastObservedAt }), + ...(input.Source !== undefined && { Source: input.Source }), + ...(input.SourceUrl !== undefined && { SourceUrl: input.SourceUrl }), + ...(input.Type !== undefined && { Type: input.Type }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_restJson1ThreatIntelIndicatorList = ( + input: ThreatIntelIndicator[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_restJson1ThreatIntelIndicator(entry, context)); +}; + +const serializeAws_restJson1TypeList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1Vulnerability = (input: Vulnerability, context: __SerdeContext): any => { + return { + ...(input.Cvss !== undefined && { Cvss: serializeAws_restJson1CvssList(input.Cvss, context) }), + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.ReferenceUrls !== undefined && { + ReferenceUrls: serializeAws_restJson1StringList(input.ReferenceUrls, context), + }), + ...(input.RelatedVulnerabilities !== undefined && { + RelatedVulnerabilities: serializeAws_restJson1StringList(input.RelatedVulnerabilities, context), + }), + ...(input.Vendor !== undefined && { Vendor: serializeAws_restJson1VulnerabilityVendor(input.Vendor, context) }), + ...(input.VulnerablePackages !== undefined && { + VulnerablePackages: serializeAws_restJson1SoftwarePackageList(input.VulnerablePackages, context), + }), + }; +}; + +const serializeAws_restJson1VulnerabilityList = (input: Vulnerability[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1Vulnerability(entry, context)); +}; + +const serializeAws_restJson1VulnerabilityVendor = (input: VulnerabilityVendor, context: __SerdeContext): any => { + return { + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Url !== undefined && { Url: input.Url }), + ...(input.VendorCreatedAt !== undefined && { VendorCreatedAt: input.VendorCreatedAt }), + ...(input.VendorSeverity !== undefined && { VendorSeverity: input.VendorSeverity }), + ...(input.VendorUpdatedAt !== undefined && { VendorUpdatedAt: input.VendorUpdatedAt }), + }; +}; + +const serializeAws_restJson1WafAction = (input: WafAction, context: __SerdeContext): any => { + return { + ...(input.Type !== undefined && { Type: input.Type }), + }; +}; + +const serializeAws_restJson1WafExcludedRule = (input: WafExcludedRule, context: __SerdeContext): any => { + return { + ...(input.RuleId !== undefined && { RuleId: input.RuleId }), + }; +}; + +const serializeAws_restJson1WafExcludedRuleList = (input: WafExcludedRule[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1WafExcludedRule(entry, context)); +}; + +const serializeAws_restJson1WafOverrideAction = (input: WafOverrideAction, context: __SerdeContext): any => { + return { + ...(input.Type !== undefined && { Type: input.Type }), + }; +}; + +const serializeAws_restJson1Workflow = (input: Workflow, context: __SerdeContext): any => { + return { + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_restJson1WorkflowUpdate = (input: WorkflowUpdate, context: __SerdeContext): any => { + return { + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const deserializeAws_restJson1ActionTarget = (output: any, context: __SerdeContext): ActionTarget => { + return { + ActionTargetArn: + output.ActionTargetArn !== undefined && output.ActionTargetArn !== null ? output.ActionTargetArn : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + +const deserializeAws_restJson1ActionTargetList = (output: any, context: __SerdeContext): ActionTarget[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ActionTarget(entry, context)); +}; + +const deserializeAws_restJson1AvailabilityZone = (output: any, context: __SerdeContext): AvailabilityZone => { + return { + SubnetId: output.SubnetId !== undefined && output.SubnetId !== null ? output.SubnetId : undefined, + ZoneName: output.ZoneName !== undefined && output.ZoneName !== null ? output.ZoneName : undefined, + } as any; +}; + +const deserializeAws_restJson1AvailabilityZones = (output: any, context: __SerdeContext): AvailabilityZone[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AvailabilityZone(entry, context)); +}; + +const deserializeAws_restJson1AwsApiGatewayAccessLogSettings = ( + output: any, + context: __SerdeContext +): AwsApiGatewayAccessLogSettings => { + return { + DestinationArn: + output.DestinationArn !== undefined && output.DestinationArn !== null ? output.DestinationArn : undefined, + Format: output.Format !== undefined && output.Format !== null ? output.Format : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsApiGatewayCanarySettings = ( + output: any, + context: __SerdeContext +): AwsApiGatewayCanarySettings => { + return { + DeploymentId: output.DeploymentId !== undefined && output.DeploymentId !== null ? output.DeploymentId : undefined, + PercentTraffic: + output.PercentTraffic !== undefined && output.PercentTraffic !== null ? output.PercentTraffic : undefined, + StageVariableOverrides: + output.StageVariableOverrides !== undefined && output.StageVariableOverrides !== null + ? deserializeAws_restJson1FieldMap(output.StageVariableOverrides, context) + : undefined, + UseStageCache: + output.UseStageCache !== undefined && output.UseStageCache !== null ? output.UseStageCache : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsApiGatewayEndpointConfiguration = ( + output: any, + context: __SerdeContext +): AwsApiGatewayEndpointConfiguration => { + return { + Types: + output.Types !== undefined && output.Types !== null + ? deserializeAws_restJson1NonEmptyStringList(output.Types, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsApiGatewayMethodSettings = ( + output: any, + context: __SerdeContext +): AwsApiGatewayMethodSettings => { + return { + CacheDataEncrypted: + output.CacheDataEncrypted !== undefined && output.CacheDataEncrypted !== null + ? output.CacheDataEncrypted + : undefined, + CacheTtlInSeconds: + output.CacheTtlInSeconds !== undefined && output.CacheTtlInSeconds !== null + ? output.CacheTtlInSeconds + : undefined, + CachingEnabled: + output.CachingEnabled !== undefined && output.CachingEnabled !== null ? output.CachingEnabled : undefined, + DataTraceEnabled: + output.DataTraceEnabled !== undefined && output.DataTraceEnabled !== null ? output.DataTraceEnabled : undefined, + HttpMethod: output.HttpMethod !== undefined && output.HttpMethod !== null ? output.HttpMethod : undefined, + LoggingLevel: output.LoggingLevel !== undefined && output.LoggingLevel !== null ? output.LoggingLevel : undefined, + MetricsEnabled: + output.MetricsEnabled !== undefined && output.MetricsEnabled !== null ? output.MetricsEnabled : undefined, + RequireAuthorizationForCacheControl: + output.RequireAuthorizationForCacheControl !== undefined && output.RequireAuthorizationForCacheControl !== null + ? output.RequireAuthorizationForCacheControl + : undefined, + ResourcePath: output.ResourcePath !== undefined && output.ResourcePath !== null ? output.ResourcePath : undefined, + ThrottlingBurstLimit: + output.ThrottlingBurstLimit !== undefined && output.ThrottlingBurstLimit !== null + ? output.ThrottlingBurstLimit + : undefined, + ThrottlingRateLimit: + output.ThrottlingRateLimit !== undefined && output.ThrottlingRateLimit !== null + ? output.ThrottlingRateLimit + : undefined, + UnauthorizedCacheControlHeaderStrategy: + output.UnauthorizedCacheControlHeaderStrategy !== undefined && + output.UnauthorizedCacheControlHeaderStrategy !== null + ? output.UnauthorizedCacheControlHeaderStrategy + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsApiGatewayMethodSettingsList = ( + output: any, + context: __SerdeContext +): AwsApiGatewayMethodSettings[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsApiGatewayMethodSettings(entry, context)); +}; + +const deserializeAws_restJson1AwsApiGatewayRestApiDetails = ( + output: any, + context: __SerdeContext +): AwsApiGatewayRestApiDetails => { + return { + ApiKeySource: output.ApiKeySource !== undefined && output.ApiKeySource !== null ? output.ApiKeySource : undefined, + BinaryMediaTypes: + output.BinaryMediaTypes !== undefined && output.BinaryMediaTypes !== null + ? deserializeAws_restJson1NonEmptyStringList(output.BinaryMediaTypes, context) + : undefined, + CreatedDate: output.CreatedDate !== undefined && output.CreatedDate !== null ? output.CreatedDate : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + EndpointConfiguration: + output.EndpointConfiguration !== undefined && output.EndpointConfiguration !== null + ? deserializeAws_restJson1AwsApiGatewayEndpointConfiguration(output.EndpointConfiguration, context) + : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + MinimumCompressionSize: + output.MinimumCompressionSize !== undefined && output.MinimumCompressionSize !== null + ? output.MinimumCompressionSize + : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Version: output.Version !== undefined && output.Version !== null ? output.Version : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsApiGatewayStageDetails = ( + output: any, + context: __SerdeContext +): AwsApiGatewayStageDetails => { + return { + AccessLogSettings: + output.AccessLogSettings !== undefined && output.AccessLogSettings !== null + ? deserializeAws_restJson1AwsApiGatewayAccessLogSettings(output.AccessLogSettings, context) + : undefined, + CacheClusterEnabled: + output.CacheClusterEnabled !== undefined && output.CacheClusterEnabled !== null + ? output.CacheClusterEnabled + : undefined, + CacheClusterSize: + output.CacheClusterSize !== undefined && output.CacheClusterSize !== null ? output.CacheClusterSize : undefined, + CacheClusterStatus: + output.CacheClusterStatus !== undefined && output.CacheClusterStatus !== null + ? output.CacheClusterStatus + : undefined, + CanarySettings: + output.CanarySettings !== undefined && output.CanarySettings !== null + ? deserializeAws_restJson1AwsApiGatewayCanarySettings(output.CanarySettings, context) + : undefined, + ClientCertificateId: + output.ClientCertificateId !== undefined && output.ClientCertificateId !== null + ? output.ClientCertificateId + : undefined, + CreatedDate: output.CreatedDate !== undefined && output.CreatedDate !== null ? output.CreatedDate : undefined, + DeploymentId: output.DeploymentId !== undefined && output.DeploymentId !== null ? output.DeploymentId : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + DocumentationVersion: + output.DocumentationVersion !== undefined && output.DocumentationVersion !== null + ? output.DocumentationVersion + : undefined, + LastUpdatedDate: + output.LastUpdatedDate !== undefined && output.LastUpdatedDate !== null ? output.LastUpdatedDate : undefined, + MethodSettings: + output.MethodSettings !== undefined && output.MethodSettings !== null + ? deserializeAws_restJson1AwsApiGatewayMethodSettingsList(output.MethodSettings, context) + : undefined, + StageName: output.StageName !== undefined && output.StageName !== null ? output.StageName : undefined, + TracingEnabled: + output.TracingEnabled !== undefined && output.TracingEnabled !== null ? output.TracingEnabled : undefined, + Variables: + output.Variables !== undefined && output.Variables !== null + ? deserializeAws_restJson1FieldMap(output.Variables, context) + : undefined, + WebAclArn: output.WebAclArn !== undefined && output.WebAclArn !== null ? output.WebAclArn : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsApiGatewayV2ApiDetails = ( + output: any, + context: __SerdeContext +): AwsApiGatewayV2ApiDetails => { + return { + ApiEndpoint: output.ApiEndpoint !== undefined && output.ApiEndpoint !== null ? output.ApiEndpoint : undefined, + ApiId: output.ApiId !== undefined && output.ApiId !== null ? output.ApiId : undefined, + ApiKeySelectionExpression: + output.ApiKeySelectionExpression !== undefined && output.ApiKeySelectionExpression !== null + ? output.ApiKeySelectionExpression + : undefined, + CorsConfiguration: + output.CorsConfiguration !== undefined && output.CorsConfiguration !== null + ? deserializeAws_restJson1AwsCorsConfiguration(output.CorsConfiguration, context) + : undefined, + CreatedDate: output.CreatedDate !== undefined && output.CreatedDate !== null ? output.CreatedDate : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + ProtocolType: output.ProtocolType !== undefined && output.ProtocolType !== null ? output.ProtocolType : undefined, + RouteSelectionExpression: + output.RouteSelectionExpression !== undefined && output.RouteSelectionExpression !== null + ? output.RouteSelectionExpression + : undefined, + Version: output.Version !== undefined && output.Version !== null ? output.Version : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsApiGatewayV2RouteSettings = ( + output: any, + context: __SerdeContext +): AwsApiGatewayV2RouteSettings => { + return { + DataTraceEnabled: + output.DataTraceEnabled !== undefined && output.DataTraceEnabled !== null ? output.DataTraceEnabled : undefined, + DetailedMetricsEnabled: + output.DetailedMetricsEnabled !== undefined && output.DetailedMetricsEnabled !== null + ? output.DetailedMetricsEnabled + : undefined, + LoggingLevel: output.LoggingLevel !== undefined && output.LoggingLevel !== null ? output.LoggingLevel : undefined, + ThrottlingBurstLimit: + output.ThrottlingBurstLimit !== undefined && output.ThrottlingBurstLimit !== null + ? output.ThrottlingBurstLimit + : undefined, + ThrottlingRateLimit: + output.ThrottlingRateLimit !== undefined && output.ThrottlingRateLimit !== null + ? output.ThrottlingRateLimit + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsApiGatewayV2StageDetails = ( + output: any, + context: __SerdeContext +): AwsApiGatewayV2StageDetails => { + return { + AccessLogSettings: + output.AccessLogSettings !== undefined && output.AccessLogSettings !== null + ? deserializeAws_restJson1AwsApiGatewayAccessLogSettings(output.AccessLogSettings, context) + : undefined, + ApiGatewayManaged: + output.ApiGatewayManaged !== undefined && output.ApiGatewayManaged !== null + ? output.ApiGatewayManaged + : undefined, + AutoDeploy: output.AutoDeploy !== undefined && output.AutoDeploy !== null ? output.AutoDeploy : undefined, + CreatedDate: output.CreatedDate !== undefined && output.CreatedDate !== null ? output.CreatedDate : undefined, + DefaultRouteSettings: + output.DefaultRouteSettings !== undefined && output.DefaultRouteSettings !== null + ? deserializeAws_restJson1AwsApiGatewayV2RouteSettings(output.DefaultRouteSettings, context) + : undefined, + DeploymentId: output.DeploymentId !== undefined && output.DeploymentId !== null ? output.DeploymentId : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + LastDeploymentStatusMessage: + output.LastDeploymentStatusMessage !== undefined && output.LastDeploymentStatusMessage !== null + ? output.LastDeploymentStatusMessage + : undefined, + LastUpdatedDate: + output.LastUpdatedDate !== undefined && output.LastUpdatedDate !== null ? output.LastUpdatedDate : undefined, + RouteSettings: + output.RouteSettings !== undefined && output.RouteSettings !== null + ? deserializeAws_restJson1AwsApiGatewayV2RouteSettings(output.RouteSettings, context) + : undefined, + StageName: output.StageName !== undefined && output.StageName !== null ? output.StageName : undefined, + StageVariables: + output.StageVariables !== undefined && output.StageVariables !== null + ? deserializeAws_restJson1FieldMap(output.StageVariables, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsAutoScalingAutoScalingGroupDetails = ( + output: any, + context: __SerdeContext +): AwsAutoScalingAutoScalingGroupDetails => { + return { + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + HealthCheckGracePeriod: + output.HealthCheckGracePeriod !== undefined && output.HealthCheckGracePeriod !== null + ? output.HealthCheckGracePeriod + : undefined, + HealthCheckType: + output.HealthCheckType !== undefined && output.HealthCheckType !== null ? output.HealthCheckType : undefined, + LaunchConfigurationName: + output.LaunchConfigurationName !== undefined && output.LaunchConfigurationName !== null + ? output.LaunchConfigurationName + : undefined, + LoadBalancerNames: + output.LoadBalancerNames !== undefined && output.LoadBalancerNames !== null + ? deserializeAws_restJson1StringList(output.LoadBalancerNames, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCertificateManagerCertificateDetails = ( + output: any, + context: __SerdeContext +): AwsCertificateManagerCertificateDetails => { + return { + CertificateAuthorityArn: + output.CertificateAuthorityArn !== undefined && output.CertificateAuthorityArn !== null + ? output.CertificateAuthorityArn + : undefined, + CreatedAt: output.CreatedAt !== undefined && output.CreatedAt !== null ? output.CreatedAt : undefined, + DomainName: output.DomainName !== undefined && output.DomainName !== null ? output.DomainName : undefined, + DomainValidationOptions: + output.DomainValidationOptions !== undefined && output.DomainValidationOptions !== null + ? deserializeAws_restJson1AwsCertificateManagerCertificateDomainValidationOptions( + output.DomainValidationOptions, + context + ) + : undefined, + ExtendedKeyUsages: + output.ExtendedKeyUsages !== undefined && output.ExtendedKeyUsages !== null + ? deserializeAws_restJson1AwsCertificateManagerCertificateExtendedKeyUsages(output.ExtendedKeyUsages, context) + : undefined, + FailureReason: + output.FailureReason !== undefined && output.FailureReason !== null ? output.FailureReason : undefined, + ImportedAt: output.ImportedAt !== undefined && output.ImportedAt !== null ? output.ImportedAt : undefined, + InUseBy: + output.InUseBy !== undefined && output.InUseBy !== null + ? deserializeAws_restJson1StringList(output.InUseBy, context) + : undefined, + IssuedAt: output.IssuedAt !== undefined && output.IssuedAt !== null ? output.IssuedAt : undefined, + Issuer: output.Issuer !== undefined && output.Issuer !== null ? output.Issuer : undefined, + KeyAlgorithm: output.KeyAlgorithm !== undefined && output.KeyAlgorithm !== null ? output.KeyAlgorithm : undefined, + KeyUsages: + output.KeyUsages !== undefined && output.KeyUsages !== null + ? deserializeAws_restJson1AwsCertificateManagerCertificateKeyUsages(output.KeyUsages, context) + : undefined, + NotAfter: output.NotAfter !== undefined && output.NotAfter !== null ? output.NotAfter : undefined, + NotBefore: output.NotBefore !== undefined && output.NotBefore !== null ? output.NotBefore : undefined, + Options: + output.Options !== undefined && output.Options !== null + ? deserializeAws_restJson1AwsCertificateManagerCertificateOptions(output.Options, context) + : undefined, + RenewalEligibility: + output.RenewalEligibility !== undefined && output.RenewalEligibility !== null + ? output.RenewalEligibility + : undefined, + RenewalSummary: + output.RenewalSummary !== undefined && output.RenewalSummary !== null + ? deserializeAws_restJson1AwsCertificateManagerCertificateRenewalSummary(output.RenewalSummary, context) + : undefined, + Serial: output.Serial !== undefined && output.Serial !== null ? output.Serial : undefined, + SignatureAlgorithm: + output.SignatureAlgorithm !== undefined && output.SignatureAlgorithm !== null + ? output.SignatureAlgorithm + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + Subject: output.Subject !== undefined && output.Subject !== null ? output.Subject : undefined, + SubjectAlternativeNames: + output.SubjectAlternativeNames !== undefined && output.SubjectAlternativeNames !== null + ? deserializeAws_restJson1StringList(output.SubjectAlternativeNames, context) + : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCertificateManagerCertificateDomainValidationOption = ( + output: any, + context: __SerdeContext +): AwsCertificateManagerCertificateDomainValidationOption => { + return { + DomainName: output.DomainName !== undefined && output.DomainName !== null ? output.DomainName : undefined, + ResourceRecord: + output.ResourceRecord !== undefined && output.ResourceRecord !== null + ? deserializeAws_restJson1AwsCertificateManagerCertificateResourceRecord(output.ResourceRecord, context) + : undefined, + ValidationDomain: + output.ValidationDomain !== undefined && output.ValidationDomain !== null ? output.ValidationDomain : undefined, + ValidationEmails: + output.ValidationEmails !== undefined && output.ValidationEmails !== null + ? deserializeAws_restJson1StringList(output.ValidationEmails, context) + : undefined, + ValidationMethod: + output.ValidationMethod !== undefined && output.ValidationMethod !== null ? output.ValidationMethod : undefined, + ValidationStatus: + output.ValidationStatus !== undefined && output.ValidationStatus !== null ? output.ValidationStatus : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCertificateManagerCertificateDomainValidationOptions = ( + output: any, + context: __SerdeContext +): AwsCertificateManagerCertificateDomainValidationOption[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsCertificateManagerCertificateDomainValidationOption(entry, context) + ); +}; + +const deserializeAws_restJson1AwsCertificateManagerCertificateExtendedKeyUsage = ( + output: any, + context: __SerdeContext +): AwsCertificateManagerCertificateExtendedKeyUsage => { + return { + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + OId: output.OId !== undefined && output.OId !== null ? output.OId : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCertificateManagerCertificateExtendedKeyUsages = ( + output: any, + context: __SerdeContext +): AwsCertificateManagerCertificateExtendedKeyUsage[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsCertificateManagerCertificateExtendedKeyUsage(entry, context) + ); +}; + +const deserializeAws_restJson1AwsCertificateManagerCertificateKeyUsage = ( + output: any, + context: __SerdeContext +): AwsCertificateManagerCertificateKeyUsage => { + return { + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCertificateManagerCertificateKeyUsages = ( + output: any, + context: __SerdeContext +): AwsCertificateManagerCertificateKeyUsage[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsCertificateManagerCertificateKeyUsage(entry, context) + ); +}; + +const deserializeAws_restJson1AwsCertificateManagerCertificateOptions = ( + output: any, + context: __SerdeContext +): AwsCertificateManagerCertificateOptions => { + return { + CertificateTransparencyLoggingPreference: + output.CertificateTransparencyLoggingPreference !== undefined && + output.CertificateTransparencyLoggingPreference !== null + ? output.CertificateTransparencyLoggingPreference + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCertificateManagerCertificateRenewalSummary = ( + output: any, + context: __SerdeContext +): AwsCertificateManagerCertificateRenewalSummary => { + return { + DomainValidationOptions: + output.DomainValidationOptions !== undefined && output.DomainValidationOptions !== null + ? deserializeAws_restJson1AwsCertificateManagerCertificateDomainValidationOptions( + output.DomainValidationOptions, + context + ) + : undefined, + RenewalStatus: + output.RenewalStatus !== undefined && output.RenewalStatus !== null ? output.RenewalStatus : undefined, + RenewalStatusReason: + output.RenewalStatusReason !== undefined && output.RenewalStatusReason !== null + ? output.RenewalStatusReason + : undefined, + UpdatedAt: output.UpdatedAt !== undefined && output.UpdatedAt !== null ? output.UpdatedAt : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCertificateManagerCertificateResourceRecord = ( + output: any, + context: __SerdeContext +): AwsCertificateManagerCertificateResourceRecord => { + return { + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionCacheBehavior = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionCacheBehavior => { + return { + ViewerProtocolPolicy: + output.ViewerProtocolPolicy !== undefined && output.ViewerProtocolPolicy !== null + ? output.ViewerProtocolPolicy + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionCacheBehaviors = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionCacheBehaviors => { + return { + Items: + output.Items !== undefined && output.Items !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionCacheBehaviorsItemList(output.Items, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionCacheBehaviorsItemList = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionCacheBehavior[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsCloudFrontDistributionCacheBehavior(entry, context) + ); +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionDefaultCacheBehavior = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionDefaultCacheBehavior => { + return { + ViewerProtocolPolicy: + output.ViewerProtocolPolicy !== undefined && output.ViewerProtocolPolicy !== null + ? output.ViewerProtocolPolicy + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionDetails = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionDetails => { + return { + CacheBehaviors: + output.CacheBehaviors !== undefined && output.CacheBehaviors !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionCacheBehaviors(output.CacheBehaviors, context) + : undefined, + DefaultCacheBehavior: + output.DefaultCacheBehavior !== undefined && output.DefaultCacheBehavior !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionDefaultCacheBehavior(output.DefaultCacheBehavior, context) + : undefined, + DefaultRootObject: + output.DefaultRootObject !== undefined && output.DefaultRootObject !== null + ? output.DefaultRootObject + : undefined, + DomainName: output.DomainName !== undefined && output.DomainName !== null ? output.DomainName : undefined, + ETag: output.ETag !== undefined && output.ETag !== null ? output.ETag : undefined, + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null ? output.LastModifiedTime : undefined, + Logging: + output.Logging !== undefined && output.Logging !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionLogging(output.Logging, context) + : undefined, + OriginGroups: + output.OriginGroups !== undefined && output.OriginGroups !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionOriginGroups(output.OriginGroups, context) + : undefined, + Origins: + output.Origins !== undefined && output.Origins !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionOrigins(output.Origins, context) + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + WebAclId: output.WebAclId !== undefined && output.WebAclId !== null ? output.WebAclId : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionLogging = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionLogging => { + return { + Bucket: output.Bucket !== undefined && output.Bucket !== null ? output.Bucket : undefined, + Enabled: output.Enabled !== undefined && output.Enabled !== null ? output.Enabled : undefined, + IncludeCookies: + output.IncludeCookies !== undefined && output.IncludeCookies !== null ? output.IncludeCookies : undefined, + Prefix: output.Prefix !== undefined && output.Prefix !== null ? output.Prefix : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionOriginGroup = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionOriginGroup => { + return { + FailoverCriteria: + output.FailoverCriteria !== undefined && output.FailoverCriteria !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailover(output.FailoverCriteria, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailover = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionOriginGroupFailover => { + return { + StatusCodes: + output.StatusCodes !== undefined && output.StatusCodes !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailoverStatusCodes(output.StatusCodes, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailoverStatusCodes = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionOriginGroupFailoverStatusCodes => { + return { + Items: + output.Items !== undefined && output.Items !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList(output.Items, context) + : undefined, + Quantity: output.Quantity !== undefined && output.Quantity !== null ? output.Quantity : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList = ( + output: any, + context: __SerdeContext +): number[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionOriginGroups = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionOriginGroups => { + return { + Items: + output.Items !== undefined && output.Items !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionOriginGroupsItemList(output.Items, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionOriginGroupsItemList = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionOriginGroup[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsCloudFrontDistributionOriginGroup(entry, context) + ); +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionOriginItem = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionOriginItem => { + return { + DomainName: output.DomainName !== undefined && output.DomainName !== null ? output.DomainName : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + OriginPath: output.OriginPath !== undefined && output.OriginPath !== null ? output.OriginPath : undefined, + S3OriginConfig: + output.S3OriginConfig !== undefined && output.S3OriginConfig !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionOriginS3OriginConfig(output.S3OriginConfig, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionOriginItemList = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionOriginItem[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsCloudFrontDistributionOriginItem(entry, context) + ); +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionOrigins = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionOrigins => { + return { + Items: + output.Items !== undefined && output.Items !== null + ? deserializeAws_restJson1AwsCloudFrontDistributionOriginItemList(output.Items, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudFrontDistributionOriginS3OriginConfig = ( + output: any, + context: __SerdeContext +): AwsCloudFrontDistributionOriginS3OriginConfig => { + return { + OriginAccessIdentity: + output.OriginAccessIdentity !== undefined && output.OriginAccessIdentity !== null + ? output.OriginAccessIdentity + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCloudTrailTrailDetails = ( + output: any, + context: __SerdeContext +): AwsCloudTrailTrailDetails => { + return { + CloudWatchLogsLogGroupArn: + output.CloudWatchLogsLogGroupArn !== undefined && output.CloudWatchLogsLogGroupArn !== null + ? output.CloudWatchLogsLogGroupArn + : undefined, + CloudWatchLogsRoleArn: + output.CloudWatchLogsRoleArn !== undefined && output.CloudWatchLogsRoleArn !== null + ? output.CloudWatchLogsRoleArn + : undefined, + HasCustomEventSelectors: + output.HasCustomEventSelectors !== undefined && output.HasCustomEventSelectors !== null + ? output.HasCustomEventSelectors + : undefined, + HomeRegion: output.HomeRegion !== undefined && output.HomeRegion !== null ? output.HomeRegion : undefined, + IncludeGlobalServiceEvents: + output.IncludeGlobalServiceEvents !== undefined && output.IncludeGlobalServiceEvents !== null + ? output.IncludeGlobalServiceEvents + : undefined, + IsMultiRegionTrail: + output.IsMultiRegionTrail !== undefined && output.IsMultiRegionTrail !== null + ? output.IsMultiRegionTrail + : undefined, + IsOrganizationTrail: + output.IsOrganizationTrail !== undefined && output.IsOrganizationTrail !== null + ? output.IsOrganizationTrail + : undefined, + KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + LogFileValidationEnabled: + output.LogFileValidationEnabled !== undefined && output.LogFileValidationEnabled !== null + ? output.LogFileValidationEnabled + : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + S3BucketName: output.S3BucketName !== undefined && output.S3BucketName !== null ? output.S3BucketName : undefined, + S3KeyPrefix: output.S3KeyPrefix !== undefined && output.S3KeyPrefix !== null ? output.S3KeyPrefix : undefined, + SnsTopicArn: output.SnsTopicArn !== undefined && output.SnsTopicArn !== null ? output.SnsTopicArn : undefined, + SnsTopicName: output.SnsTopicName !== undefined && output.SnsTopicName !== null ? output.SnsTopicName : undefined, + TrailArn: output.TrailArn !== undefined && output.TrailArn !== null ? output.TrailArn : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCodeBuildProjectDetails = ( + output: any, + context: __SerdeContext +): AwsCodeBuildProjectDetails => { + return { + EncryptionKey: + output.EncryptionKey !== undefined && output.EncryptionKey !== null ? output.EncryptionKey : undefined, + Environment: + output.Environment !== undefined && output.Environment !== null + ? deserializeAws_restJson1AwsCodeBuildProjectEnvironment(output.Environment, context) + : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + ServiceRole: output.ServiceRole !== undefined && output.ServiceRole !== null ? output.ServiceRole : undefined, + Source: + output.Source !== undefined && output.Source !== null + ? deserializeAws_restJson1AwsCodeBuildProjectSource(output.Source, context) + : undefined, + VpcConfig: + output.VpcConfig !== undefined && output.VpcConfig !== null + ? deserializeAws_restJson1AwsCodeBuildProjectVpcConfig(output.VpcConfig, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCodeBuildProjectEnvironment = ( + output: any, + context: __SerdeContext +): AwsCodeBuildProjectEnvironment => { + return { + Certificate: output.Certificate !== undefined && output.Certificate !== null ? output.Certificate : undefined, + ImagePullCredentialsType: + output.ImagePullCredentialsType !== undefined && output.ImagePullCredentialsType !== null + ? output.ImagePullCredentialsType + : undefined, + RegistryCredential: + output.RegistryCredential !== undefined && output.RegistryCredential !== null + ? deserializeAws_restJson1AwsCodeBuildProjectEnvironmentRegistryCredential(output.RegistryCredential, context) + : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCodeBuildProjectEnvironmentRegistryCredential = ( + output: any, + context: __SerdeContext +): AwsCodeBuildProjectEnvironmentRegistryCredential => { + return { + Credential: output.Credential !== undefined && output.Credential !== null ? output.Credential : undefined, + CredentialProvider: + output.CredentialProvider !== undefined && output.CredentialProvider !== null + ? output.CredentialProvider + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCodeBuildProjectSource = ( + output: any, + context: __SerdeContext +): AwsCodeBuildProjectSource => { + return { + GitCloneDepth: + output.GitCloneDepth !== undefined && output.GitCloneDepth !== null ? output.GitCloneDepth : undefined, + InsecureSsl: output.InsecureSsl !== undefined && output.InsecureSsl !== null ? output.InsecureSsl : undefined, + Location: output.Location !== undefined && output.Location !== null ? output.Location : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCodeBuildProjectVpcConfig = ( + output: any, + context: __SerdeContext +): AwsCodeBuildProjectVpcConfig => { + return { + SecurityGroupIds: + output.SecurityGroupIds !== undefined && output.SecurityGroupIds !== null + ? deserializeAws_restJson1NonEmptyStringList(output.SecurityGroupIds, context) + : undefined, + Subnets: + output.Subnets !== undefined && output.Subnets !== null + ? deserializeAws_restJson1NonEmptyStringList(output.Subnets, context) + : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsCorsConfiguration = (output: any, context: __SerdeContext): AwsCorsConfiguration => { + return { + AllowCredentials: + output.AllowCredentials !== undefined && output.AllowCredentials !== null ? output.AllowCredentials : undefined, + AllowHeaders: + output.AllowHeaders !== undefined && output.AllowHeaders !== null + ? deserializeAws_restJson1NonEmptyStringList(output.AllowHeaders, context) + : undefined, + AllowMethods: + output.AllowMethods !== undefined && output.AllowMethods !== null + ? deserializeAws_restJson1NonEmptyStringList(output.AllowMethods, context) + : undefined, + AllowOrigins: + output.AllowOrigins !== undefined && output.AllowOrigins !== null + ? deserializeAws_restJson1NonEmptyStringList(output.AllowOrigins, context) + : undefined, + ExposeHeaders: + output.ExposeHeaders !== undefined && output.ExposeHeaders !== null + ? deserializeAws_restJson1NonEmptyStringList(output.ExposeHeaders, context) + : undefined, + MaxAge: output.MaxAge !== undefined && output.MaxAge !== null ? output.MaxAge : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsDynamoDbTableAttributeDefinition = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableAttributeDefinition => { + return { + AttributeName: + output.AttributeName !== undefined && output.AttributeName !== null ? output.AttributeName : undefined, + AttributeType: + output.AttributeType !== undefined && output.AttributeType !== null ? output.AttributeType : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsDynamoDbTableAttributeDefinitionList = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableAttributeDefinition[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsDynamoDbTableAttributeDefinition(entry, context) + ); +}; + +const deserializeAws_restJson1AwsDynamoDbTableBillingModeSummary = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableBillingModeSummary => { + return { + BillingMode: output.BillingMode !== undefined && output.BillingMode !== null ? output.BillingMode : undefined, + LastUpdateToPayPerRequestDateTime: + output.LastUpdateToPayPerRequestDateTime !== undefined && output.LastUpdateToPayPerRequestDateTime !== null + ? output.LastUpdateToPayPerRequestDateTime + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsDynamoDbTableDetails = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableDetails => { + return { + AttributeDefinitions: + output.AttributeDefinitions !== undefined && output.AttributeDefinitions !== null + ? deserializeAws_restJson1AwsDynamoDbTableAttributeDefinitionList(output.AttributeDefinitions, context) + : undefined, + BillingModeSummary: + output.BillingModeSummary !== undefined && output.BillingModeSummary !== null + ? deserializeAws_restJson1AwsDynamoDbTableBillingModeSummary(output.BillingModeSummary, context) + : undefined, + CreationDateTime: + output.CreationDateTime !== undefined && output.CreationDateTime !== null ? output.CreationDateTime : undefined, + GlobalSecondaryIndexes: + output.GlobalSecondaryIndexes !== undefined && output.GlobalSecondaryIndexes !== null + ? deserializeAws_restJson1AwsDynamoDbTableGlobalSecondaryIndexList(output.GlobalSecondaryIndexes, context) + : undefined, + GlobalTableVersion: + output.GlobalTableVersion !== undefined && output.GlobalTableVersion !== null + ? output.GlobalTableVersion + : undefined, + ItemCount: output.ItemCount !== undefined && output.ItemCount !== null ? output.ItemCount : undefined, + KeySchema: + output.KeySchema !== undefined && output.KeySchema !== null + ? deserializeAws_restJson1AwsDynamoDbTableKeySchemaList(output.KeySchema, context) + : undefined, + LatestStreamArn: + output.LatestStreamArn !== undefined && output.LatestStreamArn !== null ? output.LatestStreamArn : undefined, + LatestStreamLabel: + output.LatestStreamLabel !== undefined && output.LatestStreamLabel !== null + ? output.LatestStreamLabel + : undefined, + LocalSecondaryIndexes: + output.LocalSecondaryIndexes !== undefined && output.LocalSecondaryIndexes !== null + ? deserializeAws_restJson1AwsDynamoDbTableLocalSecondaryIndexList(output.LocalSecondaryIndexes, context) + : undefined, + ProvisionedThroughput: + output.ProvisionedThroughput !== undefined && output.ProvisionedThroughput !== null + ? deserializeAws_restJson1AwsDynamoDbTableProvisionedThroughput(output.ProvisionedThroughput, context) + : undefined, + Replicas: + output.Replicas !== undefined && output.Replicas !== null + ? deserializeAws_restJson1AwsDynamoDbTableReplicaList(output.Replicas, context) + : undefined, + RestoreSummary: + output.RestoreSummary !== undefined && output.RestoreSummary !== null + ? deserializeAws_restJson1AwsDynamoDbTableRestoreSummary(output.RestoreSummary, context) + : undefined, + SseDescription: + output.SseDescription !== undefined && output.SseDescription !== null + ? deserializeAws_restJson1AwsDynamoDbTableSseDescription(output.SseDescription, context) + : undefined, + StreamSpecification: + output.StreamSpecification !== undefined && output.StreamSpecification !== null + ? deserializeAws_restJson1AwsDynamoDbTableStreamSpecification(output.StreamSpecification, context) + : undefined, + TableId: output.TableId !== undefined && output.TableId !== null ? output.TableId : undefined, + TableName: output.TableName !== undefined && output.TableName !== null ? output.TableName : undefined, + TableSizeBytes: + output.TableSizeBytes !== undefined && output.TableSizeBytes !== null ? output.TableSizeBytes : undefined, + TableStatus: output.TableStatus !== undefined && output.TableStatus !== null ? output.TableStatus : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsDynamoDbTableGlobalSecondaryIndex = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableGlobalSecondaryIndex => { + return { + Backfilling: output.Backfilling !== undefined && output.Backfilling !== null ? output.Backfilling : undefined, + IndexArn: output.IndexArn !== undefined && output.IndexArn !== null ? output.IndexArn : undefined, + IndexName: output.IndexName !== undefined && output.IndexName !== null ? output.IndexName : undefined, + IndexSizeBytes: + output.IndexSizeBytes !== undefined && output.IndexSizeBytes !== null ? output.IndexSizeBytes : undefined, + IndexStatus: output.IndexStatus !== undefined && output.IndexStatus !== null ? output.IndexStatus : undefined, + ItemCount: output.ItemCount !== undefined && output.ItemCount !== null ? output.ItemCount : undefined, + KeySchema: + output.KeySchema !== undefined && output.KeySchema !== null + ? deserializeAws_restJson1AwsDynamoDbTableKeySchemaList(output.KeySchema, context) + : undefined, + Projection: + output.Projection !== undefined && output.Projection !== null + ? deserializeAws_restJson1AwsDynamoDbTableProjection(output.Projection, context) + : undefined, + ProvisionedThroughput: + output.ProvisionedThroughput !== undefined && output.ProvisionedThroughput !== null + ? deserializeAws_restJson1AwsDynamoDbTableProvisionedThroughput(output.ProvisionedThroughput, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsDynamoDbTableGlobalSecondaryIndexList = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableGlobalSecondaryIndex[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsDynamoDbTableGlobalSecondaryIndex(entry, context) + ); +}; + +const deserializeAws_restJson1AwsDynamoDbTableKeySchema = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableKeySchema => { + return { + AttributeName: + output.AttributeName !== undefined && output.AttributeName !== null ? output.AttributeName : undefined, + KeyType: output.KeyType !== undefined && output.KeyType !== null ? output.KeyType : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsDynamoDbTableKeySchemaList = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableKeySchema[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsDynamoDbTableKeySchema(entry, context)); +}; + +const deserializeAws_restJson1AwsDynamoDbTableLocalSecondaryIndex = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableLocalSecondaryIndex => { + return { + IndexArn: output.IndexArn !== undefined && output.IndexArn !== null ? output.IndexArn : undefined, + IndexName: output.IndexName !== undefined && output.IndexName !== null ? output.IndexName : undefined, + KeySchema: + output.KeySchema !== undefined && output.KeySchema !== null + ? deserializeAws_restJson1AwsDynamoDbTableKeySchemaList(output.KeySchema, context) + : undefined, + Projection: + output.Projection !== undefined && output.Projection !== null + ? deserializeAws_restJson1AwsDynamoDbTableProjection(output.Projection, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsDynamoDbTableLocalSecondaryIndexList = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableLocalSecondaryIndex[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsDynamoDbTableLocalSecondaryIndex(entry, context) + ); +}; + +const deserializeAws_restJson1AwsDynamoDbTableProjection = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableProjection => { + return { + NonKeyAttributes: + output.NonKeyAttributes !== undefined && output.NonKeyAttributes !== null + ? deserializeAws_restJson1StringList(output.NonKeyAttributes, context) + : undefined, + ProjectionType: + output.ProjectionType !== undefined && output.ProjectionType !== null ? output.ProjectionType : undefined, + } as any; }; -const serializeAws_restJson1AwsSnsTopicSubscriptionList = ( - input: AwsSnsTopicSubscription[], +const deserializeAws_restJson1AwsDynamoDbTableProvisionedThroughput = ( + output: any, context: __SerdeContext -): any => { - return input.map((entry) => serializeAws_restJson1AwsSnsTopicSubscription(entry, context)); +): AwsDynamoDbTableProvisionedThroughput => { + return { + LastDecreaseDateTime: + output.LastDecreaseDateTime !== undefined && output.LastDecreaseDateTime !== null + ? output.LastDecreaseDateTime + : undefined, + LastIncreaseDateTime: + output.LastIncreaseDateTime !== undefined && output.LastIncreaseDateTime !== null + ? output.LastIncreaseDateTime + : undefined, + NumberOfDecreasesToday: + output.NumberOfDecreasesToday !== undefined && output.NumberOfDecreasesToday !== null + ? output.NumberOfDecreasesToday + : undefined, + ReadCapacityUnits: + output.ReadCapacityUnits !== undefined && output.ReadCapacityUnits !== null + ? output.ReadCapacityUnits + : undefined, + WriteCapacityUnits: + output.WriteCapacityUnits !== undefined && output.WriteCapacityUnits !== null + ? output.WriteCapacityUnits + : undefined, + } as any; }; -const serializeAws_restJson1AwsSqsQueueDetails = (input: AwsSqsQueueDetails, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsDynamoDbTableProvisionedThroughputOverride = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableProvisionedThroughputOverride => { return { - ...(input.DeadLetterTargetArn !== undefined && { DeadLetterTargetArn: input.DeadLetterTargetArn }), - ...(input.KmsDataKeyReusePeriodSeconds !== undefined && { - KmsDataKeyReusePeriodSeconds: input.KmsDataKeyReusePeriodSeconds, - }), - ...(input.KmsMasterKeyId !== undefined && { KmsMasterKeyId: input.KmsMasterKeyId }), - ...(input.QueueName !== undefined && { QueueName: input.QueueName }), - }; + ReadCapacityUnits: + output.ReadCapacityUnits !== undefined && output.ReadCapacityUnits !== null + ? output.ReadCapacityUnits + : undefined, + } as any; }; -const serializeAws_restJson1AwsWafWebAclDetails = (input: AwsWafWebAclDetails, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsDynamoDbTableReplica = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableReplica => { return { - ...(input.DefaultAction !== undefined && { DefaultAction: input.DefaultAction }), - ...(input.Name !== undefined && { Name: input.Name }), - ...(input.Rules !== undefined && { Rules: serializeAws_restJson1AwsWafWebAclRuleList(input.Rules, context) }), - ...(input.WebAclId !== undefined && { WebAclId: input.WebAclId }), - }; + GlobalSecondaryIndexes: + output.GlobalSecondaryIndexes !== undefined && output.GlobalSecondaryIndexes !== null + ? deserializeAws_restJson1AwsDynamoDbTableReplicaGlobalSecondaryIndexList( + output.GlobalSecondaryIndexes, + context + ) + : undefined, + KmsMasterKeyId: + output.KmsMasterKeyId !== undefined && output.KmsMasterKeyId !== null ? output.KmsMasterKeyId : undefined, + ProvisionedThroughputOverride: + output.ProvisionedThroughputOverride !== undefined && output.ProvisionedThroughputOverride !== null + ? deserializeAws_restJson1AwsDynamoDbTableProvisionedThroughputOverride( + output.ProvisionedThroughputOverride, + context + ) + : undefined, + RegionName: output.RegionName !== undefined && output.RegionName !== null ? output.RegionName : undefined, + ReplicaStatus: + output.ReplicaStatus !== undefined && output.ReplicaStatus !== null ? output.ReplicaStatus : undefined, + ReplicaStatusDescription: + output.ReplicaStatusDescription !== undefined && output.ReplicaStatusDescription !== null + ? output.ReplicaStatusDescription + : undefined, + } as any; }; -const serializeAws_restJson1AwsWafWebAclRule = (input: AwsWafWebAclRule, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsDynamoDbTableReplicaGlobalSecondaryIndex = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableReplicaGlobalSecondaryIndex => { return { - ...(input.Action !== undefined && { Action: serializeAws_restJson1WafAction(input.Action, context) }), - ...(input.ExcludedRules !== undefined && { - ExcludedRules: serializeAws_restJson1WafExcludedRuleList(input.ExcludedRules, context), - }), - ...(input.OverrideAction !== undefined && { - OverrideAction: serializeAws_restJson1WafOverrideAction(input.OverrideAction, context), - }), - ...(input.Priority !== undefined && { Priority: input.Priority }), - ...(input.RuleId !== undefined && { RuleId: input.RuleId }), - ...(input.Type !== undefined && { Type: input.Type }), - }; + IndexName: output.IndexName !== undefined && output.IndexName !== null ? output.IndexName : undefined, + ProvisionedThroughputOverride: + output.ProvisionedThroughputOverride !== undefined && output.ProvisionedThroughputOverride !== null + ? deserializeAws_restJson1AwsDynamoDbTableProvisionedThroughputOverride( + output.ProvisionedThroughputOverride, + context + ) + : undefined, + } as any; }; -const serializeAws_restJson1AwsWafWebAclRuleList = (input: AwsWafWebAclRule[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1AwsWafWebAclRule(entry, context)); +const deserializeAws_restJson1AwsDynamoDbTableReplicaGlobalSecondaryIndexList = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableReplicaGlobalSecondaryIndex[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsDynamoDbTableReplicaGlobalSecondaryIndex(entry, context) + ); }; -const serializeAws_restJson1CidrBlockAssociation = (input: CidrBlockAssociation, context: __SerdeContext): any => { - return { - ...(input.AssociationId !== undefined && { AssociationId: input.AssociationId }), - ...(input.CidrBlock !== undefined && { CidrBlock: input.CidrBlock }), - ...(input.CidrBlockState !== undefined && { CidrBlockState: input.CidrBlockState }), - }; +const deserializeAws_restJson1AwsDynamoDbTableReplicaList = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableReplica[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsDynamoDbTableReplica(entry, context)); }; -const serializeAws_restJson1CidrBlockAssociationList = ( - input: CidrBlockAssociation[], +const deserializeAws_restJson1AwsDynamoDbTableRestoreSummary = ( + output: any, context: __SerdeContext -): any => { - return input.map((entry) => serializeAws_restJson1CidrBlockAssociation(entry, context)); +): AwsDynamoDbTableRestoreSummary => { + return { + RestoreDateTime: + output.RestoreDateTime !== undefined && output.RestoreDateTime !== null ? output.RestoreDateTime : undefined, + RestoreInProgress: + output.RestoreInProgress !== undefined && output.RestoreInProgress !== null + ? output.RestoreInProgress + : undefined, + SourceBackupArn: + output.SourceBackupArn !== undefined && output.SourceBackupArn !== null ? output.SourceBackupArn : undefined, + SourceTableArn: + output.SourceTableArn !== undefined && output.SourceTableArn !== null ? output.SourceTableArn : undefined, + } as any; }; -const serializeAws_restJson1Compliance = (input: Compliance, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsDynamoDbTableSseDescription = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableSseDescription => { return { - ...(input.RelatedRequirements !== undefined && { - RelatedRequirements: serializeAws_restJson1RelatedRequirementsList(input.RelatedRequirements, context), - }), - ...(input.Status !== undefined && { Status: input.Status }), - ...(input.StatusReasons !== undefined && { - StatusReasons: serializeAws_restJson1StatusReasonsList(input.StatusReasons, context), - }), - }; + InaccessibleEncryptionDateTime: + output.InaccessibleEncryptionDateTime !== undefined && output.InaccessibleEncryptionDateTime !== null + ? output.InaccessibleEncryptionDateTime + : undefined, + KmsMasterKeyArn: + output.KmsMasterKeyArn !== undefined && output.KmsMasterKeyArn !== null ? output.KmsMasterKeyArn : undefined, + SseType: output.SseType !== undefined && output.SseType !== null ? output.SseType : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; }; -const serializeAws_restJson1ContainerDetails = (input: ContainerDetails, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsDynamoDbTableStreamSpecification = ( + output: any, + context: __SerdeContext +): AwsDynamoDbTableStreamSpecification => { return { - ...(input.ImageId !== undefined && { ImageId: input.ImageId }), - ...(input.ImageName !== undefined && { ImageName: input.ImageName }), - ...(input.LaunchedAt !== undefined && { LaunchedAt: input.LaunchedAt }), - ...(input.Name !== undefined && { Name: input.Name }), - }; + StreamEnabled: + output.StreamEnabled !== undefined && output.StreamEnabled !== null ? output.StreamEnabled : undefined, + StreamViewType: + output.StreamViewType !== undefined && output.StreamViewType !== null ? output.StreamViewType : undefined, + } as any; }; -const serializeAws_restJson1Cvss = (input: Cvss, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsEc2EipDetails = (output: any, context: __SerdeContext): AwsEc2EipDetails => { return { - ...(input.BaseScore !== undefined && { BaseScore: input.BaseScore }), - ...(input.BaseVector !== undefined && { BaseVector: input.BaseVector }), - ...(input.Version !== undefined && { Version: input.Version }), - }; + AllocationId: output.AllocationId !== undefined && output.AllocationId !== null ? output.AllocationId : undefined, + AssociationId: + output.AssociationId !== undefined && output.AssociationId !== null ? output.AssociationId : undefined, + Domain: output.Domain !== undefined && output.Domain !== null ? output.Domain : undefined, + InstanceId: output.InstanceId !== undefined && output.InstanceId !== null ? output.InstanceId : undefined, + NetworkBorderGroup: + output.NetworkBorderGroup !== undefined && output.NetworkBorderGroup !== null + ? output.NetworkBorderGroup + : undefined, + NetworkInterfaceId: + output.NetworkInterfaceId !== undefined && output.NetworkInterfaceId !== null + ? output.NetworkInterfaceId + : undefined, + NetworkInterfaceOwnerId: + output.NetworkInterfaceOwnerId !== undefined && output.NetworkInterfaceOwnerId !== null + ? output.NetworkInterfaceOwnerId + : undefined, + PrivateIpAddress: + output.PrivateIpAddress !== undefined && output.PrivateIpAddress !== null ? output.PrivateIpAddress : undefined, + PublicIp: output.PublicIp !== undefined && output.PublicIp !== null ? output.PublicIp : undefined, + PublicIpv4Pool: + output.PublicIpv4Pool !== undefined && output.PublicIpv4Pool !== null ? output.PublicIpv4Pool : undefined, + } as any; }; -const serializeAws_restJson1CvssList = (input: Cvss[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1Cvss(entry, context)); +const deserializeAws_restJson1AwsEc2InstanceDetails = (output: any, context: __SerdeContext): AwsEc2InstanceDetails => { + return { + IamInstanceProfileArn: + output.IamInstanceProfileArn !== undefined && output.IamInstanceProfileArn !== null + ? output.IamInstanceProfileArn + : undefined, + ImageId: output.ImageId !== undefined && output.ImageId !== null ? output.ImageId : undefined, + IpV4Addresses: + output.IpV4Addresses !== undefined && output.IpV4Addresses !== null + ? deserializeAws_restJson1StringList(output.IpV4Addresses, context) + : undefined, + IpV6Addresses: + output.IpV6Addresses !== undefined && output.IpV6Addresses !== null + ? deserializeAws_restJson1StringList(output.IpV6Addresses, context) + : undefined, + KeyName: output.KeyName !== undefined && output.KeyName !== null ? output.KeyName : undefined, + LaunchedAt: output.LaunchedAt !== undefined && output.LaunchedAt !== null ? output.LaunchedAt : undefined, + SubnetId: output.SubnetId !== undefined && output.SubnetId !== null ? output.SubnetId : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + } as any; }; -const serializeAws_restJson1DateFilter = (input: DateFilter, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsEc2NetworkInterfaceAttachment = ( + output: any, + context: __SerdeContext +): AwsEc2NetworkInterfaceAttachment => { return { - ...(input.DateRange !== undefined && { DateRange: serializeAws_restJson1DateRange(input.DateRange, context) }), - ...(input.End !== undefined && { End: input.End }), - ...(input.Start !== undefined && { Start: input.Start }), - }; + AttachTime: output.AttachTime !== undefined && output.AttachTime !== null ? output.AttachTime : undefined, + AttachmentId: output.AttachmentId !== undefined && output.AttachmentId !== null ? output.AttachmentId : undefined, + DeleteOnTermination: + output.DeleteOnTermination !== undefined && output.DeleteOnTermination !== null + ? output.DeleteOnTermination + : undefined, + DeviceIndex: output.DeviceIndex !== undefined && output.DeviceIndex !== null ? output.DeviceIndex : undefined, + InstanceId: output.InstanceId !== undefined && output.InstanceId !== null ? output.InstanceId : undefined, + InstanceOwnerId: + output.InstanceOwnerId !== undefined && output.InstanceOwnerId !== null ? output.InstanceOwnerId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; }; -const serializeAws_restJson1DateFilterList = (input: DateFilter[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1DateFilter(entry, context)); +const deserializeAws_restJson1AwsEc2NetworkInterfaceDetails = ( + output: any, + context: __SerdeContext +): AwsEc2NetworkInterfaceDetails => { + return { + Attachment: + output.Attachment !== undefined && output.Attachment !== null + ? deserializeAws_restJson1AwsEc2NetworkInterfaceAttachment(output.Attachment, context) + : undefined, + NetworkInterfaceId: + output.NetworkInterfaceId !== undefined && output.NetworkInterfaceId !== null + ? output.NetworkInterfaceId + : undefined, + SecurityGroups: + output.SecurityGroups !== undefined && output.SecurityGroups !== null + ? deserializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroupList(output.SecurityGroups, context) + : undefined, + SourceDestCheck: + output.SourceDestCheck !== undefined && output.SourceDestCheck !== null ? output.SourceDestCheck : undefined, + } as any; }; -const serializeAws_restJson1DateRange = (input: DateRange, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroup = ( + output: any, + context: __SerdeContext +): AwsEc2NetworkInterfaceSecurityGroup => { return { - ...(input.Unit !== undefined && { Unit: input.Unit }), - ...(input.Value !== undefined && { Value: input.Value }), - }; + GroupId: output.GroupId !== undefined && output.GroupId !== null ? output.GroupId : undefined, + GroupName: output.GroupName !== undefined && output.GroupName !== null ? output.GroupName : undefined, + } as any; }; -const serializeAws_restJson1FieldMap = (input: { [key: string]: string }, context: __SerdeContext): any => { - return Object.entries(input).reduce( - (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ - ...acc, - [key]: value, - }), - {} +const deserializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroupList = ( + output: any, + context: __SerdeContext +): AwsEc2NetworkInterfaceSecurityGroup[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroup(entry, context) ); }; -const serializeAws_restJson1IpFilter = (input: IpFilter, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsEc2SecurityGroupDetails = ( + output: any, + context: __SerdeContext +): AwsEc2SecurityGroupDetails => { return { - ...(input.Cidr !== undefined && { Cidr: input.Cidr }), - }; + GroupId: output.GroupId !== undefined && output.GroupId !== null ? output.GroupId : undefined, + GroupName: output.GroupName !== undefined && output.GroupName !== null ? output.GroupName : undefined, + IpPermissions: + output.IpPermissions !== undefined && output.IpPermissions !== null + ? deserializeAws_restJson1AwsEc2SecurityGroupIpPermissionList(output.IpPermissions, context) + : undefined, + IpPermissionsEgress: + output.IpPermissionsEgress !== undefined && output.IpPermissionsEgress !== null + ? deserializeAws_restJson1AwsEc2SecurityGroupIpPermissionList(output.IpPermissionsEgress, context) + : undefined, + OwnerId: output.OwnerId !== undefined && output.OwnerId !== null ? output.OwnerId : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + } as any; }; -const serializeAws_restJson1IpFilterList = (input: IpFilter[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1IpFilter(entry, context)); +const deserializeAws_restJson1AwsEc2SecurityGroupIpPermission = ( + output: any, + context: __SerdeContext +): AwsEc2SecurityGroupIpPermission => { + return { + FromPort: output.FromPort !== undefined && output.FromPort !== null ? output.FromPort : undefined, + IpProtocol: output.IpProtocol !== undefined && output.IpProtocol !== null ? output.IpProtocol : undefined, + IpRanges: + output.IpRanges !== undefined && output.IpRanges !== null + ? deserializeAws_restJson1AwsEc2SecurityGroupIpRangeList(output.IpRanges, context) + : undefined, + Ipv6Ranges: + output.Ipv6Ranges !== undefined && output.Ipv6Ranges !== null + ? deserializeAws_restJson1AwsEc2SecurityGroupIpv6RangeList(output.Ipv6Ranges, context) + : undefined, + PrefixListIds: + output.PrefixListIds !== undefined && output.PrefixListIds !== null + ? deserializeAws_restJson1AwsEc2SecurityGroupPrefixListIdList(output.PrefixListIds, context) + : undefined, + ToPort: output.ToPort !== undefined && output.ToPort !== null ? output.ToPort : undefined, + UserIdGroupPairs: + output.UserIdGroupPairs !== undefined && output.UserIdGroupPairs !== null + ? deserializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPairList(output.UserIdGroupPairs, context) + : undefined, + } as any; }; -const serializeAws_restJson1Ipv6CidrBlockAssociation = ( - input: Ipv6CidrBlockAssociation, +const deserializeAws_restJson1AwsEc2SecurityGroupIpPermissionList = ( + output: any, context: __SerdeContext -): any => { - return { - ...(input.AssociationId !== undefined && { AssociationId: input.AssociationId }), - ...(input.CidrBlockState !== undefined && { CidrBlockState: input.CidrBlockState }), - ...(input.Ipv6CidrBlock !== undefined && { Ipv6CidrBlock: input.Ipv6CidrBlock }), - }; +): AwsEc2SecurityGroupIpPermission[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2SecurityGroupIpPermission(entry, context)); }; -const serializeAws_restJson1Ipv6CidrBlockAssociationList = ( - input: Ipv6CidrBlockAssociation[], +const deserializeAws_restJson1AwsEc2SecurityGroupIpRange = ( + output: any, context: __SerdeContext -): any => { - return input.map((entry) => serializeAws_restJson1Ipv6CidrBlockAssociation(entry, context)); -}; - -const serializeAws_restJson1KeywordFilter = (input: KeywordFilter, context: __SerdeContext): any => { +): AwsEc2SecurityGroupIpRange => { return { - ...(input.Value !== undefined && { Value: input.Value }), - }; -}; - -const serializeAws_restJson1KeywordFilterList = (input: KeywordFilter[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1KeywordFilter(entry, context)); + CidrIp: output.CidrIp !== undefined && output.CidrIp !== null ? output.CidrIp : undefined, + } as any; }; -const serializeAws_restJson1LoadBalancerState = (input: LoadBalancerState, context: __SerdeContext): any => { - return { - ...(input.Code !== undefined && { Code: input.Code }), - ...(input.Reason !== undefined && { Reason: input.Reason }), - }; +const deserializeAws_restJson1AwsEc2SecurityGroupIpRangeList = ( + output: any, + context: __SerdeContext +): AwsEc2SecurityGroupIpRange[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2SecurityGroupIpRange(entry, context)); }; -const serializeAws_restJson1Malware = (input: Malware, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsEc2SecurityGroupIpv6Range = ( + output: any, + context: __SerdeContext +): AwsEc2SecurityGroupIpv6Range => { return { - ...(input.Name !== undefined && { Name: input.Name }), - ...(input.Path !== undefined && { Path: input.Path }), - ...(input.State !== undefined && { State: input.State }), - ...(input.Type !== undefined && { Type: input.Type }), - }; + CidrIpv6: output.CidrIpv6 !== undefined && output.CidrIpv6 !== null ? output.CidrIpv6 : undefined, + } as any; }; -const serializeAws_restJson1MalwareList = (input: Malware[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1Malware(entry, context)); +const deserializeAws_restJson1AwsEc2SecurityGroupIpv6RangeList = ( + output: any, + context: __SerdeContext +): AwsEc2SecurityGroupIpv6Range[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2SecurityGroupIpv6Range(entry, context)); }; -const serializeAws_restJson1MapFilter = (input: MapFilter, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsEc2SecurityGroupPrefixListId = ( + output: any, + context: __SerdeContext +): AwsEc2SecurityGroupPrefixListId => { return { - ...(input.Comparison !== undefined && { Comparison: input.Comparison }), - ...(input.Key !== undefined && { Key: input.Key }), - ...(input.Value !== undefined && { Value: input.Value }), - }; -}; - -const serializeAws_restJson1MapFilterList = (input: MapFilter[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1MapFilter(entry, context)); + PrefixListId: output.PrefixListId !== undefined && output.PrefixListId !== null ? output.PrefixListId : undefined, + } as any; }; -const serializeAws_restJson1Network = (input: Network, context: __SerdeContext): any => { - return { - ...(input.DestinationDomain !== undefined && { DestinationDomain: input.DestinationDomain }), - ...(input.DestinationIpV4 !== undefined && { DestinationIpV4: input.DestinationIpV4 }), - ...(input.DestinationIpV6 !== undefined && { DestinationIpV6: input.DestinationIpV6 }), - ...(input.DestinationPort !== undefined && { DestinationPort: input.DestinationPort }), - ...(input.Direction !== undefined && { Direction: input.Direction }), - ...(input.OpenPortRange !== undefined && { - OpenPortRange: serializeAws_restJson1PortRange(input.OpenPortRange, context), - }), - ...(input.Protocol !== undefined && { Protocol: input.Protocol }), - ...(input.SourceDomain !== undefined && { SourceDomain: input.SourceDomain }), - ...(input.SourceIpV4 !== undefined && { SourceIpV4: input.SourceIpV4 }), - ...(input.SourceIpV6 !== undefined && { SourceIpV6: input.SourceIpV6 }), - ...(input.SourceMac !== undefined && { SourceMac: input.SourceMac }), - ...(input.SourcePort !== undefined && { SourcePort: input.SourcePort }), - }; +const deserializeAws_restJson1AwsEc2SecurityGroupPrefixListIdList = ( + output: any, + context: __SerdeContext +): AwsEc2SecurityGroupPrefixListId[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2SecurityGroupPrefixListId(entry, context)); }; -const serializeAws_restJson1NetworkHeader = (input: NetworkHeader, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPair = ( + output: any, + context: __SerdeContext +): AwsEc2SecurityGroupUserIdGroupPair => { return { - ...(input.Destination !== undefined && { - Destination: serializeAws_restJson1NetworkPathComponentDetails(input.Destination, context), - }), - ...(input.Protocol !== undefined && { Protocol: input.Protocol }), - ...(input.Source !== undefined && { - Source: serializeAws_restJson1NetworkPathComponentDetails(input.Source, context), - }), - }; + GroupId: output.GroupId !== undefined && output.GroupId !== null ? output.GroupId : undefined, + GroupName: output.GroupName !== undefined && output.GroupName !== null ? output.GroupName : undefined, + PeeringStatus: + output.PeeringStatus !== undefined && output.PeeringStatus !== null ? output.PeeringStatus : undefined, + UserId: output.UserId !== undefined && output.UserId !== null ? output.UserId : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + VpcPeeringConnectionId: + output.VpcPeeringConnectionId !== undefined && output.VpcPeeringConnectionId !== null + ? output.VpcPeeringConnectionId + : undefined, + } as any; }; -const serializeAws_restJson1NetworkPathComponent = (input: NetworkPathComponent, context: __SerdeContext): any => { - return { - ...(input.ComponentId !== undefined && { ComponentId: input.ComponentId }), - ...(input.ComponentType !== undefined && { ComponentType: input.ComponentType }), - ...(input.Egress !== undefined && { Egress: serializeAws_restJson1NetworkHeader(input.Egress, context) }), - ...(input.Ingress !== undefined && { Ingress: serializeAws_restJson1NetworkHeader(input.Ingress, context) }), - }; +const deserializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPairList = ( + output: any, + context: __SerdeContext +): AwsEc2SecurityGroupUserIdGroupPair[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPair(entry, context)); }; -const serializeAws_restJson1NetworkPathComponentDetails = ( - input: NetworkPathComponentDetails, +const deserializeAws_restJson1AwsEc2VolumeAttachment = ( + output: any, context: __SerdeContext -): any => { +): AwsEc2VolumeAttachment => { return { - ...(input.Address !== undefined && { Address: serializeAws_restJson1StringList(input.Address, context) }), - ...(input.PortRanges !== undefined && { - PortRanges: serializeAws_restJson1PortRangeList(input.PortRanges, context), - }), - }; -}; - -const serializeAws_restJson1NetworkPathList = (input: NetworkPathComponent[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1NetworkPathComponent(entry, context)); + AttachTime: output.AttachTime !== undefined && output.AttachTime !== null ? output.AttachTime : undefined, + DeleteOnTermination: + output.DeleteOnTermination !== undefined && output.DeleteOnTermination !== null + ? output.DeleteOnTermination + : undefined, + InstanceId: output.InstanceId !== undefined && output.InstanceId !== null ? output.InstanceId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; }; -const serializeAws_restJson1NonEmptyStringList = (input: string[], context: __SerdeContext): any => { - return input.map((entry) => entry); +const deserializeAws_restJson1AwsEc2VolumeAttachmentList = ( + output: any, + context: __SerdeContext +): AwsEc2VolumeAttachment[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2VolumeAttachment(entry, context)); }; -const serializeAws_restJson1Note = (input: Note, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsEc2VolumeDetails = (output: any, context: __SerdeContext): AwsEc2VolumeDetails => { return { - ...(input.Text !== undefined && { Text: input.Text }), - ...(input.UpdatedAt !== undefined && { UpdatedAt: input.UpdatedAt }), - ...(input.UpdatedBy !== undefined && { UpdatedBy: input.UpdatedBy }), - }; + Attachments: + output.Attachments !== undefined && output.Attachments !== null + ? deserializeAws_restJson1AwsEc2VolumeAttachmentList(output.Attachments, context) + : undefined, + CreateTime: output.CreateTime !== undefined && output.CreateTime !== null ? output.CreateTime : undefined, + Encrypted: output.Encrypted !== undefined && output.Encrypted !== null ? output.Encrypted : undefined, + KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + Size: output.Size !== undefined && output.Size !== null ? output.Size : undefined, + SnapshotId: output.SnapshotId !== undefined && output.SnapshotId !== null ? output.SnapshotId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; }; -const serializeAws_restJson1NoteUpdate = (input: NoteUpdate, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsEc2VpcDetails = (output: any, context: __SerdeContext): AwsEc2VpcDetails => { return { - ...(input.Text !== undefined && { Text: input.Text }), - ...(input.UpdatedBy !== undefined && { UpdatedBy: input.UpdatedBy }), - }; + CidrBlockAssociationSet: + output.CidrBlockAssociationSet !== undefined && output.CidrBlockAssociationSet !== null + ? deserializeAws_restJson1CidrBlockAssociationList(output.CidrBlockAssociationSet, context) + : undefined, + DhcpOptionsId: + output.DhcpOptionsId !== undefined && output.DhcpOptionsId !== null ? output.DhcpOptionsId : undefined, + Ipv6CidrBlockAssociationSet: + output.Ipv6CidrBlockAssociationSet !== undefined && output.Ipv6CidrBlockAssociationSet !== null + ? deserializeAws_restJson1Ipv6CidrBlockAssociationList(output.Ipv6CidrBlockAssociationSet, context) + : undefined, + State: output.State !== undefined && output.State !== null ? output.State : undefined, + } as any; }; -const serializeAws_restJson1NumberFilter = (input: NumberFilter, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElasticsearchDomainDetails = ( + output: any, + context: __SerdeContext +): AwsElasticsearchDomainDetails => { return { - ...(input.Eq !== undefined && { Eq: input.Eq }), - ...(input.Gte !== undefined && { Gte: input.Gte }), - ...(input.Lte !== undefined && { Lte: input.Lte }), - }; + AccessPolicies: + output.AccessPolicies !== undefined && output.AccessPolicies !== null ? output.AccessPolicies : undefined, + DomainEndpointOptions: + output.DomainEndpointOptions !== undefined && output.DomainEndpointOptions !== null + ? deserializeAws_restJson1AwsElasticsearchDomainDomainEndpointOptions(output.DomainEndpointOptions, context) + : undefined, + DomainId: output.DomainId !== undefined && output.DomainId !== null ? output.DomainId : undefined, + DomainName: output.DomainName !== undefined && output.DomainName !== null ? output.DomainName : undefined, + ElasticsearchVersion: + output.ElasticsearchVersion !== undefined && output.ElasticsearchVersion !== null + ? output.ElasticsearchVersion + : undefined, + EncryptionAtRestOptions: + output.EncryptionAtRestOptions !== undefined && output.EncryptionAtRestOptions !== null + ? deserializeAws_restJson1AwsElasticsearchDomainEncryptionAtRestOptions(output.EncryptionAtRestOptions, context) + : undefined, + Endpoint: output.Endpoint !== undefined && output.Endpoint !== null ? output.Endpoint : undefined, + Endpoints: + output.Endpoints !== undefined && output.Endpoints !== null + ? deserializeAws_restJson1FieldMap(output.Endpoints, context) + : undefined, + NodeToNodeEncryptionOptions: + output.NodeToNodeEncryptionOptions !== undefined && output.NodeToNodeEncryptionOptions !== null + ? deserializeAws_restJson1AwsElasticsearchDomainNodeToNodeEncryptionOptions( + output.NodeToNodeEncryptionOptions, + context + ) + : undefined, + VPCOptions: + output.VPCOptions !== undefined && output.VPCOptions !== null + ? deserializeAws_restJson1AwsElasticsearchDomainVPCOptions(output.VPCOptions, context) + : undefined, + } as any; }; -const serializeAws_restJson1NumberFilterList = (input: NumberFilter[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1NumberFilter(entry, context)); +const deserializeAws_restJson1AwsElasticsearchDomainDomainEndpointOptions = ( + output: any, + context: __SerdeContext +): AwsElasticsearchDomainDomainEndpointOptions => { + return { + EnforceHTTPS: output.EnforceHTTPS !== undefined && output.EnforceHTTPS !== null ? output.EnforceHTTPS : undefined, + TLSSecurityPolicy: + output.TLSSecurityPolicy !== undefined && output.TLSSecurityPolicy !== null + ? output.TLSSecurityPolicy + : undefined, + } as any; }; -const serializeAws_restJson1PortRange = (input: PortRange, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElasticsearchDomainEncryptionAtRestOptions = ( + output: any, + context: __SerdeContext +): AwsElasticsearchDomainEncryptionAtRestOptions => { return { - ...(input.Begin !== undefined && { Begin: input.Begin }), - ...(input.End !== undefined && { End: input.End }), - }; -}; - -const serializeAws_restJson1PortRangeList = (input: PortRange[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1PortRange(entry, context)); + Enabled: output.Enabled !== undefined && output.Enabled !== null ? output.Enabled : undefined, + KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + } as any; }; -const serializeAws_restJson1ProcessDetails = (input: ProcessDetails, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElasticsearchDomainNodeToNodeEncryptionOptions = ( + output: any, + context: __SerdeContext +): AwsElasticsearchDomainNodeToNodeEncryptionOptions => { return { - ...(input.LaunchedAt !== undefined && { LaunchedAt: input.LaunchedAt }), - ...(input.Name !== undefined && { Name: input.Name }), - ...(input.ParentPid !== undefined && { ParentPid: input.ParentPid }), - ...(input.Path !== undefined && { Path: input.Path }), - ...(input.Pid !== undefined && { Pid: input.Pid }), - ...(input.TerminatedAt !== undefined && { TerminatedAt: input.TerminatedAt }), - }; + Enabled: output.Enabled !== undefined && output.Enabled !== null ? output.Enabled : undefined, + } as any; }; -const serializeAws_restJson1Recommendation = (input: Recommendation, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElasticsearchDomainVPCOptions = ( + output: any, + context: __SerdeContext +): AwsElasticsearchDomainVPCOptions => { return { - ...(input.Text !== undefined && { Text: input.Text }), - ...(input.Url !== undefined && { Url: input.Url }), - }; + AvailabilityZones: + output.AvailabilityZones !== undefined && output.AvailabilityZones !== null + ? deserializeAws_restJson1NonEmptyStringList(output.AvailabilityZones, context) + : undefined, + SecurityGroupIds: + output.SecurityGroupIds !== undefined && output.SecurityGroupIds !== null + ? deserializeAws_restJson1NonEmptyStringList(output.SecurityGroupIds, context) + : undefined, + SubnetIds: + output.SubnetIds !== undefined && output.SubnetIds !== null + ? deserializeAws_restJson1NonEmptyStringList(output.SubnetIds, context) + : undefined, + VPCId: output.VPCId !== undefined && output.VPCId !== null ? output.VPCId : undefined, + } as any; }; -const serializeAws_restJson1RelatedFinding = (input: RelatedFinding, context: __SerdeContext): any => { - return { - ...(input.Id !== undefined && { Id: input.Id }), - ...(input.ProductArn !== undefined && { ProductArn: input.ProductArn }), - }; +const deserializeAws_restJson1AwsElbAppCookieStickinessPolicies = ( + output: any, + context: __SerdeContext +): AwsElbAppCookieStickinessPolicy[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsElbAppCookieStickinessPolicy(entry, context)); }; -const serializeAws_restJson1RelatedFindingList = (input: RelatedFinding[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1RelatedFinding(entry, context)); +const deserializeAws_restJson1AwsElbAppCookieStickinessPolicy = ( + output: any, + context: __SerdeContext +): AwsElbAppCookieStickinessPolicy => { + return { + CookieName: output.CookieName !== undefined && output.CookieName !== null ? output.CookieName : undefined, + PolicyName: output.PolicyName !== undefined && output.PolicyName !== null ? output.PolicyName : undefined, + } as any; }; -const serializeAws_restJson1RelatedRequirementsList = (input: string[], context: __SerdeContext): any => { - return input.map((entry) => entry); +const deserializeAws_restJson1AwsElbLbCookieStickinessPolicies = ( + output: any, + context: __SerdeContext +): AwsElbLbCookieStickinessPolicy[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsElbLbCookieStickinessPolicy(entry, context)); }; -const serializeAws_restJson1Remediation = (input: Remediation, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElbLbCookieStickinessPolicy = ( + output: any, + context: __SerdeContext +): AwsElbLbCookieStickinessPolicy => { return { - ...(input.Recommendation !== undefined && { - Recommendation: serializeAws_restJson1Recommendation(input.Recommendation, context), - }), - }; + CookieExpirationPeriod: + output.CookieExpirationPeriod !== undefined && output.CookieExpirationPeriod !== null + ? output.CookieExpirationPeriod + : undefined, + PolicyName: output.PolicyName !== undefined && output.PolicyName !== null ? output.PolicyName : undefined, + } as any; }; -const serializeAws_restJson1Resource = (input: Resource, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElbLoadBalancerAccessLog = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerAccessLog => { return { - ...(input.Details !== undefined && { Details: serializeAws_restJson1ResourceDetails(input.Details, context) }), - ...(input.Id !== undefined && { Id: input.Id }), - ...(input.Partition !== undefined && { Partition: input.Partition }), - ...(input.Region !== undefined && { Region: input.Region }), - ...(input.Tags !== undefined && { Tags: serializeAws_restJson1FieldMap(input.Tags, context) }), - ...(input.Type !== undefined && { Type: input.Type }), - }; + EmitInterval: output.EmitInterval !== undefined && output.EmitInterval !== null ? output.EmitInterval : undefined, + Enabled: output.Enabled !== undefined && output.Enabled !== null ? output.Enabled : undefined, + S3BucketName: output.S3BucketName !== undefined && output.S3BucketName !== null ? output.S3BucketName : undefined, + S3BucketPrefix: + output.S3BucketPrefix !== undefined && output.S3BucketPrefix !== null ? output.S3BucketPrefix : undefined, + } as any; }; -const serializeAws_restJson1ResourceDetails = (input: ResourceDetails, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElbLoadBalancerAttributes = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerAttributes => { return { - ...(input.AwsAutoScalingAutoScalingGroup !== undefined && { - AwsAutoScalingAutoScalingGroup: serializeAws_restJson1AwsAutoScalingAutoScalingGroupDetails( - input.AwsAutoScalingAutoScalingGroup, - context - ), - }), - ...(input.AwsCloudFrontDistribution !== undefined && { - AwsCloudFrontDistribution: serializeAws_restJson1AwsCloudFrontDistributionDetails( - input.AwsCloudFrontDistribution, - context - ), - }), - ...(input.AwsCodeBuildProject !== undefined && { - AwsCodeBuildProject: serializeAws_restJson1AwsCodeBuildProjectDetails(input.AwsCodeBuildProject, context), - }), - ...(input.AwsEc2Instance !== undefined && { - AwsEc2Instance: serializeAws_restJson1AwsEc2InstanceDetails(input.AwsEc2Instance, context), - }), - ...(input.AwsEc2NetworkInterface !== undefined && { - AwsEc2NetworkInterface: serializeAws_restJson1AwsEc2NetworkInterfaceDetails( - input.AwsEc2NetworkInterface, - context - ), - }), - ...(input.AwsEc2SecurityGroup !== undefined && { - AwsEc2SecurityGroup: serializeAws_restJson1AwsEc2SecurityGroupDetails(input.AwsEc2SecurityGroup, context), - }), - ...(input.AwsEc2Volume !== undefined && { - AwsEc2Volume: serializeAws_restJson1AwsEc2VolumeDetails(input.AwsEc2Volume, context), - }), - ...(input.AwsEc2Vpc !== undefined && { - AwsEc2Vpc: serializeAws_restJson1AwsEc2VpcDetails(input.AwsEc2Vpc, context), - }), - ...(input.AwsElasticsearchDomain !== undefined && { - AwsElasticsearchDomain: serializeAws_restJson1AwsElasticsearchDomainDetails( - input.AwsElasticsearchDomain, - context - ), - }), - ...(input.AwsElbv2LoadBalancer !== undefined && { - AwsElbv2LoadBalancer: serializeAws_restJson1AwsElbv2LoadBalancerDetails(input.AwsElbv2LoadBalancer, context), - }), - ...(input.AwsIamAccessKey !== undefined && { - AwsIamAccessKey: serializeAws_restJson1AwsIamAccessKeyDetails(input.AwsIamAccessKey, context), - }), - ...(input.AwsIamRole !== undefined && { - AwsIamRole: serializeAws_restJson1AwsIamRoleDetails(input.AwsIamRole, context), - }), - ...(input.AwsKmsKey !== undefined && { - AwsKmsKey: serializeAws_restJson1AwsKmsKeyDetails(input.AwsKmsKey, context), - }), - ...(input.AwsLambdaFunction !== undefined && { - AwsLambdaFunction: serializeAws_restJson1AwsLambdaFunctionDetails(input.AwsLambdaFunction, context), - }), - ...(input.AwsLambdaLayerVersion !== undefined && { - AwsLambdaLayerVersion: serializeAws_restJson1AwsLambdaLayerVersionDetails(input.AwsLambdaLayerVersion, context), - }), - ...(input.AwsRdsDbInstance !== undefined && { - AwsRdsDbInstance: serializeAws_restJson1AwsRdsDbInstanceDetails(input.AwsRdsDbInstance, context), - }), - ...(input.AwsS3Bucket !== undefined && { - AwsS3Bucket: serializeAws_restJson1AwsS3BucketDetails(input.AwsS3Bucket, context), - }), - ...(input.AwsS3Object !== undefined && { - AwsS3Object: serializeAws_restJson1AwsS3ObjectDetails(input.AwsS3Object, context), - }), - ...(input.AwsSnsTopic !== undefined && { - AwsSnsTopic: serializeAws_restJson1AwsSnsTopicDetails(input.AwsSnsTopic, context), - }), - ...(input.AwsSqsQueue !== undefined && { - AwsSqsQueue: serializeAws_restJson1AwsSqsQueueDetails(input.AwsSqsQueue, context), - }), - ...(input.AwsWafWebAcl !== undefined && { - AwsWafWebAcl: serializeAws_restJson1AwsWafWebAclDetails(input.AwsWafWebAcl, context), - }), - ...(input.Container !== undefined && { - Container: serializeAws_restJson1ContainerDetails(input.Container, context), - }), - ...(input.Other !== undefined && { Other: serializeAws_restJson1FieldMap(input.Other, context) }), - }; + AccessLog: + output.AccessLog !== undefined && output.AccessLog !== null + ? deserializeAws_restJson1AwsElbLoadBalancerAccessLog(output.AccessLog, context) + : undefined, + ConnectionDraining: + output.ConnectionDraining !== undefined && output.ConnectionDraining !== null + ? deserializeAws_restJson1AwsElbLoadBalancerConnectionDraining(output.ConnectionDraining, context) + : undefined, + ConnectionSettings: + output.ConnectionSettings !== undefined && output.ConnectionSettings !== null + ? deserializeAws_restJson1AwsElbLoadBalancerConnectionSettings(output.ConnectionSettings, context) + : undefined, + CrossZoneLoadBalancing: + output.CrossZoneLoadBalancing !== undefined && output.CrossZoneLoadBalancing !== null + ? deserializeAws_restJson1AwsElbLoadBalancerCrossZoneLoadBalancing(output.CrossZoneLoadBalancing, context) + : undefined, + } as any; }; -const serializeAws_restJson1ResourceList = (input: Resource[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1Resource(entry, context)); +const deserializeAws_restJson1AwsElbLoadBalancerBackendServerDescription = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerBackendServerDescription => { + return { + InstancePort: output.InstancePort !== undefined && output.InstancePort !== null ? output.InstancePort : undefined, + PolicyNames: + output.PolicyNames !== undefined && output.PolicyNames !== null + ? deserializeAws_restJson1StringList(output.PolicyNames, context) + : undefined, + } as any; }; -const serializeAws_restJson1SecurityGroups = (input: string[], context: __SerdeContext): any => { - return input.map((entry) => entry); +const deserializeAws_restJson1AwsElbLoadBalancerBackendServerDescriptions = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerBackendServerDescription[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsElbLoadBalancerBackendServerDescription(entry, context) + ); }; -const serializeAws_restJson1Severity = (input: Severity, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElbLoadBalancerConnectionDraining = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerConnectionDraining => { return { - ...(input.Label !== undefined && { Label: input.Label }), - ...(input.Normalized !== undefined && { Normalized: input.Normalized }), - ...(input.Original !== undefined && { Original: input.Original }), - ...(input.Product !== undefined && { Product: input.Product }), - }; + Enabled: output.Enabled !== undefined && output.Enabled !== null ? output.Enabled : undefined, + Timeout: output.Timeout !== undefined && output.Timeout !== null ? output.Timeout : undefined, + } as any; }; -const serializeAws_restJson1SeverityUpdate = (input: SeverityUpdate, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElbLoadBalancerConnectionSettings = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerConnectionSettings => { return { - ...(input.Label !== undefined && { Label: input.Label }), - ...(input.Normalized !== undefined && { Normalized: input.Normalized }), - ...(input.Product !== undefined && { Product: input.Product }), - }; + IdleTimeout: output.IdleTimeout !== undefined && output.IdleTimeout !== null ? output.IdleTimeout : undefined, + } as any; }; -const serializeAws_restJson1SoftwarePackage = (input: SoftwarePackage, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElbLoadBalancerCrossZoneLoadBalancing = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerCrossZoneLoadBalancing => { return { - ...(input.Architecture !== undefined && { Architecture: input.Architecture }), - ...(input.Epoch !== undefined && { Epoch: input.Epoch }), - ...(input.Name !== undefined && { Name: input.Name }), - ...(input.Release !== undefined && { Release: input.Release }), - ...(input.Version !== undefined && { Version: input.Version }), - }; + Enabled: output.Enabled !== undefined && output.Enabled !== null ? output.Enabled : undefined, + } as any; }; -const serializeAws_restJson1SoftwarePackageList = (input: SoftwarePackage[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1SoftwarePackage(entry, context)); +const deserializeAws_restJson1AwsElbLoadBalancerDetails = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerDetails => { + return { + AvailabilityZones: + output.AvailabilityZones !== undefined && output.AvailabilityZones !== null + ? deserializeAws_restJson1StringList(output.AvailabilityZones, context) + : undefined, + BackendServerDescriptions: + output.BackendServerDescriptions !== undefined && output.BackendServerDescriptions !== null + ? deserializeAws_restJson1AwsElbLoadBalancerBackendServerDescriptions(output.BackendServerDescriptions, context) + : undefined, + CanonicalHostedZoneName: + output.CanonicalHostedZoneName !== undefined && output.CanonicalHostedZoneName !== null + ? output.CanonicalHostedZoneName + : undefined, + CanonicalHostedZoneNameID: + output.CanonicalHostedZoneNameID !== undefined && output.CanonicalHostedZoneNameID !== null + ? output.CanonicalHostedZoneNameID + : undefined, + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + DnsName: output.DnsName !== undefined && output.DnsName !== null ? output.DnsName : undefined, + HealthCheck: + output.HealthCheck !== undefined && output.HealthCheck !== null + ? deserializeAws_restJson1AwsElbLoadBalancerHealthCheck(output.HealthCheck, context) + : undefined, + Instances: + output.Instances !== undefined && output.Instances !== null + ? deserializeAws_restJson1AwsElbLoadBalancerInstances(output.Instances, context) + : undefined, + ListenerDescriptions: + output.ListenerDescriptions !== undefined && output.ListenerDescriptions !== null + ? deserializeAws_restJson1AwsElbLoadBalancerListenerDescriptions(output.ListenerDescriptions, context) + : undefined, + LoadBalancerAttributes: + output.LoadBalancerAttributes !== undefined && output.LoadBalancerAttributes !== null + ? deserializeAws_restJson1AwsElbLoadBalancerAttributes(output.LoadBalancerAttributes, context) + : undefined, + LoadBalancerName: + output.LoadBalancerName !== undefined && output.LoadBalancerName !== null ? output.LoadBalancerName : undefined, + Policies: + output.Policies !== undefined && output.Policies !== null + ? deserializeAws_restJson1AwsElbLoadBalancerPolicies(output.Policies, context) + : undefined, + Scheme: output.Scheme !== undefined && output.Scheme !== null ? output.Scheme : undefined, + SecurityGroups: + output.SecurityGroups !== undefined && output.SecurityGroups !== null + ? deserializeAws_restJson1StringList(output.SecurityGroups, context) + : undefined, + SourceSecurityGroup: + output.SourceSecurityGroup !== undefined && output.SourceSecurityGroup !== null + ? deserializeAws_restJson1AwsElbLoadBalancerSourceSecurityGroup(output.SourceSecurityGroup, context) + : undefined, + Subnets: + output.Subnets !== undefined && output.Subnets !== null + ? deserializeAws_restJson1StringList(output.Subnets, context) + : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + } as any; }; -const serializeAws_restJson1SortCriteria = (input: SortCriterion[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1SortCriterion(entry, context)); +const deserializeAws_restJson1AwsElbLoadBalancerHealthCheck = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerHealthCheck => { + return { + HealthyThreshold: + output.HealthyThreshold !== undefined && output.HealthyThreshold !== null ? output.HealthyThreshold : undefined, + Interval: output.Interval !== undefined && output.Interval !== null ? output.Interval : undefined, + Target: output.Target !== undefined && output.Target !== null ? output.Target : undefined, + Timeout: output.Timeout !== undefined && output.Timeout !== null ? output.Timeout : undefined, + UnhealthyThreshold: + output.UnhealthyThreshold !== undefined && output.UnhealthyThreshold !== null + ? output.UnhealthyThreshold + : undefined, + } as any; }; -const serializeAws_restJson1SortCriterion = (input: SortCriterion, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElbLoadBalancerInstance = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerInstance => { return { - ...(input.Field !== undefined && { Field: input.Field }), - ...(input.SortOrder !== undefined && { SortOrder: input.SortOrder }), - }; + InstanceId: output.InstanceId !== undefined && output.InstanceId !== null ? output.InstanceId : undefined, + } as any; }; -const serializeAws_restJson1StandardsInputParameterMap = ( - input: { [key: string]: string }, +const deserializeAws_restJson1AwsElbLoadBalancerInstances = ( + output: any, context: __SerdeContext -): any => { - return Object.entries(input).reduce( - (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ - ...acc, - [key]: value, - }), - {} - ); +): AwsElbLoadBalancerInstance[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsElbLoadBalancerInstance(entry, context)); }; -const serializeAws_restJson1StandardsSubscriptionArns = (input: string[], context: __SerdeContext): any => { - return input.map((entry) => entry); +const deserializeAws_restJson1AwsElbLoadBalancerListener = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerListener => { + return { + InstancePort: output.InstancePort !== undefined && output.InstancePort !== null ? output.InstancePort : undefined, + InstanceProtocol: + output.InstanceProtocol !== undefined && output.InstanceProtocol !== null ? output.InstanceProtocol : undefined, + LoadBalancerPort: + output.LoadBalancerPort !== undefined && output.LoadBalancerPort !== null ? output.LoadBalancerPort : undefined, + Protocol: output.Protocol !== undefined && output.Protocol !== null ? output.Protocol : undefined, + SslCertificateId: + output.SslCertificateId !== undefined && output.SslCertificateId !== null ? output.SslCertificateId : undefined, + } as any; }; -const serializeAws_restJson1StandardsSubscriptionRequest = ( - input: StandardsSubscriptionRequest, +const deserializeAws_restJson1AwsElbLoadBalancerListenerDescription = ( + output: any, context: __SerdeContext -): any => { +): AwsElbLoadBalancerListenerDescription => { return { - ...(input.StandardsArn !== undefined && { StandardsArn: input.StandardsArn }), - ...(input.StandardsInput !== undefined && { - StandardsInput: serializeAws_restJson1StandardsInputParameterMap(input.StandardsInput, context), - }), - }; + Listener: + output.Listener !== undefined && output.Listener !== null + ? deserializeAws_restJson1AwsElbLoadBalancerListener(output.Listener, context) + : undefined, + PolicyNames: + output.PolicyNames !== undefined && output.PolicyNames !== null + ? deserializeAws_restJson1StringList(output.PolicyNames, context) + : undefined, + } as any; }; -const serializeAws_restJson1StandardsSubscriptionRequests = ( - input: StandardsSubscriptionRequest[], +const deserializeAws_restJson1AwsElbLoadBalancerListenerDescriptions = ( + output: any, context: __SerdeContext -): any => { - return input.map((entry) => serializeAws_restJson1StandardsSubscriptionRequest(entry, context)); +): AwsElbLoadBalancerListenerDescription[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsElbLoadBalancerListenerDescription(entry, context) + ); }; -const serializeAws_restJson1StatusReason = (input: StatusReason, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElbLoadBalancerPolicies = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerPolicies => { return { - ...(input.Description !== undefined && { Description: input.Description }), - ...(input.ReasonCode !== undefined && { ReasonCode: input.ReasonCode }), - }; + AppCookieStickinessPolicies: + output.AppCookieStickinessPolicies !== undefined && output.AppCookieStickinessPolicies !== null + ? deserializeAws_restJson1AwsElbAppCookieStickinessPolicies(output.AppCookieStickinessPolicies, context) + : undefined, + LbCookieStickinessPolicies: + output.LbCookieStickinessPolicies !== undefined && output.LbCookieStickinessPolicies !== null + ? deserializeAws_restJson1AwsElbLbCookieStickinessPolicies(output.LbCookieStickinessPolicies, context) + : undefined, + OtherPolicies: + output.OtherPolicies !== undefined && output.OtherPolicies !== null + ? deserializeAws_restJson1StringList(output.OtherPolicies, context) + : undefined, + } as any; }; -const serializeAws_restJson1StatusReasonsList = (input: StatusReason[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1StatusReason(entry, context)); +const deserializeAws_restJson1AwsElbLoadBalancerSourceSecurityGroup = ( + output: any, + context: __SerdeContext +): AwsElbLoadBalancerSourceSecurityGroup => { + return { + GroupName: output.GroupName !== undefined && output.GroupName !== null ? output.GroupName : undefined, + OwnerAlias: output.OwnerAlias !== undefined && output.OwnerAlias !== null ? output.OwnerAlias : undefined, + } as any; }; -const serializeAws_restJson1StringFilter = (input: StringFilter, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsElbv2LoadBalancerDetails = ( + output: any, + context: __SerdeContext +): AwsElbv2LoadBalancerDetails => { return { - ...(input.Comparison !== undefined && { Comparison: input.Comparison }), - ...(input.Value !== undefined && { Value: input.Value }), - }; + AvailabilityZones: + output.AvailabilityZones !== undefined && output.AvailabilityZones !== null + ? deserializeAws_restJson1AvailabilityZones(output.AvailabilityZones, context) + : undefined, + CanonicalHostedZoneId: + output.CanonicalHostedZoneId !== undefined && output.CanonicalHostedZoneId !== null + ? output.CanonicalHostedZoneId + : undefined, + CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, + DNSName: output.DNSName !== undefined && output.DNSName !== null ? output.DNSName : undefined, + IpAddressType: + output.IpAddressType !== undefined && output.IpAddressType !== null ? output.IpAddressType : undefined, + Scheme: output.Scheme !== undefined && output.Scheme !== null ? output.Scheme : undefined, + SecurityGroups: + output.SecurityGroups !== undefined && output.SecurityGroups !== null + ? deserializeAws_restJson1SecurityGroups(output.SecurityGroups, context) + : undefined, + State: + output.State !== undefined && output.State !== null + ? deserializeAws_restJson1LoadBalancerState(output.State, context) + : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + } as any; }; -const serializeAws_restJson1StringFilterList = (input: StringFilter[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1StringFilter(entry, context)); +const deserializeAws_restJson1AwsIamAccessKeyDetails = ( + output: any, + context: __SerdeContext +): AwsIamAccessKeyDetails => { + return { + AccessKeyId: output.AccessKeyId !== undefined && output.AccessKeyId !== null ? output.AccessKeyId : undefined, + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + CreatedAt: output.CreatedAt !== undefined && output.CreatedAt !== null ? output.CreatedAt : undefined, + PrincipalId: output.PrincipalId !== undefined && output.PrincipalId !== null ? output.PrincipalId : undefined, + PrincipalName: + output.PrincipalName !== undefined && output.PrincipalName !== null ? output.PrincipalName : undefined, + PrincipalType: + output.PrincipalType !== undefined && output.PrincipalType !== null ? output.PrincipalType : undefined, + SessionContext: + output.SessionContext !== undefined && output.SessionContext !== null + ? deserializeAws_restJson1AwsIamAccessKeySessionContext(output.SessionContext, context) + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + UserName: output.UserName !== undefined && output.UserName !== null ? output.UserName : undefined, + } as any; }; -const serializeAws_restJson1StringList = (input: string[], context: __SerdeContext): any => { - return input.map((entry) => entry); +const deserializeAws_restJson1AwsIamAccessKeySessionContext = ( + output: any, + context: __SerdeContext +): AwsIamAccessKeySessionContext => { + return { + Attributes: + output.Attributes !== undefined && output.Attributes !== null + ? deserializeAws_restJson1AwsIamAccessKeySessionContextAttributes(output.Attributes, context) + : undefined, + SessionIssuer: + output.SessionIssuer !== undefined && output.SessionIssuer !== null + ? deserializeAws_restJson1AwsIamAccessKeySessionContextSessionIssuer(output.SessionIssuer, context) + : undefined, + } as any; }; -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 deserializeAws_restJson1AwsIamAccessKeySessionContextAttributes = ( + output: any, + context: __SerdeContext +): AwsIamAccessKeySessionContextAttributes => { + return { + CreationDate: output.CreationDate !== undefined && output.CreationDate !== null ? output.CreationDate : undefined, + MfaAuthenticated: + output.MfaAuthenticated !== undefined && output.MfaAuthenticated !== null ? output.MfaAuthenticated : undefined, + } as any; }; -const serializeAws_restJson1ThreatIntelIndicator = (input: ThreatIntelIndicator, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsIamAccessKeySessionContextSessionIssuer = ( + output: any, + context: __SerdeContext +): AwsIamAccessKeySessionContextSessionIssuer => { return { - ...(input.Category !== undefined && { Category: input.Category }), - ...(input.LastObservedAt !== undefined && { LastObservedAt: input.LastObservedAt }), - ...(input.Source !== undefined && { Source: input.Source }), - ...(input.SourceUrl !== undefined && { SourceUrl: input.SourceUrl }), - ...(input.Type !== undefined && { Type: input.Type }), - ...(input.Value !== undefined && { Value: input.Value }), - }; + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + PrincipalId: output.PrincipalId !== undefined && output.PrincipalId !== null ? output.PrincipalId : undefined, + Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + UserName: output.UserName !== undefined && output.UserName !== null ? output.UserName : undefined, + } as any; }; -const serializeAws_restJson1ThreatIntelIndicatorList = ( - input: ThreatIntelIndicator[], +const deserializeAws_restJson1AwsIamAttachedManagedPolicy = ( + output: any, context: __SerdeContext -): any => { - return input.map((entry) => serializeAws_restJson1ThreatIntelIndicator(entry, context)); +): AwsIamAttachedManagedPolicy => { + return { + PolicyArn: output.PolicyArn !== undefined && output.PolicyArn !== null ? output.PolicyArn : undefined, + PolicyName: output.PolicyName !== undefined && output.PolicyName !== null ? output.PolicyName : undefined, + } as any; }; -const serializeAws_restJson1TypeList = (input: string[], context: __SerdeContext): any => { - return input.map((entry) => entry); +const deserializeAws_restJson1AwsIamAttachedManagedPolicyList = ( + output: any, + context: __SerdeContext +): AwsIamAttachedManagedPolicy[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsIamAttachedManagedPolicy(entry, context)); }; -const serializeAws_restJson1Vulnerability = (input: Vulnerability, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsIamGroupDetails = (output: any, context: __SerdeContext): AwsIamGroupDetails => { return { - ...(input.Cvss !== undefined && { Cvss: serializeAws_restJson1CvssList(input.Cvss, context) }), - ...(input.Id !== undefined && { Id: input.Id }), - ...(input.ReferenceUrls !== undefined && { - ReferenceUrls: serializeAws_restJson1StringList(input.ReferenceUrls, context), - }), - ...(input.RelatedVulnerabilities !== undefined && { - RelatedVulnerabilities: serializeAws_restJson1StringList(input.RelatedVulnerabilities, context), - }), - ...(input.Vendor !== undefined && { Vendor: serializeAws_restJson1VulnerabilityVendor(input.Vendor, context) }), - ...(input.VulnerablePackages !== undefined && { - VulnerablePackages: serializeAws_restJson1SoftwarePackageList(input.VulnerablePackages, context), - }), - }; -}; - -const serializeAws_restJson1VulnerabilityList = (input: Vulnerability[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1Vulnerability(entry, context)); + AttachedManagedPolicies: + output.AttachedManagedPolicies !== undefined && output.AttachedManagedPolicies !== null + ? deserializeAws_restJson1AwsIamAttachedManagedPolicyList(output.AttachedManagedPolicies, context) + : undefined, + CreateDate: output.CreateDate !== undefined && output.CreateDate !== null ? output.CreateDate : undefined, + GroupId: output.GroupId !== undefined && output.GroupId !== null ? output.GroupId : undefined, + GroupName: output.GroupName !== undefined && output.GroupName !== null ? output.GroupName : undefined, + GroupPolicyList: + output.GroupPolicyList !== undefined && output.GroupPolicyList !== null + ? deserializeAws_restJson1AwsIamGroupPolicyList(output.GroupPolicyList, context) + : undefined, + Path: output.Path !== undefined && output.Path !== null ? output.Path : undefined, + } as any; }; -const serializeAws_restJson1VulnerabilityVendor = (input: VulnerabilityVendor, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsIamGroupPolicy = (output: any, context: __SerdeContext): AwsIamGroupPolicy => { return { - ...(input.Name !== undefined && { Name: input.Name }), - ...(input.Url !== undefined && { Url: input.Url }), - ...(input.VendorCreatedAt !== undefined && { VendorCreatedAt: input.VendorCreatedAt }), - ...(input.VendorSeverity !== undefined && { VendorSeverity: input.VendorSeverity }), - ...(input.VendorUpdatedAt !== undefined && { VendorUpdatedAt: input.VendorUpdatedAt }), - }; + PolicyName: output.PolicyName !== undefined && output.PolicyName !== null ? output.PolicyName : undefined, + } as any; }; -const serializeAws_restJson1WafAction = (input: WafAction, context: __SerdeContext): any => { - return { - ...(input.Type !== undefined && { Type: input.Type }), - }; +const deserializeAws_restJson1AwsIamGroupPolicyList = (output: any, context: __SerdeContext): AwsIamGroupPolicy[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsIamGroupPolicy(entry, context)); }; -const serializeAws_restJson1WafExcludedRule = (input: WafExcludedRule, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsIamInstanceProfile = (output: any, context: __SerdeContext): AwsIamInstanceProfile => { return { - ...(input.RuleId !== undefined && { RuleId: input.RuleId }), - }; + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + CreateDate: output.CreateDate !== undefined && output.CreateDate !== null ? output.CreateDate : undefined, + InstanceProfileId: + output.InstanceProfileId !== undefined && output.InstanceProfileId !== null + ? output.InstanceProfileId + : undefined, + InstanceProfileName: + output.InstanceProfileName !== undefined && output.InstanceProfileName !== null + ? output.InstanceProfileName + : undefined, + Path: output.Path !== undefined && output.Path !== null ? output.Path : undefined, + Roles: + output.Roles !== undefined && output.Roles !== null + ? deserializeAws_restJson1AwsIamInstanceProfileRoles(output.Roles, context) + : undefined, + } as any; }; -const serializeAws_restJson1WafExcludedRuleList = (input: WafExcludedRule[], context: __SerdeContext): any => { - return input.map((entry) => serializeAws_restJson1WafExcludedRule(entry, context)); +const deserializeAws_restJson1AwsIamInstanceProfileList = ( + output: any, + context: __SerdeContext +): AwsIamInstanceProfile[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsIamInstanceProfile(entry, context)); }; -const serializeAws_restJson1WafOverrideAction = (input: WafOverrideAction, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsIamInstanceProfileRole = ( + output: any, + context: __SerdeContext +): AwsIamInstanceProfileRole => { return { - ...(input.Type !== undefined && { Type: input.Type }), - }; + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + AssumeRolePolicyDocument: + output.AssumeRolePolicyDocument !== undefined && output.AssumeRolePolicyDocument !== null + ? output.AssumeRolePolicyDocument + : undefined, + CreateDate: output.CreateDate !== undefined && output.CreateDate !== null ? output.CreateDate : undefined, + Path: output.Path !== undefined && output.Path !== null ? output.Path : undefined, + RoleId: output.RoleId !== undefined && output.RoleId !== null ? output.RoleId : undefined, + RoleName: output.RoleName !== undefined && output.RoleName !== null ? output.RoleName : undefined, + } as any; }; -const serializeAws_restJson1Workflow = (input: Workflow, context: __SerdeContext): any => { - return { - ...(input.Status !== undefined && { Status: input.Status }), - }; +const deserializeAws_restJson1AwsIamInstanceProfileRoles = ( + output: any, + context: __SerdeContext +): AwsIamInstanceProfileRole[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsIamInstanceProfileRole(entry, context)); }; -const serializeAws_restJson1WorkflowUpdate = (input: WorkflowUpdate, context: __SerdeContext): any => { +const deserializeAws_restJson1AwsIamPermissionsBoundary = ( + output: any, + context: __SerdeContext +): AwsIamPermissionsBoundary => { return { - ...(input.Status !== undefined && { Status: input.Status }), - }; + PermissionsBoundaryArn: + output.PermissionsBoundaryArn !== undefined && output.PermissionsBoundaryArn !== null + ? output.PermissionsBoundaryArn + : undefined, + PermissionsBoundaryType: + output.PermissionsBoundaryType !== undefined && output.PermissionsBoundaryType !== null + ? output.PermissionsBoundaryType + : undefined, + } as any; }; -const deserializeAws_restJson1ActionTarget = (output: any, context: __SerdeContext): ActionTarget => { +const deserializeAws_restJson1AwsIamPolicyDetails = (output: any, context: __SerdeContext): AwsIamPolicyDetails => { return { - ActionTargetArn: - output.ActionTargetArn !== undefined && output.ActionTargetArn !== null ? output.ActionTargetArn : undefined, + AttachmentCount: + output.AttachmentCount !== undefined && output.AttachmentCount !== null ? output.AttachmentCount : undefined, + CreateDate: output.CreateDate !== undefined && output.CreateDate !== null ? output.CreateDate : undefined, + DefaultVersionId: + output.DefaultVersionId !== undefined && output.DefaultVersionId !== null ? output.DefaultVersionId : undefined, Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, - Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + IsAttachable: output.IsAttachable !== undefined && output.IsAttachable !== null ? output.IsAttachable : undefined, + Path: output.Path !== undefined && output.Path !== null ? output.Path : undefined, + PermissionsBoundaryUsageCount: + output.PermissionsBoundaryUsageCount !== undefined && output.PermissionsBoundaryUsageCount !== null + ? output.PermissionsBoundaryUsageCount + : undefined, + PolicyId: output.PolicyId !== undefined && output.PolicyId !== null ? output.PolicyId : undefined, + PolicyName: output.PolicyName !== undefined && output.PolicyName !== null ? output.PolicyName : undefined, + PolicyVersionList: + output.PolicyVersionList !== undefined && output.PolicyVersionList !== null + ? deserializeAws_restJson1AwsIamPolicyVersionList(output.PolicyVersionList, context) + : undefined, + UpdateDate: output.UpdateDate !== undefined && output.UpdateDate !== null ? output.UpdateDate : undefined, } as any; }; -const deserializeAws_restJson1ActionTargetList = (output: any, context: __SerdeContext): ActionTarget[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1ActionTarget(entry, context)); -}; - -const deserializeAws_restJson1AvailabilityZone = (output: any, context: __SerdeContext): AvailabilityZone => { +const deserializeAws_restJson1AwsIamPolicyVersion = (output: any, context: __SerdeContext): AwsIamPolicyVersion => { return { - SubnetId: output.SubnetId !== undefined && output.SubnetId !== null ? output.SubnetId : undefined, - ZoneName: output.ZoneName !== undefined && output.ZoneName !== null ? output.ZoneName : undefined, + CreateDate: output.CreateDate !== undefined && output.CreateDate !== null ? output.CreateDate : undefined, + IsDefaultVersion: + output.IsDefaultVersion !== undefined && output.IsDefaultVersion !== null ? output.IsDefaultVersion : undefined, + VersionId: output.VersionId !== undefined && output.VersionId !== null ? output.VersionId : undefined, } as any; }; -const deserializeAws_restJson1AvailabilityZones = (output: any, context: __SerdeContext): AvailabilityZone[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1AvailabilityZone(entry, context)); -}; - -const deserializeAws_restJson1AwsAutoScalingAutoScalingGroupDetails = ( +const deserializeAws_restJson1AwsIamPolicyVersionList = ( output: any, context: __SerdeContext -): AwsAutoScalingAutoScalingGroupDetails => { +): AwsIamPolicyVersion[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsIamPolicyVersion(entry, context)); +}; + +const deserializeAws_restJson1AwsIamRoleDetails = (output: any, context: __SerdeContext): AwsIamRoleDetails => { return { - CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, - HealthCheckGracePeriod: - output.HealthCheckGracePeriod !== undefined && output.HealthCheckGracePeriod !== null - ? output.HealthCheckGracePeriod + AssumeRolePolicyDocument: + output.AssumeRolePolicyDocument !== undefined && output.AssumeRolePolicyDocument !== null + ? output.AssumeRolePolicyDocument : undefined, - HealthCheckType: - output.HealthCheckType !== undefined && output.HealthCheckType !== null ? output.HealthCheckType : undefined, - LaunchConfigurationName: - output.LaunchConfigurationName !== undefined && output.LaunchConfigurationName !== null - ? output.LaunchConfigurationName + AttachedManagedPolicies: + output.AttachedManagedPolicies !== undefined && output.AttachedManagedPolicies !== null + ? deserializeAws_restJson1AwsIamAttachedManagedPolicyList(output.AttachedManagedPolicies, context) : undefined, - LoadBalancerNames: - output.LoadBalancerNames !== undefined && output.LoadBalancerNames !== null - ? deserializeAws_restJson1StringList(output.LoadBalancerNames, context) + CreateDate: output.CreateDate !== undefined && output.CreateDate !== null ? output.CreateDate : undefined, + InstanceProfileList: + output.InstanceProfileList !== undefined && output.InstanceProfileList !== null + ? deserializeAws_restJson1AwsIamInstanceProfileList(output.InstanceProfileList, context) + : undefined, + MaxSessionDuration: + output.MaxSessionDuration !== undefined && output.MaxSessionDuration !== null + ? output.MaxSessionDuration + : undefined, + Path: output.Path !== undefined && output.Path !== null ? output.Path : undefined, + PermissionsBoundary: + output.PermissionsBoundary !== undefined && output.PermissionsBoundary !== null + ? deserializeAws_restJson1AwsIamPermissionsBoundary(output.PermissionsBoundary, context) + : undefined, + RoleId: output.RoleId !== undefined && output.RoleId !== null ? output.RoleId : undefined, + RoleName: output.RoleName !== undefined && output.RoleName !== null ? output.RoleName : undefined, + RolePolicyList: + output.RolePolicyList !== undefined && output.RolePolicyList !== null + ? deserializeAws_restJson1AwsIamRolePolicyList(output.RolePolicyList, context) : undefined, } as any; }; -const deserializeAws_restJson1AwsCloudFrontDistributionDetails = ( - output: any, - context: __SerdeContext -): AwsCloudFrontDistributionDetails => { +const deserializeAws_restJson1AwsIamRolePolicy = (output: any, context: __SerdeContext): AwsIamRolePolicy => { return { - DomainName: output.DomainName !== undefined && output.DomainName !== null ? output.DomainName : undefined, - ETag: output.ETag !== undefined && output.ETag !== null ? output.ETag : undefined, - LastModifiedTime: - output.LastModifiedTime !== undefined && output.LastModifiedTime !== null ? output.LastModifiedTime : undefined, - Logging: - output.Logging !== undefined && output.Logging !== null - ? deserializeAws_restJson1AwsCloudFrontDistributionLogging(output.Logging, context) + PolicyName: output.PolicyName !== undefined && output.PolicyName !== null ? output.PolicyName : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsIamRolePolicyList = (output: any, context: __SerdeContext): AwsIamRolePolicy[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsIamRolePolicy(entry, context)); +}; + +const deserializeAws_restJson1AwsIamUserDetails = (output: any, context: __SerdeContext): AwsIamUserDetails => { + return { + AttachedManagedPolicies: + output.AttachedManagedPolicies !== undefined && output.AttachedManagedPolicies !== null + ? deserializeAws_restJson1AwsIamAttachedManagedPolicyList(output.AttachedManagedPolicies, context) : undefined, - Origins: - output.Origins !== undefined && output.Origins !== null - ? deserializeAws_restJson1AwsCloudFrontDistributionOrigins(output.Origins, context) + CreateDate: output.CreateDate !== undefined && output.CreateDate !== null ? output.CreateDate : undefined, + GroupList: + output.GroupList !== undefined && output.GroupList !== null + ? deserializeAws_restJson1StringList(output.GroupList, context) + : undefined, + Path: output.Path !== undefined && output.Path !== null ? output.Path : undefined, + PermissionsBoundary: + output.PermissionsBoundary !== undefined && output.PermissionsBoundary !== null + ? deserializeAws_restJson1AwsIamPermissionsBoundary(output.PermissionsBoundary, context) + : undefined, + UserId: output.UserId !== undefined && output.UserId !== null ? output.UserId : undefined, + UserName: output.UserName !== undefined && output.UserName !== null ? output.UserName : undefined, + UserPolicyList: + output.UserPolicyList !== undefined && output.UserPolicyList !== null + ? deserializeAws_restJson1AwsIamUserPolicyList(output.UserPolicyList, context) : undefined, - Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, - WebAclId: output.WebAclId !== undefined && output.WebAclId !== null ? output.WebAclId : undefined, } as any; }; -const deserializeAws_restJson1AwsCloudFrontDistributionLogging = ( - output: any, - context: __SerdeContext -): AwsCloudFrontDistributionLogging => { +const deserializeAws_restJson1AwsIamUserPolicy = (output: any, context: __SerdeContext): AwsIamUserPolicy => { return { - Bucket: output.Bucket !== undefined && output.Bucket !== null ? output.Bucket : undefined, - Enabled: output.Enabled !== undefined && output.Enabled !== null ? output.Enabled : undefined, - IncludeCookies: - output.IncludeCookies !== undefined && output.IncludeCookies !== null ? output.IncludeCookies : undefined, - Prefix: output.Prefix !== undefined && output.Prefix !== null ? output.Prefix : undefined, + PolicyName: output.PolicyName !== undefined && output.PolicyName !== null ? output.PolicyName : undefined, } as any; }; -const deserializeAws_restJson1AwsCloudFrontDistributionOriginItem = ( - output: any, - context: __SerdeContext -): AwsCloudFrontDistributionOriginItem => { +const deserializeAws_restJson1AwsIamUserPolicyList = (output: any, context: __SerdeContext): AwsIamUserPolicy[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsIamUserPolicy(entry, context)); +}; + +const deserializeAws_restJson1AwsKmsKeyDetails = (output: any, context: __SerdeContext): AwsKmsKeyDetails => { return { - DomainName: output.DomainName !== undefined && output.DomainName !== null ? output.DomainName : undefined, - Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, - OriginPath: output.OriginPath !== undefined && output.OriginPath !== null ? output.OriginPath : undefined, + AWSAccountId: output.AWSAccountId !== undefined && output.AWSAccountId !== null ? output.AWSAccountId : undefined, + CreationDate: output.CreationDate !== undefined && output.CreationDate !== null ? output.CreationDate : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + KeyId: output.KeyId !== undefined && output.KeyId !== null ? output.KeyId : undefined, + KeyManager: output.KeyManager !== undefined && output.KeyManager !== null ? output.KeyManager : undefined, + KeyState: output.KeyState !== undefined && output.KeyState !== null ? output.KeyState : undefined, + Origin: output.Origin !== undefined && output.Origin !== null ? output.Origin : undefined, } as any; }; -const deserializeAws_restJson1AwsCloudFrontDistributionOriginItemList = ( - output: any, - context: __SerdeContext -): AwsCloudFrontDistributionOriginItem[] => { - return (output || []).map((entry: any) => - deserializeAws_restJson1AwsCloudFrontDistributionOriginItem(entry, context) - ); +const deserializeAws_restJson1AwsLambdaFunctionCode = (output: any, context: __SerdeContext): AwsLambdaFunctionCode => { + return { + S3Bucket: output.S3Bucket !== undefined && output.S3Bucket !== null ? output.S3Bucket : undefined, + S3Key: output.S3Key !== undefined && output.S3Key !== null ? output.S3Key : undefined, + S3ObjectVersion: + output.S3ObjectVersion !== undefined && output.S3ObjectVersion !== null ? output.S3ObjectVersion : undefined, + ZipFile: output.ZipFile !== undefined && output.ZipFile !== null ? output.ZipFile : undefined, + } as any; }; -const deserializeAws_restJson1AwsCloudFrontDistributionOrigins = ( +const deserializeAws_restJson1AwsLambdaFunctionDeadLetterConfig = ( output: any, context: __SerdeContext -): AwsCloudFrontDistributionOrigins => { +): AwsLambdaFunctionDeadLetterConfig => { return { - Items: - output.Items !== undefined && output.Items !== null - ? deserializeAws_restJson1AwsCloudFrontDistributionOriginItemList(output.Items, context) - : undefined, + TargetArn: output.TargetArn !== undefined && output.TargetArn !== null ? output.TargetArn : undefined, } as any; }; -const deserializeAws_restJson1AwsCodeBuildProjectDetails = ( +const deserializeAws_restJson1AwsLambdaFunctionDetails = ( output: any, context: __SerdeContext -): AwsCodeBuildProjectDetails => { +): AwsLambdaFunctionDetails => { return { - EncryptionKey: - output.EncryptionKey !== undefined && output.EncryptionKey !== null ? output.EncryptionKey : undefined, + Code: + output.Code !== undefined && output.Code !== null + ? deserializeAws_restJson1AwsLambdaFunctionCode(output.Code, context) + : undefined, + CodeSha256: output.CodeSha256 !== undefined && output.CodeSha256 !== null ? output.CodeSha256 : undefined, + DeadLetterConfig: + output.DeadLetterConfig !== undefined && output.DeadLetterConfig !== null + ? deserializeAws_restJson1AwsLambdaFunctionDeadLetterConfig(output.DeadLetterConfig, context) + : undefined, Environment: output.Environment !== undefined && output.Environment !== null - ? deserializeAws_restJson1AwsCodeBuildProjectEnvironment(output.Environment, context) + ? deserializeAws_restJson1AwsLambdaFunctionEnvironment(output.Environment, context) : undefined, - Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, - ServiceRole: output.ServiceRole !== undefined && output.ServiceRole !== null ? output.ServiceRole : undefined, - Source: - output.Source !== undefined && output.Source !== null - ? deserializeAws_restJson1AwsCodeBuildProjectSource(output.Source, context) + FunctionName: output.FunctionName !== undefined && output.FunctionName !== null ? output.FunctionName : undefined, + Handler: output.Handler !== undefined && output.Handler !== null ? output.Handler : undefined, + KmsKeyArn: output.KmsKeyArn !== undefined && output.KmsKeyArn !== null ? output.KmsKeyArn : undefined, + LastModified: output.LastModified !== undefined && output.LastModified !== null ? output.LastModified : undefined, + Layers: + output.Layers !== undefined && output.Layers !== null + ? deserializeAws_restJson1AwsLambdaFunctionLayerList(output.Layers, context) + : undefined, + MasterArn: output.MasterArn !== undefined && output.MasterArn !== null ? output.MasterArn : undefined, + MemorySize: output.MemorySize !== undefined && output.MemorySize !== null ? output.MemorySize : undefined, + RevisionId: output.RevisionId !== undefined && output.RevisionId !== null ? output.RevisionId : undefined, + Role: output.Role !== undefined && output.Role !== null ? output.Role : undefined, + Runtime: output.Runtime !== undefined && output.Runtime !== null ? output.Runtime : undefined, + Timeout: output.Timeout !== undefined && output.Timeout !== null ? output.Timeout : undefined, + TracingConfig: + output.TracingConfig !== undefined && output.TracingConfig !== null + ? deserializeAws_restJson1AwsLambdaFunctionTracingConfig(output.TracingConfig, context) : undefined, + Version: output.Version !== undefined && output.Version !== null ? output.Version : undefined, VpcConfig: output.VpcConfig !== undefined && output.VpcConfig !== null - ? deserializeAws_restJson1AwsCodeBuildProjectVpcConfig(output.VpcConfig, context) + ? deserializeAws_restJson1AwsLambdaFunctionVpcConfig(output.VpcConfig, context) : undefined, } as any; }; -const deserializeAws_restJson1AwsCodeBuildProjectEnvironment = ( +const deserializeAws_restJson1AwsLambdaFunctionEnvironment = ( output: any, context: __SerdeContext -): AwsCodeBuildProjectEnvironment => { +): AwsLambdaFunctionEnvironment => { return { - Certificate: output.Certificate !== undefined && output.Certificate !== null ? output.Certificate : undefined, - ImagePullCredentialsType: - output.ImagePullCredentialsType !== undefined && output.ImagePullCredentialsType !== null - ? output.ImagePullCredentialsType + Error: + output.Error !== undefined && output.Error !== null + ? deserializeAws_restJson1AwsLambdaFunctionEnvironmentError(output.Error, context) : undefined, - RegistryCredential: - output.RegistryCredential !== undefined && output.RegistryCredential !== null - ? deserializeAws_restJson1AwsCodeBuildProjectEnvironmentRegistryCredential(output.RegistryCredential, context) + Variables: + output.Variables !== undefined && output.Variables !== null + ? deserializeAws_restJson1FieldMap(output.Variables, context) : undefined, - Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, } as any; }; -const deserializeAws_restJson1AwsCodeBuildProjectEnvironmentRegistryCredential = ( +const deserializeAws_restJson1AwsLambdaFunctionEnvironmentError = ( output: any, context: __SerdeContext -): AwsCodeBuildProjectEnvironmentRegistryCredential => { +): AwsLambdaFunctionEnvironmentError => { return { - Credential: output.Credential !== undefined && output.Credential !== null ? output.Credential : undefined, - CredentialProvider: - output.CredentialProvider !== undefined && output.CredentialProvider !== null - ? output.CredentialProvider - : undefined, + ErrorCode: output.ErrorCode !== undefined && output.ErrorCode !== null ? output.ErrorCode : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, } as any; }; -const deserializeAws_restJson1AwsCodeBuildProjectSource = ( +const deserializeAws_restJson1AwsLambdaFunctionLayer = ( output: any, context: __SerdeContext -): AwsCodeBuildProjectSource => { +): AwsLambdaFunctionLayer => { return { - GitCloneDepth: - output.GitCloneDepth !== undefined && output.GitCloneDepth !== null ? output.GitCloneDepth : undefined, - InsecureSsl: output.InsecureSsl !== undefined && output.InsecureSsl !== null ? output.InsecureSsl : undefined, - Location: output.Location !== undefined && output.Location !== null ? output.Location : undefined, - Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + CodeSize: output.CodeSize !== undefined && output.CodeSize !== null ? output.CodeSize : undefined, } as any; }; -const deserializeAws_restJson1AwsCodeBuildProjectVpcConfig = ( +const deserializeAws_restJson1AwsLambdaFunctionLayerList = ( output: any, context: __SerdeContext -): AwsCodeBuildProjectVpcConfig => { +): AwsLambdaFunctionLayer[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsLambdaFunctionLayer(entry, context)); +}; + +const deserializeAws_restJson1AwsLambdaFunctionTracingConfig = ( + output: any, + context: __SerdeContext +): AwsLambdaFunctionTracingConfig => { + return { + Mode: output.Mode !== undefined && output.Mode !== null ? output.Mode : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsLambdaFunctionVpcConfig = ( + output: any, + context: __SerdeContext +): AwsLambdaFunctionVpcConfig => { return { SecurityGroupIds: output.SecurityGroupIds !== undefined && output.SecurityGroupIds !== null ? deserializeAws_restJson1NonEmptyStringList(output.SecurityGroupIds, context) : undefined, - Subnets: - output.Subnets !== undefined && output.Subnets !== null - ? deserializeAws_restJson1NonEmptyStringList(output.Subnets, context) + SubnetIds: + output.SubnetIds !== undefined && output.SubnetIds !== null + ? deserializeAws_restJson1NonEmptyStringList(output.SubnetIds, context) : undefined, VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2InstanceDetails = (output: any, context: __SerdeContext): AwsEc2InstanceDetails => { +const deserializeAws_restJson1AwsLambdaLayerVersionDetails = ( + output: any, + context: __SerdeContext +): AwsLambdaLayerVersionDetails => { return { - IamInstanceProfileArn: - output.IamInstanceProfileArn !== undefined && output.IamInstanceProfileArn !== null - ? output.IamInstanceProfileArn - : undefined, - ImageId: output.ImageId !== undefined && output.ImageId !== null ? output.ImageId : undefined, - IpV4Addresses: - output.IpV4Addresses !== undefined && output.IpV4Addresses !== null - ? deserializeAws_restJson1StringList(output.IpV4Addresses, context) - : undefined, - IpV6Addresses: - output.IpV6Addresses !== undefined && output.IpV6Addresses !== null - ? deserializeAws_restJson1StringList(output.IpV6Addresses, context) + CompatibleRuntimes: + output.CompatibleRuntimes !== undefined && output.CompatibleRuntimes !== null + ? deserializeAws_restJson1NonEmptyStringList(output.CompatibleRuntimes, context) : undefined, - KeyName: output.KeyName !== undefined && output.KeyName !== null ? output.KeyName : undefined, - LaunchedAt: output.LaunchedAt !== undefined && output.LaunchedAt !== null ? output.LaunchedAt : undefined, - SubnetId: output.SubnetId !== undefined && output.SubnetId !== null ? output.SubnetId : undefined, - Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, - VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + CreatedDate: output.CreatedDate !== undefined && output.CreatedDate !== null ? output.CreatedDate : undefined, + Version: output.Version !== undefined && output.Version !== null ? output.Version : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsRdsDbClusterAssociatedRole = ( + output: any, + context: __SerdeContext +): AwsRdsDbClusterAssociatedRole => { + return { + RoleArn: output.RoleArn !== undefined && output.RoleArn !== null ? output.RoleArn : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2NetworkInterfaceAttachment = ( +const deserializeAws_restJson1AwsRdsDbClusterAssociatedRoles = ( output: any, context: __SerdeContext -): AwsEc2NetworkInterfaceAttachment => { - return { - AttachTime: output.AttachTime !== undefined && output.AttachTime !== null ? output.AttachTime : undefined, - AttachmentId: output.AttachmentId !== undefined && output.AttachmentId !== null ? output.AttachmentId : undefined, - DeleteOnTermination: - output.DeleteOnTermination !== undefined && output.DeleteOnTermination !== null - ? output.DeleteOnTermination - : undefined, - DeviceIndex: output.DeviceIndex !== undefined && output.DeviceIndex !== null ? output.DeviceIndex : undefined, - InstanceId: output.InstanceId !== undefined && output.InstanceId !== null ? output.InstanceId : undefined, - InstanceOwnerId: - output.InstanceOwnerId !== undefined && output.InstanceOwnerId !== null ? output.InstanceOwnerId : undefined, - Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, - } as any; +): AwsRdsDbClusterAssociatedRole[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbClusterAssociatedRole(entry, context)); }; -const deserializeAws_restJson1AwsEc2NetworkInterfaceDetails = ( +const deserializeAws_restJson1AwsRdsDbClusterDetails = ( output: any, context: __SerdeContext -): AwsEc2NetworkInterfaceDetails => { +): AwsRdsDbClusterDetails => { return { - Attachment: - output.Attachment !== undefined && output.Attachment !== null - ? deserializeAws_restJson1AwsEc2NetworkInterfaceAttachment(output.Attachment, context) + ActivityStreamStatus: + output.ActivityStreamStatus !== undefined && output.ActivityStreamStatus !== null + ? output.ActivityStreamStatus : undefined, - NetworkInterfaceId: - output.NetworkInterfaceId !== undefined && output.NetworkInterfaceId !== null - ? output.NetworkInterfaceId + AllocatedStorage: + output.AllocatedStorage !== undefined && output.AllocatedStorage !== null ? output.AllocatedStorage : undefined, + AssociatedRoles: + output.AssociatedRoles !== undefined && output.AssociatedRoles !== null + ? deserializeAws_restJson1AwsRdsDbClusterAssociatedRoles(output.AssociatedRoles, context) : undefined, - SecurityGroups: - output.SecurityGroups !== undefined && output.SecurityGroups !== null - ? deserializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroupList(output.SecurityGroups, context) + AvailabilityZones: + output.AvailabilityZones !== undefined && output.AvailabilityZones !== null + ? deserializeAws_restJson1StringList(output.AvailabilityZones, context) + : undefined, + BackupRetentionPeriod: + output.BackupRetentionPeriod !== undefined && output.BackupRetentionPeriod !== null + ? output.BackupRetentionPeriod + : undefined, + ClusterCreateTime: + output.ClusterCreateTime !== undefined && output.ClusterCreateTime !== null + ? output.ClusterCreateTime + : undefined, + CopyTagsToSnapshot: + output.CopyTagsToSnapshot !== undefined && output.CopyTagsToSnapshot !== null + ? output.CopyTagsToSnapshot + : undefined, + CrossAccountClone: + output.CrossAccountClone !== undefined && output.CrossAccountClone !== null + ? output.CrossAccountClone + : undefined, + CustomEndpoints: + output.CustomEndpoints !== undefined && output.CustomEndpoints !== null + ? deserializeAws_restJson1StringList(output.CustomEndpoints, context) + : undefined, + DatabaseName: output.DatabaseName !== undefined && output.DatabaseName !== null ? output.DatabaseName : undefined, + DbClusterIdentifier: + output.DbClusterIdentifier !== undefined && output.DbClusterIdentifier !== null + ? output.DbClusterIdentifier + : undefined, + DbClusterMembers: + output.DbClusterMembers !== undefined && output.DbClusterMembers !== null + ? deserializeAws_restJson1AwsRdsDbClusterMembers(output.DbClusterMembers, context) + : undefined, + DbClusterOptionGroupMemberships: + output.DbClusterOptionGroupMemberships !== undefined && output.DbClusterOptionGroupMemberships !== null + ? deserializeAws_restJson1AwsRdsDbClusterOptionGroupMemberships(output.DbClusterOptionGroupMemberships, context) + : undefined, + DbClusterParameterGroup: + output.DbClusterParameterGroup !== undefined && output.DbClusterParameterGroup !== null + ? output.DbClusterParameterGroup + : undefined, + DbClusterResourceId: + output.DbClusterResourceId !== undefined && output.DbClusterResourceId !== null + ? output.DbClusterResourceId + : undefined, + DbSubnetGroup: + output.DbSubnetGroup !== undefined && output.DbSubnetGroup !== null ? output.DbSubnetGroup : undefined, + DeletionProtection: + output.DeletionProtection !== undefined && output.DeletionProtection !== null + ? output.DeletionProtection + : undefined, + DomainMemberships: + output.DomainMemberships !== undefined && output.DomainMemberships !== null + ? deserializeAws_restJson1AwsRdsDbDomainMemberships(output.DomainMemberships, context) + : undefined, + EnabledCloudWatchLogsExports: + output.EnabledCloudWatchLogsExports !== undefined && output.EnabledCloudWatchLogsExports !== null + ? deserializeAws_restJson1StringList(output.EnabledCloudWatchLogsExports, context) + : undefined, + Endpoint: output.Endpoint !== undefined && output.Endpoint !== null ? output.Endpoint : undefined, + Engine: output.Engine !== undefined && output.Engine !== null ? output.Engine : undefined, + EngineMode: output.EngineMode !== undefined && output.EngineMode !== null ? output.EngineMode : undefined, + EngineVersion: + output.EngineVersion !== undefined && output.EngineVersion !== null ? output.EngineVersion : undefined, + HostedZoneId: output.HostedZoneId !== undefined && output.HostedZoneId !== null ? output.HostedZoneId : undefined, + HttpEndpointEnabled: + output.HttpEndpointEnabled !== undefined && output.HttpEndpointEnabled !== null + ? output.HttpEndpointEnabled + : undefined, + IamDatabaseAuthenticationEnabled: + output.IamDatabaseAuthenticationEnabled !== undefined && output.IamDatabaseAuthenticationEnabled !== null + ? output.IamDatabaseAuthenticationEnabled + : undefined, + KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + MasterUsername: + output.MasterUsername !== undefined && output.MasterUsername !== null ? output.MasterUsername : undefined, + MultiAz: output.MultiAz !== undefined && output.MultiAz !== null ? output.MultiAz : undefined, + Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, + PreferredBackupWindow: + output.PreferredBackupWindow !== undefined && output.PreferredBackupWindow !== null + ? output.PreferredBackupWindow + : undefined, + PreferredMaintenanceWindow: + output.PreferredMaintenanceWindow !== undefined && output.PreferredMaintenanceWindow !== null + ? output.PreferredMaintenanceWindow + : undefined, + ReadReplicaIdentifiers: + output.ReadReplicaIdentifiers !== undefined && output.ReadReplicaIdentifiers !== null + ? deserializeAws_restJson1StringList(output.ReadReplicaIdentifiers, context) + : undefined, + ReaderEndpoint: + output.ReaderEndpoint !== undefined && output.ReaderEndpoint !== null ? output.ReaderEndpoint : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + StorageEncrypted: + output.StorageEncrypted !== undefined && output.StorageEncrypted !== null ? output.StorageEncrypted : undefined, + VpcSecurityGroups: + output.VpcSecurityGroups !== undefined && output.VpcSecurityGroups !== null + ? deserializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroups(output.VpcSecurityGroups, context) : undefined, - SourceDestCheck: - output.SourceDestCheck !== undefined && output.SourceDestCheck !== null ? output.SourceDestCheck : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroup = ( - output: any, - context: __SerdeContext -): AwsEc2NetworkInterfaceSecurityGroup => { +const deserializeAws_restJson1AwsRdsDbClusterMember = (output: any, context: __SerdeContext): AwsRdsDbClusterMember => { return { - GroupId: output.GroupId !== undefined && output.GroupId !== null ? output.GroupId : undefined, - GroupName: output.GroupName !== undefined && output.GroupName !== null ? output.GroupName : undefined, + DbClusterParameterGroupStatus: + output.DbClusterParameterGroupStatus !== undefined && output.DbClusterParameterGroupStatus !== null + ? output.DbClusterParameterGroupStatus + : undefined, + DbInstanceIdentifier: + output.DbInstanceIdentifier !== undefined && output.DbInstanceIdentifier !== null + ? output.DbInstanceIdentifier + : undefined, + IsClusterWriter: + output.IsClusterWriter !== undefined && output.IsClusterWriter !== null ? output.IsClusterWriter : undefined, + PromotionTier: + output.PromotionTier !== undefined && output.PromotionTier !== null ? output.PromotionTier : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroupList = ( +const deserializeAws_restJson1AwsRdsDbClusterMembers = ( output: any, context: __SerdeContext -): AwsEc2NetworkInterfaceSecurityGroup[] => { - return (output || []).map((entry: any) => - deserializeAws_restJson1AwsEc2NetworkInterfaceSecurityGroup(entry, context) - ); +): AwsRdsDbClusterMember[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbClusterMember(entry, context)); }; -const deserializeAws_restJson1AwsEc2SecurityGroupDetails = ( +const deserializeAws_restJson1AwsRdsDbClusterOptionGroupMembership = ( output: any, context: __SerdeContext -): AwsEc2SecurityGroupDetails => { +): AwsRdsDbClusterOptionGroupMembership => { return { - GroupId: output.GroupId !== undefined && output.GroupId !== null ? output.GroupId : undefined, - GroupName: output.GroupName !== undefined && output.GroupName !== null ? output.GroupName : undefined, - IpPermissions: - output.IpPermissions !== undefined && output.IpPermissions !== null - ? deserializeAws_restJson1AwsEc2SecurityGroupIpPermissionList(output.IpPermissions, context) - : undefined, - IpPermissionsEgress: - output.IpPermissionsEgress !== undefined && output.IpPermissionsEgress !== null - ? deserializeAws_restJson1AwsEc2SecurityGroupIpPermissionList(output.IpPermissionsEgress, context) + DbClusterOptionGroupName: + output.DbClusterOptionGroupName !== undefined && output.DbClusterOptionGroupName !== null + ? output.DbClusterOptionGroupName : undefined, - OwnerId: output.OwnerId !== undefined && output.OwnerId !== null ? output.OwnerId : undefined, - VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2SecurityGroupIpPermission = ( +const deserializeAws_restJson1AwsRdsDbClusterOptionGroupMemberships = ( output: any, context: __SerdeContext -): AwsEc2SecurityGroupIpPermission => { +): AwsRdsDbClusterOptionGroupMembership[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsRdsDbClusterOptionGroupMembership(entry, context) + ); +}; + +const deserializeAws_restJson1AwsRdsDbClusterSnapshotDetails = ( + output: any, + context: __SerdeContext +): AwsRdsDbClusterSnapshotDetails => { return { - FromPort: output.FromPort !== undefined && output.FromPort !== null ? output.FromPort : undefined, - IpProtocol: output.IpProtocol !== undefined && output.IpProtocol !== null ? output.IpProtocol : undefined, - IpRanges: - output.IpRanges !== undefined && output.IpRanges !== null - ? deserializeAws_restJson1AwsEc2SecurityGroupIpRangeList(output.IpRanges, context) + AllocatedStorage: + output.AllocatedStorage !== undefined && output.AllocatedStorage !== null ? output.AllocatedStorage : undefined, + AvailabilityZones: + output.AvailabilityZones !== undefined && output.AvailabilityZones !== null + ? deserializeAws_restJson1StringList(output.AvailabilityZones, context) : undefined, - Ipv6Ranges: - output.Ipv6Ranges !== undefined && output.Ipv6Ranges !== null - ? deserializeAws_restJson1AwsEc2SecurityGroupIpv6RangeList(output.Ipv6Ranges, context) + ClusterCreateTime: + output.ClusterCreateTime !== undefined && output.ClusterCreateTime !== null + ? output.ClusterCreateTime : undefined, - PrefixListIds: - output.PrefixListIds !== undefined && output.PrefixListIds !== null - ? deserializeAws_restJson1AwsEc2SecurityGroupPrefixListIdList(output.PrefixListIds, context) + DbClusterIdentifier: + output.DbClusterIdentifier !== undefined && output.DbClusterIdentifier !== null + ? output.DbClusterIdentifier : undefined, - ToPort: output.ToPort !== undefined && output.ToPort !== null ? output.ToPort : undefined, - UserIdGroupPairs: - output.UserIdGroupPairs !== undefined && output.UserIdGroupPairs !== null - ? deserializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPairList(output.UserIdGroupPairs, context) + DbClusterSnapshotIdentifier: + output.DbClusterSnapshotIdentifier !== undefined && output.DbClusterSnapshotIdentifier !== null + ? output.DbClusterSnapshotIdentifier + : undefined, + Engine: output.Engine !== undefined && output.Engine !== null ? output.Engine : undefined, + EngineVersion: + output.EngineVersion !== undefined && output.EngineVersion !== null ? output.EngineVersion : undefined, + IamDatabaseAuthenticationEnabled: + output.IamDatabaseAuthenticationEnabled !== undefined && output.IamDatabaseAuthenticationEnabled !== null + ? output.IamDatabaseAuthenticationEnabled + : undefined, + KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + LicenseModel: output.LicenseModel !== undefined && output.LicenseModel !== null ? output.LicenseModel : undefined, + MasterUsername: + output.MasterUsername !== undefined && output.MasterUsername !== null ? output.MasterUsername : undefined, + PercentProgress: + output.PercentProgress !== undefined && output.PercentProgress !== null ? output.PercentProgress : undefined, + Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, + SnapshotCreateTime: + output.SnapshotCreateTime !== undefined && output.SnapshotCreateTime !== null + ? output.SnapshotCreateTime : undefined, + SnapshotType: output.SnapshotType !== undefined && output.SnapshotType !== null ? output.SnapshotType : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + StorageEncrypted: + output.StorageEncrypted !== undefined && output.StorageEncrypted !== null ? output.StorageEncrypted : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2SecurityGroupIpPermissionList = ( - output: any, - context: __SerdeContext -): AwsEc2SecurityGroupIpPermission[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2SecurityGroupIpPermission(entry, context)); -}; - -const deserializeAws_restJson1AwsEc2SecurityGroupIpRange = ( +const deserializeAws_restJson1AwsRdsDbDomainMembership = ( output: any, context: __SerdeContext -): AwsEc2SecurityGroupIpRange => { +): AwsRdsDbDomainMembership => { return { - CidrIp: output.CidrIp !== undefined && output.CidrIp !== null ? output.CidrIp : undefined, + Domain: output.Domain !== undefined && output.Domain !== null ? output.Domain : undefined, + Fqdn: output.Fqdn !== undefined && output.Fqdn !== null ? output.Fqdn : undefined, + IamRoleName: output.IamRoleName !== undefined && output.IamRoleName !== null ? output.IamRoleName : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2SecurityGroupIpRangeList = ( +const deserializeAws_restJson1AwsRdsDbDomainMemberships = ( output: any, context: __SerdeContext -): AwsEc2SecurityGroupIpRange[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2SecurityGroupIpRange(entry, context)); +): AwsRdsDbDomainMembership[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbDomainMembership(entry, context)); }; -const deserializeAws_restJson1AwsEc2SecurityGroupIpv6Range = ( +const deserializeAws_restJson1AwsRdsDbInstanceAssociatedRole = ( output: any, context: __SerdeContext -): AwsEc2SecurityGroupIpv6Range => { +): AwsRdsDbInstanceAssociatedRole => { return { - CidrIpv6: output.CidrIpv6 !== undefined && output.CidrIpv6 !== null ? output.CidrIpv6 : undefined, + FeatureName: output.FeatureName !== undefined && output.FeatureName !== null ? output.FeatureName : undefined, + RoleArn: output.RoleArn !== undefined && output.RoleArn !== null ? output.RoleArn : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2SecurityGroupIpv6RangeList = ( +const deserializeAws_restJson1AwsRdsDbInstanceAssociatedRoles = ( output: any, context: __SerdeContext -): AwsEc2SecurityGroupIpv6Range[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2SecurityGroupIpv6Range(entry, context)); +): AwsRdsDbInstanceAssociatedRole[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbInstanceAssociatedRole(entry, context)); }; -const deserializeAws_restJson1AwsEc2SecurityGroupPrefixListId = ( +const deserializeAws_restJson1AwsRdsDbInstanceDetails = ( output: any, context: __SerdeContext -): AwsEc2SecurityGroupPrefixListId => { +): AwsRdsDbInstanceDetails => { return { - PrefixListId: output.PrefixListId !== undefined && output.PrefixListId !== null ? output.PrefixListId : undefined, + AllocatedStorage: + output.AllocatedStorage !== undefined && output.AllocatedStorage !== null ? output.AllocatedStorage : undefined, + AssociatedRoles: + output.AssociatedRoles !== undefined && output.AssociatedRoles !== null + ? deserializeAws_restJson1AwsRdsDbInstanceAssociatedRoles(output.AssociatedRoles, context) + : undefined, + AutoMinorVersionUpgrade: + output.AutoMinorVersionUpgrade !== undefined && output.AutoMinorVersionUpgrade !== null + ? output.AutoMinorVersionUpgrade + : undefined, + AvailabilityZone: + output.AvailabilityZone !== undefined && output.AvailabilityZone !== null ? output.AvailabilityZone : undefined, + BackupRetentionPeriod: + output.BackupRetentionPeriod !== undefined && output.BackupRetentionPeriod !== null + ? output.BackupRetentionPeriod + : undefined, + CACertificateIdentifier: + output.CACertificateIdentifier !== undefined && output.CACertificateIdentifier !== null + ? output.CACertificateIdentifier + : undefined, + CharacterSetName: + output.CharacterSetName !== undefined && output.CharacterSetName !== null ? output.CharacterSetName : undefined, + CopyTagsToSnapshot: + output.CopyTagsToSnapshot !== undefined && output.CopyTagsToSnapshot !== null + ? output.CopyTagsToSnapshot + : undefined, + DBClusterIdentifier: + output.DBClusterIdentifier !== undefined && output.DBClusterIdentifier !== null + ? output.DBClusterIdentifier + : undefined, + DBInstanceClass: + output.DBInstanceClass !== undefined && output.DBInstanceClass !== null ? output.DBInstanceClass : undefined, + DBInstanceIdentifier: + output.DBInstanceIdentifier !== undefined && output.DBInstanceIdentifier !== null + ? output.DBInstanceIdentifier + : undefined, + DBName: output.DBName !== undefined && output.DBName !== null ? output.DBName : undefined, + DbInstancePort: + output.DbInstancePort !== undefined && output.DbInstancePort !== null ? output.DbInstancePort : undefined, + DbInstanceStatus: + output.DbInstanceStatus !== undefined && output.DbInstanceStatus !== null ? output.DbInstanceStatus : undefined, + DbParameterGroups: + output.DbParameterGroups !== undefined && output.DbParameterGroups !== null + ? deserializeAws_restJson1AwsRdsDbParameterGroups(output.DbParameterGroups, context) + : undefined, + DbSecurityGroups: + output.DbSecurityGroups !== undefined && output.DbSecurityGroups !== null + ? deserializeAws_restJson1StringList(output.DbSecurityGroups, context) + : undefined, + DbSubnetGroup: + output.DbSubnetGroup !== undefined && output.DbSubnetGroup !== null + ? deserializeAws_restJson1AwsRdsDbSubnetGroup(output.DbSubnetGroup, context) + : undefined, + DbiResourceId: + output.DbiResourceId !== undefined && output.DbiResourceId !== null ? output.DbiResourceId : undefined, + DeletionProtection: + output.DeletionProtection !== undefined && output.DeletionProtection !== null + ? output.DeletionProtection + : undefined, + DomainMemberships: + output.DomainMemberships !== undefined && output.DomainMemberships !== null + ? deserializeAws_restJson1AwsRdsDbDomainMemberships(output.DomainMemberships, context) + : undefined, + EnabledCloudWatchLogsExports: + output.EnabledCloudWatchLogsExports !== undefined && output.EnabledCloudWatchLogsExports !== null + ? deserializeAws_restJson1StringList(output.EnabledCloudWatchLogsExports, context) + : undefined, + Endpoint: + output.Endpoint !== undefined && output.Endpoint !== null + ? deserializeAws_restJson1AwsRdsDbInstanceEndpoint(output.Endpoint, context) + : undefined, + Engine: output.Engine !== undefined && output.Engine !== null ? output.Engine : undefined, + EngineVersion: + output.EngineVersion !== undefined && output.EngineVersion !== null ? output.EngineVersion : undefined, + EnhancedMonitoringResourceArn: + output.EnhancedMonitoringResourceArn !== undefined && output.EnhancedMonitoringResourceArn !== null + ? output.EnhancedMonitoringResourceArn + : undefined, + IAMDatabaseAuthenticationEnabled: + output.IAMDatabaseAuthenticationEnabled !== undefined && output.IAMDatabaseAuthenticationEnabled !== null + ? output.IAMDatabaseAuthenticationEnabled + : undefined, + InstanceCreateTime: + output.InstanceCreateTime !== undefined && output.InstanceCreateTime !== null + ? output.InstanceCreateTime + : undefined, + Iops: output.Iops !== undefined && output.Iops !== null ? output.Iops : undefined, + KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + LatestRestorableTime: + output.LatestRestorableTime !== undefined && output.LatestRestorableTime !== null + ? output.LatestRestorableTime + : undefined, + LicenseModel: output.LicenseModel !== undefined && output.LicenseModel !== null ? output.LicenseModel : undefined, + ListenerEndpoint: + output.ListenerEndpoint !== undefined && output.ListenerEndpoint !== null + ? deserializeAws_restJson1AwsRdsDbInstanceEndpoint(output.ListenerEndpoint, context) + : undefined, + MasterUsername: + output.MasterUsername !== undefined && output.MasterUsername !== null ? output.MasterUsername : undefined, + MaxAllocatedStorage: + output.MaxAllocatedStorage !== undefined && output.MaxAllocatedStorage !== null + ? output.MaxAllocatedStorage + : undefined, + MonitoringInterval: + output.MonitoringInterval !== undefined && output.MonitoringInterval !== null + ? output.MonitoringInterval + : undefined, + MonitoringRoleArn: + output.MonitoringRoleArn !== undefined && output.MonitoringRoleArn !== null + ? output.MonitoringRoleArn + : undefined, + MultiAz: output.MultiAz !== undefined && output.MultiAz !== null ? output.MultiAz : undefined, + OptionGroupMemberships: + output.OptionGroupMemberships !== undefined && output.OptionGroupMemberships !== null + ? deserializeAws_restJson1AwsRdsDbOptionGroupMemberships(output.OptionGroupMemberships, context) + : undefined, + PendingModifiedValues: + output.PendingModifiedValues !== undefined && output.PendingModifiedValues !== null + ? deserializeAws_restJson1AwsRdsDbPendingModifiedValues(output.PendingModifiedValues, context) + : undefined, + PerformanceInsightsEnabled: + output.PerformanceInsightsEnabled !== undefined && output.PerformanceInsightsEnabled !== null + ? output.PerformanceInsightsEnabled + : undefined, + PerformanceInsightsKmsKeyId: + output.PerformanceInsightsKmsKeyId !== undefined && output.PerformanceInsightsKmsKeyId !== null + ? output.PerformanceInsightsKmsKeyId + : undefined, + PerformanceInsightsRetentionPeriod: + output.PerformanceInsightsRetentionPeriod !== undefined && output.PerformanceInsightsRetentionPeriod !== null + ? output.PerformanceInsightsRetentionPeriod + : undefined, + PreferredBackupWindow: + output.PreferredBackupWindow !== undefined && output.PreferredBackupWindow !== null + ? output.PreferredBackupWindow + : undefined, + PreferredMaintenanceWindow: + output.PreferredMaintenanceWindow !== undefined && output.PreferredMaintenanceWindow !== null + ? output.PreferredMaintenanceWindow + : undefined, + ProcessorFeatures: + output.ProcessorFeatures !== undefined && output.ProcessorFeatures !== null + ? deserializeAws_restJson1AwsRdsDbProcessorFeatures(output.ProcessorFeatures, context) + : undefined, + PromotionTier: + output.PromotionTier !== undefined && output.PromotionTier !== null ? output.PromotionTier : undefined, + PubliclyAccessible: + output.PubliclyAccessible !== undefined && output.PubliclyAccessible !== null + ? output.PubliclyAccessible + : undefined, + ReadReplicaDBClusterIdentifiers: + output.ReadReplicaDBClusterIdentifiers !== undefined && output.ReadReplicaDBClusterIdentifiers !== null + ? deserializeAws_restJson1StringList(output.ReadReplicaDBClusterIdentifiers, context) + : undefined, + ReadReplicaDBInstanceIdentifiers: + output.ReadReplicaDBInstanceIdentifiers !== undefined && output.ReadReplicaDBInstanceIdentifiers !== null + ? deserializeAws_restJson1StringList(output.ReadReplicaDBInstanceIdentifiers, context) + : undefined, + ReadReplicaSourceDBInstanceIdentifier: + output.ReadReplicaSourceDBInstanceIdentifier !== undefined && + output.ReadReplicaSourceDBInstanceIdentifier !== null + ? output.ReadReplicaSourceDBInstanceIdentifier + : undefined, + SecondaryAvailabilityZone: + output.SecondaryAvailabilityZone !== undefined && output.SecondaryAvailabilityZone !== null + ? output.SecondaryAvailabilityZone + : undefined, + StatusInfos: + output.StatusInfos !== undefined && output.StatusInfos !== null + ? deserializeAws_restJson1AwsRdsDbStatusInfos(output.StatusInfos, context) + : undefined, + StorageEncrypted: + output.StorageEncrypted !== undefined && output.StorageEncrypted !== null ? output.StorageEncrypted : undefined, + StorageType: output.StorageType !== undefined && output.StorageType !== null ? output.StorageType : undefined, + TdeCredentialArn: + output.TdeCredentialArn !== undefined && output.TdeCredentialArn !== null ? output.TdeCredentialArn : undefined, + Timezone: output.Timezone !== undefined && output.Timezone !== null ? output.Timezone : undefined, + VpcSecurityGroups: + output.VpcSecurityGroups !== undefined && output.VpcSecurityGroups !== null + ? deserializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroups(output.VpcSecurityGroups, context) + : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2SecurityGroupPrefixListIdList = ( - output: any, - context: __SerdeContext -): AwsEc2SecurityGroupPrefixListId[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2SecurityGroupPrefixListId(entry, context)); -}; - -const deserializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPair = ( +const deserializeAws_restJson1AwsRdsDbInstanceEndpoint = ( output: any, context: __SerdeContext -): AwsEc2SecurityGroupUserIdGroupPair => { +): AwsRdsDbInstanceEndpoint => { return { - GroupId: output.GroupId !== undefined && output.GroupId !== null ? output.GroupId : undefined, - GroupName: output.GroupName !== undefined && output.GroupName !== null ? output.GroupName : undefined, - PeeringStatus: - output.PeeringStatus !== undefined && output.PeeringStatus !== null ? output.PeeringStatus : undefined, - UserId: output.UserId !== undefined && output.UserId !== null ? output.UserId : undefined, - VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, - VpcPeeringConnectionId: - output.VpcPeeringConnectionId !== undefined && output.VpcPeeringConnectionId !== null - ? output.VpcPeeringConnectionId + Address: output.Address !== undefined && output.Address !== null ? output.Address : undefined, + HostedZoneId: output.HostedZoneId !== undefined && output.HostedZoneId !== null ? output.HostedZoneId : undefined, + Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroup = ( + output: any, + context: __SerdeContext +): AwsRdsDbInstanceVpcSecurityGroup => { + return { + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + VpcSecurityGroupId: + output.VpcSecurityGroupId !== undefined && output.VpcSecurityGroupId !== null + ? output.VpcSecurityGroupId : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPairList = ( +const deserializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroups = ( output: any, context: __SerdeContext -): AwsEc2SecurityGroupUserIdGroupPair[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2SecurityGroupUserIdGroupPair(entry, context)); +): AwsRdsDbInstanceVpcSecurityGroup[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroup(entry, context)); }; -const deserializeAws_restJson1AwsEc2VolumeAttachment = ( +const deserializeAws_restJson1AwsRdsDbOptionGroupMembership = ( output: any, context: __SerdeContext -): AwsEc2VolumeAttachment => { +): AwsRdsDbOptionGroupMembership => { return { - AttachTime: output.AttachTime !== undefined && output.AttachTime !== null ? output.AttachTime : undefined, - DeleteOnTermination: - output.DeleteOnTermination !== undefined && output.DeleteOnTermination !== null - ? output.DeleteOnTermination - : undefined, - InstanceId: output.InstanceId !== undefined && output.InstanceId !== null ? output.InstanceId : undefined, + OptionGroupName: + output.OptionGroupName !== undefined && output.OptionGroupName !== null ? output.OptionGroupName : undefined, Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2VolumeAttachmentList = ( +const deserializeAws_restJson1AwsRdsDbOptionGroupMemberships = ( output: any, context: __SerdeContext -): AwsEc2VolumeAttachment[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1AwsEc2VolumeAttachment(entry, context)); +): AwsRdsDbOptionGroupMembership[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbOptionGroupMembership(entry, context)); }; -const deserializeAws_restJson1AwsEc2VolumeDetails = (output: any, context: __SerdeContext): AwsEc2VolumeDetails => { +const deserializeAws_restJson1AwsRdsDbParameterGroup = ( + output: any, + context: __SerdeContext +): AwsRdsDbParameterGroup => { return { - Attachments: - output.Attachments !== undefined && output.Attachments !== null - ? deserializeAws_restJson1AwsEc2VolumeAttachmentList(output.Attachments, context) + DbParameterGroupName: + output.DbParameterGroupName !== undefined && output.DbParameterGroupName !== null + ? output.DbParameterGroupName + : undefined, + ParameterApplyStatus: + output.ParameterApplyStatus !== undefined && output.ParameterApplyStatus !== null + ? output.ParameterApplyStatus : undefined, - CreateTime: output.CreateTime !== undefined && output.CreateTime !== null ? output.CreateTime : undefined, - Encrypted: output.Encrypted !== undefined && output.Encrypted !== null ? output.Encrypted : undefined, - KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, - Size: output.Size !== undefined && output.Size !== null ? output.Size : undefined, - SnapshotId: output.SnapshotId !== undefined && output.SnapshotId !== null ? output.SnapshotId : undefined, - Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, } as any; }; -const deserializeAws_restJson1AwsEc2VpcDetails = (output: any, context: __SerdeContext): AwsEc2VpcDetails => { - return { - CidrBlockAssociationSet: - output.CidrBlockAssociationSet !== undefined && output.CidrBlockAssociationSet !== null - ? deserializeAws_restJson1CidrBlockAssociationList(output.CidrBlockAssociationSet, context) - : undefined, - DhcpOptionsId: - output.DhcpOptionsId !== undefined && output.DhcpOptionsId !== null ? output.DhcpOptionsId : undefined, - Ipv6CidrBlockAssociationSet: - output.Ipv6CidrBlockAssociationSet !== undefined && output.Ipv6CidrBlockAssociationSet !== null - ? deserializeAws_restJson1Ipv6CidrBlockAssociationList(output.Ipv6CidrBlockAssociationSet, context) - : undefined, - State: output.State !== undefined && output.State !== null ? output.State : undefined, - } as any; +const deserializeAws_restJson1AwsRdsDbParameterGroups = ( + output: any, + context: __SerdeContext +): AwsRdsDbParameterGroup[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbParameterGroup(entry, context)); }; -const deserializeAws_restJson1AwsElasticsearchDomainDetails = ( +const deserializeAws_restJson1AwsRdsDbPendingModifiedValues = ( output: any, context: __SerdeContext -): AwsElasticsearchDomainDetails => { +): AwsRdsDbPendingModifiedValues => { return { - AccessPolicies: - output.AccessPolicies !== undefined && output.AccessPolicies !== null ? output.AccessPolicies : undefined, - DomainEndpointOptions: - output.DomainEndpointOptions !== undefined && output.DomainEndpointOptions !== null - ? deserializeAws_restJson1AwsElasticsearchDomainDomainEndpointOptions(output.DomainEndpointOptions, context) + AllocatedStorage: + output.AllocatedStorage !== undefined && output.AllocatedStorage !== null ? output.AllocatedStorage : undefined, + BackupRetentionPeriod: + output.BackupRetentionPeriod !== undefined && output.BackupRetentionPeriod !== null + ? output.BackupRetentionPeriod : undefined, - DomainId: output.DomainId !== undefined && output.DomainId !== null ? output.DomainId : undefined, - DomainName: output.DomainName !== undefined && output.DomainName !== null ? output.DomainName : undefined, - ElasticsearchVersion: - output.ElasticsearchVersion !== undefined && output.ElasticsearchVersion !== null - ? output.ElasticsearchVersion + CaCertificateIdentifier: + output.CaCertificateIdentifier !== undefined && output.CaCertificateIdentifier !== null + ? output.CaCertificateIdentifier : undefined, - EncryptionAtRestOptions: - output.EncryptionAtRestOptions !== undefined && output.EncryptionAtRestOptions !== null - ? deserializeAws_restJson1AwsElasticsearchDomainEncryptionAtRestOptions(output.EncryptionAtRestOptions, context) + DbInstanceClass: + output.DbInstanceClass !== undefined && output.DbInstanceClass !== null ? output.DbInstanceClass : undefined, + DbInstanceIdentifier: + output.DbInstanceIdentifier !== undefined && output.DbInstanceIdentifier !== null + ? output.DbInstanceIdentifier : undefined, - Endpoint: output.Endpoint !== undefined && output.Endpoint !== null ? output.Endpoint : undefined, - Endpoints: - output.Endpoints !== undefined && output.Endpoints !== null - ? deserializeAws_restJson1FieldMap(output.Endpoints, context) + DbSubnetGroupName: + output.DbSubnetGroupName !== undefined && output.DbSubnetGroupName !== null + ? output.DbSubnetGroupName : undefined, - NodeToNodeEncryptionOptions: - output.NodeToNodeEncryptionOptions !== undefined && output.NodeToNodeEncryptionOptions !== null - ? deserializeAws_restJson1AwsElasticsearchDomainNodeToNodeEncryptionOptions( - output.NodeToNodeEncryptionOptions, - context - ) + EngineVersion: + output.EngineVersion !== undefined && output.EngineVersion !== null ? output.EngineVersion : undefined, + Iops: output.Iops !== undefined && output.Iops !== null ? output.Iops : undefined, + LicenseModel: output.LicenseModel !== undefined && output.LicenseModel !== null ? output.LicenseModel : undefined, + MasterUserPassword: + output.MasterUserPassword !== undefined && output.MasterUserPassword !== null + ? output.MasterUserPassword : undefined, - VPCOptions: - output.VPCOptions !== undefined && output.VPCOptions !== null - ? deserializeAws_restJson1AwsElasticsearchDomainVPCOptions(output.VPCOptions, context) + MultiAZ: output.MultiAZ !== undefined && output.MultiAZ !== null ? output.MultiAZ : undefined, + PendingCloudWatchLogsExports: + output.PendingCloudWatchLogsExports !== undefined && output.PendingCloudWatchLogsExports !== null + ? deserializeAws_restJson1AwsRdsPendingCloudWatchLogsExports(output.PendingCloudWatchLogsExports, context) : undefined, - } as any; -}; - -const deserializeAws_restJson1AwsElasticsearchDomainDomainEndpointOptions = ( - output: any, - context: __SerdeContext -): AwsElasticsearchDomainDomainEndpointOptions => { - return { - EnforceHTTPS: output.EnforceHTTPS !== undefined && output.EnforceHTTPS !== null ? output.EnforceHTTPS : undefined, - TLSSecurityPolicy: - output.TLSSecurityPolicy !== undefined && output.TLSSecurityPolicy !== null - ? output.TLSSecurityPolicy + Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, + ProcessorFeatures: + output.ProcessorFeatures !== undefined && output.ProcessorFeatures !== null + ? deserializeAws_restJson1AwsRdsDbProcessorFeatures(output.ProcessorFeatures, context) : undefined, + StorageType: output.StorageType !== undefined && output.StorageType !== null ? output.StorageType : undefined, } as any; }; -const deserializeAws_restJson1AwsElasticsearchDomainEncryptionAtRestOptions = ( +const deserializeAws_restJson1AwsRdsDbProcessorFeature = ( output: any, context: __SerdeContext -): AwsElasticsearchDomainEncryptionAtRestOptions => { +): AwsRdsDbProcessorFeature => { return { - Enabled: output.Enabled !== undefined && output.Enabled !== null ? output.Enabled : undefined, - KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined, } as any; }; -const deserializeAws_restJson1AwsElasticsearchDomainNodeToNodeEncryptionOptions = ( +const deserializeAws_restJson1AwsRdsDbProcessorFeatures = ( output: any, context: __SerdeContext -): AwsElasticsearchDomainNodeToNodeEncryptionOptions => { - return { - Enabled: output.Enabled !== undefined && output.Enabled !== null ? output.Enabled : undefined, - } as any; +): AwsRdsDbProcessorFeature[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbProcessorFeature(entry, context)); }; -const deserializeAws_restJson1AwsElasticsearchDomainVPCOptions = ( +const deserializeAws_restJson1AwsRdsDbSnapshotDetails = ( output: any, context: __SerdeContext -): AwsElasticsearchDomainVPCOptions => { +): AwsRdsDbSnapshotDetails => { return { - AvailabilityZones: - output.AvailabilityZones !== undefined && output.AvailabilityZones !== null - ? deserializeAws_restJson1NonEmptyStringList(output.AvailabilityZones, context) + AllocatedStorage: + output.AllocatedStorage !== undefined && output.AllocatedStorage !== null ? output.AllocatedStorage : undefined, + AvailabilityZone: + output.AvailabilityZone !== undefined && output.AvailabilityZone !== null ? output.AvailabilityZone : undefined, + DbInstanceIdentifier: + output.DbInstanceIdentifier !== undefined && output.DbInstanceIdentifier !== null + ? output.DbInstanceIdentifier : undefined, - SecurityGroupIds: - output.SecurityGroupIds !== undefined && output.SecurityGroupIds !== null - ? deserializeAws_restJson1NonEmptyStringList(output.SecurityGroupIds, context) + DbSnapshotIdentifier: + output.DbSnapshotIdentifier !== undefined && output.DbSnapshotIdentifier !== null + ? output.DbSnapshotIdentifier : undefined, - SubnetIds: - output.SubnetIds !== undefined && output.SubnetIds !== null - ? deserializeAws_restJson1NonEmptyStringList(output.SubnetIds, context) + DbiResourceId: + output.DbiResourceId !== undefined && output.DbiResourceId !== null ? output.DbiResourceId : undefined, + Encrypted: output.Encrypted !== undefined && output.Encrypted !== null ? output.Encrypted : undefined, + Engine: output.Engine !== undefined && output.Engine !== null ? output.Engine : undefined, + EngineVersion: + output.EngineVersion !== undefined && output.EngineVersion !== null ? output.EngineVersion : undefined, + IamDatabaseAuthenticationEnabled: + output.IamDatabaseAuthenticationEnabled !== undefined && output.IamDatabaseAuthenticationEnabled !== null + ? output.IamDatabaseAuthenticationEnabled : undefined, - VPCId: output.VPCId !== undefined && output.VPCId !== null ? output.VPCId : undefined, - } as any; -}; - -const deserializeAws_restJson1AwsElbv2LoadBalancerDetails = ( - output: any, - context: __SerdeContext -): AwsElbv2LoadBalancerDetails => { - return { - AvailabilityZones: - output.AvailabilityZones !== undefined && output.AvailabilityZones !== null - ? deserializeAws_restJson1AvailabilityZones(output.AvailabilityZones, context) + InstanceCreateTime: + output.InstanceCreateTime !== undefined && output.InstanceCreateTime !== null + ? output.InstanceCreateTime : undefined, - CanonicalHostedZoneId: - output.CanonicalHostedZoneId !== undefined && output.CanonicalHostedZoneId !== null - ? output.CanonicalHostedZoneId + Iops: output.Iops !== undefined && output.Iops !== null ? output.Iops : undefined, + KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + LicenseModel: output.LicenseModel !== undefined && output.LicenseModel !== null ? output.LicenseModel : undefined, + MasterUsername: + output.MasterUsername !== undefined && output.MasterUsername !== null ? output.MasterUsername : undefined, + OptionGroupName: + output.OptionGroupName !== undefined && output.OptionGroupName !== null ? output.OptionGroupName : undefined, + PercentProgress: + output.PercentProgress !== undefined && output.PercentProgress !== null ? output.PercentProgress : undefined, + Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, + ProcessorFeatures: + output.ProcessorFeatures !== undefined && output.ProcessorFeatures !== null + ? deserializeAws_restJson1AwsRdsDbProcessorFeatures(output.ProcessorFeatures, context) : undefined, - CreatedTime: output.CreatedTime !== undefined && output.CreatedTime !== null ? output.CreatedTime : undefined, - DNSName: output.DNSName !== undefined && output.DNSName !== null ? output.DNSName : undefined, - IpAddressType: - output.IpAddressType !== undefined && output.IpAddressType !== null ? output.IpAddressType : undefined, - Scheme: output.Scheme !== undefined && output.Scheme !== null ? output.Scheme : undefined, - SecurityGroups: - output.SecurityGroups !== undefined && output.SecurityGroups !== null - ? deserializeAws_restJson1SecurityGroups(output.SecurityGroups, context) + SnapshotCreateTime: + output.SnapshotCreateTime !== undefined && output.SnapshotCreateTime !== null + ? output.SnapshotCreateTime : undefined, - State: - output.State !== undefined && output.State !== null - ? deserializeAws_restJson1LoadBalancerState(output.State, context) + SnapshotType: output.SnapshotType !== undefined && output.SnapshotType !== null ? output.SnapshotType : undefined, + SourceDbSnapshotIdentifier: + output.SourceDbSnapshotIdentifier !== undefined && output.SourceDbSnapshotIdentifier !== null + ? output.SourceDbSnapshotIdentifier : undefined, - Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, + SourceRegion: output.SourceRegion !== undefined && output.SourceRegion !== null ? output.SourceRegion : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + StorageType: output.StorageType !== undefined && output.StorageType !== null ? output.StorageType : undefined, + TdeCredentialArn: + output.TdeCredentialArn !== undefined && output.TdeCredentialArn !== null ? output.TdeCredentialArn : undefined, + Timezone: output.Timezone !== undefined && output.Timezone !== null ? output.Timezone : undefined, VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, } as any; }; -const deserializeAws_restJson1AwsIamAccessKeyDetails = ( - output: any, - context: __SerdeContext -): AwsIamAccessKeyDetails => { +const deserializeAws_restJson1AwsRdsDbStatusInfo = (output: any, context: __SerdeContext): AwsRdsDbStatusInfo => { return { - CreatedAt: output.CreatedAt !== undefined && output.CreatedAt !== null ? output.CreatedAt : undefined, - PrincipalId: output.PrincipalId !== undefined && output.PrincipalId !== null ? output.PrincipalId : undefined, - PrincipalName: - output.PrincipalName !== undefined && output.PrincipalName !== null ? output.PrincipalName : undefined, - PrincipalType: - output.PrincipalType !== undefined && output.PrincipalType !== null ? output.PrincipalType : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + Normal: output.Normal !== undefined && output.Normal !== null ? output.Normal : undefined, Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, - UserName: output.UserName !== undefined && output.UserName !== null ? output.UserName : undefined, - } as any; -}; - -const deserializeAws_restJson1AwsIamRoleDetails = (output: any, context: __SerdeContext): AwsIamRoleDetails => { - return { - AssumeRolePolicyDocument: - output.AssumeRolePolicyDocument !== undefined && output.AssumeRolePolicyDocument !== null - ? output.AssumeRolePolicyDocument - : undefined, - CreateDate: output.CreateDate !== undefined && output.CreateDate !== null ? output.CreateDate : undefined, - MaxSessionDuration: - output.MaxSessionDuration !== undefined && output.MaxSessionDuration !== null - ? output.MaxSessionDuration - : undefined, - Path: output.Path !== undefined && output.Path !== null ? output.Path : undefined, - RoleId: output.RoleId !== undefined && output.RoleId !== null ? output.RoleId : undefined, - RoleName: output.RoleName !== undefined && output.RoleName !== null ? output.RoleName : undefined, + StatusType: output.StatusType !== undefined && output.StatusType !== null ? output.StatusType : undefined, } as any; }; -const deserializeAws_restJson1AwsKmsKeyDetails = (output: any, context: __SerdeContext): AwsKmsKeyDetails => { - return { - AWSAccountId: output.AWSAccountId !== undefined && output.AWSAccountId !== null ? output.AWSAccountId : undefined, - CreationDate: output.CreationDate !== undefined && output.CreationDate !== null ? output.CreationDate : undefined, - KeyId: output.KeyId !== undefined && output.KeyId !== null ? output.KeyId : undefined, - KeyManager: output.KeyManager !== undefined && output.KeyManager !== null ? output.KeyManager : undefined, - KeyState: output.KeyState !== undefined && output.KeyState !== null ? output.KeyState : undefined, - Origin: output.Origin !== undefined && output.Origin !== null ? output.Origin : undefined, - } as any; +const deserializeAws_restJson1AwsRdsDbStatusInfos = (output: any, context: __SerdeContext): AwsRdsDbStatusInfo[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbStatusInfo(entry, context)); }; -const deserializeAws_restJson1AwsLambdaFunctionCode = (output: any, context: __SerdeContext): AwsLambdaFunctionCode => { +const deserializeAws_restJson1AwsRdsDbSubnetGroup = (output: any, context: __SerdeContext): AwsRdsDbSubnetGroup => { return { - S3Bucket: output.S3Bucket !== undefined && output.S3Bucket !== null ? output.S3Bucket : undefined, - S3Key: output.S3Key !== undefined && output.S3Key !== null ? output.S3Key : undefined, - S3ObjectVersion: - output.S3ObjectVersion !== undefined && output.S3ObjectVersion !== null ? output.S3ObjectVersion : undefined, - ZipFile: output.ZipFile !== undefined && output.ZipFile !== null ? output.ZipFile : undefined, + DbSubnetGroupArn: + output.DbSubnetGroupArn !== undefined && output.DbSubnetGroupArn !== null ? output.DbSubnetGroupArn : undefined, + DbSubnetGroupDescription: + output.DbSubnetGroupDescription !== undefined && output.DbSubnetGroupDescription !== null + ? output.DbSubnetGroupDescription + : undefined, + DbSubnetGroupName: + output.DbSubnetGroupName !== undefined && output.DbSubnetGroupName !== null + ? output.DbSubnetGroupName + : undefined, + SubnetGroupStatus: + output.SubnetGroupStatus !== undefined && output.SubnetGroupStatus !== null + ? output.SubnetGroupStatus + : undefined, + Subnets: + output.Subnets !== undefined && output.Subnets !== null + ? deserializeAws_restJson1AwsRdsDbSubnetGroupSubnets(output.Subnets, context) + : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, } as any; }; -const deserializeAws_restJson1AwsLambdaFunctionDeadLetterConfig = ( +const deserializeAws_restJson1AwsRdsDbSubnetGroupSubnet = ( output: any, context: __SerdeContext -): AwsLambdaFunctionDeadLetterConfig => { +): AwsRdsDbSubnetGroupSubnet => { return { - TargetArn: output.TargetArn !== undefined && output.TargetArn !== null ? output.TargetArn : undefined, + SubnetAvailabilityZone: + output.SubnetAvailabilityZone !== undefined && output.SubnetAvailabilityZone !== null + ? deserializeAws_restJson1AwsRdsDbSubnetGroupSubnetAvailabilityZone(output.SubnetAvailabilityZone, context) + : undefined, + SubnetIdentifier: + output.SubnetIdentifier !== undefined && output.SubnetIdentifier !== null ? output.SubnetIdentifier : undefined, + SubnetStatus: output.SubnetStatus !== undefined && output.SubnetStatus !== null ? output.SubnetStatus : undefined, } as any; }; -const deserializeAws_restJson1AwsLambdaFunctionDetails = ( +const deserializeAws_restJson1AwsRdsDbSubnetGroupSubnetAvailabilityZone = ( output: any, context: __SerdeContext -): AwsLambdaFunctionDetails => { +): AwsRdsDbSubnetGroupSubnetAvailabilityZone => { return { - Code: - output.Code !== undefined && output.Code !== null - ? deserializeAws_restJson1AwsLambdaFunctionCode(output.Code, context) - : undefined, - CodeSha256: output.CodeSha256 !== undefined && output.CodeSha256 !== null ? output.CodeSha256 : undefined, - DeadLetterConfig: - output.DeadLetterConfig !== undefined && output.DeadLetterConfig !== null - ? deserializeAws_restJson1AwsLambdaFunctionDeadLetterConfig(output.DeadLetterConfig, context) - : undefined, - Environment: - output.Environment !== undefined && output.Environment !== null - ? deserializeAws_restJson1AwsLambdaFunctionEnvironment(output.Environment, context) - : undefined, - FunctionName: output.FunctionName !== undefined && output.FunctionName !== null ? output.FunctionName : undefined, - Handler: output.Handler !== undefined && output.Handler !== null ? output.Handler : undefined, - KmsKeyArn: output.KmsKeyArn !== undefined && output.KmsKeyArn !== null ? output.KmsKeyArn : undefined, - LastModified: output.LastModified !== undefined && output.LastModified !== null ? output.LastModified : undefined, - Layers: - output.Layers !== undefined && output.Layers !== null - ? deserializeAws_restJson1AwsLambdaFunctionLayerList(output.Layers, context) - : undefined, - MasterArn: output.MasterArn !== undefined && output.MasterArn !== null ? output.MasterArn : undefined, - MemorySize: output.MemorySize !== undefined && output.MemorySize !== null ? output.MemorySize : undefined, - RevisionId: output.RevisionId !== undefined && output.RevisionId !== null ? output.RevisionId : undefined, - Role: output.Role !== undefined && output.Role !== null ? output.Role : undefined, - Runtime: output.Runtime !== undefined && output.Runtime !== null ? output.Runtime : undefined, - Timeout: output.Timeout !== undefined && output.Timeout !== null ? output.Timeout : undefined, - TracingConfig: - output.TracingConfig !== undefined && output.TracingConfig !== null - ? deserializeAws_restJson1AwsLambdaFunctionTracingConfig(output.TracingConfig, context) - : undefined, - Version: output.Version !== undefined && output.Version !== null ? output.Version : undefined, - VpcConfig: - output.VpcConfig !== undefined && output.VpcConfig !== null - ? deserializeAws_restJson1AwsLambdaFunctionVpcConfig(output.VpcConfig, context) - : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, } as any; }; -const deserializeAws_restJson1AwsLambdaFunctionEnvironment = ( +const deserializeAws_restJson1AwsRdsDbSubnetGroupSubnets = ( output: any, context: __SerdeContext -): AwsLambdaFunctionEnvironment => { +): AwsRdsDbSubnetGroupSubnet[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbSubnetGroupSubnet(entry, context)); +}; + +const deserializeAws_restJson1AwsRdsPendingCloudWatchLogsExports = ( + output: any, + context: __SerdeContext +): AwsRdsPendingCloudWatchLogsExports => { return { - Error: - output.Error !== undefined && output.Error !== null - ? deserializeAws_restJson1AwsLambdaFunctionEnvironmentError(output.Error, context) + LogTypesToDisable: + output.LogTypesToDisable !== undefined && output.LogTypesToDisable !== null + ? deserializeAws_restJson1StringList(output.LogTypesToDisable, context) : undefined, - Variables: - output.Variables !== undefined && output.Variables !== null - ? deserializeAws_restJson1FieldMap(output.Variables, context) + LogTypesToEnable: + output.LogTypesToEnable !== undefined && output.LogTypesToEnable !== null + ? deserializeAws_restJson1StringList(output.LogTypesToEnable, context) : undefined, } as any; }; -const deserializeAws_restJson1AwsLambdaFunctionEnvironmentError = ( +const deserializeAws_restJson1AwsRedshiftClusterClusterNode = ( output: any, context: __SerdeContext -): AwsLambdaFunctionEnvironmentError => { +): AwsRedshiftClusterClusterNode => { return { - ErrorCode: output.ErrorCode !== undefined && output.ErrorCode !== null ? output.ErrorCode : undefined, - Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + NodeRole: output.NodeRole !== undefined && output.NodeRole !== null ? output.NodeRole : undefined, + PrivateIpAddress: + output.PrivateIpAddress !== undefined && output.PrivateIpAddress !== null ? output.PrivateIpAddress : undefined, + PublicIpAddress: + output.PublicIpAddress !== undefined && output.PublicIpAddress !== null ? output.PublicIpAddress : undefined, } as any; }; -const deserializeAws_restJson1AwsLambdaFunctionLayer = ( +const deserializeAws_restJson1AwsRedshiftClusterClusterNodes = ( output: any, context: __SerdeContext -): AwsLambdaFunctionLayer => { +): AwsRedshiftClusterClusterNode[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRedshiftClusterClusterNode(entry, context)); +}; + +const deserializeAws_restJson1AwsRedshiftClusterClusterParameterGroup = ( + output: any, + context: __SerdeContext +): AwsRedshiftClusterClusterParameterGroup => { return { - Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, - CodeSize: output.CodeSize !== undefined && output.CodeSize !== null ? output.CodeSize : undefined, + ClusterParameterStatusList: + output.ClusterParameterStatusList !== undefined && output.ClusterParameterStatusList !== null + ? deserializeAws_restJson1AwsRedshiftClusterClusterParameterStatusList( + output.ClusterParameterStatusList, + context + ) + : undefined, + ParameterApplyStatus: + output.ParameterApplyStatus !== undefined && output.ParameterApplyStatus !== null + ? output.ParameterApplyStatus + : undefined, + ParameterGroupName: + output.ParameterGroupName !== undefined && output.ParameterGroupName !== null + ? output.ParameterGroupName + : undefined, } as any; }; -const deserializeAws_restJson1AwsLambdaFunctionLayerList = ( +const deserializeAws_restJson1AwsRedshiftClusterClusterParameterGroups = ( output: any, context: __SerdeContext -): AwsLambdaFunctionLayer[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1AwsLambdaFunctionLayer(entry, context)); +): AwsRedshiftClusterClusterParameterGroup[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsRedshiftClusterClusterParameterGroup(entry, context) + ); }; -const deserializeAws_restJson1AwsLambdaFunctionTracingConfig = ( +const deserializeAws_restJson1AwsRedshiftClusterClusterParameterStatus = ( output: any, context: __SerdeContext -): AwsLambdaFunctionTracingConfig => { +): AwsRedshiftClusterClusterParameterStatus => { return { - Mode: output.Mode !== undefined && output.Mode !== null ? output.Mode : undefined, + ParameterApplyErrorDescription: + output.ParameterApplyErrorDescription !== undefined && output.ParameterApplyErrorDescription !== null + ? output.ParameterApplyErrorDescription + : undefined, + ParameterApplyStatus: + output.ParameterApplyStatus !== undefined && output.ParameterApplyStatus !== null + ? output.ParameterApplyStatus + : undefined, + ParameterName: + output.ParameterName !== undefined && output.ParameterName !== null ? output.ParameterName : undefined, } as any; }; -const deserializeAws_restJson1AwsLambdaFunctionVpcConfig = ( +const deserializeAws_restJson1AwsRedshiftClusterClusterParameterStatusList = ( output: any, context: __SerdeContext -): AwsLambdaFunctionVpcConfig => { +): AwsRedshiftClusterClusterParameterStatus[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsRedshiftClusterClusterParameterStatus(entry, context) + ); +}; + +const deserializeAws_restJson1AwsRedshiftClusterClusterSecurityGroup = ( + output: any, + context: __SerdeContext +): AwsRedshiftClusterClusterSecurityGroup => { return { - SecurityGroupIds: - output.SecurityGroupIds !== undefined && output.SecurityGroupIds !== null - ? deserializeAws_restJson1NonEmptyStringList(output.SecurityGroupIds, context) - : undefined, - SubnetIds: - output.SubnetIds !== undefined && output.SubnetIds !== null - ? deserializeAws_restJson1NonEmptyStringList(output.SubnetIds, context) + ClusterSecurityGroupName: + output.ClusterSecurityGroupName !== undefined && output.ClusterSecurityGroupName !== null + ? output.ClusterSecurityGroupName : undefined, - VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, } as any; }; -const deserializeAws_restJson1AwsLambdaLayerVersionDetails = ( +const deserializeAws_restJson1AwsRedshiftClusterClusterSecurityGroups = ( output: any, context: __SerdeContext -): AwsLambdaLayerVersionDetails => { +): AwsRedshiftClusterClusterSecurityGroup[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsRedshiftClusterClusterSecurityGroup(entry, context) + ); +}; + +const deserializeAws_restJson1AwsRedshiftClusterClusterSnapshotCopyStatus = ( + output: any, + context: __SerdeContext +): AwsRedshiftClusterClusterSnapshotCopyStatus => { return { - CompatibleRuntimes: - output.CompatibleRuntimes !== undefined && output.CompatibleRuntimes !== null - ? deserializeAws_restJson1NonEmptyStringList(output.CompatibleRuntimes, context) + DestinationRegion: + output.DestinationRegion !== undefined && output.DestinationRegion !== null + ? output.DestinationRegion + : undefined, + ManualSnapshotRetentionPeriod: + output.ManualSnapshotRetentionPeriod !== undefined && output.ManualSnapshotRetentionPeriod !== null + ? output.ManualSnapshotRetentionPeriod + : undefined, + RetentionPeriod: + output.RetentionPeriod !== undefined && output.RetentionPeriod !== null ? output.RetentionPeriod : undefined, + SnapshotCopyGrantName: + output.SnapshotCopyGrantName !== undefined && output.SnapshotCopyGrantName !== null + ? output.SnapshotCopyGrantName : undefined, - CreatedDate: output.CreatedDate !== undefined && output.CreatedDate !== null ? output.CreatedDate : undefined, - Version: output.Version !== undefined && output.Version !== null ? output.Version : undefined, } as any; }; -const deserializeAws_restJson1AwsRdsDbInstanceAssociatedRole = ( +const deserializeAws_restJson1AwsRedshiftClusterDeferredMaintenanceWindow = ( output: any, context: __SerdeContext -): AwsRdsDbInstanceAssociatedRole => { +): AwsRedshiftClusterDeferredMaintenanceWindow => { return { - FeatureName: output.FeatureName !== undefined && output.FeatureName !== null ? output.FeatureName : undefined, - RoleArn: output.RoleArn !== undefined && output.RoleArn !== null ? output.RoleArn : undefined, - Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + DeferMaintenanceEndTime: + output.DeferMaintenanceEndTime !== undefined && output.DeferMaintenanceEndTime !== null + ? output.DeferMaintenanceEndTime + : undefined, + DeferMaintenanceIdentifier: + output.DeferMaintenanceIdentifier !== undefined && output.DeferMaintenanceIdentifier !== null + ? output.DeferMaintenanceIdentifier + : undefined, + DeferMaintenanceStartTime: + output.DeferMaintenanceStartTime !== undefined && output.DeferMaintenanceStartTime !== null + ? output.DeferMaintenanceStartTime + : undefined, } as any; }; -const deserializeAws_restJson1AwsRdsDbInstanceAssociatedRoles = ( +const deserializeAws_restJson1AwsRedshiftClusterDeferredMaintenanceWindows = ( output: any, context: __SerdeContext -): AwsRdsDbInstanceAssociatedRole[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbInstanceAssociatedRole(entry, context)); +): AwsRedshiftClusterDeferredMaintenanceWindow[] => { + return (output || []).map((entry: any) => + deserializeAws_restJson1AwsRedshiftClusterDeferredMaintenanceWindow(entry, context) + ); }; -const deserializeAws_restJson1AwsRdsDbInstanceDetails = ( +const deserializeAws_restJson1AwsRedshiftClusterDetails = ( output: any, context: __SerdeContext -): AwsRdsDbInstanceDetails => { +): AwsRedshiftClusterDetails => { return { - AssociatedRoles: - output.AssociatedRoles !== undefined && output.AssociatedRoles !== null - ? deserializeAws_restJson1AwsRdsDbInstanceAssociatedRoles(output.AssociatedRoles, context) + AllowVersionUpgrade: + output.AllowVersionUpgrade !== undefined && output.AllowVersionUpgrade !== null + ? output.AllowVersionUpgrade : undefined, - CACertificateIdentifier: - output.CACertificateIdentifier !== undefined && output.CACertificateIdentifier !== null - ? output.CACertificateIdentifier + AutomatedSnapshotRetentionPeriod: + output.AutomatedSnapshotRetentionPeriod !== undefined && output.AutomatedSnapshotRetentionPeriod !== null + ? output.AutomatedSnapshotRetentionPeriod : undefined, - DBClusterIdentifier: - output.DBClusterIdentifier !== undefined && output.DBClusterIdentifier !== null - ? output.DBClusterIdentifier + AvailabilityZone: + output.AvailabilityZone !== undefined && output.AvailabilityZone !== null ? output.AvailabilityZone : undefined, + ClusterAvailabilityStatus: + output.ClusterAvailabilityStatus !== undefined && output.ClusterAvailabilityStatus !== null + ? output.ClusterAvailabilityStatus : undefined, - DBInstanceClass: - output.DBInstanceClass !== undefined && output.DBInstanceClass !== null ? output.DBInstanceClass : undefined, - DBInstanceIdentifier: - output.DBInstanceIdentifier !== undefined && output.DBInstanceIdentifier !== null - ? output.DBInstanceIdentifier + ClusterCreateTime: + output.ClusterCreateTime !== undefined && output.ClusterCreateTime !== null + ? output.ClusterCreateTime + : undefined, + ClusterIdentifier: + output.ClusterIdentifier !== undefined && output.ClusterIdentifier !== null + ? output.ClusterIdentifier + : undefined, + ClusterNodes: + output.ClusterNodes !== undefined && output.ClusterNodes !== null + ? deserializeAws_restJson1AwsRedshiftClusterClusterNodes(output.ClusterNodes, context) + : undefined, + ClusterParameterGroups: + output.ClusterParameterGroups !== undefined && output.ClusterParameterGroups !== null + ? deserializeAws_restJson1AwsRedshiftClusterClusterParameterGroups(output.ClusterParameterGroups, context) : undefined, + ClusterPublicKey: + output.ClusterPublicKey !== undefined && output.ClusterPublicKey !== null ? output.ClusterPublicKey : undefined, + ClusterRevisionNumber: + output.ClusterRevisionNumber !== undefined && output.ClusterRevisionNumber !== null + ? output.ClusterRevisionNumber + : undefined, + ClusterSecurityGroups: + output.ClusterSecurityGroups !== undefined && output.ClusterSecurityGroups !== null + ? deserializeAws_restJson1AwsRedshiftClusterClusterSecurityGroups(output.ClusterSecurityGroups, context) + : undefined, + ClusterSnapshotCopyStatus: + output.ClusterSnapshotCopyStatus !== undefined && output.ClusterSnapshotCopyStatus !== null + ? deserializeAws_restJson1AwsRedshiftClusterClusterSnapshotCopyStatus(output.ClusterSnapshotCopyStatus, context) + : undefined, + ClusterStatus: + output.ClusterStatus !== undefined && output.ClusterStatus !== null ? output.ClusterStatus : undefined, + ClusterSubnetGroupName: + output.ClusterSubnetGroupName !== undefined && output.ClusterSubnetGroupName !== null + ? output.ClusterSubnetGroupName + : undefined, + ClusterVersion: + output.ClusterVersion !== undefined && output.ClusterVersion !== null ? output.ClusterVersion : undefined, DBName: output.DBName !== undefined && output.DBName !== null ? output.DBName : undefined, - DbInstancePort: - output.DbInstancePort !== undefined && output.DbInstancePort !== null ? output.DbInstancePort : undefined, - DbiResourceId: - output.DbiResourceId !== undefined && output.DbiResourceId !== null ? output.DbiResourceId : undefined, - DeletionProtection: - output.DeletionProtection !== undefined && output.DeletionProtection !== null - ? output.DeletionProtection + DeferredMaintenanceWindows: + output.DeferredMaintenanceWindows !== undefined && output.DeferredMaintenanceWindows !== null + ? deserializeAws_restJson1AwsRedshiftClusterDeferredMaintenanceWindows( + output.DeferredMaintenanceWindows, + context + ) + : undefined, + ElasticIpStatus: + output.ElasticIpStatus !== undefined && output.ElasticIpStatus !== null + ? deserializeAws_restJson1AwsRedshiftClusterElasticIpStatus(output.ElasticIpStatus, context) : undefined, + ElasticResizeNumberOfNodeOptions: + output.ElasticResizeNumberOfNodeOptions !== undefined && output.ElasticResizeNumberOfNodeOptions !== null + ? output.ElasticResizeNumberOfNodeOptions + : undefined, + Encrypted: output.Encrypted !== undefined && output.Encrypted !== null ? output.Encrypted : undefined, Endpoint: output.Endpoint !== undefined && output.Endpoint !== null - ? deserializeAws_restJson1AwsRdsDbInstanceEndpoint(output.Endpoint, context) + ? deserializeAws_restJson1AwsRedshiftClusterEndpoint(output.Endpoint, context) : undefined, - Engine: output.Engine !== undefined && output.Engine !== null ? output.Engine : undefined, - EngineVersion: - output.EngineVersion !== undefined && output.EngineVersion !== null ? output.EngineVersion : undefined, - IAMDatabaseAuthenticationEnabled: - output.IAMDatabaseAuthenticationEnabled !== undefined && output.IAMDatabaseAuthenticationEnabled !== null - ? output.IAMDatabaseAuthenticationEnabled + EnhancedVpcRouting: + output.EnhancedVpcRouting !== undefined && output.EnhancedVpcRouting !== null + ? output.EnhancedVpcRouting : undefined, - InstanceCreateTime: - output.InstanceCreateTime !== undefined && output.InstanceCreateTime !== null - ? output.InstanceCreateTime + ExpectedNextSnapshotScheduleTime: + output.ExpectedNextSnapshotScheduleTime !== undefined && output.ExpectedNextSnapshotScheduleTime !== null + ? output.ExpectedNextSnapshotScheduleTime + : undefined, + ExpectedNextSnapshotScheduleTimeStatus: + output.ExpectedNextSnapshotScheduleTimeStatus !== undefined && + output.ExpectedNextSnapshotScheduleTimeStatus !== null + ? output.ExpectedNextSnapshotScheduleTimeStatus + : undefined, + HsmStatus: + output.HsmStatus !== undefined && output.HsmStatus !== null + ? deserializeAws_restJson1AwsRedshiftClusterHsmStatus(output.HsmStatus, context) + : undefined, + IamRoles: + output.IamRoles !== undefined && output.IamRoles !== null + ? deserializeAws_restJson1AwsRedshiftClusterIamRoles(output.IamRoles, context) : undefined, KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + MaintenanceTrackName: + output.MaintenanceTrackName !== undefined && output.MaintenanceTrackName !== null + ? output.MaintenanceTrackName + : undefined, + ManualSnapshotRetentionPeriod: + output.ManualSnapshotRetentionPeriod !== undefined && output.ManualSnapshotRetentionPeriod !== null + ? output.ManualSnapshotRetentionPeriod + : undefined, + MasterUsername: + output.MasterUsername !== undefined && output.MasterUsername !== null ? output.MasterUsername : undefined, + NextMaintenanceWindowStartTime: + output.NextMaintenanceWindowStartTime !== undefined && output.NextMaintenanceWindowStartTime !== null + ? output.NextMaintenanceWindowStartTime + : undefined, + NodeType: output.NodeType !== undefined && output.NodeType !== null ? output.NodeType : undefined, + NumberOfNodes: + output.NumberOfNodes !== undefined && output.NumberOfNodes !== null ? output.NumberOfNodes : undefined, + PendingActions: + output.PendingActions !== undefined && output.PendingActions !== null + ? deserializeAws_restJson1StringList(output.PendingActions, context) + : undefined, + PendingModifiedValues: + output.PendingModifiedValues !== undefined && output.PendingModifiedValues !== null + ? deserializeAws_restJson1AwsRedshiftClusterPendingModifiedValues(output.PendingModifiedValues, context) + : undefined, + PreferredMaintenanceWindow: + output.PreferredMaintenanceWindow !== undefined && output.PreferredMaintenanceWindow !== null + ? output.PreferredMaintenanceWindow + : undefined, PubliclyAccessible: output.PubliclyAccessible !== undefined && output.PubliclyAccessible !== null ? output.PubliclyAccessible : undefined, - StorageEncrypted: - output.StorageEncrypted !== undefined && output.StorageEncrypted !== null ? output.StorageEncrypted : undefined, - TdeCredentialArn: - output.TdeCredentialArn !== undefined && output.TdeCredentialArn !== null ? output.TdeCredentialArn : undefined, + ResizeInfo: + output.ResizeInfo !== undefined && output.ResizeInfo !== null + ? deserializeAws_restJson1AwsRedshiftClusterResizeInfo(output.ResizeInfo, context) + : undefined, + RestoreStatus: + output.RestoreStatus !== undefined && output.RestoreStatus !== null + ? deserializeAws_restJson1AwsRedshiftClusterRestoreStatus(output.RestoreStatus, context) + : undefined, + SnapshotScheduleIdentifier: + output.SnapshotScheduleIdentifier !== undefined && output.SnapshotScheduleIdentifier !== null + ? output.SnapshotScheduleIdentifier + : undefined, + SnapshotScheduleState: + output.SnapshotScheduleState !== undefined && output.SnapshotScheduleState !== null + ? output.SnapshotScheduleState + : undefined, + VpcId: output.VpcId !== undefined && output.VpcId !== null ? output.VpcId : undefined, VpcSecurityGroups: output.VpcSecurityGroups !== undefined && output.VpcSecurityGroups !== null - ? deserializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroups(output.VpcSecurityGroups, context) + ? deserializeAws_restJson1AwsRedshiftClusterVpcSecurityGroups(output.VpcSecurityGroups, context) : undefined, } as any; }; -const deserializeAws_restJson1AwsRdsDbInstanceEndpoint = ( +const deserializeAws_restJson1AwsRedshiftClusterElasticIpStatus = ( output: any, context: __SerdeContext -): AwsRdsDbInstanceEndpoint => { +): AwsRedshiftClusterElasticIpStatus => { + return { + ElasticIp: output.ElasticIp !== undefined && output.ElasticIp !== null ? output.ElasticIp : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsRedshiftClusterEndpoint = ( + output: any, + context: __SerdeContext +): AwsRedshiftClusterEndpoint => { return { Address: output.Address !== undefined && output.Address !== null ? output.Address : undefined, - HostedZoneId: output.HostedZoneId !== undefined && output.HostedZoneId !== null ? output.HostedZoneId : undefined, Port: output.Port !== undefined && output.Port !== null ? output.Port : undefined, } as any; }; -const deserializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroup = ( +const deserializeAws_restJson1AwsRedshiftClusterHsmStatus = ( output: any, context: __SerdeContext -): AwsRdsDbInstanceVpcSecurityGroup => { +): AwsRedshiftClusterHsmStatus => { + return { + HsmClientCertificateIdentifier: + output.HsmClientCertificateIdentifier !== undefined && output.HsmClientCertificateIdentifier !== null + ? output.HsmClientCertificateIdentifier + : undefined, + HsmConfigurationIdentifier: + output.HsmConfigurationIdentifier !== undefined && output.HsmConfigurationIdentifier !== null + ? output.HsmConfigurationIdentifier + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsRedshiftClusterIamRole = ( + output: any, + context: __SerdeContext +): AwsRedshiftClusterIamRole => { + return { + ApplyStatus: output.ApplyStatus !== undefined && output.ApplyStatus !== null ? output.ApplyStatus : undefined, + IamRoleArn: output.IamRoleArn !== undefined && output.IamRoleArn !== null ? output.IamRoleArn : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsRedshiftClusterIamRoles = ( + output: any, + context: __SerdeContext +): AwsRedshiftClusterIamRole[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRedshiftClusterIamRole(entry, context)); +}; + +const deserializeAws_restJson1AwsRedshiftClusterPendingModifiedValues = ( + output: any, + context: __SerdeContext +): AwsRedshiftClusterPendingModifiedValues => { + return { + AutomatedSnapshotRetentionPeriod: + output.AutomatedSnapshotRetentionPeriod !== undefined && output.AutomatedSnapshotRetentionPeriod !== null + ? output.AutomatedSnapshotRetentionPeriod + : undefined, + ClusterIdentifier: + output.ClusterIdentifier !== undefined && output.ClusterIdentifier !== null + ? output.ClusterIdentifier + : undefined, + ClusterType: output.ClusterType !== undefined && output.ClusterType !== null ? output.ClusterType : undefined, + ClusterVersion: + output.ClusterVersion !== undefined && output.ClusterVersion !== null ? output.ClusterVersion : undefined, + EncryptionType: + output.EncryptionType !== undefined && output.EncryptionType !== null ? output.EncryptionType : undefined, + EnhancedVpcRouting: + output.EnhancedVpcRouting !== undefined && output.EnhancedVpcRouting !== null + ? output.EnhancedVpcRouting + : undefined, + MaintenanceTrackName: + output.MaintenanceTrackName !== undefined && output.MaintenanceTrackName !== null + ? output.MaintenanceTrackName + : undefined, + MasterUserPassword: + output.MasterUserPassword !== undefined && output.MasterUserPassword !== null + ? output.MasterUserPassword + : undefined, + NodeType: output.NodeType !== undefined && output.NodeType !== null ? output.NodeType : undefined, + NumberOfNodes: + output.NumberOfNodes !== undefined && output.NumberOfNodes !== null ? output.NumberOfNodes : undefined, + PubliclyAccessible: + output.PubliclyAccessible !== undefined && output.PubliclyAccessible !== null + ? output.PubliclyAccessible + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsRedshiftClusterResizeInfo = ( + output: any, + context: __SerdeContext +): AwsRedshiftClusterResizeInfo => { + return { + AllowCancelResize: + output.AllowCancelResize !== undefined && output.AllowCancelResize !== null + ? output.AllowCancelResize + : undefined, + ResizeType: output.ResizeType !== undefined && output.ResizeType !== null ? output.ResizeType : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsRedshiftClusterRestoreStatus = ( + output: any, + context: __SerdeContext +): AwsRedshiftClusterRestoreStatus => { + return { + CurrentRestoreRateInMegaBytesPerSecond: + output.CurrentRestoreRateInMegaBytesPerSecond !== undefined && + output.CurrentRestoreRateInMegaBytesPerSecond !== null + ? output.CurrentRestoreRateInMegaBytesPerSecond + : undefined, + ElapsedTimeInSeconds: + output.ElapsedTimeInSeconds !== undefined && output.ElapsedTimeInSeconds !== null + ? output.ElapsedTimeInSeconds + : undefined, + EstimatedTimeToCompletionInSeconds: + output.EstimatedTimeToCompletionInSeconds !== undefined && output.EstimatedTimeToCompletionInSeconds !== null + ? output.EstimatedTimeToCompletionInSeconds + : undefined, + ProgressInMegaBytes: + output.ProgressInMegaBytes !== undefined && output.ProgressInMegaBytes !== null + ? output.ProgressInMegaBytes + : undefined, + SnapshotSizeInMegaBytes: + output.SnapshotSizeInMegaBytes !== undefined && output.SnapshotSizeInMegaBytes !== null + ? output.SnapshotSizeInMegaBytes + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsRedshiftClusterVpcSecurityGroup = ( + output: any, + context: __SerdeContext +): AwsRedshiftClusterVpcSecurityGroup => { return { Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, VpcSecurityGroupId: @@ -7891,11 +12854,11 @@ const deserializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroup = ( } as any; }; -const deserializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroups = ( +const deserializeAws_restJson1AwsRedshiftClusterVpcSecurityGroups = ( output: any, context: __SerdeContext -): AwsRdsDbInstanceVpcSecurityGroup[] => { - return (output || []).map((entry: any) => deserializeAws_restJson1AwsRdsDbInstanceVpcSecurityGroup(entry, context)); +): AwsRedshiftClusterVpcSecurityGroup[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1AwsRedshiftClusterVpcSecurityGroup(entry, context)); }; const deserializeAws_restJson1AwsS3BucketDetails = (output: any, context: __SerdeContext): AwsS3BucketDetails => { @@ -7974,6 +12937,44 @@ const deserializeAws_restJson1AwsS3ObjectDetails = (output: any, context: __Serd } as any; }; +const deserializeAws_restJson1AwsSecretsManagerSecretDetails = ( + output: any, + context: __SerdeContext +): AwsSecretsManagerSecretDetails => { + return { + Deleted: output.Deleted !== undefined && output.Deleted !== null ? output.Deleted : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + RotationEnabled: + output.RotationEnabled !== undefined && output.RotationEnabled !== null ? output.RotationEnabled : undefined, + RotationLambdaArn: + output.RotationLambdaArn !== undefined && output.RotationLambdaArn !== null + ? output.RotationLambdaArn + : undefined, + RotationOccurredWithinFrequency: + output.RotationOccurredWithinFrequency !== undefined && output.RotationOccurredWithinFrequency !== null + ? output.RotationOccurredWithinFrequency + : undefined, + RotationRules: + output.RotationRules !== undefined && output.RotationRules !== null + ? deserializeAws_restJson1AwsSecretsManagerSecretRotationRules(output.RotationRules, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1AwsSecretsManagerSecretRotationRules = ( + output: any, + context: __SerdeContext +): AwsSecretsManagerSecretRotationRules => { + return { + AutomaticallyAfterDays: + output.AutomaticallyAfterDays !== undefined && output.AutomaticallyAfterDays !== null + ? output.AutomaticallyAfterDays + : undefined, + } as any; +}; + const deserializeAws_restJson1AwsSecurityFinding = (output: any, context: __SerdeContext): AwsSecurityFinding => { return { AwsAccountId: output.AwsAccountId !== undefined && output.AwsAccountId !== null ? output.AwsAccountId : undefined, @@ -8007,6 +13008,10 @@ const deserializeAws_restJson1AwsSecurityFinding = (output: any, context: __Serd output.Note !== undefined && output.Note !== null ? deserializeAws_restJson1Note(output.Note, context) : undefined, + PatchSummary: + output.PatchSummary !== undefined && output.PatchSummary !== null + ? deserializeAws_restJson1PatchSummary(output.PatchSummary, context) + : undefined, Process: output.Process !== undefined && output.Process !== null ? deserializeAws_restJson1ProcessDetails(output.Process, context) @@ -8893,6 +13898,36 @@ const deserializeAws_restJson1NumberFilterList = (output: any, context: __SerdeC return (output || []).map((entry: any) => deserializeAws_restJson1NumberFilter(entry, context)); }; +const deserializeAws_restJson1PatchSummary = (output: any, context: __SerdeContext): PatchSummary => { + return { + FailedCount: output.FailedCount !== undefined && output.FailedCount !== null ? output.FailedCount : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + InstalledCount: + output.InstalledCount !== undefined && output.InstalledCount !== null ? output.InstalledCount : undefined, + InstalledOtherCount: + output.InstalledOtherCount !== undefined && output.InstalledOtherCount !== null + ? output.InstalledOtherCount + : undefined, + InstalledPendingReboot: + output.InstalledPendingReboot !== undefined && output.InstalledPendingReboot !== null + ? output.InstalledPendingReboot + : undefined, + InstalledRejectedCount: + output.InstalledRejectedCount !== undefined && output.InstalledRejectedCount !== null + ? output.InstalledRejectedCount + : undefined, + MissingCount: output.MissingCount !== undefined && output.MissingCount !== null ? output.MissingCount : undefined, + Operation: output.Operation !== undefined && output.Operation !== null ? output.Operation : undefined, + OperationEndTime: + output.OperationEndTime !== undefined && output.OperationEndTime !== null ? output.OperationEndTime : undefined, + OperationStartTime: + output.OperationStartTime !== undefined && output.OperationStartTime !== null + ? output.OperationStartTime + : undefined, + RebootOption: output.RebootOption !== undefined && output.RebootOption !== null ? output.RebootOption : undefined, + } as any; +}; + const deserializeAws_restJson1PortRange = (output: any, context: __SerdeContext): PortRange => { return { Begin: output.Begin !== undefined && output.Begin !== null ? output.Begin : undefined, @@ -8988,6 +14023,7 @@ const deserializeAws_restJson1Resource = (output: any, context: __SerdeContext): Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, Partition: output.Partition !== undefined && output.Partition !== null ? output.Partition : undefined, Region: output.Region !== undefined && output.Region !== null ? output.Region : undefined, + ResourceRole: output.ResourceRole !== undefined && output.ResourceRole !== null ? output.ResourceRole : undefined, Tags: output.Tags !== undefined && output.Tags !== null ? deserializeAws_restJson1FieldMap(output.Tags, context) @@ -8998,18 +14034,53 @@ const deserializeAws_restJson1Resource = (output: any, context: __SerdeContext): const deserializeAws_restJson1ResourceDetails = (output: any, context: __SerdeContext): ResourceDetails => { return { + AwsApiGatewayRestApi: + output.AwsApiGatewayRestApi !== undefined && output.AwsApiGatewayRestApi !== null + ? deserializeAws_restJson1AwsApiGatewayRestApiDetails(output.AwsApiGatewayRestApi, context) + : undefined, + AwsApiGatewayStage: + output.AwsApiGatewayStage !== undefined && output.AwsApiGatewayStage !== null + ? deserializeAws_restJson1AwsApiGatewayStageDetails(output.AwsApiGatewayStage, context) + : undefined, + AwsApiGatewayV2Api: + output.AwsApiGatewayV2Api !== undefined && output.AwsApiGatewayV2Api !== null + ? deserializeAws_restJson1AwsApiGatewayV2ApiDetails(output.AwsApiGatewayV2Api, context) + : undefined, + AwsApiGatewayV2Stage: + output.AwsApiGatewayV2Stage !== undefined && output.AwsApiGatewayV2Stage !== null + ? deserializeAws_restJson1AwsApiGatewayV2StageDetails(output.AwsApiGatewayV2Stage, context) + : undefined, AwsAutoScalingAutoScalingGroup: output.AwsAutoScalingAutoScalingGroup !== undefined && output.AwsAutoScalingAutoScalingGroup !== null ? deserializeAws_restJson1AwsAutoScalingAutoScalingGroupDetails(output.AwsAutoScalingAutoScalingGroup, context) : undefined, + AwsCertificateManagerCertificate: + output.AwsCertificateManagerCertificate !== undefined && output.AwsCertificateManagerCertificate !== null + ? deserializeAws_restJson1AwsCertificateManagerCertificateDetails( + output.AwsCertificateManagerCertificate, + context + ) + : undefined, AwsCloudFrontDistribution: output.AwsCloudFrontDistribution !== undefined && output.AwsCloudFrontDistribution !== null ? deserializeAws_restJson1AwsCloudFrontDistributionDetails(output.AwsCloudFrontDistribution, context) : undefined, + AwsCloudTrailTrail: + output.AwsCloudTrailTrail !== undefined && output.AwsCloudTrailTrail !== null + ? deserializeAws_restJson1AwsCloudTrailTrailDetails(output.AwsCloudTrailTrail, context) + : undefined, AwsCodeBuildProject: output.AwsCodeBuildProject !== undefined && output.AwsCodeBuildProject !== null ? deserializeAws_restJson1AwsCodeBuildProjectDetails(output.AwsCodeBuildProject, context) : undefined, + AwsDynamoDbTable: + output.AwsDynamoDbTable !== undefined && output.AwsDynamoDbTable !== null + ? deserializeAws_restJson1AwsDynamoDbTableDetails(output.AwsDynamoDbTable, context) + : undefined, + AwsEc2Eip: + output.AwsEc2Eip !== undefined && output.AwsEc2Eip !== null + ? deserializeAws_restJson1AwsEc2EipDetails(output.AwsEc2Eip, context) + : undefined, AwsEc2Instance: output.AwsEc2Instance !== undefined && output.AwsEc2Instance !== null ? deserializeAws_restJson1AwsEc2InstanceDetails(output.AwsEc2Instance, context) @@ -9034,6 +14105,10 @@ const deserializeAws_restJson1ResourceDetails = (output: any, context: __SerdeCo output.AwsElasticsearchDomain !== undefined && output.AwsElasticsearchDomain !== null ? deserializeAws_restJson1AwsElasticsearchDomainDetails(output.AwsElasticsearchDomain, context) : undefined, + AwsElbLoadBalancer: + output.AwsElbLoadBalancer !== undefined && output.AwsElbLoadBalancer !== null + ? deserializeAws_restJson1AwsElbLoadBalancerDetails(output.AwsElbLoadBalancer, context) + : undefined, AwsElbv2LoadBalancer: output.AwsElbv2LoadBalancer !== undefined && output.AwsElbv2LoadBalancer !== null ? deserializeAws_restJson1AwsElbv2LoadBalancerDetails(output.AwsElbv2LoadBalancer, context) @@ -9042,10 +14117,22 @@ const deserializeAws_restJson1ResourceDetails = (output: any, context: __SerdeCo output.AwsIamAccessKey !== undefined && output.AwsIamAccessKey !== null ? deserializeAws_restJson1AwsIamAccessKeyDetails(output.AwsIamAccessKey, context) : undefined, + AwsIamGroup: + output.AwsIamGroup !== undefined && output.AwsIamGroup !== null + ? deserializeAws_restJson1AwsIamGroupDetails(output.AwsIamGroup, context) + : undefined, + AwsIamPolicy: + output.AwsIamPolicy !== undefined && output.AwsIamPolicy !== null + ? deserializeAws_restJson1AwsIamPolicyDetails(output.AwsIamPolicy, context) + : undefined, AwsIamRole: output.AwsIamRole !== undefined && output.AwsIamRole !== null ? deserializeAws_restJson1AwsIamRoleDetails(output.AwsIamRole, context) : undefined, + AwsIamUser: + output.AwsIamUser !== undefined && output.AwsIamUser !== null + ? deserializeAws_restJson1AwsIamUserDetails(output.AwsIamUser, context) + : undefined, AwsKmsKey: output.AwsKmsKey !== undefined && output.AwsKmsKey !== null ? deserializeAws_restJson1AwsKmsKeyDetails(output.AwsKmsKey, context) @@ -9058,10 +14145,26 @@ const deserializeAws_restJson1ResourceDetails = (output: any, context: __SerdeCo output.AwsLambdaLayerVersion !== undefined && output.AwsLambdaLayerVersion !== null ? deserializeAws_restJson1AwsLambdaLayerVersionDetails(output.AwsLambdaLayerVersion, context) : undefined, + AwsRdsDbCluster: + output.AwsRdsDbCluster !== undefined && output.AwsRdsDbCluster !== null + ? deserializeAws_restJson1AwsRdsDbClusterDetails(output.AwsRdsDbCluster, context) + : undefined, + AwsRdsDbClusterSnapshot: + output.AwsRdsDbClusterSnapshot !== undefined && output.AwsRdsDbClusterSnapshot !== null + ? deserializeAws_restJson1AwsRdsDbClusterSnapshotDetails(output.AwsRdsDbClusterSnapshot, context) + : undefined, AwsRdsDbInstance: output.AwsRdsDbInstance !== undefined && output.AwsRdsDbInstance !== null ? deserializeAws_restJson1AwsRdsDbInstanceDetails(output.AwsRdsDbInstance, context) : undefined, + AwsRdsDbSnapshot: + output.AwsRdsDbSnapshot !== undefined && output.AwsRdsDbSnapshot !== null + ? deserializeAws_restJson1AwsRdsDbSnapshotDetails(output.AwsRdsDbSnapshot, context) + : undefined, + AwsRedshiftCluster: + output.AwsRedshiftCluster !== undefined && output.AwsRedshiftCluster !== null + ? deserializeAws_restJson1AwsRedshiftClusterDetails(output.AwsRedshiftCluster, context) + : undefined, AwsS3Bucket: output.AwsS3Bucket !== undefined && output.AwsS3Bucket !== null ? deserializeAws_restJson1AwsS3BucketDetails(output.AwsS3Bucket, context) @@ -9070,6 +14173,10 @@ const deserializeAws_restJson1ResourceDetails = (output: any, context: __SerdeCo output.AwsS3Object !== undefined && output.AwsS3Object !== null ? deserializeAws_restJson1AwsS3ObjectDetails(output.AwsS3Object, context) : undefined, + AwsSecretsManagerSecret: + output.AwsSecretsManagerSecret !== undefined && output.AwsSecretsManagerSecret !== null + ? deserializeAws_restJson1AwsSecretsManagerSecretDetails(output.AwsSecretsManagerSecret, context) + : undefined, AwsSnsTopic: output.AwsSnsTopic !== undefined && output.AwsSnsTopic !== null ? deserializeAws_restJson1AwsSnsTopicDetails(output.AwsSnsTopic, context) diff --git a/clients/client-serverlessapplicationrepository/index.ts b/clients/client-serverlessapplicationrepository/index.ts index a77261fbdf29..3ad13ab53240 100644 --- a/clients/client-serverlessapplicationrepository/index.ts +++ b/clients/client-serverlessapplicationrepository/index.ts @@ -9,9 +9,13 @@ export * from "./commands/GetApplicationCommand"; export * from "./commands/GetApplicationPolicyCommand"; export * from "./commands/GetCloudFormationTemplateCommand"; export * from "./commands/ListApplicationDependenciesCommand"; +export * from "./pagination/ListApplicationDependenciesPaginator"; export * from "./commands/ListApplicationsCommand"; +export * from "./pagination/ListApplicationsPaginator"; export * from "./commands/ListApplicationVersionsCommand"; +export * from "./pagination/ListApplicationVersionsPaginator"; export * from "./commands/PutApplicationPolicyCommand"; export * from "./commands/UnshareApplicationCommand"; export * from "./commands/UpdateApplicationCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-serverlessapplicationrepository/models/models_0.ts b/clients/client-serverlessapplicationrepository/models/models_0.ts index 769ffff67284..4f87c59954e3 100644 --- a/clients/client-serverlessapplicationrepository/models/models_0.ts +++ b/clients/client-serverlessapplicationrepository/models/models_0.ts @@ -32,15 +32,15 @@ export interface ApplicationPolicyStatement { PrincipalOrgIDs?: string[]; /** - *

                                            For the list of actions supported for this operation, see Application - * Permissions.

                                            + *

                                            An array of AWS account IDs, or * to make the application public.

                                            */ - Actions: string[] | undefined; + Principals: string[] | undefined; /** - *

                                            An array of AWS account IDs, or * to make the application public.

                                            + *

                                            For the list of actions supported for this operation, see Application + * Permissions.

                                            */ - Principals: string[] | undefined; + Actions: string[] | undefined; /** *

                                            A unique ID for the statement.

                                            @@ -59,14 +59,9 @@ export namespace ApplicationPolicyStatement { */ export interface ApplicationSummary { /** - *

                                            The application Amazon Resource Name (ARN).

                                            - */ - ApplicationId: string | undefined; - - /** - *

                                            A valid identifier from https://spdx.org/licenses/.

                                            + *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            */ - SpdxLicenseId?: string; + Author: string | undefined; /** *

                                            A URL with more information about the application, for example the location of your GitHub repository for the application.

                                            @@ -79,14 +74,19 @@ export interface ApplicationSummary { Labels?: string[]; /** - *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            + *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            */ - Author: string | undefined; + Description: string | undefined; /** - *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            + *

                                            A valid identifier from https://spdx.org/licenses/.

                                            */ - Description: string | undefined; + SpdxLicenseId?: string; + + /** + *

                                            The application Amazon Resource Name (ARN).

                                            + */ + ApplicationId: string | undefined; /** *

                                            The date and time this resource was created.

                                            @@ -117,20 +117,14 @@ export enum Capability { */ export interface ParameterDefinition { /** - *

                                            An integer value that determines the smallest number of characters that you want to allow for String types.

                                            - */ - MinLength?: number; - - /** - *

                                            The name of the parameter.

                                            + *

                                            An array containing the list of values allowed for the parameter.

                                            */ - Name: string | undefined; + AllowedValues?: string[]; /** - *

                                            A value of the appropriate type for the template to use if no value is specified when a stack is created. - * If you define constraints for the parameter, you must specify a value that adheres to those constraints.

                                            + *

                                            An integer value that determines the largest number of characters that you want to allow for String types.

                                            */ - DefaultValue?: string; + MaxLength?: number; /** *

                                            A numeric value that determines the largest numeric value that you want to allow for Number types.

                                            @@ -138,36 +132,20 @@ export interface ParameterDefinition { MaxValue?: number; /** - *

                                            A regular expression that represents the patterns to allow for String types.

                                            - */ - AllowedPattern?: string; - - /** - *

                                            An integer value that determines the largest number of characters that you want to allow for String types.

                                            - */ - MaxLength?: number; - - /** - *

                                            A string that explains a constraint when the constraint is violated. For example, without a constraint description, - * a parameter that has an allowed pattern of [A-Za-z0-9]+ displays the following error message when the user - * specifies an invalid value:

                                            - * Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+ - *

                                            By adding a constraint description, such as "must contain only uppercase and lowercase letters and numbers," you can display - * the following customized error message:

                                            - * Malformed input-Parameter MyParameter must contain only uppercase and lowercase letters and numbers. - *

                                            + *

                                            A string of up to 4,000 characters that describes the parameter.

                                            */ - ConstraintDescription?: string; + Description?: string; /** - *

                                            A numeric value that determines the smallest numeric value that you want to allow for Number types.

                                            + *

                                            A list of AWS SAM resources that use this parameter.

                                            */ - MinValue?: number; + ReferencedByResources: string[] | undefined; /** - *

                                            An array containing the list of values allowed for the parameter.

                                            + *

                                            Whether to mask the parameter value whenever anyone makes a call that describes the stack. If you set the + * value to true, the parameter value is masked with asterisks (*****).

                                            */ - AllowedValues?: string[]; + NoEcho?: boolean; /** *

                                            The type of the parameter.

                                            Valid values: String | Number | List<Number> | CommaDelimitedList @@ -183,20 +161,42 @@ export interface ParameterDefinition { Type?: string; /** - *

                                            A string of up to 4,000 characters that describes the parameter.

                                            + *

                                            A value of the appropriate type for the template to use if no value is specified when a stack is created. + * If you define constraints for the parameter, you must specify a value that adheres to those constraints.

                                            */ - Description?: string; + DefaultValue?: string; /** - *

                                            A list of AWS SAM resources that use this parameter.

                                            + *

                                            A regular expression that represents the patterns to allow for String types.

                                            */ - ReferencedByResources: string[] | undefined; + AllowedPattern?: string; /** - *

                                            Whether to mask the parameter value whenever anyone makes a call that describes the stack. If you set the - * value to true, the parameter value is masked with asterisks (*****).

                                            + *

                                            A string that explains a constraint when the constraint is violated. For example, without a constraint description, + * a parameter that has an allowed pattern of [A-Za-z0-9]+ displays the following error message when the user + * specifies an invalid value:

                                            + * Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+ + *

                                            By adding a constraint description, such as "must contain only uppercase and lowercase letters and numbers," you can display + * the following customized error message:

                                            + * Malformed input-Parameter MyParameter must contain only uppercase and lowercase letters and numbers. + *

                                            */ - NoEcho?: boolean; + ConstraintDescription?: string; + + /** + *

                                            A numeric value that determines the smallest numeric value that you want to allow for Number types.

                                            + */ + MinValue?: number; + + /** + *

                                            An integer value that determines the smallest number of characters that you want to allow for String types.

                                            + */ + MinLength?: number; + + /** + *

                                            The name of the parameter.

                                            + */ + Name: string | undefined; } export namespace ParameterDefinition { @@ -236,13 +236,13 @@ export interface RollbackTrigger { *

                                            This property corresponds to the content of the same name for the AWS CloudFormation RollbackTrigger * Data Type.

                                            */ - Arn: string | undefined; + Type: string | undefined; /** *

                                            This property corresponds to the content of the same name for the AWS CloudFormation RollbackTrigger * Data Type.

                                            */ - Type: string | undefined; + Arn: string | undefined; } export namespace RollbackTrigger { @@ -256,12 +256,6 @@ export namespace RollbackTrigger { * Data Type.

                                            */ export interface Tag { - /** - *

                                            This property corresponds to the content of the same name for the AWS CloudFormation Tag - * Data Type.

                                            - */ - Key: string | undefined; - /** *

                                            This property corresponds to the content of the same name for the AWS CloudFormation * Tag @@ -269,6 +263,12 @@ export interface Tag { * Data Type.

                                            */ Value: string | undefined; + + /** + *

                                            This property corresponds to the content of the same name for the AWS CloudFormation Tag + * Data Type.

                                            + */ + Key: string | undefined; } export namespace Tag { @@ -358,84 +358,84 @@ export namespace ConflictException { export interface CreateApplicationRequest { /** - *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            + *

                                            The semantic version of the application:

                                            + * https://semver.org/ + *

                                            */ - Description: string | undefined; + SemanticVersion?: string; /** - *

                                            A valid identifier from https://spdx.org/licenses/.

                                            + *

                                            A local text file that contains the license of the app that matches the spdxLicenseID value of your application. + * The file has the format file://<path>/<filename>.

                                            Maximum size 5 MB

                                            You can specify only one of licenseBody and licenseUrl; otherwise, an error results.

                                            */ - SpdxLicenseId?: string; + LicenseBody?: string; /** - *

                                            The local raw packaged AWS SAM template file of your application. - * The file has the format file://<path>/<filename>.

                                            You can specify only one of templateBody and templateUrl; otherwise an error results.

                                            + *

                                            A link to the S3 object in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            You can specify only one of readmeBody and readmeUrl; otherwise, an error results.

                                            */ - TemplateBody?: string; + ReadmeUrl?: string; /** - *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            + *

                                            A link to the S3 object that contains the license of the app that matches the spdxLicenseID value of your application.

                                            Maximum size 5 MB

                                            You can specify only one of licenseBody and licenseUrl; otherwise, an error results.

                                            */ - Author: string | undefined; + LicenseUrl?: string; /** - *

                                            A link to the S3 object containing the packaged AWS SAM template of your application.

                                            You can specify only one of templateBody and templateUrl; otherwise an error results.

                                            + *

                                            A local text readme file in Markdown language that contains a more detailed description of the application and how it works. + * The file has the format file://<path>/<filename>.

                                            Maximum size 5 MB

                                            You can specify only one of readmeBody and readmeUrl; otherwise, an error results.

                                            */ - TemplateUrl?: string; + ReadmeBody?: string; /** - *

                                            A URL with more information about the application, for example the location of your GitHub repository for the application.

                                            + *

                                            A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

                                            */ - HomePageUrl?: string; + SourceCodeUrl?: string; /** - *

                                            A link to the S3 object in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            You can specify only one of readmeBody and readmeUrl; otherwise, an error results.

                                            + *

                                            A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

                                            Maximum size 50 MB

                                            */ - ReadmeUrl?: string; + SourceCodeArchiveUrl?: string; /** - *

                                            A link to the S3 object that contains the license of the app that matches the spdxLicenseID value of your application.

                                            Maximum size 5 MB

                                            You can specify only one of licenseBody and licenseUrl; otherwise, an error results.

                                            + *

                                            The local raw packaged AWS SAM template file of your application. + * The file has the format file://<path>/<filename>.

                                            You can specify only one of templateBody and templateUrl; otherwise an error results.

                                            */ - LicenseUrl?: string; + TemplateBody?: string; /** - *

                                            Labels to improve discovery of apps in search results.

                                            Minimum length=1. Maximum length=127. Maximum number of labels: 10

                                            Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";

                                            + *

                                            The name of the application that you want to publish.

                                            Minimum length=1. Maximum length=140

                                            Pattern: "[a-zA-Z0-9\\-]+";

                                            */ - Labels?: string[]; + Name: string | undefined; /** - *

                                            The semantic version of the application:

                                            - * https://semver.org/ - *

                                            + *

                                            Labels to improve discovery of apps in search results.

                                            Minimum length=1. Maximum length=127. Maximum number of labels: 10

                                            Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";

                                            */ - SemanticVersion?: string; + Labels?: string[]; /** - *

                                            The name of the application that you want to publish.

                                            Minimum length=1. Maximum length=140

                                            Pattern: "[a-zA-Z0-9\\-]+";

                                            + *

                                            A valid identifier from https://spdx.org/licenses/.

                                            */ - Name: string | undefined; + SpdxLicenseId?: string; /** - *

                                            A local text file that contains the license of the app that matches the spdxLicenseID value of your application. - * The file has the format file://<path>/<filename>.

                                            Maximum size 5 MB

                                            You can specify only one of licenseBody and licenseUrl; otherwise, an error results.

                                            + *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            */ - LicenseBody?: string; + Description: string | undefined; /** - *

                                            A local text readme file in Markdown language that contains a more detailed description of the application and how it works. - * The file has the format file://<path>/<filename>.

                                            Maximum size 5 MB

                                            You can specify only one of readmeBody and readmeUrl; otherwise, an error results.

                                            + *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            */ - ReadmeBody?: string; + Author: string | undefined; /** - *

                                            A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

                                            + *

                                            A link to the S3 object containing the packaged AWS SAM template of your application.

                                            You can specify only one of templateBody and templateUrl; otherwise an error results.

                                            */ - SourceCodeUrl?: string; + TemplateUrl?: string; /** - *

                                            A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

                                            Maximum size 50 MB

                                            + *

                                            A URL with more information about the application, for example the location of your GitHub repository for the application.

                                            */ - SourceCodeArchiveUrl?: string; + HomePageUrl?: string; } export namespace CreateApplicationRequest { @@ -448,6 +448,33 @@ export namespace CreateApplicationRequest { *

                                            Application version details.

                                            */ export interface Version { + /** + *

                                            An array of parameter types supported by the application.

                                            + */ + ParameterDefinitions: ParameterDefinition[] | undefined; + + /** + *

                                            The date and time this resource was created.

                                            + */ + CreationTime: string | undefined; + + /** + *

                                            The semantic version of the application:

                                            + * https://semver.org/ + *

                                            + */ + SemanticVersion: string | undefined; + + /** + *

                                            The application Amazon Resource Name (ARN).

                                            + */ + ApplicationId: string | undefined; + + /** + *

                                            A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

                                            + */ + SourceCodeUrl?: string; + /** *

                                            A list of values that you must specify before you can deploy certain applications. * Some applications might include resources that can affect permissions in your AWS @@ -475,33 +502,6 @@ export interface Version { */ RequiredCapabilities: (Capability | string)[] | undefined; - /** - *

                                            The semantic version of the application:

                                            - * https://semver.org/ - *

                                            - */ - SemanticVersion: string | undefined; - - /** - *

                                            The application Amazon Resource Name (ARN).

                                            - */ - ApplicationId: string | undefined; - - /** - *

                                            An array of parameter types supported by the application.

                                            - */ - ParameterDefinitions: ParameterDefinition[] | undefined; - - /** - *

                                            A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

                                            - */ - SourceCodeUrl?: string; - - /** - *

                                            The date and time this resource was created.

                                            - */ - CreationTime: string | undefined; - /** *

                                            A link to the packaged AWS SAM template of your application.

                                            */ @@ -527,9 +527,9 @@ export namespace Version { export interface CreateApplicationResponse { /** - *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            + *

                                            The application Amazon Resource Name (ARN).

                                            */ - Description?: string; + ApplicationId?: string; /** *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            @@ -537,19 +537,19 @@ export interface CreateApplicationResponse { Author?: string; /** - *

                                            The application Amazon Resource Name (ARN).

                                            + *

                                            The date and time this resource was created.

                                            */ - ApplicationId?: string; + CreationTime?: string; /** - *

                                            The date and time this resource was created.

                                            + *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            */ - CreationTime?: string; + Description?: string; /** - *

                                            Version information about the application.

                                            + *

                                            A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            */ - Version?: Version; + ReadmeUrl?: string; /** *

                                            A link to a license file of the app that matches the spdxLicenseID value of your application.

                                            Maximum size 5 MB

                                            @@ -557,19 +557,19 @@ export interface CreateApplicationResponse { LicenseUrl?: string; /** - *

                                            A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            + *

                                            A URL with more information about the application, for example the location of your GitHub repository for the application.

                                            */ - ReadmeUrl?: string; + HomePageUrl?: string; /** - *

                                            The URL to the public profile of a verified author. This URL is submitted by the author.

                                            + *

                                            Labels to improve discovery of apps in search results.

                                            Minimum length=1. Maximum length=127. Maximum number of labels: 10

                                            Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";

                                            */ - VerifiedAuthorUrl?: string; + Labels?: string[]; /** - *

                                            Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.

                                            + *

                                            A valid identifier from https://spdx.org/licenses/.

                                            */ - IsVerifiedAuthor?: boolean; + SpdxLicenseId?: string; /** *

                                            The name of the application.

                                            Minimum length=1. Maximum length=140

                                            Pattern: "[a-zA-Z0-9\\-]+";

                                            @@ -577,19 +577,19 @@ export interface CreateApplicationResponse { Name?: string; /** - *

                                            A URL with more information about the application, for example the location of your GitHub repository for the application.

                                            + *

                                            Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.

                                            */ - HomePageUrl?: string; + IsVerifiedAuthor?: boolean; /** - *

                                            Labels to improve discovery of apps in search results.

                                            Minimum length=1. Maximum length=127. Maximum number of labels: 10

                                            Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";

                                            + *

                                            The URL to the public profile of a verified author. This URL is submitted by the author.

                                            */ - Labels?: string[]; + VerifiedAuthorUrl?: string; /** - *

                                            A valid identifier from https://spdx.org/licenses/.

                                            + *

                                            Version information about the application.

                                            */ - SpdxLicenseId?: string; + Version?: Version; } export namespace CreateApplicationResponse { @@ -669,20 +669,15 @@ export namespace TooManyRequestsException { export interface CreateApplicationVersionRequest { /** - *

                                            The semantic version of the new version.

                                            + *

                                            A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

                                            Maximum size 50 MB

                                            */ - SemanticVersion: string | undefined; + SourceCodeArchiveUrl?: string; /** *

                                            A link to the packaged AWS SAM template of your application.

                                            */ TemplateUrl?: string; - /** - *

                                            A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

                                            Maximum size 50 MB

                                            - */ - SourceCodeArchiveUrl?: string; - /** *

                                            A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

                                            */ @@ -693,6 +688,11 @@ export interface CreateApplicationVersionRequest { */ ApplicationId: string | undefined; + /** + *

                                            The semantic version of the new version.

                                            + */ + SemanticVersion: string | undefined; + /** *

                                            The raw packaged AWS SAM template of your application.

                                            */ @@ -707,14 +707,16 @@ export namespace CreateApplicationVersionRequest { export interface CreateApplicationVersionResponse { /** - *

                                            A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

                                            Maximum size 50 MB

                                            + *

                                            The semantic version of the application:

                                            + * https://semver.org/ + *

                                            */ - SourceCodeArchiveUrl?: string; + SemanticVersion?: string; /** - *

                                            A link to the packaged AWS SAM template of your application.

                                            + *

                                            The date and time this resource was created.

                                            */ - TemplateUrl?: string; + CreationTime?: string; /** *

                                            An array of parameter types supported by the application.

                                            @@ -727,16 +729,14 @@ export interface CreateApplicationVersionResponse { SourceCodeUrl?: string; /** - *

                                            The semantic version of the application:

                                            - * https://semver.org/ - *

                                            + *

                                            A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

                                            Maximum size 50 MB

                                            */ - SemanticVersion?: string; + SourceCodeArchiveUrl?: string; /** - *

                                            The date and time this resource was created.

                                            + *

                                            A link to the packaged AWS SAM template of your application.

                                            */ - CreationTime?: string; + TemplateUrl?: string; /** *

                                            Whether all of the AWS resources contained in this application are supported in the region @@ -809,9 +809,22 @@ export namespace RollbackConfiguration { export interface CreateCloudFormationChangeSetRequest { /** - *

                                            The UUID returned by CreateCloudFormationTemplate.

                                            Pattern: [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

                                            + *

                                            This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet + * API.

                                            */ - TemplateId?: string; + ResourceTypes?: string[]; + + /** + *

                                            This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet + * API.

                                            + */ + StackName: string | undefined; + + /** + *

                                            This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet + * API.

                                            + */ + ClientToken?: string; /** *

                                            This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet @@ -823,7 +836,7 @@ export interface CreateCloudFormationChangeSetRequest { *

                                            This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet * API.

                                            */ - StackName: string | undefined; + NotificationArns?: string[]; /** *

                                            This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet @@ -838,10 +851,26 @@ export interface CreateCloudFormationChangeSetRequest { RollbackConfiguration?: RollbackConfiguration; /** - *

                                            This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet - * API.

                                            + *

                                            The semantic version of the application:

                                            + * https://semver.org/ + *

                                            */ - ResourceTypes?: string[]; + SemanticVersion?: string; + + /** + *

                                            The Amazon Resource Name (ARN) of the application.

                                            + */ + ApplicationId: string | undefined; + + /** + *

                                            The UUID returned by CreateCloudFormationTemplate.

                                            Pattern: [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

                                            + */ + TemplateId?: string; + + /** + *

                                            A list of parameter values for the parameters of the application.

                                            + */ + ParameterOverrides?: ParameterValue[]; /** *

                                            A list of values that you must specify before you can deploy certain applications. @@ -861,49 +890,20 @@ export interface CreateCloudFormationChangeSetRequest { * AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, - * AWS::S3::BucketPolicy, - * AWS::SQS::QueuePolicy, and - * AWS::SNS:TopicPolicy.

                                            Applications that contain one or more nested applications require you to specify - * CAPABILITY_AUTO_EXPAND.

                                            If your application template contains any of the above resources, we recommend that you review - * all permissions associated with the application before deploying. If you don't specify - * this parameter for an application that requires capabilities, the call will fail.

                                            - */ - Capabilities?: string[]; - - /** - *

                                            A list of parameter values for the parameters of the application.

                                            - */ - ParameterOverrides?: ParameterValue[]; - - /** - *

                                            This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet - * API.

                                            - */ - Description?: string; - - /** - *

                                            The semantic version of the application:

                                            - * https://semver.org/ - *

                                            - */ - SemanticVersion?: string; - - /** - *

                                            This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet - * API.

                                            - */ - ClientToken?: string; - - /** - *

                                            The Amazon Resource Name (ARN) of the application.

                                            + * AWS::S3::BucketPolicy, + * AWS::SQS::QueuePolicy, and + * AWS::SNS:TopicPolicy.

                                            Applications that contain one or more nested applications require you to specify + * CAPABILITY_AUTO_EXPAND.

                                            If your application template contains any of the above resources, we recommend that you review + * all permissions associated with the application before deploying. If you don't specify + * this parameter for an application that requires capabilities, the call will fail.

                                            */ - ApplicationId: string | undefined; + Capabilities?: string[]; /** *

                                            This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet * API.

                                            */ - NotificationArns?: string[]; + Description?: string; } export namespace CreateCloudFormationChangeSetRequest { @@ -923,17 +923,17 @@ export interface CreateCloudFormationChangeSetResponse { */ ApplicationId?: string; - /** - *

                                            The unique ID of the stack.

                                            - */ - StackId?: string; - /** *

                                            The semantic version of the application:

                                            * https://semver.org/ *

                                            */ SemanticVersion?: string; + + /** + *

                                            The unique ID of the stack.

                                            + */ + StackId?: string; } export namespace CreateCloudFormationChangeSetResponse { @@ -970,16 +970,16 @@ export enum Status { export interface CreateCloudFormationTemplateResponse { /** - *

                                            The date and time this template expires. Templates - * expire 1 hour after creation.

                                            + *

                                            The semantic version of the application:

                                            + * https://semver.org/ + *

                                            */ - ExpirationTime?: string; + SemanticVersion?: string; /** - *

                                            Status of the template creation workflow.

                                            Possible values: PREPARING | ACTIVE | EXPIRED - *

                                            + *

                                            The date and time this resource was created.

                                            */ - Status?: Status | string; + CreationTime?: string; /** *

                                            The UUID returned by CreateCloudFormationTemplate.

                                            Pattern: [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

                                            @@ -987,21 +987,21 @@ export interface CreateCloudFormationTemplateResponse { TemplateId?: string; /** - *

                                            The date and time this resource was created.

                                            + *

                                            The application Amazon Resource Name (ARN).

                                            */ - CreationTime?: string; + ApplicationId?: string; /** - *

                                            The application Amazon Resource Name (ARN).

                                            + *

                                            The date and time this template expires. Templates + * expire 1 hour after creation.

                                            */ - ApplicationId?: string; + ExpirationTime?: string; /** - *

                                            The semantic version of the application:

                                            - * https://semver.org/ + *

                                            Status of the template creation workflow.

                                            Possible values: PREPARING | ACTIVE | EXPIRED *

                                            */ - SemanticVersion?: string; + Status?: Status | string; /** *

                                            A link to the template that can be used to deploy the application using @@ -1054,14 +1054,14 @@ export namespace DeleteApplicationRequest { export interface GetApplicationRequest { /** - *

                                            The semantic version of the application to get.

                                            + *

                                            The Amazon Resource Name (ARN) of the application.

                                            */ - SemanticVersion?: string; + ApplicationId: string | undefined; /** - *

                                            The Amazon Resource Name (ARN) of the application.

                                            + *

                                            The semantic version of the application to get.

                                            */ - ApplicationId: string | undefined; + SemanticVersion?: string; } export namespace GetApplicationRequest { @@ -1072,24 +1072,24 @@ export namespace GetApplicationRequest { export interface GetApplicationResponse { /** - *

                                            The URL to the public profile of a verified author. This URL is submitted by the author.

                                            + *

                                            A URL with more information about the application, for example the location of your GitHub repository for the application.

                                            */ - VerifiedAuthorUrl?: string; + HomePageUrl?: string; /** - *

                                            A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            + *

                                            Labels to improve discovery of apps in search results.

                                            Minimum length=1. Maximum length=127. Maximum number of labels: 10

                                            Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";

                                            */ - ReadmeUrl?: string; + Labels?: string[]; /** - *

                                            The application Amazon Resource Name (ARN).

                                            + *

                                            A link to a license file of the app that matches the spdxLicenseID value of your application.

                                            Maximum size 5 MB

                                            */ - ApplicationId?: string; + LicenseUrl?: string; /** - *

                                            A link to a license file of the app that matches the spdxLicenseID value of your application.

                                            Maximum size 5 MB

                                            + *

                                            The name of the application.

                                            Minimum length=1. Maximum length=140

                                            Pattern: "[a-zA-Z0-9\\-]+";

                                            */ - LicenseUrl?: string; + Name?: string; /** *

                                            Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.

                                            @@ -1097,44 +1097,44 @@ export interface GetApplicationResponse { IsVerifiedAuthor?: boolean; /** - *

                                            The date and time this resource was created.

                                            + *

                                            A valid identifier from https://spdx.org/licenses/.

                                            */ - CreationTime?: string; + SpdxLicenseId?: string; /** - *

                                            Version information about the application.

                                            + *

                                            A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            */ - Version?: Version; + ReadmeUrl?: string; /** - *

                                            A valid identifier from https://spdx.org/licenses/.

                                            + *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            */ - SpdxLicenseId?: string; + Description?: string; /** - *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            + *

                                            The date and time this resource was created.

                                            */ - Description?: string; + CreationTime?: string; /** - *

                                            The name of the application.

                                            Minimum length=1. Maximum length=140

                                            Pattern: "[a-zA-Z0-9\\-]+";

                                            + *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            */ - Name?: string; + Author?: string; /** - *

                                            Labels to improve discovery of apps in search results.

                                            Minimum length=1. Maximum length=127. Maximum number of labels: 10

                                            Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";

                                            + *

                                            The application Amazon Resource Name (ARN).

                                            */ - Labels?: string[]; + ApplicationId?: string; /** - *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            + *

                                            The URL to the public profile of a verified author. This URL is submitted by the author.

                                            */ - Author?: string; + VerifiedAuthorUrl?: string; /** - *

                                            A URL with more information about the application, for example the location of your GitHub repository for the application.

                                            + *

                                            Version information about the application.

                                            */ - HomePageUrl?: string; + Version?: Version; } export namespace GetApplicationResponse { @@ -1189,21 +1189,23 @@ export namespace GetCloudFormationTemplateRequest { export interface GetCloudFormationTemplateResponse { /** - *

                                            The semantic version of the application:

                                            - * https://semver.org/ - *

                                            + *

                                            A link to the template that can be used to deploy the application using + * AWS CloudFormation.

                                            */ - SemanticVersion?: string; + TemplateUrl?: string; /** - *

                                            The date and time this resource was created.

                                            + *

                                            Status of the template creation workflow.

                                            Possible values: PREPARING | ACTIVE | EXPIRED + *

                                            */ - CreationTime?: string; + Status?: Status | string; /** - *

                                            The UUID returned by CreateCloudFormationTemplate.

                                            Pattern: [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

                                            + *

                                            The semantic version of the application:

                                            + * https://semver.org/ + *

                                            */ - TemplateId?: string; + SemanticVersion?: string; /** *

                                            The application Amazon Resource Name (ARN).

                                            @@ -1211,16 +1213,14 @@ export interface GetCloudFormationTemplateResponse { ApplicationId?: string; /** - *

                                            Status of the template creation workflow.

                                            Possible values: PREPARING | ACTIVE | EXPIRED - *

                                            + *

                                            The date and time this resource was created.

                                            */ - Status?: Status | string; + CreationTime?: string; /** - *

                                            A link to the template that can be used to deploy the application using - * AWS CloudFormation.

                                            + *

                                            The UUID returned by CreateCloudFormationTemplate.

                                            Pattern: [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

                                            */ - TemplateUrl?: string; + TemplateId?: string; /** *

                                            The date and time this template expires. Templates @@ -1237,24 +1237,24 @@ export namespace GetCloudFormationTemplateResponse { export interface ListApplicationDependenciesRequest { /** - *

                                            The total number of items to return.

                                            + *

                                            A token to specify where to start paginating.

                                            */ - MaxItems?: number; + NextToken?: string; /** - *

                                            The Amazon Resource Name (ARN) of the application.

                                            + *

                                            The semantic version of the application to get.

                                            */ - ApplicationId: string | undefined; + SemanticVersion?: string; /** - *

                                            A token to specify where to start paginating.

                                            + *

                                            The Amazon Resource Name (ARN) of the application.

                                            */ - NextToken?: string; + ApplicationId: string | undefined; /** - *

                                            The semantic version of the application to get.

                                            + *

                                            The total number of items to return.

                                            */ - SemanticVersion?: string; + MaxItems?: number; } export namespace ListApplicationDependenciesRequest { @@ -1301,14 +1301,14 @@ export namespace ListApplicationsRequest { export interface ListApplicationsResponse { /** - *

                                            An array of application summaries.

                                            + *

                                            The token to request the next page of results.

                                            */ - Applications?: ApplicationSummary[]; + NextToken?: string; /** - *

                                            The token to request the next page of results.

                                            + *

                                            An array of application summaries.

                                            */ - NextToken?: string; + Applications?: ApplicationSummary[]; } export namespace ListApplicationsResponse { @@ -1342,14 +1342,14 @@ export namespace ListApplicationVersionsRequest { export interface ListApplicationVersionsResponse { /** - *

                                            The token to request the next page of results.

                                            + *

                                            An array of version summaries for the application.

                                            */ - NextToken?: string; + Versions?: VersionSummary[]; /** - *

                                            An array of version summaries for the application.

                                            + *

                                            The token to request the next page of results.

                                            */ - Versions?: VersionSummary[]; + NextToken?: string; } export namespace ListApplicationVersionsResponse { @@ -1360,14 +1360,14 @@ export namespace ListApplicationVersionsResponse { export interface PutApplicationPolicyRequest { /** - *

                                            An array of policy statements applied to the application.

                                            + *

                                            The Amazon Resource Name (ARN) of the application.

                                            */ - Statements: ApplicationPolicyStatement[] | undefined; + ApplicationId: string | undefined; /** - *

                                            The Amazon Resource Name (ARN) of the application.

                                            + *

                                            An array of policy statements applied to the application.

                                            */ - ApplicationId: string | undefined; + Statements: ApplicationPolicyStatement[] | undefined; } export namespace PutApplicationPolicyRequest { @@ -1391,14 +1391,14 @@ export namespace PutApplicationPolicyResponse { export interface UnshareApplicationRequest { /** - *

                                            The AWS Organization ID to unshare the application from.

                                            + *

                                            The Amazon Resource Name (ARN) of the application.

                                            */ - OrganizationId: string | undefined; + ApplicationId: string | undefined; /** - *

                                            The Amazon Resource Name (ARN) of the application.

                                            + *

                                            The AWS Organization ID to unshare the application from.

                                            */ - ApplicationId: string | undefined; + OrganizationId: string | undefined; } export namespace UnshareApplicationRequest { @@ -1409,24 +1409,29 @@ export namespace UnshareApplicationRequest { export interface UpdateApplicationRequest { /** - *

                                            The Amazon Resource Name (ARN) of the application.

                                            + *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            */ - ApplicationId: string | undefined; + Description?: string; /** - *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            + *

                                            A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            */ - Author?: string; + ReadmeUrl?: string; /** - *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            + *

                                            Labels to improve discovery of apps in search results.

                                            Minimum length=1. Maximum length=127. Maximum number of labels: 10

                                            Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";

                                            */ - Description?: string; + Labels?: string[]; /** - *

                                            A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            + *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            */ - ReadmeUrl?: string; + Author?: string; + + /** + *

                                            The Amazon Resource Name (ARN) of the application.

                                            + */ + ApplicationId: string | undefined; /** *

                                            A text readme file in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            @@ -1437,11 +1442,6 @@ export interface UpdateApplicationRequest { *

                                            A URL with more information about the application, for example the location of your GitHub repository for the application.

                                            */ HomePageUrl?: string; - - /** - *

                                            Labels to improve discovery of apps in search results.

                                            Minimum length=1. Maximum length=127. Maximum number of labels: 10

                                            Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";

                                            - */ - Labels?: string[]; } export namespace UpdateApplicationRequest { @@ -1452,69 +1452,69 @@ export namespace UpdateApplicationRequest { export interface UpdateApplicationResponse { /** - *

                                            The date and time this resource was created.

                                            + *

                                            A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            */ - CreationTime?: string; + ReadmeUrl?: string; /** - *

                                            The application Amazon Resource Name (ARN).

                                            + *

                                            A link to a license file of the app that matches the spdxLicenseID value of your application.

                                            Maximum size 5 MB

                                            */ - ApplicationId?: string; + LicenseUrl?: string; /** - *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            + *

                                            Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.

                                            */ - Author?: string; + IsVerifiedAuthor?: boolean; /** - *

                                            The URL to the public profile of a verified author. This URL is submitted by the author.

                                            + *

                                            The name of the application.

                                            Minimum length=1. Maximum length=140

                                            Pattern: "[a-zA-Z0-9\\-]+";

                                            */ - VerifiedAuthorUrl?: string; + Name?: string; /** - *

                                            Version information about the application.

                                            + *

                                            A valid identifier from https://spdx.org/licenses/.

                                            */ - Version?: Version; + SpdxLicenseId?: string; /** - *

                                            The name of the application.

                                            Minimum length=1. Maximum length=140

                                            Pattern: "[a-zA-Z0-9\\-]+";

                                            + *

                                            Labels to improve discovery of apps in search results.

                                            Minimum length=1. Maximum length=127. Maximum number of labels: 10

                                            Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";

                                            */ - Name?: string; + Labels?: string[]; /** - *

                                            A link to a license file of the app that matches the spdxLicenseID value of your application.

                                            Maximum size 5 MB

                                            + *

                                            A URL with more information about the application, for example the location of your GitHub repository for the application.

                                            */ - LicenseUrl?: string; + HomePageUrl?: string; /** - *

                                            Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.

                                            + *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            */ - IsVerifiedAuthor?: boolean; + Description?: string; /** - *

                                            A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

                                            Maximum size 5 MB

                                            + *

                                            The name of the author publishing the app.

                                            Minimum length=1. Maximum length=127.

                                            Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

                                            */ - ReadmeUrl?: string; + Author?: string; /** - *

                                            The description of the application.

                                            Minimum length=1. Maximum length=256

                                            + *

                                            The date and time this resource was created.

                                            */ - Description?: string; + CreationTime?: string; /** - *

                                            A valid identifier from https://spdx.org/licenses/.

                                            + *

                                            The application Amazon Resource Name (ARN).

                                            */ - SpdxLicenseId?: string; + ApplicationId?: string; /** - *

                                            A URL with more information about the application, for example the location of your GitHub repository for the application.

                                            + *

                                            Version information about the application.

                                            */ - HomePageUrl?: string; + Version?: Version; /** - *

                                            Labels to improve discovery of apps in search results.

                                            Minimum length=1. Maximum length=127. Maximum number of labels: 10

                                            Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";

                                            + *

                                            The URL to the public profile of a verified author. This URL is submitted by the author.

                                            */ - Labels?: string[]; + VerifiedAuthorUrl?: string; } export namespace UpdateApplicationResponse { diff --git a/clients/client-serverlessapplicationrepository/pagination/Interfaces.ts b/clients/client-serverlessapplicationrepository/pagination/Interfaces.ts new file mode 100644 index 000000000000..bcb9ca683cf4 --- /dev/null +++ b/clients/client-serverlessapplicationrepository/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { ServerlessApplicationRepository } from "../ServerlessApplicationRepository"; +import { ServerlessApplicationRepositoryClient } from "../ServerlessApplicationRepositoryClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface ServerlessApplicationRepositoryPaginationConfiguration extends PaginationConfiguration { + client: ServerlessApplicationRepository | ServerlessApplicationRepositoryClient; +} diff --git a/clients/client-serverlessapplicationrepository/pagination/ListApplicationDependenciesPaginator.ts b/clients/client-serverlessapplicationrepository/pagination/ListApplicationDependenciesPaginator.ts new file mode 100644 index 000000000000..f05f090a7b4c --- /dev/null +++ b/clients/client-serverlessapplicationrepository/pagination/ListApplicationDependenciesPaginator.ts @@ -0,0 +1,53 @@ +import { ServerlessApplicationRepository } from "../ServerlessApplicationRepository"; +import { ServerlessApplicationRepositoryClient } from "../ServerlessApplicationRepositoryClient"; +import { + ListApplicationDependenciesCommand, + ListApplicationDependenciesCommandInput, + ListApplicationDependenciesCommandOutput, +} from "../commands/ListApplicationDependenciesCommand"; +import { ServerlessApplicationRepositoryPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ServerlessApplicationRepositoryClient, + input: ListApplicationDependenciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListApplicationDependenciesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: ServerlessApplicationRepository, + input: ListApplicationDependenciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listApplicationDependencies(input, ...args); +}; +export async function* listApplicationDependenciesPaginate( + config: ServerlessApplicationRepositoryPaginationConfiguration, + input: ListApplicationDependenciesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListApplicationDependenciesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxItems"] = config.pageSize; + if (config.client instanceof ServerlessApplicationRepository) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ServerlessApplicationRepositoryClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error( + "Invalid client, expected ServerlessApplicationRepository | ServerlessApplicationRepositoryClient" + ); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-serverlessapplicationrepository/pagination/ListApplicationVersionsPaginator.ts b/clients/client-serverlessapplicationrepository/pagination/ListApplicationVersionsPaginator.ts new file mode 100644 index 000000000000..01a6e02a7479 --- /dev/null +++ b/clients/client-serverlessapplicationrepository/pagination/ListApplicationVersionsPaginator.ts @@ -0,0 +1,53 @@ +import { ServerlessApplicationRepository } from "../ServerlessApplicationRepository"; +import { ServerlessApplicationRepositoryClient } from "../ServerlessApplicationRepositoryClient"; +import { + ListApplicationVersionsCommand, + ListApplicationVersionsCommandInput, + ListApplicationVersionsCommandOutput, +} from "../commands/ListApplicationVersionsCommand"; +import { ServerlessApplicationRepositoryPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ServerlessApplicationRepositoryClient, + input: ListApplicationVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListApplicationVersionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: ServerlessApplicationRepository, + input: ListApplicationVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listApplicationVersions(input, ...args); +}; +export async function* listApplicationVersionsPaginate( + config: ServerlessApplicationRepositoryPaginationConfiguration, + input: ListApplicationVersionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListApplicationVersionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxItems"] = config.pageSize; + if (config.client instanceof ServerlessApplicationRepository) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ServerlessApplicationRepositoryClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error( + "Invalid client, expected ServerlessApplicationRepository | ServerlessApplicationRepositoryClient" + ); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-serverlessapplicationrepository/pagination/ListApplicationsPaginator.ts b/clients/client-serverlessapplicationrepository/pagination/ListApplicationsPaginator.ts new file mode 100644 index 000000000000..68adfc71498b --- /dev/null +++ b/clients/client-serverlessapplicationrepository/pagination/ListApplicationsPaginator.ts @@ -0,0 +1,53 @@ +import { ServerlessApplicationRepository } from "../ServerlessApplicationRepository"; +import { ServerlessApplicationRepositoryClient } from "../ServerlessApplicationRepositoryClient"; +import { + ListApplicationsCommand, + ListApplicationsCommandInput, + ListApplicationsCommandOutput, +} from "../commands/ListApplicationsCommand"; +import { ServerlessApplicationRepositoryPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ServerlessApplicationRepositoryClient, + input: ListApplicationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListApplicationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: ServerlessApplicationRepository, + input: ListApplicationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listApplications(input, ...args); +}; +export async function* listApplicationsPaginate( + config: ServerlessApplicationRepositoryPaginationConfiguration, + input: ListApplicationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListApplicationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxItems"] = config.pageSize; + if (config.client instanceof ServerlessApplicationRepository) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ServerlessApplicationRepositoryClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error( + "Invalid client, expected ServerlessApplicationRepository | ServerlessApplicationRepositoryClient" + ); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-serverlessapplicationrepository/protocols/Aws_restJson1.ts b/clients/client-serverlessapplicationrepository/protocols/Aws_restJson1.ts index 047497b961f1..26c3f8108482 100644 --- a/clients/client-serverlessapplicationrepository/protocols/Aws_restJson1.ts +++ b/clients/client-serverlessapplicationrepository/protocols/Aws_restJson1.ts @@ -113,15 +113,6 @@ export const serializeAws_restJson1CreateApplicationVersionCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/applications/{ApplicationId}/versions/{SemanticVersion}"; - if (input.SemanticVersion !== undefined) { - const labelValue: string = input.SemanticVersion; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SemanticVersion."); - } - resolvedPath = resolvedPath.replace("{SemanticVersion}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: SemanticVersion."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -131,6 +122,15 @@ export const serializeAws_restJson1CreateApplicationVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.SemanticVersion !== undefined) { + const labelValue: string = input.SemanticVersion; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SemanticVersion."); + } + resolvedPath = resolvedPath.replace("{SemanticVersion}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SemanticVersion."); + } let body: any; body = JSON.stringify({ ...(input.SourceCodeArchiveUrl !== undefined && { sourceCodeArchiveUrl: input.SourceCodeArchiveUrl }), @@ -388,9 +388,9 @@ export const serializeAws_restJson1ListApplicationDependenciesCommand = async ( throw new Error("No value provided for input HTTP label: ApplicationId."); } const query: any = { - ...(input.MaxItems !== undefined && { maxItems: input.MaxItems.toString() }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.SemanticVersion !== undefined && { semanticVersion: input.SemanticVersion }), + ...(input.MaxItems !== undefined && { maxItems: input.MaxItems.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-service-catalog/ServiceCatalog.ts b/clients/client-service-catalog/ServiceCatalog.ts index 03b8ada2596a..4411fadfb490 100644 --- a/clients/client-service-catalog/ServiceCatalog.ts +++ b/clients/client-service-catalog/ServiceCatalog.ts @@ -245,6 +245,11 @@ import { GetAWSOrganizationsAccessStatusCommandInput, GetAWSOrganizationsAccessStatusCommandOutput, } from "./commands/GetAWSOrganizationsAccessStatusCommand"; +import { + GetProvisionedProductOutputsCommand, + GetProvisionedProductOutputsCommandInput, + GetProvisionedProductOutputsCommandOutput, +} from "./commands/GetProvisionedProductOutputsCommand"; import { ListAcceptedPortfolioSharesCommand, ListAcceptedPortfolioSharesCommandInput, @@ -417,7 +422,8 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

                                            * AWS Service Catalog enables * organizations to create and manage catalogs of IT services that are approved for use on - * AWS. To get the most out of this documentation, you should be familiar with the + * AWS. To get the most out of this + * documentation, you should be familiar with the * terminology discussed in AWS Service Catalog Concepts.

                                            */ export class ServiceCatalog extends ServiceCatalogClient { @@ -781,8 +787,10 @@ export class ServiceCatalog extends ServiceCatalogClient { } /** - *

                                            Shares the specified portfolio with the specified account or organization node. Shares to an organization node can only be created by the master account of an organization or by a delegated - * administrator. You can share portfolios to an organization, an organizational unit, or a specific account.

                                            + *

                                            Shares the specified portfolio with the specified account or organization node. + * Shares to an organization node can only be created by the management account of an + * organization or by a delegated administrator. You can share portfolios to an organization, + * an organizational unit, or a specific account.

                                            *

                                            Note that if a delegated admin is de-registered, they can no longer create portfolio shares.

                                            *

                                            * AWSOrganizationsAccess must be enabled in order to create a portfolio share to an organization node.

                                            @@ -1054,8 +1062,9 @@ export class ServiceCatalog extends ServiceCatalogClient { } /** - *

                                            Stops sharing the specified portfolio with the specified account or organization node. Shares to an organization node can only be deleted by the master account of an organization or by a - * delegated administrator.

                                            + *

                                            Stops sharing the specified portfolio with the specified account or organization + * node. Shares to an organization node can only be deleted by the management account of an + * organization or by a delegated administrator.

                                            *

                                            Note that if a delegated admin is de-registered, portfolio shares created from that account are removed.

                                            */ public deletePortfolioShare( @@ -1351,7 +1360,8 @@ export class ServiceCatalog extends ServiceCatalogClient { } /** - *

                                            Gets the status of the specified portfolio share operation. This API can only be called by the master account in the organization or by a delegated admin.

                                            + *

                                            Gets the status of the specified portfolio share operation. This API can only be called + * by the management account in the organization or by a delegated admin.

                                            */ public describePortfolioShareStatus( args: DescribePortfolioShareStatusCommandInput, @@ -1752,8 +1762,11 @@ export class ServiceCatalog extends ServiceCatalogClient { } /** - *

                                            Disable portfolio sharing through AWS Organizations feature. This feature will not delete your current shares but it will prevent you from creating new shares throughout your organization. - * Current shares will not be in sync with your organization structure if it changes after calling this API. This API can only be called by the master account in the organization.

                                            + *

                                            Disable portfolio sharing through AWS Organizations feature. This feature will not + * delete your current shares but it will prevent you from creating new shares throughout your + * organization. Current shares will not be in sync with your organization structure if it + * changes after calling this API. This API can only be called by the management account in + * the organization.

                                            *

                                            This API can't be invoked if there are active delegated administrators in the organization.

                                            *

                                            Note that a delegated administrator is not authorized to invoke DisableAWSOrganizationsAccess.

                                            */ @@ -1951,7 +1964,10 @@ export class ServiceCatalog extends ServiceCatalogClient { } /** - *

                                            Enable portfolio sharing feature through AWS Organizations. This API will allow Service Catalog to receive updates on your organization in order to sync your shares with the current structure. This API can only be called by the master account in the organization.

                                            + *

                                            Enable portfolio sharing feature through AWS Organizations. This API will allow Service + * Catalog to receive updates on your organization in order to sync your shares with the + * current structure. This API can only be called by the management account in the + * organization.

                                            *

                                            By calling this API Service Catalog will make a call to organizations:EnableAWSServiceAccess on your behalf so that your shares can be in sync with any changes in your AWS Organizations structure.

                                            *

                                            Note that a delegated administrator is not authorized to invoke EnableAWSOrganizationsAccess.

                                            */ @@ -2051,7 +2067,8 @@ export class ServiceCatalog extends ServiceCatalogClient { } /** - *

                                            Get the Access Status for AWS Organization portfolio share feature. This API can only be called by the master account in the organization or by a delegated admin.

                                            + *

                                            Get the Access Status for AWS Organization portfolio share feature. This API can only be + * called by the management account in the organization or by a delegated admin.

                                            */ public getAWSOrganizationsAccessStatus( args: GetAWSOrganizationsAccessStatusCommandInput, @@ -2082,6 +2099,38 @@ export class ServiceCatalog extends ServiceCatalogClient { } } + /** + *

                                            This API takes either a ProvisonedProductId or a ProvisionedProductName, along with a list of one or more output keys, and responds with the key/value pairs of those outputs.

                                            + */ + public getProvisionedProductOutputs( + args: GetProvisionedProductOutputsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getProvisionedProductOutputs( + args: GetProvisionedProductOutputsCommandInput, + cb: (err: any, data?: GetProvisionedProductOutputsCommandOutput) => void + ): void; + public getProvisionedProductOutputs( + args: GetProvisionedProductOutputsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetProvisionedProductOutputsCommandOutput) => void + ): void; + public getProvisionedProductOutputs( + args: GetProvisionedProductOutputsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetProvisionedProductOutputsCommandOutput) => void), + cb?: (err: any, data?: GetProvisionedProductOutputsCommandOutput) => void + ): Promise | void { + const command = new GetProvisionedProductOutputsCommand(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 portfolios for which sharing was accepted by this account.

                                            */ @@ -2213,7 +2262,9 @@ export class ServiceCatalog extends ServiceCatalogClient { } /** - *

                                            Lists the organization nodes that have access to the specified portfolio. This API can only be called by the master account in the organization or by a delegated admin.

                                            + *

                                            Lists the organization nodes that have access to the specified portfolio. This API can + * only be called by the management account in the organization or by a delegated + * admin.

                                            *

                                            If a delegated admin is de-registered, they can no longer perform this operation.

                                            */ public listOrganizationPortfolioAccess( diff --git a/clients/client-service-catalog/ServiceCatalogClient.ts b/clients/client-service-catalog/ServiceCatalogClient.ts index 0a46f2895bd6..181f3ebc2a7f 100644 --- a/clients/client-service-catalog/ServiceCatalogClient.ts +++ b/clients/client-service-catalog/ServiceCatalogClient.ts @@ -156,6 +156,10 @@ import { GetAWSOrganizationsAccessStatusCommandInput, GetAWSOrganizationsAccessStatusCommandOutput, } from "./commands/GetAWSOrganizationsAccessStatusCommand"; +import { + GetProvisionedProductOutputsCommandInput, + GetProvisionedProductOutputsCommandOutput, +} from "./commands/GetProvisionedProductOutputsCommand"; import { ListAcceptedPortfolioSharesCommandInput, ListAcceptedPortfolioSharesCommandOutput, @@ -355,6 +359,7 @@ export type ServiceInputTypes = | ExecuteProvisionedProductPlanCommandInput | ExecuteProvisionedProductServiceActionCommandInput | GetAWSOrganizationsAccessStatusCommandInput + | GetProvisionedProductOutputsCommandInput | ListAcceptedPortfolioSharesCommandInput | ListBudgetsForResourceCommandInput | ListConstraintsForPortfolioCommandInput @@ -440,6 +445,7 @@ export type ServiceOutputTypes = | ExecuteProvisionedProductPlanCommandOutput | ExecuteProvisionedProductServiceActionCommandOutput | GetAWSOrganizationsAccessStatusCommandOutput + | GetProvisionedProductOutputsCommandOutput | ListAcceptedPortfolioSharesCommandOutput | ListBudgetsForResourceCommandOutput | ListConstraintsForPortfolioCommandOutput @@ -591,7 +597,8 @@ export type ServiceCatalogClientResolvedConfig = __SmithyResolvedConfiguration<_ *

                                            * AWS Service Catalog enables * organizations to create and manage catalogs of IT services that are approved for use on - * AWS. To get the most out of this documentation, you should be familiar with the + * AWS. To get the most out of this + * documentation, you should be familiar with the * terminology discussed in AWS Service Catalog Concepts.

                                            */ export class ServiceCatalogClient extends __Client< diff --git a/clients/client-service-catalog/commands/GetProvisionedProductOutputsCommand.ts b/clients/client-service-catalog/commands/GetProvisionedProductOutputsCommand.ts new file mode 100644 index 000000000000..83e9c6e4ba7a --- /dev/null +++ b/clients/client-service-catalog/commands/GetProvisionedProductOutputsCommand.ts @@ -0,0 +1,73 @@ +import { ServiceCatalogClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ServiceCatalogClient"; +import { GetProvisionedProductOutputsInput, GetProvisionedProductOutputsOutput } from "../models/models_0"; +import { + deserializeAws_json1_1GetProvisionedProductOutputsCommand, + serializeAws_json1_1GetProvisionedProductOutputsCommand, +} 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 GetProvisionedProductOutputsCommandInput = GetProvisionedProductOutputsInput; +export type GetProvisionedProductOutputsCommandOutput = GetProvisionedProductOutputsOutput & __MetadataBearer; + +export class GetProvisionedProductOutputsCommand extends $Command< + GetProvisionedProductOutputsCommandInput, + GetProvisionedProductOutputsCommandOutput, + ServiceCatalogClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetProvisionedProductOutputsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ServiceCatalogClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetProvisionedProductOutputsInput.filterSensitiveLog, + outputFilterSensitiveLog: GetProvisionedProductOutputsOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetProvisionedProductOutputsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetProvisionedProductOutputsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1GetProvisionedProductOutputsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-service-catalog/index.ts b/clients/client-service-catalog/index.ts index 492b0925a3ed..13ee95610e01 100644 --- a/clients/client-service-catalog/index.ts +++ b/clients/client-service-catalog/index.ts @@ -50,6 +50,8 @@ export * from "./commands/EnableAWSOrganizationsAccessCommand"; export * from "./commands/ExecuteProvisionedProductPlanCommand"; export * from "./commands/ExecuteProvisionedProductServiceActionCommand"; export * from "./commands/GetAWSOrganizationsAccessStatusCommand"; +export * from "./commands/GetProvisionedProductOutputsCommand"; +export * from "./pagination/GetProvisionedProductOutputsPaginator"; export * from "./commands/ListAcceptedPortfolioSharesCommand"; export * from "./pagination/ListAcceptedPortfolioSharesPaginator"; export * from "./commands/ListBudgetsForResourceCommand"; diff --git a/clients/client-service-catalog/models/models_0.ts b/clients/client-service-catalog/models/models_0.ts index b95bb872d808..68a20bc2b24c 100644 --- a/clients/client-service-catalog/models/models_0.ts +++ b/clients/client-service-catalog/models/models_0.ts @@ -32,7 +32,8 @@ export interface AcceptPortfolioShareInput { *
                                              *
                                            • *

                                              - * AWS_ORGANIZATIONS - Accept portfolios shared by the master account of your organization.

                                              + * AWS_ORGANIZATIONS - Accept portfolios shared by the management account of your + * organization.

                                              *
                                            • *
                                            • *

                                              @@ -167,14 +168,14 @@ export enum AccessStatus { */ export interface Tag { /** - *

                                              The value for this key.

                                              + *

                                              The tag key.

                                              */ - Value: string | undefined; + Key: string | undefined; /** - *

                                              The tag key.

                                              + *

                                              The value for this key.

                                              */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -230,14 +231,14 @@ export enum PrincipalType { export interface AssociatePrincipalWithPortfolioInput { /** - *

                                              The principal type. The supported value is IAM.

                                              + *

                                              The ARN of the principal (IAM user, role, or group).

                                              */ - PrincipalType: PrincipalType | string | undefined; + PrincipalARN: string | undefined; /** - *

                                              The ARN of the principal (IAM user, role, or group).

                                              + *

                                              The principal type. The supported value is IAM.

                                              */ - PrincipalARN: string | undefined; + PrincipalType: PrincipalType | string | undefined; /** *

                                              The language code.

                                              @@ -280,15 +281,20 @@ export namespace AssociatePrincipalWithPortfolioOutput { export interface AssociateProductWithPortfolioInput { /** - *

                                              The identifier of the source portfolio.

                                              + *

                                              The product identifier.

                                              */ - SourcePortfolioId?: string; + ProductId: string | undefined; /** *

                                              The portfolio identifier.

                                              */ PortfolioId: string | undefined; + /** + *

                                              The identifier of the source portfolio.

                                              + */ + SourcePortfolioId?: string; + /** *

                                              The language code.

                                              *
                                                @@ -307,11 +313,6 @@ export interface AssociateProductWithPortfolioInput { *
                                              */ AcceptLanguage?: string; - - /** - *

                                              The product identifier.

                                              - */ - ProductId: string | undefined; } export namespace AssociateProductWithPortfolioInput { @@ -329,6 +330,11 @@ export namespace AssociateProductWithPortfolioOutput { } export interface AssociateServiceActionWithProvisioningArtifactInput { + /** + *

                                              The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

                                              + */ + ProvisioningArtifactId: string | undefined; + /** *

                                              The language code.

                                              *
                                                @@ -348,20 +354,15 @@ export interface AssociateServiceActionWithProvisioningArtifactInput { */ AcceptLanguage?: string; - /** - *

                                                The product identifier. For example, prod-abcdzk7xy33qa.

                                                - */ - ProductId: string | undefined; - /** *

                                                The self-service action identifier. For example, act-fs7abcd89wxyz.

                                                */ ServiceActionId: string | undefined; /** - *

                                                The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

                                                + *

                                                The product identifier. For example, prod-abcdzk7xy33qa.

                                                */ - ProvisioningArtifactId: string | undefined; + ProductId: string | undefined; } export namespace AssociateServiceActionWithProvisioningArtifactInput { @@ -380,14 +381,14 @@ export namespace AssociateServiceActionWithProvisioningArtifactOutput { export interface AssociateTagOptionWithResourceInput { /** - *

                                                The TagOption identifier.

                                                + *

                                                The resource identifier.

                                                */ - TagOptionId: string | undefined; + ResourceId: string | undefined; /** - *

                                                The resource identifier.

                                                + *

                                                The TagOption identifier.

                                                */ - ResourceId: string | undefined; + TagOptionId: string | undefined; } export namespace AssociateTagOptionWithResourceInput { @@ -441,6 +442,11 @@ export namespace TagOptionNotMigratedException { *

                                                A self-service action association consisting of the Action ID, the Product ID, and the Provisioning Artifact ID.

                                                */ export interface ServiceActionAssociation { + /** + *

                                                The product identifier. For example, prod-abcdzk7xy33qa.

                                                + */ + ProductId: string | undefined; + /** *

                                                The self-service action identifier. For example, act-fs7abcd89wxyz.

                                                */ @@ -450,11 +456,6 @@ export interface ServiceActionAssociation { *

                                                The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

                                                */ ProvisioningArtifactId: string | undefined; - - /** - *

                                                The product identifier. For example, prod-abcdzk7xy33qa.

                                                - */ - ProductId: string | undefined; } export namespace ServiceActionAssociation { @@ -507,6 +508,11 @@ export enum ServiceActionAssociationErrorCode { *

                                                An object containing information about the error, along with identifying information about the self-service action and its associations.

                                                */ export interface FailedServiceActionAssociation { + /** + *

                                                A text description of the error.

                                                + */ + ErrorMessage?: string; + /** *

                                                The self-service action identifier. For example, act-fs7abcd89wxyz.

                                                */ @@ -518,19 +524,14 @@ export interface FailedServiceActionAssociation { ProductId?: string; /** - *

                                                A text description of the error.

                                                + *

                                                The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

                                                */ - ErrorMessage?: string; + ProvisioningArtifactId?: string; /** *

                                                The error code. Valid values are listed below.

                                                */ ErrorCode?: ServiceActionAssociationErrorCode | string; - - /** - *

                                                The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

                                                - */ - ProvisioningArtifactId?: string; } export namespace FailedServiceActionAssociation { @@ -553,6 +554,11 @@ export namespace BatchAssociateServiceActionWithProvisioningArtifactOutput { } export interface BatchDisassociateServiceActionFromProvisioningArtifactInput { + /** + *

                                                One or more associations, each consisting of the Action ID, the Product ID, and the Provisioning Artifact ID.

                                                + */ + ServiceActionAssociations: ServiceActionAssociation[] | undefined; + /** *

                                                The language code.

                                                *
                                                  @@ -571,11 +577,6 @@ export interface BatchDisassociateServiceActionFromProvisioningArtifactInput { *
                                                */ AcceptLanguage?: string; - - /** - *

                                                One or more associations, each consisting of the Action ID, the Product ID, and the Provisioning Artifact ID.

                                                - */ - ServiceActionAssociations: ServiceActionAssociation[] | undefined; } export namespace BatchDisassociateServiceActionFromProvisioningArtifactInput { @@ -606,22 +607,11 @@ export enum ProvisioningArtifactPropertyName { } export interface CopyProductInput { - /** - *

                                                The Amazon Resource Name (ARN) of the source product.

                                                - */ - SourceProductArn: string | undefined; - /** *

                                                A name for the target product. The default is the name of the source product.

                                                */ TargetProductName?: string; - /** - *

                                                The identifiers of the provisioning artifacts (also known as versions) of the product to copy. - * By default, all provisioning artifacts are copied.

                                                - */ - SourceProvisioningArtifactIdentifiers?: { [key: string]: string }[]; - /** *

                                                The language code.

                                                *
                                                  @@ -641,6 +631,17 @@ export interface CopyProductInput { */ AcceptLanguage?: string; + /** + *

                                                  The Amazon Resource Name (ARN) of the source product.

                                                  + */ + SourceProductArn: string | undefined; + + /** + *

                                                  The identifiers of the provisioning artifacts (also known as versions) of the product to copy. + * By default, all provisioning artifacts are copied.

                                                  + */ + SourceProvisioningArtifactIdentifiers?: { [key: string]: string }[]; + /** *

                                                  The copy options. If the value is CopyTags, the tags from the source * product are copied to the target product.

                                                  @@ -679,6 +680,54 @@ export namespace CopyProductOutput { } export interface CreateConstraintInput { + /** + *

                                                  The product identifier.

                                                  + */ + ProductId: string | undefined; + + /** + *

                                                  The portfolio identifier.

                                                  + */ + PortfolioId: string | undefined; + + /** + *

                                                  A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, + * the same response is returned for each repeated request.

                                                  + */ + IdempotencyToken?: string; + + /** + *

                                                  The type of constraint.

                                                  + *
                                                    + *
                                                  • + *

                                                    + * LAUNCH + *

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * NOTIFICATION + *

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * RESOURCE_UPDATE + *

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * STACKSET + *

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * TEMPLATE + *

                                                    + *
                                                  • + *
                                                  + */ + Type: string | undefined; + /** *

                                                  The constraint parameters, in JSON format. The syntax depends on the constraint type as follows:

                                                  *
                                                  @@ -740,54 +789,6 @@ export interface CreateConstraintInput { */ Description?: string; - /** - *

                                                  The type of constraint.

                                                  - *
                                                    - *
                                                  • - *

                                                    - * LAUNCH - *

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * NOTIFICATION - *

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * RESOURCE_UPDATE - *

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * STACKSET - *

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * TEMPLATE - *

                                                    - *
                                                  • - *
                                                  - */ - Type: string | undefined; - - /** - *

                                                  A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, - * the same response is returned for each repeated request.

                                                  - */ - IdempotencyToken?: string; - - /** - *

                                                  The portfolio identifier.

                                                  - */ - PortfolioId: string | undefined; - - /** - *

                                                  The product identifier.

                                                  - */ - ProductId: string | undefined; - /** *

                                                  The language code.

                                                  *
                                                    @@ -818,6 +819,16 @@ export namespace CreateConstraintInput { *

                                                    Information about a constraint.

                                                    */ export interface ConstraintDetail { + /** + *

                                                    The identifier of the portfolio the product resides in. The constraint applies only to the instance of the product that lives within this portfolio.

                                                    + */ + PortfolioId?: string; + + /** + *

                                                    The identifier of the constraint.

                                                    + */ + ConstraintId?: string; + /** *

                                                    The identifier of the product the constraint applies to. Note that a constraint applies to a specific instance of a product within a certain portfolio.

                                                    */ @@ -829,9 +840,9 @@ export interface ConstraintDetail { Description?: string; /** - *

                                                    The identifier of the constraint.

                                                    + *

                                                    The owner of the constraint.

                                                    */ - ConstraintId?: string; + Owner?: string; /** *

                                                    The type of constraint.

                                                    @@ -857,16 +868,6 @@ export interface ConstraintDetail { *
                                                  */ Type?: string; - - /** - *

                                                  The owner of the constraint.

                                                  - */ - Owner?: string; - - /** - *

                                                  The identifier of the portfolio the product resides in. The constraint applies only to the instance of the product that lives within this portfolio.

                                                  - */ - PortfolioId?: string; } export namespace ConstraintDetail { @@ -882,6 +883,11 @@ export enum Status { } export interface CreateConstraintOutput { + /** + *

                                                  The status of the current request.

                                                  + */ + Status?: Status | string; + /** *

                                                  The constraint parameters.

                                                  */ @@ -891,11 +897,6 @@ export interface CreateConstraintOutput { *

                                                  Information about the constraint.

                                                  */ ConstraintDetail?: ConstraintDetail; - - /** - *

                                                  The status of the current request.

                                                  - */ - Status?: Status | string; } export namespace CreateConstraintOutput { @@ -905,16 +906,6 @@ export namespace CreateConstraintOutput { } export interface CreatePortfolioInput { - /** - *

                                                  The name of the portfolio provider.

                                                  - */ - ProviderName: string | undefined; - - /** - *

                                                  The description of the portfolio.

                                                  - */ - Description?: string; - /** *

                                                  The language code.

                                                  *
                                                    @@ -935,9 +926,9 @@ export interface CreatePortfolioInput { AcceptLanguage?: string; /** - *

                                                    The name to use for display purposes.

                                                    + *

                                                    The description of the portfolio.

                                                    */ - DisplayName: string | undefined; + Description?: string; /** *

                                                    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, @@ -946,10 +937,20 @@ export interface CreatePortfolioInput { IdempotencyToken?: string; /** - *

                                                    One or more tags.

                                                    + *

                                                    The name of the portfolio provider.

                                                    */ - Tags?: Tag[]; -} + ProviderName: string | undefined; + + /** + *

                                                    One or more tags.

                                                    + */ + Tags?: Tag[]; + + /** + *

                                                    The name to use for display purposes.

                                                    + */ + DisplayName: string | undefined; +} export namespace CreatePortfolioInput { export const filterSensitiveLog = (obj: CreatePortfolioInput): any => ({ @@ -962,34 +963,34 @@ export namespace CreatePortfolioInput { */ export interface PortfolioDetail { /** - *

                                                    The UTC time stamp of the creation time.

                                                    + *

                                                    The ARN assigned to the portfolio.

                                                    */ - CreatedTime?: Date; + ARN?: string; /** - *

                                                    The description of the portfolio.

                                                    + *

                                                    The name to use for display purposes.

                                                    */ - Description?: string; + DisplayName?: string; /** - *

                                                    The name of the portfolio provider.

                                                    + *

                                                    The UTC time stamp of the creation time.

                                                    */ - ProviderName?: string; + CreatedTime?: Date; /** - *

                                                    The portfolio identifier.

                                                    + *

                                                    The description of the portfolio.

                                                    */ - Id?: string; + Description?: string; /** - *

                                                    The ARN assigned to the portfolio.

                                                    + *

                                                    The portfolio identifier.

                                                    */ - ARN?: string; + Id?: string; /** - *

                                                    The name to use for display purposes.

                                                    + *

                                                    The name of the portfolio provider.

                                                    */ - DisplayName?: string; + ProviderName?: string; } export namespace PortfolioDetail { @@ -1027,14 +1028,14 @@ export enum OrganizationNodeType { */ export interface OrganizationNode { /** - *

                                                    The identifier of the organization node.

                                                    + *

                                                    The organization node type.

                                                    */ - Value?: string; + Type?: OrganizationNodeType | string; /** - *

                                                    The organization node type.

                                                    + *

                                                    The identifier of the organization node.

                                                    */ - Type?: OrganizationNodeType | string; + Value?: string; } export namespace OrganizationNode { @@ -1045,12 +1046,12 @@ export namespace OrganizationNode { export interface CreatePortfolioShareInput { /** - *

                                                    The AWS account ID. For example, 123456789012.

                                                    - */ - AccountId?: string; - - /** - *

                                                    The organization node to whom you are going to share. If OrganizationNode is passed in, PortfolioShare will be created for the node and its children (when applies), and a PortfolioShareToken will be returned in the output in order for the administrator to monitor the status of the PortfolioShare creation process.

                                                    + *

                                                    The organization node to whom you are going to share. If OrganizationNode + * is passed in, PortfolioShare will be created for the node an + * ListOrganizationPortfolioAccessd its children (when applies), and a + * PortfolioShareToken will be returned in the output in order for the + * administrator to monitor the status of the PortfolioShare creation + * process.

                                                    */ OrganizationNode?: OrganizationNode; @@ -1077,6 +1078,11 @@ export interface CreatePortfolioShareInput { *

                                                    The portfolio identifier.

                                                    */ PortfolioId: string | undefined; + + /** + *

                                                    The AWS account ID. For example, 123456789012.

                                                    + */ + AccountId?: string; } export namespace CreatePortfolioShareInput { @@ -1087,7 +1093,7 @@ export namespace CreatePortfolioShareInput { export interface CreatePortfolioShareOutput { /** - *

                                                    The portfolio share unique identifier. This will only be returned if portfolio is shared to an organization node.

                                                    + *

                                                    The portfolio shares a unique identifier that only returns if the portfolio is shared to an organization node.

                                                    */ PortfolioShareToken?: string; } @@ -1128,16 +1134,6 @@ export enum ProvisioningArtifactType { *

                                                    Information about a provisioning artifact (also known as a version) for a product.

                                                    */ export interface ProvisioningArtifactProperties { - /** - *

                                                    The description of the provisioning artifact, including how it differs from the previous provisioning artifact.

                                                    - */ - Description?: string; - - /** - *

                                                    If set to true, AWS Service Catalog stops validating the specified provisioning artifact even if it is invalid.

                                                    - */ - DisableTemplateValidation?: boolean; - /** *

                                                    The URL of the CloudFormation template in Amazon S3. Specify the URL in JSON format as follows:

                                                    *

                                                    @@ -1169,6 +1165,16 @@ export interface ProvisioningArtifactProperties { *

                                                  */ Type?: ProvisioningArtifactType | string; + + /** + *

                                                  The description of the provisioning artifact, including how it differs from the previous provisioning artifact.

                                                  + */ + Description?: string; + + /** + *

                                                  If set to true, AWS Service Catalog stops validating the specified provisioning artifact even if it is invalid.

                                                  + */ + DisableTemplateValidation?: boolean; } export namespace ProvisioningArtifactProperties { @@ -1179,79 +1185,79 @@ export namespace ProvisioningArtifactProperties { export interface CreateProductInput { /** - *

                                                  The language code.

                                                  - *
                                                    - *
                                                  • - *

                                                    - * en - English (default)

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * jp - Japanese

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * zh - Chinese

                                                    - *
                                                  • - *
                                                  + *

                                                  A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, + * the same response is returned for each repeated request.

                                                  */ - AcceptLanguage?: string; + IdempotencyToken?: string; /** - *

                                                  The contact URL for product support.

                                                  + *

                                                  The support information about the product.

                                                  */ - SupportUrl?: string; + SupportDescription?: string; /** - *

                                                  The configuration of the provisioning artifact.

                                                  + *

                                                  The description of the product.

                                                  */ - ProvisioningArtifactParameters: ProvisioningArtifactProperties | undefined; + Description?: string; /** - *

                                                  The name of the product.

                                                  + *

                                                  The distributor of the product.

                                                  */ - Name: string | undefined; + Distributor?: string; /** - *

                                                  The contact email for product support.

                                                  + *

                                                  The owner of the product.

                                                  */ - SupportEmail?: string; + Owner: string | undefined; /** - *

                                                  The type of product.

                                                  + *

                                                  One or more tags.

                                                  */ - ProductType: ProductType | string | undefined; + Tags?: Tag[]; /** - *

                                                  The distributor of the product.

                                                  + *

                                                  The name of the product.

                                                  */ - Distributor?: string; + Name: string | undefined; /** - *

                                                  The support information about the product.

                                                  + *

                                                  The configuration of the provisioning artifact.

                                                  */ - SupportDescription?: string; + ProvisioningArtifactParameters: ProvisioningArtifactProperties | undefined; /** - *

                                                  The description of the product.

                                                  + *

                                                  The type of product.

                                                  */ - Description?: string; + ProductType: ProductType | string | undefined; /** - *

                                                  A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, - * the same response is returned for each repeated request.

                                                  + *

                                                  The language code.

                                                  + *
                                                    + *
                                                  • + *

                                                    + * en - English (default)

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * jp - Japanese

                                                    + *
                                                  • + *
                                                  • + *

                                                    + * zh - Chinese

                                                    + *
                                                  • + *
                                                  */ - IdempotencyToken?: string; + AcceptLanguage?: string; /** - *

                                                  One or more tags.

                                                  + *

                                                  The contact URL for product support.

                                                  */ - Tags?: Tag[]; + SupportUrl?: string; /** - *

                                                  The owner of the product.

                                                  + *

                                                  The contact email for product support.

                                                  */ - Owner: string | undefined; + SupportEmail?: string; } export namespace CreateProductInput { @@ -1265,28 +1271,22 @@ export namespace CreateProductInput { */ export interface ProductViewSummary { /** - *

                                                  Indicates whether the product has a default path. - * If the product does not have a default path, call ListLaunchPaths - * to disambiguate between paths. Otherwise, ListLaunchPaths is not - * required, and the output of ProductViewSummary can be used directly with - * DescribeProvisioningParameters.

                                                  - */ - HasDefaultPath?: boolean; - - /** - *

                                                  The description of the support for this Product.

                                                  + *

                                                  The name of the product.

                                                  */ - SupportDescription?: string; + Name?: string; /** - *

                                                  The product view identifier.

                                                  + *

                                                  The owner of the product. Contact the product administrator for the significance of + * this value.

                                                  */ - Id?: string; + Owner?: string; /** - *

                                                  The product identifier.

                                                  + *

                                                  The product type. Contact the product administrator for the significance of this + * value. If this value is MARKETPLACE, the product was created by AWS + * Marketplace.

                                                  */ - ProductId?: string; + Type?: ProductType | string; /** *

                                                  Short description of the product.

                                                  @@ -1294,9 +1294,9 @@ export interface ProductViewSummary { ShortDescription?: string; /** - *

                                                  The name of the product.

                                                  + *

                                                  The description of the support for this Product.

                                                  */ - Name?: string; + SupportDescription?: string; /** *

                                                  The distributor of the product. Contact the product administrator for the @@ -1305,27 +1305,33 @@ export interface ProductViewSummary { Distributor?: string; /** - *

                                                  The URL information to obtain support for this Product.

                                                  + *

                                                  The product view identifier.

                                                  */ - SupportUrl?: string; + Id?: string; /** - *

                                                  The product type. Contact the product administrator for the significance of this - * value. If this value is MARKETPLACE, the product was created by AWS - * Marketplace.

                                                  + *

                                                  The email contact information to obtain support for this Product.

                                                  */ - Type?: ProductType | string; + SupportEmail?: string; /** - *

                                                  The owner of the product. Contact the product administrator for the significance of - * this value.

                                                  + *

                                                  Indicates whether the product has a default path. + * If the product does not have a default path, call ListLaunchPaths + * to disambiguate between paths. Otherwise, ListLaunchPaths is not + * required, and the output of ProductViewSummary can be used directly with + * DescribeProvisioningParameters.

                                                  */ - Owner?: string; + HasDefaultPath?: boolean; /** - *

                                                  The email contact information to obtain support for this Product.

                                                  + *

                                                  The product identifier.

                                                  */ - SupportEmail?: string; + ProductId?: string; + + /** + *

                                                  The URL information to obtain support for this Product.

                                                  + */ + SupportUrl?: string; } export namespace ProductViewSummary { @@ -1339,9 +1345,9 @@ export namespace ProductViewSummary { */ export interface ProductViewDetail { /** - *

                                                  Summary information about the product view.

                                                  + *

                                                  The ARN of the product.

                                                  */ - ProductViewSummary?: ProductViewSummary; + ProductARN?: string; /** *

                                                  The UTC time stamp of the creation time.

                                                  @@ -1349,9 +1355,9 @@ export interface ProductViewDetail { CreatedTime?: Date; /** - *

                                                  The ARN of the product.

                                                  + *

                                                  Summary information about the product view.

                                                  */ - ProductARN?: string; + ProductViewSummary?: ProductViewSummary; /** *

                                                  The status of the product.

                                                  @@ -1388,11 +1394,36 @@ export enum ProvisioningArtifactGuidance { *

                                                  Information about a provisioning artifact (also known as a version) for a product.

                                                  */ export interface ProvisioningArtifactDetail { + /** + *

                                                  The UTC time stamp of the creation time.

                                                  + */ + CreatedTime?: Date; + + /** + *

                                                  Indicates whether the product version is active.

                                                  + */ + Active?: boolean; + /** *

                                                  The identifier of the provisioning artifact.

                                                  */ Id?: string; + /** + *

                                                  The description of the provisioning artifact.

                                                  + */ + Description?: string; + + /** + *

                                                  Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

                                                  + */ + Guidance?: ProvisioningArtifactGuidance | string; + + /** + *

                                                  The name of the provisioning artifact.

                                                  + */ + Name?: string; + /** *

                                                  The type of provisioning artifact.

                                                  *
                                                    @@ -1411,44 +1442,19 @@ export interface ProvisioningArtifactDetail { *
                                                  */ Type?: ProvisioningArtifactType | string; +} - /** - *

                                                  Indicates whether the product version is active.

                                                  - */ - Active?: boolean; +export namespace ProvisioningArtifactDetail { + export const filterSensitiveLog = (obj: ProvisioningArtifactDetail): any => ({ + ...obj, + }); +} +export interface CreateProductOutput { /** - *

                                                  Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

                                                  + *

                                                  Information about the provisioning artifact.

                                                  */ - Guidance?: ProvisioningArtifactGuidance | string; - - /** - *

                                                  The name of the provisioning artifact.

                                                  - */ - Name?: string; - - /** - *

                                                  The description of the provisioning artifact.

                                                  - */ - Description?: string; - - /** - *

                                                  The UTC time stamp of the creation time.

                                                  - */ - CreatedTime?: Date; -} - -export namespace ProvisioningArtifactDetail { - export const filterSensitiveLog = (obj: ProvisioningArtifactDetail): any => ({ - ...obj, - }); -} - -export interface CreateProductOutput { - /** - *

                                                  Information about the tags associated with the product.

                                                  - */ - Tags?: Tag[]; + ProvisioningArtifactDetail?: ProvisioningArtifactDetail; /** *

                                                  Information about the product view.

                                                  @@ -1456,9 +1462,9 @@ export interface CreateProductOutput { ProductViewDetail?: ProductViewDetail; /** - *

                                                  Information about the provisioning artifact.

                                                  + *

                                                  Information about the tags associated with the product.

                                                  */ - ProvisioningArtifactDetail?: ProvisioningArtifactDetail; + Tags?: Tag[]; } export namespace CreateProductOutput { @@ -1476,9 +1482,9 @@ export enum ProvisionedProductPlanType { */ export interface UpdateProvisioningParameter { /** - *

                                                  The parameter key.

                                                  + *

                                                  The parameter value.

                                                  */ - Key?: string; + Value?: string; /** *

                                                  If set to true, Value is ignored and the previous parameter value is kept.

                                                  @@ -1486,9 +1492,9 @@ export interface UpdateProvisioningParameter { UsePreviousValue?: boolean; /** - *

                                                  The parameter value.

                                                  + *

                                                  The parameter key.

                                                  */ - Value?: string; + Key?: string; } export namespace UpdateProvisioningParameter { @@ -1499,10 +1505,25 @@ export namespace UpdateProvisioningParameter { export interface CreateProvisionedProductPlanInput { /** - *

                                                  A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, - * the same response is returned for each repeated request.

                                                  + *

                                                  The plan type.

                                                  */ - IdempotencyToken?: string; + PlanType: ProvisionedProductPlanType | string | undefined; + + /** + *

                                                  Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related + * events.

                                                  + */ + NotificationArns?: string[]; + + /** + *

                                                  The product identifier.

                                                  + */ + ProductId: string | undefined; + + /** + *

                                                  The name of the plan.

                                                  + */ + PlanName: string | undefined; /** *

                                                  A user-friendly name for the provisioned product. This value must be @@ -1511,10 +1532,15 @@ export interface CreateProvisionedProductPlanInput { ProvisionedProductName: string | undefined; /** - *

                                                  One or more tags.

                                                  - *

                                                  If the plan is for an existing provisioned product, the product must have a RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.

                                                  + *

                                                  The identifier of the provisioning artifact.

                                                  */ - Tags?: Tag[]; + ProvisioningArtifactId: string | undefined; + + /** + *

                                                  A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, + * the same response is returned for each repeated request.

                                                  + */ + IdempotencyToken?: string; /** *

                                                  The path identifier of the product. This value is optional if the product @@ -1524,25 +1550,16 @@ export interface CreateProvisionedProductPlanInput { PathId?: string; /** - *

                                                  Parameters specified by the administrator that are required for provisioning the - * product.

                                                  - */ - ProvisioningParameters?: UpdateProvisioningParameter[]; - - /** - *

                                                  The product identifier.

                                                  - */ - ProductId: string | undefined; - - /** - *

                                                  The name of the plan.

                                                  + *

                                                  One or more tags.

                                                  + *

                                                  If the plan is for an existing provisioned product, the product must have a RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.

                                                  */ - PlanName: string | undefined; + Tags?: Tag[]; /** - *

                                                  The plan type.

                                                  + *

                                                  Parameters specified by the administrator that are required for provisioning the + * product.

                                                  */ - PlanType: ProvisionedProductPlanType | string | undefined; + ProvisioningParameters?: UpdateProvisioningParameter[]; /** *

                                                  The language code.

                                                  @@ -1562,17 +1579,6 @@ export interface CreateProvisionedProductPlanInput { *
                                                */ AcceptLanguage?: string; - - /** - *

                                                The identifier of the provisioning artifact.

                                                - */ - ProvisioningArtifactId: string | undefined; - - /** - *

                                                Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related - * events.

                                                - */ - NotificationArns?: string[]; } export namespace CreateProvisionedProductPlanInput { @@ -1582,16 +1588,6 @@ export namespace CreateProvisionedProductPlanInput { } export interface CreateProvisionedProductPlanOutput { - /** - *

                                                The name of the plan.

                                                - */ - PlanName?: string; - - /** - *

                                                The user-friendly name of the provisioned product.

                                                - */ - ProvisionedProductName?: string; - /** *

                                                The identifier of the provisioning artifact.

                                                */ @@ -1606,6 +1602,16 @@ export interface CreateProvisionedProductPlanOutput { *

                                                The product identifier.

                                                */ ProvisionProductId?: string; + + /** + *

                                                The user-friendly name of the provisioned product.

                                                + */ + ProvisionedProductName?: string; + + /** + *

                                                The name of the plan.

                                                + */ + PlanName?: string; } export namespace CreateProvisionedProductPlanOutput { @@ -1615,17 +1621,6 @@ export namespace CreateProvisionedProductPlanOutput { } export interface CreateProvisioningArtifactInput { - /** - *

                                                A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, - * the same response is returned for each repeated request.

                                                - */ - IdempotencyToken?: string; - - /** - *

                                                The configuration for the provisioning artifact.

                                                - */ - Parameters: ProvisioningArtifactProperties | undefined; - /** *

                                                The language code.

                                                *
                                                  @@ -1649,6 +1644,17 @@ export interface CreateProvisioningArtifactInput { *

                                                  The product identifier.

                                                  */ ProductId: string | undefined; + + /** + *

                                                  A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, + * the same response is returned for each repeated request.

                                                  + */ + IdempotencyToken?: string; + + /** + *

                                                  The configuration for the provisioning artifact.

                                                  + */ + Parameters: ProvisioningArtifactProperties | undefined; } export namespace CreateProvisioningArtifactInput { @@ -1658,6 +1664,11 @@ export namespace CreateProvisioningArtifactInput { } export interface CreateProvisioningArtifactOutput { + /** + *

                                                  The status of the current request.

                                                  + */ + Status?: Status | string; + /** *

                                                  The URL of the CloudFormation template in Amazon S3, in JSON format.

                                                  */ @@ -1667,11 +1678,6 @@ export interface CreateProvisioningArtifactOutput { *

                                                  Information about the provisioning artifact.

                                                  */ ProvisioningArtifactDetail?: ProvisioningArtifactDetail; - - /** - *

                                                  The status of the current request.

                                                  - */ - Status?: Status | string; } export namespace CreateProvisioningArtifactOutput { @@ -1693,9 +1699,9 @@ export enum ServiceActionDefinitionType { export interface CreateServiceActionInput { /** - *

                                                  The self-service action description.

                                                  + *

                                                  The service action definition type. For example, SSM_AUTOMATION.

                                                  */ - Description?: string; + DefinitionType: ServiceActionDefinitionType | string | undefined; /** *

                                                  The self-service action name.

                                                  @@ -1708,6 +1714,11 @@ export interface CreateServiceActionInput { */ IdempotencyToken?: string; + /** + *

                                                  The self-service action description.

                                                  + */ + Description?: string; + /** *

                                                  The self-service action definition. Can be one of the following:

                                                  *
                                                  @@ -1753,11 +1764,6 @@ export interface CreateServiceActionInput { *
                                                */ AcceptLanguage?: string; - - /** - *

                                                The service action definition type. For example, SSM_AUTOMATION.

                                                - */ - DefinitionType: ServiceActionDefinitionType | string | undefined; } export namespace CreateServiceActionInput { @@ -1770,25 +1776,25 @@ export namespace CreateServiceActionInput { *

                                                Detailed information about the self-service action.

                                                */ export interface ServiceActionSummary { - /** - *

                                                The self-service action definition type. For example, SSM_AUTOMATION.

                                                - */ - DefinitionType?: ServiceActionDefinitionType | string; - /** *

                                                The self-service action name.

                                                */ Name?: string; /** - *

                                                The self-service action description.

                                                + *

                                                The self-service action definition type. For example, SSM_AUTOMATION.

                                                */ - Description?: string; + DefinitionType?: ServiceActionDefinitionType | string; /** *

                                                The self-service action identifier.

                                                */ Id?: string; + + /** + *

                                                The self-service action description.

                                                + */ + Description?: string; } export namespace ServiceActionSummary { @@ -1833,14 +1839,14 @@ export namespace CreateServiceActionOutput { export interface CreateTagOptionInput { /** - *

                                                The TagOption value.

                                                + *

                                                The TagOption key.

                                                */ - Value: string | undefined; + Key: string | undefined; /** - *

                                                The TagOption key.

                                                + *

                                                The TagOption value.

                                                */ - Key: string | undefined; + Value: string | undefined; } export namespace CreateTagOptionInput { @@ -1859,9 +1865,9 @@ export interface TagOptionDetail { Id?: string; /** - *

                                                The TagOption key.

                                                + *

                                                The TagOption active state.

                                                */ - Key?: string; + Active?: boolean; /** *

                                                The TagOption value.

                                                @@ -1869,9 +1875,9 @@ export interface TagOptionDetail { Value?: string; /** - *

                                                The TagOption active state.

                                                + *

                                                The TagOption key.

                                                */ - Active?: boolean; + Key?: string; } export namespace TagOptionDetail { @@ -1894,6 +1900,11 @@ export namespace CreateTagOptionOutput { } export interface DeleteConstraintInput { + /** + *

                                                The identifier of the constraint.

                                                + */ + Id: string | undefined; + /** *

                                                The language code.

                                                *
                                                  @@ -1912,11 +1923,6 @@ export interface DeleteConstraintInput { *
                                                */ AcceptLanguage?: string; - - /** - *

                                                The identifier of the constraint.

                                                - */ - Id: string | undefined; } export namespace DeleteConstraintInput { @@ -1989,21 +1995,11 @@ export namespace ResourceInUseException { } export interface DeletePortfolioShareInput { - /** - *

                                                The AWS account ID.

                                                - */ - AccountId?: string; - /** *

                                                The organization node to whom you are going to stop sharing.

                                                */ OrganizationNode?: OrganizationNode; - /** - *

                                                The portfolio identifier.

                                                - */ - PortfolioId: string | undefined; - /** *

                                                The language code.

                                                *
                                                  @@ -2022,6 +2018,16 @@ export interface DeletePortfolioShareInput { *
                                                */ AcceptLanguage?: string; + + /** + *

                                                The AWS account ID.

                                                + */ + AccountId?: string; + + /** + *

                                                The portfolio identifier.

                                                + */ + PortfolioId: string | undefined; } export namespace DeletePortfolioShareInput { @@ -2044,6 +2050,11 @@ export namespace DeletePortfolioShareOutput { } export interface DeleteProductInput { + /** + *

                                                The product identifier.

                                                + */ + Id: string | undefined; + /** *

                                                The language code.

                                                *
                                                  @@ -2062,11 +2073,6 @@ export interface DeleteProductInput { *
                                                */ AcceptLanguage?: string; - - /** - *

                                                The product identifier.

                                                - */ - Id: string | undefined; } export namespace DeleteProductInput { @@ -2084,12 +2090,6 @@ export namespace DeleteProductOutput { } export interface DeleteProvisionedProductPlanInput { - /** - *

                                                If set to true, AWS Service Catalog stops managing the specified provisioned product even - * if it cannot delete the underlying resources.

                                                - */ - IgnoreErrors?: boolean; - /** *

                                                The language code.

                                                *
                                                  @@ -2109,6 +2109,12 @@ export interface DeleteProvisionedProductPlanInput { */ AcceptLanguage?: string; + /** + *

                                                  If set to true, AWS Service Catalog stops managing the specified provisioned product even + * if it cannot delete the underlying resources.

                                                  + */ + IgnoreErrors?: boolean; + /** *

                                                  The plan identifier.

                                                  */ @@ -2131,9 +2137,14 @@ export namespace DeleteProvisionedProductPlanOutput { export interface DeleteProvisioningArtifactInput { /** - *

                                                  The product identifier.

                                                  + *

                                                  The identifier of the provisioning artifact.

                                                  */ - ProductId: string | undefined; + ProvisioningArtifactId: string | undefined; + + /** + *

                                                  The product identifier.

                                                  + */ + ProductId: string | undefined; /** *

                                                  The language code.

                                                  @@ -2153,11 +2164,6 @@ export interface DeleteProvisioningArtifactInput { *
                                                */ AcceptLanguage?: string; - - /** - *

                                                The identifier of the provisioning artifact.

                                                - */ - ProvisioningArtifactId: string | undefined; } export namespace DeleteProvisioningArtifactInput { @@ -2269,9 +2275,9 @@ export namespace DescribeConstraintInput { export interface DescribeConstraintOutput { /** - *

                                                The constraint parameters.

                                                + *

                                                Information about the constraint.

                                                */ - ConstraintParameters?: string; + ConstraintDetail?: ConstraintDetail; /** *

                                                The status of the current request.

                                                @@ -2279,9 +2285,9 @@ export interface DescribeConstraintOutput { Status?: Status | string; /** - *

                                                Information about the constraint.

                                                + *

                                                The constraint parameters.

                                                */ - ConstraintDetail?: ConstraintDetail; + ConstraintParameters?: string; } export namespace DescribeConstraintOutput { @@ -2330,14 +2336,14 @@ export enum CopyProductStatus { export interface DescribeCopyProductStatusOutput { /** - *

                                                The identifier of the copied product.

                                                + *

                                                The status of the copy product operation.

                                                */ - TargetProductId?: string; + CopyProductStatus?: CopyProductStatus | string; /** - *

                                                The status of the copy product operation.

                                                + *

                                                The identifier of the copied product.

                                                */ - CopyProductStatus?: CopyProductStatus | string; + TargetProductId?: string; /** *

                                                The status message.

                                                @@ -2352,6 +2358,11 @@ export namespace DescribeCopyProductStatusOutput { } export interface DescribePortfolioInput { + /** + *

                                                The portfolio identifier.

                                                + */ + Id: string | undefined; + /** *

                                                The language code.

                                                *
                                                  @@ -2370,11 +2381,6 @@ export interface DescribePortfolioInput { *
                                                */ AcceptLanguage?: string; - - /** - *

                                                The portfolio identifier.

                                                - */ - Id: string | undefined; } export namespace DescribePortfolioInput { @@ -2401,14 +2407,14 @@ export namespace BudgetDetail { export interface DescribePortfolioOutput { /** - *

                                                Information about the associated budgets.

                                                + *

                                                Information about the TagOptions associated with the portfolio.

                                                */ - Budgets?: BudgetDetail[]; + TagOptions?: TagOptionDetail[]; /** - *

                                                Information about the TagOptions associated with the portfolio.

                                                + *

                                                Information about the portfolio.

                                                */ - TagOptions?: TagOptionDetail[]; + PortfolioDetail?: PortfolioDetail; /** *

                                                Information about the tags associated with the portfolio.

                                                @@ -2416,9 +2422,9 @@ export interface DescribePortfolioOutput { Tags?: Tag[]; /** - *

                                                Information about the portfolio.

                                                + *

                                                Information about the associated budgets.

                                                */ - PortfolioDetail?: PortfolioDetail; + Budgets?: BudgetDetail[]; } export namespace DescribePortfolioOutput { @@ -2445,9 +2451,9 @@ export namespace DescribePortfolioShareStatusInput { */ export interface ShareError { /** - *

                                                Error type that happened when processing the operation.

                                                + *

                                                List of accounts impacted by the error.

                                                */ - Error?: string; + Accounts?: string[]; /** *

                                                Information about the error.

                                                @@ -2455,9 +2461,9 @@ export interface ShareError { Message?: string; /** - *

                                                List of accounts impacted by the error.

                                                + *

                                                Error type that happened when processing the operation.

                                                */ - Accounts?: string[]; + Error?: string; } export namespace ShareError { @@ -2497,29 +2503,29 @@ export enum ShareStatus { export interface DescribePortfolioShareStatusOutput { /** - *

                                                Organization node identifier. It can be either account id, organizational unit id or organization id.

                                                + *

                                                Status of the portfolio share operation.

                                                */ - OrganizationNodeValue?: string; + Status?: ShareStatus | string; /** - *

                                                The portfolio identifier.

                                                + *

                                                The token for the portfolio share operation. For example, share-6v24abcdefghi.

                                                */ - PortfolioId?: string; + PortfolioShareToken?: string; /** - *

                                                Information about the portfolio share operation.

                                                + *

                                                Organization node identifier. It can be either account id, organizational unit id or organization id.

                                                */ - ShareDetails?: ShareDetails; + OrganizationNodeValue?: string; /** - *

                                                The token for the portfolio share operation. For example, share-6v24abcdefghi.

                                                + *

                                                The portfolio identifier.

                                                */ - PortfolioShareToken?: string; + PortfolioId?: string; /** - *

                                                Status of the portfolio share operation.

                                                + *

                                                Information about the portfolio share operation.

                                                */ - Status?: ShareStatus | string; + ShareDetails?: ShareDetails; } export namespace DescribePortfolioShareStatusOutput { @@ -2529,16 +2535,6 @@ export namespace DescribePortfolioShareStatusOutput { } export interface DescribeProductInput { - /** - *

                                                The product name.

                                                - */ - Name?: string; - - /** - *

                                                The product identifier.

                                                - */ - Id?: string; - /** *

                                                The language code.

                                                *
                                                  @@ -2557,6 +2553,16 @@ export interface DescribeProductInput { *
                                                */ AcceptLanguage?: string; + + /** + *

                                                The product name.

                                                + */ + Name?: string; + + /** + *

                                                The product identifier.

                                                + */ + Id?: string; } export namespace DescribeProductInput { @@ -2590,30 +2596,30 @@ export namespace LaunchPath { *

                                                Information about a provisioning artifact. A provisioning artifact is also known as a product version.

                                                */ export interface ProvisioningArtifact { + /** + *

                                                The name of the provisioning artifact.

                                                + */ + Name?: string; + /** *

                                                The identifier of the provisioning artifact.

                                                */ Id?: string; /** - *

                                                The description of the provisioning artifact.

                                                + *

                                                The UTC time stamp of the creation time.

                                                */ - Description?: string; + CreatedTime?: Date; /** - *

                                                The name of the provisioning artifact.

                                                + *

                                                The description of the provisioning artifact.

                                                */ - Name?: string; + Description?: string; /** *

                                                Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

                                                */ Guidance?: ProvisioningArtifactGuidance | string; - - /** - *

                                                The UTC time stamp of the creation time.

                                                - */ - CreatedTime?: Date; } export namespace ProvisioningArtifact { @@ -2624,9 +2630,9 @@ export namespace ProvisioningArtifact { export interface DescribeProductOutput { /** - *

                                                Summary information about the product view.

                                                + *

                                                Information about the associated launch paths.

                                                */ - ProductViewSummary?: ProductViewSummary; + LaunchPaths?: LaunchPath[]; /** *

                                                Information about the provisioning artifacts for the specified product.

                                                @@ -2634,9 +2640,9 @@ export interface DescribeProductOutput { ProvisioningArtifacts?: ProvisioningArtifact[]; /** - *

                                                Information about the associated launch paths.

                                                + *

                                                Summary information about the product view.

                                                */ - LaunchPaths?: LaunchPath[]; + ProductViewSummary?: ProductViewSummary; /** *

                                                Information about the associated budgets.

                                                @@ -2651,16 +2657,6 @@ export namespace DescribeProductOutput { } export interface DescribeProductAsAdminInput { - /** - *

                                                The product identifier.

                                                - */ - Id?: string; - - /** - *

                                                The product name.

                                                - */ - Name?: string; - /** *

                                                The language code.

                                                *
                                                  @@ -2679,6 +2675,16 @@ export interface DescribeProductAsAdminInput { *
                                                */ AcceptLanguage?: string; + + /** + *

                                                The product name.

                                                + */ + Name?: string; + + /** + *

                                                The product identifier.

                                                + */ + Id?: string; } export namespace DescribeProductAsAdminInput { @@ -2692,29 +2698,29 @@ export namespace DescribeProductAsAdminInput { */ export interface ProvisioningArtifactSummary { /** - *

                                                The metadata for the provisioning artifact. This is used with AWS Marketplace products.

                                                + *

                                                The identifier of the provisioning artifact.

                                                */ - ProvisioningArtifactMetadata?: { [key: string]: string }; + Id?: string; /** - *

                                                The name of the provisioning artifact.

                                                + *

                                                The UTC time stamp of the creation time.

                                                */ - Name?: string; + CreatedTime?: Date; /** - *

                                                The identifier of the provisioning artifact.

                                                + *

                                                The description of the provisioning artifact.

                                                */ - Id?: string; + Description?: string; /** - *

                                                The description of the provisioning artifact.

                                                + *

                                                The metadata for the provisioning artifact. This is used with AWS Marketplace products.

                                                */ - Description?: string; + ProvisioningArtifactMetadata?: { [key: string]: string }; /** - *

                                                The UTC time stamp of the creation time.

                                                + *

                                                The name of the provisioning artifact.

                                                */ - CreatedTime?: Date; + Name?: string; } export namespace ProvisioningArtifactSummary { @@ -2724,6 +2730,11 @@ export namespace ProvisioningArtifactSummary { } export interface DescribeProductAsAdminOutput { + /** + *

                                                Information about the tags associated with the product.

                                                + */ + Tags?: Tag[]; + /** *

                                                Information about the associated budgets.

                                                */ @@ -2735,19 +2746,14 @@ export interface DescribeProductAsAdminOutput { ProvisioningArtifactSummaries?: ProvisioningArtifactSummary[]; /** - *

                                                Information about the tags associated with the product.

                                                + *

                                                Information about the product view.

                                                */ - Tags?: Tag[]; + ProductViewDetail?: ProductViewDetail; /** *

                                                Information about the TagOptions associated with the product.

                                                */ TagOptions?: TagOptionDetail[]; - - /** - *

                                                Information about the product view.

                                                - */ - ProductViewDetail?: ProductViewDetail; } export namespace DescribeProductAsAdminOutput { @@ -2790,14 +2796,14 @@ export namespace DescribeProductViewInput { export interface DescribeProductViewOutput { /** - *

                                                Information about the provisioning artifacts for the product.

                                                + *

                                                Summary information about the product.

                                                */ - ProvisioningArtifacts?: ProvisioningArtifact[]; + ProductViewSummary?: ProductViewSummary; /** - *

                                                Summary information about the product.

                                                + *

                                                Information about the provisioning artifacts for the product.

                                                */ - ProductViewSummary?: ProductViewSummary; + ProvisioningArtifacts?: ProvisioningArtifact[]; } export namespace DescribeProductViewOutput { @@ -2806,11 +2812,23 @@ export namespace DescribeProductViewOutput { }); } +/** + * DescribeProvisionedProductAPI input structure. + * + * AcceptLanguage - [Optional] + * The language code for localization. + * + * Id - [Optional] + * The provisioned product identifier. + * + * Name - [Optional] + * Another provisioned product identifier. Customers must provide either Id or Name. + */ export interface DescribeProvisionedProductInput { /** - *

                                                The provisioned product identifier.

                                                + *

                                                The name of the provisioned product.

                                                */ - Id: string | undefined; + Name?: string; /** *

                                                The language code.

                                                @@ -2830,6 +2848,11 @@ export interface DescribeProvisionedProductInput { *
                                              */ AcceptLanguage?: string; + + /** + *

                                              The provisioned product identifier.

                                              + */ + Id?: string; } export namespace DescribeProvisionedProductInput { @@ -2866,57 +2889,11 @@ export enum ProvisionedProductStatus { *

                                              Information about a provisioned product.

                                              */ export interface ProvisionedProductDetail { - /** - *

                                              The product identifier. For example, prod-abcdzk7xy33qa.

                                              - */ - ProductId?: string; - - /** - *

                                              The current status message of the provisioned product.

                                              - */ - StatusMessage?: string; - - /** - *

                                              The identifier of the provisioned product.

                                              - */ - Id?: string; - - /** - *

                                              The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

                                              - */ - ProvisioningArtifactId?: string; - - /** - *

                                              The user-friendly name of the provisioned product.

                                              - */ - Name?: string; - /** *

                                              The record identifier of the last request performed on this provisioned product.

                                              */ LastRecordId?: string; - /** - *

                                              The ARN of the provisioned product.

                                              - */ - Arn?: string; - - /** - *

                                              The UTC time stamp of the creation time.

                                              - */ - CreatedTime?: Date; - - /** - *

                                              The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

                                              - */ - Type?: string; - - /** - *

                                              A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, - * the same response is returned for each repeated request.

                                              - */ - IdempotencyToken?: string; - /** *

                                              The current status of the provisioned product.

                                              *
                                                @@ -2949,25 +2926,125 @@ export interface ProvisionedProductDetail { *
                                              */ Status?: ProvisionedProductStatus | string; -} - -export namespace ProvisionedProductDetail { - export const filterSensitiveLog = (obj: ProvisionedProductDetail): any => ({ - ...obj, - }); -} -export interface DescribeProvisionedProductOutput { /** - *

                                              Any CloudWatch dashboards that were created when provisioning the product.

                                              + *

                                              The user-friendly name of the provisioned product.

                                              */ - CloudWatchDashboards?: CloudWatchDashboard[]; + Name?: string; /** - *

                                              Information about the provisioned product.

                                              + *

                                              The ARN of the provisioned product.

                                              */ - ProvisionedProductDetail?: ProvisionedProductDetail; -} + Arn?: string; + + /** + *

                                              The identifier of the provisioned product.

                                              + */ + Id?: string; + + /** + *

                                              The record identifier of the last successful request performed on this provisioned product of the following types:

                                              + *
                                                + *
                                              • + *

                                                + * ProvisionedProduct + *

                                                + *
                                              • + *
                                              • + *

                                                + * UpdateProvisionedProduct + *

                                                + *
                                              • + *
                                              • + *

                                                + * ExecuteProvisionedProductPlan + *

                                                + *
                                              • + *
                                              • + *

                                                + * TerminateProvisionedProduct + *

                                                + *
                                              • + *
                                              + */ + LastSuccessfulProvisioningRecordId?: string; + + /** + *

                                              The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

                                              + */ + ProvisioningArtifactId?: string; + + /** + *

                                              The record identifier of the last request performed on this provisioned product of the following types:

                                              + *
                                                + *
                                              • + *

                                                + * ProvisionedProduct + *

                                                + *
                                              • + *
                                              • + *

                                                + * UpdateProvisionedProduct + *

                                                + *
                                              • + *
                                              • + *

                                                + * ExecuteProvisionedProductPlan + *

                                                + *
                                              • + *
                                              • + *

                                                + * TerminateProvisionedProduct + *

                                                + *
                                              • + *
                                              + */ + LastProvisioningRecordId?: string; + + /** + *

                                              The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

                                              + */ + Type?: string; + + /** + *

                                              A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, + * the same response is returned for each repeated request.

                                              + */ + IdempotencyToken?: string; + + /** + *

                                              The current status message of the provisioned product.

                                              + */ + StatusMessage?: string; + + /** + *

                                              The UTC time stamp of the creation time.

                                              + */ + CreatedTime?: Date; + + /** + *

                                              The product identifier. For example, prod-abcdzk7xy33qa.

                                              + */ + ProductId?: string; +} + +export namespace ProvisionedProductDetail { + export const filterSensitiveLog = (obj: ProvisionedProductDetail): any => ({ + ...obj, + }); +} + +export interface DescribeProvisionedProductOutput { + /** + *

                                              Information about the provisioned product.

                                              + */ + ProvisionedProductDetail?: ProvisionedProductDetail; + + /** + *

                                              Any CloudWatch dashboards that were created when provisioning the product.

                                              + */ + CloudWatchDashboards?: CloudWatchDashboard[]; +} export namespace DescribeProvisionedProductOutput { export const filterSensitiveLog = (obj: DescribeProvisionedProductOutput): any => ({ @@ -2977,9 +3054,14 @@ export namespace DescribeProvisionedProductOutput { export interface DescribeProvisionedProductPlanInput { /** - *

                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                              + *

                                              The plan identifier.

                                              */ - PageToken?: string; + PlanId: string | undefined; + + /** + *

                                              The maximum number of items to return with this call.

                                              + */ + PageSize?: number; /** *

                                              The language code.

                                              @@ -3001,14 +3083,9 @@ export interface DescribeProvisionedProductPlanInput { AcceptLanguage?: string; /** - *

                                              The maximum number of items to return with this call.

                                              - */ - PageSize?: number; - - /** - *

                                              The plan identifier.

                                              + *

                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                              */ - PlanId: string | undefined; + PageToken?: string; } export namespace DescribeProvisionedProductPlanInput { @@ -3031,9 +3108,14 @@ export enum ProvisionedProductPlanStatus { */ export interface ProvisionedProductPlanDetails { /** - *

                                              The plan identifier.

                                              + *

                                              The name of the plan.

                                              */ - PlanId?: string; + PlanName?: string; + + /** + *

                                              The status message.

                                              + */ + StatusMessage?: string; /** *

                                              The status.

                                              @@ -3041,35 +3123,30 @@ export interface ProvisionedProductPlanDetails { Status?: ProvisionedProductPlanStatus | string; /** - *

                                              The user-friendly name of the provisioned product.

                                              + *

                                              The plan identifier.

                                              */ - ProvisionProductName?: string; + PlanId?: string; /** - *

                                              The plan type.

                                              + *

                                              Parameters specified by the administrator that are required for provisioning the + * product.

                                              */ - PlanType?: ProvisionedProductPlanType | string; + ProvisioningParameters?: UpdateProvisioningParameter[]; /** *

                                              The time when the plan was last updated.

                                              */ UpdatedTime?: Date; - /** - *

                                              The product identifier.

                                              - */ - ProvisionProductId?: string; - /** *

                                              One or more tags.

                                              */ Tags?: Tag[]; /** - *

                                              Parameters specified by the administrator that are required for provisioning the - * product.

                                              + *

                                              The product identifier.

                                              */ - ProvisioningParameters?: UpdateProvisioningParameter[]; + ProvisionProductId?: string; /** *

                                              The identifier of the provisioning artifact.

                                              @@ -3077,37 +3154,37 @@ export interface ProvisionedProductPlanDetails { ProvisioningArtifactId?: string; /** - *

                                              The path identifier of the product. This value is optional if the product - * has a default path, and required if the product has more than one path. - * To list the paths for a product, use ListLaunchPaths.

                                              + *

                                              The plan type.

                                              */ - PathId?: string; + PlanType?: ProvisionedProductPlanType | string; /** - *

                                              The status message.

                                              + *

                                              The product identifier.

                                              */ - StatusMessage?: string; + ProductId?: string; /** - *

                                              The name of the plan.

                                              + *

                                              The user-friendly name of the provisioned product.

                                              */ - PlanName?: string; + ProvisionProductName?: string; /** - *

                                              The UTC time stamp of the creation time.

                                              + *

                                              Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related + * events.

                                              */ - CreatedTime?: Date; + NotificationArns?: string[]; /** - *

                                              The product identifier.

                                              + *

                                              The path identifier of the product. This value is optional if the product + * has a default path, and required if the product has more than one path. + * To list the paths for a product, use ListLaunchPaths.

                                              */ - ProductId?: string; + PathId?: string; /** - *

                                              Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related - * events.

                                              + *

                                              The UTC time stamp of the creation time.

                                              */ - NotificationArns?: string[]; + CreatedTime?: Date; } export namespace ProvisionedProductPlanDetails { @@ -3146,12 +3223,6 @@ export enum RequiresRecreation { *

                                              Information about a change to a resource attribute.

                                              */ export interface ResourceTargetDefinition { - /** - *

                                              If the attribute is Properties, indicates whether a change to this property - * causes the resource to be re-created.

                                              - */ - RequiresRecreation?: RequiresRecreation | string; - /** *

                                              If the attribute is Properties, the value is the name of the property. * Otherwise, the value is null.

                                              @@ -3162,6 +3233,12 @@ export interface ResourceTargetDefinition { *

                                              The attribute to be changed.

                                              */ Attribute?: ResourceAttribute | string; + + /** + *

                                              If the attribute is Properties, indicates whether a change to this property + * causes the resource to be re-created.

                                              + */ + RequiresRecreation?: RequiresRecreation | string; } export namespace ResourceTargetDefinition { @@ -3179,16 +3256,16 @@ export interface ResourceChangeDetail { */ Target?: ResourceTargetDefinition; - /** - *

                                              The ID of the entity that caused the change.

                                              - */ - CausingEntity?: string; - /** *

                                              For static evaluations, the value of the resource attribute will change and the new value is known. * For dynamic evaluations, the value might change, and any new value will be determined when the plan is updated.

                                              */ Evaluation?: EvaluationType | string; + + /** + *

                                              The ID of the entity that caused the change.

                                              + */ + CausingEntity?: string; } export namespace ResourceChangeDetail { @@ -3208,40 +3285,40 @@ export enum Replacement { */ export interface ResourceChange { /** - *

                                              The ID of the resource, if it was already created.

                                              + *

                                              The change action.

                                              */ - PhysicalResourceId?: string; + Action?: ChangeAction | string; /** - *

                                              The type of resource.

                                              + *

                                              The ID of the resource, as defined in the CloudFormation template.

                                              */ - ResourceType?: string; + LogicalResourceId?: string; /** - *

                                              If the change type is Modify, indicates whether the existing resource - * is deleted and replaced with a new one.

                                              + *

                                              The change scope.

                                              */ - Replacement?: Replacement | string; + Scope?: (ResourceAttribute | string)[]; /** - *

                                              The change action.

                                              + *

                                              Information about the resource changes.

                                              */ - Action?: ChangeAction | string; + Details?: ResourceChangeDetail[]; /** - *

                                              The change scope.

                                              + *

                                              The ID of the resource, if it was already created.

                                              */ - Scope?: (ResourceAttribute | string)[]; + PhysicalResourceId?: string; /** - *

                                              The ID of the resource, as defined in the CloudFormation template.

                                              + *

                                              If the change type is Modify, indicates whether the existing resource + * is deleted and replaced with a new one.

                                              */ - LogicalResourceId?: string; + Replacement?: Replacement | string; /** - *

                                              Information about the resource changes.

                                              + *

                                              The type of resource.

                                              */ - Details?: ResourceChangeDetail[]; + ResourceType?: string; } export namespace ResourceChange { @@ -3251,11 +3328,6 @@ export namespace ResourceChange { } export interface DescribeProvisionedProductPlanOutput { - /** - *

                                              Information about the resource changes that will occur when the plan is executed.

                                              - */ - ResourceChanges?: ResourceChange[]; - /** *

                                              Information about the plan.

                                              */ @@ -3265,6 +3337,11 @@ export interface DescribeProvisionedProductPlanOutput { *

                                              The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                              */ NextPageToken?: string; + + /** + *

                                              Information about the resource changes that will occur when the plan is executed.

                                              + */ + ResourceChanges?: ResourceChange[]; } export namespace DescribeProvisionedProductPlanOutput { @@ -3274,6 +3351,21 @@ export namespace DescribeProvisionedProductPlanOutput { } export interface DescribeProvisioningArtifactInput { + /** + *

                                              Indicates whether a verbose level of detail is enabled.

                                              + */ + Verbose?: boolean; + + /** + *

                                              The identifier of the provisioning artifact.

                                              + */ + ProvisioningArtifactId?: string; + + /** + *

                                              The product identifier.

                                              + */ + ProductId?: string; + /** *

                                              The language code.

                                              *
                                                @@ -3294,29 +3386,14 @@ export interface DescribeProvisioningArtifactInput { AcceptLanguage?: string; /** - *

                                                The identifier of the provisioning artifact.

                                                - */ - ProvisioningArtifactId?: string; - - /** - *

                                                The product identifier.

                                                + *

                                                The provisioning artifact name.

                                                */ - ProductId?: string; + ProvisioningArtifactName?: string; /** *

                                                The product name.

                                                */ ProductName?: string; - - /** - *

                                                Indicates whether a verbose level of detail is enabled.

                                                - */ - Verbose?: boolean; - - /** - *

                                                The provisioning artifact name.

                                                - */ - ProvisioningArtifactName?: string; } export namespace DescribeProvisioningArtifactInput { @@ -3327,14 +3404,14 @@ export namespace DescribeProvisioningArtifactInput { export interface DescribeProvisioningArtifactOutput { /** - *

                                                The status of the current request.

                                                + *

                                                The URL of the CloudFormation template in Amazon S3.

                                                */ - Status?: Status | string; + Info?: { [key: string]: string }; /** - *

                                                The URL of the CloudFormation template in Amazon S3.

                                                + *

                                                The status of the current request.

                                                */ - Info?: { [key: string]: string }; + Status?: Status | string; /** *

                                                Information about the provisioning artifact.

                                                @@ -3349,11 +3426,23 @@ export namespace DescribeProvisioningArtifactOutput { } export interface DescribeProvisioningParametersInput { + /** + *

                                                The path identifier of the product. This value is optional if the product + * has a default path, and required if the product has more than one path. + * To list the paths for a product, use ListLaunchPaths. You must provide the name or ID, but not both.

                                                + */ + PathId?: string; + /** *

                                                The identifier of the provisioning artifact. You must provide the name or ID, but not both.

                                                */ ProvisioningArtifactId?: string; + /** + *

                                                The name of the path. You must provide the name or ID, but not both.

                                                + */ + PathName?: string; + /** *

                                                The language code.

                                                *
                                                  @@ -3374,31 +3463,19 @@ export interface DescribeProvisioningParametersInput { AcceptLanguage?: string; /** - *

                                                  The name of the path. You must provide the name or ID, but not both.

                                                  + *

                                                  The product identifier. You must provide the product name or ID, but not both.

                                                  */ - PathName?: string; + ProductId?: string; /** *

                                                  The name of the provisioning artifact. You must provide the name or ID, but not both.

                                                  */ ProvisioningArtifactName?: string; - /** - *

                                                  The product identifier. You must provide the product name or ID, but not both.

                                                  - */ - ProductId?: string; - /** *

                                                  The name of the product. You must provide the name or ID, but not both.

                                                  */ ProductName?: string; - - /** - *

                                                  The path identifier of the product. This value is optional if the product - * has a default path, and required if the product has more than one path. - * To list the paths for a product, use ListLaunchPaths. You must provide the name or ID, but not both.

                                                  - */ - PathId?: string; } export namespace DescribeProvisioningParametersInput { @@ -3453,14 +3530,14 @@ export namespace ConstraintSummary { */ export interface ProvisioningArtifactOutput { /** - *

                                                  Description of the provisioning artifact output key.

                                                  + *

                                                  The provisioning artifact output key.

                                                  */ - Description?: string; + Key?: string; /** - *

                                                  The provisioning artifact output key.

                                                  + *

                                                  Description of the provisioning artifact output key.

                                                  */ - Key?: string; + Description?: string; } export namespace ProvisioningArtifactOutput { @@ -3489,6 +3566,16 @@ export namespace ParameterConstraints { *

                                                  Information about a parameter used to provision a product.

                                                  */ export interface ProvisioningArtifactParameter { + /** + *

                                                  The parameter type.

                                                  + */ + ParameterType?: string; + + /** + *

                                                  The description of the parameter.

                                                  + */ + Description?: string; + /** *

                                                  If this value is true, the value for this parameter is obfuscated from view when the * parameter is retrieved. This parameter is used to hide sensitive information.

                                                  @@ -3501,24 +3588,14 @@ export interface ProvisioningArtifactParameter { ParameterConstraints?: ParameterConstraints; /** - *

                                                  The parameter type.

                                                  + *

                                                  The parameter key.

                                                  */ - ParameterType?: string; + ParameterKey?: string; /** *

                                                  The default value.

                                                  */ DefaultValue?: string; - - /** - *

                                                  The description of the parameter.

                                                  - */ - Description?: string; - - /** - *

                                                  The parameter key.

                                                  - */ - ParameterKey?: string; } export namespace ProvisioningArtifactParameter { @@ -3577,14 +3654,14 @@ export namespace TagOptionSummary { */ export interface UsageInstruction { /** - *

                                                  The usage instruction value for this type.

                                                  + *

                                                  The usage instruction type for the value.

                                                  */ - Value?: string; + Type?: string; /** - *

                                                  The usage instruction type for the value.

                                                  + *

                                                  The usage instruction value for this type.

                                                  */ - Type?: string; + Value?: string; } export namespace UsageInstruction { @@ -3595,9 +3672,9 @@ export namespace UsageInstruction { export interface DescribeProvisioningParametersOutput { /** - *

                                                  Information about the constraints used to provision the product.

                                                  + *

                                                  Information about the TagOptions associated with the resource.

                                                  */ - ConstraintSummaries?: ConstraintSummary[]; + TagOptions?: TagOptionSummary[]; /** *

                                                  Information about the parameters used to provision the product.

                                                  @@ -3610,9 +3687,10 @@ export interface DescribeProvisioningParametersOutput { ProvisioningArtifactPreferences?: ProvisioningArtifactPreferences; /** - *

                                                  Information about the TagOptions associated with the resource.

                                                  + *

                                                  Any additional metadata specifically related to the provisioning of the product. For + * example, see the Version field of the CloudFormation template.

                                                  */ - TagOptions?: TagOptionSummary[]; + UsageInstructions?: UsageInstruction[]; /** *

                                                  The output of the provisioning artifact.

                                                  @@ -3620,10 +3698,9 @@ export interface DescribeProvisioningParametersOutput { ProvisioningArtifactOutputs?: ProvisioningArtifactOutput[]; /** - *

                                                  Any additional metadata specifically related to the provisioning of the product. For - * example, see the Version field of the CloudFormation template.

                                                  + *

                                                  Information about the constraints used to provision the product.

                                                  */ - UsageInstructions?: UsageInstruction[]; + ConstraintSummaries?: ConstraintSummary[]; } export namespace DescribeProvisioningParametersOutput { @@ -3633,6 +3710,22 @@ export namespace DescribeProvisioningParametersOutput { } export interface DescribeRecordInput { + /** + *

                                                  The maximum number of items to return with this call.

                                                  + */ + PageSize?: number; + + /** + *

                                                  The page token for the next set of results. To retrieve the first set of results, use null.

                                                  + */ + PageToken?: string; + + /** + *

                                                  The record identifier of the provisioned product. This identifier is returned by the + * request operation.

                                                  + */ + Id: string | undefined; + /** *

                                                  The language code.

                                                  *
                                                    @@ -3651,22 +3744,6 @@ export interface DescribeRecordInput { *
                                                  */ AcceptLanguage?: string; - - /** - *

                                                  The page token for the next set of results. To retrieve the first set of results, use null.

                                                  - */ - PageToken?: string; - - /** - *

                                                  The maximum number of items to return with this call.

                                                  - */ - PageSize?: number; - - /** - *

                                                  The record identifier of the provisioned product. This identifier is returned by the - * request operation.

                                                  - */ - Id: string | undefined; } export namespace DescribeRecordInput { @@ -3701,14 +3778,14 @@ export namespace RecordError { */ export interface RecordTag { /** - *

                                                  The key for this tag.

                                                  + *

                                                  The value for this tag.

                                                  */ - Key?: string; + Value?: string; /** - *

                                                  The value for this tag.

                                                  + *

                                                  The key for this tag.

                                                  */ - Value?: string; + Key?: string; } export namespace RecordTag { @@ -3729,6 +3806,11 @@ export enum RecordStatus { *

                                                  Information about a request operation.

                                                  */ export interface RecordDetail { + /** + *

                                                  The UTC time stamp of the creation time.

                                                  + */ + CreatedTime?: Date; + /** *

                                                  The status of the provisioned product.

                                                  *
                                                    @@ -3759,19 +3841,19 @@ export interface RecordDetail { Status?: RecordStatus | string; /** - *

                                                    One or more tags.

                                                    + *

                                                    The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

                                                    */ - RecordTags?: RecordTag[]; + ProvisionedProductType?: string; /** - *

                                                    The UTC time stamp of the creation time.

                                                    + *

                                                    The path identifier.

                                                    */ - CreatedTime?: Date; + PathId?: string; /** - *

                                                    The product identifier.

                                                    + *

                                                    The user-friendly name of the provisioned product.

                                                    */ - ProductId?: string; + ProvisionedProductName?: string; /** *

                                                    The record type.

                                                    @@ -3796,44 +3878,39 @@ export interface RecordDetail { RecordType?: string; /** - *

                                                    The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

                                                    + *

                                                    One or more tags.

                                                    */ - ProvisionedProductType?: string; + RecordTags?: RecordTag[]; /** - *

                                                    The path identifier.

                                                    + *

                                                    The time when the record was last updated.

                                                    */ - PathId?: string; + UpdatedTime?: Date; /** - *

                                                    The identifier of the record.

                                                    + *

                                                    The product identifier.

                                                    */ - RecordId?: string; + ProductId?: string; /** - *

                                                    The identifier of the provisioning artifact.

                                                    + *

                                                    The errors that occurred.

                                                    */ - ProvisioningArtifactId?: string; + RecordErrors?: RecordError[]; /** - *

                                                    The time when the record was last updated.

                                                    + *

                                                    The identifier of the provisioning artifact.

                                                    */ - UpdatedTime?: Date; + ProvisioningArtifactId?: string; /** - *

                                                    The user-friendly name of the provisioned product.

                                                    + *

                                                    The identifier of the record.

                                                    */ - ProvisionedProductName?: string; + RecordId?: string; /** *

                                                    The identifier of the provisioned product.

                                                    */ ProvisionedProductId?: string; - - /** - *

                                                    The errors that occurred.

                                                    - */ - RecordErrors?: RecordError[]; } export namespace RecordDetail { @@ -3847,11 +3924,6 @@ export namespace RecordDetail { * a CloudFormation-backed product that creates an S3 bucket would include the S3 bucket URL.

                                                    */ export interface RecordOutput { - /** - *

                                                    The description of the output.

                                                    - */ - Description?: string; - /** *

                                                    The output key.

                                                    */ @@ -3861,6 +3933,11 @@ export interface RecordOutput { *

                                                    The output value.

                                                    */ OutputValue?: string; + + /** + *

                                                    The description of the output.

                                                    + */ + Description?: string; } export namespace RecordOutput { @@ -3871,14 +3948,14 @@ export namespace RecordOutput { export interface DescribeRecordOutput { /** - *

                                                    Information about the product.

                                                    + *

                                                    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                    */ - RecordDetail?: RecordDetail; + NextPageToken?: string; /** - *

                                                    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                    + *

                                                    Information about the product.

                                                    */ - NextPageToken?: string; + RecordDetail?: RecordDetail; /** *

                                                    Information about the product created as the result of a request. For example, the output for @@ -3939,6 +4016,11 @@ export namespace DescribeServiceActionOutput { } export interface DescribeServiceActionExecutionParametersInput { + /** + *

                                                    The identifier of the provisioned product.

                                                    + */ + ProvisionedProductId: string | undefined; + /** *

                                                    The self-service action identifier.

                                                    */ @@ -3962,11 +4044,6 @@ export interface DescribeServiceActionExecutionParametersInput { *
                                                  */ AcceptLanguage?: string; - - /** - *

                                                  The identifier of the provisioned product.

                                                  - */ - ProvisionedProductId: string | undefined; } export namespace DescribeServiceActionExecutionParametersInput { @@ -3979,11 +4056,6 @@ export namespace DescribeServiceActionExecutionParametersInput { *

                                                  Details of an execution parameter value that is passed to a self-service action when executed on a provisioned product.

                                                  */ export interface ExecutionParameter { - /** - *

                                                  The name of the execution parameter.

                                                  - */ - Name?: string; - /** *

                                                  The execution parameter type.

                                                  */ @@ -3993,6 +4065,11 @@ export interface ExecutionParameter { *

                                                  The default values for the execution parameter.

                                                  */ DefaultValues?: string[]; + + /** + *

                                                  The name of the execution parameter.

                                                  + */ + Name?: string; } export namespace ExecutionParameter { @@ -4083,6 +4160,11 @@ export namespace DisassociateBudgetFromResourceOutput { } export interface DisassociatePrincipalFromPortfolioInput { + /** + *

                                                  The ARN of the principal (IAM user, role, or group).

                                                  + */ + PrincipalARN: string | undefined; + /** *

                                                  The language code.

                                                  *
                                                    @@ -4106,11 +4188,6 @@ export interface DisassociatePrincipalFromPortfolioInput { *

                                                    The portfolio identifier.

                                                    */ PortfolioId: string | undefined; - - /** - *

                                                    The ARN of the principal (IAM user, role, or group).

                                                    - */ - PrincipalARN: string | undefined; } export namespace DisassociatePrincipalFromPortfolioInput { @@ -4128,11 +4205,6 @@ export namespace DisassociatePrincipalFromPortfolioOutput { } export interface DisassociateProductFromPortfolioInput { - /** - *

                                                    The portfolio identifier.

                                                    - */ - PortfolioId: string | undefined; - /** *

                                                    The product identifier.

                                                    */ @@ -4156,6 +4228,11 @@ export interface DisassociateProductFromPortfolioInput { *
                                                  */ AcceptLanguage?: string; + + /** + *

                                                  The portfolio identifier.

                                                  + */ + PortfolioId: string | undefined; } export namespace DisassociateProductFromPortfolioInput { @@ -4174,14 +4251,14 @@ export namespace DisassociateProductFromPortfolioOutput { export interface DisassociateServiceActionFromProvisioningArtifactInput { /** - *

                                                  The product identifier. For example, prod-abcdzk7xy33qa.

                                                  + *

                                                  The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

                                                  */ - ProductId: string | undefined; + ProvisioningArtifactId: string | undefined; /** - *

                                                  The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

                                                  + *

                                                  The product identifier. For example, prod-abcdzk7xy33qa.

                                                  */ - ProvisioningArtifactId: string | undefined; + ProductId: string | undefined; /** *

                                                  The language code.

                                                  @@ -4265,17 +4342,17 @@ export namespace EnableAWSOrganizationsAccessOutput { } export interface ExecuteProvisionedProductPlanInput { - /** - *

                                                  The plan identifier.

                                                  - */ - PlanId: string | undefined; - /** *

                                                  A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, * the same response is returned for each repeated request.

                                                  */ IdempotencyToken?: string; + /** + *

                                                  The plan identifier.

                                                  + */ + PlanId: string | undefined; + /** *

                                                  The language code.

                                                  *
                                                    @@ -4324,9 +4401,9 @@ export interface ExecuteProvisionedProductServiceActionInput { Parameters?: { [key: string]: string[] }; /** - *

                                                    The self-service action identifier. For example, act-fs7abcd89wxyz.

                                                    + *

                                                    The identifier of the provisioned product.

                                                    */ - ServiceActionId: string | undefined; + ProvisionedProductId: string | undefined; /** *

                                                    An idempotency token that uniquely identifies the execute request.

                                                    @@ -4334,9 +4411,9 @@ export interface ExecuteProvisionedProductServiceActionInput { ExecuteToken?: string; /** - *

                                                    The identifier of the provisioned product.

                                                    + *

                                                    The self-service action identifier. For example, act-fs7abcd89wxyz.

                                                    */ - ProvisionedProductId: string | undefined; + ServiceActionId: string | undefined; /** *

                                                    The language code.

                                                    @@ -4358,47 +4435,123 @@ export interface ExecuteProvisionedProductServiceActionInput { AcceptLanguage?: string; } -export namespace ExecuteProvisionedProductServiceActionInput { - export const filterSensitiveLog = (obj: ExecuteProvisionedProductServiceActionInput): any => ({ - ...obj, - }); -} +export namespace ExecuteProvisionedProductServiceActionInput { + export const filterSensitiveLog = (obj: ExecuteProvisionedProductServiceActionInput): any => ({ + ...obj, + }); +} + +export interface ExecuteProvisionedProductServiceActionOutput { + /** + *

                                                    An object containing detailed information about the result of provisioning the product.

                                                    + */ + RecordDetail?: RecordDetail; +} + +export namespace ExecuteProvisionedProductServiceActionOutput { + export const filterSensitiveLog = (obj: ExecuteProvisionedProductServiceActionOutput): any => ({ + ...obj, + }); +} + +export interface GetAWSOrganizationsAccessStatusInput {} + +export namespace GetAWSOrganizationsAccessStatusInput { + export const filterSensitiveLog = (obj: GetAWSOrganizationsAccessStatusInput): any => ({ + ...obj, + }); +} + +export interface GetAWSOrganizationsAccessStatusOutput { + /** + *

                                                    The status of the portfolio share feature.

                                                    + */ + AccessStatus?: AccessStatus | string; +} + +export namespace GetAWSOrganizationsAccessStatusOutput { + export const filterSensitiveLog = (obj: GetAWSOrganizationsAccessStatusOutput): any => ({ + ...obj, + }); +} + +export interface GetProvisionedProductOutputsInput { + /** + *

                                                    The list of keys that the API should return with their values. If none are provided, the API will return all outputs of the provisioned product.

                                                    + */ + OutputKeys?: string[]; + + /** + *

                                                    The language code.

                                                    + *
                                                      + *
                                                    • + *

                                                      + * en - English (default)

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * jp - Japanese

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * zh - Chinese

                                                      + *
                                                    • + *
                                                    + */ + AcceptLanguage?: string; + + /** + *

                                                    The identifier of the provisioned product that you want the outputs from.

                                                    + */ + ProvisionedProductId?: string; + + /** + *

                                                    The maximum number of items to return with this call.

                                                    + */ + PageSize?: number; + + /** + *

                                                    The page token for the next set of results. To retrieve the first set of results, use null.

                                                    + */ + PageToken?: string; -export interface ExecuteProvisionedProductServiceActionOutput { /** - *

                                                    An object containing detailed information about the result of provisioning the product.

                                                    + *

                                                    The name of the provisioned product that you want the outputs from.

                                                    */ - RecordDetail?: RecordDetail; + ProvisionedProductName?: string; } -export namespace ExecuteProvisionedProductServiceActionOutput { - export const filterSensitiveLog = (obj: ExecuteProvisionedProductServiceActionOutput): any => ({ +export namespace GetProvisionedProductOutputsInput { + export const filterSensitiveLog = (obj: GetProvisionedProductOutputsInput): any => ({ ...obj, }); } -export interface GetAWSOrganizationsAccessStatusInput {} - -export namespace GetAWSOrganizationsAccessStatusInput { - export const filterSensitiveLog = (obj: GetAWSOrganizationsAccessStatusInput): any => ({ - ...obj, - }); -} +export interface GetProvisionedProductOutputsOutput { + /** + *

                                                    Information about the product created as the result of a request. For example, the output for a CloudFormation-backed product that creates an S3 bucket would include the S3 bucket URL. + *

                                                    + */ + Outputs?: RecordOutput[]; -export interface GetAWSOrganizationsAccessStatusOutput { /** - *

                                                    The status of the portfolio share feature.

                                                    + *

                                                    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                    */ - AccessStatus?: AccessStatus | string; + NextPageToken?: string; } -export namespace GetAWSOrganizationsAccessStatusOutput { - export const filterSensitiveLog = (obj: GetAWSOrganizationsAccessStatusOutput): any => ({ +export namespace GetProvisionedProductOutputsOutput { + export const filterSensitiveLog = (obj: GetProvisionedProductOutputsOutput): any => ({ ...obj, }); } export interface ListAcceptedPortfolioSharesInput { + /** + *

                                                    The maximum number of items to return with this call.

                                                    + */ + PageSize?: number; + /** *

                                                    The language code.

                                                    *
                                                      @@ -4419,16 +4572,17 @@ export interface ListAcceptedPortfolioSharesInput { AcceptLanguage?: string; /** - *

                                                      The maximum number of items to return with this call.

                                                      + *

                                                      The page token for the next set of results. To retrieve the first set of results, use null.

                                                      */ - PageSize?: number; + PageToken?: string; /** *

                                                      The type of shared portfolios to list. The default is to list imported portfolios.

                                                      *
                                                        *
                                                      • *

                                                        - * AWS_ORGANIZATIONS - List portfolios shared by the master account of your organization

                                                        + * AWS_ORGANIZATIONS - List portfolios shared by the management + * account of your organization

                                                        *
                                                      • *
                                                      • *

                                                        @@ -4441,11 +4595,6 @@ export interface ListAcceptedPortfolioSharesInput { *

                                                      */ PortfolioShareType?: PortfolioShareType | string; - - /** - *

                                                      The page token for the next set of results. To retrieve the first set of results, use null.

                                                      - */ - PageToken?: string; } export namespace ListAcceptedPortfolioSharesInput { @@ -4473,6 +4622,21 @@ export namespace ListAcceptedPortfolioSharesOutput { } export interface ListBudgetsForResourceInput { + /** + *

                                                      The resource identifier.

                                                      + */ + ResourceId: string | undefined; + + /** + *

                                                      The maximum number of items to return with this call.

                                                      + */ + PageSize?: number; + + /** + *

                                                      The page token for the next set of results. To retrieve the first set of results, use null.

                                                      + */ + PageToken?: string; + /** *

                                                      The language code.

                                                      *
                                                        @@ -4491,21 +4655,6 @@ export interface ListBudgetsForResourceInput { *
                                                      */ AcceptLanguage?: string; - - /** - *

                                                      The page token for the next set of results. To retrieve the first set of results, use null.

                                                      - */ - PageToken?: string; - - /** - *

                                                      The maximum number of items to return with this call.

                                                      - */ - PageSize?: number; - - /** - *

                                                      The resource identifier.

                                                      - */ - ResourceId: string | undefined; } export namespace ListBudgetsForResourceInput { @@ -4516,14 +4665,14 @@ export namespace ListBudgetsForResourceInput { export interface ListBudgetsForResourceOutput { /** - *

                                                      Information about the associated budgets.

                                                      + *

                                                      The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                      */ - Budgets?: BudgetDetail[]; + NextPageToken?: string; /** - *

                                                      The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                      + *

                                                      Information about the associated budgets.

                                                      */ - NextPageToken?: string; + Budgets?: BudgetDetail[]; } export namespace ListBudgetsForResourceOutput { @@ -4533,6 +4682,16 @@ export namespace ListBudgetsForResourceOutput { } export interface ListConstraintsForPortfolioInput { + /** + *

                                                      The page token for the next set of results. To retrieve the first set of results, use null.

                                                      + */ + PageToken?: string; + + /** + *

                                                      The portfolio identifier.

                                                      + */ + PortfolioId: string | undefined; + /** *

                                                      The language code.

                                                      *
                                                        @@ -4552,11 +4711,6 @@ export interface ListConstraintsForPortfolioInput { */ AcceptLanguage?: string; - /** - *

                                                        The portfolio identifier.

                                                        - */ - PortfolioId: string | undefined; - /** *

                                                        The product identifier.

                                                        */ @@ -4566,11 +4720,6 @@ export interface ListConstraintsForPortfolioInput { *

                                                        The maximum number of items to return with this call.

                                                        */ PageSize?: number; - - /** - *

                                                        The page token for the next set of results. To retrieve the first set of results, use null.

                                                        - */ - PageToken?: string; } export namespace ListConstraintsForPortfolioInput { @@ -4581,14 +4730,14 @@ export namespace ListConstraintsForPortfolioInput { export interface ListConstraintsForPortfolioOutput { /** - *

                                                        Information about the constraints.

                                                        + *

                                                        The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                        */ - ConstraintDetails?: ConstraintDetail[]; + NextPageToken?: string; /** - *

                                                        The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                        + *

                                                        Information about the constraints.

                                                        */ - NextPageToken?: string; + ConstraintDetails?: ConstraintDetail[]; } export namespace ListConstraintsForPortfolioOutput { @@ -4603,6 +4752,16 @@ export interface ListLaunchPathsInput { */ ProductId: string | undefined; + /** + *

                                                        The maximum number of items to return with this call.

                                                        + */ + PageSize?: number; + + /** + *

                                                        The page token for the next set of results. To retrieve the first set of results, use null.

                                                        + */ + PageToken?: string; + /** *

                                                        The language code.

                                                        *
                                                          @@ -4621,16 +4780,6 @@ export interface ListLaunchPathsInput { *
                                                        */ AcceptLanguage?: string; - - /** - *

                                                        The page token for the next set of results. To retrieve the first set of results, use null.

                                                        - */ - PageToken?: string; - - /** - *

                                                        The maximum number of items to return with this call.

                                                        - */ - PageSize?: number; } export namespace ListLaunchPathsInput { @@ -4689,6 +4838,11 @@ export namespace ListLaunchPathsOutput { } export interface ListOrganizationPortfolioAccessInput { + /** + *

                                                        The maximum number of items to return with this call.

                                                        + */ + PageSize?: number; + /** *

                                                        The organization node type that will be returned in the output.

                                                        *
                                                          @@ -4718,11 +4872,6 @@ export interface ListOrganizationPortfolioAccessInput { */ PortfolioId: string | undefined; - /** - *

                                                          The maximum number of items to return with this call.

                                                          - */ - PageSize?: number; - /** *

                                                          The language code.

                                                          *
                                                            @@ -4751,14 +4900,14 @@ export namespace ListOrganizationPortfolioAccessInput { export interface ListOrganizationPortfolioAccessOutput { /** - *

                                                            The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                            + *

                                                            Displays information about the organization nodes.

                                                            */ - NextPageToken?: string; + OrganizationNodes?: OrganizationNode[]; /** - *

                                                            Displays information about the organization nodes.

                                                            + *

                                                            The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                            */ - OrganizationNodes?: OrganizationNode[]; + NextPageToken?: string; } export namespace ListOrganizationPortfolioAccessOutput { @@ -4769,14 +4918,9 @@ export namespace ListOrganizationPortfolioAccessOutput { export interface ListPortfolioAccessInput { /** - *

                                                            The maximum number of items to return with this call.

                                                            - */ - PageSize?: number; - - /** - *

                                                            The portfolio identifier.

                                                            + *

                                                            The page token for the next set of results. To retrieve the first set of results, use null.

                                                            */ - PortfolioId: string | undefined; + PageToken?: string; /** *

                                                            The language code.

                                                            @@ -4803,9 +4947,14 @@ export interface ListPortfolioAccessInput { OrganizationParentId?: string; /** - *

                                                            The page token for the next set of results. To retrieve the first set of results, use null.

                                                            + *

                                                            The portfolio identifier.

                                                            */ - PageToken?: string; + PortfolioId: string | undefined; + + /** + *

                                                            The maximum number of items to return with this call.

                                                            + */ + PageSize?: number; } export namespace ListPortfolioAccessInput { @@ -4816,14 +4965,14 @@ export namespace ListPortfolioAccessInput { export interface ListPortfolioAccessOutput { /** - *

                                                            The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                            + *

                                                            Information about the AWS accounts with access to the portfolio.

                                                            */ - NextPageToken?: string; + AccountIds?: string[]; /** - *

                                                            Information about the AWS accounts with access to the portfolio.

                                                            + *

                                                            The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                            */ - AccountIds?: string[]; + NextPageToken?: string; } export namespace ListPortfolioAccessOutput { @@ -4833,16 +4982,6 @@ export namespace ListPortfolioAccessOutput { } export interface ListPortfoliosInput { - /** - *

                                                            The maximum number of items to return with this call.

                                                            - */ - PageSize?: number; - - /** - *

                                                            The page token for the next set of results. To retrieve the first set of results, use null.

                                                            - */ - PageToken?: string; - /** *

                                                            The language code.

                                                            *
                                                              @@ -4861,6 +5000,16 @@ export interface ListPortfoliosInput { *
                                                            */ AcceptLanguage?: string; + + /** + *

                                                            The page token for the next set of results. To retrieve the first set of results, use null.

                                                            + */ + PageToken?: string; + + /** + *

                                                            The maximum number of items to return with this call.

                                                            + */ + PageSize?: number; } export namespace ListPortfoliosInput { @@ -4871,14 +5020,14 @@ export namespace ListPortfoliosInput { export interface ListPortfoliosOutput { /** - *

                                                            The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                            + *

                                                            Information about the portfolios.

                                                            */ - NextPageToken?: string; + PortfolioDetails?: PortfolioDetail[]; /** - *

                                                            Information about the portfolios.

                                                            + *

                                                            The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                            */ - PortfolioDetails?: PortfolioDetail[]; + NextPageToken?: string; } export namespace ListPortfoliosOutput { @@ -4907,6 +5056,11 @@ export interface ListPortfoliosForProductInput { */ AcceptLanguage?: string; + /** + *

                                                            The page token for the next set of results. To retrieve the first set of results, use null.

                                                            + */ + PageToken?: string; + /** *

                                                            The product identifier.

                                                            */ @@ -4916,11 +5070,6 @@ export interface ListPortfoliosForProductInput { *

                                                            The maximum number of items to return with this call.

                                                            */ PageSize?: number; - - /** - *

                                                            The page token for the next set of results. To retrieve the first set of results, use null.

                                                            - */ - PageToken?: string; } export namespace ListPortfoliosForProductInput { @@ -4931,14 +5080,14 @@ export namespace ListPortfoliosForProductInput { export interface ListPortfoliosForProductOutput { /** - *

                                                            Information about the portfolios.

                                                            + *

                                                            The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                            */ - PortfolioDetails?: PortfolioDetail[]; + NextPageToken?: string; /** - *

                                                            The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                            + *

                                                            Information about the portfolios.

                                                            */ - NextPageToken?: string; + PortfolioDetails?: PortfolioDetail[]; } export namespace ListPortfoliosForProductOutput { @@ -4948,11 +5097,6 @@ export namespace ListPortfoliosForProductOutput { } export interface ListPrincipalsForPortfolioInput { - /** - *

                                                            The maximum number of items to return with this call.

                                                            - */ - PageSize?: number; - /** *

                                                            The language code.

                                                            *
                                                              @@ -4977,6 +5121,11 @@ export interface ListPrincipalsForPortfolioInput { */ PageToken?: string; + /** + *

                                                              The maximum number of items to return with this call.

                                                              + */ + PageSize?: number; + /** *

                                                              The portfolio identifier.

                                                              */ @@ -5029,16 +5178,6 @@ export namespace ListPrincipalsForPortfolioOutput { } export interface ListProvisionedProductPlansInput { - /** - *

                                                              The access level to use to obtain results. The default is User.

                                                              - */ - AccessLevelFilter?: AccessLevelFilter; - - /** - *

                                                              The maximum number of items to return with this call.

                                                              - */ - PageSize?: number; - /** *

                                                              The language code.

                                                              *
                                                                @@ -5059,14 +5198,24 @@ export interface ListProvisionedProductPlansInput { AcceptLanguage?: string; /** - *

                                                                The page token for the next set of results. To retrieve the first set of results, use null.

                                                                + *

                                                                The access level to use to obtain results. The default is User.

                                                                */ - PageToken?: string; + AccessLevelFilter?: AccessLevelFilter; + + /** + *

                                                                The product identifier.

                                                                + */ + ProvisionProductId?: string; + + /** + *

                                                                The maximum number of items to return with this call.

                                                                + */ + PageSize?: number; /** - *

                                                                The product identifier.

                                                                + *

                                                                The page token for the next set of results. To retrieve the first set of results, use null.

                                                                */ - ProvisionProductId?: string; + PageToken?: string; } export namespace ListProvisionedProductPlansInput { @@ -5079,16 +5228,6 @@ export namespace ListProvisionedProductPlansInput { *

                                                                Summary information about a plan.

                                                                */ export interface ProvisionedProductPlanSummary { - /** - *

                                                                The user-friendly name of the provisioned product.

                                                                - */ - ProvisionProductName?: string; - - /** - *

                                                                The identifier of the provisioning artifact.

                                                                - */ - ProvisioningArtifactId?: string; - /** *

                                                                The plan identifier.

                                                                */ @@ -5108,6 +5247,16 @@ export interface ProvisionedProductPlanSummary { *

                                                                The plan type.

                                                                */ PlanType?: ProvisionedProductPlanType | string; + + /** + *

                                                                The user-friendly name of the provisioned product.

                                                                + */ + ProvisionProductName?: string; + + /** + *

                                                                The identifier of the provisioning artifact.

                                                                + */ + ProvisioningArtifactId?: string; } export namespace ProvisionedProductPlanSummary { @@ -5118,14 +5267,14 @@ export namespace ProvisionedProductPlanSummary { export interface ListProvisionedProductPlansOutput { /** - *

                                                                The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                                + *

                                                                Information about the plans.

                                                                */ - NextPageToken?: string; + ProvisionedProductPlans?: ProvisionedProductPlanSummary[]; /** - *

                                                                Information about the plans.

                                                                + *

                                                                The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                                */ - ProvisionedProductPlans?: ProvisionedProductPlanSummary[]; + NextPageToken?: string; } export namespace ListProvisionedProductPlansOutput { @@ -5185,6 +5334,16 @@ export namespace ListProvisioningArtifactsOutput { } export interface ListProvisioningArtifactsForServiceActionInput { + /** + *

                                                                The maximum number of items to return with this call.

                                                                + */ + PageSize?: number; + + /** + *

                                                                The page token for the next set of results. To retrieve the first set of results, use null.

                                                                + */ + PageToken?: string; + /** *

                                                                The self-service action identifier. For example, act-fs7abcd89wxyz.

                                                                */ @@ -5208,16 +5367,6 @@ export interface ListProvisioningArtifactsForServiceActionInput { *
                                                              */ AcceptLanguage?: string; - - /** - *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              - */ - PageToken?: string; - - /** - *

                                                              The maximum number of items to return with this call.

                                                              - */ - PageSize?: number; } export namespace ListProvisioningArtifactsForServiceActionInput { @@ -5298,19 +5447,9 @@ export namespace ListRecordHistorySearchFilter { export interface ListRecordHistoryInput { /** - *

                                                              The access level to use to obtain results. The default is User.

                                                              - */ - AccessLevelFilter?: AccessLevelFilter; - - /** - *

                                                              The maximum number of items to return with this call.

                                                              - */ - PageSize?: number; - - /** - *

                                                              The search filter to scope the results.

                                                              + *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              */ - SearchFilter?: ListRecordHistorySearchFilter; + PageToken?: string; /** *

                                                              The language code.

                                                              @@ -5332,9 +5471,19 @@ export interface ListRecordHistoryInput { AcceptLanguage?: string; /** - *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              + *

                                                              The search filter to scope the results.

                                                              */ - PageToken?: string; + SearchFilter?: ListRecordHistorySearchFilter; + + /** + *

                                                              The maximum number of items to return with this call.

                                                              + */ + PageSize?: number; + + /** + *

                                                              The access level to use to obtain results. The default is User.

                                                              + */ + AccessLevelFilter?: AccessLevelFilter; } export namespace ListRecordHistoryInput { @@ -5345,14 +5494,14 @@ export namespace ListRecordHistoryInput { export interface ListRecordHistoryOutput { /** - *

                                                              The records, in reverse chronological order.

                                                              + *

                                                              The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                              */ - RecordDetails?: RecordDetail[]; + NextPageToken?: string; /** - *

                                                              The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                              + *

                                                              The records, in reverse chronological order.

                                                              */ - NextPageToken?: string; + RecordDetails?: RecordDetail[]; } export namespace ListRecordHistoryOutput { @@ -5362,21 +5511,6 @@ export namespace ListRecordHistoryOutput { } export interface ListResourcesForTagOptionInput { - /** - *

                                                              The TagOption identifier.

                                                              - */ - TagOptionId: string | undefined; - - /** - *

                                                              The maximum number of items to return with this call.

                                                              - */ - PageSize?: number; - - /** - *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              - */ - PageToken?: string; - /** *

                                                              The resource type.

                                                              *
                                                                @@ -5393,6 +5527,21 @@ export interface ListResourcesForTagOptionInput { *
                                                              */ ResourceType?: string; + + /** + *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              + */ + PageToken?: string; + + /** + *

                                                              The TagOption identifier.

                                                              + */ + TagOptionId: string | undefined; + + /** + *

                                                              The maximum number of items to return with this call.

                                                              + */ + PageSize?: number; } export namespace ListResourcesForTagOptionInput { @@ -5406,9 +5555,9 @@ export namespace ListResourcesForTagOptionInput { */ export interface ResourceDetail { /** - *

                                                              The creation time of the resource.

                                                              + *

                                                              The ARN of the resource.

                                                              */ - CreatedTime?: Date; + ARN?: string; /** *

                                                              The identifier of the resource.

                                                              @@ -5416,14 +5565,14 @@ export interface ResourceDetail { Id?: string; /** - *

                                                              The ARN of the resource.

                                                              + *

                                                              The description of the resource.

                                                              */ - ARN?: string; + Description?: string; /** - *

                                                              The description of the resource.

                                                              + *

                                                              The creation time of the resource.

                                                              */ - Description?: string; + CreatedTime?: Date; /** *

                                                              The name of the resource.

                                                              @@ -5456,16 +5605,6 @@ export namespace ListResourcesForTagOptionOutput { } export interface ListServiceActionsInput { - /** - *

                                                              The maximum number of items to return with this call.

                                                              - */ - PageSize?: number; - - /** - *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              - */ - PageToken?: string; - /** *

                                                              The language code.

                                                              *
                                                                @@ -5484,6 +5623,16 @@ export interface ListServiceActionsInput { *
                                                              */ AcceptLanguage?: string; + + /** + *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              + */ + PageToken?: string; + + /** + *

                                                              The maximum number of items to return with this call.

                                                              + */ + PageSize?: number; } export namespace ListServiceActionsInput { @@ -5494,14 +5643,14 @@ export namespace ListServiceActionsInput { export interface ListServiceActionsOutput { /** - *

                                                              An object containing information about the service actions associated with the provisioning artifact.

                                                              + *

                                                              The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                              */ - ServiceActionSummaries?: ServiceActionSummary[]; + NextPageToken?: string; /** - *

                                                              The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                              + *

                                                              An object containing information about the service actions associated with the provisioning artifact.

                                                              */ - NextPageToken?: string; + ServiceActionSummaries?: ServiceActionSummary[]; } export namespace ListServiceActionsOutput { @@ -5559,14 +5708,14 @@ export namespace ListServiceActionsForProvisioningArtifactInput { export interface ListServiceActionsForProvisioningArtifactOutput { /** - *

                                                              The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                              + *

                                                              An object containing information about the self-service actions associated with the provisioning artifact.

                                                              */ - NextPageToken?: string; + ServiceActionSummaries?: ServiceActionSummary[]; /** - *

                                                              An object containing information about the self-service actions associated with the provisioning artifact.

                                                              + *

                                                              The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                              */ - ServiceActionSummaries?: ServiceActionSummary[]; + NextPageToken?: string; } export namespace ListServiceActionsForProvisioningArtifactOutput { @@ -5576,21 +5725,6 @@ export namespace ListServiceActionsForProvisioningArtifactOutput { } export interface ListStackInstancesForProvisionedProductInput { - /** - *

                                                              The identifier of the provisioned product.

                                                              - */ - ProvisionedProductId: string | undefined; - - /** - *

                                                              The maximum number of items to return with this call.

                                                              - */ - PageSize?: number; - - /** - *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              - */ - PageToken?: string; - /** *

                                                              The language code.

                                                              *
                                                                @@ -5609,6 +5743,21 @@ export interface ListStackInstancesForProvisionedProductInput { *
                                                              */ AcceptLanguage?: string; + + /** + *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              + */ + PageToken?: string; + + /** + *

                                                              The identifier of the provisioned product.

                                                              + */ + ProvisionedProductId: string | undefined; + + /** + *

                                                              The maximum number of items to return with this call.

                                                              + */ + PageSize?: number; } export namespace ListStackInstancesForProvisionedProductInput { @@ -5627,6 +5776,16 @@ export enum StackInstanceStatus { *

                                                              An AWS CloudFormation stack, in a specific account and region, that's part of a stack set operation. A stack instance is a reference to an attempted or actual stack in a given account within a given region. A stack instance can exist without a stack—for example, if the stack couldn't be created for some reason. A stack instance is associated with only one stack set. Each stack instance contains the ID of its associated stack set, as well as the ID of the actual stack and the stack status.

                                                              */ export interface StackInstance { + /** + *

                                                              The name of the AWS region that the stack instance is associated with.

                                                              + */ + Region?: string; + + /** + *

                                                              The name of the AWS account that the stack instance is associated with.

                                                              + */ + Account?: string; + /** *

                                                              The status of the stack instance, in terms of its synchronization with its associated stack set.

                                                              *
                                                                @@ -5647,16 +5806,6 @@ export interface StackInstance { *
                                                              */ StackInstanceStatus?: StackInstanceStatus | string; - - /** - *

                                                              The name of the AWS account that the stack instance is associated with.

                                                              - */ - Account?: string; - - /** - *

                                                              The name of the AWS region that the stack instance is associated with.

                                                              - */ - Region?: string; } export namespace StackInstance { @@ -5667,14 +5816,14 @@ export namespace StackInstance { export interface ListStackInstancesForProvisionedProductOutput { /** - *

                                                              List of stack instances.

                                                              + *

                                                              The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                              */ - StackInstances?: StackInstance[]; + NextPageToken?: string; /** - *

                                                              The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                              + *

                                                              List of stack instances.

                                                              */ - NextPageToken?: string; + StackInstances?: StackInstance[]; } export namespace ListStackInstancesForProvisionedProductOutput { @@ -5693,14 +5842,14 @@ export interface ListTagOptionsFilters { Key?: string; /** - *

                                                              The TagOption value.

                                                              + *

                                                              The active state.

                                                              */ - Value?: string; + Active?: boolean; /** - *

                                                              The active state.

                                                              + *

                                                              The TagOption value.

                                                              */ - Active?: boolean; + Value?: string; } export namespace ListTagOptionsFilters { @@ -5710,6 +5859,11 @@ export namespace ListTagOptionsFilters { } export interface ListTagOptionsInput { + /** + *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              + */ + PageToken?: string; + /** *

                                                              The search filters. If no search filters are specified, the output includes all TagOptions.

                                                              */ @@ -5719,11 +5873,6 @@ export interface ListTagOptionsInput { *

                                                              The maximum number of items to return with this call.

                                                              */ PageSize?: number; - - /** - *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              - */ - PageToken?: string; } export namespace ListTagOptionsInput { @@ -5734,14 +5883,14 @@ export namespace ListTagOptionsInput { export interface ListTagOptionsOutput { /** - *

                                                              Information about the TagOptions.

                                                              + *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              */ - TagOptionDetails?: TagOptionDetail[]; + PageToken?: string; /** - *

                                                              The page token for the next set of results. To retrieve the first set of results, use null.

                                                              + *

                                                              Information about the TagOptions.

                                                              */ - PageToken?: string; + TagOptionDetails?: TagOptionDetail[]; } export namespace ListTagOptionsOutput { @@ -5755,14 +5904,14 @@ export namespace ListTagOptionsOutput { */ export interface ProvisioningParameter { /** - *

                                                              The parameter key.

                                                              + *

                                                              The parameter value.

                                                              */ - Key?: string; + Value?: string; /** - *

                                                              The parameter value.

                                                              + *

                                                              The parameter key.

                                                              */ - Value?: string; + Key?: string; } export namespace ProvisioningParameter { @@ -5776,12 +5925,12 @@ export namespace ProvisioningParameter { */ export interface ProvisioningPreferences { /** - *

                                                              One or more AWS accounts that will have access to the provisioned product.

                                                              + *

                                                              The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount is at most one more than the StackSetFailureToleranceCount.

                                                              + *

                                                              Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

                                                              *

                                                              Applicable only to a CFN_STACKSET provisioned product type.

                                                              - *

                                                              The AWS accounts specified should be within the list of accounts in the STACKSET constraint. To get the list of accounts in the STACKSET constraint, use the DescribeProvisioningParameters operation.

                                                              - *

                                                              If no values are specified, the default value is all accounts from the STACKSET constraint.

                                                              + *

                                                              Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage, but not both.

                                                              */ - StackSetAccounts?: string[]; + StackSetMaxConcurrencyCount?: number; /** *

                                                              One or more AWS Regions where the provisioned product will be available.

                                                              @@ -5799,6 +5948,14 @@ export interface ProvisioningPreferences { */ StackSetFailureTolerancePercentage?: number; + /** + *

                                                              One or more AWS accounts that will have access to the provisioned product.

                                                              + *

                                                              Applicable only to a CFN_STACKSET provisioned product type.

                                                              + *

                                                              The AWS accounts specified should be within the list of accounts in the STACKSET constraint. To get the list of accounts in the STACKSET constraint, use the DescribeProvisioningParameters operation.

                                                              + *

                                                              If no values are specified, the default value is all accounts from the STACKSET constraint.

                                                              + */ + StackSetAccounts?: string[]; + /** *

                                                              The number of accounts, per region, for which this operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.

                                                              *

                                                              Applicable only to a CFN_STACKSET provisioned product type.

                                                              @@ -5815,14 +5972,6 @@ export interface ProvisioningPreferences { *

                                                              Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage, but not both.

                                                              */ StackSetMaxConcurrencyPercentage?: number; - - /** - *

                                                              The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount is at most one more than the StackSetFailureToleranceCount.

                                                              - *

                                                              Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

                                                              - *

                                                              Applicable only to a CFN_STACKSET provisioned product type.

                                                              - *

                                                              Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage, but not both.

                                                              - */ - StackSetMaxConcurrencyCount?: number; } export namespace ProvisioningPreferences { @@ -5833,20 +5982,33 @@ export namespace ProvisioningPreferences { export interface ProvisionProductInput { /** - *

                                                              An idempotency token that uniquely identifies the provisioning request.

                                                              + *

                                                              One or more tags.

                                                              */ - ProvisionToken?: string; + Tags?: Tag[]; /** - *

                                                              Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related - * events.

                                                              + *

                                                              The path identifier of the product. This value is optional if the product + * has a default path, and required if the product has more than one path. + * To list the paths for a product, use ListLaunchPaths. You must provide the name or ID, but not both.

                                                              */ - NotificationArns?: string[]; + PathId?: string; /** - *

                                                              The name of the product. You must provide the name or ID, but not both.

                                                              + *

                                                              The identifier of the provisioning artifact. You must provide the name or ID, but not both.

                                                              */ - ProductName?: string; + ProvisioningArtifactId?: string; + + /** + *

                                                              A user-friendly name for the provisioned product. This value must be + * unique for the AWS account and cannot be updated after the product is provisioned.

                                                              + */ + ProvisionedProductName: string | undefined; + + /** + *

                                                              Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related + * events.

                                                              + */ + NotificationArns?: string[]; /** *

                                                              Parameters specified by the administrator that are required for provisioning the @@ -5855,25 +6017,24 @@ export interface ProvisionProductInput { ProvisioningParameters?: ProvisioningParameter[]; /** - *

                                                              An object that contains information about the provisioning preferences for a stack set.

                                                              + *

                                                              The product identifier. You must provide the name or ID, but not both.

                                                              */ - ProvisioningPreferences?: ProvisioningPreferences; + ProductId?: string; /** - *

                                                              A user-friendly name for the provisioned product. This value must be - * unique for the AWS account and cannot be updated after the product is provisioned.

                                                              + *

                                                              The name of the provisioning artifact. You must provide the name or ID, but not both.

                                                              */ - ProvisionedProductName: string | undefined; + ProvisioningArtifactName?: string; /** - *

                                                              The identifier of the provisioning artifact. You must provide the name or ID, but not both.

                                                              + *

                                                              An object that contains information about the provisioning preferences for a stack set.

                                                              */ - ProvisioningArtifactId?: string; + ProvisioningPreferences?: ProvisioningPreferences; /** - *

                                                              One or more tags.

                                                              + *

                                                              The name of the path. You must provide the name or ID, but not both.

                                                              */ - Tags?: Tag[]; + PathName?: string; /** *

                                                              The language code.

                                                              @@ -5895,26 +6056,14 @@ export interface ProvisionProductInput { AcceptLanguage?: string; /** - *

                                                              The name of the path. You must provide the name or ID, but not both.

                                                              - */ - PathName?: string; - - /** - *

                                                              The name of the provisioning artifact. You must provide the name or ID, but not both.

                                                              - */ - ProvisioningArtifactName?: string; - - /** - *

                                                              The product identifier. You must provide the name or ID, but not both.

                                                              + *

                                                              The name of the product. You must provide the name or ID, but not both.

                                                              */ - ProductId?: string; + ProductName?: string; /** - *

                                                              The path identifier of the product. This value is optional if the product - * has a default path, and required if the product has more than one path. - * To list the paths for a product, use ListLaunchPaths. You must provide the name or ID, but not both.

                                                              + *

                                                              An idempotency token that uniquely identifies the provisioning request.

                                                              */ - PathId?: string; + ProvisionToken?: string; } export namespace ProvisionProductInput { @@ -5947,7 +6096,8 @@ export interface RejectPortfolioShareInput { *
                                                                *
                                                              • *

                                                                - * AWS_ORGANIZATIONS - Reject portfolios shared by the master account of your organization.

                                                                + * AWS_ORGANIZATIONS - Reject portfolios shared by the management account of your + * organization.

                                                                *
                                                              • *
                                                              • *

                                                                @@ -5998,16 +6148,6 @@ export namespace RejectPortfolioShareOutput { } export interface ScanProvisionedProductsInput { - /** - *

                                                                The page token for the next set of results. To retrieve the first set of results, use null.

                                                                - */ - PageToken?: string; - - /** - *

                                                                The access level to use to obtain results. The default is User.

                                                                - */ - AccessLevelFilter?: AccessLevelFilter; - /** *

                                                                The language code.

                                                                *
                                                                  @@ -6027,10 +6167,20 @@ export interface ScanProvisionedProductsInput { */ AcceptLanguage?: string; + /** + *

                                                                  The page token for the next set of results. To retrieve the first set of results, use null.

                                                                  + */ + PageToken?: string; + /** *

                                                                  The maximum number of items to return with this call.

                                                                  */ PageSize?: number; + + /** + *

                                                                  The access level to use to obtain results. The default is User.

                                                                  + */ + AccessLevelFilter?: AccessLevelFilter; } export namespace ScanProvisionedProductsInput { @@ -6041,14 +6191,14 @@ export namespace ScanProvisionedProductsInput { export interface ScanProvisionedProductsOutput { /** - *

                                                                  The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                                  + *

                                                                  Information about the provisioned products.

                                                                  */ - NextPageToken?: string; + ProvisionedProducts?: ProvisionedProductDetail[]; /** - *

                                                                  Information about the provisioned products.

                                                                  + *

                                                                  The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                                  */ - ProvisionedProducts?: ProvisionedProductDetail[]; + NextPageToken?: string; } export namespace ScanProvisionedProductsOutput { @@ -6082,11 +6232,6 @@ export interface SearchProductsInput { */ Filters?: { [key: string]: string[] }; - /** - *

                                                                  The page token for the next set of results. To retrieve the first set of results, use null.

                                                                  - */ - PageToken?: string; - /** *

                                                                  The maximum number of items to return with this call.

                                                                  */ @@ -6120,6 +6265,11 @@ export interface SearchProductsInput { *

                                                                  The sort field. If no value is specified, the results are not sorted.

                                                                  */ SortBy?: ProductViewSortBy | string; + + /** + *

                                                                  The page token for the next set of results. To retrieve the first set of results, use null.

                                                                  + */ + PageToken?: string; } export namespace SearchProductsInput { @@ -6134,14 +6284,14 @@ export namespace SearchProductsInput { */ export interface ProductViewAggregationValue { /** - *

                                                                  An approximate count of the products that match the value.

                                                                  + *

                                                                  The value of the product view aggregation.

                                                                  */ - ApproximateCount?: number; + Value?: string; /** - *

                                                                  The value of the product view aggregation.

                                                                  + *

                                                                  An approximate count of the products that match the value.

                                                                  */ - Value?: string; + ApproximateCount?: number; } export namespace ProductViewAggregationValue { @@ -6152,9 +6302,9 @@ export namespace ProductViewAggregationValue { export interface SearchProductsOutput { /** - *

                                                                  Information about the product views.

                                                                  + *

                                                                  The product view aggregations.

                                                                  */ - ProductViewSummaries?: ProductViewSummary[]; + ProductViewAggregations?: { [key: string]: ProductViewAggregationValue[] }; /** *

                                                                  The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                                  @@ -6162,9 +6312,9 @@ export interface SearchProductsOutput { NextPageToken?: string; /** - *

                                                                  The product view aggregations.

                                                                  + *

                                                                  Information about the product views.

                                                                  */ - ProductViewAggregations?: { [key: string]: ProductViewAggregationValue[] }; + ProductViewSummaries?: ProductViewSummary[]; } export namespace SearchProductsOutput { @@ -6179,19 +6329,33 @@ export enum ProductSource { export interface SearchProductsAsAdminInput { /** - *

                                                                  The maximum number of items to return with this call.

                                                                  + *

                                                                  The language code.

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * en - English (default)

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * jp - Japanese

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * zh - Chinese

                                                                    + *
                                                                  • + *
                                                                  */ - PageSize?: number; + AcceptLanguage?: string; /** - *

                                                                  The portfolio identifier.

                                                                  + *

                                                                  The sort order. If no value is specified, the results are not sorted.

                                                                  */ - PortfolioId?: string; + SortOrder?: SortOrder | string; /** - *

                                                                  Access level of the source of the product.

                                                                  + *

                                                                  The sort field. If no value is specified, the results are not sorted.

                                                                  */ - ProductSource?: ProductSource | string; + SortBy?: ProductViewSortBy | string; /** *

                                                                  The search filters. If no search filters are specified, the output includes all products @@ -6200,38 +6364,24 @@ export interface SearchProductsAsAdminInput { Filters?: { [key: string]: string[] }; /** - *

                                                                  The sort order. If no value is specified, the results are not sorted.

                                                                  + *

                                                                  Access level of the source of the product.

                                                                  */ - SortOrder?: SortOrder | string; + ProductSource?: ProductSource | string; /** - *

                                                                  The page token for the next set of results. To retrieve the first set of results, use null.

                                                                  + *

                                                                  The maximum number of items to return with this call.

                                                                  */ - PageToken?: string; + PageSize?: number; /** - *

                                                                  The sort field. If no value is specified, the results are not sorted.

                                                                  + *

                                                                  The page token for the next set of results. To retrieve the first set of results, use null.

                                                                  */ - SortBy?: ProductViewSortBy | string; + PageToken?: string; /** - *

                                                                  The language code.

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * en - English (default)

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * jp - Japanese

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * zh - Chinese

                                                                    - *
                                                                  • - *
                                                                  + *

                                                                  The portfolio identifier.

                                                                  */ - AcceptLanguage?: string; + PortfolioId?: string; } export namespace SearchProductsAsAdminInput { @@ -6263,88 +6413,147 @@ export enum ProvisionedProductViewFilterBy { } export interface SearchProvisionedProductsInput { + /** + *

                                                                  The page token for the next set of results. To retrieve the first set of results, use null.

                                                                  + */ + PageToken?: string; + + /** + *

                                                                  The access level to use to obtain results. The default is User.

                                                                  + */ + AccessLevelFilter?: AccessLevelFilter; + /** *

                                                                  The maximum number of items to return with this call.

                                                                  */ PageSize?: number; /** - *

                                                                  The page token for the next set of results. To retrieve the first set of results, use null.

                                                                  + *

                                                                  The search filters.

                                                                  + *

                                                                  When the key is SearchQuery, the searchable fields are arn, + * createdTime, id, lastRecordId, + * idempotencyToken, name, physicalId, productId, + * provisioningArtifact, type, status, + * tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId, + * productName, and provisioningArtifactName.

                                                                  + *

                                                                  Example: "SearchQuery":["status:AVAILABLE"] + *

                                                                  + */ + Filters?: { [key: string]: string[] }; + + /** + *

                                                                  The language code.

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * en - English (default)

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * jp - Japanese

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * zh - Chinese

                                                                    + *
                                                                  • + *
                                                                  + */ + AcceptLanguage?: string; + + /** + *

                                                                  The sort order. If no value is specified, the results are not sorted.

                                                                  + */ + SortOrder?: SortOrder | string; + + /** + *

                                                                  The sort field. If no value is specified, the results are not sorted. The valid values are arn, id, name, + * and lastRecordId.

                                                                  + */ + SortBy?: string; +} + +export namespace SearchProvisionedProductsInput { + export const filterSensitiveLog = (obj: SearchProvisionedProductsInput): any => ({ + ...obj, + }); +} + +/** + *

                                                                  Information about a provisioned product.

                                                                  + */ +export interface ProvisionedProductAttribute { + /** + *

                                                                  A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, + * the same response is returned for each repeated request.

                                                                  */ - PageToken?: string; + IdempotencyToken?: string; /** - *

                                                                  The sort order. If no value is specified, the results are not sorted.

                                                                  + *

                                                                  One or more tags.

                                                                  */ - SortOrder?: SortOrder | string; + Tags?: Tag[]; /** - *

                                                                  The language code.

                                                                  + *

                                                                  The record identifier of the last request performed on this provisioned product of the following types:

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * en - English (default)

                                                                    + * ProvisionedProduct + *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * jp - Japanese

                                                                    + * UpdateProvisionedProduct + *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * zh - Chinese

                                                                    + * ExecuteProvisionedProductPlan + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * TerminateProvisionedProduct + *

                                                                    *
                                                                  • *
                                                                  */ - AcceptLanguage?: string; + LastProvisioningRecordId?: string; /** - *

                                                                  The sort field. If no value is specified, the results are not sorted. The valid values are arn, id, name, - * and lastRecordId.

                                                                  + *

                                                                  The name of the provisioning artifact.

                                                                  */ - SortBy?: string; + ProvisioningArtifactName?: string; /** - *

                                                                  The search filters.

                                                                  - *

                                                                  When the key is SearchQuery, the searchable fields are arn, - * createdTime, id, lastRecordId, - * idempotencyToken, name, physicalId, productId, - * provisioningArtifact, type, status, - * tags, userArn, and userArnSession.

                                                                  - *

                                                                  Example: "SearchQuery":["status:AVAILABLE"] - *

                                                                  + *

                                                                  The product identifier.

                                                                  */ - Filters?: { [key: string]: string[] }; + ProductId?: string; /** - *

                                                                  The access level to use to obtain results. The default is User.

                                                                  + *

                                                                  The assigned identifier for the resource, such as an EC2 instance ID or an S3 bucket name.

                                                                  */ - AccessLevelFilter?: AccessLevelFilter; -} + PhysicalId?: string; -export namespace SearchProvisionedProductsInput { - export const filterSensitiveLog = (obj: SearchProvisionedProductsInput): any => ({ - ...obj, - }); -} + /** + *

                                                                  The ARN of the IAM user in the session. This ARN might contain a session ID.

                                                                  + */ + UserArnSession?: string; -/** - *

                                                                  Information about a provisioned product.

                                                                  - */ -export interface ProvisionedProductAttribute { /** - *

                                                                  The identifier of the provisioning artifact.

                                                                  + *

                                                                  The record identifier of the last request performed on this provisioned product.

                                                                  */ - ProvisioningArtifactId?: string; + LastRecordId?: string; /** - *

                                                                  The ARN of the IAM user in the session. This ARN might contain a session ID.

                                                                  + *

                                                                  The identifier of the provisioning artifact.

                                                                  */ - UserArnSession?: string; + ProvisioningArtifactId?: string; /** - *

                                                                  The ARN of the provisioned product.

                                                                  + *

                                                                  The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

                                                                  */ - Arn?: string; + Type?: string; /** *

                                                                  The current status of the provisioned product.

                                                                  @@ -6390,35 +6599,14 @@ export interface ProvisionedProductAttribute { Id?: string; /** - *

                                                                  One or more tags.

                                                                  - */ - Tags?: Tag[]; - - /** - *

                                                                  The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

                                                                  - */ - Type?: string; - - /** - *

                                                                  A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, - * the same response is returned for each repeated request.

                                                                  - */ - IdempotencyToken?: string; - - /** - *

                                                                  The record identifier of the last request performed on this provisioned product.

                                                                  - */ - LastRecordId?: string; - - /** - *

                                                                  The assigned identifier for the resource, such as an EC2 instance ID or an S3 bucket name.

                                                                  + *

                                                                  The name of the product.

                                                                  */ - PhysicalId?: string; + ProductName?: string; /** - *

                                                                  The product identifier.

                                                                  + *

                                                                  The ARN of the provisioned product.

                                                                  */ - ProductId?: string; + Arn?: string; /** *

                                                                  The UTC time stamp of the creation time.

                                                                  @@ -6434,6 +6622,33 @@ export interface ProvisionedProductAttribute { *

                                                                  The current status message of the provisioned product.

                                                                  */ StatusMessage?: string; + + /** + *

                                                                  The record identifier of the last successful request performed on this provisioned product of the following types:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * ProvisionedProduct + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * UpdateProvisionedProduct + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * ExecuteProvisionedProductPlan + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * TerminateProvisionedProduct + *

                                                                    + *
                                                                  • + *
                                                                  + */ + LastSuccessfulProvisioningRecordId?: string; } export namespace ProvisionedProductAttribute { @@ -6444,9 +6659,9 @@ export namespace ProvisionedProductAttribute { export interface SearchProvisionedProductsOutput { /** - *

                                                                  The number of provisioned products found.

                                                                  + *

                                                                  The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                                  */ - TotalResultsCount?: number; + NextPageToken?: string; /** *

                                                                  Information about the provisioned products.

                                                                  @@ -6454,9 +6669,9 @@ export interface SearchProvisionedProductsOutput { ProvisionedProducts?: ProvisionedProductAttribute[]; /** - *

                                                                  The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

                                                                  + *

                                                                  The number of provisioned products found.

                                                                  */ - NextPageToken?: string; + TotalResultsCount?: number; } export namespace SearchProvisionedProductsOutput { @@ -6466,20 +6681,6 @@ export namespace SearchProvisionedProductsOutput { } export interface TerminateProvisionedProductInput { - /** - *

                                                                  An idempotency token that uniquely identifies the termination request. This token is - * only valid during the termination process. After the provisioned product is terminated, - * subsequent requests to terminate the same provisioned product always return - * ResourceNotFound.

                                                                  - */ - TerminateToken?: string; - - /** - *

                                                                  The identifier of the provisioned product. You cannot specify both - * ProvisionedProductName and ProvisionedProductId.

                                                                  - */ - ProvisionedProductId?: string; - /** *

                                                                  The language code.

                                                                  *
                                                                    @@ -6510,6 +6711,20 @@ export interface TerminateProvisionedProductInput { * ProvisionedProductName and ProvisionedProductId.

                                                                    */ ProvisionedProductName?: string; + + /** + *

                                                                    The identifier of the provisioned product. You cannot specify both + * ProvisionedProductName and ProvisionedProductId.

                                                                    + */ + ProvisionedProductId?: string; + + /** + *

                                                                    An idempotency token that uniquely identifies the termination request. This token is + * only valid during the termination process. After the provisioned product is terminated, + * subsequent requests to terminate the same provisioned product always return + * ResourceNotFound.

                                                                    + */ + TerminateToken?: string; } export namespace TerminateProvisionedProductInput { @@ -6532,6 +6747,16 @@ export namespace TerminateProvisionedProductOutput { } export interface UpdateConstraintInput { + /** + *

                                                                    The updated description of the constraint.

                                                                    + */ + Description?: string; + + /** + *

                                                                    The identifier of the constraint.

                                                                    + */ + Id: string | undefined; + /** *

                                                                    The constraint parameters, in JSON format. The syntax depends on the constraint type as follows:

                                                                    *
                                                                    @@ -6588,11 +6813,6 @@ export interface UpdateConstraintInput { */ Parameters?: string; - /** - *

                                                                    The identifier of the constraint.

                                                                    - */ - Id: string | undefined; - /** *

                                                                    The language code.

                                                                    *
                                                                      @@ -6611,11 +6831,6 @@ export interface UpdateConstraintInput { *
                                                                    */ AcceptLanguage?: string; - - /** - *

                                                                    The updated description of the constraint.

                                                                    - */ - Description?: string; } export namespace UpdateConstraintInput { @@ -6625,6 +6840,11 @@ export namespace UpdateConstraintInput { } export interface UpdateConstraintOutput { + /** + *

                                                                    The status of the current request.

                                                                    + */ + Status?: Status | string; + /** *

                                                                    Information about the constraint.

                                                                    */ @@ -6634,11 +6854,6 @@ export interface UpdateConstraintOutput { *

                                                                    The constraint parameters.

                                                                    */ ConstraintParameters?: string; - - /** - *

                                                                    The status of the current request.

                                                                    - */ - Status?: Status | string; } export namespace UpdateConstraintOutput { @@ -6648,21 +6863,11 @@ export namespace UpdateConstraintOutput { } export interface UpdatePortfolioInput { - /** - *

                                                                    The tags to remove.

                                                                    - */ - RemoveTags?: string[]; - /** *

                                                                    The portfolio identifier.

                                                                    */ Id: string | undefined; - /** - *

                                                                    The updated description of the portfolio.

                                                                    - */ - Description?: string; - /** *

                                                                    The updated name of the portfolio provider.

                                                                    */ @@ -6688,14 +6893,24 @@ export interface UpdatePortfolioInput { AcceptLanguage?: string; /** - *

                                                                    The name to use for display purposes.

                                                                    + *

                                                                    The updated description of the portfolio.

                                                                    */ - DisplayName?: string; + Description?: string; /** *

                                                                    The tags to add.

                                                                    */ AddTags?: Tag[]; + + /** + *

                                                                    The tags to remove.

                                                                    + */ + RemoveTags?: string[]; + + /** + *

                                                                    The name to use for display purposes.

                                                                    + */ + DisplayName?: string; } export namespace UpdatePortfolioInput { @@ -6706,14 +6921,14 @@ export namespace UpdatePortfolioInput { export interface UpdatePortfolioOutput { /** - *

                                                                    Information about the portfolio.

                                                                    + *

                                                                    Information about the tags associated with the portfolio.

                                                                    */ - PortfolioDetail?: PortfolioDetail; + Tags?: Tag[]; /** - *

                                                                    Information about the tags associated with the portfolio.

                                                                    + *

                                                                    Information about the portfolio.

                                                                    */ - Tags?: Tag[]; + PortfolioDetail?: PortfolioDetail; } export namespace UpdatePortfolioOutput { @@ -6724,73 +6939,73 @@ export namespace UpdatePortfolioOutput { export interface UpdateProductInput { /** - *

                                                                    The product identifier.

                                                                    - */ - Id: string | undefined; - - /** - *

                                                                    The language code.

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * en - English (default)

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * jp - Japanese

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * zh - Chinese

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    The updated distributor of the product.

                                                                    */ - AcceptLanguage?: string; + Distributor?: string; /** - *

                                                                    The updated description of the product.

                                                                    + *

                                                                    The updated support email for the product.

                                                                    */ - Description?: string; + SupportEmail?: string; /** - *

                                                                    The updated support description for the product.

                                                                    + *

                                                                    The updated owner of the product.

                                                                    */ - SupportDescription?: string; + Owner?: string; /** - *

                                                                    The updated support URL for the product.

                                                                    + *

                                                                    The updated product name.

                                                                    */ - SupportUrl?: string; + Name?: string; /** - *

                                                                    The updated product name.

                                                                    + *

                                                                    The updated description of the product.

                                                                    */ - Name?: string; + Description?: string; /** - *

                                                                    The tags to add to the product.

                                                                    + *

                                                                    The product identifier.

                                                                    */ - AddTags?: Tag[]; + Id: string | undefined; /** - *

                                                                    The updated owner of the product.

                                                                    + *

                                                                    The updated support description for the product.

                                                                    */ - Owner?: string; + SupportDescription?: string; /** - *

                                                                    The updated support email for the product.

                                                                    + *

                                                                    The tags to add to the product.

                                                                    */ - SupportEmail?: string; + AddTags?: Tag[]; /** - *

                                                                    The updated distributor of the product.

                                                                    + *

                                                                    The updated support URL for the product.

                                                                    */ - Distributor?: string; + SupportUrl?: string; /** *

                                                                    The tags to remove from the product.

                                                                    */ RemoveTags?: string[]; + + /** + *

                                                                    The language code.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * en - English (default)

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * jp - Japanese

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * zh - Chinese

                                                                      + *
                                                                    • + *
                                                                    + */ + AcceptLanguage?: string; } export namespace UpdateProductInput { @@ -6801,14 +7016,14 @@ export namespace UpdateProductInput { export interface UpdateProductOutput { /** - *

                                                                    Information about the tags associated with the product.

                                                                    + *

                                                                    Information about the product view.

                                                                    */ - Tags?: Tag[]; + ProductViewDetail?: ProductViewDetail; /** - *

                                                                    Information about the product view.

                                                                    + *

                                                                    Information about the tags associated with the product.

                                                                    */ - ProductViewDetail?: ProductViewDetail; + Tags?: Tag[]; } export namespace UpdateProductOutput { @@ -6824,20 +7039,29 @@ export type StackSetOperationType = "CREATE" | "DELETE" | "UPDATE"; */ export interface UpdateProvisioningPreferences { /** - *

                                                                    One or more AWS Regions where the provisioned product will be available.

                                                                    + *

                                                                    The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount is at most one more than the StackSetFailureToleranceCount.

                                                                    + *

                                                                    Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

                                                                    *

                                                                    Applicable only to a CFN_STACKSET provisioned product type.

                                                                    - *

                                                                    The specified regions should be within the list of regions from the STACKSET constraint. To get the list of regions in the STACKSET constraint, use the DescribeProvisioningParameters operation.

                                                                    - *

                                                                    If no values are specified, the default value is all regions from the STACKSET constraint.

                                                                    + *

                                                                    Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage, but not both.

                                                                    */ - StackSetRegions?: string[]; + StackSetMaxConcurrencyCount?: number; /** - *

                                                                    The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount is at most one more than the StackSetFailureToleranceCount.

                                                                    + *

                                                                    The number of accounts, per region, for which this operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.

                                                                    + *

                                                                    Applicable only to a CFN_STACKSET provisioned product type.

                                                                    + *

                                                                    Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage, but not both.

                                                                    + *

                                                                    The default value is 0 if no value is specified.

                                                                    + */ + StackSetFailureToleranceCount?: number; + + /** + *

                                                                    The maximum percentage of accounts in which to perform this operation at one time.

                                                                    + *

                                                                    When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, AWS Service Catalog sets the number as 1 instead.

                                                                    *

                                                                    Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

                                                                    *

                                                                    Applicable only to a CFN_STACKSET provisioned product type.

                                                                    *

                                                                    Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage, but not both.

                                                                    */ - StackSetMaxConcurrencyCount?: number; + StackSetMaxConcurrencyPercentage?: number; /** *

                                                                    One or more AWS accounts that will have access to the provisioned product.

                                                                    @@ -6868,12 +7092,12 @@ export interface UpdateProvisioningPreferences { StackSetOperationType?: StackSetOperationType | string; /** - *

                                                                    The number of accounts, per region, for which this operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.

                                                                    + *

                                                                    One or more AWS Regions where the provisioned product will be available.

                                                                    *

                                                                    Applicable only to a CFN_STACKSET provisioned product type.

                                                                    - *

                                                                    Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage, but not both.

                                                                    - *

                                                                    The default value is 0 if no value is specified.

                                                                    + *

                                                                    The specified regions should be within the list of regions from the STACKSET constraint. To get the list of regions in the STACKSET constraint, use the DescribeProvisioningParameters operation.

                                                                    + *

                                                                    If no values are specified, the default value is all regions from the STACKSET constraint.

                                                                    */ - StackSetFailureToleranceCount?: number; + StackSetRegions?: string[]; /** *

                                                                    The percentage of accounts, per region, for which this stack operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.

                                                                    @@ -6882,15 +7106,6 @@ export interface UpdateProvisioningPreferences { *

                                                                    Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage, but not both.

                                                                    */ StackSetFailureTolerancePercentage?: number; - - /** - *

                                                                    The maximum percentage of accounts in which to perform this operation at one time.

                                                                    - *

                                                                    When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, AWS Service Catalog sets the number as 1 instead.

                                                                    - *

                                                                    Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

                                                                    - *

                                                                    Applicable only to a CFN_STACKSET provisioned product type.

                                                                    - *

                                                                    Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage, but not both.

                                                                    - */ - StackSetMaxConcurrencyPercentage?: number; } export namespace UpdateProvisioningPreferences { @@ -6901,31 +7116,9 @@ export namespace UpdateProvisioningPreferences { export interface UpdateProvisionedProductInput { /** - *

                                                                    The name of the provisioned product. You cannot specify both - * ProvisionedProductName and ProvisionedProductId.

                                                                    - */ - ProvisionedProductName?: string; - - /** - *

                                                                    The name of the provisioning artifact. You must provide the name or ID, but not both.

                                                                    - */ - ProvisioningArtifactName?: string; - - /** - *

                                                                    The path identifier. This value is optional if the product - * has a default path, and required if the product has more than one path. You must provide the name or ID, but not both.

                                                                    - */ - PathId?: string; - - /** - *

                                                                    The identifier of the provisioned product. You must provide the name or ID, but not both.

                                                                    - */ - ProvisionedProductId?: string; - - /** - *

                                                                    An object that contains information about the provisioning preferences for a stack set.

                                                                    + *

                                                                    The name of the path. You must provide the name or ID, but not both.

                                                                    */ - ProvisioningPreferences?: UpdateProvisioningPreferences; + PathName?: string; /** *

                                                                    The language code.

                                                                    @@ -6947,20 +7140,41 @@ export interface UpdateProvisionedProductInput { AcceptLanguage?: string; /** - *

                                                                    The name of the path. You must provide the name or ID, but not both.

                                                                    + *

                                                                    The identifier of the product. You must provide the name or ID, but not both.

                                                                    */ - PathName?: string; + ProductId?: string; /** - *

                                                                    The identifier of the provisioning artifact.

                                                                    + *

                                                                    The name of the provisioning artifact. You must provide the name or ID, but not both.

                                                                    */ - ProvisioningArtifactId?: string; + ProvisioningArtifactName?: string; /** *

                                                                    The new parameters.

                                                                    */ ProvisioningParameters?: UpdateProvisioningParameter[]; + /** + *

                                                                    The identifier of the provisioning artifact.

                                                                    + */ + ProvisioningArtifactId?: string; + + /** + *

                                                                    An object that contains information about the provisioning preferences for a stack set.

                                                                    + */ + ProvisioningPreferences?: UpdateProvisioningPreferences; + + /** + *

                                                                    The name of the provisioned product. You cannot specify both + * ProvisionedProductName and ProvisionedProductId.

                                                                    + */ + ProvisionedProductName?: string; + + /** + *

                                                                    The identifier of the provisioned product. You must provide the name or ID, but not both.

                                                                    + */ + ProvisionedProductId?: string; + /** *

                                                                    One or more tags. Requires the product to have RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.

                                                                    */ @@ -6972,14 +7186,15 @@ export interface UpdateProvisionedProductInput { ProductName?: string; /** - *

                                                                    The identifier of the product. You must provide the name or ID, but not both.

                                                                    + *

                                                                    The idempotency token that uniquely identifies the provisioning update request.

                                                                    */ - ProductId?: string; + UpdateToken?: string; /** - *

                                                                    The idempotency token that uniquely identifies the provisioning update request.

                                                                    + *

                                                                    The path identifier. This value is optional if the product + * has a default path, and required if the product has more than one path. You must provide the name or ID, but not both.

                                                                    */ - UpdateToken?: string; + PathId?: string; } export namespace UpdateProvisionedProductInput { @@ -7059,24 +7274,24 @@ export namespace UpdateProvisionedProductPropertiesInput { export interface UpdateProvisionedProductPropertiesOutput { /** - *

                                                                    A map that contains the properties updated.

                                                                    + *

                                                                    The provisioned product identifier.

                                                                    */ - ProvisionedProductProperties?: { [key: string]: string }; + ProvisionedProductId?: string; /** - *

                                                                    The provisioned product identifier.

                                                                    + *

                                                                    The status of the request.

                                                                    */ - ProvisionedProductId?: string; + Status?: RecordStatus | string; /** - *

                                                                    The identifier of the record.

                                                                    + *

                                                                    A map that contains the properties updated.

                                                                    */ - RecordId?: string; + ProvisionedProductProperties?: { [key: string]: string }; /** - *

                                                                    The status of the request.

                                                                    + *

                                                                    The identifier of the record.

                                                                    */ - Status?: RecordStatus | string; + RecordId?: string; } export namespace UpdateProvisionedProductPropertiesOutput { @@ -7087,14 +7302,33 @@ export namespace UpdateProvisionedProductPropertiesOutput { export interface UpdateProvisioningArtifactInput { /** - *

                                                                    The product identifier.

                                                                    + *

                                                                    The updated name of the provisioning artifact.

                                                                    */ - ProductId: string | undefined; + Name?: string; /** - *

                                                                    The updated description of the provisioning artifact.

                                                                    + *

                                                                    The language code.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * en - English (default)

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * jp - Japanese

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * zh - Chinese

                                                                      + *
                                                                    • + *
                                                                    */ - Description?: string; + AcceptLanguage?: string; + + /** + *

                                                                    The identifier of the provisioning artifact.

                                                                    + */ + ProvisioningArtifactId: string | undefined; /** *

                                                                    Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

                                                                    @@ -7106,14 +7340,9 @@ export interface UpdateProvisioningArtifactInput { Guidance?: ProvisioningArtifactGuidance | string; /** - *

                                                                    The identifier of the provisioning artifact.

                                                                    - */ - ProvisioningArtifactId: string | undefined; - - /** - *

                                                                    The updated name of the provisioning artifact.

                                                                    + *

                                                                    The product identifier.

                                                                    */ - Name?: string; + ProductId: string | undefined; /** *

                                                                    Indicates whether the product version is active.

                                                                    @@ -7122,23 +7351,9 @@ export interface UpdateProvisioningArtifactInput { Active?: boolean; /** - *

                                                                    The language code.

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * en - English (default)

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * jp - Japanese

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * zh - Chinese

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    The updated description of the provisioning artifact.

                                                                    */ - AcceptLanguage?: string; + Description?: string; } export namespace UpdateProvisioningArtifactInput { @@ -7154,14 +7369,14 @@ export interface UpdateProvisioningArtifactOutput { Status?: Status | string; /** - *

                                                                    Information about the provisioning artifact.

                                                                    + *

                                                                    The URL of the CloudFormation template in Amazon S3.

                                                                    */ - ProvisioningArtifactDetail?: ProvisioningArtifactDetail; + Info?: { [key: string]: string }; /** - *

                                                                    The URL of the CloudFormation template in Amazon S3.

                                                                    + *

                                                                    Information about the provisioning artifact.

                                                                    */ - Info?: { [key: string]: string }; + ProvisioningArtifactDetail?: ProvisioningArtifactDetail; } export namespace UpdateProvisioningArtifactOutput { @@ -7171,6 +7386,21 @@ export namespace UpdateProvisioningArtifactOutput { } export interface UpdateServiceActionInput { + /** + *

                                                                    The self-service action description.

                                                                    + */ + Description?: string; + + /** + *

                                                                    The self-service action identifier.

                                                                    + */ + Id: string | undefined; + + /** + *

                                                                    A map that defines the self-service action.

                                                                    + */ + Definition?: { [key: string]: string }; + /** *

                                                                    The self-service action name.

                                                                    */ @@ -7194,21 +7424,6 @@ export interface UpdateServiceActionInput { *
                                                                  */ AcceptLanguage?: string; - - /** - *

                                                                  The self-service action description.

                                                                  - */ - Description?: string; - - /** - *

                                                                  A map that defines the self-service action.

                                                                  - */ - Definition?: { [key: string]: string }; - - /** - *

                                                                  The self-service action identifier.

                                                                  - */ - Id: string | undefined; } export namespace UpdateServiceActionInput { @@ -7232,14 +7447,14 @@ export namespace UpdateServiceActionOutput { export interface UpdateTagOptionInput { /** - *

                                                                  The TagOption identifier.

                                                                  + *

                                                                  The updated active state.

                                                                  */ - Id: string | undefined; + Active?: boolean; /** - *

                                                                  The updated active state.

                                                                  + *

                                                                  The TagOption identifier.

                                                                  */ - Active?: boolean; + Id: string | undefined; /** *

                                                                  The updated value.

                                                                  diff --git a/clients/client-service-catalog/pagination/GetProvisionedProductOutputsPaginator.ts b/clients/client-service-catalog/pagination/GetProvisionedProductOutputsPaginator.ts new file mode 100644 index 000000000000..165492024f94 --- /dev/null +++ b/clients/client-service-catalog/pagination/GetProvisionedProductOutputsPaginator.ts @@ -0,0 +1,51 @@ +import { ServiceCatalog } from "../ServiceCatalog"; +import { ServiceCatalogClient } from "../ServiceCatalogClient"; +import { + GetProvisionedProductOutputsCommand, + GetProvisionedProductOutputsCommandInput, + GetProvisionedProductOutputsCommandOutput, +} from "../commands/GetProvisionedProductOutputsCommand"; +import { ServiceCatalogPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: ServiceCatalogClient, + input: GetProvisionedProductOutputsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetProvisionedProductOutputsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: ServiceCatalog, + input: GetProvisionedProductOutputsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getProvisionedProductOutputs(input, ...args); +}; +export async function* getProvisionedProductOutputsPaginate( + config: ServiceCatalogPaginationConfiguration, + input: GetProvisionedProductOutputsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetProvisionedProductOutputsCommandOutput; + while (hasNext) { + input["PageToken"] = token; + input["PageSize"] = config.pageSize; + if (config.client instanceof ServiceCatalog) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ServiceCatalogClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); + } + yield page; + token = page["NextPageToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-service-catalog/protocols/Aws_json1_1.ts b/clients/client-service-catalog/protocols/Aws_json1_1.ts index 7e183690ce00..71e7a66bdf98 100644 --- a/clients/client-service-catalog/protocols/Aws_json1_1.ts +++ b/clients/client-service-catalog/protocols/Aws_json1_1.ts @@ -156,6 +156,10 @@ import { GetAWSOrganizationsAccessStatusCommandInput, GetAWSOrganizationsAccessStatusCommandOutput, } from "../commands/GetAWSOrganizationsAccessStatusCommand"; +import { + GetProvisionedProductOutputsCommandInput, + GetProvisionedProductOutputsCommandOutput, +} from "../commands/GetProvisionedProductOutputsCommand"; import { ListAcceptedPortfolioSharesCommandInput, ListAcceptedPortfolioSharesCommandOutput, @@ -365,6 +369,8 @@ import { FailedServiceActionAssociation, GetAWSOrganizationsAccessStatusInput, GetAWSOrganizationsAccessStatusOutput, + GetProvisionedProductOutputsInput, + GetProvisionedProductOutputsOutput, InvalidParametersException, InvalidStateException, LaunchPath, @@ -1153,6 +1159,19 @@ export const serializeAws_json1_1GetAWSOrganizationsAccessStatusCommand = async return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetProvisionedProductOutputsCommand = async ( + input: GetProvisionedProductOutputsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWS242ServiceCatalogService.GetProvisionedProductOutputs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetProvisionedProductOutputsInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListAcceptedPortfolioSharesCommand = async ( input: ListAcceptedPortfolioSharesCommandInput, context: __SerdeContext @@ -3820,6 +3839,14 @@ const deserializeAws_json1_1DescribeProvisionedProductCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InvalidParametersException": + case "com.amazonaws.servicecatalog#InvalidParametersException": + response = { + ...(await deserializeAws_json1_1InvalidParametersExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.servicecatalog#ResourceNotFoundException": response = { @@ -4924,6 +4951,69 @@ const deserializeAws_json1_1GetAWSOrganizationsAccessStatusCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1GetProvisionedProductOutputsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetProvisionedProductOutputsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetProvisionedProductOutputsOutput(data, context); + const response: GetProvisionedProductOutputsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetProvisionedProductOutputsCommandError = 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 "InvalidParametersException": + case "com.amazonaws.servicecatalog#InvalidParametersException": + response = { + ...(await deserializeAws_json1_1InvalidParametersExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.servicecatalog#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_1ListAcceptedPortfolioSharesCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -7523,6 +7613,7 @@ const serializeAws_json1_1DescribeProvisionedProductInput = ( return { ...(input.AcceptLanguage !== undefined && { AcceptLanguage: input.AcceptLanguage }), ...(input.Id !== undefined && { Id: input.Id }), + ...(input.Name !== undefined && { Name: input.Name }), }; }; @@ -7721,6 +7812,20 @@ const serializeAws_json1_1GetAWSOrganizationsAccessStatusInput = ( return {}; }; +const serializeAws_json1_1GetProvisionedProductOutputsInput = ( + input: GetProvisionedProductOutputsInput, + context: __SerdeContext +): any => { + return { + ...(input.AcceptLanguage !== undefined && { AcceptLanguage: input.AcceptLanguage }), + ...(input.OutputKeys !== undefined && { OutputKeys: serializeAws_json1_1OutputKeys(input.OutputKeys, context) }), + ...(input.PageSize !== undefined && { PageSize: input.PageSize }), + ...(input.PageToken !== undefined && { PageToken: input.PageToken }), + ...(input.ProvisionedProductId !== undefined && { ProvisionedProductId: input.ProvisionedProductId }), + ...(input.ProvisionedProductName !== undefined && { ProvisionedProductName: input.ProvisionedProductName }), + }; +}; + const serializeAws_json1_1ListAcceptedPortfolioSharesInput = ( input: ListAcceptedPortfolioSharesInput, context: __SerdeContext @@ -7958,6 +8063,10 @@ const serializeAws_json1_1OrganizationNode = (input: OrganizationNode, context: }; }; +const serializeAws_json1_1OutputKeys = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1ProductViewFilters = (input: { [key: string]: string[] }, context: __SerdeContext): any => { return Object.entries(input).reduce( (acc: { [key: string]: string[] }, [key, value]: [ProductViewFilterBy | string, any]) => ({ @@ -9106,6 +9215,20 @@ const deserializeAws_json1_1GetAWSOrganizationsAccessStatusOutput = ( } as any; }; +const deserializeAws_json1_1GetProvisionedProductOutputsOutput = ( + output: any, + context: __SerdeContext +): GetProvisionedProductOutputsOutput => { + return { + NextPageToken: + output.NextPageToken !== undefined && output.NextPageToken !== null ? output.NextPageToken : undefined, + Outputs: + output.Outputs !== undefined && output.Outputs !== null + ? deserializeAws_json1_1RecordOutputs(output.Outputs, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1InvalidParametersException = ( output: any, context: __SerdeContext @@ -9551,14 +9674,27 @@ const deserializeAws_json1_1ProvisionedProductAttribute = ( Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, IdempotencyToken: output.IdempotencyToken !== undefined && output.IdempotencyToken !== null ? output.IdempotencyToken : undefined, + LastProvisioningRecordId: + output.LastProvisioningRecordId !== undefined && output.LastProvisioningRecordId !== null + ? output.LastProvisioningRecordId + : undefined, LastRecordId: output.LastRecordId !== undefined && output.LastRecordId !== null ? output.LastRecordId : undefined, + LastSuccessfulProvisioningRecordId: + output.LastSuccessfulProvisioningRecordId !== undefined && output.LastSuccessfulProvisioningRecordId !== null + ? output.LastSuccessfulProvisioningRecordId + : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, PhysicalId: output.PhysicalId !== undefined && output.PhysicalId !== null ? output.PhysicalId : undefined, ProductId: output.ProductId !== undefined && output.ProductId !== null ? output.ProductId : undefined, + ProductName: output.ProductName !== undefined && output.ProductName !== null ? output.ProductName : undefined, ProvisioningArtifactId: output.ProvisioningArtifactId !== undefined && output.ProvisioningArtifactId !== null ? output.ProvisioningArtifactId : undefined, + ProvisioningArtifactName: + output.ProvisioningArtifactName !== undefined && output.ProvisioningArtifactName !== null + ? output.ProvisioningArtifactName + : undefined, Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, StatusMessage: output.StatusMessage !== undefined && output.StatusMessage !== null ? output.StatusMessage : undefined, @@ -9591,7 +9727,15 @@ const deserializeAws_json1_1ProvisionedProductDetail = ( Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, IdempotencyToken: output.IdempotencyToken !== undefined && output.IdempotencyToken !== null ? output.IdempotencyToken : undefined, + LastProvisioningRecordId: + output.LastProvisioningRecordId !== undefined && output.LastProvisioningRecordId !== null + ? output.LastProvisioningRecordId + : undefined, LastRecordId: output.LastRecordId !== undefined && output.LastRecordId !== null ? output.LastRecordId : undefined, + LastSuccessfulProvisioningRecordId: + output.LastSuccessfulProvisioningRecordId !== undefined && output.LastSuccessfulProvisioningRecordId !== null + ? output.LastSuccessfulProvisioningRecordId + : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, ProductId: output.ProductId !== undefined && output.ProductId !== null ? output.ProductId : undefined, ProvisioningArtifactId: diff --git a/clients/client-service-quotas/models/models_0.ts b/clients/client-service-quotas/models/models_0.ts index 75572836d988..424b3b698dd4 100644 --- a/clients/client-service-quotas/models/models_0.ts +++ b/clients/client-service-quotas/models/models_0.ts @@ -142,6 +142,11 @@ export namespace TooManyRequestsException { } export interface DeleteServiceQuotaIncreaseRequestFromTemplateRequest { + /** + *

                                                                  Specifies the AWS Region for the quota that you want to delete.

                                                                  + */ + AwsRegion: string | undefined; + /** *

                                                                  Specifies the code for the quota that you want to delete.

                                                                  */ @@ -151,11 +156,6 @@ export interface DeleteServiceQuotaIncreaseRequestFromTemplateRequest { *

                                                                  Specifies the code for the service that you want to delete.

                                                                  */ ServiceCode: string | undefined; - - /** - *

                                                                  Specifies the AWS Region for the quota that you want to delete.

                                                                  - */ - AwsRegion: string | undefined; } export namespace DeleteServiceQuotaIncreaseRequestFromTemplateRequest { @@ -306,14 +306,14 @@ export namespace GetAssociationForServiceQuotaTemplateResponse { export interface GetAWSDefaultServiceQuotaRequest { /** - *

                                                                  Identifies the service quota you want to select.

                                                                  + *

                                                                  Specifies the service that you want to use.

                                                                  */ - QuotaCode: string | undefined; + ServiceCode: string | undefined; /** - *

                                                                  Specifies the service that you want to use.

                                                                  + *

                                                                  Identifies the service quota you want to select.

                                                                  */ - ServiceCode: string | undefined; + QuotaCode: string | undefined; } export namespace GetAWSDefaultServiceQuotaRequest { @@ -337,14 +337,14 @@ export enum PeriodUnit { */ export interface QuotaPeriod { /** - *

                                                                  The time unit of a period.

                                                                  + *

                                                                  The value of a period.

                                                                  */ - PeriodUnit?: PeriodUnit | string; + PeriodValue?: number; /** - *

                                                                  The value of a period.

                                                                  + *

                                                                  The time unit of a period.

                                                                  */ - PeriodValue?: number; + PeriodUnit?: PeriodUnit | string; } export namespace QuotaPeriod { @@ -371,18 +371,18 @@ export interface MetricInfo { */ MetricDimensions?: { [key: string]: string }; + /** + *

                                                                  The name of the CloudWatch metric that measures usage of a service quota. This is a + * required field.

                                                                  + */ + MetricName?: string; + /** *

                                                                  Statistics are metric data aggregations over specified periods of time. This is the * recommended statistic to use when comparing usage in the CloudWatch Metric against your * Service Quota.

                                                                  */ MetricStatisticRecommendation?: string; - - /** - *

                                                                  The name of the CloudWatch metric that measures usage of a service quota. This is a - * required field.

                                                                  - */ - MetricName?: string; } export namespace MetricInfo { @@ -396,65 +396,65 @@ export namespace MetricInfo { */ export interface ServiceQuota { /** - *

                                                                  The unit of measurement for the value of the service quota.

                                                                  + *

                                                                  The name identifier of the service quota.

                                                                  */ - Unit?: string; + QuotaName?: string; /** - *

                                                                  Specifies if the quota value can be increased.

                                                                  + *

                                                                  Specifies the service that you want to use.

                                                                  */ - Adjustable?: boolean; + ServiceCode?: string; /** - *

                                                                  The value of service quota.

                                                                  + *

                                                                  The unit of measurement for the value of the service quota.

                                                                  */ - Value?: number; + Unit?: string; /** - *

                                                                  The code identifier for the service quota specified.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the service quota.

                                                                  */ - QuotaCode?: string; + QuotaArn?: string; /** - *

                                                                  Specifies if the quota is global.

                                                                  + *

                                                                  Specifies the details about the measurement.

                                                                  */ - GlobalQuota?: boolean; + UsageMetric?: MetricInfo; /** - *

                                                                  Identifies the unit and value of how time is measured.

                                                                  + *

                                                                  The name of the AWS service specified in the increase request.

                                                                  */ - Period?: QuotaPeriod; + ServiceName?: string; /** - *

                                                                  Specifies the ErrorCode and ErrorMessage when success isn't - * achieved.

                                                                  + *

                                                                  Identifies the unit and value of how time is measured.

                                                                  */ - ErrorReason?: ErrorReason; + Period?: QuotaPeriod; /** - *

                                                                  The name of the AWS service specified in the increase request.

                                                                  + *

                                                                  The code identifier for the service quota specified.

                                                                  */ - ServiceName?: string; + QuotaCode?: string; /** - *

                                                                  The Amazon Resource Name (ARN) of the service quota.

                                                                  + *

                                                                  The value of service quota.

                                                                  */ - QuotaArn?: string; + Value?: number; /** - *

                                                                  Specifies the service that you want to use.

                                                                  + *

                                                                  Specifies the ErrorCode and ErrorMessage when success isn't + * achieved.

                                                                  */ - ServiceCode?: string; + ErrorReason?: ErrorReason; /** - *

                                                                  Specifies the details about the measurement.

                                                                  + *

                                                                  Specifies if the quota is global.

                                                                  */ - UsageMetric?: MetricInfo; + GlobalQuota?: boolean; /** - *

                                                                  The name identifier of the service quota.

                                                                  + *

                                                                  Specifies if the quota value can be increased.

                                                                  */ - QuotaName?: string; + Adjustable?: boolean; } export namespace ServiceQuota { @@ -503,65 +503,65 @@ export enum RequestStatus { */ export interface RequestedServiceQuotaChange { /** - *

                                                                  The IAM identity who submitted the service quota increase request.

                                                                  + *

                                                                  The date and time when the service quota increase request was received and the case Id was + * created.

                                                                  */ - Requester?: string; + Created?: Date; /** - *

                                                                  The name of the AWS service specified in the increase request.

                                                                  + *

                                                                  The unique identifier of a requested service quota change.

                                                                  */ - ServiceName?: string; + Id?: string; /** - *

                                                                  Specifies the service that you want to use.

                                                                  + *

                                                                  Specifies the unit used for the quota.

                                                                  */ - ServiceCode?: string; + Unit?: string; /** - *

                                                                  Name of the service quota.

                                                                  + *

                                                                  Specifies the service quota that you want to use.

                                                                  */ - QuotaName?: string; + QuotaCode?: string; /** - *

                                                                  The Amazon Resource Name (ARN) of the service quota.

                                                                  + *

                                                                  New increased value for the service quota.

                                                                  */ - QuotaArn?: string; + DesiredValue?: number; /** - *

                                                                  The unique identifier of a requested service quota change.

                                                                  + *

                                                                  Identifies if the quota is global.

                                                                  */ - Id?: string; + GlobalQuota?: boolean; /** - *

                                                                  New increased value for the service quota.

                                                                  + *

                                                                  The name of the AWS service specified in the increase request.

                                                                  */ - DesiredValue?: number; + ServiceName?: string; /** - *

                                                                  Specifies the unit used for the quota.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the service quota.

                                                                  */ - Unit?: string; + QuotaArn?: string; /** - *

                                                                  State of the service quota increase request.

                                                                  + *

                                                                  Specifies the service that you want to use.

                                                                  */ - Status?: RequestStatus | string; + ServiceCode?: string; /** - *

                                                                  The date and time when the service quota increase request was received and the case Id was - * created.

                                                                  + *

                                                                  Name of the service quota.

                                                                  */ - Created?: Date; + QuotaName?: string; /** - *

                                                                  Specifies the service quota that you want to use.

                                                                  + *

                                                                  The IAM identity who submitted the service quota increase request.

                                                                  */ - QuotaCode?: string; + Requester?: string; /** - *

                                                                  Identifies if the quota is global.

                                                                  + *

                                                                  The case Id for the service quota increase request.

                                                                  */ - GlobalQuota?: boolean; + CaseId?: string; /** *

                                                                  The date and time of the most recent change in the service quota increase request.

                                                                  @@ -569,9 +569,9 @@ export interface RequestedServiceQuotaChange { LastUpdated?: Date; /** - *

                                                                  The case Id for the service quota increase request.

                                                                  + *

                                                                  State of the service quota increase request.

                                                                  */ - CaseId?: string; + Status?: RequestStatus | string; } export namespace RequestedServiceQuotaChange { @@ -596,14 +596,14 @@ export namespace GetRequestedServiceQuotaChangeResponse { export interface GetServiceQuotaRequest { /** - *

                                                                  Specifies the service that you want to use.

                                                                  + *

                                                                  Identifies the service quota you want to select.

                                                                  */ - ServiceCode: string | undefined; + QuotaCode: string | undefined; /** - *

                                                                  Identifies the service quota you want to select.

                                                                  + *

                                                                  Specifies the service that you want to use.

                                                                  */ - QuotaCode: string | undefined; + ServiceCode: string | undefined; } export namespace GetServiceQuotaRequest { @@ -663,20 +663,15 @@ export interface ServiceQuotaIncreaseRequestInTemplate { */ GlobalQuota?: boolean; - /** - *

                                                                  The AWS Region where the increase request occurs.

                                                                  - */ - AwsRegion?: string; - /** *

                                                                  The name of the AWS service specified in the increase request.

                                                                  */ ServiceName?: string; /** - *

                                                                  Identifies the new, increased value of the service quota in the increase request.

                                                                  + *

                                                                  The AWS Region where the increase request occurs.

                                                                  */ - DesiredValue?: number; + AwsRegion?: string; /** *

                                                                  The code identifier for the AWS service specified in the increase request.

                                                                  @@ -692,6 +687,11 @@ export interface ServiceQuotaIncreaseRequestInTemplate { *

                                                                  The unit of measure for the increase request.

                                                                  */ Unit?: string; + + /** + *

                                                                  Identifies the new, increased value of the service quota in the increase request.

                                                                  + */ + DesiredValue?: number; } export namespace ServiceQuotaIncreaseRequestInTemplate { @@ -745,15 +745,9 @@ export namespace InvalidResourceStateException { export interface ListAWSDefaultServiceQuotasRequest { /** - *

                                                                  (Optional) Limits the number of results that you want to include in the response. If you - * don't include this parameter, the response defaults to a value that's specific to the - * operation. If additional items exist beyond the specified maximum, the NextToken - * element is present and has a value (isn't null). Include that value as the - * NextToken request parameter in the call to the operation to get the next part - * of the results. You should check NextToken after every operation to ensure that - * you receive all of the results.

                                                                  + *

                                                                  Specifies the service that you want to use.

                                                                  */ - MaxResults?: number; + ServiceCode: string | undefined; /** *

                                                                  (Optional) Use this parameter in a request if you receive a NextToken @@ -768,9 +762,15 @@ export interface ListAWSDefaultServiceQuotasRequest { NextToken?: string; /** - *

                                                                  Specifies the service that you want to use.

                                                                  + *

                                                                  (Optional) Limits the number of results that you want to include in the response. If you + * don't include this parameter, the response defaults to a value that's specific to the + * operation. If additional items exist beyond the specified maximum, the NextToken + * element is present and has a value (isn't null). Include that value as the + * NextToken request parameter in the call to the operation to get the next part + * of the results. You should check NextToken after every operation to ensure that + * you receive all of the results.

                                                                  */ - ServiceCode: string | undefined; + MaxResults?: number; } export namespace ListAWSDefaultServiceQuotasRequest { @@ -806,6 +806,17 @@ export interface ListRequestedServiceQuotaChangeHistoryRequest { */ Status?: RequestStatus | string; + /** + *

                                                                  (Optional) Limits the number of results that you want to include in the response. If you + * don't include this parameter, the response defaults to a value that's specific to the + * operation. If additional items exist beyond the specified maximum, the NextToken + * element is present and has a value (isn't null). Include that value as the + * NextToken request parameter in the call to the operation to get the next part + * of the results. You should check NextToken after every operation to ensure that + * you receive all of the results.

                                                                  + */ + MaxResults?: number; + /** *

                                                                  Specifies the service that you want to use.

                                                                  */ @@ -818,17 +829,6 @@ export interface ListRequestedServiceQuotaChangeHistoryRequest { * indicate where the output should continue from.

                                                                  */ NextToken?: string; - - /** - *

                                                                  (Optional) Limits the number of results that you want to include in the response. If you - * don't include this parameter, the response defaults to a value that's specific to the - * operation. If additional items exist beyond the specified maximum, the NextToken - * element is present and has a value (isn't null). Include that value as the - * NextToken request parameter in the call to the operation to get the next part - * of the results. You should check NextToken after every operation to ensure that - * you receive all of the results.

                                                                  - */ - MaxResults?: number; } export namespace ListRequestedServiceQuotaChangeHistoryRequest { @@ -838,6 +838,11 @@ export namespace ListRequestedServiceQuotaChangeHistoryRequest { } export interface ListRequestedServiceQuotaChangeHistoryResponse { + /** + *

                                                                  Returns a list of service quota requests.

                                                                  + */ + RequestedQuotas?: RequestedServiceQuotaChange[]; + /** *

                                                                  If present in the response, this value indicates there's more output available that what's * included in the current response. This can occur even when the response includes no values at @@ -847,11 +852,6 @@ export interface ListRequestedServiceQuotaChangeHistoryResponse { * NextToken response element comes back empty (as null).

                                                                  */ NextToken?: string; - - /** - *

                                                                  Returns a list of service quota requests.

                                                                  - */ - RequestedQuotas?: RequestedServiceQuotaChange[]; } export namespace ListRequestedServiceQuotaChangeHistoryResponse { @@ -862,19 +862,12 @@ export namespace ListRequestedServiceQuotaChangeHistoryResponse { export interface ListRequestedServiceQuotaChangeHistoryByQuotaRequest { /** - *

                                                                  Specifies the service that you want to use.

                                                                  - */ - ServiceCode: string | undefined; - - /** - *

                                                                  Specifies the status value of the quota increase request.

                                                                  - */ - Status?: RequestStatus | string; - - /** - *

                                                                  Specifies the service quota that you want to use

                                                                  + *

                                                                  (Optional) Use this parameter in a request if you receive a NextToken + * response in a previous request that indicates that there's more output available. In a + * subsequent call, set it to the value of the previous call's NextToken response to + * indicate where the output should continue from.

                                                                  */ - QuotaCode: string | undefined; + NextToken?: string; /** *

                                                                  (Optional) Limits the number of results that you want to include in the response. If you @@ -888,12 +881,19 @@ export interface ListRequestedServiceQuotaChangeHistoryByQuotaRequest { MaxResults?: number; /** - *

                                                                  (Optional) Use this parameter in a request if you receive a NextToken - * response in a previous request that indicates that there's more output available. In a - * subsequent call, set it to the value of the previous call's NextToken response to - * indicate where the output should continue from.

                                                                  + *

                                                                  Specifies the status value of the quota increase request.

                                                                  */ - NextToken?: string; + Status?: RequestStatus | string; + + /** + *

                                                                  Specifies the service quota that you want to use

                                                                  + */ + QuotaCode: string | undefined; + + /** + *

                                                                  Specifies the service that you want to use.

                                                                  + */ + ServiceCode: string | undefined; } export namespace ListRequestedServiceQuotaChangeHistoryByQuotaRequest { @@ -927,15 +927,15 @@ export namespace ListRequestedServiceQuotaChangeHistoryByQuotaResponse { export interface ListServiceQuotaIncreaseRequestsInTemplateRequest { /** - *

                                                                  (Optional) Limits the number of results that you want to include in the response. If you - * don't include this parameter, the response defaults to a value that's specific to the - * operation. If additional items exist beyond the specified maximum, the NextToken - * element is present and has a value (isn't null). Include that value as the - * NextToken request parameter in the call to the operation to get the next part - * of the results. You should check NextToken after every operation to ensure that - * you receive all of the results.

                                                                  + *

                                                                  Specifies the AWS Region for the quota that you want to use.

                                                                  */ - MaxResults?: number; + AwsRegion?: string; + + /** + *

                                                                  The identifier for a service. When performing an operation, use the + * ServiceCode to specify a particular service.

                                                                  + */ + ServiceCode?: string; /** *

                                                                  (Optional) Use this parameter in a request if you receive a NextToken @@ -946,15 +946,15 @@ export interface ListServiceQuotaIncreaseRequestsInTemplateRequest { NextToken?: string; /** - *

                                                                  Specifies the AWS Region for the quota that you want to use.

                                                                  - */ - AwsRegion?: string; - - /** - *

                                                                  The identifier for a service. When performing an operation, use the - * ServiceCode to specify a particular service.

                                                                  + *

                                                                  (Optional) Limits the number of results that you want to include in the response. If you + * don't include this parameter, the response defaults to a value that's specific to the + * operation. If additional items exist beyond the specified maximum, the NextToken + * element is present and has a value (isn't null). Include that value as the + * NextToken request parameter in the call to the operation to get the next part + * of the results. You should check NextToken after every operation to ensure that + * you receive all of the results.

                                                                  */ - ServiceCode?: string; + MaxResults?: number; } export namespace ListServiceQuotaIncreaseRequestsInTemplateRequest { @@ -995,12 +995,6 @@ export interface ListServiceQuotasRequest { */ NextToken?: string; - /** - *

                                                                  The identifier for a service. When performing an operation, use the - * ServiceCode to specify a particular service.

                                                                  - */ - ServiceCode: string | undefined; - /** *

                                                                  (Optional) Limits the number of results that you want to include in the response. If you * don't include this parameter, the response defaults to a value that's specific to the @@ -1011,6 +1005,12 @@ export interface ListServiceQuotasRequest { * you receive all of the results.

                                                                  */ MaxResults?: number; + + /** + *

                                                                  The identifier for a service. When performing an operation, use the + * ServiceCode to specify a particular service.

                                                                  + */ + ServiceCode: string | undefined; } export namespace ListServiceQuotasRequest { @@ -1076,14 +1076,14 @@ export namespace ListServicesRequest { */ export interface ServiceInfo { /** - *

                                                                  The name of the AWS service specified in the increase request.

                                                                  + *

                                                                  Specifies the service that you want to use.

                                                                  */ - ServiceName?: string; + ServiceCode?: string; /** - *

                                                                  Specifies the service that you want to use.

                                                                  + *

                                                                  The name of the AWS service specified in the increase request.

                                                                  */ - ServiceCode?: string; + ServiceName?: string; } export namespace ServiceInfo { @@ -1093,11 +1093,6 @@ export namespace ServiceInfo { } export interface ListServicesResponse { - /** - *

                                                                  Returns a list of services.

                                                                  - */ - Services?: ServiceInfo[]; - /** *

                                                                  If present in the response, this value indicates there's more output available that what's * included in the current response. This can occur even when the response includes no values at @@ -1107,6 +1102,11 @@ export interface ListServicesResponse { * NextToken response element comes back empty (as null).

                                                                  */ NextToken?: string; + + /** + *

                                                                  Returns a list of services.

                                                                  + */ + Services?: ServiceInfo[]; } export namespace ListServicesResponse { @@ -1117,24 +1117,24 @@ export namespace ListServicesResponse { export interface PutServiceQuotaIncreaseRequestIntoTemplateRequest { /** - *

                                                                  Specifies the new, increased value for the quota.

                                                                  + *

                                                                  Specifies the service quota that you want to use.

                                                                  */ - DesiredValue: number | undefined; + QuotaCode: string | undefined; /** - *

                                                                  Specifies the AWS Region for the quota.

                                                                  + *

                                                                  Specifies the service that you want to use.

                                                                  */ - AwsRegion: string | undefined; + ServiceCode: string | undefined; /** - *

                                                                  Specifies the service that you want to use.

                                                                  + *

                                                                  Specifies the AWS Region for the quota.

                                                                  */ - ServiceCode: string | undefined; + AwsRegion: string | undefined; /** - *

                                                                  Specifies the service quota that you want to use.

                                                                  + *

                                                                  Specifies the new, increased value for the quota.

                                                                  */ - QuotaCode: string | undefined; + DesiredValue: number | undefined; } export namespace PutServiceQuotaIncreaseRequestIntoTemplateRequest { @@ -1179,14 +1179,14 @@ export interface RequestServiceQuotaIncreaseRequest { DesiredValue: number | undefined; /** - *

                                                                  Specifies the service that you want to use.

                                                                  + *

                                                                  Specifies the service quota that you want to use.

                                                                  */ - ServiceCode: string | undefined; + QuotaCode: string | undefined; /** - *

                                                                  Specifies the service quota that you want to use.

                                                                  + *

                                                                  Specifies the service that you want to use.

                                                                  */ - QuotaCode: string | undefined; + ServiceCode: string | undefined; } export namespace RequestServiceQuotaIncreaseRequest { diff --git a/clients/client-servicediscovery/ServiceDiscovery.ts b/clients/client-servicediscovery/ServiceDiscovery.ts index 3fc70168c975..3b4521c689f2 100644 --- a/clients/client-servicediscovery/ServiceDiscovery.ts +++ b/clients/client-servicediscovery/ServiceDiscovery.ts @@ -115,7 +115,7 @@ export class ServiceDiscovery extends ServiceDiscoveryClient { /** *

                                                                  Creates an HTTP namespace. Service instances that you register using an HTTP namespace can be discovered using a * DiscoverInstances request but can't be discovered using DNS.

                                                                  - *

                                                                  For the current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the + *

                                                                  For the current quota on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map quotas in the * AWS Cloud Map Developer Guide.

                                                                  */ public createHttpNamespace( @@ -151,7 +151,7 @@ export class ServiceDiscovery extends ServiceDiscoveryClient { *

                                                                  Creates a private namespace based on DNS, which will be visible only inside a specified Amazon VPC. The * namespace defines your service naming scheme. For example, if you name your namespace example.com and * name your service backend, the resulting DNS name for the service will be - * backend.example.com. For the current limit on the number of namespaces that you can create using the + * backend.example.com. For the current quota on the number of namespaces that you can create using the * same AWS account, see AWS Cloud Map * Limits in the AWS Cloud Map Developer Guide.

                                                                  */ @@ -188,7 +188,7 @@ export class ServiceDiscovery extends ServiceDiscoveryClient { *

                                                                  Creates a public namespace based on DNS, which will be visible on the internet. The namespace defines your * service naming scheme. For example, if you name your namespace example.com and name your service * backend, the resulting DNS name for the service will be backend.example.com. For the - * current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the + * current quota on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the * AWS Cloud Map Developer Guide.

                                                                  */ public createPublicDnsNamespace( @@ -224,22 +224,32 @@ export class ServiceDiscovery extends ServiceDiscoveryClient { *

                                                                  Creates a service, which defines the configuration for the following entities:

                                                                  *
                                                                    *
                                                                  • - *

                                                                    For public and private DNS namespaces, one of the following combinations of DNS records in Amazon Route 53:

                                                                    + *

                                                                    For public and private DNS namespaces, one of the following combinations of DNS records in Amazon Route 53:

                                                                    *
                                                                      *
                                                                    • - *

                                                                      A

                                                                      + *

                                                                      + * A + *

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      AAAA

                                                                      + *

                                                                      + * AAAA + *

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      A and AAAA

                                                                      + *

                                                                      + * A and AAAA + *

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      SRV

                                                                      + *

                                                                      + * SRV + *

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      CNAME

                                                                      + *

                                                                      + * CNAME + *

                                                                      *
                                                                    • *
                                                                    *
                                                                  • @@ -249,7 +259,7 @@ export class ServiceDiscovery extends ServiceDiscoveryClient { *
                                                                  *

                                                                  After you create the service, you can submit a RegisterInstance request, and AWS Cloud Map uses the * values in the configuration to create the specified entities.

                                                                  - *

                                                                  For the current limit on the number of instances that you can register using the same namespace and using the + *

                                                                  For the current quota on the number of instances that you can register using the same namespace and using the * same service, see AWS Cloud Map * Limits in the AWS Cloud Map Developer Guide.

                                                                  */ @@ -349,7 +359,7 @@ export class ServiceDiscovery extends ServiceDiscoveryClient { } /** - *

                                                                  Deletes the Amazon Route 53 DNS records and health check, if any, that AWS Cloud Map created for the specified + *

                                                                  Deletes the Amazon Route 53 DNS records and health check, if any, that AWS Cloud Map created for the specified * instance.

                                                                  */ public deregisterInstance( @@ -761,7 +771,7 @@ export class ServiceDiscovery extends ServiceDiscoveryClient { * records

                                                                  * *
                                                                - *

                                                                For the current limit on the number of instances that you can register using the same namespace and using the + *

                                                                For the current quota on the number of instances that you can register using the same namespace and using the * same service, see AWS Cloud Map * Limits in the AWS Cloud Map Developer Guide.

                                                                */ @@ -856,7 +866,7 @@ export class ServiceDiscovery extends ServiceDiscoveryClient { *

                                                                Submits a request to change the health status of a custom health check to healthy or unhealthy.

                                                                *

                                                                You can use UpdateInstanceCustomHealthStatus to change the status only for custom health checks, * which you define using HealthCheckCustomConfig when you create a service. You can't use it to change the - * status for Route 53 health checks, which you define using HealthCheckConfig.

                                                                + * status for Route 53 health checks, which you define using HealthCheckConfig.

                                                                *

                                                                For more information, see HealthCheckCustomConfig.

                                                                */ public updateInstanceCustomHealthStatus( diff --git a/clients/client-servicediscovery/models/models_0.ts b/clients/client-servicediscovery/models/models_0.ts index 51200dce7884..4b275e63fa6a 100644 --- a/clients/client-servicediscovery/models/models_0.ts +++ b/clients/client-servicediscovery/models/models_0.ts @@ -6,8 +6,8 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface Tag { /** - *

                                                                The string value that's associated with the key of the tag. You can set the value of a tag to an empty string, - * but you can't set the value of a tag to null.

                                                                + *

                                                                The string value associated with the key of the tag. You can set the value of a tag to an empty string, but you + * can't set the value of a tag to null.

                                                                */ Value: string | undefined; @@ -24,13 +24,6 @@ export namespace Tag { } export interface CreateHttpNamespaceRequest { - /** - *

                                                                The tags to add to the namespace. Each tag consists of a key and an optional value, both of which you define. - * Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum - * length of 256 characters.

                                                                - */ - Tags?: Tag[]; - /** *

                                                                A unique string that identifies the request and that allows failed CreateHttpNamespace requests to * be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, @@ -47,6 +40,13 @@ export interface CreateHttpNamespaceRequest { *

                                                                The name that you want to assign to this namespace.

                                                                */ Name: string | undefined; + + /** + *

                                                                The tags to add to the namespace. Each tag consists of a key and an optional value, both of which you define. + * Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum + * length of 256 characters.

                                                                + */ + Tags?: Tag[]; } export namespace CreateHttpNamespaceRequest { @@ -110,16 +110,16 @@ export namespace InvalidInput { export interface NamespaceAlreadyExists extends __SmithyException, $MetadataBearer { name: "NamespaceAlreadyExists"; $fault: "client"; - Message?: string; /** - *

                                                                The ID of the existing namespace.

                                                                + *

                                                                The CreatorRequestId that was used to create the namespace.

                                                                */ - NamespaceId?: string; + CreatorRequestId?: string; + Message?: string; /** - *

                                                                The CreatorRequestId that was used to create the namespace.

                                                                + *

                                                                The ID of the existing namespace.

                                                                */ - CreatorRequestId?: string; + NamespaceId?: string; } export namespace NamespaceAlreadyExists { @@ -129,7 +129,7 @@ export namespace NamespaceAlreadyExists { } /** - *

                                                                The resource can't be created because you've reached the limit on the number of resources.

                                                                + *

                                                                The resource can't be created because you've reached the quota on the number of resources.

                                                                */ export interface ResourceLimitExceeded extends __SmithyException, $MetadataBearer { name: "ResourceLimitExceeded"; @@ -144,17 +144,18 @@ export namespace ResourceLimitExceeded { } /** - *

                                                                The list of tags on the resource is over the limit. The maximum number of tags that can be applied to a resource + *

                                                                The list of tags on the resource is over the quota. The maximum number of tags that can be applied to a resource * is 50.

                                                                */ export interface TooManyTagsException extends __SmithyException, $MetadataBearer { name: "TooManyTagsException"; $fault: "client"; - Message?: string; /** *

                                                                The name of the resource.

                                                                */ ResourceName?: string; + + Message?: string; } export namespace TooManyTagsException { @@ -165,20 +166,16 @@ export namespace TooManyTagsException { export interface CreatePrivateDnsNamespaceRequest { /** - *

                                                                The name that you want to assign to this namespace. When you create a private DNS namespace, AWS Cloud Map - * automatically creates an Amazon Route 53 private hosted zone that has the same name as the namespace.

                                                                - */ - Name: string | undefined; - - /** - *

                                                                The ID of the Amazon VPC that you want to associate the namespace with.

                                                                + *

                                                                A description for the namespace.

                                                                */ - Vpc: string | undefined; + Description?: string; /** - *

                                                                A description for the namespace.

                                                                + *

                                                                A unique string that identifies the request and that allows failed CreatePrivateDnsNamespace + * requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any + * unique string, for example, a date/time stamp.

                                                                */ - Description?: string; + CreatorRequestId?: string; /** *

                                                                The tags to add to the namespace. Each tag consists of a key and an optional value, both of which you define. @@ -188,11 +185,15 @@ export interface CreatePrivateDnsNamespaceRequest { Tags?: Tag[]; /** - *

                                                                A unique string that identifies the request and that allows failed CreatePrivateDnsNamespace - * requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any - * unique string, for example, a date/time stamp.

                                                                + *

                                                                The name that you want to assign to this namespace. When you create a private DNS namespace, AWS Cloud Map + * automatically creates an Amazon Route 53 private hosted zone that has the same name as the namespace.

                                                                */ - CreatorRequestId?: string; + Name: string | undefined; + + /** + *

                                                                The ID of the Amazon VPC that you want to associate the namespace with.

                                                                + */ + Vpc: string | undefined; } export namespace CreatePrivateDnsNamespaceRequest { @@ -216,13 +217,6 @@ export namespace CreatePrivateDnsNamespaceResponse { } export interface CreatePublicDnsNamespaceRequest { - /** - *

                                                                The tags to add to the namespace. Each tag consists of a key and an optional value, both of which you define. - * Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum - * length of 256 characters.

                                                                - */ - Tags?: Tag[]; - /** *

                                                                A unique string that identifies the request and that allows failed CreatePublicDnsNamespace * requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any @@ -239,6 +233,13 @@ export interface CreatePublicDnsNamespaceRequest { *

                                                                The name that you want to assign to this namespace.

                                                                */ Name: string | undefined; + + /** + *

                                                                The tags to add to the namespace. Each tag consists of a key and an optional value, both of which you define. + * Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum + * length of 256 characters.

                                                                + */ + Tags?: Tag[]; } export namespace CreatePublicDnsNamespaceRequest { @@ -269,59 +270,67 @@ export enum RecordType { } /** - *

                                                                A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you + *

                                                                A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you * register an instance.

                                                                */ export interface DnsRecord { /** - *

                                                                The amount of time, in seconds, that you want DNS resolvers to cache the settings for this record.

                                                                - * - *

                                                                Alias records don't include a TTL because Route 53 uses the TTL for the AWS resource that an alias record routes - * traffic to. If you include the AWS_ALIAS_DNS_NAME attribute when you submit a RegisterInstance request, the - * TTL value is ignored. Always specify a TTL for the service; you can use a service to register - * instances that create either alias or non-alias records.

                                                                - *
                                                                - */ - TTL: number | undefined; - - /** - *

                                                                The type of the resource, which indicates the type of value that Route 53 returns in response to DNS queries. You + *

                                                                The type of the resource, which indicates the type of value that Route 53 returns in response to DNS queries. You * can specify values for Type in the following combinations:

                                                                *
                                                                  *
                                                                • - *

                                                                  A

                                                                  + *

                                                                  + * A + *

                                                                  *
                                                                • *
                                                                • - *

                                                                  AAAA

                                                                  + *

                                                                  + * AAAA + *

                                                                  *
                                                                • *
                                                                • - *

                                                                  A and AAAA

                                                                  + *

                                                                  + * A and AAAA + *

                                                                  *
                                                                • *
                                                                • - *

                                                                  SRV

                                                                  + *

                                                                  + * SRV + *

                                                                  *
                                                                • *
                                                                • - *

                                                                  CNAME

                                                                  + *

                                                                  + * CNAME + *

                                                                  *
                                                                • *
                                                                - *

                                                                If you want AWS Cloud Map to create a Route 53 alias record when you register an instance, specify A or + *

                                                                If you want AWS Cloud Map to create a Route 53 alias record when you register an instance, specify A or * AAAA for Type.

                                                                - *

                                                                You specify other settings, such as the IP address for A and AAAA records, when you register an instance. For - * more information, see RegisterInstance.

                                                                + *

                                                                You specify other settings, such as the IP address for A and AAAA records, when you + * register an instance. For more information, see RegisterInstance.

                                                                *

                                                                The following values are supported:

                                                                *

                                                                - * A + * A + * + * + * *

                                                                - *

                                                                Route 53 returns the IP address of the resource in IPv4 format, such as 192.0.2.44.

                                                                + *

                                                                Route 53 returns the IP address of the resource in IPv4 format, such as 192.0.2.44.

                                                                *

                                                                - * AAAA + * AAAA + * + * + * *

                                                                - *

                                                                Route 53 returns the IP address of the resource in IPv6 format, such as + *

                                                                Route 53 returns the IP address of the resource in IPv6 format, such as * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

                                                                *

                                                                - * CNAME + * CNAME + * + * + * *

                                                                - *

                                                                Route 53 returns the domain name of the resource, such as www.example.com. Note the following:

                                                                + *

                                                                Route 53 returns the domain name of the resource, such as www.example.com. Note the following:

                                                                *
                                                                  *
                                                                • *

                                                                  You specify the domain name that you want to route traffic to when you register an instance. For more @@ -338,7 +347,8 @@ export interface DnsRecord { *

                                                                  * SRV *

                                                                  - *

                                                                  Route 53 returns the value for an SRV record. The value for an SRV record uses the following values:

                                                                  + *

                                                                  Route 53 returns the value for an SRV record. The value for an SRV record uses the + * following values:

                                                                  *

                                                                  * priority weight port service-hostname *

                                                                  @@ -373,21 +383,32 @@ export interface DnsRecord { *

                                                                  *
                                                                • *
                                                                - *

                                                                If you specify settings for an SRV record, note the following:

                                                                + *

                                                                If you specify settings for an SRV record, note the following:

                                                                *
                                                                  *
                                                                • *

                                                                  If you specify values for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both in the * RegisterInstance request, AWS Cloud Map automatically creates A and/or AAAA - * records that have the same name as the value of service-hostname in the SRV record. You can ignore - * these records.

                                                                  + * records that have the same name as the value of service-hostname in the SRV record. You + * can ignore these records.

                                                                  *
                                                                • *
                                                                • - *

                                                                  If you're using a system that requires a specific SRV format, such as HAProxy, see the Name element in the documentation about CreateService for information about how to specify + *

                                                                  If you're using a system that requires a specific SRV format, such as HAProxy, see the Name element in the documentation about CreateService for information about how to specify * the correct name format.

                                                                  *
                                                                • *
                                                                */ Type: RecordType | string | undefined; + + /** + *

                                                                The amount of time, in seconds, that you want DNS resolvers to cache the settings for this record.

                                                                + * + *

                                                                Alias records don't include a TTL because Route 53 uses the TTL for the AWS resource that an alias record routes + * traffic to. If you include the AWS_ALIAS_DNS_NAME attribute when you submit a RegisterInstance request, the + * TTL value is ignored. Always specify a TTL for the service; you can use a service to register + * instances that create either alias or non-alias records.

                                                                + *
                                                                + */ + TTL: number | undefined; } export namespace DnsRecord { @@ -402,12 +423,23 @@ export enum RoutingPolicy { } /** - *

                                                                A complex type that contains information about the Amazon Route 53 DNS records that you want AWS Cloud Map to create when + *

                                                                A complex type that contains information about the Amazon Route 53 DNS records that you want AWS Cloud Map to create when * you register an instance.

                                                                */ export interface DnsConfig { /** - *

                                                                The routing policy that you want to apply to all Route 53 DNS records that AWS Cloud Map creates when you register an + *

                                                                An array that contains one DnsRecord object for each Route 53 DNS record that you want AWS Cloud Map to + * create when you register an instance.

                                                                + */ + DnsRecords: DnsRecord[] | undefined; + + /** + *

                                                                The ID of the namespace to use for DNS configuration.

                                                                + */ + NamespaceId?: string; + + /** + *

                                                                The routing policy that you want to apply to all Route 53 DNS records that AWS Cloud Map creates when you register an * instance and specify this service.

                                                                * *

                                                                If you want to use this service to register instances that create alias records, specify WEIGHTED @@ -417,43 +449,32 @@ export interface DnsConfig { *

                                                                * MULTIVALUE *

                                                                - *

                                                                If you define a health check for the service and the health check is healthy, Route 53 returns the applicable value + *

                                                                If you define a health check for the service and the health check is healthy, Route 53 returns the applicable value * for up to eight instances.

                                                                - *

                                                                For example, suppose the service includes configurations for one A record and a health check, and you use the - * service to register 10 instances. Route 53 responds to DNS queries with IP addresses for up to eight healthy instances. - * If fewer than eight instances are healthy, Route 53 responds to every DNS query with the IP addresses for all of the - * healthy instances.

                                                                - *

                                                                If you don't define a health check for the service, Route 53 assumes that all instances are healthy and returns the + *

                                                                For example, suppose the service includes configurations for one A record and a health check, and + * you use the service to register 10 instances. Route 53 responds to DNS queries with IP addresses for up to eight healthy + * instances. If fewer than eight instances are healthy, Route 53 responds to every DNS query with the IP addresses for all + * of the healthy instances.

                                                                + *

                                                                If you don't define a health check for the service, Route 53 assumes that all instances are healthy and returns the * values for up to eight instances.

                                                                *

                                                                For more information about the multivalue routing policy, see Multivalue Answer Routing - * in the Route 53 Developer Guide.

                                                                + * in the Route 53 Developer Guide.

                                                                *

                                                                * WEIGHTED *

                                                                - *

                                                                Route 53 returns the applicable value from one randomly selected instance from among the instances that you + *

                                                                Route 53 returns the applicable value from one randomly selected instance from among the instances that you * registered using the same service. Currently, all records have the same weight, so you can't route more or less * traffic to any instances.

                                                                - *

                                                                For example, suppose the service includes configurations for one A record and a health check, and you use the - * service to register 10 instances. Route 53 responds to DNS queries with the IP address for one randomly selected - * instance from among the healthy instances. If no instances are healthy, Route 53 responds to DNS queries as if all of - * the instances were healthy.

                                                                - *

                                                                If you don't define a health check for the service, Route 53 assumes that all instances are healthy and returns the + *

                                                                For example, suppose the service includes configurations for one A record and a health check, and + * you use the service to register 10 instances. Route 53 responds to DNS queries with the IP address for one randomly + * selected instance from among the healthy instances. If no instances are healthy, Route 53 responds to DNS queries as if + * all of the instances were healthy.

                                                                + *

                                                                If you don't define a health check for the service, Route 53 assumes that all instances are healthy and returns the * applicable value for one randomly selected instance.

                                                                *

                                                                For more information about the weighted routing policy, see Weighted Routing in the - * Route 53 Developer Guide.

                                                                + * Route 53 Developer Guide.

                                                                */ RoutingPolicy?: RoutingPolicy | string; - - /** - *

                                                                The ID of the namespace to use for DNS configuration.

                                                                - */ - NamespaceId?: string; - - /** - *

                                                                An array that contains one DnsRecord object for each Route 53 DNS record that you want AWS Cloud Map to - * create when you register an instance.

                                                                - */ - DnsRecords: DnsRecord[] | undefined; } export namespace DnsConfig { @@ -477,17 +498,20 @@ export enum HealthCheckType { *

                                                                If you specify a health check configuration, you can specify either HealthCheckCustomConfig or * HealthCheckConfig but not both.

                                                                * - *

                                                                Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for - * health checks, see Amazon Route 53 Pricing.

                                                                + *

                                                                Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for + * health checks, see Amazon Route 53 Pricing.

                                                                *

                                                                Note the following about configuring health checks.

                                                                *

                                                                - * A and AAAA records + * + * A and AAAA records *

                                                                - *

                                                                If DnsConfig includes configurations for both A and AAAA records, AWS Cloud Map creates a health check - * that uses the IPv4 address to check the health of the resource. If the endpoint that is specified by the IPv4 address - * is unhealthy, Route 53 considers both the A and AAAA records to be unhealthy.

                                                                + *

                                                                If DnsConfig includes configurations for both A and AAAA records, + * AWS Cloud Map creates a health check that uses the IPv4 address to check the health of the resource. If the endpoint + * that is specified by the IPv4 address is unhealthy, Route 53 considers both the A and AAAA + * records to be unhealthy.

                                                                *

                                                                - * CNAME records + * + * CNAME records *

                                                                *

                                                                You can't specify settings for HealthCheckConfig when the DNSConfig includes * CNAME for the value of Type. If you do, the CreateService request will fail @@ -495,40 +519,40 @@ export enum HealthCheckType { *

                                                                * Request interval *

                                                                - *

                                                                A Route 53 health checker in each health-checking region sends a health check request to an endpoint every 30 + *

                                                                A Route 53 health checker in each health-checking region sends a health check request to an endpoint every 30 * seconds. On average, your endpoint receives a health check request about every two seconds. However, health checkers * don't coordinate with one another, so you'll sometimes see several requests per second followed by a few seconds with * no health checks at all.

                                                                *

                                                                * Health checking regions *

                                                                - *

                                                                Health checkers perform checks from all Route 53 health-checking regions. For a list of the current regions, see + *

                                                                Health checkers perform checks from all Route 53 health-checking regions. For a list of the current regions, see * Regions.

                                                                *

                                                                * Alias records *

                                                                *

                                                                When you register an instance, if you include the AWS_ALIAS_DNS_NAME attribute, AWS Cloud Map creates - * a Route 53 alias record. Note the following:

                                                                + * a Route 53 alias record. Note the following:

                                                                *
                                                                  *
                                                                • - *

                                                                  Route 53 automatically sets EvaluateTargetHealth to true for alias records. When + *

                                                                  Route 53 automatically sets EvaluateTargetHealth to true for alias records. When * EvaluateTargetHealth is true, the alias record inherits the health of the referenced AWS resource. * such as an ELB load balancer. For more information, see EvaluateTargetHealth.

                                                                  *
                                                                • *
                                                                • *

                                                                  If you include HealthCheckConfig and then use the service to register an instance that creates an - * alias record, Route 53 doesn't create the health check.

                                                                  + * alias record, Route 53 doesn't create the health check.

                                                                  *
                                                                • *
                                                                *

                                                                * Charges for health checks *

                                                                - *

                                                                Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for - * health checks, see Amazon Route 53 Pricing.

                                                                + *

                                                                Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for + * health checks, see Amazon Route 53 Pricing.

                                                                */ export interface HealthCheckConfig { /** - *

                                                                The type of health check that you want to create, which indicates how Route 53 determines whether an endpoint is + *

                                                                The type of health check that you want to create, which indicates how Route 53 determines whether an endpoint is * healthy.

                                                                * *

                                                                You can't change the value of Type after you create a health check.

                                                                @@ -537,12 +561,12 @@ export interface HealthCheckConfig { *
                                                                  *
                                                                • *

                                                                  - * HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits + * HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits * an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 + * HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 * submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

                                                                  * *

                                                                  If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

                                                                  @@ -550,32 +574,32 @@ export interface HealthCheckConfig { *
                                                                • *
                                                                • *

                                                                  - * TCP: Route 53 tries to establish a TCP connection.

                                                                  + * TCP: Route 53 tries to establish a TCP connection.

                                                                  *

                                                                  If you specify TCP for Type, don't specify a value for * ResourcePath.

                                                                  *
                                                                • *
                                                                - *

                                                                For more information, see How Route 53 Determines Whether - * an Endpoint Is Healthy in the Route 53 Developer Guide.

                                                                + *

                                                                For more information, see How Route 53 Determines Whether + * an Endpoint Is Healthy in the Route 53 Developer Guide.

                                                                */ Type: HealthCheckType | string | undefined; /** - *

                                                                The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current - * status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Route 53 Determines Whether - * an Endpoint Is Healthy in the Route 53 Developer Guide.

                                                                - */ - FailureThreshold?: number; - - /** - *

                                                                The path that you want Route 53 to request when performing health checks. The path can be any value for which your + *

                                                                The path that you want Route 53 to request when performing health checks. The path can be any value for which your * endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, such as the file - * /docs/route53-health-check.html. Route 53 automatically adds the DNS name for the service. If you don't + * /docs/route53-health-check.html. Route 53 automatically adds the DNS name for the service. If you don't * specify a value for ResourcePath, the default value is /.

                                                                *

                                                                If you specify TCP for Type, you must not specify a value for * ResourcePath.

                                                                */ ResourcePath?: string; + + /** + *

                                                                The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current + * status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Route 53 Determines Whether + * an Endpoint Is Healthy in the Route 53 Developer Guide.

                                                                + */ + FailureThreshold?: number; } export namespace HealthCheckConfig { @@ -639,14 +663,18 @@ export namespace HealthCheckConfig { */ export interface HealthCheckCustomConfig { /** - *

                                                                The number of 30-second intervals that you want AWS Cloud Map to wait after receiving an - * UpdateInstanceCustomHealthStatus request before it changes the health status of a service instance. For - * example, suppose you specify a value of 2 for FailureTheshold, and then your application - * sends an UpdateInstanceCustomHealthStatus request. AWS Cloud Map waits for approximately 60 seconds (2 x 30) - * before changing the status of the service instance based on that request.

                                                                - *

                                                                Sending a second or subsequent UpdateInstanceCustomHealthStatus request with the same value before - * FailureThreshold x 30 seconds has passed doesn't accelerate the change. AWS Cloud Map still waits - * FailureThreshold x 30 seconds after the first request to make the change.

                                                                + * + *

                                                                This parameter has been deprecated and is always set to 1. AWS Cloud Map waits for approximately 30 seconds + * after receiving an UpdateInstanceCustomHealthStatus request before changing the status of + * the service instance.

                                                                + *
                                                                + * + *

                                                                The number of 30-second intervals that you want AWS Cloud Map to wait after receiving an + * UpdateInstanceCustomHealthStatus request before it changes the health status of a service + * instance.

                                                                + *

                                                                Sending a second or subsequent UpdateInstanceCustomHealthStatus request with the same value + * before 30 seconds has passed doesn't accelerate the change. AWS Cloud Map still waits + * 30 seconds after the first request to make the change.

                                                                */ FailureThreshold?: number; } @@ -658,40 +686,10 @@ export namespace HealthCheckCustomConfig { } export interface CreateServiceRequest { - /** - *

                                                                The tags to add to the service. Each tag consists of a key and an optional value, both of which you define. - * Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum - * length of 256 characters.

                                                                - */ - Tags?: Tag[]; - - /** - *

                                                                A description for the service.

                                                                - */ - Description?: string; - - /** - *

                                                                A complex type that contains information about the Amazon Route 53 records that you want AWS Cloud Map to create when you - * register an instance.

                                                                - */ - DnsConfig?: DnsConfig; - - /** - *

                                                                A complex type that contains information about an optional custom health check.

                                                                - * - *

                                                                If you specify a health check configuration, you can specify either HealthCheckCustomConfig or - * HealthCheckConfig but not both.

                                                                - *
                                                                - *

                                                                You can't add, update, or delete a HealthCheckCustomConfig configuration from an existing - * service.

                                                                - */ - HealthCheckCustomConfig?: HealthCheckCustomConfig; - /** *

                                                                The name that you want to assign to the service.

                                                                - *

                                                                If you want AWS Cloud Map to create an SRV record when you register an instance, and if you're using a system that - * requires a specific SRV format, such as HAProxy, specify the following - * for Name:

                                                                + *

                                                                If you want AWS Cloud Map to create an SRV record when you register an instance, and if you're using a + * system that requires a specific SRV format, such as HAProxy, specify the following for Name:

                                                                *
                                                                  *
                                                                • *

                                                                  Start the name with an underscore (_), such as _exampleservice @@ -702,7 +700,7 @@ export interface CreateServiceRequest { *

                                                                  *
                                                                • *
                                                                - *

                                                                When you register an instance, AWS Cloud Map creates an SRV record and assigns a name to the record by + *

                                                                When you register an instance, AWS Cloud Map creates an SRV record and assigns a name to the record by * concatenating the service name and the namespace name, for example:

                                                                *

                                                                * _exampleservice._tcp.example.com @@ -710,6 +708,13 @@ export interface CreateServiceRequest { */ Name: string | undefined; + /** + *

                                                                A unique string that identifies the request and that allows failed CreateService requests to be + * retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, + * for example, a date/time stamp.

                                                                + */ + CreatorRequestId?: string; + /** *

                                                                The ID of the namespace that you want to use to create the service.

                                                                */ @@ -718,8 +723,8 @@ export interface CreateServiceRequest { /** *

                                                                * Public DNS and HTTP namespaces only. A complex type that contains settings for an optional - * Route 53 health check. If you specify settings for a health check, AWS Cloud Map associates the health check with all the - * Route 53 DNS records that you specify in DnsConfig.

                                                                + * Route 53 health check. If you specify settings for a health check, AWS Cloud Map associates the health check with all the + * Route 53 DNS records that you specify in DnsConfig.

                                                                * *

                                                                If you specify a health check configuration, you can specify either HealthCheckCustomConfig or * HealthCheckConfig but not both.

                                                                @@ -729,11 +734,33 @@ export interface CreateServiceRequest { HealthCheckConfig?: HealthCheckConfig; /** - *

                                                                A unique string that identifies the request and that allows failed CreateService requests to be - * retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, - * for example, a date/time stamp.

                                                                + *

                                                                A description for the service.

                                                                */ - CreatorRequestId?: string; + Description?: string; + + /** + *

                                                                The tags to add to the service. Each tag consists of a key and an optional value, both of which you define. + * Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum + * length of 256 characters.

                                                                + */ + Tags?: Tag[]; + + /** + *

                                                                A complex type that contains information about an optional custom health check.

                                                                + * + *

                                                                If you specify a health check configuration, you can specify either HealthCheckCustomConfig or + * HealthCheckConfig but not both.

                                                                + *
                                                                + *

                                                                You can't add, update, or delete a HealthCheckCustomConfig configuration from an existing + * service.

                                                                + */ + HealthCheckCustomConfig?: HealthCheckCustomConfig; + + /** + *

                                                                A complex type that contains information about the Amazon Route 53 records that you want AWS Cloud Map to create when you + * register an instance.

                                                                + */ + DnsConfig?: DnsConfig; } export namespace CreateServiceRequest { @@ -747,40 +774,18 @@ export namespace CreateServiceRequest { */ export interface Service { /** - *

                                                                The number of instances that are currently associated with the service. Instances that were previously - * associated with the service but that have been deleted are not included in the count. The count might not reflect - * pending registrations and deregistrations.

                                                                - */ - InstanceCount?: number; - - /** - *

                                                                The description of the service.

                                                                - */ - Description?: string; - - /** - *

                                                                The date and time that the service was created, in Unix format and Coordinated Universal Time (UTC). The value - * of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 represents - * Friday, January 26, 2018 12:11:30.087 AM.

                                                                - */ - CreateDate?: Date; - - /** - *

                                                                A unique string that identifies the request and that allows failed requests to be retried without the risk of - * executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time - * stamp.

                                                                - */ - CreatorRequestId?: string; - - /** - *

                                                                The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the service when you create it.

                                                                + *

                                                                The name of the service.

                                                                */ - Arn?: string; + Name?: string; /** - *

                                                                The name of the service.

                                                                + *

                                                                A complex type that contains information about an optional custom health check.

                                                                + * + *

                                                                If you specify a health check configuration, you can specify either HealthCheckCustomConfig or + * HealthCheckConfig but not both.

                                                                + *
                                                                */ - Name?: string; + HealthCheckCustomConfig?: HealthCheckCustomConfig; /** *

                                                                The ID of the namespace that was used to create the service.

                                                                @@ -792,46 +797,68 @@ export interface Service { * Public DNS and HTTP namespaces only. A complex type that contains settings for an optional * health check. If you specify settings for a health check, AWS Cloud Map associates the health check with the records * that you specify in DnsConfig.

                                                                - *

                                                                For information about the charges for health checks, see Amazon Route 53 Pricing.

                                                                + *

                                                                For information about the charges for health checks, see Amazon Route 53 Pricing.

                                                                */ HealthCheckConfig?: HealthCheckConfig; /** - *

                                                                The ID that AWS Cloud Map assigned to the service when you created it.

                                                                + *

                                                                The number of instances that are currently associated with the service. Instances that were previously + * associated with the service but that have been deleted are not included in the count. The count might not reflect + * pending registrations and deregistrations.

                                                                */ - Id?: string; + InstanceCount?: number; /** - *

                                                                A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you + *

                                                                A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you * register an instance.

                                                                */ DnsConfig?: DnsConfig; /** - *

                                                                A complex type that contains information about an optional custom health check.

                                                                - * - *

                                                                If you specify a health check configuration, you can specify either HealthCheckCustomConfig or - * HealthCheckConfig but not both.

                                                                - *
                                                                + *

                                                                The ID that AWS Cloud Map assigned to the service when you created it.

                                                                */ - HealthCheckCustomConfig?: HealthCheckCustomConfig; -} - -export namespace Service { - export const filterSensitiveLog = (obj: Service): any => ({ - ...obj, - }); -} + Id?: string; -export interface CreateServiceResponse { /** - *

                                                                A complex type that contains information about the new service.

                                                                + *

                                                                The description of the service.

                                                                */ - Service?: Service; -} + Description?: string; -export namespace CreateServiceResponse { - export const filterSensitiveLog = (obj: CreateServiceResponse): any => ({ + /** + *

                                                                A unique string that identifies the request and that allows failed requests to be retried without the risk of + * executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time + * stamp.

                                                                + */ + CreatorRequestId?: string; + + /** + *

                                                                The date and time that the service was created, in Unix format and Coordinated Universal Time (UTC). The value + * of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 represents + * Friday, January 26, 2018 12:11:30.087 AM.

                                                                + */ + CreateDate?: Date; + + /** + *

                                                                The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the service when you create it.

                                                                + */ + Arn?: string; +} + +export namespace Service { + export const filterSensitiveLog = (obj: Service): any => ({ + ...obj, + }); +} + +export interface CreateServiceResponse { + /** + *

                                                                A complex type that contains information about the new service.

                                                                + */ + Service?: Service; +} + +export namespace CreateServiceResponse { + export const filterSensitiveLog = (obj: CreateServiceResponse): any => ({ ...obj, }); } @@ -857,6 +884,7 @@ export namespace NamespaceNotFound { export interface ServiceAlreadyExists extends __SmithyException, $MetadataBearer { name: "ServiceAlreadyExists"; $fault: "client"; + Message?: string; /** *

                                                                The CreatorRequestId that was used to create the service.

                                                                */ @@ -866,8 +894,6 @@ export interface ServiceAlreadyExists extends __SmithyException, $MetadataBearer *

                                                                The ID of the existing service.

                                                                */ ServiceId?: string; - - Message?: string; } export namespace ServiceAlreadyExists { @@ -978,14 +1004,14 @@ export namespace ServiceNotFound { export interface DeregisterInstanceRequest { /** - *

                                                                The value that you specified for Id in the RegisterInstance request.

                                                                + *

                                                                The ID of the service that the instance is associated with.

                                                                */ - InstanceId: string | undefined; + ServiceId: string | undefined; /** - *

                                                                The ID of the service that the instance is associated with.

                                                                + *

                                                                The value that you specified for Id in the RegisterInstance request.

                                                                */ - ServiceId: string | undefined; + InstanceId: string | undefined; } export namespace DeregisterInstanceRequest { @@ -1031,6 +1057,12 @@ export enum HealthStatusFilter { } export interface DiscoverInstancesRequest { + /** + *

                                                                Filters to scope the results based on custom attributes for the instance. For example, {version=v1, + * az=1a}. Only instances that match all the specified key-value pairs will be returned.

                                                                + */ + QueryParameters?: { [key: string]: string }; + /** *

                                                                The health status of the instances that you want to discover.

                                                                */ @@ -1049,16 +1081,17 @@ export interface DiscoverInstancesRequest { MaxResults?: number; /** - *

                                                                The name of the namespace that you specified when you registered the instance.

                                                                + *

                                                                Opportunistic filters to scope the results based on custom attributes. If there are instances that match + * both the filters specified in both the QueryParameters parameter and this parameter, they are + * returned. Otherwise, these filters are ignored and only instances that match the filters specified in the + * QueryParameters parameter are returned.

                                                                */ - NamespaceName: string | undefined; + OptionalParameters?: { [key: string]: string }; /** - *

                                                                A string map that contains attributes with values that you can use to filter instances by any custom attribute - * that you specified when you registered the instance. Only instances that match all the specified key/value pairs will - * be returned.

                                                                + *

                                                                The name of the namespace that you specified when you registered the instance.

                                                                */ - QueryParameters?: { [key: string]: string }; + NamespaceName: string | undefined; } export namespace DiscoverInstancesRequest { @@ -1078,6 +1111,11 @@ export enum HealthStatus { * matches the values that you specified in the request.

                                                                */ export interface HttpInstanceSummary { + /** + *

                                                                If you configured health checking in the service, the current health status of the service instance.

                                                                + */ + HealthStatus?: HealthStatus | string; + /** *

                                                                The name of the namespace that you specified when you registered the instance.

                                                                */ @@ -1088,20 +1126,15 @@ export interface HttpInstanceSummary { */ InstanceId?: string; - /** - *

                                                                The name of the service that you specified when you registered the instance.

                                                                - */ - ServiceName?: string; - /** *

                                                                If you included any attributes when you registered the instance, the values of those attributes.

                                                                */ Attributes?: { [key: string]: string }; /** - *

                                                                If you configured health checking in the service, the current health status of the service instance.

                                                                + *

                                                                The name of the service that you specified when you registered the instance.

                                                                */ - HealthStatus?: HealthStatus | string; + ServiceName?: string; } export namespace HttpInstanceSummary { @@ -1124,7 +1157,9 @@ export namespace DiscoverInstancesResponse { } /** - *

                                                                The operation can't be completed because you've reached the limit on the number of requests.

                                                                + *

                                                                The operation can't be completed because you've reached the quota for the number of requests. For more + * information, see AWS Cloud Map API request throttling + * quota in the AWS Cloud Map Developer Guide.

                                                                */ export interface RequestLimitExceeded extends __SmithyException, $MetadataBearer { name: "RequestLimitExceeded"; @@ -1139,12 +1174,12 @@ export namespace RequestLimitExceeded { } /** - *

                                                                A complex type that contains information about changes to the Route 53 DNS records that AWS Cloud Map creates when you + *

                                                                A complex type that contains information about changes to the Route 53 DNS records that AWS Cloud Map creates when you * register an instance.

                                                                */ export interface DnsConfigChange { /** - *

                                                                An array that contains one DnsRecord object for each Route 53 record that you want AWS Cloud Map to + *

                                                                An array that contains one DnsRecord object for each Route 53 record that you want AWS Cloud Map to * create when you register an instance.

                                                                */ DnsRecords: DnsRecord[] | undefined; @@ -1157,12 +1192,12 @@ export namespace DnsConfigChange { } /** - *

                                                                A complex type that contains the ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a + *

                                                                A complex type that contains the ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a * namespace.

                                                                */ export interface DnsProperties { /** - *

                                                                The ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a namespace.

                                                                + *

                                                                The ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a namespace.

                                                                */ HostedZoneId?: string; } @@ -1181,14 +1216,14 @@ export enum FilterCondition { export interface GetInstanceRequest { /** - *

                                                                The ID of the service that the instance is associated with.

                                                                + *

                                                                The ID of the instance that you want to get information about.

                                                                */ - ServiceId: string | undefined; + InstanceId: string | undefined; /** - *

                                                                The ID of the instance that you want to get information about.

                                                                + *

                                                                The ID of the service that the instance is associated with.

                                                                */ - InstanceId: string | undefined; + ServiceId: string | undefined; } export namespace GetInstanceRequest { @@ -1202,89 +1237,91 @@ export namespace GetInstanceRequest { * RegisterInstance request.

                                                                */ export interface Instance { - /** - *

                                                                A unique string that identifies the request and that allows failed RegisterInstance requests to be - * retried without the risk of executing the operation twice. You must use a unique CreatorRequestId string - * every time you submit a RegisterInstance request if you're registering additional instances for the same - * namespace and service. CreatorRequestId can be any unique string, for example, a date/time stamp.

                                                                - */ - CreatorRequestId?: string; - /** *

                                                                A string map that contains the following information for the service that you specify in - * ServiceId:

                                                                - *
                                                                  + * ServiceId:

                                                                  + *
                                                                    *
                                                                  • - *

                                                                    The attributes that apply to the records that are defined in the service.

                                                                    + *

                                                                    The attributes that apply to the records that are defined in the service.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    For each attribute, the applicable value.

                                                                    + *

                                                                    For each attribute, the applicable value.

                                                                    *
                                                                  • *
                                                                  - *

                                                                  Supported attribute keys include the following:

                                                                  - *

                                                                  + *

                                                                  Supported attribute keys include the following:

                                                                  + *

                                                                  * AWS_ALIAS_DNS_NAME *

                                                                  - *

                                                                  + *

                                                                  * *

                                                                  - *

                                                                  If you want AWS Cloud Map to create a Route 53 alias record that routes traffic to an Elastic Load Balancing load - * balancer, specify the DNS name that is associated with the load balancer. For information about how to get the DNS - * name, see "DNSName" in the topic AliasTarget.

                                                                  - *

                                                                  Note the following:

                                                                  - *
                                                                    + *

                                                                    If you want AWS Cloud Map to create a Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, + * specify the DNS name that is associated with the load balancer. For information about how to get the DNS + * name, see "DNSName" in the topic AliasTarget.

                                                                    + *

                                                                    Note the following:

                                                                    + *
                                                                      *
                                                                    • - *

                                                                      The configuration for the service that is specified by ServiceId must include settings for an A - * record, an AAAA record, or both.

                                                                      + *

                                                                      The configuration for the service that is specified by ServiceId must include + * settings for an A record, an AAAA record, or both.

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      In the service that is specified by ServiceId, the value of RoutingPolicy must be - * WEIGHTED.

                                                                      + *

                                                                      In the service that is specified by ServiceId, the value of + * RoutingPolicy must be WEIGHTED.

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      If the service that is specified by ServiceId includes HealthCheckConfig settings, - * AWS Cloud Map will create the health check, but it won't associate the health check with the alias record.

                                                                      + *

                                                                      If the service that is specified by ServiceId includes HealthCheckConfig + * settings, AWS Cloud Map will create the health check, but it won't associate the health check with the + * alias record.

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than - * ELB load balancers.

                                                                      + *

                                                                      Auto naming currently doesn't support creating alias records that route traffic to AWS resources + * other than ELB load balancers.

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the - * AWS_INSTANCE attributes.

                                                                      + *

                                                                      If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the + * AWS_INSTANCE attributes.

                                                                      *
                                                                    • *
                                                                    - *

                                                                    + * + *

                                                                    + * AWS_EC2_INSTANCE_ID + *

                                                                    + *

                                                                    + * HTTP namespaces only. The Amazon EC2 instance ID for the instance. The + * AWS_INSTANCE_IPV4 attribute contains the primary private IPv4 address.

                                                                    + * + *

                                                                    * AWS_INSTANCE_CNAME *

                                                                    - *

                                                                    If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response - * to DNS queries, for example, example.com.

                                                                    - *

                                                                    This value is required if the service specified by ServiceId includes settings for an CNAME - * record.

                                                                    - *

                                                                    + *

                                                                    If the service configuration includes a CNAME record, the domain name that you want Route 53 to + * return in response to DNS queries, for example, example.com.

                                                                    + *

                                                                    This value is required if the service specified by ServiceId includes settings for an + * CNAME record.

                                                                    + *

                                                                    * AWS_INSTANCE_IPV4 *

                                                                    - *

                                                                    If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to - * DNS queries, for example, 192.0.2.44.

                                                                    - *

                                                                    This value is required if the service specified by ServiceId includes settings for an A record. If - * the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, - * AWS_INSTANCE_IPV6, or both.

                                                                    - *

                                                                    + *

                                                                    If the service configuration includes an A record, the IPv4 address that you want Route 53 to + * return in response to DNS queries, for example, 192.0.2.44.

                                                                    + *

                                                                    This value is required if the service specified by ServiceId includes settings for an + * A record. If the service includes settings for an SRV record, you must specify + * a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

                                                                    + *

                                                                    * AWS_INSTANCE_IPV6 *

                                                                    - *

                                                                    If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response - * to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

                                                                    - *

                                                                    This value is required if the service specified by ServiceId includes settings for an AAAA record. - * If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, - * AWS_INSTANCE_IPV6, or both.

                                                                    - *

                                                                    + *

                                                                    If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to + * return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

                                                                    + *

                                                                    This value is required if the service specified by ServiceId includes settings for an + * AAAA record. If the service includes settings for an SRV record, you must + * specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

                                                                    + *

                                                                    * AWS_INSTANCE_PORT *

                                                                    - *

                                                                    If the service includes an SRV record, the value that you want Route 53 to return for the port.

                                                                    - *

                                                                    If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send - * requests to.

                                                                    - *

                                                                    This value is required if you specified settings for an SRV record or a Route 53 health check when you created the - * service.

                                                                    + *

                                                                    If the service includes an SRV record, the value that you want Route 53 to return for the + * port.

                                                                    + *

                                                                    If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to + * send requests to.

                                                                    + *

                                                                    This value is required if you specified settings for an SRV record or a Route 53 health check + * when you created the service.

                                                                    */ Attributes?: { [key: string]: string }; @@ -1292,9 +1329,9 @@ export interface Instance { *

                                                                    An identifier that you want to associate with the instance. Note the following:

                                                                    *
                                                                      *
                                                                    • - *

                                                                      If the service that is specified by ServiceId includes settings for an SRV record, the value of - * InstanceId is automatically included as part of the value for the SRV record. For more information, - * see DnsRecord > Type.

                                                                      + *

                                                                      If the service that is specified by ServiceId includes settings for an SRV record, + * the value of InstanceId is automatically included as part of the value for the SRV + * record. For more information, see DnsRecord > Type.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      You can use this value to update an existing instance.

                                                                      @@ -1315,6 +1352,14 @@ export interface Instance { *
                                                                    */ Id: string | undefined; + + /** + *

                                                                    A unique string that identifies the request and that allows failed RegisterInstance requests to be + * retried without the risk of executing the operation twice. You must use a unique CreatorRequestId string + * every time you submit a RegisterInstance request if you're registering additional instances for the same + * namespace and service. CreatorRequestId can be any unique string, for example, a date/time stamp.

                                                                    + */ + CreatorRequestId?: string; } export namespace Instance { @@ -1337,11 +1382,6 @@ export namespace GetInstanceResponse { } export interface GetInstancesHealthStatusRequest { - /** - *

                                                                    The ID of the service that the instance is associated with.

                                                                    - */ - ServiceId: string | undefined; - /** *

                                                                    An array that contains the IDs of all the instances that you want to get the health status for.

                                                                    *

                                                                    If you omit Instances, AWS Cloud Map returns the health status for all the instances that are @@ -1366,6 +1406,11 @@ export interface GetInstancesHealthStatusRequest { * returns up to 100 instances.

                                                                    */ MaxResults?: number; + + /** + *

                                                                    The ID of the service that the instance is associated with.

                                                                    + */ + ServiceId: string | undefined; } export namespace GetInstancesHealthStatusRequest { @@ -1429,15 +1474,15 @@ export namespace HttpProperties { */ export interface NamespaceProperties { /** - *

                                                                    A complex type that contains the ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a - * namespace.

                                                                    + *

                                                                    A complex type that contains the name of an HTTP namespace.

                                                                    */ - DnsProperties?: DnsProperties; + HttpProperties?: HttpProperties; /** - *

                                                                    A complex type that contains the name of an HTTP namespace.

                                                                    + *

                                                                    A complex type that contains the ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a + * namespace.

                                                                    */ - HttpProperties?: HttpProperties; + DnsProperties?: DnsProperties; } export namespace NamespaceProperties { @@ -1457,16 +1502,20 @@ export enum NamespaceType { */ export interface Namespace { /** - *

                                                                    A complex type that contains information that's specific to the type of the namespace.

                                                                    + *

                                                                    A unique string that identifies the request and that allows failed requests to be retried without the risk of + * executing an operation twice.

                                                                    */ - Properties?: NamespaceProperties; + CreatorRequestId?: string; /** - *

                                                                    The date that the namespace was created, in Unix date/time format and Coordinated Universal Time (UTC). The - * value of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 - * represents Friday, January 26, 2018 12:11:30.087 AM.

                                                                    + *

                                                                    The ID of a namespace.

                                                                    */ - CreateDate?: Date; + Id?: string; + + /** + *

                                                                    The description that you specify for the namespace when you create it.

                                                                    + */ + Description?: string; /** *

                                                                    The type of the namespace. The methods for discovering instances depends on the value that you specify:

                                                                    @@ -1491,25 +1540,21 @@ export interface Namespace { Type?: NamespaceType | string; /** - *

                                                                    The number of services that are associated with the namespace.

                                                                    - */ - ServiceCount?: number; - - /** - *

                                                                    The name of the namespace, such as example.com.

                                                                    + *

                                                                    The date that the namespace was created, in Unix date/time format and Coordinated Universal Time (UTC). The + * value of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 + * represents Friday, January 26, 2018 12:11:30.087 AM.

                                                                    */ - Name?: string; + CreateDate?: Date; /** - *

                                                                    The ID of a namespace.

                                                                    + *

                                                                    A complex type that contains information that's specific to the type of the namespace.

                                                                    */ - Id?: string; + Properties?: NamespaceProperties; /** - *

                                                                    A unique string that identifies the request and that allows failed requests to be retried without the risk of - * executing an operation twice.

                                                                    + *

                                                                    The name of the namespace, such as example.com.

                                                                    */ - CreatorRequestId?: string; + Name?: string; /** *

                                                                    The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the namespace when you create it.

                                                                    @@ -1517,9 +1562,9 @@ export interface Namespace { Arn?: string; /** - *

                                                                    The description that you specify for the namespace when you create it.

                                                                    + *

                                                                    The number of services that are associated with the namespace.

                                                                    */ - Description?: string; + ServiceCount?: number; } export namespace Namespace { @@ -1580,22 +1625,81 @@ export enum OperationType { */ export interface Operation { /** - *

                                                                    The date and time that the request was submitted, in Unix date/time format and Coordinated Universal Time (UTC). - * The value of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 - * represents Friday, January 26, 2018 12:11:30.087 AM.

                                                                    + *

                                                                    The date and time that the value of Status changed to the current value, in Unix date/time format + * and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to milliseconds. For example, + * the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

                                                                    */ - CreateDate?: Date; + UpdateDate?: Date; + + /** + *

                                                                    The name of the target entity that is associated with the operation:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * NAMESPACE: The namespace ID is returned in the ResourceId + * property.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * SERVICE: The service ID is returned in the ResourceId + * property.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * INSTANCE: The instance ID is returned in the ResourceId + * property.

                                                                      + *
                                                                    • + *
                                                                    + */ + Targets?: { [key: string]: string }; + + /** + *

                                                                    The ID of the operation that you want to get information about.

                                                                    + */ + Id?: string; /** *

                                                                    The name of the operation that is associated with the specified ID.

                                                                    */ Type?: OperationType | string; + /** + *

                                                                    The date and time that the request was submitted, in Unix date/time format and Coordinated Universal Time (UTC). + * The value of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 + * represents Friday, January 26, 2018 12:11:30.087 AM.

                                                                    + */ + CreateDate?: Date; + /** *

                                                                    If the value of Status is FAIL, the reason that the operation failed.

                                                                    */ ErrorMessage?: string; + /** + *

                                                                    The status of the operation. Values include the following:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * SUBMITTED: This is the initial state immediately after you submit a + * request.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * PENDING: AWS Cloud Map is performing the operation.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * SUCCESS: The operation succeeded.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * FAIL: The operation failed. For the failure reason, see + * ErrorMessage.

                                                                      + *
                                                                    • + *
                                                                    + */ + Status?: OperationStatus | string; + /** *

                                                                    The code associated with ErrorMessage. Values for ErrorCode include the * following:

                                                                    @@ -1638,74 +1742,15 @@ export interface Operation { *
                                                                  */ ErrorCode?: string; +} + +export namespace Operation { + export const filterSensitiveLog = (obj: Operation): any => ({ + ...obj, + }); +} - /** - *

                                                                  The status of the operation. Values include the following:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * SUBMITTED: This is the initial state immediately after you submit a - * request.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * PENDING: AWS Cloud Map is performing the operation.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * SUCCESS: The operation succeeded.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * FAIL: The operation failed. For the failure reason, see - * ErrorMessage.

                                                                    - *
                                                                  • - *
                                                                  - */ - Status?: OperationStatus | string; - - /** - *

                                                                  The date and time that the value of Status changed to the current value, in Unix date/time format - * and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to milliseconds. For example, - * the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

                                                                  - */ - UpdateDate?: Date; - - /** - *

                                                                  The ID of the operation that you want to get information about.

                                                                  - */ - Id?: string; - - /** - *

                                                                  The name of the target entity that is associated with the operation:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * NAMESPACE: The namespace ID is returned in the ResourceId - * property.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * SERVICE: The service ID is returned in the ResourceId - * property.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * INSTANCE: The instance ID is returned in the ResourceId - * property.

                                                                    - *
                                                                  • - *
                                                                  - */ - Targets?: { [key: string]: string }; -} - -export namespace Operation { - export const filterSensitiveLog = (obj: Operation): any => ({ - ...obj, - }); -} - -export interface GetOperationResponse { +export interface GetOperationResponse { /** *

                                                                  A complex type that contains information about the operation.

                                                                  */ @@ -1782,29 +1827,38 @@ export interface InstanceSummary { *

                                                                  Supported attribute keys include the following:

                                                                  *
                                                                    *
                                                                  • - *

                                                                    + *

                                                                    * AWS_ALIAS_DNS_NAME: For an alias record that routes traffic to an Elastic Load Balancing load - * balancer, the DNS name that is associated with the load balancer.

                                                                    + * balancer, the DNS name that is associated with the load balancer.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * AWS_INSTANCE_CNAME: For a CNAME record, the domain name that Route 53 returns in response to DNS - * queries, for example, example.com.

                                                                    + *

                                                                    + * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The + * Amazon EC2 instance ID for the + * instance. When the AWS_EC2_INSTANCE_ID attribute is specified, then the + * AWS_INSTANCE_IPV4 attribute contains the primary private IPv4 address.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * AWS_INSTANCE_IPV4: For an A record, the IPv4 address that Route 53 returns in response to DNS - * queries, for example, 192.0.2.44.

                                                                    + *

                                                                    + * AWS_INSTANCE_CNAME: For a CNAME record, the domain name that Route 53 + * returns in response to DNS queries, for example, example.com.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 address that Route 53 returns in response to DNS - * queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

                                                                    + *

                                                                    + * AWS_INSTANCE_IPV4: For an A record, the IPv4 address that Route 53 returns + * in response to DNS queries, for example, 192.0.2.44.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * AWS_INSTANCE_PORT: For an SRV record, the value that Route 53 returns for the port. In addition, if - * the service includes HealthCheckConfig, the port on the endpoint that Route 53 sends requests to.

                                                                    + *

                                                                    + * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 address that Route 53 + * returns in response to DNS queries, for example, + * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * AWS_INSTANCE_PORT: For an SRV record, the value that Route 53 returns for + * the port. In addition, if the service includes HealthCheckConfig, the port on the + * endpoint that Route 53 sends requests to.

                                                                    *
                                                                  • *
                                                                  */ @@ -1818,6 +1872,14 @@ export namespace InstanceSummary { } export interface ListInstancesRequest { + /** + *

                                                                  For the first ListInstances request, omit this value.

                                                                  + *

                                                                  If more than MaxResults instances match the specified criteria, you can submit another + * ListInstances request to get the next group of results. Specify the value of NextToken + * from the previous response in the next request.

                                                                  + */ + NextToken?: string; + /** *

                                                                  The maximum number of instances that you want AWS Cloud Map to return in the response to a * ListInstances request. If you don't specify a value for MaxResults, AWS Cloud Map returns up @@ -1829,14 +1891,6 @@ export interface ListInstancesRequest { *

                                                                  The ID of the service that you want to list instances for.

                                                                  */ ServiceId: string | undefined; - - /** - *

                                                                  For the first ListInstances request, omit this value.

                                                                  - *

                                                                  If more than MaxResults instances match the specified criteria, you can submit another - * ListInstances request to get the next group of results. Specify the value of NextToken - * from the previous response in the next request.

                                                                  - */ - NextToken?: string; } export namespace ListInstancesRequest { @@ -1846,17 +1900,17 @@ export namespace ListInstancesRequest { } export interface ListInstancesResponse { - /** - *

                                                                  Summary information about the instances that are associated with the specified service.

                                                                  - */ - Instances?: InstanceSummary[]; - /** *

                                                                  If more than MaxResults instances match the specified criteria, you can submit another * ListInstances request to get the next group of results. Specify the value of NextToken * from the previous response in the next request.

                                                                  */ NextToken?: string; + + /** + *

                                                                  Summary information about the instances that are associated with the specified service.

                                                                  + */ + Instances?: InstanceSummary[]; } export namespace ListInstancesResponse { @@ -1874,19 +1928,6 @@ export enum NamespaceFilterName { * namespaces.

                                                                  */ export interface NamespaceFilter { - /** - *

                                                                  Specify TYPE.

                                                                  - */ - Name: NamespaceFilterName | string | undefined; - - /** - *

                                                                  If you specify EQ for Condition, specify either DNS_PUBLIC or - * DNS_PRIVATE.

                                                                  - *

                                                                  If you specify IN for Condition, you can specify DNS_PUBLIC, - * DNS_PRIVATE, or both.

                                                                  - */ - Values: string[] | undefined; - /** *

                                                                  The operator that you want to use to determine whether ListNamespaces returns a namespace. Valid * values for condition include:

                                                                  @@ -1908,6 +1949,19 @@ export interface NamespaceFilter { *
                                                                */ Condition?: FilterCondition | string; + + /** + *

                                                                Specify TYPE.

                                                                + */ + Name: NamespaceFilterName | string | undefined; + + /** + *

                                                                If you specify EQ for Condition, specify either DNS_PUBLIC or + * DNS_PRIVATE.

                                                                + *

                                                                If you specify IN for Condition, you can specify DNS_PUBLIC, + * DNS_PRIVATE, or both.

                                                                + */ + Values: string[] | undefined; } export namespace NamespaceFilter { @@ -1917,20 +1971,6 @@ export namespace NamespaceFilter { } export interface ListNamespacesRequest { - /** - *

                                                                The maximum number of namespaces that you want AWS Cloud Map to return in the response to a - * ListNamespaces request. If you don't specify a value for MaxResults, AWS Cloud Map returns up - * to 100 namespaces.

                                                                - */ - MaxResults?: number; - - /** - *

                                                                A complex type that contains specifications for the namespaces that you want to list.

                                                                - *

                                                                If you specify more than one filter, a namespace must match all filters to be returned by - * ListNamespaces.

                                                                - */ - Filters?: NamespaceFilter[]; - /** *

                                                                For the first ListNamespaces request, omit this value.

                                                                *

                                                                If the response contains NextToken, submit another ListNamespaces request to get the @@ -1943,6 +1983,20 @@ export interface ListNamespacesRequest { * */ NextToken?: string; + + /** + *

                                                                A complex type that contains specifications for the namespaces that you want to list.

                                                                + *

                                                                If you specify more than one filter, a namespace must match all filters to be returned by + * ListNamespaces.

                                                                + */ + Filters?: NamespaceFilter[]; + + /** + *

                                                                The maximum number of namespaces that you want AWS Cloud Map to return in the response to a + * ListNamespaces request. If you don't specify a value for MaxResults, AWS Cloud Map returns up + * to 100 namespaces.

                                                                + */ + MaxResults?: number; } export namespace ListNamespacesRequest { @@ -1956,45 +2010,45 @@ export namespace ListNamespacesRequest { */ export interface NamespaceSummary { /** - *

                                                                The date and time that the namespace was created.

                                                                + *

                                                                The name of the namespace. When you create a namespace, AWS Cloud Map automatically creates a Route 53 hosted zone + * that has the same name as the namespace.

                                                                */ - CreateDate?: Date; + Name?: string; /** - *

                                                                The type of the namespace, either public or private.

                                                                + *

                                                                The number of services that were created using the namespace.

                                                                */ - Type?: NamespaceType | string; + ServiceCount?: number; /** - *

                                                                A complex type that contains information that is specific to the namespace type.

                                                                + *

                                                                The ID of the namespace.

                                                                */ - Properties?: NamespaceProperties; + Id?: string; /** - *

                                                                The name of the namespace. When you create a namespace, AWS Cloud Map automatically creates a Route 53 hosted zone - * that has the same name as the namespace.

                                                                + *

                                                                A description for the namespace.

                                                                */ - Name?: string; + Description?: string; /** - *

                                                                The number of services that were created using the namespace.

                                                                + *

                                                                The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the namespace when you create it.

                                                                */ - ServiceCount?: number; + Arn?: string; /** - *

                                                                The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the namespace when you create it.

                                                                + *

                                                                The date and time that the namespace was created.

                                                                */ - Arn?: string; + CreateDate?: Date; /** - *

                                                                A description for the namespace.

                                                                + *

                                                                The type of the namespace, either public or private.

                                                                */ - Description?: string; + Type?: NamespaceType | string; /** - *

                                                                The ID of the namespace.

                                                                + *

                                                                A complex type that contains information that is specific to the namespace type.

                                                                */ - Id?: string; + Properties?: NamespaceProperties; } export namespace NamespaceSummary { @@ -2004,6 +2058,12 @@ export namespace NamespaceSummary { } export interface ListNamespacesResponse { + /** + *

                                                                An array that contains one NamespaceSummary object for each namespace that matches the specified + * filter criteria.

                                                                + */ + Namespaces?: NamespaceSummary[]; + /** *

                                                                If the response contains NextToken, submit another ListNamespaces request to get the * next group of results. Specify the value of NextToken from the previous response in the next @@ -2015,12 +2075,6 @@ export interface ListNamespacesResponse { * */ NextToken?: string; - - /** - *

                                                                An array that contains one NamespaceSummary object for each namespace that matches the specified - * filter criteria.

                                                                - */ - Namespaces?: NamespaceSummary[]; } export namespace ListNamespacesResponse { @@ -2041,32 +2095,6 @@ export enum OperationFilterName { *

                                                                A complex type that lets you select the operations that you want to list.

                                                                */ export interface OperationFilter { - /** - *

                                                                The operator that you want to use to determine whether an operation matches the specified value. Valid values - * for condition include:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * EQ: When you specify EQ for the condition, you can specify only one value. - * EQ is supported for NAMESPACE_ID, SERVICE_ID, STATUS, and - * TYPE. EQ is the default condition and can be omitted.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * IN: When you specify IN for the condition, you can specify a list of one or more - * values. IN is supported for STATUS and TYPE. An operation must match one of - * the specified values to be returned in the response.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * BETWEEN: Specify a start date and an end date in Unix date/time format and Coordinated Universal - * Time (UTC). The start date must be the first value. BETWEEN is supported for UPDATE_DATE. - *

                                                                  - *
                                                                • - *
                                                                - */ - Condition?: FilterCondition | string; - /** *

                                                                Specify values that are applicable to the value that you specify for Name:

                                                                *
                                                                  @@ -2126,6 +2154,32 @@ export interface OperationFilter { *
                                                                */ Name: OperationFilterName | string | undefined; + + /** + *

                                                                The operator that you want to use to determine whether an operation matches the specified value. Valid values + * for condition include:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * EQ: When you specify EQ for the condition, you can specify only one value. + * EQ is supported for NAMESPACE_ID, SERVICE_ID, STATUS, and + * TYPE. EQ is the default condition and can be omitted.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * IN: When you specify IN for the condition, you can specify a list of one or more + * values. IN is supported for STATUS and TYPE. An operation must match one of + * the specified values to be returned in the response.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * BETWEEN: Specify a start date and an end date in Unix date/time format and Coordinated Universal + * Time (UTC). The start date must be the first value. BETWEEN is supported for UPDATE_DATE. + *

                                                                  + *
                                                                • + *
                                                                + */ + Condition?: FilterCondition | string; } export namespace OperationFilter { @@ -2135,6 +2189,14 @@ export namespace OperationFilter { } export interface ListOperationsRequest { + /** + *

                                                                A complex type that contains specifications for the operations that you want to list, for example, operations + * that you started between a specified start date and end date.

                                                                + *

                                                                If you specify more than one filter, an operation must match all filters to be returned by + * ListOperations.

                                                                + */ + Filters?: OperationFilter[]; + /** *

                                                                The maximum number of items that you want AWS Cloud Map to return in the response to a ListOperations * request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 operations.

                                                                @@ -2153,14 +2215,6 @@ export interface ListOperationsRequest { *
                                                                */ NextToken?: string; - - /** - *

                                                                A complex type that contains specifications for the operations that you want to list, for example, operations - * that you started between a specified start date and end date.

                                                                - *

                                                                If you specify more than one filter, an operation must match all filters to be returned by - * ListOperations.

                                                                - */ - Filters?: OperationFilter[]; } export namespace ListOperationsRequest { @@ -2175,11 +2229,6 @@ export namespace ListOperationsRequest { * request.

                                                                */ export interface OperationSummary { - /** - *

                                                                The ID for an operation.

                                                                - */ - Id?: string; - /** *

                                                                The status of the operation. Values include the following:

                                                                *
                                                                  @@ -2204,6 +2253,11 @@ export interface OperationSummary { *
                                                                */ Status?: OperationStatus | string; + + /** + *

                                                                The ID for an operation.

                                                                + */ + Id?: string; } export namespace OperationSummary { @@ -2213,6 +2267,11 @@ export namespace OperationSummary { } export interface ListOperationsResponse { + /** + *

                                                                Summary information about the operations that match the specified criteria.

                                                                + */ + Operations?: OperationSummary[]; + /** *

                                                                If the response contains NextToken, submit another ListOperations request to get the * next group of results. Specify the value of NextToken from the previous response in the next @@ -2224,11 +2283,6 @@ export interface ListOperationsResponse { * */ NextToken?: string; - - /** - *

                                                                Summary information about the operations that match the specified criteria.

                                                                - */ - Operations?: OperationSummary[]; } export namespace ListOperationsResponse { @@ -2250,12 +2304,6 @@ export interface ServiceFilter { */ Name: ServiceFilterName | string | undefined; - /** - *

                                                                The values that are applicable to the value that you specify for Condition to filter the list of - * services.

                                                                - */ - Values: string[] | undefined; - /** *

                                                                The operator that you want to use to determine whether a service is returned by ListServices. Valid * values for Condition include the following:

                                                                @@ -2277,6 +2325,12 @@ export interface ServiceFilter { *
                                                              */ Condition?: FilterCondition | string; + + /** + *

                                                              The values that are applicable to the value that you specify for Condition to filter the list of + * services.

                                                              + */ + Values: string[] | undefined; } export namespace ServiceFilter { @@ -2286,19 +2340,6 @@ export namespace ServiceFilter { } export interface ListServicesRequest { - /** - *

                                                              The maximum number of services that you want AWS Cloud Map to return in the response to a ListServices - * request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 services.

                                                              - */ - MaxResults?: number; - - /** - *

                                                              A complex type that contains specifications for the namespaces that you want to list services for.

                                                              - *

                                                              If you specify more than one filter, an operation must match all filters to be returned by - * ListServices.

                                                              - */ - Filters?: ServiceFilter[]; - /** *

                                                              For the first ListServices request, omit this value.

                                                              *

                                                              If the response contains NextToken, submit another ListServices request to get the @@ -2311,6 +2352,19 @@ export interface ListServicesRequest { * */ NextToken?: string; + + /** + *

                                                              The maximum number of services that you want AWS Cloud Map to return in the response to a ListServices + * request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 services.

                                                              + */ + MaxResults?: number; + + /** + *

                                                              A complex type that contains specifications for the namespaces that you want to list services for.

                                                              + *

                                                              If you specify more than one filter, an operation must match all filters to be returned by + * ListServices.

                                                              + */ + Filters?: ServiceFilter[]; } export namespace ListServicesRequest { @@ -2323,6 +2377,90 @@ export namespace ListServicesRequest { *

                                                              A complex type that contains information about a specified service.

                                                              */ export interface ServiceSummary { + /** + *

                                                              + * Public DNS and HTTP namespaces only. A complex type that contains settings for an optional + * health check. If you specify settings for a health check, AWS Cloud Map associates the health check with the records + * that you specify in DnsConfig.

                                                              + * + *

                                                              If you specify a health check configuration, you can specify either HealthCheckCustomConfig or + * HealthCheckConfig but not both.

                                                              + *
                                                              + *

                                                              Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for + * health checks, see Amazon Route 53 Pricing.

                                                              + *

                                                              Note the following about configuring health checks.

                                                              + *

                                                              + * + * A and AAAA records + *

                                                              + *

                                                              If DnsConfig includes configurations for both A and AAAA records, + * AWS Cloud Map creates a health check that uses the IPv4 address to check the health of the resource. If the endpoint + * that is specified by the IPv4 address is unhealthy, Route 53 considers both the A and AAAA + * records to be unhealthy.

                                                              + *

                                                              + * + * CNAME records + *

                                                              + *

                                                              You can't specify settings for HealthCheckConfig when the DNSConfig includes + * CNAME for the value of Type. If you do, the CreateService request will fail + * with an InvalidInput error.

                                                              + *

                                                              + * Request interval + *

                                                              + *

                                                              A Route 53 health checker in each health-checking region sends a health check request to an endpoint every 30 + * seconds. On average, your endpoint receives a health check request about every two seconds. However, health checkers + * don't coordinate with one another, so you'll sometimes see several requests per second followed by a few seconds with + * no health checks at all.

                                                              + *

                                                              + * Health checking regions + *

                                                              + *

                                                              Health checkers perform checks from all Route 53 health-checking regions. For a list of the current regions, see + * Regions.

                                                              + *

                                                              + * Alias records + *

                                                              + *

                                                              When you register an instance, if you include the AWS_ALIAS_DNS_NAME attribute, AWS Cloud Map creates + * a Route 53 alias record. Note the following:

                                                              + *
                                                                + *
                                                              • + *

                                                                Route 53 automatically sets EvaluateTargetHealth to true for alias records. When + * EvaluateTargetHealth is true, the alias record inherits the health of the referenced AWS resource. + * such as an ELB load balancer. For more information, see EvaluateTargetHealth.

                                                                + *
                                                              • + *
                                                              • + *

                                                                If you include HealthCheckConfig and then use the service to register an instance that creates an + * alias record, Route 53 doesn't create the health check.

                                                                + *
                                                              • + *
                                                              + *

                                                              + * Charges for health checks + *

                                                              + *

                                                              Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for + * health checks, see Amazon Route 53 Pricing.

                                                              + */ + HealthCheckConfig?: HealthCheckConfig; + + /** + *

                                                              The name of the service.

                                                              + */ + Name?: string; + + /** + *

                                                              A complex type that contains information about the Amazon Route 53 DNS records that you want AWS Cloud Map to create when + * you register an instance.

                                                              + */ + DnsConfig?: DnsConfig; + + /** + *

                                                              The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the service when you create it.

                                                              + */ + Arn?: string; + + /** + *

                                                              The ID that AWS Cloud Map assigned to the service when you created it.

                                                              + */ + Id?: string; + /** *

                                                              A complex type that contains information about an optional custom health check. A custom health check, which * requires that you use a third-party health checker to evaluate the health of your resources, is useful in the @@ -2378,6 +2516,11 @@ export interface ServiceSummary { */ HealthCheckCustomConfig?: HealthCheckCustomConfig; + /** + *

                                                              The description that you specify when you create the service.

                                                              + */ + Description?: string; + /** *

                                                              The date and time that the service was created.

                                                              */ @@ -2389,92 +2532,6 @@ export interface ServiceSummary { * pending registrations and deregistrations.

                                                              */ InstanceCount?: number; - - /** - *

                                                              - * Public DNS and HTTP namespaces only. A complex type that contains settings for an optional - * health check. If you specify settings for a health check, AWS Cloud Map associates the health check with the records - * that you specify in DnsConfig.

                                                              - * - *

                                                              If you specify a health check configuration, you can specify either HealthCheckCustomConfig or - * HealthCheckConfig but not both.

                                                              - *
                                                              - *

                                                              Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for - * health checks, see Amazon Route 53 Pricing.

                                                              - *

                                                              Note the following about configuring health checks.

                                                              - *

                                                              - * A and AAAA records - *

                                                              - *

                                                              If DnsConfig includes configurations for both A and AAAA records, AWS Cloud Map creates a health check - * that uses the IPv4 address to check the health of the resource. If the endpoint that is specified by the IPv4 address - * is unhealthy, Route 53 considers both the A and AAAA records to be unhealthy.

                                                              - *

                                                              - * CNAME records - *

                                                              - *

                                                              You can't specify settings for HealthCheckConfig when the DNSConfig includes - * CNAME for the value of Type. If you do, the CreateService request will fail - * with an InvalidInput error.

                                                              - *

                                                              - * Request interval - *

                                                              - *

                                                              A Route 53 health checker in each health-checking region sends a health check request to an endpoint every 30 - * seconds. On average, your endpoint receives a health check request about every two seconds. However, health checkers - * don't coordinate with one another, so you'll sometimes see several requests per second followed by a few seconds with - * no health checks at all.

                                                              - *

                                                              - * Health checking regions - *

                                                              - *

                                                              Health checkers perform checks from all Route 53 health-checking regions. For a list of the current regions, see - * Regions.

                                                              - *

                                                              - * Alias records - *

                                                              - *

                                                              When you register an instance, if you include the AWS_ALIAS_DNS_NAME attribute, AWS Cloud Map creates - * a Route 53 alias record. Note the following:

                                                              - *
                                                                - *
                                                              • - *

                                                                Route 53 automatically sets EvaluateTargetHealth to true for alias records. When - * EvaluateTargetHealth is true, the alias record inherits the health of the referenced AWS resource. - * such as an ELB load balancer. For more information, see EvaluateTargetHealth.

                                                                - *
                                                              • - *
                                                              • - *

                                                                If you include HealthCheckConfig and then use the service to register an instance that creates an - * alias record, Route 53 doesn't create the health check.

                                                                - *
                                                              • - *
                                                              - *

                                                              - * Charges for health checks - *

                                                              - *

                                                              Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for - * health checks, see Amazon Route 53 Pricing.

                                                              - */ - HealthCheckConfig?: HealthCheckConfig; - - /** - *

                                                              The ID that AWS Cloud Map assigned to the service when you created it.

                                                              - */ - Id?: string; - - /** - *

                                                              A complex type that contains information about the Amazon Route 53 DNS records that you want AWS Cloud Map to create when - * you register an instance.

                                                              - */ - DnsConfig?: DnsConfig; - - /** - *

                                                              The description that you specify when you create the service.

                                                              - */ - Description?: string; - - /** - *

                                                              The name of the service.

                                                              - */ - Name?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the service when you create it.

                                                              - */ - Arn?: string; } export namespace ServiceSummary { @@ -2484,6 +2541,12 @@ export namespace ServiceSummary { } export interface ListServicesResponse { + /** + *

                                                              An array that contains one ServiceSummary object for each service that matches the specified filter + * criteria.

                                                              + */ + Services?: ServiceSummary[]; + /** *

                                                              If the response contains NextToken, submit another ListServices request to get the * next group of results. Specify the value of NextToken from the previous response in the next @@ -2495,12 +2558,6 @@ export interface ListServicesResponse { * */ NextToken?: string; - - /** - *

                                                              An array that contains one ServiceSummary object for each service that matches the specified filter - * criteria.

                                                              - */ - Services?: ServiceSummary[]; } export namespace ListServicesResponse { @@ -2559,96 +2616,110 @@ export interface RegisterInstanceRequest { */ CreatorRequestId?: string; + /** + *

                                                              The ID of the service that you want to use for settings for the instance.

                                                              + */ + ServiceId: string | undefined; + /** *

                                                              A string map that contains the following information for the service that you specify in - * ServiceId:

                                                              - *
                                                                + * ServiceId:

                                                                + *
                                                                  *
                                                                • - *

                                                                  The attributes that apply to the records that are defined in the service.

                                                                  + *

                                                                  The attributes that apply to the records that are defined in the service.

                                                                  *
                                                                • *
                                                                • - *

                                                                  For each attribute, the applicable value.

                                                                  + *

                                                                  For each attribute, the applicable value.

                                                                  *
                                                                • *
                                                                - *

                                                                Supported attribute keys include the following:

                                                                - *

                                                                + *

                                                                Supported attribute keys include the following:

                                                                + *

                                                                * AWS_ALIAS_DNS_NAME *

                                                                - *

                                                                - * - *

                                                                - *

                                                                If you want AWS Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load - * balancer, specify the DNS name that is associated with the load balancer. For information about how to get the DNS - * name, see "DNSName" in the topic AliasTarget in the Route 53 API Reference.

                                                                - *

                                                                Note the following:

                                                                - *
                                                                  + *

                                                                  If you want AWS Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, + * specify the DNS name that is associated with the load balancer. For information about how to get the DNS + * name, see "DNSName" in the topic AliasTarget in the + * Route 53 API Reference.

                                                                  + *

                                                                  Note the following:

                                                                  + *
                                                                    *
                                                                  • - *

                                                                    The configuration for the service that is specified by ServiceId must include settings for an A - * record, an AAAA record, or both.

                                                                    + *

                                                                    The configuration for the service that is specified by ServiceId must include + * settings for an A record, an AAAA record, or both.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    In the service that is specified by ServiceId, the value of RoutingPolicy must be - * WEIGHTED.

                                                                    + *

                                                                    In the service that is specified by ServiceId, the value of + * RoutingPolicy must be WEIGHTED.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    If the service that is specified by ServiceId includes HealthCheckConfig settings, - * AWS Cloud Map will create the Route 53 health check, but it won't associate the health check with the alias - * record.

                                                                    + *

                                                                    If the service that is specified by ServiceId includes HealthCheckConfig + * settings, AWS Cloud Map will create the Route 53 health check, but it won't associate the health check + * with the alias record.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than - * ELB load balancers.

                                                                    + *

                                                                    Auto naming currently doesn't support creating alias records that route traffic to AWS resources + * other than Elastic Load Balancing load balancers.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the - * AWS_INSTANCE attributes.

                                                                    + *

                                                                    If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the + * AWS_INSTANCE attributes.

                                                                    *
                                                                  • *
                                                                  - *

                                                                  + * + *

                                                                  + * AWS_EC2_INSTANCE_ID + *

                                                                  + *

                                                                  + * HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the + * AWS_EC2_INSTANCE_ID attribute is specified, then the only other attribute that can be + * specified is AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID attribute is + * specified, then the AWS_INSTANCE_IPV4 attribute will be filled out with the primary private + * IPv4 address.

                                                                  + * + *

                                                                  * AWS_INIT_HEALTH_STATUS *

                                                                  - *

                                                                  If the service configuration includes HealthCheckCustomConfig, you can optionally use - * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, HEALTHY - * or UNHEALTHY. If you don't specify a value for AWS_INIT_HEALTH_STATUS, the initial status - * is HEALTHY.

                                                                  - *

                                                                  + *

                                                                  If the service configuration includes HealthCheckCustomConfig, you can optionally use + * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, + * HEALTHY or UNHEALTHY. If you don't specify a value for + * AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY.

                                                                  + *

                                                                  * AWS_INSTANCE_CNAME *

                                                                  - *

                                                                  If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response - * to DNS queries, for example, example.com.

                                                                  - *

                                                                  This value is required if the service specified by ServiceId includes settings for an CNAME - * record.

                                                                  - *

                                                                  + *

                                                                  If the service configuration includes a CNAME record, the domain name that you want Route 53 to + * return in response to DNS queries, for example, example.com.

                                                                  + *

                                                                  This value is required if the service specified by ServiceId includes settings for an + * CNAME record.

                                                                  + *

                                                                  * AWS_INSTANCE_IPV4 *

                                                                  - *

                                                                  If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to - * DNS queries, for example, 192.0.2.44.

                                                                  - *

                                                                  This value is required if the service specified by ServiceId includes settings for an A record. If - * the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, - * AWS_INSTANCE_IPV6, or both.

                                                                  - *

                                                                  + *

                                                                  If the service configuration includes an A record, the IPv4 address that you want Route 53 to + * return in response to DNS queries, for example, 192.0.2.44.

                                                                  + *

                                                                  This value is required if the service specified by ServiceId includes settings for an + * A record. If the service includes settings for an SRV record, you must specify + * a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

                                                                  + *

                                                                  * AWS_INSTANCE_IPV6 *

                                                                  - *

                                                                  If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response - * to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

                                                                  - *

                                                                  This value is required if the service specified by ServiceId includes settings for an AAAA record. - * If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, - * AWS_INSTANCE_IPV6, or both.

                                                                  - *

                                                                  + *

                                                                  If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to + * return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

                                                                  + *

                                                                  This value is required if the service specified by ServiceId includes settings for an + * AAAA record. If the service includes settings for an SRV record, you must + * specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

                                                                  + *

                                                                  * AWS_INSTANCE_PORT *

                                                                  - *

                                                                  If the service includes an SRV record, the value that you want Route 53 to return for the port.

                                                                  - *

                                                                  If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send - * requests to.

                                                                  - *

                                                                  This value is required if you specified settings for an SRV record or a Route 53 health check when you created the - * service.

                                                                  - *

                                                                  + *

                                                                  If the service includes an SRV record, the value that you want Route 53 to return for the + * port.

                                                                  + *

                                                                  If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to + * send requests to.

                                                                  + *

                                                                  This value is required if you specified settings for an SRV record or a Route 53 health check + * when you created the service.

                                                                  + *

                                                                  * Custom attributes *

                                                                  - *

                                                                  You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 - * characters, and the maximum length of the attribute value is 1,024 - * characters. Total size of all provided - * attributes (sum of all keys and values) must not exceed 5,000 characters.

                                                                  + *

                                                                  You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name + * is 255 characters, and the maximum length of the attribute value is 1,024 characters. The total size of all + * provided attributes (sum of all keys and values) must not exceed 5,000 characters.

                                                                  */ Attributes: { [key: string]: string } | undefined; @@ -2656,9 +2727,9 @@ export interface RegisterInstanceRequest { *

                                                                  An identifier that you want to associate with the instance. Note the following:

                                                                  *
                                                                    *
                                                                  • - *

                                                                    If the service that is specified by ServiceId includes settings for an SRV record, the value of - * InstanceId is automatically included as part of the value for the SRV record. For more information, - * see DnsRecord > Type.

                                                                    + *

                                                                    If the service that is specified by ServiceId includes settings for an SRV record, + * the value of InstanceId is automatically included as part of the value for the SRV + * record. For more information, see DnsRecord > Type.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    You can use this value to update an existing instance.

                                                                    @@ -2679,11 +2750,6 @@ export interface RegisterInstanceRequest { *
                                                                  */ InstanceId: string | undefined; - - /** - *

                                                                  The ID of the service that you want to use for settings for the instance.

                                                                  - */ - ServiceId: string | undefined; } export namespace RegisterInstanceRequest { @@ -2760,6 +2826,11 @@ export namespace UntagResourceResponse { } export interface UpdateInstanceCustomHealthStatusRequest { + /** + *

                                                                  The ID of the instance that you want to change the health status for.

                                                                  + */ + InstanceId: string | undefined; + /** *

                                                                  The new status of the instance, HEALTHY or UNHEALTHY.

                                                                  */ @@ -2770,11 +2841,6 @@ export interface UpdateInstanceCustomHealthStatusRequest { * status for.

                                                                  */ ServiceId: string | undefined; - - /** - *

                                                                  The ID of the instance that you want to change the health status for.

                                                                  - */ - InstanceId: string | undefined; } export namespace UpdateInstanceCustomHealthStatusRequest { @@ -2787,6 +2853,12 @@ export namespace UpdateInstanceCustomHealthStatusRequest { *

                                                                  A complex type that contains changes to an existing service.

                                                                  */ export interface ServiceChange { + /** + *

                                                                  A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you + * register an instance.

                                                                  + */ + DnsConfig?: DnsConfigChange; + /** *

                                                                  A description for the service.

                                                                  */ @@ -2801,17 +2873,20 @@ export interface ServiceChange { *

                                                                  If you specify a health check configuration, you can specify either HealthCheckCustomConfig or * HealthCheckConfig but not both.

                                                                  * - *

                                                                  Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for - * health checks, see Amazon Route 53 Pricing.

                                                                  + *

                                                                  Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for + * health checks, see Amazon Route 53 Pricing.

                                                                  *

                                                                  Note the following about configuring health checks.

                                                                  *

                                                                  - * A and AAAA records + * + * A and AAAA records *

                                                                  - *

                                                                  If DnsConfig includes configurations for both A and AAAA records, AWS Cloud Map creates a health check - * that uses the IPv4 address to check the health of the resource. If the endpoint that is specified by the IPv4 address - * is unhealthy, Route 53 considers both the A and AAAA records to be unhealthy.

                                                                  + *

                                                                  If DnsConfig includes configurations for both A and AAAA records, + * AWS Cloud Map creates a health check that uses the IPv4 address to check the health of the resource. If the endpoint + * that is specified by the IPv4 address is unhealthy, Route 53 considers both the A and AAAA + * records to be unhealthy.

                                                                  *

                                                                  - * CNAME records + * + * CNAME records *

                                                                  *

                                                                  You can't specify settings for HealthCheckConfig when the DNSConfig includes * CNAME for the value of Type. If you do, the CreateService request will fail @@ -2819,44 +2894,38 @@ export interface ServiceChange { *

                                                                  * Request interval *

                                                                  - *

                                                                  A Route 53 health checker in each health-checking region sends a health check request to an endpoint every 30 + *

                                                                  A Route 53 health checker in each health-checking region sends a health check request to an endpoint every 30 * seconds. On average, your endpoint receives a health check request about every two seconds. However, health checkers * don't coordinate with one another, so you'll sometimes see several requests per second followed by a few seconds with * no health checks at all.

                                                                  *

                                                                  * Health checking regions *

                                                                  - *

                                                                  Health checkers perform checks from all Route 53 health-checking regions. For a list of the current regions, see + *

                                                                  Health checkers perform checks from all Route 53 health-checking regions. For a list of the current regions, see * Regions.

                                                                  *

                                                                  * Alias records *

                                                                  *

                                                                  When you register an instance, if you include the AWS_ALIAS_DNS_NAME attribute, AWS Cloud Map creates - * a Route 53 alias record. Note the following:

                                                                  + * a Route 53 alias record. Note the following:

                                                                  *
                                                                    *
                                                                  • - *

                                                                    Route 53 automatically sets EvaluateTargetHealth to true for alias records. When + *

                                                                    Route 53 automatically sets EvaluateTargetHealth to true for alias records. When * EvaluateTargetHealth is true, the alias record inherits the health of the referenced AWS resource. * such as an ELB load balancer. For more information, see EvaluateTargetHealth.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    If you include HealthCheckConfig and then use the service to register an instance that creates an - * alias record, Route 53 doesn't create the health check.

                                                                    + * alias record, Route 53 doesn't create the health check.

                                                                    *
                                                                  • *
                                                                  *

                                                                  * Charges for health checks *

                                                                  - *

                                                                  Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for - * health checks, see Amazon Route 53 Pricing.

                                                                  + *

                                                                  Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for + * health checks, see Amazon Route 53 Pricing.

                                                                  */ HealthCheckConfig?: HealthCheckConfig; - - /** - *

                                                                  A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you - * register an instance.

                                                                  - */ - DnsConfig?: DnsConfigChange; } export namespace ServiceChange { diff --git a/clients/client-servicediscovery/protocols/Aws_json1_1.ts b/clients/client-servicediscovery/protocols/Aws_json1_1.ts index 5173156dc91a..c15240e432b6 100644 --- a/clients/client-servicediscovery/protocols/Aws_json1_1.ts +++ b/clients/client-servicediscovery/protocols/Aws_json1_1.ts @@ -2403,6 +2403,9 @@ const serializeAws_json1_1DiscoverInstancesRequest = ( ...(input.HealthStatus !== undefined && { HealthStatus: input.HealthStatus }), ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), ...(input.NamespaceName !== undefined && { NamespaceName: input.NamespaceName }), + ...(input.OptionalParameters !== undefined && { + OptionalParameters: serializeAws_json1_1Attributes(input.OptionalParameters, context), + }), ...(input.QueryParameters !== undefined && { QueryParameters: serializeAws_json1_1Attributes(input.QueryParameters, context), }), diff --git a/clients/client-ses/models/models_0.ts b/clients/client-ses/models/models_0.ts index 3cdce616bc4c..81284869138e 100644 --- a/clients/client-ses/models/models_0.ts +++ b/clients/client-ses/models/models_0.ts @@ -49,13 +49,12 @@ export namespace AddHeaderAction { export interface AlreadyExistsException extends __SmithyException, $MetadataBearer { name: "AlreadyExistsException"; $fault: "client"; + message?: string; /** *

                                                                  Indicates that a resource could not be created because the resource name already * exists.

                                                                  */ Name?: string; - - message?: string; } export namespace AlreadyExistsException { @@ -99,18 +98,18 @@ export namespace Content { * clients.

                                                                  */ export interface Body { - /** - *

                                                                  The content of the message, in text format. Use this for text-based email clients, or - * clients on high-latency networks (such as mobile devices).

                                                                  - */ - Text?: Content; - /** *

                                                                  The content of the message, in HTML format. Use this for email clients that can * process HTML. You can include clickable links, formatted text, and much more in an HTML * message.

                                                                  */ Html?: Content; + + /** + *

                                                                  The content of the message, in text format. Use this for text-based email clients, or + * clients on high-latency networks (such as mobile devices).

                                                                  + */ + Text?: Content; } export namespace Body { @@ -133,17 +132,17 @@ export interface BounceAction { */ SmtpReplyCode: string | undefined; - /** - *

                                                                  Human-readable text to include in the bounce message.

                                                                  - */ - Message: string | undefined; - /** *

                                                                  The email address of the sender of the bounced email. This is the address from which * the bounce message will be sent.

                                                                  */ Sender: string | undefined; + /** + *

                                                                  The SMTP enhanced status code, as defined by RFC 3463.

                                                                  + */ + StatusCode?: string; + /** *

                                                                  The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is * taken. An example of an Amazon SNS topic ARN is @@ -153,9 +152,9 @@ export interface BounceAction { TopicArn?: string; /** - *

                                                                  The SMTP enhanced status code, as defined by RFC 3463.

                                                                  + *

                                                                  Human-readable text to include in the bounce message.

                                                                  */ - StatusCode?: string; + Message: string | undefined; } export namespace BounceAction { @@ -188,17 +187,17 @@ export enum DsnAction { * Developer Guide.

                                                                  */ export interface ExtensionField { - /** - *

                                                                  The value of the header to add. Must be less than 2048 characters, and must not - * contain newline characters ("\r" or "\n").

                                                                  - */ - Value: string | undefined; - /** *

                                                                  The name of the header to add. Must be between 1 and 50 characters, inclusive, and * consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only.

                                                                  */ Name: string | undefined; + + /** + *

                                                                  The value of the header to add. Must be less than 2048 characters, and must not + * contain newline characters ("\r" or "\n").

                                                                  + */ + Value: string | undefined; } export namespace ExtensionField { @@ -220,9 +219,11 @@ export interface RecipientDsnFields { LastAttemptDate?: Date; /** - *

                                                                  The status code that indicates what went wrong. This is required by RFC 3464.

                                                                  + *

                                                                  An extended explanation of what went wrong; this is usually an SMTP response. See + * RFC 3463 for the correct + * formatting of this parameter.

                                                                  */ - Status: string | undefined; + DiagnosticCode?: string; /** *

                                                                  The email address that the message was ultimately delivered to. This corresponds to @@ -239,16 +240,10 @@ export interface RecipientDsnFields { FinalRecipient?: string; /** - *

                                                                  An extended explanation of what went wrong; this is usually an SMTP response. See - * RFC 3463 for the correct - * formatting of this parameter.

                                                                  - */ - DiagnosticCode?: string; - - /** - *

                                                                  Additional X-headers to include in the DSN.

                                                                  + *

                                                                  The action performed by the reporting mail transfer agent (MTA) as a result of its + * attempt to deliver the message to the recipient address. This is required by RFC 3464.

                                                                  */ - ExtensionFields?: ExtensionField[]; + Action: DsnAction | string | undefined; /** *

                                                                  The MTA to which the remote MTA attempted to deliver the message, formatted as @@ -259,10 +254,14 @@ export interface RecipientDsnFields { RemoteMta?: string; /** - *

                                                                  The action performed by the reporting mail transfer agent (MTA) as a result of its - * attempt to deliver the message to the recipient address. This is required by RFC 3464.

                                                                  + *

                                                                  The status code that indicates what went wrong. This is required by RFC 3464.

                                                                  */ - Action: DsnAction | string | undefined; + Status: string | undefined; + + /** + *

                                                                  Additional X-headers to include in the DSN.

                                                                  + */ + ExtensionFields?: ExtensionField[]; } export namespace RecipientDsnFields { @@ -287,11 +286,6 @@ export interface BouncedRecipientInfo { */ RecipientArn?: string; - /** - *

                                                                  The email address of the recipient of the bounced email.

                                                                  - */ - Recipient: string | undefined; - /** *

                                                                  The reason for the bounce. You must provide either this parameter or * RecipientDsnFields.

                                                                  @@ -304,6 +298,11 @@ export interface BouncedRecipientInfo { * BounceType.

                                                                  */ RecipientDsnFields?: RecipientDsnFields; + + /** + *

                                                                  The email address of the recipient of the bounced email.

                                                                  + */ + Recipient: string | undefined; } export namespace BouncedRecipientInfo { @@ -326,14 +325,14 @@ export namespace BouncedRecipientInfo { */ export interface Destination { /** - *

                                                                  The recipients to place on the CC: line of the message.

                                                                  + *

                                                                  The recipients to place on the To: line of the message.

                                                                  */ - CcAddresses?: string[]; + ToAddresses?: string[]; /** - *

                                                                  The recipients to place on the To: line of the message.

                                                                  + *

                                                                  The recipients to place on the CC: line of the message.

                                                                  */ - ToAddresses?: string[]; + CcAddresses?: string[]; /** *

                                                                  The recipients to place on the BCC: line of the message.

                                                                  @@ -395,11 +394,11 @@ export namespace MessageTag { */ export interface BulkEmailDestination { /** - *

                                                                  A list of replacement values to apply to the template. This parameter is a JSON - * object, typically consisting of key-value pairs in which the keys correspond to - * replacement tags in the email template.

                                                                  + *

                                                                  A list of tags, in the form of name/value pairs, to apply to an email that you send + * using SendBulkTemplatedEmail. Tags correspond to characteristics of the + * email that you define, so that you can publish email sending events.

                                                                  */ - ReplacementTemplateData?: string; + ReplacementTags?: MessageTag[]; /** *

                                                                  Represents the destination of the message, consisting of To:, CC:, and BCC: @@ -416,11 +415,11 @@ export interface BulkEmailDestination { Destination: Destination | undefined; /** - *

                                                                  A list of tags, in the form of name/value pairs, to apply to an email that you send - * using SendBulkTemplatedEmail. Tags correspond to characteristics of the - * email that you define, so that you can publish email sending events.

                                                                  + *

                                                                  A list of replacement values to apply to the template. This parameter is a JSON + * object, typically consisting of key-value pairs in which the keys correspond to + * replacement tags in the email template.

                                                                  */ - ReplacementTags?: MessageTag[]; + ReplacementTemplateData?: string; } export namespace BulkEmailDestination { @@ -457,12 +456,6 @@ export interface BulkEmailDestinationStatus { */ Error?: string; - /** - *

                                                                  The unique message identifier returned from the SendBulkTemplatedEmail - * operation.

                                                                  - */ - MessageId?: string; - /** *

                                                                  The status of a message sent using the SendBulkTemplatedEmail * operation.

                                                                  @@ -544,6 +537,12 @@ export interface BulkEmailDestinationStatus { *
                                                                */ Status?: BulkEmailStatus | string; + + /** + *

                                                                The unique message identifier returned from the SendBulkTemplatedEmail + * operation.

                                                                + */ + MessageId?: string; } export namespace BulkEmailDestinationStatus { @@ -641,12 +640,11 @@ export namespace LimitExceededException { export interface RuleSetDoesNotExistException extends __SmithyException, $MetadataBearer { name: "RuleSetDoesNotExistException"; $fault: "client"; + message?: string; /** *

                                                                Indicates that the named receipt rule set does not exist.

                                                                */ Name?: string; - - message?: string; } export namespace RuleSetDoesNotExistException { @@ -682,16 +680,6 @@ export interface CloudWatchDimensionConfiguration { */ DefaultDimensionValue: string | undefined; - /** - *

                                                                The place where Amazon SES finds the value of a dimension to publish to Amazon CloudWatch. If you - * want Amazon SES to use the message tags that you specify using an - * X-SES-MESSAGE-TAGS header or a parameter to the - * SendEmail/SendRawEmail API, choose - * messageTag. If you want Amazon SES to use your own email headers, choose - * emailHeader.

                                                                - */ - DimensionValueSource: DimensionValueSource | string | undefined; - /** *

                                                                The name of an Amazon CloudWatch dimension associated with an email sending metric. The name * must:

                                                                @@ -706,6 +694,16 @@ export interface CloudWatchDimensionConfiguration { *
                                                              */ DimensionName: string | undefined; + + /** + *

                                                              The place where Amazon SES finds the value of a dimension to publish to Amazon CloudWatch. If you + * want Amazon SES to use the message tags that you specify using an + * X-SES-MESSAGE-TAGS header or a parameter to the + * SendEmail/SendRawEmail API, choose + * messageTag. If you want Amazon SES to use your own email headers, choose + * emailHeader.

                                                              + */ + DimensionValueSource: DimensionValueSource | string | undefined; } export namespace CloudWatchDimensionConfiguration { @@ -771,12 +769,11 @@ export namespace ConfigurationSet { export interface ConfigurationSetAlreadyExistsException extends __SmithyException, $MetadataBearer { name: "ConfigurationSetAlreadyExistsException"; $fault: "client"; + message?: string; /** *

                                                              Indicates that the configuration set does not exist.

                                                              */ ConfigurationSetName?: string; - - message?: string; } export namespace ConfigurationSetAlreadyExistsException { @@ -957,12 +954,6 @@ export interface EventDestination { */ CloudWatchDestination?: CloudWatchDestination; - /** - *

                                                              An object that contains the delivery stream ARN and the IAM role ARN associated with - * an Amazon Kinesis Firehose event destination.

                                                              - */ - KinesisFirehoseDestination?: KinesisFirehoseDestination; - /** *

                                                              Sets whether Amazon SES publishes events to this destination when you send an email with * the associated configuration set. Set to true to enable publishing to this @@ -971,6 +962,17 @@ export interface EventDestination { */ Enabled?: boolean; + /** + *

                                                              An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event + * destination.

                                                              + */ + SNSDestination?: SNSDestination; + + /** + *

                                                              The type of email sending events to publish to the event destination.

                                                              + */ + MatchingEventTypes: (EventType | string)[] | undefined; + /** *

                                                              The name of the event destination. The name must:

                                                              *
                                                                @@ -986,15 +988,10 @@ export interface EventDestination { Name: string | undefined; /** - *

                                                                The type of email sending events to publish to the event destination.

                                                                - */ - MatchingEventTypes: (EventType | string)[] | undefined; - - /** - *

                                                                An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event - * destination.

                                                                + *

                                                                An object that contains the delivery stream ARN and the IAM role ARN associated with + * an Amazon Kinesis Firehose event destination.

                                                                */ - SNSDestination?: SNSDestination; + KinesisFirehoseDestination?: KinesisFirehoseDestination; } export namespace EventDestination { @@ -1011,17 +1008,17 @@ export namespace EventDestination { * Guide.

                                                                */ export interface CreateConfigurationSetEventDestinationRequest { - /** - *

                                                                An object that describes the AWS service that email sending event information will - * be published to.

                                                                - */ - EventDestination: EventDestination | undefined; - /** *

                                                                The name of the configuration set that the event destination should be associated * with.

                                                                */ ConfigurationSetName: string | undefined; + + /** + *

                                                                An object that describes the AWS service that email sending event information will + * be published to.

                                                                + */ + EventDestination: EventDestination | undefined; } export namespace CreateConfigurationSetEventDestinationRequest { @@ -1078,11 +1075,12 @@ export interface InvalidCloudWatchDestinationException extends __SmithyException */ EventDestinationName?: string; - message?: string; /** *

                                                                Indicates that the configuration set does not exist.

                                                                */ ConfigurationSetName?: string; + + message?: string; } export namespace InvalidCloudWatchDestinationException { @@ -1103,11 +1101,12 @@ export interface InvalidFirehoseDestinationException extends __SmithyException, */ EventDestinationName?: string; - message?: string; /** *

                                                                Indicates that the configuration set does not exist.

                                                                */ ConfigurationSetName?: string; + + message?: string; } export namespace InvalidFirehoseDestinationException { @@ -1125,14 +1124,14 @@ export interface InvalidSNSDestinationException extends __SmithyException, $Meta $fault: "client"; message?: string; /** - *

                                                                Indicates that the configuration set does not exist.

                                                                + *

                                                                Indicates that the event destination does not exist.

                                                                */ - ConfigurationSetName?: string; + EventDestinationName?: string; /** - *

                                                                Indicates that the event destination does not exist.

                                                                + *

                                                                Indicates that the configuration set does not exist.

                                                                */ - EventDestinationName?: string; + ConfigurationSetName?: string; } export namespace InvalidSNSDestinationException { @@ -1251,6 +1250,11 @@ export namespace TrackingOptionsAlreadyExistsException { *

                                                                Represents a request to create a custom verification email template.

                                                                */ export interface CreateCustomVerificationEmailTemplateRequest { + /** + *

                                                                The subject line of the custom verification email.

                                                                + */ + TemplateSubject: string | undefined; + /** *

                                                                The content of the custom verification email. The total size of the email must be less * than 10 MB. The message body may contain HTML, with some limitations. For more @@ -1259,22 +1263,12 @@ export interface CreateCustomVerificationEmailTemplateRequest { */ TemplateContent: string | undefined; - /** - *

                                                                The subject line of the custom verification email.

                                                                - */ - TemplateSubject: string | undefined; - /** *

                                                                The URL that the recipient of the verification email is sent to if his or her address * is not successfully verified.

                                                                */ FailureRedirectionURL: string | undefined; - /** - *

                                                                The name of the custom verification email template.

                                                                - */ - TemplateName: string | undefined; - /** *

                                                                The email address that the custom verification email is sent from.

                                                                */ @@ -1285,6 +1279,11 @@ export interface CreateCustomVerificationEmailTemplateRequest { * is successfully verified.

                                                                */ SuccessRedirectionURL: string | undefined; + + /** + *

                                                                The name of the custom verification email template.

                                                                + */ + TemplateName: string | undefined; } export namespace CreateCustomVerificationEmailTemplateRequest { @@ -1315,12 +1314,13 @@ export namespace CustomVerificationEmailInvalidContentException { export interface CustomVerificationEmailTemplateAlreadyExistsException extends __SmithyException, $MetadataBearer { name: "CustomVerificationEmailTemplateAlreadyExistsException"; $fault: "client"; - message?: string; /** *

                                                                Indicates that the provided custom verification email template with the specified * template name already exists.

                                                                */ CustomVerificationEmailTemplateName?: string; + + message?: string; } export namespace CustomVerificationEmailTemplateAlreadyExistsException { @@ -1336,13 +1336,12 @@ export namespace CustomVerificationEmailTemplateAlreadyExistsException { export interface FromEmailAddressNotVerifiedException extends __SmithyException, $MetadataBearer { name: "FromEmailAddressNotVerifiedException"; $fault: "client"; + message?: string; /** *

                                                                Indicates that the from email address associated with the custom verification email * template is not verified.

                                                                */ FromEmailAddress?: string; - - message?: string; } export namespace FromEmailAddressNotVerifiedException { @@ -1362,6 +1361,12 @@ export enum ReceiptFilterPolicy { *

                                                                For information about setting up IP address filters, see the Amazon SES Developer Guide.

                                                                */ export interface ReceiptIpFilter { + /** + *

                                                                Indicates whether to block or allow incoming mail from the specified IP + * addresses.

                                                                + */ + Policy: ReceiptFilterPolicy | string | undefined; + /** *

                                                                A single IP address or a range of IP addresses that you want to block or allow, * specified in Classless Inter-Domain Routing (CIDR) notation. An example of a single @@ -1369,12 +1374,6 @@ export interface ReceiptIpFilter { * more information about CIDR notation, see RFC 2317.

                                                                */ Cidr: string | undefined; - - /** - *

                                                                Indicates whether to block or allow incoming mail from the specified IP - * addresses.

                                                                - */ - Policy: ReceiptFilterPolicy | string | undefined; } export namespace ReceiptIpFilter { @@ -1517,6 +1516,20 @@ export interface S3Action { */ BucketName: string | undefined; + /** + *

                                                                The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory name that + * enables you to store similar data under the same directory in a bucket.

                                                                + */ + ObjectKeyPrefix?: string; + + /** + *

                                                                The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. An + * example of an Amazon SNS topic ARN is + * arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about + * Amazon SNS topics, see the Amazon SNS Developer Guide.

                                                                + */ + TopicArn?: string; + /** *

                                                                The customer master key that Amazon SES should use to encrypt your emails before saving * them to the Amazon S3 bucket. You can use the default master key or a custom master key you @@ -1552,21 +1565,7 @@ export interface S3Action { * */ KmsKeyArn?: string; - - /** - *

                                                                The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. An - * example of an Amazon SNS topic ARN is - * arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about - * Amazon SNS topics, see the Amazon SNS Developer Guide.

                                                                - */ - TopicArn?: string; - - /** - *

                                                                The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory name that - * enables you to store similar data under the same directory in a bucket.

                                                                - */ - ObjectKeyPrefix?: string; -} +} export namespace S3Action { export const filterSensitiveLog = (obj: S3Action): any => ({ @@ -1599,13 +1598,6 @@ export enum SNSActionEncoding { * Guide.

                                                                */ export interface SNSAction { - /** - *

                                                                The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example of an Amazon SNS - * topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more - * information about Amazon SNS topics, see the Amazon SNS Developer Guide.

                                                                - */ - TopicArn: string | undefined; - /** *

                                                                The encoding to use for the email within the Amazon SNS notification. UTF-8 is easier to * use, but may not preserve all special characters when a message was encoded with a @@ -1613,6 +1605,13 @@ export interface SNSAction { * UTF-8.

                                                                */ Encoding?: SNSActionEncoding | string; + + /** + *

                                                                The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example of an Amazon SNS + * topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more + * information about Amazon SNS topics, see the Amazon SNS Developer Guide.

                                                                + */ + TopicArn: string | undefined; } export namespace SNSAction { @@ -1632,11 +1631,6 @@ export enum StopScope { * Guide.

                                                                */ export interface StopAction { - /** - *

                                                                The scope of the StopAction. The only acceptable value is RuleSet.

                                                                - */ - Scope: StopScope | string | undefined; - /** *

                                                                The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop action is * taken. An example of an Amazon SNS topic ARN is @@ -1644,6 +1638,11 @@ export interface StopAction { * Amazon SNS topics, see the Amazon SNS Developer Guide.

                                                                */ TopicArn?: string; + + /** + *

                                                                The scope of the StopAction. The only acceptable value is RuleSet.

                                                                + */ + Scope: StopScope | string | undefined; } export namespace StopAction { @@ -1694,20 +1693,22 @@ export namespace WorkmailAction { */ export interface ReceiptAction { /** - *

                                                                Calls Amazon WorkMail and, optionally, publishes a notification to Amazon - * Amazon SNS.

                                                                + *

                                                                Terminates the evaluation of the receipt rule set and optionally publishes a + * notification to Amazon SNS.

                                                                */ - WorkmailAction?: WorkmailAction; + StopAction?: StopAction; /** - *

                                                                Publishes the email content within a notification to Amazon SNS.

                                                                + *

                                                                Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a + * notification to Amazon SNS.

                                                                */ - SNSAction?: SNSAction; + S3Action?: S3Action; /** - *

                                                                Adds a header to the received email.

                                                                + *

                                                                Rejects the received email by returning a bounce response to the sender and, + * optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

                                                                */ - AddHeaderAction?: AddHeaderAction; + BounceAction?: BounceAction; /** *

                                                                Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.

                                                                @@ -1715,22 +1716,20 @@ export interface ReceiptAction { LambdaAction?: LambdaAction; /** - *

                                                                Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a - * notification to Amazon SNS.

                                                                + *

                                                                Adds a header to the received email.

                                                                */ - S3Action?: S3Action; + AddHeaderAction?: AddHeaderAction; /** - *

                                                                Terminates the evaluation of the receipt rule set and optionally publishes a - * notification to Amazon SNS.

                                                                + *

                                                                Publishes the email content within a notification to Amazon SNS.

                                                                */ - StopAction?: StopAction; + SNSAction?: SNSAction; /** - *

                                                                Rejects the received email by returning a bounce response to the sender and, - * optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

                                                                + *

                                                                Calls Amazon WorkMail and, optionally, publishes a notification to Amazon + * Amazon SNS.

                                                                */ - BounceAction?: BounceAction; + WorkmailAction?: WorkmailAction; } export namespace ReceiptAction { @@ -1754,12 +1753,37 @@ export enum TlsPolicy { * Guide.

                                                                */ export interface ReceiptRule { + /** + *

                                                                The name of the receipt rule. The name must:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), + * underscores (_), or dashes (-).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Start and end with a letter or number.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Contain less than 64 characters.

                                                                  + *
                                                                • + *
                                                                + */ + Name: string | undefined; + /** *

                                                                An ordered list of actions to perform on messages that match at least one of the * recipient email addresses or domains specified in the receipt rule.

                                                                */ Actions?: ReceiptAction[]; + /** + *

                                                                Specifies whether Amazon SES should require that incoming email is delivered over a + * connection encrypted with Transport Layer Security (TLS). If this parameter is set to + * Require, Amazon SES will bounce emails that are not received over TLS. The + * default is Optional.

                                                                + */ + TlsPolicy?: TlsPolicy | string; + /** *

                                                                If true, the receipt rule is active. The default value is * false.

                                                                @@ -1778,31 +1802,6 @@ export interface ReceiptRule { * domains.

                                                                */ Recipients?: string[]; - - /** - *

                                                                Specifies whether Amazon SES should require that incoming email is delivered over a - * connection encrypted with Transport Layer Security (TLS). If this parameter is set to - * Require, Amazon SES will bounce emails that are not received over TLS. The - * default is Optional.

                                                                - */ - TlsPolicy?: TlsPolicy | string; - - /** - *

                                                                The name of the receipt rule. The name must:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), - * underscores (_), or dashes (-).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Start and end with a letter or number.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Contain less than 64 characters.

                                                                  - *
                                                                • - *
                                                                - */ - Name: string | undefined; } export namespace ReceiptRule { @@ -1825,15 +1824,15 @@ export interface CreateReceiptRuleRequest { After?: string; /** - *

                                                                A data structure that contains the specified rule's name, actions, recipients, - * domains, enabled status, scan status, and TLS policy.

                                                                + *

                                                                The name of the rule set that the receipt rule will be added to.

                                                                */ - Rule: ReceiptRule | undefined; + RuleSetName: string | undefined; /** - *

                                                                The name of the rule set that the receipt rule will be added to.

                                                                + *

                                                                A data structure that contains the specified rule's name, actions, recipients, + * domains, enabled status, scan status, and TLS policy.

                                                                */ - RuleSetName: string | undefined; + Rule: ReceiptRule | undefined; } export namespace CreateReceiptRuleRequest { @@ -1862,11 +1861,12 @@ export namespace CreateReceiptRuleResponse { export interface InvalidLambdaFunctionException extends __SmithyException, $MetadataBearer { name: "InvalidLambdaFunctionException"; $fault: "client"; - message?: string; /** *

                                                                Indicates that the ARN of the function was not found.

                                                                */ FunctionArn?: string; + + message?: string; } export namespace InvalidLambdaFunctionException { @@ -1907,11 +1907,12 @@ export namespace InvalidS3ConfigurationException { export interface InvalidSnsTopicException extends __SmithyException, $MetadataBearer { name: "InvalidSnsTopicException"; $fault: "client"; - message?: string; /** *

                                                                Indicates that the topic does not exist.

                                                                */ Topic?: string; + + message?: string; } export namespace InvalidSnsTopicException { @@ -1926,11 +1927,12 @@ export namespace InvalidSnsTopicException { export interface RuleDoesNotExistException extends __SmithyException, $MetadataBearer { name: "RuleDoesNotExistException"; $fault: "client"; - message?: string; /** *

                                                                Indicates that the named receipt rule does not exist.

                                                                */ Name?: string; + + message?: string; } export namespace RuleDoesNotExistException { @@ -1986,27 +1988,27 @@ export namespace CreateReceiptRuleSetResponse { */ export interface Template { /** - *

                                                                The HTML body of the email.

                                                                + *

                                                                The email body that will be visible to recipients whose email clients do not display + * HTML.

                                                                */ - HtmlPart?: string; + TextPart?: string; /** *

                                                                The subject line of the email.

                                                                */ SubjectPart?: string; - /** - *

                                                                The email body that will be visible to recipients whose email clients do not display - * HTML.

                                                                - */ - TextPart?: string; - /** *

                                                                The name of the template. You will refer to this name when you send email using the * SendTemplatedEmail or SendBulkTemplatedEmail * operations.

                                                                */ TemplateName: string | undefined; + + /** + *

                                                                The HTML body of the email.

                                                                + */ + HtmlPart?: string; } export namespace Template { @@ -2075,26 +2077,26 @@ export interface CustomVerificationEmailTemplate { FromEmailAddress?: string; /** - *

                                                                The URL that the recipient of the verification email is sent to if his or her address - * is not successfully verified.

                                                                + *

                                                                The name of the custom verification email template.

                                                                */ - FailureRedirectionURL?: string; + TemplateName?: string; /** - *

                                                                The subject line of the custom verification email.

                                                                + *

                                                                The URL that the recipient of the verification email is sent to if his or her address + * is successfully verified.

                                                                */ - TemplateSubject?: string; + SuccessRedirectionURL?: string; /** - *

                                                                The name of the custom verification email template.

                                                                + *

                                                                The URL that the recipient of the verification email is sent to if his or her address + * is not successfully verified.

                                                                */ - TemplateName?: string; + FailureRedirectionURL?: string; /** - *

                                                                The URL that the recipient of the verification email is sent to if his or her address - * is successfully verified.

                                                                + *

                                                                The subject line of the custom verification email.

                                                                */ - SuccessRedirectionURL?: string; + TemplateSubject?: string; } export namespace CustomVerificationEmailTemplate { @@ -2196,17 +2198,16 @@ export namespace DeleteConfigurationSetEventDestinationResponse { export interface EventDestinationDoesNotExistException extends __SmithyException, $MetadataBearer { name: "EventDestinationDoesNotExistException"; $fault: "client"; - /** - *

                                                                Indicates that the event destination does not exist.

                                                                - */ - EventDestinationName?: string; - + message?: string; /** *

                                                                Indicates that the configuration set does not exist.

                                                                */ ConfigurationSetName?: string; - message?: string; + /** + *

                                                                Indicates that the event destination does not exist.

                                                                + */ + EventDestinationName?: string; } export namespace EventDestinationDoesNotExistException { @@ -2560,15 +2561,15 @@ export namespace ReceiptRuleSetMetadata { */ export interface DescribeActiveReceiptRuleSetResponse { /** - *

                                                                The metadata for the currently active receipt rule set. The metadata consists of the - * rule set name and a timestamp of when the rule set was created.

                                                                + *

                                                                The receipt rules that belong to the active rule set.

                                                                */ - Metadata?: ReceiptRuleSetMetadata; + Rules?: ReceiptRule[]; /** - *

                                                                The receipt rules that belong to the active rule set.

                                                                + *

                                                                The metadata for the currently active receipt rule set. The metadata consists of the + * rule set name and a timestamp of when the rule set was created.

                                                                */ - Rules?: ReceiptRule[]; + Metadata?: ReceiptRuleSetMetadata; } export namespace DescribeActiveReceiptRuleSetResponse { @@ -2614,6 +2615,15 @@ export interface ReputationOptions { */ SendingEnabled?: boolean; + /** + *

                                                                Describes whether or not Amazon SES publishes reputation metrics for the configuration set, + * such as bounce and complaint rates, to Amazon CloudWatch.

                                                                + *

                                                                If the value is true, reputation metrics are published. If the value is + * false, reputation metrics are not published. The default value is + * false.

                                                                + */ + ReputationMetricsEnabled?: boolean; + /** *

                                                                The date and time at which the reputation metrics for the configuration set were last * reset. Resetting these metrics is known as a fresh start.

                                                                @@ -2624,15 +2634,6 @@ export interface ReputationOptions { * re-enabled, the value of this attribute is null.

                                                                */ LastFreshStart?: Date; - - /** - *

                                                                Describes whether or not Amazon SES publishes reputation metrics for the configuration set, - * such as bounce and complaint rates, to Amazon CloudWatch.

                                                                - *

                                                                If the value is true, reputation metrics are published. If the value is - * false, reputation metrics are not published. The default value is - * false.

                                                                - */ - ReputationMetricsEnabled?: boolean; } export namespace ReputationOptions { @@ -2660,14 +2661,14 @@ export interface DescribeConfigurationSetResponse { TrackingOptions?: TrackingOptions; /** - *

                                                                The configuration set object associated with the specified configuration set.

                                                                + *

                                                                A list of event destinations associated with the configuration set.

                                                                */ - ConfigurationSet?: ConfigurationSet; + EventDestinations?: EventDestination[]; /** - *

                                                                A list of event destinations associated with the configuration set.

                                                                + *

                                                                The configuration set object associated with the specified configuration set.

                                                                */ - EventDestinations?: EventDestination[]; + ConfigurationSet?: ConfigurationSet; /** *

                                                                Specifies whether messages that use the configuration set are required to use @@ -2689,14 +2690,14 @@ export namespace DescribeConfigurationSetResponse { */ export interface DescribeReceiptRuleRequest { /** - *

                                                                The name of the receipt rule.

                                                                + *

                                                                The name of the receipt rule set that the receipt rule belongs to.

                                                                */ - RuleName: string | undefined; + RuleSetName: string | undefined; /** - *

                                                                The name of the receipt rule set that the receipt rule belongs to.

                                                                + *

                                                                The name of the receipt rule.

                                                                */ - RuleSetName: string | undefined; + RuleName: string | undefined; } export namespace DescribeReceiptRuleRequest { @@ -2779,18 +2780,18 @@ export interface IdentityDkimAttributes { */ DkimTokens?: string[]; + /** + *

                                                                Is true if DKIM signing is enabled for email sent from the identity. It's false + * otherwise. The default value is true.

                                                                + */ + DkimEnabled: boolean | undefined; + /** *

                                                                Describes whether Amazon SES has successfully verified the DKIM DNS records (tokens) * published in the domain name's DNS. (This only applies to domain identities, not email * address identities.)

                                                                */ DkimVerificationStatus: VerificationStatus | string | undefined; - - /** - *

                                                                Is true if DKIM signing is enabled for email sent from the identity. It's false - * otherwise. The default value is true.

                                                                - */ - DkimEnabled: boolean | undefined; } export namespace IdentityDkimAttributes { @@ -2845,15 +2846,14 @@ export interface GetCustomVerificationEmailTemplateResponse { /** *

                                                                The URL that the recipient of the verification email is sent to if his or her address - * is not successfully verified.

                                                                + * is successfully verified.

                                                                */ - FailureRedirectionURL?: string; + SuccessRedirectionURL?: string; /** - *

                                                                The URL that the recipient of the verification email is sent to if his or her address - * is successfully verified.

                                                                + *

                                                                The name of the custom verification email template.

                                                                */ - SuccessRedirectionURL?: string; + TemplateName?: string; /** *

                                                                The content of the custom verification email.

                                                                @@ -2866,9 +2866,10 @@ export interface GetCustomVerificationEmailTemplateResponse { TemplateSubject?: string; /** - *

                                                                The name of the custom verification email template.

                                                                + *

                                                                The URL that the recipient of the verification email is sent to if his or her address + * is not successfully verified.

                                                                */ - TemplateName?: string; + FailureRedirectionURL?: string; } export namespace GetCustomVerificationEmailTemplateResponse { @@ -2938,20 +2939,6 @@ export namespace GetIdentityMailFromDomainAttributesRequest { * address or domain).

                                                                */ export interface IdentityMailFromDomainAttributes { - /** - *

                                                                The state that indicates whether Amazon SES has successfully read the MX record required - * for custom MAIL FROM domain setup. If the state is Success, Amazon SES uses the - * specified custom MAIL FROM domain when the verified identity sends an email. All other - * states indicate that Amazon SES takes the action described by - * BehaviorOnMXFailure.

                                                                - */ - MailFromDomainStatus: CustomMailFromStatus | string | undefined; - - /** - *

                                                                The custom MAIL FROM domain that the identity is configured to use.

                                                                - */ - MailFromDomain: string | undefined; - /** *

                                                                The action that Amazon SES takes if it cannot successfully read the required MX record when * you send an email. A value of UseDefaultValue indicates that if Amazon SES @@ -2963,6 +2950,20 @@ export interface IdentityMailFromDomainAttributes { * Pending, Failed, and TemporaryFailure.

                                                                */ BehaviorOnMXFailure: BehaviorOnMXFailure | string | undefined; + + /** + *

                                                                The custom MAIL FROM domain that the identity is configured to use.

                                                                + */ + MailFromDomain: string | undefined; + + /** + *

                                                                The state that indicates whether Amazon SES has successfully read the MX record required + * for custom MAIL FROM domain setup. If the state is Success, Amazon SES uses the + * specified custom MAIL FROM domain when the verified identity sends an email. All other + * states indicate that Amazon SES takes the action described by + * BehaviorOnMXFailure.

                                                                + */ + MailFromDomainStatus: CustomMailFromStatus | string | undefined; } export namespace IdentityMailFromDomainAttributes { @@ -3015,15 +3016,6 @@ export namespace GetIdentityNotificationAttributesRequest { * notifications.

                                                                */ export interface IdentityNotificationAttributes { - /** - *

                                                                Describes whether Amazon SES will forward bounce and complaint notifications as email. - * true indicates that Amazon SES will forward bounce and complaint - * notifications as email, while false indicates that bounce and complaint - * notifications will be published only to the specified bounce and complaint Amazon SNS - * topics.

                                                                - */ - ForwardingEnabled: boolean | undefined; - /** *

                                                                The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will publish delivery * notifications.

                                                                @@ -3031,12 +3023,13 @@ export interface IdentityNotificationAttributes { DeliveryTopic: string | undefined; /** - *

                                                                Describes whether Amazon SES includes the original email headers in Amazon SNS notifications of - * type Delivery. A value of true specifies that Amazon SES will - * include headers in delivery notifications, and a value of false specifies - * that Amazon SES will not include headers in delivery notifications.

                                                                + *

                                                                Describes whether Amazon SES will forward bounce and complaint notifications as email. + * true indicates that Amazon SES will forward bounce and complaint + * notifications as email, while false indicates that bounce and complaint + * notifications will be published only to the specified bounce and complaint Amazon SNS + * topics.

                                                                */ - HeadersInDeliveryNotificationsEnabled?: boolean; + ForwardingEnabled: boolean | undefined; /** *

                                                                Describes whether Amazon SES includes the original email headers in Amazon SNS notifications of @@ -3046,12 +3039,6 @@ export interface IdentityNotificationAttributes { */ HeadersInBounceNotificationsEnabled?: boolean; - /** - *

                                                                The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will publish bounce - * notifications.

                                                                - */ - BounceTopic: string | undefined; - /** *

                                                                The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will publish complaint * notifications.

                                                                @@ -3065,6 +3052,20 @@ export interface IdentityNotificationAttributes { * that Amazon SES will not include headers in complaint notifications.

                                                                */ HeadersInComplaintNotificationsEnabled?: boolean; + + /** + *

                                                                Describes whether Amazon SES includes the original email headers in Amazon SNS notifications of + * type Delivery. A value of true specifies that Amazon SES will + * include headers in delivery notifications, and a value of false specifies + * that Amazon SES will not include headers in delivery notifications.

                                                                + */ + HeadersInDeliveryNotificationsEnabled?: boolean; + + /** + *

                                                                The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will publish bounce + * notifications.

                                                                + */ + BounceTopic: string | undefined; } export namespace IdentityNotificationAttributes { @@ -3158,17 +3159,17 @@ export namespace GetIdentityVerificationAttributesRequest { *

                                                                Represents the verification attributes of a single identity.

                                                                */ export interface IdentityVerificationAttributes { - /** - *

                                                                The verification status of the identity: "Pending", "Success", "Failed", or - * "TemporaryFailure".

                                                                - */ - VerificationStatus: VerificationStatus | string | undefined; - /** *

                                                                The verification token for a domain identity. Null for email address * identities.

                                                                */ VerificationToken?: string; + + /** + *

                                                                The verification status of the identity: "Pending", "Success", "Failed", or + * "TemporaryFailure".

                                                                + */ + VerificationStatus: VerificationStatus | string | undefined; } export namespace IdentityVerificationAttributes { @@ -3200,9 +3201,14 @@ export namespace GetIdentityVerificationAttributesResponse { */ export interface GetSendQuotaResponse { /** - *

                                                                The number of emails sent during the previous 24 hours.

                                                                + *

                                                                The maximum number of emails that Amazon SES can accept from the user's account per + * second.

                                                                + * + *

                                                                The rate at which Amazon SES accepts the user's messages might be less than the maximum + * send rate.

                                                                + *
                                                                */ - SentLast24Hours?: number; + MaxSendRate?: number; /** *

                                                                The maximum number of emails the user is allowed to send in a 24-hour interval. A @@ -3211,14 +3217,9 @@ export interface GetSendQuotaResponse { Max24HourSend?: number; /** - *

                                                                The maximum number of emails that Amazon SES can accept from the user's account per - * second.

                                                                - * - *

                                                                The rate at which Amazon SES accepts the user's messages might be less than the maximum - * send rate.

                                                                - *
                                                                + *

                                                                The number of emails sent during the previous 24 hours.

                                                                */ - MaxSendRate?: number; + SentLast24Hours?: number; } export namespace GetSendQuotaResponse { @@ -3233,19 +3234,19 @@ export namespace GetSendQuotaResponse { */ export interface SendDataPoint { /** - *

                                                                Number of emails rejected by Amazon SES.

                                                                + *

                                                                Number of unwanted emails that were rejected by recipients.

                                                                */ - Rejects?: number; + Complaints?: number; /** - *

                                                                Number of emails that have been sent.

                                                                + *

                                                                Number of emails that have bounced.

                                                                */ - DeliveryAttempts?: number; + Bounces?: number; /** - *

                                                                Number of emails that have bounced.

                                                                + *

                                                                Number of emails rejected by Amazon SES.

                                                                */ - Bounces?: number; + Rejects?: number; /** *

                                                                Time of the data point.

                                                                @@ -3253,9 +3254,9 @@ export interface SendDataPoint { Timestamp?: Date; /** - *

                                                                Number of unwanted emails that were rejected by recipients.

                                                                + *

                                                                Number of emails that have been sent.

                                                                */ - Complaints?: number; + DeliveryAttempts?: number; } export namespace SendDataPoint { @@ -3315,8 +3316,8 @@ export namespace GetTemplateResponse { export interface TemplateDoesNotExistException extends __SmithyException, $MetadataBearer { name: "TemplateDoesNotExistException"; $fault: "client"; - TemplateName?: string; message?: string; + TemplateName?: string; } export namespace TemplateDoesNotExistException { @@ -3365,8 +3366,8 @@ export namespace InvalidPolicyException { export interface InvalidRenderingParameterException extends __SmithyException, $MetadataBearer { name: "InvalidRenderingParameterException"; $fault: "client"; - message?: string; TemplateName?: string; + message?: string; } export namespace InvalidRenderingParameterException { @@ -3383,15 +3384,15 @@ export namespace InvalidRenderingParameterException { */ export interface ListConfigurationSetsRequest { /** - *

                                                                A token returned from a previous call to ListConfigurationSets to - * indicate the position of the configuration set in the configuration set list.

                                                                + *

                                                                The number of configuration sets to return.

                                                                */ - NextToken?: string; + MaxItems?: number; /** - *

                                                                The number of configuration sets to return.

                                                                + *

                                                                A token returned from a previous call to ListConfigurationSets to + * indicate the position of the configuration set in the configuration set list.

                                                                */ - MaxItems?: number; + NextToken?: string; } export namespace ListConfigurationSetsRequest { @@ -3485,12 +3486,6 @@ export namespace ListCustomVerificationEmailTemplatesResponse { * status.

                                                                */ export interface ListIdentitiesRequest { - /** - *

                                                                The maximum number of identities per page. Possible values are 1-1000 - * inclusive.

                                                                - */ - MaxItems?: number; - /** *

                                                                The type of the identities to list. Possible values are "EmailAddress" and "Domain". * If this parameter is omitted, then all identities will be listed.

                                                                @@ -3501,6 +3496,12 @@ export interface ListIdentitiesRequest { *

                                                                The token to use for pagination.

                                                                */ NextToken?: string; + + /** + *

                                                                The maximum number of identities per page. Possible values are 1-1000 + * inclusive.

                                                                + */ + MaxItems?: number; } export namespace ListIdentitiesRequest { @@ -3624,18 +3625,18 @@ export namespace ListReceiptRuleSetsRequest { *

                                                                A list of receipt rule sets that exist under your AWS account.

                                                                */ export interface ListReceiptRuleSetsResponse { - /** - *

                                                                The metadata for the currently active receipt rule set. The metadata consists of the - * rule set name and the timestamp of when the rule set was created.

                                                                - */ - RuleSets?: ReceiptRuleSetMetadata[]; - /** *

                                                                A token indicating that there are additional receipt rule sets available to be listed. * Pass this token to successive calls of ListReceiptRuleSets to retrieve up * to 100 receipt rule sets at a time.

                                                                */ NextToken?: string; + + /** + *

                                                                The metadata for the currently active receipt rule set. The metadata consists of the + * rule set name and the timestamp of when the rule set was created.

                                                                + */ + RuleSets?: ReceiptRuleSetMetadata[]; } export namespace ListReceiptRuleSetsResponse { @@ -3645,18 +3646,18 @@ export namespace ListReceiptRuleSetsResponse { } export interface ListTemplatesRequest { - /** - *

                                                                A token returned from a previous call to ListTemplates to indicate the - * position in the list of email templates.

                                                                - */ - NextToken?: string; - /** *

                                                                The maximum number of templates to return. This value must be at least 1 and less than * or equal to 10. If you do not specify a value, or if you specify a value less than 1 or * greater than 10, the operation will return up to 10 results.

                                                                */ MaxItems?: number; + + /** + *

                                                                A token returned from a previous call to ListTemplates to indicate the + * position in the list of email templates.

                                                                + */ + NextToken?: string; } export namespace ListTemplatesRequest { @@ -3747,15 +3748,15 @@ export namespace MailFromDomainNotVerifiedException { */ export interface Message { /** - *

                                                                The subject of the message: A short summary of the content, which will appear in the - * recipient's inbox.

                                                                + *

                                                                The message body.

                                                                */ - Subject: Content | undefined; + Body: Body | undefined; /** - *

                                                                The message body.

                                                                + *

                                                                The subject of the message: A short summary of the content, which will appear in the + * recipient's inbox.

                                                                */ - Body: Body | undefined; + Subject: Content | undefined; } export namespace Message { @@ -3771,6 +3772,11 @@ export namespace Message { * Developer Guide.

                                                                */ export interface MessageDsn { + /** + *

                                                                Additional X-headers to include in the DSN.

                                                                + */ + ExtensionFields?: ExtensionField[]; + /** *

                                                                The reporting MTA that attempted to deliver the message, formatted as specified in * RFC 3464 @@ -3779,11 +3785,6 @@ export interface MessageDsn { */ ReportingMta: string | undefined; - /** - *

                                                                Additional X-headers to include in the DSN.

                                                                - */ - ExtensionFields?: ExtensionField[]; - /** *

                                                                When the message was received by the reporting mail transfer agent (MTA), in RFC 822 date-time format.

                                                                */ @@ -3896,13 +3897,6 @@ export interface PutIdentityPolicyRequest { */ Policy: string | undefined; - /** - *

                                                                The name of the policy.

                                                                - *

                                                                The policy name cannot exceed 64 characters and can only include alphanumeric - * characters, dashes, and underscores.

                                                                - */ - PolicyName: string | undefined; - /** *

                                                                The identity that the policy will apply to. You can specify an identity by using its * name or by using its Amazon Resource Name (ARN). Examples: @@ -3911,6 +3905,13 @@ export interface PutIdentityPolicyRequest { *

                                                                To successfully call this API, you must own the identity.

                                                                */ Identity: string | undefined; + + /** + *

                                                                The name of the policy.

                                                                + *

                                                                The policy name cannot exceed 64 characters and can only include alphanumeric + * characters, dashes, and underscores.

                                                                + */ + PolicyName: string | undefined; } export namespace PutIdentityPolicyRequest { @@ -4000,14 +4001,18 @@ export namespace ReorderReceiptRuleSetResponse { */ export interface SendBounceRequest { /** - *

                                                                The message ID of the message to be bounced.

                                                                + *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity + * that is associated with the sending authorization policy that permits you to use the + * address in the "From" header of the bounce. For more information about sending + * authorization, see the Amazon SES Developer + * Guide.

                                                                */ - OriginalMessageId: string | undefined; + BounceSenderArn?: string; /** - *

                                                                Message-related DSN fields. If not specified, Amazon SES will choose the values.

                                                                + *

                                                                The message ID of the message to be bounced.

                                                                */ - MessageDsn?: MessageDsn; + OriginalMessageId: string | undefined; /** *

                                                                The address to use in the "From" header of the bounce message. This must be an @@ -4016,11 +4021,9 @@ export interface SendBounceRequest { BounceSender: string | undefined; /** - *

                                                                A list of recipients of the bounced message, including the information required to - * create the Delivery Status Notifications (DSNs) for the recipients. You must specify at - * least one BouncedRecipientInfo in the list.

                                                                + *

                                                                Message-related DSN fields. If not specified, Amazon SES will choose the values.

                                                                */ - BouncedRecipientInfoList: BouncedRecipientInfo[] | undefined; + MessageDsn?: MessageDsn; /** *

                                                                Human-readable text for the bounce message to explain the failure. If not specified, @@ -4029,13 +4032,11 @@ export interface SendBounceRequest { Explanation?: string; /** - *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity - * that is associated with the sending authorization policy that permits you to use the - * address in the "From" header of the bounce. For more information about sending - * authorization, see the Amazon SES Developer - * Guide.

                                                                + *

                                                                A list of recipients of the bounced message, including the information required to + * create the Delivery Status Notifications (DSNs) for the recipients. You must specify at + * least one BouncedRecipientInfo in the list.

                                                                */ - BounceSenderArn?: string; + BouncedRecipientInfoList: BouncedRecipientInfo[] | undefined; } export namespace SendBounceRequest { @@ -4066,11 +4067,6 @@ export namespace SendBounceResponse { * Guide.

                                                                */ export interface SendBulkTemplatedEmailRequest { - /** - *

                                                                The ARN of the template to use when sending this email.

                                                                - */ - TemplateArn?: string; - /** *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity * that is associated with the sending authorization policy that permits you to use the @@ -4097,6 +4093,11 @@ export interface SendBulkTemplatedEmailRequest { */ ReturnPath?: string; + /** + *

                                                                The ARN of the template to use when sending this email.

                                                                + */ + TemplateArn?: string; + /** *

                                                                A list of replacement values to apply to the template when replacement data is not * specified in a Destination object. These values act as a default or fallback option when @@ -4107,9 +4108,25 @@ export interface SendBulkTemplatedEmailRequest { DefaultTemplateData?: string; /** - *

                                                                The template to use when sending this email.

                                                                + *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity + * that is associated with the sending authorization policy that permits you to send for + * the email address specified in the Source parameter.

                                                                + *

                                                                For example, if the owner of example.com (which has ARN + * arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a + * policy to it that authorizes you to send from user@example.com, then you + * would specify the SourceArn to be + * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the + * Source to be user@example.com.

                                                                + *

                                                                For more information about sending authorization, see the Amazon SES Developer + * Guide.

                                                                */ - Template: string | undefined; + SourceArn?: string; + + /** + *

                                                                A list of tags, in the form of name/value pairs, to apply to an email that you send to + * a destination using SendBulkTemplatedEmail.

                                                                + */ + DefaultTags?: MessageTag[]; /** *

                                                                The name of the configuration set to use when you send an email using @@ -4131,12 +4148,6 @@ export interface SendBulkTemplatedEmailRequest { */ Destinations: BulkEmailDestination[] | undefined; - /** - *

                                                                A list of tags, in the form of name/value pairs, to apply to an email that you send to - * a destination using SendBulkTemplatedEmail.

                                                                - */ - DefaultTags?: MessageTag[]; - /** *

                                                                The email address that is sending the email. This email address must be either * individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. @@ -4161,19 +4172,9 @@ export interface SendBulkTemplatedEmailRequest { Source: string | undefined; /** - *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity - * that is associated with the sending authorization policy that permits you to send for - * the email address specified in the Source parameter.

                                                                - *

                                                                For example, if the owner of example.com (which has ARN - * arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a - * policy to it that authorizes you to send from user@example.com, then you - * would specify the SourceArn to be - * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the - * Source to be user@example.com.

                                                                - *

                                                                For more information about sending authorization, see the Amazon SES Developer - * Guide.

                                                                + *

                                                                The template to use when sending this email.

                                                                */ - SourceArn?: string; + Template: string | undefined; } export namespace SendBulkTemplatedEmailRequest { @@ -4253,6 +4254,12 @@ export interface SendEmailRequest { */ ReplyToAddresses?: string[]; + /** + *

                                                                The name of the configuration set to use when you send an email using + * SendEmail.

                                                                + */ + ConfigurationSetName?: string; + /** *

                                                                The email address that is sending the email. This email address must be either * individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. @@ -4276,6 +4283,33 @@ export interface SendEmailRequest { */ Source: string | undefined; + /** + *

                                                                A list of tags, in the form of name/value pairs, to apply to an email that you send + * using SendEmail. Tags correspond to characteristics of the email that you + * define, so that you can publish email sending events.

                                                                + */ + Tags?: MessageTag[]; + + /** + *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity + * that is associated with the sending authorization policy that permits you to use the + * email address specified in the ReturnPath parameter.

                                                                + *

                                                                For example, if the owner of example.com (which has ARN + * arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a + * policy to it that authorizes you to use feedback@example.com, then you + * would specify the ReturnPathArn to be + * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the + * ReturnPath to be feedback@example.com.

                                                                + *

                                                                For more information about sending authorization, see the Amazon SES Developer + * Guide.

                                                                + */ + ReturnPathArn?: string; + + /** + *

                                                                The destination for this email, composed of To:, CC:, and BCC: fields.

                                                                + */ + Destination: Destination | undefined; + /** *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity * that is associated with the sending authorization policy that permits you to send for @@ -4292,17 +4326,9 @@ export interface SendEmailRequest { SourceArn?: string; /** - *

                                                                The name of the configuration set to use when you send an email using - * SendEmail.

                                                                - */ - ConfigurationSetName?: string; - - /** - *

                                                                A list of tags, in the form of name/value pairs, to apply to an email that you send - * using SendEmail. Tags correspond to characteristics of the email that you - * define, so that you can publish email sending events.

                                                                + *

                                                                The message to be sent.

                                                                */ - Tags?: MessageTag[]; + Message: Message | undefined; /** *

                                                                The email address that bounces and complaints will be forwarded to when feedback @@ -4314,31 +4340,6 @@ export interface SendEmailRequest { * Amazon SES.

                                                                */ ReturnPath?: string; - - /** - *

                                                                The message to be sent.

                                                                - */ - Message: Message | undefined; - - /** - *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity - * that is associated with the sending authorization policy that permits you to use the - * email address specified in the ReturnPath parameter.

                                                                - *

                                                                For example, if the owner of example.com (which has ARN - * arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a - * policy to it that authorizes you to use feedback@example.com, then you - * would specify the ReturnPathArn to be - * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the - * ReturnPath to be feedback@example.com.

                                                                - *

                                                                For more information about sending authorization, see the Amazon SES Developer - * Guide.

                                                                - */ - ReturnPathArn?: string; - - /** - *

                                                                The destination for this email, composed of To:, CC:, and BCC: fields.

                                                                - */ - Destination: Destination | undefined; } export namespace SendEmailRequest { @@ -4368,27 +4369,6 @@ export namespace SendEmailResponse { * the Amazon SES Developer Guide.

                                                                */ export interface SendRawEmailRequest { - /** - *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity - * that is associated with the sending authorization policy that permits you to send for - * the email address specified in the Source parameter.

                                                                - *

                                                                For example, if the owner of example.com (which has ARN - * arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a - * policy to it that authorizes you to send from user@example.com, then you - * would specify the SourceArn to be - * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the - * Source to be user@example.com.

                                                                - *

                                                                Instead of using this parameter, you can use the X-header - * X-SES-SOURCE-ARN in the raw message of the email. If you use both the - * SourceArn parameter and the corresponding X-header, Amazon SES uses the - * value of the SourceArn parameter.

                                                                - * - *

                                                                For information about when to use this parameter, see the description of - * SendRawEmail in this guide, or see the Amazon SES Developer Guide.

                                                                - *
                                                                - */ - SourceArn?: string; - /** *

                                                                The raw email message itself. The message has to meet the following criteria:

                                                                *
                                                                  @@ -4425,6 +4405,27 @@ export interface SendRawEmailRequest { */ RawMessage: RawMessage | undefined; + /** + *

                                                                  This parameter is used only for sending authorization. It is the ARN of the identity + * that is associated with the sending authorization policy that permits you to send for + * the email address specified in the Source parameter.

                                                                  + *

                                                                  For example, if the owner of example.com (which has ARN + * arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a + * policy to it that authorizes you to send from user@example.com, then you + * would specify the SourceArn to be + * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the + * Source to be user@example.com.

                                                                  + *

                                                                  Instead of using this parameter, you can use the X-header + * X-SES-SOURCE-ARN in the raw message of the email. If you use both the + * SourceArn parameter and the corresponding X-header, Amazon SES uses the + * value of the SourceArn parameter.

                                                                  + * + *

                                                                  For information about when to use this parameter, see the description of + * SendRawEmail in this guide, or see the Amazon SES Developer Guide.

                                                                  + *
                                                                  + */ + SourceArn?: string; + /** *

                                                                  This parameter is used only for sending authorization. It is the ARN of the identity * that is associated with the sending authorization policy that permits you to specify a @@ -4441,10 +4442,32 @@ export interface SendRawEmailRequest { FromArn?: string; /** - *

                                                                  A list of destinations for the message, consisting of To:, CC:, and BCC: - * addresses.

                                                                  + *

                                                                  This parameter is used only for sending authorization. It is the ARN of the identity + * that is associated with the sending authorization policy that permits you to use the + * email address specified in the ReturnPath parameter.

                                                                  + *

                                                                  For example, if the owner of example.com (which has ARN + * arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a + * policy to it that authorizes you to use feedback@example.com, then you + * would specify the ReturnPathArn to be + * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the + * ReturnPath to be feedback@example.com.

                                                                  + *

                                                                  Instead of using this parameter, you can use the X-header + * X-SES-RETURN-PATH-ARN in the raw message of the email. If you use both + * the ReturnPathArn parameter and the corresponding X-header, Amazon SES uses the + * value of the ReturnPathArn parameter.

                                                                  + * + *

                                                                  For information about when to use this parameter, see the description of + * SendRawEmail in this guide, or see the Amazon SES Developer Guide.

                                                                  + *
                                                                  */ - Destinations?: string[]; + ReturnPathArn?: string; + + /** + *

                                                                  A list of tags, in the form of name/value pairs, to apply to an email that you send + * using SendRawEmail. Tags correspond to characteristics of the email that + * you define, so that you can publish email sending events.

                                                                  + */ + Tags?: MessageTag[]; /** *

                                                                  The identity's email address. If you do not provide a value for this parameter, you @@ -4470,39 +4493,17 @@ export interface SendRawEmailRequest { */ Source?: string; - /** - *

                                                                  A list of tags, in the form of name/value pairs, to apply to an email that you send - * using SendRawEmail. Tags correspond to characteristics of the email that - * you define, so that you can publish email sending events.

                                                                  - */ - Tags?: MessageTag[]; - - /** - *

                                                                  This parameter is used only for sending authorization. It is the ARN of the identity - * that is associated with the sending authorization policy that permits you to use the - * email address specified in the ReturnPath parameter.

                                                                  - *

                                                                  For example, if the owner of example.com (which has ARN - * arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a - * policy to it that authorizes you to use feedback@example.com, then you - * would specify the ReturnPathArn to be - * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the - * ReturnPath to be feedback@example.com.

                                                                  - *

                                                                  Instead of using this parameter, you can use the X-header - * X-SES-RETURN-PATH-ARN in the raw message of the email. If you use both - * the ReturnPathArn parameter and the corresponding X-header, Amazon SES uses the - * value of the ReturnPathArn parameter.

                                                                  - * - *

                                                                  For information about when to use this parameter, see the description of - * SendRawEmail in this guide, or see the Amazon SES Developer Guide.

                                                                  - *
                                                                  - */ - ReturnPathArn?: string; - /** *

                                                                  The name of the configuration set to use when you send an email using * SendRawEmail.

                                                                  */ ConfigurationSetName?: string; + + /** + *

                                                                  A list of destinations for the message, consisting of To:, CC:, and BCC: + * addresses.

                                                                  + */ + Destinations?: string[]; } export namespace SendRawEmailRequest { @@ -4564,27 +4565,22 @@ export interface SendTemplatedEmailRequest { Source: string | undefined; /** - *

                                                                  The template to use when sending this email.

                                                                  - */ - Template: string | undefined; - - /** - *

                                                                  The name of the configuration set to use when you send an email using - * SendTemplatedEmail.

                                                                  + *

                                                                  A list of replacement values to apply to the template. This parameter is a JSON + * object, typically consisting of key-value pairs in which the keys correspond to + * replacement tags in the email template.

                                                                  */ - ConfigurationSetName?: string; + TemplateData: string | undefined; /** - *

                                                                  A list of tags, in the form of name/value pairs, to apply to an email that you send - * using SendTemplatedEmail. Tags correspond to characteristics of the email - * that you define, so that you can publish email sending events.

                                                                  + *

                                                                  The template to use when sending this email.

                                                                  */ - Tags?: MessageTag[]; + Template: string | undefined; /** - *

                                                                  The ARN of the template to use when sending this email.

                                                                  + *

                                                                  The destination for this email, composed of To:, CC:, and BCC: fields. A Destination + * can include up to 50 recipients across these three fields.

                                                                  */ - TemplateArn?: string; + Destination: Destination | undefined; /** *

                                                                  This parameter is used only for sending authorization. It is the ARN of the identity @@ -4602,10 +4598,27 @@ export interface SendTemplatedEmailRequest { ReturnPathArn?: string; /** - *

                                                                  The destination for this email, composed of To:, CC:, and BCC: fields. A Destination - * can include up to 50 recipients across these three fields.

                                                                  + *

                                                                  The ARN of the template to use when sending this email.

                                                                  */ - Destination: Destination | undefined; + TemplateArn?: string; + + /** + *

                                                                  A list of tags, in the form of name/value pairs, to apply to an email that you send + * using SendTemplatedEmail. Tags correspond to characteristics of the email + * that you define, so that you can publish email sending events.

                                                                  + */ + Tags?: MessageTag[]; + + /** + *

                                                                  The email address that bounces and complaints will be forwarded to when feedback + * forwarding is enabled. If the message cannot be delivered to the recipient, then an + * error message will be returned from the recipient's ISP; this message will then be + * forwarded to the email address specified by the ReturnPath parameter. The + * ReturnPath parameter is never overwritten. This email address must be + * either individually verified with Amazon SES, or from a domain that has been verified with + * Amazon SES.

                                                                  + */ + ReturnPath?: string; /** *

                                                                  This parameter is used only for sending authorization. It is the ARN of the identity @@ -4623,22 +4636,10 @@ export interface SendTemplatedEmailRequest { SourceArn?: string; /** - *

                                                                  A list of replacement values to apply to the template. This parameter is a JSON - * object, typically consisting of key-value pairs in which the keys correspond to - * replacement tags in the email template.

                                                                  - */ - TemplateData: string | undefined; - - /** - *

                                                                  The email address that bounces and complaints will be forwarded to when feedback - * forwarding is enabled. If the message cannot be delivered to the recipient, then an - * error message will be returned from the recipient's ISP; this message will then be - * forwarded to the email address specified by the ReturnPath parameter. The - * ReturnPath parameter is never overwritten. This email address must be - * either individually verified with Amazon SES, or from a domain that has been verified with - * Amazon SES.

                                                                  + *

                                                                  The name of the configuration set to use when you send an email using + * SendTemplatedEmail.

                                                                  */ - ReturnPath?: string; + ConfigurationSetName?: string; } export namespace SendTemplatedEmailRequest { @@ -4731,12 +4732,6 @@ export namespace SetIdentityDkimEnabledResponse { * Guide.

                                                                  */ export interface SetIdentityFeedbackForwardingEnabledRequest { - /** - *

                                                                  The identity for which to set bounce and complaint notification forwarding. Examples: - * user@example.com, example.com.

                                                                  - */ - Identity: string | undefined; - /** *

                                                                  Sets whether Amazon SES will forward bounce and complaint notifications as email. * true specifies that Amazon SES will forward bounce and complaint @@ -4747,6 +4742,12 @@ export interface SetIdentityFeedbackForwardingEnabledRequest { * notification types.

                                                                  */ ForwardingEnabled: boolean | undefined; + + /** + *

                                                                  The identity for which to set bounce and complaint notification forwarding. Examples: + * user@example.com, example.com.

                                                                  + */ + Identity: string | undefined; } export namespace SetIdentityFeedbackForwardingEnabledRequest { @@ -4774,14 +4775,10 @@ export namespace SetIdentityFeedbackForwardingEnabledResponse { */ export interface SetIdentityHeadersInNotificationsEnabledRequest { /** - *

                                                                  Sets whether Amazon SES includes the original email headers in Amazon SNS notifications of the - * specified notification type. A value of true specifies that Amazon SES will - * include headers in notifications, and a value of false specifies that Amazon SES - * will not include headers in notifications.

                                                                  - *

                                                                  This value can only be set when NotificationType is already set to use a - * particular Amazon SNS topic.

                                                                  + *

                                                                  The identity for which to enable or disable headers in notifications. Examples: + * user@example.com, example.com.

                                                                  */ - Enabled: boolean | undefined; + Identity: string | undefined; /** *

                                                                  The notification type for which to enable or disable headers in notifications.

                                                                  @@ -4789,10 +4786,14 @@ export interface SetIdentityHeadersInNotificationsEnabledRequest { NotificationType: NotificationType | string | undefined; /** - *

                                                                  The identity for which to enable or disable headers in notifications. Examples: - * user@example.com, example.com.

                                                                  + *

                                                                  Sets whether Amazon SES includes the original email headers in Amazon SNS notifications of the + * specified notification type. A value of true specifies that Amazon SES will + * include headers in notifications, and a value of false specifies that Amazon SES + * will not include headers in notifications.

                                                                  + *

                                                                  This value can only be set when NotificationType is already set to use a + * particular Amazon SNS topic.

                                                                  */ - Identity: string | undefined; + Enabled: boolean | undefined; } export namespace SetIdentityHeadersInNotificationsEnabledRequest { @@ -4820,10 +4821,14 @@ export namespace SetIdentityHeadersInNotificationsEnabledResponse { */ export interface SetIdentityMailFromDomainRequest { /** - *

                                                                  The verified identity for which you want to enable or disable the specified custom - * MAIL FROM domain.

                                                                  + *

                                                                  The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM + * domain must 1) be a subdomain of the verified identity, 2) not be used in a "From" + * address if the MAIL FROM domain is the destination of email feedback forwarding (for + * more information, see the Amazon SES Developer Guide), and + * 3) not be used to receive emails. A value of null disables the custom MAIL + * FROM setting for the identity.

                                                                  */ - Identity: string | undefined; + MailFromDomain?: string; /** *

                                                                  The action that you want Amazon SES to take if it cannot successfully read the required MX @@ -4838,14 +4843,10 @@ export interface SetIdentityMailFromDomainRequest { BehaviorOnMXFailure?: BehaviorOnMXFailure | string; /** - *

                                                                  The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM - * domain must 1) be a subdomain of the verified identity, 2) not be used in a "From" - * address if the MAIL FROM domain is the destination of email feedback forwarding (for - * more information, see the Amazon SES Developer Guide), and - * 3) not be used to receive emails. A value of null disables the custom MAIL - * FROM setting for the identity.

                                                                  + *

                                                                  The verified identity for which you want to enable or disable the specified custom + * MAIL FROM domain.

                                                                  */ - MailFromDomain?: string; + Identity: string | undefined; } export namespace SetIdentityMailFromDomainRequest { @@ -4926,14 +4927,14 @@ export interface SetReceiptRulePositionRequest { RuleName: string | undefined; /** - *

                                                                  The name of the receipt rule after which to place the specified receipt rule.

                                                                  + *

                                                                  The name of the receipt rule set that contains the receipt rule to reposition.

                                                                  */ - After?: string; + RuleSetName: string | undefined; /** - *

                                                                  The name of the receipt rule set that contains the receipt rule to reposition.

                                                                  + *

                                                                  The name of the receipt rule after which to place the specified receipt rule.

                                                                  */ - RuleSetName: string | undefined; + After?: string; } export namespace SetReceiptRulePositionRequest { @@ -5012,17 +5013,17 @@ export namespace UpdateAccountSendingEnabledRequest { * Guide.

                                                                  */ export interface UpdateConfigurationSetEventDestinationRequest { - /** - *

                                                                  The event destination object that you want to apply to the specified configuration - * set.

                                                                  - */ - EventDestination: EventDestination | undefined; - /** *

                                                                  The name of the configuration set that contains the event destination that you want to * update.

                                                                  */ ConfigurationSetName: string | undefined; + + /** + *

                                                                  The event destination object that you want to apply to the specified configuration + * set.

                                                                  + */ + EventDestination: EventDestination | undefined; } export namespace UpdateConfigurationSetEventDestinationRequest { @@ -5047,16 +5048,16 @@ export namespace UpdateConfigurationSetEventDestinationResponse { * configuration set.

                                                                  */ export interface UpdateConfigurationSetReputationMetricsEnabledRequest { - /** - *

                                                                  The name of the configuration set that you want to update.

                                                                  - */ - ConfigurationSetName: string | undefined; - /** *

                                                                  Describes whether or not Amazon SES will publish reputation metrics for the configuration * set, such as bounce and complaint rates, to Amazon CloudWatch.

                                                                  */ Enabled: boolean | undefined; + + /** + *

                                                                  The name of the configuration set that you want to update.

                                                                  + */ + ConfigurationSetName: string | undefined; } export namespace UpdateConfigurationSetReputationMetricsEnabledRequest { @@ -5092,6 +5093,12 @@ export namespace UpdateConfigurationSetSendingEnabledRequest { *

                                                                  Represents a request to update the tracking options for a configuration set.

                                                                  */ export interface UpdateConfigurationSetTrackingOptionsRequest { + /** + *

                                                                  The name of the configuration set for which you want to update the custom tracking + * domain.

                                                                  + */ + ConfigurationSetName: string | undefined; + /** *

                                                                  A domain that is used to redirect email recipients to an Amazon SES-operated domain. This * domain captures open and click events generated by Amazon SES emails.

                                                                  @@ -5100,12 +5107,6 @@ export interface UpdateConfigurationSetTrackingOptionsRequest { * Developer Guide.

                                                                  */ TrackingOptions: TrackingOptions | undefined; - - /** - *

                                                                  The name of the configuration set for which you want to update the custom tracking - * domain.

                                                                  - */ - ConfigurationSetName: string | undefined; } export namespace UpdateConfigurationSetTrackingOptionsRequest { @@ -5130,12 +5131,9 @@ export namespace UpdateConfigurationSetTrackingOptionsResponse { */ export interface UpdateCustomVerificationEmailTemplateRequest { /** - *

                                                                  The content of the custom verification email. The total size of the email must be less - * than 10 MB. The message body may contain HTML, with some limitations. For more - * information, see Custom Verification Email Frequently Asked Questions in the Amazon SES - * Developer Guide.

                                                                  + *

                                                                  The name of the custom verification email template that you want to update.

                                                                  */ - TemplateContent?: string; + TemplateName: string | undefined; /** *

                                                                  The subject line of the custom verification email.

                                                                  @@ -5144,9 +5142,9 @@ export interface UpdateCustomVerificationEmailTemplateRequest { /** *

                                                                  The URL that the recipient of the verification email is sent to if his or her address - * is successfully verified.

                                                                  + * is not successfully verified.

                                                                  */ - SuccessRedirectionURL?: string; + FailureRedirectionURL?: string; /** *

                                                                  The email address that the custom verification email is sent from.

                                                                  @@ -5155,14 +5153,17 @@ export interface UpdateCustomVerificationEmailTemplateRequest { /** *

                                                                  The URL that the recipient of the verification email is sent to if his or her address - * is not successfully verified.

                                                                  + * is successfully verified.

                                                                  */ - FailureRedirectionURL?: string; + SuccessRedirectionURL?: string; /** - *

                                                                  The name of the custom verification email template that you want to update.

                                                                  + *

                                                                  The content of the custom verification email. The total size of the email must be less + * than 10 MB. The message body may contain HTML, with some limitations. For more + * information, see Custom Verification Email Frequently Asked Questions in the Amazon SES + * Developer Guide.

                                                                  */ - TemplateName: string | undefined; + TemplateContent?: string; } export namespace UpdateCustomVerificationEmailTemplateRequest { @@ -5178,14 +5179,14 @@ export namespace UpdateCustomVerificationEmailTemplateRequest { */ export interface UpdateReceiptRuleRequest { /** - *

                                                                  The name of the receipt rule set that the receipt rule belongs to.

                                                                  + *

                                                                  A data structure that contains the updated receipt rule information.

                                                                  */ - RuleSetName: string | undefined; + Rule: ReceiptRule | undefined; /** - *

                                                                  A data structure that contains the updated receipt rule information.

                                                                  + *

                                                                  The name of the receipt rule set that the receipt rule belongs to.

                                                                  */ - Rule: ReceiptRule | undefined; + RuleSetName: string | undefined; } export namespace UpdateReceiptRuleRequest { diff --git a/clients/client-ses/protocols/Aws_query.ts b/clients/client-ses/protocols/Aws_query.ts index 73a7e801fdf9..e832f2f5b45a 100644 --- a/clients/client-ses/protocols/Aws_query.ts +++ b/clients/client-ses/protocols/Aws_query.ts @@ -6255,17 +6255,17 @@ const serializeAws_queryAddressList = (input: string[], context: __SerdeContext) const serializeAws_queryBody = (input: Body, context: __SerdeContext): any => { const entries: any = {}; - if (input.Text !== undefined) { - const memberEntries = serializeAws_queryContent(input.Text, context); + if (input.Html !== undefined) { + const memberEntries = serializeAws_queryContent(input.Html, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Text.${key}`; + const loc = `Html.${key}`; entries[loc] = value; }); } - if (input.Html !== undefined) { - const memberEntries = serializeAws_queryContent(input.Html, context); + if (input.Text !== undefined) { + const memberEntries = serializeAws_queryContent(input.Text, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Html.${key}`; + const loc = `Text.${key}`; entries[loc] = value; }); } @@ -6277,17 +6277,17 @@ const serializeAws_queryBounceAction = (input: BounceAction, context: __SerdeCon if (input.SmtpReplyCode !== undefined) { entries["SmtpReplyCode"] = input.SmtpReplyCode; } - if (input.Message !== undefined) { - entries["Message"] = input.Message; - } if (input.Sender !== undefined) { entries["Sender"] = input.Sender; } + if (input.StatusCode !== undefined) { + entries["StatusCode"] = input.StatusCode; + } if (input.TopicArn !== undefined) { entries["TopicArn"] = input.TopicArn; } - if (input.StatusCode !== undefined) { - entries["StatusCode"] = input.StatusCode; + if (input.Message !== undefined) { + entries["Message"] = input.Message; } return entries; }; @@ -6297,9 +6297,6 @@ const serializeAws_queryBouncedRecipientInfo = (input: BouncedRecipientInfo, con if (input.RecipientArn !== undefined) { entries["RecipientArn"] = input.RecipientArn; } - if (input.Recipient !== undefined) { - entries["Recipient"] = input.Recipient; - } if (input.BounceType !== undefined) { entries["BounceType"] = input.BounceType; } @@ -6310,6 +6307,9 @@ const serializeAws_queryBouncedRecipientInfo = (input: BouncedRecipientInfo, con entries[loc] = value; }); } + if (input.Recipient !== undefined) { + entries["Recipient"] = input.Recipient; + } return entries; }; @@ -6328,8 +6328,12 @@ const serializeAws_queryBouncedRecipientInfoList = (input: BouncedRecipientInfo[ const serializeAws_queryBulkEmailDestination = (input: BulkEmailDestination, context: __SerdeContext): any => { const entries: any = {}; - if (input.ReplacementTemplateData !== undefined) { - entries["ReplacementTemplateData"] = input.ReplacementTemplateData; + if (input.ReplacementTags !== undefined) { + const memberEntries = serializeAws_queryMessageTagList(input.ReplacementTags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ReplacementTags.${key}`; + entries[loc] = value; + }); } if (input.Destination !== undefined) { const memberEntries = serializeAws_queryDestination(input.Destination, context); @@ -6338,12 +6342,8 @@ const serializeAws_queryBulkEmailDestination = (input: BulkEmailDestination, con entries[loc] = value; }); } - if (input.ReplacementTags !== undefined) { - const memberEntries = serializeAws_queryMessageTagList(input.ReplacementTags, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ReplacementTags.${key}`; - entries[loc] = value; - }); + if (input.ReplacementTemplateData !== undefined) { + entries["ReplacementTemplateData"] = input.ReplacementTemplateData; } return entries; }; @@ -6395,12 +6395,12 @@ const serializeAws_queryCloudWatchDimensionConfiguration = ( if (input.DefaultDimensionValue !== undefined) { entries["DefaultDimensionValue"] = input.DefaultDimensionValue; } - if (input.DimensionValueSource !== undefined) { - entries["DimensionValueSource"] = input.DimensionValueSource; - } if (input.DimensionName !== undefined) { entries["DimensionName"] = input.DimensionName; } + if (input.DimensionValueSource !== undefined) { + entries["DimensionValueSource"] = input.DimensionValueSource; + } return entries; }; @@ -6457,6 +6457,9 @@ const serializeAws_queryCreateConfigurationSetEventDestinationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ConfigurationSetName !== undefined) { + entries["ConfigurationSetName"] = input.ConfigurationSetName; + } if (input.EventDestination !== undefined) { const memberEntries = serializeAws_queryEventDestination(input.EventDestination, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6464,9 +6467,6 @@ const serializeAws_queryCreateConfigurationSetEventDestinationRequest = ( entries[loc] = value; }); } - if (input.ConfigurationSetName !== undefined) { - entries["ConfigurationSetName"] = input.ConfigurationSetName; - } return entries; }; @@ -6508,24 +6508,24 @@ const serializeAws_queryCreateCustomVerificationEmailTemplateRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TemplateContent !== undefined) { - entries["TemplateContent"] = input.TemplateContent; - } if (input.TemplateSubject !== undefined) { entries["TemplateSubject"] = input.TemplateSubject; } + if (input.TemplateContent !== undefined) { + entries["TemplateContent"] = input.TemplateContent; + } if (input.FailureRedirectionURL !== undefined) { entries["FailureRedirectionURL"] = input.FailureRedirectionURL; } - if (input.TemplateName !== undefined) { - entries["TemplateName"] = input.TemplateName; - } if (input.FromEmailAddress !== undefined) { entries["FromEmailAddress"] = input.FromEmailAddress; } if (input.SuccessRedirectionURL !== undefined) { entries["SuccessRedirectionURL"] = input.SuccessRedirectionURL; } + if (input.TemplateName !== undefined) { + entries["TemplateName"] = input.TemplateName; + } return entries; }; @@ -6549,6 +6549,9 @@ const serializeAws_queryCreateReceiptRuleRequest = (input: CreateReceiptRuleRequ if (input.After !== undefined) { entries["After"] = input.After; } + if (input.RuleSetName !== undefined) { + entries["RuleSetName"] = input.RuleSetName; + } if (input.Rule !== undefined) { const memberEntries = serializeAws_queryReceiptRule(input.Rule, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -6556,9 +6559,6 @@ const serializeAws_queryCreateReceiptRuleRequest = (input: CreateReceiptRuleRequ entries[loc] = value; }); } - if (input.RuleSetName !== undefined) { - entries["RuleSetName"] = input.RuleSetName; - } return entries; }; @@ -6748,12 +6748,12 @@ const serializeAws_queryDescribeReceiptRuleRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RuleName !== undefined) { - entries["RuleName"] = input.RuleName; - } if (input.RuleSetName !== undefined) { entries["RuleSetName"] = input.RuleSetName; } + if (input.RuleName !== undefined) { + entries["RuleName"] = input.RuleName; + } return entries; }; @@ -6770,17 +6770,17 @@ const serializeAws_queryDescribeReceiptRuleSetRequest = ( const serializeAws_queryDestination = (input: Destination, context: __SerdeContext): any => { const entries: any = {}; - if (input.CcAddresses !== undefined) { - const memberEntries = serializeAws_queryAddressList(input.CcAddresses, context); + if (input.ToAddresses !== undefined) { + const memberEntries = serializeAws_queryAddressList(input.ToAddresses, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `CcAddresses.${key}`; + const loc = `ToAddresses.${key}`; entries[loc] = value; }); } - if (input.ToAddresses !== undefined) { - const memberEntries = serializeAws_queryAddressList(input.ToAddresses, context); + if (input.CcAddresses !== undefined) { + const memberEntries = serializeAws_queryAddressList(input.CcAddresses, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ToAddresses.${key}`; + const loc = `CcAddresses.${key}`; entries[loc] = value; }); } @@ -6803,18 +6803,15 @@ const serializeAws_queryEventDestination = (input: EventDestination, context: __ entries[loc] = value; }); } - if (input.KinesisFirehoseDestination !== undefined) { - const memberEntries = serializeAws_queryKinesisFirehoseDestination(input.KinesisFirehoseDestination, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `KinesisFirehoseDestination.${key}`; - entries[loc] = value; - }); - } if (input.Enabled !== undefined) { entries["Enabled"] = input.Enabled; } - if (input.Name !== undefined) { - entries["Name"] = input.Name; + if (input.SNSDestination !== undefined) { + const memberEntries = serializeAws_querySNSDestination(input.SNSDestination, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SNSDestination.${key}`; + entries[loc] = value; + }); } if (input.MatchingEventTypes !== undefined) { const memberEntries = serializeAws_queryEventTypes(input.MatchingEventTypes, context); @@ -6823,10 +6820,13 @@ const serializeAws_queryEventDestination = (input: EventDestination, context: __ entries[loc] = value; }); } - if (input.SNSDestination !== undefined) { - const memberEntries = serializeAws_querySNSDestination(input.SNSDestination, context); + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } + if (input.KinesisFirehoseDestination !== undefined) { + const memberEntries = serializeAws_queryKinesisFirehoseDestination(input.KinesisFirehoseDestination, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SNSDestination.${key}`; + const loc = `KinesisFirehoseDestination.${key}`; entries[loc] = value; }); } @@ -6845,12 +6845,12 @@ const serializeAws_queryEventTypes = (input: (EventType | string)[], context: __ const serializeAws_queryExtensionField = (input: ExtensionField, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Name !== undefined) { entries["Name"] = input.Name; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -7007,12 +7007,12 @@ const serializeAws_queryListConfigurationSetsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -7032,15 +7032,15 @@ const serializeAws_queryListCustomVerificationEmailTemplatesRequest = ( const serializeAws_queryListIdentitiesRequest = (input: ListIdentitiesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MaxItems !== undefined) { - entries["MaxItems"] = input.MaxItems; - } if (input.IdentityType !== undefined) { entries["IdentityType"] = input.IdentityType; } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.MaxItems !== undefined) { + entries["MaxItems"] = input.MaxItems; + } return entries; }; @@ -7076,28 +7076,28 @@ const serializeAws_queryListReceiptRuleSetsRequest = ( const serializeAws_queryListTemplatesRequest = (input: ListTemplatesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.MaxItems !== undefined) { entries["MaxItems"] = input.MaxItems; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; const serializeAws_queryMessage = (input: Message, context: __SerdeContext): any => { const entries: any = {}; - if (input.Subject !== undefined) { - const memberEntries = serializeAws_queryContent(input.Subject, context); + if (input.Body !== undefined) { + const memberEntries = serializeAws_queryBody(input.Body, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Subject.${key}`; + const loc = `Body.${key}`; entries[loc] = value; }); } - if (input.Body !== undefined) { - const memberEntries = serializeAws_queryBody(input.Body, context); + if (input.Subject !== undefined) { + const memberEntries = serializeAws_queryContent(input.Subject, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Body.${key}`; + const loc = `Subject.${key}`; entries[loc] = value; }); } @@ -7106,9 +7106,6 @@ const serializeAws_queryMessage = (input: Message, context: __SerdeContext): any const serializeAws_queryMessageDsn = (input: MessageDsn, context: __SerdeContext): any => { const entries: any = {}; - if (input.ReportingMta !== undefined) { - entries["ReportingMta"] = input.ReportingMta; - } if (input.ExtensionFields !== undefined) { const memberEntries = serializeAws_queryExtensionFieldList(input.ExtensionFields, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7116,6 +7113,9 @@ const serializeAws_queryMessageDsn = (input: MessageDsn, context: __SerdeContext entries[loc] = value; }); } + if (input.ReportingMta !== undefined) { + entries["ReportingMta"] = input.ReportingMta; + } if (input.ArrivalDate !== undefined) { entries["ArrivalDate"] = input.ArrivalDate.toISOString().split(".")[0] + "Z"; } @@ -7179,12 +7179,12 @@ const serializeAws_queryPutIdentityPolicyRequest = (input: PutIdentityPolicyRequ if (input.Policy !== undefined) { entries["Policy"] = input.Policy; } - if (input.PolicyName !== undefined) { - entries["PolicyName"] = input.PolicyName; - } if (input.Identity !== undefined) { entries["Identity"] = input.Identity; } + if (input.PolicyName !== undefined) { + entries["PolicyName"] = input.PolicyName; + } return entries; }; @@ -7198,24 +7198,24 @@ const serializeAws_queryRawMessage = (input: RawMessage, context: __SerdeContext const serializeAws_queryReceiptAction = (input: ReceiptAction, context: __SerdeContext): any => { const entries: any = {}; - if (input.WorkmailAction !== undefined) { - const memberEntries = serializeAws_queryWorkmailAction(input.WorkmailAction, context); + if (input.StopAction !== undefined) { + const memberEntries = serializeAws_queryStopAction(input.StopAction, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `WorkmailAction.${key}`; + const loc = `StopAction.${key}`; entries[loc] = value; }); } - if (input.SNSAction !== undefined) { - const memberEntries = serializeAws_querySNSAction(input.SNSAction, context); + if (input.S3Action !== undefined) { + const memberEntries = serializeAws_queryS3Action(input.S3Action, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `SNSAction.${key}`; + const loc = `S3Action.${key}`; entries[loc] = value; }); } - if (input.AddHeaderAction !== undefined) { - const memberEntries = serializeAws_queryAddHeaderAction(input.AddHeaderAction, context); + if (input.BounceAction !== undefined) { + const memberEntries = serializeAws_queryBounceAction(input.BounceAction, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AddHeaderAction.${key}`; + const loc = `BounceAction.${key}`; entries[loc] = value; }); } @@ -7226,24 +7226,24 @@ const serializeAws_queryReceiptAction = (input: ReceiptAction, context: __SerdeC entries[loc] = value; }); } - if (input.S3Action !== undefined) { - const memberEntries = serializeAws_queryS3Action(input.S3Action, context); + if (input.AddHeaderAction !== undefined) { + const memberEntries = serializeAws_queryAddHeaderAction(input.AddHeaderAction, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `S3Action.${key}`; + const loc = `AddHeaderAction.${key}`; entries[loc] = value; }); } - if (input.StopAction !== undefined) { - const memberEntries = serializeAws_queryStopAction(input.StopAction, context); + if (input.SNSAction !== undefined) { + const memberEntries = serializeAws_querySNSAction(input.SNSAction, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `StopAction.${key}`; + const loc = `SNSAction.${key}`; entries[loc] = value; }); } - if (input.BounceAction !== undefined) { - const memberEntries = serializeAws_queryBounceAction(input.BounceAction, context); + if (input.WorkmailAction !== undefined) { + const memberEntries = serializeAws_queryWorkmailAction(input.WorkmailAction, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `BounceAction.${key}`; + const loc = `WorkmailAction.${key}`; entries[loc] = value; }); } @@ -7280,17 +7280,20 @@ const serializeAws_queryReceiptFilter = (input: ReceiptFilter, context: __SerdeC const serializeAws_queryReceiptIpFilter = (input: ReceiptIpFilter, context: __SerdeContext): any => { const entries: any = {}; - if (input.Cidr !== undefined) { - entries["Cidr"] = input.Cidr; - } if (input.Policy !== undefined) { entries["Policy"] = input.Policy; } + if (input.Cidr !== undefined) { + entries["Cidr"] = input.Cidr; + } return entries; }; const serializeAws_queryReceiptRule = (input: ReceiptRule, context: __SerdeContext): any => { const entries: any = {}; + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } if (input.Actions !== undefined) { const memberEntries = serializeAws_queryReceiptActionsList(input.Actions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7298,6 +7301,9 @@ const serializeAws_queryReceiptRule = (input: ReceiptRule, context: __SerdeConte entries[loc] = value; }); } + if (input.TlsPolicy !== undefined) { + entries["TlsPolicy"] = input.TlsPolicy; + } if (input.Enabled !== undefined) { entries["Enabled"] = input.Enabled; } @@ -7311,12 +7317,6 @@ const serializeAws_queryReceiptRule = (input: ReceiptRule, context: __SerdeConte entries[loc] = value; }); } - if (input.TlsPolicy !== undefined) { - entries["TlsPolicy"] = input.TlsPolicy; - } - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } return entries; }; @@ -7335,14 +7335,20 @@ const serializeAws_queryRecipientDsnFields = (input: RecipientDsnFields, context if (input.LastAttemptDate !== undefined) { entries["LastAttemptDate"] = input.LastAttemptDate.toISOString().split(".")[0] + "Z"; } - if (input.Status !== undefined) { - entries["Status"] = input.Status; + if (input.DiagnosticCode !== undefined) { + entries["DiagnosticCode"] = input.DiagnosticCode; } if (input.FinalRecipient !== undefined) { entries["FinalRecipient"] = input.FinalRecipient; } - if (input.DiagnosticCode !== undefined) { - entries["DiagnosticCode"] = input.DiagnosticCode; + if (input.Action !== undefined) { + entries["Action"] = input.Action; + } + if (input.RemoteMta !== undefined) { + entries["RemoteMta"] = input.RemoteMta; + } + if (input.Status !== undefined) { + entries["Status"] = input.Status; } if (input.ExtensionFields !== undefined) { const memberEntries = serializeAws_queryExtensionFieldList(input.ExtensionFields, context); @@ -7351,12 +7357,6 @@ const serializeAws_queryRecipientDsnFields = (input: RecipientDsnFields, context entries[loc] = value; }); } - if (input.RemoteMta !== undefined) { - entries["RemoteMta"] = input.RemoteMta; - } - if (input.Action !== undefined) { - entries["Action"] = input.Action; - } return entries; }; @@ -7393,23 +7393,29 @@ const serializeAws_queryS3Action = (input: S3Action, context: __SerdeContext): a if (input.BucketName !== undefined) { entries["BucketName"] = input.BucketName; } - if (input.KmsKeyArn !== undefined) { - entries["KmsKeyArn"] = input.KmsKeyArn; + if (input.ObjectKeyPrefix !== undefined) { + entries["ObjectKeyPrefix"] = input.ObjectKeyPrefix; } if (input.TopicArn !== undefined) { entries["TopicArn"] = input.TopicArn; } - if (input.ObjectKeyPrefix !== undefined) { - entries["ObjectKeyPrefix"] = input.ObjectKeyPrefix; + if (input.KmsKeyArn !== undefined) { + entries["KmsKeyArn"] = input.KmsKeyArn; } return entries; }; const serializeAws_querySendBounceRequest = (input: SendBounceRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.BounceSenderArn !== undefined) { + entries["BounceSenderArn"] = input.BounceSenderArn; + } if (input.OriginalMessageId !== undefined) { entries["OriginalMessageId"] = input.OriginalMessageId; } + if (input.BounceSender !== undefined) { + entries["BounceSender"] = input.BounceSender; + } if (input.MessageDsn !== undefined) { const memberEntries = serializeAws_queryMessageDsn(input.MessageDsn, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7417,8 +7423,8 @@ const serializeAws_querySendBounceRequest = (input: SendBounceRequest, context: entries[loc] = value; }); } - if (input.BounceSender !== undefined) { - entries["BounceSender"] = input.BounceSender; + if (input.Explanation !== undefined) { + entries["Explanation"] = input.Explanation; } if (input.BouncedRecipientInfoList !== undefined) { const memberEntries = serializeAws_queryBouncedRecipientInfoList(input.BouncedRecipientInfoList, context); @@ -7427,12 +7433,6 @@ const serializeAws_querySendBounceRequest = (input: SendBounceRequest, context: entries[loc] = value; }); } - if (input.Explanation !== undefined) { - entries["Explanation"] = input.Explanation; - } - if (input.BounceSenderArn !== undefined) { - entries["BounceSenderArn"] = input.BounceSenderArn; - } return entries; }; @@ -7441,20 +7441,27 @@ const serializeAws_querySendBulkTemplatedEmailRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TemplateArn !== undefined) { - entries["TemplateArn"] = input.TemplateArn; - } if (input.ReturnPathArn !== undefined) { entries["ReturnPathArn"] = input.ReturnPathArn; } if (input.ReturnPath !== undefined) { entries["ReturnPath"] = input.ReturnPath; } + if (input.TemplateArn !== undefined) { + entries["TemplateArn"] = input.TemplateArn; + } if (input.DefaultTemplateData !== undefined) { entries["DefaultTemplateData"] = input.DefaultTemplateData; } - if (input.Template !== undefined) { - entries["Template"] = input.Template; + if (input.SourceArn !== undefined) { + entries["SourceArn"] = input.SourceArn; + } + if (input.DefaultTags !== undefined) { + const memberEntries = serializeAws_queryMessageTagList(input.DefaultTags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `DefaultTags.${key}`; + entries[loc] = value; + }); } if (input.ConfigurationSetName !== undefined) { entries["ConfigurationSetName"] = input.ConfigurationSetName; @@ -7473,18 +7480,11 @@ const serializeAws_querySendBulkTemplatedEmailRequest = ( entries[loc] = value; }); } - if (input.DefaultTags !== undefined) { - const memberEntries = serializeAws_queryMessageTagList(input.DefaultTags, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `DefaultTags.${key}`; - entries[loc] = value; - }); - } if (input.Source !== undefined) { entries["Source"] = input.Source; } - if (input.SourceArn !== undefined) { - entries["SourceArn"] = input.SourceArn; + if (input.Template !== undefined) { + entries["Template"] = input.Template; } return entries; }; @@ -7515,15 +7515,12 @@ const serializeAws_querySendEmailRequest = (input: SendEmailRequest, context: __ entries[loc] = value; }); } - if (input.Source !== undefined) { - entries["Source"] = input.Source; - } - if (input.SourceArn !== undefined) { - entries["SourceArn"] = input.SourceArn; - } if (input.ConfigurationSetName !== undefined) { entries["ConfigurationSetName"] = input.ConfigurationSetName; } + if (input.Source !== undefined) { + entries["Source"] = input.Source; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryMessageTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7531,16 +7528,6 @@ const serializeAws_querySendEmailRequest = (input: SendEmailRequest, context: __ entries[loc] = value; }); } - if (input.ReturnPath !== undefined) { - entries["ReturnPath"] = input.ReturnPath; - } - if (input.Message !== undefined) { - const memberEntries = serializeAws_queryMessage(input.Message, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Message.${key}`; - entries[loc] = value; - }); - } if (input.ReturnPathArn !== undefined) { entries["ReturnPathArn"] = input.ReturnPathArn; } @@ -7551,14 +7538,24 @@ const serializeAws_querySendEmailRequest = (input: SendEmailRequest, context: __ entries[loc] = value; }); } + if (input.SourceArn !== undefined) { + entries["SourceArn"] = input.SourceArn; + } + if (input.Message !== undefined) { + const memberEntries = serializeAws_queryMessage(input.Message, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Message.${key}`; + entries[loc] = value; + }); + } + if (input.ReturnPath !== undefined) { + entries["ReturnPath"] = input.ReturnPath; + } return entries; }; const serializeAws_querySendRawEmailRequest = (input: SendRawEmailRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.SourceArn !== undefined) { - entries["SourceArn"] = input.SourceArn; - } if (input.RawMessage !== undefined) { const memberEntries = serializeAws_queryRawMessage(input.RawMessage, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7566,18 +7563,14 @@ const serializeAws_querySendRawEmailRequest = (input: SendRawEmailRequest, conte entries[loc] = value; }); } + if (input.SourceArn !== undefined) { + entries["SourceArn"] = input.SourceArn; + } if (input.FromArn !== undefined) { entries["FromArn"] = input.FromArn; } - if (input.Destinations !== undefined) { - const memberEntries = serializeAws_queryAddressList(input.Destinations, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Destinations.${key}`; - entries[loc] = value; - }); - } - if (input.Source !== undefined) { - entries["Source"] = input.Source; + if (input.ReturnPathArn !== undefined) { + entries["ReturnPathArn"] = input.ReturnPathArn; } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryMessageTagList(input.Tags, context); @@ -7586,12 +7579,19 @@ const serializeAws_querySendRawEmailRequest = (input: SendRawEmailRequest, conte entries[loc] = value; }); } - if (input.ReturnPathArn !== undefined) { - entries["ReturnPathArn"] = input.ReturnPathArn; + if (input.Source !== undefined) { + entries["Source"] = input.Source; } if (input.ConfigurationSetName !== undefined) { entries["ConfigurationSetName"] = input.ConfigurationSetName; } + if (input.Destinations !== undefined) { + const memberEntries = serializeAws_queryAddressList(input.Destinations, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Destinations.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -7610,40 +7610,40 @@ const serializeAws_querySendTemplatedEmailRequest = ( if (input.Source !== undefined) { entries["Source"] = input.Source; } + if (input.TemplateData !== undefined) { + entries["TemplateData"] = input.TemplateData; + } if (input.Template !== undefined) { entries["Template"] = input.Template; } - if (input.ConfigurationSetName !== undefined) { - entries["ConfigurationSetName"] = input.ConfigurationSetName; - } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_queryMessageTagList(input.Tags, context); + if (input.Destination !== undefined) { + const memberEntries = serializeAws_queryDestination(input.Destination, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; + const loc = `Destination.${key}`; entries[loc] = value; }); } - if (input.TemplateArn !== undefined) { - entries["TemplateArn"] = input.TemplateArn; - } if (input.ReturnPathArn !== undefined) { entries["ReturnPathArn"] = input.ReturnPathArn; } - if (input.Destination !== undefined) { - const memberEntries = serializeAws_queryDestination(input.Destination, context); + if (input.TemplateArn !== undefined) { + entries["TemplateArn"] = input.TemplateArn; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_queryMessageTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Destination.${key}`; + const loc = `Tags.${key}`; entries[loc] = value; }); } + if (input.ReturnPath !== undefined) { + entries["ReturnPath"] = input.ReturnPath; + } if (input.SourceArn !== undefined) { entries["SourceArn"] = input.SourceArn; } - if (input.TemplateData !== undefined) { - entries["TemplateData"] = input.TemplateData; - } - if (input.ReturnPath !== undefined) { - entries["ReturnPath"] = input.ReturnPath; + if (input.ConfigurationSetName !== undefined) { + entries["ConfigurationSetName"] = input.ConfigurationSetName; } return entries; }; @@ -7678,12 +7678,12 @@ const serializeAws_querySetIdentityFeedbackForwardingEnabledRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Identity !== undefined) { - entries["Identity"] = input.Identity; - } if (input.ForwardingEnabled !== undefined) { entries["ForwardingEnabled"] = input.ForwardingEnabled; } + if (input.Identity !== undefined) { + entries["Identity"] = input.Identity; + } return entries; }; @@ -7692,14 +7692,14 @@ const serializeAws_querySetIdentityHeadersInNotificationsEnabledRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Enabled !== undefined) { - entries["Enabled"] = input.Enabled; + if (input.Identity !== undefined) { + entries["Identity"] = input.Identity; } if (input.NotificationType !== undefined) { entries["NotificationType"] = input.NotificationType; } - if (input.Identity !== undefined) { - entries["Identity"] = input.Identity; + if (input.Enabled !== undefined) { + entries["Enabled"] = input.Enabled; } return entries; }; @@ -7709,14 +7709,14 @@ const serializeAws_querySetIdentityMailFromDomainRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Identity !== undefined) { - entries["Identity"] = input.Identity; + if (input.MailFromDomain !== undefined) { + entries["MailFromDomain"] = input.MailFromDomain; } if (input.BehaviorOnMXFailure !== undefined) { entries["BehaviorOnMXFailure"] = input.BehaviorOnMXFailure; } - if (input.MailFromDomain !== undefined) { - entries["MailFromDomain"] = input.MailFromDomain; + if (input.Identity !== undefined) { + entries["Identity"] = input.Identity; } return entries; }; @@ -7746,23 +7746,23 @@ const serializeAws_querySetReceiptRulePositionRequest = ( if (input.RuleName !== undefined) { entries["RuleName"] = input.RuleName; } - if (input.After !== undefined) { - entries["After"] = input.After; - } if (input.RuleSetName !== undefined) { entries["RuleSetName"] = input.RuleSetName; } + if (input.After !== undefined) { + entries["After"] = input.After; + } return entries; }; const serializeAws_querySNSAction = (input: SNSAction, context: __SerdeContext): any => { const entries: any = {}; - if (input.TopicArn !== undefined) { - entries["TopicArn"] = input.TopicArn; - } if (input.Encoding !== undefined) { entries["Encoding"] = input.Encoding; } + if (input.TopicArn !== undefined) { + entries["TopicArn"] = input.TopicArn; + } return entries; }; @@ -7776,29 +7776,29 @@ const serializeAws_querySNSDestination = (input: SNSDestination, context: __Serd const serializeAws_queryStopAction = (input: StopAction, context: __SerdeContext): any => { const entries: any = {}; - if (input.Scope !== undefined) { - entries["Scope"] = input.Scope; - } if (input.TopicArn !== undefined) { entries["TopicArn"] = input.TopicArn; } + if (input.Scope !== undefined) { + entries["Scope"] = input.Scope; + } return entries; }; const serializeAws_queryTemplate = (input: Template, context: __SerdeContext): any => { const entries: any = {}; - if (input.HtmlPart !== undefined) { - entries["HtmlPart"] = input.HtmlPart; + if (input.TextPart !== undefined) { + entries["TextPart"] = input.TextPart; } if (input.SubjectPart !== undefined) { entries["SubjectPart"] = input.SubjectPart; } - if (input.TextPart !== undefined) { - entries["TextPart"] = input.TextPart; - } if (input.TemplateName !== undefined) { entries["TemplateName"] = input.TemplateName; } + if (input.HtmlPart !== undefined) { + entries["HtmlPart"] = input.HtmlPart; + } return entries; }; @@ -7840,6 +7840,9 @@ const serializeAws_queryUpdateConfigurationSetEventDestinationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ConfigurationSetName !== undefined) { + entries["ConfigurationSetName"] = input.ConfigurationSetName; + } if (input.EventDestination !== undefined) { const memberEntries = serializeAws_queryEventDestination(input.EventDestination, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7847,9 +7850,6 @@ const serializeAws_queryUpdateConfigurationSetEventDestinationRequest = ( entries[loc] = value; }); } - if (input.ConfigurationSetName !== undefined) { - entries["ConfigurationSetName"] = input.ConfigurationSetName; - } return entries; }; @@ -7858,12 +7858,12 @@ const serializeAws_queryUpdateConfigurationSetReputationMetricsEnabledRequest = context: __SerdeContext ): any => { const entries: any = {}; - if (input.ConfigurationSetName !== undefined) { - entries["ConfigurationSetName"] = input.ConfigurationSetName; - } if (input.Enabled !== undefined) { entries["Enabled"] = input.Enabled; } + if (input.ConfigurationSetName !== undefined) { + entries["ConfigurationSetName"] = input.ConfigurationSetName; + } return entries; }; @@ -7886,6 +7886,9 @@ const serializeAws_queryUpdateConfigurationSetTrackingOptionsRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.ConfigurationSetName !== undefined) { + entries["ConfigurationSetName"] = input.ConfigurationSetName; + } if (input.TrackingOptions !== undefined) { const memberEntries = serializeAws_queryTrackingOptions(input.TrackingOptions, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7893,9 +7896,6 @@ const serializeAws_queryUpdateConfigurationSetTrackingOptionsRequest = ( entries[loc] = value; }); } - if (input.ConfigurationSetName !== undefined) { - entries["ConfigurationSetName"] = input.ConfigurationSetName; - } return entries; }; @@ -7904,32 +7904,29 @@ const serializeAws_queryUpdateCustomVerificationEmailTemplateRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.TemplateContent !== undefined) { - entries["TemplateContent"] = input.TemplateContent; + if (input.TemplateName !== undefined) { + entries["TemplateName"] = input.TemplateName; } if (input.TemplateSubject !== undefined) { entries["TemplateSubject"] = input.TemplateSubject; } - if (input.SuccessRedirectionURL !== undefined) { - entries["SuccessRedirectionURL"] = input.SuccessRedirectionURL; + if (input.FailureRedirectionURL !== undefined) { + entries["FailureRedirectionURL"] = input.FailureRedirectionURL; } if (input.FromEmailAddress !== undefined) { entries["FromEmailAddress"] = input.FromEmailAddress; } - if (input.FailureRedirectionURL !== undefined) { - entries["FailureRedirectionURL"] = input.FailureRedirectionURL; + if (input.SuccessRedirectionURL !== undefined) { + entries["SuccessRedirectionURL"] = input.SuccessRedirectionURL; } - if (input.TemplateName !== undefined) { - entries["TemplateName"] = input.TemplateName; + if (input.TemplateContent !== undefined) { + entries["TemplateContent"] = input.TemplateContent; } return entries; }; const serializeAws_queryUpdateReceiptRuleRequest = (input: UpdateReceiptRuleRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.RuleSetName !== undefined) { - entries["RuleSetName"] = input.RuleSetName; - } if (input.Rule !== undefined) { const memberEntries = serializeAws_queryReceiptRule(input.Rule, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -7937,6 +7934,9 @@ const serializeAws_queryUpdateReceiptRuleRequest = (input: UpdateReceiptRuleRequ entries[loc] = value; }); } + if (input.RuleSetName !== undefined) { + entries["RuleSetName"] = input.RuleSetName; + } return entries; }; @@ -8037,40 +8037,40 @@ const deserializeAws_queryAddressList = (output: any, context: __SerdeContext): const deserializeAws_queryAlreadyExistsException = (output: any, context: __SerdeContext): AlreadyExistsException => { let contents: any = { - Name: undefined, message: undefined, + Name: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } if (output["message"] !== undefined) { contents.message = output["message"]; } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } return contents; }; const deserializeAws_queryBounceAction = (output: any, context: __SerdeContext): BounceAction => { let contents: any = { SmtpReplyCode: undefined, - Message: undefined, Sender: undefined, - TopicArn: undefined, StatusCode: undefined, + TopicArn: undefined, + Message: undefined, }; if (output["SmtpReplyCode"] !== undefined) { contents.SmtpReplyCode = output["SmtpReplyCode"]; } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; - } if (output["Sender"] !== undefined) { contents.Sender = output["Sender"]; } + if (output["StatusCode"] !== undefined) { + contents.StatusCode = output["StatusCode"]; + } if (output["TopicArn"] !== undefined) { contents.TopicArn = output["TopicArn"]; } - if (output["StatusCode"] !== undefined) { - contents.StatusCode = output["StatusCode"]; + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; } return contents; }; @@ -8081,18 +8081,18 @@ const deserializeAws_queryBulkEmailDestinationStatus = ( ): BulkEmailDestinationStatus => { let contents: any = { Error: undefined, - MessageId: undefined, Status: undefined, + MessageId: undefined, }; if (output["Error"] !== undefined) { contents.Error = output["Error"]; } - if (output["MessageId"] !== undefined) { - contents.MessageId = output["MessageId"]; - } if (output["Status"] !== undefined) { contents.Status = output["Status"]; } + if (output["MessageId"] !== undefined) { + contents.MessageId = output["MessageId"]; + } return contents; }; @@ -8147,18 +8147,18 @@ const deserializeAws_queryCloudWatchDimensionConfiguration = ( ): CloudWatchDimensionConfiguration => { let contents: any = { DefaultDimensionValue: undefined, - DimensionValueSource: undefined, DimensionName: undefined, + DimensionValueSource: undefined, }; if (output["DefaultDimensionValue"] !== undefined) { contents.DefaultDimensionValue = output["DefaultDimensionValue"]; } - if (output["DimensionValueSource"] !== undefined) { - contents.DimensionValueSource = output["DimensionValueSource"]; - } if (output["DimensionName"] !== undefined) { contents.DimensionName = output["DimensionName"]; } + if (output["DimensionValueSource"] !== undefined) { + contents.DimensionValueSource = output["DimensionValueSource"]; + } return contents; }; @@ -8184,15 +8184,15 @@ const deserializeAws_queryConfigurationSetAlreadyExistsException = ( context: __SerdeContext ): ConfigurationSetAlreadyExistsException => { let contents: any = { - ConfigurationSetName: undefined, message: undefined, + ConfigurationSetName: undefined, }; - if (output["ConfigurationSetName"] !== undefined) { - contents.ConfigurationSetName = output["ConfigurationSetName"]; - } if (output["message"] !== undefined) { contents.message = output["message"]; } + if (output["ConfigurationSetName"] !== undefined) { + contents.ConfigurationSetName = output["ConfigurationSetName"]; + } return contents; }; @@ -8306,26 +8306,26 @@ const deserializeAws_queryCustomVerificationEmailTemplate = ( ): CustomVerificationEmailTemplate => { let contents: any = { FromEmailAddress: undefined, - FailureRedirectionURL: undefined, - TemplateSubject: undefined, TemplateName: undefined, SuccessRedirectionURL: undefined, + FailureRedirectionURL: undefined, + TemplateSubject: undefined, }; if (output["FromEmailAddress"] !== undefined) { contents.FromEmailAddress = output["FromEmailAddress"]; } - if (output["FailureRedirectionURL"] !== undefined) { - contents.FailureRedirectionURL = output["FailureRedirectionURL"]; - } - if (output["TemplateSubject"] !== undefined) { - contents.TemplateSubject = output["TemplateSubject"]; - } if (output["TemplateName"] !== undefined) { contents.TemplateName = output["TemplateName"]; } if (output["SuccessRedirectionURL"] !== undefined) { contents.SuccessRedirectionURL = output["SuccessRedirectionURL"]; } + if (output["FailureRedirectionURL"] !== undefined) { + contents.FailureRedirectionURL = output["FailureRedirectionURL"]; + } + if (output["TemplateSubject"] !== undefined) { + contents.TemplateSubject = output["TemplateSubject"]; + } return contents; }; @@ -8334,15 +8334,15 @@ const deserializeAws_queryCustomVerificationEmailTemplateAlreadyExistsException context: __SerdeContext ): CustomVerificationEmailTemplateAlreadyExistsException => { let contents: any = { - message: undefined, CustomVerificationEmailTemplateName: undefined, + message: undefined, }; - if (output["message"] !== undefined) { - contents.message = output["message"]; - } if (output["CustomVerificationEmailTemplateName"] !== undefined) { contents.CustomVerificationEmailTemplateName = output["CustomVerificationEmailTemplateName"]; } + if (output["message"] !== undefined) { + contents.message = output["message"]; + } return contents; }; @@ -8451,18 +8451,18 @@ const deserializeAws_queryDescribeActiveReceiptRuleSetResponse = ( context: __SerdeContext ): DescribeActiveReceiptRuleSetResponse => { let contents: any = { - Metadata: undefined, Rules: undefined, + Metadata: undefined, }; - if (output["Metadata"] !== undefined) { - contents.Metadata = deserializeAws_queryReceiptRuleSetMetadata(output["Metadata"], context); - } if (output.Rules === "") { contents.Rules = []; } if (output["Rules"] !== undefined && output["Rules"]["member"] !== undefined) { contents.Rules = deserializeAws_queryReceiptRulesList(__getArrayIfSingleItem(output["Rules"]["member"]), context); } + if (output["Metadata"] !== undefined) { + contents.Metadata = deserializeAws_queryReceiptRuleSetMetadata(output["Metadata"], context); + } return contents; }; @@ -8473,8 +8473,8 @@ const deserializeAws_queryDescribeConfigurationSetResponse = ( let contents: any = { ReputationOptions: undefined, TrackingOptions: undefined, - ConfigurationSet: undefined, EventDestinations: undefined, + ConfigurationSet: undefined, DeliveryOptions: undefined, }; if (output["ReputationOptions"] !== undefined) { @@ -8483,9 +8483,6 @@ const deserializeAws_queryDescribeConfigurationSetResponse = ( if (output["TrackingOptions"] !== undefined) { contents.TrackingOptions = deserializeAws_queryTrackingOptions(output["TrackingOptions"], context); } - if (output["ConfigurationSet"] !== undefined) { - contents.ConfigurationSet = deserializeAws_queryConfigurationSet(output["ConfigurationSet"], context); - } if (output.EventDestinations === "") { contents.EventDestinations = []; } @@ -8495,6 +8492,9 @@ const deserializeAws_queryDescribeConfigurationSetResponse = ( context ); } + if (output["ConfigurationSet"] !== undefined) { + contents.ConfigurationSet = deserializeAws_queryConfigurationSet(output["ConfigurationSet"], context); + } if (output["DeliveryOptions"] !== undefined) { contents.DeliveryOptions = deserializeAws_queryDeliveryOptions(output["DeliveryOptions"], context); } @@ -8550,11 +8550,11 @@ const deserializeAws_queryDkimAttributes = ( const deserializeAws_queryEventDestination = (output: any, context: __SerdeContext): EventDestination => { let contents: any = { CloudWatchDestination: undefined, - KinesisFirehoseDestination: undefined, Enabled: undefined, - Name: undefined, - MatchingEventTypes: undefined, SNSDestination: undefined, + MatchingEventTypes: undefined, + Name: undefined, + KinesisFirehoseDestination: undefined, }; if (output["CloudWatchDestination"] !== undefined) { contents.CloudWatchDestination = deserializeAws_queryCloudWatchDestination( @@ -8562,17 +8562,11 @@ const deserializeAws_queryEventDestination = (output: any, context: __SerdeConte context ); } - if (output["KinesisFirehoseDestination"] !== undefined) { - contents.KinesisFirehoseDestination = deserializeAws_queryKinesisFirehoseDestination( - output["KinesisFirehoseDestination"], - context - ); - } if (output["Enabled"] !== undefined) { contents.Enabled = output["Enabled"] == "true"; } - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; + if (output["SNSDestination"] !== undefined) { + contents.SNSDestination = deserializeAws_querySNSDestination(output["SNSDestination"], context); } if (output.MatchingEventTypes === "") { contents.MatchingEventTypes = []; @@ -8583,8 +8577,14 @@ const deserializeAws_queryEventDestination = (output: any, context: __SerdeConte context ); } - if (output["SNSDestination"] !== undefined) { - contents.SNSDestination = deserializeAws_querySNSDestination(output["SNSDestination"], context); + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } + if (output["KinesisFirehoseDestination"] !== undefined) { + contents.KinesisFirehoseDestination = deserializeAws_queryKinesisFirehoseDestination( + output["KinesisFirehoseDestination"], + context + ); } return contents; }; @@ -8615,18 +8615,18 @@ const deserializeAws_queryEventDestinationDoesNotExistException = ( context: __SerdeContext ): EventDestinationDoesNotExistException => { let contents: any = { - EventDestinationName: undefined, - ConfigurationSetName: undefined, message: undefined, + ConfigurationSetName: undefined, + EventDestinationName: undefined, }; - if (output["EventDestinationName"] !== undefined) { - contents.EventDestinationName = output["EventDestinationName"]; + if (output["message"] !== undefined) { + contents.message = output["message"]; } if (output["ConfigurationSetName"] !== undefined) { contents.ConfigurationSetName = output["ConfigurationSetName"]; } - if (output["message"] !== undefined) { - contents.message = output["message"]; + if (output["EventDestinationName"] !== undefined) { + contents.EventDestinationName = output["EventDestinationName"]; } return contents; }; @@ -8644,15 +8644,15 @@ const deserializeAws_queryFromEmailAddressNotVerifiedException = ( context: __SerdeContext ): FromEmailAddressNotVerifiedException => { let contents: any = { - FromEmailAddress: undefined, message: undefined, + FromEmailAddress: undefined, }; - if (output["FromEmailAddress"] !== undefined) { - contents.FromEmailAddress = output["FromEmailAddress"]; - } if (output["message"] !== undefined) { contents.message = output["message"]; } + if (output["FromEmailAddress"] !== undefined) { + contents.FromEmailAddress = output["FromEmailAddress"]; + } return contents; }; @@ -8675,29 +8675,29 @@ const deserializeAws_queryGetCustomVerificationEmailTemplateResponse = ( ): GetCustomVerificationEmailTemplateResponse => { let contents: any = { FromEmailAddress: undefined, - FailureRedirectionURL: undefined, SuccessRedirectionURL: undefined, + TemplateName: undefined, TemplateContent: undefined, TemplateSubject: undefined, - TemplateName: undefined, + FailureRedirectionURL: undefined, }; if (output["FromEmailAddress"] !== undefined) { contents.FromEmailAddress = output["FromEmailAddress"]; } - if (output["FailureRedirectionURL"] !== undefined) { - contents.FailureRedirectionURL = output["FailureRedirectionURL"]; - } if (output["SuccessRedirectionURL"] !== undefined) { contents.SuccessRedirectionURL = output["SuccessRedirectionURL"]; } + if (output["TemplateName"] !== undefined) { + contents.TemplateName = output["TemplateName"]; + } if (output["TemplateContent"] !== undefined) { contents.TemplateContent = output["TemplateContent"]; } if (output["TemplateSubject"] !== undefined) { contents.TemplateSubject = output["TemplateSubject"]; } - if (output["TemplateName"] !== undefined) { - contents.TemplateName = output["TemplateName"]; + if (output["FailureRedirectionURL"] !== undefined) { + contents.FailureRedirectionURL = output["FailureRedirectionURL"]; } return contents; }; @@ -8796,18 +8796,18 @@ const deserializeAws_queryGetIdentityVerificationAttributesResponse = ( const deserializeAws_queryGetSendQuotaResponse = (output: any, context: __SerdeContext): GetSendQuotaResponse => { let contents: any = { - SentLast24Hours: undefined, - Max24HourSend: undefined, MaxSendRate: undefined, + Max24HourSend: undefined, + SentLast24Hours: undefined, }; - if (output["SentLast24Hours"] !== undefined) { - contents.SentLast24Hours = parseFloat(output["SentLast24Hours"]); + if (output["MaxSendRate"] !== undefined) { + contents.MaxSendRate = parseFloat(output["MaxSendRate"]); } if (output["Max24HourSend"] !== undefined) { contents.Max24HourSend = parseFloat(output["Max24HourSend"]); } - if (output["MaxSendRate"] !== undefined) { - contents.MaxSendRate = parseFloat(output["MaxSendRate"]); + if (output["SentLast24Hours"] !== undefined) { + contents.SentLast24Hours = parseFloat(output["SentLast24Hours"]); } return contents; }; @@ -8844,8 +8844,8 @@ const deserializeAws_queryGetTemplateResponse = (output: any, context: __SerdeCo const deserializeAws_queryIdentityDkimAttributes = (output: any, context: __SerdeContext): IdentityDkimAttributes => { let contents: any = { DkimTokens: undefined, - DkimVerificationStatus: undefined, DkimEnabled: undefined, + DkimVerificationStatus: undefined, }; if (output.DkimTokens === "") { contents.DkimTokens = []; @@ -8856,12 +8856,12 @@ const deserializeAws_queryIdentityDkimAttributes = (output: any, context: __Serd context ); } - if (output["DkimVerificationStatus"] !== undefined) { - contents.DkimVerificationStatus = output["DkimVerificationStatus"]; - } if (output["DkimEnabled"] !== undefined) { contents.DkimEnabled = output["DkimEnabled"] == "true"; } + if (output["DkimVerificationStatus"] !== undefined) { + contents.DkimVerificationStatus = output["DkimVerificationStatus"]; + } return contents; }; @@ -8874,18 +8874,18 @@ const deserializeAws_queryIdentityMailFromDomainAttributes = ( context: __SerdeContext ): IdentityMailFromDomainAttributes => { let contents: any = { - MailFromDomainStatus: undefined, - MailFromDomain: undefined, BehaviorOnMXFailure: undefined, + MailFromDomain: undefined, + MailFromDomainStatus: undefined, }; - if (output["MailFromDomainStatus"] !== undefined) { - contents.MailFromDomainStatus = output["MailFromDomainStatus"]; + if (output["BehaviorOnMXFailure"] !== undefined) { + contents.BehaviorOnMXFailure = output["BehaviorOnMXFailure"]; } if (output["MailFromDomain"] !== undefined) { contents.MailFromDomain = output["MailFromDomain"]; } - if (output["BehaviorOnMXFailure"] !== undefined) { - contents.BehaviorOnMXFailure = output["BehaviorOnMXFailure"]; + if (output["MailFromDomainStatus"] !== undefined) { + contents.MailFromDomainStatus = output["MailFromDomainStatus"]; } return contents; }; @@ -8895,35 +8895,35 @@ const deserializeAws_queryIdentityNotificationAttributes = ( context: __SerdeContext ): IdentityNotificationAttributes => { let contents: any = { - ForwardingEnabled: undefined, DeliveryTopic: undefined, - HeadersInDeliveryNotificationsEnabled: undefined, + ForwardingEnabled: undefined, HeadersInBounceNotificationsEnabled: undefined, - BounceTopic: undefined, ComplaintTopic: undefined, HeadersInComplaintNotificationsEnabled: undefined, + HeadersInDeliveryNotificationsEnabled: undefined, + BounceTopic: undefined, }; - if (output["ForwardingEnabled"] !== undefined) { - contents.ForwardingEnabled = output["ForwardingEnabled"] == "true"; - } if (output["DeliveryTopic"] !== undefined) { contents.DeliveryTopic = output["DeliveryTopic"]; } - if (output["HeadersInDeliveryNotificationsEnabled"] !== undefined) { - contents.HeadersInDeliveryNotificationsEnabled = output["HeadersInDeliveryNotificationsEnabled"] == "true"; + if (output["ForwardingEnabled"] !== undefined) { + contents.ForwardingEnabled = output["ForwardingEnabled"] == "true"; } if (output["HeadersInBounceNotificationsEnabled"] !== undefined) { contents.HeadersInBounceNotificationsEnabled = output["HeadersInBounceNotificationsEnabled"] == "true"; } - if (output["BounceTopic"] !== undefined) { - contents.BounceTopic = output["BounceTopic"]; - } if (output["ComplaintTopic"] !== undefined) { contents.ComplaintTopic = output["ComplaintTopic"]; } if (output["HeadersInComplaintNotificationsEnabled"] !== undefined) { contents.HeadersInComplaintNotificationsEnabled = output["HeadersInComplaintNotificationsEnabled"] == "true"; } + if (output["HeadersInDeliveryNotificationsEnabled"] !== undefined) { + contents.HeadersInDeliveryNotificationsEnabled = output["HeadersInDeliveryNotificationsEnabled"] == "true"; + } + if (output["BounceTopic"] !== undefined) { + contents.BounceTopic = output["BounceTopic"]; + } return contents; }; @@ -8932,15 +8932,15 @@ const deserializeAws_queryIdentityVerificationAttributes = ( context: __SerdeContext ): IdentityVerificationAttributes => { let contents: any = { - VerificationStatus: undefined, VerificationToken: undefined, + VerificationStatus: undefined, }; - if (output["VerificationStatus"] !== undefined) { - contents.VerificationStatus = output["VerificationStatus"]; - } if (output["VerificationToken"] !== undefined) { contents.VerificationToken = output["VerificationToken"]; } + if (output["VerificationStatus"] !== undefined) { + contents.VerificationStatus = output["VerificationStatus"]; + } return contents; }; @@ -8950,18 +8950,18 @@ const deserializeAws_queryInvalidCloudWatchDestinationException = ( ): InvalidCloudWatchDestinationException => { let contents: any = { EventDestinationName: undefined, - message: undefined, ConfigurationSetName: undefined, + message: undefined, }; if (output["EventDestinationName"] !== undefined) { contents.EventDestinationName = output["EventDestinationName"]; } - if (output["message"] !== undefined) { - contents.message = output["message"]; - } if (output["ConfigurationSetName"] !== undefined) { contents.ConfigurationSetName = output["ConfigurationSetName"]; } + if (output["message"] !== undefined) { + contents.message = output["message"]; + } return contents; }; @@ -8997,18 +8997,18 @@ const deserializeAws_queryInvalidFirehoseDestinationException = ( ): InvalidFirehoseDestinationException => { let contents: any = { EventDestinationName: undefined, - message: undefined, ConfigurationSetName: undefined, + message: undefined, }; if (output["EventDestinationName"] !== undefined) { contents.EventDestinationName = output["EventDestinationName"]; } - if (output["message"] !== undefined) { - contents.message = output["message"]; - } if (output["ConfigurationSetName"] !== undefined) { contents.ConfigurationSetName = output["ConfigurationSetName"]; } + if (output["message"] !== undefined) { + contents.message = output["message"]; + } return contents; }; @@ -9017,15 +9017,15 @@ const deserializeAws_queryInvalidLambdaFunctionException = ( context: __SerdeContext ): InvalidLambdaFunctionException => { let contents: any = { - message: undefined, FunctionArn: undefined, + message: undefined, }; - if (output["message"] !== undefined) { - contents.message = output["message"]; - } if (output["FunctionArn"] !== undefined) { contents.FunctionArn = output["FunctionArn"]; } + if (output["message"] !== undefined) { + contents.message = output["message"]; + } return contents; }; @@ -9044,15 +9044,15 @@ const deserializeAws_queryInvalidRenderingParameterException = ( context: __SerdeContext ): InvalidRenderingParameterException => { let contents: any = { - message: undefined, TemplateName: undefined, + message: undefined, }; - if (output["message"] !== undefined) { - contents.message = output["message"]; - } if (output["TemplateName"] !== undefined) { contents.TemplateName = output["TemplateName"]; } + if (output["message"] !== undefined) { + contents.message = output["message"]; + } return contents; }; @@ -9079,18 +9079,18 @@ const deserializeAws_queryInvalidSNSDestinationException = ( ): InvalidSNSDestinationException => { let contents: any = { message: undefined, - ConfigurationSetName: undefined, EventDestinationName: undefined, + ConfigurationSetName: undefined, }; if (output["message"] !== undefined) { contents.message = output["message"]; } - if (output["ConfigurationSetName"] !== undefined) { - contents.ConfigurationSetName = output["ConfigurationSetName"]; - } if (output["EventDestinationName"] !== undefined) { contents.EventDestinationName = output["EventDestinationName"]; } + if (output["ConfigurationSetName"] !== undefined) { + contents.ConfigurationSetName = output["ConfigurationSetName"]; + } return contents; }; @@ -9099,15 +9099,15 @@ const deserializeAws_queryInvalidSnsTopicException = ( context: __SerdeContext ): InvalidSnsTopicException => { let contents: any = { - message: undefined, Topic: undefined, + message: undefined, }; - if (output["message"] !== undefined) { - contents.message = output["message"]; - } if (output["Topic"] !== undefined) { contents.Topic = output["Topic"]; } + if (output["message"] !== undefined) { + contents.message = output["message"]; + } return contents; }; @@ -9298,9 +9298,12 @@ const deserializeAws_queryListReceiptRuleSetsResponse = ( context: __SerdeContext ): ListReceiptRuleSetsResponse => { let contents: any = { - RuleSets: undefined, NextToken: undefined, + RuleSets: undefined, }; + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } if (output.RuleSets === "") { contents.RuleSets = []; } @@ -9310,9 +9313,6 @@ const deserializeAws_queryListReceiptRuleSetsResponse = ( context ); } - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } return contents; }; @@ -9466,34 +9466,34 @@ const deserializeAws_queryPutIdentityPolicyResponse = ( const deserializeAws_queryReceiptAction = (output: any, context: __SerdeContext): ReceiptAction => { let contents: any = { - WorkmailAction: undefined, - SNSAction: undefined, - AddHeaderAction: undefined, - LambdaAction: undefined, - S3Action: undefined, StopAction: undefined, + S3Action: undefined, BounceAction: undefined, + LambdaAction: undefined, + AddHeaderAction: undefined, + SNSAction: undefined, + WorkmailAction: undefined, }; - if (output["WorkmailAction"] !== undefined) { - contents.WorkmailAction = deserializeAws_queryWorkmailAction(output["WorkmailAction"], context); + if (output["StopAction"] !== undefined) { + contents.StopAction = deserializeAws_queryStopAction(output["StopAction"], context); } - if (output["SNSAction"] !== undefined) { - contents.SNSAction = deserializeAws_querySNSAction(output["SNSAction"], context); + if (output["S3Action"] !== undefined) { + contents.S3Action = deserializeAws_queryS3Action(output["S3Action"], context); } - if (output["AddHeaderAction"] !== undefined) { - contents.AddHeaderAction = deserializeAws_queryAddHeaderAction(output["AddHeaderAction"], context); + if (output["BounceAction"] !== undefined) { + contents.BounceAction = deserializeAws_queryBounceAction(output["BounceAction"], context); } if (output["LambdaAction"] !== undefined) { contents.LambdaAction = deserializeAws_queryLambdaAction(output["LambdaAction"], context); } - if (output["S3Action"] !== undefined) { - contents.S3Action = deserializeAws_queryS3Action(output["S3Action"], context); + if (output["AddHeaderAction"] !== undefined) { + contents.AddHeaderAction = deserializeAws_queryAddHeaderAction(output["AddHeaderAction"], context); } - if (output["StopAction"] !== undefined) { - contents.StopAction = deserializeAws_queryStopAction(output["StopAction"], context); + if (output["SNSAction"] !== undefined) { + contents.SNSAction = deserializeAws_querySNSAction(output["SNSAction"], context); } - if (output["BounceAction"] !== undefined) { - contents.BounceAction = deserializeAws_queryBounceAction(output["BounceAction"], context); + if (output["WorkmailAction"] !== undefined) { + contents.WorkmailAction = deserializeAws_queryWorkmailAction(output["WorkmailAction"], context); } return contents; }; @@ -9522,27 +9522,30 @@ const deserializeAws_queryReceiptFilterList = (output: any, context: __SerdeCont const deserializeAws_queryReceiptIpFilter = (output: any, context: __SerdeContext): ReceiptIpFilter => { let contents: any = { - Cidr: undefined, Policy: undefined, + Cidr: undefined, }; - if (output["Cidr"] !== undefined) { - contents.Cidr = output["Cidr"]; - } if (output["Policy"] !== undefined) { contents.Policy = output["Policy"]; } + if (output["Cidr"] !== undefined) { + contents.Cidr = output["Cidr"]; + } return contents; }; const deserializeAws_queryReceiptRule = (output: any, context: __SerdeContext): ReceiptRule => { let contents: any = { + Name: undefined, Actions: undefined, + TlsPolicy: undefined, Enabled: undefined, ScanEnabled: undefined, Recipients: undefined, - TlsPolicy: undefined, - Name: undefined, }; + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } if (output.Actions === "") { contents.Actions = []; } @@ -9552,6 +9555,9 @@ const deserializeAws_queryReceiptRule = (output: any, context: __SerdeContext): context ); } + if (output["TlsPolicy"] !== undefined) { + contents.TlsPolicy = output["TlsPolicy"]; + } if (output["Enabled"] !== undefined) { contents.Enabled = output["Enabled"] == "true"; } @@ -9567,12 +9573,6 @@ const deserializeAws_queryReceiptRule = (output: any, context: __SerdeContext): context ); } - if (output["TlsPolicy"] !== undefined) { - contents.TlsPolicy = output["TlsPolicy"]; - } - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } return contents; }; @@ -9613,18 +9613,18 @@ const deserializeAws_queryReorderReceiptRuleSetResponse = ( const deserializeAws_queryReputationOptions = (output: any, context: __SerdeContext): ReputationOptions => { let contents: any = { SendingEnabled: undefined, - LastFreshStart: undefined, ReputationMetricsEnabled: undefined, + LastFreshStart: undefined, }; if (output["SendingEnabled"] !== undefined) { contents.SendingEnabled = output["SendingEnabled"] == "true"; } - if (output["LastFreshStart"] !== undefined) { - contents.LastFreshStart = new Date(output["LastFreshStart"]); - } if (output["ReputationMetricsEnabled"] !== undefined) { contents.ReputationMetricsEnabled = output["ReputationMetricsEnabled"] == "true"; } + if (output["LastFreshStart"] !== undefined) { + contents.LastFreshStart = new Date(output["LastFreshStart"]); + } return contents; }; @@ -9633,15 +9633,15 @@ const deserializeAws_queryRuleDoesNotExistException = ( context: __SerdeContext ): RuleDoesNotExistException => { let contents: any = { - message: undefined, Name: undefined, + message: undefined, }; - if (output["message"] !== undefined) { - contents.message = output["message"]; - } if (output["Name"] !== undefined) { contents.Name = output["Name"]; } + if (output["message"] !== undefined) { + contents.message = output["message"]; + } return contents; }; @@ -9650,36 +9650,36 @@ const deserializeAws_queryRuleSetDoesNotExistException = ( context: __SerdeContext ): RuleSetDoesNotExistException => { let contents: any = { - Name: undefined, message: undefined, + Name: undefined, }; - if (output["Name"] !== undefined) { - contents.Name = output["Name"]; - } if (output["message"] !== undefined) { contents.message = output["message"]; } + if (output["Name"] !== undefined) { + contents.Name = output["Name"]; + } return contents; }; const deserializeAws_queryS3Action = (output: any, context: __SerdeContext): S3Action => { let contents: any = { BucketName: undefined, - KmsKeyArn: undefined, - TopicArn: undefined, ObjectKeyPrefix: undefined, + TopicArn: undefined, + KmsKeyArn: undefined, }; if (output["BucketName"] !== undefined) { contents.BucketName = output["BucketName"]; } - if (output["KmsKeyArn"] !== undefined) { - contents.KmsKeyArn = output["KmsKeyArn"]; + if (output["ObjectKeyPrefix"] !== undefined) { + contents.ObjectKeyPrefix = output["ObjectKeyPrefix"]; } if (output["TopicArn"] !== undefined) { contents.TopicArn = output["TopicArn"]; } - if (output["ObjectKeyPrefix"] !== undefined) { - contents.ObjectKeyPrefix = output["ObjectKeyPrefix"]; + if (output["KmsKeyArn"] !== undefined) { + contents.KmsKeyArn = output["KmsKeyArn"]; } return contents; }; @@ -9728,26 +9728,26 @@ const deserializeAws_querySendCustomVerificationEmailResponse = ( const deserializeAws_querySendDataPoint = (output: any, context: __SerdeContext): SendDataPoint => { let contents: any = { - Rejects: undefined, - DeliveryAttempts: undefined, + Complaints: undefined, Bounces: undefined, + Rejects: undefined, Timestamp: undefined, - Complaints: undefined, + DeliveryAttempts: undefined, }; - if (output["Rejects"] !== undefined) { - contents.Rejects = parseInt(output["Rejects"]); - } - if (output["DeliveryAttempts"] !== undefined) { - contents.DeliveryAttempts = parseInt(output["DeliveryAttempts"]); + if (output["Complaints"] !== undefined) { + contents.Complaints = parseInt(output["Complaints"]); } if (output["Bounces"] !== undefined) { contents.Bounces = parseInt(output["Bounces"]); } + if (output["Rejects"] !== undefined) { + contents.Rejects = parseInt(output["Rejects"]); + } if (output["Timestamp"] !== undefined) { contents.Timestamp = new Date(output["Timestamp"]); } - if (output["Complaints"] !== undefined) { - contents.Complaints = parseInt(output["Complaints"]); + if (output["DeliveryAttempts"] !== undefined) { + contents.DeliveryAttempts = parseInt(output["DeliveryAttempts"]); } return contents; }; @@ -9847,15 +9847,15 @@ const deserializeAws_querySetReceiptRulePositionResponse = ( const deserializeAws_querySNSAction = (output: any, context: __SerdeContext): SNSAction => { let contents: any = { - TopicArn: undefined, Encoding: undefined, + TopicArn: undefined, }; - if (output["TopicArn"] !== undefined) { - contents.TopicArn = output["TopicArn"]; - } if (output["Encoding"] !== undefined) { contents.Encoding = output["Encoding"]; } + if (output["TopicArn"] !== undefined) { + contents.TopicArn = output["TopicArn"]; + } return contents; }; @@ -9871,37 +9871,37 @@ const deserializeAws_querySNSDestination = (output: any, context: __SerdeContext const deserializeAws_queryStopAction = (output: any, context: __SerdeContext): StopAction => { let contents: any = { - Scope: undefined, TopicArn: undefined, + Scope: undefined, }; - if (output["Scope"] !== undefined) { - contents.Scope = output["Scope"]; - } if (output["TopicArn"] !== undefined) { contents.TopicArn = output["TopicArn"]; } + if (output["Scope"] !== undefined) { + contents.Scope = output["Scope"]; + } return contents; }; const deserializeAws_queryTemplate = (output: any, context: __SerdeContext): Template => { let contents: any = { - HtmlPart: undefined, - SubjectPart: undefined, TextPart: undefined, + SubjectPart: undefined, TemplateName: undefined, + HtmlPart: undefined, }; - if (output["HtmlPart"] !== undefined) { - contents.HtmlPart = output["HtmlPart"]; + if (output["TextPart"] !== undefined) { + contents.TextPart = output["TextPart"]; } if (output["SubjectPart"] !== undefined) { contents.SubjectPart = output["SubjectPart"]; } - if (output["TextPart"] !== undefined) { - contents.TextPart = output["TextPart"]; - } if (output["TemplateName"] !== undefined) { contents.TemplateName = output["TemplateName"]; } + if (output["HtmlPart"] !== undefined) { + contents.HtmlPart = output["HtmlPart"]; + } return contents; }; @@ -9910,15 +9910,15 @@ const deserializeAws_queryTemplateDoesNotExistException = ( context: __SerdeContext ): TemplateDoesNotExistException => { let contents: any = { - TemplateName: undefined, message: undefined, + TemplateName: undefined, }; - if (output["TemplateName"] !== undefined) { - contents.TemplateName = output["TemplateName"]; - } if (output["message"] !== undefined) { contents.message = output["message"]; } + if (output["TemplateName"] !== undefined) { + contents.TemplateName = output["TemplateName"]; + } return contents; }; diff --git a/clients/client-sesv2/SESv2.ts b/clients/client-sesv2/SESv2.ts index f36928c2ef96..62691e767f3b 100644 --- a/clients/client-sesv2/SESv2.ts +++ b/clients/client-sesv2/SESv2.ts @@ -39,6 +39,11 @@ import { CreateEmailTemplateCommandInput, CreateEmailTemplateCommandOutput, } from "./commands/CreateEmailTemplateCommand"; +import { + CreateImportJobCommand, + CreateImportJobCommandInput, + CreateImportJobCommandOutput, +} from "./commands/CreateImportJobCommand"; import { DeleteConfigurationSetCommand, DeleteConfigurationSetCommandInput, @@ -145,6 +150,11 @@ import { GetEmailTemplateCommandInput, GetEmailTemplateCommandOutput, } from "./commands/GetEmailTemplateCommand"; +import { + GetImportJobCommand, + GetImportJobCommandInput, + GetImportJobCommandOutput, +} from "./commands/GetImportJobCommand"; import { GetSuppressedDestinationCommand, GetSuppressedDestinationCommandInput, @@ -185,6 +195,11 @@ import { ListEmailTemplatesCommandInput, ListEmailTemplatesCommandOutput, } from "./commands/ListEmailTemplatesCommand"; +import { + ListImportJobsCommand, + ListImportJobsCommandInput, + ListImportJobsCommandOutput, +} from "./commands/ListImportJobsCommand"; import { ListSuppressedDestinationsCommand, ListSuppressedDestinationsCommandInput, @@ -662,6 +677,38 @@ export class SESv2 extends SESv2Client { } } + /** + *

                                                                  Creates an import job for a data destination.

                                                                  + */ + public createImportJob( + args: CreateImportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createImportJob( + args: CreateImportJobCommandInput, + cb: (err: any, data?: CreateImportJobCommandOutput) => void + ): void; + public createImportJob( + args: CreateImportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateImportJobCommandOutput) => void + ): void; + public createImportJob( + args: CreateImportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateImportJobCommandOutput) => void), + cb?: (err: any, data?: CreateImportJobCommandOutput) => void + ): Promise | void { + const command = new CreateImportJobCommand(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); + } + } + /** *

                                                                  Delete an existing configuration set.

                                                                  *

                                                                  @@ -1441,6 +1488,35 @@ export class SESv2 extends SESv2Client { } } + /** + *

                                                                  Provides information about an import job.

                                                                  + */ + public getImportJob( + args: GetImportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getImportJob(args: GetImportJobCommandInput, cb: (err: any, data?: GetImportJobCommandOutput) => void): void; + public getImportJob( + args: GetImportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetImportJobCommandOutput) => void + ): void; + public getImportJob( + args: GetImportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetImportJobCommandOutput) => void), + cb?: (err: any, data?: GetImportJobCommandOutput) => void + ): Promise | void { + const command = new GetImportJobCommand(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 a specific email address that's on the suppression list * for your account.

                                                                  @@ -1719,6 +1795,38 @@ export class SESv2 extends SESv2Client { } } + /** + *

                                                                  Lists all of the import jobs.

                                                                  + */ + public listImportJobs( + args: ListImportJobsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listImportJobs( + args: ListImportJobsCommandInput, + cb: (err: any, data?: ListImportJobsCommandOutput) => void + ): void; + public listImportJobs( + args: ListImportJobsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListImportJobsCommandOutput) => void + ): void; + public listImportJobs( + args: ListImportJobsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListImportJobsCommandOutput) => void), + cb?: (err: any, data?: ListImportJobsCommandOutput) => void + ): Promise | void { + const command = new ListImportJobsCommand(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 list of email addresses that are on the suppression list for your * account.

                                                                  diff --git a/clients/client-sesv2/SESv2Client.ts b/clients/client-sesv2/SESv2Client.ts index 373f4227da5b..adc42ba93227 100644 --- a/clients/client-sesv2/SESv2Client.ts +++ b/clients/client-sesv2/SESv2Client.ts @@ -30,6 +30,7 @@ import { CreateEmailTemplateCommandInput, CreateEmailTemplateCommandOutput, } from "./commands/CreateEmailTemplateCommand"; +import { CreateImportJobCommandInput, CreateImportJobCommandOutput } from "./commands/CreateImportJobCommand"; import { DeleteConfigurationSetCommandInput, DeleteConfigurationSetCommandOutput, @@ -103,6 +104,7 @@ import { GetEmailIdentityPoliciesCommandOutput, } from "./commands/GetEmailIdentityPoliciesCommand"; import { GetEmailTemplateCommandInput, GetEmailTemplateCommandOutput } from "./commands/GetEmailTemplateCommand"; +import { GetImportJobCommandInput, GetImportJobCommandOutput } from "./commands/GetImportJobCommand"; import { GetSuppressedDestinationCommandInput, GetSuppressedDestinationCommandOutput, @@ -132,6 +134,7 @@ import { ListEmailIdentitiesCommandOutput, } from "./commands/ListEmailIdentitiesCommand"; import { ListEmailTemplatesCommandInput, ListEmailTemplatesCommandOutput } from "./commands/ListEmailTemplatesCommand"; +import { ListImportJobsCommandInput, ListImportJobsCommandOutput } from "./commands/ListImportJobsCommand"; import { ListSuppressedDestinationsCommandInput, ListSuppressedDestinationsCommandOutput, @@ -291,6 +294,7 @@ export type ServiceInputTypes = | CreateEmailIdentityCommandInput | CreateEmailIdentityPolicyCommandInput | CreateEmailTemplateCommandInput + | CreateImportJobCommandInput | DeleteConfigurationSetCommandInput | DeleteConfigurationSetEventDestinationCommandInput | DeleteCustomVerificationEmailTemplateCommandInput @@ -313,6 +317,7 @@ export type ServiceInputTypes = | GetEmailIdentityCommandInput | GetEmailIdentityPoliciesCommandInput | GetEmailTemplateCommandInput + | GetImportJobCommandInput | GetSuppressedDestinationCommandInput | ListConfigurationSetsCommandInput | ListCustomVerificationEmailTemplatesCommandInput @@ -321,6 +326,7 @@ export type ServiceInputTypes = | ListDomainDeliverabilityCampaignsCommandInput | ListEmailIdentitiesCommandInput | ListEmailTemplatesCommandInput + | ListImportJobsCommandInput | ListSuppressedDestinationsCommandInput | ListTagsForResourceCommandInput | PutAccountDedicatedIpWarmupAttributesCommandInput @@ -360,6 +366,7 @@ export type ServiceOutputTypes = | CreateEmailIdentityCommandOutput | CreateEmailIdentityPolicyCommandOutput | CreateEmailTemplateCommandOutput + | CreateImportJobCommandOutput | DeleteConfigurationSetCommandOutput | DeleteConfigurationSetEventDestinationCommandOutput | DeleteCustomVerificationEmailTemplateCommandOutput @@ -382,6 +389,7 @@ export type ServiceOutputTypes = | GetEmailIdentityCommandOutput | GetEmailIdentityPoliciesCommandOutput | GetEmailTemplateCommandOutput + | GetImportJobCommandOutput | GetSuppressedDestinationCommandOutput | ListConfigurationSetsCommandOutput | ListCustomVerificationEmailTemplatesCommandOutput @@ -390,6 +398,7 @@ export type ServiceOutputTypes = | ListDomainDeliverabilityCampaignsCommandOutput | ListEmailIdentitiesCommandOutput | ListEmailTemplatesCommandOutput + | ListImportJobsCommandOutput | ListSuppressedDestinationsCommandOutput | ListTagsForResourceCommandOutput | PutAccountDedicatedIpWarmupAttributesCommandOutput diff --git a/clients/client-sesv2/commands/CreateImportJobCommand.ts b/clients/client-sesv2/commands/CreateImportJobCommand.ts new file mode 100644 index 000000000000..e9b77e276b86 --- /dev/null +++ b/clients/client-sesv2/commands/CreateImportJobCommand.ts @@ -0,0 +1,70 @@ +import { SESv2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SESv2Client"; +import { CreateImportJobRequest, CreateImportJobResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateImportJobCommand, + serializeAws_restJson1CreateImportJobCommand, +} 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 CreateImportJobCommandInput = CreateImportJobRequest; +export type CreateImportJobCommandOutput = CreateImportJobResponse & __MetadataBearer; + +export class CreateImportJobCommand extends $Command< + CreateImportJobCommandInput, + CreateImportJobCommandOutput, + SESv2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateImportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SESv2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateImportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateImportJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateImportJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1CreateImportJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1CreateImportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sesv2/commands/GetImportJobCommand.ts b/clients/client-sesv2/commands/GetImportJobCommand.ts new file mode 100644 index 000000000000..ab72ad2af73f --- /dev/null +++ b/clients/client-sesv2/commands/GetImportJobCommand.ts @@ -0,0 +1,70 @@ +import { SESv2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SESv2Client"; +import { GetImportJobRequest, GetImportJobResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetImportJobCommand, + serializeAws_restJson1GetImportJobCommand, +} 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 GetImportJobCommandInput = GetImportJobRequest; +export type GetImportJobCommandOutput = GetImportJobResponse & __MetadataBearer; + +export class GetImportJobCommand extends $Command< + GetImportJobCommandInput, + GetImportJobCommandOutput, + SESv2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetImportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SESv2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetImportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetImportJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetImportJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1GetImportJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1GetImportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sesv2/commands/ListImportJobsCommand.ts b/clients/client-sesv2/commands/ListImportJobsCommand.ts new file mode 100644 index 000000000000..1f499cc1bf03 --- /dev/null +++ b/clients/client-sesv2/commands/ListImportJobsCommand.ts @@ -0,0 +1,70 @@ +import { SESv2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SESv2Client"; +import { ListImportJobsRequest, ListImportJobsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListImportJobsCommand, + serializeAws_restJson1ListImportJobsCommand, +} 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 ListImportJobsCommandInput = ListImportJobsRequest; +export type ListImportJobsCommandOutput = ListImportJobsResponse & __MetadataBearer; + +export class ListImportJobsCommand extends $Command< + ListImportJobsCommandInput, + ListImportJobsCommandOutput, + SESv2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListImportJobsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SESv2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListImportJobsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListImportJobsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListImportJobsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListImportJobsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListImportJobsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sesv2/index.ts b/clients/client-sesv2/index.ts index 5ea04878bb91..f6708a22fc67 100644 --- a/clients/client-sesv2/index.ts +++ b/clients/client-sesv2/index.ts @@ -8,6 +8,7 @@ export * from "./commands/CreateDeliverabilityTestReportCommand"; export * from "./commands/CreateEmailIdentityCommand"; export * from "./commands/CreateEmailIdentityPolicyCommand"; export * from "./commands/CreateEmailTemplateCommand"; +export * from "./commands/CreateImportJobCommand"; export * from "./commands/DeleteConfigurationSetCommand"; export * from "./commands/DeleteConfigurationSetEventDestinationCommand"; export * from "./commands/DeleteCustomVerificationEmailTemplateCommand"; @@ -31,6 +32,7 @@ export * from "./commands/GetDomainStatisticsReportCommand"; export * from "./commands/GetEmailIdentityCommand"; export * from "./commands/GetEmailIdentityPoliciesCommand"; export * from "./commands/GetEmailTemplateCommand"; +export * from "./commands/GetImportJobCommand"; export * from "./commands/GetSuppressedDestinationCommand"; export * from "./commands/ListConfigurationSetsCommand"; export * from "./pagination/ListConfigurationSetsPaginator"; @@ -46,6 +48,8 @@ export * from "./commands/ListEmailIdentitiesCommand"; export * from "./pagination/ListEmailIdentitiesPaginator"; export * from "./commands/ListEmailTemplatesCommand"; export * from "./pagination/ListEmailTemplatesPaginator"; +export * from "./commands/ListImportJobsCommand"; +export * from "./pagination/ListImportJobsPaginator"; export * from "./commands/ListSuppressedDestinationsCommand"; export * from "./pagination/ListSuppressedDestinationsPaginator"; export * from "./commands/ListTagsForResourceCommand"; diff --git a/clients/client-sesv2/models/models_0.ts b/clients/client-sesv2/models/models_0.ts index 519272dd8658..f40c1b4e9adc 100644 --- a/clients/client-sesv2/models/models_0.ts +++ b/clients/client-sesv2/models/models_0.ts @@ -66,24 +66,6 @@ export namespace ReviewDetails { *

                                                                  An object that contains information about your account details.

                                                                  */ export interface AccountDetails { - /** - *

                                                                  The type of email your account is sending. The mail type can be one of the - * following:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * MARKETING – Most of your sending traffic is to keep your - * customers informed of your latest offering.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * TRANSACTIONAL – Most of your sending traffic is to - * communicate during a transaction with a customer.

                                                                    - *
                                                                  • - *
                                                                  - */ - MailType?: MailType | string; - /** *

                                                                  The URL of your website. This information helps us better understand the type of * content that you plan to send.

                                                                  @@ -111,6 +93,24 @@ export interface AccountDetails { *

                                                                  Information about the review of the latest details you submitted.

                                                                  */ ReviewDetails?: ReviewDetails; + + /** + *

                                                                  The type of email your account is sending. The mail type can be one of the + * following:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * MARKETING – Most of your sending traffic is to keep your + * customers informed of your latest offering.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * TRANSACTIONAL – Most of your sending traffic is to + * communicate during a transaction with a customer.

                                                                    + *
                                                                  • + *
                                                                  + */ + MailType?: MailType | string; } export namespace AccountDetails { @@ -179,15 +179,15 @@ export enum BehaviorOnMxFailure { */ export interface BlacklistEntry { /** - *

                                                                  Additional information about the blacklisting event, as provided by the blacklist - * maintainer.

                                                                  + *

                                                                  The time when the blacklisting event occurred, shown in Unix time format.

                                                                  */ - Description?: string; + ListingTime?: Date; /** - *

                                                                  The time when the blacklisting event occurred, shown in Unix time format.

                                                                  + *

                                                                  Additional information about the blacklisting event, as provided by the blacklist + * maintainer.

                                                                  */ - ListingTime?: Date; + Description?: string; /** *

                                                                  The name of the blacklist that the IP address appears on.

                                                                  @@ -311,17 +311,17 @@ export interface Destination { */ ToAddresses?: string[]; - /** - *

                                                                  An array that contains the email addresses of the "BCC" (blind carbon copy) recipients - * for the email.

                                                                  - */ - BccAddresses?: string[]; - /** *

                                                                  An array that contains the email addresses of the "CC" (carbon copy) recipients for * the email.

                                                                  */ CcAddresses?: string[]; + + /** + *

                                                                  An array that contains the email addresses of the "BCC" (blind carbon copy) recipients + * for the email.

                                                                  + */ + BccAddresses?: string[]; } export namespace Destination { @@ -475,12 +475,6 @@ export interface BulkEmailEntryResult { */ MessageId?: string; - /** - *

                                                                  A description of an error that prevented a message being sent using the - * SendBulkTemplatedEmail operation.

                                                                  - */ - Error?: string; - /** *

                                                                  The status of a message sent using the SendBulkTemplatedEmail * operation.

                                                                  @@ -545,6 +539,12 @@ export interface BulkEmailEntryResult { *
                                                                */ Status?: BulkEmailStatus | string; + + /** + *

                                                                A description of an error that prevented a message being sent using the + * SendBulkTemplatedEmail operation.

                                                                + */ + Error?: string; } export namespace BulkEmailEntryResult { @@ -861,18 +861,18 @@ export interface CreateConfigurationSetRequest { */ SendingOptions?: SendingOptions; - /** - *

                                                                An object that contains information about the suppression list preferences for your - * account.

                                                                - */ - SuppressionOptions?: SuppressionOptions; - /** *

                                                                An object that defines the dedicated IP pool that is used to send emails that you send * using the configuration set.

                                                                */ DeliveryOptions?: DeliveryOptions; + /** + *

                                                                An object that contains information about the suppression list preferences for your + * account.

                                                                + */ + SuppressionOptions?: SuppressionOptions; + /** *

                                                                An array of objects that define the tags (keys and values) that you want to associate * with the configuration set.

                                                                @@ -885,16 +885,16 @@ export interface CreateConfigurationSetRequest { */ ReputationOptions?: ReputationOptions; - /** - *

                                                                The name of the configuration set.

                                                                - */ - ConfigurationSetName: string | undefined; - /** *

                                                                An object that defines the open and click tracking options for emails that you send * using the configuration set.

                                                                */ TrackingOptions?: TrackingOptions; + + /** + *

                                                                The name of the configuration set.

                                                                + */ + ConfigurationSetName: string | undefined; } export namespace CreateConfigurationSetRequest { @@ -965,17 +965,17 @@ export namespace TooManyRequestsException { * stream data to other services, such as Amazon S3 and Amazon Redshift.

                                                                */ export interface KinesisFirehoseDestination { - /** - *

                                                                The Amazon Resource Name (ARN) of the IAM role that the Amazon SES API v2 uses to send email - * events to the Amazon Kinesis Data Firehose stream.

                                                                - */ - IamRoleArn: string | undefined; - /** *

                                                                The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose stream that the Amazon SES API v2 sends email * events to.

                                                                */ DeliveryStreamArn: string | undefined; + + /** + *

                                                                The Amazon Resource Name (ARN) of the IAM role that the Amazon SES API v2 uses to send email + * events to the Amazon Kinesis Data Firehose stream.

                                                                + */ + IamRoleArn: string | undefined; } export namespace KinesisFirehoseDestination { @@ -1095,14 +1095,14 @@ export namespace EventDestinationDefinition { */ export interface CreateConfigurationSetEventDestinationRequest { /** - *

                                                                The name of the configuration set that you want to add an event destination to.

                                                                + *

                                                                An object that defines the event destination.

                                                                */ - ConfigurationSetName: string | undefined; + EventDestination: EventDestinationDefinition | undefined; /** - *

                                                                An object that defines the event destination.

                                                                + *

                                                                The name of the configuration set that you want to add an event destination to.

                                                                */ - EventDestination: EventDestinationDefinition | undefined; + ConfigurationSetName: string | undefined; /** *

                                                                A name that identifies the event destination within the configuration set.

                                                                @@ -1145,6 +1145,11 @@ export interface CreateCustomVerificationEmailTemplateRequest { */ TemplateContent: string | undefined; + /** + *

                                                                The name of the custom verification email template.

                                                                + */ + TemplateName: string | undefined; + /** *

                                                                The URL that the recipient of the verification email is sent to if his or her address * is not successfully verified.

                                                                @@ -1161,11 +1166,6 @@ export interface CreateCustomVerificationEmailTemplateRequest { *

                                                                The email address that the custom verification email is sent from.

                                                                */ FromEmailAddress: string | undefined; - - /** - *

                                                                The name of the custom verification email template.

                                                                - */ - TemplateName: string | undefined; } export namespace CreateCustomVerificationEmailTemplateRequest { @@ -1331,14 +1331,14 @@ export interface EmailContent { Raw?: RawMessage; /** - *

                                                                The simple email message. The message consists of a subject and a message body.

                                                                + *

                                                                The template to use for the email message.

                                                                */ - Simple?: Message; + Template?: Template; /** - *

                                                                The template to use for the email message.

                                                                + *

                                                                The simple email message. The message consists of a subject and a message body.

                                                                */ - Template?: Template; + Simple?: Message; } export namespace EmailContent { @@ -1369,15 +1369,15 @@ export interface CreateDeliverabilityTestReportRequest { ReportName?: string; /** - *

                                                                An array of objects that define the tags (keys and values) that you want to associate - * with the predictive inbox placement test.

                                                                + *

                                                                The email address that the predictive inbox placement test email was sent from.

                                                                */ - Tags?: Tag[]; + FromEmailAddress: string | undefined; /** - *

                                                                The email address that the predictive inbox placement test email was sent from.

                                                                + *

                                                                An array of objects that define the tags (keys and values) that you want to associate + * with the predictive inbox placement test.

                                                                */ - FromEmailAddress: string | undefined; + Tags?: Tag[]; } export namespace CreateDeliverabilityTestReportRequest { @@ -1466,18 +1466,18 @@ export namespace SendingPausedException { * Own DKIM (BYODKIM).

                                                                */ export interface DkimSigningAttributes { - /** - *

                                                                A string that's used to identify a public key in the DNS configuration for a - * domain.

                                                                - */ - DomainSigningSelector: string | undefined; - /** *

                                                                A private key that's used to generate a DKIM signature.

                                                                *

                                                                The private key must use 1024-bit RSA encryption, and must be encoded using base64 * encoding.

                                                                */ DomainSigningPrivateKey: string | undefined; + + /** + *

                                                                A string that's used to identify a public key in the DNS configuration for a + * domain.

                                                                + */ + DomainSigningSelector: string | undefined; } export namespace DkimSigningAttributes { @@ -1579,6 +1579,13 @@ export interface DkimAttributes { */ SigningAttributesOrigin?: DkimSigningAttributesOrigin | string; + /** + *

                                                                If the value is true, then the messages that you send from the identity + * are signed using DKIM. If the value is false, then the messages that you + * send from the identity aren't DKIM-signed.

                                                                + */ + SigningEnabled?: boolean; + /** *

                                                                Describes whether or not Amazon SES has successfully located the DKIM records in the DNS * records for the domain. The status can be one of the following:

                                                                @@ -1613,13 +1620,6 @@ export interface DkimAttributes { *
                                                              */ Status?: DkimStatus | string; - - /** - *

                                                              If the value is true, then the messages that you send from the identity - * are signed using DKIM. If the value is false, then the messages that you - * send from the identity aren't DKIM-signed.

                                                              - */ - SigningEnabled?: boolean; } export namespace DkimAttributes { @@ -1640,6 +1640,11 @@ export enum IdentityType { *

                                                              If the email identity is an email address, this object is empty.

                                                              */ export interface CreateEmailIdentityResponse { + /** + *

                                                              An object that contains information about the DKIM attributes for the identity.

                                                              + */ + DkimAttributes?: DkimAttributes; + /** *

                                                              Specifies whether or not the identity is verified. You can only send email from * verified email addresses or domains. For more information about verifying identities, @@ -1647,11 +1652,6 @@ export interface CreateEmailIdentityResponse { */ VerifiedForSendingStatus?: boolean; - /** - *

                                                              An object that contains information about the DKIM attributes for the identity.

                                                              - */ - DkimAttributes?: DkimAttributes; - /** *

                                                              The email identity type.

                                                              */ @@ -1721,14 +1721,14 @@ export interface EmailTemplateContent { Text?: string; /** - *

                                                              The subject line of the email.

                                                              + *

                                                              The HTML body of the email.

                                                              */ - Subject?: string; + Html?: string; /** - *

                                                              The HTML body of the email.

                                                              + *

                                                              The subject line of the email.

                                                              */ - Html?: string; + Subject?: string; } export namespace EmailTemplateContent { @@ -1772,101 +1772,214 @@ export namespace CreateEmailTemplateResponse { }); } +export enum DataFormat { + CSV = "CSV", + JSON = "JSON", +} + /** - *

                                                              Contains information about a custom verification email template.

                                                              + *

                                                              An object that contains details about the data source of the import job.

                                                              */ -export interface CustomVerificationEmailTemplateMetadata { +export interface ImportDataSource { /** - *

                                                              The URL that the recipient of the verification email is sent to if his or her address - * is successfully verified.

                                                              + *

                                                              The data format of the import job's data source.

                                                              */ - SuccessRedirectionURL?: string; + DataFormat: DataFormat | string | undefined; /** - *

                                                              The email address that the custom verification email is sent from.

                                                              + *

                                                              An Amazon S3 URL in the format + * s3:///.

                                                              */ - FromEmailAddress?: string; + S3Url: string | undefined; +} - /** - *

                                                              The name of the custom verification email template.

                                                              - */ - TemplateName?: string; +export namespace ImportDataSource { + export const filterSensitiveLog = (obj: ImportDataSource): any => ({ + ...obj, + }); +} - /** - *

                                                              The URL that the recipient of the verification email is sent to if his or her address - * is not successfully verified.

                                                              - */ - FailureRedirectionURL?: string; +export enum SuppressionListImportAction { + DELETE = "DELETE", + PUT = "PUT", +} +/** + *

                                                              An object that contains details about the action of suppression list.

                                                              + */ +export interface SuppressionListDestination { /** - *

                                                              The subject line of the custom verification email.

                                                              + *

                                                              The type of action that you want to perform on the address. Acceptable values:

                                                              + *
                                                                + *
                                                              • + *

                                                                PUT: add the addresses to the suppression list. If the record already exists, + * it will override it with the new value.

                                                                + *
                                                              • + *
                                                              • + *

                                                                DELETE: remove the addresses from the suppression list.

                                                                + *
                                                              • + *
                                                              */ - TemplateSubject?: string; + SuppressionListImportAction: SuppressionListImportAction | string | undefined; } -export namespace CustomVerificationEmailTemplateMetadata { - export const filterSensitiveLog = (obj: CustomVerificationEmailTemplateMetadata): any => ({ +export namespace SuppressionListDestination { + export const filterSensitiveLog = (obj: SuppressionListDestination): any => ({ ...obj, }); } /** - *

                                                              An object that contains inbox placement data for email sent from one of your email - * domains to a specific email provider.

                                                              + *

                                                              An object that contains details about the resource destination the import job is going + * to target.

                                                              */ -export interface DomainIspPlacement { - /** - *

                                                              The name of the email provider that the inbox placement data applies to.

                                                              - */ - IspName?: string; - +export interface ImportDestination { /** - *

                                                              The percentage of messages that were sent from the selected domain to the specified - * email provider that arrived in recipients' inboxes.

                                                              + *

                                                              An object that contains the action of the import job towards suppression list.

                                                              */ - InboxPercentage?: number; + SuppressionListDestination: SuppressionListDestination | undefined; +} - /** - *

                                                              The total number of messages that were sent from the selected domain to the specified - * email provider that arrived in recipients' spam or junk mail folders.

                                                              - */ - SpamRawCount?: number; +export namespace ImportDestination { + export const filterSensitiveLog = (obj: ImportDestination): any => ({ + ...obj, + }); +} +/** + *

                                                              Represents a request to create an import job from a data source for a data + * destination.

                                                              + */ +export interface CreateImportJobRequest { /** - *

                                                              The total number of messages that were sent from the selected domain to the specified - * email provider that arrived in recipients' inboxes.

                                                              + *

                                                              The data source for the import job.

                                                              */ - InboxRawCount?: number; + ImportDataSource: ImportDataSource | undefined; /** - *

                                                              The percentage of messages that were sent from the selected domain to the specified - * email provider that arrived in recipients' spam or junk mail folders.

                                                              + *

                                                              The destination for the import job.

                                                              */ - SpamPercentage?: number; + ImportDestination: ImportDestination | undefined; } -export namespace DomainIspPlacement { - export const filterSensitiveLog = (obj: DomainIspPlacement): any => ({ +export namespace CreateImportJobRequest { + export const filterSensitiveLog = (obj: CreateImportJobRequest): any => ({ ...obj, }); } /** - *

                                                              An object that contains information about the amount of email that was delivered to - * recipients.

                                                              + *

                                                              An HTTP 200 response if the request succeeds, or an error message if the request + * fails.

                                                              */ -export interface VolumeStatistics { +export interface CreateImportJobResponse { /** - *

                                                              The total number of emails that arrived in recipients' inboxes.

                                                              + *

                                                              A string that represents the import job ID.

                                                              + */ + JobId?: string; +} + +export namespace CreateImportJobResponse { + export const filterSensitiveLog = (obj: CreateImportJobResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                              Contains information about a custom verification email template.

                                                              + */ +export interface CustomVerificationEmailTemplateMetadata { + /** + *

                                                              The subject line of the custom verification email.

                                                              + */ + TemplateSubject?: string; + + /** + *

                                                              The URL that the recipient of the verification email is sent to if his or her address + * is successfully verified.

                                                              + */ + SuccessRedirectionURL?: string; + + /** + *

                                                              The URL that the recipient of the verification email is sent to if his or her address + * is not successfully verified.

                                                              + */ + FailureRedirectionURL?: string; + + /** + *

                                                              The email address that the custom verification email is sent from.

                                                              + */ + FromEmailAddress?: string; + + /** + *

                                                              The name of the custom verification email template.

                                                              + */ + TemplateName?: string; +} + +export namespace CustomVerificationEmailTemplateMetadata { + export const filterSensitiveLog = (obj: CustomVerificationEmailTemplateMetadata): any => ({ + ...obj, + }); +} + +/** + *

                                                              An object that contains inbox placement data for email sent from one of your email + * domains to a specific email provider.

                                                              + */ +export interface DomainIspPlacement { + /** + *

                                                              The percentage of messages that were sent from the selected domain to the specified + * email provider that arrived in recipients' inboxes.

                                                              + */ + InboxPercentage?: number; + + /** + *

                                                              The percentage of messages that were sent from the selected domain to the specified + * email provider that arrived in recipients' spam or junk mail folders.

                                                              + */ + SpamPercentage?: number; + + /** + *

                                                              The total number of messages that were sent from the selected domain to the specified + * email provider that arrived in recipients' spam or junk mail folders.

                                                              + */ + SpamRawCount?: number; + + /** + *

                                                              The total number of messages that were sent from the selected domain to the specified + * email provider that arrived in recipients' inboxes.

                                                              */ InboxRawCount?: number; + /** + *

                                                              The name of the email provider that the inbox placement data applies to.

                                                              + */ + IspName?: string; +} + +export namespace DomainIspPlacement { + export const filterSensitiveLog = (obj: DomainIspPlacement): any => ({ + ...obj, + }); +} + +/** + *

                                                              An object that contains information about the amount of email that was delivered to + * recipients.

                                                              + */ +export interface VolumeStatistics { /** *

                                                              An estimate of the percentage of emails sent from the current domain that will arrive * in recipients' spam or junk mail folders.

                                                              */ ProjectedSpam?: number; + /** + *

                                                              The total number of emails that arrived in recipients' inboxes.

                                                              + */ + InboxRawCount?: number; + /** *

                                                              An estimate of the percentage of emails sent from the current domain that will arrive * in recipients' inboxes.

                                                              @@ -1897,16 +2010,16 @@ export interface DailyVolume { */ DomainIspPlacements?: DomainIspPlacement[]; - /** - *

                                                              The date that the DailyVolume metrics apply to, in Unix time.

                                                              - */ - StartDate?: Date; - /** *

                                                              An object that contains inbox placement metrics for a specific day in the analysis * period.

                                                              */ VolumeStatistics?: VolumeStatistics; + + /** + *

                                                              The date that the DailyVolume metrics apply to, in Unix time.

                                                              + */ + StartDate?: Date; } export namespace DailyVolume { @@ -2223,14 +2336,6 @@ export enum DeliverabilityDashboardAccountStatus { *

                                                              An object that contains metadata related to a predictive inbox placement test.

                                                              */ export interface DeliverabilityTestReport { - /** - *

                                                              The status of the predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test - * is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the - * test. If the status is COMPLETE, then the test is finished, and you can use - * the GetDeliverabilityTestReport to view the results of the test.

                                                              - */ - DeliverabilityTestStatus?: DeliverabilityTestStatus | string; - /** *

                                                              The sender address that you specified for the predictive inbox placement test.

                                                              */ @@ -2242,19 +2347,27 @@ export interface DeliverabilityTestReport { ReportName?: string; /** - *

                                                              The subject line for an email that you submitted in a predictive inbox placement test.

                                                              + *

                                                              A unique string that identifies the predictive inbox placement test.

                                                              */ - Subject?: string; + ReportId?: string; /** - *

                                                              A unique string that identifies the predictive inbox placement test.

                                                              + *

                                                              The subject line for an email that you submitted in a predictive inbox placement test.

                                                              */ - ReportId?: string; + Subject?: string; /** *

                                                              The date and time when the predictive inbox placement test was created, in Unix time format.

                                                              */ CreateDate?: Date; + + /** + *

                                                              The status of the predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test + * is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the + * test. If the status is COMPLETE, then the test is finished, and you can use + * the GetDeliverabilityTestReport to view the results of the test.

                                                              + */ + DeliverabilityTestStatus?: DeliverabilityTestStatus | string; } export namespace DeliverabilityTestReport { @@ -2275,12 +2388,6 @@ export interface DomainDeliverabilityCampaign { */ InboxCount?: number; - /** - *

                                                              The URL of an image that contains a snapshot of the email message that was - * sent.

                                                              - */ - ImageUrl?: string; - /** *

                                                              The percentage of email messages that were opened and then deleted by recipients. Due * to technical limitations, this value only includes recipients who opened the message by @@ -2289,27 +2396,31 @@ export interface DomainDeliverabilityCampaign { ReadDeleteRate?: number; /** - *

                                                              The projected number of recipients that the email message was sent to.

                                                              + *

                                                              The URL of an image that contains a snapshot of the email message that was + * sent.

                                                              */ - ProjectedVolume?: number; + ImageUrl?: string; /** - *

                                                              The IP addresses that were used to send the email message.

                                                              + *

                                                              The first time, in Unix time format, when the email message was delivered to any + * recipient's inbox. This value can help you determine how long it took for a campaign to + * deliver an email message.

                                                              */ - SendingIps?: string[]; + FirstSeenDateTime?: Date; /** - *

                                                              The number of email messages that were delivered to recipients' spam or junk mail - * folders.

                                                              + *

                                                              The last time, in Unix time format, when the email message was delivered to any + * recipient's inbox. This value can help you determine how long it took for a campaign to + * deliver an email message.

                                                              */ - SpamCount?: number; + LastSeenDateTime?: Date; /** - *

                                                              The percentage of email messages that were opened by recipients. Due to technical - * limitations, this value only includes recipients who opened the message by using an - * email client that supports images.

                                                              + *

                                                              The percentage of email messages that were deleted by recipients, without being opened + * first. Due to technical limitations, this value only includes recipients who opened the + * message by using an email client that supports images.

                                                              */ - ReadRate?: number; + DeleteRate?: number; /** *

                                                              The unique identifier for the campaign. The Deliverability dashboard automatically generates @@ -2318,9 +2429,9 @@ export interface DomainDeliverabilityCampaign { CampaignId?: string; /** - *

                                                              The major email providers who handled the email message.

                                                              + *

                                                              The subject line, or title, of the email message.

                                                              */ - Esps?: string[]; + Subject?: string; /** *

                                                              The verified email address that the email message was sent from.

                                                              @@ -2328,30 +2439,32 @@ export interface DomainDeliverabilityCampaign { FromAddress?: string; /** - *

                                                              The subject line, or title, of the email message.

                                                              + *

                                                              The major email providers who handled the email message.

                                                              */ - Subject?: string; + Esps?: string[]; /** - *

                                                              The last time, in Unix time format, when the email message was delivered to any - * recipient's inbox. This value can help you determine how long it took for a campaign to - * deliver an email message.

                                                              + *

                                                              The projected number of recipients that the email message was sent to.

                                                              */ - LastSeenDateTime?: Date; + ProjectedVolume?: number; /** - *

                                                              The first time, in Unix time format, when the email message was delivered to any - * recipient's inbox. This value can help you determine how long it took for a campaign to - * deliver an email message.

                                                              + *

                                                              The IP addresses that were used to send the email message.

                                                              */ - FirstSeenDateTime?: Date; + SendingIps?: string[]; /** - *

                                                              The percentage of email messages that were deleted by recipients, without being opened - * first. Due to technical limitations, this value only includes recipients who opened the - * message by using an email client that supports images.

                                                              + *

                                                              The number of email messages that were delivered to recipients' spam or junk mail + * folders.

                                                              */ - DeleteRate?: number; + SpamCount?: number; + + /** + *

                                                              The percentage of email messages that were opened by recipients. Due to technical + * limitations, this value only includes recipients who opened the message by using an + * email client that supports images.

                                                              + */ + ReadRate?: number; } export namespace DomainDeliverabilityCampaign { @@ -2391,6 +2504,12 @@ export namespace InboxPlacementTrackingOption { * to reputation, inbox placement, and other metrics for the domain.

                                                              */ export interface DomainDeliverabilityTrackingOption { + /** + *

                                                              The date, in Unix time format, when you enabled the Deliverability dashboard for the + * domain.

                                                              + */ + SubscriptionStartDate?: Date; + /** *

                                                              An object that contains information about the inbox placement data settings for the * domain.

                                                              @@ -2402,12 +2521,6 @@ export interface DomainDeliverabilityTrackingOption { * active Deliverability dashboard subscription.

                                                              */ Domain?: string; - - /** - *

                                                              The date, in Unix time format, when you enabled the Deliverability dashboard for the - * domain.

                                                              - */ - SubscriptionStartDate?: Date; } export namespace DomainDeliverabilityTrackingOption { @@ -2446,10 +2559,10 @@ export namespace EmailTemplateMetadata { */ export interface EventDestination { /** - *

                                                              An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to - * send notification when certain email events occur.

                                                              + *

                                                              An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to + * stream data to other services, such as Amazon S3 and Amazon Redshift.

                                                              */ - SnsDestination?: SnsDestination; + KinesisFirehoseDestination?: KinesisFirehoseDestination; /** *

                                                              An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to @@ -2466,6 +2579,17 @@ export interface EventDestination { */ Enabled?: boolean; + /** + *

                                                              An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to + * send notification when certain email events occur.

                                                              + */ + SnsDestination?: SnsDestination; + + /** + *

                                                              The types of events that Amazon SES sends to the specified event destinations.

                                                              + */ + MatchingEventTypes: (EventType | string)[] | undefined; + /** *

                                                              An object that defines an Amazon Pinpoint project destination for email events. You can send * email event data to a Amazon Pinpoint project to view metrics using the Transactional Messaging @@ -2475,24 +2599,35 @@ export interface EventDestination { PinpointDestination?: PinpointDestination; /** - *

                                                              The types of events that Amazon SES sends to the specified event destinations.

                                                              + *

                                                              A name that identifies the event destination.

                                                              */ - MatchingEventTypes: (EventType | string)[] | undefined; + Name: string | undefined; +} +export namespace EventDestination { + export const filterSensitiveLog = (obj: EventDestination): any => ({ + ...obj, + }); +} + +/** + *

                                                              An object that contains the failure details about an import job.

                                                              + */ +export interface FailureInfo { /** - *

                                                              A name that identifies the event destination.

                                                              + *

                                                              A message about why the import job failed.

                                                              */ - Name: string | undefined; + ErrorMessage?: string; /** - *

                                                              An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to - * stream data to other services, such as Amazon S3 and Amazon Redshift.

                                                              + *

                                                              An Amazon S3 presigned URL that contains all the failed records and related + * information.

                                                              */ - KinesisFirehoseDestination?: KinesisFirehoseDestination; + FailedRecordsS3Url?: string; } -export namespace EventDestination { - export const filterSensitiveLog = (obj: EventDestination): any => ({ +export namespace FailureInfo { + export const filterSensitiveLog = (obj: FailureInfo): any => ({ ...obj, }); } @@ -2586,21 +2721,15 @@ export interface GetAccountResponse { SendQuota?: SendQuota; /** - *

                                                              Indicates whether or not email sending is enabled for your Amazon SES account in the - * current AWS Region.

                                                              - */ - SendingEnabled?: boolean; - - /** - *

                                                              An object that contains information about the email address suppression preferences - * for your account in the current AWS Region.

                                                              + *

                                                              An object that defines your account details.

                                                              */ - SuppressionAttributes?: SuppressionAttributes; + Details?: AccountDetails; /** - *

                                                              An object that defines your account details.

                                                              + *

                                                              Indicates whether or not email sending is enabled for your Amazon SES account in the + * current AWS Region.

                                                              */ - Details?: AccountDetails; + SendingEnabled?: boolean; /** *

                                                              Indicates whether or not your account has production access in the current AWS @@ -2647,6 +2776,12 @@ export interface GetAccountResponse { * addresses that are associated with your account.

                                                              */ DedicatedIpAutoWarmupEnabled?: boolean; + + /** + *

                                                              An object that contains information about the email address suppression preferences + * for your account in the current AWS Region.

                                                              + */ + SuppressionAttributes?: SuppressionAttributes; } export namespace GetAccountResponse { @@ -2714,10 +2849,10 @@ export namespace GetConfigurationSetRequest { */ export interface GetConfigurationSetResponse { /** - *

                                                              An object that defines whether or not Amazon SES can send email that you send using the - * configuration set.

                                                              + *

                                                              An object that defines the open and click tracking options for emails that you send + * using the configuration set.

                                                              */ - SendingOptions?: SendingOptions; + TrackingOptions?: TrackingOptions; /** *

                                                              An object that defines the dedicated IP pool that is used to send emails that you send @@ -2726,28 +2861,28 @@ export interface GetConfigurationSetResponse { DeliveryOptions?: DeliveryOptions; /** - *

                                                              An object that defines the open and click tracking options for emails that you send - * using the configuration set.

                                                              + *

                                                              An array of objects that define the tags (keys and values) that are associated with + * the configuration set.

                                                              */ - TrackingOptions?: TrackingOptions; + Tags?: Tag[]; + + /** + *

                                                              An object that defines whether or not Amazon SES collects reputation metrics for the emails + * that you send that use the configuration set.

                                                              + */ + ReputationOptions?: ReputationOptions; /** - *

                                                              An array of objects that define the tags (keys and values) that are associated with - * the configuration set.

                                                              + *

                                                              An object that defines whether or not Amazon SES can send email that you send using the + * configuration set.

                                                              */ - Tags?: Tag[]; + SendingOptions?: SendingOptions; /** *

                                                              The name of the configuration set.

                                                              */ ConfigurationSetName?: string; - /** - *

                                                              An object that defines whether or not Amazon SES collects reputation metrics for the emails - * that you send that use the configuration set.

                                                              - */ - ReputationOptions?: ReputationOptions; - /** *

                                                              An object that contains information about the suppression list preferences for your * account.

                                                              @@ -2816,11 +2951,22 @@ export namespace GetCustomVerificationEmailTemplateRequest { *

                                                              The following elements are returned by the service.

                                                              */ export interface GetCustomVerificationEmailTemplateResponse { + /** + *

                                                              The URL that the recipient of the verification email is sent to if his or her address + * is not successfully verified.

                                                              + */ + FailureRedirectionURL?: string; + /** *

                                                              The email address that the custom verification email is sent from.

                                                              */ FromEmailAddress?: string; + /** + *

                                                              The subject line of the custom verification email.

                                                              + */ + TemplateSubject?: string; + /** *

                                                              The content of the custom verification email.

                                                              */ @@ -2836,17 +2982,6 @@ export interface GetCustomVerificationEmailTemplateResponse { *

                                                              The name of the custom verification email template.

                                                              */ TemplateName?: string; - - /** - *

                                                              The URL that the recipient of the verification email is sent to if his or her address - * is not successfully verified.

                                                              - */ - FailureRedirectionURL?: string; - - /** - *

                                                              The subject line of the custom verification email.

                                                              - */ - TemplateSubject?: string; } export namespace GetCustomVerificationEmailTemplateResponse { @@ -2893,12 +3028,9 @@ export namespace GetDedicatedIpResponse { */ export interface GetDedicatedIpsRequest { /** - *

                                                              The number of results to show in a single call to GetDedicatedIpsRequest. - * If the number of results is larger than the number you specified in this parameter, then - * the response includes a NextToken element, which you can use to obtain - * additional results.

                                                              + *

                                                              The name of the IP pool that the dedicated IP address is associated with.

                                                              */ - PageSize?: number; + PoolName?: string; /** *

                                                              A token returned from a previous call to GetDedicatedIps to indicate the @@ -2907,9 +3039,12 @@ export interface GetDedicatedIpsRequest { NextToken?: string; /** - *

                                                              The name of the IP pool that the dedicated IP address is associated with.

                                                              + *

                                                              The number of results to show in a single call to GetDedicatedIpsRequest. + * If the number of results is larger than the number you specified in this parameter, then + * the response includes a NextToken element, which you can use to obtain + * additional results.

                                                              */ - PoolName?: string; + PageSize?: number; } export namespace GetDedicatedIpsRequest { @@ -2963,14 +3098,6 @@ export namespace GetDeliverabilityDashboardOptionsRequest { *

                                                              An object that shows the status of the Deliverability dashboard.

                                                              */ export interface GetDeliverabilityDashboardOptionsResponse { - /** - *

                                                              The date, in Unix time format, when your current subscription to the Deliverability dashboard - * is scheduled to expire, if your subscription is scheduled to expire at the end of the - * current calendar month. This value is null if you have an active subscription that isn’t - * due to expire at the end of the month.

                                                              - */ - SubscriptionExpiryDate?: Date; - /** *

                                                              An array of objects, one for each verified domain that you use to send email and * currently has an active Deliverability dashboard subscription that's scheduled to expire at the @@ -2978,12 +3105,6 @@ export interface GetDeliverabilityDashboardOptionsResponse { */ PendingExpirationSubscribedDomains?: DomainDeliverabilityTrackingOption[]; - /** - *

                                                              Specifies whether the Deliverability dashboard is enabled. If this value is true, - * the dashboard is enabled.

                                                              - */ - DashboardEnabled: boolean | undefined; - /** *

                                                              An array of objects, one for each verified domain that you use to send email and * currently has an active Deliverability dashboard subscription that isn’t scheduled to expire at @@ -2991,12 +3112,26 @@ export interface GetDeliverabilityDashboardOptionsResponse { */ ActiveSubscribedDomains?: DomainDeliverabilityTrackingOption[]; + /** + *

                                                              Specifies whether the Deliverability dashboard is enabled. If this value is true, + * the dashboard is enabled.

                                                              + */ + DashboardEnabled: boolean | undefined; + /** *

                                                              The current status of your Deliverability dashboard subscription. If this value is * PENDING_EXPIRATION, your subscription is scheduled to expire at the end * of the current calendar month.

                                                              */ AccountStatus?: DeliverabilityDashboardAccountStatus | string; + + /** + *

                                                              The date, in Unix time format, when your current subscription to the Deliverability dashboard + * is scheduled to expire, if your subscription is scheduled to expire at the end of the + * current calendar month. This value is null if you have an active subscription that isn’t + * due to expire at the end of the month.

                                                              + */ + SubscriptionExpiryDate?: Date; } export namespace GetDeliverabilityDashboardOptionsResponse { @@ -3025,17 +3160,18 @@ export namespace GetDeliverabilityTestReportRequest { *

                                                              An object that contains inbox placement data for an email provider.

                                                              */ export interface PlacementStatistics { - /** - *

                                                              The percentage of emails that arrived in recipients' inboxes during the predictive inbox placement test.

                                                              - */ - InboxPercentage?: number; - /** *

                                                              The percentage of emails that were authenticated by using Sender Policy Framework * (SPF) during the predictive inbox placement test.

                                                              */ SpfPercentage?: number; + /** + *

                                                              The percentage of emails that didn't arrive in recipients' inboxes at all during the + * predictive inbox placement test.

                                                              + */ + MissingPercentage?: number; + /** *

                                                              The percentage of emails that were authenticated by using DomainKeys Identified Mail * (DKIM) during the predictive inbox placement test.

                                                              @@ -3043,16 +3179,15 @@ export interface PlacementStatistics { DkimPercentage?: number; /** - *

                                                              The percentage of emails that arrived in recipients' spam or junk mail folders during - * the predictive inbox placement test.

                                                              + *

                                                              The percentage of emails that arrived in recipients' inboxes during the predictive inbox placement test.

                                                              */ - SpamPercentage?: number; + InboxPercentage?: number; /** - *

                                                              The percentage of emails that didn't arrive in recipients' inboxes at all during the - * predictive inbox placement test.

                                                              + *

                                                              The percentage of emails that arrived in recipients' spam or junk mail folders during + * the predictive inbox placement test.

                                                              */ - MissingPercentage?: number; + SpamPercentage?: number; } export namespace PlacementStatistics { @@ -3093,6 +3228,11 @@ export interface GetDeliverabilityTestReportResponse { */ IspPlacements: IspPlacement[] | undefined; + /** + *

                                                              An object that contains the results of the predictive inbox placement test.

                                                              + */ + DeliverabilityTestReport: DeliverabilityTestReport | undefined; + /** *

                                                              An array of objects that define the tags (keys and values) that are associated with * the predictive inbox placement test.

                                                              @@ -3111,11 +3251,6 @@ export interface GetDeliverabilityTestReportResponse { * predictive inbox placement test.

                                                              */ Message?: string; - - /** - *

                                                              An object that contains the results of the predictive inbox placement test.

                                                              - */ - DeliverabilityTestReport: DeliverabilityTestReport | undefined; } export namespace GetDeliverabilityTestReportResponse { @@ -3196,18 +3331,18 @@ export namespace GetDomainStatisticsReportRequest { * domain.

                                                              */ export interface OverallVolume { - /** - *

                                                              An object that contains inbox and junk mail placement metrics for individual email - * providers.

                                                              - */ - DomainIspPlacements?: DomainIspPlacement[]; - /** *

                                                              An object that contains information about the numbers of messages that arrived in * recipients' inboxes and junk mail folders.

                                                              */ VolumeStatistics?: VolumeStatistics; + /** + *

                                                              An object that contains inbox and junk mail placement metrics for individual email + * providers.

                                                              + */ + DomainIspPlacements?: DomainIspPlacement[]; + /** *

                                                              The percentage of emails that were sent from the domain that were read by their * recipients.

                                                              @@ -3331,9 +3466,10 @@ export namespace MailFromAttributes { */ export interface GetEmailIdentityResponse { /** - *

                                                              The email identity type.

                                                              + *

                                                              An array of objects that define the tags (keys and values) that are associated with + * the email identity.

                                                              */ - IdentityType?: IdentityType | string; + Tags?: Tag[]; /** *

                                                              An object that contains information about the Mail-From attributes for the email @@ -3341,6 +3477,16 @@ export interface GetEmailIdentityResponse { */ MailFromAttributes?: MailFromAttributes; + /** + *

                                                              The email identity type.

                                                              + */ + IdentityType?: IdentityType | string; + + /** + *

                                                              A map of policy names to policies.

                                                              + */ + Policies?: { [key: string]: string }; + /** *

                                                              The feedback forwarding configuration for the identity.

                                                              *

                                                              If the value is true, you receive email notifications when bounce or @@ -3354,27 +3500,16 @@ export interface GetEmailIdentityResponse { FeedbackForwardingStatus?: boolean; /** - *

                                                              An array of objects that define the tags (keys and values) that are associated with - * the email identity.

                                                              - */ - Tags?: Tag[]; - - /** - *

                                                              A map of policy names to policies.

                                                              + *

                                                              Specifies whether or not the identity is verified. You can only send email from + * verified email addresses or domains. For more information about verifying identities, + * see the Amazon Pinpoint User Guide.

                                                              */ - Policies?: { [key: string]: string }; + VerifiedForSendingStatus?: boolean; /** *

                                                              An object that contains information about the DKIM attributes for the identity.

                                                              */ DkimAttributes?: DkimAttributes; - - /** - *

                                                              Specifies whether or not the identity is verified. You can only send email from - * verified email addresses or domains. For more information about verifying identities, - * see the Amazon Pinpoint User Guide.

                                                              - */ - VerifiedForSendingStatus?: boolean; } export namespace GetEmailIdentityResponse { @@ -3454,6 +3589,88 @@ export namespace GetEmailTemplateResponse { }); } +/** + *

                                                              Represents a request for information about an import job using the import job + * ID.

                                                              + */ +export interface GetImportJobRequest { + /** + *

                                                              The ID of the import job.

                                                              + */ + JobId: string | undefined; +} + +export namespace GetImportJobRequest { + export const filterSensitiveLog = (obj: GetImportJobRequest): any => ({ + ...obj, + }); +} + +export enum JobStatus { + COMPLETED = "COMPLETED", + CREATED = "CREATED", + FAILED = "FAILED", + PROCESSING = "PROCESSING", +} + +/** + *

                                                              An HTTP 200 response if the request succeeds, or an error message if the request + * fails.

                                                              + */ +export interface GetImportJobResponse { + /** + *

                                                              The time stamp of when the import job was completed.

                                                              + */ + CompletedTimestamp?: Date; + + /** + *

                                                              The failure details about an import job.

                                                              + */ + FailureInfo?: FailureInfo; + + /** + *

                                                              The destination of the import job.

                                                              + */ + ImportDestination?: ImportDestination; + + /** + *

                                                              The current number of records processed.

                                                              + */ + ProcessedRecordsCount?: number; + + /** + *

                                                              The status of the import job.

                                                              + */ + JobStatus?: JobStatus | string; + + /** + *

                                                              The time stamp of when the import job was created.

                                                              + */ + CreatedTimestamp?: Date; + + /** + *

                                                              A string that represents the import job ID.

                                                              + */ + JobId?: string; + + /** + *

                                                              The number of records that failed processing because of invalid input or other + * reasons.

                                                              + */ + FailedRecordsCount?: number; + + /** + *

                                                              The data source of the import job.

                                                              + */ + ImportDataSource?: ImportDataSource; +} + +export namespace GetImportJobResponse { + export const filterSensitiveLog = (obj: GetImportJobResponse): any => ({ + ...obj, + }); +} + /** *

                                                              A request to retrieve information about an email address that's on the suppression * list for your account.

                                                              @@ -3500,17 +3717,17 @@ export namespace SuppressedDestinationAttributes { * list for your account.

                                                              */ export interface SuppressedDestination { - /** - *

                                                              The email address that is on the suppression list for your account.

                                                              - */ - EmailAddress: string | undefined; - /** *

                                                              The date and time when the suppressed destination was last updated, shown in Unix time * format.

                                                              */ LastUpdateTime: Date | undefined; + /** + *

                                                              The email address that is on the suppression list for your account.

                                                              + */ + EmailAddress: string | undefined; + /** *

                                                              The reason that the address was added to the suppression list for your account.

                                                              */ @@ -3549,6 +3766,11 @@ export namespace GetSuppressedDestinationResponse { *

                                                              Information about an email identity.

                                                              */ export interface IdentityInfo { + /** + *

                                                              The address or domain of the identity.

                                                              + */ + IdentityName?: string; + /** *

                                                              Indicates whether or not you can send email from the identity.

                                                              *

                                                              An identity is an email address or domain that you send email @@ -3557,11 +3779,6 @@ export interface IdentityInfo { */ SendingEnabled?: boolean; - /** - *

                                                              The address or domain of the identity.

                                                              - */ - IdentityName?: string; - /** *

                                                              The email identity type. The identity type can be one of the following:

                                                              *
                                                                @@ -3589,6 +3806,39 @@ export namespace IdentityInfo { }); } +export enum ImportDestinationType { + SUPPRESSION_LIST = "SUPPRESSION_LIST", +} + +/** + *

                                                                A summary of the import job.

                                                                + */ +export interface ImportJobSummary { + /** + *

                                                                The status of the import job.

                                                                + */ + JobStatus?: JobStatus | string; + + /** + *

                                                                A string that represents the import job ID.

                                                                + */ + JobId?: string; + + /** + *

                                                                An object that contains details about the resource destination the import job is going + * to target.

                                                                + */ + ImportDestination?: ImportDestination; + + CreatedTimestamp?: Date; +} + +export namespace ImportJobSummary { + export const filterSensitiveLog = (obj: ImportJobSummary): any => ({ + ...obj, + }); +} + /** *

                                                                The specified request includes an invalid or expired token.

                                                                */ @@ -3630,16 +3880,10 @@ export namespace ListConfigurationSetsRequest { }); } -/** - *

                                                                A list of configuration sets in your Amazon SES account in the current AWS Region.

                                                                - */ -export interface ListConfigurationSetsResponse { - /** - *

                                                                An array that contains all of the configuration sets in your Amazon SES account in the - * current AWS Region.

                                                                - */ - ConfigurationSets?: string[]; - +/** + *

                                                                A list of configuration sets in your Amazon SES account in the current AWS Region.

                                                                + */ +export interface ListConfigurationSetsResponse { /** *

                                                                A token that indicates that there are additional configuration sets to list. To view * additional configuration sets, issue another request to @@ -3647,6 +3891,12 @@ export interface ListConfigurationSetsResponse { * NextToken parameter.

                                                                */ NextToken?: string; + + /** + *

                                                                An array that contains all of the configuration sets in your Amazon SES account in the + * current AWS Region.

                                                                + */ + ConfigurationSets?: string[]; } export namespace ListConfigurationSetsResponse { @@ -3660,6 +3910,13 @@ export namespace ListConfigurationSetsResponse { * account.

                                                                */ export interface ListCustomVerificationEmailTemplatesRequest { + /** + *

                                                                A token returned from a previous call to + * ListCustomVerificationEmailTemplates to indicate the position in the + * list of custom verification email templates.

                                                                + */ + NextToken?: string; + /** *

                                                                The number of results to show in a single call to * ListCustomVerificationEmailTemplates. If the number of results is @@ -3669,13 +3926,6 @@ export interface ListCustomVerificationEmailTemplatesRequest { *

                                                                The value you specify has to be at least 1, and can be no more than 50.

                                                                */ PageSize?: number; - - /** - *

                                                                A token returned from a previous call to - * ListCustomVerificationEmailTemplates to indicate the position in the - * list of custom verification email templates.

                                                                - */ - NextToken?: string; } export namespace ListCustomVerificationEmailTemplatesRequest { @@ -3814,6 +4064,13 @@ export namespace ListDeliverabilityTestReportsResponse { * enabled the Deliverability dashboard.

                                                                */ export interface ListDomainDeliverabilityCampaignsRequest { + /** + *

                                                                The last day, in Unix time format, that you want to obtain deliverability data for. + * This value has to be less than or equal to 30 days after the value of the + * StartDate parameter.

                                                                + */ + EndDate: Date | undefined; + /** *

                                                                The maximum number of results to include in response to a single call to the * ListDomainDeliverabilityCampaigns operation. If the number of results @@ -3824,23 +4081,16 @@ export interface ListDomainDeliverabilityCampaignsRequest { PageSize?: number; /** - *

                                                                The last day, in Unix time format, that you want to obtain deliverability data for. - * This value has to be less than or equal to 30 days after the value of the - * StartDate parameter.

                                                                + *

                                                                The first day, in Unix time format, that you want to obtain deliverability data + * for.

                                                                */ - EndDate: Date | undefined; + StartDate: Date | undefined; /** *

                                                                The domain to obtain deliverability data for.

                                                                */ SubscribedDomain: string | undefined; - /** - *

                                                                The first day, in Unix time format, that you want to obtain deliverability data - * for.

                                                                - */ - StartDate: Date | undefined; - /** *

                                                                A token that’s returned from a previous call to the * ListDomainDeliverabilityCampaigns operation. This token indicates the @@ -3861,18 +4111,18 @@ export namespace ListDomainDeliverabilityCampaignsRequest { * a domain only if you enabled the Deliverability dashboard for the domain.

                                                                */ export interface ListDomainDeliverabilityCampaignsResponse { - /** - *

                                                                An array of responses, one for each campaign that used the domain to send email during - * the specified time range.

                                                                - */ - DomainDeliverabilityCampaigns: DomainDeliverabilityCampaign[] | undefined; - /** *

                                                                A token that’s returned from a previous call to the * ListDomainDeliverabilityCampaigns operation. This token indicates the * position of the campaign in the list of campaigns.

                                                                */ NextToken?: string; + + /** + *

                                                                An array of responses, one for each campaign that used the domain to send email during + * the specified time range.

                                                                + */ + DomainDeliverabilityCampaigns: DomainDeliverabilityCampaign[] | undefined; } export namespace ListDomainDeliverabilityCampaignsResponse { @@ -3986,6 +4236,64 @@ export namespace ListEmailTemplatesResponse { }); } +/** + *

                                                                Represents a request to list all of the import jobs for a data destination within the + * specified maximum number of import jobs.

                                                                + */ +export interface ListImportJobsRequest { + /** + *

                                                                A string token indicating that there might be additional import jobs available to be + * listed. Copy this token to a subsequent call to ListImportJobs with the + * same parameters to retrieve the next page of import jobs.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The destination of the import job, which can be used to list import jobs that have a + * certain ImportDestinationType.

                                                                + */ + ImportDestinationType?: ImportDestinationType | string; + + /** + *

                                                                Maximum number of import jobs to return at once. Use this parameter to paginate + * results. If additional import jobs exist beyond the specified limit, the + * NextToken element is sent in the response. Use the + * NextToken value in subsequent requests to retrieve additional + * addresses.

                                                                + */ + PageSize?: number; +} + +export namespace ListImportJobsRequest { + export const filterSensitiveLog = (obj: ListImportJobsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                An HTTP 200 response if the request succeeds, or an error message if the request + * fails.

                                                                + */ +export interface ListImportJobsResponse { + /** + *

                                                                A string token indicating that there might be additional import jobs available to be + * listed. Copy this token to a subsequent call to ListImportJobs with the + * same parameters to retrieve the next page of import jobs.

                                                                + */ + NextToken?: string; + + /** + *

                                                                A list of the import job summaries.

                                                                + */ + ImportJobs?: ImportJobSummary[]; +} + +export namespace ListImportJobsResponse { + export const filterSensitiveLog = (obj: ListImportJobsResponse): any => ({ + ...obj, + }); +} + /** *

                                                                A request to obtain a list of email destinations that are on the suppression list for * your account.

                                                                @@ -4037,14 +4345,14 @@ export namespace ListSuppressedDestinationsRequest { */ export interface SuppressedDestinationSummary { /** - *

                                                                The reason that the address was added to the suppression list for your account.

                                                                + *

                                                                The email address that's on the suppression list for your account.

                                                                */ - Reason: SuppressionListReason | string | undefined; + EmailAddress: string | undefined; /** - *

                                                                The email address that's on the suppression list for your account.

                                                                + *

                                                                The reason that the address was added to the suppression list for your account.

                                                                */ - EmailAddress: string | undefined; + Reason: SuppressionListReason | string | undefined; /** *

                                                                The date and time when the suppressed destination was last updated, shown in Unix time @@ -4149,23 +4457,14 @@ export namespace PutAccountDedicatedIpWarmupAttributesResponse { */ export interface PutAccountDetailsRequest { /** - *

                                                                Indicates whether or not your account should have production access in the current - * AWS Region.

                                                                - *

                                                                If the value is false, then your account is in the - * sandbox. When your account is in the sandbox, you can only send - * email to verified identities. Additionally, the maximum number of emails you can send in - * a 24-hour period (your sending quota) is 200, and the maximum number of emails you can - * send per second (your maximum sending rate) is 1.

                                                                - *

                                                                If the value is true, then your account has production access. When your - * account has production access, you can send email to any address. The sending quota and - * maximum sending rate for your account vary based on your specific use case.

                                                                + *

                                                                The type of email your account will send.

                                                                */ - ProductionAccessEnabled?: boolean; + MailType: MailType | string | undefined; /** - *

                                                                The type of email your account will send.

                                                                + *

                                                                A description of the types of email that you plan to send.

                                                                */ - MailType: MailType | string | undefined; + UseCaseDescription: string | undefined; /** *

                                                                The language you would prefer to be contacted with.

                                                                @@ -4173,9 +4472,10 @@ export interface PutAccountDetailsRequest { ContactLanguage?: ContactLanguage | string; /** - *

                                                                A description of the types of email that you plan to send.

                                                                + *

                                                                The URL of your website. This information helps us better understand the type of + * content that you plan to send.

                                                                */ - UseCaseDescription: string | undefined; + WebsiteURL: string | undefined; /** *

                                                                Additional email addresses that you would like to be notified regarding Amazon SES @@ -4184,18 +4484,26 @@ export interface PutAccountDetailsRequest { AdditionalContactEmailAddresses?: string[]; /** - *

                                                                The URL of your website. This information helps us better understand the type of - * content that you plan to send.

                                                                + *

                                                                Indicates whether or not your account should have production access in the current + * AWS Region.

                                                                + *

                                                                If the value is false, then your account is in the + * sandbox. When your account is in the sandbox, you can only send + * email to verified identities. Additionally, the maximum number of emails you can send in + * a 24-hour period (your sending quota) is 200, and the maximum number of emails you can + * send per second (your maximum sending rate) is 1.

                                                                + *

                                                                If the value is true, then your account has production access. When your + * account has production access, you can send email to any address. The sending quota and + * maximum sending rate for your account vary based on your specific use case.

                                                                */ - WebsiteURL: string | undefined; + ProductionAccessEnabled?: boolean; } export namespace PutAccountDetailsRequest { export const filterSensitiveLog = (obj: PutAccountDetailsRequest): any => ({ ...obj, ...(obj.UseCaseDescription && { UseCaseDescription: SENSITIVE_STRING }), - ...(obj.AdditionalContactEmailAddresses && { AdditionalContactEmailAddresses: SENSITIVE_STRING }), ...(obj.WebsiteURL && { WebsiteURL: SENSITIVE_STRING }), + ...(obj.AdditionalContactEmailAddresses && { AdditionalContactEmailAddresses: SENSITIVE_STRING }), }); } @@ -4530,16 +4838,16 @@ export namespace PutDedicatedIpInPoolResponse { * is useful when you want to resume the warm-up process for an existing IP address.

                                                                */ export interface PutDedicatedIpWarmupAttributesRequest { - /** - *

                                                                The dedicated IP address that you want to update the warm-up attributes for.

                                                                - */ - Ip: string | undefined; - /** *

                                                                The warm-up percentage that you want to associate with the dedicated IP * address.

                                                                */ WarmupPercentage: number | undefined; + + /** + *

                                                                The dedicated IP address that you want to update the warm-up attributes for.

                                                                + */ + Ip: string | undefined; } export namespace PutDedicatedIpWarmupAttributesRequest { @@ -4794,12 +5102,6 @@ export namespace PutEmailIdentityFeedbackAttributesResponse { *

                                                                A request to configure the custom MAIL FROM domain for a verified identity.

                                                                */ export interface PutEmailIdentityMailFromAttributesRequest { - /** - *

                                                                The verified email identity that you want to set up the custom MAIL FROM domain - * for.

                                                                - */ - EmailIdentity: string | undefined; - /** *

                                                                The action that you want to take if the required MX record isn't found when you send * an email. When you set this value to UseDefaultValue, the mail is sent @@ -4813,6 +5115,12 @@ export interface PutEmailIdentityMailFromAttributesRequest { */ BehaviorOnMxFailure?: BehaviorOnMxFailure | string; + /** + *

                                                                The verified email identity that you want to set up the custom MAIL FROM domain + * for.

                                                                + */ + EmailIdentity: string | undefined; + /** *

                                                                The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM * domain must meet the following criteria:

                                                                @@ -4891,6 +5199,12 @@ export namespace PutSuppressedDestinationResponse { * Guide.

                                                                */ export interface SendBulkEmailRequest { + /** + *

                                                                The "Reply-to" email addresses for the message. When the recipient replies to the + * message, each Reply-to address receives the reply.

                                                                + */ + ReplyToAddresses?: string[]; + /** *

                                                                A list of tags, in the form of name/value pairs, to apply to an email that you send * using the SendEmail operation. Tags correspond to characteristics of the @@ -4898,17 +5212,6 @@ export interface SendBulkEmailRequest { */ DefaultEmailTags?: MessageTag[]; - /** - *

                                                                The name of the configuration set that you want to use when sending the email.

                                                                - */ - ConfigurationSetName?: string; - - /** - *

                                                                The "Reply-to" email addresses for the message. When the recipient replies to the - * message, each Reply-to address receives the reply.

                                                                - */ - ReplyToAddresses?: string[]; - /** *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity * that is associated with the sending authorization policy that permits you to use the @@ -4924,16 +5227,27 @@ export interface SendBulkEmailRequest { */ FromEmailAddressIdentityArn?: string; + /** + *

                                                                An object that contains the body of the message. You can specify a template + * message.

                                                                + */ + DefaultContent: BulkEmailContent | undefined; + /** *

                                                                The list of bulk email entry objects.

                                                                */ BulkEmailEntries: BulkEmailEntry[] | undefined; /** - *

                                                                An object that contains the body of the message. You can specify a template - * message.

                                                                + *

                                                                The address that you want bounce and complaint notifications to be sent to.

                                                                */ - DefaultContent: BulkEmailContent | undefined; + FeedbackForwardingEmailAddress?: string; + + /** + *

                                                                The email address that you want to use as the "From" address for the email. The + * address that you specify has to be verified.

                                                                + */ + FromEmailAddress?: string; /** *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity @@ -4952,15 +5266,9 @@ export interface SendBulkEmailRequest { FeedbackForwardingEmailAddressIdentityArn?: string; /** - *

                                                                The address that you want bounce and complaint notifications to be sent to.

                                                                - */ - FeedbackForwardingEmailAddress?: string; - - /** - *

                                                                The email address that you want to use as the "From" address for the email. The - * address that you specify has to be verified.

                                                                + *

                                                                The name of the configuration set that you want to use when sending the email.

                                                                */ - FromEmailAddress?: string; + ConfigurationSetName?: string; } export namespace SendBulkEmailRequest { @@ -4995,16 +5303,16 @@ export interface SendCustomVerificationEmailRequest { */ EmailAddress: string | undefined; - /** - *

                                                                Name of a configuration set to use when sending the verification email.

                                                                - */ - ConfigurationSetName?: string; - /** *

                                                                The name of the custom verification email template to use when sending the * verification email.

                                                                */ TemplateName: string | undefined; + + /** + *

                                                                Name of a configuration set to use when sending the verification email.

                                                                + */ + ConfigurationSetName?: string; } export namespace SendCustomVerificationEmailRequest { @@ -5036,12 +5344,6 @@ export namespace SendCustomVerificationEmailResponse { * Guide.

                                                                */ export interface SendEmailRequest { - /** - *

                                                                The "Reply-to" email addresses for the message. When the recipient replies to the - * message, each Reply-to address receives the reply.

                                                                - */ - ReplyToAddresses?: string[]; - /** *

                                                                The name of the configuration set that you want to use when sending the email.

                                                                */ @@ -5066,16 +5368,15 @@ export interface SendEmailRequest { FromEmailAddressIdentityArn?: string; /** - *

                                                                The address that you want bounce and complaint notifications to be sent to.

                                                                + *

                                                                The "Reply-to" email addresses for the message. When the recipient replies to the + * message, each Reply-to address receives the reply.

                                                                */ - FeedbackForwardingEmailAddress?: string; + ReplyToAddresses?: string[]; /** - *

                                                                The email address that you want to use as the "From" address for the email. The - * address that you specify has to be verified. - *

                                                                + *

                                                                An object that contains the recipients of the email message.

                                                                */ - FromEmailAddress?: string; + Destination?: Destination; /** *

                                                                This parameter is used only for sending authorization. It is the ARN of the identity @@ -5094,9 +5395,16 @@ export interface SendEmailRequest { FeedbackForwardingEmailAddressIdentityArn?: string; /** - *

                                                                An object that contains the recipients of the email message.

                                                                + *

                                                                The address that you want bounce and complaint notifications to be sent to.

                                                                */ - Destination?: Destination; + FeedbackForwardingEmailAddress?: string; + + /** + *

                                                                The email address that you want to use as the "From" address for the email. The + * address that you specify has to be verified. + *

                                                                + */ + FromEmailAddress?: string; /** *

                                                                An object that contains the body of the message. You can send either a Simple message @@ -5258,14 +5566,14 @@ export interface UpdateConfigurationSetEventDestinationRequest { ConfigurationSetName: string | undefined; /** - *

                                                                An object that defines the event destination.

                                                                + *

                                                                The name of the event destination that you want to modify.

                                                                */ - EventDestination: EventDestinationDefinition | undefined; + EventDestinationName: string | undefined; /** - *

                                                                The name of the event destination that you want to modify.

                                                                + *

                                                                An object that defines the event destination.

                                                                */ - EventDestinationName: string | undefined; + EventDestination: EventDestinationDefinition | undefined; } export namespace UpdateConfigurationSetEventDestinationRequest { @@ -5296,14 +5604,14 @@ export interface UpdateCustomVerificationEmailTemplateRequest { FromEmailAddress: string | undefined; /** - *

                                                                The name of the custom verification email template that you want to update.

                                                                + *

                                                                The subject line of the custom verification email.

                                                                */ - TemplateName: string | undefined; + TemplateSubject: string | undefined; /** - *

                                                                The subject line of the custom verification email.

                                                                + *

                                                                The name of the custom verification email template that you want to update.

                                                                */ - TemplateSubject: string | undefined; + TemplateName: string | undefined; /** *

                                                                The URL that the recipient of the verification email is sent to if his or her address diff --git a/clients/client-sesv2/pagination/ListImportJobsPaginator.ts b/clients/client-sesv2/pagination/ListImportJobsPaginator.ts new file mode 100644 index 000000000000..84b33a6c4511 --- /dev/null +++ b/clients/client-sesv2/pagination/ListImportJobsPaginator.ts @@ -0,0 +1,51 @@ +import { SESv2 } from "../SESv2"; +import { SESv2Client } from "../SESv2Client"; +import { + ListImportJobsCommand, + ListImportJobsCommandInput, + ListImportJobsCommandOutput, +} from "../commands/ListImportJobsCommand"; +import { SESv2PaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SESv2Client, + input: ListImportJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListImportJobsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SESv2, + input: ListImportJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listImportJobs(input, ...args); +}; +export async function* listImportJobsPaginate( + config: SESv2PaginationConfiguration, + input: ListImportJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListImportJobsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["PageSize"] = config.pageSize; + if (config.client instanceof SESv2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SESv2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SESv2 | SESv2Client"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sesv2/protocols/Aws_restJson1.ts b/clients/client-sesv2/protocols/Aws_restJson1.ts index 8e5ed6699b5e..cd15a17b40b0 100644 --- a/clients/client-sesv2/protocols/Aws_restJson1.ts +++ b/clients/client-sesv2/protocols/Aws_restJson1.ts @@ -30,6 +30,7 @@ import { CreateEmailTemplateCommandInput, CreateEmailTemplateCommandOutput, } from "../commands/CreateEmailTemplateCommand"; +import { CreateImportJobCommandInput, CreateImportJobCommandOutput } from "../commands/CreateImportJobCommand"; import { DeleteConfigurationSetCommandInput, DeleteConfigurationSetCommandOutput, @@ -103,6 +104,7 @@ import { GetEmailIdentityPoliciesCommandOutput, } from "../commands/GetEmailIdentityPoliciesCommand"; import { GetEmailTemplateCommandInput, GetEmailTemplateCommandOutput } from "../commands/GetEmailTemplateCommand"; +import { GetImportJobCommandInput, GetImportJobCommandOutput } from "../commands/GetImportJobCommand"; import { GetSuppressedDestinationCommandInput, GetSuppressedDestinationCommandOutput, @@ -132,6 +134,7 @@ import { ListEmailIdentitiesCommandOutput, } from "../commands/ListEmailIdentitiesCommand"; import { ListEmailTemplatesCommandInput, ListEmailTemplatesCommandOutput } from "../commands/ListEmailTemplatesCommand"; +import { ListImportJobsCommandInput, ListImportJobsCommandOutput } from "../commands/ListImportJobsCommand"; import { ListSuppressedDestinationsCommandInput, ListSuppressedDestinationsCommandOutput, @@ -265,7 +268,11 @@ import { EventDestination, EventDestinationDefinition, EventType, + FailureInfo, IdentityInfo, + ImportDataSource, + ImportDestination, + ImportJobSummary, InboxPlacementTrackingOption, InvalidNextTokenException, IspPlacement, @@ -293,6 +300,7 @@ import { SuppressedDestinationAttributes, SuppressedDestinationSummary, SuppressionAttributes, + SuppressionListDestination, SuppressionListReason, SuppressionOptions, Tag, @@ -567,6 +575,35 @@ export const serializeAws_restJson1CreateEmailTemplateCommand = async ( }); }; +export const serializeAws_restJson1CreateImportJobCommand = async ( + input: CreateImportJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/v2/email/import-jobs"; + let body: any; + body = JSON.stringify({ + ...(input.ImportDataSource !== undefined && { + ImportDataSource: serializeAws_restJson1ImportDataSource(input.ImportDataSource, context), + }), + ...(input.ImportDestination !== undefined && { + ImportDestination: serializeAws_restJson1ImportDestination(input.ImportDestination, context), + }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DeleteConfigurationSetCommand = async ( input: DeleteConfigurationSetCommandInput, context: __SerdeContext @@ -1003,9 +1040,9 @@ export const serializeAws_restJson1GetDedicatedIpsCommand = async ( }; let resolvedPath = "/v2/email/dedicated-ips"; const query: any = { - ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), - ...(input.NextToken !== undefined && { NextToken: input.NextToken }), ...(input.PoolName !== undefined && { PoolName: input.PoolName }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1228,6 +1265,36 @@ export const serializeAws_restJson1GetEmailTemplateCommand = async ( }); }; +export const serializeAws_restJson1GetImportJobCommand = async ( + input: GetImportJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v2/email/import-jobs/{JobId}"; + if (input.JobId !== undefined) { + const labelValue: string = input.JobId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: JobId."); + } + resolvedPath = resolvedPath.replace("{JobId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: JobId."); + } + 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_restJson1GetSuppressedDestinationCommand = async ( input: GetSuppressedDestinationCommandInput, context: __SerdeContext @@ -1293,8 +1360,8 @@ export const serializeAws_restJson1ListCustomVerificationEmailTemplatesCommand = }; let resolvedPath = "/v2/email/custom-verification-email-templates"; const query: any = { - ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1380,8 +1447,8 @@ export const serializeAws_restJson1ListDomainDeliverabilityCampaignsCommand = as throw new Error("No value provided for input HTTP label: SubscribedDomain."); } const query: any = { - ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), ...(input.EndDate !== undefined && { EndDate: (input.EndDate.toISOString().split(".")[0] + "Z").toString() }), + ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), ...(input.StartDate !== undefined && { StartDate: (input.StartDate.toISOString().split(".")[0] + "Z").toString() }), ...(input.NextToken !== undefined && { NextToken: input.NextToken }), }; @@ -1451,6 +1518,35 @@ export const serializeAws_restJson1ListEmailTemplatesCommand = async ( }); }; +export const serializeAws_restJson1ListImportJobsCommand = async ( + input: ListImportJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/v2/email/import-jobs"; + const query: any = { + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.PageSize !== undefined && { PageSize: input.PageSize.toString() }), + }; + let body: any; + body = JSON.stringify({ + ...(input.ImportDestinationType !== undefined && { ImportDestinationType: input.ImportDestinationType }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restJson1ListSuppressedDestinationsCommand = async ( input: ListSuppressedDestinationsCommandInput, context: __SerdeContext @@ -3107,6 +3203,77 @@ const deserializeAws_restJson1CreateEmailTemplateCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1CreateImportJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CreateImportJobCommandError(output, context); + } + const contents: CreateImportJobCommandOutput = { + $metadata: deserializeMetadata(output), + JobId: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.JobId !== undefined && data.JobId !== null) { + contents.JobId = data.JobId; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CreateImportJobCommandError = 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.sesv2#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.sesv2#LimitExceededException": + response = { + ...(await deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.sesv2#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1DeleteConfigurationSetCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4801,6 +4968,109 @@ const deserializeAws_restJson1GetEmailTemplateCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1GetImportJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetImportJobCommandError(output, context); + } + const contents: GetImportJobCommandOutput = { + $metadata: deserializeMetadata(output), + CompletedTimestamp: undefined, + CreatedTimestamp: undefined, + FailedRecordsCount: undefined, + FailureInfo: undefined, + ImportDataSource: undefined, + ImportDestination: undefined, + JobId: undefined, + JobStatus: undefined, + ProcessedRecordsCount: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.CompletedTimestamp !== undefined && data.CompletedTimestamp !== null) { + contents.CompletedTimestamp = new Date(Math.round(data.CompletedTimestamp * 1000)); + } + if (data.CreatedTimestamp !== undefined && data.CreatedTimestamp !== null) { + contents.CreatedTimestamp = new Date(Math.round(data.CreatedTimestamp * 1000)); + } + if (data.FailedRecordsCount !== undefined && data.FailedRecordsCount !== null) { + contents.FailedRecordsCount = data.FailedRecordsCount; + } + if (data.FailureInfo !== undefined && data.FailureInfo !== null) { + contents.FailureInfo = deserializeAws_restJson1FailureInfo(data.FailureInfo, context); + } + if (data.ImportDataSource !== undefined && data.ImportDataSource !== null) { + contents.ImportDataSource = deserializeAws_restJson1ImportDataSource(data.ImportDataSource, context); + } + if (data.ImportDestination !== undefined && data.ImportDestination !== null) { + contents.ImportDestination = deserializeAws_restJson1ImportDestination(data.ImportDestination, context); + } + if (data.JobId !== undefined && data.JobId !== null) { + contents.JobId = data.JobId; + } + if (data.JobStatus !== undefined && data.JobStatus !== null) { + contents.JobStatus = data.JobStatus; + } + if (data.ProcessedRecordsCount !== undefined && data.ProcessedRecordsCount !== null) { + contents.ProcessedRecordsCount = data.ProcessedRecordsCount; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetImportJobCommandError = 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.sesv2#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.sesv2#NotFoundException": + response = { + ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.sesv2#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1GetSuppressedDestinationCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5366,6 +5636,73 @@ const deserializeAws_restJson1ListEmailTemplatesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListImportJobsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListImportJobsCommandError(output, context); + } + const contents: ListImportJobsCommandOutput = { + $metadata: deserializeMetadata(output), + ImportJobs: undefined, + NextToken: undefined, + }; + const data: any = await parseBody(output.body, context); + if (data.ImportJobs !== undefined && data.ImportJobs !== null) { + contents.ImportJobs = deserializeAws_restJson1ImportJobSummaryList(data.ImportJobs, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = data.NextToken; + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListImportJobsCommandError = 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.sesv2#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.sesv2#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(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_restJson1ListSuppressedDestinationsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -7842,6 +8179,24 @@ const serializeAws_restJson1EventTypes = (input: (EventType | string)[], context return input.map((entry) => entry); }; +const serializeAws_restJson1ImportDataSource = (input: ImportDataSource, context: __SerdeContext): any => { + return { + ...(input.DataFormat !== undefined && { DataFormat: input.DataFormat }), + ...(input.S3Url !== undefined && { S3Url: input.S3Url }), + }; +}; + +const serializeAws_restJson1ImportDestination = (input: ImportDestination, context: __SerdeContext): any => { + return { + ...(input.SuppressionListDestination !== undefined && { + SuppressionListDestination: serializeAws_restJson1SuppressionListDestination( + input.SuppressionListDestination, + context + ), + }), + }; +}; + const serializeAws_restJson1InboxPlacementTrackingOption = ( input: InboxPlacementTrackingOption, context: __SerdeContext @@ -7934,6 +8289,17 @@ const serializeAws_restJson1SnsDestination = (input: SnsDestination, context: __ }; }; +const serializeAws_restJson1SuppressionListDestination = ( + input: SuppressionListDestination, + context: __SerdeContext +): any => { + return { + ...(input.SuppressionListImportAction !== undefined && { + SuppressionListImportAction: input.SuppressionListImportAction, + }), + }; +}; + const serializeAws_restJson1SuppressionListReasons = ( input: (SuppressionListReason | string)[], context: __SerdeContext @@ -8349,6 +8715,16 @@ const deserializeAws_restJson1EventTypes = (output: any, context: __SerdeContext return (output || []).map((entry: any) => entry); }; +const deserializeAws_restJson1FailureInfo = (output: any, context: __SerdeContext): FailureInfo => { + return { + ErrorMessage: output.ErrorMessage !== undefined && output.ErrorMessage !== null ? output.ErrorMessage : undefined, + FailedRecordsS3Url: + output.FailedRecordsS3Url !== undefined && output.FailedRecordsS3Url !== null + ? output.FailedRecordsS3Url + : undefined, + } as any; +}; + const deserializeAws_restJson1IdentityInfo = (output: any, context: __SerdeContext): IdentityInfo => { return { IdentityName: output.IdentityName !== undefined && output.IdentityName !== null ? output.IdentityName : undefined, @@ -8362,6 +8738,41 @@ const deserializeAws_restJson1IdentityInfoList = (output: any, context: __SerdeC return (output || []).map((entry: any) => deserializeAws_restJson1IdentityInfo(entry, context)); }; +const deserializeAws_restJson1ImportDataSource = (output: any, context: __SerdeContext): ImportDataSource => { + return { + DataFormat: output.DataFormat !== undefined && output.DataFormat !== null ? output.DataFormat : undefined, + S3Url: output.S3Url !== undefined && output.S3Url !== null ? output.S3Url : undefined, + } as any; +}; + +const deserializeAws_restJson1ImportDestination = (output: any, context: __SerdeContext): ImportDestination => { + return { + SuppressionListDestination: + output.SuppressionListDestination !== undefined && output.SuppressionListDestination !== null + ? deserializeAws_restJson1SuppressionListDestination(output.SuppressionListDestination, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1ImportJobSummary = (output: any, context: __SerdeContext): ImportJobSummary => { + return { + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? new Date(Math.round(output.CreatedTimestamp * 1000)) + : undefined, + ImportDestination: + output.ImportDestination !== undefined && output.ImportDestination !== null + ? deserializeAws_restJson1ImportDestination(output.ImportDestination, context) + : undefined, + JobId: output.JobId !== undefined && output.JobId !== null ? output.JobId : undefined, + JobStatus: output.JobStatus !== undefined && output.JobStatus !== null ? output.JobStatus : undefined, + } as any; +}; + +const deserializeAws_restJson1ImportJobSummaryList = (output: any, context: __SerdeContext): ImportJobSummary[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1ImportJobSummary(entry, context)); +}; + const deserializeAws_restJson1InboxPlacementTrackingOption = ( output: any, context: __SerdeContext @@ -8576,6 +8987,18 @@ const deserializeAws_restJson1SuppressionAttributes = (output: any, context: __S } as any; }; +const deserializeAws_restJson1SuppressionListDestination = ( + output: any, + context: __SerdeContext +): SuppressionListDestination => { + return { + SuppressionListImportAction: + output.SuppressionListImportAction !== undefined && output.SuppressionListImportAction !== null + ? output.SuppressionListImportAction + : undefined, + } as any; +}; + const deserializeAws_restJson1SuppressionListReasons = ( output: any, context: __SerdeContext diff --git a/clients/client-sfn/SFN.ts b/clients/client-sfn/SFN.ts index 6c508a4e6bef..a864a73be6a4 100644 --- a/clients/client-sfn/SFN.ts +++ b/clients/client-sfn/SFN.ts @@ -189,7 +189,7 @@ export class SFN extends SFNClient { * CreateStateMachine is an idempotent API. Subsequent requests won’t create a * duplicate resource if it was already created. CreateStateMachine's idempotency * check is based on the state machine name, definition, - * type, and LoggingConfiguration. If a following request has a + * type, LoggingConfiguration and TracingConfiguration. If a following request has a * different roleArn or tags, Step Functions will ignore these differences and * treat it as an idempotent request of the previous. In this case, roleArn and * tags will not be updated, even if they are different.

                                                                diff --git a/clients/client-sfn/models/models_0.ts b/clients/client-sfn/models/models_0.ts index 99e80f5f922c..c6b096bd6ece 100644 --- a/clients/client-sfn/models/models_0.ts +++ b/clients/client-sfn/models/models_0.ts @@ -21,21 +21,21 @@ export namespace ActivityDoesNotExist { */ export interface ActivityFailedEventDetails { /** - *

                                                                A more detailed explanation of the cause of the failure.

                                                                + *

                                                                The error code of the failure.

                                                                */ - cause?: string; + error?: string; /** - *

                                                                The error code of the failure.

                                                                + *

                                                                A more detailed explanation of the cause of the failure.

                                                                */ - error?: string; + cause?: string; } export namespace ActivityFailedEventDetails { export const filterSensitiveLog = (obj: ActivityFailedEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -59,6 +59,11 @@ export namespace ActivityLimitExceeded { *

                                                                Contains details about an activity.

                                                                */ export interface ActivityListItem { + /** + *

                                                                The Amazon Resource Name (ARN) that identifies the activity.

                                                                + */ + activityArn: string | undefined; + /** *

                                                                The name of the activity.

                                                                *

                                                                A name must not contain:

                                                                @@ -90,15 +95,27 @@ export interface ActivityListItem { *

                                                                The date the activity is created.

                                                                */ creationDate: Date | undefined; +} +export namespace ActivityListItem { + export const filterSensitiveLog = (obj: ActivityListItem): any => ({ + ...obj, + }); +} + +/** + *

                                                                Provides details about input or output in an execution history event.

                                                                + */ +export interface HistoryEventExecutionDataDetails { /** - *

                                                                The Amazon Resource Name (ARN) that identifies the activity.

                                                                + *

                                                                Indicates whether input or output was truncated in the response. Always + * false for API calls.

                                                                */ - activityArn: string | undefined; + truncated?: boolean; } -export namespace ActivityListItem { - export const filterSensitiveLog = (obj: ActivityListItem): any => ({ +export namespace HistoryEventExecutionDataDetails { + export const filterSensitiveLog = (obj: HistoryEventExecutionDataDetails): any => ({ ...obj, }); } @@ -108,24 +125,29 @@ export namespace ActivityListItem { */ export interface ActivityScheduledEventDetails { /** - *

                                                                The JSON data input to the activity task.

                                                                + *

                                                                The maximum allowed duration of the activity task.

                                                                */ - input?: string; + timeoutInSeconds?: number; /** - *

                                                                The Amazon Resource Name (ARN) of the scheduled activity.

                                                                + *

                                                                Contains details about the input for an execution history event.

                                                                */ - resource: string | undefined; + inputDetails?: HistoryEventExecutionDataDetails; /** - *

                                                                The maximum allowed duration of the activity task.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the scheduled activity.

                                                                */ - timeoutInSeconds?: number; + resource: string | undefined; /** *

                                                                The maximum allowed duration between two heartbeats for the activity task.

                                                                */ heartbeatInSeconds?: number; + + /** + *

                                                                The JSON data input to the activity task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                + */ + input?: string; } export namespace ActivityScheduledEventDetails { @@ -141,21 +163,21 @@ export namespace ActivityScheduledEventDetails { */ export interface ActivityScheduleFailedEventDetails { /** - *

                                                                A more detailed explanation of the cause of the failure.

                                                                + *

                                                                The error code of the failure.

                                                                */ - cause?: string; + error?: string; /** - *

                                                                The error code of the failure.

                                                                + *

                                                                A more detailed explanation of the cause of the failure.

                                                                */ - error?: string; + cause?: string; } export namespace ActivityScheduleFailedEventDetails { export const filterSensitiveLog = (obj: ActivityScheduleFailedEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -182,7 +204,12 @@ export namespace ActivityStartedEventDetails { */ export interface ActivitySucceededEventDetails { /** - *

                                                                The JSON data output by the activity task.

                                                                + *

                                                                Contains details about the output of an execution history event.

                                                                + */ + outputDetails?: HistoryEventExecutionDataDetails; + + /** + *

                                                                The JSON data output by the activity task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                */ output?: string; } @@ -199,21 +226,21 @@ export namespace ActivitySucceededEventDetails { */ export interface ActivityTimedOutEventDetails { /** - *

                                                                The error code of the failure.

                                                                + *

                                                                A more detailed explanation of the cause of the timeout.

                                                                */ - error?: string; + cause?: string; /** - *

                                                                A more detailed explanation of the cause of the timeout.

                                                                + *

                                                                The error code of the failure.

                                                                */ - cause?: string; + error?: string; } export namespace ActivityTimedOutEventDetails { export const filterSensitiveLog = (obj: ActivityTimedOutEventDetails): any => ({ ...obj, - ...(obj.error && { error: SENSITIVE_STRING }), ...(obj.cause && { cause: SENSITIVE_STRING }), + ...(obj.error && { error: SENSITIVE_STRING }), }); } @@ -244,14 +271,14 @@ export namespace ActivityWorkerLimitExceeded { */ export interface Tag { /** - *

                                                                The key of a tag.

                                                                + *

                                                                The value of a tag.

                                                                */ - key?: string; + value?: string; /** - *

                                                                The value of a tag.

                                                                + *

                                                                The key of a tag.

                                                                */ - value?: string; + key?: string; } export namespace Tag { @@ -261,16 +288,6 @@ export namespace Tag { } export interface CreateActivityInput { - /** - *

                                                                The list of tags to add to a resource.

                                                                - *

                                                                An array of key-value pairs. For more information, see Using - * Cost Allocation Tags in the AWS Billing and Cost Management User - * Guide, and Controlling Access Using IAM - * Tags.

                                                                - *

                                                                Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

                                                                - */ - tags?: Tag[]; - /** *

                                                                The name of the activity to create. This name must be unique for your AWS account and region for 90 days. For more information, * see @@ -299,6 +316,16 @@ export interface CreateActivityInput { *

                                                                To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

                                                                */ name: string | undefined; + + /** + *

                                                                The list of tags to add to a resource.

                                                                + *

                                                                An array of key-value pairs. For more information, see Using + * Cost Allocation Tags in the AWS Billing and Cost Management User + * Guide, and Controlling Access Using IAM + * Tags.

                                                                + *

                                                                Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

                                                                + */ + tags?: Tag[]; } export namespace CreateActivityInput { @@ -347,8 +374,8 @@ export namespace InvalidName { export interface TooManyTags extends __SmithyException, $MetadataBearer { name: "TooManyTags"; $fault: "client"; - message?: string; resourceName?: string; + message?: string; } export namespace TooManyTags { @@ -399,7 +426,7 @@ export type LogLevel = "ALL" | "ERROR" | "FATAL" | "OFF"; */ export interface LoggingConfiguration { /** - *

                                                                Determines whether execution data is included in your log. When set to FALSE, + *

                                                                Determines whether execution data is included in your log. When set to false, * data is excluded.

                                                                */ includeExecutionData?: boolean; @@ -422,36 +449,26 @@ export namespace LoggingConfiguration { }); } -export type StateMachineType = "EXPRESS" | "STANDARD"; - -export interface CreateStateMachineInput { +/** + *

                                                                Selects whether or not the state machine's AWS X-Ray tracing is enabled. Default is false + *

                                                                + */ +export interface TracingConfiguration { /** - *

                                                                Tags to be added when creating a state machine.

                                                                - *

                                                                An array of key-value pairs. For more information, see Using - * Cost Allocation Tags in the AWS Billing and Cost Management User - * Guide, and Controlling Access Using IAM - * Tags.

                                                                - *

                                                                Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

                                                                + *

                                                                When set to true, AWS X-Ray tracing is enabled.

                                                                */ - tags?: Tag[]; + enabled?: boolean; +} - /** - *

                                                                Determines whether a Standard or Express state machine is created. The default is - * STANDARD. You cannot update the type of a state machine once it - * has been created.

                                                                - */ - type?: StateMachineType | string; +export namespace TracingConfiguration { + export const filterSensitiveLog = (obj: TracingConfiguration): any => ({ + ...obj, + }); +} - /** - *

                                                                Defines what execution history events are logged and where they are logged.

                                                                - * - *

                                                                By default, the level is set to OFF. For more information see - * Log - * Levels in the AWS Step Functions User Guide.

                                                                - *
                                                                - */ - loggingConfiguration?: LoggingConfiguration; +export type StateMachineType = "EXPRESS" | "STANDARD"; +export interface CreateStateMachineInput { /** *

                                                                The name of the state machine.

                                                                *

                                                                A name must not contain:

                                                                @@ -480,14 +497,46 @@ export interface CreateStateMachineInput { name: string | undefined; /** - *

                                                                The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

                                                                + *

                                                                The Amazon States Language definition of the state machine. See Amazon States Language.

                                                                */ - roleArn: string | undefined; + definition: string | undefined; /** - *

                                                                The Amazon States Language definition of the state machine. See Amazon States Language.

                                                                + *

                                                                Defines what execution history events are logged and where they are logged.

                                                                + * + *

                                                                By default, the level is set to OFF. For more information see + * Log + * Levels in the AWS Step Functions User Guide.

                                                                + *
                                                                */ - definition: string | undefined; + loggingConfiguration?: LoggingConfiguration; + + /** + *

                                                                Determines whether a Standard or Express state machine is created. The default is + * STANDARD. You cannot update the type of a state machine once it + * has been created.

                                                                + */ + type?: StateMachineType | string; + + /** + *

                                                                Tags to be added when creating a state machine.

                                                                + *

                                                                An array of key-value pairs. For more information, see Using + * Cost Allocation Tags in the AWS Billing and Cost Management User + * Guide, and Controlling Access Using IAM + * Tags.

                                                                + *

                                                                Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

                                                                + */ + tags?: Tag[]; + + /** + *

                                                                Selects whether AWS X-Ray tracing is enabled.

                                                                + */ + tracingConfiguration?: TracingConfiguration; + + /** + *

                                                                The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

                                                                + */ + roleArn: string | undefined; } export namespace CreateStateMachineInput { @@ -560,6 +609,21 @@ export namespace InvalidLoggingConfiguration { }); } +/** + *

                                                                Your tracingConfiguration key does not match, or enabled has not been set to true or false.

                                                                + */ +export interface InvalidTracingConfiguration extends __SmithyException, $MetadataBearer { + name: "InvalidTracingConfiguration"; + $fault: "client"; + message?: string; +} + +export namespace InvalidTracingConfiguration { + export const filterSensitiveLog = (obj: InvalidTracingConfiguration): any => ({ + ...obj, + }); +} + /** *

                                                                A state machine with the same name but a different definition or role ARN already * exists.

                                                                @@ -678,11 +742,6 @@ export namespace DescribeActivityInput { } export interface DescribeActivityOutput { - /** - *

                                                                The date the activity is created.

                                                                - */ - creationDate: Date | undefined; - /** *

                                                                The name of the activity.

                                                                *

                                                                A name must not contain:

                                                                @@ -710,6 +769,11 @@ export interface DescribeActivityOutput { */ name: string | undefined; + /** + *

                                                                The date the activity is created.

                                                                + */ + creationDate: Date | undefined; + /** *

                                                                The Amazon Resource Name (ARN) that identifies the activity.

                                                                */ @@ -735,23 +799,49 @@ export namespace DescribeExecutionInput { }); } +/** + *

                                                                Provides details about execution input or output.

                                                                + */ +export interface CloudWatchEventsExecutionDataDetails { + /** + *

                                                                Indicates whether input or output was included in the response. Always true + * for API calls.

                                                                + */ + included?: boolean; +} + +export namespace CloudWatchEventsExecutionDataDetails { + export const filterSensitiveLog = (obj: CloudWatchEventsExecutionDataDetails): any => ({ + ...obj, + }); +} + export type ExecutionStatus = "ABORTED" | "FAILED" | "RUNNING" | "SUCCEEDED" | "TIMED_OUT"; export interface DescribeExecutionOutput { /** - *

                                                                The current status of the execution.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the executed stated machine.

                                                                */ - status: ExecutionStatus | string | undefined; + stateMachineArn: string | undefined; /** - *

                                                                If the execution has already ended, the date the execution stopped.

                                                                + *

                                                                The string that contains the JSON input data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                */ - stopDate?: Date; + input?: string; /** - *

                                                                The date the execution is started.

                                                                + *

                                                                Provides details about execution input or output.

                                                                */ - startDate: Date | undefined; + outputDetails?: CloudWatchEventsExecutionDataDetails; + + /** + *

                                                                The JSON output data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                + * + *

                                                                This field is set only if the execution succeeds. If the execution fails, this field is + * null.

                                                                + *
                                                                + */ + output?: string; /** *

                                                                The name of the execution.

                                                                @@ -781,35 +871,41 @@ export interface DescribeExecutionOutput { name?: string; /** - *

                                                                The JSON output data of the execution.

                                                                - * - *

                                                                This field is set only if the execution succeeds. If the execution fails, this field is - * null.

                                                                - *
                                                                + *

                                                                If the execution has already ended, the date the execution stopped.

                                                                */ - output?: string; + stopDate?: Date; /** - *

                                                                The Amazon Resource Name (ARN) of the executed stated machine.

                                                                + *

                                                                The current status of the execution.

                                                                */ - stateMachineArn: string | undefined; + status: ExecutionStatus | string | undefined; + + /** + *

                                                                Provides details about execution input or output.

                                                                + */ + inputDetails?: CloudWatchEventsExecutionDataDetails; /** - *

                                                                The string that contains the JSON input data of the execution.

                                                                + *

                                                                The date the execution is started.

                                                                */ - input: string | undefined; + startDate: Date | undefined; /** *

                                                                The Amazon Resource Name (ARN) that id entifies the execution.

                                                                */ executionArn: string | undefined; + + /** + *

                                                                The AWS X-Ray trace header which was passed to the execution.

                                                                + */ + traceHeader?: string; } export namespace DescribeExecutionOutput { export const filterSensitiveLog = (obj: DescribeExecutionOutput): any => ({ ...obj, - ...(obj.output && { output: SENSITIVE_STRING }), ...(obj.input && { input: SENSITIVE_STRING }), + ...(obj.output && { output: SENSITIVE_STRING }), }); } @@ -845,10 +941,9 @@ export type StateMachineStatus = "ACTIVE" | "DELETING"; export interface DescribeStateMachineOutput { /** - *

                                                                The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role - * maintains security by granting Step Functions access to AWS resources.)

                                                                + *

                                                                Selects whether AWS X-Ray tracing is enabled.

                                                                */ - roleArn: string | undefined; + tracingConfiguration?: TracingConfiguration; /** *

                                                                The Amazon Resource Name (ARN) that identifies the state machine.

                                                                @@ -862,14 +957,15 @@ export interface DescribeStateMachineOutput { loggingConfiguration?: LoggingConfiguration; /** - *

                                                                The Amazon States Language definition of the state machine. See Amazon States Language.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role + * maintains security by granting Step Functions access to AWS resources.)

                                                                */ - definition: string | undefined; + roleArn: string | undefined; /** - *

                                                                The date the state machine is created.

                                                                + *

                                                                The Amazon States Language definition of the state machine. See Amazon States Language.

                                                                */ - creationDate: Date | undefined; + definition: string | undefined; /** *

                                                                The type of the state machine (STANDARD or @@ -877,6 +973,11 @@ export interface DescribeStateMachineOutput { */ type: StateMachineType | string | undefined; + /** + *

                                                                The date the state machine is created.

                                                                + */ + creationDate: Date | undefined; + /** *

                                                                The name of the state machine.

                                                                *

                                                                A name must not contain:

                                                                @@ -947,25 +1048,31 @@ export namespace DescribeStateMachineForExecutionInput { export interface DescribeStateMachineForExecutionOutput { /** - *

                                                                The LoggingConfiguration data type is used to set CloudWatch Logs - * options.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the IAM role of the State Machine for the execution.

                                                                */ - loggingConfiguration?: LoggingConfiguration; + roleArn: string | undefined; /** - *

                                                                The Amazon Resource Name (ARN) of the state machine associated with the execution.

                                                                + *

                                                                The name of the state machine associated with the execution.

                                                                */ - stateMachineArn: string | undefined; + name: string | undefined; /** - *

                                                                The Amazon Resource Name (ARN) of the IAM role of the State Machine for the execution.

                                                                + *

                                                                The LoggingConfiguration data type is used to set CloudWatch Logs + * options.

                                                                */ - roleArn: string | undefined; + loggingConfiguration?: LoggingConfiguration; /** - *

                                                                The name of the state machine associated with the execution.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the state machine associated with the execution.

                                                                */ - name: string | undefined; + stateMachineArn: string | undefined; + + /** + *

                                                                The date and time the state machine associated with an execution was updated. For a newly + * created state machine, this is the creation date.

                                                                + */ + updateDate: Date | undefined; /** *

                                                                The Amazon States Language definition of the state machine. See Amazon States Language.

                                                                @@ -973,10 +1080,9 @@ export interface DescribeStateMachineForExecutionOutput { definition: string | undefined; /** - *

                                                                The date and time the state machine associated with an execution was updated. For a newly - * created state machine, this is the creation date.

                                                                + *

                                                                Selects whether AWS X-Ray tracing is enabled.

                                                                */ - updateDate: Date | undefined; + tracingConfiguration?: TracingConfiguration; } export namespace DescribeStateMachineForExecutionOutput { @@ -1016,7 +1122,7 @@ export interface GetActivityTaskOutput { taskToken?: string; /** - *

                                                                The string that contains the JSON input data for the task.

                                                                + *

                                                                The string that contains the JSON input data for the task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                */ input?: string; } @@ -1029,6 +1135,17 @@ export namespace GetActivityTaskOutput { } export interface GetExecutionHistoryInput { + /** + *

                                                                The Amazon Resource Name (ARN) of the execution.

                                                                + */ + executionArn: string | undefined; + + /** + *

                                                                You can select whether execution data (input or output of a history event) is returned. + * The default is true.

                                                                + */ + includeExecutionData?: boolean; + /** *

                                                                The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. * The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

                                                                @@ -1046,11 +1163,6 @@ export interface GetExecutionHistoryInput { *

                                                                Lists events in descending order of their timeStamp.

                                                                */ reverseOrder?: boolean; - - /** - *

                                                                The Amazon Resource Name (ARN) of the execution.

                                                                - */ - executionArn: string | undefined; } export namespace GetExecutionHistoryInput { @@ -1109,15 +1221,20 @@ export namespace ExecutionFailedEventDetails { *

                                                                Contains details about the start of the execution.

                                                                */ export interface ExecutionStartedEventDetails { + /** + *

                                                                The JSON data input to the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                + */ + input?: string; + /** *

                                                                The Amazon Resource Name (ARN) of the IAM role used for executing AWS Lambda tasks.

                                                                */ roleArn?: string; /** - *

                                                                The JSON data input to the execution.

                                                                + *

                                                                Contains details about the input for an execution history event.

                                                                */ - input?: string; + inputDetails?: HistoryEventExecutionDataDetails; } export namespace ExecutionStartedEventDetails { @@ -1132,7 +1249,12 @@ export namespace ExecutionStartedEventDetails { */ export interface ExecutionSucceededEventDetails { /** - *

                                                                The JSON data output by the execution.

                                                                + *

                                                                Contains details about the output of an execution history event.

                                                                + */ + outputDetails?: HistoryEventExecutionDataDetails; + + /** + *

                                                                The JSON data output by the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                */ output?: string; } @@ -1149,21 +1271,21 @@ export namespace ExecutionSucceededEventDetails { */ export interface ExecutionTimedOutEventDetails { /** - *

                                                                The error code of the failure.

                                                                + *

                                                                A more detailed explanation of the cause of the timeout.

                                                                */ - error?: string; + cause?: string; /** - *

                                                                A more detailed explanation of the cause of the timeout.

                                                                + *

                                                                The error code of the failure.

                                                                */ - cause?: string; + error?: string; } export namespace ExecutionTimedOutEventDetails { export const filterSensitiveLog = (obj: ExecutionTimedOutEventDetails): any => ({ ...obj, - ...(obj.error && { error: SENSITIVE_STRING }), ...(obj.cause && { cause: SENSITIVE_STRING }), + ...(obj.error && { error: SENSITIVE_STRING }), }); } @@ -1172,21 +1294,21 @@ export namespace ExecutionTimedOutEventDetails { */ export interface LambdaFunctionFailedEventDetails { /** - *

                                                                The error code of the failure.

                                                                + *

                                                                A more detailed explanation of the cause of the failure.

                                                                */ - error?: string; + cause?: string; /** - *

                                                                A more detailed explanation of the cause of the failure.

                                                                + *

                                                                The error code of the failure.

                                                                */ - cause?: string; + error?: string; } export namespace LambdaFunctionFailedEventDetails { export const filterSensitiveLog = (obj: LambdaFunctionFailedEventDetails): any => ({ ...obj, - ...(obj.error && { error: SENSITIVE_STRING }), ...(obj.cause && { cause: SENSITIVE_STRING }), + ...(obj.error && { error: SENSITIVE_STRING }), }); } @@ -1195,15 +1317,20 @@ export namespace LambdaFunctionFailedEventDetails { */ export interface LambdaFunctionScheduledEventDetails { /** - *

                                                                The JSON data input to the lambda function.

                                                                + *

                                                                Contains details about input for an execution history event.

                                                                */ - input?: string; + inputDetails?: HistoryEventExecutionDataDetails; /** *

                                                                The maximum allowed duration of the lambda function.

                                                                */ timeoutInSeconds?: number; + /** + *

                                                                The JSON data input to the lambda function. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                + */ + input?: string; + /** *

                                                                The Amazon Resource Name (ARN) of the scheduled lambda function.

                                                                */ @@ -1223,21 +1350,21 @@ export namespace LambdaFunctionScheduledEventDetails { */ export interface LambdaFunctionScheduleFailedEventDetails { /** - *

                                                                A more detailed explanation of the cause of the failure.

                                                                + *

                                                                The error code of the failure.

                                                                */ - cause?: string; + error?: string; /** - *

                                                                The error code of the failure.

                                                                + *

                                                                A more detailed explanation of the cause of the failure.

                                                                */ - error?: string; + cause?: string; } export namespace LambdaFunctionScheduleFailedEventDetails { export const filterSensitiveLog = (obj: LambdaFunctionScheduleFailedEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -1246,21 +1373,21 @@ export namespace LambdaFunctionScheduleFailedEventDetails { */ export interface LambdaFunctionStartFailedEventDetails { /** - *

                                                                The error code of the failure.

                                                                + *

                                                                A more detailed explanation of the cause of the failure.

                                                                */ - error?: string; + cause?: string; /** - *

                                                                A more detailed explanation of the cause of the failure.

                                                                + *

                                                                The error code of the failure.

                                                                */ - cause?: string; + error?: string; } export namespace LambdaFunctionStartFailedEventDetails { export const filterSensitiveLog = (obj: LambdaFunctionStartFailedEventDetails): any => ({ ...obj, - ...(obj.error && { error: SENSITIVE_STRING }), ...(obj.cause && { cause: SENSITIVE_STRING }), + ...(obj.error && { error: SENSITIVE_STRING }), }); } @@ -1270,7 +1397,12 @@ export namespace LambdaFunctionStartFailedEventDetails { */ export interface LambdaFunctionSucceededEventDetails { /** - *

                                                                The JSON data output by the lambda function.

                                                                + *

                                                                Contains details about the output of an execution history event.

                                                                + */ + outputDetails?: HistoryEventExecutionDataDetails; + + /** + *

                                                                The JSON data output by the lambda function. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                */ output?: string; } @@ -1346,15 +1478,20 @@ export namespace MapStateStartedEventDetails { *

                                                                Contains details about a state entered during an execution.

                                                                */ export interface StateEnteredEventDetails { + /** + *

                                                                The string that contains the JSON input data for the state. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                + */ + input?: string; + /** *

                                                                The name of the state.

                                                                */ name: string | undefined; /** - *

                                                                The string that contains the JSON input data for the state.

                                                                + *

                                                                Contains details about the input for an execution history event.

                                                                */ - input?: string; + inputDetails?: HistoryEventExecutionDataDetails; } export namespace StateEnteredEventDetails { @@ -1396,9 +1533,14 @@ export interface StateExitedEventDetails { name: string | undefined; /** - *

                                                                The JSON output data of the state.

                                                                + *

                                                                The JSON output data of the state. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                */ output?: string; + + /** + *

                                                                Contains details about the output of an execution history event.

                                                                + */ + outputDetails?: HistoryEventExecutionDataDetails; } export namespace StateExitedEventDetails { @@ -1413,9 +1555,9 @@ export namespace StateExitedEventDetails { */ export interface TaskFailedEventDetails { /** - *

                                                                A more detailed explanation of the cause of the failure.

                                                                + *

                                                                The error code of the failure.

                                                                */ - cause?: string; + error?: string; /** *

                                                                The service name of the resource in a task state.

                                                                @@ -1423,9 +1565,9 @@ export interface TaskFailedEventDetails { resource: string | undefined; /** - *

                                                                The error code of the failure.

                                                                + *

                                                                A more detailed explanation of the cause of the failure.

                                                                */ - error?: string; + cause?: string; /** *

                                                                The action of the resource called by a task state.

                                                                @@ -1436,8 +1578,8 @@ export interface TaskFailedEventDetails { export namespace TaskFailedEventDetails { export const filterSensitiveLog = (obj: TaskFailedEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -1446,14 +1588,14 @@ export namespace TaskFailedEventDetails { */ export interface TaskScheduledEventDetails { /** - *

                                                                The action of the resource called by a task state.

                                                                + *

                                                                The service name of the resource in a task state.

                                                                */ - resourceType: string | undefined; + resource: string | undefined; /** - *

                                                                The service name of the resource in a task state.

                                                                + *

                                                                The maximum allowed duration between two heartbeats for the task.

                                                                */ - resource: string | undefined; + heartbeatInSeconds?: number; /** *

                                                                The region of the scheduled task

                                                                @@ -1461,14 +1603,20 @@ export interface TaskScheduledEventDetails { region: string | undefined; /** - *

                                                                The maximum allowed duration of the task.

                                                                + *

                                                                The action of the resource called by a task state.

                                                                */ - timeoutInSeconds?: number; + resourceType: string | undefined; /** - *

                                                                The JSON data passed to the resource referenced in a task state.

                                                                + *

                                                                The JSON data passed to the resource referenced in a task state. + * Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                */ parameters: string | undefined; + + /** + *

                                                                The maximum allowed duration of the task.

                                                                + */ + timeoutInSeconds?: number; } export namespace TaskScheduledEventDetails { @@ -1504,9 +1652,9 @@ export namespace TaskStartedEventDetails { */ export interface TaskStartFailedEventDetails { /** - *

                                                                A more detailed explanation of the cause of the failure.

                                                                + *

                                                                The service name of the resource in a task state.

                                                                */ - cause?: string; + resource: string | undefined; /** *

                                                                The error code of the failure.

                                                                @@ -1519,16 +1667,16 @@ export interface TaskStartFailedEventDetails { resourceType: string | undefined; /** - *

                                                                The service name of the resource in a task state.

                                                                + *

                                                                A more detailed explanation of the cause of the failure.

                                                                */ - resource: string | undefined; + cause?: string; } export namespace TaskStartFailedEventDetails { export const filterSensitiveLog = (obj: TaskStartFailedEventDetails): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -1570,19 +1718,24 @@ export namespace TaskSubmitFailedEventDetails { */ export interface TaskSubmittedEventDetails { /** - *

                                                                The response from a resource when a task has started.

                                                                + *

                                                                The response from a resource when a task has started. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                */ output?: string; + /** + *

                                                                The action of the resource called by a task state.

                                                                + */ + resourceType: string | undefined; + /** *

                                                                The service name of the resource in a task state.

                                                                */ resource: string | undefined; /** - *

                                                                The action of the resource called by a task state.

                                                                + *

                                                                Contains details about the output of an execution history event.

                                                                */ - resourceType: string | undefined; + outputDetails?: HistoryEventExecutionDataDetails; } export namespace TaskSubmittedEventDetails { @@ -1596,6 +1749,11 @@ export namespace TaskSubmittedEventDetails { *

                                                                Contains details about the successful completion of a task state.

                                                                */ export interface TaskSucceededEventDetails { + /** + *

                                                                Contains details about the output of an execution history event.

                                                                + */ + outputDetails?: HistoryEventExecutionDataDetails; + /** *

                                                                The action of the resource called by a task state.

                                                                */ @@ -1608,7 +1766,7 @@ export interface TaskSucceededEventDetails { /** *

                                                                The full JSON response from a resource when a task has succeeded. This response becomes - * the output of the related task.

                                                                + * the output of the related task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                */ output?: string; } @@ -1624,6 +1782,11 @@ export namespace TaskSucceededEventDetails { *

                                                                Contains details about a resource timeout that occurred during an execution.

                                                                */ export interface TaskTimedOutEventDetails { + /** + *

                                                                The action of the resource called by a task state.

                                                                + */ + resourceType: string | undefined; + /** *

                                                                The error code of the failure.

                                                                */ @@ -1638,11 +1801,6 @@ export interface TaskTimedOutEventDetails { *

                                                                A more detailed explanation of the cause of the failure.

                                                                */ cause?: string; - - /** - *

                                                                The action of the resource called by a task state.

                                                                - */ - resourceType: string | undefined; } export namespace TaskTimedOutEventDetails { @@ -1715,288 +1873,288 @@ export type HistoryEventType = */ export interface HistoryEvent { /** - *

                                                                Contains details about an activity schedule event that failed during an execution.

                                                                + *

                                                                Contains details about a lambda function that failed to start during an execution.

                                                                */ - activityScheduleFailedEventDetails?: ActivityScheduleFailedEventDetails; + lambdaFunctionStartFailedEventDetails?: LambdaFunctionStartFailedEventDetails; /** - *

                                                                Contains details about the successful termination of the execution.

                                                                + *

                                                                Contains details about a task that was scheduled.

                                                                */ - executionSucceededEventDetails?: ExecutionSucceededEventDetails; + taskScheduledEventDetails?: TaskScheduledEventDetails; /** - *

                                                                Contains details about a task that succeeded.

                                                                + *

                                                                Contains details about a lambda function scheduled during an execution.

                                                                */ - taskSucceededEventDetails?: TaskSucceededEventDetails; + lambdaFunctionScheduledEventDetails?: LambdaFunctionScheduledEventDetails; /** - *

                                                                The type of the event.

                                                                + *

                                                                Contains details about an iteration of a Map state that failed.

                                                                */ - type: HistoryEventType | string | undefined; + mapIterationFailedEventDetails?: MapIterationEventDetails; /** - *

                                                                Contains details about a lambda function that terminated successfully during an - * execution.

                                                                + *

                                                                Contains details about the failure of a task.

                                                                */ - lambdaFunctionSucceededEventDetails?: LambdaFunctionSucceededEventDetails; + taskFailedEventDetails?: TaskFailedEventDetails; /** - *

                                                                Contains details about a lambda function timeout that occurred during an execution.

                                                                + *

                                                                Contains details about an activity that failed during an execution.

                                                                */ - lambdaFunctionTimedOutEventDetails?: LambdaFunctionTimedOutEventDetails; + activityFailedEventDetails?: ActivityFailedEventDetails; /** - *

                                                                Contains details about a state entered during an execution.

                                                                + *

                                                                Contains details about an abort of an execution.

                                                                */ - stateEnteredEventDetails?: StateEnteredEventDetails; + executionAbortedEventDetails?: ExecutionAbortedEventDetails; /** - *

                                                                Contains details about an exit from a state during an execution.

                                                                + *

                                                                Contains details about Map state that was started.

                                                                */ - stateExitedEventDetails?: StateExitedEventDetails; + mapStateStartedEventDetails?: MapStateStartedEventDetails; /** - *

                                                                Contains details about the execution timeout that occurred during the execution.

                                                                + *

                                                                Contains details about a lambda function timeout that occurred during an execution.

                                                                */ - executionTimedOutEventDetails?: ExecutionTimedOutEventDetails; + lambdaFunctionTimedOutEventDetails?: LambdaFunctionTimedOutEventDetails; /** - *

                                                                The date and time the event occurred.

                                                                + *

                                                                The type of the event.

                                                                */ - timestamp: Date | undefined; + type: HistoryEventType | string | undefined; /** - *

                                                                Contains details about an activity that successfully terminated during an - * execution.

                                                                + *

                                                                Contains details about a task that where the submit failed.

                                                                */ - activitySucceededEventDetails?: ActivitySucceededEventDetails; + taskSubmitFailedEventDetails?: TaskSubmitFailedEventDetails; /** - *

                                                                Contains details about the failure of a task.

                                                                + *

                                                                Contains details about an iteration of a Map state that was started.

                                                                */ - taskFailedEventDetails?: TaskFailedEventDetails; + mapIterationStartedEventDetails?: MapIterationEventDetails; /** - *

                                                                Contains details about an activity timeout that occurred during an execution.

                                                                + *

                                                                The id of the previous event.

                                                                */ - activityTimedOutEventDetails?: ActivityTimedOutEventDetails; + previousEventId?: number; /** - *

                                                                Contains details about an iteration of a Map state that failed.

                                                                + *

                                                                Contains details about a task that was started.

                                                                */ - mapIterationFailedEventDetails?: MapIterationEventDetails; + taskStartedEventDetails?: TaskStartedEventDetails; /** - *

                                                                Contains details about an iteration of a Map state that succeeded.

                                                                + *

                                                                Contains details about the start of an activity during an execution.

                                                                */ - mapIterationSucceededEventDetails?: MapIterationEventDetails; + activityStartedEventDetails?: ActivityStartedEventDetails; /** - *

                                                                Contains details about a submitted task.

                                                                + *

                                                                The date and time the event occurred.

                                                                */ - taskSubmittedEventDetails?: TaskSubmittedEventDetails; + timestamp: Date | undefined; /** - *

                                                                Contains details about an activity scheduled during an execution.

                                                                + *

                                                                Contains details about the execution timeout that occurred during the execution.

                                                                */ - activityScheduledEventDetails?: ActivityScheduledEventDetails; + executionTimedOutEventDetails?: ExecutionTimedOutEventDetails; /** - *

                                                                Contains details about a task that failed to start.

                                                                + *

                                                                Contains details about a lambda function that failed during an execution.

                                                                */ - taskStartFailedEventDetails?: TaskStartFailedEventDetails; + lambdaFunctionFailedEventDetails?: LambdaFunctionFailedEventDetails; /** - *

                                                                Contains details about a failed lambda function schedule event that occurred during an + *

                                                                Contains details about a lambda function that terminated successfully during an * execution.

                                                                */ - lambdaFunctionScheduleFailedEventDetails?: LambdaFunctionScheduleFailedEventDetails; + lambdaFunctionSucceededEventDetails?: LambdaFunctionSucceededEventDetails; /** - *

                                                                Contains details about an iteration of a Map state that was aborted.

                                                                + *

                                                                Contains details about a task that timed out.

                                                                */ - mapIterationAbortedEventDetails?: MapIterationEventDetails; + taskTimedOutEventDetails?: TaskTimedOutEventDetails; /** - *

                                                                The id of the event. Events are numbered sequentially, starting at one.

                                                                + *

                                                                Contains details about an activity timeout that occurred during an execution.

                                                                */ - id: number | undefined; + activityTimedOutEventDetails?: ActivityTimedOutEventDetails; /** - *

                                                                Contains details about a lambda function that failed to start during an execution.

                                                                + *

                                                                Contains details about a task that succeeded.

                                                                */ - lambdaFunctionStartFailedEventDetails?: LambdaFunctionStartFailedEventDetails; + taskSucceededEventDetails?: TaskSucceededEventDetails; /** - *

                                                                Contains details about the start of the execution.

                                                                + *

                                                                Contains details about the successful termination of the execution.

                                                                */ - executionStartedEventDetails?: ExecutionStartedEventDetails; + executionSucceededEventDetails?: ExecutionSucceededEventDetails; /** - *

                                                                Contains details about a lambda function scheduled during an execution.

                                                                + *

                                                                Contains details about an activity that successfully terminated during an + * execution.

                                                                */ - lambdaFunctionScheduledEventDetails?: LambdaFunctionScheduledEventDetails; + activitySucceededEventDetails?: ActivitySucceededEventDetails; /** - *

                                                                Contains details about an execution failure event.

                                                                + *

                                                                Contains details about an exit from a state during an execution.

                                                                */ - executionFailedEventDetails?: ExecutionFailedEventDetails; + stateExitedEventDetails?: StateExitedEventDetails; /** - *

                                                                Contains details about an activity that failed during an execution.

                                                                + *

                                                                Contains details about the start of the execution.

                                                                */ - activityFailedEventDetails?: ActivityFailedEventDetails; + executionStartedEventDetails?: ExecutionStartedEventDetails; /** - *

                                                                Contains details about an abort of an execution.

                                                                + *

                                                                Contains details about an iteration of a Map state that succeeded.

                                                                */ - executionAbortedEventDetails?: ExecutionAbortedEventDetails; + mapIterationSucceededEventDetails?: MapIterationEventDetails; /** - *

                                                                Contains details about a task that where the submit failed.

                                                                + *

                                                                The id of the event. Events are numbered sequentially, starting at one.

                                                                */ - taskSubmitFailedEventDetails?: TaskSubmitFailedEventDetails; + id: number | undefined; /** - *

                                                                Contains details about a task that timed out.

                                                                + *

                                                                Contains details about an execution failure event.

                                                                */ - taskTimedOutEventDetails?: TaskTimedOutEventDetails; + executionFailedEventDetails?: ExecutionFailedEventDetails; /** - *

                                                                Contains details about a lambda function that failed during an execution.

                                                                + *

                                                                Contains details about a state entered during an execution.

                                                                */ - lambdaFunctionFailedEventDetails?: LambdaFunctionFailedEventDetails; + stateEnteredEventDetails?: StateEnteredEventDetails; /** - *

                                                                Contains details about Map state that was started.

                                                                + *

                                                                Contains details about an iteration of a Map state that was aborted.

                                                                */ - mapStateStartedEventDetails?: MapStateStartedEventDetails; + mapIterationAbortedEventDetails?: MapIterationEventDetails; /** - *

                                                                Contains details about a task that was scheduled.

                                                                + *

                                                                Contains details about a failed lambda function schedule event that occurred during an + * execution.

                                                                */ - taskScheduledEventDetails?: TaskScheduledEventDetails; + lambdaFunctionScheduleFailedEventDetails?: LambdaFunctionScheduleFailedEventDetails; /** - *

                                                                The id of the previous event.

                                                                + *

                                                                Contains details about an activity schedule event that failed during an execution.

                                                                */ - previousEventId?: number; + activityScheduleFailedEventDetails?: ActivityScheduleFailedEventDetails; /** - *

                                                                Contains details about a task that was started.

                                                                + *

                                                                Contains details about an activity scheduled during an execution.

                                                                */ - taskStartedEventDetails?: TaskStartedEventDetails; + activityScheduledEventDetails?: ActivityScheduledEventDetails; /** - *

                                                                Contains details about an iteration of a Map state that was started.

                                                                + *

                                                                Contains details about a task that failed to start.

                                                                */ - mapIterationStartedEventDetails?: MapIterationEventDetails; + taskStartFailedEventDetails?: TaskStartFailedEventDetails; /** - *

                                                                Contains details about the start of an activity during an execution.

                                                                + *

                                                                Contains details about a submitted task.

                                                                */ - activityStartedEventDetails?: ActivityStartedEventDetails; + taskSubmittedEventDetails?: TaskSubmittedEventDetails; } export namespace HistoryEvent { export const filterSensitiveLog = (obj: HistoryEvent): any => ({ ...obj, - ...(obj.activityScheduleFailedEventDetails && { - activityScheduleFailedEventDetails: ActivityScheduleFailedEventDetails.filterSensitiveLog( - obj.activityScheduleFailedEventDetails + ...(obj.lambdaFunctionStartFailedEventDetails && { + lambdaFunctionStartFailedEventDetails: LambdaFunctionStartFailedEventDetails.filterSensitiveLog( + obj.lambdaFunctionStartFailedEventDetails ), }), - ...(obj.executionSucceededEventDetails && { - executionSucceededEventDetails: ExecutionSucceededEventDetails.filterSensitiveLog( - obj.executionSucceededEventDetails + ...(obj.taskScheduledEventDetails && { + taskScheduledEventDetails: TaskScheduledEventDetails.filterSensitiveLog(obj.taskScheduledEventDetails), + }), + ...(obj.lambdaFunctionScheduledEventDetails && { + lambdaFunctionScheduledEventDetails: LambdaFunctionScheduledEventDetails.filterSensitiveLog( + obj.lambdaFunctionScheduledEventDetails ), }), - ...(obj.taskSucceededEventDetails && { - taskSucceededEventDetails: TaskSucceededEventDetails.filterSensitiveLog(obj.taskSucceededEventDetails), + ...(obj.taskFailedEventDetails && { + taskFailedEventDetails: TaskFailedEventDetails.filterSensitiveLog(obj.taskFailedEventDetails), }), - ...(obj.lambdaFunctionSucceededEventDetails && { - lambdaFunctionSucceededEventDetails: LambdaFunctionSucceededEventDetails.filterSensitiveLog( - obj.lambdaFunctionSucceededEventDetails - ), + ...(obj.activityFailedEventDetails && { + activityFailedEventDetails: ActivityFailedEventDetails.filterSensitiveLog(obj.activityFailedEventDetails), + }), + ...(obj.executionAbortedEventDetails && { + executionAbortedEventDetails: ExecutionAbortedEventDetails.filterSensitiveLog(obj.executionAbortedEventDetails), }), ...(obj.lambdaFunctionTimedOutEventDetails && { lambdaFunctionTimedOutEventDetails: LambdaFunctionTimedOutEventDetails.filterSensitiveLog( obj.lambdaFunctionTimedOutEventDetails ), }), - ...(obj.stateEnteredEventDetails && { - stateEnteredEventDetails: StateEnteredEventDetails.filterSensitiveLog(obj.stateEnteredEventDetails), - }), - ...(obj.stateExitedEventDetails && { - stateExitedEventDetails: StateExitedEventDetails.filterSensitiveLog(obj.stateExitedEventDetails), + ...(obj.taskSubmitFailedEventDetails && { + taskSubmitFailedEventDetails: TaskSubmitFailedEventDetails.filterSensitiveLog(obj.taskSubmitFailedEventDetails), }), ...(obj.executionTimedOutEventDetails && { executionTimedOutEventDetails: ExecutionTimedOutEventDetails.filterSensitiveLog( obj.executionTimedOutEventDetails ), }), - ...(obj.activitySucceededEventDetails && { - activitySucceededEventDetails: ActivitySucceededEventDetails.filterSensitiveLog( - obj.activitySucceededEventDetails + ...(obj.lambdaFunctionFailedEventDetails && { + lambdaFunctionFailedEventDetails: LambdaFunctionFailedEventDetails.filterSensitiveLog( + obj.lambdaFunctionFailedEventDetails ), }), - ...(obj.taskFailedEventDetails && { - taskFailedEventDetails: TaskFailedEventDetails.filterSensitiveLog(obj.taskFailedEventDetails), + ...(obj.lambdaFunctionSucceededEventDetails && { + lambdaFunctionSucceededEventDetails: LambdaFunctionSucceededEventDetails.filterSensitiveLog( + obj.lambdaFunctionSucceededEventDetails + ), + }), + ...(obj.taskTimedOutEventDetails && { + taskTimedOutEventDetails: TaskTimedOutEventDetails.filterSensitiveLog(obj.taskTimedOutEventDetails), }), ...(obj.activityTimedOutEventDetails && { activityTimedOutEventDetails: ActivityTimedOutEventDetails.filterSensitiveLog(obj.activityTimedOutEventDetails), }), - ...(obj.taskSubmittedEventDetails && { - taskSubmittedEventDetails: TaskSubmittedEventDetails.filterSensitiveLog(obj.taskSubmittedEventDetails), + ...(obj.taskSucceededEventDetails && { + taskSucceededEventDetails: TaskSucceededEventDetails.filterSensitiveLog(obj.taskSucceededEventDetails), }), - ...(obj.activityScheduledEventDetails && { - activityScheduledEventDetails: ActivityScheduledEventDetails.filterSensitiveLog( - obj.activityScheduledEventDetails + ...(obj.executionSucceededEventDetails && { + executionSucceededEventDetails: ExecutionSucceededEventDetails.filterSensitiveLog( + obj.executionSucceededEventDetails ), }), - ...(obj.taskStartFailedEventDetails && { - taskStartFailedEventDetails: TaskStartFailedEventDetails.filterSensitiveLog(obj.taskStartFailedEventDetails), - }), - ...(obj.lambdaFunctionScheduleFailedEventDetails && { - lambdaFunctionScheduleFailedEventDetails: LambdaFunctionScheduleFailedEventDetails.filterSensitiveLog( - obj.lambdaFunctionScheduleFailedEventDetails + ...(obj.activitySucceededEventDetails && { + activitySucceededEventDetails: ActivitySucceededEventDetails.filterSensitiveLog( + obj.activitySucceededEventDetails ), }), - ...(obj.lambdaFunctionStartFailedEventDetails && { - lambdaFunctionStartFailedEventDetails: LambdaFunctionStartFailedEventDetails.filterSensitiveLog( - obj.lambdaFunctionStartFailedEventDetails - ), + ...(obj.stateExitedEventDetails && { + stateExitedEventDetails: StateExitedEventDetails.filterSensitiveLog(obj.stateExitedEventDetails), }), ...(obj.executionStartedEventDetails && { executionStartedEventDetails: ExecutionStartedEventDetails.filterSensitiveLog(obj.executionStartedEventDetails), }), - ...(obj.lambdaFunctionScheduledEventDetails && { - lambdaFunctionScheduledEventDetails: LambdaFunctionScheduledEventDetails.filterSensitiveLog( - obj.lambdaFunctionScheduledEventDetails - ), - }), ...(obj.executionFailedEventDetails && { executionFailedEventDetails: ExecutionFailedEventDetails.filterSensitiveLog(obj.executionFailedEventDetails), }), - ...(obj.activityFailedEventDetails && { - activityFailedEventDetails: ActivityFailedEventDetails.filterSensitiveLog(obj.activityFailedEventDetails), - }), - ...(obj.executionAbortedEventDetails && { - executionAbortedEventDetails: ExecutionAbortedEventDetails.filterSensitiveLog(obj.executionAbortedEventDetails), + ...(obj.stateEnteredEventDetails && { + stateEnteredEventDetails: StateEnteredEventDetails.filterSensitiveLog(obj.stateEnteredEventDetails), }), - ...(obj.taskSubmitFailedEventDetails && { - taskSubmitFailedEventDetails: TaskSubmitFailedEventDetails.filterSensitiveLog(obj.taskSubmitFailedEventDetails), + ...(obj.lambdaFunctionScheduleFailedEventDetails && { + lambdaFunctionScheduleFailedEventDetails: LambdaFunctionScheduleFailedEventDetails.filterSensitiveLog( + obj.lambdaFunctionScheduleFailedEventDetails + ), }), - ...(obj.taskTimedOutEventDetails && { - taskTimedOutEventDetails: TaskTimedOutEventDetails.filterSensitiveLog(obj.taskTimedOutEventDetails), + ...(obj.activityScheduleFailedEventDetails && { + activityScheduleFailedEventDetails: ActivityScheduleFailedEventDetails.filterSensitiveLog( + obj.activityScheduleFailedEventDetails + ), }), - ...(obj.lambdaFunctionFailedEventDetails && { - lambdaFunctionFailedEventDetails: LambdaFunctionFailedEventDetails.filterSensitiveLog( - obj.lambdaFunctionFailedEventDetails + ...(obj.activityScheduledEventDetails && { + activityScheduledEventDetails: ActivityScheduledEventDetails.filterSensitiveLog( + obj.activityScheduledEventDetails ), }), - ...(obj.taskScheduledEventDetails && { - taskScheduledEventDetails: TaskScheduledEventDetails.filterSensitiveLog(obj.taskScheduledEventDetails), + ...(obj.taskStartFailedEventDetails && { + taskStartFailedEventDetails: TaskStartFailedEventDetails.filterSensitiveLog(obj.taskStartFailedEventDetails), + }), + ...(obj.taskSubmittedEventDetails && { + taskSubmittedEventDetails: TaskSubmittedEventDetails.filterSensitiveLog(obj.taskSubmittedEventDetails), }), }); } @@ -2037,18 +2195,18 @@ export namespace InvalidToken { } export interface ListActivitiesInput { - /** - *

                                                                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. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                                                                - */ - nextToken?: string; - /** *

                                                                The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. * The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

                                                                *

                                                                This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

                                                                */ 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. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                                                                + */ + nextToken?: string; } export namespace ListActivitiesInput { @@ -2077,12 +2235,6 @@ export namespace ListActivitiesOutput { } export interface ListExecutionsInput { - /** - *

                                                                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. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                                                                - */ - nextToken?: string; - /** *

                                                                The Amazon Resource Name (ARN) of the state machine whose executions is listed.

                                                                */ @@ -2095,6 +2247,12 @@ export interface ListExecutionsInput { */ 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. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                                                                + */ + nextToken?: string; + /** *

                                                                If specified, only list the executions whose current execution status matches the given * filter.

                                                                @@ -2113,9 +2271,9 @@ export namespace ListExecutionsInput { */ export interface ExecutionListItem { /** - *

                                                                The current status of the execution.

                                                                + *

                                                                The Amazon Resource Name (ARN) that id entifies the execution.

                                                                */ - status: ExecutionStatus | string | undefined; + executionArn: string | undefined; /** *

                                                                The name of the execution.

                                                                @@ -2144,11 +2302,6 @@ export interface ExecutionListItem { */ name: string | undefined; - /** - *

                                                                The Amazon Resource Name (ARN) that id entifies the execution.

                                                                - */ - executionArn: string | undefined; - /** *

                                                                The date the execution started.

                                                                */ @@ -2159,6 +2312,11 @@ export interface ExecutionListItem { */ stopDate?: Date; + /** + *

                                                                The current status of the execution.

                                                                + */ + status: ExecutionStatus | string | undefined; + /** *

                                                                The Amazon Resource Name (ARN) of the executed state machine.

                                                                */ @@ -2173,15 +2331,15 @@ export namespace ExecutionListItem { export interface ListExecutionsOutput { /** - *

                                                                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. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                                                                + *

                                                                The list of matching executions.

                                                                */ - nextToken?: string; + executions: ExecutionListItem[] | undefined; /** - *

                                                                The list of matching executions.

                                                                + *

                                                                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. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                                                                */ - executions: ExecutionListItem[] | undefined; + nextToken?: string; } export namespace ListExecutionsOutput { @@ -2191,18 +2349,18 @@ export namespace ListExecutionsOutput { } export interface ListStateMachinesInput { - /** - *

                                                                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. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                                                                - */ - nextToken?: string; - /** *

                                                                The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. * The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

                                                                *

                                                                This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

                                                                */ 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. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                                                                + */ + nextToken?: string; } export namespace ListStateMachinesInput { @@ -2215,6 +2373,11 @@ export namespace ListStateMachinesInput { *

                                                                Contains details about the state machine.

                                                                */ export interface StateMachineListItem { + /** + *

                                                                The date the state machine is created.

                                                                + */ + creationDate: Date | undefined; + /** *

                                                                The name of the state machine.

                                                                *

                                                                A name must not contain:

                                                                @@ -2243,19 +2406,14 @@ export interface StateMachineListItem { name: string | undefined; /** - *

                                                                The date the state machine is created.

                                                                + *

                                                                */ - creationDate: Date | undefined; + type: StateMachineType | string | undefined; /** *

                                                                The Amazon Resource Name (ARN) that identifies the state machine.

                                                                */ stateMachineArn: string | undefined; - - /** - *

                                                                - */ - type: StateMachineType | string | undefined; } export namespace StateMachineListItem { @@ -2313,8 +2471,8 @@ export namespace ListTagsForResourceOutput { export interface ResourceNotFound extends __SmithyException, $MetadataBearer { name: "ResourceNotFound"; $fault: "client"; - resourceName?: string; message?: string; + resourceName?: string; } export namespace ResourceNotFound { @@ -2324,11 +2482,6 @@ export namespace ResourceNotFound { } export interface SendTaskFailureInput { - /** - *

                                                                The error code of the failure.

                                                                - */ - error?: string; - /** *

                                                                The token that represents this task. Task tokens are generated by Step Functions when * tasks are assigned to a worker, or in the context object when a @@ -2336,6 +2489,11 @@ export interface SendTaskFailureInput { */ taskToken: string | undefined; + /** + *

                                                                The error code of the failure.

                                                                + */ + error?: string; + /** *

                                                                A more detailed explanation of the cause of the failure.

                                                                */ @@ -2421,17 +2579,17 @@ export namespace InvalidOutput { } export interface SendTaskSuccessInput { + /** + *

                                                                The JSON output of the task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                + */ + output: string | undefined; + /** *

                                                                The token that represents this task. Task tokens are generated by Step Functions when * tasks are assigned to a worker, or in the context object when a * workflow enters a task state. See GetActivityTaskOutput$taskToken.

                                                                */ taskToken: string | undefined; - - /** - *

                                                                The JSON output of the task.

                                                                - */ - output: string | undefined; } export namespace SendTaskSuccessInput { @@ -2501,6 +2659,25 @@ export namespace InvalidExecutionInput { } export interface StartExecutionInput { + /** + *

                                                                The string that contains the JSON input data for the execution, for example:

                                                                + *

                                                                + * "input": "{\"first_name\" : \"test\"}" + *

                                                                + * + *

                                                                If you don't include any JSON input data, you still must include the two braces, for + * example: "input": "{}" + *

                                                                + *
                                                                + *

                                                                Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

                                                                + */ + input?: string; + + /** + *

                                                                The Amazon Resource Name (ARN) of the state machine to execute.

                                                                + */ + stateMachineArn: string | undefined; + /** *

                                                                The name of the execution. This name must be unique for your AWS account, region, and state machine for 90 days. For more information, * see @@ -2531,22 +2708,9 @@ export interface StartExecutionInput { name?: string; /** - *

                                                                The Amazon Resource Name (ARN) of the state machine to execute.

                                                                + *

                                                                Passes the AWS X-Ray trace header. The trace header can also be passed in the request payload.

                                                                */ - stateMachineArn: string | undefined; - - /** - *

                                                                The string that contains the JSON input data for the execution, for example:

                                                                - *

                                                                - * "input": "{\"first_name\" : \"test\"}" - *

                                                                - * - *

                                                                If you don't include any JSON input data, you still must include the two braces, for - * example: "input": "{}" - *

                                                                - *
                                                                - */ - input?: string; + traceHeader?: string; } export namespace StartExecutionInput { @@ -2558,14 +2722,14 @@ export namespace StartExecutionInput { export interface StartExecutionOutput { /** - *

                                                                The date the execution is started.

                                                                + *

                                                                The Amazon Resource Name (ARN) that id entifies the execution.

                                                                */ - startDate: Date | undefined; + executionArn: string | undefined; /** - *

                                                                The Amazon Resource Name (ARN) that id entifies the execution.

                                                                + *

                                                                The date the execution is started.

                                                                */ - executionArn: string | undefined; + startDate: Date | undefined; } export namespace StartExecutionOutput { @@ -2575,11 +2739,6 @@ export namespace StartExecutionOutput { } export interface StopExecutionInput { - /** - *

                                                                A more detailed explanation of the cause of the failure.

                                                                - */ - cause?: string; - /** *

                                                                The error code of the failure.

                                                                */ @@ -2589,13 +2748,18 @@ export interface StopExecutionInput { *

                                                                The Amazon Resource Name (ARN) of the execution to stop.

                                                                */ executionArn: string | undefined; + + /** + *

                                                                A more detailed explanation of the cause of the failure.

                                                                + */ + cause?: string; } export namespace StopExecutionInput { export const filterSensitiveLog = (obj: StopExecutionInput): any => ({ ...obj, - ...(obj.cause && { cause: SENSITIVE_STRING }), ...(obj.error && { error: SENSITIVE_STRING }), + ...(obj.cause && { cause: SENSITIVE_STRING }), }); } @@ -2683,9 +2847,9 @@ export namespace MissingRequiredParameter { export interface UpdateStateMachineInput { /** - *

                                                                The Amazon States Language definition of the state machine. See Amazon States Language.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the state machine.

                                                                */ - definition?: string; + stateMachineArn: string | undefined; /** *

                                                                The LoggingConfiguration data type is used to set CloudWatch Logs @@ -2694,9 +2858,14 @@ export interface UpdateStateMachineInput { loggingConfiguration?: LoggingConfiguration; /** - *

                                                                The Amazon Resource Name (ARN) of the state machine.

                                                                + *

                                                                The Amazon States Language definition of the state machine. See Amazon States Language.

                                                                */ - stateMachineArn: string | undefined; + definition?: string; + + /** + *

                                                                Selects whether AWS X-Ray tracing is enabled.

                                                                + */ + tracingConfiguration?: TracingConfiguration; /** *

                                                                The Amazon Resource Name (ARN) of the IAM role of the state machine.

                                                                diff --git a/clients/client-sfn/protocols/Aws_json1_0.ts b/clients/client-sfn/protocols/Aws_json1_0.ts index c8ab46b123ca..ded5d40392b0 100644 --- a/clients/client-sfn/protocols/Aws_json1_0.ts +++ b/clients/client-sfn/protocols/Aws_json1_0.ts @@ -43,6 +43,7 @@ import { ActivitySucceededEventDetails, ActivityTimedOutEventDetails, ActivityWorkerLimitExceeded, + CloudWatchEventsExecutionDataDetails, CloudWatchLogsLogGroup, CreateActivityInput, CreateActivityOutput, @@ -74,6 +75,7 @@ import { GetExecutionHistoryInput, GetExecutionHistoryOutput, HistoryEvent, + HistoryEventExecutionDataDetails, InvalidArn, InvalidDefinition, InvalidExecutionInput, @@ -81,6 +83,7 @@ import { InvalidName, InvalidOutput, InvalidToken, + InvalidTracingConfiguration, LambdaFunctionFailedEventDetails, LambdaFunctionScheduleFailedEventDetails, LambdaFunctionScheduledEventDetails, @@ -133,6 +136,7 @@ import { TaskTimedOut, TaskTimedOutEventDetails, TooManyTags, + TracingConfiguration, UntagResourceInput, UntagResourceOutput, UpdateStateMachineInput, @@ -567,6 +571,14 @@ const deserializeAws_json1_0CreateStateMachineCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidTracingConfiguration": + case "com.amazonaws.sfn#InvalidTracingConfiguration": + response = { + ...(await deserializeAws_json1_0InvalidTracingConfigurationResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "StateMachineAlreadyExists": case "com.amazonaws.sfn#StateMachineAlreadyExists": response = { @@ -1955,6 +1967,14 @@ const deserializeAws_json1_0UpdateStateMachineCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidTracingConfiguration": + case "com.amazonaws.sfn#InvalidTracingConfiguration": + response = { + ...(await deserializeAws_json1_0InvalidTracingConfigurationResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "MissingRequiredParameter": case "com.amazonaws.sfn#MissingRequiredParameter": response = { @@ -2191,6 +2211,21 @@ const deserializeAws_json1_0InvalidTokenResponse = async ( return contents; }; +const deserializeAws_json1_0InvalidTracingConfigurationResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0InvalidTracingConfiguration(body, context); + const contents: InvalidTracingConfiguration = { + name: "InvalidTracingConfiguration", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_0MissingRequiredParameterResponse = async ( parsedOutput: any, context: __SerdeContext @@ -2363,6 +2398,9 @@ const serializeAws_json1_0CreateStateMachineInput = (input: CreateStateMachineIn ...(input.name !== undefined && { name: input.name }), ...(input.roleArn !== undefined && { roleArn: input.roleArn }), ...(input.tags !== undefined && { tags: serializeAws_json1_0TagList(input.tags, context) }), + ...(input.tracingConfiguration !== undefined && { + tracingConfiguration: serializeAws_json1_0TracingConfiguration(input.tracingConfiguration, context), + }), ...(input.type !== undefined && { type: input.type }), }; }; @@ -2422,6 +2460,7 @@ const serializeAws_json1_0GetExecutionHistoryInput = ( ): any => { return { ...(input.executionArn !== undefined && { executionArn: input.executionArn }), + ...(input.includeExecutionData !== undefined && { includeExecutionData: input.includeExecutionData }), ...(input.maxResults !== undefined && { maxResults: input.maxResults }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.reverseOrder !== undefined && { reverseOrder: input.reverseOrder }), @@ -2508,6 +2547,7 @@ const serializeAws_json1_0StartExecutionInput = (input: StartExecutionInput, con ...(input.input !== undefined && { input: input.input }), ...(input.name !== undefined && { name: input.name }), ...(input.stateMachineArn !== undefined && { stateMachineArn: input.stateMachineArn }), + ...(input.traceHeader !== undefined && { traceHeader: input.traceHeader }), }; }; @@ -2541,6 +2581,12 @@ const serializeAws_json1_0TagResourceInput = (input: TagResourceInput, context: }; }; +const serializeAws_json1_0TracingConfiguration = (input: TracingConfiguration, context: __SerdeContext): any => { + return { + ...(input.enabled !== undefined && { enabled: input.enabled }), + }; +}; + const serializeAws_json1_0UntagResourceInput = (input: UntagResourceInput, context: __SerdeContext): any => { return { ...(input.resourceArn !== undefined && { resourceArn: input.resourceArn }), @@ -2556,6 +2602,9 @@ const serializeAws_json1_0UpdateStateMachineInput = (input: UpdateStateMachineIn }), ...(input.roleArn !== undefined && { roleArn: input.roleArn }), ...(input.stateMachineArn !== undefined && { stateMachineArn: input.stateMachineArn }), + ...(input.tracingConfiguration !== undefined && { + tracingConfiguration: serializeAws_json1_0TracingConfiguration(input.tracingConfiguration, context), + }), }; }; @@ -2606,6 +2655,10 @@ const deserializeAws_json1_0ActivityScheduledEventDetails = ( ? output.heartbeatInSeconds : undefined, input: output.input !== undefined && output.input !== null ? output.input : undefined, + inputDetails: + output.inputDetails !== undefined && output.inputDetails !== null + ? deserializeAws_json1_0HistoryEventExecutionDataDetails(output.inputDetails, context) + : undefined, resource: output.resource !== undefined && output.resource !== null ? output.resource : undefined, timeoutInSeconds: output.timeoutInSeconds !== undefined && output.timeoutInSeconds !== null ? output.timeoutInSeconds : undefined, @@ -2637,6 +2690,10 @@ const deserializeAws_json1_0ActivitySucceededEventDetails = ( ): ActivitySucceededEventDetails => { return { output: output.output !== undefined && output.output !== null ? output.output : undefined, + outputDetails: + output.outputDetails !== undefined && output.outputDetails !== null + ? deserializeAws_json1_0HistoryEventExecutionDataDetails(output.outputDetails, context) + : undefined, } as any; }; @@ -2659,6 +2716,15 @@ const deserializeAws_json1_0ActivityWorkerLimitExceeded = ( } as any; }; +const deserializeAws_json1_0CloudWatchEventsExecutionDataDetails = ( + output: any, + context: __SerdeContext +): CloudWatchEventsExecutionDataDetails => { + return { + included: output.included !== undefined && output.included !== null ? output.included : undefined, + } as any; +}; + const deserializeAws_json1_0CloudWatchLogsLogGroup = (output: any, context: __SerdeContext): CloudWatchLogsLogGroup => { return { logGroupArn: output.logGroupArn !== undefined && output.logGroupArn !== null ? output.logGroupArn : undefined, @@ -2718,8 +2784,16 @@ const deserializeAws_json1_0DescribeExecutionOutput = ( return { executionArn: output.executionArn !== undefined && output.executionArn !== null ? output.executionArn : undefined, input: output.input !== undefined && output.input !== null ? output.input : undefined, + inputDetails: + output.inputDetails !== undefined && output.inputDetails !== null + ? deserializeAws_json1_0CloudWatchEventsExecutionDataDetails(output.inputDetails, context) + : undefined, name: output.name !== undefined && output.name !== null ? output.name : undefined, output: output.output !== undefined && output.output !== null ? output.output : undefined, + outputDetails: + output.outputDetails !== undefined && output.outputDetails !== null + ? deserializeAws_json1_0CloudWatchEventsExecutionDataDetails(output.outputDetails, context) + : undefined, startDate: output.startDate !== undefined && output.startDate !== null ? new Date(Math.round(output.startDate * 1000)) @@ -2731,6 +2805,7 @@ const deserializeAws_json1_0DescribeExecutionOutput = ( output.stopDate !== undefined && output.stopDate !== null ? new Date(Math.round(output.stopDate * 1000)) : undefined, + traceHeader: output.traceHeader !== undefined && output.traceHeader !== null ? output.traceHeader : undefined, } as any; }; @@ -2748,6 +2823,10 @@ const deserializeAws_json1_0DescribeStateMachineForExecutionOutput = ( roleArn: output.roleArn !== undefined && output.roleArn !== null ? output.roleArn : undefined, stateMachineArn: output.stateMachineArn !== undefined && output.stateMachineArn !== null ? output.stateMachineArn : undefined, + tracingConfiguration: + output.tracingConfiguration !== undefined && output.tracingConfiguration !== null + ? deserializeAws_json1_0TracingConfiguration(output.tracingConfiguration, context) + : undefined, updateDate: output.updateDate !== undefined && output.updateDate !== null ? new Date(Math.round(output.updateDate * 1000)) @@ -2774,6 +2853,10 @@ const deserializeAws_json1_0DescribeStateMachineOutput = ( stateMachineArn: output.stateMachineArn !== undefined && output.stateMachineArn !== null ? output.stateMachineArn : undefined, status: output.status !== undefined && output.status !== null ? output.status : undefined, + tracingConfiguration: + output.tracingConfiguration !== undefined && output.tracingConfiguration !== null + ? deserializeAws_json1_0TracingConfiguration(output.tracingConfiguration, context) + : undefined, type: output.type !== undefined && output.type !== null ? output.type : undefined, } as any; }; @@ -2844,6 +2927,10 @@ const deserializeAws_json1_0ExecutionStartedEventDetails = ( ): ExecutionStartedEventDetails => { return { input: output.input !== undefined && output.input !== null ? output.input : undefined, + inputDetails: + output.inputDetails !== undefined && output.inputDetails !== null + ? deserializeAws_json1_0HistoryEventExecutionDataDetails(output.inputDetails, context) + : undefined, roleArn: output.roleArn !== undefined && output.roleArn !== null ? output.roleArn : undefined, } as any; }; @@ -2854,6 +2941,10 @@ const deserializeAws_json1_0ExecutionSucceededEventDetails = ( ): ExecutionSucceededEventDetails => { return { output: output.output !== undefined && output.output !== null ? output.output : undefined, + outputDetails: + output.outputDetails !== undefined && output.outputDetails !== null + ? deserializeAws_json1_0HistoryEventExecutionDataDetails(output.outputDetails, context) + : undefined, } as any; }; @@ -3036,6 +3127,15 @@ const deserializeAws_json1_0HistoryEvent = (output: any, context: __SerdeContext } as any; }; +const deserializeAws_json1_0HistoryEventExecutionDataDetails = ( + output: any, + context: __SerdeContext +): HistoryEventExecutionDataDetails => { + return { + truncated: output.truncated !== undefined && output.truncated !== null ? output.truncated : undefined, + } as any; +}; + const deserializeAws_json1_0HistoryEventList = (output: any, context: __SerdeContext): HistoryEvent[] => { return (output || []).map((entry: any) => deserializeAws_json1_0HistoryEvent(entry, context)); }; @@ -3085,6 +3185,15 @@ const deserializeAws_json1_0InvalidToken = (output: any, context: __SerdeContext } as any; }; +const deserializeAws_json1_0InvalidTracingConfiguration = ( + output: any, + context: __SerdeContext +): InvalidTracingConfiguration => { + return { + message: output.message !== undefined && output.message !== null ? output.message : undefined, + } as any; +}; + const deserializeAws_json1_0LambdaFunctionFailedEventDetails = ( output: any, context: __SerdeContext @@ -3101,6 +3210,10 @@ const deserializeAws_json1_0LambdaFunctionScheduledEventDetails = ( ): LambdaFunctionScheduledEventDetails => { return { input: output.input !== undefined && output.input !== null ? output.input : undefined, + inputDetails: + output.inputDetails !== undefined && output.inputDetails !== null + ? deserializeAws_json1_0HistoryEventExecutionDataDetails(output.inputDetails, context) + : undefined, resource: output.resource !== undefined && output.resource !== null ? output.resource : undefined, timeoutInSeconds: output.timeoutInSeconds !== undefined && output.timeoutInSeconds !== null ? output.timeoutInSeconds : undefined, @@ -3133,6 +3246,10 @@ const deserializeAws_json1_0LambdaFunctionSucceededEventDetails = ( ): LambdaFunctionSucceededEventDetails => { return { output: output.output !== undefined && output.output !== null ? output.output : undefined, + outputDetails: + output.outputDetails !== undefined && output.outputDetails !== null + ? deserializeAws_json1_0HistoryEventExecutionDataDetails(output.outputDetails, context) + : undefined, } as any; }; @@ -3284,6 +3401,10 @@ const deserializeAws_json1_0StateEnteredEventDetails = ( ): StateEnteredEventDetails => { return { input: output.input !== undefined && output.input !== null ? output.input : undefined, + inputDetails: + output.inputDetails !== undefined && output.inputDetails !== null + ? deserializeAws_json1_0HistoryEventExecutionDataDetails(output.inputDetails, context) + : undefined, name: output.name !== undefined && output.name !== null ? output.name : undefined, } as any; }; @@ -3295,6 +3416,10 @@ const deserializeAws_json1_0StateExitedEventDetails = ( return { name: output.name !== undefined && output.name !== null ? output.name : undefined, output: output.output !== undefined && output.output !== null ? output.output : undefined, + outputDetails: + output.outputDetails !== undefined && output.outputDetails !== null + ? deserializeAws_json1_0HistoryEventExecutionDataDetails(output.outputDetails, context) + : undefined, } as any; }; @@ -3401,6 +3526,10 @@ const deserializeAws_json1_0TaskScheduledEventDetails = ( context: __SerdeContext ): TaskScheduledEventDetails => { return { + heartbeatInSeconds: + output.heartbeatInSeconds !== undefined && output.heartbeatInSeconds !== null + ? output.heartbeatInSeconds + : undefined, parameters: output.parameters !== undefined && output.parameters !== null ? output.parameters : undefined, region: output.region !== undefined && output.region !== null ? output.region : undefined, resource: output.resource !== undefined && output.resource !== null ? output.resource : undefined, @@ -3450,6 +3579,10 @@ const deserializeAws_json1_0TaskSubmittedEventDetails = ( ): TaskSubmittedEventDetails => { return { output: output.output !== undefined && output.output !== null ? output.output : undefined, + outputDetails: + output.outputDetails !== undefined && output.outputDetails !== null + ? deserializeAws_json1_0HistoryEventExecutionDataDetails(output.outputDetails, context) + : undefined, resource: output.resource !== undefined && output.resource !== null ? output.resource : undefined, resourceType: output.resourceType !== undefined && output.resourceType !== null ? output.resourceType : undefined, } as any; @@ -3461,6 +3594,10 @@ const deserializeAws_json1_0TaskSucceededEventDetails = ( ): TaskSucceededEventDetails => { return { output: output.output !== undefined && output.output !== null ? output.output : undefined, + outputDetails: + output.outputDetails !== undefined && output.outputDetails !== null + ? deserializeAws_json1_0HistoryEventExecutionDataDetails(output.outputDetails, context) + : undefined, resource: output.resource !== undefined && output.resource !== null ? output.resource : undefined, resourceType: output.resourceType !== undefined && output.resourceType !== null ? output.resourceType : undefined, } as any; @@ -3491,6 +3628,12 @@ const deserializeAws_json1_0TooManyTags = (output: any, context: __SerdeContext) } as any; }; +const deserializeAws_json1_0TracingConfiguration = (output: any, context: __SerdeContext): TracingConfiguration => { + return { + enabled: output.enabled !== undefined && output.enabled !== null ? output.enabled : undefined, + } as any; +}; + const deserializeAws_json1_0UntagResourceOutput = (output: any, context: __SerdeContext): UntagResourceOutput => { return {} as any; }; diff --git a/clients/client-shield/models/models_0.ts b/clients/client-shield/models/models_0.ts index 2cd34ad2bfb2..0499acf98e9d 100644 --- a/clients/client-shield/models/models_0.ts +++ b/clients/client-shield/models/models_0.ts @@ -108,9 +108,9 @@ export namespace InvalidParameterException { export interface LimitsExceededException extends __SmithyException, $MetadataBearer { name: "LimitsExceededException"; $fault: "client"; + message?: string; Limit?: number; Type?: string; - message?: string; } export namespace LimitsExceededException { @@ -268,20 +268,15 @@ export namespace AssociateProactiveEngagementDetailsResponse { *

                                                                The counter that describes a DDoS attack.

                                                                */ export interface SummarizedCounter { - /** - *

                                                                The number of counters for a specified time period.

                                                                - */ - N?: number; - /** *

                                                                The unit of the counters.

                                                                */ Unit?: string; /** - *

                                                                The average value of the counter for a specified time period.

                                                                + *

                                                                The total of counter values for a specified time period.

                                                                */ - Average?: number; + Sum?: number; /** *

                                                                The maximum value of the counter for a specified time period.

                                                                @@ -289,9 +284,14 @@ export interface SummarizedCounter { Max?: number; /** - *

                                                                The total of counter values for a specified time period.

                                                                + *

                                                                The average value of the counter for a specified time period.

                                                                */ - Sum?: number; + Average?: number; + + /** + *

                                                                The number of counters for a specified time period.

                                                                + */ + N?: number; /** *

                                                                The counter name.

                                                                @@ -354,9 +354,9 @@ export enum Unit { */ export interface AttackProperty { /** - *

                                                                The total contributions made to this attack by all contributors, not just the five listed in the TopContributors list.

                                                                + *

                                                                The unit of the Value of the contributions.

                                                                */ - Total?: number; + Unit?: Unit | string; /** *

                                                                The type of distributed denial of service (DDoS) event that was observed. @@ -366,9 +366,9 @@ export interface AttackProperty { AttackLayer?: AttackLayer | string; /** - *

                                                                The unit of the Value of the contributions.

                                                                + *

                                                                The array of Contributor objects that includes the top five contributors to an attack.

                                                                */ - Unit?: Unit | string; + TopContributors?: Contributor[]; /** *

                                                                Defines the DDoS attack property information that is provided. The @@ -378,9 +378,9 @@ export interface AttackProperty { AttackPropertyIdentifier?: AttackPropertyIdentifier | string; /** - *

                                                                The array of Contributor objects that includes the top five contributors to an attack.

                                                                + *

                                                                The total contributions made to this attack by all contributors, not just the five listed in the TopContributors list.

                                                                */ - TopContributors?: Contributor[]; + Total?: number; } export namespace AttackProperty { @@ -410,14 +410,14 @@ export namespace Mitigation { */ export interface SummarizedAttackVector { /** - *

                                                                The list of counters that describe the details of the attack.

                                                                + *

                                                                The attack type, for example, SNMP reflection or SYN flood.

                                                                */ - VectorCounters?: SummarizedCounter[]; + VectorType: string | undefined; /** - *

                                                                The attack type, for example, SNMP reflection or SYN flood.

                                                                + *

                                                                The list of counters that describe the details of the attack.

                                                                */ - VectorType: string | undefined; + VectorCounters?: SummarizedCounter[]; } export namespace SummarizedAttackVector { @@ -435,11 +435,6 @@ export enum SubResourceType { *

                                                                The attack information for the specified SubResource.

                                                                */ export interface SubResourceSummary { - /** - *

                                                                The counters that describe the details of the attack.

                                                                - */ - Counters?: SummarizedCounter[]; - /** *

                                                                The SubResource type.

                                                                */ @@ -454,6 +449,11 @@ export interface SubResourceSummary { *

                                                                The unique identifier (ID) of the SubResource.

                                                                */ Id?: string; + + /** + *

                                                                The counters that describe the details of the attack.

                                                                + */ + Counters?: SummarizedCounter[]; } export namespace SubResourceSummary { @@ -466,11 +466,6 @@ export namespace SubResourceSummary { *

                                                                The details of a DDoS attack.

                                                                */ export interface AttackDetail { - /** - *

                                                                The time the attack started, in Unix time in seconds. For more information see timestamp.

                                                                - */ - StartTime?: Date; - /** *

                                                                If applicable, additional detail about the resource being attacked, for example, IP * address or URL.

                                                                @@ -487,15 +482,20 @@ export interface AttackDetail { */ ResourceArn?: string; + /** + *

                                                                The time the attack ended, in Unix time in seconds. For more information see timestamp.

                                                                + */ + EndTime?: Date; + /** *

                                                                The unique identifier (ID) of the attack.

                                                                */ AttackId?: string; /** - *

                                                                The time the attack ended, in Unix time in seconds. For more information see timestamp.

                                                                + *

                                                                List of mitigation actions taken for the attack.

                                                                */ - EndTime?: Date; + Mitigations?: Mitigation[]; /** *

                                                                List of counters that describe the attack for the specified time period.

                                                                @@ -503,9 +503,9 @@ export interface AttackDetail { AttackCounters?: SummarizedCounter[]; /** - *

                                                                List of mitigation actions taken for the attack.

                                                                + *

                                                                The time the attack started, in Unix time in seconds. For more information see timestamp.

                                                                */ - Mitigations?: Mitigation[]; + StartTime?: Date; } export namespace AttackDetail { @@ -595,6 +595,11 @@ export interface AttackSummary { */ AttackId?: string; + /** + *

                                                                The end time of the attack, in Unix time in seconds. For more information see timestamp.

                                                                + */ + EndTime?: Date; + /** *

                                                                The list of attacks for a specified time period.

                                                                */ @@ -609,11 +614,6 @@ export interface AttackSummary { *

                                                                The start time of the attack, in Unix time in seconds. For more information see timestamp.

                                                                */ StartTime?: Date; - - /** - *

                                                                The end time of the attack, in Unix time in seconds. For more information see timestamp.

                                                                - */ - EndTime?: Date; } export namespace AttackSummary { @@ -940,14 +940,14 @@ export namespace DescribeSubscriptionRequest { */ export interface Limit { /** - *

                                                                The type of protection.

                                                                + *

                                                                The maximum number of protections that can be created for the specified Type.

                                                                */ - Type?: string; + Max?: number; /** - *

                                                                The maximum number of protections that can be created for the specified Type.

                                                                + *

                                                                The type of protection.

                                                                */ - Max?: number; + Type?: string; } export namespace Limit { @@ -971,17 +971,24 @@ export interface Subscription { */ StartTime?: Date; - /** - *

                                                                Specifies how many protections of a given type you can create.

                                                                - */ - Limits?: Limit[]; - /** *

                                                                If ENABLED, the subscription will be automatically renewed at the end of the existing subscription period.

                                                                *

                                                                When you initally create a subscription, AutoRenew is set to ENABLED. You can change this by submitting an UpdateSubscription request. If the UpdateSubscription request does not included a value for AutoRenew, the existing value for AutoRenew remains unchanged.

                                                                */ AutoRenew?: AutoRenew | string; + /** + *

                                                                If ENABLED, the DDoS Response Team (DRT) will use email and phone to notify contacts about escalations to the DRT and to initiate proactive customer support.

                                                                + *

                                                                If PENDING, you have requested proactive engagement and the request is pending. The status changes to ENABLED when your request is fully processed.

                                                                + *

                                                                If DISABLED, the DRT will not proactively notify contacts about escalations or to initiate proactive customer support.

                                                                + */ + ProactiveEngagementStatus?: ProactiveEngagementStatus | string; + + /** + *

                                                                Specifies how many protections of a given type you can create.

                                                                + */ + Limits?: Limit[]; + /** *

                                                                The date and time your subscription will end.

                                                                */ @@ -991,13 +998,6 @@ export interface Subscription { *

                                                                The length, in seconds, of the AWS Shield Advanced subscription for the account.

                                                                */ TimeCommitmentInSeconds?: number; - - /** - *

                                                                If ENABLED, the DDoS Response Team (DRT) will use email and phone to notify contacts about escalations to the DRT and to initiate proactive customer support.

                                                                - *

                                                                If PENDING, you have requested proactive engagement and the request is pending. The status changes to ENABLED when your request is fully processed.

                                                                - *

                                                                If DISABLED, the DRT will not proactively notify contacts about escalations or to initiate proactive customer support.

                                                                - */ - ProactiveEngagementStatus?: ProactiveEngagementStatus | string; } export namespace Subscription { @@ -1145,14 +1145,14 @@ export namespace GetSubscriptionStateResponse { */ export interface TimeRange { /** - *

                                                                The start time, in Unix time in seconds. For more information see timestamp.

                                                                + *

                                                                The end time, in Unix time in seconds. For more information see timestamp.

                                                                */ - FromInclusive?: Date; + ToExclusive?: Date; /** - *

                                                                The end time, in Unix time in seconds. For more information see timestamp.

                                                                + *

                                                                The start time, in Unix time in seconds. For more information see timestamp.

                                                                */ - ToExclusive?: Date; + FromInclusive?: Date; } export namespace TimeRange { @@ -1197,6 +1197,11 @@ export namespace ListAttacksRequest { } export interface ListAttacksResponse { + /** + *

                                                                The attack information for the specified time range.

                                                                + */ + AttackSummaries?: AttackSummary[]; + /** *

                                                                The token returned by a previous call to indicate that there is more data available. * If not null, more results are available. Pass this value for the NextMarker @@ -1205,11 +1210,6 @@ export interface ListAttacksResponse { *

                                                                AWS WAF might return the list of AttackSummary objects in batches smaller than the number specified by MaxResults. If there are more AttackSummary objects to return, AWS WAF will always also return a NextToken.

                                                                */ NextToken?: string; - - /** - *

                                                                The attack information for the specified time range.

                                                                - */ - AttackSummaries?: AttackSummary[]; } export namespace ListAttacksResponse { @@ -1255,15 +1255,15 @@ export namespace ListProtectionsRequest { export interface ListProtectionsResponse { /** - *

                                                                If you specify a value for MaxResults and you have more Protections than the value of MaxResults, AWS Shield Advanced returns a NextToken value in the response that allows you to list another group of Protections. For the second and subsequent ListProtections requests, specify the value of NextToken from the previous response to get information about another batch of Protections.

                                                                - *

                                                                AWS WAF might return the list of Protection objects in batches smaller than the number specified by MaxResults. If there are more Protection objects to return, AWS WAF will always also return a NextToken.

                                                                + *

                                                                The array of enabled Protection objects.

                                                                */ - NextToken?: string; + Protections?: Protection[]; /** - *

                                                                The array of enabled Protection objects.

                                                                + *

                                                                If you specify a value for MaxResults and you have more Protections than the value of MaxResults, AWS Shield Advanced returns a NextToken value in the response that allows you to list another group of Protections. For the second and subsequent ListProtections requests, specify the value of NextToken from the previous response to get information about another batch of Protections.

                                                                + *

                                                                AWS WAF might return the list of Protection objects in batches smaller than the number specified by MaxResults. If there are more Protection objects to return, AWS WAF will always also return a NextToken.

                                                                */ - Protections?: Protection[]; + NextToken?: string; } export namespace ListProtectionsResponse { diff --git a/clients/client-signer/models/models_0.ts b/clients/client-signer/models/models_0.ts index a4bf16338d16..6dee0b48f6e0 100644 --- a/clients/client-signer/models/models_0.ts +++ b/clients/client-signer/models/models_0.ts @@ -140,12 +140,6 @@ export type ImageFormat = "JSON" | "JSONDetached" | "JSONEmbedded"; * platform.

                                                                */ export interface SigningPlatformOverrides { - /** - *

                                                                A signing configuration that overrides the default encryption or hash algorithm of a - * signing job.

                                                                - */ - signingConfiguration?: SigningConfigurationOverrides; - /** *

                                                                A signed image is a JSON object. When overriding the default signing platform configuration, * a customer can select either of two signing formats, JSONEmbedded or @@ -155,6 +149,12 @@ export interface SigningPlatformOverrides { * signing image.

                                                                */ signingImageFormat?: ImageFormat | string; + + /** + *

                                                                A signing configuration that overrides the default encryption or hash algorithm of a + * signing job.

                                                                + */ + signingConfiguration?: SigningConfigurationOverrides; } export namespace SigningPlatformOverrides { @@ -265,14 +265,14 @@ export type SigningStatus = "Failed" | "InProgress" | "Succeeded"; export interface DescribeSigningJobResponse { /** - *

                                                                The object that contains the name of your S3 bucket or your raw code.

                                                                + *

                                                                The name of the profile that initiated the signing operation.

                                                                */ - source?: Source; + profileName?: string; /** - *

                                                                The ID of the signing job on output.

                                                                + *

                                                                A list of any overrides that were applied to the signing operation.

                                                                */ - jobId?: string; + overrides?: SigningPlatformOverrides; /** *

                                                                The Amazon Resource Name (ARN) of your code signing certificate.

                                                                @@ -280,25 +280,25 @@ export interface DescribeSigningJobResponse { signingMaterial?: SigningMaterial; /** - *

                                                                The microcontroller platform to which your signed code image will be - * distributed.

                                                                + *

                                                                Map of user-assigned key-value pairs used during signing. These values contain any + * information that you specified for use in your signing job.

                                                                */ - platformId?: string; + signingParameters?: { [key: string]: string }; /** - *

                                                                Status of the signing job.

                                                                + *

                                                                Name of the S3 bucket where the signed code image is saved by code signing.

                                                                */ - status?: SigningStatus | string; + signedObject?: SignedObject; /** - *

                                                                Name of the S3 bucket where the signed code image is saved by code signing.

                                                                + *

                                                                The object that contains the name of your S3 bucket or your raw code.

                                                                */ - signedObject?: SignedObject; + source?: Source; /** - *

                                                                String value that contains the status reason.

                                                                + *

                                                                The ID of the signing job on output.

                                                                */ - statusReason?: string; + jobId?: string; /** *

                                                                The IAM principal that requested the signing job.

                                                                @@ -306,30 +306,30 @@ export interface DescribeSigningJobResponse { requestedBy?: string; /** - *

                                                                Date and time that the signing job was completed.

                                                                + *

                                                                The microcontroller platform to which your signed code image will be + * distributed.

                                                                */ - completedAt?: Date; + platformId?: string; /** - *

                                                                A list of any overrides that were applied to the signing operation.

                                                                + *

                                                                Date and time that the signing job was created.

                                                                */ - overrides?: SigningPlatformOverrides; + createdAt?: Date; /** - *

                                                                Map of user-assigned key-value pairs used during signing. These values contain any - * information that you specified for use in your signing job.

                                                                + *

                                                                Status of the signing job.

                                                                */ - signingParameters?: { [key: string]: string }; + status?: SigningStatus | string; /** - *

                                                                Date and time that the signing job was created.

                                                                + *

                                                                Date and time that the signing job was completed.

                                                                */ - createdAt?: Date; + completedAt?: Date; /** - *

                                                                The name of the profile that initiated the signing operation.

                                                                + *

                                                                String value that contains the status reason.

                                                                */ - profileName?: string; + statusReason?: string; } export namespace DescribeSigningJobResponse { @@ -382,14 +382,14 @@ export namespace Destination { */ export interface EncryptionAlgorithmOptions { /** - *

                                                                The default encryption algorithm that is used by a code signing job.

                                                                + *

                                                                The set of accepted encryption algorithms that are allowed in a code signing job.

                                                                */ - defaultValue: EncryptionAlgorithm | string | undefined; + allowedValues: (EncryptionAlgorithm | string)[] | undefined; /** - *

                                                                The set of accepted encryption algorithms that are allowed in a code signing job.

                                                                + *

                                                                The default encryption algorithm that is used by a code signing job.

                                                                */ - allowedValues: (EncryptionAlgorithm | string)[] | undefined; + defaultValue: EncryptionAlgorithm | string | undefined; } export namespace EncryptionAlgorithmOptions { @@ -476,24 +476,24 @@ export namespace SigningImageFormat { export interface GetSigningPlatformResponse { /** - *

                                                                A list of partner entities that use the target signing platform.

                                                                + *

                                                                The validation template that is used by the target signing platform.

                                                                */ - partner?: string; + target?: string; /** - *

                                                                The ID of the target signing platform.

                                                                + *

                                                                A list of configurations applied to the target platform at signing.

                                                                */ - platformId?: string; + signingConfiguration?: SigningConfiguration; /** - *

                                                                A list of configurations applied to the target platform at signing.

                                                                + *

                                                                The display name of the target signing platform.

                                                                */ - signingConfiguration?: SigningConfiguration; + displayName?: string; /** - *

                                                                The category type of the target signing platform.

                                                                + *

                                                                A list of partner entities that use the target signing platform.

                                                                */ - category?: Category | string; + partner?: string; /** *

                                                                The format of the target platform's signing image.

                                                                @@ -501,20 +501,20 @@ export interface GetSigningPlatformResponse { signingImageFormat?: SigningImageFormat; /** - *

                                                                The maximum size (in MB) of the payload that can be signed by the target - * platform.

                                                                + *

                                                                The ID of the target signing platform.

                                                                */ - maxSizeInMB?: number; + platformId?: string; /** - *

                                                                The validation template that is used by the target signing platform.

                                                                + *

                                                                The maximum size (in MB) of the payload that can be signed by the target + * platform.

                                                                */ - target?: string; + maxSizeInMB?: number; /** - *

                                                                The display name of the target signing platform.

                                                                + *

                                                                The category type of the target signing platform.

                                                                */ - displayName?: string; + category?: Category | string; } export namespace GetSigningPlatformResponse { @@ -546,9 +546,9 @@ export interface GetSigningProfileResponse { overrides?: SigningPlatformOverrides; /** - *

                                                                The Amazon Resource Name (ARN) for the signing profile.

                                                                + *

                                                                The name of the target signing profile.

                                                                */ - arn?: string; + profileName?: string; /** *

                                                                A map of key-value pairs for signing operations that is attached to the target signing @@ -557,19 +557,19 @@ export interface GetSigningProfileResponse { signingParameters?: { [key: string]: string }; /** - *

                                                                The ARN of the certificate that the target profile uses for signing operations.

                                                                + *

                                                                The ID of the platform that is used by the target signing profile.

                                                                */ - signingMaterial?: SigningMaterial; + platformId?: string; /** - *

                                                                The ID of the platform that is used by the target signing profile.

                                                                + *

                                                                The ARN of the certificate that the target profile uses for signing operations.

                                                                */ - platformId?: string; + signingMaterial?: SigningMaterial; /** - *

                                                                A list of tags associated with the signing profile.

                                                                + *

                                                                The Amazon Resource Name (ARN) for the signing profile.

                                                                */ - tags?: { [key: string]: string }; + arn?: string; /** *

                                                                The status of the target signing profile.

                                                                @@ -577,9 +577,9 @@ export interface GetSigningProfileResponse { status?: SigningProfileStatus | string; /** - *

                                                                The name of the target signing profile.

                                                                + *

                                                                A list of tags associated with the signing profile.

                                                                */ - profileName?: string; + tags?: { [key: string]: string }; } export namespace GetSigningProfileResponse { @@ -589,12 +589,6 @@ export namespace GetSigningProfileResponse { } export interface ListSigningJobsRequest { - /** - *

                                                                The ID of microcontroller platform that you specified for the distribution of your - * code image.

                                                                - */ - platformId?: string; - /** *

                                                                Specifies the maximum number of items to return in the response. Use this parameter * when paginating results. If additional items exist beyond the number you specify, the @@ -604,6 +598,11 @@ export interface ListSigningJobsRequest { */ maxResults?: number; + /** + *

                                                                The IAM principal that requested the signing job.

                                                                + */ + requestedBy?: string; + /** *

                                                                String for specifying the next set of paginated results to return. After you receive a * response with truncated results, use this parameter in a subsequent request. Set it to @@ -612,9 +611,10 @@ export interface ListSigningJobsRequest { nextToken?: string; /** - *

                                                                The IAM principal that requested the signing job.

                                                                + *

                                                                The ID of microcontroller platform that you specified for the distribution of your + * code image.

                                                                */ - requestedBy?: string; + platformId?: string; /** *

                                                                A status value with which to filter your results.

                                                                @@ -632,11 +632,6 @@ export namespace ListSigningJobsRequest { *

                                                                Contains information about a signing job.

                                                                */ export interface SigningJob { - /** - *

                                                                The status of the signing job.

                                                                - */ - status?: SigningStatus | string; - /** *

                                                                A Source that contains information about a signing job's code image * source.

                                                                @@ -649,16 +644,21 @@ export interface SigningJob { jobId?: string; /** - *

                                                                A SigningMaterial object that contains the Amazon Resource Name (ARN) of - * the certificate used for the signing job.

                                                                + *

                                                                The status of the signing job.

                                                                */ - signingMaterial?: SigningMaterial; + status?: SigningStatus | string; /** *

                                                                The date and time that the signing job was created.

                                                                */ createdAt?: Date; + /** + *

                                                                A SigningMaterial object that contains the Amazon Resource Name (ARN) of + * the certificate used for the signing job.

                                                                + */ + signingMaterial?: SigningMaterial; + /** *

                                                                A SignedObject structure that contains information about a signing job's * signed code image.

                                                                @@ -674,14 +674,14 @@ export namespace SigningJob { export interface ListSigningJobsResponse { /** - *

                                                                String for specifying the next set of paginated results.

                                                                + *

                                                                A list of your signing jobs.

                                                                */ - nextToken?: string; + jobs?: SigningJob[]; /** - *

                                                                A list of your signing jobs.

                                                                + *

                                                                String for specifying the next set of paginated results.

                                                                */ - jobs?: SigningJob[]; + nextToken?: string; } export namespace ListSigningJobsResponse { @@ -714,24 +714,24 @@ export interface ListSigningPlatformsRequest { nextToken?: string; /** - *

                                                                The maximum number of results to be returned by this operation.

                                                                + *

                                                                The validation template that is used by the target signing platform.

                                                                */ - maxResults?: number; + target?: string; /** - *

                                                                Any partner entities connected to a signing platform.

                                                                + *

                                                                The category type of a signing platform.

                                                                */ - partner?: string; + category?: string; /** - *

                                                                The validation template that is used by the target signing platform.

                                                                + *

                                                                Any partner entities connected to a signing platform.

                                                                */ - target?: string; + partner?: string; /** - *

                                                                The category type of a signing platform.

                                                                + *

                                                                The maximum number of results to be returned by this operation.

                                                                */ - category?: string; + maxResults?: number; } export namespace ListSigningPlatformsRequest { @@ -746,30 +746,29 @@ export namespace ListSigningPlatformsRequest { */ export interface SigningPlatform { /** - *

                                                                The types of targets that can be signed by a code signing platform.

                                                                + *

                                                                The maximum size (in MB) of code that can be signed by a code signing platform.

                                                                */ - target?: string; + maxSizeInMB?: number; /** - *

                                                                The display name of a code signing platform.

                                                                + *

                                                                The ID of a code signing; platform.

                                                                */ - displayName?: string; + platformId?: string; /** - *

                                                                The configuration of a code signing platform. This includes the designated hash algorithm - * and encryption algorithm of a signing platform.

                                                                + *

                                                                The image format of a code signing platform or profile.

                                                                */ - signingConfiguration?: SigningConfiguration; + signingImageFormat?: SigningImageFormat; /** - *

                                                                The image format of a code signing platform or profile.

                                                                + *

                                                                Any partner entities linked to a code signing platform.

                                                                */ - signingImageFormat?: SigningImageFormat; + partner?: string; /** - *

                                                                The ID of a code signing; platform.

                                                                + *

                                                                The display name of a code signing platform.

                                                                */ - platformId?: string; + displayName?: string; /** *

                                                                The category of a code signing platform.

                                                                @@ -777,14 +776,15 @@ export interface SigningPlatform { category?: Category | string; /** - *

                                                                Any partner entities linked to a code signing platform.

                                                                + *

                                                                The configuration of a code signing platform. This includes the designated hash algorithm + * and encryption algorithm of a signing platform.

                                                                */ - partner?: string; + signingConfiguration?: SigningConfiguration; /** - *

                                                                The maximum size (in MB) of code that can be signed by a code signing platform.

                                                                + *

                                                                The types of targets that can be signed by a code signing platform.

                                                                */ - maxSizeInMB?: number; + target?: string; } export namespace SigningPlatform { @@ -812,6 +812,11 @@ export namespace ListSigningPlatformsResponse { } export interface ListSigningProfilesRequest { + /** + *

                                                                The maximum number of profiles to be returned.

                                                                + */ + maxResults?: number; + /** *

                                                                Designates whether to include profiles with the status of * CANCELED.

                                                                @@ -824,11 +829,6 @@ export interface ListSigningProfilesRequest { * the value of nextToken from the response that you just received.

                                                                */ nextToken?: string; - - /** - *

                                                                The maximum number of profiles to be returned.

                                                                - */ - maxResults?: number; } export namespace ListSigningProfilesRequest { @@ -843,9 +843,14 @@ export namespace ListSigningProfilesRequest { */ export interface SigningProfile { /** - *

                                                                The ACM certificate that is available for use by a signing profile.

                                                                + *

                                                                The ID of a platform that is available for use by a signing profile.

                                                                */ - signingMaterial?: SigningMaterial; + platformId?: string; + + /** + *

                                                                The Amazon Resource Name (ARN) for the signing profile.

                                                                + */ + arn?: string; /** *

                                                                The parameters that are available for use by a code signing user.

                                                                @@ -858,19 +863,14 @@ export interface SigningProfile { profileName?: string; /** - *

                                                                The ID of a platform that is available for use by a signing profile.

                                                                - */ - platformId?: string; - - /** - *

                                                                The Amazon Resource Name (ARN) for the signing profile.

                                                                + *

                                                                A list of tags associated with the signing profile.

                                                                */ - arn?: string; + tags?: { [key: string]: string }; /** - *

                                                                A list of tags associated with the signing profile.

                                                                + *

                                                                The ACM certificate that is available for use by a signing profile.

                                                                */ - tags?: { [key: string]: string }; + signingMaterial?: SigningMaterial; /** *

                                                                The status of a code signing profile.

                                                                @@ -885,17 +885,17 @@ export namespace SigningProfile { } export interface ListSigningProfilesResponse { + /** + *

                                                                Value for specifying the next set of paginated results to return.

                                                                + */ + nextToken?: string; + /** *

                                                                A list of profiles that are available in the AWS account. This includes profiles with * the status of CANCELED if the includeCanceled parameter is set * to true.

                                                                */ profiles?: SigningProfile[]; - - /** - *

                                                                Value for specifying the next set of paginated results to return.

                                                                - */ - nextToken?: string; } export namespace ListSigningProfilesResponse { @@ -946,6 +946,12 @@ export namespace NotFoundException { } export interface PutSigningProfileRequest { + /** + *

                                                                Map of key-value pairs for signing. These can include any information that you want to + * use during signing.

                                                                + */ + signingParameters?: { [key: string]: string }; + /** *

                                                                Tags to be associated with the signing profile that is being created.

                                                                */ @@ -963,12 +969,6 @@ export interface PutSigningProfileRequest { */ overrides?: SigningPlatformOverrides; - /** - *

                                                                Map of key-value pairs for signing. These can include any information that you want to - * use during signing.

                                                                - */ - signingParameters?: { [key: string]: string }; - /** *

                                                                The ID of the signing platform to be created.

                                                                */ @@ -1001,11 +1001,6 @@ export namespace PutSigningProfileResponse { } export interface StartSigningJobRequest { - /** - *

                                                                The name of the signing profile.

                                                                - */ - profileName?: string; - /** *

                                                                String that identifies the signing request. All calls after the first that use this * token return the same response as the first call.

                                                                @@ -1018,6 +1013,11 @@ export interface StartSigningJobRequest { */ source: Source | undefined; + /** + *

                                                                The name of the signing profile.

                                                                + */ + profileName?: string; + /** *

                                                                The S3 bucket in which to save your signed object. The destination contains the name * of your bucket and an optional prefix.

                                                                @@ -1046,14 +1046,14 @@ export namespace StartSigningJobResponse { export interface TagResourceRequest { /** - *

                                                                One or more tags to be associated with the signing profile.

                                                                + *

                                                                The Amazon Resource Name (ARN) for the signing profile.

                                                                */ - tags: { [key: string]: string } | undefined; + resourceArn: string | undefined; /** - *

                                                                The Amazon Resource Name (ARN) for the signing profile.

                                                                + *

                                                                One or more tags to be associated with the signing profile.

                                                                */ - resourceArn: string | undefined; + tags: { [key: string]: string } | undefined; } export namespace TagResourceRequest { @@ -1072,14 +1072,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

                                                                The Amazon Resource Name (ARN) for the signing profile.

                                                                + *

                                                                A list of tag keys to be removed from the signing profile.

                                                                */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; /** - *

                                                                A list of tag keys to be removed from the signing profile.

                                                                + *

                                                                The Amazon Resource Name (ARN) for the signing profile.

                                                                */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; } export namespace UntagResourceRequest { diff --git a/clients/client-signer/protocols/Aws_restJson1.ts b/clients/client-signer/protocols/Aws_restJson1.ts index 03b364a49062..5a28f1343cec 100644 --- a/clients/client-signer/protocols/Aws_restJson1.ts +++ b/clients/client-signer/protocols/Aws_restJson1.ts @@ -192,10 +192,10 @@ export const serializeAws_restJson1ListSigningJobsCommand = async ( }; let resolvedPath = "/signing-jobs"; const query: any = { - ...(input.platformId !== undefined && { platformId: input.platformId }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.requestedBy !== undefined && { requestedBy: input.requestedBy }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.platformId !== undefined && { platformId: input.platformId }), ...(input.status !== undefined && { status: input.status }), }; let body: any; @@ -222,10 +222,10 @@ export const serializeAws_restJson1ListSigningPlatformsCommand = async ( let resolvedPath = "/signing-platforms"; const query: any = { ...(input.nextToken !== undefined && { nextToken: input.nextToken }), - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), - ...(input.partner !== undefined && { partner: input.partner }), ...(input.target !== undefined && { target: input.target }), ...(input.category !== undefined && { category: input.category }), + ...(input.partner !== undefined && { partner: input.partner }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -250,9 +250,9 @@ export const serializeAws_restJson1ListSigningProfilesCommand = async ( }; let resolvedPath = "/signing-profiles"; const query: any = { + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.includeCanceled !== undefined && { includeCanceled: input.includeCanceled.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(); diff --git a/clients/client-sms/SMS.ts b/clients/client-sms/SMS.ts index 40a54f683a48..73f9088f8240 100644 --- a/clients/client-sms/SMS.ts +++ b/clients/client-sms/SMS.ts @@ -16,6 +16,11 @@ import { DeleteAppReplicationConfigurationCommandInput, DeleteAppReplicationConfigurationCommandOutput, } from "./commands/DeleteAppReplicationConfigurationCommand"; +import { + DeleteAppValidationConfigurationCommand, + DeleteAppValidationConfigurationCommandInput, + DeleteAppValidationConfigurationCommandOutput, +} from "./commands/DeleteAppValidationConfigurationCommand"; import { DeleteReplicationJobCommand, DeleteReplicationJobCommandInput, @@ -52,6 +57,16 @@ import { GetAppReplicationConfigurationCommandInput, GetAppReplicationConfigurationCommandOutput, } from "./commands/GetAppReplicationConfigurationCommand"; +import { + GetAppValidationConfigurationCommand, + GetAppValidationConfigurationCommandInput, + GetAppValidationConfigurationCommandOutput, +} from "./commands/GetAppValidationConfigurationCommand"; +import { + GetAppValidationOutputCommand, + GetAppValidationOutputCommandInput, + GetAppValidationOutputCommandOutput, +} from "./commands/GetAppValidationOutputCommand"; import { GetConnectorsCommand, GetConnectorsCommandInput, @@ -68,6 +83,11 @@ import { GetReplicationRunsCommandOutput, } from "./commands/GetReplicationRunsCommand"; import { GetServersCommand, GetServersCommandInput, GetServersCommandOutput } from "./commands/GetServersCommand"; +import { + ImportAppCatalogCommand, + ImportAppCatalogCommandInput, + ImportAppCatalogCommandOutput, +} from "./commands/ImportAppCatalogCommand"; import { ImportServerCatalogCommand, ImportServerCatalogCommandInput, @@ -75,6 +95,11 @@ import { } from "./commands/ImportServerCatalogCommand"; import { LaunchAppCommand, LaunchAppCommandInput, LaunchAppCommandOutput } from "./commands/LaunchAppCommand"; import { ListAppsCommand, ListAppsCommandInput, ListAppsCommandOutput } from "./commands/ListAppsCommand"; +import { + NotifyAppValidationOutputCommand, + NotifyAppValidationOutputCommandInput, + NotifyAppValidationOutputCommandOutput, +} from "./commands/NotifyAppValidationOutputCommand"; import { PutAppLaunchConfigurationCommand, PutAppLaunchConfigurationCommandInput, @@ -85,11 +110,21 @@ import { PutAppReplicationConfigurationCommandInput, PutAppReplicationConfigurationCommandOutput, } from "./commands/PutAppReplicationConfigurationCommand"; +import { + PutAppValidationConfigurationCommand, + PutAppValidationConfigurationCommandInput, + PutAppValidationConfigurationCommandOutput, +} from "./commands/PutAppValidationConfigurationCommand"; import { StartAppReplicationCommand, StartAppReplicationCommandInput, StartAppReplicationCommandOutput, } from "./commands/StartAppReplicationCommand"; +import { + StartOnDemandAppReplicationCommand, + StartOnDemandAppReplicationCommandInput, + StartOnDemandAppReplicationCommandOutput, +} from "./commands/StartOnDemandAppReplicationCommand"; import { StartOnDemandReplicationRunCommand, StartOnDemandReplicationRunCommandInput, @@ -114,24 +149,20 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - * AAWS Sever Migration Service - *

                                                                This is the AWS Sever Migration Service API Reference. It provides descriptions, - * syntax, and usage examples for each of the actions and data types for the AWS Sever Migration Service - * (AWS SMS). The topic for each action shows the Query API request parameters and the XML - * response. You can also view the XML request elements in the WSDL.

                                                                - *

                                                                Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the - * programming language or platform that you're using. For more information, see AWS SDKs.

                                                                - *

                                                                To learn more about the Server Migration Service, see the following resources:

                                                                + * AWS Server Migration Service + *

                                                                AWS Server Migration Service (AWS SMS) makes it easier and faster for you to migrate your + * on-premises workloads to AWS. To learn more about AWS SMS, see the following + * resources:

                                                                * @@ -199,7 +230,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Deletes an existing application. Optionally deletes the launched stack associated with + *

                                                                Deletes the specified application. Optionally deletes the launched stack associated with * the application and all AWS SMS replication jobs for servers in the application.

                                                                */ public deleteApp(args: DeleteAppCommandInput, options?: __HttpHandlerOptions): Promise; @@ -226,7 +257,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Deletes existing launch configuration for an application.

                                                                + *

                                                                Deletes the launch configuration for the specified application.

                                                                */ public deleteAppLaunchConfiguration( args: DeleteAppLaunchConfigurationCommandInput, @@ -258,7 +289,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Deletes existing replication configuration for an application.

                                                                + *

                                                                Deletes the replication configuration for the specified application.

                                                                */ public deleteAppReplicationConfiguration( args: DeleteAppReplicationConfigurationCommandInput, @@ -289,6 +320,38 @@ export class SMS extends SMSClient { } } + /** + *

                                                                Deletes the validation configuration for the specified application.

                                                                + */ + public deleteAppValidationConfiguration( + args: DeleteAppValidationConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteAppValidationConfiguration( + args: DeleteAppValidationConfigurationCommandInput, + cb: (err: any, data?: DeleteAppValidationConfigurationCommandOutput) => void + ): void; + public deleteAppValidationConfiguration( + args: DeleteAppValidationConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAppValidationConfigurationCommandOutput) => void + ): void; + public deleteAppValidationConfiguration( + args: DeleteAppValidationConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAppValidationConfigurationCommandOutput) => void), + cb?: (err: any, data?: DeleteAppValidationConfigurationCommandOutput) => void + ): Promise | void { + const command = new DeleteAppValidationConfigurationCommand(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 replication job.

                                                                *

                                                                After you delete a replication job, there are no further replication runs. AWS @@ -424,7 +487,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Generates an Amazon CloudFormation template based on the current launch configuration and writes it to + *

                                                                Generates an AWS CloudFormation template based on the current launch configuration and writes it to * an Amazon S3 object in the customer’s Amazon S3 bucket.

                                                                */ public generateTemplate( @@ -457,7 +520,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Retrieve information about an application.

                                                                + *

                                                                Retrieve information about the specified application.

                                                                */ public getApp(args: GetAppCommandInput, options?: __HttpHandlerOptions): Promise; public getApp(args: GetAppCommandInput, cb: (err: any, data?: GetAppCommandOutput) => void): void; @@ -483,7 +546,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Retrieves the application launch configuration associated with an application.

                                                                + *

                                                                Retrieves the application launch configuration associated with the specified application.

                                                                */ public getAppLaunchConfiguration( args: GetAppLaunchConfigurationCommandInput, @@ -515,7 +578,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Retrieves an application replication configuration associatd with an + *

                                                                Retrieves the application replication configuration associated with the specified * application.

                                                                */ public getAppReplicationConfiguration( @@ -547,6 +610,70 @@ export class SMS extends SMSClient { } } + /** + *

                                                                Retrieves information about a configuration for validating an application.

                                                                + */ + public getAppValidationConfiguration( + args: GetAppValidationConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getAppValidationConfiguration( + args: GetAppValidationConfigurationCommandInput, + cb: (err: any, data?: GetAppValidationConfigurationCommandOutput) => void + ): void; + public getAppValidationConfiguration( + args: GetAppValidationConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetAppValidationConfigurationCommandOutput) => void + ): void; + public getAppValidationConfiguration( + args: GetAppValidationConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetAppValidationConfigurationCommandOutput) => void), + cb?: (err: any, data?: GetAppValidationConfigurationCommandOutput) => void + ): Promise | void { + const command = new GetAppValidationConfigurationCommand(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 output from validating an application.

                                                                + */ + public getAppValidationOutput( + args: GetAppValidationOutputCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getAppValidationOutput( + args: GetAppValidationOutputCommandInput, + cb: (err: any, data?: GetAppValidationOutputCommandOutput) => void + ): void; + public getAppValidationOutput( + args: GetAppValidationOutputCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetAppValidationOutputCommandOutput) => void + ): void; + public getAppValidationOutput( + args: GetAppValidationOutputCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetAppValidationOutputCommandOutput) => void), + cb?: (err: any, data?: GetAppValidationOutputCommandOutput) => void + ): Promise | void { + const command = new GetAppValidationOutputCommand(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 connectors registered with the AWS SMS.

                                                                */ @@ -670,9 +797,41 @@ export class SMS extends SMSClient { } } + /** + *

                                                                Allows application import from AWS Migration Hub.

                                                                + */ + public importAppCatalog( + args: ImportAppCatalogCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public importAppCatalog( + args: ImportAppCatalogCommandInput, + cb: (err: any, data?: ImportAppCatalogCommandOutput) => void + ): void; + public importAppCatalog( + args: ImportAppCatalogCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ImportAppCatalogCommandOutput) => void + ): void; + public importAppCatalog( + args: ImportAppCatalogCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ImportAppCatalogCommandOutput) => void), + cb?: (err: any, data?: ImportAppCatalogCommandOutput) => void + ): Promise | void { + const command = new ImportAppCatalogCommand(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); + } + } + /** *

                                                                Gathers a complete list of on-premises servers. Connectors must be installed and - * monitoring all servers that you want to import.

                                                                + * monitoring all servers to import.

                                                                *

                                                                This call returns immediately, but might take additional time to retrieve all the * servers.

                                                                */ @@ -706,7 +865,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Launches an application stack.

                                                                + *

                                                                Launches the specified application as a stack in AWS CloudFormation.

                                                                */ public launchApp(args: LaunchAppCommandInput, options?: __HttpHandlerOptions): Promise; public launchApp(args: LaunchAppCommandInput, cb: (err: any, data?: LaunchAppCommandOutput) => void): void; @@ -732,7 +891,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Returns a list of summaries for all applications.

                                                                + *

                                                                Retrieves summaries for all applications.

                                                                */ public listApps(args: ListAppsCommandInput, options?: __HttpHandlerOptions): Promise; public listApps(args: ListAppsCommandInput, cb: (err: any, data?: ListAppsCommandOutput) => void): void; @@ -758,7 +917,39 @@ export class SMS extends SMSClient { } /** - *

                                                                Creates a launch configuration for an application.

                                                                + *

                                                                Provides information to AWS SMS about whether application validation is successful.

                                                                + */ + public notifyAppValidationOutput( + args: NotifyAppValidationOutputCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public notifyAppValidationOutput( + args: NotifyAppValidationOutputCommandInput, + cb: (err: any, data?: NotifyAppValidationOutputCommandOutput) => void + ): void; + public notifyAppValidationOutput( + args: NotifyAppValidationOutputCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: NotifyAppValidationOutputCommandOutput) => void + ): void; + public notifyAppValidationOutput( + args: NotifyAppValidationOutputCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: NotifyAppValidationOutputCommandOutput) => void), + cb?: (err: any, data?: NotifyAppValidationOutputCommandOutput) => void + ): Promise | void { + const command = new NotifyAppValidationOutputCommand(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 or updates the launch configuration for the specified application.

                                                                */ public putAppLaunchConfiguration( args: PutAppLaunchConfigurationCommandInput, @@ -790,7 +981,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Creates or updates a replication configuration for an application.

                                                                + *

                                                                Creates or updates the replication configuration for the specified application.

                                                                */ public putAppReplicationConfiguration( args: PutAppReplicationConfigurationCommandInput, @@ -822,7 +1013,40 @@ export class SMS extends SMSClient { } /** - *

                                                                Starts replicating an application.

                                                                + *

                                                                Creates or updates a validation configuration for the specified application.

                                                                + */ + public putAppValidationConfiguration( + args: PutAppValidationConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putAppValidationConfiguration( + args: PutAppValidationConfigurationCommandInput, + cb: (err: any, data?: PutAppValidationConfigurationCommandOutput) => void + ): void; + public putAppValidationConfiguration( + args: PutAppValidationConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutAppValidationConfigurationCommandOutput) => void + ): void; + public putAppValidationConfiguration( + args: PutAppValidationConfigurationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutAppValidationConfigurationCommandOutput) => void), + cb?: (err: any, data?: PutAppValidationConfigurationCommandOutput) => void + ): Promise | void { + const command = new PutAppValidationConfigurationCommand(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); + } + } + + /** + *

                                                                Starts replicating the specified application by creating replication jobs for each server in the + * application.

                                                                */ public startAppReplication( args: StartAppReplicationCommandInput, @@ -853,12 +1077,44 @@ export class SMS extends SMSClient { } } + /** + *

                                                                Starts an on-demand replication run for the specified application.

                                                                + */ + public startOnDemandAppReplication( + args: StartOnDemandAppReplicationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startOnDemandAppReplication( + args: StartOnDemandAppReplicationCommandInput, + cb: (err: any, data?: StartOnDemandAppReplicationCommandOutput) => void + ): void; + public startOnDemandAppReplication( + args: StartOnDemandAppReplicationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartOnDemandAppReplicationCommandOutput) => void + ): void; + public startOnDemandAppReplication( + args: StartOnDemandAppReplicationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartOnDemandAppReplicationCommandOutput) => void), + cb?: (err: any, data?: StartOnDemandAppReplicationCommandOutput) => void + ): Promise | void { + const command = new StartOnDemandAppReplicationCommand(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); + } + } + /** *

                                                                Starts an on-demand replication run for the specified replication job. This * replication run starts immediately. This replication run is in addition to the ones * already scheduled.

                                                                - *

                                                                There is a limit on the number of on-demand replications runs you can request in a - * 24-hour period.

                                                                + *

                                                                There is a limit on the number of on-demand replications runs that you can request + * in a 24-hour period.

                                                                */ public startOnDemandReplicationRun( args: StartOnDemandReplicationRunCommandInput, @@ -890,7 +1146,8 @@ export class SMS extends SMSClient { } /** - *

                                                                Stops replicating an application.

                                                                + *

                                                                Stops replicating the specified application by deleting the replication job for each server in + * the application.

                                                                */ public stopAppReplication( args: StopAppReplicationCommandInput, @@ -922,7 +1179,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Terminates the stack for an application.

                                                                + *

                                                                Terminates the stack for the specified application.

                                                                */ public terminateApp( args: TerminateAppCommandInput, @@ -951,7 +1208,7 @@ export class SMS extends SMSClient { } /** - *

                                                                Updates an application.

                                                                + *

                                                                Updates the specified application.

                                                                */ public updateApp(args: UpdateAppCommandInput, options?: __HttpHandlerOptions): Promise; public updateApp(args: UpdateAppCommandInput, cb: (err: any, data?: UpdateAppCommandOutput) => void): void; diff --git a/clients/client-sms/SMSClient.ts b/clients/client-sms/SMSClient.ts index fb888f313566..f0f43406f4b3 100644 --- a/clients/client-sms/SMSClient.ts +++ b/clients/client-sms/SMSClient.ts @@ -12,6 +12,10 @@ import { DeleteAppReplicationConfigurationCommandInput, DeleteAppReplicationConfigurationCommandOutput, } from "./commands/DeleteAppReplicationConfigurationCommand"; +import { + DeleteAppValidationConfigurationCommandInput, + DeleteAppValidationConfigurationCommandOutput, +} from "./commands/DeleteAppValidationConfigurationCommand"; import { DeleteReplicationJobCommandInput, DeleteReplicationJobCommandOutput, @@ -35,16 +39,29 @@ import { GetAppReplicationConfigurationCommandInput, GetAppReplicationConfigurationCommandOutput, } from "./commands/GetAppReplicationConfigurationCommand"; +import { + GetAppValidationConfigurationCommandInput, + GetAppValidationConfigurationCommandOutput, +} from "./commands/GetAppValidationConfigurationCommand"; +import { + GetAppValidationOutputCommandInput, + GetAppValidationOutputCommandOutput, +} from "./commands/GetAppValidationOutputCommand"; import { GetConnectorsCommandInput, GetConnectorsCommandOutput } from "./commands/GetConnectorsCommand"; import { GetReplicationJobsCommandInput, GetReplicationJobsCommandOutput } from "./commands/GetReplicationJobsCommand"; import { GetReplicationRunsCommandInput, GetReplicationRunsCommandOutput } from "./commands/GetReplicationRunsCommand"; import { GetServersCommandInput, GetServersCommandOutput } from "./commands/GetServersCommand"; +import { ImportAppCatalogCommandInput, ImportAppCatalogCommandOutput } from "./commands/ImportAppCatalogCommand"; import { ImportServerCatalogCommandInput, ImportServerCatalogCommandOutput, } from "./commands/ImportServerCatalogCommand"; import { LaunchAppCommandInput, LaunchAppCommandOutput } from "./commands/LaunchAppCommand"; import { ListAppsCommandInput, ListAppsCommandOutput } from "./commands/ListAppsCommand"; +import { + NotifyAppValidationOutputCommandInput, + NotifyAppValidationOutputCommandOutput, +} from "./commands/NotifyAppValidationOutputCommand"; import { PutAppLaunchConfigurationCommandInput, PutAppLaunchConfigurationCommandOutput, @@ -53,10 +70,18 @@ import { PutAppReplicationConfigurationCommandInput, PutAppReplicationConfigurationCommandOutput, } from "./commands/PutAppReplicationConfigurationCommand"; +import { + PutAppValidationConfigurationCommandInput, + PutAppValidationConfigurationCommandOutput, +} from "./commands/PutAppValidationConfigurationCommand"; import { StartAppReplicationCommandInput, StartAppReplicationCommandOutput, } from "./commands/StartAppReplicationCommand"; +import { + StartOnDemandAppReplicationCommandInput, + StartOnDemandAppReplicationCommandOutput, +} from "./commands/StartOnDemandAppReplicationCommand"; import { StartOnDemandReplicationRunCommandInput, StartOnDemandReplicationRunCommandOutput, @@ -123,6 +148,7 @@ export type ServiceInputTypes = | DeleteAppCommandInput | DeleteAppLaunchConfigurationCommandInput | DeleteAppReplicationConfigurationCommandInput + | DeleteAppValidationConfigurationCommandInput | DeleteReplicationJobCommandInput | DeleteServerCatalogCommandInput | DisassociateConnectorCommandInput @@ -131,16 +157,22 @@ export type ServiceInputTypes = | GetAppCommandInput | GetAppLaunchConfigurationCommandInput | GetAppReplicationConfigurationCommandInput + | GetAppValidationConfigurationCommandInput + | GetAppValidationOutputCommandInput | GetConnectorsCommandInput | GetReplicationJobsCommandInput | GetReplicationRunsCommandInput | GetServersCommandInput + | ImportAppCatalogCommandInput | ImportServerCatalogCommandInput | LaunchAppCommandInput | ListAppsCommandInput + | NotifyAppValidationOutputCommandInput | PutAppLaunchConfigurationCommandInput | PutAppReplicationConfigurationCommandInput + | PutAppValidationConfigurationCommandInput | StartAppReplicationCommandInput + | StartOnDemandAppReplicationCommandInput | StartOnDemandReplicationRunCommandInput | StopAppReplicationCommandInput | TerminateAppCommandInput @@ -153,6 +185,7 @@ export type ServiceOutputTypes = | DeleteAppCommandOutput | DeleteAppLaunchConfigurationCommandOutput | DeleteAppReplicationConfigurationCommandOutput + | DeleteAppValidationConfigurationCommandOutput | DeleteReplicationJobCommandOutput | DeleteServerCatalogCommandOutput | DisassociateConnectorCommandOutput @@ -161,16 +194,22 @@ export type ServiceOutputTypes = | GetAppCommandOutput | GetAppLaunchConfigurationCommandOutput | GetAppReplicationConfigurationCommandOutput + | GetAppValidationConfigurationCommandOutput + | GetAppValidationOutputCommandOutput | GetConnectorsCommandOutput | GetReplicationJobsCommandOutput | GetReplicationRunsCommandOutput | GetServersCommandOutput + | ImportAppCatalogCommandOutput | ImportServerCatalogCommandOutput | LaunchAppCommandOutput | ListAppsCommandOutput + | NotifyAppValidationOutputCommandOutput | PutAppLaunchConfigurationCommandOutput | PutAppReplicationConfigurationCommandOutput + | PutAppValidationConfigurationCommandOutput | StartAppReplicationCommandOutput + | StartOnDemandAppReplicationCommandOutput | StartOnDemandReplicationRunCommandOutput | StopAppReplicationCommandOutput | TerminateAppCommandOutput @@ -290,24 +329,20 @@ export type SMSClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle HostHeaderResolvedConfig; /** - * AAWS Sever Migration Service - *

                                                                This is the AWS Sever Migration Service API Reference. It provides descriptions, - * syntax, and usage examples for each of the actions and data types for the AWS Sever Migration Service - * (AWS SMS). The topic for each action shows the Query API request parameters and the XML - * response. You can also view the XML request elements in the WSDL.

                                                                - *

                                                                Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the - * programming language or platform that you're using. For more information, see AWS SDKs.

                                                                - *

                                                                To learn more about the Server Migration Service, see the following resources:

                                                                + * AWS Server Migration Service + *

                                                                AWS Server Migration Service (AWS SMS) makes it easier and faster for you to migrate your + * on-premises workloads to AWS. To learn more about AWS SMS, see the following + * resources:

                                                                * diff --git a/clients/client-sms/commands/DeleteAppValidationConfigurationCommand.ts b/clients/client-sms/commands/DeleteAppValidationConfigurationCommand.ts new file mode 100644 index 000000000000..68ba637975d5 --- /dev/null +++ b/clients/client-sms/commands/DeleteAppValidationConfigurationCommand.ts @@ -0,0 +1,76 @@ +import { SMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SMSClient"; +import { DeleteAppValidationConfigurationRequest, DeleteAppValidationConfigurationResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteAppValidationConfigurationCommand, + serializeAws_json1_1DeleteAppValidationConfigurationCommand, +} 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 DeleteAppValidationConfigurationCommandInput = DeleteAppValidationConfigurationRequest; +export type DeleteAppValidationConfigurationCommandOutput = DeleteAppValidationConfigurationResponse & __MetadataBearer; + +export class DeleteAppValidationConfigurationCommand extends $Command< + DeleteAppValidationConfigurationCommandInput, + DeleteAppValidationConfigurationCommandOutput, + SMSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAppValidationConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SMSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteAppValidationConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteAppValidationConfigurationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeleteAppValidationConfigurationCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteAppValidationConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DeleteAppValidationConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sms/commands/GetAppValidationConfigurationCommand.ts b/clients/client-sms/commands/GetAppValidationConfigurationCommand.ts new file mode 100644 index 000000000000..db5a2e0c662e --- /dev/null +++ b/clients/client-sms/commands/GetAppValidationConfigurationCommand.ts @@ -0,0 +1,73 @@ +import { SMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SMSClient"; +import { GetAppValidationConfigurationRequest, GetAppValidationConfigurationResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetAppValidationConfigurationCommand, + serializeAws_json1_1GetAppValidationConfigurationCommand, +} 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 GetAppValidationConfigurationCommandInput = GetAppValidationConfigurationRequest; +export type GetAppValidationConfigurationCommandOutput = GetAppValidationConfigurationResponse & __MetadataBearer; + +export class GetAppValidationConfigurationCommand extends $Command< + GetAppValidationConfigurationCommandInput, + GetAppValidationConfigurationCommandOutput, + SMSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetAppValidationConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SMSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetAppValidationConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetAppValidationConfigurationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetAppValidationConfigurationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetAppValidationConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1GetAppValidationConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sms/commands/GetAppValidationOutputCommand.ts b/clients/client-sms/commands/GetAppValidationOutputCommand.ts new file mode 100644 index 000000000000..fdc14ebd16fe --- /dev/null +++ b/clients/client-sms/commands/GetAppValidationOutputCommand.ts @@ -0,0 +1,70 @@ +import { SMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SMSClient"; +import { GetAppValidationOutputRequest, GetAppValidationOutputResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetAppValidationOutputCommand, + serializeAws_json1_1GetAppValidationOutputCommand, +} 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 GetAppValidationOutputCommandInput = GetAppValidationOutputRequest; +export type GetAppValidationOutputCommandOutput = GetAppValidationOutputResponse & __MetadataBearer; + +export class GetAppValidationOutputCommand extends $Command< + GetAppValidationOutputCommandInput, + GetAppValidationOutputCommandOutput, + SMSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetAppValidationOutputCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SMSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetAppValidationOutputRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetAppValidationOutputResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetAppValidationOutputCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetAppValidationOutputCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetAppValidationOutputCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sms/commands/ImportAppCatalogCommand.ts b/clients/client-sms/commands/ImportAppCatalogCommand.ts new file mode 100644 index 000000000000..6ece257a1a8b --- /dev/null +++ b/clients/client-sms/commands/ImportAppCatalogCommand.ts @@ -0,0 +1,70 @@ +import { SMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SMSClient"; +import { ImportAppCatalogRequest, ImportAppCatalogResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ImportAppCatalogCommand, + serializeAws_json1_1ImportAppCatalogCommand, +} 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 ImportAppCatalogCommandInput = ImportAppCatalogRequest; +export type ImportAppCatalogCommandOutput = ImportAppCatalogResponse & __MetadataBearer; + +export class ImportAppCatalogCommand extends $Command< + ImportAppCatalogCommandInput, + ImportAppCatalogCommandOutput, + SMSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ImportAppCatalogCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SMSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ImportAppCatalogRequest.filterSensitiveLog, + outputFilterSensitiveLog: ImportAppCatalogResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ImportAppCatalogCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ImportAppCatalogCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ImportAppCatalogCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sms/commands/NotifyAppValidationOutputCommand.ts b/clients/client-sms/commands/NotifyAppValidationOutputCommand.ts new file mode 100644 index 000000000000..a91e61628fb2 --- /dev/null +++ b/clients/client-sms/commands/NotifyAppValidationOutputCommand.ts @@ -0,0 +1,73 @@ +import { SMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SMSClient"; +import { NotifyAppValidationOutputRequest, NotifyAppValidationOutputResponse } from "../models/models_0"; +import { + deserializeAws_json1_1NotifyAppValidationOutputCommand, + serializeAws_json1_1NotifyAppValidationOutputCommand, +} 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 NotifyAppValidationOutputCommandInput = NotifyAppValidationOutputRequest; +export type NotifyAppValidationOutputCommandOutput = NotifyAppValidationOutputResponse & __MetadataBearer; + +export class NotifyAppValidationOutputCommand extends $Command< + NotifyAppValidationOutputCommandInput, + NotifyAppValidationOutputCommandOutput, + SMSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: NotifyAppValidationOutputCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SMSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: NotifyAppValidationOutputRequest.filterSensitiveLog, + outputFilterSensitiveLog: NotifyAppValidationOutputResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: NotifyAppValidationOutputCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1NotifyAppValidationOutputCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1NotifyAppValidationOutputCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sms/commands/PutAppValidationConfigurationCommand.ts b/clients/client-sms/commands/PutAppValidationConfigurationCommand.ts new file mode 100644 index 000000000000..9afa83283448 --- /dev/null +++ b/clients/client-sms/commands/PutAppValidationConfigurationCommand.ts @@ -0,0 +1,73 @@ +import { SMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SMSClient"; +import { PutAppValidationConfigurationRequest, PutAppValidationConfigurationResponse } from "../models/models_0"; +import { + deserializeAws_json1_1PutAppValidationConfigurationCommand, + serializeAws_json1_1PutAppValidationConfigurationCommand, +} 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 PutAppValidationConfigurationCommandInput = PutAppValidationConfigurationRequest; +export type PutAppValidationConfigurationCommandOutput = PutAppValidationConfigurationResponse & __MetadataBearer; + +export class PutAppValidationConfigurationCommand extends $Command< + PutAppValidationConfigurationCommandInput, + PutAppValidationConfigurationCommandOutput, + SMSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutAppValidationConfigurationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SMSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: PutAppValidationConfigurationRequest.filterSensitiveLog, + outputFilterSensitiveLog: PutAppValidationConfigurationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: PutAppValidationConfigurationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1PutAppValidationConfigurationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1PutAppValidationConfigurationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sms/commands/StartOnDemandAppReplicationCommand.ts b/clients/client-sms/commands/StartOnDemandAppReplicationCommand.ts new file mode 100644 index 000000000000..a2c31713e57c --- /dev/null +++ b/clients/client-sms/commands/StartOnDemandAppReplicationCommand.ts @@ -0,0 +1,73 @@ +import { SMSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SMSClient"; +import { StartOnDemandAppReplicationRequest, StartOnDemandAppReplicationResponse } from "../models/models_0"; +import { + deserializeAws_json1_1StartOnDemandAppReplicationCommand, + serializeAws_json1_1StartOnDemandAppReplicationCommand, +} 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 StartOnDemandAppReplicationCommandInput = StartOnDemandAppReplicationRequest; +export type StartOnDemandAppReplicationCommandOutput = StartOnDemandAppReplicationResponse & __MetadataBearer; + +export class StartOnDemandAppReplicationCommand extends $Command< + StartOnDemandAppReplicationCommandInput, + StartOnDemandAppReplicationCommandOutput, + SMSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartOnDemandAppReplicationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SMSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: StartOnDemandAppReplicationRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartOnDemandAppReplicationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartOnDemandAppReplicationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1StartOnDemandAppReplicationCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1StartOnDemandAppReplicationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sms/index.ts b/clients/client-sms/index.ts index 7a2031ceaa3c..1de9db6b63ea 100644 --- a/clients/client-sms/index.ts +++ b/clients/client-sms/index.ts @@ -5,6 +5,7 @@ export * from "./commands/CreateReplicationJobCommand"; export * from "./commands/DeleteAppCommand"; export * from "./commands/DeleteAppLaunchConfigurationCommand"; export * from "./commands/DeleteAppReplicationConfigurationCommand"; +export * from "./commands/DeleteAppValidationConfigurationCommand"; export * from "./commands/DeleteReplicationJobCommand"; export * from "./commands/DeleteServerCatalogCommand"; export * from "./commands/DisassociateConnectorCommand"; @@ -13,6 +14,8 @@ export * from "./commands/GenerateTemplateCommand"; export * from "./commands/GetAppCommand"; export * from "./commands/GetAppLaunchConfigurationCommand"; export * from "./commands/GetAppReplicationConfigurationCommand"; +export * from "./commands/GetAppValidationConfigurationCommand"; +export * from "./commands/GetAppValidationOutputCommand"; export * from "./commands/GetConnectorsCommand"; export * from "./pagination/GetConnectorsPaginator"; export * from "./commands/GetReplicationJobsCommand"; @@ -21,12 +24,16 @@ export * from "./commands/GetReplicationRunsCommand"; export * from "./pagination/GetReplicationRunsPaginator"; export * from "./commands/GetServersCommand"; export * from "./pagination/GetServersPaginator"; +export * from "./commands/ImportAppCatalogCommand"; export * from "./commands/ImportServerCatalogCommand"; export * from "./commands/LaunchAppCommand"; export * from "./commands/ListAppsCommand"; +export * from "./commands/NotifyAppValidationOutputCommand"; export * from "./commands/PutAppLaunchConfigurationCommand"; export * from "./commands/PutAppReplicationConfigurationCommand"; +export * from "./commands/PutAppValidationConfigurationCommand"; export * from "./commands/StartAppReplicationCommand"; +export * from "./commands/StartOnDemandAppReplicationCommand"; export * from "./commands/StartOnDemandReplicationRunCommand"; export * from "./commands/StopAppReplicationCommand"; export * from "./commands/TerminateAppCommand"; diff --git a/clients/client-sms/models/models_0.ts b/clients/client-sms/models/models_0.ts index 446f065f7bf0..c3dad59cab47 100644 --- a/clients/client-sms/models/models_0.ts +++ b/clients/client-sms/models/models_0.ts @@ -1,6 +1,11 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +export enum AppLaunchConfigurationStatus { + Configured = "CONFIGURED", + NotConfigured = "NOT_CONFIGURED", +} + export enum AppLaunchStatus { ConfigurationInProgress = "CONFIGURATION_IN_PROGRESS", ConfigurationInvalid = "CONFIGURATION_INVALID", @@ -10,6 +15,7 @@ export enum AppLaunchStatus { LaunchInProgress = "LAUNCH_IN_PROGRESS", LaunchPending = "LAUNCH_PENDING", Launched = "LAUNCHED", + PartiallyLaunched = "PARTIALLY_LAUNCHED", ReadyForConfiguration = "READY_FOR_CONFIGURATION", ReadyForLaunch = "READY_FOR_LAUNCH", TerminateFailed = "TERMINATE_FAILED", @@ -18,12 +24,18 @@ export enum AppLaunchStatus { ValidationInProgress = "VALIDATION_IN_PROGRESS", } +export enum AppReplicationConfigurationStatus { + Configured = "CONFIGURED", + NotConfigured = "NOT_CONFIGURED", +} + export enum AppReplicationStatus { ConfigurationInProgress = "CONFIGURATION_IN_PROGRESS", ConfigurationInvalid = "CONFIGURATION_INVALID", DeltaReplicated = "DELTA_REPLICATED", DeltaReplicationFailed = "DELTA_REPLICATION_FAILED", DeltaReplicationInProgress = "DELTA_REPLICATION_IN_PROGRESS", + PartiallyReplicated = "PARTIALLY_REPLICATED", ReadyForConfiguration = "READY_FOR_CONFIGURATION", ReadyForReplication = "READY_FOR_REPLICATION", Replicated = "REPLICATED", @@ -41,19 +53,19 @@ export enum AppReplicationStatus { */ export interface LaunchDetails { /** - *

                                                                Name of the latest stack launched for this application.

                                                                + *

                                                                The ID of the latest stack launched for this application.

                                                                */ - stackName?: string; + stackId?: string; /** - *

                                                                Latest time this application was launched successfully.

                                                                + *

                                                                The name of the latest stack launched for this application.

                                                                */ - latestLaunchTime?: Date; + stackName?: string; /** - *

                                                                Identifier of the latest stack launched for this application.

                                                                + *

                                                                The latest time that this application was launched successfully.

                                                                */ - stackId?: string; + latestLaunchTime?: Date; } export namespace LaunchDetails { @@ -75,85 +87,100 @@ export enum AppStatus { *

                                                                Information about the application.

                                                                */ export interface AppSummary { + /** + *

                                                                A message related to the launch status of the application.

                                                                + */ + launchStatusMessage?: string; + /** *

                                                                Details about the latest launch of the application.

                                                                */ launchDetails?: LaunchDetails; /** - *

                                                                Status of the application.

                                                                + *

                                                                The description of the application.

                                                                */ - status?: AppStatus | string; + description?: string; /** - *

                                                                Launch status of the application.

                                                                + *

                                                                The name of the service role in the customer's account used by AWS SMS.

                                                                */ - launchStatus?: AppLaunchStatus | string; + roleName?: string; /** - *

                                                                Description of the application.

                                                                + *

                                                                A message related to the status of the application

                                                                */ - description?: string; + statusMessage?: string; /** - *

                                                                Timestamp of the application's creation.

                                                                + *

                                                                A message related to the replication status of the application.

                                                                */ - lastModified?: Date; + replicationStatusMessage?: string; /** - *

                                                                Time of creation of this application.

                                                                + *

                                                                The creation time of the application.

                                                                */ creationTime?: Date; /** - *

                                                                A message related to the status of the application

                                                                + *

                                                                The replication status of the application.

                                                                */ - statusMessage?: string; + replicationStatus?: AppReplicationStatus | string; /** - *

                                                                Replication status of the application.

                                                                + *

                                                                Status of the replication configuration.

                                                                */ - replicationStatus?: AppReplicationStatus | string; + replicationConfigurationStatus?: AppReplicationConfigurationStatus | string; /** - *

                                                                A message related to the launch status of the application.

                                                                + *

                                                                The unique ID of the application.

                                                                */ - launchStatusMessage?: string; + appId?: string; /** - *

                                                                Unique ID of the application.

                                                                + *

                                                                The timestamp of the application's most recent successful replication.

                                                                */ - appId?: string; + latestReplicationTime?: Date; /** - *

                                                                Number of server groups present in the application.

                                                                + *

                                                                The name of the application.

                                                                */ - totalServerGroups?: number; + name?: string; + + /** + *

                                                                Status of the application.

                                                                + */ + status?: AppStatus | string; /** - *

                                                                Number of servers present in the application.

                                                                + *

                                                                The number of servers present in the application.

                                                                */ totalServers?: number; /** - *

                                                                Name of the application.

                                                                + *

                                                                The last modified time of the application.

                                                                */ - name?: string; + lastModified?: Date; /** - *

                                                                A message related to the replication status of the application.

                                                                + *

                                                                The number of server groups present in the application.

                                                                */ - replicationStatusMessage?: string; + totalServerGroups?: number; /** - *

                                                                Name of the service role in the customer's account used by AWS SMS.

                                                                + *

                                                                The launch status of the application.

                                                                */ - roleName?: string; + launchStatus?: AppLaunchStatus | string; /** - *

                                                                Timestamp of the application's most recent successful replication.

                                                                + *

                                                                Status of the launch configuration.

                                                                */ - latestReplicationTime?: Date; + launchConfigurationStatus?: AppLaunchConfigurationStatus | string; + + /** + *

                                                                The ID of the application.

                                                                + */ + importedAppId?: string; } export namespace AppSummary { @@ -162,6 +189,156 @@ export namespace AppSummary { }); } +export enum AppValidationStrategy { + SSM = "SSM", +} + +export enum ScriptType { + POWERSHELL_SCRIPT = "POWERSHELL_SCRIPT", + SHELL_SCRIPT = "SHELL_SCRIPT", +} + +/** + *

                                                                Location of an Amazon S3 object.

                                                                + */ +export interface S3Location { + /** + *

                                                                The Amazon S3 bucket key.

                                                                + */ + key?: string; + + /** + *

                                                                The Amazon S3 bucket name.

                                                                + */ + bucket?: string; +} + +export namespace S3Location { + export const filterSensitiveLog = (obj: S3Location): any => ({ + ...obj, + }); +} + +/** + *

                                                                Contains the location of a validation script.

                                                                + */ +export interface Source { + /** + *

                                                                Location of an Amazon S3 object.

                                                                + */ + s3Location?: S3Location; +} + +export namespace Source { + export const filterSensitiveLog = (obj: Source): any => ({ + ...obj, + }); +} + +/** + *

                                                                Contains validation parameters.

                                                                + */ +export interface SSMValidationParameters { + /** + *

                                                                The timeout interval, in seconds.

                                                                + */ + executionTimeoutSeconds?: number; + + /** + *

                                                                The location of the validation script.

                                                                + */ + source?: Source; + + /** + *

                                                                The name of the S3 bucket for output.

                                                                + */ + outputS3BucketName?: string; + + /** + *

                                                                The type of validation script.

                                                                + */ + scriptType?: ScriptType | string; + + /** + *

                                                                The command to run the validation script

                                                                + */ + command?: string; + + /** + *

                                                                The ID of the instance. The instance must have the following tag: UserForSMSApplicationValidation=true.

                                                                + */ + instanceId?: string; +} + +export namespace SSMValidationParameters { + export const filterSensitiveLog = (obj: SSMValidationParameters): any => ({ + ...obj, + }); +} + +/** + *

                                                                Configuration for validating an application.

                                                                + */ +export interface AppValidationConfiguration { + /** + *

                                                                The name of the configuration.

                                                                + */ + name?: string; + + /** + *

                                                                The validation strategy.

                                                                + */ + appValidationStrategy?: AppValidationStrategy | string; + + /** + *

                                                                The validation parameters.

                                                                + */ + ssmValidationParameters?: SSMValidationParameters; + + /** + *

                                                                The ID of the validation.

                                                                + */ + validationId?: string; +} + +export namespace AppValidationConfiguration { + export const filterSensitiveLog = (obj: AppValidationConfiguration): any => ({ + ...obj, + }); +} + +/** + *

                                                                Contains the location of validation output.

                                                                + */ +export interface SSMOutput { + /** + *

                                                                Location of an Amazon S3 object.

                                                                + */ + s3Location?: S3Location; +} + +export namespace SSMOutput { + export const filterSensitiveLog = (obj: SSMOutput): any => ({ + ...obj, + }); +} + +/** + *

                                                                Output from validating an application.

                                                                + */ +export interface AppValidationOutput { + /** + *

                                                                Output from using SSM to validate the application.

                                                                + */ + ssmOutput?: SSMOutput; +} + +export namespace AppValidationOutput { + export const filterSensitiveLog = (obj: AppValidationOutput): any => ({ + ...obj, + }); +} + export enum ServerType { VirtualMachine = "VIRTUAL_MACHINE", } @@ -177,14 +354,14 @@ export enum VmManagerType { */ export interface VmServerAddress { /** - *

                                                                The identifier of the VM manager.

                                                                + *

                                                                The ID of the VM.

                                                                */ - vmManagerId?: string; + vmId?: string; /** - *

                                                                The identifier of the VM.

                                                                + *

                                                                The ID of the VM manager.

                                                                */ - vmId?: string; + vmManagerId?: string; } export namespace VmServerAddress { @@ -208,19 +385,19 @@ export interface VmServer { vmManagerName?: string; /** - *

                                                                The name of the VM.

                                                                + *

                                                                The type of VM management product.

                                                                */ - vmName?: string; + vmManagerType?: VmManagerType | string; /** - *

                                                                Information about the VM server location.

                                                                + *

                                                                The name of the VM.

                                                                */ - vmServerAddress?: VmServerAddress; + vmName?: string; /** - *

                                                                The type of VM management product.

                                                                + *

                                                                The VM server location.

                                                                */ - vmManagerType?: VmManagerType | string; + vmServerAddress?: VmServerAddress; } export namespace VmServer { @@ -234,29 +411,29 @@ export namespace VmServer { */ export interface Server { /** - *

                                                                Information about the VM server.

                                                                + *

                                                                Indicates whether the replication job is deleted or failed.

                                                                */ - vmServer?: VmServer; + replicationJobTerminated?: boolean; /** - *

                                                                The type of server.

                                                                + *

                                                                The ID of the server.

                                                                */ - serverType?: ServerType | string; + serverId?: string; /** - *

                                                                Indicates whether the replication job is deleted or failed.

                                                                + *

                                                                Information about the VM server.

                                                                */ - replicationJobTerminated?: boolean; + vmServer?: VmServer; /** - *

                                                                The identifier of the replication job.

                                                                + *

                                                                The ID of the replication job.

                                                                */ replicationJobId?: string; /** - *

                                                                The identifier of the server.

                                                                + *

                                                                The type of server.

                                                                */ - serverId?: string; + serverType?: ServerType | string; } export namespace Server { @@ -266,23 +443,23 @@ export namespace Server { } /** - *

                                                                A logical grouping of servers.

                                                                + *

                                                                Logical grouping of servers.

                                                                */ export interface ServerGroup { /** - *

                                                                Identifier of a server group.

                                                                + *

                                                                The ID of a server group.

                                                                */ serverGroupId?: string; /** - *

                                                                Name of a server group.

                                                                + *

                                                                The servers that belong to a server group.

                                                                */ - name?: string; + serverList?: Server[]; /** - *

                                                                List of servers belonging to a server group.

                                                                + *

                                                                The name of a server group.

                                                                */ - serverList?: Server[]; + name?: string; } export namespace ServerGroup { @@ -292,18 +469,18 @@ export namespace ServerGroup { } /** - *

                                                                A label that can be assigned to an application.

                                                                + *

                                                                Key/value pair that can be assigned to an application.

                                                                */ export interface Tag { /** - *

                                                                Tag key.

                                                                + *

                                                                The tag value.

                                                                */ - key?: string; + value?: string; /** - *

                                                                Tag value.

                                                                + *

                                                                The tag key.

                                                                */ - value?: string; + key?: string; } export namespace Tag { @@ -314,35 +491,35 @@ export namespace Tag { export interface CreateAppRequest { /** - *

                                                                Name of the new application.

                                                                + *

                                                                The description of the new application

                                                                */ - name?: string; + description?: string; /** - *

                                                                A unique, case-sensitive identifier you provide to ensure idempotency of application - * creation.

                                                                + *

                                                                A unique, case-sensitive identifier that you provide to ensure the idempotency of + * application creation.

                                                                */ clientToken?: string; /** - *

                                                                Description of the new application

                                                                + *

                                                                The name of the new application.

                                                                */ - description?: string; + name?: string; /** - *

                                                                List of tags to be associated with the application.

                                                                + *

                                                                The name of the service role in the customer's account to be used by AWS SMS.

                                                                */ - tags?: Tag[]; + roleName?: string; /** - *

                                                                List of server groups to include in the application.

                                                                + *

                                                                The server groups to include in the application.

                                                                */ serverGroups?: ServerGroup[]; /** - *

                                                                Name of service role in customer's account to be used by AWS SMS.

                                                                + *

                                                                The tags to be associated with the application.

                                                                */ - roleName?: string; + tags?: Tag[]; } export namespace CreateAppRequest { @@ -353,19 +530,19 @@ export namespace CreateAppRequest { export interface CreateAppResponse { /** - *

                                                                Summary description of the application.

                                                                + *

                                                                The tags associated with the application.

                                                                */ - appSummary?: AppSummary; + tags?: Tag[]; /** - *

                                                                List of server groups included in the application.

                                                                + *

                                                                A summary description of the application.

                                                                */ - serverGroups?: ServerGroup[]; + appSummary?: AppSummary; /** - *

                                                                List of taags associated with the application.

                                                                + *

                                                                The server groups included in the application.

                                                                */ - tags?: Tag[]; + serverGroups?: ServerGroup[]; } export namespace CreateAppResponse { @@ -435,8 +612,8 @@ export namespace OperationNotPermittedException { } /** - *

                                                                You lack permissions needed to perform this operation. Check your IAM policies, and - * ensure that you are using the correct access keys.

                                                                + *

                                                                You lack permissions needed to perform this operation. Check your IAM policies, + * and ensure that you are using the correct access keys.

                                                                */ export interface UnauthorizedOperationException extends __SmithyException, $MetadataBearer { name: "UnauthorizedOperationException"; @@ -457,69 +634,68 @@ export enum LicenseType { export interface CreateReplicationJobRequest { /** - *

                                                                The name of the IAM role to be used by the AWS SMS.

                                                                + *

                                                                The description of the replication job.

                                                                */ - roleName?: string; + description?: string; /** - *

                                                                The identifier of the server.

                                                                + *

                                                                The name of the IAM role to be used by the AWS SMS.

                                                                */ - serverId: string | undefined; + roleName?: string; /** - *

                                                                + *

                                                                The ID of the KMS key for replication jobs that produce encrypted AMIs. + * This value can be any of the following:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  KMS key ID

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  KMS key alias

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  ARN referring to the KMS key ID

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  ARN referring to the KMS key alias

                                                                  + *
                                                                • + *
                                                                + *

                                                                If encrypted is true but a KMS key ID is not specified, the + * customer's default KMS key for Amazon EBS is used.

                                                                */ - runOnce?: boolean; + kmsKeyId?: string; /** - *

                                                                The description of the replication job.

                                                                + *

                                                                The license type to be used for the AMI created by a successful replication + * run.

                                                                */ - description?: string; + licenseType?: LicenseType | string; /** - *

                                                                The time between consecutive replication runs, in hours.

                                                                + *

                                                                Indicates whether the replication job produces encrypted AMIs.

                                                                */ - frequency?: number; + encrypted?: boolean; /** - *

                                                                The maximum number of SMS-created AMIs to retain. The oldest will be deleted once the + *

                                                                The maximum number of SMS-created AMIs to retain. The oldest is deleted after the * maximum number is reached and a new AMI is created.

                                                                */ numberOfRecentAmisToKeep?: number; /** - *

                                                                The license type to be used for the AMI created by a successful replication - * run.

                                                                + *

                                                                The ID of the server.

                                                                */ - licenseType?: LicenseType | string; + serverId: string | undefined; /** - *

                                                                When true, the replication job produces encrypted AMIs. See also - * KmsKeyId below.

                                                                + *

                                                                The time between consecutive replication runs, in hours.

                                                                */ - encrypted?: boolean; + frequency?: number; /** - *

                                                                KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the - * following:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  KMS key ID

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  KMS key alias

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  ARN referring to KMS key ID

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  ARN referring to KMS key alias

                                                                  - *
                                                                • - *
                                                                - *

                                                                If encrypted is true but a KMS key id is not specified, the - * customer's default KMS key for EBS is used.

                                                                + *

                                                                Indicates whether to run the replication job one time.

                                                                */ - kmsKeyId?: string; + runOnce?: boolean; /** *

                                                                The seed replication time.

                                                                @@ -607,19 +783,19 @@ export namespace TemporarilyUnavailableException { export interface DeleteAppRequest { /** - *

                                                                While deleting the application, terminate the stack corresponding to the - * application.

                                                                + *

                                                                Indicates whether to terminate the stack corresponding to the + * application while deleting the application.

                                                                */ forceTerminateApp?: boolean; /** - *

                                                                While deleting the application, stop all replication jobs corresponding to the servers - * in the application.

                                                                + *

                                                                Indicates whether to stop all replication jobs corresponding to the servers + * in the application while deleting the application.

                                                                */ forceStopAppReplication?: boolean; /** - *

                                                                ID of the application to delete.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -640,7 +816,7 @@ export namespace DeleteAppResponse { export interface DeleteAppLaunchConfigurationRequest { /** - *

                                                                ID of the application associated with the launch configuration.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -661,7 +837,7 @@ export namespace DeleteAppLaunchConfigurationResponse { export interface DeleteAppReplicationConfigurationRequest { /** - *

                                                                ID of the application associated with the replication configuration.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -680,14 +856,35 @@ export namespace DeleteAppReplicationConfigurationResponse { }); } -export interface DeleteReplicationJobRequest { +export interface DeleteAppValidationConfigurationRequest { /** - *

                                                                The identifier of the replication job.

                                                                + *

                                                                The ID of the application.

                                                                */ - replicationJobId: string | undefined; + appId: string | undefined; } -export namespace DeleteReplicationJobRequest { +export namespace DeleteAppValidationConfigurationRequest { + export const filterSensitiveLog = (obj: DeleteAppValidationConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface DeleteAppValidationConfigurationResponse {} + +export namespace DeleteAppValidationConfigurationResponse { + export const filterSensitiveLog = (obj: DeleteAppValidationConfigurationResponse): any => ({ + ...obj, + }); +} + +export interface DeleteReplicationJobRequest { + /** + *

                                                                The ID of the replication job.

                                                                + */ + replicationJobId: string | undefined; +} + +export namespace DeleteReplicationJobRequest { export const filterSensitiveLog = (obj: DeleteReplicationJobRequest): any => ({ ...obj, }); @@ -734,7 +931,7 @@ export namespace DeleteServerCatalogResponse { export interface DisassociateConnectorRequest { /** - *

                                                                The identifier of the connector.

                                                                + *

                                                                The ID of the connector.

                                                                */ connectorId: string | undefined; } @@ -760,14 +957,14 @@ export enum OutputFormat { export interface GenerateChangeSetRequest { /** - *

                                                                Format for the change set.

                                                                + *

                                                                The ID of the application associated with the change set.

                                                                */ - changesetFormat?: OutputFormat | string; + appId?: string; /** - *

                                                                ID of the application associated with the change set.

                                                                + *

                                                                The format for the change set.

                                                                */ - appId?: string; + changesetFormat?: OutputFormat | string; } export namespace GenerateChangeSetRequest { @@ -776,30 +973,9 @@ export namespace GenerateChangeSetRequest { }); } -/** - *

                                                                Location of the Amazon S3 object in the customer's account.

                                                                - */ -export interface S3Location { - /** - *

                                                                Amazon S3 bucket key.

                                                                - */ - key?: string; - - /** - *

                                                                Amazon S3 bucket name.

                                                                - */ - bucket?: string; -} - -export namespace S3Location { - export const filterSensitiveLog = (obj: S3Location): any => ({ - ...obj, - }); -} - export interface GenerateChangeSetResponse { /** - *

                                                                Location of the Amazon S3 object.

                                                                + *

                                                                The location of the Amazon S3 object.

                                                                */ s3Location?: S3Location; } @@ -812,12 +988,12 @@ export namespace GenerateChangeSetResponse { export interface GenerateTemplateRequest { /** - *

                                                                Format for generating the Amazon CloudFormation template.

                                                                + *

                                                                The format for generating the AWS CloudFormation template.

                                                                */ templateFormat?: OutputFormat | string; /** - *

                                                                ID of the application associated with the Amazon CloudFormation template.

                                                                + *

                                                                The ID of the application associated with the AWS CloudFormation template.

                                                                */ appId?: string; } @@ -830,7 +1006,7 @@ export namespace GenerateTemplateRequest { export interface GenerateTemplateResponse { /** - *

                                                                Location of the Amazon S3 object.

                                                                + *

                                                                The location of the Amazon S3 object.

                                                                */ s3Location?: S3Location; } @@ -843,7 +1019,7 @@ export namespace GenerateTemplateResponse { export interface GetAppRequest { /** - *

                                                                ID of the application whose information is being retrieved.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -856,19 +1032,19 @@ export namespace GetAppRequest { export interface GetAppResponse { /** - *

                                                                List of server groups belonging to the application.

                                                                + *

                                                                The server groups that belong to the application.

                                                                */ serverGroups?: ServerGroup[]; /** - *

                                                                Information about the application.

                                                                + *

                                                                The tags associated with the application.

                                                                */ - appSummary?: AppSummary; + tags?: Tag[]; /** - *

                                                                List of tags associated with the application.

                                                                + *

                                                                Information about the application.

                                                                */ - tags?: Tag[]; + appSummary?: AppSummary; } export namespace GetAppResponse { @@ -879,7 +1055,7 @@ export namespace GetAppResponse { export interface GetAppLaunchConfigurationRequest { /** - *

                                                                ID of the application launch configuration.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -912,49 +1088,64 @@ export namespace UserData { */ export interface ServerLaunchConfiguration { /** - *

                                                                Identifier of the security group that applies to the launched server.

                                                                + *

                                                                The instance type to use when launching the server.

                                                                */ - securityGroup?: string; + instanceType?: string; /** - *

                                                                If true, a publicly accessible IP address is created when launching the server.

                                                                + *

                                                                The name of the IAM instance profile.

                                                                + */ + iamInstanceProfileName?: string; + + /** + *

                                                                Indicates whether a publicly accessible IP address is created when launching the server.

                                                                */ associatePublicIpAddress?: boolean; /** - *

                                                                Identifier of the VPC the server should be launched into.

                                                                + *

                                                                The ID of the VPC into which the server should be launched.

                                                                */ vpc?: string; /** - *

                                                                Logical ID of the server in the Amazon CloudFormation template.

                                                                + *

                                                                The type of configuration script.

                                                                */ - logicalId?: string; + configureScriptType?: ScriptType | string; /** - *

                                                                Instance type to be used for launching the server.

                                                                + *

                                                                Location of an Amazon S3 object.

                                                                */ - instanceType?: string; + configureScript?: S3Location; + + /** + *

                                                                Location of the user-data script to be executed when launching the server.

                                                                + */ + userData?: UserData; /** - *

                                                                Identifier of the subnet the server should be launched into.

                                                                + *

                                                                The name of the Amazon EC2 SSH key to be used for connecting to the launched server.

                                                                + */ + ec2KeyName?: string; + + /** + *

                                                                The ID of the subnet the server should be launched into.

                                                                */ subnet?: string; /** - *

                                                                Identifier of the server the launch configuration is associated with.

                                                                + *

                                                                The ID of the security group that applies to the launched server.

                                                                */ - server?: Server; + securityGroup?: string; /** - *

                                                                Name of the EC2 SSH Key to be used for connecting to the launched server.

                                                                + *

                                                                The logical ID of the server in the AWS CloudFormation template.

                                                                */ - ec2KeyName?: string; + logicalId?: string; /** - *

                                                                Location of the user-data script to be executed when launching the server.

                                                                + *

                                                                The ID of the server with which the launch configuration is associated.

                                                                */ - userData?: UserData; + server?: Server; } export namespace ServerLaunchConfiguration { @@ -968,17 +1159,18 @@ export namespace ServerLaunchConfiguration { */ export interface ServerGroupLaunchConfiguration { /** - *

                                                                Launch order of servers in the server group.

                                                                + *

                                                                The launch order of servers in the server group.

                                                                */ launchOrder?: number; /** - *

                                                                Launch configuration for servers in the server group.

                                                                + *

                                                                The launch configuration for servers in the server group.

                                                                */ serverLaunchConfigurations?: ServerLaunchConfiguration[]; /** - *

                                                                Identifier of the server group the launch configuration is associated with.

                                                                + *

                                                                The ID of the server group with which the launch configuration is + * associated.

                                                                */ serverGroupId?: string; } @@ -991,20 +1183,25 @@ export namespace ServerGroupLaunchConfiguration { export interface GetAppLaunchConfigurationResponse { /** - *

                                                                List of launch configurations for server groups in this application.

                                                                + *

                                                                The launch configurations for server groups in this application.

                                                                */ serverGroupLaunchConfigurations?: ServerGroupLaunchConfiguration[]; /** - *

                                                                Name of the service role in the customer's account that Amazon CloudFormation uses to launch the + *

                                                                The name of the service role in the customer's account that AWS CloudFormation uses to launch the * application.

                                                                */ roleName?: string; /** - *

                                                                ID of the application associated with the launch configuration.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; + + /** + *

                                                                Indicates whether the application is configured to launch automatically after replication is complete.

                                                                + */ + autoLaunch?: boolean; } export namespace GetAppLaunchConfigurationResponse { @@ -1015,7 +1212,7 @@ export namespace GetAppLaunchConfigurationResponse { export interface GetAppReplicationConfigurationRequest { /** - *

                                                                ID of the application associated with the replication configuration.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -1027,18 +1224,12 @@ export namespace GetAppReplicationConfigurationRequest { } /** - *

                                                                Replication parameters for replicating a server.

                                                                + *

                                                                The replication parameters for replicating a server.

                                                                */ export interface ServerReplicationParameters { /** - *

                                                                Frequency of creating replication jobs for the server.

                                                                - */ - frequency?: number; - - /** - *

                                                                - *

                                                                KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the - * following:

                                                                + *

                                                                The ID of the KMS key for replication jobs that produce encrypted AMIs. + * This value can be any of the following:

                                                                *
                                                                  *
                                                                • *

                                                                  KMS key ID

                                                                  @@ -1047,42 +1238,46 @@ export interface ServerReplicationParameters { *

                                                                  KMS key alias

                                                                  *
                                                                • *
                                                                • - *

                                                                  ARN referring to KMS key ID

                                                                  + *

                                                                  ARN referring to the KMS key ID

                                                                  *
                                                                • *
                                                                • - *

                                                                  ARN referring to KMS key alias

                                                                  + *

                                                                  ARN referring to the KMS key alias

                                                                  *
                                                                • *
                                                                - *

                                                                If encrypted is true but a KMS key id is not specified, the - * customer's default KMS key for EBS is used.

                                                                + *

                                                                If encrypted is enabled but a KMS key ID is not specified, the + * customer's default KMS key for Amazon EBS is used.

                                                                */ kmsKeyId?: string; /** - *

                                                                + *

                                                                Indicates whether the replication job produces encrypted AMIs.

                                                                */ - runOnce?: boolean; + encrypted?: boolean; /** - *

                                                                Number of recent AMIs to keep when creating a replication job for this server.

                                                                + *

                                                                The license type for creating a replication job for the server.

                                                                */ - numberOfRecentAmisToKeep?: number; + licenseType?: LicenseType | string; /** - *

                                                                License type for creating a replication job for the server.

                                                                + *

                                                                Indicates whether to run the replication job one time.

                                                                */ - licenseType?: LicenseType | string; + runOnce?: boolean; /** - *

                                                                When true, the replication job produces encrypted AMIs. See also KmsKeyId - * below.

                                                                + *

                                                                The seed time for creating a replication job for the server.

                                                                */ - encrypted?: boolean; + seedTime?: Date; /** - *

                                                                Seed time for creating a replication job for the server.

                                                                + *

                                                                The frequency of creating replication jobs for the server.

                                                                */ - seedTime?: Date; + frequency?: number; + + /** + *

                                                                The number of recent AMIs to keep when creating a replication job for this server.

                                                                + */ + numberOfRecentAmisToKeep?: number; } export namespace ServerReplicationParameters { @@ -1096,14 +1291,15 @@ export namespace ServerReplicationParameters { */ export interface ServerReplicationConfiguration { /** - *

                                                                Identifier of the server this replication configuration is associated with.

                                                                + *

                                                                The parameters for replicating the server.

                                                                */ - server?: Server; + serverReplicationParameters?: ServerReplicationParameters; /** - *

                                                                Parameters for replicating the server.

                                                                + *

                                                                The ID of the server with which this replication configuration is + * associated.

                                                                */ - serverReplicationParameters?: ServerReplicationParameters; + server?: Server; } export namespace ServerReplicationConfiguration { @@ -1117,13 +1313,13 @@ export namespace ServerReplicationConfiguration { */ export interface ServerGroupReplicationConfiguration { /** - *

                                                                Replication configuration for servers in the server group.

                                                                + *

                                                                The replication configuration for servers in the server group.

                                                                */ serverReplicationConfigurations?: ServerReplicationConfiguration[]; /** - *

                                                                Identifier of the server group this replication configuration is associated - * with.

                                                                + *

                                                                The ID of the server group with which this replication configuration is + * associated.

                                                                */ serverGroupId?: string; } @@ -1136,7 +1332,7 @@ export namespace ServerGroupReplicationConfiguration { export interface GetAppReplicationConfigurationResponse { /** - *

                                                                Replication configurations associated with server groups in this application.

                                                                + *

                                                                The replication configurations associated with server groups in this application.

                                                                */ serverGroupReplicationConfigurations?: ServerGroupReplicationConfiguration[]; } @@ -1147,6 +1343,215 @@ export namespace GetAppReplicationConfigurationResponse { }); } +export interface GetAppValidationConfigurationRequest { + /** + *

                                                                The ID of the application.

                                                                + */ + appId: string | undefined; +} + +export namespace GetAppValidationConfigurationRequest { + export const filterSensitiveLog = (obj: GetAppValidationConfigurationRequest): any => ({ + ...obj, + }); +} + +export enum ServerValidationStrategy { + USERDATA = "USERDATA", +} + +/** + *

                                                                Contains validation parameters.

                                                                + */ +export interface UserDataValidationParameters { + /** + *

                                                                The location of the validation script.

                                                                + */ + source?: Source; + + /** + *

                                                                The type of validation script.

                                                                + */ + scriptType?: ScriptType | string; +} + +export namespace UserDataValidationParameters { + export const filterSensitiveLog = (obj: UserDataValidationParameters): any => ({ + ...obj, + }); +} + +/** + *

                                                                Configuration for validating an instance.

                                                                + */ +export interface ServerValidationConfiguration { + /** + *

                                                                The ID of the validation.

                                                                + */ + validationId?: string; + + /** + *

                                                                Represents a server.

                                                                + */ + server?: Server; + + /** + *

                                                                The validation strategy.

                                                                + */ + serverValidationStrategy?: ServerValidationStrategy | string; + + /** + *

                                                                The validation parameters.

                                                                + */ + userDataValidationParameters?: UserDataValidationParameters; + + /** + *

                                                                The name of the configuration.

                                                                + */ + name?: string; +} + +export namespace ServerValidationConfiguration { + export const filterSensitiveLog = (obj: ServerValidationConfiguration): any => ({ + ...obj, + }); +} + +/** + *

                                                                Configuration for validating an instance.

                                                                + */ +export interface ServerGroupValidationConfiguration { + /** + *

                                                                The ID of the server group.

                                                                + */ + serverGroupId?: string; + + /** + *

                                                                The validation configuration.

                                                                + */ + serverValidationConfigurations?: ServerValidationConfiguration[]; +} + +export namespace ServerGroupValidationConfiguration { + export const filterSensitiveLog = (obj: ServerGroupValidationConfiguration): any => ({ + ...obj, + }); +} + +export interface GetAppValidationConfigurationResponse { + /** + *

                                                                The configuration for instance validation.

                                                                + */ + serverGroupValidationConfigurations?: ServerGroupValidationConfiguration[]; + + /** + *

                                                                The configuration for application validation.

                                                                + */ + appValidationConfigurations?: AppValidationConfiguration[]; +} + +export namespace GetAppValidationConfigurationResponse { + export const filterSensitiveLog = (obj: GetAppValidationConfigurationResponse): any => ({ + ...obj, + }); +} + +export interface GetAppValidationOutputRequest { + /** + *

                                                                The ID of the application.

                                                                + */ + appId: string | undefined; +} + +export namespace GetAppValidationOutputRequest { + export const filterSensitiveLog = (obj: GetAppValidationOutputRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                Contains output from validating an instance.

                                                                + */ +export interface ServerValidationOutput { + /** + *

                                                                Represents a server.

                                                                + */ + server?: Server; +} + +export namespace ServerValidationOutput { + export const filterSensitiveLog = (obj: ServerValidationOutput): any => ({ + ...obj, + }); +} + +export enum ValidationStatus { + Failed = "FAILED", + InProgress = "IN_PROGRESS", + Pending = "PENDING", + ReadyForValidation = "READY_FOR_VALIDATION", + Succeeded = "SUCCEEDED", +} + +/** + *

                                                                Contains validation output.

                                                                + */ +export interface ValidationOutput { + /** + *

                                                                The name of the validation.

                                                                + */ + name?: string; + + /** + *

                                                                The status of the validation.

                                                                + */ + status?: ValidationStatus | string; + + /** + *

                                                                The output from validating an application.

                                                                + */ + appValidationOutput?: AppValidationOutput; + + /** + *

                                                                The ID of the validation.

                                                                + */ + validationId?: string; + + /** + *

                                                                The latest time that the validation was performed.

                                                                + */ + latestValidationTime?: Date; + + /** + *

                                                                The status message.

                                                                + */ + statusMessage?: string; + + /** + *

                                                                The output from validation an instance.

                                                                + */ + serverValidationOutput?: ServerValidationOutput; +} + +export namespace ValidationOutput { + export const filterSensitiveLog = (obj: ValidationOutput): any => ({ + ...obj, + }); +} + +export interface GetAppValidationOutputResponse { + /** + *

                                                                The validation output.

                                                                + */ + validationOutputList?: ValidationOutput[]; +} + +export namespace GetAppValidationOutputResponse { + export const filterSensitiveLog = (obj: GetAppValidationOutputResponse): any => ({ + ...obj, + }); +} + export interface GetConnectorsRequest { /** *

                                                                The token for the next set of results.

                                                                @@ -1170,6 +1575,7 @@ export namespace GetConnectorsRequest { export enum ConnectorCapability { hyperVManager = "HYPERV-MANAGER", scvmm = "SCVMM", + smsOptimized = "SMS_OPTIMIZED", snapshotBatching = "SNAPSHOT_BATCHING", vSphere = "VSPHERE", } @@ -1189,24 +1595,29 @@ export interface Connector { vmManagerName?: string; /** - *

                                                                The MAC address of the connector.

                                                                + *

                                                                The ID of the VM manager.

                                                                */ - macAddress?: string; + vmManagerId?: string; /** - *

                                                                The identifier of the connector.

                                                                + *

                                                                The ID of the connector.

                                                                */ connectorId?: string; /** - *

                                                                The identifier of the VM manager.

                                                                + *

                                                                The time the connector was associated.

                                                                */ - vmManagerId?: string; + associatedOn?: Date; /** - *

                                                                The VM management product.

                                                                + *

                                                                The status of the connector.

                                                                */ - vmManagerType?: VmManagerType | string; + status?: ConnectorStatus | string; + + /** + *

                                                                The IP address of the connector.

                                                                + */ + ipAddress?: string; /** *

                                                                The capabilities of the connector.

                                                                @@ -1219,19 +1630,14 @@ export interface Connector { version?: string; /** - *

                                                                The status of the connector.

                                                                - */ - status?: ConnectorStatus | string; - - /** - *

                                                                The time the connector was associated.

                                                                + *

                                                                The MAC address of the connector.

                                                                */ - associatedOn?: Date; + macAddress?: string; /** - *

                                                                The IP address of the connector.

                                                                + *

                                                                The VM management product.

                                                                */ - ipAddress?: string; + vmManagerType?: VmManagerType | string; } export namespace Connector { @@ -1260,6 +1666,11 @@ export namespace GetConnectorsResponse { } export interface GetReplicationJobsRequest { + /** + *

                                                                The ID of the replication job.

                                                                + */ + replicationJobId?: string; + /** *

                                                                The maximum number of results to return in a single call. The default value is 50. * To retrieve the remaining results, make another call with the returned @@ -1267,11 +1678,6 @@ export interface GetReplicationJobsRequest { */ maxResults?: number; - /** - *

                                                                The identifier of the replication job.

                                                                - */ - replicationJobId?: string; - /** *

                                                                The token for the next set of results.

                                                                */ @@ -1289,12 +1695,12 @@ export namespace GetReplicationJobsRequest { */ export interface ReplicationRunStageDetails { /** - *

                                                                String describing the progress of the current stage of a replication run.

                                                                + *

                                                                The progress of the current stage of a replication run.

                                                                */ stageProgress?: string; /** - *

                                                                String describing the current stage of a replication run.

                                                                + *

                                                                The current stage of a replication run.

                                                                */ stage?: string; } @@ -1325,13 +1731,13 @@ export enum ReplicationRunType { */ export interface ReplicationRun { /** - *

                                                                The completion time of the last replication run.

                                                                + *

                                                                The description of the replication run.

                                                                */ - completedTime?: Date; + description?: string; /** - *

                                                                KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the - * following:

                                                                + *

                                                                The ID of the KMS key for replication jobs that produce encrypted AMIs. + * This value can be any of the following:

                                                                *
                                                                  *
                                                                • *

                                                                  KMS key ID

                                                                  @@ -1340,63 +1746,62 @@ export interface ReplicationRun { *

                                                                  KMS key alias

                                                                  *
                                                                • *
                                                                • - *

                                                                  ARN referring to KMS key ID

                                                                  + *

                                                                  ARN referring to the KMS key ID

                                                                  *
                                                                • *
                                                                • - *

                                                                  ARN referring to KMS key alias

                                                                  + *

                                                                  ARN referring to the KMS key alias

                                                                  *
                                                                • *
                                                                - *

                                                                If encrypted is true but a KMS key id is not specified, the - * customer's default KMS key for EBS is used.

                                                                + *

                                                                If encrypted is true but a KMS key ID is not specified, the + * customer's default KMS key for Amazon EBS is used.

                                                                */ kmsKeyId?: string; + /** + *

                                                                Indicates whether the replication run should produce an encrypted AMI.

                                                                + */ + encrypted?: boolean; + /** *

                                                                The state of the replication run.

                                                                */ state?: ReplicationRunState | string; /** - *

                                                                The start time of the next replication run.

                                                                + *

                                                                The ID of the replication run.

                                                                */ - scheduledStartTime?: Date; + replicationRunId?: string; /** - *

                                                                Details of the current stage of the replication run.

                                                                + *

                                                                The type of replication run.

                                                                */ - stageDetails?: ReplicationRunStageDetails; + type?: ReplicationRunType | string; /** - *

                                                                Whether the replication run should produce encrypted AMI or not. See also - * KmsKeyId below.

                                                                + *

                                                                The description of the current status of the replication job.

                                                                */ - encrypted?: boolean; + statusMessage?: string; /** - *

                                                                The identifier of the Amazon Machine Image (AMI) from the replication + *

                                                                The ID of the Amazon Machine Image (AMI) from the replication * run.

                                                                */ amiId?: string; /** - *

                                                                The description of the replication run.

                                                                - */ - description?: string; - - /** - *

                                                                The type of replication run.

                                                                + *

                                                                The completion time of the last replication run.

                                                                */ - type?: ReplicationRunType | string; + completedTime?: Date; /** - *

                                                                The identifier of the replication run.

                                                                + *

                                                                Details about the current stage of the replication run.

                                                                */ - replicationRunId?: string; + stageDetails?: ReplicationRunStageDetails; /** - *

                                                                The description of the current status of the replication job.

                                                                + *

                                                                The start time of the next replication run.

                                                                */ - statusMessage?: string; + scheduledStartTime?: Date; } export namespace ReplicationRun { @@ -1421,14 +1826,14 @@ export enum ReplicationJobState { */ export interface ReplicationJob { /** - *

                                                                The description of the replication job.

                                                                + *

                                                                The ID of the latest Amazon Machine Image (AMI).

                                                                */ - description?: string; + latestAmiId?: string; /** - *

                                                                Information about the replication runs.

                                                                + *

                                                                Information about the VM server.

                                                                */ - replicationRunList?: ReplicationRun[]; + vmServer?: VmServer; /** *

                                                                The state of the replication job.

                                                                @@ -1436,55 +1841,49 @@ export interface ReplicationJob { state?: ReplicationJobState | string; /** - *

                                                                The name of the IAM role to be used by the Server Migration Service.

                                                                + *

                                                                The description of the replication job.

                                                                */ - roleName?: string; + description?: string; /** - *

                                                                + *

                                                                Information about the replication runs.

                                                                */ - runOnce?: boolean; + replicationRunList?: ReplicationRun[]; /** - *

                                                                Information about the VM server.

                                                                + *

                                                                The time between consecutive replication runs, in hours.

                                                                */ - vmServer?: VmServer; + frequency?: number; /** - *

                                                                Number of recent AMIs to keep in the customer's account for a replication job. By - * default the value is set to zero, meaning that all AMIs are kept.

                                                                + *

                                                                The ID of the replication job.

                                                                */ - numberOfRecentAmisToKeep?: number; + replicationJobId?: string; /** - *

                                                                The identifier of the server.

                                                                + *

                                                                The ID of the server.

                                                                */ serverId?: string; /** - *

                                                                The time between consecutive replication runs, in hours.

                                                                - */ - frequency?: number; - - /** - *

                                                                The identifier of the replication job.

                                                                + *

                                                                The start time of the next replication run.

                                                                */ - replicationJobId?: string; + nextReplicationRunStartTime?: Date; /** - *

                                                                The description of the current status of the replication job.

                                                                + *

                                                                The name of the IAM role to be used by AWS SMS.

                                                                */ - statusMessage?: string; + roleName?: string; /** - *

                                                                Whether the replication job should produce encrypted AMIs or not. See also - * KmsKeyId below.

                                                                + *

                                                                The license type to be used for the AMI created by a successful replication + * run.

                                                                */ - encrypted?: boolean; + licenseType?: LicenseType | string; /** - *

                                                                KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the - * following:

                                                                + *

                                                                The ID of the KMS key for replication jobs that produce encrypted AMIs. + * This value can be any of the following:

                                                                *
                                                                  *
                                                                • *

                                                                  KMS key ID

                                                                  @@ -1493,42 +1892,47 @@ export interface ReplicationJob { *

                                                                  KMS key alias

                                                                  *
                                                                • *
                                                                • - *

                                                                  ARN referring to KMS key ID

                                                                  + *

                                                                  ARN referring to the KMS key ID

                                                                  *
                                                                • *
                                                                • - *

                                                                  ARN referring to KMS key alias

                                                                  + *

                                                                  ARN referring to the KMS key alias

                                                                  *
                                                                • *
                                                                - *

                                                                If encrypted is true but a KMS key id is not specified, the - * customer's default KMS key for EBS is used.

                                                                + *

                                                                If encrypted is enabled but a KMS key ID is not specified, the + * customer's default KMS key for Amazon EBS is used.

                                                                */ kmsKeyId?: string; /** - *

                                                                The license type to be used for the AMI created by a successful replication - * run.

                                                                + *

                                                                Indicates whether the replication job should produce encrypted AMIs.

                                                                */ - licenseType?: LicenseType | string; + encrypted?: boolean; /** - *

                                                                The type of server.

                                                                + *

                                                                The number of recent AMIs to keep in the customer's account for a replication job. By + * default, the value is set to zero, meaning that all AMIs are kept.

                                                                */ - serverType?: ServerType | string; + numberOfRecentAmisToKeep?: number; /** - *

                                                                The seed replication time.

                                                                + *

                                                                The description of the current status of the replication job.

                                                                */ - seedReplicationTime?: Date; + statusMessage?: string; /** - *

                                                                The start time of the next replication run.

                                                                + *

                                                                Indicates whether to run the replication job one time.

                                                                */ - nextReplicationRunStartTime?: Date; + runOnce?: boolean; /** - *

                                                                The ID of the latest Amazon Machine Image (AMI).

                                                                + *

                                                                The seed replication time.

                                                                */ - latestAmiId?: string; + seedReplicationTime?: Date; + + /** + *

                                                                The type of server.

                                                                + */ + serverType?: ServerType | string; } export namespace ReplicationJob { @@ -1558,14 +1962,14 @@ export namespace GetReplicationJobsResponse { export interface GetReplicationRunsRequest { /** - *

                                                                The identifier of the replication job.

                                                                + *

                                                                The token for the next set of results.

                                                                */ - replicationJobId: string | undefined; + nextToken?: string; /** - *

                                                                The token for the next set of results.

                                                                + *

                                                                The ID of the replication job.

                                                                */ - nextToken?: string; + replicationJobId: string | undefined; /** *

                                                                The maximum number of results to return in a single call. The default value is 50. @@ -1587,16 +1991,16 @@ export interface GetReplicationRunsResponse { */ replicationJob?: ReplicationJob; - /** - *

                                                                Information about the replication runs.

                                                                - */ - replicationRunList?: ReplicationRun[]; - /** *

                                                                The token required to retrieve the next set of results. This value is null when * there are no more results to return.

                                                                */ nextToken?: string; + + /** + *

                                                                Information about the replication runs.

                                                                + */ + replicationRunList?: ReplicationRun[]; } export namespace GetReplicationRunsResponse { @@ -1607,14 +2011,7 @@ export namespace GetReplicationRunsResponse { export interface GetServersRequest { /** - *

                                                                The maximum number of results to return in a single call. The default value is 50. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                                - */ - maxResults?: number; - - /** - *

                                                                List of VmServerAddress objects

                                                                + *

                                                                The server addresses.

                                                                */ vmServerAddressList?: VmServerAddress[]; @@ -1622,6 +2019,13 @@ export interface GetServersRequest { *

                                                                The token for the next set of results.

                                                                */ nextToken?: string; + + /** + *

                                                                The maximum number of results to return in a single call. The default value is 50. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                                + */ + maxResults?: number; } export namespace GetServersRequest { @@ -1640,15 +2044,14 @@ export enum ServerCatalogStatus { export interface GetServersResponse { /** - *

                                                                The status of the server catalog.

                                                                + *

                                                                The time when the server was last modified.

                                                                */ - serverCatalogStatus?: ServerCatalogStatus | string; + lastModifiedOn?: Date; /** - *

                                                                The token required to retrieve the next set of results. This value is null when - * there are no more results to return.

                                                                + *

                                                                The status of the server catalog.

                                                                */ - nextToken?: string; + serverCatalogStatus?: ServerCatalogStatus | string; /** *

                                                                Information about the servers.

                                                                @@ -1656,9 +2059,10 @@ export interface GetServersResponse { serverList?: Server[]; /** - *

                                                                The time when the server was last modified.

                                                                + *

                                                                The token required to retrieve the next set of results. This value is null when + * there are no more results to return.

                                                                */ - lastModifiedOn?: Date; + nextToken?: string; } export namespace GetServersResponse { @@ -1667,6 +2071,29 @@ export namespace GetServersResponse { }); } +export interface ImportAppCatalogRequest { + /** + *

                                                                The name of the service role. If you omit this parameter, we create a service-linked role + * for AWS Migration Hub in your account. Otherwise, the role that you provide must have the policy + * and trust policy described in the AWS Migration Hub User Guide.

                                                                + */ + roleName?: string; +} + +export namespace ImportAppCatalogRequest { + export const filterSensitiveLog = (obj: ImportAppCatalogRequest): any => ({ + ...obj, + }); +} + +export interface ImportAppCatalogResponse {} + +export namespace ImportAppCatalogResponse { + export const filterSensitiveLog = (obj: ImportAppCatalogResponse): any => ({ + ...obj, + }); +} + export interface ImportServerCatalogRequest {} export namespace ImportServerCatalogRequest { @@ -1685,7 +2112,7 @@ export namespace ImportServerCatalogResponse { export interface LaunchAppRequest { /** - *

                                                                ID of the application to launch.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -1711,17 +2138,16 @@ export interface ListAppsRequest { nextToken?: string; /** - *

                                                                + *

                                                                The maximum number of results to return in a single call. The default value is 100. To + * retrieve the remaining results, make another call with the returned + * NextToken value.

                                                                */ - appIds?: string[]; + maxResults?: number; /** - *

                                                                The maximum number of results to return in a single call. The default value is - * 50. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                                + *

                                                                The unique application IDs.

                                                                */ - maxResults?: number; + appIds?: string[]; } export namespace ListAppsRequest { @@ -1731,16 +2157,16 @@ export namespace ListAppsRequest { } export interface ListAppsResponse { - /** - *

                                                                A list of application summaries.

                                                                - */ - apps?: AppSummary[]; - /** *

                                                                The token required to retrieve the next set of results. This value is null when there * are no more results to return.

                                                                */ nextToken?: string; + + /** + *

                                                                The application summaries.

                                                                + */ + apps?: AppSummary[]; } export namespace ListAppsResponse { @@ -1749,22 +2175,79 @@ export namespace ListAppsResponse { }); } +/** + *

                                                                Contains the status of validating an application.

                                                                + */ +export interface NotificationContext { + /** + *

                                                                The ID of the validation.

                                                                + */ + validationId?: string; + + /** + *

                                                                The status message.

                                                                + */ + statusMessage?: string; + + /** + *

                                                                The status of the validation.

                                                                + */ + status?: ValidationStatus | string; +} + +export namespace NotificationContext { + export const filterSensitiveLog = (obj: NotificationContext): any => ({ + ...obj, + }); +} + +export interface NotifyAppValidationOutputRequest { + /** + *

                                                                The notification information.

                                                                + */ + notificationContext?: NotificationContext; + + /** + *

                                                                The ID of the application.

                                                                + */ + appId: string | undefined; +} + +export namespace NotifyAppValidationOutputRequest { + export const filterSensitiveLog = (obj: NotifyAppValidationOutputRequest): any => ({ + ...obj, + }); +} + +export interface NotifyAppValidationOutputResponse {} + +export namespace NotifyAppValidationOutputResponse { + export const filterSensitiveLog = (obj: NotifyAppValidationOutputResponse): any => ({ + ...obj, + }); +} + export interface PutAppLaunchConfigurationRequest { /** - *

                                                                Launch configurations for server groups in the application.

                                                                + *

                                                                The ID of the application.

                                                                */ - serverGroupLaunchConfigurations?: ServerGroupLaunchConfiguration[]; + appId?: string; /** - *

                                                                Name of service role in the customer's account that Amazon CloudFormation uses to launch the + *

                                                                Indicates whether the application is configured to launch automatically after replication is complete.

                                                                + */ + autoLaunch?: boolean; + + /** + *

                                                                The name of service role in the customer's account that AWS CloudFormation uses to launch the * application.

                                                                */ roleName?: string; /** - *

                                                                ID of the application associated with the launch configuration.

                                                                + *

                                                                Information about the launch configurations for server groups in the application.

                                                                */ - appId?: string; + serverGroupLaunchConfigurations?: ServerGroupLaunchConfiguration[]; } export namespace PutAppLaunchConfigurationRequest { @@ -1783,12 +2266,12 @@ export namespace PutAppLaunchConfigurationResponse { export interface PutAppReplicationConfigurationRequest { /** - *

                                                                Replication configurations for server groups in the application.

                                                                + *

                                                                Information about the replication configurations for server groups in the application.

                                                                */ serverGroupReplicationConfigurations?: ServerGroupReplicationConfiguration[]; /** - *

                                                                ID of the application tassociated with the replication configuration.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -1807,9 +2290,40 @@ export namespace PutAppReplicationConfigurationResponse { }); } +export interface PutAppValidationConfigurationRequest { + /** + *

                                                                The ID of the application.

                                                                + */ + appId: string | undefined; + + /** + *

                                                                The configuration for instance validation.

                                                                + */ + serverGroupValidationConfigurations?: ServerGroupValidationConfiguration[]; + + /** + *

                                                                The configuration for application validation.

                                                                + */ + appValidationConfigurations?: AppValidationConfiguration[]; +} + +export namespace PutAppValidationConfigurationRequest { + export const filterSensitiveLog = (obj: PutAppValidationConfigurationRequest): any => ({ + ...obj, + }); +} + +export interface PutAppValidationConfigurationResponse {} + +export namespace PutAppValidationConfigurationResponse { + export const filterSensitiveLog = (obj: PutAppValidationConfigurationResponse): any => ({ + ...obj, + }); +} + export interface StartAppReplicationRequest { /** - *

                                                                ID of the application to replicate.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -1828,6 +2342,48 @@ export namespace StartAppReplicationResponse { }); } +export interface StartOnDemandAppReplicationRequest { + /** + *

                                                                The ID of the application.

                                                                + */ + appId: string | undefined; + + /** + *

                                                                The description of the replication run.

                                                                + */ + description?: string; +} + +export namespace StartOnDemandAppReplicationRequest { + export const filterSensitiveLog = (obj: StartOnDemandAppReplicationRequest): any => ({ + ...obj, + }); +} + +export interface StartOnDemandAppReplicationResponse {} + +export namespace StartOnDemandAppReplicationResponse { + export const filterSensitiveLog = (obj: StartOnDemandAppReplicationResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                The user has the required permissions, so the request would have succeeded, + * but a dry run was performed.

                                                                + */ +export interface DryRunOperationException extends __SmithyException, $MetadataBearer { + name: "DryRunOperationException"; + $fault: "client"; + message?: string; +} + +export namespace DryRunOperationException { + export const filterSensitiveLog = (obj: DryRunOperationException): any => ({ + ...obj, + }); +} + /** *

                                                                You have exceeded the number of on-demand replication runs you can request in a * 24-hour period.

                                                                @@ -1846,7 +2402,7 @@ export namespace ReplicationRunLimitExceededException { export interface StartOnDemandReplicationRunRequest { /** - *

                                                                The identifier of the replication job.

                                                                + *

                                                                The ID of the replication job.

                                                                */ replicationJobId: string | undefined; @@ -1864,7 +2420,7 @@ export namespace StartOnDemandReplicationRunRequest { export interface StartOnDemandReplicationRunResponse { /** - *

                                                                The identifier of the replication run.

                                                                + *

                                                                The ID of the replication run.

                                                                */ replicationRunId?: string; } @@ -1877,7 +2433,7 @@ export namespace StartOnDemandReplicationRunResponse { export interface StopAppReplicationRequest { /** - *

                                                                ID of the application to stop replicating.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -1898,7 +2454,7 @@ export namespace StopAppReplicationResponse { export interface TerminateAppRequest { /** - *

                                                                ID of the application to terminate.

                                                                + *

                                                                The ID of the application.

                                                                */ appId?: string; } @@ -1919,34 +2475,34 @@ export namespace TerminateAppResponse { export interface UpdateAppRequest { /** - *

                                                                Name of the service role in the customer's account used by AWS SMS.

                                                                + *

                                                                The new description of the application.

                                                                */ - roleName?: string; + description?: string; /** - *

                                                                New name of the application.

                                                                + *

                                                                The new name of the application.

                                                                */ name?: string; /** - *

                                                                ID of the application to update.

                                                                + *

                                                                The name of the service role in the customer's account used by AWS SMS.

                                                                */ - appId?: string; + roleName?: string; /** - *

                                                                List of server groups in the application to update.

                                                                + *

                                                                The tags to associate with the application.

                                                                */ - serverGroups?: ServerGroup[]; + tags?: Tag[]; /** - *

                                                                List of tags to associate with the application.

                                                                + *

                                                                The server groups in the application to update.

                                                                */ - tags?: Tag[]; + serverGroups?: ServerGroup[]; /** - *

                                                                New description of the application.

                                                                + *

                                                                The ID of the application.

                                                                */ - description?: string; + appId?: string; } export namespace UpdateAppRequest { @@ -1957,17 +2513,17 @@ export namespace UpdateAppRequest { export interface UpdateAppResponse { /** - *

                                                                Summary description of the application.

                                                                + *

                                                                A summary description of the application.

                                                                */ appSummary?: AppSummary; /** - *

                                                                List of tags associated with the application.

                                                                + *

                                                                The tags associated with the application.

                                                                */ tags?: Tag[]; /** - *

                                                                List of updated server groups in the application.

                                                                + *

                                                                The updated server groups in the application.

                                                                */ serverGroups?: ServerGroup[]; } @@ -1980,10 +2536,10 @@ export namespace UpdateAppResponse { export interface UpdateReplicationJobRequest { /** - *

                                                                When true, the replication job produces encrypted AMIs . See also - * KmsKeyId below.

                                                                + *

                                                                The maximum number of SMS-created AMIs to retain. The oldest is deleted after the + * maximum number is reached and a new AMI is created.

                                                                */ - encrypted?: boolean; + numberOfRecentAmisToKeep?: number; /** *

                                                                The license type to be used for the AMI created by a successful replication @@ -1992,20 +2548,8 @@ export interface UpdateReplicationJobRequest { licenseType?: LicenseType | string; /** - *

                                                                The maximum number of SMS-created AMIs to retain. The oldest will be deleted once the - * maximum number is reached and a new AMI is created.

                                                                - */ - numberOfRecentAmisToKeep?: number; - - /** - *

                                                                The start time of the next replication run.

                                                                - */ - nextReplicationRunStartTime?: Date; - - /** - *

                                                                - *

                                                                KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the - * following:

                                                                + *

                                                                The ID of the KMS key for replication jobs that produce encrypted AMIs. + * This value can be any of the following:

                                                                *
                                                                  *
                                                                • *

                                                                  KMS key ID

                                                                  @@ -2014,17 +2558,22 @@ export interface UpdateReplicationJobRequest { *

                                                                  KMS key alias

                                                                  *
                                                                • *
                                                                • - *

                                                                  ARN referring to KMS key ID

                                                                  + *

                                                                  ARN referring to the KMS key ID

                                                                  *
                                                                • *
                                                                • - *

                                                                  ARN referring to KMS key alias

                                                                  + *

                                                                  ARN referring to the KMS key alias

                                                                  *
                                                                • *
                                                                - *

                                                                If encrypted is true but a KMS key id is not specified, the - * customer's default KMS key for EBS is used.

                                                                + *

                                                                If encrypted is enabled but a KMS key ID is not specified, the + * customer's default KMS key for Amazon EBS is used.

                                                                */ kmsKeyId?: string; + /** + *

                                                                The start time of the next replication run.

                                                                + */ + nextReplicationRunStartTime?: Date; + /** *

                                                                The name of the IAM role to be used by AWS SMS.

                                                                */ @@ -2036,10 +2585,16 @@ export interface UpdateReplicationJobRequest { frequency?: number; /** - *

                                                                The identifier of the replication job.

                                                                + *

                                                                The ID of the replication job.

                                                                */ replicationJobId: string | undefined; + /** + *

                                                                When true, the replication job produces encrypted AMIs. For more information, + * KmsKeyId.

                                                                + */ + encrypted?: boolean; + /** *

                                                                The description of the replication job.

                                                                */ diff --git a/clients/client-sms/protocols/Aws_json1_1.ts b/clients/client-sms/protocols/Aws_json1_1.ts index 04bcfa201ebe..62ac084b9b97 100644 --- a/clients/client-sms/protocols/Aws_json1_1.ts +++ b/clients/client-sms/protocols/Aws_json1_1.ts @@ -12,6 +12,10 @@ import { DeleteAppReplicationConfigurationCommandInput, DeleteAppReplicationConfigurationCommandOutput, } from "../commands/DeleteAppReplicationConfigurationCommand"; +import { + DeleteAppValidationConfigurationCommandInput, + DeleteAppValidationConfigurationCommandOutput, +} from "../commands/DeleteAppValidationConfigurationCommand"; import { DeleteReplicationJobCommandInput, DeleteReplicationJobCommandOutput, @@ -35,16 +39,29 @@ import { GetAppReplicationConfigurationCommandInput, GetAppReplicationConfigurationCommandOutput, } from "../commands/GetAppReplicationConfigurationCommand"; +import { + GetAppValidationConfigurationCommandInput, + GetAppValidationConfigurationCommandOutput, +} from "../commands/GetAppValidationConfigurationCommand"; +import { + GetAppValidationOutputCommandInput, + GetAppValidationOutputCommandOutput, +} from "../commands/GetAppValidationOutputCommand"; import { GetConnectorsCommandInput, GetConnectorsCommandOutput } from "../commands/GetConnectorsCommand"; import { GetReplicationJobsCommandInput, GetReplicationJobsCommandOutput } from "../commands/GetReplicationJobsCommand"; import { GetReplicationRunsCommandInput, GetReplicationRunsCommandOutput } from "../commands/GetReplicationRunsCommand"; import { GetServersCommandInput, GetServersCommandOutput } from "../commands/GetServersCommand"; +import { ImportAppCatalogCommandInput, ImportAppCatalogCommandOutput } from "../commands/ImportAppCatalogCommand"; import { ImportServerCatalogCommandInput, ImportServerCatalogCommandOutput, } from "../commands/ImportServerCatalogCommand"; import { LaunchAppCommandInput, LaunchAppCommandOutput } from "../commands/LaunchAppCommand"; import { ListAppsCommandInput, ListAppsCommandOutput } from "../commands/ListAppsCommand"; +import { + NotifyAppValidationOutputCommandInput, + NotifyAppValidationOutputCommandOutput, +} from "../commands/NotifyAppValidationOutputCommand"; import { PutAppLaunchConfigurationCommandInput, PutAppLaunchConfigurationCommandOutput, @@ -53,10 +70,18 @@ import { PutAppReplicationConfigurationCommandInput, PutAppReplicationConfigurationCommandOutput, } from "../commands/PutAppReplicationConfigurationCommand"; +import { + PutAppValidationConfigurationCommandInput, + PutAppValidationConfigurationCommandOutput, +} from "../commands/PutAppValidationConfigurationCommand"; import { StartAppReplicationCommandInput, StartAppReplicationCommandOutput, } from "../commands/StartAppReplicationCommand"; +import { + StartOnDemandAppReplicationCommandInput, + StartOnDemandAppReplicationCommandOutput, +} from "../commands/StartOnDemandAppReplicationCommand"; import { StartOnDemandReplicationRunCommandInput, StartOnDemandReplicationRunCommandOutput, @@ -70,6 +95,8 @@ import { } from "../commands/UpdateReplicationJobCommand"; import { AppSummary, + AppValidationConfiguration, + AppValidationOutput, Connector, ConnectorCapability, CreateAppRequest, @@ -82,12 +109,15 @@ import { DeleteAppReplicationConfigurationResponse, DeleteAppRequest, DeleteAppResponse, + DeleteAppValidationConfigurationRequest, + DeleteAppValidationConfigurationResponse, DeleteReplicationJobRequest, DeleteReplicationJobResponse, DeleteServerCatalogRequest, DeleteServerCatalogResponse, DisassociateConnectorRequest, DisassociateConnectorResponse, + DryRunOperationException, GenerateChangeSetRequest, GenerateChangeSetResponse, GenerateTemplateRequest, @@ -98,6 +128,10 @@ import { GetAppReplicationConfigurationResponse, GetAppRequest, GetAppResponse, + GetAppValidationConfigurationRequest, + GetAppValidationConfigurationResponse, + GetAppValidationOutputRequest, + GetAppValidationOutputResponse, GetConnectorsRequest, GetConnectorsResponse, GetReplicationJobsRequest, @@ -106,6 +140,8 @@ import { GetReplicationRunsResponse, GetServersRequest, GetServersResponse, + ImportAppCatalogRequest, + ImportAppCatalogResponse, ImportServerCatalogRequest, ImportServerCatalogResponse, InternalError, @@ -117,11 +153,16 @@ import { ListAppsResponse, MissingRequiredParameterException, NoConnectorsAvailableException, + NotificationContext, + NotifyAppValidationOutputRequest, + NotifyAppValidationOutputResponse, OperationNotPermittedException, PutAppLaunchConfigurationRequest, PutAppLaunchConfigurationResponse, PutAppReplicationConfigurationRequest, PutAppReplicationConfigurationResponse, + PutAppValidationConfigurationRequest, + PutAppValidationConfigurationResponse, ReplicationJob, ReplicationJobAlreadyExistsException, ReplicationJobNotFoundException, @@ -129,16 +170,24 @@ import { ReplicationRunLimitExceededException, ReplicationRunStageDetails, S3Location, + SSMOutput, + SSMValidationParameters, Server, ServerCannotBeReplicatedException, ServerGroup, ServerGroupLaunchConfiguration, ServerGroupReplicationConfiguration, + ServerGroupValidationConfiguration, ServerLaunchConfiguration, ServerReplicationConfiguration, ServerReplicationParameters, + ServerValidationConfiguration, + ServerValidationOutput, + Source, StartAppReplicationRequest, StartAppReplicationResponse, + StartOnDemandAppReplicationRequest, + StartOnDemandAppReplicationResponse, StartOnDemandReplicationRunRequest, StartOnDemandReplicationRunResponse, StopAppReplicationRequest, @@ -153,6 +202,8 @@ import { UpdateReplicationJobRequest, UpdateReplicationJobResponse, UserData, + UserDataValidationParameters, + ValidationOutput, VmServer, VmServerAddress, } from "../models/models_0"; @@ -231,6 +282,19 @@ export const serializeAws_json1_1DeleteAppReplicationConfigurationCommand = asyn return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteAppValidationConfigurationCommand = async ( + input: DeleteAppValidationConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSServerMigrationService_V2016_10_24.DeleteAppValidationConfiguration", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteAppValidationConfigurationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteReplicationJobCommand = async ( input: DeleteReplicationJobCommandInput, context: __SerdeContext @@ -335,6 +399,32 @@ export const serializeAws_json1_1GetAppReplicationConfigurationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetAppValidationConfigurationCommand = async ( + input: GetAppValidationConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSServerMigrationService_V2016_10_24.GetAppValidationConfiguration", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetAppValidationConfigurationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetAppValidationOutputCommand = async ( + input: GetAppValidationOutputCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSServerMigrationService_V2016_10_24.GetAppValidationOutput", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetAppValidationOutputRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetConnectorsCommand = async ( input: GetConnectorsCommandInput, context: __SerdeContext @@ -387,6 +477,19 @@ export const serializeAws_json1_1GetServersCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ImportAppCatalogCommand = async ( + input: ImportAppCatalogCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSServerMigrationService_V2016_10_24.ImportAppCatalog", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ImportAppCatalogRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ImportServerCatalogCommand = async ( input: ImportServerCatalogCommandInput, context: __SerdeContext @@ -426,6 +529,19 @@ export const serializeAws_json1_1ListAppsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1NotifyAppValidationOutputCommand = async ( + input: NotifyAppValidationOutputCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSServerMigrationService_V2016_10_24.NotifyAppValidationOutput", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1NotifyAppValidationOutputRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1PutAppLaunchConfigurationCommand = async ( input: PutAppLaunchConfigurationCommandInput, context: __SerdeContext @@ -452,6 +568,19 @@ export const serializeAws_json1_1PutAppReplicationConfigurationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1PutAppValidationConfigurationCommand = async ( + input: PutAppValidationConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSServerMigrationService_V2016_10_24.PutAppValidationConfiguration", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1PutAppValidationConfigurationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1StartAppReplicationCommand = async ( input: StartAppReplicationCommandInput, context: __SerdeContext @@ -465,6 +594,19 @@ export const serializeAws_json1_1StartAppReplicationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StartOnDemandAppReplicationCommand = async ( + input: StartOnDemandAppReplicationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSServerMigrationService_V2016_10_24.StartOnDemandAppReplication", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StartOnDemandAppReplicationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1StartOnDemandReplicationRunCommand = async ( input: StartOnDemandReplicationRunCommandInput, context: __SerdeContext @@ -997,6 +1139,93 @@ const deserializeAws_json1_1DeleteAppReplicationConfigurationCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeleteAppValidationConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteAppValidationConfigurationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteAppValidationConfigurationResponse(data, context); + const response: DeleteAppValidationConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteAppValidationConfigurationCommandError = 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 "InternalError": + case "com.amazonaws.sms#InternalError": + response = { + ...(await deserializeAws_json1_1InternalErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.sms#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "MissingRequiredParameterException": + case "com.amazonaws.sms#MissingRequiredParameterException": + response = { + ...(await deserializeAws_json1_1MissingRequiredParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotPermittedException": + case "com.amazonaws.sms#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedOperationException": + case "com.amazonaws.sms#UnauthorizedOperationException": + response = { + ...(await deserializeAws_json1_1UnauthorizedOperationExceptionResponse(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_1DeleteReplicationJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1677,27 +1906,27 @@ const deserializeAws_json1_1GetAppReplicationConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetConnectorsCommand = async ( +export const deserializeAws_json1_1GetAppValidationConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetConnectorsCommandError(output, context); + return deserializeAws_json1_1GetAppValidationConfigurationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetConnectorsResponse(data, context); - const response: GetConnectorsCommandOutput = { + contents = deserializeAws_json1_1GetAppValidationConfigurationResponse(data, context); + const response: GetAppValidationConfigurationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetConnectorsCommandError = async ( +const deserializeAws_json1_1GetAppValidationConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1707,61 +1936,14 @@ const deserializeAws_json1_1GetConnectorsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "UnauthorizedOperationException": - case "com.amazonaws.sms#UnauthorizedOperationException": + case "InternalError": + case "com.amazonaws.sms#InternalError": response = { - ...(await deserializeAws_json1_1UnauthorizedOperationExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InternalErrorResponse(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_1GetReplicationJobsCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_json1_1GetReplicationJobsCommandError(output, context); - } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_json1_1GetReplicationJobsResponse(data, context); - const response: GetReplicationJobsCommandOutput = { - $metadata: deserializeMetadata(output), - ...contents, - }; - return Promise.resolve(response); -}; - -const deserializeAws_json1_1GetReplicationJobsCommandError = 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 "InvalidParameterException": case "com.amazonaws.sms#InvalidParameterException": response = { @@ -1778,6 +1960,14 @@ const deserializeAws_json1_1GetReplicationJobsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationNotPermittedException": + case "com.amazonaws.sms#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "UnauthorizedOperationException": case "com.amazonaws.sms#UnauthorizedOperationException": response = { @@ -1803,27 +1993,27 @@ const deserializeAws_json1_1GetReplicationJobsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetReplicationRunsCommand = async ( +export const deserializeAws_json1_1GetAppValidationOutputCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetReplicationRunsCommandError(output, context); + return deserializeAws_json1_1GetAppValidationOutputCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetReplicationRunsResponse(data, context); - const response: GetReplicationRunsCommandOutput = { + contents = deserializeAws_json1_1GetAppValidationOutputResponse(data, context); + const response: GetAppValidationOutputCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetReplicationRunsCommandError = async ( +const deserializeAws_json1_1GetAppValidationOutputCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1833,6 +2023,14 @@ const deserializeAws_json1_1GetReplicationRunsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InternalError": + case "com.amazonaws.sms#InternalError": + response = { + ...(await deserializeAws_json1_1InternalErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidParameterException": case "com.amazonaws.sms#InvalidParameterException": response = { @@ -1849,6 +2047,14 @@ const deserializeAws_json1_1GetReplicationRunsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationNotPermittedException": + case "com.amazonaws.sms#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "UnauthorizedOperationException": case "com.amazonaws.sms#UnauthorizedOperationException": response = { @@ -1874,27 +2080,27 @@ const deserializeAws_json1_1GetReplicationRunsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetServersCommand = async ( +export const deserializeAws_json1_1GetConnectorsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetServersCommandError(output, context); + return deserializeAws_json1_1GetConnectorsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetServersResponse(data, context); - const response: GetServersCommandOutput = { + contents = deserializeAws_json1_1GetConnectorsResponse(data, context); + const response: GetConnectorsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetServersCommandError = async ( +const deserializeAws_json1_1GetConnectorsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1929,27 +2135,422 @@ const deserializeAws_json1_1GetServersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ImportServerCatalogCommand = async ( +export const deserializeAws_json1_1GetReplicationJobsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetReplicationJobsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetReplicationJobsResponse(data, context); + const response: GetReplicationJobsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetReplicationJobsCommandError = 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 "InvalidParameterException": + case "com.amazonaws.sms#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "MissingRequiredParameterException": + case "com.amazonaws.sms#MissingRequiredParameterException": + response = { + ...(await deserializeAws_json1_1MissingRequiredParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedOperationException": + case "com.amazonaws.sms#UnauthorizedOperationException": + response = { + ...(await deserializeAws_json1_1UnauthorizedOperationExceptionResponse(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_1GetReplicationRunsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetReplicationRunsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetReplicationRunsResponse(data, context); + const response: GetReplicationRunsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetReplicationRunsCommandError = 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 "InvalidParameterException": + case "com.amazonaws.sms#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "MissingRequiredParameterException": + case "com.amazonaws.sms#MissingRequiredParameterException": + response = { + ...(await deserializeAws_json1_1MissingRequiredParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedOperationException": + case "com.amazonaws.sms#UnauthorizedOperationException": + response = { + ...(await deserializeAws_json1_1UnauthorizedOperationExceptionResponse(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_1GetServersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetServersCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetServersResponse(data, context); + const response: GetServersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetServersCommandError = 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 "InternalError": + case "com.amazonaws.sms#InternalError": + response = { + ...(await deserializeAws_json1_1InternalErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.sms#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "MissingRequiredParameterException": + case "com.amazonaws.sms#MissingRequiredParameterException": + response = { + ...(await deserializeAws_json1_1MissingRequiredParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedOperationException": + case "com.amazonaws.sms#UnauthorizedOperationException": + response = { + ...(await deserializeAws_json1_1UnauthorizedOperationExceptionResponse(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_1ImportAppCatalogCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ImportAppCatalogCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ImportAppCatalogResponse(data, context); + const response: ImportAppCatalogCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ImportAppCatalogCommandError = 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 "InternalError": + case "com.amazonaws.sms#InternalError": + response = { + ...(await deserializeAws_json1_1InternalErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.sms#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "MissingRequiredParameterException": + case "com.amazonaws.sms#MissingRequiredParameterException": + response = { + ...(await deserializeAws_json1_1MissingRequiredParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotPermittedException": + case "com.amazonaws.sms#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedOperationException": + case "com.amazonaws.sms#UnauthorizedOperationException": + response = { + ...(await deserializeAws_json1_1UnauthorizedOperationExceptionResponse(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_1ImportServerCatalogCommand = async ( output: __HttpResponse, context: __SerdeContext ): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ImportServerCatalogCommandError(output, context); + return deserializeAws_json1_1ImportServerCatalogCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ImportServerCatalogResponse(data, context); + const response: ImportServerCatalogCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ImportServerCatalogCommandError = 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 "InvalidParameterException": + case "com.amazonaws.sms#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "MissingRequiredParameterException": + case "com.amazonaws.sms#MissingRequiredParameterException": + response = { + ...(await deserializeAws_json1_1MissingRequiredParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NoConnectorsAvailableException": + case "com.amazonaws.sms#NoConnectorsAvailableException": + response = { + ...(await deserializeAws_json1_1NoConnectorsAvailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotPermittedException": + case "com.amazonaws.sms#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedOperationException": + case "com.amazonaws.sms#UnauthorizedOperationException": + response = { + ...(await deserializeAws_json1_1UnauthorizedOperationExceptionResponse(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_1LaunchAppCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1LaunchAppCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ImportServerCatalogResponse(data, context); - const response: ImportServerCatalogCommandOutput = { + contents = deserializeAws_json1_1LaunchAppResponse(data, context); + const response: LaunchAppCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ImportServerCatalogCommandError = async ( +const deserializeAws_json1_1LaunchAppCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1959,6 +2560,14 @@ const deserializeAws_json1_1ImportServerCatalogCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InternalError": + case "com.amazonaws.sms#InternalError": + response = { + ...(await deserializeAws_json1_1InternalErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidParameterException": case "com.amazonaws.sms#InvalidParameterException": response = { @@ -1975,14 +2584,6 @@ const deserializeAws_json1_1ImportServerCatalogCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NoConnectorsAvailableException": - case "com.amazonaws.sms#NoConnectorsAvailableException": - response = { - ...(await deserializeAws_json1_1NoConnectorsAvailableExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "OperationNotPermittedException": case "com.amazonaws.sms#OperationNotPermittedException": response = { @@ -2016,27 +2617,27 @@ const deserializeAws_json1_1ImportServerCatalogCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1LaunchAppCommand = async ( +export const deserializeAws_json1_1ListAppsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1LaunchAppCommandError(output, context); + return deserializeAws_json1_1ListAppsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1LaunchAppResponse(data, context); - const response: LaunchAppCommandOutput = { + contents = deserializeAws_json1_1ListAppsResponse(data, context); + const response: ListAppsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1LaunchAppCommandError = async ( +const deserializeAws_json1_1ListAppsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2103,27 +2704,27 @@ const deserializeAws_json1_1LaunchAppCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListAppsCommand = async ( +export const deserializeAws_json1_1NotifyAppValidationOutputCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListAppsCommandError(output, context); + return deserializeAws_json1_1NotifyAppValidationOutputCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListAppsResponse(data, context); - const response: ListAppsCommandOutput = { + contents = deserializeAws_json1_1NotifyAppValidationOutputResponse(data, context); + const response: NotifyAppValidationOutputCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListAppsCommandError = async ( +const deserializeAws_json1_1NotifyAppValidationOutputCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2364,6 +2965,93 @@ const deserializeAws_json1_1PutAppReplicationConfigurationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1PutAppValidationConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1PutAppValidationConfigurationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1PutAppValidationConfigurationResponse(data, context); + const response: PutAppValidationConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1PutAppValidationConfigurationCommandError = 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 "InternalError": + case "com.amazonaws.sms#InternalError": + response = { + ...(await deserializeAws_json1_1InternalErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.sms#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "MissingRequiredParameterException": + case "com.amazonaws.sms#MissingRequiredParameterException": + response = { + ...(await deserializeAws_json1_1MissingRequiredParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotPermittedException": + case "com.amazonaws.sms#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedOperationException": + case "com.amazonaws.sms#UnauthorizedOperationException": + response = { + ...(await deserializeAws_json1_1UnauthorizedOperationExceptionResponse(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_1StartAppReplicationCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2451,6 +3139,93 @@ const deserializeAws_json1_1StartAppReplicationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1StartOnDemandAppReplicationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1StartOnDemandAppReplicationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1StartOnDemandAppReplicationResponse(data, context); + const response: StartOnDemandAppReplicationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1StartOnDemandAppReplicationCommandError = 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 "InternalError": + case "com.amazonaws.sms#InternalError": + response = { + ...(await deserializeAws_json1_1InternalErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.sms#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "MissingRequiredParameterException": + case "com.amazonaws.sms#MissingRequiredParameterException": + response = { + ...(await deserializeAws_json1_1MissingRequiredParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotPermittedException": + case "com.amazonaws.sms#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedOperationException": + case "com.amazonaws.sms#UnauthorizedOperationException": + response = { + ...(await deserializeAws_json1_1UnauthorizedOperationExceptionResponse(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_1StartOnDemandReplicationRunCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2481,6 +3256,14 @@ const deserializeAws_json1_1StartOnDemandReplicationRunCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "DryRunOperationException": + case "com.amazonaws.sms#DryRunOperationException": + response = { + ...(await deserializeAws_json1_1DryRunOperationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidParameterException": case "com.amazonaws.sms#InvalidParameterException": response = { @@ -2910,6 +3693,21 @@ const deserializeAws_json1_1UpdateReplicationJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +const deserializeAws_json1_1DryRunOperationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1DryRunOperationException(body, context); + const contents: DryRunOperationException = { + name: "DryRunOperationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1InternalErrorResponse = async ( parsedOutput: any, context: __SerdeContext @@ -3079,6 +3877,27 @@ const serializeAws_json1_1AppIds = (input: string[], context: __SerdeContext): a return input.map((entry) => entry); }; +const serializeAws_json1_1AppValidationConfiguration = ( + input: AppValidationConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.appValidationStrategy !== undefined && { appValidationStrategy: input.appValidationStrategy }), + ...(input.name !== undefined && { name: input.name }), + ...(input.ssmValidationParameters !== undefined && { + ssmValidationParameters: serializeAws_json1_1SSMValidationParameters(input.ssmValidationParameters, context), + }), + ...(input.validationId !== undefined && { validationId: input.validationId }), + }; +}; + +const serializeAws_json1_1AppValidationConfigurations = ( + input: AppValidationConfiguration[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_json1_1AppValidationConfiguration(entry, context)); +}; + const serializeAws_json1_1CreateAppRequest = (input: CreateAppRequest, context: __SerdeContext): any => { return { ...(input.clientToken !== undefined && { clientToken: input.clientToken }), @@ -3130,11 +3949,20 @@ const serializeAws_json1_1DeleteAppReplicationConfigurationRequest = ( }; }; -const serializeAws_json1_1DeleteAppRequest = (input: DeleteAppRequest, context: __SerdeContext): any => { +const serializeAws_json1_1DeleteAppRequest = (input: DeleteAppRequest, context: __SerdeContext): any => { + return { + ...(input.appId !== undefined && { appId: input.appId }), + ...(input.forceStopAppReplication !== undefined && { forceStopAppReplication: input.forceStopAppReplication }), + ...(input.forceTerminateApp !== undefined && { forceTerminateApp: input.forceTerminateApp }), + }; +}; + +const serializeAws_json1_1DeleteAppValidationConfigurationRequest = ( + input: DeleteAppValidationConfigurationRequest, + context: __SerdeContext +): any => { return { ...(input.appId !== undefined && { appId: input.appId }), - ...(input.forceStopAppReplication !== undefined && { forceStopAppReplication: input.forceStopAppReplication }), - ...(input.forceTerminateApp !== undefined && { forceTerminateApp: input.forceTerminateApp }), }; }; @@ -3204,6 +4032,24 @@ const serializeAws_json1_1GetAppRequest = (input: GetAppRequest, context: __Serd }; }; +const serializeAws_json1_1GetAppValidationConfigurationRequest = ( + input: GetAppValidationConfigurationRequest, + context: __SerdeContext +): any => { + return { + ...(input.appId !== undefined && { appId: input.appId }), + }; +}; + +const serializeAws_json1_1GetAppValidationOutputRequest = ( + input: GetAppValidationOutputRequest, + context: __SerdeContext +): any => { + return { + ...(input.appId !== undefined && { appId: input.appId }), + }; +}; + const serializeAws_json1_1GetConnectorsRequest = (input: GetConnectorsRequest, context: __SerdeContext): any => { return { ...(input.maxResults !== undefined && { maxResults: input.maxResults }), @@ -3243,6 +4089,12 @@ const serializeAws_json1_1GetServersRequest = (input: GetServersRequest, context }; }; +const serializeAws_json1_1ImportAppCatalogRequest = (input: ImportAppCatalogRequest, context: __SerdeContext): any => { + return { + ...(input.roleName !== undefined && { roleName: input.roleName }), + }; +}; + const serializeAws_json1_1ImportServerCatalogRequest = ( input: ImportServerCatalogRequest, context: __SerdeContext @@ -3264,12 +4116,33 @@ const serializeAws_json1_1ListAppsRequest = (input: ListAppsRequest, context: __ }; }; +const serializeAws_json1_1NotificationContext = (input: NotificationContext, context: __SerdeContext): any => { + return { + ...(input.status !== undefined && { status: input.status }), + ...(input.statusMessage !== undefined && { statusMessage: input.statusMessage }), + ...(input.validationId !== undefined && { validationId: input.validationId }), + }; +}; + +const serializeAws_json1_1NotifyAppValidationOutputRequest = ( + input: NotifyAppValidationOutputRequest, + context: __SerdeContext +): any => { + return { + ...(input.appId !== undefined && { appId: input.appId }), + ...(input.notificationContext !== undefined && { + notificationContext: serializeAws_json1_1NotificationContext(input.notificationContext, context), + }), + }; +}; + const serializeAws_json1_1PutAppLaunchConfigurationRequest = ( input: PutAppLaunchConfigurationRequest, context: __SerdeContext ): any => { return { ...(input.appId !== undefined && { appId: input.appId }), + ...(input.autoLaunch !== undefined && { autoLaunch: input.autoLaunch }), ...(input.roleName !== undefined && { roleName: input.roleName }), ...(input.serverGroupLaunchConfigurations !== undefined && { serverGroupLaunchConfigurations: serializeAws_json1_1ServerGroupLaunchConfigurations( @@ -3295,6 +4168,27 @@ const serializeAws_json1_1PutAppReplicationConfigurationRequest = ( }; }; +const serializeAws_json1_1PutAppValidationConfigurationRequest = ( + input: PutAppValidationConfigurationRequest, + context: __SerdeContext +): any => { + return { + ...(input.appId !== undefined && { appId: input.appId }), + ...(input.appValidationConfigurations !== undefined && { + appValidationConfigurations: serializeAws_json1_1AppValidationConfigurations( + input.appValidationConfigurations, + context + ), + }), + ...(input.serverGroupValidationConfigurations !== undefined && { + serverGroupValidationConfigurations: serializeAws_json1_1ServerGroupValidationConfigurations( + input.serverGroupValidationConfigurations, + context + ), + }), + }; +}; + const serializeAws_json1_1S3Location = (input: S3Location, context: __SerdeContext): any => { return { ...(input.bucket !== undefined && { bucket: input.bucket }), @@ -3369,13 +4263,40 @@ const serializeAws_json1_1ServerGroups = (input: ServerGroup[], context: __Serde return input.map((entry) => serializeAws_json1_1ServerGroup(entry, context)); }; +const serializeAws_json1_1ServerGroupValidationConfiguration = ( + input: ServerGroupValidationConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.serverGroupId !== undefined && { serverGroupId: input.serverGroupId }), + ...(input.serverValidationConfigurations !== undefined && { + serverValidationConfigurations: serializeAws_json1_1ServerValidationConfigurations( + input.serverValidationConfigurations, + context + ), + }), + }; +}; + +const serializeAws_json1_1ServerGroupValidationConfigurations = ( + input: ServerGroupValidationConfiguration[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_json1_1ServerGroupValidationConfiguration(entry, context)); +}; + const serializeAws_json1_1ServerLaunchConfiguration = ( input: ServerLaunchConfiguration, context: __SerdeContext ): any => { return { ...(input.associatePublicIpAddress !== undefined && { associatePublicIpAddress: input.associatePublicIpAddress }), + ...(input.configureScript !== undefined && { + configureScript: serializeAws_json1_1S3Location(input.configureScript, context), + }), + ...(input.configureScriptType !== undefined && { configureScriptType: input.configureScriptType }), ...(input.ec2KeyName !== undefined && { ec2KeyName: input.ec2KeyName }), + ...(input.iamInstanceProfileName !== undefined && { iamInstanceProfileName: input.iamInstanceProfileName }), ...(input.instanceType !== undefined && { instanceType: input.instanceType }), ...(input.logicalId !== undefined && { logicalId: input.logicalId }), ...(input.securityGroup !== undefined && { securityGroup: input.securityGroup }), @@ -3434,6 +4355,48 @@ const serializeAws_json1_1ServerReplicationParameters = ( }; }; +const serializeAws_json1_1ServerValidationConfiguration = ( + input: ServerValidationConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.name !== undefined && { name: input.name }), + ...(input.server !== undefined && { server: serializeAws_json1_1Server(input.server, context) }), + ...(input.serverValidationStrategy !== undefined && { serverValidationStrategy: input.serverValidationStrategy }), + ...(input.userDataValidationParameters !== undefined && { + userDataValidationParameters: serializeAws_json1_1UserDataValidationParameters( + input.userDataValidationParameters, + context + ), + }), + ...(input.validationId !== undefined && { validationId: input.validationId }), + }; +}; + +const serializeAws_json1_1ServerValidationConfigurations = ( + input: ServerValidationConfiguration[], + context: __SerdeContext +): any => { + return input.map((entry) => serializeAws_json1_1ServerValidationConfiguration(entry, context)); +}; + +const serializeAws_json1_1Source = (input: Source, context: __SerdeContext): any => { + return { + ...(input.s3Location !== undefined && { s3Location: serializeAws_json1_1S3Location(input.s3Location, context) }), + }; +}; + +const serializeAws_json1_1SSMValidationParameters = (input: SSMValidationParameters, context: __SerdeContext): any => { + return { + ...(input.command !== undefined && { command: input.command }), + ...(input.executionTimeoutSeconds !== undefined && { executionTimeoutSeconds: input.executionTimeoutSeconds }), + ...(input.instanceId !== undefined && { instanceId: input.instanceId }), + ...(input.outputS3BucketName !== undefined && { outputS3BucketName: input.outputS3BucketName }), + ...(input.scriptType !== undefined && { scriptType: input.scriptType }), + ...(input.source !== undefined && { source: serializeAws_json1_1Source(input.source, context) }), + }; +}; + const serializeAws_json1_1StartAppReplicationRequest = ( input: StartAppReplicationRequest, context: __SerdeContext @@ -3443,6 +4406,16 @@ const serializeAws_json1_1StartAppReplicationRequest = ( }; }; +const serializeAws_json1_1StartOnDemandAppReplicationRequest = ( + input: StartOnDemandAppReplicationRequest, + context: __SerdeContext +): any => { + return { + ...(input.appId !== undefined && { appId: input.appId }), + ...(input.description !== undefined && { description: input.description }), + }; +}; + const serializeAws_json1_1StartOnDemandReplicationRunRequest = ( input: StartOnDemandReplicationRunRequest, context: __SerdeContext @@ -3517,6 +4490,16 @@ const serializeAws_json1_1UserData = (input: UserData, context: __SerdeContext): }; }; +const serializeAws_json1_1UserDataValidationParameters = ( + input: UserDataValidationParameters, + context: __SerdeContext +): any => { + return { + ...(input.scriptType !== undefined && { scriptType: input.scriptType }), + ...(input.source !== undefined && { source: serializeAws_json1_1Source(input.source, context) }), + }; +}; + const serializeAws_json1_1VmServer = (input: VmServer, context: __SerdeContext): any => { return { ...(input.vmManagerName !== undefined && { vmManagerName: input.vmManagerName }), @@ -3552,6 +4535,8 @@ const deserializeAws_json1_1AppSummary = (output: any, context: __SerdeContext): ? new Date(Math.round(output.creationTime * 1000)) : undefined, description: output.description !== undefined && output.description !== null ? output.description : undefined, + importedAppId: + output.importedAppId !== undefined && output.importedAppId !== null ? output.importedAppId : undefined, lastModified: output.lastModified !== undefined && output.lastModified !== null ? new Date(Math.round(output.lastModified * 1000)) @@ -3560,6 +4545,10 @@ const deserializeAws_json1_1AppSummary = (output: any, context: __SerdeContext): output.latestReplicationTime !== undefined && output.latestReplicationTime !== null ? new Date(Math.round(output.latestReplicationTime * 1000)) : undefined, + launchConfigurationStatus: + output.launchConfigurationStatus !== undefined && output.launchConfigurationStatus !== null + ? output.launchConfigurationStatus + : undefined, launchDetails: output.launchDetails !== undefined && output.launchDetails !== null ? deserializeAws_json1_1LaunchDetails(output.launchDetails, context) @@ -3570,6 +4559,10 @@ const deserializeAws_json1_1AppSummary = (output: any, context: __SerdeContext): ? output.launchStatusMessage : undefined, name: output.name !== undefined && output.name !== null ? output.name : undefined, + replicationConfigurationStatus: + output.replicationConfigurationStatus !== undefined && output.replicationConfigurationStatus !== null + ? output.replicationConfigurationStatus + : undefined, replicationStatus: output.replicationStatus !== undefined && output.replicationStatus !== null ? output.replicationStatus @@ -3590,6 +4583,40 @@ const deserializeAws_json1_1AppSummary = (output: any, context: __SerdeContext): } as any; }; +const deserializeAws_json1_1AppValidationConfiguration = ( + output: any, + context: __SerdeContext +): AppValidationConfiguration => { + return { + appValidationStrategy: + output.appValidationStrategy !== undefined && output.appValidationStrategy !== null + ? output.appValidationStrategy + : undefined, + name: output.name !== undefined && output.name !== null ? output.name : undefined, + ssmValidationParameters: + output.ssmValidationParameters !== undefined && output.ssmValidationParameters !== null + ? deserializeAws_json1_1SSMValidationParameters(output.ssmValidationParameters, context) + : undefined, + validationId: output.validationId !== undefined && output.validationId !== null ? output.validationId : undefined, + } as any; +}; + +const deserializeAws_json1_1AppValidationConfigurations = ( + output: any, + context: __SerdeContext +): AppValidationConfiguration[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1AppValidationConfiguration(entry, context)); +}; + +const deserializeAws_json1_1AppValidationOutput = (output: any, context: __SerdeContext): AppValidationOutput => { + return { + ssmOutput: + output.ssmOutput !== undefined && output.ssmOutput !== null + ? deserializeAws_json1_1SSMOutput(output.ssmOutput, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1Connector = (output: any, context: __SerdeContext): Connector => { return { associatedOn: @@ -3667,6 +4694,13 @@ const deserializeAws_json1_1DeleteAppResponse = (output: any, context: __SerdeCo return {} as any; }; +const deserializeAws_json1_1DeleteAppValidationConfigurationResponse = ( + output: any, + context: __SerdeContext +): DeleteAppValidationConfigurationResponse => { + return {} as any; +}; + const deserializeAws_json1_1DeleteReplicationJobResponse = ( output: any, context: __SerdeContext @@ -3688,6 +4722,15 @@ const deserializeAws_json1_1DisassociateConnectorResponse = ( return {} as any; }; +const deserializeAws_json1_1DryRunOperationException = ( + output: any, + context: __SerdeContext +): DryRunOperationException => { + return { + message: output.message !== undefined && output.message !== null ? output.message : undefined, + } as any; +}; + const deserializeAws_json1_1GenerateChangeSetResponse = ( output: any, context: __SerdeContext @@ -3718,6 +4761,7 @@ const deserializeAws_json1_1GetAppLaunchConfigurationResponse = ( ): GetAppLaunchConfigurationResponse => { return { appId: output.appId !== undefined && output.appId !== null ? output.appId : undefined, + autoLaunch: output.autoLaunch !== undefined && output.autoLaunch !== null ? output.autoLaunch : undefined, roleName: output.roleName !== undefined && output.roleName !== null ? output.roleName : undefined, serverGroupLaunchConfigurations: output.serverGroupLaunchConfigurations !== undefined && output.serverGroupLaunchConfigurations !== null @@ -3756,6 +4800,34 @@ const deserializeAws_json1_1GetAppResponse = (output: any, context: __SerdeConte } as any; }; +const deserializeAws_json1_1GetAppValidationConfigurationResponse = ( + output: any, + context: __SerdeContext +): GetAppValidationConfigurationResponse => { + return { + appValidationConfigurations: + output.appValidationConfigurations !== undefined && output.appValidationConfigurations !== null + ? deserializeAws_json1_1AppValidationConfigurations(output.appValidationConfigurations, context) + : undefined, + serverGroupValidationConfigurations: + output.serverGroupValidationConfigurations !== undefined && output.serverGroupValidationConfigurations !== null + ? deserializeAws_json1_1ServerGroupValidationConfigurations(output.serverGroupValidationConfigurations, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1GetAppValidationOutputResponse = ( + output: any, + context: __SerdeContext +): GetAppValidationOutputResponse => { + return { + validationOutputList: + output.validationOutputList !== undefined && output.validationOutputList !== null + ? deserializeAws_json1_1ValidationOutputList(output.validationOutputList, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1GetConnectorsResponse = (output: any, context: __SerdeContext): GetConnectorsResponse => { return { connectorList: @@ -3814,6 +4886,13 @@ const deserializeAws_json1_1GetServersResponse = (output: any, context: __SerdeC } as any; }; +const deserializeAws_json1_1ImportAppCatalogResponse = ( + output: any, + context: __SerdeContext +): ImportAppCatalogResponse => { + return {} as any; +}; + const deserializeAws_json1_1ImportServerCatalogResponse = ( output: any, context: __SerdeContext @@ -3877,6 +4956,13 @@ const deserializeAws_json1_1NoConnectorsAvailableException = ( } as any; }; +const deserializeAws_json1_1NotifyAppValidationOutputResponse = ( + output: any, + context: __SerdeContext +): NotifyAppValidationOutputResponse => { + return {} as any; +}; + const deserializeAws_json1_1OperationNotPermittedException = ( output: any, context: __SerdeContext @@ -3900,6 +4986,13 @@ const deserializeAws_json1_1PutAppReplicationConfigurationResponse = ( return {} as any; }; +const deserializeAws_json1_1PutAppValidationConfigurationResponse = ( + output: any, + context: __SerdeContext +): PutAppValidationConfigurationResponse => { + return {} as any; +}; + const deserializeAws_json1_1ReplicationJob = (output: any, context: __SerdeContext): ReplicationJob => { return { description: output.description !== undefined && output.description !== null ? output.description : undefined, @@ -4105,6 +5198,27 @@ const deserializeAws_json1_1ServerGroups = (output: any, context: __SerdeContext return (output || []).map((entry: any) => deserializeAws_json1_1ServerGroup(entry, context)); }; +const deserializeAws_json1_1ServerGroupValidationConfiguration = ( + output: any, + context: __SerdeContext +): ServerGroupValidationConfiguration => { + return { + serverGroupId: + output.serverGroupId !== undefined && output.serverGroupId !== null ? output.serverGroupId : undefined, + serverValidationConfigurations: + output.serverValidationConfigurations !== undefined && output.serverValidationConfigurations !== null + ? deserializeAws_json1_1ServerValidationConfigurations(output.serverValidationConfigurations, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ServerGroupValidationConfigurations = ( + output: any, + context: __SerdeContext +): ServerGroupValidationConfiguration[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ServerGroupValidationConfiguration(entry, context)); +}; + const deserializeAws_json1_1ServerLaunchConfiguration = ( output: any, context: __SerdeContext @@ -4114,7 +5228,19 @@ const deserializeAws_json1_1ServerLaunchConfiguration = ( output.associatePublicIpAddress !== undefined && output.associatePublicIpAddress !== null ? output.associatePublicIpAddress : undefined, + configureScript: + output.configureScript !== undefined && output.configureScript !== null + ? deserializeAws_json1_1S3Location(output.configureScript, context) + : undefined, + configureScriptType: + output.configureScriptType !== undefined && output.configureScriptType !== null + ? output.configureScriptType + : undefined, ec2KeyName: output.ec2KeyName !== undefined && output.ec2KeyName !== null ? output.ec2KeyName : undefined, + iamInstanceProfileName: + output.iamInstanceProfileName !== undefined && output.iamInstanceProfileName !== null + ? output.iamInstanceProfileName + : undefined, instanceType: output.instanceType !== undefined && output.instanceType !== null ? output.instanceType : undefined, logicalId: output.logicalId !== undefined && output.logicalId !== null ? output.logicalId : undefined, securityGroup: @@ -4187,6 +5313,85 @@ const deserializeAws_json1_1ServerReplicationParameters = ( } as any; }; +const deserializeAws_json1_1ServerValidationConfiguration = ( + output: any, + context: __SerdeContext +): ServerValidationConfiguration => { + return { + name: output.name !== undefined && output.name !== null ? output.name : undefined, + server: + output.server !== undefined && output.server !== null + ? deserializeAws_json1_1Server(output.server, context) + : undefined, + serverValidationStrategy: + output.serverValidationStrategy !== undefined && output.serverValidationStrategy !== null + ? output.serverValidationStrategy + : undefined, + userDataValidationParameters: + output.userDataValidationParameters !== undefined && output.userDataValidationParameters !== null + ? deserializeAws_json1_1UserDataValidationParameters(output.userDataValidationParameters, context) + : undefined, + validationId: output.validationId !== undefined && output.validationId !== null ? output.validationId : undefined, + } as any; +}; + +const deserializeAws_json1_1ServerValidationConfigurations = ( + output: any, + context: __SerdeContext +): ServerValidationConfiguration[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ServerValidationConfiguration(entry, context)); +}; + +const deserializeAws_json1_1ServerValidationOutput = (output: any, context: __SerdeContext): ServerValidationOutput => { + return { + server: + output.server !== undefined && output.server !== null + ? deserializeAws_json1_1Server(output.server, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1Source = (output: any, context: __SerdeContext): Source => { + return { + s3Location: + output.s3Location !== undefined && output.s3Location !== null + ? deserializeAws_json1_1S3Location(output.s3Location, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1SSMOutput = (output: any, context: __SerdeContext): SSMOutput => { + return { + s3Location: + output.s3Location !== undefined && output.s3Location !== null + ? deserializeAws_json1_1S3Location(output.s3Location, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1SSMValidationParameters = ( + output: any, + context: __SerdeContext +): SSMValidationParameters => { + return { + command: output.command !== undefined && output.command !== null ? output.command : undefined, + executionTimeoutSeconds: + output.executionTimeoutSeconds !== undefined && output.executionTimeoutSeconds !== null + ? output.executionTimeoutSeconds + : undefined, + instanceId: output.instanceId !== undefined && output.instanceId !== null ? output.instanceId : undefined, + outputS3BucketName: + output.outputS3BucketName !== undefined && output.outputS3BucketName !== null + ? output.outputS3BucketName + : undefined, + scriptType: output.scriptType !== undefined && output.scriptType !== null ? output.scriptType : undefined, + source: + output.source !== undefined && output.source !== null + ? deserializeAws_json1_1Source(output.source, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1StartAppReplicationResponse = ( output: any, context: __SerdeContext @@ -4194,6 +5399,13 @@ const deserializeAws_json1_1StartAppReplicationResponse = ( return {} as any; }; +const deserializeAws_json1_1StartOnDemandAppReplicationResponse = ( + output: any, + context: __SerdeContext +): StartOnDemandAppReplicationResponse => { + return {} as any; +}; + const deserializeAws_json1_1StartOnDemandReplicationRunResponse = ( output: any, context: __SerdeContext @@ -4273,6 +5485,45 @@ const deserializeAws_json1_1UserData = (output: any, context: __SerdeContext): U } as any; }; +const deserializeAws_json1_1UserDataValidationParameters = ( + output: any, + context: __SerdeContext +): UserDataValidationParameters => { + return { + scriptType: output.scriptType !== undefined && output.scriptType !== null ? output.scriptType : undefined, + source: + output.source !== undefined && output.source !== null + ? deserializeAws_json1_1Source(output.source, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ValidationOutput = (output: any, context: __SerdeContext): ValidationOutput => { + return { + appValidationOutput: + output.appValidationOutput !== undefined && output.appValidationOutput !== null + ? deserializeAws_json1_1AppValidationOutput(output.appValidationOutput, context) + : undefined, + latestValidationTime: + output.latestValidationTime !== undefined && output.latestValidationTime !== null + ? new Date(Math.round(output.latestValidationTime * 1000)) + : undefined, + name: output.name !== undefined && output.name !== null ? output.name : undefined, + serverValidationOutput: + output.serverValidationOutput !== undefined && output.serverValidationOutput !== null + ? deserializeAws_json1_1ServerValidationOutput(output.serverValidationOutput, context) + : undefined, + status: output.status !== undefined && output.status !== null ? output.status : undefined, + statusMessage: + output.statusMessage !== undefined && output.statusMessage !== null ? output.statusMessage : undefined, + validationId: output.validationId !== undefined && output.validationId !== null ? output.validationId : undefined, + } as any; +}; + +const deserializeAws_json1_1ValidationOutputList = (output: any, context: __SerdeContext): ValidationOutput[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ValidationOutput(entry, context)); +}; + const deserializeAws_json1_1VmServer = (output: any, context: __SerdeContext): VmServer => { return { vmManagerName: diff --git a/clients/client-snowball/Snowball.ts b/clients/client-snowball/Snowball.ts index 5eb4d9638d9b..1f01f34d62a7 100644 --- a/clients/client-snowball/Snowball.ts +++ b/clients/client-snowball/Snowball.ts @@ -16,6 +16,11 @@ import { CreateClusterCommandOutput, } from "./commands/CreateClusterCommand"; import { CreateJobCommand, CreateJobCommandInput, CreateJobCommandOutput } from "./commands/CreateJobCommand"; +import { + CreateReturnShippingLabelCommand, + CreateReturnShippingLabelCommandInput, + CreateReturnShippingLabelCommandOutput, +} from "./commands/CreateReturnShippingLabelCommand"; import { DescribeAddressCommand, DescribeAddressCommandInput, @@ -32,6 +37,11 @@ import { DescribeClusterCommandOutput, } from "./commands/DescribeClusterCommand"; import { DescribeJobCommand, DescribeJobCommandInput, DescribeJobCommandOutput } from "./commands/DescribeJobCommand"; +import { + DescribeReturnShippingLabelCommand, + DescribeReturnShippingLabelCommandInput, + DescribeReturnShippingLabelCommandOutput, +} from "./commands/DescribeReturnShippingLabelCommand"; import { GetJobManifestCommand, GetJobManifestCommandInput, @@ -74,15 +84,20 @@ import { UpdateClusterCommandOutput, } from "./commands/UpdateClusterCommand"; import { UpdateJobCommand, UpdateJobCommandInput, UpdateJobCommandOutput } from "./commands/UpdateJobCommand"; +import { + UpdateJobShipmentStateCommand, + UpdateJobShipmentStateCommandInput, + UpdateJobShipmentStateCommandOutput, +} from "./commands/UpdateJobShipmentStateCommand"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *

                                                                AWS Snowball is a petabyte-scale data transport solution that uses secure devices to + *

                                                                AWS Snow Family is a petabyte-scale data transport solution that uses secure devices to * transfer large amounts of data between your on-premises data centers and Amazon Simple Storage - * Service (Amazon S3). The Snowball commands described here provide access to the same - * functionality that is available in the AWS Snowball Management Console, which enables you to - * create and manage jobs for Snowball. To transfer data locally with a Snowball device, you'll - * need to use the Snowball client or the Amazon S3 API adapter for Snowball. For more + * Service (Amazon S3). The Snow commands described here provide access to the same + * functionality that is available in the AWS Snow Family Management Console, which enables you to + * create and manage jobs for a Snow device. To transfer data locally with a Snow device, you'll + * need to use the Snowball Edge client or the Amazon S3 API Interface for Snowball or AWS OpsHub for Snow Family. For more * information, see the User Guide.

                                                                */ export class Snowball extends SnowballClient { @@ -150,7 +165,7 @@ export class Snowball extends SnowballClient { } /** - *

                                                                Creates an address for a Snowball to be shipped to. In most regions, + *

                                                                Creates an address for a Snow device to be shipped to. In most regions, * addresses are validated at the time of creation. The address you provide must be located * within the serviceable area of your region. If the address is invalid or unsupported, then an * exception is thrown.

                                                                @@ -220,7 +235,7 @@ export class Snowball extends SnowballClient { /** *

                                                                Creates a job to import or export data between Amazon S3 and your on-premises data * center. Your AWS account must have the right trust policies and permissions in place to create - * a job for Snowball. If you're creating a job for a node in a cluster, you only need to provide + * a job for a Snow device. If you're creating a job for a node in a cluster, you only need to provide * the clusterId value; the other job attributes are inherited from the cluster. *

                                                                */ @@ -247,6 +262,38 @@ export class Snowball extends SnowballClient { } } + /** + *

                                                                Creates a shipping label that will be used to return the Snow device to AWS.

                                                                + */ + public createReturnShippingLabel( + args: CreateReturnShippingLabelCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createReturnShippingLabel( + args: CreateReturnShippingLabelCommandInput, + cb: (err: any, data?: CreateReturnShippingLabelCommandOutput) => void + ): void; + public createReturnShippingLabel( + args: CreateReturnShippingLabelCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateReturnShippingLabelCommandOutput) => void + ): void; + public createReturnShippingLabel( + args: CreateReturnShippingLabelCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateReturnShippingLabelCommandOutput) => void), + cb?: (err: any, data?: CreateReturnShippingLabelCommandOutput) => void + ): Promise | void { + const command = new CreateReturnShippingLabelCommand(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); + } + } + /** *

                                                                Takes an AddressId and returns specific details about that address in the * form of an Address object.

                                                                @@ -374,6 +421,38 @@ export class Snowball extends SnowballClient { } } + /** + *

                                                                Information on the shipping label of a Snow device that is being returned to AWS.

                                                                + */ + public describeReturnShippingLabel( + args: DescribeReturnShippingLabelCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeReturnShippingLabel( + args: DescribeReturnShippingLabelCommandInput, + cb: (err: any, data?: DescribeReturnShippingLabelCommandOutput) => void + ): void; + public describeReturnShippingLabel( + args: DescribeReturnShippingLabelCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeReturnShippingLabelCommandOutput) => void + ): void; + public describeReturnShippingLabel( + args: DescribeReturnShippingLabelCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeReturnShippingLabelCommandOutput) => void), + cb?: (err: any, data?: DescribeReturnShippingLabelCommandOutput) => void + ): Promise | void { + const command = new DescribeReturnShippingLabelCommand(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 link to an Amazon S3 presigned URL for the manifest file associated with the * specified JobId value. You can access the manifest file for up to 60 minutes @@ -382,13 +461,13 @@ export class Snowball extends SnowballClient { * *

                                                                The manifest is an encrypted file that you can download after your job enters the * WithCustomer status. The manifest is decrypted by using the - * UnlockCode code value, when you pass both values to the Snowball through the + * UnlockCode code value, when you pass both values to the Snow device through the * Snowball client when the client is started for the first time.

                                                                * * *

                                                                As a best practice, we recommend that you don't save a copy of an * UnlockCode value in the same location as the manifest file for that job. Saving - * these separately helps prevent unauthorized parties from gaining access to the Snowball + * these separately helps prevent unauthorized parties from gaining access to the Snow device * associated with that job.

                                                                * * @@ -431,12 +510,12 @@ export class Snowball extends SnowballClient { * *

                                                                The UnlockCode value is a 29-character code with 25 alphanumeric * characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed - * along with the manifest to the Snowball through the Snowball client when the client is started + * along with the manifest to the Snow device through the Snowball client when the client is started * for the first time.

                                                                * *

                                                                As a best practice, we recommend that you don't save a copy of the * UnlockCode in the same location as the manifest file for that job. Saving these - * separately helps prevent unauthorized parties from gaining access to the Snowball associated + * separately helps prevent unauthorized parties from gaining access to the Snow device associated * with that job.

                                                                */ public getJobUnlockCode( @@ -469,10 +548,10 @@ export class Snowball extends SnowballClient { } /** - *

                                                                Returns information about the Snowball service limit for your account, and also the - * number of Snowballs your account has in use.

                                                                + *

                                                                Returns information about the Snow Family service limit for your account, and also the + * number of Snow devices your account has in use.

                                                                * - *

                                                                The default service limit for the number of Snowballs that you can have at one time is + *

                                                                The default service limit for the number of Snow devices that you can have at one time is * 1. If you want to increase your service limit, contact AWS Support.

                                                                */ public getSnowballUsage( @@ -604,7 +683,7 @@ export class Snowball extends SnowballClient { /** *

                                                                This action returns a list of the different Amazon EC2 Amazon Machine Images (AMIs) - * that are owned by your AWS account that would be supported for use on a Snowball Edge device. + * that are owned by your AWS account that would be supported for use on a Snow device. * Currently, supported AMIs are based on the CentOS 7 (x86_64) - with Updates HVM, Ubuntu Server * 14.04 LTS (HVM), and Ubuntu 16.04 LTS - Xenial (HVM) images, available on the AWS * Marketplace.

                                                                @@ -730,4 +809,36 @@ export class Snowball extends SnowballClient { return this.send(command, optionsOrCb); } } + + /** + *

                                                                Updates the state when a the shipment states changes to a different state.

                                                                + */ + public updateJobShipmentState( + args: UpdateJobShipmentStateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateJobShipmentState( + args: UpdateJobShipmentStateCommandInput, + cb: (err: any, data?: UpdateJobShipmentStateCommandOutput) => void + ): void; + public updateJobShipmentState( + args: UpdateJobShipmentStateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateJobShipmentStateCommandOutput) => void + ): void; + public updateJobShipmentState( + args: UpdateJobShipmentStateCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateJobShipmentStateCommandOutput) => void), + cb?: (err: any, data?: UpdateJobShipmentStateCommandOutput) => void + ): Promise | void { + const command = new UpdateJobShipmentStateCommand(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-snowball/SnowballClient.ts b/clients/client-snowball/SnowballClient.ts index 350ecd43445f..832a68568439 100644 --- a/clients/client-snowball/SnowballClient.ts +++ b/clients/client-snowball/SnowballClient.ts @@ -3,10 +3,18 @@ import { CancelJobCommandInput, CancelJobCommandOutput } from "./commands/Cancel import { CreateAddressCommandInput, CreateAddressCommandOutput } from "./commands/CreateAddressCommand"; import { CreateClusterCommandInput, CreateClusterCommandOutput } from "./commands/CreateClusterCommand"; import { CreateJobCommandInput, CreateJobCommandOutput } from "./commands/CreateJobCommand"; +import { + CreateReturnShippingLabelCommandInput, + CreateReturnShippingLabelCommandOutput, +} from "./commands/CreateReturnShippingLabelCommand"; import { DescribeAddressCommandInput, DescribeAddressCommandOutput } from "./commands/DescribeAddressCommand"; import { DescribeAddressesCommandInput, DescribeAddressesCommandOutput } from "./commands/DescribeAddressesCommand"; import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "./commands/DescribeClusterCommand"; import { DescribeJobCommandInput, DescribeJobCommandOutput } from "./commands/DescribeJobCommand"; +import { + DescribeReturnShippingLabelCommandInput, + DescribeReturnShippingLabelCommandOutput, +} from "./commands/DescribeReturnShippingLabelCommand"; import { GetJobManifestCommandInput, GetJobManifestCommandOutput } from "./commands/GetJobManifestCommand"; import { GetJobUnlockCodeCommandInput, GetJobUnlockCodeCommandOutput } from "./commands/GetJobUnlockCodeCommand"; import { GetSnowballUsageCommandInput, GetSnowballUsageCommandOutput } from "./commands/GetSnowballUsageCommand"; @@ -20,6 +28,10 @@ import { import { ListJobsCommandInput, ListJobsCommandOutput } from "./commands/ListJobsCommand"; import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "./commands/UpdateClusterCommand"; import { UpdateJobCommandInput, UpdateJobCommandOutput } from "./commands/UpdateJobCommand"; +import { + UpdateJobShipmentStateCommandInput, + UpdateJobShipmentStateCommandOutput, +} from "./commands/UpdateJobShipmentStateCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; import { EndpointsInputConfig, @@ -75,10 +87,12 @@ export type ServiceInputTypes = | CreateAddressCommandInput | CreateClusterCommandInput | CreateJobCommandInput + | CreateReturnShippingLabelCommandInput | DescribeAddressCommandInput | DescribeAddressesCommandInput | DescribeClusterCommandInput | DescribeJobCommandInput + | DescribeReturnShippingLabelCommandInput | GetJobManifestCommandInput | GetJobUnlockCodeCommandInput | GetSnowballUsageCommandInput @@ -88,7 +102,8 @@ export type ServiceInputTypes = | ListCompatibleImagesCommandInput | ListJobsCommandInput | UpdateClusterCommandInput - | UpdateJobCommandInput; + | UpdateJobCommandInput + | UpdateJobShipmentStateCommandInput; export type ServiceOutputTypes = | CancelClusterCommandOutput @@ -96,10 +111,12 @@ export type ServiceOutputTypes = | CreateAddressCommandOutput | CreateClusterCommandOutput | CreateJobCommandOutput + | CreateReturnShippingLabelCommandOutput | DescribeAddressCommandOutput | DescribeAddressesCommandOutput | DescribeClusterCommandOutput | DescribeJobCommandOutput + | DescribeReturnShippingLabelCommandOutput | GetJobManifestCommandOutput | GetJobUnlockCodeCommandOutput | GetSnowballUsageCommandOutput @@ -109,7 +126,8 @@ export type ServiceOutputTypes = | ListCompatibleImagesCommandOutput | ListJobsCommandOutput | UpdateClusterCommandOutput - | UpdateJobCommandOutput; + | UpdateJobCommandOutput + | UpdateJobShipmentStateCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** @@ -224,12 +242,12 @@ export type SnowballClientResolvedConfig = __SmithyResolvedConfiguration<__HttpH HostHeaderResolvedConfig; /** - *

                                                                AWS Snowball is a petabyte-scale data transport solution that uses secure devices to + *

                                                                AWS Snow Family is a petabyte-scale data transport solution that uses secure devices to * transfer large amounts of data between your on-premises data centers and Amazon Simple Storage - * Service (Amazon S3). The Snowball commands described here provide access to the same - * functionality that is available in the AWS Snowball Management Console, which enables you to - * create and manage jobs for Snowball. To transfer data locally with a Snowball device, you'll - * need to use the Snowball client or the Amazon S3 API adapter for Snowball. For more + * Service (Amazon S3). The Snow commands described here provide access to the same + * functionality that is available in the AWS Snow Family Management Console, which enables you to + * create and manage jobs for a Snow device. To transfer data locally with a Snow device, you'll + * need to use the Snowball Edge client or the Amazon S3 API Interface for Snowball or AWS OpsHub for Snow Family. For more * information, see the User Guide.

                                                                */ export class SnowballClient extends __Client< diff --git a/clients/client-snowball/commands/CreateReturnShippingLabelCommand.ts b/clients/client-snowball/commands/CreateReturnShippingLabelCommand.ts new file mode 100644 index 000000000000..78dfaa802bfd --- /dev/null +++ b/clients/client-snowball/commands/CreateReturnShippingLabelCommand.ts @@ -0,0 +1,73 @@ +import { ServiceInputTypes, ServiceOutputTypes, SnowballClientResolvedConfig } from "../SnowballClient"; +import { CreateReturnShippingLabelRequest, CreateReturnShippingLabelResult } from "../models/models_0"; +import { + deserializeAws_json1_1CreateReturnShippingLabelCommand, + serializeAws_json1_1CreateReturnShippingLabelCommand, +} 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 CreateReturnShippingLabelCommandInput = CreateReturnShippingLabelRequest; +export type CreateReturnShippingLabelCommandOutput = CreateReturnShippingLabelResult & __MetadataBearer; + +export class CreateReturnShippingLabelCommand extends $Command< + CreateReturnShippingLabelCommandInput, + CreateReturnShippingLabelCommandOutput, + SnowballClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateReturnShippingLabelCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SnowballClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateReturnShippingLabelRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateReturnShippingLabelResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateReturnShippingLabelCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateReturnShippingLabelCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1CreateReturnShippingLabelCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-snowball/commands/DescribeReturnShippingLabelCommand.ts b/clients/client-snowball/commands/DescribeReturnShippingLabelCommand.ts new file mode 100644 index 000000000000..c61ede13cc56 --- /dev/null +++ b/clients/client-snowball/commands/DescribeReturnShippingLabelCommand.ts @@ -0,0 +1,73 @@ +import { ServiceInputTypes, ServiceOutputTypes, SnowballClientResolvedConfig } from "../SnowballClient"; +import { DescribeReturnShippingLabelRequest, DescribeReturnShippingLabelResult } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeReturnShippingLabelCommand, + serializeAws_json1_1DescribeReturnShippingLabelCommand, +} 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 DescribeReturnShippingLabelCommandInput = DescribeReturnShippingLabelRequest; +export type DescribeReturnShippingLabelCommandOutput = DescribeReturnShippingLabelResult & __MetadataBearer; + +export class DescribeReturnShippingLabelCommand extends $Command< + DescribeReturnShippingLabelCommandInput, + DescribeReturnShippingLabelCommandOutput, + SnowballClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeReturnShippingLabelCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SnowballClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeReturnShippingLabelRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeReturnShippingLabelResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeReturnShippingLabelCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeReturnShippingLabelCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeReturnShippingLabelCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-snowball/commands/UpdateJobShipmentStateCommand.ts b/clients/client-snowball/commands/UpdateJobShipmentStateCommand.ts new file mode 100644 index 000000000000..796fb15b0f8c --- /dev/null +++ b/clients/client-snowball/commands/UpdateJobShipmentStateCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, SnowballClientResolvedConfig } from "../SnowballClient"; +import { UpdateJobShipmentStateRequest, UpdateJobShipmentStateResult } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateJobShipmentStateCommand, + serializeAws_json1_1UpdateJobShipmentStateCommand, +} 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 UpdateJobShipmentStateCommandInput = UpdateJobShipmentStateRequest; +export type UpdateJobShipmentStateCommandOutput = UpdateJobShipmentStateResult & __MetadataBearer; + +export class UpdateJobShipmentStateCommand extends $Command< + UpdateJobShipmentStateCommandInput, + UpdateJobShipmentStateCommandOutput, + SnowballClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateJobShipmentStateCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SnowballClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateJobShipmentStateRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateJobShipmentStateResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateJobShipmentStateCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateJobShipmentStateCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateJobShipmentStateCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-snowball/index.ts b/clients/client-snowball/index.ts index a066fbcca8b9..7786d80353c3 100644 --- a/clients/client-snowball/index.ts +++ b/clients/client-snowball/index.ts @@ -5,11 +5,13 @@ export * from "./commands/CancelJobCommand"; export * from "./commands/CreateAddressCommand"; export * from "./commands/CreateClusterCommand"; export * from "./commands/CreateJobCommand"; +export * from "./commands/CreateReturnShippingLabelCommand"; export * from "./commands/DescribeAddressCommand"; export * from "./commands/DescribeAddressesCommand"; export * from "./pagination/DescribeAddressesPaginator"; export * from "./commands/DescribeClusterCommand"; export * from "./commands/DescribeJobCommand"; +export * from "./commands/DescribeReturnShippingLabelCommand"; export * from "./commands/GetJobManifestCommand"; export * from "./commands/GetJobUnlockCodeCommand"; export * from "./commands/GetSnowballUsageCommand"; @@ -21,5 +23,6 @@ export * from "./commands/ListJobsCommand"; export * from "./pagination/ListJobsPaginator"; export * from "./commands/UpdateClusterCommand"; export * from "./commands/UpdateJobCommand"; +export * from "./commands/UpdateJobShipmentStateCommand"; export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-snowball/models/models_0.ts b/clients/client-snowball/models/models_0.ts index eec71eac8d5c..05b69502cb59 100644 --- a/clients/client-snowball/models/models_0.ts +++ b/clients/client-snowball/models/models_0.ts @@ -2,7 +2,7 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; /** - *

                                                                The address that you want the Snowball or Snowballs associated with a specific job to + *

                                                                The address that you want the Snow device(s) associated with a specific job to * be shipped to. Addresses are validated at the time of creation. The address you provide must * be located within the serviceable area of your region. Although no individual elements of the * Address are required, if the address is invalid or unsupported, then an @@ -10,79 +10,79 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface Address { /** - *

                                                                The second line in a street address that a Snowball is to be delivered + *

                                                                The phone number associated with an address that a Snow device is to be delivered * to.

                                                                */ - Street2?: string; + PhoneNumber?: string; /** - *

                                                                The third line in a street address that a Snowball is to be delivered - * to.

                                                                + *

                                                                The name of the company to receive a Snow device at an address.

                                                                */ - Street3?: string; + Company?: string; /** - *

                                                                The country in an address that a Snowball is to be delivered to.

                                                                + *

                                                                The unique ID for an address.

                                                                */ - Country?: string; + AddressId?: string; /** - *

                                                                The first line in a street address that a Snowball is to be delivered - * to.

                                                                + *

                                                                If the address you are creating is a primary address, then set this option to + * true. This field is not supported in most regions.

                                                                */ - Street1?: string; + IsRestricted?: boolean; /** - *

                                                                The state or province in an address that a Snowball is to be delivered to.

                                                                + *

                                                                This field is no longer used and the value is ignored.

                                                                */ - StateOrProvince?: string; + PrefectureOrDistrict?: string; /** - *

                                                                This field is no longer used and the value is ignored.

                                                                + *

                                                                The second line in a street address that a Snow device is to be delivered + * to.

                                                                */ - PrefectureOrDistrict?: string; + Street2?: string; /** - *

                                                                If the address you are creating is a primary address, then set this option to - * true. This field is not supported in most regions.

                                                                + *

                                                                The third line in a street address that a Snow device is to be delivered + * to.

                                                                */ - IsRestricted?: boolean; + Street3?: string; /** - *

                                                                The postal code in an address that a Snowball is to be delivered to.

                                                                + *

                                                                The first line in a street address that a Snow device is to be delivered + * to.

                                                                */ - PostalCode?: string; + Street1?: string; /** - *

                                                                The city in an address that a Snowball is to be delivered to.

                                                                + *

                                                                The postal code in an address that a Snow device is to be delivered to.

                                                                */ - City?: string; + PostalCode?: string; /** - *

                                                                This field is no longer used and the value is ignored.

                                                                + *

                                                                The country in an address that a Snow device is to be delivered to.

                                                                */ - Landmark?: string; + Country?: string; /** - *

                                                                The name of a person to receive a Snowball at an address.

                                                                + *

                                                                The state or province in an address that a Snow device is to be delivered to.

                                                                */ - Name?: string; + StateOrProvince?: string; /** - *

                                                                The name of the company to receive a Snowball at an address.

                                                                + *

                                                                This field is no longer used and the value is ignored.

                                                                */ - Company?: string; + Landmark?: string; /** - *

                                                                The phone number associated with an address that a Snowball is to be delivered - * to.

                                                                + *

                                                                The city in an address that a Snow device is to be delivered to.

                                                                */ - PhoneNumber?: string; + City?: string; /** - *

                                                                The unique ID for an address.

                                                                + *

                                                                The name of a person to receive a Snow device at an address.

                                                                */ - AddressId?: string; + Name?: string; } export namespace Address { @@ -189,7 +189,7 @@ export namespace CancelJobResult { export interface CreateAddressRequest { /** - *

                                                                The address that you want the Snowball shipped to.

                                                                + *

                                                                The address that you want the Snow device shipped to.

                                                                */ Address: Address | undefined; } @@ -203,7 +203,7 @@ export namespace CreateAddressRequest { export interface CreateAddressResult { /** *

                                                                The automatically generated ID for a specific address. You'll use this ID when you - * create a job to specify which address you want the Snowball for that job shipped to.

                                                                + * create a job to specify which address you want the Snow device for that job shipped to.

                                                                */ AddressId?: string; } @@ -310,19 +310,19 @@ export namespace Notification { /** *

                                                                A JSON-formatted object that contains the IDs for an Amazon Machine Image (AMI), - * including the Amazon EC2 AMI ID and the Snowball Edge AMI ID. Each AMI has these two IDs to + * including the Amazon EC2 AMI ID and the Snow device AMI ID. Each AMI has these two IDs to * simplify identifying the AMI in both the AWS Cloud and on the device.

                                                                */ export interface Ec2AmiResource { /** - *

                                                                The ID of the AMI in Amazon EC2.

                                                                + *

                                                                The ID of the AMI on the Snow device.

                                                                */ - AmiId: string | undefined; + SnowballAmiId?: string; /** - *

                                                                The ID of the AMI on the Snowball Edge device.

                                                                + *

                                                                The ID of the AMI in Amazon EC2.

                                                                */ - SnowballAmiId?: string; + AmiId: string | undefined; } export namespace Ec2AmiResource { @@ -378,16 +378,16 @@ export namespace LambdaResource { */ export interface KeyRange { /** - *

                                                                The key that ends an optional key range for an export job. Ranges are inclusive and + *

                                                                The key that starts an optional key range for an export job. Ranges are inclusive and * UTF-8 binary sorted.

                                                                */ - EndMarker?: string; + BeginMarker?: string; /** - *

                                                                The key that starts an optional key range for an export job. Ranges are inclusive and + *

                                                                The key that ends an optional key range for an export job. Ranges are inclusive and * UTF-8 binary sorted.

                                                                */ - BeginMarker?: string; + EndMarker?: string; } export namespace KeyRange { @@ -506,12 +506,6 @@ export interface CreateClusterRequest { */ AddressId: string | undefined; - /** - *

                                                                An optional description of this specific cluster, for example Environmental Data - * Cluster-01.

                                                                - */ - Description?: string; - /** *

                                                                The RoleARN that you want to associate with this cluster. * RoleArn values are created by using the CreateRole API action in AWS @@ -520,15 +514,10 @@ export interface CreateClusterRequest { RoleARN: string | undefined; /** - *

                                                                The tax documents required in your AWS Region.

                                                                - */ - TaxDocuments?: TaxDocuments; - - /** - *

                                                                The forwarding address ID for a cluster. This field is not supported in most - * regions.

                                                                + *

                                                                The resources associated with the cluster job. These resources include Amazon S3 + * buckets and optional AWS Lambda functions written in the Python language.

                                                                */ - ForwardingAddressId?: string; + Resources: JobResource | undefined; /** *

                                                                The shipping speed for each node in this cluster. This speed doesn't dictate how soon @@ -537,17 +526,17 @@ export interface CreateClusterRequest { *

                                                                *
                                                                  *
                                                                • - *

                                                                  In Australia, you have access to express shipping. Typically, Snowballs shipped + *

                                                                  In Australia, you have access to express shipping. Typically, Snow devices shipped * express are delivered in about a day.

                                                                  *
                                                                • *
                                                                • *

                                                                  In the European Union (EU), you have access to express shipping. Typically, - * Snowballs shipped express are delivered in about a day. In addition, most countries in the + * Snow devices shipped express are delivered in about a day. In addition, most countries in the * EU have access to standard shipping, which typically takes less than a week, one * way.

                                                                  *
                                                                • *
                                                                • - *

                                                                  In India, Snowballs are delivered in one to seven days.

                                                                  + *

                                                                  In India, Snow device are delivered in one to seven days.

                                                                  *
                                                                • *
                                                                • *

                                                                  In the United States of America (US), you have access to one-day shipping and @@ -562,12 +551,12 @@ export interface CreateClusterRequest { *

                                                                • *
                                                                • *

                                                                  In the European Union (EU), you have access to express shipping. Typically, - * Snowball Edges shipped express are delivered in about a day. In addition, most countries + * Snow devices shipped express are delivered in about a day. In addition, most countries * in the EU have access to standard shipping, which typically takes less than a week, one * way.

                                                                  *
                                                                • *
                                                                • - *

                                                                  In India, Snowball Edges are delivered in one to seven days.

                                                                  + *

                                                                  In India, Snow device are delivered in one to seven days.

                                                                  *
                                                                • *
                                                                • *

                                                                  In the US, you have access to one-day shipping and two-day shipping.

                                                                  @@ -577,20 +566,26 @@ export interface CreateClusterRequest { ShippingOption: ShippingOption | string | undefined; /** - *

                                                                  The type of AWS Snowball device to use for this cluster. + *

                                                                  The forwarding address ID for a cluster. This field is not supported in most + * regions.

                                                                  + */ + ForwardingAddressId?: string; + + /** + *

                                                                  The type of AWS Snow Family device to use for this cluster. * *

                                                                  * - *

                                                                  For cluster jobs, AWS Snowball currently supports only the EDGE device type.

                                                                  + *

                                                                  For cluster jobs, AWS Snow Family currently supports only the EDGE device type.

                                                                  *
                                                                  */ SnowballType?: SnowballType | string; /** - *

                                                                  The Amazon Simple Notification Service (Amazon SNS) notification settings for this - * cluster.

                                                                  + *

                                                                  The type of job for this cluster. Currently, the only job type supported for clusters + * is LOCAL_USE.

                                                                  */ - Notification?: Notification; + JobType: JobType | string | undefined; /** *

                                                                  The KmsKeyARN value that you want to associate with this cluster. @@ -600,16 +595,21 @@ export interface CreateClusterRequest { KmsKeyARN?: string; /** - *

                                                                  The type of job for this cluster. Currently, the only job type supported for clusters - * is LOCAL_USE.

                                                                  + *

                                                                  The Amazon Simple Notification Service (Amazon SNS) notification settings for this + * cluster.

                                                                  */ - JobType: JobType | string | undefined; + Notification?: Notification; /** - *

                                                                  The resources associated with the cluster job. These resources include Amazon S3 - * buckets and optional AWS Lambda functions written in the Python language.

                                                                  + *

                                                                  The tax documents required in your AWS Region.

                                                                  */ - Resources: JobResource | undefined; + TaxDocuments?: TaxDocuments; + + /** + *

                                                                  An optional description of this specific cluster, for example Environmental Data + * Cluster-01.

                                                                  + */ + Description?: string; } export namespace CreateClusterRequest { @@ -739,58 +739,6 @@ export enum SnowballCapacity { } export interface CreateJobRequest { - /** - *

                                                                  The shipping speed for this job. This speed doesn't dictate how soon you'll get the - * Snowball, rather it represents how quickly the Snowball moves to its destination while in - * transit. Regional shipping speeds are as follows:

                                                                  - * - *
                                                                    - *
                                                                  • - *

                                                                    In Australia, you have access to express shipping. Typically, Snowballs shipped - * express are delivered in about a day.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    In the European Union (EU), you have access to express shipping. Typically, - * Snowballs shipped express are delivered in about a day. In addition, most countries in the - * EU have access to standard shipping, which typically takes less than a week, one - * way.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    In India, Snowballs are delivered in one to seven days.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    In the US, you have access to one-day shipping and two-day shipping.

                                                                    - *
                                                                  • - *
                                                                  - */ - ShippingOption?: ShippingOption | string; - - /** - *

                                                                  The forwarding address ID for a job. This field is not supported in most - * regions.

                                                                  - */ - ForwardingAddressId?: string; - - /** - *

                                                                  If your job is being created in one of the US regions, you have the option of - * specifying what size Snowball you'd like for this job. In all other regions, Snowballs come - * with 80 TB in storage capacity.

                                                                  - */ - SnowballCapacityPreference?: SnowballCapacity | string; - - /** - *

                                                                  The KmsKeyARN that you want to associate with this job. - * KmsKeyARNs are created using the CreateKey AWS Key Management - * Service (KMS) API action.

                                                                  - */ - KmsKeyARN?: string; - - /** - *

                                                                  Defines the type of job that you're creating. - *

                                                                  - */ - JobType?: JobType | string; - /** *

                                                                  The RoleARN that you want to associate with this job. * RoleArns are created using the CreateRole AWS Identity and @@ -799,10 +747,9 @@ export interface CreateJobRequest { RoleARN?: string; /** - *

                                                                  Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for - * this job.

                                                                  + *

                                                                  The ID for the address that you want the Snow device shipped to.

                                                                  */ - Notification?: Notification; + AddressId?: string; /** *

                                                                  The tax documents required in your AWS Region.

                                                                  @@ -810,17 +757,18 @@ export interface CreateJobRequest { TaxDocuments?: TaxDocuments; /** - *

                                                                  Defines the device configuration for an AWS Snowcone job.

                                                                  + *

                                                                  Defines an optional description of this specific job, for example Important + * Photos 2016-08-11.

                                                                  */ - DeviceConfiguration?: DeviceConfiguration; + Description?: string; /** - *

                                                                  The type of AWS Snowball device to use for this job. + *

                                                                  The type of AWS Snow Family device to use for this job. *

                                                                  * - *

                                                                  For cluster jobs, AWS Snowball currently supports only the EDGE device type.

                                                                  + *

                                                                  For cluster jobs, AWS Snow Family currently supports only the EDGE device type.

                                                                  *
                                                                  - *

                                                                  The type of AWS Snowball device to use for this job. Currently, the only supported + *

                                                                  The type of AWS Snow device to use for this job. Currently, the only supported * device type for cluster jobs is EDGE.

                                                                  *

                                                                  For more information, see Snowball Edge Device * Options in the Snowball Edge Developer Guide.

                                                                  @@ -828,10 +776,17 @@ export interface CreateJobRequest { SnowballType?: SnowballType | string; /** - *

                                                                  Defines an optional description of this specific job, for example Important - * Photos 2016-08-11.

                                                                  + *

                                                                  The ID of a cluster. If you're creating a job for a node in a cluster, you need to + * provide only this clusterId value. The other job attributes are inherited from + * the cluster.

                                                                  */ - Description?: string; + ClusterId?: string; + + /** + *

                                                                  Defines the type of job that you're creating. + *

                                                                  + */ + JobType?: JobType | string; /** *

                                                                  Defines the Amazon S3 buckets associated with this job.

                                                                  @@ -848,16 +803,61 @@ export interface CreateJobRequest { Resources?: JobResource; /** - *

                                                                  The ID of a cluster. If you're creating a job for a node in a cluster, you need to - * provide only this clusterId value. The other job attributes are inherited from - * the cluster.

                                                                  + *

                                                                  Defines the device configuration for an AWS Snowcone job.

                                                                  */ - ClusterId?: string; + DeviceConfiguration?: DeviceConfiguration; /** - *

                                                                  The ID for the address that you want the Snowball shipped to.

                                                                  + *

                                                                  If your job is being created in one of the US regions, you have the option of + * specifying what size Snow device you'd like for this job. In all other regions, Snowballs come + * with 80 TB in storage capacity.

                                                                  */ - AddressId?: string; + SnowballCapacityPreference?: SnowballCapacity | string; + + /** + *

                                                                  The forwarding address ID for a job. This field is not supported in most + * regions.

                                                                  + */ + ForwardingAddressId?: string; + + /** + *

                                                                  The shipping speed for this job. This speed doesn't dictate how soon you'll get the + * Snow device, rather it represents how quickly the Snow device moves to its destination while in + * transit. Regional shipping speeds are as follows:

                                                                  + * + *
                                                                    + *
                                                                  • + *

                                                                    In Australia, you have access to express shipping. Typically, Snow devices shipped + * express are delivered in about a day.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    In the European Union (EU), you have access to express shipping. Typically, + * Snow devices shipped express are delivered in about a day. In addition, most countries in the + * EU have access to standard shipping, which typically takes less than a week, one + * way.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    In India, Snow devices are delivered in one to seven days.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    In the US, you have access to one-day shipping and two-day shipping.

                                                                    + *
                                                                  • + *
                                                                  + */ + ShippingOption?: ShippingOption | string; + + /** + *

                                                                  Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for + * this job.

                                                                  + */ + Notification?: Notification; + + /** + *

                                                                  The KmsKeyARN that you want to associate with this job. + * KmsKeyARNs are created using the CreateKey AWS Key Management + * Service (KMS) API action.

                                                                  + */ + KmsKeyARN?: string; } export namespace CreateJobRequest { @@ -880,45 +880,119 @@ export namespace CreateJobResult { }); } -export interface DescribeAddressRequest { - /** - *

                                                                  The automatically generated ID for a specific address.

                                                                  - */ - AddressId: string | undefined; +/** + *

                                                                  You get this exception when you call CreateReturnShippingLabel more than once when other requests are not completed.

                                                                  + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + ConflictResource?: string; + Message?: string; } -export namespace DescribeAddressRequest { - export const filterSensitiveLog = (obj: DescribeAddressRequest): any => ({ +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ ...obj, }); } -export interface DescribeAddressResult { +export interface CreateReturnShippingLabelRequest { /** - *

                                                                  The address that you want the Snowball or Snowballs associated with a specific job to - * be shipped to.

                                                                  + *

                                                                  The ID for a job that you want to create the return shipping label for. For example + * JID123e4567-e89b-12d3-a456-426655440000.

                                                                  */ - Address?: Address; + JobId: string | undefined; + + /** + *

                                                                  The shipping speed for a particular job. This speed doesn't dictate how soon the device is returned to AWS. + * This speed represents how quickly it moves to its + * destination while in transit. Regional shipping speeds are as follows:

                                                                  + */ + ShippingOption?: ShippingOption | string; } -export namespace DescribeAddressResult { - export const filterSensitiveLog = (obj: DescribeAddressResult): any => ({ +export namespace CreateReturnShippingLabelRequest { + export const filterSensitiveLog = (obj: CreateReturnShippingLabelRequest): any => ({ ...obj, }); } -export interface DescribeAddressesRequest { +export enum ShippingLabelStatus { + FAILED = "Failed", + IN_PROGRESS = "InProgress", + SUCCEEDED = "Succeeded", + TIMED_OUT = "TimedOut", +} + +export interface CreateReturnShippingLabelResult { /** - *

                                                                  HTTP requests are stateless. To identify what object comes "next" in the list of - * ADDRESS objects, you have the option of specifying a value for - * NextToken as the starting point for your list of returned addresses.

                                                                  + *

                                                                  The status information of the task on a Snow device that is being returned to AWS.

                                                                  */ - NextToken?: string; + Status?: ShippingLabelStatus | string; +} +export namespace CreateReturnShippingLabelResult { + export const filterSensitiveLog = (obj: CreateReturnShippingLabelResult): any => ({ + ...obj, + }); +} + +/** + *

                                                                  You get this exception if you call CreateReturnShippingLabel and a valid return + * shipping label already exists. In this case, use + * DescribeReturnShippingLabel to get the url.

                                                                  + */ +export interface ReturnShippingLabelAlreadyExistsException extends __SmithyException, $MetadataBearer { + name: "ReturnShippingLabelAlreadyExistsException"; + $fault: "client"; + Message?: string; +} + +export namespace ReturnShippingLabelAlreadyExistsException { + export const filterSensitiveLog = (obj: ReturnShippingLabelAlreadyExistsException): any => ({ + ...obj, + }); +} + +export interface DescribeAddressRequest { + /** + *

                                                                  The automatically generated ID for a specific address.

                                                                  + */ + AddressId: string | undefined; +} + +export namespace DescribeAddressRequest { + export const filterSensitiveLog = (obj: DescribeAddressRequest): any => ({ + ...obj, + }); +} + +export interface DescribeAddressResult { + /** + *

                                                                  The address that you want the Snow device(s) associated with a specific job to + * be shipped to.

                                                                  + */ + Address?: Address; +} + +export namespace DescribeAddressResult { + export const filterSensitiveLog = (obj: DescribeAddressResult): any => ({ + ...obj, + }); +} + +export interface DescribeAddressesRequest { /** *

                                                                  The number of ADDRESS objects to return.

                                                                  */ MaxResults?: number; + + /** + *

                                                                  HTTP requests are stateless. To identify what object comes "next" in the list of + * ADDRESS objects, you have the option of specifying a value for + * NextToken as the starting point for your list of returned addresses.

                                                                  + */ + NextToken?: string; } export namespace DescribeAddressesRequest { @@ -929,7 +1003,7 @@ export namespace DescribeAddressesRequest { export interface DescribeAddressesResult { /** - *

                                                                  The Snowball shipping addresses that were created for this account.

                                                                  + *

                                                                  The Snow device shipping addresses that were created for this account.

                                                                  */ Addresses?: Address[]; @@ -989,32 +1063,6 @@ export enum ClusterState { *

                                                                  Contains metadata about a specific cluster.

                                                                  */ export interface ClusterMetadata { - /** - *

                                                                  The Amazon Simple Notification Service (Amazon SNS) notification settings for this - * cluster.

                                                                  - */ - Notification?: Notification; - - /** - *

                                                                  The arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.

                                                                  - */ - Resources?: JobResource; - - /** - *

                                                                  The current status of the cluster.

                                                                  - */ - ClusterState?: ClusterState | string; - - /** - *

                                                                  The automatically generated ID for a specific address.

                                                                  - */ - AddressId?: string; - - /** - *

                                                                  The automatically generated ID for a cluster.

                                                                  - */ - ClusterId?: string; - /** *

                                                                  The type of job for this cluster. Currently, the only job type supported for clusters * is LOCAL_USE.

                                                                  @@ -1028,36 +1076,15 @@ export interface ClusterMetadata { */ KmsKeyARN?: string; - /** - *

                                                                  The optional description of the cluster.

                                                                  - */ - Description?: string; - /** *

                                                                  The role ARN associated with this cluster. This ARN was created using the CreateRole * API action in AWS Identity and Access Management (IAM).

                                                                  */ RoleARN?: string; - /** - *

                                                                  The tax documents required in your AWS Region.

                                                                  - */ - TaxDocuments?: TaxDocuments; - - /** - *

                                                                  The creation date for this cluster.

                                                                  - */ - CreationDate?: Date; - - /** - *

                                                                  The ID of the address that you want a cluster shipped to, after it will be - * shipped to its primary address. This field is not supported in most regions.

                                                                  - */ - ForwardingAddressId?: string; - /** *

                                                                  The shipping speed for each node in this cluster. This speed doesn't dictate how soon - * you'll get each Snowball Edge device, rather it represents how quickly each device moves to + * you'll get each device, rather it represents how quickly each device moves to * its destination while in transit. Regional shipping speeds are as follows:

                                                                  * *
                                                                    @@ -1067,12 +1094,12 @@ export interface ClusterMetadata { * *
                                                                  • *

                                                                    In the European Union (EU), you have access to express shipping. Typically, - * Snowball Edges shipped express are delivered in about a day. In addition, most countries + * Snow devices shipped express are delivered in about a day. In addition, most countries * in the EU have access to standard shipping, which typically takes less than a week, one * way.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    In India, Snowball Edges are delivered in one to seven days.

                                                                    + *

                                                                    In India, Snow devices are delivered in one to seven days.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    In the US, you have access to one-day shipping and two-day shipping.

                                                                    @@ -1082,13 +1109,60 @@ export interface ClusterMetadata { ShippingOption?: ShippingOption | string; /** - *

                                                                    The type of AWS Snowball device to use for this cluster. + *

                                                                    The ID of the address that you want a cluster shipped to, after it will be + * shipped to its primary address. This field is not supported in most regions.

                                                                    + */ + ForwardingAddressId?: string; + + /** + *

                                                                    The type of AWS Snow device to use for this cluster. *

                                                                    * - *

                                                                    For cluster jobs, AWS Snowball currently supports only the EDGE device type.

                                                                    + *

                                                                    For cluster jobs, AWS Snow Family currently supports only the EDGE device type.

                                                                    *
                                                                    */ SnowballType?: SnowballType | string; + + /** + *

                                                                    The creation date for this cluster.

                                                                    + */ + CreationDate?: Date; + + /** + *

                                                                    The Amazon Simple Notification Service (Amazon SNS) notification settings for this + * cluster.

                                                                    + */ + Notification?: Notification; + + /** + *

                                                                    The tax documents required in your AWS Region.

                                                                    + */ + TaxDocuments?: TaxDocuments; + + /** + *

                                                                    The optional description of the cluster.

                                                                    + */ + Description?: string; + + /** + *

                                                                    The current status of the cluster.

                                                                    + */ + ClusterState?: ClusterState | string; + + /** + *

                                                                    The automatically generated ID for a specific address.

                                                                    + */ + AddressId?: string; + + /** + *

                                                                    The automatically generated ID for a cluster.

                                                                    + */ + ClusterId?: string; + + /** + *

                                                                    The arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.

                                                                    + */ + Resources?: JobResource; } export namespace ClusterMetadata { @@ -1126,32 +1200,32 @@ export namespace DescribeJobRequest { } /** - *

                                                                    Defines the real-time status of a Snowball's data transfer while the device is at AWS. + *

                                                                    Defines the real-time status of a Snow device's data transfer while the device is at AWS. * This data is only available while a job has a JobState value of * InProgress, for both import and export jobs.

                                                                    */ export interface DataTransfer { /** - *

                                                                    The number of objects transferred between a Snowball and Amazon S3.

                                                                    - */ - ObjectsTransferred?: number; - - /** - *

                                                                    The number of bytes transferred between a Snowball and Amazon S3.

                                                                    + *

                                                                    The number of bytes transferred between a Snow device and Amazon S3.

                                                                    */ BytesTransferred?: number; /** - *

                                                                    The total bytes of data for a transfer between a Snowball and Amazon S3. This value is - * set to 0 (zero) until all the keys that will be transferred have been listed.

                                                                    + *

                                                                    The number of objects transferred between a Snow device and Amazon S3.

                                                                    */ - TotalBytes?: number; + ObjectsTransferred?: number; /** - *

                                                                    The total number of objects for a transfer between a Snowball and Amazon S3. This value + *

                                                                    The total number of objects for a transfer between a Snow device and Amazon S3. This value * is set to 0 (zero) until all the keys that will be transferred have been listed.

                                                                    */ TotalObjects?: number; + + /** + *

                                                                    The total bytes of data for a transfer between a Snow device and Amazon S3. This value is + * set to 0 (zero) until all the keys that will be transferred have been listed.

                                                                    + */ + TotalBytes?: number; } export namespace DataTransfer { @@ -1161,7 +1235,7 @@ export namespace DataTransfer { } /** - *

                                                                    Contains job logs. Whenever Snowball is used to import data into or export data out of + *

                                                                    Contains job logs. Whenever a Snow device is used to import data into or export data out of * Amazon S3, you'll have the option of downloading a PDF job report. Job logs are returned as a * part of the response syntax of the DescribeJob action in the * JobMetadata data type. The job logs can be accessed for up to 60 minutes after @@ -1169,7 +1243,7 @@ export namespace DataTransfer { * have to make another call to the DescribeJob action.

                                                                    * *

                                                                    For import jobs, the PDF job report becomes available at the end of the import process. - * For export jobs, your job report typically becomes available while the Snowball for your job + * For export jobs, your job report typically becomes available while the Snow device for your job * part is being delivered to you.

                                                                    * *

                                                                    The job report provides you insight into the state of your Amazon S3 data transfer. The @@ -1188,14 +1262,14 @@ export interface JobLogs { JobCompletionReportURI?: string; /** - *

                                                                    A link to an Amazon S3 presigned URL where the job success log is located.

                                                                    + *

                                                                    A link to an Amazon S3 presigned URL where the job failure log is located.

                                                                    */ - JobSuccessLogURI?: string; + JobFailureLogURI?: string; /** - *

                                                                    A link to an Amazon S3 presigned URL where the job failure log is located.

                                                                    + *

                                                                    A link to an Amazon S3 presigned URL where the job success log is located.

                                                                    */ - JobFailureLogURI?: string; + JobSuccessLogURI?: string; } export namespace JobLogs { @@ -1211,7 +1285,7 @@ export namespace JobLogs { export interface Shipment { /** *

                                                                    The tracking number for this job. Using this tracking number with your region's - * carrier's website, you can track a Snowball as the carrier transports it.

                                                                    + * carrier's website, you can track a Snow device as the carrier transports it.

                                                                    *

                                                                    For India, the carrier is Amazon Logistics. For all other regions, UPS is the * carrier.

                                                                    */ @@ -1235,35 +1309,35 @@ export namespace Shipment { */ export interface ShippingDetails { /** - *

                                                                    The Status and TrackingNumber values for a Snowball being + *

                                                                    The Status and TrackingNumber values for a Snow device being * returned to AWS for a particular job.

                                                                    */ InboundShipment?: Shipment; /** - *

                                                                    The Status and TrackingNumber values for a Snowball being + *

                                                                    The Status and TrackingNumber values for a Snow device being * delivered to the address that you specified for a particular job.

                                                                    */ OutboundShipment?: Shipment; /** *

                                                                    The shipping speed for a particular job. This speed doesn't dictate how soon you'll get - * the Snowball from the job's creation date. This speed represents how quickly it moves to its + * the Snow device from the job's creation date. This speed represents how quickly it moves to its * destination while in transit. Regional shipping speeds are as follows:

                                                                    * *
                                                                      *
                                                                    • - *

                                                                      In Australia, you have access to express shipping. Typically, Snowballs shipped + *

                                                                      In Australia, you have access to express shipping. Typically, Snow devices shipped * express are delivered in about a day.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      In the European Union (EU), you have access to express shipping. Typically, - * Snowballs shipped express are delivered in about a day. In addition, most countries in the + * Snow devices shipped express are delivered in about a day. In addition, most countries in the * EU have access to standard shipping, which typically takes less than a week, one * way.

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      In India, Snowballs are delivered in one to seven days.

                                                                      + *

                                                                      In India, Snow device are delivered in one to seven days.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      In the United States of America (US), you have access to one-day shipping and @@ -1287,26 +1361,29 @@ export namespace ShippingDetails { */ export interface JobMetadata { /** - *

                                                                      A value that defines the real-time status of a Snowball's data transfer while the - * device is at AWS. This data is only available while a job has a JobState value of - * InProgress, for both import and export jobs.

                                                                      + *

                                                                      The ID of the address that you want a job shipped to, after it will be + * shipped to its primary address. This field is not supported in most regions.

                                                                      */ - DataTransferProgress?: DataTransfer; + ForwardingAddressId?: string; /** - *

                                                                      An array of S3Resource objects. Each S3Resource object - * represents an Amazon S3 bucket that your transferred data will be exported from or imported - * into.

                                                                      + *

                                                                      The role ARN associated with this job. This ARN was created using the CreateRole + * API action in AWS Identity and Access Management (IAM).

                                                                      */ - Resources?: JobResource; + RoleARN?: string; /** - *

                                                                      Links to Amazon S3 presigned URLs for the job report and logs. For import jobs, the PDF - * job report becomes available at the end of the import process. For export jobs, your job - * report typically becomes available while the Snowball for your job part is being delivered to - * you.

                                                                      + *

                                                                      A job's shipping information, including inbound and outbound tracking numbers and + * shipping speed options.

                                                                      */ - JobLogInfo?: JobLogs; + ShippingDetails?: ShippingDetails; + + /** + *

                                                                      The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key + * associated with this job. This ARN was created using the CreateKey API action in AWS + * KMS.

                                                                      + */ + KmsKeyARN?: string; /** *

                                                                      The Amazon Simple Notification Service (Amazon SNS) notification settings associated @@ -1321,11 +1398,6 @@ export interface JobMetadata { */ JobState?: JobState | string; - /** - *

                                                                      The type of device used with this job.

                                                                      - */ - SnowballType?: SnowballType | string; - /** *

                                                                      The 39-character ID for the cluster, for example * CID123e4567-e89b-12d3-a456-426655440000.

                                                                      @@ -1333,36 +1405,41 @@ export interface JobMetadata { ClusterId?: string; /** - *

                                                                      The metadata associated with the tax documents required in your AWS Region.

                                                                      + *

                                                                      Links to Amazon S3 presigned URLs for the job report and logs. For import jobs, the PDF + * job report becomes available at the end of the import process. For export jobs, your job + * report typically becomes available while the Snow device for your job part is being delivered to + * you.

                                                                      */ - TaxDocuments?: TaxDocuments; + JobLogInfo?: JobLogs; /** - *

                                                                      The Snowball capacity preference for this job, specified at job creation. In US - * regions, you can choose between 50 TB and 80 TB Snowballs. All other regions use 80 TB - * capacity Snowballs.

                                                                      + *

                                                                      The type of device used with this job.

                                                                      */ - SnowballCapacityPreference?: SnowballCapacity | string; + SnowballType?: SnowballType | string; /** - *

                                                                      The ID for the address that you want the Snowball shipped to.

                                                                      + *

                                                                      An array of S3Resource objects. Each S3Resource object + * represents an Amazon S3 bucket that your transferred data will be exported from or imported + * into.

                                                                      */ - AddressId?: string; + Resources?: JobResource; /** - *

                                                                      The creation date for this job.

                                                                      + *

                                                                      The description of the job, provided at job creation.

                                                                      */ - CreationDate?: Date; + Description?: string; /** - *

                                                                      The type of job.

                                                                      + *

                                                                      The ID for the address that you want the Snow device shipped to.

                                                                      */ - JobType?: JobType | string; + AddressId?: string; /** - *

                                                                      The description of the job, provided at job creation.

                                                                      + *

                                                                      The Snow device capacity preference for this job, specified at job creation. In US + * regions, you can choose between 50 TB and 80 TB Snowballs. All other regions use 80 TB + * capacity Snowballs.

                                                                      */ - Description?: string; + SnowballCapacityPreference?: SnowballCapacity | string; /** *

                                                                      The automatically generated ID for a job, for example @@ -1376,29 +1453,26 @@ export interface JobMetadata { DeviceConfiguration?: DeviceConfiguration; /** - *

                                                                      A job's shipping information, including inbound and outbound tracking numbers and - * shipping speed options.

                                                                      + *

                                                                      The creation date for this job.

                                                                      */ - ShippingDetails?: ShippingDetails; + CreationDate?: Date; /** - *

                                                                      The role ARN associated with this job. This ARN was created using the CreateRole - * API action in AWS Identity and Access Management (IAM).

                                                                      + *

                                                                      The type of job.

                                                                      */ - RoleARN?: string; + JobType?: JobType | string; /** - *

                                                                      The ID of the address that you want a job shipped to, after it will be - * shipped to its primary address. This field is not supported in most regions.

                                                                      + *

                                                                      A value that defines the real-time status of a Snow device's data transfer while the + * device is at AWS. This data is only available while a job has a JobState value of + * InProgress, for both import and export jobs.

                                                                      */ - ForwardingAddressId?: string; + DataTransferProgress?: DataTransfer; /** - *

                                                                      The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key - * associated with this job. This ARN was created using the CreateKey API action in AWS - * KMS.

                                                                      + *

                                                                      The metadata associated with the tax documents required in your AWS Region.

                                                                      */ - KmsKeyARN?: string; + TaxDocuments?: TaxDocuments; } export namespace JobMetadata { @@ -1427,6 +1501,38 @@ export namespace DescribeJobResult { }); } +export interface DescribeReturnShippingLabelRequest { + /** + *

                                                                      The automatically generated ID for a job, for example + * JID123e4567-e89b-12d3-a456-426655440000.

                                                                      + */ + JobId?: string; +} + +export namespace DescribeReturnShippingLabelRequest { + export const filterSensitiveLog = (obj: DescribeReturnShippingLabelRequest): any => ({ + ...obj, + }); +} + +export interface DescribeReturnShippingLabelResult { + /** + *

                                                                      The status information of the task on a Snow device that is being returned to AWS.

                                                                      + */ + Status?: ShippingLabelStatus | string; + + /** + *

                                                                      The expiration date of the current return shipping label.

                                                                      + */ + ExpirationDate?: Date; +} + +export namespace DescribeReturnShippingLabelResult { + export const filterSensitiveLog = (obj: DescribeReturnShippingLabelResult): any => ({ + ...obj, + }); +} + export interface GetJobManifestRequest { /** *

                                                                      The ID for a job that you want to get the manifest file for, for example @@ -1493,13 +1599,13 @@ export namespace GetSnowballUsageRequest { export interface GetSnowballUsageResult { /** - *

                                                                      The service limit for number of Snowballs this account can have at once. The default + *

                                                                      The service limit for number of Snow devices this account can have at once. The default * service limit is 1 (one).

                                                                      */ SnowballLimit?: number; /** - *

                                                                      The number of Snowballs that this account is currently using.

                                                                      + *

                                                                      The number of Snow devices that this account is currently using.

                                                                      */ SnowballsInUse?: number; } @@ -1540,6 +1646,12 @@ export namespace GetSoftwareUpdatesResult { } export interface ListClusterJobsRequest { + /** + *

                                                                      The 39-character ID for the cluster that you want to list, for example + * CID123e4567-e89b-12d3-a456-426655440000.

                                                                      + */ + ClusterId: string | undefined; + /** *

                                                                      HTTP requests are stateless. To identify what object comes "next" in the list of * JobListEntry objects, you have the option of specifying NextToken @@ -1547,12 +1659,6 @@ export interface ListClusterJobsRequest { */ NextToken?: string; - /** - *

                                                                      The 39-character ID for the cluster that you want to list, for example - * CID123e4567-e89b-12d3-a456-426655440000.

                                                                      - */ - ClusterId: string | undefined; - /** *

                                                                      The number of JobListEntry objects to return.

                                                                      */ @@ -1576,40 +1682,40 @@ export interface JobListEntry { JobState?: JobState | string; /** - *

                                                                      The automatically generated ID for a job, for example - * JID123e4567-e89b-12d3-a456-426655440000.

                                                                      + *

                                                                      The type of job.

                                                                      */ - JobId?: string; + JobType?: JobType | string; /** - *

                                                                      A value that indicates that this job is a master job. A master job represents a - * successful request to create an export job. Master jobs aren't associated with any Snowballs. - * Instead, each master job will have at least one job part, and each job part is associated with - * a Snowball. It might take some time before the job parts associated with a particular master - * job are listed, because they are created after the master job is created.

                                                                      + *

                                                                      A value that indicates that this job is a main job. A main job represents a + * successful request to create an export job. Main jobs aren't associated with any Snowballs. + * Instead, each main job will have at least one job part, and each job part is associated with + * a Snowball. It might take some time before the job parts associated with a particular main + * job are listed, because they are created after the main job is created.

                                                                      */ IsMaster?: boolean; /** - *

                                                                      The optional description of this specific job, for example Important Photos - * 2016-08-11.

                                                                      + *

                                                                      The automatically generated ID for a job, for example + * JID123e4567-e89b-12d3-a456-426655440000.

                                                                      */ - Description?: string; + JobId?: string; /** - *

                                                                      The type of device used with this job.

                                                                      + *

                                                                      The optional description of this specific job, for example Important Photos + * 2016-08-11.

                                                                      */ - SnowballType?: SnowballType | string; + Description?: string; /** - *

                                                                      The type of job.

                                                                      + *

                                                                      The creation date for this job.

                                                                      */ - JobType?: JobType | string; + CreationDate?: Date; /** - *

                                                                      The creation date for this job.

                                                                      + *

                                                                      The type of device used with this job.

                                                                      */ - CreationDate?: Date; + SnowballType?: SnowballType | string; } export namespace JobListEntry { @@ -1619,18 +1725,18 @@ export namespace JobListEntry { } export interface ListClusterJobsResult { + /** + *

                                                                      Each JobListEntry object contains a job's state, a job's ID, and a value + * that indicates whether the job is a job part, in the case of export jobs.

                                                                      + */ + JobListEntries?: JobListEntry[]; + /** *

                                                                      HTTP requests are stateless. If you use the automatically generated * NextToken value in your next ListClusterJobsResult call, your list * of returned jobs will start from this point in the array.

                                                                      */ NextToken?: string; - - /** - *

                                                                      Each JobListEntry object contains a job's state, a job's ID, and a value - * that indicates whether the job is a job part, in the case of export jobs.

                                                                      - */ - JobListEntries?: JobListEntry[]; } export namespace ListClusterJobsResult { @@ -1663,12 +1769,6 @@ export namespace ListClustersRequest { *

                                                                      Contains a cluster's state, a cluster's ID, and other important information.

                                                                      */ export interface ClusterListEntry { - /** - *

                                                                      Defines an optional description of the cluster, for example Environmental Data - * Cluster-01.

                                                                      - */ - Description?: string; - /** *

                                                                      The 39-character ID for the cluster that you want to list, for example * CID123e4567-e89b-12d3-a456-426655440000.

                                                                      @@ -1680,6 +1780,12 @@ export interface ClusterListEntry { */ CreationDate?: Date; + /** + *

                                                                      Defines an optional description of the cluster, for example Environmental Data + * Cluster-01.

                                                                      + */ + Description?: string; + /** *

                                                                      The current state of this cluster. For information about the state of a specific node, * see JobListEntry$JobState.

                                                                      @@ -1737,7 +1843,7 @@ export namespace ListCompatibleImagesRequest { /** *

                                                                      A JSON-formatted object that describes a compatible Amazon Machine Image (AMI), - * including the ID and name for a Snowball Edge AMI. This AMI is compatible with the device's + * including the ID and name for a Snow device AMI. This AMI is compatible with the device's * physical hardware requirements, and it should be able to be run in an SBE1 instance on the * device.

                                                                      */ @@ -1748,7 +1854,7 @@ export interface CompatibleImage { Name?: string; /** - *

                                                                      The unique identifier for an individual Snowball Edge AMI.

                                                                      + *

                                                                      The unique identifier for an individual Snow device AMI.

                                                                      */ AmiId?: string; } @@ -1760,17 +1866,17 @@ export namespace CompatibleImage { } export interface ListCompatibleImagesResult { - /** - *

                                                                      A JSON-formatted object that describes a compatible AMI, including the ID and name for - * a Snowball Edge AMI.

                                                                      - */ - CompatibleImages?: CompatibleImage[]; - /** *

                                                                      Because HTTP requests are stateless, this is the starting point for your next list of * returned images.

                                                                      */ NextToken?: string; + + /** + *

                                                                      A JSON-formatted object that describes a compatible AMI, including the ID and name for + * a Snow device AMI.

                                                                      + */ + CompatibleImages?: CompatibleImage[]; } export namespace ListCompatibleImagesResult { @@ -1800,18 +1906,18 @@ export namespace ListJobsRequest { } export interface ListJobsResult { - /** - *

                                                                      Each JobListEntry object contains a job's state, a job's ID, and a value - * that indicates whether the job is a job part, in the case of export jobs.

                                                                      - */ - JobListEntries?: JobListEntry[]; - /** *

                                                                      HTTP requests are stateless. If you use this automatically generated * NextToken value in your next ListJobs call, your returned * JobListEntry objects will start from this point in the array.

                                                                      */ NextToken?: string; + + /** + *

                                                                      Each JobListEntry object contains a job's state, a job's ID, and a value + * that indicates whether the job is a job part, in the case of export jobs.

                                                                      + */ + JobListEntries?: JobListEntry[]; } export namespace ListJobsResult { @@ -1821,6 +1927,13 @@ export namespace ListJobsResult { } export interface UpdateClusterRequest { + /** + *

                                                                      The new role Amazon Resource Name (ARN) that you want to associate with this cluster. + * To create a role ARN, use the CreateRole API action in AWS + * Identity and Access Management (IAM).

                                                                      + */ + RoleARN?: string; + /** *

                                                                      The updated ID for the forwarding address for a cluster. This field is not * supported in most regions.

                                                                      @@ -1828,10 +1941,14 @@ export interface UpdateClusterRequest { ForwardingAddressId?: string; /** - *

                                                                      The updated shipping option value of this cluster's ShippingDetails - * object.

                                                                      + *

                                                                      The updated description of this cluster.

                                                                      */ - ShippingOption?: ShippingOption | string; + Description?: string; + + /** + *

                                                                      The ID of the updated Address object.

                                                                      + */ + AddressId?: string; /** *

                                                                      The cluster ID of the cluster that you want to update, for example @@ -1840,9 +1957,10 @@ export interface UpdateClusterRequest { ClusterId: string | undefined; /** - *

                                                                      The updated description of this cluster.

                                                                      + *

                                                                      The updated shipping option value of this cluster's ShippingDetails + * object.

                                                                      */ - Description?: string; + ShippingOption?: ShippingOption | string; /** *

                                                                      The updated arrays of JobResource objects that can include updated @@ -1850,22 +1968,10 @@ export interface UpdateClusterRequest { */ Resources?: JobResource; - /** - *

                                                                      The ID of the updated Address object.

                                                                      - */ - AddressId?: string; - /** *

                                                                      The new or updated Notification object.

                                                                      */ Notification?: Notification; - - /** - *

                                                                      The new role Amazon Resource Name (ARN) that you want to associate with this cluster. - * To create a role ARN, use the CreateRole API action in AWS - * Identity and Access Management (IAM).

                                                                      - */ - RoleARN?: string; } export namespace UpdateClusterRequest { @@ -1884,16 +1990,11 @@ export namespace UpdateClusterResult { export interface UpdateJobRequest { /** - *

                                                                      The updated shipping option value of this job's ShippingDetails - * object.

                                                                      - */ - ShippingOption?: ShippingOption | string; - - /** - *

                                                                      The updated ID for the forwarding address for a job. This field is not - * supported in most regions.

                                                                      + *

                                                                      The new role Amazon Resource Name (ARN) that you want to associate with this job. To + * create a role ARN, use the CreateRoleAWS Identity and Access + * Management (IAM) API action.

                                                                      */ - ForwardingAddressId?: string; + RoleARN?: string; /** *

                                                                      The updated description of this job's JobMetadata object.

                                                                      @@ -1901,14 +2002,15 @@ export interface UpdateJobRequest { Description?: string; /** - *

                                                                      The ID of the updated Address object.

                                                                      + *

                                                                      The updated SnowballCapacityPreference of this job's JobMetadata object. The 50 TB Snowballs are only available in the US + * regions.

                                                                      */ - AddressId?: string; + SnowballCapacityPreference?: SnowballCapacity | string; /** - *

                                                                      The new or updated Notification object.

                                                                      + *

                                                                      The ID of the updated Address object.

                                                                      */ - Notification?: Notification; + AddressId?: string; /** *

                                                                      The job ID of the job that you want to update, for example @@ -1917,22 +2019,26 @@ export interface UpdateJobRequest { JobId: string | undefined; /** - *

                                                                      The new role Amazon Resource Name (ARN) that you want to associate with this job. To - * create a role ARN, use the CreateRoleAWS Identity and Access - * Management (IAM) API action.

                                                                      + *

                                                                      The new or updated Notification object.

                                                                      */ - RoleARN?: string; + Notification?: Notification; /** - *

                                                                      The updated SnowballCapacityPreference of this job's JobMetadata object. The 50 TB Snowballs are only available in the US - * regions.

                                                                      + *

                                                                      The updated JobResource object, or the updated JobResource object.

                                                                      */ - SnowballCapacityPreference?: SnowballCapacity | string; + Resources?: JobResource; /** - *

                                                                      The updated JobResource object, or the updated JobResource object.

                                                                      + *

                                                                      The updated ID for the forwarding address for a job. This field is not + * supported in most regions.

                                                                      */ - Resources?: JobResource; + ForwardingAddressId?: string; + + /** + *

                                                                      The updated shipping option value of this job's ShippingDetails + * object.

                                                                      + */ + ShippingOption?: ShippingOption | string; } export namespace UpdateJobRequest { @@ -1948,3 +2054,37 @@ export namespace UpdateJobResult { ...obj, }); } + +export enum ShipmentState { + RECEIVED = "RECEIVED", + RETURNED = "RETURNED", +} + +export interface UpdateJobShipmentStateRequest { + /** + *

                                                                      The job ID of the job whose shipment date you want to update, for example + * JID123e4567-e89b-12d3-a456-426655440000.

                                                                      + */ + JobId: string | undefined; + + /** + *

                                                                      The state of a device when it is being shipped.

                                                                      + *

                                                                      Set to RECEIVED when the device arrives at your location.

                                                                      + *

                                                                      Set to RETURNED when you have returned the device to AWS.

                                                                      + */ + ShipmentState: ShipmentState | string | undefined; +} + +export namespace UpdateJobShipmentStateRequest { + export const filterSensitiveLog = (obj: UpdateJobShipmentStateRequest): any => ({ + ...obj, + }); +} + +export interface UpdateJobShipmentStateResult {} + +export namespace UpdateJobShipmentStateResult { + export const filterSensitiveLog = (obj: UpdateJobShipmentStateResult): any => ({ + ...obj, + }); +} diff --git a/clients/client-snowball/protocols/Aws_json1_1.ts b/clients/client-snowball/protocols/Aws_json1_1.ts index a386bc9559ad..9d366d5cc8ed 100644 --- a/clients/client-snowball/protocols/Aws_json1_1.ts +++ b/clients/client-snowball/protocols/Aws_json1_1.ts @@ -3,10 +3,18 @@ import { CancelJobCommandInput, CancelJobCommandOutput } from "../commands/Cance import { CreateAddressCommandInput, CreateAddressCommandOutput } from "../commands/CreateAddressCommand"; import { CreateClusterCommandInput, CreateClusterCommandOutput } from "../commands/CreateClusterCommand"; import { CreateJobCommandInput, CreateJobCommandOutput } from "../commands/CreateJobCommand"; +import { + CreateReturnShippingLabelCommandInput, + CreateReturnShippingLabelCommandOutput, +} from "../commands/CreateReturnShippingLabelCommand"; import { DescribeAddressCommandInput, DescribeAddressCommandOutput } from "../commands/DescribeAddressCommand"; import { DescribeAddressesCommandInput, DescribeAddressesCommandOutput } from "../commands/DescribeAddressesCommand"; import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "../commands/DescribeClusterCommand"; import { DescribeJobCommandInput, DescribeJobCommandOutput } from "../commands/DescribeJobCommand"; +import { + DescribeReturnShippingLabelCommandInput, + DescribeReturnShippingLabelCommandOutput, +} from "../commands/DescribeReturnShippingLabelCommand"; import { GetJobManifestCommandInput, GetJobManifestCommandOutput } from "../commands/GetJobManifestCommand"; import { GetJobUnlockCodeCommandInput, GetJobUnlockCodeCommandOutput } from "../commands/GetJobUnlockCodeCommand"; import { GetSnowballUsageCommandInput, GetSnowballUsageCommandOutput } from "../commands/GetSnowballUsageCommand"; @@ -20,6 +28,10 @@ import { import { ListJobsCommandInput, ListJobsCommandOutput } from "../commands/ListJobsCommand"; import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "../commands/UpdateClusterCommand"; import { UpdateJobCommandInput, UpdateJobCommandOutput } from "../commands/UpdateJobCommand"; +import { + UpdateJobShipmentStateCommandInput, + UpdateJobShipmentStateCommandOutput, +} from "../commands/UpdateJobShipmentStateCommand"; import { Address, CancelClusterRequest, @@ -30,12 +42,15 @@ import { ClusterListEntry, ClusterMetadata, CompatibleImage, + ConflictException, CreateAddressRequest, CreateAddressResult, CreateClusterRequest, CreateClusterResult, CreateJobRequest, CreateJobResult, + CreateReturnShippingLabelRequest, + CreateReturnShippingLabelResult, DataTransfer, DescribeAddressRequest, DescribeAddressResult, @@ -45,6 +60,8 @@ import { DescribeClusterResult, DescribeJobRequest, DescribeJobResult, + DescribeReturnShippingLabelRequest, + DescribeReturnShippingLabelResult, DeviceConfiguration, Ec2AmiResource, Ec2RequestFailedException, @@ -80,6 +97,7 @@ import { ListJobsRequest, ListJobsResult, Notification, + ReturnShippingLabelAlreadyExistsException, S3Resource, Shipment, ShippingDetails, @@ -90,6 +108,8 @@ import { UpdateClusterResult, UpdateJobRequest, UpdateJobResult, + UpdateJobShipmentStateRequest, + UpdateJobShipmentStateResult, WirelessConnection, } from "../models/models_0"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; @@ -167,6 +187,19 @@ export const serializeAws_json1_1CreateJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateReturnShippingLabelCommand = async ( + input: CreateReturnShippingLabelCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSIESnowballJobManagementService.CreateReturnShippingLabel", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateReturnShippingLabelRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeAddressCommand = async ( input: DescribeAddressCommandInput, context: __SerdeContext @@ -219,6 +252,19 @@ export const serializeAws_json1_1DescribeJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeReturnShippingLabelCommand = async ( + input: DescribeReturnShippingLabelCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSIESnowballJobManagementService.DescribeReturnShippingLabel", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeReturnShippingLabelRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetJobManifestCommand = async ( input: GetJobManifestCommandInput, context: __SerdeContext @@ -349,6 +395,19 @@ export const serializeAws_json1_1UpdateJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateJobShipmentStateCommand = async ( + input: UpdateJobShipmentStateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "AWSIESnowballJobManagementService.UpdateJobShipmentState", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateJobShipmentStateRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const deserializeAws_json1_1CancelClusterCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -720,6 +779,93 @@ const deserializeAws_json1_1CreateJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1CreateReturnShippingLabelCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateReturnShippingLabelCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateReturnShippingLabelResult(data, context); + const response: CreateReturnShippingLabelCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateReturnShippingLabelCommandError = 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 "ConflictException": + case "com.amazonaws.snowball#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidInputCombinationException": + case "com.amazonaws.snowball#InvalidInputCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidInputCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidJobStateException": + case "com.amazonaws.snowball#InvalidJobStateException": + response = { + ...(await deserializeAws_json1_1InvalidJobStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidResourceException": + case "com.amazonaws.snowball#InvalidResourceException": + response = { + ...(await deserializeAws_json1_1InvalidResourceExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ReturnShippingLabelAlreadyExistsException": + case "com.amazonaws.snowball#ReturnShippingLabelAlreadyExistsException": + response = { + ...(await deserializeAws_json1_1ReturnShippingLabelAlreadyExistsExceptionResponse(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_1DescribeAddressCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -948,6 +1094,77 @@ const deserializeAws_json1_1DescribeJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeReturnShippingLabelCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeReturnShippingLabelCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeReturnShippingLabelResult(data, context); + const response: DescribeReturnShippingLabelCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeReturnShippingLabelCommandError = 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 "ConflictException": + case "com.amazonaws.snowball#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidJobStateException": + case "com.amazonaws.snowball#InvalidJobStateException": + response = { + ...(await deserializeAws_json1_1InvalidJobStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidResourceException": + case "com.amazonaws.snowball#InvalidResourceException": + response = { + ...(await deserializeAws_json1_1InvalidResourceExceptionResponse(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_1GetJobManifestCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1602,6 +1819,69 @@ const deserializeAws_json1_1UpdateJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateJobShipmentStateCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateJobShipmentStateCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateJobShipmentStateResult(data, context); + const response: UpdateJobShipmentStateCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateJobShipmentStateCommandError = 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 "InvalidJobStateException": + case "com.amazonaws.snowball#InvalidJobStateException": + response = { + ...(await deserializeAws_json1_1InvalidJobStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidResourceException": + case "com.amazonaws.snowball#InvalidResourceException": + response = { + ...(await deserializeAws_json1_1InvalidResourceExceptionResponse(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_json1_1ClusterLimitExceededExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -1617,6 +1897,21 @@ const deserializeAws_json1_1ClusterLimitExceededExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ConflictException(body, context); + const contents: ConflictException = { + name: "ConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1Ec2RequestFailedExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -1722,6 +2017,21 @@ const deserializeAws_json1_1KMSRequestFailedExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1ReturnShippingLabelAlreadyExistsExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ReturnShippingLabelAlreadyExistsException(body, context); + const contents: ReturnShippingLabelAlreadyExistsException = { + name: "ReturnShippingLabelAlreadyExistsException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1UnsupportedAddressExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -1821,6 +2131,16 @@ const serializeAws_json1_1CreateJobRequest = (input: CreateJobRequest, context: }; }; +const serializeAws_json1_1CreateReturnShippingLabelRequest = ( + input: CreateReturnShippingLabelRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobId !== undefined && { JobId: input.JobId }), + ...(input.ShippingOption !== undefined && { ShippingOption: input.ShippingOption }), + }; +}; + const serializeAws_json1_1DescribeAddressesRequest = ( input: DescribeAddressesRequest, context: __SerdeContext @@ -1849,6 +2169,15 @@ const serializeAws_json1_1DescribeJobRequest = (input: DescribeJobRequest, conte }; }; +const serializeAws_json1_1DescribeReturnShippingLabelRequest = ( + input: DescribeReturnShippingLabelRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobId !== undefined && { JobId: input.JobId }), + }; +}; + const serializeAws_json1_1DeviceConfiguration = (input: DeviceConfiguration, context: __SerdeContext): any => { return { ...(input.SnowconeDeviceConfiguration !== undefined && { @@ -2056,6 +2385,16 @@ const serializeAws_json1_1UpdateJobRequest = (input: UpdateJobRequest, context: }; }; +const serializeAws_json1_1UpdateJobShipmentStateRequest = ( + input: UpdateJobShipmentStateRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobId !== undefined && { JobId: input.JobId }), + ...(input.ShipmentState !== undefined && { ShipmentState: input.ShipmentState }), + }; +}; + const serializeAws_json1_1WirelessConnection = (input: WirelessConnection, context: __SerdeContext): any => { return { ...(input.IsWifiEnabled !== undefined && { IsWifiEnabled: input.IsWifiEnabled }), @@ -2168,6 +2507,14 @@ const deserializeAws_json1_1CompatibleImageList = (output: any, context: __Serde return (output || []).map((entry: any) => deserializeAws_json1_1CompatibleImage(entry, context)); }; +const deserializeAws_json1_1ConflictException = (output: any, context: __SerdeContext): ConflictException => { + return { + ConflictResource: + output.ConflictResource !== undefined && output.ConflictResource !== null ? output.ConflictResource : undefined, + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1CreateAddressResult = (output: any, context: __SerdeContext): CreateAddressResult => { return { AddressId: output.AddressId !== undefined && output.AddressId !== null ? output.AddressId : undefined, @@ -2186,6 +2533,15 @@ const deserializeAws_json1_1CreateJobResult = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_json1_1CreateReturnShippingLabelResult = ( + output: any, + context: __SerdeContext +): CreateReturnShippingLabelResult => { + return { + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + const deserializeAws_json1_1DataTransfer = (output: any, context: __SerdeContext): DataTransfer => { return { BytesTransferred: @@ -2243,6 +2599,19 @@ const deserializeAws_json1_1DescribeJobResult = (output: any, context: __SerdeCo } as any; }; +const deserializeAws_json1_1DescribeReturnShippingLabelResult = ( + output: any, + context: __SerdeContext +): DescribeReturnShippingLabelResult => { + return { + ExpirationDate: + output.ExpirationDate !== undefined && output.ExpirationDate !== null + ? new Date(Math.round(output.ExpirationDate * 1000)) + : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + const deserializeAws_json1_1DeviceConfiguration = (output: any, context: __SerdeContext): DeviceConfiguration => { return { SnowconeDeviceConfiguration: @@ -2564,6 +2933,15 @@ const deserializeAws_json1_1Notification = (output: any, context: __SerdeContext } as any; }; +const deserializeAws_json1_1ReturnShippingLabelAlreadyExistsException = ( + output: any, + context: __SerdeContext +): ReturnShippingLabelAlreadyExistsException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1S3Resource = (output: any, context: __SerdeContext): S3Resource => { return { BucketArn: output.BucketArn !== undefined && output.BucketArn !== null ? output.BucketArn : undefined, @@ -2639,6 +3017,13 @@ const deserializeAws_json1_1UpdateJobResult = (output: any, context: __SerdeCont return {} as any; }; +const deserializeAws_json1_1UpdateJobShipmentStateResult = ( + output: any, + context: __SerdeContext +): UpdateJobShipmentStateResult => { + return {} as any; +}; + const deserializeAws_json1_1WirelessConnection = (output: any, context: __SerdeContext): WirelessConnection => { return { IsWifiEnabled: diff --git a/clients/client-sns/SNS.ts b/clients/client-sns/SNS.ts index c27c18235861..610bcdfb3c98 100644 --- a/clients/client-sns/SNS.ts +++ b/clients/client-sns/SNS.ts @@ -373,7 +373,7 @@ export class SNS extends SNSClient { /** *

                                                                      Creates a topic to which notifications can be published. Users can create at most - * 100,000 standard topics (at most 1,000 FIFO topics). For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester + * 100,000 topics. For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester * already owns a topic with the specified name, that topic's ARN is returned without * creating a new topic.

                                                                      */ diff --git a/clients/client-sns/models/models_0.ts b/clients/client-sns/models/models_0.ts index ed6568576be2..b1e2b44e3b3f 100644 --- a/clients/client-sns/models/models_0.ts +++ b/clients/client-sns/models/models_0.ts @@ -165,6 +165,11 @@ export interface ConfirmSubscriptionInput { */ Token: string | undefined; + /** + *

                                                                      The ARN of the topic for which you wish to confirm a subscription.

                                                                      + */ + TopicArn: string | undefined; + /** *

                                                                      Disallows unauthenticated unsubscribes of the subscription. If the value of this * parameter is true and the request has an AWS signature, then only the topic @@ -172,11 +177,6 @@ export interface ConfirmSubscriptionInput { * requires AWS authentication.

                                                                      */ AuthenticateOnUnsubscribe?: string; - - /** - *

                                                                      The ARN of the topic for which you wish to confirm a subscription.

                                                                      - */ - TopicArn: string | undefined; } export namespace ConfirmSubscriptionInput { @@ -239,10 +239,11 @@ export namespace SubscriptionLimitExceededException { */ export interface CreatePlatformApplicationInput { /** - *

                                                                      For a list of attributes, see SetPlatformApplicationAttributes - *

                                                                      + *

                                                                      Application names must be made up of only uppercase and lowercase ASCII letters, + * numbers, underscores, hyphens, and periods, and must be between 1 and 256 characters + * long.

                                                                      */ - Attributes: { [key: string]: string } | undefined; + Name: string | undefined; /** *

                                                                      The following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple Push @@ -251,11 +252,10 @@ export interface CreatePlatformApplicationInput { Platform: string | undefined; /** - *

                                                                      Application names must be made up of only uppercase and lowercase ASCII letters, - * numbers, underscores, hyphens, and periods, and must be between 1 and 256 characters - * long.

                                                                      + *

                                                                      For a list of attributes, see SetPlatformApplicationAttributes + *

                                                                      */ - Name: string | undefined; + Attributes: { [key: string]: string } | undefined; } export namespace CreatePlatformApplicationInput { @@ -305,12 +305,6 @@ export interface CreatePlatformEndpointInput { */ Attributes?: { [key: string]: string }; - /** - *

                                                                      PlatformApplicationArn returned from CreatePlatformApplication is used to create a an - * endpoint.

                                                                      - */ - PlatformApplicationArn: string | undefined; - /** *

                                                                      Arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The * data must be in UTF-8 format and less than 2KB.

                                                                      @@ -325,6 +319,12 @@ export interface CreatePlatformEndpointInput { * equivalent is called the registration ID.

                                                                      */ Token: string | undefined; + + /** + *

                                                                      PlatformApplicationArn returned from CreatePlatformApplication is used to create a an + * endpoint.

                                                                      + */ + PlatformApplicationArn: string | undefined; } export namespace CreatePlatformEndpointInput { @@ -399,10 +399,6 @@ export interface CreateTopicInput { *
                                                                    • *
                                                                    • *

                                                                      - * FifoTopic – Set to true to create a FIFO topic.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      * Policy – The policy that defines who can access your * topic. By default, only the topic owner can publish or subscribe to the * topic.

                                                                      @@ -413,36 +409,12 @@ export interface CreateTopicInput { *
                                                                        *
                                                                      • *

                                                                        - * KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK) + * KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) * for Amazon SNS or a custom CMK. For more information, see Key * Terms. For more examples, see KeyId in the AWS Key Management Service API * Reference.

                                                                        *
                                                                      • *
                                                                      - * - * - *

                                                                      The following attribute applies only to FIFO topics:

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        - * ContentBasedDeduplication – Enables content-based deduplication. Amazon SNS uses a SHA-256 hash to - * generate the MessageDeduplicationId using the body of the message (but not the - * attributes of the message).

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        - * When ContentBasedDeduplication is in effect, messages with identical content sent - * within the deduplication interval are treated as duplicates and only one copy of the message is - * delivered. - *

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        - * If the queue has ContentBasedDeduplication set, your MessageDeduplicationId - * overrides the generated one. - *

                                                                        - *
                                                                      • - *
                                                                      */ Attributes?: { [key: string]: string }; @@ -451,7 +423,6 @@ export interface CreateTopicInput { *

                                                                      Constraints: Topic names must be made up of only uppercase and lowercase ASCII * letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters * long.

                                                                      - *

                                                                      For a FIFO (first-in-first-out) topic, the name must end with the .fifo suffix.

                                                                      */ Name: string | undefined; } @@ -1013,18 +984,18 @@ export namespace ListPhoneNumbersOptedOutInput { *

                                                                      The response from the ListPhoneNumbersOptedOut action.

                                                                      */ export interface ListPhoneNumbersOptedOutResponse { + /** + *

                                                                      A list of phone numbers that are opted out of receiving SMS messages. The list is + * paginated, and each page can contain up to 100 phone numbers.

                                                                      + */ + phoneNumbers?: string[]; + /** *

                                                                      A NextToken string is returned when you call the * ListPhoneNumbersOptedOut action if additional records are available * after the first page of results.

                                                                      */ nextToken?: string; - - /** - *

                                                                      A list of phone numbers that are opted out of receiving SMS messages. The list is - * paginated, and each page can contain up to 100 phone numbers.

                                                                      - */ - phoneNumbers?: string[]; } export namespace ListPhoneNumbersOptedOutResponse { @@ -1055,14 +1026,14 @@ export namespace ListPlatformApplicationsInput { */ export interface PlatformApplication { /** - *

                                                                      Attributes for platform application object.

                                                                      + *

                                                                      PlatformApplicationArn for platform application object.

                                                                      */ - Attributes?: { [key: string]: string }; + PlatformApplicationArn?: string; /** - *

                                                                      PlatformApplicationArn for platform application object.

                                                                      + *

                                                                      Attributes for platform application object.

                                                                      */ - PlatformApplicationArn?: string; + Attributes?: { [key: string]: string }; } export namespace PlatformApplication { @@ -1076,15 +1047,15 @@ export namespace PlatformApplication { */ export interface ListPlatformApplicationsResponse { /** - *

                                                                      NextToken string is returned when calling ListPlatformApplications action if - * additional records are available after the first page results.

                                                                      + *

                                                                      Platform applications returned when calling ListPlatformApplications action.

                                                                      */ - NextToken?: string; + PlatformApplications?: PlatformApplication[]; /** - *

                                                                      Platform applications returned when calling ListPlatformApplications action.

                                                                      + *

                                                                      NextToken string is returned when calling ListPlatformApplications action if + * additional records are available after the first page results.

                                                                      */ - PlatformApplications?: PlatformApplication[]; + NextToken?: string; } export namespace ListPlatformApplicationsResponse { @@ -1113,11 +1084,6 @@ export namespace ListSubscriptionsInput { *

                                                                      A wrapper type for the attributes of an Amazon SNS subscription.

                                                                      */ export interface Subscription { - /** - *

                                                                      The subscription's protocol.

                                                                      - */ - Protocol?: string; - /** *

                                                                      The subscription's owner.

                                                                      */ @@ -1128,15 +1094,20 @@ export interface Subscription { */ SubscriptionArn?: string; + /** + *

                                                                      The ARN of the subscription's topic.

                                                                      + */ + TopicArn?: string; + /** *

                                                                      The subscription's endpoint (format depends on the protocol).

                                                                      */ Endpoint?: string; /** - *

                                                                      The ARN of the subscription's topic.

                                                                      + *

                                                                      The subscription's protocol.

                                                                      */ - TopicArn?: string; + Protocol?: string; } export namespace Subscription { @@ -1172,14 +1143,14 @@ export namespace ListSubscriptionsResponse { */ export interface ListSubscriptionsByTopicInput { /** - *

                                                                      Token returned by the previous ListSubscriptionsByTopic request.

                                                                      + *

                                                                      The ARN of the topic for which you wish to find subscriptions.

                                                                      */ - NextToken?: string; + TopicArn: string | undefined; /** - *

                                                                      The ARN of the topic for which you wish to find subscriptions.

                                                                      + *

                                                                      Token returned by the previous ListSubscriptionsByTopic request.

                                                                      */ - TopicArn: string | undefined; + NextToken?: string; } export namespace ListSubscriptionsByTopicInput { @@ -1193,15 +1164,15 @@ export namespace ListSubscriptionsByTopicInput { */ export interface ListSubscriptionsByTopicResponse { /** - *

                                                                      Token to pass along to the next ListSubscriptionsByTopic request. This - * element is returned if there are more subscriptions to retrieve.

                                                                      + *

                                                                      A list of subscriptions.

                                                                      */ - NextToken?: string; + Subscriptions?: Subscription[]; /** - *

                                                                      A list of subscriptions.

                                                                      + *

                                                                      Token to pass along to the next ListSubscriptionsByTopic request. This + * element is returned if there are more subscriptions to retrieve.

                                                                      */ - Subscriptions?: Subscription[]; + NextToken?: string; } export namespace ListSubscriptionsByTopicResponse { @@ -1525,6 +1496,13 @@ export namespace MessageAttributeValue { *

                                                                      Input for Publish action.

                                                                      */ export interface PublishInput { + /** + *

                                                                      The topic you want to publish to.

                                                                      + *

                                                                      If you don't specify a value for the TopicArn parameter, you must specify + * a value for the PhoneNumber or TargetArn parameters.

                                                                      + */ + TopicArn?: string; + /** *

                                                                      The message you want to send.

                                                                      *

                                                                      If you are publishing to a topic and you want to send the same message to all @@ -1590,36 +1568,6 @@ export interface PublishInput { */ Message: string | undefined; - /** - *

                                                                      Optional parameter to be used as the "Subject" line when the message is delivered to - * email endpoints. This field will also be included, if present, in the standard JSON - * messages delivered to other endpoints.

                                                                      - *

                                                                      Constraints: Subjects must be ASCII text that begins with a letter, number, or - * punctuation mark; must not include line breaks or control characters; and must be less - * than 100 characters long.

                                                                      - */ - Subject?: string; - - /** - *

                                                                      If you don't specify a value for the TargetArn parameter, you must - * specify a value for the PhoneNumber or TopicArn - * parameters.

                                                                      - */ - TargetArn?: string; - - /** - *

                                                                      Message attributes for Publish action.

                                                                      - */ - MessageAttributes?: { [key: string]: MessageAttributeValue }; - - /** - *

                                                                      The phone number to which you want to deliver an SMS message. Use E.164 format.

                                                                      - *

                                                                      If you don't specify a value for the PhoneNumber parameter, you must - * specify a value for the TargetArn or TopicArn - * parameters.

                                                                      - */ - PhoneNumber?: string; - /** *

                                                                      Set MessageStructure to json if you want to send a different * message for each protocol. For example, using one publish action, you can send a short @@ -1643,11 +1591,34 @@ export interface PublishInput { MessageStructure?: string; /** - *

                                                                      The topic you want to publish to.

                                                                      - *

                                                                      If you don't specify a value for the TopicArn parameter, you must specify - * a value for the PhoneNumber or TargetArn parameters.

                                                                      + *

                                                                      The phone number to which you want to deliver an SMS message. Use E.164 format.

                                                                      + *

                                                                      If you don't specify a value for the PhoneNumber parameter, you must + * specify a value for the TargetArn or TopicArn + * parameters.

                                                                      */ - TopicArn?: string; + PhoneNumber?: string; + + /** + *

                                                                      If you don't specify a value for the TargetArn parameter, you must + * specify a value for the PhoneNumber or TopicArn + * parameters.

                                                                      + */ + TargetArn?: string; + + /** + *

                                                                      Message attributes for Publish action.

                                                                      + */ + MessageAttributes?: { [key: string]: MessageAttributeValue }; + + /** + *

                                                                      Optional parameter to be used as the "Subject" line when the message is delivered to + * email endpoints. This field will also be included, if present, in the standard JSON + * messages delivered to other endpoints.

                                                                      + *

                                                                      Constraints: Subjects must be ASCII text that begins with a letter, number, or + * punctuation mark; must not include line breaks or control characters; and must be less + * than 100 characters long.

                                                                      + */ + Subject?: string; } export namespace PublishInput { @@ -1678,14 +1649,14 @@ export namespace PublishResponse { */ export interface RemovePermissionInput { /** - *

                                                                      The ARN of the topic whose access control policy you wish to modify.

                                                                      + *

                                                                      The unique label of the statement you want to remove.

                                                                      */ - TopicArn: string | undefined; + Label: string | undefined; /** - *

                                                                      The unique label of the statement you want to remove.

                                                                      + *

                                                                      The ARN of the topic whose access control policy you wish to modify.

                                                                      */ - Label: string | undefined; + TopicArn: string | undefined; } export namespace RemovePermissionInput { @@ -1741,11 +1712,6 @@ export namespace SetEndpointAttributesInput { *

                                                                      Input for SetPlatformApplicationAttributes action.

                                                                      */ export interface SetPlatformApplicationAttributesInput { - /** - *

                                                                      PlatformApplicationArn for SetPlatformApplicationAttributes action.

                                                                      - */ - PlatformApplicationArn: string | undefined; - /** *

                                                                      A map of the platform application attributes. Attributes in this map include the * following:

                                                                      @@ -1808,6 +1774,11 @@ export interface SetPlatformApplicationAttributesInput { *
                                                                    */ Attributes: { [key: string]: string } | undefined; + + /** + *

                                                                    PlatformApplicationArn for SetPlatformApplicationAttributes action.

                                                                    + */ + PlatformApplicationArn: string | undefined; } export namespace SetPlatformApplicationAttributesInput { @@ -1933,9 +1904,9 @@ export namespace SetSMSAttributesResponse { */ export interface SetSubscriptionAttributesInput { /** - *

                                                                    The ARN of the subscription to modify.

                                                                    + *

                                                                    The new value for the attribute in JSON format.

                                                                    */ - SubscriptionArn: string | undefined; + AttributeValue?: string; /** *

                                                                    A map of attributes with their corresponding values.

                                                                    @@ -1972,9 +1943,9 @@ export interface SetSubscriptionAttributesInput { AttributeName: string | undefined; /** - *

                                                                    The new value for the attribute in JSON format.

                                                                    + *

                                                                    The ARN of the subscription to modify.

                                                                    */ - AttributeValue?: string; + SubscriptionArn: string | undefined; } export namespace SetSubscriptionAttributesInput { @@ -1987,11 +1958,6 @@ export namespace SetSubscriptionAttributesInput { *

                                                                    Input for SetTopicAttributes action.

                                                                    */ export interface SetTopicAttributesInput { - /** - *

                                                                    The ARN of the topic to modify.

                                                                    - */ - TopicArn: string | undefined; - /** *

                                                                    The new value for the attribute.

                                                                    */ @@ -2024,38 +1990,19 @@ export interface SetTopicAttributesInput { *
                                                                      *
                                                                    • *

                                                                      - * KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK) + * KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) * for Amazon SNS or a custom CMK. For more information, see Key * Terms. For more examples, see KeyId in the AWS Key Management Service API * Reference.

                                                                      *
                                                                    • *
                                                                    - * - * - *

                                                                    The following attribute applies only to FIFO topics:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * ContentBasedDeduplication – Enables content-based deduplication. Amazon SNS uses a SHA-256 hash to - * generate the MessageDeduplicationId using the body of the message (but not the - * attributes of the message).

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * When ContentBasedDeduplication is in effect, messages with identical content sent - * within the deduplication interval are treated as duplicates and only one copy of the message is - * delivered. - *

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * If the queue has ContentBasedDeduplication set, your MessageDeduplicationId - * overrides the generated one. - *

                                                                      - *
                                                                    • - *
                                                                    */ AttributeName: string | undefined; + + /** + *

                                                                    The ARN of the topic to modify.

                                                                    + */ + TopicArn: string | undefined; } export namespace SetTopicAttributesInput { @@ -2068,55 +2015,6 @@ export namespace SetTopicAttributesInput { *

                                                                    Input for Subscribe action.

                                                                    */ export interface SubscribeInput { - /** - *

                                                                    The ARN of the topic you want to subscribe to.

                                                                    - */ - TopicArn: string | undefined; - - /** - *

                                                                    The protocol you want to use. Supported protocols include:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * http – delivery of JSON-encoded message via HTTP POST

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * https – delivery of JSON-encoded message via HTTPS - * POST

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * email – delivery of message via SMTP

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * email-json – delivery of JSON-encoded message via - * SMTP

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * sms – delivery of message via SMS

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * sqs – delivery of JSON-encoded message to an Amazon SQS - * queue

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * application – delivery of JSON-encoded message to an - * EndpointArn for a mobile app and device.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * lambda – delivery of JSON-encoded message to an Amazon Lambda - * function.

                                                                      - *
                                                                    • - *
                                                                    - */ - Protocol: string | undefined; - /** *

                                                                    The endpoint that you want to receive notifications. Endpoints vary by * protocol:

                                                                    @@ -2158,23 +2056,6 @@ export interface SubscribeInput { */ Endpoint?: string; - /** - *

                                                                    Sets whether the response from the Subscribe request includes the - * subscription ARN, even if the subscription is not yet confirmed.

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      If you set this parameter to true, the response includes the ARN in all cases, even - * if the subscription is not yet confirmed. In addition to the ARN for confirmed subscriptions, the response - * also includes the pending subscription ARN value for subscriptions that aren't yet confirmed. A - * subscription becomes confirmed when the subscriber calls the ConfirmSubscription action with a - * confirmation token.

                                                                      - *
                                                                    • - *
                                                                    - *

                                                                    - *

                                                                    The default value is false.

                                                                    - */ - ReturnSubscriptionArn?: boolean; - /** *

                                                                    A map of attributes with their corresponding values.

                                                                    *

                                                                    The following lists the names, descriptions, and values of the special request @@ -2208,6 +2089,68 @@ export interface SubscribeInput { *

                                                                  */ Attributes?: { [key: string]: string }; + + /** + *

                                                                  The protocol you want to use. Supported protocols include:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * http – delivery of JSON-encoded message via HTTP POST

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * https – delivery of JSON-encoded message via HTTPS + * POST

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * email – delivery of message via SMTP

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * email-json – delivery of JSON-encoded message via + * SMTP

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * sms – delivery of message via SMS

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * sqs – delivery of JSON-encoded message to an Amazon SQS + * queue

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * application – delivery of JSON-encoded message to an + * EndpointArn for a mobile app and device.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * lambda – delivery of JSON-encoded message to an Amazon Lambda + * function.

                                                                    + *
                                                                  • + *
                                                                  + */ + Protocol: string | undefined; + + /** + *

                                                                  The ARN of the topic you want to subscribe to.

                                                                  + */ + TopicArn: string | undefined; + + /** + *

                                                                  Sets whether the response from the Subscribe request includes the + * subscription ARN, even if the subscription is not yet confirmed.

                                                                  + *

                                                                  If you set this parameter to true, the response includes the ARN in all cases, even + * if the subscription is not yet confirmed. In addition to the ARN for confirmed subscriptions, the response + * also includes the pending subscription ARN value for subscriptions that aren't yet confirmed. A + * subscription becomes confirmed when the subscriber calls the ConfirmSubscription action with a + * confirmation token.

                                                                  + *

                                                                  + *

                                                                  The default value is false.

                                                                  + */ + ReturnSubscriptionArn?: boolean; } export namespace SubscribeInput { @@ -2237,15 +2180,15 @@ export namespace SubscribeResponse { export interface TagResourceRequest { /** - *

                                                                  The tags to be added to the specified topic. A tag consists of a required key - * and an optional value.

                                                                  + *

                                                                  The ARN of the topic to which to add tags.

                                                                  */ - Tags: Tag[] | undefined; + ResourceArn: string | undefined; /** - *

                                                                  The ARN of the topic to which to add tags.

                                                                  + *

                                                                  The tags to be added to the specified topic. A tag consists of a required key + * and an optional value.

                                                                  */ - ResourceArn: string | undefined; + Tags: Tag[] | undefined; } export namespace TagResourceRequest { diff --git a/clients/client-sns/protocols/Aws_query.ts b/clients/client-sns/protocols/Aws_query.ts index 8b3c11a242ce..c1aae78f0ec7 100644 --- a/clients/client-sns/protocols/Aws_query.ts +++ b/clients/client-sns/protocols/Aws_query.ts @@ -3880,12 +3880,12 @@ const serializeAws_queryConfirmSubscriptionInput = (input: ConfirmSubscriptionIn if (input.Token !== undefined) { entries["Token"] = input.Token; } - if (input.AuthenticateOnUnsubscribe !== undefined) { - entries["AuthenticateOnUnsubscribe"] = input.AuthenticateOnUnsubscribe; - } if (input.TopicArn !== undefined) { entries["TopicArn"] = input.TopicArn; } + if (input.AuthenticateOnUnsubscribe !== undefined) { + entries["AuthenticateOnUnsubscribe"] = input.AuthenticateOnUnsubscribe; + } return entries; }; @@ -3894,6 +3894,12 @@ const serializeAws_queryCreatePlatformApplicationInput = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.Name !== undefined) { + entries["Name"] = input.Name; + } + if (input.Platform !== undefined) { + entries["Platform"] = input.Platform; + } if (input.Attributes !== undefined) { const memberEntries = serializeAws_queryMapStringToString(input.Attributes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -3901,12 +3907,6 @@ const serializeAws_queryCreatePlatformApplicationInput = ( entries[loc] = value; }); } - if (input.Platform !== undefined) { - entries["Platform"] = input.Platform; - } - if (input.Name !== undefined) { - entries["Name"] = input.Name; - } return entries; }; @@ -3922,15 +3922,15 @@ const serializeAws_queryCreatePlatformEndpointInput = ( entries[loc] = value; }); } - if (input.PlatformApplicationArn !== undefined) { - entries["PlatformApplicationArn"] = input.PlatformApplicationArn; - } if (input.CustomUserData !== undefined) { entries["CustomUserData"] = input.CustomUserData; } if (input.Token !== undefined) { entries["Token"] = input.Token; } + if (input.PlatformApplicationArn !== undefined) { + entries["PlatformApplicationArn"] = input.PlatformApplicationArn; + } return entries; }; @@ -4097,12 +4097,12 @@ const serializeAws_queryListSubscriptionsByTopicInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.TopicArn !== undefined) { entries["TopicArn"] = input.TopicArn; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -4185,11 +4185,17 @@ const serializeAws_queryOptInPhoneNumberInput = (input: OptInPhoneNumberInput, c const serializeAws_queryPublishInput = (input: PublishInput, context: __SerdeContext): any => { const entries: any = {}; + if (input.TopicArn !== undefined) { + entries["TopicArn"] = input.TopicArn; + } if (input.Message !== undefined) { entries["Message"] = input.Message; } - if (input.Subject !== undefined) { - entries["Subject"] = input.Subject; + if (input.MessageStructure !== undefined) { + entries["MessageStructure"] = input.MessageStructure; + } + if (input.PhoneNumber !== undefined) { + entries["PhoneNumber"] = input.PhoneNumber; } if (input.TargetArn !== undefined) { entries["TargetArn"] = input.TargetArn; @@ -4201,26 +4207,20 @@ const serializeAws_queryPublishInput = (input: PublishInput, context: __SerdeCon entries[loc] = value; }); } - if (input.PhoneNumber !== undefined) { - entries["PhoneNumber"] = input.PhoneNumber; - } - if (input.MessageStructure !== undefined) { - entries["MessageStructure"] = input.MessageStructure; - } - if (input.TopicArn !== undefined) { - entries["TopicArn"] = input.TopicArn; + if (input.Subject !== undefined) { + entries["Subject"] = input.Subject; } return entries; }; const serializeAws_queryRemovePermissionInput = (input: RemovePermissionInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.TopicArn !== undefined) { - entries["TopicArn"] = input.TopicArn; - } if (input.Label !== undefined) { entries["Label"] = input.Label; } + if (input.TopicArn !== undefined) { + entries["TopicArn"] = input.TopicArn; + } return entries; }; @@ -4247,9 +4247,6 @@ const serializeAws_querySetPlatformApplicationAttributesInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PlatformApplicationArn !== undefined) { - entries["PlatformApplicationArn"] = input.PlatformApplicationArn; - } if (input.Attributes !== undefined) { const memberEntries = serializeAws_queryMapStringToString(input.Attributes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4257,6 +4254,9 @@ const serializeAws_querySetPlatformApplicationAttributesInput = ( entries[loc] = value; }); } + if (input.PlatformApplicationArn !== undefined) { + entries["PlatformApplicationArn"] = input.PlatformApplicationArn; + } return entries; }; @@ -4277,46 +4277,37 @@ const serializeAws_querySetSubscriptionAttributesInput = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.SubscriptionArn !== undefined) { - entries["SubscriptionArn"] = input.SubscriptionArn; + if (input.AttributeValue !== undefined) { + entries["AttributeValue"] = input.AttributeValue; } if (input.AttributeName !== undefined) { entries["AttributeName"] = input.AttributeName; } - if (input.AttributeValue !== undefined) { - entries["AttributeValue"] = input.AttributeValue; + if (input.SubscriptionArn !== undefined) { + entries["SubscriptionArn"] = input.SubscriptionArn; } return entries; }; const serializeAws_querySetTopicAttributesInput = (input: SetTopicAttributesInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.TopicArn !== undefined) { - entries["TopicArn"] = input.TopicArn; - } if (input.AttributeValue !== undefined) { entries["AttributeValue"] = input.AttributeValue; } if (input.AttributeName !== undefined) { entries["AttributeName"] = input.AttributeName; } + if (input.TopicArn !== undefined) { + entries["TopicArn"] = input.TopicArn; + } return entries; }; const serializeAws_querySubscribeInput = (input: SubscribeInput, context: __SerdeContext): any => { const entries: any = {}; - if (input.TopicArn !== undefined) { - entries["TopicArn"] = input.TopicArn; - } - if (input.Protocol !== undefined) { - entries["Protocol"] = input.Protocol; - } if (input.Endpoint !== undefined) { entries["Endpoint"] = input.Endpoint; } - if (input.ReturnSubscriptionArn !== undefined) { - entries["ReturnSubscriptionArn"] = input.ReturnSubscriptionArn; - } if (input.Attributes !== undefined) { const memberEntries = serializeAws_querySubscriptionAttributesMap(input.Attributes, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4324,6 +4315,15 @@ const serializeAws_querySubscribeInput = (input: SubscribeInput, context: __Serd entries[loc] = value; }); } + if (input.Protocol !== undefined) { + entries["Protocol"] = input.Protocol; + } + if (input.TopicArn !== undefined) { + entries["TopicArn"] = input.TopicArn; + } + if (input.ReturnSubscriptionArn !== undefined) { + entries["ReturnSubscriptionArn"] = input.ReturnSubscriptionArn; + } return entries; }; @@ -4377,6 +4377,9 @@ const serializeAws_queryTagList = (input: Tag[], context: __SerdeContext): any = const serializeAws_queryTagResourceRequest = (input: TagResourceRequest, context: __SerdeContext): any => { const entries: any = {}; + if (input.ResourceArn !== undefined) { + entries["ResourceArn"] = input.ResourceArn; + } if (input.Tags !== undefined) { const memberEntries = serializeAws_queryTagList(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -4384,9 +4387,6 @@ const serializeAws_queryTagResourceRequest = (input: TagResourceRequest, context entries[loc] = value; }); } - if (input.ResourceArn !== undefined) { - entries["ResourceArn"] = input.ResourceArn; - } return entries; }; @@ -4804,12 +4804,9 @@ const deserializeAws_queryListPhoneNumbersOptedOutResponse = ( context: __SerdeContext ): ListPhoneNumbersOptedOutResponse => { let contents: any = { - nextToken: undefined, phoneNumbers: undefined, + nextToken: undefined, }; - if (output["nextToken"] !== undefined) { - contents.nextToken = output["nextToken"]; - } if (output.phoneNumbers === "") { contents.phoneNumbers = []; } @@ -4819,6 +4816,9 @@ const deserializeAws_queryListPhoneNumbersOptedOutResponse = ( context ); } + if (output["nextToken"] !== undefined) { + contents.nextToken = output["nextToken"]; + } return contents; }; @@ -4827,12 +4827,9 @@ const deserializeAws_queryListPlatformApplicationsResponse = ( context: __SerdeContext ): ListPlatformApplicationsResponse => { let contents: any = { - NextToken: undefined, PlatformApplications: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.PlatformApplications === "") { contents.PlatformApplications = []; } @@ -4842,6 +4839,9 @@ const deserializeAws_queryListPlatformApplicationsResponse = ( context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -4850,12 +4850,9 @@ const deserializeAws_queryListSubscriptionsByTopicResponse = ( context: __SerdeContext ): ListSubscriptionsByTopicResponse => { let contents: any = { - NextToken: undefined, Subscriptions: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.Subscriptions === "") { contents.Subscriptions = []; } @@ -4865,6 +4862,9 @@ const deserializeAws_queryListSubscriptionsByTopicResponse = ( context ); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -4958,9 +4958,12 @@ const deserializeAws_queryPhoneNumberList = (output: any, context: __SerdeContex const deserializeAws_queryPlatformApplication = (output: any, context: __SerdeContext): PlatformApplication => { let contents: any = { - Attributes: undefined, PlatformApplicationArn: undefined, + Attributes: undefined, }; + if (output["PlatformApplicationArn"] !== undefined) { + contents.PlatformApplicationArn = output["PlatformApplicationArn"]; + } if (output.Attributes === "") { contents.Attributes = {}; } @@ -4970,9 +4973,6 @@ const deserializeAws_queryPlatformApplication = (output: any, context: __SerdeCo context ); } - if (output["PlatformApplicationArn"] !== undefined) { - contents.PlatformApplicationArn = output["PlatformApplicationArn"]; - } return contents; }; @@ -5042,26 +5042,26 @@ const deserializeAws_querySubscribeResponse = (output: any, context: __SerdeCont const deserializeAws_querySubscription = (output: any, context: __SerdeContext): Subscription => { let contents: any = { - Protocol: undefined, Owner: undefined, SubscriptionArn: undefined, - Endpoint: undefined, TopicArn: undefined, + Endpoint: undefined, + Protocol: undefined, }; - if (output["Protocol"] !== undefined) { - contents.Protocol = output["Protocol"]; - } if (output["Owner"] !== undefined) { contents.Owner = output["Owner"]; } if (output["SubscriptionArn"] !== undefined) { contents.SubscriptionArn = output["SubscriptionArn"]; } + if (output["TopicArn"] !== undefined) { + contents.TopicArn = output["TopicArn"]; + } if (output["Endpoint"] !== undefined) { contents.Endpoint = output["Endpoint"]; } - if (output["TopicArn"] !== undefined) { - contents.TopicArn = output["TopicArn"]; + if (output["Protocol"] !== undefined) { + contents.Protocol = output["Protocol"]; } return contents; }; diff --git a/clients/client-sqs/SQS.ts b/clients/client-sqs/SQS.ts index 848bd76fb931..b1a9a5a21fe8 100644 --- a/clients/client-sqs/SQS.ts +++ b/clients/client-sqs/SQS.ts @@ -72,6 +72,10 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** *

                                                                  Welcome to the Amazon Simple Queue Service API Reference.

                                                                  *

                                                                  Amazon Simple Queue Service (Amazon SQS) is a reliable, highly-scalable hosted queue for storing messages as they travel between applications or microservices. Amazon SQS moves data between distributed application components and helps you decouple these components.

                                                                  + *

                                                                  For information on the permissions you need to use this API, see + * Identity and + * access management in the Amazon Simple Queue Service Developer Guide. + *

                                                                  *

                                                                  You can use AWS SDKs to access Amazon SQS using your favorite programming language. The SDKs perform tasks such as the following automatically:

                                                                  *
                                                                    *
                                                                  • @@ -106,7 +110,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *
                                                                  • *
                                                                  • *

                                                                    - * Amazon SQS Message Attributes + * Amazon SQS Message Attributes *

                                                                    *
                                                                  • *
                                                                  • @@ -592,7 +596,13 @@ export class SQS extends SQSClient { /** *

                                                                    Returns a list of your queues that have the RedrivePolicy queue attribute configured with a dead-letter queue.

                                                                    - * + *

                                                                    The ListDeadLetterSourceQueues methods supports + * pagination. Set parameter MaxResults in the request to specify the maximum number of + * results to be returned in the response. If you do not set MaxResults, + * the response includes a maximum of 1,000 results. If you set MaxResults and there are additional results to + * display, the response includes a value for NextToken. Use + * NextToken as a parameter in your next request to + * ListDeadLetterSourceQueues to receive the next page of results.

                                                                    * *

                                                                    For more information about using dead-letter queues, see Using Amazon SQS Dead-Letter Queues * in the Amazon Simple Queue Service Developer Guide.

                                                                    @@ -627,8 +637,15 @@ export class SQS extends SQSClient { } /** - *

                                                                    Returns a list of your queues. The maximum number of queues that can be returned is 1,000. If you specify a value for the optional + *

                                                                    Returns a list of your queues in the current region. The response includes a maximum of 1,000 results. If you specify a value for the optional * QueueNamePrefix parameter, only queues with a name that begins with the specified value are returned.

                                                                    + *

                                                                    The listQueues methods supports + * pagination. Set parameter MaxResults in the request to specify the maximum number of + * results to be returned in the response. If you do not set MaxResults, + * the response includes a maximum of 1,000 results. If you set MaxResults and there are additional results to + * display, the response includes a value for NextToken. Use + * NextToken as a parameter in your next request to + * listQueues to receive the next page of results.

                                                                    * *

                                                                    Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

                                                                    *
                                                                    diff --git a/clients/client-sqs/SQSClient.ts b/clients/client-sqs/SQSClient.ts index 7b241bb808d0..0a99e9805dce 100644 --- a/clients/client-sqs/SQSClient.ts +++ b/clients/client-sqs/SQSClient.ts @@ -241,6 +241,10 @@ export type SQSClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle /** *

                                                                    Welcome to the Amazon Simple Queue Service API Reference.

                                                                    *

                                                                    Amazon Simple Queue Service (Amazon SQS) is a reliable, highly-scalable hosted queue for storing messages as they travel between applications or microservices. Amazon SQS moves data between distributed application components and helps you decouple these components.

                                                                    + *

                                                                    For information on the permissions you need to use this API, see + * Identity and + * access management in the Amazon Simple Queue Service Developer Guide. + *

                                                                    *

                                                                    You can use AWS SDKs to access Amazon SQS using your favorite programming language. The SDKs perform tasks such as the following automatically:

                                                                    *
                                                                      *
                                                                    • @@ -275,7 +279,7 @@ export type SQSClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle *
                                                                    • *
                                                                    • *

                                                                      - * Amazon SQS Message Attributes + * Amazon SQS Message Attributes *

                                                                      *
                                                                    • *
                                                                    • diff --git a/clients/client-sqs/index.ts b/clients/client-sqs/index.ts index a157dc2ea26d..c7faeb2ecf82 100644 --- a/clients/client-sqs/index.ts +++ b/clients/client-sqs/index.ts @@ -12,6 +12,7 @@ export * from "./commands/GetQueueUrlCommand"; export * from "./commands/ListDeadLetterSourceQueuesCommand"; export * from "./pagination/ListDeadLetterSourceQueuesPaginator"; export * from "./commands/ListQueuesCommand"; +export * from "./pagination/ListQueuesPaginator"; export * from "./commands/ListQueueTagsCommand"; export * from "./commands/PurgeQueueCommand"; export * from "./commands/ReceiveMessageCommand"; diff --git a/clients/client-sqs/models/models_0.ts b/clients/client-sqs/models/models_0.ts index ebf4d4709136..2c7d3e69d3d7 100644 --- a/clients/client-sqs/models/models_0.ts +++ b/clients/client-sqs/models/models_0.ts @@ -6,15 +6,18 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface AddPermissionRequest { /** - *

                                                                      The unique identification of the permission you're setting (for example, AliceSendMessage). Maximum 80 characters. Allowed characters include alphanumeric characters, hyphens (-), and underscores (_).

                                                                      + *

                                                                      The action the client wants to allow for the specified principal. Valid values: the name of any action or *.

                                                                      + *

                                                                      For more information about these actions, see Overview of Managing Access Permissions to Your Amazon Simple Queue Service Resource + * in the Amazon Simple Queue Service Developer Guide.

                                                                      + *

                                                                      Specifying SendMessage, DeleteMessage, or ChangeMessageVisibility for ActionName.n also grants permissions for the corresponding batch versions of those actions: SendMessageBatch, + * DeleteMessageBatch, and ChangeMessageVisibilityBatch.

                                                                      */ - Label: string | undefined; + Actions: string[] | undefined; /** - *

                                                                      The AWS account number of the principal who is given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. For information about locating the AWS - * account identification, see Your AWS Identifiers in the Amazon Simple Queue Service Developer Guide.

                                                                      + *

                                                                      The unique identification of the permission you're setting (for example, AliceSendMessage). Maximum 80 characters. Allowed characters include alphanumeric characters, hyphens (-), and underscores (_).

                                                                      */ - AWSAccountIds: string[] | undefined; + Label: string | undefined; /** *

                                                                      The URL of the Amazon SQS queue to which permissions are added.

                                                                      @@ -23,13 +26,10 @@ export interface AddPermissionRequest { QueueUrl: string | undefined; /** - *

                                                                      The action the client wants to allow for the specified principal. Valid values: the name of any action or *.

                                                                      - *

                                                                      For more information about these actions, see Overview of Managing Access Permissions to Your Amazon Simple Queue Service Resource - * in the Amazon Simple Queue Service Developer Guide.

                                                                      - *

                                                                      Specifying SendMessage, DeleteMessage, or ChangeMessageVisibility for ActionName.n also grants permissions for the corresponding batch versions of those actions: SendMessageBatch, - * DeleteMessageBatch, and ChangeMessageVisibilityBatch.

                                                                      + *

                                                                      The AWS account number of the principal who is given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. For information about locating the AWS + * account identification, see Your AWS Identifiers in the Amazon Simple Queue Service Developer Guide.

                                                                      */ - Actions: string[] | undefined; + AWSAccountIds: string[] | undefined; } export namespace AddPermissionRequest { @@ -57,22 +57,22 @@ export namespace OverLimit { export interface ChangeMessageVisibilityRequest { /** - *

                                                                      The receipt handle associated with the message whose visibility timeout is changed. This parameter is returned by the - * ReceiveMessage - * action.

                                                                      + *

                                                                      The URL of the Amazon SQS queue whose message's visibility is changed.

                                                                      + *

                                                                      Queue URLs and names are case-sensitive.

                                                                      */ - ReceiptHandle: string | undefined; + QueueUrl: string | undefined; /** - *

                                                                      The new value for the message's visibility timeout (in seconds). Values values: 0 to 43200. Maximum: 12 hours.

                                                                      + *

                                                                      The new value for the message's visibility timeout (in seconds). Values range: 0 to 43200. Maximum: 12 hours.

                                                                      */ VisibilityTimeout: number | undefined; /** - *

                                                                      The URL of the Amazon SQS queue whose message's visibility is changed.

                                                                      - *

                                                                      Queue URLs and names are case-sensitive.

                                                                      + *

                                                                      The receipt handle associated with the message whose visibility timeout is changed. This parameter is returned by the + * ReceiveMessage + * action.

                                                                      */ - QueueUrl: string | undefined; + ReceiptHandle: string | undefined; } export namespace ChangeMessageVisibilityRequest { @@ -141,11 +141,6 @@ export namespace BatchEntryIdsNotDistinct { *

                                                                      */ export interface ChangeMessageVisibilityBatchRequestEntry { - /** - *

                                                                      A receipt handle.

                                                                      - */ - ReceiptHandle: string | undefined; - /** *

                                                                      The new value (in seconds) for the message's visibility timeout.

                                                                      */ @@ -159,6 +154,11 @@ export interface ChangeMessageVisibilityBatchRequestEntry { * */ Id: string | undefined; + + /** + *

                                                                      A receipt handle.

                                                                      + */ + ReceiptHandle: string | undefined; } export namespace ChangeMessageVisibilityBatchRequestEntry { @@ -171,16 +171,16 @@ export namespace ChangeMessageVisibilityBatchRequestEntry { *

                                                                      */ export interface ChangeMessageVisibilityBatchRequest { - /** - *

                                                                      A list of receipt handles of the messages for which the visibility timeout must be changed.

                                                                      - */ - Entries: ChangeMessageVisibilityBatchRequestEntry[] | undefined; - /** *

                                                                      The URL of the Amazon SQS queue whose messages' visibility is changed.

                                                                      *

                                                                      Queue URLs and names are case-sensitive.

                                                                      */ QueueUrl: string | undefined; + + /** + *

                                                                      A list of receipt handles of the messages for which the visibility timeout must be changed.

                                                                      + */ + Entries: ChangeMessageVisibilityBatchRequestEntry[] | undefined; } export namespace ChangeMessageVisibilityBatchRequest { @@ -195,24 +195,24 @@ export namespace ChangeMessageVisibilityBatchRequest { */ export interface BatchResultErrorEntry { /** - *

                                                                      Specifies whether the error happened due to the caller of the batch API action.

                                                                      + *

                                                                      An error code representing why the action failed on this entry.

                                                                      */ - SenderFault: boolean | undefined; + Code: string | undefined; /** - *

                                                                      An error code representing why the action failed on this entry.

                                                                      + *

                                                                      The Id of an entry in a batch request.

                                                                      */ - Code: string | undefined; + Id: string | undefined; /** - *

                                                                      A message explaining why the action failed on this entry.

                                                                      + *

                                                                      Specifies whether the error happened due to the caller of the batch API action.

                                                                      */ - Message?: string; + SenderFault: boolean | undefined; /** - *

                                                                      The Id of an entry in a batch request.

                                                                      + *

                                                                      A message explaining why the action failed on this entry.

                                                                      */ - Id: string | undefined; + Message?: string; } export namespace BatchResultErrorEntry { @@ -602,6 +602,11 @@ export namespace InvalidIdFormat { *

                                                                      Encloses a receipt handle and an identifier for it.

                                                                      */ export interface DeleteMessageBatchRequestEntry { + /** + *

                                                                      A receipt handle.

                                                                      + */ + ReceiptHandle: string | undefined; + /** *

                                                                      An identifier for this particular receipt handle. This is used to communicate the result.

                                                                      * @@ -610,11 +615,6 @@ export interface DeleteMessageBatchRequestEntry { * */ Id: string | undefined; - - /** - *

                                                                      A receipt handle.

                                                                      - */ - ReceiptHandle: string | undefined; } export namespace DeleteMessageBatchRequestEntry { @@ -627,16 +627,16 @@ export namespace DeleteMessageBatchRequestEntry { *

                                                                      */ export interface DeleteMessageBatchRequest { - /** - *

                                                                      A list of receipt handles for the messages to be deleted.

                                                                      - */ - Entries: DeleteMessageBatchRequestEntry[] | undefined; - /** *

                                                                      The URL of the Amazon SQS queue from which messages are deleted.

                                                                      *

                                                                      Queue URLs and names are case-sensitive.

                                                                      */ QueueUrl: string | undefined; + + /** + *

                                                                      A list of receipt handles for the messages to be deleted.

                                                                      + */ + Entries: DeleteMessageBatchRequestEntry[] | undefined; } export namespace DeleteMessageBatchRequest { @@ -673,17 +673,17 @@ export namespace DeleteMessageBatchResultEntry { export interface DeleteMessageBatchResult { /** *

                                                                      A list of - * BatchResultErrorEntry + * DeleteMessageBatchResultEntry * items.

                                                                      */ - Failed: BatchResultErrorEntry[] | undefined; + Successful: DeleteMessageBatchResultEntry[] | undefined; /** *

                                                                      A list of - * DeleteMessageBatchResultEntry + * BatchResultErrorEntry * items.

                                                                      */ - Successful: DeleteMessageBatchResultEntry[] | undefined; + Failed: BatchResultErrorEntry[] | undefined; } export namespace DeleteMessageBatchResult { @@ -955,14 +955,15 @@ export interface ListDeadLetterSourceQueuesRequest { QueueUrl: string | undefined; /** - *

                                                                      Maximum number of results to include in the response.

                                                                      + *

                                                                      Pagination token to request the next set of results.

                                                                      */ - MaxResults?: number; + NextToken?: string; /** - *

                                                                      Pagination token to request the next set of results.

                                                                      + *

                                                                      Maximum number of results to include in the response. Value range is 1 to 1000. + * You must set MaxResults to receive a value for NextToken in the response.

                                                                      */ - NextToken?: string; + MaxResults?: number; } export namespace ListDeadLetterSourceQueuesRequest { @@ -976,14 +977,15 @@ export namespace ListDeadLetterSourceQueuesRequest { */ export interface ListDeadLetterSourceQueuesResult { /** - *

                                                                      Pagination token to include in the next request.

                                                                      + *

                                                                      A list of source queue URLs that have the RedrivePolicy queue attribute configured with a dead-letter queue.

                                                                      */ - NextToken?: string; + queueUrls: string[] | undefined; /** - *

                                                                      A list of source queue URLs that have the RedrivePolicy queue attribute configured with a dead-letter queue.

                                                                      + *

                                                                      Pagination token to include in the next request. Token value is null if there are no additional + * results to request, or if you did not set MaxResults in the request.

                                                                      */ - queueUrls: string[] | undefined; + NextToken?: string; } export namespace ListDeadLetterSourceQueuesResult { @@ -997,12 +999,8 @@ export namespace ListDeadLetterSourceQueuesResult { */ export interface ListQueuesRequest { /** - *

                                                                      Pagination token to request the next set of results.

                                                                      - */ - NextToken?: string; - - /** - *

                                                                      Maximum number of results to include in the response.

                                                                      + *

                                                                      Maximum number of results to include in the response. Value range is 1 to 1000. + * You must set MaxResults to receive a value for NextToken in the response.

                                                                      */ MaxResults?: number; @@ -1011,6 +1009,11 @@ export interface ListQueuesRequest { *

                                                                      Queue URLs and names are case-sensitive.

                                                                      */ QueueNamePrefix?: string; + + /** + *

                                                                      Pagination token to request the next set of results.

                                                                      + */ + NextToken?: string; } export namespace ListQueuesRequest { @@ -1024,7 +1027,8 @@ export namespace ListQueuesRequest { */ export interface ListQueuesResult { /** - *

                                                                      Pagination token to include in the next request.

                                                                      + *

                                                                      Pagination token to include in the next request. Token value is null if there are no additional + * results to request, or if you did not set MaxResults in the request.

                                                                      */ NextToken?: string; @@ -1102,29 +1106,69 @@ export namespace PurgeQueueRequest { */ export interface ReceiveMessageRequest { /** - *

                                                                      The name of the message attribute, where N is the index.

                                                                      + *

                                                                      The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.

                                                                      + */ + VisibilityTimeout?: number; + + /** + *

                                                                      This parameter applies only to FIFO (first-in-first-out) queues.

                                                                      + *

                                                                      The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after a ReceiveMessage action, and instead of a response you receive a generic error, + * it is possible to retry the same action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their visibility timeout has not yet expired.

                                                                      *
                                                                        *
                                                                      • - *

                                                                        The name can contain alphanumeric characters and the underscore (_), hyphen (-), and period (.).

                                                                        + *

                                                                        You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        The name is case-sensitive and must be unique among all attribute names for the message.

                                                                        + *

                                                                        When you set FifoQueue, a caller of the ReceiveMessage action can provide a ReceiveRequestAttemptId explicitly.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        The name must not start with AWS-reserved prefixes such as AWS. or Amazon. (or any casing variants).

                                                                        + *

                                                                        If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        The name must not start or end with a period (.), and it should not have periods in succession (..).

                                                                        + *

                                                                        It is possible to retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none of the messages have been modified (deleted or had their visibility changes).

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        The name can be up to 256 characters long.

                                                                        + *

                                                                        During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same messages and receipt handles. If a retry occurs within the deduplication interval, + * it resets the visibility timeout. For more information, see + * Visibility Timeout + * in the Amazon Simple Queue Service Developer Guide.

                                                                        + * + *

                                                                        If a caller of the ReceiveMessage action still processes + * messages when the visibility timeout expires and messages become visible, + * another worker consuming from the same queue can receive the same messages + * and therefore process duplicates. Also, if a consumer whose message + * processing time is longer than the visibility timeout tries to delete the + * processed messages, the action fails with an error.

                                                                        + *

                                                                        To mitigate this effect, ensure that your application observes a safe threshold before the visibility timeout expires and extend the visibility timeout as necessary.

                                                                        + *
                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        While messages with a particular MessageGroupId are invisible, no more messages belonging to the same MessageGroupId are returned until the visibility timeout expires. You can still receive + * messages with another MessageGroupId as long as it is also visible.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        If a caller of ReceiveMessage can't track the ReceiveRequestAttemptId, no retries work until the original visibility timeout expires. As a result, delays might occur but + * the messages in the queue remain in a strict order.

                                                                        *
                                                                      • *
                                                                      - * - *

                                                                      When using ReceiveMessage, you can send a list of attribute names to receive, or you can return all of the attributes by specifying All or .* in your request. - * You can also use all message attributes starting with a prefix, for example bar.*.

                                                                      + *

                                                                      The maximum length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can contain alphanumeric characters (a-z, A-Z, 0-9) and + * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

                                                                      + *

                                                                      For best practices of using ReceiveRequestAttemptId, see + * Using the ReceiveRequestAttemptId Request Parameter + * in the Amazon Simple Queue Service Developer Guide.

                                                                      */ - MessageAttributeNames?: string[]; + ReceiveRequestAttemptId?: string; + + /** + *

                                                                      The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer messages might be returned). Valid values: 1 to 10. Default: 1.

                                                                      + */ + MaxNumberOfMessages?: number; + + /** + *

                                                                      The URL of the Amazon SQS queue from which messages are received.

                                                                      + *

                                                                      Queue URLs and names are case-sensitive.

                                                                      + */ + QueueUrl: string | undefined; /** *

                                                                      The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. If a message is available, the call returns sooner than WaitTimeSeconds. @@ -1137,12 +1181,6 @@ export interface ReceiveMessageRequest { */ WaitTimeSeconds?: number; - /** - *

                                                                      The URL of the Amazon SQS queue from which messages are received.

                                                                      - *

                                                                      Queue URLs and names are case-sensitive.

                                                                      - */ - QueueUrl: string | undefined; - /** *

                                                                      A list of attributes that need to be returned along with each message. These attributes * include:

                                                                      @@ -1206,63 +1244,29 @@ export interface ReceiveMessageRequest { AttributeNames?: (QueueAttributeName | string)[]; /** - *

                                                                      The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer messages might be returned). Valid values: 1 to 10. Default: 1.

                                                                      - */ - MaxNumberOfMessages?: number; - - /** - *

                                                                      The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.

                                                                      - */ - VisibilityTimeout?: number; - - /** - *

                                                                      This parameter applies only to FIFO (first-in-first-out) queues.

                                                                      - *

                                                                      The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after a ReceiveMessage action, and instead of a response you receive a generic error, - * it is possible to retry the same action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their visibility timeout has not yet expired.

                                                                      + *

                                                                      The name of the message attribute, where N is the index.

                                                                      *
                                                                        *
                                                                      • - *

                                                                        You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        When you set FifoQueue, a caller of the ReceiveMessage action can provide a ReceiveRequestAttemptId explicitly.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId.

                                                                        + *

                                                                        The name can contain alphanumeric characters and the underscore (_), hyphen (-), and period (.).

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        It is possible to retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none of the messages have been modified (deleted or had their visibility changes).

                                                                        + *

                                                                        The name is case-sensitive and must be unique among all attribute names for the message.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same messages and receipt handles. If a retry occurs within the deduplication interval, - * it resets the visibility timeout. For more information, see - * Visibility Timeout - * in the Amazon Simple Queue Service Developer Guide.

                                                                        - * - *

                                                                        If a caller of the ReceiveMessage action still processes - * messages when the visibility timeout expires and messages become visible, - * another worker consuming from the same queue can receive the same messages - * and therefore process duplicates. Also, if a consumer whose message - * processing time is longer than the visibility timeout tries to delete the - * processed messages, the action fails with an error.

                                                                        - *

                                                                        To mitigate this effect, ensure that your application observes a safe threshold before the visibility timeout expires and extend the visibility timeout as necessary.

                                                                        - *
                                                                        + *

                                                                        The name must not start with AWS-reserved prefixes such as AWS. or Amazon. (or any casing variants).

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        While messages with a particular MessageGroupId are invisible, no more messages belonging to the same MessageGroupId are returned until the visibility timeout expires. You can still receive - * messages with another MessageGroupId as long as it is also visible.

                                                                        + *

                                                                        The name must not start or end with a period (.), and it should not have periods in succession (..).

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        If a caller of ReceiveMessage can't track the ReceiveRequestAttemptId, no retries work until the original visibility timeout expires. As a result, delays might occur but - * the messages in the queue remain in a strict order.

                                                                        + *

                                                                        The name can be up to 256 characters long.

                                                                        *
                                                                      • *
                                                                      - *

                                                                      The maximum length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can contain alphanumeric characters (a-z, A-Z, 0-9) and - * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

                                                                      - *

                                                                      For best practices of using ReceiveRequestAttemptId, see - * Using the ReceiveRequestAttemptId Request Parameter - * in the Amazon Simple Queue Service Developer Guide.

                                                                      + * + *

                                                                      When using ReceiveMessage, you can send a list of attribute names to receive, or you can return all of the attributes by specifying All or .* in your request. + * You can also use all message attributes starting with a prefix, for example bar.*.

                                                                      */ - ReceiveRequestAttemptId?: string; + MessageAttributeNames?: string[]; } export namespace ReceiveMessageRequest { @@ -1289,16 +1293,6 @@ export type MessageSystemAttributeName = * Name, type, value and the message body must not be empty or null. All parts of the message attribute, including Name, Type, and Value, are part of the message size restriction (256 KB or 262,144 bytes).

                                                                      */ export interface MessageAttributeValue { - /** - *

                                                                      Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

                                                                      - */ - StringValue?: string; - - /** - *

                                                                      Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

                                                                      - */ - BinaryValue?: Uint8Array; - /** *

                                                                      Not implemented. Reserved for future use.

                                                                      */ @@ -1311,14 +1305,24 @@ export interface MessageAttributeValue { /** *

                                                                      Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

                                                                      - *

                                                                      You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

                                                                      + *

                                                                      You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

                                                                      */ DataType: string | undefined; -} -export namespace MessageAttributeValue { - export const filterSensitiveLog = (obj: MessageAttributeValue): any => ({ - ...obj, + /** + *

                                                                      Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

                                                                      + */ + BinaryValue?: Uint8Array; + + /** + *

                                                                      Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

                                                                      + */ + StringValue?: string; +} + +export namespace MessageAttributeValue { + export const filterSensitiveLog = (obj: MessageAttributeValue): any => ({ + ...obj, }); } @@ -1327,9 +1331,9 @@ export namespace MessageAttributeValue { */ export interface Message { /** - *

                                                                      Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

                                                                      + *

                                                                      An MD5 digest of the non-URL-encoded message body string.

                                                                      */ - MessageAttributes?: { [key: string]: MessageAttributeValue }; + MD5OfBody?: string; /** *

                                                                      An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

                                                                      @@ -1395,14 +1399,14 @@ export interface Message { MessageId?: string; /** - *

                                                                      An MD5 digest of the non-URL-encoded message body string.

                                                                      + *

                                                                      The message's contents (not URL-encoded).

                                                                      */ - MD5OfBody?: string; + Body?: string; /** - *

                                                                      The message's contents (not URL-encoded).

                                                                      + *

                                                                      Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

                                                                      */ - Body?: string; + MessageAttributes?: { [key: string]: MessageAttributeValue }; } export namespace Message { @@ -1431,18 +1435,18 @@ export namespace ReceiveMessageResult { *

                                                                      */ export interface RemovePermissionRequest { - /** - *

                                                                      The URL of the Amazon SQS queue from which permissions are removed.

                                                                      - *

                                                                      Queue URLs and names are case-sensitive.

                                                                      - */ - QueueUrl: string | undefined; - /** *

                                                                      The identification of the permission to remove. This is the label added using the * AddPermission * action.

                                                                      */ Label: string | undefined; + + /** + *

                                                                      The URL of the Amazon SQS queue from which permissions are removed.

                                                                      + *

                                                                      Queue URLs and names are case-sensitive.

                                                                      + */ + QueueUrl: string | undefined; } export namespace RemovePermissionRequest { @@ -1476,30 +1480,30 @@ export type MessageSystemAttributeNameForSends = "AWSTraceHeader"; */ export interface MessageSystemAttributeValue { /** - *

                                                                      Not implemented. Reserved for future use.

                                                                      + *

                                                                      Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

                                                                      + *

                                                                      You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

                                                                      */ - BinaryListValues?: Uint8Array[]; + DataType: string | undefined; /** - *

                                                                      Not implemented. Reserved for future use.

                                                                      + *

                                                                      Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

                                                                      */ - StringListValues?: string[]; + StringValue?: string; /** - *

                                                                      Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

                                                                      - *

                                                                      You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

                                                                      + *

                                                                      Not implemented. Reserved for future use.

                                                                      */ - DataType: string | undefined; + BinaryListValues?: Uint8Array[]; /** - *

                                                                      Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

                                                                      + *

                                                                      Not implemented. Reserved for future use.

                                                                      */ - BinaryValue?: Uint8Array; + StringListValues?: string[]; /** - *

                                                                      Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

                                                                      + *

                                                                      Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

                                                                      */ - StringValue?: string; + BinaryValue?: Uint8Array; } export namespace MessageSystemAttributeValue { @@ -1513,39 +1517,55 @@ export namespace MessageSystemAttributeValue { */ export interface SendMessageRequest { /** - *

                                                                      Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

                                                                      + *

                                                                      The message system attribute to send. Each message system attribute consists of a Name, Type, and Value.

                                                                      + * + *
                                                                        + *
                                                                      • + *

                                                                        Currently, the only supported message system attribute is AWSTraceHeader. + * Its type must be String and its value must be a correctly formatted + * AWS X-Ray trace header string.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The size of a message system attribute doesn't count towards the total size of a message.

                                                                        + *
                                                                      • + *
                                                                      + *
                                                                      */ - MessageAttributes?: { [key: string]: MessageAttributeValue }; + MessageSystemAttributes?: { [key: string]: MessageSystemAttributeValue }; /** - *

                                                                      This parameter applies only to FIFO (first-in-first-out) queues.

                                                                      - *

                                                                      The tag that specifies that a message belongs to a specific message group. Messages - * that belong to the same message group are processed in a FIFO manner (however, - * messages in different message groups might be processed out of order). To interleave - * multiple ordered streams within a single queue, use MessageGroupId values - * (for example, session data for multiple users). In this scenario, multiple consumers can - * process the queue, but the session data of each user is processed in a FIFO - * fashion.

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        - * ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't - * specify a MessageGroupId.

                                                                        - *
                                                                      • - *
                                                                      - *

                                                                      The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

                                                                      - *

                                                                      For best practices of using MessageGroupId, see - * Using the MessageGroupId Property - * in the Amazon Simple Queue Service Developer Guide.

                                                                      + *

                                                                      The URL of the Amazon SQS queue to which a message is sent.

                                                                      + *

                                                                      Queue URLs and names are case-sensitive.

                                                                      + */ + QueueUrl: string | undefined; + + /** + *

                                                                      + * The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. + * If you don't specify a value, the default value for the queue applies. + *

                                                                      + * + *

                                                                      When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

                                                                      + *
                                                                      + */ + DelaySeconds?: number; + + /** + *

                                                                      The message to send. The minimum size is one character. The maximum size is 256 KB.

                                                                      * - *

                                                                      - * MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

                                                                      + *

                                                                      A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

                                                                      + *

                                                                      + * #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF + *

                                                                      + *

                                                                      Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

                                                                      *
                                                                      */ - MessageGroupId?: string; + MessageBody: string | undefined; + + /** + *

                                                                      Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

                                                                      + */ + MessageAttributes?: { [key: string]: MessageAttributeValue }; /** *

                                                                      This parameter applies only to FIFO (first-in-first-out) queues.

                                                                      @@ -1599,50 +1619,34 @@ export interface SendMessageRequest { MessageDeduplicationId?: string; /** - *

                                                                      - * The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. - * If you don't specify a value, the default value for the queue applies. - *

                                                                      - * - *

                                                                      When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

                                                                      - *
                                                                      - */ - DelaySeconds?: number; - - /** - *

                                                                      The URL of the Amazon SQS queue to which a message is sent.

                                                                      - *

                                                                      Queue URLs and names are case-sensitive.

                                                                      - */ - QueueUrl: string | undefined; - - /** - *

                                                                      The message system attribute to send. Each message system attribute consists of a Name, Type, and Value.

                                                                      - * - *
                                                                        - *
                                                                      • - *

                                                                        Currently, the only supported message system attribute is AWSTraceHeader. - * Its type must be String and its value must be a correctly formatted - * AWS X-Ray trace header string.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        The size of a message system attribute doesn't count towards the total size of a message.

                                                                        - *
                                                                      • - *
                                                                      - *
                                                                      - */ - MessageSystemAttributes?: { [key: string]: MessageSystemAttributeValue }; - - /** - *

                                                                      The message to send. The maximum string size is 256 KB.

                                                                      + *

                                                                      This parameter applies only to FIFO (first-in-first-out) queues.

                                                                      + *

                                                                      The tag that specifies that a message belongs to a specific message group. Messages + * that belong to the same message group are processed in a FIFO manner (however, + * messages in different message groups might be processed out of order). To interleave + * multiple ordered streams within a single queue, use MessageGroupId values + * (for example, session data for multiple users). In this scenario, multiple consumers can + * process the queue, but the session data of each user is processed in a FIFO + * fashion.

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't + * specify a MessageGroupId.

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

                                                                      + *

                                                                      For best practices of using MessageGroupId, see + * Using the MessageGroupId Property + * in the Amazon Simple Queue Service Developer Guide.

                                                                      * - *

                                                                      A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

                                                                      - *

                                                                      - * #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF - *

                                                                      - *

                                                                      Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

                                                                      + *

                                                                      + * MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

                                                                      *
                                                                      */ - MessageBody: string | undefined; + MessageGroupId?: string; } export namespace SendMessageRequest { @@ -1656,16 +1660,16 @@ export namespace SendMessageRequest { */ export interface SendMessageResult { /** - *

                                                                      An MD5 digest of the non-URL-encoded message system attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest.

                                                                      + *

                                                                      An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

                                                                      */ - MD5OfMessageSystemAttributes?: string; + MD5OfMessageBody?: string; /** - *

                                                                      This parameter applies only to FIFO (first-in-first-out) queues.

                                                                      - *

                                                                      The large, non-consecutive number that Amazon SQS assigns to each message.

                                                                      - *

                                                                      The length of SequenceNumber is 128 bits. SequenceNumber continues to increase for a particular MessageGroupId.

                                                                      + *

                                                                      An attribute containing the MessageId of the message sent to the queue. For more information, see Queue and Message Identifiers + * in the Amazon Simple Queue Service Developer Guide. + *

                                                                      */ - SequenceNumber?: string; + MessageId?: string; /** *

                                                                      An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

                                                                      @@ -1673,16 +1677,16 @@ export interface SendMessageResult { MD5OfMessageAttributes?: string; /** - *

                                                                      An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

                                                                      + *

                                                                      An MD5 digest of the non-URL-encoded message system attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest.

                                                                      */ - MD5OfMessageBody?: string; + MD5OfMessageSystemAttributes?: string; /** - *

                                                                      An attribute containing the MessageId of the message sent to the queue. For more information, see Queue and Message Identifiers - * in the Amazon Simple Queue Service Developer Guide. - *

                                                                      + *

                                                                      This parameter applies only to FIFO (first-in-first-out) queues.

                                                                      + *

                                                                      The large, non-consecutive number that Amazon SQS assigns to each message.

                                                                      + *

                                                                      The length of SequenceNumber is 128 bits. SequenceNumber continues to increase for a particular MessageGroupId.

                                                                      */ - MessageId?: string; + SequenceNumber?: string; } export namespace SendMessageResult { @@ -1724,9 +1728,13 @@ export namespace BatchRequestTooLong { */ export interface SendMessageBatchRequestEntry { /** - *

                                                                      The body of the message.

                                                                      + *

                                                                      An identifier for a message in this batch used to communicate the result.

                                                                      + * + *

                                                                      The Ids of a batch request need to be unique within a request.

                                                                      + *

                                                                      This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

                                                                      + *
                                                                      */ - MessageBody: string | undefined; + Id: string | undefined; /** *

                                                                      This parameter applies only to FIFO (first-in-first-out) queues.

                                                                      @@ -1781,18 +1789,14 @@ export interface SendMessageBatchRequestEntry { MessageDeduplicationId?: string; /** - *

                                                                      Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

                                                                      - */ - MessageAttributes?: { [key: string]: MessageAttributeValue }; - - /** - *

                                                                      An identifier for a message in this batch used to communicate the result.

                                                                      + *

                                                                      The length of time, in seconds, for which a specific message is delayed. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. + * If you don't specify a value, the default value for the queue is applied. + *

                                                                      * - *

                                                                      The Ids of a batch request need to be unique within a request.

                                                                      - *

                                                                      This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

                                                                      + *

                                                                      When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

                                                                      *
                                                                      */ - Id: string | undefined; + DelaySeconds?: number; /** *

                                                                      This parameter applies only to FIFO (first-in-first-out) queues.

                                                                      @@ -1842,14 +1846,14 @@ export interface SendMessageBatchRequestEntry { MessageSystemAttributes?: { [key: string]: MessageSystemAttributeValue }; /** - *

                                                                      The length of time, in seconds, for which a specific message is delayed. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. - * If you don't specify a value, the default value for the queue is applied. - *

                                                                      - * - *

                                                                      When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

                                                                      - *
                                                                      + *

                                                                      The body of the message.

                                                                      */ - DelaySeconds?: number; + MessageBody: string | undefined; + + /** + *

                                                                      Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

                                                                      + */ + MessageAttributes?: { [key: string]: MessageAttributeValue }; } export namespace SendMessageBatchRequestEntry { @@ -1889,9 +1893,14 @@ export namespace SendMessageBatchRequest { */ export interface SendMessageBatchResultEntry { /** - *

                                                                      An identifier for the message in this batch.

                                                                      + *

                                                                      An identifier for the message.

                                                                      */ - Id: string | undefined; + MessageId: string | undefined; + + /** + *

                                                                      An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

                                                                      + */ + MD5OfMessageAttributes?: string; /** *

                                                                      An MD5 digest of the non-URL-encoded message system attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

                                                                      @@ -1901,12 +1910,12 @@ export interface SendMessageBatchResultEntry { /** *

                                                                      An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

                                                                      */ - MD5OfMessageAttributes?: string; + MD5OfMessageBody: string | undefined; /** - *

                                                                      An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

                                                                      + *

                                                                      An identifier for the message in this batch.

                                                                      */ - MD5OfMessageBody: string | undefined; + Id: string | undefined; /** *

                                                                      This parameter applies only to FIFO (first-in-first-out) queues.

                                                                      @@ -1914,11 +1923,6 @@ export interface SendMessageBatchResultEntry { *

                                                                      The length of SequenceNumber is 128 bits. As SequenceNumber continues to increase for a particular MessageGroupId.

                                                                      */ SequenceNumber?: string; - - /** - *

                                                                      An identifier for the message.

                                                                      - */ - MessageId: string | undefined; } export namespace SendMessageBatchResultEntry { @@ -2116,14 +2120,14 @@ export namespace TagQueueRequest { export interface UntagQueueRequest { /** - *

                                                                      The URL of the queue.

                                                                      + *

                                                                      The list of tags to be removed from the specified queue.

                                                                      */ - QueueUrl: string | undefined; + TagKeys: string[] | undefined; /** - *

                                                                      The list of tags to be removed from the specified queue.

                                                                      + *

                                                                      The URL of the queue.

                                                                      */ - TagKeys: string[] | undefined; + QueueUrl: string | undefined; } export namespace UntagQueueRequest { diff --git a/clients/client-sqs/pagination/ListQueuesPaginator.ts b/clients/client-sqs/pagination/ListQueuesPaginator.ts new file mode 100644 index 000000000000..34b178fe65c4 --- /dev/null +++ b/clients/client-sqs/pagination/ListQueuesPaginator.ts @@ -0,0 +1,47 @@ +import { SQS } from "../SQS"; +import { SQSClient } from "../SQSClient"; +import { ListQueuesCommand, ListQueuesCommandInput, ListQueuesCommandOutput } from "../commands/ListQueuesCommand"; +import { SQSPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SQSClient, + input: ListQueuesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListQueuesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SQS, + input: ListQueuesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listQueues(input, ...args); +}; +export async function* listQueuesPaginate( + config: SQSPaginationConfiguration, + input: ListQueuesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListQueuesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SQS) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SQSClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SQS | SQSClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sqs/protocols/Aws_query.ts b/clients/client-sqs/protocols/Aws_query.ts index fc7901eb2f39..ed66114c9051 100644 --- a/clients/client-sqs/protocols/Aws_query.ts +++ b/clients/client-sqs/protocols/Aws_query.ts @@ -1808,23 +1808,23 @@ const serializeAws_queryActionNameList = (input: string[], context: __SerdeConte const serializeAws_queryAddPermissionRequest = (input: AddPermissionRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.Label !== undefined) { - entries["Label"] = input.Label; - } - if (input.AWSAccountIds !== undefined) { - const memberEntries = serializeAws_queryAWSAccountIdList(input.AWSAccountIds, context); + if (input.Actions !== undefined) { + const memberEntries = serializeAws_queryActionNameList(input.Actions, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `AWSAccountId.${key.substring(key.indexOf(".") + 1)}`; + const loc = `ActionName.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } + if (input.Label !== undefined) { + entries["Label"] = input.Label; + } if (input.QueueUrl !== undefined) { entries["QueueUrl"] = input.QueueUrl; } - if (input.Actions !== undefined) { - const memberEntries = serializeAws_queryActionNameList(input.Actions, context); + if (input.AWSAccountIds !== undefined) { + const memberEntries = serializeAws_queryAWSAccountIdList(input.AWSAccountIds, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ActionName.${key.substring(key.indexOf(".") + 1)}`; + const loc = `AWSAccountId.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } @@ -1866,6 +1866,9 @@ const serializeAws_queryChangeMessageVisibilityBatchRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.QueueUrl !== undefined) { + entries["QueueUrl"] = input.QueueUrl; + } if (input.Entries !== undefined) { const memberEntries = serializeAws_queryChangeMessageVisibilityBatchRequestEntryList(input.Entries, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -1873,9 +1876,6 @@ const serializeAws_queryChangeMessageVisibilityBatchRequest = ( entries[loc] = value; }); } - if (input.QueueUrl !== undefined) { - entries["QueueUrl"] = input.QueueUrl; - } return entries; }; @@ -1884,15 +1884,15 @@ const serializeAws_queryChangeMessageVisibilityBatchRequestEntry = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ReceiptHandle !== undefined) { - entries["ReceiptHandle"] = input.ReceiptHandle; - } if (input.VisibilityTimeout !== undefined) { entries["VisibilityTimeout"] = input.VisibilityTimeout; } if (input.Id !== undefined) { entries["Id"] = input.Id; } + if (input.ReceiptHandle !== undefined) { + entries["ReceiptHandle"] = input.ReceiptHandle; + } return entries; }; @@ -1917,14 +1917,14 @@ const serializeAws_queryChangeMessageVisibilityRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.ReceiptHandle !== undefined) { - entries["ReceiptHandle"] = input.ReceiptHandle; + if (input.QueueUrl !== undefined) { + entries["QueueUrl"] = input.QueueUrl; } if (input.VisibilityTimeout !== undefined) { entries["VisibilityTimeout"] = input.VisibilityTimeout; } - if (input.QueueUrl !== undefined) { - entries["QueueUrl"] = input.QueueUrl; + if (input.ReceiptHandle !== undefined) { + entries["ReceiptHandle"] = input.ReceiptHandle; } return entries; }; @@ -1956,6 +1956,9 @@ const serializeAws_queryDeleteMessageBatchRequest = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.QueueUrl !== undefined) { + entries["QueueUrl"] = input.QueueUrl; + } if (input.Entries !== undefined) { const memberEntries = serializeAws_queryDeleteMessageBatchRequestEntryList(input.Entries, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -1963,9 +1966,6 @@ const serializeAws_queryDeleteMessageBatchRequest = ( entries[loc] = value; }); } - if (input.QueueUrl !== undefined) { - entries["QueueUrl"] = input.QueueUrl; - } return entries; }; @@ -1974,12 +1974,12 @@ const serializeAws_queryDeleteMessageBatchRequestEntry = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.Id !== undefined) { - entries["Id"] = input.Id; - } if (input.ReceiptHandle !== undefined) { entries["ReceiptHandle"] = input.ReceiptHandle; } + if (input.Id !== undefined) { + entries["Id"] = input.Id; + } return entries; }; @@ -2055,26 +2055,26 @@ const serializeAws_queryListDeadLetterSourceQueuesRequest = ( if (input.QueueUrl !== undefined) { entries["QueueUrl"] = input.QueueUrl; } - if (input.MaxResults !== undefined) { - entries["MaxResults"] = input.MaxResults; - } if (input.NextToken !== undefined) { entries["NextToken"] = input.NextToken; } + if (input.MaxResults !== undefined) { + entries["MaxResults"] = input.MaxResults; + } return entries; }; const serializeAws_queryListQueuesRequest = (input: ListQueuesRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.NextToken !== undefined) { - entries["NextToken"] = input.NextToken; - } if (input.MaxResults !== undefined) { entries["MaxResults"] = input.MaxResults; } if (input.QueueNamePrefix !== undefined) { entries["QueueNamePrefix"] = input.QueueNamePrefix; } + if (input.NextToken !== undefined) { + entries["NextToken"] = input.NextToken; + } return entries; }; @@ -2098,12 +2098,6 @@ const serializeAws_queryMessageAttributeNameList = (input: string[], context: __ const serializeAws_queryMessageAttributeValue = (input: MessageAttributeValue, context: __SerdeContext): any => { const entries: any = {}; - if (input.StringValue !== undefined) { - entries["StringValue"] = input.StringValue; - } - if (input.BinaryValue !== undefined) { - entries["BinaryValue"] = context.base64Encoder(input.BinaryValue); - } if (input.BinaryListValues !== undefined) { const memberEntries = serializeAws_queryBinaryList(input.BinaryListValues, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -2121,6 +2115,12 @@ const serializeAws_queryMessageAttributeValue = (input: MessageAttributeValue, c if (input.DataType !== undefined) { entries["DataType"] = input.DataType; } + if (input.BinaryValue !== undefined) { + entries["BinaryValue"] = context.base64Encoder(input.BinaryValue); + } + if (input.StringValue !== undefined) { + entries["StringValue"] = input.StringValue; + } return entries; }; @@ -2163,6 +2163,12 @@ const serializeAws_queryMessageSystemAttributeValue = ( context: __SerdeContext ): any => { const entries: any = {}; + if (input.DataType !== undefined) { + entries["DataType"] = input.DataType; + } + if (input.StringValue !== undefined) { + entries["StringValue"] = input.StringValue; + } if (input.BinaryListValues !== undefined) { const memberEntries = serializeAws_queryBinaryList(input.BinaryListValues, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -2177,15 +2183,9 @@ const serializeAws_queryMessageSystemAttributeValue = ( entries[loc] = value; }); } - if (input.DataType !== undefined) { - entries["DataType"] = input.DataType; - } if (input.BinaryValue !== undefined) { entries["BinaryValue"] = context.base64Encoder(input.BinaryValue); } - if (input.StringValue !== undefined) { - entries["StringValue"] = input.StringValue; - } return entries; }; @@ -2210,19 +2210,21 @@ const serializeAws_queryQueueAttributeMap = (input: { [key: string]: string }, c const serializeAws_queryReceiveMessageRequest = (input: ReceiveMessageRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MessageAttributeNames !== undefined) { - const memberEntries = serializeAws_queryMessageAttributeNameList(input.MessageAttributeNames, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `MessageAttributeName.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); + if (input.VisibilityTimeout !== undefined) { + entries["VisibilityTimeout"] = input.VisibilityTimeout; } - if (input.WaitTimeSeconds !== undefined) { - entries["WaitTimeSeconds"] = input.WaitTimeSeconds; + if (input.ReceiveRequestAttemptId !== undefined) { + entries["ReceiveRequestAttemptId"] = input.ReceiveRequestAttemptId; + } + if (input.MaxNumberOfMessages !== undefined) { + entries["MaxNumberOfMessages"] = input.MaxNumberOfMessages; } if (input.QueueUrl !== undefined) { entries["QueueUrl"] = input.QueueUrl; } + if (input.WaitTimeSeconds !== undefined) { + entries["WaitTimeSeconds"] = input.WaitTimeSeconds; + } if (input.AttributeNames !== undefined) { const memberEntries = serializeAws_queryAttributeNameList(input.AttributeNames, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -2230,26 +2232,24 @@ const serializeAws_queryReceiveMessageRequest = (input: ReceiveMessageRequest, c entries[loc] = value; }); } - if (input.MaxNumberOfMessages !== undefined) { - entries["MaxNumberOfMessages"] = input.MaxNumberOfMessages; - } - if (input.VisibilityTimeout !== undefined) { - entries["VisibilityTimeout"] = input.VisibilityTimeout; - } - if (input.ReceiveRequestAttemptId !== undefined) { - entries["ReceiveRequestAttemptId"] = input.ReceiveRequestAttemptId; + if (input.MessageAttributeNames !== undefined) { + const memberEntries = serializeAws_queryMessageAttributeNameList(input.MessageAttributeNames, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MessageAttributeName.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; const serializeAws_queryRemovePermissionRequest = (input: RemovePermissionRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.QueueUrl !== undefined) { - entries["QueueUrl"] = input.QueueUrl; - } if (input.Label !== undefined) { entries["Label"] = input.Label; } + if (input.QueueUrl !== undefined) { + entries["QueueUrl"] = input.QueueUrl; + } return entries; }; @@ -2273,21 +2273,14 @@ const serializeAws_querySendMessageBatchRequestEntry = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.MessageBody !== undefined) { - entries["MessageBody"] = input.MessageBody; + if (input.Id !== undefined) { + entries["Id"] = input.Id; } if (input.MessageDeduplicationId !== undefined) { entries["MessageDeduplicationId"] = input.MessageDeduplicationId; } - if (input.MessageAttributes !== undefined) { - const memberEntries = serializeAws_queryMessageBodyAttributeMap(input.MessageAttributes, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `MessageAttribute.${key.substring(key.indexOf(".") + 1)}`; - entries[loc] = value; - }); - } - if (input.Id !== undefined) { - entries["Id"] = input.Id; + if (input.DelaySeconds !== undefined) { + entries["DelaySeconds"] = input.DelaySeconds; } if (input.MessageGroupId !== undefined) { entries["MessageGroupId"] = input.MessageGroupId; @@ -2299,8 +2292,15 @@ const serializeAws_querySendMessageBatchRequestEntry = ( entries[loc] = value; }); } - if (input.DelaySeconds !== undefined) { - entries["DelaySeconds"] = input.DelaySeconds; + if (input.MessageBody !== undefined) { + entries["MessageBody"] = input.MessageBody; + } + if (input.MessageAttributes !== undefined) { + const memberEntries = serializeAws_queryMessageBodyAttributeMap(input.MessageAttributes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MessageAttribute.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); } return entries; }; @@ -2323,34 +2323,34 @@ const serializeAws_querySendMessageBatchRequestEntryList = ( const serializeAws_querySendMessageRequest = (input: SendMessageRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.MessageAttributes !== undefined) { - const memberEntries = serializeAws_queryMessageBodyAttributeMap(input.MessageAttributes, context); + if (input.MessageSystemAttributes !== undefined) { + const memberEntries = serializeAws_queryMessageBodySystemAttributeMap(input.MessageSystemAttributes, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `MessageAttribute.${key.substring(key.indexOf(".") + 1)}`; + const loc = `MessageSystemAttribute.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.MessageGroupId !== undefined) { - entries["MessageGroupId"] = input.MessageGroupId; - } - if (input.MessageDeduplicationId !== undefined) { - entries["MessageDeduplicationId"] = input.MessageDeduplicationId; + if (input.QueueUrl !== undefined) { + entries["QueueUrl"] = input.QueueUrl; } if (input.DelaySeconds !== undefined) { entries["DelaySeconds"] = input.DelaySeconds; } - if (input.QueueUrl !== undefined) { - entries["QueueUrl"] = input.QueueUrl; + if (input.MessageBody !== undefined) { + entries["MessageBody"] = input.MessageBody; } - if (input.MessageSystemAttributes !== undefined) { - const memberEntries = serializeAws_queryMessageBodySystemAttributeMap(input.MessageSystemAttributes, context); + if (input.MessageAttributes !== undefined) { + const memberEntries = serializeAws_queryMessageBodyAttributeMap(input.MessageAttributes, context); Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `MessageSystemAttribute.${key.substring(key.indexOf(".") + 1)}`; + const loc = `MessageAttribute.${key.substring(key.indexOf(".") + 1)}`; entries[loc] = value; }); } - if (input.MessageBody !== undefined) { - entries["MessageBody"] = input.MessageBody; + if (input.MessageDeduplicationId !== undefined) { + entries["MessageDeduplicationId"] = input.MessageDeduplicationId; + } + if (input.MessageGroupId !== undefined) { + entries["MessageGroupId"] = input.MessageGroupId; } return entries; }; @@ -2421,9 +2421,6 @@ const serializeAws_queryTagQueueRequest = (input: TagQueueRequest, context: __Se const serializeAws_queryUntagQueueRequest = (input: UntagQueueRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.QueueUrl !== undefined) { - entries["QueueUrl"] = input.QueueUrl; - } if (input.TagKeys !== undefined) { const memberEntries = serializeAws_queryTagKeyList(input.TagKeys, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -2431,6 +2428,9 @@ const serializeAws_queryUntagQueueRequest = (input: UntagQueueRequest, context: entries[loc] = value; }); } + if (input.QueueUrl !== undefined) { + entries["QueueUrl"] = input.QueueUrl; + } return entries; }; @@ -2449,23 +2449,23 @@ const deserializeAws_queryBatchRequestTooLong = (output: any, context: __SerdeCo const deserializeAws_queryBatchResultErrorEntry = (output: any, context: __SerdeContext): BatchResultErrorEntry => { let contents: any = { - SenderFault: undefined, Code: undefined, - Message: undefined, Id: undefined, + SenderFault: undefined, + Message: undefined, }; - if (output["SenderFault"] !== undefined) { - contents.SenderFault = output["SenderFault"] == "true"; - } if (output["Code"] !== undefined) { contents.Code = output["Code"]; } - if (output["Message"] !== undefined) { - contents.Message = output["Message"]; - } if (output["Id"] !== undefined) { contents.Id = output["Id"]; } + if (output["SenderFault"] !== undefined) { + contents.SenderFault = output["SenderFault"] == "true"; + } + if (output["Message"] !== undefined) { + contents.Message = output["Message"]; + } return contents; }; @@ -2546,18 +2546,9 @@ const deserializeAws_queryDeleteMessageBatchResult = ( context: __SerdeContext ): DeleteMessageBatchResult => { let contents: any = { - Failed: undefined, Successful: undefined, + Failed: undefined, }; - if (output.BatchResultErrorEntry === "") { - contents.Failed = []; - } - if (output["BatchResultErrorEntry"] !== undefined) { - contents.Failed = deserializeAws_queryBatchResultErrorEntryList( - __getArrayIfSingleItem(output["BatchResultErrorEntry"]), - context - ); - } if (output.DeleteMessageBatchResultEntry === "") { contents.Successful = []; } @@ -2567,6 +2558,15 @@ const deserializeAws_queryDeleteMessageBatchResult = ( context ); } + if (output.BatchResultErrorEntry === "") { + contents.Failed = []; + } + if (output["BatchResultErrorEntry"] !== undefined) { + contents.Failed = deserializeAws_queryBatchResultErrorEntryList( + __getArrayIfSingleItem(output["BatchResultErrorEntry"]), + context + ); + } return contents; }; @@ -2646,18 +2646,18 @@ const deserializeAws_queryListDeadLetterSourceQueuesResult = ( context: __SerdeContext ): ListDeadLetterSourceQueuesResult => { let contents: any = { - NextToken: undefined, queueUrls: undefined, + NextToken: undefined, }; - if (output["NextToken"] !== undefined) { - contents.NextToken = output["NextToken"]; - } if (output.QueueUrl === "") { contents.queueUrls = []; } if (output["QueueUrl"] !== undefined) { contents.queueUrls = deserializeAws_queryQueueUrlList(__getArrayIfSingleItem(output["QueueUrl"]), context); } + if (output["NextToken"] !== undefined) { + contents.NextToken = output["NextToken"]; + } return contents; }; @@ -2693,22 +2693,16 @@ const deserializeAws_queryListQueueTagsResult = (output: any, context: __SerdeCo const deserializeAws_queryMessage = (output: any, context: __SerdeContext): Message => { let contents: any = { - MessageAttributes: undefined, + MD5OfBody: undefined, MD5OfMessageAttributes: undefined, ReceiptHandle: undefined, Attributes: undefined, MessageId: undefined, - MD5OfBody: undefined, Body: undefined, + MessageAttributes: undefined, }; - if (output.MessageAttribute === "") { - contents.MessageAttributes = {}; - } - if (output["MessageAttribute"] !== undefined) { - contents.MessageAttributes = deserializeAws_queryMessageBodyAttributeMap( - __getArrayIfSingleItem(output["MessageAttribute"]), - context - ); + if (output["MD5OfBody"] !== undefined) { + contents.MD5OfBody = output["MD5OfBody"]; } if (output["MD5OfMessageAttributes"] !== undefined) { contents.MD5OfMessageAttributes = output["MD5OfMessageAttributes"]; @@ -2728,29 +2722,29 @@ const deserializeAws_queryMessage = (output: any, context: __SerdeContext): Mess if (output["MessageId"] !== undefined) { contents.MessageId = output["MessageId"]; } - if (output["MD5OfBody"] !== undefined) { - contents.MD5OfBody = output["MD5OfBody"]; - } if (output["Body"] !== undefined) { contents.Body = output["Body"]; } + if (output.MessageAttribute === "") { + contents.MessageAttributes = {}; + } + if (output["MessageAttribute"] !== undefined) { + contents.MessageAttributes = deserializeAws_queryMessageBodyAttributeMap( + __getArrayIfSingleItem(output["MessageAttribute"]), + context + ); + } return contents; }; const deserializeAws_queryMessageAttributeValue = (output: any, context: __SerdeContext): MessageAttributeValue => { let contents: any = { - StringValue: undefined, - BinaryValue: undefined, BinaryListValues: undefined, StringListValues: undefined, DataType: undefined, + BinaryValue: undefined, + StringValue: undefined, }; - if (output["StringValue"] !== undefined) { - contents.StringValue = output["StringValue"]; - } - if (output["BinaryValue"] !== undefined) { - contents.BinaryValue = context.base64Decoder(output["BinaryValue"]); - } if (output.BinaryListValue === "") { contents.BinaryListValues = []; } @@ -2772,6 +2766,12 @@ const deserializeAws_queryMessageAttributeValue = (output: any, context: __Serde if (output["DataType"] !== undefined) { contents.DataType = output["DataType"]; } + if (output["BinaryValue"] !== undefined) { + contents.BinaryValue = context.base64Decoder(output["BinaryValue"]); + } + if (output["StringValue"] !== undefined) { + contents.StringValue = output["StringValue"]; + } return contents; }; @@ -2898,31 +2898,31 @@ const deserializeAws_querySendMessageBatchResultEntry = ( context: __SerdeContext ): SendMessageBatchResultEntry => { let contents: any = { - Id: undefined, - MD5OfMessageSystemAttributes: undefined, + MessageId: undefined, MD5OfMessageAttributes: undefined, + MD5OfMessageSystemAttributes: undefined, MD5OfMessageBody: undefined, + Id: undefined, SequenceNumber: undefined, - MessageId: undefined, }; - if (output["Id"] !== undefined) { - contents.Id = output["Id"]; - } - if (output["MD5OfMessageSystemAttributes"] !== undefined) { - contents.MD5OfMessageSystemAttributes = output["MD5OfMessageSystemAttributes"]; + if (output["MessageId"] !== undefined) { + contents.MessageId = output["MessageId"]; } if (output["MD5OfMessageAttributes"] !== undefined) { contents.MD5OfMessageAttributes = output["MD5OfMessageAttributes"]; } + if (output["MD5OfMessageSystemAttributes"] !== undefined) { + contents.MD5OfMessageSystemAttributes = output["MD5OfMessageSystemAttributes"]; + } if (output["MD5OfMessageBody"] !== undefined) { contents.MD5OfMessageBody = output["MD5OfMessageBody"]; } + if (output["Id"] !== undefined) { + contents.Id = output["Id"]; + } if (output["SequenceNumber"] !== undefined) { contents.SequenceNumber = output["SequenceNumber"]; } - if (output["MessageId"] !== undefined) { - contents.MessageId = output["MessageId"]; - } return contents; }; @@ -2935,26 +2935,26 @@ const deserializeAws_querySendMessageBatchResultEntryList = ( const deserializeAws_querySendMessageResult = (output: any, context: __SerdeContext): SendMessageResult => { let contents: any = { - MD5OfMessageSystemAttributes: undefined, - SequenceNumber: undefined, - MD5OfMessageAttributes: undefined, MD5OfMessageBody: undefined, MessageId: undefined, + MD5OfMessageAttributes: undefined, + MD5OfMessageSystemAttributes: undefined, + SequenceNumber: undefined, }; - if (output["MD5OfMessageSystemAttributes"] !== undefined) { - contents.MD5OfMessageSystemAttributes = output["MD5OfMessageSystemAttributes"]; + if (output["MD5OfMessageBody"] !== undefined) { + contents.MD5OfMessageBody = output["MD5OfMessageBody"]; } - if (output["SequenceNumber"] !== undefined) { - contents.SequenceNumber = output["SequenceNumber"]; + if (output["MessageId"] !== undefined) { + contents.MessageId = output["MessageId"]; } if (output["MD5OfMessageAttributes"] !== undefined) { contents.MD5OfMessageAttributes = output["MD5OfMessageAttributes"]; } - if (output["MD5OfMessageBody"] !== undefined) { - contents.MD5OfMessageBody = output["MD5OfMessageBody"]; + if (output["MD5OfMessageSystemAttributes"] !== undefined) { + contents.MD5OfMessageSystemAttributes = output["MD5OfMessageSystemAttributes"]; } - if (output["MessageId"] !== undefined) { - contents.MessageId = output["MessageId"]; + if (output["SequenceNumber"] !== undefined) { + contents.SequenceNumber = output["SequenceNumber"]; } return contents; }; diff --git a/clients/client-ssm/SSM.ts b/clients/client-ssm/SSM.ts index c4411d010281..a2c95f052d1f 100644 --- a/clients/client-ssm/SSM.ts +++ b/clients/client-ssm/SSM.ts @@ -1157,9 +1157,8 @@ export class SSM extends SSMClient { } /** - *

                                                                      Delete a custom inventory type, or the data associated with a custom Inventory type. - * Deleting a custom inventory type is also referred to as deleting a custom inventory - * schema.

                                                                      + *

                                                                      Delete a custom inventory type or the data associated with a custom Inventory type. Deleting + * a custom inventory type is also referred to as deleting a custom inventory schema.

                                                                      */ public deleteInventory( args: DeleteInventoryCommandInput, @@ -2500,10 +2499,6 @@ export class SSM extends SSMClient { *

                                                                      The following section lists the properties that can be used in filters for each major * operating system type:

                                                                      *
                                                                      - *
                                                                      WINDOWS
                                                                      - *
                                                                      - *

                                                                      Valid properties: PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY

                                                                      - *
                                                                      *
                                                                      AMAZON_LINUX
                                                                      *
                                                                      *

                                                                      Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

                                                                      @@ -2512,10 +2507,18 @@ export class SSM extends SSMClient { *
                                                                      *

                                                                      Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

                                                                      *
                                                                      - *
                                                                      UBUNTU
                                                                      + *
                                                                      CENTOS
                                                                      + *
                                                                      + *

                                                                      Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

                                                                      + *
                                                                      + *
                                                                      DEBIAN
                                                                      *
                                                                      *

                                                                      Valid properties: PRODUCT, PRIORITY

                                                                      *
                                                                      + *
                                                                      ORACLE_LINUX
                                                                      + *
                                                                      + *

                                                                      Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

                                                                      + *
                                                                      *
                                                                      REDHAT_ENTERPRISE_LINUX
                                                                      *
                                                                      *

                                                                      Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

                                                                      @@ -2524,9 +2527,13 @@ export class SSM extends SSMClient { *
                                                                      *

                                                                      Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

                                                                      *
                                                                      - *
                                                                      CENTOS
                                                                      + *
                                                                      UBUNTU
                                                                      *
                                                                      - *

                                                                      Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

                                                                      + *

                                                                      Valid properties: PRODUCT, PRIORITY

                                                                      + *
                                                                      + *
                                                                      WINDOWS
                                                                      + *
                                                                      + *

                                                                      Valid properties: PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY

                                                                      *
                                                                      *
                                                                      */ @@ -2629,8 +2636,11 @@ export class SSM extends SSMClient { * specify a time, GetCalendarState returns the state of the calendar at a specific * time, and returns the next time that the Change Calendar state will transition. If you do not * specify a time, GetCalendarState assumes the current time. Change Calendar entries - * have two possible states: OPEN or CLOSED. For more information about - * Systems Manager Change Calendar, see AWS Systems Manager Change + * have two possible states: OPEN or CLOSED.

                                                                      + *

                                                                      If you specify more than one calendar in a request, the command returns the status of + * OPEN only if all calendars in the request are open. If one or more calendars in the + * request are closed, the status returned is CLOSED.

                                                                      + *

                                                                      For more information about Systems Manager Change Calendar, see AWS Systems Manager Change * Calendar in the AWS Systems Manager User Guide.

                                                                      */ public getCalendarState( @@ -3145,7 +3155,7 @@ export class SSM extends SSMClient { } /** - *

                                                                      Query a list of all parameters used by the AWS account.

                                                                      + *

                                                                      Retrieves the history of all changes to a parameter.

                                                                      */ public getParameterHistory( args: GetParameterHistoryCommandInput, @@ -4742,9 +4752,20 @@ export class SSM extends SSMClient { *

                                                                      MaxErrors

                                                                      *
                                                                    • *
                                                                    - *

                                                                    If a parameter is null, then the corresponding field is not modified. Also, if you set - * Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional - * fields that aren't specified are set to null.

                                                                    + *

                                                                    If the value for a parameter in UpdateMaintenanceWindowTask is null, then the + * corresponding field is not modified. If you set Replace to true, then all fields + * required by the RegisterTaskWithMaintenanceWindow action are required for this + * request. Optional fields that aren't specified are set to null.

                                                                    + * + *

                                                                    When you update a maintenance window task that has options specified in + * TaskInvocationParameters, you must provide again all the + * TaskInvocationParameters values that you want to retain. The values you do not + * specify again are removed. For example, suppose that when you registered a Run Command task, you + * specified TaskInvocationParameters values for Comment, + * NotificationConfig, and OutputS3BucketName. If you update the + * maintenance window task and specify only a different OutputS3BucketName value, the + * values for Comment and NotificationConfig are removed.

                                                                    + *
                                                                    */ public updateMaintenanceWindowTask( args: UpdateMaintenanceWindowTaskCommandInput, diff --git a/clients/client-ssm/index.ts b/clients/client-ssm/index.ts index 400ac305eb0b..ef543871d978 100644 --- a/clients/client-ssm/index.ts +++ b/clients/client-ssm/index.ts @@ -28,37 +28,62 @@ export * from "./commands/DescribeActivationsCommand"; export * from "./pagination/DescribeActivationsPaginator"; export * from "./commands/DescribeAssociationCommand"; export * from "./commands/DescribeAssociationExecutionsCommand"; +export * from "./pagination/DescribeAssociationExecutionsPaginator"; export * from "./commands/DescribeAssociationExecutionTargetsCommand"; +export * from "./pagination/DescribeAssociationExecutionTargetsPaginator"; export * from "./commands/DescribeAutomationExecutionsCommand"; +export * from "./pagination/DescribeAutomationExecutionsPaginator"; export * from "./commands/DescribeAutomationStepExecutionsCommand"; +export * from "./pagination/DescribeAutomationStepExecutionsPaginator"; export * from "./commands/DescribeAvailablePatchesCommand"; +export * from "./pagination/DescribeAvailablePatchesPaginator"; export * from "./commands/DescribeDocumentCommand"; export * from "./commands/DescribeDocumentPermissionCommand"; export * from "./commands/DescribeEffectiveInstanceAssociationsCommand"; +export * from "./pagination/DescribeEffectiveInstanceAssociationsPaginator"; export * from "./commands/DescribeEffectivePatchesForPatchBaselineCommand"; +export * from "./pagination/DescribeEffectivePatchesForPatchBaselinePaginator"; export * from "./commands/DescribeInstanceAssociationsStatusCommand"; +export * from "./pagination/DescribeInstanceAssociationsStatusPaginator"; export * from "./commands/DescribeInstanceInformationCommand"; export * from "./pagination/DescribeInstanceInformationPaginator"; export * from "./commands/DescribeInstancePatchesCommand"; +export * from "./pagination/DescribeInstancePatchesPaginator"; export * from "./commands/DescribeInstancePatchStatesCommand"; +export * from "./pagination/DescribeInstancePatchStatesPaginator"; export * from "./commands/DescribeInstancePatchStatesForPatchGroupCommand"; +export * from "./pagination/DescribeInstancePatchStatesForPatchGroupPaginator"; export * from "./commands/DescribeInventoryDeletionsCommand"; +export * from "./pagination/DescribeInventoryDeletionsPaginator"; export * from "./commands/DescribeMaintenanceWindowExecutionsCommand"; +export * from "./pagination/DescribeMaintenanceWindowExecutionsPaginator"; export * from "./commands/DescribeMaintenanceWindowExecutionTaskInvocationsCommand"; +export * from "./pagination/DescribeMaintenanceWindowExecutionTaskInvocationsPaginator"; export * from "./commands/DescribeMaintenanceWindowExecutionTasksCommand"; +export * from "./pagination/DescribeMaintenanceWindowExecutionTasksPaginator"; export * from "./commands/DescribeMaintenanceWindowsCommand"; +export * from "./pagination/DescribeMaintenanceWindowsPaginator"; export * from "./commands/DescribeMaintenanceWindowScheduleCommand"; +export * from "./pagination/DescribeMaintenanceWindowSchedulePaginator"; export * from "./commands/DescribeMaintenanceWindowsForTargetCommand"; +export * from "./pagination/DescribeMaintenanceWindowsForTargetPaginator"; export * from "./commands/DescribeMaintenanceWindowTargetsCommand"; +export * from "./pagination/DescribeMaintenanceWindowTargetsPaginator"; export * from "./commands/DescribeMaintenanceWindowTasksCommand"; +export * from "./pagination/DescribeMaintenanceWindowTasksPaginator"; export * from "./commands/DescribeOpsItemsCommand"; +export * from "./pagination/DescribeOpsItemsPaginator"; export * from "./commands/DescribeParametersCommand"; export * from "./pagination/DescribeParametersPaginator"; export * from "./commands/DescribePatchBaselinesCommand"; +export * from "./pagination/DescribePatchBaselinesPaginator"; export * from "./commands/DescribePatchGroupsCommand"; +export * from "./pagination/DescribePatchGroupsPaginator"; export * from "./commands/DescribePatchGroupStateCommand"; export * from "./commands/DescribePatchPropertiesCommand"; +export * from "./pagination/DescribePatchPropertiesPaginator"; export * from "./commands/DescribeSessionsCommand"; +export * from "./pagination/DescribeSessionsPaginator"; export * from "./commands/GetAutomationExecutionCommand"; export * from "./commands/GetCalendarStateCommand"; export * from "./commands/GetCommandInvocationCommand"; @@ -67,7 +92,9 @@ export * from "./commands/GetDefaultPatchBaselineCommand"; export * from "./commands/GetDeployablePatchSnapshotForInstanceCommand"; export * from "./commands/GetDocumentCommand"; export * from "./commands/GetInventoryCommand"; +export * from "./pagination/GetInventoryPaginator"; export * from "./commands/GetInventorySchemaCommand"; +export * from "./pagination/GetInventorySchemaPaginator"; export * from "./commands/GetMaintenanceWindowCommand"; export * from "./commands/GetMaintenanceWindowExecutionCommand"; export * from "./commands/GetMaintenanceWindowExecutionTaskCommand"; @@ -75,6 +102,7 @@ export * from "./commands/GetMaintenanceWindowExecutionTaskInvocationCommand"; export * from "./commands/GetMaintenanceWindowTaskCommand"; export * from "./commands/GetOpsItemCommand"; export * from "./commands/GetOpsSummaryCommand"; +export * from "./pagination/GetOpsSummaryPaginator"; export * from "./commands/GetParameterCommand"; export * from "./commands/GetParameterHistoryCommand"; export * from "./pagination/GetParameterHistoryPaginator"; @@ -88,18 +116,24 @@ export * from "./commands/LabelParameterVersionCommand"; export * from "./commands/ListAssociationsCommand"; export * from "./pagination/ListAssociationsPaginator"; export * from "./commands/ListAssociationVersionsCommand"; +export * from "./pagination/ListAssociationVersionsPaginator"; export * from "./commands/ListCommandInvocationsCommand"; export * from "./pagination/ListCommandInvocationsPaginator"; export * from "./commands/ListCommandsCommand"; export * from "./pagination/ListCommandsPaginator"; export * from "./commands/ListComplianceItemsCommand"; +export * from "./pagination/ListComplianceItemsPaginator"; export * from "./commands/ListComplianceSummariesCommand"; +export * from "./pagination/ListComplianceSummariesPaginator"; export * from "./commands/ListDocumentsCommand"; export * from "./pagination/ListDocumentsPaginator"; export * from "./commands/ListDocumentVersionsCommand"; +export * from "./pagination/ListDocumentVersionsPaginator"; export * from "./commands/ListInventoryEntriesCommand"; export * from "./commands/ListResourceComplianceSummariesCommand"; +export * from "./pagination/ListResourceComplianceSummariesPaginator"; export * from "./commands/ListResourceDataSyncCommand"; +export * from "./pagination/ListResourceDataSyncPaginator"; export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/ModifyDocumentPermissionCommand"; export * from "./commands/PutComplianceItemsCommand"; diff --git a/clients/client-ssm/models/models_0.ts b/clients/client-ssm/models/models_0.ts index 5ee7f9e6745c..45bef29d9442 100644 --- a/clients/client-ssm/models/models_0.ts +++ b/clients/client-ssm/models/models_0.ts @@ -53,20 +53,31 @@ export namespace Tag { * registered with AWS is called a managed instance.

                                                                    */ export interface Activation { + /** + *

                                                                    The Amazon Identity and Access Management (IAM) role to assign to the managed + * instance.

                                                                    + */ + IamRole?: string; + + /** + *

                                                                    A name for the managed instance when it is created.

                                                                    + */ + DefaultInstanceName?: string; + /** *

                                                                    A user defined description of the activation.

                                                                    */ Description?: string; /** - *

                                                                    The maximum number of managed instances that can be registered using this activation.

                                                                    + *

                                                                    The ID created by Systems Manager when you submitted the activation.

                                                                    */ - RegistrationLimit?: number; + ActivationId?: string; /** - *

                                                                    The date the activation was created.

                                                                    + *

                                                                    Tags assigned to the activation.

                                                                    */ - CreatedDate?: Date; + Tags?: Tag[]; /** *

                                                                    The date when this activation can no longer be used to register managed instances.

                                                                    @@ -74,9 +85,9 @@ export interface Activation { ExpirationDate?: Date; /** - *

                                                                    A name for the managed instance when it is created.

                                                                    + *

                                                                    The maximum number of managed instances that can be registered using this activation.

                                                                    */ - DefaultInstanceName?: string; + RegistrationLimit?: number; /** *

                                                                    Whether or not the activation is expired.

                                                                    @@ -84,25 +95,14 @@ export interface Activation { Expired?: boolean; /** - *

                                                                    The ID created by Systems Manager when you submitted the activation.

                                                                    - */ - ActivationId?: string; - - /** - *

                                                                    Tags assigned to the activation.

                                                                    + *

                                                                    The date the activation was created.

                                                                    */ - Tags?: Tag[]; + CreatedDate?: Date; /** *

                                                                    The number of managed instances already registered with this activation.

                                                                    */ RegistrationsCount?: number; - - /** - *

                                                                    The Amazon Identity and Access Management (IAM) role to assign to the managed - * instance.

                                                                    - */ - IamRole?: string; } export namespace Activation { @@ -121,16 +121,6 @@ export enum ResourceTypeForTagging { } export interface AddTagsToResourceRequest { - /** - *

                                                                    Specifies the type of resource you are tagging.

                                                                    - * - *

                                                                    The ManagedInstance type for this API action is for on-premises managed instances. You must - * specify the name of the managed instance in the following format: mi-ID_number. For example, - * mi-1a2b3c4d5e6f.

                                                                    - *
                                                                    - */ - ResourceType: ResourceTypeForTagging | string | undefined; - /** *

                                                                    One or more tags. The value parameter is required, but if you don't want the tag to have a * value, specify the parameter with no value, and we set the value to an empty string.

                                                                    @@ -154,6 +144,16 @@ export interface AddTagsToResourceRequest { * */ ResourceId: string | undefined; + + /** + *

                                                                    Specifies the type of resource you are tagging.

                                                                    + * + *

                                                                    The ManagedInstance type for this API action is for on-premises managed instances. You must + * specify the name of the managed instance in the following format: mi-ID_number. For example, + * mi-1a2b3c4d5e6f.

                                                                    + *
                                                                    + */ + ResourceType: ResourceTypeForTagging | string | undefined; } export namespace AddTagsToResourceRequest { @@ -384,12 +384,6 @@ export namespace DoesNotExistException { } export interface CreateActivationRequest { - /** - *

                                                                    Specify the maximum number of managed instances you want to register. The default value is 1 - * instance.

                                                                    - */ - RegistrationLimit?: number; - /** *

                                                                    A user-defined description of the resource that you want to register with Systems Manager.

                                                                    * @@ -398,12 +392,6 @@ export interface CreateActivationRequest { */ Description?: string; - /** - *

                                                                    The date by which this activation request should expire. The default value is 24 - * hours.

                                                                    - */ - ExpirationDate?: Date; - /** *

                                                                    The name of the registered, managed instance as it will appear in the Systems Manager console or when * you use the AWS command line tools to list Systems Manager resources.

                                                                    @@ -413,6 +401,20 @@ export interface CreateActivationRequest { */ DefaultInstanceName?: string; + /** + *

                                                                    The Amazon Identity and Access Management (IAM) role that you want to assign to the managed + * instance. This IAM role must provide AssumeRole permissions for the Systems Manager service principal + * ssm.amazonaws.com. For more information, see Create an IAM service role for a + * hybrid environment in the AWS Systems Manager User Guide.

                                                                    + */ + IamRole: string | undefined; + + /** + *

                                                                    The date by which this activation request should expire. The default value is 24 + * hours.

                                                                    + */ + ExpirationDate?: Date; + /** *

                                                                    Optional metadata that you assign to a resource. Tags enable you to categorize a resource in * different ways, such as by purpose, owner, or environment. For example, you might want to tag an @@ -446,12 +448,10 @@ export interface CreateActivationRequest { Tags?: Tag[]; /** - *

                                                                    The Amazon Identity and Access Management (IAM) role that you want to assign to the managed - * instance. This IAM role must provide AssumeRole permissions for the Systems Manager service principal - * ssm.amazonaws.com. For more information, see Create an IAM service role for a - * hybrid environment in the AWS Systems Manager User Guide.

                                                                    + *

                                                                    Specify the maximum number of managed instances you want to register. The default value is 1 + * instance.

                                                                    */ - IamRole: string | undefined; + RegistrationLimit?: number; } export namespace CreateActivationRequest { @@ -461,17 +461,17 @@ export namespace CreateActivationRequest { } export interface CreateActivationResult { - /** - *

                                                                    The ID number generated by the system when it processed the activation. The activation ID - * functions like a user name.

                                                                    - */ - ActivationId?: string; - /** *

                                                                    The code the system generates when it processes the activation. The activation code * functions like a password to validate the activation ID.

                                                                    */ ActivationCode?: string; + + /** + *

                                                                    The ID number generated by the system when it processed the activation. The activation ID + * functions like a user name.

                                                                    + */ + ActivationId?: string; } export namespace CreateActivationResult { @@ -525,16 +525,16 @@ export interface S3OutputLocation { */ OutputS3KeyPrefix?: string; - /** - *

                                                                    The name of the S3 bucket.

                                                                    - */ - OutputS3BucketName?: string; - /** *

                                                                    (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager * automatically determines the Region of the S3 bucket.

                                                                    */ OutputS3Region?: string; + + /** + *

                                                                    The name of the S3 bucket.

                                                                    + */ + OutputS3BucketName?: string; } export namespace S3OutputLocation { @@ -663,18 +663,18 @@ export enum AssociationSyncCompliance { * Key,Value parameters, see Targeting multiple instances in the AWS Systems Manager User Guide.

                                                                    */ export interface Target { - /** - *

                                                                    User-defined criteria for sending commands that target instances that meet the - * criteria.

                                                                    - */ - Key?: string; - /** *

                                                                    User-defined criteria that maps to Key. For example, if you specified * tag:ServerRole, you could specify value:WebServer to run a command on * instances that include EC2 tags of ServerRole,WebServer.

                                                                    */ Values?: string[]; + + /** + *

                                                                    User-defined criteria for sending commands that target instances that meet the + * criteria.

                                                                    + */ + Key?: string; } export namespace Target { @@ -685,22 +685,10 @@ export namespace Target { export interface CreateAssociationRequest { /** - *

                                                                    By default, when you create a new associations, the system runs it immediately after it is - * created and then according to the schedule you specified. Specify this option if you don't want - * an association to run immediately after you create it.

                                                                    - */ - ApplyOnlyAtCronInterval?: boolean; - - /** - *

                                                                    The document version you want to associate with the target(s). Can be a specific version or - * the default version.

                                                                    - */ - DocumentVersion?: string; - - /** - *

                                                                    The severity level to assign to the association.

                                                                    + *

                                                                    Specify the target for the association. This target is required for associations that use an + * Automation document and target resources by using rate controls.

                                                                    */ - ComplianceSeverity?: AssociationComplianceSeverity | string; + AutomationTargetParameterName?: string; /** *

                                                                    The instance ID.

                                                                    @@ -719,12 +707,20 @@ export interface CreateAssociationRequest { InstanceId?: string; /** - *

                                                                    The targets for the association. You can target instances by using tags, AWS Resource - * Groups, all instances in an AWS account, or individual instance IDs. For more information about - * choosing targets for an association, see Using targets and rate controls with State Manager associations in the - * AWS Systems Manager User Guide.

                                                                    + *

                                                                    The document version you want to associate with the target(s). Can be a specific version or + * the default version.

                                                                    */ - Targets?: Target[]; + DocumentVersion?: string; + + /** + *

                                                                    The parameters for the runtime configuration of the document.

                                                                    + */ + Parameters?: { [key: string]: string[] }; + + /** + *

                                                                    An S3 bucket where you want to store the output details of the request.

                                                                    + */ + OutputLocation?: InstanceAssociationOutputLocation; /** *

                                                                    The mode for generating association compliance. You can specify AUTO or @@ -740,30 +736,35 @@ export interface CreateAssociationRequest { SyncCompliance?: AssociationSyncCompliance | string; /** - *

                                                                    A cron expression when the association will be applied to the target(s).

                                                                    + *

                                                                    The severity level to assign to the association.

                                                                    */ - ScheduleExpression?: string; + ComplianceSeverity?: AssociationComplianceSeverity | string; /** - *

                                                                    The number of errors that are allowed before the system stops sending requests to run the - * association on additional targets. You can specify either an absolute number of errors, for - * example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, - * the system stops sending requests when the fourth error is received. If you specify 0, then the - * system stops sending requests after the first error is returned. If you run an association on 50 - * instances and set MaxError to 10%, then the system stops sending the request when the sixth error - * is received.

                                                                    - *

                                                                    Executions that are already running an association when MaxErrors is reached are allowed to - * complete, but some of these executions may fail as well. If you need to ensure that there won't - * be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one - * at a time.

                                                                    + *

                                                                    The targets for the association. You can target instances by using tags, AWS Resource + * Groups, all instances in an AWS account, or individual instance IDs. For more information about + * choosing targets for an association, see Using targets and rate controls with State Manager associations in the + * AWS Systems Manager User Guide.

                                                                    */ - MaxErrors?: string; + Targets?: Target[]; /** - *

                                                                    Specify the target for the association. This target is required for associations that use an - * Automation document and target resources by using rate controls.

                                                                    + *

                                                                    By default, when you create a new associations, the system runs it immediately after it is + * created and then according to the schedule you specified. Specify this option if you don't want + * an association to run immediately after you create it.

                                                                    */ - AutomationTargetParameterName?: string; + ApplyOnlyAtCronInterval?: boolean; + + /** + *

                                                                    The maximum number of targets allowed to run the association at the same time. You can + * specify a number, for example 10, or a percentage of the target set, for example 10%. The default + * value is 100%, which means all targets run the association at the same time.

                                                                    + *

                                                                    If a new instance starts and attempts to run an association while Systems Manager is running + * MaxConcurrency associations, the association is allowed to run. During the next association + * interval, the new instance will process its association within the limit specified for + * MaxConcurrency.

                                                                    + */ + MaxConcurrency?: string; /** *

                                                                    The name of the SSM document that contains the configuration information for the instance. @@ -787,30 +788,29 @@ export interface CreateAssociationRequest { Name: string | undefined; /** - *

                                                                    The parameters for the runtime configuration of the document.

                                                                    + *

                                                                    The number of errors that are allowed before the system stops sending requests to run the + * association on additional targets. You can specify either an absolute number of errors, for + * example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, + * the system stops sending requests when the fourth error is received. If you specify 0, then the + * system stops sending requests after the first error is returned. If you run an association on 50 + * instances and set MaxError to 10%, then the system stops sending the request when the sixth error + * is received.

                                                                    + *

                                                                    Executions that are already running an association when MaxErrors is reached are allowed to + * complete, but some of these executions may fail as well. If you need to ensure that there won't + * be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one + * at a time.

                                                                    */ - Parameters?: { [key: string]: string[] }; + MaxErrors?: string; /** - *

                                                                    An S3 bucket where you want to store the output details of the request.

                                                                    + *

                                                                    A cron expression when the association will be applied to the target(s).

                                                                    */ - OutputLocation?: InstanceAssociationOutputLocation; + ScheduleExpression?: string; /** *

                                                                    Specify a descriptive name for the association.

                                                                    */ AssociationName?: string; - - /** - *

                                                                    The maximum number of targets allowed to run the association at the same time. You can - * specify a number, for example 10, or a percentage of the target set, for example 10%. The default - * value is 100%, which means all targets run the association at the same time.

                                                                    - *

                                                                    If a new instance starts and attempts to run an association while Systems Manager is running - * MaxConcurrency associations, the association is allowed to run. During the next association - * interval, the new instance will process its association within the limit specified for - * MaxConcurrency.

                                                                    - */ - MaxConcurrency?: string; } export namespace CreateAssociationRequest { @@ -831,14 +831,14 @@ export interface AssociationOverview { AssociationStatusAggregatedCount?: { [key: string]: number }; /** - *

                                                                    The status of the association. Status can be: Pending, Success, or Failed.

                                                                    + *

                                                                    A detailed status of the association.

                                                                    */ - Status?: string; + DetailedStatus?: string; /** - *

                                                                    A detailed status of the association.

                                                                    + *

                                                                    The status of the association. Status can be: Pending, Success, or Failed.

                                                                    */ - DetailedStatus?: string; + Status?: string; } export namespace AssociationOverview { @@ -863,9 +863,9 @@ export interface AssociationStatus { Name: AssociationStatusName | string | undefined; /** - *

                                                                    The date when the status changed.

                                                                    + *

                                                                    The reason for the status.

                                                                    */ - Date: Date | undefined; + Message: string | undefined; /** *

                                                                    A user-defined string.

                                                                    @@ -873,9 +873,9 @@ export interface AssociationStatus { AdditionalInfo?: string; /** - *

                                                                    The reason for the status.

                                                                    + *

                                                                    The date when the status changed.

                                                                    */ - Message: string | undefined; + Date: Date | undefined; } export namespace AssociationStatus { @@ -889,29 +889,19 @@ export namespace AssociationStatus { */ export interface AssociationDescription { /** - *

                                                                    The document version.

                                                                    + *

                                                                    The last date on which the association was successfully run.

                                                                    */ - DocumentVersion?: string; + LastSuccessfulExecutionDate?: Date; /** - *

                                                                    An S3 bucket where you want to store the output details of the request.

                                                                    + *

                                                                    A description of the parameters for a document.

                                                                    */ - OutputLocation?: InstanceAssociationOutputLocation; + Parameters?: { [key: string]: string[] }; /** - *

                                                                    The ID of the instance.

                                                                    + *

                                                                    A cron expression that specifies a schedule when the association runs.

                                                                    */ - InstanceId?: string; - - /** - *

                                                                    The date on which the association was last run.

                                                                    - */ - LastExecutionDate?: Date; - - /** - *

                                                                    The association ID.

                                                                    - */ - AssociationId?: string; + ScheduleExpression?: string; /** *

                                                                    The number of errors that are allowed before the system stops sending requests to run the @@ -929,25 +919,24 @@ export interface AssociationDescription { MaxErrors?: string; /** - *

                                                                    Specify the target for the association. This target is required for associations that use an - * Automation document and target resources by using rate controls.

                                                                    + *

                                                                    The association status.

                                                                    */ - AutomationTargetParameterName?: string; + Status?: AssociationStatus; /** - *

                                                                    A cron expression that specifies a schedule when the association runs.

                                                                    + *

                                                                    Information about the association.

                                                                    */ - ScheduleExpression?: string; + Overview?: AssociationOverview; /** - *

                                                                    The name of the Systems Manager document.

                                                                    + *

                                                                    The association version.

                                                                    */ - Name?: string; + AssociationVersion?: string; /** - *

                                                                    The severity level that is assigned to the association.

                                                                    + *

                                                                    The date when the association was last updated.

                                                                    */ - ComplianceSeverity?: AssociationComplianceSeverity | string; + LastUpdateAssociationDate?: Date; /** *

                                                                    The association name.

                                                                    @@ -955,42 +944,35 @@ export interface AssociationDescription { AssociationName?: string; /** - *

                                                                    The maximum number of targets allowed to run the association at the same time. You can - * specify a number, for example 10, or a percentage of the target set, for example 10%. The default - * value is 100%, which means all targets run the association at the same time.

                                                                    - *

                                                                    If a new instance starts and attempts to run an association while Systems Manager is running - * MaxConcurrency associations, the association is allowed to run. During the next association - * interval, the new instance will process its association within the limit specified for - * MaxConcurrency.

                                                                    + *

                                                                    The severity level that is assigned to the association.

                                                                    */ - MaxConcurrency?: string; + ComplianceSeverity?: AssociationComplianceSeverity | string; /** - *

                                                                    The association status.

                                                                    + *

                                                                    The ID of the instance.

                                                                    */ - Status?: AssociationStatus; + InstanceId?: string; /** - *

                                                                    The association version.

                                                                    + *

                                                                    The association ID.

                                                                    */ - AssociationVersion?: string; + AssociationId?: string; /** - *

                                                                    A description of the parameters for a document.

                                                                    + *

                                                                    Specify the target for the association. This target is required for associations that use an + * Automation document and target resources by using rate controls.

                                                                    */ - Parameters?: { [key: string]: string[] }; + AutomationTargetParameterName?: string; /** - *

                                                                    The date when the association was last updated.

                                                                    + *

                                                                    The document version.

                                                                    */ - LastUpdateAssociationDate?: Date; + DocumentVersion?: string; /** - *

                                                                    By default, when you create a new associations, the system runs it immediately after it is - * created and then according to the schedule you specified. Specify this option if you don't want - * an association to run immediately after you create it.

                                                                    + *

                                                                    The date on which the association was last run.

                                                                    */ - ApplyOnlyAtCronInterval?: boolean; + LastExecutionDate?: Date; /** *

                                                                    The mode for generating association compliance. You can specify AUTO or @@ -1011,14 +993,32 @@ export interface AssociationDescription { Targets?: Target[]; /** - *

                                                                    The last date on which the association was successfully run.

                                                                    + *

                                                                    An S3 bucket where you want to store the output details of the request.

                                                                    */ - LastSuccessfulExecutionDate?: Date; + OutputLocation?: InstanceAssociationOutputLocation; /** - *

                                                                    Information about the association.

                                                                    + *

                                                                    By default, when you create a new associations, the system runs it immediately after it is + * created and then according to the schedule you specified. Specify this option if you don't want + * an association to run immediately after you create it.

                                                                    */ - Overview?: AssociationOverview; + ApplyOnlyAtCronInterval?: boolean; + + /** + *

                                                                    The maximum number of targets allowed to run the association at the same time. You can + * specify a number, for example 10, or a percentage of the target set, for example 10%. The default + * value is 100%, which means all targets run the association at the same time.

                                                                    + *

                                                                    If a new instance starts and attempts to run an association while Systems Manager is running + * MaxConcurrency associations, the association is allowed to run. During the next association + * interval, the new instance will process its association within the limit specified for + * MaxConcurrency.

                                                                    + */ + MaxConcurrency?: string; + + /** + *

                                                                    The name of the Systems Manager document.

                                                                    + */ + Name?: string; /** *

                                                                    The date when the association was made.

                                                                    @@ -1163,25 +1163,29 @@ export namespace UnsupportedPlatformType { */ export interface CreateAssociationBatchRequestEntry { /** - *

                                                                    The instances targeted by the request.

                                                                    - */ - Targets?: Target[]; - - /** - *

                                                                    The ID of the instance.

                                                                    + *

                                                                    The number of errors that are allowed before the system stops sending requests to run the + * association on additional targets. You can specify either an absolute number of errors, for + * example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, + * the system stops sending requests when the fourth error is received. If you specify 0, then the + * system stops sending requests after the first error is returned. If you run an association on 50 + * instances and set MaxError to 10%, then the system stops sending the request when the sixth error + * is received.

                                                                    + *

                                                                    Executions that are already running an association when MaxErrors is reached are allowed to + * complete, but some of these executions may fail as well. If you need to ensure that there won't + * be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one + * at a time.

                                                                    */ - InstanceId?: string; + MaxErrors?: string; /** - *

                                                                    Specify the target for the association. This target is required for associations that use an - * Automation document and target resources by using rate controls.

                                                                    + *

                                                                    A cron expression that specifies a schedule when the association runs.

                                                                    */ - AutomationTargetParameterName?: string; + ScheduleExpression?: string; /** - *

                                                                    The document version.

                                                                    + *

                                                                    A description of the parameters for a document.

                                                                    */ - DocumentVersion?: string; + Parameters?: { [key: string]: string[] }; /** *

                                                                    The name of the SSM document that contains the configuration information for the instance. @@ -1205,45 +1209,24 @@ export interface CreateAssociationBatchRequestEntry { Name: string | undefined; /** - *

                                                                    The severity level to assign to the association.

                                                                    - */ - ComplianceSeverity?: AssociationComplianceSeverity | string; - - /** - *

                                                                    Specify a descriptive name for the association.

                                                                    + *

                                                                    The instances targeted by the request.

                                                                    */ - AssociationName?: string; + Targets?: Target[]; /** - *

                                                                    A cron expression that specifies a schedule when the association runs.

                                                                    + *

                                                                    The ID of the instance.

                                                                    */ - ScheduleExpression?: string; + InstanceId?: string; /** - *

                                                                    The number of errors that are allowed before the system stops sending requests to run the - * association on additional targets. You can specify either an absolute number of errors, for - * example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, - * the system stops sending requests when the fourth error is received. If you specify 0, then the - * system stops sending requests after the first error is returned. If you run an association on 50 - * instances and set MaxError to 10%, then the system stops sending the request when the sixth error - * is received.

                                                                    - *

                                                                    Executions that are already running an association when MaxErrors is reached are allowed to - * complete, but some of these executions may fail as well. If you need to ensure that there won't - * be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one - * at a time.

                                                                    + *

                                                                    The document version.

                                                                    */ - MaxErrors?: string; + DocumentVersion?: string; /** - *

                                                                    The maximum number of targets allowed to run the association at the same time. You can - * specify a number, for example 10, or a percentage of the target set, for example 10%. The default - * value is 100%, which means all targets run the association at the same time.

                                                                    - *

                                                                    If a new instance starts and attempts to run an association while Systems Manager is running - * MaxConcurrency associations, the association is allowed to run. During the next association - * interval, the new instance will process its association within the limit specified for - * MaxConcurrency.

                                                                    + *

                                                                    The severity level to assign to the association.

                                                                    */ - MaxConcurrency?: string; + ComplianceSeverity?: AssociationComplianceSeverity | string; /** *

                                                                    The mode for generating association compliance. You can specify AUTO or @@ -1259,9 +1242,17 @@ export interface CreateAssociationBatchRequestEntry { SyncCompliance?: AssociationSyncCompliance | string; /** - *

                                                                    A description of the parameters for a document.

                                                                    + *

                                                                    Specify the target for the association. This target is required for associations that use an + * Automation document and target resources by using rate controls.

                                                                    */ - Parameters?: { [key: string]: string[] }; + AutomationTargetParameterName?: string; + + /** + *

                                                                    By default, when you create a new associations, the system runs it immediately after it is + * created and then according to the schedule you specified. Specify this option if you don't want + * an association to run immediately after you create it.

                                                                    + */ + ApplyOnlyAtCronInterval?: boolean; /** *

                                                                    An S3 bucket where you want to store the results of this request.

                                                                    @@ -1269,11 +1260,20 @@ export interface CreateAssociationBatchRequestEntry { OutputLocation?: InstanceAssociationOutputLocation; /** - *

                                                                    By default, when you create a new associations, the system runs it immediately after it is - * created and then according to the schedule you specified. Specify this option if you don't want - * an association to run immediately after you create it.

                                                                    + *

                                                                    Specify a descriptive name for the association.

                                                                    */ - ApplyOnlyAtCronInterval?: boolean; + AssociationName?: string; + + /** + *

                                                                    The maximum number of targets allowed to run the association at the same time. You can + * specify a number, for example 10, or a percentage of the target set, for example 10%. The default + * value is 100%, which means all targets run the association at the same time.

                                                                    + *

                                                                    If a new instance starts and attempts to run an association while Systems Manager is running + * MaxConcurrency associations, the association is allowed to run. During the next association + * interval, the new instance will process its association within the limit specified for + * MaxConcurrency.

                                                                    + */ + MaxConcurrency?: string; } export namespace CreateAssociationBatchRequestEntry { @@ -1302,14 +1302,14 @@ export type Fault = "Client" | "Server" | "Unknown"; */ export interface FailedCreateAssociation { /** - *

                                                                    A description of the failure.

                                                                    + *

                                                                    The association.

                                                                    */ - Message?: string; + Entry?: CreateAssociationBatchRequestEntry; /** - *

                                                                    The association.

                                                                    + *

                                                                    A description of the failure.

                                                                    */ - Entry?: CreateAssociationBatchRequestEntry; + Message?: string; /** *

                                                                    The source of the failure.

                                                                    @@ -1325,14 +1325,14 @@ export namespace FailedCreateAssociation { export interface CreateAssociationBatchResult { /** - *

                                                                    Information about the associations that succeeded.

                                                                    + *

                                                                    Information about the associations that failed.

                                                                    */ - Successful?: AssociationDescription[]; + Failed?: FailedCreateAssociation[]; /** - *

                                                                    Information about the associations that failed.

                                                                    + *

                                                                    Information about the associations that succeeded.

                                                                    */ - Failed?: FailedCreateAssociation[]; + Successful?: AssociationDescription[]; } export namespace CreateAssociationBatchResult { @@ -1352,17 +1352,6 @@ export enum AttachmentsSourceKey { * pair that identifies the location of an attachment to a document.

                                                                    */ export interface AttachmentsSource { - /** - *

                                                                    The name of the document attachment file.

                                                                    - */ - Name?: string; - - /** - *

                                                                    The key of a key-value pair that identifies the location of an attachment to a - * document.

                                                                    - */ - Key?: AttachmentsSourceKey | string; - /** *

                                                                    The value of a key-value pair that identifies the location of an attachment to a document. * The format for Value depends on the type of key you @@ -1372,14 +1361,14 @@ export interface AttachmentsSource { *

                                                                    For the key SourceUrl, the value is an S3 bucket location. For * example:

                                                                    *

                                                                    - * "Values": [ "s3://my-bucket/my-folder" ] + * "Values": [ "s3://doc-example-bucket/my-folder" ] *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    For the key S3FileUrl, the value is a file in an S3 bucket. For * example:

                                                                    *

                                                                    - * "Values": [ "s3://my-bucket/my-folder/my-file.py" ] + * "Values": [ "s3://doc-example-bucket/my-folder/my-file.py" ] *

                                                                    *
                                                                  • *
                                                                  • @@ -1400,6 +1389,17 @@ export interface AttachmentsSource { *
                                                                  */ Values?: string[]; + + /** + *

                                                                  The name of the document attachment file.

                                                                  + */ + Name?: string; + + /** + *

                                                                  The key of a key-value pair that identifies the location of an attachment to a + * document.

                                                                  + */ + Key?: AttachmentsSourceKey | string; } export namespace AttachmentsSource { @@ -1448,6 +1448,32 @@ export namespace DocumentRequires { } export interface CreateDocumentRequest { + /** + *

                                                                  A name for the Systems Manager document.

                                                                  + * + *

                                                                  You can't use the following strings as document name prefixes. These are reserved by AWS + * for use as document name prefixes:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * aws- + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * amazon + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * amzn + *

                                                                    + *
                                                                  • + *
                                                                  + *
                                                                  + */ + Name: string | undefined; + /** *

                                                                  Specify a target type to define the kinds of resources the document can run on. For example, * to run a document on EC2 instances, specify the following value: /AWS::EC2::Instance. If you @@ -1458,17 +1484,26 @@ export interface CreateDocumentRequest { TargetType?: string; /** - *

                                                                  An optional field specifying the version of the artifact you are creating with the document. - * For example, "Release 12, Update 6". This value is unique across all versions of a document, and - * cannot be changed.

                                                                  + *

                                                                  A list of key and value pairs that describe attachments to a version of a document.

                                                                  */ - VersionName?: string; + Attachments?: AttachmentsSource[]; /** - *

                                                                  The content for the new SSM document in JSON or YAML format. We recommend storing the - * contents for your new document in an external JSON or YAML file and referencing the file in a - * command.

                                                                  - *

                                                                  For examples, see the following topics in the AWS Systems Manager User Guide.

                                                                  + *

                                                                  A list of SSM documents required by a document. This parameter is used exclusively by AWS + * AppConfig. When a user creates an AppConfig configuration in an SSM document, the user must also + * specify a required document for validation purposes. In this case, an + * ApplicationConfiguration document requires an + * ApplicationConfigurationSchema document for validation purposes. For more + * information, see AWS AppConfig in the + * AWS Systems Manager User Guide.

                                                                  + */ + Requires?: DocumentRequires[]; + + /** + *

                                                                  The content for the new SSM document in JSON or YAML format. We recommend storing the + * contents for your new document in an external JSON or YAML file and referencing the file in a + * command.

                                                                  + *

                                                                  For examples, see the following topics in the AWS Systems Manager User Guide.

                                                                  *
                                                                    *
                                                                  • *

                                                                    @@ -1493,9 +1528,11 @@ export interface CreateDocumentRequest { Content: string | undefined; /** - *

                                                                    The type of document to create.

                                                                    + *

                                                                    An optional field specifying the version of the artifact you are creating with the document. + * For example, "Release 12, Update 6". This value is unique across all versions of a document, and + * cannot be changed.

                                                                    */ - DocumentType?: DocumentType | string; + VersionName?: string; /** *

                                                                    Optional metadata that you assign to a resource. Tags enable you to categorize a resource in @@ -1523,52 +1560,15 @@ export interface CreateDocumentRequest { Tags?: Tag[]; /** - *

                                                                    Specify the document format for the request. The document format can be JSON, YAML, or TEXT. - * JSON is the default format.

                                                                    - */ - DocumentFormat?: DocumentFormat | string; - - /** - *

                                                                    A list of SSM documents required by a document. This parameter is used exclusively by AWS - * AppConfig. When a user creates an AppConfig configuration in an SSM document, the user must also - * specify a required document for validation purposes. In this case, an - * ApplicationConfiguration document requires an - * ApplicationConfigurationSchema document for validation purposes. For more - * information, see AWS AppConfig in the - * AWS Systems Manager User Guide.

                                                                    - */ - Requires?: DocumentRequires[]; - - /** - *

                                                                    A list of key and value pairs that describe attachments to a version of a document.

                                                                    + *

                                                                    The type of document to create.

                                                                    */ - Attachments?: AttachmentsSource[]; + DocumentType?: DocumentType | string; /** - *

                                                                    A name for the Systems Manager document.

                                                                    - * - *

                                                                    You can't use the following strings as document name prefixes. These are reserved by AWS - * for use as document name prefixes:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * aws- - *

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * amazon - *

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * amzn - *

                                                                      - *
                                                                    • - *
                                                                    - *
                                                                    + *

                                                                    Specify the document format for the request. The document format can be JSON, YAML, or TEXT. + * JSON is the default format.

                                                                    */ - Name: string | undefined; + DocumentFormat?: DocumentFormat | string; } export namespace CreateDocumentRequest { @@ -1605,27 +1605,27 @@ export type DocumentParameterType = "String" | "StringList"; * run.

                                                                    */ export interface DocumentParameter { - /** - *

                                                                    A description of what the parameter does, how to use it, the default value, and whether or - * not the parameter is optional.

                                                                    - */ - Description?: string; - /** *

                                                                    The name of the parameter.

                                                                    */ Name?: string; /** - *

                                                                    The type of parameter. The type can be either String or StringList.

                                                                    + *

                                                                    A description of what the parameter does, how to use it, the default value, and whether or + * not the parameter is optional.

                                                                    */ - Type?: DocumentParameterType | string; + Description?: string; /** *

                                                                    If specified, the default values for the parameters. Parameters without a default value are * required. Parameters with a default value are optional.

                                                                    */ DefaultValue?: string; + + /** + *

                                                                    The type of parameter. The type can be either String or StringList.

                                                                    + */ + Type?: DocumentParameterType | string; } export namespace DocumentParameter { @@ -1652,30 +1652,42 @@ export enum DocumentStatus { */ export interface DocumentDescription { /** - *

                                                                    The schema version.

                                                                    + *

                                                                    The tags, or metadata, that have been applied to the document.

                                                                    */ - SchemaVersion?: string; + Tags?: Tag[]; /** - *

                                                                    The AWS user account that created the document.

                                                                    + *

                                                                    The list of OS platforms compatible with this Systems Manager document.

                                                                    */ - Owner?: string; + PlatformTypes?: (PlatformType | string)[]; /** - *

                                                                    Details about the document attachments, including names, locations, sizes, and so on.

                                                                    + *

                                                                    The target type which defines the kinds of resources the document can run on. For example, + * /AWS::EC2::Instance. For a list of valid resource types, see AWS resource and property types + * reference in the AWS CloudFormation User Guide.

                                                                    */ - AttachmentsInformation?: AttachmentInformation[]; + TargetType?: string; /** - *

                                                                    The date when the document was created.

                                                                    + *

                                                                    The document version.

                                                                    */ - CreatedDate?: Date; + DocumentVersion?: string; /** *

                                                                    The default version.

                                                                    */ DefaultVersion?: string; + /** + *

                                                                    The status of the Systems Manager document.

                                                                    + */ + Status?: DocumentStatus | string; + + /** + *

                                                                    The date when the document was created.

                                                                    + */ + CreatedDate?: Date; + /** *

                                                                    A list of SSM documents required by a document. For example, an * ApplicationConfiguration document requires an @@ -1684,46 +1696,44 @@ export interface DocumentDescription { Requires?: DocumentRequires[]; /** - *

                                                                    The list of OS platforms compatible with this Systems Manager document.

                                                                    + *

                                                                    The document format, either JSON or YAML.

                                                                    */ - PlatformTypes?: (PlatformType | string)[]; + DocumentFormat?: DocumentFormat | string; /** - *

                                                                    A description of the document.

                                                                    + *

                                                                    The AWS user account that created the document.

                                                                    */ - Description?: string; + Owner?: string; /** - *

                                                                    The status of the Systems Manager document.

                                                                    + *

                                                                    Details about the document attachments, including names, locations, sizes, and so on.

                                                                    */ - Status?: DocumentStatus | string; + AttachmentsInformation?: AttachmentInformation[]; /** - *

                                                                    The version of the artifact associated with the document.

                                                                    + *

                                                                    The schema version.

                                                                    */ - VersionName?: string; + SchemaVersion?: string; /** - *

                                                                    The target type which defines the kinds of resources the document can run on. For example, - * /AWS::EC2::Instance. For a list of valid resource types, see AWS resource and property types - * reference in the AWS CloudFormation User Guide.

                                                                    + *

                                                                    The name of the Systems Manager document.

                                                                    */ - TargetType?: string; + Name?: string; /** - *

                                                                    The document version.

                                                                    + *

                                                                    A description of the document.

                                                                    */ - DocumentVersion?: string; + Description?: string; /** - *

                                                                    The document format, either JSON or YAML.

                                                                    + *

                                                                    The SHA1 hash of the document, which you can use for verification.

                                                                    */ - DocumentFormat?: DocumentFormat | string; + Sha1?: string; /** - *

                                                                    The tags, or metadata, that have been applied to the document.

                                                                    + *

                                                                    The version of the artifact associated with the document.

                                                                    */ - Tags?: Tag[]; + VersionName?: string; /** *

                                                                    The hash type of the document. Valid values include Sha256 or @@ -1735,12 +1745,9 @@ export interface DocumentDescription { HashType?: DocumentHashType | string; /** - *

                                                                    The Sha256 or Sha1 hash created by the system when the document was created.

                                                                    - * - *

                                                                    Sha1 hashes have been deprecated.

                                                                    - *
                                                                    + *

                                                                    The type of document.

                                                                    */ - Hash?: string; + DocumentType?: DocumentType | string; /** *

                                                                    A message returned by AWS Systems Manager that explains the Status value. For example, a @@ -1750,9 +1757,12 @@ export interface DocumentDescription { StatusInformation?: string; /** - *

                                                                    The SHA1 hash of the document, which you can use for verification.

                                                                    + *

                                                                    The Sha256 or Sha1 hash created by the system when the document was created.

                                                                    + * + *

                                                                    Sha1 hashes have been deprecated.

                                                                    + *
                                                                    */ - Sha1?: string; + Hash?: string; /** *

                                                                    The latest version of the document.

                                                                    @@ -1763,16 +1773,6 @@ export interface DocumentDescription { *

                                                                    A description of the parameters for a document.

                                                                    */ Parameters?: DocumentParameter[]; - - /** - *

                                                                    The name of the Systems Manager document.

                                                                    - */ - Name?: string; - - /** - *

                                                                    The type of document.

                                                                    - */ - DocumentType?: DocumentType | string; } export namespace DocumentDescription { @@ -1873,12 +1873,48 @@ export namespace MaxDocumentSizeExceeded { } export interface CreateMaintenanceWindowRequest { + /** + *

                                                                    User-provided idempotency token.

                                                                    + */ + ClientToken?: string; + /** *

                                                                    An optional description for the maintenance window. We recommend specifying a description to * help you organize your maintenance windows.

                                                                    */ Description?: string; + /** + *

                                                                    Enables a maintenance window task to run on managed instances, even if you have not + * registered those instances as targets. If enabled, then you must specify the unregistered + * instances (by instance ID) when you register a task with the maintenance window.

                                                                    + *

                                                                    If you don't enable this option, then you must specify previously-registered targets when + * you register a task with the maintenance window.

                                                                    + */ + AllowUnassociatedTargets: boolean | undefined; + + /** + *

                                                                    The date and time, in ISO-8601 Extended format, for when you want the maintenance window to + * become inactive. EndDate allows you to set a date and time in the future when the maintenance + * window will no longer run.

                                                                    + */ + EndDate?: string; + + /** + *

                                                                    The duration of the maintenance window in hours.

                                                                    + */ + Duration: number | undefined; + + /** + *

                                                                    The name of the maintenance window.

                                                                    + */ + Name: string | undefined; + + /** + *

                                                                    The schedule of the maintenance window in the form of a cron or rate expression.

                                                                    + */ + Schedule: string | undefined; + /** *

                                                                    Optional metadata that you assign to a resource. Tags enable you to categorize a resource in * different ways, such as by purpose, owner, or environment. For example, you might want to tag a @@ -1910,17 +1946,10 @@ export interface CreateMaintenanceWindowRequest { Tags?: Tag[]; /** - *

                                                                    The time zone that the scheduled maintenance window executions are based on, in Internet - * Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "etc/UTC", or - * "Asia/Seoul". For more information, see the Time - * Zone Database on the IANA website.

                                                                    - */ - ScheduleTimezone?: string; - - /** - *

                                                                    User-provided idempotency token.

                                                                    + *

                                                                    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new + * tasks for execution.

                                                                    */ - ClientToken?: string; + Cutoff: number | undefined; /** *

                                                                    The date and time, in ISO-8601 Extended format, for when you want the maintenance window to @@ -1930,32 +1959,12 @@ export interface CreateMaintenanceWindowRequest { StartDate?: string; /** - *

                                                                    The duration of the maintenance window in hours.

                                                                    - */ - Duration: number | undefined; - - /** - *

                                                                    The name of the maintenance window.

                                                                    - */ - Name: string | undefined; - - /** - *

                                                                    The schedule of the maintenance window in the form of a cron or rate expression.

                                                                    - */ - Schedule: string | undefined; - - /** - *

                                                                    The date and time, in ISO-8601 Extended format, for when you want the maintenance window to - * become inactive. EndDate allows you to set a date and time in the future when the maintenance - * window will no longer run.

                                                                    - */ - EndDate?: string; - - /** - *

                                                                    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new - * tasks for execution.

                                                                    + *

                                                                    The time zone that the scheduled maintenance window executions are based on, in Internet + * Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "etc/UTC", or + * "Asia/Seoul". For more information, see the Time + * Zone Database on the IANA website.

                                                                    */ - Cutoff: number | undefined; + ScheduleTimezone?: string; /** *

                                                                    The number of days to wait after the date and time specified by a CRON expression before @@ -1969,16 +1978,7 @@ export interface CreateMaintenanceWindowRequest { * later.

                                                                    */ ScheduleOffset?: number; - - /** - *

                                                                    Enables a maintenance window task to run on managed instances, even if you have not - * registered those instances as targets. If enabled, then you must specify the unregistered - * instances (by instance ID) when you register a task with the maintenance window.

                                                                    - *

                                                                    If you don't enable this option, then you must specify previously-registered targets when - * you register a task with the maintenance window.

                                                                    - */ - AllowUnassociatedTargets: boolean | undefined; -} +} export namespace CreateMaintenanceWindowRequest { export const filterSensitiveLog = (obj: CreateMaintenanceWindowRequest): any => ({ @@ -2060,16 +2060,16 @@ export enum OpsItemDataType { *

                                                                    An object that defines the value of the key and its type in the OperationalData map.

                                                                    */ export interface OpsItemDataValue { - /** - *

                                                                    The value of the OperationalData key.

                                                                    - */ - Value?: string; - /** *

                                                                    The type of key-value pair. Valid types include SearchableString and * String.

                                                                    */ Type?: OpsItemDataType | string; + + /** + *

                                                                    The value of the OperationalData key.

                                                                    + */ + Value?: string; } export namespace OpsItemDataValue { @@ -2098,9 +2098,9 @@ export namespace RelatedOpsItem { export interface CreateOpsItemRequest { /** - *

                                                                    A short heading that describes the nature of the OpsItem and the impacted resource.

                                                                    + *

                                                                    Specify a severity to assign to an OpsItem.

                                                                    */ - Title: string | undefined; + Severity?: string; /** *

                                                                    The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

                                                                    @@ -2110,6 +2110,40 @@ export interface CreateOpsItemRequest { */ Source: string | undefined; + /** + *

                                                                    One or more OpsItems that share something in common with the current OpsItems. For example, + * related OpsItems can include OpsItems with similar error messages, impacted resources, or + * statuses for the impacted resource.

                                                                    + */ + RelatedOpsItems?: RelatedOpsItem[]; + + /** + *

                                                                    A short heading that describes the nature of the OpsItem and the impacted resource.

                                                                    + */ + Title: string | undefined; + + /** + *

                                                                    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this + * OpsItem is edited or changed.

                                                                    + */ + Notifications?: OpsItemNotification[]; + + /** + *

                                                                    Optional metadata that you assign to a resource. You can restrict access to OpsItems by + * using an inline IAM policy that specifies tags. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

                                                                    + *

                                                                    Tags use a key-value pair. For example:

                                                                    + * + *

                                                                    + * Key=Department,Value=Finance + *

                                                                    + * + * + *

                                                                    To add tags to an existing OpsItem, use the AddTagsToResource + * action.

                                                                    + *
                                                                    + */ + Tags?: Tag[]; + /** *

                                                                    Operational data is custom data that provides useful reference details about the OpsItem. * For example, you can specify log files, error strings, license keys, troubleshooting tips, or @@ -2133,53 +2167,19 @@ export interface CreateOpsItemRequest { OperationalData?: { [key: string]: OpsItemDataValue }; /** - *

                                                                    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this - * OpsItem is edited or changed.

                                                                    - */ - Notifications?: OpsItemNotification[]; - - /** - *

                                                                    One or more OpsItems that share something in common with the current OpsItems. For example, - * related OpsItems can include OpsItems with similar error messages, impacted resources, or - * statuses for the impacted resource.

                                                                    + *

                                                                    Information about the OpsItem.

                                                                    */ - RelatedOpsItems?: RelatedOpsItem[]; + Description: string | undefined; /** *

                                                                    Specify a category to assign to an OpsItem.

                                                                    */ Category?: string; - /** - *

                                                                    Information about the OpsItem.

                                                                    - */ - Description: string | undefined; - /** *

                                                                    The importance of this OpsItem in relation to other OpsItems in the system.

                                                                    */ Priority?: number; - - /** - *

                                                                    Optional metadata that you assign to a resource. You can restrict access to OpsItems by - * using an inline IAM policy that specifies tags. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

                                                                    - *

                                                                    Tags use a key-value pair. For example:

                                                                    - * - *

                                                                    - * Key=Department,Value=Finance - *

                                                                    - * - * - *

                                                                    To add tags to an existing OpsItem, use the AddTagsToResource - * action.

                                                                    - *
                                                                    - */ - Tags?: Tag[]; - - /** - *

                                                                    Specify a severity to assign to an OpsItem.

                                                                    - */ - Severity?: string; } export namespace CreateOpsItemRequest { @@ -2224,8 +2224,8 @@ export namespace OpsItemAlreadyExistsException { export interface OpsItemInvalidParameterException extends __SmithyException, $MetadataBearer { name: "OpsItemInvalidParameterException"; $fault: "client"; - ParameterNames?: string[]; Message?: string; + ParameterNames?: string[]; } export namespace OpsItemInvalidParameterException { @@ -2241,10 +2241,10 @@ export namespace OpsItemInvalidParameterException { export interface OpsItemLimitExceededException extends __SmithyException, $MetadataBearer { name: "OpsItemLimitExceededException"; $fault: "client"; + LimitType?: string; Limit?: number; - ResourceTypes?: string[]; Message?: string; - LimitType?: string; + ResourceTypes?: string[]; } export namespace OpsItemLimitExceededException { @@ -2263,15 +2263,25 @@ export enum PatchComplianceLevel { } export enum PatchFilterKey { + AdvisoryId = "ADVISORY_ID", + Arch = "ARCH", + BugzillaId = "BUGZILLA_ID", + CVEId = "CVE_ID", Classification = "CLASSIFICATION", + Epoch = "EPOCH", MsrcSeverity = "MSRC_SEVERITY", + Name = "NAME", PatchId = "PATCH_ID", PatchSet = "PATCH_SET", Priority = "PRIORITY", Product = "PRODUCT", ProductFamily = "PRODUCT_FAMILY", + Release = "RELEASE", + Repository = "REPOSITORY", Section = "SECTION", + Security = "SECURITY", Severity = "SEVERITY", + Version = "VERSION", } /** @@ -2288,19 +2298,19 @@ export enum PatchFilterKey { * be used with each major operating system, see DescribePatchProperties.

                                                                    */ export interface PatchFilter { - /** - *

                                                                    The key for the filter.

                                                                    - *

                                                                    Run the DescribePatchProperties command to view lists of valid keys for - * each operating system type.

                                                                    - */ - Key: PatchFilterKey | string | undefined; - /** *

                                                                    The value for the filter key.

                                                                    *

                                                                    Run the DescribePatchProperties command to view lists of valid values for * each key based on operating system type.

                                                                    */ Values: string[] | undefined; + + /** + *

                                                                    The key for the filter.

                                                                    + *

                                                                    Run the DescribePatchProperties command to view lists of valid keys for + * each operating system type.

                                                                    + */ + Key: PatchFilterKey | string | undefined; } export namespace PatchFilter { @@ -2329,6 +2339,14 @@ export namespace PatchFilterGroup { *

                                                                    Defines an approval rule for a patch baseline.

                                                                    */ export interface PatchRule { + /** + *

                                                                    The cutoff date for auto approval of released patches. Any patches released on or before + * this date are installed automatically. Not supported on Ubuntu Server.

                                                                    + *

                                                                    Enter dates in the format YYYY-MM-DD. For example, + * 2020-12-31.

                                                                    + */ + ApproveUntilDate?: string; + /** *

                                                                    For instances identified by the approval rule filters, enables a patch baseline to apply * non-security updates available in the specified repository. The default value is 'false'. Applies @@ -2348,14 +2366,6 @@ export interface PatchRule { */ ApproveAfterDays?: number; - /** - *

                                                                    The cutoff date for auto approval of released patches. Any patches released on or before - * this date are installed automatically. Not supported on Ubuntu Server.

                                                                    - *

                                                                    Enter dates in the format YYYY-MM-DD. For example, - * 2020-12-31.

                                                                    - */ - ApproveUntilDate?: string; - /** *

                                                                    A compliance severity level for all approved patches in a patch baseline.

                                                                    */ @@ -2411,13 +2421,6 @@ export interface PatchSource { */ Name: string | undefined; - /** - *

                                                                    The specific operating system versions a patch repository applies to, such as "Ubuntu16.04", - * "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported product - * values, see PatchFilter.

                                                                    - */ - Products: string[] | undefined; - /** *

                                                                    The value of the yum repo configuration. For example:

                                                                    *

                                                                    @@ -2434,6 +2437,13 @@ export interface PatchSource { *

                                                                    */ Configuration: string | undefined; + + /** + *

                                                                    The specific operating system versions a patch repository applies to, such as "Ubuntu16.04", + * "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported product + * values, see PatchFilter.

                                                                    + */ + Products: string[] | undefined; } export namespace PatchSource { @@ -2445,25 +2455,48 @@ export namespace PatchSource { export interface CreatePatchBaselineRequest { /** - *

                                                                    A description of the patch baseline.

                                                                    + *

                                                                    The action for Patch Manager to take on patches included in the RejectedPackages + * list.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * ALLOW_AS_DEPENDENCY: A package in the Rejected patches + * list is installed only if it is a dependency of another package. It is considered compliant + * with the patch baseline, and its status is reported as InstalledOther. + * This is the default action if no option is specified.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * BLOCK: Packages in the RejectedPatches list, and packages + * that include them as dependencies, are not installed under any circumstances. If a package was + * installed before it was added to the Rejected patches list, it is considered non-compliant with + * the patch baseline, and its status is reported as + * InstalledRejected.

                                                                      + *
                                                                    • + *
                                                                    */ - Description?: string; + RejectedPatchesAction?: PatchAction | string; /** - *

                                                                    User-provided idempotency token.

                                                                    + *

                                                                    Defines the compliance level for approved patches. This means that if an approved patch is + * reported as missing, this is the severity of the compliance violation. The default value is + * UNSPECIFIED.

                                                                    */ - ClientToken?: string; + ApprovedPatchesComplianceLevel?: PatchComplianceLevel | string; /** - *

                                                                    Defines the operating system the patch baseline applies to. The Default value is - * WINDOWS.

                                                                    + *

                                                                    Information about the patches to use to update the instances, including target operating + * systems and source repositories. Applies to Linux instances only.

                                                                    */ - OperatingSystem?: OperatingSystem | string; + Sources?: PatchSource[]; /** - *

                                                                    The name of the patch baseline.

                                                                    + *

                                                                    A list of explicitly approved patches for the baseline.

                                                                    + *

                                                                    For information about accepted formats for lists of approved patches and rejected patches, + * see About + * package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

                                                                    */ - Name: string | undefined; + ApprovedPatches?: string[]; /** *

                                                                    A list of explicitly rejected patches for the baseline.

                                                                    @@ -2473,54 +2506,42 @@ export interface CreatePatchBaselineRequest { */ RejectedPatches?: string[]; + /** + *

                                                                    The name of the patch baseline.

                                                                    + */ + Name: string | undefined; + /** *

                                                                    A set of rules used to include patches in the baseline.

                                                                    */ ApprovalRules?: PatchRuleGroup; /** - *

                                                                    A list of explicitly approved patches for the baseline.

                                                                    - *

                                                                    For information about accepted formats for lists of approved patches and rejected patches, - * see About - * package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

                                                                    + *

                                                                    User-provided idempotency token.

                                                                    */ - ApprovedPatches?: string[]; + ClientToken?: string; /** - *

                                                                    The action for Patch Manager to take on patches included in the RejectedPackages - * list.

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * ALLOW_AS_DEPENDENCY: A package in the Rejected patches - * list is installed only if it is a dependency of another package. It is considered compliant - * with the patch baseline, and its status is reported as InstalledOther. - * This is the default action if no option is specified.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * BLOCK: Packages in the RejectedPatches list, and packages - * that include them as dependencies, are not installed under any circumstances. If a package was - * installed before it was added to the Rejected patches list, it is considered non-compliant with - * the patch baseline, and its status is reported as - * InstalledRejected.

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    A description of the patch baseline.

                                                                    */ - RejectedPatchesAction?: PatchAction | string; + Description?: string; /** - *

                                                                    Information about the patches to use to update the instances, including target operating - * systems and source repositories. Applies to Linux instances only.

                                                                    + *

                                                                    Indicates whether the list of approved patches includes non-security updates that should be + * applied to the instances. The default value is 'false'. Applies to Linux instances only.

                                                                    */ - Sources?: PatchSource[]; + ApprovedPatchesEnableNonSecurity?: boolean; /** - *

                                                                    Defines the compliance level for approved patches. This means that if an approved patch is - * reported as missing, this is the severity of the compliance violation. The default value is - * UNSPECIFIED.

                                                                    + *

                                                                    A set of global filters used to include patches in the baseline.

                                                                    */ - ApprovedPatchesComplianceLevel?: PatchComplianceLevel | string; + GlobalFilters?: PatchFilterGroup; + + /** + *

                                                                    Defines the operating system the patch baseline applies to. The Default value is + * WINDOWS.

                                                                    + */ + OperatingSystem?: OperatingSystem | string; /** *

                                                                    Optional metadata that you assign to a resource. Tags enable you to categorize a resource in @@ -2545,17 +2566,6 @@ export interface CreatePatchBaselineRequest { * */ Tags?: Tag[]; - - /** - *

                                                                    Indicates whether the list of approved patches includes non-security updates that should be - * applied to the instances. The default value is 'false'. Applies to Linux instances only.

                                                                    - */ - ApprovedPatchesEnableNonSecurity?: boolean; - - /** - *

                                                                    A set of global filters used to include patches in the baseline.

                                                                    - */ - GlobalFilters?: PatchFilterGroup; } export namespace CreatePatchBaselineRequest { @@ -2611,9 +2621,9 @@ export interface ResourceDataSyncS3Destination { AWSKMSKeyARN?: string; /** - *

                                                                    The name of the S3 bucket where the aggregated data is stored.

                                                                    + *

                                                                    Enables destination data sharing. By default, this field is null.

                                                                    */ - BucketName: string | undefined; + DestinationDataSharing?: ResourceDataSyncDestinationDataSharing; /** *

                                                                    A supported sync format. The following format is currently supported: JsonSerDe

                                                                    @@ -2621,9 +2631,9 @@ export interface ResourceDataSyncS3Destination { SyncFormat: ResourceDataSyncS3Format | string | undefined; /** - *

                                                                    Enables destination data sharing. By default, this field is null.

                                                                    + *

                                                                    The name of the S3 bucket where the aggregated data is stored.

                                                                    */ - DestinationDataSharing?: ResourceDataSyncDestinationDataSharing; + BucketName: string | undefined; /** *

                                                                    An Amazon S3 prefix for the bucket.

                                                                    @@ -2689,21 +2699,21 @@ export namespace ResourceDataSyncAwsOrganizationsSource { */ export interface ResourceDataSyncSource { /** - *

                                                                    The SyncSource AWS Regions included in the resource data sync.

                                                                    + *

                                                                    Information about the AwsOrganizationsSource resource data sync source. A sync source of + * this type can synchronize data from AWS Organizations.

                                                                    */ - SourceRegions: string[] | undefined; + AwsOrganizationsSource?: ResourceDataSyncAwsOrganizationsSource; /** - *

                                                                    Whether to automatically synchronize and aggregate data from new AWS Regions when those - * Regions come online.

                                                                    + *

                                                                    The SyncSource AWS Regions included in the resource data sync.

                                                                    */ - IncludeFutureRegions?: boolean; + SourceRegions: string[] | undefined; /** - *

                                                                    Information about the AwsOrganizationsSource resource data sync source. A sync source of - * this type can synchronize data from AWS Organizations.

                                                                    + *

                                                                    Whether to automatically synchronize and aggregate data from new AWS Regions when those + * Regions come online.

                                                                    */ - AwsOrganizationsSource?: ResourceDataSyncAwsOrganizationsSource; + IncludeFutureRegions?: boolean; /** *

                                                                    The type of data source for the resource data sync. SourceType is either @@ -2730,11 +2740,6 @@ export interface CreateResourceDataSyncRequest { */ SyncType?: string; - /** - *

                                                                    A name for the configuration.

                                                                    - */ - SyncName: string | undefined; - /** *

                                                                    Specify information about the data sources to synchronize. This parameter is required if the * SyncType value is SyncFromSource.

                                                                    @@ -2746,6 +2751,11 @@ export interface CreateResourceDataSyncRequest { * SyncType value is SyncToDestination.

                                                                    */ S3Destination?: ResourceDataSyncS3Destination; + + /** + *

                                                                    A name for the configuration.

                                                                    + */ + SyncName: string | undefined; } export namespace CreateResourceDataSyncRequest { @@ -2877,9 +2887,9 @@ export namespace AssociationDoesNotExist { export interface DeleteAssociationRequest { /** - *

                                                                    The ID of the instance.

                                                                    + *

                                                                    The name of the Systems Manager document.

                                                                    */ - InstanceId?: string; + Name?: string; /** *

                                                                    The association ID that you want to delete.

                                                                    @@ -2887,9 +2897,9 @@ export interface DeleteAssociationRequest { AssociationId?: string; /** - *

                                                                    The name of the Systems Manager document.

                                                                    + *

                                                                    The ID of the instance.

                                                                    */ - Name?: string; + InstanceId?: string; } export namespace DeleteAssociationRequest { @@ -2930,10 +2940,10 @@ export interface DeleteDocumentRequest { Force?: boolean; /** - *

                                                                    The version name of the document that you want to delete. If not provided, all versions of - * the document are deleted.

                                                                    + *

                                                                    The version of the document that you want to delete. If not provided, all versions of the + * document are deleted.

                                                                    */ - VersionName?: string; + DocumentVersion?: string; /** *

                                                                    The name of the document.

                                                                    @@ -2941,10 +2951,10 @@ export interface DeleteDocumentRequest { Name: string | undefined; /** - *

                                                                    The version of the document that you want to delete. If not provided, all versions of the - * document are deleted.

                                                                    + *

                                                                    The version name of the document that you want to delete. If not provided, all versions of + * the document are deleted.

                                                                    */ - DocumentVersion?: string; + VersionName?: string; } export namespace DeleteDocumentRequest { @@ -2983,12 +2993,6 @@ export enum InventorySchemaDeleteOption { } export interface DeleteInventoryRequest { - /** - *

                                                                    The name of the custom inventory type for which you want to delete either all previously - * collected data, or the inventory type itself.

                                                                    - */ - TypeName: string | undefined; - /** *

                                                                    Use the SchemaDeleteOption to delete a custom inventory type (schema). If you * don't choose this option, the system only deletes existing inventory data associated with the @@ -3001,6 +3005,11 @@ export interface DeleteInventoryRequest { */ SchemaDeleteOption?: InventorySchemaDeleteOption | string; + /** + *

                                                                    User-provided idempotency token.

                                                                    + */ + ClientToken?: string; + /** *

                                                                    Use this option to view a summary of the deletion request without deleting any data or the * data type. This option is useful when you only want to understand what will be deleted. Once you @@ -3010,9 +3019,10 @@ export interface DeleteInventoryRequest { DryRun?: boolean; /** - *

                                                                    User-provided idempotency token.

                                                                    + *

                                                                    The name of the custom inventory type for which you want to delete either all previously + * collected data or the inventory type itself.

                                                                    */ - ClientToken?: string; + TypeName: string | undefined; } export namespace DeleteInventoryRequest { @@ -3083,14 +3093,14 @@ export interface DeleteInventoryResult { DeletionId?: string; /** - *

                                                                    A summary of the delete operation. For more information about this summary, see Deleting custom inventory in the AWS Systems Manager User Guide.

                                                                    + *

                                                                    The name of the inventory data type specified in the request.

                                                                    */ - DeletionSummary?: InventoryDeletionSummary; + TypeName?: string; /** - *

                                                                    The name of the inventory data type specified in the request.

                                                                    + *

                                                                    A summary of the delete operation. For more information about this summary, see Deleting custom inventory in the AWS Systems Manager User Guide.

                                                                    */ - TypeName?: string; + DeletionSummary?: InventoryDeletionSummary; } export namespace DeleteInventoryResult { @@ -3237,14 +3247,14 @@ export namespace DeleteParametersRequest { export interface DeleteParametersResult { /** - *

                                                                    The names of the deleted parameters.

                                                                    + *

                                                                    The names of parameters that weren't deleted because the parameters are not valid.

                                                                    */ - DeletedParameters?: string[]; + InvalidParameters?: string[]; /** - *

                                                                    The names of parameters that weren't deleted because the parameters are not valid.

                                                                    + *

                                                                    The names of the deleted parameters.

                                                                    */ - InvalidParameters?: string[]; + DeletedParameters?: string[]; } export namespace DeleteParametersResult { @@ -3297,14 +3307,14 @@ export namespace ResourceInUseException { export interface DeleteResourceDataSyncRequest { /** - *

                                                                    Specify the type of resource data sync to delete.

                                                                    + *

                                                                    The name of the configuration to delete.

                                                                    */ - SyncType?: string; + SyncName: string | undefined; /** - *

                                                                    The name of the configuration to delete.

                                                                    + *

                                                                    Specify the type of resource data sync to delete.

                                                                    */ - SyncName: string | undefined; + SyncType?: string; } export namespace DeleteResourceDataSyncRequest { @@ -3327,9 +3337,9 @@ export namespace DeleteResourceDataSyncResult { export interface ResourceDataSyncNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceDataSyncNotFoundException"; $fault: "client"; + Message?: string; SyncType?: string; SyncName?: string; - Message?: string; } export namespace ResourceDataSyncNotFoundException { @@ -3397,11 +3407,6 @@ export namespace DeregisterPatchBaselineForPatchGroupResult { } export interface DeregisterTargetFromMaintenanceWindowRequest { - /** - *

                                                                    The ID of the target definition to remove.

                                                                    - */ - WindowTargetId: string | undefined; - /** *

                                                                    The system checks if the target is being referenced by a task. If the target is being * referenced, the system returns an error and does not deregister the target from the maintenance @@ -3409,6 +3414,11 @@ export interface DeregisterTargetFromMaintenanceWindowRequest { */ Safe?: boolean; + /** + *

                                                                    The ID of the target definition to remove.

                                                                    + */ + WindowTargetId: string | undefined; + /** *

                                                                    The ID of the maintenance window the target should be removed from.

                                                                    */ @@ -3423,14 +3433,14 @@ export namespace DeregisterTargetFromMaintenanceWindowRequest { export interface DeregisterTargetFromMaintenanceWindowResult { /** - *

                                                                    The ID of the maintenance window the target was removed from.

                                                                    + *

                                                                    The ID of the removed target definition.

                                                                    */ - WindowId?: string; + WindowTargetId?: string; /** - *

                                                                    The ID of the removed target definition.

                                                                    + *

                                                                    The ID of the maintenance window the target was removed from.

                                                                    */ - WindowTargetId?: string; + WindowId?: string; } export namespace DeregisterTargetFromMaintenanceWindowResult { @@ -3519,11 +3529,6 @@ export namespace DescribeActivationsFilter { } export interface DescribeActivationsRequest { - /** - *

                                                                    A filter to view information about your activations.

                                                                    - */ - Filters?: DescribeActivationsFilter[]; - /** *

                                                                    The maximum number of items to return for this call. The call also returns a token that you * can specify in a subsequent call to get the next set of results.

                                                                    @@ -3534,6 +3539,11 @@ export interface DescribeActivationsRequest { *

                                                                    A token to start the list. Use this token to get the next set of results.

                                                                    */ NextToken?: string; + + /** + *

                                                                    A filter to view information about your activations.

                                                                    + */ + Filters?: DescribeActivationsFilter[]; } export namespace DescribeActivationsRequest { @@ -3597,6 +3607,11 @@ export interface DescribeAssociationRequest { */ AssociationId?: string; + /** + *

                                                                    The name of the Systems Manager document.

                                                                    + */ + Name?: string; + /** *

                                                                    Specify the association version to retrieve. To view the latest version, either specify * $LATEST for this parameter, or omit this parameter. To view a list of all @@ -3605,11 +3620,6 @@ export interface DescribeAssociationRequest { */ AssociationVersion?: string; - /** - *

                                                                    The name of the Systems Manager document.

                                                                    - */ - Name?: string; - /** *

                                                                    The instance ID.

                                                                    */ @@ -3674,14 +3684,14 @@ export interface AssociationExecutionFilter { Type: AssociationFilterOperatorType | string | undefined; /** - *

                                                                    The value specified for the key.

                                                                    + *

                                                                    The key value used in the request.

                                                                    */ - Value: string | undefined; + Key: AssociationExecutionFilterKey | string | undefined; /** - *

                                                                    The key value used in the request.

                                                                    + *

                                                                    The value specified for the key.

                                                                    */ - Key: AssociationExecutionFilterKey | string | undefined; + Value: string | undefined; } export namespace AssociationExecutionFilter { @@ -3691,12 +3701,6 @@ export namespace AssociationExecutionFilter { } export interface DescribeAssociationExecutionsRequest { - /** - *

                                                                    The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                    - */ - MaxResults?: number; - /** *

                                                                    Filters for the request. You can specify the following filters and values.

                                                                    *

                                                                    ExecutionId (EQUAL)

                                                                    @@ -3706,14 +3710,20 @@ export interface DescribeAssociationExecutionsRequest { Filters?: AssociationExecutionFilter[]; /** - *

                                                                    The association ID for which you want to view execution history details.

                                                                    + *

                                                                    The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                    */ - AssociationId: string | undefined; + MaxResults?: number; /** *

                                                                    A token to start the list. Use this token to get the next set of results.

                                                                    */ NextToken?: string; + + /** + *

                                                                    The association ID for which you want to view execution history details.

                                                                    + */ + AssociationId: string | undefined; } export namespace DescribeAssociationExecutionsRequest { @@ -3727,24 +3737,24 @@ export namespace DescribeAssociationExecutionsRequest { */ export interface AssociationExecution { /** - *

                                                                    An aggregate status of the resources in the execution based on the status type.

                                                                    + *

                                                                    The association ID.

                                                                    */ - ResourceCountByStatus?: string; + AssociationId?: string; /** - *

                                                                    Detailed status information about the execution.

                                                                    + *

                                                                    The association version.

                                                                    */ - DetailedStatus?: string; + AssociationVersion?: string; /** - *

                                                                    The association version.

                                                                    + *

                                                                    The execution ID for the association.

                                                                    */ - AssociationVersion?: string; + ExecutionId?: string; /** - *

                                                                    The status of the association execution.

                                                                    + *

                                                                    An aggregate status of the resources in the execution based on the status type.

                                                                    */ - Status?: string; + ResourceCountByStatus?: string; /** *

                                                                    The time the execution started.

                                                                    @@ -3752,19 +3762,19 @@ export interface AssociationExecution { CreatedTime?: Date; /** - *

                                                                    The date of the last execution.

                                                                    + *

                                                                    Detailed status information about the execution.

                                                                    */ - LastExecutionDate?: Date; + DetailedStatus?: string; /** - *

                                                                    The association ID.

                                                                    + *

                                                                    The status of the association execution.

                                                                    */ - AssociationId?: string; + Status?: string; /** - *

                                                                    The execution ID for the association.

                                                                    + *

                                                                    The date of the last execution.

                                                                    */ - ExecutionId?: string; + LastExecutionDate?: Date; } export namespace AssociationExecution { @@ -3850,9 +3860,9 @@ export interface DescribeAssociationExecutionTargetsRequest { Filters?: AssociationExecutionTargetsFilter[]; /** - *

                                                                    The execution ID for which you want to view details.

                                                                    + *

                                                                    A token to start the list. Use this token to get the next set of results.

                                                                    */ - ExecutionId: string | undefined; + NextToken?: string; /** *

                                                                    The association ID that includes the execution for which you want to view details.

                                                                    @@ -3860,9 +3870,9 @@ export interface DescribeAssociationExecutionTargetsRequest { AssociationId: string | undefined; /** - *

                                                                    A token to start the list. Use this token to get the next set of results.

                                                                    + *

                                                                    The execution ID for which you want to view details.

                                                                    */ - NextToken?: string; + ExecutionId: string | undefined; } export namespace DescribeAssociationExecutionTargetsRequest { @@ -3898,19 +3908,19 @@ export namespace OutputSource { */ export interface AssociationExecutionTarget { /** - *

                                                                    Detailed information about the execution status.

                                                                    + *

                                                                    The association ID.

                                                                    */ - DetailedStatus?: string; + AssociationId?: string; /** - *

                                                                    The association ID.

                                                                    + *

                                                                    Detailed information about the execution status.

                                                                    */ - AssociationId?: string; + DetailedStatus?: string; /** - *

                                                                    The association version.

                                                                    + *

                                                                    The location where the association details are saved.

                                                                    */ - AssociationVersion?: string; + OutputSource?: OutputSource; /** *

                                                                    The resource ID, for example, the instance ID where the association ran.

                                                                    @@ -3918,19 +3928,19 @@ export interface AssociationExecutionTarget { ResourceId?: string; /** - *

                                                                    The association execution status.

                                                                    + *

                                                                    The resource type, for example, instance.

                                                                    */ - Status?: string; + ResourceType?: string; /** - *

                                                                    The date of the last execution.

                                                                    + *

                                                                    The association version.

                                                                    */ - LastExecutionDate?: Date; + AssociationVersion?: string; /** - *

                                                                    The resource type, for example, instance.

                                                                    + *

                                                                    The association execution status.

                                                                    */ - ResourceType?: string; + Status?: string; /** *

                                                                    The execution ID.

                                                                    @@ -3938,9 +3948,9 @@ export interface AssociationExecutionTarget { ExecutionId?: string; /** - *

                                                                    The location where the association details are saved.

                                                                    + *

                                                                    The date of the last execution.

                                                                    */ - OutputSource?: OutputSource; + LastExecutionDate?: Date; } export namespace AssociationExecutionTarget { @@ -3950,16 +3960,16 @@ export namespace AssociationExecutionTarget { } export interface DescribeAssociationExecutionTargetsResult { - /** - *

                                                                    Information about the execution.

                                                                    - */ - AssociationExecutionTargets?: AssociationExecutionTarget[]; - /** *

                                                                    The token for the next set of items to return. Use this token to get the next set of * results.

                                                                    */ NextToken?: string; + + /** + *

                                                                    Information about the execution.

                                                                    + */ + AssociationExecutionTargets?: AssociationExecutionTarget[]; } export namespace DescribeAssociationExecutionTargetsResult { @@ -3985,17 +3995,17 @@ export enum AutomationExecutionFilterKey { * Automation execution information returned.

                                                                    */ export interface AutomationExecutionFilter { + /** + *

                                                                    The values used to limit the execution information associated with the filter's key.

                                                                    + */ + Values: string[] | undefined; + /** *

                                                                    One or more keys to limit the results. Valid filter keys include the following: * DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction, * StartTimeBefore, StartTimeAfter.

                                                                    */ Key: AutomationExecutionFilterKey | string | undefined; - - /** - *

                                                                    The values used to limit the execution information associated with the filter's key.

                                                                    - */ - Values: string[] | undefined; } export namespace AutomationExecutionFilter { @@ -4005,6 +4015,12 @@ export namespace AutomationExecutionFilter { } export interface DescribeAutomationExecutionsRequest { + /** + *

                                                                    The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                    + */ + MaxResults?: number; + /** *

                                                                    Filters used to limit the scope of executions that are requested.

                                                                    */ @@ -4015,12 +4031,6 @@ export interface DescribeAutomationExecutionsRequest { * call.)

                                                                    */ NextToken?: string; - - /** - *

                                                                    The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                    - */ - MaxResults?: number; } export namespace DescribeAutomationExecutionsRequest { @@ -4077,118 +4087,118 @@ export namespace ResolvedTargets { */ export interface AutomationExecutionMetadata { /** - *

                                                                    The ExecutionId of the parent Automation.

                                                                    + *

                                                                    The targets defined by the user when starting the Automation.

                                                                    */ - ParentAutomationExecutionId?: string; + Targets?: Target[]; /** - *

                                                                    The execution ID.

                                                                    + *

                                                                    The document version used during the execution.

                                                                    */ - AutomationExecutionId?: string; + DocumentVersion?: string; /** - *

                                                                    A list of targets that resolved during the execution.

                                                                    + *

                                                                    The list of execution outputs as defined in the Automation document.

                                                                    */ - ResolvedTargets?: ResolvedTargets; + FailureMessage?: string; /** - *

                                                                    Use this filter with DescribeAutomationExecutions. Specify either Local or - * CrossAccount. CrossAccount is an Automation that runs in multiple AWS Regions and accounts. For - * more information, see Running Automation workflows in multiple AWS Regions and accounts in the - * AWS Systems Manager User Guide.

                                                                    + *

                                                                    The Automation execution mode.

                                                                    */ - AutomationType?: AutomationType | string; + Mode?: ExecutionMode | string; /** - *

                                                                    The IAM role ARN of the user who ran the Automation.

                                                                    + *

                                                                    The specified key-value mapping of document parameters to target resources.

                                                                    */ - ExecutedBy?: string; + TargetMaps?: { [key: string]: string[] }[]; /** - *

                                                                    The name of the step that is currently running.

                                                                    + *

                                                                    The MaxErrors value specified by the user when starting the Automation.

                                                                    */ - CurrentStepName?: string; + MaxErrors?: string; /** - *

                                                                    The name of the Automation document used during execution.

                                                                    + *

                                                                    The IAM role ARN of the user who ran the Automation.

                                                                    */ - DocumentName?: string; + ExecutedBy?: string; /** - *

                                                                    The MaxConcurrency value specified by the user when starting the Automation.

                                                                    + *

                                                                    The list of execution outputs as defined in the Automation document.

                                                                    */ - MaxConcurrency?: string; + Outputs?: { [key: string]: string[] }; /** - *

                                                                    The list of execution outputs as defined in the Automation document.

                                                                    + *

                                                                    The action of the step that is currently running.

                                                                    */ - TargetParameterName?: string; + CurrentAction?: string; /** - *

                                                                    An S3 bucket where execution information is stored.

                                                                    + *

                                                                    The name of the Automation document used during execution.

                                                                    */ - LogFile?: string; + DocumentName?: string; /** - *

                                                                    The time the execution finished. This is not populated if the execution is still in - * progress.

                                                                    + *

                                                                    The execution ID.

                                                                    */ - ExecutionEndTime?: Date; + AutomationExecutionId?: string; /** - *

                                                                    The list of execution outputs as defined in the Automation document.

                                                                    + *

                                                                    The time the execution started.

                                                                    */ - Target?: string; + ExecutionStartTime?: Date; /** - *

                                                                    The status of the execution.

                                                                    + *

                                                                    The list of execution outputs as defined in the Automation document.

                                                                    */ - AutomationExecutionStatus?: AutomationExecutionStatus | string; + Target?: string; /** - *

                                                                    The list of execution outputs as defined in the Automation document.

                                                                    + *

                                                                    Use this filter with DescribeAutomationExecutions. Specify either Local or + * CrossAccount. CrossAccount is an Automation that runs in multiple AWS Regions and accounts. For + * more information, see Running Automation workflows in multiple AWS Regions and accounts in the + * AWS Systems Manager User Guide.

                                                                    */ - Outputs?: { [key: string]: string[] }; + AutomationType?: AutomationType | string; /** - *

                                                                    The action of the step that is currently running.

                                                                    + *

                                                                    The ExecutionId of the parent Automation.

                                                                    */ - CurrentAction?: string; + ParentAutomationExecutionId?: string; /** - *

                                                                    The MaxErrors value specified by the user when starting the Automation.

                                                                    + *

                                                                    The list of execution outputs as defined in the Automation document.

                                                                    */ - MaxErrors?: string; + TargetParameterName?: string; /** - *

                                                                    The Automation execution mode.

                                                                    + *

                                                                    The MaxConcurrency value specified by the user when starting the Automation.

                                                                    */ - Mode?: ExecutionMode | string; + MaxConcurrency?: string; /** - *

                                                                    The specified key-value mapping of document parameters to target resources.

                                                                    + *

                                                                    A list of targets that resolved during the execution.

                                                                    */ - TargetMaps?: { [key: string]: string[] }[]; + ResolvedTargets?: ResolvedTargets; /** - *

                                                                    The list of execution outputs as defined in the Automation document.

                                                                    + *

                                                                    The name of the step that is currently running.

                                                                    */ - FailureMessage?: string; + CurrentStepName?: string; /** - *

                                                                    The document version used during the execution.

                                                                    + *

                                                                    The status of the execution.

                                                                    */ - DocumentVersion?: string; + AutomationExecutionStatus?: AutomationExecutionStatus | string; /** - *

                                                                    The time the execution started.

                                                                    + *

                                                                    The time the execution finished. This is not populated if the execution is still in + * progress.

                                                                    */ - ExecutionStartTime?: Date; + ExecutionEndTime?: Date; /** - *

                                                                    The targets defined by the user when starting the Automation.

                                                                    + *

                                                                    An S3 bucket where execution information is stored.

                                                                    */ - Targets?: Target[]; + LogFile?: string; } export namespace AutomationExecutionMetadata { @@ -4294,11 +4304,6 @@ export namespace StepExecutionFilter { } export interface DescribeAutomationStepExecutionsRequest { - /** - *

                                                                    The Automation execution ID for which you want step execution descriptions.

                                                                    - */ - AutomationExecutionId: string | undefined; - /** *

                                                                    The maximum number of items to return for this call. The call also returns a token that you * can specify in a subsequent call to get the next set of results.

                                                                    @@ -4306,21 +4311,26 @@ export interface DescribeAutomationStepExecutionsRequest { MaxResults?: number; /** - *

                                                                    The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                    + *

                                                                    The Automation execution ID for which you want step execution descriptions.

                                                                    */ - NextToken?: string; + AutomationExecutionId: string | undefined; /** - *

                                                                    One or more filters to limit the number of step executions returned by the request.

                                                                    + *

                                                                    The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                    */ - Filters?: StepExecutionFilter[]; + NextToken?: string; /** *

                                                                    A boolean that indicates whether to list step executions in reverse order by start time. The * default value is false.

                                                                    */ ReverseOrder?: boolean; + + /** + *

                                                                    One or more filters to limit the number of step executions returned by the request.

                                                                    + */ + Filters?: StepExecutionFilter[]; } export namespace DescribeAutomationStepExecutionsRequest { @@ -4338,17 +4348,17 @@ export interface FailureDetails { */ Details?: { [key: string]: string[] }; - /** - *

                                                                    The type of Automation failure. Failure types include the following: Action, Permission, - * Throttling, Verification, Internal.

                                                                    - */ - FailureType?: string; - /** *

                                                                    The stage of the Automation execution when the failure occurred. The stages include the * following: InputValidation, PreVerification, Invocation, PostVerification.

                                                                    */ FailureStage?: string; + + /** + *

                                                                    The type of Automation failure. Failure types include the following: Action, Permission, + * Throttling, Verification, Internal.

                                                                    + */ + FailureType?: string; } export namespace FailureDetails { @@ -4363,9 +4373,10 @@ export namespace FailureDetails { */ export interface TargetLocation { /** - *

                                                                    The Automation execution role used by the currently running Automation.

                                                                    + *

                                                                    The maximum number of AWS accounts and AWS regions allowed to run the Automation + * concurrently

                                                                    */ - ExecutionRoleName?: string; + TargetLocationMaxConcurrency?: string; /** *

                                                                    The AWS Regions targeted by the current Automation execution.

                                                                    @@ -4373,21 +4384,20 @@ export interface TargetLocation { Regions?: string[]; /** - *

                                                                    The maximum number of errors allowed before the system stops queueing additional Automation - * executions for the currently running Automation.

                                                                    + *

                                                                    The AWS accounts targeted by the current Automation execution.

                                                                    */ - TargetLocationMaxErrors?: string; + Accounts?: string[]; /** - *

                                                                    The maximum number of AWS accounts and AWS regions allowed to run the Automation - * concurrently

                                                                    + *

                                                                    The maximum number of errors allowed before the system stops queueing additional Automation + * executions for the currently running Automation.

                                                                    */ - TargetLocationMaxConcurrency?: string; + TargetLocationMaxErrors?: string; /** - *

                                                                    The AWS accounts targeted by the current Automation execution.

                                                                    + *

                                                                    The Automation execution role used by the currently running Automation.

                                                                    */ - Accounts?: string[]; + ExecutionRoleName?: string; } export namespace TargetLocation { @@ -4401,122 +4411,122 @@ export namespace TargetLocation { */ export interface StepExecution { /** - *

                                                                    The execution status for this step.

                                                                    + *

                                                                    The flag which can be used to end automation no matter whether the step succeeds or + * fails.

                                                                    */ - StepStatus?: AutomationExecutionStatus | string; + IsEnd?: boolean; /** - *

                                                                    A user-specified list of parameters to override when running a step.

                                                                    + *

                                                                    The action to take if the step fails. The default value is Abort.

                                                                    */ - OverriddenParameters?: { [key: string]: string[] }; + OnFailure?: string; /** - *

                                                                    Returned values from the execution of the step.

                                                                    + *

                                                                    If a step failed, this message explains why the execution failed.

                                                                    */ - Outputs?: { [key: string]: string[] }; + FailureMessage?: string; /** - *

                                                                    The maximum number of tries to run the action of the step. The default value is 1.

                                                                    + *

                                                                    The combination of AWS Regions and accounts targeted by the current Automation + * execution.

                                                                    */ - MaxAttempts?: number; + TargetLocation?: TargetLocation; /** - *

                                                                    The unique ID of a step execution.

                                                                    + *

                                                                    Fully-resolved values passed into the step before execution.

                                                                    */ - StepExecutionId?: string; + Inputs?: { [key: string]: string }; /** - *

                                                                    Information about the Automation failure.

                                                                    + *

                                                                    The name of this execution step.

                                                                    */ - FailureDetails?: FailureDetails; + StepName?: string; /** - *

                                                                    The flag which can be used to help decide whether the failure of current step leads to the - * Automation failure.

                                                                    + *

                                                                    If a step has finished execution, this contains the time the execution ended. If the step + * has not yet concluded, this field is not populated.

                                                                    */ - IsCritical?: boolean; + ExecutionEndTime?: Date; /** *

                                                                    The timeout seconds of the step.

                                                                    */ TimeoutSeconds?: number; + /** + *

                                                                    Information about the Automation failure.

                                                                    + */ + FailureDetails?: FailureDetails; + /** *

                                                                    The action this step performs. The action determines the behavior of the step.

                                                                    */ Action?: string; /** - *

                                                                    Strategies used when step fails, we support Continue and Abort. Abort will fail the - * automation when the step fails. Continue will ignore the failure of current step and allow - * automation to run the next step. With conditional branching, we add step:stepName to support the - * automation to go to another specific step.

                                                                    + *

                                                                    The targets for the step execution.

                                                                    */ - ValidNextSteps?: string[]; + Targets?: Target[]; /** - *

                                                                    If a step has begun execution, this contains the time the step started. If the step is in - * Pending status, this field is not populated.

                                                                    + *

                                                                    A user-specified list of parameters to override when running a step.

                                                                    */ - ExecutionStartTime?: Date; + OverriddenParameters?: { [key: string]: string[] }; /** - *

                                                                    If a step failed, this message explains why the execution failed.

                                                                    + *

                                                                    Returned values from the execution of the step.

                                                                    */ - FailureMessage?: string; + Outputs?: { [key: string]: string[] }; /** - *

                                                                    The name of this execution step.

                                                                    + *

                                                                    If a step has begun execution, this contains the time the step started. If the step is in + * Pending status, this field is not populated.

                                                                    */ - StepName?: string; + ExecutionStartTime?: Date; /** - *

                                                                    The flag which can be used to end automation no matter whether the step succeeds or - * fails.

                                                                    + *

                                                                    The flag which can be used to help decide whether the failure of current step leads to the + * Automation failure.

                                                                    */ - IsEnd?: boolean; + IsCritical?: boolean; /** - *

                                                                    The targets for the step execution.

                                                                    + *

                                                                    Strategies used when step fails, we support Continue and Abort. Abort will fail the + * automation when the step fails. Continue will ignore the failure of current step and allow + * automation to run the next step. With conditional branching, we add step:stepName to support the + * automation to go to another specific step.

                                                                    */ - Targets?: Target[]; + ValidNextSteps?: string[]; /** - *

                                                                    Fully-resolved values passed into the step before execution.

                                                                    + *

                                                                    The maximum number of tries to run the action of the step. The default value is 1.

                                                                    */ - Inputs?: { [key: string]: string }; + MaxAttempts?: number; /** - *

                                                                    The next step after the step succeeds.

                                                                    + *

                                                                    The execution status for this step.

                                                                    */ - NextStep?: string; + StepStatus?: AutomationExecutionStatus | string; /** - *

                                                                    The action to take if the step fails. The default value is Abort.

                                                                    + *

                                                                    A message associated with the response code for an execution.

                                                                    */ - OnFailure?: string; + Response?: string; /** - *

                                                                    If a step has finished execution, this contains the time the execution ended. If the step - * has not yet concluded, this field is not populated.

                                                                    + *

                                                                    The next step after the step succeeds.

                                                                    */ - ExecutionEndTime?: Date; + NextStep?: string; /** - *

                                                                    A message associated with the response code for an execution.

                                                                    + *

                                                                    The unique ID of a step execution.

                                                                    */ - Response?: string; + StepExecutionId?: string; /** *

                                                                    The response code returned by the execution of the step.

                                                                    */ ResponseCode?: string; - - /** - *

                                                                    The combination of AWS Regions and accounts targeted by the current Automation - * execution.

                                                                    - */ - TargetLocation?: TargetLocation; } export namespace StepExecution { @@ -4567,10 +4577,9 @@ export namespace PatchOrchestratorFilter { export interface DescribeAvailablePatchesRequest { /** - *

                                                                    The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                    + *

                                                                    Filters used to scope down the returned patches.

                                                                    */ - NextToken?: string; + Filters?: PatchOrchestratorFilter[]; /** *

                                                                    The maximum number of patches to return (per page).

                                                                    @@ -4578,9 +4587,10 @@ export interface DescribeAvailablePatchesRequest { MaxResults?: number; /** - *

                                                                    Filters used to scope down the returned patches.

                                                                    + *

                                                                    The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                    */ - Filters?: PatchOrchestratorFilter[]; + NextToken?: string; } export namespace DescribeAvailablePatchesRequest { @@ -4594,70 +4604,144 @@ export namespace DescribeAvailablePatchesRequest { */ export interface Patch { /** - *

                                                                    The URL where more information can be obtained about the patch.

                                                                    + *

                                                                    The particular release of a patch. For example, + * in pkg-example-EE-20180914-2.2.amzn1.noarch, the release is 2.amaz1. + * Applies to Linux-based instances only.

                                                                    */ - ContentUrl?: string; + Release?: string; /** - *

                                                                    The product family the patch is applicable for (for example, Windows).

                                                                    + *

                                                                    The version number of the patch. For example, in + * example-pkg-1.710.10-2.7.abcd.x86_64, the version number is indicated by + * -1. Applies to Linux-based instances only.

                                                                    */ - ProductFamily?: string; + Version?: string; /** - *

                                                                    The ID of the MSRC bulletin the patch is related to.

                                                                    + *

                                                                    The language of the patch if it's language-specific.

                                                                    */ - MsrcNumber?: string; + Language?: string; /** - *

                                                                    The description of the patch.

                                                                    + *

                                                                    The source patch repository for the operating + * system and version, such as trusty-security for Ubuntu Server 14.04 LTE and + * focal-security for Ubuntu Server 20.04 LTE. Applies to Linux-based instances + * only.

                                                                    */ - Description?: string; + Repository?: string; /** - *

                                                                    The name of the vendor providing the patch.

                                                                    + *

                                                                    The architecture of the patch. For example, in + * example-pkg-0.710.10-2.7.abcd.x86_64, the architecture is indicated by + * x86_64. Applies to Linux-based instances only.

                                                                    */ - Vendor?: string; + Arch?: string; /** - *

                                                                    The date the patch was released.

                                                                    + *

                                                                    The severity of the patch, such as Critical, Important, or + * Moderate. Applies to Windows patches only.

                                                                    */ - ReleaseDate?: Date; + MsrcSeverity?: string; /** - *

                                                                    The Microsoft Knowledge Base ID of the patch.

                                                                    + *

                                                                    The severity level of the patch. For example, + * CRITICAL or MODERATE.

                                                                    */ - KbNumber?: string; + Severity?: string; /** - *

                                                                    The specific product the patch is applicable for (for example, WindowsServer2016).

                                                                    + *

                                                                    The Microsoft Knowledge Base ID of the patch. Applies to Windows patches only.

                                                                    + */ + KbNumber?: string; + + /** + *

                                                                    The specific product the patch is applicable for. For example, + * WindowsServer2016 or AmazonLinux2018.03.

                                                                    */ Product?: string; /** - *

                                                                    The ID of the patch (this is different than the Microsoft Knowledge Base ID).

                                                                    + *

                                                                    The Common Vulnerabilities and Exposures (CVE) ID + * of the patch. For example, CVE-1999-0067. Applies to Linux-based instances + * only.

                                                                    */ - Id?: string; + CVEIds?: string[]; /** - *

                                                                    The classification of the patch (for example, SecurityUpdates, Updates, - * CriticalUpdates).

                                                                    + *

                                                                    The classification of the patch. For example, SecurityUpdates, + * Updates, or CriticalUpdates.

                                                                    */ Classification?: string; + /** + *

                                                                    The ID of the patch. Applies to Windows patches only.

                                                                    + * + *

                                                                    This ID is not the same as the Microsoft Knowledge Base ID.

                                                                    + *
                                                                    + */ + Id?: string; + + /** + *

                                                                    The Advisory ID of the patch. For example, + * RHSA-2020:3779. Applies to Linux-based instances only.

                                                                    + */ + AdvisoryIds?: string[]; + + /** + *

                                                                    The description of the patch.

                                                                    + */ + Description?: string; + + /** + *

                                                                    The ID of the Microsoft Security Response Center (MSRC) bulletin the patch is related to. + * For example, MS14-045. Applies to Windows patches only.

                                                                    + */ + MsrcNumber?: string; + + /** + *

                                                                    The URL where more information can be obtained about the patch.

                                                                    + */ + ContentUrl?: string; + + /** + *

                                                                    The product family the patch is applicable for. For example, Windows or + * Amazon Linux 2.

                                                                    + */ + ProductFamily?: string; + + /** + *

                                                                    The date the patch was released.

                                                                    + */ + ReleaseDate?: Date; + + /** + *

                                                                    The Bugzilla ID of the patch. For example, + * 1600646. Applies to Linux-based instances only.

                                                                    + */ + BugzillaIds?: string[]; + /** *

                                                                    The title of the patch.

                                                                    */ Title?: string; /** - *

                                                                    The severity of the patch (for example Critical, Important, Moderate).

                                                                    + *

                                                                    The name of the patch. Applies to Linux-based + * instances only.

                                                                    */ - MsrcSeverity?: string; + Name?: string; /** - *

                                                                    The language of the patch if it's language-specific.

                                                                    + *

                                                                    The epoch of the patch. For example in + * pkg-example-EE-20180914-2.2.amzn1.noarch, the epoch value is + * 20180914-2. Applies to Linux-based instances only.

                                                                    */ - Language?: string; + Epoch?: number; + + /** + *

                                                                    The name of the vendor providing the patch.

                                                                    + */ + Vendor?: string; } export namespace Patch { @@ -4668,15 +4752,15 @@ export namespace Patch { export interface DescribeAvailablePatchesResult { /** - *

                                                                    The token to use when requesting the next set of items. If there are no additional items to - * return, the string is empty.

                                                                    + *

                                                                    An array of patches. Each entry in the array is a patch structure.

                                                                    */ - NextToken?: string; + Patches?: Patch[]; /** - *

                                                                    An array of patches. Each entry in the array is a patch structure.

                                                                    + *

                                                                    The token to use when requesting the next set of items. If there are no additional items to + * return, the string is empty.

                                                                    */ - Patches?: Patch[]; + NextToken?: string; } export namespace DescribeAvailablePatchesResult { @@ -4686,6 +4770,11 @@ export namespace DescribeAvailablePatchesResult { } export interface DescribeDocumentRequest { + /** + *

                                                                    The name of the Systems Manager document.

                                                                    + */ + Name: string | undefined; + /** *

                                                                    An optional field specifying the version of the artifact associated with the document. For * example, "Release 12, Update 6". This value is unique across all versions of a document, and @@ -4693,11 +4782,6 @@ export interface DescribeDocumentRequest { */ VersionName?: string; - /** - *

                                                                    The name of the Systems Manager document.

                                                                    - */ - Name: string | undefined; - /** *

                                                                    The document version for which you want information. Can be a specific version or the * default version.

                                                                    @@ -4784,12 +4868,6 @@ export namespace InvalidPermissionType { } export interface DescribeEffectiveInstanceAssociationsRequest { - /** - *

                                                                    The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                    - */ - MaxResults?: number; - /** *

                                                                    The instance ID for which you want to view all associations.

                                                                    */ @@ -4800,6 +4878,12 @@ export interface DescribeEffectiveInstanceAssociationsRequest { * call.)

                                                                    */ NextToken?: string; + + /** + *

                                                                    The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                    + */ + MaxResults?: number; } export namespace DescribeEffectiveInstanceAssociationsRequest { @@ -4818,14 +4902,14 @@ export interface InstanceAssociation { InstanceId?: string; /** - *

                                                                    The association ID.

                                                                    + *

                                                                    The content of the association document for the instance(s).

                                                                    */ - AssociationId?: string; + Content?: string; /** - *

                                                                    The content of the association document for the instance(s).

                                                                    + *

                                                                    The association ID.

                                                                    */ - Content?: string; + AssociationId?: string; /** *

                                                                    Version information for the association on the instance.

                                                                    @@ -4840,16 +4924,16 @@ export namespace InstanceAssociation { } export interface DescribeEffectiveInstanceAssociationsResult { - /** - *

                                                                    The associations for the requested instance.

                                                                    - */ - Associations?: InstanceAssociation[]; - /** *

                                                                    The token to use when requesting the next set of items. If there are no additional items to * return, the string is empty.

                                                                    */ NextToken?: string; + + /** + *

                                                                    The associations for the requested instance.

                                                                    + */ + Associations?: InstanceAssociation[]; } export namespace DescribeEffectiveInstanceAssociationsResult { @@ -4865,15 +4949,15 @@ export interface DescribeEffectivePatchesForPatchBaselineRequest { BaselineId: string | undefined; /** - *

                                                                    The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                    + *

                                                                    The maximum number of patches to return (per page).

                                                                    */ - NextToken?: string; + MaxResults?: number; /** - *

                                                                    The maximum number of patches to return (per page).

                                                                    + *

                                                                    The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                    */ - MaxResults?: number; + NextToken?: string; } export namespace DescribeEffectivePatchesForPatchBaselineRequest { @@ -4894,10 +4978,9 @@ export enum PatchDeploymentStatus { */ export interface PatchStatus { /** - *

                                                                    The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, - * EXPLICIT_REJECTED).

                                                                    + *

                                                                    The compliance severity level for a patch.

                                                                    */ - DeploymentStatus?: PatchDeploymentStatus | string; + ComplianceLevel?: PatchComplianceLevel | string; /** *

                                                                    The date the patch was approved (or will be approved if the status is @@ -4906,9 +4989,10 @@ export interface PatchStatus { ApprovalDate?: Date; /** - *

                                                                    The compliance severity level for a patch.

                                                                    + *

                                                                    The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, + * EXPLICIT_REJECTED).

                                                                    */ - ComplianceLevel?: PatchComplianceLevel | string; + DeploymentStatus?: PatchDeploymentStatus | string; } export namespace PatchStatus { @@ -4946,15 +5030,15 @@ export namespace EffectivePatch { export interface DescribeEffectivePatchesForPatchBaselineResult { /** - *

                                                                    The token to use when requesting the next set of items. If there are no additional items to - * return, the string is empty.

                                                                    + *

                                                                    An array of patches and patch status.

                                                                    */ - NextToken?: string; + EffectivePatches?: EffectivePatch[]; /** - *

                                                                    An array of patches and patch status.

                                                                    + *

                                                                    The token to use when requesting the next set of items. If there are no additional items to + * return, the string is empty.

                                                                    */ - EffectivePatches?: EffectivePatch[]; + NextToken?: string; } export namespace DescribeEffectivePatchesForPatchBaselineResult { @@ -4965,8 +5049,7 @@ export namespace DescribeEffectivePatchesForPatchBaselineResult { /** *

                                                                    The operating systems you specified is not supported, or the operation is not supported for - * the operating system. Valid operating systems include: Windows, AmazonLinux, - * RedhatEnterpriseLinux, and Ubuntu.

                                                                    + * the operating system.

                                                                    */ export interface UnsupportedOperatingSystem extends __SmithyException, $MetadataBearer { name: "UnsupportedOperatingSystem"; @@ -4981,17 +5064,17 @@ export namespace UnsupportedOperatingSystem { } export interface DescribeInstanceAssociationsStatusRequest { - /** - *

                                                                    The instance IDs for which you want association status information.

                                                                    - */ - InstanceId: string | undefined; - /** *

                                                                    The token for the next set of items to return. (You received this token from a previous * call.)

                                                                    */ NextToken?: string; + /** + *

                                                                    The instance IDs for which you want association status information.

                                                                    + */ + InstanceId: string | undefined; + /** *

                                                                    The maximum number of items to return for this call. The call also returns a token that you * can specify in a subsequent call to get the next set of results.

                                                                    @@ -5042,24 +5125,19 @@ export namespace InstanceAssociationOutputUrl { */ export interface InstanceAssociationStatusInfo { /** - *

                                                                    The instance ID where the association was created.

                                                                    - */ - InstanceId?: string; - - /** - *

                                                                    A URL for an S3 bucket where you want to store the results of this request.

                                                                    + *

                                                                    The date the instance association ran.

                                                                    */ - OutputUrl?: InstanceAssociationOutputUrl; + ExecutionDate?: Date; /** - *

                                                                    The name of the association applied to the instance.

                                                                    + *

                                                                    Detailed status information about the instance association.

                                                                    */ - AssociationName?: string; + DetailedStatus?: string; /** - *

                                                                    Detailed status information about the instance association.

                                                                    + *

                                                                    Summary information about association execution.

                                                                    */ - DetailedStatus?: string; + ExecutionSummary?: string; /** *

                                                                    The name of the association.

                                                                    @@ -5067,24 +5145,24 @@ export interface InstanceAssociationStatusInfo { Name?: string; /** - *

                                                                    The version of the association applied to the instance.

                                                                    + *

                                                                    The association ID.

                                                                    */ - AssociationVersion?: string; + AssociationId?: string; /** - *

                                                                    The date the instance association ran.

                                                                    + *

                                                                    A URL for an S3 bucket where you want to store the results of this request.

                                                                    */ - ExecutionDate?: Date; + OutputUrl?: InstanceAssociationOutputUrl; /** - *

                                                                    The association ID.

                                                                    + *

                                                                    Status information about the instance association.

                                                                    */ - AssociationId?: string; + Status?: string; /** - *

                                                                    Status information about the instance association.

                                                                    + *

                                                                    The association document versions.

                                                                    */ - Status?: string; + DocumentVersion?: string; /** *

                                                                    An error code returned by the request to create the association.

                                                                    @@ -5092,14 +5170,19 @@ export interface InstanceAssociationStatusInfo { ErrorCode?: string; /** - *

                                                                    The association document versions.

                                                                    + *

                                                                    The name of the association applied to the instance.

                                                                    */ - DocumentVersion?: string; + AssociationName?: string; /** - *

                                                                    Summary information about association execution.

                                                                    + *

                                                                    The version of the association applied to the instance.

                                                                    */ - ExecutionSummary?: string; + AssociationVersion?: string; + + /** + *

                                                                    The instance ID where the association was created.

                                                                    + */ + InstanceId?: string; } export namespace InstanceAssociationStatusInfo { @@ -5170,14 +5253,14 @@ export enum InstanceInformationFilterKey { */ export interface InstanceInformationFilter { /** - *

                                                                    The filter values.

                                                                    + *

                                                                    The name of the filter.

                                                                    */ - valueSet: string[] | undefined; + key: InstanceInformationFilterKey | string | undefined; /** - *

                                                                    The name of the filter.

                                                                    + *

                                                                    The filter values.

                                                                    */ - key: InstanceInformationFilterKey | string | undefined; + valueSet: string[] | undefined; } export namespace InstanceInformationFilter { @@ -5205,17 +5288,17 @@ export interface DescribeInstanceInformationRequest { */ Filters?: InstanceInformationStringFilter[]; - /** - *

                                                                    The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                    - */ - NextToken?: string; - /** *

                                                                    The maximum number of items to return for this call. The call also returns a token that you * can specify in a subsequent call to get the next set of results.

                                                                    */ MaxResults?: number; + + /** + *

                                                                    The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                    + */ + NextToken?: string; } export namespace DescribeInstanceInformationRequest { @@ -5229,14 +5312,14 @@ export namespace DescribeInstanceInformationRequest { */ export interface InstanceAggregatedAssociationOverview { /** - *

                                                                    The number of associations for the instance(s).

                                                                    + *

                                                                    Detailed status information about the aggregated associations.

                                                                    */ - InstanceAssociationStatusAggregatedCount?: { [key: string]: number }; + DetailedStatus?: string; /** - *

                                                                    Detailed status information about the aggregated associations.

                                                                    + *

                                                                    The number of associations for the instance(s).

                                                                    */ - DetailedStatus?: string; + InstanceAssociationStatusAggregatedCount?: { [key: string]: number }; } export namespace InstanceAggregatedAssociationOverview { @@ -5262,61 +5345,65 @@ export enum ResourceType { */ export interface InstanceInformation { /** - *

                                                                    The date the association was last run.

                                                                    + *

                                                                    The name assigned to an on-premises server or virtual machine (VM) when it is activated as a + * Systems Manager managed instance. The name is specified as the DefaultInstanceName property + * using the CreateActivation command. It is applied to the managed instance by + * specifying the Activation Code and Activation ID when you install SSM Agent on the instance, as + * explained in Install SSM Agent for a + * hybrid environment (Linux) and Install SSM Agent for a hybrid environment + * (Windows). To retrieve the Name tag of an EC2 instance, use the Amazon EC2 + * DescribeInstances action. For information, see DescribeInstances in the + * Amazon EC2 API Reference or describe-instances in the AWS CLI Command Reference.

                                                                    */ - LastAssociationExecutionDate?: Date; + Name?: string; /** - *

                                                                    The Amazon Identity and Access Management (IAM) role assigned to the on-premises Systems Manager - * managed instance. This call does not return the IAM role for EC2 instances. To retrieve the IAM - * role for an EC2 instance, use the Amazon EC2 DescribeInstances action. For information, - * see DescribeInstances in the - * Amazon EC2 API Reference or describe-instances in the AWS CLI Command Reference.

                                                                    + *

                                                                    The type of instance. Instances are either EC2 instances or managed instances.

                                                                    */ - IamRole?: string; + ResourceType?: ResourceType | string; /** - *

                                                                    The activation ID created by Systems Manager when the server or VM was registered.

                                                                    + *

                                                                    The status of the association.

                                                                    */ - ActivationId?: string; + AssociationStatus?: string; /** - *

                                                                    The instance ID.

                                                                    + *

                                                                    Information about the association.

                                                                    */ - InstanceId?: string; + AssociationOverview?: InstanceAggregatedAssociationOverview; /** - *

                                                                    The version of SSM Agent running on your Linux instance.

                                                                    + *

                                                                    The date the server or VM was registered with AWS as a managed instance.

                                                                    */ - AgentVersion?: string; + RegistrationDate?: Date; /** - *

                                                                    Indicates whether the latest version of SSM Agent is running on your Linux Managed Instance. - * This field does not indicate whether or not the latest version is installed on Windows managed - * instances, because some older versions of Windows Server use the EC2Config service to process SSM - * requests.

                                                                    + *

                                                                    Connection status of SSM Agent.

                                                                    + * + *

                                                                    The status Inactive has been deprecated and is no longer in use.

                                                                    + *
                                                                    */ - IsLatestVersion?: boolean; + PingStatus?: PingStatus | string; /** - *

                                                                    The operating system platform type.

                                                                    + *

                                                                    The version of the OS platform running on your instance.

                                                                    */ - PlatformType?: PlatformType | string; + PlatformVersion?: string; /** - *

                                                                    The status of the association.

                                                                    + *

                                                                    The version of SSM Agent running on your Linux instance.

                                                                    */ - AssociationStatus?: string; + AgentVersion?: string; /** - *

                                                                    The IP address of the managed instance.

                                                                    + *

                                                                    The last date the association was successfully run.

                                                                    */ - IPAddress?: string; + LastSuccessfulAssociationExecutionDate?: Date; /** - *

                                                                    Connection status of SSM Agent.

                                                                    + *

                                                                    The instance ID.

                                                                    */ - PingStatus?: PingStatus | string; + InstanceId?: string; /** *

                                                                    The fully qualified host name of the managed instance.

                                                                    @@ -5324,29 +5411,41 @@ export interface InstanceInformation { ComputerName?: string; /** - *

                                                                    The date the server or VM was registered with AWS as a managed instance.

                                                                    + *

                                                                    The Amazon Identity and Access Management (IAM) role assigned to the on-premises Systems Manager + * managed instance. This call does not return the IAM role for EC2 instances. To retrieve the IAM + * role for an EC2 instance, use the Amazon EC2 DescribeInstances action. For information, + * see DescribeInstances in the + * Amazon EC2 API Reference or describe-instances in the AWS CLI Command Reference.

                                                                    */ - RegistrationDate?: Date; + IamRole?: string; /** - *

                                                                    The type of instance. Instances are either EC2 instances or managed instances.

                                                                    + *

                                                                    The date the association was last run.

                                                                    */ - ResourceType?: ResourceType | string; + LastAssociationExecutionDate?: Date; /** - *

                                                                    The last date the association was successfully run.

                                                                    + *

                                                                    The activation ID created by Systems Manager when the server or VM was registered.

                                                                    */ - LastSuccessfulAssociationExecutionDate?: Date; + ActivationId?: string; /** - *

                                                                    Information about the association.

                                                                    + *

                                                                    The operating system platform type.

                                                                    */ - AssociationOverview?: InstanceAggregatedAssociationOverview; + PlatformType?: PlatformType | string; /** - *

                                                                    The version of the OS platform running on your instance.

                                                                    + *

                                                                    The IP address of the managed instance.

                                                                    */ - PlatformVersion?: string; + IPAddress?: string; + + /** + *

                                                                    Indicates whether the latest version of SSM Agent is running on your Linux Managed Instance. + * This field does not indicate whether or not the latest version is installed on Windows managed + * instances, because some older versions of Windows Server use the EC2Config service to process SSM + * requests.

                                                                    + */ + IsLatestVersion?: boolean; /** *

                                                                    The name of the operating system platform running on your instance.

                                                                    @@ -5357,19 +5456,6 @@ export interface InstanceInformation { *

                                                                    The date and time when agent last pinged Systems Manager service.

                                                                    */ LastPingDateTime?: Date; - - /** - *

                                                                    The name assigned to an on-premises server or virtual machine (VM) when it is activated as a - * Systems Manager managed instance. The name is specified as the DefaultInstanceName property - * using the CreateActivation command. It is applied to the managed instance by - * specifying the Activation Code and Activation ID when you install SSM Agent on the instance, as - * explained in Install SSM Agent for a - * hybrid environment (Linux) and Install SSM Agent for a hybrid environment - * (Windows). To retrieve the Name tag of an EC2 instance, use the Amazon EC2 - * DescribeInstances action. For information, see DescribeInstances in the - * Amazon EC2 API Reference or describe-instances in the AWS CLI Command Reference.

                                                                    - */ - Name?: string; } export namespace InstanceInformation { @@ -5414,14 +5500,20 @@ export namespace InvalidInstanceInformationFilterValue { export interface DescribeInstancePatchesRequest { /** - *

                                                                    The ID of the instance whose patch state information should be retrieved.

                                                                    + *

                                                                    The maximum number of patches to return (per page).

                                                                    */ - InstanceId: string | undefined; + MaxResults?: number; /** - *

                                                                    The maximum number of patches to return (per page).

                                                                    + *

                                                                    The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                    */ - MaxResults?: number; + NextToken?: string; + + /** + *

                                                                    The ID of the instance whose patch state information should be retrieved.

                                                                    + */ + InstanceId: string | undefined; /** *

                                                                    An array of structures. Each entry in the array is a structure containing a Key, Value @@ -5429,12 +5521,6 @@ export interface DescribeInstancePatchesRequest { * Severity | State.

                                                                    */ Filters?: PatchOrchestratorFilter[]; - - /** - *

                                                                    The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                    - */ - NextToken?: string; } export namespace DescribeInstancePatchesRequest { @@ -5464,32 +5550,32 @@ export interface PatchComplianceData { Title: string | undefined; /** - *

                                                                    The state of the patch on the instance, such as INSTALLED or FAILED.

                                                                    - *

                                                                    For descriptions of each patch state, see About patch compliance in the AWS Systems Manager User Guide.

                                                                    + *

                                                                    The severity of the patch (for example, Critical, Important, Moderate).

                                                                    */ - State: PatchComplianceDataState | string | undefined; + Severity: string | undefined; /** - *

                                                                    The date/time the patch was installed on the instance. Note that not all operating systems - * provide this level of information.

                                                                    + *

                                                                    The operating system-specific ID of the patch.

                                                                    */ - InstalledTime: Date | undefined; + KBId: string | undefined; /** - *

                                                                    The classification of the patch (for example, SecurityUpdates, Updates, - * CriticalUpdates).

                                                                    + *

                                                                    The date/time the patch was installed on the instance. Note that not all operating systems + * provide this level of information.

                                                                    */ - Classification: string | undefined; + InstalledTime: Date | undefined; /** - *

                                                                    The operating system-specific ID of the patch.

                                                                    + *

                                                                    The state of the patch on the instance, such as INSTALLED or FAILED.

                                                                    + *

                                                                    For descriptions of each patch state, see About patch compliance in the AWS Systems Manager User Guide.

                                                                    */ - KBId: string | undefined; + State: PatchComplianceDataState | string | undefined; /** - *

                                                                    The severity of the patch (for example, Critical, Important, Moderate).

                                                                    + *

                                                                    The classification of the patch (for example, SecurityUpdates, Updates, + * CriticalUpdates).

                                                                    */ - Severity: string | undefined; + Classification: string | undefined; } export namespace PatchComplianceData { @@ -5499,12 +5585,6 @@ export namespace PatchComplianceData { } export interface DescribeInstancePatchesResult { - /** - *

                                                                    The token to use when requesting the next set of items. If there are no additional items to - * return, the string is empty.

                                                                    - */ - NextToken?: string; - /** *

                                                                    Each entry in the array is a structure containing:

                                                                    *

                                                                    Title (string)

                                                                    @@ -5516,6 +5596,12 @@ export interface DescribeInstancePatchesResult { *

                                                                    InstalledBy (string)

                                                                    */ Patches?: PatchComplianceData[]; + + /** + *

                                                                    The token to use when requesting the next set of items. If there are no additional items to + * return, the string is empty.

                                                                    + */ + NextToken?: string; } export namespace DescribeInstancePatchesResult { @@ -5526,15 +5612,15 @@ export namespace DescribeInstancePatchesResult { export interface DescribeInstancePatchStatesRequest { /** - *

                                                                    The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                    + *

                                                                    The ID of the instance whose patch state information should be retrieved.

                                                                    */ - NextToken?: string; + InstanceIds: string[] | undefined; /** - *

                                                                    The ID of the instance whose patch state information should be retrieved.

                                                                    + *

                                                                    The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                    */ - InstanceIds: string[] | undefined; + NextToken?: string; /** *

                                                                    The maximum number of instances to return (per page).

                                                                    @@ -5565,66 +5651,9 @@ export enum RebootOption { */ export interface InstancePatchState { /** - *

                                                                    The number of patches from the patch baseline that are applicable for the instance but - * aren't currently installed.

                                                                    - */ - MissingCount?: number; - - /** - *

                                                                    An https URL or an Amazon S3 path-style URL to a list of patches to be installed. This patch - * installation list, which you maintain in an S3 bucket in YAML format and specify in the SSM - * document AWS-RunPatchBaseline, overrides the patches specified by the default patch - * baseline.

                                                                    - *

                                                                    For more information about the InstallOverrideList parameter, see About the - * SSM document AWS-RunPatchBaseline in the AWS Systems Manager User Guide.

                                                                    - */ - InstallOverrideList?: string; - - /** - *

                                                                    The ID of the patch baseline used to patch the instance.

                                                                    - */ - BaselineId: string | undefined; - - /** - *

                                                                    The time the most recent patching operation completed on the instance.

                                                                    - */ - OperationEndTime: Date | undefined; - - /** - *

                                                                    The time of the last attempt to patch the instance with NoReboot specified as - * the reboot option.

                                                                    - */ - LastNoRebootInstallOperationTime?: Date; - - /** - *

                                                                    The ID of the managed instance the high-level patch compliance information was collected - * for.

                                                                    - */ - InstanceId: string | undefined; - - /** - *

                                                                    The number of patches not specified in the patch baseline that are installed on the - * instance.

                                                                    - */ - InstalledOtherCount?: number; - - /** - *

                                                                    Placeholder information. This field will always be empty in the current release of the - * service.

                                                                    - */ - OwnerInformation?: string; - - /** - *

                                                                    The type of patching operation that was performed: SCAN (assess patch compliance state) or - * INSTALL (install missing patches).

                                                                    - */ - Operation: PatchOperationType | string | undefined; - - /** - *

                                                                    The number of patches installed by Patch Manager since the last time the instance was - * rebooted.

                                                                    + *

                                                                    The time the most recent patching operation was started on the instance.

                                                                    */ - InstalledPendingRebootCount?: number; + OperationStartTime: Date | undefined; /** *

                                                                    Indicates the reboot option specified in the patch baseline.

                                                                    @@ -5650,6 +5679,20 @@ export interface InstancePatchState { */ RebootOption?: RebootOption | string; + /** + *

                                                                    The number of patches from the patch baseline that aren't applicable for the instance and + * therefore aren't installed on the instance. This number may be truncated if the list of patch + * names is very large. The number of patches beyond this limit are reported in + * UnreportedNotApplicableCount.

                                                                    + */ + NotApplicableCount?: number; + + /** + *

                                                                    The number of patches from the patch baseline that are applicable for the instance but + * aren't currently installed.

                                                                    + */ + MissingCount?: number; + /** *

                                                                    The ID of the patch baseline snapshot used during the patching operation when this * compliance data was collected.

                                                                    @@ -5657,33 +5700,61 @@ export interface InstancePatchState { SnapshotId?: string; /** - *

                                                                    The name of the patch group the managed instance belongs to.

                                                                    + *

                                                                    The number of patches installed by Patch Manager since the last time the instance was + * rebooted.

                                                                    */ - PatchGroup: string | undefined; + InstalledPendingRebootCount?: number; /** - *

                                                                    The number of instances with patches installed that are specified in a RejectedPatches list. - * Patches with a status of InstalledRejected were typically installed before - * they were added to a RejectedPatches list.

                                                                    - * - *

                                                                    If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, the value of - * InstalledRejectedCount will always be 0 (zero).

                                                                    - *
                                                                    + *

                                                                    Placeholder information. This field will always be empty in the current release of the + * service.

                                                                    */ - InstalledRejectedCount?: number; + OwnerInformation?: string; + + /** + *

                                                                    The number of patches not specified in the patch baseline that are installed on the + * instance.

                                                                    + */ + InstalledOtherCount?: number; + + /** + *

                                                                    The time the most recent patching operation completed on the instance.

                                                                    + */ + OperationEndTime: Date | undefined; + + /** + *

                                                                    An https URL or an Amazon S3 path-style URL to a list of patches to be installed. This patch + * installation list, which you maintain in an S3 bucket in YAML format and specify in the SSM + * document AWS-RunPatchBaseline, overrides the patches specified by the default patch + * baseline.

                                                                    + *

                                                                    For more information about the InstallOverrideList parameter, see About the + * SSM document AWS-RunPatchBaseline in the AWS Systems Manager User Guide.

                                                                    + */ + InstallOverrideList?: string; + + /** + *

                                                                    The type of patching operation that was performed: SCAN (assess patch + * compliance state) or INSTALL (install missing patches).

                                                                    + */ + Operation: PatchOperationType | string | undefined; + + /** + *

                                                                    The number of patches beyond the supported limit of NotApplicableCount that are + * not reported by name to Systems Manager Inventory.

                                                                    + */ + UnreportedNotApplicableCount?: number; /** - *

                                                                    The number of patches from the patch baseline that aren't applicable for the instance and - * therefore aren't installed on the instance. This number may be truncated if the list of patch - * names is very large. The number of patches beyond this limit are reported in - * UnreportedNotApplicableCount.

                                                                    + *

                                                                    The ID of the managed instance the high-level patch compliance information was collected + * for.

                                                                    */ - NotApplicableCount?: number; + InstanceId: string | undefined; /** - *

                                                                    The time the most recent patching operation was started on the instance.

                                                                    + *

                                                                    The time of the last attempt to patch the instance with NoReboot specified as + * the reboot option.

                                                                    */ - OperationStartTime: Date | undefined; + LastNoRebootInstallOperationTime?: Date; /** *

                                                                    The number of patches from the patch baseline that were attempted to be installed during the @@ -5692,15 +5763,32 @@ export interface InstancePatchState { FailedCount?: number; /** - *

                                                                    The number of patches beyond the supported limit of NotApplicableCount that are - * not reported by name to Systems Manager Inventory.

                                                                    + *

                                                                    The number of patches from the patch baseline that are installed on the instance.

                                                                    */ - UnreportedNotApplicableCount?: number; + InstalledCount?: number; /** - *

                                                                    The number of patches from the patch baseline that are installed on the instance.

                                                                    + *

                                                                    The ID of the patch baseline used to patch the instance.

                                                                    */ - InstalledCount?: number; + BaselineId: string | undefined; + + /** + *

                                                                    The name of the patch group the managed instance belongs to.

                                                                    + */ + PatchGroup: string | undefined; + + /** + *

                                                                    The number of patches installed on an instance that are specified in a + * RejectedPatches list. Patches with a status of + * InstalledRejected were typically installed before they were added to a + * RejectedPatches list.

                                                                    + * + *

                                                                    If ALLOW_AS_DEPENDENCY is the specified option for + * RejectedPatchesAction, the value of InstalledRejectedCount will + * always be 0 (zero).

                                                                    + *
                                                                    + */ + InstalledRejectedCount?: number; } export namespace InstancePatchState { @@ -5712,15 +5800,15 @@ export namespace InstancePatchState { export interface DescribeInstancePatchStatesResult { /** - *

                                                                    The token to use when requesting the next set of items. If there are no additional items to - * return, the string is empty.

                                                                    + *

                                                                    The high-level patch state for the requested instances.

                                                                    */ - NextToken?: string; + InstancePatchStates?: InstancePatchState[]; /** - *

                                                                    The high-level patch state for the requested instances.

                                                                    + *

                                                                    The token to use when requesting the next set of items. If there are no additional items to + * return, the string is empty.

                                                                    */ - InstancePatchStates?: InstancePatchState[]; + NextToken?: string; } export namespace DescribeInstancePatchStatesResult { @@ -5740,15 +5828,14 @@ export enum InstancePatchStateOperatorType { } /** - *

                                                                    Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to scope down the - * information returned by the API.

                                                                    + *

                                                                    Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to + * scope down the information returned by the API.

                                                                    */ export interface InstancePatchStateFilter { /** - *

                                                                    The key for the filter. Supported values are FailedCount, InstalledCount, - * InstalledOtherCount, MissingCount and NotApplicableCount.

                                                                    + *

                                                                    The value for the filter, must be an integer greater than or equal to 0.

                                                                    */ - Key: string | undefined; + Values: string[] | undefined; /** *

                                                                    The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or @@ -5757,9 +5844,10 @@ export interface InstancePatchStateFilter { Type: InstancePatchStateOperatorType | string | undefined; /** - *

                                                                    The value for the filter, must be an integer greater than or equal to 0.

                                                                    + *

                                                                    The key for the filter. Supported values are FailedCount, InstalledCount, + * InstalledOtherCount, MissingCount and NotApplicableCount.

                                                                    */ - Values: string[] | undefined; + Key: string | undefined; } export namespace InstancePatchStateFilter { @@ -5775,6 +5863,11 @@ export interface DescribeInstancePatchStatesForPatchGroupRequest { */ PatchGroup: string | undefined; + /** + *

                                                                    The maximum number of patches to return (per page).

                                                                    + */ + MaxResults?: number; + /** *

                                                                    Each entry in the array is a structure containing:

                                                                    *

                                                                    Key (string between 1 and 200 characters)

                                                                    @@ -5783,11 +5876,6 @@ export interface DescribeInstancePatchStatesForPatchGroupRequest { */ Filters?: InstancePatchStateFilter[]; - /** - *

                                                                    The maximum number of patches to return (per page).

                                                                    - */ - MaxResults?: number; - /** *

                                                                    The token for the next set of items to return. (You received this token from a previous * call.)

                                                                    @@ -5803,15 +5891,15 @@ export namespace DescribeInstancePatchStatesForPatchGroupRequest { export interface DescribeInstancePatchStatesForPatchGroupResult { /** - *

                                                                    The token to use when requesting the next set of items. If there are no additional items to - * return, the string is empty.

                                                                    + *

                                                                    The high-level patch state for the requested instances.

                                                                    */ - NextToken?: string; + InstancePatchStates?: InstancePatchState[]; /** - *

                                                                    The high-level patch state for the requested instances.

                                                                    + *

                                                                    The token to use when requesting the next set of items. If there are no additional items to + * return, the string is empty.

                                                                    */ - InstancePatchStates?: InstancePatchState[]; + NextToken?: string; } export namespace DescribeInstancePatchStatesForPatchGroupResult { @@ -5825,15 +5913,15 @@ export namespace DescribeInstancePatchStatesForPatchGroupResult { export interface DescribeInventoryDeletionsRequest { /** - *

                                                                    Specify the delete inventory ID for which you want information. This ID was returned by the - * DeleteInventory action.

                                                                    + *

                                                                    A token to start the list. Use this token to get the next set of results.

                                                                    */ - DeletionId?: string; + NextToken?: string; /** - *

                                                                    A token to start the list. Use this token to get the next set of results.

                                                                    + *

                                                                    Specify the delete inventory ID for which you want information. This ID was returned by the + * DeleteInventory action.

                                                                    */ - NextToken?: string; + DeletionId?: string; /** *

                                                                    The maximum number of items to return for this call. The call also returns a token that you @@ -5858,34 +5946,34 @@ export enum InventoryDeletionStatus { */ export interface InventoryDeletionStatusItem { /** - *

                                                                    Information about the status.

                                                                    + *

                                                                    The status of the operation. Possible values are InProgress and Complete.

                                                                    */ - LastStatusMessage?: string; + LastStatus?: InventoryDeletionStatus | string; /** - *

                                                                    The deletion ID returned by the DeleteInventory action.

                                                                    + *

                                                                    The UTC timestamp of when the last status report.

                                                                    */ - DeletionId?: string; + LastStatusUpdateTime?: Date; /** - *

                                                                    The name of the inventory data type.

                                                                    + *

                                                                    The UTC timestamp when the delete operation started.

                                                                    */ - TypeName?: string; + DeletionStartTime?: Date; /** - *

                                                                    The status of the operation. Possible values are InProgress and Complete.

                                                                    + *

                                                                    The deletion ID returned by the DeleteInventory action.

                                                                    */ - LastStatus?: InventoryDeletionStatus | string; + DeletionId?: string; /** - *

                                                                    The UTC timestamp when the delete operation started.

                                                                    + *

                                                                    The name of the inventory data type.

                                                                    */ - DeletionStartTime?: Date; + TypeName?: string; /** - *

                                                                    The UTC timestamp of when the last status report.

                                                                    + *

                                                                    Information about the status.

                                                                    */ - LastStatusUpdateTime?: Date; + LastStatusMessage?: string; /** *

                                                                    Information about the delete operation. For more information about this summary, see Understanding the delete inventory summary in the @@ -5940,14 +6028,14 @@ export namespace InvalidDeletionIdException { */ export interface MaintenanceWindowFilter { /** - *

                                                                    The filter values.

                                                                    + *

                                                                    The name of the filter.

                                                                    */ - Values?: string[]; + Key?: string; /** - *

                                                                    The name of the filter.

                                                                    + *

                                                                    The filter values.

                                                                    */ - Key?: string; + Values?: string[]; } export namespace MaintenanceWindowFilter { @@ -5957,11 +6045,6 @@ export namespace MaintenanceWindowFilter { } export interface DescribeMaintenanceWindowExecutionsRequest { - /** - *

                                                                    The ID of the maintenance window whose executions should be retrieved.

                                                                    - */ - WindowId: string | undefined; - /** *

                                                                    Each entry in the array is a structure containing:

                                                                    *

                                                                    Key (string, between 1 and 128 characters)

                                                                    @@ -5982,6 +6065,11 @@ export interface DescribeMaintenanceWindowExecutionsRequest { * call.)

                                                                    */ NextToken?: string; + + /** + *

                                                                    The ID of the maintenance window whose executions should be retrieved.

                                                                    + */ + WindowId: string | undefined; } export namespace DescribeMaintenanceWindowExecutionsRequest { @@ -6006,14 +6094,14 @@ export enum MaintenanceWindowExecutionStatus { */ export interface MaintenanceWindowExecution { /** - *

                                                                    The details explaining the Status. Only available for certain status values.

                                                                    + *

                                                                    The time the execution started.

                                                                    */ - StatusDetails?: string; + StartTime?: Date; /** - *

                                                                    The ID of the maintenance window execution.

                                                                    + *

                                                                    The time the execution finished.

                                                                    */ - WindowExecutionId?: string; + EndTime?: Date; /** *

                                                                    The status of the execution.

                                                                    @@ -6021,19 +6109,19 @@ export interface MaintenanceWindowExecution { Status?: MaintenanceWindowExecutionStatus | string; /** - *

                                                                    The ID of the maintenance window.

                                                                    + *

                                                                    The details explaining the Status. Only available for certain status values.

                                                                    */ - WindowId?: string; + StatusDetails?: string; /** - *

                                                                    The time the execution finished.

                                                                    + *

                                                                    The ID of the maintenance window execution.

                                                                    */ - EndTime?: Date; + WindowExecutionId?: string; /** - *

                                                                    The time the execution started.

                                                                    + *

                                                                    The ID of the maintenance window.

                                                                    */ - StartTime?: Date; + WindowId?: string; } export namespace MaintenanceWindowExecution { @@ -6063,15 +6151,21 @@ export namespace DescribeMaintenanceWindowExecutionsResult { export interface DescribeMaintenanceWindowExecutionTaskInvocationsRequest { /** - *

                                                                    The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                    + *

                                                                    The ID of the maintenance window execution the task is part of.

                                                                    */ - MaxResults?: number; + WindowExecutionId: string | undefined; /** - *

                                                                    The ID of the specific task in the maintenance window task that should be retrieved.

                                                                    + *

                                                                    The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                    */ - TaskId: string | undefined; + NextToken?: string; + + /** + *

                                                                    The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                    + */ + MaxResults?: number; /** *

                                                                    Optional filters used to scope down the returned task invocations. The supported filter key @@ -6081,15 +6175,9 @@ export interface DescribeMaintenanceWindowExecutionTaskInvocationsRequest { Filters?: MaintenanceWindowFilter[]; /** - *

                                                                    The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                    - */ - NextToken?: string; - - /** - *

                                                                    The ID of the maintenance window execution the task is part of.

                                                                    + *

                                                                    The ID of the specific task in the maintenance window task that should be retrieved.

                                                                    */ - WindowExecutionId: string | undefined; + TaskId: string | undefined; } export namespace DescribeMaintenanceWindowExecutionTaskInvocationsRequest { @@ -6111,36 +6199,35 @@ export enum MaintenanceWindowTaskType { */ export interface MaintenanceWindowExecutionTaskInvocationIdentity { /** - *

                                                                    The parameters that were provided for the invocation when it was run.

                                                                    + *

                                                                    The status of the task invocation.

                                                                    */ - Parameters?: string; + Status?: MaintenanceWindowExecutionStatus | string; /** - *

                                                                    The ID of the specific task execution in the maintenance window execution.

                                                                    + *

                                                                    The parameters that were provided for the invocation when it was run.

                                                                    */ - TaskExecutionId?: string; + Parameters?: string; /** - *

                                                                    The ID of the action performed in the service that actually handled the task invocation. If - * the task type is RUN_COMMAND, this value is the command ID.

                                                                    + *

                                                                    User-provided value that was specified when the target was registered with the maintenance + * window. This was also included in any CloudWatch events raised during the task invocation.

                                                                    */ - ExecutionId?: string; + OwnerInformation?: string; /** - *

                                                                    The ID of the target definition in this maintenance window the invocation was performed - * for.

                                                                    + *

                                                                    The ID of the specific task execution in the maintenance window execution.

                                                                    */ - WindowTargetId?: string; + TaskExecutionId?: string; /** - *

                                                                    The ID of the task invocation.

                                                                    + *

                                                                    The time the invocation finished.

                                                                    */ - InvocationId?: string; + EndTime?: Date; /** - *

                                                                    The ID of the maintenance window execution that ran the task.

                                                                    + *

                                                                    The time the invocation started.

                                                                    */ - WindowExecutionId?: string; + StartTime?: Date; /** *

                                                                    The details explaining the status of the task invocation. Only available for certain Status @@ -6149,30 +6236,31 @@ export interface MaintenanceWindowExecutionTaskInvocationIdentity { StatusDetails?: string; /** - *

                                                                    User-provided value that was specified when the target was registered with the maintenance - * window. This was also included in any CloudWatch events raised during the task invocation.

                                                                    + *

                                                                    The task type.

                                                                    */ - OwnerInformation?: string; + TaskType?: MaintenanceWindowTaskType | string; /** - *

                                                                    The time the invocation finished.

                                                                    + *

                                                                    The ID of the action performed in the service that actually handled the task invocation. If + * the task type is RUN_COMMAND, this value is the command ID.

                                                                    */ - EndTime?: Date; + ExecutionId?: string; /** - *

                                                                    The time the invocation started.

                                                                    + *

                                                                    The ID of the target definition in this maintenance window the invocation was performed + * for.

                                                                    */ - StartTime?: Date; + WindowTargetId?: string; /** - *

                                                                    The task type.

                                                                    + *

                                                                    The ID of the task invocation.

                                                                    */ - TaskType?: MaintenanceWindowTaskType | string; + InvocationId?: string; /** - *

                                                                    The status of the task invocation.

                                                                    + *

                                                                    The ID of the maintenance window execution that ran the task.

                                                                    */ - Status?: MaintenanceWindowExecutionStatus | string; + WindowExecutionId?: string; } export namespace MaintenanceWindowExecutionTaskInvocationIdentity { @@ -6208,19 +6296,17 @@ export namespace DescribeMaintenanceWindowExecutionTaskInvocationsResult { } export interface DescribeMaintenanceWindowExecutionTasksRequest { - /** - *

                                                                    Optional filters used to scope down the returned tasks. The supported filter key is STATUS - * with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and - * CANCELLED.

                                                                    - */ - Filters?: MaintenanceWindowFilter[]; - /** *

                                                                    The token for the next set of items to return. (You received this token from a previous * call.)

                                                                    */ NextToken?: string; + /** + *

                                                                    The ID of the maintenance window execution whose task executions should be retrieved.

                                                                    + */ + WindowExecutionId: string | undefined; + /** *

                                                                    The maximum number of items to return for this call. The call also returns a token that you * can specify in a subsequent call to get the next set of results.

                                                                    @@ -6228,9 +6314,11 @@ export interface DescribeMaintenanceWindowExecutionTasksRequest { MaxResults?: number; /** - *

                                                                    The ID of the maintenance window execution whose task executions should be retrieved.

                                                                    + *

                                                                    Optional filters used to scope down the returned tasks. The supported filter key is STATUS + * with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and + * CANCELLED.

                                                                    */ - WindowExecutionId: string | undefined; + Filters?: MaintenanceWindowFilter[]; } export namespace DescribeMaintenanceWindowExecutionTasksRequest { @@ -6244,6 +6332,11 @@ export namespace DescribeMaintenanceWindowExecutionTasksRequest { * execution.

                                                                    */ export interface MaintenanceWindowExecutionTaskIdentity { + /** + *

                                                                    The status of the task execution.

                                                                    + */ + Status?: MaintenanceWindowExecutionStatus | string; + /** *

                                                                    The ARN of the task that ran.

                                                                    */ @@ -6255,25 +6348,20 @@ export interface MaintenanceWindowExecutionTaskIdentity { TaskExecutionId?: string; /** - *

                                                                    The ID of the maintenance window execution that ran the task.

                                                                    - */ - WindowExecutionId?: string; - - /** - *

                                                                    The details explaining the status of the task execution. Only available for certain status - * values.

                                                                    + *

                                                                    The time the task execution finished.

                                                                    */ - StatusDetails?: string; + EndTime?: Date; /** - *

                                                                    The time the task execution finished.

                                                                    + *

                                                                    The time the task execution started.

                                                                    */ - EndTime?: Date; + StartTime?: Date; /** - *

                                                                    The status of the task execution.

                                                                    + *

                                                                    The details explaining the status of the task execution. Only available for certain status + * values.

                                                                    */ - Status?: MaintenanceWindowExecutionStatus | string; + StatusDetails?: string; /** *

                                                                    The type of task that ran.

                                                                    @@ -6281,9 +6369,9 @@ export interface MaintenanceWindowExecutionTaskIdentity { TaskType?: MaintenanceWindowTaskType | string; /** - *

                                                                    The time the task execution started.

                                                                    + *

                                                                    The ID of the maintenance window execution that ran the task.

                                                                    */ - StartTime?: Date; + WindowExecutionId?: string; } export namespace MaintenanceWindowExecutionTaskIdentity { @@ -6294,15 +6382,15 @@ export namespace MaintenanceWindowExecutionTaskIdentity { export interface DescribeMaintenanceWindowExecutionTasksResult { /** - *

                                                                    The token to use when requesting the next set of items. If there are no additional items to - * return, the string is empty.

                                                                    + *

                                                                    Information about the task executions.

                                                                    */ - NextToken?: string; + WindowExecutionTaskIdentities?: MaintenanceWindowExecutionTaskIdentity[]; /** - *

                                                                    Information about the task executions.

                                                                    + *

                                                                    The token to use when requesting the next set of items. If there are no additional items to + * return, the string is empty.

                                                                    */ - WindowExecutionTaskIdentities?: MaintenanceWindowExecutionTaskIdentity[]; + NextToken?: string; } export namespace DescribeMaintenanceWindowExecutionTasksResult { @@ -6312,6 +6400,12 @@ export namespace DescribeMaintenanceWindowExecutionTasksResult { } export interface DescribeMaintenanceWindowsRequest { + /** + *

                                                                    The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                    + */ + NextToken?: string; + /** *

                                                                    Optional filters used to narrow down the scope of the returned maintenance windows. * Supported filter keys are Name and Enabled.

                                                                    @@ -6323,12 +6417,6 @@ export interface DescribeMaintenanceWindowsRequest { * can specify in a subsequent call to get the next set of results.

                                                                    */ MaxResults?: number; - - /** - *

                                                                    The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                    - */ - NextToken?: string; } export namespace DescribeMaintenanceWindowsRequest { @@ -6347,38 +6435,44 @@ export interface MaintenanceWindowIdentity { */ Cutoff?: number; + /** + *

                                                                    The time zone that the scheduled maintenance window executions are based on, in Internet + * Assigned Numbers Authority (IANA) format.

                                                                    + */ + ScheduleTimezone?: string; + /** *

                                                                    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled - * to become inactive.

                                                                    + * to become active.

                                                                    */ - EndDate?: string; + StartDate?: string; /** - *

                                                                    The time zone that the scheduled maintenance window executions are based on, in Internet - * Assigned Numbers Authority (IANA) format.

                                                                    + *

                                                                    A description of the maintenance window.

                                                                    */ - ScheduleTimezone?: string; + Description?: string; /** - *

                                                                    The next time the maintenance window will actually run, taking into account any specified - * times for the maintenance window to become active or inactive.

                                                                    + *

                                                                    The name of the maintenance window.

                                                                    */ - NextExecutionTime?: string; + Name?: string; /** - *

                                                                    The schedule of the maintenance window in the form of a cron or rate expression.

                                                                    + *

                                                                    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled + * to become inactive.

                                                                    */ - Schedule?: string; + EndDate?: string; /** - *

                                                                    Indicates whether the maintenance window is enabled.

                                                                    + *

                                                                    The next time the maintenance window will actually run, taking into account any specified + * times for the maintenance window to become active or inactive.

                                                                    */ - Enabled?: boolean; + NextExecutionTime?: string; /** - *

                                                                    A description of the maintenance window.

                                                                    + *

                                                                    Indicates whether the maintenance window is enabled.

                                                                    */ - Description?: string; + Enabled?: boolean; /** *

                                                                    The number of days to wait to run a maintenance window after the scheduled CRON expression @@ -6392,20 +6486,14 @@ export interface MaintenanceWindowIdentity { WindowId?: string; /** - *

                                                                    The name of the maintenance window.

                                                                    - */ - Name?: string; - - /** - *

                                                                    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled - * to become active.

                                                                    + *

                                                                    The duration of the maintenance window in hours.

                                                                    */ - StartDate?: string; + Duration?: number; /** - *

                                                                    The duration of the maintenance window in hours.

                                                                    + *

                                                                    The schedule of the maintenance window in the form of a cron or rate expression.

                                                                    */ - Duration?: number; + Schedule?: string; } export namespace MaintenanceWindowIdentity { @@ -6450,31 +6538,31 @@ export interface DescribeMaintenanceWindowScheduleRequest { Filters?: PatchOrchestratorFilter[]; /** - *

                                                                    The instance ID or key/value pair to retrieve information about.

                                                                    + *

                                                                    The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                    */ - Targets?: Target[]; + MaxResults?: number; /** - *

                                                                    The type of resource you want to retrieve information about. For example, "INSTANCE".

                                                                    + *

                                                                    The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                    */ - ResourceType?: MaintenanceWindowResourceType | string; + NextToken?: string; /** - *

                                                                    The ID of the maintenance window to retrieve information about.

                                                                    + *

                                                                    The instance ID or key/value pair to retrieve information about.

                                                                    */ - WindowId?: string; + Targets?: Target[]; /** - *

                                                                    The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                    + *

                                                                    The type of resource you want to retrieve information about. For example, "INSTANCE".

                                                                    */ - MaxResults?: number; + ResourceType?: MaintenanceWindowResourceType | string; /** - *

                                                                    The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                    + *

                                                                    The ID of the maintenance window to retrieve information about.

                                                                    */ - NextToken?: string; + WindowId?: string; } export namespace DescribeMaintenanceWindowScheduleRequest { @@ -6512,15 +6600,15 @@ export namespace ScheduledWindowExecution { export interface DescribeMaintenanceWindowScheduleResult { /** - *

                                                                    Information about maintenance window executions scheduled for the specified time - * range.

                                                                    + *

                                                                    The token for the next set of items to return. (You use this token in the next call.)

                                                                    */ - ScheduledWindowExecutions?: ScheduledWindowExecution[]; + NextToken?: string; /** - *

                                                                    The token for the next set of items to return. (You use this token in the next call.)

                                                                    + *

                                                                    Information about maintenance window executions scheduled for the specified time + * range.

                                                                    */ - NextToken?: string; + ScheduledWindowExecutions?: ScheduledWindowExecution[]; } export namespace DescribeMaintenanceWindowScheduleResult { @@ -6536,10 +6624,9 @@ export interface DescribeMaintenanceWindowsForTargetRequest { Targets: Target[] | undefined; /** - *

                                                                    The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                    + *

                                                                    The type of resource you want to retrieve information about. For example, "INSTANCE".

                                                                    */ - MaxResults?: number; + ResourceType: MaintenanceWindowResourceType | string | undefined; /** *

                                                                    The token for the next set of items to return. (You received this token from a previous @@ -6548,9 +6635,10 @@ export interface DescribeMaintenanceWindowsForTargetRequest { NextToken?: string; /** - *

                                                                    The type of resource you want to retrieve information about. For example, "INSTANCE".

                                                                    + *

                                                                    The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                    */ - ResourceType: MaintenanceWindowResourceType | string | undefined; + MaxResults?: number; } export namespace DescribeMaintenanceWindowsForTargetRequest { @@ -6613,15 +6701,15 @@ export interface DescribeMaintenanceWindowTargetsRequest { NextToken?: string; /** - *

                                                                    The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                    + *

                                                                    The ID of the maintenance window whose targets should be retrieved.

                                                                    */ - MaxResults?: number; + WindowId: string | undefined; /** - *

                                                                    The ID of the maintenance window whose targets should be retrieved.

                                                                    + *

                                                                    The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                    */ - WindowId: string | undefined; + MaxResults?: number; } export namespace DescribeMaintenanceWindowTargetsRequest { @@ -6635,26 +6723,20 @@ export namespace DescribeMaintenanceWindowTargetsRequest { */ export interface MaintenanceWindowTarget { /** - *

                                                                    The targets, either instances or tags.

                                                                    - *

                                                                    Specify instances using the following format:

                                                                    - *

                                                                    - * Key=instanceids,Values=, - *

                                                                    - *

                                                                    Tags are specified using the following format:

                                                                    - *

                                                                    - * Key=,Values=.

                                                                    + *

                                                                    The name for the maintenance window target.

                                                                    */ - Targets?: Target[]; + Name?: string; /** - *

                                                                    The ID of the maintenance window to register the target with.

                                                                    + *

                                                                    The ID of the target.

                                                                    */ - WindowId?: string; + WindowTargetId?: string; /** - *

                                                                    The type of target that is being registered with the maintenance window.

                                                                    + *

                                                                    A user-provided value that will be included in any CloudWatch events that are raised while + * running tasks for these targets in this maintenance window.

                                                                    */ - ResourceType?: MaintenanceWindowResourceType | string; + OwnerInformation?: string; /** *

                                                                    A description for the target.

                                                                    @@ -6662,41 +6744,47 @@ export interface MaintenanceWindowTarget { Description?: string; /** - *

                                                                    The name for the maintenance window target.

                                                                    + *

                                                                    The targets, either instances or tags.

                                                                    + *

                                                                    Specify instances using the following format:

                                                                    + *

                                                                    + * Key=instanceids,Values=, + *

                                                                    + *

                                                                    Tags are specified using the following format:

                                                                    + *

                                                                    + * Key=,Values=.

                                                                    */ - Name?: string; + Targets?: Target[]; /** - *

                                                                    The ID of the target.

                                                                    + *

                                                                    The ID of the maintenance window to register the target with.

                                                                    */ - WindowTargetId?: string; + WindowId?: string; /** - *

                                                                    A user-provided value that will be included in any CloudWatch events that are raised while - * running tasks for these targets in this maintenance window.

                                                                    + *

                                                                    The type of target that is being registered with the maintenance window.

                                                                    */ - OwnerInformation?: string; + ResourceType?: MaintenanceWindowResourceType | string; } export namespace MaintenanceWindowTarget { export const filterSensitiveLog = (obj: MaintenanceWindowTarget): any => ({ ...obj, - ...(obj.Description && { Description: SENSITIVE_STRING }), ...(obj.OwnerInformation && { OwnerInformation: SENSITIVE_STRING }), + ...(obj.Description && { Description: SENSITIVE_STRING }), }); } export interface DescribeMaintenanceWindowTargetsResult { /** - *

                                                                    The token to use when requesting the next set of items. If there are no additional items to - * return, the string is empty.

                                                                    + *

                                                                    Information about the targets in the maintenance window.

                                                                    */ - NextToken?: string; + Targets?: MaintenanceWindowTarget[]; /** - *

                                                                    Information about the targets in the maintenance window.

                                                                    + *

                                                                    The token to use when requesting the next set of items. If there are no additional items to + * return, the string is empty.

                                                                    */ - Targets?: MaintenanceWindowTarget[]; + NextToken?: string; } export namespace DescribeMaintenanceWindowTargetsResult { @@ -6707,18 +6795,17 @@ export namespace DescribeMaintenanceWindowTargetsResult { } export interface DescribeMaintenanceWindowTasksRequest { - /** - *

                                                                    Optional filters used to narrow down the scope of the returned tasks. The supported filter - * keys are WindowTaskId, TaskArn, Priority, and TaskType.

                                                                    - */ - Filters?: MaintenanceWindowFilter[]; - /** *

                                                                    The token for the next set of items to return. (You received this token from a previous * call.)

                                                                    */ NextToken?: string; + /** + *

                                                                    The ID of the maintenance window whose tasks should be retrieved.

                                                                    + */ + WindowId: string | undefined; + /** *

                                                                    The maximum number of items to return for this call. The call also returns a token that you * can specify in a subsequent call to get the next set of results.

                                                                    @@ -6726,9 +6813,10 @@ export interface DescribeMaintenanceWindowTasksRequest { MaxResults?: number; /** - *

                                                                    The ID of the maintenance window whose tasks should be retrieved.

                                                                    + *

                                                                    Optional filters used to narrow down the scope of the returned tasks. The supported filter + * keys are WindowTaskId, TaskArn, Priority, and TaskType.

                                                                    */ - WindowId: string | undefined; + Filters?: MaintenanceWindowFilter[]; } export namespace DescribeMaintenanceWindowTasksRequest { @@ -6792,6 +6880,32 @@ export namespace MaintenanceWindowTaskParameterValueExpression { *

                                                                    Information about a task defined for a maintenance window.

                                                                    */ export interface MaintenanceWindowTask { + /** + *

                                                                    The ID of the maintenance window where the task is registered.

                                                                    + */ + WindowId?: string; + + /** + *

                                                                    The task ID.

                                                                    + */ + WindowTaskId?: string; + + /** + *

                                                                    The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or + * STEP_FUNCTIONS.

                                                                    + */ + Type?: MaintenanceWindowTaskType | string; + + /** + *

                                                                    The maximum number of targets this task can be run for, in parallel.

                                                                    + */ + MaxConcurrency?: string; + + /** + *

                                                                    The maximum number of errors allowed before this task stops being scheduled.

                                                                    + */ + MaxErrors?: string; + /** *

                                                                    A description of the task.

                                                                    */ @@ -6810,9 +6924,10 @@ export interface MaintenanceWindowTask { LoggingInfo?: LoggingInfo; /** - *

                                                                    The maximum number of errors allowed before this task stops being scheduled.

                                                                    + *

                                                                    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for + * maintenance window Run Command tasks.

                                                                    */ - MaxErrors?: string; + ServiceRoleArn?: string; /** *

                                                                    The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION task types, @@ -6821,27 +6936,6 @@ export interface MaintenanceWindowTask { */ TaskArn?: string; - /** - *

                                                                    The task name.

                                                                    - */ - Name?: string; - - /** - *

                                                                    The maximum number of targets this task can be run for, in parallel.

                                                                    - */ - MaxConcurrency?: string; - - /** - *

                                                                    The task ID.

                                                                    - */ - WindowTaskId?: string; - - /** - *

                                                                    The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or - * STEP_FUNCTIONS.

                                                                    - */ - Type?: MaintenanceWindowTaskType | string; - /** *

                                                                    The priority of the task in the maintenance window. The lower the number, the higher the * priority. Tasks that have the same priority are scheduled in parallel.

                                                                    @@ -6849,16 +6943,9 @@ export interface MaintenanceWindowTask { Priority?: number; /** - *

                                                                    The targets (either instances or tags). Instances are specified using - * Key=instanceids,Values=,. Tags are specified using - * Key=,Values=.

                                                                    - */ - Targets?: Target[]; - - /** - *

                                                                    The ID of the maintenance window where the task is registered.

                                                                    + *

                                                                    The task name.

                                                                    */ - WindowId?: string; + Name?: string; /** *

                                                                    The parameters that should be passed to the task when it is run.

                                                                    @@ -6873,10 +6960,11 @@ export interface MaintenanceWindowTask { TaskParameters?: { [key: string]: MaintenanceWindowTaskParameterValueExpression }; /** - *

                                                                    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for - * maintenance window Run Command tasks.

                                                                    + *

                                                                    The targets (either instances or tags). Instances are specified using + * Key=instanceids,Values=,. Tags are specified using + * Key=,Values=.

                                                                    */ - ServiceRoleArn?: string; + Targets?: Target[]; } export namespace MaintenanceWindowTask { @@ -6889,15 +6977,15 @@ export namespace MaintenanceWindowTask { export interface DescribeMaintenanceWindowTasksResult { /** - *

                                                                    The token to use when requesting the next set of items. If there are no additional items to - * return, the string is empty.

                                                                    + *

                                                                    Information about the tasks in the maintenance window.

                                                                    */ - NextToken?: string; + Tasks?: MaintenanceWindowTask[]; /** - *

                                                                    Information about the tasks in the maintenance window.

                                                                    + *

                                                                    The token to use when requesting the next set of items. If there are no additional items to + * return, the string is empty.

                                                                    */ - Tasks?: MaintenanceWindowTask[]; + NextToken?: string; } export namespace DescribeMaintenanceWindowTasksResult { @@ -6936,6 +7024,11 @@ export enum OpsItemFilterOperator { *

                                                                    Describes an OpsItem filter.

                                                                    */ export interface OpsItemFilter { + /** + *

                                                                    The operator used by the filter call.

                                                                    + */ + Operator: OpsItemFilterOperator | string | undefined; + /** *

                                                                    The name of the filter.

                                                                    */ @@ -6945,11 +7038,6 @@ export interface OpsItemFilter { *

                                                                    The filter value.

                                                                    */ Values: string[] | undefined; - - /** - *

                                                                    The operator used by the filter call.

                                                                    - */ - Operator: OpsItemFilterOperator | string | undefined; } export namespace OpsItemFilter { @@ -6965,11 +7053,6 @@ export interface DescribeOpsItemsRequest { */ MaxResults?: number; - /** - *

                                                                    A token to start the list. Use this token to get the next set of results.

                                                                    - */ - NextToken?: string; - /** *

                                                                    One or more filters to limit the response.

                                                                    *
                                                                      @@ -7030,6 +7113,11 @@ export interface DescribeOpsItemsRequest { * by using the following JSON format: {"key":"key_name","value":"a_value"}

                                                                      */ OpsItemFilters?: OpsItemFilter[]; + + /** + *

                                                                      A token to start the list. Use this token to get the next set of results.

                                                                      + */ + NextToken?: string; } export namespace DescribeOpsItemsRequest { @@ -7049,9 +7137,10 @@ export enum OpsItemStatus { */ export interface OpsItemSummary { /** - *

                                                                      A short heading that describes the nature of the OpsItem and the impacted resource.

                                                                      + *

                                                                      Operational data is custom data that provides useful reference details about the OpsItem. + *

                                                                      */ - Title?: string; + OperationalData?: { [key: string]: OpsItemDataValue }; /** *

                                                                      The date and time the OpsItem was last updated.

                                                                      @@ -7059,15 +7148,9 @@ export interface OpsItemSummary { LastModifiedTime?: Date; /** - *

                                                                      Operational data is custom data that provides useful reference details about the OpsItem. - *

                                                                      - */ - OperationalData?: { [key: string]: OpsItemDataValue }; - - /** - *

                                                                      The impacted AWS resource.

                                                                      + *

                                                                      A short heading that describes the nature of the OpsItem and the impacted resource.

                                                                      */ - Source?: string; + Title?: string; /** *

                                                                      A list of OpsItems by severity.

                                                                      @@ -7075,9 +7158,9 @@ export interface OpsItemSummary { Severity?: string; /** - *

                                                                      The ID of the OpsItem.

                                                                      + *

                                                                      The importance of this OpsItem in relation to other OpsItems in the system.

                                                                      */ - OpsItemId?: string; + Priority?: number; /** *

                                                                      The OpsItem status. Status can be Open, In Progress, or @@ -7086,9 +7169,14 @@ export interface OpsItemSummary { Status?: OpsItemStatus | string; /** - *

                                                                      The importance of this OpsItem in relation to other OpsItems in the system.

                                                                      + *

                                                                      The ID of the OpsItem.

                                                                      */ - Priority?: number; + OpsItemId?: string; + + /** + *

                                                                      The date and time the OpsItem was created.

                                                                      + */ + CreatedTime?: Date; /** *

                                                                      A list of OpsItems by category.

                                                                      @@ -7098,17 +7186,17 @@ export interface OpsItemSummary { /** *

                                                                      The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.

                                                                      */ - LastModifiedBy?: string; + CreatedBy?: string; /** - *

                                                                      The date and time the OpsItem was created.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.

                                                                      */ - CreatedTime?: Date; + LastModifiedBy?: string; /** - *

                                                                      The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.

                                                                      + *

                                                                      The impacted AWS resource.

                                                                      */ - CreatedBy?: string; + Source?: string; } export namespace OpsItemSummary { @@ -7118,16 +7206,16 @@ export namespace OpsItemSummary { } export interface DescribeOpsItemsResponse { - /** - *

                                                                      A list of OpsItems.

                                                                      - */ - OpsItemSummaries?: OpsItemSummary[]; - /** *

                                                                      The token for the next set of items to return. Use this token to get the next set of * results.

                                                                      */ NextToken?: string; + + /** + *

                                                                      A list of OpsItems.

                                                                      + */ + OpsItemSummaries?: OpsItemSummary[]; } export namespace DescribeOpsItemsResponse { @@ -7165,25 +7253,21 @@ export namespace ParametersFilter { /** *

                                                                      One or more filters. Use a filter to return a more specific list of results.

                                                                      - * - *

                                                                      The ParameterStringFilter object is used by the DescribeParameters and GetParametersByPath API actions. However, - * not all of the pattern values listed for Key can be used with both actions.

                                                                      - *

                                                                      For DescribeActions, all of the listed patterns are valid, with the exception - * of Label.

                                                                      - *

                                                                      For GetParametersByPath, the following patterns listed for Key - * are not valid: Name, Path, and Tier.

                                                                      - *

                                                                      For examples of CLI commands demonstrating valid parameter filter constructions, see Searching for - * Systems Manager parameters in the AWS Systems Manager User Guide.

                                                                      - *
                                                                      */ export interface ParameterStringFilter { - /** - *

                                                                      The value you want to search for.

                                                                      - */ - Values?: string[]; - /** *

                                                                      The name of the filter.

                                                                      + * + *

                                                                      The ParameterStringFilter object is used by the DescribeParameters and GetParametersByPath API actions. However, + * not all of the pattern values listed for Key can be used with both actions.

                                                                      + *

                                                                      For DescribeActions, all of the listed patterns are valid, with the exception + * of Label.

                                                                      + *

                                                                      For GetParametersByPath, the following patterns listed for Key + * are not valid: tag, Name, Path, and + * Tier.

                                                                      + *

                                                                      For examples of CLI commands demonstrating valid parameter filter constructions, see Searching for + * Systems Manager parameters in the AWS Systems Manager User Guide.

                                                                      + *
                                                                      */ Key: string | undefined; @@ -7194,10 +7278,15 @@ export interface ParameterStringFilter { * Path, valid options include Recursive and * OneLevel.)

                                                                      *

                                                                      For filters used with GetParametersByPath, valid options include - * Equals and BeginsWith. (Exception: For filters using the key - * Label, the only valid option is Equals.)

                                                                      + * Equals and BeginsWith. (Exception: For filters using + * Label as the Key name, the only valid option is Equals.)

                                                                      */ Option?: string; + + /** + *

                                                                      The value you want to search for.

                                                                      + */ + Values?: string[]; } export namespace ParameterStringFilter { @@ -7212,11 +7301,6 @@ export interface DescribeParametersRequest { */ Filters?: ParametersFilter[]; - /** - *

                                                                      Filters to limit the request results.

                                                                      - */ - ParameterFilters?: ParameterStringFilter[]; - /** *

                                                                      The token for the next set of items to return. (You received this token from a previous * call.)

                                                                      @@ -7228,6 +7312,11 @@ export interface DescribeParametersRequest { * can specify in a subsequent call to get the next set of results.

                                                                      */ MaxResults?: number; + + /** + *

                                                                      Filters to limit the request results.

                                                                      + */ + ParameterFilters?: ParameterStringFilter[]; } export namespace DescribeParametersRequest { @@ -7282,21 +7371,15 @@ export enum ParameterType { * was last used.

                                                                      */ export interface ParameterMetadata { - /** - *

                                                                      A list of policies associated with a parameter.

                                                                      - */ - Policies?: ParameterInlinePolicy[]; - /** *

                                                                      Description of the parameter actions.

                                                                      */ Description?: string; /** - *

                                                                      A parameter name can include only the following letters and symbols.

                                                                      - *

                                                                      a-zA-Z0-9_.-

                                                                      + *

                                                                      A list of policies associated with a parameter.

                                                                      */ - AllowedPattern?: string; + Policies?: ParameterInlinePolicy[]; /** *

                                                                      The type of parameter. Valid parameter types include the following: String, @@ -7305,15 +7388,15 @@ export interface ParameterMetadata { Type?: ParameterType | string; /** - *

                                                                      The data type of the parameter, such as text or aws:ec2:image. The - * default is text.

                                                                      + *

                                                                      The parameter version.

                                                                      */ - DataType?: string; + Version?: number; /** - *

                                                                      The parameter name.

                                                                      + *

                                                                      A parameter name can include only the following letters and symbols.

                                                                      + *

                                                                      a-zA-Z0-9_.-

                                                                      */ - Name?: string; + AllowedPattern?: string; /** *

                                                                      Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

                                                                      @@ -7321,20 +7404,26 @@ export interface ParameterMetadata { LastModifiedUser?: string; /** - *

                                                                      The parameter tier.

                                                                      + *

                                                                      The data type of the parameter, such as text or aws:ec2:image. The + * default is text.

                                                                      */ - Tier?: ParameterTier | string; + DataType?: string; /** - *

                                                                      The parameter version.

                                                                      + *

                                                                      The parameter name.

                                                                      */ - Version?: number; + Name?: string; /** *

                                                                      The ID of the query key used for this parameter.

                                                                      */ KeyId?: string; + /** + *

                                                                      The parameter tier.

                                                                      + */ + Tier?: ParameterTier | string; + /** *

                                                                      Date the parameter was last changed or updated.

                                                                      */ @@ -7391,18 +7480,18 @@ export interface DescribePatchBaselinesRequest { */ MaxResults?: number; + /** + *

                                                                      The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                      + */ + NextToken?: string; + /** *

                                                                      Each element in the array is a structure containing:

                                                                      *

                                                                      Key: (string, "NAME_PREFIX" or "OWNER")

                                                                      *

                                                                      Value: (array of strings, exactly 1 entry, between 1 and 255 characters)

                                                                      */ Filters?: PatchOrchestratorFilter[]; - - /** - *

                                                                      The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                      - */ - NextToken?: string; } export namespace DescribePatchBaselinesRequest { @@ -7428,9 +7517,10 @@ export interface PatchBaselineIdentity { DefaultBaseline?: boolean; /** - *

                                                                      The description of the patch baseline.

                                                                      + *

                                                                      Defines the operating system the patch baseline applies to. The Default value is WINDOWS. + *

                                                                      */ - BaselineDescription?: string; + OperatingSystem?: OperatingSystem | string; /** *

                                                                      The ID of the patch baseline.

                                                                      @@ -7438,10 +7528,9 @@ export interface PatchBaselineIdentity { BaselineId?: string; /** - *

                                                                      Defines the operating system the patch baseline applies to. The Default value is WINDOWS. - *

                                                                      + *

                                                                      The description of the patch baseline.

                                                                      */ - OperatingSystem?: OperatingSystem | string; + BaselineDescription?: string; } export namespace PatchBaselineIdentity { @@ -7470,17 +7559,6 @@ export namespace DescribePatchBaselinesResult { } export interface DescribePatchGroupsRequest { - /** - *

                                                                      The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                      - */ - NextToken?: string; - - /** - *

                                                                      The maximum number of patch groups to return (per page).

                                                                      - */ - MaxResults?: number; - /** *

                                                                      One or more filters. Use a filter to return a more specific list of results.

                                                                      *

                                                                      For DescribePatchGroups,valid filter keys include the following:

                                                                      @@ -7510,6 +7588,17 @@ export interface DescribePatchGroupsRequest { *
                                                                    */ Filters?: PatchOrchestratorFilter[]; + + /** + *

                                                                    The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                    + */ + NextToken?: string; + + /** + *

                                                                    The maximum number of patch groups to return (per page).

                                                                    + */ + MaxResults?: number; } export namespace DescribePatchGroupsRequest { @@ -7577,26 +7666,25 @@ export namespace DescribePatchGroupStateRequest { export interface DescribePatchGroupStateResult { /** - *

                                                                    The number of instances with NotApplicable patches beyond the supported limit, - * which are not reported by name to Systems Manager Inventory.

                                                                    + *

                                                                    The number of instances with patches from the patch baseline that failed to install.

                                                                    */ - InstancesWithUnreportedNotApplicablePatches?: number; + InstancesWithFailedPatches?: number; /** - *

                                                                    The number of instances with patches from the patch baseline that failed to install.

                                                                    + *

                                                                    The number of instances with NotApplicable patches beyond the supported limit, + * which are not reported by name to Systems Manager Inventory.

                                                                    */ - InstancesWithFailedPatches?: number; + InstancesWithUnreportedNotApplicablePatches?: number; /** - *

                                                                    The number of instances with installed patches.

                                                                    + *

                                                                    The number of instances in the patch group.

                                                                    */ - InstancesWithInstalledPatches?: number; + Instances?: number; /** - *

                                                                    The number of instances with patches installed by Patch Manager that have not been rebooted - * after the patch installation. The status of these instances is NON_COMPLIANT.

                                                                    + *

                                                                    The number of instances with missing patches from the patch baseline.

                                                                    */ - InstancesWithInstalledPendingRebootPatches?: number; + InstancesWithMissingPatches?: number; /** *

                                                                    The number of instances with patches installed that are specified in a RejectedPatches list. @@ -7615,20 +7703,21 @@ export interface DescribePatchGroupStateResult { InstancesWithNotApplicablePatches?: number; /** - *

                                                                    The number of instances with patches installed that aren't defined in the patch - * baseline.

                                                                    + *

                                                                    The number of instances with patches installed by Patch Manager that have not been rebooted + * after the patch installation. The status of these instances is NON_COMPLIANT.

                                                                    */ - InstancesWithInstalledOtherPatches?: number; + InstancesWithInstalledPendingRebootPatches?: number; /** - *

                                                                    The number of instances with missing patches from the patch baseline.

                                                                    + *

                                                                    The number of instances with installed patches.

                                                                    */ - InstancesWithMissingPatches?: number; + InstancesWithInstalledPatches?: number; /** - *

                                                                    The number of instances in the patch group.

                                                                    + *

                                                                    The number of instances with patches installed that aren't defined in the patch + * baseline.

                                                                    */ - Instances?: number; + InstancesWithInstalledOtherPatches?: number; } export namespace DescribePatchGroupStateResult { @@ -7652,22 +7741,11 @@ export enum PatchProperty { } export interface DescribePatchPropertiesRequest { - /** - *

                                                                    The patch property for which you want to view patch details.

                                                                    - */ - Property: PatchProperty | string | undefined; - /** *

                                                                    The operating system type for which to list patches.

                                                                    */ OperatingSystem: OperatingSystem | string | undefined; - /** - *

                                                                    Indicates whether to list patches for the Windows operating system or for Microsoft - * applications. Not applicable for Linux operating systems.

                                                                    - */ - PatchSet?: PatchSet | string; - /** *

                                                                    The token for the next set of items to return. (You received this token from a previous * call.)

                                                                    @@ -7679,6 +7757,17 @@ export interface DescribePatchPropertiesRequest { * can specify in a subsequent call to get the next set of results.

                                                                    */ MaxResults?: number; + + /** + *

                                                                    The patch property for which you want to view patch details.

                                                                    + */ + Property: PatchProperty | string | undefined; + + /** + *

                                                                    Indicates whether to list patches for the Windows operating system or for Microsoft + * applications. Not applicable for Linux operating systems.

                                                                    + */ + PatchSet?: PatchSet | string; } export namespace DescribePatchPropertiesRequest { @@ -7816,12 +7905,12 @@ export interface SessionManagerOutputUrl { /** *

                                                                    Reserved for future use.

                                                                    */ - CloudWatchOutputUrl?: string; + S3OutputUrl?: string; /** *

                                                                    Reserved for future use.

                                                                    */ - S3OutputUrl?: string; + CloudWatchOutputUrl?: string; } export namespace SessionManagerOutputUrl { diff --git a/clients/client-ssm/models/models_1.ts b/clients/client-ssm/models/models_1.ts index d8d31272a66c..ccabc4dfe009 100644 --- a/clients/client-ssm/models/models_1.ts +++ b/clients/client-ssm/models/models_1.ts @@ -63,9 +63,9 @@ export enum SessionStatus { */ export interface Session { /** - *

                                                                    The date and time, in ISO-8601 Extended format, when the session was terminated.

                                                                    + *

                                                                    The ID of the AWS user account that started the session.

                                                                    */ - EndDate?: Date; + Owner?: string; /** *

                                                                    The ID of the session.

                                                                    @@ -73,20 +73,19 @@ export interface Session { SessionId?: string; /** - *

                                                                    The date and time, in ISO-8601 Extended format, when the session began.

                                                                    + *

                                                                    The date and time, in ISO-8601 Extended format, when the session was terminated.

                                                                    */ - StartDate?: Date; + EndDate?: Date; /** - *

                                                                    Reserved for future use.

                                                                    + *

                                                                    The status of the session. For example, "Connected" or "Terminated".

                                                                    */ - OutputUrl?: SessionManagerOutputUrl; + Status?: SessionStatus | string; /** - *

                                                                    The name of the Session Manager SSM document used to define the parameters and plugin settings for the - * session. For example, SSM-SessionManagerRunShell.

                                                                    + *

                                                                    The date and time, in ISO-8601 Extended format, when the session began.

                                                                    */ - DocumentName?: string; + StartDate?: Date; /** *

                                                                    The instance that the Session Manager session connected to.

                                                                    @@ -99,14 +98,15 @@ export interface Session { Details?: string; /** - *

                                                                    The status of the session. For example, "Connected" or "Terminated".

                                                                    + *

                                                                    The name of the Session Manager SSM document used to define the parameters and plugin settings for the + * session. For example, SSM-SessionManagerRunShell.

                                                                    */ - Status?: SessionStatus | string; + DocumentName?: string; /** - *

                                                                    The ID of the AWS user account that started the session.

                                                                    + *

                                                                    Reserved for future use.

                                                                    */ - Owner?: string; + OutputUrl?: SessionManagerOutputUrl; } export namespace Session { @@ -116,16 +116,16 @@ export namespace Session { } export interface DescribeSessionsResponse { - /** - *

                                                                    A list of sessions meeting the request parameters.

                                                                    - */ - Sessions?: Session[]; - /** *

                                                                    The token for the next set of items to return. (You received this token from a previous * call.)

                                                                    */ NextToken?: string; + + /** + *

                                                                    A list of sessions meeting the request parameters.

                                                                    + */ + Sessions?: Session[]; } export namespace DescribeSessionsResponse { @@ -167,10 +167,10 @@ export interface ProgressCounters { FailedSteps?: number; /** - *

                                                                    The total number of steps run in all specified AWS Regions and accounts for the current - * Automation execution.

                                                                    + *

                                                                    The total number of steps that timed out in all specified AWS Regions and accounts for the + * current Automation execution.

                                                                    */ - TotalSteps?: number; + TimedOutSteps?: number; /** *

                                                                    The total number of steps that the system cancelled in all specified AWS Regions and @@ -179,10 +179,10 @@ export interface ProgressCounters { CancelledSteps?: number; /** - *

                                                                    The total number of steps that timed out in all specified AWS Regions and accounts for the - * current Automation execution.

                                                                    + *

                                                                    The total number of steps run in all specified AWS Regions and accounts for the current + * Automation execution.

                                                                    */ - TimedOutSteps?: number; + TotalSteps?: number; } export namespace ProgressCounters { @@ -196,24 +196,21 @@ export namespace ProgressCounters { */ export interface AutomationExecution { /** - *

                                                                    The MaxErrors value specified by the user when the execution started.

                                                                    - */ - MaxErrors?: string; - - /** - *

                                                                    A list of resolved targets in the rate control execution.

                                                                    + *

                                                                    A boolean value that indicates if the response contains the full list of the Automation step + * executions. If true, use the DescribeAutomationStepExecutions API action to get the full list of + * step executions.

                                                                    */ - ResolvedTargets?: ResolvedTargets; + StepExecutionsTruncated?: boolean; /** - *

                                                                    The time the execution started.

                                                                    + *

                                                                    The name of the Automation document used during the execution.

                                                                    */ - ExecutionStartTime?: Date; + DocumentName?: string; /** - *

                                                                    The action of the step that is currently running.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the user who ran the automation.

                                                                    */ - CurrentAction?: string; + ExecutedBy?: string; /** *

                                                                    The combination of AWS Regions and/or AWS accounts where you want to run the @@ -222,24 +219,24 @@ export interface AutomationExecution { TargetLocations?: TargetLocation[]; /** - *

                                                                    The version of the document to use during execution.

                                                                    + *

                                                                    The time the execution started.

                                                                    */ - DocumentVersion?: string; + ExecutionStartTime?: Date; /** - *

                                                                    A message describing why an execution has failed, if the status is set to Failed.

                                                                    + *

                                                                    The list of execution outputs as defined in the automation document.

                                                                    */ - FailureMessage?: string; + Outputs?: { [key: string]: string[] }; /** - *

                                                                    The specified targets.

                                                                    + *

                                                                    The AutomationExecutionId of the parent automation.

                                                                    */ - Targets?: Target[]; + ParentAutomationExecutionId?: string; /** - *

                                                                    The parameter name.

                                                                    + *

                                                                    The name of the step that is currently running.

                                                                    */ - TargetParameterName?: string; + CurrentStepName?: string; /** *

                                                                    The specified key-value mapping of document parameters to target resources.

                                                                    @@ -247,25 +244,30 @@ export interface AutomationExecution { TargetMaps?: { [key: string]: string[] }[]; /** - *

                                                                    The key-value map of execution parameters, which were supplied when calling - * StartAutomationExecution.

                                                                    + *

                                                                    The MaxConcurrency value specified by the user when the execution started.

                                                                    */ - Parameters?: { [key: string]: string[] }; + MaxConcurrency?: string; /** - *

                                                                    The list of execution outputs as defined in the automation document.

                                                                    + *

                                                                    The parameter name.

                                                                    */ - Outputs?: { [key: string]: string[] }; + TargetParameterName?: string; /** - *

                                                                    The name of the step that is currently running.

                                                                    + *

                                                                    The key-value map of execution parameters, which were supplied when calling + * StartAutomationExecution.

                                                                    */ - CurrentStepName?: string; + Parameters?: { [key: string]: string[] }; /** - *

                                                                    The MaxConcurrency value specified by the user when the execution started.

                                                                    + *

                                                                    The specified targets.

                                                                    */ - MaxConcurrency?: string; + Targets?: Target[]; + + /** + *

                                                                    A list of resolved targets in the rate control execution.

                                                                    + */ + ResolvedTargets?: ResolvedTargets; /** *

                                                                    The automation execution mode.

                                                                    @@ -273,31 +275,30 @@ export interface AutomationExecution { Mode?: ExecutionMode | string; /** - *

                                                                    The AutomationExecutionId of the parent automation.

                                                                    + *

                                                                    A message describing why an execution has failed, if the status is set to Failed.

                                                                    */ - ParentAutomationExecutionId?: string; + FailureMessage?: string; /** - *

                                                                    The name of the Automation document used during the execution.

                                                                    + *

                                                                    The version of the document to use during execution.

                                                                    */ - DocumentName?: string; + DocumentVersion?: string; /** - *

                                                                    The Amazon Resource Name (ARN) of the user who ran the automation.

                                                                    + *

                                                                    The action of the step that is currently running.

                                                                    */ - ExecutedBy?: string; + CurrentAction?: string; /** - *

                                                                    A boolean value that indicates if the response contains the full list of the Automation step - * executions. If true, use the DescribeAutomationStepExecutions API action to get the full list of - * step executions.

                                                                    + *

                                                                    A list of details about the current state of all steps that comprise an execution. An + * Automation document contains a list of steps that are run in order.

                                                                    */ - StepExecutionsTruncated?: boolean; + StepExecutions?: StepExecution[]; /** - *

                                                                    The execution status of the Automation.

                                                                    + *

                                                                    The MaxErrors value specified by the user when the execution started.

                                                                    */ - AutomationExecutionStatus?: AutomationExecutionStatus | string; + MaxErrors?: string; /** *

                                                                    The execution ID.

                                                                    @@ -305,26 +306,25 @@ export interface AutomationExecution { AutomationExecutionId?: string; /** - *

                                                                    The target of the execution.

                                                                    + *

                                                                    The time the execution finished.

                                                                    */ - Target?: string; + ExecutionEndTime?: Date; /** - *

                                                                    A list of details about the current state of all steps that comprise an execution. An - * Automation document contains a list of steps that are run in order.

                                                                    + *

                                                                    An aggregate of step execution statuses displayed in the AWS Console for a multi-Region and + * multi-account Automation execution.

                                                                    */ - StepExecutions?: StepExecution[]; + ProgressCounters?: ProgressCounters; /** - *

                                                                    The time the execution finished.

                                                                    + *

                                                                    The target of the execution.

                                                                    */ - ExecutionEndTime?: Date; + Target?: string; /** - *

                                                                    An aggregate of step execution statuses displayed in the AWS Console for a multi-Region and - * multi-account Automation execution.

                                                                    + *

                                                                    The execution status of the Automation.

                                                                    */ - ProgressCounters?: ProgressCounters; + AutomationExecutionStatus?: AutomationExecutionStatus | string; } export namespace AutomationExecution { @@ -372,13 +372,6 @@ export enum CalendarState { } export interface GetCalendarStateResponse { - /** - *

                                                                    The state of the calendar. An OPEN calendar indicates that actions are allowed - * to proceed, and a CLOSED calendar indicates that actions are not allowed to - * proceed.

                                                                    - */ - State?: CalendarState | string; - /** *

                                                                    The time, as an ISO 8601 string, * that you specified in your command. If you did not specify a time, GetCalendarState @@ -386,6 +379,13 @@ export interface GetCalendarStateResponse { */ AtTime?: string; + /** + *

                                                                    The state of the calendar. An OPEN calendar indicates that actions are allowed + * to proceed, and a CLOSED calendar indicates that actions are not allowed to + * proceed.

                                                                    + */ + State?: CalendarState | string; + /** *

                                                                    The time, as an ISO 8601 string, * that the calendar state will change. If the current calendar state is OPEN, @@ -495,49 +495,54 @@ export enum CommandInvocationStatus { export interface GetCommandInvocationResult { /** - *

                                                                    The date and time the plugin was finished running. Date and time are written in ISO 8601 - * format. For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI - * command uses the InvokedAfter filter.

                                                                    - *

                                                                    - * aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z - *

                                                                    - *

                                                                    If the plugin has not started to run, the string is empty.

                                                                    + *

                                                                    The ID of the managed instance targeted by the command. A managed instance can be an EC2 + * instance or an instance in your hybrid environment that is configured for Systems Manager.

                                                                    */ - ExecutionEndDateTime?: string; + InstanceId?: string; /** - *

                                                                    The parent command ID of the invocation plugin.

                                                                    + *

                                                                    The first 24,000 characters written by the plugin to stdout. If the command has not finished + * running, if ExecutionStatus is neither Succeeded nor Failed, then this string is empty.

                                                                    */ - CommandId?: string; + StandardOutputContent?: string; /** - *

                                                                    The URL for the complete text written by the plugin to stdout in Amazon S3. If an S3 bucket was - * not specified, then this string is empty.

                                                                    + *

                                                                    The first 8,000 characters written by the plugin to stderr. If the command has not finished + * running, then this string is empty.

                                                                    */ - StandardOutputUrl?: string; + StandardErrorContent?: string; /** - *

                                                                    The URL for the complete text written by the plugin to stderr. If the command has not - * finished running, then this string is empty.

                                                                    + *

                                                                    The status of this invocation plugin. This status can be different than + * StatusDetails.

                                                                    */ - StandardErrorUrl?: string; + Status?: CommandInvocationStatus | string; /** - *

                                                                    The name of the document that was run. For example, AWS-RunShellScript.

                                                                    + *

                                                                    The SSM document version used in the request.

                                                                    */ - DocumentName?: string; + DocumentVersion?: string; /** - *

                                                                    The error level response code for the plugin script. If the response code is -1, then the - * command has not started running on the instance, or it was not received by the instance.

                                                                    + *

                                                                    The date and time the plugin started running. Date and time are written in ISO 8601 format. + * For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI command uses + * the InvokedBefore filter.

                                                                    + *

                                                                    + * aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z + *

                                                                    + *

                                                                    If the plugin has not started to run, the string is empty.

                                                                    */ - ResponseCode?: number; + ExecutionStartDateTime?: string; /** - *

                                                                    The name of the plugin for which you want detailed results. For example, aws:RunShellScript - * is a plugin.

                                                                    + *

                                                                    Duration since ExecutionStartDateTime.

                                                                    */ - PluginName?: string; + ExecutionElapsedTime?: string; + + /** + *

                                                                    The comment text for the command.

                                                                    + */ + Comment?: string; /** *

                                                                    A detailed status of the command execution for an invocation. StatusDetails includes more @@ -599,54 +604,49 @@ export interface GetCommandInvocationResult { StatusDetails?: string; /** - *

                                                                    The date and time the plugin started running. Date and time are written in ISO 8601 format. - * For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI command uses - * the InvokedBefore filter.

                                                                    - *

                                                                    - * aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z - *

                                                                    - *

                                                                    If the plugin has not started to run, the string is empty.

                                                                    + *

                                                                    The name of the plugin for which you want detailed results. For example, aws:RunShellScript + * is a plugin.

                                                                    */ - ExecutionStartDateTime?: string; + PluginName?: string; /** - *

                                                                    The ID of the managed instance targeted by the command. A managed instance can be an EC2 - * instance or an instance in your hybrid environment that is configured for Systems Manager.

                                                                    + *

                                                                    The error level response code for the plugin script. If the response code is -1, then the + * command has not started running on the instance, or it was not received by the instance.

                                                                    */ - InstanceId?: string; + ResponseCode?: number; /** - *

                                                                    The first 24,000 characters written by the plugin to stdout. If the command has not finished - * running, if ExecutionStatus is neither Succeeded nor Failed, then this string is empty.

                                                                    + *

                                                                    The date and time the plugin was finished running. Date and time are written in ISO 8601 + * format. For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI + * command uses the InvokedAfter filter.

                                                                    + *

                                                                    + * aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z + *

                                                                    + *

                                                                    If the plugin has not started to run, the string is empty.

                                                                    */ - StandardOutputContent?: string; + ExecutionEndDateTime?: string; /** - *

                                                                    The comment text for the command.

                                                                    + *

                                                                    The name of the document that was run. For example, AWS-RunShellScript.

                                                                    */ - Comment?: string; + DocumentName?: string; /** - *

                                                                    Duration since ExecutionStartDateTime.

                                                                    + *

                                                                    The URL for the complete text written by the plugin to stderr. If the command has not + * finished running, then this string is empty.

                                                                    */ - ExecutionElapsedTime?: string; + StandardErrorUrl?: string; /** - *

                                                                    The first 8,000 characters written by the plugin to stderr. If the command has not finished - * running, then this string is empty.

                                                                    + *

                                                                    The parent command ID of the invocation plugin.

                                                                    */ - StandardErrorContent?: string; - - /** - *

                                                                    The SSM document version used in the request.

                                                                    - */ - DocumentVersion?: string; + CommandId?: string; /** - *

                                                                    The status of this invocation plugin. This status can be different than - * StatusDetails.

                                                                    + *

                                                                    The URL for the complete text written by the plugin to stdout in Amazon S3. If an S3 bucket was + * not specified, then this string is empty.

                                                                    */ - Status?: CommandInvocationStatus | string; + StandardOutputUrl?: string; /** *

                                                                    CloudWatch Logs information where Systems Manager sent the command output.

                                                                    @@ -741,14 +741,14 @@ export namespace GetDefaultPatchBaselineRequest { export interface GetDefaultPatchBaselineResult { /** - *

                                                                    The operating system for the returned patch baseline.

                                                                    + *

                                                                    The ID of the default patch baseline.

                                                                    */ - OperatingSystem?: OperatingSystem | string; + BaselineId?: string; /** - *

                                                                    The ID of the default patch baseline.

                                                                    + *

                                                                    The operating system for the returned patch baseline.

                                                                    */ - BaselineId?: string; + OperatingSystem?: OperatingSystem | string; } export namespace GetDefaultPatchBaselineResult { @@ -776,11 +776,6 @@ export namespace GetDeployablePatchSnapshotForInstanceRequest { } export interface GetDeployablePatchSnapshotForInstanceResult { - /** - *

                                                                    The user-defined snapshot ID.

                                                                    - */ - SnapshotId?: string; - /** *

                                                                    The ID of the instance.

                                                                    */ @@ -796,6 +791,11 @@ export interface GetDeployablePatchSnapshotForInstanceResult { *

                                                                    A pre-signed Amazon S3 URL that can be used to download the patch snapshot.

                                                                    */ SnapshotDownloadUrl?: string; + + /** + *

                                                                    The user-defined snapshot ID.

                                                                    + */ + SnapshotId?: string; } export namespace GetDeployablePatchSnapshotForInstanceResult { @@ -834,17 +834,17 @@ export interface GetDocumentRequest { */ DocumentVersion?: string; - /** - *

                                                                    The name of the Systems Manager document.

                                                                    - */ - Name: string | undefined; - /** *

                                                                    An optional field specifying the version of the artifact associated with the document. For * example, "Release 12, Update 6". This value is unique across all versions of a document and can't * be changed.

                                                                    */ VersionName?: string; + + /** + *

                                                                    The name of the Systems Manager document.

                                                                    + */ + Name: string | undefined; } export namespace GetDocumentRequest { @@ -867,14 +867,14 @@ export interface AttachmentContent { Name?: string; /** - *

                                                                    The cryptographic hash value of the document content.

                                                                    + *

                                                                    The URL location of the attachment content.

                                                                    */ - Hash?: string; + Url?: string; /** - *

                                                                    The URL location of the attachment content.

                                                                    + *

                                                                    The cryptographic hash value of the document content.

                                                                    */ - Url?: string; + Hash?: string; /** *

                                                                    The hash algorithm used to calculate the hash value.

                                                                    @@ -895,9 +895,10 @@ export namespace AttachmentContent { export interface GetDocumentResult { /** - *

                                                                    The name of the Systems Manager document.

                                                                    + *

                                                                    A description of the document attachments, including names, locations, sizes, and so + * on.

                                                                    */ - Name?: string; + AttachmentsContent?: AttachmentContent[]; /** *

                                                                    The document version.

                                                                    @@ -910,46 +911,45 @@ export interface GetDocumentResult { DocumentType?: DocumentType | string; /** - *

                                                                    The contents of the Systems Manager document.

                                                                    + *

                                                                    The document format, either JSON or YAML.

                                                                    */ - Content?: string; + DocumentFormat?: DocumentFormat | string; /** - *

                                                                    A list of SSM documents required by a document. For example, an - * ApplicationConfiguration document requires an - * ApplicationConfigurationSchema document.

                                                                    + *

                                                                    The name of the Systems Manager document.

                                                                    */ - Requires?: DocumentRequires[]; + Name?: string; /** - *

                                                                    A description of the document attachments, including names, locations, sizes, and so - * on.

                                                                    + *

                                                                    A message returned by AWS Systems Manager that explains the Status value. For example, a + * Failed status might be explained by the StatusInformation message, + * "The specified S3 bucket does not exist. Verify that the URL of the S3 bucket is correct."

                                                                    */ - AttachmentsContent?: AttachmentContent[]; + StatusInformation?: string; /** - *

                                                                    The version of the artifact associated with the document. For example, "Release 12, Update - * 6". This value is unique across all versions of a document, and cannot be changed.

                                                                    + *

                                                                    The status of the Systems Manager document, such as Creating, Active, + * Updating, Failed, and Deleting.

                                                                    */ - VersionName?: string; + Status?: DocumentStatus | string; /** - *

                                                                    A message returned by AWS Systems Manager that explains the Status value. For example, a - * Failed status might be explained by the StatusInformation message, - * "The specified S3 bucket does not exist. Verify that the URL of the S3 bucket is correct."

                                                                    + *

                                                                    The version of the artifact associated with the document. For example, "Release 12, Update + * 6". This value is unique across all versions of a document, and cannot be changed.

                                                                    */ - StatusInformation?: string; + VersionName?: string; /** - *

                                                                    The document format, either JSON or YAML.

                                                                    + *

                                                                    A list of SSM documents required by a document. For example, an + * ApplicationConfiguration document requires an + * ApplicationConfigurationSchema document.

                                                                    */ - DocumentFormat?: DocumentFormat | string; + Requires?: DocumentRequires[]; /** - *

                                                                    The status of the Systems Manager document, such as Creating, Active, - * Updating, Failed, and Deleting.

                                                                    + *

                                                                    The contents of the Systems Manager document.

                                                                    */ - Status?: DocumentStatus | string; + Content?: string; } export namespace GetDocumentResult { @@ -981,17 +981,17 @@ export interface InventoryFilter { */ Type?: InventoryQueryOperatorType | string; - /** - *

                                                                    The name of the filter key.

                                                                    - */ - Key: string | undefined; - /** *

                                                                    Inventory filter values. Example: inventory filter where instance IDs are specified as * values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal *

                                                                    */ Values: string[] | undefined; + + /** + *

                                                                    The name of the filter key.

                                                                    + */ + Key: string | undefined; } export namespace InventoryFilter { @@ -1045,15 +1045,22 @@ export namespace ResultAttribute { *

                                                                    The inventory result item.

                                                                    */ export interface InventoryResultItem { + /** + *

                                                                    The schema version for the inventory result item/

                                                                    + */ + SchemaVersion: string | undefined; + /** *

                                                                    The time inventory item data was captured.

                                                                    */ CaptureTime?: string; /** - *

                                                                    The name of the inventory result item type.

                                                                    + *

                                                                    MD5 hash of the inventory item type contents. The content hash is used to determine whether + * to update inventory information. The PutInventory API does not update the inventory item type + * contents if the MD5 hash has not changed since last update.

                                                                    */ - TypeName: string | undefined; + ContentHash?: string; /** *

                                                                    Contains all the inventory data of the item type. Results include attribute names and @@ -1062,16 +1069,9 @@ export interface InventoryResultItem { Content: { [key: string]: string }[] | undefined; /** - *

                                                                    The schema version for the inventory result item/

                                                                    - */ - SchemaVersion: string | undefined; - - /** - *

                                                                    MD5 hash of the inventory item type contents. The content hash is used to determine whether - * to update inventory information. The PutInventory API does not update the inventory item type - * contents if the MD5 hash has not changed since last update.

                                                                    + *

                                                                    The name of the inventory result item type.

                                                                    */ - ContentHash?: string; + TypeName: string | undefined; } export namespace InventoryResultItem { @@ -1084,17 +1084,17 @@ export namespace InventoryResultItem { *

                                                                    Inventory query results.

                                                                    */ export interface InventoryResultEntity { + /** + *

                                                                    The data section in the inventory result entity JSON.

                                                                    + */ + Data?: { [key: string]: InventoryResultItem }; + /** *

                                                                    ID of the inventory result entity. For example, for managed instance inventory the result * will be the managed instance ID. For EC2 instance inventory, the result will be the instance ID. *

                                                                    */ Id?: string; - - /** - *

                                                                    The data section in the inventory result entity JSON.

                                                                    - */ - Data?: { [key: string]: InventoryResultItem }; } export namespace InventoryResultEntity { @@ -1171,21 +1171,16 @@ export namespace InvalidResultAttributeException { export interface GetInventorySchemaRequest { /** - *

                                                                    The type of inventory item to return.

                                                                    + *

                                                                    The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                    */ - TypeName?: string; + MaxResults?: number; /** *

                                                                    Returns the sub-type schema for a specified inventory type.

                                                                    */ SubType?: boolean; - /** - *

                                                                    The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                    - */ - MaxResults?: number; - /** *

                                                                    The token for the next set of items to return. (You received this token from a previous * call.)

                                                                    @@ -1199,6 +1194,11 @@ export interface GetInventorySchemaRequest { * attributes.

                                                                    */ Aggregator?: boolean; + + /** + *

                                                                    The type of inventory item to return.

                                                                    + */ + TypeName?: string; } export namespace GetInventorySchemaRequest { @@ -1218,14 +1218,14 @@ export enum InventoryAttributeDataType { */ export interface InventoryItemAttribute { /** - *

                                                                    The data type of the inventory item attribute.

                                                                    + *

                                                                    Name of the inventory item attribute.

                                                                    */ - DataType: InventoryAttributeDataType | string | undefined; + Name: string | undefined; /** - *

                                                                    Name of the inventory item attribute.

                                                                    + *

                                                                    The data type of the inventory item attribute.

                                                                    */ - Name: string | undefined; + DataType: InventoryAttributeDataType | string | undefined; } export namespace InventoryItemAttribute { @@ -1239,16 +1239,6 @@ export namespace InventoryItemAttribute { * filters.

                                                                    */ export interface InventoryItemSchema { - /** - *

                                                                    The alias name of the inventory type. The alias name is used for display purposes.

                                                                    - */ - DisplayName?: string; - - /** - *

                                                                    The schema version for the inventory item.

                                                                    - */ - Version?: string; - /** *

                                                                    The schema attributes for inventory. This contains data type and attribute name.

                                                                    */ @@ -1261,6 +1251,16 @@ export interface InventoryItemSchema { * AWS:WindowsUpdate.

                                                                    */ TypeName: string | undefined; + + /** + *

                                                                    The schema version for the inventory item.

                                                                    + */ + Version?: string; + + /** + *

                                                                    The alias name of the inventory type. The alias name is used for display purposes.

                                                                    + */ + DisplayName?: string; } export namespace InventoryItemSchema { @@ -1302,38 +1302,44 @@ export namespace GetMaintenanceWindowRequest { } export interface GetMaintenanceWindowResult { + /** + *

                                                                    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new + * tasks for execution.

                                                                    + */ + Cutoff?: number; + /** *

                                                                    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled - * to become inactive. The maintenance window will not run after this specified time.

                                                                    + * to become active. The maintenance window will not run before this specified time.

                                                                    */ - EndDate?: string; + StartDate?: string; /** - *

                                                                    The date the maintenance window was created.

                                                                    + *

                                                                    The next time the maintenance window will actually run, taking into account any specified + * times for the maintenance window to become active or inactive.

                                                                    */ - CreatedDate?: Date; + NextExecutionTime?: string; /** - *

                                                                    The ID of the created maintenance window.

                                                                    + *

                                                                    The schedule of the maintenance window in the form of a cron or rate expression.

                                                                    */ - WindowId?: string; + Schedule?: string; /** - *

                                                                    The date the maintenance window was last modified.

                                                                    + *

                                                                    The ID of the created maintenance window.

                                                                    */ - ModifiedDate?: Date; + WindowId?: string; /** - *

                                                                    The number of days to wait to run a maintenance window after the scheduled CRON expression - * date and time.

                                                                    + *

                                                                    Whether targets must be registered with the maintenance window before tasks can be defined + * for those targets.

                                                                    */ - ScheduleOffset?: number; + AllowUnassociatedTargets?: boolean; /** - *

                                                                    The next time the maintenance window will actually run, taking into account any specified - * times for the maintenance window to become active or inactive.

                                                                    + *

                                                                    The duration of the maintenance window in hours.

                                                                    */ - NextExecutionTime?: string; + Duration?: number; /** *

                                                                    The name of the maintenance window.

                                                                    @@ -1341,51 +1347,45 @@ export interface GetMaintenanceWindowResult { Name?: string; /** - *

                                                                    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled - * to become active. The maintenance window will not run before this specified time.

                                                                    + *

                                                                    The date the maintenance window was last modified.

                                                                    */ - StartDate?: string; + ModifiedDate?: Date; /** - *

                                                                    The duration of the maintenance window in hours.

                                                                    + *

                                                                    The time zone that the scheduled maintenance window executions are based on, in Internet + * Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "etc/UTC", or + * "Asia/Seoul". For more information, see the Time + * Zone Database on the IANA website.

                                                                    */ - Duration?: number; + ScheduleTimezone?: string; /** - *

                                                                    Indicates whether the maintenance window is enabled.

                                                                    + *

                                                                    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled + * to become inactive. The maintenance window will not run after this specified time.

                                                                    */ - Enabled?: boolean; + EndDate?: string; /** - *

                                                                    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new - * tasks for execution.

                                                                    + *

                                                                    The number of days to wait to run a maintenance window after the scheduled CRON expression + * date and time.

                                                                    */ - Cutoff?: number; + ScheduleOffset?: number; /** - *

                                                                    The schedule of the maintenance window in the form of a cron or rate expression.

                                                                    + *

                                                                    The description of the maintenance window.

                                                                    */ - Schedule?: string; + Description?: string; /** - *

                                                                    Whether targets must be registered with the maintenance window before tasks can be defined - * for those targets.

                                                                    + *

                                                                    Indicates whether the maintenance window is enabled.

                                                                    */ - AllowUnassociatedTargets?: boolean; + Enabled?: boolean; /** - *

                                                                    The description of the maintenance window.

                                                                    + *

                                                                    The date the maintenance window was created.

                                                                    */ - Description?: string; - - /** - *

                                                                    The time zone that the scheduled maintenance window executions are based on, in Internet - * Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "etc/UTC", or - * "Asia/Seoul". For more information, see the Time - * Zone Database on the IANA website.

                                                                    - */ - ScheduleTimezone?: string; -} + CreatedDate?: Date; +} export namespace GetMaintenanceWindowResult { export const filterSensitiveLog = (obj: GetMaintenanceWindowResult): any => ({ @@ -1409,14 +1409,9 @@ export namespace GetMaintenanceWindowExecutionRequest { export interface GetMaintenanceWindowExecutionResult { /** - *

                                                                    The time the maintenance window started running.

                                                                    - */ - StartTime?: Date; - - /** - *

                                                                    The details explaining the Status. Only available for certain status values.

                                                                    + *

                                                                    The ID of the task executions from the maintenance window execution.

                                                                    */ - StatusDetails?: string; + TaskIds?: string[]; /** *

                                                                    The ID of the maintenance window execution.

                                                                    @@ -1424,19 +1419,24 @@ export interface GetMaintenanceWindowExecutionResult { WindowExecutionId?: string; /** - *

                                                                    The ID of the task executions from the maintenance window execution.

                                                                    + *

                                                                    The time the maintenance window finished running.

                                                                    */ - TaskIds?: string[]; + EndTime?: Date; /** - *

                                                                    The time the maintenance window finished running.

                                                                    + *

                                                                    The time the maintenance window started running.

                                                                    */ - EndTime?: Date; + StartTime?: Date; /** *

                                                                    The status of the maintenance window execution.

                                                                    */ Status?: MaintenanceWindowExecutionStatus | string; + + /** + *

                                                                    The details explaining the Status. Only available for certain status values.

                                                                    + */ + StatusDetails?: string; } export namespace GetMaintenanceWindowExecutionResult { @@ -1447,15 +1447,15 @@ export namespace GetMaintenanceWindowExecutionResult { export interface GetMaintenanceWindowExecutionTaskRequest { /** - *

                                                                    The ID of the specific task execution in the maintenance window task that should be - * retrieved.

                                                                    + *

                                                                    The ID of the maintenance window execution that includes the task.

                                                                    */ - TaskId: string | undefined; + WindowExecutionId: string | undefined; /** - *

                                                                    The ID of the maintenance window execution that includes the task.

                                                                    + *

                                                                    The ID of the specific task execution in the maintenance window task that should be + * retrieved.

                                                                    */ - WindowExecutionId: string | undefined; + TaskId: string | undefined; } export namespace GetMaintenanceWindowExecutionTaskRequest { @@ -1466,19 +1466,21 @@ export namespace GetMaintenanceWindowExecutionTaskRequest { export interface GetMaintenanceWindowExecutionTaskResult { /** - *

                                                                    The defined maximum number of task executions that could be run in parallel.

                                                                    + *

                                                                    The ID of the specific task execution in the maintenance window task that was + * retrieved.

                                                                    */ - MaxConcurrency?: string; + TaskExecutionId?: string; /** - *

                                                                    The time the task execution started.

                                                                    + *

                                                                    The defined maximum number of task execution errors allowed before scheduling of the task + * execution would have been stopped.

                                                                    */ - StartTime?: Date; + MaxErrors?: string; /** - *

                                                                    The details explaining the Status. Only available for certain status values.

                                                                    + *

                                                                    The ID of the maintenance window execution that includes the task.

                                                                    */ - StatusDetails?: string; + WindowExecutionId?: string; /** *

                                                                    The role that was assumed when running the task.

                                                                    @@ -1486,21 +1488,29 @@ export interface GetMaintenanceWindowExecutionTaskResult { ServiceRole?: string; /** - *

                                                                    The defined maximum number of task execution errors allowed before scheduling of the task - * execution would have been stopped.

                                                                    + *

                                                                    The type of task that was run.

                                                                    */ - MaxErrors?: string; + Type?: MaintenanceWindowTaskType | string; /** - *

                                                                    The type of task that was run.

                                                                    + *

                                                                    The parameters passed to the task when it was run.

                                                                    + * + *

                                                                    + * TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, + * instead use the Parameters option in the TaskInvocationParameters structure. For information + * about how Systems Manager handles these options for the supported maintenance window task + * types, see MaintenanceWindowTaskInvocationParameters.

                                                                    + *
                                                                    + *

                                                                    The map has the following format:

                                                                    + *

                                                                    Key: string, between 1 and 255 characters

                                                                    + *

                                                                    Value: an array of strings, each string is between 1 and 255 characters

                                                                    */ - Type?: MaintenanceWindowTaskType | string; + TaskParameters?: { [key: string]: MaintenanceWindowTaskParameterValueExpression }[]; /** - *

                                                                    The ID of the specific task execution in the maintenance window task that was - * retrieved.

                                                                    + *

                                                                    The priority of the task.

                                                                    */ - TaskExecutionId?: string; + Priority?: number; /** *

                                                                    The status of the task.

                                                                    @@ -1508,39 +1518,29 @@ export interface GetMaintenanceWindowExecutionTaskResult { Status?: MaintenanceWindowExecutionStatus | string; /** - *

                                                                    The ID of the maintenance window execution that includes the task.

                                                                    + *

                                                                    The details explaining the Status. Only available for certain status values.

                                                                    */ - WindowExecutionId?: string; + StatusDetails?: string; /** - *

                                                                    The time the task execution completed.

                                                                    + *

                                                                    The ARN of the task that ran.

                                                                    */ - EndTime?: Date; + TaskArn?: string; /** - *

                                                                    The priority of the task.

                                                                    + *

                                                                    The time the task execution started.

                                                                    */ - Priority?: number; + StartTime?: Date; /** - *

                                                                    The parameters passed to the task when it was run.

                                                                    - * - *

                                                                    - * TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, - * instead use the Parameters option in the TaskInvocationParameters structure. For information - * about how Systems Manager handles these options for the supported maintenance window task - * types, see MaintenanceWindowTaskInvocationParameters.

                                                                    - *
                                                                    - *

                                                                    The map has the following format:

                                                                    - *

                                                                    Key: string, between 1 and 255 characters

                                                                    - *

                                                                    Value: an array of strings, each string is between 1 and 255 characters

                                                                    + *

                                                                    The defined maximum number of task executions that could be run in parallel.

                                                                    */ - TaskParameters?: { [key: string]: MaintenanceWindowTaskParameterValueExpression }[]; + MaxConcurrency?: string; /** - *

                                                                    The ARN of the task that ran.

                                                                    + *

                                                                    The time the task execution completed.

                                                                    */ - TaskArn?: string; + EndTime?: Date; } export namespace GetMaintenanceWindowExecutionTaskResult { @@ -1552,14 +1552,14 @@ export namespace GetMaintenanceWindowExecutionTaskResult { export interface GetMaintenanceWindowExecutionTaskInvocationRequest { /** - *

                                                                    The invocation ID to retrieve.

                                                                    + *

                                                                    The ID of the specific task in the maintenance window task that should be retrieved.

                                                                    */ - InvocationId: string | undefined; + TaskId: string | undefined; /** - *

                                                                    The ID of the specific task in the maintenance window task that should be retrieved.

                                                                    + *

                                                                    The invocation ID to retrieve.

                                                                    */ - TaskId: string | undefined; + InvocationId: string | undefined; /** *

                                                                    The ID of the maintenance window execution for which the task is a part.

                                                                    @@ -1575,9 +1575,9 @@ export namespace GetMaintenanceWindowExecutionTaskInvocationRequest { export interface GetMaintenanceWindowExecutionTaskInvocationResult { /** - *

                                                                    The task execution ID.

                                                                    + *

                                                                    The time that the task finished running on the target.

                                                                    */ - TaskExecutionId?: string; + EndTime?: Date; /** *

                                                                    User-provided value to be included in any CloudWatch events raised while running tasks for @@ -1586,35 +1586,35 @@ export interface GetMaintenanceWindowExecutionTaskInvocationResult { OwnerInformation?: string; /** - *

                                                                    The task status for an invocation.

                                                                    + *

                                                                    The task execution ID.

                                                                    */ - Status?: MaintenanceWindowExecutionStatus | string; + TaskExecutionId?: string; /** - *

                                                                    The maintenance window execution ID.

                                                                    + *

                                                                    The maintenance window target ID.

                                                                    */ - WindowExecutionId?: string; + WindowTargetId?: string; /** - *

                                                                    The time that the task finished running on the target.

                                                                    + *

                                                                    The details explaining the status. Details are only available for certain status + * values.

                                                                    */ - EndTime?: Date; + StatusDetails?: string; /** - *

                                                                    The parameters used at the time that the task ran.

                                                                    + *

                                                                    The invocation ID.

                                                                    */ - Parameters?: string; + InvocationId?: string; /** - *

                                                                    The time that the task started running on the target.

                                                                    + *

                                                                    The maintenance window execution ID.

                                                                    */ - StartTime?: Date; + WindowExecutionId?: string; /** - *

                                                                    The details explaining the status. Details are only available for certain status - * values.

                                                                    + *

                                                                    The execution ID.

                                                                    */ - StatusDetails?: string; + ExecutionId?: string; /** *

                                                                    Retrieves the task type for a maintenance window. Task types include the following: LAMBDA, @@ -1623,19 +1623,19 @@ export interface GetMaintenanceWindowExecutionTaskInvocationResult { TaskType?: MaintenanceWindowTaskType | string; /** - *

                                                                    The invocation ID.

                                                                    + *

                                                                    The time that the task started running on the target.

                                                                    */ - InvocationId?: string; + StartTime?: Date; /** - *

                                                                    The maintenance window target ID.

                                                                    + *

                                                                    The task status for an invocation.

                                                                    */ - WindowTargetId?: string; + Status?: MaintenanceWindowExecutionStatus | string; /** - *

                                                                    The execution ID.

                                                                    + *

                                                                    The parameters used at the time that the task ran.

                                                                    */ - ExecutionId?: string; + Parameters?: string; } export namespace GetMaintenanceWindowExecutionTaskInvocationResult { @@ -1668,6 +1668,11 @@ export namespace GetMaintenanceWindowTaskRequest { *

                                                                    The parameters for an AUTOMATION task type.

                                                                    */ export interface MaintenanceWindowAutomationParameters { + /** + *

                                                                    The version of an Automation document to use during task execution.

                                                                    + */ + DocumentVersion?: string; + /** *

                                                                    The parameters for the AUTOMATION task.

                                                                    * @@ -1688,11 +1693,6 @@ export interface MaintenanceWindowAutomationParameters { * */ Parameters?: { [key: string]: string[] }; - - /** - *

                                                                    The version of an Automation document to use during task execution.

                                                                    - */ - DocumentVersion?: string; } export namespace MaintenanceWindowAutomationParameters { @@ -1727,11 +1727,6 @@ export interface MaintenanceWindowLambdaParameters { */ ClientContext?: string; - /** - *

                                                                    JSON to provide to your Lambda function as input.

                                                                    - */ - Payload?: Uint8Array; - /** *

                                                                    (Optional) Specify a Lambda function version or alias name. If you specify a function * version, the action uses the qualified function ARN to invoke a specific Lambda function. If you @@ -1739,6 +1734,11 @@ export interface MaintenanceWindowLambdaParameters { * which the alias points.

                                                                    */ Qualifier?: string; + + /** + *

                                                                    JSON to provide to your Lambda function as input.

                                                                    + */ + Payload?: Uint8Array; } export namespace MaintenanceWindowLambdaParameters { @@ -1766,6 +1766,15 @@ export enum NotificationType { *

                                                                    Configurations for sending notifications.

                                                                    */ export interface NotificationConfig { + /** + *

                                                                    The different events for which you can receive notifications. These events include the + * following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about + * these events, see Monitoring Systems + * Manager status changes using Amazon SNS notifications in the + * AWS Systems Manager User Guide.

                                                                    + */ + NotificationEvents?: (NotificationEvent | string)[]; + /** *

                                                                    An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon SNS) topic. Run Command pushes * notifications about command status changes to this topic.

                                                                    @@ -1778,15 +1787,6 @@ export interface NotificationConfig { * command changes.

                                                                    */ NotificationType?: NotificationType | string; - - /** - *

                                                                    The different events for which you can receive notifications. These events include the - * following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about - * these events, see Monitoring Systems - * Manager status changes using Amazon SNS notifications in the - * AWS Systems Manager User Guide.

                                                                    - */ - NotificationEvents?: (NotificationEvent | string)[]; } export namespace NotificationConfig { @@ -1820,6 +1820,12 @@ export interface MaintenanceWindowRunCommandParameters { */ DocumentHashType?: DocumentHashType | string; + /** + *

                                                                    Configurations for sending notifications about command status changes on a per-instance + * basis.

                                                                    + */ + NotificationConfig?: NotificationConfig; + /** *

                                                                    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for * maintenance window Run Command tasks.

                                                                    @@ -1831,6 +1837,11 @@ export interface MaintenanceWindowRunCommandParameters { */ OutputS3BucketName?: string; + /** + *

                                                                    Information about the commands to run.

                                                                    + */ + Comment?: string; + /** *

                                                                    If this time is reached and the command has not already started running, it doesn't * run.

                                                                    @@ -1849,15 +1860,9 @@ export interface MaintenanceWindowRunCommandParameters { DocumentHash?: string; /** - *

                                                                    Information about the commands to run.

                                                                    - */ - Comment?: string; - - /** - *

                                                                    Configurations for sending notifications about command status changes on a per-instance - * basis.

                                                                    + *

                                                                    The S3 bucket subfolder.

                                                                    */ - NotificationConfig?: NotificationConfig; + OutputS3KeyPrefix?: string; /** *

                                                                    The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a @@ -1874,11 +1879,6 @@ export interface MaintenanceWindowRunCommandParameters { *

                                                                    The parameters for the RUN_COMMAND task execution.

                                                                    */ Parameters?: { [key: string]: string[] }; - - /** - *

                                                                    The S3 bucket subfolder.

                                                                    - */ - OutputS3KeyPrefix?: string; } export namespace MaintenanceWindowRunCommandParameters { @@ -1929,6 +1929,11 @@ export namespace MaintenanceWindowStepFunctionsParameters { *

                                                                    The parameters for task execution.

                                                                    */ export interface MaintenanceWindowTaskInvocationParameters { + /** + *

                                                                    The parameters for a LAMBDA task type.

                                                                    + */ + Lambda?: MaintenanceWindowLambdaParameters; + /** *

                                                                    The parameters for an AUTOMATION task type.

                                                                    */ @@ -1943,80 +1948,50 @@ export interface MaintenanceWindowTaskInvocationParameters { *

                                                                    The parameters for a STEP_FUNCTIONS task type.

                                                                    */ StepFunctions?: MaintenanceWindowStepFunctionsParameters; - - /** - *

                                                                    The parameters for a LAMBDA task type.

                                                                    - */ - Lambda?: MaintenanceWindowLambdaParameters; } export namespace MaintenanceWindowTaskInvocationParameters { export const filterSensitiveLog = (obj: MaintenanceWindowTaskInvocationParameters): any => ({ ...obj, + ...(obj.Lambda && { Lambda: MaintenanceWindowLambdaParameters.filterSensitiveLog(obj.Lambda) }), ...(obj.StepFunctions && { StepFunctions: MaintenanceWindowStepFunctionsParameters.filterSensitiveLog(obj.StepFunctions), }), - ...(obj.Lambda && { Lambda: MaintenanceWindowLambdaParameters.filterSensitiveLog(obj.Lambda) }), }); } export interface GetMaintenanceWindowTaskResult { /** - *

                                                                    The retrieved task name.

                                                                    + *

                                                                    The parameters to pass to the task when it runs.

                                                                    */ - Name?: string; + TaskInvocationParameters?: MaintenanceWindowTaskInvocationParameters; /** - *

                                                                    The resource that the task used during execution. For RUN_COMMAND and AUTOMATION task types, - * the TaskArn is the Systems Manager Document name/ARN. For LAMBDA tasks, the value is the function name/ARN. - * For STEP_FUNCTIONS tasks, the value is the state machine ARN.

                                                                    + *

                                                                    The retrieved maintenance window task ID.

                                                                    */ - TaskArn?: string; + WindowTaskId?: string; /** - *

                                                                    The maximum number of errors allowed before the task stops being scheduled.

                                                                    + *

                                                                    The targets where the task should run.

                                                                    */ - MaxErrors?: string; + Targets?: Target[]; /** - *

                                                                    The location in Amazon S3 where the task results are logged.

                                                                    - * - *

                                                                    - * LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the - * OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. - * For information about how Systems Manager handles these options for the supported maintenance - * window task types, see MaintenanceWindowTaskInvocationParameters.

                                                                    - *
                                                                    + *

                                                                    The type of task to run.

                                                                    */ - LoggingInfo?: LoggingInfo; + TaskType?: MaintenanceWindowTaskType | string; /** *

                                                                    The retrieved maintenance window ID.

                                                                    */ WindowId?: string; - /** - *

                                                                    The targets where the task should run.

                                                                    - */ - Targets?: Target[]; - /** *

                                                                    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for * maintenance window Run Command tasks.

                                                                    */ ServiceRoleArn?: string; - /** - *

                                                                    The priority of the task when it runs. The lower the number, the higher the priority. Tasks - * that have the same priority are scheduled in parallel.

                                                                    - */ - Priority?: number; - - /** - *

                                                                    The type of task to run.

                                                                    - */ - TaskType?: MaintenanceWindowTaskType | string; - /** *

                                                                    The parameters to pass to the task when it runs.

                                                                    * @@ -2030,35 +2005,60 @@ export interface GetMaintenanceWindowTaskResult { TaskParameters?: { [key: string]: MaintenanceWindowTaskParameterValueExpression }; /** - *

                                                                    The parameters to pass to the task when it runs.

                                                                    + *

                                                                    The priority of the task when it runs. The lower the number, the higher the priority. Tasks + * that have the same priority are scheduled in parallel.

                                                                    */ - TaskInvocationParameters?: MaintenanceWindowTaskInvocationParameters; + Priority?: number; /** - *

                                                                    The retrieved task description.

                                                                    + *

                                                                    The maximum number of errors allowed before the task stops being scheduled.

                                                                    */ - Description?: string; + MaxErrors?: string; /** - *

                                                                    The retrieved maintenance window task ID.

                                                                    + *

                                                                    The retrieved task name.

                                                                    */ - WindowTaskId?: string; + Name?: string; + + /** + *

                                                                    The resource that the task used during execution. For RUN_COMMAND and AUTOMATION task types, + * the TaskArn is the Systems Manager Document name/ARN. For LAMBDA tasks, the value is the function name/ARN. + * For STEP_FUNCTIONS tasks, the value is the state machine ARN.

                                                                    + */ + TaskArn?: string; + + /** + *

                                                                    The retrieved task description.

                                                                    + */ + Description?: string; /** *

                                                                    The maximum number of targets allowed to run this task in parallel.

                                                                    */ MaxConcurrency?: string; + + /** + *

                                                                    The location in Amazon S3 where the task results are logged.

                                                                    + * + *

                                                                    + * LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the + * OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. + * For information about how Systems Manager handles these options for the supported maintenance + * window task types, see MaintenanceWindowTaskInvocationParameters.

                                                                    + *
                                                                    + */ + LoggingInfo?: LoggingInfo; } export namespace GetMaintenanceWindowTaskResult { export const filterSensitiveLog = (obj: GetMaintenanceWindowTaskResult): any => ({ ...obj, - ...(obj.TaskParameters && { TaskParameters: SENSITIVE_STRING }), ...(obj.TaskInvocationParameters && { TaskInvocationParameters: MaintenanceWindowTaskInvocationParameters.filterSensitiveLog( obj.TaskInvocationParameters ), }), + ...(obj.TaskParameters && { TaskParameters: SENSITIVE_STRING }), ...(obj.Description && { Description: SENSITIVE_STRING }), }); } @@ -2084,27 +2084,20 @@ export namespace GetOpsItemRequest { */ export interface OpsItem { /** - *

                                                                    One or more OpsItems that share something in common with the current OpsItem. For example, - * related OpsItems can include OpsItems with similar error messages, impacted resources, or - * statuses for the impacted resource.

                                                                    - */ - RelatedOpsItems?: RelatedOpsItem[]; - - /** - *

                                                                    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this - * OpsItem is edited or changed.

                                                                    + *

                                                                    The severity of the OpsItem. Severity options range from 1 to 4.

                                                                    */ - Notifications?: OpsItemNotification[]; + Severity?: string; /** - *

                                                                    The date and time the OpsItem was last updated.

                                                                    + *

                                                                    The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of + * source.

                                                                    */ - LastModifiedTime?: Date; + Source?: string; /** - *

                                                                    The ARN of the AWS account that last updated the OpsItem.

                                                                    + *

                                                                    The importance of this OpsItem in relation to other OpsItems in the system.

                                                                    */ - LastModifiedBy?: string; + Priority?: number; /** *

                                                                    The OpsItem status. Status can be Open, In Progress, or @@ -2113,9 +2106,26 @@ export interface OpsItem { Status?: OpsItemStatus | string; /** - *

                                                                    The date and time the OpsItem was created.

                                                                    + *

                                                                    Operational data is custom data that provides useful reference details about the OpsItem. + * For example, you can specify log files, error strings, license keys, troubleshooting tips, or + * other relevant data. You enter operational data as key-value pairs. The key has a maximum length + * of 128 characters. The value has a maximum size of 20 KB.

                                                                    + * + *

                                                                    Operational data keys can't begin with the following: amazon, aws, + * amzn, ssm, /amazon, /aws, /amzn, /ssm.

                                                                    + *
                                                                    + *

                                                                    You can choose to make the data searchable by other users in the account or you can restrict + * search access. Searchable data means that all users with access to the OpsItem Overview page (as + * provided by the DescribeOpsItems API action) can view and search on the + * specified data. Operational data that is not searchable is only viewable by users who have access + * to the OpsItem (as provided by the GetOpsItem API action).

                                                                    + * + *

                                                                    Use the /aws/resources key in OperationalData to specify a related resource in + * the request. Use the /aws/automations key in OperationalData to associate an + * Automation runbook with the OpsItem. To view AWS CLI example commands that use these keys, see + * Creating OpsItems manually in the AWS Systems Manager User Guide.

                                                                    */ - CreatedTime?: Date; + OperationalData?: { [key: string]: OpsItemDataValue }; /** *

                                                                    The version of this OpsItem. Each time the OpsItem is edited the version number increments @@ -2124,9 +2134,9 @@ export interface OpsItem { Version?: string; /** - *

                                                                    The importance of this OpsItem in relation to other OpsItems in the system.

                                                                    + *

                                                                    The ARN of the AWS account that last updated the OpsItem.

                                                                    */ - Priority?: number; + LastModifiedBy?: string; /** *

                                                                    A short heading that describes the nature of the OpsItem and the impacted resource.

                                                                    @@ -2134,58 +2144,48 @@ export interface OpsItem { Title?: string; /** - *

                                                                    The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of - * source.

                                                                    + *

                                                                    The date and time the OpsItem was created.

                                                                    */ - Source?: string; + CreatedTime?: Date; /** - *

                                                                    The severity of the OpsItem. Severity options range from 1 to 4.

                                                                    + *

                                                                    One or more OpsItems that share something in common with the current OpsItem. For example, + * related OpsItems can include OpsItems with similar error messages, impacted resources, or + * statuses for the impacted resource.

                                                                    */ - Severity?: string; + RelatedOpsItems?: RelatedOpsItem[]; /** - *

                                                                    The ARN of the AWS account that created the OpsItem.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this + * OpsItem is edited or changed.

                                                                    */ - CreatedBy?: string; + Notifications?: OpsItemNotification[]; /** - *

                                                                    Operational data is custom data that provides useful reference details about the OpsItem. - * For example, you can specify log files, error strings, license keys, troubleshooting tips, or - * other relevant data. You enter operational data as key-value pairs. The key has a maximum length - * of 128 characters. The value has a maximum size of 20 KB.

                                                                    - * - *

                                                                    Operational data keys can't begin with the following: amazon, aws, - * amzn, ssm, /amazon, /aws, /amzn, /ssm.

                                                                    - *
                                                                    - *

                                                                    You can choose to make the data searchable by other users in the account or you can restrict - * search access. Searchable data means that all users with access to the OpsItem Overview page (as - * provided by the DescribeOpsItems API action) can view and search on the - * specified data. Operational data that is not searchable is only viewable by users who have access - * to the OpsItem (as provided by the GetOpsItem API action).

                                                                    - * - *

                                                                    Use the /aws/resources key in OperationalData to specify a related resource in - * the request. Use the /aws/automations key in OperationalData to associate an - * Automation runbook with the OpsItem. To view AWS CLI example commands that use these keys, see - * Creating OpsItems manually in the AWS Systems Manager User Guide.

                                                                    + *

                                                                    The date and time the OpsItem was last updated.

                                                                    */ - OperationalData?: { [key: string]: OpsItemDataValue }; + LastModifiedTime?: Date; /** - *

                                                                    The OpsItem description.

                                                                    + *

                                                                    The ID of the OpsItem.

                                                                    */ - Description?: string; + OpsItemId?: string; /** - *

                                                                    The ID of the OpsItem.

                                                                    + *

                                                                    The OpsItem description.

                                                                    */ - OpsItemId?: string; + Description?: string; /** *

                                                                    An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, * Security.

                                                                    */ Category?: string; + + /** + *

                                                                    The ARN of the AWS account that created the OpsItem.

                                                                    + */ + CreatedBy?: string; } export namespace OpsItem { @@ -2235,6 +2235,11 @@ export enum OpsFilterOperatorType { *

                                                                    A filter for viewing OpsItem summaries.

                                                                    */ export interface OpsFilter { + /** + *

                                                                    The filter value.

                                                                    + */ + Values: string[] | undefined; + /** *

                                                                    The type of filter.

                                                                    */ @@ -2244,11 +2249,6 @@ export interface OpsFilter { *

                                                                    The name of the filter.

                                                                    */ Key: string | undefined; - - /** - *

                                                                    The filter value.

                                                                    - */ - Values: string[] | undefined; } export namespace OpsFilter { @@ -2337,15 +2337,15 @@ export namespace GetOpsSummaryResult { export interface GetParameterRequest { /** - *

                                                                    Return decrypted values for secure string parameters. This flag is ignored for String and - * StringList parameter types.

                                                                    + *

                                                                    The name of the parameter you want to query.

                                                                    */ - WithDecryption?: boolean; + Name: string | undefined; /** - *

                                                                    The name of the parameter you want to query.

                                                                    + *

                                                                    Return decrypted values for secure string parameters. This flag is ignored for String and + * StringList parameter types.

                                                                    */ - Name: string | undefined; + WithDecryption?: boolean; } export namespace GetParameterRequest { @@ -2359,14 +2359,20 @@ export namespace GetParameterRequest { */ export interface Parameter { /** - *

                                                                    The parameter value.

                                                                    + *

                                                                    The type of parameter. Valid values include the following: String, + * StringList, and SecureString.

                                                                    */ - Value?: string; + Type?: ParameterType | string; /** - *

                                                                    The parameter version.

                                                                    + *

                                                                    The name of the parameter.

                                                                    */ - Version?: number; + Name?: string; + + /** + *

                                                                    The parameter value.

                                                                    + */ + Value?: string; /** *

                                                                    Date the parameter was last changed or updated and the parameter version was created.

                                                                    @@ -2374,15 +2380,14 @@ export interface Parameter { LastModifiedDate?: Date; /** - *

                                                                    The Amazon Resource Name (ARN) of the parameter.

                                                                    + *

                                                                    The parameter version.

                                                                    */ - ARN?: string; + Version?: number; /** - *

                                                                    The type of parameter. Valid values include the following: String, - * StringList, and SecureString.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the parameter.

                                                                    */ - Type?: ParameterType | string; + ARN?: string; /** *

                                                                    Either the version number or the label used to retrieve the parameter value. Specify @@ -2403,11 +2408,6 @@ export interface Parameter { * default is text.

                                                                    */ DataType?: string; - - /** - *

                                                                    The name of the parameter.

                                                                    - */ - Name?: string; } export namespace Parameter { @@ -2462,7 +2462,13 @@ export namespace ParameterVersionNotFound { export interface GetParameterHistoryRequest { /** - *

                                                                    The name of a parameter you want to query.

                                                                    + *

                                                                    Return decrypted values for secure string parameters. This flag is ignored for String and + * StringList parameter types.

                                                                    + */ + WithDecryption?: boolean; + + /** + *

                                                                    The name of the parameter for which you want to review history.

                                                                    */ Name: string | undefined; @@ -2472,12 +2478,6 @@ export interface GetParameterHistoryRequest { */ NextToken?: string; - /** - *

                                                                    Return decrypted values for secure string parameters. This flag is ignored for String and - * StringList parameter types.

                                                                    - */ - WithDecryption?: boolean; - /** *

                                                                    The maximum number of items to return for this call. The call also returns a token that you * can specify in a subsequent call to get the next set of results.

                                                                    @@ -2496,45 +2496,47 @@ export namespace GetParameterHistoryRequest { */ export interface ParameterHistory { /** - *

                                                                    Information about the parameter.

                                                                    + *

                                                                    The ID of the query key used for this parameter.

                                                                    */ - Description?: string; + KeyId?: string; /** - *

                                                                    The parameter tier.

                                                                    + *

                                                                    The name of the parameter.

                                                                    */ - Tier?: ParameterTier | string; + Name?: string; /** - *

                                                                    Date the parameter was last changed or updated.

                                                                    + *

                                                                    The parameter value.

                                                                    */ - LastModifiedDate?: Date; + Value?: string; /** - *

                                                                    The name of the parameter.

                                                                    + *

                                                                    Labels assigned to the parameter version.

                                                                    */ - Name?: string; + Labels?: string[]; /** - *

                                                                    Labels assigned to the parameter version.

                                                                    + *

                                                                    Information about the parameter.

                                                                    */ - Labels?: string[]; + Description?: string; /** - *

                                                                    The ID of the query key used for this parameter.

                                                                    + *

                                                                    Information about the policies assigned to a parameter.

                                                                    + *

                                                                    + * Assigning parameter + * policies in the AWS Systems Manager User Guide.

                                                                    */ - KeyId?: string; + Policies?: ParameterInlinePolicy[]; /** - *

                                                                    The parameter value.

                                                                    + *

                                                                    The parameter tier.

                                                                    */ - Value?: string; + Tier?: ParameterTier | string; /** - *

                                                                    The data type of the parameter, such as text or aws:ec2:image. The - * default is text.

                                                                    + *

                                                                    Date the parameter was last changed or updated.

                                                                    */ - DataType?: string; + LastModifiedDate?: Date; /** *

                                                                    Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

                                                                    @@ -2542,9 +2544,15 @@ export interface ParameterHistory { LastModifiedUser?: string; /** - *

                                                                    The parameter version.

                                                                    + *

                                                                    The type of parameter used.

                                                                    */ - Version?: number; + Type?: ParameterType | string; + + /** + *

                                                                    The data type of the parameter, such as text or aws:ec2:image. The + * default is text.

                                                                    + */ + DataType?: string; /** *

                                                                    Parameter names can include the following letters and symbols.

                                                                    @@ -2553,17 +2561,9 @@ export interface ParameterHistory { AllowedPattern?: string; /** - *

                                                                    Information about the policies assigned to a parameter.

                                                                    - *

                                                                    - * Assigning parameter - * policies in the AWS Systems Manager User Guide.

                                                                    - */ - Policies?: ParameterInlinePolicy[]; - - /** - *

                                                                    The type of parameter used.

                                                                    + *

                                                                    The parameter version.

                                                                    */ - Type?: ParameterType | string; + Version?: number; } export namespace ParameterHistory { @@ -2631,45 +2631,53 @@ export namespace GetParametersResult { export interface GetParametersByPathRequest { /** - *

                                                                    A token to start the list. Use this token to get the next set of results.

                                                                    + *

                                                                    Retrieve all parameters in a hierarchy with their value decrypted.

                                                                    */ - NextToken?: string; + WithDecryption?: boolean; /** - *

                                                                    Retrieve all parameters within a hierarchy.

                                                                    - * - *

                                                                    If a user has access to a path, then the user can access all levels of that path. For - * example, if a user has permission to access path /a, then the user can also access - * /a/b. Even if a user has explicitly been denied access in IAM for parameter - * /a/b, they can still call the GetParametersByPath API action recursively for - * /a and view /a/b.

                                                                    - *
                                                                    + *

                                                                    The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                    */ - Recursive?: boolean; + MaxResults?: number; /** - *

                                                                    The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the - * parameter name. A parameter name hierarchy can have a maximum of 15 levels. Here is an example of - * a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 - *

                                                                    + *

                                                                    Filters to limit the request results.

                                                                    + * + *

                                                                    For GetParametersByPath, the following filter Key names are + * supported: Type, KeyId, Label, and + * DataType.

                                                                    + *

                                                                    The following Key values are not supported for + * GetParametersByPath: tag, Name, Path, and + * Tier.

                                                                    + *
                                                                    */ - Path: string | undefined; + ParameterFilters?: ParameterStringFilter[]; /** - *

                                                                    Filters to limit the request results.

                                                                    + *

                                                                    A token to start the list. Use this token to get the next set of results.

                                                                    */ - ParameterFilters?: ParameterStringFilter[]; + NextToken?: string; /** - *

                                                                    The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                    + *

                                                                    The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the + * parameter name. A parameter name hierarchy can have a maximum of 15 levels. Here is an example of + * a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 + *

                                                                    */ - MaxResults?: number; + Path: string | undefined; /** - *

                                                                    Retrieve all parameters in a hierarchy with their value decrypted.

                                                                    + *

                                                                    Retrieve all parameters within a hierarchy.

                                                                    + * + *

                                                                    If a user has access to a path, then the user can access all levels of that path. For + * example, if a user has permission to access path /a, then the user can also access + * /a/b. Even if a user has explicitly been denied access in IAM for parameter + * /a/b, they can still call the GetParametersByPath API action recursively for + * /a and view /a/b.

                                                                    + *
                                                                    */ - WithDecryption?: boolean; + Recursive?: boolean; } export namespace GetParametersByPathRequest { @@ -2680,15 +2688,15 @@ export namespace GetParametersByPathRequest { export interface GetParametersByPathResult { /** - *

                                                                    The token for the next set of items to return. Use this token to get the next set of - * results.

                                                                    + *

                                                                    A list of parameters found in the specified hierarchy.

                                                                    */ - NextToken?: string; + Parameters?: Parameter[]; /** - *

                                                                    A list of parameters found in the specified hierarchy.

                                                                    + *

                                                                    The token for the next set of items to return. Use this token to get the next set of + * results.

                                                                    */ - Parameters?: Parameter[]; + NextToken?: string; } export namespace GetParametersByPathResult { @@ -2712,68 +2720,69 @@ export namespace GetPatchBaselineRequest { export interface GetPatchBaselineResult { /** - *

                                                                    A set of global filters used to exclude patches from the baseline.

                                                                    + *

                                                                    A list of explicitly rejected patches for the baseline.

                                                                    */ - GlobalFilters?: PatchFilterGroup; + RejectedPatches?: string[]; /** - *

                                                                    Returns the specified compliance severity level for approved patches in the patch - * baseline.

                                                                    + *

                                                                    Information about the patches to use to update the instances, including target operating + * systems and source repositories. Applies to Linux instances only.

                                                                    */ - ApprovedPatchesComplianceLevel?: PatchComplianceLevel | string; + Sources?: PatchSource[]; /** - *

                                                                    The date the patch baseline was last modified.

                                                                    + *

                                                                    A description of the patch baseline.

                                                                    */ - ModifiedDate?: Date; + Description?: string; /** - *

                                                                    Patch groups included in the patch baseline.

                                                                    + *

                                                                    Returns the specified compliance severity level for approved patches in the patch + * baseline.

                                                                    */ - PatchGroups?: string[]; + ApprovedPatchesComplianceLevel?: PatchComplianceLevel | string; /** - *

                                                                    A list of explicitly approved patches for the baseline.

                                                                    + *

                                                                    A set of rules used to include patches in the baseline.

                                                                    */ - ApprovedPatches?: string[]; + ApprovalRules?: PatchRuleGroup; /** - *

                                                                    The action specified to take on patches included in the RejectedPatches list. A patch can be - * allowed only if it is a dependency of another package, or blocked entirely along with packages - * that include it as a dependency.

                                                                    + *

                                                                    The date the patch baseline was last modified.

                                                                    */ - RejectedPatchesAction?: PatchAction | string; + ModifiedDate?: Date; /** - *

                                                                    A set of rules used to include patches in the baseline.

                                                                    + *

                                                                    A list of explicitly approved patches for the baseline.

                                                                    */ - ApprovalRules?: PatchRuleGroup; + ApprovedPatches?: string[]; /** - *

                                                                    Information about the patches to use to update the instances, including target operating - * systems and source repositories. Applies to Linux instances only.

                                                                    + *

                                                                    The name of the patch baseline.

                                                                    */ - Sources?: PatchSource[]; + Name?: string; /** - *

                                                                    A list of explicitly rejected patches for the baseline.

                                                                    + *

                                                                    A set of global filters used to exclude patches from the baseline.

                                                                    */ - RejectedPatches?: string[]; + GlobalFilters?: PatchFilterGroup; /** - *

                                                                    The name of the patch baseline.

                                                                    + *

                                                                    The action specified to take on patches included in the RejectedPatches list. A patch can be + * allowed only if it is a dependency of another package, or blocked entirely along with packages + * that include it as a dependency.

                                                                    */ - Name?: string; + RejectedPatchesAction?: PatchAction | string; /** - *

                                                                    Returns the operating system specified for the patch baseline.

                                                                    + *

                                                                    Patch groups included in the patch baseline.

                                                                    */ - OperatingSystem?: OperatingSystem | string; + PatchGroups?: string[]; /** - *

                                                                    The ID of the retrieved patch baseline.

                                                                    + *

                                                                    Indicates whether the list of approved patches includes non-security updates that should be + * applied to the instances. The default value is 'false'. Applies to Linux instances only.

                                                                    */ - BaselineId?: string; + ApprovedPatchesEnableNonSecurity?: boolean; /** *

                                                                    The date the patch baseline was created.

                                                                    @@ -2781,15 +2790,14 @@ export interface GetPatchBaselineResult { CreatedDate?: Date; /** - *

                                                                    A description of the patch baseline.

                                                                    + *

                                                                    The ID of the retrieved patch baseline.

                                                                    */ - Description?: string; + BaselineId?: string; /** - *

                                                                    Indicates whether the list of approved patches includes non-security updates that should be - * applied to the instances. The default value is 'false'. Applies to Linux instances only.

                                                                    + *

                                                                    Returns the operating system specified for the patch baseline.

                                                                    */ - ApprovedPatchesEnableNonSecurity?: boolean; + OperatingSystem?: OperatingSystem | string; } export namespace GetPatchBaselineResult { @@ -2801,14 +2809,14 @@ export namespace GetPatchBaselineResult { export interface GetPatchBaselineForPatchGroupRequest { /** - *

                                                                    The name of the patch group whose patch baseline should be retrieved.

                                                                    + *

                                                                    Returns he operating system rule specified for patch groups using the patch baseline.

                                                                    */ - PatchGroup: string | undefined; + OperatingSystem?: OperatingSystem | string; /** - *

                                                                    Returns he operating system rule specified for patch groups using the patch baseline.

                                                                    + *

                                                                    The name of the patch group whose patch baseline should be retrieved.

                                                                    */ - OperatingSystem?: OperatingSystem | string; + PatchGroup: string | undefined; } export namespace GetPatchBaselineForPatchGroupRequest { @@ -2876,22 +2884,6 @@ export namespace GetServiceSettingRequest { * to the original value defined by the AWS service team.

                                                                    */ export interface ServiceSetting { - /** - *

                                                                    The ID of the service setting.

                                                                    - */ - SettingId?: string; - - /** - *

                                                                    The ARN of the last modified user. This field is populated only if the setting value was - * overwritten.

                                                                    - */ - LastModifiedUser?: string; - - /** - *

                                                                    The value of the service setting.

                                                                    - */ - SettingValue?: string; - /** *

                                                                    The status of the service setting. The value can be Default, Customized or * PendingUpdate.

                                                                    @@ -2911,15 +2903,31 @@ export interface ServiceSetting { */ Status?: string; + /** + *

                                                                    The last time the service setting was modified.

                                                                    + */ + LastModifiedDate?: Date; + /** *

                                                                    The ARN of the service setting.

                                                                    */ ARN?: string; /** - *

                                                                    The last time the service setting was modified.

                                                                    + *

                                                                    The value of the service setting.

                                                                    */ - LastModifiedDate?: Date; + SettingValue?: string; + + /** + *

                                                                    The ARN of the last modified user. This field is populated only if the setting value was + * overwritten.

                                                                    + */ + LastModifiedUser?: string; + + /** + *

                                                                    The ID of the service setting.

                                                                    + */ + SettingId?: string; } export namespace ServiceSetting { @@ -2985,17 +2993,17 @@ export namespace LabelParameterVersionRequest { } export interface LabelParameterVersionResult { - /** - *

                                                                    The version of the parameter that has been labeled.

                                                                    - */ - ParameterVersion?: number; - /** *

                                                                    The label does not meet the requirements. For information about parameter label * requirements, see Labeling parameters * in the AWS Systems Manager User Guide.

                                                                    */ InvalidLabels?: string[]; + + /** + *

                                                                    The version of the parameter that has been labeled.

                                                                    + */ + ParameterVersion?: number; } export namespace LabelParameterVersionResult { @@ -3052,17 +3060,17 @@ export namespace AssociationFilter { } export interface ListAssociationsRequest { - /** - *

                                                                    One or more filters. Use a filter to return a more specific list of results.

                                                                    - */ - AssociationFilterList?: AssociationFilter[]; - /** *

                                                                    The token for the next set of items to return. (You received this token from a previous * call.)

                                                                    */ NextToken?: string; + /** + *

                                                                    One or more filters. Use a filter to return a more specific list of results.

                                                                    + */ + AssociationFilterList?: AssociationFilter[]; + /** *

                                                                    The maximum number of items to return for this call. The call also returns a token that you * can specify in a subsequent call to get the next set of results.

                                                                    @@ -3080,15 +3088,20 @@ export namespace ListAssociationsRequest { *

                                                                    Describes an association of a Systems Manager document and an instance.

                                                                    */ export interface Association { + /** + *

                                                                    Information about the association.

                                                                    + */ + Overview?: AssociationOverview; + /** *

                                                                    The instances targeted by the request to create an association.

                                                                    */ Targets?: Target[]; /** - *

                                                                    The ID of the instance.

                                                                    + *

                                                                    The version of the document used in the association.

                                                                    */ - InstanceId?: string; + DocumentVersion?: string; /** *

                                                                    The association version.

                                                                    @@ -3096,20 +3109,9 @@ export interface Association { AssociationVersion?: string; /** - *

                                                                    The ID created by the system when you create an association. An association is a binding - * between a document and a set of targets with a schedule.

                                                                    - */ - AssociationId?: string; - - /** - *

                                                                    The name of the Systems Manager document.

                                                                    - */ - Name?: string; - - /** - *

                                                                    The version of the document used in the association.

                                                                    + *

                                                                    The ID of the instance.

                                                                    */ - DocumentVersion?: string; + InstanceId?: string; /** *

                                                                    A cron expression that specifies a schedule when the association runs.

                                                                    @@ -3127,9 +3129,15 @@ export interface Association { LastExecutionDate?: Date; /** - *

                                                                    Information about the association.

                                                                    + *

                                                                    The name of the Systems Manager document.

                                                                    */ - Overview?: AssociationOverview; + Name?: string; + + /** + *

                                                                    The ID created by the system when you create an association. An association is a binding + * between a document and a set of targets with a schedule.

                                                                    + */ + AssociationId?: string; } export namespace Association { @@ -3159,9 +3167,10 @@ export namespace ListAssociationsResult { export interface ListAssociationVersionsRequest { /** - *

                                                                    The association ID for which you want to view all versions.

                                                                    + *

                                                                    The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                    */ - AssociationId: string | undefined; + MaxResults?: number; /** *

                                                                    A token to start the list. Use this token to get the next set of results.

                                                                    @@ -3169,10 +3178,9 @@ export interface ListAssociationVersionsRequest { NextToken?: string; /** - *

                                                                    The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                    + *

                                                                    The association ID for which you want to view all versions.

                                                                    */ - MaxResults?: number; + AssociationId: string | undefined; } export namespace ListAssociationVersionsRequest { @@ -3186,24 +3194,52 @@ export namespace ListAssociationVersionsRequest { */ export interface AssociationVersionInfo { /** - *

                                                                    The name specified when the association was created.

                                                                    + *

                                                                    The location in Amazon S3 specified for the association when the association version was + * created.

                                                                    */ - Name?: string; + OutputLocation?: InstanceAssociationOutputLocation; /** - *

                                                                    The association version.

                                                                    + *

                                                                    The ID created by the system when the association was created.

                                                                    */ - AssociationVersion?: string; + AssociationId?: string; /** - *

                                                                    The date the association version was created.

                                                                    + *

                                                                    The version of a Systems Manager document used when the association version was created.

                                                                    */ - CreatedDate?: Date; + DocumentVersion?: string; /** - *

                                                                    The severity level that is assigned to the association.

                                                                    + *

                                                                    The mode for generating association compliance. You can specify AUTO or + * MANUAL. In AUTO mode, the system uses the status of the association + * execution to determine the compliance status. If the association execution runs successfully, + * then the association is COMPLIANT. If the association execution doesn't run + * successfully, the association is NON-COMPLIANT.

                                                                    + *

                                                                    In MANUAL mode, you must specify the AssociationId as a parameter + * for the PutComplianceItems API action. In this case, compliance data is not + * managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

                                                                    + *

                                                                    By default, all associations use AUTO mode.

                                                                    */ - ComplianceSeverity?: AssociationComplianceSeverity | string; + SyncCompliance?: AssociationSyncCompliance | string; + + /** + *

                                                                    By default, when you create a new associations, the system runs it immediately after it is + * created and then according to the schedule you specified. Specify this option if you don't want + * an association to run immediately after you create it.

                                                                    + */ + ApplyOnlyAtCronInterval?: boolean; + + /** + *

                                                                    The cron or rate schedule specified for the association when the association version was + * created.

                                                                    + */ + ScheduleExpression?: string; + + /** + *

                                                                    The name specified for the association version when the association version was + * created.

                                                                    + */ + AssociationName?: string; /** *

                                                                    The number of errors that are allowed before the system stops sending requests to run the @@ -3221,28 +3257,19 @@ export interface AssociationVersionInfo { MaxErrors?: string; /** - *

                                                                    The cron or rate schedule specified for the association when the association version was - * created.

                                                                    - */ - ScheduleExpression?: string; - - /** - *

                                                                    The name specified for the association version when the association version was - * created.

                                                                    + *

                                                                    The name specified when the association was created.

                                                                    */ - AssociationName?: string; + Name?: string; /** - *

                                                                    Parameters specified when the association version was created.

                                                                    + *

                                                                    The association version.

                                                                    */ - Parameters?: { [key: string]: string[] }; + AssociationVersion?: string; /** - *

                                                                    By default, when you create a new associations, the system runs it immediately after it is - * created and then according to the schedule you specified. Specify this option if you don't want - * an association to run immediately after you create it.

                                                                    + *

                                                                    The date the association version was created.

                                                                    */ - ApplyOnlyAtCronInterval?: boolean; + CreatedDate?: Date; /** *

                                                                    The maximum number of targets allowed to run the association at the same time. You can @@ -3256,38 +3283,19 @@ export interface AssociationVersionInfo { MaxConcurrency?: string; /** - *

                                                                    The version of a Systems Manager document used when the association version was created.

                                                                    + *

                                                                    Parameters specified when the association version was created.

                                                                    */ - DocumentVersion?: string; + Parameters?: { [key: string]: string[] }; /** - *

                                                                    The location in Amazon S3 specified for the association when the association version was - * created.

                                                                    + *

                                                                    The severity level that is assigned to the association.

                                                                    */ - OutputLocation?: InstanceAssociationOutputLocation; + ComplianceSeverity?: AssociationComplianceSeverity | string; /** *

                                                                    The targets specified for the association when the association version was created.

                                                                    */ Targets?: Target[]; - - /** - *

                                                                    The mode for generating association compliance. You can specify AUTO or - * MANUAL. In AUTO mode, the system uses the status of the association - * execution to determine the compliance status. If the association execution runs successfully, - * then the association is COMPLIANT. If the association execution doesn't run - * successfully, the association is NON-COMPLIANT.

                                                                    - *

                                                                    In MANUAL mode, you must specify the AssociationId as a parameter - * for the PutComplianceItems API action. In this case, compliance data is not - * managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

                                                                    - *

                                                                    By default, all associations use AUTO mode.

                                                                    - */ - SyncCompliance?: AssociationSyncCompliance | string; - - /** - *

                                                                    The ID created by the system when the association was created.

                                                                    - */ - AssociationId?: string; } export namespace AssociationVersionInfo { @@ -3297,16 +3305,16 @@ export namespace AssociationVersionInfo { } export interface ListAssociationVersionsResult { - /** - *

                                                                    Information about all versions of the association for the specified association ID.

                                                                    - */ - AssociationVersions?: AssociationVersionInfo[]; - /** *

                                                                    The token for the next set of items to return. Use this token to get the next set of * results.

                                                                    */ NextToken?: string; + + /** + *

                                                                    Information about all versions of the association for the specified association ID.

                                                                    + */ + AssociationVersions?: AssociationVersionInfo[]; } export namespace ListAssociationVersionsResult { @@ -3435,16 +3443,21 @@ export interface ListCommandInvocationsRequest { */ Details?: boolean; + /** + *

                                                                    (Optional) One or more filters. Use a filter to return a more specific list of + * results.

                                                                    + */ + Filters?: CommandFilter[]; + /** *

                                                                    (Optional) The invocations for a specific command ID.

                                                                    */ CommandId?: string; /** - *

                                                                    (Optional) The maximum number of items to return for this call. The call also returns a - * token that you can specify in a subsequent call to get the next set of results.

                                                                    + *

                                                                    (Optional) The command execution details for a specific instance ID.

                                                                    */ - MaxResults?: number; + InstanceId?: string; /** *

                                                                    (Optional) The token for the next set of items to return. (You received this token from a @@ -3453,15 +3466,10 @@ export interface ListCommandInvocationsRequest { NextToken?: string; /** - *

                                                                    (Optional) One or more filters. Use a filter to return a more specific list of - * results.

                                                                    - */ - Filters?: CommandFilter[]; - - /** - *

                                                                    (Optional) The command execution details for a specific instance ID.

                                                                    + *

                                                                    (Optional) The maximum number of items to return for this call. The call also returns a + * token that you can specify in a subsequent call to get the next set of results.

                                                                    */ - InstanceId?: string; + MaxResults?: number; } export namespace ListCommandInvocationsRequest { @@ -3483,6 +3491,34 @@ export enum CommandPluginStatus { *

                                                                    Describes plugin details.

                                                                    */ export interface CommandPlugin { + /** + *

                                                                    The URL for the complete text written by the plugin to stderr. If execution is not yet + * complete, then this string is empty.

                                                                    + */ + StandardErrorUrl?: string; + + /** + *

                                                                    The S3 bucket where the responses to the command executions should be stored. This was + * requested when issuing the command. For example, in the following response:

                                                                    + *

                                                                    doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript

                                                                    + *

                                                                    doc-example-bucket is the name of the S3 bucket;

                                                                    + *

                                                                    ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

                                                                    + *

                                                                    i-02573cafcfEXAMPLE is the instance ID;

                                                                    + *

                                                                    awsrunShellScript is the name of the plugin.

                                                                    + */ + OutputS3BucketName?: string; + + /** + *

                                                                    Output of the plugin execution.

                                                                    + */ + Output?: string; + + /** + *

                                                                    The time the plugin stopped running. Could stop prematurely if, for example, a cancel + * command was sent.

                                                                    + */ + ResponseFinishDateTime?: Date; + /** *

                                                                    A detailed status of the plugin execution. StatusDetails includes more information than * Status because it includes states resulting from error and concurrency control parameters. @@ -3536,52 +3572,24 @@ export interface CommandPlugin { */ StatusDetails?: string; - /** - *

                                                                    The status of this plugin. You can run a document with multiple plugins.

                                                                    - */ - Status?: CommandPluginStatus | string; - - /** - *

                                                                    The time the plugin stopped running. Could stop prematurely if, for example, a cancel - * command was sent.

                                                                    - */ - ResponseFinishDateTime?: Date; - - /** - *

                                                                    Output of the plugin execution.

                                                                    - */ - Output?: string; - - /** - *

                                                                    The time the plugin started running.

                                                                    - */ - ResponseStartDateTime?: Date; - /** *

                                                                    A numeric response code generated after running the plugin.

                                                                    */ ResponseCode?: number; /** - *

                                                                    (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager - * automatically determines the S3 bucket region.

                                                                    - */ - OutputS3Region?: string; - - /** - *

                                                                    The URL for the complete text written by the plugin to stdout in Amazon S3. If the S3 bucket for - * the command was not specified, then this string is empty.

                                                                    + *

                                                                    The time the plugin started running.

                                                                    */ - StandardOutputUrl?: string; + ResponseStartDateTime?: Date; /** *

                                                                    The S3 directory path inside the bucket where the responses to the command executions should * be stored. This was requested when issuing the command. For example, in the following * response:

                                                                    - *

                                                                    test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript

                                                                    - *

                                                                    test_folder is the name of the S3 bucket;

                                                                    + *

                                                                    doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript

                                                                    + *

                                                                    doc-example-bucket is the name of the S3 bucket;

                                                                    *

                                                                    ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

                                                                    - *

                                                                    i-1234567876543 is the instance ID;

                                                                    + *

                                                                    i-02573cafcfEXAMPLE is the instance ID;

                                                                    *

                                                                    awsrunShellScript is the name of the plugin.

                                                                    */ OutputS3KeyPrefix?: string; @@ -3594,21 +3602,21 @@ export interface CommandPlugin { Name?: string; /** - *

                                                                    The S3 bucket where the responses to the command executions should be stored. This was - * requested when issuing the command. For example, in the following response:

                                                                    - *

                                                                    test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript

                                                                    - *

                                                                    test_folder is the name of the S3 bucket;

                                                                    - *

                                                                    ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

                                                                    - *

                                                                    i-1234567876543 is the instance ID;

                                                                    - *

                                                                    awsrunShellScript is the name of the plugin.

                                                                    + *

                                                                    (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager + * automatically determines the S3 bucket region.

                                                                    */ - OutputS3BucketName?: string; + OutputS3Region?: string; /** - *

                                                                    The URL for the complete text written by the plugin to stderr. If execution is not yet - * complete, then this string is empty.

                                                                    + *

                                                                    The status of this plugin. You can run a document with multiple plugins.

                                                                    */ - StandardErrorUrl?: string; + Status?: CommandPluginStatus | string; + + /** + *

                                                                    The URL for the complete text written by the plugin to stdout in Amazon S3. If the S3 bucket for + * the command was not specified, then this string is empty.

                                                                    + */ + StandardOutputUrl?: string; } export namespace CommandPlugin { @@ -3626,32 +3634,14 @@ export namespace CommandPlugin { */ export interface CommandInvocation { /** - *

                                                                    The command against which this invocation was requested.

                                                                    - */ - CommandId?: string; - - /** - *

                                                                    The name of the invocation target. For EC2 instances this is the value for the aws:Name tag. - * For on-premises instances, this is the name of the instance.

                                                                    - */ - InstanceName?: string; - - /** - *

                                                                    The URL to the plugin's StdErr file in Amazon S3, if the S3 bucket was defined for the parent - * command. For an invocation, StandardErrorUrl is populated if there is just one plugin defined for - * the command, and the S3 bucket was defined for the command.

                                                                    - */ - StandardErrorUrl?: string; - - /** - *

                                                                    The document name that was requested for execution.

                                                                    + *

                                                                    The instance ID in which this invocation was requested.

                                                                    */ - DocumentName?: string; + InstanceId?: string; /** - *

                                                                    The time and date the request was sent to this instance.

                                                                    + *

                                                                    The SSM document version.

                                                                    */ - RequestedDateTime?: Date; + DocumentVersion?: string; /** *

                                                                    The IAM service role that Run Command uses to act on your behalf when sending notifications @@ -3659,21 +3649,10 @@ export interface CommandInvocation { */ ServiceRole?: string; - CommandPlugins?: CommandPlugin[]; - /** - *

                                                                    Whether or not the invocation succeeded, failed, or is pending.

                                                                    - */ - Status?: CommandInvocationStatus | string; - - /** - *

                                                                    CloudWatch Logs information where you want Systems Manager to send the command output.

                                                                    - */ - CloudWatchOutputConfig?: CloudWatchOutputConfig; - /** - *

                                                                    The instance ID in which this invocation was requested.

                                                                    + *

                                                                    Gets the trace output sent by the agent.

                                                                    */ - InstanceId?: string; + TraceOutput?: string; /** *

                                                                    Configurations for sending notifications about command status changes on a per instance @@ -3682,27 +3661,25 @@ export interface CommandInvocation { NotificationConfig?: NotificationConfig; /** - *

                                                                    Gets the trace output sent by the agent.

                                                                    + *

                                                                    Whether or not the invocation succeeded, failed, or is pending.

                                                                    */ - TraceOutput?: string; + Status?: CommandInvocationStatus | string; /** - *

                                                                    The SSM document version.

                                                                    + *

                                                                    The name of the invocation target. For EC2 instances this is the value for the aws:Name tag. + * For on-premises instances, this is the name of the instance.

                                                                    */ - DocumentVersion?: string; + InstanceName?: string; /** - *

                                                                    User-specified information about the command, such as a brief description of what the - * command should do.

                                                                    + *

                                                                    CloudWatch Logs information where you want Systems Manager to send the command output.

                                                                    */ - Comment?: string; + CloudWatchOutputConfig?: CloudWatchOutputConfig; /** - *

                                                                    The URL to the plugin's StdOut file in Amazon S3, if the S3 bucket was defined for the parent - * command. For an invocation, StandardOutputUrl is populated if there is just one plugin defined - * for the command, and the S3 bucket was defined for the command.

                                                                    + *

                                                                    The command against which this invocation was requested.

                                                                    */ - StandardOutputUrl?: string; + CommandId?: string; /** *

                                                                    A detailed status of the command execution for each invocation (each instance targeted by @@ -3757,13 +3734,44 @@ export interface CommandInvocation { *

                                                                  */ StatusDetails?: string; -} - -export namespace CommandInvocation { - export const filterSensitiveLog = (obj: CommandInvocation): any => ({ - ...obj, - }); -} + + /** + *

                                                                  The URL to the plugin's StdErr file in Amazon S3, if the S3 bucket was defined for the parent + * command. For an invocation, StandardErrorUrl is populated if there is just one plugin defined for + * the command, and the S3 bucket was defined for the command.

                                                                  + */ + StandardErrorUrl?: string; + + /** + *

                                                                  The document name that was requested for execution.

                                                                  + */ + DocumentName?: string; + + CommandPlugins?: CommandPlugin[]; + /** + *

                                                                  The URL to the plugin's StdOut file in Amazon S3, if the S3 bucket was defined for the parent + * command. For an invocation, StandardOutputUrl is populated if there is just one plugin defined + * for the command, and the S3 bucket was defined for the command.

                                                                  + */ + StandardOutputUrl?: string; + + /** + *

                                                                  User-specified information about the command, such as a brief description of what the + * command should do.

                                                                  + */ + Comment?: string; + + /** + *

                                                                  The time and date the request was sent to this instance.

                                                                  + */ + RequestedDateTime?: Date; +} + +export namespace CommandInvocation { + export const filterSensitiveLog = (obj: CommandInvocation): any => ({ + ...obj, + }); +} export interface ListCommandInvocationsResult { /** @@ -3785,6 +3793,11 @@ export namespace ListCommandInvocationsResult { } export interface ListCommandsRequest { + /** + *

                                                                  (Optional) If provided, lists only the specified command.

                                                                  + */ + CommandId?: string; + /** *

                                                                  (Optional) The maximum number of items to return for this call. The call also returns a * token that you can specify in a subsequent call to get the next set of results.

                                                                  @@ -3801,21 +3814,16 @@ export interface ListCommandsRequest { InstanceId?: string; /** - *

                                                                  (Optional) If provided, lists only the specified command.

                                                                  + *

                                                                  (Optional) One or more filters. Use a filter to return a more specific list of results. + *

                                                                  */ - CommandId?: string; + Filters?: CommandFilter[]; /** *

                                                                  (Optional) The token for the next set of items to return. (You received this token from a * previous call.)

                                                                  */ NextToken?: string; - - /** - *

                                                                  (Optional) One or more filters. Use a filter to return a more specific list of results. - *

                                                                  - */ - Filters?: CommandFilter[]; } export namespace ListCommandsRequest { @@ -3839,95 +3847,100 @@ export enum CommandStatus { */ export interface Command { /** - *

                                                                  A unique identifier for this command.

                                                                  + *

                                                                  An array of search criteria that targets instances using a Key,Value combination that you + * specify. Targets is required if you don't provide one or more instance IDs in the call.

                                                                  */ - CommandId?: string; + Targets?: Target[]; /** - *

                                                                  The S3 directory path inside the bucket where the responses to the command executions should - * be stored. This was requested when issuing the command.

                                                                  + *

                                                                  (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager + * automatically determines the Region of the S3 bucket.

                                                                  */ - OutputS3KeyPrefix?: string; + OutputS3Region?: string; /** - *

                                                                  The TimeoutSeconds value specified for a command.

                                                                  + *

                                                                  The number of targets for which the command invocation reached a terminal state. Terminal + * states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Canceled, + * Terminated, or Undeliverable.

                                                                  */ - TimeoutSeconds?: number; + CompletedCount?: number; /** - *

                                                                  The name of the document requested for execution.

                                                                  + *

                                                                  The IAM service role that Run Command uses to act on your behalf when sending notifications + * about command status changes.

                                                                  */ - DocumentName?: string; + ServiceRole?: string; /** - *

                                                                  The S3 bucket where the responses to the command executions should be stored. This was - * requested when issuing the command.

                                                                  + *

                                                                  The number of targets for which the status is Failed or Execution Timed Out.

                                                                  */ - OutputS3BucketName?: string; + ErrorCount?: number; /** - *

                                                                  CloudWatch Logs information where you want Systems Manager to send the command output.

                                                                  + *

                                                                  The SSM document version.

                                                                  */ - CloudWatchOutputConfig?: CloudWatchOutputConfig; + DocumentVersion?: string; /** - *

                                                                  The IAM service role that Run Command uses to act on your behalf when sending notifications - * about command status changes.

                                                                  + *

                                                                  Configurations for sending notifications about command status changes.

                                                                  */ - ServiceRole?: string; + NotificationConfig?: NotificationConfig; /** - *

                                                                  If this time is reached and the command has not already started running, it will not run. - * Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.

                                                                  + *

                                                                  The status of the command.

                                                                  */ - ExpiresAfter?: Date; + Status?: CommandStatus | string; /** - *

                                                                  The date and time the command was requested.

                                                                  + *

                                                                  The TimeoutSeconds value specified for a command.

                                                                  */ - RequestedDateTime?: Date; + TimeoutSeconds?: number; /** - *

                                                                  The instance IDs against which this command was requested.

                                                                  + *

                                                                  CloudWatch Logs information where you want Systems Manager to send the command output.

                                                                  */ - InstanceIds?: string[]; + CloudWatchOutputConfig?: CloudWatchOutputConfig; /** - *

                                                                  The SSM document version.

                                                                  + *

                                                                  If this time is reached and the command has not already started running, it will not run. + * Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.

                                                                  */ - DocumentVersion?: string; + ExpiresAfter?: Date; /** - *

                                                                  The status of the command.

                                                                  + *

                                                                  A unique identifier for this command.

                                                                  */ - Status?: CommandStatus | string; + CommandId?: string; /** - *

                                                                  An array of search criteria that targets instances using a Key,Value combination that you - * specify. Targets is required if you don't provide one or more instance IDs in the call.

                                                                  + *

                                                                  The maximum number of instances that are allowed to run the command at the same time. You + * can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The + * default value is 50. For more information about how to use MaxConcurrency, see Running commands + * using Systems Manager Run Command in the AWS Systems Manager User Guide.

                                                                  */ - Targets?: Target[]; + MaxConcurrency?: string; /** - *

                                                                  Configurations for sending notifications about command status changes.

                                                                  + *

                                                                  The name of the document requested for execution.

                                                                  */ - NotificationConfig?: NotificationConfig; + DocumentName?: string; /** - *

                                                                  The number of targets for which the status is Failed or Execution Timed Out.

                                                                  + *

                                                                  The S3 bucket where the responses to the command executions should be stored. This was + * requested when issuing the command.

                                                                  */ - ErrorCount?: number; + OutputS3BucketName?: string; /** - *

                                                                  User-specified information about the command, such as a brief description of what the - * command should do.

                                                                  + *

                                                                  The instance IDs against which this command was requested.

                                                                  */ - Comment?: string; + InstanceIds?: string[]; /** - *

                                                                  The number of targets for which the status is Delivery Timed Out.

                                                                  + *

                                                                  The S3 directory path inside the bucket where the responses to the command executions should + * be stored. This was requested when issuing the command.

                                                                  */ - DeliveryTimedOutCount?: number; + OutputS3KeyPrefix?: string; /** *

                                                                  The maximum number of errors allowed before the system stops sending the command to @@ -3937,22 +3950,31 @@ export interface Command { */ MaxErrors?: string; + /** + *

                                                                  The number of targets for the command.

                                                                  + */ + TargetCount?: number; + /** *

                                                                  The parameter values to be inserted in the document when running the command.

                                                                  */ Parameters?: { [key: string]: string[] }; /** - *

                                                                  The number of targets for the command.

                                                                  + *

                                                                  The date and time the command was requested.

                                                                  */ - TargetCount?: number; + RequestedDateTime?: Date; /** - *

                                                                  The number of targets for which the command invocation reached a terminal state. Terminal - * states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Canceled, - * Terminated, or Undeliverable.

                                                                  + *

                                                                  The number of targets for which the status is Delivery Timed Out.

                                                                  */ - CompletedCount?: number; + DeliveryTimedOutCount?: number; + + /** + *

                                                                  User-specified information about the command, such as a brief description of what the + * command should do.

                                                                  + */ + Comment?: string; /** *

                                                                  A detailed status of the command execution. StatusDetails includes more information than @@ -4000,20 +4022,6 @@ export interface Command { *

                                                                */ StatusDetails?: string; - - /** - *

                                                                (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager - * automatically determines the Region of the S3 bucket.

                                                                - */ - OutputS3Region?: string; - - /** - *

                                                                The maximum number of instances that are allowed to run the command at the same time. You - * can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The - * default value is 50. For more information about how to use MaxConcurrency, see Running commands - * using Systems Manager Run Command in the AWS Systems Manager User Guide.

                                                                - */ - MaxConcurrency?: string; } export namespace Command { @@ -4060,14 +4068,14 @@ export interface ComplianceStringFilter { Type?: ComplianceQueryOperatorType | string; /** - *

                                                                The name of the filter.

                                                                + *

                                                                The value for which to search.

                                                                */ - Key?: string; + Values?: string[]; /** - *

                                                                The value for which to search.

                                                                + *

                                                                The name of the filter.

                                                                */ - Values?: string[]; + Key?: string; } export namespace ComplianceStringFilter { @@ -4077,12 +4085,6 @@ export namespace ComplianceStringFilter { } export interface ListComplianceItemsRequest { - /** - *

                                                                The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                - */ - MaxResults?: number; - /** *

                                                                The ID for the resources from which to get compliance information. Currently, you can only * specify one resource ID.

                                                                @@ -4094,6 +4096,12 @@ export interface ListComplianceItemsRequest { */ NextToken?: string; + /** + *

                                                                The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                + */ + MaxResults?: number; + /** *

                                                                The type of resource from which to get compliance information. Currently, the only supported * resource type is ManagedInstance.

                                                                @@ -4119,12 +4127,6 @@ export namespace ListComplianceItemsRequest { * is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

                                                                */ export interface ComplianceExecutionSummary { - /** - *

                                                                An ID created by the system when PutComplianceItems was called. For example, - * CommandID is a valid execution ID. You can use this ID in subsequent calls.

                                                                - */ - ExecutionId?: string; - /** *

                                                                The type of execution. For example, Command is a valid execution type.

                                                                */ @@ -4135,6 +4137,12 @@ export interface ComplianceExecutionSummary { * yyyy-MM-dd'T'HH:mm:ss'Z'.

                                                                */ ExecutionTime: Date | undefined; + + /** + *

                                                                An ID created by the system when PutComplianceItems was called. For example, + * CommandID is a valid execution ID. You can use this ID in subsequent calls.

                                                                + */ + ExecutionId?: string; } export namespace ComplianceExecutionSummary { @@ -4163,17 +4171,6 @@ export enum ComplianceStatus { * and so on.

                                                                */ export interface ComplianceItem { - /** - *

                                                                An ID for the resource. For a managed instance, this is the instance ID.

                                                                - */ - ResourceId?: string; - - /** - *

                                                                A summary for the compliance item. The summary includes an execution ID, the execution type - * (for example, command), and the execution time.

                                                                - */ - ExecutionSummary?: ComplianceExecutionSummary; - /** *

                                                                An ID for the compliance item. For example, if the compliance item is a Windows patch, the * ID could be the number of the KB article; for example: KB4010320.

                                                                @@ -4181,9 +4178,9 @@ export interface ComplianceItem { Id?: string; /** - *

                                                                A "Key": "Value" tag combination for the compliance item.

                                                                + *

                                                                An ID for the resource. For a managed instance, this is the instance ID.

                                                                */ - Details?: { [key: string]: string }; + ResourceId?: string; /** *

                                                                A title for the compliance item. For example, if the compliance item is a Windows patch, the @@ -4193,9 +4190,10 @@ export interface ComplianceItem { Title?: string; /** - *

                                                                The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.

                                                                + *

                                                                The type of resource. ManagedInstance is currently the only supported resource + * type.

                                                                */ - Status?: ComplianceStatus | string; + ResourceType?: string; /** *

                                                                The compliance type. For example, Association (for a State Manager association), Patch, or @@ -4203,6 +4201,12 @@ export interface ComplianceItem { */ ComplianceType?: string; + /** + *

                                                                The status of the compliance item. An item is either COMPLIANT, NON_COMPLIANT, or an empty + * string (for Windows patches that aren't applicable).

                                                                + */ + Status?: ComplianceStatus | string; + /** *

                                                                The severity of the compliance status. Severity can be one of the following: Critical, High, * Medium, Low, Informational, Unspecified.

                                                                @@ -4210,10 +4214,15 @@ export interface ComplianceItem { Severity?: ComplianceSeverity | string; /** - *

                                                                The type of resource. ManagedInstance is currently the only supported resource - * type.

                                                                + *

                                                                A "Key": "Value" tag combination for the compliance item.

                                                                */ - ResourceType?: string; + Details?: { [key: string]: string }; + + /** + *

                                                                A summary for the compliance item. The summary includes an execution ID, the execution type + * (for example, command), and the execution time.

                                                                + */ + ExecutionSummary?: ComplianceExecutionSummary; } export namespace ComplianceItem { @@ -4223,16 +4232,16 @@ export namespace ComplianceItem { } export interface ListComplianceItemsResult { - /** - *

                                                                A list of compliance information for the specified resource ID.

                                                                - */ - ComplianceItems?: ComplianceItem[]; - /** *

                                                                The token for the next set of items to return. Use this token to get the next set of * results.

                                                                */ NextToken?: string; + + /** + *

                                                                A list of compliance information for the specified resource ID.

                                                                + */ + ComplianceItems?: ComplianceItem[]; } export namespace ListComplianceItemsResult { @@ -4249,16 +4258,16 @@ export interface ListComplianceSummariesRequest { */ MaxResults?: number; - /** - *

                                                                A token to start the list. Use this token to get the next set of results.

                                                                - */ - NextToken?: string; - /** *

                                                                One or more compliance or inventory filters. Use a filter to return a more specific list of * results.

                                                                */ Filters?: ComplianceStringFilter[]; + + /** + *

                                                                A token to start the list. Use this token to get the next set of results.

                                                                + */ + NextToken?: string; } export namespace ListComplianceSummariesRequest { @@ -4273,22 +4282,18 @@ export namespace ListComplianceSummariesRequest { */ export interface SeveritySummary { /** - *

                                                                The total number of resources or compliance items that have a severity level of low. Low - * severity is determined by the organization that published the compliance items.

                                                                - */ - LowCount?: number; - - /** - *

                                                                The total number of resources or compliance items that have a severity level of medium. - * Medium severity is determined by the organization that published the compliance items.

                                                                + *

                                                                The total number of resources or compliance items that have a severity level of unspecified. + * Unspecified severity is determined by the organization that published the compliance + * items.

                                                                */ - MediumCount?: number; + UnspecifiedCount?: number; /** - *

                                                                The total number of resources or compliance items that have a severity level of high. High - * severity is determined by the organization that published the compliance items.

                                                                + *

                                                                The total number of resources or compliance items that have a severity level of + * informational. Informational severity is determined by the organization that published the + * compliance items.

                                                                */ - HighCount?: number; + InformationalCount?: number; /** *

                                                                The total number of resources or compliance items that have a severity level of critical. @@ -4297,18 +4302,22 @@ export interface SeveritySummary { CriticalCount?: number; /** - *

                                                                The total number of resources or compliance items that have a severity level of - * informational. Informational severity is determined by the organization that published the - * compliance items.

                                                                + *

                                                                The total number of resources or compliance items that have a severity level of high. High + * severity is determined by the organization that published the compliance items.

                                                                */ - InformationalCount?: number; + HighCount?: number; /** - *

                                                                The total number of resources or compliance items that have a severity level of unspecified. - * Unspecified severity is determined by the organization that published the compliance - * items.

                                                                + *

                                                                The total number of resources or compliance items that have a severity level of medium. + * Medium severity is determined by the organization that published the compliance items.

                                                                */ - UnspecifiedCount?: number; + MediumCount?: number; + + /** + *

                                                                The total number of resources or compliance items that have a severity level of low. Low + * severity is determined by the organization that published the compliance items.

                                                                + */ + LowCount?: number; } export namespace SeveritySummary { @@ -4323,14 +4332,14 @@ export namespace SeveritySummary { */ export interface CompliantSummary { /** - *

                                                                A summary of the compliance severity by compliance type.

                                                                + *

                                                                The total number of resources that are compliant.

                                                                */ - SeveritySummary?: SeveritySummary; + CompliantCount?: number; /** - *

                                                                The total number of resources that are compliant.

                                                                + *

                                                                A summary of the compliance severity by compliance type.

                                                                */ - CompliantCount?: number; + SeveritySummary?: SeveritySummary; } export namespace CompliantSummary { @@ -4366,15 +4375,15 @@ export namespace NonCompliantSummary { */ export interface ComplianceSummaryItem { /** - *

                                                                The type of compliance item. For example, the compliance type can be Association, Patch, or - * Custom:string.

                                                                + *

                                                                A list of NON_COMPLIANT items for the specified compliance type.

                                                                */ - ComplianceType?: string; + NonCompliantSummary?: NonCompliantSummary; /** - *

                                                                A list of NON_COMPLIANT items for the specified compliance type.

                                                                + *

                                                                The type of compliance item. For example, the compliance type can be Association, Patch, or + * Custom:string.

                                                                */ - NonCompliantSummary?: NonCompliantSummary; + ComplianceType?: string; /** *

                                                                A list of COMPLIANT items for the specified compliance type.

                                                                @@ -4389,18 +4398,18 @@ export namespace ComplianceSummaryItem { } export interface ListComplianceSummariesResult { + /** + *

                                                                The token for the next set of items to return. Use this token to get the next set of + * results.

                                                                + */ + NextToken?: string; + /** *

                                                                A list of compliant and non-compliant summary counts based on compliance types. For example, * this call returns State Manager associations, patches, or custom compliance types according to * the filter criteria that you specified.

                                                                */ ComplianceSummaryItems?: ComplianceSummaryItem[]; - - /** - *

                                                                The token for the next set of items to return. Use this token to get the next set of - * results.

                                                                - */ - NextToken?: string; } export namespace ListComplianceSummariesResult { @@ -4421,14 +4430,14 @@ export enum DocumentFilterKey { */ export interface DocumentFilter { /** - *

                                                                The name of the filter.

                                                                + *

                                                                The value of the filter.

                                                                */ - key: DocumentFilterKey | string | undefined; + value: string | undefined; /** - *

                                                                The value of the filter.

                                                                + *

                                                                The name of the filter.

                                                                */ - value: string | undefined; + key: DocumentFilterKey | string | undefined; } export namespace DocumentFilter { @@ -4440,22 +4449,91 @@ export namespace DocumentFilter { /** *

                                                                One or more filters. Use a filter to return a more specific list of documents.

                                                                *

                                                                For keys, you can specify one or more tags that have been applied to a document.

                                                                - *

                                                                Other valid values include Owner, Name, - * PlatformTypes, DocumentType, and TargetType.

                                                                - *

                                                                Note that only one Owner can be specified in a request. For example: - * Key=Owner,Values=Self.

                                                                - *

                                                                If you use Name as a key, you can use a name prefix to return a list of documents. For - * example, in the AWS CLI, to return a list of all documents that begin with Te, run - * the following command:

                                                                + *

                                                                You can also use AWS-provided keys, some of which have specific allowed values. These keys + * and their associated values are as follows:

                                                                + *
                                                                + *
                                                                DocumentType
                                                                + *
                                                                + *
                                                                  + *
                                                                • + *

                                                                  ApplicationConfiguration

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  ApplicationConfigurationSchema

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Automation

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  ChangeCalendar

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Command

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  DeploymentStrategy

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Package

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Policy

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Session

                                                                  + *
                                                                • + *
                                                                + *
                                                                + *
                                                                Owner
                                                                + *
                                                                + *

                                                                Note that only one Owner can be specified in a request. For example: + * Key=Owner,Values=Self.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  Amazon

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Private

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Public

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Self

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  ThirdParty

                                                                  + *
                                                                • + *
                                                                + *
                                                                + *
                                                                PlatformTypes
                                                                + *
                                                                + *
                                                                  + *
                                                                • + *

                                                                  Linux

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Windows

                                                                  + *
                                                                • + *
                                                                + *
                                                                + *
                                                                + *

                                                                + * Name is another AWS-provided key. If you use Name as a key, you + * can use a name prefix to return a list of documents. For example, in the AWS CLI, to return a + * list of all documents that begin with Te, run the following command:

                                                                *

                                                                * aws ssm list-documents --filters Key=Name,Values=Te *

                                                                + *

                                                                You can also use the TargetType AWS-provided key. For a list of valid resource + * type values that can be used with this key, see AWS resource and property types + * reference in the AWS CloudFormation User Guide.

                                                                *

                                                                If you specify more than two keys, only documents that are identified by all the tags are * returned in the results. If you specify more than two values for a key, documents that are * identified by any of the values are returned in the results.

                                                                *

                                                                To specify a custom key and value pair, use the format * Key=tag:tagName,Values=valueName.

                                                                - *

                                                                For example, if you created a Key called region and are using the AWS CLI to call the + *

                                                                For example, if you created a key called region and are using the AWS CLI to call the * list-documents command:

                                                                *

                                                                * aws ssm list-documents --filters Key=tag:region,Values=east,west @@ -4464,14 +4542,14 @@ export namespace DocumentFilter { */ export interface DocumentKeyValuesFilter { /** - *

                                                                The value for the filter key.

                                                                + *

                                                                The name of the filter key.

                                                                */ - Values?: string[]; + Key?: string; /** - *

                                                                The name of the filter key.

                                                                + *

                                                                The value for the filter key.

                                                                */ - Key?: string; + Values?: string[]; } export namespace DocumentKeyValuesFilter { @@ -4481,11 +4559,6 @@ export namespace DocumentKeyValuesFilter { } export interface ListDocumentsRequest { - /** - *

                                                                This data type is deprecated. Instead, use Filters.

                                                                - */ - DocumentFilterList?: DocumentFilter[]; - /** *

                                                                The token for the next set of items to return. (You received this token from a previous * call.)

                                                                @@ -4507,6 +4580,11 @@ export interface ListDocumentsRequest { * can specify in a subsequent call to get the next set of results.

                                                                */ MaxResults?: number; + + /** + *

                                                                This data type is deprecated. Instead, use Filters.

                                                                + */ + DocumentFilterList?: DocumentFilter[]; } export namespace ListDocumentsRequest { @@ -4520,14 +4598,23 @@ export namespace ListDocumentsRequest { */ export interface DocumentIdentifier { /** - *

                                                                The AWS user account that created the document.

                                                                + *

                                                                The operating system platform.

                                                                */ - Owner?: string; + PlatformTypes?: (PlatformType | string)[]; /** - *

                                                                The document format, either JSON or YAML.

                                                                + *

                                                                A list of SSM documents required by a document. For example, an + * ApplicationConfiguration document requires an + * ApplicationConfigurationSchema document.

                                                                */ - DocumentFormat?: DocumentFormat | string; + Requires?: DocumentRequires[]; + + /** + *

                                                                An optional field specifying the version of the artifact associated with the document. For + * example, "Release 12, Update 6". This value is unique across all versions of a document, and + * cannot be changed.

                                                                + */ + VersionName?: string; /** *

                                                                The schema version.

                                                                @@ -4535,11 +4622,9 @@ export interface DocumentIdentifier { SchemaVersion?: string; /** - *

                                                                A list of SSM documents required by a document. For example, an - * ApplicationConfiguration document requires an - * ApplicationConfigurationSchema document.

                                                                + *

                                                                The name of the Systems Manager document.

                                                                */ - Requires?: DocumentRequires[]; + Name?: string; /** *

                                                                The target type which defines the kinds of resources the document can run on. For example, @@ -4549,36 +4634,29 @@ export interface DocumentIdentifier { TargetType?: string; /** - *

                                                                The document type.

                                                                - */ - DocumentType?: DocumentType | string; - - /** - *

                                                                An optional field specifying the version of the artifact associated with the document. For - * example, "Release 12, Update 6". This value is unique across all versions of a document, and - * cannot be changed.

                                                                + *

                                                                The AWS user account that created the document.

                                                                */ - VersionName?: string; + Owner?: string; /** - *

                                                                The document version.

                                                                + *

                                                                The document format, either JSON or YAML.

                                                                */ - DocumentVersion?: string; + DocumentFormat?: DocumentFormat | string; /** - *

                                                                The operating system platform.

                                                                + *

                                                                The tags, or metadata, that have been applied to the document.

                                                                */ - PlatformTypes?: (PlatformType | string)[]; + Tags?: Tag[]; /** - *

                                                                The tags, or metadata, that have been applied to the document.

                                                                + *

                                                                The document type.

                                                                */ - Tags?: Tag[]; + DocumentType?: DocumentType | string; /** - *

                                                                The name of the Systems Manager document.

                                                                + *

                                                                The document version.

                                                                */ - Name?: string; + DocumentVersion?: string; } export namespace DocumentIdentifier { @@ -4588,16 +4666,16 @@ export namespace DocumentIdentifier { } export interface ListDocumentsResult { - /** - *

                                                                The names of the Systems Manager documents.

                                                                - */ - DocumentIdentifiers?: DocumentIdentifier[]; - /** *

                                                                The token to use when requesting the next set of items. If there are no additional items to * return, the string is empty.

                                                                */ NextToken?: string; + + /** + *

                                                                The names of the Systems Manager documents.

                                                                + */ + DocumentIdentifiers?: DocumentIdentifier[]; } export namespace ListDocumentsResult { @@ -4607,12 +4685,6 @@ export namespace ListDocumentsResult { } export interface ListDocumentVersionsRequest { - /** - *

                                                                The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                - */ - MaxResults?: number; - /** *

                                                                The name of the document. You can specify an Amazon Resource Name (ARN).

                                                                */ @@ -4623,6 +4695,12 @@ export interface ListDocumentVersionsRequest { * call.)

                                                                */ NextToken?: string; + + /** + *

                                                                The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                + */ + MaxResults?: number; } export namespace ListDocumentVersionsRequest { @@ -4636,25 +4714,30 @@ export namespace ListDocumentVersionsRequest { */ export interface DocumentVersionInfo { /** - *

                                                                The document version.

                                                                + *

                                                                The document name.

                                                                */ - DocumentVersion?: string; + Name?: string; /** - *

                                                                The document name.

                                                                + *

                                                                The document version.

                                                                */ - Name?: string; + DocumentVersion?: string; /** - *

                                                                The date the document was created.

                                                                + *

                                                                An identifier for the default version of the document.

                                                                */ - CreatedDate?: Date; + IsDefaultVersion?: boolean; /** *

                                                                The document format, either JSON or YAML.

                                                                */ DocumentFormat?: DocumentFormat | string; + /** + *

                                                                The date the document was created.

                                                                + */ + CreatedDate?: Date; + /** *

                                                                The status of the Systems Manager document, such as Creating, Active, * Failed, and Deleting.

                                                                @@ -4673,11 +4756,6 @@ export interface DocumentVersionInfo { * 6". This value is unique across all versions of a document, and cannot be changed.

                                                                */ VersionName?: string; - - /** - *

                                                                An identifier for the default version of the document.

                                                                - */ - IsDefaultVersion?: boolean; } export namespace DocumentVersionInfo { @@ -4706,6 +4784,11 @@ export namespace ListDocumentVersionsResult { } export interface ListInventoryEntriesRequest { + /** + *

                                                                One or more filters. Use a filter to return a more specific list of results.

                                                                + */ + Filters?: InventoryFilter[]; + /** *

                                                                The token for the next set of items to return. (You received this token from a previous * call.)

                                                                @@ -4713,9 +4796,9 @@ export interface ListInventoryEntriesRequest { NextToken?: string; /** - *

                                                                One or more filters. Use a filter to return a more specific list of results.

                                                                + *

                                                                The instance ID for which you want inventory information.

                                                                */ - Filters?: InventoryFilter[]; + InstanceId: string | undefined; /** *

                                                                The maximum number of items to return for this call. The call also returns a token that you @@ -4727,11 +4810,6 @@ export interface ListInventoryEntriesRequest { *

                                                                The type of inventory item for which you want information.

                                                                */ TypeName: string | undefined; - - /** - *

                                                                The instance ID for which you want inventory information.

                                                                - */ - InstanceId: string | undefined; } export namespace ListInventoryEntriesRequest { @@ -4741,6 +4819,11 @@ export namespace ListInventoryEntriesRequest { } export interface ListInventoryEntriesResult { + /** + *

                                                                A list of inventory items on the instance(s).

                                                                + */ + Entries?: { [key: string]: string }[]; + /** *

                                                                The token to use when requesting the next set of items. If there are no additional items to * return, the string is empty.

                                                                @@ -4748,9 +4831,9 @@ export interface ListInventoryEntriesResult { NextToken?: string; /** - *

                                                                A list of inventory items on the instance(s).

                                                                + *

                                                                The time that inventory information was collected for the instance(s).

                                                                */ - Entries?: { [key: string]: string }[]; + CaptureTime?: string; /** *

                                                                The inventory schema version used by the instance(s).

                                                                @@ -4762,11 +4845,6 @@ export interface ListInventoryEntriesResult { */ TypeName?: string; - /** - *

                                                                The time that inventory information was collected for the instance(s).

                                                                - */ - CaptureTime?: string; - /** *

                                                                The instance ID targeted by the request to query inventory information.

                                                                */ @@ -4781,14 +4859,14 @@ export namespace ListInventoryEntriesResult { export interface ListResourceComplianceSummariesRequest { /** - *

                                                                A token to start the list. Use this token to get the next set of results.

                                                                + *

                                                                One or more filters. Use a filter to return a more specific list of results.

                                                                */ - NextToken?: string; + Filters?: ComplianceStringFilter[]; /** - *

                                                                One or more filters. Use a filter to return a more specific list of results.

                                                                + *

                                                                A token to start the list. Use this token to get the next set of results.

                                                                */ - Filters?: ComplianceStringFilter[]; + NextToken?: string; /** *

                                                                The maximum number of items to return for this call. The call also returns a token that you @@ -4812,6 +4890,11 @@ export interface ResourceComplianceSummaryItem { */ ResourceId?: string; + /** + *

                                                                Information about the execution.

                                                                + */ + ExecutionSummary?: ComplianceExecutionSummary; + /** *

                                                                A list of items that aren't compliant for the resource.

                                                                */ @@ -4823,15 +4906,9 @@ export interface ResourceComplianceSummaryItem { Status?: ComplianceStatus | string; /** - *

                                                                The highest severity item found for the resource. The resource is compliant for this - * item.

                                                                - */ - OverallSeverity?: ComplianceSeverity | string; - - /** - *

                                                                Information about the execution.

                                                                + *

                                                                The compliance type.

                                                                */ - ExecutionSummary?: ComplianceExecutionSummary; + ComplianceType?: string; /** *

                                                                The resource type.

                                                                @@ -4844,9 +4921,10 @@ export interface ResourceComplianceSummaryItem { CompliantSummary?: CompliantSummary; /** - *

                                                                The compliance type.

                                                                + *

                                                                The highest severity item found for the resource. The resource is compliant for this + * item.

                                                                */ - ComplianceType?: string; + OverallSeverity?: ComplianceSeverity | string; } export namespace ResourceComplianceSummaryItem { @@ -4886,8 +4964,8 @@ export interface ListResourceDataSyncRequest { /** *

                                                                View a list of resource data syncs according to the sync type. Specify * SyncToDestination to view resource data syncs that synchronize data to an Amazon S3 - * buckets. Specify SyncFromSource to view resource data syncs from AWS Organizations or from - * multiple AWS Regions.

                                                                + * bucket. Specify SyncFromSource to view resource data syncs from AWS Organizations or from + * multiple AWS Regions.

                                                                */ SyncType?: string; @@ -4934,21 +5012,15 @@ export interface ResourceDataSyncSourceWithState { SourceType?: string; /** - *

                                                                The field name in SyncSource for the - * ResourceDataSyncAwsOrganizationsSource type.

                                                                + *

                                                                The SyncSource AWS Regions included in the resource data sync.

                                                                */ - AwsOrganizationsSource?: ResourceDataSyncAwsOrganizationsSource; - - /** - *

                                                                Whether to automatically synchronize and aggregate data from new AWS Regions when those - * Regions come online.

                                                                - */ - IncludeFutureRegions?: boolean; + SourceRegions?: string[]; /** - *

                                                                The SyncSource AWS Regions included in the resource data sync.

                                                                + *

                                                                The field name in SyncSource for the + * ResourceDataSyncAwsOrganizationsSource type.

                                                                */ - SourceRegions?: string[]; + AwsOrganizationsSource?: ResourceDataSyncAwsOrganizationsSource; /** *

                                                                The data type name for including resource data sync state. There are four sync @@ -4967,6 +5039,12 @@ export interface ResourceDataSyncSourceWithState { * AWS Organizations.

                                                                */ State?: string; + + /** + *

                                                                Whether to automatically synchronize and aggregate data from new AWS Regions when those + * Regions come online.

                                                                + */ + IncludeFutureRegions?: boolean; } export namespace ResourceDataSyncSourceWithState { @@ -4981,24 +5059,29 @@ export namespace ResourceDataSyncSourceWithState { */ export interface ResourceDataSyncItem { /** - *

                                                                The last time the sync operations returned a status of SUCCESSFUL (UTC).

                                                                + *

                                                                The status message details reported by the last sync.

                                                                */ - LastSuccessfulSyncTime?: Date; + LastSyncStatusMessage?: string; /** - *

                                                                The name of the Resource Data Sync.

                                                                + *

                                                                Information about the source where the data was synchronized.

                                                                */ - SyncName?: string; + SyncSource?: ResourceDataSyncSourceWithState; /** - *

                                                                The last time the configuration attempted to sync (UTC).

                                                                + *

                                                                Configuration information for the target S3 bucket.

                                                                */ - LastSyncTime?: Date; + S3Destination?: ResourceDataSyncS3Destination; /** - *

                                                                The date and time the configuration was created (UTC).

                                                                + *

                                                                The date and time the resource data sync was changed.

                                                                */ - SyncCreatedTime?: Date; + SyncLastModifiedTime?: Date; + + /** + *

                                                                The status reported by the last sync.

                                                                + */ + LastStatus?: LastResourceDataSyncStatus | string; /** *

                                                                The type of resource data sync. If SyncType is SyncToDestination, @@ -5009,29 +5092,24 @@ export interface ResourceDataSyncItem { SyncType?: string; /** - *

                                                                The date and time the resource data sync was changed.

                                                                - */ - SyncLastModifiedTime?: Date; - - /** - *

                                                                Configuration information for the target S3 bucket.

                                                                + *

                                                                The date and time the configuration was created (UTC).

                                                                */ - S3Destination?: ResourceDataSyncS3Destination; + SyncCreatedTime?: Date; /** - *

                                                                Information about the source where the data was synchronized.

                                                                + *

                                                                The last time the configuration attempted to sync (UTC).

                                                                */ - SyncSource?: ResourceDataSyncSourceWithState; + LastSyncTime?: Date; /** - *

                                                                The status message details reported by the last sync.

                                                                + *

                                                                The name of the Resource Data Sync.

                                                                */ - LastSyncStatusMessage?: string; + SyncName?: string; /** - *

                                                                The status reported by the last sync.

                                                                + *

                                                                The last time the sync operations returned a status of SUCCESSFUL (UTC).

                                                                */ - LastStatus?: LastResourceDataSyncStatus | string; + LastSuccessfulSyncTime?: Date; } export namespace ResourceDataSyncItem { @@ -5042,15 +5120,15 @@ export namespace ResourceDataSyncItem { export interface ListResourceDataSyncResult { /** - *

                                                                The token for the next set of items to return. Use this token to get the next set of - * results.

                                                                + *

                                                                A list of your current Resource Data Sync configurations and their statuses.

                                                                */ - NextToken?: string; + ResourceDataSyncItems?: ResourceDataSyncItem[]; /** - *

                                                                A list of your current Resource Data Sync configurations and their statuses.

                                                                + *

                                                                The token for the next set of items to return. Use this token to get the next set of + * results.

                                                                */ - ResourceDataSyncItems?: ResourceDataSyncItem[]; + NextToken?: string; } export namespace ListResourceDataSyncResult { @@ -5061,14 +5139,14 @@ export namespace ListResourceDataSyncResult { export interface ListTagsForResourceRequest { /** - *

                                                                Returns a list of tags for a specific resource type.

                                                                + *

                                                                The resource ID for which you want to see a list of tags.

                                                                */ - ResourceType: ResourceTypeForTagging | string | undefined; + ResourceId: string | undefined; /** - *

                                                                The resource ID for which you want to see a list of tags.

                                                                + *

                                                                Returns a list of tags for a specific resource type.

                                                                */ - ResourceId: string | undefined; + ResourceType: ResourceTypeForTagging | string | undefined; } export namespace ListTagsForResourceRequest { @@ -5176,8 +5254,8 @@ export namespace ComplianceTypeCountLimitExceededException { export interface InvalidItemContentException extends __SmithyException, $MetadataBearer { name: "InvalidItemContentException"; $fault: "client"; - Message?: string; TypeName?: string; + Message?: string; } export namespace InvalidItemContentException { @@ -5211,6 +5289,13 @@ export interface ComplianceItemEntry { */ Details?: { [key: string]: string }; + /** + *

                                                                The title of the compliance item. For example, if the compliance item is a Windows patch, + * the title could be the title of the KB article for the patch; for example: Security Update for + * Active Directory Federation Services.

                                                                + */ + Title?: string; + /** *

                                                                The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.

                                                                */ @@ -5222,13 +5307,6 @@ export interface ComplianceItemEntry { */ Severity: ComplianceSeverity | string | undefined; - /** - *

                                                                The title of the compliance item. For example, if the compliance item is a Windows patch, - * the title could be the title of the KB article for the patch; for example: Security Update for - * Active Directory Federation Services.

                                                                - */ - Title?: string; - /** *

                                                                The compliance item ID. For example, if the compliance item is a Windows patch, the ID could * be the number of the KB article.

                                                                @@ -5253,13 +5331,6 @@ export interface PutComplianceItemsRequest { */ ResourceId: string | undefined; - /** - *

                                                                MD5 or SHA-256 content hash. The content hash is used to determine if existing information - * should be overwritten or ignored. If the content hashes match, the request to put compliance - * information is ignored.

                                                                - */ - ItemContentHash?: string; - /** *

                                                                A summary of the call execution that includes an execution ID, the type of execution (for * example, Command), and the date/time of the execution using a datetime object that @@ -5267,6 +5338,12 @@ export interface PutComplianceItemsRequest { */ ExecutionSummary: ComplianceExecutionSummary | undefined; + /** + *

                                                                Specify the compliance type. For example, specify Association (for a State Manager + * association), Patch, or Custom:string.

                                                                + */ + ComplianceType: string | undefined; + /** *

                                                                The mode for uploading compliance items. You can specify COMPLETE or * PARTIAL. In COMPLETE mode, the system overwrites all existing @@ -5288,17 +5365,18 @@ export interface PutComplianceItemsRequest { */ Items: ComplianceItemEntry[] | undefined; - /** - *

                                                                Specify the compliance type. For example, specify Association (for a State Manager - * association), Patch, or Custom:string.

                                                                - */ - ComplianceType: string | undefined; - /** *

                                                                Specify the type of resource. ManagedInstance is currently the only supported * resource type.

                                                                */ ResourceType: string | undefined; + + /** + *

                                                                MD5 or SHA-256 content hash. The content hash is used to determine if existing information + * should be overwritten or ignored. If the content hashes match, the request to put compliance + * information is ignored.

                                                                + */ + ItemContentHash?: string; } export namespace PutComplianceItemsRequest { @@ -5368,8 +5446,8 @@ export namespace InvalidInventoryItemContextException { export interface ItemContentMismatchException extends __SmithyException, $MetadataBearer { name: "ItemContentMismatchException"; $fault: "client"; - Message?: string; TypeName?: string; + Message?: string; } export namespace ItemContentMismatchException { @@ -5383,9 +5461,11 @@ export namespace ItemContentMismatchException { */ export interface InventoryItem { /** - *

                                                                The schema version for the inventory item.

                                                                + *

                                                                A map of associated properties for a specified inventory type. For example, with this + * attribute, you can specify the ExecutionId, ExecutionType, + * ComplianceType properties of the AWS:ComplianceItem type.

                                                                */ - SchemaVersion: string | undefined; + Context?: { [key: string]: string }; /** *

                                                                The time the inventory information was collected.

                                                                @@ -5393,24 +5473,14 @@ export interface InventoryItem { CaptureTime: string | undefined; /** - *

                                                                The name of the inventory type. Default inventory item type names start with AWS. Custom - * inventory type names will start with Custom. Default inventory item types include the following: - * AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and - * AWS:WindowsUpdate.

                                                                - */ - TypeName: string | undefined; - - /** - *

                                                                A map of associated properties for a specified inventory type. For example, with this - * attribute, you can specify the ExecutionId, ExecutionType, - * ComplianceType properties of the AWS:ComplianceItem type.

                                                                + *

                                                                The inventory data of the inventory type.

                                                                */ - Context?: { [key: string]: string }; + Content?: { [key: string]: string }[]; /** - *

                                                                The inventory data of the inventory type.

                                                                + *

                                                                The schema version for the inventory item.

                                                                */ - Content?: { [key: string]: string }[]; + SchemaVersion: string | undefined; /** *

                                                                MD5 hash of the inventory item type contents. The content hash is used to determine whether @@ -5418,6 +5488,14 @@ export interface InventoryItem { * contents if the MD5 hash has not changed since last update.

                                                                */ ContentHash?: string; + + /** + *

                                                                The name of the inventory type. Default inventory item type names start with AWS. Custom + * inventory type names will start with Custom. Default inventory item types include the following: + * AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and + * AWS:WindowsUpdate.

                                                                + */ + TypeName: string | undefined; } export namespace InventoryItem { @@ -5428,14 +5506,14 @@ export namespace InventoryItem { export interface PutInventoryRequest { /** - *

                                                                The inventory items that you want to add or update on instances.

                                                                + *

                                                                An instance ID where you want to add or update inventory items.

                                                                */ - Items: InventoryItem[] | undefined; + InstanceId: string | undefined; /** - *

                                                                An instance ID where you want to add or update inventory items.

                                                                + *

                                                                The inventory items that you want to add or update on instances.

                                                                */ - InstanceId: string | undefined; + Items: InventoryItem[] | undefined; } export namespace PutInventoryRequest { @@ -5695,52 +5773,13 @@ export namespace PoliciesLimitExceededException { export interface PutParameterRequest { /** - *

                                                                The type of parameter that you want to add to the system.

                                                                - * - *

                                                                - * SecureString is not currently supported for AWS CloudFormation templates or - * in the China Regions.

                                                                - *
                                                                - *

                                                                Items in a StringList must be separated by a comma (,). You can't - * use other punctuation or special character to escape items in the list. If you have a parameter - * value that requires a comma, then use the String data type.

                                                                + *

                                                                Information about the parameter that you want to add to the system. Optional but + * recommended.

                                                                * - *

                                                                Specifying a parameter type is not required when updating a parameter. You must specify a - * parameter type when creating a parameter.

                                                                + *

                                                                Do not enter personally identifiable information in this field.

                                                                *
                                                                */ - Type?: ParameterType | string; - - /** - *

                                                                Optional metadata that you assign to a resource. Tags enable you to categorize a resource in - * different ways, such as by purpose, owner, or environment. For example, you might want to tag a - * Systems Manager parameter to identify the type of resource to which it applies, the environment, or the - * type of configuration data referenced by the parameter. In this case, you could specify the - * following key name/value pairs:

                                                                - * - *
                                                                  - *
                                                                • - *

                                                                  - * Key=Resource,Value=S3bucket - *

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Key=OS,Value=Windows - *

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * Key=ParameterType,Value=LicenseKey - *

                                                                  - *
                                                                • - *
                                                                - * - *

                                                                To add tags to an existing Systems Manager parameter, use the AddTagsToResource - * action.

                                                                - *
                                                                - */ - Tags?: Tag[]; + Description?: string; /** *

                                                                One or more policies to apply to a parameter. This action takes a JSON array. Parameter @@ -5763,11 +5802,6 @@ export interface PutParameterRequest { */ Policies?: string; - /** - *

                                                                Overwrite an existing parameter. If not specified, will default to "false".

                                                                - */ - Overwrite?: boolean; - /** *

                                                                A regular expression used to validate the parameter value. For example, for String types * with values restricted to numbers, you can specify the following: AllowedPattern=^\d+$

                                                                @@ -5775,25 +5809,86 @@ export interface PutParameterRequest { AllowedPattern?: string; /** - *

                                                                The parameter value that you want to add to the system. Standard parameters have a value - * limit of 4 KB. Advanced parameters have a value limit of 8 KB.

                                                                + *

                                                                Overwrite an existing parameter. If not specified, will default to "false".

                                                                */ - Value: string | undefined; + Overwrite?: boolean; /** - *

                                                                The KMS Key ID that you want to use to encrypt a parameter. Either the default AWS Key - * Management Service (AWS KMS) key automatically assigned to your AWS account or a custom key. - * Required for parameters that use the SecureString data type.

                                                                - *

                                                                If you don't specify a key ID, the system uses the default key associated with your AWS - * account.

                                                                + *

                                                                The parameter tier to assign to a parameter.

                                                                + *

                                                                Parameter Store offers a standard tier and an advanced tier for parameters. Standard + * parameters have a content size limit of 4 KB and can't be configured to use parameter policies. + * You can create a maximum of 10,000 standard parameters for each Region in an AWS account. + * Standard parameters are offered at no additional cost.

                                                                + *

                                                                Advanced parameters have a content size limit of 8 KB and can be configured to use parameter + * policies. You can create a maximum of 100,000 advanced parameters for each Region in an AWS + * account. Advanced parameters incur a charge. For more information, see Standard and + * advanced parameter tiers in the AWS Systems Manager User Guide.

                                                                + *

                                                                You can change a standard parameter to an advanced parameter any time. But you can't revert + * an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard + * parameter would result in data loss because the system would truncate the size of the parameter + * from 8 KB to 4 KB. Reverting would also remove any policies attached to the parameter. Lastly, + * advanced parameters use a different form of encryption than standard parameters.

                                                                + *

                                                                If you no longer need an advanced parameter, or if you no longer want to incur charges for + * an advanced parameter, you must delete it and recreate it as a new standard parameter.

                                                                + *

                                                                + * Using the Default Tier Configuration + *

                                                                + *

                                                                In PutParameter requests, you can specify the tier to create the parameter in. + * Whenever you specify a tier in the request, Parameter Store creates or updates the parameter + * according to that request. However, if you do not specify a tier in a request, Parameter Store + * assigns the tier based on the current Parameter Store default tier configuration.

                                                                + *

                                                                The default tier when you begin using Parameter Store is the standard-parameter tier. If you + * use the advanced-parameter tier, you can specify one of the following as the default:

                                                                *
                                                                  *
                                                                • - *

                                                                  To use your default AWS KMS key, choose the SecureString data - * type, and do not specify the Key ID when you - * create the parameter. The system automatically populates Key ID with - * your default KMS key.

                                                                  - *
                                                                • - *
                                                                • + *

                                                                  + * Advanced: With this option, Parameter Store evaluates all + * requests as advanced parameters.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Intelligent-Tiering: With this option, Parameter Store + * evaluates each request to determine if the parameter is standard or advanced.

                                                                  + *

                                                                  If the request doesn't include any options that require an advanced parameter, the + * parameter is created in the standard-parameter tier. If one or more options requiring an + * advanced parameter are included in the request, Parameter Store create a parameter in the + * advanced-parameter tier.

                                                                  + *

                                                                  This approach helps control your parameter-related costs by always creating standard + * parameters unless an advanced parameter is necessary.

                                                                  + *
                                                                • + *
                                                                + *

                                                                Options that require an advanced parameter include the following:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  The content size of the parameter is more than 4 KB.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  The parameter uses a parameter policy.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  More than 10,000 parameters already exist in your AWS account in the current + * Region.

                                                                  + *
                                                                • + *
                                                                + *

                                                                For more information about configuring the default tier option, see Specifying a + * default parameter tier in the AWS Systems Manager User Guide.

                                                                + */ + Tier?: ParameterTier | string; + + /** + *

                                                                The KMS Key ID that you want to use to encrypt a parameter. Either the default AWS Key + * Management Service (AWS KMS) key automatically assigned to your AWS account or a custom key. + * Required for parameters that use the SecureString data type.

                                                                + *

                                                                If you don't specify a key ID, the system uses the default key associated with your AWS + * account.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  To use your default AWS KMS key, choose the SecureString data + * type, and do not specify the Key ID when you + * create the parameter. The system automatically populates Key ID with + * your default KMS key.

                                                                  + *
                                                                • + *
                                                                • *

                                                                  To use a custom KMS key, choose the SecureString data type with * the Key ID parameter.

                                                                  *
                                                                • @@ -5828,6 +5923,34 @@ export interface PutParameterRequest { */ DataType?: string; + /** + *

                                                                  The parameter value that you want to add to the system. Standard parameters have a value + * limit of 4 KB. Advanced parameters have a value limit of 8 KB.

                                                                  + * + *

                                                                  Parameters can't be referenced or nested in the values of other parameters. You can't + * include {{}} or {{ssm:parameter-name}} in a + * parameter value.

                                                                  + *
                                                                  + */ + Value: string | undefined; + + /** + *

                                                                  The type of parameter that you want to add to the system.

                                                                  + * + *

                                                                  + * SecureString is not currently supported for AWS CloudFormation templates or + * in the China Regions.

                                                                  + *
                                                                  + *

                                                                  Items in a StringList must be separated by a comma (,). You can't + * use other punctuation or special character to escape items in the list. If you have a parameter + * value that requires a comma, then use the String data type.

                                                                  + * + *

                                                                  Specifying a parameter type is not required when updating a parameter. You must specify a + * parameter type when creating a parameter.

                                                                  + *
                                                                  + */ + Type?: ParameterType | string; + /** *

                                                                  The fully qualified name of the parameter that you want to add to the system. The fully * qualified name includes the complete hierarchy of the parameter path and name. For parameters in @@ -5872,75 +5995,35 @@ export interface PutParameterRequest { Name: string | undefined; /** - *

                                                                  The parameter tier to assign to a parameter.

                                                                  - *

                                                                  Parameter Store offers a standard tier and an advanced tier for parameters. Standard - * parameters have a content size limit of 4 KB and can't be configured to use parameter policies. - * You can create a maximum of 10,000 standard parameters for each Region in an AWS account. - * Standard parameters are offered at no additional cost.

                                                                  - *

                                                                  Advanced parameters have a content size limit of 8 KB and can be configured to use parameter - * policies. You can create a maximum of 100,000 advanced parameters for each Region in an AWS - * account. Advanced parameters incur a charge. For more information, see Standard and - * advanced parameter tiers in the AWS Systems Manager User Guide.

                                                                  - *

                                                                  You can change a standard parameter to an advanced parameter any time. But you can't revert - * an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard - * parameter would result in data loss because the system would truncate the size of the parameter - * from 8 KB to 4 KB. Reverting would also remove any policies attached to the parameter. Lastly, - * advanced parameters use a different form of encryption than standard parameters.

                                                                  - *

                                                                  If you no longer need an advanced parameter, or if you no longer want to incur charges for - * an advanced parameter, you must delete it and recreate it as a new standard parameter.

                                                                  - *

                                                                  - * Using the Default Tier Configuration - *

                                                                  - *

                                                                  In PutParameter requests, you can specify the tier to create the parameter in. - * Whenever you specify a tier in the request, Parameter Store creates or updates the parameter - * according to that request. However, if you do not specify a tier in a request, Parameter Store - * assigns the tier based on the current Parameter Store default tier configuration.

                                                                  - *

                                                                  The default tier when you begin using Parameter Store is the standard-parameter tier. If you - * use the advanced-parameter tier, you can specify one of the following as the default:

                                                                  + *

                                                                  Optional metadata that you assign to a resource. Tags enable you to categorize a resource in + * different ways, such as by purpose, owner, or environment. For example, you might want to tag a + * Systems Manager parameter to identify the type of resource to which it applies, the environment, or the + * type of configuration data referenced by the parameter. In this case, you could specify the + * following key name/value pairs:

                                                                  + * *
                                                                    *
                                                                  • *

                                                                    - * Advanced: With this option, Parameter Store evaluates all - * requests as advanced parameters.

                                                                    + * Key=Resource,Value=S3bucket + *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * Intelligent-Tiering: With this option, Parameter Store - * evaluates each request to determine if the parameter is standard or advanced.

                                                                    - *

                                                                    If the request doesn't include any options that require an advanced parameter, the - * parameter is created in the standard-parameter tier. If one or more options requiring an - * advanced parameter are included in the request, Parameter Store create a parameter in the - * advanced-parameter tier.

                                                                    - *

                                                                    This approach helps control your parameter-related costs by always creating standard - * parameters unless an advanced parameter is necessary.

                                                                    - *
                                                                  • - *
                                                                  - *

                                                                  Options that require an advanced parameter include the following:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    The content size of the parameter is more than 4 KB.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    The parameter uses a parameter policy.

                                                                    + * Key=OS,Value=Windows + *

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    More than 10,000 parameters already exist in your AWS account in the current - * Region.

                                                                    + *

                                                                    + * Key=ParameterType,Value=LicenseKey + *

                                                                    *
                                                                  • *
                                                                  - *

                                                                  For more information about configuring the default tier option, see Specifying a - * default parameter tier in the AWS Systems Manager User Guide.

                                                                  - */ - Tier?: ParameterTier | string; - - /** - *

                                                                  Information about the parameter that you want to add to the system. Optional but - * recommended.

                                                                  - * - *

                                                                  Do not enter personally identifiable information in this field.

                                                                  - *
                                                                  + * + *

                                                                  To add tags to an existing Systems Manager parameter, use the AddTagsToResource + * action.

                                                                  + *
                                                                  */ - Description?: string; + Tags?: Tag[]; } export namespace PutParameterRequest { @@ -5950,11 +6033,6 @@ export namespace PutParameterRequest { } export interface PutParameterResult { - /** - *

                                                                  The tier assigned to the parameter.

                                                                  - */ - Tier?: ParameterTier | string; - /** *

                                                                  The new version number of a parameter. If you edit a parameter value, Parameter Store * automatically creates a new version and assigns this new version a unique ID. You can reference a @@ -5963,6 +6041,11 @@ export interface PutParameterResult { * is called.

                                                                  */ Version?: number; + + /** + *

                                                                  The tier assigned to the parameter.

                                                                  + */ + Tier?: ParameterTier | string; } export namespace PutParameterResult { @@ -6014,14 +6097,14 @@ export namespace RegisterDefaultPatchBaselineResult { export interface RegisterPatchBaselineForPatchGroupRequest { /** - *

                                                                  The name of the patch group that should be registered with the patch baseline.

                                                                  + *

                                                                  The ID of the patch baseline to register the patch group with.

                                                                  */ - PatchGroup: string | undefined; + BaselineId: string | undefined; /** - *

                                                                  The ID of the patch baseline to register the patch group with.

                                                                  + *

                                                                  The name of the patch group that should be registered with the patch baseline.

                                                                  */ - BaselineId: string | undefined; + PatchGroup: string | undefined; } export namespace RegisterPatchBaselineForPatchGroupRequest { @@ -6102,10 +6185,14 @@ export interface RegisterTargetWithMaintenanceWindowRequest { Targets: Target[] | undefined; /** - *

                                                                  User-provided value that will be included in any CloudWatch events raised while running - * tasks for these targets in this maintenance window.

                                                                  + *

                                                                  User-provided idempotency token.

                                                                  */ - OwnerInformation?: string; + ClientToken?: string; + + /** + *

                                                                  An optional name for the target.

                                                                  + */ + Name?: string; /** *

                                                                  An optional description for the target.

                                                                  @@ -6123,21 +6210,17 @@ export interface RegisterTargetWithMaintenanceWindowRequest { WindowId: string | undefined; /** - *

                                                                  An optional name for the target.

                                                                  - */ - Name?: string; - - /** - *

                                                                  User-provided idempotency token.

                                                                  + *

                                                                  User-provided value that will be included in any CloudWatch events raised while running + * tasks for these targets in this maintenance window.

                                                                  */ - ClientToken?: string; + OwnerInformation?: string; } export namespace RegisterTargetWithMaintenanceWindowRequest { export const filterSensitiveLog = (obj: RegisterTargetWithMaintenanceWindowRequest): any => ({ ...obj, - ...(obj.OwnerInformation && { OwnerInformation: SENSITIVE_STRING }), ...(obj.Description && { Description: SENSITIVE_STRING }), + ...(obj.OwnerInformation && { OwnerInformation: SENSITIVE_STRING }), }); } @@ -6172,21 +6255,24 @@ export namespace FeatureNotAvailableException { export interface RegisterTaskWithMaintenanceWindowRequest { /** - *

                                                                  A structure containing information about an S3 bucket to write instance-level logs to.

                                                                  - * - *

                                                                  - * LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the - * OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. - * For information about how Systems Manager handles these options for the supported maintenance - * window task types, see MaintenanceWindowTaskInvocationParameters.

                                                                  - *
                                                                  + *

                                                                  The maximum number of targets this task can be run for in parallel.

                                                                  */ - LoggingInfo?: LoggingInfo; + MaxConcurrency: string | undefined; /** - *

                                                                  User-provided idempotency token.

                                                                  + *

                                                                  An optional name for the task.

                                                                  */ - ClientToken?: string; + Name?: string; + + /** + *

                                                                  The maximum number of errors allowed before this task stops being scheduled.

                                                                  + */ + MaxErrors: string | undefined; + + /** + *

                                                                  An optional description for the task.

                                                                  + */ + Description?: string; /** *

                                                                  The ARN of the IAM service role for Systems Manager to assume when running a @@ -6212,22 +6298,21 @@ export interface RegisterTaskWithMaintenanceWindowRequest { ServiceRoleArn?: string; /** - *

                                                                  The targets (either instances or maintenance window targets).

                                                                  - *

                                                                  Specify instances using the following format:

                                                                  - *

                                                                  - * Key=InstanceIds,Values=, - *

                                                                  - *

                                                                  Specify maintenance window targets using the following format:

                                                                  - *

                                                                  - * Key=WindowTargetIds;,Values=, - *

                                                                  + *

                                                                  User-provided idempotency token.

                                                                  */ - Targets: Target[] | undefined; + ClientToken?: string; /** - *

                                                                  An optional description for the task.

                                                                  + *

                                                                  A structure containing information about an S3 bucket to write instance-level logs to.

                                                                  + * + *

                                                                  + * LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the + * OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. + * For information about how Systems Manager handles these options for the supported maintenance + * window task types, see MaintenanceWindowTaskInvocationParameters.

                                                                  + *
                                                                  */ - Description?: string; + LoggingInfo?: LoggingInfo; /** *

                                                                  The ARN of the task to run.

                                                                  @@ -6235,19 +6320,11 @@ export interface RegisterTaskWithMaintenanceWindowRequest { TaskArn: string | undefined; /** - *

                                                                  The maximum number of errors allowed before this task stops being scheduled.

                                                                  - */ - MaxErrors: string | undefined; - - /** - *

                                                                  The maximum number of targets this task can be run for in parallel.

                                                                  - */ - MaxConcurrency: string | undefined; - - /** - *

                                                                  The ID of the maintenance window the task should be added to.

                                                                  + *

                                                                  The priority of the task in the maintenance window, the lower the number the higher the + * priority. Tasks in a maintenance window are scheduled in priority order with tasks that have the + * same priority scheduled in parallel.

                                                                  */ - WindowId: string | undefined; + Priority?: number; /** *

                                                                  The parameters that the task should use during execution. Populate only the fields that @@ -6256,9 +6333,9 @@ export interface RegisterTaskWithMaintenanceWindowRequest { TaskInvocationParameters?: MaintenanceWindowTaskInvocationParameters; /** - *

                                                                  An optional name for the task.

                                                                  + *

                                                                  The type of task being registered.

                                                                  */ - Name?: string; + TaskType: MaintenanceWindowTaskType | string | undefined; /** *

                                                                  The parameters that should be passed to the task when it is run.

                                                                  @@ -6273,16 +6350,22 @@ export interface RegisterTaskWithMaintenanceWindowRequest { TaskParameters?: { [key: string]: MaintenanceWindowTaskParameterValueExpression }; /** - *

                                                                  The priority of the task in the maintenance window, the lower the number the higher the - * priority. Tasks in a maintenance window are scheduled in priority order with tasks that have the - * same priority scheduled in parallel.

                                                                  + *

                                                                  The ID of the maintenance window the task should be added to.

                                                                  */ - Priority?: number; + WindowId: string | undefined; /** - *

                                                                  The type of task being registered.

                                                                  + *

                                                                  The targets (either instances or maintenance window targets).

                                                                  + *

                                                                  Specify instances using the following format:

                                                                  + *

                                                                  + * Key=InstanceIds,Values=, + *

                                                                  + *

                                                                  Specify maintenance window targets using the following format:

                                                                  + *

                                                                  + * Key=WindowTargetIds;,Values=, + *

                                                                  */ - TaskType: MaintenanceWindowTaskType | string | undefined; + Targets: Target[] | undefined; } export namespace RegisterTaskWithMaintenanceWindowRequest { @@ -6312,6 +6395,11 @@ export namespace RegisterTaskWithMaintenanceWindowResult { } export interface RemoveTagsFromResourceRequest { + /** + *

                                                                  Tag keys that you want to remove from the specified resource.

                                                                  + */ + TagKeys: string[] | undefined; + /** *

                                                                  The ID of the resource from which you want to remove tags. For example:

                                                                  *

                                                                  ManagedInstance: mi-012345abcde

                                                                  @@ -6326,11 +6414,6 @@ export interface RemoveTagsFromResourceRequest { */ ResourceId: string | undefined; - /** - *

                                                                  Tag keys that you want to remove from the specified resource.

                                                                  - */ - TagKeys: string[] | undefined; - /** *

                                                                  The type of resource from which you want to remove a tag.

                                                                  * @@ -6407,6 +6490,12 @@ export namespace ResumeSessionRequest { } export interface ResumeSessionResponse { + /** + *

                                                                  An encrypted token value containing session and caller information. Used to authenticate the + * connection to the instance.

                                                                  + */ + TokenValue?: string; + /** *

                                                                  The ID of the session.

                                                                  */ @@ -6425,12 +6514,6 @@ export interface ResumeSessionResponse { * 1a2b3c4dEXAMPLE.

                                                                  */ StreamUrl?: string; - - /** - *

                                                                  An encrypted token value containing session and caller information. Used to authenticate the - * connection to the instance.

                                                                  - */ - TokenValue?: string; } export namespace ResumeSessionResponse { @@ -6479,6 +6562,11 @@ export enum SignalType { } export interface SendAutomationSignalRequest { + /** + *

                                                                  The type of signal to send to an Automation execution.

                                                                  + */ + SignalType: SignalType | string | undefined; + /** *

                                                                  The unique identifier for an existing Automation execution that you want to send the signal * to.

                                                                  @@ -6505,11 +6593,6 @@ export interface SendAutomationSignalRequest { *

                                                                  */ Payload?: { [key: string]: string[] }; - - /** - *

                                                                  The type of signal to send to an Automation execution.

                                                                  - */ - SignalType: SignalType | string | undefined; } export namespace SendAutomationSignalRequest { @@ -6575,61 +6658,6 @@ export namespace InvalidRole { } export interface SendCommandRequest { - /** - *

                                                                  The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a - * specific version number. If you run commands by using the AWS CLI, then you must escape the first - * two options by using a backslash. If you specify a version number, then you don't need to use the - * backslash. For example:

                                                                  - *

                                                                  --document-version "\$DEFAULT"

                                                                  - *

                                                                  --document-version "\$LATEST"

                                                                  - *

                                                                  --document-version "3"

                                                                  - */ - DocumentVersion?: string; - - /** - *

                                                                  Configurations for sending notifications.

                                                                  - */ - NotificationConfig?: NotificationConfig; - - /** - *

                                                                  (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager - * automatically determines the Region of the S3 bucket.

                                                                  - */ - OutputS3Region?: string; - - /** - *

                                                                  The Sha256 or Sha1 hash created by the system when the document was created.

                                                                  - * - *

                                                                  Sha1 hashes have been deprecated.

                                                                  - *
                                                                  - */ - DocumentHash?: string; - - /** - *

                                                                  The directory structure within the S3 bucket where the responses should be stored.

                                                                  - */ - OutputS3KeyPrefix?: string; - - /** - *

                                                                  User-specified information about the command, such as a brief description of what the - * command should do.

                                                                  - */ - Comment?: string; - - /** - *

                                                                  The maximum number of errors allowed without the command failing. When the command fails one - * more time beyond the value of MaxErrors, the systems stops sending the command to additional - * targets. You can specify a number like 10 or a percentage like 10%. The default value is 0. For - * more information about how to use MaxErrors, see Using - * error controls in the AWS Systems Manager User Guide.

                                                                  - */ - MaxErrors?: string; - - /** - *

                                                                  The required and optional parameters specified in the document being run.

                                                                  - */ - Parameters?: { [key: string]: string[] }; - /** *

                                                                  (Optional) The maximum number of instances that are allowed to run the command at the same * time. You can specify a number such as 10 or a percentage such as 10%. The default value is 50. @@ -6652,6 +6680,11 @@ export interface SendCommandRequest { */ InstanceIds?: string[]; + /** + *

                                                                  The required and optional parameters specified in the document being run.

                                                                  + */ + Parameters?: { [key: string]: string[] }; + /** *

                                                                  Required. The name of the Systems Manager document to run. This can be a public document or a custom * document.

                                                                  @@ -6664,23 +6697,59 @@ export interface SendCommandRequest { OutputS3BucketName?: string; /** - *

                                                                  If this time is reached and the command has not already started running, it will not - * run.

                                                                  + *

                                                                  The maximum number of errors allowed without the command failing. When the command fails one + * more time beyond the value of MaxErrors, the systems stops sending the command to additional + * targets. You can specify a number like 10 or a percentage like 10%. The default value is 0. For + * more information about how to use MaxErrors, see Using + * error controls in the AWS Systems Manager User Guide.

                                                                  */ - TimeoutSeconds?: number; + MaxErrors?: string; /** - *

                                                                  Sha256 or Sha1.

                                                                  + *

                                                                  User-specified information about the command, such as a brief description of what the + * command should do.

                                                                  + */ + Comment?: string; + + /** + *

                                                                  (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager + * automatically determines the Region of the S3 bucket.

                                                                  + */ + OutputS3Region?: string; + + /** + *

                                                                  Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs.

                                                                  + */ + CloudWatchOutputConfig?: CloudWatchOutputConfig; + + /** + *

                                                                  The Sha256 or Sha1 hash created by the system when the document was created.

                                                                  * *

                                                                  Sha1 hashes have been deprecated.

                                                                  *
                                                                  */ - DocumentHashType?: DocumentHashType | string; + DocumentHash?: string; /** - *

                                                                  Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs.

                                                                  + *

                                                                  Configurations for sending notifications.

                                                                  */ - CloudWatchOutputConfig?: CloudWatchOutputConfig; + NotificationConfig?: NotificationConfig; + + /** + *

                                                                  The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a + * specific version number. If you run commands by using the AWS CLI, then you must escape the first + * two options by using a backslash. If you specify a version number, then you don't need to use the + * backslash. For example:

                                                                  + *

                                                                  --document-version "\$DEFAULT"

                                                                  + *

                                                                  --document-version "\$LATEST"

                                                                  + *

                                                                  --document-version "3"

                                                                  + */ + DocumentVersion?: string; + + /** + *

                                                                  The directory structure within the S3 bucket where the responses should be stored.

                                                                  + */ + OutputS3KeyPrefix?: string; /** *

                                                                  The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for Run @@ -6700,6 +6769,20 @@ export interface SendCommandRequest { * fleet in the AWS Systems Manager User Guide.

                                                                  */ Targets?: Target[]; + + /** + *

                                                                  If this time is reached and the command has not already started running, it will not + * run.

                                                                  + */ + TimeoutSeconds?: number; + + /** + *

                                                                  Sha256 or Sha1.

                                                                  + * + *

                                                                  Sha1 hashes have been deprecated.

                                                                  + *
                                                                  + */ + DocumentHashType?: DocumentHashType | string; } export namespace SendCommandRequest { @@ -6823,34 +6906,16 @@ export namespace InvalidAutomationExecutionParametersException { export interface StartAutomationExecutionRequest { /** - *

                                                                  Optional metadata that you assign to a resource. You can specify a maximum of five tags for - * an automation. Tags enable you to categorize a resource in different ways, such as by purpose, - * owner, or environment. For example, you might want to tag an automation to identify an - * environment or operating system. In this case, you could specify the following key name/value - * pairs:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * Key=environment,Value=test - *

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * Key=OS,Value=Windows - *

                                                                    - *
                                                                  • - *
                                                                  - * - *

                                                                  To add tags to an existing patch baseline, use the AddTagsToResource - * action.

                                                                  - *
                                                                  + *

                                                                  A key-value map of execution parameters, which match the declared parameters in the + * Automation document.

                                                                  */ - Tags?: Tag[]; + Parameters?: { [key: string]: string[] }; /** - *

                                                                  The name of the Automation document to use for this execution.

                                                                  + *

                                                                  The name of the parameter used as the target resource for the rate-controlled execution. + * Required if you specify targets.

                                                                  */ - DocumentName: string | undefined; + TargetParameterName?: string; /** *

                                                                  The number of errors that are allowed before the system stops running the automation on @@ -6867,6 +6932,17 @@ export interface StartAutomationExecutionRequest { */ MaxErrors?: string; + /** + *

                                                                  The name of the Automation document to use for this execution.

                                                                  + */ + DocumentName: string | undefined; + + /** + *

                                                                  User-provided idempotency token. The token must be unique, is case insensitive, enforces the + * UUID format, and can't be reused.

                                                                  + */ + ClientToken?: string; + /** *

                                                                  A location is a combination of AWS Regions and/or AWS accounts where you want to run the * Automation. Use this action to start an Automation in multiple Regions and multiple accounts. For @@ -6876,15 +6952,29 @@ export interface StartAutomationExecutionRequest { TargetLocations?: TargetLocation[]; /** - *

                                                                  A key-value mapping to target resources. Required if you specify TargetParameterName.

                                                                  - */ - Targets?: Target[]; - - /** - *

                                                                  User-provided idempotency token. The token must be unique, is case insensitive, enforces the - * UUID format, and can't be reused.

                                                                  + *

                                                                  Optional metadata that you assign to a resource. You can specify a maximum of five tags for + * an automation. Tags enable you to categorize a resource in different ways, such as by purpose, + * owner, or environment. For example, you might want to tag an automation to identify an + * environment or operating system. In this case, you could specify the following key name/value + * pairs:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * Key=environment,Value=test + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * Key=OS,Value=Windows + *

                                                                    + *
                                                                  • + *
                                                                  + * + *

                                                                  To add tags to an existing patch baseline, use the AddTagsToResource + * action.

                                                                  + *
                                                                  */ - ClientToken?: string; + Tags?: Tag[]; /** *

                                                                  A key-value mapping of document parameters to target resources. Both Targets and TargetMaps @@ -6893,15 +6983,9 @@ export interface StartAutomationExecutionRequest { TargetMaps?: { [key: string]: string[] }[]; /** - *

                                                                  The version of the Automation document to use for this execution.

                                                                  - */ - DocumentVersion?: string; - - /** - *

                                                                  The execution mode of the automation. Valid modes include the following: Auto and - * Interactive. The default mode is Auto.

                                                                  + *

                                                                  A key-value mapping to target resources. Required if you specify TargetParameterName.

                                                                  */ - Mode?: ExecutionMode | string; + Targets?: Target[]; /** *

                                                                  The maximum number of targets allowed to run this task in parallel. You can specify a @@ -6910,16 +6994,15 @@ export interface StartAutomationExecutionRequest { MaxConcurrency?: string; /** - *

                                                                  A key-value map of execution parameters, which match the declared parameters in the - * Automation document.

                                                                  + *

                                                                  The version of the Automation document to use for this execution.

                                                                  */ - Parameters?: { [key: string]: string[] }; + DocumentVersion?: string; /** - *

                                                                  The name of the parameter used as the target resource for the rate-controlled execution. - * Required if you specify targets.

                                                                  + *

                                                                  The execution mode of the automation. Valid modes include the following: Auto and + * Interactive. The default mode is Auto.

                                                                  */ - TargetParameterName?: string; + Mode?: ExecutionMode | string; } export namespace StartAutomationExecutionRequest { @@ -6968,10 +7051,9 @@ export namespace StartSessionRequest { export interface StartSessionResponse { /** - *

                                                                  An encrypted token value containing session and caller information. Used to authenticate the - * connection to the instance.

                                                                  + *

                                                                  The ID of the session.

                                                                  */ - TokenValue?: string; + SessionId?: string; /** *

                                                                  A URL back to SSM Agent on the instance that the Session Manager client uses to send commands and @@ -6989,9 +7071,10 @@ export interface StartSessionResponse { StreamUrl?: string; /** - *

                                                                  The ID of the session.

                                                                  + *

                                                                  An encrypted token value containing session and caller information. Used to authenticate the + * connection to the instance.

                                                                  */ - SessionId?: string; + TokenValue?: string; } export namespace StartSessionResponse { @@ -7003,7 +7086,8 @@ export namespace StartSessionResponse { /** *

                                                                  The specified target instance for the session is not fully configured for use with Session Manager. * For more information, see Getting started with - * Session Manager in the AWS Systems Manager User Guide.

                                                                  + * Session Manager in the AWS Systems Manager User Guide. This error is also returned if you + * attempt to start a session on an instance that is located in a different account or Region

                                                                  */ export interface TargetNotConnected extends __SmithyException, $MetadataBearer { name: "TargetNotConnected"; @@ -7123,37 +7207,30 @@ export namespace InvalidUpdate { export interface UpdateAssociationRequest { /** - *

                                                                  The ID of the association you want to update.

                                                                  - */ - AssociationId: string | undefined; - - /** - *

                                                                  Specify the target for the association. This target is required for associations that use an - * Automation document and target resources by using rate controls.

                                                                  - */ - AutomationTargetParameterName?: string; - - /** - *

                                                                  The targets of the association.

                                                                  - */ - Targets?: Target[]; - - /** - *

                                                                  The document version you want update for the association.

                                                                  + *

                                                                  The number of errors that are allowed before the system stops sending requests to run the + * association on additional targets. You can specify either an absolute number of errors, for + * example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, + * the system stops sending requests when the fourth error is received. If you specify 0, then the + * system stops sending requests after the first error is returned. If you run an association on 50 + * instances and set MaxError to 10%, then the system stops sending the request when the sixth error + * is received.

                                                                  + *

                                                                  Executions that are already running an association when MaxErrors is reached are allowed to + * complete, but some of these executions may fail as well. If you need to ensure that there won't + * be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one + * at a time.

                                                                  */ - DocumentVersion?: string; + MaxErrors?: string; /** - *

                                                                  This parameter is provided for concurrency control purposes. You must specify the latest - * association version in the service. If you want to ensure that this request succeeds, either - * specify $LATEST, or omit this parameter.

                                                                  + *

                                                                  The parameters you want to update for the association. If you create a parameter using + * Parameter Store, you can reference the parameter using {{ssm:parameter-name}}

                                                                  */ - AssociationVersion?: string; + Parameters?: { [key: string]: string[] }; /** - *

                                                                  The severity level to assign to the association.

                                                                  + *

                                                                  The cron expression used to schedule the association that you want to update.

                                                                  */ - ComplianceSeverity?: AssociationComplianceSeverity | string; + ScheduleExpression?: string; /** *

                                                                  The name of the SSM document that contains the configuration information for the instance. @@ -7177,52 +7254,67 @@ export interface UpdateAssociationRequest { Name?: string; /** - *

                                                                  The cron expression used to schedule the association that you want to update.

                                                                  + *

                                                                  The targets of the association.

                                                                  */ - ScheduleExpression?: string; + Targets?: Target[]; /** - *

                                                                  The number of errors that are allowed before the system stops sending requests to run the - * association on additional targets. You can specify either an absolute number of errors, for - * example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, - * the system stops sending requests when the fourth error is received. If you specify 0, then the - * system stops sending requests after the first error is returned. If you run an association on 50 - * instances and set MaxError to 10%, then the system stops sending the request when the sixth error - * is received.

                                                                  - *

                                                                  Executions that are already running an association when MaxErrors is reached are allowed to - * complete, but some of these executions may fail as well. If you need to ensure that there won't - * be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one - * at a time.

                                                                  + *

                                                                  The severity level to assign to the association.

                                                                  */ - MaxErrors?: string; + ComplianceSeverity?: AssociationComplianceSeverity | string; /** - *

                                                                  By default, when you update an association, the system runs it immediately after it is - * updated and then according to the schedule you specified. Specify this option if you don't want - * an association to run immediately after you update it.

                                                                  - *

                                                                  Also, if you specified this option when you created the association, you can reset it. To do - * so, specify the no-apply-only-at-cron-interval parameter when you update the - * association from the command line. This parameter forces the association to run immediately after - * updating it and according to the interval specified.

                                                                  + *

                                                                  This parameter is provided for concurrency control purposes. You must specify the latest + * association version in the service. If you want to ensure that this request succeeds, either + * specify $LATEST, or omit this parameter.

                                                                  */ - ApplyOnlyAtCronInterval?: boolean; + AssociationVersion?: string; /** - *

                                                                  The name of the association that you want to update.

                                                                  + *

                                                                  The document version you want update for the association.

                                                                  */ - AssociationName?: string; + DocumentVersion?: string; /** - *

                                                                  The parameters you want to update for the association. If you create a parameter using - * Parameter Store, you can reference the parameter using {{ssm:parameter-name}}

                                                                  + *

                                                                  The ID of the association you want to update.

                                                                  */ - Parameters?: { [key: string]: string[] }; + AssociationId: string | undefined; + + /** + *

                                                                  Specify the target for the association. This target is required for associations that use an + * Automation document and target resources by using rate controls.

                                                                  + */ + AutomationTargetParameterName?: string; + + /** + *

                                                                  The mode for generating association compliance. You can specify AUTO or + * MANUAL. In AUTO mode, the system uses the status of the association + * execution to determine the compliance status. If the association execution runs successfully, + * then the association is COMPLIANT. If the association execution doesn't run + * successfully, the association is NON-COMPLIANT.

                                                                  + *

                                                                  In MANUAL mode, you must specify the AssociationId as a parameter + * for the PutComplianceItems API action. In this case, compliance data is not + * managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

                                                                  + *

                                                                  By default, all associations use AUTO mode.

                                                                  + */ + SyncCompliance?: AssociationSyncCompliance | string; /** *

                                                                  An S3 bucket where you want to store the results of this request.

                                                                  */ OutputLocation?: InstanceAssociationOutputLocation; + /** + *

                                                                  By default, when you update an association, the system runs it immediately after it is + * updated and then according to the schedule you specified. Specify this option if you don't want + * an association to run immediately after you update it.

                                                                  + *

                                                                  Also, if you specified this option when you created the association, you can reset it. To do + * so, specify the no-apply-only-at-cron-interval parameter when you update the + * association from the command line. This parameter forces the association to run immediately after + * updating it and according to the interval specified.

                                                                  + */ + ApplyOnlyAtCronInterval?: boolean; + /** *

                                                                  The maximum number of targets allowed to run the association at the same time. You can * specify a number, for example 10, or a percentage of the target set, for example 10%. The default @@ -7235,17 +7327,9 @@ export interface UpdateAssociationRequest { MaxConcurrency?: string; /** - *

                                                                  The mode for generating association compliance. You can specify AUTO or - * MANUAL. In AUTO mode, the system uses the status of the association - * execution to determine the compliance status. If the association execution runs successfully, - * then the association is COMPLIANT. If the association execution doesn't run - * successfully, the association is NON-COMPLIANT.

                                                                  - *

                                                                  In MANUAL mode, you must specify the AssociationId as a parameter - * for the PutComplianceItems API action. In this case, compliance data is not - * managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

                                                                  - *

                                                                  By default, all associations use AUTO mode.

                                                                  + *

                                                                  The name of the association that you want to update.

                                                                  */ - SyncCompliance?: AssociationSyncCompliance | string; + AssociationName?: string; } export namespace UpdateAssociationRequest { @@ -7366,11 +7450,6 @@ export namespace DuplicateDocumentVersionName { } export interface UpdateDocumentRequest { - /** - *

                                                                  A valid JSON or YAML string.

                                                                  - */ - Content: string | undefined; - /** *

                                                                  Specify a new target type for the document.

                                                                  */ @@ -7384,14 +7463,21 @@ export interface UpdateDocumentRequest { VersionName?: string; /** - *

                                                                  A list of key and value pairs that describe attachments to a version of a document.

                                                                  + *

                                                                  The name of the document that you want to update.

                                                                  */ - Attachments?: AttachmentsSource[]; + Name: string | undefined; /** - *

                                                                  The name of the document that you want to update.

                                                                  + *

                                                                  (Required) The latest version of the document that you want to update. The latest document + * version can be specified using the $LATEST variable or by the version number. Updating a previous + * version of a document is not supported.

                                                                  */ - Name: string | undefined; + DocumentVersion?: string; + + /** + *

                                                                  A list of key and value pairs that describe attachments to a version of a document.

                                                                  + */ + Attachments?: AttachmentsSource[]; /** *

                                                                  Specify the document format for the new document version. Systems Manager supports JSON and YAML @@ -7400,11 +7486,9 @@ export interface UpdateDocumentRequest { DocumentFormat?: DocumentFormat | string; /** - *

                                                                  (Required) The latest version of the document that you want to update. The latest document - * version can be specified using the $LATEST variable or by the version number. Updating a previous - * version of a document is not supported.

                                                                  + *

                                                                  A valid JSON or YAML string.

                                                                  */ - DocumentVersion?: string; + Content: string | undefined; } export namespace UpdateDocumentRequest { @@ -7428,14 +7512,14 @@ export namespace UpdateDocumentResult { export interface UpdateDocumentDefaultVersionRequest { /** - *

                                                                  The version of a custom document that you want to set as the default version.

                                                                  + *

                                                                  The name of a custom document that you want to set as the default version.

                                                                  */ - DocumentVersion: string | undefined; + Name: string | undefined; /** - *

                                                                  The name of a custom document that you want to set as the default version.

                                                                  + *

                                                                  The version of a custom document that you want to set as the default version.

                                                                  */ - Name: string | undefined; + DocumentVersion: string | undefined; } export namespace UpdateDocumentDefaultVersionRequest { @@ -7449,9 +7533,9 @@ export namespace UpdateDocumentDefaultVersionRequest { */ export interface DocumentDefaultVersionDescription { /** - *

                                                                  The name of the document.

                                                                  + *

                                                                  The default version of the document.

                                                                  */ - Name?: string; + DefaultVersion?: string; /** *

                                                                  The default version of the artifact associated with the document.

                                                                  @@ -7459,9 +7543,9 @@ export interface DocumentDefaultVersionDescription { DefaultVersionName?: string; /** - *

                                                                  The default version of the document.

                                                                  + *

                                                                  The name of the document.

                                                                  */ - DefaultVersion?: string; + Name?: string; } export namespace DocumentDefaultVersionDescription { @@ -7485,30 +7569,16 @@ export namespace UpdateDocumentDefaultVersionResult { export interface UpdateMaintenanceWindowRequest { /** - *

                                                                  The schedule of the maintenance window in the form of a cron or rate expression.

                                                                  - */ - Schedule?: string; - - /** - *

                                                                  The duration of the maintenance window in hours.

                                                                  - */ - Duration?: number; - - /** - *

                                                                  Whether the maintenance window is enabled.

                                                                  - */ - Enabled?: boolean; - - /** - *

                                                                  Whether targets must be registered with the maintenance window before tasks can be defined - * for those targets.

                                                                  + *

                                                                  The name of the maintenance window.

                                                                  */ - AllowUnassociatedTargets?: boolean; + Name?: string; /** - *

                                                                  An optional description for the update request.

                                                                  + *

                                                                  The date and time, in ISO-8601 Extended format, for when you want the maintenance window to + * become inactive. EndDate allows you to set a date and time in the future when the maintenance + * window will no longer run.

                                                                  */ - Description?: string; + EndDate?: string; /** *

                                                                  The time zone that the scheduled maintenance window executions are based on, in Internet @@ -7518,12 +7588,6 @@ export interface UpdateMaintenanceWindowRequest { */ ScheduleTimezone?: string; - /** - *

                                                                  The number of hours before the end of the maintenance window that Systems Manager stops scheduling new - * tasks for execution.

                                                                  - */ - Cutoff?: number; - /** *

                                                                  If True, then all fields that are required by the CreateMaintenanceWindow action are also * required for this API request. Optional fields that are not specified are set to null.

                                                                  @@ -7544,21 +7608,30 @@ export interface UpdateMaintenanceWindowRequest { ScheduleOffset?: number; /** - *

                                                                  The name of the maintenance window.

                                                                  + *

                                                                  The ID of the maintenance window to update.

                                                                  */ - Name?: string; + WindowId: string | undefined; /** - *

                                                                  The ID of the maintenance window to update.

                                                                  + *

                                                                  The number of hours before the end of the maintenance window that Systems Manager stops scheduling new + * tasks for execution.

                                                                  */ - WindowId: string | undefined; + Cutoff?: number; /** - *

                                                                  The date and time, in ISO-8601 Extended format, for when you want the maintenance window to - * become inactive. EndDate allows you to set a date and time in the future when the maintenance - * window will no longer run.

                                                                  + *

                                                                  Whether the maintenance window is enabled.

                                                                  */ - EndDate?: string; + Enabled?: boolean; + + /** + *

                                                                  The schedule of the maintenance window in the form of a cron or rate expression.

                                                                  + */ + Schedule?: string; + + /** + *

                                                                  The duration of the maintenance window in hours.

                                                                  + */ + Duration?: number; /** *

                                                                  The time zone that the scheduled maintenance window executions are based on, in Internet @@ -7567,6 +7640,17 @@ export interface UpdateMaintenanceWindowRequest { * Zone Database on the IANA website.

                                                                  */ StartDate?: string; + + /** + *

                                                                  An optional description for the update request.

                                                                  + */ + Description?: string; + + /** + *

                                                                  Whether targets must be registered with the maintenance window before tasks can be defined + * for those targets.

                                                                  + */ + AllowUnassociatedTargets?: boolean; } export namespace UpdateMaintenanceWindowRequest { @@ -7578,28 +7662,31 @@ export namespace UpdateMaintenanceWindowRequest { export interface UpdateMaintenanceWindowResult { /** - *

                                                                  The time zone that the scheduled maintenance window executions are based on, in Internet - * Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "etc/UTC", or - * "Asia/Seoul". For more information, see the Time - * Zone Database on the IANA website.

                                                                  + *

                                                                  An optional description of the update.

                                                                  */ - ScheduleTimezone?: string; + Description?: string; /** - *

                                                                  The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled - * to become active. The maintenance window will not run before this specified time.

                                                                  + *

                                                                  The ID of the created maintenance window.

                                                                  */ - StartDate?: string; + WindowId?: string; /** - *

                                                                  The duration of the maintenance window in hours.

                                                                  + *

                                                                  Whether targets must be registered with the maintenance window before tasks can be defined + * for those targets.

                                                                  */ - Duration?: number; + AllowUnassociatedTargets?: boolean; /** - *

                                                                  The name of the maintenance window.

                                                                  + *

                                                                  Whether the maintenance window is enabled.

                                                                  */ - Name?: string; + Enabled?: boolean; + + /** + *

                                                                  The number of hours before the end of the maintenance window that Systems Manager stops scheduling new + * tasks for execution.

                                                                  + */ + Cutoff?: number; /** *

                                                                  The schedule of the maintenance window in the form of a cron or rate expression.

                                                                  @@ -7613,37 +7700,34 @@ export interface UpdateMaintenanceWindowResult { EndDate?: string; /** - *

                                                                  Whether the maintenance window is enabled.

                                                                  - */ - Enabled?: boolean; - - /** - *

                                                                  The number of hours before the end of the maintenance window that Systems Manager stops scheduling new - * tasks for execution.

                                                                  + *

                                                                  The duration of the maintenance window in hours.

                                                                  */ - Cutoff?: number; + Duration?: number; /** - *

                                                                  Whether targets must be registered with the maintenance window before tasks can be defined - * for those targets.

                                                                  + *

                                                                  The number of days to wait to run a maintenance window after the scheduled CRON expression + * date and time.

                                                                  */ - AllowUnassociatedTargets?: boolean; + ScheduleOffset?: number; /** - *

                                                                  The ID of the created maintenance window.

                                                                  + *

                                                                  The time zone that the scheduled maintenance window executions are based on, in Internet + * Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "etc/UTC", or + * "Asia/Seoul". For more information, see the Time + * Zone Database on the IANA website.

                                                                  */ - WindowId?: string; + ScheduleTimezone?: string; /** - *

                                                                  An optional description of the update.

                                                                  + *

                                                                  The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled + * to become active. The maintenance window will not run before this specified time.

                                                                  */ - Description?: string; + StartDate?: string; /** - *

                                                                  The number of days to wait to run a maintenance window after the scheduled CRON expression - * date and time.

                                                                  + *

                                                                  The name of the maintenance window.

                                                                  */ - ScheduleOffset?: number; + Name?: string; } export namespace UpdateMaintenanceWindowResult { @@ -7655,10 +7739,9 @@ export namespace UpdateMaintenanceWindowResult { export interface UpdateMaintenanceWindowTargetRequest { /** - *

                                                                  User-provided value that will be included in any CloudWatch events raised while running - * tasks for these targets in this maintenance window.

                                                                  + *

                                                                  The maintenance window ID with which to modify the target.

                                                                  */ - OwnerInformation?: string; + WindowId: string | undefined; /** *

                                                                  An optional description for the update.

                                                                  @@ -7678,9 +7761,9 @@ export interface UpdateMaintenanceWindowTargetRequest { Replace?: boolean; /** - *

                                                                  The maintenance window ID with which to modify the target.

                                                                  + *

                                                                  The target ID to modify.

                                                                  */ - WindowId: string | undefined; + WindowTargetId: string | undefined; /** *

                                                                  A name for the update.

                                                                  @@ -7688,24 +7771,25 @@ export interface UpdateMaintenanceWindowTargetRequest { Name?: string; /** - *

                                                                  The target ID to modify.

                                                                  + *

                                                                  User-provided value that will be included in any CloudWatch events raised while running + * tasks for these targets in this maintenance window.

                                                                  */ - WindowTargetId: string | undefined; + OwnerInformation?: string; } export namespace UpdateMaintenanceWindowTargetRequest { export const filterSensitiveLog = (obj: UpdateMaintenanceWindowTargetRequest): any => ({ ...obj, - ...(obj.OwnerInformation && { OwnerInformation: SENSITIVE_STRING }), ...(obj.Description && { Description: SENSITIVE_STRING }), + ...(obj.OwnerInformation && { OwnerInformation: SENSITIVE_STRING }), }); } export interface UpdateMaintenanceWindowTargetResult { /** - *

                                                                  The updated owner.

                                                                  + *

                                                                  The maintenance window ID specified in the update request.

                                                                  */ - OwnerInformation?: string; + WindowId?: string; /** *

                                                                  The updated description.

                                                                  @@ -7713,74 +7797,70 @@ export interface UpdateMaintenanceWindowTargetResult { Description?: string; /** - *

                                                                  The target ID specified in the update request.

                                                                  + *

                                                                  The updated targets.

                                                                  */ - WindowTargetId?: string; + Targets?: Target[]; /** - *

                                                                  The updated name.

                                                                  + *

                                                                  The updated owner.

                                                                  */ - Name?: string; + OwnerInformation?: string; /** - *

                                                                  The updated targets.

                                                                  + *

                                                                  The updated name.

                                                                  */ - Targets?: Target[]; + Name?: string; /** - *

                                                                  The maintenance window ID specified in the update request.

                                                                  + *

                                                                  The target ID specified in the update request.

                                                                  */ - WindowId?: string; + WindowTargetId?: string; } export namespace UpdateMaintenanceWindowTargetResult { export const filterSensitiveLog = (obj: UpdateMaintenanceWindowTargetResult): any => ({ ...obj, - ...(obj.OwnerInformation && { OwnerInformation: SENSITIVE_STRING }), ...(obj.Description && { Description: SENSITIVE_STRING }), + ...(obj.OwnerInformation && { OwnerInformation: SENSITIVE_STRING }), }); } export interface UpdateMaintenanceWindowTaskRequest { /** - *

                                                                  If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow action - * are also required for this API request. Optional fields that are not specified are set to - * null.

                                                                  - */ - Replace?: boolean; - - /** - *

                                                                  The new logging location in Amazon S3 to specify.

                                                                  - * - *

                                                                  - * LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the - * OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. - * For information about how Systems Manager handles these options for the supported maintenance - * window task types, see MaintenanceWindowTaskInvocationParameters.

                                                                  - *
                                                                  + *

                                                                  The task ID to modify.

                                                                  */ - LoggingInfo?: LoggingInfo; + WindowTaskId: string | undefined; /** - *

                                                                  The new task description to specify.

                                                                  + *

                                                                  The maintenance window ID that contains the task to modify.

                                                                  */ - Description?: string; + WindowId: string | undefined; /** - *

                                                                  The new MaxErrors value to specify. MaxErrors is the maximum - * number of errors that are allowed before the task stops being scheduled.

                                                                  + *

                                                                  The new MaxConcurrency value you want to specify. MaxConcurrency + * is the number of targets that are allowed to run this task in parallel.

                                                                  */ - MaxErrors?: string; + MaxConcurrency?: string; /** - *

                                                                  The task ARN to modify.

                                                                  + *

                                                                  The new task name to specify.

                                                                  */ - TaskArn?: string; + Name?: string; /** - *

                                                                  The new task name to specify.

                                                                  + *

                                                                  The parameters to modify.

                                                                  + * + *

                                                                  + * TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, + * instead use the Parameters option in the TaskInvocationParameters structure. For information + * about how Systems Manager handles these options for the supported maintenance window task + * types, see MaintenanceWindowTaskInvocationParameters.

                                                                  + *
                                                                  + *

                                                                  The map has the following format:

                                                                  + *

                                                                  Key: string, between 1 and 255 characters

                                                                  + *

                                                                  Value: an array of strings, each string is between 1 and 255 characters

                                                                  */ - Name?: string; + TaskParameters?: { [key: string]: MaintenanceWindowTaskParameterValueExpression }; /** *

                                                                  The targets (either instances or tags) to modify. Instances are specified using @@ -7790,30 +7870,44 @@ export interface UpdateMaintenanceWindowTaskRequest { Targets?: Target[]; /** - *

                                                                  The maintenance window ID that contains the task to modify.

                                                                  + *

                                                                  The parameters that the task should use during execution. Populate only the fields that + * match the task type. All other fields should be empty.

                                                                  + * + *

                                                                  When you update a maintenance window task that has options specified in + * TaskInvocationParameters, you must provide again all the + * TaskInvocationParameters values that you want to retain. The values you do not + * specify again are removed. For example, suppose that when you registered a Run Command task, you + * specified TaskInvocationParameters values for Comment, + * NotificationConfig, and OutputS3BucketName. If you update the + * maintenance window task and specify only a different OutputS3BucketName value, the + * values for Comment and NotificationConfig are removed.

                                                                  + *
                                                                  */ - WindowId: string | undefined; + TaskInvocationParameters?: MaintenanceWindowTaskInvocationParameters; /** - *

                                                                  The new task priority to specify. The lower the number, the higher the priority. Tasks that - * have the same priority are scheduled in parallel.

                                                                  + *

                                                                  The new task description to specify.

                                                                  */ - Priority?: number; + Description?: string; /** - *

                                                                  The parameters to modify.

                                                                  + *

                                                                  The new logging location in Amazon S3 to specify.

                                                                  * *

                                                                  - * TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, - * instead use the Parameters option in the TaskInvocationParameters structure. For information - * about how Systems Manager handles these options for the supported maintenance window task - * types, see MaintenanceWindowTaskInvocationParameters.

                                                                  + * LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the + * OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. + * For information about how Systems Manager handles these options for the supported maintenance + * window task types, see MaintenanceWindowTaskInvocationParameters.

                                                                  *
                                                                  - *

                                                                  The map has the following format:

                                                                  - *

                                                                  Key: string, between 1 and 255 characters

                                                                  - *

                                                                  Value: an array of strings, each string is between 1 and 255 characters

                                                                  */ - TaskParameters?: { [key: string]: MaintenanceWindowTaskParameterValueExpression }; + LoggingInfo?: LoggingInfo; + + /** + *

                                                                  If True, then all fields that are required by the RegisterTaskWithMaintenanceWindow action + * are also required for this API request. Optional fields that are not specified are set to + * null.

                                                                  + */ + Replace?: boolean; /** *

                                                                  The ARN of the IAM service role for Systems Manager to assume when running a @@ -7839,51 +7933,58 @@ export interface UpdateMaintenanceWindowTaskRequest { ServiceRoleArn?: string; /** - *

                                                                  The task ID to modify.

                                                                  + *

                                                                  The task ARN to modify.

                                                                  */ - WindowTaskId: string | undefined; + TaskArn?: string; /** - *

                                                                  The parameters that the task should use during execution. Populate only the fields that - * match the task type. All other fields should be empty.

                                                                  + *

                                                                  The new task priority to specify. The lower the number, the higher the priority. Tasks that + * have the same priority are scheduled in parallel.

                                                                  */ - TaskInvocationParameters?: MaintenanceWindowTaskInvocationParameters; + Priority?: number; /** - *

                                                                  The new MaxConcurrency value you want to specify. MaxConcurrency - * is the number of targets that are allowed to run this task in parallel.

                                                                  + *

                                                                  The new MaxErrors value to specify. MaxErrors is the maximum + * number of errors that are allowed before the task stops being scheduled.

                                                                  */ - MaxConcurrency?: string; + MaxErrors?: string; } export namespace UpdateMaintenanceWindowTaskRequest { export const filterSensitiveLog = (obj: UpdateMaintenanceWindowTaskRequest): any => ({ ...obj, - ...(obj.Description && { Description: SENSITIVE_STRING }), ...(obj.TaskParameters && { TaskParameters: SENSITIVE_STRING }), ...(obj.TaskInvocationParameters && { TaskInvocationParameters: MaintenanceWindowTaskInvocationParameters.filterSensitiveLog( obj.TaskInvocationParameters ), }), + ...(obj.Description && { Description: SENSITIVE_STRING }), }); } export interface UpdateMaintenanceWindowTaskResult { /** - *

                                                                  The ID of the maintenance window that was updated.

                                                                  + *

                                                                  The updated target values.

                                                                  */ - WindowId?: string; + Targets?: Target[]; /** - *

                                                                  The updated task name.

                                                                  + *

                                                                  The updated logging information in Amazon S3.

                                                                  + * + *

                                                                  + * LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the + * OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. + * For information about how Systems Manager handles these options for the supported maintenance + * window task types, see MaintenanceWindowTaskInvocationParameters.

                                                                  + *
                                                                  */ - Name?: string; + LoggingInfo?: LoggingInfo; /** - *

                                                                  The updated parameter values.

                                                                  + *

                                                                  The updated task ARN value.

                                                                  */ - TaskInvocationParameters?: MaintenanceWindowTaskInvocationParameters; + TaskArn?: string; /** *

                                                                  The updated priority value.

                                                                  @@ -7892,20 +7993,13 @@ export interface UpdateMaintenanceWindowTaskResult { /** *

                                                                  The updated parameter values.

                                                                  - * - *

                                                                  - * TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, - * instead use the Parameters option in the TaskInvocationParameters structure. For information - * about how Systems Manager handles these options for the supported maintenance window task - * types, see MaintenanceWindowTaskInvocationParameters.

                                                                  - *
                                                                  */ - TaskParameters?: { [key: string]: MaintenanceWindowTaskParameterValueExpression }; + TaskInvocationParameters?: MaintenanceWindowTaskInvocationParameters; /** - *

                                                                  The updated target values.

                                                                  + *

                                                                  The ID of the maintenance window that was updated.

                                                                  */ - Targets?: Target[]; + WindowId?: string; /** *

                                                                  The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for @@ -7914,41 +8008,41 @@ export interface UpdateMaintenanceWindowTaskResult { ServiceRoleArn?: string; /** - *

                                                                  The updated task description.

                                                                  - */ - Description?: string; - - /** - *

                                                                  The updated logging information in Amazon S3.

                                                                  + *

                                                                  The updated parameter values.

                                                                  * *

                                                                  - * LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the - * OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. - * For information about how Systems Manager handles these options for the supported maintenance - * window task types, see MaintenanceWindowTaskInvocationParameters.

                                                                  + * TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, + * instead use the Parameters option in the TaskInvocationParameters structure. For information + * about how Systems Manager handles these options for the supported maintenance window task + * types, see MaintenanceWindowTaskInvocationParameters.

                                                                  *
                                                                  */ - LoggingInfo?: LoggingInfo; + TaskParameters?: { [key: string]: MaintenanceWindowTaskParameterValueExpression }; /** - *

                                                                  The updated MaxErrors value.

                                                                  + *

                                                                  The updated MaxConcurrency value.

                                                                  */ - MaxErrors?: string; + MaxConcurrency?: string; /** - *

                                                                  The updated task ARN value.

                                                                  + *

                                                                  The task ID of the maintenance window that was updated.

                                                                  */ - TaskArn?: string; + WindowTaskId?: string; /** - *

                                                                  The updated MaxConcurrency value.

                                                                  + *

                                                                  The updated task name.

                                                                  */ - MaxConcurrency?: string; + Name?: string; /** - *

                                                                  The task ID of the maintenance window that was updated.

                                                                  + *

                                                                  The updated MaxErrors value.

                                                                  + */ + MaxErrors?: string; + + /** + *

                                                                  The updated task description.

                                                                  */ - WindowTaskId?: string; + Description?: string; } export namespace UpdateMaintenanceWindowTaskResult { @@ -7991,17 +8085,6 @@ export namespace UpdateManagedInstanceRoleResult { } export interface UpdateOpsItemRequest { - /** - *

                                                                  Keys that you want to remove from the OperationalData map.

                                                                  - */ - OperationalDataToDelete?: string[]; - - /** - *

                                                                  Update the information about the OpsItem. Provide enough information so that users reading - * this OpsItem for the first time understand the issue.

                                                                  - */ - Description?: string; - /** *

                                                                  The ID of the OpsItem.

                                                                  */ @@ -8033,6 +8116,17 @@ export interface UpdateOpsItemRequest { */ OperationalData?: { [key: string]: OpsItemDataValue }; + /** + *

                                                                  The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this + * OpsItem is edited or changed.

                                                                  + */ + Notifications?: OpsItemNotification[]; + + /** + *

                                                                  The importance of this OpsItem in relation to other OpsItems in the system.

                                                                  + */ + Priority?: number; + /** *

                                                                  Specify a new category for an OpsItem.

                                                                  */ @@ -8046,31 +8140,31 @@ export interface UpdateOpsItemRequest { RelatedOpsItems?: RelatedOpsItem[]; /** - *

                                                                  The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this - * OpsItem is edited or changed.

                                                                  + *

                                                                  The OpsItem status. Status can be Open, In Progress, or + * Resolved. For more information, see Editing OpsItem details in the AWS Systems Manager User Guide.

                                                                  */ - Notifications?: OpsItemNotification[]; + Status?: OpsItemStatus | string; /** - *

                                                                  A short heading that describes the nature of the OpsItem and the impacted resource.

                                                                  + *

                                                                  Specify a new severity for an OpsItem.

                                                                  */ - Title?: string; + Severity?: string; /** - *

                                                                  The OpsItem status. Status can be Open, In Progress, or - * Resolved. For more information, see Editing OpsItem details in the AWS Systems Manager User Guide.

                                                                  + *

                                                                  Update the information about the OpsItem. Provide enough information so that users reading + * this OpsItem for the first time understand the issue.

                                                                  */ - Status?: OpsItemStatus | string; + Description?: string; /** - *

                                                                  The importance of this OpsItem in relation to other OpsItems in the system.

                                                                  + *

                                                                  Keys that you want to remove from the OperationalData map.

                                                                  */ - Priority?: number; + OperationalDataToDelete?: string[]; /** - *

                                                                  Specify a new severity for an OpsItem.

                                                                  + *

                                                                  A short heading that describes the nature of the OpsItem and the impacted resource.

                                                                  */ - Severity?: string; + Title?: string; } export namespace UpdateOpsItemRequest { @@ -8089,31 +8183,9 @@ export namespace UpdateOpsItemResponse { export interface UpdatePatchBaselineRequest { /** - *

                                                                  A list of explicitly rejected patches for the baseline.

                                                                  - *

                                                                  For information about accepted formats for lists of approved patches and rejected patches, - * see About - * package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

                                                                  - */ - RejectedPatches?: string[]; - - /** - *

                                                                  A set of global filters used to include patches in the baseline.

                                                                  - */ - GlobalFilters?: PatchFilterGroup; - - /** - *

                                                                  A list of explicitly approved patches for the baseline.

                                                                  - *

                                                                  For information about accepted formats for lists of approved patches and rejected patches, - * see About - * package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

                                                                  - */ - ApprovedPatches?: string[]; - - /** - *

                                                                  Information about the patches to use to update the instances, including target operating - * systems and source repositories. Applies to Linux instances only.

                                                                  + *

                                                                  The ID of the patch baseline to update.

                                                                  */ - Sources?: PatchSource[]; + BaselineId: string | undefined; /** *

                                                                  The action for Patch Manager to take on patches included in the RejectedPackages @@ -8139,9 +8211,12 @@ export interface UpdatePatchBaselineRequest { RejectedPatchesAction?: PatchAction | string; /** - *

                                                                  A description of the patch baseline.

                                                                  + *

                                                                  A list of explicitly approved patches for the baseline.

                                                                  + *

                                                                  For information about accepted formats for lists of approved patches and rejected patches, + * see About + * package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

                                                                  */ - Description?: string; + ApprovedPatches?: string[]; /** *

                                                                  If True, then all fields that are required by the CreatePatchBaseline action are also @@ -8149,26 +8224,45 @@ export interface UpdatePatchBaselineRequest { */ Replace?: boolean; + /** + *

                                                                  A list of explicitly rejected patches for the baseline.

                                                                  + *

                                                                  For information about accepted formats for lists of approved patches and rejected patches, + * see About + * package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

                                                                  + */ + RejectedPatches?: string[]; + + /** + *

                                                                  A set of rules used to include patches in the baseline.

                                                                  + */ + ApprovalRules?: PatchRuleGroup; + + /** + *

                                                                  A set of global filters used to include patches in the baseline.

                                                                  + */ + GlobalFilters?: PatchFilterGroup; + /** *

                                                                  Assigns a new compliance severity level to an existing patch baseline.

                                                                  */ ApprovedPatchesComplianceLevel?: PatchComplianceLevel | string; /** - *

                                                                  Indicates whether the list of approved patches includes non-security updates that should be - * applied to the instances. The default value is 'false'. Applies to Linux instances only.

                                                                  + *

                                                                  Information about the patches to use to update the instances, including target operating + * systems and source repositories. Applies to Linux instances only.

                                                                  */ - ApprovedPatchesEnableNonSecurity?: boolean; + Sources?: PatchSource[]; /** - *

                                                                  A set of rules used to include patches in the baseline.

                                                                  + *

                                                                  A description of the patch baseline.

                                                                  */ - ApprovalRules?: PatchRuleGroup; + Description?: string; /** - *

                                                                  The ID of the patch baseline to update.

                                                                  + *

                                                                  Indicates whether the list of approved patches includes non-security updates that should be + * applied to the instances. The default value is 'false'. Applies to Linux instances only.

                                                                  */ - BaselineId: string | undefined; + ApprovedPatchesEnableNonSecurity?: boolean; /** *

                                                                  The name of the patch baseline.

                                                                  @@ -8185,25 +8279,27 @@ export namespace UpdatePatchBaselineRequest { export interface UpdatePatchBaselineResult { /** - *

                                                                  Indicates whether the list of approved patches includes non-security updates that should be - * applied to the instances. The default value is 'false'. Applies to Linux instances only.

                                                                  + *

                                                                  The date when the patch baseline was created.

                                                                  */ - ApprovedPatchesEnableNonSecurity?: boolean; + CreatedDate?: Date; /** - *

                                                                  The date when the patch baseline was last modified.

                                                                  + *

                                                                  The compliance severity level assigned to the patch baseline after the update + * completed.

                                                                  */ - ModifiedDate?: Date; + ApprovedPatchesComplianceLevel?: PatchComplianceLevel | string; /** - *

                                                                  A list of explicitly rejected patches for the baseline.

                                                                  + *

                                                                  A list of explicitly approved patches for the baseline.

                                                                  */ - RejectedPatches?: string[]; + ApprovedPatches?: string[]; /** - *

                                                                  A list of explicitly approved patches for the baseline.

                                                                  + *

                                                                  The action specified to take on patches included in the RejectedPatches list. A patch can be + * allowed only if it is a dependency of another package, or blocked entirely along with packages + * that include it as a dependency.

                                                                  */ - ApprovedPatches?: string[]; + RejectedPatchesAction?: PatchAction | string; /** *

                                                                  A set of rules used to include patches in the baseline.

                                                                  @@ -8211,23 +8307,20 @@ export interface UpdatePatchBaselineResult { ApprovalRules?: PatchRuleGroup; /** - *

                                                                  Information about the patches to use to update the instances, including target operating - * systems and source repositories. Applies to Linux instances only.

                                                                  + *

                                                                  The date when the patch baseline was last modified.

                                                                  */ - Sources?: PatchSource[]; + ModifiedDate?: Date; /** - *

                                                                  The action specified to take on patches included in the RejectedPatches list. A patch can be - * allowed only if it is a dependency of another package, or blocked entirely along with packages - * that include it as a dependency.

                                                                  + *

                                                                  Information about the patches to use to update the instances, including target operating + * systems and source repositories. Applies to Linux instances only.

                                                                  */ - RejectedPatchesAction?: PatchAction | string; + Sources?: PatchSource[]; /** - *

                                                                  The compliance severity level assigned to the patch baseline after the update - * completed.

                                                                  + *

                                                                  A list of explicitly rejected patches for the baseline.

                                                                  */ - ApprovedPatchesComplianceLevel?: PatchComplianceLevel | string; + RejectedPatches?: string[]; /** *

                                                                  The name of the patch baseline.

                                                                  @@ -8235,14 +8328,15 @@ export interface UpdatePatchBaselineResult { Name?: string; /** - *

                                                                  The date when the patch baseline was created.

                                                                  + *

                                                                  Indicates whether the list of approved patches includes non-security updates that should be + * applied to the instances. The default value is 'false'. Applies to Linux instances only.

                                                                  */ - CreatedDate?: Date; + ApprovedPatchesEnableNonSecurity?: boolean; /** - *

                                                                  A set of global filters used to exclude patches from the baseline.

                                                                  + *

                                                                  The operating system rule used by the updated patch baseline.

                                                                  */ - GlobalFilters?: PatchFilterGroup; + OperatingSystem?: OperatingSystem | string; /** *

                                                                  The ID of the deleted patch baseline.

                                                                  @@ -8250,14 +8344,14 @@ export interface UpdatePatchBaselineResult { BaselineId?: string; /** - *

                                                                  The operating system rule used by the updated patch baseline.

                                                                  + *

                                                                  A description of the Patch Baseline.

                                                                  */ - OperatingSystem?: OperatingSystem | string; + Description?: string; /** - *

                                                                  A description of the Patch Baseline.

                                                                  + *

                                                                  A set of global filters used to exclude patches from the baseline.

                                                                  */ - Description?: string; + GlobalFilters?: PatchFilterGroup; } export namespace UpdatePatchBaselineResult { @@ -8284,17 +8378,17 @@ export namespace ResourceDataSyncConflictException { } export interface UpdateResourceDataSyncRequest { - /** - *

                                                                  Specify information about the data sources to synchronize.

                                                                  - */ - SyncSource: ResourceDataSyncSource | undefined; - /** *

                                                                  The type of resource data sync. The supported SyncType is * SyncFromSource.

                                                                  */ SyncType: string | undefined; + /** + *

                                                                  Specify information about the data sources to synchronize.

                                                                  + */ + SyncSource: ResourceDataSyncSource | undefined; + /** *

                                                                  The name of the resource data sync you want to update.

                                                                  */ @@ -8319,6 +8413,27 @@ export namespace UpdateResourceDataSyncResult { *

                                                                  The request body of the UpdateServiceSetting API action.

                                                                  */ export interface UpdateServiceSettingRequest { + /** + *

                                                                  The new value to specify for the service setting. For the + * /ssm/parameter-store/default-parameter-tier setting ID, the setting value can be + * one of the following.

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    Standard

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Advanced

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    Intelligent-Tiering

                                                                    + *
                                                                  • + *
                                                                  + *

                                                                  For the /ssm/parameter-store/high-throughput-enabled, and + * /ssm/managed-instance/activation-tier setting IDs, the setting value can be true or + * false.

                                                                  + */ + SettingValue: string | undefined; + /** *

                                                                  The Amazon Resource Name (ARN) of the service setting to reset. For example, * arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled. @@ -8342,27 +8457,6 @@ export interface UpdateServiceSettingRequest { *

                                                                */ SettingId: string | undefined; - - /** - *

                                                                The new value to specify for the service setting. For the - * /ssm/parameter-store/default-parameter-tier setting ID, the setting value can be - * one of the following.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  Standard

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Advanced

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Intelligent-Tiering

                                                                  - *
                                                                • - *
                                                                - *

                                                                For the /ssm/parameter-store/high-throughput-enabled, and - * /ssm/managed-instance/activation-tier setting IDs, the setting value can be true or - * false.

                                                                - */ - SettingValue: string | undefined; } export namespace UpdateServiceSettingRequest { @@ -8421,9 +8515,9 @@ export interface OpsAggregator { TypeName?: string; /** - *

                                                                The aggregator value.

                                                                + *

                                                                The name of an OpsItem attribute on which to limit the count of OpsItems.

                                                                */ - Values?: { [key: string]: string }; + AttributeName?: string; /** *

                                                                Either a Range or Count aggregator for limiting an OpsItem summary.

                                                                @@ -8436,9 +8530,9 @@ export interface OpsAggregator { Aggregators?: OpsAggregator[]; /** - *

                                                                The name of an OpsItem attribute on which to limit the count of OpsItems.

                                                                + *

                                                                The aggregator value.

                                                                */ - AttributeName?: string; + Values?: { [key: string]: string }; /** *

                                                                The aggregator filters.

                                                                @@ -8458,12 +8552,6 @@ export interface GetInventoryRequest { */ Filters?: InventoryFilter[]; - /** - *

                                                                The token for the next set of items to return. (You received this token from a previous - * call.)

                                                                - */ - NextToken?: string; - /** *

                                                                Returns counts of inventory types based on one or more expressions. For example, if you * aggregate by using an expression that uses the AWS:InstanceInformation.PlatformType @@ -8478,6 +8566,12 @@ export interface GetInventoryRequest { */ MaxResults?: number; + /** + *

                                                                The token for the next set of items to return. (You received this token from a previous + * call.)

                                                                + */ + NextToken?: string; + /** *

                                                                The list of inventory item types to return.

                                                                */ @@ -8491,12 +8585,6 @@ export namespace GetInventoryRequest { } export interface GetOpsSummaryRequest { - /** - *

                                                                The maximum number of items to return for this call. The call also returns a token that you - * can specify in a subsequent call to get the next set of results.

                                                                - */ - MaxResults?: number; - /** *

                                                                Optional aggregators that return counts of OpsItems based on one or more expressions.

                                                                */ @@ -8513,14 +8601,20 @@ export interface GetOpsSummaryRequest { NextToken?: string; /** - *

                                                                Specify the name of a resource data sync to get.

                                                                + *

                                                                The maximum number of items to return for this call. The call also returns a token that you + * can specify in a subsequent call to get the next set of results.

                                                                */ - SyncName?: string; + MaxResults?: number; /** *

                                                                The OpsItem data type to return.

                                                                */ ResultAttributes?: OpsResultAttribute[]; + + /** + *

                                                                Specify the name of a resource data sync to get.

                                                                + */ + SyncName?: string; } export namespace GetOpsSummaryRequest { diff --git a/clients/client-ssm/pagination/DescribeAssociationExecutionTargetsPaginator.ts b/clients/client-ssm/pagination/DescribeAssociationExecutionTargetsPaginator.ts new file mode 100644 index 000000000000..c84a60f9a7d5 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeAssociationExecutionTargetsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeAssociationExecutionTargetsCommand, + DescribeAssociationExecutionTargetsCommandInput, + DescribeAssociationExecutionTargetsCommandOutput, +} from "../commands/DescribeAssociationExecutionTargetsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeAssociationExecutionTargetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeAssociationExecutionTargetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeAssociationExecutionTargetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeAssociationExecutionTargets(input, ...args); +}; +export async function* describeAssociationExecutionTargetsPaginate( + config: SSMPaginationConfiguration, + input: DescribeAssociationExecutionTargetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeAssociationExecutionTargetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeAssociationExecutionsPaginator.ts b/clients/client-ssm/pagination/DescribeAssociationExecutionsPaginator.ts new file mode 100644 index 000000000000..4371e35453e9 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeAssociationExecutionsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeAssociationExecutionsCommand, + DescribeAssociationExecutionsCommandInput, + DescribeAssociationExecutionsCommandOutput, +} from "../commands/DescribeAssociationExecutionsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeAssociationExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeAssociationExecutionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeAssociationExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeAssociationExecutions(input, ...args); +}; +export async function* describeAssociationExecutionsPaginate( + config: SSMPaginationConfiguration, + input: DescribeAssociationExecutionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeAssociationExecutionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeAutomationExecutionsPaginator.ts b/clients/client-ssm/pagination/DescribeAutomationExecutionsPaginator.ts new file mode 100644 index 000000000000..38f071a157ab --- /dev/null +++ b/clients/client-ssm/pagination/DescribeAutomationExecutionsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeAutomationExecutionsCommand, + DescribeAutomationExecutionsCommandInput, + DescribeAutomationExecutionsCommandOutput, +} from "../commands/DescribeAutomationExecutionsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeAutomationExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeAutomationExecutionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeAutomationExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeAutomationExecutions(input, ...args); +}; +export async function* describeAutomationExecutionsPaginate( + config: SSMPaginationConfiguration, + input: DescribeAutomationExecutionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeAutomationExecutionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeAutomationStepExecutionsPaginator.ts b/clients/client-ssm/pagination/DescribeAutomationStepExecutionsPaginator.ts new file mode 100644 index 000000000000..faede5434261 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeAutomationStepExecutionsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeAutomationStepExecutionsCommand, + DescribeAutomationStepExecutionsCommandInput, + DescribeAutomationStepExecutionsCommandOutput, +} from "../commands/DescribeAutomationStepExecutionsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeAutomationStepExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeAutomationStepExecutionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeAutomationStepExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeAutomationStepExecutions(input, ...args); +}; +export async function* describeAutomationStepExecutionsPaginate( + config: SSMPaginationConfiguration, + input: DescribeAutomationStepExecutionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeAutomationStepExecutionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeAvailablePatchesPaginator.ts b/clients/client-ssm/pagination/DescribeAvailablePatchesPaginator.ts new file mode 100644 index 000000000000..796f3264a66f --- /dev/null +++ b/clients/client-ssm/pagination/DescribeAvailablePatchesPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeAvailablePatchesCommand, + DescribeAvailablePatchesCommandInput, + DescribeAvailablePatchesCommandOutput, +} from "../commands/DescribeAvailablePatchesCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeAvailablePatchesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeAvailablePatchesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeAvailablePatchesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeAvailablePatches(input, ...args); +}; +export async function* describeAvailablePatchesPaginate( + config: SSMPaginationConfiguration, + input: DescribeAvailablePatchesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeAvailablePatchesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeEffectiveInstanceAssociationsPaginator.ts b/clients/client-ssm/pagination/DescribeEffectiveInstanceAssociationsPaginator.ts new file mode 100644 index 000000000000..7702820aec3b --- /dev/null +++ b/clients/client-ssm/pagination/DescribeEffectiveInstanceAssociationsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeEffectiveInstanceAssociationsCommand, + DescribeEffectiveInstanceAssociationsCommandInput, + DescribeEffectiveInstanceAssociationsCommandOutput, +} from "../commands/DescribeEffectiveInstanceAssociationsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeEffectiveInstanceAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEffectiveInstanceAssociationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeEffectiveInstanceAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEffectiveInstanceAssociations(input, ...args); +}; +export async function* describeEffectiveInstanceAssociationsPaginate( + config: SSMPaginationConfiguration, + input: DescribeEffectiveInstanceAssociationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEffectiveInstanceAssociationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeEffectivePatchesForPatchBaselinePaginator.ts b/clients/client-ssm/pagination/DescribeEffectivePatchesForPatchBaselinePaginator.ts new file mode 100644 index 000000000000..379814cff46f --- /dev/null +++ b/clients/client-ssm/pagination/DescribeEffectivePatchesForPatchBaselinePaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeEffectivePatchesForPatchBaselineCommand, + DescribeEffectivePatchesForPatchBaselineCommandInput, + DescribeEffectivePatchesForPatchBaselineCommandOutput, +} from "../commands/DescribeEffectivePatchesForPatchBaselineCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeEffectivePatchesForPatchBaselineCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeEffectivePatchesForPatchBaselineCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeEffectivePatchesForPatchBaselineCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeEffectivePatchesForPatchBaseline(input, ...args); +}; +export async function* describeEffectivePatchesForPatchBaselinePaginate( + config: SSMPaginationConfiguration, + input: DescribeEffectivePatchesForPatchBaselineCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeEffectivePatchesForPatchBaselineCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeInstanceAssociationsStatusPaginator.ts b/clients/client-ssm/pagination/DescribeInstanceAssociationsStatusPaginator.ts new file mode 100644 index 000000000000..19589bdb0bb3 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeInstanceAssociationsStatusPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeInstanceAssociationsStatusCommand, + DescribeInstanceAssociationsStatusCommandInput, + DescribeInstanceAssociationsStatusCommandOutput, +} from "../commands/DescribeInstanceAssociationsStatusCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeInstanceAssociationsStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInstanceAssociationsStatusCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeInstanceAssociationsStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInstanceAssociationsStatus(input, ...args); +}; +export async function* describeInstanceAssociationsStatusPaginate( + config: SSMPaginationConfiguration, + input: DescribeInstanceAssociationsStatusCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInstanceAssociationsStatusCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeInstancePatchStatesForPatchGroupPaginator.ts b/clients/client-ssm/pagination/DescribeInstancePatchStatesForPatchGroupPaginator.ts new file mode 100644 index 000000000000..3fbf98250cc9 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeInstancePatchStatesForPatchGroupPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeInstancePatchStatesForPatchGroupCommand, + DescribeInstancePatchStatesForPatchGroupCommandInput, + DescribeInstancePatchStatesForPatchGroupCommandOutput, +} from "../commands/DescribeInstancePatchStatesForPatchGroupCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeInstancePatchStatesForPatchGroupCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInstancePatchStatesForPatchGroupCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeInstancePatchStatesForPatchGroupCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInstancePatchStatesForPatchGroup(input, ...args); +}; +export async function* describeInstancePatchStatesForPatchGroupPaginate( + config: SSMPaginationConfiguration, + input: DescribeInstancePatchStatesForPatchGroupCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInstancePatchStatesForPatchGroupCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeInstancePatchStatesPaginator.ts b/clients/client-ssm/pagination/DescribeInstancePatchStatesPaginator.ts new file mode 100644 index 000000000000..bce305842c27 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeInstancePatchStatesPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeInstancePatchStatesCommand, + DescribeInstancePatchStatesCommandInput, + DescribeInstancePatchStatesCommandOutput, +} from "../commands/DescribeInstancePatchStatesCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeInstancePatchStatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInstancePatchStatesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeInstancePatchStatesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInstancePatchStates(input, ...args); +}; +export async function* describeInstancePatchStatesPaginate( + config: SSMPaginationConfiguration, + input: DescribeInstancePatchStatesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInstancePatchStatesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeInstancePatchesPaginator.ts b/clients/client-ssm/pagination/DescribeInstancePatchesPaginator.ts new file mode 100644 index 000000000000..7c0067ad646d --- /dev/null +++ b/clients/client-ssm/pagination/DescribeInstancePatchesPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeInstancePatchesCommand, + DescribeInstancePatchesCommandInput, + DescribeInstancePatchesCommandOutput, +} from "../commands/DescribeInstancePatchesCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeInstancePatchesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInstancePatchesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeInstancePatchesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInstancePatches(input, ...args); +}; +export async function* describeInstancePatchesPaginate( + config: SSMPaginationConfiguration, + input: DescribeInstancePatchesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInstancePatchesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeInventoryDeletionsPaginator.ts b/clients/client-ssm/pagination/DescribeInventoryDeletionsPaginator.ts new file mode 100644 index 000000000000..2b9253a443d7 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeInventoryDeletionsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeInventoryDeletionsCommand, + DescribeInventoryDeletionsCommandInput, + DescribeInventoryDeletionsCommandOutput, +} from "../commands/DescribeInventoryDeletionsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeInventoryDeletionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeInventoryDeletionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeInventoryDeletionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeInventoryDeletions(input, ...args); +}; +export async function* describeInventoryDeletionsPaginate( + config: SSMPaginationConfiguration, + input: DescribeInventoryDeletionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeInventoryDeletionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTaskInvocationsPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTaskInvocationsPaginator.ts new file mode 100644 index 000000000000..6b44f113570d --- /dev/null +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTaskInvocationsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeMaintenanceWindowExecutionTaskInvocationsCommand, + DescribeMaintenanceWindowExecutionTaskInvocationsCommandInput, + DescribeMaintenanceWindowExecutionTaskInvocationsCommandOutput, +} from "../commands/DescribeMaintenanceWindowExecutionTaskInvocationsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeMaintenanceWindowExecutionTaskInvocationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMaintenanceWindowExecutionTaskInvocationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeMaintenanceWindowExecutionTaskInvocationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMaintenanceWindowExecutionTaskInvocations(input, ...args); +}; +export async function* describeMaintenanceWindowExecutionTaskInvocationsPaginate( + config: SSMPaginationConfiguration, + input: DescribeMaintenanceWindowExecutionTaskInvocationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMaintenanceWindowExecutionTaskInvocationsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTasksPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTasksPaginator.ts new file mode 100644 index 000000000000..a2afd278cfa8 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTasksPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeMaintenanceWindowExecutionTasksCommand, + DescribeMaintenanceWindowExecutionTasksCommandInput, + DescribeMaintenanceWindowExecutionTasksCommandOutput, +} from "../commands/DescribeMaintenanceWindowExecutionTasksCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeMaintenanceWindowExecutionTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMaintenanceWindowExecutionTasksCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeMaintenanceWindowExecutionTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMaintenanceWindowExecutionTasks(input, ...args); +}; +export async function* describeMaintenanceWindowExecutionTasksPaginate( + config: SSMPaginationConfiguration, + input: DescribeMaintenanceWindowExecutionTasksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMaintenanceWindowExecutionTasksCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionsPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionsPaginator.ts new file mode 100644 index 000000000000..2222eb5c9b99 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeMaintenanceWindowExecutionsCommand, + DescribeMaintenanceWindowExecutionsCommandInput, + DescribeMaintenanceWindowExecutionsCommandOutput, +} from "../commands/DescribeMaintenanceWindowExecutionsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeMaintenanceWindowExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMaintenanceWindowExecutionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeMaintenanceWindowExecutionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMaintenanceWindowExecutions(input, ...args); +}; +export async function* describeMaintenanceWindowExecutionsPaginate( + config: SSMPaginationConfiguration, + input: DescribeMaintenanceWindowExecutionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMaintenanceWindowExecutionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowSchedulePaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowSchedulePaginator.ts new file mode 100644 index 000000000000..3cb4c65c6dda --- /dev/null +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowSchedulePaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeMaintenanceWindowScheduleCommand, + DescribeMaintenanceWindowScheduleCommandInput, + DescribeMaintenanceWindowScheduleCommandOutput, +} from "../commands/DescribeMaintenanceWindowScheduleCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeMaintenanceWindowScheduleCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMaintenanceWindowScheduleCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeMaintenanceWindowScheduleCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMaintenanceWindowSchedule(input, ...args); +}; +export async function* describeMaintenanceWindowSchedulePaginate( + config: SSMPaginationConfiguration, + input: DescribeMaintenanceWindowScheduleCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMaintenanceWindowScheduleCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowTargetsPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowTargetsPaginator.ts new file mode 100644 index 000000000000..038bfc112856 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowTargetsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeMaintenanceWindowTargetsCommand, + DescribeMaintenanceWindowTargetsCommandInput, + DescribeMaintenanceWindowTargetsCommandOutput, +} from "../commands/DescribeMaintenanceWindowTargetsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeMaintenanceWindowTargetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMaintenanceWindowTargetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeMaintenanceWindowTargetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMaintenanceWindowTargets(input, ...args); +}; +export async function* describeMaintenanceWindowTargetsPaginate( + config: SSMPaginationConfiguration, + input: DescribeMaintenanceWindowTargetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMaintenanceWindowTargetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowTasksPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowTasksPaginator.ts new file mode 100644 index 000000000000..e618daa03d10 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowTasksPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeMaintenanceWindowTasksCommand, + DescribeMaintenanceWindowTasksCommandInput, + DescribeMaintenanceWindowTasksCommandOutput, +} from "../commands/DescribeMaintenanceWindowTasksCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeMaintenanceWindowTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMaintenanceWindowTasksCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeMaintenanceWindowTasksCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMaintenanceWindowTasks(input, ...args); +}; +export async function* describeMaintenanceWindowTasksPaginate( + config: SSMPaginationConfiguration, + input: DescribeMaintenanceWindowTasksCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMaintenanceWindowTasksCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowsForTargetPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowsForTargetPaginator.ts new file mode 100644 index 000000000000..123e48618017 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowsForTargetPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeMaintenanceWindowsForTargetCommand, + DescribeMaintenanceWindowsForTargetCommandInput, + DescribeMaintenanceWindowsForTargetCommandOutput, +} from "../commands/DescribeMaintenanceWindowsForTargetCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeMaintenanceWindowsForTargetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMaintenanceWindowsForTargetCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeMaintenanceWindowsForTargetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMaintenanceWindowsForTarget(input, ...args); +}; +export async function* describeMaintenanceWindowsForTargetPaginate( + config: SSMPaginationConfiguration, + input: DescribeMaintenanceWindowsForTargetCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMaintenanceWindowsForTargetCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowsPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowsPaginator.ts new file mode 100644 index 000000000000..96ec15a00977 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeMaintenanceWindowsCommand, + DescribeMaintenanceWindowsCommandInput, + DescribeMaintenanceWindowsCommandOutput, +} from "../commands/DescribeMaintenanceWindowsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeMaintenanceWindowsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeMaintenanceWindowsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeMaintenanceWindowsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeMaintenanceWindows(input, ...args); +}; +export async function* describeMaintenanceWindowsPaginate( + config: SSMPaginationConfiguration, + input: DescribeMaintenanceWindowsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeMaintenanceWindowsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeOpsItemsPaginator.ts b/clients/client-ssm/pagination/DescribeOpsItemsPaginator.ts new file mode 100644 index 000000000000..77c6ab18468b --- /dev/null +++ b/clients/client-ssm/pagination/DescribeOpsItemsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeOpsItemsCommand, + DescribeOpsItemsCommandInput, + DescribeOpsItemsCommandOutput, +} from "../commands/DescribeOpsItemsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeOpsItemsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeOpsItemsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeOpsItemsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeOpsItems(input, ...args); +}; +export async function* describeOpsItemsPaginate( + config: SSMPaginationConfiguration, + input: DescribeOpsItemsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeOpsItemsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribePatchBaselinesPaginator.ts b/clients/client-ssm/pagination/DescribePatchBaselinesPaginator.ts new file mode 100644 index 000000000000..71933f470ef5 --- /dev/null +++ b/clients/client-ssm/pagination/DescribePatchBaselinesPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribePatchBaselinesCommand, + DescribePatchBaselinesCommandInput, + DescribePatchBaselinesCommandOutput, +} from "../commands/DescribePatchBaselinesCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribePatchBaselinesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribePatchBaselinesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribePatchBaselinesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describePatchBaselines(input, ...args); +}; +export async function* describePatchBaselinesPaginate( + config: SSMPaginationConfiguration, + input: DescribePatchBaselinesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribePatchBaselinesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribePatchGroupsPaginator.ts b/clients/client-ssm/pagination/DescribePatchGroupsPaginator.ts new file mode 100644 index 000000000000..624fae743f37 --- /dev/null +++ b/clients/client-ssm/pagination/DescribePatchGroupsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribePatchGroupsCommand, + DescribePatchGroupsCommandInput, + DescribePatchGroupsCommandOutput, +} from "../commands/DescribePatchGroupsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribePatchGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribePatchGroupsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribePatchGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describePatchGroups(input, ...args); +}; +export async function* describePatchGroupsPaginate( + config: SSMPaginationConfiguration, + input: DescribePatchGroupsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribePatchGroupsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribePatchPropertiesPaginator.ts b/clients/client-ssm/pagination/DescribePatchPropertiesPaginator.ts new file mode 100644 index 000000000000..62752f2cedc7 --- /dev/null +++ b/clients/client-ssm/pagination/DescribePatchPropertiesPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribePatchPropertiesCommand, + DescribePatchPropertiesCommandInput, + DescribePatchPropertiesCommandOutput, +} from "../commands/DescribePatchPropertiesCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribePatchPropertiesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribePatchPropertiesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribePatchPropertiesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describePatchProperties(input, ...args); +}; +export async function* describePatchPropertiesPaginate( + config: SSMPaginationConfiguration, + input: DescribePatchPropertiesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribePatchPropertiesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/DescribeSessionsPaginator.ts b/clients/client-ssm/pagination/DescribeSessionsPaginator.ts new file mode 100644 index 000000000000..5be498877754 --- /dev/null +++ b/clients/client-ssm/pagination/DescribeSessionsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + DescribeSessionsCommand, + DescribeSessionsCommandInput, + DescribeSessionsCommandOutput, +} from "../commands/DescribeSessionsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: DescribeSessionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeSessionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: DescribeSessionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeSessions(input, ...args); +}; +export async function* describeSessionsPaginate( + config: SSMPaginationConfiguration, + input: DescribeSessionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeSessionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/GetInventoryPaginator.ts b/clients/client-ssm/pagination/GetInventoryPaginator.ts new file mode 100644 index 000000000000..d278aa92555f --- /dev/null +++ b/clients/client-ssm/pagination/GetInventoryPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + GetInventoryCommand, + GetInventoryCommandInput, + GetInventoryCommandOutput, +} from "../commands/GetInventoryCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: GetInventoryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetInventoryCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: GetInventoryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getInventory(input, ...args); +}; +export async function* getInventoryPaginate( + config: SSMPaginationConfiguration, + input: GetInventoryCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetInventoryCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/GetInventorySchemaPaginator.ts b/clients/client-ssm/pagination/GetInventorySchemaPaginator.ts new file mode 100644 index 000000000000..edd876d7586f --- /dev/null +++ b/clients/client-ssm/pagination/GetInventorySchemaPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + GetInventorySchemaCommand, + GetInventorySchemaCommandInput, + GetInventorySchemaCommandOutput, +} from "../commands/GetInventorySchemaCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: GetInventorySchemaCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetInventorySchemaCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: GetInventorySchemaCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getInventorySchema(input, ...args); +}; +export async function* getInventorySchemaPaginate( + config: SSMPaginationConfiguration, + input: GetInventorySchemaCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetInventorySchemaCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/GetOpsSummaryPaginator.ts b/clients/client-ssm/pagination/GetOpsSummaryPaginator.ts new file mode 100644 index 000000000000..3382970d99a4 --- /dev/null +++ b/clients/client-ssm/pagination/GetOpsSummaryPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + GetOpsSummaryCommand, + GetOpsSummaryCommandInput, + GetOpsSummaryCommandOutput, +} from "../commands/GetOpsSummaryCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: GetOpsSummaryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetOpsSummaryCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: GetOpsSummaryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getOpsSummary(input, ...args); +}; +export async function* getOpsSummaryPaginate( + config: SSMPaginationConfiguration, + input: GetOpsSummaryCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: GetOpsSummaryCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/ListAssociationVersionsPaginator.ts b/clients/client-ssm/pagination/ListAssociationVersionsPaginator.ts new file mode 100644 index 000000000000..d3e36cc75204 --- /dev/null +++ b/clients/client-ssm/pagination/ListAssociationVersionsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + ListAssociationVersionsCommand, + ListAssociationVersionsCommandInput, + ListAssociationVersionsCommandOutput, +} from "../commands/ListAssociationVersionsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: ListAssociationVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAssociationVersionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: ListAssociationVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAssociationVersions(input, ...args); +}; +export async function* listAssociationVersionsPaginate( + config: SSMPaginationConfiguration, + input: ListAssociationVersionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAssociationVersionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/ListComplianceItemsPaginator.ts b/clients/client-ssm/pagination/ListComplianceItemsPaginator.ts new file mode 100644 index 000000000000..2a2058d5786e --- /dev/null +++ b/clients/client-ssm/pagination/ListComplianceItemsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + ListComplianceItemsCommand, + ListComplianceItemsCommandInput, + ListComplianceItemsCommandOutput, +} from "../commands/ListComplianceItemsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: ListComplianceItemsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListComplianceItemsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: ListComplianceItemsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listComplianceItems(input, ...args); +}; +export async function* listComplianceItemsPaginate( + config: SSMPaginationConfiguration, + input: ListComplianceItemsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListComplianceItemsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/ListComplianceSummariesPaginator.ts b/clients/client-ssm/pagination/ListComplianceSummariesPaginator.ts new file mode 100644 index 000000000000..32e547f30ce2 --- /dev/null +++ b/clients/client-ssm/pagination/ListComplianceSummariesPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + ListComplianceSummariesCommand, + ListComplianceSummariesCommandInput, + ListComplianceSummariesCommandOutput, +} from "../commands/ListComplianceSummariesCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: ListComplianceSummariesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListComplianceSummariesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: ListComplianceSummariesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listComplianceSummaries(input, ...args); +}; +export async function* listComplianceSummariesPaginate( + config: SSMPaginationConfiguration, + input: ListComplianceSummariesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListComplianceSummariesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/ListDocumentVersionsPaginator.ts b/clients/client-ssm/pagination/ListDocumentVersionsPaginator.ts new file mode 100644 index 000000000000..557b36905b6d --- /dev/null +++ b/clients/client-ssm/pagination/ListDocumentVersionsPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + ListDocumentVersionsCommand, + ListDocumentVersionsCommandInput, + ListDocumentVersionsCommandOutput, +} from "../commands/ListDocumentVersionsCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: ListDocumentVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListDocumentVersionsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: ListDocumentVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listDocumentVersions(input, ...args); +}; +export async function* listDocumentVersionsPaginate( + config: SSMPaginationConfiguration, + input: ListDocumentVersionsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListDocumentVersionsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/ListResourceComplianceSummariesPaginator.ts b/clients/client-ssm/pagination/ListResourceComplianceSummariesPaginator.ts new file mode 100644 index 000000000000..918178c51b0c --- /dev/null +++ b/clients/client-ssm/pagination/ListResourceComplianceSummariesPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + ListResourceComplianceSummariesCommand, + ListResourceComplianceSummariesCommandInput, + ListResourceComplianceSummariesCommandOutput, +} from "../commands/ListResourceComplianceSummariesCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: ListResourceComplianceSummariesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListResourceComplianceSummariesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: ListResourceComplianceSummariesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listResourceComplianceSummaries(input, ...args); +}; +export async function* listResourceComplianceSummariesPaginate( + config: SSMPaginationConfiguration, + input: ListResourceComplianceSummariesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListResourceComplianceSummariesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/pagination/ListResourceDataSyncPaginator.ts b/clients/client-ssm/pagination/ListResourceDataSyncPaginator.ts new file mode 100644 index 000000000000..210e7a27aad3 --- /dev/null +++ b/clients/client-ssm/pagination/ListResourceDataSyncPaginator.ts @@ -0,0 +1,51 @@ +import { SSM } from "../SSM"; +import { SSMClient } from "../SSMClient"; +import { + ListResourceDataSyncCommand, + ListResourceDataSyncCommandInput, + ListResourceDataSyncCommandOutput, +} from "../commands/ListResourceDataSyncCommand"; +import { SSMPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSMClient, + input: ListResourceDataSyncCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListResourceDataSyncCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSM, + input: ListResourceDataSyncCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listResourceDataSync(input, ...args); +}; +export async function* listResourceDataSyncPaginate( + config: SSMPaginationConfiguration, + input: ListResourceDataSyncCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListResourceDataSyncCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSM | SSMClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ssm/protocols/Aws_json1_1.ts b/clients/client-ssm/protocols/Aws_json1_1.ts index 72bf25de667a..98176b275a3a 100644 --- a/clients/client-ssm/protocols/Aws_json1_1.ts +++ b/clients/client-ssm/protocols/Aws_json1_1.ts @@ -20187,27 +20187,50 @@ const deserializeAws_json1_1ParameterVersionNotFound = ( const deserializeAws_json1_1Patch = (output: any, context: __SerdeContext): Patch => { return { + AdvisoryIds: + output.AdvisoryIds !== undefined && output.AdvisoryIds !== null + ? deserializeAws_json1_1PatchAdvisoryIdList(output.AdvisoryIds, context) + : undefined, + Arch: output.Arch !== undefined && output.Arch !== null ? output.Arch : undefined, + BugzillaIds: + output.BugzillaIds !== undefined && output.BugzillaIds !== null + ? deserializeAws_json1_1PatchBugzillaIdList(output.BugzillaIds, context) + : undefined, + CVEIds: + output.CVEIds !== undefined && output.CVEIds !== null + ? deserializeAws_json1_1PatchCVEIdList(output.CVEIds, context) + : undefined, Classification: output.Classification !== undefined && output.Classification !== null ? output.Classification : undefined, ContentUrl: output.ContentUrl !== undefined && output.ContentUrl !== null ? output.ContentUrl : undefined, Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + Epoch: output.Epoch !== undefined && output.Epoch !== null ? output.Epoch : undefined, Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, KbNumber: output.KbNumber !== undefined && output.KbNumber !== null ? output.KbNumber : undefined, Language: output.Language !== undefined && output.Language !== null ? output.Language : undefined, MsrcNumber: output.MsrcNumber !== undefined && output.MsrcNumber !== null ? output.MsrcNumber : undefined, MsrcSeverity: output.MsrcSeverity !== undefined && output.MsrcSeverity !== null ? output.MsrcSeverity : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, Product: output.Product !== undefined && output.Product !== null ? output.Product : undefined, ProductFamily: output.ProductFamily !== undefined && output.ProductFamily !== null ? output.ProductFamily : undefined, + Release: output.Release !== undefined && output.Release !== null ? output.Release : undefined, ReleaseDate: output.ReleaseDate !== undefined && output.ReleaseDate !== null ? new Date(Math.round(output.ReleaseDate * 1000)) : undefined, + Repository: output.Repository !== undefined && output.Repository !== null ? output.Repository : undefined, + Severity: output.Severity !== undefined && output.Severity !== null ? output.Severity : undefined, Title: output.Title !== undefined && output.Title !== null ? output.Title : undefined, Vendor: output.Vendor !== undefined && output.Vendor !== null ? output.Vendor : undefined, + Version: output.Version !== undefined && output.Version !== null ? output.Version : undefined, } as any; }; +const deserializeAws_json1_1PatchAdvisoryIdList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1PatchBaselineIdentity = (output: any, context: __SerdeContext): PatchBaselineIdentity => { return { BaselineDescription: @@ -20230,6 +20253,10 @@ const deserializeAws_json1_1PatchBaselineIdentityList = ( return (output || []).map((entry: any) => deserializeAws_json1_1PatchBaselineIdentity(entry, context)); }; +const deserializeAws_json1_1PatchBugzillaIdList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1PatchComplianceData = (output: any, context: __SerdeContext): PatchComplianceData => { return { Classification: @@ -20249,6 +20276,10 @@ const deserializeAws_json1_1PatchComplianceDataList = (output: any, context: __S return (output || []).map((entry: any) => deserializeAws_json1_1PatchComplianceData(entry, context)); }; +const deserializeAws_json1_1PatchCVEIdList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1PatchFilter = (output: any, context: __SerdeContext): PatchFilter => { return { Key: output.Key !== undefined && output.Key !== null ? output.Key : undefined, diff --git a/clients/client-sso-admin/.gitignore b/clients/client-sso-admin/.gitignore new file mode 100644 index 000000000000..b41c05b597c4 --- /dev/null +++ b/clients/client-sso-admin/.gitignore @@ -0,0 +1,14 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/types/ +/dist/ +*.tsbuildinfo +*.tgz +*.log +package-lock.json + +*.d.ts +*.js +*.js.map diff --git a/clients/client-sso-admin/.npmignore b/clients/client-sso-admin/.npmignore new file mode 100644 index 000000000000..b7ff81137c4a --- /dev/null +++ b/clients/client-sso-admin/.npmignore @@ -0,0 +1,4 @@ +/coverage/ +/docs/ +tsconfig.test.json +*.tsbuildinfo diff --git a/clients/client-sso-admin/LICENSE b/clients/client-sso-admin/LICENSE new file mode 100644 index 000000000000..dd65ae06be7a --- /dev/null +++ b/clients/client-sso-admin/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-sso-admin/README.md b/clients/client-sso-admin/README.md new file mode 100644 index 000000000000..5e0c0d0c551b --- /dev/null +++ b/clients/client-sso-admin/README.md @@ -0,0 +1,6 @@ +@aws-sdk/client-sso-admin + +[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-sso-admin/beta.svg)](https://www.npmjs.com/package/@aws-sdk/client-sso-admin) +[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-sso-admin.svg)](https://www.npmjs.com/package/@aws-sdk/client-sso-admin) + +For SDK usage, please step to [SDK readme](https://github.com/aws/aws-sdk-js-v3). diff --git a/clients/client-sso-admin/SSOAdmin.ts b/clients/client-sso-admin/SSOAdmin.ts new file mode 100644 index 000000000000..007e35129b43 --- /dev/null +++ b/clients/client-sso-admin/SSOAdmin.ts @@ -0,0 +1,1032 @@ +import { SSOAdminClient } from "./SSOAdminClient"; +import { + AttachManagedPolicyToPermissionSetCommand, + AttachManagedPolicyToPermissionSetCommandInput, + AttachManagedPolicyToPermissionSetCommandOutput, +} from "./commands/AttachManagedPolicyToPermissionSetCommand"; +import { + CreateAccountAssignmentCommand, + CreateAccountAssignmentCommandInput, + CreateAccountAssignmentCommandOutput, +} from "./commands/CreateAccountAssignmentCommand"; +import { + CreatePermissionSetCommand, + CreatePermissionSetCommandInput, + CreatePermissionSetCommandOutput, +} from "./commands/CreatePermissionSetCommand"; +import { + DeleteAccountAssignmentCommand, + DeleteAccountAssignmentCommandInput, + DeleteAccountAssignmentCommandOutput, +} from "./commands/DeleteAccountAssignmentCommand"; +import { + DeleteInlinePolicyFromPermissionSetCommand, + DeleteInlinePolicyFromPermissionSetCommandInput, + DeleteInlinePolicyFromPermissionSetCommandOutput, +} from "./commands/DeleteInlinePolicyFromPermissionSetCommand"; +import { + DeletePermissionSetCommand, + DeletePermissionSetCommandInput, + DeletePermissionSetCommandOutput, +} from "./commands/DeletePermissionSetCommand"; +import { + DescribeAccountAssignmentCreationStatusCommand, + DescribeAccountAssignmentCreationStatusCommandInput, + DescribeAccountAssignmentCreationStatusCommandOutput, +} from "./commands/DescribeAccountAssignmentCreationStatusCommand"; +import { + DescribeAccountAssignmentDeletionStatusCommand, + DescribeAccountAssignmentDeletionStatusCommandInput, + DescribeAccountAssignmentDeletionStatusCommandOutput, +} from "./commands/DescribeAccountAssignmentDeletionStatusCommand"; +import { + DescribePermissionSetCommand, + DescribePermissionSetCommandInput, + DescribePermissionSetCommandOutput, +} from "./commands/DescribePermissionSetCommand"; +import { + DescribePermissionSetProvisioningStatusCommand, + DescribePermissionSetProvisioningStatusCommandInput, + DescribePermissionSetProvisioningStatusCommandOutput, +} from "./commands/DescribePermissionSetProvisioningStatusCommand"; +import { + DetachManagedPolicyFromPermissionSetCommand, + DetachManagedPolicyFromPermissionSetCommandInput, + DetachManagedPolicyFromPermissionSetCommandOutput, +} from "./commands/DetachManagedPolicyFromPermissionSetCommand"; +import { + GetInlinePolicyForPermissionSetCommand, + GetInlinePolicyForPermissionSetCommandInput, + GetInlinePolicyForPermissionSetCommandOutput, +} from "./commands/GetInlinePolicyForPermissionSetCommand"; +import { + ListAccountAssignmentCreationStatusCommand, + ListAccountAssignmentCreationStatusCommandInput, + ListAccountAssignmentCreationStatusCommandOutput, +} from "./commands/ListAccountAssignmentCreationStatusCommand"; +import { + ListAccountAssignmentDeletionStatusCommand, + ListAccountAssignmentDeletionStatusCommandInput, + ListAccountAssignmentDeletionStatusCommandOutput, +} from "./commands/ListAccountAssignmentDeletionStatusCommand"; +import { + ListAccountAssignmentsCommand, + ListAccountAssignmentsCommandInput, + ListAccountAssignmentsCommandOutput, +} from "./commands/ListAccountAssignmentsCommand"; +import { + ListAccountsForProvisionedPermissionSetCommand, + ListAccountsForProvisionedPermissionSetCommandInput, + ListAccountsForProvisionedPermissionSetCommandOutput, +} from "./commands/ListAccountsForProvisionedPermissionSetCommand"; +import { + ListInstancesCommand, + ListInstancesCommandInput, + ListInstancesCommandOutput, +} from "./commands/ListInstancesCommand"; +import { + ListManagedPoliciesInPermissionSetCommand, + ListManagedPoliciesInPermissionSetCommandInput, + ListManagedPoliciesInPermissionSetCommandOutput, +} from "./commands/ListManagedPoliciesInPermissionSetCommand"; +import { + ListPermissionSetProvisioningStatusCommand, + ListPermissionSetProvisioningStatusCommandInput, + ListPermissionSetProvisioningStatusCommandOutput, +} from "./commands/ListPermissionSetProvisioningStatusCommand"; +import { + ListPermissionSetsCommand, + ListPermissionSetsCommandInput, + ListPermissionSetsCommandOutput, +} from "./commands/ListPermissionSetsCommand"; +import { + ListPermissionSetsProvisionedToAccountCommand, + ListPermissionSetsProvisionedToAccountCommandInput, + ListPermissionSetsProvisionedToAccountCommandOutput, +} from "./commands/ListPermissionSetsProvisionedToAccountCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { + ProvisionPermissionSetCommand, + ProvisionPermissionSetCommandInput, + ProvisionPermissionSetCommandOutput, +} from "./commands/ProvisionPermissionSetCommand"; +import { + PutInlinePolicyToPermissionSetCommand, + PutInlinePolicyToPermissionSetCommandInput, + PutInlinePolicyToPermissionSetCommandOutput, +} from "./commands/PutInlinePolicyToPermissionSetCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; +import { + UpdatePermissionSetCommand, + UpdatePermissionSetCommandInput, + UpdatePermissionSetCommandOutput, +} from "./commands/UpdatePermissionSetCommand"; +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +export class SSOAdmin extends SSOAdminClient { + /** + *

                                                                Attaches an IAM managed policy ARN to a permission set.

                                                                + * + *

                                                                If the permission set is already referenced by one or more account assignments, you will need to call + * ProvisionPermissionSet + * after this action to apply the corresponding IAM policy updates to all assigned accounts.

                                                                + *
                                                                + */ + public attachManagedPolicyToPermissionSet( + args: AttachManagedPolicyToPermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public attachManagedPolicyToPermissionSet( + args: AttachManagedPolicyToPermissionSetCommandInput, + cb: (err: any, data?: AttachManagedPolicyToPermissionSetCommandOutput) => void + ): void; + public attachManagedPolicyToPermissionSet( + args: AttachManagedPolicyToPermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AttachManagedPolicyToPermissionSetCommandOutput) => void + ): void; + public attachManagedPolicyToPermissionSet( + args: AttachManagedPolicyToPermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AttachManagedPolicyToPermissionSetCommandOutput) => void), + cb?: (err: any, data?: AttachManagedPolicyToPermissionSetCommandOutput) => void + ): Promise | void { + const command = new AttachManagedPolicyToPermissionSetCommand(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); + } + } + + /** + *

                                                                Assigns access to a principal for a specified AWS account using a specified permission + * set.

                                                                + * + *

                                                                The term principal here refers to a user or group that is defined in AWS SSO.

                                                                + *
                                                                + * + *

                                                                As part of a successful CreateAccountAssignment call, the specified permission set will automatically be provisioned to the account in the form of an IAM policy attached to the SSO-created IAM role. If the permission set is subsequently updated, the corresponding IAM policies attached to roles in your accounts will not be updated automatically. In this case, you will need to call + * ProvisionPermissionSet + * to make these updates.

                                                                + *
                                                                + */ + public createAccountAssignment( + args: CreateAccountAssignmentCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createAccountAssignment( + args: CreateAccountAssignmentCommandInput, + cb: (err: any, data?: CreateAccountAssignmentCommandOutput) => void + ): void; + public createAccountAssignment( + args: CreateAccountAssignmentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAccountAssignmentCommandOutput) => void + ): void; + public createAccountAssignment( + args: CreateAccountAssignmentCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateAccountAssignmentCommandOutput) => void), + cb?: (err: any, data?: CreateAccountAssignmentCommandOutput) => void + ): Promise | void { + const command = new CreateAccountAssignmentCommand(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 permission set within a specified SSO instance.

                                                                + * + *

                                                                To grant users and groups access to AWS account resources, use + * CreateAccountAssignment + * .

                                                                + *
                                                                + */ + public createPermissionSet( + args: CreatePermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createPermissionSet( + args: CreatePermissionSetCommandInput, + cb: (err: any, data?: CreatePermissionSetCommandOutput) => void + ): void; + public createPermissionSet( + args: CreatePermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreatePermissionSetCommandOutput) => void + ): void; + public createPermissionSet( + args: CreatePermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreatePermissionSetCommandOutput) => void), + cb?: (err: any, data?: CreatePermissionSetCommandOutput) => void + ): Promise | void { + const command = new CreatePermissionSetCommand(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 principal's access from a specified AWS account using a specified permission + * set.

                                                                + */ + public deleteAccountAssignment( + args: DeleteAccountAssignmentCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteAccountAssignment( + args: DeleteAccountAssignmentCommandInput, + cb: (err: any, data?: DeleteAccountAssignmentCommandOutput) => void + ): void; + public deleteAccountAssignment( + args: DeleteAccountAssignmentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAccountAssignmentCommandOutput) => void + ): void; + public deleteAccountAssignment( + args: DeleteAccountAssignmentCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAccountAssignmentCommandOutput) => void), + cb?: (err: any, data?: DeleteAccountAssignmentCommandOutput) => void + ): Promise | void { + const command = new DeleteAccountAssignmentCommand(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 inline policy from a specified permission set.

                                                                + */ + public deleteInlinePolicyFromPermissionSet( + args: DeleteInlinePolicyFromPermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteInlinePolicyFromPermissionSet( + args: DeleteInlinePolicyFromPermissionSetCommandInput, + cb: (err: any, data?: DeleteInlinePolicyFromPermissionSetCommandOutput) => void + ): void; + public deleteInlinePolicyFromPermissionSet( + args: DeleteInlinePolicyFromPermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteInlinePolicyFromPermissionSetCommandOutput) => void + ): void; + public deleteInlinePolicyFromPermissionSet( + args: DeleteInlinePolicyFromPermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteInlinePolicyFromPermissionSetCommandOutput) => void), + cb?: (err: any, data?: DeleteInlinePolicyFromPermissionSetCommandOutput) => void + ): Promise | void { + const command = new DeleteInlinePolicyFromPermissionSetCommand(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 permission set.

                                                                + */ + public deletePermissionSet( + args: DeletePermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deletePermissionSet( + args: DeletePermissionSetCommandInput, + cb: (err: any, data?: DeletePermissionSetCommandOutput) => void + ): void; + public deletePermissionSet( + args: DeletePermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePermissionSetCommandOutput) => void + ): void; + public deletePermissionSet( + args: DeletePermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeletePermissionSetCommandOutput) => void), + cb?: (err: any, data?: DeletePermissionSetCommandOutput) => void + ): Promise | void { + const command = new DeletePermissionSetCommand(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 status of the assignment creation request.

                                                                + */ + public describeAccountAssignmentCreationStatus( + args: DescribeAccountAssignmentCreationStatusCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeAccountAssignmentCreationStatus( + args: DescribeAccountAssignmentCreationStatusCommandInput, + cb: (err: any, data?: DescribeAccountAssignmentCreationStatusCommandOutput) => void + ): void; + public describeAccountAssignmentCreationStatus( + args: DescribeAccountAssignmentCreationStatusCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAccountAssignmentCreationStatusCommandOutput) => void + ): void; + public describeAccountAssignmentCreationStatus( + args: DescribeAccountAssignmentCreationStatusCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DescribeAccountAssignmentCreationStatusCommandOutput) => void), + cb?: (err: any, data?: DescribeAccountAssignmentCreationStatusCommandOutput) => void + ): Promise | void { + const command = new DescribeAccountAssignmentCreationStatusCommand(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 status of the assignment deletion request.

                                                                + */ + public describeAccountAssignmentDeletionStatus( + args: DescribeAccountAssignmentDeletionStatusCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeAccountAssignmentDeletionStatus( + args: DescribeAccountAssignmentDeletionStatusCommandInput, + cb: (err: any, data?: DescribeAccountAssignmentDeletionStatusCommandOutput) => void + ): void; + public describeAccountAssignmentDeletionStatus( + args: DescribeAccountAssignmentDeletionStatusCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAccountAssignmentDeletionStatusCommandOutput) => void + ): void; + public describeAccountAssignmentDeletionStatus( + args: DescribeAccountAssignmentDeletionStatusCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DescribeAccountAssignmentDeletionStatusCommandOutput) => void), + cb?: (err: any, data?: DescribeAccountAssignmentDeletionStatusCommandOutput) => void + ): Promise | void { + const command = new DescribeAccountAssignmentDeletionStatusCommand(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 details of the permission set.

                                                                + */ + public describePermissionSet( + args: DescribePermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describePermissionSet( + args: DescribePermissionSetCommandInput, + cb: (err: any, data?: DescribePermissionSetCommandOutput) => void + ): void; + public describePermissionSet( + args: DescribePermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribePermissionSetCommandOutput) => void + ): void; + public describePermissionSet( + args: DescribePermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribePermissionSetCommandOutput) => void), + cb?: (err: any, data?: DescribePermissionSetCommandOutput) => void + ): Promise | void { + const command = new DescribePermissionSetCommand(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 status for the given permission set provisioning request.

                                                                + */ + public describePermissionSetProvisioningStatus( + args: DescribePermissionSetProvisioningStatusCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describePermissionSetProvisioningStatus( + args: DescribePermissionSetProvisioningStatusCommandInput, + cb: (err: any, data?: DescribePermissionSetProvisioningStatusCommandOutput) => void + ): void; + public describePermissionSetProvisioningStatus( + args: DescribePermissionSetProvisioningStatusCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribePermissionSetProvisioningStatusCommandOutput) => void + ): void; + public describePermissionSetProvisioningStatus( + args: DescribePermissionSetProvisioningStatusCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: DescribePermissionSetProvisioningStatusCommandOutput) => void), + cb?: (err: any, data?: DescribePermissionSetProvisioningStatusCommandOutput) => void + ): Promise | void { + const command = new DescribePermissionSetProvisioningStatusCommand(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); + } + } + + /** + *

                                                                Detaches the attached IAM managed policy ARN from the specified permission set.

                                                                + */ + public detachManagedPolicyFromPermissionSet( + args: DetachManagedPolicyFromPermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public detachManagedPolicyFromPermissionSet( + args: DetachManagedPolicyFromPermissionSetCommandInput, + cb: (err: any, data?: DetachManagedPolicyFromPermissionSetCommandOutput) => void + ): void; + public detachManagedPolicyFromPermissionSet( + args: DetachManagedPolicyFromPermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DetachManagedPolicyFromPermissionSetCommandOutput) => void + ): void; + public detachManagedPolicyFromPermissionSet( + args: DetachManagedPolicyFromPermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DetachManagedPolicyFromPermissionSetCommandOutput) => void), + cb?: (err: any, data?: DetachManagedPolicyFromPermissionSetCommandOutput) => void + ): Promise | void { + const command = new DetachManagedPolicyFromPermissionSetCommand(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); + } + } + + /** + *

                                                                Obtains the inline policy assigned to the permission set.

                                                                + */ + public getInlinePolicyForPermissionSet( + args: GetInlinePolicyForPermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getInlinePolicyForPermissionSet( + args: GetInlinePolicyForPermissionSetCommandInput, + cb: (err: any, data?: GetInlinePolicyForPermissionSetCommandOutput) => void + ): void; + public getInlinePolicyForPermissionSet( + args: GetInlinePolicyForPermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetInlinePolicyForPermissionSetCommandOutput) => void + ): void; + public getInlinePolicyForPermissionSet( + args: GetInlinePolicyForPermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetInlinePolicyForPermissionSetCommandOutput) => void), + cb?: (err: any, data?: GetInlinePolicyForPermissionSetCommandOutput) => void + ): Promise | void { + const command = new GetInlinePolicyForPermissionSetCommand(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 status of the AWS account assignment creation requests for a specified SSO + * instance.

                                                                + */ + public listAccountAssignmentCreationStatus( + args: ListAccountAssignmentCreationStatusCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAccountAssignmentCreationStatus( + args: ListAccountAssignmentCreationStatusCommandInput, + cb: (err: any, data?: ListAccountAssignmentCreationStatusCommandOutput) => void + ): void; + public listAccountAssignmentCreationStatus( + args: ListAccountAssignmentCreationStatusCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAccountAssignmentCreationStatusCommandOutput) => void + ): void; + public listAccountAssignmentCreationStatus( + args: ListAccountAssignmentCreationStatusCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAccountAssignmentCreationStatusCommandOutput) => void), + cb?: (err: any, data?: ListAccountAssignmentCreationStatusCommandOutput) => void + ): Promise | void { + const command = new ListAccountAssignmentCreationStatusCommand(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 status of the AWS account assignment deletion requests for a specified SSO + * instance.

                                                                + */ + public listAccountAssignmentDeletionStatus( + args: ListAccountAssignmentDeletionStatusCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAccountAssignmentDeletionStatus( + args: ListAccountAssignmentDeletionStatusCommandInput, + cb: (err: any, data?: ListAccountAssignmentDeletionStatusCommandOutput) => void + ): void; + public listAccountAssignmentDeletionStatus( + args: ListAccountAssignmentDeletionStatusCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAccountAssignmentDeletionStatusCommandOutput) => void + ): void; + public listAccountAssignmentDeletionStatus( + args: ListAccountAssignmentDeletionStatusCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAccountAssignmentDeletionStatusCommandOutput) => void), + cb?: (err: any, data?: ListAccountAssignmentDeletionStatusCommandOutput) => void + ): Promise | void { + const command = new ListAccountAssignmentDeletionStatusCommand(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 assignee of the specified AWS account with the specified permission + * set.

                                                                + */ + public listAccountAssignments( + args: ListAccountAssignmentsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAccountAssignments( + args: ListAccountAssignmentsCommandInput, + cb: (err: any, data?: ListAccountAssignmentsCommandOutput) => void + ): void; + public listAccountAssignments( + args: ListAccountAssignmentsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAccountAssignmentsCommandOutput) => void + ): void; + public listAccountAssignments( + args: ListAccountAssignmentsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAccountAssignmentsCommandOutput) => void), + cb?: (err: any, data?: ListAccountAssignmentsCommandOutput) => void + ): Promise | void { + const command = new ListAccountAssignmentsCommand(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 AWS accounts where the specified permission set is provisioned.

                                                                + */ + public listAccountsForProvisionedPermissionSet( + args: ListAccountsForProvisionedPermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAccountsForProvisionedPermissionSet( + args: ListAccountsForProvisionedPermissionSetCommandInput, + cb: (err: any, data?: ListAccountsForProvisionedPermissionSetCommandOutput) => void + ): void; + public listAccountsForProvisionedPermissionSet( + args: ListAccountsForProvisionedPermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAccountsForProvisionedPermissionSetCommandOutput) => void + ): void; + public listAccountsForProvisionedPermissionSet( + args: ListAccountsForProvisionedPermissionSetCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: ListAccountsForProvisionedPermissionSetCommandOutput) => void), + cb?: (err: any, data?: ListAccountsForProvisionedPermissionSetCommandOutput) => void + ): Promise | void { + const command = new ListAccountsForProvisionedPermissionSetCommand(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 SSO instances that the caller has access to.

                                                                + */ + 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); + } + } + + /** + *

                                                                Lists the IAM managed policy that is attached to a specified permission set.

                                                                + */ + public listManagedPoliciesInPermissionSet( + args: ListManagedPoliciesInPermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listManagedPoliciesInPermissionSet( + args: ListManagedPoliciesInPermissionSetCommandInput, + cb: (err: any, data?: ListManagedPoliciesInPermissionSetCommandOutput) => void + ): void; + public listManagedPoliciesInPermissionSet( + args: ListManagedPoliciesInPermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListManagedPoliciesInPermissionSetCommandOutput) => void + ): void; + public listManagedPoliciesInPermissionSet( + args: ListManagedPoliciesInPermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListManagedPoliciesInPermissionSetCommandOutput) => void), + cb?: (err: any, data?: ListManagedPoliciesInPermissionSetCommandOutput) => void + ): Promise | void { + const command = new ListManagedPoliciesInPermissionSetCommand(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 status of the permission set provisioning requests for a specified SSO + * instance.

                                                                + */ + public listPermissionSetProvisioningStatus( + args: ListPermissionSetProvisioningStatusCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listPermissionSetProvisioningStatus( + args: ListPermissionSetProvisioningStatusCommandInput, + cb: (err: any, data?: ListPermissionSetProvisioningStatusCommandOutput) => void + ): void; + public listPermissionSetProvisioningStatus( + args: ListPermissionSetProvisioningStatusCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPermissionSetProvisioningStatusCommandOutput) => void + ): void; + public listPermissionSetProvisioningStatus( + args: ListPermissionSetProvisioningStatusCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListPermissionSetProvisioningStatusCommandOutput) => void), + cb?: (err: any, data?: ListPermissionSetProvisioningStatusCommandOutput) => void + ): Promise | void { + const command = new ListPermissionSetProvisioningStatusCommand(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 PermissionSets in an SSO instance.

                                                                + */ + public listPermissionSets( + args: ListPermissionSetsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listPermissionSets( + args: ListPermissionSetsCommandInput, + cb: (err: any, data?: ListPermissionSetsCommandOutput) => void + ): void; + public listPermissionSets( + args: ListPermissionSetsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPermissionSetsCommandOutput) => void + ): void; + public listPermissionSets( + args: ListPermissionSetsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListPermissionSetsCommandOutput) => void), + cb?: (err: any, data?: ListPermissionSetsCommandOutput) => void + ): Promise | void { + const command = new ListPermissionSetsCommand(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 permission sets that are provisioned to a specified AWS account.

                                                                + */ + public listPermissionSetsProvisionedToAccount( + args: ListPermissionSetsProvisionedToAccountCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listPermissionSetsProvisionedToAccount( + args: ListPermissionSetsProvisionedToAccountCommandInput, + cb: (err: any, data?: ListPermissionSetsProvisionedToAccountCommandOutput) => void + ): void; + public listPermissionSetsProvisionedToAccount( + args: ListPermissionSetsProvisionedToAccountCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPermissionSetsProvisionedToAccountCommandOutput) => void + ): void; + public listPermissionSetsProvisionedToAccount( + args: ListPermissionSetsProvisionedToAccountCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: ListPermissionSetsProvisionedToAccountCommandOutput) => void), + cb?: (err: any, data?: ListPermissionSetsProvisionedToAccountCommandOutput) => void + ): Promise | void { + const command = new ListPermissionSetsProvisionedToAccountCommand(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 that are attached to a specified 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); + } + } + + /** + *

                                                                The process by which a specified permission set is provisioned to the specified target.

                                                                + */ + public provisionPermissionSet( + args: ProvisionPermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public provisionPermissionSet( + args: ProvisionPermissionSetCommandInput, + cb: (err: any, data?: ProvisionPermissionSetCommandOutput) => void + ): void; + public provisionPermissionSet( + args: ProvisionPermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ProvisionPermissionSetCommandOutput) => void + ): void; + public provisionPermissionSet( + args: ProvisionPermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ProvisionPermissionSetCommandOutput) => void), + cb?: (err: any, data?: ProvisionPermissionSetCommandOutput) => void + ): Promise | void { + const command = new ProvisionPermissionSetCommand(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); + } + } + + /** + *

                                                                Attaches an IAM inline policy to a permission set.

                                                                + * + *

                                                                If the permission set is already referenced by one or more account assignments, you will need to call + * ProvisionPermissionSet + * after this action to apply the corresponding IAM policy updates to all assigned accounts.

                                                                + *
                                                                + */ + public putInlinePolicyToPermissionSet( + args: PutInlinePolicyToPermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putInlinePolicyToPermissionSet( + args: PutInlinePolicyToPermissionSetCommandInput, + cb: (err: any, data?: PutInlinePolicyToPermissionSetCommandOutput) => void + ): void; + public putInlinePolicyToPermissionSet( + args: PutInlinePolicyToPermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutInlinePolicyToPermissionSetCommandOutput) => void + ): void; + public putInlinePolicyToPermissionSet( + args: PutInlinePolicyToPermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutInlinePolicyToPermissionSetCommandOutput) => void), + cb?: (err: any, data?: PutInlinePolicyToPermissionSetCommandOutput) => void + ): Promise | void { + const command = new PutInlinePolicyToPermissionSetCommand(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 tags with a specified resource.

                                                                + */ + 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); + } + } + + /** + *

                                                                Disassociates a set of tags from a specified resource.

                                                                + */ + 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); + } + } + + /** + *

                                                                Updates an existing permission set.

                                                                + */ + public updatePermissionSet( + args: UpdatePermissionSetCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updatePermissionSet( + args: UpdatePermissionSetCommandInput, + cb: (err: any, data?: UpdatePermissionSetCommandOutput) => void + ): void; + public updatePermissionSet( + args: UpdatePermissionSetCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdatePermissionSetCommandOutput) => void + ): void; + public updatePermissionSet( + args: UpdatePermissionSetCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdatePermissionSetCommandOutput) => void), + cb?: (err: any, data?: UpdatePermissionSetCommandOutput) => void + ): Promise | void { + const command = new UpdatePermissionSetCommand(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-sso-admin/SSOAdminClient.ts b/clients/client-sso-admin/SSOAdminClient.ts new file mode 100644 index 000000000000..0537dcc543cc --- /dev/null +++ b/clients/client-sso-admin/SSOAdminClient.ts @@ -0,0 +1,348 @@ +import { + AttachManagedPolicyToPermissionSetCommandInput, + AttachManagedPolicyToPermissionSetCommandOutput, +} from "./commands/AttachManagedPolicyToPermissionSetCommand"; +import { + CreateAccountAssignmentCommandInput, + CreateAccountAssignmentCommandOutput, +} from "./commands/CreateAccountAssignmentCommand"; +import { + CreatePermissionSetCommandInput, + CreatePermissionSetCommandOutput, +} from "./commands/CreatePermissionSetCommand"; +import { + DeleteAccountAssignmentCommandInput, + DeleteAccountAssignmentCommandOutput, +} from "./commands/DeleteAccountAssignmentCommand"; +import { + DeleteInlinePolicyFromPermissionSetCommandInput, + DeleteInlinePolicyFromPermissionSetCommandOutput, +} from "./commands/DeleteInlinePolicyFromPermissionSetCommand"; +import { + DeletePermissionSetCommandInput, + DeletePermissionSetCommandOutput, +} from "./commands/DeletePermissionSetCommand"; +import { + DescribeAccountAssignmentCreationStatusCommandInput, + DescribeAccountAssignmentCreationStatusCommandOutput, +} from "./commands/DescribeAccountAssignmentCreationStatusCommand"; +import { + DescribeAccountAssignmentDeletionStatusCommandInput, + DescribeAccountAssignmentDeletionStatusCommandOutput, +} from "./commands/DescribeAccountAssignmentDeletionStatusCommand"; +import { + DescribePermissionSetCommandInput, + DescribePermissionSetCommandOutput, +} from "./commands/DescribePermissionSetCommand"; +import { + DescribePermissionSetProvisioningStatusCommandInput, + DescribePermissionSetProvisioningStatusCommandOutput, +} from "./commands/DescribePermissionSetProvisioningStatusCommand"; +import { + DetachManagedPolicyFromPermissionSetCommandInput, + DetachManagedPolicyFromPermissionSetCommandOutput, +} from "./commands/DetachManagedPolicyFromPermissionSetCommand"; +import { + GetInlinePolicyForPermissionSetCommandInput, + GetInlinePolicyForPermissionSetCommandOutput, +} from "./commands/GetInlinePolicyForPermissionSetCommand"; +import { + ListAccountAssignmentCreationStatusCommandInput, + ListAccountAssignmentCreationStatusCommandOutput, +} from "./commands/ListAccountAssignmentCreationStatusCommand"; +import { + ListAccountAssignmentDeletionStatusCommandInput, + ListAccountAssignmentDeletionStatusCommandOutput, +} from "./commands/ListAccountAssignmentDeletionStatusCommand"; +import { + ListAccountAssignmentsCommandInput, + ListAccountAssignmentsCommandOutput, +} from "./commands/ListAccountAssignmentsCommand"; +import { + ListAccountsForProvisionedPermissionSetCommandInput, + ListAccountsForProvisionedPermissionSetCommandOutput, +} from "./commands/ListAccountsForProvisionedPermissionSetCommand"; +import { ListInstancesCommandInput, ListInstancesCommandOutput } from "./commands/ListInstancesCommand"; +import { + ListManagedPoliciesInPermissionSetCommandInput, + ListManagedPoliciesInPermissionSetCommandOutput, +} from "./commands/ListManagedPoliciesInPermissionSetCommand"; +import { + ListPermissionSetProvisioningStatusCommandInput, + ListPermissionSetProvisioningStatusCommandOutput, +} from "./commands/ListPermissionSetProvisioningStatusCommand"; +import { ListPermissionSetsCommandInput, ListPermissionSetsCommandOutput } from "./commands/ListPermissionSetsCommand"; +import { + ListPermissionSetsProvisionedToAccountCommandInput, + ListPermissionSetsProvisionedToAccountCommandOutput, +} from "./commands/ListPermissionSetsProvisionedToAccountCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { + ProvisionPermissionSetCommandInput, + ProvisionPermissionSetCommandOutput, +} from "./commands/ProvisionPermissionSetCommand"; +import { + PutInlinePolicyToPermissionSetCommandInput, + PutInlinePolicyToPermissionSetCommandOutput, +} from "./commands/PutInlinePolicyToPermissionSetCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { + UpdatePermissionSetCommandInput, + UpdatePermissionSetCommandOutput, +} from "./commands/UpdatePermissionSetCommand"; +import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; +import { + EndpointsInputConfig, + EndpointsResolvedConfig, + RegionInputConfig, + RegionResolvedConfig, + resolveEndpointsConfig, + resolveRegionConfig, +} from "@aws-sdk/config-resolver"; +import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length"; +import { + HostHeaderInputConfig, + HostHeaderResolvedConfig, + getHostHeaderPlugin, + resolveHostHeaderConfig, +} from "@aws-sdk/middleware-host-header"; +import { getLoggerPlugin } from "@aws-sdk/middleware-logger"; +import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry"; +import { + AwsAuthInputConfig, + AwsAuthResolvedConfig, + getAwsAuthPlugin, + resolveAwsAuthConfig, +} from "@aws-sdk/middleware-signing"; +import { + UserAgentInputConfig, + UserAgentResolvedConfig, + getUserAgentPlugin, + resolveUserAgentConfig, +} from "@aws-sdk/middleware-user-agent"; +import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http"; +import { + Client as __Client, + SmithyConfiguration as __SmithyConfiguration, + SmithyResolvedConfiguration as __SmithyResolvedConfiguration, +} from "@aws-sdk/smithy-client"; +import { + RegionInfoProvider, + Credentials as __Credentials, + Decoder as __Decoder, + Encoder as __Encoder, + HashConstructor as __HashConstructor, + HttpHandlerOptions as __HttpHandlerOptions, + Logger as __Logger, + Provider as __Provider, + StreamCollector as __StreamCollector, + UrlParser as __UrlParser, +} from "@aws-sdk/types"; + +export type ServiceInputTypes = + | AttachManagedPolicyToPermissionSetCommandInput + | CreateAccountAssignmentCommandInput + | CreatePermissionSetCommandInput + | DeleteAccountAssignmentCommandInput + | DeleteInlinePolicyFromPermissionSetCommandInput + | DeletePermissionSetCommandInput + | DescribeAccountAssignmentCreationStatusCommandInput + | DescribeAccountAssignmentDeletionStatusCommandInput + | DescribePermissionSetCommandInput + | DescribePermissionSetProvisioningStatusCommandInput + | DetachManagedPolicyFromPermissionSetCommandInput + | GetInlinePolicyForPermissionSetCommandInput + | ListAccountAssignmentCreationStatusCommandInput + | ListAccountAssignmentDeletionStatusCommandInput + | ListAccountAssignmentsCommandInput + | ListAccountsForProvisionedPermissionSetCommandInput + | ListInstancesCommandInput + | ListManagedPoliciesInPermissionSetCommandInput + | ListPermissionSetProvisioningStatusCommandInput + | ListPermissionSetsCommandInput + | ListPermissionSetsProvisionedToAccountCommandInput + | ListTagsForResourceCommandInput + | ProvisionPermissionSetCommandInput + | PutInlinePolicyToPermissionSetCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput + | UpdatePermissionSetCommandInput; + +export type ServiceOutputTypes = + | AttachManagedPolicyToPermissionSetCommandOutput + | CreateAccountAssignmentCommandOutput + | CreatePermissionSetCommandOutput + | DeleteAccountAssignmentCommandOutput + | DeleteInlinePolicyFromPermissionSetCommandOutput + | DeletePermissionSetCommandOutput + | DescribeAccountAssignmentCreationStatusCommandOutput + | DescribeAccountAssignmentDeletionStatusCommandOutput + | DescribePermissionSetCommandOutput + | DescribePermissionSetProvisioningStatusCommandOutput + | DetachManagedPolicyFromPermissionSetCommandOutput + | GetInlinePolicyForPermissionSetCommandOutput + | ListAccountAssignmentCreationStatusCommandOutput + | ListAccountAssignmentDeletionStatusCommandOutput + | ListAccountAssignmentsCommandOutput + | ListAccountsForProvisionedPermissionSetCommandOutput + | ListInstancesCommandOutput + | ListManagedPoliciesInPermissionSetCommandOutput + | ListPermissionSetProvisioningStatusCommandOutput + | ListPermissionSetsCommandOutput + | ListPermissionSetsProvisionedToAccountCommandOutput + | ListTagsForResourceCommandOutput + | ProvisionPermissionSetCommandOutput + | PutInlinePolicyToPermissionSetCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput + | UpdatePermissionSetCommandOutput; + +export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { + /** + * The HTTP handler to use. Fetch in browser and Https in Nodejs. + */ + requestHandler?: __HttpHandler; + + /** + * A constructor for a class implementing the @aws-sdk/types.Hash interface + * that computes the SHA-256 HMAC or checksum of a string or binary buffer. + */ + sha256?: __HashConstructor; + + /** + * The function that will be used to convert strings into HTTP endpoints. + */ + urlParser?: __UrlParser; + + /** + * A function that can calculate the length of a request body. + */ + bodyLengthChecker?: (body: any) => number | undefined; + + /** + * A function that converts a stream into an array of bytes. + */ + streamCollector?: __StreamCollector; + + /** + * The function that will be used to convert a base64-encoded string to a byte array + */ + base64Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a base64-encoded string + */ + base64Encoder?: __Encoder; + + /** + * The function that will be used to convert a UTF8-encoded string to a byte array + */ + utf8Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a UTF-8 encoded string + */ + utf8Encoder?: __Encoder; + + /** + * The string that will be used to populate default value in 'User-Agent' header + */ + defaultUserAgent?: string; + + /** + * The runtime environment + */ + runtime?: string; + + /** + * Disable dyanamically changing the endpoint of the client based on the hostPrefix + * trait of an operation. + */ + disableHostPrefix?: boolean; + + /** + * The service name with which to sign requests. + */ + signingName?: string; + + /** + * Default credentials provider; Not available in browser runtime + */ + credentialDefaultProvider?: (input: any) => __Provider<__Credentials>; + + /** + * The AWS region to which this client will send requests + */ + region?: string | __Provider; + + /** + * Value for how many times a request will be made at most in case of retry. + */ + maxAttempts?: number | __Provider; + + /** + * Optional logger for logging debug/info/warn/error. + */ + logger?: __Logger; + + /** + * Fetch related hostname, signing name or signing region with given region. + */ + regionInfoProvider?: RegionInfoProvider; +} + +export type SSOAdminClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & + ClientDefaults & + RegionInputConfig & + EndpointsInputConfig & + AwsAuthInputConfig & + RetryInputConfig & + UserAgentInputConfig & + HostHeaderInputConfig; + +export type SSOAdminClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> & + Required & + RegionResolvedConfig & + EndpointsResolvedConfig & + AwsAuthResolvedConfig & + RetryResolvedConfig & + UserAgentResolvedConfig & + HostHeaderResolvedConfig; + +export class SSOAdminClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + SSOAdminClientResolvedConfig +> { + readonly config: SSOAdminClientResolvedConfig; + + constructor(configuration: SSOAdminClientConfig) { + let _config_0 = { + ...__ClientDefaultValues, + ...configuration, + }; + let _config_1 = resolveRegionConfig(_config_0); + let _config_2 = resolveEndpointsConfig(_config_1); + let _config_3 = resolveAwsAuthConfig(_config_2); + let _config_4 = resolveRetryConfig(_config_3); + let _config_5 = resolveUserAgentConfig(_config_4); + let _config_6 = resolveHostHeaderConfig(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use(getAwsAuthPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + } + + destroy(): void { + super.destroy(); + } +} diff --git a/clients/client-sso-admin/commands/AttachManagedPolicyToPermissionSetCommand.ts b/clients/client-sso-admin/commands/AttachManagedPolicyToPermissionSetCommand.ts new file mode 100644 index 000000000000..4a4faf582c4b --- /dev/null +++ b/clients/client-sso-admin/commands/AttachManagedPolicyToPermissionSetCommand.ts @@ -0,0 +1,80 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + AttachManagedPolicyToPermissionSetRequest, + AttachManagedPolicyToPermissionSetResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1AttachManagedPolicyToPermissionSetCommand, + serializeAws_json1_1AttachManagedPolicyToPermissionSetCommand, +} 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 AttachManagedPolicyToPermissionSetCommandInput = AttachManagedPolicyToPermissionSetRequest; +export type AttachManagedPolicyToPermissionSetCommandOutput = AttachManagedPolicyToPermissionSetResponse & + __MetadataBearer; + +export class AttachManagedPolicyToPermissionSetCommand extends $Command< + AttachManagedPolicyToPermissionSetCommandInput, + AttachManagedPolicyToPermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AttachManagedPolicyToPermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: AttachManagedPolicyToPermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: AttachManagedPolicyToPermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: AttachManagedPolicyToPermissionSetCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1AttachManagedPolicyToPermissionSetCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1AttachManagedPolicyToPermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/CreateAccountAssignmentCommand.ts b/clients/client-sso-admin/commands/CreateAccountAssignmentCommand.ts new file mode 100644 index 000000000000..3728ff819a1f --- /dev/null +++ b/clients/client-sso-admin/commands/CreateAccountAssignmentCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { CreateAccountAssignmentRequest, CreateAccountAssignmentResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateAccountAssignmentCommand, + serializeAws_json1_1CreateAccountAssignmentCommand, +} 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 CreateAccountAssignmentCommandInput = CreateAccountAssignmentRequest; +export type CreateAccountAssignmentCommandOutput = CreateAccountAssignmentResponse & __MetadataBearer; + +export class CreateAccountAssignmentCommand extends $Command< + CreateAccountAssignmentCommandInput, + CreateAccountAssignmentCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateAccountAssignmentCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateAccountAssignmentRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateAccountAssignmentResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateAccountAssignmentCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateAccountAssignmentCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateAccountAssignmentCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/CreatePermissionSetCommand.ts b/clients/client-sso-admin/commands/CreatePermissionSetCommand.ts new file mode 100644 index 000000000000..9937460b138a --- /dev/null +++ b/clients/client-sso-admin/commands/CreatePermissionSetCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { CreatePermissionSetRequest, CreatePermissionSetResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreatePermissionSetCommand, + serializeAws_json1_1CreatePermissionSetCommand, +} 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 CreatePermissionSetCommandInput = CreatePermissionSetRequest; +export type CreatePermissionSetCommandOutput = CreatePermissionSetResponse & __MetadataBearer; + +export class CreatePermissionSetCommand extends $Command< + CreatePermissionSetCommandInput, + CreatePermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreatePermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreatePermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreatePermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreatePermissionSetCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreatePermissionSetCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreatePermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/DeleteAccountAssignmentCommand.ts b/clients/client-sso-admin/commands/DeleteAccountAssignmentCommand.ts new file mode 100644 index 000000000000..0cc36c40d41c --- /dev/null +++ b/clients/client-sso-admin/commands/DeleteAccountAssignmentCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { DeleteAccountAssignmentRequest, DeleteAccountAssignmentResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteAccountAssignmentCommand, + serializeAws_json1_1DeleteAccountAssignmentCommand, +} 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 DeleteAccountAssignmentCommandInput = DeleteAccountAssignmentRequest; +export type DeleteAccountAssignmentCommandOutput = DeleteAccountAssignmentResponse & __MetadataBearer; + +export class DeleteAccountAssignmentCommand extends $Command< + DeleteAccountAssignmentCommandInput, + DeleteAccountAssignmentCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAccountAssignmentCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteAccountAssignmentRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteAccountAssignmentResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteAccountAssignmentCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteAccountAssignmentCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteAccountAssignmentCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/DeleteInlinePolicyFromPermissionSetCommand.ts b/clients/client-sso-admin/commands/DeleteInlinePolicyFromPermissionSetCommand.ts new file mode 100644 index 000000000000..ecf686aa58e1 --- /dev/null +++ b/clients/client-sso-admin/commands/DeleteInlinePolicyFromPermissionSetCommand.ts @@ -0,0 +1,80 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + DeleteInlinePolicyFromPermissionSetRequest, + DeleteInlinePolicyFromPermissionSetResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DeleteInlinePolicyFromPermissionSetCommand, + serializeAws_json1_1DeleteInlinePolicyFromPermissionSetCommand, +} 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 DeleteInlinePolicyFromPermissionSetCommandInput = DeleteInlinePolicyFromPermissionSetRequest; +export type DeleteInlinePolicyFromPermissionSetCommandOutput = DeleteInlinePolicyFromPermissionSetResponse & + __MetadataBearer; + +export class DeleteInlinePolicyFromPermissionSetCommand extends $Command< + DeleteInlinePolicyFromPermissionSetCommandInput, + DeleteInlinePolicyFromPermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteInlinePolicyFromPermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteInlinePolicyFromPermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteInlinePolicyFromPermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeleteInlinePolicyFromPermissionSetCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteInlinePolicyFromPermissionSetCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DeleteInlinePolicyFromPermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/DeletePermissionSetCommand.ts b/clients/client-sso-admin/commands/DeletePermissionSetCommand.ts new file mode 100644 index 000000000000..a76496ea2f22 --- /dev/null +++ b/clients/client-sso-admin/commands/DeletePermissionSetCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { DeletePermissionSetRequest, DeletePermissionSetResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeletePermissionSetCommand, + serializeAws_json1_1DeletePermissionSetCommand, +} 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 DeletePermissionSetCommandInput = DeletePermissionSetRequest; +export type DeletePermissionSetCommandOutput = DeletePermissionSetResponse & __MetadataBearer; + +export class DeletePermissionSetCommand extends $Command< + DeletePermissionSetCommandInput, + DeletePermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeletePermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeletePermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeletePermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeletePermissionSetCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeletePermissionSetCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeletePermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/DescribeAccountAssignmentCreationStatusCommand.ts b/clients/client-sso-admin/commands/DescribeAccountAssignmentCreationStatusCommand.ts new file mode 100644 index 000000000000..c35ad55e0b99 --- /dev/null +++ b/clients/client-sso-admin/commands/DescribeAccountAssignmentCreationStatusCommand.ts @@ -0,0 +1,83 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + DescribeAccountAssignmentCreationStatusRequest, + DescribeAccountAssignmentCreationStatusResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DescribeAccountAssignmentCreationStatusCommand, + serializeAws_json1_1DescribeAccountAssignmentCreationStatusCommand, +} 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 DescribeAccountAssignmentCreationStatusCommandInput = DescribeAccountAssignmentCreationStatusRequest; +export type DescribeAccountAssignmentCreationStatusCommandOutput = DescribeAccountAssignmentCreationStatusResponse & + __MetadataBearer; + +export class DescribeAccountAssignmentCreationStatusCommand extends $Command< + DescribeAccountAssignmentCreationStatusCommandInput, + DescribeAccountAssignmentCreationStatusCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeAccountAssignmentCreationStatusCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DescribeAccountAssignmentCreationStatusCommandInput, + DescribeAccountAssignmentCreationStatusCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeAccountAssignmentCreationStatusRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeAccountAssignmentCreationStatusResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeAccountAssignmentCreationStatusCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeAccountAssignmentCreationStatusCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeAccountAssignmentCreationStatusCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/DescribeAccountAssignmentDeletionStatusCommand.ts b/clients/client-sso-admin/commands/DescribeAccountAssignmentDeletionStatusCommand.ts new file mode 100644 index 000000000000..6db899bed80e --- /dev/null +++ b/clients/client-sso-admin/commands/DescribeAccountAssignmentDeletionStatusCommand.ts @@ -0,0 +1,83 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + DescribeAccountAssignmentDeletionStatusRequest, + DescribeAccountAssignmentDeletionStatusResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DescribeAccountAssignmentDeletionStatusCommand, + serializeAws_json1_1DescribeAccountAssignmentDeletionStatusCommand, +} 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 DescribeAccountAssignmentDeletionStatusCommandInput = DescribeAccountAssignmentDeletionStatusRequest; +export type DescribeAccountAssignmentDeletionStatusCommandOutput = DescribeAccountAssignmentDeletionStatusResponse & + __MetadataBearer; + +export class DescribeAccountAssignmentDeletionStatusCommand extends $Command< + DescribeAccountAssignmentDeletionStatusCommandInput, + DescribeAccountAssignmentDeletionStatusCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeAccountAssignmentDeletionStatusCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DescribeAccountAssignmentDeletionStatusCommandInput, + DescribeAccountAssignmentDeletionStatusCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeAccountAssignmentDeletionStatusRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeAccountAssignmentDeletionStatusResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeAccountAssignmentDeletionStatusCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeAccountAssignmentDeletionStatusCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeAccountAssignmentDeletionStatusCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/DescribePermissionSetCommand.ts b/clients/client-sso-admin/commands/DescribePermissionSetCommand.ts new file mode 100644 index 000000000000..c235bad453e2 --- /dev/null +++ b/clients/client-sso-admin/commands/DescribePermissionSetCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { DescribePermissionSetRequest, DescribePermissionSetResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribePermissionSetCommand, + serializeAws_json1_1DescribePermissionSetCommand, +} 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 DescribePermissionSetCommandInput = DescribePermissionSetRequest; +export type DescribePermissionSetCommandOutput = DescribePermissionSetResponse & __MetadataBearer; + +export class DescribePermissionSetCommand extends $Command< + DescribePermissionSetCommandInput, + DescribePermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribePermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribePermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribePermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribePermissionSetCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribePermissionSetCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribePermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/DescribePermissionSetProvisioningStatusCommand.ts b/clients/client-sso-admin/commands/DescribePermissionSetProvisioningStatusCommand.ts new file mode 100644 index 000000000000..e5d603f4c3dc --- /dev/null +++ b/clients/client-sso-admin/commands/DescribePermissionSetProvisioningStatusCommand.ts @@ -0,0 +1,83 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + DescribePermissionSetProvisioningStatusRequest, + DescribePermissionSetProvisioningStatusResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DescribePermissionSetProvisioningStatusCommand, + serializeAws_json1_1DescribePermissionSetProvisioningStatusCommand, +} 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 DescribePermissionSetProvisioningStatusCommandInput = DescribePermissionSetProvisioningStatusRequest; +export type DescribePermissionSetProvisioningStatusCommandOutput = DescribePermissionSetProvisioningStatusResponse & + __MetadataBearer; + +export class DescribePermissionSetProvisioningStatusCommand extends $Command< + DescribePermissionSetProvisioningStatusCommandInput, + DescribePermissionSetProvisioningStatusCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribePermissionSetProvisioningStatusCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DescribePermissionSetProvisioningStatusCommandInput, + DescribePermissionSetProvisioningStatusCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribePermissionSetProvisioningStatusRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribePermissionSetProvisioningStatusResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribePermissionSetProvisioningStatusCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribePermissionSetProvisioningStatusCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribePermissionSetProvisioningStatusCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/DetachManagedPolicyFromPermissionSetCommand.ts b/clients/client-sso-admin/commands/DetachManagedPolicyFromPermissionSetCommand.ts new file mode 100644 index 000000000000..90ef18cc4387 --- /dev/null +++ b/clients/client-sso-admin/commands/DetachManagedPolicyFromPermissionSetCommand.ts @@ -0,0 +1,80 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + DetachManagedPolicyFromPermissionSetRequest, + DetachManagedPolicyFromPermissionSetResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1DetachManagedPolicyFromPermissionSetCommand, + serializeAws_json1_1DetachManagedPolicyFromPermissionSetCommand, +} 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 DetachManagedPolicyFromPermissionSetCommandInput = DetachManagedPolicyFromPermissionSetRequest; +export type DetachManagedPolicyFromPermissionSetCommandOutput = DetachManagedPolicyFromPermissionSetResponse & + __MetadataBearer; + +export class DetachManagedPolicyFromPermissionSetCommand extends $Command< + DetachManagedPolicyFromPermissionSetCommandInput, + DetachManagedPolicyFromPermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DetachManagedPolicyFromPermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DetachManagedPolicyFromPermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: DetachManagedPolicyFromPermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DetachManagedPolicyFromPermissionSetCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DetachManagedPolicyFromPermissionSetCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DetachManagedPolicyFromPermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/GetInlinePolicyForPermissionSetCommand.ts b/clients/client-sso-admin/commands/GetInlinePolicyForPermissionSetCommand.ts new file mode 100644 index 000000000000..82165b8811e4 --- /dev/null +++ b/clients/client-sso-admin/commands/GetInlinePolicyForPermissionSetCommand.ts @@ -0,0 +1,76 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { GetInlinePolicyForPermissionSetRequest, GetInlinePolicyForPermissionSetResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetInlinePolicyForPermissionSetCommand, + serializeAws_json1_1GetInlinePolicyForPermissionSetCommand, +} 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 GetInlinePolicyForPermissionSetCommandInput = GetInlinePolicyForPermissionSetRequest; +export type GetInlinePolicyForPermissionSetCommandOutput = GetInlinePolicyForPermissionSetResponse & __MetadataBearer; + +export class GetInlinePolicyForPermissionSetCommand extends $Command< + GetInlinePolicyForPermissionSetCommandInput, + GetInlinePolicyForPermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetInlinePolicyForPermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetInlinePolicyForPermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetInlinePolicyForPermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: GetInlinePolicyForPermissionSetCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1GetInlinePolicyForPermissionSetCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1GetInlinePolicyForPermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ListAccountAssignmentCreationStatusCommand.ts b/clients/client-sso-admin/commands/ListAccountAssignmentCreationStatusCommand.ts new file mode 100644 index 000000000000..cb19355a709b --- /dev/null +++ b/clients/client-sso-admin/commands/ListAccountAssignmentCreationStatusCommand.ts @@ -0,0 +1,80 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + ListAccountAssignmentCreationStatusRequest, + ListAccountAssignmentCreationStatusResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1ListAccountAssignmentCreationStatusCommand, + serializeAws_json1_1ListAccountAssignmentCreationStatusCommand, +} 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 ListAccountAssignmentCreationStatusCommandInput = ListAccountAssignmentCreationStatusRequest; +export type ListAccountAssignmentCreationStatusCommandOutput = ListAccountAssignmentCreationStatusResponse & + __MetadataBearer; + +export class ListAccountAssignmentCreationStatusCommand extends $Command< + ListAccountAssignmentCreationStatusCommandInput, + ListAccountAssignmentCreationStatusCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAccountAssignmentCreationStatusCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListAccountAssignmentCreationStatusRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAccountAssignmentCreationStatusResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListAccountAssignmentCreationStatusCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1ListAccountAssignmentCreationStatusCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListAccountAssignmentCreationStatusCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ListAccountAssignmentDeletionStatusCommand.ts b/clients/client-sso-admin/commands/ListAccountAssignmentDeletionStatusCommand.ts new file mode 100644 index 000000000000..efd7b86e617f --- /dev/null +++ b/clients/client-sso-admin/commands/ListAccountAssignmentDeletionStatusCommand.ts @@ -0,0 +1,80 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + ListAccountAssignmentDeletionStatusRequest, + ListAccountAssignmentDeletionStatusResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1ListAccountAssignmentDeletionStatusCommand, + serializeAws_json1_1ListAccountAssignmentDeletionStatusCommand, +} 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 ListAccountAssignmentDeletionStatusCommandInput = ListAccountAssignmentDeletionStatusRequest; +export type ListAccountAssignmentDeletionStatusCommandOutput = ListAccountAssignmentDeletionStatusResponse & + __MetadataBearer; + +export class ListAccountAssignmentDeletionStatusCommand extends $Command< + ListAccountAssignmentDeletionStatusCommandInput, + ListAccountAssignmentDeletionStatusCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAccountAssignmentDeletionStatusCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListAccountAssignmentDeletionStatusRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAccountAssignmentDeletionStatusResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListAccountAssignmentDeletionStatusCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1ListAccountAssignmentDeletionStatusCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListAccountAssignmentDeletionStatusCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ListAccountAssignmentsCommand.ts b/clients/client-sso-admin/commands/ListAccountAssignmentsCommand.ts new file mode 100644 index 000000000000..85c6eda1d5e9 --- /dev/null +++ b/clients/client-sso-admin/commands/ListAccountAssignmentsCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { ListAccountAssignmentsRequest, ListAccountAssignmentsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListAccountAssignmentsCommand, + serializeAws_json1_1ListAccountAssignmentsCommand, +} 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 ListAccountAssignmentsCommandInput = ListAccountAssignmentsRequest; +export type ListAccountAssignmentsCommandOutput = ListAccountAssignmentsResponse & __MetadataBearer; + +export class ListAccountAssignmentsCommand extends $Command< + ListAccountAssignmentsCommandInput, + ListAccountAssignmentsCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAccountAssignmentsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListAccountAssignmentsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAccountAssignmentsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListAccountAssignmentsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListAccountAssignmentsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListAccountAssignmentsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ListAccountsForProvisionedPermissionSetCommand.ts b/clients/client-sso-admin/commands/ListAccountsForProvisionedPermissionSetCommand.ts new file mode 100644 index 000000000000..7f52fdec7839 --- /dev/null +++ b/clients/client-sso-admin/commands/ListAccountsForProvisionedPermissionSetCommand.ts @@ -0,0 +1,83 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + ListAccountsForProvisionedPermissionSetRequest, + ListAccountsForProvisionedPermissionSetResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1ListAccountsForProvisionedPermissionSetCommand, + serializeAws_json1_1ListAccountsForProvisionedPermissionSetCommand, +} 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 ListAccountsForProvisionedPermissionSetCommandInput = ListAccountsForProvisionedPermissionSetRequest; +export type ListAccountsForProvisionedPermissionSetCommandOutput = ListAccountsForProvisionedPermissionSetResponse & + __MetadataBearer; + +export class ListAccountsForProvisionedPermissionSetCommand extends $Command< + ListAccountsForProvisionedPermissionSetCommandInput, + ListAccountsForProvisionedPermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAccountsForProvisionedPermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + ListAccountsForProvisionedPermissionSetCommandInput, + ListAccountsForProvisionedPermissionSetCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListAccountsForProvisionedPermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAccountsForProvisionedPermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListAccountsForProvisionedPermissionSetCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1ListAccountsForProvisionedPermissionSetCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListAccountsForProvisionedPermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ListInstancesCommand.ts b/clients/client-sso-admin/commands/ListInstancesCommand.ts new file mode 100644 index 000000000000..24954c6312bc --- /dev/null +++ b/clients/client-sso-admin/commands/ListInstancesCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { ListInstancesRequest, ListInstancesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListInstancesCommand, + serializeAws_json1_1ListInstancesCommand, +} 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 ListInstancesCommandInput = ListInstancesRequest; +export type ListInstancesCommandOutput = ListInstancesResponse & __MetadataBearer; + +export class ListInstancesCommand extends $Command< + ListInstancesCommandInput, + ListInstancesCommandOutput, + SSOAdminClientResolvedConfig +> { + // 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: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListInstancesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListInstancesResponse.filterSensitiveLog, + }; + 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_json1_1ListInstancesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListInstancesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ListManagedPoliciesInPermissionSetCommand.ts b/clients/client-sso-admin/commands/ListManagedPoliciesInPermissionSetCommand.ts new file mode 100644 index 000000000000..f7b16647d70e --- /dev/null +++ b/clients/client-sso-admin/commands/ListManagedPoliciesInPermissionSetCommand.ts @@ -0,0 +1,80 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + ListManagedPoliciesInPermissionSetRequest, + ListManagedPoliciesInPermissionSetResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1ListManagedPoliciesInPermissionSetCommand, + serializeAws_json1_1ListManagedPoliciesInPermissionSetCommand, +} 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 ListManagedPoliciesInPermissionSetCommandInput = ListManagedPoliciesInPermissionSetRequest; +export type ListManagedPoliciesInPermissionSetCommandOutput = ListManagedPoliciesInPermissionSetResponse & + __MetadataBearer; + +export class ListManagedPoliciesInPermissionSetCommand extends $Command< + ListManagedPoliciesInPermissionSetCommandInput, + ListManagedPoliciesInPermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListManagedPoliciesInPermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListManagedPoliciesInPermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListManagedPoliciesInPermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListManagedPoliciesInPermissionSetCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1ListManagedPoliciesInPermissionSetCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListManagedPoliciesInPermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ListPermissionSetProvisioningStatusCommand.ts b/clients/client-sso-admin/commands/ListPermissionSetProvisioningStatusCommand.ts new file mode 100644 index 000000000000..d12157bdd93d --- /dev/null +++ b/clients/client-sso-admin/commands/ListPermissionSetProvisioningStatusCommand.ts @@ -0,0 +1,80 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + ListPermissionSetProvisioningStatusRequest, + ListPermissionSetProvisioningStatusResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1ListPermissionSetProvisioningStatusCommand, + serializeAws_json1_1ListPermissionSetProvisioningStatusCommand, +} 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 ListPermissionSetProvisioningStatusCommandInput = ListPermissionSetProvisioningStatusRequest; +export type ListPermissionSetProvisioningStatusCommandOutput = ListPermissionSetProvisioningStatusResponse & + __MetadataBearer; + +export class ListPermissionSetProvisioningStatusCommand extends $Command< + ListPermissionSetProvisioningStatusCommandInput, + ListPermissionSetProvisioningStatusCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListPermissionSetProvisioningStatusCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListPermissionSetProvisioningStatusRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListPermissionSetProvisioningStatusResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListPermissionSetProvisioningStatusCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1ListPermissionSetProvisioningStatusCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListPermissionSetProvisioningStatusCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ListPermissionSetsCommand.ts b/clients/client-sso-admin/commands/ListPermissionSetsCommand.ts new file mode 100644 index 000000000000..c90619247590 --- /dev/null +++ b/clients/client-sso-admin/commands/ListPermissionSetsCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { ListPermissionSetsRequest, ListPermissionSetsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListPermissionSetsCommand, + serializeAws_json1_1ListPermissionSetsCommand, +} 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 ListPermissionSetsCommandInput = ListPermissionSetsRequest; +export type ListPermissionSetsCommandOutput = ListPermissionSetsResponse & __MetadataBearer; + +export class ListPermissionSetsCommand extends $Command< + ListPermissionSetsCommandInput, + ListPermissionSetsCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListPermissionSetsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListPermissionSetsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListPermissionSetsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListPermissionSetsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListPermissionSetsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListPermissionSetsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ListPermissionSetsProvisionedToAccountCommand.ts b/clients/client-sso-admin/commands/ListPermissionSetsProvisionedToAccountCommand.ts new file mode 100644 index 000000000000..21f2a69b20cf --- /dev/null +++ b/clients/client-sso-admin/commands/ListPermissionSetsProvisionedToAccountCommand.ts @@ -0,0 +1,80 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { + ListPermissionSetsProvisionedToAccountRequest, + ListPermissionSetsProvisionedToAccountResponse, +} from "../models/models_0"; +import { + deserializeAws_json1_1ListPermissionSetsProvisionedToAccountCommand, + serializeAws_json1_1ListPermissionSetsProvisionedToAccountCommand, +} 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 ListPermissionSetsProvisionedToAccountCommandInput = ListPermissionSetsProvisionedToAccountRequest; +export type ListPermissionSetsProvisionedToAccountCommandOutput = ListPermissionSetsProvisionedToAccountResponse & + __MetadataBearer; + +export class ListPermissionSetsProvisionedToAccountCommand extends $Command< + ListPermissionSetsProvisionedToAccountCommandInput, + ListPermissionSetsProvisionedToAccountCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListPermissionSetsProvisionedToAccountCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListPermissionSetsProvisionedToAccountRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListPermissionSetsProvisionedToAccountResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListPermissionSetsProvisionedToAccountCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1ListPermissionSetsProvisionedToAccountCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListPermissionSetsProvisionedToAccountCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ListTagsForResourceCommand.ts b/clients/client-sso-admin/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..9c3afa326356 --- /dev/null +++ b/clients/client-sso-admin/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListTagsForResourceCommand, + serializeAws_json1_1ListTagsForResourceCommand, +} 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 ListTagsForResourceCommandInput = ListTagsForResourceRequest; +export type ListTagsForResourceCommandOutput = ListTagsForResourceResponse & __MetadataBearer; + +export class ListTagsForResourceCommand extends $Command< + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, + SSOAdminClientResolvedConfig +> { + // 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: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListTagsForResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsForResourceResponse.filterSensitiveLog, + }; + 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_json1_1ListTagsForResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListTagsForResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/ProvisionPermissionSetCommand.ts b/clients/client-sso-admin/commands/ProvisionPermissionSetCommand.ts new file mode 100644 index 000000000000..0e406fe5e3a3 --- /dev/null +++ b/clients/client-sso-admin/commands/ProvisionPermissionSetCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { ProvisionPermissionSetRequest, ProvisionPermissionSetResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ProvisionPermissionSetCommand, + serializeAws_json1_1ProvisionPermissionSetCommand, +} 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 ProvisionPermissionSetCommandInput = ProvisionPermissionSetRequest; +export type ProvisionPermissionSetCommandOutput = ProvisionPermissionSetResponse & __MetadataBearer; + +export class ProvisionPermissionSetCommand extends $Command< + ProvisionPermissionSetCommandInput, + ProvisionPermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ProvisionPermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ProvisionPermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: ProvisionPermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ProvisionPermissionSetCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ProvisionPermissionSetCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ProvisionPermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/PutInlinePolicyToPermissionSetCommand.ts b/clients/client-sso-admin/commands/PutInlinePolicyToPermissionSetCommand.ts new file mode 100644 index 000000000000..1a99e05f8a53 --- /dev/null +++ b/clients/client-sso-admin/commands/PutInlinePolicyToPermissionSetCommand.ts @@ -0,0 +1,76 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { PutInlinePolicyToPermissionSetRequest, PutInlinePolicyToPermissionSetResponse } from "../models/models_0"; +import { + deserializeAws_json1_1PutInlinePolicyToPermissionSetCommand, + serializeAws_json1_1PutInlinePolicyToPermissionSetCommand, +} 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 PutInlinePolicyToPermissionSetCommandInput = PutInlinePolicyToPermissionSetRequest; +export type PutInlinePolicyToPermissionSetCommandOutput = PutInlinePolicyToPermissionSetResponse & __MetadataBearer; + +export class PutInlinePolicyToPermissionSetCommand extends $Command< + PutInlinePolicyToPermissionSetCommandInput, + PutInlinePolicyToPermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutInlinePolicyToPermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: PutInlinePolicyToPermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: PutInlinePolicyToPermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: PutInlinePolicyToPermissionSetCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1PutInlinePolicyToPermissionSetCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1PutInlinePolicyToPermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/TagResourceCommand.ts b/clients/client-sso-admin/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..086b564cb144 --- /dev/null +++ b/clients/client-sso-admin/commands/TagResourceCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { TagResourceRequest, TagResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1TagResourceCommand, + serializeAws_json1_1TagResourceCommand, +} 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 TagResourceCommandInput = TagResourceRequest; +export type TagResourceCommandOutput = TagResourceResponse & __MetadataBearer; + +export class TagResourceCommand extends $Command< + TagResourceCommandInput, + TagResourceCommandOutput, + SSOAdminClientResolvedConfig +> { + // 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: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: TagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: TagResourceResponse.filterSensitiveLog, + }; + 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_json1_1TagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1TagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/UntagResourceCommand.ts b/clients/client-sso-admin/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..af7741aa655d --- /dev/null +++ b/clients/client-sso-admin/commands/UntagResourceCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UntagResourceCommand, + serializeAws_json1_1UntagResourceCommand, +} 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 UntagResourceCommandInput = UntagResourceRequest; +export type UntagResourceCommandOutput = UntagResourceResponse & __MetadataBearer; + +export class UntagResourceCommand extends $Command< + UntagResourceCommandInput, + UntagResourceCommandOutput, + SSOAdminClientResolvedConfig +> { + // 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: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UntagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: UntagResourceResponse.filterSensitiveLog, + }; + 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_json1_1UntagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UntagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/commands/UpdatePermissionSetCommand.ts b/clients/client-sso-admin/commands/UpdatePermissionSetCommand.ts new file mode 100644 index 000000000000..8fbf31621b07 --- /dev/null +++ b/clients/client-sso-admin/commands/UpdatePermissionSetCommand.ts @@ -0,0 +1,70 @@ +import { SSOAdminClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SSOAdminClient"; +import { UpdatePermissionSetRequest, UpdatePermissionSetResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdatePermissionSetCommand, + serializeAws_json1_1UpdatePermissionSetCommand, +} 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 UpdatePermissionSetCommandInput = UpdatePermissionSetRequest; +export type UpdatePermissionSetCommandOutput = UpdatePermissionSetResponse & __MetadataBearer; + +export class UpdatePermissionSetCommand extends $Command< + UpdatePermissionSetCommandInput, + UpdatePermissionSetCommandOutput, + SSOAdminClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdatePermissionSetCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SSOAdminClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdatePermissionSetRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdatePermissionSetResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdatePermissionSetCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdatePermissionSetCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdatePermissionSetCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sso-admin/endpoints.ts b/clients/client-sso-admin/endpoints.ts new file mode 100644 index 000000000000..d077cc05afa2 --- /dev/null +++ b/clients/client-sso-admin/endpoints.ts @@ -0,0 +1,81 @@ +import { RegionInfo, RegionInfoProvider } from "@aws-sdk/types"; + +// Partition default templates +const AWS_TEMPLATE = "sso.{region}.amazonaws.com"; +const AWS_CN_TEMPLATE = "sso.{region}.amazonaws.com.cn"; +const AWS_ISO_TEMPLATE = "sso.{region}.c2s.ic.gov"; +const AWS_ISO_B_TEMPLATE = "sso.{region}.sc2s.sgov.gov"; +const AWS_US_GOV_TEMPLATE = "sso.{region}.amazonaws.com"; + +// Partition regions +const AWS_REGIONS = new Set([ + "ap-east-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-west-1", + "eu-west-2", + "eu-west-3", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2", +]); +const AWS_CN_REGIONS = new Set(["cn-north-1", "cn-northwest-1"]); +const AWS_ISO_REGIONS = new Set(["us-iso-east-1"]); +const AWS_ISO_B_REGIONS = new Set(["us-isob-east-1"]); +const AWS_US_GOV_REGIONS = new Set(["us-gov-east-1", "us-gov-west-1"]); + +export const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => { + let regionInfo: RegionInfo | undefined = undefined; + switch (region) { + // First, try to match exact region names. + // Next, try to match partition endpoints. + default: + if (AWS_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + if (AWS_CN_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_CN_TEMPLATE.replace("{region}", region), + partition: "aws-cn", + }; + } + if (AWS_ISO_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_TEMPLATE.replace("{region}", region), + partition: "aws-iso", + }; + } + if (AWS_ISO_B_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_B_TEMPLATE.replace("{region}", region), + partition: "aws-iso-b", + }; + } + if (AWS_US_GOV_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_US_GOV_TEMPLATE.replace("{region}", region), + partition: "aws-us-gov", + }; + } + // Finally, assume it's an AWS partition endpoint. + if (regionInfo === undefined) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + } + return Promise.resolve(regionInfo); +}; diff --git a/clients/client-sso-admin/index.ts b/clients/client-sso-admin/index.ts new file mode 100644 index 000000000000..6d719c9dbf36 --- /dev/null +++ b/clients/client-sso-admin/index.ts @@ -0,0 +1,41 @@ +export * from "./SSOAdminClient"; +export * from "./SSOAdmin"; +export * from "./commands/AttachManagedPolicyToPermissionSetCommand"; +export * from "./commands/CreateAccountAssignmentCommand"; +export * from "./commands/CreatePermissionSetCommand"; +export * from "./commands/DeleteAccountAssignmentCommand"; +export * from "./commands/DeleteInlinePolicyFromPermissionSetCommand"; +export * from "./commands/DeletePermissionSetCommand"; +export * from "./commands/DescribeAccountAssignmentCreationStatusCommand"; +export * from "./commands/DescribeAccountAssignmentDeletionStatusCommand"; +export * from "./commands/DescribePermissionSetCommand"; +export * from "./commands/DescribePermissionSetProvisioningStatusCommand"; +export * from "./commands/DetachManagedPolicyFromPermissionSetCommand"; +export * from "./commands/GetInlinePolicyForPermissionSetCommand"; +export * from "./commands/ListAccountAssignmentCreationStatusCommand"; +export * from "./pagination/ListAccountAssignmentCreationStatusPaginator"; +export * from "./commands/ListAccountAssignmentDeletionStatusCommand"; +export * from "./pagination/ListAccountAssignmentDeletionStatusPaginator"; +export * from "./commands/ListAccountAssignmentsCommand"; +export * from "./pagination/ListAccountAssignmentsPaginator"; +export * from "./commands/ListAccountsForProvisionedPermissionSetCommand"; +export * from "./pagination/ListAccountsForProvisionedPermissionSetPaginator"; +export * from "./commands/ListInstancesCommand"; +export * from "./pagination/ListInstancesPaginator"; +export * from "./commands/ListManagedPoliciesInPermissionSetCommand"; +export * from "./pagination/ListManagedPoliciesInPermissionSetPaginator"; +export * from "./commands/ListPermissionSetProvisioningStatusCommand"; +export * from "./pagination/ListPermissionSetProvisioningStatusPaginator"; +export * from "./commands/ListPermissionSetsCommand"; +export * from "./pagination/ListPermissionSetsPaginator"; +export * from "./commands/ListPermissionSetsProvisionedToAccountCommand"; +export * from "./pagination/ListPermissionSetsProvisionedToAccountPaginator"; +export * from "./commands/ListTagsForResourceCommand"; +export * from "./pagination/ListTagsForResourcePaginator"; +export * from "./commands/ProvisionPermissionSetCommand"; +export * from "./commands/PutInlinePolicyToPermissionSetCommand"; +export * from "./commands/TagResourceCommand"; +export * from "./commands/UntagResourceCommand"; +export * from "./commands/UpdatePermissionSetCommand"; +export * from "./pagination/Interfaces"; +export * from "./models/index"; diff --git a/clients/client-sso-admin/models/index.ts b/clients/client-sso-admin/models/index.ts new file mode 100644 index 000000000000..09c5d6e09b8c --- /dev/null +++ b/clients/client-sso-admin/models/index.ts @@ -0,0 +1 @@ +export * from "./models_0"; diff --git a/clients/client-sso-admin/models/models_0.ts b/clients/client-sso-admin/models/models_0.ts new file mode 100644 index 000000000000..319edb55814f --- /dev/null +++ b/clients/client-sso-admin/models/models_0.ts @@ -0,0 +1,1567 @@ +import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; + +/** + *

                                                                You do not have sufficient access to perform this action.

                                                                + */ +export interface AccessDeniedException extends __SmithyException, $MetadataBearer { + name: "AccessDeniedException"; + $fault: "client"; + Message?: string; +} + +export namespace AccessDeniedException { + export const filterSensitiveLog = (obj: AccessDeniedException): any => ({ + ...obj, + }); +} + +export enum PrincipalType { + GROUP = "GROUP", + USER = "USER", +} + +/** + *

                                                                The assignment that indicates a principal's limited access to a specified AWS account + * with a specified permission set.

                                                                + * + *

                                                                The term principal here refers to a user or group that is defined in AWS SSO.

                                                                + *
                                                                + */ +export interface AccountAssignment { + /** + *

                                                                The ARN of the permission set. For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + PermissionSetArn?: string; + + /** + *

                                                                The entity type for which the assignment will be created.

                                                                + */ + PrincipalType?: PrincipalType | string; + + /** + *

                                                                The identifier of the AWS account.

                                                                + */ + AccountId?: string; + + /** + *

                                                                An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

                                                                + */ + PrincipalId?: string; +} + +export namespace AccountAssignment { + export const filterSensitiveLog = (obj: AccountAssignment): any => ({ + ...obj, + }); +} + +export enum StatusValues { + FAILED = "FAILED", + IN_PROGRESS = "IN_PROGRESS", + SUCCEEDED = "SUCCEEDED", +} + +export enum TargetType { + AWS_ACCOUNT = "AWS_ACCOUNT", +} + +/** + *

                                                                The status of the creation or deletion operation of an assignment that a principal needs + * to access an account.

                                                                + */ +export interface AccountAssignmentOperationStatus { + /** + *

                                                                The message that contains an error or exception in case of an operation failure.

                                                                + */ + FailureReason?: string; + + /** + *

                                                                The entity type for which the assignment will be created.

                                                                + */ + PrincipalType?: PrincipalType | string; + + /** + *

                                                                The ARN of the permission set. For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + PermissionSetArn?: string; + + /** + *

                                                                The date that the permission set was created.

                                                                + */ + CreatedDate?: Date; + + /** + *

                                                                The entity type for which the assignment will be created.

                                                                + */ + TargetType?: TargetType | string; + + /** + *

                                                                TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

                                                                + */ + TargetId?: string; + + /** + *

                                                                An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

                                                                + */ + PrincipalId?: string; + + /** + *

                                                                The status of the permission set provisioning process.

                                                                + */ + Status?: StatusValues | string; + + /** + *

                                                                The identifier for tracking the request operation that is generated by the universally + * unique identifier (UUID) workflow.

                                                                + */ + RequestId?: string; +} + +export namespace AccountAssignmentOperationStatus { + export const filterSensitiveLog = (obj: AccountAssignmentOperationStatus): any => ({ + ...obj, + }); +} + +/** + *

                                                                Provides information about the AccountAssignment creation + * request.

                                                                + */ +export interface AccountAssignmentOperationStatusMetadata { + /** + *

                                                                The status of the permission set provisioning process.

                                                                + */ + Status?: StatusValues | string; + + /** + *

                                                                The identifier for tracking the request operation that is generated by the universally + * unique identifier (UUID) workflow.

                                                                + */ + RequestId?: string; + + /** + *

                                                                The date that the permission set was created.

                                                                + */ + CreatedDate?: Date; +} + +export namespace AccountAssignmentOperationStatusMetadata { + export const filterSensitiveLog = (obj: AccountAssignmentOperationStatusMetadata): any => ({ + ...obj, + }); +} + +/** + *

                                                                A structure that stores the details of the IAM managed policy.

                                                                + */ +export interface AttachedManagedPolicy { + /** + *

                                                                The name of the IAM managed policy.

                                                                + */ + Name?: string; + + /** + *

                                                                The ARN of the IAM managed policy. For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + Arn?: string; +} + +export namespace AttachedManagedPolicy { + export const filterSensitiveLog = (obj: AttachedManagedPolicy): any => ({ + ...obj, + }); +} + +export interface AttachManagedPolicyToPermissionSetRequest { + /** + *

                                                                The ARN of the PermissionSet that the managed policy should be attached + * to.

                                                                + */ + PermissionSetArn: string | undefined; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The IAM managed policy ARN to be attached to a permission set.

                                                                + */ + ManagedPolicyArn: string | undefined; +} + +export namespace AttachManagedPolicyToPermissionSetRequest { + export const filterSensitiveLog = (obj: AttachManagedPolicyToPermissionSetRequest): any => ({ + ...obj, + }); +} + +export interface AttachManagedPolicyToPermissionSetResponse {} + +export namespace AttachManagedPolicyToPermissionSetResponse { + export const filterSensitiveLog = (obj: AttachManagedPolicyToPermissionSetResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

                                                                + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + Message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +/** + *

                                                                The request processing has failed because of an unknown error, exception, or failure with + * an internal server.

                                                                + */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + Message?: string; +} + +export namespace InternalServerException { + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +/** + *

                                                                Indicates that a requested resource is not found.

                                                                + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + Message?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +/** + *

                                                                Indicates that the principal has crossed the permitted number of resources that can be created.

                                                                + */ +export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { + name: "ServiceQuotaExceededException"; + $fault: "client"; + Message?: string; +} + +export namespace ServiceQuotaExceededException { + export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ + ...obj, + }); +} + +/** + *

                                                                Indicates that the principal has crossed the throttling limits of the API operations.

                                                                + */ +export interface ThrottlingException extends __SmithyException, $MetadataBearer { + name: "ThrottlingException"; + $fault: "client"; + Message?: string; +} + +export namespace ThrottlingException { + export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + ...obj, + }); +} + +/** + *

                                                                The request failed because it contains a syntax error.

                                                                + */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + Message?: string; +} + +export namespace ValidationException { + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +export interface CreateAccountAssignmentRequest { + /** + *

                                                                The ARN of the permission set that the admin wants to grant the principal access to.

                                                                + */ + PermissionSetArn: string | undefined; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

                                                                + */ + TargetId: string | undefined; + + /** + *

                                                                The entity type for which the assignment will be created.

                                                                + */ + TargetType: TargetType | string | undefined; + + /** + *

                                                                The entity type for which the assignment will be created.

                                                                + */ + PrincipalType: PrincipalType | string | undefined; + + /** + *

                                                                An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

                                                                + */ + PrincipalId: string | undefined; +} + +export namespace CreateAccountAssignmentRequest { + export const filterSensitiveLog = (obj: CreateAccountAssignmentRequest): any => ({ + ...obj, + }); +} + +export interface CreateAccountAssignmentResponse { + /** + *

                                                                The status object for the account assignment creation operation.

                                                                + */ + AccountAssignmentCreationStatus?: AccountAssignmentOperationStatus; +} + +export namespace CreateAccountAssignmentResponse { + export const filterSensitiveLog = (obj: CreateAccountAssignmentResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                A set of key-value pairs that are used to manage the resource. Tags can only be applied to permission sets and cannot be applied to corresponding roles + * that AWS SSO creates in AWS accounts.

                                                                + */ +export interface Tag { + /** + *

                                                                The value of the tag.

                                                                + */ + Value?: string; + + /** + *

                                                                The key for the tag.

                                                                + */ + Key?: string; +} + +export namespace Tag { + export const filterSensitiveLog = (obj: Tag): any => ({ + ...obj, + }); +} + +export interface CreatePermissionSetRequest { + /** + *

                                                                Used to redirect users within the application during the federation authentication + * process.

                                                                + */ + RelayState?: string; + + /** + *

                                                                The description of the PermissionSet.

                                                                + */ + Description?: string; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The length of time that the application user sessions are valid in the ISO-8601 + * standard.

                                                                + */ + SessionDuration?: string; + + /** + *

                                                                The name of the PermissionSet.

                                                                + */ + Name: string | undefined; + + /** + *

                                                                The tags to attach to the new PermissionSet.

                                                                + */ + Tags?: Tag[]; +} + +export namespace CreatePermissionSetRequest { + export const filterSensitiveLog = (obj: CreatePermissionSetRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                An entity that contains IAM policies.

                                                                + */ +export interface PermissionSet { + /** + *

                                                                The date that the permission set was created.

                                                                + */ + CreatedDate?: Date; + + /** + *

                                                                The ARN of the permission set. For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + PermissionSetArn?: string; + + /** + *

                                                                The name of the permission set.

                                                                + */ + Name?: string; + + /** + *

                                                                The length of time that the application user sessions are valid for in the ISO-8601 + * standard.

                                                                + */ + SessionDuration?: string; + + /** + *

                                                                The description of the PermissionSet.

                                                                + */ + Description?: string; + + /** + *

                                                                Used to redirect users within the application during the federation authentication + * process.

                                                                + */ + RelayState?: string; +} + +export namespace PermissionSet { + export const filterSensitiveLog = (obj: PermissionSet): any => ({ + ...obj, + }); +} + +export interface CreatePermissionSetResponse { + /** + *

                                                                Defines the level of access on an AWS account.

                                                                + */ + PermissionSet?: PermissionSet; +} + +export namespace CreatePermissionSetResponse { + export const filterSensitiveLog = (obj: CreatePermissionSetResponse): any => ({ + ...obj, + }); +} + +export interface DeleteAccountAssignmentRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

                                                                + */ + TargetId: string | undefined; + + /** + *

                                                                The entity type for which the assignment will be deleted.

                                                                + */ + TargetType: TargetType | string | undefined; + + /** + *

                                                                An identifier for an object in AWS SSO, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference.

                                                                + */ + PrincipalId: string | undefined; + + /** + *

                                                                The ARN of the permission set that will be used to remove access.

                                                                + */ + PermissionSetArn: string | undefined; + + /** + *

                                                                The entity type for which the assignment will be deleted.

                                                                + */ + PrincipalType: PrincipalType | string | undefined; +} + +export namespace DeleteAccountAssignmentRequest { + export const filterSensitiveLog = (obj: DeleteAccountAssignmentRequest): any => ({ + ...obj, + }); +} + +export interface DeleteAccountAssignmentResponse { + /** + *

                                                                The status object for the account assignment deletion operation.

                                                                + */ + AccountAssignmentDeletionStatus?: AccountAssignmentOperationStatus; +} + +export namespace DeleteAccountAssignmentResponse { + export const filterSensitiveLog = (obj: DeleteAccountAssignmentResponse): any => ({ + ...obj, + }); +} + +export interface DeleteInlinePolicyFromPermissionSetRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The ARN of the permission set that will be used to remove access.

                                                                + */ + PermissionSetArn: string | undefined; +} + +export namespace DeleteInlinePolicyFromPermissionSetRequest { + export const filterSensitiveLog = (obj: DeleteInlinePolicyFromPermissionSetRequest): any => ({ + ...obj, + }); +} + +export interface DeleteInlinePolicyFromPermissionSetResponse {} + +export namespace DeleteInlinePolicyFromPermissionSetResponse { + export const filterSensitiveLog = (obj: DeleteInlinePolicyFromPermissionSetResponse): any => ({ + ...obj, + }); +} + +export interface DeletePermissionSetRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The ARN of the permission set that should be deleted.

                                                                + */ + PermissionSetArn: string | undefined; +} + +export namespace DeletePermissionSetRequest { + export const filterSensitiveLog = (obj: DeletePermissionSetRequest): any => ({ + ...obj, + }); +} + +export interface DeletePermissionSetResponse {} + +export namespace DeletePermissionSetResponse { + export const filterSensitiveLog = (obj: DeletePermissionSetResponse): any => ({ + ...obj, + }); +} + +export interface DescribeAccountAssignmentCreationStatusRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The identifier that is used to track the request operation progress.

                                                                + */ + AccountAssignmentCreationRequestId: string | undefined; +} + +export namespace DescribeAccountAssignmentCreationStatusRequest { + export const filterSensitiveLog = (obj: DescribeAccountAssignmentCreationStatusRequest): any => ({ + ...obj, + }); +} + +export interface DescribeAccountAssignmentCreationStatusResponse { + /** + *

                                                                The status object for the account assignment creation operation.

                                                                + */ + AccountAssignmentCreationStatus?: AccountAssignmentOperationStatus; +} + +export namespace DescribeAccountAssignmentCreationStatusResponse { + export const filterSensitiveLog = (obj: DescribeAccountAssignmentCreationStatusResponse): any => ({ + ...obj, + }); +} + +export interface DescribeAccountAssignmentDeletionStatusRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The identifier that is used to track the request operation progress.

                                                                + */ + AccountAssignmentDeletionRequestId: string | undefined; +} + +export namespace DescribeAccountAssignmentDeletionStatusRequest { + export const filterSensitiveLog = (obj: DescribeAccountAssignmentDeletionStatusRequest): any => ({ + ...obj, + }); +} + +export interface DescribeAccountAssignmentDeletionStatusResponse { + /** + *

                                                                The status object for the account assignment deletion operation.

                                                                + */ + AccountAssignmentDeletionStatus?: AccountAssignmentOperationStatus; +} + +export namespace DescribeAccountAssignmentDeletionStatusResponse { + export const filterSensitiveLog = (obj: DescribeAccountAssignmentDeletionStatusResponse): any => ({ + ...obj, + }); +} + +export interface DescribePermissionSetRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The ARN of the permission set.

                                                                + */ + PermissionSetArn: string | undefined; +} + +export namespace DescribePermissionSetRequest { + export const filterSensitiveLog = (obj: DescribePermissionSetRequest): any => ({ + ...obj, + }); +} + +export interface DescribePermissionSetResponse { + /** + *

                                                                Describes the level of access on an AWS account.

                                                                + */ + PermissionSet?: PermissionSet; +} + +export namespace DescribePermissionSetResponse { + export const filterSensitiveLog = (obj: DescribePermissionSetResponse): any => ({ + ...obj, + }); +} + +export interface DescribePermissionSetProvisioningStatusRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The identifier that is provided by the ProvisionPermissionSet call to + * retrieve the current status of the provisioning workflow.

                                                                + */ + ProvisionPermissionSetRequestId: string | undefined; +} + +export namespace DescribePermissionSetProvisioningStatusRequest { + export const filterSensitiveLog = (obj: DescribePermissionSetProvisioningStatusRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                A structure that is used to provide the status of the provisioning operation for a + * specified permission set.

                                                                + */ +export interface PermissionSetProvisioningStatus { + /** + *

                                                                The status of the permission set provisioning process.

                                                                + */ + Status?: StatusValues | string; + + /** + *

                                                                The identifier of the AWS account from which to list the assignments.

                                                                + */ + AccountId?: string; + + /** + *

                                                                The date that the permission set was created.

                                                                + */ + CreatedDate?: Date; + + /** + *

                                                                The ARN of the permission set that is being provisioned. For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + PermissionSetArn?: string; + + /** + *

                                                                The identifier for tracking the request operation that is generated by the universally + * unique identifier (UUID) workflow.

                                                                + */ + RequestId?: string; + + /** + *

                                                                The message that contains an error or exception in case of an operation failure.

                                                                + */ + FailureReason?: string; +} + +export namespace PermissionSetProvisioningStatus { + export const filterSensitiveLog = (obj: PermissionSetProvisioningStatus): any => ({ + ...obj, + }); +} + +export interface DescribePermissionSetProvisioningStatusResponse { + /** + *

                                                                The status object for the permission set provisioning operation.

                                                                + */ + PermissionSetProvisioningStatus?: PermissionSetProvisioningStatus; +} + +export namespace DescribePermissionSetProvisioningStatusResponse { + export const filterSensitiveLog = (obj: DescribePermissionSetProvisioningStatusResponse): any => ({ + ...obj, + }); +} + +export interface DetachManagedPolicyFromPermissionSetRequest { + /** + *

                                                                The IAM managed policy ARN to be attached to a permission set.

                                                                + */ + ManagedPolicyArn: string | undefined; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The ARN of the PermissionSet from which the policy should be detached.

                                                                + */ + PermissionSetArn: string | undefined; +} + +export namespace DetachManagedPolicyFromPermissionSetRequest { + export const filterSensitiveLog = (obj: DetachManagedPolicyFromPermissionSetRequest): any => ({ + ...obj, + }); +} + +export interface DetachManagedPolicyFromPermissionSetResponse {} + +export namespace DetachManagedPolicyFromPermissionSetResponse { + export const filterSensitiveLog = (obj: DetachManagedPolicyFromPermissionSetResponse): any => ({ + ...obj, + }); +} + +export interface GetInlinePolicyForPermissionSetRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The ARN of the permission set.

                                                                + */ + PermissionSetArn: string | undefined; +} + +export namespace GetInlinePolicyForPermissionSetRequest { + export const filterSensitiveLog = (obj: GetInlinePolicyForPermissionSetRequest): any => ({ + ...obj, + }); +} + +export interface GetInlinePolicyForPermissionSetResponse { + /** + *

                                                                The IAM inline policy that is attached to the permission set.

                                                                + */ + InlinePolicy?: string; +} + +export namespace GetInlinePolicyForPermissionSetResponse { + export const filterSensitiveLog = (obj: GetInlinePolicyForPermissionSetResponse): any => ({ + ...obj, + ...(obj.InlinePolicy && { InlinePolicy: SENSITIVE_STRING }), + }); +} + +/** + *

                                                                Provides information about the SSO instance.

                                                                + */ +export interface InstanceMetadata { + /** + *

                                                                The identifier of the identity store that is connected to the SSO instance.

                                                                + */ + IdentityStoreId?: string; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn?: string; +} + +export namespace InstanceMetadata { + export const filterSensitiveLog = (obj: InstanceMetadata): any => ({ + ...obj, + }); +} + +/** + *

                                                                Filters he operation status list based on the passed attribute value.

                                                                + */ +export interface OperationStatusFilter { + /** + *

                                                                Filters the list operations result based on the status attribute.

                                                                + */ + Status?: StatusValues | string; +} + +export namespace OperationStatusFilter { + export const filterSensitiveLog = (obj: OperationStatusFilter): any => ({ + ...obj, + }); +} + +export interface ListAccountAssignmentCreationStatusRequest { + /** + *

                                                                The maximum number of results to display for the assignment.

                                                                + */ + MaxResults?: number; + + /** + *

                                                                Filters results based on the passed attribute value.

                                                                + */ + Filter?: OperationStatusFilter; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; +} + +export namespace ListAccountAssignmentCreationStatusRequest { + export const filterSensitiveLog = (obj: ListAccountAssignmentCreationStatusRequest): any => ({ + ...obj, + }); +} + +export interface ListAccountAssignmentCreationStatusResponse { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The status object for the account assignment creation operation.

                                                                + */ + AccountAssignmentsCreationStatus?: AccountAssignmentOperationStatusMetadata[]; +} + +export namespace ListAccountAssignmentCreationStatusResponse { + export const filterSensitiveLog = (obj: ListAccountAssignmentCreationStatusResponse): any => ({ + ...obj, + }); +} + +export interface ListAccountAssignmentDeletionStatusRequest { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                Filters results based on the passed attribute value.

                                                                + */ + Filter?: OperationStatusFilter; + + /** + *

                                                                The maximum number of results to display for the assignment.

                                                                + */ + MaxResults?: number; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; +} + +export namespace ListAccountAssignmentDeletionStatusRequest { + export const filterSensitiveLog = (obj: ListAccountAssignmentDeletionStatusRequest): any => ({ + ...obj, + }); +} + +export interface ListAccountAssignmentDeletionStatusResponse { + /** + *

                                                                The status object for the account assignment deletion operation.

                                                                + */ + AccountAssignmentsDeletionStatus?: AccountAssignmentOperationStatusMetadata[]; + + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; +} + +export namespace ListAccountAssignmentDeletionStatusResponse { + export const filterSensitiveLog = (obj: ListAccountAssignmentDeletionStatusResponse): any => ({ + ...obj, + }); +} + +export interface ListAccountAssignmentsRequest { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The ARN of the permission set from which to list assignments.

                                                                + */ + PermissionSetArn: string | undefined; + + /** + *

                                                                The identifier of the AWS account from which to list the assignments.

                                                                + */ + AccountId: string | undefined; + + /** + *

                                                                The maximum number of results to display for the assignment.

                                                                + */ + MaxResults?: number; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; +} + +export namespace ListAccountAssignmentsRequest { + export const filterSensitiveLog = (obj: ListAccountAssignmentsRequest): any => ({ + ...obj, + }); +} + +export interface ListAccountAssignmentsResponse { + /** + *

                                                                The list of assignments that match the input AWS account and permission set.

                                                                + */ + AccountAssignments?: AccountAssignment[]; + + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; +} + +export namespace ListAccountAssignmentsResponse { + export const filterSensitiveLog = (obj: ListAccountAssignmentsResponse): any => ({ + ...obj, + }); +} + +export enum ProvisioningStatus { + LATEST_PERMISSION_SET_NOT_PROVISIONED = "LATEST_PERMISSION_SET_NOT_PROVISIONED", + LATEST_PERMISSION_SET_PROVISIONED = "LATEST_PERMISSION_SET_PROVISIONED", +} + +export interface ListAccountsForProvisionedPermissionSetRequest { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The ARN of the PermissionSet from which the associated AWS accounts + * will be listed.

                                                                + */ + PermissionSetArn: string | undefined; + + /** + *

                                                                The permission set provisioning status for an AWS account.

                                                                + */ + ProvisioningStatus?: ProvisioningStatus | string; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The maximum number of results to display for the PermissionSet.

                                                                + */ + MaxResults?: number; +} + +export namespace ListAccountsForProvisionedPermissionSetRequest { + export const filterSensitiveLog = (obj: ListAccountsForProvisionedPermissionSetRequest): any => ({ + ...obj, + }); +} + +export interface ListAccountsForProvisionedPermissionSetResponse { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The list of AWS AccountIds.

                                                                + */ + AccountIds?: string[]; +} + +export namespace ListAccountsForProvisionedPermissionSetResponse { + export const filterSensitiveLog = (obj: ListAccountsForProvisionedPermissionSetResponse): any => ({ + ...obj, + }); +} + +export interface ListInstancesRequest { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The maximum number of results to display for the instance.

                                                                + */ + MaxResults?: number; +} + +export namespace ListInstancesRequest { + export const filterSensitiveLog = (obj: ListInstancesRequest): any => ({ + ...obj, + }); +} + +export interface ListInstancesResponse { + /** + *

                                                                Lists the SSO instances that the caller has access to.

                                                                + */ + Instances?: InstanceMetadata[]; + + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; +} + +export namespace ListInstancesResponse { + export const filterSensitiveLog = (obj: ListInstancesResponse): any => ({ + ...obj, + }); +} + +export interface ListManagedPoliciesInPermissionSetRequest { + /** + *

                                                                The ARN of the PermissionSet whose managed policies will be listed.

                                                                + */ + PermissionSetArn: string | undefined; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The maximum number of results to display for the PermissionSet.

                                                                + */ + MaxResults?: number; + + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; +} + +export namespace ListManagedPoliciesInPermissionSetRequest { + export const filterSensitiveLog = (obj: ListManagedPoliciesInPermissionSetRequest): any => ({ + ...obj, + }); +} + +export interface ListManagedPoliciesInPermissionSetResponse { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The array of the AttachedManagedPolicy data type object.

                                                                + */ + AttachedManagedPolicies?: AttachedManagedPolicy[]; +} + +export namespace ListManagedPoliciesInPermissionSetResponse { + export const filterSensitiveLog = (obj: ListManagedPoliciesInPermissionSetResponse): any => ({ + ...obj, + }); +} + +export interface ListPermissionSetProvisioningStatusRequest { + /** + *

                                                                The maximum number of results to display for the assignment.

                                                                + */ + MaxResults?: number; + + /** + *

                                                                Filters results based on the passed attribute value.

                                                                + */ + Filter?: OperationStatusFilter; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; +} + +export namespace ListPermissionSetProvisioningStatusRequest { + export const filterSensitiveLog = (obj: ListPermissionSetProvisioningStatusRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                Provides information about the permission set provisioning status.

                                                                + */ +export interface PermissionSetProvisioningStatusMetadata { + /** + *

                                                                The identifier for tracking the request operation that is generated by the universally + * unique identifier (UUID) workflow.

                                                                + */ + RequestId?: string; + + /** + *

                                                                The status of the permission set provisioning process.

                                                                + */ + Status?: StatusValues | string; + + /** + *

                                                                The date that the permission set was created.

                                                                + */ + CreatedDate?: Date; +} + +export namespace PermissionSetProvisioningStatusMetadata { + export const filterSensitiveLog = (obj: PermissionSetProvisioningStatusMetadata): any => ({ + ...obj, + }); +} + +export interface ListPermissionSetProvisioningStatusResponse { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The status object for the permission set provisioning operation.

                                                                + */ + PermissionSetsProvisioningStatus?: PermissionSetProvisioningStatusMetadata[]; +} + +export namespace ListPermissionSetProvisioningStatusResponse { + export const filterSensitiveLog = (obj: ListPermissionSetProvisioningStatusResponse): any => ({ + ...obj, + }); +} + +export interface ListPermissionSetsRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The maximum number of results to display for the assignment.

                                                                + */ + MaxResults?: number; +} + +export namespace ListPermissionSetsRequest { + export const filterSensitiveLog = (obj: ListPermissionSetsRequest): any => ({ + ...obj, + }); +} + +export interface ListPermissionSetsResponse { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                Defines the level of access on an AWS account.

                                                                + */ + PermissionSets?: string[]; +} + +export namespace ListPermissionSetsResponse { + export const filterSensitiveLog = (obj: ListPermissionSetsResponse): any => ({ + ...obj, + }); +} + +export interface ListPermissionSetsProvisionedToAccountRequest { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The maximum number of results to display for the assignment.

                                                                + */ + MaxResults?: number; + + /** + *

                                                                The identifier of the AWS account from which to list the assignments.

                                                                + */ + AccountId: string | undefined; + + /** + *

                                                                The status object for the permission set provisioning operation.

                                                                + */ + ProvisioningStatus?: ProvisioningStatus | string; +} + +export namespace ListPermissionSetsProvisionedToAccountRequest { + export const filterSensitiveLog = (obj: ListPermissionSetsProvisionedToAccountRequest): any => ({ + ...obj, + }); +} + +export interface ListPermissionSetsProvisionedToAccountResponse { + /** + *

                                                                Defines the level of access that an AWS account has.

                                                                + */ + PermissionSets?: string[]; + + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; +} + +export namespace ListPermissionSetsProvisionedToAccountResponse { + export const filterSensitiveLog = (obj: ListPermissionSetsProvisionedToAccountResponse): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The ARN of the resource with the tags to be listed.

                                                                + */ + ResourceArn: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceResponse { + /** + *

                                                                The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

                                                                + */ + NextToken?: string; + + /** + *

                                                                A set of key-value pairs that are used to manage the resource.

                                                                + */ + Tags?: Tag[]; +} + +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + }); +} + +export enum ProvisionTargetType { + ALL_PROVISIONED_ACCOUNTS = "ALL_PROVISIONED_ACCOUNTS", + AWS_ACCOUNT = "AWS_ACCOUNT", +} + +export interface ProvisionPermissionSetRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The ARN of the permission set.

                                                                + */ + PermissionSetArn: string | undefined; + + /** + *

                                                                The entity type for which the assignment will be created.

                                                                + */ + TargetType: ProvisionTargetType | string | undefined; + + /** + *

                                                                TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

                                                                + */ + TargetId?: string; +} + +export namespace ProvisionPermissionSetRequest { + export const filterSensitiveLog = (obj: ProvisionPermissionSetRequest): any => ({ + ...obj, + }); +} + +export interface ProvisionPermissionSetResponse { + /** + *

                                                                The status object for the permission set provisioning operation.

                                                                + */ + PermissionSetProvisioningStatus?: PermissionSetProvisioningStatus; +} + +export namespace ProvisionPermissionSetResponse { + export const filterSensitiveLog = (obj: ProvisionPermissionSetResponse): any => ({ + ...obj, + }); +} + +export interface PutInlinePolicyToPermissionSetRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The IAM inline policy to attach to a PermissionSet.

                                                                + */ + InlinePolicy: string | undefined; + + /** + *

                                                                The ARN of the permission set.

                                                                + */ + PermissionSetArn: string | undefined; +} + +export namespace PutInlinePolicyToPermissionSetRequest { + export const filterSensitiveLog = (obj: PutInlinePolicyToPermissionSetRequest): any => ({ + ...obj, + ...(obj.InlinePolicy && { InlinePolicy: SENSITIVE_STRING }), + }); +} + +export interface PutInlinePolicyToPermissionSetResponse {} + +export namespace PutInlinePolicyToPermissionSetResponse { + export const filterSensitiveLog = (obj: PutInlinePolicyToPermissionSetResponse): any => ({ + ...obj, + }); +} + +export interface TagResourceRequest { + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                The ARN of the resource with the tags to be listed.

                                                                + */ + ResourceArn: string | undefined; + + /** + *

                                                                A set of key-value pairs that are used to manage the resource.

                                                                + */ + Tags: Tag[] | 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 ARN of the resource with the tags to be listed.

                                                                + */ + ResourceArn: string | undefined; + + /** + *

                                                                The keys of tags that are attached to the resource.

                                                                + */ + TagKeys: string[] | undefined; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: 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, + }); +} + +export interface UpdatePermissionSetRequest { + /** + *

                                                                The description of the PermissionSet.

                                                                + */ + Description?: string; + + /** + *

                                                                The ARN of the permission set.

                                                                + */ + PermissionSetArn: string | undefined; + + /** + *

                                                                The ARN of the SSO instance under which the operation will be executed. + * For more information about ARNs, see Amazon Resource + * Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                                + */ + InstanceArn: string | undefined; + + /** + *

                                                                Used to redirect users within the application during the federation authentication + * process.

                                                                + */ + RelayState?: string; + + /** + *

                                                                The length of time that the application user sessions are valid for in the ISO-8601 + * standard.

                                                                + */ + SessionDuration?: string; +} + +export namespace UpdatePermissionSetRequest { + export const filterSensitiveLog = (obj: UpdatePermissionSetRequest): any => ({ + ...obj, + }); +} + +export interface UpdatePermissionSetResponse {} + +export namespace UpdatePermissionSetResponse { + export const filterSensitiveLog = (obj: UpdatePermissionSetResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-sso-admin/package.json b/clients/client-sso-admin/package.json new file mode 100644 index 000000000000..ea642ffe1843 --- /dev/null +++ b/clients/client-sso-admin/package.json @@ -0,0 +1,77 @@ +{ + "name": "@aws-sdk/client-sso-admin", + "description": "@aws-sdk/client-sso-admin client", + "version": "1.0.0-rc.1", + "scripts": { + "clean": "npm run remove-definitions && npm run remove-dist", + "build-documentation": "npm run clean && typedoc ./", + "prepublishOnly": "yarn build", + "pretest": "yarn build:cjs", + "remove-definitions": "rimraf ./types", + "remove-dist": "rimraf ./dist", + "remove-documentation": "rimraf ./docs", + "test": "yarn build && jest --coverage --passWithNoTests", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig.es.json", + "build": "yarn build:cjs && yarn build:es" + }, + "main": "./dist/cjs/index.js", + "types": "./types/index.d.ts", + "module": "./dist/es/index.js", + "browser": { + "./runtimeConfig": "./runtimeConfig.browser" + }, + "react-native": { + "./runtimeConfig": "./runtimeConfig.native" + }, + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0-alpha.0", + "@aws-crypto/sha256-js": "^1.0.0-alpha.0", + "@aws-sdk/config-resolver": "1.0.0-rc.1", + "@aws-sdk/credential-provider-node": "1.0.0-rc.1", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.1", + "@aws-sdk/hash-node": "1.0.0-rc.1", + "@aws-sdk/invalid-dependency": "1.0.0-rc.1", + "@aws-sdk/middleware-content-length": "1.0.0-rc.1", + "@aws-sdk/middleware-host-header": "1.0.0-rc.1", + "@aws-sdk/middleware-logger": "1.0.0-rc.1", + "@aws-sdk/middleware-retry": "1.0.0-rc.1", + "@aws-sdk/middleware-serde": "1.0.0-rc.1", + "@aws-sdk/middleware-signing": "1.0.0-rc.1", + "@aws-sdk/middleware-stack": "1.0.0-rc.1", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.1", + "@aws-sdk/node-config-provider": "1.0.0-rc.1", + "@aws-sdk/node-http-handler": "1.0.0-rc.1", + "@aws-sdk/protocol-http": "1.0.0-rc.1", + "@aws-sdk/smithy-client": "1.0.0-rc.1", + "@aws-sdk/types": "1.0.0-rc.1", + "@aws-sdk/url-parser-browser": "1.0.0-rc.1", + "@aws-sdk/url-parser-node": "1.0.0-rc.1", + "@aws-sdk/util-base64-browser": "1.0.0-rc.1", + "@aws-sdk/util-base64-node": "1.0.0-rc.1", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.1", + "@aws-sdk/util-body-length-node": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.1", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.1", + "@aws-sdk/util-utf8-node": "1.0.0-rc.1", + "tslib": "^2.0.0" + }, + "devDependencies": { + "@aws-sdk/client-documentation-generator": "1.0.0-rc.1", + "@types/node": "^12.7.5", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "typedoc": "^0.17.8", + "typescript": "~4.0.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0" +} diff --git a/clients/client-sso-admin/pagination/Interfaces.ts b/clients/client-sso-admin/pagination/Interfaces.ts new file mode 100644 index 000000000000..6a8948a5d23e --- /dev/null +++ b/clients/client-sso-admin/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface SSOAdminPaginationConfiguration extends PaginationConfiguration { + client: SSOAdmin | SSOAdminClient; +} diff --git a/clients/client-sso-admin/pagination/ListAccountAssignmentCreationStatusPaginator.ts b/clients/client-sso-admin/pagination/ListAccountAssignmentCreationStatusPaginator.ts new file mode 100644 index 000000000000..9aea64552a1c --- /dev/null +++ b/clients/client-sso-admin/pagination/ListAccountAssignmentCreationStatusPaginator.ts @@ -0,0 +1,51 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { + ListAccountAssignmentCreationStatusCommand, + ListAccountAssignmentCreationStatusCommandInput, + ListAccountAssignmentCreationStatusCommandOutput, +} from "../commands/ListAccountAssignmentCreationStatusCommand"; +import { SSOAdminPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSOAdminClient, + input: ListAccountAssignmentCreationStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAccountAssignmentCreationStatusCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSOAdmin, + input: ListAccountAssignmentCreationStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAccountAssignmentCreationStatus(input, ...args); +}; +export async function* listAccountAssignmentCreationStatusPaginate( + config: SSOAdminPaginationConfiguration, + input: ListAccountAssignmentCreationStatusCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAccountAssignmentCreationStatusCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSOAdmin) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSOAdminClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sso-admin/pagination/ListAccountAssignmentDeletionStatusPaginator.ts b/clients/client-sso-admin/pagination/ListAccountAssignmentDeletionStatusPaginator.ts new file mode 100644 index 000000000000..4210aad81cf3 --- /dev/null +++ b/clients/client-sso-admin/pagination/ListAccountAssignmentDeletionStatusPaginator.ts @@ -0,0 +1,51 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { + ListAccountAssignmentDeletionStatusCommand, + ListAccountAssignmentDeletionStatusCommandInput, + ListAccountAssignmentDeletionStatusCommandOutput, +} from "../commands/ListAccountAssignmentDeletionStatusCommand"; +import { SSOAdminPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSOAdminClient, + input: ListAccountAssignmentDeletionStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAccountAssignmentDeletionStatusCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSOAdmin, + input: ListAccountAssignmentDeletionStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAccountAssignmentDeletionStatus(input, ...args); +}; +export async function* listAccountAssignmentDeletionStatusPaginate( + config: SSOAdminPaginationConfiguration, + input: ListAccountAssignmentDeletionStatusCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAccountAssignmentDeletionStatusCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSOAdmin) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSOAdminClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sso-admin/pagination/ListAccountAssignmentsPaginator.ts b/clients/client-sso-admin/pagination/ListAccountAssignmentsPaginator.ts new file mode 100644 index 000000000000..04374076a07b --- /dev/null +++ b/clients/client-sso-admin/pagination/ListAccountAssignmentsPaginator.ts @@ -0,0 +1,51 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { + ListAccountAssignmentsCommand, + ListAccountAssignmentsCommandInput, + ListAccountAssignmentsCommandOutput, +} from "../commands/ListAccountAssignmentsCommand"; +import { SSOAdminPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSOAdminClient, + input: ListAccountAssignmentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAccountAssignmentsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSOAdmin, + input: ListAccountAssignmentsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAccountAssignments(input, ...args); +}; +export async function* listAccountAssignmentsPaginate( + config: SSOAdminPaginationConfiguration, + input: ListAccountAssignmentsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAccountAssignmentsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSOAdmin) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSOAdminClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sso-admin/pagination/ListAccountsForProvisionedPermissionSetPaginator.ts b/clients/client-sso-admin/pagination/ListAccountsForProvisionedPermissionSetPaginator.ts new file mode 100644 index 000000000000..43daf1b61066 --- /dev/null +++ b/clients/client-sso-admin/pagination/ListAccountsForProvisionedPermissionSetPaginator.ts @@ -0,0 +1,51 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { + ListAccountsForProvisionedPermissionSetCommand, + ListAccountsForProvisionedPermissionSetCommandInput, + ListAccountsForProvisionedPermissionSetCommandOutput, +} from "../commands/ListAccountsForProvisionedPermissionSetCommand"; +import { SSOAdminPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSOAdminClient, + input: ListAccountsForProvisionedPermissionSetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAccountsForProvisionedPermissionSetCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSOAdmin, + input: ListAccountsForProvisionedPermissionSetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAccountsForProvisionedPermissionSet(input, ...args); +}; +export async function* listAccountsForProvisionedPermissionSetPaginate( + config: SSOAdminPaginationConfiguration, + input: ListAccountsForProvisionedPermissionSetCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListAccountsForProvisionedPermissionSetCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSOAdmin) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSOAdminClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sso-admin/pagination/ListInstancesPaginator.ts b/clients/client-sso-admin/pagination/ListInstancesPaginator.ts new file mode 100644 index 000000000000..a1d546c4b6ca --- /dev/null +++ b/clients/client-sso-admin/pagination/ListInstancesPaginator.ts @@ -0,0 +1,51 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { + ListInstancesCommand, + ListInstancesCommandInput, + ListInstancesCommandOutput, +} from "../commands/ListInstancesCommand"; +import { SSOAdminPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSOAdminClient, + input: ListInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListInstancesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSOAdmin, + input: ListInstancesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listInstances(input, ...args); +}; +export async function* listInstancesPaginate( + config: SSOAdminPaginationConfiguration, + input: ListInstancesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListInstancesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSOAdmin) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSOAdminClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sso-admin/pagination/ListManagedPoliciesInPermissionSetPaginator.ts b/clients/client-sso-admin/pagination/ListManagedPoliciesInPermissionSetPaginator.ts new file mode 100644 index 000000000000..ca2d2d6e8399 --- /dev/null +++ b/clients/client-sso-admin/pagination/ListManagedPoliciesInPermissionSetPaginator.ts @@ -0,0 +1,51 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { + ListManagedPoliciesInPermissionSetCommand, + ListManagedPoliciesInPermissionSetCommandInput, + ListManagedPoliciesInPermissionSetCommandOutput, +} from "../commands/ListManagedPoliciesInPermissionSetCommand"; +import { SSOAdminPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSOAdminClient, + input: ListManagedPoliciesInPermissionSetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListManagedPoliciesInPermissionSetCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSOAdmin, + input: ListManagedPoliciesInPermissionSetCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listManagedPoliciesInPermissionSet(input, ...args); +}; +export async function* listManagedPoliciesInPermissionSetPaginate( + config: SSOAdminPaginationConfiguration, + input: ListManagedPoliciesInPermissionSetCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListManagedPoliciesInPermissionSetCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSOAdmin) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSOAdminClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sso-admin/pagination/ListPermissionSetProvisioningStatusPaginator.ts b/clients/client-sso-admin/pagination/ListPermissionSetProvisioningStatusPaginator.ts new file mode 100644 index 000000000000..a1b4b275bc56 --- /dev/null +++ b/clients/client-sso-admin/pagination/ListPermissionSetProvisioningStatusPaginator.ts @@ -0,0 +1,51 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { + ListPermissionSetProvisioningStatusCommand, + ListPermissionSetProvisioningStatusCommandInput, + ListPermissionSetProvisioningStatusCommandOutput, +} from "../commands/ListPermissionSetProvisioningStatusCommand"; +import { SSOAdminPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSOAdminClient, + input: ListPermissionSetProvisioningStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPermissionSetProvisioningStatusCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSOAdmin, + input: ListPermissionSetProvisioningStatusCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPermissionSetProvisioningStatus(input, ...args); +}; +export async function* listPermissionSetProvisioningStatusPaginate( + config: SSOAdminPaginationConfiguration, + input: ListPermissionSetProvisioningStatusCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPermissionSetProvisioningStatusCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSOAdmin) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSOAdminClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sso-admin/pagination/ListPermissionSetsPaginator.ts b/clients/client-sso-admin/pagination/ListPermissionSetsPaginator.ts new file mode 100644 index 000000000000..1e2efac70b88 --- /dev/null +++ b/clients/client-sso-admin/pagination/ListPermissionSetsPaginator.ts @@ -0,0 +1,51 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { + ListPermissionSetsCommand, + ListPermissionSetsCommandInput, + ListPermissionSetsCommandOutput, +} from "../commands/ListPermissionSetsCommand"; +import { SSOAdminPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSOAdminClient, + input: ListPermissionSetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPermissionSetsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSOAdmin, + input: ListPermissionSetsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPermissionSets(input, ...args); +}; +export async function* listPermissionSetsPaginate( + config: SSOAdminPaginationConfiguration, + input: ListPermissionSetsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPermissionSetsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSOAdmin) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSOAdminClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sso-admin/pagination/ListPermissionSetsProvisionedToAccountPaginator.ts b/clients/client-sso-admin/pagination/ListPermissionSetsProvisionedToAccountPaginator.ts new file mode 100644 index 000000000000..22c484bf1c73 --- /dev/null +++ b/clients/client-sso-admin/pagination/ListPermissionSetsProvisionedToAccountPaginator.ts @@ -0,0 +1,51 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { + ListPermissionSetsProvisionedToAccountCommand, + ListPermissionSetsProvisionedToAccountCommandInput, + ListPermissionSetsProvisionedToAccountCommandOutput, +} from "../commands/ListPermissionSetsProvisionedToAccountCommand"; +import { SSOAdminPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSOAdminClient, + input: ListPermissionSetsProvisionedToAccountCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPermissionSetsProvisionedToAccountCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSOAdmin, + input: ListPermissionSetsProvisionedToAccountCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPermissionSetsProvisionedToAccount(input, ...args); +}; +export async function* listPermissionSetsProvisionedToAccountPaginate( + config: SSOAdminPaginationConfiguration, + input: ListPermissionSetsProvisionedToAccountCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListPermissionSetsProvisionedToAccountCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof SSOAdmin) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSOAdminClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sso-admin/pagination/ListTagsForResourcePaginator.ts b/clients/client-sso-admin/pagination/ListTagsForResourcePaginator.ts new file mode 100644 index 000000000000..95ecc900615a --- /dev/null +++ b/clients/client-sso-admin/pagination/ListTagsForResourcePaginator.ts @@ -0,0 +1,50 @@ +import { SSOAdmin } from "../SSOAdmin"; +import { SSOAdminClient } from "../SSOAdminClient"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; +import { SSOAdminPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SSOAdminClient, + input: ListTagsForResourceCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListTagsForResourceCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: SSOAdmin, + input: ListTagsForResourceCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listTagsForResource(input, ...args); +}; +export async function* listTagsForResourcePaginate( + config: SSOAdminPaginationConfiguration, + input: ListTagsForResourceCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListTagsForResourceCommandOutput; + while (hasNext) { + input["NextToken"] = token; + if (config.client instanceof SSOAdmin) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SSOAdminClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-sso-admin/protocols/Aws_json1_1.ts b/clients/client-sso-admin/protocols/Aws_json1_1.ts new file mode 100644 index 000000000000..495ce126a248 --- /dev/null +++ b/clients/client-sso-admin/protocols/Aws_json1_1.ts @@ -0,0 +1,3988 @@ +import { + AttachManagedPolicyToPermissionSetCommandInput, + AttachManagedPolicyToPermissionSetCommandOutput, +} from "../commands/AttachManagedPolicyToPermissionSetCommand"; +import { + CreateAccountAssignmentCommandInput, + CreateAccountAssignmentCommandOutput, +} from "../commands/CreateAccountAssignmentCommand"; +import { + CreatePermissionSetCommandInput, + CreatePermissionSetCommandOutput, +} from "../commands/CreatePermissionSetCommand"; +import { + DeleteAccountAssignmentCommandInput, + DeleteAccountAssignmentCommandOutput, +} from "../commands/DeleteAccountAssignmentCommand"; +import { + DeleteInlinePolicyFromPermissionSetCommandInput, + DeleteInlinePolicyFromPermissionSetCommandOutput, +} from "../commands/DeleteInlinePolicyFromPermissionSetCommand"; +import { + DeletePermissionSetCommandInput, + DeletePermissionSetCommandOutput, +} from "../commands/DeletePermissionSetCommand"; +import { + DescribeAccountAssignmentCreationStatusCommandInput, + DescribeAccountAssignmentCreationStatusCommandOutput, +} from "../commands/DescribeAccountAssignmentCreationStatusCommand"; +import { + DescribeAccountAssignmentDeletionStatusCommandInput, + DescribeAccountAssignmentDeletionStatusCommandOutput, +} from "../commands/DescribeAccountAssignmentDeletionStatusCommand"; +import { + DescribePermissionSetCommandInput, + DescribePermissionSetCommandOutput, +} from "../commands/DescribePermissionSetCommand"; +import { + DescribePermissionSetProvisioningStatusCommandInput, + DescribePermissionSetProvisioningStatusCommandOutput, +} from "../commands/DescribePermissionSetProvisioningStatusCommand"; +import { + DetachManagedPolicyFromPermissionSetCommandInput, + DetachManagedPolicyFromPermissionSetCommandOutput, +} from "../commands/DetachManagedPolicyFromPermissionSetCommand"; +import { + GetInlinePolicyForPermissionSetCommandInput, + GetInlinePolicyForPermissionSetCommandOutput, +} from "../commands/GetInlinePolicyForPermissionSetCommand"; +import { + ListAccountAssignmentCreationStatusCommandInput, + ListAccountAssignmentCreationStatusCommandOutput, +} from "../commands/ListAccountAssignmentCreationStatusCommand"; +import { + ListAccountAssignmentDeletionStatusCommandInput, + ListAccountAssignmentDeletionStatusCommandOutput, +} from "../commands/ListAccountAssignmentDeletionStatusCommand"; +import { + ListAccountAssignmentsCommandInput, + ListAccountAssignmentsCommandOutput, +} from "../commands/ListAccountAssignmentsCommand"; +import { + ListAccountsForProvisionedPermissionSetCommandInput, + ListAccountsForProvisionedPermissionSetCommandOutput, +} from "../commands/ListAccountsForProvisionedPermissionSetCommand"; +import { ListInstancesCommandInput, ListInstancesCommandOutput } from "../commands/ListInstancesCommand"; +import { + ListManagedPoliciesInPermissionSetCommandInput, + ListManagedPoliciesInPermissionSetCommandOutput, +} from "../commands/ListManagedPoliciesInPermissionSetCommand"; +import { + ListPermissionSetProvisioningStatusCommandInput, + ListPermissionSetProvisioningStatusCommandOutput, +} from "../commands/ListPermissionSetProvisioningStatusCommand"; +import { ListPermissionSetsCommandInput, ListPermissionSetsCommandOutput } from "../commands/ListPermissionSetsCommand"; +import { + ListPermissionSetsProvisionedToAccountCommandInput, + ListPermissionSetsProvisionedToAccountCommandOutput, +} from "../commands/ListPermissionSetsProvisionedToAccountCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; +import { + ProvisionPermissionSetCommandInput, + ProvisionPermissionSetCommandOutput, +} from "../commands/ProvisionPermissionSetCommand"; +import { + PutInlinePolicyToPermissionSetCommandInput, + PutInlinePolicyToPermissionSetCommandOutput, +} from "../commands/PutInlinePolicyToPermissionSetCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; +import { + UpdatePermissionSetCommandInput, + UpdatePermissionSetCommandOutput, +} from "../commands/UpdatePermissionSetCommand"; +import { + AccessDeniedException, + AccountAssignment, + AccountAssignmentOperationStatus, + AccountAssignmentOperationStatusMetadata, + AttachManagedPolicyToPermissionSetRequest, + AttachManagedPolicyToPermissionSetResponse, + AttachedManagedPolicy, + ConflictException, + CreateAccountAssignmentRequest, + CreateAccountAssignmentResponse, + CreatePermissionSetRequest, + CreatePermissionSetResponse, + DeleteAccountAssignmentRequest, + DeleteAccountAssignmentResponse, + DeleteInlinePolicyFromPermissionSetRequest, + DeleteInlinePolicyFromPermissionSetResponse, + DeletePermissionSetRequest, + DeletePermissionSetResponse, + DescribeAccountAssignmentCreationStatusRequest, + DescribeAccountAssignmentCreationStatusResponse, + DescribeAccountAssignmentDeletionStatusRequest, + DescribeAccountAssignmentDeletionStatusResponse, + DescribePermissionSetProvisioningStatusRequest, + DescribePermissionSetProvisioningStatusResponse, + DescribePermissionSetRequest, + DescribePermissionSetResponse, + DetachManagedPolicyFromPermissionSetRequest, + DetachManagedPolicyFromPermissionSetResponse, + GetInlinePolicyForPermissionSetRequest, + GetInlinePolicyForPermissionSetResponse, + InstanceMetadata, + InternalServerException, + ListAccountAssignmentCreationStatusRequest, + ListAccountAssignmentCreationStatusResponse, + ListAccountAssignmentDeletionStatusRequest, + ListAccountAssignmentDeletionStatusResponse, + ListAccountAssignmentsRequest, + ListAccountAssignmentsResponse, + ListAccountsForProvisionedPermissionSetRequest, + ListAccountsForProvisionedPermissionSetResponse, + ListInstancesRequest, + ListInstancesResponse, + ListManagedPoliciesInPermissionSetRequest, + ListManagedPoliciesInPermissionSetResponse, + ListPermissionSetProvisioningStatusRequest, + ListPermissionSetProvisioningStatusResponse, + ListPermissionSetsProvisionedToAccountRequest, + ListPermissionSetsProvisionedToAccountResponse, + ListPermissionSetsRequest, + ListPermissionSetsResponse, + ListTagsForResourceRequest, + ListTagsForResourceResponse, + OperationStatusFilter, + PermissionSet, + PermissionSetProvisioningStatus, + PermissionSetProvisioningStatusMetadata, + ProvisionPermissionSetRequest, + ProvisionPermissionSetResponse, + PutInlinePolicyToPermissionSetRequest, + PutInlinePolicyToPermissionSetResponse, + ResourceNotFoundException, + ServiceQuotaExceededException, + Tag, + TagResourceRequest, + TagResourceResponse, + ThrottlingException, + UntagResourceRequest, + UntagResourceResponse, + UpdatePermissionSetRequest, + UpdatePermissionSetResponse, + ValidationException, +} from "../models/models_0"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { + Endpoint as __Endpoint, + HeaderBag as __HeaderBag, + MetadataBearer as __MetadataBearer, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export const serializeAws_json1_1AttachManagedPolicyToPermissionSetCommand = async ( + input: AttachManagedPolicyToPermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.AttachManagedPolicyToPermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1AttachManagedPolicyToPermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreateAccountAssignmentCommand = async ( + input: CreateAccountAssignmentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.CreateAccountAssignment", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateAccountAssignmentRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1CreatePermissionSetCommand = async ( + input: CreatePermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.CreatePermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreatePermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteAccountAssignmentCommand = async ( + input: DeleteAccountAssignmentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.DeleteAccountAssignment", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteAccountAssignmentRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeleteInlinePolicyFromPermissionSetCommand = async ( + input: DeleteInlinePolicyFromPermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.DeleteInlinePolicyFromPermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteInlinePolicyFromPermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DeletePermissionSetCommand = async ( + input: DeletePermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.DeletePermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeletePermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeAccountAssignmentCreationStatusCommand = async ( + input: DescribeAccountAssignmentCreationStatusCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.DescribeAccountAssignmentCreationStatus", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeAccountAssignmentCreationStatusRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeAccountAssignmentDeletionStatusCommand = async ( + input: DescribeAccountAssignmentDeletionStatusCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.DescribeAccountAssignmentDeletionStatus", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeAccountAssignmentDeletionStatusRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribePermissionSetCommand = async ( + input: DescribePermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.DescribePermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribePermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribePermissionSetProvisioningStatusCommand = async ( + input: DescribePermissionSetProvisioningStatusCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.DescribePermissionSetProvisioningStatus", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribePermissionSetProvisioningStatusRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DetachManagedPolicyFromPermissionSetCommand = async ( + input: DetachManagedPolicyFromPermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.DetachManagedPolicyFromPermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DetachManagedPolicyFromPermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetInlinePolicyForPermissionSetCommand = async ( + input: GetInlinePolicyForPermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.GetInlinePolicyForPermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetInlinePolicyForPermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListAccountAssignmentCreationStatusCommand = async ( + input: ListAccountAssignmentCreationStatusCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ListAccountAssignmentCreationStatus", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListAccountAssignmentCreationStatusRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListAccountAssignmentDeletionStatusCommand = async ( + input: ListAccountAssignmentDeletionStatusCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ListAccountAssignmentDeletionStatus", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListAccountAssignmentDeletionStatusRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListAccountAssignmentsCommand = async ( + input: ListAccountAssignmentsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ListAccountAssignments", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListAccountAssignmentsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListAccountsForProvisionedPermissionSetCommand = async ( + input: ListAccountsForProvisionedPermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ListAccountsForProvisionedPermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListAccountsForProvisionedPermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListInstancesCommand = async ( + input: ListInstancesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ListInstances", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListInstancesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListManagedPoliciesInPermissionSetCommand = async ( + input: ListManagedPoliciesInPermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ListManagedPoliciesInPermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListManagedPoliciesInPermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListPermissionSetProvisioningStatusCommand = async ( + input: ListPermissionSetProvisioningStatusCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ListPermissionSetProvisioningStatus", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListPermissionSetProvisioningStatusRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListPermissionSetsCommand = async ( + input: ListPermissionSetsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ListPermissionSets", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListPermissionSetsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListPermissionSetsProvisionedToAccountCommand = async ( + input: ListPermissionSetsProvisionedToAccountCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ListPermissionSetsProvisionedToAccount", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListPermissionSetsProvisionedToAccountRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ListTagsForResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListTagsForResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ProvisionPermissionSetCommand = async ( + input: ProvisionPermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.ProvisionPermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ProvisionPermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1PutInlinePolicyToPermissionSetCommand = async ( + input: PutInlinePolicyToPermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.PutInlinePolicyToPermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1PutInlinePolicyToPermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.TagResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1TagResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.UntagResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UntagResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UpdatePermissionSetCommand = async ( + input: UpdatePermissionSetCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "SWBExternalService.UpdatePermissionSet", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdatePermissionSetRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const deserializeAws_json1_1AttachManagedPolicyToPermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1AttachManagedPolicyToPermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1AttachManagedPolicyToPermissionSetResponse(data, context); + const response: AttachManagedPolicyToPermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1AttachManagedPolicyToPermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.ssoadmin#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1CreateAccountAssignmentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateAccountAssignmentCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateAccountAssignmentResponse(data, context); + const response: CreateAccountAssignmentCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateAccountAssignmentCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.ssoadmin#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1CreatePermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreatePermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreatePermissionSetResponse(data, context); + const response: CreatePermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreatePermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.ssoadmin#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1DeleteAccountAssignmentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteAccountAssignmentCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteAccountAssignmentResponse(data, context); + const response: DeleteAccountAssignmentCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteAccountAssignmentCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1DeleteInlinePolicyFromPermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteInlinePolicyFromPermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteInlinePolicyFromPermissionSetResponse(data, context); + const response: DeleteInlinePolicyFromPermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteInlinePolicyFromPermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1DeletePermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeletePermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeletePermissionSetResponse(data, context); + const response: DeletePermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeletePermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1DescribeAccountAssignmentCreationStatusCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeAccountAssignmentCreationStatusCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeAccountAssignmentCreationStatusResponse(data, context); + const response: DescribeAccountAssignmentCreationStatusCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeAccountAssignmentCreationStatusCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1DescribeAccountAssignmentDeletionStatusCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeAccountAssignmentDeletionStatusCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeAccountAssignmentDeletionStatusResponse(data, context); + const response: DescribeAccountAssignmentDeletionStatusCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeAccountAssignmentDeletionStatusCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1DescribePermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribePermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribePermissionSetResponse(data, context); + const response: DescribePermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribePermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1DescribePermissionSetProvisioningStatusCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribePermissionSetProvisioningStatusCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribePermissionSetProvisioningStatusResponse(data, context); + const response: DescribePermissionSetProvisioningStatusCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribePermissionSetProvisioningStatusCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1DetachManagedPolicyFromPermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DetachManagedPolicyFromPermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DetachManagedPolicyFromPermissionSetResponse(data, context); + const response: DetachManagedPolicyFromPermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DetachManagedPolicyFromPermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1GetInlinePolicyForPermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetInlinePolicyForPermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetInlinePolicyForPermissionSetResponse(data, context); + const response: GetInlinePolicyForPermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetInlinePolicyForPermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListAccountAssignmentCreationStatusCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListAccountAssignmentCreationStatusCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListAccountAssignmentCreationStatusResponse(data, context); + const response: ListAccountAssignmentCreationStatusCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListAccountAssignmentCreationStatusCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListAccountAssignmentDeletionStatusCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListAccountAssignmentDeletionStatusCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListAccountAssignmentDeletionStatusResponse(data, context); + const response: ListAccountAssignmentDeletionStatusCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListAccountAssignmentDeletionStatusCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListAccountAssignmentsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListAccountAssignmentsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListAccountAssignmentsResponse(data, context); + const response: ListAccountAssignmentsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListAccountAssignmentsCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListAccountsForProvisionedPermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListAccountsForProvisionedPermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListAccountsForProvisionedPermissionSetResponse(data, context); + const response: ListAccountsForProvisionedPermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListAccountsForProvisionedPermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListInstancesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListInstancesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListInstancesResponse(data, context); + const response: ListInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListInstancesCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListManagedPoliciesInPermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListManagedPoliciesInPermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListManagedPoliciesInPermissionSetResponse(data, context); + const response: ListManagedPoliciesInPermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListManagedPoliciesInPermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListPermissionSetProvisioningStatusCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListPermissionSetProvisioningStatusCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListPermissionSetProvisioningStatusResponse(data, context); + const response: ListPermissionSetProvisioningStatusCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListPermissionSetProvisioningStatusCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListPermissionSetsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListPermissionSetsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListPermissionSetsResponse(data, context); + const response: ListPermissionSetsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListPermissionSetsCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListPermissionSetsProvisionedToAccountCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListPermissionSetsProvisionedToAccountCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListPermissionSetsProvisionedToAccountResponse(data, context); + const response: ListPermissionSetsProvisionedToAccountCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListPermissionSetsProvisionedToAccountCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ListTagsForResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListTagsForResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListTagsForResourceResponse(data, context); + const response: ListTagsForResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListTagsForResourceCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1ProvisionPermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ProvisionPermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ProvisionPermissionSetResponse(data, context); + const response: ProvisionPermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ProvisionPermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1PutInlinePolicyToPermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1PutInlinePolicyToPermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1PutInlinePolicyToPermissionSetResponse(data, context); + const response: PutInlinePolicyToPermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1PutInlinePolicyToPermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.ssoadmin#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1TagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1TagResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1TagResourceResponse(data, context); + const response: TagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1TagResourceCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.ssoadmin#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1UntagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UntagResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UntagResourceResponse(data, context); + const response: UntagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UntagResourceCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_1UpdatePermissionSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdatePermissionSetCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdatePermissionSetResponse(data, context); + const response: UpdatePermissionSetCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdatePermissionSetCommandError = 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.ssoadmin#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.ssoadmin#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.ssoadmin#InternalServerException": + response = { + ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.ssoadmin#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.ssoadmin#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.ssoadmin#ValidationException": + response = { + ...(await deserializeAws_json1_1ValidationExceptionResponse(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_json1_1AccessDeniedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1AccessDeniedException(body, context); + const contents: AccessDeniedException = { + name: "AccessDeniedException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ConflictException(body, context); + const contents: ConflictException = { + name: "ConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1InternalServerExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1InternalServerException(body, context); + const contents: InternalServerException = { + name: "InternalServerException", + $fault: "server", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ResourceNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ResourceNotFoundException(body, context); + const contents: ResourceNotFoundException = { + name: "ResourceNotFoundException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ServiceQuotaExceededExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ServiceQuotaExceededException(body, context); + const contents: ServiceQuotaExceededException = { + name: "ServiceQuotaExceededException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ThrottlingExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ThrottlingException(body, context); + const contents: ThrottlingException = { + name: "ThrottlingException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1ValidationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ValidationException(body, context); + const contents: ValidationException = { + name: "ValidationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const serializeAws_json1_1AttachManagedPolicyToPermissionSetRequest = ( + input: AttachManagedPolicyToPermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.ManagedPolicyArn !== undefined && { ManagedPolicyArn: input.ManagedPolicyArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + }; +}; + +const serializeAws_json1_1CreateAccountAssignmentRequest = ( + input: CreateAccountAssignmentRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + ...(input.PrincipalId !== undefined && { PrincipalId: input.PrincipalId }), + ...(input.PrincipalType !== undefined && { PrincipalType: input.PrincipalType }), + ...(input.TargetId !== undefined && { TargetId: input.TargetId }), + ...(input.TargetType !== undefined && { TargetType: input.TargetType }), + }; +}; + +const serializeAws_json1_1CreatePermissionSetRequest = ( + input: CreatePermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.RelayState !== undefined && { RelayState: input.RelayState }), + ...(input.SessionDuration !== undefined && { SessionDuration: input.SessionDuration }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_1DeleteAccountAssignmentRequest = ( + input: DeleteAccountAssignmentRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + ...(input.PrincipalId !== undefined && { PrincipalId: input.PrincipalId }), + ...(input.PrincipalType !== undefined && { PrincipalType: input.PrincipalType }), + ...(input.TargetId !== undefined && { TargetId: input.TargetId }), + ...(input.TargetType !== undefined && { TargetType: input.TargetType }), + }; +}; + +const serializeAws_json1_1DeleteInlinePolicyFromPermissionSetRequest = ( + input: DeleteInlinePolicyFromPermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + }; +}; + +const serializeAws_json1_1DeletePermissionSetRequest = ( + input: DeletePermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + }; +}; + +const serializeAws_json1_1DescribeAccountAssignmentCreationStatusRequest = ( + input: DescribeAccountAssignmentCreationStatusRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountAssignmentCreationRequestId !== undefined && { + AccountAssignmentCreationRequestId: input.AccountAssignmentCreationRequestId, + }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + }; +}; + +const serializeAws_json1_1DescribeAccountAssignmentDeletionStatusRequest = ( + input: DescribeAccountAssignmentDeletionStatusRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountAssignmentDeletionRequestId !== undefined && { + AccountAssignmentDeletionRequestId: input.AccountAssignmentDeletionRequestId, + }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + }; +}; + +const serializeAws_json1_1DescribePermissionSetProvisioningStatusRequest = ( + input: DescribePermissionSetProvisioningStatusRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.ProvisionPermissionSetRequestId !== undefined && { + ProvisionPermissionSetRequestId: input.ProvisionPermissionSetRequestId, + }), + }; +}; + +const serializeAws_json1_1DescribePermissionSetRequest = ( + input: DescribePermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + }; +}; + +const serializeAws_json1_1DetachManagedPolicyFromPermissionSetRequest = ( + input: DetachManagedPolicyFromPermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.ManagedPolicyArn !== undefined && { ManagedPolicyArn: input.ManagedPolicyArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + }; +}; + +const serializeAws_json1_1GetInlinePolicyForPermissionSetRequest = ( + input: GetInlinePolicyForPermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + }; +}; + +const serializeAws_json1_1ListAccountAssignmentCreationStatusRequest = ( + input: ListAccountAssignmentCreationStatusRequest, + context: __SerdeContext +): any => { + return { + ...(input.Filter !== undefined && { Filter: serializeAws_json1_1OperationStatusFilter(input.Filter, context) }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1ListAccountAssignmentDeletionStatusRequest = ( + input: ListAccountAssignmentDeletionStatusRequest, + context: __SerdeContext +): any => { + return { + ...(input.Filter !== undefined && { Filter: serializeAws_json1_1OperationStatusFilter(input.Filter, context) }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1ListAccountAssignmentsRequest = ( + input: ListAccountAssignmentsRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + }; +}; + +const serializeAws_json1_1ListAccountsForProvisionedPermissionSetRequest = ( + input: ListAccountsForProvisionedPermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + ...(input.ProvisioningStatus !== undefined && { ProvisioningStatus: input.ProvisioningStatus }), + }; +}; + +const serializeAws_json1_1ListInstancesRequest = (input: ListInstancesRequest, context: __SerdeContext): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1ListManagedPoliciesInPermissionSetRequest = ( + input: ListManagedPoliciesInPermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + }; +}; + +const serializeAws_json1_1ListPermissionSetProvisioningStatusRequest = ( + input: ListPermissionSetProvisioningStatusRequest, + context: __SerdeContext +): any => { + return { + ...(input.Filter !== undefined && { Filter: serializeAws_json1_1OperationStatusFilter(input.Filter, context) }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1ListPermissionSetsProvisionedToAccountRequest = ( + input: ListPermissionSetsProvisionedToAccountRequest, + context: __SerdeContext +): any => { + return { + ...(input.AccountId !== undefined && { AccountId: input.AccountId }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.ProvisioningStatus !== undefined && { ProvisioningStatus: input.ProvisioningStatus }), + }; +}; + +const serializeAws_json1_1ListPermissionSetsRequest = ( + input: ListPermissionSetsRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_1ListTagsForResourceRequest = ( + input: ListTagsForResourceRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.ResourceArn !== undefined && { ResourceArn: input.ResourceArn }), + }; +}; + +const serializeAws_json1_1OperationStatusFilter = (input: OperationStatusFilter, context: __SerdeContext): any => { + return { + ...(input.Status !== undefined && { Status: input.Status }), + }; +}; + +const serializeAws_json1_1ProvisionPermissionSetRequest = ( + input: ProvisionPermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + ...(input.TargetId !== undefined && { TargetId: input.TargetId }), + ...(input.TargetType !== undefined && { TargetType: input.TargetType }), + }; +}; + +const serializeAws_json1_1PutInlinePolicyToPermissionSetRequest = ( + input: PutInlinePolicyToPermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.InlinePolicy !== undefined && { InlinePolicy: input.InlinePolicy }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + }; +}; + +const serializeAws_json1_1Tag = (input: Tag, context: __SerdeContext): any => { + return { + ...(input.Key !== undefined && { Key: input.Key }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_json1_1TagKeyList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_1TagList = (input: Tag[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1Tag(entry, context)); +}; + +const serializeAws_json1_1TagResourceRequest = (input: TagResourceRequest, context: __SerdeContext): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.ResourceArn !== undefined && { ResourceArn: input.ResourceArn }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_1UntagResourceRequest = (input: UntagResourceRequest, context: __SerdeContext): any => { + return { + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.ResourceArn !== undefined && { ResourceArn: input.ResourceArn }), + ...(input.TagKeys !== undefined && { TagKeys: serializeAws_json1_1TagKeyList(input.TagKeys, context) }), + }; +}; + +const serializeAws_json1_1UpdatePermissionSetRequest = ( + input: UpdatePermissionSetRequest, + context: __SerdeContext +): any => { + return { + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.InstanceArn !== undefined && { InstanceArn: input.InstanceArn }), + ...(input.PermissionSetArn !== undefined && { PermissionSetArn: input.PermissionSetArn }), + ...(input.RelayState !== undefined && { RelayState: input.RelayState }), + ...(input.SessionDuration !== undefined && { SessionDuration: input.SessionDuration }), + }; +}; + +const deserializeAws_json1_1AccessDeniedException = (output: any, context: __SerdeContext): AccessDeniedException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1AccountAssignment = (output: any, context: __SerdeContext): AccountAssignment => { + return { + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + PermissionSetArn: + output.PermissionSetArn !== undefined && output.PermissionSetArn !== null ? output.PermissionSetArn : undefined, + PrincipalId: output.PrincipalId !== undefined && output.PrincipalId !== null ? output.PrincipalId : undefined, + PrincipalType: + output.PrincipalType !== undefined && output.PrincipalType !== null ? output.PrincipalType : undefined, + } as any; +}; + +const deserializeAws_json1_1AccountAssignmentList = (output: any, context: __SerdeContext): AccountAssignment[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1AccountAssignment(entry, context)); +}; + +const deserializeAws_json1_1AccountAssignmentOperationStatus = ( + output: any, + context: __SerdeContext +): AccountAssignmentOperationStatus => { + return { + CreatedDate: + output.CreatedDate !== undefined && output.CreatedDate !== null + ? new Date(Math.round(output.CreatedDate * 1000)) + : undefined, + FailureReason: + output.FailureReason !== undefined && output.FailureReason !== null ? output.FailureReason : undefined, + PermissionSetArn: + output.PermissionSetArn !== undefined && output.PermissionSetArn !== null ? output.PermissionSetArn : undefined, + PrincipalId: output.PrincipalId !== undefined && output.PrincipalId !== null ? output.PrincipalId : undefined, + PrincipalType: + output.PrincipalType !== undefined && output.PrincipalType !== null ? output.PrincipalType : undefined, + RequestId: output.RequestId !== undefined && output.RequestId !== null ? output.RequestId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + TargetId: output.TargetId !== undefined && output.TargetId !== null ? output.TargetId : undefined, + TargetType: output.TargetType !== undefined && output.TargetType !== null ? output.TargetType : undefined, + } as any; +}; + +const deserializeAws_json1_1AccountAssignmentOperationStatusList = ( + output: any, + context: __SerdeContext +): AccountAssignmentOperationStatusMetadata[] => { + return (output || []).map((entry: any) => + deserializeAws_json1_1AccountAssignmentOperationStatusMetadata(entry, context) + ); +}; + +const deserializeAws_json1_1AccountAssignmentOperationStatusMetadata = ( + output: any, + context: __SerdeContext +): AccountAssignmentOperationStatusMetadata => { + return { + CreatedDate: + output.CreatedDate !== undefined && output.CreatedDate !== null + ? new Date(Math.round(output.CreatedDate * 1000)) + : undefined, + RequestId: output.RequestId !== undefined && output.RequestId !== null ? output.RequestId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1AccountList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1AttachedManagedPolicy = (output: any, context: __SerdeContext): AttachedManagedPolicy => { + 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_json1_1AttachedManagedPolicyList = ( + output: any, + context: __SerdeContext +): AttachedManagedPolicy[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1AttachedManagedPolicy(entry, context)); +}; + +const deserializeAws_json1_1AttachManagedPolicyToPermissionSetResponse = ( + output: any, + context: __SerdeContext +): AttachManagedPolicyToPermissionSetResponse => { + return {} as any; +}; + +const deserializeAws_json1_1ConflictException = (output: any, context: __SerdeContext): ConflictException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1CreateAccountAssignmentResponse = ( + output: any, + context: __SerdeContext +): CreateAccountAssignmentResponse => { + return { + AccountAssignmentCreationStatus: + output.AccountAssignmentCreationStatus !== undefined && output.AccountAssignmentCreationStatus !== null + ? deserializeAws_json1_1AccountAssignmentOperationStatus(output.AccountAssignmentCreationStatus, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1CreatePermissionSetResponse = ( + output: any, + context: __SerdeContext +): CreatePermissionSetResponse => { + return { + PermissionSet: + output.PermissionSet !== undefined && output.PermissionSet !== null + ? deserializeAws_json1_1PermissionSet(output.PermissionSet, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DeleteAccountAssignmentResponse = ( + output: any, + context: __SerdeContext +): DeleteAccountAssignmentResponse => { + return { + AccountAssignmentDeletionStatus: + output.AccountAssignmentDeletionStatus !== undefined && output.AccountAssignmentDeletionStatus !== null + ? deserializeAws_json1_1AccountAssignmentOperationStatus(output.AccountAssignmentDeletionStatus, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DeleteInlinePolicyFromPermissionSetResponse = ( + output: any, + context: __SerdeContext +): DeleteInlinePolicyFromPermissionSetResponse => { + return {} as any; +}; + +const deserializeAws_json1_1DeletePermissionSetResponse = ( + output: any, + context: __SerdeContext +): DeletePermissionSetResponse => { + return {} as any; +}; + +const deserializeAws_json1_1DescribeAccountAssignmentCreationStatusResponse = ( + output: any, + context: __SerdeContext +): DescribeAccountAssignmentCreationStatusResponse => { + return { + AccountAssignmentCreationStatus: + output.AccountAssignmentCreationStatus !== undefined && output.AccountAssignmentCreationStatus !== null + ? deserializeAws_json1_1AccountAssignmentOperationStatus(output.AccountAssignmentCreationStatus, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeAccountAssignmentDeletionStatusResponse = ( + output: any, + context: __SerdeContext +): DescribeAccountAssignmentDeletionStatusResponse => { + return { + AccountAssignmentDeletionStatus: + output.AccountAssignmentDeletionStatus !== undefined && output.AccountAssignmentDeletionStatus !== null + ? deserializeAws_json1_1AccountAssignmentOperationStatus(output.AccountAssignmentDeletionStatus, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribePermissionSetProvisioningStatusResponse = ( + output: any, + context: __SerdeContext +): DescribePermissionSetProvisioningStatusResponse => { + return { + PermissionSetProvisioningStatus: + output.PermissionSetProvisioningStatus !== undefined && output.PermissionSetProvisioningStatus !== null + ? deserializeAws_json1_1PermissionSetProvisioningStatus(output.PermissionSetProvisioningStatus, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribePermissionSetResponse = ( + output: any, + context: __SerdeContext +): DescribePermissionSetResponse => { + return { + PermissionSet: + output.PermissionSet !== undefined && output.PermissionSet !== null + ? deserializeAws_json1_1PermissionSet(output.PermissionSet, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1DetachManagedPolicyFromPermissionSetResponse = ( + output: any, + context: __SerdeContext +): DetachManagedPolicyFromPermissionSetResponse => { + return {} as any; +}; + +const deserializeAws_json1_1GetInlinePolicyForPermissionSetResponse = ( + output: any, + context: __SerdeContext +): GetInlinePolicyForPermissionSetResponse => { + return { + InlinePolicy: output.InlinePolicy !== undefined && output.InlinePolicy !== null ? output.InlinePolicy : undefined, + } as any; +}; + +const deserializeAws_json1_1InstanceList = (output: any, context: __SerdeContext): InstanceMetadata[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1InstanceMetadata(entry, context)); +}; + +const deserializeAws_json1_1InstanceMetadata = (output: any, context: __SerdeContext): InstanceMetadata => { + return { + IdentityStoreId: + output.IdentityStoreId !== undefined && output.IdentityStoreId !== null ? output.IdentityStoreId : undefined, + InstanceArn: output.InstanceArn !== undefined && output.InstanceArn !== null ? output.InstanceArn : undefined, + } as any; +}; + +const deserializeAws_json1_1InternalServerException = ( + output: any, + context: __SerdeContext +): InternalServerException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1ListAccountAssignmentCreationStatusResponse = ( + output: any, + context: __SerdeContext +): ListAccountAssignmentCreationStatusResponse => { + return { + AccountAssignmentsCreationStatus: + output.AccountAssignmentsCreationStatus !== undefined && output.AccountAssignmentsCreationStatus !== null + ? deserializeAws_json1_1AccountAssignmentOperationStatusList(output.AccountAssignmentsCreationStatus, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_1ListAccountAssignmentDeletionStatusResponse = ( + output: any, + context: __SerdeContext +): ListAccountAssignmentDeletionStatusResponse => { + return { + AccountAssignmentsDeletionStatus: + output.AccountAssignmentsDeletionStatus !== undefined && output.AccountAssignmentsDeletionStatus !== null + ? deserializeAws_json1_1AccountAssignmentOperationStatusList(output.AccountAssignmentsDeletionStatus, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_1ListAccountAssignmentsResponse = ( + output: any, + context: __SerdeContext +): ListAccountAssignmentsResponse => { + return { + AccountAssignments: + output.AccountAssignments !== undefined && output.AccountAssignments !== null + ? deserializeAws_json1_1AccountAssignmentList(output.AccountAssignments, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_1ListAccountsForProvisionedPermissionSetResponse = ( + output: any, + context: __SerdeContext +): ListAccountsForProvisionedPermissionSetResponse => { + return { + AccountIds: + output.AccountIds !== undefined && output.AccountIds !== null + ? deserializeAws_json1_1AccountList(output.AccountIds, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_1ListInstancesResponse = (output: any, context: __SerdeContext): ListInstancesResponse => { + return { + Instances: + output.Instances !== undefined && output.Instances !== null + ? deserializeAws_json1_1InstanceList(output.Instances, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_1ListManagedPoliciesInPermissionSetResponse = ( + output: any, + context: __SerdeContext +): ListManagedPoliciesInPermissionSetResponse => { + return { + AttachedManagedPolicies: + output.AttachedManagedPolicies !== undefined && output.AttachedManagedPolicies !== null + ? deserializeAws_json1_1AttachedManagedPolicyList(output.AttachedManagedPolicies, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_1ListPermissionSetProvisioningStatusResponse = ( + output: any, + context: __SerdeContext +): ListPermissionSetProvisioningStatusResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + PermissionSetsProvisioningStatus: + output.PermissionSetsProvisioningStatus !== undefined && output.PermissionSetsProvisioningStatus !== null + ? deserializeAws_json1_1PermissionSetProvisioningStatusList(output.PermissionSetsProvisioningStatus, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListPermissionSetsProvisionedToAccountResponse = ( + output: any, + context: __SerdeContext +): ListPermissionSetsProvisionedToAccountResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + PermissionSets: + output.PermissionSets !== undefined && output.PermissionSets !== null + ? deserializeAws_json1_1PermissionSetList(output.PermissionSets, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListPermissionSetsResponse = ( + output: any, + context: __SerdeContext +): ListPermissionSetsResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + PermissionSets: + output.PermissionSets !== undefined && output.PermissionSets !== null + ? deserializeAws_json1_1PermissionSetList(output.PermissionSets, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1ListTagsForResourceResponse = ( + output: any, + context: __SerdeContext +): ListTagsForResourceResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_json1_1TagList(output.Tags, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1PermissionSet = (output: any, context: __SerdeContext): PermissionSet => { + return { + CreatedDate: + output.CreatedDate !== undefined && output.CreatedDate !== null + ? new Date(Math.round(output.CreatedDate * 1000)) + : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + PermissionSetArn: + output.PermissionSetArn !== undefined && output.PermissionSetArn !== null ? output.PermissionSetArn : undefined, + RelayState: output.RelayState !== undefined && output.RelayState !== null ? output.RelayState : undefined, + SessionDuration: + output.SessionDuration !== undefined && output.SessionDuration !== null ? output.SessionDuration : undefined, + } as any; +}; + +const deserializeAws_json1_1PermissionSetList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1PermissionSetProvisioningStatus = ( + output: any, + context: __SerdeContext +): PermissionSetProvisioningStatus => { + return { + AccountId: output.AccountId !== undefined && output.AccountId !== null ? output.AccountId : undefined, + CreatedDate: + output.CreatedDate !== undefined && output.CreatedDate !== null + ? new Date(Math.round(output.CreatedDate * 1000)) + : undefined, + FailureReason: + output.FailureReason !== undefined && output.FailureReason !== null ? output.FailureReason : undefined, + PermissionSetArn: + output.PermissionSetArn !== undefined && output.PermissionSetArn !== null ? output.PermissionSetArn : undefined, + RequestId: output.RequestId !== undefined && output.RequestId !== null ? output.RequestId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1PermissionSetProvisioningStatusList = ( + output: any, + context: __SerdeContext +): PermissionSetProvisioningStatusMetadata[] => { + return (output || []).map((entry: any) => + deserializeAws_json1_1PermissionSetProvisioningStatusMetadata(entry, context) + ); +}; + +const deserializeAws_json1_1PermissionSetProvisioningStatusMetadata = ( + output: any, + context: __SerdeContext +): PermissionSetProvisioningStatusMetadata => { + return { + CreatedDate: + output.CreatedDate !== undefined && output.CreatedDate !== null + ? new Date(Math.round(output.CreatedDate * 1000)) + : undefined, + RequestId: output.RequestId !== undefined && output.RequestId !== null ? output.RequestId : undefined, + Status: output.Status !== undefined && output.Status !== null ? output.Status : undefined, + } as any; +}; + +const deserializeAws_json1_1ProvisionPermissionSetResponse = ( + output: any, + context: __SerdeContext +): ProvisionPermissionSetResponse => { + return { + PermissionSetProvisioningStatus: + output.PermissionSetProvisioningStatus !== undefined && output.PermissionSetProvisioningStatus !== null + ? deserializeAws_json1_1PermissionSetProvisioningStatus(output.PermissionSetProvisioningStatus, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1PutInlinePolicyToPermissionSetResponse = ( + output: any, + context: __SerdeContext +): PutInlinePolicyToPermissionSetResponse => { + return {} as any; +}; + +const deserializeAws_json1_1ResourceNotFoundException = ( + output: any, + context: __SerdeContext +): ResourceNotFoundException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1ServiceQuotaExceededException = ( + output: any, + context: __SerdeContext +): ServiceQuotaExceededException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1Tag = (output: any, context: __SerdeContext): Tag => { + return { + Key: output.Key !== undefined && output.Key !== null ? output.Key : undefined, + Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined, + } as any; +}; + +const deserializeAws_json1_1TagList = (output: any, context: __SerdeContext): Tag[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1Tag(entry, context)); +}; + +const deserializeAws_json1_1TagResourceResponse = (output: any, context: __SerdeContext): TagResourceResponse => { + return {} as any; +}; + +const deserializeAws_json1_1ThrottlingException = (output: any, context: __SerdeContext): ThrottlingException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1UntagResourceResponse = (output: any, context: __SerdeContext): UntagResourceResponse => { + return {} as any; +}; + +const deserializeAws_json1_1UpdatePermissionSetResponse = ( + output: any, + context: __SerdeContext +): UpdatePermissionSetResponse => { + return {} as any; +}; + +const deserializeAws_json1_1ValidationException = (output: any, context: __SerdeContext): ValidationException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ + httpStatusCode: output.statusCode, + httpHeaders: output.headers, + requestId: output.headers["x-amzn-requestid"], +}); + +// Collect low-level response body stream to Uint8Array. +const collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => { + if (streamBody instanceof Uint8Array) { + return Promise.resolve(streamBody); + } + return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); +}; + +// Encode Uint8Array data into string with utf-8. +const collectBodyString = (streamBody: any, context: __SerdeContext): Promise => + collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); + +const buildHttpRpcRequest = async ( + context: __SerdeContext, + headers: __HeaderBag, + path: string, + resolvedHostname: string | undefined, + body: any +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port } = await context.endpoint(); + const contents: any = { + protocol, + hostname, + port, + method: "POST", + path, + headers, + }; + if (resolvedHostname !== undefined) { + contents.hostname = resolvedHostname; + } + if (body !== undefined) { + contents.body = body; + } + return new __HttpRequest(contents); +}; + +const parseBody = (streamBody: any, context: __SerdeContext): any => + collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); diff --git a/clients/client-sso-admin/runtimeConfig.browser.ts b/clients/client-sso-admin/runtimeConfig.browser.ts new file mode 100644 index 000000000000..48befdf8184d --- /dev/null +++ b/clients/client-sso-admin/runtimeConfig.browser.ts @@ -0,0 +1,31 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-browser"; +import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler"; +import { invalidFunction } from "@aws-sdk/invalid-dependency"; +import { DEFAULT_MAX_ATTEMPTS } from "@aws-sdk/middleware-retry"; +import { parseUrl } from "@aws-sdk/url-parser-browser"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-browser"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser"; +import { ClientDefaults } from "./SSOAdminClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "browser", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider: invalidFunction("Credential is missing") as any, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: DEFAULT_MAX_ATTEMPTS, + region: invalidFunction("Region is missing") as any, + requestHandler: new FetchHttpHandler(), + sha256: Sha256, + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-sso-admin/runtimeConfig.native.ts b/clients/client-sso-admin/runtimeConfig.native.ts new file mode 100644 index 000000000000..7e67fafc97d1 --- /dev/null +++ b/clients/client-sso-admin/runtimeConfig.native.ts @@ -0,0 +1,14 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-js"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { ClientDefaults } from "./SSOAdminClient"; +import { ClientDefaultValues as BrowserDefaults } from "./runtimeConfig.browser"; + +export const ClientDefaultValues: Required = { + ...BrowserDefaults, + runtime: "react-native", + defaultUserAgent: `aws-sdk-js-v3-react-native-${packageInfo.name}/${packageInfo.version}`, + sha256: Sha256, + urlParser: parseUrl, +}; diff --git a/clients/client-sso-admin/runtimeConfig.shared.ts b/clients/client-sso-admin/runtimeConfig.shared.ts new file mode 100644 index 000000000000..cf675910a71a --- /dev/null +++ b/clients/client-sso-admin/runtimeConfig.shared.ts @@ -0,0 +1,10 @@ +import { defaultRegionInfoProvider } from "./endpoints"; +import { Logger as __Logger } from "@aws-sdk/types"; + +export const ClientSharedValues = { + apiVersion: "2020-07-20", + disableHostPrefix: false, + logger: {} as __Logger, + regionInfoProvider: defaultRegionInfoProvider, + signingName: "sso", +}; diff --git a/clients/client-sso-admin/runtimeConfig.ts b/clients/client-sso-admin/runtimeConfig.ts new file mode 100644 index 000000000000..ea239fee75fd --- /dev/null +++ b/clients/client-sso-admin/runtimeConfig.ts @@ -0,0 +1,33 @@ +import packageInfo from "./package.json"; + +import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@aws-sdk/config-resolver"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; +import { Hash } from "@aws-sdk/hash-node"; +import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry"; +import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider"; +import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-node"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node"; +import { ClientDefaults } from "./SSOAdminClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "node", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: new NodeHttpHandler(), + sha256: Hash.bind(null, "sha256"), + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-sso-admin/tsconfig.es.json b/clients/client-sso-admin/tsconfig.es.json new file mode 100644 index 000000000000..30df5d2e6986 --- /dev/null +++ b/clients/client-sso-admin/tsconfig.es.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "target": "es5", + "module": "esnext", + "moduleResolution": "node", + "declaration": false, + "declarationDir": null, + "lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], + "outDir": "dist/es" + } +} diff --git a/clients/client-sso-admin/tsconfig.json b/clients/client-sso-admin/tsconfig.json new file mode 100644 index 000000000000..3b440583a9a2 --- /dev/null +++ b/clients/client-sso-admin/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "alwaysStrict": true, + "target": "ES2018", + "module": "commonjs", + "declaration": true, + "strict": true, + "sourceMap": true, + "downlevelIteration": true, + "importHelpers": true, + "noEmitHelpers": true, + "incremental": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "declarationDir": "./types", + "outDir": "dist/cjs" + }, + "typedocOptions": { + "exclude": "**/node_modules/**", + "excludedNotExported": true, + "excludePrivate": true, + "hideGenerator": true, + "ignoreCompilerErrors": true, + "mode": "file", + "out": "./docs", + "plugin": "@aws-sdk/client-documentation-generator" + } +} diff --git a/clients/client-sso-oidc/SSOOIDC.ts b/clients/client-sso-oidc/SSOOIDC.ts index 98bb8b0506e7..e8a3a8687222 100644 --- a/clients/client-sso-oidc/SSOOIDC.ts +++ b/clients/client-sso-oidc/SSOOIDC.ts @@ -12,32 +12,7 @@ import { } from "./commands/StartDeviceAuthorizationCommand"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; -/** - *

                                                                AWS Single Sign-On (SSO) OpenID Connect (OIDC) is a web service that enables a client - * (such as AWS CLI or a native application) to register with AWS SSO. The service also - * enables the client to fetch the user’s access token upon successful authentication and - * authorization with AWS SSO. This service conforms with the OAuth 2.0 based implementation of - * the device authorization grant standard (https://tools.ietf.org/html/rfc8628).

                                                                - * - *

                                                                For general information about AWS SSO, see What is AWS - * Single Sign-On? in the AWS SSO User Guide.

                                                                - * - *

                                                                This API reference guide describes the AWS SSO OIDC operations that you can call - * programatically and includes detailed information on data types and errors.

                                                                - * - * - *

                                                                AWS provides SDKs that consist of libraries and sample code for various programming - * languages and platforms such as Java, Ruby, .Net, iOS, and Android. The SDKs provide a - * convenient way to create programmatic access to AWS SSO and other AWS services. For more - * information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

                                                                - *
                                                                - */ export class SSOOIDC extends SSOOIDCClient { - /** - *

                                                                Creates and returns an access token for the authorized client. The access token issued - * will be used to fetch short-term credentials for the assigned roles in the AWS - * account.

                                                                - */ public createToken(args: CreateTokenCommandInput, options?: __HttpHandlerOptions): Promise; public createToken(args: CreateTokenCommandInput, cb: (err: any, data?: CreateTokenCommandOutput) => void): void; public createToken( @@ -61,10 +36,6 @@ export class SSOOIDC extends SSOOIDCClient { } } - /** - *

                                                                Registers a client with AWS SSO. This allows clients to initiate device authorization. - * The output should be persisted for reuse through many authentication requests.

                                                                - */ public registerClient( args: RegisterClientCommandInput, options?: __HttpHandlerOptions @@ -94,9 +65,6 @@ export class SSOOIDC extends SSOOIDCClient { } } - /** - *

                                                                Initiates device authorization by requesting a pair of verification codes from the authorization service.

                                                                - */ public startDeviceAuthorization( args: StartDeviceAuthorizationCommandInput, options?: __HttpHandlerOptions diff --git a/clients/client-sso-oidc/SSOOIDCClient.ts b/clients/client-sso-oidc/SSOOIDCClient.ts index c94773bff405..e44a19982bb8 100644 --- a/clients/client-sso-oidc/SSOOIDCClient.ts +++ b/clients/client-sso-oidc/SSOOIDCClient.ts @@ -175,26 +175,6 @@ export type SSOOIDCClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHa UserAgentResolvedConfig & HostHeaderResolvedConfig; -/** - *

                                                                AWS Single Sign-On (SSO) OpenID Connect (OIDC) is a web service that enables a client - * (such as AWS CLI or a native application) to register with AWS SSO. The service also - * enables the client to fetch the user’s access token upon successful authentication and - * authorization with AWS SSO. This service conforms with the OAuth 2.0 based implementation of - * the device authorization grant standard (https://tools.ietf.org/html/rfc8628).

                                                                - * - *

                                                                For general information about AWS SSO, see What is AWS - * Single Sign-On? in the AWS SSO User Guide.

                                                                - * - *

                                                                This API reference guide describes the AWS SSO OIDC operations that you can call - * programatically and includes detailed information on data types and errors.

                                                                - * - * - *

                                                                AWS provides SDKs that consist of libraries and sample code for various programming - * languages and platforms such as Java, Ruby, .Net, iOS, and Android. The SDKs provide a - * convenient way to create programmatic access to AWS SSO and other AWS services. For more - * information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

                                                                - *
                                                                - */ export class SSOOIDCClient extends __Client< __HttpHandlerOptions, ServiceInputTypes, diff --git a/clients/client-sso-oidc/models/models_0.ts b/clients/client-sso-oidc/models/models_0.ts index 69e0271bf4ca..3c09ef2510b0 100644 --- a/clients/client-sso-oidc/models/models_0.ts +++ b/clients/client-sso-oidc/models/models_0.ts @@ -1,9 +1,6 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; -/** - *

                                                                You do not have sufficient access to perform this action.

                                                                - */ export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; $fault: "client"; @@ -17,9 +14,6 @@ export namespace AccessDeniedException { }); } -/** - *

                                                                Indicates that a request to authorize a client with an access user session token is pending.

                                                                - */ export interface AuthorizationPendingException extends __SmithyException, $MetadataBearer { name: "AuthorizationPendingException"; $fault: "client"; @@ -34,48 +28,13 @@ export namespace AuthorizationPendingException { } export interface CreateTokenRequest { - /** - *

                                                                The list of scopes that is defined by the client. Upon authorization, this list is used to - * restrict permissions when granting an access token.

                                                                - */ + code?: string; + refreshToken?: string; scope?: string[]; - - /** - *

                                                                The unique identifier string for each client. This value should come from the persisted result of the RegisterClient API.

                                                                - */ - clientId: string | undefined; - - /** - *

                                                                The location of the application that will receive the authorization code. Users authorize - * the service to send the request to this location.

                                                                - */ redirectUri?: string; - - /** - *

                                                                Supports grant types for authorization code, refresh token, and device code request.

                                                                - */ grantType: string | undefined; - - /** - *

                                                                The token used to obtain an access token in the event that the access token is invalid or expired. This token is not issued by the service.

                                                                - */ - refreshToken?: string; - - /** - *

                                                                Used only when calling this API for the device code grant type. This short-term code is - * used to identify this authentication attempt. This should come from an in-memory reference to - * the result of the StartDeviceAuthorization API.

                                                                - */ deviceCode: string | undefined; - - /** - *

                                                                The authorization code received from the authorization service. This parameter is required to perform an authorization grant request to get access to a token.

                                                                - */ - code?: string; - - /** - *

                                                                A secret string generated for the client. This value should come from the persisted result of the RegisterClient API.

                                                                - */ + clientId: string | undefined; clientSecret: string | undefined; } @@ -86,32 +45,11 @@ export namespace CreateTokenRequest { } export interface CreateTokenResponse { - /** - *

                                                                Indicates the time in seconds when an access token will expire.

                                                                - */ + accessToken?: string; expiresIn?: number; - - /** - *

                                                                A token that, if present, can be used to refresh a previously issued access token that - * might have expired.

                                                                - */ refreshToken?: string; - - /** - *

                                                                An opaque token to access AWS SSO resources assigned to a user.

                                                                - */ - accessToken?: string; - - /** - *

                                                                The identifier of the user that associated with the access token, if present.

                                                                - */ - idToken?: string; - - /** - *

                                                                Used to notify the client that the returned token is an access token. The supported type - * is BearerToken.

                                                                - */ tokenType?: string; + idToken?: string; } export namespace CreateTokenResponse { @@ -120,14 +58,11 @@ export namespace CreateTokenResponse { }); } -/** - *

                                                                Indicates that the token issued by the service is expired and is no longer valid.

                                                                - */ export interface ExpiredTokenException extends __SmithyException, $MetadataBearer { name: "ExpiredTokenException"; $fault: "client"; - error_description?: string; error?: string; + error_description?: string; } export namespace ExpiredTokenException { @@ -136,9 +71,6 @@ export namespace ExpiredTokenException { }); } -/** - *

                                                                Indicates that an error from the service occurred while trying to process a request.

                                                                - */ export interface InternalServerException extends __SmithyException, $MetadataBearer { name: "InternalServerException"; $fault: "server"; @@ -152,11 +84,6 @@ export namespace InternalServerException { }); } -/** - *

                                                                Indicates that the clientId or clientSecret in the request is - * invalid. For example, this can occur when a client sends an incorrect clientId or - * an expired clientSecret.

                                                                - */ export interface InvalidClientException extends __SmithyException, $MetadataBearer { name: "InvalidClientException"; $fault: "client"; @@ -170,9 +97,6 @@ export namespace InvalidClientException { }); } -/** - *

                                                                Indicates that a request contains an invalid grant. This can occur if a client makes a CreateToken request with an invalid grant type.

                                                                - */ export interface InvalidGrantException extends __SmithyException, $MetadataBearer { name: "InvalidGrantException"; $fault: "client"; @@ -186,15 +110,11 @@ export namespace InvalidGrantException { }); } -/** - *

                                                                Indicates that something is wrong with the input to the request. For example, a required - * parameter might be missing or out of range.

                                                                - */ export interface InvalidRequestException extends __SmithyException, $MetadataBearer { name: "InvalidRequestException"; $fault: "client"; - error?: string; error_description?: string; + error?: string; } export namespace InvalidRequestException { @@ -203,9 +123,6 @@ export namespace InvalidRequestException { }); } -/** - *

                                                                Indicates that the scope provided in the request is invalid.

                                                                - */ export interface InvalidScopeException extends __SmithyException, $MetadataBearer { name: "InvalidScopeException"; $fault: "client"; @@ -219,14 +136,11 @@ export namespace InvalidScopeException { }); } -/** - *

                                                                Indicates that the client is making the request too frequently and is more than the service can handle.

                                                                - */ export interface SlowDownException extends __SmithyException, $MetadataBearer { name: "SlowDownException"; $fault: "client"; - error_description?: string; error?: string; + error_description?: string; } export namespace SlowDownException { @@ -235,15 +149,11 @@ export namespace SlowDownException { }); } -/** - *

                                                                Indicates that the client is not currently authorized to make the request. This can happen - * when a clientId is not issued for a public client.

                                                                - */ export interface UnauthorizedClientException extends __SmithyException, $MetadataBearer { name: "UnauthorizedClientException"; $fault: "client"; - error?: string; error_description?: string; + error?: string; } export namespace UnauthorizedClientException { @@ -252,9 +162,6 @@ export namespace UnauthorizedClientException { }); } -/** - *

                                                                Indicates that the grant type in the request is not supported by the service.

                                                                - */ export interface UnsupportedGrantTypeException extends __SmithyException, $MetadataBearer { name: "UnsupportedGrantTypeException"; $fault: "client"; @@ -268,14 +175,11 @@ export namespace UnsupportedGrantTypeException { }); } -/** - *

                                                                Indicates that the client information sent in the request during registration is invalid.

                                                                - */ export interface InvalidClientMetadataException extends __SmithyException, $MetadataBearer { name: "InvalidClientMetadataException"; $fault: "client"; - error_description?: string; error?: string; + error_description?: string; } export namespace InvalidClientMetadataException { @@ -285,21 +189,9 @@ export namespace InvalidClientMetadataException { } export interface RegisterClientRequest { - /** - *

                                                                The type of client. The service supports only public as a client type. Anything other than public will be rejected by the service.

                                                                - */ + scopes?: string[]; clientType: string | undefined; - - /** - *

                                                                The friendly name of the client.

                                                                - */ clientName: string | undefined; - - /** - *

                                                                The list of scopes that are defined by the client. Upon authorization, this list is used - * to restrict permissions when granting an access token.

                                                                - */ - scopes?: string[]; } export namespace RegisterClientRequest { @@ -309,37 +201,12 @@ export namespace RegisterClientRequest { } export interface RegisterClientResponse { - /** - *

                                                                The endpoint where the client can request authorization.

                                                                - */ - authorizationEndpoint?: string; - - /** - *

                                                                A secret string generated for the client. The client will use this string to get - * authenticated by the service in subsequent calls.

                                                                - */ clientSecret?: string; - - /** - *

                                                                The endpoint where the client can get an access token.

                                                                - */ - tokenEndpoint?: string; - - /** - *

                                                                The unique identifier string for each client. This client uses this identifier to get - * authenticated by the service in subsequent calls.

                                                                - */ + authorizationEndpoint?: string; clientId?: string; - - /** - *

                                                                Indicates the time at which the clientId and clientSecret will become invalid.

                                                                - */ - clientSecretExpiresAt?: number; - - /** - *

                                                                Indicates the time at which the clientId and clientSecret were issued.

                                                                - */ + tokenEndpoint?: string; clientIdIssuedAt?: number; + clientSecretExpiresAt?: number; } export namespace RegisterClientResponse { @@ -349,24 +216,9 @@ export namespace RegisterClientResponse { } export interface StartDeviceAuthorizationRequest { - /** - *

                                                                A secret string that is generated for the client. This value should come from the - * persisted result of the RegisterClient API operation.

                                                                - */ clientSecret: string | undefined; - - /** - *

                                                                The URL for the AWS SSO user portal. For more information, see Using - * the User Portal in the AWS Single Sign-On User Guide.

                                                                - */ - startUrl: string | undefined; - - /** - *

                                                                The unique identifier string for the client that is registered with AWS SSO. This value - * should come from the persisted result of the RegisterClient API - * operation.

                                                                - */ clientId: string | undefined; + startUrl: string | undefined; } export namespace StartDeviceAuthorizationRequest { @@ -376,37 +228,12 @@ export namespace StartDeviceAuthorizationRequest { } export interface StartDeviceAuthorizationResponse { - /** - *

                                                                The URI of the verification page that takes the userCode to authorize the device.

                                                                - */ + expiresIn?: number; verificationUri?: string; - - /** - *

                                                                A one-time user verification code. This is needed to authorize an in-use device.

                                                                - */ - userCode?: string; - - /** - *

                                                                Indicates the number of seconds the client must wait between attempts when polling for a session.

                                                                - */ interval?: number; - - /** - *

                                                                Indicates the number of seconds in which the verification code will become invalid.

                                                                - */ - expiresIn?: number; - - /** - *

                                                                An alternate URL that the client can use to automatically launch a browser. This process - * skips the manual step in which the user visits the verification page and enters their - * code.

                                                                - */ verificationUriComplete?: string; - - /** - *

                                                                The short-lived code that is used by the device when polling for a session token.

                                                                - */ deviceCode?: string; + userCode?: string; } export namespace StartDeviceAuthorizationResponse { diff --git a/clients/client-sso/models/models_0.ts b/clients/client-sso/models/models_0.ts index 9c0f8b1b4595..231a7045815c 100644 --- a/clients/client-sso/models/models_0.ts +++ b/clients/client-sso/models/models_0.ts @@ -6,9 +6,9 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface AccountInfo { /** - *

                                                                The identifier of the AWS account that is assigned to the user.

                                                                + *

                                                                The display name of the AWS account that is assigned to the user.

                                                                */ - accountId?: string; + accountName?: string; /** *

                                                                The email address of the AWS account that is assigned to the user.

                                                                @@ -16,9 +16,9 @@ export interface AccountInfo { emailAddress?: string; /** - *

                                                                The display name of the AWS account that is assigned to the user.

                                                                + *

                                                                The identifier of the AWS account that is assigned to the user.

                                                                */ - accountName?: string; + accountId?: string; } export namespace AccountInfo { @@ -29,9 +29,9 @@ export namespace AccountInfo { export interface GetRoleCredentialsRequest { /** - *

                                                                The identifier for the AWS account that is assigned to the user.

                                                                + *

                                                                The friendly name of the role that is assigned to the user.

                                                                */ - accountId: string | undefined; + roleName: string | undefined; /** *

                                                                The token issued by the CreateToken API call. For more information, see @@ -40,9 +40,9 @@ export interface GetRoleCredentialsRequest { accessToken: string | undefined; /** - *

                                                                The friendly name of the role that is assigned to the user.

                                                                + *

                                                                The identifier for the AWS account that is assigned to the user.

                                                                */ - roleName: string | undefined; + accountId: string | undefined; } export namespace GetRoleCredentialsRequest { @@ -57,10 +57,15 @@ export namespace GetRoleCredentialsRequest { */ export interface RoleCredentials { /** - *

                                                                The key that is used to sign the request. For more information, see Using Temporary Security Credentials to Request Access to AWS Resources in the + *

                                                                The date on which temporary security credentials expire.

                                                                + */ + expiration?: number; + + /** + *

                                                                The token used for temporary credentials. For more information, see Using Temporary Security Credentials to Request Access to AWS Resources in the * AWS IAM User Guide.

                                                                */ - secretAccessKey?: string; + sessionToken?: string; /** *

                                                                The identifier used for the temporary security credentials. For more information, see @@ -70,22 +75,17 @@ export interface RoleCredentials { accessKeyId?: string; /** - *

                                                                The date on which temporary security credentials expire.

                                                                - */ - expiration?: number; - - /** - *

                                                                The token used for temporary credentials. For more information, see Using Temporary Security Credentials to Request Access to AWS Resources in the + *

                                                                The key that is used to sign the request. For more information, see Using Temporary Security Credentials to Request Access to AWS Resources in the * AWS IAM User Guide.

                                                                */ - sessionToken?: string; + secretAccessKey?: string; } export namespace RoleCredentials { export const filterSensitiveLog = (obj: RoleCredentials): any => ({ ...obj, - ...(obj.secretAccessKey && { secretAccessKey: SENSITIVE_STRING }), ...(obj.sessionToken && { sessionToken: SENSITIVE_STRING }), + ...(obj.secretAccessKey && { secretAccessKey: SENSITIVE_STRING }), }); } @@ -165,26 +165,26 @@ export namespace UnauthorizedException { } export interface ListAccountRolesRequest { - /** - *

                                                                The page token from the previous response output when you request subsequent pages.

                                                                - */ - nextToken?: string; - /** *

                                                                The token issued by the CreateToken API call. For more information, see * CreateToken in the AWS SSO OIDC API Reference Guide.

                                                                */ accessToken: string | undefined; + /** + *

                                                                The number of items that clients can request per page.

                                                                + */ + maxResults?: number; + /** *

                                                                The identifier for the AWS account that is assigned to the user.

                                                                */ accountId: string | undefined; /** - *

                                                                The number of items that clients can request per page.

                                                                + *

                                                                The page token from the previous response output when you request subsequent pages.

                                                                */ - maxResults?: number; + nextToken?: string; } export namespace ListAccountRolesRequest { @@ -199,14 +199,14 @@ export namespace ListAccountRolesRequest { */ export interface RoleInfo { /** - *

                                                                The friendly name of the role that is assigned to the user.

                                                                + *

                                                                The identifier of the AWS account assigned to the user.

                                                                */ - roleName?: string; + accountId?: string; /** - *

                                                                The identifier of the AWS account assigned to the user.

                                                                + *

                                                                The friendly name of the role that is assigned to the user.

                                                                */ - accountId?: string; + roleName?: string; } export namespace RoleInfo { @@ -217,14 +217,14 @@ export namespace RoleInfo { export interface ListAccountRolesResponse { /** - *

                                                                The page token client that is used to retrieve the list of accounts.

                                                                + *

                                                                A paginated response with the list of roles and the next token if more results are available.

                                                                */ - nextToken?: string; + roleList?: RoleInfo[]; /** - *

                                                                A paginated response with the list of roles and the next token if more results are available.

                                                                + *

                                                                The page token client that is used to retrieve the list of accounts.

                                                                */ - roleList?: RoleInfo[]; + nextToken?: string; } export namespace ListAccountRolesResponse { diff --git a/clients/client-sso/protocols/Aws_restJson1.ts b/clients/client-sso/protocols/Aws_restJson1.ts index 3e5d2a4ad113..f282f7199b8b 100644 --- a/clients/client-sso/protocols/Aws_restJson1.ts +++ b/clients/client-sso/protocols/Aws_restJson1.ts @@ -33,8 +33,8 @@ export const serializeAws_restJson1GetRoleCredentialsCommand = async ( }; let resolvedPath = "/federation/credentials"; const query: any = { - ...(input.accountId !== undefined && { account_id: input.accountId }), ...(input.roleName !== undefined && { role_name: input.roleName }), + ...(input.accountId !== undefined && { account_id: input.accountId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -60,9 +60,9 @@ export const serializeAws_restJson1ListAccountRolesCommand = async ( }; let resolvedPath = "/assignment/roles"; const query: any = { - ...(input.nextToken !== undefined && { next_token: input.nextToken }), - ...(input.accountId !== undefined && { account_id: input.accountId }), ...(input.maxResults !== undefined && { max_result: input.maxResults.toString() }), + ...(input.accountId !== undefined && { account_id: input.accountId }), + ...(input.nextToken !== undefined && { next_token: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-storage-gateway/StorageGateway.ts b/clients/client-storage-gateway/StorageGateway.ts index 98c43782e361..99be7887b00e 100644 --- a/clients/client-storage-gateway/StorageGateway.ts +++ b/clients/client-storage-gateway/StorageGateway.ts @@ -70,6 +70,11 @@ import { CreateStorediSCSIVolumeCommandInput, CreateStorediSCSIVolumeCommandOutput, } from "./commands/CreateStorediSCSIVolumeCommand"; +import { + CreateTapePoolCommand, + CreateTapePoolCommandInput, + CreateTapePoolCommandOutput, +} from "./commands/CreateTapePoolCommand"; import { CreateTapeWithBarcodeCommand, CreateTapeWithBarcodeCommandInput, @@ -112,6 +117,11 @@ import { DeleteTapeArchiveCommandOutput, } from "./commands/DeleteTapeArchiveCommand"; import { DeleteTapeCommand, DeleteTapeCommandInput, DeleteTapeCommandOutput } from "./commands/DeleteTapeCommand"; +import { + DeleteTapePoolCommand, + DeleteTapePoolCommandInput, + DeleteTapePoolCommandOutput, +} from "./commands/DeleteTapePoolCommand"; import { DeleteVolumeCommand, DeleteVolumeCommandInput, @@ -243,6 +253,11 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + ListTapePoolsCommand, + ListTapePoolsCommandInput, + ListTapePoolsCommandOutput, +} from "./commands/ListTapePoolsCommand"; import { ListTapesCommand, ListTapesCommandInput, ListTapesCommandOutput } from "./commands/ListTapesCommand"; import { ListVolumeInitiatorsCommand, @@ -401,7 +416,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *
                                                              • *

                                                                * AWS Storage Gateway - * endpoints and quotas: Provides a list of each AWS Region and the endpoints + * endpoints and quotas: Provides a list of each AWS Region and the endpoints * available for use with AWS Storage Gateway.

                                                                *
                                                              • *
                                                              @@ -877,8 +892,8 @@ export class StorageGateway extends StorageGatewayClient { /** *

                                                              Creates a Server Message Block (SMB) file share on an existing file gateway. In Storage * Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. - * Storage Gateway expose file shares using an SMB interface. This operation is only supported - * for file gateways.

                                                              + * Storage Gateway exposes file shares using an SMB interface. This operation is only + * supported for file gateways.

                                                              * * *

                                                              File gateways require AWS Security Token Service (AWS STS) to be activated to enable @@ -928,16 +943,16 @@ export class StorageGateway extends StorageGatewayClient { * to Amazon Simple Storage (Amazon S3) for durable off-site recovery, as well as import the * data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). * You can take snapshots of your gateway volume on a scheduled or ad hoc basis. This API - * enables you to take ad-hoc snapshot. For more information, see Editing a + * enables you to take an ad hoc snapshot. For more information, see Editing a * snapshot schedule.

                                                              * - *

                                                              In the CreateSnapshot request you identify the volume by providing its Amazon Resource - * Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway - * takes the snapshot of specified volume, the snapshot and description appears in the AWS - * Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You - * can use this snapshot ID to check the snapshot progress or later use it when you want to - * create a volume from a snapshot. This operation is only supported in stored and cached - * volume gateway type.

                                                              + *

                                                              In the CreateSnapshot request, you identify the volume by providing its + * Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS + * Storage Gateway takes the snapshot of specified volume, the snapshot and description + * appears in the AWS Storage Gateway console. In response, AWS Storage Gateway returns you a + * snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it + * when you want to create a volume from a snapshot. This operation is only supported in + * stored and cached volume gateway type.

                                                              * * *

                                                              To list or delete a snapshot, you must use the Amazon EC2 API. For more information, @@ -1043,7 +1058,7 @@ export class StorageGateway extends StorageGatewayClient { * empty volume. If you choose to create an empty gateway volume, then any existing data on * the disk is erased.

                                                              * - *

                                                              In the request you must specify the gateway and the disk information on which you are + *

                                                              In the request, you must specify the gateway and the disk information on which you are * creating the volume. In response, the gateway creates the volume and returns volume * information such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target * ARN that initiators can use to connect to the volume target.

                                                              @@ -1077,6 +1092,40 @@ export class StorageGateway extends StorageGatewayClient { } } + /** + *

                                                              Creates a new custom tape pool. + * You can use custom tape pool to enable tape retention lock on tapes that are + * archived in the custom pool.

                                                              + */ + public createTapePool( + args: CreateTapePoolCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createTapePool( + args: CreateTapePoolCommandInput, + cb: (err: any, data?: CreateTapePoolCommandOutput) => void + ): void; + public createTapePool( + args: CreateTapePoolCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateTapePoolCommandOutput) => void + ): void; + public createTapePool( + args: CreateTapePoolCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateTapePoolCommandOutput) => void), + cb?: (err: any, data?: CreateTapePoolCommandOutput) => void + ): Promise | void { + const command = new CreateTapePoolCommand(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 one or more virtual tapes. You write data to the virtual tapes and then archive * the tapes. This operation is only supported in the tape gateway type.

                                                              @@ -1111,9 +1160,9 @@ export class StorageGateway extends StorageGatewayClient { /** *

                                                              Creates a virtual tape by using your own barcode. You write data to the virtual tape and - * then archive the tape. A barcode is unique and can not be reused if it has already been - * used on a tape. This applies to barcodes used on deleted tapes. This operation is only - * supported in the tape gateway type.

                                                              + * then archive the tape. A barcode is unique and cannot be reused if it has already been used + * on a tape. This applies to barcodes used on deleted tapes. This operation is only supported + * in the tape gateway type.

                                                              * * *

                                                              Cache storage must be allocated to the gateway before you can create a virtual tape. @@ -1340,7 +1389,7 @@ export class StorageGateway extends StorageGatewayClient { * *

                                                              You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. This API * action enables you to delete a snapshot schedule for a volume. For more information, see - * Backing up your volumes. In the DeleteSnapshotSchedule request, + * Backing up your volumes. In the DeleteSnapshotSchedule request, * you identify the volume by providing its Amazon Resource Name (ARN). This operation is only * supported in stored and cached volume gateway types.

                                                              * @@ -1440,6 +1489,40 @@ export class StorageGateway extends StorageGatewayClient { } } + /** + *

                                                              Delete a custom tape pool. A custom tape pool can only be deleted if + * there are no tapes in the pool and if there are no automatic tape creation + * policies that reference the custom tape pool.

                                                              + */ + public deleteTapePool( + args: DeleteTapePoolCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteTapePool( + args: DeleteTapePoolCommandInput, + cb: (err: any, data?: DeleteTapePoolCommandOutput) => void + ): void; + public deleteTapePool( + args: DeleteTapePoolCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteTapePoolCommandOutput) => void + ): void; + public deleteTapePool( + args: DeleteTapePoolCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteTapePoolCommandOutput) => void), + cb?: (err: any, data?: DeleteTapePoolCommandOutput) => void + ): Promise | void { + const command = new DeleteTapePoolCommand(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 storage volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API. * This operation is only supported in the cached volume and stored volume types. For stored @@ -1518,7 +1601,7 @@ export class StorageGateway extends StorageGatewayClient { /** *

                                                              Returns the bandwidth rate limits of a gateway. By default, these limits are not set, * which means no bandwidth rate limiting is in effect. This operation is supported for the - * stored volume, cached volume and tape gateway types.

                                                              + * stored volume, cached volume, and tape gateway types.

                                                              * *

                                                              This operation only returns a value for a bandwidth rate limit only if the limit is set. * If no limits are set for the gateway, then this operation returns only the gateway ARN in @@ -2399,6 +2482,46 @@ export class StorageGateway extends StorageGatewayClient { } } + /** + *

                                                              Lists custom tape pools. You specify custom tape pools to list by specifying + * one or more custom tape pool Amazon Resource Names (ARNs). If you don't specify a + * custom tape pool ARN, the operation lists all custom tape pools.

                                                              + * + *

                                                              This operation supports pagination. You can optionally specify the + * Limit parameter in the body to limit the number of tape pools in the + * response. If the number of tape pools returned in the response is truncated, the + * response includes a Marker element that you can use in your subsequent + * request to retrieve the next set of tape pools.

                                                              + */ + public listTapePools( + args: ListTapePoolsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listTapePools( + args: ListTapePoolsCommandInput, + cb: (err: any, data?: ListTapePoolsCommandOutput) => void + ): void; + public listTapePools( + args: ListTapePoolsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListTapePoolsCommandOutput) => void + ): void; + public listTapePools( + args: ListTapePoolsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListTapePoolsCommandOutput) => void), + cb?: (err: any, data?: ListTapePoolsCommandOutput) => void + ): Promise | void { + const command = new ListTapePoolsCommand(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 virtual tapes in your virtual tape library (VTL) and your virtual tape shelf * (VTS). You specify the tapes to list by specifying one or more tape Amazon Resource Names @@ -3128,7 +3251,7 @@ export class StorageGateway extends StorageGatewayClient { * your request.

                                                              * * - *

                                                              For Gateways activated after September 2, 2015, the gateway's ARN contains the + *

                                                              For gateways activated after September 2, 2015, the gateway's ARN contains the * gateway ID rather than the gateway name. However, changing the name of the gateway has * no effect on the gateway's ARN.

                                                              *
                                                              diff --git a/clients/client-storage-gateway/StorageGatewayClient.ts b/clients/client-storage-gateway/StorageGatewayClient.ts index 3fe25d91e519..a8c0d0c369fd 100644 --- a/clients/client-storage-gateway/StorageGatewayClient.ts +++ b/clients/client-storage-gateway/StorageGatewayClient.ts @@ -22,6 +22,7 @@ import { CreateStorediSCSIVolumeCommandInput, CreateStorediSCSIVolumeCommandOutput, } from "./commands/CreateStorediSCSIVolumeCommand"; +import { CreateTapePoolCommandInput, CreateTapePoolCommandOutput } from "./commands/CreateTapePoolCommand"; import { CreateTapeWithBarcodeCommandInput, CreateTapeWithBarcodeCommandOutput, @@ -47,6 +48,7 @@ import { } from "./commands/DeleteSnapshotScheduleCommand"; import { DeleteTapeArchiveCommandInput, DeleteTapeArchiveCommandOutput } from "./commands/DeleteTapeArchiveCommand"; import { DeleteTapeCommandInput, DeleteTapeCommandOutput } from "./commands/DeleteTapeCommand"; +import { DeleteTapePoolCommandInput, DeleteTapePoolCommandOutput } from "./commands/DeleteTapePoolCommand"; import { DeleteVolumeCommandInput, DeleteVolumeCommandOutput } from "./commands/DeleteVolumeCommand"; import { DescribeAvailabilityMonitorTestCommandInput, @@ -125,6 +127,7 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { ListTapePoolsCommandInput, ListTapePoolsCommandOutput } from "./commands/ListTapePoolsCommand"; import { ListTapesCommandInput, ListTapesCommandOutput } from "./commands/ListTapesCommand"; import { ListVolumeInitiatorsCommandInput, @@ -267,6 +270,7 @@ export type ServiceInputTypes = | CreateSnapshotCommandInput | CreateSnapshotFromVolumeRecoveryPointCommandInput | CreateStorediSCSIVolumeCommandInput + | CreateTapePoolCommandInput | CreateTapeWithBarcodeCommandInput | CreateTapesCommandInput | DeleteAutomaticTapeCreationPolicyCommandInput @@ -277,6 +281,7 @@ export type ServiceInputTypes = | DeleteSnapshotScheduleCommandInput | DeleteTapeArchiveCommandInput | DeleteTapeCommandInput + | DeleteTapePoolCommandInput | DeleteVolumeCommandInput | DescribeAvailabilityMonitorTestCommandInput | DescribeBandwidthRateLimitCommandInput @@ -304,6 +309,7 @@ export type ServiceInputTypes = | ListGatewaysCommandInput | ListLocalDisksCommandInput | ListTagsForResourceCommandInput + | ListTapePoolsCommandInput | ListTapesCommandInput | ListVolumeInitiatorsCommandInput | ListVolumeRecoveryPointsCommandInput @@ -347,6 +353,7 @@ export type ServiceOutputTypes = | CreateSnapshotCommandOutput | CreateSnapshotFromVolumeRecoveryPointCommandOutput | CreateStorediSCSIVolumeCommandOutput + | CreateTapePoolCommandOutput | CreateTapeWithBarcodeCommandOutput | CreateTapesCommandOutput | DeleteAutomaticTapeCreationPolicyCommandOutput @@ -357,6 +364,7 @@ export type ServiceOutputTypes = | DeleteSnapshotScheduleCommandOutput | DeleteTapeArchiveCommandOutput | DeleteTapeCommandOutput + | DeleteTapePoolCommandOutput | DeleteVolumeCommandOutput | DescribeAvailabilityMonitorTestCommandOutput | DescribeBandwidthRateLimitCommandOutput @@ -384,6 +392,7 @@ export type ServiceOutputTypes = | ListGatewaysCommandOutput | ListLocalDisksCommandOutput | ListTagsForResourceCommandOutput + | ListTapePoolsCommandOutput | ListTapesCommandOutput | ListVolumeInitiatorsCommandOutput | ListVolumeRecoveryPointsCommandOutput @@ -561,7 +570,7 @@ export type StorageGatewayClientResolvedConfig = __SmithyResolvedConfiguration<_ *
                                                            • *

                                                              * AWS Storage Gateway - * endpoints and quotas: Provides a list of each AWS Region and the endpoints + * endpoints and quotas: Provides a list of each AWS Region and the endpoints * available for use with AWS Storage Gateway.

                                                              *
                                                            • * diff --git a/clients/client-storage-gateway/commands/CreateTapePoolCommand.ts b/clients/client-storage-gateway/commands/CreateTapePoolCommand.ts new file mode 100644 index 000000000000..315a50b230f2 --- /dev/null +++ b/clients/client-storage-gateway/commands/CreateTapePoolCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, StorageGatewayClientResolvedConfig } from "../StorageGatewayClient"; +import { CreateTapePoolInput, CreateTapePoolOutput } from "../models/models_0"; +import { + deserializeAws_json1_1CreateTapePoolCommand, + serializeAws_json1_1CreateTapePoolCommand, +} 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 CreateTapePoolCommandInput = CreateTapePoolInput; +export type CreateTapePoolCommandOutput = CreateTapePoolOutput & __MetadataBearer; + +export class CreateTapePoolCommand extends $Command< + CreateTapePoolCommandInput, + CreateTapePoolCommandOutput, + StorageGatewayClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateTapePoolCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: StorageGatewayClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateTapePoolInput.filterSensitiveLog, + outputFilterSensitiveLog: CreateTapePoolOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateTapePoolCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateTapePoolCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateTapePoolCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-storage-gateway/commands/DeleteTapePoolCommand.ts b/clients/client-storage-gateway/commands/DeleteTapePoolCommand.ts new file mode 100644 index 000000000000..8cc1972ad84c --- /dev/null +++ b/clients/client-storage-gateway/commands/DeleteTapePoolCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, StorageGatewayClientResolvedConfig } from "../StorageGatewayClient"; +import { DeleteTapePoolInput, DeleteTapePoolOutput } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteTapePoolCommand, + serializeAws_json1_1DeleteTapePoolCommand, +} 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 DeleteTapePoolCommandInput = DeleteTapePoolInput; +export type DeleteTapePoolCommandOutput = DeleteTapePoolOutput & __MetadataBearer; + +export class DeleteTapePoolCommand extends $Command< + DeleteTapePoolCommandInput, + DeleteTapePoolCommandOutput, + StorageGatewayClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteTapePoolCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: StorageGatewayClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteTapePoolInput.filterSensitiveLog, + outputFilterSensitiveLog: DeleteTapePoolOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteTapePoolCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteTapePoolCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteTapePoolCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-storage-gateway/commands/ListTapePoolsCommand.ts b/clients/client-storage-gateway/commands/ListTapePoolsCommand.ts new file mode 100644 index 000000000000..c83fe246f81f --- /dev/null +++ b/clients/client-storage-gateway/commands/ListTapePoolsCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, StorageGatewayClientResolvedConfig } from "../StorageGatewayClient"; +import { ListTapePoolsInput, ListTapePoolsOutput } from "../models/models_0"; +import { + deserializeAws_json1_1ListTapePoolsCommand, + serializeAws_json1_1ListTapePoolsCommand, +} 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 ListTapePoolsCommandInput = ListTapePoolsInput; +export type ListTapePoolsCommandOutput = ListTapePoolsOutput & __MetadataBearer; + +export class ListTapePoolsCommand extends $Command< + ListTapePoolsCommandInput, + ListTapePoolsCommandOutput, + StorageGatewayClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListTapePoolsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: StorageGatewayClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListTapePoolsInput.filterSensitiveLog, + outputFilterSensitiveLog: ListTapePoolsOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListTapePoolsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListTapePoolsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListTapePoolsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-storage-gateway/index.ts b/clients/client-storage-gateway/index.ts index 2792acf158c9..5fa17e4a2843 100644 --- a/clients/client-storage-gateway/index.ts +++ b/clients/client-storage-gateway/index.ts @@ -15,6 +15,7 @@ export * from "./commands/CreateSMBFileShareCommand"; export * from "./commands/CreateSnapshotCommand"; export * from "./commands/CreateSnapshotFromVolumeRecoveryPointCommand"; export * from "./commands/CreateStorediSCSIVolumeCommand"; +export * from "./commands/CreateTapePoolCommand"; export * from "./commands/CreateTapesCommand"; export * from "./commands/CreateTapeWithBarcodeCommand"; export * from "./commands/DeleteAutomaticTapeCreationPolicyCommand"; @@ -25,6 +26,7 @@ export * from "./commands/DeleteGatewayCommand"; export * from "./commands/DeleteSnapshotScheduleCommand"; export * from "./commands/DeleteTapeCommand"; export * from "./commands/DeleteTapeArchiveCommand"; +export * from "./commands/DeleteTapePoolCommand"; export * from "./commands/DeleteVolumeCommand"; export * from "./commands/DescribeAvailabilityMonitorTestCommand"; export * from "./commands/DescribeBandwidthRateLimitCommand"; @@ -59,6 +61,7 @@ export * from "./pagination/ListGatewaysPaginator"; export * from "./commands/ListLocalDisksCommand"; export * from "./commands/ListTagsForResourceCommand"; export * from "./pagination/ListTagsForResourcePaginator"; +export * from "./commands/ListTapePoolsCommand"; export * from "./commands/ListTapesCommand"; export * from "./pagination/ListTapesPaginator"; export * from "./commands/ListVolumeInitiatorsCommand"; diff --git a/clients/client-storage-gateway/models/models_0.ts b/clients/client-storage-gateway/models/models_0.ts index 28ecf030f473..f48fae28b680 100644 --- a/clients/client-storage-gateway/models/models_0.ts +++ b/clients/client-storage-gateway/models/models_0.ts @@ -8,14 +8,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface Tag { /** - *

                                                              Tag key. The key can't start with aws:.

                                                              + *

                                                              Value of the tag key.

                                                              */ - Key: string | undefined; + Value: string | undefined; /** - *

                                                              Value of the tag key.

                                                              + *

                                                              Tag key. The key can't start with aws:.

                                                              */ - Value: string | undefined; + Key: string | undefined; } export namespace Tag { @@ -67,40 +67,22 @@ export namespace Tag { */ export interface ActivateGatewayInput { /** - *

                                                              A value that defines the type of gateway to activate. The type specified is critical to - * all later functions of the gateway and cannot be changed after activation. The default - * value is CACHED.

                                                              - * - *

                                                              Valid Values: STORED | CACHED | VTL | - * FILE_S3 - *

                                                              - */ - GatewayType?: string; - - /** - *

                                                              A value that indicates the AWS Region where you want to store your data. The gateway AWS - * Region specified must be the same AWS Region as the AWS Region in your Host - * header in the request. For more information about available AWS Regions and endpoints for - * AWS Storage Gateway, see AWS - * Storage Gateway endpoints and quotas in the AWS General - * Reference.

                                                              - * - *

                                                              Valid Values: See AWS - * Storage Gateway endpoints and quotas in the AWS General - * Reference. + *

                                                              A list of up to 50 tags that you can assign to the gateway. Each tag is a key-value + * pair.

                                                              * - *

                                                              + * + *

                                                              Valid characters for key and value are letters, spaces, and numbers that can be + * represented in UTF-8 format, and the following special characters: + - = . _ : / @. The + * maximum length of a tag's key is 128 characters, and the maximum length for a + * tag's value is 256 characters.

                                                              + *
                                                              */ - GatewayRegion: string | undefined; + Tags?: Tag[]; /** - *

                                                              The value that indicates the type of medium changer to use for tape gateway. This field - * is optional.

                                                              - * - *

                                                              Valid Values: STK-L700 | AWS-Gateway-VTL - *

                                                              + *

                                                              The name you configured for your gateway.

                                                              */ - MediumChangerType?: string; + GatewayName: string | undefined; /** *

                                                              Your gateway activation key. You can obtain the activation key by sending an HTTP GET @@ -118,6 +100,26 @@ export interface ActivateGatewayInput { */ ActivationKey: string | undefined; + /** + *

                                                              The value that indicates the type of medium changer to use for tape gateway. This field + * is optional.

                                                              + * + *

                                                              Valid Values: STK-L700 | AWS-Gateway-VTL | IBM-03584L32-0402 + *

                                                              + */ + MediumChangerType?: string; + + /** + *

                                                              A value that defines the type of gateway to activate. The type specified is critical to + * all later functions of the gateway and cannot be changed after activation. The default + * value is CACHED.

                                                              + * + *

                                                              Valid Values: STORED | CACHED | VTL | + * FILE_S3 + *

                                                              + */ + GatewayType?: string; + /** *

                                                              The value that indicates the type of tape drive to use for tape gateway. This field is * optional.

                                                              @@ -137,22 +139,20 @@ export interface ActivateGatewayInput { GatewayTimezone: string | undefined; /** - *

                                                              The name you configured for your gateway.

                                                              - */ - GatewayName: string | undefined; - - /** - *

                                                              A list of up to 50 tags that you can assign to the gateway. Each tag is a key-value - * pair.

                                                              + *

                                                              A value that indicates the AWS Region where you want to store your data. The gateway AWS + * Region specified must be the same AWS Region as the AWS Region in your Host + * header in the request. For more information about available AWS Regions and endpoints for + * AWS Storage Gateway, see AWS + * Storage Gateway endpoints and quotas in the AWS General + * Reference.

                                                              * - * - *

                                                              Valid characters for key and value are letters, spaces, and numbers that can be - * represented in UTF-8 format, and the following special characters: + - = . _ : / @. The - * maximum length of a tag's key is 128 characters, and the maximum length for a - * tag's value is 256 characters.

                                                              - *
                                                              + *

                                                              Valid Values: See AWS + * Storage Gateway endpoints and quotas in the AWS General + * Reference. + * + *

                                                              */ - Tags?: Tag[]; + GatewayRegion: string | undefined; } export namespace ActivateGatewayInput { @@ -258,14 +258,14 @@ export type ErrorCode = */ export interface StorageGatewayError { /** - *

                                                              Human-readable text that provides detail about the error that occurred.

                                                              + *

                                                              Additional information about the error.

                                                              */ - errorDetails?: { [key: string]: string }; + errorCode?: ErrorCode | string; /** - *

                                                              Additional information about the error.

                                                              + *

                                                              Human-readable text that provides detail about the error that occurred.

                                                              */ - errorCode?: ErrorCode | string; + errorDetails?: { [key: string]: string }; } export namespace StorageGatewayError { @@ -307,15 +307,15 @@ export interface InvalidGatewayRequestException extends __SmithyException, $Meta name: "InvalidGatewayRequestException"; $fault: "client"; /** - *

                                                              A StorageGatewayError that provides more detail about the cause of the - * error.

                                                              + *

                                                              A human-readable message describing the error that occurred.

                                                              */ - error?: StorageGatewayError; + message?: string; /** - *

                                                              A human-readable message describing the error that occurred.

                                                              + *

                                                              A StorageGatewayError that provides more detail about the cause of the + * error.

                                                              */ - message?: string; + error?: StorageGatewayError; } export namespace InvalidGatewayRequestException { @@ -372,6 +372,11 @@ export namespace AddCacheOutput { *

                                                              AddTagsToResourceInput

                                                              */ export interface AddTagsToResourceInput { + /** + *

                                                              The Amazon Resource Name (ARN) of the resource you want to add tags to.

                                                              + */ + ResourceARN: string | undefined; + /** *

                                                              The key-value pair that represents the tag you want to add to the resource. The value * can be an empty string.

                                                              @@ -384,11 +389,6 @@ export interface AddTagsToResourceInput { *
                                                              */ Tags: Tag[] | undefined; - - /** - *

                                                              The Amazon Resource Name (ARN) of the resource you want to add tags to.

                                                              - */ - ResourceARN: string | undefined; } export namespace AddTagsToResourceInput { @@ -460,18 +460,18 @@ export namespace AddUploadBufferOutput { * */ export interface AddWorkingStorageInput { - /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              - */ - GatewayARN: string | undefined; - /** *

                                                              An array of strings that identify disks that are to be configured as working storage. * Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs * from the ListLocalDisks API.

                                                              */ DiskIds: string[] | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              + */ + GatewayARN: string | undefined; } export namespace AddWorkingStorageInput { @@ -510,6 +510,20 @@ export interface AssignTapePoolInput { */ PoolId: string | undefined; + /** + *

                                                              Set + * permissions to bypass governance retention. If the lock type of the archived tape is + * Governance, the tape's archived age is not older than + * RetentionLockInDays, and the user does not already have + * BypassGovernanceRetention, setting this to TRUE enables the user to bypass + * the retention lock. This parameter is set to true by default for calls from the + * console.

                                                              + * + *

                                                              Valid values: TRUE | FALSE + *

                                                              + */ + BypassGovernanceRetention?: boolean; + /** *

                                                              The unique Amazon Resource Name (ARN) of the virtual tape that you want to add to the * tape pool.

                                                              @@ -541,11 +555,6 @@ export namespace AssignTapePoolOutput { *

                                                              AttachVolumeInput

                                                              */ export interface AttachVolumeInput { - /** - *

                                                              The Amazon Resource Name (ARN) of the volume to attach to the specified gateway.

                                                              - */ - VolumeARN: string | undefined; - /** *

                                                              The name of the iSCSI target used by an initiator to connect to a volume and used as a * suffix for the target ARN. For example, specifying TargetName as @@ -558,6 +567,15 @@ export interface AttachVolumeInput { */ TargetName?: string; + /** + *

                                                              The network interface of the gateway on which to expose the iSCSI target. Only IPv4 + * addresses are accepted. Use DescribeGatewayInformation to get a list of + * the network interfaces available on a gateway.

                                                              + * + *

                                                              Valid Values: A valid IP address.

                                                              + */ + NetworkInterfaceId: string | undefined; + /** *

                                                              The Amazon Resource Name (ARN) of the gateway that you want to attach the volume * to.

                                                              @@ -572,13 +590,9 @@ export interface AttachVolumeInput { DiskId?: string; /** - *

                                                              The network interface of the gateway on which to expose the iSCSI target. Only IPv4 - * addresses are accepted. Use DescribeGatewayInformation to get a list of - * the network interfaces available on a gateway.

                                                              - * - *

                                                              Valid Values: A valid IP address.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the volume to attach to the specified gateway.

                                                              */ - NetworkInterfaceId: string | undefined; + VolumeARN: string | undefined; } export namespace AttachVolumeInput { @@ -591,16 +605,16 @@ export namespace AttachVolumeInput { *

                                                              AttachVolumeOutput

                                                              */ export interface AttachVolumeOutput { - /** - *

                                                              The Amazon Resource Name (ARN) of the volume that was attached to the gateway.

                                                              - */ - VolumeARN?: string; - /** *

                                                              The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI name for * the initiator that was used to connect to the target.

                                                              */ TargetARN?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the volume that was attached to the gateway.

                                                              + */ + VolumeARN?: string; } export namespace AttachVolumeOutput { @@ -611,9 +625,28 @@ export namespace AttachVolumeOutput { /** *

                                                              An automatic tape creation policy consists of automatic tape creation rules where each - * rule defines when and how to create new tapes.

                                                              + * rule defines when and how to create new tapes. For more information about automatic tape + * creation, see Creating Tapes Automatically.

                                                              */ export interface AutomaticTapeCreationRule { + /** + *

                                                              A prefix that you append to the barcode of the virtual tape that you are creating. This + * prefix makes the barcode unique.

                                                              + * + * + *

                                                              The prefix must be 1-4 characters in length and must be one of the uppercase letters + * from A to Z.

                                                              + *
                                                              + */ + TapeBarcodePrefix: string | undefined; + + /** + *

                                                              Set to true to indicate that tapes are to be archived as + * write-once-read-many (WORM). Set to false when WORM is not enabled + * for tapes.

                                                              + */ + Worm?: boolean; + /** *

                                                              The ID of the pool that you want to add your tape to for archiving. The tape in this * pool is archived in the Amazon S3 storage class that is associated with the pool. When you @@ -633,20 +666,10 @@ export interface AutomaticTapeCreationRule { /** *

                                                              The minimum number of available virtual tapes that the gateway maintains at all times. * If the number of tapes on the gateway goes below this value, the gateway creates as many - * new tapes as are needed to have MinimumNumTapes on the gateway.

                                                              + * new tapes as are needed to have MinimumNumTapes on the gateway. For more + * information about automatic tape creation, see Creating Tapes Automatically.

                                                              */ MinimumNumTapes: number | undefined; - - /** - *

                                                              A prefix that you append to the barcode of the virtual tape that you are creating. This - * prefix makes the barcode unique.

                                                              - * - * - *

                                                              The prefix must be 1-4 characters in length and must be one of the uppercase letters - * from A to Z.

                                                              - *
                                                              - */ - TapeBarcodePrefix: string | undefined; } export namespace AutomaticTapeCreationRule { @@ -708,29 +731,29 @@ export namespace CacheAttributes { */ export interface VolumeiSCSIAttributes { /** - *

                                                              The logical disk number.

                                                              + *

                                                              Indicates whether mutual CHAP is enabled for the iSCSI target.

                                                              */ - LunNumber?: number; + ChapEnabled?: boolean; /** - *

                                                              The port used to communicate with iSCSI targets.

                                                              + *

                                                              The network interface identifier.

                                                              */ - NetworkInterfacePort?: number; + NetworkInterfaceId?: string; /** - *

                                                              Indicates whether mutual CHAP is enabled for the iSCSI target.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the volume target.

                                                              */ - ChapEnabled?: boolean; + TargetARN?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the volume target.

                                                              + *

                                                              The logical disk number.

                                                              */ - TargetARN?: string; + LunNumber?: number; /** - *

                                                              The network interface identifier.

                                                              + *

                                                              The port used to communicate with iSCSI targets.

                                                              */ - NetworkInterfaceId?: string; + NetworkInterfacePort?: number; } export namespace VolumeiSCSIAttributes { @@ -743,50 +766,15 @@ export namespace VolumeiSCSIAttributes { *

                                                              Describes an iSCSI cached volume.

                                                              */ export interface CachediSCSIVolume { - /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              - */ - KMSKey?: string; - - /** - *

                                                              The unique identifier of the volume, e.g. vol-AE4B946D.

                                                              - */ - VolumeId?: string; - - /** - *

                                                              The size, in bytes, of the volume capacity.

                                                              - */ - VolumeSizeInBytes?: number; - - /** - *

                                                              One of the VolumeType enumeration values that describes the type of the volume.

                                                              - */ - VolumeType?: string; - /** *

                                                              The Amazon Resource Name (ARN) of the storage volume.

                                                              */ VolumeARN?: string; /** - *

                                                              If the cached volume was created from a snapshot, this field contains the snapshot ID - * used, e.g. snap-78e22663. Otherwise, this field is not included.

                                                              - */ - SourceSnapshotId?: string; - - /** - *

                                                              A value that indicates whether a storage volume is attached to or detached from a - * gateway. For more information, see Moving - * your volumes to a different gateway.

                                                              - */ - VolumeAttachmentStatus?: string; - - /** - *

                                                              One of the VolumeStatus values that indicates the state of the storage volume.

                                                              + *

                                                              One of the VolumeType enumeration values that describes the type of the volume.

                                                              */ - VolumeStatus?: string; + VolumeType?: string; /** *

                                                              The name of the iSCSI target used by an initiator to connect to a volume and used as a @@ -801,10 +789,9 @@ export interface CachediSCSIVolume { TargetName?: string; /** - *

                                                              An VolumeiSCSIAttributes object that represents a collection of iSCSI - * attributes for one stored volume.

                                                              + *

                                                              The unique identifier of the volume, e.g., vol-AE4B946D.

                                                              */ - VolumeiSCSIAttributes?: VolumeiSCSIAttributes; + VolumeId?: string; /** *

                                                              Represents the percentage complete if the volume is restoring or bootstrapping that @@ -813,12 +800,31 @@ export interface CachediSCSIVolume { */ VolumeProgress?: number; + /** + *

                                                              An VolumeiSCSIAttributes object that represents a collection of iSCSI + * attributes for one stored volume.

                                                              + */ + VolumeiSCSIAttributes?: VolumeiSCSIAttributes; + /** *

                                                              The date the volume was created. Volumes created prior to March 28, 2017 don’t have this - * time stamp.

                                                              + * timestamp.

                                                              */ CreatedDate?: Date; + /** + *

                                                              A value that indicates whether a storage volume is attached to or detached from a + * gateway. For more information, see Moving + * your volumes to a different gateway.

                                                              + */ + VolumeAttachmentStatus?: string; + + /** + *

                                                              If the cached volume was created from a snapshot, this field contains the snapshot ID + * used, e.g., snap-78e22663. Otherwise, this field is not included.

                                                              + */ + SourceSnapshotId?: string; + /** *

                                                              The size of the data stored on the volume in bytes. This value is calculated based on * the number of blocks that are touched, instead of the actual amount of data written. This @@ -832,6 +838,23 @@ export interface CachediSCSIVolume { * */ VolumeUsedInBytes?: number; + + /** + *

                                                              The size, in bytes, of the volume capacity.

                                                              + */ + VolumeSizeInBytes?: number; + + /** + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              + */ + KMSKey?: string; + + /** + *

                                                              One of the VolumeStatus values that indicates the state of the storage volume.

                                                              + */ + VolumeStatus?: string; } export namespace CachediSCSIVolume { @@ -844,17 +867,17 @@ export namespace CachediSCSIVolume { *

                                                              CancelArchivalInput

                                                              */ export interface CancelArchivalInput { - /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              - */ - GatewayARN: string | undefined; - /** *

                                                              The Amazon Resource Name (ARN) of the virtual tape you want to cancel archiving * for.

                                                              */ TapeARN: string | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              + */ + GatewayARN: string | undefined; } export namespace CancelArchivalInput { @@ -884,17 +907,17 @@ export namespace CancelArchivalOutput { *

                                                              CancelRetrievalInput

                                                              */ export interface CancelRetrievalInput { - /** - *

                                                              The Amazon Resource Name (ARN) of the virtual tape you want to cancel retrieval - * for.

                                                              - */ - TapeARN: string | undefined; - /** *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and AWS Region.

                                                              */ GatewayARN: string | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) of the virtual tape you want to cancel retrieval + * for.

                                                              + */ + TapeARN: string | undefined; } export namespace CancelRetrievalInput { @@ -927,29 +950,29 @@ export type CaseSensitivity = "CaseSensitive" | "ClientSpecified"; * authentication between your gateway and iSCSI initiators.

                                                              */ export interface ChapInfo { - /** - *

                                                              The Amazon Resource Name (ARN) of the volume.

                                                              - * - *

                                                              Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

                                                              - */ - TargetARN?: string; - /** *

                                                              The secret key that the initiator (for example, the Windows client) must provide to * participate in mutual CHAP with the target.

                                                              */ SecretToAuthenticateInitiator?: string; + /** + *

                                                              The secret key that the target must provide to participate in mutual CHAP with the + * initiator (e.g., Windows client).

                                                              + */ + SecretToAuthenticateTarget?: string; + /** *

                                                              The iSCSI initiator that connects to the target.

                                                              */ InitiatorName?: string; /** - *

                                                              The secret key that the target must provide to participate in mutual CHAP with the - * initiator (e.g. Windows client).

                                                              + *

                                                              The Amazon Resource Name (ARN) of the volume.

                                                              + * + *

                                                              Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

                                                              */ - SecretToAuthenticateTarget?: string; + TargetARN?: string; } export namespace ChapInfo { @@ -961,6 +984,38 @@ export namespace ChapInfo { } export interface CreateCachediSCSIVolumeInput { + /** + *

                                                              The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new cached + * volume. Specify this field if you want to create the iSCSI storage volume from a snapshot; + * otherwise, do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API + * Reference.

                                                              + */ + SnapshotId?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              + */ + GatewayARN: string | undefined; + + /** + *

                                                              The size of the volume in bytes.

                                                              + */ + VolumeSizeInBytes: number | undefined; + + /** + *

                                                              A list of up to 50 tags that you can assign to a cached volume. Each tag is a key-value + * pair.

                                                              + * + * + *

                                                              Valid characters for key and value are letters, spaces, and numbers that you can + * represent in UTF-8 format, and the following special characters: + - = . _ : / @. The + * maximum length of a tag's key is 128 characters, and the maximum length for a + * tag's value is 256 characters.

                                                              + *
                                                              + */ + Tags?: Tag[]; + /** *

                                                              The ARN for an existing volume. Specifying this ARN makes the new volume into an exact * copy of the specified existing volume's latest recovery point. The @@ -985,9 +1040,13 @@ export interface CreateCachediSCSIVolumeInput { ClientToken: string | undefined; /** - *

                                                              The size of the volume in bytes.

                                                              + *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS + * key, or false to use a key managed by Amazon S3. Optional.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              */ - VolumeSizeInBytes: number | undefined; + KMSEncrypted?: boolean; /** *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon @@ -996,15 +1055,6 @@ export interface CreateCachediSCSIVolumeInput { */ KMSKey?: string; - /** - *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS - * key, or false to use a key managed by Amazon S3. Optional.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              - */ - KMSEncrypted?: boolean; - /** *

                                                              The name of the iSCSI target used by an initiator to connect to a volume and used as a * suffix for the target ARN. For example, specifying TargetName as @@ -1016,33 +1066,6 @@ export interface CreateCachediSCSIVolumeInput { * used for this volume as the new target name.

                                                              */ TargetName: string | undefined; - - /** - *

                                                              A list of up to 50 tags that you can assign to a cached volume. Each tag is a key-value - * pair.

                                                              - * - * - *

                                                              Valid characters for key and value are letters, spaces, and numbers that you can - * represent in UTF-8 format, and the following special characters: + - = . _ : / @. The - * maximum length of a tag's key is 128 characters, and the maximum length for a - * tag's value is 256 characters.

                                                              - *
                                                              - */ - Tags?: Tag[]; - - /** - *

                                                              The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new cached - * volume. Specify this field if you want to create the iSCSI storage volume from a snapshot; - * otherwise, do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API - * Reference.

                                                              - */ - SnapshotId?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              - */ - GatewayARN: string | undefined; } export namespace CreateCachediSCSIVolumeInput { @@ -1052,16 +1075,16 @@ export namespace CreateCachediSCSIVolumeInput { } export interface CreateCachediSCSIVolumeOutput { - /** - *

                                                              The Amazon Resource Name (ARN) of the configured volume.

                                                              - */ - VolumeARN?: string; - /** *

                                                              The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI name that * initiators can use to connect to the target.

                                                              */ TargetARN?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the configured volume.

                                                              + */ + VolumeARN?: string; } export namespace CreateCachediSCSIVolumeOutput { @@ -1078,18 +1101,6 @@ export namespace CreateCachediSCSIVolumeOutput { * only supported for file gateways.

                                                              */ export interface NFSFileShareDefaults { - /** - *

                                                              The default owner ID for files in the file share (unless the files have another owner ID - * specified). The default value is nfsnobody.

                                                              - */ - OwnerId?: number; - - /** - *

                                                              The default group ID for the file share (unless the files have another group ID - * specified). The default value is nfsnobody.

                                                              - */ - GroupId?: number; - /** *

                                                              The Unix directory mode in the form "nnnn". For example, 0666 represents * the default access mode for all directories inside the file share. The default value is @@ -1102,6 +1113,18 @@ export interface NFSFileShareDefaults { * default file mode inside the file share. The default value is 0666.

                                                              */ FileMode?: string; + + /** + *

                                                              The default owner ID for files in the file share (unless the files have another owner ID + * specified). The default value is nfsnobody.

                                                              + */ + OwnerId?: number; + + /** + *

                                                              The default group ID for the file share (unless the files have another group ID + * specified). The default value is nfsnobody.

                                                              + */ + GroupId?: number; } export namespace NFSFileShareDefaults { @@ -1124,75 +1147,106 @@ export type ObjectACL = */ export interface CreateNFSFileShareInput { /** - *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. - * The default value is S3_INTELLIGENT_TIERING. Optional.

                                                              + *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file + * extensions. Set this value to true to enable MIME type guessing, otherwise set + * to false. The default value is true.

                                                              * - *

                                                              Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | - * S3_STANDARD_IA | S3_ONEZONE_IA + *

                                                              Valid Values: true | false *

                                                              */ - DefaultStorageClass?: string; + GuessMIMETypeEnabled?: boolean; /** - *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS - * key, or false to use a key managed by Amazon S3. Optional.

                                                              + *

                                                              A value that sets the write status of a file share. Set this value to true + * to set the write status to read-only, otherwise set to false.

                                                              * *

                                                              Valid Values: true | false *

                                                              */ - KMSEncrypted?: boolean; + ReadOnly?: boolean; /** - *

                                                              The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes - * when it accesses the underlying storage.

                                                              + *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket + * that a file gateway puts objects into. The default value is private.

                                                              */ - Role: string | undefined; + ObjectACL?: ObjectACL | string; /** - *

                                                              The list of clients that are allowed to access the file gateway. The list must contain - * either valid IP addresses or valid CIDR blocks.

                                                              + *

                                                              The name of the file share. Optional.

                                                              + * + * + *

                                                              + * FileShareName must be set if an S3 prefix name is set in + * LocationARN.

                                                              + *
                                                              */ - ClientList?: string[]; + FileShareName?: string; /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              + *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. + * The default value is S3_INTELLIGENT_TIERING. Optional.

                                                              + * + *

                                                              Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | + * S3_STANDARD_IA | S3_ONEZONE_IA + *

                                                              */ - KMSKey?: string; + DefaultStorageClass?: string; /** - *

                                                              A value that sets the write status of a file share. Set this value to true - * to set the write status to read-only, otherwise set to false.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              + *

                                                              The list of clients that are allowed to access the file gateway. The list must contain + * either valid IP addresses or valid CIDR blocks.

                                                              */ - ReadOnly?: boolean; + ClientList?: string[]; /** - *

                                                              The Amazon Resource Name (ARN) of the file gateway on which you want to create a file - * share.

                                                              + *

                                                              The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes + * when it accesses the underlying storage.

                                                              */ - GatewayARN: string | undefined; + Role: string | undefined; /** - *

                                                              Refresh cache information.

                                                              + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              */ - CacheAttributes?: CacheAttributes; + KMSKey?: string; /** - *

                                                              A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a - * key-value pair.

                                                              + *

                                                              A value that maps a user to anonymous user.

                                                              * - * - *

                                                              Valid characters for key and value are letters, spaces, and numbers representable in - * UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length - * of a tag's key is 128 characters, and the maximum length for a tag's value is - * 256.

                                                              - *
                                                              + *

                                                              Valid values are the following:

                                                              + * + *
                                                                + *
                                                              • + *

                                                                + * RootSquash: Only root is mapped to anonymous user.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * NoSquash: No one is mapped to anonymous user.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * AllSquash: Everyone is mapped to anonymous user.

                                                                + *
                                                              • + *
                                                              */ - Tags?: Tag[]; + Squash?: string; + + /** + *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS + * key, or false to use a key managed by Amazon S3. Optional.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              + */ + KMSEncrypted?: boolean; + + /** + *

                                                              The Amazon Resource Name (ARN) of the file gateway on which you want to create a file + * share.

                                                              + */ + GatewayARN: string | undefined; /** *

                                                              File share default values. Optional.

                                                              @@ -1217,6 +1271,19 @@ export interface CreateNFSFileShareInput { */ RequesterPays?: boolean; + /** + *

                                                              A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a + * key-value pair.

                                                              + * + * + *

                                                              Valid characters for key and value are letters, spaces, and numbers representable in + * UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length + * of a tag's key is 128 characters, and the maximum length for a tag's value is + * 256.

                                                              + *
                                                              + */ + Tags?: Tag[]; + /** *

                                                              A unique string value that you supply that is used by file gateway to ensure idempotent * file share creation.

                                                              @@ -1230,53 +1297,9 @@ export interface CreateNFSFileShareInput { LocationARN: string | undefined; /** - *

                                                              A value that maps a user to anonymous user.

                                                              - * - *

                                                              Valid values are the following:

                                                              - * - *
                                                                - *
                                                              • - *

                                                                - * RootSquash: Only root is mapped to anonymous user.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * NoSquash: No one is mapped to anonymous user.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * AllSquash: Everyone is mapped to anonymous user.

                                                                - *
                                                              • - *
                                                              - */ - Squash?: string; - - /** - *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file - * extensions. Set this value to true to enable MIME type guessing, otherwise set - * to false. The default value is true.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              - */ - GuessMIMETypeEnabled?: boolean; - - /** - *

                                                              The name of the file share. Optional.

                                                              - * - * - *

                                                              - * FileShareName must be set if an S3 prefix name is set in - * LocationARN.

                                                              - *
                                                              - */ - FileShareName?: string; - - /** - *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket - * that a file gateway puts objects into. The default value is private.

                                                              + *

                                                              Refresh cache information.

                                                              */ - ObjectACL?: ObjectACL | string; + CacheAttributes?: CacheAttributes; } export namespace CreateNFSFileShareInput { @@ -1306,42 +1329,84 @@ export namespace CreateNFSFileShareOutput { */ export interface CreateSMBFileShareInput { /** - *

                                                              The ARN of the file gateway on which you want to create a file share.

                                                              + *

                                                              A list of users or groups in the Active Directory that are not allowed to access the + * file share. A group must be prefixed with the @ character. Acceptable formats include: + * DOMAIN\User1, user1, @group1, and + * @DOMAIN\group1. Can only be set if Authentication is set to + * ActiveDirectory.

                                                              */ - GatewayARN: string | undefined; + InvalidUserList?: string[]; /** - *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS - * key, or false to use a key managed by Amazon S3. Optional.

                                                              + *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket + * that a file gateway puts objects into. The default value is private.

                                                              + */ + ObjectACL?: ObjectACL | string; + + /** + *

                                                              A list of users or groups in the Active Directory that are allowed to access the file + * share. A group must be prefixed with the @ character. Acceptable formats + * include: DOMAIN\User1, user1, @group1, and + * @DOMAIN\group1. Can only be set if Authentication is set to + * ActiveDirectory.

                                                              + */ + ValidUserList?: string[]; + + /** + *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. + * The default value is S3_INTELLIGENT_TIERING. Optional.

                                                              + * + *

                                                              Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | + * S3_STANDARD_IA | S3_ONEZONE_IA + *

                                                              + */ + DefaultStorageClass?: string; + + /** + *

                                                              A value that sets the write status of a file share. Set this value to true + * to set the write status to read-only, otherwise set to false.

                                                              * *

                                                              Valid Values: true | false *

                                                              */ - KMSEncrypted?: boolean; + ReadOnly?: boolean; /** - *

                                                              A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a - * key-value pair.

                                                              + *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file + * extensions. Set this value to true to enable MIME type guessing, otherwise set + * to false. The default value is true.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              + */ + GuessMIMETypeEnabled?: boolean; + + /** + *

                                                              The name of the file share. Optional.

                                                              * * - *

                                                              Valid characters for key and value are letters, spaces, and numbers representable in - * UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length - * of a tag's key is 128 characters, and the maximum length for a tag's value is - * 256.

                                                              + *

                                                              + * FileShareName must be set if an S3 prefix name is set in + * LocationARN.

                                                              *
                                                              */ - Tags?: Tag[]; + FileShareName?: string; /** - *

                                                              Refresh cache information.

                                                              + *

                                                              The authentication method that users use to access the file share. The default is + * ActiveDirectory.

                                                              + * + *

                                                              Valid Values: ActiveDirectory | GuestAccess + *

                                                              */ - CacheAttributes?: CacheAttributes; + Authentication?: string; /** - *

                                                              The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes - * when it accesses the underlying storage.

                                                              + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              */ - Role: string | undefined; + KMSKey?: string; /** *

                                                              Set this value to true to enable access control list (ACL) on the SMB file @@ -1359,6 +1424,12 @@ export interface CreateSMBFileShareInput { */ SMBACLEnabled?: boolean; + /** + *

                                                              The ARN of the backend storage used for storing file data. A prefix name can be added to + * the S3 bucket name. It must end with a "/".

                                                              + */ + LocationARN: string | undefined; + /** *

                                                              A list of users or groups in the Active Directory that will be granted administrator * privileges on the file share. These users can do all file operations as the super-user. @@ -1373,26 +1444,9 @@ export interface CreateSMBFileShareInput { AdminUserList?: string[]; /** - *

                                                              The ARN of the backend storage used for storing file data. A prefix name can be added to - * the S3 bucket name. It must end with a "/".

                                                              - */ - LocationARN: string | undefined; - - /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              - */ - KMSKey?: string; - - /** - *

                                                              A list of users or groups in the Active Directory that are allowed to access the file - * share. A group must be prefixed with the @ character. Acceptable formats - * include: DOMAIN\User1, user1, @group1, and - * @DOMAIN\group1. Can only be set if Authentication is set to - * ActiveDirectory.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the storage used for the audit logs.

                                                              */ - ValidUserList?: string[]; + AuditDestinationARN?: string; /** *

                                                              The case of an object name in an Amazon S3 bucket. For ClientSpecified, the @@ -1402,27 +1456,31 @@ export interface CreateSMBFileShareInput { CaseSensitivity?: CaseSensitivity | string; /** - *

                                                              A value that sets the write status of a file share. Set this value to true - * to set the write status to read-only, otherwise set to false.

                                                              + *

                                                              A value that sets who pays the cost of the request and the cost associated with data + * download from the S3 bucket. If this value is set to true, the requester pays + * the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket owner always pays + * the cost of storing data.

                                                              + * + * + *

                                                              + * RequesterPays is a configuration for the S3 bucket that backs the file + * share, so make sure that the configuration on the file share is the same as the S3 + * bucket configuration.

                                                              + *
                                                              * *

                                                              Valid Values: true | false *

                                                              */ - ReadOnly?: boolean; - - /** - *

                                                              The Amazon Resource Name (ARN) of the storage used for the audit logs.

                                                              - */ - AuditDestinationARN?: string; + RequesterPays?: boolean; /** - *

                                                              The authentication method that users use to access the file share. The default is - * ActiveDirectory.

                                                              + *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS + * key, or false to use a key managed by Amazon S3. Optional.

                                                              * - *

                                                              Valid Values: ActiveDirectory | GuestAccess + *

                                                              Valid Values: true | false *

                                                              */ - Authentication?: string; + KMSEncrypted?: boolean; /** *

                                                              A unique string value that you supply that is used by file gateway to ensure idempotent @@ -1431,68 +1489,33 @@ export interface CreateSMBFileShareInput { ClientToken: string | undefined; /** - *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file - * extensions. Set this value to true to enable MIME type guessing, otherwise set - * to false. The default value is true.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              - */ - GuessMIMETypeEnabled?: boolean; - - /** - *

                                                              A list of users or groups in the Active Directory that are not allowed to access the - * file share. A group must be prefixed with the @ character. Acceptable formats include: - * DOMAIN\User1, user1, @group1, and - * @DOMAIN\group1. Can only be set if Authentication is set to - * ActiveDirectory.

                                                              + *

                                                              The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes + * when it accesses the underlying storage.

                                                              */ - InvalidUserList?: string[]; + Role: string | undefined; /** - *

                                                              The name of the file share. Optional.

                                                              - * - * - *

                                                              - * FileShareName must be set if an S3 prefix name is set in - * LocationARN.

                                                              - *
                                                              + *

                                                              The ARN of the file gateway on which you want to create a file share.

                                                              */ - FileShareName?: string; + GatewayARN: string | undefined; /** - *

                                                              A value that sets who pays the cost of the request and the cost associated with data - * download from the S3 bucket. If this value is set to true, the requester pays - * the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket owner always pays - * the cost of storing data.

                                                              + *

                                                              A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a + * key-value pair.

                                                              * * - *

                                                              - * RequesterPays is a configuration for the S3 bucket that backs the file - * share, so make sure that the configuration on the file share is the same as the S3 - * bucket configuration.

                                                              + *

                                                              Valid characters for key and value are letters, spaces, and numbers representable in + * UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length + * of a tag's key is 128 characters, and the maximum length for a tag's value is + * 256.

                                                              *
                                                              - * - *

                                                              Valid Values: true | false - *

                                                              */ - RequesterPays?: boolean; - - /** - *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket - * that a file gateway puts objects into. The default value is private.

                                                              - */ - ObjectACL?: ObjectACL | string; + Tags?: Tag[]; /** - *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. - * The default value is S3_INTELLIGENT_TIERING. Optional.

                                                              - * - *

                                                              Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | - * S3_STANDARD_IA | S3_ONEZONE_IA - *

                                                              + *

                                                              Refresh cache information.

                                                              */ - DefaultStorageClass?: string; + CacheAttributes?: CacheAttributes; } export namespace CreateSMBFileShareInput { @@ -1534,6 +1557,19 @@ export namespace CreateSMBFileShareOutput { * */ export interface CreateSnapshotInput { + /** + *

                                                              A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value + * pair.

                                                              + * + * + *

                                                              Valid characters for key and value are letters, spaces, and numbers representable in + * UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length + * of a tag's key is 128 characters, and the maximum length for a tag's value is + * 256.

                                                              + *
                                                              + */ + Tags?: Tag[]; + /** *

                                                              The Amazon Resource Name (ARN) of the volume. Use the ListVolumes * operation to return a list of gateway volumes.

                                                              @@ -1547,19 +1583,6 @@ export interface CreateSnapshotInput { * Description field.

                                                              */ SnapshotDescription: string | undefined; - - /** - *

                                                              A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value - * pair.

                                                              - * - * - *

                                                              Valid characters for key and value are letters, spaces, and numbers representable in - * UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length - * of a tag's key is 128 characters, and the maximum length for a tag's value is - * 256.

                                                              - *
                                                              - */ - Tags?: Tag[]; } export namespace CreateSnapshotInput { @@ -1572,17 +1595,17 @@ export namespace CreateSnapshotInput { *

                                                              A JSON object containing the following fields:

                                                              */ export interface CreateSnapshotOutput { + /** + *

                                                              The Amazon Resource Name (ARN) of the volume of which the snapshot was taken.

                                                              + */ + VolumeARN?: string; + /** *

                                                              The snapshot ID that is used to refer to the snapshot in future operations such as * describing snapshots (Amazon Elastic Compute Cloud API DescribeSnapshots) or * creating a volume from a snapshot (CreateStorediSCSIVolume).

                                                              */ SnapshotId?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) of the volume of which the snapshot was taken.

                                                              - */ - VolumeARN?: string; } export namespace CreateSnapshotOutput { @@ -1628,7 +1651,13 @@ export interface CreateSnapshotFromVolumeRecoveryPointInput { * 256.

                                                              *
                                                              */ - Tags?: Tag[]; + Tags?: Tag[]; + + /** + *

                                                              The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for + * specified VolumeARN.

                                                              + */ + VolumeARN: string | undefined; /** *

                                                              Textual description of the snapshot that appears in the Amazon EC2 console, Elastic @@ -1637,12 +1666,6 @@ export interface CreateSnapshotFromVolumeRecoveryPointInput { * Description field.

                                                              */ SnapshotDescription: string | undefined; - - /** - *

                                                              The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for - * specified VolumeARN.

                                                              - */ - VolumeARN: string | undefined; } export namespace CreateSnapshotFromVolumeRecoveryPointInput { @@ -1659,14 +1682,14 @@ export interface CreateSnapshotFromVolumeRecoveryPointOutput { VolumeARN?: string; /** - *

                                                              The ID of the snapshot.

                                                              + *

                                                              The time the volume was created from the recovery point.

                                                              */ - SnapshotId?: string; + VolumeRecoveryPointTime?: string; /** - *

                                                              The time the volume was created from the recovery point.

                                                              + *

                                                              The ID of the snapshot.

                                                              */ - VolumeRecoveryPointTime?: string; + SnapshotId?: string; } export namespace CreateSnapshotFromVolumeRecoveryPointOutput { @@ -1707,40 +1730,6 @@ export namespace CreateSnapshotFromVolumeRecoveryPointOutput { * */ export interface CreateStorediSCSIVolumeInput { - /** - *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS - * key, or false to use a key managed by Amazon S3. Optional.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              - */ - KMSEncrypted?: boolean; - - /** - *

                                                              The name of the iSCSI target used by an initiator to connect to a volume and used as a - * suffix for the target ARN. For example, specifying TargetName as - * myvolume results in the target ARN of - * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. - * The target name must be unique across all volumes on a gateway.

                                                              - * - *

                                                              If you don't specify a value, Storage Gateway uses the value that was previously - * used for this volume as the new target name.

                                                              - */ - TargetName: string | undefined; - - /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              - */ - KMSKey?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              - */ - GatewayARN: string | undefined; - /** *

                                                              The unique identifier for the gateway local disk that is configured as a stored volume. * Use ListLocalDisks to @@ -1762,13 +1751,11 @@ export interface CreateStorediSCSIVolumeInput { Tags?: Tag[]; /** - *

                                                              The network interface of the gateway on which to expose the iSCSI target. Only IPv4 - * addresses are accepted. Use DescribeGatewayInformation to get a list of - * the network interfaces available on a gateway.

                                                              - * - *

                                                              Valid Values: A valid IP address.

                                                              + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              */ - NetworkInterfaceId: string | undefined; + KMSKey?: string; /** *

                                                              The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new stored @@ -1778,6 +1765,27 @@ export interface CreateStorediSCSIVolumeInput { */ SnapshotId?: string; + /** + *

                                                              The name of the iSCSI target used by an initiator to connect to a volume and used as a + * suffix for the target ARN. For example, specifying TargetName as + * myvolume results in the target ARN of + * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. + * The target name must be unique across all volumes on a gateway.

                                                              + * + *

                                                              If you don't specify a value, Storage Gateway uses the value that was previously + * used for this volume as the new target name.

                                                              + */ + TargetName: string | undefined; + + /** + *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS + * key, or false to use a key managed by Amazon S3. Optional.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              + */ + KMSEncrypted?: boolean; + /** *

                                                              Set to true true if you want to preserve the data on the local disk. * Otherwise, set to false to create an empty volume.

                                                              @@ -1786,6 +1794,21 @@ export interface CreateStorediSCSIVolumeInput { *

                                                              */ PreserveExistingData: boolean | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              + */ + GatewayARN: string | undefined; + + /** + *

                                                              The network interface of the gateway on which to expose the iSCSI target. Only IPv4 + * addresses are accepted. Use DescribeGatewayInformation to get a list of + * the network interfaces available on a gateway.

                                                              + * + *

                                                              Valid Values: A valid IP address.

                                                              + */ + NetworkInterfaceId: string | undefined; } export namespace CreateStorediSCSIVolumeInput { @@ -1798,17 +1821,17 @@ export namespace CreateStorediSCSIVolumeInput { *

                                                              A JSON object containing the following fields:

                                                              */ export interface CreateStorediSCSIVolumeOutput { - /** - *

                                                              The size of the volume in bytes.

                                                              - */ - VolumeSizeInBytes?: number; - /** *

                                                              The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI name that * initiators can use to connect to the target.

                                                              */ TargetARN?: string; + /** + *

                                                              The size of the volume in bytes.

                                                              + */ + VolumeSizeInBytes?: number; + /** *

                                                              The Amazon Resource Name (ARN) of the configured volume.

                                                              */ @@ -1821,55 +1844,76 @@ export namespace CreateStorediSCSIVolumeOutput { }); } -/** - *

                                                              CreateTapesInput

                                                              - */ -export interface CreateTapesInput { +export type RetentionLockType = "COMPLIANCE" | "GOVERNANCE" | "NONE"; + +export type TapeStorageClass = "DEEP_ARCHIVE" | "GLACIER"; + +export interface CreateTapePoolInput { /** - *

                                                              The unique Amazon Resource Name (ARN) that represents the gateway to associate the - * virtual tapes with. Use the ListGateways operation to return a list of - * gateways for your account and AWS Region.

                                                              + *

                                                              Tape retention lock can be configured in two modes. When configured in governance + * mode, AWS accounts with specific IAM permissions are authorized to remove the tape retention lock + * from archived virtual tapes. When configured in compliance mode, the tape retention lock cannot + * be removed by any user, including the root AWS account.

                                                              */ - GatewayARN: string | undefined; + RetentionLockType?: RetentionLockType | string; /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              + *

                                                              Tape retention lock time is set in days. Tape retention lock can be enabled for up + * to 100 years (36,500 days).

                                                              */ - KMSKey?: string; + RetentionLockTimeInDays?: number; /** - *

                                                              The ID of the pool that you want to add your tape to for archiving. The tape in this - * pool is archived in the S3 storage class that is associated with the pool. When you use - * your backup application to eject the tape, the tape is archived directly into the storage - * class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

                                                              - * - *

                                                              Valid Values: GLACIER | DEEP_ARCHIVE - *

                                                              + *

                                                              The storage class that is associated with the new custom pool. When you + * use your backup application to eject the tape, the tape is archived directly into + * the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

                                                              */ - PoolId?: string; + StorageClass: TapeStorageClass | string | undefined; /** - *

                                                              A prefix that you append to the barcode of the virtual tape you are creating. This - * prefix makes the barcode unique.

                                                              + *

                                                              The name of the new custom tape pool.

                                                              + */ + PoolName: string | undefined; + + /** + *

                                                              A list of up to 50 tags that can be assigned to tape pool. Each tag is a key-value + * pair.

                                                              * * - *

                                                              The prefix must be 1 to 4 characters in length and must be one of the uppercase - * letters from A to Z.

                                                              + *

                                                              Valid characters for key and value are letters, spaces, and numbers representable in + * UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length + * of a tag's key is 128 characters, and the maximum length for a tag's value is + * 256.

                                                              *
                                                              */ - TapeBarcodePrefix: string | undefined; + Tags?: Tag[]; +} +export namespace CreateTapePoolInput { + export const filterSensitiveLog = (obj: CreateTapePoolInput): any => ({ + ...obj, + }); +} + +export interface CreateTapePoolOutput { /** - *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS - * key, or false to use a key managed by Amazon S3. Optional.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              + *

                                                              The unique Amazon Resource Name (ARN) that represents the custom + * tape pool. Use the ListTapePools operation to return a list of + * tape pools for your account and AWS Region.

                                                              */ - KMSEncrypted?: boolean; + PoolARN?: string; +} + +export namespace CreateTapePoolOutput { + export const filterSensitiveLog = (obj: CreateTapePoolOutput): any => ({ + ...obj, + }); +} +/** + *

                                                              CreateTapesInput

                                                              + */ +export interface CreateTapesInput { /** *

                                                              The number of virtual tapes that you want to create.

                                                              */ @@ -1884,17 +1928,6 @@ export interface CreateTapesInput { */ TapeSizeInBytes: number | undefined; - /** - *

                                                              A unique identifier that you use to retry a request. If you retry a request, use the - * same ClientToken you specified in the initial request.

                                                              - * - * - *

                                                              Using the same ClientToken prevents creating the tape multiple - * times.

                                                              - *
                                                              - */ - ClientToken: string | undefined; - /** *

                                                              A list of up to 50 tags that can be assigned to a virtual tape. Each tag is a key-value * pair.

                                                              @@ -1907,43 +1940,24 @@ export interface CreateTapesInput { * */ Tags?: Tag[]; -} - -export namespace CreateTapesInput { - export const filterSensitiveLog = (obj: CreateTapesInput): any => ({ - ...obj, - }); -} -/** - *

                                                              CreateTapeOutput

                                                              - */ -export interface CreateTapesOutput { /** - *

                                                              A list of unique Amazon Resource Names (ARNs) that represents the virtual tapes that - * were created.

                                                              + *

                                                              The unique Amazon Resource Name (ARN) that represents the gateway to associate the + * virtual tapes with. Use the ListGateways operation to return a list of + * gateways for your account and AWS Region.

                                                              */ - TapeARNs?: string[]; -} - -export namespace CreateTapesOutput { - export const filterSensitiveLog = (obj: CreateTapesOutput): any => ({ - ...obj, - }); -} + GatewayARN: string | undefined; -/** - *

                                                              CreateTapeWithBarcodeInput

                                                              - */ -export interface CreateTapeWithBarcodeInput { /** - *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS - * key, or false to use a key managed by Amazon S3. Optional.

                                                              + *

                                                              A unique identifier that you use to retry a request. If you retry a request, use the + * same ClientToken you specified in the initial request.

                                                              * - *

                                                              Valid Values: true | false - *

                                                              + * + *

                                                              Using the same ClientToken prevents creating the tape multiple + * times.

                                                              + *
                                                              */ - KMSEncrypted?: boolean; + ClientToken: string | undefined; /** *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon @@ -1953,15 +1967,70 @@ export interface CreateTapeWithBarcodeInput { KMSKey?: string; /** - *

                                                              The barcode that you want to assign to the tape.

                                                              + *

                                                              A prefix that you append to the barcode of the virtual tape you are creating. This + * prefix makes the barcode unique.

                                                              * * - *

                                                              Barcodes cannot be reused. This includes barcodes used for tapes that have been - * deleted.

                                                              + *

                                                              The prefix must be 1 to 4 characters in length and must be one of the uppercase + * letters from A to Z.

                                                              *
                                                              */ - TapeBarcode: string | undefined; + TapeBarcodePrefix: string | undefined; + + /** + *

                                                              Set to TRUE if the tape you are creating is to be configured as a + * write-once-read-many (WORM) tape.

                                                              + */ + Worm?: boolean; + + /** + *

                                                              The ID of the pool that you want to add your tape to for archiving. The tape in this + * pool is archived in the S3 storage class that is associated with the pool. When you use + * your backup application to eject the tape, the tape is archived directly into the storage + * class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

                                                              + * + *

                                                              Valid Values: GLACIER | DEEP_ARCHIVE + *

                                                              + */ + PoolId?: string; + + /** + *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS + * key, or false to use a key managed by Amazon S3. Optional.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              + */ + KMSEncrypted?: boolean; +} + +export namespace CreateTapesInput { + export const filterSensitiveLog = (obj: CreateTapesInput): any => ({ + ...obj, + }); +} + +/** + *

                                                              CreateTapeOutput

                                                              + */ +export interface CreateTapesOutput { + /** + *

                                                              A list of unique Amazon Resource Names (ARNs) that represents the virtual tapes that + * were created.

                                                              + */ + TapeARNs?: string[]; +} + +export namespace CreateTapesOutput { + export const filterSensitiveLog = (obj: CreateTapesOutput): any => ({ + ...obj, + }); +} +/** + *

                                                              CreateTapeWithBarcodeInput

                                                              + */ +export interface CreateTapeWithBarcodeInput { /** *

                                                              The ID of the pool that you want to add your tape to for archiving. The tape in this * pool is archived in the S3 storage class that is associated with the pool. When you use @@ -1982,13 +2051,6 @@ export interface CreateTapeWithBarcodeInput { */ TapeSizeInBytes: number | undefined; - /** - *

                                                              The unique Amazon Resource Name (ARN) that represents the gateway to associate the - * virtual tape with. Use the ListGateways operation to return a list of - * gateways for your account and AWS Region.

                                                              - */ - GatewayARN: string | undefined; - /** *

                                                              A list of up to 50 tags that can be assigned to a virtual tape that has a barcode. Each * tag is a key-value pair.

                                                              @@ -2001,6 +2063,45 @@ export interface CreateTapeWithBarcodeInput { * */ Tags?: Tag[]; + + /** + *

                                                              The unique Amazon Resource Name (ARN) that represents the gateway to associate the + * virtual tape with. Use the ListGateways operation to return a list of + * gateways for your account and AWS Region.

                                                              + */ + GatewayARN: string | undefined; + + /** + *

                                                              Set to TRUE if the tape you are creating is to be configured as a + * write-once-read-many (WORM) tape.

                                                              + */ + Worm?: boolean; + + /** + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              + */ + KMSKey?: string; + + /** + *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS + * key, or false to use a key managed by Amazon S3. Optional.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              + */ + KMSEncrypted?: boolean; + + /** + *

                                                              The barcode that you want to assign to the tape.

                                                              + * + * + *

                                                              Barcodes cannot be reused. This includes barcodes used for tapes that have been + * deleted.

                                                              + *
                                                              + */ + TapeBarcode: string | undefined; } export namespace CreateTapeWithBarcodeInput { @@ -2066,20 +2167,20 @@ export namespace DeleteAutomaticTapeCreationPolicyOutput { * */ export interface DeleteBandwidthRateLimitInput { - /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              - */ - GatewayARN: string | undefined; - /** *

                                                              One of the BandwidthType values that indicates the gateway bandwidth rate limit to * delete.

                                                              * - *

                                                              Valid Values: Upload | Download | All + *

                                                              Valid Values: UPLOAD | DOWNLOAD | ALL *

                                                              */ BandwidthType: string | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              + */ + GatewayARN: string | undefined; } export namespace DeleteBandwidthRateLimitInput { @@ -2276,6 +2377,14 @@ export interface DeleteTapeInput { */ GatewayARN: string | undefined; + /** + *

                                                              Set to TRUE to delete an archived tape that belongs to a custom pool with + * tape retention lock. Only archived tapes with tape retention lock set to + * governance can be deleted. Archived tapes with tape retention lock set to + * compliance can't be deleted.

                                                              + */ + BypassGovernanceRetention?: boolean; + /** *

                                                              The Amazon Resource Name (ARN) of the virtual tape to delete.

                                                              */ @@ -2313,6 +2422,14 @@ export interface DeleteTapeArchiveInput { * (VTS).

                                                              */ TapeARN: string | undefined; + + /** + *

                                                              Set to TRUE to delete an archived tape that belongs to a custom pool with + * tape retention lock. Only archived tapes with tape retention lock set to + * governance can be deleted. Archived tapes with tape retention lock set to + * compliance can't be deleted.

                                                              + */ + BypassGovernanceRetention?: boolean; } export namespace DeleteTapeArchiveInput { @@ -2338,6 +2455,32 @@ export namespace DeleteTapeArchiveOutput { }); } +export interface DeleteTapePoolInput { + /** + *

                                                              The Amazon Resource Name (ARN) of the custom tape pool to delete.

                                                              + */ + PoolARN: string | undefined; +} + +export namespace DeleteTapePoolInput { + export const filterSensitiveLog = (obj: DeleteTapePoolInput): any => ({ + ...obj, + }); +} + +export interface DeleteTapePoolOutput { + /** + *

                                                              The Amazon Resource Name (ARN) of the custom tape pool being deleted.

                                                              + */ + PoolARN?: string; +} + +export namespace DeleteTapePoolOutput { + export const filterSensitiveLog = (obj: DeleteTapePoolOutput): any => ({ + ...obj, + }); +} + /** *

                                                              A JSON object containing the DeleteVolumeInput$VolumeARN to * delete.

                                                              @@ -2435,6 +2578,12 @@ export namespace DescribeBandwidthRateLimitInput { *

                                                              A JSON object containing the following fields:

                                                              */ export interface DescribeBandwidthRateLimitOutput { + /** + *

                                                              The average download bandwidth rate limit in bits per second. This field does not appear + * in the response if the download rate limit is not set.

                                                              + */ + AverageDownloadRateLimitInBitsPerSec?: number; + /** *

                                                              The average upload bandwidth rate limit in bits per second. This field does not appear * in the response if the upload rate limit is not set.

                                                              @@ -2446,12 +2595,6 @@ export interface DescribeBandwidthRateLimitOutput { * operation to return a list of gateways for your account and AWS Region.

                                                              */ GatewayARN?: string; - - /** - *

                                                              The average download bandwidth rate limit in bits per second. This field does not appear - * in the response if the download rate limit is not set.

                                                              - */ - AverageDownloadRateLimitInBitsPerSec?: number; } export namespace DescribeBandwidthRateLimitOutput { @@ -2476,23 +2619,22 @@ export namespace DescribeCacheInput { export interface DescribeCacheOutput { /** - *

                                                              Percent use of the gateway's cache storage. This metric applies only to the - * gateway-cached volume setup. The sample is taken at the end of the reporting period.

                                                              + *

                                                              An array of strings that identify disks that are to be configured as working storage. + * Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs + * from the ListLocalDisks API.

                                                              */ - CacheUsedPercentage?: number; + DiskIds?: string[]; /** - *

                                                              Percent of application read operations from the file shares that are served from cache. - * The sample is taken at the end of the reporting period.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - CacheHitPercentage?: number; + GatewayARN?: string; /** - *

                                                              An array of strings that identify disks that are to be configured as working storage. - * Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs - * from the ListLocalDisks API.

                                                              + *

                                                              The amount of cache in bytes allocated to a gateway.

                                                              */ - DiskIds?: string[]; + CacheAllocatedInBytes?: number; /** *

                                                              Percent of application read operations from the file shares that are not served from @@ -2501,10 +2643,10 @@ export interface DescribeCacheOutput { CacheMissPercentage?: number; /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              Percent use of the gateway's cache storage. This metric applies only to the + * gateway-cached volume setup. The sample is taken at the end of the reporting period.

                                                              */ - GatewayARN?: string; + CacheUsedPercentage?: number; /** *

                                                              The file share's contribution to the overall percentage of the gateway's cache @@ -2514,9 +2656,10 @@ export interface DescribeCacheOutput { CacheDirtyPercentage?: number; /** - *

                                                              The amount of cache in bytes allocated to a gateway.

                                                              + *

                                                              Percent of application read operations from the file shares that are served from cache. + * The sample is taken at the end of the reporting period.

                                                              */ - CacheAllocatedInBytes?: number; + CacheHitPercentage?: number; } export namespace DescribeCacheOutput { @@ -2651,11 +2794,6 @@ export interface NetworkInterface { */ Ipv6Address?: string; - /** - *

                                                              The Internet Protocol version 4 (IPv4) address of the interface.

                                                              - */ - Ipv4Address?: string; - /** *

                                                              The Media Access Control (MAC) address of the interface.

                                                              * @@ -2664,6 +2802,11 @@ export interface NetworkInterface { * */ MacAddress?: string; + + /** + *

                                                              The Internet Protocol version 4 (IPv4) address of the interface.

                                                              + */ + Ipv4Address?: string; } export namespace NetworkInterface { @@ -2679,15 +2822,20 @@ export type HostEnvironment = "EC2" | "HYPER-V" | "KVM" | "OTHER" | "VMWARE"; */ export interface DescribeGatewayInformationOutput { /** - *

                                                              The name you configured for your gateway.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - GatewayName?: string; + GatewayARN?: string; /** - *

                                                              A NetworkInterface array that contains descriptions of the gateway - * network interfaces.

                                                              + *

                                                              A value that indicates the operating state of the gateway.

                                                              */ - GatewayNetworkInterfaces?: NetworkInterface[]; + GatewayState?: string; + + /** + *

                                                              A value that indicates the time zone configured for the gateway.

                                                              + */ + GatewayTimezone?: string; /** *

                                                              The date on which an update to the gateway is available. This date is in the time zone @@ -2696,11 +2844,6 @@ export interface DescribeGatewayInformationOutput { */ NextUpdateAvailabilityDate?: string; - /** - *

                                                              The AWS Region where the Amazon EC2 instance is located.

                                                              - */ - Ec2InstanceRegion?: string; - /** *

                                                              The date on which the last software update was applied to the gateway. If the gateway * has never been updated, this field does not return a value in the response.

                                                              @@ -2708,69 +2851,80 @@ export interface DescribeGatewayInformationOutput { LastSoftwareUpdate?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the Amazon CloudWatch Log Group that is used to - * monitor events in the gateway.

                                                              + *

                                                              Date after which this gateway will not receive software updates for new features + * and bug fixes.

                                                              */ - CloudWatchLogGroupARN?: string; + DeprecationDate?: string; /** - *

                                                              The unique identifier assigned to your gateway during activation. This ID becomes part - * of the gateway Amazon Resource Name (ARN), which you use as input for other - * operations.

                                                              + *

                                                              The type of endpoint for your gateway.

                                                              + * + *

                                                              Valid Values: STANDARD | FIPS + *

                                                              */ - GatewayId?: string; + EndpointType?: string; /** - *

                                                              The type of the gateway.

                                                              + *

                                                              The name you configured for your gateway.

                                                              */ - GatewayType?: string; + GatewayName?: string; /** - *

                                                              The type of hypervisor environment used by the host.

                                                              + *

                                                              A list of up to 50 tags assigned to the gateway, sorted alphabetically by key name. Each + * tag is a key-value pair. For a gateway with more than 10 tags assigned, you can view all + * tags using the ListTagsForResource API operation.

                                                              */ - HostEnvironment?: HostEnvironment | string; + Tags?: Tag[]; /** - *

                                                              The configuration settings for the virtual private cloud (VPC) endpoint for your - * gateway.

                                                              + *

                                                              The ID of the Amazon EC2 instance that was used to launch the gateway.

                                                              */ - VPCEndpoint?: string; + Ec2InstanceId?: string; /** - *

                                                              A list of up to 50 tags assigned to the gateway, sorted alphabetically by key name. Each - * tag is a key-value pair. For a gateway with more than 10 tags assigned, you can view all - * tags using the ListTagsForResource API operation.

                                                              + *

                                                              Date after which this gateway will not receive software updates for new features.

                                                              */ - Tags?: Tag[]; + SoftwareUpdatesEndDate?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              A NetworkInterface array that contains descriptions of the gateway + * network interfaces.

                                                              */ - GatewayARN?: string; + GatewayNetworkInterfaces?: NetworkInterface[]; /** - *

                                                              A value that indicates the time zone configured for the gateway.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to + * monitor events in the gateway.

                                                              */ - GatewayTimezone?: string; + CloudWatchLogGroupARN?: string; /** - *

                                                              A value that indicates the operating state of the gateway.

                                                              + *

                                                              The type of the gateway.

                                                              */ - GatewayState?: string; + GatewayType?: string; /** - *

                                                              The type of endpoint for your gateway.

                                                              - * - *

                                                              Valid Values: STANDARD | FIPS - *

                                                              + *

                                                              The AWS Region where the Amazon EC2 instance is located.

                                                              */ - EndpointType?: string; + Ec2InstanceRegion?: string; /** - *

                                                              The ID of the Amazon EC2 instance that was used to launch the gateway.

                                                              + *

                                                              The configuration settings for the virtual private cloud (VPC) endpoint for your + * gateway.

                                                              */ - Ec2InstanceId?: string; + VPCEndpoint?: string; + + /** + *

                                                              The unique identifier assigned to your gateway during activation. This ID becomes part + * of the gateway Amazon Resource Name (ARN), which you use as input for other + * operations.

                                                              + */ + GatewayId?: string; + + /** + *

                                                              The type of hypervisor environment used by the host.

                                                              + */ + HostEnvironment?: HostEnvironment | string; } export namespace DescribeGatewayInformationOutput { @@ -2829,23 +2983,18 @@ export namespace DescribeMaintenanceStartTimeInput { */ export interface DescribeMaintenanceStartTimeOutput { /** - *

                                                              An ordinal number between 0 and 6 that represents the day of the week, where 0 - * represents Sunday and 6 represents Saturday. The day of week is in the time zone of the - * gateway.

                                                              - */ - DayOfWeek?: number; - - /** - *

                                                              A value that indicates the time zone that is set for the gateway. The start time and day - * of week specified should be in the time zone of the gateway.

                                                              + *

                                                              The day of the month component of the maintenance start time represented as an ordinal + * number from 1 to 28, where 1 represents the first day of the month and 28 represents the + * last day of the month.

                                                              */ - Timezone?: string; + DayOfMonth?: number; /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              An ordinal number between 0 and 6 that represents the day of the week, where 0 + * represents Sunday and 6 represents Saturday. The day of week is in the time zone of the + * gateway.

                                                              */ - GatewayARN?: string; + DayOfWeek?: number; /** *

                                                              The hour component of the maintenance start time represented as hh, @@ -2854,19 +3003,24 @@ export interface DescribeMaintenanceStartTimeOutput { */ HourOfDay?: number; - /** - *

                                                              The day of the month component of the maintenance start time represented as an ordinal - * number from 1 to 28, where 1 represents the first day of the month and 28 represents the - * last day of the month.

                                                              - */ - DayOfMonth?: number; - /** *

                                                              The minute component of the maintenance start time represented as * mm, where mm is the minute (0 to 59). The * minute of the hour is in the time zone of the gateway.

                                                              */ MinuteOfHour?: number; + + /** + *

                                                              A value that indicates the time zone that is set for the gateway. The start time and day + * of week specified should be in the time zone of the gateway.

                                                              + */ + Timezone?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              + */ + GatewayARN?: string; } export namespace DescribeMaintenanceStartTimeOutput { @@ -2899,39 +3053,55 @@ export namespace DescribeNFSFileSharesInput { */ export interface NFSFileShareInfo { /** - *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. - * The default value is S3_INTELLIGENT_TIERING. Optional.

                                                              - * - *

                                                              Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | - * S3_STANDARD_IA | S3_ONEZONE_IA - *

                                                              + *

                                                              The file share path used by the NFS client to identify the mount point.

                                                              */ - DefaultStorageClass?: string; + Path?: string; /** - *

                                                              The status of the file share.

                                                              + *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file + * extensions. Set this value to true to enable MIME type guessing, otherwise set + * to false. The default value is true.

                                                              * - *

                                                              Valid Values: CREATING | UPDATING | AVAILABLE | - * DELETING + *

                                                              Valid Values: true | false *

                                                              */ - FileShareStatus?: string; + GuessMIMETypeEnabled?: boolean; /** - *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS - * key, or false to use a key managed by Amazon S3. Optional.

                                                              + *

                                                              A value that sets the write status of a file share. Set this value to true + * to set the write status to read-only, otherwise set to false.

                                                              * *

                                                              Valid Values: true | false *

                                                              */ - KMSEncrypted?: boolean; + ReadOnly?: boolean; /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              + *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket + * that a file gateway puts objects into. The default value is private.

                                                              */ - KMSKey?: string; + ObjectACL?: ObjectACL | string; + + /** + *

                                                              The name of the file share. Optional.

                                                              + * + * + *

                                                              + * FileShareName must be set if an S3 prefix name is set in + * LocationARN.

                                                              + *
                                                              + */ + FileShareName?: string; + + /** + *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. + * The default value is S3_INTELLIGENT_TIERING. Optional.

                                                              + * + *

                                                              Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | + * S3_STANDARD_IA | S3_ONEZONE_IA + *

                                                              + */ + DefaultStorageClass?: string; /** *

                                                              The list of clients that are allowed to access the file gateway. The list must contain @@ -2946,27 +3116,46 @@ export interface NFSFileShareInfo { Role?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              */ - GatewayARN?: string; + KMSKey?: string; /** - *

                                                              The file share path used by the NFS client to identify the mount point.

                                                              + *

                                                              The user mapped to anonymous user. Valid options are the following:

                                                              + * + *
                                                                + *
                                                              • + *

                                                                + * RootSquash: Only root is mapped to anonymous user.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * NoSquash: No one is mapped to anonymous user.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * AllSquash: Everyone is mapped to anonymous user.

                                                                + *
                                                              • + *
                                                              */ - Path?: string; + Squash?: string; /** - *

                                                              Refresh cache information.

                                                              + *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS + * key, or false to use a key managed by Amazon S3. Optional.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              */ - CacheAttributes?: CacheAttributes; + KMSEncrypted?: boolean; /** - *

                                                              A list of up to 50 tags assigned to the NFS file share, sorted alphabetically by key - * name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can - * view all tags using the ListTagsForResource API operation.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - Tags?: Tag[]; + GatewayARN?: string; /** *

                                                              Describes Network File System (NFS) file share default values. Files and folders stored @@ -2977,25 +3166,11 @@ export interface NFSFileShareInfo { */ NFSFileShareDefaults?: NFSFileShareDefaults; - /** - *

                                                              A value that sets the write status of a file share. Set this value to true - * to set the write status to read-only, otherwise set to false.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              - */ - ReadOnly?: boolean; - /** *

                                                              The ID of the file share.

                                                              */ FileShareId?: string; - /** - *

                                                              The Amazon Resource Name (ARN) of the file share.

                                                              - */ - FileShareARN?: string; - /** *

                                                              A value that sets who pays the cost of the request and the cost associated with data * download from the S3 bucket. If this value is set to true, the requester pays @@ -3015,57 +3190,36 @@ export interface NFSFileShareInfo { RequesterPays?: boolean; /** - *

                                                              The ARN of the backend storage used for storing file data. A prefix name can be added to - * the S3 bucket name. It must end with a "/".

                                                              + *

                                                              The Amazon Resource Name (ARN) of the file share.

                                                              */ - LocationARN?: string; + FileShareARN?: string; /** - *

                                                              The user mapped to anonymous user. Valid options are the following:

                                                              + *

                                                              The status of the file share.

                                                              * - *
                                                                - *
                                                              • - *

                                                                - * RootSquash: Only root is mapped to anonymous user.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * NoSquash: No one is mapped to anonymous user.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * AllSquash: Everyone is mapped to anonymous user.

                                                                - *
                                                              • - *
                                                              + *

                                                              Valid Values: CREATING | UPDATING | AVAILABLE | + * DELETING + *

                                                              */ - Squash?: string; + FileShareStatus?: string; /** - *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file - * extensions. Set this value to true to enable MIME type guessing, otherwise set - * to false. The default value is true.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              + *

                                                              The ARN of the backend storage used for storing file data. A prefix name can be added to + * the S3 bucket name. It must end with a "/".

                                                              */ - GuessMIMETypeEnabled?: boolean; + LocationARN?: string; /** - *

                                                              The name of the file share. Optional.

                                                              - * - * - *

                                                              - * FileShareName must be set if an S3 prefix name is set in - * LocationARN.

                                                              - *
                                                              + *

                                                              Refresh cache information.

                                                              */ - FileShareName?: string; + CacheAttributes?: CacheAttributes; /** - *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket - * that a file gateway puts objects into. The default value is private.

                                                              + *

                                                              A list of up to 50 tags assigned to the NFS file share, sorted alphabetically by key + * name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can + * view all tags using the ListTagsForResource API operation.

                                                              */ - ObjectACL?: ObjectACL | string; + Tags?: Tag[]; } export namespace NFSFileShareInfo { @@ -3113,6 +3267,84 @@ export namespace DescribeSMBFileSharesInput { * for file gateways.

                                                              */ export interface SMBFileShareInfo { + /** + *

                                                              The status of the file share.

                                                              + * + *

                                                              Valid Values: CREATING | UPDATING | AVAILABLE | + * DELETING + *

                                                              + */ + FileShareStatus?: string; + + /** + *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. + * The default value is S3_INTELLIGENT_TIERING. Optional.

                                                              + * + *

                                                              Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | + * S3_STANDARD_IA | S3_ONEZONE_IA + *

                                                              + */ + DefaultStorageClass?: string; + + /** + *

                                                              A list of users or groups in the Active Directory that are allowed to access the file + * share. A group must be prefixed with the @ character. Acceptable formats include: + * DOMAIN\User1, user1, @group1, and + * @DOMAIN\group1. Can only be set if Authentication is set to + * ActiveDirectory.

                                                              + */ + ValidUserList?: string[]; + + /** + *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS + * key, or false to use a key managed by Amazon S3. Optional.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              + */ + KMSEncrypted?: boolean; + + /** + *

                                                              The Amazon Resource Name (ARN) of the storage used for the audit logs.

                                                              + */ + AuditDestinationARN?: string; + + /** + *

                                                              The name of the file share. Optional.

                                                              + * + * + *

                                                              + * FileShareName must be set if an S3 prefix name is set in + * LocationARN.

                                                              + *
                                                              + */ + FileShareName?: string; + + /** + *

                                                              The authentication method of the file share. The default is + * ActiveDirectory.

                                                              + * + *

                                                              Valid Values: ActiveDirectory | GuestAccess + *

                                                              + */ + Authentication?: string; + + /** + *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file + * extensions. Set this value to true to enable MIME type guessing, otherwise set + * to false. The default value is true.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              + */ + GuessMIMETypeEnabled?: boolean; + + /** + *

                                                              The ARN of the IAM role that file gateway assumes when it accesses the underlying + * storage.

                                                              + */ + Role?: string; + /** *

                                                              A list of up to 50 tags assigned to the SMB file share, sorted alphabetically by key * name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can @@ -3121,9 +3353,13 @@ export interface SMBFileShareInfo { Tags?: Tag[]; /** - *

                                                              Refresh cache information.

                                                              + *

                                                              A value that sets the write status of a file share. Set this value to true + * to set the write status to read-only, otherwise set to false.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              */ - CacheAttributes?: CacheAttributes; + ReadOnly?: boolean; /** *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways @@ -3131,19 +3367,6 @@ export interface SMBFileShareInfo { */ GatewayARN?: string; - /** - *

                                                              If this value is set to true, it indicates that access control list (ACL) - * is enabled on the SMB file share. If it is set to false, it indicates that - * file and directory permissions are mapped to the POSIX permission.

                                                              - * - * - * - *

                                                              For more information, see Using Microsoft Windows ACLs to - * control access to an SMB file share in the AWS Storage Gateway User - * Guide.

                                                              - */ - SMBACLEnabled?: boolean; - /** *

                                                              A list of users or groups in the Active Directory that have administrator rights to the * file share. A group must be prefixed with the @ character. Acceptable formats include: @@ -3153,12 +3376,6 @@ export interface SMBFileShareInfo { */ AdminUserList?: string[]; - /** - *

                                                              The ARN of the IAM role that file gateway assumes when it accesses the underlying - * storage.

                                                              - */ - Role?: string; - /** *

                                                              The ARN of the backend storage used for storing file data. A prefix name can be added to * the S3 bucket name. It must end with a "/".

                                                              @@ -3166,25 +3383,35 @@ export interface SMBFileShareInfo { LocationARN?: string; /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              + *

                                                              A list of users or groups in the Active Directory that are not allowed to access the + * file share. A group must be prefixed with the @ character. Acceptable formats include: + * DOMAIN\User1, user1, @group1, and + * @DOMAIN\group1. Can only be set if Authentication is set to + * ActiveDirectory.

                                                              */ - KMSKey?: string; + InvalidUserList?: string[]; /** - *

                                                              The Amazon Resource Name (ARN) of the file share.

                                                              + *

                                                              Refresh cache information.

                                                              */ - FileShareARN?: string; + CacheAttributes?: CacheAttributes; /** - *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS - * key, or false to use a key managed by Amazon S3. Optional.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              + *

                                                              The case of an object name in an Amazon S3 bucket. For ClientSpecified, the + * client determines the case sensitivity. For CaseSensitive, the gateway + * determines the case sensitivity. The default value is ClientSpecified.

                                                              */ - KMSEncrypted?: boolean; + CaseSensitivity?: CaseSensitivity | string; + + /** + *

                                                              The ID of the file share.

                                                              + */ + FileShareId?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the file share.

                                                              + */ + FileShareARN?: string; /** *

                                                              A value that sets who pays the cost of the request and the cost associated with data @@ -3204,27 +3431,6 @@ export interface SMBFileShareInfo { */ RequesterPays?: boolean; - /** - *

                                                              The name of the file share. Optional.

                                                              - * - * - *

                                                              - * FileShareName must be set if an S3 prefix name is set in - * LocationARN.

                                                              - *
                                                              - */ - FileShareName?: string; - - /** - *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. - * The default value is S3_INTELLIGENT_TIERING. Optional.

                                                              - * - *

                                                              Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | - * S3_STANDARD_IA | S3_ONEZONE_IA - *

                                                              - */ - DefaultStorageClass?: string; - /** *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket * that a file gateway puts objects into. The default value is private.

                                                              @@ -3237,76 +3443,24 @@ export interface SMBFileShareInfo { Path?: string; /** - *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file - * extensions. Set this value to true to enable MIME type guessing, otherwise set - * to false. The default value is true.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              - */ - GuessMIMETypeEnabled?: boolean; - - /** - *

                                                              A list of users or groups in the Active Directory that are not allowed to access the - * file share. A group must be prefixed with the @ character. Acceptable formats include: - * DOMAIN\User1, user1, @group1, and - * @DOMAIN\group1. Can only be set if Authentication is set to - * ActiveDirectory.

                                                              + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              */ - InvalidUserList?: string[]; + KMSKey?: string; /** - *

                                                              The status of the file share.

                                                              + *

                                                              If this value is set to true, it indicates that access control list (ACL) + * is enabled on the SMB file share. If it is set to false, it indicates that + * file and directory permissions are mapped to the POSIX permission.

                                                              * - *

                                                              Valid Values: CREATING | UPDATING | AVAILABLE | - * DELETING - *

                                                              - */ - FileShareStatus?: string; - - /** - *

                                                              The authentication method of the file share. The default is - * ActiveDirectory.

                                                              * - *

                                                              Valid Values: ActiveDirectory | GuestAccess - *

                                                              - */ - Authentication?: string; - - /** - *

                                                              A list of users or groups in the Active Directory that are allowed to access the file - * share. A group must be prefixed with the @ character. Acceptable formats include: - * DOMAIN\User1, user1, @group1, and - * @DOMAIN\group1. Can only be set if Authentication is set to - * ActiveDirectory.

                                                              - */ - ValidUserList?: string[]; - - /** - *

                                                              A value that sets the write status of a file share. Set this value to true - * to set the write status to read-only, otherwise set to false.

                                                              * - *

                                                              Valid Values: true | false - *

                                                              - */ - ReadOnly?: boolean; - - /** - *

                                                              The Amazon Resource Name (ARN) of the storage used for the audit logs.

                                                              - */ - AuditDestinationARN?: string; - - /** - *

                                                              The ID of the file share.

                                                              - */ - FileShareId?: string; - - /** - *

                                                              The case of an object name in an Amazon S3 bucket. For ClientSpecified, the - * client determines the case sensitivity. For CaseSensitive, the gateway - * determines the case sensitivity. The default value is ClientSpecified.

                                                              + *

                                                              For more information, see Using Microsoft Windows ACLs to + * control access to an SMB file share in the AWS Storage Gateway User + * Guide.

                                                              */ - CaseSensitivity?: CaseSensitivity | string; + SMBACLEnabled?: boolean; } export namespace SMBFileShareInfo { @@ -3348,6 +3502,47 @@ export namespace DescribeSMBSettingsInput { export type SMBSecurityStrategy = "ClientSpecified" | "MandatoryEncryption" | "MandatorySigning"; export interface DescribeSMBSettingsOutput { + /** + *

                                                              The name of the domain that the gateway is joined to.

                                                              + */ + DomainName?: string; + + /** + *

                                                              This value is true if a password for the guest user smbguest + * is set, otherwise false.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              + */ + SMBGuestPasswordSet?: boolean; + + /** + *

                                                              The type of security strategy that was specified for file gateway.

                                                              + * + *
                                                                + *
                                                              • + *

                                                                + * ClientSpecified: If you use this option, requests are established + * based on what is negotiated by the client. This option is recommended when you want + * to maximize compatibility across different clients in your environment.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * MandatorySigning: If you use this option, file gateway only allows + * connections from SMBv2 or SMBv3 clients that have signing enabled. This option works + * with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * MandatoryEncryption: If you use this option, file gateway only allows + * connections from SMBv3 clients that have encryption enabled. This option is highly + * recommended for environments that handle sensitive data. This option works with SMB + * clients on Microsoft Windows 8, Windows Server 2012 or newer.

                                                                + *
                                                              • + *
                                                              + */ + SMBSecurityStrategy?: SMBSecurityStrategy | string; + /** *

                                                              Indicates the status of a gateway that is a member of the Active Directory * domain.

                                                              @@ -3391,52 +3586,11 @@ export interface DescribeSMBSettingsOutput { */ ActiveDirectoryStatus?: ActiveDirectoryStatus | string; - /** - *

                                                              This value is true if a password for the guest user smbguest - * is set, otherwise false.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              - */ - SMBGuestPasswordSet?: boolean; - /** *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and AWS Region.

                                                              */ GatewayARN?: string; - - /** - *

                                                              The type of security strategy that was specified for file gateway.

                                                              - * - *
                                                                - *
                                                              • - *

                                                                - * ClientSpecified: If you use this option, requests are established - * based on what is negotiated by the client. This option is recommended when you want - * to maximize compatibility across different clients in your environment.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * MandatorySigning: If you use this option, file gateway only allows - * connections from SMBv2 or SMBv3 clients that have signing enabled. This option works - * with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * MandatoryEncryption: If you use this option, file gateway only allows - * connections from SMBv3 clients that have encryption enabled. This option is highly - * recommended for environments that handle sensitive data. This option works with SMB - * clients on Microsoft Windows 8, Windows Server 2012 or newer.

                                                                - *
                                                              • - *
                                                              - */ - SMBSecurityStrategy?: SMBSecurityStrategy | string; - - /** - *

                                                              The name of the domain that the gateway is joined to.

                                                              - */ - DomainName?: string; } export namespace DescribeSMBSettingsOutput { @@ -3464,18 +3618,6 @@ export namespace DescribeSnapshotScheduleInput { } export interface DescribeSnapshotScheduleOutput { - /** - *

                                                              A value that indicates the time zone of the gateway.

                                                              - */ - Timezone?: string; - - /** - *

                                                              A list of up to 50 tags assigned to the snapshot schedule, sorted alphabetically by key - * name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can - * view all tags using the ListTagsForResource API operation.

                                                              - */ - Tags?: Tag[]; - /** *

                                                              The snapshot description.

                                                              */ @@ -3486,6 +3628,11 @@ export interface DescribeSnapshotScheduleOutput { */ VolumeARN?: string; + /** + *

                                                              The number of hours between snapshots.

                                                              + */ + RecurrenceInHours?: number; + /** *

                                                              The hour of the day at which the snapshot schedule begins represented as * hh, where hh is the hour (0 to 23). The hour @@ -3494,9 +3641,16 @@ export interface DescribeSnapshotScheduleOutput { StartAt?: number; /** - *

                                                              The number of hours between snapshots.

                                                              + *

                                                              A list of up to 50 tags assigned to the snapshot schedule, sorted alphabetically by key + * name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can + * view all tags using the ListTagsForResource API operation.

                                                              */ - RecurrenceInHours?: number; + Tags?: Tag[]; + + /** + *

                                                              A value that indicates the time zone of the gateway.

                                                              + */ + Timezone?: string; } export namespace DescribeSnapshotScheduleOutput { @@ -3527,21 +3681,15 @@ export namespace DescribeStorediSCSIVolumesInput { */ export interface StorediSCSIVolume { /** - *

                                                              The Amazon Resource Name (ARN) of the storage volume.

                                                              - */ - VolumeARN?: string; - - /** - *

                                                              The unique identifier of the volume, e.g. vol-AE4B946D.

                                                              + *

                                                              The date the volume was created. Volumes created prior to March 28, 2017 don’t have this + * timestamp.

                                                              */ - VolumeId?: string; + CreatedDate?: Date; /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              + *

                                                              The ID of the local disk that was specified in the CreateStorediSCSIVolume operation.

                                                              */ - KMSKey?: string; + VolumeDiskId?: string; /** *

                                                              The name of the iSCSI target used by an initiator to connect to a volume and used as a @@ -3556,9 +3704,9 @@ export interface StorediSCSIVolume { TargetName?: string; /** - *

                                                              One of the VolumeType enumeration values describing the type of the volume.

                                                              + *

                                                              One of the VolumeStatus values that indicates the state of the storage volume.

                                                              */ - VolumeType?: string; + VolumeStatus?: string; /** *

                                                              Represents the percentage complete if the volume is restoring or bootstrapping that @@ -3568,17 +3716,31 @@ export interface StorediSCSIVolume { VolumeProgress?: number; /** - *

                                                              An VolumeiSCSIAttributes object that represents a collection of iSCSI - * attributes for one stored volume.

                                                              + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              */ - VolumeiSCSIAttributes?: VolumeiSCSIAttributes; + KMSKey?: string; /** - *

                                                              A value that indicates whether a storage volume is attached to, detached from, or is in - * the process of detaching from a gateway. For more information, see Moving - * your volumes to a different gateway.

                                                              + *

                                                              The size of the data stored on the volume in bytes. This value is calculated based on + * the number of blocks that are touched, instead of the actual amount of data written. This + * value can be useful for sequential write patterns but less accurate for random write + * patterns. VolumeUsedInBytes is different from the compressed size of the + * volume, which is the value that is used to calculate your bill.

                                                              + * + * + *

                                                              This value is not available for volumes created prior to May 13, 2015, until you + * store data on the volume.

                                                              + *
                                                              */ - VolumeAttachmentStatus?: string; + VolumeUsedInBytes?: number; + + /** + *

                                                              An VolumeiSCSIAttributes object that represents a collection of iSCSI + * attributes for one stored volume.

                                                              + */ + VolumeiSCSIAttributes?: VolumeiSCSIAttributes; /** *

                                                              Indicates if when the stored volume was created, existing data on the underlying local @@ -3590,45 +3752,37 @@ export interface StorediSCSIVolume { PreservedExistingData?: boolean; /** - *

                                                              The date the volume was created. Volumes created prior to March 28, 2017 don’t have this - * time stamp.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the storage volume.

                                                              */ - CreatedDate?: Date; + VolumeARN?: string; /** - *

                                                              The size of the volume in bytes.

                                                              + *

                                                              One of the VolumeType enumeration values describing the type of the volume.

                                                              */ - VolumeSizeInBytes?: number; + VolumeType?: string; /** - *

                                                              If the stored volume was created from a snapshot, this field contains the snapshot ID - * used, e.g. snap-78e22663. Otherwise, this field is not included.

                                                              + *

                                                              The unique identifier of the volume, e.g., vol-AE4B946D.

                                                              */ - SourceSnapshotId?: string; + VolumeId?: string; /** - *

                                                              The ID of the local disk that was specified in the CreateStorediSCSIVolume operation.

                                                              + *

                                                              A value that indicates whether a storage volume is attached to, detached from, or is in + * the process of detaching from a gateway. For more information, see Moving + * your volumes to a different gateway.

                                                              */ - VolumeDiskId?: string; + VolumeAttachmentStatus?: string; /** - *

                                                              The size of the data stored on the volume in bytes. This value is calculated based on - * the number of blocks that are touched, instead of the actual amount of data written. This - * value can be useful for sequential write patterns but less accurate for random write - * patterns. VolumeUsedInBytes is different from the compressed size of the - * volume, which is the value that is used to calculate your bill.

                                                              - * - * - *

                                                              This value is not available for volumes created prior to May 13, 2015, until you - * store data on the volume.

                                                              - *
                                                              + *

                                                              If the stored volume was created from a snapshot, this field contains the snapshot ID + * used, e.g. snap-78e22663. Otherwise, this field is not included.

                                                              */ - VolumeUsedInBytes?: number; + SourceSnapshotId?: string; /** - *

                                                              One of the VolumeStatus values that indicates the state of the storage volume.

                                                              + *

                                                              The size of the volume in bytes.

                                                              */ - VolumeStatus?: string; + VolumeSizeInBytes?: number; } export namespace StorediSCSIVolume { @@ -3737,6 +3891,12 @@ export namespace DescribeStorediSCSIVolumesOutput { *

                                                              DescribeTapeArchivesInput

                                                              */ export interface DescribeTapeArchivesInput { + /** + *

                                                              Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual + * tapes you want to describe.

                                                              + */ + TapeARNs?: string[]; + /** *

                                                              Specifies that the number of virtual tapes described be limited to the specified * number.

                                                              @@ -3748,12 +3908,6 @@ export interface DescribeTapeArchivesInput { * tapes.

                                                              */ Marker?: string; - - /** - *

                                                              Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual - * tapes you want to describe.

                                                              - */ - TapeARNs?: string[]; } export namespace DescribeTapeArchivesInput { @@ -3767,34 +3921,34 @@ export namespace DescribeTapeArchivesInput { */ export interface TapeArchive { /** - *

                                                              The Amazon Resource Name (ARN) of the tape gateway that the virtual tape is being - * retrieved to.

                                                              - * - *

                                                              The virtual tape is retrieved from the virtual tape shelf (VTS).

                                                              + *

                                                              The Amazon Resource Name (ARN) of an archived virtual tape.

                                                              */ - RetrievedTo?: string; + TapeARN?: string; /** - *

                                                              The time that the archiving of the virtual tape was completed.

                                                              - * - *

                                                              The default time stamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' - * format.

                                                              + *

                                                              The date the virtual tape was created.

                                                              */ - CompletionTime?: Date; + TapeCreatedDate?: Date; /** - *

                                                              The size, in bytes, of data stored on the virtual tape.

                                                              + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              + */ + KMSKey?: string; + + /** + *

                                                              The time that the archiving of the virtual tape was completed.

                                                              * - * - *

                                                              This value is not available for tapes created prior to May 13, 2015.

                                                              - *
                                                              + *

                                                              The default timestamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' + * format.

                                                              */ - TapeUsedInBytes?: number; + CompletionTime?: Date; /** - *

                                                              The Amazon Resource Name (ARN) of an archived virtual tape.

                                                              + *

                                                              The barcode that identifies the archived virtual tape.

                                                              */ - TapeARN?: string; + TapeBarcode?: string; /** *

                                                              The current state of the archived virtual tape.

                                                              @@ -3811,26 +3965,44 @@ export interface TapeArchive { PoolId?: string; /** - *

                                                              The date the virtual tape was created.

                                                              + *

                                                              The size, in bytes, of the archived virtual tape.

                                                              */ - TapeCreatedDate?: Date; + TapeSizeInBytes?: number; /** - *

                                                              The size, in bytes, of the archived virtual tape.

                                                              + *

                                                              The size, in bytes, of data stored on the virtual tape.

                                                              + * + * + *

                                                              This value is not available for tapes created prior to May 13, 2015.

                                                              + *
                                                              */ - TapeSizeInBytes?: number; + TapeUsedInBytes?: number; /** - *

                                                              The barcode that identifies the archived virtual tape.

                                                              + *

                                                              Set to true if the archived tape is stored as write-once-read-many (WORM).

                                                              */ - TapeBarcode?: string; + Worm?: boolean; /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the tape gateway that the virtual tape is being + * retrieved to.

                                                              + * + *

                                                              The virtual tape is retrieved from the virtual tape shelf (VTS).

                                                              */ - KMSKey?: string; + RetrievedTo?: string; + + /** + *

                                                              If the archived tape is subject to tape retention lock, the date that the archived tape + * started being retained.

                                                              + */ + RetentionStartDate?: Date; + + /** + *

                                                              The time that the tape entered the custom tape pool.

                                                              + * + *

                                                              The default timestamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

                                                              + */ + PoolEntryDate?: Date; } export namespace TapeArchive { @@ -3843,14 +4015,6 @@ export namespace TapeArchive { *

                                                              DescribeTapeArchivesOutput

                                                              */ export interface DescribeTapeArchivesOutput { - /** - *

                                                              An opaque string that indicates the position at which the virtual tapes that were - * fetched for description ended. Use this marker in your next request to fetch the next set - * of virtual tapes in the virtual tape shelf (VTS). If there are no more virtual tapes to - * describe, this field does not appear in the response.

                                                              - */ - Marker?: string; - /** *

                                                              An array of virtual tape objects in the virtual tape shelf (VTS). The description * includes of the Amazon Resource Name (ARN) of the virtual tapes. The information returned @@ -3858,6 +4022,14 @@ export interface DescribeTapeArchivesOutput { * tapes, progress of the description, and tape barcode.

                                                              */ TapeArchives?: TapeArchive[]; + + /** + *

                                                              An opaque string that indicates the position at which the virtual tapes that were + * fetched for description ended. Use this marker in your next request to fetch the next set + * of virtual tapes in the virtual tape shelf (VTS). If there are no more virtual tapes to + * describe, this field does not appear in the response.

                                                              + */ + Marker?: string; } export namespace DescribeTapeArchivesOutput { @@ -3871,10 +4043,10 @@ export namespace DescribeTapeArchivesOutput { */ export interface DescribeTapeRecoveryPointsInput { /** - *

                                                              Specifies that the number of virtual tape recovery points that are described be limited - * to the specified number.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - Limit?: number; + GatewayARN: string | undefined; /** *

                                                              An opaque string that indicates the position at which to begin describing the virtual @@ -3883,10 +4055,10 @@ export interface DescribeTapeRecoveryPointsInput { Marker?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              Specifies that the number of virtual tape recovery points that are described be limited + * to the specified number.

                                                              */ - GatewayARN: string | undefined; + Limit?: number; } export namespace DescribeTapeRecoveryPointsInput { @@ -3900,13 +4072,9 @@ export namespace DescribeTapeRecoveryPointsInput { */ export interface TapeRecoveryPointInfo { /** - *

                                                              The time when the point-in-time view of the virtual tape was replicated for later - * recovery.

                                                              - * - *

                                                              The default time stamp format of the tape recovery point time is in the ISO8601 extended - * YYYY-MM-DD'T'HH:MM:SS'Z' format.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the virtual tape.

                                                              */ - TapeRecoveryPointTime?: Date; + TapeARN?: string; /** *

                                                              The status of the virtual tapes.

                                                              @@ -3919,9 +4087,13 @@ export interface TapeRecoveryPointInfo { TapeSizeInBytes?: number; /** - *

                                                              The Amazon Resource Name (ARN) of the virtual tape.

                                                              + *

                                                              The time when the point-in-time view of the virtual tape was replicated for later + * recovery.

                                                              + * + *

                                                              The default timestamp format of the tape recovery point time is in the ISO8601 extended + * YYYY-MM-DD'T'HH:MM:SS'Z' format.

                                                              */ - TapeARN?: string; + TapeRecoveryPointTime?: Date; } export namespace TapeRecoveryPointInfo { @@ -3934,16 +4106,6 @@ export namespace TapeRecoveryPointInfo { *

                                                              DescribeTapeRecoveryPointsOutput

                                                              */ export interface DescribeTapeRecoveryPointsOutput { - /** - *

                                                              An opaque string that indicates the position at which the virtual tape recovery points - * that were listed for description ended.

                                                              - * - *

                                                              Use this marker in your next request to list the next set of virtual tape recovery - * points in the list. If there are no more recovery points to describe, this field does not - * appear in the response.

                                                              - */ - Marker?: string; - /** *

                                                              An array of TapeRecoveryPointInfos that are available for the specified gateway.

                                                              */ @@ -3954,6 +4116,16 @@ export interface DescribeTapeRecoveryPointsOutput { * operation to return a list of gateways for your account and AWS Region.

                                                              */ GatewayARN?: string; + + /** + *

                                                              An opaque string that indicates the position at which the virtual tape recovery points + * that were listed for description ended.

                                                              + * + *

                                                              Use this marker in your next request to list the next set of virtual tape recovery + * points in the list. If there are no more recovery points to describe, this field does not + * appear in the response.

                                                              + */ + Marker?: string; } export namespace DescribeTapeRecoveryPointsOutput { @@ -3967,12 +4139,17 @@ export namespace DescribeTapeRecoveryPointsOutput { */ export interface DescribeTapesInput { /** - *

                                                              A marker value, obtained in a previous call to DescribeTapes. This marker - * indicates which page of results to retrieve.

                                                              - * - *

                                                              If not specified, the first page of results is retrieved.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - Marker?: string; + GatewayARN: string | undefined; + + /** + *

                                                              Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual + * tapes you want to describe. If this parameter is not specified, Tape gateway returns a + * description of all virtual tapes associated with the specified gateway.

                                                              + */ + TapeARNs?: string[]; /** *

                                                              Specifies that the number of virtual tapes described be limited to the specified @@ -3983,19 +4160,14 @@ export interface DescribeTapesInput { * */ Limit?: number; - - /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              - */ - GatewayARN: string | undefined; - - /** - *

                                                              Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual - * tapes you want to describe. If this parameter is not specified, Tape gateway returns a - * description of all virtual tapes associated with the specified gateway.

                                                              + + /** + *

                                                              A marker value, obtained in a previous call to DescribeTapes. This marker + * indicates which page of results to retrieve.

                                                              + * + *

                                                              If not specified, the first page of results is retrieved.

                                                              */ - TapeARNs?: string[]; + Marker?: string; } export namespace DescribeTapesInput { @@ -4009,29 +4181,19 @@ export namespace DescribeTapesInput { */ export interface Tape { /** - *

                                                              The barcode that identifies a specific virtual tape.

                                                              + *

                                                              The date the virtual tape was created.

                                                              */ - TapeBarcode?: string; + TapeCreatedDate?: Date; /** - *

                                                              The size, in bytes, of data stored on the virtual tape.

                                                              - * - * - *

                                                              This value is not available for tapes created prior to May 13, 2015.

                                                              - *
                                                              + *

                                                              The Amazon Resource Name (ARN) of the virtual tape.

                                                              */ - TapeUsedInBytes?: number; + TapeARN?: string; /** - *

                                                              The ID of the pool that contains tapes that will be archived. The tapes in this pool are - * archived in the S3 storage class that is associated with the pool. When you use your backup - * application to eject the tape, the tape is archived directly into the storage class (S3 - * Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

                                                              - * - *

                                                              Valid Values: GLACIER | DEEP_ARCHIVE - *

                                                              + *

                                                              The date that the tape enters a custom tape pool.

                                                              */ - PoolId?: string; + PoolEntryDate?: Date; /** *

                                                              For archiving virtual tapes, indicates how much data remains to be uploaded before @@ -4042,36 +4204,61 @@ export interface Tape { Progress?: number; /** - *

                                                              The virtual tape library (VTL) device that the virtual tape is associated with.

                                                              + *

                                                              If the tape is archived as write-once-read-many (WORM), this value is true.

                                                              */ - VTLDevice?: string; + Worm?: boolean; /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              + *

                                                              The date that the tape is first archived with tape retention lock enabled.

                                                              */ - KMSKey?: string; + RetentionStartDate?: Date; /** - *

                                                              The date the virtual tape was created.

                                                              + *

                                                              The ID of the pool that contains tapes that will be archived. The tapes in this pool are + * archived in the S3 storage class that is associated with the pool. When you use your backup + * application to eject the tape, the tape is archived directly into the storage class (S3 + * Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

                                                              + * + *

                                                              Valid Values: GLACIER | DEEP_ARCHIVE + *

                                                              */ - TapeCreatedDate?: Date; + PoolId?: string; /** *

                                                              The size, in bytes, of the virtual tape capacity.

                                                              */ TapeSizeInBytes?: number; + /** + *

                                                              The barcode that identifies a specific virtual tape.

                                                              + */ + TapeBarcode?: string; + /** *

                                                              The current state of the virtual tape.

                                                              */ TapeStatus?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the virtual tape.

                                                              + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              */ - TapeARN?: string; + KMSKey?: string; + + /** + *

                                                              The size, in bytes, of data stored on the virtual tape.

                                                              + * + * + *

                                                              This value is not available for tapes created prior to May 13, 2015.

                                                              + *
                                                              + */ + TapeUsedInBytes?: number; + + /** + *

                                                              The virtual tape library (VTL) device that the virtual tape is associated with.

                                                              + */ + VTLDevice?: string; } export namespace Tape { @@ -4084,11 +4271,6 @@ export namespace Tape { *

                                                              DescribeTapesOutput

                                                              */ export interface DescribeTapesOutput { - /** - *

                                                              An array of virtual tape descriptions.

                                                              - */ - Tapes?: Tape[]; - /** *

                                                              An opaque string which can be used as part of a subsequent DescribeTapes call to * retrieve the next page of results.

                                                              @@ -4097,6 +4279,11 @@ export interface DescribeTapesOutput { * retrieved.

                                                              */ Marker?: string; + + /** + *

                                                              An array of virtual tape descriptions.

                                                              + */ + Tapes?: Tape[]; } export namespace DescribeTapesOutput { @@ -4120,6 +4307,11 @@ export namespace DescribeUploadBufferInput { } export interface DescribeUploadBufferOutput { + /** + *

                                                              The total number of bytes being used in the gateway's upload buffer.

                                                              + */ + UploadBufferUsedInBytes?: number; + /** *

                                                              An array of the gateway's local disk IDs that are configured as working storage. * Each local disk ID is specified as a string (minimum length of 1 and maximum length of @@ -4128,11 +4320,6 @@ export interface DescribeUploadBufferOutput { */ DiskIds?: string[]; - /** - *

                                                              The total number of bytes being used in the gateway's upload buffer.

                                                              - */ - UploadBufferUsedInBytes?: number; - /** *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and AWS Region.

                                                              @@ -4156,16 +4343,10 @@ export namespace DescribeUploadBufferOutput { */ export interface DescribeVTLDevicesInput { /** - *

                                                              An opaque string that indicates the position at which to begin describing the VTL - * devices.

                                                              - */ - Marker?: string; - - /** - *

                                                              Specifies that the number of VTL devices described be limited to the specified - * number.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - Limit?: number; + GatewayARN: string | undefined; /** *

                                                              An array of strings, where each string represents the Amazon Resource Name (ARN) of a @@ -4179,10 +4360,16 @@ export interface DescribeVTLDevicesInput { VTLDeviceARNs?: string[]; /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              An opaque string that indicates the position at which to begin describing the VTL + * devices.

                                                              */ - GatewayARN: string | undefined; + Marker?: string; + + /** + *

                                                              Specifies that the number of VTL devices described be limited to the specified + * number.

                                                              + */ + Limit?: number; } export namespace DescribeVTLDevicesInput { @@ -4195,6 +4382,11 @@ export namespace DescribeVTLDevicesInput { *

                                                              Lists iSCSI information about a VTL device.

                                                              */ export interface DeviceiSCSIAttributes { + /** + *

                                                              The port used to communicate with iSCSI VTL device targets.

                                                              + */ + NetworkInterfacePort?: number; + /** *

                                                              Indicates whether mutual CHAP is enabled for the iSCSI target.

                                                              */ @@ -4210,11 +4402,6 @@ export interface DeviceiSCSIAttributes { *

                                                              The network interface identifier of the VTL device.

                                                              */ NetworkInterfaceId?: string; - - /** - *

                                                              The port used to communicate with iSCSI VTL device targets.

                                                              - */ - NetworkInterfacePort?: number; } export namespace DeviceiSCSIAttributes { @@ -4227,21 +4414,11 @@ export namespace DeviceiSCSIAttributes { *

                                                              Represents a device object associated with a tape gateway.

                                                              */ export interface VTLDevice { - /** - *

                                                              Specifies the model number of device that the VTL device emulates.

                                                              - */ - VTLDeviceProductIdentifier?: string; - /** *

                                                              Specifies the vendor of the device that the VTL device object emulates.

                                                              */ VTLDeviceVendor?: string; - /** - *

                                                              Specifies the type of device that the VTL device emulates.

                                                              - */ - VTLDeviceType?: string; - /** *

                                                              A list of iSCSI information about a VTL device.

                                                              */ @@ -4252,6 +4429,16 @@ export interface VTLDevice { * changer).

                                                              */ VTLDeviceARN?: string; + + /** + *

                                                              Specifies the type of device that the VTL device emulates.

                                                              + */ + VTLDeviceType?: string; + + /** + *

                                                              Specifies the model number of device that the VTL device emulates.

                                                              + */ + VTLDeviceProductIdentifier?: string; } export namespace VTLDevice { @@ -4264,12 +4451,6 @@ export namespace VTLDevice { *

                                                              DescribeVTLDevicesOutput

                                                              */ export interface DescribeVTLDevicesOutput { - /** - *

                                                              An array of VTL device objects composed of the Amazon Resource Name (ARN) of the VTL - * devices.

                                                              - */ - VTLDevices?: VTLDevice[]; - /** *

                                                              An opaque string that indicates the position at which the VTL devices that were fetched * for description ended. Use the marker in your next request to fetch the next set of VTL @@ -4283,6 +4464,12 @@ export interface DescribeVTLDevicesOutput { * operation to return a list of gateways for your account and AWS Region.

                                                              */ GatewayARN?: string; + + /** + *

                                                              An array of VTL device objects composed of the Amazon Resource Name (ARN) of the VTL + * devices.

                                                              + */ + VTLDevices?: VTLDevice[]; } export namespace DescribeVTLDevicesOutput { @@ -4313,10 +4500,10 @@ export namespace DescribeWorkingStorageInput { */ export interface DescribeWorkingStorageOutput { /** - *

                                                              The total working storage in bytes allocated for the gateway. If no working storage is - * configured for the gateway, this field returns 0.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - WorkingStorageAllocatedInBytes?: number; + GatewayARN?: string; /** *

                                                              An array of the gateway's local disk IDs that are configured as working storage. @@ -4327,16 +4514,16 @@ export interface DescribeWorkingStorageOutput { DiskIds?: string[]; /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              The total working storage in bytes in use by the gateway. If no working storage is + * configured for the gateway, this field returns 0.

                                                              */ - GatewayARN?: string; + WorkingStorageUsedInBytes?: number; /** - *

                                                              The total working storage in bytes in use by the gateway. If no working storage is + *

                                                              The total working storage in bytes allocated for the gateway. If no working storage is * configured for the gateway, this field returns 0.

                                                              */ - WorkingStorageUsedInBytes?: number; + WorkingStorageAllocatedInBytes?: number; } export namespace DescribeWorkingStorageOutput { @@ -4349,11 +4536,6 @@ export namespace DescribeWorkingStorageOutput { *

                                                              AttachVolumeInput

                                                              */ export interface DetachVolumeInput { - /** - *

                                                              The Amazon Resource Name (ARN) of the volume to detach from the gateway.

                                                              - */ - VolumeARN: string | undefined; - /** *

                                                              Set to true to forcibly remove the iSCSI connection of the target volume * and detach the volume. The default is false. If this value is set to @@ -4364,6 +4546,11 @@ export interface DetachVolumeInput { *

                                                              */ ForceDetach?: boolean; + + /** + *

                                                              The Amazon Resource Name (ARN) of the volume to detach from the gateway.

                                                              + */ + VolumeARN: string | undefined; } export namespace DetachVolumeInput { @@ -4426,19 +4613,11 @@ export namespace DisableGatewayOutput { */ export interface Disk { /** - *

                                                              The device node of a local disk as assigned by the virtualization environment.

                                                              - */ - DiskNode?: string; - - /** - *

                                                              The path of a local disk in the gateway virtual machine (VM).

                                                              - */ - DiskPath?: string; - - /** - *

                                                              A list of values that represents attributes of a local disk.

                                                              + *

                                                              The iSCSI qualified name (IQN) that is defined for a disk. This field is not included in + * the response if the local disk is not defined as an iSCSI target. The format of this field + * is targetIqn::LUNNumber::region-volumeId.

                                                              */ - DiskAttributeList?: string[]; + DiskAllocationResource?: string; /** *

                                                              One of the DiskAllocationType enumeration values that identifies how a @@ -4454,22 +4633,30 @@ export interface Disk { */ DiskId?: string; + /** + *

                                                              The local disk size in bytes.

                                                              + */ + DiskSizeInBytes?: number; + /** *

                                                              A value that represents the status of a local disk.

                                                              */ DiskStatus?: string; /** - *

                                                              The iSCSI qualified name (IQN) that is defined for a disk. This field is not included in - * the response if the local disk is not defined as an iSCSI target. The format of this field - * is targetIqn::LUNNumber::region-volumeId.

                                                              + *

                                                              The path of a local disk in the gateway virtual machine (VM).

                                                              */ - DiskAllocationResource?: string; + DiskPath?: string; /** - *

                                                              The local disk size in bytes.

                                                              + *

                                                              A list of values that represents attributes of a local disk.

                                                              */ - DiskSizeInBytes?: number; + DiskAttributeList?: string[]; + + /** + *

                                                              The device node of a local disk as assigned by the virtualization environment.

                                                              + */ + DiskNode?: string; } export namespace Disk { @@ -4484,11 +4671,6 @@ export type FileShareType = "NFS" | "SMB"; *

                                                              Describes a file share.

                                                              */ export interface FileShareInfo { - /** - *

                                                              The type of the file share.

                                                              - */ - FileShareType?: FileShareType | string; - /** *

                                                              The Amazon Resource Name (ARN) of the file share.

                                                              */ @@ -4503,6 +4685,11 @@ export interface FileShareInfo { */ FileShareStatus?: string; + /** + *

                                                              The ID of the file share.

                                                              + */ + FileShareId?: string; + /** *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and AWS Region.

                                                              @@ -4510,9 +4697,9 @@ export interface FileShareInfo { GatewayARN?: string; /** - *

                                                              The ID of the file share.

                                                              + *

                                                              The type of the file share.

                                                              */ - FileShareId?: string; + FileShareType?: FileShareType | string; } export namespace FileShareInfo { @@ -4526,45 +4713,45 @@ export namespace FileShareInfo { */ export interface GatewayInfo { /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              The type of the gateway.

                                                              */ - GatewayARN?: string; + GatewayType?: string; /** - *

                                                              The ID of the Amazon EC2 instance that was used to launch the gateway.

                                                              + *

                                                              The state of the gateway.

                                                              + * + *

                                                              Valid Values: DISABLED | ACTIVE + *

                                                              */ - Ec2InstanceId?: string; + GatewayOperationalState?: string; /** - *

                                                              The name of the gateway.

                                                              + *

                                                              The AWS Region where the Amazon EC2 instance is located.

                                                              */ - GatewayName?: string; + Ec2InstanceRegion?: string; /** - *

                                                              The unique identifier assigned to your gateway during activation. This ID becomes part - * of the gateway Amazon Resource Name (ARN), which you use as input for other - * operations.

                                                              + *

                                                              The ID of the Amazon EC2 instance that was used to launch the gateway.

                                                              */ - GatewayId?: string; + Ec2InstanceId?: string; /** - *

                                                              The AWS Region where the Amazon EC2 instance is located.

                                                              + *

                                                              The name of the gateway.

                                                              */ - Ec2InstanceRegion?: string; + GatewayName?: string; /** - *

                                                              The state of the gateway.

                                                              - * - *

                                                              Valid Values: DISABLED | ACTIVE - *

                                                              + *

                                                              The unique identifier assigned to your gateway during activation. This ID becomes part + * of the gateway Amazon Resource Name (ARN), which you use as input for other + * operations.

                                                              */ - GatewayOperationalState?: string; + GatewayId?: string; /** - *

                                                              The type of the gateway.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - GatewayType?: string; + GatewayARN?: string; } export namespace GatewayInfo { @@ -4577,14 +4764,6 @@ export namespace GatewayInfo { *

                                                              JoinDomainInput

                                                              */ export interface JoinDomainInput { - /** - *

                                                              Sets the user name of user who has permission to add the gateway to the Active Directory - * domain. The domain user account should be enabled to join computers to the domain. For - * example, you can use the domain administrator account or an account with delegated - * permissions to join computers to the domain.

                                                              - */ - UserName: string | undefined; - /** *

                                                              The name of the domain that you want the gateway to join.

                                                              */ @@ -4598,10 +4777,10 @@ export interface JoinDomainInput { DomainControllers?: string[]; /** - *

                                                              Sets the password of the user who has permission to add the gateway to the Active - * Directory domain.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - Password: string | undefined; + GatewayARN: string | undefined; /** *

                                                              The organizational unit (OU) is a container in an Active Directory that can hold users, @@ -4617,10 +4796,18 @@ export interface JoinDomainInput { TimeoutInSeconds?: number; /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              Sets the user name of user who has permission to add the gateway to the Active Directory + * domain. The domain user account should be enabled to join computers to the domain. For + * example, you can use the domain administrator account or an account with delegated + * permissions to join computers to the domain.

                                                              */ - GatewayARN: string | undefined; + UserName: string | undefined; + + /** + *

                                                              Sets the password of the user who has permission to add the gateway to the Active + * Directory domain.

                                                              + */ + Password: string | undefined; } export namespace JoinDomainInput { @@ -4634,11 +4821,6 @@ export namespace JoinDomainInput { *

                                                              JoinDomainOutput

                                                              */ export interface JoinDomainOutput { - /** - *

                                                              The unique Amazon Resource Name (ARN) of the gateway that joined the domain.

                                                              - */ - GatewayARN?: string; - /** *

                                                              Indicates the status of the gateway as a member of the Active Directory domain.

                                                              * @@ -4680,6 +4862,11 @@ export interface JoinDomainOutput { * */ ActiveDirectoryStatus?: ActiveDirectoryStatus | string; + + /** + *

                                                              The unique Amazon Resource Name (ARN) of the gateway that joined the domain.

                                                              + */ + GatewayARN?: string; } export namespace JoinDomainOutput { @@ -4721,6 +4908,13 @@ export namespace ListAutomaticTapeCreationPoliciesOutput { *

                                                              ListFileShareInput

                                                              */ export interface ListFileSharesInput { + /** + *

                                                              Opaque pagination token returned from a previous ListFileShares operation. If present, + * Marker specifies where to continue the list from after a previous call to + * ListFileShares. Optional.

                                                              + */ + Marker?: string; + /** *

                                                              The Amazon Resource Name (ARN) of the gateway whose file shares you want to list. If * this field is not present, all file shares under your account are listed.

                                                              @@ -4732,13 +4926,6 @@ export interface ListFileSharesInput { * integer with a value greater than zero. Optional.

                                                              */ Limit?: number; - - /** - *

                                                              Opaque pagination token returned from a previous ListFileShares operation. If present, - * Marker specifies where to continue the list from after a previous call to - * ListFileShares. Optional.

                                                              - */ - Marker?: string; } export namespace ListFileSharesInput { @@ -4752,15 +4939,15 @@ export namespace ListFileSharesInput { */ export interface ListFileSharesOutput { /** - *

                                                              If the request includes Marker, the response returns that value in this - * field.

                                                              + *

                                                              An array of information about the file gateway's file shares.

                                                              */ - Marker?: string; + FileShareInfoList?: FileShareInfo[]; /** - *

                                                              An array of information about the file gateway's file shares.

                                                              + *

                                                              If the request includes Marker, the response returns that value in this + * field.

                                                              */ - FileShareInfoList?: FileShareInfo[]; + Marker?: string; /** *

                                                              If a value is present, there are more file shares to return. In a subsequent request, @@ -4879,12 +5066,6 @@ export namespace ListLocalDisksOutput { *

                                                              ListTagsForResourceInput

                                                              */ export interface ListTagsForResourceInput { - /** - *

                                                              An opaque string that indicates the position at which to begin returning the list of - * tags.

                                                              - */ - Marker?: string; - /** *

                                                              Specifies that the list of tags returned be limited to the specified number of * items.

                                                              @@ -4895,6 +5076,12 @@ export interface ListTagsForResourceInput { *

                                                              The Amazon Resource Name (ARN) of the resource for which you want to list tags.

                                                              */ ResourceARN: string | undefined; + + /** + *

                                                              An opaque string that indicates the position at which to begin returning the list of + * tags.

                                                              + */ + Marker?: string; } export namespace ListTagsForResourceInput { @@ -4908,7 +5095,13 @@ export namespace ListTagsForResourceInput { */ export interface ListTagsForResourceOutput { /** - *

                                                              he Amazon Resource Name (ARN) of the resource for which you want to list tags.

                                                              + *

                                                              An opaque string that indicates the position at which to stop returning the list of + * tags.

                                                              + */ + Marker?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the resource for which you want to list tags.

                                                              */ ResourceARN?: string; @@ -4916,16 +5109,107 @@ export interface ListTagsForResourceOutput { *

                                                              An array that contains the tags for the specified resource.

                                                              */ Tags?: Tag[]; +} + +export namespace ListTagsForResourceOutput { + export const filterSensitiveLog = (obj: ListTagsForResourceOutput): any => ({ + ...obj, + }); +} +export interface ListTapePoolsInput { /** - *

                                                              An opaque string that indicates the position at which to stop returning the list of - * tags.

                                                              + *

                                                              An optional number limit for the tape pools in the list returned by this call.

                                                              + */ + Limit?: number; + + /** + *

                                                              A string that indicates the position at which to begin the returned list of tape pools.

                                                              */ Marker?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of each of the custom tape pools you want to list. + * If you don't specify a custom tape pool ARN, the response lists all custom tape pools. + *

                                                              + */ + PoolARNs?: string[]; } -export namespace ListTagsForResourceOutput { - export const filterSensitiveLog = (obj: ListTagsForResourceOutput): any => ({ +export namespace ListTapePoolsInput { + export const filterSensitiveLog = (obj: ListTapePoolsInput): any => ({ + ...obj, + }); +} + +export type PoolStatus = "ACTIVE" | "DELETED"; + +/** + *

                                                              Describes a custom tape pool.

                                                              + */ +export interface PoolInfo { + /** + *

                                                              The storage class that is associated with the custom pool. When you use your backup + * application to eject the tape, the tape is archived directly into the storage class + * (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

                                                              + */ + StorageClass?: TapeStorageClass | string; + + /** + *

                                                              Tape retention lock type, which can be configured in two modes. When configured in + * governance mode, AWS accounts with specific IAM permissions are authorized to remove the + * tape retention lock from archived virtual tapes. When configured in compliance mode, the + * tape retention lock cannot be removed by any user, including the root AWS account.

                                                              + */ + RetentionLockType?: RetentionLockType | string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the custom tape pool. Use the ListTapePools + * operation to return a list of custom tape pools for your account and AWS Region.

                                                              + */ + PoolARN?: string; + + /** + *

                                                              The name of the custom tape pool. PoolName can use all ASCII characters, + * except '/' and '\'.

                                                              + */ + PoolName?: string; + + /** + *

                                                              Tape retention lock time is set in days. Tape retention lock can be enabled for up + * to 100 years (36,500 days).

                                                              + */ + RetentionLockTimeInDays?: number; + + /** + *

                                                              Status of the custom tape pool. Pool can be ACTIVE or DELETED.

                                                              + */ + PoolStatus?: PoolStatus | string; +} + +export namespace PoolInfo { + export const filterSensitiveLog = (obj: PoolInfo): any => ({ + ...obj, + }); +} + +export interface ListTapePoolsOutput { + /** + *

                                                              An array of PoolInfo objects, where each object describes a single custom + * tape pool. If there are no custom tape pools, the PoolInfos is an empty array.

                                                              + */ + PoolInfos?: PoolInfo[]; + + /** + *

                                                              A string that indicates the position at which to begin the returned list of tape pools. + * Use the marker in your next request to continue pagination of tape pools. If there are no + * more tape pools to list, this element does not appear in the response body.

                                                              + */ + Marker?: string; +} + +export namespace ListTapePoolsOutput { + export const filterSensitiveLog = (obj: ListTapePoolsOutput): any => ({ ...obj, }); } @@ -4952,6 +5236,12 @@ export namespace ListTagsForResourceOutput { * */ export interface ListTapesInput { + /** + *

                                                              A string that indicates the position at which to begin the returned list of + * tapes.

                                                              + */ + Marker?: string; + /** *

                                                              The Amazon Resource Name (ARN) of each of the tapes you want to list. If you don't * specify a tape ARN, the response lists all tapes in both your VTL and VTS.

                                                              @@ -4962,12 +5252,6 @@ export interface ListTapesInput { *

                                                              An optional number limit for the tapes in the list returned by this call.

                                                              */ Limit?: number; - - /** - *

                                                              A string that indicates the position at which to begin the returned list of - * tapes.

                                                              - */ - Marker?: string; } export namespace ListTapesInput { @@ -4981,14 +5265,25 @@ export namespace ListTapesInput { */ export interface TapeInfo { /** - *

                                                              The Amazon Resource Name (ARN) of a virtual tape.

                                                              + *

                                                              The ID of the pool that you want to add your tape to for archiving. The tape in this + * pool is archived in the S3 storage class that is associated with the pool. When you use + * your backup application to eject the tape, the tape is archived directly into the storage + * class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

                                                              + * + *

                                                              Valid Values: GLACIER | DEEP_ARCHIVE + *

                                                              */ - TapeARN?: string; + PoolId?: string; /** - *

                                                              The status of the tape.

                                                              + *

                                                              The date that the tape became subject to tape retention lock.

                                                              */ - TapeStatus?: string; + RetentionStartDate?: Date; + + /** + *

                                                              The date that the tape entered the custom tape pool with tape retention lock enabled.

                                                              + */ + PoolEntryDate?: Date; /** *

                                                              The barcode that identifies a specific virtual tape.

                                                              @@ -5002,20 +5297,19 @@ export interface TapeInfo { GatewayARN?: string; /** - *

                                                              The size, in bytes, of a virtual tape.

                                                              + *

                                                              The status of the tape.

                                                              */ - TapeSizeInBytes?: number; + TapeStatus?: string; /** - *

                                                              The ID of the pool that you want to add your tape to for archiving. The tape in this - * pool is archived in the S3 storage class that is associated with the pool. When you use - * your backup application to eject the tape, the tape is archived directly into the storage - * class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

                                                              - * - *

                                                              Valid Values: GLACIER | DEEP_ARCHIVE - *

                                                              + *

                                                              The Amazon Resource Name (ARN) of a virtual tape.

                                                              */ - PoolId?: string; + TapeARN?: string; + + /** + *

                                                              The size, in bytes, of a virtual tape.

                                                              + */ + TapeSizeInBytes?: number; } export namespace TapeInfo { @@ -5041,19 +5335,19 @@ export namespace TapeInfo { * */ export interface ListTapesOutput { - /** - *

                                                              An array of TapeInfo objects, where each object describes a single - * tape. If there are no tapes in the tape library or VTS, then the TapeInfos is - * an empty array.

                                                              - */ - TapeInfos?: TapeInfo[]; - /** *

                                                              A string that indicates the position at which to begin returning the next list of tapes. * Use the marker in your next request to continue pagination of tapes. If there are no more * tapes to list, this element does not appear in the response body.

                                                              */ Marker?: string; + + /** + *

                                                              An array of TapeInfo objects, where each object describes a single + * tape. If there are no tapes in the tape library or VTS, then the TapeInfos is + * an empty array.

                                                              + */ + TapeInfos?: TapeInfo[]; } export namespace ListTapesOutput { @@ -5115,29 +5409,29 @@ export namespace ListVolumeRecoveryPointsInput { */ export interface VolumeRecoveryPointInfo { /** - *

                                                              The size of the volume in bytes.

                                                              + *

                                                              The size of the data stored on the volume in bytes.

                                                              + * + * + *

                                                              This value is not available for volumes created prior to May 13, 2015, until you + * store data on the volume.

                                                              + *
                                                              */ - VolumeSizeInBytes?: number; + VolumeUsageInBytes?: number; /** - *

                                                              The Amazon Resource Name (ARN) of the volume target.

                                                              + *

                                                              The time the recovery point was taken.

                                                              */ - VolumeARN?: string; + VolumeRecoveryPointTime?: string; /** - *

                                                              The time the recovery point was taken.

                                                              + *

                                                              The size of the volume in bytes.

                                                              */ - VolumeRecoveryPointTime?: string; + VolumeSizeInBytes?: number; /** - *

                                                              The size of the data stored on the volume in bytes.

                                                              - * - * - *

                                                              This value is not available for volumes created prior to May 13, 2015, until you - * store data on the volume.

                                                              - *
                                                              + *

                                                              The Amazon Resource Name (ARN) of the volume target.

                                                              */ - VolumeUsageInBytes?: number; + VolumeARN?: string; } export namespace VolumeRecoveryPointInfo { @@ -5148,15 +5442,15 @@ export namespace VolumeRecoveryPointInfo { export interface ListVolumeRecoveryPointsOutput { /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              An array of VolumeRecoveryPointInfo objects.

                                                              */ - GatewayARN?: string; + VolumeRecoveryPointInfos?: VolumeRecoveryPointInfo[]; /** - *

                                                              An array of VolumeRecoveryPointInfo objects.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - VolumeRecoveryPointInfos?: VolumeRecoveryPointInfo[]; + GatewayARN?: string; } export namespace ListVolumeRecoveryPointsOutput { @@ -5212,18 +5506,21 @@ export namespace ListVolumesInput { */ export interface VolumeInfo { /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              + *

                                                              One of the VolumeStatus values that indicates the state of the storage volume.

                                                              */ - GatewayARN?: string; + VolumeAttachmentStatus?: string; /** - *

                                                              The unique identifier assigned to the volume. This ID becomes part of the volume Amazon - * Resource Name (ARN), which you use as input for other operations.

                                                              + *

                                                              The Amazon Resource Name (ARN) for the storage volume. For example, the following is a + * valid ARN:

                                                              + * + *

                                                              + * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB + *

                                                              * *

                                                              Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

                                                              */ - VolumeId?: string; + VolumeARN?: string; /** *

                                                              One of the VolumeType enumeration values describing the type of the volume.

                                                              @@ -5231,37 +5528,34 @@ export interface VolumeInfo { VolumeType?: string; /** - *

                                                              The unique identifier assigned to your gateway during activation. This ID becomes part - * of the gateway Amazon Resource Name (ARN), which you use as input for other - * operations.

                                                              + *

                                                              The size of the volume in bytes.

                                                              * *

                                                              Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

                                                              */ - GatewayId?: string; + VolumeSizeInBytes?: number; /** - *

                                                              The size of the volume in bytes.

                                                              - * - *

                                                              Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

                                                              + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              */ - VolumeSizeInBytes?: number; + GatewayARN?: string; /** - *

                                                              The Amazon Resource Name (ARN) for the storage volume. For example, the following is a - * valid ARN:

                                                              - * - *

                                                              - * arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB - *

                                                              + *

                                                              The unique identifier assigned to the volume. This ID becomes part of the volume Amazon + * Resource Name (ARN), which you use as input for other operations.

                                                              * *

                                                              Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

                                                              */ - VolumeARN?: string; + VolumeId?: string; /** - *

                                                              One of the VolumeStatus values that indicates the state of the storage volume.

                                                              + *

                                                              The unique identifier assigned to your gateway during activation. This ID becomes part + * of the gateway Amazon Resource Name (ARN), which you use as input for other + * operations.

                                                              + * + *

                                                              Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

                                                              */ - VolumeAttachmentStatus?: string; + GatewayId?: string; } export namespace VolumeInfo { @@ -5287,6 +5581,12 @@ export namespace VolumeInfo { * */ export interface ListVolumesOutput { + /** + *

                                                              Use the marker in your next request to continue pagination of iSCSI volumes. If there + * are no more volumes to list, this field does not appear in the response body.

                                                              + */ + Marker?: string; + /** *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and AWS Region.

                                                              @@ -5299,12 +5599,6 @@ export interface ListVolumesOutput { * empty array "[]".

                                                              */ VolumeInfos?: VolumeInfo[]; - - /** - *

                                                              Use the marker in your next request to continue pagination of iSCSI volumes. If there - * are no more volumes to list, this field does not appear in the response body.

                                                              - */ - Marker?: string; } export namespace ListVolumesOutput { @@ -5327,16 +5621,16 @@ export namespace NotifyWhenUploadedInput { } export interface NotifyWhenUploadedOutput { - /** - *

                                                              The Amazon Resource Name (ARN) of the file share.

                                                              - */ - FileShareARN?: string; - /** *

                                                              The randomly generated ID of the notification that was sent. This ID is in UUID * format.

                                                              */ NotificationId?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the file share.

                                                              + */ + FileShareARN?: string; } export namespace NotifyWhenUploadedOutput { @@ -5349,11 +5643,6 @@ export namespace NotifyWhenUploadedOutput { *

                                                              RefreshCacheInput

                                                              */ export interface RefreshCacheInput { - /** - *

                                                              The Amazon Resource Name (ARN) of the file share you want to refresh.

                                                              - */ - FileShareARN: string | undefined; - /** *

                                                              A comma-separated list of the paths of folders to refresh in the cache. The default is * ["/"]. The default refreshes objects and folders at the root of the Amazon @@ -5375,6 +5664,11 @@ export interface RefreshCacheInput { *

                                                              */ Recursive?: boolean; + + /** + *

                                                              The Amazon Resource Name (ARN) of the file share you want to refresh.

                                                              + */ + FileShareARN: string | undefined; } export namespace RefreshCacheInput { @@ -5409,16 +5703,16 @@ export namespace RefreshCacheOutput { *

                                                              RemoveTagsFromResourceInput

                                                              */ export interface RemoveTagsFromResourceInput { - /** - *

                                                              The Amazon Resource Name (ARN) of the resource you want to remove the tags from.

                                                              - */ - ResourceARN: string | undefined; - /** *

                                                              The keys of the tags you want to remove from the specified resource. A tag is composed * of a key-value pair.

                                                              */ TagKeys: string[] | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) of the resource you want to remove the tags from.

                                                              + */ + ResourceARN: string | undefined; } export namespace RemoveTagsFromResourceInput { @@ -5518,17 +5812,17 @@ export namespace RetrieveTapeArchiveOutput { *

                                                              RetrieveTapeRecoveryPointInput

                                                              */ export interface RetrieveTapeRecoveryPointInput { - /** - *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways - * operation to return a list of gateways for your account and AWS Region.

                                                              - */ - GatewayARN: string | undefined; - /** *

                                                              The Amazon Resource Name (ARN) of the virtual tape for which you want to retrieve the * recovery point.

                                                              */ TapeARN: string | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways + * operation to return a list of gateways for your account and AWS Region.

                                                              + */ + GatewayARN: string | undefined; } export namespace RetrieveTapeRecoveryPointInput { @@ -5596,15 +5890,15 @@ export namespace SetLocalConsolePasswordOutput { */ export interface SetSMBGuestPasswordInput { /** - *

                                                              The Amazon Resource Name (ARN) of the file gateway the SMB file share is associated - * with.

                                                              + *

                                                              The password that you want to set for your SMB server.

                                                              */ - GatewayARN: string | undefined; + Password: string | undefined; /** - *

                                                              The password that you want to set for your SMB server.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the file gateway the SMB file share is associated + * with.

                                                              */ - Password: string | undefined; + GatewayARN: string | undefined; } export namespace SetSMBGuestPasswordInput { @@ -5778,6 +6072,11 @@ export namespace UpdateAutomaticTapeCreationPolicyOutput { * */ export interface UpdateBandwidthRateLimitInput { + /** + *

                                                              The average download bandwidth rate limit in bits per second.

                                                              + */ + AverageDownloadRateLimitInBitsPerSec?: number; + /** *

                                                              The average upload bandwidth rate limit in bits per second.

                                                              */ @@ -5788,11 +6087,6 @@ export interface UpdateBandwidthRateLimitInput { * operation to return a list of gateways for your account and AWS Region.

                                                              */ GatewayARN: string | undefined; - - /** - *

                                                              The average download bandwidth rate limit in bits per second.

                                                              - */ - AverageDownloadRateLimitInBitsPerSec?: number; } export namespace UpdateBandwidthRateLimitInput { @@ -5848,14 +6142,15 @@ export namespace UpdateBandwidthRateLimitOutput { */ export interface UpdateChapCredentialsInput { /** - *

                                                              The secret key that the initiator (for example, the Windows client) must provide to - * participate in mutual CHAP with the target.

                                                              - * - * - *

                                                              The secret key must be between 12 and 16 bytes when encoded in UTF-8.

                                                              - *
                                                              + *

                                                              The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return the TargetARN for specified + * VolumeARN.

                                                              */ - SecretToAuthenticateInitiator: string | undefined; + TargetARN: string | undefined; + + /** + *

                                                              The iSCSI initiator that connects to the target.

                                                              + */ + InitiatorName: string | undefined; /** *

                                                              The secret key that the target must provide to participate in mutual CHAP with the @@ -5870,22 +6165,21 @@ export interface UpdateChapCredentialsInput { SecretToAuthenticateTarget?: string; /** - *

                                                              The iSCSI initiator that connects to the target.

                                                              - */ - InitiatorName: string | undefined; - - /** - *

                                                              The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return the TargetARN for specified - * VolumeARN.

                                                              + *

                                                              The secret key that the initiator (for example, the Windows client) must provide to + * participate in mutual CHAP with the target.

                                                              + * + * + *

                                                              The secret key must be between 12 and 16 bytes when encoded in UTF-8.

                                                              + *
                                                              */ - TargetARN: string | undefined; + SecretToAuthenticateInitiator: string | undefined; } export namespace UpdateChapCredentialsInput { export const filterSensitiveLog = (obj: UpdateChapCredentialsInput): any => ({ ...obj, - ...(obj.SecretToAuthenticateInitiator && { SecretToAuthenticateInitiator: SENSITIVE_STRING }), ...(obj.SecretToAuthenticateTarget && { SecretToAuthenticateTarget: SENSITIVE_STRING }), + ...(obj.SecretToAuthenticateInitiator && { SecretToAuthenticateInitiator: SENSITIVE_STRING }), }); } @@ -5913,6 +6207,11 @@ export namespace UpdateChapCredentialsOutput { } export interface UpdateGatewayInformationInput { + /** + *

                                                              A value that indicates the time zone of the gateway.

                                                              + */ + GatewayTimezone?: string; + /** *

                                                              The name you configured for your gateway.

                                                              */ @@ -5923,7 +6222,8 @@ export interface UpdateGatewayInformationInput { * to monitor and log events in the gateway.

                                                              * *

                                                              For more information, see What is Amazon CloudWatch - * logs?.

                                                              + * Logs? + *

                                                              */ CloudWatchLogGroupARN?: string; @@ -5932,11 +6232,6 @@ export interface UpdateGatewayInformationInput { * operation to return a list of gateways for your account and AWS Region.

                                                              */ GatewayARN: string | undefined; - - /** - *

                                                              A value that indicates the time zone of the gateway.

                                                              - */ - GatewayTimezone?: string; } export namespace UpdateGatewayInformationInput { @@ -5950,16 +6245,16 @@ export namespace UpdateGatewayInformationInput { * updated.

                                                              */ export interface UpdateGatewayInformationOutput { - /** - *

                                                              The name you configured for your gateway.

                                                              - */ - GatewayName?: string; - /** *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and AWS Region.

                                                              */ GatewayARN?: string; + + /** + *

                                                              The name you configured for your gateway.

                                                              + */ + GatewayName?: string; } export namespace UpdateGatewayInformationOutput { @@ -6030,6 +6325,13 @@ export namespace UpdateGatewaySoftwareNowOutput { * */ export interface UpdateMaintenanceStartTimeInput { + /** + *

                                                              The day of the month component of the maintenance start time represented as an ordinal + * number from 1 to 28, where 1 represents the first day of the month and 28 represents the + * last day of the month.

                                                              + */ + DayOfMonth?: number; + /** *

                                                              The minute component of the maintenance start time represented as * mm, where mm is the minute (00 to 59). The @@ -6037,6 +6339,12 @@ export interface UpdateMaintenanceStartTimeInput { */ MinuteOfHour: number | undefined; + /** + *

                                                              The day of the week component of the maintenance start time week represented as an + * ordinal number from 0 to 6, where 0 represents Sunday and 6 Saturday.

                                                              + */ + DayOfWeek?: number; + /** *

                                                              The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and AWS Region.

                                                              @@ -6049,19 +6357,6 @@ export interface UpdateMaintenanceStartTimeInput { * zone of the gateway.

                                                              */ HourOfDay: number | undefined; - - /** - *

                                                              The day of the week component of the maintenance start time week represented as an - * ordinal number from 0 to 6, where 0 represents Sunday and 6 Saturday.

                                                              - */ - DayOfWeek?: number; - - /** - *

                                                              The day of the month component of the maintenance start time represented as an ordinal - * number from 1 to 28, where 1 represents the first day of the month and 28 represents the - * last day of the month.

                                                              - */ - DayOfMonth?: number; } export namespace UpdateMaintenanceStartTimeInput { @@ -6093,42 +6388,27 @@ export namespace UpdateMaintenanceStartTimeOutput { */ export interface UpdateNFSFileShareInput { /** - *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket - * that a file gateway puts objects into. The default value is private.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the file share to be updated.

                                                              */ - ObjectACL?: ObjectACL | string; + FileShareARN: string | undefined; /** - *

                                                              The name of the file share. Optional.

                                                              + *

                                                              A value that sets who pays the cost of the request and the cost associated with data + * download from the S3 bucket. If this value is set to true, the requester pays + * the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket owner always pays + * the cost of storing data.

                                                              * * *

                                                              - * FileShareName must be set if an S3 prefix name is set in - * LocationARN.

                                                              + * RequesterPays is a configuration for the S3 bucket that backs the file + * share, so make sure that the configuration on the file share is the same as the S3 + * bucket configuration.

                                                              *
                                                              - */ - FileShareName?: string; - - /** - *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file - * extensions. Set this value to true to enable MIME type guessing, otherwise set - * to false. The default value is true.

                                                              * *

                                                              Valid Values: true | false *

                                                              */ - GuessMIMETypeEnabled?: boolean; - - /** - *

                                                              The list of clients that are allowed to access the file gateway. The list must contain - * either valid IP addresses or valid CIDR blocks.

                                                              - */ - ClientList?: string[]; - - /** - *

                                                              The default values for the file share. Optional.

                                                              - */ - NFSFileShareDefaults?: NFSFileShareDefaults; + RequesterPays?: boolean; /** *

                                                              A value that sets the write status of a file share. Set this value to true @@ -6140,27 +6420,32 @@ export interface UpdateNFSFileShareInput { ReadOnly?: boolean; /** - *

                                                              A value that sets who pays the cost of the request and the cost associated with data - * download from the S3 bucket. If this value is set to true, the requester pays - * the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket owner always pays - * the cost of storing data.

                                                              - * - * - *

                                                              - * RequesterPays is a configuration for the S3 bucket that backs the file - * share, so make sure that the configuration on the file share is the same as the S3 - * bucket configuration.

                                                              - *
                                                              - * - *

                                                              Valid Values: true | false - *

                                                              + *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket + * that a file gateway puts objects into. The default value is private.

                                                              */ - RequesterPays?: boolean; + ObjectACL?: ObjectACL | string; /** - *

                                                              Refresh cache information.

                                                              + *

                                                              The user mapped to anonymous user.

                                                              + * + *

                                                              Valid values are the following:

                                                              + * + *
                                                                + *
                                                              • + *

                                                                + * RootSquash: Only root is mapped to anonymous user.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * NoSquash: No one is mapped to anonymous user.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * AllSquash: Everyone is mapped to anonymous user.

                                                                + *
                                                              • + *
                                                              */ - CacheAttributes?: CacheAttributes; + Squash?: string; /** *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon @@ -6170,9 +6455,10 @@ export interface UpdateNFSFileShareInput { KMSKey?: string; /** - *

                                                              The Amazon Resource Name (ARN) of the file share to be updated.

                                                              + *

                                                              The list of clients that are allowed to access the file gateway. The list must contain + * either valid IP addresses or valid CIDR blocks.

                                                              */ - FileShareARN: string | undefined; + ClientList?: string[]; /** *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS @@ -6184,26 +6470,20 @@ export interface UpdateNFSFileShareInput { KMSEncrypted?: boolean; /** - *

                                                              The user mapped to anonymous user.

                                                              - * - *

                                                              Valid values are the following:

                                                              + *

                                                              The default values for the file share. Optional.

                                                              + */ + NFSFileShareDefaults?: NFSFileShareDefaults; + + /** + *

                                                              The name of the file share. Optional.

                                                              * - *
                                                                - *
                                                              • - *

                                                                - * RootSquash: Only root is mapped to anonymous user.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * NoSquash: No one is mapped to anonymous user.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * AllSquash: Everyone is mapped to anonymous user.

                                                                - *
                                                              • - *
                                                              + * + *

                                                              + * FileShareName must be set if an S3 prefix name is set in + * LocationARN.

                                                              + *
                                                              */ - Squash?: string; + FileShareName?: string; /** *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. @@ -6214,6 +6494,21 @@ export interface UpdateNFSFileShareInput { *

                                                              */ DefaultStorageClass?: string; + + /** + *

                                                              Refresh cache information.

                                                              + */ + CacheAttributes?: CacheAttributes; + + /** + *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file + * extensions. Set this value to true to enable MIME type guessing, otherwise set + * to false. The default value is true.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              + */ + GuessMIMETypeEnabled?: boolean; } export namespace UpdateNFSFileShareInput { @@ -6243,62 +6538,80 @@ export namespace UpdateNFSFileShareOutput { */ export interface UpdateSMBFileShareInput { /** - *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. - * The default value is S3_INTELLIGENT_TIERING. Optional.

                                                              + *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file + * extensions. Set this value to true to enable MIME type guessing, otherwise set + * to false. The default value is true.

                                                              * - *

                                                              Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | - * S3_STANDARD_IA | S3_ONEZONE_IA + *

                                                              Valid Values: true | false *

                                                              */ - DefaultStorageClass?: string; + GuessMIMETypeEnabled?: boolean; /** - *

                                                              A list of users or groups in the Active Directory that are allowed to access the file - * share. A group must be prefixed with the @ character. Acceptable formats include: - * DOMAIN\User1, user1, @group1, and - * @DOMAIN\group1. Can only be set if Authentication is set to - * ActiveDirectory.

                                                              + *

                                                              A value that sets the write status of a file share. Set this value to true + * to set write status to read-only, otherwise set to false.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              */ - ValidUserList?: string[]; + ReadOnly?: boolean; /** - *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS - * key, or false to use a key managed by Amazon S3. Optional.

                                                              + *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket + * that a file gateway puts objects into. The default value is private.

                                                              + */ + ObjectACL?: ObjectACL | string; + + /** + *

                                                              The name of the file share. Optional.

                                                              * - *

                                                              Valid Values: true | false - *

                                                              + * + *

                                                              + * FileShareName must be set if an S3 prefix name is set in + * LocationARN.

                                                              + *
                                                              */ - KMSEncrypted?: boolean; + FileShareName?: string; /** - *

                                                              A list of users or groups in the Active Directory that are not allowed to access the - * file share. A group must be prefixed with the @ character. Acceptable formats include: - * DOMAIN\User1, user1, @group1, and - * @DOMAIN\group1. Can only be set if Authentication is set to - * ActiveDirectory.

                                                              + *

                                                              The case of an object name in an Amazon S3 bucket. For ClientSpecified, the + * client determines the case sensitivity. For CaseSensitive, the gateway + * determines the case sensitivity. The default value is ClientSpecified.

                                                              */ - InvalidUserList?: string[]; + CaseSensitivity?: CaseSensitivity | string; /** - *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can - * only be set when KMSEncrypted is true. Optional.

                                                              + *

                                                              The default storage class for objects put into an Amazon S3 bucket by the file gateway. + * The default value is S3_INTELLIGENT_TIERING. Optional.

                                                              + * + *

                                                              Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | + * S3_STANDARD_IA | S3_ONEZONE_IA + *

                                                              */ - KMSKey?: string; + DefaultStorageClass?: string; /** - *

                                                              A value that sets the write status of a file share. Set this value to true - * to set write status to read-only, otherwise set to false.

                                                              + *

                                                              Set this value to true to enable access control list (ACL) on the SMB file + * share. Set it to false to map file and directory permissions to the POSIX + * permissions.

                                                              + * + * + * + *

                                                              For more information, see Using Microsoft Windows ACLs to + * control access to an SMB file share in the AWS Storage Gateway User + * Guide.

                                                              * *

                                                              Valid Values: true | false *

                                                              */ - ReadOnly?: boolean; + SMBACLEnabled?: boolean; /** - *

                                                              Refresh cache information.

                                                              + *

                                                              The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon + * S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can + * only be set when KMSEncrypted is true. Optional.

                                                              */ - CacheAttributes?: CacheAttributes; + KMSKey?: string; /** *

                                                              The Amazon Resource Name (ARN) of the storage used for the audit logs.

                                                              @@ -6306,16 +6619,22 @@ export interface UpdateSMBFileShareInput { AuditDestinationARN?: string; /** - *

                                                              The case of an object name in an Amazon S3 bucket. For ClientSpecified, the - * client determines the case sensitivity. For CaseSensitive, the gateway - * determines the case sensitivity. The default value is ClientSpecified.

                                                              + *

                                                              Set to true to use Amazon S3 server-side encryption with your own AWS KMS + * key, or false to use a key managed by Amazon S3. Optional.

                                                              + * + *

                                                              Valid Values: true | false + *

                                                              */ - CaseSensitivity?: CaseSensitivity | string; + KMSEncrypted?: boolean; /** - *

                                                              The Amazon Resource Name (ARN) of the SMB file share that you want to update.

                                                              + *

                                                              A list of users or groups in the Active Directory that are allowed to access the file + * share. A group must be prefixed with the @ character. Acceptable formats include: + * DOMAIN\User1, user1, @group1, and + * @DOMAIN\group1. Can only be set if Authentication is set to + * ActiveDirectory.

                                                              */ - FileShareARN: string | undefined; + ValidUserList?: string[]; /** *

                                                              A value that sets who pays the cost of the request and the cost associated with data @@ -6336,56 +6655,32 @@ export interface UpdateSMBFileShareInput { RequesterPays?: boolean; /** - *

                                                              A list of users or groups in the Active Directory that have administrator rights to the + *

                                                              The Amazon Resource Name (ARN) of the SMB file share that you want to update.

                                                              + */ + FileShareARN: string | undefined; + + /** + *

                                                              A list of users or groups in the Active Directory that are not allowed to access the * file share. A group must be prefixed with the @ character. Acceptable formats include: * DOMAIN\User1, user1, @group1, and * @DOMAIN\group1. Can only be set if Authentication is set to * ActiveDirectory.

                                                              */ - AdminUserList?: string[]; - - /** - *

                                                              Set this value to true to enable access control list (ACL) on the SMB file - * share. Set it to false to map file and directory permissions to the POSIX - * permissions.

                                                              - * - * - * - *

                                                              For more information, see Using Microsoft Windows ACLs to - * control access to an SMB file share in the AWS Storage Gateway User - * Guide.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              - */ - SMBACLEnabled?: boolean; - - /** - *

                                                              A value that enables guessing of the MIME type for uploaded objects based on file - * extensions. Set this value to true to enable MIME type guessing, otherwise set - * to false. The default value is true.

                                                              - * - *

                                                              Valid Values: true | false - *

                                                              - */ - GuessMIMETypeEnabled?: boolean; + InvalidUserList?: string[]; /** - *

                                                              A value that sets the access control list (ACL) permission for objects in the S3 bucket - * that a file gateway puts objects into. The default value is private.

                                                              + *

                                                              A list of users or groups in the Active Directory that have administrator rights to the + * file share. A group must be prefixed with the @ character. Acceptable formats include: + * DOMAIN\User1, user1, @group1, and + * @DOMAIN\group1. Can only be set if Authentication is set to + * ActiveDirectory.

                                                              */ - ObjectACL?: ObjectACL | string; + AdminUserList?: string[]; /** - *

                                                              The name of the file share. Optional.

                                                              - * - * - *

                                                              - * FileShareName must be set if an S3 prefix name is set in - * LocationARN.

                                                              - *
                                                              + *

                                                              Refresh cache information.

                                                              */ - FileShareName?: string; + CacheAttributes?: CacheAttributes; } export namespace UpdateSMBFileShareInput { @@ -6484,22 +6779,9 @@ export namespace UpdateSMBSecurityStrategyOutput { */ export interface UpdateSnapshotScheduleInput { /** - *

                                                              Frequency of snapshots. Specify the number of hours between snapshots.

                                                              - */ - RecurrenceInHours: number | undefined; - - /** - *

                                                              The Amazon Resource Name (ARN) of the volume. Use the ListVolumes - * operation to return a list of gateway volumes.

                                                              - */ - VolumeARN: string | undefined; - - /** - *

                                                              The hour of the day at which the snapshot schedule begins represented as - * hh, where hh is the hour (0 to 23). The hour - * of the day is in the time zone of the gateway.

                                                              + *

                                                              Optional description of the snapshot that overwrites the existing description.

                                                              */ - StartAt: number | undefined; + Description?: string; /** *

                                                              A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value @@ -6515,9 +6797,22 @@ export interface UpdateSnapshotScheduleInput { Tags?: Tag[]; /** - *

                                                              Optional description of the snapshot that overwrites the existing description.

                                                              + *

                                                              Frequency of snapshots. Specify the number of hours between snapshots.

                                                              */ - Description?: string; + RecurrenceInHours: number | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) of the volume. Use the ListVolumes + * operation to return a list of gateway volumes.

                                                              + */ + VolumeARN: string | undefined; + + /** + *

                                                              The hour of the day at which the snapshot schedule begins represented as + * hh, where hh is the hour (0 to 23). The hour + * of the day is in the time zone of the gateway.

                                                              + */ + StartAt: number | undefined; } export namespace UpdateSnapshotScheduleInput { @@ -6545,18 +6840,18 @@ export namespace UpdateSnapshotScheduleOutput { } export interface UpdateVTLDeviceTypeInput { - /** - *

                                                              The Amazon Resource Name (ARN) of the medium changer you want to select.

                                                              - */ - VTLDeviceARN: string | undefined; - /** *

                                                              The type of medium changer you want to select.

                                                              * - *

                                                              Valid Values: STK-L700 | AWS-Gateway-VTL + *

                                                              Valid Values: STK-L700 | AWS-Gateway-VTL | IBM-03584L32-0402 *

                                                              */ DeviceType: string | undefined; + + /** + *

                                                              The Amazon Resource Name (ARN) of the medium changer you want to select.

                                                              + */ + VTLDeviceARN: string | undefined; } export namespace UpdateVTLDeviceTypeInput { diff --git a/clients/client-storage-gateway/protocols/Aws_json1_1.ts b/clients/client-storage-gateway/protocols/Aws_json1_1.ts index f68b315a17e1..870898f72c05 100644 --- a/clients/client-storage-gateway/protocols/Aws_json1_1.ts +++ b/clients/client-storage-gateway/protocols/Aws_json1_1.ts @@ -22,6 +22,7 @@ import { CreateStorediSCSIVolumeCommandInput, CreateStorediSCSIVolumeCommandOutput, } from "../commands/CreateStorediSCSIVolumeCommand"; +import { CreateTapePoolCommandInput, CreateTapePoolCommandOutput } from "../commands/CreateTapePoolCommand"; import { CreateTapeWithBarcodeCommandInput, CreateTapeWithBarcodeCommandOutput, @@ -47,6 +48,7 @@ import { } from "../commands/DeleteSnapshotScheduleCommand"; import { DeleteTapeArchiveCommandInput, DeleteTapeArchiveCommandOutput } from "../commands/DeleteTapeArchiveCommand"; import { DeleteTapeCommandInput, DeleteTapeCommandOutput } from "../commands/DeleteTapeCommand"; +import { DeleteTapePoolCommandInput, DeleteTapePoolCommandOutput } from "../commands/DeleteTapePoolCommand"; import { DeleteVolumeCommandInput, DeleteVolumeCommandOutput } from "../commands/DeleteVolumeCommand"; import { DescribeAvailabilityMonitorTestCommandInput, @@ -125,6 +127,7 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; +import { ListTapePoolsCommandInput, ListTapePoolsCommandOutput } from "../commands/ListTapePoolsCommand"; import { ListTapesCommandInput, ListTapesCommandOutput } from "../commands/ListTapesCommand"; import { ListVolumeInitiatorsCommandInput, @@ -238,6 +241,8 @@ import { CreateSnapshotOutput, CreateStorediSCSIVolumeInput, CreateStorediSCSIVolumeOutput, + CreateTapePoolInput, + CreateTapePoolOutput, CreateTapeWithBarcodeInput, CreateTapeWithBarcodeOutput, CreateTapesInput, @@ -258,6 +263,8 @@ import { DeleteTapeArchiveOutput, DeleteTapeInput, DeleteTapeOutput, + DeleteTapePoolInput, + DeleteTapePoolOutput, DeleteVolumeInput, DeleteVolumeOutput, DescribeAvailabilityMonitorTestInput, @@ -318,6 +325,8 @@ import { ListLocalDisksOutput, ListTagsForResourceInput, ListTagsForResourceOutput, + ListTapePoolsInput, + ListTapePoolsOutput, ListTapesInput, ListTapesOutput, ListVolumeInitiatorsInput, @@ -331,6 +340,7 @@ import { NetworkInterface, NotifyWhenUploadedInput, NotifyWhenUploadedOutput, + PoolInfo, RefreshCacheInput, RefreshCacheOutput, RemoveTagsFromResourceInput, @@ -592,6 +602,19 @@ export const serializeAws_json1_1CreateStorediSCSIVolumeCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateTapePoolCommand = async ( + input: CreateTapePoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "StorageGateway_20130630.CreateTapePool", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateTapePoolInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateTapesCommand = async ( input: CreateTapesCommandInput, context: __SerdeContext @@ -722,6 +745,19 @@ export const serializeAws_json1_1DeleteTapeArchiveCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteTapePoolCommand = async ( + input: DeleteTapePoolCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "StorageGateway_20130630.DeleteTapePool", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteTapePoolInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteVolumeCommand = async ( input: DeleteVolumeCommandInput, context: __SerdeContext @@ -1073,6 +1109,19 @@ export const serializeAws_json1_1ListTagsForResourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListTapePoolsCommand = async ( + input: ListTapePoolsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "StorageGateway_20130630.ListTapePools", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListTapePoolsInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListTapesCommand = async ( input: ListTapesCommandInput, context: __SerdeContext @@ -2372,6 +2421,69 @@ const deserializeAws_json1_1CreateStorediSCSIVolumeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1CreateTapePoolCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateTapePoolCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateTapePoolOutput(data, context); + const response: CreateTapePoolCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateTapePoolCommandError = 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 "InternalServerError": + case "com.amazonaws.storagegateway#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidGatewayRequestException": + case "com.amazonaws.storagegateway#InvalidGatewayRequestException": + response = { + ...(await deserializeAws_json1_1InvalidGatewayRequestExceptionResponse(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_1CreateTapesCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -3002,6 +3114,69 @@ const deserializeAws_json1_1DeleteTapeArchiveCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeleteTapePoolCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteTapePoolCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteTapePoolOutput(data, context); + const response: DeleteTapePoolCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteTapePoolCommandError = 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 "InternalServerError": + case "com.amazonaws.storagegateway#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidGatewayRequestException": + case "com.amazonaws.storagegateway#InvalidGatewayRequestException": + response = { + ...(await deserializeAws_json1_1InvalidGatewayRequestExceptionResponse(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_1DeleteVolumeCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4703,6 +4878,69 @@ const deserializeAws_json1_1ListTagsForResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ListTapePoolsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListTapePoolsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListTapePoolsOutput(data, context); + const response: ListTapePoolsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListTapePoolsCommandError = 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 "InternalServerError": + case "com.amazonaws.storagegateway#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidGatewayRequestException": + case "com.amazonaws.storagegateway#InvalidGatewayRequestException": + response = { + ...(await deserializeAws_json1_1InvalidGatewayRequestExceptionResponse(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_1ListTapesCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6429,6 +6667,9 @@ const serializeAws_json1_1AddWorkingStorageInput = (input: AddWorkingStorageInpu const serializeAws_json1_1AssignTapePoolInput = (input: AssignTapePoolInput, context: __SerdeContext): any => { return { + ...(input.BypassGovernanceRetention !== undefined && { + BypassGovernanceRetention: input.BypassGovernanceRetention, + }), ...(input.PoolId !== undefined && { PoolId: input.PoolId }), ...(input.TapeARN !== undefined && { TapeARN: input.TapeARN }), }; @@ -6453,6 +6694,7 @@ const serializeAws_json1_1AutomaticTapeCreationRule = ( ...(input.PoolId !== undefined && { PoolId: input.PoolId }), ...(input.TapeBarcodePrefix !== undefined && { TapeBarcodePrefix: input.TapeBarcodePrefix }), ...(input.TapeSizeInBytes !== undefined && { TapeSizeInBytes: input.TapeSizeInBytes }), + ...(input.Worm !== undefined && { Worm: input.Worm }), }; }; @@ -6601,6 +6843,16 @@ const serializeAws_json1_1CreateStorediSCSIVolumeInput = ( }; }; +const serializeAws_json1_1CreateTapePoolInput = (input: CreateTapePoolInput, context: __SerdeContext): any => { + return { + ...(input.PoolName !== undefined && { PoolName: input.PoolName }), + ...(input.RetentionLockTimeInDays !== undefined && { RetentionLockTimeInDays: input.RetentionLockTimeInDays }), + ...(input.RetentionLockType !== undefined && { RetentionLockType: input.RetentionLockType }), + ...(input.StorageClass !== undefined && { StorageClass: input.StorageClass }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), + }; +}; + const serializeAws_json1_1CreateTapesInput = (input: CreateTapesInput, context: __SerdeContext): any => { return { ...(input.ClientToken !== undefined && { ClientToken: input.ClientToken }), @@ -6612,6 +6864,7 @@ const serializeAws_json1_1CreateTapesInput = (input: CreateTapesInput, context: ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), ...(input.TapeBarcodePrefix !== undefined && { TapeBarcodePrefix: input.TapeBarcodePrefix }), ...(input.TapeSizeInBytes !== undefined && { TapeSizeInBytes: input.TapeSizeInBytes }), + ...(input.Worm !== undefined && { Worm: input.Worm }), }; }; @@ -6627,6 +6880,7 @@ const serializeAws_json1_1CreateTapeWithBarcodeInput = ( ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), ...(input.TapeBarcode !== undefined && { TapeBarcode: input.TapeBarcode }), ...(input.TapeSizeInBytes !== undefined && { TapeSizeInBytes: input.TapeSizeInBytes }), + ...(input.Worm !== undefined && { Worm: input.Worm }), }; }; @@ -6683,17 +6937,29 @@ const serializeAws_json1_1DeleteSnapshotScheduleInput = ( const serializeAws_json1_1DeleteTapeArchiveInput = (input: DeleteTapeArchiveInput, context: __SerdeContext): any => { return { + ...(input.BypassGovernanceRetention !== undefined && { + BypassGovernanceRetention: input.BypassGovernanceRetention, + }), ...(input.TapeARN !== undefined && { TapeARN: input.TapeARN }), }; }; const serializeAws_json1_1DeleteTapeInput = (input: DeleteTapeInput, context: __SerdeContext): any => { return { + ...(input.BypassGovernanceRetention !== undefined && { + BypassGovernanceRetention: input.BypassGovernanceRetention, + }), ...(input.GatewayARN !== undefined && { GatewayARN: input.GatewayARN }), ...(input.TapeARN !== undefined && { TapeARN: input.TapeARN }), }; }; +const serializeAws_json1_1DeleteTapePoolInput = (input: DeleteTapePoolInput, context: __SerdeContext): any => { + return { + ...(input.PoolARN !== undefined && { PoolARN: input.PoolARN }), + }; +}; + const serializeAws_json1_1DeleteVolumeInput = (input: DeleteVolumeInput, context: __SerdeContext): any => { return { ...(input.VolumeARN !== undefined && { VolumeARN: input.VolumeARN }), @@ -6961,6 +7227,14 @@ const serializeAws_json1_1ListTagsForResourceInput = ( }; }; +const serializeAws_json1_1ListTapePoolsInput = (input: ListTapePoolsInput, context: __SerdeContext): any => { + return { + ...(input.Limit !== undefined && { Limit: input.Limit }), + ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.PoolARNs !== undefined && { PoolARNs: serializeAws_json1_1PoolARNs(input.PoolARNs, context) }), + }; +}; + const serializeAws_json1_1ListTapesInput = (input: ListTapesInput, context: __SerdeContext): any => { return { ...(input.Limit !== undefined && { Limit: input.Limit }), @@ -7010,6 +7284,10 @@ const serializeAws_json1_1NotifyWhenUploadedInput = (input: NotifyWhenUploadedIn }; }; +const serializeAws_json1_1PoolARNs = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1RefreshCacheInput = (input: RefreshCacheInput, context: __SerdeContext): any => { return { ...(input.FileShareARN !== undefined && { FileShareARN: input.FileShareARN }), @@ -7371,6 +7649,7 @@ const deserializeAws_json1_1AutomaticTapeCreationRule = ( : undefined, TapeSizeInBytes: output.TapeSizeInBytes !== undefined && output.TapeSizeInBytes !== null ? output.TapeSizeInBytes : undefined, + Worm: output.Worm !== undefined && output.Worm !== null ? output.Worm : undefined, } as any; }; @@ -7524,6 +7803,12 @@ const deserializeAws_json1_1CreateStorediSCSIVolumeOutput = ( } as any; }; +const deserializeAws_json1_1CreateTapePoolOutput = (output: any, context: __SerdeContext): CreateTapePoolOutput => { + return { + PoolARN: output.PoolARN !== undefined && output.PoolARN !== null ? output.PoolARN : undefined, + } as any; +}; + const deserializeAws_json1_1CreateTapesOutput = (output: any, context: __SerdeContext): CreateTapesOutput => { return { TapeARNs: @@ -7607,6 +7892,12 @@ const deserializeAws_json1_1DeleteTapeOutput = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_json1_1DeleteTapePoolOutput = (output: any, context: __SerdeContext): DeleteTapePoolOutput => { + return { + PoolARN: output.PoolARN !== undefined && output.PoolARN !== null ? output.PoolARN : undefined, + } as any; +}; + const deserializeAws_json1_1DeleteVolumeOutput = (output: any, context: __SerdeContext): DeleteVolumeOutput => { return { VolumeARN: output.VolumeARN !== undefined && output.VolumeARN !== null ? output.VolumeARN : undefined, @@ -7707,6 +7998,8 @@ const deserializeAws_json1_1DescribeGatewayInformationOutput = ( output.CloudWatchLogGroupARN !== undefined && output.CloudWatchLogGroupARN !== null ? output.CloudWatchLogGroupARN : undefined, + DeprecationDate: + output.DeprecationDate !== undefined && output.DeprecationDate !== null ? output.DeprecationDate : undefined, Ec2InstanceId: output.Ec2InstanceId !== undefined && output.Ec2InstanceId !== null ? output.Ec2InstanceId : undefined, Ec2InstanceRegion: @@ -7735,6 +8028,10 @@ const deserializeAws_json1_1DescribeGatewayInformationOutput = ( output.NextUpdateAvailabilityDate !== undefined && output.NextUpdateAvailabilityDate !== null ? output.NextUpdateAvailabilityDate : undefined, + SoftwareUpdatesEndDate: + output.SoftwareUpdatesEndDate !== undefined && output.SoftwareUpdatesEndDate !== null + ? output.SoftwareUpdatesEndDate + : undefined, Tags: output.Tags !== undefined && output.Tags !== null ? deserializeAws_json1_1Tags(output.Tags, context) : undefined, VPCEndpoint: output.VPCEndpoint !== undefined && output.VPCEndpoint !== null ? output.VPCEndpoint : undefined, @@ -8139,6 +8436,16 @@ const deserializeAws_json1_1ListTagsForResourceOutput = ( } as any; }; +const deserializeAws_json1_1ListTapePoolsOutput = (output: any, context: __SerdeContext): ListTapePoolsOutput => { + return { + Marker: output.Marker !== undefined && output.Marker !== null ? output.Marker : undefined, + PoolInfos: + output.PoolInfos !== undefined && output.PoolInfos !== null + ? deserializeAws_json1_1PoolInfos(output.PoolInfos, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListTapesOutput = (output: any, context: __SerdeContext): ListTapesOutput => { return { Marker: output.Marker !== undefined && output.Marker !== null ? output.Marker : undefined, @@ -8262,6 +8569,27 @@ const deserializeAws_json1_1NotifyWhenUploadedOutput = ( } as any; }; +const deserializeAws_json1_1PoolInfo = (output: any, context: __SerdeContext): PoolInfo => { + return { + PoolARN: output.PoolARN !== undefined && output.PoolARN !== null ? output.PoolARN : undefined, + PoolName: output.PoolName !== undefined && output.PoolName !== null ? output.PoolName : undefined, + PoolStatus: output.PoolStatus !== undefined && output.PoolStatus !== null ? output.PoolStatus : undefined, + RetentionLockTimeInDays: + output.RetentionLockTimeInDays !== undefined && output.RetentionLockTimeInDays !== null + ? output.RetentionLockTimeInDays + : undefined, + RetentionLockType: + output.RetentionLockType !== undefined && output.RetentionLockType !== null + ? output.RetentionLockType + : undefined, + StorageClass: output.StorageClass !== undefined && output.StorageClass !== null ? output.StorageClass : undefined, + } as any; +}; + +const deserializeAws_json1_1PoolInfos = (output: any, context: __SerdeContext): PoolInfo[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1PoolInfo(entry, context)); +}; + const deserializeAws_json1_1RefreshCacheOutput = (output: any, context: __SerdeContext): RefreshCacheOutput => { return { FileShareARN: output.FileShareARN !== undefined && output.FileShareARN !== null ? output.FileShareARN : undefined, @@ -8484,8 +8812,16 @@ const deserializeAws_json1_1Tags = (output: any, context: __SerdeContext): Tag[] const deserializeAws_json1_1Tape = (output: any, context: __SerdeContext): Tape => { return { KMSKey: output.KMSKey !== undefined && output.KMSKey !== null ? output.KMSKey : undefined, + PoolEntryDate: + output.PoolEntryDate !== undefined && output.PoolEntryDate !== null + ? new Date(Math.round(output.PoolEntryDate * 1000)) + : undefined, PoolId: output.PoolId !== undefined && output.PoolId !== null ? output.PoolId : undefined, Progress: output.Progress !== undefined && output.Progress !== null ? output.Progress : undefined, + RetentionStartDate: + output.RetentionStartDate !== undefined && output.RetentionStartDate !== null + ? new Date(Math.round(output.RetentionStartDate * 1000)) + : undefined, TapeARN: output.TapeARN !== undefined && output.TapeARN !== null ? output.TapeARN : undefined, TapeBarcode: output.TapeBarcode !== undefined && output.TapeBarcode !== null ? output.TapeBarcode : undefined, TapeCreatedDate: @@ -8498,6 +8834,7 @@ const deserializeAws_json1_1Tape = (output: any, context: __SerdeContext): Tape TapeUsedInBytes: output.TapeUsedInBytes !== undefined && output.TapeUsedInBytes !== null ? output.TapeUsedInBytes : undefined, VTLDevice: output.VTLDevice !== undefined && output.VTLDevice !== null ? output.VTLDevice : undefined, + Worm: output.Worm !== undefined && output.Worm !== null ? output.Worm : undefined, } as any; }; @@ -8508,7 +8845,15 @@ const deserializeAws_json1_1TapeArchive = (output: any, context: __SerdeContext) ? new Date(Math.round(output.CompletionTime * 1000)) : undefined, KMSKey: output.KMSKey !== undefined && output.KMSKey !== null ? output.KMSKey : undefined, + PoolEntryDate: + output.PoolEntryDate !== undefined && output.PoolEntryDate !== null + ? new Date(Math.round(output.PoolEntryDate * 1000)) + : undefined, PoolId: output.PoolId !== undefined && output.PoolId !== null ? output.PoolId : undefined, + RetentionStartDate: + output.RetentionStartDate !== undefined && output.RetentionStartDate !== null + ? new Date(Math.round(output.RetentionStartDate * 1000)) + : undefined, RetrievedTo: output.RetrievedTo !== undefined && output.RetrievedTo !== null ? output.RetrievedTo : undefined, TapeARN: output.TapeARN !== undefined && output.TapeARN !== null ? output.TapeARN : undefined, TapeBarcode: output.TapeBarcode !== undefined && output.TapeBarcode !== null ? output.TapeBarcode : undefined, @@ -8521,6 +8866,7 @@ const deserializeAws_json1_1TapeArchive = (output: any, context: __SerdeContext) TapeStatus: output.TapeStatus !== undefined && output.TapeStatus !== null ? output.TapeStatus : undefined, TapeUsedInBytes: output.TapeUsedInBytes !== undefined && output.TapeUsedInBytes !== null ? output.TapeUsedInBytes : undefined, + Worm: output.Worm !== undefined && output.Worm !== null ? output.Worm : undefined, } as any; }; @@ -8535,7 +8881,15 @@ const deserializeAws_json1_1TapeARNs = (output: any, context: __SerdeContext): s const deserializeAws_json1_1TapeInfo = (output: any, context: __SerdeContext): TapeInfo => { return { GatewayARN: output.GatewayARN !== undefined && output.GatewayARN !== null ? output.GatewayARN : undefined, + PoolEntryDate: + output.PoolEntryDate !== undefined && output.PoolEntryDate !== null + ? new Date(Math.round(output.PoolEntryDate * 1000)) + : undefined, PoolId: output.PoolId !== undefined && output.PoolId !== null ? output.PoolId : undefined, + RetentionStartDate: + output.RetentionStartDate !== undefined && output.RetentionStartDate !== null + ? new Date(Math.round(output.RetentionStartDate * 1000)) + : undefined, TapeARN: output.TapeARN !== undefined && output.TapeARN !== null ? output.TapeARN : undefined, TapeBarcode: output.TapeBarcode !== undefined && output.TapeBarcode !== null ? output.TapeBarcode : undefined, TapeSizeInBytes: diff --git a/clients/client-sts/STS.ts b/clients/client-sts/STS.ts index 06dafcd94213..dab4f3b30d36 100644 --- a/clients/client-sts/STS.ts +++ b/clients/client-sts/STS.ts @@ -39,74 +39,10 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** * AWS Security Token Service - *

                                                              The AWS Security Token Service (STS) is a web service that enables you to request - * temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or - * for users that you authenticate (federated users). This guide provides descriptions of the STS - * API. For more detailed information about using this service, go to Temporary Security Credentials.

                                                              - * - * - *

                                                              For information about setting up signatures and authorization through the API, go to - * Signing - * AWS API Requests in the AWS General Reference. For general - * information about the Query API, go to Making Query Requests in - * Using IAM. For information about using security tokens with other AWS - * products, go to AWS Services That - * Work with IAM in the IAM User Guide.

                                                              - *

                                                              If you're new to AWS and need additional technical information about a specific AWS - * product, you can find the product's technical documentation at http://aws.amazon.com/documentation/.

                                                              - * - *

                                                              - * Endpoints - *

                                                              - *

                                                              By default, AWS Security Token Service (STS) is available as a global service, and all AWS - * STS requests go to a single endpoint at https://sts.amazonaws.com. Global - * requests map to the US East (N. Virginia) region. AWS recommends using Regional AWS STS - * endpoints instead of the global endpoint to reduce latency, build in redundancy, and increase - * session token validity. For more information, see Managing AWS STS in an - * AWS Region in the IAM User Guide.

                                                              - *

                                                              Most AWS Regions are enabled for operations in all AWS services by default. Those Regions - * are automatically activated for use with AWS STS. Some Regions, such as Asia Pacific (Hong - * Kong), must be manually enabled. To learn more about enabling and disabling AWS Regions, see - * Managing AWS - * Regions in the AWS General Reference. When you enable these AWS - * Regions, they are automatically activated for use with AWS STS. You cannot activate the STS - * endpoint for a Region that is disabled. Tokens that are valid in all AWS Regions are longer - * than tokens that are valid in Regions that are enabled by default. Changing this setting might - * affect existing systems where you temporarily store tokens. For more information, see Managing Global Endpoint Session Tokens in the IAM User - * Guide.

                                                              - *

                                                              After you activate a Region for use with AWS STS, you can direct AWS STS API calls to that - * Region. AWS STS recommends that you provide both the Region and endpoint when you make calls - * to a Regional endpoint. You can provide the Region alone for manually enabled Regions, such as - * Asia Pacific (Hong Kong). In this case, the calls are directed to the STS Regional endpoint. - * However, if you provide the Region alone for Regions enabled by default, the calls are - * directed to the global endpoint of https://sts.amazonaws.com.

                                                              - *

                                                              To view the list of AWS STS endpoints and whether they are active by default, see Writing Code to Use AWS STS Regions in the IAM User - * Guide.

                                                              - * - *

                                                              - * Recording API requests - *

                                                              - *

                                                              STS supports AWS CloudTrail, which is a service that records AWS calls for your AWS - * account and delivers log files to an Amazon S3 bucket. By using information collected by - * CloudTrail, you can determine what requests were successfully made to STS, who made the - * request, when it was made, and so on.

                                                              - *

                                                              If you activate AWS STS endpoints in Regions other than the default global endpoint, then - * you must also turn on CloudTrail logging in those Regions. This is necessary to record any AWS - * STS API calls that are made in those Regions. For more information, see Turning On - * CloudTrail in Additional Regions in the AWS CloudTrail User - * Guide.

                                                              - *

                                                              AWS Security Token Service (STS) is a global service with a single endpoint at - * https://sts.amazonaws.com. Calls to this endpoint are logged as calls to a - * global service. However, because this endpoint is physically located in the US East (N. - * Virginia) Region, your logs list us-east-1 as the event Region. CloudTrail does - * not write these logs to the US East (Ohio) Region unless you choose to include global service - * logs in that Region. CloudTrail writes calls to all Regional endpoints to their respective - * Regions. For example, calls to sts.us-east-2.amazonaws.com are published to the US East (Ohio) - * Region and calls to sts.eu-central-1.amazonaws.com are published to the EU (Frankfurt) - * Region.

                                                              - *

                                                              To learn more about CloudTrail, including how to turn it on and find your log files, see - * the AWS CloudTrail User - * Guide.

                                                              + *

                                                              AWS Security Token Service (STS) enables you to request temporary, limited-privilege + * credentials for AWS Identity and Access Management (IAM) users or for users that you + * authenticate (federated users). This guide provides descriptions of the STS API. For + * more information about using this service, see Temporary Security Credentials.

                                                              */ export class STS extends STSClient { /** @@ -512,7 +448,7 @@ export class STS extends STSClient { * *
                                                            • *

                                                              - * + * * Web Identity Federation Playground. Walk through the process of * authenticating through Login with Amazon, Facebook, or Google, getting temporary * security credentials, and then using those credentials to make a request to AWS. diff --git a/clients/client-sts/STSClient.ts b/clients/client-sts/STSClient.ts index e8d42481354c..bb079b86a45e 100644 --- a/clients/client-sts/STSClient.ts +++ b/clients/client-sts/STSClient.ts @@ -195,74 +195,10 @@ export type STSClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle /** * AWS Security Token Service - *

                                                              The AWS Security Token Service (STS) is a web service that enables you to request - * temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or - * for users that you authenticate (federated users). This guide provides descriptions of the STS - * API. For more detailed information about using this service, go to Temporary Security Credentials.

                                                              - * - * - *

                                                              For information about setting up signatures and authorization through the API, go to - * Signing - * AWS API Requests in the AWS General Reference. For general - * information about the Query API, go to Making Query Requests in - * Using IAM. For information about using security tokens with other AWS - * products, go to AWS Services That - * Work with IAM in the IAM User Guide.

                                                              - *

                                                              If you're new to AWS and need additional technical information about a specific AWS - * product, you can find the product's technical documentation at http://aws.amazon.com/documentation/.

                                                              - * - *

                                                              - * Endpoints - *

                                                              - *

                                                              By default, AWS Security Token Service (STS) is available as a global service, and all AWS - * STS requests go to a single endpoint at https://sts.amazonaws.com. Global - * requests map to the US East (N. Virginia) region. AWS recommends using Regional AWS STS - * endpoints instead of the global endpoint to reduce latency, build in redundancy, and increase - * session token validity. For more information, see Managing AWS STS in an - * AWS Region in the IAM User Guide.

                                                              - *

                                                              Most AWS Regions are enabled for operations in all AWS services by default. Those Regions - * are automatically activated for use with AWS STS. Some Regions, such as Asia Pacific (Hong - * Kong), must be manually enabled. To learn more about enabling and disabling AWS Regions, see - * Managing AWS - * Regions in the AWS General Reference. When you enable these AWS - * Regions, they are automatically activated for use with AWS STS. You cannot activate the STS - * endpoint for a Region that is disabled. Tokens that are valid in all AWS Regions are longer - * than tokens that are valid in Regions that are enabled by default. Changing this setting might - * affect existing systems where you temporarily store tokens. For more information, see Managing Global Endpoint Session Tokens in the IAM User - * Guide.

                                                              - *

                                                              After you activate a Region for use with AWS STS, you can direct AWS STS API calls to that - * Region. AWS STS recommends that you provide both the Region and endpoint when you make calls - * to a Regional endpoint. You can provide the Region alone for manually enabled Regions, such as - * Asia Pacific (Hong Kong). In this case, the calls are directed to the STS Regional endpoint. - * However, if you provide the Region alone for Regions enabled by default, the calls are - * directed to the global endpoint of https://sts.amazonaws.com.

                                                              - *

                                                              To view the list of AWS STS endpoints and whether they are active by default, see Writing Code to Use AWS STS Regions in the IAM User - * Guide.

                                                              - * - *

                                                              - * Recording API requests - *

                                                              - *

                                                              STS supports AWS CloudTrail, which is a service that records AWS calls for your AWS - * account and delivers log files to an Amazon S3 bucket. By using information collected by - * CloudTrail, you can determine what requests were successfully made to STS, who made the - * request, when it was made, and so on.

                                                              - *

                                                              If you activate AWS STS endpoints in Regions other than the default global endpoint, then - * you must also turn on CloudTrail logging in those Regions. This is necessary to record any AWS - * STS API calls that are made in those Regions. For more information, see Turning On - * CloudTrail in Additional Regions in the AWS CloudTrail User - * Guide.

                                                              - *

                                                              AWS Security Token Service (STS) is a global service with a single endpoint at - * https://sts.amazonaws.com. Calls to this endpoint are logged as calls to a - * global service. However, because this endpoint is physically located in the US East (N. - * Virginia) Region, your logs list us-east-1 as the event Region. CloudTrail does - * not write these logs to the US East (Ohio) Region unless you choose to include global service - * logs in that Region. CloudTrail writes calls to all Regional endpoints to their respective - * Regions. For example, calls to sts.us-east-2.amazonaws.com are published to the US East (Ohio) - * Region and calls to sts.eu-central-1.amazonaws.com are published to the EU (Frankfurt) - * Region.

                                                              - *

                                                              To learn more about CloudTrail, including how to turn it on and find your log files, see - * the AWS CloudTrail User - * Guide.

                                                              + *

                                                              AWS Security Token Service (STS) enables you to request temporary, limited-privilege + * credentials for AWS Identity and Access Management (IAM) users or for users that you + * authenticate (federated users). This guide provides descriptions of the STS API. For + * more information about using this service, see Temporary Security Credentials.

                                                              */ export class STSClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-sts/models/models_0.ts b/clients/client-sts/models/models_0.ts index d685382621ee..f93e82363311 100644 --- a/clients/client-sts/models/models_0.ts +++ b/clients/client-sts/models/models_0.ts @@ -53,20 +53,20 @@ export namespace PolicyDescriptorType { */ export interface Tag { /** - *

                                                              The value for a session tag.

                                                              - *

                                                              You can pass up to 50 session tags. The plain text session tag values can’t exceed 256 + *

                                                              The key for a session tag.

                                                              + *

                                                              You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 * characters. For these and additional limits, see IAM * and STS Character Limits in the IAM User Guide.

                                                              */ - Value: string | undefined; + Key: string | undefined; /** - *

                                                              The key for a session tag.

                                                              - *

                                                              You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 + *

                                                              The value for a session tag.

                                                              + *

                                                              You can pass up to 50 session tags. The plain text session tag values can’t exceed 256 * characters. For these and additional limits, see IAM * and STS Character Limits in the IAM User Guide.

                                                              */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -77,34 +77,50 @@ export namespace Tag { export interface AssumeRoleRequest { /** - *

                                                              A unique identifier that might be required when you assume a role in another account. If - * the administrator of the account to which the role belongs provided you with an external - * ID, then provide that value in the ExternalId parameter. This value can be any - * string, such as a passphrase or account number. A cross-account role is usually set up to - * trust everyone in an account. Therefore, the administrator of the trusting account might - * send an external ID to the administrator of the trusted account. That way, only someone - * with the ID can assume the role, rather than everyone in the account. For more information - * about the external ID, see How to Use an External ID - * When Granting Access to Your AWS Resources to a Third Party in the + *

                                                              The duration, in seconds, of the role session. The value can range from 900 seconds (15 + * minutes) up to the maximum session duration setting for the role. This setting can have a + * value from 1 hour to 12 hours. If you specify a value higher than this setting, the + * operation fails. For example, if you specify a session duration of 12 hours, but your + * administrator set the maximum session duration to 6 hours, your operation fails. To learn + * how to view the maximum value for your role, see View the + * Maximum Session Duration Setting for a Role in the * IAM User Guide.

                                                              - *

                                                              The regex used to validate this parameter is a string of - * characters consisting of upper- and lower-case alphanumeric characters with no spaces. - * You can also include underscores or any of the following characters: =,.@:/-

                                                              + *

                                                              By default, the value is set to 3600 seconds.

                                                              + * + *

                                                              The DurationSeconds parameter is separate from the duration of a console + * session that you might request using the returned credentials. The request to the + * federation endpoint for a console sign-in token takes a SessionDuration + * parameter that specifies the maximum length of the console session. For more + * information, see Creating a URL + * that Enables Federated Users to Access the AWS Management Console in the + * IAM User Guide.

                                                              + *
                                                              */ - ExternalId?: string; + DurationSeconds?: number; /** - *

                                                              The identification number of the MFA device that is associated with the user who is - * making the AssumeRole call. Specify this value if the trust policy of the role - * being assumed includes a condition that requires MFA authentication. The value is either - * the serial number for a hardware device (such as GAHT12345678) or an Amazon - * Resource Name (ARN) for a virtual device (such as - * arn:aws:iam::123456789012:mfa/user).

                                                              + *

                                                              An identifier for the assumed role session.

                                                              + *

                                                              Use the role session name to uniquely identify a session when the same role is assumed + * by different principals or for different reasons. In cross-account scenarios, the role + * session name is visible to, and can be logged by the account that owns the role. The role + * session name is also used in the ARN of the assumed role principal. This means that + * subsequent cross-account API requests that use the temporary security credentials will + * expose the role session name to the external account in their AWS CloudTrail logs.

                                                              *

                                                              The regex used to validate this parameter is a string of characters * consisting of upper- and lower-case alphanumeric characters with no spaces. You can * also include underscores or any of the following characters: =,.@-

                                                              */ - SerialNumber?: string; + RoleSessionName: string | undefined; + + /** + *

                                                              The value provided by the MFA device, if the trust policy of the role being assumed + * requires MFA (that is, if the policy includes a condition that tests for MFA). If the role + * being assumed requires MFA and if the TokenCode value is missing or expired, + * the AssumeRole call returns an "access denied" error.

                                                              + *

                                                              The format for this parameter, as described by its regex pattern, is a sequence of six + * numeric digits.

                                                              + */ + TokenCode?: string; /** *

                                                              The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as @@ -135,40 +151,9 @@ export interface AssumeRoleRequest { PolicyArns?: PolicyDescriptorType[]; /** - *

                                                              A list of keys for session tags that you want to set as transitive. If you set a tag key - * as transitive, the corresponding key and value passes to subsequent sessions in a role - * chain. For more information, see Chaining Roles - * with Session Tags in the IAM User Guide.

                                                              - *

                                                              This parameter is optional. When you set session tags as transitive, the session policy - * and session tags packed binary limit is not affected.

                                                              - *

                                                              If you choose not to specify a transitive tag key, then no tags are passed from this - * session to any subsequent sessions.

                                                              - */ - TransitiveTagKeys?: string[]; - - /** - *

                                                              An identifier for the assumed role session.

                                                              - *

                                                              Use the role session name to uniquely identify a session when the same role is assumed - * by different principals or for different reasons. In cross-account scenarios, the role - * session name is visible to, and can be logged by the account that owns the role. The role - * session name is also used in the ARN of the assumed role principal. This means that - * subsequent cross-account API requests that use the temporary security credentials will - * expose the role session name to the external account in their AWS CloudTrail logs.

                                                              - *

                                                              The regex used to validate this parameter is a string of characters - * consisting of upper- and lower-case alphanumeric characters with no spaces. You can - * also include underscores or any of the following characters: =,.@-

                                                              - */ - RoleSessionName: string | undefined; - - /** - *

                                                              The value provided by the MFA device, if the trust policy of the role being assumed - * requires MFA (that is, if the policy includes a condition that tests for MFA). If the role - * being assumed requires MFA and if the TokenCode value is missing or expired, - * the AssumeRole call returns an "access denied" error.

                                                              - *

                                                              The format for this parameter, as described by its regex pattern, is a sequence of six - * numeric digits.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the role to assume.

                                                              */ - TokenCode?: string; + RoleArn: string | undefined; /** *

                                                              An IAM policy in JSON format that you want to use as an inline session policy.

                                                              @@ -197,28 +182,6 @@ export interface AssumeRoleRequest { */ Policy?: string; - /** - *

                                                              The duration, in seconds, of the role session. The value can range from 900 seconds (15 - * minutes) up to the maximum session duration setting for the role. This setting can have a - * value from 1 hour to 12 hours. If you specify a value higher than this setting, the - * operation fails. For example, if you specify a session duration of 12 hours, but your - * administrator set the maximum session duration to 6 hours, your operation fails. To learn - * how to view the maximum value for your role, see View the - * Maximum Session Duration Setting for a Role in the - * IAM User Guide.

                                                              - *

                                                              By default, the value is set to 3600 seconds.

                                                              - * - *

                                                              The DurationSeconds parameter is separate from the duration of a console - * session that you might request using the returned credentials. The request to the - * federation endpoint for a console sign-in token takes a SessionDuration - * parameter that specifies the maximum length of the console session. For more - * information, see Creating a URL - * that Enables Federated Users to Access the AWS Management Console in the - * IAM User Guide.

                                                              - *
                                                              - */ - DurationSeconds?: number; - /** *

                                                              A list of session tags that you want to pass. Each session tag consists of a key name * and an associated value. For more information about session tags, see Tagging AWS STS @@ -254,9 +217,46 @@ export interface AssumeRoleRequest { Tags?: Tag[]; /** - *

                                                              The Amazon Resource Name (ARN) of the role to assume.

                                                              + *

                                                              A unique identifier that might be required when you assume a role in another account. If + * the administrator of the account to which the role belongs provided you with an external + * ID, then provide that value in the ExternalId parameter. This value can be any + * string, such as a passphrase or account number. A cross-account role is usually set up to + * trust everyone in an account. Therefore, the administrator of the trusting account might + * send an external ID to the administrator of the trusted account. That way, only someone + * with the ID can assume the role, rather than everyone in the account. For more information + * about the external ID, see How to Use an External ID + * When Granting Access to Your AWS Resources to a Third Party in the + * IAM User Guide.

                                                              + *

                                                              The regex used to validate this parameter is a string of + * characters consisting of upper- and lower-case alphanumeric characters with no spaces. + * You can also include underscores or any of the following characters: =,.@:/-

                                                              */ - RoleArn: string | undefined; + ExternalId?: string; + + /** + *

                                                              A list of keys for session tags that you want to set as transitive. If you set a tag key + * as transitive, the corresponding key and value passes to subsequent sessions in a role + * chain. For more information, see Chaining Roles + * with Session Tags in the IAM User Guide.

                                                              + *

                                                              This parameter is optional. When you set session tags as transitive, the session policy + * and session tags packed binary limit is not affected.

                                                              + *

                                                              If you choose not to specify a transitive tag key, then no tags are passed from this + * session to any subsequent sessions.

                                                              + */ + TransitiveTagKeys?: string[]; + + /** + *

                                                              The identification number of the MFA device that is associated with the user who is + * making the AssumeRole call. Specify this value if the trust policy of the role + * being assumed includes a condition that requires MFA authentication. The value is either + * the serial number for a hardware device (such as GAHT12345678) or an Amazon + * Resource Name (ARN) for a virtual device (such as + * arn:aws:iam::123456789012:mfa/user).

                                                              + *

                                                              The regex used to validate this parameter is a string of characters + * consisting of upper- and lower-case alphanumeric characters with no spaces. You can + * also include underscores or any of the following characters: =,.@-

                                                              + */ + SerialNumber?: string; } export namespace AssumeRoleRequest { @@ -269,6 +269,11 @@ export namespace AssumeRoleRequest { *

                                                              AWS credentials for API authentication.

                                                              */ export interface Credentials { + /** + *

                                                              The date on which the current credentials expire.

                                                              + */ + Expiration: Date | undefined; + /** *

                                                              The access key ID that identifies the temporary security credentials.

                                                              */ @@ -284,11 +289,6 @@ export interface Credentials { *

                                                              The secret access key that can be used to sign requests.

                                                              */ SecretAccessKey: string | undefined; - - /** - *

                                                              The date on which the current credentials expire.

                                                              - */ - Expiration: Date | undefined; } export namespace Credentials { @@ -312,6 +312,13 @@ export interface AssumeRoleResponse { */ Credentials?: Credentials; + /** + *

                                                              A percentage value that indicates the packed size of the session policies and session + * tags combined passed in the request. The request fails if the packed size is greater than 100 percent, + * which means the policies and tags exceeded the allowed space.

                                                              + */ + PackedPolicySize?: number; + /** *

                                                              The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you * can use to refer to the resulting temporary security credentials. For example, you can @@ -320,13 +327,6 @@ export interface AssumeRoleResponse { * when you called AssumeRole.

                                                              */ AssumedRoleUser?: AssumedRoleUser; - - /** - *

                                                              A percentage value that indicates the packed size of the session policies and session - * tags combined passed in the request. The request fails if the packed size is greater than 100 percent, - * which means the policies and tags exceeded the allowed space.

                                                              - */ - PackedPolicySize?: number; } export namespace AssumeRoleResponse { @@ -335,6 +335,22 @@ export namespace AssumeRoleResponse { }); } +/** + *

                                                              The web identity token that was passed is expired or is not valid. Get a new identity + * token from the identity provider and then retry the request.

                                                              + */ +export interface ExpiredTokenException extends __SmithyException, $MetadataBearer { + name: "ExpiredTokenException"; + $fault: "client"; + message?: string; +} + +export namespace ExpiredTokenException { + export const filterSensitiveLog = (obj: ExpiredTokenException): any => ({ + ...obj, + }); +} + /** *

                                                              The request was rejected because the policy document was malformed. The error message * describes the specific error.

                                                              @@ -395,10 +411,35 @@ export namespace RegionDisabledException { export interface AssumeRoleWithSAMLRequest { /** - *

                                                              The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the - * IdP.

                                                              + *

                                                              An IAM policy in JSON format that you want to use as an inline session policy.

                                                              + *

                                                              This parameter is optional. Passing policies to this operation returns new + * temporary credentials. The resulting session's permissions are the intersection of the + * role's identity-based policy and the session policies. You can use the role's temporary + * credentials in subsequent AWS API calls to access resources in the account that owns + * the role. You cannot use session policies to grant more permissions than those allowed + * by the identity-based policy of the role that is being assumed. For more information, see + * Session + * Policies in the IAM User Guide.

                                                              + *

                                                              The plain text that you use for both inline and managed session policies can't exceed + * 2,048 characters. The JSON policy characters can be any ASCII character from the space + * character to the end of the valid character list (\u0020 through \u00FF). It can also + * include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) + * characters.

                                                              + * + *

                                                              An AWS conversion compresses the passed session policies and session tags into a + * packed binary format that has a separate limit. Your request can fail for this limit + * even if your plain text meets the other requirements. The PackedPolicySize + * response element indicates by percentage how close the policies and tags for your + * request are to the upper size limit. + *

                                                              + *
                                                              */ - PrincipalArn: string | undefined; + Policy?: string; + + /** + *

                                                              The Amazon Resource Name (ARN) of the role that the caller is assuming.

                                                              + */ + RoleArn: string | undefined; /** *

                                                              The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as @@ -428,35 +469,10 @@ export interface AssumeRoleWithSAMLRequest { PolicyArns?: PolicyDescriptorType[]; /** - *

                                                              An IAM policy in JSON format that you want to use as an inline session policy.

                                                              - *

                                                              This parameter is optional. Passing policies to this operation returns new - * temporary credentials. The resulting session's permissions are the intersection of the - * role's identity-based policy and the session policies. You can use the role's temporary - * credentials in subsequent AWS API calls to access resources in the account that owns - * the role. You cannot use session policies to grant more permissions than those allowed - * by the identity-based policy of the role that is being assumed. For more information, see - * Session - * Policies in the IAM User Guide.

                                                              - *

                                                              The plain text that you use for both inline and managed session policies can't exceed - * 2,048 characters. The JSON policy characters can be any ASCII character from the space - * character to the end of the valid character list (\u0020 through \u00FF). It can also - * include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) - * characters.

                                                              - * - *

                                                              An AWS conversion compresses the passed session policies and session tags into a - * packed binary format that has a separate limit. Your request can fail for this limit - * even if your plain text meets the other requirements. The PackedPolicySize - * response element indicates by percentage how close the policies and tags for your - * request are to the upper size limit. - *

                                                              - *
                                                              - */ - Policy?: string; - - /** - *

                                                              The Amazon Resource Name (ARN) of the role that the caller is assuming.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the + * IdP.

                                                              */ - RoleArn: string | undefined; + PrincipalArn: string | undefined; /** *

                                                              The base-64 encoded SAML authentication response provided by the IdP.

                                                              @@ -494,7 +510,6 @@ export interface AssumeRoleWithSAMLRequest { export namespace AssumeRoleWithSAMLRequest { export const filterSensitiveLog = (obj: AssumeRoleWithSAMLRequest): any => ({ ...obj, - ...(obj.SAMLAssertion && { SAMLAssertion: SENSITIVE_STRING }), }); } @@ -504,17 +519,26 @@ export namespace AssumeRoleWithSAMLRequest { */ export interface AssumeRoleWithSAMLResponse { /** - *

                                                              The value of the Recipient attribute of the - * SubjectConfirmationData element of the SAML assertion.

                                                              + *

                                                              The identifiers for the temporary security credentials that the operation + * returns.

                                                              */ - Audience?: string; + AssumedRoleUser?: AssumedRoleUser; /** - *

                                                              A percentage value that indicates the packed size of the session policies and session - * tags combined passed in the request. The request fails if the packed size is greater than 100 percent, - * which means the policies and tags exceeded the allowed space.

                                                              + *

                                                              The temporary security credentials, which include an access key ID, a secret access key, + * and a security (or session) token.

                                                              + * + *

                                                              The size of the security token that STS API operations return is not fixed. We + * strongly recommend that you make no assumptions about the maximum size.

                                                              + *
                                                              */ - PackedPolicySize?: number; + Credentials?: Credentials; + + /** + *

                                                              The value of the NameID element in the Subject element of the + * SAML assertion.

                                                              + */ + Subject?: string; /** *

                                                              The format of the name ID, as defined by the Format attribute in the @@ -528,17 +552,6 @@ export interface AssumeRoleWithSAMLResponse { */ SubjectType?: string; - /** - *

                                                              The identifiers for the temporary security credentials that the operation - * returns.

                                                              - */ - AssumedRoleUser?: AssumedRoleUser; - - /** - *

                                                              The value of the Issuer element of the SAML assertion.

                                                              - */ - Issuer?: string; - /** *

                                                              A hash value based on the concatenation of the Issuer response value, the * AWS account ID, and the friendly name (the last part of the ARN) of the SAML provider in @@ -552,20 +565,22 @@ export interface AssumeRoleWithSAMLResponse { NameQualifier?: string; /** - *

                                                              The temporary security credentials, which include an access key ID, a secret access key, - * and a security (or session) token.

                                                              - * - *

                                                              The size of the security token that STS API operations return is not fixed. We - * strongly recommend that you make no assumptions about the maximum size.

                                                              - *
                                                              + *

                                                              The value of the Issuer element of the SAML assertion.

                                                              */ - Credentials?: Credentials; + Issuer?: string; /** - *

                                                              The value of the NameID element in the Subject element of the - * SAML assertion.

                                                              + *

                                                              The value of the Recipient attribute of the + * SubjectConfirmationData element of the SAML assertion.

                                                              + */ + Audience?: string; + + /** + *

                                                              A percentage value that indicates the packed size of the session policies and session + * tags combined passed in the request. The request fails if the packed size is greater than 100 percent, + * which means the policies and tags exceeded the allowed space.

                                                              */ - Subject?: string; + PackedPolicySize?: number; } export namespace AssumeRoleWithSAMLResponse { @@ -574,22 +589,6 @@ export namespace AssumeRoleWithSAMLResponse { }); } -/** - *

                                                              The web identity token that was passed is expired or is not valid. Get a new identity - * token from the identity provider and then retry the request.

                                                              - */ -export interface ExpiredTokenException extends __SmithyException, $MetadataBearer { - name: "ExpiredTokenException"; - $fault: "client"; - message?: string; -} - -export namespace ExpiredTokenException { - export const filterSensitiveLog = (obj: ExpiredTokenException): any => ({ - ...obj, - }); -} - /** *

                                                              The identity provider (IdP) reported that authentication failed. This might be because * the claim is invalid.

                                                              @@ -626,9 +625,22 @@ export namespace InvalidIdentityTokenException { export interface AssumeRoleWithWebIdentityRequest { /** - *

                                                              The Amazon Resource Name (ARN) of the role that the caller is assuming.

                                                              + *

                                                              The OAuth 2.0 access token or OpenID Connect ID token that is provided by the identity + * provider. Your application must get this token by authenticating the user who is using your + * application with a web identity provider before the application makes an + * AssumeRoleWithWebIdentity call.

                                                              */ - RoleArn: string | undefined; + WebIdentityToken: string | undefined; + + /** + *

                                                              The fully qualified host component of the domain name of the identity provider.

                                                              + *

                                                              Specify this value only for OAuth 2.0 access tokens. Currently + * www.amazon.com and graph.facebook.com are the only supported + * identity providers for OAuth 2.0 access tokens. Do not include URL schemes and port + * numbers.

                                                              + *

                                                              Do not specify this value for OpenID Connect ID tokens.

                                                              + */ + ProviderId?: string; /** *

                                                              An IAM policy in JSON format that you want to use as an inline session policy.

                                                              @@ -668,6 +680,11 @@ export interface AssumeRoleWithWebIdentityRequest { */ RoleSessionName: string | undefined; + /** + *

                                                              The Amazon Resource Name (ARN) of the role that the caller is assuming.

                                                              + */ + RoleArn: string | undefined; + /** *

                                                              The duration, in seconds, of the role session. The value can range from 900 seconds (15 * minutes) up to the maximum session duration setting for the role. This setting can have a @@ -716,30 +733,11 @@ export interface AssumeRoleWithWebIdentityRequest { * Policies in the IAM User Guide.

                                                              */ PolicyArns?: PolicyDescriptorType[]; - - /** - *

                                                              The OAuth 2.0 access token or OpenID Connect ID token that is provided by the identity - * provider. Your application must get this token by authenticating the user who is using your - * application with a web identity provider before the application makes an - * AssumeRoleWithWebIdentity call.

                                                              - */ - WebIdentityToken: string | undefined; - - /** - *

                                                              The fully qualified host component of the domain name of the identity provider.

                                                              - *

                                                              Specify this value only for OAuth 2.0 access tokens. Currently - * www.amazon.com and graph.facebook.com are the only supported - * identity providers for OAuth 2.0 access tokens. Do not include URL schemes and port - * numbers.

                                                              - *

                                                              Do not specify this value for OpenID Connect ID tokens.

                                                              - */ - ProviderId?: string; } export namespace AssumeRoleWithWebIdentityRequest { export const filterSensitiveLog = (obj: AssumeRoleWithWebIdentityRequest): any => ({ ...obj, - ...(obj.WebIdentityToken && { WebIdentityToken: SENSITIVE_STRING }), }); } @@ -755,13 +753,6 @@ export interface AssumeRoleWithWebIdentityResponse { */ PackedPolicySize?: number; - /** - *

                                                              The intended audience (also known as client ID) of the web identity token. This is - * traditionally the client identifier issued to the application that requested the web - * identity token.

                                                              - */ - Audience?: string; - /** *

                                                              The issuing authority of the web identity token presented. For OpenID Connect ID * tokens, this contains the value of the iss field. For OAuth 2.0 access tokens, @@ -771,13 +762,21 @@ export interface AssumeRoleWithWebIdentityResponse { Provider?: string; /** - *

                                                              The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you - * can use to refer to the resulting temporary security credentials. For example, you can - * reference these credentials as a principal in a resource-based policy by using the ARN or - * assumed role ID. The ARN and ID include the RoleSessionName that you specified - * when you called AssumeRole.

                                                              + *

                                                              The intended audience (also known as client ID) of the web identity token. This is + * traditionally the client identifier issued to the application that requested the web + * identity token.

                                                              */ - AssumedRoleUser?: AssumedRoleUser; + Audience?: string; + + /** + *

                                                              The unique user identifier that is returned by the identity provider. This identifier is + * associated with the WebIdentityToken that was submitted with the + * AssumeRoleWithWebIdentity call. The identifier is typically unique to the + * user and the application that acquired the WebIdentityToken (pairwise + * identifier). For OpenID Connect ID tokens, this field contains the value returned by the + * identity provider as the token's sub (Subject) claim.

                                                              + */ + SubjectFromWebIdentityToken?: string; /** *

                                                              The temporary security credentials, which include an access key ID, a secret access key, @@ -790,14 +789,13 @@ export interface AssumeRoleWithWebIdentityResponse { Credentials?: Credentials; /** - *

                                                              The unique user identifier that is returned by the identity provider. This identifier is - * associated with the WebIdentityToken that was submitted with the - * AssumeRoleWithWebIdentity call. The identifier is typically unique to the - * user and the application that acquired the WebIdentityToken (pairwise - * identifier). For OpenID Connect ID tokens, this field contains the value returned by the - * identity provider as the token's sub (Subject) claim.

                                                              + *

                                                              The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you + * can use to refer to the resulting temporary security credentials. For example, you can + * reference these credentials as a principal in a resource-based policy by using the ARN or + * assumed role ID. The ARN and ID include the RoleSessionName that you specified + * when you called AssumeRole.

                                                              */ - SubjectFromWebIdentityToken?: string; + AssumedRoleUser?: AssumedRoleUser; } export namespace AssumeRoleWithWebIdentityResponse { @@ -918,12 +916,6 @@ export interface GetCallerIdentityResponse { */ Arn?: string; - /** - *

                                                              The AWS account ID number of the account that owns or contains the calling - * entity.

                                                              - */ - Account?: string; - /** *

                                                              The unique identifier of the calling entity. The exact value depends on the type of * entity that is making the call. The values returned are those listed in the aws:userid column in the Principal @@ -931,6 +923,12 @@ export interface GetCallerIdentityResponse { * page in the IAM User Guide.

                                                              */ UserId?: string; + + /** + *

                                                              The AWS account ID number of the account that owns or contains the calling + * entity.

                                                              + */ + Account?: string; } export namespace GetCallerIdentityResponse { @@ -941,36 +939,11 @@ export namespace GetCallerIdentityResponse { export interface GetFederationTokenRequest { /** - *

                                                              The duration, in seconds, that the session should last. Acceptable durations for - * federation sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with - * 43,200 seconds (12 hours) as the default. Sessions obtained using AWS account root user - * credentials are restricted to a maximum of 3,600 seconds (one hour). If the specified - * duration is longer than one hour, the session obtained by using root user credentials - * defaults to one hour.

                                                              - */ - DurationSeconds?: number; - - /** - *

                                                              The name of the federated user. The name is used as an identifier for the temporary - * security credentials (such as Bob). For example, you can reference the - * federated user name in a resource-based policy, such as in an Amazon S3 bucket policy.

                                                              - *

                                                              The regex used to validate this parameter is a string of characters - * consisting of upper- and lower-case alphanumeric characters with no spaces. You can - * also include underscores or any of the following characters: =,.@-

                                                              - */ - Name: string | undefined; - - /** - *

                                                              The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a - * managed session policy. The policies must exist in the same account as the IAM user that - * is requesting federated access.

                                                              + *

                                                              An IAM policy in JSON format that you want to use as an inline session policy.

                                                              *

                                                              You must pass an inline or managed session policy to * this operation. You can pass a single JSON policy document to use as an inline session - * policy. You can also specify up to 10 managed policies to use as managed session policies. - * The plain text that you use for both inline and managed session policies can't exceed 2,048 - * characters. You can provide up to 10 managed policy ARNs. For more information about ARNs, - * see Amazon - * Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                              + * policy. You can also specify up to 10 managed policies to use as managed session + * policies.

                                                              *

                                                              This parameter is optional. However, if you do not pass any session policies, then the * resulting federated user session has no permissions.

                                                              *

                                                              When you pass session policies, the session permissions are the intersection of the @@ -984,6 +957,11 @@ export interface GetFederationTokenRequest { * Principal element of the policy, the session has the permissions allowed by * the policy. These permissions are granted in addition to the permissions that are granted * by the session policies.

                                                              + *

                                                              The plain text that you use for both inline and managed session policies can't exceed + * 2,048 characters. The JSON policy characters can be any ASCII character from the space + * character to the end of the valid character list (\u0020 through \u00FF). It can also + * include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) + * characters.

                                                              * *

                                                              An AWS conversion compresses the passed session policies and session tags into a * packed binary format that has a separate limit. Your request can fail for this limit @@ -993,7 +971,7 @@ export interface GetFederationTokenRequest { *

                                                              *
                                                              */ - PolicyArns?: PolicyDescriptorType[]; + Policy?: string; /** *

                                                              A list of session tags. Each session tag consists of a key name and an associated value. @@ -1025,11 +1003,26 @@ export interface GetFederationTokenRequest { Tags?: Tag[]; /** - *

                                                              An IAM policy in JSON format that you want to use as an inline session policy.

                                                              + *

                                                              The name of the federated user. The name is used as an identifier for the temporary + * security credentials (such as Bob). For example, you can reference the + * federated user name in a resource-based policy, such as in an Amazon S3 bucket policy.

                                                              + *

                                                              The regex used to validate this parameter is a string of characters + * consisting of upper- and lower-case alphanumeric characters with no spaces. You can + * also include underscores or any of the following characters: =,.@-

                                                              + */ + Name: string | undefined; + + /** + *

                                                              The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a + * managed session policy. The policies must exist in the same account as the IAM user that + * is requesting federated access.

                                                              *

                                                              You must pass an inline or managed session policy to * this operation. You can pass a single JSON policy document to use as an inline session - * policy. You can also specify up to 10 managed policies to use as managed session - * policies.

                                                              + * policy. You can also specify up to 10 managed policies to use as managed session policies. + * The plain text that you use for both inline and managed session policies can't exceed 2,048 + * characters. You can provide up to 10 managed policy ARNs. For more information about ARNs, + * see Amazon + * Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

                                                              *

                                                              This parameter is optional. However, if you do not pass any session policies, then the * resulting federated user session has no permissions.

                                                              *

                                                              When you pass session policies, the session permissions are the intersection of the @@ -1043,11 +1036,6 @@ export interface GetFederationTokenRequest { * Principal element of the policy, the session has the permissions allowed by * the policy. These permissions are granted in addition to the permissions that are granted * by the session policies.

                                                              - *

                                                              The plain text that you use for both inline and managed session policies can't exceed - * 2,048 characters. The JSON policy characters can be any ASCII character from the space - * character to the end of the valid character list (\u0020 through \u00FF). It can also - * include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) - * characters.

                                                              * *

                                                              An AWS conversion compresses the passed session policies and session tags into a * packed binary format that has a separate limit. Your request can fail for this limit @@ -1057,7 +1045,17 @@ export interface GetFederationTokenRequest { *

                                                              *
                                                              */ - Policy?: string; + PolicyArns?: PolicyDescriptorType[]; + + /** + *

                                                              The duration, in seconds, that the session should last. Acceptable durations for + * federation sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with + * 43,200 seconds (12 hours) as the default. Sessions obtained using AWS account root user + * credentials are restricted to a maximum of 3,600 seconds (one hour). If the specified + * duration is longer than one hour, the session obtained by using root user credentials + * defaults to one hour.

                                                              + */ + DurationSeconds?: number; } export namespace GetFederationTokenRequest { @@ -1070,18 +1068,18 @@ export namespace GetFederationTokenRequest { *

                                                              Identifiers for the federated user that is associated with the credentials.

                                                              */ export interface FederatedUser { + /** + *

                                                              The string that identifies the federated user associated with the credentials, similar + * to the unique ID of an IAM user.

                                                              + */ + FederatedUserId: string | undefined; + /** *

                                                              The ARN that specifies the federated user that is associated with the credentials. For * more information about ARNs and how to use them in policies, see IAM * Identifiers in the IAM User Guide.

                                                              */ Arn: string | undefined; - - /** - *

                                                              The string that identifies the federated user associated with the credentials, similar - * to the unique ID of an IAM user.

                                                              - */ - FederatedUserId: string | undefined; } export namespace FederatedUser { @@ -1095,14 +1093,6 @@ export namespace FederatedUser { * including temporary AWS credentials that can be used to make AWS requests.

                                                              */ export interface GetFederationTokenResponse { - /** - *

                                                              Identifiers for the federated user associated with the credentials (such as - * arn:aws:sts::123456789012:federated-user/Bob or - * 123456789012:Bob). You can use the federated user's ARN in your - * resource-based policies, such as an Amazon S3 bucket policy.

                                                              - */ - FederatedUser?: FederatedUser; - /** *

                                                              The temporary security credentials, which include an access key ID, a secret access key, * and a security (or session) token.

                                                              @@ -1119,6 +1109,14 @@ export interface GetFederationTokenResponse { * which means the policies and tags exceeded the allowed space.

                                                              */ PackedPolicySize?: number; + + /** + *

                                                              Identifiers for the federated user associated with the credentials (such as + * arn:aws:sts::123456789012:federated-user/Bob or + * 123456789012:Bob). You can use the federated user's ARN in your + * resource-based policies, such as an Amazon S3 bucket policy.

                                                              + */ + FederatedUser?: FederatedUser; } export namespace GetFederationTokenResponse { @@ -1129,15 +1127,18 @@ export namespace GetFederationTokenResponse { export interface GetSessionTokenRequest { /** - *

                                                              The value provided by the MFA device, if MFA is required. If any policy requires the - * IAM user to submit an MFA code, specify this value. If MFA authentication is required, - * the user must provide a code when requesting a set of temporary security credentials. A - * user who fails to provide the code receives an "access denied" response when requesting - * resources that require MFA authentication.

                                                              - *

                                                              The format for this parameter, as described by its regex pattern, is a sequence of six - * numeric digits.

                                                              + *

                                                              The identification number of the MFA device that is associated with the IAM user who + * is making the GetSessionToken call. Specify this value if the IAM user has a + * policy that requires MFA authentication. The value is either the serial number for a + * hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a + * virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the + * device for an IAM user by going to the AWS Management Console and viewing the user's security + * credentials.

                                                              + *

                                                              The regex used to validate this parameter is a string of + * characters consisting of upper- and lower-case alphanumeric characters with no spaces. + * You can also include underscores or any of the following characters: =,.@:/-

                                                              */ - TokenCode?: string; + SerialNumber?: string; /** *

                                                              The duration, in seconds, that the credentials should remain valid. Acceptable durations @@ -1149,18 +1150,15 @@ export interface GetSessionTokenRequest { DurationSeconds?: number; /** - *

                                                              The identification number of the MFA device that is associated with the IAM user who - * is making the GetSessionToken call. Specify this value if the IAM user has a - * policy that requires MFA authentication. The value is either the serial number for a - * hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a - * virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the - * device for an IAM user by going to the AWS Management Console and viewing the user's security - * credentials.

                                                              - *

                                                              The regex used to validate this parameter is a string of - * characters consisting of upper- and lower-case alphanumeric characters with no spaces. - * You can also include underscores or any of the following characters: =,.@:/-

                                                              + *

                                                              The value provided by the MFA device, if MFA is required. If any policy requires the + * IAM user to submit an MFA code, specify this value. If MFA authentication is required, + * the user must provide a code when requesting a set of temporary security credentials. A + * user who fails to provide the code receives an "access denied" response when requesting + * resources that require MFA authentication.

                                                              + *

                                                              The format for this parameter, as described by its regex pattern, is a sequence of six + * numeric digits.

                                                              */ - SerialNumber?: string; + TokenCode?: string; } export namespace GetSessionTokenRequest { diff --git a/clients/client-sts/protocols/Aws_query.ts b/clients/client-sts/protocols/Aws_query.ts index 027161974e54..60945ba9f183 100644 --- a/clients/client-sts/protocols/Aws_query.ts +++ b/clients/client-sts/protocols/Aws_query.ts @@ -215,6 +215,14 @@ const deserializeAws_queryAssumeRoleCommandError = async ( let errorCode: string = "UnknownError"; errorCode = loadQueryErrorCode(output, parsedOutput.body); switch (errorCode) { + case "ExpiredTokenException": + case "com.amazonaws.sts#ExpiredTokenException": + response = { + ...(await deserializeAws_queryExpiredTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "MalformedPolicyDocumentException": case "com.amazonaws.sts#MalformedPolicyDocumentException": response = { @@ -844,11 +852,14 @@ const deserializeAws_queryRegionDisabledExceptionResponse = async ( const serializeAws_queryAssumeRoleRequest = (input: AssumeRoleRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.ExternalId !== undefined) { - entries["ExternalId"] = input.ExternalId; + if (input.DurationSeconds !== undefined) { + entries["DurationSeconds"] = input.DurationSeconds; } - if (input.SerialNumber !== undefined) { - entries["SerialNumber"] = input.SerialNumber; + if (input.RoleSessionName !== undefined) { + entries["RoleSessionName"] = input.RoleSessionName; + } + if (input.TokenCode !== undefined) { + entries["TokenCode"] = input.TokenCode; } if (input.PolicyArns !== undefined) { const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context); @@ -857,25 +868,12 @@ const serializeAws_queryAssumeRoleRequest = (input: AssumeRoleRequest, context: entries[loc] = value; }); } - if (input.TransitiveTagKeys !== undefined) { - const memberEntries = serializeAws_querytagKeyListType(input.TransitiveTagKeys, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TransitiveTagKeys.${key}`; - entries[loc] = value; - }); - } - if (input.RoleSessionName !== undefined) { - entries["RoleSessionName"] = input.RoleSessionName; - } - if (input.TokenCode !== undefined) { - entries["TokenCode"] = input.TokenCode; + if (input.RoleArn !== undefined) { + entries["RoleArn"] = input.RoleArn; } if (input.Policy !== undefined) { entries["Policy"] = input.Policy; } - if (input.DurationSeconds !== undefined) { - entries["DurationSeconds"] = input.DurationSeconds; - } if (input.Tags !== undefined) { const memberEntries = serializeAws_querytagListType(input.Tags, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -883,8 +881,18 @@ const serializeAws_queryAssumeRoleRequest = (input: AssumeRoleRequest, context: entries[loc] = value; }); } - if (input.RoleArn !== undefined) { - entries["RoleArn"] = input.RoleArn; + if (input.ExternalId !== undefined) { + entries["ExternalId"] = input.ExternalId; + } + if (input.TransitiveTagKeys !== undefined) { + const memberEntries = serializeAws_querytagKeyListType(input.TransitiveTagKeys, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TransitiveTagKeys.${key}`; + entries[loc] = value; + }); + } + if (input.SerialNumber !== undefined) { + entries["SerialNumber"] = input.SerialNumber; } return entries; }; @@ -894,8 +902,11 @@ const serializeAws_queryAssumeRoleWithSAMLRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.PrincipalArn !== undefined) { - entries["PrincipalArn"] = input.PrincipalArn; + if (input.Policy !== undefined) { + entries["Policy"] = input.Policy; + } + if (input.RoleArn !== undefined) { + entries["RoleArn"] = input.RoleArn; } if (input.PolicyArns !== undefined) { const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context); @@ -904,11 +915,8 @@ const serializeAws_queryAssumeRoleWithSAMLRequest = ( entries[loc] = value; }); } - if (input.Policy !== undefined) { - entries["Policy"] = input.Policy; - } - if (input.RoleArn !== undefined) { - entries["RoleArn"] = input.RoleArn; + if (input.PrincipalArn !== undefined) { + entries["PrincipalArn"] = input.PrincipalArn; } if (input.SAMLAssertion !== undefined) { entries["SAMLAssertion"] = input.SAMLAssertion; @@ -924,8 +932,11 @@ const serializeAws_queryAssumeRoleWithWebIdentityRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.RoleArn !== undefined) { - entries["RoleArn"] = input.RoleArn; + if (input.WebIdentityToken !== undefined) { + entries["WebIdentityToken"] = input.WebIdentityToken; + } + if (input.ProviderId !== undefined) { + entries["ProviderId"] = input.ProviderId; } if (input.Policy !== undefined) { entries["Policy"] = input.Policy; @@ -933,6 +944,9 @@ const serializeAws_queryAssumeRoleWithWebIdentityRequest = ( if (input.RoleSessionName !== undefined) { entries["RoleSessionName"] = input.RoleSessionName; } + if (input.RoleArn !== undefined) { + entries["RoleArn"] = input.RoleArn; + } if (input.DurationSeconds !== undefined) { entries["DurationSeconds"] = input.DurationSeconds; } @@ -943,12 +957,6 @@ const serializeAws_queryAssumeRoleWithWebIdentityRequest = ( entries[loc] = value; }); } - if (input.WebIdentityToken !== undefined) { - entries["WebIdentityToken"] = input.WebIdentityToken; - } - if (input.ProviderId !== undefined) { - entries["ProviderId"] = input.ProviderId; - } return entries; }; @@ -981,8 +989,15 @@ const serializeAws_queryGetFederationTokenRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input.DurationSeconds !== undefined) { - entries["DurationSeconds"] = input.DurationSeconds; + if (input.Policy !== undefined) { + entries["Policy"] = input.Policy; + } + if (input.Tags !== undefined) { + const memberEntries = serializeAws_querytagListType(input.Tags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); } if (input.Name !== undefined) { entries["Name"] = input.Name; @@ -994,29 +1009,22 @@ const serializeAws_queryGetFederationTokenRequest = ( entries[loc] = value; }); } - if (input.Tags !== undefined) { - const memberEntries = serializeAws_querytagListType(input.Tags, context); - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; - entries[loc] = value; - }); - } - if (input.Policy !== undefined) { - entries["Policy"] = input.Policy; + if (input.DurationSeconds !== undefined) { + entries["DurationSeconds"] = input.DurationSeconds; } return entries; }; const serializeAws_queryGetSessionTokenRequest = (input: GetSessionTokenRequest, context: __SerdeContext): any => { const entries: any = {}; - if (input.TokenCode !== undefined) { - entries["TokenCode"] = input.TokenCode; + if (input.SerialNumber !== undefined) { + entries["SerialNumber"] = input.SerialNumber; } if (input.DurationSeconds !== undefined) { entries["DurationSeconds"] = input.DurationSeconds; } - if (input.SerialNumber !== undefined) { - entries["SerialNumber"] = input.SerialNumber; + if (input.TokenCode !== undefined) { + entries["TokenCode"] = input.TokenCode; } return entries; }; @@ -1044,12 +1052,12 @@ const serializeAws_queryPolicyDescriptorType = (input: PolicyDescriptorType, con const serializeAws_queryTag = (input: Tag, context: __SerdeContext): any => { const entries: any = {}; - if (input.Value !== undefined) { - entries["Value"] = input.Value; - } if (input.Key !== undefined) { entries["Key"] = input.Key; } + if (input.Value !== undefined) { + entries["Value"] = input.Value; + } return entries; }; @@ -1093,18 +1101,18 @@ const deserializeAws_queryAssumedRoleUser = (output: any, context: __SerdeContex const deserializeAws_queryAssumeRoleResponse = (output: any, context: __SerdeContext): AssumeRoleResponse => { let contents: any = { Credentials: undefined, - AssumedRoleUser: undefined, PackedPolicySize: undefined, + AssumedRoleUser: undefined, }; if (output["Credentials"] !== undefined) { contents.Credentials = deserializeAws_queryCredentials(output["Credentials"], context); } - if (output["AssumedRoleUser"] !== undefined) { - contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output["AssumedRoleUser"], context); - } if (output["PackedPolicySize"] !== undefined) { contents.PackedPolicySize = parseInt(output["PackedPolicySize"]); } + if (output["AssumedRoleUser"] !== undefined) { + contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output["AssumedRoleUser"], context); + } return contents; }; @@ -1113,38 +1121,38 @@ const deserializeAws_queryAssumeRoleWithSAMLResponse = ( context: __SerdeContext ): AssumeRoleWithSAMLResponse => { let contents: any = { - Audience: undefined, - PackedPolicySize: undefined, - SubjectType: undefined, AssumedRoleUser: undefined, - Issuer: undefined, - NameQualifier: undefined, Credentials: undefined, Subject: undefined, + SubjectType: undefined, + NameQualifier: undefined, + Issuer: undefined, + Audience: undefined, + PackedPolicySize: undefined, }; - if (output["Audience"] !== undefined) { - contents.Audience = output["Audience"]; + if (output["AssumedRoleUser"] !== undefined) { + contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output["AssumedRoleUser"], context); } - if (output["PackedPolicySize"] !== undefined) { - contents.PackedPolicySize = parseInt(output["PackedPolicySize"]); + if (output["Credentials"] !== undefined) { + contents.Credentials = deserializeAws_queryCredentials(output["Credentials"], context); + } + if (output["Subject"] !== undefined) { + contents.Subject = output["Subject"]; } if (output["SubjectType"] !== undefined) { contents.SubjectType = output["SubjectType"]; } - if (output["AssumedRoleUser"] !== undefined) { - contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output["AssumedRoleUser"], context); + if (output["NameQualifier"] !== undefined) { + contents.NameQualifier = output["NameQualifier"]; } if (output["Issuer"] !== undefined) { contents.Issuer = output["Issuer"]; } - if (output["NameQualifier"] !== undefined) { - contents.NameQualifier = output["NameQualifier"]; - } - if (output["Credentials"] !== undefined) { - contents.Credentials = deserializeAws_queryCredentials(output["Credentials"], context); + if (output["Audience"] !== undefined) { + contents.Audience = output["Audience"]; } - if (output["Subject"] !== undefined) { - contents.Subject = output["Subject"]; + if (output["PackedPolicySize"] !== undefined) { + contents.PackedPolicySize = parseInt(output["PackedPolicySize"]); } return contents; }; @@ -1155,40 +1163,43 @@ const deserializeAws_queryAssumeRoleWithWebIdentityResponse = ( ): AssumeRoleWithWebIdentityResponse => { let contents: any = { PackedPolicySize: undefined, - Audience: undefined, Provider: undefined, - AssumedRoleUser: undefined, - Credentials: undefined, + Audience: undefined, SubjectFromWebIdentityToken: undefined, + Credentials: undefined, + AssumedRoleUser: undefined, }; if (output["PackedPolicySize"] !== undefined) { contents.PackedPolicySize = parseInt(output["PackedPolicySize"]); } - if (output["Audience"] !== undefined) { - contents.Audience = output["Audience"]; - } if (output["Provider"] !== undefined) { contents.Provider = output["Provider"]; } - if (output["AssumedRoleUser"] !== undefined) { - contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output["AssumedRoleUser"], context); + if (output["Audience"] !== undefined) { + contents.Audience = output["Audience"]; + } + if (output["SubjectFromWebIdentityToken"] !== undefined) { + contents.SubjectFromWebIdentityToken = output["SubjectFromWebIdentityToken"]; } if (output["Credentials"] !== undefined) { contents.Credentials = deserializeAws_queryCredentials(output["Credentials"], context); } - if (output["SubjectFromWebIdentityToken"] !== undefined) { - contents.SubjectFromWebIdentityToken = output["SubjectFromWebIdentityToken"]; + if (output["AssumedRoleUser"] !== undefined) { + contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output["AssumedRoleUser"], context); } return contents; }; const deserializeAws_queryCredentials = (output: any, context: __SerdeContext): Credentials => { let contents: any = { + Expiration: undefined, AccessKeyId: undefined, SessionToken: undefined, SecretAccessKey: undefined, - Expiration: undefined, }; + if (output["Expiration"] !== undefined) { + contents.Expiration = new Date(output["Expiration"]); + } if (output["AccessKeyId"] !== undefined) { contents.AccessKeyId = output["AccessKeyId"]; } @@ -1198,9 +1209,6 @@ const deserializeAws_queryCredentials = (output: any, context: __SerdeContext): if (output["SecretAccessKey"] !== undefined) { contents.SecretAccessKey = output["SecretAccessKey"]; } - if (output["Expiration"] !== undefined) { - contents.Expiration = new Date(output["Expiration"]); - } return contents; }; @@ -1229,15 +1237,15 @@ const deserializeAws_queryExpiredTokenException = (output: any, context: __Serde const deserializeAws_queryFederatedUser = (output: any, context: __SerdeContext): FederatedUser => { let contents: any = { - Arn: undefined, FederatedUserId: undefined, + Arn: undefined, }; - if (output["Arn"] !== undefined) { - contents.Arn = output["Arn"]; - } if (output["FederatedUserId"] !== undefined) { contents.FederatedUserId = output["FederatedUserId"]; } + if (output["Arn"] !== undefined) { + contents.Arn = output["Arn"]; + } return contents; }; @@ -1260,18 +1268,18 @@ const deserializeAws_queryGetCallerIdentityResponse = ( ): GetCallerIdentityResponse => { let contents: any = { Arn: undefined, - Account: undefined, UserId: undefined, + Account: undefined, }; if (output["Arn"] !== undefined) { contents.Arn = output["Arn"]; } - if (output["Account"] !== undefined) { - contents.Account = output["Account"]; - } if (output["UserId"] !== undefined) { contents.UserId = output["UserId"]; } + if (output["Account"] !== undefined) { + contents.Account = output["Account"]; + } return contents; }; @@ -1280,19 +1288,19 @@ const deserializeAws_queryGetFederationTokenResponse = ( context: __SerdeContext ): GetFederationTokenResponse => { let contents: any = { - FederatedUser: undefined, Credentials: undefined, PackedPolicySize: undefined, + FederatedUser: undefined, }; - if (output["FederatedUser"] !== undefined) { - contents.FederatedUser = deserializeAws_queryFederatedUser(output["FederatedUser"], context); - } if (output["Credentials"] !== undefined) { contents.Credentials = deserializeAws_queryCredentials(output["Credentials"], context); } if (output["PackedPolicySize"] !== undefined) { contents.PackedPolicySize = parseInt(output["PackedPolicySize"]); } + if (output["FederatedUser"] !== undefined) { + contents.FederatedUser = deserializeAws_queryFederatedUser(output["FederatedUser"], context); + } return contents; }; diff --git a/clients/client-support/index.ts b/clients/client-support/index.ts index 23b504a98723..03455fb53b9b 100644 --- a/clients/client-support/index.ts +++ b/clients/client-support/index.ts @@ -5,7 +5,9 @@ export * from "./commands/AddCommunicationToCaseCommand"; export * from "./commands/CreateCaseCommand"; export * from "./commands/DescribeAttachmentCommand"; export * from "./commands/DescribeCasesCommand"; +export * from "./pagination/DescribeCasesPaginator"; export * from "./commands/DescribeCommunicationsCommand"; +export * from "./pagination/DescribeCommunicationsPaginator"; export * from "./commands/DescribeServicesCommand"; export * from "./commands/DescribeSeverityLevelsCommand"; export * from "./commands/DescribeTrustedAdvisorCheckRefreshStatusesCommand"; @@ -14,4 +16,5 @@ export * from "./commands/DescribeTrustedAdvisorChecksCommand"; export * from "./commands/DescribeTrustedAdvisorCheckSummariesCommand"; export * from "./commands/RefreshTrustedAdvisorCheckCommand"; export * from "./commands/ResolveCaseCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-support/models/models_0.ts b/clients/client-support/models/models_0.ts index 78c62df779f1..80ee7d8c99c5 100644 --- a/clients/client-support/models/models_0.ts +++ b/clients/client-support/models/models_0.ts @@ -24,6 +24,14 @@ export namespace Attachment { } export interface AddAttachmentsToSetRequest { + /** + *

                                                              The ID of the attachment set. If an attachmentSetId is not specified, a + * new attachment set is created, and the ID of the set is returned in the response. If an + * attachmentSetId is specified, the attachments are added to the + * specified set, if it exists.

                                                              + */ + attachmentSetId?: string; + /** *

                                                              One or more attachments to add to the set. You can add up to three attachments per * set. The size limit is 5 MB per attachment.

                                                              @@ -34,14 +42,6 @@ export interface AddAttachmentsToSetRequest { * attachment, such as troubleshoot-screenshot.png.

                                                              */ attachments: Attachment[] | undefined; - - /** - *

                                                              The ID of the attachment set. If an attachmentSetId is not specified, a - * new attachment set is created, and the ID of the set is returned in the response. If an - * attachmentSetId is specified, the attachments are added to the - * specified set, if it exists.

                                                              - */ - attachmentSetId?: string; } export namespace AddAttachmentsToSetRequest { @@ -171,11 +171,6 @@ export namespace InternalServerError { } export interface AddCommunicationToCaseRequest { - /** - *

                                                              The email addresses in the CC line of an email to be added to the support case.

                                                              - */ - ccEmailAddresses?: string[]; - /** *

                                                              The ID of a set of one or more attachments for the communication to add to the case. * Create the set by calling AddAttachmentsToSet @@ -188,6 +183,11 @@ export interface AddCommunicationToCaseRequest { */ communicationBody: string | undefined; + /** + *

                                                              The email addresses in the CC line of an email to be added to the support case.

                                                              + */ + ccEmailAddresses?: string[]; + /** *

                                                              The AWS Support case ID requested or returned in the call. The case ID is an * alphanumeric string formatted as shown in this example: @@ -244,14 +244,14 @@ export namespace CaseIdNotFound { */ export interface AttachmentDetails { /** - *

                                                              The file name of the attachment.

                                                              + *

                                                              The ID of the attachment.

                                                              */ - fileName?: string; + attachmentId?: string; /** - *

                                                              The ID of the attachment.

                                                              + *

                                                              The file name of the attachment.

                                                              */ - attachmentId?: string; + fileName?: string; } export namespace AttachmentDetails { @@ -298,31 +298,6 @@ export namespace CaseCreationLimitExceeded { } export interface CreateCaseRequest { - /** - *

                                                              A value that indicates the urgency of the case. This value determines the response - * time according to your service level agreement with AWS Support. You can use the DescribeSeverityLevels operation to get the possible values for - * severityCode.

                                                              - *

                                                              For more information, see SeverityLevel and Choosing a - * Severity in the AWS Support User Guide.

                                                              - * - *

                                                              The availability of severity levels depends on the support plan for the AWS - * account.

                                                              - *
                                                              - */ - severityCode?: string; - - /** - *

                                                              The category of problem for the AWS Support case. You also use the DescribeServices operation to get the category code for a service. Each - * AWS service defines its own set of category codes.

                                                              - */ - categoryCode?: string; - - /** - *

                                                              The code for the AWS service. You can use the DescribeServices - * operation to get the possible serviceCode values.

                                                              - */ - serviceCode?: string; - /** *

                                                              The type of issue for the case. You can specify customer-service or * technical. If you don't specify a value, the default is @@ -330,14 +305,6 @@ export interface CreateCaseRequest { */ issueType?: string; - /** - *

                                                              A list of email addresses that AWS Support copies on case correspondence. AWS Support - * identifies the account that creates the case when you specify your AWS credentials in an - * HTTP POST method or use the AWS SDKs. - *

                                                              - */ - ccEmailAddresses?: string[]; - /** *

                                                              The title of the AWS Support case. The title appears in the Subject field on the AWS Support Center Create Case page.

                                                              */ @@ -361,6 +328,39 @@ export interface CreateCaseRequest { * AddAttachmentsToSet operation.

                                                              */ attachmentSetId?: string; + + /** + *

                                                              A list of email addresses that AWS Support copies on case correspondence. AWS Support + * identifies the account that creates the case when you specify your AWS credentials in an + * HTTP POST method or use the AWS SDKs. + *

                                                              + */ + ccEmailAddresses?: string[]; + + /** + *

                                                              The code for the AWS service. You can use the DescribeServices + * operation to get the possible serviceCode values.

                                                              + */ + serviceCode?: string; + + /** + *

                                                              A value that indicates the urgency of the case. This value determines the response + * time according to your service level agreement with AWS Support. You can use the DescribeSeverityLevels operation to get the possible values for + * severityCode.

                                                              + *

                                                              For more information, see SeverityLevel and Choosing a + * Severity in the AWS Support User Guide.

                                                              + * + *

                                                              The availability of severity levels depends on the support plan for the AWS + * account.

                                                              + *
                                                              + */ + severityCode?: string; + + /** + *

                                                              The category of problem for the AWS Support case. You also use the DescribeServices operation to get the category code for a service. Each + * AWS service defines its own set of category codes.

                                                              + */ + categoryCode?: string; } export namespace CreateCaseRequest { @@ -443,26 +443,20 @@ export namespace DescribeAttachmentResponse { export interface DescribeCasesRequest { /** - *

                                                              Specifies whether to include resolved support cases in the DescribeCases - * response. By default, resolved cases aren't included.

                                                              - */ - includeResolvedCases?: boolean; - - /** - *

                                                              A list of ID numbers of the support cases you want returned. The maximum number of - * cases is 100.

                                                              + *

                                                              A resumption point for pagination.

                                                              */ - caseIdList?: string[]; + nextToken?: string; /** - *

                                                              A resumption point for pagination.

                                                              + *

                                                              The ID displayed for a case in the AWS Support Center user interface.

                                                              */ - nextToken?: string; + displayId?: string; /** - *

                                                              The maximum number of results to return before paginating.

                                                              + *

                                                              Specifies whether to include communications in the DescribeCases + * response. By default, communications are incuded.

                                                              */ - maxResults?: number; + includeCommunications?: boolean; /** *

                                                              The end date for a filtered date search on support case communications. Case @@ -471,15 +465,21 @@ export interface DescribeCasesRequest { beforeTime?: string; /** - *

                                                              The ID displayed for a case in the AWS Support Center user interface.

                                                              + *

                                                              A list of ID numbers of the support cases you want returned. The maximum number of + * cases is 100.

                                                              */ - displayId?: string; + caseIdList?: string[]; /** - *

                                                              Specifies whether to include communications in the DescribeCases - * response. By default, communications are incuded.

                                                              + *

                                                              Specifies whether to include resolved support cases in the DescribeCases + * response. By default, resolved cases aren't included.

                                                              */ - includeCommunications?: boolean; + includeResolvedCases?: boolean; + + /** + *

                                                              The maximum number of results to return before paginating.

                                                              + */ + maxResults?: number; /** *

                                                              The start date for a filtered date search on support case communications. Case @@ -512,16 +512,6 @@ export interface Communication { */ attachmentSet?: AttachmentDetails[]; - /** - *

                                                              The time the communication was created.

                                                              - */ - timeCreated?: string; - - /** - *

                                                              The text of the communication between the customer and AWS Support.

                                                              - */ - body?: string; - /** *

                                                              The identity of the account that submitted, or responded to, the support case. * Customer entries include the role or IAM user as well as the email address. For example, @@ -538,6 +528,16 @@ export interface Communication { *

                                                              */ caseId?: string; + + /** + *

                                                              The time the communication was created.

                                                              + */ + timeCreated?: string; + + /** + *

                                                              The text of the communication between the customer and AWS Support.

                                                              + */ + body?: string; } export namespace Communication { @@ -673,11 +673,63 @@ export namespace RecentCaseCommunications { * */ export interface CaseDetails { + /** + *

                                                              The code for the AWS service. You can get a list of codes and the corresponding + * service names by calling DescribeServices.

                                                              + */ + serviceCode?: string; + + /** + *

                                                              The ID displayed for the case in the AWS Support Center. This is a numeric + * string.

                                                              + */ + displayId?: string; + + /** + *

                                                              The category of problem for the AWS Support case.

                                                              + */ + categoryCode?: string; + + /** + *

                                                              The code for the severity level returned by the call to DescribeSeverityLevels.

                                                              + */ + severityCode?: string; + + /** + *

                                                              The time that the case was created in the AWS Support Center.

                                                              + */ + timeCreated?: string; + + /** + *

                                                              The AWS Support case ID requested or returned in the call. The case ID is an + * alphanumeric string formatted as shown in this example: + * case-12345678910-2013-c4c1d2bf33c5cf47 + *

                                                              + */ + caseId?: string; + /** *

                                                              The email addresses that receive copies of communication about the case.

                                                              */ ccEmailAddresses?: string[]; + /** + *

                                                              The ISO 639-1 code for the language in which AWS provides support. AWS Support + * currently supports English ("en") and Japanese ("ja"). Language parameters must be + * passed explicitly for operations that take them.

                                                              + */ + language?: string; + + /** + *

                                                              The subject line for the case in the AWS Support Center.

                                                              + */ + subject?: string; + + /** + *

                                                              The email address of the account that submitted the case.

                                                              + */ + submittedBy?: string; + /** *

                                                              The status of the case.

                                                              *

                                                              Valid values:

                                                              @@ -716,64 +768,12 @@ export interface CaseDetails { */ status?: string; - /** - *

                                                              The code for the AWS service. You can get a list of codes and the corresponding - * service names by calling DescribeServices.

                                                              - */ - serviceCode?: string; - - /** - *

                                                              The category of problem for the AWS Support case.

                                                              - */ - categoryCode?: string; - - /** - *

                                                              The time that the case was created in the AWS Support Center.

                                                              - */ - timeCreated?: string; - - /** - *

                                                              The code for the severity level returned by the call to DescribeSeverityLevels.

                                                              - */ - severityCode?: string; - - /** - *

                                                              The ISO 639-1 code for the language in which AWS provides support. AWS Support - * currently supports English ("en") and Japanese ("ja"). Language parameters must be - * passed explicitly for operations that take them.

                                                              - */ - language?: string; - - /** - *

                                                              The AWS Support case ID requested or returned in the call. The case ID is an - * alphanumeric string formatted as shown in this example: - * case-12345678910-2013-c4c1d2bf33c5cf47 - *

                                                              - */ - caseId?: string; - - /** - *

                                                              The email address of the account that submitted the case.

                                                              - */ - submittedBy?: string; - /** *

                                                              The five most recent communications between you and AWS Support Center, including the * IDs of any attachments to the communications. Also includes a nextToken * that you can use to retrieve earlier communications.

                                                              */ recentCommunications?: RecentCaseCommunications; - - /** - *

                                                              The subject line for the case in the AWS Support Center.

                                                              - */ - subject?: string; - - /** - *

                                                              The ID displayed for the case in the AWS Support Center. This is a numeric - * string.

                                                              - */ - displayId?: string; } export namespace CaseDetails { @@ -789,14 +789,14 @@ export namespace CaseDetails { */ export interface DescribeCasesResponse { /** - *

                                                              The details for the cases that match the request.

                                                              + *

                                                              A resumption point for pagination.

                                                              */ - cases?: CaseDetails[]; + nextToken?: string; /** - *

                                                              A resumption point for pagination.

                                                              + *

                                                              The details for the cases that match the request.

                                                              */ - nextToken?: string; + cases?: CaseDetails[]; } export namespace DescribeCasesResponse { @@ -806,6 +806,11 @@ export namespace DescribeCasesResponse { } export interface DescribeCommunicationsRequest { + /** + *

                                                              The maximum number of results to return before paginating.

                                                              + */ + maxResults?: number; + /** *

                                                              The AWS Support case ID requested or returned in the call. The case ID is an * alphanumeric string formatted as shown in this example: @@ -814,11 +819,6 @@ export interface DescribeCommunicationsRequest { */ caseId: string | undefined; - /** - *

                                                              The maximum number of results to return before paginating.

                                                              - */ - maxResults?: number; - /** *

                                                              The start date for a filtered date search on support case communications. Case * communications are available for 12 months after creation.

                                                              @@ -826,15 +826,15 @@ export interface DescribeCommunicationsRequest { afterTime?: string; /** - *

                                                              The end date for a filtered date search on support case communications. Case - * communications are available for 12 months after creation.

                                                              + *

                                                              A resumption point for pagination.

                                                              */ - beforeTime?: string; + nextToken?: string; /** - *

                                                              A resumption point for pagination.

                                                              + *

                                                              The end date for a filtered date search on support case communications. Case + * communications are available for 12 months after creation.

                                                              */ - nextToken?: string; + beforeTime?: string; } export namespace DescribeCommunicationsRequest { @@ -892,14 +892,14 @@ export namespace DescribeServicesRequest { */ export interface Category { /** - *

                                                              The category name for the support case.

                                                              + *

                                                              The category code for the support case.

                                                              */ - name?: string; + code?: string; /** - *

                                                              The category code for the support case.

                                                              + *

                                                              The category name for the support case.

                                                              */ - code?: string; + name?: string; } export namespace Category { @@ -913,6 +913,12 @@ export namespace Category { * operation.

                                                              */ export interface Service { + /** + *

                                                              The friendly name for an AWS service. The code element contains the + * corresponding code.

                                                              + */ + name?: string; + /** *

                                                              A list of categories that describe the type of support issue a case describes. * Categories consist of a category name and a category code. Category names and codes are @@ -925,12 +931,6 @@ export interface Service { * response. The name element contains the corresponding friendly name.

                                                              */ code?: string; - - /** - *

                                                              The friendly name for an AWS service. The code element contains the - * corresponding code.

                                                              - */ - name?: string; } export namespace Service { @@ -1073,6 +1073,11 @@ export interface TrustedAdvisorCheckRefreshStatus { */ millisUntilNextRefreshable: number | undefined; + /** + *

                                                              The unique identifier for the Trusted Advisor check.

                                                              + */ + checkId: string | undefined; + /** *

                                                              The status of the Trusted Advisor check for which a refresh has been requested: *

                                                              @@ -1103,11 +1108,6 @@ export interface TrustedAdvisorCheckRefreshStatus { * */ status: string | undefined; - - /** - *

                                                              The unique identifier for the Trusted Advisor check.

                                                              - */ - checkId: string | undefined; } export namespace TrustedAdvisorCheckRefreshStatus { @@ -1136,17 +1136,17 @@ export namespace DescribeTrustedAdvisorCheckRefreshStatusesResponse { *

                                                              */ export interface DescribeTrustedAdvisorCheckResultRequest { - /** - *

                                                              The unique identifier for the Trusted Advisor check.

                                                              - */ - checkId: string | undefined; - /** *

                                                              The ISO 639-1 code for the language in which AWS provides support. AWS Support * currently supports English ("en") and Japanese ("ja"). Language parameters must be * passed explicitly for operations that take them.

                                                              */ language?: string; + + /** + *

                                                              The unique identifier for the Trusted Advisor check.

                                                              + */ + checkId: string | undefined; } export namespace DescribeTrustedAdvisorCheckResultRequest { @@ -1160,17 +1160,17 @@ export namespace DescribeTrustedAdvisorCheckResultRequest { * taken.

                                                              */ export interface TrustedAdvisorCostOptimizingSummary { - /** - *

                                                              The estimated monthly savings that might be realized if the recommended operations are - * taken.

                                                              - */ - estimatedMonthlySavings: number | undefined; - /** *

                                                              The estimated percentage of savings that might be realized if the recommended * operations are taken.

                                                              */ estimatedPercentMonthlySavings: number | undefined; + + /** + *

                                                              The estimated monthly savings that might be realized if the recommended operations are + * taken.

                                                              + */ + estimatedMonthlySavings: number | undefined; } export namespace TrustedAdvisorCostOptimizingSummary { @@ -1202,14 +1202,17 @@ export namespace TrustedAdvisorCategorySpecificSummary { */ export interface TrustedAdvisorResourceDetail { /** - *

                                                              The AWS region in which the identified resource is located.

                                                              + *

                                                              The unique identifier for the identified resource.

                                                              */ - region?: string; + resourceId: string | undefined; /** - *

                                                              The unique identifier for the identified resource.

                                                              + *

                                                              Additional information about the identified resource. The exact metadata and its order + * can be obtained by inspecting the TrustedAdvisorCheckDescription + * object returned by the call to DescribeTrustedAdvisorChecks. Metadata contains all the data that is shown in the Excel + * download, even in those cases where the UI shows just summary data.

                                                              */ - resourceId: string | undefined; + metadata: string[] | undefined; /** *

                                                              Specifies whether the AWS resource was ignored by Trusted Advisor because it was @@ -1218,17 +1221,14 @@ export interface TrustedAdvisorResourceDetail { isSuppressed?: boolean; /** - *

                                                              The status code for the resource identified in the Trusted Advisor check.

                                                              + *

                                                              The AWS region in which the identified resource is located.

                                                              */ - status: string | undefined; + region?: string; /** - *

                                                              Additional information about the identified resource. The exact metadata and its order - * can be obtained by inspecting the TrustedAdvisorCheckDescription - * object returned by the call to DescribeTrustedAdvisorChecks. Metadata contains all the data that is shown in the Excel - * download, even in those cases where the UI shows just summary data.

                                                              + *

                                                              The status code for the resource identified in the Trusted Advisor check.

                                                              */ - metadata: string[] | undefined; + status: string | undefined; } export namespace TrustedAdvisorResourceDetail { @@ -1247,17 +1247,17 @@ export interface TrustedAdvisorResourcesSummary { */ resourcesSuppressed: number | undefined; - /** - *

                                                              The number of AWS resources that were analyzed by the Trusted Advisor check.

                                                              - */ - resourcesProcessed: number | undefined; - /** *

                                                              The number of AWS resources ignored by Trusted Advisor because information was * unavailable.

                                                              */ resourcesIgnored: number | undefined; + /** + *

                                                              The number of AWS resources that were analyzed by the Trusted Advisor check.

                                                              + */ + resourcesProcessed: number | undefined; + /** *

                                                              The number of AWS resources that were flagged (listed) by the Trusted Advisor * check.

                                                              @@ -1276,10 +1276,9 @@ export namespace TrustedAdvisorResourcesSummary { */ export interface TrustedAdvisorCheckResult { /** - *

                                                              The alert status of the check: "ok" (green), "warning" (yellow), "error" (red), or - * "not_available".

                                                              + *

                                                              The details about each resource listed in the check result.

                                                              */ - status: string | undefined; + flaggedResources: TrustedAdvisorResourceDetail[] | undefined; /** *

                                                              Details about AWS resources that were analyzed in a call to Trusted Advisor DescribeTrustedAdvisorCheckSummaries.

                                                              @@ -1287,25 +1286,26 @@ export interface TrustedAdvisorCheckResult { resourcesSummary: TrustedAdvisorResourcesSummary | undefined; /** - *

                                                              The time of the last refresh of the check.

                                                              + *

                                                              Summary information that relates to the category of the check. Cost Optimizing is the + * only category that is currently supported.

                                                              */ - timestamp: string | undefined; + categorySpecificSummary: TrustedAdvisorCategorySpecificSummary | undefined; /** - *

                                                              The details about each resource listed in the check result.

                                                              + *

                                                              The time of the last refresh of the check.

                                                              */ - flaggedResources: TrustedAdvisorResourceDetail[] | undefined; + timestamp: string | undefined; /** - *

                                                              Summary information that relates to the category of the check. Cost Optimizing is the - * only category that is currently supported.

                                                              + *

                                                              The unique identifier for the Trusted Advisor check.

                                                              */ - categorySpecificSummary: TrustedAdvisorCategorySpecificSummary | undefined; + checkId: string | undefined; /** - *

                                                              The unique identifier for the Trusted Advisor check.

                                                              + *

                                                              The alert status of the check: "ok" (green), "warning" (yellow), "error" (red), or + * "not_available".

                                                              */ - checkId: string | undefined; + status: string | undefined; } export namespace TrustedAdvisorCheckResult { @@ -1350,25 +1350,25 @@ export namespace DescribeTrustedAdvisorChecksRequest { */ export interface TrustedAdvisorCheckDescription { /** - *

                                                              The display name for the Trusted Advisor check.

                                                              + *

                                                              The category of the Trusted Advisor check.

                                                              */ - name: string | undefined; + category: string | undefined; /** - *

                                                              The description of the Trusted Advisor check, which includes the alert criteria and - * recommended operations (contains HTML markup).

                                                              + *

                                                              The unique identifier for the Trusted Advisor check.

                                                              */ - description: string | undefined; + id: string | undefined; /** - *

                                                              The category of the Trusted Advisor check.

                                                              + *

                                                              The display name for the Trusted Advisor check.

                                                              */ - category: string | undefined; + name: string | undefined; /** - *

                                                              The unique identifier for the Trusted Advisor check.

                                                              + *

                                                              The description of the Trusted Advisor check, which includes the alert criteria and + * recommended operations (contains HTML markup).

                                                              */ - id: string | undefined; + description: string | undefined; /** *

                                                              The column headings for the data returned by the Trusted Advisor check. The order of @@ -1421,31 +1421,31 @@ export namespace DescribeTrustedAdvisorCheckSummariesRequest { */ export interface TrustedAdvisorCheckSummary { /** - *

                                                              The unique identifier for the Trusted Advisor check.

                                                              + *

                                                              Summary information that relates to the category of the check. Cost Optimizing is the + * only category that is currently supported.

                                                              */ - checkId: string | undefined; + categorySpecificSummary: TrustedAdvisorCategorySpecificSummary | undefined; /** - *

                                                              The alert status of the check: "ok" (green), "warning" (yellow), "error" (red), or - * "not_available".

                                                              + *

                                                              Details about AWS resources that were analyzed in a call to Trusted Advisor DescribeTrustedAdvisorCheckSummaries.

                                                              */ - status: string | undefined; + resourcesSummary: TrustedAdvisorResourcesSummary | undefined; /** - *

                                                              Details about AWS resources that were analyzed in a call to Trusted Advisor DescribeTrustedAdvisorCheckSummaries.

                                                              + *

                                                              The time of the last refresh of the check.

                                                              */ - resourcesSummary: TrustedAdvisorResourcesSummary | undefined; + timestamp: string | undefined; /** - *

                                                              Summary information that relates to the category of the check. Cost Optimizing is the - * only category that is currently supported.

                                                              + *

                                                              The unique identifier for the Trusted Advisor check.

                                                              */ - categorySpecificSummary: TrustedAdvisorCategorySpecificSummary | undefined; + checkId: string | undefined; /** - *

                                                              The time of the last refresh of the check.

                                                              + *

                                                              The alert status of the check: "ok" (green), "warning" (yellow), "error" (red), or + * "not_available".

                                                              */ - timestamp: string | undefined; + status: string | undefined; /** *

                                                              Specifies whether the Trusted Advisor check has flagged resources.

                                                              diff --git a/clients/client-support/pagination/DescribeCasesPaginator.ts b/clients/client-support/pagination/DescribeCasesPaginator.ts new file mode 100644 index 000000000000..cb05e9b98773 --- /dev/null +++ b/clients/client-support/pagination/DescribeCasesPaginator.ts @@ -0,0 +1,51 @@ +import { Support } from "../Support"; +import { SupportClient } from "../SupportClient"; +import { + DescribeCasesCommand, + DescribeCasesCommandInput, + DescribeCasesCommandOutput, +} from "../commands/DescribeCasesCommand"; +import { SupportPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SupportClient, + input: DescribeCasesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeCasesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Support, + input: DescribeCasesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeCases(input, ...args); +}; +export async function* describeCasesPaginate( + config: SupportPaginationConfiguration, + input: DescribeCasesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeCasesCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Support) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SupportClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Support | SupportClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-support/pagination/DescribeCommunicationsPaginator.ts b/clients/client-support/pagination/DescribeCommunicationsPaginator.ts new file mode 100644 index 000000000000..373d9092ecc2 --- /dev/null +++ b/clients/client-support/pagination/DescribeCommunicationsPaginator.ts @@ -0,0 +1,51 @@ +import { Support } from "../Support"; +import { SupportClient } from "../SupportClient"; +import { + DescribeCommunicationsCommand, + DescribeCommunicationsCommandInput, + DescribeCommunicationsCommandOutput, +} from "../commands/DescribeCommunicationsCommand"; +import { SupportPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: SupportClient, + input: DescribeCommunicationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeCommunicationsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Support, + input: DescribeCommunicationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeCommunications(input, ...args); +}; +export async function* describeCommunicationsPaginate( + config: SupportPaginationConfiguration, + input: DescribeCommunicationsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: DescribeCommunicationsCommandOutput; + while (hasNext) { + input["nextToken"] = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof Support) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof SupportClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Support | SupportClient"); + } + yield page; + token = page["nextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-support/pagination/Interfaces.ts b/clients/client-support/pagination/Interfaces.ts new file mode 100644 index 000000000000..1af9d21d4f97 --- /dev/null +++ b/clients/client-support/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { Support } from "../Support"; +import { SupportClient } from "../SupportClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface SupportPaginationConfiguration extends PaginationConfiguration { + client: Support | SupportClient; +} diff --git a/clients/client-swf/models/models_0.ts b/clients/client-swf/models/models_0.ts index 1f11f31dffcb..f4105d0c4ed1 100644 --- a/clients/client-swf/models/models_0.ts +++ b/clients/client-swf/models/models_0.ts @@ -53,25 +53,20 @@ export namespace WorkflowExecution { *

                                                              Unit of work sent to an activity worker.

                                                              */ export interface ActivityTask { - /** - *

                                                              The unique ID of the task.

                                                              - */ - activityId: string | undefined; - /** *

                                                              The inputs provided when the activity task was scheduled. The form of the input is user defined and should be meaningful to the activity implementation.

                                                              */ input?: string; /** - *

                                                              The workflow execution that started this activity task.

                                                              + *

                                                              The unique ID of the task.

                                                              */ - workflowExecution: WorkflowExecution | undefined; + activityId: string | undefined; /** - *

                                                              The ID of the ActivityTaskStarted event recorded in the history.

                                                              + *

                                                              The opaque string used as a handle on the task. This token is used by workers to communicate progress and response information back to the system about the task.

                                                              */ - startedEventId: number | undefined; + taskToken: string | undefined; /** *

                                                              The type of this activity task.

                                                              @@ -79,9 +74,14 @@ export interface ActivityTask { activityType: ActivityType | undefined; /** - *

                                                              The opaque string used as a handle on the task. This token is used by workers to communicate progress and response information back to the system about the task.

                                                              + *

                                                              The workflow execution that started this activity task.

                                                              */ - taskToken: string | undefined; + workflowExecution: WorkflowExecution | undefined; + + /** + *

                                                              The ID of the ActivityTaskStarted event recorded in the history.

                                                              + */ + startedEventId: number | undefined; } export namespace ActivityTask { @@ -95,14 +95,16 @@ export namespace ActivityTask { */ export interface ActivityTaskCanceledEventAttributes { /** - *

                                                              The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              + *

                                                              The ID of the ActivityTaskStarted event recorded when this activity task was started. This + * information can be useful for diagnosing problems by tracing back the chain of events leading up to this + * event.

                                                              */ - scheduledEventId: number | undefined; + startedEventId: number | undefined; /** - *

                                                              If set, contains the ID of the last ActivityTaskCancelRequested event recorded for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              + *

                                                              The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              */ - latestCancelRequestedEventId?: number; + scheduledEventId: number | undefined; /** *

                                                              Details of the cancellation.

                                                              @@ -110,11 +112,9 @@ export interface ActivityTaskCanceledEventAttributes { details?: string; /** - *

                                                              The ID of the ActivityTaskStarted event recorded when this activity task was started. This - * information can be useful for diagnosing problems by tracing back the chain of events leading up to this - * event.

                                                              + *

                                                              If set, contains the ID of the last ActivityTaskCancelRequested event recorded for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              */ - startedEventId: number | undefined; + latestCancelRequestedEventId?: number; } export namespace ActivityTaskCanceledEventAttributes { @@ -150,9 +150,11 @@ export namespace ActivityTaskCancelRequestedEventAttributes { */ export interface ActivityTaskCompletedEventAttributes { /** - *

                                                              The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              + *

                                                              The ID of the ActivityTaskStarted event recorded when this activity task was started. This + * information can be useful for diagnosing problems by tracing back the chain of events leading up to this + * event.

                                                              */ - scheduledEventId: number | undefined; + startedEventId: number | undefined; /** *

                                                              The results of the activity task.

                                                              @@ -160,11 +162,9 @@ export interface ActivityTaskCompletedEventAttributes { result?: string; /** - *

                                                              The ID of the ActivityTaskStarted event recorded when this activity task was started. This - * information can be useful for diagnosing problems by tracing back the chain of events leading up to this - * event.

                                                              + *

                                                              The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              */ - startedEventId: number | undefined; + scheduledEventId: number | undefined; } export namespace ActivityTaskCompletedEventAttributes { @@ -178,26 +178,26 @@ export namespace ActivityTaskCompletedEventAttributes { */ export interface ActivityTaskFailedEventAttributes { /** - *

                                                              The ID of the ActivityTaskStarted event recorded when this activity task was started. This - * information can be useful for diagnosing problems by tracing back the chain of events leading up to this - * event.

                                                              + *

                                                              The details of the failure.

                                                              */ - startedEventId: number | undefined; + details?: string; /** - *

                                                              The reason provided for the failure.

                                                              + *

                                                              The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              */ - reason?: string; + scheduledEventId: number | undefined; /** - *

                                                              The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              + *

                                                              The reason provided for the failure.

                                                              */ - scheduledEventId: number | undefined; + reason?: string; /** - *

                                                              The details of the failure.

                                                              + *

                                                              The ID of the ActivityTaskStarted event recorded when this activity task was started. This + * information can be useful for diagnosing problems by tracing back the chain of events leading up to this + * event.

                                                              */ - details?: string; + startedEventId: number | undefined; } export namespace ActivityTaskFailedEventAttributes { @@ -227,34 +227,36 @@ export namespace TaskList { */ export interface ActivityTaskScheduledEventAttributes { /** - *

                                                              - * The priority to assign to the scheduled activity task. If set, this overrides any default - * priority value that was assigned when the activity type was registered.

                                                              - *

                                                              Valid values are integers that range from Java's Integer.MIN_VALUE - * (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

                                                              - *

                                                              For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

                                                              + *

                                                              The task list in which the activity task has been scheduled.

                                                              */ - taskPriority?: string; + taskList: TaskList | undefined; /** - *

                                                              Data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the activity.

                                                              + *

                                                              The maximum amount of time the activity task can wait to be assigned to a worker.

                                                              */ - control?: string; + scheduleToStartTimeout?: string; /** - *

                                                              The task list in which the activity task has been scheduled.

                                                              + *

                                                              The maximum time before which the worker processing this task must report progress by calling + * RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. If + * the worker subsequently attempts to record a heartbeat or return a result, it is ignored.

                                                              */ - taskList: TaskList | undefined; + heartbeatTimeout?: string; /** - *

                                                              The type of the activity task.

                                                              + *

                                                              The maximum amount of time for this activity task.

                                                              */ - activityType: ActivityType | undefined; + scheduleToCloseTimeout?: string; /** - *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision that resulted in the scheduling of this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              + *

                                                              + * The priority to assign to the scheduled activity task. If set, this overrides any default + * priority value that was assigned when the activity type was registered.

                                                              + *

                                                              Valid values are integers that range from Java's Integer.MIN_VALUE + * (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

                                                              + *

                                                              For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

                                                              */ - decisionTaskCompletedEventId: number | undefined; + taskPriority?: string; /** *

                                                              The maximum amount of time a worker may take to process the activity task.

                                                              @@ -272,21 +274,19 @@ export interface ActivityTaskScheduledEventAttributes { activityId: string | undefined; /** - *

                                                              The maximum time before which the worker processing this task must report progress by calling - * RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. If - * the worker subsequently attempts to record a heartbeat or return a result, it is ignored.

                                                              + *

                                                              The type of the activity task.

                                                              */ - heartbeatTimeout?: string; + activityType: ActivityType | undefined; /** - *

                                                              The maximum amount of time the activity task can wait to be assigned to a worker.

                                                              + *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision that resulted in the scheduling of this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              */ - scheduleToStartTimeout?: string; + decisionTaskCompletedEventId: number | undefined; /** - *

                                                              The maximum amount of time for this activity task.

                                                              + *

                                                              Data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the activity.

                                                              */ - scheduleToCloseTimeout?: string; + control?: string; } export namespace ActivityTaskScheduledEventAttributes { @@ -339,16 +339,9 @@ export type ActivityTaskTimeoutType = "HEARTBEAT" | "SCHEDULE_TO_CLOSE" | "SCHED */ export interface ActivityTaskTimedOutEventAttributes { /** - *

                                                              The ID of the ActivityTaskStarted event recorded when this activity task was started. This - * information can be useful for diagnosing problems by tracing back the chain of events leading up to this - * event.

                                                              - */ - startedEventId: number | undefined; - - /** - *

                                                              The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              + *

                                                              The type of the timeout that caused this event.

                                                              */ - scheduledEventId: number | undefined; + timeoutType: ActivityTaskTimeoutType | string | undefined; /** *

                                                              Contains the content of the details parameter for the last call made by the activity to @@ -357,9 +350,16 @@ export interface ActivityTaskTimedOutEventAttributes { details?: string; /** - *

                                                              The type of the timeout that caused this event.

                                                              + *

                                                              The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              */ - timeoutType: ActivityTaskTimeoutType | string | undefined; + scheduledEventId: number | undefined; + + /** + *

                                                              The ID of the ActivityTaskStarted event recorded when this activity task was started. This + * information can be useful for diagnosing problems by tracing back the chain of events leading up to this + * event.

                                                              + */ + startedEventId: number | undefined; } export namespace ActivityTaskTimedOutEventAttributes { @@ -388,12 +388,23 @@ export interface ActivityTypeConfiguration { /** *

                                                              - * The default maximum duration for tasks of an activity type specified when registering the activity + * The default task priority for tasks of this activity type, specified at registration. If not + * set, then 0 is used as the default priority. This default can be overridden when scheduling an activity + * task.

                                                              + *

                                                              Valid values are integers that range from Java's Integer.MIN_VALUE + * (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

                                                              + *

                                                              For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

                                                              + */ + defaultTaskPriority?: string; + + /** + *

                                                              + * The default maximum duration, specified when registering the activity type, for tasks of this activity * type. You can override this default when scheduling a task through the ScheduleActivityTask * Decision.

                                                              *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              */ - defaultTaskStartToCloseTimeout?: string; + defaultTaskScheduleToCloseTimeout?: string; /** *

                                                              @@ -417,23 +428,12 @@ export interface ActivityTypeConfiguration { /** *

                                                              - * The default maximum duration, specified when registering the activity type, for tasks of this activity + * The default maximum duration for tasks of an activity type specified when registering the activity * type. You can override this default when scheduling a task through the ScheduleActivityTask * Decision.

                                                              *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              */ - defaultTaskScheduleToCloseTimeout?: string; - - /** - *

                                                              - * The default task priority for tasks of this activity type, specified at registration. If not - * set, then 0 is used as the default priority. This default can be overridden when scheduling an activity - * task.

                                                              - *

                                                              Valid values are integers that range from Java's Integer.MIN_VALUE - * (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

                                                              - *

                                                              For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

                                                              - */ - defaultTaskPriority?: string; + defaultTaskStartToCloseTimeout?: string; } export namespace ActivityTypeConfiguration { @@ -454,14 +454,14 @@ export interface ActivityTypeInfo { description?: string; /** - *

                                                              The current status of the activity type.

                                                              + *

                                                              The date and time this activity type was created through RegisterActivityType.

                                                              */ - status: RegistrationStatus | string | undefined; + creationDate: Date | undefined; /** - *

                                                              If DEPRECATED, the date and time DeprecateActivityType was called.

                                                              + *

                                                              The current status of the activity type.

                                                              */ - deprecationDate?: Date; + status: RegistrationStatus | string | undefined; /** *

                                                              The ActivityType type structure representing the activity type.

                                                              @@ -469,9 +469,9 @@ export interface ActivityTypeInfo { activityType: ActivityType | undefined; /** - *

                                                              The date and time this activity type was created through RegisterActivityType.

                                                              + *

                                                              If DEPRECATED, the date and time DeprecateActivityType was called.

                                                              */ - creationDate: Date | undefined; + deprecationDate?: Date; } export namespace ActivityTypeInfo { @@ -484,6 +484,11 @@ export namespace ActivityTypeInfo { *

                                                              Detailed information about an activity type.

                                                              */ export interface ActivityTypeDetail { + /** + *

                                                              The configuration settings registered with the activity type.

                                                              + */ + configuration: ActivityTypeConfiguration | undefined; + /** *

                                                              General information about the activity type.

                                                              *

                                                              The status of activity type (returned in the ActivityTypeInfo structure) can be one of the following.

                                                              @@ -504,11 +509,6 @@ export interface ActivityTypeDetail { * */ typeInfo: ActivityTypeInfo | undefined; - - /** - *

                                                              The configuration settings registered with the activity type.

                                                              - */ - configuration: ActivityTypeConfiguration | undefined; } export namespace ActivityTypeDetail { @@ -585,14 +585,9 @@ export type CancelTimerFailedCause = "OPERATION_NOT_PERMITTED" | "TIMER_ID_UNKNO */ export interface CancelTimerFailedEventAttributes { /** - *

                                                              The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

                                                              - * - *

                                                              If cause is set to OPERATION_NOT_PERMITTED, the decision failed - * because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows - * in the Amazon SWF Developer Guide.

                                                              - *
                                                              + *

                                                              The timerId provided in the CancelTimer decision that failed.

                                                              */ - cause: CancelTimerFailedCause | string | undefined; + timerId: string | undefined; /** *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CancelTimer decision to cancel this timer. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              @@ -600,9 +595,14 @@ export interface CancelTimerFailedEventAttributes { decisionTaskCompletedEventId: number | undefined; /** - *

                                                              The timerId provided in the CancelTimer decision that failed.

                                                              + *

                                                              The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

                                                              + * + *

                                                              If cause is set to OPERATION_NOT_PERMITTED, the decision failed + * because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows + * in the Amazon SWF Developer Guide.

                                                              + *
                                                              */ - timerId: string | undefined; + cause: CancelTimerFailedCause | string | undefined; } export namespace CancelTimerFailedEventAttributes { @@ -684,21 +684,21 @@ export type ChildPolicy = "ABANDON" | "REQUEST_CANCEL" | "TERMINATE"; export interface WorkflowType { /** *

                                                              - * The version of the workflow type.

                                                              + * The name of the workflow type.

                                                              * *

                                                              The combination of workflow type name and version must be unique with in a domain.

                                                              *
                                                              */ - version: string | undefined; + name: string | undefined; /** *

                                                              - * The name of the workflow type.

                                                              + * The version of the workflow type.

                                                              * *

                                                              The combination of workflow type name and version must be unique with in a domain.

                                                              *
                                                              */ - name: string | undefined; + version: string | undefined; } export namespace WorkflowType { @@ -716,6 +716,11 @@ export interface ChildWorkflowExecutionCanceledEventAttributes { */ workflowType: WorkflowType | undefined; + /** + *

                                                              Details of the cancellation (if provided).

                                                              + */ + details?: string; + /** *

                                                              The ID of the StartChildWorkflowExecutionInitiated event corresponding to the * StartChildWorkflowExecution @@ -726,21 +731,16 @@ export interface ChildWorkflowExecutionCanceledEventAttributes { initiatedEventId: number | undefined; /** - *

                                                              Details of the cancellation (if provided).

                                                              + *

                                                              The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was + * started. This information can be useful for diagnosing problems by tracing back the chain of + * events leading up to this event.

                                                              */ - details?: string; + startedEventId: number | undefined; /** *

                                                              The child workflow execution that was canceled.

                                                              */ workflowExecution: WorkflowExecution | undefined; - - /** - *

                                                              The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was - * started. This information can be useful for diagnosing problems by tracing back the chain of - * events leading up to this event.

                                                              - */ - startedEventId: number | undefined; } export namespace ChildWorkflowExecutionCanceledEventAttributes { @@ -753,6 +753,11 @@ export namespace ChildWorkflowExecutionCanceledEventAttributes { *

                                                              Provides the details of the ChildWorkflowExecutionCompleted event.

                                                              */ export interface ChildWorkflowExecutionCompletedEventAttributes { + /** + *

                                                              The type of the child workflow execution.

                                                              + */ + workflowType: WorkflowType | undefined; + /** *

                                                              The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was * started. This information can be useful for diagnosing problems by tracing back the chain of @@ -761,21 +766,16 @@ export interface ChildWorkflowExecutionCompletedEventAttributes { startedEventId: number | undefined; /** - *

                                                              The type of the child workflow execution.

                                                              + *

                                                              The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution + * Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              */ - workflowType: WorkflowType | undefined; + initiatedEventId: number | undefined; /** *

                                                              The child workflow execution that was completed.

                                                              */ workflowExecution: WorkflowExecution | undefined; - /** - *

                                                              The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution - * Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

                                                              - */ - initiatedEventId: number | undefined; - /** *

                                                              The result of the child workflow execution.

                                                              */ @@ -799,11 +799,6 @@ export interface ChildWorkflowExecutionFailedEventAttributes { */ startedEventId: number | undefined; - /** - *

                                                              The type of the child workflow execution.

                                                              - */ - workflowType: WorkflowType | undefined; - /** *

                                                              The ID of the StartChildWorkflowExecutionInitiated event corresponding to the * StartChildWorkflowExecution @@ -814,19 +809,24 @@ export interface ChildWorkflowExecutionFailedEventAttributes { initiatedEventId: number | undefined; /** - *

                                                              The reason for the failure (if provided).

                                                              + *

                                                              The child workflow execution that failed.

                                                              + */ + workflowExecution: WorkflowExecution | undefined; + + /** + *

                                                              The reason for the failure (if provided).

                                                              */ reason?: string; /** - *

                                                              The details of the failure (if provided).

                                                              + *

                                                              The type of the child workflow execution.

                                                              */ - details?: string; + workflowType: WorkflowType | undefined; /** - *

                                                              The child workflow execution that failed.

                                                              + *

                                                              The details of the failure (if provided).

                                                              */ - workflowExecution: WorkflowExecution | undefined; + details?: string; } export namespace ChildWorkflowExecutionFailedEventAttributes { @@ -839,11 +839,6 @@ export namespace ChildWorkflowExecutionFailedEventAttributes { *

                                                              Provides the details of the ChildWorkflowExecutionStarted event.

                                                              */ export interface ChildWorkflowExecutionStartedEventAttributes { - /** - *

                                                              The type of the child workflow execution.

                                                              - */ - workflowType: WorkflowType | undefined; - /** *

                                                              The child workflow execution that was started.

                                                              */ @@ -857,6 +852,11 @@ export interface ChildWorkflowExecutionStartedEventAttributes { * events leading up to this event.

                                                              */ initiatedEventId: number | undefined; + + /** + *

                                                              The type of the child workflow execution.

                                                              + */ + workflowType: WorkflowType | undefined; } export namespace ChildWorkflowExecutionStartedEventAttributes { @@ -875,13 +875,11 @@ export interface ChildWorkflowExecutionTerminatedEventAttributes { workflowExecution: WorkflowExecution | undefined; /** - *

                                                              The ID of the StartChildWorkflowExecutionInitiated event corresponding to the - * StartChildWorkflowExecution - * Decision to start this child workflow execution. - * This information can be useful for diagnosing problems by tracing back the chain of + *

                                                              The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was + * started. This information can be useful for diagnosing problems by tracing back the chain of * events leading up to this event.

                                                              */ - initiatedEventId: number | undefined; + startedEventId: number | undefined; /** *

                                                              The type of the child workflow execution.

                                                              @@ -889,11 +887,13 @@ export interface ChildWorkflowExecutionTerminatedEventAttributes { workflowType: WorkflowType | undefined; /** - *

                                                              The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was - * started. This information can be useful for diagnosing problems by tracing back the chain of + *

                                                              The ID of the StartChildWorkflowExecutionInitiated event corresponding to the + * StartChildWorkflowExecution + * Decision to start this child workflow execution. + * This information can be useful for diagnosing problems by tracing back the chain of * events leading up to this event.

                                                              */ - startedEventId: number | undefined; + initiatedEventId: number | undefined; } export namespace ChildWorkflowExecutionTerminatedEventAttributes { @@ -908,6 +908,11 @@ export type WorkflowExecutionTimeoutType = "START_TO_CLOSE"; *

                                                              Provides the details of the ChildWorkflowExecutionTimedOut event.

                                                              */ export interface ChildWorkflowExecutionTimedOutEventAttributes { + /** + *

                                                              The type of the timeout that caused the child workflow execution to time out.

                                                              + */ + timeoutType: WorkflowExecutionTimeoutType | string | undefined; + /** *

                                                              The ID of the StartChildWorkflowExecutionInitiated event corresponding to the * StartChildWorkflowExecution @@ -917,9 +922,9 @@ export interface ChildWorkflowExecutionTimedOutEventAttributes { initiatedEventId: number | undefined; /** - *

                                                              The type of the timeout that caused the child workflow execution to time out.

                                                              + *

                                                              The type of the child workflow execution.

                                                              */ - timeoutType: WorkflowExecutionTimeoutType | string | undefined; + workflowType: WorkflowType | undefined; /** *

                                                              The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was @@ -932,11 +937,6 @@ export interface ChildWorkflowExecutionTimedOutEventAttributes { *

                                                              The child workflow execution that timed out.

                                                              */ workflowExecution: WorkflowExecution | undefined; - - /** - *

                                                              The type of the child workflow execution.

                                                              - */ - workflowType: WorkflowType | undefined; } export namespace ChildWorkflowExecutionTimedOutEventAttributes { @@ -1071,11 +1071,9 @@ export namespace CompleteWorkflowExecutionFailedEventAttributes { */ export interface ContinueAsNewWorkflowExecutionDecisionAttributes { /** - *

                                                              The list of tags to associate with the new workflow execution. A maximum of 5 tags can be specified. You can - * list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or - * ListClosedWorkflowExecutions and specifying a TagFilter.

                                                              + *

                                                              The IAM role to attach to the new (continued) execution.

                                                              */ - tagList?: string[]; + lambdaRole?: string; /** *

                                                              The input provided to the new workflow execution.

                                                              @@ -1083,19 +1081,32 @@ export interface ContinueAsNewWorkflowExecutionDecisionAttributes { input?: string; /** - *

                                                              The IAM role to attach to the new (continued) execution.

                                                              - */ - lambdaRole?: string; - - /** - *

                                                              If set, specifies the total duration for this workflow execution. This overrides the - * defaultExecutionStartToCloseTimeout specified when registering the workflow type.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              + *

                                                              If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated + * by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy + * overrides the default child policy specified when registering the workflow type using + * RegisterWorkflowType.

                                                              + *

                                                              The supported child policies are:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * TERMINATE – The child executions are terminated.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * REQUEST_CANCEL – A request to cancel is attempted for each child + * execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider + * to take appropriate actions when it receives an execution history with this event.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * ABANDON – No action is taken. The child executions continue to run.

                                                                + *
                                                              • + *
                                                              * - *

                                                              An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this field. If neither this field is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

                                                              + *

                                                              A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

                                                              *
                                                              */ - executionStartToCloseTimeout?: string; + childPolicy?: ChildPolicy | string; /** *

                                                              The version of the workflow to start.

                                                              @@ -1112,12 +1123,6 @@ export interface ContinueAsNewWorkflowExecutionDecisionAttributes { */ taskPriority?: string; - /** - *

                                                              The task list to use for the decisions of the new (continued) workflow - * execution.

                                                              - */ - taskList?: TaskList; - /** *

                                                              Specifies the maximum duration of decision tasks for the new workflow execution. This parameter overrides the * defaultTaskStartToCloseTimout specified when registering the workflow type using @@ -1130,32 +1135,27 @@ export interface ContinueAsNewWorkflowExecutionDecisionAttributes { taskStartToCloseTimeout?: string; /** - *

                                                              If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated - * by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy - * overrides the default child policy specified when registering the workflow type using - * RegisterWorkflowType.

                                                              - *

                                                              The supported child policies are:

                                                              - *
                                                                - *
                                                              • - *

                                                                - * TERMINATE – The child executions are terminated.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * REQUEST_CANCEL – A request to cancel is attempted for each child - * execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider - * to take appropriate actions when it receives an execution history with this event.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * ABANDON – No action is taken. The child executions continue to run.

                                                                - *
                                                              • - *
                                                              + *

                                                              The task list to use for the decisions of the new (continued) workflow + * execution.

                                                              + */ + taskList?: TaskList; + + /** + *

                                                              If set, specifies the total duration for this workflow execution. This overrides the + * defaultExecutionStartToCloseTimeout specified when registering the workflow type.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              * - *

                                                              A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

                                                              + *

                                                              An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this field. If neither this field is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

                                                              *
                                                              */ - childPolicy?: ChildPolicy | string; + executionStartToCloseTimeout?: string; + + /** + *

                                                              The list of tags to associate with the new workflow execution. A maximum of 5 tags can be specified. You can + * list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or + * ListClosedWorkflowExecutions and specifying a TagFilter.

                                                              + */ + tagList?: string[]; } export namespace ContinueAsNewWorkflowExecutionDecisionAttributes { @@ -1266,16 +1266,16 @@ export namespace TagFilter { *

                                                              Used to filter workflow execution query results by type. Each parameter, if specified, defines a rule that must be satisfied by each returned result.

                                                              */ export interface WorkflowTypeFilter { - /** - *

                                                              Version of the workflow type.

                                                              - */ - version?: string; - /** *

                                                              * Name of the workflow type.

                                                              */ name: string | undefined; + + /** + *

                                                              Version of the workflow type.

                                                              + */ + version?: string; } export namespace WorkflowTypeFilter { @@ -1296,11 +1296,6 @@ export interface CountClosedWorkflowExecutionsInput { */ startTimeFilter?: ExecutionTimeFilter; - /** - *

                                                              The name of the domain containing the workflow executions to count.

                                                              - */ - domain: string | undefined; - /** *

                                                              If specified, only workflow executions matching the WorkflowId in the * filter are counted.

                                                              @@ -1314,26 +1309,28 @@ export interface CountClosedWorkflowExecutionsInput { executionFilter?: WorkflowExecutionFilter; /** - *

                                                              If specified, indicates the type of the workflow executions to be counted.

                                                              + *

                                                              If specified, only workflow executions that meet the close time criteria of the filter + * are counted.

                                                              * *

                                                              - * closeStatusFilter, executionFilter, typeFilter and - * tagFilter are mutually exclusive. You can specify at most one of these in a - * request.

                                                              + * startTimeFilter and closeTimeFilter are mutually exclusive. You + * must specify one of these in a request but not both.

                                                              *
                                                              */ - typeFilter?: WorkflowTypeFilter; + closeTimeFilter?: ExecutionTimeFilter; /** - *

                                                              If specified, only workflow executions that meet the close time criteria of the filter - * are counted.

                                                              + *

                                                              If specified, only workflow executions that match this close status are counted. This + * filter has an affect only if executionStatus is specified as + * CLOSED.

                                                              * *

                                                              - * startTimeFilter and closeTimeFilter are mutually exclusive. You - * must specify one of these in a request but not both.

                                                              + * closeStatusFilter, executionFilter, typeFilter and + * tagFilter are mutually exclusive. You can specify at most one of these in a + * request.

                                                              *
                                                              */ - closeTimeFilter?: ExecutionTimeFilter; + closeStatusFilter?: CloseStatusFilter; /** *

                                                              If specified, only executions that have a tag that matches the filter are @@ -1348,9 +1345,12 @@ export interface CountClosedWorkflowExecutionsInput { tagFilter?: TagFilter; /** - *

                                                              If specified, only workflow executions that match this close status are counted. This - * filter has an affect only if executionStatus is specified as - * CLOSED.

                                                              + *

                                                              The name of the domain containing the workflow executions to count.

                                                              + */ + domain: string | undefined; + + /** + *

                                                              If specified, indicates the type of the workflow executions to be counted.

                                                              * *

                                                              * closeStatusFilter, executionFilter, typeFilter and @@ -1358,7 +1358,7 @@ export interface CountClosedWorkflowExecutionsInput { * request.

                                                              *
                                                              */ - closeStatusFilter?: CloseStatusFilter; + typeFilter?: WorkflowTypeFilter; } export namespace CountClosedWorkflowExecutionsInput { @@ -1410,14 +1410,14 @@ export namespace UnknownResourceFault { */ export interface WorkflowExecutionCount { /** - *

                                                              If set to true, indicates that the actual count was more than the maximum supported by this API and the count returned is the truncated value.

                                                              + *

                                                              The number of workflow executions.

                                                              */ - truncated?: boolean; + count: number | undefined; /** - *

                                                              The number of workflow executions.

                                                              + *

                                                              If set to true, indicates that the actual count was more than the maximum supported by this API and the count returned is the truncated value.

                                                              */ - count: number | undefined; + truncated?: boolean; } export namespace WorkflowExecutionCount { @@ -1427,6 +1427,16 @@ export namespace WorkflowExecutionCount { } export interface CountOpenWorkflowExecutionsInput { + /** + *

                                                              Specifies the type of the workflow executions to be counted.

                                                              + * + *

                                                              + * executionFilter, typeFilter and tagFilter are + * mutually exclusive. You can specify at most one of these in a request.

                                                              + *
                                                              + */ + typeFilter?: WorkflowTypeFilter; + /** *

                                                              If specified, only workflow executions matching the WorkflowId in the * filter are counted.

                                                              @@ -1459,16 +1469,6 @@ export interface CountOpenWorkflowExecutionsInput { * */ tagFilter?: TagFilter; - - /** - *

                                                              Specifies the type of the workflow executions to be counted.

                                                              - * - *

                                                              - * executionFilter, typeFilter and tagFilter are - * mutually exclusive. You can specify at most one of these in a request.

                                                              - *
                                                              - */ - typeFilter?: WorkflowTypeFilter; } export namespace CountOpenWorkflowExecutionsInput { @@ -1479,14 +1479,14 @@ export namespace CountOpenWorkflowExecutionsInput { export interface CountPendingActivityTasksInput { /** - *

                                                              The name of the task list.

                                                              + *

                                                              The name of the domain that contains the task list.

                                                              */ - taskList: TaskList | undefined; + domain: string | undefined; /** - *

                                                              The name of the domain that contains the task list.

                                                              + *

                                                              The name of the task list.

                                                              */ - domain: string | undefined; + taskList: TaskList | undefined; } export namespace CountPendingActivityTasksInput { @@ -1500,14 +1500,14 @@ export namespace CountPendingActivityTasksInput { */ export interface PendingTaskCount { /** - *

                                                              If set to true, indicates that the actual count was more than the maximum supported by this API and the count returned is the truncated value.

                                                              + *

                                                              The number of tasks in the task list.

                                                              */ - truncated?: boolean; + count: number | undefined; /** - *

                                                              The number of tasks in the task list.

                                                              + *

                                                              If set to true, indicates that the actual count was more than the maximum supported by this API and the count returned is the truncated value.

                                                              */ - count: number | undefined; + truncated?: boolean; } export namespace PendingTaskCount { @@ -1575,15 +1575,15 @@ export type DecisionType = */ export interface FailWorkflowExecutionDecisionAttributes { /** - *

                                                              - * Details of the failure.

                                                              + *

                                                              A descriptive reason for the failure that may help in diagnostics.

                                                              */ - details?: string; + reason?: string; /** - *

                                                              A descriptive reason for the failure that may help in diagnostics.

                                                              + *

                                                              + * Details of the failure.

                                                              */ - reason?: string; + details?: string; } export namespace FailWorkflowExecutionDecisionAttributes { @@ -1618,15 +1618,15 @@ export namespace FailWorkflowExecutionDecisionAttributes { export interface RecordMarkerDecisionAttributes { /** *

                                                              - * The name of the marker.

                                                              + * The details of the marker.

                                                              */ - markerName: string | undefined; + details?: string; /** *

                                                              - * The details of the marker.

                                                              + * The name of the marker.

                                                              */ - details?: string; + markerName: string | undefined; } export namespace RecordMarkerDecisionAttributes { @@ -1702,16 +1702,16 @@ export interface RequestCancelExternalWorkflowExecutionDecisionAttributes { */ workflowId: string | undefined; - /** - *

                                                              The data attached to the event that can be used by the decider in subsequent workflow tasks.

                                                              - */ - control?: string; - /** *

                                                              The runId of the external workflow execution to cancel.

                                                              */ runId?: string; -} + + /** + *

                                                              The data attached to the event that can be used by the decider in subsequent workflow tasks.

                                                              + */ + control?: string; +} export namespace RequestCancelExternalWorkflowExecutionDecisionAttributes { export const filterSensitiveLog = (obj: RequestCancelExternalWorkflowExecutionDecisionAttributes): any => ({ @@ -1766,14 +1766,22 @@ export interface ScheduleActivityTaskDecisionAttributes { activityType: ActivityType | undefined; /** - *

                                                              If set, specifies the maximum time before which a worker processing a task of this type must report progress by - * calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed - * out. If the worker subsequently attempts to record a heartbeat or returns a result, it is ignored. This - * overrides the default heartbeat timeout specified when registering the activity type using - * RegisterActivityType.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              + *

                                                              Data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the activity.

                                                              */ - heartbeatTimeout?: string; + control?: string; + + /** + *

                                                              The input provided to the activity task.

                                                              + */ + input?: string; + + /** + *

                                                              + * The activityId of the activity task.

                                                              + *

                                                              The specified string must not start or end with whitespace. It must not contain a : + * (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f-\u009f). Also, it must not contain the literal string arn.

                                                              + */ + activityId: string | undefined; /** *

                                                              The maximum duration for this activity task.

                                                              @@ -1784,6 +1792,18 @@ export interface ScheduleActivityTaskDecisionAttributes { */ scheduleToCloseTimeout?: string; + /** + *

                                                              + * If set, specifies the maximum duration the activity task can wait to be assigned to a worker. + * This overrides the default schedule-to-start timeout specified when registering the activity type using + * RegisterActivityType.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              + * + *

                                                              A schedule-to-start timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-start timeout was specified at registration time then a fault is returned.

                                                              + *
                                                              + */ + scheduleToStartTimeout?: string; + /** *

                                                              * If set, specifies the priority with which the activity task is to be assigned to a worker. This @@ -1804,6 +1824,16 @@ export interface ScheduleActivityTaskDecisionAttributes { */ startToCloseTimeout?: string; + /** + *

                                                              If set, specifies the maximum time before which a worker processing a task of this type must report progress by + * calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed + * out. If the worker subsequently attempts to record a heartbeat or returns a result, it is ignored. This + * overrides the default heartbeat timeout specified when registering the activity type using + * RegisterActivityType.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              + */ + heartbeatTimeout?: string; + /** *

                                                              If set, specifies the name of the task list in which to schedule the activity task. If not specified, the * defaultTaskList registered with the activity type is used.

                                                              @@ -1814,36 +1844,6 @@ export interface ScheduleActivityTaskDecisionAttributes { * (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f-\u009f). Also, it must not contain the literal string arn.

                                                              */ taskList?: TaskList; - - /** - *

                                                              - * If set, specifies the maximum duration the activity task can wait to be assigned to a worker. - * This overrides the default schedule-to-start timeout specified when registering the activity type using - * RegisterActivityType.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              - * - *

                                                              A schedule-to-start timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-start timeout was specified at registration time then a fault is returned.

                                                              - *
                                                              - */ - scheduleToStartTimeout?: string; - - /** - *

                                                              The input provided to the activity task.

                                                              - */ - input?: string; - - /** - *

                                                              - * The activityId of the activity task.

                                                              - *

                                                              The specified string must not start or end with whitespace. It must not contain a : - * (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f-\u009f). Also, it must not contain the literal string arn.

                                                              - */ - activityId: string | undefined; - - /** - *

                                                              Data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the activity.

                                                              - */ - control?: string; } export namespace ScheduleActivityTaskDecisionAttributes { @@ -1858,15 +1858,14 @@ export namespace ScheduleActivityTaskDecisionAttributes { */ export interface ScheduleLambdaFunctionDecisionAttributes { /** - *

                                                              The optional input data to be supplied to the Lambda function.

                                                              + *

                                                              The name, or ARN, of the Lambda function to schedule.

                                                              */ - input?: string; + name: string | undefined; /** - *

                                                              The data attached to the event that the decider can use in subsequent workflow tasks. - * This data isn't sent to the Lambda task.

                                                              + *

                                                              The timeout value, in seconds, after which the Lambda function is considered to be failed once it has started. This can be any integer from 1-300 (1s-5m). If no value is supplied, than a default value of 300s is assumed.

                                                              */ - control?: string; + startToCloseTimeout?: string; /** *

                                                              A string that identifies the Lambda function execution in the event history.

                                                              @@ -1874,14 +1873,15 @@ export interface ScheduleLambdaFunctionDecisionAttributes { id: string | undefined; /** - *

                                                              The name, or ARN, of the Lambda function to schedule.

                                                              + *

                                                              The data attached to the event that the decider can use in subsequent workflow tasks. + * This data isn't sent to the Lambda task.

                                                              */ - name: string | undefined; + control?: string; /** - *

                                                              The timeout value, in seconds, after which the Lambda function is considered to be failed once it has started. This can be any integer from 1-300 (1s-5m). If no value is supplied, than a default value of 300s is assumed.

                                                              + *

                                                              The optional input data to be supplied to the Lambda function.

                                                              */ - startToCloseTimeout?: string; + input?: string; } export namespace ScheduleLambdaFunctionDecisionAttributes { @@ -1915,15 +1915,15 @@ export namespace ScheduleLambdaFunctionDecisionAttributes { */ export interface SignalExternalWorkflowExecutionDecisionAttributes { /** - *

                                                              - * The workflowId of the workflow execution to be signaled.

                                                              + *

                                                              The runId of the workflow execution to be signaled.

                                                              */ - workflowId: string | undefined; + runId?: string; /** - *

                                                              The runId of the workflow execution to be signaled.

                                                              + *

                                                              + * The workflowId of the workflow execution to be signaled.

                                                              */ - runId?: string; + workflowId: string | undefined; /** *

                                                              The data attached to the event that can be used by the decider in subsequent decision tasks.

                                                              @@ -1995,28 +1995,6 @@ export namespace SignalExternalWorkflowExecutionDecisionAttributes { * Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

                                                              */ export interface StartChildWorkflowExecutionDecisionAttributes { - /** - *

                                                              Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the - * defaultTaskStartToCloseTimout specified when registering the workflow type using - * RegisterWorkflowType.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              - * - *

                                                              A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.

                                                              - *
                                                              - */ - taskStartToCloseTimeout?: string; - - /** - *

                                                              - * The type of the workflow execution to be started.

                                                              - */ - workflowType: WorkflowType | undefined; - - /** - *

                                                              The data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the child workflow execution.

                                                              - */ - control?: string; - /** *

                                                              * A task priority that, if set, specifies the priority for a decision task of this workflow @@ -2027,15 +2005,6 @@ export interface StartChildWorkflowExecutionDecisionAttributes { */ taskPriority?: string; - /** - *

                                                              The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              - * - *

                                                              An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

                                                              - *
                                                              - */ - executionStartToCloseTimeout?: string; - /** *

                                                              The name of the task list to be used for decision tasks of the child workflow execution.

                                                              * @@ -2048,28 +2017,25 @@ export interface StartChildWorkflowExecutionDecisionAttributes { /** *

                                                              - * The workflowId of the workflow execution.

                                                              - *

                                                              The specified string must not start or end with whitespace. It must not contain a : - * (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f-\u009f). Also, it must not contain the literal string arn.

                                                              - */ - workflowId: string | undefined; - - /** - *

                                                              The IAM role attached to the child workflow execution.

                                                              + * The type of the workflow execution to be started.

                                                              */ - lambdaRole?: string; + workflowType: WorkflowType | undefined; /** - *

                                                              The input to be provided to the workflow execution.

                                                              + *

                                                              The data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the child workflow execution.

                                                              */ - input?: string; + control?: string; /** - *

                                                              The list of tags to associate with the child workflow execution. A maximum of 5 tags can be specified. You can - * list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or - * ListClosedWorkflowExecutions and specifying a TagFilter.

                                                              + *

                                                              Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the + * defaultTaskStartToCloseTimout specified when registering the workflow type using + * RegisterWorkflowType.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              + * + *

                                                              A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.

                                                              + *
                                                              */ - tagList?: string[]; + taskStartToCloseTimeout?: string; /** *

                                                              @@ -2099,6 +2065,40 @@ export interface StartChildWorkflowExecutionDecisionAttributes { * */ childPolicy?: ChildPolicy | string; + + /** + *

                                                              The list of tags to associate with the child workflow execution. A maximum of 5 tags can be specified. You can + * list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or + * ListClosedWorkflowExecutions and specifying a TagFilter.

                                                              + */ + tagList?: string[]; + + /** + *

                                                              The input to be provided to the workflow execution.

                                                              + */ + input?: string; + + /** + *

                                                              The IAM role attached to the child workflow execution.

                                                              + */ + lambdaRole?: string; + + /** + *

                                                              The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              + * + *

                                                              An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

                                                              + *
                                                              + */ + executionStartToCloseTimeout?: string; + + /** + *

                                                              + * The workflowId of the workflow execution.

                                                              + *

                                                              The specified string must not start or end with whitespace. It must not contain a : + * (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f-\u009f). Also, it must not contain the literal string arn.

                                                              + */ + workflowId: string | undefined; } export namespace StartChildWorkflowExecutionDecisionAttributes { @@ -2139,17 +2139,17 @@ export interface StartTimerDecisionAttributes { */ timerId: string | undefined; + /** + *

                                                              The data attached to the event that can be used by the decider in subsequent workflow tasks.

                                                              + */ + control?: string; + /** *

                                                              * The duration to wait before firing the timer.

                                                              *

                                                              The duration is specified in seconds, an integer greater than or equal to 0.

                                                              */ startToFireTimeout: string | undefined; - - /** - *

                                                              The data attached to the event that can be used by the decider in subsequent workflow tasks.

                                                              - */ - control?: string; } export namespace StartTimerDecisionAttributes { @@ -2436,29 +2436,30 @@ export namespace StartTimerDecisionAttributes { */ export interface Decision { /** - *

                                                              Provides the details of the FailWorkflowExecution decision. It isn't set for other decision types.

                                                              + *

                                                              Provides the details of the CompleteWorkflowExecution decision. It isn't set for other decision types.

                                                              */ - failWorkflowExecutionDecisionAttributes?: FailWorkflowExecutionDecisionAttributes; + completeWorkflowExecutionDecisionAttributes?: CompleteWorkflowExecutionDecisionAttributes; /** - *

                                                              Specifies the type of the decision.

                                                              + *

                                                              Provides the details of the RequestCancelExternalWorkflowExecution decision. + * It isn't set for other decision types.

                                                              */ - decisionType: DecisionType | string | undefined; + requestCancelExternalWorkflowExecutionDecisionAttributes?: RequestCancelExternalWorkflowExecutionDecisionAttributes; /** - *

                                                              Provides the details of the SignalExternalWorkflowExecution decision. It isn't set for other decision types.

                                                              + *

                                                              Provides the details of the StartTimer decision. It isn't set for other decision types.

                                                              */ - signalExternalWorkflowExecutionDecisionAttributes?: SignalExternalWorkflowExecutionDecisionAttributes; + startTimerDecisionAttributes?: StartTimerDecisionAttributes; /** - *

                                                              Provides the details of the CancelWorkflowExecution decision. It isn't set for other decision types.

                                                              + *

                                                              Provides the details of the SignalExternalWorkflowExecution decision. It isn't set for other decision types.

                                                              */ - cancelWorkflowExecutionDecisionAttributes?: CancelWorkflowExecutionDecisionAttributes; + signalExternalWorkflowExecutionDecisionAttributes?: SignalExternalWorkflowExecutionDecisionAttributes; /** - *

                                                              Provides the details of the StartChildWorkflowExecution decision. It isn't set for other decision types.

                                                              + *

                                                              Specifies the type of the decision.

                                                              */ - startChildWorkflowExecutionDecisionAttributes?: StartChildWorkflowExecutionDecisionAttributes; + decisionType: DecisionType | string | undefined; /** *

                                                              Provides the details of the CancelTimer decision. It isn't set for other decision types.

                                                              @@ -2472,9 +2473,9 @@ export interface Decision { scheduleLambdaFunctionDecisionAttributes?: ScheduleLambdaFunctionDecisionAttributes; /** - *

                                                              Provides the details of the ContinueAsNewWorkflowExecution decision. It isn't set for other decision types.

                                                              + *

                                                              Provides the details of the StartChildWorkflowExecution decision. It isn't set for other decision types.

                                                              */ - continueAsNewWorkflowExecutionDecisionAttributes?: ContinueAsNewWorkflowExecutionDecisionAttributes; + startChildWorkflowExecutionDecisionAttributes?: StartChildWorkflowExecutionDecisionAttributes; /** *

                                                              Provides the details of the ScheduleActivityTask decision. It isn't set for other decision types.

                                                              @@ -2487,25 +2488,24 @@ export interface Decision { requestCancelActivityTaskDecisionAttributes?: RequestCancelActivityTaskDecisionAttributes; /** - *

                                                              Provides the details of the CompleteWorkflowExecution decision. It isn't set for other decision types.

                                                              + *

                                                              Provides the details of the CancelWorkflowExecution decision. It isn't set for other decision types.

                                                              */ - completeWorkflowExecutionDecisionAttributes?: CompleteWorkflowExecutionDecisionAttributes; + cancelWorkflowExecutionDecisionAttributes?: CancelWorkflowExecutionDecisionAttributes; /** - *

                                                              Provides the details of the RequestCancelExternalWorkflowExecution decision. - * It isn't set for other decision types.

                                                              + *

                                                              Provides the details of the RecordMarker decision. It isn't set for other decision types.

                                                              */ - requestCancelExternalWorkflowExecutionDecisionAttributes?: RequestCancelExternalWorkflowExecutionDecisionAttributes; + recordMarkerDecisionAttributes?: RecordMarkerDecisionAttributes; /** - *

                                                              Provides the details of the RecordMarker decision. It isn't set for other decision types.

                                                              + *

                                                              Provides the details of the FailWorkflowExecution decision. It isn't set for other decision types.

                                                              */ - recordMarkerDecisionAttributes?: RecordMarkerDecisionAttributes; + failWorkflowExecutionDecisionAttributes?: FailWorkflowExecutionDecisionAttributes; /** - *

                                                              Provides the details of the StartTimer decision. It isn't set for other decision types.

                                                              + *

                                                              Provides the details of the ContinueAsNewWorkflowExecution decision. It isn't set for other decision types.

                                                              */ - startTimerDecisionAttributes?: StartTimerDecisionAttributes; + continueAsNewWorkflowExecutionDecisionAttributes?: ContinueAsNewWorkflowExecutionDecisionAttributes; } export namespace Decision { @@ -2519,18 +2519,18 @@ export namespace Decision { */ export interface DecisionTaskCompletedEventAttributes { /** - *

                                                              The ID of the DecisionTaskStarted event recorded when this decision task was started. + *

                                                              The ID of the DecisionTaskScheduled event that was recorded when this decision task was scheduled. * This information can be useful for diagnosing problems by tracing back the chain of * events leading up to this event.

                                                              */ - startedEventId: number | undefined; + scheduledEventId: number | undefined; /** - *

                                                              The ID of the DecisionTaskScheduled event that was recorded when this decision task was scheduled. + *

                                                              The ID of the DecisionTaskStarted event recorded when this decision task was started. * This information can be useful for diagnosing problems by tracing back the chain of * events leading up to this event.

                                                              */ - scheduledEventId: number | undefined; + startedEventId: number | undefined; /** *

                                                              User defined context for the workflow execution.

                                                              @@ -2557,16 +2557,16 @@ export interface DecisionTaskScheduledEventAttributes { */ taskPriority?: string; - /** - *

                                                              The name of the task list in which the decision task was scheduled.

                                                              - */ - taskList: TaskList | undefined; - /** *

                                                              The maximum duration for this decision task. The task is considered timed out if it doesn't completed within this duration.

                                                              *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              */ startToCloseTimeout?: string; + + /** + *

                                                              The name of the task list in which the decision task was scheduled.

                                                              + */ + taskList: TaskList | undefined; } export namespace DecisionTaskScheduledEventAttributes { @@ -2609,19 +2609,19 @@ export interface DecisionTaskTimedOutEventAttributes { */ timeoutType: DecisionTaskTimeoutType | string | undefined; - /** - *

                                                              The ID of the DecisionTaskScheduled event that was recorded when this decision task was scheduled. - * This information can be useful for diagnosing problems by tracing back the chain of - * events leading up to this event.

                                                              - */ - scheduledEventId: number | undefined; - /** *

                                                              The ID of the DecisionTaskStarted event recorded when this decision task was started. This * information can be useful for diagnosing problems by tracing back the chain of events leading up to this * event.

                                                              */ startedEventId: number | undefined; + + /** + *

                                                              The ID of the DecisionTaskScheduled event that was recorded when this decision task was scheduled. + * This information can be useful for diagnosing problems by tracing back the chain of + * events leading up to this event.

                                                              + */ + scheduledEventId: number | undefined; } export namespace DecisionTaskTimedOutEventAttributes { @@ -2714,17 +2714,17 @@ export namespace ExternalWorkflowExecutionCancelRequestedEventAttributes { *

                                                              Provides the details of the ExternalWorkflowExecutionSignaled event.

                                                              */ export interface ExternalWorkflowExecutionSignaledEventAttributes { - /** - *

                                                              The external workflow execution that the signal was delivered to.

                                                              - */ - workflowExecution: WorkflowExecution | undefined; - /** *

                                                              The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to the * SignalExternalWorkflowExecution decision to request this signal. This information can be useful for diagnosing problems by tracing back the chain of * events leading up to this event.

                                                              */ initiatedEventId: number | undefined; + + /** + *

                                                              The external workflow execution that the signal was delivered to.

                                                              + */ + workflowExecution: WorkflowExecution | undefined; } export namespace ExternalWorkflowExecutionSignaledEventAttributes { @@ -2768,6 +2768,12 @@ export namespace FailWorkflowExecutionFailedEventAttributes { * for other event types.

                                                              */ export interface LambdaFunctionCompletedEventAttributes { + /** + *

                                                              The ID of the LambdaFunctionScheduled event that was recorded when this + * Lambda task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

                                                              + */ + scheduledEventId: number | undefined; + /** *

                                                              The ID of the LambdaFunctionStarted event recorded when this activity task * started. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

                                                              @@ -2778,12 +2784,6 @@ export interface LambdaFunctionCompletedEventAttributes { *

                                                              The results of the Lambda task.

                                                              */ result?: string; - - /** - *

                                                              The ID of the LambdaFunctionScheduled event that was recorded when this - * Lambda task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

                                                              - */ - scheduledEventId: number | undefined; } export namespace LambdaFunctionCompletedEventAttributes { @@ -2808,16 +2808,16 @@ export interface LambdaFunctionFailedEventAttributes { */ startedEventId: number | undefined; - /** - *

                                                              The reason provided for the failure.

                                                              - */ - reason?: string; - /** *

                                                              The ID of the LambdaFunctionScheduled event that was recorded when this * activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

                                                              */ scheduledEventId: number | undefined; + + /** + *

                                                              The reason provided for the failure.

                                                              + */ + reason?: string; } export namespace LambdaFunctionFailedEventAttributes { @@ -2836,6 +2836,16 @@ export interface LambdaFunctionScheduledEventAttributes { */ startToCloseTimeout?: string; + /** + *

                                                              The unique ID of the Lambda task.

                                                              + */ + id: string | undefined; + + /** + *

                                                              The name of the Lambda function.

                                                              + */ + name: string | undefined; + /** *

                                                              The input provided to the Lambda task.

                                                              */ @@ -2852,16 +2862,6 @@ export interface LambdaFunctionScheduledEventAttributes { * that resulted in scheduling this activity task. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

                                                              */ decisionTaskCompletedEventId: number | undefined; - - /** - *

                                                              The unique ID of the Lambda task.

                                                              - */ - id: string | undefined; - - /** - *

                                                              The name of the Lambda function.

                                                              - */ - name: string | undefined; } export namespace LambdaFunctionScheduledEventAttributes { @@ -2959,11 +2959,6 @@ export interface RecordMarkerFailedEventAttributes { */ decisionTaskCompletedEventId: number | undefined; - /** - *

                                                              The marker's name.

                                                              - */ - markerName: string | undefined; - /** *

                                                              The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

                                                              * @@ -2973,6 +2968,11 @@ export interface RecordMarkerFailedEventAttributes { * */ cause: RecordMarkerFailedCause | string | undefined; + + /** + *

                                                              The marker's name.

                                                              + */ + markerName: string | undefined; } export namespace RecordMarkerFailedEventAttributes { @@ -2992,6 +2992,13 @@ export interface RequestCancelActivityTaskFailedEventAttributes { */ activityId: string | undefined; + /** + *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the + * RequestCancelActivityTask decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of + * events leading up to this event.

                                                              + */ + decisionTaskCompletedEventId: number | undefined; + /** *

                                                              The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

                                                              * @@ -3001,13 +3008,6 @@ export interface RequestCancelActivityTaskFailedEventAttributes { * */ cause: RequestCancelActivityTaskFailedCause | string | undefined; - - /** - *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the - * RequestCancelActivityTask decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of - * events leading up to this event.

                                                              - */ - decisionTaskCompletedEventId: number | undefined; } export namespace RequestCancelActivityTaskFailedEventAttributes { @@ -3025,6 +3025,16 @@ export type RequestCancelExternalWorkflowExecutionFailedCause = *

                                                              Provides the details of the RequestCancelExternalWorkflowExecutionFailed event.

                                                              */ export interface RequestCancelExternalWorkflowExecutionFailedEventAttributes { + /** + *

                                                              The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

                                                              + * + *

                                                              If cause is set to OPERATION_NOT_PERMITTED, the decision failed + * because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows + * in the Amazon SWF Developer Guide.

                                                              + *
                                                              + */ + cause: RequestCancelExternalWorkflowExecutionFailedCause | string | undefined; + /** *

                                                              The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding to the * RequestCancelExternalWorkflowExecution decision to cancel this external workflow execution. This @@ -3034,22 +3044,17 @@ export interface RequestCancelExternalWorkflowExecutionFailedEventAttributes { initiatedEventId: number | undefined; /** - *

                                                              The runId of the external workflow execution.

                                                              + *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the + * RequestCancelExternalWorkflowExecution decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of + * events leading up to this event.

                                                              */ - runId?: string; + decisionTaskCompletedEventId: number | undefined; /** *

                                                              The workflowId of the external workflow to which the cancel request was to be delivered.

                                                              */ workflowId: string | undefined; - /** - *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the - * RequestCancelExternalWorkflowExecution decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of - * events leading up to this event.

                                                              - */ - decisionTaskCompletedEventId: number | undefined; - /** *

                                                              The data attached to the event that the decider can use in subsequent workflow tasks. * This data isn't sent to the workflow execution.

                                                              @@ -3057,14 +3062,9 @@ export interface RequestCancelExternalWorkflowExecutionFailedEventAttributes { control?: string; /** - *

                                                              The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

                                                              - * - *

                                                              If cause is set to OPERATION_NOT_PERMITTED, the decision failed - * because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows - * in the Amazon SWF Developer Guide.

                                                              - *
                                                              + *

                                                              The runId of the external workflow execution.

                                                              */ - cause: RequestCancelExternalWorkflowExecutionFailedCause | string | undefined; + runId?: string; } export namespace RequestCancelExternalWorkflowExecutionFailedEventAttributes { @@ -3078,9 +3078,9 @@ export namespace RequestCancelExternalWorkflowExecutionFailedEventAttributes { */ export interface RequestCancelExternalWorkflowExecutionInitiatedEventAttributes { /** - *

                                                              The runId of the external workflow execution to be canceled.

                                                              + *

                                                              The workflowId of the external workflow execution to be canceled.

                                                              */ - runId?: string; + workflowId: string | undefined; /** *

                                                              Data attached to the event that can be used by the decider in subsequent workflow tasks.

                                                              @@ -3088,9 +3088,9 @@ export interface RequestCancelExternalWorkflowExecutionInitiatedEventAttributes control?: string; /** - *

                                                              The workflowId of the external workflow execution to be canceled.

                                                              + *

                                                              The runId of the external workflow execution to be canceled.

                                                              */ - workflowId: string | undefined; + runId?: string; /** *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the @@ -3134,6 +3134,11 @@ export interface ScheduleActivityTaskFailedEventAttributes { */ cause: ScheduleActivityTaskFailedCause | string | undefined; + /** + *

                                                              The activityId provided in the ScheduleActivityTask decision that failed.

                                                              + */ + activityId: string | undefined; + /** *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision that resulted in the * scheduling of this activity task. This information can be useful for diagnosing problems by tracing back the chain of @@ -3145,11 +3150,6 @@ export interface ScheduleActivityTaskFailedEventAttributes { *

                                                              The activity type provided in the ScheduleActivityTask decision that failed.

                                                              */ activityType: ActivityType | undefined; - - /** - *

                                                              The activityId provided in the ScheduleActivityTask decision that failed.

                                                              - */ - activityId: string | undefined; } export namespace ScheduleActivityTaskFailedEventAttributes { @@ -3170,10 +3170,9 @@ export type ScheduleLambdaFunctionFailedCause = */ export interface ScheduleLambdaFunctionFailedEventAttributes { /** - *

                                                              The ID of the LambdaFunctionCompleted event corresponding to the decision - * that resulted in scheduling this Lambda task. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

                                                              + *

                                                              The name of the Lambda function.

                                                              */ - decisionTaskCompletedEventId: number | undefined; + name: string | undefined; /** *

                                                              The cause of the failure. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

                                                              @@ -3188,15 +3187,16 @@ export interface ScheduleLambdaFunctionFailedEventAttributes { cause: ScheduleLambdaFunctionFailedCause | string | undefined; /** - *

                                                              The ID provided in the ScheduleLambdaFunction decision that failed. - *

                                                              + *

                                                              The ID of the LambdaFunctionCompleted event corresponding to the decision + * that resulted in scheduling this Lambda task. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

                                                              */ - id: string | undefined; + decisionTaskCompletedEventId: number | undefined; /** - *

                                                              The name of the Lambda function.

                                                              + *

                                                              The ID provided in the ScheduleLambdaFunction decision that failed. + *

                                                              */ - name: string | undefined; + id: string | undefined; } export namespace ScheduleLambdaFunctionFailedEventAttributes { @@ -3215,22 +3215,28 @@ export type SignalExternalWorkflowExecutionFailedCause = */ export interface SignalExternalWorkflowExecutionFailedEventAttributes { /** - *

                                                              The data attached to the event that the decider can use in subsequent workflow tasks. - * This data isn't sent to the workflow execution.

                                                              + *

                                                              The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

                                                              + * + *

                                                              If cause is set to OPERATION_NOT_PERMITTED, the decision failed + * because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows + * in the Amazon SWF Developer Guide.

                                                              + *
                                                              */ - control?: string; + cause: SignalExternalWorkflowExecutionFailedCause | string | undefined; /** - *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the - * SignalExternalWorkflowExecution decision for this signal. This information can be useful for diagnosing problems by tracing back the chain of + *

                                                              The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to the + * SignalExternalWorkflowExecution decision to request this signal. This information can be useful for diagnosing problems by tracing back the chain of * events leading up to this event.

                                                              */ - decisionTaskCompletedEventId: number | undefined; + initiatedEventId: number | undefined; /** - *

                                                              The runId of the external workflow execution that the signal was being delivered to.

                                                              + *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the + * SignalExternalWorkflowExecution decision for this signal. This information can be useful for diagnosing problems by tracing back the chain of + * events leading up to this event.

                                                              */ - runId?: string; + decisionTaskCompletedEventId: number | undefined; /** *

                                                              The workflowId of the external workflow execution that the signal was being delivered to.

                                                              @@ -3238,21 +3244,15 @@ export interface SignalExternalWorkflowExecutionFailedEventAttributes { workflowId: string | undefined; /** - *

                                                              The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

                                                              - * - *

                                                              If cause is set to OPERATION_NOT_PERMITTED, the decision failed - * because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows - * in the Amazon SWF Developer Guide.

                                                              - *
                                                              + *

                                                              The data attached to the event that the decider can use in subsequent workflow tasks. + * This data isn't sent to the workflow execution.

                                                              */ - cause: SignalExternalWorkflowExecutionFailedCause | string | undefined; + control?: string; /** - *

                                                              The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to the - * SignalExternalWorkflowExecution decision to request this signal. This information can be useful for diagnosing problems by tracing back the chain of - * events leading up to this event.

                                                              + *

                                                              The runId of the external workflow execution that the signal was being delivered to.

                                                              */ - initiatedEventId: number | undefined; + runId?: string; } export namespace SignalExternalWorkflowExecutionFailedEventAttributes { @@ -3271,14 +3271,16 @@ export interface SignalExternalWorkflowExecutionInitiatedEventAttributes { runId?: string; /** - *

                                                              Data attached to the event that can be used by the decider in subsequent decision tasks.

                                                              + *

                                                              The workflowId of the external workflow execution.

                                                              */ - control?: string; + workflowId: string | undefined; /** - *

                                                              The input provided to the signal.

                                                              + *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the + * SignalExternalWorkflowExecution decision for this signal. This information can be useful for diagnosing problems by tracing back the chain of + * events leading up to this event.

                                                              */ - input?: string; + decisionTaskCompletedEventId: number | undefined; /** *

                                                              The name of the signal.

                                                              @@ -3286,16 +3288,14 @@ export interface SignalExternalWorkflowExecutionInitiatedEventAttributes { signalName: string | undefined; /** - *

                                                              The workflowId of the external workflow execution.

                                                              + *

                                                              Data attached to the event that can be used by the decider in subsequent decision tasks.

                                                              */ - workflowId: string | undefined; + control?: string; /** - *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the - * SignalExternalWorkflowExecution decision for this signal. This information can be useful for diagnosing problems by tracing back the chain of - * events leading up to this event.

                                                              + *

                                                              The input provided to the signal.

                                                              */ - decisionTaskCompletedEventId: number | undefined; + input?: string; } export namespace SignalExternalWorkflowExecutionInitiatedEventAttributes { @@ -3321,17 +3321,6 @@ export type StartChildWorkflowExecutionFailedCause = *

                                                              Provides the details of the StartChildWorkflowExecutionFailed event.

                                                              */ export interface StartChildWorkflowExecutionFailedEventAttributes { - /** - *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartChildWorkflowExecution - * Decision to request this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events.

                                                              - */ - decisionTaskCompletedEventId: number | undefined; - - /** - *

                                                              The workflowId of the child workflow execution.

                                                              - */ - workflowId: string | undefined; - /** *

                                                              The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

                                                              * @@ -3352,6 +3341,12 @@ export interface StartChildWorkflowExecutionFailedEventAttributes { */ initiatedEventId: number | undefined; + /** + *

                                                              The workflow type provided in the StartChildWorkflowExecution + * Decision that failed.

                                                              + */ + workflowType: WorkflowType | undefined; + /** *

                                                              The data attached to the event that the decider can use in subsequent workflow tasks. * This data isn't sent to the child workflow execution.

                                                              @@ -3359,10 +3354,15 @@ export interface StartChildWorkflowExecutionFailedEventAttributes { control?: string; /** - *

                                                              The workflow type provided in the StartChildWorkflowExecution - * Decision that failed.

                                                              + *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartChildWorkflowExecution + * Decision to request this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events.

                                                              */ - workflowType: WorkflowType | undefined; + decisionTaskCompletedEventId: number | undefined; + + /** + *

                                                              The workflowId of the child workflow execution.

                                                              + */ + workflowId: string | undefined; } export namespace StartChildWorkflowExecutionFailedEventAttributes { @@ -3375,11 +3375,6 @@ export namespace StartChildWorkflowExecutionFailedEventAttributes { *

                                                              Provides the details of the StartChildWorkflowExecutionInitiated event.

                                                              */ export interface StartChildWorkflowExecutionInitiatedEventAttributes { - /** - *

                                                              The list of tags to associated with the child workflow execution.

                                                              - */ - tagList?: string[]; - /** *

                                                              The inputs provided to the child workflow execution.

                                                              */ @@ -3391,23 +3386,27 @@ export interface StartChildWorkflowExecutionInitiatedEventAttributes { lambdaRole?: string; /** - *

                                                              The maximum duration for the child workflow execution. If the workflow execution isn't closed within this duration, it is timed out and force-terminated.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              - */ - executionStartToCloseTimeout?: string; - - /** - *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the - * StartChildWorkflowExecution - * Decision to request this child workflow execution. This - * information can be useful for diagnosing problems by tracing back the cause of events.

                                                              - */ - decisionTaskCompletedEventId: number | undefined; - - /** - *

                                                              The workflowId of the child workflow execution.

                                                              + *

                                                              The policy to use for the child workflow executions if this execution gets terminated by explicitly calling the + * TerminateWorkflowExecution action or due to an expired timeout.

                                                              + *

                                                              The supported child policies are:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * TERMINATE – The child executions are terminated.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * REQUEST_CANCEL – A request to cancel is attempted for each child + * execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider + * to take appropriate actions when it receives an execution history with this event.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * ABANDON – No action is taken. The child executions continue to run.

                                                                + *
                                                              • + *
                                                              */ - workflowId: string | undefined; + childPolicy: ChildPolicy | string | undefined; /** *

                                                              @@ -3419,48 +3418,49 @@ export interface StartChildWorkflowExecutionInitiatedEventAttributes { taskPriority?: string; /** - *

                                                              Data attached to the event that can be used by the decider in subsequent decision tasks. This data isn't sent to the activity.

                                                              + *

                                                              The maximum duration allowed for the decision tasks for this workflow execution.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              */ - control?: string; + taskStartToCloseTimeout?: string; /** *

                                                              The name of the task list used for the decision tasks of the child workflow execution.

                                                              */ taskList: TaskList | undefined; + /** + *

                                                              Data attached to the event that can be used by the decider in subsequent decision tasks. This data isn't sent to the activity.

                                                              + */ + control?: string; + /** *

                                                              The type of the child workflow execution.

                                                              */ workflowType: WorkflowType | undefined; /** - *

                                                              The maximum duration allowed for the decision tasks for this workflow execution.

                                                              + *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the + * StartChildWorkflowExecution + * Decision to request this child workflow execution. This + * information can be useful for diagnosing problems by tracing back the cause of events.

                                                              + */ + decisionTaskCompletedEventId: number | undefined; + + /** + *

                                                              The workflowId of the child workflow execution.

                                                              + */ + workflowId: string | undefined; + + /** + *

                                                              The maximum duration for the child workflow execution. If the workflow execution isn't closed within this duration, it is timed out and force-terminated.

                                                              *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              */ - taskStartToCloseTimeout?: string; + executionStartToCloseTimeout?: string; /** - *

                                                              The policy to use for the child workflow executions if this execution gets terminated by explicitly calling the - * TerminateWorkflowExecution action or due to an expired timeout.

                                                              - *

                                                              The supported child policies are:

                                                              - *
                                                                - *
                                                              • - *

                                                                - * TERMINATE – The child executions are terminated.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * REQUEST_CANCEL – A request to cancel is attempted for each child - * execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider - * to take appropriate actions when it receives an execution history with this event.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * ABANDON – No action is taken. The child executions continue to run.

                                                                - *
                                                              • - *
                                                              + *

                                                              The list of tags to associated with the child workflow execution.

                                                              */ - childPolicy: ChildPolicy | string | undefined; + tagList?: string[]; } export namespace StartChildWorkflowExecutionInitiatedEventAttributes { @@ -3482,11 +3482,6 @@ export interface StartLambdaFunctionFailedEventAttributes { */ scheduledEventId?: number; - /** - *

                                                              A description that can help diagnose the cause of the fault.

                                                              - */ - message?: string; - /** *

                                                              The cause of the failure. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

                                                              * @@ -3497,6 +3492,11 @@ export interface StartLambdaFunctionFailedEventAttributes { * */ cause?: StartLambdaFunctionFailedCause | string; + + /** + *

                                                              A description that can help diagnose the cause of the fault.

                                                              + */ + message?: string; } export namespace StartLambdaFunctionFailedEventAttributes { @@ -3515,11 +3515,6 @@ export type StartTimerFailedCause = *

                                                              Provides the details of the StartTimerFailed event.

                                                              */ export interface StartTimerFailedEventAttributes { - /** - *

                                                              The timerId provided in the StartTimer decision that failed.

                                                              - */ - timerId: string | undefined; - /** *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the * StartTimer decision for this activity task. This information can be useful for diagnosing problems by tracing back the chain of @@ -3527,6 +3522,11 @@ export interface StartTimerFailedEventAttributes { */ decisionTaskCompletedEventId: number | undefined; + /** + *

                                                              The timerId provided in the StartTimer decision that failed.

                                                              + */ + timerId: string | undefined; + /** *

                                                              The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

                                                              * @@ -3551,11 +3551,9 @@ export namespace StartTimerFailedEventAttributes { */ export interface TimerCanceledEventAttributes { /** - *

                                                              The ID of the TimerStarted event that was recorded when this timer was started. - * This information can be useful for diagnosing problems by tracing back the chain of - * events leading up to this event.

                                                              + *

                                                              The unique ID of the timer that was canceled.

                                                              */ - startedEventId: number | undefined; + timerId: string | undefined; /** *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the @@ -3565,9 +3563,11 @@ export interface TimerCanceledEventAttributes { decisionTaskCompletedEventId: number | undefined; /** - *

                                                              The unique ID of the timer that was canceled.

                                                              + *

                                                              The ID of the TimerStarted event that was recorded when this timer was started. + * This information can be useful for diagnosing problems by tracing back the chain of + * events leading up to this event.

                                                              */ - timerId: string | undefined; + startedEventId: number | undefined; } export namespace TimerCanceledEventAttributes { @@ -3580,17 +3580,17 @@ export namespace TimerCanceledEventAttributes { *

                                                              Provides the details of the TimerFired event.

                                                              */ export interface TimerFiredEventAttributes { - /** - *

                                                              The unique ID of the timer that fired.

                                                              - */ - timerId: string | undefined; - /** *

                                                              The ID of the TimerStarted event that was recorded when this timer was started. * This information can be useful for diagnosing problems by tracing back the chain of * events leading up to this event.

                                                              */ startedEventId: number | undefined; + + /** + *

                                                              The unique ID of the timer that fired.

                                                              + */ + timerId: string | undefined; } export namespace TimerFiredEventAttributes { @@ -3604,14 +3604,15 @@ export namespace TimerFiredEventAttributes { */ export interface TimerStartedEventAttributes { /** - *

                                                              Data attached to the event that can be used by the decider in subsequent workflow tasks.

                                                              + *

                                                              The unique ID of the timer that was started.

                                                              */ - control?: string; + timerId: string | undefined; /** - *

                                                              The unique ID of the timer that was started.

                                                              + *

                                                              The duration of time after which the timer fires.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0.

                                                              */ - timerId: string | undefined; + startToFireTimeout: string | undefined; /** *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the @@ -3621,10 +3622,9 @@ export interface TimerStartedEventAttributes { decisionTaskCompletedEventId: number | undefined; /** - *

                                                              The duration of time after which the timer fires.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0.

                                                              + *

                                                              Data attached to the event that can be used by the decider in subsequent workflow tasks.

                                                              */ - startToFireTimeout: string | undefined; + control?: string; } export namespace TimerStartedEventAttributes { @@ -3671,14 +3671,14 @@ export interface WorkflowExecutionCancelRequestedEventAttributes { externalInitiatedEventId?: number; /** - *

                                                              The external workflow execution for which the cancellation was requested.

                                                              + *

                                                              If set, indicates that the request to cancel the workflow execution was automatically generated, and specifies the cause. This happens if the parent workflow execution times out or is terminated, and the child policy is set to cancel child executions.

                                                              */ - externalWorkflowExecution?: WorkflowExecution; + cause?: WorkflowExecutionCancelRequestedCause | string; /** - *

                                                              If set, indicates that the request to cancel the workflow execution was automatically generated, and specifies the cause. This happens if the parent workflow execution times out or is terminated, and the child policy is set to cancel child executions.

                                                              + *

                                                              The external workflow execution for which the cancellation was requested.

                                                              */ - cause?: WorkflowExecutionCancelRequestedCause | string; + externalWorkflowExecution?: WorkflowExecution; } export namespace WorkflowExecutionCancelRequestedEventAttributes { @@ -3691,17 +3691,17 @@ export namespace WorkflowExecutionCancelRequestedEventAttributes { *

                                                              Provides the details of the WorkflowExecutionCompleted event.

                                                              */ export interface WorkflowExecutionCompletedEventAttributes { + /** + *

                                                              The result produced by the workflow execution upon successful completion.

                                                              + */ + result?: string; + /** *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the * CompleteWorkflowExecution decision to complete this execution. This information can be useful for diagnosing problems by tracing back the chain of * events leading up to this event.

                                                              */ decisionTaskCompletedEventId: number | undefined; - - /** - *

                                                              The result produced by the workflow execution upon successful completion.

                                                              - */ - result?: string; } export namespace WorkflowExecutionCompletedEventAttributes { @@ -3714,46 +3714,11 @@ export namespace WorkflowExecutionCompletedEventAttributes { *

                                                              Provides the details of the WorkflowExecutionContinuedAsNew event.

                                                              */ export interface WorkflowExecutionContinuedAsNewEventAttributes { - /** - *

                                                              The policy to use for the child workflow executions of the new execution if it is terminated by calling the - * TerminateWorkflowExecution action explicitly or due to an expired timeout.

                                                              - *

                                                              The supported child policies are:

                                                              - *
                                                                - *
                                                              • - *

                                                                - * TERMINATE – The child executions are terminated.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * REQUEST_CANCEL – A request to cancel is attempted for each child - * execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider - * to take appropriate actions when it receives an execution history with this event.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * ABANDON – No action is taken. The child executions continue to run.

                                                                - *
                                                              • - *
                                                              - */ - childPolicy: ChildPolicy | string | undefined; - /** *

                                                              The workflow type of this execution.

                                                              */ workflowType: WorkflowType | undefined; - /** - *

                                                              The maximum duration of decision tasks for the new workflow execution.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              - */ - taskStartToCloseTimeout?: string; - - /** - *

                                                              The priority of the task to use for the decisions of the new (continued) workflow - * execution.

                                                              - */ - taskPriority?: string; - /** *

                                                              The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the * ContinueAsNewWorkflowExecution decision that started this execution. This information can be useful for diagnosing problems by tracing back the chain of @@ -3762,14 +3727,16 @@ export interface WorkflowExecutionContinuedAsNewEventAttributes { decisionTaskCompletedEventId: number | undefined; /** - *

                                                              The input provided to the new workflow execution.

                                                              + *

                                                              The priority of the task to use for the decisions of the new (continued) workflow + * execution.

                                                              */ - input?: string; + taskPriority?: string; /** - *

                                                              The IAM role to attach to the new (continued) workflow execution.

                                                              + *

                                                              The maximum duration of decision tasks for the new workflow execution.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              */ - lambdaRole?: string; + taskStartToCloseTimeout?: string; /** *

                                                              The total duration allowed for the new workflow execution.

                                                              @@ -3777,21 +3744,54 @@ export interface WorkflowExecutionContinuedAsNewEventAttributes { */ executionStartToCloseTimeout?: string; - /** - *

                                                              The runId of the new workflow execution.

                                                              - */ - newExecutionRunId: string | undefined; - /** *

                                                              The task list to use for the decisions of the new (continued) workflow * execution.

                                                              */ taskList: TaskList | undefined; + /** + *

                                                              The runId of the new workflow execution.

                                                              + */ + newExecutionRunId: string | undefined; + /** *

                                                              The list of tags associated with the new workflow execution.

                                                              */ tagList?: string[]; + + /** + *

                                                              The IAM role to attach to the new (continued) workflow execution.

                                                              + */ + lambdaRole?: string; + + /** + *

                                                              The input provided to the new workflow execution.

                                                              + */ + input?: string; + + /** + *

                                                              The policy to use for the child workflow executions of the new execution if it is terminated by calling the + * TerminateWorkflowExecution action explicitly or due to an expired timeout.

                                                              + *

                                                              The supported child policies are:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * TERMINATE – The child executions are terminated.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * REQUEST_CANCEL – A request to cancel is attempted for each child + * execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider + * to take appropriate actions when it receives an execution history with this event.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * ABANDON – No action is taken. The child executions continue to run.

                                                                + *
                                                              • + *
                                                              + */ + childPolicy: ChildPolicy | string | undefined; } export namespace WorkflowExecutionContinuedAsNewEventAttributes { @@ -3832,6 +3832,11 @@ export namespace WorkflowExecutionFailedEventAttributes { *

                                                              Provides the details of the WorkflowExecutionSignaled event.

                                                              */ export interface WorkflowExecutionSignaledEventAttributes { + /** + *

                                                              The inputs provided with the signal. The decider can use the signal name and inputs to determine how to process the signal.

                                                              + */ + input?: string; + /** *

                                                              The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to the * SignalExternalWorkflow decision to signal this workflow execution.The source event with this ID can @@ -3841,20 +3846,15 @@ export interface WorkflowExecutionSignaledEventAttributes { */ externalInitiatedEventId?: number; - /** - *

                                                              The workflow execution that sent the signal. This is set only of the signal was sent by another workflow execution.

                                                              - */ - externalWorkflowExecution?: WorkflowExecution; - /** *

                                                              The name of the signal received. The decider can use the signal name and inputs to determine how to the process the signal.

                                                              */ signalName: string | undefined; /** - *

                                                              The inputs provided with the signal. The decider can use the signal name and inputs to determine how to process the signal.

                                                              + *

                                                              The workflow execution that sent the signal. This is set only of the signal was sent by another workflow execution.

                                                              */ - input?: string; + externalWorkflowExecution?: WorkflowExecution; } export namespace WorkflowExecutionSignaledEventAttributes { @@ -3867,6 +3867,16 @@ export namespace WorkflowExecutionSignaledEventAttributes { *

                                                              Provides details of WorkflowExecutionStarted event.

                                                              */ export interface WorkflowExecutionStartedEventAttributes { + /** + *

                                                              The input provided to the workflow execution.

                                                              + */ + input?: string; + + /** + *

                                                              The list of tags associated with this workflow execution. An execution can have up to 5 tags.

                                                              + */ + tagList?: string[]; + /** *

                                                              The IAM role attached to the workflow execution.

                                                              */ @@ -3880,9 +3890,30 @@ export interface WorkflowExecutionStartedEventAttributes { continuedExecutionRunId?: string; /** - *

                                                              The input provided to the workflow execution.

                                                              + *

                                                              The maximum duration for this workflow execution.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              */ - input?: string; + executionStartToCloseTimeout?: string; + + /** + *

                                                              The priority of the decision tasks in the workflow execution.

                                                              + */ + taskPriority?: string; + + /** + *

                                                              The ID of the StartChildWorkflowExecutionInitiated event corresponding to the + * StartChildWorkflowExecution + * Decision to start this workflow execution. The source event with + * this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of + * events leading up to this event.

                                                              + */ + parentInitiatedEventId?: number; + + /** + *

                                                              The maximum duration of decision tasks for this workflow type.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              + */ + taskStartToCloseTimeout?: string; /** *

                                                              The policy to use for the child workflow executions if this workflow execution is terminated, by calling the @@ -3907,51 +3938,20 @@ export interface WorkflowExecutionStartedEventAttributes { */ childPolicy: ChildPolicy | string | undefined; - /** - *

                                                              The priority of the decision tasks in the workflow execution.

                                                              - */ - taskPriority?: string; - - /** - *

                                                              The maximum duration of decision tasks for this workflow type.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              - */ - taskStartToCloseTimeout?: string; - - /** - *

                                                              The source workflow execution that started this workflow execution. The member isn't set if the workflow execution was not started by a workflow.

                                                              - */ - parentWorkflowExecution?: WorkflowExecution; - - /** - *

                                                              The name of the task list for scheduling the decision tasks for this workflow execution.

                                                              - */ - taskList: TaskList | undefined; - /** *

                                                              The workflow type of this execution.

                                                              */ workflowType: WorkflowType | undefined; /** - *

                                                              The maximum duration for this workflow execution.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              - */ - executionStartToCloseTimeout?: string; - - /** - *

                                                              The ID of the StartChildWorkflowExecutionInitiated event corresponding to the - * StartChildWorkflowExecution - * Decision to start this workflow execution. The source event with - * this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of - * events leading up to this event.

                                                              + *

                                                              The name of the task list for scheduling the decision tasks for this workflow execution.

                                                              */ - parentInitiatedEventId?: number; + taskList: TaskList | undefined; /** - *

                                                              The list of tags associated with this workflow execution. An execution can have up to 5 tags.

                                                              + *

                                                              The source workflow execution that started this workflow execution. The member isn't set if the workflow execution was not started by a workflow.

                                                              */ - tagList?: string[]; + parentWorkflowExecution?: WorkflowExecution; } export namespace WorkflowExecutionStartedEventAttributes { @@ -3988,11 +3988,6 @@ export interface WorkflowExecutionTerminatedEventAttributes { */ childPolicy: ChildPolicy | string | undefined; - /** - *

                                                              If set, indicates that the workflow execution was automatically terminated, and specifies the cause. This happens if the parent workflow execution times out or is terminated and the child policy is set to terminate child executions.

                                                              - */ - cause?: WorkflowExecutionTerminatedCause | string; - /** *

                                                              The reason provided for the termination.

                                                              */ @@ -4002,6 +3997,11 @@ export interface WorkflowExecutionTerminatedEventAttributes { *

                                                              The details provided for the termination.

                                                              */ details?: string; + + /** + *

                                                              If set, indicates that the workflow execution was automatically terminated, and specifies the cause. This happens if the parent workflow execution times out or is terminated and the child policy is set to terminate child executions.

                                                              + */ + cause?: WorkflowExecutionTerminatedCause | string; } export namespace WorkflowExecutionTerminatedEventAttributes { @@ -4270,76 +4270,51 @@ export namespace WorkflowExecutionTimedOutEventAttributes { */ export interface HistoryEvent { /** - *

                                                              If the event is of type ChildWorkflowExecutionTimedOut then this member is set and provides - * detailed information about the event. It isn't set for other event types.

                                                              - */ - childWorkflowExecutionTimedOutEventAttributes?: ChildWorkflowExecutionTimedOutEventAttributes; - - /** - *

                                                              If the event is of type WorkflowExecutionStarted then this member is set and provides detailed - * information about the event. It isn't set for other event types.

                                                              + *

                                                              Provides the details of the LambdaFunctionScheduled event. It isn't set + * for other event types.

                                                              */ - workflowExecutionStartedEventAttributes?: WorkflowExecutionStartedEventAttributes; + lambdaFunctionScheduledEventAttributes?: LambdaFunctionScheduledEventAttributes; /** - *

                                                              If the event is of type ExternalWorkflowExecutionSignaled then this member is set and provides + *

                                                              If the event is of type WorkflowExecutionCancelRequested then this member is set and provides * detailed information about the event. It isn't set for other event types.

                                                              */ - externalWorkflowExecutionSignaledEventAttributes?: ExternalWorkflowExecutionSignaledEventAttributes; + workflowExecutionCancelRequestedEventAttributes?: WorkflowExecutionCancelRequestedEventAttributes; /** - *

                                                              If the event is of type CancelTimerFailed then this member is set and provides detailed information + *

                                                              If the event is of type MarkerRecorded then this member is set and provides detailed information * about the event. It isn't set for other event types.

                                                              */ - cancelTimerFailedEventAttributes?: CancelTimerFailedEventAttributes; - - /** - *

                                                              If the event is of type ContinueAsNewWorkflowExecutionFailed then this member is set and provides - * detailed information about the event. It isn't set for other event types.

                                                              - */ - continueAsNewWorkflowExecutionFailedEventAttributes?: ContinueAsNewWorkflowExecutionFailedEventAttributes; + markerRecordedEventAttributes?: MarkerRecordedEventAttributes; /** - *

                                                              If the event is of type ActivityTaskCanceled then this member is set and provides detailed + *

                                                              If the event is of type ChildWorkflowExecutionStarted then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - activityTaskCanceledEventAttributes?: ActivityTaskCanceledEventAttributes; - - /** - *

                                                              Provides the details of the LambdaFunctionStarted event. It isn't set for - * other event types.

                                                              - */ - lambdaFunctionStartedEventAttributes?: LambdaFunctionStartedEventAttributes; - - /** - *

                                                              If the event is of type ChildWorkflowExecutionCanceled then this member is set and provides - * detailed information about the event. It isn't set for other event types.

                                                              - */ - childWorkflowExecutionCanceledEventAttributes?: ChildWorkflowExecutionCanceledEventAttributes; + childWorkflowExecutionStartedEventAttributes?: ChildWorkflowExecutionStartedEventAttributes; /** - *

                                                              If the event is of type RequestCancelExternalWorkflowExecutionFailed then this member is set and - * provides detailed information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type StartTimerFailed then this member is set and provides detailed information + * about the event. It isn't set for other event types.

                                                              */ - requestCancelExternalWorkflowExecutionFailedEventAttributes?: RequestCancelExternalWorkflowExecutionFailedEventAttributes; + startTimerFailedEventAttributes?: StartTimerFailedEventAttributes; /** - *

                                                              If the event is of type WorkflowExecutionContinuedAsNew then this member is set and provides - * detailed information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type ActivityTaskStarted then this member is set and provides detailed + * information about the event. It isn't set for other event types.

                                                              */ - workflowExecutionContinuedAsNewEventAttributes?: WorkflowExecutionContinuedAsNewEventAttributes; + activityTaskStartedEventAttributes?: ActivityTaskStartedEventAttributes; /** - *

                                                              If the event is of type ChildWorkflowExecutionCompleted then this member is set and provides + *

                                                              If the event is of type CompleteWorkflowExecutionFailed then this member is set and provides * detailed information about the event. It isn't set for other event types.

                                                              */ - childWorkflowExecutionCompletedEventAttributes?: ChildWorkflowExecutionCompletedEventAttributes; + completeWorkflowExecutionFailedEventAttributes?: CompleteWorkflowExecutionFailedEventAttributes; /** - *

                                                              Provides the details of the StartLambdaFunctionFailed event. It isn't set - * for other event types.

                                                              + *

                                                              The date and time when the event occurred.

                                                              */ - startLambdaFunctionFailedEventAttributes?: StartLambdaFunctionFailedEventAttributes; + eventTimestamp: Date | undefined; /** *

                                                              If the event is of type TimerStarted then this member is set and provides detailed information @@ -4348,28 +4323,22 @@ export interface HistoryEvent { timerStartedEventAttributes?: TimerStartedEventAttributes; /** - *

                                                              If the event is of type ChildWorkflowExecutionStarted then this member is set and provides detailed + *

                                                              If the event is of type FailWorkflowExecutionFailed then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - childWorkflowExecutionStartedEventAttributes?: ChildWorkflowExecutionStartedEventAttributes; - - /** - *

                                                              If the event is of type RequestCancelExternalWorkflowExecutionInitiated then this member is set and - * provides detailed information about the event. It isn't set for other event types.

                                                              - */ - requestCancelExternalWorkflowExecutionInitiatedEventAttributes?: RequestCancelExternalWorkflowExecutionInitiatedEventAttributes; + failWorkflowExecutionFailedEventAttributes?: FailWorkflowExecutionFailedEventAttributes; /** - *

                                                              If the event is of type WorkflowExecutionCancelRequested then this member is set and provides - * detailed information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type CancelTimerFailed then this member is set and provides detailed information + * about the event. It isn't set for other event types.

                                                              */ - workflowExecutionCancelRequestedEventAttributes?: WorkflowExecutionCancelRequestedEventAttributes; + cancelTimerFailedEventAttributes?: CancelTimerFailedEventAttributes; /** - *

                                                              Provides the details of the LambdaFunctionCompleted event. It isn't set - * for other event types.

                                                              + *

                                                              If the event is of type WorkflowExecutionStarted then this member is set and provides detailed + * information about the event. It isn't set for other event types.

                                                              */ - lambdaFunctionCompletedEventAttributes?: LambdaFunctionCompletedEventAttributes; + workflowExecutionStartedEventAttributes?: WorkflowExecutionStartedEventAttributes; /** *

                                                              The system generated ID of the event. This ID uniquely identifies the event with in the workflow execution history.

                                                              @@ -4377,136 +4346,136 @@ export interface HistoryEvent { eventId: number | undefined; /** - *

                                                              If the event is of type SignalExternalWorkflowExecutionFailed then this member is set and provides - * detailed information about the event. It isn't set for other event types.

                                                              + *

                                                              Provides the details of the StartLambdaFunctionFailed event. It isn't set + * for other event types.

                                                              */ - signalExternalWorkflowExecutionFailedEventAttributes?: SignalExternalWorkflowExecutionFailedEventAttributes; + startLambdaFunctionFailedEventAttributes?: StartLambdaFunctionFailedEventAttributes; /** - *

                                                              If the event is of type CompleteWorkflowExecutionFailed then this member is set and provides - * detailed information about the event. It isn't set for other event types.

                                                              + *

                                                              Provides the details of the LambdaFunctionStarted event. It isn't set for + * other event types.

                                                              */ - completeWorkflowExecutionFailedEventAttributes?: CompleteWorkflowExecutionFailedEventAttributes; + lambdaFunctionStartedEventAttributes?: LambdaFunctionStartedEventAttributes; /** - *

                                                              Provides the details of the LambdaFunctionTimedOut event. It isn't set for - * other event types.

                                                              + *

                                                              If the event is of type ScheduleActivityTaskFailed then this member is set and provides detailed + * information about the event. It isn't set for other event types.

                                                              */ - lambdaFunctionTimedOutEventAttributes?: LambdaFunctionTimedOutEventAttributes; + scheduleActivityTaskFailedEventAttributes?: ScheduleActivityTaskFailedEventAttributes; /** - *

                                                              Provides the details of the LambdaFunctionScheduled event. It isn't set - * for other event types.

                                                              + *

                                                              If the event is of type StartChildWorkflowExecutionFailed then this member is set and provides + * detailed information about the event. It isn't set for other event types.

                                                              */ - lambdaFunctionScheduledEventAttributes?: LambdaFunctionScheduledEventAttributes; + startChildWorkflowExecutionFailedEventAttributes?: StartChildWorkflowExecutionFailedEventAttributes; /** - *

                                                              If the event is of type ActivityTaskFailed then this member is set and provides detailed + *

                                                              If the event is of type ActivityTaskCanceled then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - activityTaskFailedEventAttributes?: ActivityTaskFailedEventAttributes; + activityTaskCanceledEventAttributes?: ActivityTaskCanceledEventAttributes; /** - *

                                                              If the event is of type DecisionTaskStarted then this member is set and provides detailed + *

                                                              If the event is of type ActivityTaskCompleted then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - decisionTaskStartedEventAttributes?: DecisionTaskStartedEventAttributes; + activityTaskCompletedEventAttributes?: ActivityTaskCompletedEventAttributes; /** - *

                                                              If the event is of type DecisionTaskCompleted then this member is set and provides detailed - * information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type ChildWorkflowExecutionTimedOut then this member is set and provides + * detailed information about the event. It isn't set for other event types.

                                                              */ - decisionTaskCompletedEventAttributes?: DecisionTaskCompletedEventAttributes; + childWorkflowExecutionTimedOutEventAttributes?: ChildWorkflowExecutionTimedOutEventAttributes; /** - *

                                                              If the event is of type DecisionTaskFailed then this member is set and provides detailed + *

                                                              If the event is of type ActivityTaskcancelRequested then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - recordMarkerFailedEventAttributes?: RecordMarkerFailedEventAttributes; + activityTaskCancelRequestedEventAttributes?: ActivityTaskCancelRequestedEventAttributes; /** - *

                                                              If the event is of type WorkflowExecutionTimedOut then this member is set and provides detailed + *

                                                              If the event is of type ActivityTaskScheduled then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - workflowExecutionTimedOutEventAttributes?: WorkflowExecutionTimedOutEventAttributes; + activityTaskScheduledEventAttributes?: ActivityTaskScheduledEventAttributes; /** - *

                                                              If the event is of type DecisionTaskScheduled then this member is set and provides detailed - * information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type ExternalWorkflowExecutionSignaled then this member is set and provides + * detailed information about the event. It isn't set for other event types.

                                                              */ - decisionTaskScheduledEventAttributes?: DecisionTaskScheduledEventAttributes; + externalWorkflowExecutionSignaledEventAttributes?: ExternalWorkflowExecutionSignaledEventAttributes; /** - *

                                                              If the event is of type DecisionTaskTimedOut then this member is set and provides detailed + *

                                                              If the event is of type WorkflowExecutionCompleted then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - decisionTaskTimedOutEventAttributes?: DecisionTaskTimedOutEventAttributes; + workflowExecutionCompletedEventAttributes?: WorkflowExecutionCompletedEventAttributes; /** - *

                                                              Provides the details of the ScheduleLambdaFunctionFailed event. It isn't - * set for other event types.

                                                              + *

                                                              If the event is of type ActivityTaskTimedOut then this member is set and provides detailed + * information about the event. It isn't set for other event types.

                                                              */ - scheduleLambdaFunctionFailedEventAttributes?: ScheduleLambdaFunctionFailedEventAttributes; + activityTaskTimedOutEventAttributes?: ActivityTaskTimedOutEventAttributes; /** - *

                                                              If the event is of type StartTimerFailed then this member is set and provides detailed information - * about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type WorkflowExecutionFailed then this member is set and provides detailed + * information about the event. It isn't set for other event types.

                                                              */ - startTimerFailedEventAttributes?: StartTimerFailedEventAttributes; + workflowExecutionFailedEventAttributes?: WorkflowExecutionFailedEventAttributes; /** - *

                                                              If the event is of type WorkflowExecutionSignaled then this member is set and provides detailed + *

                                                              If the event is of type ChildWorkflowExecutionFailed then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - workflowExecutionSignaledEventAttributes?: WorkflowExecutionSignaledEventAttributes; + childWorkflowExecutionFailedEventAttributes?: ChildWorkflowExecutionFailedEventAttributes; /** - *

                                                              If the event is of type TimerCanceled then this member is set and provides detailed information - * about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type ExternalWorkflowExecutionCancelRequested then this member is set and + * provides detailed information about the event. It isn't set for other event types.

                                                              */ - timerCanceledEventAttributes?: TimerCanceledEventAttributes; + externalWorkflowExecutionCancelRequestedEventAttributes?: ExternalWorkflowExecutionCancelRequestedEventAttributes; /** - *

                                                              If the event is of type RequestCancelActivityTaskFailed then this member is set and provides - * detailed information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type SignalExternalWorkflowExecutionInitiated then this member is set and + * provides detailed information about the event. It isn't set for other event types.

                                                              */ - requestCancelActivityTaskFailedEventAttributes?: RequestCancelActivityTaskFailedEventAttributes; + signalExternalWorkflowExecutionInitiatedEventAttributes?: SignalExternalWorkflowExecutionInitiatedEventAttributes; /** - *

                                                              If the event is of type WorkflowExecutionCanceled then this member is set and provides detailed - * information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type StartChildWorkflowExecutionInitiated then this member is set and provides + * detailed information about the event. It isn't set for other event types.

                                                              */ - workflowExecutionCanceledEventAttributes?: WorkflowExecutionCanceledEventAttributes; + startChildWorkflowExecutionInitiatedEventAttributes?: StartChildWorkflowExecutionInitiatedEventAttributes; /** - *

                                                              If the event is of type ScheduleActivityTaskFailed then this member is set and provides detailed + *

                                                              If the event is of type WorkflowExecutionTerminated then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - scheduleActivityTaskFailedEventAttributes?: ScheduleActivityTaskFailedEventAttributes; + workflowExecutionTerminatedEventAttributes?: WorkflowExecutionTerminatedEventAttributes; /** - *

                                                              If the event is of type ActivityTaskcancelRequested then this member is set and provides detailed - * information about the event. It isn't set for other event types.

                                                              + *

                                                              Provides the details of the LambdaFunctionCompleted event. It isn't set + * for other event types.

                                                              */ - activityTaskCancelRequestedEventAttributes?: ActivityTaskCancelRequestedEventAttributes; + lambdaFunctionCompletedEventAttributes?: LambdaFunctionCompletedEventAttributes; /** - *

                                                              If the event is of type TimerFired then this member is set and provides detailed information about - * the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type RequestCancelExternalWorkflowExecutionInitiated then this member is set and + * provides detailed information about the event. It isn't set for other event types.

                                                              */ - timerFiredEventAttributes?: TimerFiredEventAttributes; + requestCancelExternalWorkflowExecutionInitiatedEventAttributes?: RequestCancelExternalWorkflowExecutionInitiatedEventAttributes; /** - *

                                                              If the event is of type ChildWorkflowExecutionTerminated then this member is set and provides + *

                                                              If the event is of type SignalExternalWorkflowExecutionFailed then this member is set and provides * detailed information about the event. It isn't set for other event types.

                                                              */ - childWorkflowExecutionTerminatedEventAttributes?: ChildWorkflowExecutionTerminatedEventAttributes; + signalExternalWorkflowExecutionFailedEventAttributes?: SignalExternalWorkflowExecutionFailedEventAttributes; /** - *

                                                              If the event is of type StartChildWorkflowExecutionFailed then this member is set and provides - * detailed information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type DecisionTaskFailed then this member is set and provides detailed + * information about the event. It isn't set for other event types.

                                                              */ - startChildWorkflowExecutionFailedEventAttributes?: StartChildWorkflowExecutionFailedEventAttributes; + recordMarkerFailedEventAttributes?: RecordMarkerFailedEventAttributes; /** *

                                                              The type of the history event.

                                                              @@ -4519,6 +4488,12 @@ export interface HistoryEvent { */ lambdaFunctionFailedEventAttributes?: LambdaFunctionFailedEventAttributes; + /** + *

                                                              If the event is of type WorkflowExecutionContinuedAsNew then this member is set and provides + * detailed information about the event. It isn't set for other event types.

                                                              + */ + workflowExecutionContinuedAsNewEventAttributes?: WorkflowExecutionContinuedAsNewEventAttributes; + /** *

                                                              If the event is of type CancelWorkflowExecutionFailed then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              @@ -4526,87 +4501,112 @@ export interface HistoryEvent { cancelWorkflowExecutionFailedEventAttributes?: CancelWorkflowExecutionFailedEventAttributes; /** - *

                                                              If the event is of type WorkflowExecutionTerminated then this member is set and provides detailed - * information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type ChildWorkflowExecutionCanceled then this member is set and provides + * detailed information about the event. It isn't set for other event types.

                                                              */ - workflowExecutionTerminatedEventAttributes?: WorkflowExecutionTerminatedEventAttributes; + childWorkflowExecutionCanceledEventAttributes?: ChildWorkflowExecutionCanceledEventAttributes; /** - *

                                                              If the event is of type MarkerRecorded then this member is set and provides detailed information - * about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type ChildWorkflowExecutionCompleted then this member is set and provides + * detailed information about the event. It isn't set for other event types.

                                                              */ - markerRecordedEventAttributes?: MarkerRecordedEventAttributes; + childWorkflowExecutionCompletedEventAttributes?: ChildWorkflowExecutionCompletedEventAttributes; /** - *

                                                              If the event is of type StartChildWorkflowExecutionInitiated then this member is set and provides + *

                                                              If the event is of type TimerFired then this member is set and provides detailed information about + * the event. It isn't set for other event types.

                                                              + */ + timerFiredEventAttributes?: TimerFiredEventAttributes; + + /** + *

                                                              If the event is of type ContinueAsNewWorkflowExecutionFailed then this member is set and provides * detailed information about the event. It isn't set for other event types.

                                                              */ - startChildWorkflowExecutionInitiatedEventAttributes?: StartChildWorkflowExecutionInitiatedEventAttributes; + continueAsNewWorkflowExecutionFailedEventAttributes?: ContinueAsNewWorkflowExecutionFailedEventAttributes; /** - *

                                                              If the event is of type ActivityTaskStarted then this member is set and provides detailed + *

                                                              If the event is of type ChildWorkflowExecutionTerminated then this member is set and provides + * detailed information about the event. It isn't set for other event types.

                                                              + */ + childWorkflowExecutionTerminatedEventAttributes?: ChildWorkflowExecutionTerminatedEventAttributes; + + /** + *

                                                              If the event is of type RequestCancelExternalWorkflowExecutionFailed then this member is set and + * provides detailed information about the event. It isn't set for other event types.

                                                              + */ + requestCancelExternalWorkflowExecutionFailedEventAttributes?: RequestCancelExternalWorkflowExecutionFailedEventAttributes; + + /** + *

                                                              If the event is of type DecisionTaskTimedOut then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - activityTaskStartedEventAttributes?: ActivityTaskStartedEventAttributes; + decisionTaskTimedOutEventAttributes?: DecisionTaskTimedOutEventAttributes; /** - *

                                                              If the event is of type FailWorkflowExecutionFailed then this member is set and provides detailed + *

                                                              If the event is of type DecisionTaskScheduled then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - failWorkflowExecutionFailedEventAttributes?: FailWorkflowExecutionFailedEventAttributes; + decisionTaskScheduledEventAttributes?: DecisionTaskScheduledEventAttributes; /** - *

                                                              The date and time when the event occurred.

                                                              + *

                                                              If the event is of type DecisionTaskCompleted then this member is set and provides detailed + * information about the event. It isn't set for other event types.

                                                              */ - eventTimestamp: Date | undefined; + decisionTaskCompletedEventAttributes?: DecisionTaskCompletedEventAttributes; /** - *

                                                              If the event is of type ExternalWorkflowExecutionCancelRequested then this member is set and - * provides detailed information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type WorkflowExecutionCanceled then this member is set and provides detailed + * information about the event. It isn't set for other event types.

                                                              */ - externalWorkflowExecutionCancelRequestedEventAttributes?: ExternalWorkflowExecutionCancelRequestedEventAttributes; + workflowExecutionCanceledEventAttributes?: WorkflowExecutionCanceledEventAttributes; /** - *

                                                              If the event is of type ActivityTaskScheduled then this member is set and provides detailed + *

                                                              If the event is of type ActivityTaskFailed then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - activityTaskScheduledEventAttributes?: ActivityTaskScheduledEventAttributes; + activityTaskFailedEventAttributes?: ActivityTaskFailedEventAttributes; /** - *

                                                              If the event is of type SignalExternalWorkflowExecutionInitiated then this member is set and - * provides detailed information about the event. It isn't set for other event types.

                                                              + *

                                                              If the event is of type TimerCanceled then this member is set and provides detailed information + * about the event. It isn't set for other event types.

                                                              */ - signalExternalWorkflowExecutionInitiatedEventAttributes?: SignalExternalWorkflowExecutionInitiatedEventAttributes; + timerCanceledEventAttributes?: TimerCanceledEventAttributes; /** - *

                                                              If the event is of type ActivityTaskCompleted then this member is set and provides detailed + *

                                                              If the event is of type DecisionTaskStarted then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - activityTaskCompletedEventAttributes?: ActivityTaskCompletedEventAttributes; + decisionTaskStartedEventAttributes?: DecisionTaskStartedEventAttributes; /** - *

                                                              If the event is of type WorkflowExecutionCompleted then this member is set and provides detailed - * information about the event. It isn't set for other event types.

                                                              + *

                                                              Provides the details of the LambdaFunctionTimedOut event. It isn't set for + * other event types.

                                                              */ - workflowExecutionCompletedEventAttributes?: WorkflowExecutionCompletedEventAttributes; + lambdaFunctionTimedOutEventAttributes?: LambdaFunctionTimedOutEventAttributes; /** - *

                                                              If the event is of type WorkflowExecutionFailed then this member is set and provides detailed + *

                                                              If the event is of type WorkflowExecutionSignaled then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - workflowExecutionFailedEventAttributes?: WorkflowExecutionFailedEventAttributes; + workflowExecutionSignaledEventAttributes?: WorkflowExecutionSignaledEventAttributes; /** - *

                                                              If the event is of type ChildWorkflowExecutionFailed then this member is set and provides detailed - * information about the event. It isn't set for other event types.

                                                              + *

                                                              Provides the details of the ScheduleLambdaFunctionFailed event. It isn't + * set for other event types.

                                                              */ - childWorkflowExecutionFailedEventAttributes?: ChildWorkflowExecutionFailedEventAttributes; + scheduleLambdaFunctionFailedEventAttributes?: ScheduleLambdaFunctionFailedEventAttributes; /** - *

                                                              If the event is of type ActivityTaskTimedOut then this member is set and provides detailed + *

                                                              If the event is of type RequestCancelActivityTaskFailed then this member is set and provides + * detailed information about the event. It isn't set for other event types.

                                                              + */ + requestCancelActivityTaskFailedEventAttributes?: RequestCancelActivityTaskFailedEventAttributes; + + /** + *

                                                              If the event is of type WorkflowExecutionTimedOut then this member is set and provides detailed * information about the event. It isn't set for other event types.

                                                              */ - activityTaskTimedOutEventAttributes?: ActivityTaskTimedOutEventAttributes; + workflowExecutionTimedOutEventAttributes?: WorkflowExecutionTimedOutEventAttributes; } export namespace HistoryEvent { @@ -4624,38 +4624,38 @@ export interface DecisionTask { */ previousStartedEventId?: number; - /** - *

                                                              The type of the workflow execution for which this decision task was created.

                                                              - */ - workflowType: WorkflowType | undefined; - /** *

                                                              The opaque string used as a handle on the task. This token is used by workers to communicate progress and response information back to the system about the task.

                                                              */ taskToken: string | undefined; /** - *

                                                              A paginated list of history events of the workflow execution. The decider uses this during the processing of the decision task.

                                                              + *

                                                              If a NextPageToken was returned by a previous call, there are more + * results available. To retrieve the next page of results, make the call again using the returned token in + * nextPageToken. Keep all other arguments unchanged.

                                                              + *

                                                              The configured maximumPageSize determines how many results can be returned in a single call.

                                                              */ - events: HistoryEvent[] | undefined; + nextPageToken?: string; /** *

                                                              The workflow execution for which this decision task was created.

                                                              */ workflowExecution: WorkflowExecution | undefined; + /** + *

                                                              A paginated list of history events of the workflow execution. The decider uses this during the processing of the decision task.

                                                              + */ + events: HistoryEvent[] | undefined; + /** *

                                                              The ID of the DecisionTaskStarted event recorded in the history.

                                                              */ startedEventId: number | undefined; /** - *

                                                              If a NextPageToken was returned by a previous call, there are more - * results available. To retrieve the next page of results, make the call again using the returned token in - * nextPageToken. Keep all other arguments unchanged.

                                                              - *

                                                              The configured maximumPageSize determines how many results can be returned in a single call.

                                                              + *

                                                              The type of the workflow execution for which this decision task was created.

                                                              */ - nextPageToken?: string; + workflowType: WorkflowType | undefined; } export namespace DecisionTask { @@ -4691,14 +4691,14 @@ export namespace DefaultUndefinedFault { export interface DeprecateActivityTypeInput { /** - *

                                                              The activity type to deprecate.

                                                              + *

                                                              The name of the domain in which the activity type is registered.

                                                              */ - activityType: ActivityType | undefined; + domain: string | undefined; /** - *

                                                              The name of the domain in which the activity type is registered.

                                                              + *

                                                              The activity type to deprecate.

                                                              */ - domain: string | undefined; + activityType: ActivityType | undefined; } export namespace DeprecateActivityTypeInput { @@ -4775,17 +4775,17 @@ export namespace DeprecateWorkflowTypeInput { } export interface DescribeActivityTypeInput { - /** - *

                                                              The name of the domain in which the activity type is registered.

                                                              - */ - domain: string | undefined; - /** *

                                                              The activity type to get information about. Activity types are identified by the * name and version that were supplied when the activity was * registered.

                                                              */ activityType: ActivityType | undefined; + + /** + *

                                                              The name of the domain in which the activity type is registered.

                                                              + */ + domain: string | undefined; } export namespace DescribeActivityTypeInput { @@ -4847,9 +4847,9 @@ export interface DomainInfo { status: RegistrationStatus | string | undefined; /** - *

                                                              The description of the domain provided through RegisterDomain.

                                                              + *

                                                              The name of the domain. This name is unique within the account.

                                                              */ - description?: string; + name: string | undefined; /** *

                                                              The ARN of the domain.

                                                              @@ -4857,9 +4857,9 @@ export interface DomainInfo { arn?: string; /** - *

                                                              The name of the domain. This name is unique within the account.

                                                              + *

                                                              The description of the domain provided through RegisterDomain.

                                                              */ - name: string | undefined; + description?: string; } export namespace DomainInfo { @@ -4937,15 +4937,10 @@ export interface WorkflowExecutionConfiguration { childPolicy: ChildPolicy | string | undefined; /** - *

                                                              The IAM role attached to the child workflow execution.

                                                              - */ - lambdaRole?: string; - - /** - *

                                                              The maximum duration allowed for decision tasks for this workflow execution.

                                                              + *

                                                              The total duration for this workflow execution.

                                                              *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              */ - taskStartToCloseTimeout: string | undefined; + executionStartToCloseTimeout: string | undefined; /** *

                                                              The priority assigned to decision tasks for this workflow execution. Valid values are integers that range from Java's Integer.MIN_VALUE @@ -4955,15 +4950,20 @@ export interface WorkflowExecutionConfiguration { taskPriority?: string; /** - *

                                                              The task list used for the decision tasks generated for this workflow execution.

                                                              + *

                                                              The maximum duration allowed for decision tasks for this workflow execution.

                                                              + *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              */ - taskList: TaskList | undefined; + taskStartToCloseTimeout: string | undefined; /** - *

                                                              The total duration for this workflow execution.

                                                              - *

                                                              The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                              + *

                                                              The IAM role attached to the child workflow execution.

                                                              */ - executionStartToCloseTimeout: string | undefined; + lambdaRole?: string; + + /** + *

                                                              The task list used for the decision tasks generated for this workflow execution.

                                                              + */ + taskList: TaskList | undefined; } export namespace WorkflowExecutionConfiguration { @@ -4978,6 +4978,21 @@ export type ExecutionStatus = "CLOSED" | "OPEN"; *

                                                              Contains information about a workflow execution.

                                                              */ export interface WorkflowExecutionInfo { + /** + *

                                                              If this workflow execution is a child of another execution then contains the workflow execution that started this execution.

                                                              + */ + parent?: WorkflowExecution; + + /** + *

                                                              The list of tags associated with the workflow execution. Tags can be used to identify and list workflow executions of interest through the visibility APIs. A workflow execution can have a maximum of 5 tags.

                                                              + */ + tagList?: string[]; + + /** + *

                                                              The workflow execution this information is about.

                                                              + */ + execution: WorkflowExecution | undefined; + /** *

                                                              If the execution status is closed then this specifies how the execution was closed:

                                                              *
                                                                @@ -5013,24 +5028,14 @@ export interface WorkflowExecutionInfo { closeStatus?: CloseStatus | string; /** - *

                                                                If this workflow execution is a child of another execution then contains the workflow execution that started this execution.

                                                                - */ - parent?: WorkflowExecution; - - /** - *

                                                                The current status of the execution.

                                                                - */ - executionStatus: ExecutionStatus | string | undefined; - - /** - *

                                                                The type of the workflow execution.

                                                                + *

                                                                The time when the workflow execution was closed. Set only if the execution status is CLOSED.

                                                                */ - workflowType: WorkflowType | undefined; + closeTimestamp?: Date; /** - *

                                                                Set to true if a cancellation is requested for this workflow execution.

                                                                + *

                                                                The current status of the execution.

                                                                */ - cancelRequested?: boolean; + executionStatus: ExecutionStatus | string | undefined; /** *

                                                                The time when the execution was started.

                                                                @@ -5038,19 +5043,14 @@ export interface WorkflowExecutionInfo { startTimestamp: Date | undefined; /** - *

                                                                The workflow execution this information is about.

                                                                - */ - execution: WorkflowExecution | undefined; - - /** - *

                                                                The list of tags associated with the workflow execution. Tags can be used to identify and list workflow executions of interest through the visibility APIs. A workflow execution can have a maximum of 5 tags.

                                                                + *

                                                                The type of the workflow execution.

                                                                */ - tagList?: string[]; + workflowType: WorkflowType | undefined; /** - *

                                                                The time when the workflow execution was closed. Set only if the execution status is CLOSED.

                                                                + *

                                                                Set to true if a cancellation is requested for this workflow execution.

                                                                */ - closeTimestamp?: Date; + cancelRequested?: boolean; } export namespace WorkflowExecutionInfo { @@ -5069,9 +5069,9 @@ export interface WorkflowExecutionOpenCounts { openTimers: number | undefined; /** - *

                                                                The count of activity tasks whose status is OPEN.

                                                                + *

                                                                The count of child workflow executions whose status is OPEN.

                                                                */ - openActivityTasks: number | undefined; + openChildWorkflowExecutions: number | undefined; /** *

                                                                The count of Lambda tasks whose status is OPEN.

                                                                @@ -5084,9 +5084,9 @@ export interface WorkflowExecutionOpenCounts { openDecisionTasks: number | undefined; /** - *

                                                                The count of child workflow executions whose status is OPEN.

                                                                + *

                                                                The count of activity tasks whose status is OPEN.

                                                                */ - openChildWorkflowExecutions: number | undefined; + openActivityTasks: number | undefined; } export namespace WorkflowExecutionOpenCounts { @@ -5100,19 +5100,20 @@ export namespace WorkflowExecutionOpenCounts { */ export interface WorkflowExecutionDetail { /** - *

                                                                The configuration settings for this workflow execution including timeout values, tasklist etc.

                                                                + *

                                                                The time when the last activity task was scheduled for this workflow execution. You can use this information to determine if the workflow has not made progress for an unusually long period of time and might require a corrective action.

                                                                */ - executionConfiguration: WorkflowExecutionConfiguration | undefined; + latestActivityTaskTimestamp?: Date; /** - *

                                                                The time when the last activity task was scheduled for this workflow execution. You can use this information to determine if the workflow has not made progress for an unusually long period of time and might require a corrective action.

                                                                + *

                                                                The configuration settings for this workflow execution including timeout values, tasklist etc.

                                                                */ - latestActivityTaskTimestamp?: Date; + executionConfiguration: WorkflowExecutionConfiguration | undefined; /** - *

                                                                Information about the workflow execution.

                                                                + *

                                                                The latest executionContext provided by the decider for this workflow execution. A decider can provide an + * executionContext (a free-form string) when closing a decision task using RespondDecisionTaskCompleted.

                                                                */ - executionInfo: WorkflowExecutionInfo | undefined; + latestExecutionContext?: string; /** *

                                                                The number of tasks for this workflow execution. This includes open and closed tasks of all types.

                                                                @@ -5120,10 +5121,9 @@ export interface WorkflowExecutionDetail { openCounts: WorkflowExecutionOpenCounts | undefined; /** - *

                                                                The latest executionContext provided by the decider for this workflow execution. A decider can provide an - * executionContext (a free-form string) when closing a decision task using RespondDecisionTaskCompleted.

                                                                + *

                                                                Information about the workflow execution.

                                                                */ - latestExecutionContext?: string; + executionInfo: WorkflowExecutionInfo | undefined; } export namespace WorkflowExecutionDetail { @@ -5134,14 +5134,14 @@ export namespace WorkflowExecutionDetail { export interface DescribeWorkflowTypeInput { /** - *

                                                                The name of the domain in which this workflow type is registered.

                                                                + *

                                                                The workflow type to describe.

                                                                */ - domain: string | undefined; + workflowType: WorkflowType | undefined; /** - *

                                                                The workflow type to describe.

                                                                + *

                                                                The name of the domain in which this workflow type is registered.

                                                                */ - workflowType: WorkflowType | undefined; + domain: string | undefined; } export namespace DescribeWorkflowTypeInput { @@ -5155,16 +5155,15 @@ export namespace DescribeWorkflowTypeInput { */ export interface WorkflowTypeConfiguration { /** - *

                                                                - * The default maximum duration, specified when registering the workflow type, that a decision task - * for executions of this workflow type might take before returning completion or failure. If the task doesn'tdo close - * in the specified time then the task is automatically timed out and rescheduled. If the decider eventually reports - * a completion or failure, it is ignored. This default can be overridden when starting a workflow execution using - * the StartWorkflowExecution action or the StartChildWorkflowExecution - * Decision.

                                                                - *

                                                                The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                                + *

                                                                The default IAM role attached to this workflow type.

                                                                + * + *

                                                                Executions of this workflow type need IAM roles to invoke Lambda functions. If you + * don't specify an IAM role when starting this workflow type, the default Lambda role is + * attached to the execution. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html in the + * Amazon SWF Developer Guide.

                                                                + *
                                                                */ - defaultTaskStartToCloseTimeout?: string; + defaultLambdaRole?: string; /** *

                                                                @@ -5177,15 +5176,27 @@ export interface WorkflowTypeConfiguration { defaultExecutionStartToCloseTimeout?: string; /** - *

                                                                The default IAM role attached to this workflow type.

                                                                - * - *

                                                                Executions of this workflow type need IAM roles to invoke Lambda functions. If you - * don't specify an IAM role when starting this workflow type, the default Lambda role is - * attached to the execution. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html in the - * Amazon SWF Developer Guide.

                                                                - *
                                                                + *

                                                                + * The default task priority, specified when registering the workflow type, for all decision tasks + * of this workflow type. This default can be overridden when starting a workflow execution using the + * StartWorkflowExecution action or the StartChildWorkflowExecution decision.

                                                                + *

                                                                Valid values are integers that range from Java's Integer.MIN_VALUE + * (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

                                                                + *

                                                                For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

                                                                */ - defaultLambdaRole?: string; + defaultTaskPriority?: string; + + /** + *

                                                                + * The default maximum duration, specified when registering the workflow type, that a decision task + * for executions of this workflow type might take before returning completion or failure. If the task doesn'tdo close + * in the specified time then the task is automatically timed out and rescheduled. If the decider eventually reports + * a completion or failure, it is ignored. This default can be overridden when starting a workflow execution using + * the StartWorkflowExecution action or the StartChildWorkflowExecution + * Decision.

                                                                + *

                                                                The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

                                                                + */ + defaultTaskStartToCloseTimeout?: string; /** *

                                                                @@ -5222,17 +5233,6 @@ export interface WorkflowTypeConfiguration { * Decision.

                                                                */ defaultTaskList?: TaskList; - - /** - *

                                                                - * The default task priority, specified when registering the workflow type, for all decision tasks - * of this workflow type. This default can be overridden when starting a workflow execution using the - * StartWorkflowExecution action or the StartChildWorkflowExecution decision.

                                                                - *

                                                                Valid values are integers that range from Java's Integer.MIN_VALUE - * (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

                                                                - *

                                                                For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

                                                                - */ - defaultTaskPriority?: string; } export namespace WorkflowTypeConfiguration { @@ -5245,15 +5245,20 @@ export namespace WorkflowTypeConfiguration { *

                                                                Contains information about a workflow type.

                                                                */ export interface WorkflowTypeInfo { + /** + *

                                                                The current status of the workflow type.

                                                                + */ + status: RegistrationStatus | string | undefined; + /** *

                                                                The workflow type this information is about.

                                                                */ workflowType: WorkflowType | undefined; /** - *

                                                                If the type is in deprecated state, then it is set to the date when the type was deprecated.

                                                                + *

                                                                The description of the type registered through RegisterWorkflowType.

                                                                */ - deprecationDate?: Date; + description?: string; /** *

                                                                The date when this type was registered.

                                                                @@ -5261,14 +5266,9 @@ export interface WorkflowTypeInfo { creationDate: Date | undefined; /** - *

                                                                The description of the type registered through RegisterWorkflowType.

                                                                - */ - description?: string; - - /** - *

                                                                The current status of the workflow type.

                                                                + *

                                                                If the type is in deprecated state, then it is set to the date when the type was deprecated.

                                                                */ - status: RegistrationStatus | string | undefined; + deprecationDate?: Date; } export namespace WorkflowTypeInfo { @@ -5354,18 +5354,6 @@ export namespace DomainInfos { } export interface GetWorkflowExecutionHistoryInput { - /** - *

                                                                When set to true, returns the events in reverse order. By default the - * results are returned in ascending order of the eventTimeStamp of the - * events.

                                                                - */ - reverseOrder?: boolean; - - /** - *

                                                                The name of the domain containing the workflow execution.

                                                                - */ - domain: string | undefined; - /** *

                                                                If NextPageToken is returned there are more results * available. The value of NextPageToken is a unique pagination token for each page. Make the call again using @@ -5383,6 +5371,18 @@ export interface GetWorkflowExecutionHistoryInput { */ execution: WorkflowExecution | undefined; + /** + *

                                                                The name of the domain containing the workflow execution.

                                                                + */ + domain: string | undefined; + + /** + *

                                                                When set to true, returns the events in reverse order. By default the + * results are returned in ascending order of the eventTimeStamp of the + * events.

                                                                + */ + reverseOrder?: boolean; + /** *

                                                                The maximum number of results that are returned per call. * Use nextPageToken to obtain further pages of results.

                                                                @@ -5444,6 +5444,16 @@ export interface ListActivityTypesInput { */ name?: string; + /** + *

                                                                The name of the domain in which the activity types have been registered.

                                                                + */ + domain: string | undefined; + + /** + *

                                                                Specifies the registration status of the activity types to list.

                                                                + */ + registrationStatus: RegistrationStatus | string | undefined; + /** *

                                                                If NextPageToken is returned there are more results * available. The value of NextPageToken is a unique pagination token for each page. Make the call again using @@ -5457,9 +5467,10 @@ export interface ListActivityTypesInput { nextPageToken?: string; /** - *

                                                                Specifies the registration status of the activity types to list.

                                                                + *

                                                                The maximum number of results that are returned per call. + * Use nextPageToken to obtain further pages of results.

                                                                */ - registrationStatus: RegistrationStatus | string | undefined; + maximumPageSize?: number; /** *

                                                                When set to true, returns the results in reverse order. By default, the @@ -5467,17 +5478,6 @@ export interface ListActivityTypesInput { * types.

                                                                */ reverseOrder?: boolean; - - /** - *

                                                                The maximum number of results that are returned per call. - * Use nextPageToken to obtain further pages of results.

                                                                - */ - maximumPageSize?: number; - - /** - *

                                                                The name of the domain in which the activity types have been registered.

                                                                - */ - domain: string | undefined; } export namespace ListActivityTypesInput { @@ -5512,13 +5512,9 @@ export interface ListClosedWorkflowExecutionsInput { closeTimeFilter?: ExecutionTimeFilter; /** - *

                                                                The maximum number of results that are returned per call. - * Use nextPageToken to obtain further pages of results.

                                                                - */ - maximumPageSize?: number; - - /** - *

                                                                If specified, only executions that have the matching tag are listed.

                                                                + *

                                                                If specified, only workflow executions that match this close + * status are listed. For example, if TERMINATED is specified, then only TERMINATED + * workflow executions are listed.

                                                                * *

                                                                * closeStatusFilter, executionFilter, typeFilter and @@ -5526,12 +5522,10 @@ export interface ListClosedWorkflowExecutionsInput { * request.

                                                                *
                                                                */ - tagFilter?: TagFilter; + closeStatusFilter?: CloseStatusFilter; /** - *

                                                                If specified, only workflow executions that match this close - * status are listed. For example, if TERMINATED is specified, then only TERMINATED - * workflow executions are listed.

                                                                + *

                                                                If specified, only executions that have the matching tag are listed.

                                                                * *

                                                                * closeStatusFilter, executionFilter, typeFilter and @@ -5539,26 +5533,18 @@ export interface ListClosedWorkflowExecutionsInput { * request.

                                                                *
                                                                */ - closeStatusFilter?: CloseStatusFilter; + tagFilter?: TagFilter; /** - *

                                                                When set to true, returns the results in reverse order. By default the - * results are returned in descending order of the start or the close time of the - * executions.

                                                                + *

                                                                The maximum number of results that are returned per call. + * Use nextPageToken to obtain further pages of results.

                                                                */ - reverseOrder?: boolean; + maximumPageSize?: number; /** - *

                                                                If specified, the workflow executions are included in the returned results based on - * whether their start times are within the range specified by this filter. Also, if this - * parameter is specified, the returned results are ordered by their start times.

                                                                - * - *

                                                                - * startTimeFilter and closeTimeFilter are mutually exclusive. You - * must specify one of these in a request but not both.

                                                                - *
                                                                + *

                                                                The name of the domain that contains the workflow executions to list.

                                                                */ - startTimeFilter?: ExecutionTimeFilter; + domain: string | undefined; /** *

                                                                If specified, only workflow executions matching the workflow ID specified in the filter @@ -5572,11 +5558,6 @@ export interface ListClosedWorkflowExecutionsInput { */ executionFilter?: WorkflowExecutionFilter; - /** - *

                                                                The name of the domain that contains the workflow executions to list.

                                                                - */ - domain: string | undefined; - /** *

                                                                If NextPageToken is returned there are more results * available. The value of NextPageToken is a unique pagination token for each page. Make the call again using @@ -5588,6 +5569,25 @@ export interface ListClosedWorkflowExecutionsInput { * in a single call.

                                                                */ nextPageToken?: string; + + /** + *

                                                                When set to true, returns the results in reverse order. By default the + * results are returned in descending order of the start or the close time of the + * executions.

                                                                + */ + reverseOrder?: boolean; + + /** + *

                                                                If specified, the workflow executions are included in the returned results based on + * whether their start times are within the range specified by this filter. Also, if this + * parameter is specified, the returned results are ordered by their start times.

                                                                + * + *

                                                                + * startTimeFilter and closeTimeFilter are mutually exclusive. You + * must specify one of these in a request but not both.

                                                                + *
                                                                + */ + startTimeFilter?: ExecutionTimeFilter; } export namespace ListClosedWorkflowExecutionsInput { @@ -5600,11 +5600,6 @@ export namespace ListClosedWorkflowExecutionsInput { *

                                                                Contains a paginated list of information about workflow executions.

                                                                */ export interface WorkflowExecutionInfos { - /** - *

                                                                The list of workflow information structures.

                                                                - */ - executionInfos: WorkflowExecutionInfo[] | undefined; - /** *

                                                                If a NextPageToken was returned by a previous call, there are more * results available. To retrieve the next page of results, make the call again using the returned token in @@ -5612,6 +5607,11 @@ export interface WorkflowExecutionInfos { *

                                                                The configured maximumPageSize determines how many results can be returned in a single call.

                                                                */ nextPageToken?: string; + + /** + *

                                                                The list of workflow information structures.

                                                                + */ + executionInfos: WorkflowExecutionInfo[] | undefined; } export namespace WorkflowExecutionInfos { @@ -5621,11 +5621,6 @@ export namespace WorkflowExecutionInfos { } export interface ListDomainsInput { - /** - *

                                                                Specifies the registration status of the domains to list.

                                                                - */ - registrationStatus: RegistrationStatus | string | undefined; - /** *

                                                                The maximum number of results that are returned per call. * Use nextPageToken to obtain further pages of results.

                                                                @@ -5650,6 +5645,11 @@ export interface ListDomainsInput { * domains.

                                                                */ reverseOrder?: boolean; + + /** + *

                                                                Specifies the registration status of the domains to list.

                                                                + */ + registrationStatus: RegistrationStatus | string | undefined; } export namespace ListDomainsInput { @@ -5659,17 +5659,17 @@ export namespace ListDomainsInput { } export interface ListOpenWorkflowExecutionsInput { - /** - *

                                                                The name of the domain that contains the workflow executions to list.

                                                                - */ - domain: string | undefined; - /** *

                                                                When set to true, returns the results in reverse order. By default the * results are returned in descending order of the start time of the executions.

                                                                */ reverseOrder?: boolean; + /** + *

                                                                The name of the domain that contains the workflow executions to list.

                                                                + */ + domain: string | undefined; + /** *

                                                                If specified, only executions that have the matching tag are listed.

                                                                * @@ -5680,6 +5680,12 @@ export interface ListOpenWorkflowExecutionsInput { */ tagFilter?: TagFilter; + /** + *

                                                                The maximum number of results that are returned per call. + * Use nextPageToken to obtain further pages of results.

                                                                + */ + maximumPageSize?: number; + /** *

                                                                Workflow executions are included in the returned results based on whether their start * times are within the range specified by this filter.

                                                                @@ -5719,12 +5725,6 @@ export interface ListOpenWorkflowExecutionsInput { * in a single call.

                                                                */ nextPageToken?: string; - - /** - *

                                                                The maximum number of results that are returned per call. - * Use nextPageToken to obtain further pages of results.

                                                                - */ - maximumPageSize?: number; } export namespace ListOpenWorkflowExecutionsInput { @@ -5753,14 +5753,14 @@ export namespace ListTagsForResourceInput { */ export interface ResourceTag { /** - *

                                                                The value of a tag.

                                                                + *

                                                                The key of a tag.

                                                                */ - value?: string; + key: string | undefined; /** - *

                                                                The key of a tag.

                                                                + *

                                                                The value of a tag.

                                                                */ - key: string | undefined; + value?: string; } export namespace ResourceTag { @@ -5783,16 +5783,6 @@ export namespace ListTagsForResourceOutput { } export interface ListWorkflowTypesInput { - /** - *

                                                                Specifies the registration status of the workflow types to list.

                                                                - */ - registrationStatus: RegistrationStatus | string | undefined; - - /** - *

                                                                The name of the domain in which the workflow types have been registered.

                                                                - */ - domain: string | undefined; - /** *

                                                                When set to true, returns the results in reverse order. By default the * results are returned in ascending alphabetical order of the name of the workflow @@ -5812,6 +5802,16 @@ export interface ListWorkflowTypesInput { */ nextPageToken?: string; + /** + *

                                                                The name of the domain in which the workflow types have been registered.

                                                                + */ + domain: string | undefined; + + /** + *

                                                                Specifies the registration status of the workflow types to list.

                                                                + */ + registrationStatus: RegistrationStatus | string | undefined; + /** *

                                                                The maximum number of results that are returned per call. * Use nextPageToken to obtain further pages of results.

                                                                @@ -5834,11 +5834,6 @@ export namespace ListWorkflowTypesInput { *

                                                                Contains a paginated list of information structures about workflow types.

                                                                */ export interface WorkflowTypeInfos { - /** - *

                                                                The list of workflow type information.

                                                                - */ - typeInfos: WorkflowTypeInfo[] | undefined; - /** *

                                                                If a NextPageToken was returned by a previous call, there are more * results available. To retrieve the next page of results, make the call again using the returned token in @@ -5846,6 +5841,11 @@ export interface WorkflowTypeInfos { *

                                                                The configured maximumPageSize determines how many results can be returned in a single call.

                                                                */ nextPageToken?: string; + + /** + *

                                                                The list of workflow type information.

                                                                + */ + typeInfos: WorkflowTypeInfo[] | undefined; } export namespace WorkflowTypeInfos { @@ -5860,6 +5860,13 @@ export interface PollForActivityTaskInput { */ domain: string | undefined; + /** + *

                                                                Identity of the worker making the request, recorded in the + * ActivityTaskStarted event in the workflow history. This enables diagnostic + * tracing when problems arise. The form of this identity is user defined.

                                                                + */ + identity?: string; + /** *

                                                                Specifies the task list to poll for activity tasks.

                                                                * @@ -5869,13 +5876,6 @@ export interface PollForActivityTaskInput { * not be the literal string arn.

                                                                */ taskList: TaskList | undefined; - - /** - *

                                                                Identity of the worker making the request, recorded in the - * ActivityTaskStarted event in the workflow history. This enables diagnostic - * tracing when problems arise. The form of this identity is user defined.

                                                                - */ - identity?: string; } export namespace PollForActivityTaskInput { @@ -5899,6 +5899,25 @@ export interface PollForDecisionTaskInput { */ identity?: string; + /** + *

                                                                Specifies the task list to poll for decision tasks.

                                                                + * + *

                                                                The specified string must not start or end with whitespace. It must not contain a + * : (colon), / (slash), | (vertical bar), or any + * control characters (\u0000-\u001f | \u007f-\u009f). Also, it must + * not be the literal string arn.

                                                                + */ + taskList: TaskList | undefined; + + /** + *

                                                                The maximum number of results that are returned per call. + * Use nextPageToken to obtain further pages of results.

                                                                + *

                                                                This + * is an upper limit only; the actual number of results returned per call may be fewer than the + * specified maximum.

                                                                + */ + maximumPageSize?: number; + /** *

                                                                The name of the domain containing the task lists to poll.

                                                                */ @@ -5920,25 +5939,6 @@ export interface PollForDecisionTaskInput { *
                                                                */ nextPageToken?: string; - - /** - *

                                                                The maximum number of results that are returned per call. - * Use nextPageToken to obtain further pages of results.

                                                                - *

                                                                This - * is an upper limit only; the actual number of results returned per call may be fewer than the - * specified maximum.

                                                                - */ - maximumPageSize?: number; - - /** - *

                                                                Specifies the task list to poll for decision tasks.

                                                                - * - *

                                                                The specified string must not start or end with whitespace. It must not contain a - * : (colon), / (slash), | (vertical bar), or any - * control characters (\u0000-\u001f | \u007f-\u009f). Also, it must - * not be the literal string arn.

                                                                - */ - taskList: TaskList | undefined; } export namespace PollForDecisionTaskInput { @@ -5948,6 +5948,11 @@ export namespace PollForDecisionTaskInput { } export interface RecordActivityTaskHeartbeatInput { + /** + *

                                                                If specified, contains details about the progress of the task.

                                                                + */ + details?: string; + /** *

                                                                The taskToken of the ActivityTask.

                                                                * @@ -5958,11 +5963,6 @@ export interface RecordActivityTaskHeartbeatInput { * */ taskToken: string | undefined; - - /** - *

                                                                If specified, contains details about the progress of the task.

                                                                - */ - details?: string; } export namespace RecordActivityTaskHeartbeatInput { @@ -5972,6 +5972,21 @@ export namespace RecordActivityTaskHeartbeatInput { } export interface RegisterActivityTypeInput { + /** + *

                                                                A textual description of the activity type.

                                                                + */ + description?: string; + + /** + *

                                                                The name of the activity type within the domain.

                                                                + * + *

                                                                The specified string must not start or end with whitespace. It must not contain a + * : (colon), / (slash), | (vertical bar), or any + * control characters (\u0000-\u001f | \u007f-\u009f). Also, it must + * not be the literal string arn.

                                                                + */ + name: string | undefined; + /** *

                                                                The default task priority to assign to the activity type. If not assigned, then * 0 is used. Valid values are integers that range from Java's @@ -5983,11 +5998,6 @@ export interface RegisterActivityTypeInput { */ defaultTaskPriority?: string; - /** - *

                                                                A textual description of the activity type.

                                                                - */ - description?: string; - /** *

                                                                If set, specifies the default maximum duration for a task of this activity type. This * default can be overridden when scheduling an activity task using the @@ -5998,39 +6008,6 @@ export interface RegisterActivityTypeInput { */ defaultTaskScheduleToCloseTimeout?: string; - /** - *

                                                                If set, specifies the default task list to use for scheduling tasks of this activity - * type. This default task list is used if a task list isn't provided when a task is scheduled - * through the ScheduleActivityTask - * Decision.

                                                                - */ - defaultTaskList?: TaskList; - - /** - *

                                                                If set, specifies the default maximum duration that a worker can take to process tasks - * of this activity type. This default can be overridden when scheduling an activity task using - * the ScheduleActivityTask - * Decision.

                                                                - *

                                                                The duration is specified in seconds, an integer greater than or equal to - * 0. You can use NONE to specify unlimited duration.

                                                                - */ - defaultTaskStartToCloseTimeout?: string; - - /** - *

                                                                The name of the domain in which this activity is to be registered.

                                                                - */ - domain: string | undefined; - - /** - *

                                                                If set, specifies the default maximum duration that a task of this activity type can - * wait before being assigned to a worker. This default can be overridden when scheduling an - * activity task using the ScheduleActivityTask - * Decision.

                                                                - *

                                                                The duration is specified in seconds, an integer greater than or equal to - * 0. You can use NONE to specify unlimited duration.

                                                                - */ - defaultTaskScheduleToStartTimeout?: string; - /** *

                                                                If set, specifies the default maximum time before which a worker processing a task of * this type must report progress by calling RecordActivityTaskHeartbeat. If @@ -6060,14 +6037,37 @@ export interface RegisterActivityTypeInput { version: string | undefined; /** - *

                                                                The name of the activity type within the domain.

                                                                - * - *

                                                                The specified string must not start or end with whitespace. It must not contain a - * : (colon), / (slash), | (vertical bar), or any - * control characters (\u0000-\u001f | \u007f-\u009f). Also, it must - * not be the literal string arn.

                                                                + *

                                                                If set, specifies the default maximum duration that a task of this activity type can + * wait before being assigned to a worker. This default can be overridden when scheduling an + * activity task using the ScheduleActivityTask + * Decision.

                                                                + *

                                                                The duration is specified in seconds, an integer greater than or equal to + * 0. You can use NONE to specify unlimited duration.

                                                                */ - name: string | undefined; + defaultTaskScheduleToStartTimeout?: string; + + /** + *

                                                                If set, specifies the default task list to use for scheduling tasks of this activity + * type. This default task list is used if a task list isn't provided when a task is scheduled + * through the ScheduleActivityTask + * Decision.

                                                                + */ + defaultTaskList?: TaskList; + + /** + *

                                                                The name of the domain in which this activity is to be registered.

                                                                + */ + domain: string | undefined; + + /** + *

                                                                If set, specifies the default maximum duration that a worker can take to process tasks + * of this activity type. This default can be overridden when scheduling an activity task using + * the ScheduleActivityTask + * Decision.

                                                                + *

                                                                The duration is specified in seconds, an integer greater than or equal to + * 0. You can use NONE to specify unlimited duration.

                                                                + */ + defaultTaskStartToCloseTimeout?: string; } export namespace RegisterActivityTypeInput { @@ -6095,30 +6095,12 @@ export namespace TypeAlreadyExistsFault { } export interface RegisterDomainInput { - /** - *

                                                                The duration (in days) that records and histories of workflow executions on the domain - * should be kept by the service. After the retention period, the workflow execution isn't - * available in the results of visibility calls.

                                                                - *

                                                                If you pass the value NONE or 0 (zero), then the workflow - * execution history isn't retained. As soon as the workflow execution completes, the execution - * record and its history are deleted.

                                                                - *

                                                                The maximum workflow execution retention period is 90 days. For more information about - * Amazon SWF service limits, see: Amazon SWF Service Limits in the - * Amazon SWF Developer Guide.

                                                                - */ - workflowExecutionRetentionPeriodInDays: string | undefined; - /** *

                                                                Tags to be added when registering a domain.

                                                                *

                                                                Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

                                                                */ tags?: ResourceTag[]; - /** - *

                                                                A text description of the domain.

                                                                - */ - description?: string; - /** *

                                                                Name of the domain to register. The name must be unique in the region that the domain * is registered in.

                                                                @@ -6129,6 +6111,24 @@ export interface RegisterDomainInput { * not be the literal string arn.

                                                                */ name: string | undefined; + + /** + *

                                                                A text description of the domain.

                                                                + */ + description?: string; + + /** + *

                                                                The duration (in days) that records and histories of workflow executions on the domain + * should be kept by the service. After the retention period, the workflow execution isn't + * available in the results of visibility calls.

                                                                + *

                                                                If you pass the value NONE or 0 (zero), then the workflow + * execution history isn't retained. As soon as the workflow execution completes, the execution + * record and its history are deleted.

                                                                + *

                                                                The maximum workflow execution retention period is 90 days. For more information about + * Amazon SWF service limits, see: Amazon SWF Service Limits in the + * Amazon SWF Developer Guide.

                                                                + */ + workflowExecutionRetentionPeriodInDays: string | undefined; } export namespace RegisterDomainInput { @@ -6162,7 +6162,20 @@ export interface RegisterWorkflowTypeInput { * Amazon SWF Developer Guide.

                                                                * */ - defaultLambdaRole?: string; + defaultLambdaRole?: string; + + /** + *

                                                                If set, specifies the default maximum duration for executions of this workflow type. + * You can override this default when starting an execution through the StartWorkflowExecution Action or StartChildWorkflowExecution + * Decision.

                                                                + * + *

                                                                The duration is specified in seconds; an integer greater than or equal to 0. Unlike + * some of the other timeout parameters in Amazon SWF, you cannot specify a value of "NONE" for + * defaultExecutionStartToCloseTimeout; there is a one-year max limit on the time + * that a workflow execution can run. Exceeding this limit always causes the workflow execution + * to time out.

                                                                + */ + defaultExecutionStartToCloseTimeout?: string; /** *

                                                                If set, specifies the default maximum duration of decision tasks for this workflow @@ -6184,9 +6197,19 @@ export interface RegisterWorkflowTypeInput { name: string | undefined; /** - *

                                                                Textual description of the workflow type.

                                                                + *

                                                                The version of the workflow type.

                                                                + * + *

                                                                The workflow type consists of the name and version, the combination of which must be + * unique within the domain. To get a list of all currently registered workflow types, use the + * ListWorkflowTypes action.

                                                                + *
                                                                + * + *

                                                                The specified string must not start or end with whitespace. It must not contain a + * : (colon), / (slash), | (vertical bar), or any + * control characters (\u0000-\u001f | \u007f-\u009f). Also, it must + * not be the literal string arn.

                                                                */ - description?: string; + version: string | undefined; /** *

                                                                If set, specifies the default policy to use for the child workflow executions when a @@ -6216,37 +6239,14 @@ export interface RegisterWorkflowTypeInput { defaultChildPolicy?: ChildPolicy | string; /** - *

                                                                If set, specifies the default maximum duration for executions of this workflow type. - * You can override this default when starting an execution through the StartWorkflowExecution Action or StartChildWorkflowExecution - * Decision.

                                                                - * - *

                                                                The duration is specified in seconds; an integer greater than or equal to 0. Unlike - * some of the other timeout parameters in Amazon SWF, you cannot specify a value of "NONE" for - * defaultExecutionStartToCloseTimeout; there is a one-year max limit on the time - * that a workflow execution can run. Exceeding this limit always causes the workflow execution - * to time out.

                                                                - */ - defaultExecutionStartToCloseTimeout?: string; - - /** - *

                                                                The version of the workflow type.

                                                                - * - *

                                                                The workflow type consists of the name and version, the combination of which must be - * unique within the domain. To get a list of all currently registered workflow types, use the - * ListWorkflowTypes action.

                                                                - *
                                                                - * - *

                                                                The specified string must not start or end with whitespace. It must not contain a - * : (colon), / (slash), | (vertical bar), or any - * control characters (\u0000-\u001f | \u007f-\u009f). Also, it must - * not be the literal string arn.

                                                                - */ - version: string | undefined; - - /** - *

                                                                The name of the domain in which to register the workflow type.

                                                                + *

                                                                The default task priority to assign to the workflow type. If not assigned, then + * 0 is used. Valid values are integers that range from Java's + * Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). + * Higher numbers indicate higher priority.

                                                                + *

                                                                For more information about setting task priority, see Setting Task + * Priority in the Amazon SWF Developer Guide.

                                                                */ - domain: string | undefined; + defaultTaskPriority?: string; /** *

                                                                If set, specifies the default task list to use for scheduling decision tasks for @@ -6258,14 +6258,14 @@ export interface RegisterWorkflowTypeInput { defaultTaskList?: TaskList; /** - *

                                                                The default task priority to assign to the workflow type. If not assigned, then - * 0 is used. Valid values are integers that range from Java's - * Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). - * Higher numbers indicate higher priority.

                                                                - *

                                                                For more information about setting task priority, see Setting Task - * Priority in the Amazon SWF Developer Guide.

                                                                + *

                                                                The name of the domain in which to register the workflow type.

                                                                */ - defaultTaskPriority?: string; + domain: string | undefined; + + /** + *

                                                                Textual description of the workflow type.

                                                                + */ + description?: string; } export namespace RegisterWorkflowTypeInput { @@ -6276,9 +6276,9 @@ export namespace RegisterWorkflowTypeInput { export interface RequestCancelWorkflowExecutionInput { /** - *

                                                                The name of the domain containing the workflow execution to cancel.

                                                                + *

                                                                The runId of the workflow execution to cancel.

                                                                */ - domain: string | undefined; + runId?: string; /** *

                                                                The workflowId of the workflow execution to cancel.

                                                                @@ -6286,9 +6286,9 @@ export interface RequestCancelWorkflowExecutionInput { workflowId: string | undefined; /** - *

                                                                The runId of the workflow execution to cancel.

                                                                + *

                                                                The name of the domain containing the workflow execution to cancel.

                                                                */ - runId?: string; + domain: string | undefined; } export namespace RequestCancelWorkflowExecutionInput { @@ -6298,6 +6298,11 @@ export namespace RequestCancelWorkflowExecutionInput { } export interface RespondActivityTaskCanceledInput { + /** + *

                                                                Information about the cancellation.

                                                                + */ + details?: string; + /** *

                                                                The taskToken of the ActivityTask.

                                                                * @@ -6308,11 +6313,6 @@ export interface RespondActivityTaskCanceledInput { * */ taskToken: string | undefined; - - /** - *

                                                                Information about the cancellation.

                                                                - */ - details?: string; } export namespace RespondActivityTaskCanceledInput { @@ -6428,11 +6428,6 @@ export namespace Run { } export interface SignalWorkflowExecutionInput { - /** - *

                                                                The workflowId of the workflow execution to signal.

                                                                - */ - workflowId: string | undefined; - /** *

                                                                The name of the domain containing the workflow execution to signal.

                                                                */ @@ -6443,6 +6438,11 @@ export interface SignalWorkflowExecutionInput { */ signalName: string | undefined; + /** + *

                                                                The runId of the workflow execution to signal.

                                                                + */ + runId?: string; + /** *

                                                                Data to attach to the WorkflowExecutionSignaled event in the target * workflow execution's history.

                                                                @@ -6450,9 +6450,9 @@ export interface SignalWorkflowExecutionInput { input?: string; /** - *

                                                                The runId of the workflow execution to signal.

                                                                + *

                                                                The workflowId of the workflow execution to signal.

                                                                */ - runId?: string; + workflowId: string | undefined; } export namespace SignalWorkflowExecutionInput { @@ -6462,6 +6462,13 @@ export namespace SignalWorkflowExecutionInput { } export interface StartWorkflowExecutionInput { + /** + *

                                                                The input for the workflow execution. This is a free form string which should be + * meaningful to the workflow you are starting. This input is made available to the + * new workflow execution in the WorkflowExecutionStarted history event.

                                                                + */ + input?: string; + /** *

                                                                The IAM role to attach to this workflow execution.

                                                                * @@ -6499,16 +6506,21 @@ export interface StartWorkflowExecutionInput { executionStartToCloseTimeout?: string; /** - *

                                                                The name of the domain in which the workflow execution is created.

                                                                - */ - domain: string | undefined; - - /** - *

                                                                The input for the workflow execution. This is a free form string which should be - * meaningful to the workflow you are starting. This input is made available to the - * new workflow execution in the WorkflowExecutionStarted history event.

                                                                + *

                                                                The task list to use for the decision tasks generated for this workflow execution. This + * overrides the defaultTaskList specified when registering the workflow + * type.

                                                                + * + *

                                                                A task list for this workflow execution must be specified either as a default for the + * workflow type or through this parameter. If neither this parameter is set nor a default task + * list was specified at registration time then a fault is returned.

                                                                + *
                                                                + * + *

                                                                The specified string must not start or end with whitespace. It must not contain a + * : (colon), / (slash), | (vertical bar), or any + * control characters (\u0000-\u001f | \u007f-\u009f). Also, it must + * not be the literal string arn.

                                                                */ - input?: string; + taskList?: TaskList; /** *

                                                                The user defined identifier associated with the workflow execution. You can use this to @@ -6524,11 +6536,42 @@ export interface StartWorkflowExecutionInput { */ workflowId: string | undefined; + /** + *

                                                                Specifies the maximum duration of decision tasks for this workflow execution. This + * parameter overrides the defaultTaskStartToCloseTimout specified when registering + * the workflow type using RegisterWorkflowType.

                                                                + *

                                                                The duration is specified in seconds, an integer greater than or equal to + * 0. You can use NONE to specify unlimited duration.

                                                                + * + *

                                                                A task start-to-close timeout for this workflow execution must be specified either as + * a default for the workflow type or through this parameter. If neither this parameter is set + * nor a default task start-to-close timeout was specified at registration time then a fault is + * returned.

                                                                + *
                                                                + */ + taskStartToCloseTimeout?: string; + /** *

                                                                The type of the workflow to start.

                                                                */ workflowType: WorkflowType | undefined; + /** + *

                                                                The task priority to use for this workflow execution. This overrides any default + * priority that was assigned when the workflow type was registered. If not set, then the default + * task priority for the workflow type is used. Valid values are integers that range from Java's + * Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). + * Higher numbers indicate higher priority.

                                                                + *

                                                                For more information about setting task priority, see Setting Task + * Priority in the Amazon SWF Developer Guide.

                                                                + */ + taskPriority?: string; + + /** + *

                                                                The name of the domain in which the workflow execution is created.

                                                                + */ + domain: string | undefined; + /** *

                                                                If set, specifies the policy to use for the child workflow executions of this workflow * execution if it is terminated, by calling the TerminateWorkflowExecution @@ -6560,49 +6603,6 @@ export interface StartWorkflowExecutionInput { * */ childPolicy?: ChildPolicy | string; - - /** - *

                                                                Specifies the maximum duration of decision tasks for this workflow execution. This - * parameter overrides the defaultTaskStartToCloseTimout specified when registering - * the workflow type using RegisterWorkflowType.

                                                                - *

                                                                The duration is specified in seconds, an integer greater than or equal to - * 0. You can use NONE to specify unlimited duration.

                                                                - * - *

                                                                A task start-to-close timeout for this workflow execution must be specified either as - * a default for the workflow type or through this parameter. If neither this parameter is set - * nor a default task start-to-close timeout was specified at registration time then a fault is - * returned.

                                                                - *
                                                                - */ - taskStartToCloseTimeout?: string; - - /** - *

                                                                The task priority to use for this workflow execution. This overrides any default - * priority that was assigned when the workflow type was registered. If not set, then the default - * task priority for the workflow type is used. Valid values are integers that range from Java's - * Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). - * Higher numbers indicate higher priority.

                                                                - *

                                                                For more information about setting task priority, see Setting Task - * Priority in the Amazon SWF Developer Guide.

                                                                - */ - taskPriority?: string; - - /** - *

                                                                The task list to use for the decision tasks generated for this workflow execution. This - * overrides the defaultTaskList specified when registering the workflow - * type.

                                                                - * - *

                                                                A task list for this workflow execution must be specified either as a default for the - * workflow type or through this parameter. If neither this parameter is set nor a default task - * list was specified at registration time then a fault is returned.

                                                                - *
                                                                - * - *

                                                                The specified string must not start or end with whitespace. It must not contain a - * : (colon), / (slash), | (vertical bar), or any - * control characters (\u0000-\u001f | \u007f-\u009f). Also, it must - * not be the literal string arn.

                                                                - */ - taskList?: TaskList; } export namespace StartWorkflowExecutionInput { @@ -6631,16 +6631,16 @@ export namespace WorkflowExecutionAlreadyStartedFault { } export interface TagResourceInput { - /** - *

                                                                The Amazon Resource Name (ARN) for the Amazon SWF domain.

                                                                - */ - resourceArn: string | undefined; - /** *

                                                                The list of tags to add to a domain.

                                                                *

                                                                Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

                                                                */ tags: ResourceTag[] | undefined; + + /** + *

                                                                The Amazon Resource Name (ARN) for the Amazon SWF domain.

                                                                + */ + resourceArn: string | undefined; } export namespace TagResourceInput { @@ -6656,14 +6656,19 @@ export interface TerminateWorkflowExecutionInput { reason?: string; /** - *

                                                                Details for terminating the workflow execution.

                                                                + *

                                                                The workflowId of the workflow execution to terminate.

                                                                */ - details?: string; + workflowId: string | undefined; /** - *

                                                                The domain of the workflow execution to terminate.

                                                                + *

                                                                The runId of the workflow execution to terminate.

                                                                */ - domain: string | undefined; + runId?: string; + + /** + *

                                                                Details for terminating the workflow execution.

                                                                + */ + details?: string; /** *

                                                                If set, specifies the policy to use for the child workflow executions of the workflow @@ -6697,14 +6702,9 @@ export interface TerminateWorkflowExecutionInput { childPolicy?: ChildPolicy | string; /** - *

                                                                The workflowId of the workflow execution to terminate.

                                                                - */ - workflowId: string | undefined; - - /** - *

                                                                The runId of the workflow execution to terminate.

                                                                + *

                                                                The domain of the workflow execution to terminate.

                                                                */ - runId?: string; + domain: string | undefined; } export namespace TerminateWorkflowExecutionInput { @@ -6715,14 +6715,14 @@ export namespace TerminateWorkflowExecutionInput { export interface UndeprecateActivityTypeInput { /** - *

                                                                The activity type to undeprecate.

                                                                + *

                                                                The name of the domain of the deprecated activity type.

                                                                */ - activityType: ActivityType | undefined; + domain: string | undefined; /** - *

                                                                The name of the domain of the deprecated activity type.

                                                                + *

                                                                The activity type to undeprecate.

                                                                */ - domain: string | undefined; + activityType: ActivityType | undefined; } export namespace UndeprecateActivityTypeInput { @@ -6764,14 +6764,14 @@ export namespace UndeprecateWorkflowTypeInput { export interface UntagResourceInput { /** - *

                                                                The Amazon Resource Name (ARN) for the Amazon SWF domain.

                                                                + *

                                                                The list of tags to remove from the Amazon SWF domain.

                                                                */ - resourceArn: string | undefined; + tagKeys: string[] | undefined; /** - *

                                                                The list of tags to remove from the Amazon SWF domain.

                                                                + *

                                                                The Amazon Resource Name (ARN) for the Amazon SWF domain.

                                                                */ - tagKeys: string[] | undefined; + resourceArn: string | undefined; } export namespace UntagResourceInput { diff --git a/clients/client-synthetics/models/models_0.ts b/clients/client-synthetics/models/models_0.ts index 2467b4b99376..eab101a88392 100644 --- a/clients/client-synthetics/models/models_0.ts +++ b/clients/client-synthetics/models/models_0.ts @@ -24,7 +24,7 @@ export namespace CanaryCodeOutput { } /** - *

                                                                A structure that contains information for a canary run.

                                                                + *

                                                                A structure that contains information about a canary run.

                                                                */ export interface CanaryRunConfigOutput { /** @@ -33,8 +33,13 @@ export interface CanaryRunConfigOutput { TimeoutInSeconds?: number; /** - *

                                                                The maximum amount of memory available to the canary while it is running, in MB. The value - * you must be a multiple of 64.

                                                                + *

                                                                Displays whether this canary run used active AWS X-Ray tracing.

                                                                + */ + ActiveTracing?: boolean; + + /** + *

                                                                The maximum amount of memory available to the canary while it is running, in MB. This value + * must be a multiple of 64.

                                                                */ MemoryInMB?: number; } @@ -50,6 +55,13 @@ export namespace CanaryRunConfigOutput { * Expression value.

                                                                */ export interface CanaryScheduleOutput { + /** + *

                                                                How long, in seconds, for the canary to continue making regular runs after it + * was created. The runs are performed according to the schedule in the + * Expression value.

                                                                + */ + DurationInSeconds?: number; + /** *

                                                                A rate expression that defines how often the canary is to run. The syntax is * rate(number unit). unit @@ -61,13 +73,6 @@ export interface CanaryScheduleOutput { * canary to run only once when it is started.

                                                                */ Expression?: string; - - /** - *

                                                                How long, in seconds, for the canary to continue making regular runs after it - * was created. The runs are performed according to the schedule in the - * Expression value.

                                                                - */ - DurationInSeconds?: number; } export namespace CanaryScheduleOutput { @@ -96,11 +101,6 @@ export enum CanaryStateReasonCode { *

                                                                A structure that contains the current state of the canary.

                                                                */ export interface CanaryStatus { - /** - *

                                                                The current state of the canary.

                                                                - */ - State?: CanaryState | string; - /** *

                                                                If the canary has insufficient permissions to run, this field provides more details.

                                                                */ @@ -110,6 +110,11 @@ export interface CanaryStatus { *

                                                                If the canary cannot run or has failed, this field displays the reason.

                                                                */ StateReasonCode?: CanaryStateReasonCode | string; + + /** + *

                                                                The current state of the canary.

                                                                + */ + State?: CanaryState | string; } export namespace CanaryStatus { @@ -123,14 +128,14 @@ export namespace CanaryStatus { */ export interface CanaryTimeline { /** - *

                                                                The date and time that the canary's most recent run started.

                                                                + *

                                                                The date and time the canary was created.

                                                                */ - LastStarted?: Date; + Created?: Date; /** - *

                                                                The date and time the canary was created.

                                                                + *

                                                                The date and time that the canary's most recent run started.

                                                                */ - Created?: Date; + LastStarted?: Date; /** *

                                                                The date and time the canary was most recently modified.

                                                                @@ -156,11 +161,6 @@ export namespace CanaryTimeline { * Running a Canary in a VPC.

                                                                */ export interface VpcConfigOutput { - /** - *

                                                                The IDs of the subnets where this canary is to run.

                                                                - */ - SubnetIds?: string[]; - /** *

                                                                The IDs of the security groups for this canary.

                                                                */ @@ -170,6 +170,11 @@ export interface VpcConfigOutput { *

                                                                The IDs of the VPC where this canary is to run.

                                                                */ VpcId?: string; + + /** + *

                                                                The IDs of the subnets where this canary is to run.

                                                                + */ + SubnetIds?: string[]; } export namespace VpcConfigOutput { @@ -183,46 +188,44 @@ export namespace VpcConfigOutput { */ export interface Canary { /** - *

                                                                The unique ID of this canary.

                                                                + *

                                                                The ARN of the IAM role used to run the canary. This role must include lambda.amazonaws.com as a principal in the trust + * policy.

                                                                */ - Id?: string; + ExecutionRoleArn?: string; /** - *

                                                                The ARN of the Lambda function that is used as your canary's engine. For more information - * about Lambda ARN format, see Resources and Conditions for Lambda Actions.

                                                                + *

                                                                This structure contains information about the canary's Lambda handler and + * where its code is stored by CloudWatch Synthetics.

                                                                */ - EngineArn?: string; + Code?: CanaryCodeOutput; /** - *

                                                                If this canary is to test an endpoint in a VPC, this structure contains - * information about the subnets and security groups of the VPC endpoint. - * For more information, see - * Running a Canary in a VPC.

                                                                + *

                                                                A structure that contains information about when the canary was created, modified, and + * most recently run.

                                                                */ - VpcConfig?: VpcConfigOutput; + Timeline?: CanaryTimeline; /** - *

                                                                The number of days to retain data about successful runs of this canary.

                                                                + *

                                                                A structure that contains information about how often the canary is to run, and when + * these runs are to stop.

                                                                */ - SuccessRetentionPeriodInDays?: number; + Schedule?: CanaryScheduleOutput; /** - *

                                                                Specifies the runtime version to use for the canary. Currently, the only valid - * value is syn-1.0. For more information about - * runtime versions, see - * Canary Runtime Versions.

                                                                + *

                                                                The number of days to retain data about failed runs of this canary.

                                                                */ - RuntimeVersion?: string; + FailureRetentionPeriodInDays?: number; /** - *

                                                                The list of key-value pairs that are associated with the canary.

                                                                + *

                                                                The location in Amazon S3 where Synthetics stores artifacts from the runs of this + * canary. Artifacts include the log file, screenshots, and HAR files.

                                                                */ - Tags?: { [key: string]: string }; + ArtifactS3Location?: string; /** - *

                                                                The number of days to retain data about failed runs of this canary.

                                                                + *

                                                                The list of key-value pairs that are associated with the canary.

                                                                */ - FailureRetentionPeriodInDays?: number; + Tags?: { [key: string]: string }; /** *

                                                                A structure that contains information about the canary's status.

                                                                @@ -230,44 +233,47 @@ export interface Canary { Status?: CanaryStatus; /** - *

                                                                The location in Amazon S3 where Synthetics stores artifacts from the runs of this - * canary. Artifacts include the log file, screenshots, and HAR files.

                                                                + *

                                                                The unique ID of this canary.

                                                                */ - ArtifactS3Location?: string; + Id?: string; /** - *

                                                                The ARN of the IAM role used to run the canary. This role must include lambda.amazonaws.com as a principal in the trust - * policy.

                                                                + *

                                                                The ARN of the Lambda function that is used as your canary's engine. For more information + * about Lambda ARN format, see Resources and Conditions for Lambda Actions.

                                                                */ - ExecutionRoleArn?: string; + EngineArn?: string; /** - *

                                                                This structure contains information about the canary's Lambda handler and - * where its code is stored by CloudWatch Synthetics.

                                                                + *

                                                                The number of days to retain data about successful runs of this canary.

                                                                */ - Code?: CanaryCodeOutput; + SuccessRetentionPeriodInDays?: number; /** - *

                                                                The name of the canary.

                                                                + *

                                                                If this canary is to test an endpoint in a VPC, this structure contains + * information about the subnets and security groups of the VPC endpoint. + * For more information, see + * Running a Canary in a VPC.

                                                                */ - Name?: string; + VpcConfig?: VpcConfigOutput; /** - *

                                                                A structure that contains information about how often the canary is to run, and when - * these runs are to stop.

                                                                + *

                                                                Specifies the runtime version to use for the canary. Currently, the only valid + * values are syn-nodejs-2.0, syn-nodejs-2.0-beta, and + * syn-1.0. For more information about + * runtime versions, see + * Canary Runtime Versions.

                                                                */ - Schedule?: CanaryScheduleOutput; + RuntimeVersion?: string; /** - *

                                                                A structure that contains information about when the canary was created, modified, and - * most recently run.

                                                                + *

                                                                A structure that contains information about a canary run.

                                                                */ - Timeline?: CanaryTimeline; + RunConfig?: CanaryRunConfigOutput; /** - *

                                                                A structure that contains information for a canary run.

                                                                + *

                                                                The name of the canary.

                                                                */ - RunConfig?: CanaryRunConfigOutput; + Name?: string; } export namespace Canary { @@ -292,11 +298,9 @@ export enum CanaryRunStateReasonCode { */ export interface CanaryRunStatus { /** - *

                                                                If this value is CANARY_FAILURE, an exception occurred in the - * canary code. If this value is EXECUTION_FAILURE, an exception occurred in - * CloudWatch Synthetics.

                                                                + *

                                                                The current state of the run.

                                                                */ - StateReasonCode?: CanaryRunStateReasonCode | string; + State?: CanaryRunState | string; /** *

                                                                If run of the canary failed, this field contains the reason for the error.

                                                                @@ -304,9 +308,11 @@ export interface CanaryRunStatus { StateReason?: string; /** - *

                                                                The current state of the run.

                                                                + *

                                                                If this value is CANARY_FAILURE, an exception occurred in the + * canary code. If this value is EXECUTION_FAILURE, an exception occurred in + * CloudWatch Synthetics.

                                                                */ - State?: CanaryRunState | string; + StateReasonCode?: CanaryRunStateReasonCode | string; } export namespace CanaryRunStatus { @@ -346,16 +352,21 @@ export interface CanaryRun { Name?: string; /** - *

                                                                The location where the canary stored artifacts from the run. Artifacts include - * the log file, screenshots, and HAR files.

                                                                + *

                                                                A unique ID that identifies this canary run.

                                                                */ - ArtifactS3Location?: string; + Id?: string; /** *

                                                                A structure that contains the start and end times of this run.

                                                                */ Timeline?: CanaryRunTimeline; + /** + *

                                                                The location where the canary stored artifacts from the run. Artifacts include + * the log file, screenshots, and HAR files.

                                                                + */ + ArtifactS3Location?: string; + /** *

                                                                The status of this run.

                                                                */ @@ -398,9 +409,11 @@ export namespace CanaryLastRun { */ export interface CanaryCodeInput { /** - *

                                                                The S3 version ID of your script.

                                                                + *

                                                                If you input your canary script directly into the canary instead of referring to an S3 + * location, the value of this parameter is the .zip file that contains the script. It can be + * up to 5 MB.

                                                                */ - S3Version?: string; + ZipFile?: Uint8Array; /** *

                                                                The entry point to use for the source code when running the canary. This value must end @@ -421,11 +434,9 @@ export interface CanaryCodeInput { S3Bucket?: string; /** - *

                                                                If you input your canary script directly into the canary instead of referring to an S3 - * location, the value of this parameter is the .zip file that contains the script. It can be - * up to 5 MB.

                                                                + *

                                                                The S3 version ID of your script.

                                                                */ - ZipFile?: Uint8Array; + S3Version?: string; } export namespace CanaryCodeInput { @@ -439,16 +450,29 @@ export namespace CanaryCodeInput { */ export interface CanaryRunConfigInput { /** - *

                                                                The maximum amount of memory available to the canary while it is running, in MB. The value - * you specify must be a multiple of 64.

                                                                + *

                                                                The maximum amount of memory available to the canary while it is running, in MB. This value must be a multiple of 64.

                                                                */ MemoryInMB?: number; /** - *

                                                                How long the canary is allowed to run before it must stop. If you omit this field, the + *

                                                                How long the canary is allowed to run before it must stop. You can't set this time to be longer + * than the frequency of the runs of this canary.

                                                                + *

                                                                If you omit this field, the * frequency of the canary is used as this value, up to a maximum of 14 minutes.

                                                                */ - TimeoutInSeconds: number | undefined; + TimeoutInSeconds?: number; + + /** + *

                                                                Specifies whether this canary is to use active AWS X-Ray tracing when it runs. Active tracing + * enables + * this canary run to be displayed in the ServiceLens and X-Ray service maps even if the canary does + * not hit an endpoint that has X-ray tracing enabled. Using X-Ray tracing incurs charges. + * For more information, see + * Canaries and X-Ray tracing.

                                                                + *

                                                                You can enable active tracing only for canaries that use version syn-nodejs-2.0 + * or later for their canary runtime.

                                                                + */ + ActiveTracing?: boolean; } export namespace CanaryRunConfigInput { @@ -512,14 +536,14 @@ export namespace ConflictException { */ export interface VpcConfigInput { /** - *

                                                                The IDs of the subnets where this canary is to run.

                                                                + *

                                                                The IDs of the security groups for this canary.

                                                                */ - SubnetIds?: string[]; + SecurityGroupIds?: string[]; /** - *

                                                                The IDs of the security groups for this canary.

                                                                + *

                                                                The IDs of the subnets where this canary is to run.

                                                                */ - SecurityGroupIds?: string[]; + SubnetIds?: string[]; } export namespace VpcConfigInput { @@ -529,72 +553,6 @@ export namespace VpcConfigInput { } export interface CreateCanaryRequest { - /** - *

                                                                If this canary is to test an endpoint in a VPC, this structure contains - * information about the subnet and security groups of the VPC endpoint. - * For more information, see - * Running a Canary in a VPC.

                                                                - */ - VpcConfig?: VpcConfigInput; - - /** - *

                                                                The location in Amazon S3 where Synthetics stores artifacts from the test runs of this - * canary. Artifacts include the log file, screenshots, and HAR files.

                                                                - */ - ArtifactS3Location: string | undefined; - - /** - *

                                                                The number of days to retain data about successful runs of this canary. If you omit - * this field, the default of 31 days is used. The valid range is 1 to 455 days.

                                                                - */ - SuccessRetentionPeriodInDays?: number; - - /** - *

                                                                A structure that contains the configuration for individual canary runs, - * such as timeout value.

                                                                - */ - RunConfig?: CanaryRunConfigInput; - - /** - *

                                                                The number of days to retain data about failed runs of this canary. If you omit - * this field, the default of 31 days is used. The valid range is 1 to 455 days.

                                                                - */ - FailureRetentionPeriodInDays?: number; - - /** - *

                                                                A structure that contains information about how often the canary is to run and when - * these test runs are to stop.

                                                                - */ - Schedule: CanaryScheduleInput | undefined; - - /** - *

                                                                Specifies the runtime version to use for the canary. Currently, the only valid - * value is syn-1.0. For more information about - * runtime versions, see - * Canary Runtime Versions.

                                                                - */ - RuntimeVersion: string | undefined; - - /** - *

                                                                The name for this canary. Be sure to give it a descriptive name - * that distinguishes it from other canaries in your account.

                                                                - *

                                                                Do not include secrets or proprietary information in your canary names. The canary name - * makes up part of the canary ARN, and the ARN is included in outbound calls over the - * internet. For more information, see Security - * Considerations for Synthetics Canaries.

                                                                - */ - Name: string | undefined; - - /** - *

                                                                A list of key-value pairs to associate with the canary. - * You can associate as many as 50 tags with a canary.

                                                                - *

                                                                Tags can help you organize and categorize your - * resources. You can also use them to scope user permissions, by - * granting a user permission to access or change only the resources that have - * certain tag values.

                                                                - */ - Tags?: { [key: string]: string }; - /** *

                                                                The ARN of the IAM role to be used to run the canary. This role must already exist, * and must include lambda.amazonaws.com as a principal in the trust @@ -632,7 +590,7 @@ export interface CreateCanaryRequest { * *

                                                              • *

                                                                - * logs:CreateLogStream + * logs:PutLogEvents *

                                                                *
                                                              • *
                                                              @@ -646,6 +604,73 @@ export interface CreateCanaryRequest { *

                                                              */ Code: CanaryCodeInput | undefined; + + /** + *

                                                              The number of days to retain data about failed runs of this canary. If you omit + * this field, the default of 31 days is used. The valid range is 1 to 455 days.

                                                              + */ + FailureRetentionPeriodInDays?: number; + + /** + *

                                                              A list of key-value pairs to associate with the canary. + * You can associate as many as 50 tags with a canary.

                                                              + *

                                                              Tags can help you organize and categorize your + * resources. You can also use them to scope user permissions, by + * granting a user permission to access or change only the resources that have + * certain tag values.

                                                              + */ + Tags?: { [key: string]: string }; + + /** + *

                                                              The name for this canary. Be sure to give it a descriptive name + * that distinguishes it from other canaries in your account.

                                                              + *

                                                              Do not include secrets or proprietary information in your canary names. The canary name + * makes up part of the canary ARN, and the ARN is included in outbound calls over the + * internet. For more information, see Security + * Considerations for Synthetics Canaries.

                                                              + */ + Name: string | undefined; + + /** + *

                                                              The location in Amazon S3 where Synthetics stores artifacts from the test runs of this + * canary. Artifacts include the log file, screenshots, and HAR files.

                                                              + */ + ArtifactS3Location: string | undefined; + + /** + *

                                                              The number of days to retain data about successful runs of this canary. If you omit + * this field, the default of 31 days is used. The valid range is 1 to 455 days.

                                                              + */ + SuccessRetentionPeriodInDays?: number; + + /** + *

                                                              A structure that contains the configuration for individual canary runs, + * such as timeout value.

                                                              + */ + RunConfig?: CanaryRunConfigInput; + + /** + *

                                                              A structure that contains information about how often the canary is to run and when + * these test runs are to stop.

                                                              + */ + Schedule: CanaryScheduleInput | undefined; + + /** + *

                                                              If this canary is to test an endpoint in a VPC, this structure contains + * information about the subnet and security groups of the VPC endpoint. + * For more information, see + * Running a Canary in a VPC.

                                                              + */ + VpcConfig?: VpcConfigInput; + + /** + *

                                                              Specifies the runtime version to use for the canary. Currently, the only valid + * values are syn-nodejs-2.0, syn-nodejs-2.0-beta, and + * syn-1.0. For more information about + * runtime versions, see + * Canary Runtime Versions.

                                                              + */ + RuntimeVersion: string | undefined; } export namespace CreateCanaryRequest { @@ -776,18 +801,18 @@ export namespace DescribeCanariesResponse { } export interface DescribeCanariesLastRunRequest { + /** + *

                                                              Specify this parameter to limit how many runs are returned each time you use + * the DescribeLastRun operation. If you omit this parameter, the default of 100 is used.

                                                              + */ + MaxResults?: number; + /** *

                                                              A token that indicates that there is more data * available. You can use this token in a subsequent DescribeCanaries operation to retrieve the next * set of results.

                                                              */ NextToken?: string; - - /** - *

                                                              Specify this parameter to limit how many runs are returned each time you use - * the DescribeLastRun operation. If you omit this parameter, the default of 100 is used.

                                                              - */ - MaxResults?: number; } export namespace DescribeCanariesLastRunRequest { @@ -797,18 +822,18 @@ export namespace DescribeCanariesLastRunRequest { } export interface DescribeCanariesLastRunResponse { - /** - *

                                                              An array that contains the information from the most recent run of each - * canary.

                                                              - */ - CanariesLastRun?: CanaryLastRun[]; - /** *

                                                              A token that indicates that there is more data * available. You can use this token in a subsequent DescribeCanariesLastRun operation to retrieve the next * set of results.

                                                              */ NextToken?: string; + + /** + *

                                                              An array that contains the information from the most recent run of each + * canary.

                                                              + */ + CanariesLastRun?: CanaryLastRun[]; } export namespace DescribeCanariesLastRunResponse { @@ -818,18 +843,18 @@ export namespace DescribeCanariesLastRunResponse { } export interface DescribeRuntimeVersionsRequest { + /** + *

                                                              Specify this parameter to limit how many runs are returned each time you use + * the DescribeRuntimeVersions operation. If you omit this parameter, the default of 100 is used.

                                                              + */ + MaxResults?: number; + /** *

                                                              A token that indicates that there is more data * available. You can use this token in a subsequent DescribeRuntimeVersions operation to retrieve the next * set of results.

                                                              */ NextToken?: string; - - /** - *

                                                              Specify this parameter to limit how many runs are returned each time you use - * the DescribeRuntimeVersions operation. If you omit this parameter, the default of 100 is used.

                                                              - */ - MaxResults?: number; } export namespace DescribeRuntimeVersionsRequest { @@ -845,27 +870,26 @@ export namespace DescribeRuntimeVersionsRequest { */ export interface RuntimeVersion { /** - *

                                                              The name of the runtime version. Currently, the only valid - * value is syn-1.0.

                                                              - *

                                                              Specifies the runtime version to use for the canary. Currently, the only valid - * value is syn-1.0.

                                                              + *

                                                              The date that the runtime version was released.

                                                              */ - VersionName?: string; + ReleaseDate?: Date; /** - *

                                                              The date that the runtime version was released.

                                                              + *

                                                              If this runtime version is deprecated, this value is the date of deprecation.

                                                              */ - ReleaseDate?: Date; + DeprecationDate?: Date; /** - *

                                                              A description of the runtime version, created by Amazon.

                                                              + *

                                                              The name of the runtime version. Currently, the only valid + * values are syn-nodejs-2.0, syn-nodejs-2.0-beta, and + * syn-1.0.

                                                              */ - Description?: string; + VersionName?: string; /** - *

                                                              If this runtime version is deprecated, this value is the date of deprecation.

                                                              + *

                                                              A description of the runtime version, created by Amazon.

                                                              */ - DeprecationDate?: Date; + Description?: string; } export namespace RuntimeVersion { @@ -1072,6 +1096,11 @@ export namespace TagResourceResponse { } export interface UntagResourceRequest { + /** + *

                                                              The list of tag keys to remove from the resource.

                                                              + */ + TagKeys: string[] | undefined; + /** *

                                                              The ARN of the canary that you're removing tags from.

                                                              *

                                                              The ARN format of a canary is @@ -1079,11 +1108,6 @@ export interface UntagResourceRequest { * .

                                                              */ ResourceArn: string | undefined; - - /** - *

                                                              The list of tag keys to remove from the resource.

                                                              - */ - TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -1102,30 +1126,12 @@ export namespace UntagResourceResponse { export interface UpdateCanaryRequest { /** - *

                                                              The number of days to retain data about successful runs of this canary.

                                                              - */ - SuccessRetentionPeriodInDays?: number; - - /** - *

                                                              A structure that includes the entry point from which the canary should start - * running your script. If the script is stored in - * an S3 bucket, the bucket name, key, and version are also included. - *

                                                              - */ - Code?: CanaryCodeInput; - - /** - *

                                                              The name of the canary that you want to update. To find the names of your - * canaries, use DescribeCanaries.

                                                              - *

                                                              You cannot change the name of a canary that has already been created.

                                                              - */ - Name: string | undefined; - - /** - *

                                                              A structure that contains the timeout value that is used for each individual run of the - * canary.

                                                              + *

                                                              If this canary is to test an endpoint in a VPC, this structure contains + * information about the subnet and security groups of the VPC endpoint. + * For more information, see + * Running a Canary in a VPC.

                                                              */ - RunConfig?: CanaryRunConfigInput; + VpcConfig?: VpcConfigInput; /** *

                                                              The number of days to retain data about failed runs of this canary.

                                                              @@ -1177,12 +1183,18 @@ export interface UpdateCanaryRequest { ExecutionRoleArn?: string; /** - *

                                                              Specifies the runtime version to use for the canary. Currently, the only valid - * value is syn-1.0. For more information about - * runtime versions, see - * Canary Runtime Versions.

                                                              + *

                                                              A structure that includes the entry point from which the canary should start + * running your script. If the script is stored in + * an S3 bucket, the bucket name, key, and version are also included. + *

                                                              */ - RuntimeVersion?: string; + Code?: CanaryCodeInput; + + /** + *

                                                              A structure that contains the timeout value that is used for each individual run of the + * canary.

                                                              + */ + RunConfig?: CanaryRunConfigInput; /** *

                                                              A structure that contains information about how often the canary is to run, and when @@ -1191,12 +1203,25 @@ export interface UpdateCanaryRequest { Schedule?: CanaryScheduleInput; /** - *

                                                              If this canary is to test an endpoint in a VPC, this structure contains - * information about the subnet and security groups of the VPC endpoint. - * For more information, see - * Running a Canary in a VPC.

                                                              + *

                                                              The name of the canary that you want to update. To find the names of your + * canaries, use DescribeCanaries.

                                                              + *

                                                              You cannot change the name of a canary that has already been created.

                                                              */ - VpcConfig?: VpcConfigInput; + Name: string | undefined; + + /** + *

                                                              Specifies the runtime version to use for the canary. Currently, the only valid + * values are syn-nodejs-2.0, syn-nodejs-2.0-beta, and syn-1.0. + * For more information about + * runtime versions, see + * Canary Runtime Versions.

                                                              + */ + RuntimeVersion?: string; + + /** + *

                                                              The number of days to retain data about successful runs of this canary.

                                                              + */ + SuccessRetentionPeriodInDays?: number; } export namespace UpdateCanaryRequest { diff --git a/clients/client-synthetics/protocols/Aws_restJson1.ts b/clients/client-synthetics/protocols/Aws_restJson1.ts index 88060df7a9b6..25e40dec4f11 100644 --- a/clients/client-synthetics/protocols/Aws_restJson1.ts +++ b/clients/client-synthetics/protocols/Aws_restJson1.ts @@ -1457,6 +1457,7 @@ const serializeAws_restJson1CanaryCodeInput = (input: CanaryCodeInput, context: const serializeAws_restJson1CanaryRunConfigInput = (input: CanaryRunConfigInput, context: __SerdeContext): any => { return { + ...(input.ActiveTracing !== undefined && { ActiveTracing: input.ActiveTracing }), ...(input.MemoryInMB !== undefined && { MemoryInMB: input.MemoryInMB }), ...(input.TimeoutInSeconds !== undefined && { TimeoutInSeconds: input.TimeoutInSeconds }), }; @@ -1582,6 +1583,7 @@ const deserializeAws_restJson1CanaryRun = (output: any, context: __SerdeContext) output.ArtifactS3Location !== undefined && output.ArtifactS3Location !== null ? output.ArtifactS3Location : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, Status: output.Status !== undefined && output.Status !== null @@ -1596,6 +1598,8 @@ const deserializeAws_restJson1CanaryRun = (output: any, context: __SerdeContext) const deserializeAws_restJson1CanaryRunConfigOutput = (output: any, context: __SerdeContext): CanaryRunConfigOutput => { return { + ActiveTracing: + output.ActiveTracing !== undefined && output.ActiveTracing !== null ? output.ActiveTracing : undefined, MemoryInMB: output.MemoryInMB !== undefined && output.MemoryInMB !== null ? output.MemoryInMB : undefined, TimeoutInSeconds: output.TimeoutInSeconds !== undefined && output.TimeoutInSeconds !== null ? output.TimeoutInSeconds : undefined, diff --git a/clients/client-textract/models/models_0.ts b/clients/client-textract/models/models_0.ts index f1d92427de85..a7a32dc706f0 100644 --- a/clients/client-textract/models/models_0.ts +++ b/clients/client-textract/models/models_0.ts @@ -6,7 +6,8 @@ import { import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; /** - *

                                                              You aren't authorized to perform the action.

                                                              + *

                                                              You aren't authorized to perform the action. Use the Amazon Resource Name (ARN) + * of an authorized user or IAM role to perform the operation.

                                                              */ export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; @@ -223,17 +224,17 @@ export interface BoundingBox { */ Left?: number; - /** - *

                                                              The width of the bounding box as a ratio of the overall document page - * width.

                                                              - */ - Width?: number; - /** *

                                                              The height of the bounding box as a ratio of the overall document page * height.

                                                              */ Height?: number; + + /** + *

                                                              The width of the bounding box as a ratio of the overall document page + * width.

                                                              + */ + Width?: number; } export namespace BoundingBox { @@ -255,14 +256,14 @@ export namespace BoundingBox { */ export interface Point { /** - *

                                                              The value of the X coordinate for a point on a Polygon.

                                                              + *

                                                              The value of the Y coordinate for a point on a Polygon.

                                                              */ - X?: number; + Y?: number; /** - *

                                                              The value of the Y coordinate for a point on a Polygon.

                                                              + *

                                                              The value of the X coordinate for a point on a Polygon.

                                                              */ - Y?: number; + X?: number; } export namespace Point { @@ -276,16 +277,16 @@ export namespace Point { * page, text, key-value pairs, tables, table cells, and selection elements.

                                                              */ export interface Geometry { - /** - *

                                                              Within the bounding box, a fine-grained polygon around the recognized item.

                                                              - */ - Polygon?: Point[]; - /** *

                                                              An axis-aligned coarse representation of the location of the recognized item on the * document page.

                                                              */ BoundingBox?: BoundingBox; + + /** + *

                                                              Within the bounding box, a fine-grained polygon around the recognized item.

                                                              + */ + Polygon?: Point[]; } export namespace Geometry { @@ -296,6 +297,7 @@ export namespace Geometry { export enum RelationshipType { CHILD = "CHILD", + COMPLEX_FEATURES = "COMPLEX_FEATURES", VALUE = "VALUE", } @@ -311,7 +313,8 @@ export interface Relationship { *

                                                              The type of relationship that the blocks in the IDs array have with the current block. * The relationship can be VALUE or CHILD. A relationship of type * VALUE is a list that contains the ID of the VALUE block that's associated with the KEY of a key-value pair. - * A relationship of type CHILD is a list of IDs that identify WORD blocks.

                                                              + * A relationship of type CHILD is a list of IDs that identify WORD blocks in the case of lines + * Cell blocks in the case of Tables, and WORD blocks in the case of Selection Elements.

                                                              */ Type?: RelationshipType | string; @@ -349,24 +352,6 @@ export enum SelectionStatus { *

                                                              For more information, see How Amazon Textract Works.

                                                              */ export interface Block { - /** - *

                                                              The word or line of text that's recognized by Amazon Textract.

                                                              - */ - Text?: string; - - /** - *

                                                              The row in which a table cell is located. The first row position is 1. - * RowIndex isn't returned by DetectDocumentText and - * GetDocumentTextDetection.

                                                              - */ - RowIndex?: number; - - /** - *

                                                              The confidence score that Amazon Textract has in the accuracy of the recognized text and - * the accuracy of the geometry points around the recognized text.

                                                              - */ - Confidence?: number; - /** *

                                                              The type of entity. The following can be returned:

                                                              *
                                                                @@ -386,56 +371,16 @@ export interface Block { EntityTypes?: (EntityType | string)[]; /** - *

                                                                The column in which a table cell appears. The first column position is 1. - * ColumnIndex isn't returned by DetectDocumentText and + *

                                                                The row in which a table cell is located. The first row position is 1. + * RowIndex isn't returned by DetectDocumentText and * GetDocumentTextDetection.

                                                                */ - ColumnIndex?: number; - - /** - *

                                                                The selection status of a selection element, such as an option button or check box.

                                                                - */ - SelectionStatus?: SelectionStatus | string; - - /** - *

                                                                A list of child blocks of the current block. For example, a LINE object has child blocks - * for each WORD block that's part of the line of text. There aren't Relationship objects in - * the list for relationships that don't exist, such as when the current block has no child - * blocks. The list size can be the following:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  0 - The block has no child blocks.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  1 - The block has child blocks.

                                                                  - *
                                                                • - *
                                                                - */ - Relationships?: Relationship[]; - - /** - *

                                                                The number of columns that a table cell spans. Currently this value is always 1, even - * if the number of columns spanned is greater than 1. ColumnSpan isn't returned by - * DetectDocumentText and GetDocumentTextDetection.

                                                                - */ - ColumnSpan?: number; - - /** - *

                                                                The location of the recognized text on the image. It includes an axis-aligned, coarse - * bounding box that surrounds the text, and a finer-grain polygon for more accurate spatial - * information.

                                                                - */ - Geometry?: Geometry; + RowIndex?: number; /** - *

                                                                The page on which a block was detected. Page is returned by asynchronous - * operations. Page values greater than 1 are only returned for multipage documents that are - * in PDF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is - * considered to be a single-page document. The value of Page is always 1. - * Synchronous operations don't return Page because every input document is - * considered to be a single-page document.

                                                                + *

                                                                The word or line of text that's recognized by Amazon Textract.

                                                                */ - Page?: number; + Text?: string; /** *

                                                                The number of rows that a table cell spans. Currently this value is always 1, even @@ -515,6 +460,64 @@ export interface Block { * operation.

                                                                */ Id?: string; + + /** + *

                                                                The location of the recognized text on the image. It includes an axis-aligned, coarse + * bounding box that surrounds the text, and a finer-grain polygon for more accurate spatial + * information.

                                                                + */ + Geometry?: Geometry; + + /** + *

                                                                The selection status of a selection element, such as an option button or check box.

                                                                + */ + SelectionStatus?: SelectionStatus | string; + + /** + *

                                                                The number of columns that a table cell spans. Currently this value is always 1, even + * if the number of columns spanned is greater than 1. ColumnSpan isn't returned by + * DetectDocumentText and GetDocumentTextDetection.

                                                                + */ + ColumnSpan?: number; + + /** + *

                                                                A list of child blocks of the current block. For example, a LINE object has child blocks + * for each WORD block that's part of the line of text. There aren't Relationship objects in + * the list for relationships that don't exist, such as when the current block has no child + * blocks. The list size can be the following:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  0 - The block has no child blocks.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  1 - The block has child blocks.

                                                                  + *
                                                                • + *
                                                                + */ + Relationships?: Relationship[]; + + /** + *

                                                                The page on which a block was detected. Page is returned by asynchronous + * operations. Page values greater than 1 are only returned for multipage documents that are + * in PDF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is + * considered to be a single-page document. The value of Page is always 1. + * Synchronous operations don't return Page because every input document is + * considered to be a single-page document.

                                                                + */ + Page?: number; + + /** + *

                                                                The confidence score that Amazon Textract has in the accuracy of the recognized text and + * the accuracy of the geometry points around the recognized text.

                                                                + */ + Confidence?: number; + + /** + *

                                                                The column in which a table cell appears. The first column position is 1. + * ColumnIndex isn't returned by DetectDocumentText and + * GetDocumentTextDetection.

                                                                + */ + ColumnIndex?: number; } export namespace Block { @@ -567,6 +570,11 @@ export namespace HumanLoopActivationOutput { } export interface AnalyzeDocumentResponse { + /** + *

                                                                The version of the model used to analyze the document.

                                                                + */ + AnalyzeDocumentModelVersion?: string; + /** *

                                                                The items that are detected and analyzed by AnalyzeDocument.

                                                                */ @@ -577,11 +585,6 @@ export interface AnalyzeDocumentResponse { */ HumanLoopActivationOutput?: HumanLoopActivationOutput; - /** - *

                                                                The version of the model used to analyze the document.

                                                                - */ - AnalyzeDocumentModelVersion?: string; - /** *

                                                                Metadata about the analyzed document. An example is the number of pages.

                                                                */ @@ -595,7 +598,8 @@ export namespace AnalyzeDocumentResponse { } /** - *

                                                                Amazon Textract isn't able to read the document.

                                                                + *

                                                                Amazon Textract isn't able to read the document. For more information on the document + * limits in Amazon Textract, see limits.

                                                                */ export interface BadDocumentException extends __SmithyException, $MetadataBearer { name: "BadDocumentException"; @@ -618,8 +622,8 @@ export namespace BadDocumentException { export interface DocumentTooLargeException extends __SmithyException, $MetadataBearer { name: "DocumentTooLargeException"; $fault: "client"; - Code?: string; Message?: string; + Code?: string; } export namespace DocumentTooLargeException { @@ -635,10 +639,21 @@ export interface HumanLoopQuotaExceededException extends __SmithyException, $Met name: "HumanLoopQuotaExceededException"; $fault: "client"; Code?: string; + /** + *

                                                                The resource type.

                                                                + */ ResourceType?: string; + Message?: string; - QuotaCode?: string; + /** + *

                                                                The service code.

                                                                + */ ServiceCode?: string; + + /** + *

                                                                The quota code.

                                                                + */ + QuotaCode?: string; } export namespace HumanLoopQuotaExceededException { @@ -684,13 +699,16 @@ export namespace InvalidParameterException { } /** - *

                                                                Amazon Textract is unable to access the S3 object that's specified in the request.

                                                                + *

                                                                Amazon Textract is unable to access the S3 object that's specified in the request. + * for more information, Configure Access to Amazon S3 + * For troubleshooting information, see Troubleshooting Amazon S3 + *

                                                                */ export interface InvalidS3ObjectException extends __SmithyException, $MetadataBearer { name: "InvalidS3ObjectException"; $fault: "client"; - Code?: string; Message?: string; + Code?: string; } export namespace InvalidS3ObjectException { @@ -722,8 +740,8 @@ export namespace ProvisionedThroughputExceededException { export interface ThrottlingException extends __SmithyException, $MetadataBearer { name: "ThrottlingException"; $fault: "server"; - Code?: string; Message?: string; + Code?: string; } export namespace ThrottlingException { @@ -767,17 +785,17 @@ export namespace DetectDocumentTextRequest { } export interface DetectDocumentTextResponse { - /** - *

                                                                - */ - DetectDocumentTextModelVersion?: string; - /** *

                                                                Metadata about the document. It contains the number of pages that are detected in the * document.

                                                                */ DocumentMetadata?: DocumentMetadata; + /** + *

                                                                + */ + DetectDocumentTextModelVersion?: string; + /** *

                                                                An array of Block objects that contain the text that's detected in the * document.

                                                                @@ -812,10 +830,10 @@ export namespace DocumentLocation { export interface GetDocumentAnalysisRequest { /** - *

                                                                A unique identifier for the text-detection job. The JobId is returned from - * StartDocumentAnalysis. A JobId value is only valid for 7 days.

                                                                + *

                                                                If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination + * token in the response. You can use this pagination token to retrieve the next set of blocks.

                                                                */ - JobId: string | undefined; + NextToken?: string; /** *

                                                                The maximum number of results to return per paginated call. The largest value that you @@ -825,10 +843,10 @@ export interface GetDocumentAnalysisRequest { MaxResults?: number; /** - *

                                                                If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination - * token in the response. You can use this pagination token to retrieve the next set of blocks.

                                                                + *

                                                                A unique identifier for the text-detection job. The JobId is returned from + * StartDocumentAnalysis. A JobId value is only valid for 7 days.

                                                                */ - NextToken?: string; + JobId: string | undefined; } export namespace GetDocumentAnalysisRequest { @@ -849,14 +867,14 @@ export enum JobStatus { */ export interface Warning { /** - *

                                                                The error code for the warning.

                                                                + *

                                                                A list of the pages that the warning applies to.

                                                                */ - ErrorCode?: string; + Pages?: number[]; /** - *

                                                                A list of the pages that the warning applies to.

                                                                + *

                                                                The error code for the warning.

                                                                */ - Pages?: number[]; + ErrorCode?: string; } export namespace Warning { @@ -887,7 +905,7 @@ export interface GetDocumentAnalysisResponse { Warnings?: Warning[]; /** - *

                                                                The current status of an asynchronous document-analysis operation.

                                                                + *

                                                                Returns if the detection job could not be completed. Contains explanation for what error occured.

                                                                */ StatusMessage?: string; @@ -956,25 +974,26 @@ export namespace GetDocumentTextDetectionRequest { export interface GetDocumentTextDetectionResponse { /** - *

                                                                A list of warnings that occurred during the text-detection operation for the - * document.

                                                                + *

                                                                */ - Warnings?: Warning[]; + DetectDocumentTextModelVersion?: string; /** - *

                                                                + *

                                                                Information about a document that Amazon Textract processed. DocumentMetadata is + * returned in every page of paginated responses from an Amazon Textract video operation.

                                                                */ - DetectDocumentTextModelVersion?: string; + DocumentMetadata?: DocumentMetadata; /** - *

                                                                The current status of an asynchronous text-detection operation for the document.

                                                                + *

                                                                A list of warnings that occurred during the text-detection operation for the + * document.

                                                                */ - StatusMessage?: string; + Warnings?: Warning[]; /** - *

                                                                The current status of the text detection job.

                                                                + *

                                                                Returns if the detection job could not be completed. Contains explanation for what error occured.

                                                                */ - JobStatus?: JobStatus | string; + StatusMessage?: string; /** *

                                                                If the response is truncated, Amazon Textract returns this token. You can use this token in @@ -983,15 +1002,14 @@ export interface GetDocumentTextDetectionResponse { NextToken?: string; /** - *

                                                                The results of the text-detection operation.

                                                                + *

                                                                The current status of the text detection job.

                                                                */ - Blocks?: Block[]; + JobStatus?: JobStatus | string; /** - *

                                                                Information about a document that Amazon Textract processed. DocumentMetadata is - * returned in every page of paginated responses from an Amazon Textract video operation.

                                                                + *

                                                                The results of the text-detection operation.

                                                                */ - DocumentMetadata?: DocumentMetadata; + Blocks?: Block[]; } export namespace GetDocumentTextDetectionResponse { @@ -1060,16 +1078,31 @@ export namespace NotificationChannel { }); } -export interface StartDocumentAnalysisRequest { +/** + *

                                                                Sets whether or not your output will go to a user created bucket. + * Used to set the name of the bucket, and the prefix on the output + * file.

                                                                + */ +export interface OutputConfig { /** - *

                                                                The idempotent token that you use to identify the start request. If you use the same - * token with multiple StartDocumentAnalysis requests, the same - * JobId is returned. Use ClientRequestToken to prevent the same - * job from being accidentally started more than once. For more information, see - * Calling Amazon Textract Asynchronous Operations.

                                                                + *

                                                                The name of the bucket your output will go to.

                                                                */ - ClientRequestToken?: string; + S3Bucket: string | undefined; + + /** + *

                                                                The prefix of the object key that the output will be saved to. When + * not enabled, the prefix will be “textract_output".

                                                                + */ + S3Prefix?: string; +} + +export namespace OutputConfig { + export const filterSensitiveLog = (obj: OutputConfig): any => ({ + ...obj, + }); +} +export interface StartDocumentAnalysisRequest { /** *

                                                                The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the * operation to.

                                                                @@ -1082,12 +1115,13 @@ export interface StartDocumentAnalysisRequest { DocumentLocation: DocumentLocation | undefined; /** - *

                                                                An identifier that you specify that's included in the completion notification published - * to the Amazon SNS topic. For example, you can use JobTag to identify the type of - * document that the completion notification corresponds to (such as a tax form or a - * receipt).

                                                                + *

                                                                The idempotent token that you use to identify the start request. If you use the same + * token with multiple StartDocumentAnalysis requests, the same + * JobId is returned. Use ClientRequestToken to prevent the same + * job from being accidentally started more than once. For more information, see + * Calling Amazon Textract Asynchronous Operations.

                                                                */ - JobTag?: string; + ClientRequestToken?: string; /** *

                                                                A list of the types of analysis to perform. Add TABLES to the list to return information @@ -1098,6 +1132,20 @@ export interface StartDocumentAnalysisRequest { * FeatureTypes).

                                                                */ FeatureTypes: (FeatureType | string)[] | undefined; + + /** + *

                                                                Sets if the output will go to a customer defined bucket. By default, Amazon Textract will save + * the results internally to be accessed by the GetDocumentAnalysis operation.

                                                                + */ + OutputConfig?: OutputConfig; + + /** + *

                                                                An identifier that you specify that's included in the completion notification published + * to the Amazon SNS topic. For example, you can use JobTag to identify the type of + * document that the completion notification corresponds to (such as a tax form or a + * receipt).

                                                                + */ + JobTag?: string; } export namespace StartDocumentAnalysisRequest { @@ -1122,11 +1170,6 @@ export namespace StartDocumentAnalysisResponse { } export interface StartDocumentTextDetectionRequest { - /** - *

                                                                The location of the document to be processed.

                                                                - */ - DocumentLocation: DocumentLocation | undefined; - /** *

                                                                An identifier that you specify that's included in the completion notification published * to the Amazon SNS topic. For example, you can use JobTag to identify the type of @@ -1144,11 +1187,22 @@ export interface StartDocumentTextDetectionRequest { */ ClientRequestToken?: string; + /** + *

                                                                Sets if the output will go to a customer defined bucket. By default Amazon Textract will + * save the results internally to be accessed with the GetDocumentTextDetection operation.

                                                                + */ + OutputConfig?: OutputConfig; + /** *

                                                                The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the * operation to.

                                                                */ NotificationChannel?: NotificationChannel; + + /** + *

                                                                The location of the document to be processed.

                                                                + */ + DocumentLocation: DocumentLocation | undefined; } export namespace StartDocumentTextDetectionRequest { diff --git a/clients/client-textract/protocols/Aws_json1_1.ts b/clients/client-textract/protocols/Aws_json1_1.ts index 46b9773ccf40..9f0484bda4ad 100644 --- a/clients/client-textract/protocols/Aws_json1_1.ts +++ b/clients/client-textract/protocols/Aws_json1_1.ts @@ -48,6 +48,7 @@ import { InvalidS3ObjectException, LimitExceededException, NotificationChannel, + OutputConfig, Point, ProvisionedThroughputExceededException, Relationship, @@ -456,6 +457,14 @@ const deserializeAws_json1_1GetDocumentAnalysisCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidS3ObjectException": + case "com.amazonaws.textract#InvalidS3ObjectException": + response = { + ...(await deserializeAws_json1_1InvalidS3ObjectExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ProvisionedThroughputExceededException": case "com.amazonaws.textract#ProvisionedThroughputExceededException": response = { @@ -551,6 +560,14 @@ const deserializeAws_json1_1GetDocumentTextDetectionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidS3ObjectException": + case "com.amazonaws.textract#InvalidS3ObjectException": + response = { + ...(await deserializeAws_json1_1InvalidS3ObjectExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ProvisionedThroughputExceededException": case "com.amazonaws.textract#ProvisionedThroughputExceededException": response = { @@ -1141,6 +1158,13 @@ const serializeAws_json1_1NotificationChannel = (input: NotificationChannel, con }; }; +const serializeAws_json1_1OutputConfig = (input: OutputConfig, context: __SerdeContext): any => { + return { + ...(input.S3Bucket !== undefined && { S3Bucket: input.S3Bucket }), + ...(input.S3Prefix !== undefined && { S3Prefix: input.S3Prefix }), + }; +}; + const serializeAws_json1_1S3Object = (input: S3Object, context: __SerdeContext): any => { return { ...(input.Bucket !== undefined && { Bucket: input.Bucket }), @@ -1165,6 +1189,9 @@ const serializeAws_json1_1StartDocumentAnalysisRequest = ( ...(input.NotificationChannel !== undefined && { NotificationChannel: serializeAws_json1_1NotificationChannel(input.NotificationChannel, context), }), + ...(input.OutputConfig !== undefined && { + OutputConfig: serializeAws_json1_1OutputConfig(input.OutputConfig, context), + }), }; }; @@ -1181,6 +1208,9 @@ const serializeAws_json1_1StartDocumentTextDetectionRequest = ( ...(input.NotificationChannel !== undefined && { NotificationChannel: serializeAws_json1_1NotificationChannel(input.NotificationChannel, context), }), + ...(input.OutputConfig !== undefined && { + OutputConfig: serializeAws_json1_1OutputConfig(input.OutputConfig, context), + }), }; }; diff --git a/clients/client-timestream-query/.gitignore b/clients/client-timestream-query/.gitignore new file mode 100644 index 000000000000..b41c05b597c4 --- /dev/null +++ b/clients/client-timestream-query/.gitignore @@ -0,0 +1,14 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/types/ +/dist/ +*.tsbuildinfo +*.tgz +*.log +package-lock.json + +*.d.ts +*.js +*.js.map diff --git a/clients/client-timestream-query/.npmignore b/clients/client-timestream-query/.npmignore new file mode 100644 index 000000000000..b7ff81137c4a --- /dev/null +++ b/clients/client-timestream-query/.npmignore @@ -0,0 +1,4 @@ +/coverage/ +/docs/ +tsconfig.test.json +*.tsbuildinfo diff --git a/clients/client-timestream-query/LICENSE b/clients/client-timestream-query/LICENSE new file mode 100644 index 000000000000..dd65ae06be7a --- /dev/null +++ b/clients/client-timestream-query/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-timestream-query/README.md b/clients/client-timestream-query/README.md new file mode 100644 index 000000000000..355fabb9c5da --- /dev/null +++ b/clients/client-timestream-query/README.md @@ -0,0 +1,6 @@ +@aws-sdk/client-timestream-query + +[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-timestream-query/beta.svg)](https://www.npmjs.com/package/@aws-sdk/client-timestream-query) +[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-timestream-query.svg)](https://www.npmjs.com/package/@aws-sdk/client-timestream-query) + +For SDK usage, please step to [SDK readme](https://github.com/aws/aws-sdk-js-v3). diff --git a/clients/client-timestream-query/TimestreamQuery.ts b/clients/client-timestream-query/TimestreamQuery.ts new file mode 100644 index 000000000000..1f25a0bea212 --- /dev/null +++ b/clients/client-timestream-query/TimestreamQuery.ts @@ -0,0 +1,120 @@ +import { TimestreamQueryClient } from "./TimestreamQueryClient"; +import { CancelQueryCommand, CancelQueryCommandInput, CancelQueryCommandOutput } from "./commands/CancelQueryCommand"; +import { + DescribeEndpointsCommand, + DescribeEndpointsCommandInput, + DescribeEndpointsCommandOutput, +} from "./commands/DescribeEndpointsCommand"; +import { QueryCommand, QueryCommandInput, QueryCommandOutput } from "./commands/QueryCommand"; +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +/** + *

                                                                + * + *

                                                                + */ +export class TimestreamQuery extends TimestreamQueryClient { + /** + *

                                                                + * Cancels a query that has been issued. Cancellation is guaranteed only if the query has not + * completed execution before the cancellation request was issued. Because cancellation is an idempotent operation, + * subsequent cancellation requests will return a CancellationMessage, indicating that the query has already been canceled. + *

                                                                + */ + public cancelQuery(args: CancelQueryCommandInput, options?: __HttpHandlerOptions): Promise; + public cancelQuery(args: CancelQueryCommandInput, cb: (err: any, data?: CancelQueryCommandOutput) => void): void; + public cancelQuery( + args: CancelQueryCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CancelQueryCommandOutput) => void + ): void; + public cancelQuery( + args: CancelQueryCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CancelQueryCommandOutput) => void), + cb?: (err: any, data?: CancelQueryCommandOutput) => void + ): Promise | void { + const command = new CancelQueryCommand(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); + } + } + + /** + *

                                                                DescribeEndpoints returns a list of available endpoints to make Timestream API calls against. + * This API is available through both Write and Query.

                                                                + *

                                                                Because Timestream’s SDKs are designed to transparently work with the service’s architecture, + * including the management and mapping of the service endpoints, + * it is not recommended that you use this API unless:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  Your application uses a programming language that does not yet have SDK support

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  You require better control over the client-side implementation

                                                                  + *
                                                                • + *
                                                                + *

                                                                For detailed information on how to use DescribeEndpoints, + * see The Endpoint Discovery Pattern and REST APIs.

                                                                + */ + public describeEndpoints( + args: DescribeEndpointsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeEndpoints( + args: DescribeEndpointsCommandInput, + cb: (err: any, data?: DescribeEndpointsCommandOutput) => void + ): void; + public describeEndpoints( + args: DescribeEndpointsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeEndpointsCommandOutput) => void + ): void; + public describeEndpoints( + args: DescribeEndpointsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeEndpointsCommandOutput) => void), + cb?: (err: any, data?: DescribeEndpointsCommandOutput) => void + ): Promise | void { + const command = new DescribeEndpointsCommand(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); + } + } + + /** + *

                                                                + * Query is a synchronous operation that enables you to execute a query. Query will timeout after 60 seconds. You must update the default timeout in the SDK to support a timeout of 60 seconds. The result set will be truncated to 1MB. Service quotas apply. For more information, see Quotas in the Timestream Developer Guide. + *

                                                                + */ + public query(args: QueryCommandInput, options?: __HttpHandlerOptions): Promise; + public query(args: QueryCommandInput, cb: (err: any, data?: QueryCommandOutput) => void): void; + public query( + args: QueryCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: QueryCommandOutput) => void + ): void; + public query( + args: QueryCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: QueryCommandOutput) => void), + cb?: (err: any, data?: QueryCommandOutput) => void + ): Promise | void { + const command = new QueryCommand(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-timestream-query/TimestreamQueryClient.ts b/clients/client-timestream-query/TimestreamQueryClient.ts new file mode 100644 index 000000000000..2a8763453998 --- /dev/null +++ b/clients/client-timestream-query/TimestreamQueryClient.ts @@ -0,0 +1,206 @@ +import { CancelQueryCommandInput, CancelQueryCommandOutput } from "./commands/CancelQueryCommand"; +import { DescribeEndpointsCommandInput, DescribeEndpointsCommandOutput } from "./commands/DescribeEndpointsCommand"; +import { QueryCommandInput, QueryCommandOutput } from "./commands/QueryCommand"; +import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; +import { + EndpointsInputConfig, + EndpointsResolvedConfig, + RegionInputConfig, + RegionResolvedConfig, + resolveEndpointsConfig, + resolveRegionConfig, +} from "@aws-sdk/config-resolver"; +import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length"; +import { + HostHeaderInputConfig, + HostHeaderResolvedConfig, + getHostHeaderPlugin, + resolveHostHeaderConfig, +} from "@aws-sdk/middleware-host-header"; +import { getLoggerPlugin } from "@aws-sdk/middleware-logger"; +import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry"; +import { + AwsAuthInputConfig, + AwsAuthResolvedConfig, + getAwsAuthPlugin, + resolveAwsAuthConfig, +} from "@aws-sdk/middleware-signing"; +import { + UserAgentInputConfig, + UserAgentResolvedConfig, + getUserAgentPlugin, + resolveUserAgentConfig, +} from "@aws-sdk/middleware-user-agent"; +import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http"; +import { + Client as __Client, + SmithyConfiguration as __SmithyConfiguration, + SmithyResolvedConfiguration as __SmithyResolvedConfiguration, +} from "@aws-sdk/smithy-client"; +import { + RegionInfoProvider, + Credentials as __Credentials, + Decoder as __Decoder, + Encoder as __Encoder, + HashConstructor as __HashConstructor, + HttpHandlerOptions as __HttpHandlerOptions, + Logger as __Logger, + Provider as __Provider, + StreamCollector as __StreamCollector, + UrlParser as __UrlParser, +} from "@aws-sdk/types"; + +export type ServiceInputTypes = CancelQueryCommandInput | DescribeEndpointsCommandInput | QueryCommandInput; + +export type ServiceOutputTypes = CancelQueryCommandOutput | DescribeEndpointsCommandOutput | QueryCommandOutput; + +export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { + /** + * The HTTP handler to use. Fetch in browser and Https in Nodejs. + */ + requestHandler?: __HttpHandler; + + /** + * A constructor for a class implementing the @aws-sdk/types.Hash interface + * that computes the SHA-256 HMAC or checksum of a string or binary buffer. + */ + sha256?: __HashConstructor; + + /** + * The function that will be used to convert strings into HTTP endpoints. + */ + urlParser?: __UrlParser; + + /** + * A function that can calculate the length of a request body. + */ + bodyLengthChecker?: (body: any) => number | undefined; + + /** + * A function that converts a stream into an array of bytes. + */ + streamCollector?: __StreamCollector; + + /** + * The function that will be used to convert a base64-encoded string to a byte array + */ + base64Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a base64-encoded string + */ + base64Encoder?: __Encoder; + + /** + * The function that will be used to convert a UTF8-encoded string to a byte array + */ + utf8Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a UTF-8 encoded string + */ + utf8Encoder?: __Encoder; + + /** + * The string that will be used to populate default value in 'User-Agent' header + */ + defaultUserAgent?: string; + + /** + * The runtime environment + */ + runtime?: string; + + /** + * Disable dyanamically changing the endpoint of the client based on the hostPrefix + * trait of an operation. + */ + disableHostPrefix?: boolean; + + /** + * The service name with which to sign requests. + */ + signingName?: string; + + /** + * Default credentials provider; Not available in browser runtime + */ + credentialDefaultProvider?: (input: any) => __Provider<__Credentials>; + + /** + * The AWS region to which this client will send requests + */ + region?: string | __Provider; + + /** + * Value for how many times a request will be made at most in case of retry. + */ + maxAttempts?: number | __Provider; + + /** + * Optional logger for logging debug/info/warn/error. + */ + logger?: __Logger; + + /** + * Fetch related hostname, signing name or signing region with given region. + */ + regionInfoProvider?: RegionInfoProvider; +} + +export type TimestreamQueryClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & + ClientDefaults & + RegionInputConfig & + EndpointsInputConfig & + AwsAuthInputConfig & + RetryInputConfig & + UserAgentInputConfig & + HostHeaderInputConfig; + +export type TimestreamQueryClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> & + Required & + RegionResolvedConfig & + EndpointsResolvedConfig & + AwsAuthResolvedConfig & + RetryResolvedConfig & + UserAgentResolvedConfig & + HostHeaderResolvedConfig; + +/** + *

                                                                + * + *

                                                                + */ +export class TimestreamQueryClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + TimestreamQueryClientResolvedConfig +> { + readonly config: TimestreamQueryClientResolvedConfig; + + constructor(configuration: TimestreamQueryClientConfig) { + let _config_0 = { + ...__ClientDefaultValues, + ...configuration, + }; + let _config_1 = resolveRegionConfig(_config_0); + let _config_2 = resolveEndpointsConfig(_config_1); + let _config_3 = resolveAwsAuthConfig(_config_2); + let _config_4 = resolveRetryConfig(_config_3); + let _config_5 = resolveUserAgentConfig(_config_4); + let _config_6 = resolveHostHeaderConfig(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use(getAwsAuthPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + } + + destroy(): void { + super.destroy(); + } +} diff --git a/clients/client-timestream-query/commands/CancelQueryCommand.ts b/clients/client-timestream-query/commands/CancelQueryCommand.ts new file mode 100644 index 000000000000..35c266d4726d --- /dev/null +++ b/clients/client-timestream-query/commands/CancelQueryCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamQueryClientResolvedConfig } from "../TimestreamQueryClient"; +import { CancelQueryRequest, CancelQueryResponse } from "../models/models_0"; +import { + deserializeAws_json1_0CancelQueryCommand, + serializeAws_json1_0CancelQueryCommand, +} from "../protocols/Aws_json1_0"; +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 CancelQueryCommandInput = CancelQueryRequest; +export type CancelQueryCommandOutput = CancelQueryResponse & __MetadataBearer; + +export class CancelQueryCommand extends $Command< + CancelQueryCommandInput, + CancelQueryCommandOutput, + TimestreamQueryClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CancelQueryCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamQueryClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CancelQueryRequest.filterSensitiveLog, + outputFilterSensitiveLog: CancelQueryResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CancelQueryCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0CancelQueryCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0CancelQueryCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-query/commands/DescribeEndpointsCommand.ts b/clients/client-timestream-query/commands/DescribeEndpointsCommand.ts new file mode 100644 index 000000000000..326014430f01 --- /dev/null +++ b/clients/client-timestream-query/commands/DescribeEndpointsCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamQueryClientResolvedConfig } from "../TimestreamQueryClient"; +import { DescribeEndpointsRequest, DescribeEndpointsResponse } from "../models/models_0"; +import { + deserializeAws_json1_0DescribeEndpointsCommand, + serializeAws_json1_0DescribeEndpointsCommand, +} from "../protocols/Aws_json1_0"; +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 DescribeEndpointsCommandInput = DescribeEndpointsRequest; +export type DescribeEndpointsCommandOutput = DescribeEndpointsResponse & __MetadataBearer; + +export class DescribeEndpointsCommand extends $Command< + DescribeEndpointsCommandInput, + DescribeEndpointsCommandOutput, + TimestreamQueryClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeEndpointsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamQueryClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeEndpointsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeEndpointsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeEndpointsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0DescribeEndpointsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0DescribeEndpointsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-query/commands/QueryCommand.ts b/clients/client-timestream-query/commands/QueryCommand.ts new file mode 100644 index 000000000000..ddbd3685866b --- /dev/null +++ b/clients/client-timestream-query/commands/QueryCommand.ts @@ -0,0 +1,63 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamQueryClientResolvedConfig } from "../TimestreamQueryClient"; +import { QueryRequest, QueryResponse } from "../models/models_0"; +import { deserializeAws_json1_0QueryCommand, serializeAws_json1_0QueryCommand } from "../protocols/Aws_json1_0"; +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 QueryCommandInput = QueryRequest; +export type QueryCommandOutput = QueryResponse & __MetadataBearer; + +export class QueryCommand extends $Command { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: QueryCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamQueryClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: QueryRequest.filterSensitiveLog, + outputFilterSensitiveLog: QueryResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: QueryCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0QueryCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0QueryCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-query/endpoints.ts b/clients/client-timestream-query/endpoints.ts new file mode 100644 index 000000000000..d984f8258aee --- /dev/null +++ b/clients/client-timestream-query/endpoints.ts @@ -0,0 +1,81 @@ +import { RegionInfo, RegionInfoProvider } from "@aws-sdk/types"; + +// Partition default templates +const AWS_TEMPLATE = "timestream.{region}.amazonaws.com"; +const AWS_CN_TEMPLATE = "timestream.{region}.amazonaws.com.cn"; +const AWS_ISO_TEMPLATE = "timestream.{region}.c2s.ic.gov"; +const AWS_ISO_B_TEMPLATE = "timestream.{region}.sc2s.sgov.gov"; +const AWS_US_GOV_TEMPLATE = "timestream.{region}.amazonaws.com"; + +// Partition regions +const AWS_REGIONS = new Set([ + "ap-east-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-west-1", + "eu-west-2", + "eu-west-3", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2", +]); +const AWS_CN_REGIONS = new Set(["cn-north-1", "cn-northwest-1"]); +const AWS_ISO_REGIONS = new Set(["us-iso-east-1"]); +const AWS_ISO_B_REGIONS = new Set(["us-isob-east-1"]); +const AWS_US_GOV_REGIONS = new Set(["us-gov-east-1", "us-gov-west-1"]); + +export const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => { + let regionInfo: RegionInfo | undefined = undefined; + switch (region) { + // First, try to match exact region names. + // Next, try to match partition endpoints. + default: + if (AWS_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + if (AWS_CN_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_CN_TEMPLATE.replace("{region}", region), + partition: "aws-cn", + }; + } + if (AWS_ISO_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_TEMPLATE.replace("{region}", region), + partition: "aws-iso", + }; + } + if (AWS_ISO_B_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_B_TEMPLATE.replace("{region}", region), + partition: "aws-iso-b", + }; + } + if (AWS_US_GOV_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_US_GOV_TEMPLATE.replace("{region}", region), + partition: "aws-us-gov", + }; + } + // Finally, assume it's an AWS partition endpoint. + if (regionInfo === undefined) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + } + return Promise.resolve(regionInfo); +}; diff --git a/clients/client-timestream-query/index.ts b/clients/client-timestream-query/index.ts new file mode 100644 index 000000000000..b5f282b792e1 --- /dev/null +++ b/clients/client-timestream-query/index.ts @@ -0,0 +1,8 @@ +export * from "./TimestreamQueryClient"; +export * from "./TimestreamQuery"; +export * from "./commands/CancelQueryCommand"; +export * from "./commands/DescribeEndpointsCommand"; +export * from "./commands/QueryCommand"; +export * from "./pagination/QueryPaginator"; +export * from "./pagination/Interfaces"; +export * from "./models/index"; diff --git a/clients/client-timestream-query/models/index.ts b/clients/client-timestream-query/models/index.ts new file mode 100644 index 000000000000..09c5d6e09b8c --- /dev/null +++ b/clients/client-timestream-query/models/index.ts @@ -0,0 +1 @@ +export * from "./models_0"; diff --git a/clients/client-timestream-query/models/models_0.ts b/clients/client-timestream-query/models/models_0.ts new file mode 100644 index 000000000000..25d15f574cb0 --- /dev/null +++ b/clients/client-timestream-query/models/models_0.ts @@ -0,0 +1,443 @@ +import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; + +/** + *

                                                                + * You are not authorized to perform this action. + *

                                                                + */ +export interface AccessDeniedException extends __SmithyException, $MetadataBearer { + name: "AccessDeniedException"; + $fault: "client"; + Message?: string; +} + +export namespace AccessDeniedException { + export const filterSensitiveLog = (obj: AccessDeniedException): any => ({ + ...obj, + }); +} + +export interface CancelQueryRequest { + /** + *

                                                                + * The id of the query that needs to be cancelled. QueryID is returned as part of QueryResult. + *

                                                                + */ + QueryId: string | undefined; +} + +export namespace CancelQueryRequest { + export const filterSensitiveLog = (obj: CancelQueryRequest): any => ({ + ...obj, + }); +} + +export interface CancelQueryResponse { + /** + *

                                                                + * A CancellationMessage is returned when a CancelQuery request for the query specified by QueryId has already been issued. + *

                                                                + */ + CancellationMessage?: string; +} + +export namespace CancelQueryResponse { + export const filterSensitiveLog = (obj: CancelQueryResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                + * Timestream was unable to fully process this request because of an internal server error. + *

                                                                + */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + Message?: string; +} + +export namespace InternalServerException { + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +/** + *

                                                                The requested endpoint was invalid.

                                                                + */ +export interface InvalidEndpointException extends __SmithyException, $MetadataBearer { + name: "InvalidEndpointException"; + $fault: "client"; + Message?: string; +} + +export namespace InvalidEndpointException { + export const filterSensitiveLog = (obj: InvalidEndpointException): any => ({ + ...obj, + }); +} + +/** + *

                                                                The request was denied due to request throttling.

                                                                + */ +export interface ThrottlingException extends __SmithyException, $MetadataBearer { + name: "ThrottlingException"; + $fault: "client"; + Message?: string; +} + +export namespace ThrottlingException { + export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + ...obj, + }); +} + +/** + *

                                                                + * Invalid or malformed request. + *

                                                                + */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + Message?: string; +} + +export namespace ValidationException { + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +export enum ScalarType { + BIGINT = "BIGINT", + BOOLEAN = "BOOLEAN", + DATE = "DATE", + DOUBLE = "DOUBLE", + INTEGER = "INTEGER", + INTERVAL_DAY_TO_SECOND = "INTERVAL_DAY_TO_SECOND", + INTERVAL_YEAR_TO_MONTH = "INTERVAL_YEAR_TO_MONTH", + TIME = "TIME", + TIMESTAMP = "TIMESTAMP", + UNKNOWN = "UNKNOWN", + VARCHAR = "VARCHAR", +} + +/** + *

                                                                + * Unable to poll results for a cancelled query. + *

                                                                + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + Message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +export interface DescribeEndpointsRequest {} + +export namespace DescribeEndpointsRequest { + export const filterSensitiveLog = (obj: DescribeEndpointsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                Represents an available endpoint against which to make API calls agaisnt, as well as the TTL for that endpoint.

                                                                + */ +export interface Endpoint { + /** + *

                                                                An endpoint address.

                                                                + */ + Address: string | undefined; + + /** + *

                                                                The TTL for the endpoint, in minutes.

                                                                + */ + CachePeriodInMinutes: number | undefined; +} + +export namespace Endpoint { + export const filterSensitiveLog = (obj: Endpoint): any => ({ + ...obj, + }); +} + +export interface DescribeEndpointsResponse { + /** + *

                                                                An Endpoints object is returned when a DescribeEndpoints request is made.

                                                                + */ + Endpoints: Endpoint[] | undefined; +} + +export namespace DescribeEndpointsResponse { + export const filterSensitiveLog = (obj: DescribeEndpointsResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                + * Timestream was unable to run the query successfully. + *

                                                                + */ +export interface QueryExecutionException extends __SmithyException, $MetadataBearer { + name: "QueryExecutionException"; + $fault: "client"; + Message?: string; +} + +export namespace QueryExecutionException { + export const filterSensitiveLog = (obj: QueryExecutionException): any => ({ + ...obj, + }); +} + +export interface QueryRequest { + /** + *

                                                                + * The query to be executed by Timestream. + *

                                                                + */ + QueryString: string | undefined; + + /** + *

                                                                + * A pagination token passed to get a set of results. + *

                                                                + */ + NextToken?: string; + + /** + *

                                                                + * The total number of rows to return in the output. If the total number of rows available + * is more than the value specified, a NextToken is provided in the command's output. + * To resume pagination, provide the NextToken value in the starting-token argument of a + * subsequent command. + *

                                                                + */ + MaxRows?: number; + + /** + *

                                                                + * Unique, case-sensitive string of up to 64 ASCII characters that you specify when you make a Query request. + * Providing a ClientToken makes the call to Query idempotent, meaning that multiple identical calls + * have the same effect as one single call. + *

                                                                + * + *

                                                                Your query request will fail in the following cases:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * If you submit a request with the same client token outside the 5-minute idepotency window. + *

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * If you submit a request with the same client token but a change in other parameters within the 5-minute idempotency window. + *

                                                                  + *
                                                                • + *
                                                                + * + *

                                                                + * After 4 hours, any request with the same client token is treated as a new request. + *

                                                                + */ + ClientToken?: string; +} + +export namespace QueryRequest { + export const filterSensitiveLog = (obj: QueryRequest): any => ({ + ...obj, + ...(obj.QueryString && { QueryString: SENSITIVE_STRING }), + ...(obj.ClientToken && { ClientToken: SENSITIVE_STRING }), + }); +} + +/** + *

                                                                + * Contains the meta data for query results such as the column names, data types, and other attributes. + *

                                                                + */ +export interface ColumnInfo { + /** + *

                                                                + * The name of the result set column. The name of the result set is available for columns of all data types except for arrays. + *

                                                                + */ + Name?: string; + + /** + *

                                                                + * The data type of the result set column. The data type can be a scalar or complex. Scalar data types are integers, strings, doubles, booleans, and others. Complex data types are types such as arrays, rows, and others. + *

                                                                + */ + Type: Type | undefined; +} + +export namespace ColumnInfo { + export const filterSensitiveLog = (obj: ColumnInfo): any => ({ + ...obj, + }); +} + +/** + *

                                                                Contains the data type of a column in a query result set. The data type can be scalar or complex. The supported scalar data types are integers, boolean, string, double, timestamp, date, time, and intervals. The supported complex data types are arrays, rows, and timeseries.

                                                                + */ +export interface Type { + /** + *

                                                                Indicates if the column is a row.

                                                                + */ + RowColumnInfo?: ColumnInfo[]; + + /** + *

                                                                Indicates if the column is a timeseries data type.

                                                                + */ + TimeSeriesMeasureValueColumnInfo?: ColumnInfo; + + /** + *

                                                                Indicates if the column is of type string, integer, boolean, double, timestamp, date, time.

                                                                + */ + ScalarType?: ScalarType | string; + + /** + *

                                                                Indicates if the column is an array.

                                                                + */ + ArrayColumnInfo?: ColumnInfo; +} + +export namespace Type { + export const filterSensitiveLog = (obj: Type): any => ({ + ...obj, + }); +} + +/** + *

                                                                + * Datum represents a single data point in a query result. + *

                                                                + */ +export interface Datum { + /** + *

                                                                + * Indicates if the data point is of timeseries data type. + *

                                                                + */ + TimeSeriesValue?: TimeSeriesDataPoint[]; + + /** + *

                                                                + * Indicates if the data point is null. + *

                                                                + */ + NullValue?: boolean; + + /** + *

                                                                + * Indicates if the data point is a row. + *

                                                                + */ + RowValue?: Row; + + /** + *

                                                                + * Indicates if the data point is a scalar value such as integer, string, double, or boolean. + *

                                                                + */ + ScalarValue?: string; + + /** + *

                                                                + * Indicates if the data point is an array. + *

                                                                + */ + ArrayValue?: Datum[]; +} + +export namespace Datum { + export const filterSensitiveLog = (obj: Datum): any => ({ + ...obj, + }); +} + +/** + *

                                                                The timeseries datatype represents the values of a measure over time. A time series is an array of rows of timestamps and measure values, with rows sorted in ascending order of time. A TimeSeriesDataPoint is a single data point in the timeseries. It represents a tuple of (time, measure value) in a timeseries.

                                                                + */ +export interface TimeSeriesDataPoint { + /** + *

                                                                The timestamp when the measure value was collected.

                                                                + */ + Time: string | undefined; + + /** + *

                                                                The measure value for the data point.

                                                                + */ + Value: Datum | undefined; +} + +export namespace TimeSeriesDataPoint { + export const filterSensitiveLog = (obj: TimeSeriesDataPoint): any => ({ + ...obj, + }); +} + +/** + *

                                                                Represents a single row in the query results.

                                                                + */ +export interface Row { + /** + *

                                                                List of data points in a single row of the result set.

                                                                + */ + Data: Datum[] | undefined; +} + +export namespace Row { + export const filterSensitiveLog = (obj: Row): any => ({ + ...obj, + }); +} + +export interface QueryResponse { + /** + *

                                                                + * A unique ID for the given query. + *

                                                                + */ + QueryId: string | undefined; + + /** + *

                                                                + * The result set rows returned by the query. + *

                                                                + */ + Rows: Row[] | undefined; + + /** + *

                                                                + * The column data types of the returned result set. + *

                                                                + */ + ColumnInfo: ColumnInfo[] | undefined; + + /** + *

                                                                + * A pagination token that can be used again on a Query call to get the next set of results. + *

                                                                + */ + NextToken?: string; +} + +export namespace QueryResponse { + export const filterSensitiveLog = (obj: QueryResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-timestream-query/package.json b/clients/client-timestream-query/package.json new file mode 100644 index 000000000000..88f659d1166a --- /dev/null +++ b/clients/client-timestream-query/package.json @@ -0,0 +1,79 @@ +{ + "name": "@aws-sdk/client-timestream-query", + "description": "@aws-sdk/client-timestream-query client", + "version": "1.0.0-rc.1", + "scripts": { + "clean": "npm run remove-definitions && npm run remove-dist", + "build-documentation": "npm run clean && typedoc ./", + "prepublishOnly": "yarn build", + "pretest": "yarn build:cjs", + "remove-definitions": "rimraf ./types", + "remove-dist": "rimraf ./dist", + "remove-documentation": "rimraf ./docs", + "test": "yarn build && jest --coverage --passWithNoTests", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig.es.json", + "build": "yarn build:cjs && yarn build:es" + }, + "main": "./dist/cjs/index.js", + "types": "./types/index.d.ts", + "module": "./dist/es/index.js", + "browser": { + "./runtimeConfig": "./runtimeConfig.browser" + }, + "react-native": { + "./runtimeConfig": "./runtimeConfig.native" + }, + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0-alpha.0", + "@aws-crypto/sha256-js": "^1.0.0-alpha.0", + "@aws-sdk/config-resolver": "1.0.0-rc.1", + "@aws-sdk/credential-provider-node": "1.0.0-rc.1", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.1", + "@aws-sdk/hash-node": "1.0.0-rc.1", + "@aws-sdk/invalid-dependency": "1.0.0-rc.1", + "@aws-sdk/middleware-content-length": "1.0.0-rc.1", + "@aws-sdk/middleware-host-header": "1.0.0-rc.1", + "@aws-sdk/middleware-logger": "1.0.0-rc.1", + "@aws-sdk/middleware-retry": "1.0.0-rc.1", + "@aws-sdk/middleware-serde": "1.0.0-rc.1", + "@aws-sdk/middleware-signing": "1.0.0-rc.1", + "@aws-sdk/middleware-stack": "1.0.0-rc.1", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.1", + "@aws-sdk/node-config-provider": "1.0.0-rc.1", + "@aws-sdk/node-http-handler": "1.0.0-rc.1", + "@aws-sdk/protocol-http": "1.0.0-rc.1", + "@aws-sdk/smithy-client": "1.0.0-rc.1", + "@aws-sdk/types": "1.0.0-rc.1", + "@aws-sdk/url-parser-browser": "1.0.0-rc.1", + "@aws-sdk/url-parser-node": "1.0.0-rc.1", + "@aws-sdk/util-base64-browser": "1.0.0-rc.1", + "@aws-sdk/util-base64-node": "1.0.0-rc.1", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.1", + "@aws-sdk/util-body-length-node": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.1", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.1", + "@aws-sdk/util-utf8-node": "1.0.0-rc.1", + "tslib": "^2.0.0", + "uuid": "^3.0.0" + }, + "devDependencies": { + "@aws-sdk/client-documentation-generator": "1.0.0-rc.1", + "@types/node": "^12.7.5", + "@types/uuid": "^3.0.0", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "typedoc": "^0.17.8", + "typescript": "~4.0.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0" +} diff --git a/clients/client-timestream-query/pagination/Interfaces.ts b/clients/client-timestream-query/pagination/Interfaces.ts new file mode 100644 index 000000000000..8d4174e4c8c0 --- /dev/null +++ b/clients/client-timestream-query/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { TimestreamQuery } from "../TimestreamQuery"; +import { TimestreamQueryClient } from "../TimestreamQueryClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface TimestreamQueryPaginationConfiguration extends PaginationConfiguration { + client: TimestreamQuery | TimestreamQueryClient; +} diff --git a/clients/client-timestream-query/pagination/QueryPaginator.ts b/clients/client-timestream-query/pagination/QueryPaginator.ts new file mode 100644 index 000000000000..c1b056157c52 --- /dev/null +++ b/clients/client-timestream-query/pagination/QueryPaginator.ts @@ -0,0 +1,47 @@ +import { TimestreamQuery } from "../TimestreamQuery"; +import { TimestreamQueryClient } from "../TimestreamQueryClient"; +import { QueryCommand, QueryCommandInput, QueryCommandOutput } from "../commands/QueryCommand"; +import { TimestreamQueryPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: TimestreamQueryClient, + input: QueryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new QueryCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: TimestreamQuery, + input: QueryCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.query(input, ...args); +}; +export async function* queryPaginate( + config: TimestreamQueryPaginationConfiguration, + input: QueryCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: QueryCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxRows"] = config.pageSize; + if (config.client instanceof TimestreamQuery) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof TimestreamQueryClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected TimestreamQuery | TimestreamQueryClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-timestream-query/protocols/Aws_json1_0.ts b/clients/client-timestream-query/protocols/Aws_json1_0.ts new file mode 100644 index 000000000000..3bdd405ebc1a --- /dev/null +++ b/clients/client-timestream-query/protocols/Aws_json1_0.ts @@ -0,0 +1,693 @@ +import { CancelQueryCommandInput, CancelQueryCommandOutput } from "../commands/CancelQueryCommand"; +import { DescribeEndpointsCommandInput, DescribeEndpointsCommandOutput } from "../commands/DescribeEndpointsCommand"; +import { QueryCommandInput, QueryCommandOutput } from "../commands/QueryCommand"; +import { + AccessDeniedException, + CancelQueryRequest, + CancelQueryResponse, + ColumnInfo, + ConflictException, + Datum, + DescribeEndpointsRequest, + DescribeEndpointsResponse, + Endpoint, + InternalServerException, + InvalidEndpointException, + QueryExecutionException, + QueryRequest, + QueryResponse, + Row, + ThrottlingException, + TimeSeriesDataPoint, + Type, + ValidationException, +} from "../models/models_0"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { + Endpoint as __Endpoint, + HeaderBag as __HeaderBag, + MetadataBearer as __MetadataBearer, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; +import { v4 as generateIdempotencyToken } from "uuid"; + +export const serializeAws_json1_0CancelQueryCommand = async ( + input: CancelQueryCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.CancelQuery", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0CancelQueryRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0DescribeEndpointsCommand = async ( + input: DescribeEndpointsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.DescribeEndpoints", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0DescribeEndpointsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0QueryCommand = async ( + input: QueryCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.Query", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0QueryRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const deserializeAws_json1_0CancelQueryCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0CancelQueryCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0CancelQueryResponse(data, context); + const response: CancelQueryCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0CancelQueryCommandError = 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.timestreamquery#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamquery#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamquery#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamquery#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamquery#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0DescribeEndpointsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0DescribeEndpointsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0DescribeEndpointsResponse(data, context); + const response: DescribeEndpointsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0DescribeEndpointsCommandError = 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 "InternalServerException": + case "com.amazonaws.timestreamquery#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamquery#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamquery#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0QueryCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0QueryCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0QueryResponse(data, context); + const response: QueryCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0QueryCommandError = 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.timestreamquery#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.timestreamquery#ConflictException": + response = { + ...(await deserializeAws_json1_0ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamquery#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamquery#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "QueryExecutionException": + case "com.amazonaws.timestreamquery#QueryExecutionException": + response = { + ...(await deserializeAws_json1_0QueryExecutionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamquery#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamquery#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_json1_0AccessDeniedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0AccessDeniedException(body, context); + const contents: AccessDeniedException = { + name: "AccessDeniedException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0ConflictException(body, context); + const contents: ConflictException = { + name: "ConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0InternalServerExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0InternalServerException(body, context); + const contents: InternalServerException = { + name: "InternalServerException", + $fault: "server", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0InvalidEndpointExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0InvalidEndpointException(body, context); + const contents: InvalidEndpointException = { + name: "InvalidEndpointException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0QueryExecutionExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0QueryExecutionException(body, context); + const contents: QueryExecutionException = { + name: "QueryExecutionException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0ThrottlingExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0ThrottlingException(body, context); + const contents: ThrottlingException = { + name: "ThrottlingException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0ValidationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0ValidationException(body, context); + const contents: ValidationException = { + name: "ValidationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const serializeAws_json1_0CancelQueryRequest = (input: CancelQueryRequest, context: __SerdeContext): any => { + return { + ...(input.QueryId !== undefined && { QueryId: input.QueryId }), + }; +}; + +const serializeAws_json1_0DescribeEndpointsRequest = ( + input: DescribeEndpointsRequest, + context: __SerdeContext +): any => { + return {}; +}; + +const serializeAws_json1_0QueryRequest = (input: QueryRequest, context: __SerdeContext): any => { + return { + ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.MaxRows !== undefined && { MaxRows: input.MaxRows }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.QueryString !== undefined && { QueryString: input.QueryString }), + }; +}; + +const deserializeAws_json1_0AccessDeniedException = (output: any, context: __SerdeContext): AccessDeniedException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0CancelQueryResponse = (output: any, context: __SerdeContext): CancelQueryResponse => { + return { + CancellationMessage: + output.CancellationMessage !== undefined && output.CancellationMessage !== null + ? output.CancellationMessage + : undefined, + } as any; +}; + +const deserializeAws_json1_0ColumnInfo = (output: any, context: __SerdeContext): ColumnInfo => { + return { + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Type: + output.Type !== undefined && output.Type !== null ? deserializeAws_json1_0Type(output.Type, context) : undefined, + } as any; +}; + +const deserializeAws_json1_0ColumnInfoList = (output: any, context: __SerdeContext): ColumnInfo[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0ColumnInfo(entry, context)); +}; + +const deserializeAws_json1_0ConflictException = (output: any, context: __SerdeContext): ConflictException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0Datum = (output: any, context: __SerdeContext): Datum => { + return { + ArrayValue: + output.ArrayValue !== undefined && output.ArrayValue !== null + ? deserializeAws_json1_0DatumList(output.ArrayValue, context) + : undefined, + NullValue: output.NullValue !== undefined && output.NullValue !== null ? output.NullValue : undefined, + RowValue: + output.RowValue !== undefined && output.RowValue !== null + ? deserializeAws_json1_0Row(output.RowValue, context) + : undefined, + ScalarValue: output.ScalarValue !== undefined && output.ScalarValue !== null ? output.ScalarValue : undefined, + TimeSeriesValue: + output.TimeSeriesValue !== undefined && output.TimeSeriesValue !== null + ? deserializeAws_json1_0TimeSeriesDataPointList(output.TimeSeriesValue, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0DatumList = (output: any, context: __SerdeContext): Datum[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0Datum(entry, context)); +}; + +const deserializeAws_json1_0DescribeEndpointsResponse = ( + output: any, + context: __SerdeContext +): DescribeEndpointsResponse => { + return { + Endpoints: + output.Endpoints !== undefined && output.Endpoints !== null + ? deserializeAws_json1_0Endpoints(output.Endpoints, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0Endpoint = (output: any, context: __SerdeContext): Endpoint => { + return { + Address: output.Address !== undefined && output.Address !== null ? output.Address : undefined, + CachePeriodInMinutes: + output.CachePeriodInMinutes !== undefined && output.CachePeriodInMinutes !== null + ? output.CachePeriodInMinutes + : undefined, + } as any; +}; + +const deserializeAws_json1_0Endpoints = (output: any, context: __SerdeContext): Endpoint[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0Endpoint(entry, context)); +}; + +const deserializeAws_json1_0InternalServerException = ( + output: any, + context: __SerdeContext +): InternalServerException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0InvalidEndpointException = ( + output: any, + context: __SerdeContext +): InvalidEndpointException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0QueryExecutionException = ( + output: any, + context: __SerdeContext +): QueryExecutionException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0QueryResponse = (output: any, context: __SerdeContext): QueryResponse => { + return { + ColumnInfo: + output.ColumnInfo !== undefined && output.ColumnInfo !== null + ? deserializeAws_json1_0ColumnInfoList(output.ColumnInfo, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + QueryId: output.QueryId !== undefined && output.QueryId !== null ? output.QueryId : undefined, + Rows: + output.Rows !== undefined && output.Rows !== null + ? deserializeAws_json1_0RowList(output.Rows, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0Row = (output: any, context: __SerdeContext): Row => { + return { + Data: + output.Data !== undefined && output.Data !== null + ? deserializeAws_json1_0DatumList(output.Data, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0RowList = (output: any, context: __SerdeContext): Row[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0Row(entry, context)); +}; + +const deserializeAws_json1_0ThrottlingException = (output: any, context: __SerdeContext): ThrottlingException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0TimeSeriesDataPoint = (output: any, context: __SerdeContext): TimeSeriesDataPoint => { + return { + Time: output.Time !== undefined && output.Time !== null ? output.Time : undefined, + Value: + output.Value !== undefined && output.Value !== null + ? deserializeAws_json1_0Datum(output.Value, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0TimeSeriesDataPointList = (output: any, context: __SerdeContext): TimeSeriesDataPoint[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0TimeSeriesDataPoint(entry, context)); +}; + +const deserializeAws_json1_0Type = (output: any, context: __SerdeContext): Type => { + return { + ArrayColumnInfo: + output.ArrayColumnInfo !== undefined && output.ArrayColumnInfo !== null + ? deserializeAws_json1_0ColumnInfo(output.ArrayColumnInfo, context) + : undefined, + RowColumnInfo: + output.RowColumnInfo !== undefined && output.RowColumnInfo !== null + ? deserializeAws_json1_0ColumnInfoList(output.RowColumnInfo, context) + : undefined, + ScalarType: output.ScalarType !== undefined && output.ScalarType !== null ? output.ScalarType : undefined, + TimeSeriesMeasureValueColumnInfo: + output.TimeSeriesMeasureValueColumnInfo !== undefined && output.TimeSeriesMeasureValueColumnInfo !== null + ? deserializeAws_json1_0ColumnInfo(output.TimeSeriesMeasureValueColumnInfo, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0ValidationException = (output: any, context: __SerdeContext): ValidationException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ + httpStatusCode: output.statusCode, + httpHeaders: output.headers, + requestId: output.headers["x-amzn-requestid"], +}); + +// Collect low-level response body stream to Uint8Array. +const collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => { + if (streamBody instanceof Uint8Array) { + return Promise.resolve(streamBody); + } + return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); +}; + +// Encode Uint8Array data into string with utf-8. +const collectBodyString = (streamBody: any, context: __SerdeContext): Promise => + collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); + +const buildHttpRpcRequest = async ( + context: __SerdeContext, + headers: __HeaderBag, + path: string, + resolvedHostname: string | undefined, + body: any +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port } = await context.endpoint(); + const contents: any = { + protocol, + hostname, + port, + method: "POST", + path, + headers, + }; + if (resolvedHostname !== undefined) { + contents.hostname = resolvedHostname; + } + if (body !== undefined) { + contents.body = body; + } + return new __HttpRequest(contents); +}; + +const parseBody = (streamBody: any, context: __SerdeContext): any => + collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); diff --git a/clients/client-timestream-query/runtimeConfig.browser.ts b/clients/client-timestream-query/runtimeConfig.browser.ts new file mode 100644 index 000000000000..2f1af12296ec --- /dev/null +++ b/clients/client-timestream-query/runtimeConfig.browser.ts @@ -0,0 +1,31 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-browser"; +import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler"; +import { invalidFunction } from "@aws-sdk/invalid-dependency"; +import { DEFAULT_MAX_ATTEMPTS } from "@aws-sdk/middleware-retry"; +import { parseUrl } from "@aws-sdk/url-parser-browser"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-browser"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser"; +import { ClientDefaults } from "./TimestreamQueryClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "browser", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider: invalidFunction("Credential is missing") as any, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: DEFAULT_MAX_ATTEMPTS, + region: invalidFunction("Region is missing") as any, + requestHandler: new FetchHttpHandler(), + sha256: Sha256, + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-timestream-query/runtimeConfig.native.ts b/clients/client-timestream-query/runtimeConfig.native.ts new file mode 100644 index 000000000000..fc90f9668aa8 --- /dev/null +++ b/clients/client-timestream-query/runtimeConfig.native.ts @@ -0,0 +1,14 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-js"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { ClientDefaults } from "./TimestreamQueryClient"; +import { ClientDefaultValues as BrowserDefaults } from "./runtimeConfig.browser"; + +export const ClientDefaultValues: Required = { + ...BrowserDefaults, + runtime: "react-native", + defaultUserAgent: `aws-sdk-js-v3-react-native-${packageInfo.name}/${packageInfo.version}`, + sha256: Sha256, + urlParser: parseUrl, +}; diff --git a/clients/client-timestream-query/runtimeConfig.shared.ts b/clients/client-timestream-query/runtimeConfig.shared.ts new file mode 100644 index 000000000000..11c8c9cb6a3c --- /dev/null +++ b/clients/client-timestream-query/runtimeConfig.shared.ts @@ -0,0 +1,10 @@ +import { defaultRegionInfoProvider } from "./endpoints"; +import { Logger as __Logger } from "@aws-sdk/types"; + +export const ClientSharedValues = { + apiVersion: "2018-11-01", + disableHostPrefix: false, + logger: {} as __Logger, + regionInfoProvider: defaultRegionInfoProvider, + signingName: "timestream", +}; diff --git a/clients/client-timestream-query/runtimeConfig.ts b/clients/client-timestream-query/runtimeConfig.ts new file mode 100644 index 000000000000..6e28c3389b25 --- /dev/null +++ b/clients/client-timestream-query/runtimeConfig.ts @@ -0,0 +1,33 @@ +import packageInfo from "./package.json"; + +import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@aws-sdk/config-resolver"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; +import { Hash } from "@aws-sdk/hash-node"; +import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry"; +import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider"; +import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-node"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node"; +import { ClientDefaults } from "./TimestreamQueryClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "node", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: new NodeHttpHandler(), + sha256: Hash.bind(null, "sha256"), + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-timestream-query/tsconfig.es.json b/clients/client-timestream-query/tsconfig.es.json new file mode 100644 index 000000000000..30df5d2e6986 --- /dev/null +++ b/clients/client-timestream-query/tsconfig.es.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "target": "es5", + "module": "esnext", + "moduleResolution": "node", + "declaration": false, + "declarationDir": null, + "lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], + "outDir": "dist/es" + } +} diff --git a/clients/client-timestream-query/tsconfig.json b/clients/client-timestream-query/tsconfig.json new file mode 100644 index 000000000000..3b440583a9a2 --- /dev/null +++ b/clients/client-timestream-query/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "alwaysStrict": true, + "target": "ES2018", + "module": "commonjs", + "declaration": true, + "strict": true, + "sourceMap": true, + "downlevelIteration": true, + "importHelpers": true, + "noEmitHelpers": true, + "incremental": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "declarationDir": "./types", + "outDir": "dist/cjs" + }, + "typedocOptions": { + "exclude": "**/node_modules/**", + "excludedNotExported": true, + "excludePrivate": true, + "hideGenerator": true, + "ignoreCompilerErrors": true, + "mode": "file", + "out": "./docs", + "plugin": "@aws-sdk/client-documentation-generator" + } +} diff --git a/clients/client-timestream-write/.gitignore b/clients/client-timestream-write/.gitignore new file mode 100644 index 000000000000..b41c05b597c4 --- /dev/null +++ b/clients/client-timestream-write/.gitignore @@ -0,0 +1,14 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/types/ +/dist/ +*.tsbuildinfo +*.tgz +*.log +package-lock.json + +*.d.ts +*.js +*.js.map diff --git a/clients/client-timestream-write/.npmignore b/clients/client-timestream-write/.npmignore new file mode 100644 index 000000000000..b7ff81137c4a --- /dev/null +++ b/clients/client-timestream-write/.npmignore @@ -0,0 +1,4 @@ +/coverage/ +/docs/ +tsconfig.test.json +*.tsbuildinfo diff --git a/clients/client-timestream-write/LICENSE b/clients/client-timestream-write/LICENSE new file mode 100644 index 000000000000..dd65ae06be7a --- /dev/null +++ b/clients/client-timestream-write/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-timestream-write/README.md b/clients/client-timestream-write/README.md new file mode 100644 index 000000000000..35dba8d9609d --- /dev/null +++ b/clients/client-timestream-write/README.md @@ -0,0 +1,6 @@ +@aws-sdk/client-timestream-write + +[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-timestream-write/beta.svg)](https://www.npmjs.com/package/@aws-sdk/client-timestream-write) +[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-timestream-write.svg)](https://www.npmjs.com/package/@aws-sdk/client-timestream-write) + +For SDK usage, please step to [SDK readme](https://github.com/aws/aws-sdk-js-v3). diff --git a/clients/client-timestream-write/TimestreamWrite.ts b/clients/client-timestream-write/TimestreamWrite.ts new file mode 100644 index 000000000000..6b1245a88745 --- /dev/null +++ b/clients/client-timestream-write/TimestreamWrite.ts @@ -0,0 +1,578 @@ +import { TimestreamWriteClient } from "./TimestreamWriteClient"; +import { + CreateDatabaseCommand, + CreateDatabaseCommandInput, + CreateDatabaseCommandOutput, +} from "./commands/CreateDatabaseCommand"; +import { CreateTableCommand, CreateTableCommandInput, CreateTableCommandOutput } from "./commands/CreateTableCommand"; +import { + DeleteDatabaseCommand, + DeleteDatabaseCommandInput, + DeleteDatabaseCommandOutput, +} from "./commands/DeleteDatabaseCommand"; +import { DeleteTableCommand, DeleteTableCommandInput, DeleteTableCommandOutput } from "./commands/DeleteTableCommand"; +import { + DescribeDatabaseCommand, + DescribeDatabaseCommandInput, + DescribeDatabaseCommandOutput, +} from "./commands/DescribeDatabaseCommand"; +import { + DescribeEndpointsCommand, + DescribeEndpointsCommandInput, + DescribeEndpointsCommandOutput, +} from "./commands/DescribeEndpointsCommand"; +import { + DescribeTableCommand, + DescribeTableCommandInput, + DescribeTableCommandOutput, +} from "./commands/DescribeTableCommand"; +import { + ListDatabasesCommand, + ListDatabasesCommandInput, + ListDatabasesCommandOutput, +} from "./commands/ListDatabasesCommand"; +import { ListTablesCommand, ListTablesCommandInput, ListTablesCommandOutput } from "./commands/ListTablesCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; +import { + UpdateDatabaseCommand, + UpdateDatabaseCommandInput, + UpdateDatabaseCommandOutput, +} from "./commands/UpdateDatabaseCommand"; +import { UpdateTableCommand, UpdateTableCommandInput, UpdateTableCommandOutput } from "./commands/UpdateTableCommand"; +import { + WriteRecordsCommand, + WriteRecordsCommandInput, + WriteRecordsCommandOutput, +} from "./commands/WriteRecordsCommand"; +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +/** + *

                                                                Amazon Timestream is a fast, scalable, fully managed time series database service that makes it easy to store and analyze trillions of time series data points per day. With Timestream, you can easily store and analyze IoT sensor data to derive insights from your IoT applications. You can analyze industrial telemetry to streamline equipment management and maintenance. You can also store and analyze log data and metrics to improve the performance and availability of your applications. Timestream is built from the ground up to effectively ingest, process, and store time series data. It organizes data to optimize query processing. It automatically scales based on the volume of data ingested and on the query volume to ensure you receive optimal performance while inserting and querying data. As your data grows over time, Timestream’s adaptive query processing engine spans across storage tiers to provide fast analysis while reducing costs.

                                                                + */ +export class TimestreamWrite extends TimestreamWriteClient { + /** + *

                                                                Creates a new Timestream database. If the KMS key is not specified, the database will be encrypted with a Timestream managed KMS key located in your account. + * Refer to AWS managed KMS keys for more info. + * Service quotas apply. For more information, see Access Management in the Timestream Developer Guide. + *

                                                                + */ + public createDatabase( + args: CreateDatabaseCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createDatabase( + args: CreateDatabaseCommandInput, + cb: (err: any, data?: CreateDatabaseCommandOutput) => void + ): void; + public createDatabase( + args: CreateDatabaseCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateDatabaseCommandOutput) => void + ): void; + public createDatabase( + args: CreateDatabaseCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateDatabaseCommandOutput) => void), + cb?: (err: any, data?: CreateDatabaseCommandOutput) => void + ): Promise | void { + const command = new CreateDatabaseCommand(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 CreateTable operation adds a new table to an existing database in your account. In an AWS account, + * table names must be at least unique within each Region if they are in the same database. + * You may have identical table names in the same Region if the tables are in seperate databases. + * While creating the table, you must specify the table name, database name, + * and the retention properties. + * Service quotas apply. For more information, see Access Management + * in the Timestream Developer Guide. + *

                                                                + */ + public createTable(args: CreateTableCommandInput, options?: __HttpHandlerOptions): Promise; + public createTable(args: CreateTableCommandInput, cb: (err: any, data?: CreateTableCommandOutput) => void): void; + public createTable( + args: CreateTableCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateTableCommandOutput) => void + ): void; + public createTable( + args: CreateTableCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateTableCommandOutput) => void), + cb?: (err: any, data?: CreateTableCommandOutput) => void + ): Promise | void { + const command = new CreateTableCommand(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 given Timestream database. This is an irreversible operation. + * After a database is deleted, the time series data from its tables cannot be recovered. + *

                                                                + * + *

                                                                All tables in the database must be deleted first, or a ValidationException error will be thrown. + *

                                                                + */ + public deleteDatabase( + args: DeleteDatabaseCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteDatabase( + args: DeleteDatabaseCommandInput, + cb: (err: any, data?: DeleteDatabaseCommandOutput) => void + ): void; + public deleteDatabase( + args: DeleteDatabaseCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteDatabaseCommandOutput) => void + ): void; + public deleteDatabase( + args: DeleteDatabaseCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteDatabaseCommandOutput) => void), + cb?: (err: any, data?: DeleteDatabaseCommandOutput) => void + ): Promise | void { + const command = new DeleteDatabaseCommand(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 given Timestream table. This is an irreversible operation. + * After a Timestream database table is deleted, the time series data stored in + * the table cannot be recovered. + *

                                                                + */ + public deleteTable(args: DeleteTableCommandInput, options?: __HttpHandlerOptions): Promise; + public deleteTable(args: DeleteTableCommandInput, cb: (err: any, data?: DeleteTableCommandOutput) => void): void; + public deleteTable( + args: DeleteTableCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteTableCommandOutput) => void + ): void; + public deleteTable( + args: DeleteTableCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteTableCommandOutput) => void), + cb?: (err: any, data?: DeleteTableCommandOutput) => void + ): Promise | void { + const command = new DeleteTableCommand(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 information about the database, including the database name, time that the database was created, + * and the total number of tables found within the database. + * Service quotas apply. For more information, see Access Management in the Timestream Developer Guide.

                                                                + */ + public describeDatabase( + args: DescribeDatabaseCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeDatabase( + args: DescribeDatabaseCommandInput, + cb: (err: any, data?: DescribeDatabaseCommandOutput) => void + ): void; + public describeDatabase( + args: DescribeDatabaseCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeDatabaseCommandOutput) => void + ): void; + public describeDatabase( + args: DescribeDatabaseCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeDatabaseCommandOutput) => void), + cb?: (err: any, data?: DescribeDatabaseCommandOutput) => void + ): Promise | void { + const command = new DescribeDatabaseCommand(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); + } + } + + /** + *

                                                                DescribeEndpoints returns a list of available endpoints to make Timestream API calls against. This API is available through both Write and Query.

                                                                + *

                                                                Because Timestream’s SDKs are designed to transparently work with the service’s architecture, + * including the management and mapping of the service endpoints, + * it is not recommended that you use this API unless:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  Your application uses a programming language that does not yet have SDK support

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  You require better control over the client-side implementation

                                                                  + *
                                                                • + *
                                                                + *

                                                                For detailed information on how to use DescribeEndpoints, + * see The Endpoint Discovery Pattern and REST APIs.

                                                                + */ + public describeEndpoints( + args: DescribeEndpointsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeEndpoints( + args: DescribeEndpointsCommandInput, + cb: (err: any, data?: DescribeEndpointsCommandOutput) => void + ): void; + public describeEndpoints( + args: DescribeEndpointsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeEndpointsCommandOutput) => void + ): void; + public describeEndpoints( + args: DescribeEndpointsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeEndpointsCommandOutput) => void), + cb?: (err: any, data?: DescribeEndpointsCommandOutput) => void + ): Promise | void { + const command = new DescribeEndpointsCommand(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 information about the table, including the table name, database name, + * retention duration of the memory store and the magnetic store. + * Service quotas apply. For more information, see Access Management in the Timestream Developer Guide. + *

                                                                + */ + public describeTable( + args: DescribeTableCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeTable( + args: DescribeTableCommandInput, + cb: (err: any, data?: DescribeTableCommandOutput) => void + ): void; + public describeTable( + args: DescribeTableCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeTableCommandOutput) => void + ): void; + public describeTable( + args: DescribeTableCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeTableCommandOutput) => void), + cb?: (err: any, data?: DescribeTableCommandOutput) => void + ): Promise | void { + const command = new DescribeTableCommand(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 your Timestream databases. + * Service quotas apply. For more information, see Access Management in the Timestream Developer Guide. + *

                                                                + */ + public listDatabases( + args: ListDatabasesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listDatabases( + args: ListDatabasesCommandInput, + cb: (err: any, data?: ListDatabasesCommandOutput) => void + ): void; + public listDatabases( + args: ListDatabasesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListDatabasesCommandOutput) => void + ): void; + public listDatabases( + args: ListDatabasesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListDatabasesCommandOutput) => void), + cb?: (err: any, data?: ListDatabasesCommandOutput) => void + ): Promise | void { + const command = new ListDatabasesCommand(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); + } + } + + /** + *

                                                                A list of tables, along with the name, status and retention properties of each table. + *

                                                                + */ + public listTables(args: ListTablesCommandInput, options?: __HttpHandlerOptions): Promise; + public listTables(args: ListTablesCommandInput, cb: (err: any, data?: ListTablesCommandOutput) => void): void; + public listTables( + args: ListTablesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListTablesCommandOutput) => void + ): void; + public listTables( + args: ListTablesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListTablesCommandOutput) => void), + cb?: (err: any, data?: ListTablesCommandOutput) => void + ): Promise | void { + const command = new ListTablesCommand(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 tags on a Timestream 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); + } + } + + /** + *

                                                                + * Associate a set of tags with a Timestream resource. You can then activate + * these user-defined tags so that they appear on the Billing and Cost + * Management console for cost allocation tracking. + *

                                                                + */ + 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 the association of tags from a Timestream resource. + *

                                                                + */ + 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); + } + } + + /** + *

                                                                + * Modifies the KMS key for an existing database. While updating the database, + * you must specify the database name and the identifier of the new KMS key to be used (KmsKeyId). + * If there are any concurrent UpdateDatabase requests, first writer wins. + *

                                                                + */ + public updateDatabase( + args: UpdateDatabaseCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateDatabase( + args: UpdateDatabaseCommandInput, + cb: (err: any, data?: UpdateDatabaseCommandOutput) => void + ): void; + public updateDatabase( + args: UpdateDatabaseCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateDatabaseCommandOutput) => void + ): void; + public updateDatabase( + args: UpdateDatabaseCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateDatabaseCommandOutput) => void), + cb?: (err: any, data?: UpdateDatabaseCommandOutput) => void + ): Promise | void { + const command = new UpdateDatabaseCommand(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 the retention duration of the memory store and magnetic store for your Timestream table. + * Note that the change in retention duration takes effect immediately. + * For example, if the retention period of the memory store was initially set to 2 hours and then changed to 24 hours, + * the memory store will be capable of holding 24 hours of data, but will + * be populated with 24 hours of data 22 hours after this change was made. + * Timestream does not retrieve data from the magnetic store to populate the memory store.

                                                                + *

                                                                Service quotas apply. For more information, see Access Management in the Timestream Developer Guide.

                                                                + */ + public updateTable(args: UpdateTableCommandInput, options?: __HttpHandlerOptions): Promise; + public updateTable(args: UpdateTableCommandInput, cb: (err: any, data?: UpdateTableCommandOutput) => void): void; + public updateTable( + args: UpdateTableCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateTableCommandOutput) => void + ): void; + public updateTable( + args: UpdateTableCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateTableCommandOutput) => void), + cb?: (err: any, data?: UpdateTableCommandOutput) => void + ): Promise | void { + const command = new UpdateTableCommand(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 WriteRecords operation enables you to write your time series + * data into Timestream. You can specify a single data point or a batch + * of data points to be inserted into the system. Timestream offers you + * with a flexible schema that auto detects the column names and data types + * for your Timestream tables based on the dimension names and data types of + * the data points you specify when invoking writes into the database. + * Timestream support eventual consistency read semantics. This means that + * when you query data immediately after writing a batch of data into Timestream, + * the query results might not reflect the results of a recently completed write + * operation. The results may also include some stale data. If you repeat the + * query request after a short time, the results should return the latest data. + * Service quotas apply. For more information, see Access Management in the Timestream Developer Guide. + *

                                                                + */ + public writeRecords( + args: WriteRecordsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public writeRecords(args: WriteRecordsCommandInput, cb: (err: any, data?: WriteRecordsCommandOutput) => void): void; + public writeRecords( + args: WriteRecordsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: WriteRecordsCommandOutput) => void + ): void; + public writeRecords( + args: WriteRecordsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: WriteRecordsCommandOutput) => void), + cb?: (err: any, data?: WriteRecordsCommandOutput) => void + ): Promise | void { + const command = new WriteRecordsCommand(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-timestream-write/TimestreamWriteClient.ts b/clients/client-timestream-write/TimestreamWriteClient.ts new file mode 100644 index 000000000000..575573a3149c --- /dev/null +++ b/clients/client-timestream-write/TimestreamWriteClient.ts @@ -0,0 +1,249 @@ +import { CreateDatabaseCommandInput, CreateDatabaseCommandOutput } from "./commands/CreateDatabaseCommand"; +import { CreateTableCommandInput, CreateTableCommandOutput } from "./commands/CreateTableCommand"; +import { DeleteDatabaseCommandInput, DeleteDatabaseCommandOutput } from "./commands/DeleteDatabaseCommand"; +import { DeleteTableCommandInput, DeleteTableCommandOutput } from "./commands/DeleteTableCommand"; +import { DescribeDatabaseCommandInput, DescribeDatabaseCommandOutput } from "./commands/DescribeDatabaseCommand"; +import { DescribeEndpointsCommandInput, DescribeEndpointsCommandOutput } from "./commands/DescribeEndpointsCommand"; +import { DescribeTableCommandInput, DescribeTableCommandOutput } from "./commands/DescribeTableCommand"; +import { ListDatabasesCommandInput, ListDatabasesCommandOutput } from "./commands/ListDatabasesCommand"; +import { ListTablesCommandInput, ListTablesCommandOutput } from "./commands/ListTablesCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { UpdateDatabaseCommandInput, UpdateDatabaseCommandOutput } from "./commands/UpdateDatabaseCommand"; +import { UpdateTableCommandInput, UpdateTableCommandOutput } from "./commands/UpdateTableCommand"; +import { WriteRecordsCommandInput, WriteRecordsCommandOutput } from "./commands/WriteRecordsCommand"; +import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; +import { + EndpointsInputConfig, + EndpointsResolvedConfig, + RegionInputConfig, + RegionResolvedConfig, + resolveEndpointsConfig, + resolveRegionConfig, +} from "@aws-sdk/config-resolver"; +import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length"; +import { + HostHeaderInputConfig, + HostHeaderResolvedConfig, + getHostHeaderPlugin, + resolveHostHeaderConfig, +} from "@aws-sdk/middleware-host-header"; +import { getLoggerPlugin } from "@aws-sdk/middleware-logger"; +import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry"; +import { + AwsAuthInputConfig, + AwsAuthResolvedConfig, + getAwsAuthPlugin, + resolveAwsAuthConfig, +} from "@aws-sdk/middleware-signing"; +import { + UserAgentInputConfig, + UserAgentResolvedConfig, + getUserAgentPlugin, + resolveUserAgentConfig, +} from "@aws-sdk/middleware-user-agent"; +import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http"; +import { + Client as __Client, + SmithyConfiguration as __SmithyConfiguration, + SmithyResolvedConfiguration as __SmithyResolvedConfiguration, +} from "@aws-sdk/smithy-client"; +import { + RegionInfoProvider, + Credentials as __Credentials, + Decoder as __Decoder, + Encoder as __Encoder, + HashConstructor as __HashConstructor, + HttpHandlerOptions as __HttpHandlerOptions, + Logger as __Logger, + Provider as __Provider, + StreamCollector as __StreamCollector, + UrlParser as __UrlParser, +} from "@aws-sdk/types"; + +export type ServiceInputTypes = + | CreateDatabaseCommandInput + | CreateTableCommandInput + | DeleteDatabaseCommandInput + | DeleteTableCommandInput + | DescribeDatabaseCommandInput + | DescribeEndpointsCommandInput + | DescribeTableCommandInput + | ListDatabasesCommandInput + | ListTablesCommandInput + | ListTagsForResourceCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput + | UpdateDatabaseCommandInput + | UpdateTableCommandInput + | WriteRecordsCommandInput; + +export type ServiceOutputTypes = + | CreateDatabaseCommandOutput + | CreateTableCommandOutput + | DeleteDatabaseCommandOutput + | DeleteTableCommandOutput + | DescribeDatabaseCommandOutput + | DescribeEndpointsCommandOutput + | DescribeTableCommandOutput + | ListDatabasesCommandOutput + | ListTablesCommandOutput + | ListTagsForResourceCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput + | UpdateDatabaseCommandOutput + | UpdateTableCommandOutput + | WriteRecordsCommandOutput; + +export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { + /** + * The HTTP handler to use. Fetch in browser and Https in Nodejs. + */ + requestHandler?: __HttpHandler; + + /** + * A constructor for a class implementing the @aws-sdk/types.Hash interface + * that computes the SHA-256 HMAC or checksum of a string or binary buffer. + */ + sha256?: __HashConstructor; + + /** + * The function that will be used to convert strings into HTTP endpoints. + */ + urlParser?: __UrlParser; + + /** + * A function that can calculate the length of a request body. + */ + bodyLengthChecker?: (body: any) => number | undefined; + + /** + * A function that converts a stream into an array of bytes. + */ + streamCollector?: __StreamCollector; + + /** + * The function that will be used to convert a base64-encoded string to a byte array + */ + base64Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a base64-encoded string + */ + base64Encoder?: __Encoder; + + /** + * The function that will be used to convert a UTF8-encoded string to a byte array + */ + utf8Decoder?: __Decoder; + + /** + * The function that will be used to convert binary data to a UTF-8 encoded string + */ + utf8Encoder?: __Encoder; + + /** + * The string that will be used to populate default value in 'User-Agent' header + */ + defaultUserAgent?: string; + + /** + * The runtime environment + */ + runtime?: string; + + /** + * Disable dyanamically changing the endpoint of the client based on the hostPrefix + * trait of an operation. + */ + disableHostPrefix?: boolean; + + /** + * The service name with which to sign requests. + */ + signingName?: string; + + /** + * Default credentials provider; Not available in browser runtime + */ + credentialDefaultProvider?: (input: any) => __Provider<__Credentials>; + + /** + * The AWS region to which this client will send requests + */ + region?: string | __Provider; + + /** + * Value for how many times a request will be made at most in case of retry. + */ + maxAttempts?: number | __Provider; + + /** + * Optional logger for logging debug/info/warn/error. + */ + logger?: __Logger; + + /** + * Fetch related hostname, signing name or signing region with given region. + */ + regionInfoProvider?: RegionInfoProvider; +} + +export type TimestreamWriteClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & + ClientDefaults & + RegionInputConfig & + EndpointsInputConfig & + AwsAuthInputConfig & + RetryInputConfig & + UserAgentInputConfig & + HostHeaderInputConfig; + +export type TimestreamWriteClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> & + Required & + RegionResolvedConfig & + EndpointsResolvedConfig & + AwsAuthResolvedConfig & + RetryResolvedConfig & + UserAgentResolvedConfig & + HostHeaderResolvedConfig; + +/** + *

                                                                Amazon Timestream is a fast, scalable, fully managed time series database service that makes it easy to store and analyze trillions of time series data points per day. With Timestream, you can easily store and analyze IoT sensor data to derive insights from your IoT applications. You can analyze industrial telemetry to streamline equipment management and maintenance. You can also store and analyze log data and metrics to improve the performance and availability of your applications. Timestream is built from the ground up to effectively ingest, process, and store time series data. It organizes data to optimize query processing. It automatically scales based on the volume of data ingested and on the query volume to ensure you receive optimal performance while inserting and querying data. As your data grows over time, Timestream’s adaptive query processing engine spans across storage tiers to provide fast analysis while reducing costs.

                                                                + */ +export class TimestreamWriteClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + TimestreamWriteClientResolvedConfig +> { + readonly config: TimestreamWriteClientResolvedConfig; + + constructor(configuration: TimestreamWriteClientConfig) { + let _config_0 = { + ...__ClientDefaultValues, + ...configuration, + }; + let _config_1 = resolveRegionConfig(_config_0); + let _config_2 = resolveEndpointsConfig(_config_1); + let _config_3 = resolveAwsAuthConfig(_config_2); + let _config_4 = resolveRetryConfig(_config_3); + let _config_5 = resolveUserAgentConfig(_config_4); + let _config_6 = resolveHostHeaderConfig(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use(getAwsAuthPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + } + + destroy(): void { + super.destroy(); + } +} diff --git a/clients/client-timestream-write/commands/CreateDatabaseCommand.ts b/clients/client-timestream-write/commands/CreateDatabaseCommand.ts new file mode 100644 index 000000000000..9d1974785a9c --- /dev/null +++ b/clients/client-timestream-write/commands/CreateDatabaseCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { CreateDatabaseRequest, CreateDatabaseResponse } from "../models/models_0"; +import { + deserializeAws_json1_0CreateDatabaseCommand, + serializeAws_json1_0CreateDatabaseCommand, +} from "../protocols/Aws_json1_0"; +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 CreateDatabaseCommandInput = CreateDatabaseRequest; +export type CreateDatabaseCommandOutput = CreateDatabaseResponse & __MetadataBearer; + +export class CreateDatabaseCommand extends $Command< + CreateDatabaseCommandInput, + CreateDatabaseCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateDatabaseCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateDatabaseRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateDatabaseResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateDatabaseCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0CreateDatabaseCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0CreateDatabaseCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/CreateTableCommand.ts b/clients/client-timestream-write/commands/CreateTableCommand.ts new file mode 100644 index 000000000000..ed1e13506072 --- /dev/null +++ b/clients/client-timestream-write/commands/CreateTableCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { CreateTableRequest, CreateTableResponse } from "../models/models_0"; +import { + deserializeAws_json1_0CreateTableCommand, + serializeAws_json1_0CreateTableCommand, +} from "../protocols/Aws_json1_0"; +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 CreateTableCommandInput = CreateTableRequest; +export type CreateTableCommandOutput = CreateTableResponse & __MetadataBearer; + +export class CreateTableCommand extends $Command< + CreateTableCommandInput, + CreateTableCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateTableCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateTableRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateTableResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateTableCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0CreateTableCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0CreateTableCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/DeleteDatabaseCommand.ts b/clients/client-timestream-write/commands/DeleteDatabaseCommand.ts new file mode 100644 index 000000000000..f08f4243d453 --- /dev/null +++ b/clients/client-timestream-write/commands/DeleteDatabaseCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { DeleteDatabaseRequest } from "../models/models_0"; +import { + deserializeAws_json1_0DeleteDatabaseCommand, + serializeAws_json1_0DeleteDatabaseCommand, +} from "../protocols/Aws_json1_0"; +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 DeleteDatabaseCommandInput = DeleteDatabaseRequest; +export type DeleteDatabaseCommandOutput = __MetadataBearer; + +export class DeleteDatabaseCommand extends $Command< + DeleteDatabaseCommandInput, + DeleteDatabaseCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteDatabaseCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteDatabaseRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteDatabaseCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0DeleteDatabaseCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0DeleteDatabaseCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/DeleteTableCommand.ts b/clients/client-timestream-write/commands/DeleteTableCommand.ts new file mode 100644 index 000000000000..18019dd612de --- /dev/null +++ b/clients/client-timestream-write/commands/DeleteTableCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { DeleteTableRequest } from "../models/models_0"; +import { + deserializeAws_json1_0DeleteTableCommand, + serializeAws_json1_0DeleteTableCommand, +} from "../protocols/Aws_json1_0"; +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 DeleteTableCommandInput = DeleteTableRequest; +export type DeleteTableCommandOutput = __MetadataBearer; + +export class DeleteTableCommand extends $Command< + DeleteTableCommandInput, + DeleteTableCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteTableCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteTableRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteTableCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0DeleteTableCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0DeleteTableCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/DescribeDatabaseCommand.ts b/clients/client-timestream-write/commands/DescribeDatabaseCommand.ts new file mode 100644 index 000000000000..08d70ea6ff06 --- /dev/null +++ b/clients/client-timestream-write/commands/DescribeDatabaseCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { DescribeDatabaseRequest, DescribeDatabaseResponse } from "../models/models_0"; +import { + deserializeAws_json1_0DescribeDatabaseCommand, + serializeAws_json1_0DescribeDatabaseCommand, +} from "../protocols/Aws_json1_0"; +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 DescribeDatabaseCommandInput = DescribeDatabaseRequest; +export type DescribeDatabaseCommandOutput = DescribeDatabaseResponse & __MetadataBearer; + +export class DescribeDatabaseCommand extends $Command< + DescribeDatabaseCommandInput, + DescribeDatabaseCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeDatabaseCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeDatabaseRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeDatabaseResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeDatabaseCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0DescribeDatabaseCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0DescribeDatabaseCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/DescribeEndpointsCommand.ts b/clients/client-timestream-write/commands/DescribeEndpointsCommand.ts new file mode 100644 index 000000000000..9862935656bc --- /dev/null +++ b/clients/client-timestream-write/commands/DescribeEndpointsCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { DescribeEndpointsRequest, DescribeEndpointsResponse } from "../models/models_0"; +import { + deserializeAws_json1_0DescribeEndpointsCommand, + serializeAws_json1_0DescribeEndpointsCommand, +} from "../protocols/Aws_json1_0"; +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 DescribeEndpointsCommandInput = DescribeEndpointsRequest; +export type DescribeEndpointsCommandOutput = DescribeEndpointsResponse & __MetadataBearer; + +export class DescribeEndpointsCommand extends $Command< + DescribeEndpointsCommandInput, + DescribeEndpointsCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeEndpointsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeEndpointsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeEndpointsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeEndpointsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0DescribeEndpointsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0DescribeEndpointsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/DescribeTableCommand.ts b/clients/client-timestream-write/commands/DescribeTableCommand.ts new file mode 100644 index 000000000000..676cf083f44c --- /dev/null +++ b/clients/client-timestream-write/commands/DescribeTableCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { DescribeTableRequest, DescribeTableResponse } from "../models/models_0"; +import { + deserializeAws_json1_0DescribeTableCommand, + serializeAws_json1_0DescribeTableCommand, +} from "../protocols/Aws_json1_0"; +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 DescribeTableCommandInput = DescribeTableRequest; +export type DescribeTableCommandOutput = DescribeTableResponse & __MetadataBearer; + +export class DescribeTableCommand extends $Command< + DescribeTableCommandInput, + DescribeTableCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeTableCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeTableRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeTableResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeTableCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0DescribeTableCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0DescribeTableCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/ListDatabasesCommand.ts b/clients/client-timestream-write/commands/ListDatabasesCommand.ts new file mode 100644 index 000000000000..3e0ea8a56eeb --- /dev/null +++ b/clients/client-timestream-write/commands/ListDatabasesCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { ListDatabasesRequest, ListDatabasesResponse } from "../models/models_0"; +import { + deserializeAws_json1_0ListDatabasesCommand, + serializeAws_json1_0ListDatabasesCommand, +} from "../protocols/Aws_json1_0"; +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 ListDatabasesCommandInput = ListDatabasesRequest; +export type ListDatabasesCommandOutput = ListDatabasesResponse & __MetadataBearer; + +export class ListDatabasesCommand extends $Command< + ListDatabasesCommandInput, + ListDatabasesCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListDatabasesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListDatabasesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListDatabasesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListDatabasesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0ListDatabasesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0ListDatabasesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/ListTablesCommand.ts b/clients/client-timestream-write/commands/ListTablesCommand.ts new file mode 100644 index 000000000000..001ecfbc3b59 --- /dev/null +++ b/clients/client-timestream-write/commands/ListTablesCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { ListTablesRequest, ListTablesResponse } from "../models/models_0"; +import { + deserializeAws_json1_0ListTablesCommand, + serializeAws_json1_0ListTablesCommand, +} from "../protocols/Aws_json1_0"; +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 ListTablesCommandInput = ListTablesRequest; +export type ListTablesCommandOutput = ListTablesResponse & __MetadataBearer; + +export class ListTablesCommand extends $Command< + ListTablesCommandInput, + ListTablesCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListTablesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListTablesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTablesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListTablesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0ListTablesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0ListTablesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/ListTagsForResourceCommand.ts b/clients/client-timestream-write/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..18a4beb77a7b --- /dev/null +++ b/clients/client-timestream-write/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_0ListTagsForResourceCommand, + serializeAws_json1_0ListTagsForResourceCommand, +} from "../protocols/Aws_json1_0"; +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, + TimestreamWriteClientResolvedConfig +> { + // 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: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListTagsForResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsForResourceResponse.filterSensitiveLog, + }; + 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_json1_0ListTagsForResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0ListTagsForResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/TagResourceCommand.ts b/clients/client-timestream-write/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..7d7987213924 --- /dev/null +++ b/clients/client-timestream-write/commands/TagResourceCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { TagResourceRequest, TagResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_0TagResourceCommand, + serializeAws_json1_0TagResourceCommand, +} from "../protocols/Aws_json1_0"; +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, + TimestreamWriteClientResolvedConfig +> { + // 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: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: TagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: TagResourceResponse.filterSensitiveLog, + }; + 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_json1_0TagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0TagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/UntagResourceCommand.ts b/clients/client-timestream-write/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..f9b95bdbd2fa --- /dev/null +++ b/clients/client-timestream-write/commands/UntagResourceCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_0UntagResourceCommand, + serializeAws_json1_0UntagResourceCommand, +} from "../protocols/Aws_json1_0"; +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, + TimestreamWriteClientResolvedConfig +> { + // 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: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UntagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: UntagResourceResponse.filterSensitiveLog, + }; + 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_json1_0UntagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0UntagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/UpdateDatabaseCommand.ts b/clients/client-timestream-write/commands/UpdateDatabaseCommand.ts new file mode 100644 index 000000000000..4a33a5f6a660 --- /dev/null +++ b/clients/client-timestream-write/commands/UpdateDatabaseCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { UpdateDatabaseRequest, UpdateDatabaseResponse } from "../models/models_0"; +import { + deserializeAws_json1_0UpdateDatabaseCommand, + serializeAws_json1_0UpdateDatabaseCommand, +} from "../protocols/Aws_json1_0"; +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 UpdateDatabaseCommandInput = UpdateDatabaseRequest; +export type UpdateDatabaseCommandOutput = UpdateDatabaseResponse & __MetadataBearer; + +export class UpdateDatabaseCommand extends $Command< + UpdateDatabaseCommandInput, + UpdateDatabaseCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateDatabaseCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateDatabaseRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateDatabaseResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateDatabaseCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0UpdateDatabaseCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0UpdateDatabaseCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/UpdateTableCommand.ts b/clients/client-timestream-write/commands/UpdateTableCommand.ts new file mode 100644 index 000000000000..23b2295b97d1 --- /dev/null +++ b/clients/client-timestream-write/commands/UpdateTableCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { UpdateTableRequest, UpdateTableResponse } from "../models/models_0"; +import { + deserializeAws_json1_0UpdateTableCommand, + serializeAws_json1_0UpdateTableCommand, +} from "../protocols/Aws_json1_0"; +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 UpdateTableCommandInput = UpdateTableRequest; +export type UpdateTableCommandOutput = UpdateTableResponse & __MetadataBearer; + +export class UpdateTableCommand extends $Command< + UpdateTableCommandInput, + UpdateTableCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateTableCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateTableRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateTableResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateTableCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0UpdateTableCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0UpdateTableCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/commands/WriteRecordsCommand.ts b/clients/client-timestream-write/commands/WriteRecordsCommand.ts new file mode 100644 index 000000000000..35c1f30a6447 --- /dev/null +++ b/clients/client-timestream-write/commands/WriteRecordsCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient"; +import { WriteRecordsRequest } from "../models/models_0"; +import { + deserializeAws_json1_0WriteRecordsCommand, + serializeAws_json1_0WriteRecordsCommand, +} from "../protocols/Aws_json1_0"; +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 WriteRecordsCommandInput = WriteRecordsRequest; +export type WriteRecordsCommandOutput = __MetadataBearer; + +export class WriteRecordsCommand extends $Command< + WriteRecordsCommandInput, + WriteRecordsCommandOutput, + TimestreamWriteClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: WriteRecordsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TimestreamWriteClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: WriteRecordsRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: WriteRecordsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_0WriteRecordsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_0WriteRecordsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-timestream-write/endpoints.ts b/clients/client-timestream-write/endpoints.ts new file mode 100644 index 000000000000..d984f8258aee --- /dev/null +++ b/clients/client-timestream-write/endpoints.ts @@ -0,0 +1,81 @@ +import { RegionInfo, RegionInfoProvider } from "@aws-sdk/types"; + +// Partition default templates +const AWS_TEMPLATE = "timestream.{region}.amazonaws.com"; +const AWS_CN_TEMPLATE = "timestream.{region}.amazonaws.com.cn"; +const AWS_ISO_TEMPLATE = "timestream.{region}.c2s.ic.gov"; +const AWS_ISO_B_TEMPLATE = "timestream.{region}.sc2s.sgov.gov"; +const AWS_US_GOV_TEMPLATE = "timestream.{region}.amazonaws.com"; + +// Partition regions +const AWS_REGIONS = new Set([ + "ap-east-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-west-1", + "eu-west-2", + "eu-west-3", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2", +]); +const AWS_CN_REGIONS = new Set(["cn-north-1", "cn-northwest-1"]); +const AWS_ISO_REGIONS = new Set(["us-iso-east-1"]); +const AWS_ISO_B_REGIONS = new Set(["us-isob-east-1"]); +const AWS_US_GOV_REGIONS = new Set(["us-gov-east-1", "us-gov-west-1"]); + +export const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => { + let regionInfo: RegionInfo | undefined = undefined; + switch (region) { + // First, try to match exact region names. + // Next, try to match partition endpoints. + default: + if (AWS_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + if (AWS_CN_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_CN_TEMPLATE.replace("{region}", region), + partition: "aws-cn", + }; + } + if (AWS_ISO_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_TEMPLATE.replace("{region}", region), + partition: "aws-iso", + }; + } + if (AWS_ISO_B_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_ISO_B_TEMPLATE.replace("{region}", region), + partition: "aws-iso-b", + }; + } + if (AWS_US_GOV_REGIONS.has(region)) { + regionInfo = { + hostname: AWS_US_GOV_TEMPLATE.replace("{region}", region), + partition: "aws-us-gov", + }; + } + // Finally, assume it's an AWS partition endpoint. + if (regionInfo === undefined) { + regionInfo = { + hostname: AWS_TEMPLATE.replace("{region}", region), + partition: "aws", + }; + } + } + return Promise.resolve(regionInfo); +}; diff --git a/clients/client-timestream-write/index.ts b/clients/client-timestream-write/index.ts new file mode 100644 index 000000000000..053a8a6b46bd --- /dev/null +++ b/clients/client-timestream-write/index.ts @@ -0,0 +1,21 @@ +export * from "./TimestreamWriteClient"; +export * from "./TimestreamWrite"; +export * from "./commands/CreateDatabaseCommand"; +export * from "./commands/CreateTableCommand"; +export * from "./commands/DeleteDatabaseCommand"; +export * from "./commands/DeleteTableCommand"; +export * from "./commands/DescribeDatabaseCommand"; +export * from "./commands/DescribeEndpointsCommand"; +export * from "./commands/DescribeTableCommand"; +export * from "./commands/ListDatabasesCommand"; +export * from "./pagination/ListDatabasesPaginator"; +export * from "./commands/ListTablesCommand"; +export * from "./pagination/ListTablesPaginator"; +export * from "./commands/ListTagsForResourceCommand"; +export * from "./commands/TagResourceCommand"; +export * from "./commands/UntagResourceCommand"; +export * from "./commands/UpdateDatabaseCommand"; +export * from "./commands/UpdateTableCommand"; +export * from "./commands/WriteRecordsCommand"; +export * from "./pagination/Interfaces"; +export * from "./models/index"; diff --git a/clients/client-timestream-write/models/index.ts b/clients/client-timestream-write/models/index.ts new file mode 100644 index 000000000000..09c5d6e09b8c --- /dev/null +++ b/clients/client-timestream-write/models/index.ts @@ -0,0 +1 @@ +export * from "./models_0"; diff --git a/clients/client-timestream-write/models/models_0.ts b/clients/client-timestream-write/models/models_0.ts new file mode 100644 index 000000000000..225e521cb579 --- /dev/null +++ b/clients/client-timestream-write/models/models_0.ts @@ -0,0 +1,985 @@ +import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; + +/** + *

                                                                You are not authorized to perform this action.

                                                                + */ +export interface AccessDeniedException extends __SmithyException, $MetadataBearer { + name: "AccessDeniedException"; + $fault: "client"; + Message: string | undefined; +} + +export namespace AccessDeniedException { + export const filterSensitiveLog = (obj: AccessDeniedException): any => ({ + ...obj, + }); +} + +/** + *

                                                                Timestream was unable to process this request because it contains resource that already exists.

                                                                + */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + Message: string | undefined; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +/** + *

                                                                + * A tag is a label that you assign to a Timestream database and/or table. Each tag consists + * of a key and an optional value, both of which you define. Tags enable you to + * categorize databases and/or tables, for example, by purpose, owner, or environment. + *

                                                                + */ +export interface Tag { + /** + *

                                                                + * The value of the tag. Tag values are case-sensitive and can be null. + *

                                                                + */ + Value: string | undefined; + + /** + *

                                                                + * The key of the tag. Tag keys are case sensitive. + *

                                                                + */ + Key: string | undefined; +} + +export namespace Tag { + export const filterSensitiveLog = (obj: Tag): any => ({ + ...obj, + }); +} + +export interface CreateDatabaseRequest { + /** + *

                                                                + * A list of key-value pairs to label the table. + *

                                                                + */ + Tags?: Tag[]; + + /** + *

                                                                The KMS key for the database. If the KMS key is not specified, the database will be encrypted with a Timestream + * managed KMS key located in your account. Refer to AWS managed KMS keys for more info.

                                                                + */ + KmsKeyId?: string; + + /** + *

                                                                The name of the Timestream database.

                                                                + */ + DatabaseName: string | undefined; +} + +export namespace CreateDatabaseRequest { + export const filterSensitiveLog = (obj: CreateDatabaseRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                A top level container for a table. Databases and tables are the + * fundamental management concepts in Amazon Timestream. All tables in a + * database are encrypted with the same KMS key.

                                                                + */ +export interface Database { + /** + *

                                                                The name of the Timestream database.

                                                                + */ + DatabaseName?: string; + + /** + *

                                                                The total number of tables found within a Timestream database.

                                                                + */ + TableCount?: number; + + /** + *

                                                                The time when the database was created, calculated from the Unix epoch time.

                                                                + */ + CreationTime?: Date; + + /** + *

                                                                The identifier of the KMS key used to encrypt the data stored in the database.

                                                                + */ + KmsKeyId?: string; + + /** + *

                                                                The Amazon Resource Name that uniquely identifies this database.

                                                                + */ + Arn?: string; + + /** + *

                                                                + * The last time that this database was updated. + *

                                                                + */ + LastUpdatedTime?: Date; +} + +export namespace Database { + export const filterSensitiveLog = (obj: Database): any => ({ + ...obj, + }); +} + +export interface CreateDatabaseResponse { + /** + *

                                                                The newly created Timestream database.

                                                                + */ + Database?: Database; +} + +export namespace CreateDatabaseResponse { + export const filterSensitiveLog = (obj: CreateDatabaseResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                Timestream was unable to fully process this request because of an internal server error.

                                                                + */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + Message: string | undefined; +} + +export namespace InternalServerException { + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +/** + *

                                                                The requested endpoint was invalid.

                                                                + */ +export interface InvalidEndpointException extends __SmithyException, $MetadataBearer { + name: "InvalidEndpointException"; + $fault: "client"; + Message?: string; +} + +export namespace InvalidEndpointException { + export const filterSensitiveLog = (obj: InvalidEndpointException): any => ({ + ...obj, + }); +} + +/** + *

                                                                Instance quota of resource exceeded for this account.

                                                                + */ +export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { + name: "ServiceQuotaExceededException"; + $fault: "client"; + Message?: string; +} + +export namespace ServiceQuotaExceededException { + export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ + ...obj, + }); +} + +/** + *

                                                                Too many requests were made by a user exceeding service quotas. The request was throttled.

                                                                + */ +export interface ThrottlingException extends __SmithyException, $MetadataBearer { + name: "ThrottlingException"; + $fault: "client"; + Message: string | undefined; +} + +export namespace ThrottlingException { + export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + ...obj, + }); +} + +/** + *

                                                                Invalid or malformed request.

                                                                + */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + Message: string | undefined; +} + +export namespace ValidationException { + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +/** + *

                                                                Retention properties contain the duration for which your time series data must be stored in the magnetic store and the memory store. + *

                                                                + */ +export interface RetentionProperties { + /** + *

                                                                The duration for which data must be stored in the magnetic store.

                                                                + */ + MagneticStoreRetentionPeriodInDays: number | undefined; + + /** + *

                                                                The duration for which data must be stored in the memory store.

                                                                + */ + MemoryStoreRetentionPeriodInHours: number | undefined; +} + +export namespace RetentionProperties { + export const filterSensitiveLog = (obj: RetentionProperties): any => ({ + ...obj, + }); +} + +export interface CreateTableRequest { + /** + *

                                                                The duration for which your time series data must be stored in the memory store and the magnetic store.

                                                                + */ + RetentionProperties?: RetentionProperties; + + /** + *

                                                                + * A list of key-value pairs to label the table. + *

                                                                + */ + Tags?: Tag[]; + + /** + *

                                                                The name of the Timestream table.

                                                                + */ + TableName: string | undefined; + + /** + *

                                                                The name of the Timestream database.

                                                                + */ + DatabaseName: string | undefined; +} + +export namespace CreateTableRequest { + export const filterSensitiveLog = (obj: CreateTableRequest): any => ({ + ...obj, + }); +} + +export enum TableStatus { + ACTIVE = "ACTIVE", + DELETING = "DELETING", +} + +/** + *

                                                                Table represents a database table in Timestream. Tables contain one or more related time series. You can modify the retention duration of the memory store and the magnetic store for a table. + *

                                                                + */ +export interface Table { + /** + *

                                                                The Amazon Resource Name that uniquely identifies this table.

                                                                + */ + Arn?: string; + + /** + *

                                                                The retention duration for the memory store and magnetic store.

                                                                + */ + RetentionProperties?: RetentionProperties; + + /** + *

                                                                The current state of the table:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * DELETING - The table is being deleted.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * ACTIVE - The table is ready for use.

                                                                  + *
                                                                • + *
                                                                + */ + TableStatus?: TableStatus | string; + + /** + *

                                                                The time when the Timestream table was last updated.

                                                                + */ + LastUpdatedTime?: Date; + + /** + *

                                                                The name of the Timestream table.

                                                                + */ + TableName?: string; + + /** + *

                                                                The time when the Timestream table was created.

                                                                + */ + CreationTime?: Date; + + /** + *

                                                                The name of the Timestream database that contains this table.

                                                                + */ + DatabaseName?: string; +} + +export namespace Table { + export const filterSensitiveLog = (obj: Table): any => ({ + ...obj, + }); +} + +export interface CreateTableResponse { + /** + *

                                                                The newly created Timestream table.

                                                                + */ + Table?: Table; +} + +export namespace CreateTableResponse { + export const filterSensitiveLog = (obj: CreateTableResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                The operation tried to access a nonexistent resource. The resource might not be specified correctly, or its status might not be ACTIVE.

                                                                + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + Message?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +export interface DeleteDatabaseRequest { + /** + *

                                                                The name of the Timestream database to be deleted.

                                                                + */ + DatabaseName: string | undefined; +} + +export namespace DeleteDatabaseRequest { + export const filterSensitiveLog = (obj: DeleteDatabaseRequest): any => ({ + ...obj, + }); +} + +export interface DeleteTableRequest { + /** + *

                                                                The name of the Timestream table to be deleted.

                                                                + */ + TableName: string | undefined; + + /** + *

                                                                The name of the database where the Timestream database is to be deleted.

                                                                + */ + DatabaseName: string | undefined; +} + +export namespace DeleteTableRequest { + export const filterSensitiveLog = (obj: DeleteTableRequest): any => ({ + ...obj, + }); +} + +export interface DescribeDatabaseRequest { + /** + *

                                                                The name of the Timestream database.

                                                                + */ + DatabaseName: string | undefined; +} + +export namespace DescribeDatabaseRequest { + export const filterSensitiveLog = (obj: DescribeDatabaseRequest): any => ({ + ...obj, + }); +} + +export interface DescribeDatabaseResponse { + /** + *

                                                                The name of the Timestream table.

                                                                + */ + Database?: Database; +} + +export namespace DescribeDatabaseResponse { + export const filterSensitiveLog = (obj: DescribeDatabaseResponse): any => ({ + ...obj, + }); +} + +export interface DescribeEndpointsRequest {} + +export namespace DescribeEndpointsRequest { + export const filterSensitiveLog = (obj: DescribeEndpointsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                Represents an available endpoint against which to make API calls agaisnt, as well as the TTL for that endpoint.

                                                                + */ +export interface Endpoint { + /** + *

                                                                The TTL for the endpoint, in minutes.

                                                                + */ + CachePeriodInMinutes: number | undefined; + + /** + *

                                                                An endpoint address.

                                                                + */ + Address: string | undefined; +} + +export namespace Endpoint { + export const filterSensitiveLog = (obj: Endpoint): any => ({ + ...obj, + }); +} + +export interface DescribeEndpointsResponse { + /** + *

                                                                An Endpoints object is returned when a DescribeEndpoints request is made.

                                                                + */ + Endpoints: Endpoint[] | undefined; +} + +export namespace DescribeEndpointsResponse { + export const filterSensitiveLog = (obj: DescribeEndpointsResponse): any => ({ + ...obj, + }); +} + +export interface DescribeTableRequest { + /** + *

                                                                The name of the Timestream database.

                                                                + */ + DatabaseName: string | undefined; + + /** + *

                                                                The name of the Timestream table.

                                                                + */ + TableName: string | undefined; +} + +export namespace DescribeTableRequest { + export const filterSensitiveLog = (obj: DescribeTableRequest): any => ({ + ...obj, + }); +} + +export interface DescribeTableResponse { + /** + *

                                                                The Timestream table.

                                                                + */ + Table?: Table; +} + +export namespace DescribeTableResponse { + export const filterSensitiveLog = (obj: DescribeTableResponse): any => ({ + ...obj, + }); +} + +export enum DimensionValueType { + VARCHAR = "VARCHAR", +} + +/** + *

                                                                Dimension represents the meta data attributes of the time series. For example, the name and availability zone of an EC2 instance or the name of the manufacturer of a wind turbine are dimensions.

                                                                + */ +export interface Dimension { + /** + *

                                                                The value of the dimension.

                                                                + */ + Value: string | undefined; + + /** + *

                                                                + * Dimension represents the meta data attributes of the time series. + * For example, the name and availability zone of an EC2 instance or + * the name of the manufacturer of a wind turbine are dimensions. + * Dimension names can only contain alphanumeric characters and underscores. Dimension names cannot end with an underscore. + *

                                                                + */ + Name: string | undefined; + + /** + *

                                                                The data type of the dimension for the time series data point.

                                                                + */ + DimensionValueType?: DimensionValueType | string; +} + +export namespace Dimension { + export const filterSensitiveLog = (obj: Dimension): any => ({ + ...obj, + }); +} + +export interface ListDatabasesRequest { + /** + *

                                                                The pagination token. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

                                                                + */ + NextToken?: string; + + /** + *

                                                                The total number of items to return in the output. If the total number of items available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

                                                                + */ + MaxResults?: number; +} + +export namespace ListDatabasesRequest { + export const filterSensitiveLog = (obj: ListDatabasesRequest): any => ({ + ...obj, + }); +} + +export interface ListDatabasesResponse { + /** + *

                                                                The pagination token. This parameter is returned when the response is truncated.

                                                                + */ + NextToken?: string; + + /** + *

                                                                A list of database names.

                                                                + */ + Databases?: Database[]; +} + +export namespace ListDatabasesResponse { + export const filterSensitiveLog = (obj: ListDatabasesResponse): any => ({ + ...obj, + }); +} + +export interface ListTablesRequest { + /** + *

                                                                The name of the Timestream database.

                                                                + */ + DatabaseName?: string; + + /** + *

                                                                The total number of items to return in the output. If the total number of items available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

                                                                + */ + MaxResults?: number; + + /** + *

                                                                The pagination token. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

                                                                + */ + NextToken?: string; +} + +export namespace ListTablesRequest { + export const filterSensitiveLog = (obj: ListTablesRequest): any => ({ + ...obj, + }); +} + +export interface ListTablesResponse { + /** + *

                                                                A list of tables.

                                                                + */ + Tables?: Table[]; + + /** + *

                                                                A token to specify where to start paginating. This is the NextToken from a previously truncated response.

                                                                + */ + NextToken?: string; +} + +export namespace ListTablesResponse { + export const filterSensitiveLog = (obj: ListTablesResponse): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceRequest { + /** + *

                                                                + * The Timestream resource with tags to be listed. This value is an Amazon Resource Name (ARN). + *

                                                                + */ + ResourceARN: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceResponse { + /** + *

                                                                + * The tags currently associated with the Timestream resource. + *

                                                                + */ + Tags?: Tag[]; +} + +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + }); +} + +export enum MeasureValueType { + BIGINT = "BIGINT", + BOOLEAN = "BOOLEAN", + DOUBLE = "DOUBLE", + VARCHAR = "VARCHAR", +} + +export enum TimeUnit { + MICROSECONDS = "MICROSECONDS", + MILLISECONDS = "MILLISECONDS", + NANOSECONDS = "NANOSECONDS", + SECONDS = "SECONDS", +} + +/** + *

                                                                Record represents a time series data point being written into + * Timestream. Each record contains an array of dimensions. Dimensions + * represent the meta data attributes of a time series data point such as + * the instance name or availability zone of an EC2 instance. A record also + * contains the measure name which is the name of the measure being collected + * for example the CPU utilization of an EC2 instance. A record also contains + * the measure value and the value type which is the data type of the measure value. + * In addition, the record contains the timestamp when the measure was collected that + * the timestamp unit which represents the granularity of the timestamp. + *

                                                                + */ +export interface _Record { + /** + *

                                                                + * The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds or other supported values. + *

                                                                + */ + TimeUnit?: TimeUnit | string; + + /** + *

                                                                + * Contains the data type of the measure value for the time series data point. + *

                                                                + */ + MeasureValueType?: MeasureValueType | string; + + /** + *

                                                                + * Contains the time at which the measure value for the data point was collected. + *

                                                                + */ + Time?: string; + + /** + *

                                                                Measure represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures.

                                                                + */ + MeasureName?: string; + + /** + *

                                                                Contains the list of dimensions for time series data points.

                                                                + */ + Dimensions?: Dimension[]; + + /** + *

                                                                + * Contains the measure value for the time series data point. + *

                                                                + */ + MeasureValue?: string; +} + +export namespace _Record { + export const filterSensitiveLog = (obj: _Record): any => ({ + ...obj, + }); +} + +/** + *

                                                                + * Records that were not successfully inserted into Timestream due to data validation issues + * that must be resolved prior to reinserting time series data into the system. + *

                                                                + */ +export interface RejectedRecord { + /** + *

                                                                + * The index of the record in the input request for WriteRecords. Indexes begin with 0. + *

                                                                + */ + RecordIndex?: number; + + /** + *

                                                                + * The reason why a record was not successfully inserted into Timestream. Possible causes of failure include: + *

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * Records with duplicate data where there are multiple records with the same dimensions, + * timestamps, and measure names but different measure values. + *

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Records with timestamps that lie outside the retention duration of the memory store + *

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Records with dimensions or measures that exceed the Timestream defined limits. + *

                                                                  + *
                                                                • + *
                                                                + *

                                                                + * For more information, see Access Management in the Timestream Developer Guide. + *

                                                                + */ + Reason?: string; +} + +export namespace RejectedRecord { + export const filterSensitiveLog = (obj: RejectedRecord): any => ({ + ...obj, + }); +} + +/** + *

                                                                + * WriteRecords would throw this exception in the following cases: + *

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * Records with duplicate data where there are multiple records with the same dimensions, + * timestamps, and measure names but different measure values. + *

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Records with timestamps that lie outside the retention duration of the memory store + *

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * Records with dimensions or measures that exceed the Timestream defined limits. + *

                                                                  + *
                                                                • + *
                                                                + *

                                                                + * For more information, see Access Management in the Timestream Developer Guide. + *

                                                                + */ +export interface RejectedRecordsException extends __SmithyException, $MetadataBearer { + name: "RejectedRecordsException"; + $fault: "client"; + Message?: string; + RejectedRecords?: RejectedRecord[]; +} + +export namespace RejectedRecordsException { + export const filterSensitiveLog = (obj: RejectedRecordsException): any => ({ + ...obj, + }); +} + +export interface TagResourceRequest { + /** + *

                                                                + * Identifies the Timestream resource to which tags should be added. This value is an + * Amazon Resource Name (ARN). + *

                                                                + */ + ResourceARN: string | undefined; + + /** + *

                                                                + * The tags to be assigned to the Timestream resource. + *

                                                                + */ + Tags: Tag[] | 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 Timestream resource that the tags will be removed from. This value + * is an Amazon Resource Name (ARN). + *

                                                                + */ + ResourceARN: string | undefined; + + /** + *

                                                                + * A list of tags keys. Existing tags of the resource whose keys are members of this + * list will be removed from the Timestream resource. + *

                                                                + */ + 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, + }); +} + +export interface UpdateDatabaseRequest { + /** + *

                                                                + * The identifier of the new KMS key (KmsKeyId) to be used to encrypt the data stored in the database. + * If the KmsKeyId currently registered with the database is the same as the KmsKeyId in the + * request, there will not be any update. + *

                                                                + *

                                                                You can specify the KmsKeyId using any of the following:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + *

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Key ARN: arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + *

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Alias name: alias/ExampleAlias + *

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Alias ARN: arn:aws:kms:us-east-1:111122223333:alias/ExampleAlias + *

                                                                  + *
                                                                • + *
                                                                + */ + KmsKeyId: string | undefined; + + /** + *

                                                                + * The name of the database. + *

                                                                + */ + DatabaseName: string | undefined; +} + +export namespace UpdateDatabaseRequest { + export const filterSensitiveLog = (obj: UpdateDatabaseRequest): any => ({ + ...obj, + }); +} + +export interface UpdateDatabaseResponse { + /** + *

                                                                A top level container for a table. Databases and tables are the + * fundamental management concepts in Amazon Timestream. All tables in a + * database are encrypted with the same KMS key.

                                                                + */ + Database?: Database; +} + +export namespace UpdateDatabaseResponse { + export const filterSensitiveLog = (obj: UpdateDatabaseResponse): any => ({ + ...obj, + }); +} + +export interface UpdateTableRequest { + /** + *

                                                                The name of the Timesream table.

                                                                + */ + TableName: string | undefined; + + /** + *

                                                                The retention duration of the memory store and the magnetic store.

                                                                + */ + RetentionProperties: RetentionProperties | undefined; + + /** + *

                                                                The name of the Timestream database.

                                                                + */ + DatabaseName: string | undefined; +} + +export namespace UpdateTableRequest { + export const filterSensitiveLog = (obj: UpdateTableRequest): any => ({ + ...obj, + }); +} + +export interface UpdateTableResponse { + /** + *

                                                                The updated Timestream table.

                                                                + */ + Table?: Table; +} + +export namespace UpdateTableResponse { + export const filterSensitiveLog = (obj: UpdateTableResponse): any => ({ + ...obj, + }); +} + +export interface WriteRecordsRequest { + /** + *

                                                                A record containing the common measure and dimension attributes + * shared across all the records in the request. The measure and dimension + * attributes specified in here will be merged with the measure and dimension + * attributes in the records object when the data is written into Timestream. + *

                                                                + */ + CommonAttributes?: _Record; + + /** + *

                                                                The name of the Timesream table.

                                                                + */ + TableName: string | undefined; + + /** + *

                                                                An array of records containing the unique dimension and measure + * attributes for each time series data point. + *

                                                                + */ + Records: _Record[] | undefined; + + /** + *

                                                                The name of the Timestream database.

                                                                + */ + DatabaseName: string | undefined; +} + +export namespace WriteRecordsRequest { + export const filterSensitiveLog = (obj: WriteRecordsRequest): any => ({ + ...obj, + }); +} diff --git a/clients/client-timestream-write/package.json b/clients/client-timestream-write/package.json new file mode 100644 index 000000000000..0b5cfbfa1945 --- /dev/null +++ b/clients/client-timestream-write/package.json @@ -0,0 +1,77 @@ +{ + "name": "@aws-sdk/client-timestream-write", + "description": "@aws-sdk/client-timestream-write client", + "version": "1.0.0-rc.1", + "scripts": { + "clean": "npm run remove-definitions && npm run remove-dist", + "build-documentation": "npm run clean && typedoc ./", + "prepublishOnly": "yarn build", + "pretest": "yarn build:cjs", + "remove-definitions": "rimraf ./types", + "remove-dist": "rimraf ./dist", + "remove-documentation": "rimraf ./docs", + "test": "yarn build && jest --coverage --passWithNoTests", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig.es.json", + "build": "yarn build:cjs && yarn build:es" + }, + "main": "./dist/cjs/index.js", + "types": "./types/index.d.ts", + "module": "./dist/es/index.js", + "browser": { + "./runtimeConfig": "./runtimeConfig.browser" + }, + "react-native": { + "./runtimeConfig": "./runtimeConfig.native" + }, + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0-alpha.0", + "@aws-crypto/sha256-js": "^1.0.0-alpha.0", + "@aws-sdk/config-resolver": "1.0.0-rc.1", + "@aws-sdk/credential-provider-node": "1.0.0-rc.1", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.1", + "@aws-sdk/hash-node": "1.0.0-rc.1", + "@aws-sdk/invalid-dependency": "1.0.0-rc.1", + "@aws-sdk/middleware-content-length": "1.0.0-rc.1", + "@aws-sdk/middleware-host-header": "1.0.0-rc.1", + "@aws-sdk/middleware-logger": "1.0.0-rc.1", + "@aws-sdk/middleware-retry": "1.0.0-rc.1", + "@aws-sdk/middleware-serde": "1.0.0-rc.1", + "@aws-sdk/middleware-signing": "1.0.0-rc.1", + "@aws-sdk/middleware-stack": "1.0.0-rc.1", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.1", + "@aws-sdk/node-config-provider": "1.0.0-rc.1", + "@aws-sdk/node-http-handler": "1.0.0-rc.1", + "@aws-sdk/protocol-http": "1.0.0-rc.1", + "@aws-sdk/smithy-client": "1.0.0-rc.1", + "@aws-sdk/types": "1.0.0-rc.1", + "@aws-sdk/url-parser-browser": "1.0.0-rc.1", + "@aws-sdk/url-parser-node": "1.0.0-rc.1", + "@aws-sdk/util-base64-browser": "1.0.0-rc.1", + "@aws-sdk/util-base64-node": "1.0.0-rc.1", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.1", + "@aws-sdk/util-body-length-node": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.1", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.1", + "@aws-sdk/util-utf8-node": "1.0.0-rc.1", + "tslib": "^2.0.0" + }, + "devDependencies": { + "@aws-sdk/client-documentation-generator": "1.0.0-rc.1", + "@types/node": "^12.7.5", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "typedoc": "^0.17.8", + "typescript": "~4.0.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0" +} diff --git a/clients/client-timestream-write/pagination/Interfaces.ts b/clients/client-timestream-write/pagination/Interfaces.ts new file mode 100644 index 000000000000..a4ab8cf7d449 --- /dev/null +++ b/clients/client-timestream-write/pagination/Interfaces.ts @@ -0,0 +1,7 @@ +import { TimestreamWrite } from "../TimestreamWrite"; +import { TimestreamWriteClient } from "../TimestreamWriteClient"; +import { PaginationConfiguration } from "@aws-sdk/types"; + +export interface TimestreamWritePaginationConfiguration extends PaginationConfiguration { + client: TimestreamWrite | TimestreamWriteClient; +} diff --git a/clients/client-timestream-write/pagination/ListDatabasesPaginator.ts b/clients/client-timestream-write/pagination/ListDatabasesPaginator.ts new file mode 100644 index 000000000000..0c14dca52ff8 --- /dev/null +++ b/clients/client-timestream-write/pagination/ListDatabasesPaginator.ts @@ -0,0 +1,51 @@ +import { TimestreamWrite } from "../TimestreamWrite"; +import { TimestreamWriteClient } from "../TimestreamWriteClient"; +import { + ListDatabasesCommand, + ListDatabasesCommandInput, + ListDatabasesCommandOutput, +} from "../commands/ListDatabasesCommand"; +import { TimestreamWritePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: TimestreamWriteClient, + input: ListDatabasesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListDatabasesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: TimestreamWrite, + input: ListDatabasesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listDatabases(input, ...args); +}; +export async function* listDatabasesPaginate( + config: TimestreamWritePaginationConfiguration, + input: ListDatabasesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListDatabasesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof TimestreamWrite) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof TimestreamWriteClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected TimestreamWrite | TimestreamWriteClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-timestream-write/pagination/ListTablesPaginator.ts b/clients/client-timestream-write/pagination/ListTablesPaginator.ts new file mode 100644 index 000000000000..e29f878d57f4 --- /dev/null +++ b/clients/client-timestream-write/pagination/ListTablesPaginator.ts @@ -0,0 +1,47 @@ +import { TimestreamWrite } from "../TimestreamWrite"; +import { TimestreamWriteClient } from "../TimestreamWriteClient"; +import { ListTablesCommand, ListTablesCommandInput, ListTablesCommandOutput } from "../commands/ListTablesCommand"; +import { TimestreamWritePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: TimestreamWriteClient, + input: ListTablesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListTablesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: TimestreamWrite, + input: ListTablesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listTables(input, ...args); +}; +export async function* listTablesPaginate( + config: TimestreamWritePaginationConfiguration, + input: ListTablesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListTablesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof TimestreamWrite) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof TimestreamWriteClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected TimestreamWrite | TimestreamWriteClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-timestream-write/protocols/Aws_json1_0.ts b/clients/client-timestream-write/protocols/Aws_json1_0.ts new file mode 100644 index 000000000000..e8b3ce14a659 --- /dev/null +++ b/clients/client-timestream-write/protocols/Aws_json1_0.ts @@ -0,0 +1,2270 @@ +import { CreateDatabaseCommandInput, CreateDatabaseCommandOutput } from "../commands/CreateDatabaseCommand"; +import { CreateTableCommandInput, CreateTableCommandOutput } from "../commands/CreateTableCommand"; +import { DeleteDatabaseCommandInput, DeleteDatabaseCommandOutput } from "../commands/DeleteDatabaseCommand"; +import { DeleteTableCommandInput, DeleteTableCommandOutput } from "../commands/DeleteTableCommand"; +import { DescribeDatabaseCommandInput, DescribeDatabaseCommandOutput } from "../commands/DescribeDatabaseCommand"; +import { DescribeEndpointsCommandInput, DescribeEndpointsCommandOutput } from "../commands/DescribeEndpointsCommand"; +import { DescribeTableCommandInput, DescribeTableCommandOutput } from "../commands/DescribeTableCommand"; +import { ListDatabasesCommandInput, ListDatabasesCommandOutput } from "../commands/ListDatabasesCommand"; +import { ListTablesCommandInput, ListTablesCommandOutput } from "../commands/ListTablesCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; +import { UpdateDatabaseCommandInput, UpdateDatabaseCommandOutput } from "../commands/UpdateDatabaseCommand"; +import { UpdateTableCommandInput, UpdateTableCommandOutput } from "../commands/UpdateTableCommand"; +import { WriteRecordsCommandInput, WriteRecordsCommandOutput } from "../commands/WriteRecordsCommand"; +import { + AccessDeniedException, + ConflictException, + CreateDatabaseRequest, + CreateDatabaseResponse, + CreateTableRequest, + CreateTableResponse, + Database, + DeleteDatabaseRequest, + DeleteTableRequest, + DescribeDatabaseRequest, + DescribeDatabaseResponse, + DescribeEndpointsRequest, + DescribeEndpointsResponse, + DescribeTableRequest, + DescribeTableResponse, + Dimension, + Endpoint, + InternalServerException, + InvalidEndpointException, + ListDatabasesRequest, + ListDatabasesResponse, + ListTablesRequest, + ListTablesResponse, + ListTagsForResourceRequest, + ListTagsForResourceResponse, + RejectedRecord, + RejectedRecordsException, + ResourceNotFoundException, + RetentionProperties, + ServiceQuotaExceededException, + Table, + Tag, + TagResourceRequest, + TagResourceResponse, + ThrottlingException, + UntagResourceRequest, + UntagResourceResponse, + UpdateDatabaseRequest, + UpdateDatabaseResponse, + UpdateTableRequest, + UpdateTableResponse, + ValidationException, + WriteRecordsRequest, + _Record, +} from "../models/models_0"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; +import { + Endpoint as __Endpoint, + HeaderBag as __HeaderBag, + MetadataBearer as __MetadataBearer, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export const serializeAws_json1_0CreateDatabaseCommand = async ( + input: CreateDatabaseCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.CreateDatabase", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0CreateDatabaseRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0CreateTableCommand = async ( + input: CreateTableCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.CreateTable", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0CreateTableRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0DeleteDatabaseCommand = async ( + input: DeleteDatabaseCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.DeleteDatabase", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0DeleteDatabaseRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0DeleteTableCommand = async ( + input: DeleteTableCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.DeleteTable", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0DeleteTableRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0DescribeDatabaseCommand = async ( + input: DescribeDatabaseCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.DescribeDatabase", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0DescribeDatabaseRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0DescribeEndpointsCommand = async ( + input: DescribeEndpointsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.DescribeEndpoints", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0DescribeEndpointsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0DescribeTableCommand = async ( + input: DescribeTableCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.DescribeTable", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0DescribeTableRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0ListDatabasesCommand = async ( + input: ListDatabasesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.ListDatabases", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0ListDatabasesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0ListTablesCommand = async ( + input: ListTablesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.ListTables", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0ListTablesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.ListTagsForResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0ListTagsForResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.TagResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0TagResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.UntagResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0UntagResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0UpdateDatabaseCommand = async ( + input: UpdateDatabaseCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.UpdateDatabase", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0UpdateDatabaseRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0UpdateTableCommand = async ( + input: UpdateTableCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.UpdateTable", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0UpdateTableRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_0WriteRecordsCommand = async ( + input: WriteRecordsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.0", + "X-Amz-Target": "Timestream_20181101.WriteRecords", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_0WriteRecordsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const deserializeAws_json1_0CreateDatabaseCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0CreateDatabaseCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0CreateDatabaseResponse(data, context); + const response: CreateDatabaseCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0CreateDatabaseCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.timestreamwrite#ConflictException": + response = { + ...(await deserializeAws_json1_0ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.timestreamwrite#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_0ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0CreateTableCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0CreateTableCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0CreateTableResponse(data, context); + const response: CreateTableCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0CreateTableCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.timestreamwrite#ConflictException": + response = { + ...(await deserializeAws_json1_0ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.timestreamwrite#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_0ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0DeleteDatabaseCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0DeleteDatabaseCommandError(output, context); + } + await collectBody(output.body, context); + const response: DeleteDatabaseCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0DeleteDatabaseCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0DeleteTableCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0DeleteTableCommandError(output, context); + } + await collectBody(output.body, context); + const response: DeleteTableCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0DeleteTableCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0DescribeDatabaseCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0DescribeDatabaseCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0DescribeDatabaseResponse(data, context); + const response: DescribeDatabaseCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0DescribeDatabaseCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0DescribeEndpointsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0DescribeEndpointsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0DescribeEndpointsResponse(data, context); + const response: DescribeEndpointsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0DescribeEndpointsCommandError = 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 "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0DescribeTableCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0DescribeTableCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0DescribeTableResponse(data, context); + const response: DescribeTableCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0DescribeTableCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0ListDatabasesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0ListDatabasesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0ListDatabasesResponse(data, context); + const response: ListDatabasesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0ListDatabasesCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0ListTablesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0ListTablesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0ListTablesResponse(data, context); + const response: ListTablesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0ListTablesCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0ListTagsForResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0ListTagsForResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0ListTagsForResourceResponse(data, context); + const response: ListTagsForResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0ListTagsForResourceCommandError = 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 "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0TagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0TagResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0TagResourceResponse(data, context); + const response: TagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0TagResourceCommandError = 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 "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.timestreamwrite#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_0ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0UntagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0UntagResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0UntagResourceResponse(data, context); + const response: UntagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0UntagResourceCommandError = 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 "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.timestreamwrite#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_0ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0UpdateDatabaseCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0UpdateDatabaseCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0UpdateDatabaseResponse(data, context); + const response: UpdateDatabaseCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0UpdateDatabaseCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceQuotaExceededException": + case "com.amazonaws.timestreamwrite#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_json1_0ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0UpdateTableCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0UpdateTableCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_0UpdateTableResponse(data, context); + const response: UpdateTableCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0UpdateTableCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_0WriteRecordsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_0WriteRecordsCommandError(output, context); + } + await collectBody(output.body, context); + const response: WriteRecordsCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_0WriteRecordsCommandError = 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.timestreamwrite#AccessDeniedException": + response = { + ...(await deserializeAws_json1_0AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.timestreamwrite#InternalServerException": + response = { + ...(await deserializeAws_json1_0InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidEndpointException": + case "com.amazonaws.timestreamwrite#InvalidEndpointException": + response = { + ...(await deserializeAws_json1_0InvalidEndpointExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "RejectedRecordsException": + case "com.amazonaws.timestreamwrite#RejectedRecordsException": + response = { + ...(await deserializeAws_json1_0RejectedRecordsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.timestreamwrite#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.timestreamwrite#ThrottlingException": + response = { + ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.timestreamwrite#ValidationException": + response = { + ...(await deserializeAws_json1_0ValidationExceptionResponse(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_json1_0AccessDeniedExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0AccessDeniedException(body, context); + const contents: AccessDeniedException = { + name: "AccessDeniedException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0ConflictExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0ConflictException(body, context); + const contents: ConflictException = { + name: "ConflictException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0InternalServerExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0InternalServerException(body, context); + const contents: InternalServerException = { + name: "InternalServerException", + $fault: "server", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0InvalidEndpointExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0InvalidEndpointException(body, context); + const contents: InvalidEndpointException = { + name: "InvalidEndpointException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0RejectedRecordsExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0RejectedRecordsException(body, context); + const contents: RejectedRecordsException = { + name: "RejectedRecordsException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0ResourceNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0ResourceNotFoundException(body, context); + const contents: ResourceNotFoundException = { + name: "ResourceNotFoundException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0ServiceQuotaExceededExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0ServiceQuotaExceededException(body, context); + const contents: ServiceQuotaExceededException = { + name: "ServiceQuotaExceededException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0ThrottlingExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0ThrottlingException(body, context); + const contents: ThrottlingException = { + name: "ThrottlingException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_0ValidationExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_0ValidationException(body, context); + const contents: ValidationException = { + name: "ValidationException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const serializeAws_json1_0CreateDatabaseRequest = (input: CreateDatabaseRequest, context: __SerdeContext): any => { + return { + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_0TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_0CreateTableRequest = (input: CreateTableRequest, context: __SerdeContext): any => { + return { + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.RetentionProperties !== undefined && { + RetentionProperties: serializeAws_json1_0RetentionProperties(input.RetentionProperties, context), + }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_0TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_0DeleteDatabaseRequest = (input: DeleteDatabaseRequest, context: __SerdeContext): any => { + return { + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + }; +}; + +const serializeAws_json1_0DeleteTableRequest = (input: DeleteTableRequest, context: __SerdeContext): any => { + return { + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + }; +}; + +const serializeAws_json1_0DescribeDatabaseRequest = (input: DescribeDatabaseRequest, context: __SerdeContext): any => { + return { + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + }; +}; + +const serializeAws_json1_0DescribeEndpointsRequest = ( + input: DescribeEndpointsRequest, + context: __SerdeContext +): any => { + return {}; +}; + +const serializeAws_json1_0DescribeTableRequest = (input: DescribeTableRequest, context: __SerdeContext): any => { + return { + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + }; +}; + +const serializeAws_json1_0Dimension = (input: Dimension, context: __SerdeContext): any => { + return { + ...(input.DimensionValueType !== undefined && { DimensionValueType: input.DimensionValueType }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_json1_0Dimensions = (input: Dimension[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_0Dimension(entry, context)); +}; + +const serializeAws_json1_0ListDatabasesRequest = (input: ListDatabasesRequest, context: __SerdeContext): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_0ListTablesRequest = (input: ListTablesRequest, context: __SerdeContext): any => { + return { + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + +const serializeAws_json1_0ListTagsForResourceRequest = ( + input: ListTagsForResourceRequest, + context: __SerdeContext +): any => { + return { + ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), + }; +}; + +const serializeAws_json1_0_Record = (input: _Record, context: __SerdeContext): any => { + return { + ...(input.Dimensions !== undefined && { Dimensions: serializeAws_json1_0Dimensions(input.Dimensions, context) }), + ...(input.MeasureName !== undefined && { MeasureName: input.MeasureName }), + ...(input.MeasureValue !== undefined && { MeasureValue: input.MeasureValue }), + ...(input.MeasureValueType !== undefined && { MeasureValueType: input.MeasureValueType }), + ...(input.Time !== undefined && { Time: input.Time }), + ...(input.TimeUnit !== undefined && { TimeUnit: input.TimeUnit }), + }; +}; + +const serializeAws_json1_0Records = (input: _Record[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_0_Record(entry, context)); +}; + +const serializeAws_json1_0RetentionProperties = (input: RetentionProperties, context: __SerdeContext): any => { + return { + ...(input.MagneticStoreRetentionPeriodInDays !== undefined && { + MagneticStoreRetentionPeriodInDays: input.MagneticStoreRetentionPeriodInDays, + }), + ...(input.MemoryStoreRetentionPeriodInHours !== undefined && { + MemoryStoreRetentionPeriodInHours: input.MemoryStoreRetentionPeriodInHours, + }), + }; +}; + +const serializeAws_json1_0Tag = (input: Tag, context: __SerdeContext): any => { + return { + ...(input.Key !== undefined && { Key: input.Key }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_json1_0TagKeyList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_0TagList = (input: Tag[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_0Tag(entry, context)); +}; + +const serializeAws_json1_0TagResourceRequest = (input: TagResourceRequest, context: __SerdeContext): any => { + return { + ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_0TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_0UntagResourceRequest = (input: UntagResourceRequest, context: __SerdeContext): any => { + return { + ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), + ...(input.TagKeys !== undefined && { TagKeys: serializeAws_json1_0TagKeyList(input.TagKeys, context) }), + }; +}; + +const serializeAws_json1_0UpdateDatabaseRequest = (input: UpdateDatabaseRequest, context: __SerdeContext): any => { + return { + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.KmsKeyId !== undefined && { KmsKeyId: input.KmsKeyId }), + }; +}; + +const serializeAws_json1_0UpdateTableRequest = (input: UpdateTableRequest, context: __SerdeContext): any => { + return { + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.RetentionProperties !== undefined && { + RetentionProperties: serializeAws_json1_0RetentionProperties(input.RetentionProperties, context), + }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + }; +}; + +const serializeAws_json1_0WriteRecordsRequest = (input: WriteRecordsRequest, context: __SerdeContext): any => { + return { + ...(input.CommonAttributes !== undefined && { + CommonAttributes: serializeAws_json1_0_Record(input.CommonAttributes, context), + }), + ...(input.DatabaseName !== undefined && { DatabaseName: input.DatabaseName }), + ...(input.Records !== undefined && { Records: serializeAws_json1_0Records(input.Records, context) }), + ...(input.TableName !== undefined && { TableName: input.TableName }), + }; +}; + +const deserializeAws_json1_0AccessDeniedException = (output: any, context: __SerdeContext): AccessDeniedException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0ConflictException = (output: any, context: __SerdeContext): ConflictException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0CreateDatabaseResponse = (output: any, context: __SerdeContext): CreateDatabaseResponse => { + return { + Database: + output.Database !== undefined && output.Database !== null + ? deserializeAws_json1_0Database(output.Database, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0CreateTableResponse = (output: any, context: __SerdeContext): CreateTableResponse => { + return { + Table: + output.Table !== undefined && output.Table !== null + ? deserializeAws_json1_0Table(output.Table, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0Database = (output: any, context: __SerdeContext): Database => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? new Date(Math.round(output.CreationTime * 1000)) + : undefined, + DatabaseName: output.DatabaseName !== undefined && output.DatabaseName !== null ? output.DatabaseName : undefined, + KmsKeyId: output.KmsKeyId !== undefined && output.KmsKeyId !== null ? output.KmsKeyId : undefined, + LastUpdatedTime: + output.LastUpdatedTime !== undefined && output.LastUpdatedTime !== null + ? new Date(Math.round(output.LastUpdatedTime * 1000)) + : undefined, + TableCount: output.TableCount !== undefined && output.TableCount !== null ? output.TableCount : undefined, + } as any; +}; + +const deserializeAws_json1_0DatabaseList = (output: any, context: __SerdeContext): Database[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0Database(entry, context)); +}; + +const deserializeAws_json1_0DescribeDatabaseResponse = ( + output: any, + context: __SerdeContext +): DescribeDatabaseResponse => { + return { + Database: + output.Database !== undefined && output.Database !== null + ? deserializeAws_json1_0Database(output.Database, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0DescribeEndpointsResponse = ( + output: any, + context: __SerdeContext +): DescribeEndpointsResponse => { + return { + Endpoints: + output.Endpoints !== undefined && output.Endpoints !== null + ? deserializeAws_json1_0Endpoints(output.Endpoints, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0DescribeTableResponse = (output: any, context: __SerdeContext): DescribeTableResponse => { + return { + Table: + output.Table !== undefined && output.Table !== null + ? deserializeAws_json1_0Table(output.Table, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0Endpoint = (output: any, context: __SerdeContext): Endpoint => { + return { + Address: output.Address !== undefined && output.Address !== null ? output.Address : undefined, + CachePeriodInMinutes: + output.CachePeriodInMinutes !== undefined && output.CachePeriodInMinutes !== null + ? output.CachePeriodInMinutes + : undefined, + } as any; +}; + +const deserializeAws_json1_0Endpoints = (output: any, context: __SerdeContext): Endpoint[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0Endpoint(entry, context)); +}; + +const deserializeAws_json1_0InternalServerException = ( + output: any, + context: __SerdeContext +): InternalServerException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0InvalidEndpointException = ( + output: any, + context: __SerdeContext +): InvalidEndpointException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0ListDatabasesResponse = (output: any, context: __SerdeContext): ListDatabasesResponse => { + return { + Databases: + output.Databases !== undefined && output.Databases !== null + ? deserializeAws_json1_0DatabaseList(output.Databases, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_0ListTablesResponse = (output: any, context: __SerdeContext): ListTablesResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + Tables: + output.Tables !== undefined && output.Tables !== null + ? deserializeAws_json1_0TableList(output.Tables, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0ListTagsForResourceResponse = ( + output: any, + context: __SerdeContext +): ListTagsForResourceResponse => { + return { + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_json1_0TagList(output.Tags, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0RejectedRecord = (output: any, context: __SerdeContext): RejectedRecord => { + return { + Reason: output.Reason !== undefined && output.Reason !== null ? output.Reason : undefined, + RecordIndex: output.RecordIndex !== undefined && output.RecordIndex !== null ? output.RecordIndex : undefined, + } as any; +}; + +const deserializeAws_json1_0RejectedRecords = (output: any, context: __SerdeContext): RejectedRecord[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0RejectedRecord(entry, context)); +}; + +const deserializeAws_json1_0RejectedRecordsException = ( + output: any, + context: __SerdeContext +): RejectedRecordsException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + RejectedRecords: + output.RejectedRecords !== undefined && output.RejectedRecords !== null + ? deserializeAws_json1_0RejectedRecords(output.RejectedRecords, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0ResourceNotFoundException = ( + output: any, + context: __SerdeContext +): ResourceNotFoundException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0RetentionProperties = (output: any, context: __SerdeContext): RetentionProperties => { + return { + MagneticStoreRetentionPeriodInDays: + output.MagneticStoreRetentionPeriodInDays !== undefined && output.MagneticStoreRetentionPeriodInDays !== null + ? output.MagneticStoreRetentionPeriodInDays + : undefined, + MemoryStoreRetentionPeriodInHours: + output.MemoryStoreRetentionPeriodInHours !== undefined && output.MemoryStoreRetentionPeriodInHours !== null + ? output.MemoryStoreRetentionPeriodInHours + : undefined, + } as any; +}; + +const deserializeAws_json1_0ServiceQuotaExceededException = ( + output: any, + context: __SerdeContext +): ServiceQuotaExceededException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0Table = (output: any, context: __SerdeContext): Table => { + return { + Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? new Date(Math.round(output.CreationTime * 1000)) + : undefined, + DatabaseName: output.DatabaseName !== undefined && output.DatabaseName !== null ? output.DatabaseName : undefined, + LastUpdatedTime: + output.LastUpdatedTime !== undefined && output.LastUpdatedTime !== null + ? new Date(Math.round(output.LastUpdatedTime * 1000)) + : undefined, + RetentionProperties: + output.RetentionProperties !== undefined && output.RetentionProperties !== null + ? deserializeAws_json1_0RetentionProperties(output.RetentionProperties, context) + : undefined, + TableName: output.TableName !== undefined && output.TableName !== null ? output.TableName : undefined, + TableStatus: output.TableStatus !== undefined && output.TableStatus !== null ? output.TableStatus : undefined, + } as any; +}; + +const deserializeAws_json1_0TableList = (output: any, context: __SerdeContext): Table[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0Table(entry, context)); +}; + +const deserializeAws_json1_0Tag = (output: any, context: __SerdeContext): Tag => { + return { + Key: output.Key !== undefined && output.Key !== null ? output.Key : undefined, + Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined, + } as any; +}; + +const deserializeAws_json1_0TagList = (output: any, context: __SerdeContext): Tag[] => { + return (output || []).map((entry: any) => deserializeAws_json1_0Tag(entry, context)); +}; + +const deserializeAws_json1_0TagResourceResponse = (output: any, context: __SerdeContext): TagResourceResponse => { + return {} as any; +}; + +const deserializeAws_json1_0ThrottlingException = (output: any, context: __SerdeContext): ThrottlingException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_0UntagResourceResponse = (output: any, context: __SerdeContext): UntagResourceResponse => { + return {} as any; +}; + +const deserializeAws_json1_0UpdateDatabaseResponse = (output: any, context: __SerdeContext): UpdateDatabaseResponse => { + return { + Database: + output.Database !== undefined && output.Database !== null + ? deserializeAws_json1_0Database(output.Database, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0UpdateTableResponse = (output: any, context: __SerdeContext): UpdateTableResponse => { + return { + Table: + output.Table !== undefined && output.Table !== null + ? deserializeAws_json1_0Table(output.Table, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_0ValidationException = (output: any, context: __SerdeContext): ValidationException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ + httpStatusCode: output.statusCode, + httpHeaders: output.headers, + requestId: output.headers["x-amzn-requestid"], +}); + +// Collect low-level response body stream to Uint8Array. +const collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => { + if (streamBody instanceof Uint8Array) { + return Promise.resolve(streamBody); + } + return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); +}; + +// Encode Uint8Array data into string with utf-8. +const collectBodyString = (streamBody: any, context: __SerdeContext): Promise => + collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); + +const buildHttpRpcRequest = async ( + context: __SerdeContext, + headers: __HeaderBag, + path: string, + resolvedHostname: string | undefined, + body: any +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port } = await context.endpoint(); + const contents: any = { + protocol, + hostname, + port, + method: "POST", + path, + headers, + }; + if (resolvedHostname !== undefined) { + contents.hostname = resolvedHostname; + } + if (body !== undefined) { + contents.body = body; + } + return new __HttpRequest(contents); +}; + +const parseBody = (streamBody: any, context: __SerdeContext): any => + collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); diff --git a/clients/client-timestream-write/runtimeConfig.browser.ts b/clients/client-timestream-write/runtimeConfig.browser.ts new file mode 100644 index 000000000000..335ee33527f3 --- /dev/null +++ b/clients/client-timestream-write/runtimeConfig.browser.ts @@ -0,0 +1,31 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-browser"; +import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler"; +import { invalidFunction } from "@aws-sdk/invalid-dependency"; +import { DEFAULT_MAX_ATTEMPTS } from "@aws-sdk/middleware-retry"; +import { parseUrl } from "@aws-sdk/url-parser-browser"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-browser"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser"; +import { ClientDefaults } from "./TimestreamWriteClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "browser", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider: invalidFunction("Credential is missing") as any, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: DEFAULT_MAX_ATTEMPTS, + region: invalidFunction("Region is missing") as any, + requestHandler: new FetchHttpHandler(), + sha256: Sha256, + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-timestream-write/runtimeConfig.native.ts b/clients/client-timestream-write/runtimeConfig.native.ts new file mode 100644 index 000000000000..cfbdbf2abcec --- /dev/null +++ b/clients/client-timestream-write/runtimeConfig.native.ts @@ -0,0 +1,14 @@ +import packageInfo from "./package.json"; + +import { Sha256 } from "@aws-crypto/sha256-js"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { ClientDefaults } from "./TimestreamWriteClient"; +import { ClientDefaultValues as BrowserDefaults } from "./runtimeConfig.browser"; + +export const ClientDefaultValues: Required = { + ...BrowserDefaults, + runtime: "react-native", + defaultUserAgent: `aws-sdk-js-v3-react-native-${packageInfo.name}/${packageInfo.version}`, + sha256: Sha256, + urlParser: parseUrl, +}; diff --git a/clients/client-timestream-write/runtimeConfig.shared.ts b/clients/client-timestream-write/runtimeConfig.shared.ts new file mode 100644 index 000000000000..11c8c9cb6a3c --- /dev/null +++ b/clients/client-timestream-write/runtimeConfig.shared.ts @@ -0,0 +1,10 @@ +import { defaultRegionInfoProvider } from "./endpoints"; +import { Logger as __Logger } from "@aws-sdk/types"; + +export const ClientSharedValues = { + apiVersion: "2018-11-01", + disableHostPrefix: false, + logger: {} as __Logger, + regionInfoProvider: defaultRegionInfoProvider, + signingName: "timestream", +}; diff --git a/clients/client-timestream-write/runtimeConfig.ts b/clients/client-timestream-write/runtimeConfig.ts new file mode 100644 index 000000000000..fd4c5e328500 --- /dev/null +++ b/clients/client-timestream-write/runtimeConfig.ts @@ -0,0 +1,33 @@ +import packageInfo from "./package.json"; + +import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@aws-sdk/config-resolver"; +import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node"; +import { Hash } from "@aws-sdk/hash-node"; +import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry"; +import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider"; +import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler"; +import { parseUrl } from "@aws-sdk/url-parser-node"; +import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node"; +import { calculateBodyLength } from "@aws-sdk/util-body-length-node"; +import { defaultUserAgent } from "@aws-sdk/util-user-agent-node"; +import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node"; +import { ClientDefaults } from "./TimestreamWriteClient"; +import { ClientSharedValues } from "./runtimeConfig.shared"; + +export const ClientDefaultValues: Required = { + ...ClientSharedValues, + runtime: "node", + base64Decoder: fromBase64, + base64Encoder: toBase64, + bodyLengthChecker: calculateBodyLength, + credentialDefaultProvider, + defaultUserAgent: defaultUserAgent(packageInfo.name, packageInfo.version), + maxAttempts: loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: new NodeHttpHandler(), + sha256: Hash.bind(null, "sha256"), + streamCollector, + urlParser: parseUrl, + utf8Decoder: fromUtf8, + utf8Encoder: toUtf8, +}; diff --git a/clients/client-timestream-write/tsconfig.es.json b/clients/client-timestream-write/tsconfig.es.json new file mode 100644 index 000000000000..30df5d2e6986 --- /dev/null +++ b/clients/client-timestream-write/tsconfig.es.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "target": "es5", + "module": "esnext", + "moduleResolution": "node", + "declaration": false, + "declarationDir": null, + "lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], + "outDir": "dist/es" + } +} diff --git a/clients/client-timestream-write/tsconfig.json b/clients/client-timestream-write/tsconfig.json new file mode 100644 index 000000000000..3b440583a9a2 --- /dev/null +++ b/clients/client-timestream-write/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "alwaysStrict": true, + "target": "ES2018", + "module": "commonjs", + "declaration": true, + "strict": true, + "sourceMap": true, + "downlevelIteration": true, + "importHelpers": true, + "noEmitHelpers": true, + "incremental": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "declarationDir": "./types", + "outDir": "dist/cjs" + }, + "typedocOptions": { + "exclude": "**/node_modules/**", + "excludedNotExported": true, + "excludePrivate": true, + "hideGenerator": true, + "ignoreCompilerErrors": true, + "mode": "file", + "out": "./docs", + "plugin": "@aws-sdk/client-documentation-generator" + } +} diff --git a/clients/client-transcribe-streaming/models/models_0.ts b/clients/client-transcribe-streaming/models/models_0.ts index 3f8d46399d6c..e1d53c45d7c0 100644 --- a/clients/client-transcribe-streaming/models/models_0.ts +++ b/clients/client-transcribe-streaming/models/models_0.ts @@ -10,6 +10,12 @@ export enum ItemType { *

                                                                A word or phrase transcribed from the input audio.

                                                                */ export interface Item { + /** + *

                                                                The offset from the beginning of the audio stream to the beginning of the audio that + * resulted in the item.

                                                                + */ + StartTime?: number; + /** *

                                                                The type of the item. PRONUNCIATION indicates that the item is a word that * was recognized in the input audio. PUNCTUATION indicates that the item was @@ -24,22 +30,21 @@ export interface Item { EndTime?: number; /** - *

                                                                The word or punctuation that was recognized in the input audio.

                                                                + *

                                                                Indicates whether a word in the item matches a word in the vocabulary filter you've chosen + * for your real-time stream. If true then a word in the item matches your + * vocabulary filter.

                                                                */ - Content?: string; + VocabularyFilterMatch?: boolean; /** - *

                                                                The offset from the beginning of the audio stream to the beginning of the audio that - * resulted in the item.

                                                                + *

                                                                If speaker identification is enabled, shows the speakers identified in the real-time stream.

                                                                */ - StartTime?: number; + Speaker?: string; /** - *

                                                                Indicates whether a word in the item matches a word in the vocabulary filter you've chosen - * for your real-time stream. If true then a word in the item matches your - * vocabulary filter.

                                                                + *

                                                                The word or punctuation that was recognized in the input audio.

                                                                */ - VocabularyFilterMatch?: boolean; + Content?: string; } export namespace Item { @@ -206,6 +211,12 @@ export enum MediaEncoding { *

                                                                The result of transcribing a portion of the input audio stream.

                                                                */ export interface Result { + /** + *

                                                                The offset in seconds from the beginning of the audio stream to the beginning of the + * result.

                                                                + */ + StartTime?: number; + /** *

                                                                Amazon Transcribe divides the incoming audio stream into segments at natural points in the audio. * Transcription results are returned based on these segments.

                                                                @@ -216,27 +227,27 @@ export interface Result { IsPartial?: boolean; /** - *

                                                                The offset in seconds from the beginning of the audio stream to the end of the - * result.

                                                                + *

                                                                A list of possible transcriptions for the audio. Each alternative typically contains one + * item that contains the result of the transcription.

                                                                */ - EndTime?: number; + Alternatives?: Alternative[]; /** - *

                                                                The offset in seconds from the beginning of the audio stream to the beginning of the - * result.

                                                                + *

                                                                When channel identification is enabled, Amazon Transcribe transcribes the speech from each audio channel separately.

                                                                + *

                                                                You can use ChannelId to retrieve the transcription results for a single channel in your audio stream.

                                                                */ - StartTime?: number; + ChannelId?: string; /** - *

                                                                A list of possible transcriptions for the audio. Each alternative typically contains one - * item that contains the result of the transcription.

                                                                + *

                                                                A unique identifier for the result.

                                                                */ - Alternatives?: Alternative[]; + ResultId?: string; /** - *

                                                                A unique identifier for the result.

                                                                + *

                                                                The offset in seconds from the beginning of the audio stream to the end of the + * result.

                                                                */ - ResultId?: string; + EndTime?: number; } export namespace Result { @@ -268,33 +279,27 @@ export enum VocabularyFilterMethod { export interface StartStreamTranscriptionRequest { /** - *

                                                                The name of the vocabulary filter you've created that is unique to your AWS accountf. + *

                                                                The name of the vocabulary filter you've created that is unique to your AWS account. * Provide the name in this field to successfully use it in a stream.

                                                                */ VocabularyFilterName?: string; /** - *

                                                                The encoding used for the input audio.

                                                                - */ - MediaEncoding: MediaEncoding | string | undefined; - - /** - *

                                                                Indicates the source language used in the input audio stream.

                                                                + *

                                                                When true, enables speaker identification in your real-time stream.

                                                                */ - LanguageCode: LanguageCode | string | undefined; + ShowSpeakerLabel?: boolean; /** - *

                                                                PCM-encoded stream of audio blobs. The audio stream is encoded as an HTTP2 data - * frame.

                                                                + *

                                                                When true, instructs Amazon Transcribe to process each audio channel separately and then merge the transcription output of each channel into a single transcription.

                                                                + *

                                                                Amazon Transcribe also produces a transcription of each item. An item includes the start time, end time, and any alternative transcriptions.

                                                                + *

                                                                You can't set both ShowSpeakerLabel and EnableChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

                                                                */ - AudioStream: AsyncIterable | undefined; + EnableChannelIdentification?: boolean; /** - *

                                                                A identifier for the transcription session. Use this parameter when you want to retry a - * session. If you don't provide a session ID, Amazon Transcribe will generate one for you and return it in - * the response.

                                                                + *

                                                                The encoding used for the input audio. pcm is the only valid value.

                                                                */ - SessionId?: string; + MediaEncoding: MediaEncoding | string | undefined; /** *

                                                                The name of the vocabulary to use when processing the transcription job.

                                                                @@ -311,11 +316,34 @@ export interface StartStreamTranscriptionRequest { */ VocabularyFilterMethod?: VocabularyFilterMethod | string; + /** + *

                                                                The number of channels that are in your audio stream.

                                                                + */ + NumberOfChannels?: number; + /** *

                                                                The sample rate, in Hertz, of the input audio. We suggest that you use 8000 Hz for low * quality audio and 16000 Hz for high quality audio.

                                                                */ MediaSampleRateHertz: number | undefined; + + /** + *

                                                                A identifier for the transcription session. Use this parameter when you want to retry a + * session. If you don't provide a session ID, Amazon Transcribe will generate one for you and return it in + * the response.

                                                                + */ + SessionId?: string; + + /** + *

                                                                Indicates the source language used in the input audio stream.

                                                                + */ + LanguageCode: LanguageCode | string | undefined; + + /** + *

                                                                PCM-encoded stream of audio blobs. The audio stream is encoded as an HTTP2 data + * frame.

                                                                + */ + AudioStream: AsyncIterable | undefined; } export namespace StartStreamTranscriptionRequest { @@ -382,129 +410,129 @@ export namespace TranscriptResultStream { */ export interface TranscriptEventMember { TranscriptEvent: TranscriptEvent; + LimitExceededException?: never; + ConflictException?: never; BadRequestException?: never; InternalFailureException?: never; - ConflictException?: never; ServiceUnavailableException?: never; - LimitExceededException?: never; $unknown?: never; } /** - *

                                                                A client error occurred when the stream was created. Check the parameters of the request - * and try your request again.

                                                                + *

                                                                Your client has exceeded one of the Amazon Transcribe limits, typically the limit on audio length. + * Break your audio stream into smaller chunks and try your request again.

                                                                */ - export interface BadRequestExceptionMember { + export interface LimitExceededExceptionMember { TranscriptEvent?: never; - BadRequestException: BadRequestException; - InternalFailureException?: never; + LimitExceededException: LimitExceededException; ConflictException?: never; + BadRequestException?: never; + InternalFailureException?: never; ServiceUnavailableException?: never; - LimitExceededException?: never; $unknown?: never; } /** - *

                                                                A problem occurred while processing the audio. Amazon Transcribe terminated processing.

                                                                + *

                                                                A new stream started with the same session ID. The current stream has been + * terminated.

                                                                */ - export interface InternalFailureExceptionMember { + export interface ConflictExceptionMember { TranscriptEvent?: never; + LimitExceededException?: never; + ConflictException: ConflictException; BadRequestException?: never; - InternalFailureException: InternalFailureException; - ConflictException?: never; + InternalFailureException?: never; ServiceUnavailableException?: never; - LimitExceededException?: never; $unknown?: never; } /** - *

                                                                A new stream started with the same session ID. The current stream has been - * terminated.

                                                                + *

                                                                A client error occurred when the stream was created. Check the parameters of the request + * and try your request again.

                                                                */ - export interface ConflictExceptionMember { + export interface BadRequestExceptionMember { TranscriptEvent?: never; - BadRequestException?: never; + LimitExceededException?: never; + ConflictException?: never; + BadRequestException: BadRequestException; InternalFailureException?: never; - ConflictException: ConflictException; ServiceUnavailableException?: never; - LimitExceededException?: never; $unknown?: never; } /** - *

                                                                Service is currently unavailable. Try your request later.

                                                                + *

                                                                A problem occurred while processing the audio. Amazon Transcribe terminated processing.

                                                                */ - export interface ServiceUnavailableExceptionMember { + export interface InternalFailureExceptionMember { TranscriptEvent?: never; - BadRequestException?: never; - InternalFailureException?: never; - ConflictException?: never; - ServiceUnavailableException: ServiceUnavailableException; LimitExceededException?: never; + ConflictException?: never; + BadRequestException?: never; + InternalFailureException: InternalFailureException; + ServiceUnavailableException?: never; $unknown?: never; } /** - *

                                                                Your client has exceeded one of the Amazon Transcribe limits, typically the limit on audio length. - * Break your audio stream into smaller chunks and try your request again.

                                                                + *

                                                                Service is currently unavailable. Try your request later.

                                                                */ - export interface LimitExceededExceptionMember { + export interface ServiceUnavailableExceptionMember { TranscriptEvent?: never; + LimitExceededException?: never; + ConflictException?: never; BadRequestException?: never; InternalFailureException?: never; - ConflictException?: never; - ServiceUnavailableException?: never; - LimitExceededException: LimitExceededException; + ServiceUnavailableException: ServiceUnavailableException; $unknown?: never; } export interface $UnknownMember { TranscriptEvent?: never; + LimitExceededException?: never; + ConflictException?: never; BadRequestException?: never; InternalFailureException?: never; - ConflictException?: never; ServiceUnavailableException?: never; - LimitExceededException?: never; $unknown: [string, any]; } export interface Visitor { TranscriptEvent: (value: TranscriptEvent) => T; + LimitExceededException: (value: LimitExceededException) => T; + ConflictException: (value: ConflictException) => T; BadRequestException: (value: BadRequestException) => T; InternalFailureException: (value: InternalFailureException) => T; - ConflictException: (value: ConflictException) => T; ServiceUnavailableException: (value: ServiceUnavailableException) => T; - LimitExceededException: (value: LimitExceededException) => T; _: (name: string, value: any) => T; } export const visit = (value: TranscriptResultStream, visitor: Visitor): T => { if (value.TranscriptEvent !== undefined) return visitor.TranscriptEvent(value.TranscriptEvent); + if (value.LimitExceededException !== undefined) return visitor.LimitExceededException(value.LimitExceededException); + if (value.ConflictException !== undefined) return visitor.ConflictException(value.ConflictException); if (value.BadRequestException !== undefined) return visitor.BadRequestException(value.BadRequestException); if (value.InternalFailureException !== undefined) return visitor.InternalFailureException(value.InternalFailureException); - if (value.ConflictException !== undefined) return visitor.ConflictException(value.ConflictException); if (value.ServiceUnavailableException !== undefined) return visitor.ServiceUnavailableException(value.ServiceUnavailableException); - if (value.LimitExceededException !== undefined) return visitor.LimitExceededException(value.LimitExceededException); return visitor._(value.$unknown[0], value.$unknown[1]); }; export const filterSensitiveLog = (obj: TranscriptResultStream): any => { if (obj.TranscriptEvent !== undefined) return { TranscriptEvent: TranscriptEvent.filterSensitiveLog(obj.TranscriptEvent) }; + if (obj.LimitExceededException !== undefined) + return { LimitExceededException: LimitExceededException.filterSensitiveLog(obj.LimitExceededException) }; + if (obj.ConflictException !== undefined) + return { ConflictException: ConflictException.filterSensitiveLog(obj.ConflictException) }; if (obj.BadRequestException !== undefined) return { BadRequestException: BadRequestException.filterSensitiveLog(obj.BadRequestException) }; if (obj.InternalFailureException !== undefined) return { InternalFailureException: InternalFailureException.filterSensitiveLog(obj.InternalFailureException) }; - if (obj.ConflictException !== undefined) - return { ConflictException: ConflictException.filterSensitiveLog(obj.ConflictException) }; if (obj.ServiceUnavailableException !== undefined) return { ServiceUnavailableException: ServiceUnavailableException.filterSensitiveLog(obj.ServiceUnavailableException), }; - if (obj.LimitExceededException !== undefined) - return { LimitExceededException: LimitExceededException.filterSensitiveLog(obj.LimitExceededException) }; if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; }; } @@ -515,6 +543,11 @@ export interface StartStreamTranscriptionResponse { */ VocabularyFilterName?: string; + /** + *

                                                                The language code for the input audio stream.

                                                                + */ + LanguageCode?: LanguageCode | string; + /** *

                                                                The encoding used for the input audio stream.

                                                                */ @@ -531,14 +564,14 @@ export interface StartStreamTranscriptionResponse { VocabularyFilterMethod?: VocabularyFilterMethod | string; /** - *

                                                                The language code for the input audio stream.

                                                                + *

                                                                Represents the stream of transcription events from Amazon Transcribe to your application.

                                                                */ - LanguageCode?: LanguageCode | string; + TranscriptResultStream?: AsyncIterable; /** - *

                                                                An identifier for the streaming transcription.

                                                                + *

                                                                An identifier for a specific transcription session.

                                                                */ - RequestId?: string; + SessionId?: string; /** *

                                                                The sample rate for the input audio stream. Use 8000 Hz for low quality audio and 16000 Hz @@ -547,14 +580,24 @@ export interface StartStreamTranscriptionResponse { MediaSampleRateHertz?: number; /** - *

                                                                An identifier for a specific transcription session.

                                                                + *

                                                                The number of channels identified in the stream.

                                                                */ - SessionId?: string; + NumberOfChannels?: number; /** - *

                                                                Represents the stream of transcription events from Amazon Transcribe to your application.

                                                                + *

                                                                Shows whether channel identification has been enabled in the stream.

                                                                */ - TranscriptResultStream?: AsyncIterable; + EnableChannelIdentification?: boolean; + + /** + *

                                                                Shows whether speaker identification was enabled in the stream.

                                                                + */ + ShowSpeakerLabel?: boolean; + + /** + *

                                                                An identifier for the streaming transcription.

                                                                + */ + RequestId?: string; } export namespace StartStreamTranscriptionResponse { diff --git a/clients/client-transcribe-streaming/protocols/Aws_restJson1.ts b/clients/client-transcribe-streaming/protocols/Aws_restJson1.ts index 1b39574983a6..636dd9c204e5 100644 --- a/clients/client-transcribe-streaming/protocols/Aws_restJson1.ts +++ b/clients/client-transcribe-streaming/protocols/Aws_restJson1.ts @@ -37,18 +37,27 @@ export const serializeAws_restJson1StartStreamTranscriptionCommand = async ( ...(isSerializableHeaderValue(input.VocabularyFilterName) && { "x-amzn-transcribe-vocabulary-filter-name": input.VocabularyFilterName!, }), + ...(isSerializableHeaderValue(input.ShowSpeakerLabel) && { + "x-amzn-transcribe-show-speaker-label": input.ShowSpeakerLabel!.toString(), + }), + ...(isSerializableHeaderValue(input.EnableChannelIdentification) && { + "x-amzn-transcribe-enable-channel-identification": input.EnableChannelIdentification!.toString(), + }), ...(isSerializableHeaderValue(input.MediaEncoding) && { "x-amzn-transcribe-media-encoding": input.MediaEncoding! }), - ...(isSerializableHeaderValue(input.LanguageCode) && { "x-amzn-transcribe-language-code": input.LanguageCode! }), - ...(isSerializableHeaderValue(input.SessionId) && { "x-amzn-transcribe-session-id": input.SessionId! }), ...(isSerializableHeaderValue(input.VocabularyName) && { "x-amzn-transcribe-vocabulary-name": input.VocabularyName!, }), ...(isSerializableHeaderValue(input.VocabularyFilterMethod) && { "x-amzn-transcribe-vocabulary-filter-method": input.VocabularyFilterMethod!, }), + ...(isSerializableHeaderValue(input.NumberOfChannels) && { + "x-amzn-transcribe-number-of-channels": input.NumberOfChannels!.toString(), + }), ...(isSerializableHeaderValue(input.MediaSampleRateHertz) && { "x-amzn-transcribe-sample-rate": input.MediaSampleRateHertz!.toString(), }), + ...(isSerializableHeaderValue(input.SessionId) && { "x-amzn-transcribe-session-id": input.SessionId! }), + ...(isSerializableHeaderValue(input.LanguageCode) && { "x-amzn-transcribe-language-code": input.LanguageCode! }), }; let resolvedPath = "/stream-transcription"; let body: any; @@ -78,11 +87,14 @@ export const deserializeAws_restJson1StartStreamTranscriptionCommand = async ( } const contents: StartStreamTranscriptionCommandOutput = { $metadata: deserializeMetadata(output), + EnableChannelIdentification: undefined, LanguageCode: undefined, MediaEncoding: undefined, MediaSampleRateHertz: undefined, + NumberOfChannels: undefined, RequestId: undefined, SessionId: undefined, + ShowSpeakerLabel: undefined, TranscriptResultStream: undefined, VocabularyFilterMethod: undefined, VocabularyFilterName: undefined, @@ -91,6 +103,9 @@ export const deserializeAws_restJson1StartStreamTranscriptionCommand = async ( if (output.headers["x-amzn-transcribe-vocabulary-filter-name"] !== undefined) { contents.VocabularyFilterName = output.headers["x-amzn-transcribe-vocabulary-filter-name"]; } + if (output.headers["x-amzn-transcribe-language-code"] !== undefined) { + contents.LanguageCode = output.headers["x-amzn-transcribe-language-code"]; + } if (output.headers["x-amzn-transcribe-media-encoding"] !== undefined) { contents.MediaEncoding = output.headers["x-amzn-transcribe-media-encoding"]; } @@ -100,17 +115,23 @@ export const deserializeAws_restJson1StartStreamTranscriptionCommand = async ( if (output.headers["x-amzn-transcribe-vocabulary-filter-method"] !== undefined) { contents.VocabularyFilterMethod = output.headers["x-amzn-transcribe-vocabulary-filter-method"]; } - if (output.headers["x-amzn-transcribe-language-code"] !== undefined) { - contents.LanguageCode = output.headers["x-amzn-transcribe-language-code"]; - } - if (output.headers["x-amzn-request-id"] !== undefined) { - contents.RequestId = output.headers["x-amzn-request-id"]; + if (output.headers["x-amzn-transcribe-session-id"] !== undefined) { + contents.SessionId = output.headers["x-amzn-transcribe-session-id"]; } if (output.headers["x-amzn-transcribe-sample-rate"] !== undefined) { contents.MediaSampleRateHertz = parseInt(output.headers["x-amzn-transcribe-sample-rate"], 10); } - if (output.headers["x-amzn-transcribe-session-id"] !== undefined) { - contents.SessionId = output.headers["x-amzn-transcribe-session-id"]; + if (output.headers["x-amzn-transcribe-number-of-channels"] !== undefined) { + contents.NumberOfChannels = parseInt(output.headers["x-amzn-transcribe-number-of-channels"], 10); + } + if (output.headers["x-amzn-transcribe-enable-channel-identification"] !== undefined) { + contents.EnableChannelIdentification = output.headers["x-amzn-transcribe-enable-channel-identification"] === "true"; + } + if (output.headers["x-amzn-transcribe-show-speaker-label"] !== undefined) { + contents.ShowSpeakerLabel = output.headers["x-amzn-transcribe-show-speaker-label"] === "true"; + } + if (output.headers["x-amzn-request-id"] !== undefined) { + contents.RequestId = output.headers["x-amzn-request-id"]; } const data: any = context.eventStreamMarshaller.deserialize(output.body, async (event) => { const eventName = Object.keys(event)[0]; @@ -215,6 +236,19 @@ const deserializeAws_restJson1TranscriptResultStream_event = async ( TranscriptEvent: await deserializeAws_restJson1TranscriptEvent_event(output["TranscriptEvent"], context), }; } + if (output["LimitExceededException"] !== undefined) { + return { + LimitExceededException: await deserializeAws_restJson1LimitExceededException_event( + output["LimitExceededException"], + context + ), + }; + } + if (output["ConflictException"] !== undefined) { + return { + ConflictException: await deserializeAws_restJson1ConflictException_event(output["ConflictException"], context), + }; + } if (output["BadRequestException"] !== undefined) { return { BadRequestException: await deserializeAws_restJson1BadRequestException_event( @@ -231,11 +265,6 @@ const deserializeAws_restJson1TranscriptResultStream_event = async ( ), }; } - if (output["ConflictException"] !== undefined) { - return { - ConflictException: await deserializeAws_restJson1ConflictException_event(output["ConflictException"], context), - }; - } if (output["ServiceUnavailableException"] !== undefined) { return { ServiceUnavailableException: await deserializeAws_restJson1ServiceUnavailableException_event( @@ -244,14 +273,6 @@ const deserializeAws_restJson1TranscriptResultStream_event = async ( ), }; } - if (output["LimitExceededException"] !== undefined) { - return { - LimitExceededException: await deserializeAws_restJson1LimitExceededException_event( - output["LimitExceededException"], - context - ), - }; - } return { $unknown: output }; }; const serializeAws_restJson1AudioEvent_event = (input: AudioEvent, context: __SerdeContext): __Message => { @@ -443,6 +464,7 @@ const deserializeAws_restJson1Item = (output: any, context: __SerdeContext): Ite return { Content: output.Content !== undefined && output.Content !== null ? output.Content : undefined, EndTime: output.EndTime !== undefined && output.EndTime !== null ? output.EndTime : undefined, + Speaker: output.Speaker !== undefined && output.Speaker !== null ? output.Speaker : undefined, StartTime: output.StartTime !== undefined && output.StartTime !== null ? output.StartTime : undefined, Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined, VocabularyFilterMatch: @@ -462,6 +484,7 @@ const deserializeAws_restJson1Result = (output: any, context: __SerdeContext): R output.Alternatives !== undefined && output.Alternatives !== null ? deserializeAws_restJson1AlternativeList(output.Alternatives, context) : undefined, + ChannelId: output.ChannelId !== undefined && output.ChannelId !== null ? output.ChannelId : undefined, EndTime: output.EndTime !== undefined && output.EndTime !== null ? output.EndTime : undefined, IsPartial: output.IsPartial !== undefined && output.IsPartial !== null ? output.IsPartial : undefined, ResultId: output.ResultId !== undefined && output.ResultId !== null ? output.ResultId : undefined, diff --git a/clients/client-transcribe/Transcribe.ts b/clients/client-transcribe/Transcribe.ts index 00be2a51118e..c1b1d8f4047b 100644 --- a/clients/client-transcribe/Transcribe.ts +++ b/clients/client-transcribe/Transcribe.ts @@ -1,4 +1,9 @@ import { TranscribeClient } from "./TranscribeClient"; +import { + CreateLanguageModelCommand, + CreateLanguageModelCommandInput, + CreateLanguageModelCommandOutput, +} from "./commands/CreateLanguageModelCommand"; import { CreateMedicalVocabularyCommand, CreateMedicalVocabularyCommandInput, @@ -14,6 +19,11 @@ import { CreateVocabularyFilterCommandInput, CreateVocabularyFilterCommandOutput, } from "./commands/CreateVocabularyFilterCommand"; +import { + DeleteLanguageModelCommand, + DeleteLanguageModelCommandInput, + DeleteLanguageModelCommandOutput, +} from "./commands/DeleteLanguageModelCommand"; import { DeleteMedicalTranscriptionJobCommand, DeleteMedicalTranscriptionJobCommandInput, @@ -39,6 +49,11 @@ import { DeleteVocabularyFilterCommandInput, DeleteVocabularyFilterCommandOutput, } from "./commands/DeleteVocabularyFilterCommand"; +import { + DescribeLanguageModelCommand, + DescribeLanguageModelCommandInput, + DescribeLanguageModelCommandOutput, +} from "./commands/DescribeLanguageModelCommand"; import { GetMedicalTranscriptionJobCommand, GetMedicalTranscriptionJobCommandInput, @@ -64,6 +79,11 @@ import { GetVocabularyFilterCommandInput, GetVocabularyFilterCommandOutput, } from "./commands/GetVocabularyFilterCommand"; +import { + ListLanguageModelsCommand, + ListLanguageModelsCommandInput, + ListLanguageModelsCommandOutput, +} from "./commands/ListLanguageModelsCommand"; import { ListMedicalTranscriptionJobsCommand, ListMedicalTranscriptionJobsCommandInput, @@ -121,8 +141,43 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; */ export class Transcribe extends TranscribeClient { /** - *

                                                                Creates a new custom vocabulary that you can use to change how Amazon Transcribe Medical transcribes your - * audio file.

                                                                + *

                                                                Creates a new custom language model. Use Amazon S3 prefixes to provide the location of your + * input files. The time it takes to create your model depends on the size of your training + * data.

                                                                + */ + public createLanguageModel( + args: CreateLanguageModelCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createLanguageModel( + args: CreateLanguageModelCommandInput, + cb: (err: any, data?: CreateLanguageModelCommandOutput) => void + ): void; + public createLanguageModel( + args: CreateLanguageModelCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateLanguageModelCommandOutput) => void + ): void; + public createLanguageModel( + args: CreateLanguageModelCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateLanguageModelCommandOutput) => void), + cb?: (err: any, data?: CreateLanguageModelCommandOutput) => void + ): Promise | void { + const command = new CreateLanguageModelCommand(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 custom vocabulary that you can use to + * change + * how Amazon Transcribe Medical transcribes your audio file.

                                                                */ public createMedicalVocabulary( args: CreateMedicalVocabularyCommandInput, @@ -219,6 +274,38 @@ export class Transcribe extends TranscribeClient { } } + /** + *

                                                                Deletes a custom language model using its name.

                                                                + */ + public deleteLanguageModel( + args: DeleteLanguageModelCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteLanguageModel( + args: DeleteLanguageModelCommandInput, + cb: (err: any, data?: DeleteLanguageModelCommandOutput) => void + ): void; + public deleteLanguageModel( + args: DeleteLanguageModelCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteLanguageModelCommandOutput) => void + ): void; + public deleteLanguageModel( + args: DeleteLanguageModelCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteLanguageModelCommandOutput) => void), + cb?: (err: any, data?: DeleteLanguageModelCommandOutput) => void + ): Promise | void { + const command = new DeleteLanguageModelCommand(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 transcription job generated by Amazon Transcribe Medical and any related information.

                                                                */ @@ -380,6 +467,43 @@ export class Transcribe extends TranscribeClient { } } + /** + *

                                                                Gets information about a single custom language model. Use this information to see + * details about the language model in your AWS account. You can also see whether the base + * language model used to create your custom language model has been updated. If Amazon Transcribe has + * updated the base model, you can create a new custom language model using the updated + * base model. If the language model wasn't created, you can use this operation to + * understand why Amazon Transcribe couldn't create it.

                                                                + */ + public describeLanguageModel( + args: DescribeLanguageModelCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeLanguageModel( + args: DescribeLanguageModelCommandInput, + cb: (err: any, data?: DescribeLanguageModelCommandOutput) => void + ): void; + public describeLanguageModel( + args: DescribeLanguageModelCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeLanguageModelCommandOutput) => void + ): void; + public describeLanguageModel( + args: DescribeLanguageModelCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeLanguageModelCommandOutput) => void), + cb?: (err: any, data?: DescribeLanguageModelCommandOutput) => void + ): Promise | void { + const command = new DescribeLanguageModelCommand(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 information about a transcription job from Amazon Transcribe Medical. To see the status of the * job, check the TranscriptionJobStatus field. If the status is @@ -416,7 +540,7 @@ export class Transcribe extends TranscribeClient { } /** - *

                                                                Retrieve information about a medical vocabulary.

                                                                + *

                                                                Retrieves information about a medical vocabulary.

                                                                */ public getMedicalVocabulary( args: GetMedicalVocabularyCommandInput, @@ -547,6 +671,41 @@ export class Transcribe extends TranscribeClient { } } + /** + *

                                                                Provides more information about the custom language models you've created. You can use + * the information in this list to find a specific custom language model. You can then use + * the operation to get more information about + * it.

                                                                + */ + public listLanguageModels( + args: ListLanguageModelsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listLanguageModels( + args: ListLanguageModelsCommandInput, + cb: (err: any, data?: ListLanguageModelsCommandOutput) => void + ): void; + public listLanguageModels( + args: ListLanguageModelsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListLanguageModelsCommandOutput) => void + ): void; + public listLanguageModels( + args: ListLanguageModelsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListLanguageModelsCommandOutput) => void), + cb?: (err: any, data?: ListLanguageModelsCommandOutput) => void + ): Promise | void { + const command = new ListLanguageModelsCommand(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 medical transcription jobs with a specified status or substring that matches * their names.

                                                                @@ -581,8 +740,8 @@ export class Transcribe extends TranscribeClient { } /** - *

                                                                Returns a list of vocabularies that match the specified criteria. You get the entire - * list of vocabularies if you don't enter a value in any of the request parameters.

                                                                + *

                                                                Returns a list of vocabularies that match the specified criteria. If you don't enter a + * value in any of the request parameters, returns the entire list of vocabularies.

                                                                */ public listMedicalVocabularies( args: ListMedicalVocabulariesCommandInput, @@ -711,7 +870,7 @@ export class Transcribe extends TranscribeClient { } /** - *

                                                                Start a batch job to transcribe medical speech to text.

                                                                + *

                                                                Starts a batch job to transcribe medical speech to text.

                                                                */ public startMedicalTranscriptionJob( args: StartMedicalTranscriptionJobCommandInput, @@ -775,9 +934,10 @@ export class Transcribe extends TranscribeClient { } /** - *

                                                                Updates an existing vocabulary with new values in a different text file. The - * UpdateMedicalVocabulary operation overwrites all of the existing - * information with the values that you provide in the request.

                                                                + *

                                                                Updates a vocabulary with new values that you provide in a different text file from + * the one you used to create the vocabulary. The UpdateMedicalVocabulary + * operation overwrites all of the existing information with the values that you provide in + * the request.

                                                                */ public updateMedicalVocabulary( args: UpdateMedicalVocabularyCommandInput, diff --git a/clients/client-transcribe/TranscribeClient.ts b/clients/client-transcribe/TranscribeClient.ts index 59e1b0b39aa1..fde894e2c6c4 100644 --- a/clients/client-transcribe/TranscribeClient.ts +++ b/clients/client-transcribe/TranscribeClient.ts @@ -1,3 +1,7 @@ +import { + CreateLanguageModelCommandInput, + CreateLanguageModelCommandOutput, +} from "./commands/CreateLanguageModelCommand"; import { CreateMedicalVocabularyCommandInput, CreateMedicalVocabularyCommandOutput, @@ -7,6 +11,10 @@ import { CreateVocabularyFilterCommandInput, CreateVocabularyFilterCommandOutput, } from "./commands/CreateVocabularyFilterCommand"; +import { + DeleteLanguageModelCommandInput, + DeleteLanguageModelCommandOutput, +} from "./commands/DeleteLanguageModelCommand"; import { DeleteMedicalTranscriptionJobCommandInput, DeleteMedicalTranscriptionJobCommandOutput, @@ -24,6 +32,10 @@ import { DeleteVocabularyFilterCommandInput, DeleteVocabularyFilterCommandOutput, } from "./commands/DeleteVocabularyFilterCommand"; +import { + DescribeLanguageModelCommandInput, + DescribeLanguageModelCommandOutput, +} from "./commands/DescribeLanguageModelCommand"; import { GetMedicalTranscriptionJobCommandInput, GetMedicalTranscriptionJobCommandOutput, @@ -41,6 +53,7 @@ import { GetVocabularyFilterCommandInput, GetVocabularyFilterCommandOutput, } from "./commands/GetVocabularyFilterCommand"; +import { ListLanguageModelsCommandInput, ListLanguageModelsCommandOutput } from "./commands/ListLanguageModelsCommand"; import { ListMedicalTranscriptionJobsCommandInput, ListMedicalTranscriptionJobsCommandOutput, @@ -125,19 +138,23 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | CreateLanguageModelCommandInput | CreateMedicalVocabularyCommandInput | CreateVocabularyCommandInput | CreateVocabularyFilterCommandInput + | DeleteLanguageModelCommandInput | DeleteMedicalTranscriptionJobCommandInput | DeleteMedicalVocabularyCommandInput | DeleteTranscriptionJobCommandInput | DeleteVocabularyCommandInput | DeleteVocabularyFilterCommandInput + | DescribeLanguageModelCommandInput | GetMedicalTranscriptionJobCommandInput | GetMedicalVocabularyCommandInput | GetTranscriptionJobCommandInput | GetVocabularyCommandInput | GetVocabularyFilterCommandInput + | ListLanguageModelsCommandInput | ListMedicalTranscriptionJobsCommandInput | ListMedicalVocabulariesCommandInput | ListTranscriptionJobsCommandInput @@ -150,19 +167,23 @@ export type ServiceInputTypes = | UpdateVocabularyFilterCommandInput; export type ServiceOutputTypes = + | CreateLanguageModelCommandOutput | CreateMedicalVocabularyCommandOutput | CreateVocabularyCommandOutput | CreateVocabularyFilterCommandOutput + | DeleteLanguageModelCommandOutput | DeleteMedicalTranscriptionJobCommandOutput | DeleteMedicalVocabularyCommandOutput | DeleteTranscriptionJobCommandOutput | DeleteVocabularyCommandOutput | DeleteVocabularyFilterCommandOutput + | DescribeLanguageModelCommandOutput | GetMedicalTranscriptionJobCommandOutput | GetMedicalVocabularyCommandOutput | GetTranscriptionJobCommandOutput | GetVocabularyCommandOutput | GetVocabularyFilterCommandOutput + | ListLanguageModelsCommandOutput | ListMedicalTranscriptionJobsCommandOutput | ListMedicalVocabulariesCommandOutput | ListTranscriptionJobsCommandOutput diff --git a/clients/client-transcribe/commands/CreateLanguageModelCommand.ts b/clients/client-transcribe/commands/CreateLanguageModelCommand.ts new file mode 100644 index 000000000000..bcd862b25b0d --- /dev/null +++ b/clients/client-transcribe/commands/CreateLanguageModelCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TranscribeClientResolvedConfig } from "../TranscribeClient"; +import { CreateLanguageModelRequest, CreateLanguageModelResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateLanguageModelCommand, + serializeAws_json1_1CreateLanguageModelCommand, +} 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 CreateLanguageModelCommandInput = CreateLanguageModelRequest; +export type CreateLanguageModelCommandOutput = CreateLanguageModelResponse & __MetadataBearer; + +export class CreateLanguageModelCommand extends $Command< + CreateLanguageModelCommandInput, + CreateLanguageModelCommandOutput, + TranscribeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateLanguageModelCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TranscribeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateLanguageModelRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateLanguageModelResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateLanguageModelCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateLanguageModelCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateLanguageModelCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-transcribe/commands/DeleteLanguageModelCommand.ts b/clients/client-transcribe/commands/DeleteLanguageModelCommand.ts new file mode 100644 index 000000000000..c65936d44966 --- /dev/null +++ b/clients/client-transcribe/commands/DeleteLanguageModelCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TranscribeClientResolvedConfig } from "../TranscribeClient"; +import { DeleteLanguageModelRequest } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteLanguageModelCommand, + serializeAws_json1_1DeleteLanguageModelCommand, +} 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 DeleteLanguageModelCommandInput = DeleteLanguageModelRequest; +export type DeleteLanguageModelCommandOutput = __MetadataBearer; + +export class DeleteLanguageModelCommand extends $Command< + DeleteLanguageModelCommandInput, + DeleteLanguageModelCommandOutput, + TranscribeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteLanguageModelCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TranscribeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteLanguageModelRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteLanguageModelCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteLanguageModelCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteLanguageModelCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-transcribe/commands/DescribeLanguageModelCommand.ts b/clients/client-transcribe/commands/DescribeLanguageModelCommand.ts new file mode 100644 index 000000000000..f420f4d21cee --- /dev/null +++ b/clients/client-transcribe/commands/DescribeLanguageModelCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TranscribeClientResolvedConfig } from "../TranscribeClient"; +import { DescribeLanguageModelRequest, DescribeLanguageModelResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeLanguageModelCommand, + serializeAws_json1_1DescribeLanguageModelCommand, +} 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 DescribeLanguageModelCommandInput = DescribeLanguageModelRequest; +export type DescribeLanguageModelCommandOutput = DescribeLanguageModelResponse & __MetadataBearer; + +export class DescribeLanguageModelCommand extends $Command< + DescribeLanguageModelCommandInput, + DescribeLanguageModelCommandOutput, + TranscribeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeLanguageModelCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TranscribeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeLanguageModelRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeLanguageModelResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeLanguageModelCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeLanguageModelCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeLanguageModelCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-transcribe/commands/ListLanguageModelsCommand.ts b/clients/client-transcribe/commands/ListLanguageModelsCommand.ts new file mode 100644 index 000000000000..2a0cff14f1c6 --- /dev/null +++ b/clients/client-transcribe/commands/ListLanguageModelsCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TranscribeClientResolvedConfig } from "../TranscribeClient"; +import { ListLanguageModelsRequest, ListLanguageModelsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListLanguageModelsCommand, + serializeAws_json1_1ListLanguageModelsCommand, +} 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 ListLanguageModelsCommandInput = ListLanguageModelsRequest; +export type ListLanguageModelsCommandOutput = ListLanguageModelsResponse & __MetadataBearer; + +export class ListLanguageModelsCommand extends $Command< + ListLanguageModelsCommandInput, + ListLanguageModelsCommandOutput, + TranscribeClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListLanguageModelsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TranscribeClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListLanguageModelsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListLanguageModelsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListLanguageModelsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListLanguageModelsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListLanguageModelsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-transcribe/index.ts b/clients/client-transcribe/index.ts index 47f59030bf99..d21f55db67fc 100644 --- a/clients/client-transcribe/index.ts +++ b/clients/client-transcribe/index.ts @@ -1,18 +1,23 @@ export * from "./TranscribeClient"; export * from "./Transcribe"; +export * from "./commands/CreateLanguageModelCommand"; export * from "./commands/CreateMedicalVocabularyCommand"; export * from "./commands/CreateVocabularyCommand"; export * from "./commands/CreateVocabularyFilterCommand"; +export * from "./commands/DeleteLanguageModelCommand"; export * from "./commands/DeleteMedicalTranscriptionJobCommand"; export * from "./commands/DeleteMedicalVocabularyCommand"; export * from "./commands/DeleteTranscriptionJobCommand"; export * from "./commands/DeleteVocabularyCommand"; export * from "./commands/DeleteVocabularyFilterCommand"; +export * from "./commands/DescribeLanguageModelCommand"; export * from "./commands/GetMedicalTranscriptionJobCommand"; export * from "./commands/GetMedicalVocabularyCommand"; export * from "./commands/GetTranscriptionJobCommand"; export * from "./commands/GetVocabularyCommand"; export * from "./commands/GetVocabularyFilterCommand"; +export * from "./commands/ListLanguageModelsCommand"; +export * from "./pagination/ListLanguageModelsPaginator"; export * from "./commands/ListMedicalTranscriptionJobsCommand"; export * from "./pagination/ListMedicalTranscriptionJobsPaginator"; export * from "./commands/ListMedicalVocabulariesCommand"; diff --git a/clients/client-transcribe/models/models_0.ts b/clients/client-transcribe/models/models_0.ts index b650fb52b7b8..f2227bdc7015 100644 --- a/clients/client-transcribe/models/models_0.ts +++ b/clients/client-transcribe/models/models_0.ts @@ -2,9 +2,9 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; /** - *

                                                                Your request didn't pass one or more validation tests. For example, if the - * transcription you're trying to delete doesn't exist or if it is in a non-terminal state - * (for example, it's "in progress"). See the exception Message field for more + *

                                                                Your request didn't pass one or more validation tests. For example, if the entity that + * you're trying to delete doesn't exist or if it is in a non-terminal state (for example, + * it's "in progress"). See the exception Message field for more * information.

                                                                */ export interface BadRequestException extends __SmithyException, $MetadataBearer { @@ -19,8 +19,17 @@ export namespace BadRequestException { }); } +export enum BaseModelName { + NARROW_BAND = "NarrowBand", + WIDE_BAND = "WideBand", +} + +export enum CLMLanguageCode { + EN_US = "en-US", +} + /** - *

                                                                The resource name already exists.

                                                                + *

                                                                There is already a resource with that name.

                                                                */ export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; @@ -47,6 +56,12 @@ export enum RedactionType { *

                                                                Settings for content redaction within a transcription job.

                                                                */ export interface ContentRedaction { + /** + *

                                                                Request parameter that defines the entities to be redacted. The only accepted value is + * PII.

                                                                + */ + RedactionType: RedactionType | string | undefined; + /** *

                                                                The output transcript file stored in either the default S3 bucket or in a bucket you * specify.

                                                                @@ -56,23 +71,159 @@ export interface ContentRedaction { * and unredacted transcripts.

                                                                */ RedactionOutput: RedactionOutput | string | undefined; +} + +export namespace ContentRedaction { + export const filterSensitiveLog = (obj: ContentRedaction): any => ({ + ...obj, + }); +} +/** + *

                                                                The object that contains the Amazon S3 object location and access role required to train + * and tune your custom language model.

                                                                + */ +export interface InputDataConfig { /** - *

                                                                Request parameter that defines the entities to be redacted. The only accepted value is - * PII.

                                                                + *

                                                                The Amazon S3 prefix you specify to access the plain text files that you use to tune your + * custom language model.

                                                                */ - RedactionType: RedactionType | string | undefined; + TuningDataS3Uri?: string; + + /** + *

                                                                The Amazon Resource Name (ARN) that uniquely identifies the permissions you've given + * Amazon Transcribe to access your Amazon S3 buckets containing your media files or text data.

                                                                + */ + DataAccessRoleArn: string | undefined; + + /** + *

                                                                The Amazon S3 prefix you specify to access the plain text files that you use to train your + * custom language model.

                                                                + */ + S3Uri: string | undefined; } -export namespace ContentRedaction { - export const filterSensitiveLog = (obj: ContentRedaction): any => ({ +export namespace InputDataConfig { + export const filterSensitiveLog = (obj: InputDataConfig): any => ({ + ...obj, + }); +} + +export interface CreateLanguageModelRequest { + /** + *

                                                                The name you choose for your custom language model when you create it.

                                                                + */ + ModelName: string | undefined; + + /** + *

                                                                The language of the input text you're using to train your custom language + * model.

                                                                + */ + LanguageCode: CLMLanguageCode | string | undefined; + + /** + *

                                                                The Amazon Transcribe standard language model, or base model used to create your custom language + * model.

                                                                + *

                                                                If you want to use your custom language model to transcribe audio with a sample rate + * of 16 kHz or greater, choose Wideband.

                                                                + *

                                                                If you want to use your custom language model to transcribe audio with a sample rate + * that is less than 16 kHz, choose Narrowband.

                                                                + */ + BaseModelName: BaseModelName | string | undefined; + + /** + *

                                                                Contains the data access role and the Amazon S3 prefixes to read the required input files + * to create a custom language model.

                                                                + */ + InputDataConfig: InputDataConfig | undefined; +} + +export namespace CreateLanguageModelRequest { + export const filterSensitiveLog = (obj: CreateLanguageModelRequest): any => ({ + ...obj, + }); +} + +export enum ModelStatus { + COMPLETED = "COMPLETED", + FAILED = "FAILED", + IN_PROGRESS = "IN_PROGRESS", +} + +export interface CreateLanguageModelResponse { + /** + *

                                                                The data access role and Amazon S3 prefixes you've chosen to create your custom language + * model.

                                                                + */ + InputDataConfig?: InputDataConfig; + + /** + *

                                                                The status of the custom language model. When the status is COMPLETED the + * model is ready to use.

                                                                + */ + ModelStatus?: ModelStatus | string; + + /** + *

                                                                The language code of the text you've used to create a custom language model.

                                                                + */ + LanguageCode?: CLMLanguageCode | string; + + /** + *

                                                                The Amazon Transcribe standard language model, or base model you've used to create a custom + * language model.

                                                                + */ + BaseModelName?: BaseModelName | string; + + /** + *

                                                                The name you've chosen for your custom language model.

                                                                + */ + ModelName?: string; +} + +export namespace CreateLanguageModelResponse { + export const filterSensitiveLog = (obj: CreateLanguageModelResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                There was an internal error. Check the error message and try your request + * again.

                                                                + */ +export interface InternalFailureException extends __SmithyException, $MetadataBearer { + name: "InternalFailureException"; + $fault: "server"; + Message?: string; +} + +export namespace InternalFailureException { + export const filterSensitiveLog = (obj: InternalFailureException): any => ({ + ...obj, + }); +} + +/** + *

                                                                Either you have sent too many requests or your input file is too long. Wait before you + * resend your request, or use a smaller file and resend the request.

                                                                + */ +export interface LimitExceededException extends __SmithyException, $MetadataBearer { + name: "LimitExceededException"; + $fault: "client"; + Message?: string; +} + +export namespace LimitExceededException { + export const filterSensitiveLog = (obj: LimitExceededException): any => ({ ...obj, }); } export enum LanguageCode { + AF_ZA = "af-ZA", AR_AE = "ar-AE", AR_SA = "ar-SA", + CY_GB = "cy-GB", + DA_DK = "da-DK", DE_CH = "de-CH", DE_DE = "de-DE", EN_AB = "en-AB", @@ -87,6 +238,8 @@ export enum LanguageCode { FA_IR = "fa-IR", FR_CA = "fr-CA", FR_FR = "fr-FR", + GA_IE = "ga-IE", + GD_GB = "gd-GB", HE_IL = "he-IL", HI_IN = "hi-IN", ID_ID = "id-ID", @@ -106,36 +259,39 @@ export enum LanguageCode { export interface CreateMedicalVocabularyRequest { /** - *

                                                                The Amazon S3 location of the text file you use to define your custom vocabulary. The URI - * must be in the same AWS region as the API endpoint you're calling. Enter information - * about your VocabularyFileUri in the following format:

                                                                + *

                                                                The name of the custom vocabulary. This case-sensitive name must be unique within an + * AWS account. If you try to create a vocabulary with the same name as a previous + * vocabulary, you get a ConflictException error.

                                                                + */ + VocabularyName: string | undefined; + + /** + *

                                                                The language code for the language used for the entries in your custom vocabulary. The + * language code of your custom vocabulary must match the language code of your + * transcription job. US English (en-US) is the only language code available for + * Amazon Transcribe Medical.

                                                                + */ + LanguageCode: LanguageCode | string | undefined; + + /** + *

                                                                The location in Amazon S3 of the text file you use to define your custom vocabulary. The + * URI must be in the same AWS Region as the + * resource + * that you're calling. Enter information about your + * VocabularyFileUri in the following format:

                                                                *

                                                                * * https://s3..amazonaws.com/// * *

                                                                - *

                                                                This is an example of a vocabulary file uri location in Amazon S3:

                                                                + *

                                                                The following is an example URI for a vocabulary file that is stored in Amazon S3:

                                                                *

                                                                * https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt *

                                                                - *

                                                                For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                + *

                                                                For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                *

                                                                For more information about custom vocabularies, see Medical Custom Vocabularies.

                                                                */ VocabularyFileUri: string | undefined; - - /** - *

                                                                The language code used for the entries within your custom vocabulary. The language - * code of your custom vocabulary must match the language code of your transcription job. - * US English (en-US) is the only language code available for Amazon Transcribe Medical.

                                                                - */ - LanguageCode: LanguageCode | string | undefined; - - /** - *

                                                                The name of the custom vocabulary. This case-sensitive name must be unique within an - * AWS account. If you try to create a vocabulary with the same name as a previous - * vocabulary you will receive a ConflictException error.

                                                                - */ - VocabularyName: string | undefined; } export namespace CreateMedicalVocabularyRequest { @@ -152,16 +308,16 @@ export enum VocabularyState { export interface CreateMedicalVocabularyResponse { /** - *

                                                                The language code you chose to describe the entries in your custom vocabulary. US - * English (en-US) is the only valid language code for Amazon Transcribe Medical.

                                                                + *

                                                                The processing state of your custom vocabulary in Amazon Transcribe Medical. If the state is + * READY, you can use the vocabulary in a + * StartMedicalTranscriptionJob request.

                                                                */ - LanguageCode?: LanguageCode | string; + VocabularyState?: VocabularyState | string; /** - *

                                                                The name of the vocabulary. The name must be unique within an AWS account. It is also - * case-sensitive.

                                                                + *

                                                                The date and time that you created the vocabulary.

                                                                */ - VocabularyName?: string; + LastModifiedTime?: Date; /** *

                                                                If the VocabularyState field is FAILED, this field contains @@ -170,16 +326,16 @@ export interface CreateMedicalVocabularyResponse { FailureReason?: string; /** - *

                                                                The date and time you created the vocabulary.

                                                                + *

                                                                The language code for the entries in your custom vocabulary. US English (en-US) is the + * only valid language code for Amazon Transcribe Medical.

                                                                */ - LastModifiedTime?: Date; + LanguageCode?: LanguageCode | string; /** - *

                                                                The processing state of your custom vocabulary in Amazon Transcribe Medical. If the state is - * READY you can use the vocabulary in a - * StartMedicalTranscriptionJob request.

                                                                + *

                                                                The name of the vocabulary. The name must be unique within an AWS account and is case + * sensitive.

                                                                */ - VocabularyState?: VocabularyState | string; + VocabularyName?: string; } export namespace CreateMedicalVocabularyResponse { @@ -188,45 +344,18 @@ export namespace CreateMedicalVocabularyResponse { }); } -/** - *

                                                                There was an internal error. Check the error message and try your request - * again.

                                                                - */ -export interface InternalFailureException extends __SmithyException, $MetadataBearer { - name: "InternalFailureException"; - $fault: "server"; - Message?: string; -} - -export namespace InternalFailureException { - export const filterSensitiveLog = (obj: InternalFailureException): any => ({ - ...obj, - }); -} - -/** - *

                                                                Either you have sent too many requests or your input file is too long. Wait before you - * resend your request, or use a smaller file and resend the request.

                                                                - */ -export interface LimitExceededException extends __SmithyException, $MetadataBearer { - name: "LimitExceededException"; - $fault: "client"; - Message?: string; -} - -export namespace LimitExceededException { - export const filterSensitiveLog = (obj: LimitExceededException): any => ({ - ...obj, - }); -} - export interface CreateVocabularyRequest { /** - *

                                                                The name of the vocabulary. The name must be unique within an AWS account. The name is - * case-sensitive. If you try to create a vocabulary with the same name as a previous - * vocabulary you will receive a ConflictException error.

                                                                + *

                                                                The S3 location of the text file that contains the definition of the custom + * vocabulary. The URI must be in the same region as the API endpoint that you are calling. + * The general form is

                                                                + * + * + * + *

                                                                For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                + *

                                                                For more information about custom vocabularies, see Custom Vocabularies.

                                                                */ - VocabularyName: string | undefined; + VocabularyFileUri?: string; /** *

                                                                The language code of the vocabulary entries.

                                                                @@ -239,16 +368,11 @@ export interface CreateVocabularyRequest { Phrases?: string[]; /** - *

                                                                The S3 location of the text file that contains the definition of the custom - * vocabulary. The URI must be in the same region as the API endpoint that you are calling. - * The general form is

                                                                - * - * - * - *

                                                                For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                - *

                                                                For more information about custom vocabularies, see Custom Vocabularies.

                                                                + *

                                                                The name of the vocabulary. The name must be unique within an AWS account. The name is + * case sensitive. If you try to create a vocabulary with the same name as a previous + * vocabulary you will receive a ConflictException error.

                                                                */ - VocabularyFileUri?: string; + VocabularyName: string | undefined; } export namespace CreateVocabularyRequest { @@ -258,6 +382,16 @@ export namespace CreateVocabularyRequest { } export interface CreateVocabularyResponse { + /** + *

                                                                The language code of the vocabulary entries.

                                                                + */ + LanguageCode?: LanguageCode | string; + + /** + *

                                                                The name of the vocabulary.

                                                                + */ + VocabularyName?: string; + /** *

                                                                The date and time that the vocabulary was created.

                                                                */ @@ -275,16 +409,6 @@ export interface CreateVocabularyResponse { * information about why the job failed.

                                                                */ FailureReason?: string; - - /** - *

                                                                The language code of the vocabulary entries.

                                                                - */ - LanguageCode?: LanguageCode | string; - - /** - *

                                                                The name of the vocabulary.

                                                                - */ - VocabularyName?: string; } export namespace CreateVocabularyResponse { @@ -294,6 +418,13 @@ export namespace CreateVocabularyResponse { } export interface CreateVocabularyFilterRequest { + /** + *

                                                                The vocabulary filter name. The name must be unique within the account that contains + * it. If you try to create a vocabulary filter with the same name as another vocabulary + * filter, you get a ConflictException error.

                                                                + */ + VocabularyFilterName: string | undefined; + /** *

                                                                The Amazon S3 location of a text file used as input to create the vocabulary filter. * Only use characters from the character set defined for custom vocabularies. For a list @@ -320,13 +451,6 @@ export interface CreateVocabularyFilterRequest { * VocabularyFilterFileUri parameter.

                                                                */ Words?: string[]; - - /** - *

                                                                The vocabulary filter name. The name must be unique within the account that contains - * it.If you try to create a vocabulary filter with the same name as a previous vocabulary - * filter you will receive a ConflictException error.

                                                                - */ - VocabularyFilterName: string | undefined; } export namespace CreateVocabularyFilterRequest { @@ -342,14 +466,14 @@ export interface CreateVocabularyFilterResponse { VocabularyFilterName?: string; /** - *

                                                                The date and time that the vocabulary filter was modified.

                                                                + *

                                                                The language code of the words in the collection.

                                                                */ - LastModifiedTime?: Date; + LanguageCode?: LanguageCode | string; /** - *

                                                                The language code of the words in the collection.

                                                                + *

                                                                The date and time that the vocabulary filter was modified.

                                                                */ - LanguageCode?: LanguageCode | string; + LastModifiedTime?: Date; } export namespace CreateVocabularyFilterResponse { @@ -358,6 +482,19 @@ export namespace CreateVocabularyFilterResponse { }); } +export interface DeleteLanguageModelRequest { + /** + *

                                                                The name of the model you're choosing to delete.

                                                                + */ + ModelName: string | undefined; +} + +export namespace DeleteLanguageModelRequest { + export const filterSensitiveLog = (obj: DeleteLanguageModelRequest): any => ({ + ...obj, + }); +} + export interface DeleteMedicalTranscriptionJobRequest { /** *

                                                                The name you provide to the DeleteMedicalTranscriptionJob object to @@ -374,7 +511,7 @@ export namespace DeleteMedicalTranscriptionJobRequest { export interface DeleteMedicalVocabularyRequest { /** - *

                                                                The name of the vocabulary you are choosing to delete.

                                                                + *

                                                                The name of the vocabulary that you want to delete.

                                                                */ VocabularyName: string | undefined; } @@ -440,31 +577,118 @@ export namespace DeleteVocabularyFilterRequest { }); } -export interface GetMedicalTranscriptionJobRequest { +export interface DescribeLanguageModelRequest { /** - *

                                                                The name of the medical transcription job.

                                                                + *

                                                                The name of the custom language model you submit to get more information.

                                                                */ - MedicalTranscriptionJobName: string | undefined; + ModelName: string | undefined; } -export namespace GetMedicalTranscriptionJobRequest { - export const filterSensitiveLog = (obj: GetMedicalTranscriptionJobRequest): any => ({ +export namespace DescribeLanguageModelRequest { + export const filterSensitiveLog = (obj: DescribeLanguageModelRequest): any => ({ ...obj, }); } /** - *

                                                                Describes the input media file in a transcription request.

                                                                + *

                                                                The structure used to describe a custom language model.

                                                                */ -export interface Media { +export interface LanguageModel { /** - *

                                                                The S3 object location of the input media file. The URI must be in the same region as - * the API endpoint that you are calling. The general form is:

                                                                - * - *

                                                                For example:

                                                                - * - * - *

                                                                For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                + *

                                                                Whether the base model used for the custom language model is up to date. If this field + * is true then you are running the most up-to-date version of the base model + * in your custom language model.

                                                                + */ + UpgradeAvailability?: boolean; + + /** + *

                                                                The language code you used to create your custom language model.

                                                                + */ + LanguageCode?: CLMLanguageCode | string; + + /** + *

                                                                The reason why the custom language model couldn't be created.

                                                                + */ + FailureReason?: string; + + /** + *

                                                                The Amazon Transcribe standard language model, or base model used to create the custom language + * model.

                                                                + */ + BaseModelName?: BaseModelName | string; + + /** + *

                                                                The creation status of a custom language model. When the status is + * COMPLETED the model is ready for use.

                                                                + */ + ModelStatus?: ModelStatus | string; + + /** + *

                                                                The data access role and Amazon S3 prefixes for the input files used to train the custom + * language model.

                                                                + */ + InputDataConfig?: InputDataConfig; + + /** + *

                                                                The most recent time the custom language model was modified.

                                                                + */ + LastModifiedTime?: Date; + + /** + *

                                                                The time the custom language model was created.

                                                                + */ + CreateTime?: Date; + + /** + *

                                                                The name of the custom language model.

                                                                + */ + ModelName?: string; +} + +export namespace LanguageModel { + export const filterSensitiveLog = (obj: LanguageModel): any => ({ + ...obj, + }); +} + +export interface DescribeLanguageModelResponse { + /** + *

                                                                The name of the custom language model you requested more information about.

                                                                + */ + LanguageModel?: LanguageModel; +} + +export namespace DescribeLanguageModelResponse { + export const filterSensitiveLog = (obj: DescribeLanguageModelResponse): any => ({ + ...obj, + }); +} + +export interface GetMedicalTranscriptionJobRequest { + /** + *

                                                                The name of the medical transcription job.

                                                                + */ + MedicalTranscriptionJobName: string | undefined; +} + +export namespace GetMedicalTranscriptionJobRequest { + export const filterSensitiveLog = (obj: GetMedicalTranscriptionJobRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                Describes the input media file in a transcription request.

                                                                + */ +export interface Media { + /** + *

                                                                The S3 object location of the input media file. The URI must be in the same region as + * the API endpoint that you are calling. The general form is:

                                                                + * + *

                                                                For example:

                                                                + * + * + *

                                                                For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                */ MediaFileUri?: string; } @@ -476,10 +700,13 @@ export namespace Media { } export enum MediaFormat { + AMR = "amr", FLAC = "flac", MP3 = "mp3", MP4 = "mp4", + OGG = "ogg", WAV = "wav", + WEBM = "webm", } /** @@ -487,9 +714,17 @@ export enum MediaFormat { * operation.

                                                                */ export interface MedicalTranscriptionSetting { + /** + *

                                                                Determines whether alternative transcripts are generated along with the transcript + * that has the highest confidence. If you set ShowAlternatives field to true, + * you must also set the maximum number of alternatives to return in the + * MaxAlternatives field.

                                                                + */ + ShowAlternatives?: boolean; + /** *

                                                                Determines whether the transcription job uses speaker recognition to identify - * different speakers in the input audio. Speaker recongition labels individual speakers in + * different speakers in the input audio. Speaker recognition labels individual speakers in * the audio file. If you set the ShowSpeakerLabels field to true, you must * also set the maximum number of speaker labels in the MaxSpeakerLabels * field.

                                                                @@ -507,21 +742,6 @@ export interface MedicalTranscriptionSetting { */ MaxSpeakerLabels?: number; - /** - *

                                                                Determines whether alternative transcripts are generated along with the transcript - * that has the highest confidence. If you set ShowAlternatives field to true, - * you must also set the maximum number of alternatives to return in the - * MaxAlternatives field.

                                                                - */ - ShowAlternatives?: boolean; - - /** - *

                                                                The maximum number of alternatives that you tell the service to return. If you specify - * the MaxAlternatives field, you must set the ShowAlternatives - * field to true.

                                                                - */ - MaxAlternatives?: number; - /** *

                                                                The name of the vocabulary to use when processing a medical transcription job.

                                                                */ @@ -540,6 +760,13 @@ export interface MedicalTranscriptionSetting { *

                                                                */ ChannelIdentification?: boolean; + + /** + *

                                                                The maximum number of alternatives that you tell the service to return. If you specify + * the MaxAlternatives field, you must set the ShowAlternatives + * field to true.

                                                                + */ + MaxAlternatives?: number; } export namespace MedicalTranscriptionSetting { @@ -583,10 +810,75 @@ export enum Type { } /** - *

                                                                The data structure that containts the information for a medical transcription + *

                                                                The data structure that contains the information for a medical transcription * job.

                                                                */ export interface MedicalTranscriptionJob { + /** + *

                                                                The completion status of a medical transcription job.

                                                                + */ + TranscriptionJobStatus?: TranscriptionJobStatus | string; + + /** + *

                                                                The type of speech in the transcription job. CONVERSATION is generally + * used for patient-physician dialogues. DICTATION is the setting for + * physicians speaking their notes after seeing a patient. For more information, see how-it-works-med + *

                                                                + */ + Type?: Type | string; + + /** + *

                                                                Object that contains object.

                                                                + */ + Settings?: MedicalTranscriptionSetting; + + /** + *

                                                                The sample rate, in Hertz, of the source audio containing medical information.

                                                                + *

                                                                If you don't specify the sample rate, Amazon Transcribe Medical determines it for you. If you choose to + * specify the sample rate, it must match the rate detected by Amazon Transcribe Medical. In most cases, you + * should leave the MediaSampleHertz blank and let Amazon Transcribe Medical determine the sample + * rate.

                                                                + */ + MediaSampleRateHertz?: number; + + /** + *

                                                                A timestamp that shows when the job started processing.

                                                                + */ + StartTime?: Date; + + /** + *

                                                                The language code for the language spoken in the source audio file. US English (en-US) + * is the only supported language for medical transcriptions. Any other value you enter for + * language code results in a BadRequestException error.

                                                                + */ + LanguageCode?: LanguageCode | string; + + /** + *

                                                                The name for a given medical transcription job.

                                                                + */ + MedicalTranscriptionJobName?: string; + + /** + *

                                                                An object that contains the MedicalTranscript. The + * MedicalTranscript contains the TranscriptFileUri.

                                                                + */ + Transcript?: MedicalTranscript; + + /** + *

                                                                The format of the input media file.

                                                                + */ + MediaFormat?: MediaFormat | string; + + /** + *

                                                                A timestamp that shows when the job was created.

                                                                + */ + CreationTime?: Date; + + /** + *

                                                                Describes the input media file in a transcription request.

                                                                + */ + Media?: Media; + /** *

                                                                If the TranscriptionJobStatus field is FAILED, this field * contains information about why the job failed.

                                                                @@ -622,7 +914,7 @@ export interface MedicalTranscriptionJob { *
                                                              • *

                                                                * Invalid file size: file size too large- The size of your audio - * file is larger than what Amazon Transcribe Medical can process. For more information, see Guidlines and + * file is larger than what Amazon Transcribe Medical can process. For more information, see Guidelines and * Quotas in the Amazon Transcribe Medical Guide *

                                                                *
                                                              • @@ -639,35 +931,6 @@ export interface MedicalTranscriptionJob { */ FailureReason?: string; - /** - *

                                                                The type of speech in the transcription job. CONVERSATION is generally - * used for patient-physician dialogues. DICTATION is the setting for - * physicians speaking their notes after seeing a patient. For more information, see how-it-works-med - *

                                                                - */ - Type?: Type | string; - - /** - *

                                                                A timestamp that shows when the job was created.

                                                                - */ - CreationTime?: Date; - - /** - *

                                                                The name for a given medical transcription job.

                                                                - */ - MedicalTranscriptionJobName?: string; - - /** - *

                                                                Describes the input media file in a transcription request.

                                                                - */ - Media?: Media; - - /** - *

                                                                An object that contains the MedicalTranscript. The - * MedicalTranscript contains the TranscriptFileUri.

                                                                - */ - Transcript?: MedicalTranscript; - /** *

                                                                The medical specialty of any clinicians providing a dictation or having a * conversation. PRIMARYCARE is the only available setting for this object. @@ -681,47 +944,10 @@ export interface MedicalTranscriptionJob { */ Specialty?: Specialty | string; - /** - *

                                                                The completion status of a medical transcription job.

                                                                - */ - TranscriptionJobStatus?: TranscriptionJobStatus | string; - /** *

                                                                A timestamp that shows when the job was completed.

                                                                */ CompletionTime?: Date; - - /** - *

                                                                Object that contains - * object.

                                                                - */ - Settings?: MedicalTranscriptionSetting; - - /** - *

                                                                A timestamp that shows when the job started processing.

                                                                - */ - StartTime?: Date; - - /** - *

                                                                The sample rate, in Hertz, of the source audio containing medical information.

                                                                - *

                                                                If you don't specify the sample rate, Amazon Transcribe Medical determines it for you. If you choose to - * specify the sample rate, it must match the rate detected by Amazon Transcribe Medical. In most cases, you - * should leave the MediaSampleHertz blank and let Amazon Transcribe Medical determine the sample - * rate.

                                                                - */ - MediaSampleRateHertz?: number; - - /** - *

                                                                The format of the input media file.

                                                                - */ - MediaFormat?: MediaFormat | string; - - /** - *

                                                                The language code for the language spoken in the source audio file. US English (en-US) - * is the only supported language for medical transcriptions. Any other value you enter for - * language code results in a BadRequestException error.

                                                                - */ - LanguageCode?: LanguageCode | string; } export namespace MedicalTranscriptionJob { @@ -745,8 +971,8 @@ export namespace GetMedicalTranscriptionJobResponse { export interface GetMedicalVocabularyRequest { /** - *

                                                                The name of the vocabulary you are trying to get information about. The value you - * enter for this request is case-sensitive.

                                                                + *

                                                                The name of the vocabulary that you want information about. The value is case + * sensitive.

                                                                */ VocabularyName: string | undefined; } @@ -759,24 +985,26 @@ export namespace GetMedicalVocabularyRequest { export interface GetMedicalVocabularyResponse { /** - *

                                                                The Amazon S3 location where the vocabulary is stored. Use this URI to get the contents of - * the vocabulary. You can download your vocabulary from the URI for a limited time.

                                                                + *

                                                                The valid language code for your vocabulary entries.

                                                                */ - DownloadUri?: string; + LanguageCode?: LanguageCode | string; /** - *

                                                                The processing state of the vocabulary.

                                                                + *

                                                                The name of the vocabulary returned by Amazon Transcribe Medical.

                                                                */ - VocabularyState?: VocabularyState | string; + VocabularyName?: string; /** - *

                                                                The valid name that Amazon Transcribe Medical returns.

                                                                + *

                                                                The + * processing state of the vocabulary. If the VocabularyState is + * READY then you can use it in the + * StartMedicalTranscriptionJob operation.

                                                                */ - VocabularyName?: string; + VocabularyState?: VocabularyState | string; /** - *

                                                                The date and time the vocabulary was last modified with a text file different from - * what was previously used.

                                                                + *

                                                                The date and time that the vocabulary was last modified with a text file different + * from the one that was previously used.

                                                                */ LastModifiedTime?: Date; @@ -787,9 +1015,12 @@ export interface GetMedicalVocabularyResponse { FailureReason?: string; /** - *

                                                                The valid language code returned for your vocabulary entries.

                                                                + *

                                                                The location in Amazon S3 where the vocabulary is stored. Use this URI to get the contents + * of the vocabulary. You can download your vocabulary from the + * URI + * for a limited time.

                                                                */ - LanguageCode?: LanguageCode | string; + DownloadUri?: string; } export namespace GetMedicalVocabularyResponse { @@ -843,6 +1074,22 @@ export namespace JobExecutionSettings { }); } +/** + *

                                                                The object used to call your custom language model to your transcription job.

                                                                + */ +export interface ModelSettings { + /** + *

                                                                The name of your custom language model.

                                                                + */ + LanguageModelName?: string; +} + +export namespace ModelSettings { + export const filterSensitiveLog = (obj: ModelSettings): any => ({ + ...obj, + }); +} + export enum VocabularyFilterMethod { MASK = "mask", REMOVE = "remove", @@ -853,38 +1100,6 @@ export enum VocabularyFilterMethod { * operation.

                                                                */ export interface Settings { - /** - *

                                                                Instructs Amazon Transcribe to process each audio channel separately and then merge the - * transcription output of each channel into a single transcription.

                                                                - *

                                                                Amazon Transcribe also produces a transcription of each item detected on an audio channel, - * including the start time and end time of the item and alternative transcriptions of the - * item including the confidence that Amazon Transcribe has in the transcription.

                                                                - *

                                                                You can't set both ShowSpeakerLabels and - * ChannelIdentification in the same request. If you set both, your - * request returns a BadRequestException.

                                                                - */ - ChannelIdentification?: boolean; - - /** - *

                                                                The name of the vocabulary filter to use when transcribing the audio. The filter that - * you specify must have the same language code as the transcription job.

                                                                - */ - VocabularyFilterName?: string; - - /** - *

                                                                The number of alternative transcriptions that the service should return. If you - * specify the MaxAlternatives field, you must set the - * ShowAlternatives field to true.

                                                                - */ - MaxAlternatives?: number; - - /** - *

                                                                Determines whether the transcription contains alternative transcriptions. If you set - * the ShowAlternatives field to true, you must also set the maximum number of - * alternatives to return in the MaxAlternatives field.

                                                                - */ - ShowAlternatives?: boolean; - /** *

                                                                Determines whether the transcription job uses speaker recognition to identify * different speakers in the input audio. Speaker recognition labels individual speakers in @@ -906,9 +1121,18 @@ export interface Settings { MaxSpeakerLabels?: number; /** - *

                                                                The name of a vocabulary to use when processing the transcription job.

                                                                + *

                                                                Determines whether the transcription contains alternative transcriptions. If you set + * the ShowAlternatives field to true, you must also set the maximum number of + * alternatives to return in the MaxAlternatives field.

                                                                */ - VocabularyName?: string; + ShowAlternatives?: boolean; + + /** + *

                                                                The number of alternative transcriptions that the service should return. If you + * specify the MaxAlternatives field, you must set the + * ShowAlternatives field to true.

                                                                + */ + MaxAlternatives?: number; /** *

                                                                Set to mask to remove filtered text from the transcript and replace it @@ -916,6 +1140,29 @@ export interface Settings { * filtered text from the transcript without using placeholder text.

                                                                */ VocabularyFilterMethod?: VocabularyFilterMethod | string; + + /** + *

                                                                The name of a vocabulary to use when processing the transcription job.

                                                                + */ + VocabularyName?: string; + + /** + *

                                                                The name of the vocabulary filter to use when transcribing the audio. The filter that + * you specify must have the same language code as the transcription job.

                                                                + */ + VocabularyFilterName?: string; + + /** + *

                                                                Instructs Amazon Transcribe to process each audio channel separately and then merge the + * transcription output of each channel into a single transcription.

                                                                + *

                                                                Amazon Transcribe also produces a transcription of each item detected on an audio channel, + * including the start time and end time of the item and alternative transcriptions of the + * item including the confidence that Amazon Transcribe has in the transcription.

                                                                + *

                                                                You can't set both ShowSpeakerLabels and + * ChannelIdentification in the same request. If you set both, your + * request returns a BadRequestException.

                                                                + */ + ChannelIdentification?: boolean; } export namespace Settings { @@ -929,23 +1176,22 @@ export namespace Settings { */ export interface Transcript { /** - *

                                                                The S3 object location of the the transcript.

                                                                - *

                                                                Use this URI to access the transcript. If you specified an S3 bucket in the + *

                                                                The S3 object location of the redacted transcript.

                                                                + *

                                                                Use this URI to access the redacted transcript. If you specified an S3 bucket in the * OutputBucketName field when you created the job, this is the URI of * that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that * provides secure access to that location.

                                                                */ - TranscriptFileUri?: string; + RedactedTranscriptFileUri?: string; /** - *

                                                                The S3 object location of the redacted transcript.

                                                                - * - *

                                                                Use this URI to access the redacated transcript. If you specified an S3 bucket in the + *

                                                                The S3 object location of the transcript.

                                                                + *

                                                                Use this URI to access the transcript. If you specified an S3 bucket in the * OutputBucketName field when you created the job, this is the URI of * that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that * provides secure access to that location.

                                                                */ - RedactedTranscriptFileUri?: string; + TranscriptFileUri?: string; } export namespace Transcript { @@ -960,14 +1206,21 @@ export namespace Transcript { */ export interface TranscriptionJob { /** - *

                                                                A timestamp that shows when the job was completed.

                                                                + *

                                                                The format of the input media file.

                                                                */ - CompletionTime?: Date; + MediaFormat?: MediaFormat | string; /** - *

                                                                The status of the transcription job.

                                                                + *

                                                                A value between zero and one that Amazon Transcribe assigned to the language that it identified in + * the source audio. Larger values indicate that Amazon Transcribe has higher confidence in the + * language it identified.

                                                                */ - TranscriptionJobStatus?: TranscriptionJobStatus | string; + IdentifiedLanguageScore?: number; + + /** + *

                                                                An object that describes the output of the transcription job.

                                                                + */ + Transcript?: Transcript; /** *

                                                                Optional settings for the transcription job. Use these settings to turn on speaker @@ -977,50 +1230,16 @@ export interface TranscriptionJob { Settings?: Settings; /** - *

                                                                The name of the transcription job.

                                                                - */ - TranscriptionJobName?: string; - - /** - *

                                                                The language code for the input speech.

                                                                - */ - LanguageCode?: LanguageCode | string; - - /** - *

                                                                The sample rate, in Hertz, of the audio track in the input media file.

                                                                - */ - MediaSampleRateHertz?: number; - - /** - *

                                                                A timestamp that shows with the job was started processing.

                                                                - */ - StartTime?: Date; - - /** - *

                                                                The format of the input media file.

                                                                - */ - MediaFormat?: MediaFormat | string; - - /** - *

                                                                An object that describes the output of the transcription job.

                                                                + *

                                                                An object that shows the optional array of languages inputted for transcription jobs + * with automatic language identification enabled.

                                                                */ - Transcript?: Transcript; + LanguageOptions?: (LanguageCode | string)[]; /** *

                                                                An object that describes the input media for the transcription job.

                                                                */ Media?: Media; - /** - *

                                                                A timestamp that shows when the job was created.

                                                                - */ - CreationTime?: Date; - - /** - *

                                                                An object that describes content redaction settings for the transcription job.

                                                                - */ - ContentRedaction?: ContentRedaction; - /** *

                                                                If the TranscriptionJobStatus field is FAILED, this field * contains information about why the job failed.

                                                                @@ -1069,10 +1288,61 @@ export interface TranscriptionJob { */ FailureReason?: string; + /** + *

                                                                A timestamp that shows when the job was completed.

                                                                + */ + CompletionTime?: Date; + /** *

                                                                Provides information about how a transcription job is executed.

                                                                */ JobExecutionSettings?: JobExecutionSettings; + + /** + *

                                                                An object containing the details of your custom language model.

                                                                + */ + ModelSettings?: ModelSettings; + + /** + *

                                                                The status of the transcription job.

                                                                + */ + TranscriptionJobStatus?: TranscriptionJobStatus | string; + + /** + *

                                                                An object that describes content redaction settings for the transcription job.

                                                                + */ + ContentRedaction?: ContentRedaction; + + /** + *

                                                                The name of the transcription job.

                                                                + */ + TranscriptionJobName?: string; + + /** + *

                                                                A value that shows if automatic language identification was enabled for a + * transcription job.

                                                                + */ + IdentifyLanguage?: boolean; + + /** + *

                                                                A timestamp that shows when the job was created.

                                                                + */ + CreationTime?: Date; + + /** + *

                                                                A timestamp that shows with the job was started processing.

                                                                + */ + StartTime?: Date; + + /** + *

                                                                The sample rate, in Hertz, of the audio track in the input media file.

                                                                + */ + MediaSampleRateHertz?: number; + + /** + *

                                                                The language code for the input speech.

                                                                + */ + LanguageCode?: LanguageCode | string; } export namespace TranscriptionJob { @@ -1096,8 +1366,8 @@ export namespace GetTranscriptionJobResponse { export interface GetVocabularyRequest { /** - *

                                                                The name of the vocabulary to return information about. The name is - * case-sensitive.

                                                                + *

                                                                The name of the vocabulary to return information about. The name is case + * sensitive.

                                                                */ VocabularyName: string | undefined; } @@ -1109,11 +1379,6 @@ export namespace GetVocabularyRequest { } export interface GetVocabularyResponse { - /** - *

                                                                The date and time that the vocabulary was last modified.

                                                                - */ - LastModifiedTime?: Date; - /** *

                                                                The S3 location where the vocabulary is stored. Use this URI to get the contents of * the vocabulary. The URI is available for a limited time.

                                                                @@ -1121,25 +1386,30 @@ export interface GetVocabularyResponse { DownloadUri?: string; /** - *

                                                                The processing state of the vocabulary.

                                                                + *

                                                                The name of the vocabulary to return.

                                                                */ - VocabularyState?: VocabularyState | string; + VocabularyName?: string; /** - *

                                                                The name of the vocabulary to return.

                                                                + *

                                                                The processing state of the vocabulary.

                                                                */ - VocabularyName?: string; + VocabularyState?: VocabularyState | string; /** - *

                                                                The language code of the vocabulary entries.

                                                                + *

                                                                The date and time that the vocabulary was last modified.

                                                                */ - LanguageCode?: LanguageCode | string; + LastModifiedTime?: Date; /** *

                                                                If the VocabularyState field is FAILED, this field contains * information about why the job failed.

                                                                */ FailureReason?: string; + + /** + *

                                                                The language code of the vocabulary entries.

                                                                + */ + LanguageCode?: LanguageCode | string; } export namespace GetVocabularyResponse { @@ -1163,9 +1433,9 @@ export namespace GetVocabularyFilterRequest { export interface GetVocabularyFilterResponse { /** - *

                                                                The language code of the words in the vocabulary filter.

                                                                + *

                                                                The date and time that the contents of the vocabulary filter were updated.

                                                                */ - LanguageCode?: LanguageCode | string; + LastModifiedTime?: Date; /** *

                                                                The name of the vocabulary filter.

                                                                @@ -1173,9 +1443,9 @@ export interface GetVocabularyFilterResponse { VocabularyFilterName?: string; /** - *

                                                                The date and time that the contents of the vocabulary filter were updated.

                                                                + *

                                                                The language code of the words in the vocabulary filter.

                                                                */ - LastModifiedTime?: Date; + LanguageCode?: LanguageCode | string; /** *

                                                                The URI of the list of words in the vocabulary filter. You can use this URI to get the @@ -1190,7 +1460,69 @@ export namespace GetVocabularyFilterResponse { }); } +export interface ListLanguageModelsRequest { + /** + *

                                                                When specified, the custom language model names returned contain the substring you've + * specified.

                                                                + */ + NameContains?: string; + + /** + *

                                                                When specified, returns only custom language models with the specified status. + * Language models are ordered by creation date, with the newest models first. If you don't + * specify a status, Amazon Transcribe returns all custom language models ordered by date.

                                                                + */ + StatusEquals?: ModelStatus | string; + + /** + *

                                                                The maximum number of language models to return in the response. If there are fewer + * results in the list, the response contains only the actual results.

                                                                + */ + MaxResults?: number; + + /** + *

                                                                When included, fetches the next set of jobs if the result of the previous request was + * truncated.

                                                                + */ + NextToken?: string; +} + +export namespace ListLanguageModelsRequest { + export const filterSensitiveLog = (obj: ListLanguageModelsRequest): any => ({ + ...obj, + }); +} + +export interface ListLanguageModelsResponse { + /** + *

                                                                The operation returns a page of jobs at a + * time. The maximum size of the list is set by the MaxResults parameter. If there are more + * language models in the list than the page size, Amazon Transcribe returns the NextPage + * token. Include the token in the next request to the operation to return the next page of language + * models.

                                                                + */ + NextToken?: string; + + /** + *

                                                                A list of objects containing information about custom language models.

                                                                + */ + Models?: LanguageModel[]; +} + +export namespace ListLanguageModelsResponse { + export const filterSensitiveLog = (obj: ListLanguageModelsResponse): any => ({ + ...obj, + }); +} + export interface ListMedicalTranscriptionJobsRequest { + /** + *

                                                                If you a receive a truncated result in the previous request of + * ListMedicalTranscriptionJobs, include NextToken to fetch + * the next set of jobs.

                                                                + */ + NextToken?: string; + /** *

                                                                When specified, the jobs returned in the list are limited to jobs whose name contains * the specified string.

                                                                @@ -1204,13 +1536,6 @@ export interface ListMedicalTranscriptionJobsRequest { */ Status?: TranscriptionJobStatus | string; - /** - *

                                                                If you a receive a truncated result in the previous request of - * ListMedicalTranscriptionJobs, include NextToken to fetch - * the next set of jobs.

                                                                - */ - NextToken?: string; - /** *

                                                                The maximum number of medical transcription jobs to return in the response. IF there * are fewer results in the list, this response contains only the actual results.

                                                                @@ -1234,58 +1559,58 @@ export enum OutputLocationType { */ export interface MedicalTranscriptionJobSummary { /** - *

                                                                If the TranscriptionJobStatus field is FAILED, a description - * of the error.

                                                                - */ - FailureReason?: string; - - /** - *

                                                                Indicates the location of the transcription job's output.

                                                                - *

                                                                The CUSTOMER_BUCKET is the S3 location provided in the - * OutputBucketName field when the

                                                                + *

                                                                The name of a medical transcription job.

                                                                */ - OutputLocationType?: OutputLocationType | string; + MedicalTranscriptionJobName?: string; /** - *

                                                                The speech of the clinician in the input audio.

                                                                + *

                                                                The status of the medical transcription job.

                                                                */ - Type?: Type | string; + TranscriptionJobStatus?: TranscriptionJobStatus | string; /** - *

                                                                A timestamp that shows when the job was completed.

                                                                + *

                                                                A timestamp that shows when the job began processing.

                                                                */ - CompletionTime?: Date; + StartTime?: Date; /** - *

                                                                A timestamp that shows when the job began processing.

                                                                + *

                                                                The language of the transcript in the source audio file.

                                                                */ - StartTime?: Date; + LanguageCode?: LanguageCode | string; /** - *

                                                                The status of the medical transcription job.

                                                                + *

                                                                If the TranscriptionJobStatus field is FAILED, a description + * of the error.

                                                                */ - TranscriptionJobStatus?: TranscriptionJobStatus | string; + FailureReason?: string; /** - *

                                                                The name of a medical transcription job.

                                                                + *

                                                                A timestamp that shows when the job was completed.

                                                                */ - MedicalTranscriptionJobName?: string; + CompletionTime?: Date; /** - *

                                                                The language of the transcript in the source audio file.

                                                                + *

                                                                Indicates the location of the transcription job's output.

                                                                + *

                                                                The CUSTOMER_BUCKET is the S3 location provided in the + * OutputBucketName field when the

                                                                */ - LanguageCode?: LanguageCode | string; + OutputLocationType?: OutputLocationType | string; /** - *

                                                                A timestamp that shows when the medical transcription job was created.

                                                                + *

                                                                The speech of the clinician in the input audio.

                                                                */ - CreationTime?: Date; + Type?: Type | string; /** *

                                                                The medical specialty of the transcription job. Primary care is the only * valid value.

                                                                */ Specialty?: Specialty | string; + + /** + *

                                                                A timestamp that shows when the medical transcription job was created.

                                                                + */ + CreationTime?: Date; } export namespace MedicalTranscriptionJobSummary { @@ -1295,6 +1620,11 @@ export namespace MedicalTranscriptionJobSummary { } export interface ListMedicalTranscriptionJobsResponse { + /** + *

                                                                A list of objects containing summary information for a transcription job.

                                                                + */ + MedicalTranscriptionJobSummaries?: MedicalTranscriptionJobSummary[]; + /** *

                                                                The ListMedicalTranscriptionJobs operation returns a page of jobs at a * time. The maximum size of the page is set by the MaxResults parameter. If @@ -1305,11 +1635,6 @@ export interface ListMedicalTranscriptionJobsResponse { */ NextToken?: string; - /** - *

                                                                A list of objects containing summary information for a transcription job.

                                                                - */ - MedicalTranscriptionJobSummaries?: MedicalTranscriptionJobSummary[]; - /** *

                                                                The requested status of the medical transcription jobs returned.

                                                                */ @@ -1324,28 +1649,33 @@ export namespace ListMedicalTranscriptionJobsResponse { export interface ListMedicalVocabulariesRequest { /** - *

                                                                The maximum number of vocabularies to return in the response.

                                                                + *

                                                                Returns vocabularies whose names contain the specified string. The search is not case + * sensitive. ListMedicalVocabularies returns both + * "vocabularyname" and "VocabularyName".

                                                                */ - MaxResults?: number; + NameContains?: string; /** - *

                                                                When specified, only returns vocabularies with the VocabularyState equal - * to the specified vocabulary state.

                                                                + *

                                                                If the result of your previous request to ListMedicalVocabularies was + * truncated, include the NextToken to fetch the next set of + * vocabularies.

                                                                */ - StateEquals?: VocabularyState | string; + NextToken?: string; /** - *

                                                                Returns vocabularies in the list whose name contains the specified string. The search - * is case-insensitive, ListMedicalVocabularies returns both "vocabularyname" - * and "VocabularyName" in the response list.

                                                                + *

                                                                When specified, returns only vocabularies + * with + * the VocabularyState equal to the specified vocabulary state. Use this field + * to see which vocabularies are ready for your medical transcription + * jobs.

                                                                */ - NameContains?: string; + StateEquals?: VocabularyState | string; /** - *

                                                                If the result of your previous request to ListMedicalVocabularies was - * truncated, include the NextToken to fetch the next set of jobs.

                                                                + *

                                                                The + * maximum number of vocabularies to return in the response.

                                                                */ - NextToken?: string; + MaxResults?: number; } export namespace ListMedicalVocabulariesRequest { @@ -1358,11 +1688,6 @@ export namespace ListMedicalVocabulariesRequest { *

                                                                Provides information about a custom vocabulary.

                                                                */ export interface VocabularyInfo { - /** - *

                                                                The name of the vocabulary.

                                                                - */ - VocabularyName?: string; - /** *

                                                                The language code of the vocabulary entries.

                                                                */ @@ -1378,6 +1703,11 @@ export interface VocabularyInfo { *

                                                                The date and time that the vocabulary was last modified.

                                                                */ LastModifiedTime?: Date; + + /** + *

                                                                The name of the vocabulary.

                                                                + */ + VocabularyName?: string; } export namespace VocabularyInfo { @@ -1388,25 +1718,25 @@ export namespace VocabularyInfo { export interface ListMedicalVocabulariesResponse { /** - *

                                                                The requested vocabulary state.

                                                                - */ - Status?: VocabularyState | string; - - /** - *

                                                                A list of objects that describe the vocabularies that match the search criteria in the - * request.

                                                                + *

                                                                A list of objects that describe the vocabularies that match your search + * criteria.

                                                                */ Vocabularies?: VocabularyInfo[]; /** *

                                                                The ListMedicalVocabularies operation returns a page of vocabularies at a - * time. The maximum size of the page is set by the MaxResults parameter. If - * there are more jobs in the list than the page size, Amazon Transcribe Medical returns the - * NextPage token. Include the token in the next request to the - * ListMedicalVocabularies operation to return the next page of - * jobs.

                                                                + * time. You set the maximum number of vocabularies to return on a page with the + * MaxResults parameter. If there are more jobs in the list will fit on a + * page, Amazon Transcribe Medical returns the NextPage token. To return the next page of + * vocabularies, include the token in the next request to the + * ListMedicalVocabularies operation .

                                                                */ NextToken?: string; + + /** + *

                                                                The requested vocabulary state.

                                                                + */ + Status?: VocabularyState | string; } export namespace ListMedicalVocabulariesResponse { @@ -1416,12 +1746,6 @@ export namespace ListMedicalVocabulariesResponse { } export interface ListTranscriptionJobsRequest { - /** - *

                                                                When specified, the jobs returned in the list are limited to jobs whose name contains - * the specified string.

                                                                - */ - JobNameContains?: string; - /** *

                                                                When specified, returns only transcription jobs with the specified status. Jobs are * ordered by creation date, with the newest jobs returned first. If you don’t specify a @@ -1429,6 +1753,12 @@ export interface ListTranscriptionJobsRequest { */ Status?: TranscriptionJobStatus | string; + /** + *

                                                                When specified, the jobs returned in the list are limited to jobs whose name contains + * the specified string.

                                                                + */ + JobNameContains?: string; + /** *

                                                                If the result of the previous request to ListTranscriptionJobs was * truncated, include the NextToken to fetch the next set of jobs.

                                                                @@ -1453,15 +1783,25 @@ export namespace ListTranscriptionJobsRequest { */ export interface TranscriptionJobSummary { /** - *

                                                                A timestamp that shows when the job was created.

                                                                + *

                                                                A timestamp that shows when the job was completed.

                                                                */ - CreationTime?: Date; + CompletionTime?: Date; /** *

                                                                A timestamp that shows when the job started processing.

                                                                */ StartTime?: Date; + /** + *

                                                                The object used to call your custom language model to your transcription job.

                                                                + */ + ModelSettings?: ModelSettings; + + /** + *

                                                                Whether automatic language identification was enabled for a transcription job.

                                                                + */ + IdentifyLanguage?: boolean; + /** *

                                                                If the TranscriptionJobStatus field is FAILED, a description * of the error.

                                                                @@ -1469,16 +1809,21 @@ export interface TranscriptionJobSummary { FailureReason?: string; /** - *

                                                                The content redaction settings of the transcription job.

                                                                + *

                                                                A timestamp that shows when the job was created.

                                                                */ - ContentRedaction?: ContentRedaction; + CreationTime?: Date; /** - *

                                                                The status of the transcription job. When the status is COMPLETED, use - * the GetTranscriptionJob operation to get the results of the - * transcription.

                                                                + *

                                                                The language code for the input speech.

                                                                */ - TranscriptionJobStatus?: TranscriptionJobStatus | string; + LanguageCode?: LanguageCode | string; + + /** + *

                                                                A value between zero and one that Amazon Transcribe assigned to the language it identified in the + * source audio. A higher score indicates that Amazon Transcribe is more confident in the language it + * identified.

                                                                + */ + IdentifiedLanguageScore?: number; /** *

                                                                The name of the transcription job.

                                                                @@ -1486,9 +1831,9 @@ export interface TranscriptionJobSummary { TranscriptionJobName?: string; /** - *

                                                                A timestamp that shows when the job was completed.

                                                                + *

                                                                The content redaction settings of the transcription job.

                                                                */ - CompletionTime?: Date; + ContentRedaction?: ContentRedaction; /** *

                                                                Indicates the location of the output of the transcription job.

                                                                @@ -1502,9 +1847,11 @@ export interface TranscriptionJobSummary { OutputLocationType?: OutputLocationType | string; /** - *

                                                                The language code for the input speech.

                                                                + *

                                                                The status of the transcription job. When the status is COMPLETED, use + * the GetTranscriptionJob operation to get the results of the + * transcription.

                                                                */ - LanguageCode?: LanguageCode | string; + TranscriptionJobStatus?: TranscriptionJobStatus | string; } export namespace TranscriptionJobSummary { @@ -1515,13 +1862,9 @@ export namespace TranscriptionJobSummary { export interface ListTranscriptionJobsResponse { /** - *

                                                                The ListTranscriptionJobs operation returns a page of jobs at a time. The - * maximum size of the page is set by the MaxResults parameter. If there are - * more jobs in the list than the page size, Amazon Transcribe returns the NextPage token. - * Include the token in the next request to the ListTranscriptionJobs - * operation to return in the next page of jobs.

                                                                + *

                                                                A list of objects containing summary information for a transcription job.

                                                                */ - NextToken?: string; + TranscriptionJobSummaries?: TranscriptionJobSummary[]; /** *

                                                                The requested status of the jobs returned.

                                                                @@ -1529,9 +1872,13 @@ export interface ListTranscriptionJobsResponse { Status?: TranscriptionJobStatus | string; /** - *

                                                                A list of objects containing summary information for a transcription job.

                                                                + *

                                                                The ListTranscriptionJobs operation returns a page of jobs at a time. The + * maximum size of the page is set by the MaxResults parameter. If there are + * more jobs in the list than the page size, Amazon Transcribe returns the NextPage token. + * Include the token in the next request to the ListTranscriptionJobs + * operation to return in the next page of jobs.

                                                                */ - TranscriptionJobSummaries?: TranscriptionJobSummary[]; + NextToken?: string; } export namespace ListTranscriptionJobsResponse { @@ -1541,18 +1888,20 @@ export namespace ListTranscriptionJobsResponse { } export interface ListVocabulariesRequest { - /** - *

                                                                When specified, only returns vocabularies with the VocabularyState field - * equal to the specified state.

                                                                - */ - StateEquals?: VocabularyState | string; - /** *

                                                                If the result of the previous request to ListVocabularies was truncated, * include the NextToken to fetch the next set of jobs.

                                                                */ NextToken?: string; + /** + *

                                                                When specified, the vocabularies returned in the list are limited to vocabularies + * whose name contains the specified string. The search is not case sensitive, + * ListVocabularies returns both "vocabularyname" and "VocabularyName" in + * the response list.

                                                                + */ + NameContains?: string; + /** *

                                                                The maximum number of vocabularies to return in the response. If there are fewer * results in the list, this response contains only the actual results.

                                                                @@ -1560,12 +1909,10 @@ export interface ListVocabulariesRequest { MaxResults?: number; /** - *

                                                                When specified, the vocabularies returned in the list are limited to vocabularies - * whose name contains the specified string. The search is case-insensitive, - * ListVocabularies returns both "vocabularyname" and "VocabularyName" in - * the response list.

                                                                + *

                                                                When specified, only returns vocabularies with the VocabularyState field + * equal to the specified state.

                                                                */ - NameContains?: string; + StateEquals?: VocabularyState | string; } export namespace ListVocabulariesRequest { @@ -1576,18 +1923,18 @@ export namespace ListVocabulariesRequest { export interface ListVocabulariesResponse { /** - *

                                                                The requested vocabulary state.

                                                                + *

                                                                The ListVocabularies operation returns a page of vocabularies at a time. + * The maximum size of the page is set in the MaxResults parameter. If there + * are more jobs in the list than will fit on the page, Amazon Transcribe returns the + * NextPage token. To return in the next page of jobs, include the token + * in the next request to the ListVocabularies operation.

                                                                */ - Status?: VocabularyState | string; + NextToken?: string; /** - *

                                                                The ListVocabularies operation returns a page of vocabularies at a time. - * The maximum size of the page is set by the MaxResults parameter. If there - * are more jobs in the list than the page size, Amazon Transcribe returns the NextPage - * token. Include the token in the next request to the ListVocabularies - * operation to return in the next page of jobs.

                                                                + *

                                                                The requested vocabulary state.

                                                                */ - NextToken?: string; + Status?: VocabularyState | string; /** *

                                                                A list of objects that describe the vocabularies that match the search criteria in the @@ -1603,13 +1950,6 @@ export namespace ListVocabulariesResponse { } export interface ListVocabularyFiltersRequest { - /** - *

                                                                If the result of the previous request to ListVocabularyFilters was - * truncated, include the NextToken to fetch the next set of - * collections.

                                                                - */ - NextToken?: string; - /** *

                                                                Filters the response so that it only contains vocabulary filters whose name contains * the specified string.

                                                                @@ -1620,7 +1960,14 @@ export interface ListVocabularyFiltersRequest { *

                                                                The maximum number of filters to return in the response. If there are fewer results in * the list, this response contains only the actual results.

                                                                */ - MaxResults?: number; + MaxResults?: number; + + /** + *

                                                                If the result of the previous request to ListVocabularyFilters was + * truncated, include the NextToken to fetch the next set of + * collections.

                                                                + */ + NextToken?: string; } export namespace ListVocabularyFiltersRequest { @@ -1657,6 +2004,14 @@ export namespace VocabularyFilterInfo { } export interface ListVocabularyFiltersResponse { + /** + *

                                                                The list of vocabulary filters. It contains at most MaxResults number of + * filters. If there are more filters, call the ListVocabularyFilters + * operation again with the NextToken parameter in the request set to the + * value of the NextToken field in the response.

                                                                + */ + VocabularyFilters?: VocabularyFilterInfo[]; + /** *

                                                                The ListVocabularyFilters operation returns a page of collections at a * time. The maximum size of the page is set by the MaxResults parameter. If @@ -1666,14 +2021,6 @@ export interface ListVocabularyFiltersResponse { * jobs.

                                                                */ NextToken?: string; - - /** - *

                                                                The list of vocabulary filters. It contains at most MaxResults number of - * filters. If there are more filters, call the ListVocabularyFilters - * operation again with the NextToken parameter in the request set to the - * value of the NextToken field in the response.

                                                                - */ - VocabularyFilters?: VocabularyFilterInfo[]; } export namespace ListVocabularyFiltersResponse { @@ -1684,17 +2031,13 @@ export namespace ListVocabularyFiltersResponse { export interface StartMedicalTranscriptionJobRequest { /** - *

                                                                The medical specialty of any clinician speaking in the input media.

                                                                - */ - Specialty: Specialty | string | undefined; - - /** - *

                                                                The name of the medical transcription job. You can't use the strings "." or ".." by - * themselves as the job name. The name must also be unique within an AWS account. If you - * try to create a medical transcription job with the same name as a previous medical - * transcription job you will receive a ConflictException error.

                                                                + *

                                                                The sample rate, in Hertz, of the audio track in the input media file.

                                                                + *

                                                                If you do not specify the media sample rate, Amazon Transcribe Medical determines the sample rate. If you + * specify the sample rate, it must match the rate detected by Amazon Transcribe Medical. In most cases, you + * should leave the MediaSampleRateHertz field blank and let Amazon Transcribe Medical determine + * the sample rate.

                                                                */ - MedicalTranscriptionJobName: string | undefined; + MediaSampleRateHertz?: number; /** *

                                                                The Amazon S3 location where the transcription is stored.

                                                                @@ -1716,37 +2059,19 @@ export interface StartMedicalTranscriptionJobRequest { */ LanguageCode: LanguageCode | string | undefined; - /** - *

                                                                The type of speech in the input audio. CONVERSATION refers to - * conversations between two or more speakers, e.g., a conversations between doctors and - * patients. DICTATION refers to single-speaker dictated speech, e.g., for - * clinical notes.

                                                                - */ - Type: Type | string | undefined; - /** *

                                                                The audio format of the input media file.

                                                                */ MediaFormat?: MediaFormat | string; /** - *

                                                                Optional settings for the medical transcription job.

                                                                - */ - Settings?: MedicalTranscriptionSetting; - - /** - *

                                                                The sample rate, in Hertz, of the audio track in the input media file.

                                                                - *

                                                                If you do not specify the media sample rate, Amazon Transcribe Medical determines the sample rate. If you - * specify the sample rate, it must match the rate detected by Amazon Transcribe Medical. In most cases, you - * should leave the MediaSampleRateHertz field blank and let Amazon Transcribe Medical determine - * the sample rate.

                                                                - */ - MediaSampleRateHertz?: number; - - /** - *

                                                                Describes the input media file in a transcription request.

                                                                + *

                                                                The name of the medical transcription job. You can't use the strings "." + * or ".." by themselves as the job name. The name must also be unique within + * an AWS account. If you try to create a medical transcription job with the same name as a + * previous medical transcription job, you get a ConflictException + * error.

                                                                */ - Media: Media | undefined; + MedicalTranscriptionJobName: string | undefined; /** *

                                                                The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to @@ -1780,6 +2105,46 @@ export interface StartMedicalTranscriptionJobRequest { * location in the OutputBucketName parameter.

                                                                */ OutputEncryptionKMSKeyId?: string; + + /** + *

                                                                You can specify a location in an Amazon S3 bucket to store the output of your medical + * transcription job.

                                                                + *

                                                                If you don't specify an output key, Amazon Transcribe Medical stores the output of your transcription job + * in the Amazon S3 bucket you specified. By default, the object key is + * "your-transcription-job-name.json".

                                                                + *

                                                                You can use output keys to specify the Amazon S3 prefix and file name of the transcription + * output. For example, specifying the Amazon S3 prefix, "folder1/folder2/", as an output key + * would lead to the output being stored as + * "folder1/folder2/your-transcription-job-name.json". If you specify + * "my-other-job-name.json" as the output key, the object key is changed to + * "my-other-job-name.json". You can use an output key to change both the prefix and the + * file name, for example "folder/my-other-job-name.json".

                                                                + *

                                                                If you specify an output key, you must also specify an S3 bucket in the OutputBucketName parameter.

                                                                + */ + OutputKey?: string; + + /** + *

                                                                The medical specialty of any clinician speaking in the input media.

                                                                + */ + Specialty: Specialty | string | undefined; + + /** + *

                                                                The type of speech in the input audio. CONVERSATION refers to + * conversations between two or more speakers, e.g., a conversations between doctors and + * patients. DICTATION refers to single-speaker dictated speech, e.g., for + * clinical notes.

                                                                + */ + Type: Type | string | undefined; + + /** + *

                                                                Describes the input media file in a transcription request.

                                                                + */ + Media: Media | undefined; + + /** + *

                                                                Optional settings for the medical transcription job.

                                                                + */ + Settings?: MedicalTranscriptionSetting; } export namespace StartMedicalTranscriptionJobRequest { @@ -1802,6 +2167,51 @@ export namespace StartMedicalTranscriptionJobResponse { } export interface StartTranscriptionJobRequest { + /** + *

                                                                The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to + * encrypt the output of the transcription job. The user calling the + * StartTranscriptionJob operation must have permission to use the + * specified KMS key.

                                                                + *

                                                                You can use either of the following to identify a KMS key in the current + * account:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  KMS Key Alias: "alias/ExampleAlias"

                                                                  + *
                                                                • + *
                                                                + *

                                                                You can use either of the following to identify a KMS key in the current account or + * another account:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:region:account + * ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  ARN of a KMS Key Alias: "arn:aws:kms:region:account + * ID:alias/ExampleAlias"

                                                                  + *
                                                                • + *
                                                                + *

                                                                If you don't specify an encryption key, the output of the transcription job is + * encrypted with the default Amazon S3 key (SSE-S3).

                                                                + *

                                                                If you specify a KMS key to encrypt your output, you must also specify an output + * location in the OutputBucketName parameter.

                                                                + */ + OutputEncryptionKMSKeyId?: string; + + /** + *

                                                                The language code for the language used in the input media file.

                                                                + */ + LanguageCode?: LanguageCode | string; + + /** + *

                                                                Choose the custom language model you use for your transcription job in this + * parameter.

                                                                + */ + ModelSettings?: ModelSettings; + /** *

                                                                Provides information about how a transcription job is executed. Use this field to * indicate that the job can be queued for deferred execution if the concurrency limit is @@ -1809,12 +2219,6 @@ export interface StartTranscriptionJobRequest { */ JobExecutionSettings?: JobExecutionSettings; - /** - *

                                                                A Settings object that provides optional settings for a transcription - * job.

                                                                - */ - Settings?: Settings; - /** *

                                                                The sample rate, in Hertz, of the audio track in the input media file.

                                                                *

                                                                If you do not specify the media sample rate, Amazon Transcribe determines the sample rate. If you @@ -1846,66 +2250,64 @@ export interface StartTranscriptionJobRequest { OutputBucketName?: string; /** - *

                                                                The language code for the language used in the input media file.

                                                                + *

                                                                Set this field to true to enable automatic language identification. + * Automatic language identification is disabled by default. You receive a + * BadRequestException error if you enter a value for a + * LanguageCode.

                                                                */ - LanguageCode: LanguageCode | string | undefined; + IdentifyLanguage?: boolean; /** - *

                                                                The format of the input media file.

                                                                + *

                                                                An object that contains the request parameters for content redaction.

                                                                */ - MediaFormat?: MediaFormat | string; + ContentRedaction?: ContentRedaction; /** - *

                                                                The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to - * encrypt the output of the transcription job. The user calling the - * StartTranscriptionJob operation must have permission to use the - * specified KMS key.

                                                                - *

                                                                You can use either of the following to identify a KMS key in the current - * account:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  KMS Key Alias: "alias/ExampleAlias"

                                                                  - *
                                                                • - *
                                                                - *

                                                                You can use either of the following to identify a KMS key in the current account or - * another account:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:region:account - * ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  ARN of a KMS Key Alias: "arn:aws:kms:region:account - * ID:alias/ExampleAlias"

                                                                  - *
                                                                • - *
                                                                - *

                                                                If you don't specify an encryption key, the output of the transcription job is - * encrypted with the default Amazon S3 key (SSE-S3).

                                                                - *

                                                                If you specify a KMS key to encrypt your output, you must also specify an output - * location in the OutputBucketName parameter.

                                                                + *

                                                                An object that describes the input media for a transcription job.

                                                                */ - OutputEncryptionKMSKeyId?: string; + Media: Media | undefined; /** - *

                                                                An object that contains the request parameters for content redaction.

                                                                + *

                                                                An object containing a list of languages that might be present in your collection of + * audio files. Automatic language identification chooses a language that best matches the + * source audio from that list.

                                                                */ - ContentRedaction?: ContentRedaction; + LanguageOptions?: (LanguageCode | string)[]; /** - *

                                                                An object that describes the input media for a transcription job.

                                                                + *

                                                                The format of the input media file.

                                                                */ - Media: Media | undefined; + MediaFormat?: MediaFormat | string; /** - *

                                                                The name of the job. Note that you can't use the strings "." or ".." by themselves as - * the job name. The name must also be unique within an AWS account. If you try to create a - * transcription job with the same name as a previous transcription job you will receive a - * ConflictException error.

                                                                + *

                                                                The name of the job. You can't use the strings "." or ".." + * by themselves as the job name. The name must also be unique within an AWS account. If + * you try to create a transcription job with the same name as a previous transcription + * job, you get a ConflictException error.

                                                                */ TranscriptionJobName: string | undefined; + + /** + *

                                                                You can specify a location in an Amazon S3 bucket to store the output of your transcription job.

                                                                + *

                                                                If you don't specify an output key, Amazon Transcribe stores the output of your transcription job + * in the Amazon S3 bucket you specified. By default, the object key is + * "your-transcription-job-name.json".

                                                                + *

                                                                You can use output keys to specify the Amazon S3 prefix and file name of the transcription + * output. For example, specifying the Amazon S3 prefix, "folder1/folder2/", as an output key + * would lead to the output being stored as + * "folder1/folder2/your-transcription-job-name.json". If you specify + * "my-other-job-name.json" as the output key, the object key is changed to + * "my-other-job-name.json". You can use an output key to change both the prefix and the + * file name, for example "folder/my-other-job-name.json".

                                                                + *

                                                                If you specify an output key, you must also specify an S3 bucket in the OutputBucketName parameter.

                                                                + */ + OutputKey?: string; + + /** + *

                                                                A Settings object that provides optional settings for a transcription + * job.

                                                                + */ + Settings?: Settings; } export namespace StartTranscriptionJobRequest { @@ -1929,9 +2331,17 @@ export namespace StartTranscriptionJobResponse { export interface UpdateMedicalVocabularyRequest { /** - *

                                                                The Amazon S3 location of the text file containing the definition of the custom vocabulary. - * The URI must be in the same AWS region as the API endpoint you are calling. You can see - * the fields you need to enter for you Amazon S3 location in the example URI here:

                                                                + *

                                                                The language code of the language used for the entries in the updated vocabulary. US + * English (en-US) is the only valid language code in Amazon Transcribe Medical.

                                                                + */ + LanguageCode: LanguageCode | string | undefined; + + /** + *

                                                                The location in Amazon S3 of the text file that contains + * the + * you use for your custom vocabulary. The URI must be in the same AWS + * Region as the resource that you are calling. The following is the format for a + * URI:

                                                                *

                                                                * * https://s3..amazonaws.com/// @@ -1941,20 +2351,16 @@ export interface UpdateMedicalVocabularyRequest { *

                                                                * https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt *

                                                                - *

                                                                For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                + *

                                                                For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                *

                                                                For more information about custom vocabularies in Amazon Transcribe Medical, see Medical Custom Vocabularies.

                                                                */ VocabularyFileUri?: string; /** - *

                                                                The language code of the entries in the updated vocabulary. US English (en-US) is the - * only valid language code in Amazon Transcribe Medical.

                                                                - */ - LanguageCode: LanguageCode | string | undefined; - - /** - *

                                                                The name of the vocabulary to update. The name is case-sensitive. If you try to update - * a vocabulary with the same name as a previous vocabulary you will receive a + *

                                                                The name of the vocabulary to update. The name is case sensitive. If you try to update + * a vocabulary with the same name + * as + * a vocabulary you've already made, you get a * ConflictException error.

                                                                */ VocabularyName: string | undefined; @@ -1968,27 +2374,27 @@ export namespace UpdateMedicalVocabularyRequest { export interface UpdateMedicalVocabularyResponse { /** - *

                                                                The language code for the text file used to update the custom vocabulary. US English - * (en-US) is the only language supported in Amazon Transcribe Medical.

                                                                + *

                                                                The date and time that the vocabulary was updated.

                                                                */ - LanguageCode?: LanguageCode | string; + LastModifiedTime?: Date; /** - *

                                                                The name of the updated vocabulary.

                                                                + *

                                                                The processing state of the update to the vocabulary. When the + * VocabularyState field is READY, the vocabulary is ready to + * be used in a StartMedicalTranscriptionJob request.

                                                                */ - VocabularyName?: string; + VocabularyState?: VocabularyState | string; /** - *

                                                                The date and time the vocabulary was updated.

                                                                + *

                                                                The language code for the language of the text file used to update the custom + * vocabulary. US English (en-US) is the only language supported in Amazon Transcribe Medical.

                                                                */ - LastModifiedTime?: Date; + LanguageCode?: LanguageCode | string; /** - *

                                                                The processing state of the update to the vocabulary. When the - * VocabularyState field is READY the vocabulary is ready to - * be used in a StartMedicalTranscriptionJob request.

                                                                + *

                                                                The name of the updated vocabulary.

                                                                */ - VocabularyState?: VocabularyState | string; + VocabularyName?: string; } export namespace UpdateMedicalVocabularyResponse { @@ -1999,9 +2405,11 @@ export namespace UpdateMedicalVocabularyResponse { export interface UpdateVocabularyRequest { /** - *

                                                                An array of strings containing the vocabulary entries.

                                                                + *

                                                                The name of the vocabulary to update. The name is case sensitive. If you try to update + * a vocabulary with the same name as a previous vocabulary you will receive a + * ConflictException error.

                                                                */ - Phrases?: string[]; + VocabularyName: string | undefined; /** *

                                                                The language code of the vocabulary entries.

                                                                @@ -2009,11 +2417,9 @@ export interface UpdateVocabularyRequest { LanguageCode: LanguageCode | string | undefined; /** - *

                                                                The name of the vocabulary to update. The name is case-sensitive. If you try to update - * a vocabulary with the same name as a previous vocabulary you will receive a - * ConflictException error.

                                                                + *

                                                                An array of strings containing the vocabulary entries.

                                                                */ - VocabularyName: string | undefined; + Phrases?: string[]; /** *

                                                                The S3 location of the text file that contains the definition of the custom @@ -2036,9 +2442,9 @@ export namespace UpdateVocabularyRequest { export interface UpdateVocabularyResponse { /** - *

                                                                The language code of the vocabulary entries.

                                                                + *

                                                                The date and time that the vocabulary was updated.

                                                                */ - LanguageCode?: LanguageCode | string; + LastModifiedTime?: Date; /** *

                                                                The processing state of the vocabulary. When the VocabularyState field @@ -2048,9 +2454,9 @@ export interface UpdateVocabularyResponse { VocabularyState?: VocabularyState | string; /** - *

                                                                The date and time that the vocabulary was updated.

                                                                + *

                                                                The language code of the vocabulary entries.

                                                                */ - LastModifiedTime?: Date; + LanguageCode?: LanguageCode | string; /** *

                                                                The name of the vocabulary that was updated.

                                                                @@ -2067,11 +2473,19 @@ export namespace UpdateVocabularyResponse { export interface UpdateVocabularyFilterRequest { /** *

                                                                The name of the vocabulary filter to update. If you try to update a vocabulary filter - * with the same name as a previous vocabulary filter you will receive a + * with the same name as another vocabulary filter, you get a * ConflictException error.

                                                                */ VocabularyFilterName: string | undefined; + /** + *

                                                                The words to use in the vocabulary filter. Only use characters from the character set + * defined for custom vocabularies. For a list of character sets, see Character Sets for Custom Vocabularies.

                                                                + *

                                                                If you provide a list of words in the Words parameter, you can't use the + * VocabularyFilterFileUri parameter.

                                                                + */ + Words?: string[]; + /** *

                                                                The Amazon S3 location of a text file used as input to create the vocabulary filter. * Only use characters from the character set defined for custom vocabularies. For a list @@ -2083,14 +2497,6 @@ export interface UpdateVocabularyFilterRequest { * parameter.

                                                                */ VocabularyFilterFileUri?: string; - - /** - *

                                                                The words to use in the vocabulary filter. Only use characters from the character set - * defined for custom vocabularies. For a list of character sets, see Character Sets for Custom Vocabularies.

                                                                - *

                                                                If you provide a list of words in the Words parameter, you can't use the - * VocabularyFilterFileUri parameter.

                                                                - */ - Words?: string[]; } export namespace UpdateVocabularyFilterRequest { @@ -2101,14 +2507,14 @@ export namespace UpdateVocabularyFilterRequest { export interface UpdateVocabularyFilterResponse { /** - *

                                                                The name of the updated vocabulary filter.

                                                                + *

                                                                The date and time that the vocabulary filter was updated.

                                                                */ - VocabularyFilterName?: string; + LastModifiedTime?: Date; /** - *

                                                                The date and time that the vocabulary filter was updated.

                                                                + *

                                                                The name of the updated vocabulary filter.

                                                                */ - LastModifiedTime?: Date; + VocabularyFilterName?: string; /** *

                                                                The language code of the words in the vocabulary filter.

                                                                diff --git a/clients/client-transcribe/pagination/ListLanguageModelsPaginator.ts b/clients/client-transcribe/pagination/ListLanguageModelsPaginator.ts new file mode 100644 index 000000000000..90395d6d436c --- /dev/null +++ b/clients/client-transcribe/pagination/ListLanguageModelsPaginator.ts @@ -0,0 +1,51 @@ +import { Transcribe } from "../Transcribe"; +import { TranscribeClient } from "../TranscribeClient"; +import { + ListLanguageModelsCommand, + ListLanguageModelsCommandInput, + ListLanguageModelsCommandOutput, +} from "../commands/ListLanguageModelsCommand"; +import { TranscribePaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: TranscribeClient, + input: ListLanguageModelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListLanguageModelsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Transcribe, + input: ListLanguageModelsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listLanguageModels(input, ...args); +}; +export async function* listLanguageModelsPaginate( + config: TranscribePaginationConfiguration, + input: ListLanguageModelsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListLanguageModelsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Transcribe) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof TranscribeClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Transcribe | TranscribeClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-transcribe/protocols/Aws_json1_1.ts b/clients/client-transcribe/protocols/Aws_json1_1.ts index 73b825c6c5cc..e2b42c04693e 100644 --- a/clients/client-transcribe/protocols/Aws_json1_1.ts +++ b/clients/client-transcribe/protocols/Aws_json1_1.ts @@ -1,3 +1,7 @@ +import { + CreateLanguageModelCommandInput, + CreateLanguageModelCommandOutput, +} from "../commands/CreateLanguageModelCommand"; import { CreateMedicalVocabularyCommandInput, CreateMedicalVocabularyCommandOutput, @@ -7,6 +11,10 @@ import { CreateVocabularyFilterCommandInput, CreateVocabularyFilterCommandOutput, } from "../commands/CreateVocabularyFilterCommand"; +import { + DeleteLanguageModelCommandInput, + DeleteLanguageModelCommandOutput, +} from "../commands/DeleteLanguageModelCommand"; import { DeleteMedicalTranscriptionJobCommandInput, DeleteMedicalTranscriptionJobCommandOutput, @@ -24,6 +32,10 @@ import { DeleteVocabularyFilterCommandInput, DeleteVocabularyFilterCommandOutput, } from "../commands/DeleteVocabularyFilterCommand"; +import { + DescribeLanguageModelCommandInput, + DescribeLanguageModelCommandOutput, +} from "../commands/DescribeLanguageModelCommand"; import { GetMedicalTranscriptionJobCommandInput, GetMedicalTranscriptionJobCommandOutput, @@ -41,6 +53,7 @@ import { GetVocabularyFilterCommandInput, GetVocabularyFilterCommandOutput, } from "../commands/GetVocabularyFilterCommand"; +import { ListLanguageModelsCommandInput, ListLanguageModelsCommandOutput } from "../commands/ListLanguageModelsCommand"; import { ListMedicalTranscriptionJobsCommandInput, ListMedicalTranscriptionJobsCommandOutput, @@ -79,17 +92,22 @@ import { BadRequestException, ConflictException, ContentRedaction, + CreateLanguageModelRequest, + CreateLanguageModelResponse, CreateMedicalVocabularyRequest, CreateMedicalVocabularyResponse, CreateVocabularyFilterRequest, CreateVocabularyFilterResponse, CreateVocabularyRequest, CreateVocabularyResponse, + DeleteLanguageModelRequest, DeleteMedicalTranscriptionJobRequest, DeleteMedicalVocabularyRequest, DeleteTranscriptionJobRequest, DeleteVocabularyFilterRequest, DeleteVocabularyRequest, + DescribeLanguageModelRequest, + DescribeLanguageModelResponse, GetMedicalTranscriptionJobRequest, GetMedicalTranscriptionJobResponse, GetMedicalVocabularyRequest, @@ -100,9 +118,14 @@ import { GetVocabularyFilterResponse, GetVocabularyRequest, GetVocabularyResponse, + InputDataConfig, InternalFailureException, JobExecutionSettings, + LanguageCode, + LanguageModel, LimitExceededException, + ListLanguageModelsRequest, + ListLanguageModelsResponse, ListMedicalTranscriptionJobsRequest, ListMedicalTranscriptionJobsResponse, ListMedicalVocabulariesRequest, @@ -118,6 +141,7 @@ import { MedicalTranscriptionJob, MedicalTranscriptionJobSummary, MedicalTranscriptionSetting, + ModelSettings, NotFoundException, Settings, StartMedicalTranscriptionJobRequest, @@ -146,6 +170,19 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; +export const serializeAws_json1_1CreateLanguageModelCommand = async ( + input: CreateLanguageModelCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Transcribe.CreateLanguageModel", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateLanguageModelRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateMedicalVocabularyCommand = async ( input: CreateMedicalVocabularyCommandInput, context: __SerdeContext @@ -185,6 +222,19 @@ export const serializeAws_json1_1CreateVocabularyFilterCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteLanguageModelCommand = async ( + input: DeleteLanguageModelCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Transcribe.DeleteLanguageModel", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteLanguageModelRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteMedicalTranscriptionJobCommand = async ( input: DeleteMedicalTranscriptionJobCommandInput, context: __SerdeContext @@ -250,6 +300,19 @@ export const serializeAws_json1_1DeleteVocabularyFilterCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeLanguageModelCommand = async ( + input: DescribeLanguageModelCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Transcribe.DescribeLanguageModel", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeLanguageModelRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetMedicalTranscriptionJobCommand = async ( input: GetMedicalTranscriptionJobCommandInput, context: __SerdeContext @@ -315,6 +378,19 @@ export const serializeAws_json1_1GetVocabularyFilterCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListLanguageModelsCommand = async ( + input: ListLanguageModelsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "Transcribe.ListLanguageModels", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListLanguageModelsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListMedicalTranscriptionJobsCommand = async ( input: ListMedicalTranscriptionJobsCommandInput, context: __SerdeContext @@ -445,6 +521,85 @@ export const serializeAws_json1_1UpdateVocabularyFilterCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const deserializeAws_json1_1CreateLanguageModelCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateLanguageModelCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateLanguageModelResponse(data, context); + const response: CreateLanguageModelCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateLanguageModelCommandError = 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 "BadRequestException": + case "com.amazonaws.transcribe#BadRequestException": + response = { + ...(await deserializeAws_json1_1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.transcribe#ConflictException": + response = { + ...(await deserializeAws_json1_1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.transcribe#InternalFailureException": + response = { + ...(await deserializeAws_json1_1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.transcribe#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(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_1CreateMedicalVocabularyCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -682,6 +837,74 @@ const deserializeAws_json1_1CreateVocabularyFilterCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeleteLanguageModelCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteLanguageModelCommandError(output, context); + } + await collectBody(output.body, context); + const response: DeleteLanguageModelCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteLanguageModelCommandError = 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 "BadRequestException": + case "com.amazonaws.transcribe#BadRequestException": + response = { + ...(await deserializeAws_json1_1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.transcribe#InternalFailureException": + response = { + ...(await deserializeAws_json1_1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.transcribe#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(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_1DeleteMedicalTranscriptionJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1046,6 +1269,85 @@ const deserializeAws_json1_1DeleteVocabularyFilterCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeLanguageModelCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeLanguageModelCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeLanguageModelResponse(data, context); + const response: DescribeLanguageModelCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeLanguageModelCommandError = 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 "BadRequestException": + case "com.amazonaws.transcribe#BadRequestException": + response = { + ...(await deserializeAws_json1_1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.transcribe#InternalFailureException": + response = { + ...(await deserializeAws_json1_1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.transcribe#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotFoundException": + case "com.amazonaws.transcribe#NotFoundException": + response = { + ...(await deserializeAws_json1_1NotFoundExceptionResponse(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_1GetMedicalTranscriptionJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1441,6 +1743,77 @@ const deserializeAws_json1_1GetVocabularyFilterCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ListLanguageModelsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListLanguageModelsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListLanguageModelsResponse(data, context); + const response: ListLanguageModelsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListLanguageModelsCommandError = 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 "BadRequestException": + case "com.amazonaws.transcribe#BadRequestException": + response = { + ...(await deserializeAws_json1_1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalFailureException": + case "com.amazonaws.transcribe#InternalFailureException": + response = { + ...(await deserializeAws_json1_1InternalFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.transcribe#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(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_1ListMedicalTranscriptionJobsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2289,6 +2662,20 @@ const serializeAws_json1_1ContentRedaction = (input: ContentRedaction, context: }; }; +const serializeAws_json1_1CreateLanguageModelRequest = ( + input: CreateLanguageModelRequest, + context: __SerdeContext +): any => { + return { + ...(input.BaseModelName !== undefined && { BaseModelName: input.BaseModelName }), + ...(input.InputDataConfig !== undefined && { + InputDataConfig: serializeAws_json1_1InputDataConfig(input.InputDataConfig, context), + }), + ...(input.LanguageCode !== undefined && { LanguageCode: input.LanguageCode }), + ...(input.ModelName !== undefined && { ModelName: input.ModelName }), + }; +}; + const serializeAws_json1_1CreateMedicalVocabularyRequest = ( input: CreateMedicalVocabularyRequest, context: __SerdeContext @@ -2321,6 +2708,15 @@ const serializeAws_json1_1CreateVocabularyRequest = (input: CreateVocabularyRequ }; }; +const serializeAws_json1_1DeleteLanguageModelRequest = ( + input: DeleteLanguageModelRequest, + context: __SerdeContext +): any => { + return { + ...(input.ModelName !== undefined && { ModelName: input.ModelName }), + }; +}; + const serializeAws_json1_1DeleteMedicalTranscriptionJobRequest = ( input: DeleteMedicalTranscriptionJobRequest, context: __SerdeContext @@ -2365,6 +2761,15 @@ const serializeAws_json1_1DeleteVocabularyRequest = (input: DeleteVocabularyRequ }; }; +const serializeAws_json1_1DescribeLanguageModelRequest = ( + input: DescribeLanguageModelRequest, + context: __SerdeContext +): any => { + return { + ...(input.ModelName !== undefined && { ModelName: input.ModelName }), + }; +}; + const serializeAws_json1_1GetMedicalTranscriptionJobRequest = ( input: GetMedicalTranscriptionJobRequest, context: __SerdeContext @@ -2409,6 +2814,14 @@ const serializeAws_json1_1GetVocabularyRequest = (input: GetVocabularyRequest, c }; }; +const serializeAws_json1_1InputDataConfig = (input: InputDataConfig, context: __SerdeContext): any => { + return { + ...(input.DataAccessRoleArn !== undefined && { DataAccessRoleArn: input.DataAccessRoleArn }), + ...(input.S3Uri !== undefined && { S3Uri: input.S3Uri }), + ...(input.TuningDataS3Uri !== undefined && { TuningDataS3Uri: input.TuningDataS3Uri }), + }; +}; + const serializeAws_json1_1JobExecutionSettings = (input: JobExecutionSettings, context: __SerdeContext): any => { return { ...(input.AllowDeferredExecution !== undefined && { AllowDeferredExecution: input.AllowDeferredExecution }), @@ -2416,6 +2829,22 @@ const serializeAws_json1_1JobExecutionSettings = (input: JobExecutionSettings, c }; }; +const serializeAws_json1_1LanguageOptions = (input: (LanguageCode | string)[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_1ListLanguageModelsRequest = ( + input: ListLanguageModelsRequest, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NameContains !== undefined && { NameContains: input.NameContains }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.StatusEquals !== undefined && { StatusEquals: input.StatusEquals }), + }; +}; + const serializeAws_json1_1ListMedicalTranscriptionJobsRequest = ( input: ListMedicalTranscriptionJobsRequest, context: __SerdeContext @@ -2492,6 +2921,12 @@ const serializeAws_json1_1MedicalTranscriptionSetting = ( }; }; +const serializeAws_json1_1ModelSettings = (input: ModelSettings, context: __SerdeContext): any => { + return { + ...(input.LanguageModelName !== undefined && { LanguageModelName: input.LanguageModelName }), + }; +}; + const serializeAws_json1_1Phrases = (input: string[], context: __SerdeContext): any => { return input.map((entry) => entry); }; @@ -2523,6 +2958,7 @@ const serializeAws_json1_1StartMedicalTranscriptionJobRequest = ( }), ...(input.OutputBucketName !== undefined && { OutputBucketName: input.OutputBucketName }), ...(input.OutputEncryptionKMSKeyId !== undefined && { OutputEncryptionKMSKeyId: input.OutputEncryptionKMSKeyId }), + ...(input.OutputKey !== undefined && { OutputKey: input.OutputKey }), ...(input.Settings !== undefined && { Settings: serializeAws_json1_1MedicalTranscriptionSetting(input.Settings, context), }), @@ -2539,15 +2975,23 @@ const serializeAws_json1_1StartTranscriptionJobRequest = ( ...(input.ContentRedaction !== undefined && { ContentRedaction: serializeAws_json1_1ContentRedaction(input.ContentRedaction, context), }), + ...(input.IdentifyLanguage !== undefined && { IdentifyLanguage: input.IdentifyLanguage }), ...(input.JobExecutionSettings !== undefined && { JobExecutionSettings: serializeAws_json1_1JobExecutionSettings(input.JobExecutionSettings, context), }), ...(input.LanguageCode !== undefined && { LanguageCode: input.LanguageCode }), + ...(input.LanguageOptions !== undefined && { + LanguageOptions: serializeAws_json1_1LanguageOptions(input.LanguageOptions, context), + }), ...(input.Media !== undefined && { Media: serializeAws_json1_1Media(input.Media, context) }), ...(input.MediaFormat !== undefined && { MediaFormat: input.MediaFormat }), ...(input.MediaSampleRateHertz !== undefined && { MediaSampleRateHertz: input.MediaSampleRateHertz }), + ...(input.ModelSettings !== undefined && { + ModelSettings: serializeAws_json1_1ModelSettings(input.ModelSettings, context), + }), ...(input.OutputBucketName !== undefined && { OutputBucketName: input.OutputBucketName }), ...(input.OutputEncryptionKMSKeyId !== undefined && { OutputEncryptionKMSKeyId: input.OutputEncryptionKMSKeyId }), + ...(input.OutputKey !== undefined && { OutputKey: input.OutputKey }), ...(input.Settings !== undefined && { Settings: serializeAws_json1_1Settings(input.Settings, context) }), ...(input.TranscriptionJobName !== undefined && { TranscriptionJobName: input.TranscriptionJobName }), }; @@ -2609,6 +3053,23 @@ const deserializeAws_json1_1ContentRedaction = (output: any, context: __SerdeCon } as any; }; +const deserializeAws_json1_1CreateLanguageModelResponse = ( + output: any, + context: __SerdeContext +): CreateLanguageModelResponse => { + return { + BaseModelName: + output.BaseModelName !== undefined && output.BaseModelName !== null ? output.BaseModelName : undefined, + InputDataConfig: + output.InputDataConfig !== undefined && output.InputDataConfig !== null + ? deserializeAws_json1_1InputDataConfig(output.InputDataConfig, context) + : undefined, + LanguageCode: output.LanguageCode !== undefined && output.LanguageCode !== null ? output.LanguageCode : undefined, + ModelName: output.ModelName !== undefined && output.ModelName !== null ? output.ModelName : undefined, + ModelStatus: output.ModelStatus !== undefined && output.ModelStatus !== null ? output.ModelStatus : undefined, + } as any; +}; + const deserializeAws_json1_1CreateMedicalVocabularyResponse = ( output: any, context: __SerdeContext @@ -2664,6 +3125,18 @@ const deserializeAws_json1_1CreateVocabularyResponse = ( } as any; }; +const deserializeAws_json1_1DescribeLanguageModelResponse = ( + output: any, + context: __SerdeContext +): DescribeLanguageModelResponse => { + return { + LanguageModel: + output.LanguageModel !== undefined && output.LanguageModel !== null + ? deserializeAws_json1_1LanguageModel(output.LanguageModel, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1GetMedicalTranscriptionJobResponse = ( output: any, context: __SerdeContext @@ -2743,6 +3216,18 @@ const deserializeAws_json1_1GetVocabularyResponse = (output: any, context: __Ser } as any; }; +const deserializeAws_json1_1InputDataConfig = (output: any, context: __SerdeContext): InputDataConfig => { + return { + DataAccessRoleArn: + output.DataAccessRoleArn !== undefined && output.DataAccessRoleArn !== null + ? output.DataAccessRoleArn + : undefined, + S3Uri: output.S3Uri !== undefined && output.S3Uri !== null ? output.S3Uri : undefined, + TuningDataS3Uri: + output.TuningDataS3Uri !== undefined && output.TuningDataS3Uri !== null ? output.TuningDataS3Uri : undefined, + } as any; +}; + const deserializeAws_json1_1InternalFailureException = ( output: any, context: __SerdeContext @@ -2765,12 +3250,57 @@ const deserializeAws_json1_1JobExecutionSettings = (output: any, context: __Serd } as any; }; +const deserializeAws_json1_1LanguageModel = (output: any, context: __SerdeContext): LanguageModel => { + return { + BaseModelName: + output.BaseModelName !== undefined && output.BaseModelName !== null ? output.BaseModelName : undefined, + CreateTime: + output.CreateTime !== undefined && output.CreateTime !== null + ? new Date(Math.round(output.CreateTime * 1000)) + : undefined, + FailureReason: + output.FailureReason !== undefined && output.FailureReason !== null ? output.FailureReason : undefined, + InputDataConfig: + output.InputDataConfig !== undefined && output.InputDataConfig !== null + ? deserializeAws_json1_1InputDataConfig(output.InputDataConfig, context) + : undefined, + LanguageCode: output.LanguageCode !== undefined && output.LanguageCode !== null ? output.LanguageCode : undefined, + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null + ? new Date(Math.round(output.LastModifiedTime * 1000)) + : undefined, + ModelName: output.ModelName !== undefined && output.ModelName !== null ? output.ModelName : undefined, + ModelStatus: output.ModelStatus !== undefined && output.ModelStatus !== null ? output.ModelStatus : undefined, + UpgradeAvailability: + output.UpgradeAvailability !== undefined && output.UpgradeAvailability !== null + ? output.UpgradeAvailability + : undefined, + } as any; +}; + +const deserializeAws_json1_1LanguageOptions = (output: any, context: __SerdeContext): (LanguageCode | string)[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1LimitExceededException = (output: any, context: __SerdeContext): LimitExceededException => { return { Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, } as any; }; +const deserializeAws_json1_1ListLanguageModelsResponse = ( + output: any, + context: __SerdeContext +): ListLanguageModelsResponse => { + return { + Models: + output.Models !== undefined && output.Models !== null + ? deserializeAws_json1_1Models(output.Models, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + const deserializeAws_json1_1ListMedicalTranscriptionJobsResponse = ( output: any, context: __SerdeContext @@ -2973,6 +3503,19 @@ const deserializeAws_json1_1MedicalTranscriptionSetting = ( } as any; }; +const deserializeAws_json1_1Models = (output: any, context: __SerdeContext): LanguageModel[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1LanguageModel(entry, context)); +}; + +const deserializeAws_json1_1ModelSettings = (output: any, context: __SerdeContext): ModelSettings => { + return { + LanguageModelName: + output.LanguageModelName !== undefined && output.LanguageModelName !== null + ? output.LanguageModelName + : undefined, + } as any; +}; + const deserializeAws_json1_1NotFoundException = (output: any, context: __SerdeContext): NotFoundException => { return { Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, @@ -3061,11 +3604,21 @@ const deserializeAws_json1_1TranscriptionJob = (output: any, context: __SerdeCon : undefined, FailureReason: output.FailureReason !== undefined && output.FailureReason !== null ? output.FailureReason : undefined, + IdentifiedLanguageScore: + output.IdentifiedLanguageScore !== undefined && output.IdentifiedLanguageScore !== null + ? output.IdentifiedLanguageScore + : undefined, + IdentifyLanguage: + output.IdentifyLanguage !== undefined && output.IdentifyLanguage !== null ? output.IdentifyLanguage : undefined, JobExecutionSettings: output.JobExecutionSettings !== undefined && output.JobExecutionSettings !== null ? deserializeAws_json1_1JobExecutionSettings(output.JobExecutionSettings, context) : undefined, LanguageCode: output.LanguageCode !== undefined && output.LanguageCode !== null ? output.LanguageCode : undefined, + LanguageOptions: + output.LanguageOptions !== undefined && output.LanguageOptions !== null + ? deserializeAws_json1_1LanguageOptions(output.LanguageOptions, context) + : undefined, Media: output.Media !== undefined && output.Media !== null ? deserializeAws_json1_1Media(output.Media, context) @@ -3075,6 +3628,10 @@ const deserializeAws_json1_1TranscriptionJob = (output: any, context: __SerdeCon output.MediaSampleRateHertz !== undefined && output.MediaSampleRateHertz !== null ? output.MediaSampleRateHertz : undefined, + ModelSettings: + output.ModelSettings !== undefined && output.ModelSettings !== null + ? deserializeAws_json1_1ModelSettings(output.ModelSettings, context) + : undefined, Settings: output.Settings !== undefined && output.Settings !== null ? deserializeAws_json1_1Settings(output.Settings, context) @@ -3124,7 +3681,17 @@ const deserializeAws_json1_1TranscriptionJobSummary = ( : undefined, FailureReason: output.FailureReason !== undefined && output.FailureReason !== null ? output.FailureReason : undefined, + IdentifiedLanguageScore: + output.IdentifiedLanguageScore !== undefined && output.IdentifiedLanguageScore !== null + ? output.IdentifiedLanguageScore + : undefined, + IdentifyLanguage: + output.IdentifyLanguage !== undefined && output.IdentifyLanguage !== null ? output.IdentifyLanguage : undefined, LanguageCode: output.LanguageCode !== undefined && output.LanguageCode !== null ? output.LanguageCode : undefined, + ModelSettings: + output.ModelSettings !== undefined && output.ModelSettings !== null + ? deserializeAws_json1_1ModelSettings(output.ModelSettings, context) + : undefined, OutputLocationType: output.OutputLocationType !== undefined && output.OutputLocationType !== null ? output.OutputLocationType diff --git a/clients/client-transfer/Transfer.ts b/clients/client-transfer/Transfer.ts index aa17e595ce46..ca204b98f7c6 100644 --- a/clients/client-transfer/Transfer.ts +++ b/clients/client-transfer/Transfer.ts @@ -16,6 +16,11 @@ import { DeleteSshPublicKeyCommandOutput, } from "./commands/DeleteSshPublicKeyCommand"; import { DeleteUserCommand, DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; +import { + DescribeSecurityPolicyCommand, + DescribeSecurityPolicyCommandInput, + DescribeSecurityPolicyCommandOutput, +} from "./commands/DescribeSecurityPolicyCommand"; import { DescribeServerCommand, DescribeServerCommandInput, @@ -31,6 +36,11 @@ import { ImportSshPublicKeyCommandInput, ImportSshPublicKeyCommandOutput, } from "./commands/ImportSshPublicKeyCommand"; +import { + ListSecurityPoliciesCommand, + ListSecurityPoliciesCommandInput, + ListSecurityPoliciesCommandOutput, +} from "./commands/ListSecurityPoliciesCommand"; import { ListServersCommand, ListServersCommandInput, ListServersCommandOutput } from "./commands/ListServersCommand"; import { ListTagsForResourceCommand, @@ -61,14 +71,14 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** *

                                                                AWS Transfer Family is a fully managed service that enables the transfer of files over the - * the File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell - * (SSH) File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service - * (Amazon S3). AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer - * Family by integrating with existing authentication systems, and providing DNS routing with - * Amazon Route 53 so nothing changes for your customers and partners, or their applications. - * With your data in Amazon S3, you can use it with AWS services for processing, analytics, - * machine learning, and archiving. Getting started with AWS Transfer Family is easy since there - * is no infrastructure to buy and set up.

                                                                + * File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell (SSH) + * File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service (Amazon + * S3). AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer Family by + * integrating with existing authentication systems, and providing DNS routing with Amazon Route + * 53 so nothing changes for your customers and partners, or their applications. With your data + * in Amazon S3, you can use it with AWS services for processing, analytics, machine learning, + * and archiving. Getting started with AWS Transfer Family is easy since there is no + * infrastructure to buy and set up.

                                                                */ export class Transfer extends TransferClient { /** @@ -232,6 +242,41 @@ export class Transfer extends TransferClient { } } + /** + *

                                                                Describes the security policy that is attached to your file transfer protocol-enabled + * server. The response contains a description of the security policy's properties. For more + * information about security policies, see Working with security + * policies.

                                                                + */ + public describeSecurityPolicy( + args: DescribeSecurityPolicyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeSecurityPolicy( + args: DescribeSecurityPolicyCommandInput, + cb: (err: any, data?: DescribeSecurityPolicyCommandOutput) => void + ): void; + public describeSecurityPolicy( + args: DescribeSecurityPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeSecurityPolicyCommandOutput) => void + ): void; + public describeSecurityPolicy( + args: DescribeSecurityPolicyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeSecurityPolicyCommandOutput) => void), + cb?: (err: any, data?: DescribeSecurityPolicyCommandOutput) => void + ): Promise | void { + const command = new DescribeSecurityPolicyCommand(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 a file transfer protocol-enabled server that you specify by passing the * ServerId parameter.

                                                                @@ -339,6 +384,39 @@ export class Transfer extends TransferClient { } } + /** + *

                                                                Lists the security policies that are attached to your file transfer protocol-enabled + * servers.

                                                                + */ + public listSecurityPolicies( + args: ListSecurityPoliciesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listSecurityPolicies( + args: ListSecurityPoliciesCommandInput, + cb: (err: any, data?: ListSecurityPoliciesCommandOutput) => void + ): void; + public listSecurityPolicies( + args: ListSecurityPoliciesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListSecurityPoliciesCommandOutput) => void + ): void; + public listSecurityPolicies( + args: ListSecurityPoliciesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListSecurityPoliciesCommandOutput) => void), + cb?: (err: any, data?: ListSecurityPoliciesCommandOutput) => void + ): Promise | void { + const command = new ListSecurityPoliciesCommand(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 file transfer protocol-enabled servers that are associated with your AWS * account.

                                                                @@ -464,8 +542,12 @@ export class Transfer extends TransferClient { *

                                                                Changes the state of a file transfer protocol-enabled server from ONLINE to * OFFLINE. An OFFLINE server cannot accept and process file transfer * jobs. Information tied to your server, such as server and user properties, are not affected by - * stopping your server. Stopping the server will not reduce or impact your file transfer - * protocol endpoint billing.

                                                                + * stopping your server.

                                                                + * + * + *

                                                                Stopping the server will not reduce or impact your file transfer protocol endpoint + * billing; you must delete the server to stop being billed.

                                                                + *
                                                                * *

                                                                The state of STOPPING indicates that the server is in an intermediate state, * either not fully able to respond, or not fully offline. The values of STOP_FAILED diff --git a/clients/client-transfer/TransferClient.ts b/clients/client-transfer/TransferClient.ts index ec8534366248..e8b2391b6166 100644 --- a/clients/client-transfer/TransferClient.ts +++ b/clients/client-transfer/TransferClient.ts @@ -3,9 +3,17 @@ import { CreateUserCommandInput, CreateUserCommandOutput } from "./commands/Crea import { DeleteServerCommandInput, DeleteServerCommandOutput } from "./commands/DeleteServerCommand"; import { DeleteSshPublicKeyCommandInput, DeleteSshPublicKeyCommandOutput } from "./commands/DeleteSshPublicKeyCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; +import { + DescribeSecurityPolicyCommandInput, + DescribeSecurityPolicyCommandOutput, +} from "./commands/DescribeSecurityPolicyCommand"; import { DescribeServerCommandInput, DescribeServerCommandOutput } from "./commands/DescribeServerCommand"; import { DescribeUserCommandInput, DescribeUserCommandOutput } from "./commands/DescribeUserCommand"; import { ImportSshPublicKeyCommandInput, ImportSshPublicKeyCommandOutput } from "./commands/ImportSshPublicKeyCommand"; +import { + ListSecurityPoliciesCommandInput, + ListSecurityPoliciesCommandOutput, +} from "./commands/ListSecurityPoliciesCommand"; import { ListServersCommandInput, ListServersCommandOutput } from "./commands/ListServersCommand"; import { ListTagsForResourceCommandInput, @@ -77,9 +85,11 @@ export type ServiceInputTypes = | DeleteServerCommandInput | DeleteSshPublicKeyCommandInput | DeleteUserCommandInput + | DescribeSecurityPolicyCommandInput | DescribeServerCommandInput | DescribeUserCommandInput | ImportSshPublicKeyCommandInput + | ListSecurityPoliciesCommandInput | ListServersCommandInput | ListTagsForResourceCommandInput | ListUsersCommandInput @@ -97,9 +107,11 @@ export type ServiceOutputTypes = | DeleteServerCommandOutput | DeleteSshPublicKeyCommandOutput | DeleteUserCommandOutput + | DescribeSecurityPolicyCommandOutput | DescribeServerCommandOutput | DescribeUserCommandOutput | ImportSshPublicKeyCommandOutput + | ListSecurityPoliciesCommandOutput | ListServersCommandOutput | ListTagsForResourceCommandOutput | ListUsersCommandOutput @@ -225,14 +237,14 @@ export type TransferClientResolvedConfig = __SmithyResolvedConfiguration<__HttpH /** *

                                                                AWS Transfer Family is a fully managed service that enables the transfer of files over the - * the File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell - * (SSH) File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service - * (Amazon S3). AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer - * Family by integrating with existing authentication systems, and providing DNS routing with - * Amazon Route 53 so nothing changes for your customers and partners, or their applications. - * With your data in Amazon S3, you can use it with AWS services for processing, analytics, - * machine learning, and archiving. Getting started with AWS Transfer Family is easy since there - * is no infrastructure to buy and set up.

                                                                + * File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell (SSH) + * File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service (Amazon + * S3). AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer Family by + * integrating with existing authentication systems, and providing DNS routing with Amazon Route + * 53 so nothing changes for your customers and partners, or their applications. With your data + * in Amazon S3, you can use it with AWS services for processing, analytics, machine learning, + * and archiving. Getting started with AWS Transfer Family is easy since there is no + * infrastructure to buy and set up.

                                                                */ export class TransferClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-transfer/commands/DescribeSecurityPolicyCommand.ts b/clients/client-transfer/commands/DescribeSecurityPolicyCommand.ts new file mode 100644 index 000000000000..31468c5218a4 --- /dev/null +++ b/clients/client-transfer/commands/DescribeSecurityPolicyCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TransferClientResolvedConfig } from "../TransferClient"; +import { DescribeSecurityPolicyRequest, DescribeSecurityPolicyResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeSecurityPolicyCommand, + serializeAws_json1_1DescribeSecurityPolicyCommand, +} 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 DescribeSecurityPolicyCommandInput = DescribeSecurityPolicyRequest; +export type DescribeSecurityPolicyCommandOutput = DescribeSecurityPolicyResponse & __MetadataBearer; + +export class DescribeSecurityPolicyCommand extends $Command< + DescribeSecurityPolicyCommandInput, + DescribeSecurityPolicyCommandOutput, + TransferClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeSecurityPolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TransferClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeSecurityPolicyRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeSecurityPolicyResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeSecurityPolicyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeSecurityPolicyCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeSecurityPolicyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-transfer/commands/ListSecurityPoliciesCommand.ts b/clients/client-transfer/commands/ListSecurityPoliciesCommand.ts new file mode 100644 index 000000000000..bf76c4c1583d --- /dev/null +++ b/clients/client-transfer/commands/ListSecurityPoliciesCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, TransferClientResolvedConfig } from "../TransferClient"; +import { ListSecurityPoliciesRequest, ListSecurityPoliciesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListSecurityPoliciesCommand, + serializeAws_json1_1ListSecurityPoliciesCommand, +} 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 ListSecurityPoliciesCommandInput = ListSecurityPoliciesRequest; +export type ListSecurityPoliciesCommandOutput = ListSecurityPoliciesResponse & __MetadataBearer; + +export class ListSecurityPoliciesCommand extends $Command< + ListSecurityPoliciesCommandInput, + ListSecurityPoliciesCommandOutput, + TransferClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListSecurityPoliciesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TransferClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListSecurityPoliciesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListSecurityPoliciesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListSecurityPoliciesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListSecurityPoliciesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListSecurityPoliciesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-transfer/index.ts b/clients/client-transfer/index.ts index fefafa060da8..9de825566760 100644 --- a/clients/client-transfer/index.ts +++ b/clients/client-transfer/index.ts @@ -5,9 +5,12 @@ export * from "./commands/CreateUserCommand"; export * from "./commands/DeleteServerCommand"; export * from "./commands/DeleteSshPublicKeyCommand"; export * from "./commands/DeleteUserCommand"; +export * from "./commands/DescribeSecurityPolicyCommand"; export * from "./commands/DescribeServerCommand"; export * from "./commands/DescribeUserCommand"; export * from "./commands/ImportSshPublicKeyCommand"; +export * from "./commands/ListSecurityPoliciesCommand"; +export * from "./pagination/ListSecurityPoliciesPaginator"; export * from "./commands/ListServersCommand"; export * from "./pagination/ListServersPaginator"; export * from "./commands/ListTagsForResourceCommand"; diff --git a/clients/client-transfer/models/models_0.ts b/clients/client-transfer/models/models_0.ts index 73c9132baf90..2a1201182a14 100644 --- a/clients/client-transfer/models/models_0.ts +++ b/clients/client-transfer/models/models_0.ts @@ -42,48 +42,61 @@ export namespace ConflictException { */ export interface EndpointDetails { /** - *

                                                                A list of subnet IDs that are required to host your file transfer protocol-enabled server - * endpoint in your VPC.

                                                                + *

                                                                A list of address allocation IDs that are required to attach an Elastic IP address to your + * server's endpoint.

                                                                * * - *

                                                                This property can only be used when EndpointType is set to - * VPC.

                                                                + * + *

                                                                This property can only be set when EndpointType is set to VPC + * and it is only valid in the UpdateServer API.

                                                                *
                                                                */ - SubnetIds?: string[]; + AddressAllocationIds?: string[]; /** *

                                                                The ID of the VPC endpoint.

                                                                * * - *

                                                                This property can only be used when EndpointType is set to + *

                                                                This property can only be set when EndpointType is set to * VPC_ENDPOINT.

                                                                *
                                                                */ VpcEndpointId?: string; /** - *

                                                                A list of address allocation IDs that are required to attach an Elastic IP address to your - * file transfer protocol-enabled server's endpoint. This is only valid in the - * UpdateServer API.

                                                                + *

                                                                The VPC ID of the VPC in which a server's endpoint will be hosted.

                                                                * * - *

                                                                This property can only be use when EndpointType is set to + *

                                                                This property can only be set when EndpointType is set to * VPC.

                                                                *
                                                                */ - AddressAllocationIds?: string[]; + VpcId?: string; /** - *

                                                                The VPC ID of the VPC in which a file transfer protocol-enabled server's endpoint - * will be hosted.

                                                                + *

                                                                A list of security groups IDs that are available to attach to your server's + * endpoint.

                                                                * * - *

                                                                This property can only be used when EndpointType is set to + *

                                                                This property can only be set when EndpointType is set to * VPC.

                                                                + * + *

                                                                You can only edit the SecurityGroupIds property in the + * UpdateServer API and only if you are changing the EndpointType + * from PUBLIC or VPC_ENDPOINT to VPC.

                                                                *
                                                                */ - VpcId?: string; + SecurityGroupIds?: string[]; + + /** + *

                                                                A list of subnet IDs that are required to host your server endpoint in your VPC.

                                                                + * + * + *

                                                                This property can only be set when EndpointType is set to + * VPC.

                                                                + *
                                                                + */ + SubnetIds?: string[]; } export namespace EndpointDetails { @@ -159,73 +172,6 @@ export namespace Tag { } export interface CreateServerRequest { - /** - *

                                                                The virtual private cloud (VPC) endpoint settings that are configured for your file - * transfer protocol-enabled server. When you host your endpoint within your VPC, you can make it - * accessible only to resources within your VPC, or you can attach Elastic IPs and make it - * accessible to clients over the internet. Your VPC's default security groups are - * automatically assigned to your endpoint.

                                                                - */ - EndpointDetails?: EndpointDetails; - - /** - *

                                                                The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required - * when Protocols is set to FTPS.

                                                                - * - *

                                                                To request a new public certificate, see Request a public certificate - * in the AWS Certificate Manager User Guide.

                                                                - * - *

                                                                To import an existing certificate into ACM, see Importing certificates into ACM - * in the AWS Certificate Manager User Guide.

                                                                - * - *

                                                                To request a private certificate to use FTPS through private IP addresses, see Request a - * private certificate in the AWS Certificate Manager User - * Guide.

                                                                - * - *

                                                                Certificates with the following cryptographic algorithms and key sizes are - * supported:

                                                                - * - *
                                                                  - *
                                                                • - *

                                                                  2048-bit RSA (RSA_2048)

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  4096-bit RSA (RSA_4096)

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Elliptic Prime Curve 256 bit (EC_prime256v1)

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Elliptic Prime Curve 384 bit (EC_secp384r1)

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  Elliptic Prime Curve 521 bit (EC_secp521r1)

                                                                  - *
                                                                • - *
                                                                - * - * - *

                                                                The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP - * address specified and information about the issuer.

                                                                - *
                                                                - */ - Certificate?: string; - - /** - *

                                                                Key-value pairs that can be used to group and search for file transfer protocol-enabled - * servers.

                                                                - */ - Tags?: Tag[]; - - /** - *

                                                                Specifies the mode of authentication for a file transfer protocol-enabled server. The - * default value is SERVICE_MANAGED, which allows you to store and access user - * credentials within the AWS Transfer Family service. Use the API_GATEWAY value to - * integrate with an identity provider of your choosing. The API_GATEWAY setting - * requires you to provide an API Gateway endpoint URL to call for authentication using the - * IdentityProviderDetails parameter.

                                                                - */ - IdentityProviderType?: IdentityProviderType | string; - /** *

                                                                The RSA private key as generated by the ssh-keygen -N "" -m PEM -f * my-new-server-key command.

                                                                @@ -284,25 +230,81 @@ export interface CreateServerRequest { Protocols?: (Protocol | string)[]; /** - *

                                                                The type of VPC endpoint that you want your file transfer protocol-enabled server to - * connect to. You can choose to connect to the public internet or a VPC endpoint. With a VPC - * endpoint, you can restrict access to your server and resources only within your VPC.

                                                                + *

                                                                Allows the service to write your users' activity to your Amazon CloudWatch logs for + * monitoring and auditing purposes.

                                                                + */ + LoggingRole?: string; + + /** + *

                                                                Key-value pairs that can be used to group and search for servers.

                                                                + */ + Tags?: Tag[]; + + /** + *

                                                                The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required + * when Protocols is set to FTPS.

                                                                + * + *

                                                                To request a new public certificate, see Request a public certificate + * in the AWS Certificate Manager User Guide.

                                                                + * + *

                                                                To import an existing certificate into ACM, see Importing certificates into ACM + * in the AWS Certificate Manager User Guide.

                                                                + * + *

                                                                To request a private certificate to use FTPS through private IP addresses, see Request a + * private certificate in the AWS Certificate Manager User + * Guide.

                                                                + * + *

                                                                Certificates with the following cryptographic algorithms and key sizes are + * supported:

                                                                + * + *
                                                                  + *
                                                                • + *

                                                                  2048-bit RSA (RSA_2048)

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  4096-bit RSA (RSA_4096)

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Elliptic Prime Curve 256 bit (EC_prime256v1)

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Elliptic Prime Curve 384 bit (EC_secp384r1)

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  Elliptic Prime Curve 521 bit (EC_secp521r1)

                                                                  + *
                                                                • + *
                                                                * * - *

                                                                It is recommended that you use VPC as the EndpointType. With - * this endpoint type, you have the option to directly associate up to three Elastic IPv4 - * addresses (BYO IP included) with your server's endpoint and use VPC security groups to - * restrict traffic by the client's public IP address. This is not possible with - * EndpointType set to VPC_ENDPOINT.

                                                                + *

                                                                The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP + * address specified and information about the issuer.

                                                                *
                                                                */ - EndpointType?: EndpointType | string; + Certificate?: string; /** - *

                                                                Allows the service to write your users' activity to your Amazon CloudWatch logs for - * monitoring and auditing purposes.

                                                                + *

                                                                Specifies the mode of authentication for a server. The default value is + * SERVICE_MANAGED, which allows you to store and access user credentials within + * the AWS Transfer Family service. Use the API_GATEWAY value to integrate with an + * identity provider of your choosing. The API_GATEWAY setting requires you to + * provide an API Gateway endpoint URL to call for authentication using the + * IdentityProviderDetails parameter.

                                                                */ - LoggingRole?: string; + IdentityProviderType?: IdentityProviderType | string; + + /** + *

                                                                The virtual private cloud (VPC) endpoint settings that are configured for your server. + * When you host your endpoint within your VPC, you can make it accessible only to resources + * within your VPC, or you can attach Elastic IPs and make it accessible to clients over the + * internet. Your VPC's default security groups are automatically assigned to your + * endpoint.

                                                                + */ + EndpointDetails?: EndpointDetails; + + /** + *

                                                                Specifies the name of the security policy that is attached to the server.

                                                                + */ + SecurityPolicyName?: string; /** *

                                                                Required when IdentityProviderType is set to API_GATEWAY. @@ -311,6 +313,21 @@ export interface CreateServerRequest { * IdentityProviderType is set to SERVICE_MANAGED.

                                                                */ IdentityProviderDetails?: IdentityProviderDetails; + + /** + *

                                                                The type of VPC endpoint that you want your server to connect to. You can choose to + * connect to the public internet or a VPC endpoint. With a VPC endpoint, you can restrict access + * to your server and resources only within your VPC.

                                                                + * + * + *

                                                                It is recommended that you use VPC as the EndpointType. With + * this endpoint type, you have the option to directly associate up to three Elastic IPv4 + * addresses (BYO IP included) with your server's endpoint and use VPC security groups to + * restrict traffic by the client's public IP address. This is not possible with + * EndpointType set to VPC_ENDPOINT.

                                                                + *
                                                                + */ + EndpointType?: EndpointType | string; } export namespace CreateServerRequest { @@ -322,8 +339,7 @@ export namespace CreateServerRequest { export interface CreateServerResponse { /** - *

                                                                The service-assigned ID of the file transfer protocol-enabled server that is - * created.

                                                                + *

                                                                The service-assigned ID of the server that is created.

                                                                */ ServerId: string | undefined; } @@ -371,8 +387,8 @@ export interface ResourceExistsException extends __SmithyException, $MetadataBea name: "ResourceExistsException"; $fault: "client"; Resource: string | undefined; - ResourceType: string | undefined; Message: string | undefined; + ResourceType: string | undefined; } export namespace ResourceExistsException { @@ -414,19 +430,19 @@ export namespace ThrottlingException { } /** - *

                                                                Represents an object that contains entries and a targets for + *

                                                                Represents an object that contains entries and targets for * HomeDirectoryMappings.

                                                                */ export interface HomeDirectoryMapEntry { /** - *

                                                                Represents the map target that is used in a HomeDirectorymapEntry.

                                                                + *

                                                                Represents an entry and a target for HomeDirectoryMappings.

                                                                */ - Target: string | undefined; + Entry: string | undefined; /** - *

                                                                Represents an entry and a target for HomeDirectoryMappings.

                                                                + *

                                                                Represents the map target that is used in a HomeDirectorymapEntry.

                                                                */ - Entry: string | undefined; + Target: string | undefined; } export namespace HomeDirectoryMapEntry { @@ -442,63 +458,21 @@ export enum HomeDirectoryType { export interface CreateUserRequest { /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server instance. - * This is the specific server that you added your user to.

                                                                + *

                                                                The public portion of the Secure Shell (SSH) key used to authenticate the user to the + * server.

                                                                */ - ServerId: string | undefined; - - /** - *

                                                                A unique string that identifies a user and is associated with a file transfer - * protocol-enabled server as specified by the ServerId. This user name must be a - * minimum of 3 and a maximum of 32 characters long. The following are valid characters: a-z, - * A-Z, 0-9, underscore, and hyphen. The user name can't start with a hyphen.

                                                                - */ - UserName: string | undefined; - - /** - *

                                                                Key-value pairs that can be used to group and search for users. Tags are metadata attached - * to users for any purpose.

                                                                - */ - Tags?: Tag[]; - - /** - *

                                                                The IAM role that controls your users' access to your Amazon S3 bucket. The policies - * attached to this role will determine the level of access you want to provide your users when - * transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also - * contain a trust relationship that allows the file transfer protocol-enabled server to access - * your resources when servicing your users' transfer requests.

                                                                - */ - Role: string | undefined; + SshPublicKeyBody?: string; /** - *

                                                                A scope-down policy for your user so you can use the same IAM role across multiple users. - * This policy scopes down user access to portions of their Amazon S3 bucket. Variables that you - * can use inside this policy include ${Transfer:UserName}, - * ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

                                                                - * - * - *

                                                                For scope-down policies, AWS Transfer Family stores the policy as a JSON blob, instead - * of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass - * it in the Policy argument.

                                                                - * - * - * - *

                                                                For an example of a scope-down policy, see Creating a scope-down - * policy.

                                                                - * + *

                                                                The landing directory (folder) for a user when they log in to the server using the + * client.

                                                                * - * - *

                                                                For more information, see AssumeRole in the AWS - * Security Token Service API Reference.

                                                                - *
                                                                - */ - Policy?: string; - - /** - *

                                                                The public portion of the Secure Shell (SSH) key used to authenticate the user to the file - * transfer protocol-enabled server.

                                                                + *

                                                                An example is + * + * your-Amazon-S3-bucket-name>/home/username + * .

                                                                */ - SshPublicKeyBody?: string; + HomeDirectory?: string; /** *

                                                                Logical directory mappings that specify what Amazon S3 paths and keys should be visible to @@ -519,59 +493,102 @@ export interface CreateUserRequest { * * *

                                                                If the target of a logical directory entry does not exist in Amazon S3, the entry will - * be ignored. As a workaround, you can use the Amazon S3 api to create 0 byte objects as place + * be ignored. As a workaround, you can use the Amazon S3 API to create 0 byte objects as place * holders for your directory. If using the CLI, use the s3api call instead of * s3 so you can use the put-object operation. For example, you use the * following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make - * sure that the end of the key name ends in a '/' for it to be considered a folder.

                                                                + * sure that the end of the key name ends in a '/' for it to be considered a + * folder.

                                                                * */ HomeDirectoryMappings?: HomeDirectoryMapEntry[]; - /** - *

                                                                The landing directory (folder) for a user when they log in to the file transfer - * protocol-enabled server using the client.

                                                                - * - *

                                                                An example is - * - * your-Amazon-S3-bucket-name>/home/username - * .

                                                                - */ - HomeDirectory?: string; - /** *

                                                                The type of landing directory (folder) you want your users' home directory to be when - * they log into the file transfer protocol-enabled server. If you set it to PATH, - * the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol - * clients. If you set it LOGICAL, you will need to provide mappings in the + * they log into the server. If you set it to PATH, the user will see the absolute + * Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it + * LOGICAL, you will need to provide mappings in the * HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your * users.

                                                                */ HomeDirectoryType?: HomeDirectoryType | string; -} -export namespace CreateUserRequest { - export const filterSensitiveLog = (obj: CreateUserRequest): any => ({ - ...obj, - }); -} + /** + *

                                                                A system-assigned unique identifier for a server instance. This is the specific server + * that you added your user to.

                                                                + */ + ServerId: string | undefined; -export interface CreateUserResponse { /** - *

                                                                A unique string that identifies a user account associated with a file transfer - * protocol-enabled server.

                                                                + *

                                                                A unique string that identifies a user and is associated with a as specified by the + * ServerId. This user name must be a minimum of 3 and a maximum of 100 characters + * long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen + * '-', period '.', and at sign '@'. The user name can't start + * with a hyphen, period, or at sign.

                                                                */ UserName: string | undefined; /** - *

                                                                The ID of the file transfer protocol-enabled server that the user is attached to.

                                                                + *

                                                                A scope-down policy for your user so you can use the same IAM role across multiple users. + * This policy scopes down user access to portions of their Amazon S3 bucket. Variables that you + * can use inside this policy include ${Transfer:UserName}, + * ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

                                                                + * + * + *

                                                                For scope-down policies, AWS Transfer Family stores the policy as a JSON blob, instead + * of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass + * it in the Policy argument.

                                                                + * + * + * + *

                                                                For an example of a scope-down policy, see Creating a scope-down + * policy.

                                                                + * + * + * + *

                                                                For more information, see AssumeRole in the AWS + * Security Token Service API Reference.

                                                                + *
                                                                */ - ServerId: string | undefined; -} + Policy?: string; -export namespace CreateUserResponse { - export const filterSensitiveLog = (obj: CreateUserResponse): any => ({ - ...obj, + /** + *

                                                                The IAM role that controls your users' access to your Amazon S3 bucket. The policies + * attached to this role will determine the level of access you want to provide your users when + * transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also + * contain a trust relationship that allows the server to access your resources when servicing + * your users' transfer requests.

                                                                + */ + Role: string | undefined; + + /** + *

                                                                Key-value pairs that can be used to group and search for users. Tags are metadata attached + * to users for any purpose.

                                                                + */ + Tags?: Tag[]; +} + +export namespace CreateUserRequest { + export const filterSensitiveLog = (obj: CreateUserRequest): any => ({ + ...obj, + }); +} + +export interface CreateUserResponse { + /** + *

                                                                A unique string that identifies a user account associated with a server.

                                                                + */ + UserName: string | undefined; + + /** + *

                                                                The ID of the server that the user is attached to.

                                                                + */ + ServerId: string | undefined; +} + +export namespace CreateUserResponse { + export const filterSensitiveLog = (obj: CreateUserResponse): any => ({ + ...obj, }); } @@ -582,9 +599,9 @@ export namespace CreateUserResponse { export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; - Message: string | undefined; Resource: string | undefined; ResourceType: string | undefined; + Message: string | undefined; } export namespace ResourceNotFoundException { @@ -595,8 +612,7 @@ export namespace ResourceNotFoundException { export interface DeleteServerRequest { /** - *

                                                                A unique system-assigned identifier for a file transfer protocol-enabled server - * instance.

                                                                + *

                                                                A unique system-assigned identifier for a server instance.

                                                                */ ServerId: string | undefined; } @@ -608,17 +624,17 @@ export namespace DeleteServerRequest { } export interface DeleteSshPublicKeyRequest { - /** - *

                                                                A unique identifier used to reference your user's specific SSH key.

                                                                - */ - SshPublicKeyId: string | undefined; - /** *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server instance * that has the user assigned to it.

                                                                */ ServerId: string | undefined; + /** + *

                                                                A unique identifier used to reference your user's specific SSH key.

                                                                + */ + SshPublicKeyId: string | undefined; + /** *

                                                                A unique string that identifies a user whose public key is being deleted.

                                                                */ @@ -633,14 +649,13 @@ export namespace DeleteSshPublicKeyRequest { export interface DeleteUserRequest { /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server instance - * that has the user assigned to it.

                                                                + *

                                                                A system-assigned unique identifier for a server instance that has the user assigned to + * it.

                                                                */ ServerId: string | undefined; /** - *

                                                                A unique string that identifies a user that is being deleted from a file transfer - * protocol-enabled server.

                                                                + *

                                                                A unique string that identifies a user that is being deleted from a server.

                                                                */ UserName: string | undefined; } @@ -651,6 +666,54 @@ export namespace DeleteUserRequest { }); } +/** + *

                                                                Describes the properties of a security policy that was specified. For more information + * about security policies, see Working with security + * policies.

                                                                + */ +export interface DescribedSecurityPolicy { + /** + *

                                                                Specifies whether this policy enables Federal Information Processing Standards + * (FIPS).

                                                                + */ + Fips?: boolean; + + /** + *

                                                                Specifies the name of the security policy that is attached to the server.

                                                                + */ + SecurityPolicyName: string | undefined; + + /** + *

                                                                Specifies the enabled Transport Layer Security (TLS) cipher encryption algorithms in the + * security policy that is attached to the server.

                                                                + */ + TlsCiphers?: string[]; + + /** + *

                                                                Specifies the enabled SSH message authentication code (MAC) encryption algorithms in the + * security policy that is attached to the server.

                                                                + */ + SshMacs?: string[]; + + /** + *

                                                                Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the security + * policy that is attached to the server.

                                                                + */ + SshCiphers?: string[]; + + /** + *

                                                                Specifies the enabled SSH key exchange (KEX) encryption algorithms in the security policy + * that is attached to the server.

                                                                + */ + SshKexs?: string[]; +} + +export namespace DescribedSecurityPolicy { + export const filterSensitiveLog = (obj: DescribedSecurityPolicy): any => ({ + ...obj, + }); +} + export enum State { OFFLINE = "OFFLINE", ONLINE = "ONLINE", @@ -661,58 +724,50 @@ export enum State { } /** - *

                                                                Describes the properties of a file transfer protocol-enabled server that was specified. - * Information returned includes the following: the server Amazon Resource Name (ARN), the - * certificate ARN (if the FTPS protocol was selected), the endpoint type and details, the - * authentication configuration and type, the logging role, the file transfer protocol or - * protocols, the server ID and state, and assigned tags or metadata.

                                                                + *

                                                                Describes the properties of a file transfer protocol-enabled server that was + * specified.

                                                                */ export interface DescribedServer { /** - *

                                                                Defines the type of endpoint that your file transfer protocol-enabled server is connected - * to. If your server is connected to a VPC endpoint, your server isn't accessible over the - * public internet.

                                                                - */ - EndpointType?: EndpointType | string; - - /** - *

                                                                Specifies the unique Amazon Resource Name (ARN) for a file transfer protocol-enabled - * server to be described.

                                                                + *

                                                                Specifies the unique system-assigned identifier for a server that you instantiate.

                                                                */ - Arn: string | undefined; + ServerId?: string; /** - *

                                                                Specifies information to call a customer-supplied authentication API. This field is not - * populated when the IdentityProviderType of a file transfer protocol-enabled - * server is SERVICE_MANAGED.

                                                                + *

                                                                Defines the type of endpoint that your server is connected to. If your server is connected + * to a VPC endpoint, your server isn't accessible over the public internet.

                                                                */ - IdentityProviderDetails?: IdentityProviderDetails; + EndpointType?: EndpointType | string; /** - *

                                                                Specifies the AWS Identity and Access Management (IAM) role that allows a file transfer - * protocol-enabled server to turn on Amazon CloudWatch logging for Amazon S3 events. When set, - * user activity can be viewed in your CloudWatch logs.

                                                                + *

                                                                Specifies the name of the security policy that is attached to the server.

                                                                */ - LoggingRole?: string; + SecurityPolicyName?: string; /** - *

                                                                Specifies the key-value pairs that you can use to search for and group file transfer - * protocol-enabled servers that were assigned to the server that was described.

                                                                + *

                                                                Specifies the condition of a server for the server that was described. A value of + * ONLINE indicates that the server can accept jobs and transfer files. A + * State value of OFFLINE means that the server cannot perform file + * transfer operations.

                                                                + * + *

                                                                The states of STARTING and STOPPING indicate that the server is + * in an intermediate state, either not fully able to respond, or not fully offline. The values + * of START_FAILED or STOP_FAILED can indicate an error + * condition.

                                                                */ - Tags?: Tag[]; + State?: State | string; /** - *

                                                                Specifies the number of users that are assigned to a file transfer protocol-enabled server - * you specified with the ServerId.

                                                                + *

                                                                Specifies the unique Amazon Resource Name (ARN) of the server.

                                                                */ - UserCount?: number; + Arn: string | undefined; /** *

                                                                Specifies the mode of authentication method enabled for this service. A value of - * SERVICE_MANAGED means that you are using this file transfer protocol-enabled - * server to store and access user credentials within the service. A value of - * API_GATEWAY indicates that you have integrated an API Gateway endpoint that - * will be invoked for authenticating your user into the service.

                                                                + * SERVICE_MANAGED means that you are using this server to store and access user + * credentials within the service. A value of API_GATEWAY indicates that you have + * integrated an API Gateway endpoint that will be invoked for authenticating your user into the + * service.

                                                                */ IdentityProviderType?: IdentityProviderType | string; @@ -723,30 +778,17 @@ export interface DescribedServer { Certificate?: string; /** - *

                                                                Specifies the virtual private cloud (VPC) endpoint settings that you configured for your - * file transfer protocol-enabled server.

                                                                - */ - EndpointDetails?: EndpointDetails; - - /** - *

                                                                Specifies the condition of a file transfer protocol-enabled server for the server that was - * described. A value of ONLINE indicates that the server can accept jobs and - * transfer files. A State value of OFFLINE means that the server - * cannot perform file transfer operations.

                                                                - * - *

                                                                The states of STARTING and STOPPING indicate that the server is - * in an intermediate state, either not fully able to respond, or not fully offline. The values - * of START_FAILED or STOP_FAILED can indicate an error - * condition.

                                                                + *

                                                                Specifies the key-value pairs that you can use to search for and group servers that were + * assigned to the server that was described.

                                                                */ - State?: State | string; + Tags?: Tag[]; /** - *

                                                                Specifies the Base64-encoded SHA256 fingerprint of the server's host key. This value - * is equivalent to the output of the ssh-keygen -l -f my-new-server-key - * command.

                                                                + *

                                                                Specifies the AWS Identity and Access Management (IAM) role that allows a server to turn + * on Amazon CloudWatch logging for Amazon S3 events. When set, user activity can be viewed in + * your CloudWatch logs.

                                                                */ - HostKeyFingerprint?: string; + LoggingRole?: string; /** *

                                                                Specifies the file transfer protocol or protocols over which your file transfer protocol @@ -772,10 +814,30 @@ export interface DescribedServer { Protocols?: (Protocol | string)[]; /** - *

                                                                Specifies the unique system-assigned identifier for a file transfer protocol-enabled - * server that you instantiate.

                                                                + *

                                                                Specifies the number of users that are assigned to a server you specified with the + * ServerId.

                                                                */ - ServerId?: string; + UserCount?: number; + + /** + *

                                                                Specifies the Base64-encoded SHA256 fingerprint of the server's host key. This value + * is equivalent to the output of the ssh-keygen -l -f my-new-server-key + * command.

                                                                + */ + HostKeyFingerprint?: string; + + /** + *

                                                                Specifies information to call a customer-supplied authentication API. This field is not + * populated when the IdentityProviderType of a server is + * SERVICE_MANAGED.

                                                                + */ + IdentityProviderDetails?: IdentityProviderDetails; + + /** + *

                                                                Specifies the virtual private cloud (VPC) endpoint settings that you configured for your + * server.

                                                                + */ + EndpointDetails?: EndpointDetails; } export namespace DescribedServer { @@ -792,12 +854,6 @@ export namespace DescribedServer { * associated with their user name on a specific server.

                                                                */ export interface SshPublicKey { - /** - *

                                                                Specifies the SshPublicKeyId parameter contains the identifier of the public - * key.

                                                                - */ - SshPublicKeyId: string | undefined; - /** *

                                                                Specifies the date that the public key was added to the user account.

                                                                */ @@ -808,6 +864,12 @@ export interface SshPublicKey { * PublicKeyId.

                                                                */ SshPublicKeyBody: string | undefined; + + /** + *

                                                                Specifies the SshPublicKeyId parameter contains the identifier of the public + * key.

                                                                + */ + SshPublicKeyId: string | undefined; } export namespace SshPublicKey { @@ -817,22 +879,29 @@ export namespace SshPublicKey { } /** - *

                                                                Returns properties of the user that you want to describe.

                                                                + *

                                                                Describes the properties of a user that was specified.

                                                                */ export interface DescribedUser { /** - *

                                                                Specifies the logical directory mappings that specify what Amazon S3 paths and keys should - * be visible to your user and how you want to make them visible. You will need to specify the - * "Entry" and "Target" pair, where Entry shows how the - * path is made visible and Target is the actual Amazon S3 path. If you only specify - * a target, it will be displayed as is. You will need to also make sure that your AWS Identity - * and Access Management (IAM) role provides access to paths in Target.

                                                                - * - *

                                                                In most cases, you can use this value instead of the scope-down policy to lock your user - * down to the designated home directory ("chroot"). To do this, you can set Entry - * to '/' and set Target to the HomeDirectory parameter value.

                                                                + *

                                                                Specifies the public key portion of the Secure Shell (SSH) keys stored for the described + * user.

                                                                */ - HomeDirectoryMappings?: HomeDirectoryMapEntry[]; + SshPublicKeys?: SshPublicKey[]; + + /** + *

                                                                Specifies the landing directory (or folder), which is the location that files are written + * to or read from in an Amazon S3 bucket, for the described user. An example is + * + * your-Amazon-S3-bucket-name>/home/username + * .

                                                                + */ + HomeDirectory?: string; + + /** + *

                                                                Specifies the key-value pairs for the user requested. Tag can be used to search for and + * group users for a variety of purposes.

                                                                + */ + Tags?: Tag[]; /** *

                                                                Specifies the type of landing directory (folder) you mapped for your users to see when @@ -850,58 +919,77 @@ export interface DescribedUser { Policy?: string; /** - *

                                                                Specifies the public key portion of the Secure Shell (SSH) keys stored for the described - * user.

                                                                + *

                                                                Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be + * described.

                                                                */ - SshPublicKeys?: SshPublicKey[]; + Arn: string | undefined; /** - *

                                                                Specifies the landing directory (or folder), which is the location that files are written - * to or read from in an Amazon S3 bucket, for the described user. An example is - * - * your-Amazon-S3-bucket-name>/home/username - * .

                                                                + *

                                                                Specifies the logical directory mappings that specify what Amazon S3 paths and keys should + * be visible to your user and how you want to make them visible. You will need to specify the + * "Entry" and "Target" pair, where Entry shows how the + * path is made visible and Target is the actual Amazon S3 path. If you only specify + * a target, it will be displayed as is. You will need to also make sure that your AWS Identity + * and Access Management (IAM) role provides access to paths in Target.

                                                                + * + *

                                                                In most cases, you can use this value instead of the scope-down policy to lock your user + * down to the designated home directory ("chroot"). To do this, you can set Entry + * to '/' and set Target to the HomeDirectory parameter value.

                                                                */ - HomeDirectory?: string; + HomeDirectoryMappings?: HomeDirectoryMapEntry[]; + + /** + *

                                                                Specifies the IAM role that controls your users' access to your Amazon S3 bucket. The + * policies attached to this role will determine the level of access you want to provide your + * users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role + * should also contain a trust relationship that allows a server to access your resources when + * servicing your users' transfer requests.

                                                                + */ + Role?: string; /** *

                                                                Specifies the name of the user that was requested to be described. User names are used for * authentication purposes. This is the string that will be used by your user when they log in to - * your file transfer protocol-enabled server.

                                                                + * your server.

                                                                */ UserName?: string; +} - /** - *

                                                                Specifies the key-value pairs for the user requested. Tag can be used to search for and - * group users for a variety of purposes.

                                                                - */ - Tags?: Tag[]; +export namespace DescribedUser { + export const filterSensitiveLog = (obj: DescribedUser): any => ({ + ...obj, + }); +} +export interface DescribeSecurityPolicyRequest { /** - *

                                                                Specifies the IAM role that controls your users' access to your Amazon S3 bucket. The - * policies attached to this role will determine the level of access you want to provide your - * users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role - * should also contain a trust relationship that allows a file transfer protocol-enabled server - * to access your resources when servicing your users' transfer requests.

                                                                + *

                                                                Specifies the name of the security policy that is attached to the server.

                                                                */ - Role?: string; + SecurityPolicyName: string | undefined; +} + +export namespace DescribeSecurityPolicyRequest { + export const filterSensitiveLog = (obj: DescribeSecurityPolicyRequest): any => ({ + ...obj, + }); +} +export interface DescribeSecurityPolicyResponse { /** - *

                                                                Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be - * described.

                                                                + *

                                                                An array containing the properties of the security policy.

                                                                */ - Arn: string | undefined; + SecurityPolicy: DescribedSecurityPolicy | undefined; } -export namespace DescribedUser { - export const filterSensitiveLog = (obj: DescribedUser): any => ({ +export namespace DescribeSecurityPolicyResponse { + export const filterSensitiveLog = (obj: DescribeSecurityPolicyResponse): any => ({ ...obj, }); } export interface DescribeServerRequest { /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server.

                                                                + *

                                                                A system-assigned unique identifier for a server.

                                                                */ ServerId: string | undefined; } @@ -914,8 +1002,8 @@ export namespace DescribeServerRequest { export interface DescribeServerResponse { /** - *

                                                                An array containing the properties of a file transfer protocol-enabled server with the - * ServerID you specified.

                                                                + *

                                                                An array containing the properties of a server with the ServerID you + * specified.

                                                                */ Server: DescribedServer | undefined; } @@ -928,15 +1016,13 @@ export namespace DescribeServerResponse { export interface DescribeUserRequest { /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server that has - * this user assigned.

                                                                + *

                                                                A system-assigned unique identifier for a server that has this user assigned.

                                                                */ ServerId: string | undefined; /** - *

                                                                The name of the user assigned to one or more file transfer protocol-enabled servers. User - * names are part of the sign-in credentials to use the AWS Transfer Family service and perform - * file transfer tasks.

                                                                + *

                                                                The name of the user assigned to one or more servers. User names are part of the sign-in + * credentials to use the AWS Transfer Family service and perform file transfer tasks.

                                                                */ UserName: string | undefined; } @@ -949,16 +1035,15 @@ export namespace DescribeUserRequest { export interface DescribeUserResponse { /** - *

                                                                An array containing the properties of the user account for the ServerID value - * that you specified.

                                                                + *

                                                                A system-assigned unique identifier for a server that has this user assigned.

                                                                */ - User: DescribedUser | undefined; + ServerId: string | undefined; /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server that has - * this user assigned.

                                                                + *

                                                                An array containing the properties of the user account for the ServerID value + * that you specified.

                                                                */ - ServerId: string | undefined; + User: DescribedUser | undefined; } export namespace DescribeUserResponse { @@ -969,20 +1054,19 @@ export namespace DescribeUserResponse { export interface ImportSshPublicKeyRequest { /** - *

                                                                The public key portion of an SSH key pair.

                                                                + *

                                                                A system-assigned unique identifier for a server.

                                                                */ - SshPublicKeyBody: string | undefined; + ServerId: string | undefined; /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server.

                                                                + *

                                                                The name of the user account that is assigned to one or more servers.

                                                                */ - ServerId: string | undefined; + UserName: string | undefined; /** - *

                                                                The name of the user account that is assigned to one or more file transfer - * protocol-enabled servers.

                                                                + *

                                                                The public key portion of an SSH key pair.

                                                                */ - UserName: string | undefined; + SshPublicKeyBody: string | undefined; } export namespace ImportSshPublicKeyRequest { @@ -992,18 +1076,13 @@ export namespace ImportSshPublicKeyRequest { } /** - *

                                                                Identifies the user, the file transfer protocol-enabled server they belong to, and the - * identifier of the SSH public key associated with that user. A user can have more than one key - * on each server that they are associated with.

                                                                + *

                                                                Identifies the user, the server they belong to, and the identifier of the SSH public key + * associated with that user. A user can have more than one key on each server that they are + * associated with.

                                                                */ export interface ImportSshPublicKeyResponse { /** - *

                                                                The name given to a public key by the system that was imported.

                                                                - */ - SshPublicKeyId: string | undefined; - - /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server.

                                                                + *

                                                                A system-assigned unique identifier for a server.

                                                                */ ServerId: string | undefined; @@ -1011,6 +1090,11 @@ export interface ImportSshPublicKeyResponse { *

                                                                A user name assigned to the ServerID value that you specified.

                                                                */ UserName: string | undefined; + + /** + *

                                                                The name given to a public key by the system that was imported.

                                                                + */ + SshPublicKeyId: string | undefined; } export namespace ImportSshPublicKeyResponse { @@ -1039,16 +1123,15 @@ export namespace InvalidNextTokenException { */ export interface ListedServer { /** - *

                                                                Specifies the number of users that are assigned to a file transfer protocol-enabled server - * you specified with the ServerId.

                                                                + *

                                                                Specifies the unique Amazon Resource Name (ARN) for a server to be listed.

                                                                */ - UserCount?: number; + Arn: string | undefined; /** - *

                                                                Specifies the condition of a file transfer protocol-enabled server for the server that was - * described. A value of ONLINE indicates that the server can accept jobs and - * transfer files. A State value of OFFLINE means that the server - * cannot perform file transfer operations.

                                                                + *

                                                                Specifies the condition of a server for the server that was described. A value of + * ONLINE indicates that the server can accept jobs and transfer files. A + * State value of OFFLINE means that the server cannot perform file + * transfer operations.

                                                                * *

                                                                The states of STARTING and STOPPING indicate that the server is * in an intermediate state, either not fully able to respond, or not fully offline. The values @@ -1058,37 +1141,36 @@ export interface ListedServer { State?: State | string; /** - *

                                                                Specifies the type of VPC endpoint that your file transfer protocol-enabled server is - * connected to. If your server is connected to a VPC endpoint, your server isn't accessible - * over the public internet.

                                                                + *

                                                                Specifies the type of VPC endpoint that your server is connected to. If your server is + * connected to a VPC endpoint, your server isn't accessible over the public + * internet.

                                                                */ EndpointType?: EndpointType | string; /** - *

                                                                Specifies the AWS Identity and Access Management (IAM) role that allows a file transfer - * protocol-enabled server to turn on Amazon CloudWatch logging.

                                                                + *

                                                                Specifies the authentication method used to validate a user for a server that was + * specified. This can include Secure Shell (SSH), user name and password combinations, or your + * own custom authentication method. Valid values include SERVICE_MANAGED or + * API_GATEWAY.

                                                                */ - LoggingRole?: string; + IdentityProviderType?: IdentityProviderType | string; /** - *

                                                                Specifies the unique system assigned identifier for a file transfer protocol-enabled - * servers that were listed.

                                                                + *

                                                                Specifies the number of users that are assigned to a server you specified with the + * ServerId.

                                                                */ - ServerId?: string; + UserCount?: number; /** - *

                                                                Specifies the authentication method used to validate a user for a file transfer - * protocol-enabled server that was specified. This can include Secure Shell (SSH), user name and - * password combinations, or your own custom authentication method. Valid values include - * SERVICE_MANAGED or API_GATEWAY.

                                                                + *

                                                                Specifies the AWS Identity and Access Management (IAM) role that allows a server to turn + * on Amazon CloudWatch logging.

                                                                */ - IdentityProviderType?: IdentityProviderType | string; + LoggingRole?: string; /** - *

                                                                Specifies the unique Amazon Resource Name (ARN) for a file transfer protocol-enabled - * server to be listed.

                                                                + *

                                                                Specifies the unique system assigned identifier for the servers that were listed.

                                                                */ - Arn: string | undefined; + ServerId?: string; } export namespace ListedServer { @@ -1102,13 +1184,15 @@ export namespace ListedServer { */ export interface ListedUser { /** - *

                                                                Specifies the type of landing directory (folder) you mapped for your users' home - * directory. If you set it to PATH, the user will see the absolute Amazon S3 bucket - * paths as is in their file transfer protocol clients. If you set it LOGICAL, you - * will need to provide mappings in the HomeDirectoryMappings for how you want to - * make Amazon S3 paths visible to your users.

                                                                + *

                                                                Specifies the number of SSH public keys stored for the user you specified.

                                                                */ - HomeDirectoryType?: HomeDirectoryType | string; + SshPublicKeyCount?: number; + + /** + *

                                                                Specifies the location that files are written to or read from an Amazon S3 bucket for the + * user you specify by their ARN.

                                                                + */ + HomeDirectory?: string; /** *

                                                                Specifies the name of the user whose ARN was specified. User names are used for @@ -1126,43 +1210,83 @@ export interface ListedUser { Role?: string; /** - *

                                                                Specifies the number of SSH public keys stored for the user you specified.

                                                                + *

                                                                Provides the unique Amazon Resource Name (ARN) for the user that you want to learn + * about.

                                                                + */ + Arn: string | undefined; + + /** + *

                                                                Specifies the type of landing directory (folder) you mapped for your users' home + * directory. If you set it to PATH, the user will see the absolute Amazon S3 bucket + * paths as is in their file transfer protocol clients. If you set it LOGICAL, you + * will need to provide mappings in the HomeDirectoryMappings for how you want to + * make Amazon S3 paths visible to your users.

                                                                + */ + HomeDirectoryType?: HomeDirectoryType | string; +} + +export namespace ListedUser { + export const filterSensitiveLog = (obj: ListedUser): any => ({ + ...obj, + }); +} + +export interface ListSecurityPoliciesRequest { + /** + *

                                                                When additional results are obtained from the ListSecurityPolicies command, a + * NextToken parameter is returned in the output. You can then pass the + * NextToken parameter in a subsequent command to continue listing additional + * security policies.

                                                                + */ + NextToken?: string; + + /** + *

                                                                Specifies the number of security policies to return as a response to the + * ListSecurityPolicies query.

                                                                */ - SshPublicKeyCount?: number; + MaxResults?: number; +} + +export namespace ListSecurityPoliciesRequest { + export const filterSensitiveLog = (obj: ListSecurityPoliciesRequest): any => ({ + ...obj, + }); +} +export interface ListSecurityPoliciesResponse { /** - *

                                                                Provides the unique Amazon Resource Name (ARN) for the user that you want to learn - * about.

                                                                + *

                                                                An array of security policies that were listed.

                                                                */ - Arn: string | undefined; + SecurityPolicyNames: string[] | undefined; /** - *

                                                                Specifies the location that files are written to or read from an Amazon S3 bucket for the - * user you specify by their ARN.

                                                                + *

                                                                When you can get additional results from the ListSecurityPolicies operation, + * a NextToken parameter is returned in the output. In a following command, you can + * pass in the NextToken parameter to continue listing security policies.

                                                                */ - HomeDirectory?: string; + NextToken?: string; } -export namespace ListedUser { - export const filterSensitiveLog = (obj: ListedUser): any => ({ +export namespace ListSecurityPoliciesResponse { + export const filterSensitiveLog = (obj: ListSecurityPoliciesResponse): any => ({ ...obj, }); } export interface ListServersRequest { /** - *

                                                                When additional results are obtained from theListServers command, a - * NextToken parameter is returned in the output. You can then pass the - * NextToken parameter in a subsequent command to continue listing additional file - * transfer protocol-enabled servers.

                                                                + *

                                                                Specifies the number of servers to return as a response to the ListServers + * query.

                                                                */ - NextToken?: string; + MaxResults?: number; /** - *

                                                                Specifies the number of file transfer protocol-enabled servers to return as a response to - * the ListServers query.

                                                                + *

                                                                When additional results are obtained from the ListServers command, a + * NextToken parameter is returned in the output. You can then pass the + * NextToken parameter in a subsequent command to continue listing additional + * servers.

                                                                */ - MaxResults?: number; + NextToken?: string; } export namespace ListServersRequest { @@ -1173,15 +1297,14 @@ export namespace ListServersRequest { export interface ListServersResponse { /** - *

                                                                An array of file transfer protocol-enabled servers that were listed.

                                                                + *

                                                                An array of servers that were listed.

                                                                */ Servers: ListedServer[] | undefined; /** *

                                                                When you can get additional results from the ListServers operation, a * NextToken parameter is returned in the output. In a following command, you can - * pass in the NextToken parameter to continue listing additional file transfer - * protocol-enabled servers.

                                                                + * pass in the NextToken parameter to continue listing additional servers.

                                                                */ NextToken?: string; } @@ -1193,12 +1316,6 @@ export namespace ListServersResponse { } export interface ListTagsForResourceRequest { - /** - *

                                                                Specifies the number of tags to return as a response to the - * ListTagsForResource request.

                                                                - */ - MaxResults?: number; - /** *

                                                                Requests the tags associated with a particular Amazon Resource Name (ARN). An ARN is an * identifier for a specific AWS resource, such as a server, user, or role.

                                                                @@ -1211,6 +1328,12 @@ export interface ListTagsForResourceRequest { * command to the NextToken parameter to continue listing additional tags.

                                                                */ NextToken?: string; + + /** + *

                                                                Specifies the number of tags to return as a response to the + * ListTagsForResource request.

                                                                + */ + MaxResults?: number; } export namespace ListTagsForResourceRequest { @@ -1221,12 +1344,9 @@ export namespace ListTagsForResourceRequest { export interface ListTagsForResourceResponse { /** - *

                                                                When you can get additional results from the ListTagsForResource call, a - * NextToken parameter is returned in the output. You can then pass in a - * subsequent command to the NextToken parameter to continue listing additional - * tags.

                                                                + *

                                                                The ARN you specified to list the tags of.

                                                                */ - NextToken?: string; + Arn?: string; /** *

                                                                Key-value pairs that are assigned to a resource, usually for the purpose of grouping and @@ -1235,9 +1355,12 @@ export interface ListTagsForResourceResponse { Tags?: Tag[]; /** - *

                                                                The ARN you specified to list the tags of.

                                                                + *

                                                                When you can get additional results from the ListTagsForResource call, a + * NextToken parameter is returned in the output. You can then pass in a + * subsequent command to the NextToken parameter to continue listing additional + * tags.

                                                                */ - Arn?: string; + NextToken?: string; } export namespace ListTagsForResourceResponse { @@ -1247,6 +1370,11 @@ export namespace ListTagsForResourceResponse { } export interface ListUsersRequest { + /** + *

                                                                A system-assigned unique identifier for a server that has users assigned to it.

                                                                + */ + ServerId: string | undefined; + /** *

                                                                Specifies the number of users to return as a response to the ListUsers * request.

                                                                @@ -1260,12 +1388,6 @@ export interface ListUsersRequest { * users.

                                                                */ NextToken?: string; - - /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server that has - * users assigned to it.

                                                                - */ - ServerId: string | undefined; } export namespace ListUsersRequest { @@ -1276,14 +1398,7 @@ export namespace ListUsersRequest { export interface ListUsersResponse { /** - *

                                                                Returns the user accounts and their properties for the ServerId value that - * you specify.

                                                                - */ - Users: ListedUser[] | undefined; - - /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server that the - * users are assigned to.

                                                                + *

                                                                A system-assigned unique identifier for a server that the users are assigned to.

                                                                */ ServerId: string | undefined; @@ -1294,6 +1409,12 @@ export interface ListUsersResponse { * users.

                                                                */ NextToken?: string; + + /** + *

                                                                Returns the user accounts and their properties for the ServerId value that + * you specify.

                                                                + */ + Users: ListedUser[] | undefined; } export namespace ListUsersResponse { @@ -1304,8 +1425,7 @@ export namespace ListUsersResponse { export interface StartServerRequest { /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server that you - * start.

                                                                + *

                                                                A system-assigned unique identifier for a server that you start.

                                                                */ ServerId: string | undefined; } @@ -1318,8 +1438,7 @@ export namespace StartServerRequest { export interface StopServerRequest { /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server that you - * stopped.

                                                                + *

                                                                A system-assigned unique identifier for a server that you stopped.

                                                                */ ServerId: string | undefined; } @@ -1331,17 +1450,17 @@ export namespace StopServerRequest { } export interface TagResourceRequest { - /** - *

                                                                Key-value pairs assigned to ARNs that you can use to group and search for resources by - * type. You can attach this metadata to user accounts for any purpose.

                                                                - */ - Tags: Tag[] | undefined; - /** *

                                                                An Amazon Resource Name (ARN) for a specific AWS resource, such as a server, user, or * role.

                                                                */ Arn: string | undefined; + + /** + *

                                                                Key-value pairs assigned to ARNs that you can use to group and search for resources by + * type. You can attach this metadata to user accounts for any purpose.

                                                                + */ + Tags: Tag[] | undefined; } export namespace TagResourceRequest { @@ -1352,14 +1471,20 @@ export namespace TagResourceRequest { export interface TestIdentityProviderRequest { /** - *

                                                                The password of the user account to be tested.

                                                                + *

                                                                The source IP address of the user account to be tested.

                                                                */ - UserPassword?: string; + SourceIp?: string; /** - *

                                                                The source IP address of the user account to be tested.

                                                                + *

                                                                A system-assigned identifier for a specific server. That server's user authentication + * method is tested with a user name and password.

                                                                */ - SourceIp?: string; + ServerId: string | undefined; + + /** + *

                                                                The name of the user account to be tested.

                                                                + */ + UserName: string | undefined; /** *

                                                                The type of file transfer protocol to be tested.

                                                                @@ -1381,15 +1506,9 @@ export interface TestIdentityProviderRequest { ServerProtocol?: Protocol | string; /** - *

                                                                A system-assigned identifier for a specific file transfer protocol-enabled server. That - * server's user authentication method is tested with a user name and password.

                                                                - */ - ServerId: string | undefined; - - /** - *

                                                                The name of the user account to be tested.

                                                                + *

                                                                The password of the user account to be tested.

                                                                */ - UserName: string | undefined; + UserPassword?: string; } export namespace TestIdentityProviderRequest { @@ -1401,24 +1520,24 @@ export namespace TestIdentityProviderRequest { export interface TestIdentityProviderResponse { /** - *

                                                                The response that is returned from your API Gateway.

                                                                + *

                                                                The HTTP status code that is the response from your API Gateway.

                                                                */ - Response?: string; + StatusCode: number | undefined; /** - *

                                                                A message that indicates whether the test was successful or not.

                                                                + *

                                                                The response that is returned from your API Gateway.

                                                                */ - Message?: string; + Response?: string; /** - *

                                                                The HTTP status code that is the response from your API Gateway.

                                                                + *

                                                                The endpoint of the service used to authenticate a user.

                                                                */ - StatusCode: number | undefined; + Url: string | undefined; /** - *

                                                                The endpoint of the service used to authenticate a user.

                                                                + *

                                                                A message that indicates whether the test was successful or not.

                                                                */ - Url: string | undefined; + Message?: string; } export namespace TestIdentityProviderResponse { @@ -1449,54 +1568,25 @@ export namespace UntagResourceRequest { export interface UpdateServerRequest { /** - *

                                                                The virtual private cloud (VPC) endpoint settings that are configured for your file - * transfer protocol-enabled server. With a VPC endpoint, you can restrict access to your server - * to resources only within your VPC. To control incoming internet traffic, you will need to - * associate one or more Elastic IP addresses with your server's endpoint.

                                                                - */ - EndpointDetails?: EndpointDetails; - - /** - *

                                                                The type of endpoint that you want your file transfer protocol-enabled server to connect - * to. You can choose to connect to the public internet or a VPC endpoint. With a VPC endpoint, - * you can restrict access to your server and resources only within your VPC.

                                                                - * - * - *

                                                                It is recommended that you use VPC as the EndpointType. With - * this endpoint type, you have the option to directly associate up to three Elastic IPv4 - * addresses (BYO IP included) with your server's endpoint and use VPC security groups to - * restrict traffic by the client's public IP address. This is not possible with - * EndpointType set to VPC_ENDPOINT.

                                                                - *
                                                                - */ - EndpointType?: EndpointType | string; - - /** - *

                                                                An array containing all of the information required to call a customer's - * authentication API method.

                                                                + *

                                                                Changes the AWS Identity and Access Management (IAM) role that allows Amazon S3 events to + * be logged in Amazon CloudWatch, turning logging on or off.

                                                                */ - IdentityProviderDetails?: IdentityProviderDetails; + LoggingRole?: string; /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server instance - * that the user account is assigned to.

                                                                + *

                                                                A system-assigned unique identifier for a server instance that the user account is + * assigned to.

                                                                */ ServerId: string | undefined; - /** - *

                                                                Changes the AWS Identity and Access Management (IAM) role that allows Amazon S3 events to - * be logged in Amazon CloudWatch, turning logging on or off.

                                                                - */ - LoggingRole?: string; - /** *

                                                                The RSA private key as generated by ssh-keygen -N "" -m PEM -f * my-new-server-key.

                                                                * * - *

                                                                If you aren't planning to migrate existing users from an existing file transfer - * protocol-enabled server to a new server, don't update the host key. Accidentally - * changing a server's host key can be disruptive.

                                                                + *

                                                                If you aren't planning to migrate existing users from an existing server to a new + * server, don't update the host key. Accidentally changing a server's host key can + * be disruptive.

                                                                *
                                                                * * @@ -1541,6 +1631,40 @@ export interface UpdateServerRequest { */ Protocols?: (Protocol | string)[]; + /** + *

                                                                An array containing all of the information required to call a customer's + * authentication API method.

                                                                + */ + IdentityProviderDetails?: IdentityProviderDetails; + + /** + *

                                                                Specifies the name of the security policy that is attached to the server.

                                                                + */ + SecurityPolicyName?: string; + + /** + *

                                                                The type of endpoint that you want your server to connect to. You can choose to connect to + * the public internet or a VPC endpoint. With a VPC endpoint, you can restrict access to your + * server and resources only within your VPC.

                                                                + * + * + *

                                                                It is recommended that you use VPC as the EndpointType. With + * this endpoint type, you have the option to directly associate up to three Elastic IPv4 + * addresses (BYO IP included) with your server's endpoint and use VPC security groups to + * restrict traffic by the client's public IP address. This is not possible with + * EndpointType set to VPC_ENDPOINT.

                                                                + *
                                                                + */ + EndpointType?: EndpointType | string; + + /** + *

                                                                The virtual private cloud (VPC) endpoint settings that are configured for your server. + * With a VPC endpoint, you can restrict access to your server to resources only within your VPC. + * To control incoming internet traffic, you will need to associate one or more Elastic IP + * addresses with your server's endpoint.

                                                                + */ + EndpointDetails?: EndpointDetails; + /** *

                                                                The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required * when Protocols is set to FTPS.

                                                                @@ -1593,8 +1717,8 @@ export namespace UpdateServerRequest { export interface UpdateServerResponse { /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server that the - * user account is assigned to.

                                                                + *

                                                                A system-assigned unique identifier for a server that the user account is assigned + * to.

                                                                */ ServerId: string | undefined; } @@ -1607,51 +1731,14 @@ export namespace UpdateServerResponse { export interface UpdateUserRequest { /** - *

                                                                Allows you to supply a scope-down policy for your user so you can use the same IAM role - * across multiple users. The policy scopes down user access to portions of your Amazon S3 - * bucket. Variables you can use inside this policy include ${Transfer:UserName}, - * ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

                                                                - * - *

                                                                For scope-down policies, AWS Transfer Family stores the policy as a JSON blob, instead - * of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass - * it in the Policy argument.

                                                                - * - * - * - *

                                                                For an example of a scope-down policy, see Creating a scope-down - * policy.

                                                                - * - * - * - *

                                                                For more information, see AssumeRole in the AWS - * Security Token Service API Reference.

                                                                - *
                                                                - */ - Policy?: string; - - /** - *

                                                                The IAM role that controls your users' access to your Amazon S3 bucket. The policies - * attached to this role will determine the level of access you want to provide your users when - * transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also - * contain a trust relationship that allows the file transfer protocol-enabled server to access - * your resources when servicing your users' transfer requests.

                                                                - */ - Role?: string; - - /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server instance - * that the user account is assigned to.

                                                                - */ - ServerId: string | undefined; - - /** - *

                                                                A unique string that identifies a user and is associated with a file transfer - * protocol-enabled server as specified by the ServerId. This is the string that - * will be used by your user when they log in to your server. This user name is a minimum of 3 - * and a maximum of 32 characters long. The following are valid characters: a-z, A-Z, 0-9, - * underscore, and hyphen. The user name can't start with a hyphen.

                                                                + *

                                                                The type of landing directory (folder) you want your users' home directory to be when + * they log into the server. If you set it to PATH, the user will see the absolute + * Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it + * LOGICAL, you will need to provide mappings in the + * HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your + * users.

                                                                */ - UserName: string | undefined; + HomeDirectoryType?: HomeDirectoryType | string; /** *

                                                                Logical directory mappings that specify what Amazon S3 paths and keys should be visible to @@ -1672,7 +1759,7 @@ export interface UpdateUserRequest { * * *

                                                                If the target of a logical directory entry does not exist in Amazon S3, the entry will - * be ignored. As a workaround, you can use the Amazon S3 api to create 0 byte objects as place + * be ignored. As a workaround, you can use the Amazon S3 API to create 0 byte objects as place * holders for your directory. If using the CLI, use the s3api call instead of * s3 so you can use the put-object operation. For example, you use the * following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make @@ -1682,22 +1769,59 @@ export interface UpdateUserRequest { HomeDirectoryMappings?: HomeDirectoryMapEntry[]; /** - *

                                                                Specifies the landing directory (folder) for a user when they log in to the file transfer - * protocol-enabled server using their file transfer protocol client.

                                                                + *

                                                                Specifies the landing directory (folder) for a user when they log in to the server using + * their file transfer protocol client.

                                                                * *

                                                                An example is your-Amazon-S3-bucket-name>/home/username.

                                                                */ HomeDirectory?: string; /** - *

                                                                The type of landing directory (folder) you want your users' home directory to be when - * they log into the file transfer protocol-enabled server. If you set it to PATH, - * the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol - * clients. If you set it LOGICAL, you will need to provide mappings in the - * HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your - * users.

                                                                + *

                                                                The IAM role that controls your users' access to your Amazon S3 bucket. The policies + * attached to this role will determine the level of access you want to provide your users when + * transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also + * contain a trust relationship that allows the server to access your resources when servicing + * your users' transfer requests.

                                                                */ - HomeDirectoryType?: HomeDirectoryType | string; + Role?: string; + + /** + *

                                                                A system-assigned unique identifier for a server instance that the user account is + * assigned to.

                                                                + */ + ServerId: string | undefined; + + /** + *

                                                                A unique string that identifies a user and is associated with a server as specified by the + * ServerId. This user name must be a minimum of 3 and a maximum of 100 characters + * long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen + * '-', period '.', and at sign '@'. The user name can't start + * with a hyphen, period, or at sign.

                                                                + */ + UserName: string | undefined; + + /** + *

                                                                Allows you to supply a scope-down policy for your user so you can use the same IAM role + * across multiple users. The policy scopes down user access to portions of your Amazon S3 + * bucket. Variables you can use inside this policy include ${Transfer:UserName}, + * ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

                                                                + * + *

                                                                For scope-down policies, AWS Transfer Family stores the policy as a JSON blob, instead + * of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass + * it in the Policy argument.

                                                                + * + * + * + *

                                                                For an example of a scope-down policy, see Creating a scope-down + * policy.

                                                                + * + * + * + *

                                                                For more information, see AssumeRole in the AWS + * Security Token Service API Reference.

                                                                + *
                                                                + */ + Policy?: string; } export namespace UpdateUserRequest { @@ -1708,19 +1832,19 @@ export namespace UpdateUserRequest { /** *

                                                                - * UpdateUserResponse returns the user name and file transfer protocol-enabled - * server identifier for the request to update a user's properties.

                                                                + * UpdateUserResponse returns the user name and identifier for the request to + * update a user's properties.

                                                                */ export interface UpdateUserResponse { /** - *

                                                                The unique identifier for a user that is assigned to a file transfer protocol-enabled - * server instance that was specified in the request.

                                                                + *

                                                                The unique identifier for a user that is assigned to a server instance that was specified + * in the request.

                                                                */ UserName: string | undefined; /** - *

                                                                A system-assigned unique identifier for a file transfer protocol-enabled server instance - * that the user account is assigned to.

                                                                + *

                                                                A system-assigned unique identifier for a server instance that the user account is + * assigned to.

                                                                */ ServerId: string | undefined; } diff --git a/clients/client-transfer/pagination/ListSecurityPoliciesPaginator.ts b/clients/client-transfer/pagination/ListSecurityPoliciesPaginator.ts new file mode 100644 index 000000000000..7029efafe80e --- /dev/null +++ b/clients/client-transfer/pagination/ListSecurityPoliciesPaginator.ts @@ -0,0 +1,51 @@ +import { Transfer } from "../Transfer"; +import { TransferClient } from "../TransferClient"; +import { + ListSecurityPoliciesCommand, + ListSecurityPoliciesCommandInput, + ListSecurityPoliciesCommandOutput, +} from "../commands/ListSecurityPoliciesCommand"; +import { TransferPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: TransferClient, + input: ListSecurityPoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListSecurityPoliciesCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: Transfer, + input: ListSecurityPoliciesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listSecurityPolicies(input, ...args); +}; +export async function* listSecurityPoliciesPaginate( + config: TransferPaginationConfiguration, + input: ListSecurityPoliciesCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListSecurityPoliciesCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Transfer) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof TransferClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Transfer | TransferClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-transfer/protocols/Aws_json1_1.ts b/clients/client-transfer/protocols/Aws_json1_1.ts index 9ec6a87a8806..cc0c79142baa 100644 --- a/clients/client-transfer/protocols/Aws_json1_1.ts +++ b/clients/client-transfer/protocols/Aws_json1_1.ts @@ -3,9 +3,17 @@ import { CreateUserCommandInput, CreateUserCommandOutput } from "../commands/Cre import { DeleteServerCommandInput, DeleteServerCommandOutput } from "../commands/DeleteServerCommand"; import { DeleteSshPublicKeyCommandInput, DeleteSshPublicKeyCommandOutput } from "../commands/DeleteSshPublicKeyCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "../commands/DeleteUserCommand"; +import { + DescribeSecurityPolicyCommandInput, + DescribeSecurityPolicyCommandOutput, +} from "../commands/DescribeSecurityPolicyCommand"; import { DescribeServerCommandInput, DescribeServerCommandOutput } from "../commands/DescribeServerCommand"; import { DescribeUserCommandInput, DescribeUserCommandOutput } from "../commands/DescribeUserCommand"; import { ImportSshPublicKeyCommandInput, ImportSshPublicKeyCommandOutput } from "../commands/ImportSshPublicKeyCommand"; +import { + ListSecurityPoliciesCommandInput, + ListSecurityPoliciesCommandOutput, +} from "../commands/ListSecurityPoliciesCommand"; import { ListServersCommandInput, ListServersCommandOutput } from "../commands/ListServersCommand"; import { ListTagsForResourceCommandInput, @@ -32,10 +40,13 @@ import { DeleteServerRequest, DeleteSshPublicKeyRequest, DeleteUserRequest, + DescribeSecurityPolicyRequest, + DescribeSecurityPolicyResponse, DescribeServerRequest, DescribeServerResponse, DescribeUserRequest, DescribeUserResponse, + DescribedSecurityPolicy, DescribedServer, DescribedUser, EndpointDetails, @@ -46,6 +57,8 @@ import { InternalServiceError, InvalidNextTokenException, InvalidRequestException, + ListSecurityPoliciesRequest, + ListSecurityPoliciesResponse, ListServersRequest, ListServersResponse, ListTagsForResourceRequest, @@ -147,6 +160,19 @@ export const serializeAws_json1_1DeleteUserCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeSecurityPolicyCommand = async ( + input: DescribeSecurityPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "TransferService.DescribeSecurityPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeSecurityPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeServerCommand = async ( input: DescribeServerCommandInput, context: __SerdeContext @@ -186,6 +212,19 @@ export const serializeAws_json1_1ImportSshPublicKeyCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListSecurityPoliciesCommand = async ( + input: ListSecurityPoliciesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "TransferService.ListSecurityPolicies", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListSecurityPoliciesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListServersCommand = async ( input: ListServersCommandInput, context: __SerdeContext @@ -742,6 +781,85 @@ const deserializeAws_json1_1DeleteUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeSecurityPolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeSecurityPolicyCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeSecurityPolicyResponse(data, context); + const response: DescribeSecurityPolicyCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeSecurityPolicyCommandError = 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 "InternalServiceError": + case "com.amazonaws.transfer#InternalServiceError": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.transfer#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.transfer#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.transfer#ServiceUnavailableException": + response = { + ...(await deserializeAws_json1_1ServiceUnavailableExceptionResponse(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_1DescribeServerCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -995,6 +1113,85 @@ const deserializeAws_json1_1ImportSshPublicKeyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ListSecurityPoliciesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListSecurityPoliciesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListSecurityPoliciesResponse(data, context); + const response: ListSecurityPoliciesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListSecurityPoliciesCommandError = 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 "InternalServiceError": + case "com.amazonaws.transfer#InternalServiceError": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.transfer#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.transfer#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.transfer#ServiceUnavailableException": + response = { + ...(await deserializeAws_json1_1ServiceUnavailableExceptionResponse(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_1ListServersCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1990,6 +2187,7 @@ const serializeAws_json1_1CreateServerRequest = (input: CreateServerRequest, con ...(input.IdentityProviderType !== undefined && { IdentityProviderType: input.IdentityProviderType }), ...(input.LoggingRole !== undefined && { LoggingRole: input.LoggingRole }), ...(input.Protocols !== undefined && { Protocols: serializeAws_json1_1Protocols(input.Protocols, context) }), + ...(input.SecurityPolicyName !== undefined && { SecurityPolicyName: input.SecurityPolicyName }), ...(input.Tags !== undefined && { Tags: serializeAws_json1_1Tags(input.Tags, context) }), }; }; @@ -2034,6 +2232,15 @@ const serializeAws_json1_1DeleteUserRequest = (input: DeleteUserRequest, context }; }; +const serializeAws_json1_1DescribeSecurityPolicyRequest = ( + input: DescribeSecurityPolicyRequest, + context: __SerdeContext +): any => { + return { + ...(input.SecurityPolicyName !== undefined && { SecurityPolicyName: input.SecurityPolicyName }), + }; +}; + const serializeAws_json1_1DescribeServerRequest = (input: DescribeServerRequest, context: __SerdeContext): any => { return { ...(input.ServerId !== undefined && { ServerId: input.ServerId }), @@ -2052,6 +2259,9 @@ const serializeAws_json1_1EndpointDetails = (input: EndpointDetails, context: __ ...(input.AddressAllocationIds !== undefined && { AddressAllocationIds: serializeAws_json1_1AddressAllocationIds(input.AddressAllocationIds, context), }), + ...(input.SecurityGroupIds !== undefined && { + SecurityGroupIds: serializeAws_json1_1SecurityGroupIds(input.SecurityGroupIds, context), + }), ...(input.SubnetIds !== undefined && { SubnetIds: serializeAws_json1_1SubnetIds(input.SubnetIds, context) }), ...(input.VpcEndpointId !== undefined && { VpcEndpointId: input.VpcEndpointId }), ...(input.VpcId !== undefined && { VpcId: input.VpcId }), @@ -2087,6 +2297,16 @@ const serializeAws_json1_1ImportSshPublicKeyRequest = ( }; }; +const serializeAws_json1_1ListSecurityPoliciesRequest = ( + input: ListSecurityPoliciesRequest, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1ListServersRequest = (input: ListServersRequest, context: __SerdeContext): any => { return { ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), @@ -2117,6 +2337,10 @@ const serializeAws_json1_1Protocols = (input: (Protocol | string)[], context: __ return input.map((entry) => entry); }; +const serializeAws_json1_1SecurityGroupIds = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1StartServerRequest = (input: StartServerRequest, context: __SerdeContext): any => { return { ...(input.ServerId !== undefined && { ServerId: input.ServerId }), @@ -2188,6 +2412,7 @@ const serializeAws_json1_1UpdateServerRequest = (input: UpdateServerRequest, con }), ...(input.LoggingRole !== undefined && { LoggingRole: input.LoggingRole }), ...(input.Protocols !== undefined && { Protocols: serializeAws_json1_1Protocols(input.Protocols, context) }), + ...(input.SecurityPolicyName !== undefined && { SecurityPolicyName: input.SecurityPolicyName }), ...(input.ServerId !== undefined && { ServerId: input.ServerId }), }; }; @@ -2235,6 +2460,35 @@ const deserializeAws_json1_1CreateUserResponse = (output: any, context: __SerdeC } as any; }; +const deserializeAws_json1_1DescribedSecurityPolicy = ( + output: any, + context: __SerdeContext +): DescribedSecurityPolicy => { + return { + Fips: output.Fips !== undefined && output.Fips !== null ? output.Fips : undefined, + SecurityPolicyName: + output.SecurityPolicyName !== undefined && output.SecurityPolicyName !== null + ? output.SecurityPolicyName + : undefined, + SshCiphers: + output.SshCiphers !== undefined && output.SshCiphers !== null + ? deserializeAws_json1_1SecurityPolicyOptions(output.SshCiphers, context) + : undefined, + SshKexs: + output.SshKexs !== undefined && output.SshKexs !== null + ? deserializeAws_json1_1SecurityPolicyOptions(output.SshKexs, context) + : undefined, + SshMacs: + output.SshMacs !== undefined && output.SshMacs !== null + ? deserializeAws_json1_1SecurityPolicyOptions(output.SshMacs, context) + : undefined, + TlsCiphers: + output.TlsCiphers !== undefined && output.TlsCiphers !== null + ? deserializeAws_json1_1SecurityPolicyOptions(output.TlsCiphers, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DescribedServer = (output: any, context: __SerdeContext): DescribedServer => { return { Arn: output.Arn !== undefined && output.Arn !== null ? output.Arn : undefined, @@ -2261,6 +2515,10 @@ const deserializeAws_json1_1DescribedServer = (output: any, context: __SerdeCont output.Protocols !== undefined && output.Protocols !== null ? deserializeAws_json1_1Protocols(output.Protocols, context) : undefined, + SecurityPolicyName: + output.SecurityPolicyName !== undefined && output.SecurityPolicyName !== null + ? output.SecurityPolicyName + : undefined, ServerId: output.ServerId !== undefined && output.ServerId !== null ? output.ServerId : undefined, State: output.State !== undefined && output.State !== null ? output.State : undefined, Tags: @@ -2294,6 +2552,18 @@ const deserializeAws_json1_1DescribedUser = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_json1_1DescribeSecurityPolicyResponse = ( + output: any, + context: __SerdeContext +): DescribeSecurityPolicyResponse => { + return { + SecurityPolicy: + output.SecurityPolicy !== undefined && output.SecurityPolicy !== null + ? deserializeAws_json1_1DescribedSecurityPolicy(output.SecurityPolicy, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeServerResponse = (output: any, context: __SerdeContext): DescribeServerResponse => { return { Server: @@ -2319,6 +2589,10 @@ const deserializeAws_json1_1EndpointDetails = (output: any, context: __SerdeCont output.AddressAllocationIds !== undefined && output.AddressAllocationIds !== null ? deserializeAws_json1_1AddressAllocationIds(output.AddressAllocationIds, context) : undefined, + SecurityGroupIds: + output.SecurityGroupIds !== undefined && output.SecurityGroupIds !== null + ? deserializeAws_json1_1SecurityGroupIds(output.SecurityGroupIds, context) + : undefined, SubnetIds: output.SubnetIds !== undefined && output.SubnetIds !== null ? deserializeAws_json1_1SubnetIds(output.SubnetIds, context) @@ -2428,6 +2702,19 @@ const deserializeAws_json1_1ListedUsers = (output: any, context: __SerdeContext) return (output || []).map((entry: any) => deserializeAws_json1_1ListedUser(entry, context)); }; +const deserializeAws_json1_1ListSecurityPoliciesResponse = ( + output: any, + context: __SerdeContext +): ListSecurityPoliciesResponse => { + return { + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + SecurityPolicyNames: + output.SecurityPolicyNames !== undefined && output.SecurityPolicyNames !== null + ? deserializeAws_json1_1SecurityPolicyNames(output.SecurityPolicyNames, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListServersResponse = (output: any, context: __SerdeContext): ListServersResponse => { return { NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, @@ -2487,6 +2774,18 @@ const deserializeAws_json1_1ResourceNotFoundException = ( } as any; }; +const deserializeAws_json1_1SecurityGroupIds = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1SecurityPolicyNames = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1SecurityPolicyOptions = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1ServiceUnavailableException = ( output: any, context: __SerdeContext diff --git a/clients/client-translate/models/models_0.ts b/clients/client-translate/models/models_0.ts index 7c70ee918240..3488514dd145 100644 --- a/clients/client-translate/models/models_0.ts +++ b/clients/client-translate/models/models_0.ts @@ -6,14 +6,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface Term { /** - *

                                                                The target text of the term being translated by the custom terminology.

                                                                + *

                                                                The source text of the term being translated by the custom terminology.

                                                                */ - TargetText?: string; + SourceText?: string; /** - *

                                                                The source text of the term being translated by the custom terminology.

                                                                + *

                                                                The target text of the term being translated by the custom terminology.

                                                                */ - SourceText?: string; + TargetText?: string; } export namespace Term { @@ -29,18 +29,18 @@ export namespace Term { * TranslateText request.

                                                                */ export interface AppliedTerminology { - /** - *

                                                                The name of the custom terminology applied to the input text by Amazon Translate for the translated - * text response.

                                                                - */ - Name?: string; - /** *

                                                                The specific terms of the custom terminology applied to the input text by Amazon Translate for the * translated text response. A maximum of 250 terms will be returned, and the specific terms * applied will be the first 250 terms in the source text.

                                                                */ Terms?: Term[]; + + /** + *

                                                                The name of the custom terminology applied to the input text by Amazon Translate for the translated + * text response.

                                                                + */ + Name?: string; } export namespace AppliedTerminology { @@ -77,6 +77,22 @@ export namespace InternalServerException { }); } +/** + *

                                                                The value of the parameter is invalid. Review the value of the parameter you are using to + * correct it, and then retry your operation.

                                                                + */ +export interface InvalidParameterValueException extends __SmithyException, $MetadataBearer { + name: "InvalidParameterValueException"; + $fault: "client"; + Message?: string; +} + +export namespace InvalidParameterValueException { + export const filterSensitiveLog = (obj: InvalidParameterValueException): any => ({ + ...obj, + }); +} + /** *

                                                                The resource you are looking for has not been found. Review the resource you're looking * for and see if a different resource will accomplish your needs before retrying the revised @@ -129,17 +145,50 @@ export namespace DescribeTextTranslationJobRequest { */ export interface InputDataConfig { /** - *

                                                                The URI of the AWS S3 folder that contains the input file. The folder must be in the - * same Region as the API endpoint you are calling.

                                                                + *

                                                                Describes the format of the data that you submit to Amazon Translate as input. You can + * specify one of the following multipurpose internet mail extension (MIME) types:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * text/html: The input data consists of one or more HTML files. Amazon + * Translate translates only the text that resides in the html element in each + * file.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * text/plain: The input data consists of one or more unformatted text + * files. Amazon Translate translates every character in this type of input.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * application/vnd.openxmlformats-officedocument.wordprocessingml.document: + * The input data consists of one or more Word documents (.docx).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * application/vnd.openxmlformats-officedocument.presentationml.presentation: + * The input data consists of one or more PowerPoint Presentation files (.pptx).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: The + * input data consists of one or more Excel Workbook files (.xlsx).

                                                                  + *
                                                                • + *
                                                                + * + *

                                                                If you structure your input data as HTML, ensure that you set this parameter to + * text/html. By doing so, you cut costs by limiting the translation to the + * contents of the html element in each file. Otherwise, if you set this parameter + * to text/plain, your costs will cover the translation of every character.

                                                                + *
                                                                */ - S3Uri: string | undefined; + ContentType: string | undefined; /** - *

                                                                The multipurpose internet mail extension (MIME) type of the input files. Valid values are - * text/plain for plaintext files and text/html for HTML - * files.

                                                                + *

                                                                The URI of the AWS S3 folder that contains the input file. The folder must be in the + * same Region as the API endpoint you are calling.

                                                                */ - ContentType: string | undefined; + S3Uri: string | undefined; } export namespace InputDataConfig { @@ -154,14 +203,14 @@ export namespace InputDataConfig { */ export interface JobDetails { /** - *

                                                                The number of documents used as input in a translation job.

                                                                + *

                                                                The number of documents that could not be processed during a translation job.

                                                                */ - InputDocumentsCount?: number; + DocumentsWithErrorsCount?: number; /** - *

                                                                The number of documents that could not be processed during a translation job.

                                                                + *

                                                                The number of documents used as input in a translation job.

                                                                */ - DocumentsWithErrorsCount?: number; + InputDocumentsCount?: number; /** *

                                                                The number of documents successfully processed during a translation job.

                                                                @@ -207,53 +256,49 @@ export namespace OutputDataConfig { */ export interface TextTranslationJobProperties { /** - *

                                                                The user-defined name of the translation job.

                                                                + *

                                                                The status of the translation job.

                                                                */ - JobName?: string; + JobStatus?: JobStatus | string; /** - *

                                                                A list containing the names of the terminologies applied to a translation job. Only one - * terminology can be applied per StartTextTranslationJob request at this - * time.

                                                                + *

                                                                The ID of the translation job.

                                                                */ - TerminologyNames?: string[]; + JobId?: string; /** - *

                                                                The language code of the language of the target text. The language must be a language - * supported by Amazon Translate.

                                                                + *

                                                                The user-defined name of the translation job.

                                                                */ - TargetLanguageCodes?: string[]; + JobName?: string; /** - *

                                                                An explanation of any errors that may have occured during the translation job.

                                                                + *

                                                                A list containing the names of the terminologies applied to a translation job. Only one + * terminology can be applied per StartTextTranslationJob request at this + * time.

                                                                */ - Message?: string; + TerminologyNames?: string[]; /** - *

                                                                The status of the translation job.

                                                                + *

                                                                The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role + * that granted Amazon Translate read access to the job's input data.

                                                                */ - JobStatus?: JobStatus | string; + DataAccessRoleArn?: string; /** - *

                                                                The time at which the translation job ended.

                                                                + *

                                                                The language code of the language of the source text. The language must be a language + * supported by Amazon Translate.

                                                                */ - EndTime?: Date; + SourceLanguageCode?: string; /** - *

                                                                The time at which the translation job was submitted.

                                                                + *

                                                                An explanation of any errors that may have occured during the translation job.

                                                                */ - SubmittedTime?: Date; + Message?: string; /** *

                                                                The output configuration properties that were specified when the job was requested.

                                                                */ OutputDataConfig?: OutputDataConfig; - /** - *

                                                                The input configuration properties that were specified when the job was requested.

                                                                - */ - InputDataConfig?: InputDataConfig; - /** *

                                                                The number of documents successfully and unsuccessfully processed during the translation * job.

                                                                @@ -261,21 +306,25 @@ export interface TextTranslationJobProperties { JobDetails?: JobDetails; /** - *

                                                                The language code of the language of the source text. The language must be a language + *

                                                                The language code of the language of the target text. The language must be a language * supported by Amazon Translate.

                                                                */ - SourceLanguageCode?: string; + TargetLanguageCodes?: string[]; /** - *

                                                                The ID of the translation job.

                                                                + *

                                                                The input configuration properties that were specified when the job was requested.

                                                                */ - JobId?: string; + InputDataConfig?: InputDataConfig; /** - *

                                                                The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role - * that granted Amazon Translate read access to the job's input data.

                                                                + *

                                                                The time at which the translation job ended.

                                                                */ - DataAccessRoleArn?: string; + EndTime?: Date; + + /** + *

                                                                The time at which the translation job was submitted.

                                                                + */ + SubmittedTime?: Date; } export namespace TextTranslationJobProperties { @@ -305,14 +354,14 @@ export enum TerminologyDataFormat { export interface GetTerminologyRequest { /** - *

                                                                The data format of the custom terminology being retrieved, either CSV or TMX.

                                                                + *

                                                                The name of the custom terminology being retrieved.

                                                                */ - TerminologyDataFormat: TerminologyDataFormat | string | undefined; + Name: string | undefined; /** - *

                                                                The name of the custom terminology being retrieved.

                                                                + *

                                                                The data format of the custom terminology being retrieved, either CSV or TMX.

                                                                */ - Name: string | undefined; + TerminologyDataFormat: TerminologyDataFormat | string | undefined; } export namespace GetTerminologyRequest { @@ -373,25 +422,25 @@ export namespace EncryptionKey { */ export interface TerminologyProperties { /** - *

                                                                The size of the file used when importing a custom terminology.

                                                                + *

                                                                The name of the custom terminology.

                                                                */ - SizeBytes?: number; + Name?: string; /** - *

                                                                The description of the custom terminology properties.

                                                                + *

                                                                The encryption key for the custom terminology.

                                                                */ - Description?: string; + EncryptionKey?: EncryptionKey; /** - *

                                                                The name of the custom terminology.

                                                                + *

                                                                The size of the file used when importing a custom terminology.

                                                                */ - Name?: string; + SizeBytes?: number; /** - *

                                                                The language code for the source text of the translation request for which the custom - * terminology is being used.

                                                                + *

                                                                The language codes for the target languages available with the custom terminology file. + * All possible target languages are returned in array.

                                                                */ - SourceLanguageCode?: string; + TargetLanguageCodes?: string[]; /** *

                                                                The Amazon Resource Name (ARN) of the custom terminology.

                                                                @@ -399,15 +448,15 @@ export interface TerminologyProperties { Arn?: string; /** - *

                                                                The language codes for the target languages available with the custom terminology file. - * All possible target languages are returned in array.

                                                                + *

                                                                The language code for the source text of the translation request for which the custom + * terminology is being used.

                                                                */ - TargetLanguageCodes?: string[]; + SourceLanguageCode?: string; /** - *

                                                                The encryption key for the custom terminology.

                                                                + *

                                                                The time at which the custom terminology was created, based on the timestamp.

                                                                */ - EncryptionKey?: EncryptionKey; + CreatedAt?: Date; /** *

                                                                The number of terms included in the custom terminology.

                                                                @@ -415,9 +464,9 @@ export interface TerminologyProperties { TermCount?: number; /** - *

                                                                The time at which the custom terminology was created, based on the timestamp.

                                                                + *

                                                                The description of the custom terminology properties.

                                                                */ - CreatedAt?: Date; + Description?: string; /** *

                                                                The time at which the custom terminology was last update, based on the timestamp.

                                                                @@ -450,22 +499,6 @@ export namespace GetTerminologyResponse { }); } -/** - *

                                                                The value of the parameter is invalid. Review the value of the parameter you are using to - * correct it, and then retry your operation.

                                                                - */ -export interface InvalidParameterValueException extends __SmithyException, $MetadataBearer { - name: "InvalidParameterValueException"; - $fault: "client"; - Message?: string; -} - -export namespace InvalidParameterValueException { - export const filterSensitiveLog = (obj: InvalidParameterValueException): any => ({ - ...obj, - }); -} - export enum MergeStrategy { OVERWRITE = "OVERWRITE", } @@ -495,11 +528,6 @@ export namespace TerminologyData { } export interface ImportTerminologyRequest { - /** - *

                                                                The terminology data for the custom terminology being imported.

                                                                - */ - TerminologyData: TerminologyData | undefined; - /** *

                                                                The description of the custom terminology being imported.

                                                                */ @@ -510,6 +538,11 @@ export interface ImportTerminologyRequest { */ Name: string | undefined; + /** + *

                                                                The terminology data for the custom terminology being imported.

                                                                + */ + TerminologyData: TerminologyData | undefined; + /** *

                                                                The encryption key for the custom terminology being imported.

                                                                */ @@ -560,16 +593,16 @@ export namespace LimitExceededException { } export interface ListTerminologiesRequest { - /** - *

                                                                The maximum number of custom terminologies returned per list request.

                                                                - */ - MaxResults?: number; - /** *

                                                                If the result of the request to ListTerminologies was truncated, include the NextToken to * fetch the next group of custom terminologies.

                                                                */ NextToken?: string; + + /** + *

                                                                The maximum number of custom terminologies returned per list request.

                                                                + */ + MaxResults?: number; } export namespace ListTerminologiesRequest { @@ -579,16 +612,16 @@ export namespace ListTerminologiesRequest { } export interface ListTerminologiesResponse { - /** - *

                                                                The properties list of the custom terminologies returned on the list request.

                                                                - */ - TerminologyPropertiesList?: TerminologyProperties[]; - /** *

                                                                If the response to the ListTerminologies was truncated, the NextToken fetches the next * group of custom terminologies.

                                                                */ NextToken?: string; + + /** + *

                                                                The properties list of the custom terminologies returned on the list request.

                                                                + */ + TerminologyPropertiesList?: TerminologyProperties[]; } export namespace ListTerminologiesResponse { @@ -633,18 +666,6 @@ export namespace InvalidRequestException { * ListTextTranslationJobs.

                                                                */ export interface TextTranslationJobFilter { - /** - *

                                                                Filters the list of jobs by name.

                                                                - */ - JobName?: string; - - /** - *

                                                                Filters the list of jobs based on the time that the job was submitted for processing and - * returns only the jobs submitted after the specified time. Jobs are returned in descending - * order, newest to oldest.

                                                                - */ - SubmittedAfterTime?: Date; - /** *

                                                                Filters the list of jobs based on the time that the job was submitted for processing and * returns only the jobs submitted before the specified time. Jobs are returned in ascending @@ -652,10 +673,22 @@ export interface TextTranslationJobFilter { */ SubmittedBeforeTime?: Date; + /** + *

                                                                Filters the list of jobs by name.

                                                                + */ + JobName?: string; + /** *

                                                                Filters the list of jobs based by job status.

                                                                */ JobStatus?: JobStatus | string; + + /** + *

                                                                Filters the list of jobs based on the time that the job was submitted for processing and + * returns only the jobs submitted after the specified time. Jobs are returned in descending + * order, newest to oldest.

                                                                + */ + SubmittedAfterTime?: Date; } export namespace TextTranslationJobFilter { @@ -670,16 +703,16 @@ export interface ListTextTranslationJobsRequest { */ NextToken?: string; - /** - *

                                                                The maximum number of results to return in each page. The default value is 100.

                                                                - */ - MaxResults?: number; - /** *

                                                                The parameters that specify which batch translation jobs to retrieve. Filters include job * name, job status, and submission time. You can only set one filter at a time.

                                                                */ Filter?: TextTranslationJobFilter; + + /** + *

                                                                The maximum number of results to return in each page. The default value is 100.

                                                                + */ + MaxResults?: number; } export namespace ListTextTranslationJobsRequest { @@ -709,12 +742,9 @@ export namespace ListTextTranslationJobsResponse { export interface StartTextTranslationJobRequest { /** - *

                                                                The client token of the EC2 instance calling the request. This token is auto-generated - * when using the Amazon Translate SDK. Otherwise, use the DescribeInstances EC2 operation to retreive an instance's client token. For more - * information, see Client - * Tokens in the EC2 User Guide.

                                                                + *

                                                                The name of the batch translation job to be performed.

                                                                */ - ClientToken?: string; + JobName?: string; /** *

                                                                The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role @@ -722,12 +752,6 @@ export interface StartTextTranslationJobRequest { */ DataAccessRoleArn: string | undefined; - /** - *

                                                                Specifies the format and S3 location of the input documents for the translation - * job.

                                                                - */ - InputDataConfig: InputDataConfig | undefined; - /** *

                                                                Specifies the S3 folder to which your job output will be saved. *

                                                                @@ -735,16 +759,21 @@ export interface StartTextTranslationJobRequest { OutputDataConfig: OutputDataConfig | undefined; /** - *

                                                                The name of the batch translation job to be performed.

                                                                + *

                                                                Specifies the format and S3 location of the input documents for the translation + * job.

                                                                */ - JobName?: string; + InputDataConfig: InputDataConfig | undefined; /** - *

                                                                The language code of the input language. For a list of language codes, see what-is-languages.

                                                                - *

                                                                Amazon Translate does not automatically detect a source language during batch translation - * jobs.

                                                                + *

                                                                A unique identifier for the request. This token is auto-generated when using the Amazon Translate + * SDK.

                                                                */ - SourceLanguageCode: string | undefined; + ClientToken?: string; + + /** + *

                                                                The language code of the output language.

                                                                + */ + TargetLanguageCodes: string[] | undefined; /** *

                                                                The name of the terminology to use in the batch translation job. For a list of available @@ -753,9 +782,11 @@ export interface StartTextTranslationJobRequest { TerminologyNames?: string[]; /** - *

                                                                The language code of the output language.

                                                                + *

                                                                The language code of the input language. For a list of language codes, see what-is-languages.

                                                                + *

                                                                Amazon Translate does not automatically detect a source language during batch translation + * jobs.

                                                                */ - TargetLanguageCodes: string[] | undefined; + SourceLanguageCode: string | undefined; } export namespace StartTextTranslationJobRequest { @@ -790,7 +821,7 @@ export interface StartTextTranslationJobResponse { * *
                                                              • *

                                                                - * COMPLETED_WITH_ERRORS - The job was completed with errors. The errors can + * COMPLETED_WITH_ERROR - The job was completed with errors. The errors can * be analyzed in the job's output.

                                                                *
                                                              • *
                                                              • @@ -824,12 +855,12 @@ export namespace StartTextTranslationJobResponse { export interface UnsupportedLanguagePairException extends __SmithyException, $MetadataBearer { name: "UnsupportedLanguagePairException"; $fault: "client"; + Message?: string; /** *

                                                                The language code for the language of the input text.

                                                                */ SourceLanguageCode?: string; - Message?: string; /** *

                                                                The language code for the language of the translated text.

                                                                */ @@ -883,12 +914,11 @@ export namespace StopTextTranslationJobResponse { export interface DetectedLanguageLowConfidenceException extends __SmithyException, $MetadataBearer { name: "DetectedLanguageLowConfidenceException"; $fault: "client"; + Message?: string; /** *

                                                                The language code of the auto-detected language from Amazon Comprehend.

                                                                */ DetectedLanguageCode?: string; - - Message?: string; } export namespace DetectedLanguageLowConfidenceException { @@ -930,22 +960,19 @@ export namespace TextSizeLimitExceededException { } export interface TranslateTextRequest { - /** - *

                                                                The language code for the language of the source text. The language must be a language - * supported by Amazon Translate. For a list of language codes, see what-is-languages.

                                                                - *

                                                                To have Amazon Translate determine the source language of your text, you can specify - * auto in the SourceLanguageCode field. If you specify - * auto, Amazon Translate will call Amazon - * Comprehend to determine the source language.

                                                                - */ - SourceLanguageCode: string | undefined; - /** *

                                                                The text to translate. The text string can be a maximum of 5,000 bytes long. Depending on * your character set, this may be fewer than 5,000 characters.

                                                                */ Text: string | undefined; + /** + *

                                                                The name of the terminology list file to be used in the TranslateText request. You can use + * 1 terminology list at most in a TranslateText request. Terminology lists can + * contain a maximum of 256 terms.

                                                                + */ + TerminologyNames?: string[]; + /** *

                                                                The language code requested for the language of the target text. The language must be a * language supported by Amazon Translate.

                                                                @@ -953,11 +980,14 @@ export interface TranslateTextRequest { TargetLanguageCode: string | undefined; /** - *

                                                                The name of the terminology list file to be used in the TranslateText request. You can use - * 1 terminology list at most in a TranslateText request. Terminology lists can - * contain a maximum of 256 terms.

                                                                + *

                                                                The language code for the language of the source text. The language must be a language + * supported by Amazon Translate. For a list of language codes, see what-is-languages.

                                                                + *

                                                                To have Amazon Translate determine the source language of your text, you can specify + * auto in the SourceLanguageCode field. If you specify + * auto, Amazon Translate will call Amazon + * Comprehend to determine the source language.

                                                                */ - TerminologyNames?: string[]; + SourceLanguageCode: string | undefined; } export namespace TranslateTextRequest { @@ -968,14 +998,14 @@ export namespace TranslateTextRequest { export interface TranslateTextResponse { /** - *

                                                                The language code for the language of the source text.

                                                                + *

                                                                The language code for the language of the target text.

                                                                */ - SourceLanguageCode: string | undefined; + TargetLanguageCode: string | undefined; /** - *

                                                                The language code for the language of the target text.

                                                                + *

                                                                The language code for the language of the source text.

                                                                */ - TargetLanguageCode: string | undefined; + SourceLanguageCode: string | undefined; /** *

                                                                The translated text.

                                                                diff --git a/clients/client-translate/protocols/Aws_json1_1.ts b/clients/client-translate/protocols/Aws_json1_1.ts index ee7425e19050..84310376dbae 100644 --- a/clients/client-translate/protocols/Aws_json1_1.ts +++ b/clients/client-translate/protocols/Aws_json1_1.ts @@ -223,6 +223,14 @@ const deserializeAws_json1_1DeleteTerminologyCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidParameterValueException": + case "com.amazonaws.translate#InvalidParameterValueException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValueExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.translate#ResourceNotFoundException": response = { diff --git a/clients/client-waf-regional/models/models_0.ts b/clients/client-waf-regional/models/models_0.ts index badd1346ea7d..f12407442803 100644 --- a/clients/client-waf-regional/models/models_0.ts +++ b/clients/client-waf-regional/models/models_0.ts @@ -135,49 +135,13 @@ export interface ActivatedRule { OverrideAction?: WafOverrideAction; /** - *

                                                                An array of rules to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup.

                                                                - *

                                                                Sometimes it is necessary to troubleshoot rule groups that are blocking traffic - * unexpectedly (false positives). One troubleshooting technique is to identify the specific - * rule within the rule group that is blocking the legitimate traffic and then disable - * (exclude) that particular rule. You can exclude rules from both your own rule groups and - * AWS Marketplace rule groups that have been associated with a web ACL.

                                                                - *

                                                                Specifying ExcludedRules does not remove those rules from the rule group. - * Rather, it changes the action for the rules to COUNT. Therefore, requests that - * match an ExcludedRule are counted but not blocked. The RuleGroup - * owner will receive COUNT metrics for each ExcludedRule.

                                                                - *

                                                                If you want to exclude rules from a rule group that is already associated with a web ACL, perform the following steps:

                                                                - *
                                                                  - *
                                                                1. - *

                                                                  Use the AWS WAF logs to identify the IDs of the rules that you want to exclude. - * For more information about the logs, see Logging Web ACL Traffic - * Information.

                                                                  - *
                                                                2. - *
                                                                3. - *

                                                                  Submit an UpdateWebACL request that has two actions:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    The first action - * deletes - * the existing rule group from the web ACL. That is, in the UpdateWebACL request, the first Updates:Action - * should be DELETE and Updates:ActivatedRule:RuleId - * should be the rule group that contains the rules that you want to - * exclude.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    The second action - * inserts - * the same rule group back in, but specifying the rules to exclude. That is, the - * second Updates:Action should be INSERT, - * Updates:ActivatedRule:RuleId should be the rule group that you - * just removed, and ExcludedRules should contain the rules that you - * want to exclude.

                                                                    - *
                                                                  • - *
                                                                  - * - *
                                                                4. - *
                                                                + *

                                                                The RuleId for a Rule. You use RuleId to get more information about a Rule (see GetRule), + * update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a + * one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

                                                                + *

                                                                + * RuleId is returned by CreateRule and by ListRules.

                                                                */ - ExcludedRules?: ExcludedRule[]; + RuleId: string | undefined; /** *

                                                                The rule type, either REGULAR, as defined by Rule, RATE_BASED, as defined by RateBasedRule, or GROUP, as defined by RuleGroup. The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the UpdateWebACL request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist. @@ -221,13 +185,49 @@ export interface ActivatedRule { Priority: number | undefined; /** - *

                                                                The RuleId for a Rule. You use RuleId to get more information about a Rule (see GetRule), - * update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a - * one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

                                                                - *

                                                                - * RuleId is returned by CreateRule and by ListRules.

                                                                + *

                                                                An array of rules to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup.

                                                                + *

                                                                Sometimes it is necessary to troubleshoot rule groups that are blocking traffic + * unexpectedly (false positives). One troubleshooting technique is to identify the specific + * rule within the rule group that is blocking the legitimate traffic and then disable + * (exclude) that particular rule. You can exclude rules from both your own rule groups and + * AWS Marketplace rule groups that have been associated with a web ACL.

                                                                + *

                                                                Specifying ExcludedRules does not remove those rules from the rule group. + * Rather, it changes the action for the rules to COUNT. Therefore, requests that + * match an ExcludedRule are counted but not blocked. The RuleGroup + * owner will receive COUNT metrics for each ExcludedRule.

                                                                + *

                                                                If you want to exclude rules from a rule group that is already associated with a web ACL, perform the following steps:

                                                                + *
                                                                  + *
                                                                1. + *

                                                                  Use the AWS WAF logs to identify the IDs of the rules that you want to exclude. + * For more information about the logs, see Logging Web ACL Traffic + * Information.

                                                                  + *
                                                                2. + *
                                                                3. + *

                                                                  Submit an UpdateWebACL request that has two actions:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    The first action + * deletes + * the existing rule group from the web ACL. That is, in the UpdateWebACL request, the first Updates:Action + * should be DELETE and Updates:ActivatedRule:RuleId + * should be the rule group that contains the rules that you want to + * exclude.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    The second action + * inserts + * the same rule group back in, but specifying the rules to exclude. That is, the + * second Updates:Action should be INSERT, + * Updates:ActivatedRule:RuleId should be the rule group that you + * just removed, and ExcludedRules should contain the rules that you + * want to exclude.

                                                                    + *
                                                                  • + *
                                                                  + * + *
                                                                4. + *
                                                                */ - RuleId: string | undefined; + ExcludedRules?: ExcludedRule[]; } export namespace ActivatedRule { @@ -376,8 +376,8 @@ export interface WAFInvalidParameterException extends __SmithyException, $Metada name: "WAFInvalidParameterException"; $fault: "client"; parameter?: string; - field?: ParameterExceptionField | string; reason?: ParameterExceptionReason | string; + field?: ParameterExceptionField | string; } export namespace WAFInvalidParameterException { @@ -546,6 +546,55 @@ export enum TextTransformation { *

                                                                The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

                                                                */ export interface ByteMatchTuple { + /** + *

                                                                Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:

                                                                + *

                                                                + * CONTAINS + *

                                                                + *

                                                                The specified part of the web request must include the value of TargetString, but the location doesn't matter.

                                                                + *

                                                                + * CONTAINS_WORD + *

                                                                + *

                                                                The specified part of the web request must include the value of TargetString, and + * TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, + * TargetString must be a word, which means one of the following:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * TargetString exactly matches the value of the specified part of the web request, such as the value of a + * header.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * TargetString is at the beginning of the specified part of the web request and is followed by a character + * other than an alphanumeric character or underscore (_), for example, BadBot;.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * TargetString is at the end of the specified part of the web request and is preceded by a character + * other than an alphanumeric character or underscore (_), for example, ;BadBot.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * TargetString is in the middle of the specified part of the web request and is preceded and followed + * by characters other than alphanumeric characters or underscore (_), for example, -BadBot;.

                                                                  + *
                                                                • + *
                                                                + *

                                                                + * EXACTLY + *

                                                                + *

                                                                The value of the specified part of the web request must exactly match the value of TargetString.

                                                                + *

                                                                + * STARTS_WITH + *

                                                                + *

                                                                The value of TargetString must appear at the beginning of the specified part of the web request.

                                                                + *

                                                                + * ENDS_WITH + *

                                                                + *

                                                                The value of TargetString must appear at the end of the specified part of the web request.

                                                                + */ + PositionalConstraint: PositionalConstraint | string | undefined; + /** *

                                                                Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. * If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

                                                                @@ -644,6 +693,12 @@ export interface ByteMatchTuple { */ TextTransformation: TextTransformation | string | undefined; + /** + *

                                                                The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see + * FieldToMatch.

                                                                + */ + FieldToMatch: FieldToMatch | undefined; + /** *

                                                                The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you * specified in FieldToMatch. The maximum length of the value is 50 bytes.

                                                                @@ -709,61 +764,6 @@ export interface ByteMatchTuple { *

                                                                The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

                                                                */ TargetString: Uint8Array | undefined; - - /** - *

                                                                The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see - * FieldToMatch.

                                                                - */ - FieldToMatch: FieldToMatch | undefined; - - /** - *

                                                                Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:

                                                                - *

                                                                - * CONTAINS - *

                                                                - *

                                                                The specified part of the web request must include the value of TargetString, but the location doesn't matter.

                                                                - *

                                                                - * CONTAINS_WORD - *

                                                                - *

                                                                The specified part of the web request must include the value of TargetString, and - * TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, - * TargetString must be a word, which means one of the following:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * TargetString exactly matches the value of the specified part of the web request, such as the value of a - * header.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * TargetString is at the beginning of the specified part of the web request and is followed by a character - * other than an alphanumeric character or underscore (_), for example, BadBot;.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * TargetString is at the end of the specified part of the web request and is preceded by a character - * other than an alphanumeric character or underscore (_), for example, ;BadBot.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * TargetString is in the middle of the specified part of the web request and is preceded and followed - * by characters other than alphanumeric characters or underscore (_), for example, -BadBot;.

                                                                  - *
                                                                • - *
                                                                - *

                                                                - * EXACTLY - *

                                                                - *

                                                                The value of the specified part of the web request must exactly match the value of TargetString.

                                                                - *

                                                                - * STARTS_WITH - *

                                                                - *

                                                                The value of TargetString must appear at the beginning of the specified part of the web request.

                                                                - *

                                                                - * ENDS_WITH - *

                                                                - *

                                                                The value of TargetString must appear at the end of the specified part of the web request.

                                                                - */ - PositionalConstraint: PositionalConstraint | string | undefined; } export namespace ByteMatchTuple { @@ -818,15 +818,15 @@ export namespace ByteMatchSet { export interface CreateByteMatchSetResponse { /** - *

                                                                The ChangeToken that you used to submit the CreateByteMatchSet request. You can also use this value - * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                                + *

                                                                A ByteMatchSet that contains no ByteMatchTuple objects.

                                                                */ - ChangeToken?: string; + ByteMatchSet?: ByteMatchSet; /** - *

                                                                A ByteMatchSet that contains no ByteMatchTuple objects.

                                                                + *

                                                                The ChangeToken that you used to submit the CreateByteMatchSet request. You can also use this value + * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                                */ - ByteMatchSet?: ByteMatchSet; + ChangeToken?: string; } export namespace CreateByteMatchSetResponse { @@ -1414,15 +1414,28 @@ export namespace Tag { export interface CreateRateBasedRuleRequest { /** - *

                                                                A friendly name or description of the RateBasedRule. You can't - * change the name of a RateBasedRule after you create it.

                                                                + *

                                                                The field that AWS WAF uses to determine if requests are likely arriving from a single + * source and thus subject to rate monitoring. The only valid value for RateKey + * is IP. IP indicates that requests that arrive from the same IP + * address are subject to the RateLimit that is specified in + * the RateBasedRule.

                                                                */ - Name: string | undefined; + RateKey: RateKey | string | undefined; /** - *

                                                                + *

                                                                The ChangeToken that you used to submit the + * CreateRateBasedRule request. You can also use this value to query the + * status of the request. For more information, see GetChangeTokenStatus.

                                                                */ - Tags?: Tag[]; + ChangeToken: string | undefined; + + /** + *

                                                                The maximum number of requests, which have an identical value in the field that is + * specified by RateKey, allowed in a five-minute period. If the number of + * requests exceeds the RateLimit and the other predicates specified in the rule + * are also met, AWS WAF triggers the action that is specified for this rule.

                                                                + */ + RateLimit: number | undefined; /** *

                                                                A friendly name or description for the metrics for this RateBasedRule. @@ -1433,28 +1446,15 @@ export interface CreateRateBasedRuleRequest { MetricName: string | undefined; /** - *

                                                                The maximum number of requests, which have an identical value in the field that is - * specified by RateKey, allowed in a five-minute period. If the number of - * requests exceeds the RateLimit and the other predicates specified in the rule - * are also met, AWS WAF triggers the action that is specified for this rule.

                                                                + *

                                                                A friendly name or description of the RateBasedRule. You can't + * change the name of a RateBasedRule after you create it.

                                                                */ - RateLimit: number | undefined; + Name: string | undefined; /** - *

                                                                The field that AWS WAF uses to determine if requests are likely arriving from a single - * source and thus subject to rate monitoring. The only valid value for RateKey - * is IP. IP indicates that requests that arrive from the same IP - * address are subject to the RateLimit that is specified in - * the RateBasedRule.

                                                                + *

                                                                */ - RateKey: RateKey | string | undefined; - - /** - *

                                                                The ChangeToken that you used to submit the - * CreateRateBasedRule request. You can also use this value to query the - * status of the request. For more information, see GetChangeTokenStatus.

                                                                - */ - ChangeToken: string | undefined; + Tags?: Tag[]; } export namespace CreateRateBasedRuleRequest { @@ -1487,6 +1487,12 @@ export enum PredicateType { * NOT originate from the IP address 192.0.2.44.

                                                                */ export interface Predicate { + /** + *

                                                                A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. + * The ID is returned by the corresponding Create or List command.

                                                                + */ + DataId: string | undefined; + /** *

                                                                The type of predicate in a Rule, such as ByteMatch or IPSet.

                                                                */ @@ -1503,12 +1509,6 @@ export interface Predicate { * 192.0.2.44.

                                                                */ Negated: boolean | undefined; - - /** - *

                                                                A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. - * The ID is returned by the corresponding Create or List command.

                                                                - */ - DataId: string | undefined; } export namespace Predicate { @@ -1569,11 +1569,10 @@ export interface RateBasedRule { MatchPredicates: Predicate[] | undefined; /** - *

                                                                A unique identifier for a RateBasedRule. You use RuleId to - * get more information about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see UpdateRateBasedRule), insert a RateBasedRule into a - * WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF (see DeleteRateBasedRule).

                                                                + *

                                                                A friendly name or description for a RateBasedRule. You can't change the + * name of a RateBasedRule after you create it.

                                                                */ - RuleId: string | undefined; + Name?: string; /** *

                                                                The field that AWS WAF uses to determine if requests are likely arriving from single @@ -1585,10 +1584,11 @@ export interface RateBasedRule { RateKey: RateKey | string | undefined; /** - *

                                                                A friendly name or description for a RateBasedRule. You can't change the - * name of a RateBasedRule after you create it.

                                                                + *

                                                                A unique identifier for a RateBasedRule. You use RuleId to + * get more information about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see UpdateRateBasedRule), insert a RateBasedRule into a + * WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF (see DeleteRateBasedRule).

                                                                */ - Name?: string; + RuleId: string | undefined; } export namespace RateBasedRule { @@ -1598,18 +1598,18 @@ export namespace RateBasedRule { } export interface CreateRateBasedRuleResponse { - /** - *

                                                                The RateBasedRule - * that is returned in the CreateRateBasedRule response.

                                                                - */ - Rule?: RateBasedRule; - /** *

                                                                The ChangeToken that you used to submit the * CreateRateBasedRule request. You can also use this value to query the * status of the request. For more information, see GetChangeTokenStatus.

                                                                */ ChangeToken?: string; + + /** + *

                                                                The RateBasedRule + * that is returned in the CreateRateBasedRule response.

                                                                + */ + Rule?: RateBasedRule; } export namespace CreateRateBasedRuleResponse { @@ -1664,16 +1664,16 @@ export namespace WAFTagOperationInternalErrorException { } export interface CreateRegexMatchSetRequest { - /** - *

                                                                The value returned by the most recent call to GetChangeToken.

                                                                - */ - ChangeToken: string | undefined; - /** *

                                                                A friendly name or description of the RegexMatchSet. You can't change Name after you create a * RegexMatchSet.

                                                                */ Name: string | undefined; + + /** + *

                                                                The value returned by the most recent call to GetChangeToken.

                                                                + */ + ChangeToken: string | undefined; } export namespace CreateRegexMatchSetRequest { @@ -1801,6 +1801,11 @@ export interface RegexMatchTuple { */ TextTransformation: TextTransformation | string | undefined; + /** + *

                                                                Specifies where in a web request to look for the RegexPatternSet.

                                                                + */ + FieldToMatch: FieldToMatch | undefined; + /** *

                                                                The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to get information about a * RegexPatternSet (see GetRegexPatternSet), update a RegexPatternSet (see UpdateRegexPatternSet), @@ -1810,11 +1815,6 @@ export interface RegexMatchTuple { * RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

                                                                */ RegexPatternSetId: string | undefined; - - /** - *

                                                                Specifies where in a web request to look for the RegexPatternSet.

                                                                - */ - FieldToMatch: FieldToMatch | undefined; } export namespace RegexMatchTuple { @@ -1839,12 +1839,6 @@ export namespace RegexMatchTuple { * to be considered a match.

                                                                */ export interface RegexMatchSet { - /** - *

                                                                A friendly name or description of the RegexMatchSet. You can't change Name after you create a - * RegexMatchSet.

                                                                - */ - Name?: string; - /** *

                                                                The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information about a * RegexMatchSet (see GetRegexMatchSet), update a RegexMatchSet (see UpdateRegexMatchSet), @@ -1871,6 +1865,12 @@ export interface RegexMatchSet { *

                                                              */ RegexMatchTuples?: RegexMatchTuple[]; + + /** + *

                                                              A friendly name or description of the RegexMatchSet. You can't change Name after you create a + * RegexMatchSet.

                                                              + */ + Name?: string; } export namespace RegexMatchSet { @@ -1881,15 +1881,15 @@ export namespace RegexMatchSet { export interface CreateRegexMatchSetResponse { /** - *

                                                              The ChangeToken that you used to submit the CreateRegexMatchSet request. You can also use this value - * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              + *

                                                              A RegexMatchSet that contains no RegexMatchTuple objects.

                                                              */ - ChangeToken?: string; + RegexMatchSet?: RegexMatchSet; /** - *

                                                              A RegexMatchSet that contains no RegexMatchTuple objects.

                                                              + *

                                                              The ChangeToken that you used to submit the CreateRegexMatchSet request. You can also use this value + * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              */ - RegexMatchSet?: RegexMatchSet; + ChangeToken?: string; } export namespace CreateRegexMatchSetResponse { @@ -1900,15 +1900,15 @@ export namespace CreateRegexMatchSetResponse { export interface CreateRegexPatternSetRequest { /** - *

                                                              A friendly name or description of the RegexPatternSet. You can't change Name after you create a - * RegexPatternSet.

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - Name: string | undefined; + ChangeToken: string | undefined; /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + *

                                                              A friendly name or description of the RegexPatternSet. You can't change Name after you create a + * RegexPatternSet.

                                                              */ - ChangeToken: string | undefined; + Name: string | undefined; } export namespace CreateRegexPatternSetRequest { @@ -1929,6 +1929,14 @@ export namespace CreateRegexPatternSetRequest { *

                                                              The RegexPatternSet specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

                                                              */ export interface RegexPatternSet { + /** + *

                                                              The identifier for the RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, + * update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

                                                              + *

                                                              + * RegexMatchSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

                                                              + */ + RegexPatternSetId: string | undefined; + /** *

                                                              Specifies the regular expression (regex) patterns that you want AWS WAF to search for, such as B[a@]dB[o0]t.

                                                              */ @@ -1938,14 +1946,6 @@ export interface RegexPatternSet { *

                                                              A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

                                                              */ Name?: string; - - /** - *

                                                              The identifier for the RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, - * update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

                                                              - *

                                                              - * RegexMatchSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

                                                              - */ - RegexPatternSetId: string | undefined; } export namespace RegexPatternSet { @@ -1955,16 +1955,16 @@ export namespace RegexPatternSet { } export interface CreateRegexPatternSetResponse { - /** - *

                                                              A RegexPatternSet that contains no objects.

                                                              - */ - RegexPatternSet?: RegexPatternSet; - /** *

                                                              The ChangeToken that you used to submit the CreateRegexPatternSet request. You can also use this value * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              */ ChangeToken?: string; + + /** + *

                                                              A RegexPatternSet that contains no objects.

                                                              + */ + RegexPatternSet?: RegexPatternSet; } export namespace CreateRegexPatternSetResponse { @@ -1979,6 +1979,13 @@ export interface CreateRuleRequest { */ ChangeToken: string | undefined; + /** + *

                                                              A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain + * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the + * Rule.

                                                              + */ + MetricName: string | undefined; + /** *

                                                              */ @@ -1988,13 +1995,6 @@ export interface CreateRuleRequest { *

                                                              A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

                                                              */ Name: string | undefined; - - /** - *

                                                              A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain - * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the - * Rule.

                                                              - */ - MetricName: string | undefined; } export namespace CreateRuleRequest { @@ -2029,10 +2029,10 @@ export namespace CreateRuleRequest { */ export interface Rule { /** - *

                                                              The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or - * SqlInjectionMatchSet object that you want to include in a Rule.

                                                              + *

                                                              A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain + * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change MetricName after you create the Rule.

                                                              */ - Predicates: Predicate[] | undefined; + MetricName?: string; /** *

                                                              A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), @@ -2049,10 +2049,10 @@ export interface Rule { Name?: string; /** - *

                                                              A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain - * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change MetricName after you create the Rule.

                                                              + *

                                                              The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or + * SqlInjectionMatchSet object that you want to include in a Rule.

                                                              */ - MetricName?: string; + Predicates: Predicate[] | undefined; } export namespace Rule { @@ -2063,15 +2063,15 @@ export namespace Rule { export interface CreateRuleResponse { /** - *

                                                              The ChangeToken that you used to submit the CreateRule request. You can also use this value - * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              + *

                                                              The Rule returned in the CreateRule response.

                                                              */ - ChangeToken?: string; + Rule?: Rule; /** - *

                                                              The Rule returned in the CreateRule response.

                                                              + *

                                                              The ChangeToken that you used to submit the CreateRule request. You can also use this value + * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              */ - Rule?: Rule; + ChangeToken?: string; } export namespace CreateRuleResponse { @@ -2081,17 +2081,17 @@ export namespace CreateRuleResponse { } export interface CreateRuleGroupRequest { - /** - *

                                                              - */ - Tags?: Tag[]; - /** *

                                                              A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the RuleGroup.

                                                              */ MetricName: string | undefined; + /** + *

                                                              + */ + Tags?: Tag[]; + /** *

                                                              A friendly name or description of the RuleGroup. You can't change Name after you create a * RuleGroup.

                                                              @@ -2388,11 +2388,6 @@ export interface SizeConstraintSet { */ SizeConstraints: SizeConstraint[] | undefined; - /** - *

                                                              The name, if any, of the SizeConstraintSet.

                                                              - */ - Name?: string; - /** *

                                                              A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a * SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet @@ -2403,6 +2398,11 @@ export interface SizeConstraintSet { * SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

                                                              */ SizeConstraintSetId: string | undefined; + + /** + *

                                                              The name, if any, of the SizeConstraintSet.

                                                              + */ + Name?: string; } export namespace SizeConstraintSet { @@ -2434,16 +2434,16 @@ export namespace CreateSizeConstraintSetResponse { *

                                                              A request to create a SqlInjectionMatchSet.

                                                              */ export interface CreateSqlInjectionMatchSetRequest { - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - /** *

                                                              A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name * after you create the SqlInjectionMatchSet.

                                                              */ Name: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; } export namespace CreateSqlInjectionMatchSetRequest { @@ -2588,16 +2588,6 @@ export namespace SqlInjectionMatchTuple { * include snippets of SQL code in only one of the specified parts of the request to be considered a match.

                                                              */ export interface SqlInjectionMatchSet { - /** - *

                                                              The name, if any, of the SqlInjectionMatchSet.

                                                              - */ - Name?: string; - - /** - *

                                                              Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.

                                                              - */ - SqlInjectionMatchTuples: SqlInjectionMatchTuple[] | undefined; - /** *

                                                              A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a * SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet @@ -2608,6 +2598,16 @@ export interface SqlInjectionMatchSet { * SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

                                                              */ SqlInjectionMatchSetId: string | undefined; + + /** + *

                                                              Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.

                                                              + */ + SqlInjectionMatchTuples: SqlInjectionMatchTuple[] | undefined; + + /** + *

                                                              The name, if any, of the SqlInjectionMatchSet.

                                                              + */ + Name?: string; } export namespace SqlInjectionMatchSet { @@ -2645,27 +2645,27 @@ export interface CreateWebACLRequest { Name: string | undefined; /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + *

                                                              The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule + * objects that are associated with the WebACL.

                                                              */ - ChangeToken: string | undefined; + DefaultAction: WafAction | undefined; /** - *

                                                              A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain - * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change MetricName after you create the - * WebACL.

                                                              + *

                                                              */ - MetricName: string | undefined; + Tags?: Tag[]; /** - *

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - Tags?: Tag[]; + ChangeToken: string | undefined; /** - *

                                                              The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule - * objects that are associated with the WebACL.

                                                              + *

                                                              A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain + * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change MetricName after you create the + * WebACL.

                                                              */ - DefaultAction: WafAction | undefined; + MetricName: string | undefined; } export namespace CreateWebACLRequest { @@ -2697,37 +2697,37 @@ export interface WebACL { Name?: string; /** - *

                                                              An array that contains the action for each Rule in a WebACL, the priority of the Rule, - * and the ID of the Rule.

                                                              + *

                                                              A unique identifier for a WebACL. You use WebACLId to get information about a WebACL + * (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF + * (see DeleteWebACL).

                                                              + *

                                                              + * WebACLId is returned by CreateWebACL and by ListWebACLs.

                                                              */ - Rules: ActivatedRule[] | undefined; + WebACLId: string | undefined; + + /** + *

                                                              The action to perform if none of the Rules contained in the WebACL match. The action is specified by the + * WafAction object.

                                                              + */ + DefaultAction: WafAction | undefined; /** *

                                                              Tha Amazon Resource Name (ARN) of the web ACL.

                                                              */ WebACLArn?: string; + /** + *

                                                              An array that contains the action for each Rule in a WebACL, the priority of the Rule, + * and the ID of the Rule.

                                                              + */ + Rules: ActivatedRule[] | undefined; + /** *

                                                              A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change MetricName after you create the WebACL.

                                                              */ MetricName?: string; - - /** - *

                                                              The action to perform if none of the Rules contained in the WebACL match. The action is specified by the - * WafAction object.

                                                              - */ - DefaultAction: WafAction | undefined; - - /** - *

                                                              A unique identifier for a WebACL. You use WebACLId to get information about a WebACL - * (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF - * (see DeleteWebACL).

                                                              - *

                                                              - * WebACLId is returned by CreateWebACL and by ListWebACLs.

                                                              - */ - WebACLId: string | undefined; -} +} export namespace WebACL { export const filterSensitiveLog = (obj: WebACL): any => ({ @@ -2931,11 +2931,6 @@ export namespace CreateXssMatchSetRequest { *

                                                              Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

                                                              */ export interface XssMatchTuple { - /** - *

                                                              Specifies where in a web request to look for cross-site scripting attacks.

                                                              - */ - FieldToMatch: FieldToMatch | undefined; - /** *

                                                              Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. * If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

                                                              @@ -3032,6 +3027,11 @@ export interface XssMatchTuple { *

                                                              Specify NONE if you don't want to perform any text transformations.

                                                              */ TextTransformation: TextTransformation | string | undefined; + + /** + *

                                                              Specifies where in a web request to look for cross-site scripting attacks.

                                                              + */ + FieldToMatch: FieldToMatch | undefined; } export namespace XssMatchTuple { @@ -3055,11 +3055,6 @@ export namespace XssMatchTuple { * include cross-site scripting attacks in only one of the specified parts of the request to be considered a match.

                                                              */ export interface XssMatchSet { - /** - *

                                                              Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.

                                                              - */ - XssMatchTuples: XssMatchTuple[] | undefined; - /** *

                                                              The name, if any, of the XssMatchSet.

                                                              */ @@ -3075,6 +3070,11 @@ export interface XssMatchSet { * XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

                                                              */ XssMatchSetId: string | undefined; + + /** + *

                                                              Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.

                                                              + */ + XssMatchTuples: XssMatchTuple[] | undefined; } export namespace XssMatchSet { @@ -3192,16 +3192,16 @@ export namespace WAFReferencedItemException { } export interface DeleteGeoMatchSetRequest { - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - /** *

                                                              The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId is returned by CreateGeoMatchSet and by * ListGeoMatchSets.

                                                              */ GeoMatchSetId: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; } export namespace DeleteGeoMatchSetRequest { @@ -3301,17 +3301,17 @@ export namespace DeletePermissionPolicyResponse { } export interface DeleteRateBasedRuleRequest { + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; + /** *

                                                              The RuleId of the RateBasedRule that you want to * delete. RuleId is returned by CreateRateBasedRule and by * ListRateBasedRules.

                                                              */ RuleId: string | undefined; - - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; } export namespace DeleteRateBasedRuleRequest { @@ -3337,15 +3337,15 @@ export namespace DeleteRateBasedRuleResponse { export interface DeleteRegexMatchSetRequest { /** - *

                                                              The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by - * ListRegexMatchSets.

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - RegexMatchSetId: string | undefined; + ChangeToken: string | undefined; /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + *

                                                              The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by + * ListRegexMatchSets.

                                                              */ - ChangeToken: string | undefined; + RegexMatchSetId: string | undefined; } export namespace DeleteRegexMatchSetRequest { @@ -3369,16 +3369,16 @@ export namespace DeleteRegexMatchSetResponse { } export interface DeleteRegexPatternSetRequest { - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - /** *

                                                              The RegexPatternSetId of the RegexPatternSet that you want to delete. RegexPatternSetId is returned by CreateRegexPatternSet and by * ListRegexPatternSets.

                                                              */ RegexPatternSetId: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; } export namespace DeleteRegexPatternSetRequest { @@ -3402,16 +3402,16 @@ export namespace DeleteRegexPatternSetResponse { } export interface DeleteRuleRequest { - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - /** *

                                                              The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by * ListRules.

                                                              */ RuleId: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; } export namespace DeleteRuleRequest { @@ -3469,15 +3469,15 @@ export namespace DeleteRuleGroupResponse { export interface DeleteSizeConstraintSetRequest { /** - *

                                                              The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId - * is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - SizeConstraintSetId: string | undefined; + ChangeToken: string | undefined; /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + *

                                                              The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId + * is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

                                                              */ - ChangeToken: string | undefined; + SizeConstraintSetId: string | undefined; } export namespace DeleteSizeConstraintSetRequest { @@ -3934,16 +3934,16 @@ export namespace GetRateBasedRuleResponse { } export interface GetRateBasedRuleManagedKeysRequest { - /** - *

                                                              A null value and not currently used. Do not include this in your request.

                                                              - */ - NextMarker?: string; - /** *

                                                              The RuleId of the RateBasedRule for which you want to * get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

                                                              */ RuleId: string | undefined; + + /** + *

                                                              A null value and not currently used. Do not include this in your request.

                                                              + */ + NextMarker?: string; } export namespace GetRateBasedRuleManagedKeysRequest { @@ -3954,14 +3954,14 @@ export namespace GetRateBasedRuleManagedKeysRequest { export interface GetRateBasedRuleManagedKeysResponse { /** - *

                                                              An array of IP addresses that currently are blocked by the specified RateBasedRule.

                                                              + *

                                                              A null value and not currently used.

                                                              */ - ManagedKeys?: string[]; + NextMarker?: string; /** - *

                                                              A null value and not currently used.

                                                              + *

                                                              An array of IP addresses that currently are blocked by the specified RateBasedRule.

                                                              */ - NextMarker?: string; + ManagedKeys?: string[]; } export namespace GetRateBasedRuleManagedKeysResponse { @@ -4114,20 +4114,20 @@ export namespace GetRuleGroupResponse { */ export interface TimeWindow { /** - *

                                                              The beginning of the time range from which you want GetSampledRequests to return a sample of the + *

                                                              The end of the time range from which you want GetSampledRequests to return a sample of the * requests that your AWS resource received. You must specify the date and time in Coordinated Universal Time (UTC) format. * UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". * You can specify any time range in the previous three hours.

                                                              */ - StartTime: Date | undefined; + EndTime: Date | undefined; /** - *

                                                              The end of the time range from which you want GetSampledRequests to return a sample of the + *

                                                              The beginning of the time range from which you want GetSampledRequests to return a sample of the * requests that your AWS resource received. You must specify the date and time in Coordinated Universal Time (UTC) format. * UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". * You can specify any time range in the previous three hours.

                                                              */ - EndTime: Date | undefined; + StartTime: Date | undefined; } export namespace TimeWindow { @@ -4137,13 +4137,6 @@ export namespace TimeWindow { } export interface GetSampledRequestsRequest { - /** - *

                                                              The start date and time and the end date and time of the range for which you want GetSampledRequests to return a - * sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special - * designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

                                                              - */ - TimeWindow: TimeWindow | undefined; - /** *

                                                              The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests.

                                                              */ @@ -4171,6 +4164,13 @@ export interface GetSampledRequestsRequest { * returns information about all of them.

                                                              */ MaxItems: number | undefined; + + /** + *

                                                              The start date and time and the end date and time of the range for which you want GetSampledRequests to return a + * sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special + * designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

                                                              + */ + TimeWindow: TimeWindow | undefined; } export namespace GetSampledRequestsRequest { @@ -4236,15 +4236,15 @@ export interface HTTPRequest { Headers?: HTTPHeader[]; /** - *

                                                              The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE, - * GET, HEAD, OPTIONS, PATCH, POST, and PUT.

                                                              + *

                                                              The HTTP version specified in the sampled web request, for example, HTTP/1.1.

                                                              */ - Method?: string; + HTTPVersion?: string; /** - *

                                                              The HTTP version specified in the sampled web request, for example, HTTP/1.1.

                                                              + *

                                                              The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE, + * GET, HEAD, OPTIONS, PATCH, POST, and PUT.

                                                              */ - HTTPVersion?: string; + Method?: string; /** *

                                                              The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, @@ -4288,16 +4288,6 @@ export namespace HTTPRequest { * SampledHTTPRequest object for each web request that is returned by GetSampledRequests.

                                                              */ export interface SampledHTTPRequest { - /** - *

                                                              A complex type that contains detailed information about the request.

                                                              - */ - Request: HTTPRequest | undefined; - - /** - *

                                                              The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

                                                              - */ - Timestamp?: Date; - /** *

                                                              The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT.

                                                              */ @@ -4314,6 +4304,16 @@ export interface SampledHTTPRequest { *

                                                              This value is returned if the GetSampledRequests request specifies the ID of a RuleGroup rather than the ID of an individual rule. RuleWithinRuleGroup is the rule within the specified RuleGroup that matched the request listed in the response.

                                                              */ RuleWithinRuleGroup?: string; + + /** + *

                                                              The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

                                                              + */ + Timestamp?: Date; + + /** + *

                                                              A complex type that contains detailed information about the request.

                                                              + */ + Request: HTTPRequest | undefined; } export namespace SampledHTTPRequest { @@ -4330,17 +4330,17 @@ export interface GetSampledRequestsResponse { */ TimeWindow?: TimeWindow; - /** - *

                                                              A complex type that contains detailed information about each of the requests in the sample.

                                                              - */ - SampledRequests?: SampledHTTPRequest[]; - /** *

                                                              The total number of requests from which GetSampledRequests got a sample of MaxItems requests. * If PopulationSize is less than MaxItems, the sample includes every request that your AWS resource * received during the specified time range.

                                                              */ PopulationSize?: number; + + /** + *

                                                              A complex type that contains detailed information about each of the requests in the sample.

                                                              + */ + SampledRequests?: SampledHTTPRequest[]; } export namespace GetSampledRequestsResponse { @@ -4626,9 +4626,12 @@ export namespace GetXssMatchSetResponse { export interface ListActivatedRulesInRuleGroupRequest { /** - *

                                                              The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects.

                                                              + *

                                                              If you specify a value for Limit and you have more ActivatedRules than the value of Limit, + * AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. + * For the second and subsequent ListActivatedRulesInRuleGroup requests, specify the value of NextMarker + * from the previous response to get information about another batch of ActivatedRules.

                                                              */ - RuleGroupId?: string; + NextMarker?: string; /** *

                                                              Specifies the number of ActivatedRules that you want AWS WAF to return for this request. If you have more ActivatedRules than the number that you specify for Limit, the response includes a @@ -4637,12 +4640,9 @@ export interface ListActivatedRulesInRuleGroupRequest { Limit?: number; /** - *

                                                              If you specify a value for Limit and you have more ActivatedRules than the value of Limit, - * AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. - * For the second and subsequent ListActivatedRulesInRuleGroup requests, specify the value of NextMarker - * from the previous response to get information about another batch of ActivatedRules.

                                                              + *

                                                              The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects.

                                                              */ - NextMarker?: string; + RuleGroupId?: string; } export namespace ListActivatedRulesInRuleGroupRequest { @@ -4670,6 +4670,13 @@ export namespace ListActivatedRulesInRuleGroupResponse { } export interface ListByteMatchSetsRequest { + /** + *

                                                              Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more + * ByteMatchSets objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of ByteMatchSet objects.

                                                              + */ + Limit?: number; + /** *

                                                              If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, * AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. @@ -4677,13 +4684,6 @@ export interface ListByteMatchSetsRequest { * from the previous response to get information about another batch of ByteMatchSets.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more - * ByteMatchSets objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of ByteMatchSet objects.

                                                              - */ - Limit?: number; } export namespace ListByteMatchSetsRequest { @@ -4705,11 +4705,6 @@ export namespace ListByteMatchSetsRequest { * ByteMatchSetId for one ByteMatchSet.

                                                              */ export interface ByteMatchSetSummary { - /** - *

                                                              A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

                                                              - */ - Name: string | undefined; - /** *

                                                              The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet, * update a ByteMatchSet, remove a ByteMatchSet from a Rule, and delete a ByteMatchSet from AWS WAF.

                                                              @@ -4717,6 +4712,11 @@ export interface ByteMatchSetSummary { * ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

                                                              */ ByteMatchSetId: string | undefined; + + /** + *

                                                              A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

                                                              + */ + Name: string | undefined; } export namespace ByteMatchSetSummary { @@ -4726,6 +4726,11 @@ export namespace ByteMatchSetSummary { } export interface ListByteMatchSetsResponse { + /** + *

                                                              An array of ByteMatchSetSummary objects.

                                                              + */ + ByteMatchSets?: ByteMatchSetSummary[]; + /** *

                                                              If you have more ByteMatchSet objects than the number that you specified for Limit in the request, * the response includes a NextMarker value. To list more ByteMatchSet objects, submit another @@ -4733,11 +4738,6 @@ export interface ListByteMatchSetsResponse { * NextMarker value in the next request.

                                                              */ NextMarker?: string; - - /** - *

                                                              An array of ByteMatchSetSummary objects.

                                                              - */ - ByteMatchSets?: ByteMatchSetSummary[]; } export namespace ListByteMatchSetsResponse { @@ -4747,6 +4747,13 @@ export namespace ListByteMatchSetsResponse { } export interface ListGeoMatchSetsRequest { + /** + *

                                                              Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more + * GeoMatchSet objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of GeoMatchSet objects.

                                                              + */ + Limit?: number; + /** *

                                                              If you specify a value for Limit and you have more GeoMatchSets than the value of Limit, * AWS WAF returns a NextMarker value in the response that allows you to list another group of GeoMatchSet objects. @@ -4754,13 +4761,6 @@ export interface ListGeoMatchSetsRequest { * from the previous response to get information about another batch of GeoMatchSet objects.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more - * GeoMatchSet objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of GeoMatchSet objects.

                                                              - */ - Limit?: number; } export namespace ListGeoMatchSetsRequest { @@ -4820,6 +4820,13 @@ export namespace ListGeoMatchSetsResponse { } export interface ListIPSetsRequest { + /** + *

                                                              Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more + * IPSet objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of IPSet objects.

                                                              + */ + Limit?: number; + /** *

                                                              AWS WAF returns a NextMarker value in the response that allows you to * list another group of IPSets. For the second and subsequent @@ -4827,13 +4834,6 @@ export interface ListIPSetsRequest { * previous response to get information about another batch of IPSets.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more - * IPSet objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of IPSet objects.

                                                              - */ - Limit?: number; } export namespace ListIPSetsRequest { @@ -4854,16 +4854,16 @@ export namespace ListIPSetsRequest { *

                                                              Contains the identifier and the name of the IPSet.

                                                              */ export interface IPSetSummary { - /** - *

                                                              A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

                                                              - */ - Name: string | undefined; - /** *

                                                              The IPSetId for an IPSet. You can use IPSetId in a GetIPSet request to get detailed * information about an IPSet.

                                                              */ IPSetId: string | undefined; + + /** + *

                                                              A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

                                                              + */ + Name: string | undefined; } export namespace IPSetSummary { @@ -4915,14 +4915,14 @@ export namespace ListLoggingConfigurationsRequest { export interface ListLoggingConfigurationsResponse { /** - *

                                                              An array of LoggingConfiguration objects.

                                                              + *

                                                              If you have more LoggingConfigurations than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more LoggingConfigurations, submit another ListLoggingConfigurations request, and specify the NextMarker value from the response in the NextMarker value in the next request.

                                                              */ - LoggingConfigurations?: LoggingConfiguration[]; + NextMarker?: string; /** - *

                                                              If you have more LoggingConfigurations than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more LoggingConfigurations, submit another ListLoggingConfigurations request, and specify the NextMarker value from the response in the NextMarker value in the next request.

                                                              + *

                                                              An array of LoggingConfiguration objects.

                                                              */ - NextMarker?: string; + LoggingConfigurations?: LoggingConfiguration[]; } export namespace ListLoggingConfigurationsResponse { @@ -4969,6 +4969,11 @@ export namespace ListRateBasedRulesRequest { *

                                                              Contains the identifier and the friendly name or description of the Rule.

                                                              */ export interface RuleSummary { + /** + *

                                                              A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

                                                              + */ + Name: string | undefined; + /** *

                                                              A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), * update a Rule (see UpdateRule), insert a Rule into a WebACL or delete @@ -4977,11 +4982,6 @@ export interface RuleSummary { * RuleId is returned by CreateRule and by ListRules.

                                                              */ RuleId: string | undefined; - - /** - *

                                                              A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

                                                              - */ - Name: string | undefined; } export namespace RuleSummary { @@ -4991,6 +4991,11 @@ export namespace RuleSummary { } export interface ListRateBasedRulesResponse { + /** + *

                                                              An array of RuleSummary objects.

                                                              + */ + Rules?: RuleSummary[]; + /** *

                                                              If you have more Rules than the number that you specified for * Limit in the request, the response includes a NextMarker @@ -4999,11 +5004,6 @@ export interface ListRateBasedRulesResponse { * NextMarker value in the next request.

                                                              */ NextMarker?: string; - - /** - *

                                                              An array of RuleSummary objects.

                                                              - */ - Rules?: RuleSummary[]; } export namespace ListRateBasedRulesResponse { @@ -5069,6 +5069,11 @@ export namespace RegexMatchSetSummary { } export interface ListRegexMatchSetsResponse { + /** + *

                                                              An array of RegexMatchSetSummary objects.

                                                              + */ + RegexMatchSets?: RegexMatchSetSummary[]; + /** *

                                                              If you have more RegexMatchSet objects than the number that you specified for Limit in the request, * the response includes a NextMarker value. To list more RegexMatchSet objects, submit another @@ -5076,11 +5081,6 @@ export interface ListRegexMatchSetsResponse { * NextMarker value in the next request.

                                                              */ NextMarker?: string; - - /** - *

                                                              An array of RegexMatchSetSummary objects.

                                                              - */ - RegexMatchSets?: RegexMatchSetSummary[]; } export namespace ListRegexMatchSetsResponse { @@ -5090,6 +5090,13 @@ export namespace ListRegexMatchSetsResponse { } export interface ListRegexPatternSetsRequest { + /** + *

                                                              Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more + * RegexPatternSet objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of RegexPatternSet objects.

                                                              + */ + Limit?: number; + /** *

                                                              If you specify a value for Limit and you have more RegexPatternSet objects than the value of Limit, * AWS WAF returns a NextMarker value in the response that allows you to list another group of RegexPatternSet objects. @@ -5097,13 +5104,6 @@ export interface ListRegexPatternSetsRequest { * from the previous response to get information about another batch of RegexPatternSet objects.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more - * RegexPatternSet objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of RegexPatternSet objects.

                                                              - */ - Limit?: number; } export namespace ListRegexPatternSetsRequest { @@ -5173,14 +5173,14 @@ export enum ResourceType { export interface ListResourcesForWebACLRequest { /** - *

                                                              The unique identifier (ID) of the web ACL for which to list the associated resources.

                                                              + *

                                                              The type of resource to list, either an application load balancer or Amazon API Gateway.

                                                              */ - WebACLId: string | undefined; + ResourceType?: ResourceType | string; /** - *

                                                              The type of resource to list, either an application load balancer or Amazon API Gateway.

                                                              + *

                                                              The unique identifier (ID) of the web ACL for which to list the associated resources.

                                                              */ - ResourceType?: ResourceType | string; + WebACLId: string | undefined; } export namespace ListResourcesForWebACLRequest { @@ -5203,6 +5203,11 @@ export namespace ListResourcesForWebACLResponse { } export interface ListRuleGroupsRequest { + /** + *

                                                              Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RuleGroups.

                                                              + */ + Limit?: number; + /** *

                                                              If you specify a value for Limit and you have more RuleGroups than the value of Limit, * AWS WAF returns a NextMarker value in the response that allows you to list another group of RuleGroups. @@ -5210,11 +5215,6 @@ export interface ListRuleGroupsRequest { * from the previous response to get information about another batch of RuleGroups.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RuleGroups.

                                                              - */ - Limit?: number; } export namespace ListRuleGroupsRequest { @@ -5235,6 +5235,11 @@ export namespace ListRuleGroupsRequest { *

                                                              Contains the identifier and the friendly name or description of the RuleGroup.

                                                              */ export interface RuleGroupSummary { + /** + *

                                                              A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

                                                              + */ + Name: string | undefined; + /** *

                                                              A unique identifier for a RuleGroup. You use RuleGroupId to get more information about a RuleGroup (see GetRuleGroup), * update a RuleGroup (see UpdateRuleGroup), insert a RuleGroup into a WebACL or delete @@ -5243,11 +5248,6 @@ export interface RuleGroupSummary { * RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

                                                              */ RuleGroupId: string | undefined; - - /** - *

                                                              A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

                                                              - */ - Name: string | undefined; } export namespace RuleGroupSummary { @@ -5297,17 +5297,17 @@ export namespace ListRulesRequest { } export interface ListRulesResponse { - /** - *

                                                              An array of RuleSummary objects.

                                                              - */ - Rules?: RuleSummary[]; - /** *

                                                              If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another * ListRules request, and specify the NextMarker value from the response in the * NextMarker value in the next request.

                                                              */ NextMarker?: string; + + /** + *

                                                              An array of RuleSummary objects.

                                                              + */ + Rules?: RuleSummary[]; } export namespace ListRulesResponse { @@ -5350,6 +5350,11 @@ export namespace ListSizeConstraintSetsRequest { *

                                                              The Id and Name of a SizeConstraintSet.

                                                              */ export interface SizeConstraintSetSummary { + /** + *

                                                              The name of the SizeConstraintSet, if any.

                                                              + */ + Name: string | undefined; + /** *

                                                              A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a * SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet @@ -5360,11 +5365,6 @@ export interface SizeConstraintSetSummary { * SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

                                                              */ SizeConstraintSetId: string | undefined; - - /** - *

                                                              The name of the SizeConstraintSet, if any.

                                                              - */ - Name: string | undefined; } export namespace SizeConstraintSetSummary { @@ -5432,11 +5432,6 @@ export namespace ListSqlInjectionMatchSetsRequest { *

                                                              The Id and Name of a SqlInjectionMatchSet.

                                                              */ export interface SqlInjectionMatchSetSummary { - /** - *

                                                              The name of the SqlInjectionMatchSet, if any, specified by Id.

                                                              - */ - Name: string | undefined; - /** *

                                                              A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a * SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet @@ -5447,6 +5442,11 @@ export interface SqlInjectionMatchSetSummary { * SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

                                                              */ SqlInjectionMatchSetId: string | undefined; + + /** + *

                                                              The name of the SqlInjectionMatchSet, if any, specified by Id.

                                                              + */ + Name: string | undefined; } export namespace SqlInjectionMatchSetSummary { @@ -5459,11 +5459,6 @@ export namespace SqlInjectionMatchSetSummary { *

                                                              The response to a ListSqlInjectionMatchSets request.

                                                              */ export interface ListSqlInjectionMatchSetsResponse { - /** - *

                                                              An array of SqlInjectionMatchSetSummary objects.

                                                              - */ - SqlInjectionMatchSets?: SqlInjectionMatchSetSummary[]; - /** *

                                                              If you have more SqlInjectionMatchSet objects than the number that you specified for Limit in the request, * the response includes a NextMarker value. To list more SqlInjectionMatchSet objects, submit another @@ -5471,22 +5466,20 @@ export interface ListSqlInjectionMatchSetsResponse { * NextMarker value in the next request.

                                                              */ NextMarker?: string; -} - -export namespace ListSqlInjectionMatchSetsResponse { - export const filterSensitiveLog = (obj: ListSqlInjectionMatchSetsResponse): any => ({ - ...obj, - }); -} -export interface ListSubscribedRuleGroupsRequest { /** - *

                                                              Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more - * objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of objects.

                                                              + *

                                                              An array of SqlInjectionMatchSetSummary objects.

                                                              */ - Limit?: number; + SqlInjectionMatchSets?: SqlInjectionMatchSetSummary[]; +} + +export namespace ListSqlInjectionMatchSetsResponse { + export const filterSensitiveLog = (obj: ListSqlInjectionMatchSetsResponse): any => ({ + ...obj, + }); +} +export interface ListSubscribedRuleGroupsRequest { /** *

                                                              If you specify a value for Limit and you have more ByteMatchSetssubscribed rule groups than the value of Limit, * AWS WAF returns a NextMarker value in the response that allows you to list another group of subscribed rule groups. @@ -5494,6 +5487,13 @@ export interface ListSubscribedRuleGroupsRequest { * from the previous response to get information about another batch of subscribed rule groups.

                                                              */ NextMarker?: string; + + /** + *

                                                              Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more + * objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of objects.

                                                              + */ + Limit?: number; } export namespace ListSubscribedRuleGroupsRequest { @@ -5520,15 +5520,15 @@ export interface SubscribedRuleGroupSummary { Name: string | undefined; /** - *

                                                              A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain - * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the RuleGroup.

                                                              + *

                                                              A unique identifier for a RuleGroup.

                                                              */ - MetricName: string | undefined; + RuleGroupId: string | undefined; /** - *

                                                              A unique identifier for a RuleGroup.

                                                              + *

                                                              A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain + * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the RuleGroup.

                                                              */ - RuleGroupId: string | undefined; + MetricName: string | undefined; } export namespace SubscribedRuleGroupSummary { @@ -5562,7 +5562,7 @@ export interface ListTagsForResourceRequest { /** *

                                                              */ - NextMarker?: string; + Limit?: number; /** *

                                                              @@ -5572,7 +5572,7 @@ export interface ListTagsForResourceRequest { /** *

                                                              */ - Limit?: number; + NextMarker?: string; } export namespace ListTagsForResourceRequest { @@ -5615,12 +5615,12 @@ export interface ListTagsForResourceResponse { /** *

                                                              */ - TagInfoForResource?: TagInfoForResource; + NextMarker?: string; /** *

                                                              */ - NextMarker?: string; + TagInfoForResource?: TagInfoForResource; } export namespace ListTagsForResourceResponse { @@ -5653,11 +5653,6 @@ export namespace ListWebACLsRequest { } export interface ListWebACLsResponse { - /** - *

                                                              An array of WebACLSummary objects.

                                                              - */ - WebACLs?: WebACLSummary[]; - /** *

                                                              If you have more WebACL objects than the number that you specified for Limit in the request, * the response includes a NextMarker value. To list more WebACL objects, submit another @@ -5665,6 +5660,11 @@ export interface ListWebACLsResponse { * NextMarker value in the next request.

                                                              */ NextMarker?: string; + + /** + *

                                                              An array of WebACLSummary objects.

                                                              + */ + WebACLs?: WebACLSummary[]; } export namespace ListWebACLsResponse { @@ -5677,6 +5677,13 @@ export namespace ListWebACLsResponse { *

                                                              A request to list the XssMatchSet objects created by the current AWS account.

                                                              */ export interface ListXssMatchSetsRequest { + /** + *

                                                              Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more + * XssMatchSet objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of Rules.

                                                              + */ + Limit?: number; + /** *

                                                              If you specify a value for Limit and you have more XssMatchSet objects than the value of * Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of @@ -5684,13 +5691,6 @@ export interface ListXssMatchSetsRequest { * value of NextMarker from the previous response to get information about another batch of XssMatchSets.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more - * XssMatchSet objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of Rules.

                                                              - */ - Limit?: number; } export namespace ListXssMatchSetsRequest { @@ -5808,14 +5808,14 @@ export namespace WAFServiceLinkedRoleErrorException { export interface PutPermissionPolicyRequest { /** - *

                                                              The policy to attach to the specified RuleGroup.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

                                                              */ - Policy: string | undefined; + ResourceArn: string | undefined; /** - *

                                                              The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

                                                              + *

                                                              The policy to attach to the specified RuleGroup.

                                                              */ - ResourceArn: string | undefined; + Policy: string | undefined; } export namespace PutPermissionPolicyRequest { @@ -5906,12 +5906,12 @@ export interface UntagResourceRequest { /** *

                                                              */ - TagKeys: string[] | undefined; + ResourceARN: string | undefined; /** *

                                                              */ - ResourceARN: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -5946,17 +5946,17 @@ export enum ChangeAction { * ByteMatchTuple and includes the settings for the ByteMatchTuple.

                                                              */ export interface ByteMatchSetUpdate { - /** - *

                                                              Specifies whether to insert or delete a ByteMatchTuple.

                                                              - */ - Action: ChangeAction | string | undefined; - /** *

                                                              Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. * If you specify DELETE for the value of Action, the ByteMatchTuple values must * exactly match the values in the ByteMatchTuple that you want to delete from the ByteMatchSet.

                                                              */ ByteMatchTuple: ByteMatchTuple | undefined; + + /** + *

                                                              Specifies whether to insert or delete a ByteMatchTuple.

                                                              + */ + Action: ChangeAction | string | undefined; } export namespace ByteMatchSetUpdate { @@ -5966,6 +5966,17 @@ export namespace ByteMatchSetUpdate { } export interface UpdateByteMatchSetRequest { + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; + + /** + *

                                                              The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by + * ListByteMatchSets.

                                                              + */ + ByteMatchSetId: string | undefined; + /** *

                                                              An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. * For more information, see the applicable data types:

                                                              @@ -5989,17 +6000,6 @@ export interface UpdateByteMatchSetRequest { * */ Updates: ByteMatchSetUpdate[] | undefined; - - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - - /** - *

                                                              The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by - * ListByteMatchSets.

                                                              - */ - ByteMatchSetId: string | undefined; } export namespace UpdateByteMatchSetRequest { @@ -6065,14 +6065,14 @@ export namespace WAFNonexistentContainerException { */ export interface GeoMatchSetUpdate { /** - *

                                                              Specifies whether to insert or delete a country with UpdateGeoMatchSet.

                                                              + *

                                                              The country from which web requests originate that you want AWS WAF to search for.

                                                              */ - Action: ChangeAction | string | undefined; + GeoMatchConstraint: GeoMatchConstraint | undefined; /** - *

                                                              The country from which web requests originate that you want AWS WAF to search for.

                                                              + *

                                                              Specifies whether to insert or delete a country with UpdateGeoMatchSet.

                                                              */ - GeoMatchConstraint: GeoMatchConstraint | undefined; + Action: ChangeAction | string | undefined; } export namespace GeoMatchSetUpdate { @@ -6082,6 +6082,12 @@ export namespace GeoMatchSetUpdate { } export interface UpdateGeoMatchSetRequest { + /** + *

                                                              The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by + * ListGeoMatchSets.

                                                              + */ + GeoMatchSetId: string | undefined; + /** *

                                                              An array of GeoMatchSetUpdate objects that you want to insert into or delete from an GeoMatchSet. * For more information, see the applicable data types:

                                                              @@ -6105,12 +6111,6 @@ export interface UpdateGeoMatchSetRequest { *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ ChangeToken: string | undefined; - - /** - *

                                                              The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by - * ListGeoMatchSets.

                                                              - */ - GeoMatchSetId: string | undefined; } export namespace UpdateGeoMatchSetRequest { @@ -6163,12 +6163,6 @@ export namespace IPSetUpdate { } export interface UpdateIPSetRequest { - /** - *

                                                              The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by - * ListIPSets.

                                                              - */ - IPSetId: string | undefined; - /** *

                                                              An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. * For more information, see the applicable data types:

                                                              @@ -6188,6 +6182,12 @@ export interface UpdateIPSetRequest { */ Updates: IPSetUpdate[] | undefined; + /** + *

                                                              The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by + * ListIPSets.

                                                              + */ + IPSetId: string | undefined; + /** *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ @@ -6227,16 +6227,16 @@ export namespace UpdateIPSetResponse { * Rule or delete it from a Rule.

                                                              */ export interface RuleUpdate { - /** - *

                                                              The ID of the Predicate (such as an IPSet) that you want to add to a Rule.

                                                              - */ - Predicate: Predicate | undefined; - /** *

                                                              Specify INSERT to add a Predicate to a Rule. Use DELETE to remove a * Predicate from a Rule.

                                                              */ Action: ChangeAction | string | undefined; + + /** + *

                                                              The ID of the Predicate (such as an IPSet) that you want to add to a Rule.

                                                              + */ + Predicate: Predicate | undefined; } export namespace RuleUpdate { @@ -6247,12 +6247,10 @@ export namespace RuleUpdate { export interface UpdateRateBasedRuleRequest { /** - *

                                                              The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a - * five-minute period. If the number of requests exceeds the RateLimit and the other - * predicates specified in the rule are also met, - * AWS WAF triggers the action that is specified for this rule.

                                                              + *

                                                              An array of RuleUpdate objects that you want to insert into or delete + * from a RateBasedRule.

                                                              */ - RateLimit: number | undefined; + Updates: RuleUpdate[] | undefined; /** *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              @@ -6266,10 +6264,12 @@ export interface UpdateRateBasedRuleRequest { RuleId: string | undefined; /** - *

                                                              An array of RuleUpdate objects that you want to insert into or delete - * from a RateBasedRule.

                                                              + *

                                                              The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a + * five-minute period. If the number of requests exceeds the RateLimit and the other + * predicates specified in the rule are also met, + * AWS WAF triggers the action that is specified for this rule.

                                                              */ - Updates: RuleUpdate[] | undefined; + RateLimit: number | undefined; } export namespace UpdateRateBasedRuleRequest { @@ -6306,17 +6306,17 @@ export namespace UpdateRateBasedRuleResponse { * RegexMatchTuple and includes the settings for the RegexMatchTuple.

                                                              */ export interface RegexMatchSetUpdate { + /** + *

                                                              Specifies whether to insert or delete a RegexMatchTuple.

                                                              + */ + Action: ChangeAction | string | undefined; + /** *

                                                              Information about the part of a web request that you want AWS WAF to inspect and the identifier of the regular expression (regex) pattern that you want AWS WAF to search for. * If you specify DELETE for the value of Action, the RegexMatchTuple values must * exactly match the values in the RegexMatchTuple that you want to delete from the RegexMatchSet.

                                                              */ RegexMatchTuple: RegexMatchTuple | undefined; - - /** - *

                                                              Specifies whether to insert or delete a RegexMatchTuple.

                                                              - */ - Action: ChangeAction | string | undefined; } export namespace RegexMatchSetUpdate { @@ -6326,12 +6326,6 @@ export namespace RegexMatchSetUpdate { } export interface UpdateRegexMatchSetRequest { - /** - *

                                                              The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by - * ListRegexMatchSets.

                                                              - */ - RegexMatchSetId: string | undefined; - /** *

                                                              An array of RegexMatchSetUpdate objects that you want to insert into or delete from a RegexMatchSet. * For more information, see RegexMatchTuple.

                                                              @@ -6342,6 +6336,12 @@ export interface UpdateRegexMatchSetRequest { *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ ChangeToken: string | undefined; + + /** + *

                                                              The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by + * ListRegexMatchSets.

                                                              + */ + RegexMatchSetId: string | undefined; } export namespace UpdateRegexMatchSetRequest { @@ -6395,11 +6395,6 @@ export namespace RegexPatternSetUpdate { } export interface UpdateRegexPatternSetRequest { - /** - *

                                                              An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet.

                                                              - */ - Updates: RegexPatternSetUpdate[] | undefined; - /** *

                                                              The RegexPatternSetId of the RegexPatternSet that you want to update. RegexPatternSetId is returned by CreateRegexPatternSet and by * ListRegexPatternSets.

                                                              @@ -6410,6 +6405,11 @@ export interface UpdateRegexPatternSetRequest { *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ ChangeToken: string | undefined; + + /** + *

                                                              An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet.

                                                              + */ + Updates: RegexPatternSetUpdate[] | undefined; } export namespace UpdateRegexPatternSetRequest { @@ -6448,6 +6448,17 @@ export namespace WAFInvalidRegexPatternException { } export interface UpdateRuleRequest { + /** + *

                                                              The RuleId of the Rule that you want to update. RuleId is returned by + * CreateRule and by ListRules.

                                                              + */ + RuleId: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; + /** *

                                                              An array of RuleUpdate objects that you want to insert into or delete from a * Rule. For more information, see the applicable data types:

                                                              @@ -6470,17 +6481,6 @@ export interface UpdateRuleRequest { * */ Updates: RuleUpdate[] | undefined; - - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - - /** - *

                                                              The RuleId of the Rule that you want to update. RuleId is returned by - * CreateRule and by ListRules.

                                                              - */ - RuleId: string | undefined; } export namespace UpdateRuleRequest { @@ -6547,15 +6547,15 @@ export interface UpdateRuleGroupRequest { Updates: RuleGroupUpdate[] | undefined; /** - *

                                                              The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by - * ListRuleGroups.

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - RuleGroupId: string | undefined; + ChangeToken: string | undefined; /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + *

                                                              The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by + * ListRuleGroups.

                                                              */ - ChangeToken: string | undefined; + RuleGroupId: string | undefined; } export namespace UpdateRuleGroupRequest { @@ -6682,16 +6682,16 @@ export namespace UpdateSizeConstraintSetResponse { * add the specification to a SqlInjectionMatchSet or delete it from a SqlInjectionMatchSet.

                                                              */ export interface SqlInjectionMatchSetUpdate { - /** - *

                                                              Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

                                                              - */ - SqlInjectionMatchTuple: SqlInjectionMatchTuple | undefined; - /** *

                                                              Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet. * Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet.

                                                              */ Action: ChangeAction | string | undefined; + + /** + *

                                                              Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

                                                              + */ + SqlInjectionMatchTuple: SqlInjectionMatchTuple | undefined; } export namespace SqlInjectionMatchSetUpdate { @@ -6710,6 +6710,11 @@ export interface UpdateSqlInjectionMatchSetRequest { */ SqlInjectionMatchSetId: string | undefined; + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; + /** *

                                                              An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a * SqlInjectionMatchSet. For more information, see the applicable data types:

                                                              @@ -6732,11 +6737,6 @@ export interface UpdateSqlInjectionMatchSetRequest { * */ Updates: SqlInjectionMatchSetUpdate[] | undefined; - - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; } export namespace UpdateSqlInjectionMatchSetRequest { @@ -6794,6 +6794,12 @@ export namespace WebACLUpdate { } export interface UpdateWebACLRequest { + /** + *

                                                              A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default + * action if a request doesn't match the criteria in any of the rules in a web ACL.

                                                              + */ + DefaultAction?: WafAction; + /** *

                                                              The WebACLId of the WebACL that you want to update. WebACLId is returned by CreateWebACL and by * ListWebACLs.

                                                              @@ -6801,10 +6807,9 @@ export interface UpdateWebACLRequest { WebACLId: string | undefined; /** - *

                                                              A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default - * action if a request doesn't match the criteria in any of the rules in a web ACL.

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - DefaultAction?: WafAction; + ChangeToken: string | undefined; /** *

                                                              An array of updates to make to the WebACL.

                                                              @@ -6835,11 +6840,6 @@ export interface UpdateWebACLRequest { * */ Updates?: WebACLUpdate[]; - - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; } export namespace UpdateWebACLRequest { diff --git a/clients/client-waf/models/models_0.ts b/clients/client-waf/models/models_0.ts index b8d17ff5c2b1..681ef454da67 100644 --- a/clients/client-waf/models/models_0.ts +++ b/clients/client-waf/models/models_0.ts @@ -135,49 +135,13 @@ export interface ActivatedRule { OverrideAction?: WafOverrideAction; /** - *

                                                              An array of rules to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup.

                                                              - *

                                                              Sometimes it is necessary to troubleshoot rule groups that are blocking traffic - * unexpectedly (false positives). One troubleshooting technique is to identify the specific - * rule within the rule group that is blocking the legitimate traffic and then disable - * (exclude) that particular rule. You can exclude rules from both your own rule groups and - * AWS Marketplace rule groups that have been associated with a web ACL.

                                                              - *

                                                              Specifying ExcludedRules does not remove those rules from the rule group. - * Rather, it changes the action for the rules to COUNT. Therefore, requests that - * match an ExcludedRule are counted but not blocked. The RuleGroup - * owner will receive COUNT metrics for each ExcludedRule.

                                                              - *

                                                              If you want to exclude rules from a rule group that is already associated with a web ACL, perform the following steps:

                                                              - *
                                                                - *
                                                              1. - *

                                                                Use the AWS WAF logs to identify the IDs of the rules that you want to exclude. - * For more information about the logs, see Logging Web ACL Traffic - * Information.

                                                                - *
                                                              2. - *
                                                              3. - *

                                                                Submit an UpdateWebACL request that has two actions:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  The first action - * deletes - * the existing rule group from the web ACL. That is, in the UpdateWebACL request, the first Updates:Action - * should be DELETE and Updates:ActivatedRule:RuleId - * should be the rule group that contains the rules that you want to - * exclude.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  The second action - * inserts - * the same rule group back in, but specifying the rules to exclude. That is, the - * second Updates:Action should be INSERT, - * Updates:ActivatedRule:RuleId should be the rule group that you - * just removed, and ExcludedRules should contain the rules that you - * want to exclude.

                                                                  - *
                                                                • - *
                                                                - * - *
                                                              4. - *
                                                              + *

                                                              The RuleId for a Rule. You use RuleId to get more information about a Rule (see GetRule), + * update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a + * one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

                                                              + *

                                                              + * RuleId is returned by CreateRule and by ListRules.

                                                              */ - ExcludedRules?: ExcludedRule[]; + RuleId: string | undefined; /** *

                                                              The rule type, either REGULAR, as defined by Rule, RATE_BASED, as defined by RateBasedRule, or GROUP, as defined by RuleGroup. The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the UpdateWebACL request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist. @@ -221,13 +185,49 @@ export interface ActivatedRule { Priority: number | undefined; /** - *

                                                              The RuleId for a Rule. You use RuleId to get more information about a Rule (see GetRule), - * update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a - * one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

                                                              - *

                                                              - * RuleId is returned by CreateRule and by ListRules.

                                                              + *

                                                              An array of rules to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup.

                                                              + *

                                                              Sometimes it is necessary to troubleshoot rule groups that are blocking traffic + * unexpectedly (false positives). One troubleshooting technique is to identify the specific + * rule within the rule group that is blocking the legitimate traffic and then disable + * (exclude) that particular rule. You can exclude rules from both your own rule groups and + * AWS Marketplace rule groups that have been associated with a web ACL.

                                                              + *

                                                              Specifying ExcludedRules does not remove those rules from the rule group. + * Rather, it changes the action for the rules to COUNT. Therefore, requests that + * match an ExcludedRule are counted but not blocked. The RuleGroup + * owner will receive COUNT metrics for each ExcludedRule.

                                                              + *

                                                              If you want to exclude rules from a rule group that is already associated with a web ACL, perform the following steps:

                                                              + *
                                                                + *
                                                              1. + *

                                                                Use the AWS WAF logs to identify the IDs of the rules that you want to exclude. + * For more information about the logs, see Logging Web ACL Traffic + * Information.

                                                                + *
                                                              2. + *
                                                              3. + *

                                                                Submit an UpdateWebACL request that has two actions:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  The first action + * deletes + * the existing rule group from the web ACL. That is, in the UpdateWebACL request, the first Updates:Action + * should be DELETE and Updates:ActivatedRule:RuleId + * should be the rule group that contains the rules that you want to + * exclude.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  The second action + * inserts + * the same rule group back in, but specifying the rules to exclude. That is, the + * second Updates:Action should be INSERT, + * Updates:ActivatedRule:RuleId should be the rule group that you + * just removed, and ExcludedRules should contain the rules that you + * want to exclude.

                                                                  + *
                                                                • + *
                                                                + * + *
                                                              4. + *
                                                              */ - RuleId: string | undefined; + ExcludedRules?: ExcludedRule[]; } export namespace ActivatedRule { @@ -365,6 +365,55 @@ export enum TextTransformation { *

                                                              The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

                                                              */ export interface ByteMatchTuple { + /** + *

                                                              Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:

                                                              + *

                                                              + * CONTAINS + *

                                                              + *

                                                              The specified part of the web request must include the value of TargetString, but the location doesn't matter.

                                                              + *

                                                              + * CONTAINS_WORD + *

                                                              + *

                                                              The specified part of the web request must include the value of TargetString, and + * TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, + * TargetString must be a word, which means one of the following:

                                                              + *
                                                                + *
                                                              • + *

                                                                + * TargetString exactly matches the value of the specified part of the web request, such as the value of a + * header.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * TargetString is at the beginning of the specified part of the web request and is followed by a character + * other than an alphanumeric character or underscore (_), for example, BadBot;.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * TargetString is at the end of the specified part of the web request and is preceded by a character + * other than an alphanumeric character or underscore (_), for example, ;BadBot.

                                                                + *
                                                              • + *
                                                              • + *

                                                                + * TargetString is in the middle of the specified part of the web request and is preceded and followed + * by characters other than alphanumeric characters or underscore (_), for example, -BadBot;.

                                                                + *
                                                              • + *
                                                              + *

                                                              + * EXACTLY + *

                                                              + *

                                                              The value of the specified part of the web request must exactly match the value of TargetString.

                                                              + *

                                                              + * STARTS_WITH + *

                                                              + *

                                                              The value of TargetString must appear at the beginning of the specified part of the web request.

                                                              + *

                                                              + * ENDS_WITH + *

                                                              + *

                                                              The value of TargetString must appear at the end of the specified part of the web request.

                                                              + */ + PositionalConstraint: PositionalConstraint | string | undefined; + /** *

                                                              Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. * If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

                                                              @@ -463,6 +512,12 @@ export interface ByteMatchTuple { */ TextTransformation: TextTransformation | string | undefined; + /** + *

                                                              The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see + * FieldToMatch.

                                                              + */ + FieldToMatch: FieldToMatch | undefined; + /** *

                                                              The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you * specified in FieldToMatch. The maximum length of the value is 50 bytes.

                                                              @@ -528,61 +583,6 @@ export interface ByteMatchTuple { *

                                                              The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

                                                              */ TargetString: Uint8Array | undefined; - - /** - *

                                                              The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see - * FieldToMatch.

                                                              - */ - FieldToMatch: FieldToMatch | undefined; - - /** - *

                                                              Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:

                                                              - *

                                                              - * CONTAINS - *

                                                              - *

                                                              The specified part of the web request must include the value of TargetString, but the location doesn't matter.

                                                              - *

                                                              - * CONTAINS_WORD - *

                                                              - *

                                                              The specified part of the web request must include the value of TargetString, and - * TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, - * TargetString must be a word, which means one of the following:

                                                              - *
                                                                - *
                                                              • - *

                                                                - * TargetString exactly matches the value of the specified part of the web request, such as the value of a - * header.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * TargetString is at the beginning of the specified part of the web request and is followed by a character - * other than an alphanumeric character or underscore (_), for example, BadBot;.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * TargetString is at the end of the specified part of the web request and is preceded by a character - * other than an alphanumeric character or underscore (_), for example, ;BadBot.

                                                                - *
                                                              • - *
                                                              • - *

                                                                - * TargetString is in the middle of the specified part of the web request and is preceded and followed - * by characters other than alphanumeric characters or underscore (_), for example, -BadBot;.

                                                                - *
                                                              • - *
                                                              - *

                                                              - * EXACTLY - *

                                                              - *

                                                              The value of the specified part of the web request must exactly match the value of TargetString.

                                                              - *

                                                              - * STARTS_WITH - *

                                                              - *

                                                              The value of TargetString must appear at the beginning of the specified part of the web request.

                                                              - *

                                                              - * ENDS_WITH - *

                                                              - *

                                                              The value of TargetString must appear at the end of the specified part of the web request.

                                                              - */ - PositionalConstraint: PositionalConstraint | string | undefined; } export namespace ByteMatchTuple { @@ -637,15 +637,15 @@ export namespace ByteMatchSet { export interface CreateByteMatchSetResponse { /** - *

                                                              The ChangeToken that you used to submit the CreateByteMatchSet request. You can also use this value - * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              + *

                                                              A ByteMatchSet that contains no ByteMatchTuple objects.

                                                              */ - ChangeToken?: string; + ByteMatchSet?: ByteMatchSet; /** - *

                                                              A ByteMatchSet that contains no ByteMatchTuple objects.

                                                              + *

                                                              The ChangeToken that you used to submit the CreateByteMatchSet request. You can also use this value + * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              */ - ByteMatchSet?: ByteMatchSet; + ChangeToken?: string; } export namespace CreateByteMatchSetResponse { @@ -770,8 +770,8 @@ export interface WAFInvalidParameterException extends __SmithyException, $Metada name: "WAFInvalidParameterException"; $fault: "client"; parameter?: string; - field?: ParameterExceptionField | string; reason?: ParameterExceptionReason | string; + field?: ParameterExceptionField | string; } export namespace WAFInvalidParameterException { @@ -1344,15 +1344,28 @@ export namespace Tag { export interface CreateRateBasedRuleRequest { /** - *

                                                              A friendly name or description of the RateBasedRule. You can't - * change the name of a RateBasedRule after you create it.

                                                              + *

                                                              The field that AWS WAF uses to determine if requests are likely arriving from a single + * source and thus subject to rate monitoring. The only valid value for RateKey + * is IP. IP indicates that requests that arrive from the same IP + * address are subject to the RateLimit that is specified in + * the RateBasedRule.

                                                              */ - Name: string | undefined; + RateKey: RateKey | string | undefined; /** - *

                                                              + *

                                                              The ChangeToken that you used to submit the + * CreateRateBasedRule request. You can also use this value to query the + * status of the request. For more information, see GetChangeTokenStatus.

                                                              */ - Tags?: Tag[]; + ChangeToken: string | undefined; + + /** + *

                                                              The maximum number of requests, which have an identical value in the field that is + * specified by RateKey, allowed in a five-minute period. If the number of + * requests exceeds the RateLimit and the other predicates specified in the rule + * are also met, AWS WAF triggers the action that is specified for this rule.

                                                              + */ + RateLimit: number | undefined; /** *

                                                              A friendly name or description for the metrics for this RateBasedRule. @@ -1363,28 +1376,15 @@ export interface CreateRateBasedRuleRequest { MetricName: string | undefined; /** - *

                                                              The maximum number of requests, which have an identical value in the field that is - * specified by RateKey, allowed in a five-minute period. If the number of - * requests exceeds the RateLimit and the other predicates specified in the rule - * are also met, AWS WAF triggers the action that is specified for this rule.

                                                              + *

                                                              A friendly name or description of the RateBasedRule. You can't + * change the name of a RateBasedRule after you create it.

                                                              */ - RateLimit: number | undefined; + Name: string | undefined; /** - *

                                                              The field that AWS WAF uses to determine if requests are likely arriving from a single - * source and thus subject to rate monitoring. The only valid value for RateKey - * is IP. IP indicates that requests that arrive from the same IP - * address are subject to the RateLimit that is specified in - * the RateBasedRule.

                                                              + *

                                                              */ - RateKey: RateKey | string | undefined; - - /** - *

                                                              The ChangeToken that you used to submit the - * CreateRateBasedRule request. You can also use this value to query the - * status of the request. For more information, see GetChangeTokenStatus.

                                                              - */ - ChangeToken: string | undefined; + Tags?: Tag[]; } export namespace CreateRateBasedRuleRequest { @@ -1417,6 +1417,12 @@ export enum PredicateType { * NOT originate from the IP address 192.0.2.44.

                                                              */ export interface Predicate { + /** + *

                                                              A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. + * The ID is returned by the corresponding Create or List command.

                                                              + */ + DataId: string | undefined; + /** *

                                                              The type of predicate in a Rule, such as ByteMatch or IPSet.

                                                              */ @@ -1433,12 +1439,6 @@ export interface Predicate { * 192.0.2.44.

                                                              */ Negated: boolean | undefined; - - /** - *

                                                              A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. - * The ID is returned by the corresponding Create or List command.

                                                              - */ - DataId: string | undefined; } export namespace Predicate { @@ -1499,11 +1499,10 @@ export interface RateBasedRule { MatchPredicates: Predicate[] | undefined; /** - *

                                                              A unique identifier for a RateBasedRule. You use RuleId to - * get more information about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see UpdateRateBasedRule), insert a RateBasedRule into a - * WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF (see DeleteRateBasedRule).

                                                              + *

                                                              A friendly name or description for a RateBasedRule. You can't change the + * name of a RateBasedRule after you create it.

                                                              */ - RuleId: string | undefined; + Name?: string; /** *

                                                              The field that AWS WAF uses to determine if requests are likely arriving from single @@ -1515,10 +1514,11 @@ export interface RateBasedRule { RateKey: RateKey | string | undefined; /** - *

                                                              A friendly name or description for a RateBasedRule. You can't change the - * name of a RateBasedRule after you create it.

                                                              + *

                                                              A unique identifier for a RateBasedRule. You use RuleId to + * get more information about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see UpdateRateBasedRule), insert a RateBasedRule into a + * WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF (see DeleteRateBasedRule).

                                                              */ - Name?: string; + RuleId: string | undefined; } export namespace RateBasedRule { @@ -1528,18 +1528,18 @@ export namespace RateBasedRule { } export interface CreateRateBasedRuleResponse { - /** - *

                                                              The RateBasedRule - * that is returned in the CreateRateBasedRule response.

                                                              - */ - Rule?: RateBasedRule; - /** *

                                                              The ChangeToken that you used to submit the * CreateRateBasedRule request. You can also use this value to query the * status of the request. For more information, see GetChangeTokenStatus.

                                                              */ ChangeToken?: string; + + /** + *

                                                              The RateBasedRule + * that is returned in the CreateRateBasedRule response.

                                                              + */ + Rule?: RateBasedRule; } export namespace CreateRateBasedRuleResponse { @@ -1594,16 +1594,16 @@ export namespace WAFTagOperationInternalErrorException { } export interface CreateRegexMatchSetRequest { - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - /** *

                                                              A friendly name or description of the RegexMatchSet. You can't change Name after you create a * RegexMatchSet.

                                                              */ Name: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; } export namespace CreateRegexMatchSetRequest { @@ -1731,6 +1731,11 @@ export interface RegexMatchTuple { */ TextTransformation: TextTransformation | string | undefined; + /** + *

                                                              Specifies where in a web request to look for the RegexPatternSet.

                                                              + */ + FieldToMatch: FieldToMatch | undefined; + /** *

                                                              The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to get information about a * RegexPatternSet (see GetRegexPatternSet), update a RegexPatternSet (see UpdateRegexPatternSet), @@ -1740,11 +1745,6 @@ export interface RegexMatchTuple { * RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

                                                              */ RegexPatternSetId: string | undefined; - - /** - *

                                                              Specifies where in a web request to look for the RegexPatternSet.

                                                              - */ - FieldToMatch: FieldToMatch | undefined; } export namespace RegexMatchTuple { @@ -1769,12 +1769,6 @@ export namespace RegexMatchTuple { * to be considered a match.

                                                              */ export interface RegexMatchSet { - /** - *

                                                              A friendly name or description of the RegexMatchSet. You can't change Name after you create a - * RegexMatchSet.

                                                              - */ - Name?: string; - /** *

                                                              The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information about a * RegexMatchSet (see GetRegexMatchSet), update a RegexMatchSet (see UpdateRegexMatchSet), @@ -1801,6 +1795,12 @@ export interface RegexMatchSet { * */ RegexMatchTuples?: RegexMatchTuple[]; + + /** + *

                                                              A friendly name or description of the RegexMatchSet. You can't change Name after you create a + * RegexMatchSet.

                                                              + */ + Name?: string; } export namespace RegexMatchSet { @@ -1811,15 +1811,15 @@ export namespace RegexMatchSet { export interface CreateRegexMatchSetResponse { /** - *

                                                              The ChangeToken that you used to submit the CreateRegexMatchSet request. You can also use this value - * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              + *

                                                              A RegexMatchSet that contains no RegexMatchTuple objects.

                                                              */ - ChangeToken?: string; + RegexMatchSet?: RegexMatchSet; /** - *

                                                              A RegexMatchSet that contains no RegexMatchTuple objects.

                                                              + *

                                                              The ChangeToken that you used to submit the CreateRegexMatchSet request. You can also use this value + * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              */ - RegexMatchSet?: RegexMatchSet; + ChangeToken?: string; } export namespace CreateRegexMatchSetResponse { @@ -1830,15 +1830,15 @@ export namespace CreateRegexMatchSetResponse { export interface CreateRegexPatternSetRequest { /** - *

                                                              A friendly name or description of the RegexPatternSet. You can't change Name after you create a - * RegexPatternSet.

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - Name: string | undefined; + ChangeToken: string | undefined; /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + *

                                                              A friendly name or description of the RegexPatternSet. You can't change Name after you create a + * RegexPatternSet.

                                                              */ - ChangeToken: string | undefined; + Name: string | undefined; } export namespace CreateRegexPatternSetRequest { @@ -1859,6 +1859,14 @@ export namespace CreateRegexPatternSetRequest { *

                                                              The RegexPatternSet specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

                                                              */ export interface RegexPatternSet { + /** + *

                                                              The identifier for the RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, + * update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

                                                              + *

                                                              + * RegexMatchSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

                                                              + */ + RegexPatternSetId: string | undefined; + /** *

                                                              Specifies the regular expression (regex) patterns that you want AWS WAF to search for, such as B[a@]dB[o0]t.

                                                              */ @@ -1868,14 +1876,6 @@ export interface RegexPatternSet { *

                                                              A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

                                                              */ Name?: string; - - /** - *

                                                              The identifier for the RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, - * update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

                                                              - *

                                                              - * RegexMatchSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

                                                              - */ - RegexPatternSetId: string | undefined; } export namespace RegexPatternSet { @@ -1885,16 +1885,16 @@ export namespace RegexPatternSet { } export interface CreateRegexPatternSetResponse { - /** - *

                                                              A RegexPatternSet that contains no objects.

                                                              - */ - RegexPatternSet?: RegexPatternSet; - /** *

                                                              The ChangeToken that you used to submit the CreateRegexPatternSet request. You can also use this value * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              */ ChangeToken?: string; + + /** + *

                                                              A RegexPatternSet that contains no objects.

                                                              + */ + RegexPatternSet?: RegexPatternSet; } export namespace CreateRegexPatternSetResponse { @@ -1909,6 +1909,13 @@ export interface CreateRuleRequest { */ ChangeToken: string | undefined; + /** + *

                                                              A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain + * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the + * Rule.

                                                              + */ + MetricName: string | undefined; + /** *

                                                              */ @@ -1918,13 +1925,6 @@ export interface CreateRuleRequest { *

                                                              A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

                                                              */ Name: string | undefined; - - /** - *

                                                              A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain - * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the - * Rule.

                                                              - */ - MetricName: string | undefined; } export namespace CreateRuleRequest { @@ -1959,10 +1959,10 @@ export namespace CreateRuleRequest { */ export interface Rule { /** - *

                                                              The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or - * SqlInjectionMatchSet object that you want to include in a Rule.

                                                              + *

                                                              A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain + * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change MetricName after you create the Rule.

                                                              */ - Predicates: Predicate[] | undefined; + MetricName?: string; /** *

                                                              A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), @@ -1979,10 +1979,10 @@ export interface Rule { Name?: string; /** - *

                                                              A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain - * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change MetricName after you create the Rule.

                                                              + *

                                                              The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or + * SqlInjectionMatchSet object that you want to include in a Rule.

                                                              */ - MetricName?: string; + Predicates: Predicate[] | undefined; } export namespace Rule { @@ -1993,15 +1993,15 @@ export namespace Rule { export interface CreateRuleResponse { /** - *

                                                              The ChangeToken that you used to submit the CreateRule request. You can also use this value - * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              + *

                                                              The Rule returned in the CreateRule response.

                                                              */ - ChangeToken?: string; + Rule?: Rule; /** - *

                                                              The Rule returned in the CreateRule response.

                                                              + *

                                                              The ChangeToken that you used to submit the CreateRule request. You can also use this value + * to query the status of the request. For more information, see GetChangeTokenStatus.

                                                              */ - Rule?: Rule; + ChangeToken?: string; } export namespace CreateRuleResponse { @@ -2011,17 +2011,17 @@ export namespace CreateRuleResponse { } export interface CreateRuleGroupRequest { - /** - *

                                                              - */ - Tags?: Tag[]; - /** *

                                                              A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the RuleGroup.

                                                              */ MetricName: string | undefined; + /** + *

                                                              + */ + Tags?: Tag[]; + /** *

                                                              A friendly name or description of the RuleGroup. You can't change Name after you create a * RuleGroup.

                                                              @@ -2318,11 +2318,6 @@ export interface SizeConstraintSet { */ SizeConstraints: SizeConstraint[] | undefined; - /** - *

                                                              The name, if any, of the SizeConstraintSet.

                                                              - */ - Name?: string; - /** *

                                                              A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a * SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet @@ -2333,6 +2328,11 @@ export interface SizeConstraintSet { * SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

                                                              */ SizeConstraintSetId: string | undefined; + + /** + *

                                                              The name, if any, of the SizeConstraintSet.

                                                              + */ + Name?: string; } export namespace SizeConstraintSet { @@ -2364,16 +2364,16 @@ export namespace CreateSizeConstraintSetResponse { *

                                                              A request to create a SqlInjectionMatchSet.

                                                              */ export interface CreateSqlInjectionMatchSetRequest { - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - /** *

                                                              A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name * after you create the SqlInjectionMatchSet.

                                                              */ Name: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; } export namespace CreateSqlInjectionMatchSetRequest { @@ -2518,16 +2518,6 @@ export namespace SqlInjectionMatchTuple { * include snippets of SQL code in only one of the specified parts of the request to be considered a match.

                                                              */ export interface SqlInjectionMatchSet { - /** - *

                                                              The name, if any, of the SqlInjectionMatchSet.

                                                              - */ - Name?: string; - - /** - *

                                                              Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.

                                                              - */ - SqlInjectionMatchTuples: SqlInjectionMatchTuple[] | undefined; - /** *

                                                              A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a * SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet @@ -2538,6 +2528,16 @@ export interface SqlInjectionMatchSet { * SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

                                                              */ SqlInjectionMatchSetId: string | undefined; + + /** + *

                                                              Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.

                                                              + */ + SqlInjectionMatchTuples: SqlInjectionMatchTuple[] | undefined; + + /** + *

                                                              The name, if any, of the SqlInjectionMatchSet.

                                                              + */ + Name?: string; } export namespace SqlInjectionMatchSet { @@ -2575,27 +2575,27 @@ export interface CreateWebACLRequest { Name: string | undefined; /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + *

                                                              The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule + * objects that are associated with the WebACL.

                                                              */ - ChangeToken: string | undefined; + DefaultAction: WafAction | undefined; /** - *

                                                              A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain - * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change MetricName after you create the - * WebACL.

                                                              + *

                                                              */ - MetricName: string | undefined; + Tags?: Tag[]; /** - *

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - Tags?: Tag[]; + ChangeToken: string | undefined; /** - *

                                                              The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule - * objects that are associated with the WebACL.

                                                              + *

                                                              A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain + * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change MetricName after you create the + * WebACL.

                                                              */ - DefaultAction: WafAction | undefined; + MetricName: string | undefined; } export namespace CreateWebACLRequest { @@ -2627,37 +2627,37 @@ export interface WebACL { Name?: string; /** - *

                                                              An array that contains the action for each Rule in a WebACL, the priority of the Rule, - * and the ID of the Rule.

                                                              + *

                                                              A unique identifier for a WebACL. You use WebACLId to get information about a WebACL + * (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF + * (see DeleteWebACL).

                                                              + *

                                                              + * WebACLId is returned by CreateWebACL and by ListWebACLs.

                                                              */ - Rules: ActivatedRule[] | undefined; + WebACLId: string | undefined; + + /** + *

                                                              The action to perform if none of the Rules contained in the WebACL match. The action is specified by the + * WafAction object.

                                                              + */ + DefaultAction: WafAction | undefined; /** *

                                                              Tha Amazon Resource Name (ARN) of the web ACL.

                                                              */ WebACLArn?: string; + /** + *

                                                              An array that contains the action for each Rule in a WebACL, the priority of the Rule, + * and the ID of the Rule.

                                                              + */ + Rules: ActivatedRule[] | undefined; + /** *

                                                              A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change MetricName after you create the WebACL.

                                                              */ MetricName?: string; - - /** - *

                                                              The action to perform if none of the Rules contained in the WebACL match. The action is specified by the - * WafAction object.

                                                              - */ - DefaultAction: WafAction | undefined; - - /** - *

                                                              A unique identifier for a WebACL. You use WebACLId to get information about a WebACL - * (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF - * (see DeleteWebACL).

                                                              - *

                                                              - * WebACLId is returned by CreateWebACL and by ListWebACLs.

                                                              - */ - WebACLId: string | undefined; -} +} export namespace WebACL { export const filterSensitiveLog = (obj: WebACL): any => ({ @@ -2876,11 +2876,6 @@ export namespace CreateXssMatchSetRequest { *

                                                              Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

                                                              */ export interface XssMatchTuple { - /** - *

                                                              Specifies where in a web request to look for cross-site scripting attacks.

                                                              - */ - FieldToMatch: FieldToMatch | undefined; - /** *

                                                              Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. * If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

                                                              @@ -2977,6 +2972,11 @@ export interface XssMatchTuple { *

                                                              Specify NONE if you don't want to perform any text transformations.

                                                              */ TextTransformation: TextTransformation | string | undefined; + + /** + *

                                                              Specifies where in a web request to look for cross-site scripting attacks.

                                                              + */ + FieldToMatch: FieldToMatch | undefined; } export namespace XssMatchTuple { @@ -3000,11 +3000,6 @@ export namespace XssMatchTuple { * include cross-site scripting attacks in only one of the specified parts of the request to be considered a match.

                                                              */ export interface XssMatchSet { - /** - *

                                                              Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.

                                                              - */ - XssMatchTuples: XssMatchTuple[] | undefined; - /** *

                                                              The name, if any, of the XssMatchSet.

                                                              */ @@ -3020,6 +3015,11 @@ export interface XssMatchSet { * XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

                                                              */ XssMatchSetId: string | undefined; + + /** + *

                                                              Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.

                                                              + */ + XssMatchTuples: XssMatchTuple[] | undefined; } export namespace XssMatchSet { @@ -3137,16 +3137,16 @@ export namespace WAFReferencedItemException { } export interface DeleteGeoMatchSetRequest { - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - /** *

                                                              The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId is returned by CreateGeoMatchSet and by * ListGeoMatchSets.

                                                              */ GeoMatchSetId: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; } export namespace DeleteGeoMatchSetRequest { @@ -3246,17 +3246,17 @@ export namespace DeletePermissionPolicyResponse { } export interface DeleteRateBasedRuleRequest { + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; + /** *

                                                              The RuleId of the RateBasedRule that you want to * delete. RuleId is returned by CreateRateBasedRule and by * ListRateBasedRules.

                                                              */ RuleId: string | undefined; - - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; } export namespace DeleteRateBasedRuleRequest { @@ -3282,15 +3282,15 @@ export namespace DeleteRateBasedRuleResponse { export interface DeleteRegexMatchSetRequest { /** - *

                                                              The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by - * ListRegexMatchSets.

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - RegexMatchSetId: string | undefined; + ChangeToken: string | undefined; /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + *

                                                              The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by + * ListRegexMatchSets.

                                                              */ - ChangeToken: string | undefined; + RegexMatchSetId: string | undefined; } export namespace DeleteRegexMatchSetRequest { @@ -3314,16 +3314,16 @@ export namespace DeleteRegexMatchSetResponse { } export interface DeleteRegexPatternSetRequest { - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - /** *

                                                              The RegexPatternSetId of the RegexPatternSet that you want to delete. RegexPatternSetId is returned by CreateRegexPatternSet and by * ListRegexPatternSets.

                                                              */ RegexPatternSetId: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; } export namespace DeleteRegexPatternSetRequest { @@ -3347,16 +3347,16 @@ export namespace DeleteRegexPatternSetResponse { } export interface DeleteRuleRequest { - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - /** *

                                                              The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by * ListRules.

                                                              */ RuleId: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; } export namespace DeleteRuleRequest { @@ -3414,15 +3414,15 @@ export namespace DeleteRuleGroupResponse { export interface DeleteSizeConstraintSetRequest { /** - *

                                                              The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId - * is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - SizeConstraintSetId: string | undefined; + ChangeToken: string | undefined; /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + *

                                                              The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId + * is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

                                                              */ - ChangeToken: string | undefined; + SizeConstraintSetId: string | undefined; } export namespace DeleteSizeConstraintSetRequest { @@ -3845,16 +3845,16 @@ export namespace GetRateBasedRuleResponse { } export interface GetRateBasedRuleManagedKeysRequest { - /** - *

                                                              A null value and not currently used. Do not include this in your request.

                                                              - */ - NextMarker?: string; - /** *

                                                              The RuleId of the RateBasedRule for which you want to * get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

                                                              */ RuleId: string | undefined; + + /** + *

                                                              A null value and not currently used. Do not include this in your request.

                                                              + */ + NextMarker?: string; } export namespace GetRateBasedRuleManagedKeysRequest { @@ -3865,14 +3865,14 @@ export namespace GetRateBasedRuleManagedKeysRequest { export interface GetRateBasedRuleManagedKeysResponse { /** - *

                                                              An array of IP addresses that currently are blocked by the specified RateBasedRule.

                                                              + *

                                                              A null value and not currently used.

                                                              */ - ManagedKeys?: string[]; + NextMarker?: string; /** - *

                                                              A null value and not currently used.

                                                              + *

                                                              An array of IP addresses that currently are blocked by the specified RateBasedRule.

                                                              */ - NextMarker?: string; + ManagedKeys?: string[]; } export namespace GetRateBasedRuleManagedKeysResponse { @@ -4025,20 +4025,20 @@ export namespace GetRuleGroupResponse { */ export interface TimeWindow { /** - *

                                                              The beginning of the time range from which you want GetSampledRequests to return a sample of the + *

                                                              The end of the time range from which you want GetSampledRequests to return a sample of the * requests that your AWS resource received. You must specify the date and time in Coordinated Universal Time (UTC) format. * UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". * You can specify any time range in the previous three hours.

                                                              */ - StartTime: Date | undefined; + EndTime: Date | undefined; /** - *

                                                              The end of the time range from which you want GetSampledRequests to return a sample of the + *

                                                              The beginning of the time range from which you want GetSampledRequests to return a sample of the * requests that your AWS resource received. You must specify the date and time in Coordinated Universal Time (UTC) format. * UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". * You can specify any time range in the previous three hours.

                                                              */ - EndTime: Date | undefined; + StartTime: Date | undefined; } export namespace TimeWindow { @@ -4048,13 +4048,6 @@ export namespace TimeWindow { } export interface GetSampledRequestsRequest { - /** - *

                                                              The start date and time and the end date and time of the range for which you want GetSampledRequests to return a - * sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special - * designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

                                                              - */ - TimeWindow: TimeWindow | undefined; - /** *

                                                              The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests.

                                                              */ @@ -4082,6 +4075,13 @@ export interface GetSampledRequestsRequest { * returns information about all of them.

                                                              */ MaxItems: number | undefined; + + /** + *

                                                              The start date and time and the end date and time of the range for which you want GetSampledRequests to return a + * sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special + * designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

                                                              + */ + TimeWindow: TimeWindow | undefined; } export namespace GetSampledRequestsRequest { @@ -4147,15 +4147,15 @@ export interface HTTPRequest { Headers?: HTTPHeader[]; /** - *

                                                              The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE, - * GET, HEAD, OPTIONS, PATCH, POST, and PUT.

                                                              + *

                                                              The HTTP version specified in the sampled web request, for example, HTTP/1.1.

                                                              */ - Method?: string; + HTTPVersion?: string; /** - *

                                                              The HTTP version specified in the sampled web request, for example, HTTP/1.1.

                                                              + *

                                                              The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE, + * GET, HEAD, OPTIONS, PATCH, POST, and PUT.

                                                              */ - HTTPVersion?: string; + Method?: string; /** *

                                                              The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, @@ -4199,16 +4199,6 @@ export namespace HTTPRequest { * SampledHTTPRequest object for each web request that is returned by GetSampledRequests.

                                                              */ export interface SampledHTTPRequest { - /** - *

                                                              A complex type that contains detailed information about the request.

                                                              - */ - Request: HTTPRequest | undefined; - - /** - *

                                                              The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

                                                              - */ - Timestamp?: Date; - /** *

                                                              The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT.

                                                              */ @@ -4225,6 +4215,16 @@ export interface SampledHTTPRequest { *

                                                              This value is returned if the GetSampledRequests request specifies the ID of a RuleGroup rather than the ID of an individual rule. RuleWithinRuleGroup is the rule within the specified RuleGroup that matched the request listed in the response.

                                                              */ RuleWithinRuleGroup?: string; + + /** + *

                                                              The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

                                                              + */ + Timestamp?: Date; + + /** + *

                                                              A complex type that contains detailed information about the request.

                                                              + */ + Request: HTTPRequest | undefined; } export namespace SampledHTTPRequest { @@ -4241,17 +4241,17 @@ export interface GetSampledRequestsResponse { */ TimeWindow?: TimeWindow; - /** - *

                                                              A complex type that contains detailed information about each of the requests in the sample.

                                                              - */ - SampledRequests?: SampledHTTPRequest[]; - /** *

                                                              The total number of requests from which GetSampledRequests got a sample of MaxItems requests. * If PopulationSize is less than MaxItems, the sample includes every request that your AWS resource * received during the specified time range.

                                                              */ PopulationSize?: number; + + /** + *

                                                              A complex type that contains detailed information about each of the requests in the sample.

                                                              + */ + SampledRequests?: SampledHTTPRequest[]; } export namespace GetSampledRequestsResponse { @@ -4465,9 +4465,12 @@ export namespace GetXssMatchSetResponse { export interface ListActivatedRulesInRuleGroupRequest { /** - *

                                                              The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects.

                                                              + *

                                                              If you specify a value for Limit and you have more ActivatedRules than the value of Limit, + * AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. + * For the second and subsequent ListActivatedRulesInRuleGroup requests, specify the value of NextMarker + * from the previous response to get information about another batch of ActivatedRules.

                                                              */ - RuleGroupId?: string; + NextMarker?: string; /** *

                                                              Specifies the number of ActivatedRules that you want AWS WAF to return for this request. If you have more ActivatedRules than the number that you specify for Limit, the response includes a @@ -4476,12 +4479,9 @@ export interface ListActivatedRulesInRuleGroupRequest { Limit?: number; /** - *

                                                              If you specify a value for Limit and you have more ActivatedRules than the value of Limit, - * AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. - * For the second and subsequent ListActivatedRulesInRuleGroup requests, specify the value of NextMarker - * from the previous response to get information about another batch of ActivatedRules.

                                                              + *

                                                              The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects.

                                                              */ - NextMarker?: string; + RuleGroupId?: string; } export namespace ListActivatedRulesInRuleGroupRequest { @@ -4509,6 +4509,13 @@ export namespace ListActivatedRulesInRuleGroupResponse { } export interface ListByteMatchSetsRequest { + /** + *

                                                              Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more + * ByteMatchSets objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of ByteMatchSet objects.

                                                              + */ + Limit?: number; + /** *

                                                              If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, * AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. @@ -4516,13 +4523,6 @@ export interface ListByteMatchSetsRequest { * from the previous response to get information about another batch of ByteMatchSets.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more - * ByteMatchSets objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of ByteMatchSet objects.

                                                              - */ - Limit?: number; } export namespace ListByteMatchSetsRequest { @@ -4544,11 +4544,6 @@ export namespace ListByteMatchSetsRequest { * ByteMatchSetId for one ByteMatchSet.

                                                              */ export interface ByteMatchSetSummary { - /** - *

                                                              A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

                                                              - */ - Name: string | undefined; - /** *

                                                              The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet, * update a ByteMatchSet, remove a ByteMatchSet from a Rule, and delete a ByteMatchSet from AWS WAF.

                                                              @@ -4556,6 +4551,11 @@ export interface ByteMatchSetSummary { * ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

                                                              */ ByteMatchSetId: string | undefined; + + /** + *

                                                              A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

                                                              + */ + Name: string | undefined; } export namespace ByteMatchSetSummary { @@ -4565,6 +4565,11 @@ export namespace ByteMatchSetSummary { } export interface ListByteMatchSetsResponse { + /** + *

                                                              An array of ByteMatchSetSummary objects.

                                                              + */ + ByteMatchSets?: ByteMatchSetSummary[]; + /** *

                                                              If you have more ByteMatchSet objects than the number that you specified for Limit in the request, * the response includes a NextMarker value. To list more ByteMatchSet objects, submit another @@ -4572,11 +4577,6 @@ export interface ListByteMatchSetsResponse { * NextMarker value in the next request.

                                                              */ NextMarker?: string; - - /** - *

                                                              An array of ByteMatchSetSummary objects.

                                                              - */ - ByteMatchSets?: ByteMatchSetSummary[]; } export namespace ListByteMatchSetsResponse { @@ -4586,6 +4586,13 @@ export namespace ListByteMatchSetsResponse { } export interface ListGeoMatchSetsRequest { + /** + *

                                                              Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more + * GeoMatchSet objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of GeoMatchSet objects.

                                                              + */ + Limit?: number; + /** *

                                                              If you specify a value for Limit and you have more GeoMatchSets than the value of Limit, * AWS WAF returns a NextMarker value in the response that allows you to list another group of GeoMatchSet objects. @@ -4593,13 +4600,6 @@ export interface ListGeoMatchSetsRequest { * from the previous response to get information about another batch of GeoMatchSet objects.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more - * GeoMatchSet objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of GeoMatchSet objects.

                                                              - */ - Limit?: number; } export namespace ListGeoMatchSetsRequest { @@ -4659,6 +4659,13 @@ export namespace ListGeoMatchSetsResponse { } export interface ListIPSetsRequest { + /** + *

                                                              Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more + * IPSet objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of IPSet objects.

                                                              + */ + Limit?: number; + /** *

                                                              AWS WAF returns a NextMarker value in the response that allows you to * list another group of IPSets. For the second and subsequent @@ -4666,13 +4673,6 @@ export interface ListIPSetsRequest { * previous response to get information about another batch of IPSets.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more - * IPSet objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of IPSet objects.

                                                              - */ - Limit?: number; } export namespace ListIPSetsRequest { @@ -4693,16 +4693,16 @@ export namespace ListIPSetsRequest { *

                                                              Contains the identifier and the name of the IPSet.

                                                              */ export interface IPSetSummary { - /** - *

                                                              A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

                                                              - */ - Name: string | undefined; - /** *

                                                              The IPSetId for an IPSet. You can use IPSetId in a GetIPSet request to get detailed * information about an IPSet.

                                                              */ IPSetId: string | undefined; + + /** + *

                                                              A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

                                                              + */ + Name: string | undefined; } export namespace IPSetSummary { @@ -4754,14 +4754,14 @@ export namespace ListLoggingConfigurationsRequest { export interface ListLoggingConfigurationsResponse { /** - *

                                                              An array of LoggingConfiguration objects.

                                                              + *

                                                              If you have more LoggingConfigurations than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more LoggingConfigurations, submit another ListLoggingConfigurations request, and specify the NextMarker value from the response in the NextMarker value in the next request.

                                                              */ - LoggingConfigurations?: LoggingConfiguration[]; + NextMarker?: string; /** - *

                                                              If you have more LoggingConfigurations than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more LoggingConfigurations, submit another ListLoggingConfigurations request, and specify the NextMarker value from the response in the NextMarker value in the next request.

                                                              + *

                                                              An array of LoggingConfiguration objects.

                                                              */ - NextMarker?: string; + LoggingConfigurations?: LoggingConfiguration[]; } export namespace ListLoggingConfigurationsResponse { @@ -4808,6 +4808,11 @@ export namespace ListRateBasedRulesRequest { *

                                                              Contains the identifier and the friendly name or description of the Rule.

                                                              */ export interface RuleSummary { + /** + *

                                                              A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

                                                              + */ + Name: string | undefined; + /** *

                                                              A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), * update a Rule (see UpdateRule), insert a Rule into a WebACL or delete @@ -4816,11 +4821,6 @@ export interface RuleSummary { * RuleId is returned by CreateRule and by ListRules.

                                                              */ RuleId: string | undefined; - - /** - *

                                                              A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

                                                              - */ - Name: string | undefined; } export namespace RuleSummary { @@ -4830,6 +4830,11 @@ export namespace RuleSummary { } export interface ListRateBasedRulesResponse { + /** + *

                                                              An array of RuleSummary objects.

                                                              + */ + Rules?: RuleSummary[]; + /** *

                                                              If you have more Rules than the number that you specified for * Limit in the request, the response includes a NextMarker @@ -4838,11 +4843,6 @@ export interface ListRateBasedRulesResponse { * NextMarker value in the next request.

                                                              */ NextMarker?: string; - - /** - *

                                                              An array of RuleSummary objects.

                                                              - */ - Rules?: RuleSummary[]; } export namespace ListRateBasedRulesResponse { @@ -4908,6 +4908,11 @@ export namespace RegexMatchSetSummary { } export interface ListRegexMatchSetsResponse { + /** + *

                                                              An array of RegexMatchSetSummary objects.

                                                              + */ + RegexMatchSets?: RegexMatchSetSummary[]; + /** *

                                                              If you have more RegexMatchSet objects than the number that you specified for Limit in the request, * the response includes a NextMarker value. To list more RegexMatchSet objects, submit another @@ -4915,11 +4920,6 @@ export interface ListRegexMatchSetsResponse { * NextMarker value in the next request.

                                                              */ NextMarker?: string; - - /** - *

                                                              An array of RegexMatchSetSummary objects.

                                                              - */ - RegexMatchSets?: RegexMatchSetSummary[]; } export namespace ListRegexMatchSetsResponse { @@ -4929,6 +4929,13 @@ export namespace ListRegexMatchSetsResponse { } export interface ListRegexPatternSetsRequest { + /** + *

                                                              Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more + * RegexPatternSet objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of RegexPatternSet objects.

                                                              + */ + Limit?: number; + /** *

                                                              If you specify a value for Limit and you have more RegexPatternSet objects than the value of Limit, * AWS WAF returns a NextMarker value in the response that allows you to list another group of RegexPatternSet objects. @@ -4936,13 +4943,6 @@ export interface ListRegexPatternSetsRequest { * from the previous response to get information about another batch of RegexPatternSet objects.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more - * RegexPatternSet objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of RegexPatternSet objects.

                                                              - */ - Limit?: number; } export namespace ListRegexPatternSetsRequest { @@ -5006,6 +5006,11 @@ export namespace ListRegexPatternSetsResponse { } export interface ListRuleGroupsRequest { + /** + *

                                                              Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RuleGroups.

                                                              + */ + Limit?: number; + /** *

                                                              If you specify a value for Limit and you have more RuleGroups than the value of Limit, * AWS WAF returns a NextMarker value in the response that allows you to list another group of RuleGroups. @@ -5013,11 +5018,6 @@ export interface ListRuleGroupsRequest { * from the previous response to get information about another batch of RuleGroups.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RuleGroups.

                                                              - */ - Limit?: number; } export namespace ListRuleGroupsRequest { @@ -5038,6 +5038,11 @@ export namespace ListRuleGroupsRequest { *

                                                              Contains the identifier and the friendly name or description of the RuleGroup.

                                                              */ export interface RuleGroupSummary { + /** + *

                                                              A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

                                                              + */ + Name: string | undefined; + /** *

                                                              A unique identifier for a RuleGroup. You use RuleGroupId to get more information about a RuleGroup (see GetRuleGroup), * update a RuleGroup (see UpdateRuleGroup), insert a RuleGroup into a WebACL or delete @@ -5046,11 +5051,6 @@ export interface RuleGroupSummary { * RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

                                                              */ RuleGroupId: string | undefined; - - /** - *

                                                              A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

                                                              - */ - Name: string | undefined; } export namespace RuleGroupSummary { @@ -5100,17 +5100,17 @@ export namespace ListRulesRequest { } export interface ListRulesResponse { - /** - *

                                                              An array of RuleSummary objects.

                                                              - */ - Rules?: RuleSummary[]; - /** *

                                                              If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another * ListRules request, and specify the NextMarker value from the response in the * NextMarker value in the next request.

                                                              */ NextMarker?: string; + + /** + *

                                                              An array of RuleSummary objects.

                                                              + */ + Rules?: RuleSummary[]; } export namespace ListRulesResponse { @@ -5153,6 +5153,11 @@ export namespace ListSizeConstraintSetsRequest { *

                                                              The Id and Name of a SizeConstraintSet.

                                                              */ export interface SizeConstraintSetSummary { + /** + *

                                                              The name of the SizeConstraintSet, if any.

                                                              + */ + Name: string | undefined; + /** *

                                                              A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a * SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet @@ -5163,11 +5168,6 @@ export interface SizeConstraintSetSummary { * SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

                                                              */ SizeConstraintSetId: string | undefined; - - /** - *

                                                              The name of the SizeConstraintSet, if any.

                                                              - */ - Name: string | undefined; } export namespace SizeConstraintSetSummary { @@ -5235,11 +5235,6 @@ export namespace ListSqlInjectionMatchSetsRequest { *

                                                              The Id and Name of a SqlInjectionMatchSet.

                                                              */ export interface SqlInjectionMatchSetSummary { - /** - *

                                                              The name of the SqlInjectionMatchSet, if any, specified by Id.

                                                              - */ - Name: string | undefined; - /** *

                                                              A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a * SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet @@ -5250,6 +5245,11 @@ export interface SqlInjectionMatchSetSummary { * SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

                                                              */ SqlInjectionMatchSetId: string | undefined; + + /** + *

                                                              The name of the SqlInjectionMatchSet, if any, specified by Id.

                                                              + */ + Name: string | undefined; } export namespace SqlInjectionMatchSetSummary { @@ -5262,11 +5262,6 @@ export namespace SqlInjectionMatchSetSummary { *

                                                              The response to a ListSqlInjectionMatchSets request.

                                                              */ export interface ListSqlInjectionMatchSetsResponse { - /** - *

                                                              An array of SqlInjectionMatchSetSummary objects.

                                                              - */ - SqlInjectionMatchSets?: SqlInjectionMatchSetSummary[]; - /** *

                                                              If you have more SqlInjectionMatchSet objects than the number that you specified for Limit in the request, * the response includes a NextMarker value. To list more SqlInjectionMatchSet objects, submit another @@ -5274,22 +5269,20 @@ export interface ListSqlInjectionMatchSetsResponse { * NextMarker value in the next request.

                                                              */ NextMarker?: string; -} - -export namespace ListSqlInjectionMatchSetsResponse { - export const filterSensitiveLog = (obj: ListSqlInjectionMatchSetsResponse): any => ({ - ...obj, - }); -} -export interface ListSubscribedRuleGroupsRequest { /** - *

                                                              Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more - * objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of objects.

                                                              + *

                                                              An array of SqlInjectionMatchSetSummary objects.

                                                              */ - Limit?: number; + SqlInjectionMatchSets?: SqlInjectionMatchSetSummary[]; +} + +export namespace ListSqlInjectionMatchSetsResponse { + export const filterSensitiveLog = (obj: ListSqlInjectionMatchSetsResponse): any => ({ + ...obj, + }); +} +export interface ListSubscribedRuleGroupsRequest { /** *

                                                              If you specify a value for Limit and you have more ByteMatchSetssubscribed rule groups than the value of Limit, * AWS WAF returns a NextMarker value in the response that allows you to list another group of subscribed rule groups. @@ -5297,6 +5290,13 @@ export interface ListSubscribedRuleGroupsRequest { * from the previous response to get information about another batch of subscribed rule groups.

                                                              */ NextMarker?: string; + + /** + *

                                                              Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more + * objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of objects.

                                                              + */ + Limit?: number; } export namespace ListSubscribedRuleGroupsRequest { @@ -5323,15 +5323,15 @@ export interface SubscribedRuleGroupSummary { Name: string | undefined; /** - *

                                                              A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain - * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the RuleGroup.

                                                              + *

                                                              A unique identifier for a RuleGroup.

                                                              */ - MetricName: string | undefined; + RuleGroupId: string | undefined; /** - *

                                                              A unique identifier for a RuleGroup.

                                                              + *

                                                              A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain + * whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the RuleGroup.

                                                              */ - RuleGroupId: string | undefined; + MetricName: string | undefined; } export namespace SubscribedRuleGroupSummary { @@ -5365,7 +5365,7 @@ export interface ListTagsForResourceRequest { /** *

                                                              */ - NextMarker?: string; + Limit?: number; /** *

                                                              @@ -5375,7 +5375,7 @@ export interface ListTagsForResourceRequest { /** *

                                                              */ - Limit?: number; + NextMarker?: string; } export namespace ListTagsForResourceRequest { @@ -5418,12 +5418,12 @@ export interface ListTagsForResourceResponse { /** *

                                                              */ - TagInfoForResource?: TagInfoForResource; + NextMarker?: string; /** *

                                                              */ - NextMarker?: string; + TagInfoForResource?: TagInfoForResource; } export namespace ListTagsForResourceResponse { @@ -5489,11 +5489,6 @@ export namespace WebACLSummary { } export interface ListWebACLsResponse { - /** - *

                                                              An array of WebACLSummary objects.

                                                              - */ - WebACLs?: WebACLSummary[]; - /** *

                                                              If you have more WebACL objects than the number that you specified for Limit in the request, * the response includes a NextMarker value. To list more WebACL objects, submit another @@ -5501,6 +5496,11 @@ export interface ListWebACLsResponse { * NextMarker value in the next request.

                                                              */ NextMarker?: string; + + /** + *

                                                              An array of WebACLSummary objects.

                                                              + */ + WebACLs?: WebACLSummary[]; } export namespace ListWebACLsResponse { @@ -5513,6 +5513,13 @@ export namespace ListWebACLsResponse { *

                                                              A request to list the XssMatchSet objects created by the current AWS account.

                                                              */ export interface ListXssMatchSetsRequest { + /** + *

                                                              Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more + * XssMatchSet objects than the number you specify for Limit, the response includes a + * NextMarker value that you can use to get another batch of Rules.

                                                              + */ + Limit?: number; + /** *

                                                              If you specify a value for Limit and you have more XssMatchSet objects than the value of * Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of @@ -5520,13 +5527,6 @@ export interface ListXssMatchSetsRequest { * value of NextMarker from the previous response to get information about another batch of XssMatchSets.

                                                              */ NextMarker?: string; - - /** - *

                                                              Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more - * XssMatchSet objects than the number you specify for Limit, the response includes a - * NextMarker value that you can use to get another batch of Rules.

                                                              - */ - Limit?: number; } export namespace ListXssMatchSetsRequest { @@ -5644,14 +5644,14 @@ export namespace WAFServiceLinkedRoleErrorException { export interface PutPermissionPolicyRequest { /** - *

                                                              The policy to attach to the specified RuleGroup.

                                                              + *

                                                              The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

                                                              */ - Policy: string | undefined; + ResourceArn: string | undefined; /** - *

                                                              The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

                                                              + *

                                                              The policy to attach to the specified RuleGroup.

                                                              */ - ResourceArn: string | undefined; + Policy: string | undefined; } export namespace PutPermissionPolicyRequest { @@ -5742,12 +5742,12 @@ export interface UntagResourceRequest { /** *

                                                              */ - TagKeys: string[] | undefined; + ResourceARN: string | undefined; /** *

                                                              */ - ResourceARN: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -5782,17 +5782,17 @@ export enum ChangeAction { * ByteMatchTuple and includes the settings for the ByteMatchTuple.

                                                              */ export interface ByteMatchSetUpdate { - /** - *

                                                              Specifies whether to insert or delete a ByteMatchTuple.

                                                              - */ - Action: ChangeAction | string | undefined; - /** *

                                                              Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. * If you specify DELETE for the value of Action, the ByteMatchTuple values must * exactly match the values in the ByteMatchTuple that you want to delete from the ByteMatchSet.

                                                              */ ByteMatchTuple: ByteMatchTuple | undefined; + + /** + *

                                                              Specifies whether to insert or delete a ByteMatchTuple.

                                                              + */ + Action: ChangeAction | string | undefined; } export namespace ByteMatchSetUpdate { @@ -5802,6 +5802,17 @@ export namespace ByteMatchSetUpdate { } export interface UpdateByteMatchSetRequest { + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; + + /** + *

                                                              The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by + * ListByteMatchSets.

                                                              + */ + ByteMatchSetId: string | undefined; + /** *

                                                              An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. * For more information, see the applicable data types:

                                                              @@ -5825,17 +5836,6 @@ export interface UpdateByteMatchSetRequest { * */ Updates: ByteMatchSetUpdate[] | undefined; - - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - - /** - *

                                                              The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by - * ListByteMatchSets.

                                                              - */ - ByteMatchSetId: string | undefined; } export namespace UpdateByteMatchSetRequest { @@ -5901,14 +5901,14 @@ export namespace WAFNonexistentContainerException { */ export interface GeoMatchSetUpdate { /** - *

                                                              Specifies whether to insert or delete a country with UpdateGeoMatchSet.

                                                              + *

                                                              The country from which web requests originate that you want AWS WAF to search for.

                                                              */ - Action: ChangeAction | string | undefined; + GeoMatchConstraint: GeoMatchConstraint | undefined; /** - *

                                                              The country from which web requests originate that you want AWS WAF to search for.

                                                              + *

                                                              Specifies whether to insert or delete a country with UpdateGeoMatchSet.

                                                              */ - GeoMatchConstraint: GeoMatchConstraint | undefined; + Action: ChangeAction | string | undefined; } export namespace GeoMatchSetUpdate { @@ -5918,6 +5918,12 @@ export namespace GeoMatchSetUpdate { } export interface UpdateGeoMatchSetRequest { + /** + *

                                                              The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by + * ListGeoMatchSets.

                                                              + */ + GeoMatchSetId: string | undefined; + /** *

                                                              An array of GeoMatchSetUpdate objects that you want to insert into or delete from an GeoMatchSet. * For more information, see the applicable data types:

                                                              @@ -5941,12 +5947,6 @@ export interface UpdateGeoMatchSetRequest { *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ ChangeToken: string | undefined; - - /** - *

                                                              The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by - * ListGeoMatchSets.

                                                              - */ - GeoMatchSetId: string | undefined; } export namespace UpdateGeoMatchSetRequest { @@ -5999,12 +5999,6 @@ export namespace IPSetUpdate { } export interface UpdateIPSetRequest { - /** - *

                                                              The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by - * ListIPSets.

                                                              - */ - IPSetId: string | undefined; - /** *

                                                              An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. * For more information, see the applicable data types:

                                                              @@ -6024,6 +6018,12 @@ export interface UpdateIPSetRequest { */ Updates: IPSetUpdate[] | undefined; + /** + *

                                                              The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by + * ListIPSets.

                                                              + */ + IPSetId: string | undefined; + /** *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ @@ -6063,16 +6063,16 @@ export namespace UpdateIPSetResponse { * Rule or delete it from a Rule.

                                                              */ export interface RuleUpdate { - /** - *

                                                              The ID of the Predicate (such as an IPSet) that you want to add to a Rule.

                                                              - */ - Predicate: Predicate | undefined; - /** *

                                                              Specify INSERT to add a Predicate to a Rule. Use DELETE to remove a * Predicate from a Rule.

                                                              */ Action: ChangeAction | string | undefined; + + /** + *

                                                              The ID of the Predicate (such as an IPSet) that you want to add to a Rule.

                                                              + */ + Predicate: Predicate | undefined; } export namespace RuleUpdate { @@ -6083,12 +6083,10 @@ export namespace RuleUpdate { export interface UpdateRateBasedRuleRequest { /** - *

                                                              The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a - * five-minute period. If the number of requests exceeds the RateLimit and the other - * predicates specified in the rule are also met, - * AWS WAF triggers the action that is specified for this rule.

                                                              + *

                                                              An array of RuleUpdate objects that you want to insert into or delete + * from a RateBasedRule.

                                                              */ - RateLimit: number | undefined; + Updates: RuleUpdate[] | undefined; /** *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              @@ -6102,10 +6100,12 @@ export interface UpdateRateBasedRuleRequest { RuleId: string | undefined; /** - *

                                                              An array of RuleUpdate objects that you want to insert into or delete - * from a RateBasedRule.

                                                              + *

                                                              The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a + * five-minute period. If the number of requests exceeds the RateLimit and the other + * predicates specified in the rule are also met, + * AWS WAF triggers the action that is specified for this rule.

                                                              */ - Updates: RuleUpdate[] | undefined; + RateLimit: number | undefined; } export namespace UpdateRateBasedRuleRequest { @@ -6142,17 +6142,17 @@ export namespace UpdateRateBasedRuleResponse { * RegexMatchTuple and includes the settings for the RegexMatchTuple.

                                                              */ export interface RegexMatchSetUpdate { + /** + *

                                                              Specifies whether to insert or delete a RegexMatchTuple.

                                                              + */ + Action: ChangeAction | string | undefined; + /** *

                                                              Information about the part of a web request that you want AWS WAF to inspect and the identifier of the regular expression (regex) pattern that you want AWS WAF to search for. * If you specify DELETE for the value of Action, the RegexMatchTuple values must * exactly match the values in the RegexMatchTuple that you want to delete from the RegexMatchSet.

                                                              */ RegexMatchTuple: RegexMatchTuple | undefined; - - /** - *

                                                              Specifies whether to insert or delete a RegexMatchTuple.

                                                              - */ - Action: ChangeAction | string | undefined; } export namespace RegexMatchSetUpdate { @@ -6162,12 +6162,6 @@ export namespace RegexMatchSetUpdate { } export interface UpdateRegexMatchSetRequest { - /** - *

                                                              The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by - * ListRegexMatchSets.

                                                              - */ - RegexMatchSetId: string | undefined; - /** *

                                                              An array of RegexMatchSetUpdate objects that you want to insert into or delete from a RegexMatchSet. * For more information, see RegexMatchTuple.

                                                              @@ -6178,6 +6172,12 @@ export interface UpdateRegexMatchSetRequest { *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ ChangeToken: string | undefined; + + /** + *

                                                              The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by + * ListRegexMatchSets.

                                                              + */ + RegexMatchSetId: string | undefined; } export namespace UpdateRegexMatchSetRequest { @@ -6231,11 +6231,6 @@ export namespace RegexPatternSetUpdate { } export interface UpdateRegexPatternSetRequest { - /** - *

                                                              An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet.

                                                              - */ - Updates: RegexPatternSetUpdate[] | undefined; - /** *

                                                              The RegexPatternSetId of the RegexPatternSet that you want to update. RegexPatternSetId is returned by CreateRegexPatternSet and by * ListRegexPatternSets.

                                                              @@ -6246,6 +6241,11 @@ export interface UpdateRegexPatternSetRequest { *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ ChangeToken: string | undefined; + + /** + *

                                                              An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet.

                                                              + */ + Updates: RegexPatternSetUpdate[] | undefined; } export namespace UpdateRegexPatternSetRequest { @@ -6284,6 +6284,17 @@ export namespace WAFInvalidRegexPatternException { } export interface UpdateRuleRequest { + /** + *

                                                              The RuleId of the Rule that you want to update. RuleId is returned by + * CreateRule and by ListRules.

                                                              + */ + RuleId: string | undefined; + + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; + /** *

                                                              An array of RuleUpdate objects that you want to insert into or delete from a * Rule. For more information, see the applicable data types:

                                                              @@ -6306,17 +6317,6 @@ export interface UpdateRuleRequest { * */ Updates: RuleUpdate[] | undefined; - - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; - - /** - *

                                                              The RuleId of the Rule that you want to update. RuleId is returned by - * CreateRule and by ListRules.

                                                              - */ - RuleId: string | undefined; } export namespace UpdateRuleRequest { @@ -6383,15 +6383,15 @@ export interface UpdateRuleGroupRequest { Updates: RuleGroupUpdate[] | undefined; /** - *

                                                              The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by - * ListRuleGroups.

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - RuleGroupId: string | undefined; + ChangeToken: string | undefined; /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + *

                                                              The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by + * ListRuleGroups.

                                                              */ - ChangeToken: string | undefined; + RuleGroupId: string | undefined; } export namespace UpdateRuleGroupRequest { @@ -6518,16 +6518,16 @@ export namespace UpdateSizeConstraintSetResponse { * add the specification to a SqlInjectionMatchSet or delete it from a SqlInjectionMatchSet.

                                                              */ export interface SqlInjectionMatchSetUpdate { - /** - *

                                                              Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

                                                              - */ - SqlInjectionMatchTuple: SqlInjectionMatchTuple | undefined; - /** *

                                                              Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet. * Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet.

                                                              */ Action: ChangeAction | string | undefined; + + /** + *

                                                              Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

                                                              + */ + SqlInjectionMatchTuple: SqlInjectionMatchTuple | undefined; } export namespace SqlInjectionMatchSetUpdate { @@ -6546,6 +6546,11 @@ export interface UpdateSqlInjectionMatchSetRequest { */ SqlInjectionMatchSetId: string | undefined; + /** + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              + */ + ChangeToken: string | undefined; + /** *

                                                              An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a * SqlInjectionMatchSet. For more information, see the applicable data types:

                                                              @@ -6568,11 +6573,6 @@ export interface UpdateSqlInjectionMatchSetRequest { * */ Updates: SqlInjectionMatchSetUpdate[] | undefined; - - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; } export namespace UpdateSqlInjectionMatchSetRequest { @@ -6630,6 +6630,12 @@ export namespace WebACLUpdate { } export interface UpdateWebACLRequest { + /** + *

                                                              A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default + * action if a request doesn't match the criteria in any of the rules in a web ACL.

                                                              + */ + DefaultAction?: WafAction; + /** *

                                                              The WebACLId of the WebACL that you want to update. WebACLId is returned by CreateWebACL and by * ListWebACLs.

                                                              @@ -6637,10 +6643,9 @@ export interface UpdateWebACLRequest { WebACLId: string | undefined; /** - *

                                                              A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default - * action if a request doesn't match the criteria in any of the rules in a web ACL.

                                                              + *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              */ - DefaultAction?: WafAction; + ChangeToken: string | undefined; /** *

                                                              An array of updates to make to the WebACL.

                                                              @@ -6671,11 +6676,6 @@ export interface UpdateWebACLRequest { * */ Updates?: WebACLUpdate[]; - - /** - *

                                                              The value returned by the most recent call to GetChangeToken.

                                                              - */ - ChangeToken: string | undefined; } export namespace UpdateWebACLRequest { diff --git a/clients/client-wafv2/WAFV2.ts b/clients/client-wafv2/WAFV2.ts index dd66acbcce78..8273001d04ce 100644 --- a/clients/client-wafv2/WAFV2.ts +++ b/clients/client-wafv2/WAFV2.ts @@ -184,10 +184,11 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * Developer Guide.

                                                              * *

                                                              AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests - * that are forwarded to Amazon CloudFront, an Amazon API Gateway API, or an Application Load - * Balancer. AWS WAF also lets you control access to your content. Based on conditions that + * that are forwarded to Amazon CloudFront, an Amazon API Gateway REST API, an Application Load + * Balancer, or an AWS AppSync GraphQL API. AWS WAF also lets you control access to your content. Based on conditions that * you specify, such as the IP addresses that requests originate from or the values of query - * strings, API Gateway, CloudFront, or the Application Load Balancer responds to requests + * strings, the API Gateway REST API, CloudFront distribution, the Application Load Balancer, + * or the AWS AppSync GraphQL API responds to requests * either with the requested content or with an HTTP 403 status code (Forbidden). You also can * configure CloudFront to return a custom error page when a request is blocked.

                                                              *

                                                              This API guide is for developers who need detailed information about AWS WAF API @@ -197,7 +198,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

                                                                *
                                                              • *

                                                                For regional applications, you can use any of the endpoints in the list. - * A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                + * A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                *
                                                              • *
                                                              • *

                                                                For AWS CloudFront applications, you must use the API endpoint listed for @@ -232,7 +233,7 @@ export class WAFV2 extends WAFV2Client { * *

                                                                This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

                                                                * - *

                                                                Associates a Web ACL with a regional application resource, to protect the resource. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                + *

                                                                Associates a Web ACL with a regional application resource, to protect the resource. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                *

                                                                For AWS CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To associate a Web ACL, in the CloudFront call UpdateDistribution, set the web ACL ID to the Amazon Resource Name (ARN) of the Web ACL. For information, see UpdateDistribution.

                                                                */ public associateWebACL( @@ -415,7 +416,7 @@ export class WAFV2 extends WAFV2Client { *

                                                                This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

                                                                * *

                                                                Creates a WebACL per the specifications provided.

                                                                - *

                                                                A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway API, or an Application Load Balancer.

                                                                + *

                                                                A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AWS AppSync GraphQL API.

                                                                */ public createWebACL( args: CreateWebACLCommandInput, @@ -716,7 +717,7 @@ export class WAFV2 extends WAFV2Client { * *

                                                                This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

                                                                *
                                                                - *

                                                                Disassociates a Web ACL from a regional application resource. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                + *

                                                                Disassociates a Web ACL from a regional application resource. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                *

                                                                For AWS CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To disassociate a Web ACL, provide an empty web ACL ID in the CloudFront call UpdateDistribution. For information, see UpdateDistribution.

                                                                */ public disassociateWebACL( @@ -1589,7 +1590,7 @@ export class WAFV2 extends WAFV2Client { *

                                                                This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

                                                                * *

                                                                Updates the specified WebACL.

                                                                - *

                                                                A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway API, or an Application Load Balancer.

                                                                + *

                                                                A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AWS AppSync GraphQL API.

                                                                */ public updateWebACL( args: UpdateWebACLCommandInput, diff --git a/clients/client-wafv2/WAFV2Client.ts b/clients/client-wafv2/WAFV2Client.ts index 06cbfca015af..a876a4f99a32 100644 --- a/clients/client-wafv2/WAFV2Client.ts +++ b/clients/client-wafv2/WAFV2Client.ts @@ -352,10 +352,11 @@ export type WAFV2ClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHand * Developer Guide.

                                                                * *

                                                                AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests - * that are forwarded to Amazon CloudFront, an Amazon API Gateway API, or an Application Load - * Balancer. AWS WAF also lets you control access to your content. Based on conditions that + * that are forwarded to Amazon CloudFront, an Amazon API Gateway REST API, an Application Load + * Balancer, or an AWS AppSync GraphQL API. AWS WAF also lets you control access to your content. Based on conditions that * you specify, such as the IP addresses that requests originate from or the values of query - * strings, API Gateway, CloudFront, or the Application Load Balancer responds to requests + * strings, the API Gateway REST API, CloudFront distribution, the Application Load Balancer, + * or the AWS AppSync GraphQL API responds to requests * either with the requested content or with an HTTP 403 status code (Forbidden). You also can * configure CloudFront to return a custom error page when a request is blocked.

                                                                *

                                                                This API guide is for developers who need detailed information about AWS WAF API @@ -365,7 +366,7 @@ export type WAFV2ClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHand *

                                                                  *
                                                                • *

                                                                  For regional applications, you can use any of the endpoints in the list. - * A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                  + * A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                  *
                                                                • *
                                                                • *

                                                                  For AWS CloudFront applications, you must use the API endpoint listed for diff --git a/clients/client-wafv2/models/models_0.ts b/clients/client-wafv2/models/models_0.ts index 8fc30a38a450..ba672109b17d 100644 --- a/clients/client-wafv2/models/models_0.ts +++ b/clients/client-wafv2/models/models_0.ts @@ -145,19 +145,15 @@ export interface FieldToMatch { Body?: Body; /** - *

                                                                  Inspect all query arguments.

                                                                  - */ - AllQueryArguments?: AllQueryArguments; - - /** - *

                                                                  Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.

                                                                  + *

                                                                  Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.

                                                                  + *

                                                                  This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.

                                                                  */ - Method?: Method; + SingleQueryArgument?: SingleQueryArgument; /** - *

                                                                  Inspect the request URI path. This is the part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

                                                                  + *

                                                                  Inspect all query arguments.

                                                                  */ - UriPath?: UriPath; + AllQueryArguments?: AllQueryArguments; /** *

                                                                  Inspect the query string. This is the part of a URL that appears after a ? character, if any.

                                                                  @@ -170,10 +166,14 @@ export interface FieldToMatch { SingleHeader?: SingleHeader; /** - *

                                                                  Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.

                                                                  - *

                                                                  This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.

                                                                  + *

                                                                  Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.

                                                                  */ - SingleQueryArgument?: SingleQueryArgument; + Method?: Method; + + /** + *

                                                                  Inspect the request URI path. This is the part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

                                                                  + */ + UriPath?: UriPath; } export namespace FieldToMatch { @@ -207,12 +207,6 @@ export enum TextTransformationType { *

                                                                  */ export interface TextTransformation { - /** - *

                                                                  Sets the relative processing order for multiple transformations that are defined for a rule statement. AWS WAF processes all - * transformations, from lowest priority to highest, before inspecting the transformed content. The priorities don't need to be consecutive, but they must all be different.

                                                                  - */ - Priority: number | undefined; - /** *

                                                                  You can specify the following transformation types:

                                                                  *

                                                                  @@ -307,6 +301,12 @@ export interface TextTransformation { *

                                                                  Specify NONE if you don't want any text transformations.

                                                                  */ Type: TextTransformationType | string | undefined; + + /** + *

                                                                  Sets the relative processing order for multiple transformations that are defined for a rule statement. AWS WAF processes all + * transformations, from lowest priority to highest, before inspecting the transformed content. The priorities don't need to be consecutive, but they must all be different.

                                                                  + */ + Priority: number | undefined; } export namespace TextTransformation { @@ -329,6 +329,40 @@ export interface ByteMatchStatement { */ TextTransformations: TextTransformation[] | undefined; + /** + *

                                                                  A string value that you want AWS WAF to search for. AWS WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 50 bytes.

                                                                  + *

                                                                  Valid values depend on the component that you specify for inspection in FieldToMatch:

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * Method: The HTTP method that you want AWS WAF to search for. This indicates the type of operation specified in the request.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * UriPath: The value that you want AWS WAF to search for in the URI path, + * for example, /images/daily-ad.jpg.

                                                                    + *
                                                                  • + *
                                                                  + * + *

                                                                  If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

                                                                  + *

                                                                  + * If you're using the AWS WAF API + *

                                                                  + *

                                                                  Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

                                                                  + *

                                                                  For example, suppose the value of Type is HEADER and the + * value of Data is User-Agent. If you want to search the + * User-Agent header for the value BadBot, you base64-encode + * BadBot using MIME + * base64-encoding + * and include the resulting value, QmFkQm90, in the value of + * SearchString.

                                                                  + *

                                                                  + * If you're using the AWS CLI or one of the AWS SDKs + *

                                                                  + *

                                                                  The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

                                                                  + */ + SearchString: Uint8Array | undefined; + /** *

                                                                  The part of a web request that you want AWS WAF to inspect. For more information, see FieldToMatch.

                                                                  */ @@ -374,40 +408,6 @@ export interface ByteMatchStatement { *

                                                                  The value of SearchString must appear at the end of the specified part of the web request.

                                                                  */ PositionalConstraint: PositionalConstraint | string | undefined; - - /** - *

                                                                  A string value that you want AWS WAF to search for. AWS WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 50 bytes.

                                                                  - *

                                                                  Valid values depend on the component that you specify for inspection in FieldToMatch:

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * Method: The HTTP method that you want AWS WAF to search for. This indicates the type of operation specified in the request.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * UriPath: The value that you want AWS WAF to search for in the URI path, - * for example, /images/daily-ad.jpg.

                                                                    - *
                                                                  • - *
                                                                  - * - *

                                                                  If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

                                                                  - *

                                                                  - * If you're using the AWS WAF API - *

                                                                  - *

                                                                  Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

                                                                  - *

                                                                  For example, suppose the value of Type is HEADER and the - * value of Data is User-Agent. If you want to search the - * User-Agent header for the value BadBot, you base64-encode - * BadBot using MIME - * base64-encoding - * and include the resulting value, QmFkQm90, in the value of - * SearchString.

                                                                  - *

                                                                  - * If you're using the AWS CLI or one of the AWS SDKs - *

                                                                  - *

                                                                  The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

                                                                  - */ - SearchString: Uint8Array | undefined; } export namespace ByteMatchStatement { @@ -686,15 +686,6 @@ export enum FallbackBehavior { *

                                                                  AWS WAF only evaluates the first IP address found in the specified HTTP header.

                                                                  */ export interface ForwardedIPConfig { - /** - *

                                                                  The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.

                                                                  - * - * - *

                                                                  If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.

                                                                  - *
                                                                  - */ - HeaderName: string | undefined; - /** *

                                                                  The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.

                                                                  * @@ -713,6 +704,15 @@ export interface ForwardedIPConfig { *
                                                                */ FallbackBehavior: FallbackBehavior | string | undefined; + + /** + *

                                                                The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.

                                                                + * + * + *

                                                                If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.

                                                                + *
                                                                + */ + HeaderName: string | undefined; } export namespace ForwardedIPConfig { @@ -766,15 +766,6 @@ export enum ForwardedIPPosition { *

                                                                This configuration is used only for IPSetReferenceStatement. For GeoMatchStatement and RateBasedStatement, use ForwardedIPConfig instead.

                                                                */ export interface IPSetForwardedIPConfig { - /** - *

                                                                The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.

                                                                - * - * - *

                                                                If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.

                                                                - *
                                                                - */ - HeaderName: string | undefined; - /** *

                                                                The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.

                                                                * @@ -794,6 +785,15 @@ export interface IPSetForwardedIPConfig { */ FallbackBehavior: FallbackBehavior | string | undefined; + /** + *

                                                                The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.

                                                                + * + * + *

                                                                If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.

                                                                + *
                                                                + */ + HeaderName: string | undefined; + /** *

                                                                The position in the header to search for the IP address. The header can contain IP addresses of the original client and also of proxies. For example, the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP address identifies the original client and the rest identify proxies that the request went through.

                                                                *

                                                                The options for this setting are the following:

                                                                @@ -916,17 +916,17 @@ export interface RegexPatternSetReferenceStatement { */ ARN: string | undefined; + /** + *

                                                                The part of a web request that you want AWS WAF to inspect. For more information, see FieldToMatch.

                                                                + */ + FieldToMatch: FieldToMatch | undefined; + /** *

                                                                Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. * If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the * content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

                                                                */ TextTransformations: TextTransformation[] | undefined; - - /** - *

                                                                The part of a web request that you want AWS WAF to inspect. For more information, see FieldToMatch.

                                                                - */ - FieldToMatch: FieldToMatch | undefined; } export namespace RegexPatternSetReferenceStatement { @@ -944,14 +944,14 @@ export namespace RegexPatternSetReferenceStatement { */ export interface RuleGroupReferenceStatement { /** - *

                                                                The Amazon Resource Name (ARN) of the entity.

                                                                + *

                                                                The names of rules that are in the referenced rule group, but that you want AWS WAF to exclude from processing for this rule statement.

                                                                */ - ARN: string | undefined; + ExcludedRules?: ExcludedRule[]; /** - *

                                                                The names of rules that are in the referenced rule group, but that you want AWS WAF to exclude from processing for this rule statement.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the entity.

                                                                */ - ExcludedRules?: ExcludedRule[]; + ARN: string | undefined; } export namespace RuleGroupReferenceStatement { @@ -1044,17 +1044,17 @@ export namespace SqliMatchStatement { * to use on the search area before AWS WAF searches for character sequences that are likely to be malicious strings.

                                                                */ export interface XssMatchStatement { + /** + *

                                                                The part of a web request that you want AWS WAF to inspect. For more information, see FieldToMatch.

                                                                + */ + FieldToMatch: FieldToMatch | undefined; + /** *

                                                                Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. * If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the * content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

                                                                */ TextTransformations: TextTransformation[] | undefined; - - /** - *

                                                                The part of a web request that you want AWS WAF to inspect. For more information, see FieldToMatch.

                                                                - */ - FieldToMatch: FieldToMatch | undefined; } export namespace XssMatchStatement { @@ -1080,7 +1080,12 @@ export interface AssociateWebACLRequest { *

                                                                *
                                                              • *
                                                              • - *

                                                                For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name + *

                                                                For an API Gateway REST API: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name + * + *

                                                                + *
                                                              • + *
                                                              • + *

                                                                For an AppSync GraphQL API: arn:aws:appsync:region:account-id:apis/GraphQLApiId * *

                                                                *
                                                              • @@ -1200,10 +1205,10 @@ export enum ParameterExceptionField { export interface WAFInvalidParameterException extends __SmithyException, $MetadataBearer { name: "WAFInvalidParameterException"; $fault: "client"; - Reason?: string; message?: string; Field?: ParameterExceptionField | string; Parameter?: string; + Reason?: string; } export namespace WAFInvalidParameterException { @@ -1369,7 +1374,7 @@ export interface VisibilityConfig { /** *

                                                                A name of the CloudWatch metric. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain - * whitespace or metric names reserved for AWS WAF, for example "All" and "Default_Action." You can't change a MetricName after you create a VisibilityConfig.

                                                                + * whitespace or metric names reserved for AWS WAF, for example "All" and "Default_Action."

                                                                */ MetricName: string | undefined; } @@ -1461,14 +1466,14 @@ export enum IPAddressVersion { */ export interface Tag { /** - *

                                                                Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

                                                                + *

                                                                Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

                                                                */ - Value: string | undefined; + Key: string | undefined; /** - *

                                                                Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

                                                                + *

                                                                Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

                                                                */ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -1479,23 +1484,14 @@ export namespace Tag { export interface CreateIPSetRequest { /** - *

                                                                The name of the IP set. You cannot change the name of an IPSet after you create it.

                                                                + *

                                                                Specify IPV4 or IPV6.

                                                                */ - Name: string | undefined; + IPAddressVersion: IPAddressVersion | string | undefined; /** - *

                                                                Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                - *

                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                - *
                                                                  - *
                                                                • - *

                                                                  CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                  - *
                                                                • - *
                                                                + *

                                                                A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

                                                                */ - Scope: Scope | string | undefined; + Description?: string; /** *

                                                                Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6.

                                                                @@ -1521,19 +1517,28 @@ export interface CreateIPSetRequest { Addresses: string[] | undefined; /** - *

                                                                An array of key:value pairs to associate with the resource.

                                                                + *

                                                                Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                + *

                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                  + *
                                                                • + *
                                                                */ - Tags?: Tag[]; + Scope: Scope | string | undefined; /** - *

                                                                A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

                                                                + *

                                                                An array of key:value pairs to associate with the resource.

                                                                */ - Description?: string; + Tags?: Tag[]; /** - *

                                                                Specify IPV4 or IPV6.

                                                                + *

                                                                The name of the IP set. You cannot change the name of an IPSet after you create it.

                                                                */ - IPAddressVersion: IPAddressVersion | string | undefined; + Name: string | undefined; } export namespace CreateIPSetRequest { @@ -1550,29 +1555,29 @@ export namespace CreateIPSetRequest { */ export interface IPSetSummary { /** - *

                                                                A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                + *

                                                                The Amazon Resource Name (ARN) of the entity.

                                                                */ - LockToken?: string; + ARN?: string; /** - *

                                                                A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                + *

                                                                A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

                                                                */ - Id?: string; + Description?: string; /** - *

                                                                The name of the IP set. You cannot change the name of an IPSet after you create it.

                                                                + *

                                                                A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                */ - Name?: string; + Id?: string; /** - *

                                                                A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

                                                                + *

                                                                A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                */ - Description?: string; + LockToken?: string; /** - *

                                                                The Amazon Resource Name (ARN) of the entity.

                                                                + *

                                                                The name of the IP set. You cannot change the name of an IPSet after you create it.

                                                                */ - ARN?: string; + Name?: string; } export namespace IPSetSummary { @@ -1675,22 +1680,7 @@ export namespace Regex { export interface CreateRegexPatternSetRequest { /** - *

                                                                The name of the set. You cannot change the name after you create the set.

                                                                - */ - Name: string | undefined; - - /** - *

                                                                An array of key:value pairs to associate with the resource.

                                                                - */ - Tags?: Tag[]; - - /** - *

                                                                Array of regular expression strings.

                                                                - */ - RegularExpressionList: Regex[] | undefined; - - /** - *

                                                                Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                + *

                                                                Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                *

                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                *
                                                                  *
                                                                • @@ -1704,9 +1694,24 @@ export interface CreateRegexPatternSetRequest { Scope: Scope | string | undefined; /** - *

                                                                  A description of the set that helps with identification. You cannot change the description of a set after you create it.

                                                                  + *

                                                                  Array of regular expression strings.

                                                                  */ - Description?: string; + RegularExpressionList: Regex[] | undefined; + + /** + *

                                                                  A description of the set that helps with identification. You cannot change the description of a set after you create it.

                                                                  + */ + Description?: string; + + /** + *

                                                                  An array of key:value pairs to associate with the resource.

                                                                  + */ + Tags?: Tag[]; + + /** + *

                                                                  The name of the set. You cannot change the name after you create the set.

                                                                  + */ + Name: string | undefined; } export namespace CreateRegexPatternSetRequest { @@ -1727,6 +1732,11 @@ export interface RegexPatternSetSummary { */ Name?: string; + /** + *

                                                                  A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                  + */ + LockToken?: string; + /** *

                                                                  The Amazon Resource Name (ARN) of the entity.

                                                                  */ @@ -1741,11 +1751,6 @@ export interface RegexPatternSetSummary { *

                                                                  A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                  */ Id?: string; - - /** - *

                                                                  A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                  - */ - LockToken?: string; } export namespace RegexPatternSetSummary { @@ -1775,19 +1780,19 @@ export namespace CreateRegexPatternSetResponse { */ export interface RuleGroupSummary { /** - *

                                                                  A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                  + *

                                                                  A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                  */ - LockToken?: string; + Id?: string; /** - *

                                                                  A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the entity.

                                                                  */ - Id?: string; + ARN?: string; /** - *

                                                                  A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.

                                                                  + *

                                                                  A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                  */ - Description?: string; + LockToken?: string; /** *

                                                                  The name of the data type instance. You cannot change the name after you create the instance.

                                                                  @@ -1795,9 +1800,9 @@ export interface RuleGroupSummary { Name?: string; /** - *

                                                                  The Amazon Resource Name (ARN) of the entity.

                                                                  + *

                                                                  A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.

                                                                  */ - ARN?: string; + Description?: string; } export namespace RuleGroupSummary { @@ -1852,14 +1857,14 @@ export namespace DefaultAction { */ export interface WebACLSummary { /** - *

                                                                  The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

                                                                  + *

                                                                  The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                  */ - Name?: string; + Id?: string; /** - *

                                                                  A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                  + *

                                                                  The Amazon Resource Name (ARN) of the entity.

                                                                  */ - LockToken?: string; + ARN?: string; /** *

                                                                  A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

                                                                  @@ -1867,14 +1872,14 @@ export interface WebACLSummary { Description?: string; /** - *

                                                                  The Amazon Resource Name (ARN) of the entity.

                                                                  + *

                                                                  A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                  */ - ARN?: string; + LockToken?: string; /** - *

                                                                  The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                  + *

                                                                  The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

                                                                  */ - Id?: string; + Name?: string; } export namespace WebACLSummary { @@ -1929,12 +1934,12 @@ export namespace DeleteFirewallManagerRuleGroupsResponse { export interface DeleteIPSetRequest { /** - *

                                                                  A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                  + *

                                                                  A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                  */ - LockToken: string | undefined; + Id: string | undefined; /** - *

                                                                  Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                  + *

                                                                  Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                  *

                                                                  To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                  *
                                                                    *
                                                                  • @@ -1953,9 +1958,9 @@ export interface DeleteIPSetRequest { Name: string | undefined; /** - *

                                                                    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                    + *

                                                                    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                    */ - Id: string | undefined; + LockToken: string | undefined; } export namespace DeleteIPSetRequest { @@ -2032,12 +2037,17 @@ export namespace DeletePermissionPolicyResponse { export interface DeleteRegexPatternSetRequest { /** - *

                                                                    The name of the set. You cannot change the name after you create the set.

                                                                    + *

                                                                    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                    */ - Name: string | undefined; + LockToken: string | undefined; + + /** + *

                                                                    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                    + */ + Id: string | undefined; /** - *

                                                                    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                    + *

                                                                    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                    *

                                                                    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                    *
                                                                      *
                                                                    • @@ -2051,14 +2061,9 @@ export interface DeleteRegexPatternSetRequest { Scope: Scope | string | undefined; /** - *

                                                                      A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                      - */ - LockToken: string | undefined; - - /** - *

                                                                      A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                      + *

                                                                      The name of the set. You cannot change the name after you create the set.

                                                                      */ - Id: string | undefined; + Name: string | undefined; } export namespace DeleteRegexPatternSetRequest { @@ -2082,7 +2087,12 @@ export interface DeleteRuleGroupRequest { Name: string | undefined; /** - *

                                                                      Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                      + *

                                                                      A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                      + */ + Id: string | undefined; + + /** + *

                                                                      Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                      *

                                                                      To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                      *
                                                                        *
                                                                      • @@ -2099,11 +2109,6 @@ export interface DeleteRuleGroupRequest { *

                                                                        A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                        */ LockToken: string | undefined; - - /** - *

                                                                        A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                        - */ - Id: string | undefined; } export namespace DeleteRuleGroupRequest { @@ -2126,13 +2131,18 @@ export interface DeleteWebACLRequest { */ Id: string | undefined; + /** + *

                                                                        The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

                                                                        + */ + Name: string | undefined; + /** *

                                                                        A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                        */ LockToken: string | undefined; /** - *

                                                                        Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                        + *

                                                                        Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                        *

                                                                        To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                        *
                                                                          *
                                                                        • @@ -2144,11 +2154,6 @@ export interface DeleteWebACLRequest { *
                                                                        */ Scope: Scope | string | undefined; - - /** - *

                                                                        The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

                                                                        - */ - Name: string | undefined; } export namespace DeleteWebACLRequest { @@ -2167,12 +2172,7 @@ export namespace DeleteWebACLResponse { export interface DescribeManagedRuleGroupRequest { /** - *

                                                                        The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

                                                                        - */ - Name: string | undefined; - - /** - *

                                                                        Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                        + *

                                                                        Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                        *

                                                                        To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                        *
                                                                          *
                                                                        • @@ -2189,6 +2189,11 @@ export interface DescribeManagedRuleGroupRequest { *

                                                                          The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

                                                                          */ VendorName: string | undefined; + + /** + *

                                                                          The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

                                                                          + */ + Name: string | undefined; } export namespace DescribeManagedRuleGroupRequest { @@ -2204,6 +2209,11 @@ export namespace DescribeManagedRuleGroupRequest { *

                                                                          High-level information about a Rule, returned by operations like DescribeManagedRuleGroup. This provides information like the ID, that you can use to retrieve and manage a RuleGroup, and the ARN, that you provide to the RuleGroupReferenceStatement to use the rule group in a Rule.

                                                                          */ export interface RuleSummary { + /** + *

                                                                          The name of the rule.

                                                                          + */ + Name?: string; + /** * *

                                                                          This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

                                                                          @@ -2211,11 +2221,6 @@ export interface RuleSummary { *

                                                                          The action that AWS WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.

                                                                          */ Action?: RuleAction; - - /** - *

                                                                          The name of the rule.

                                                                          - */ - Name?: string; } export namespace RuleSummary { @@ -2260,7 +2265,12 @@ export interface DisassociateWebACLRequest { *

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name + *

                                                                          For an API Gateway REST API: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name + * + *

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          For an AppSync GraphQL API: arn:aws:appsync:region:account-id:apis/GraphQLApiId * *

                                                                          *
                                                                        • @@ -2290,12 +2300,7 @@ export interface GetIPSetRequest { Id: string | undefined; /** - *

                                                                          The name of the IP set. You cannot change the name of an IPSet after you create it.

                                                                          - */ - Name: string | undefined; - - /** - *

                                                                          Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                          + *

                                                                          Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                          *

                                                                          To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                          *
                                                                            *
                                                                          • @@ -2307,6 +2312,11 @@ export interface GetIPSetRequest { *
                                                                          */ Scope: Scope | string | undefined; + + /** + *

                                                                          The name of the IP set. You cannot change the name of an IPSet after you create it.

                                                                          + */ + Name: string | undefined; } export namespace GetIPSetRequest { @@ -2324,25 +2334,15 @@ export namespace GetIPSetRequest { *

                                                                          AWS WAF assigns an ARN to each IPSet that you create. To use an IP set in a rule, you provide the ARN to the Rule statement IPSetReferenceStatement.

                                                                          */ export interface IPSet { - /** - *

                                                                          Specify IPV4 or IPV6.

                                                                          - */ - IPAddressVersion: IPAddressVersion | string | undefined; - /** *

                                                                          A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                          */ Id: string | undefined; /** - *

                                                                          A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

                                                                          - */ - Description?: string; - - /** - *

                                                                          The name of the IP set. You cannot change the name of an IPSet after you create it.

                                                                          + *

                                                                          Specify IPV4 or IPV6.

                                                                          */ - Name: string | undefined; + IPAddressVersion: IPAddressVersion | string | undefined; /** *

                                                                          The Amazon Resource Name (ARN) of the entity.

                                                                          @@ -2371,6 +2371,16 @@ export interface IPSet { * Inter-Domain Routing.

                                                                          */ Addresses: string[] | undefined; + + /** + *

                                                                          The name of the IP set. You cannot change the name of an IPSet after you create it.

                                                                          + */ + Name: string | undefined; + + /** + *

                                                                          A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

                                                                          + */ + Description?: string; } export namespace IPSet { @@ -2420,17 +2430,25 @@ export namespace GetLoggingConfigurationRequest { *

                                                                          */ export interface LoggingConfiguration { + /** + *

                                                                          The parts of the request that you want to keep out of the logs. For + * example, if you redact the HEADER field, the HEADER field in the firehose will be xxx.

                                                                          + * + *

                                                                          You must use one of the following values: URI, QUERY_STRING, HEADER, or METHOD.

                                                                          + *
                                                                          + */ + RedactedFields?: FieldToMatch[]; + /** *

                                                                          The Amazon Kinesis Data Firehose Amazon Resource Name (ARNs) that you want to associate with the web ACL.

                                                                          */ LogDestinationConfigs: string[] | undefined; /** - *

                                                                          The parts of the request that you want to keep out of the logs. For - * example, if you redact the cookie field, the cookie field in the firehose will be - * xxx.

                                                                          + *

                                                                          Indicates whether the logging configuration was created by AWS Firewall Manager, as part of an AWS WAF policy configuration. If true, only + * Firewall Manager can modify or delete the configuration.

                                                                          */ - RedactedFields?: FieldToMatch[]; + ManagedByFirewallManager?: boolean; /** *

                                                                          The Amazon Resource Name (ARN) of the web ACL that you want to associate with @@ -2486,12 +2504,7 @@ export namespace GetPermissionPolicyResponse { export interface GetRateBasedStatementManagedKeysRequest { /** - *

                                                                          The name of the rate-based rule to get the keys for.

                                                                          - */ - RuleName: string | undefined; - - /** - *

                                                                          Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                          + *

                                                                          Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                          *

                                                                          To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                          *
                                                                            *
                                                                          • @@ -2504,15 +2517,20 @@ export interface GetRateBasedStatementManagedKeysRequest { */ Scope: Scope | string | undefined; + /** + *

                                                                            The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

                                                                            + */ + WebACLName: string | undefined; + /** *

                                                                            The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                            */ WebACLId: string | undefined; /** - *

                                                                            The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

                                                                            + *

                                                                            The name of the rate-based rule to get the keys for.

                                                                            */ - WebACLName: string | undefined; + RuleName: string | undefined; } export namespace GetRateBasedStatementManagedKeysRequest { @@ -2561,7 +2579,7 @@ export namespace GetRateBasedStatementManagedKeysResponse { export interface GetRegexPatternSetRequest { /** - *

                                                                            Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                            + *

                                                                            Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                            *

                                                                            To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                            *
                                                                              *
                                                                            • @@ -2575,14 +2593,14 @@ export interface GetRegexPatternSetRequest { Scope: Scope | string | undefined; /** - *

                                                                              The name of the set. You cannot change the name after you create the set.

                                                                              + *

                                                                              A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                              */ - Name: string | undefined; + Id: string | undefined; /** - *

                                                                              A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                              + *

                                                                              The name of the set. You cannot change the name after you create the set.

                                                                              */ - Id: string | undefined; + Name: string | undefined; } export namespace GetRegexPatternSetRequest { @@ -2600,14 +2618,9 @@ export namespace GetRegexPatternSetRequest { */ export interface RegexPatternSet { /** - *

                                                                              The name of the set. You cannot change the name after you create the set.

                                                                              - */ - Name?: string; - - /** - *

                                                                              The regular expression patterns in the set.

                                                                              + *

                                                                              A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                              */ - RegularExpressionList?: Regex[]; + Id?: string; /** *

                                                                              A description of the set that helps with identification. You cannot change the description of a set after you create it.

                                                                              @@ -2615,14 +2628,19 @@ export interface RegexPatternSet { Description?: string; /** - *

                                                                              A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                              + *

                                                                              The regular expression patterns in the set.

                                                                              */ - Id?: string; + RegularExpressionList?: Regex[]; /** *

                                                                              The Amazon Resource Name (ARN) of the entity.

                                                                              */ ARN?: string; + + /** + *

                                                                              The name of the set. You cannot change the name after you create the set.

                                                                              + */ + Name?: string; } export namespace RegexPatternSet { @@ -2651,17 +2669,17 @@ export namespace GetRegexPatternSetResponse { export interface GetRuleGroupRequest { /** - *

                                                                              A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                              + *

                                                                              The name of the rule group. You cannot change the name of a rule group after you create it.

                                                                              */ - Id: string | undefined; + Name: string | undefined; /** - *

                                                                              The name of the rule group. You cannot change the name of a rule group after you create it.

                                                                              + *

                                                                              A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                              */ - Name: string | undefined; + Id: string | undefined; /** - *

                                                                              Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                              + *

                                                                              Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                              *

                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                              *
                                                                                *
                                                                              • @@ -2696,16 +2714,16 @@ export namespace GetRuleGroupRequest { */ export interface TimeWindow { /** - *

                                                                                The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your + *

                                                                                The end of the time range from which you want GetSampledRequests to return a sample of the requests that your * AWS resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

                                                                                */ - StartTime: Date | undefined; + EndTime: Date | undefined; /** - *

                                                                                The end of the time range from which you want GetSampledRequests to return a sample of the requests that your + *

                                                                                The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your * AWS resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

                                                                                */ - EndTime: Date | undefined; + StartTime: Date | undefined; } export namespace TimeWindow { @@ -2721,10 +2739,18 @@ export interface GetSampledRequestsRequest { WebAclArn: string | undefined; /** - *

                                                                                The start date and time and the end date and time of the range for which you want GetSampledRequests to return a - * sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

                                                                                + *

                                                                                Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                + *

                                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                + *
                                                                                  + *
                                                                                • + *

                                                                                  CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                  + *
                                                                                • + *
                                                                                • + *

                                                                                  API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                  + *
                                                                                • + *
                                                                                */ - TimeWindow: TimeWindow | undefined; + Scope: Scope | string | undefined; /** *

                                                                                The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received @@ -2739,18 +2765,10 @@ export interface GetSampledRequestsRequest { RuleMetricName: string | undefined; /** - *

                                                                                Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                - *

                                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                - *
                                                                                  - *
                                                                                • - *

                                                                                  CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                  - *
                                                                                • - *
                                                                                • - *

                                                                                  API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                  - *
                                                                                • - *
                                                                                + *

                                                                                The start date and time and the end date and time of the range for which you want GetSampledRequests to return a + * sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

                                                                                */ - Scope: Scope | string | undefined; + TimeWindow: TimeWindow | undefined; } export namespace GetSampledRequestsRequest { @@ -2795,20 +2813,19 @@ export namespace HTTPHeader { */ export interface HTTPRequest { /** - *

                                                                                The HTTP method specified in the sampled web request.

                                                                                + *

                                                                                The URI path of the request, which identifies the resource, for example, /images/daily-ad.jpg.

                                                                                */ - Method?: string; + URI?: string; /** - *

                                                                                The two-letter country code for the country that the request originated from. For a current list of country codes, - * see the Wikipedia entry ISO 3166-1 alpha-2.

                                                                                + *

                                                                                The HTTP method specified in the sampled web request.

                                                                                */ - Country?: string; + Method?: string; /** - *

                                                                                A complex type that contains the name and value for each header in the sampled web request.

                                                                                + *

                                                                                The HTTP version specified in the sampled web request, for example, HTTP/1.1.

                                                                                */ - Headers?: HTTPHeader[]; + HTTPVersion?: string; /** *

                                                                                The IP address that the request originated from. If the web ACL is associated with a CloudFront distribution, @@ -2827,14 +2844,15 @@ export interface HTTPRequest { ClientIP?: string; /** - *

                                                                                The HTTP version specified in the sampled web request, for example, HTTP/1.1.

                                                                                + *

                                                                                A complex type that contains the name and value for each header in the sampled web request.

                                                                                */ - HTTPVersion?: string; + Headers?: HTTPHeader[]; /** - *

                                                                                The URI path of the request, which identifies the resource, for example, /images/daily-ad.jpg.

                                                                                + *

                                                                                The two-letter country code for the country that the request originated from. For a current list of country codes, + * see the Wikipedia entry ISO 3166-1 alpha-2.

                                                                                */ - URI?: string; + Country?: string; } export namespace HTTPRequest { @@ -2852,9 +2870,15 @@ export namespace HTTPRequest { */ export interface SampledHTTPRequest { /** - *

                                                                                A complex type that contains detailed information about the request.

                                                                                + *

                                                                                The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

                                                                                */ - Request: HTTPRequest | undefined; + Timestamp?: Date; + + /** + *

                                                                                The name of the Rule that the request matched. For managed rule groups, the format for this name is ##. For your own rule + * groups, the format for this name is #. If the rule is not in a rule group, this field is absent.

                                                                                + */ + RuleNameWithinRuleGroup?: string; /** *

                                                                                The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT.

                                                                                @@ -2871,16 +2895,9 @@ export interface SampledHTTPRequest { Weight: number | undefined; /** - *

                                                                                The name of the Rule that the request matched. For managed rule groups, the format for this name is ##. For your own rule - * groups, the format for this name is - * #. If the rule is not in a rule group, the format is .

                                                                                - */ - RuleNameWithinRuleGroup?: string; - - /** - *

                                                                                The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

                                                                                + *

                                                                                A complex type that contains detailed information about the request.

                                                                                */ - Timestamp?: Date; + Request: HTTPRequest | undefined; } export namespace SampledHTTPRequest { @@ -2897,17 +2914,17 @@ export interface GetSampledRequestsResponse { */ TimeWindow?: TimeWindow; + /** + *

                                                                                A complex type that contains detailed information about each of the requests in the sample.

                                                                                + */ + SampledRequests?: SampledHTTPRequest[]; + /** *

                                                                                The total number of requests from which GetSampledRequests got a sample of MaxItems requests. * If PopulationSize is less than MaxItems, the sample includes every request that your AWS resource * received during the specified time range.

                                                                                */ PopulationSize?: number; - - /** - *

                                                                                A complex type that contains detailed information about each of the requests in the sample.

                                                                                - */ - SampledRequests?: SampledHTTPRequest[]; } export namespace GetSampledRequestsResponse { @@ -2923,7 +2940,7 @@ export interface GetWebACLRequest { Name: string | undefined; /** - *

                                                                                Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                + *

                                                                                Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                *

                                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                *
                                                                                  *
                                                                                • @@ -2981,30 +2998,17 @@ export namespace FirewallManagerStatement { *

                                                                                  A rule group that's defined for an AWS Firewall Manager WAF policy.

                                                                                  */ export interface FirewallManagerRuleGroup { - /** - *

                                                                                  If you define more than one rule group in the first or last Firewall Manager rule groups, - * AWS WAF evaluates each request against the rule groups in order, starting from the lowest priority setting. - * The priorities don't need to be consecutive, but they must all be different.

                                                                                  - */ - Priority: number | undefined; - /** *

                                                                                  The processing guidance for an AWS Firewall Manager rule. This is like a regular rule Statement, but it can only contain a rule group reference.

                                                                                  */ FirewallManagerStatement: FirewallManagerStatement | undefined; /** - *

                                                                                  The name of the rule group. You cannot change the name of a rule group after you create it.

                                                                                  - */ - Name: string | undefined; - - /** - * - *

                                                                                  This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

                                                                                  - *
                                                                                  - *

                                                                                  Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                  + *

                                                                                  If you define more than one rule group in the first or last Firewall Manager rule groups, + * AWS WAF evaluates each request against the rule groups in order, starting from the lowest priority setting. + * The priorities don't need to be consecutive, but they must all be different.

                                                                                  */ - VisibilityConfig: VisibilityConfig | undefined; + Priority: number | undefined; /** *

                                                                                  The override action to apply to the rules in a rule group. Used only for rule statements that reference a rule group, @@ -3021,6 +3025,19 @@ export interface FirewallManagerRuleGroup { *

                                                                                */ OverrideAction: OverrideAction | undefined; + + /** + * + *

                                                                                This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

                                                                                + *
                                                                                + *

                                                                                Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                + */ + VisibilityConfig: VisibilityConfig | undefined; + + /** + *

                                                                                The name of the rule group. You cannot change the name of a rule group after you create it.

                                                                                + */ + Name: string | undefined; } export namespace FirewallManagerRuleGroup { @@ -3044,7 +3061,7 @@ export namespace GetWebACLForResourceRequest { export interface ListAvailableManagedRuleGroupsRequest { /** - *

                                                                                Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                + *

                                                                                Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                *

                                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                *
                                                                                  *
                                                                                • @@ -3108,17 +3125,17 @@ export namespace ManagedRuleGroupSummary { } export interface ListAvailableManagedRuleGroupsResponse { - /** - *

                                                                                  - */ - ManagedRuleGroups?: ManagedRuleGroupSummary[]; - /** *

                                                                                  When you request a list of objects with a Limit setting, if the number of objects that are still available * for retrieval exceeds the limit, AWS WAF returns a NextMarker * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                  */ NextMarker?: string; + + /** + *

                                                                                  + */ + ManagedRuleGroups?: ManagedRuleGroupSummary[]; } export namespace ListAvailableManagedRuleGroupsResponse { @@ -3129,21 +3146,7 @@ export namespace ListAvailableManagedRuleGroupsResponse { export interface ListIPSetsRequest { /** - *

                                                                                  The maximum number of objects that you want AWS WAF to return for this request. If more - * objects are available, in the response, AWS WAF provides a - * NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                  - */ - Limit?: number; - - /** - *

                                                                                  When you request a list of objects with a Limit setting, if the number of objects that are still available - * for retrieval exceeds the limit, AWS WAF returns a NextMarker - * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                  - */ - NextMarker?: string; - - /** - *

                                                                                  Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                  + *

                                                                                  Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                  *

                                                                                  To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                  *
                                                                                    *
                                                                                  • @@ -3155,6 +3158,20 @@ export interface ListIPSetsRequest { *
                                                                                  */ Scope: Scope | string | undefined; + + /** + *

                                                                                  When you request a list of objects with a Limit setting, if the number of objects that are still available + * for retrieval exceeds the limit, AWS WAF returns a NextMarker + * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                  + */ + NextMarker?: string; + + /** + *

                                                                                  The maximum number of objects that you want AWS WAF to return for this request. If more + * objects are available, in the response, AWS WAF provides a + * NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                  + */ + Limit?: number; } export namespace ListIPSetsRequest { @@ -3164,17 +3181,17 @@ export namespace ListIPSetsRequest { } export interface ListIPSetsResponse { - /** - *

                                                                                  Array of IPSets. This may not be the full list of IPSets that you have defined. See the Limit specification for this request.

                                                                                  - */ - IPSets?: IPSetSummary[]; - /** *

                                                                                  When you request a list of objects with a Limit setting, if the number of objects that are still available * for retrieval exceeds the limit, AWS WAF returns a NextMarker * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                  */ NextMarker?: string; + + /** + *

                                                                                  Array of IPSets. This may not be the full list of IPSets that you have defined. See the Limit specification for this request.

                                                                                  + */ + IPSets?: IPSetSummary[]; } export namespace ListIPSetsResponse { @@ -3185,21 +3202,7 @@ export namespace ListIPSetsResponse { export interface ListLoggingConfigurationsRequest { /** - *

                                                                                  The maximum number of objects that you want AWS WAF to return for this request. If more - * objects are available, in the response, AWS WAF provides a - * NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                  - */ - Limit?: number; - - /** - *

                                                                                  When you request a list of objects with a Limit setting, if the number of objects that are still available - * for retrieval exceeds the limit, AWS WAF returns a NextMarker - * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                  - */ - NextMarker?: string; - - /** - *

                                                                                  Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                  + *

                                                                                  Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                  *

                                                                                  To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                  *
                                                                                    *
                                                                                  • @@ -3211,6 +3214,20 @@ export interface ListLoggingConfigurationsRequest { *
                                                                                  */ Scope?: Scope | string; + + /** + *

                                                                                  When you request a list of objects with a Limit setting, if the number of objects that are still available + * for retrieval exceeds the limit, AWS WAF returns a NextMarker + * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                  + */ + NextMarker?: string; + + /** + *

                                                                                  The maximum number of objects that you want AWS WAF to return for this request. If more + * objects are available, in the response, AWS WAF provides a + * NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                  + */ + Limit?: number; } export namespace ListLoggingConfigurationsRequest { @@ -3220,17 +3237,17 @@ export namespace ListLoggingConfigurationsRequest { } export interface ListLoggingConfigurationsResponse { + /** + *

                                                                                  + */ + LoggingConfigurations?: LoggingConfiguration[]; + /** *

                                                                                  When you request a list of objects with a Limit setting, if the number of objects that are still available * for retrieval exceeds the limit, AWS WAF returns a NextMarker * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                  */ NextMarker?: string; - - /** - *

                                                                                  - */ - LoggingConfigurations?: LoggingConfiguration[]; } export namespace ListLoggingConfigurationsResponse { @@ -3241,18 +3258,11 @@ export namespace ListLoggingConfigurationsResponse { export interface ListRegexPatternSetsRequest { /** - *

                                                                                  Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                  - *

                                                                                  To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                  - *
                                                                                    - *
                                                                                  • - *

                                                                                    CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                    - *
                                                                                  • - *
                                                                                  + *

                                                                                  When you request a list of objects with a Limit setting, if the number of objects that are still available + * for retrieval exceeds the limit, AWS WAF returns a NextMarker + * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                  */ - Scope: Scope | string | undefined; + NextMarker?: string; /** *

                                                                                  The maximum number of objects that you want AWS WAF to return for this request. If more @@ -3262,11 +3272,18 @@ export interface ListRegexPatternSetsRequest { Limit?: number; /** - *

                                                                                  When you request a list of objects with a Limit setting, if the number of objects that are still available - * for retrieval exceeds the limit, AWS WAF returns a NextMarker - * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                  + *

                                                                                  Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                  + *

                                                                                  To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                  + *
                                                                                    + *
                                                                                  • + *

                                                                                    CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                    + *
                                                                                  • + *
                                                                                  */ - NextMarker?: string; + Scope: Scope | string | undefined; } export namespace ListRegexPatternSetsRequest { @@ -3298,6 +3315,7 @@ export namespace ListRegexPatternSetsResponse { export enum ResourceType { API_GATEWAY = "API_GATEWAY", APPLICATION_LOAD_BALANCER = "APPLICATION_LOAD_BALANCER", + APPSYNC = "APPSYNC", } export interface ListResourcesForWebACLRequest { @@ -3307,7 +3325,7 @@ export interface ListResourcesForWebACLRequest { WebACLArn: string | undefined; /** - *

                                                                                  Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                  + *

                                                                                  Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                  */ ResourceType?: ResourceType | string; } @@ -3333,7 +3351,7 @@ export namespace ListResourcesForWebACLResponse { export interface ListRuleGroupsRequest { /** - *

                                                                                  Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                  + *

                                                                                  Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                  *

                                                                                  To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                  *
                                                                                    *
                                                                                  • @@ -3346,19 +3364,19 @@ export interface ListRuleGroupsRequest { */ Scope: Scope | string | undefined; - /** - *

                                                                                    When you request a list of objects with a Limit setting, if the number of objects that are still available - * for retrieval exceeds the limit, AWS WAF returns a NextMarker - * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                    - */ - NextMarker?: string; - /** *

                                                                                    The maximum number of objects that you want AWS WAF to return for this request. If more * objects are available, in the response, AWS WAF provides a * NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                    */ Limit?: number; + + /** + *

                                                                                    When you request a list of objects with a Limit setting, if the number of objects that are still available + * for retrieval exceeds the limit, AWS WAF returns a NextMarker + * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                    + */ + NextMarker?: string; } export namespace ListRuleGroupsRequest { @@ -3368,17 +3386,17 @@ export namespace ListRuleGroupsRequest { } export interface ListRuleGroupsResponse { + /** + *

                                                                                    + */ + RuleGroups?: RuleGroupSummary[]; + /** *

                                                                                    When you request a list of objects with a Limit setting, if the number of objects that are still available * for retrieval exceeds the limit, AWS WAF returns a NextMarker * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                    */ NextMarker?: string; - - /** - *

                                                                                    - */ - RuleGroups?: RuleGroupSummary[]; } export namespace ListRuleGroupsResponse { @@ -3395,17 +3413,17 @@ export interface ListTagsForResourceRequest { */ Limit?: number; - /** - *

                                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                                    - */ - ResourceARN: string | undefined; - /** *

                                                                                    When you request a list of objects with a Limit setting, if the number of objects that are still available * for retrieval exceeds the limit, AWS WAF returns a NextMarker * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                    */ NextMarker?: string; + + /** + *

                                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                                    + */ + ResourceARN: string | undefined; } export namespace ListTagsForResourceRequest { @@ -3442,17 +3460,17 @@ export namespace TagInfoForResource { } export interface ListTagsForResourceResponse { - /** - *

                                                                                    The collection of tagging definitions for the resource.

                                                                                    - */ - TagInfoForResource?: TagInfoForResource; - /** *

                                                                                    When you request a list of objects with a Limit setting, if the number of objects that are still available * for retrieval exceeds the limit, AWS WAF returns a NextMarker * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                    */ NextMarker?: string; + + /** + *

                                                                                    The collection of tagging definitions for the resource.

                                                                                    + */ + TagInfoForResource?: TagInfoForResource; } export namespace ListTagsForResourceResponse { @@ -3463,21 +3481,7 @@ export namespace ListTagsForResourceResponse { export interface ListWebACLsRequest { /** - *

                                                                                    The maximum number of objects that you want AWS WAF to return for this request. If more - * objects are available, in the response, AWS WAF provides a - * NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                    - */ - Limit?: number; - - /** - *

                                                                                    When you request a list of objects with a Limit setting, if the number of objects that are still available - * for retrieval exceeds the limit, AWS WAF returns a NextMarker - * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                    - */ - NextMarker?: string; - - /** - *

                                                                                    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                    + *

                                                                                    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                    *

                                                                                    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                    *
                                                                                      *
                                                                                    • @@ -3489,26 +3493,40 @@ export interface ListWebACLsRequest { *
                                                                                    */ Scope: Scope | string | undefined; -} -export namespace ListWebACLsRequest { - export const filterSensitiveLog = (obj: ListWebACLsRequest): any => ({ + /** + *

                                                                                    When you request a list of objects with a Limit setting, if the number of objects that are still available + * for retrieval exceeds the limit, AWS WAF returns a NextMarker + * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                    + */ + NextMarker?: string; + + /** + *

                                                                                    The maximum number of objects that you want AWS WAF to return for this request. If more + * objects are available, in the response, AWS WAF provides a + * NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                    + */ + Limit?: number; +} + +export namespace ListWebACLsRequest { + export const filterSensitiveLog = (obj: ListWebACLsRequest): any => ({ ...obj, }); } export interface ListWebACLsResponse { - /** - *

                                                                                    - */ - WebACLs?: WebACLSummary[]; - /** *

                                                                                    When you request a list of objects with a Limit setting, if the number of objects that are still available * for retrieval exceeds the limit, AWS WAF returns a NextMarker * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                    */ NextMarker?: string; + + /** + *

                                                                                    + */ + WebACLs?: WebACLSummary[]; } export namespace ListWebACLsResponse { @@ -3696,21 +3714,6 @@ export namespace UntagResourceResponse { } export interface UpdateIPSetRequest { - /** - *

                                                                                    A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

                                                                                    - */ - Description?: string; - - /** - *

                                                                                    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                    - */ - Id: string | undefined; - - /** - *

                                                                                    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                    - */ - LockToken: string | undefined; - /** *

                                                                                    Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6.

                                                                                    *

                                                                                    Examples:

                                                                                    @@ -3735,7 +3738,22 @@ export interface UpdateIPSetRequest { Addresses: string[] | undefined; /** - *

                                                                                    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                    + *

                                                                                    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                    + */ + Id: string | undefined; + + /** + *

                                                                                    A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

                                                                                    + */ + Description?: string; + + /** + *

                                                                                    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                    + */ + LockToken: string | undefined; + + /** + *

                                                                                    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                    *

                                                                                    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                    *
                                                                                      *
                                                                                    • @@ -3774,16 +3792,6 @@ export namespace UpdateIPSetResponse { } export interface UpdateRegexPatternSetRequest { - /** - *

                                                                                      A description of the set that helps with identification. You cannot change the description of a set after you create it.

                                                                                      - */ - Description?: string; - - /** - *

                                                                                      - */ - RegularExpressionList: Regex[] | undefined; - /** *

                                                                                      The name of the set. You cannot change the name after you create the set.

                                                                                      */ @@ -3795,12 +3803,7 @@ export interface UpdateRegexPatternSetRequest { LockToken: string | undefined; /** - *

                                                                                      A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                      - */ - Id: string | undefined; - - /** - *

                                                                                      Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                      + *

                                                                                      Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                      *

                                                                                      To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                      *
                                                                                        *
                                                                                      • @@ -3812,6 +3815,21 @@ export interface UpdateRegexPatternSetRequest { *
                                                                                      */ Scope: Scope | string | undefined; + + /** + *

                                                                                      + */ + RegularExpressionList: Regex[] | undefined; + + /** + *

                                                                                      A description of the set that helps with identification. You cannot change the description of a set after you create it.

                                                                                      + */ + Description?: string; + + /** + *

                                                                                      A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                      + */ + Id: string | undefined; } export namespace UpdateRegexPatternSetRequest { @@ -3872,6 +3890,11 @@ export interface Statement { */ ManagedRuleGroupStatement?: ManagedRuleGroupStatement; + /** + *

                                                                                      A rule statement that defines a string match search for AWS WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want AWS WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the AWS WAF console and the developer guide, this is refered to as a string match statement.

                                                                                      + */ + ByteMatchStatement?: ByteMatchStatement; + /** *

                                                                                      A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

                                                                                      *

                                                                                      You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

                                                                                      @@ -3879,15 +3902,26 @@ export interface Statement { RuleGroupReferenceStatement?: RuleGroupReferenceStatement; /** - *

                                                                                      A rule statement that defines a string match search for AWS WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want AWS WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the AWS WAF console and the developer guide, this is refered to as a string match statement.

                                                                                      + *

                                                                                      A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.

                                                                                      + *

                                                                                      Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.

                                                                                      */ - ByteMatchStatement?: ByteMatchStatement; + RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement; /** *

                                                                                      A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

                                                                                      */ AndStatement?: AndStatement; + /** + *

                                                                                      A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

                                                                                      + */ + OrStatement?: OrStatement; + + /** + *

                                                                                      A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

                                                                                      + */ + NotStatement?: NotStatement; + /** *

                                                                                      A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests.

                                                                                      *

                                                                                      When the rule action triggers, AWS WAF blocks additional requests from the IP address until the request rate falls below the limit.

                                                                                      @@ -3905,32 +3939,23 @@ export interface Statement { */ RateBasedStatement?: RateBasedStatement; - /** - *

                                                                                      A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

                                                                                      - */ - NotStatement?: NotStatement; - /** *

                                                                                      A rule statement used to identify web requests based on country of origin.

                                                                                      */ GeoMatchStatement?: GeoMatchStatement; /** - *

                                                                                      A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

                                                                                      + *

                                                                                      A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

                                                                                      + *

                                                                                      If you configure AWS WAF to inspect the request body, AWS WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you can create a size constraint condition and block requests that have a request body greater than 8192 bytes.

                                                                                      + *

                                                                                      If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

                                                                                      */ - OrStatement?: OrStatement; + SizeConstraintStatement?: SizeConstraintStatement; /** *

                                                                                      Attackers sometimes insert malicious SQL code into web requests in an effort to extract data from your database. To allow or block web requests that appear to contain malicious SQL code, create one or more SQL injection match conditions. An SQL injection match condition identifies the part of web requests, such as the URI or the query string, that you want AWS WAF to inspect. Later in the process, when you create a web ACL, you specify whether to allow or block requests that appear to contain malicious SQL code.

                                                                                      */ SqliMatchStatement?: SqliMatchStatement; - /** - *

                                                                                      A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.

                                                                                      - *

                                                                                      Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.

                                                                                      - */ - RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement; - /** *

                                                                                      A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an IPSet that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see CreateIPSet.

                                                                                      *

                                                                                      Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.

                                                                                      @@ -3945,13 +3970,6 @@ export interface Statement { * to use on the search area before AWS WAF searches for character sequences that are likely to be malicious strings.

                                                                                      */ XssMatchStatement?: XssMatchStatement; - - /** - *

                                                                                      A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

                                                                                      - *

                                                                                      If you configure AWS WAF to inspect the request body, AWS WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you can create a size constraint condition and block requests that have a request body greater than 8192 bytes.

                                                                                      - *

                                                                                      If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

                                                                                      - */ - SizeConstraintStatement?: SizeConstraintStatement; } export namespace Statement { @@ -4073,6 +4091,11 @@ export interface Rule { */ Action?: RuleAction; + /** + *

                                                                                      The AWS WAF processing statement for the rule, for example ByteMatchStatement or SizeConstraintStatement.

                                                                                      + */ + Statement: Statement | undefined; + /** *

                                                                                      The override action to apply to the rules in a rule group. Used only for rule statements that reference a rule group, * like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

                                                                                      @@ -4090,19 +4113,14 @@ export interface Rule { OverrideAction?: OverrideAction; /** - *

                                                                                      The name of the rule. You can't change the name of a Rule after you create it.

                                                                                      - */ - Name: string | undefined; - - /** - *

                                                                                      The AWS WAF processing statement for the rule, for example ByteMatchStatement or SizeConstraintStatement.

                                                                                      + *

                                                                                      Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                      */ - Statement: Statement | undefined; + VisibilityConfig: VisibilityConfig | undefined; /** - *

                                                                                      Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                      + *

                                                                                      The name of the rule. You can't change the name of a Rule after you create it.

                                                                                      */ - VisibilityConfig: VisibilityConfig | undefined; + Name: string | undefined; } export namespace Rule { @@ -4151,12 +4169,7 @@ export namespace OrStatement { export interface CheckCapacityRequest { /** - *

                                                                                      An array of Rule that you're configuring to use in a rule group or web ACL.

                                                                                      - */ - Rules: Rule[] | undefined; - - /** - *

                                                                                      Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                      + *

                                                                                      Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                      *

                                                                                      To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                      *
                                                                                        *
                                                                                      • @@ -4168,6 +4181,11 @@ export interface CheckCapacityRequest { *
                                                                                      */ Scope: Scope | string | undefined; + + /** + *

                                                                                      An array of Rule that you're configuring to use in a rule group or web ACL.

                                                                                      + */ + Rules: Rule[] | undefined; } export namespace CheckCapacityRequest { @@ -4178,7 +4196,7 @@ export namespace CheckCapacityRequest { export interface CreateRuleGroupRequest { /** - *

                                                                                      Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                      + *

                                                                                      Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                      *

                                                                                      To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                      *
                                                                                        *
                                                                                      • @@ -4191,11 +4209,29 @@ export interface CreateRuleGroupRequest { */ Scope: Scope | string | undefined; + /** + *

                                                                                        The name of the rule group. You cannot change the name of a rule group after you create it.

                                                                                        + */ + Name: string | undefined; + /** *

                                                                                        An array of key:value pairs to associate with the resource.

                                                                                        */ Tags?: Tag[]; + /** + *

                                                                                        Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                        + */ + VisibilityConfig: VisibilityConfig | undefined; + + /** + *

                                                                                        The Rule statements used to identify the web requests that you + * want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching + * web requests, and parameters that govern how AWS WAF handles them. + *

                                                                                        + */ + Rules?: Rule[]; + /** *

                                                                                        A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.

                                                                                        */ @@ -4216,24 +4252,6 @@ export interface CreateRuleGroupRequest { * The WCU limit for web ACLs is 1,500.

                                                                                        */ Capacity: number | undefined; - - /** - *

                                                                                        Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                        - */ - VisibilityConfig: VisibilityConfig | undefined; - - /** - *

                                                                                        The name of the rule group. You cannot change the name of a rule group after you create it.

                                                                                        - */ - Name: string | undefined; - - /** - *

                                                                                        The Rule statements used to identify the web requests that you - * want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching - * web requests, and parameters that govern how AWS WAF handles them. - *

                                                                                        - */ - Rules?: Rule[]; } export namespace CreateRuleGroupRequest { @@ -4244,24 +4262,27 @@ export namespace CreateRuleGroupRequest { export interface CreateWebACLRequest { /** - *

                                                                                        The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

                                                                                        + *

                                                                                        Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                        */ - Name: string | undefined; + VisibilityConfig: VisibilityConfig | undefined; /** - *

                                                                                        Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                        + *

                                                                                        A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

                                                                                        */ - VisibilityConfig: VisibilityConfig | undefined; + Description?: string; /** - *

                                                                                        The action to perform if none of the Rules contained in the WebACL match.

                                                                                        + *

                                                                                        The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

                                                                                        */ - DefaultAction: DefaultAction | undefined; + Name: string | undefined; /** - *

                                                                                        A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

                                                                                        + *

                                                                                        The Rule statements used to identify the web requests that you + * want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching + * web requests, and parameters that govern how AWS WAF handles them. + *

                                                                                        */ - Description?: string; + Rules?: Rule[]; /** *

                                                                                        An array of key:value pairs to associate with the resource.

                                                                                        @@ -4269,7 +4290,7 @@ export interface CreateWebACLRequest { Tags?: Tag[]; /** - *

                                                                                        Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                        + *

                                                                                        Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                        *

                                                                                        To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                        *
                                                                                          *
                                                                                        • @@ -4283,12 +4304,9 @@ export interface CreateWebACLRequest { Scope: Scope | string | undefined; /** - *

                                                                                          The Rule statements used to identify the web requests that you - * want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching - * web requests, and parameters that govern how AWS WAF handles them. - *

                                                                                          + *

                                                                                          The action to perform if none of the Rules contained in the WebACL match.

                                                                                          */ - Rules?: Rule[]; + DefaultAction: DefaultAction | undefined; } export namespace CreateWebACLRequest { @@ -4305,9 +4323,25 @@ export namespace CreateWebACLRequest { */ export interface RuleGroup { /** - *

                                                                                          A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                          + *

                                                                                          Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                          */ - Id: string | undefined; + VisibilityConfig: VisibilityConfig | undefined; + + /** + *

                                                                                          The web ACL capacity units (WCUs) required for this rule group.

                                                                                          + *

                                                                                          When you create your own rule group, you define this, and you cannot change it after creation. + * When you add or modify the rules in a rule group, AWS WAF enforces this limit. You can check the capacity + * for a set of rules using CheckCapacity.

                                                                                          + *

                                                                                          AWS WAF uses WCUs to calculate and control the operating + * resources that are used to run your rules, rule groups, and web ACLs. AWS WAF + * calculates capacity differently for each rule type, to reflect the relative cost of each rule. + * Simple rules that cost little to run use fewer WCUs than more complex rules + * that use more processing power. + * Rule group capacity is fixed at creation, which helps users plan their + * web ACL WCU usage when they use a rule group. + * The WCU limit for web ACLs is 1,500.

                                                                                          + */ + Capacity: number | undefined; /** *

                                                                                          The Amazon Resource Name (ARN) of the entity.

                                                                                          @@ -4315,9 +4349,9 @@ export interface RuleGroup { ARN: string | undefined; /** - *

                                                                                          Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                          + *

                                                                                          The name of the rule group. You cannot change the name of a rule group after you create it.

                                                                                          */ - VisibilityConfig: VisibilityConfig | undefined; + Name: string | undefined; /** *

                                                                                          The Rule statements used to identify the web requests that you @@ -4328,30 +4362,14 @@ export interface RuleGroup { Rules?: Rule[]; /** - *

                                                                                          The name of the rule group. You cannot change the name of a rule group after you create it.

                                                                                          + *

                                                                                          A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                          */ - Name: string | undefined; + Id: string | undefined; /** *

                                                                                          A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.

                                                                                          */ Description?: string; - - /** - *

                                                                                          The web ACL capacity units (WCUs) required for this rule group.

                                                                                          - *

                                                                                          When you create your own rule group, you define this, and you cannot change it after creation. - * When you add or modify the rules in a rule group, AWS WAF enforces this limit. You can check the capacity - * for a set of rules using CheckCapacity.

                                                                                          - *

                                                                                          AWS WAF uses WCUs to calculate and control the operating - * resources that are used to run your rules, rule groups, and web ACLs. AWS WAF - * calculates capacity differently for each rule type, to reflect the relative cost of each rule. - * Simple rules that cost little to run use fewer WCUs than more complex rules - * that use more processing power. - * Rule group capacity is fixed at creation, which helps users plan their - * web ACL WCU usage when they use a rule group. - * The WCU limit for web ACLs is 1,500.

                                                                                          - */ - Capacity: number | undefined; } export namespace RuleGroup { @@ -4362,15 +4380,7 @@ export namespace RuleGroup { export interface UpdateRuleGroupRequest { /** - *

                                                                                          The Rule statements used to identify the web requests that you - * want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching - * web requests, and parameters that govern how AWS WAF handles them. - *

                                                                                          - */ - Rules?: Rule[]; - - /** - *

                                                                                          Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                          + *

                                                                                          Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                          *

                                                                                          To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                          *
                                                                                            *
                                                                                          • @@ -4383,15 +4393,20 @@ export interface UpdateRuleGroupRequest { */ Scope: Scope | string | undefined; + /** + *

                                                                                            A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.

                                                                                            + */ + Description?: string; + /** *

                                                                                            A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            */ LockToken: string | undefined; /** - *

                                                                                            The name of the rule group. You cannot change the name of a rule group after you create it.

                                                                                            + *

                                                                                            A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                            */ - Name: string | undefined; + Id: string | undefined; /** *

                                                                                            Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                            @@ -4399,14 +4414,17 @@ export interface UpdateRuleGroupRequest { VisibilityConfig: VisibilityConfig | undefined; /** - *

                                                                                            A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                            + *

                                                                                            The Rule statements used to identify the web requests that you + * want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching + * web requests, and parameters that govern how AWS WAF handles them. + *

                                                                                            */ - Id: string | undefined; + Rules?: Rule[]; /** - *

                                                                                            A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.

                                                                                            + *

                                                                                            The name of the rule group. You cannot change the name of a rule group after you create it.

                                                                                            */ - Description?: string; + Name: string | undefined; } export namespace UpdateRuleGroupRequest { @@ -4416,18 +4434,38 @@ export namespace UpdateRuleGroupRequest { } export interface UpdateWebACLRequest { + /** + *

                                                                                            A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            + */ + LockToken: string | undefined; + /** *

                                                                                            The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

                                                                                            */ Name: string | undefined; /** - *

                                                                                            A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            + *

                                                                                            Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                            */ - LockToken: string | undefined; + VisibilityConfig: VisibilityConfig | undefined; + + /** + *

                                                                                            The action to perform if none of the Rules contained in the WebACL match.

                                                                                            + */ + DefaultAction: DefaultAction | undefined; + + /** + *

                                                                                            The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                            + */ + Id: string | undefined; /** - *

                                                                                            Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

                                                                                            + *

                                                                                            A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

                                                                                            + */ + Description?: string; + + /** + *

                                                                                            Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.

                                                                                            *

                                                                                            To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                            *
                                                                                              *
                                                                                            • @@ -4440,11 +4478,6 @@ export interface UpdateWebACLRequest { */ Scope: Scope | string | undefined; - /** - *

                                                                                              The action to perform if none of the Rules contained in the WebACL match.

                                                                                              - */ - DefaultAction: DefaultAction | undefined; - /** *

                                                                                              The Rule statements used to identify the web requests that you * want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching @@ -4452,21 +4485,6 @@ export interface UpdateWebACLRequest { *

                                                                                              */ Rules?: Rule[]; - - /** - *

                                                                                              A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

                                                                                              - */ - Description?: string; - - /** - *

                                                                                              The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                              - */ - Id: string | undefined; - - /** - *

                                                                                              Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                              - */ - VisibilityConfig: VisibilityConfig | undefined; } export namespace UpdateWebACLRequest { @@ -4479,28 +4497,49 @@ export namespace UpdateWebACLRequest { * *

                                                                                              This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

                                                                                              *
                                                                                              - *

                                                                                              A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway API, or an Application Load Balancer.

                                                                                              + *

                                                                                              A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AWS AppSync GraphQL API.

                                                                                              */ export interface WebACL { + /** + *

                                                                                              A unique identifier for the WebACL. This ID is returned in the responses to create and list commands. You use this ID to do things like get, update, and delete a WebACL.

                                                                                              + */ + Id: string | undefined; + + /** + *

                                                                                              The web ACL capacity units (WCUs) currently being used by this web ACL.

                                                                                              + *

                                                                                              AWS WAF uses WCUs to calculate and control the operating + * resources that are used to run your rules, rule groups, and web ACLs. AWS WAF + * calculates capacity differently for each rule type, to reflect the relative cost of each rule. + * Simple rules that cost little to run use fewer WCUs than more complex rules + * that use more processing power. + * Rule group capacity is fixed at creation, which helps users plan their + * web ACL WCU usage when they use a rule group. + * The WCU limit for web ACLs is 1,500.

                                                                                              + */ + Capacity?: number; + + /** + *

                                                                                              The Rule statements used to identify the web requests that you + * want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching + * web requests, and parameters that govern how AWS WAF handles them. + *

                                                                                              + */ + Rules?: Rule[]; + /** *

                                                                                              The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

                                                                                              */ Name: string | undefined; /** - *

                                                                                              The last set of rules for AWS WAF to process in the web ACL. This is defined in an AWS Firewall Manager WAF policy and - * contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are - * prioritized before these.

                                                                                              - *

                                                                                              In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL - * and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to - * determine their relative processing order.

                                                                                              + *

                                                                                              A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

                                                                                              */ - PostProcessFirewallManagerRuleGroups?: FirewallManagerRuleGroup[]; + Description?: string; /** - *

                                                                                              The action to perform if none of the Rules contained in the WebACL match.

                                                                                              + *

                                                                                              The Amazon Resource Name (ARN) of the Web ACL that you want to associate with the resource.

                                                                                              */ - DefaultAction: DefaultAction | undefined; + ARN: string | undefined; /** *

                                                                                              Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                              @@ -4508,27 +4547,24 @@ export interface WebACL { VisibilityConfig: VisibilityConfig | undefined; /** - *

                                                                                              A unique identifier for the WebACL. This ID is returned in the responses to create and list commands. You use this ID to do things like get, update, and delete a WebACL.

                                                                                              + *

                                                                                              Indicates whether this web ACL is managed by AWS Firewall Manager. If true, then only AWS Firewall Manager can delete the web ACL or any Firewall Manager rule groups in the web ACL.

                                                                                              */ - Id: string | undefined; + ManagedByFirewallManager?: boolean; /** - *

                                                                                              A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

                                                                                              + *

                                                                                              The action to perform if none of the Rules contained in the WebACL match.

                                                                                              */ - Description?: string; + DefaultAction: DefaultAction | undefined; /** - *

                                                                                              The web ACL capacity units (WCUs) currently being used by this web ACL.

                                                                                              - *

                                                                                              AWS WAF uses WCUs to calculate and control the operating - * resources that are used to run your rules, rule groups, and web ACLs. AWS WAF - * calculates capacity differently for each rule type, to reflect the relative cost of each rule. - * Simple rules that cost little to run use fewer WCUs than more complex rules - * that use more processing power. - * Rule group capacity is fixed at creation, which helps users plan their - * web ACL WCU usage when they use a rule group. - * The WCU limit for web ACLs is 1,500.

                                                                                              + *

                                                                                              The last set of rules for AWS WAF to process in the web ACL. This is defined in an AWS Firewall Manager WAF policy and + * contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are + * prioritized before these.

                                                                                              + *

                                                                                              In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL + * and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to + * determine their relative processing order.

                                                                                              */ - Capacity?: number; + PostProcessFirewallManagerRuleGroups?: FirewallManagerRuleGroup[]; /** *

                                                                                              The first set of rules for AWS WAF to process in the web ACL. This is defined in an AWS Firewall Manager WAF policy and @@ -4539,24 +4575,6 @@ export interface WebACL { * determine their relative processing order.

                                                                                              */ PreProcessFirewallManagerRuleGroups?: FirewallManagerRuleGroup[]; - - /** - *

                                                                                              Indicates whether this web ACL is managed by AWS Firewall Manager. If true, then only AWS Firewall Manager can delete the web ACL or any Firewall Manager rule groups in the web ACL.

                                                                                              - */ - ManagedByFirewallManager?: boolean; - - /** - *

                                                                                              The Amazon Resource Name (ARN) of the Web ACL that you want to associate with the resource.

                                                                                              - */ - ARN: string | undefined; - - /** - *

                                                                                              The Rule statements used to identify the web requests that you - * want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching - * web requests, and parameters that govern how AWS WAF handles them. - *

                                                                                              - */ - Rules?: Rule[]; } export namespace WebACL { @@ -4598,14 +4616,14 @@ export namespace GetWebACLForResourceResponse { export interface GetWebACLResponse { /** - *

                                                                                              A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + *

                                                                                              The Web ACL specification. You can modify the settings in this Web ACL and use it to update this Web ACL or create a new one.

                                                                                              */ - LockToken?: string; + WebACL?: WebACL; /** - *

                                                                                              The Web ACL specification. You can modify the settings in this Web ACL and use it to update this Web ACL or create a new one.

                                                                                              + *

                                                                                              A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              */ - WebACL?: WebACL; + LockToken?: string; } export namespace GetWebACLResponse { diff --git a/clients/client-wafv2/protocols/Aws_json1_1.ts b/clients/client-wafv2/protocols/Aws_json1_1.ts index f20e700325b2..5ce338cf2d49 100644 --- a/clients/client-wafv2/protocols/Aws_json1_1.ts +++ b/clients/client-wafv2/protocols/Aws_json1_1.ts @@ -5131,6 +5131,7 @@ const serializeAws_json1_1LoggingConfiguration = (input: LoggingConfiguration, c ...(input.LogDestinationConfigs !== undefined && { LogDestinationConfigs: serializeAws_json1_1LogDestinationConfigs(input.LogDestinationConfigs, context), }), + ...(input.ManagedByFirewallManager !== undefined && { ManagedByFirewallManager: input.ManagedByFirewallManager }), ...(input.RedactedFields !== undefined && { RedactedFields: serializeAws_json1_1RedactedFields(input.RedactedFields, context), }), @@ -6096,6 +6097,10 @@ const deserializeAws_json1_1LoggingConfiguration = (output: any, context: __Serd output.LogDestinationConfigs !== undefined && output.LogDestinationConfigs !== null ? deserializeAws_json1_1LogDestinationConfigs(output.LogDestinationConfigs, context) : undefined, + ManagedByFirewallManager: + output.ManagedByFirewallManager !== undefined && output.ManagedByFirewallManager !== null + ? output.ManagedByFirewallManager + : undefined, RedactedFields: output.RedactedFields !== undefined && output.RedactedFields !== null ? deserializeAws_json1_1RedactedFields(output.RedactedFields, context) diff --git a/clients/client-workdocs/models/models_0.ts b/clients/client-workdocs/models/models_0.ts index 1c93dd32fec4..4f2c083a0c87 100644 --- a/clients/client-workdocs/models/models_0.ts +++ b/clients/client-workdocs/models/models_0.ts @@ -3,14 +3,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; export interface AbortDocumentVersionUploadRequest { /** - *

                                                                                              The ID of the document.

                                                                                              + *

                                                                                              The ID of the version.

                                                                                              */ - DocumentId: string | undefined; + VersionId: string | undefined; /** - *

                                                                                              The ID of the version.

                                                                                              + *

                                                                                              The ID of the document.

                                                                                              */ - VersionId: string | undefined; + DocumentId: string | undefined; /** *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              @@ -94,8 +94,8 @@ export namespace ServiceUnavailableException { export interface UnauthorizedOperationException extends __SmithyException, $MetadataBearer { name: "UnauthorizedOperationException"; $fault: "client"; - Code?: string; Message?: string; + Code?: string; } export namespace UnauthorizedOperationException { @@ -121,14 +121,14 @@ export namespace UnauthorizedResourceAccessException { export interface ActivateUserRequest { /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the user.

                                                                                              */ - AuthenticationToken?: string; + UserId: string | undefined; /** - *

                                                                                              The ID of the user.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - UserId: string | undefined; + AuthenticationToken?: string; } export namespace ActivateUserRequest { @@ -168,14 +168,14 @@ export enum StorageType { */ export interface StorageRuleType { /** - *

                                                                                              The amount of storage allocated, in bytes.

                                                                                              + *

                                                                                              The type of storage.

                                                                                              */ - StorageAllocatedInBytes?: number; + StorageType?: StorageType | string; /** - *

                                                                                              The type of storage.

                                                                                              + *

                                                                                              The amount of storage allocated, in bytes.

                                                                                              */ - StorageType?: StorageType | string; + StorageAllocatedInBytes?: number; } export namespace StorageRuleType { @@ -189,14 +189,14 @@ export namespace StorageRuleType { */ export interface UserStorageMetadata { /** - *

                                                                                              The amount of storage used, in bytes.

                                                                                              + *

                                                                                              The storage for a user.

                                                                                              */ - StorageUtilizedInBytes?: number; + StorageRule?: StorageRuleType; /** - *

                                                                                              The storage for a user.

                                                                                              + *

                                                                                              The amount of storage used, in bytes.

                                                                                              */ - StorageRule?: StorageRuleType; + StorageUtilizedInBytes?: number; } export namespace UserStorageMetadata { @@ -218,24 +218,24 @@ export enum UserType { */ export interface User { /** - *

                                                                                              The status of the user.

                                                                                              + *

                                                                                              The surname of the user.

                                                                                              */ - Status?: UserStatusType | string; + Surname?: string; /** - *

                                                                                              The given name of the user.

                                                                                              + *

                                                                                              The time when the user was modified.

                                                                                              */ - GivenName?: string; + ModifiedTimestamp?: Date; /** - *

                                                                                              The ID of the organization.

                                                                                              + *

                                                                                              The login name of the user.

                                                                                              */ - OrganizationId?: string; + Username?: string; /** - *

                                                                                              The email address of the user.

                                                                                              + *

                                                                                              The ID of the user.

                                                                                              */ - EmailAddress?: string; + Id?: string; /** *

                                                                                              The ID of the root folder.

                                                                                              @@ -243,54 +243,54 @@ export interface User { RootFolderId?: string; /** - *

                                                                                              The ID of the recycle bin folder.

                                                                                              + *

                                                                                              The locale of the user.

                                                                                              */ - RecycleBinFolderId?: string; + Locale?: LocaleType | string; /** - *

                                                                                              The time when the user was created.

                                                                                              + *

                                                                                              The time zone ID of the user.

                                                                                              */ - CreatedTimestamp?: Date; + TimeZoneId?: string; /** - *

                                                                                              The locale of the user.

                                                                                              + *

                                                                                              The time when the user was created.

                                                                                              */ - Locale?: LocaleType | string; + CreatedTimestamp?: Date; /** - *

                                                                                              The ID of the user.

                                                                                              + *

                                                                                              The ID of the organization.

                                                                                              */ - Id?: string; + OrganizationId?: string; /** - *

                                                                                              The storage for the user.

                                                                                              + *

                                                                                              The given name of the user.

                                                                                              */ - Storage?: UserStorageMetadata; + GivenName?: string; /** - *

                                                                                              The type of user.

                                                                                              + *

                                                                                              The email address of the user.

                                                                                              */ - Type?: UserType | string; + EmailAddress?: string; /** - *

                                                                                              The surname of the user.

                                                                                              + *

                                                                                              The ID of the recycle bin folder.

                                                                                              */ - Surname?: string; + RecycleBinFolderId?: string; /** - *

                                                                                              The login name of the user.

                                                                                              + *

                                                                                              The type of user.

                                                                                              */ - Username?: string; + Type?: UserType | string; /** - *

                                                                                              The time zone ID of the user.

                                                                                              + *

                                                                                              The status of the user.

                                                                                              */ - TimeZoneId?: string; + Status?: UserStatusType | string; /** - *

                                                                                              The time when the user was modified.

                                                                                              + *

                                                                                              The storage for the user.

                                                                                              */ - ModifiedTimestamp?: Date; + Storage?: UserStorageMetadata; } export namespace User { @@ -322,11 +322,6 @@ export enum CommentStatusType { *

                                                                                              Describes the metadata of a comment.

                                                                                              */ export interface CommentMetadata { - /** - *

                                                                                              The timestamp that the comment was created.

                                                                                              - */ - CreatedTimestamp?: Date; - /** *

                                                                                              The ID of the comment.

                                                                                              */ @@ -346,6 +341,11 @@ export interface CommentMetadata { *

                                                                                              The ID of the user being replied to.

                                                                                              */ RecipientId?: string; + + /** + *

                                                                                              The timestamp that the comment was created.

                                                                                              + */ + CreatedTimestamp?: Date; } export namespace CommentMetadata { @@ -359,14 +359,14 @@ export namespace CommentMetadata { */ export interface UserMetadata { /** - *

                                                                                              The surname of the user.

                                                                                              + *

                                                                                              The given name of the user before a rename operation.

                                                                                              */ - Surname?: string; + GivenName?: string; /** - *

                                                                                              The email address of the user.

                                                                                              + *

                                                                                              The surname of the user.

                                                                                              */ - EmailAddress?: string; + Surname?: string; /** *

                                                                                              The name of the user.

                                                                                              @@ -374,14 +374,14 @@ export interface UserMetadata { Username?: string; /** - *

                                                                                              The ID of the user.

                                                                                              + *

                                                                                              The email address of the user.

                                                                                              */ - Id?: string; + EmailAddress?: string; /** - *

                                                                                              The given name of the user before a rename operation.

                                                                                              + *

                                                                                              The ID of the user.

                                                                                              */ - GivenName?: string; + Id?: string; } export namespace UserMetadata { @@ -400,15 +400,14 @@ export enum ResourceType { */ export interface ResourceMetadata { /** - *

                                                                                              The version ID of the resource. This is an optional field and is filled for action - * on document version.

                                                                                              + *

                                                                                              The name of the resource.

                                                                                              */ - VersionId?: string; + Name?: string; /** - *

                                                                                              The type of resource.

                                                                                              + *

                                                                                              The original name of the resource before a rename operation.

                                                                                              */ - Type?: ResourceType | string; + OriginalName?: string; /** *

                                                                                              The owner of the resource.

                                                                                              @@ -416,24 +415,25 @@ export interface ResourceMetadata { Owner?: UserMetadata; /** - *

                                                                                              The original name of the resource before a rename operation.

                                                                                              + *

                                                                                              The version ID of the resource. This is an optional field and is filled for action + * on document version.

                                                                                              */ - OriginalName?: string; + VersionId?: string; /** - *

                                                                                              The name of the resource.

                                                                                              + *

                                                                                              The parent ID of the resource before a rename operation.

                                                                                              */ - Name?: string; + ParentId?: string; /** - *

                                                                                              The ID of the resource.

                                                                                              + *

                                                                                              The type of resource.

                                                                                              */ - Id?: string; + Type?: ResourceType | string; /** - *

                                                                                              The parent ID of the resource before a rename operation.

                                                                                              + *

                                                                                              The ID of the resource.

                                                                                              */ - ParentId?: string; + Id?: string; } export namespace ResourceMetadata { @@ -447,14 +447,14 @@ export namespace ResourceMetadata { */ export interface GroupMetadata { /** - *

                                                                                              The name of the group.

                                                                                              + *

                                                                                              The ID of the user group.

                                                                                              */ - Name?: string; + Id?: string; /** - *

                                                                                              The ID of the user group.

                                                                                              + *

                                                                                              The name of the group.

                                                                                              */ - Id?: string; + Name?: string; } export namespace GroupMetadata { @@ -468,14 +468,14 @@ export namespace GroupMetadata { */ export interface Participants { /** - *

                                                                                              The list of users.

                                                                                              + *

                                                                                              The list of user groups.

                                                                                              */ - Users?: UserMetadata[]; + Groups?: GroupMetadata[]; /** - *

                                                                                              The list of user groups.

                                                                                              + *

                                                                                              The list of users.

                                                                                              */ - Groups?: GroupMetadata[]; + Users?: UserMetadata[]; } export namespace Participants { @@ -525,12 +525,9 @@ export enum ActivityType { */ export interface Activity { /** - *

                                                                                              Indicates whether an activity is indirect or direct. An indirect activity results - * from a direct activity performed on a parent resource. For example, sharing a parent - * folder (the direct activity) shares all of the subfolders and documents within the - * parent folder (the indirect activity).

                                                                                              + *

                                                                                              The timestamp when the action was performed.

                                                                                              */ - IsIndirectActivity?: boolean; + TimeStamp?: Date; /** *

                                                                                              The list of users or groups impacted by this action. This is an optional field and @@ -540,41 +537,44 @@ export interface Activity { Participants?: Participants; /** - *

                                                                                              The ID of the organization.

                                                                                              + *

                                                                                              The user who performed the action.

                                                                                              */ - OrganizationId?: string; + Initiator?: UserMetadata; /** - *

                                                                                              The user who performed the action.

                                                                                              + *

                                                                                              The original parent of the resource. This is an optional field and is filled for + * move activities.

                                                                                              */ - Initiator?: UserMetadata; + OriginalParent?: ResourceMetadata; /** - *

                                                                                              Metadata of the commenting activity. This is an optional field and is filled for - * commenting activities.

                                                                                              + *

                                                                                              Indicates whether an activity is indirect or direct. An indirect activity results + * from a direct activity performed on a parent resource. For example, sharing a parent + * folder (the direct activity) shares all of the subfolders and documents within the + * parent folder (the indirect activity).

                                                                                              */ - CommentMetadata?: CommentMetadata; + IsIndirectActivity?: boolean; /** - *

                                                                                              The activity type.

                                                                                              + *

                                                                                              Metadata of the commenting activity. This is an optional field and is filled for + * commenting activities.

                                                                                              */ - Type?: ActivityType | string; + CommentMetadata?: CommentMetadata; /** - *

                                                                                              The original parent of the resource. This is an optional field and is filled for - * move activities.

                                                                                              + *

                                                                                              The metadata of the resource involved in the user action.

                                                                                              */ - OriginalParent?: ResourceMetadata; + ResourceMetadata?: ResourceMetadata; /** - *

                                                                                              The timestamp when the action was performed.

                                                                                              + *

                                                                                              The ID of the organization.

                                                                                              */ - TimeStamp?: Date; + OrganizationId?: string; /** - *

                                                                                              The metadata of the resource involved in the user action.

                                                                                              + *

                                                                                              The activity type.

                                                                                              */ - ResourceMetadata?: ResourceMetadata; + Type?: ActivityType | string; } export namespace Activity { @@ -587,16 +587,16 @@ export namespace Activity { *

                                                                                              Set of options which defines notification preferences of given action.

                                                                                              */ export interface NotificationOptions { - /** - *

                                                                                              Text value to be included in the email body.

                                                                                              - */ - EmailMessage?: string; - /** *

                                                                                              Boolean value to indicate an email notification should be sent to the * receipients.

                                                                                              */ SendEmail?: boolean; + + /** + *

                                                                                              Text value to be included in the email body.

                                                                                              + */ + EmailMessage?: string; } export namespace NotificationOptions { @@ -626,14 +626,14 @@ export enum PrincipalType { */ export interface SharePrincipal { /** - *

                                                                                              The ID of the recipient.

                                                                                              + *

                                                                                              The role of the recipient.

                                                                                              */ - Id: string | undefined; + Role: RoleType | string | undefined; /** - *

                                                                                              The role of the recipient.

                                                                                              + *

                                                                                              The ID of the recipient.

                                                                                              */ - Role: RoleType | string | undefined; + Id: string | undefined; /** *

                                                                                              The type of the recipient.

                                                                                              @@ -654,9 +654,9 @@ export interface AddResourcePermissionsRequest { NotificationOptions?: NotificationOptions; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The users, groups, or organization being granted permission.

                                                                                              */ - AuthenticationToken?: string; + Principals: SharePrincipal[] | undefined; /** *

                                                                                              The ID of the resource.

                                                                                              @@ -664,9 +664,9 @@ export interface AddResourcePermissionsRequest { ResourceId: string | undefined; /** - *

                                                                                              The users, groups, or organization being granted permission.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - Principals: SharePrincipal[] | undefined; + AuthenticationToken?: string; } export namespace AddResourcePermissionsRequest { @@ -689,29 +689,29 @@ export enum ShareStatusType { */ export interface ShareResult { /** - *

                                                                                              The ID of the invited user.

                                                                                              + *

                                                                                              The role.

                                                                                              */ - InviteePrincipalId?: string; + Role?: RoleType | string; /** - *

                                                                                              The status message.

                                                                                              + *

                                                                                              The ID of the resource that was shared.

                                                                                              */ - StatusMessage?: string; + ShareId?: string; /** - *

                                                                                              The role.

                                                                                              + *

                                                                                              The status.

                                                                                              */ - Role?: RoleType | string; + Status?: ShareStatusType | string; /** - *

                                                                                              The status.

                                                                                              + *

                                                                                              The status message.

                                                                                              */ - Status?: ShareStatusType | string; + StatusMessage?: string; /** - *

                                                                                              The ID of the resource that was shared.

                                                                                              + *

                                                                                              The ID of the invited user.

                                                                                              */ - ShareId?: string; + InviteePrincipalId?: string; /** *

                                                                                              The ID of the principal.

                                                                                              @@ -746,12 +746,6 @@ export enum CommentVisibilityType { } export interface CreateCommentRequest { - /** - *

                                                                                              Set this parameter to TRUE to send an email out to the document collaborators after - * the comment is created.

                                                                                              - */ - NotifyCollaborators?: boolean; - /** *

                                                                                              The ID of the parent comment.

                                                                                              */ @@ -765,14 +759,15 @@ export interface CreateCommentRequest { Visibility?: CommentVisibilityType | string; /** - *

                                                                                              The ID of the root comment in the thread.

                                                                                              + *

                                                                                              Set this parameter to TRUE to send an email out to the document collaborators after + * the comment is created.

                                                                                              */ - ThreadId?: string; + NotifyCollaborators?: boolean; /** - *

                                                                                              The ID of the document version.

                                                                                              + *

                                                                                              The text of the comment.

                                                                                              */ - VersionId: string | undefined; + Text: string | undefined; /** *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              @@ -780,21 +775,26 @@ export interface CreateCommentRequest { AuthenticationToken?: string; /** - *

                                                                                              The text of the comment.

                                                                                              + *

                                                                                              The ID of the document.

                                                                                              */ - Text: string | undefined; + DocumentId: string | undefined; /** - *

                                                                                              The ID of the document.

                                                                                              + *

                                                                                              The ID of the document version.

                                                                                              */ - DocumentId: string | undefined; + VersionId: string | undefined; + + /** + *

                                                                                              The ID of the root comment in the thread.

                                                                                              + */ + ThreadId?: string; } export namespace CreateCommentRequest { export const filterSensitiveLog = (obj: CreateCommentRequest): any => ({ ...obj, - ...(obj.AuthenticationToken && { AuthenticationToken: SENSITIVE_STRING }), ...(obj.Text && { Text: SENSITIVE_STRING }), + ...(obj.AuthenticationToken && { AuthenticationToken: SENSITIVE_STRING }), }); } @@ -803,14 +803,16 @@ export namespace CreateCommentRequest { */ export interface Comment { /** - *

                                                                                              The ID of the comment.

                                                                                              + *

                                                                                              The visibility of the comment. Options are either PRIVATE, where the comment is + * visible only to the comment author and document owner and co-owners, or PUBLIC, where + * the comment is visible to document owners, co-owners, and contributors.

                                                                                              */ - CommentId: string | undefined; + Visibility?: CommentVisibilityType | string; /** - *

                                                                                              The ID of the parent comment.

                                                                                              + *

                                                                                              The details of the user who made the comment.

                                                                                              */ - ParentId?: string; + Contributor?: User; /** *

                                                                                              If the comment is a reply to another user's comment, this field contains the user @@ -819,26 +821,24 @@ export interface Comment { RecipientId?: string; /** - *

                                                                                              The time that the comment was created.

                                                                                              + *

                                                                                              The ID of the comment.

                                                                                              */ - CreatedTimestamp?: Date; + CommentId: string | undefined; /** - *

                                                                                              The details of the user who made the comment.

                                                                                              + *

                                                                                              The time that the comment was created.

                                                                                              */ - Contributor?: User; + CreatedTimestamp?: Date; /** - *

                                                                                              The visibility of the comment. Options are either PRIVATE, where the comment is - * visible only to the comment author and document owner and co-owners, or PUBLIC, where - * the comment is visible to document owners, co-owners, and contributors.

                                                                                              + *

                                                                                              The ID of the parent comment.

                                                                                              */ - Visibility?: CommentVisibilityType | string; + ParentId?: string; /** - *

                                                                                              The status of the comment.

                                                                                              + *

                                                                                              The text of the comment.

                                                                                              */ - Status?: CommentStatusType | string; + Text?: string; /** *

                                                                                              The ID of the root comment in the thread.

                                                                                              @@ -846,9 +846,9 @@ export interface Comment { ThreadId?: string; /** - *

                                                                                              The text of the comment.

                                                                                              + *

                                                                                              The status of the comment.

                                                                                              */ - Text?: string; + Status?: CommentStatusType | string; } export namespace Comment { @@ -905,14 +905,14 @@ export namespace InvalidCommentOperationException { export interface CreateCustomMetadataRequest { /** - *

                                                                                              Custom metadata in the form of name-value pairs.

                                                                                              + *

                                                                                              The ID of the resource.

                                                                                              */ - CustomMetadata: { [key: string]: string } | undefined; + ResourceId: string | undefined; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              Custom metadata in the form of name-value pairs.

                                                                                              */ - AuthenticationToken?: string; + CustomMetadata: { [key: string]: string } | undefined; /** *

                                                                                              The ID of the version, if the custom metadata is being added to a document @@ -921,9 +921,9 @@ export interface CreateCustomMetadataRequest { VersionId?: string; /** - *

                                                                                              The ID of the resource.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - ResourceId: string | undefined; + AuthenticationToken?: string; } export namespace CreateCustomMetadataRequest { @@ -974,9 +974,9 @@ export namespace ConflictingOperationException { export interface CreateFolderRequest { /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the parent folder.

                                                                                              */ - AuthenticationToken?: string; + ParentFolderId: string | undefined; /** *

                                                                                              The name of the new folder.

                                                                                              @@ -984,9 +984,9 @@ export interface CreateFolderRequest { Name?: string; /** - *

                                                                                              The ID of the parent folder.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - ParentFolderId: string | undefined; + AuthenticationToken?: string; } export namespace CreateFolderRequest { @@ -1008,14 +1008,9 @@ export enum ResourceStateType { */ export interface FolderMetadata { /** - *

                                                                                              The time when the folder was updated.

                                                                                              - */ - ModifiedTimestamp?: Date; - - /** - *

                                                                                              List of labels on the folder.

                                                                                              + *

                                                                                              The time when the folder was created.

                                                                                              */ - Labels?: string[]; + CreatedTimestamp?: Date; /** *

                                                                                              The unique identifier created from the subfolders and documents of the @@ -1029,19 +1024,19 @@ export interface FolderMetadata { CreatorId?: string; /** - *

                                                                                              The ID of the parent folder.

                                                                                              + *

                                                                                              The ID of the folder.

                                                                                              */ - ParentFolderId?: string; + Id?: string; /** - *

                                                                                              The name of the folder.

                                                                                              + *

                                                                                              The resource state of the folder.

                                                                                              */ - Name?: string; + ResourceState?: ResourceStateType | string; /** - *

                                                                                              The ID of the folder.

                                                                                              + *

                                                                                              The time when the folder was updated.

                                                                                              */ - Id?: string; + ModifiedTimestamp?: Date; /** *

                                                                                              The size of the latest version of the folder metadata.

                                                                                              @@ -1054,14 +1049,19 @@ export interface FolderMetadata { Size?: number; /** - *

                                                                                              The resource state of the folder.

                                                                                              + *

                                                                                              List of labels on the folder.

                                                                                              */ - ResourceState?: ResourceStateType | string; + Labels?: string[]; /** - *

                                                                                              The time when the folder was created.

                                                                                              + *

                                                                                              The name of the folder.

                                                                                              */ - CreatedTimestamp?: Date; + Name?: string; + + /** + *

                                                                                              The ID of the parent folder.

                                                                                              + */ + ParentFolderId?: string; } export namespace FolderMetadata { @@ -1114,11 +1114,6 @@ export namespace LimitExceededException { } export interface CreateLabelsRequest { - /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              - */ - AuthenticationToken?: string; - /** *

                                                                                              List of labels to add to the resource.

                                                                                              */ @@ -1128,6 +1123,11 @@ export interface CreateLabelsRequest { *

                                                                                              The ID of the resource.

                                                                                              */ ResourceId: string | undefined; + + /** + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + */ + AuthenticationToken?: string; } export namespace CreateLabelsRequest { @@ -1170,11 +1170,6 @@ export enum SubscriptionType { } export interface CreateNotificationSubscriptionRequest { - /** - *

                                                                                              The notification type.

                                                                                              - */ - SubscriptionType: SubscriptionType | string | undefined; - /** *

                                                                                              The protocol to use. The supported value is https, which delivers JSON-encoded * messages using HTTPS POST.

                                                                                              @@ -1182,15 +1177,20 @@ export interface CreateNotificationSubscriptionRequest { Protocol: SubscriptionProtocolType | string | undefined; /** - *

                                                                                              The endpoint to receive the notifications. If the protocol is HTTPS, the endpoint - * is a URL that begins with https.

                                                                                              + *

                                                                                              The notification type.

                                                                                              */ - Endpoint: string | undefined; + SubscriptionType: SubscriptionType | string | undefined; /** *

                                                                                              The ID of the organization.

                                                                                              */ OrganizationId: string | undefined; + + /** + *

                                                                                              The endpoint to receive the notifications. If the protocol is HTTPS, the endpoint + * is a URL that begins with https.

                                                                                              + */ + Endpoint: string | undefined; } export namespace CreateNotificationSubscriptionRequest { @@ -1203,11 +1203,6 @@ export namespace CreateNotificationSubscriptionRequest { *

                                                                                              Describes a subscription.

                                                                                              */ export interface Subscription { - /** - *

                                                                                              The ID of the subscription.

                                                                                              - */ - SubscriptionId?: string; - /** *

                                                                                              The protocol of the subscription.

                                                                                              */ @@ -1217,6 +1212,11 @@ export interface Subscription { *

                                                                                              The endpoint of the subscription.

                                                                                              */ EndPoint?: string; + + /** + *

                                                                                              The ID of the subscription.

                                                                                              + */ + SubscriptionId?: string; } export namespace Subscription { @@ -1256,19 +1256,19 @@ export namespace TooManySubscriptionsException { export interface CreateUserRequest { /** - *

                                                                                              The given name of the user.

                                                                                              + *

                                                                                              The time zone ID of the user.

                                                                                              */ - GivenName: string | undefined; + TimeZoneId?: string; /** - *

                                                                                              The surname of the user.

                                                                                              + *

                                                                                              The amount of storage for the user.

                                                                                              */ - Surname: string | undefined; + StorageRule?: StorageRuleType; /** - *

                                                                                              The ID of the organization.

                                                                                              + *

                                                                                              The given name of the user.

                                                                                              */ - OrganizationId?: string; + GivenName: string | undefined; /** *

                                                                                              The login name of the user.

                                                                                              @@ -1276,36 +1276,36 @@ export interface CreateUserRequest { Username: string | undefined; /** - *

                                                                                              The time zone ID of the user.

                                                                                              + *

                                                                                              The surname of the user.

                                                                                              */ - TimeZoneId?: string; + Surname: string | undefined; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The password of the user.

                                                                                              */ - AuthenticationToken?: string; + Password: string | undefined; /** - *

                                                                                              The amount of storage for the user.

                                                                                              + *

                                                                                              The email address of the user.

                                                                                              */ - StorageRule?: StorageRuleType; + EmailAddress?: string; /** - *

                                                                                              The email address of the user.

                                                                                              + *

                                                                                              The ID of the organization.

                                                                                              */ - EmailAddress?: string; + OrganizationId?: string; /** - *

                                                                                              The password of the user.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - Password: string | undefined; + AuthenticationToken?: string; } export namespace CreateUserRequest { export const filterSensitiveLog = (obj: CreateUserRequest): any => ({ ...obj, - ...(obj.AuthenticationToken && { AuthenticationToken: SENSITIVE_STRING }), ...(obj.Password && { Password: SENSITIVE_STRING }), + ...(obj.AuthenticationToken && { AuthenticationToken: SENSITIVE_STRING }), }); } @@ -1324,14 +1324,14 @@ export namespace CreateUserResponse { export interface DeactivateUserRequest { /** - *

                                                                                              The ID of the user.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - UserId: string | undefined; + AuthenticationToken?: string; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the user.

                                                                                              */ - AuthenticationToken?: string; + UserId: string | undefined; } export namespace DeactivateUserRequest { @@ -1343,24 +1343,24 @@ export namespace DeactivateUserRequest { export interface DeleteCommentRequest { /** - *

                                                                                              The ID of the comment.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - CommentId: string | undefined; + AuthenticationToken?: string; /** - *

                                                                                              The ID of the document version.

                                                                                              + *

                                                                                              The ID of the document.

                                                                                              */ - VersionId: string | undefined; + DocumentId: string | undefined; /** - *

                                                                                              The ID of the document.

                                                                                              + *

                                                                                              The ID of the document version.

                                                                                              */ - DocumentId: string | undefined; + VersionId: string | undefined; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the comment.

                                                                                              */ - AuthenticationToken?: string; + CommentId: string | undefined; } export namespace DeleteCommentRequest { @@ -1371,21 +1371,16 @@ export namespace DeleteCommentRequest { } export interface DeleteCustomMetadataRequest { - /** - *

                                                                                              Flag to indicate removal of all custom metadata properties from the specified - * resource.

                                                                                              - */ - DeleteAll?: boolean; - /** *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ AuthenticationToken?: string; /** - *

                                                                                              The ID of the resource, either a document or folder.

                                                                                              + *

                                                                                              Flag to indicate removal of all custom metadata properties from the specified + * resource.

                                                                                              */ - ResourceId: string | undefined; + DeleteAll?: boolean; /** *

                                                                                              The ID of the version, if the custom metadata is being deleted from a document @@ -1393,6 +1388,11 @@ export interface DeleteCustomMetadataRequest { */ VersionId?: string; + /** + *

                                                                                              The ID of the resource, either a document or folder.

                                                                                              + */ + ResourceId: string | undefined; + /** *

                                                                                              List of properties to remove.

                                                                                              */ @@ -1431,14 +1431,14 @@ export namespace ConcurrentModificationException { export interface DeleteDocumentRequest { /** - *

                                                                                              The ID of the document.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - DocumentId: string | undefined; + AuthenticationToken?: string; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the document.

                                                                                              */ - AuthenticationToken?: string; + DocumentId: string | undefined; } export namespace DeleteDocumentRequest { @@ -1450,14 +1450,14 @@ export namespace DeleteDocumentRequest { export interface DeleteFolderRequest { /** - *

                                                                                              The ID of the folder.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - FolderId: string | undefined; + AuthenticationToken?: string; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the folder.

                                                                                              */ - AuthenticationToken?: string; + FolderId: string | undefined; } export namespace DeleteFolderRequest { @@ -1469,14 +1469,14 @@ export namespace DeleteFolderRequest { export interface DeleteFolderContentsRequest { /** - *

                                                                                              The ID of the folder.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - FolderId: string | undefined; + AuthenticationToken?: string; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the folder.

                                                                                              */ - AuthenticationToken?: string; + FolderId: string | undefined; } export namespace DeleteFolderContentsRequest { @@ -1488,9 +1488,9 @@ export namespace DeleteFolderContentsRequest { export interface DeleteLabelsRequest { /** - *

                                                                                              Flag to request removal of all labels from the specified resource.

                                                                                              + *

                                                                                              The ID of the resource.

                                                                                              */ - DeleteAll?: boolean; + ResourceId: string | undefined; /** *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              @@ -1498,9 +1498,9 @@ export interface DeleteLabelsRequest { AuthenticationToken?: string; /** - *

                                                                                              The ID of the resource.

                                                                                              + *

                                                                                              Flag to request removal of all labels from the specified resource.

                                                                                              */ - ResourceId: string | undefined; + DeleteAll?: boolean; /** *

                                                                                              List of labels to delete from the resource.

                                                                                              @@ -1525,14 +1525,14 @@ export namespace DeleteLabelsResponse { export interface DeleteNotificationSubscriptionRequest { /** - *

                                                                                              The ID of the subscription.

                                                                                              + *

                                                                                              The ID of the organization.

                                                                                              */ - SubscriptionId: string | undefined; + OrganizationId: string | undefined; /** - *

                                                                                              The ID of the organization.

                                                                                              + *

                                                                                              The ID of the subscription.

                                                                                              */ - OrganizationId: string | undefined; + SubscriptionId: string | undefined; } export namespace DeleteNotificationSubscriptionRequest { @@ -1542,16 +1542,16 @@ export namespace DeleteNotificationSubscriptionRequest { } export interface DeleteUserRequest { - /** - *

                                                                                              The ID of the user.

                                                                                              - */ - UserId: string | undefined; - /** *

                                                                                              Amazon WorkDocs authentication token. Do not set this field when using * administrative API actions, as in accessing the API using AWS credentials.

                                                                                              */ AuthenticationToken?: string; + + /** + *

                                                                                              The ID of the user.

                                                                                              + */ + UserId: string | undefined; } export namespace DeleteUserRequest { @@ -1563,15 +1563,10 @@ export namespace DeleteUserRequest { export interface DescribeActivitiesRequest { /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              - */ - AuthenticationToken?: string; - - /** - *

                                                                                              Specifies which activity types to include in the response. If this field is left - * empty, all activity types are returned.

                                                                                              + *

                                                                                              The timestamp that determines the starting time of the activities. The response + * includes the activities performed after the specified timestamp.

                                                                                              */ - ActivityTypes?: string; + StartTime?: Date; /** *

                                                                                              The ID of the organization. This is a mandatory parameter when using administrative @@ -1593,9 +1588,17 @@ export interface DescribeActivitiesRequest { IncludeIndirectActivities?: boolean; /** - *

                                                                                              The maximum number of items to return.

                                                                                              + *

                                                                                              The ID of the user who performed the action. The response includes activities + * pertaining to this user. This is an optional parameter and is only applicable for + * administrative API (SigV4) requests.

                                                                                              */ - Limit?: number; + UserId?: string; + + /** + *

                                                                                              Specifies which activity types to include in the response. If this field is left + * empty, all activity types are returned.

                                                                                              + */ + ActivityTypes?: string; /** *

                                                                                              The timestamp that determines the end time of the activities. The response includes @@ -1604,22 +1607,19 @@ export interface DescribeActivitiesRequest { EndTime?: Date; /** - *

                                                                                              The ID of the user who performed the action. The response includes activities - * pertaining to this user. This is an optional parameter and is only applicable for - * administrative API (SigV4) requests.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - UserId?: string; + AuthenticationToken?: string; /** - *

                                                                                              The timestamp that determines the starting time of the activities. The response - * includes the activities performed after the specified timestamp.

                                                                                              + *

                                                                                              The document or folder ID for which to describe activity types.

                                                                                              */ - StartTime?: Date; + ResourceId?: string; /** - *

                                                                                              The document or folder ID for which to describe activity types.

                                                                                              + *

                                                                                              The maximum number of items to return.

                                                                                              */ - ResourceId?: string; + Limit?: number; } export namespace DescribeActivitiesRequest { @@ -1664,9 +1664,9 @@ export namespace InvalidArgumentException { export interface DescribeCommentsRequest { /** - *

                                                                                              The maximum number of items to return.

                                                                                              + *

                                                                                              The ID of the document.

                                                                                              */ - Limit?: number; + DocumentId: string | undefined; /** *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              @@ -1674,14 +1674,14 @@ export interface DescribeCommentsRequest { AuthenticationToken?: string; /** - *

                                                                                              The ID of the document.

                                                                                              + *

                                                                                              The ID of the document version.

                                                                                              */ - DocumentId: string | undefined; + VersionId: string | undefined; /** - *

                                                                                              The ID of the document version.

                                                                                              + *

                                                                                              The maximum number of items to return.

                                                                                              */ - VersionId: string | undefined; + Limit?: number; /** *

                                                                                              The marker for the next set of results. This marker was received from a previous @@ -1719,37 +1719,37 @@ export namespace DescribeCommentsResponse { export interface DescribeDocumentVersionsRequest { /** - *

                                                                                              A comma-separated list of values. Specify "INITIALIZED" to include incomplete - * versions.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - Include?: string; + AuthenticationToken?: string; /** - *

                                                                                              The ID of the document.

                                                                                              + *

                                                                                              The maximum number of versions to return with this call.

                                                                                              */ - DocumentId: string | undefined; + Limit?: number; /** - *

                                                                                              The marker for the next set of results. (You received this marker from a previous - * call.)

                                                                                              + *

                                                                                              Specify "SOURCE" to include initialized versions and a URL for the source + * document.

                                                                                              */ - Marker?: string; + Fields?: string; /** - *

                                                                                              The maximum number of versions to return with this call.

                                                                                              + *

                                                                                              The marker for the next set of results. (You received this marker from a previous + * call.)

                                                                                              */ - Limit?: number; + Marker?: string; /** - *

                                                                                              Specify "SOURCE" to include initialized versions and a URL for the source - * document.

                                                                                              + *

                                                                                              A comma-separated list of values. Specify "INITIALIZED" to include incomplete + * versions.

                                                                                              */ - Fields?: string; + Include?: string; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the document.

                                                                                              */ - AuthenticationToken?: string; + DocumentId: string | undefined; } export namespace DescribeDocumentVersionsRequest { @@ -1780,19 +1780,19 @@ export enum DocumentThumbnailType { */ export interface DocumentVersionMetadata { /** - *

                                                                                              The source of the document.

                                                                                              + *

                                                                                              The timestamp when the content of the document was modified.

                                                                                              */ - Source?: { [key: string]: string }; + ContentModifiedTimestamp?: Date; /** - *

                                                                                              The timestamp when the content of the document was originally created.

                                                                                              + *

                                                                                              The thumbnail of the document.

                                                                                              */ - ContentCreatedTimestamp?: Date; + Thumbnail?: { [key: string]: string }; /** - *

                                                                                              The ID of the version.

                                                                                              + *

                                                                                              The ID of the creator.

                                                                                              */ - Id?: string; + CreatorId?: string; /** *

                                                                                              The timestamp when the document was first uploaded.

                                                                                              @@ -1800,70 +1800,70 @@ export interface DocumentVersionMetadata { CreatedTimestamp?: Date; /** - *

                                                                                              The size of the document, in bytes.

                                                                                              + *

                                                                                              The timestamp when the content of the document was originally created.

                                                                                              */ - Size?: number; + ContentCreatedTimestamp?: Date; /** - *

                                                                                              The signature of the document.

                                                                                              + *

                                                                                              The size of the document, in bytes.

                                                                                              */ - Signature?: string; + Size?: number; /** - *

                                                                                              The name of the version.

                                                                                              + *

                                                                                              The ID of the version.

                                                                                              */ - Name?: string; + Id?: string; /** - *

                                                                                              The thumbnail of the document.

                                                                                              + *

                                                                                              The content type of the document.

                                                                                              */ - Thumbnail?: { [key: string]: string }; + ContentType?: string; /** - *

                                                                                              The timestamp when the content of the document was modified.

                                                                                              + *

                                                                                              The timestamp when the document was last uploaded.

                                                                                              */ - ContentModifiedTimestamp?: Date; + ModifiedTimestamp?: Date; /** - *

                                                                                              The status of the document.

                                                                                              + *

                                                                                              The source of the document.

                                                                                              */ - Status?: DocumentStatusType | string; + Source?: { [key: string]: string }; /** - *

                                                                                              The timestamp when the document was last uploaded.

                                                                                              + *

                                                                                              The name of the version.

                                                                                              */ - ModifiedTimestamp?: Date; + Name?: string; /** - *

                                                                                              The ID of the creator.

                                                                                              + *

                                                                                              The signature of the document.

                                                                                              */ - CreatorId?: string; + Signature?: string; /** - *

                                                                                              The content type of the document.

                                                                                              + *

                                                                                              The status of the document.

                                                                                              */ - ContentType?: string; + Status?: DocumentStatusType | string; } export namespace DocumentVersionMetadata { export const filterSensitiveLog = (obj: DocumentVersionMetadata): any => ({ ...obj, - ...(obj.Source && { Source: SENSITIVE_STRING }), ...(obj.Thumbnail && { Thumbnail: SENSITIVE_STRING }), + ...(obj.Source && { Source: SENSITIVE_STRING }), }); } export interface DescribeDocumentVersionsResponse { /** - *

                                                                                              The marker to use when requesting the next set of results. If there are no - * additional results, the string is empty.

                                                                                              + *

                                                                                              The document versions.

                                                                                              */ - Marker?: string; + DocumentVersions?: DocumentVersionMetadata[]; /** - *

                                                                                              The document versions.

                                                                                              + *

                                                                                              The marker to use when requesting the next set of results. If there are no + * additional results, the string is empty.

                                                                                              */ - DocumentVersions?: DocumentVersionMetadata[]; + Marker?: string; } export namespace DescribeDocumentVersionsResponse { @@ -1893,20 +1893,19 @@ export enum FolderContentType { export interface DescribeFolderContentsRequest { /** - *

                                                                                              The ID of the folder.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - FolderId: string | undefined; + AuthenticationToken?: string; /** - *

                                                                                              The sorting criteria.

                                                                                              + *

                                                                                              The order for the contents of the folder.

                                                                                              */ - Sort?: ResourceSortType | string; + Order?: OrderType | string; /** - *

                                                                                              The marker for the next set of results. This marker was received from a previous - * call.

                                                                                              + *

                                                                                              The type of items.

                                                                                              */ - Marker?: string; + Type?: FolderContentType | string; /** *

                                                                                              The contents to include. Specify "INITIALIZED" to include initialized @@ -1915,24 +1914,25 @@ export interface DescribeFolderContentsRequest { Include?: string; /** - *

                                                                                              The maximum number of items to return with this call.

                                                                                              + *

                                                                                              The sorting criteria.

                                                                                              */ - Limit?: number; + Sort?: ResourceSortType | string; /** - *

                                                                                              The order for the contents of the folder.

                                                                                              + *

                                                                                              The ID of the folder.

                                                                                              */ - Order?: OrderType | string; + FolderId: string | undefined; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The marker for the next set of results. This marker was received from a previous + * call.

                                                                                              */ - AuthenticationToken?: string; + Marker?: string; /** - *

                                                                                              The type of items.

                                                                                              + *

                                                                                              The maximum number of items to return with this call.

                                                                                              */ - Type?: FolderContentType | string; + Limit?: number; } export namespace DescribeFolderContentsRequest { @@ -1947,44 +1947,44 @@ export namespace DescribeFolderContentsRequest { */ export interface DocumentMetadata { /** - *

                                                                                              The ID of the document.

                                                                                              + *

                                                                                              The ID of the parent folder.

                                                                                              */ - Id?: string; + ParentFolderId?: string; /** - *

                                                                                              The time when the document was created.

                                                                                              + *

                                                                                              The latest version of the document.

                                                                                              */ - CreatedTimestamp?: Date; + LatestVersionMetadata?: DocumentVersionMetadata; /** - *

                                                                                              The time when the document was updated.

                                                                                              + *

                                                                                              The ID of the document.

                                                                                              */ - ModifiedTimestamp?: Date; + Id?: string; /** - *

                                                                                              The ID of the creator.

                                                                                              + *

                                                                                              The resource state.

                                                                                              */ - CreatorId?: string; + ResourceState?: ResourceStateType | string; /** - *

                                                                                              The resource state.

                                                                                              + *

                                                                                              List of labels on the document.

                                                                                              */ - ResourceState?: ResourceStateType | string; + Labels?: string[]; /** - *

                                                                                              The ID of the parent folder.

                                                                                              + *

                                                                                              The time when the document was created.

                                                                                              */ - ParentFolderId?: string; + CreatedTimestamp?: Date; /** - *

                                                                                              List of labels on the document.

                                                                                              + *

                                                                                              The time when the document was updated.

                                                                                              */ - Labels?: string[]; + ModifiedTimestamp?: Date; /** - *

                                                                                              The latest version of the document.

                                                                                              + *

                                                                                              The ID of the creator.

                                                                                              */ - LatestVersionMetadata?: DocumentVersionMetadata; + CreatorId?: string; } export namespace DocumentMetadata { @@ -2002,16 +2002,16 @@ export interface DescribeFolderContentsResponse { */ Folders?: FolderMetadata[]; - /** - *

                                                                                              The documents in the specified folder.

                                                                                              - */ - Documents?: DocumentMetadata[]; - /** *

                                                                                              The marker to use when requesting the next set of results. If there are no * additional results, the string is empty.

                                                                                              */ Marker?: string; + + /** + *

                                                                                              The documents in the specified folder.

                                                                                              + */ + Documents?: DocumentMetadata[]; } export namespace DescribeFolderContentsResponse { @@ -2023,26 +2023,26 @@ export namespace DescribeFolderContentsResponse { export interface DescribeGroupsRequest { /** - *

                                                                                              A query to describe groups by group name.

                                                                                              + *

                                                                                              The ID of the organization.

                                                                                              */ - SearchQuery: string | undefined; + OrganizationId?: string; /** *

                                                                                              The maximum number of items to return with this call.

                                                                                              */ Limit?: number; - /** - *

                                                                                              The ID of the organization.

                                                                                              - */ - OrganizationId?: string; - /** *

                                                                                              The marker for the next set of results. (You received this marker from a previous * call.)

                                                                                              */ Marker?: string; + /** + *

                                                                                              A query to describe groups by group name.

                                                                                              + */ + SearchQuery: string | undefined; + /** *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ @@ -2059,15 +2059,15 @@ export namespace DescribeGroupsRequest { export interface DescribeGroupsResponse { /** - *

                                                                                              The marker to use when requesting the next set of results. If there are no additional - * results, the string is empty.

                                                                                              + *

                                                                                              The list of groups.

                                                                                              */ - Marker?: string; + Groups?: GroupMetadata[]; /** - *

                                                                                              The list of groups.

                                                                                              + *

                                                                                              The marker to use when requesting the next set of results. If there are no additional + * results, the string is empty.

                                                                                              */ - Groups?: GroupMetadata[]; + Marker?: string; } export namespace DescribeGroupsResponse { @@ -2078,15 +2078,15 @@ export namespace DescribeGroupsResponse { export interface DescribeNotificationSubscriptionsRequest { /** - *

                                                                                              The marker for the next set of results. (You received this marker from a previous - * call.)

                                                                                              + *

                                                                                              The ID of the organization.

                                                                                              */ - Marker?: string; + OrganizationId: string | undefined; /** - *

                                                                                              The ID of the organization.

                                                                                              + *

                                                                                              The marker for the next set of results. (You received this marker from a previous + * call.)

                                                                                              */ - OrganizationId: string | undefined; + Marker?: string; /** *

                                                                                              The maximum number of items to return with this call.

                                                                                              @@ -2101,16 +2101,16 @@ export namespace DescribeNotificationSubscriptionsRequest { } export interface DescribeNotificationSubscriptionsResponse { - /** - *

                                                                                              The subscriptions.

                                                                                              - */ - Subscriptions?: Subscription[]; - /** *

                                                                                              The marker to use when requesting the next set of results. If there are no * additional results, the string is empty.

                                                                                              */ Marker?: string; + + /** + *

                                                                                              The subscriptions.

                                                                                              + */ + Subscriptions?: Subscription[]; } export namespace DescribeNotificationSubscriptionsResponse { @@ -2121,30 +2121,30 @@ export namespace DescribeNotificationSubscriptionsResponse { export interface DescribeResourcePermissionsRequest { /** - *

                                                                                              The ID of the principal to filter permissions by.

                                                                                              + *

                                                                                              The marker for the next set of results. (You received this marker from a previous + * call)

                                                                                              */ - PrincipalId?: string; + Marker?: string; /** - *

                                                                                              The ID of the resource.

                                                                                              + *

                                                                                              The maximum number of items to return with this call.

                                                                                              */ - ResourceId: string | undefined; + Limit?: number; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the resource.

                                                                                              */ - AuthenticationToken?: string; + ResourceId: string | undefined; /** - *

                                                                                              The maximum number of items to return with this call.

                                                                                              + *

                                                                                              The ID of the principal to filter permissions by.

                                                                                              */ - Limit?: number; + PrincipalId?: string; /** - *

                                                                                              The marker for the next set of results. (You received this marker from a previous - * call)

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - Marker?: string; + AuthenticationToken?: string; } export namespace DescribeResourcePermissionsRequest { @@ -2185,14 +2185,14 @@ export namespace PermissionInfo { */ export interface Principal { /** - *

                                                                                              The permission information for the resource.

                                                                                              + *

                                                                                              The ID of the resource.

                                                                                              */ - Roles?: PermissionInfo[]; + Id?: string; /** - *

                                                                                              The ID of the resource.

                                                                                              + *

                                                                                              The permission information for the resource.

                                                                                              */ - Id?: string; + Roles?: PermissionInfo[]; /** *

                                                                                              The type of resource.

                                                                                              @@ -2227,14 +2227,14 @@ export namespace DescribeResourcePermissionsResponse { export interface DescribeRootFoldersRequest { /** - *

                                                                                              The maximum number of items to return.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token.

                                                                                              */ - Limit?: number; + AuthenticationToken: string | undefined; /** - *

                                                                                              Amazon WorkDocs authentication token.

                                                                                              + *

                                                                                              The maximum number of items to return.

                                                                                              */ - AuthenticationToken: string | undefined; + Limit?: number; /** *

                                                                                              The marker for the next set of results. (You received this marker from a previous @@ -2252,14 +2252,14 @@ export namespace DescribeRootFoldersRequest { export interface DescribeRootFoldersResponse { /** - *

                                                                                              The marker for the next set of results.

                                                                                              + *

                                                                                              The user's special folders.

                                                                                              */ - Marker?: string; + Folders?: FolderMetadata[]; /** - *

                                                                                              The user's special folders.

                                                                                              + *

                                                                                              The marker for the next set of results.

                                                                                              */ - Folders?: FolderMetadata[]; + Marker?: string; } export namespace DescribeRootFoldersResponse { @@ -2283,20 +2283,20 @@ export enum UserSortType { export interface DescribeUsersRequest { /** - *

                                                                                              A comma-separated list of values. Specify "STORAGE_METADATA" to include the user - * storage quota and utilization information.

                                                                                              + *

                                                                                              The state of the users. Specify "ALL" to include inactive users.

                                                                                              */ - Fields?: string; + Include?: UserFilterType | string; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The IDs of the users.

                                                                                              */ - AuthenticationToken?: string; + UserIds?: string; /** - *

                                                                                              The order for the results.

                                                                                              + *

                                                                                              The marker for the next set of results. (You received this marker from a previous + * call.)

                                                                                              */ - Order?: OrderType | string; + Marker?: string; /** *

                                                                                              The maximum number of items to return.

                                                                                              @@ -2304,25 +2304,25 @@ export interface DescribeUsersRequest { Limit?: number; /** - *

                                                                                              The marker for the next set of results. (You received this marker from a previous - * call.)

                                                                                              + *

                                                                                              The order for the results.

                                                                                              */ - Marker?: string; + Order?: OrderType | string; /** - *

                                                                                              The state of the users. Specify "ALL" to include inactive users.

                                                                                              + *

                                                                                              A comma-separated list of values. Specify "STORAGE_METADATA" to include the user + * storage quota and utilization information.

                                                                                              */ - Include?: UserFilterType | string; + Fields?: string; /** - *

                                                                                              The sorting criteria.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - Sort?: UserSortType | string; + AuthenticationToken?: string; /** - *

                                                                                              The IDs of the users.

                                                                                              + *

                                                                                              The ID of the organization.

                                                                                              */ - UserIds?: string; + OrganizationId?: string; /** *

                                                                                              A query to filter users by user name.

                                                                                              @@ -2330,9 +2330,9 @@ export interface DescribeUsersRequest { Query?: string; /** - *

                                                                                              The ID of the organization.

                                                                                              + *

                                                                                              The sorting criteria.

                                                                                              */ - OrganizationId?: string; + Sort?: UserSortType | string; } export namespace DescribeUsersRequest { @@ -2411,14 +2411,14 @@ export namespace GetCurrentUserResponse { export interface GetDocumentRequest { /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the document.

                                                                                              */ - AuthenticationToken?: string; + DocumentId: string | undefined; /** - *

                                                                                              The ID of the document.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - DocumentId: string | undefined; + AuthenticationToken?: string; /** *

                                                                                              Set this to TRUE to include custom metadata in the response.

                                                                                              @@ -2469,9 +2469,9 @@ export namespace InvalidPasswordException { export interface GetDocumentPathRequest { /** - *

                                                                                              The ID of the document.

                                                                                              + *

                                                                                              This value is not supported.

                                                                                              */ - DocumentId: string | undefined; + Marker?: string; /** *

                                                                                              The maximum number of levels in the hierarchy to return.

                                                                                              @@ -2479,20 +2479,20 @@ export interface GetDocumentPathRequest { Limit?: number; /** - *

                                                                                              This value is not supported.

                                                                                              + *

                                                                                              The ID of the document.

                                                                                              */ - Marker?: string; + DocumentId: string | undefined; /** - *

                                                                                              A comma-separated list of values. Specify NAME to include the names of - * the parent folders.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - Fields?: string; + AuthenticationToken?: string; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              A comma-separated list of values. Specify NAME to include the names of + * the parent folders.

                                                                                              */ - AuthenticationToken?: string; + Fields?: string; } export namespace GetDocumentPathRequest { @@ -2507,14 +2507,14 @@ export namespace GetDocumentPathRequest { */ export interface ResourcePathComponent { /** - *

                                                                                              The ID of the resource path.

                                                                                              + *

                                                                                              The name of the resource path.

                                                                                              */ - Id?: string; + Name?: string; /** - *

                                                                                              The name of the resource path.

                                                                                              + *

                                                                                              The ID of the resource path.

                                                                                              */ - Name?: string; + Id?: string; } export namespace ResourcePathComponent { @@ -2559,9 +2559,10 @@ export interface GetDocumentVersionRequest { IncludeCustomMetadata?: boolean; /** - *

                                                                                              The version ID of the document.

                                                                                              + *

                                                                                              A comma-separated list of values. Specify "SOURCE" to include a URL for the source + * document.

                                                                                              */ - VersionId: string | undefined; + Fields?: string; /** *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              @@ -2574,10 +2575,9 @@ export interface GetDocumentVersionRequest { DocumentId: string | undefined; /** - *

                                                                                              A comma-separated list of values. Specify "SOURCE" to include a URL for the source - * document.

                                                                                              + *

                                                                                              The version ID of the document.

                                                                                              */ - Fields?: string; + VersionId: string | undefined; } export namespace GetDocumentVersionRequest { @@ -2589,14 +2589,14 @@ export namespace GetDocumentVersionRequest { export interface GetDocumentVersionResponse { /** - *

                                                                                              The version metadata.

                                                                                              + *

                                                                                              The custom metadata on the document version.

                                                                                              */ - Metadata?: DocumentVersionMetadata; + CustomMetadata?: { [key: string]: string }; /** - *

                                                                                              The custom metadata on the document version.

                                                                                              + *

                                                                                              The version metadata.

                                                                                              */ - CustomMetadata?: { [key: string]: string }; + Metadata?: DocumentVersionMetadata; } export namespace GetDocumentVersionResponse { @@ -2608,14 +2608,14 @@ export namespace GetDocumentVersionResponse { export interface GetFolderRequest { /** - *

                                                                                              The ID of the folder.

                                                                                              + *

                                                                                              Set to TRUE to include custom metadata in the response.

                                                                                              */ - FolderId: string | undefined; + IncludeCustomMetadata?: boolean; /** - *

                                                                                              Set to TRUE to include custom metadata in the response.

                                                                                              + *

                                                                                              The ID of the folder.

                                                                                              */ - IncludeCustomMetadata?: boolean; + FolderId: string | undefined; /** *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              @@ -2632,14 +2632,14 @@ export namespace GetFolderRequest { export interface GetFolderResponse { /** - *

                                                                                              The custom metadata on the folder.

                                                                                              + *

                                                                                              The metadata of the folder.

                                                                                              */ - CustomMetadata?: { [key: string]: string }; + Metadata?: FolderMetadata; /** - *

                                                                                              The metadata of the folder.

                                                                                              + *

                                                                                              The custom metadata on the folder.

                                                                                              */ - Metadata?: FolderMetadata; + CustomMetadata?: { [key: string]: string }; } export namespace GetFolderResponse { @@ -2650,9 +2650,9 @@ export namespace GetFolderResponse { export interface GetFolderPathRequest { /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the folder.

                                                                                              */ - AuthenticationToken?: string; + FolderId: string | undefined; /** *

                                                                                              A comma-separated list of values. Specify "NAME" to include the names of the parent @@ -2666,9 +2666,9 @@ export interface GetFolderPathRequest { Marker?: string; /** - *

                                                                                              The ID of the folder.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - FolderId: string | undefined; + AuthenticationToken?: string; /** *

                                                                                              The maximum number of levels in the hierarchy to return.

                                                                                              @@ -2702,30 +2702,30 @@ export enum ResourceCollectionType { export interface GetResourcesRequest { /** - *

                                                                                              The collection type.

                                                                                              + *

                                                                                              The Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - CollectionType?: ResourceCollectionType | string; + AuthenticationToken?: string; /** - *

                                                                                              The marker for the next set of results. This marker was received from a previous call.

                                                                                              + *

                                                                                              The maximum number of resources to return.

                                                                                              */ - Marker?: string; + Limit?: number; /** - *

                                                                                              The user ID for the resource collection. This is a required field for accessing the - * API operation using IAM credentials.

                                                                                              + *

                                                                                              The collection type.

                                                                                              */ - UserId?: string; + CollectionType?: ResourceCollectionType | string; /** - *

                                                                                              The Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The user ID for the resource collection. This is a required field for accessing the + * API operation using IAM credentials.

                                                                                              */ - AuthenticationToken?: string; + UserId?: string; /** - *

                                                                                              The maximum number of resources to return.

                                                                                              + *

                                                                                              The marker for the next set of results. This marker was received from a previous call.

                                                                                              */ - Limit?: number; + Marker?: string; } export namespace GetResourcesRequest { @@ -2736,11 +2736,6 @@ export namespace GetResourcesRequest { } export interface GetResourcesResponse { - /** - *

                                                                                              The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

                                                                                              - */ - Marker?: string; - /** *

                                                                                              The documents in the specified collection.

                                                                                              */ @@ -2750,6 +2745,11 @@ export interface GetResourcesResponse { *

                                                                                              The folders in the specified folder.

                                                                                              */ Folders?: FolderMetadata[]; + + /** + *

                                                                                              The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

                                                                                              + */ + Marker?: string; } export namespace GetResourcesResponse { @@ -2777,9 +2777,9 @@ export namespace DraftUploadOutOfSyncException { export interface InitiateDocumentVersionUploadRequest { /** - *

                                                                                              The content type of the document.

                                                                                              + *

                                                                                              The ID of the parent folder.

                                                                                              */ - ContentType?: string; + ParentFolderId: string | undefined; /** *

                                                                                              The ID of the document.

                                                                                              @@ -2787,34 +2787,34 @@ export interface InitiateDocumentVersionUploadRequest { Id?: string; /** - *

                                                                                              The ID of the parent folder.

                                                                                              + *

                                                                                              The timestamp when the content of the document was originally created.

                                                                                              */ - ParentFolderId: string | undefined; + ContentCreatedTimestamp?: Date; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The name of the document.

                                                                                              */ - AuthenticationToken?: string; + Name?: string; /** - *

                                                                                              The timestamp when the content of the document was modified.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - ContentModifiedTimestamp?: Date; + AuthenticationToken?: string; /** - *

                                                                                              The name of the document.

                                                                                              + *

                                                                                              The size of the document, in bytes.

                                                                                              */ - Name?: string; + DocumentSizeInBytes?: number; /** - *

                                                                                              The size of the document, in bytes.

                                                                                              + *

                                                                                              The timestamp when the content of the document was modified.

                                                                                              */ - DocumentSizeInBytes?: number; + ContentModifiedTimestamp?: Date; /** - *

                                                                                              The timestamp when the content of the document was originally created.

                                                                                              + *

                                                                                              The content type of the document.

                                                                                              */ - ContentCreatedTimestamp?: Date; + ContentType?: string; } export namespace InitiateDocumentVersionUploadRequest { @@ -2913,14 +2913,14 @@ export namespace StorageLimitWillExceedException { export interface RemoveAllResourcePermissionsRequest { /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The ID of the resource.

                                                                                              */ - AuthenticationToken?: string; + ResourceId: string | undefined; /** - *

                                                                                              The ID of the resource.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - ResourceId: string | undefined; + AuthenticationToken?: string; } export namespace RemoveAllResourcePermissionsRequest { @@ -2932,14 +2932,14 @@ export namespace RemoveAllResourcePermissionsRequest { export interface RemoveResourcePermissionRequest { /** - *

                                                                                              The principal type of the resource.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - PrincipalType?: PrincipalType | string; + AuthenticationToken?: string; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The principal type of the resource.

                                                                                              */ - AuthenticationToken?: string; + PrincipalType?: PrincipalType | string; /** *

                                                                                              The principal ID of the resource.

                                                                                              @@ -2961,15 +2961,14 @@ export namespace RemoveResourcePermissionRequest { export interface UpdateDocumentRequest { /** - *

                                                                                              The ID of the document.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - DocumentId: string | undefined; + AuthenticationToken?: string; /** - *

                                                                                              The resource state of the document. Only ACTIVE and RECYCLED are - * supported.

                                                                                              + *

                                                                                              The name of the document.

                                                                                              */ - ResourceState?: ResourceStateType | string; + Name?: string; /** *

                                                                                              The ID of the parent folder.

                                                                                              @@ -2977,14 +2976,15 @@ export interface UpdateDocumentRequest { ParentFolderId?: string; /** - *

                                                                                              The name of the document.

                                                                                              + *

                                                                                              The ID of the document.

                                                                                              */ - Name?: string; + DocumentId: string | undefined; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The resource state of the document. Only ACTIVE and RECYCLED are + * supported.

                                                                                              */ - AuthenticationToken?: string; + ResourceState?: ResourceStateType | string; } export namespace UpdateDocumentRequest { @@ -3015,9 +3015,9 @@ export enum DocumentVersionStatus { export interface UpdateDocumentVersionRequest { /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The status of the version.

                                                                                              */ - AuthenticationToken?: string; + VersionStatus?: DocumentVersionStatus | string; /** *

                                                                                              The ID of the document.

                                                                                              @@ -3030,9 +3030,9 @@ export interface UpdateDocumentVersionRequest { VersionId: string | undefined; /** - *

                                                                                              The status of the version.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - VersionStatus?: DocumentVersionStatus | string; + AuthenticationToken?: string; } export namespace UpdateDocumentVersionRequest { @@ -3044,25 +3044,25 @@ export namespace UpdateDocumentVersionRequest { export interface UpdateFolderRequest { /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The name of the folder.

                                                                                              */ - AuthenticationToken?: string; + Name?: string; /** - *

                                                                                              The resource state of the folder. Only ACTIVE and RECYCLED are accepted values from - * the API.

                                                                                              + *

                                                                                              The ID of the parent folder.

                                                                                              */ - ResourceState?: ResourceStateType | string; + ParentFolderId?: string; /** - *

                                                                                              The name of the folder.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - Name?: string; + AuthenticationToken?: string; /** - *

                                                                                              The ID of the parent folder.

                                                                                              + *

                                                                                              The resource state of the folder. Only ACTIVE and RECYCLED are accepted values from + * the API.

                                                                                              */ - ParentFolderId?: string; + ResourceState?: ResourceStateType | string; /** *

                                                                                              The ID of the folder.

                                                                                              @@ -3083,8 +3083,8 @@ export namespace UpdateFolderRequest { export interface DeactivatingLastSystemUserException extends __SmithyException, $MetadataBearer { name: "DeactivatingLastSystemUserException"; $fault: "client"; - Code?: string; Message?: string; + Code?: string; } export namespace DeactivatingLastSystemUserException { @@ -3115,9 +3115,9 @@ export enum BooleanEnumType { export interface UpdateUserRequest { /** - *

                                                                                              The time zone ID of the user.

                                                                                              + *

                                                                                              The amount of storage for the user.

                                                                                              */ - TimeZoneId?: string; + StorageRule?: StorageRuleType; /** *

                                                                                              The given name of the user.

                                                                                              @@ -3125,39 +3125,39 @@ export interface UpdateUserRequest { GivenName?: string; /** - *

                                                                                              The ID of the user.

                                                                                              + *

                                                                                              Boolean value to determine whether the user is granted Poweruser privileges.

                                                                                              */ - UserId: string | undefined; + GrantPoweruserPrivileges?: BooleanEnumType | string; /** - *

                                                                                              The locale of the user.

                                                                                              + *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              */ - Locale?: LocaleType | string; + AuthenticationToken?: string; /** - *

                                                                                              The amount of storage for the user.

                                                                                              + *

                                                                                              The surname of the user.

                                                                                              */ - StorageRule?: StorageRuleType; + Surname?: string; /** - *

                                                                                              Boolean value to determine whether the user is granted Poweruser privileges.

                                                                                              + *

                                                                                              The type of the user.

                                                                                              */ - GrantPoweruserPrivileges?: BooleanEnumType | string; + Type?: UserType | string; /** - *

                                                                                              The surname of the user.

                                                                                              + *

                                                                                              The locale of the user.

                                                                                              */ - Surname?: string; + Locale?: LocaleType | string; /** - *

                                                                                              Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

                                                                                              + *

                                                                                              The time zone ID of the user.

                                                                                              */ - AuthenticationToken?: string; + TimeZoneId?: string; /** - *

                                                                                              The type of the user.

                                                                                              + *

                                                                                              The ID of the user.

                                                                                              */ - Type?: UserType | string; + UserId: string | undefined; } export namespace UpdateUserRequest { diff --git a/clients/client-workdocs/protocols/Aws_restJson1.ts b/clients/client-workdocs/protocols/Aws_restJson1.ts index d18ddf0d4968..ad713ef54a93 100644 --- a/clients/client-workdocs/protocols/Aws_restJson1.ts +++ b/clients/client-workdocs/protocols/Aws_restJson1.ts @@ -159,15 +159,6 @@ export const serializeAws_restJson1AbortDocumentVersionUploadCommand = async ( ...(isSerializableHeaderValue(input.AuthenticationToken) && { Authentication: input.AuthenticationToken! }), }; let resolvedPath = "/api/v1/documents/{DocumentId}/versions/{VersionId}"; - if (input.DocumentId !== undefined) { - const labelValue: string = input.DocumentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DocumentId."); - } - resolvedPath = resolvedPath.replace("{DocumentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DocumentId."); - } if (input.VersionId !== undefined) { const labelValue: string = input.VersionId; if (labelValue.length <= 0) { @@ -177,6 +168,15 @@ export const serializeAws_restJson1AbortDocumentVersionUploadCommand = async ( } else { throw new Error("No value provided for input HTTP label: VersionId."); } + if (input.DocumentId !== undefined) { + const labelValue: string = input.DocumentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DocumentId."); + } + resolvedPath = resolvedPath.replace("{DocumentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DocumentId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -269,15 +269,6 @@ export const serializeAws_restJson1CreateCommentCommand = async ( ...(isSerializableHeaderValue(input.AuthenticationToken) && { Authentication: input.AuthenticationToken! }), }; let resolvedPath = "/api/v1/documents/{DocumentId}/versions/{VersionId}/comment"; - if (input.VersionId !== undefined) { - const labelValue: string = input.VersionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VersionId."); - } - resolvedPath = resolvedPath.replace("{VersionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: VersionId."); - } if (input.DocumentId !== undefined) { const labelValue: string = input.DocumentId; if (labelValue.length <= 0) { @@ -287,6 +278,15 @@ export const serializeAws_restJson1CreateCommentCommand = async ( } else { throw new Error("No value provided for input HTTP label: DocumentId."); } + if (input.VersionId !== undefined) { + const labelValue: string = input.VersionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VersionId."); + } + resolvedPath = resolvedPath.replace("{VersionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VersionId."); + } let body: any; body = JSON.stringify({ ...(input.NotifyCollaborators !== undefined && { NotifyCollaborators: input.NotifyCollaborators }), @@ -516,14 +516,14 @@ export const serializeAws_restJson1DeleteCommentCommand = async ( ...(isSerializableHeaderValue(input.AuthenticationToken) && { Authentication: input.AuthenticationToken! }), }; let resolvedPath = "/api/v1/documents/{DocumentId}/versions/{VersionId}/comment/{CommentId}"; - if (input.CommentId !== undefined) { - const labelValue: string = input.CommentId; + if (input.DocumentId !== undefined) { + const labelValue: string = input.DocumentId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: CommentId."); + throw new Error("Empty value provided for input HTTP label: DocumentId."); } - resolvedPath = resolvedPath.replace("{CommentId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{DocumentId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: CommentId."); + throw new Error("No value provided for input HTTP label: DocumentId."); } if (input.VersionId !== undefined) { const labelValue: string = input.VersionId; @@ -534,14 +534,14 @@ export const serializeAws_restJson1DeleteCommentCommand = async ( } else { throw new Error("No value provided for input HTTP label: VersionId."); } - if (input.DocumentId !== undefined) { - const labelValue: string = input.DocumentId; + if (input.CommentId !== undefined) { + const labelValue: string = input.CommentId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DocumentId."); + throw new Error("Empty value provided for input HTTP label: CommentId."); } - resolvedPath = resolvedPath.replace("{DocumentId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{CommentId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: DocumentId."); + throw new Error("No value provided for input HTTP label: CommentId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -730,15 +730,6 @@ export const serializeAws_restJson1DeleteNotificationSubscriptionCommand = async "Content-Type": "", }; let resolvedPath = "/api/v1/organizations/{OrganizationId}/subscriptions/{SubscriptionId}"; - if (input.SubscriptionId !== undefined) { - const labelValue: string = input.SubscriptionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: SubscriptionId."); - } - resolvedPath = resolvedPath.replace("{SubscriptionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: SubscriptionId."); - } if (input.OrganizationId !== undefined) { const labelValue: string = input.OrganizationId; if (labelValue.length <= 0) { @@ -748,6 +739,15 @@ export const serializeAws_restJson1DeleteNotificationSubscriptionCommand = async } else { throw new Error("No value provided for input HTTP label: OrganizationId."); } + if (input.SubscriptionId !== undefined) { + const labelValue: string = input.SubscriptionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: SubscriptionId."); + } + resolvedPath = resolvedPath.replace("{SubscriptionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: SubscriptionId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -802,17 +802,17 @@ export const serializeAws_restJson1DescribeActivitiesCommand = async ( }; let resolvedPath = "/api/v1/activities"; const query: any = { - ...(input.ActivityTypes !== undefined && { activityTypes: input.ActivityTypes }), + ...(input.StartTime !== undefined && { startTime: (input.StartTime.toISOString().split(".")[0] + "Z").toString() }), ...(input.OrganizationId !== undefined && { organizationId: input.OrganizationId }), ...(input.Marker !== undefined && { marker: input.Marker }), ...(input.IncludeIndirectActivities !== undefined && { includeIndirectActivities: input.IncludeIndirectActivities.toString(), }), - ...(input.Limit !== undefined && { limit: input.Limit.toString() }), - ...(input.EndTime !== undefined && { endTime: (input.EndTime.toISOString().split(".")[0] + "Z").toString() }), ...(input.UserId !== undefined && { userId: input.UserId }), - ...(input.StartTime !== undefined && { startTime: (input.StartTime.toISOString().split(".")[0] + "Z").toString() }), + ...(input.ActivityTypes !== undefined && { activityTypes: input.ActivityTypes }), + ...(input.EndTime !== undefined && { endTime: (input.EndTime.toISOString().split(".")[0] + "Z").toString() }), ...(input.ResourceId !== undefined && { resourceId: input.ResourceId }), + ...(input.Limit !== undefined && { limit: input.Limit.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -892,10 +892,10 @@ export const serializeAws_restJson1DescribeDocumentVersionsCommand = async ( throw new Error("No value provided for input HTTP label: DocumentId."); } const query: any = { - ...(input.Include !== undefined && { include: input.Include }), - ...(input.Marker !== undefined && { marker: input.Marker }), ...(input.Limit !== undefined && { limit: input.Limit.toString() }), ...(input.Fields !== undefined && { fields: input.Fields }), + ...(input.Marker !== undefined && { marker: input.Marker }), + ...(input.Include !== undefined && { include: input.Include }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -930,12 +930,12 @@ export const serializeAws_restJson1DescribeFolderContentsCommand = async ( throw new Error("No value provided for input HTTP label: FolderId."); } const query: any = { + ...(input.Order !== undefined && { order: input.Order }), + ...(input.Type !== undefined && { type: input.Type }), + ...(input.Include !== undefined && { include: input.Include }), ...(input.Sort !== undefined && { sort: input.Sort }), ...(input.Marker !== undefined && { marker: input.Marker }), - ...(input.Include !== undefined && { include: input.Include }), ...(input.Limit !== undefined && { limit: input.Limit.toString() }), - ...(input.Order !== undefined && { order: input.Order }), - ...(input.Type !== undefined && { type: input.Type }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -961,10 +961,10 @@ export const serializeAws_restJson1DescribeGroupsCommand = async ( }; let resolvedPath = "/api/v1/groups"; const query: any = { - ...(input.SearchQuery !== undefined && { searchQuery: input.SearchQuery }), - ...(input.Limit !== undefined && { limit: input.Limit.toString() }), ...(input.OrganizationId !== undefined && { organizationId: input.OrganizationId }), + ...(input.Limit !== undefined && { limit: input.Limit.toString() }), ...(input.Marker !== undefined && { marker: input.Marker }), + ...(input.SearchQuery !== undefined && { searchQuery: input.SearchQuery }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1034,9 +1034,9 @@ export const serializeAws_restJson1DescribeResourcePermissionsCommand = async ( throw new Error("No value provided for input HTTP label: ResourceId."); } const query: any = { - ...(input.PrincipalId !== undefined && { principalId: input.PrincipalId }), - ...(input.Limit !== undefined && { limit: input.Limit.toString() }), ...(input.Marker !== undefined && { marker: input.Marker }), + ...(input.Limit !== undefined && { limit: input.Limit.toString() }), + ...(input.PrincipalId !== undefined && { principalId: input.PrincipalId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1089,15 +1089,15 @@ export const serializeAws_restJson1DescribeUsersCommand = async ( }; let resolvedPath = "/api/v1/users"; const query: any = { - ...(input.Fields !== undefined && { fields: input.Fields }), - ...(input.Order !== undefined && { order: input.Order }), - ...(input.Limit !== undefined && { limit: input.Limit.toString() }), - ...(input.Marker !== undefined && { marker: input.Marker }), ...(input.Include !== undefined && { include: input.Include }), - ...(input.Sort !== undefined && { sort: input.Sort }), ...(input.UserIds !== undefined && { userIds: input.UserIds }), - ...(input.Query !== undefined && { query: input.Query }), + ...(input.Marker !== undefined && { marker: input.Marker }), + ...(input.Limit !== undefined && { limit: input.Limit.toString() }), + ...(input.Order !== undefined && { order: input.Order }), + ...(input.Fields !== undefined && { fields: input.Fields }), ...(input.OrganizationId !== undefined && { organizationId: input.OrganizationId }), + ...(input.Query !== undefined && { query: input.Query }), + ...(input.Sort !== undefined && { sort: input.Sort }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1189,8 +1189,8 @@ export const serializeAws_restJson1GetDocumentPathCommand = async ( throw new Error("No value provided for input HTTP label: DocumentId."); } const query: any = { - ...(input.Limit !== undefined && { limit: input.Limit.toString() }), ...(input.Marker !== undefined && { marker: input.Marker }), + ...(input.Limit !== undefined && { limit: input.Limit.toString() }), ...(input.Fields !== undefined && { fields: input.Fields }), }; let body: any; @@ -1216,15 +1216,6 @@ export const serializeAws_restJson1GetDocumentVersionCommand = async ( ...(isSerializableHeaderValue(input.AuthenticationToken) && { Authentication: input.AuthenticationToken! }), }; let resolvedPath = "/api/v1/documents/{DocumentId}/versions/{VersionId}"; - if (input.VersionId !== undefined) { - const labelValue: string = input.VersionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: VersionId."); - } - resolvedPath = resolvedPath.replace("{VersionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: VersionId."); - } if (input.DocumentId !== undefined) { const labelValue: string = input.DocumentId; if (labelValue.length <= 0) { @@ -1234,6 +1225,15 @@ export const serializeAws_restJson1GetDocumentVersionCommand = async ( } else { throw new Error("No value provided for input HTTP label: DocumentId."); } + if (input.VersionId !== undefined) { + const labelValue: string = input.VersionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: VersionId."); + } + resolvedPath = resolvedPath.replace("{VersionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: VersionId."); + } const query: any = { ...(input.IncludeCustomMetadata !== undefined && { includeCustomMetadata: input.IncludeCustomMetadata.toString() }), ...(input.Fields !== undefined && { fields: input.Fields }), @@ -1334,10 +1334,10 @@ export const serializeAws_restJson1GetResourcesCommand = async ( }; let resolvedPath = "/api/v1/resources"; const query: any = { + ...(input.Limit !== undefined && { limit: input.Limit.toString() }), ...(input.CollectionType !== undefined && { collectionType: input.CollectionType }), - ...(input.Marker !== undefined && { marker: input.Marker }), ...(input.UserId !== undefined && { userId: input.UserId }), - ...(input.Limit !== undefined && { limit: input.Limit.toString() }), + ...(input.Marker !== undefined && { marker: input.Marker }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); diff --git a/clients/client-worklink/models/models_0.ts b/clients/client-worklink/models/models_0.ts index 26eb2df54d76..e00ce976d6d8 100644 --- a/clients/client-worklink/models/models_0.ts +++ b/clients/client-worklink/models/models_0.ts @@ -206,14 +206,14 @@ export namespace AssociateWebsiteCertificateAuthorityResponse { export interface CreateFleetRequest { /** - *

                                                                                              A unique name for the fleet.

                                                                                              + *

                                                                                              The tags to add to the resource. A tag is a key-value pair.

                                                                                              */ - FleetName: string | undefined; + Tags?: { [key: string]: string }; /** - *

                                                                                              The tags to add to the resource. A tag is a key-value pair.

                                                                                              + *

                                                                                              A unique name for the fleet.

                                                                                              */ - Tags?: { [key: string]: string }; + FleetName: string | undefined; /** *

                                                                                              The fleet name to display.

                                                                                              @@ -331,14 +331,14 @@ export namespace DescribeCompanyNetworkConfigurationResponse { export interface DescribeDeviceRequest { /** - *

                                                                                              The ARN of the fleet.

                                                                                              + *

                                                                                              A unique identifier for a registered user's device.

                                                                                              */ - FleetArn: string | undefined; + DeviceId: string | undefined; /** - *

                                                                                              A unique identifier for a registered user's device.

                                                                                              + *

                                                                                              The ARN of the fleet.

                                                                                              */ - DeviceId: string | undefined; + FleetArn: string | undefined; } export namespace DescribeDeviceRequest { @@ -354,20 +354,15 @@ export enum DeviceStatus { export interface DescribeDeviceResponse { /** - *

                                                                                              The operating system patch level of the device.

                                                                                              + *

                                                                                              The operating system version of the device.

                                                                                              */ - PatchLevel?: string; + OperatingSystemVersion?: string; /** *

                                                                                              The user name associated with the device.

                                                                                              */ Username?: string; - /** - *

                                                                                              The operating system of the device.

                                                                                              - */ - OperatingSystem?: string; - /** *

                                                                                              The current state of the device.

                                                                                              */ @@ -379,14 +374,14 @@ export interface DescribeDeviceResponse { FirstAccessedTime?: Date; /** - *

                                                                                              The date that the device last accessed Amazon WorkLink.

                                                                                              + *

                                                                                              The operating system patch level of the device.

                                                                                              */ - LastAccessedTime?: Date; + PatchLevel?: string; /** - *

                                                                                              The model of the device.

                                                                                              + *

                                                                                              The date that the device last accessed Amazon WorkLink.

                                                                                              */ - Model?: string; + LastAccessedTime?: Date; /** *

                                                                                              The manufacturer of the device.

                                                                                              @@ -394,9 +389,14 @@ export interface DescribeDeviceResponse { Manufacturer?: string; /** - *

                                                                                              The operating system version of the device.

                                                                                              + *

                                                                                              The operating system of the device.

                                                                                              */ - OperatingSystemVersion?: string; + OperatingSystem?: string; + + /** + *

                                                                                              The model of the device.

                                                                                              + */ + Model?: string; } export namespace DescribeDeviceResponse { @@ -461,20 +461,15 @@ export enum DomainStatus { } export interface DescribeDomainResponse { - /** - *

                                                                                              The name to display.

                                                                                              - */ - DisplayName?: string; - /** *

                                                                                              The name of the domain.

                                                                                              */ DomainName?: string; /** - *

                                                                                              The current state for the domain.

                                                                                              + *

                                                                                              The name to display.

                                                                                              */ - DomainStatus?: DomainStatus | string; + DisplayName?: string; /** *

                                                                                              The time that the domain was added.

                                                                                              @@ -485,6 +480,11 @@ export interface DescribeDomainResponse { *

                                                                                              The ARN of an issued ACM certificate that is valid for the domain being associated.

                                                                                              */ AcmCertificateArn?: string; + + /** + *

                                                                                              The current state for the domain.

                                                                                              + */ + DomainStatus?: DomainStatus | string; } export namespace DescribeDomainResponse { @@ -517,9 +517,9 @@ export enum FleetStatus { export interface DescribeFleetMetadataResponse { /** - *

                                                                                              The time that the fleet was created.

                                                                                              + *

                                                                                              The current state of the fleet.

                                                                                              */ - CreatedTime?: Date; + FleetStatus?: FleetStatus | string; /** *

                                                                                              The name of the fleet.

                                                                                              @@ -527,14 +527,9 @@ export interface DescribeFleetMetadataResponse { FleetName?: string; /** - *

                                                                                              The current state of the fleet.

                                                                                              - */ - FleetStatus?: FleetStatus | string; - - /** - *

                                                                                              The time that the fleet was last updated.

                                                                                              + *

                                                                                              The time that the fleet was created.

                                                                                              */ - LastUpdatedTime?: Date; + CreatedTime?: Date; /** *

                                                                                              The option to optimize for better performance by routing traffic through the closest @@ -547,6 +542,11 @@ export interface DescribeFleetMetadataResponse { */ DisplayName?: string; + /** + *

                                                                                              The time that the fleet was last updated.

                                                                                              + */ + LastUpdatedTime?: Date; + /** *

                                                                                              The tags attached to the resource. A tag is a key-value pair.

                                                                                              */ @@ -588,14 +588,14 @@ export interface DescribeIdentityProviderConfigurationResponse { ServiceProviderSamlMetadata?: string; /** - *

                                                                                              The type of identity provider.

                                                                                              + *

                                                                                              The SAML metadata document provided by the user’s identity provider.

                                                                                              */ - IdentityProviderType?: IdentityProviderType | string; + IdentityProviderSamlMetadata?: string; /** - *

                                                                                              The SAML metadata document provided by the user’s identity provider.

                                                                                              + *

                                                                                              The type of identity provider.

                                                                                              */ - IdentityProviderSamlMetadata?: string; + IdentityProviderType?: IdentityProviderType | string; } export namespace DescribeIdentityProviderConfigurationResponse { @@ -623,11 +623,6 @@ export namespace DescribeWebsiteCertificateAuthorityRequest { } export interface DescribeWebsiteCertificateAuthorityResponse { - /** - *

                                                                                              The time that the certificate authority was added.

                                                                                              - */ - CreatedTime?: Date; - /** *

                                                                                              The root certificate of the certificate authority.

                                                                                              */ @@ -637,6 +632,11 @@ export interface DescribeWebsiteCertificateAuthorityResponse { *

                                                                                              The certificate name to display.

                                                                                              */ DisplayName?: string; + + /** + *

                                                                                              The time that the certificate authority was added.

                                                                                              + */ + CreatedTime?: Date; } export namespace DescribeWebsiteCertificateAuthorityResponse { @@ -779,16 +779,6 @@ export namespace DomainSummary { *

                                                                                              The summary of the fleet.

                                                                                              */ export interface FleetSummary { - /** - *

                                                                                              The time when the fleet was last updated.

                                                                                              - */ - LastUpdatedTime?: Date; - - /** - *

                                                                                              The identifier used by users to sign into the Amazon WorkLink app.

                                                                                              - */ - CompanyCode?: string; - /** *

                                                                                              The name of the fleet to display.

                                                                                              */ @@ -799,15 +789,20 @@ export interface FleetSummary { */ FleetName?: string; + /** + *

                                                                                              The status of the fleet.

                                                                                              + */ + FleetStatus?: FleetStatus | string; + /** *

                                                                                              The time when the fleet was created.

                                                                                              */ CreatedTime?: Date; /** - *

                                                                                              The status of the fleet.

                                                                                              + *

                                                                                              The Amazon Resource Name (ARN) of the fleet.

                                                                                              */ - FleetStatus?: FleetStatus | string; + FleetArn?: string; /** *

                                                                                              The tags attached to the resource. A tag is a key-value pair.

                                                                                              @@ -815,9 +810,14 @@ export interface FleetSummary { Tags?: { [key: string]: string }; /** - *

                                                                                              The Amazon Resource Name (ARN) of the fleet.

                                                                                              + *

                                                                                              The identifier used by users to sign into the Amazon WorkLink app.

                                                                                              */ - FleetArn?: string; + CompanyCode?: string; + + /** + *

                                                                                              The time when the fleet was last updated.

                                                                                              + */ + LastUpdatedTime?: Date; } export namespace FleetSummary { @@ -827,17 +827,17 @@ export namespace FleetSummary { } export interface ListDevicesRequest { - /** - *

                                                                                              The maximum number of results to be included in the next page.

                                                                                              - */ - MaxResults?: number; - /** *

                                                                                              The pagination token used to retrieve the next page of results for this operation. If * this value is null, it retrieves the first page.

                                                                                              */ NextToken?: string; + /** + *

                                                                                              The maximum number of results to be included in the next page.

                                                                                              + */ + MaxResults?: number; + /** *

                                                                                              The ARN of the fleet.

                                                                                              */ @@ -877,14 +877,14 @@ export interface ListDomainsRequest { NextToken?: string; /** - *

                                                                                              The maximum number of results to be included in the next page.

                                                                                              + *

                                                                                              The ARN of the fleet.

                                                                                              */ - MaxResults?: number; + FleetArn: string | undefined; /** - *

                                                                                              The ARN of the fleet.

                                                                                              + *

                                                                                              The maximum number of results to be included in the next page.

                                                                                              */ - FleetArn: string | undefined; + MaxResults?: number; } export namespace ListDomainsRequest { @@ -913,16 +913,16 @@ export namespace ListDomainsResponse { } export interface ListFleetsRequest { - /** - *

                                                                                              The maximum number of results to be included in the next page.

                                                                                              - */ - MaxResults?: number; - /** *

                                                                                              The pagination token used to retrieve the next page of results for this operation. If * this value is null, it retrieves the first page.

                                                                                              */ NextToken?: string; + + /** + *

                                                                                              The maximum number of results to be included in the next page.

                                                                                              + */ + MaxResults?: number; } export namespace ListFleetsRequest { @@ -932,16 +932,16 @@ export namespace ListFleetsRequest { } export interface ListFleetsResponse { - /** - *

                                                                                              The summary list of the fleets.

                                                                                              - */ - FleetSummaryList?: FleetSummary[]; - /** *

                                                                                              The pagination token used to retrieve the next page of results for this operation. If * there are no more pages, this value is null.

                                                                                              */ NextToken?: string; + + /** + *

                                                                                              The summary list of the fleets.

                                                                                              + */ + FleetSummaryList?: FleetSummary[]; } export namespace ListFleetsResponse { @@ -983,14 +983,14 @@ export interface ListWebsiteAuthorizationProvidersRequest { FleetArn: string | undefined; /** - *

                                                                                              The maximum number of results to be included in the next page.

                                                                                              + *

                                                                                              The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

                                                                                              */ - MaxResults?: number; + NextToken?: string; /** - *

                                                                                              The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

                                                                                              + *

                                                                                              The maximum number of results to be included in the next page.

                                                                                              */ - NextToken?: string; + MaxResults?: number; } export namespace ListWebsiteAuthorizationProvidersRequest { @@ -1003,17 +1003,17 @@ export namespace ListWebsiteAuthorizationProvidersRequest { *

                                                                                              The summary of the website authorization provider.

                                                                                              */ export interface WebsiteAuthorizationProviderSummary { - /** - *

                                                                                              A unique identifier for the authorization provider.

                                                                                              - */ - AuthorizationProviderId?: string; - /** *

                                                                                              The domain name of the authorization provider. This applies only to SAML-based * authorization providers.

                                                                                              */ DomainName?: string; + /** + *

                                                                                              A unique identifier for the authorization provider.

                                                                                              + */ + AuthorizationProviderId?: string; + /** *

                                                                                              The time of creation.

                                                                                              */ @@ -1077,11 +1077,6 @@ export namespace ListWebsiteCertificateAuthoritiesRequest { *

                                                                                              The summary of the certificate authority (CA).

                                                                                              */ export interface WebsiteCaSummary { - /** - *

                                                                                              The time when the CA was added.

                                                                                              - */ - CreatedTime?: Date; - /** *

                                                                                              A unique identifier for the CA.

                                                                                              */ @@ -1091,6 +1086,11 @@ export interface WebsiteCaSummary { *

                                                                                              The name to display.

                                                                                              */ DisplayName?: string; + + /** + *

                                                                                              The time when the CA was added.

                                                                                              + */ + CreatedTime?: Date; } export namespace WebsiteCaSummary { @@ -1172,14 +1172,14 @@ export namespace RevokeDomainAccessResponse { export interface SignOutUserRequest { /** - *

                                                                                              The ARN of the fleet.

                                                                                              + *

                                                                                              The name of the user.

                                                                                              */ - FleetArn: string | undefined; + Username: string | undefined; /** - *

                                                                                              The name of the user.

                                                                                              + *

                                                                                              The ARN of the fleet.

                                                                                              */ - Username: string | undefined; + FleetArn: string | undefined; } export namespace SignOutUserRequest { @@ -1275,11 +1275,6 @@ export namespace UpdateAuditStreamConfigurationResponse { } export interface UpdateCompanyNetworkConfigurationRequest { - /** - *

                                                                                              The ARN of the fleet.

                                                                                              - */ - FleetArn: string | undefined; - /** *

                                                                                              The VPC with connectivity to associated websites.

                                                                                              */ @@ -1294,6 +1289,11 @@ export interface UpdateCompanyNetworkConfigurationRequest { *

                                                                                              The security groups associated with access to the provided subnets.

                                                                                              */ SecurityGroupIds: string[] | undefined; + + /** + *

                                                                                              The ARN of the fleet.

                                                                                              + */ + FleetArn: string | undefined; } export namespace UpdateCompanyNetworkConfigurationRequest { @@ -1312,14 +1312,14 @@ export namespace UpdateCompanyNetworkConfigurationResponse { export interface UpdateDevicePolicyConfigurationRequest { /** - *

                                                                                              The ARN of the fleet.

                                                                                              + *

                                                                                              The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates.

                                                                                              */ - FleetArn: string | undefined; + DeviceCaCertificate?: string; /** - *

                                                                                              The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates.

                                                                                              + *

                                                                                              The ARN of the fleet.

                                                                                              */ - DeviceCaCertificate?: string; + FleetArn: string | undefined; } export namespace UpdateDevicePolicyConfigurationRequest { @@ -1338,14 +1338,14 @@ export namespace UpdateDevicePolicyConfigurationResponse { export interface UpdateDomainMetadataRequest { /** - *

                                                                                              The name of the domain.

                                                                                              + *

                                                                                              The ARN of the fleet.

                                                                                              */ - DomainName: string | undefined; + FleetArn: string | undefined; /** - *

                                                                                              The ARN of the fleet.

                                                                                              + *

                                                                                              The name of the domain.

                                                                                              */ - FleetArn: string | undefined; + DomainName: string | undefined; /** *

                                                                                              The name to display.

                                                                                              @@ -1368,6 +1368,12 @@ export namespace UpdateDomainMetadataResponse { } export interface UpdateFleetMetadataRequest { + /** + *

                                                                                              The option to optimize for better performance by routing traffic through the closest + * AWS Region to users, which may be outside of your home Region.

                                                                                              + */ + OptimizeForEndUserLocation?: boolean; + /** *

                                                                                              The fleet name to display. The existing DisplayName is unset if null is passed.

                                                                                              */ @@ -1377,12 +1383,6 @@ export interface UpdateFleetMetadataRequest { *

                                                                                              The ARN of the fleet.

                                                                                              */ FleetArn: string | undefined; - - /** - *

                                                                                              The option to optimize for better performance by routing traffic through the closest - * AWS Region to users, which may be outside of your home Region.

                                                                                              - */ - OptimizeForEndUserLocation?: boolean; } export namespace UpdateFleetMetadataRequest { diff --git a/clients/client-workmail/WorkMail.ts b/clients/client-workmail/WorkMail.ts index 2d486390555e..33d42bd33476 100644 --- a/clients/client-workmail/WorkMail.ts +++ b/clients/client-workmail/WorkMail.ts @@ -9,14 +9,29 @@ import { AssociateMemberToGroupCommandInput, AssociateMemberToGroupCommandOutput, } from "./commands/AssociateMemberToGroupCommand"; +import { + CancelMailboxExportJobCommand, + CancelMailboxExportJobCommandInput, + CancelMailboxExportJobCommandOutput, +} from "./commands/CancelMailboxExportJobCommand"; import { CreateAliasCommand, CreateAliasCommandInput, CreateAliasCommandOutput } from "./commands/CreateAliasCommand"; import { CreateGroupCommand, CreateGroupCommandInput, CreateGroupCommandOutput } from "./commands/CreateGroupCommand"; +import { + CreateOrganizationCommand, + CreateOrganizationCommandInput, + CreateOrganizationCommandOutput, +} from "./commands/CreateOrganizationCommand"; import { CreateResourceCommand, CreateResourceCommandInput, CreateResourceCommandOutput, } from "./commands/CreateResourceCommand"; import { CreateUserCommand, CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; +import { + DeleteAccessControlRuleCommand, + DeleteAccessControlRuleCommandInput, + DeleteAccessControlRuleCommandOutput, +} from "./commands/DeleteAccessControlRuleCommand"; import { DeleteAliasCommand, DeleteAliasCommandInput, DeleteAliasCommandOutput } from "./commands/DeleteAliasCommand"; import { DeleteGroupCommand, DeleteGroupCommandInput, DeleteGroupCommandOutput } from "./commands/DeleteGroupCommand"; import { @@ -24,11 +39,21 @@ import { DeleteMailboxPermissionsCommandInput, DeleteMailboxPermissionsCommandOutput, } from "./commands/DeleteMailboxPermissionsCommand"; +import { + DeleteOrganizationCommand, + DeleteOrganizationCommandInput, + DeleteOrganizationCommandOutput, +} from "./commands/DeleteOrganizationCommand"; import { DeleteResourceCommand, DeleteResourceCommandInput, DeleteResourceCommandOutput, } from "./commands/DeleteResourceCommand"; +import { + DeleteRetentionPolicyCommand, + DeleteRetentionPolicyCommandInput, + DeleteRetentionPolicyCommandOutput, +} from "./commands/DeleteRetentionPolicyCommand"; import { DeleteUserCommand, DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; import { DeregisterFromWorkMailCommand, @@ -40,6 +65,11 @@ import { DescribeGroupCommandInput, DescribeGroupCommandOutput, } from "./commands/DescribeGroupCommand"; +import { + DescribeMailboxExportJobCommand, + DescribeMailboxExportJobCommandInput, + DescribeMailboxExportJobCommandOutput, +} from "./commands/DescribeMailboxExportJobCommand"; import { DescribeOrganizationCommand, DescribeOrganizationCommandInput, @@ -65,11 +95,26 @@ import { DisassociateMemberFromGroupCommandInput, DisassociateMemberFromGroupCommandOutput, } from "./commands/DisassociateMemberFromGroupCommand"; +import { + GetAccessControlEffectCommand, + GetAccessControlEffectCommandInput, + GetAccessControlEffectCommandOutput, +} from "./commands/GetAccessControlEffectCommand"; +import { + GetDefaultRetentionPolicyCommand, + GetDefaultRetentionPolicyCommandInput, + GetDefaultRetentionPolicyCommandOutput, +} from "./commands/GetDefaultRetentionPolicyCommand"; import { GetMailboxDetailsCommand, GetMailboxDetailsCommandInput, GetMailboxDetailsCommandOutput, } from "./commands/GetMailboxDetailsCommand"; +import { + ListAccessControlRulesCommand, + ListAccessControlRulesCommandInput, + ListAccessControlRulesCommandOutput, +} from "./commands/ListAccessControlRulesCommand"; import { ListAliasesCommand, ListAliasesCommandInput, ListAliasesCommandOutput } from "./commands/ListAliasesCommand"; import { ListGroupMembersCommand, @@ -77,6 +122,11 @@ import { ListGroupMembersCommandOutput, } from "./commands/ListGroupMembersCommand"; import { ListGroupsCommand, ListGroupsCommandInput, ListGroupsCommandOutput } from "./commands/ListGroupsCommand"; +import { + ListMailboxExportJobsCommand, + ListMailboxExportJobsCommandInput, + ListMailboxExportJobsCommandOutput, +} from "./commands/ListMailboxExportJobsCommand"; import { ListMailboxPermissionsCommand, ListMailboxPermissionsCommandInput, @@ -97,12 +147,27 @@ import { ListResourcesCommandInput, ListResourcesCommandOutput, } from "./commands/ListResourcesCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { ListUsersCommand, ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand"; +import { + PutAccessControlRuleCommand, + PutAccessControlRuleCommandInput, + PutAccessControlRuleCommandOutput, +} from "./commands/PutAccessControlRuleCommand"; import { PutMailboxPermissionsCommand, PutMailboxPermissionsCommandInput, PutMailboxPermissionsCommandOutput, } from "./commands/PutMailboxPermissionsCommand"; +import { + PutRetentionPolicyCommand, + PutRetentionPolicyCommandInput, + PutRetentionPolicyCommandOutput, +} from "./commands/PutRetentionPolicyCommand"; import { RegisterToWorkMailCommand, RegisterToWorkMailCommandInput, @@ -113,6 +178,17 @@ import { ResetPasswordCommandInput, ResetPasswordCommandOutput, } from "./commands/ResetPasswordCommand"; +import { + StartMailboxExportJobCommand, + StartMailboxExportJobCommandInput, + StartMailboxExportJobCommandOutput, +} from "./commands/StartMailboxExportJobCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; import { UpdateMailboxQuotaCommand, UpdateMailboxQuotaCommandInput, @@ -158,14 +234,15 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *

                                                                                              Managing resources

                                                                                              *
                                                                                            • *
                                                                                            - *

                                                                                            All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only - * require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles - * to help facilitate access, trust, and permission policies. By creating a role and allowing - * an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into - * the entire WorkMail organization (or as set in the IAM policy). This includes, but is not - * limited to, the ability to create, update, and delete users, groups, and resources. This - * allows developers to perform the scenarios listed above, as well as give users the ability - * to grant access on a selective basis using the IAM model.

                                                                                            + *

                                                                                            All WorkMail API operations are Amazon-authenticated and certificate-signed. They not + * only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management + * users and roles to help facilitate access, trust, and permission policies. By creating a + * role and allowing an IAM user to access the WorkMail site, the IAM user gains full + * administrative visibility into the entire WorkMail organization (or as set in the IAM + * policy). This includes, but is not limited to, the ability to create, update, and delete + * users, groups, and resources. This allows developers to perform the scenarios listed above, + * as well as give users the ability to grant access on a selective basis using the IAM + * model.

                                                                                            */ export class WorkMail extends WorkMailClient { /** @@ -232,6 +309,42 @@ export class WorkMail extends WorkMailClient { } } + /** + *

                                                                                            Cancels a mailbox export job.

                                                                                            + * + *

                                                                                            If the mailbox export job is near completion, it might not be possible to cancel + * it.

                                                                                            + *
                                                                                            + */ + public cancelMailboxExportJob( + args: CancelMailboxExportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public cancelMailboxExportJob( + args: CancelMailboxExportJobCommandInput, + cb: (err: any, data?: CancelMailboxExportJobCommandOutput) => void + ): void; + public cancelMailboxExportJob( + args: CancelMailboxExportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CancelMailboxExportJobCommandOutput) => void + ): void; + public cancelMailboxExportJob( + args: CancelMailboxExportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CancelMailboxExportJobCommandOutput) => void), + cb?: (err: any, data?: CancelMailboxExportJobCommandOutput) => void + ): Promise | void { + const command = new CancelMailboxExportJobCommand(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 an alias to the set of a given member (user or group) of Amazon WorkMail.

                                                                                            */ @@ -259,8 +372,7 @@ export class WorkMail extends WorkMailClient { } /** - *

                                                                                            Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail - * operation.

                                                                                            + *

                                                                                            Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

                                                                                            */ public createGroup(args: CreateGroupCommandInput, options?: __HttpHandlerOptions): Promise; public createGroup(args: CreateGroupCommandInput, cb: (err: any, data?: CreateGroupCommandOutput) => void): void; @@ -285,6 +397,42 @@ export class WorkMail extends WorkMailClient { } } + /** + *

                                                                                            Creates a new Amazon WorkMail organization. Optionally, you can choose to associate an existing AWS Directory Service directory with your organization. If an AWS Directory Service directory ID is specified, the organization alias must match the directory alias. If you choose not to associate an existing directory with your organization, then we create a new Amazon WorkMail directory for you. For more information, see Adding an organization in the Amazon WorkMail Administrator Guide.

                                                                                            + *

                                                                                            You can associate multiple email domains with an organization, then set your default email domain from the Amazon WorkMail console. You can also associate a domain that is managed in an Amazon Route 53 public hosted zone. For more information, see Adding a domain and Choosing the default domain in the Amazon WorkMail Administrator Guide.

                                                                                            + *

                                                                                            Optionally, you can use a customer managed master key from AWS Key Management Service + * (AWS KMS) to encrypt email for your organization. If you don't associate an AWS KMS key, Amazon WorkMail creates a + * default AWS managed master key for you.

                                                                                            + */ + public createOrganization( + args: CreateOrganizationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createOrganization( + args: CreateOrganizationCommandInput, + cb: (err: any, data?: CreateOrganizationCommandOutput) => void + ): void; + public createOrganization( + args: CreateOrganizationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateOrganizationCommandOutput) => void + ): void; + public createOrganization( + args: CreateOrganizationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateOrganizationCommandOutput) => void), + cb?: (err: any, data?: CreateOrganizationCommandOutput) => void + ): Promise | void { + const command = new CreateOrganizationCommand(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 WorkMail resource.

                                                                                            */ @@ -318,8 +466,7 @@ export class WorkMail extends WorkMailClient { } /** - *

                                                                                            Creates a user who can be used in Amazon WorkMail by calling the - * RegisterToWorkMail operation.

                                                                                            + *

                                                                                            Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

                                                                                            */ public createUser(args: CreateUserCommandInput, options?: __HttpHandlerOptions): Promise; public createUser(args: CreateUserCommandInput, cb: (err: any, data?: CreateUserCommandOutput) => void): void; @@ -344,6 +491,38 @@ export class WorkMail extends WorkMailClient { } } + /** + *

                                                                                            Deletes an access control rule for the specified WorkMail organization.

                                                                                            + */ + public deleteAccessControlRule( + args: DeleteAccessControlRuleCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteAccessControlRule( + args: DeleteAccessControlRuleCommandInput, + cb: (err: any, data?: DeleteAccessControlRuleCommandOutput) => void + ): void; + public deleteAccessControlRule( + args: DeleteAccessControlRuleCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAccessControlRuleCommandOutput) => void + ): void; + public deleteAccessControlRule( + args: DeleteAccessControlRuleCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAccessControlRuleCommandOutput) => void), + cb?: (err: any, data?: DeleteAccessControlRuleCommandOutput) => void + ): Promise | void { + const command = new DeleteAccessControlRuleCommand(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 one or more specified aliases from a set of aliases for a given * user.

                                                                                            @@ -429,6 +608,38 @@ export class WorkMail extends WorkMailClient { } } + /** + *

                                                                                            Deletes an Amazon WorkMail organization and all underlying AWS resources managed by Amazon WorkMail as part of the organization. You can choose whether to delete the associated directory. For more information, see Removing an organization in the Amazon WorkMail Administrator Guide.

                                                                                            + */ + public deleteOrganization( + args: DeleteOrganizationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteOrganization( + args: DeleteOrganizationCommandInput, + cb: (err: any, data?: DeleteOrganizationCommandOutput) => void + ): void; + public deleteOrganization( + args: DeleteOrganizationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteOrganizationCommandOutput) => void + ): void; + public deleteOrganization( + args: DeleteOrganizationCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteOrganizationCommandOutput) => void), + cb?: (err: any, data?: DeleteOrganizationCommandOutput) => void + ): Promise | void { + const command = new DeleteOrganizationCommand(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 resource.

                                                                                            */ @@ -462,11 +673,43 @@ export class WorkMail extends WorkMailClient { } /** - *

                                                                                            Deletes a user from Amazon WorkMail and all subsequent systems. Before you can delete a user, the - * user state must be DISABLED. Use the DescribeUser action to - * confirm the user state.

                                                                                            - *

                                                                                            Deleting a user is permanent and cannot be undone. - * WorkMail archives user mailboxes for 30 days before they are permanently removed.

                                                                                            + *

                                                                                            Deletes the specified retention policy from the specified organization.

                                                                                            + */ + public deleteRetentionPolicy( + args: DeleteRetentionPolicyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteRetentionPolicy( + args: DeleteRetentionPolicyCommandInput, + cb: (err: any, data?: DeleteRetentionPolicyCommandOutput) => void + ): void; + public deleteRetentionPolicy( + args: DeleteRetentionPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteRetentionPolicyCommandOutput) => void + ): void; + public deleteRetentionPolicy( + args: DeleteRetentionPolicyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteRetentionPolicyCommandOutput) => void), + cb?: (err: any, data?: DeleteRetentionPolicyCommandOutput) => void + ): Promise | void { + const command = new DeleteRetentionPolicyCommand(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 from Amazon WorkMail and all subsequent systems. Before you can delete a + * user, the user state must be DISABLED. Use the DescribeUser + * action to confirm the user state.

                                                                                            + *

                                                                                            Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes for + * 30 days before they are permanently removed.

                                                                                            */ public deleteUser(args: DeleteUserCommandInput, options?: __HttpHandlerOptions): Promise; public deleteUser(args: DeleteUserCommandInput, cb: (err: any, data?: DeleteUserCommandOutput) => void): void; @@ -493,8 +736,8 @@ export class WorkMail extends WorkMailClient { /** *

                                                                                            Mark a user, group, or resource as no longer used in Amazon WorkMail. This action - * disassociates the mailbox and schedules it for clean-up. WorkMail keeps mailboxes - * for 30 days before they are permanently removed. The functionality in the console is + * disassociates the mailbox and schedules it for clean-up. WorkMail keeps mailboxes for 30 days + * before they are permanently removed. The functionality in the console is * Disable.

                                                                                            */ public deregisterFromWorkMail( @@ -559,7 +802,40 @@ export class WorkMail extends WorkMailClient { } /** - *

                                                                                            Provides more information regarding a given organization based on its identifier.

                                                                                            + *

                                                                                            Describes the current status of a mailbox export job.

                                                                                            + */ + public describeMailboxExportJob( + args: DescribeMailboxExportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeMailboxExportJob( + args: DescribeMailboxExportJobCommandInput, + cb: (err: any, data?: DescribeMailboxExportJobCommandOutput) => void + ): void; + public describeMailboxExportJob( + args: DescribeMailboxExportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeMailboxExportJobCommandOutput) => void + ): void; + public describeMailboxExportJob( + args: DescribeMailboxExportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeMailboxExportJobCommandOutput) => void), + cb?: (err: any, data?: DescribeMailboxExportJobCommandOutput) => void + ): Promise | void { + const command = new DescribeMailboxExportJobCommand(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 more information regarding a given organization based on its + * identifier.

                                                                                            */ public describeOrganization( args: DescribeOrganizationCommandInput, @@ -715,6 +991,71 @@ export class WorkMail extends WorkMailClient { } } + /** + *

                                                                                            Gets the effects of an organization's access control rules as they apply to a + * specified IPv4 address, access protocol action, or user ID.

                                                                                            + */ + public getAccessControlEffect( + args: GetAccessControlEffectCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getAccessControlEffect( + args: GetAccessControlEffectCommandInput, + cb: (err: any, data?: GetAccessControlEffectCommandOutput) => void + ): void; + public getAccessControlEffect( + args: GetAccessControlEffectCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetAccessControlEffectCommandOutput) => void + ): void; + public getAccessControlEffect( + args: GetAccessControlEffectCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetAccessControlEffectCommandOutput) => void), + cb?: (err: any, data?: GetAccessControlEffectCommandOutput) => void + ): Promise | void { + const command = new GetAccessControlEffectCommand(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 default retention policy details for the specified organization.

                                                                                            + */ + public getDefaultRetentionPolicy( + args: GetDefaultRetentionPolicyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getDefaultRetentionPolicy( + args: GetDefaultRetentionPolicyCommandInput, + cb: (err: any, data?: GetDefaultRetentionPolicyCommandOutput) => void + ): void; + public getDefaultRetentionPolicy( + args: GetDefaultRetentionPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetDefaultRetentionPolicyCommandOutput) => void + ): void; + public getDefaultRetentionPolicy( + args: GetDefaultRetentionPolicyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetDefaultRetentionPolicyCommandOutput) => void), + cb?: (err: any, data?: GetDefaultRetentionPolicyCommandOutput) => void + ): Promise | void { + const command = new GetDefaultRetentionPolicyCommand(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); + } + } + /** *

                                                                                            Requests a user's mailbox details for a specified organization and user.

                                                                                            */ @@ -748,7 +1089,40 @@ export class WorkMail extends WorkMailClient { } /** - *

                                                                                            Creates a paginated call to list the aliases associated with a given entity.

                                                                                            + *

                                                                                            Lists the access control rules for the specified organization.

                                                                                            + */ + public listAccessControlRules( + args: ListAccessControlRulesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAccessControlRules( + args: ListAccessControlRulesCommandInput, + cb: (err: any, data?: ListAccessControlRulesCommandOutput) => void + ): void; + public listAccessControlRules( + args: ListAccessControlRulesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAccessControlRulesCommandOutput) => void + ): void; + public listAccessControlRules( + args: ListAccessControlRulesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAccessControlRulesCommandOutput) => void), + cb?: (err: any, data?: ListAccessControlRulesCommandOutput) => void + ): Promise | void { + const command = new ListAccessControlRulesCommand(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 paginated call to list the aliases associated with a given + * entity.

                                                                                            */ public listAliases(args: ListAliasesCommandInput, options?: __HttpHandlerOptions): Promise; public listAliases(args: ListAliasesCommandInput, cb: (err: any, data?: ListAliasesCommandOutput) => void): void; @@ -774,8 +1148,8 @@ export class WorkMail extends WorkMailClient { } /** - *

                                                                                            Returns an overview of the members - * of a group. Users and groups can be members of a group.

                                                                                            + *

                                                                                            Returns an overview of the members of a group. Users and groups can be members of a + * group.

                                                                                            */ public listGroupMembers( args: ListGroupMembersCommandInput, @@ -832,6 +1206,39 @@ export class WorkMail extends WorkMailClient { } } + /** + *

                                                                                            Lists the mailbox export jobs started for the specified organization within the last + * seven days.

                                                                                            + */ + public listMailboxExportJobs( + args: ListMailboxExportJobsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listMailboxExportJobs( + args: ListMailboxExportJobsCommandInput, + cb: (err: any, data?: ListMailboxExportJobsCommandOutput) => void + ): void; + public listMailboxExportJobs( + args: ListMailboxExportJobsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListMailboxExportJobsCommandOutput) => void + ): void; + public listMailboxExportJobs( + args: ListMailboxExportJobsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListMailboxExportJobsCommandOutput) => void), + cb?: (err: any, data?: ListMailboxExportJobsCommandOutput) => void + ): Promise | void { + const command = new ListMailboxExportJobsCommand(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 mailbox permissions associated with a user, group, or resource * mailbox.

                                                                                            @@ -866,7 +1273,7 @@ export class WorkMail extends WorkMailClient { } /** - *

                                                                                            Returns summaries of the customer's non-deleted organizations.

                                                                                            + *

                                                                                            Returns summaries of the customer's organizations.

                                                                                            */ public listOrganizations( args: ListOrganizationsCommandInput, @@ -962,6 +1369,38 @@ export class WorkMail extends WorkMailClient { } } + /** + *

                                                                                            Lists the tags applied to an Amazon WorkMail organization 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); + } + } + /** *

                                                                                            Returns summaries of the organization's users.

                                                                                            */ @@ -988,6 +1427,41 @@ export class WorkMail extends WorkMailClient { } } + /** + *

                                                                                            Adds a new access control rule for the specified organization. The rule allows or + * denies access to the organization for the specified IPv4 addresses, access protocol + * actions, and user IDs. Adding a new rule with the same name as an existing rule replaces + * the older rule.

                                                                                            + */ + public putAccessControlRule( + args: PutAccessControlRuleCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putAccessControlRule( + args: PutAccessControlRuleCommandInput, + cb: (err: any, data?: PutAccessControlRuleCommandOutput) => void + ): void; + public putAccessControlRule( + args: PutAccessControlRuleCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutAccessControlRuleCommandOutput) => void + ): void; + public putAccessControlRule( + args: PutAccessControlRuleCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutAccessControlRuleCommandOutput) => void), + cb?: (err: any, data?: PutAccessControlRuleCommandOutput) => void + ): Promise | void { + const command = new PutAccessControlRuleCommand(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 permissions for a user, group, or resource. This replaces any pre-existing * permissions.

                                                                                            @@ -1021,14 +1495,46 @@ export class WorkMail extends WorkMailClient { } } + /** + *

                                                                                            Puts a retention policy to the specified organization.

                                                                                            + */ + public putRetentionPolicy( + args: PutRetentionPolicyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putRetentionPolicy( + args: PutRetentionPolicyCommandInput, + cb: (err: any, data?: PutRetentionPolicyCommandOutput) => void + ): void; + public putRetentionPolicy( + args: PutRetentionPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutRetentionPolicyCommandOutput) => void + ): void; + public putRetentionPolicy( + args: PutRetentionPolicyCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutRetentionPolicyCommandOutput) => void), + cb?: (err: any, data?: PutRetentionPolicyCommandOutput) => void + ): Promise | void { + const command = new PutRetentionPolicyCommand(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); + } + } + /** *

                                                                                            Registers an existing and disabled user, group, or resource for Amazon WorkMail use by * associating a mailbox and calendaring capabilities. It performs no change if the user, * group, or resource is enabled and fails if the user, group, or resource is deleted. This - * operation results in the accumulation of costs. For more information, see Pricing. The equivalent console + * operation results in the accumulation of costs. For more information, see Pricing. The equivalent console * functionality for this operation is Enable.

                                                                                            - *

                                                                                            Users can either be created by calling the CreateUser API operation or - * they can be synchronized from your directory. For more information, see DeregisterFromWorkMail.

                                                                                            + *

                                                                                            Users can either be created by calling the CreateUser API operation + * or they can be synchronized from your directory. For more information, see DeregisterFromWorkMail.

                                                                                            */ public registerToWorkMail( args: RegisterToWorkMailCommandInput, @@ -1092,7 +1598,103 @@ export class WorkMail extends WorkMailClient { } /** - *

                                                                                            Updates a user's current mailbox quota for a specified organization and user.

                                                                                            + *

                                                                                            Starts a mailbox export job to export MIME-format email messages and calendar items + * from the specified mailbox to the specified Amazon Simple Storage Service (Amazon S3) + * bucket. For more information, see Exporting mailbox content in + * the Amazon WorkMail Administrator Guide.

                                                                                            + */ + public startMailboxExportJob( + args: StartMailboxExportJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startMailboxExportJob( + args: StartMailboxExportJobCommandInput, + cb: (err: any, data?: StartMailboxExportJobCommandOutput) => void + ): void; + public startMailboxExportJob( + args: StartMailboxExportJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartMailboxExportJobCommandOutput) => void + ): void; + public startMailboxExportJob( + args: StartMailboxExportJobCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartMailboxExportJobCommandOutput) => void), + cb?: (err: any, data?: StartMailboxExportJobCommandOutput) => void + ): Promise | void { + const command = new StartMailboxExportJobCommand(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 WorkMail organization + * resource.

                                                                                            + */ + 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); + } + } + + /** + *

                                                                                            Untags the specified tags from the specified Amazon WorkMail organization + * resource.

                                                                                            + */ + 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); + } + } + + /** + *

                                                                                            Updates a user's current mailbox quota for a specified organization and + * user.

                                                                                            */ public updateMailboxQuota( args: UpdateMailboxQuotaCommandInput, diff --git a/clients/client-workmail/WorkMailClient.ts b/clients/client-workmail/WorkMailClient.ts index bf2e33acadd1..3019feb165df 100644 --- a/clients/client-workmail/WorkMailClient.ts +++ b/clients/client-workmail/WorkMailClient.ts @@ -6,23 +6,41 @@ import { AssociateMemberToGroupCommandInput, AssociateMemberToGroupCommandOutput, } from "./commands/AssociateMemberToGroupCommand"; +import { + CancelMailboxExportJobCommandInput, + CancelMailboxExportJobCommandOutput, +} from "./commands/CancelMailboxExportJobCommand"; import { CreateAliasCommandInput, CreateAliasCommandOutput } from "./commands/CreateAliasCommand"; import { CreateGroupCommandInput, CreateGroupCommandOutput } from "./commands/CreateGroupCommand"; +import { CreateOrganizationCommandInput, CreateOrganizationCommandOutput } from "./commands/CreateOrganizationCommand"; import { CreateResourceCommandInput, CreateResourceCommandOutput } from "./commands/CreateResourceCommand"; import { CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; +import { + DeleteAccessControlRuleCommandInput, + DeleteAccessControlRuleCommandOutput, +} from "./commands/DeleteAccessControlRuleCommand"; import { DeleteAliasCommandInput, DeleteAliasCommandOutput } from "./commands/DeleteAliasCommand"; import { DeleteGroupCommandInput, DeleteGroupCommandOutput } from "./commands/DeleteGroupCommand"; import { DeleteMailboxPermissionsCommandInput, DeleteMailboxPermissionsCommandOutput, } from "./commands/DeleteMailboxPermissionsCommand"; +import { DeleteOrganizationCommandInput, DeleteOrganizationCommandOutput } from "./commands/DeleteOrganizationCommand"; import { DeleteResourceCommandInput, DeleteResourceCommandOutput } from "./commands/DeleteResourceCommand"; +import { + DeleteRetentionPolicyCommandInput, + DeleteRetentionPolicyCommandOutput, +} from "./commands/DeleteRetentionPolicyCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; import { DeregisterFromWorkMailCommandInput, DeregisterFromWorkMailCommandOutput, } from "./commands/DeregisterFromWorkMailCommand"; import { DescribeGroupCommandInput, DescribeGroupCommandOutput } from "./commands/DescribeGroupCommand"; +import { + DescribeMailboxExportJobCommandInput, + DescribeMailboxExportJobCommandOutput, +} from "./commands/DescribeMailboxExportJobCommand"; import { DescribeOrganizationCommandInput, DescribeOrganizationCommandOutput, @@ -37,10 +55,26 @@ import { DisassociateMemberFromGroupCommandInput, DisassociateMemberFromGroupCommandOutput, } from "./commands/DisassociateMemberFromGroupCommand"; +import { + GetAccessControlEffectCommandInput, + GetAccessControlEffectCommandOutput, +} from "./commands/GetAccessControlEffectCommand"; +import { + GetDefaultRetentionPolicyCommandInput, + GetDefaultRetentionPolicyCommandOutput, +} from "./commands/GetDefaultRetentionPolicyCommand"; import { GetMailboxDetailsCommandInput, GetMailboxDetailsCommandOutput } from "./commands/GetMailboxDetailsCommand"; +import { + ListAccessControlRulesCommandInput, + ListAccessControlRulesCommandOutput, +} from "./commands/ListAccessControlRulesCommand"; import { ListAliasesCommandInput, ListAliasesCommandOutput } from "./commands/ListAliasesCommand"; import { ListGroupMembersCommandInput, ListGroupMembersCommandOutput } from "./commands/ListGroupMembersCommand"; import { ListGroupsCommandInput, ListGroupsCommandOutput } from "./commands/ListGroupsCommand"; +import { + ListMailboxExportJobsCommandInput, + ListMailboxExportJobsCommandOutput, +} from "./commands/ListMailboxExportJobsCommand"; import { ListMailboxPermissionsCommandInput, ListMailboxPermissionsCommandOutput, @@ -51,13 +85,28 @@ import { ListResourceDelegatesCommandOutput, } from "./commands/ListResourceDelegatesCommand"; import { ListResourcesCommandInput, ListResourcesCommandOutput } from "./commands/ListResourcesCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand"; +import { + PutAccessControlRuleCommandInput, + PutAccessControlRuleCommandOutput, +} from "./commands/PutAccessControlRuleCommand"; import { PutMailboxPermissionsCommandInput, PutMailboxPermissionsCommandOutput, } from "./commands/PutMailboxPermissionsCommand"; +import { PutRetentionPolicyCommandInput, PutRetentionPolicyCommandOutput } from "./commands/PutRetentionPolicyCommand"; import { RegisterToWorkMailCommandInput, RegisterToWorkMailCommandOutput } from "./commands/RegisterToWorkMailCommand"; import { ResetPasswordCommandInput, ResetPasswordCommandOutput } from "./commands/ResetPasswordCommand"; +import { + StartMailboxExportJobCommandInput, + StartMailboxExportJobCommandOutput, +} from "./commands/StartMailboxExportJobCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateMailboxQuotaCommandInput, UpdateMailboxQuotaCommandOutput } from "./commands/UpdateMailboxQuotaCommand"; import { UpdatePrimaryEmailAddressCommandInput, @@ -116,34 +165,50 @@ import { export type ServiceInputTypes = | AssociateDelegateToResourceCommandInput | AssociateMemberToGroupCommandInput + | CancelMailboxExportJobCommandInput | CreateAliasCommandInput | CreateGroupCommandInput + | CreateOrganizationCommandInput | CreateResourceCommandInput | CreateUserCommandInput + | DeleteAccessControlRuleCommandInput | DeleteAliasCommandInput | DeleteGroupCommandInput | DeleteMailboxPermissionsCommandInput + | DeleteOrganizationCommandInput | DeleteResourceCommandInput + | DeleteRetentionPolicyCommandInput | DeleteUserCommandInput | DeregisterFromWorkMailCommandInput | DescribeGroupCommandInput + | DescribeMailboxExportJobCommandInput | DescribeOrganizationCommandInput | DescribeResourceCommandInput | DescribeUserCommandInput | DisassociateDelegateFromResourceCommandInput | DisassociateMemberFromGroupCommandInput + | GetAccessControlEffectCommandInput + | GetDefaultRetentionPolicyCommandInput | GetMailboxDetailsCommandInput + | ListAccessControlRulesCommandInput | ListAliasesCommandInput | ListGroupMembersCommandInput | ListGroupsCommandInput + | ListMailboxExportJobsCommandInput | ListMailboxPermissionsCommandInput | ListOrganizationsCommandInput | ListResourceDelegatesCommandInput | ListResourcesCommandInput + | ListTagsForResourceCommandInput | ListUsersCommandInput + | PutAccessControlRuleCommandInput | PutMailboxPermissionsCommandInput + | PutRetentionPolicyCommandInput | RegisterToWorkMailCommandInput | ResetPasswordCommandInput + | StartMailboxExportJobCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput | UpdateMailboxQuotaCommandInput | UpdatePrimaryEmailAddressCommandInput | UpdateResourceCommandInput; @@ -151,34 +216,50 @@ export type ServiceInputTypes = export type ServiceOutputTypes = | AssociateDelegateToResourceCommandOutput | AssociateMemberToGroupCommandOutput + | CancelMailboxExportJobCommandOutput | CreateAliasCommandOutput | CreateGroupCommandOutput + | CreateOrganizationCommandOutput | CreateResourceCommandOutput | CreateUserCommandOutput + | DeleteAccessControlRuleCommandOutput | DeleteAliasCommandOutput | DeleteGroupCommandOutput | DeleteMailboxPermissionsCommandOutput + | DeleteOrganizationCommandOutput | DeleteResourceCommandOutput + | DeleteRetentionPolicyCommandOutput | DeleteUserCommandOutput | DeregisterFromWorkMailCommandOutput | DescribeGroupCommandOutput + | DescribeMailboxExportJobCommandOutput | DescribeOrganizationCommandOutput | DescribeResourceCommandOutput | DescribeUserCommandOutput | DisassociateDelegateFromResourceCommandOutput | DisassociateMemberFromGroupCommandOutput + | GetAccessControlEffectCommandOutput + | GetDefaultRetentionPolicyCommandOutput | GetMailboxDetailsCommandOutput + | ListAccessControlRulesCommandOutput | ListAliasesCommandOutput | ListGroupMembersCommandOutput | ListGroupsCommandOutput + | ListMailboxExportJobsCommandOutput | ListMailboxPermissionsCommandOutput | ListOrganizationsCommandOutput | ListResourceDelegatesCommandOutput | ListResourcesCommandOutput + | ListTagsForResourceCommandOutput | ListUsersCommandOutput + | PutAccessControlRuleCommandOutput | PutMailboxPermissionsCommandOutput + | PutRetentionPolicyCommandOutput | RegisterToWorkMailCommandOutput | ResetPasswordCommandOutput + | StartMailboxExportJobCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput | UpdateMailboxQuotaCommandOutput | UpdatePrimaryEmailAddressCommandOutput | UpdateResourceCommandOutput; @@ -323,14 +404,15 @@ export type WorkMailClientResolvedConfig = __SmithyResolvedConfiguration<__HttpH *

                                                                                            Managing resources

                                                                                            *
                                                                                          • *
                                                                                          - *

                                                                                          All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only - * require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles - * to help facilitate access, trust, and permission policies. By creating a role and allowing - * an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into - * the entire WorkMail organization (or as set in the IAM policy). This includes, but is not - * limited to, the ability to create, update, and delete users, groups, and resources. This - * allows developers to perform the scenarios listed above, as well as give users the ability - * to grant access on a selective basis using the IAM model.

                                                                                          + *

                                                                                          All WorkMail API operations are Amazon-authenticated and certificate-signed. They not + * only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management + * users and roles to help facilitate access, trust, and permission policies. By creating a + * role and allowing an IAM user to access the WorkMail site, the IAM user gains full + * administrative visibility into the entire WorkMail organization (or as set in the IAM + * policy). This includes, but is not limited to, the ability to create, update, and delete + * users, groups, and resources. This allows developers to perform the scenarios listed above, + * as well as give users the ability to grant access on a selective basis using the IAM + * model.

                                                                                          */ export class WorkMailClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-workmail/commands/CancelMailboxExportJobCommand.ts b/clients/client-workmail/commands/CancelMailboxExportJobCommand.ts new file mode 100644 index 000000000000..2dce63c4baeb --- /dev/null +++ b/clients/client-workmail/commands/CancelMailboxExportJobCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { CancelMailboxExportJobRequest, CancelMailboxExportJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CancelMailboxExportJobCommand, + serializeAws_json1_1CancelMailboxExportJobCommand, +} 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 CancelMailboxExportJobCommandInput = CancelMailboxExportJobRequest; +export type CancelMailboxExportJobCommandOutput = CancelMailboxExportJobResponse & __MetadataBearer; + +export class CancelMailboxExportJobCommand extends $Command< + CancelMailboxExportJobCommandInput, + CancelMailboxExportJobCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CancelMailboxExportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CancelMailboxExportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: CancelMailboxExportJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CancelMailboxExportJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CancelMailboxExportJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CancelMailboxExportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/CreateOrganizationCommand.ts b/clients/client-workmail/commands/CreateOrganizationCommand.ts new file mode 100644 index 000000000000..f37ae7b41ccb --- /dev/null +++ b/clients/client-workmail/commands/CreateOrganizationCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { CreateOrganizationRequest, CreateOrganizationResponse } from "../models/models_0"; +import { + deserializeAws_json1_1CreateOrganizationCommand, + serializeAws_json1_1CreateOrganizationCommand, +} 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 CreateOrganizationCommandInput = CreateOrganizationRequest; +export type CreateOrganizationCommandOutput = CreateOrganizationResponse & __MetadataBearer; + +export class CreateOrganizationCommand extends $Command< + CreateOrganizationCommandInput, + CreateOrganizationCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateOrganizationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateOrganizationRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateOrganizationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateOrganizationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateOrganizationCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateOrganizationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/DeleteAccessControlRuleCommand.ts b/clients/client-workmail/commands/DeleteAccessControlRuleCommand.ts new file mode 100644 index 000000000000..55e6453ee24b --- /dev/null +++ b/clients/client-workmail/commands/DeleteAccessControlRuleCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { DeleteAccessControlRuleRequest, DeleteAccessControlRuleResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteAccessControlRuleCommand, + serializeAws_json1_1DeleteAccessControlRuleCommand, +} 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 DeleteAccessControlRuleCommandInput = DeleteAccessControlRuleRequest; +export type DeleteAccessControlRuleCommandOutput = DeleteAccessControlRuleResponse & __MetadataBearer; + +export class DeleteAccessControlRuleCommand extends $Command< + DeleteAccessControlRuleCommandInput, + DeleteAccessControlRuleCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAccessControlRuleCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteAccessControlRuleRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteAccessControlRuleResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteAccessControlRuleCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteAccessControlRuleCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteAccessControlRuleCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/DeleteOrganizationCommand.ts b/clients/client-workmail/commands/DeleteOrganizationCommand.ts new file mode 100644 index 000000000000..4b0d8eea8a57 --- /dev/null +++ b/clients/client-workmail/commands/DeleteOrganizationCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { DeleteOrganizationRequest, DeleteOrganizationResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteOrganizationCommand, + serializeAws_json1_1DeleteOrganizationCommand, +} 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 DeleteOrganizationCommandInput = DeleteOrganizationRequest; +export type DeleteOrganizationCommandOutput = DeleteOrganizationResponse & __MetadataBearer; + +export class DeleteOrganizationCommand extends $Command< + DeleteOrganizationCommandInput, + DeleteOrganizationCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteOrganizationCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteOrganizationRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteOrganizationResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteOrganizationCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteOrganizationCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteOrganizationCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/DeleteRetentionPolicyCommand.ts b/clients/client-workmail/commands/DeleteRetentionPolicyCommand.ts new file mode 100644 index 000000000000..9431da2ae4dc --- /dev/null +++ b/clients/client-workmail/commands/DeleteRetentionPolicyCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { DeleteRetentionPolicyRequest, DeleteRetentionPolicyResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteRetentionPolicyCommand, + serializeAws_json1_1DeleteRetentionPolicyCommand, +} 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 DeleteRetentionPolicyCommandInput = DeleteRetentionPolicyRequest; +export type DeleteRetentionPolicyCommandOutput = DeleteRetentionPolicyResponse & __MetadataBearer; + +export class DeleteRetentionPolicyCommand extends $Command< + DeleteRetentionPolicyCommandInput, + DeleteRetentionPolicyCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteRetentionPolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteRetentionPolicyRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteRetentionPolicyResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteRetentionPolicyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteRetentionPolicyCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteRetentionPolicyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/DescribeMailboxExportJobCommand.ts b/clients/client-workmail/commands/DescribeMailboxExportJobCommand.ts new file mode 100644 index 000000000000..735e1df13835 --- /dev/null +++ b/clients/client-workmail/commands/DescribeMailboxExportJobCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { DescribeMailboxExportJobRequest, DescribeMailboxExportJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeMailboxExportJobCommand, + serializeAws_json1_1DescribeMailboxExportJobCommand, +} 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 DescribeMailboxExportJobCommandInput = DescribeMailboxExportJobRequest; +export type DescribeMailboxExportJobCommandOutput = DescribeMailboxExportJobResponse & __MetadataBearer; + +export class DescribeMailboxExportJobCommand extends $Command< + DescribeMailboxExportJobCommandInput, + DescribeMailboxExportJobCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeMailboxExportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeMailboxExportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeMailboxExportJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeMailboxExportJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeMailboxExportJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DescribeMailboxExportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/GetAccessControlEffectCommand.ts b/clients/client-workmail/commands/GetAccessControlEffectCommand.ts new file mode 100644 index 000000000000..76c486a29ad6 --- /dev/null +++ b/clients/client-workmail/commands/GetAccessControlEffectCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { GetAccessControlEffectRequest, GetAccessControlEffectResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetAccessControlEffectCommand, + serializeAws_json1_1GetAccessControlEffectCommand, +} 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 GetAccessControlEffectCommandInput = GetAccessControlEffectRequest; +export type GetAccessControlEffectCommandOutput = GetAccessControlEffectResponse & __MetadataBearer; + +export class GetAccessControlEffectCommand extends $Command< + GetAccessControlEffectCommandInput, + GetAccessControlEffectCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetAccessControlEffectCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetAccessControlEffectRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetAccessControlEffectResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetAccessControlEffectCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetAccessControlEffectCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetAccessControlEffectCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/GetDefaultRetentionPolicyCommand.ts b/clients/client-workmail/commands/GetDefaultRetentionPolicyCommand.ts new file mode 100644 index 000000000000..bbc60cf5184b --- /dev/null +++ b/clients/client-workmail/commands/GetDefaultRetentionPolicyCommand.ts @@ -0,0 +1,73 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { GetDefaultRetentionPolicyRequest, GetDefaultRetentionPolicyResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetDefaultRetentionPolicyCommand, + serializeAws_json1_1GetDefaultRetentionPolicyCommand, +} 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 GetDefaultRetentionPolicyCommandInput = GetDefaultRetentionPolicyRequest; +export type GetDefaultRetentionPolicyCommandOutput = GetDefaultRetentionPolicyResponse & __MetadataBearer; + +export class GetDefaultRetentionPolicyCommand extends $Command< + GetDefaultRetentionPolicyCommandInput, + GetDefaultRetentionPolicyCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetDefaultRetentionPolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: GetDefaultRetentionPolicyRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetDefaultRetentionPolicyResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetDefaultRetentionPolicyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetDefaultRetentionPolicyCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1GetDefaultRetentionPolicyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/ListAccessControlRulesCommand.ts b/clients/client-workmail/commands/ListAccessControlRulesCommand.ts new file mode 100644 index 000000000000..92943c013aa5 --- /dev/null +++ b/clients/client-workmail/commands/ListAccessControlRulesCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { ListAccessControlRulesRequest, ListAccessControlRulesResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListAccessControlRulesCommand, + serializeAws_json1_1ListAccessControlRulesCommand, +} 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 ListAccessControlRulesCommandInput = ListAccessControlRulesRequest; +export type ListAccessControlRulesCommandOutput = ListAccessControlRulesResponse & __MetadataBearer; + +export class ListAccessControlRulesCommand extends $Command< + ListAccessControlRulesCommandInput, + ListAccessControlRulesCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAccessControlRulesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListAccessControlRulesRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAccessControlRulesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListAccessControlRulesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListAccessControlRulesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListAccessControlRulesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/ListMailboxExportJobsCommand.ts b/clients/client-workmail/commands/ListMailboxExportJobsCommand.ts new file mode 100644 index 000000000000..06f351354f75 --- /dev/null +++ b/clients/client-workmail/commands/ListMailboxExportJobsCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { ListMailboxExportJobsRequest, ListMailboxExportJobsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListMailboxExportJobsCommand, + serializeAws_json1_1ListMailboxExportJobsCommand, +} 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 ListMailboxExportJobsCommandInput = ListMailboxExportJobsRequest; +export type ListMailboxExportJobsCommandOutput = ListMailboxExportJobsResponse & __MetadataBearer; + +export class ListMailboxExportJobsCommand extends $Command< + ListMailboxExportJobsCommandInput, + ListMailboxExportJobsCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListMailboxExportJobsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListMailboxExportJobsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListMailboxExportJobsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListMailboxExportJobsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListMailboxExportJobsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListMailboxExportJobsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/ListTagsForResourceCommand.ts b/clients/client-workmail/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..913e8bdff143 --- /dev/null +++ b/clients/client-workmail/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListTagsForResourceCommand, + serializeAws_json1_1ListTagsForResourceCommand, +} 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 ListTagsForResourceCommandInput = ListTagsForResourceRequest; +export type ListTagsForResourceCommandOutput = ListTagsForResourceResponse & __MetadataBearer; + +export class ListTagsForResourceCommand extends $Command< + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, + WorkMailClientResolvedConfig +> { + // 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: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListTagsForResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsForResourceResponse.filterSensitiveLog, + }; + 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_json1_1ListTagsForResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListTagsForResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/PutAccessControlRuleCommand.ts b/clients/client-workmail/commands/PutAccessControlRuleCommand.ts new file mode 100644 index 000000000000..70e9e32eaa06 --- /dev/null +++ b/clients/client-workmail/commands/PutAccessControlRuleCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { PutAccessControlRuleRequest, PutAccessControlRuleResponse } from "../models/models_0"; +import { + deserializeAws_json1_1PutAccessControlRuleCommand, + serializeAws_json1_1PutAccessControlRuleCommand, +} 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 PutAccessControlRuleCommandInput = PutAccessControlRuleRequest; +export type PutAccessControlRuleCommandOutput = PutAccessControlRuleResponse & __MetadataBearer; + +export class PutAccessControlRuleCommand extends $Command< + PutAccessControlRuleCommandInput, + PutAccessControlRuleCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutAccessControlRuleCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: PutAccessControlRuleRequest.filterSensitiveLog, + outputFilterSensitiveLog: PutAccessControlRuleResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: PutAccessControlRuleCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1PutAccessControlRuleCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1PutAccessControlRuleCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/PutRetentionPolicyCommand.ts b/clients/client-workmail/commands/PutRetentionPolicyCommand.ts new file mode 100644 index 000000000000..6272f17752c1 --- /dev/null +++ b/clients/client-workmail/commands/PutRetentionPolicyCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { PutRetentionPolicyRequest, PutRetentionPolicyResponse } from "../models/models_0"; +import { + deserializeAws_json1_1PutRetentionPolicyCommand, + serializeAws_json1_1PutRetentionPolicyCommand, +} 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 PutRetentionPolicyCommandInput = PutRetentionPolicyRequest; +export type PutRetentionPolicyCommandOutput = PutRetentionPolicyResponse & __MetadataBearer; + +export class PutRetentionPolicyCommand extends $Command< + PutRetentionPolicyCommandInput, + PutRetentionPolicyCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutRetentionPolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: PutRetentionPolicyRequest.filterSensitiveLog, + outputFilterSensitiveLog: PutRetentionPolicyResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: PutRetentionPolicyCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1PutRetentionPolicyCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1PutRetentionPolicyCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/StartMailboxExportJobCommand.ts b/clients/client-workmail/commands/StartMailboxExportJobCommand.ts new file mode 100644 index 000000000000..9c97373f4bfe --- /dev/null +++ b/clients/client-workmail/commands/StartMailboxExportJobCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { StartMailboxExportJobRequest, StartMailboxExportJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1StartMailboxExportJobCommand, + serializeAws_json1_1StartMailboxExportJobCommand, +} 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 StartMailboxExportJobCommandInput = StartMailboxExportJobRequest; +export type StartMailboxExportJobCommandOutput = StartMailboxExportJobResponse & __MetadataBearer; + +export class StartMailboxExportJobCommand extends $Command< + StartMailboxExportJobCommandInput, + StartMailboxExportJobCommandOutput, + WorkMailClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartMailboxExportJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: StartMailboxExportJobRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartMailboxExportJobResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartMailboxExportJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1StartMailboxExportJobCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1StartMailboxExportJobCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/TagResourceCommand.ts b/clients/client-workmail/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..bf055e34ccca --- /dev/null +++ b/clients/client-workmail/commands/TagResourceCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { TagResourceRequest, TagResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1TagResourceCommand, + serializeAws_json1_1TagResourceCommand, +} 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 TagResourceCommandInput = TagResourceRequest; +export type TagResourceCommandOutput = TagResourceResponse & __MetadataBearer; + +export class TagResourceCommand extends $Command< + TagResourceCommandInput, + TagResourceCommandOutput, + WorkMailClientResolvedConfig +> { + // 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: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: TagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: TagResourceResponse.filterSensitiveLog, + }; + 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_json1_1TagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1TagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/commands/UntagResourceCommand.ts b/clients/client-workmail/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..3f49af4576e1 --- /dev/null +++ b/clients/client-workmail/commands/UntagResourceCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UntagResourceCommand, + serializeAws_json1_1UntagResourceCommand, +} 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 UntagResourceCommandInput = UntagResourceRequest; +export type UntagResourceCommandOutput = UntagResourceResponse & __MetadataBearer; + +export class UntagResourceCommand extends $Command< + UntagResourceCommandInput, + UntagResourceCommandOutput, + WorkMailClientResolvedConfig +> { + // 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: WorkMailClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UntagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: UntagResourceResponse.filterSensitiveLog, + }; + 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_json1_1UntagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UntagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workmail/index.ts b/clients/client-workmail/index.ts index e3ce9a3a91cc..edfe996f8d28 100644 --- a/clients/client-workmail/index.ts +++ b/clients/client-workmail/index.ts @@ -2,29 +2,40 @@ export * from "./WorkMailClient"; export * from "./WorkMail"; export * from "./commands/AssociateDelegateToResourceCommand"; export * from "./commands/AssociateMemberToGroupCommand"; +export * from "./commands/CancelMailboxExportJobCommand"; export * from "./commands/CreateAliasCommand"; export * from "./commands/CreateGroupCommand"; +export * from "./commands/CreateOrganizationCommand"; export * from "./commands/CreateResourceCommand"; export * from "./commands/CreateUserCommand"; +export * from "./commands/DeleteAccessControlRuleCommand"; export * from "./commands/DeleteAliasCommand"; export * from "./commands/DeleteGroupCommand"; export * from "./commands/DeleteMailboxPermissionsCommand"; +export * from "./commands/DeleteOrganizationCommand"; export * from "./commands/DeleteResourceCommand"; +export * from "./commands/DeleteRetentionPolicyCommand"; export * from "./commands/DeleteUserCommand"; export * from "./commands/DeregisterFromWorkMailCommand"; export * from "./commands/DescribeGroupCommand"; +export * from "./commands/DescribeMailboxExportJobCommand"; export * from "./commands/DescribeOrganizationCommand"; export * from "./commands/DescribeResourceCommand"; export * from "./commands/DescribeUserCommand"; export * from "./commands/DisassociateDelegateFromResourceCommand"; export * from "./commands/DisassociateMemberFromGroupCommand"; +export * from "./commands/GetAccessControlEffectCommand"; +export * from "./commands/GetDefaultRetentionPolicyCommand"; export * from "./commands/GetMailboxDetailsCommand"; +export * from "./commands/ListAccessControlRulesCommand"; export * from "./commands/ListAliasesCommand"; export * from "./pagination/ListAliasesPaginator"; export * from "./commands/ListGroupMembersCommand"; export * from "./pagination/ListGroupMembersPaginator"; export * from "./commands/ListGroupsCommand"; export * from "./pagination/ListGroupsPaginator"; +export * from "./commands/ListMailboxExportJobsCommand"; +export * from "./pagination/ListMailboxExportJobsPaginator"; export * from "./commands/ListMailboxPermissionsCommand"; export * from "./pagination/ListMailboxPermissionsPaginator"; export * from "./commands/ListOrganizationsCommand"; @@ -33,11 +44,17 @@ export * from "./commands/ListResourceDelegatesCommand"; export * from "./pagination/ListResourceDelegatesPaginator"; export * from "./commands/ListResourcesCommand"; export * from "./pagination/ListResourcesPaginator"; +export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/ListUsersCommand"; export * from "./pagination/ListUsersPaginator"; +export * from "./commands/PutAccessControlRuleCommand"; export * from "./commands/PutMailboxPermissionsCommand"; +export * from "./commands/PutRetentionPolicyCommand"; export * from "./commands/RegisterToWorkMailCommand"; export * from "./commands/ResetPasswordCommand"; +export * from "./commands/StartMailboxExportJobCommand"; +export * from "./commands/TagResourceCommand"; +export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateMailboxQuotaCommand"; export * from "./commands/UpdatePrimaryEmailAddressCommand"; export * from "./commands/UpdateResourceCommand"; diff --git a/clients/client-workmail/models/models_0.ts b/clients/client-workmail/models/models_0.ts index a9659e9e3abb..12b7975c49df 100644 --- a/clients/client-workmail/models/models_0.ts +++ b/clients/client-workmail/models/models_0.ts @@ -1,6 +1,81 @@ import { SENSITIVE_STRING, SmithyException as __SmithyException } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; +export enum AccessControlRuleEffect { + ALLOW = "ALLOW", + DENY = "DENY", +} + +/** + *

                                                                                          A rule that controls access to an Amazon WorkMail organization.

                                                                                          + */ +export interface AccessControlRule { + /** + *

                                                                                          Access protocol actions to exclude from the rule. Valid values include + * ActiveSync, AutoDiscover, EWS, IMAP, + * SMTP, WindowsOutlook, and WebMail.

                                                                                          + */ + NotActions?: string[]; + + /** + *

                                                                                          The rule description.

                                                                                          + */ + Description?: string; + + /** + *

                                                                                          Access protocol actions to include in the rule. Valid values include + * ActiveSync, AutoDiscover, EWS, IMAP, + * SMTP, WindowsOutlook, and WebMail.

                                                                                          + */ + Actions?: string[]; + + /** + *

                                                                                          IPv4 CIDR ranges to include in the rule.

                                                                                          + */ + IpRanges?: string[]; + + /** + *

                                                                                          The rule effect.

                                                                                          + */ + Effect?: AccessControlRuleEffect | string; + + /** + *

                                                                                          The date that the rule was created.

                                                                                          + */ + DateCreated?: Date; + + /** + *

                                                                                          IPv4 CIDR ranges to exclude from the rule.

                                                                                          + */ + NotIpRanges?: string[]; + + /** + *

                                                                                          User IDs to exclude from the rule.

                                                                                          + */ + NotUserIds?: string[]; + + /** + *

                                                                                          The date that the rule was modified.

                                                                                          + */ + DateModified?: Date; + + /** + *

                                                                                          User IDs to include in the rule.

                                                                                          + */ + UserIds?: string[]; + + /** + *

                                                                                          The rule name.

                                                                                          + */ + Name?: string; +} + +export namespace AccessControlRule { + export const filterSensitiveLog = (obj: AccessControlRule): any => ({ + ...obj, + }); +} + export interface AssociateDelegateToResourceRequest { /** *

                                                                                          The organization under which the resource exists.

                                                                                          @@ -33,8 +108,8 @@ export namespace AssociateDelegateToResourceResponse { } /** - *

                                                                                          The identifier supplied for the user, group, or resource does not - * exist in your organization.

                                                                                          + *

                                                                                          The identifier supplied for the user, group, or resource does not exist in your + * organization.

                                                                                          */ export interface EntityNotFoundException extends __SmithyException, $MetadataBearer { name: "EntityNotFoundException"; @@ -96,7 +171,7 @@ export namespace OrganizationNotFoundException { } /** - *

                                                                                          The organization must have a valid state (Active or Synchronizing) to perform certain + *

                                                                                          The organization must have a valid state to perform certain * operations on the organization or its members.

                                                                                          */ export interface OrganizationStateException extends __SmithyException, $MetadataBearer { @@ -118,14 +193,14 @@ export interface AssociateMemberToGroupRequest { MemberId: string | undefined; /** - *

                                                                                          The group to which the member (user or group) is associated.

                                                                                          + *

                                                                                          The organization under which the group exists.

                                                                                          */ - GroupId: string | undefined; + OrganizationId: string | undefined; /** - *

                                                                                          The organization under which the group exists.

                                                                                          + *

                                                                                          The group to which the member (user or group) is associated.

                                                                                          */ - OrganizationId: string | undefined; + GroupId: string | undefined; } export namespace AssociateMemberToGroupRequest { @@ -143,8 +218,7 @@ export namespace AssociateMemberToGroupResponse { } /** - *

                                                                                          The directory service doesn't recognize the credentials supplied by - * WorkMail.

                                                                                          + *

                                                                                          The directory service doesn't recognize the credentials supplied by WorkMail.

                                                                                          */ export interface DirectoryServiceAuthenticationFailedException extends __SmithyException, $MetadataBearer { name: "DirectoryServiceAuthenticationFailedException"; @@ -159,8 +233,7 @@ export namespace DirectoryServiceAuthenticationFailedException { } /** - *

                                                                                          The directory on which you are trying to perform operations isn't - * available.

                                                                                          + *

                                                                                          The directory is unavailable. It might be located in another Region or deleted.

                                                                                          */ export interface DirectoryUnavailableException extends __SmithyException, $MetadataBearer { name: "DirectoryUnavailableException"; @@ -194,24 +267,56 @@ export namespace UnsupportedOperationException { * from the resource.

                                                                                          */ export interface BookingOptions { + /** + *

                                                                                          The resource's ability to automatically decline any conflicting requests.

                                                                                          + */ + AutoDeclineConflictingRequests?: boolean; + /** *

                                                                                          The resource's ability to automatically decline any recurring requests.

                                                                                          */ AutoDeclineRecurringRequests?: boolean; /** - *

                                                                                          The resource's ability to automatically reply to requests. If disabled, delegates must be associated to the resource.

                                                                                          + *

                                                                                          The resource's ability to automatically reply to requests. If disabled, delegates + * must be associated to the resource.

                                                                                          */ AutoAcceptRequests?: boolean; +} + +export namespace BookingOptions { + export const filterSensitiveLog = (obj: BookingOptions): any => ({ + ...obj, + }); +} +export interface CancelMailboxExportJobRequest { /** - *

                                                                                          The resource's ability to automatically decline any conflicting requests.

                                                                                          + *

                                                                                          The idempotency token for the client request.

                                                                                          */ - AutoDeclineConflictingRequests?: boolean; + ClientToken?: string; + + /** + *

                                                                                          The organization ID.

                                                                                          + */ + OrganizationId: string | undefined; + + /** + *

                                                                                          The job ID.

                                                                                          + */ + JobId: string | undefined; } -export namespace BookingOptions { - export const filterSensitiveLog = (obj: BookingOptions): any => ({ +export namespace CancelMailboxExportJobRequest { + export const filterSensitiveLog = (obj: CancelMailboxExportJobRequest): any => ({ + ...obj, + }); +} + +export interface CancelMailboxExportJobResponse {} + +export namespace CancelMailboxExportJobResponse { + export const filterSensitiveLog = (obj: CancelMailboxExportJobResponse): any => ({ ...obj, }); } @@ -223,14 +328,14 @@ export interface CreateAliasRequest { OrganizationId: string | undefined; /** - *

                                                                                          The member (user or group) to which this alias is added.

                                                                                          + *

                                                                                          The alias to add to the member set.

                                                                                          */ - EntityId: string | undefined; + Alias: string | undefined; /** - *

                                                                                          The alias to add to the member set.

                                                                                          + *

                                                                                          The member (user or group) to which this alias is added.

                                                                                          */ - Alias: string | undefined; + EntityId: string | undefined; } export namespace CreateAliasRequest { @@ -264,8 +369,23 @@ export namespace EmailAddressInUseException { } /** - *

                                                                                          For an email or alias to be created in Amazon WorkMail, the included domain must be - * defined in the organization.

                                                                                          + *

                                                                                          The request exceeds the limit of the resource.

                                                                                          + */ +export interface LimitExceededException extends __SmithyException, $MetadataBearer { + name: "LimitExceededException"; + $fault: "client"; + Message?: string; +} + +export namespace LimitExceededException { + export const filterSensitiveLog = (obj: LimitExceededException): any => ({ + ...obj, + }); +} + +/** + *

                                                                                          For an email or alias to be created in Amazon WorkMail, the included domain must be defined + * in the organization.

                                                                                          */ export interface MailDomainNotFoundException extends __SmithyException, $MetadataBearer { name: "MailDomainNotFoundException"; @@ -356,6 +476,95 @@ export namespace ReservedNameException { }); } +/** + *

                                                                                          The domain to associate with an Amazon WorkMail organization.

                                                                                          + *

                                                                                          When you configure a domain hosted in Amazon Route 53 (Route 53), all recommended DNS records are added to the organization when you create it. For more information, see Adding a domain in the Amazon WorkMail Administrator Guide.

                                                                                          + */ +export interface Domain { + /** + *

                                                                                          The hosted zone ID for a domain hosted in Route 53. Required when configuring a domain hosted in Route 53.

                                                                                          + */ + HostedZoneId?: string; + + /** + *

                                                                                          The fully qualified domain name.

                                                                                          + */ + DomainName?: string; +} + +export namespace Domain { + export const filterSensitiveLog = (obj: Domain): any => ({ + ...obj, + }); +} + +export interface CreateOrganizationRequest { + /** + *

                                                                                          The organization alias.

                                                                                          + */ + Alias: string | undefined; + + /** + *

                                                                                          The Amazon Resource Name (ARN) of a customer managed master key from AWS + * KMS.

                                                                                          + */ + KmsKeyArn?: string; + + /** + *

                                                                                          The AWS Directory Service directory ID.

                                                                                          + */ + DirectoryId?: string; + + /** + *

                                                                                          The email domains to associate with the organization.

                                                                                          + */ + Domains?: Domain[]; + + /** + *

                                                                                          When true, allows organization interoperability between Amazon WorkMail and Microsoft Exchange. Can only be set to true if an AD Connector directory ID is included in the request.

                                                                                          + */ + EnableInteroperability?: boolean; + + /** + *

                                                                                          The idempotency token associated with the request.

                                                                                          + */ + ClientToken?: string; +} + +export namespace CreateOrganizationRequest { + export const filterSensitiveLog = (obj: CreateOrganizationRequest): any => ({ + ...obj, + }); +} + +export interface CreateOrganizationResponse { + /** + *

                                                                                          The organization ID.

                                                                                          + */ + OrganizationId?: string; +} + +export namespace CreateOrganizationResponse { + export const filterSensitiveLog = (obj: CreateOrganizationResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                                          The directory is already in use by another WorkMail organization in the same account and Region.

                                                                                          + */ +export interface DirectoryInUseException extends __SmithyException, $MetadataBearer { + name: "DirectoryInUseException"; + $fault: "client"; + Message?: string; +} + +export namespace DirectoryInUseException { + export const filterSensitiveLog = (obj: DirectoryInUseException): any => ({ + ...obj, + }); +} + export enum ResourceType { EQUIPMENT = "EQUIPMENT", ROOM = "ROOM", @@ -368,16 +577,16 @@ export interface CreateResourceRequest { */ Type: ResourceType | string | undefined; - /** - *

                                                                                          The name of the new resource.

                                                                                          - */ - Name: string | undefined; - /** *

                                                                                          The identifier associated with the organization for which the resource is * created.

                                                                                          */ OrganizationId: string | undefined; + + /** + *

                                                                                          The name of the new resource.

                                                                                          + */ + Name: string | undefined; } export namespace CreateResourceRequest { @@ -401,14 +610,15 @@ export namespace CreateResourceResponse { export interface CreateUserRequest { /** - *

                                                                                          The password for the new user.

                                                                                          + *

                                                                                          The name for the new user. Simple AD or AD Connector user names have a maximum length + * of 20. All others have a maximum length of 64.

                                                                                          */ - Password: string | undefined; + Name: string | undefined; /** - *

                                                                                          The name for the new user. Simple AD or AD Connector user names have a maximum length of 20. All others have a maximum length of 64.

                                                                                          + *

                                                                                          The password for the new user.

                                                                                          */ - Name: string | undefined; + Password: string | undefined; /** *

                                                                                          The display name for the new user.

                                                                                          @@ -484,23 +694,49 @@ export namespace Delegate { }); } -export interface DeleteAliasRequest { +export interface DeleteAccessControlRuleRequest { /** - *

                                                                                          The identifier for the organization under which the user exists.

                                                                                          + *

                                                                                          The name of the access control rule.

                                                                                          */ - OrganizationId: string | undefined; + Name: string | undefined; /** - *

                                                                                          The identifier for the member (user or group) from which to have the aliases - * removed.

                                                                                          + *

                                                                                          The identifier for the organization.

                                                                                          */ - EntityId: string | undefined; + OrganizationId: string | undefined; +} + +export namespace DeleteAccessControlRuleRequest { + export const filterSensitiveLog = (obj: DeleteAccessControlRuleRequest): any => ({ + ...obj, + }); +} + +export interface DeleteAccessControlRuleResponse {} +export namespace DeleteAccessControlRuleResponse { + export const filterSensitiveLog = (obj: DeleteAccessControlRuleResponse): any => ({ + ...obj, + }); +} + +export interface DeleteAliasRequest { /** *

                                                                                          The aliases to be removed from the user's set of aliases. Duplicate entries in the * list are collapsed into single entries (the list is transformed into a set).

                                                                                          */ Alias: string | undefined; + + /** + *

                                                                                          The identifier for the organization under which the user exists.

                                                                                          + */ + OrganizationId: string | undefined; + + /** + *

                                                                                          The identifier for the member (user or group) from which to have the aliases + * removed.

                                                                                          + */ + EntityId: string | undefined; } export namespace DeleteAliasRequest { @@ -545,21 +781,21 @@ export namespace DeleteGroupResponse { export interface DeleteMailboxPermissionsRequest { /** - *

                                                                                          The identifier of the member (user or group)that owns the mailbox.

                                                                                          + *

                                                                                          The identifier of the member (user or group) that owns the mailbox.

                                                                                          */ EntityId: string | undefined; - /** - *

                                                                                          The identifier of the organization under which the member (user or group) - * exists.

                                                                                          - */ - OrganizationId: string | undefined; - /** *

                                                                                          The identifier of the member (user or group) for which to delete granted * permissions.

                                                                                          */ GranteeId: string | undefined; + + /** + *

                                                                                          The identifier of the organization under which the member (user or group) + * exists.

                                                                                          + */ + OrganizationId: string | undefined; } export namespace DeleteMailboxPermissionsRequest { @@ -576,17 +812,58 @@ export namespace DeleteMailboxPermissionsResponse { }); } -export interface DeleteResourceRequest { +export interface DeleteOrganizationRequest { /** - *

                                                                                          The identifier of the resource to be deleted.

                                                                                          + *

                                                                                          If true, deletes the AWS Directory Service directory associated with the organization.

                                                                                          */ - ResourceId: string | undefined; + DeleteDirectory: boolean | undefined; + + /** + *

                                                                                          The organization ID.

                                                                                          + */ + OrganizationId: string | undefined; + + /** + *

                                                                                          The idempotency token associated with the request.

                                                                                          + */ + ClientToken?: string; +} + +export namespace DeleteOrganizationRequest { + export const filterSensitiveLog = (obj: DeleteOrganizationRequest): any => ({ + ...obj, + }); +} + +export interface DeleteOrganizationResponse { + /** + *

                                                                                          The organization ID.

                                                                                          + */ + OrganizationId?: string; + + /** + *

                                                                                          The state of the organization.

                                                                                          + */ + State?: string; +} + +export namespace DeleteOrganizationResponse { + export const filterSensitiveLog = (obj: DeleteOrganizationResponse): any => ({ + ...obj, + }); +} +export interface DeleteResourceRequest { /** *

                                                                                          The identifier associated with the organization from which the resource is * deleted.

                                                                                          */ OrganizationId: string | undefined; + + /** + *

                                                                                          The identifier of the resource to be deleted.

                                                                                          + */ + ResourceId: string | undefined; } export namespace DeleteResourceRequest { @@ -603,43 +880,68 @@ export namespace DeleteResourceResponse { }); } -export interface DeleteUserRequest { +export interface DeleteRetentionPolicyRequest { /** - *

                                                                                          The identifier of the user to be deleted.

                                                                                          + *

                                                                                          The retention policy ID.

                                                                                          */ - UserId: string | undefined; + Id: string | undefined; /** - *

                                                                                          The organization that contains the user to be deleted.

                                                                                          + *

                                                                                          The organization ID.

                                                                                          */ OrganizationId: string | undefined; } -export namespace DeleteUserRequest { - export const filterSensitiveLog = (obj: DeleteUserRequest): any => ({ +export namespace DeleteRetentionPolicyRequest { + export const filterSensitiveLog = (obj: DeleteRetentionPolicyRequest): any => ({ ...obj, }); } -export interface DeleteUserResponse {} +export interface DeleteRetentionPolicyResponse {} -export namespace DeleteUserResponse { - export const filterSensitiveLog = (obj: DeleteUserResponse): any => ({ +export namespace DeleteRetentionPolicyResponse { + export const filterSensitiveLog = (obj: DeleteRetentionPolicyResponse): any => ({ ...obj, }); } -export interface DeregisterFromWorkMailRequest { +export interface DeleteUserRequest { /** - *

                                                                                          The identifier for the organization under which the Amazon WorkMail entity - * exists.

                                                                                          + *

                                                                                          The organization that contains the user to be deleted.

                                                                                          */ OrganizationId: string | undefined; + /** + *

                                                                                          The identifier of the user to be deleted.

                                                                                          + */ + UserId: string | undefined; +} + +export namespace DeleteUserRequest { + export const filterSensitiveLog = (obj: DeleteUserRequest): any => ({ + ...obj, + }); +} + +export interface DeleteUserResponse {} + +export namespace DeleteUserResponse { + export const filterSensitiveLog = (obj: DeleteUserResponse): any => ({ + ...obj, + }); +} + +export interface DeregisterFromWorkMailRequest { /** *

                                                                                          The identifier for the member (user or group) to be updated.

                                                                                          */ EntityId: string | undefined; + + /** + *

                                                                                          The identifier for the organization under which the Amazon WorkMail entity exists.

                                                                                          + */ + OrganizationId: string | undefined; } export namespace DeregisterFromWorkMailRequest { @@ -687,10 +989,10 @@ export interface DescribeGroupResponse { GroupId?: string; /** - *

                                                                                          The date and time when a user was deregistered from WorkMail, in UNIX epoch time + *

                                                                                          The date and time when a user was registered to WorkMail, in UNIX epoch time * format.

                                                                                          */ - DisabledDate?: Date; + EnabledDate?: Date; /** *

                                                                                          The name of the described group.

                                                                                          @@ -698,10 +1000,10 @@ export interface DescribeGroupResponse { Name?: string; /** - *

                                                                                          The date and time when a user was registered to WorkMail, in UNIX epoch time + *

                                                                                          The date and time when a user was deregistered from WorkMail, in UNIX epoch time * format.

                                                                                          */ - EnabledDate?: Date; + DisabledDate?: Date; /** *

                                                                                          The email of the described group.

                                                                                          @@ -709,8 +1011,8 @@ export interface DescribeGroupResponse { Email?: string; /** - *

                                                                                          The state of the user: enabled (registered to Amazon WorkMail) or disabled - * (deregistered or never registered to WorkMail).

                                                                                          + *

                                                                                          The state of the user: enabled (registered to Amazon WorkMail) or disabled (deregistered or + * never registered to WorkMail).

                                                                                          */ State?: EntityState | string; } @@ -721,6 +1023,102 @@ export namespace DescribeGroupResponse { }); } +export interface DescribeMailboxExportJobRequest { + /** + *

                                                                                          The mailbox export job ID.

                                                                                          + */ + JobId: string | undefined; + + /** + *

                                                                                          The organization ID.

                                                                                          + */ + OrganizationId: string | undefined; +} + +export namespace DescribeMailboxExportJobRequest { + export const filterSensitiveLog = (obj: DescribeMailboxExportJobRequest): any => ({ + ...obj, + }); +} + +export enum MailboxExportJobState { + CANCELLED = "CANCELLED", + COMPLETED = "COMPLETED", + FAILED = "FAILED", + RUNNING = "RUNNING", +} + +export interface DescribeMailboxExportJobResponse { + /** + *

                                                                                          The mailbox export job description.

                                                                                          + */ + Description?: string; + + /** + *

                                                                                          The ARN of the AWS Identity and Access Management (IAM) role that grants write permission to the Amazon Simple + * Storage Service (Amazon S3) bucket.

                                                                                          + */ + RoleArn?: string; + + /** + *

                                                                                          The identifier of the user or resource associated with the mailbox.

                                                                                          + */ + EntityId?: string; + + /** + *

                                                                                          The path to the S3 bucket and file that the mailbox export job is exporting + * to.

                                                                                          + */ + S3Path?: string; + + /** + *

                                                                                          The mailbox export job end timestamp.

                                                                                          + */ + EndTime?: Date; + + /** + *

                                                                                          The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service (AWS KMS) + * key that encrypts the exported mailbox content.

                                                                                          + */ + KmsKeyArn?: string; + + /** + *

                                                                                          The estimated progress of the mailbox export job, in percentage points.

                                                                                          + */ + EstimatedProgress?: number; + + /** + *

                                                                                          The name of the S3 bucket.

                                                                                          + */ + S3BucketName?: string; + + /** + *

                                                                                          The state of the mailbox export job.

                                                                                          + */ + State?: MailboxExportJobState | string; + + /** + *

                                                                                          The S3 bucket prefix.

                                                                                          + */ + S3Prefix?: string; + + /** + *

                                                                                          The mailbox export job start timestamp.

                                                                                          + */ + StartTime?: Date; + + /** + *

                                                                                          Error information for failed mailbox export jobs.

                                                                                          + */ + ErrorInfo?: string; +} + +export namespace DescribeMailboxExportJobResponse { + export const filterSensitiveLog = (obj: DescribeMailboxExportJobResponse): any => ({ + ...obj, + }); +} + export interface DescribeOrganizationRequest { /** *

                                                                                          The identifier for the organization to be described.

                                                                                          @@ -736,11 +1134,15 @@ export namespace DescribeOrganizationRequest { export interface DescribeOrganizationResponse { /** - *

                                                                                          The identifier for the directory associated with an Amazon WorkMail - * organization.

                                                                                          + *

                                                                                          The identifier for the directory associated with an Amazon WorkMail organization.

                                                                                          */ DirectoryId?: string; + /** + *

                                                                                          The Amazon Resource Name (ARN) of the organization.

                                                                                          + */ + ARN?: string; + /** *

                                                                                          (Optional) The error message indicating if unexpected behavior was encountered with * regards to the organization.

                                                                                          @@ -748,35 +1150,35 @@ export interface DescribeOrganizationResponse { ErrorMessage?: string; /** - *

                                                                                          The default mail domain associated with the organization.

                                                                                          + *

                                                                                          The type of directory associated with the WorkMail organization.

                                                                                          */ - DefaultMailDomain?: string; + DirectoryType?: string; /** - *

                                                                                          The identifier of an organization.

                                                                                          + *

                                                                                          The state of an organization.

                                                                                          */ - OrganizationId?: string; + State?: string; /** - *

                                                                                          The date at which the organization became usable in the WorkMail context, in UNIX epoch - * time format.

                                                                                          + *

                                                                                          The identifier of an organization.

                                                                                          */ - CompletedDate?: Date; + OrganizationId?: string; /** - *

                                                                                          The type of directory associated with the WorkMail organization.

                                                                                          + *

                                                                                          The alias for an organization.

                                                                                          */ - DirectoryType?: string; + Alias?: string; /** - *

                                                                                          The alias for an organization.

                                                                                          + *

                                                                                          The date at which the organization became usable in the WorkMail context, in UNIX epoch + * time format.

                                                                                          */ - Alias?: string; + CompletedDate?: Date; /** - *

                                                                                          The state of an organization.

                                                                                          + *

                                                                                          The default mail domain associated with the organization.

                                                                                          */ - State?: string; + DefaultMailDomain?: string; } export namespace DescribeOrganizationResponse { @@ -806,20 +1208,21 @@ export namespace DescribeResourceRequest { export interface DescribeResourceResponse { /** - *

                                                                                          The type of the described resource.

                                                                                          + *

                                                                                          The date and time when a resource was disabled from WorkMail, in UNIX epoch time + * format.

                                                                                          */ - Type?: ResourceType | string; + DisabledDate?: Date; /** - *

                                                                                          The name of the described resource.

                                                                                          + *

                                                                                          The type of the described resource.

                                                                                          */ - Name?: string; + Type?: ResourceType | string; /** - *

                                                                                          The date and time when a resource was disabled from WorkMail, in UNIX epoch time - * format.

                                                                                          + *

                                                                                          The state of the resource: enabled (registered to Amazon WorkMail), disabled (deregistered + * or never registered to WorkMail), or deleted.

                                                                                          */ - DisabledDate?: Date; + State?: EntityState | string; /** *

                                                                                          The identifier of the described resource.

                                                                                          @@ -827,15 +1230,9 @@ export interface DescribeResourceResponse { ResourceId?: string; /** - *

                                                                                          The state of the resource: enabled (registered to Amazon WorkMail) or disabled - * (deregistered or never registered to WorkMail).

                                                                                          - */ - State?: EntityState | string; - - /** - *

                                                                                          The booking options for the described resource.

                                                                                          + *

                                                                                          The email of the described resource.

                                                                                          */ - BookingOptions?: BookingOptions; + Email?: string; /** *

                                                                                          The date and time when a resource was enabled for WorkMail, in UNIX epoch time @@ -844,9 +1241,14 @@ export interface DescribeResourceResponse { EnabledDate?: Date; /** - *

                                                                                          The email of the described resource.

                                                                                          + *

                                                                                          The booking options for the described resource.

                                                                                          */ - Email?: string; + BookingOptions?: BookingOptions; + + /** + *

                                                                                          The name of the described resource.

                                                                                          + */ + Name?: string; } export namespace DescribeResourceResponse { @@ -881,49 +1283,51 @@ export enum UserRole { export interface DescribeUserResponse { /** - *

                                                                                          The date and time at which the user was disabled for Amazon WorkMail usage, in UNIX epoch time format.

                                                                                          + *

                                                                                          The date and time at which the user was disabled for Amazon WorkMail usage, in UNIX epoch + * time format.

                                                                                          */ DisabledDate?: Date; /** - *

                                                                                          The date and time at which the user was enabled for Amazon WorkMail usage, in UNIX epoch time format.

                                                                                          + *

                                                                                          The name for the user.

                                                                                          */ - EnabledDate?: Date; + Name?: string; /** - *

                                                                                          The email of the user.

                                                                                          + *

                                                                                          The date and time at which the user was enabled for Amazon WorkMail usage, in UNIX epoch + * time format.

                                                                                          */ - Email?: string; + EnabledDate?: Date; /** *

                                                                                          In certain cases, other entities are modeled as users. If interoperability is - * enabled, resources are imported into Amazon WorkMail as users. Because different - * WorkMail organizations rely on different directory types, administrators can distinguish - * between an unregistered user (account is disabled and has a user role) and the directory + * enabled, resources are imported into Amazon WorkMail as users. Because different WorkMail + * organizations rely on different directory types, administrators can distinguish between an + * unregistered user (account is disabled and has a user role) and the directory * administrators. The values are USER, RESOURCE, and SYSTEM_USER.

                                                                                          */ UserRole?: UserRole | string; /** - *

                                                                                          The state of a user: enabled (registered to Amazon WorkMail) or disabled - * (deregistered or never registered to WorkMail).

                                                                                          + *

                                                                                          The state of a user: enabled (registered to Amazon WorkMail) or disabled (deregistered or + * never registered to WorkMail).

                                                                                          */ State?: EntityState | string; /** - *

                                                                                          The name for the user.

                                                                                          + *

                                                                                          The email of the user.

                                                                                          */ - Name?: string; + Email?: string; /** - *

                                                                                          The identifier for the described user.

                                                                                          + *

                                                                                          The display name of the user.

                                                                                          */ - UserId?: string; + DisplayName?: string; /** - *

                                                                                          The display name of the user.

                                                                                          + *

                                                                                          The identifier for the described user.

                                                                                          */ - DisplayName?: string; + UserId?: string; } export namespace DescribeUserResponse { @@ -934,17 +1338,19 @@ export namespace DescribeUserResponse { export interface DisassociateDelegateFromResourceRequest { /** - *

                                                                                          The identifier for the organization under which the resource exists.

                                                                                          + *

                                                                                          The identifier of the resource from which delegates' set members are removed. + *

                                                                                          */ - OrganizationId: string | undefined; + ResourceId: string | undefined; /** - *

                                                                                          The identifier of the resource from which delegates' set members are removed.

                                                                                          + *

                                                                                          The identifier for the organization under which the resource exists.

                                                                                          */ - ResourceId: string | undefined; + OrganizationId: string | undefined; /** - *

                                                                                          The identifier for the member (user, group) to be removed from the resource's delegates.

                                                                                          + *

                                                                                          The identifier for the member (user, group) to be removed from the resource's + * delegates.

                                                                                          */ EntityId: string | undefined; } @@ -995,7 +1401,8 @@ export namespace DisassociateMemberFromGroupResponse { } /** - *

                                                                                          The user, group, or resource that you're trying to register is already registered.

                                                                                          + *

                                                                                          The user, group, or resource that you're trying to register is already + * registered.

                                                                                          */ export interface EntityAlreadyRegisteredException extends __SmithyException, $MetadataBearer { name: "EntityAlreadyRegisteredException"; @@ -1009,125 +1416,339 @@ export namespace EntityAlreadyRegisteredException { }); } -export interface GetMailboxDetailsRequest { - /** - *

                                                                                          The identifier for the user whose mailbox details are being requested.

                                                                                          - */ - UserId: string | undefined; - - /** - *

                                                                                          The identifier for the organization that contains the user whose mailbox details are - * being requested.

                                                                                          - */ - OrganizationId: string | undefined; +export enum RetentionAction { + DELETE = "DELETE", + NONE = "NONE", + PERMANENTLY_DELETE = "PERMANENTLY_DELETE", } -export namespace GetMailboxDetailsRequest { - export const filterSensitiveLog = (obj: GetMailboxDetailsRequest): any => ({ - ...obj, - }); +export enum FolderName { + DELETED_ITEMS = "DELETED_ITEMS", + DRAFTS = "DRAFTS", + INBOX = "INBOX", + JUNK_EMAIL = "JUNK_EMAIL", + SENT_ITEMS = "SENT_ITEMS", } -export interface GetMailboxDetailsResponse { +/** + *

                                                                                          The configuration applied to an organization's folders by its retention + * policy.

                                                                                          + */ +export interface FolderConfiguration { /** - *

                                                                                          The current mailbox size, in MB, for the specified user.

                                                                                          + *

                                                                                          The action to take on the folder contents at the end of the folder configuration + * period.

                                                                                          */ - MailboxSize?: number; + Action: RetentionAction | string | undefined; /** - *

                                                                                          The maximum allowed mailbox size, in MB, for the specified user.

                                                                                          + *

                                                                                          The period of time at which the folder configuration action is applied.

                                                                                          */ - MailboxQuota?: number; + Period?: number; + + /** + *

                                                                                          The folder name.

                                                                                          + */ + Name: FolderName | string | undefined; } -export namespace GetMailboxDetailsResponse { - export const filterSensitiveLog = (obj: GetMailboxDetailsResponse): any => ({ +export namespace FolderConfiguration { + export const filterSensitiveLog = (obj: FolderConfiguration): any => ({ ...obj, }); } -/** - *

                                                                                          The representation of an Amazon WorkMail group.

                                                                                          - */ -export interface Group { +export interface GetAccessControlEffectRequest { /** - *

                                                                                          The state of the group, which can be ENABLED, DISABLED, or DELETED.

                                                                                          + *

                                                                                          The access protocol action. Valid values include ActiveSync, + * AutoDiscover, EWS, IMAP, SMTP, + * WindowsOutlook, and WebMail.

                                                                                          */ - State?: EntityState | string; + Action: string | undefined; /** - *

                                                                                          The email of the group.

                                                                                          + *

                                                                                          The identifier for the organization.

                                                                                          */ - Email?: string; + OrganizationId: string | undefined; /** - *

                                                                                          The identifier of the group.

                                                                                          + *

                                                                                          The IPv4 address.

                                                                                          */ - Id?: string; + IpAddress: string | undefined; /** - *

                                                                                          The date indicating when the group was enabled for Amazon WorkMail use.

                                                                                          + *

                                                                                          The user ID.

                                                                                          */ - EnabledDate?: Date; + UserId: string | undefined; +} + +export namespace GetAccessControlEffectRequest { + export const filterSensitiveLog = (obj: GetAccessControlEffectRequest): any => ({ + ...obj, + }); +} +export interface GetAccessControlEffectResponse { /** - *

                                                                                          The name of the group.

                                                                                          + *

                                                                                          The rule effect.

                                                                                          */ - Name?: string; + Effect?: AccessControlRuleEffect | string; /** - *

                                                                                          The date indicating when the group was disabled from Amazon WorkMail use.

                                                                                          + *

                                                                                          The rules that match the given parameters, resulting in an effect.

                                                                                          */ - DisabledDate?: Date; + MatchedRules?: string[]; } -export namespace Group { - export const filterSensitiveLog = (obj: Group): any => ({ +export namespace GetAccessControlEffectResponse { + export const filterSensitiveLog = (obj: GetAccessControlEffectResponse): any => ({ ...obj, }); } -/** - *

                                                                                          The configuration for a resource isn't valid. A resource must either be able to - * auto-respond to requests or have at least one delegate associated that can do so on its - * behalf.

                                                                                          - */ -export interface InvalidConfigurationException extends __SmithyException, $MetadataBearer { - name: "InvalidConfigurationException"; - $fault: "client"; - Message?: string; +export interface GetDefaultRetentionPolicyRequest { + /** + *

                                                                                          The organization ID.

                                                                                          + */ + OrganizationId: string | undefined; } -export namespace InvalidConfigurationException { - export const filterSensitiveLog = (obj: InvalidConfigurationException): any => ({ +export namespace GetDefaultRetentionPolicyRequest { + export const filterSensitiveLog = (obj: GetDefaultRetentionPolicyRequest): any => ({ ...obj, }); } -export interface ListAliasesRequest { +export interface GetDefaultRetentionPolicyResponse { /** - *

                                                                                          The identifier for the organization under which the entity exists.

                                                                                          + *

                                                                                          The retention policy folder configurations.

                                                                                          */ - OrganizationId: string | undefined; + FolderConfigurations?: FolderConfiguration[]; /** - *

                                                                                          The token to use to retrieve the next page of results. The first call does not - * contain any tokens.

                                                                                          + *

                                                                                          The retention policy name.

                                                                                          */ - NextToken?: string; + Name?: string; /** - *

                                                                                          The maximum number of results to return in a single call.

                                                                                          + *

                                                                                          The retention policy description.

                                                                                          */ - MaxResults?: number; + Description?: string; /** - *

                                                                                          The identifier for the entity for which to list the aliases.

                                                                                          + *

                                                                                          The retention policy ID.

                                                                                          */ - EntityId: string | undefined; + Id?: string; } -export namespace ListAliasesRequest { +export namespace GetDefaultRetentionPolicyResponse { + export const filterSensitiveLog = (obj: GetDefaultRetentionPolicyResponse): any => ({ + ...obj, + }); +} + +export interface GetMailboxDetailsRequest { + /** + *

                                                                                          The identifier for the user whose mailbox details are being requested.

                                                                                          + */ + UserId: string | undefined; + + /** + *

                                                                                          The identifier for the organization that contains the user whose mailbox details are + * being requested.

                                                                                          + */ + OrganizationId: string | undefined; +} + +export namespace GetMailboxDetailsRequest { + export const filterSensitiveLog = (obj: GetMailboxDetailsRequest): any => ({ + ...obj, + }); +} + +export interface GetMailboxDetailsResponse { + /** + *

                                                                                          The current mailbox size, in MB, for the specified user.

                                                                                          + */ + MailboxSize?: number; + + /** + *

                                                                                          The maximum allowed mailbox size, in MB, for the specified user.

                                                                                          + */ + MailboxQuota?: number; +} + +export namespace GetMailboxDetailsResponse { + export const filterSensitiveLog = (obj: GetMailboxDetailsResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                                          The representation of an Amazon WorkMail group.

                                                                                          + */ +export interface Group { + /** + *

                                                                                          The date indicating when the group was disabled from Amazon WorkMail use.

                                                                                          + */ + DisabledDate?: Date; + + /** + *

                                                                                          The name of the group.

                                                                                          + */ + Name?: string; + + /** + *

                                                                                          The date indicating when the group was enabled for Amazon WorkMail use.

                                                                                          + */ + EnabledDate?: Date; + + /** + *

                                                                                          The identifier of the group.

                                                                                          + */ + Id?: string; + + /** + *

                                                                                          The email of the group.

                                                                                          + */ + Email?: string; + + /** + *

                                                                                          The state of the group, which can be ENABLED, DISABLED, or DELETED.

                                                                                          + */ + State?: EntityState | string; +} + +export namespace Group { + export const filterSensitiveLog = (obj: Group): any => ({ + ...obj, + }); +} + +/** + *

                                                                                          The configuration for a resource isn't valid. A resource must either be able to + * auto-respond to requests or have at least one delegate associated that can do so on its + * behalf.

                                                                                          + */ +export interface InvalidConfigurationException extends __SmithyException, $MetadataBearer { + name: "InvalidConfigurationException"; + $fault: "client"; + Message?: string; +} + +export namespace InvalidConfigurationException { + export const filterSensitiveLog = (obj: InvalidConfigurationException): any => ({ + ...obj, + }); +} + +/** + *

                                                                                          The details of a mailbox export job, including the user or resource ID associated + * with the mailbox and the S3 bucket that the mailbox contents are exported to.

                                                                                          + */ +export interface MailboxExportJob { + /** + *

                                                                                          The path to the S3 bucket and file that the mailbox export job exports to.

                                                                                          + */ + S3Path?: string; + + /** + *

                                                                                          The identifier of the user or resource associated with the mailbox.

                                                                                          + */ + EntityId?: string; + + /** + *

                                                                                          The mailbox export job end timestamp.

                                                                                          + */ + EndTime?: Date; + + /** + *

                                                                                          The mailbox export job description.

                                                                                          + */ + Description?: string; + + /** + *

                                                                                          The state of the mailbox export job.

                                                                                          + */ + State?: MailboxExportJobState | string; + + /** + *

                                                                                          The mailbox export job start timestamp.

                                                                                          + */ + StartTime?: Date; + + /** + *

                                                                                          The name of the S3 bucket.

                                                                                          + */ + S3BucketName?: string; + + /** + *

                                                                                          The estimated progress of the mailbox export job, in percentage points.

                                                                                          + */ + EstimatedProgress?: number; + + /** + *

                                                                                          The identifier of the mailbox export job.

                                                                                          + */ + JobId?: string; +} + +export namespace MailboxExportJob { + export const filterSensitiveLog = (obj: MailboxExportJob): any => ({ + ...obj, + }); +} + +export interface ListAccessControlRulesRequest { + /** + *

                                                                                          The identifier for the organization.

                                                                                          + */ + OrganizationId: string | undefined; +} + +export namespace ListAccessControlRulesRequest { + export const filterSensitiveLog = (obj: ListAccessControlRulesRequest): any => ({ + ...obj, + }); +} + +export interface ListAccessControlRulesResponse { + /** + *

                                                                                          The access control rules.

                                                                                          + */ + Rules?: AccessControlRule[]; +} + +export namespace ListAccessControlRulesResponse { + export const filterSensitiveLog = (obj: ListAccessControlRulesResponse): any => ({ + ...obj, + }); +} + +export interface ListAliasesRequest { + /** + *

                                                                                          The identifier for the organization under which the entity exists.

                                                                                          + */ + OrganizationId: string | undefined; + + /** + *

                                                                                          The token to use to retrieve the next page of results. The first call does not + * contain any tokens.

                                                                                          + */ + NextToken?: string; + + /** + *

                                                                                          The maximum number of results to return in a single call.

                                                                                          + */ + MaxResults?: number; + + /** + *

                                                                                          The identifier for the entity for which to list the aliases.

                                                                                          + */ + EntityId: string | undefined; +} + +export namespace ListAliasesRequest { export const filterSensitiveLog = (obj: ListAliasesRequest): any => ({ ...obj, }); @@ -1154,7 +1775,8 @@ export namespace ListAliasesResponse { export interface ListGroupMembersRequest { /** - *

                                                                                          The identifier for the group to which the members (users or groups) are associated.

                                                                                          + *

                                                                                          The identifier for the group to which the members (users or groups) are + * associated.

                                                                                          */ GroupId: string | undefined; @@ -1163,16 +1785,16 @@ export interface ListGroupMembersRequest { */ OrganizationId: 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. The first call does not * contain any tokens.

                                                                                          */ NextToken?: string; + + /** + *

                                                                                          The maximum number of results to return in a single call.

                                                                                          + */ + MaxResults?: number; } export namespace ListGroupMembersRequest { @@ -1191,31 +1813,29 @@ export interface Member { State?: EntityState | string; /** - *

                                                                                          The identifier of the member.

                                                                                          + *

                                                                                          The name of the member.

                                                                                          */ - Id?: string; + Name?: string; /** - *

                                                                                          The name of the member.

                                                                                          + *

                                                                                          A member can be a user or group.

                                                                                          */ - Name?: string; + Type?: MemberType | string; /** - *

                                                                                          The date indicating when the member was enabled for Amazon WorkMail - * use.

                                                                                          + *

                                                                                          The date indicating when the member was disabled from Amazon WorkMail use.

                                                                                          */ - EnabledDate?: Date; + DisabledDate?: Date; /** - *

                                                                                          A member can be a user or group.

                                                                                          + *

                                                                                          The date indicating when the member was enabled for Amazon WorkMail use.

                                                                                          */ - Type?: MemberType | string; + EnabledDate?: Date; /** - *

                                                                                          The date indicating when the member was disabled from Amazon WorkMail - * use.

                                                                                          + *

                                                                                          The identifier of the member.

                                                                                          */ - DisabledDate?: Date; + Id?: string; } export namespace Member { @@ -1225,16 +1845,16 @@ export namespace Member { } export interface ListGroupMembersResponse { - /** - *

                                                                                          The members associated to the group.

                                                                                          - */ - Members?: Member[]; - /** *

                                                                                          The token to use to retrieve the next page of results. The first call does not * contain any tokens.

                                                                                          */ NextToken?: string; + + /** + *

                                                                                          The members associated to the group.

                                                                                          + */ + Members?: Member[]; } export namespace ListGroupMembersResponse { @@ -1251,14 +1871,14 @@ export interface ListGroupsRequest { NextToken?: string; /** - *

                                                                                          The maximum number of results to return in a single call.

                                                                                          + *

                                                                                          The identifier for the organization under which the groups exist.

                                                                                          */ - MaxResults?: number; + OrganizationId: string | undefined; /** - *

                                                                                          The identifier for the organization under which the groups exist.

                                                                                          + *

                                                                                          The maximum number of results to return in a single call.

                                                                                          */ - OrganizationId: string | undefined; + MaxResults?: number; } export namespace ListGroupsRequest { @@ -1286,21 +1906,57 @@ export namespace ListGroupsResponse { }); } -export interface ListMailboxPermissionsRequest { +export interface ListMailboxExportJobsRequest { /** - *

                                                                                          The identifier of the organization under which the user, group, or resource - * exists.

                                                                                          + *

                                                                                          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; + + /** + *

                                                                                          The organization ID.

                                                                                          */ OrganizationId: string | undefined; +} +export namespace ListMailboxExportJobsRequest { + export const filterSensitiveLog = (obj: ListMailboxExportJobsRequest): any => ({ + ...obj, + }); +} + +export interface ListMailboxExportJobsResponse { /** - *

                                                                                          The identifier of the user, group, or resource for which to list mailbox - * permissions.

                                                                                          + *

                                                                                          The mailbox export job details.

                                                                                          */ - EntityId: string | undefined; + Jobs?: MailboxExportJob[]; /** - *

                                                                                          The token to use to retrieve the next page of results. The first call does not contain any tokens.

                                                                                          + *

                                                                                          The token to use to retrieve the next page of results.

                                                                                          + */ + NextToken?: string; +} + +export namespace ListMailboxExportJobsResponse { + export const filterSensitiveLog = (obj: ListMailboxExportJobsResponse): any => ({ + ...obj, + }); +} + +export interface ListMailboxPermissionsRequest { + /** + *

                                                                                          The identifier of the organization under which the user, group, or resource + * exists.

                                                                                          + */ + OrganizationId: string | undefined; + + /** + *

                                                                                          The token to use to retrieve the next page of results. The first call does not + * contain any tokens.

                                                                                          */ NextToken?: string; @@ -1308,6 +1964,12 @@ export interface ListMailboxPermissionsRequest { *

                                                                                          The maximum number of results to return in a single call.

                                                                                          */ MaxResults?: number; + + /** + *

                                                                                          The identifier of the user, group, or resource for which to list mailbox + * permissions.

                                                                                          + */ + EntityId: string | undefined; } export namespace ListMailboxPermissionsRequest { @@ -1328,20 +1990,25 @@ export enum PermissionType { */ export interface Permission { /** - *

                                                                                          The permissions granted to the grantee. SEND_AS allows the grantee to send email as the owner of the mailbox (the grantee is not mentioned on these emails). SEND_ON_BEHALF allows the grantee to send email on behalf of the owner of the mailbox (the grantee is not mentioned as the physical sender of these emails). FULL_ACCESS allows the grantee full access to the mailbox, irrespective of other folder-level permissions set on the mailbox.

                                                                                          + *

                                                                                          The identifier of the user, group, or resource to which the permissions are + * granted.

                                                                                          */ - PermissionValues: (PermissionType | string)[] | undefined; + GranteeId: string | undefined; /** - *

                                                                                          The type of user, group, or resource referred to in GranteeId.

                                                                                          + *

                                                                                          The permissions granted to the grantee. SEND_AS allows the grantee to send email as + * the owner of the mailbox (the grantee is not mentioned on these emails). SEND_ON_BEHALF + * allows the grantee to send email on behalf of the owner of the mailbox (the grantee is not + * mentioned as the physical sender of these emails). FULL_ACCESS allows the grantee full + * access to the mailbox, irrespective of other folder-level permissions set on the + * mailbox.

                                                                                          */ - GranteeType: MemberType | string | undefined; + PermissionValues: (PermissionType | string)[] | undefined; /** - *

                                                                                          The identifier of the user, group, or resource to which the permissions are - * granted.

                                                                                          + *

                                                                                          The type of user, group, or resource referred to in GranteeId.

                                                                                          */ - GranteeId: string | undefined; + GranteeType: MemberType | string | undefined; } export namespace Permission { @@ -1352,14 +2019,15 @@ export namespace Permission { export interface ListMailboxPermissionsResponse { /** - *

                                                                                          The token to use to retrieve the next page of results. The value is "null" when there are no more results to return.

                                                                                          + *

                                                                                          One page of the user, group, or resource mailbox permissions.

                                                                                          */ - NextToken?: string; + Permissions?: Permission[]; /** - *

                                                                                          One page of the user, group, or resource mailbox permissions.

                                                                                          + *

                                                                                          The token to use to retrieve the next page of results. The value is "null" when there + * are no more results to return.

                                                                                          */ - Permissions?: Permission[]; + NextToken?: string; } export namespace ListMailboxPermissionsResponse { @@ -1392,22 +2060,27 @@ export namespace ListOrganizationsRequest { */ export interface OrganizationSummary { /** - *

                                                                                          The error message associated with the organization. It is only present if unexpected - * behavior has occurred with regards to the organization. It provides insight or solutions - * regarding unexpected behavior.

                                                                                          + *

                                                                                          The state associated with the organization.

                                                                                          */ - ErrorMessage?: string; + State?: string; /** - *

                                                                                          The state associated with the organization.

                                                                                          + *

                                                                                          The default email domain associated with the organization.

                                                                                          */ - State?: string; + DefaultMailDomain?: string; /** *

                                                                                          The alias associated with the organization.

                                                                                          */ Alias?: string; + /** + *

                                                                                          The error message associated with the organization. It is only present if unexpected + * behavior has occurred with regards to the organization. It provides insight or solutions + * regarding unexpected behavior.

                                                                                          + */ + ErrorMessage?: string; + /** *

                                                                                          The identifier associated with the organization.

                                                                                          */ @@ -1428,7 +2101,8 @@ export interface ListOrganizationsResponse { NextToken?: string; /** - *

                                                                                          The overview of owned organizations presented as a list of organization summaries.

                                                                                          + *

                                                                                          The overview of owned organizations presented as a list of organization + * summaries.

                                                                                          */ OrganizationSummaries?: OrganizationSummary[]; } @@ -1445,21 +2119,22 @@ export interface ListResourceDelegatesRequest { */ MaxResults?: number; - /** - *

                                                                                          The identifier for the organization that contains the resource for which delegates - * are listed.

                                                                                          - */ - OrganizationId: string | undefined; - /** *

                                                                                          The identifier for the resource whose delegates are listed.

                                                                                          */ ResourceId: string | undefined; /** - *

                                                                                          The token used to paginate through the delegates associated with a resource.

                                                                                          + *

                                                                                          The token used to paginate through the delegates associated with a + * resource.

                                                                                          */ NextToken?: string; + + /** + *

                                                                                          The identifier for the organization that contains the resource for which delegates + * are listed.

                                                                                          + */ + OrganizationId: string | undefined; } export namespace ListResourceDelegatesRequest { @@ -1469,17 +2144,17 @@ export namespace ListResourceDelegatesRequest { } export interface ListResourceDelegatesResponse { + /** + *

                                                                                          One page of the resource's delegates.

                                                                                          + */ + Delegates?: Delegate[]; + /** *

                                                                                          The token used to paginate through the delegates associated with a resource. While * results are still available, it has an associated value. When the last page is reached, the * token is empty.

                                                                                          */ NextToken?: string; - - /** - *

                                                                                          One page of the resource's delegates.

                                                                                          - */ - Delegates?: Delegate[]; } export namespace ListResourceDelegatesResponse { @@ -1490,9 +2165,9 @@ export namespace ListResourceDelegatesResponse { export interface ListResourcesRequest { /** - *

                                                                                          The maximum number of results to return in a single call.

                                                                                          + *

                                                                                          The identifier for the organization under which the resources exist.

                                                                                          */ - MaxResults?: number; + OrganizationId: string | undefined; /** *

                                                                                          The token to use to retrieve the next page of results. The first call does not @@ -1501,9 +2176,9 @@ export interface ListResourcesRequest { NextToken?: string; /** - *

                                                                                          The identifier for the organization under which the resources exist.

                                                                                          + *

                                                                                          The maximum number of results to return in a single call.

                                                                                          */ - OrganizationId: string | undefined; + MaxResults?: number; } export namespace ListResourcesRequest { @@ -1522,9 +2197,9 @@ export interface Resource { EnabledDate?: Date; /** - *

                                                                                          The email of the resource.

                                                                                          + *

                                                                                          The date indicating when the resource was disabled from Amazon WorkMail use.

                                                                                          */ - Email?: string; + DisabledDate?: Date; /** *

                                                                                          The type of the resource: equipment or room.

                                                                                          @@ -1532,68 +2207,130 @@ export interface Resource { Type?: ResourceType | string; /** - *

                                                                                          The date indicating when the resource was disabled from Amazon WorkMail - * use.

                                                                                          + *

                                                                                          The state of the resource, which can be ENABLED, DISABLED, or DELETED.

                                                                                          */ - DisabledDate?: Date; + State?: EntityState | string; /** *

                                                                                          The name of the resource.

                                                                                          */ - Name?: string; + Name?: string; + + /** + *

                                                                                          The identifier of the resource.

                                                                                          + */ + Id?: string; + + /** + *

                                                                                          The email of the resource.

                                                                                          + */ + Email?: string; +} + +export namespace Resource { + export const filterSensitiveLog = (obj: Resource): any => ({ + ...obj, + }); +} + +export interface ListResourcesResponse { + /** + *

                                                                                          One page of the organization's resource representation.

                                                                                          + */ + Resources?: Resource[]; + + /** + *

                                                                                          The token used to paginate through all the organization's resources. While results + * are still available, it has an associated value. When the last page is reached, the token + * is empty.

                                                                                          + */ + NextToken?: string; +} + +export namespace ListResourcesResponse { + export const filterSensitiveLog = (obj: ListResourcesResponse): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceRequest { + /** + *

                                                                                          The resource ARN.

                                                                                          + */ + ResourceARN: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                                          Describes a tag applied to a resource.

                                                                                          + */ +export interface Tag { /** - *

                                                                                          The identifier of the resource.

                                                                                          + *

                                                                                          The key of the tag.

                                                                                          */ - Id?: string; + Key: string | undefined; /** - *

                                                                                          The state of the resource, which can be ENABLED, DISABLED, or DELETED.

                                                                                          + *

                                                                                          The value of the tag.

                                                                                          */ - State?: EntityState | string; + Value: string | undefined; } -export namespace Resource { - export const filterSensitiveLog = (obj: Resource): any => ({ +export namespace Tag { + export const filterSensitiveLog = (obj: Tag): any => ({ ...obj, }); } -export interface ListResourcesResponse { +export interface ListTagsForResourceResponse { /** - *

                                                                                          One page of the organization's resource representation.

                                                                                          + *

                                                                                          A list of tag key-value pairs.

                                                                                          */ - Resources?: Resource[]; + Tags?: Tag[]; +} - /** - *

                                                                                          The token used to paginate through all the organization's resources. While results - * are still available, it has an associated value. When the last page is reached, the token - * is empty.

                                                                                          - */ - NextToken?: string; +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + }); } -export namespace ListResourcesResponse { - export const filterSensitiveLog = (obj: ListResourcesResponse): any => ({ +/** + *

                                                                                          The resource cannot be found.

                                                                                          + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + Message?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ ...obj, }); } export interface ListUsersRequest { /** - *

                                                                                          The token to use to retrieve the next page of results. The first call does not contain any tokens.

                                                                                          + *

                                                                                          The identifier for the organization under which the users exist.

                                                                                          */ - NextToken?: string; + OrganizationId: string | undefined; /** - *

                                                                                          The maximum number of results to return in a single call.

                                                                                          + *

                                                                                          The token to use to retrieve the next page of results. The first call does not + * contain any tokens.

                                                                                          */ - MaxResults?: number; + NextToken?: string; /** - *

                                                                                          The identifier for the organization under which the users exist.

                                                                                          + *

                                                                                          The maximum number of results to return in a single call.

                                                                                          */ - OrganizationId: string | undefined; + MaxResults?: number; } export namespace ListUsersRequest { @@ -1612,19 +2349,19 @@ export interface User { DisplayName?: string; /** - *

                                                                                          The state of the user, which can be ENABLED, DISABLED, or DELETED.

                                                                                          + *

                                                                                          The name of the user.

                                                                                          */ - State?: EntityState | string; + Name?: string; /** - *

                                                                                          The name of the user.

                                                                                          + *

                                                                                          The date indicating when the user was disabled from Amazon WorkMail use.

                                                                                          */ - Name?: string; + DisabledDate?: Date; /** - *

                                                                                          The role of the user.

                                                                                          + *

                                                                                          The date indicating when the user was enabled for Amazon WorkMail use.

                                                                                          */ - UserRole?: UserRole | string; + EnabledDate?: Date; /** *

                                                                                          The identifier of the user.

                                                                                          @@ -1637,14 +2374,14 @@ export interface User { Email?: string; /** - *

                                                                                          The date indicating when the user was enabled for Amazon WorkMail use.

                                                                                          + *

                                                                                          The state of the user, which can be ENABLED, DISABLED, or DELETED.

                                                                                          */ - EnabledDate?: Date; + State?: EntityState | string; /** - *

                                                                                          The date indicating when the user was disabled from Amazon WorkMail use.

                                                                                          + *

                                                                                          The role of the user.

                                                                                          */ - DisabledDate?: Date; + UserRole?: UserRole | string; } export namespace User { @@ -1655,7 +2392,8 @@ export namespace User { export interface ListUsersResponse { /** - *

                                                                                          The token to use to retrieve the next page of results. This value is `null` when there are no more results to return.

                                                                                          + *

                                                                                          The token to use to retrieve the next page of results. This value is `null` when + * there are no more results to return.

                                                                                          */ NextToken?: string; @@ -1671,6 +2409,76 @@ export namespace ListUsersResponse { }); } +export interface PutAccessControlRuleRequest { + /** + *

                                                                                          The rule description.

                                                                                          + */ + Description: string | undefined; + + /** + *

                                                                                          User IDs to include in the rule.

                                                                                          + */ + UserIds?: string[]; + + /** + *

                                                                                          User IDs to exclude from the rule.

                                                                                          + */ + NotUserIds?: string[]; + + /** + *

                                                                                          IPv4 CIDR ranges to exclude from the rule.

                                                                                          + */ + NotIpRanges?: string[]; + + /** + *

                                                                                          The rule name.

                                                                                          + */ + Name: string | undefined; + + /** + *

                                                                                          The rule effect.

                                                                                          + */ + Effect: AccessControlRuleEffect | string | undefined; + + /** + *

                                                                                          IPv4 CIDR ranges to include in the rule.

                                                                                          + */ + IpRanges?: string[]; + + /** + *

                                                                                          The identifier of the organization.

                                                                                          + */ + OrganizationId: string | undefined; + + /** + *

                                                                                          Access protocol actions to exclude from the rule. Valid values include + * ActiveSync, AutoDiscover, EWS, IMAP, + * SMTP, WindowsOutlook, and WebMail.

                                                                                          + */ + NotActions?: string[]; + + /** + *

                                                                                          Access protocol actions to include in the rule. Valid values include + * ActiveSync, AutoDiscover, EWS, IMAP, + * SMTP, WindowsOutlook, and WebMail.

                                                                                          + */ + Actions?: string[]; +} + +export namespace PutAccessControlRuleRequest { + export const filterSensitiveLog = (obj: PutAccessControlRuleRequest): any => ({ + ...obj, + }); +} + +export interface PutAccessControlRuleResponse {} + +export namespace PutAccessControlRuleResponse { + export const filterSensitiveLog = (obj: PutAccessControlRuleResponse): any => ({ + ...obj, + }); +} + export interface PutMailboxPermissionsRequest { /** *

                                                                                          The identifier of the user, group, or resource to which to grant the @@ -1685,7 +2493,12 @@ export interface PutMailboxPermissionsRequest { EntityId: string | undefined; /** - *

                                                                                          The permissions granted to the grantee. SEND_AS allows the grantee to send email as the owner of the mailbox (the grantee is not mentioned on these emails). SEND_ON_BEHALF allows the grantee to send email on behalf of the owner of the mailbox (the grantee is not mentioned as the physical sender of these emails). FULL_ACCESS allows the grantee full access to the mailbox, irrespective of other folder-level permissions set on the mailbox.

                                                                                          + *

                                                                                          The permissions granted to the grantee. SEND_AS allows the grantee to send email as + * the owner of the mailbox (the grantee is not mentioned on these emails). SEND_ON_BEHALF + * allows the grantee to send email on behalf of the owner of the mailbox (the grantee is not + * mentioned as the physical sender of these emails). FULL_ACCESS allows the grantee full + * access to the mailbox, irrespective of other folder-level permissions set on the + * mailbox.

                                                                                          */ PermissionValues: (PermissionType | string)[] | undefined; @@ -1710,22 +2523,64 @@ export namespace PutMailboxPermissionsResponse { }); } -export interface RegisterToWorkMailRequest { +export interface PutRetentionPolicyRequest { /** - *

                                                                                          The email for the user, group, or resource to be updated.

                                                                                          + *

                                                                                          The retention policy name.

                                                                                          */ - Email: string | undefined; + Name: string | undefined; /** - *

                                                                                          The identifier for the organization under which the user, group, or resource - * exists.

                                                                                          + *

                                                                                          The retention policy ID.

                                                                                          + */ + Id?: string; + + /** + *

                                                                                          The organization ID.

                                                                                          */ OrganizationId: string | undefined; + /** + *

                                                                                          The retention policy description.

                                                                                          + */ + Description?: string; + + /** + *

                                                                                          The retention policy folder configurations.

                                                                                          + */ + FolderConfigurations: FolderConfiguration[] | undefined; +} + +export namespace PutRetentionPolicyRequest { + export const filterSensitiveLog = (obj: PutRetentionPolicyRequest): any => ({ + ...obj, + ...(obj.Description && { Description: SENSITIVE_STRING }), + }); +} + +export interface PutRetentionPolicyResponse {} + +export namespace PutRetentionPolicyResponse { + export const filterSensitiveLog = (obj: PutRetentionPolicyResponse): any => ({ + ...obj, + }); +} + +export interface RegisterToWorkMailRequest { /** *

                                                                                          The identifier for the user, group, or resource to be updated.

                                                                                          */ EntityId: string | undefined; + + /** + *

                                                                                          The email for the user, group, or resource to be updated.

                                                                                          + */ + Email: string | undefined; + + /** + *

                                                                                          The identifier for the organization under which the user, group, or resource + * exists.

                                                                                          + */ + OrganizationId: string | undefined; } export namespace RegisterToWorkMailRequest { @@ -1744,15 +2599,15 @@ export namespace RegisterToWorkMailResponse { export interface ResetPasswordRequest { /** - *

                                                                                          The identifier of the organization that contains the user for which the password is - * reset.

                                                                                          + *

                                                                                          The identifier of the user for whom the password is reset.

                                                                                          */ - OrganizationId: string | undefined; + UserId: string | undefined; /** - *

                                                                                          The identifier of the user for whom the password is reset.

                                                                                          + *

                                                                                          The identifier of the organization that contains the user for which the password is + * reset.

                                                                                          */ - UserId: string | undefined; + OrganizationId: string | undefined; /** *

                                                                                          The new password for the user.

                                                                                          @@ -1775,6 +2630,136 @@ export namespace ResetPasswordResponse { }); } +export interface StartMailboxExportJobRequest { + /** + *

                                                                                          The identifier of the user or resource associated with the mailbox.

                                                                                          + */ + EntityId: string | undefined; + + /** + *

                                                                                          The mailbox export job description.

                                                                                          + */ + Description?: string; + + /** + *

                                                                                          The ARN of the AWS Identity and Access Management (IAM) role that grants write permission to the S3 + * bucket.

                                                                                          + */ + RoleArn: string | undefined; + + /** + *

                                                                                          The idempotency token for the client request.

                                                                                          + */ + ClientToken?: string; + + /** + *

                                                                                          The name of the S3 bucket.

                                                                                          + */ + S3BucketName: string | undefined; + + /** + *

                                                                                          The S3 bucket prefix.

                                                                                          + */ + S3Prefix: string | undefined; + + /** + *

                                                                                          The identifier associated with the organization.

                                                                                          + */ + OrganizationId: string | undefined; + + /** + *

                                                                                          The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service (AWS KMS) + * key that encrypts the exported mailbox content.

                                                                                          + */ + KmsKeyArn: string | undefined; +} + +export namespace StartMailboxExportJobRequest { + export const filterSensitiveLog = (obj: StartMailboxExportJobRequest): any => ({ + ...obj, + }); +} + +export interface StartMailboxExportJobResponse { + /** + *

                                                                                          The job ID.

                                                                                          + */ + JobId?: string; +} + +export namespace StartMailboxExportJobResponse { + export const filterSensitiveLog = (obj: StartMailboxExportJobResponse): any => ({ + ...obj, + }); +} + +export interface TagResourceRequest { + /** + *

                                                                                          The tag key-value pairs.

                                                                                          + */ + Tags: Tag[] | undefined; + + /** + *

                                                                                          The resource ARN.

                                                                                          + */ + ResourceARN: 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, + }); +} + +/** + *

                                                                                          The resource can have up to 50 user-applied tags.

                                                                                          + */ +export interface TooManyTagsException extends __SmithyException, $MetadataBearer { + name: "TooManyTagsException"; + $fault: "client"; + Message?: string; +} + +export namespace TooManyTagsException { + export const filterSensitiveLog = (obj: TooManyTagsException): any => ({ + ...obj, + }); +} + +export interface UntagResourceRequest { + /** + *

                                                                                          The resource ARN.

                                                                                          + */ + ResourceARN: string | undefined; + + /** + *

                                                                                          The tag keys.

                                                                                          + */ + 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, + }); +} + export interface UpdateMailboxQuotaRequest { /** *

                                                                                          The identifer for the user for whom to update the mailbox quota.

                                                                                          @@ -1782,7 +2767,8 @@ export interface UpdateMailboxQuotaRequest { UserId: string | undefined; /** - *

                                                                                          The identifier for the organization that contains the user for whom to update the mailbox quota.

                                                                                          + *

                                                                                          The identifier for the organization that contains the user for whom to update the + * mailbox quota.

                                                                                          */ OrganizationId: string | undefined; @@ -1839,25 +2825,25 @@ export namespace UpdatePrimaryEmailAddressResponse { export interface UpdateResourceRequest { /** - *

                                                                                          The identifier of the resource to be updated.

                                                                                          + *

                                                                                          The name of the resource to be updated.

                                                                                          */ - ResourceId: string | undefined; + Name?: string; /** - *

                                                                                          The identifier associated with the organization for which the resource is - * updated.

                                                                                          + *

                                                                                          The identifier of the resource to be updated.

                                                                                          */ - OrganizationId: string | undefined; + ResourceId: string | undefined; /** - *

                                                                                          The name of the resource to be updated.

                                                                                          + *

                                                                                          The resource's booking options to be updated.

                                                                                          */ - Name?: string; + BookingOptions?: BookingOptions; /** - *

                                                                                          The resource's booking options to be updated.

                                                                                          + *

                                                                                          The identifier associated with the organization for which the resource is + * updated.

                                                                                          */ - BookingOptions?: BookingOptions; + OrganizationId: string | undefined; } export namespace UpdateResourceRequest { diff --git a/clients/client-workmail/package.json b/clients/client-workmail/package.json index df51ecca7d77..a3e64fd03403 100644 --- a/clients/client-workmail/package.json +++ b/clients/client-workmail/package.json @@ -56,11 +56,13 @@ "@aws-sdk/util-user-agent-node": "1.0.0-rc.1", "@aws-sdk/util-utf8-browser": "1.0.0-rc.1", "@aws-sdk/util-utf8-node": "1.0.0-rc.1", - "tslib": "^2.0.0" + "tslib": "^2.0.0", + "uuid": "^3.0.0" }, "devDependencies": { "@aws-sdk/client-documentation-generator": "1.0.0-rc.1", "@types/node": "^12.7.5", + "@types/uuid": "^3.0.0", "jest": "^26.1.0", "rimraf": "^3.0.0", "typedoc": "^0.17.8", diff --git a/clients/client-workmail/pagination/ListMailboxExportJobsPaginator.ts b/clients/client-workmail/pagination/ListMailboxExportJobsPaginator.ts new file mode 100644 index 000000000000..8f05ce66b62c --- /dev/null +++ b/clients/client-workmail/pagination/ListMailboxExportJobsPaginator.ts @@ -0,0 +1,51 @@ +import { WorkMail } from "../WorkMail"; +import { WorkMailClient } from "../WorkMailClient"; +import { + ListMailboxExportJobsCommand, + ListMailboxExportJobsCommandInput, + ListMailboxExportJobsCommandOutput, +} from "../commands/ListMailboxExportJobsCommand"; +import { WorkMailPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: WorkMailClient, + input: ListMailboxExportJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListMailboxExportJobsCommand(input, ...args)); +}; +const makePagedRequest = async ( + client: WorkMail, + input: ListMailboxExportJobsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listMailboxExportJobs(input, ...args); +}; +export async function* listMailboxExportJobsPaginate( + config: WorkMailPaginationConfiguration, + input: ListMailboxExportJobsCommandInput, + ...additionalArguments: any +): Paginator { + let token: string | undefined = config.startingToken || ""; + let hasNext = true; + let page: ListMailboxExportJobsCommandOutput; + while (hasNext) { + input["NextToken"] = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof WorkMail) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof WorkMailClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected WorkMail | WorkMailClient"); + } + yield page; + token = page["NextToken"]; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-workmail/protocols/Aws_json1_1.ts b/clients/client-workmail/protocols/Aws_json1_1.ts index 24a0b3416490..52ae5aaacbd7 100644 --- a/clients/client-workmail/protocols/Aws_json1_1.ts +++ b/clients/client-workmail/protocols/Aws_json1_1.ts @@ -6,23 +6,41 @@ import { AssociateMemberToGroupCommandInput, AssociateMemberToGroupCommandOutput, } from "../commands/AssociateMemberToGroupCommand"; +import { + CancelMailboxExportJobCommandInput, + CancelMailboxExportJobCommandOutput, +} from "../commands/CancelMailboxExportJobCommand"; import { CreateAliasCommandInput, CreateAliasCommandOutput } from "../commands/CreateAliasCommand"; import { CreateGroupCommandInput, CreateGroupCommandOutput } from "../commands/CreateGroupCommand"; +import { CreateOrganizationCommandInput, CreateOrganizationCommandOutput } from "../commands/CreateOrganizationCommand"; import { CreateResourceCommandInput, CreateResourceCommandOutput } from "../commands/CreateResourceCommand"; import { CreateUserCommandInput, CreateUserCommandOutput } from "../commands/CreateUserCommand"; +import { + DeleteAccessControlRuleCommandInput, + DeleteAccessControlRuleCommandOutput, +} from "../commands/DeleteAccessControlRuleCommand"; import { DeleteAliasCommandInput, DeleteAliasCommandOutput } from "../commands/DeleteAliasCommand"; import { DeleteGroupCommandInput, DeleteGroupCommandOutput } from "../commands/DeleteGroupCommand"; import { DeleteMailboxPermissionsCommandInput, DeleteMailboxPermissionsCommandOutput, } from "../commands/DeleteMailboxPermissionsCommand"; +import { DeleteOrganizationCommandInput, DeleteOrganizationCommandOutput } from "../commands/DeleteOrganizationCommand"; import { DeleteResourceCommandInput, DeleteResourceCommandOutput } from "../commands/DeleteResourceCommand"; +import { + DeleteRetentionPolicyCommandInput, + DeleteRetentionPolicyCommandOutput, +} from "../commands/DeleteRetentionPolicyCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "../commands/DeleteUserCommand"; import { DeregisterFromWorkMailCommandInput, DeregisterFromWorkMailCommandOutput, } from "../commands/DeregisterFromWorkMailCommand"; import { DescribeGroupCommandInput, DescribeGroupCommandOutput } from "../commands/DescribeGroupCommand"; +import { + DescribeMailboxExportJobCommandInput, + DescribeMailboxExportJobCommandOutput, +} from "../commands/DescribeMailboxExportJobCommand"; import { DescribeOrganizationCommandInput, DescribeOrganizationCommandOutput, @@ -37,10 +55,26 @@ import { DisassociateMemberFromGroupCommandInput, DisassociateMemberFromGroupCommandOutput, } from "../commands/DisassociateMemberFromGroupCommand"; +import { + GetAccessControlEffectCommandInput, + GetAccessControlEffectCommandOutput, +} from "../commands/GetAccessControlEffectCommand"; +import { + GetDefaultRetentionPolicyCommandInput, + GetDefaultRetentionPolicyCommandOutput, +} from "../commands/GetDefaultRetentionPolicyCommand"; import { GetMailboxDetailsCommandInput, GetMailboxDetailsCommandOutput } from "../commands/GetMailboxDetailsCommand"; +import { + ListAccessControlRulesCommandInput, + ListAccessControlRulesCommandOutput, +} from "../commands/ListAccessControlRulesCommand"; import { ListAliasesCommandInput, ListAliasesCommandOutput } from "../commands/ListAliasesCommand"; import { ListGroupMembersCommandInput, ListGroupMembersCommandOutput } from "../commands/ListGroupMembersCommand"; import { ListGroupsCommandInput, ListGroupsCommandOutput } from "../commands/ListGroupsCommand"; +import { + ListMailboxExportJobsCommandInput, + ListMailboxExportJobsCommandOutput, +} from "../commands/ListMailboxExportJobsCommand"; import { ListMailboxPermissionsCommandInput, ListMailboxPermissionsCommandOutput, @@ -51,13 +85,28 @@ import { ListResourceDelegatesCommandOutput, } from "../commands/ListResourceDelegatesCommand"; import { ListResourcesCommandInput, ListResourcesCommandOutput } from "../commands/ListResourcesCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; import { ListUsersCommandInput, ListUsersCommandOutput } from "../commands/ListUsersCommand"; +import { + PutAccessControlRuleCommandInput, + PutAccessControlRuleCommandOutput, +} from "../commands/PutAccessControlRuleCommand"; import { PutMailboxPermissionsCommandInput, PutMailboxPermissionsCommandOutput, } from "../commands/PutMailboxPermissionsCommand"; +import { PutRetentionPolicyCommandInput, PutRetentionPolicyCommandOutput } from "../commands/PutRetentionPolicyCommand"; import { RegisterToWorkMailCommandInput, RegisterToWorkMailCommandOutput } from "../commands/RegisterToWorkMailCommand"; import { ResetPasswordCommandInput, ResetPasswordCommandOutput } from "../commands/ResetPasswordCommand"; +import { + StartMailboxExportJobCommandInput, + StartMailboxExportJobCommandOutput, +} from "../commands/StartMailboxExportJobCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateMailboxQuotaCommandInput, UpdateMailboxQuotaCommandOutput } from "../commands/UpdateMailboxQuotaCommand"; import { UpdatePrimaryEmailAddressCommandInput, @@ -65,62 +114,87 @@ import { } from "../commands/UpdatePrimaryEmailAddressCommand"; import { UpdateResourceCommandInput, UpdateResourceCommandOutput } from "../commands/UpdateResourceCommand"; import { + AccessControlRule, AssociateDelegateToResourceRequest, AssociateDelegateToResourceResponse, AssociateMemberToGroupRequest, AssociateMemberToGroupResponse, BookingOptions, + CancelMailboxExportJobRequest, + CancelMailboxExportJobResponse, CreateAliasRequest, CreateAliasResponse, CreateGroupRequest, CreateGroupResponse, + CreateOrganizationRequest, + CreateOrganizationResponse, CreateResourceRequest, CreateResourceResponse, CreateUserRequest, CreateUserResponse, Delegate, + DeleteAccessControlRuleRequest, + DeleteAccessControlRuleResponse, DeleteAliasRequest, DeleteAliasResponse, DeleteGroupRequest, DeleteGroupResponse, DeleteMailboxPermissionsRequest, DeleteMailboxPermissionsResponse, + DeleteOrganizationRequest, + DeleteOrganizationResponse, DeleteResourceRequest, DeleteResourceResponse, + DeleteRetentionPolicyRequest, + DeleteRetentionPolicyResponse, DeleteUserRequest, DeleteUserResponse, DeregisterFromWorkMailRequest, DeregisterFromWorkMailResponse, DescribeGroupRequest, DescribeGroupResponse, + DescribeMailboxExportJobRequest, + DescribeMailboxExportJobResponse, DescribeOrganizationRequest, DescribeOrganizationResponse, DescribeResourceRequest, DescribeResourceResponse, DescribeUserRequest, DescribeUserResponse, + DirectoryInUseException, DirectoryServiceAuthenticationFailedException, DirectoryUnavailableException, DisassociateDelegateFromResourceRequest, DisassociateDelegateFromResourceResponse, DisassociateMemberFromGroupRequest, DisassociateMemberFromGroupResponse, + Domain, EmailAddressInUseException, EntityAlreadyRegisteredException, EntityNotFoundException, EntityStateException, + FolderConfiguration, + GetAccessControlEffectRequest, + GetAccessControlEffectResponse, + GetDefaultRetentionPolicyRequest, + GetDefaultRetentionPolicyResponse, GetMailboxDetailsRequest, GetMailboxDetailsResponse, Group, InvalidConfigurationException, InvalidParameterException, InvalidPasswordException, + LimitExceededException, + ListAccessControlRulesRequest, + ListAccessControlRulesResponse, ListAliasesRequest, ListAliasesResponse, ListGroupMembersRequest, ListGroupMembersResponse, ListGroupsRequest, ListGroupsResponse, + ListMailboxExportJobsRequest, + ListMailboxExportJobsResponse, ListMailboxPermissionsRequest, ListMailboxPermissionsResponse, ListOrganizationsRequest, @@ -129,10 +203,13 @@ import { ListResourceDelegatesResponse, ListResourcesRequest, ListResourcesResponse, + ListTagsForResourceRequest, + ListTagsForResourceResponse, ListUsersRequest, ListUsersResponse, MailDomainNotFoundException, MailDomainStateException, + MailboxExportJob, Member, NameAvailabilityException, OrganizationNotFoundException, @@ -140,15 +217,28 @@ import { OrganizationSummary, Permission, PermissionType, + PutAccessControlRuleRequest, + PutAccessControlRuleResponse, PutMailboxPermissionsRequest, PutMailboxPermissionsResponse, + PutRetentionPolicyRequest, + PutRetentionPolicyResponse, RegisterToWorkMailRequest, RegisterToWorkMailResponse, ReservedNameException, ResetPasswordRequest, ResetPasswordResponse, Resource, + ResourceNotFoundException, + StartMailboxExportJobRequest, + StartMailboxExportJobResponse, + Tag, + TagResourceRequest, + TagResourceResponse, + TooManyTagsException, UnsupportedOperationException, + UntagResourceRequest, + UntagResourceResponse, UpdateMailboxQuotaRequest, UpdateMailboxQuotaResponse, UpdatePrimaryEmailAddressRequest, @@ -166,6 +256,7 @@ import { ResponseMetadata as __ResponseMetadata, SerdeContext as __SerdeContext, } from "@aws-sdk/types"; +import { v4 as generateIdempotencyToken } from "uuid"; export const serializeAws_json1_1AssociateDelegateToResourceCommand = async ( input: AssociateDelegateToResourceCommandInput, @@ -193,6 +284,19 @@ export const serializeAws_json1_1AssociateMemberToGroupCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CancelMailboxExportJobCommand = async ( + input: CancelMailboxExportJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.CancelMailboxExportJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CancelMailboxExportJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateAliasCommand = async ( input: CreateAliasCommandInput, context: __SerdeContext @@ -219,6 +323,19 @@ export const serializeAws_json1_1CreateGroupCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateOrganizationCommand = async ( + input: CreateOrganizationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.CreateOrganization", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateOrganizationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateResourceCommand = async ( input: CreateResourceCommandInput, context: __SerdeContext @@ -245,6 +362,19 @@ export const serializeAws_json1_1CreateUserCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteAccessControlRuleCommand = async ( + input: DeleteAccessControlRuleCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.DeleteAccessControlRule", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteAccessControlRuleRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteAliasCommand = async ( input: DeleteAliasCommandInput, context: __SerdeContext @@ -284,6 +414,19 @@ export const serializeAws_json1_1DeleteMailboxPermissionsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteOrganizationCommand = async ( + input: DeleteOrganizationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.DeleteOrganization", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteOrganizationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteResourceCommand = async ( input: DeleteResourceCommandInput, context: __SerdeContext @@ -297,6 +440,19 @@ export const serializeAws_json1_1DeleteResourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteRetentionPolicyCommand = async ( + input: DeleteRetentionPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.DeleteRetentionPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteRetentionPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteUserCommand = async ( input: DeleteUserCommandInput, context: __SerdeContext @@ -336,6 +492,19 @@ export const serializeAws_json1_1DescribeGroupCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeMailboxExportJobCommand = async ( + input: DescribeMailboxExportJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.DescribeMailboxExportJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeMailboxExportJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeOrganizationCommand = async ( input: DescribeOrganizationCommandInput, context: __SerdeContext @@ -401,6 +570,32 @@ export const serializeAws_json1_1DisassociateMemberFromGroupCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetAccessControlEffectCommand = async ( + input: GetAccessControlEffectCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.GetAccessControlEffect", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetAccessControlEffectRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1GetDefaultRetentionPolicyCommand = async ( + input: GetDefaultRetentionPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.GetDefaultRetentionPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetDefaultRetentionPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetMailboxDetailsCommand = async ( input: GetMailboxDetailsCommandInput, context: __SerdeContext @@ -414,6 +609,19 @@ export const serializeAws_json1_1GetMailboxDetailsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListAccessControlRulesCommand = async ( + input: ListAccessControlRulesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.ListAccessControlRules", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListAccessControlRulesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListAliasesCommand = async ( input: ListAliasesCommandInput, context: __SerdeContext @@ -453,6 +661,19 @@ export const serializeAws_json1_1ListGroupsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListMailboxExportJobsCommand = async ( + input: ListMailboxExportJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.ListMailboxExportJobs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListMailboxExportJobsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListMailboxPermissionsCommand = async ( input: ListMailboxPermissionsCommandInput, context: __SerdeContext @@ -505,6 +726,19 @@ export const serializeAws_json1_1ListResourcesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.ListTagsForResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListTagsForResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListUsersCommand = async ( input: ListUsersCommandInput, context: __SerdeContext @@ -518,6 +752,19 @@ export const serializeAws_json1_1ListUsersCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1PutAccessControlRuleCommand = async ( + input: PutAccessControlRuleCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.PutAccessControlRule", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1PutAccessControlRuleRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1PutMailboxPermissionsCommand = async ( input: PutMailboxPermissionsCommandInput, context: __SerdeContext @@ -531,6 +778,19 @@ export const serializeAws_json1_1PutMailboxPermissionsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1PutRetentionPolicyCommand = async ( + input: PutRetentionPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.PutRetentionPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1PutRetentionPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1RegisterToWorkMailCommand = async ( input: RegisterToWorkMailCommandInput, context: __SerdeContext @@ -557,6 +817,45 @@ export const serializeAws_json1_1ResetPasswordCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StartMailboxExportJobCommand = async ( + input: StartMailboxExportJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.StartMailboxExportJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StartMailboxExportJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.TagResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1TagResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkMailService.UntagResource", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UntagResourceRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateMailboxQuotaCommand = async ( input: UpdateMailboxQuotaCommandInput, context: __SerdeContext @@ -794,6 +1093,85 @@ const deserializeAws_json1_1AssociateMemberToGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1CancelMailboxExportJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CancelMailboxExportJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CancelMailboxExportJobResponse(data, context); + const response: CancelMailboxExportJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CancelMailboxExportJobCommandError = 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.workmail#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1CreateAliasCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -856,6 +1234,14 @@ const deserializeAws_json1_1CreateAliasCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "LimitExceededException": + case "com.amazonaws.workmail#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "MailDomainNotFoundException": case "com.amazonaws.workmail#MailDomainNotFoundException": response = { @@ -1016,27 +1402,27 @@ const deserializeAws_json1_1CreateGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1CreateResourceCommand = async ( +export const deserializeAws_json1_1CreateOrganizationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1CreateResourceCommandError(output, context); + return deserializeAws_json1_1CreateOrganizationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1CreateResourceResponse(data, context); - const response: CreateResourceCommandOutput = { + contents = deserializeAws_json1_1CreateOrganizationResponse(data, context); + const response: CreateOrganizationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1CreateResourceCommandError = async ( +const deserializeAws_json1_1CreateOrganizationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1046,10 +1432,10 @@ const deserializeAws_json1_1CreateResourceCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "DirectoryServiceAuthenticationFailedException": - case "com.amazonaws.workmail#DirectoryServiceAuthenticationFailedException": + case "DirectoryInUseException": + case "com.amazonaws.workmail#DirectoryInUseException": response = { - ...(await deserializeAws_json1_1DirectoryServiceAuthenticationFailedExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1DirectoryInUseExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1070,24 +1456,111 @@ const deserializeAws_json1_1CreateResourceCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "NameAvailabilityException": - case "com.amazonaws.workmail#NameAvailabilityException": + case "LimitExceededException": + case "com.amazonaws.workmail#LimitExceededException": response = { - ...(await deserializeAws_json1_1NameAvailabilityExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "OrganizationNotFoundException": - case "com.amazonaws.workmail#OrganizationNotFoundException": + case "NameAvailabilityException": + case "com.amazonaws.workmail#NameAvailabilityException": response = { - ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1NameAvailabilityExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "OrganizationStateException": - case "com.amazonaws.workmail#OrganizationStateException": + 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_1CreateResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateResourceResponse(data, context); + const response: CreateResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateResourceCommandError = 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 "DirectoryServiceAuthenticationFailedException": + case "com.amazonaws.workmail#DirectoryServiceAuthenticationFailedException": + response = { + ...(await deserializeAws_json1_1DirectoryServiceAuthenticationFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryUnavailableException": + case "com.amazonaws.workmail#DirectoryUnavailableException": + response = { + ...(await deserializeAws_json1_1DirectoryUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NameAvailabilityException": + case "com.amazonaws.workmail#NameAvailabilityException": + response = { + ...(await deserializeAws_json1_1NameAvailabilityExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": response = { ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context)), name: errorCode, @@ -1238,6 +1711,69 @@ const deserializeAws_json1_1CreateUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeleteAccessControlRuleCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteAccessControlRuleCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteAccessControlRuleResponse(data, context); + const response: DeleteAccessControlRuleCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteAccessControlRuleCommandError = 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 "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1DeleteAliasCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1515,27 +2051,27 @@ const deserializeAws_json1_1DeleteMailboxPermissionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteResourceCommand = async ( +export const deserializeAws_json1_1DeleteOrganizationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteResourceCommandError(output, context); + return deserializeAws_json1_1DeleteOrganizationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteResourceResponse(data, context); - const response: DeleteResourceCommandOutput = { + contents = deserializeAws_json1_1DeleteOrganizationResponse(data, context); + const response: DeleteOrganizationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteResourceCommandError = async ( +const deserializeAws_json1_1DeleteOrganizationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1545,14 +2081,6 @@ const deserializeAws_json1_1DeleteResourceCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "EntityStateException": - case "com.amazonaws.workmail#EntityStateException": - response = { - ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.workmail#InvalidParameterException": response = { @@ -1594,27 +2122,27 @@ const deserializeAws_json1_1DeleteResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteUserCommand = async ( +export const deserializeAws_json1_1DeleteResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteUserCommandError(output, context); + return deserializeAws_json1_1DeleteResourceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteUserResponse(data, context); - const response: DeleteUserCommandOutput = { + contents = deserializeAws_json1_1DeleteResourceResponse(data, context); + const response: DeleteResourceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteUserCommandError = async ( +const deserializeAws_json1_1DeleteResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1624,22 +2152,6 @@ const deserializeAws_json1_1DeleteUserCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "DirectoryServiceAuthenticationFailedException": - case "com.amazonaws.workmail#DirectoryServiceAuthenticationFailedException": - response = { - ...(await deserializeAws_json1_1DirectoryServiceAuthenticationFailedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "DirectoryUnavailableException": - case "com.amazonaws.workmail#DirectoryUnavailableException": - response = { - ...(await deserializeAws_json1_1DirectoryUnavailableExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "EntityStateException": case "com.amazonaws.workmail#EntityStateException": response = { @@ -1672,14 +2184,6 @@ const deserializeAws_json1_1DeleteUserCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "UnsupportedOperationException": - case "com.amazonaws.workmail#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; @@ -1697,27 +2201,27 @@ const deserializeAws_json1_1DeleteUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeregisterFromWorkMailCommand = async ( +export const deserializeAws_json1_1DeleteRetentionPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeregisterFromWorkMailCommandError(output, context); + return deserializeAws_json1_1DeleteRetentionPolicyCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeregisterFromWorkMailResponse(data, context); - const response: DeregisterFromWorkMailCommandOutput = { + contents = deserializeAws_json1_1DeleteRetentionPolicyResponse(data, context); + const response: DeleteRetentionPolicyCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeregisterFromWorkMailCommandError = async ( +const deserializeAws_json1_1DeleteRetentionPolicyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1727,22 +2231,6 @@ const deserializeAws_json1_1DeregisterFromWorkMailCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "EntityNotFoundException": - case "com.amazonaws.workmail#EntityNotFoundException": - response = { - ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "EntityStateException": - case "com.amazonaws.workmail#EntityStateException": - response = { - ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.workmail#InvalidParameterException": response = { @@ -1784,27 +2272,27 @@ const deserializeAws_json1_1DeregisterFromWorkMailCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeGroupCommand = async ( +export const deserializeAws_json1_1DeleteUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeGroupCommandError(output, context); + return deserializeAws_json1_1DeleteUserCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeGroupResponse(data, context); - const response: DescribeGroupCommandOutput = { + contents = deserializeAws_json1_1DeleteUserResponse(data, context); + const response: DeleteUserCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeGroupCommandError = async ( +const deserializeAws_json1_1DeleteUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1814,10 +2302,26 @@ const deserializeAws_json1_1DescribeGroupCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "EntityNotFoundException": - case "com.amazonaws.workmail#EntityNotFoundException": + case "DirectoryServiceAuthenticationFailedException": + case "com.amazonaws.workmail#DirectoryServiceAuthenticationFailedException": response = { - ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1DirectoryServiceAuthenticationFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryUnavailableException": + case "com.amazonaws.workmail#DirectoryUnavailableException": + response = { + ...(await deserializeAws_json1_1DirectoryUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityStateException": + case "com.amazonaws.workmail#EntityStateException": + response = { + ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -1846,8 +2350,16 @@ const deserializeAws_json1_1DescribeGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; - default: - const parsedBody = parsedOutput.body; + case "UnsupportedOperationException": + case "com.amazonaws.workmail#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, @@ -1863,27 +2375,27 @@ const deserializeAws_json1_1DescribeGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeOrganizationCommand = async ( +export const deserializeAws_json1_1DeregisterFromWorkMailCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeOrganizationCommandError(output, context); + return deserializeAws_json1_1DeregisterFromWorkMailCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeOrganizationResponse(data, context); - const response: DescribeOrganizationCommandOutput = { + contents = deserializeAws_json1_1DeregisterFromWorkMailResponse(data, context); + const response: DeregisterFromWorkMailCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeOrganizationCommandError = async ( +const deserializeAws_json1_1DeregisterFromWorkMailCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1893,6 +2405,22 @@ const deserializeAws_json1_1DescribeOrganizationCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "EntityNotFoundException": + case "com.amazonaws.workmail#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityStateException": + case "com.amazonaws.workmail#EntityStateException": + response = { + ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidParameterException": case "com.amazonaws.workmail#InvalidParameterException": response = { @@ -1909,6 +2437,14 @@ const deserializeAws_json1_1DescribeOrganizationCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -1926,27 +2462,27 @@ const deserializeAws_json1_1DescribeOrganizationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeResourceCommand = async ( +export const deserializeAws_json1_1DescribeGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeResourceCommandError(output, context); + return deserializeAws_json1_1DescribeGroupCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeResourceResponse(data, context); - const response: DescribeResourceCommandOutput = { + contents = deserializeAws_json1_1DescribeGroupResponse(data, context); + const response: DescribeGroupCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeResourceCommandError = async ( +const deserializeAws_json1_1DescribeGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2005,27 +2541,27 @@ const deserializeAws_json1_1DescribeResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DescribeUserCommand = async ( +export const deserializeAws_json1_1DescribeMailboxExportJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DescribeUserCommandError(output, context); + return deserializeAws_json1_1DescribeMailboxExportJobCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DescribeUserResponse(data, context); - const response: DescribeUserCommandOutput = { + contents = deserializeAws_json1_1DescribeMailboxExportJobResponse(data, context); + const response: DescribeMailboxExportJobCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DescribeUserCommandError = async ( +const deserializeAws_json1_1DescribeMailboxExportJobCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2084,27 +2620,27 @@ const deserializeAws_json1_1DescribeUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DisassociateDelegateFromResourceCommand = async ( +export const deserializeAws_json1_1DescribeOrganizationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DisassociateDelegateFromResourceCommandError(output, context); + return deserializeAws_json1_1DescribeOrganizationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DisassociateDelegateFromResourceResponse(data, context); - const response: DisassociateDelegateFromResourceCommandOutput = { + contents = deserializeAws_json1_1DescribeOrganizationResponse(data, context); + const response: DescribeOrganizationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DisassociateDelegateFromResourceCommandError = async ( +const deserializeAws_json1_1DescribeOrganizationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2114,22 +2650,6 @@ const deserializeAws_json1_1DisassociateDelegateFromResourceCommandError = async const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "EntityNotFoundException": - case "com.amazonaws.workmail#EntityNotFoundException": - response = { - ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "EntityStateException": - case "com.amazonaws.workmail#EntityStateException": - response = { - ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.workmail#InvalidParameterException": response = { @@ -2146,14 +2666,6 @@ const deserializeAws_json1_1DisassociateDelegateFromResourceCommandError = async $metadata: deserializeMetadata(output), }; break; - case "OrganizationStateException": - case "com.amazonaws.workmail#OrganizationStateException": - response = { - ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -2171,27 +2683,27 @@ const deserializeAws_json1_1DisassociateDelegateFromResourceCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DisassociateMemberFromGroupCommand = async ( +export const deserializeAws_json1_1DescribeResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DisassociateMemberFromGroupCommandError(output, context); + return deserializeAws_json1_1DescribeResourceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DisassociateMemberFromGroupResponse(data, context); - const response: DisassociateMemberFromGroupCommandOutput = { + contents = deserializeAws_json1_1DescribeResourceResponse(data, context); + const response: DescribeResourceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DisassociateMemberFromGroupCommandError = async ( +const deserializeAws_json1_1DescribeResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2201,22 +2713,6 @@ const deserializeAws_json1_1DisassociateMemberFromGroupCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "DirectoryServiceAuthenticationFailedException": - case "com.amazonaws.workmail#DirectoryServiceAuthenticationFailedException": - response = { - ...(await deserializeAws_json1_1DirectoryServiceAuthenticationFailedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "DirectoryUnavailableException": - case "com.amazonaws.workmail#DirectoryUnavailableException": - response = { - ...(await deserializeAws_json1_1DirectoryUnavailableExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "EntityNotFoundException": case "com.amazonaws.workmail#EntityNotFoundException": response = { @@ -2225,14 +2721,6 @@ const deserializeAws_json1_1DisassociateMemberFromGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "EntityStateException": - case "com.amazonaws.workmail#EntityStateException": - response = { - ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.workmail#InvalidParameterException": response = { @@ -2257,14 +2745,6 @@ const deserializeAws_json1_1DisassociateMemberFromGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "UnsupportedOperationException": - case "com.amazonaws.workmail#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; @@ -2282,27 +2762,27 @@ const deserializeAws_json1_1DisassociateMemberFromGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1GetMailboxDetailsCommand = async ( +export const deserializeAws_json1_1DescribeUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1GetMailboxDetailsCommandError(output, context); + return deserializeAws_json1_1DescribeUserCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1GetMailboxDetailsResponse(data, context); - const response: GetMailboxDetailsCommandOutput = { + contents = deserializeAws_json1_1DescribeUserResponse(data, context); + const response: DescribeUserCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1GetMailboxDetailsCommandError = async ( +const deserializeAws_json1_1DescribeUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2320,6 +2800,14 @@ const deserializeAws_json1_1GetMailboxDetailsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "OrganizationNotFoundException": case "com.amazonaws.workmail#OrganizationNotFoundException": response = { @@ -2353,27 +2841,27 @@ const deserializeAws_json1_1GetMailboxDetailsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListAliasesCommand = async ( +export const deserializeAws_json1_1DisassociateDelegateFromResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListAliasesCommandError(output, context); + return deserializeAws_json1_1DisassociateDelegateFromResourceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListAliasesResponse(data, context); - const response: ListAliasesCommandOutput = { + contents = deserializeAws_json1_1DisassociateDelegateFromResourceResponse(data, context); + const response: DisassociateDelegateFromResourceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListAliasesCommandError = async ( +const deserializeAws_json1_1DisassociateDelegateFromResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2440,27 +2928,27 @@ const deserializeAws_json1_1ListAliasesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListGroupMembersCommand = async ( +export const deserializeAws_json1_1DisassociateMemberFromGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListGroupMembersCommandError(output, context); + return deserializeAws_json1_1DisassociateMemberFromGroupCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListGroupMembersResponse(data, context); - const response: ListGroupMembersCommandOutput = { + contents = deserializeAws_json1_1DisassociateMemberFromGroupResponse(data, context); + const response: DisassociateMemberFromGroupCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListGroupMembersCommandError = async ( +const deserializeAws_json1_1DisassociateMemberFromGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2470,6 +2958,22 @@ const deserializeAws_json1_1ListGroupMembersCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "DirectoryServiceAuthenticationFailedException": + case "com.amazonaws.workmail#DirectoryServiceAuthenticationFailedException": + response = { + ...(await deserializeAws_json1_1DirectoryServiceAuthenticationFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryUnavailableException": + case "com.amazonaws.workmail#DirectoryUnavailableException": + response = { + ...(await deserializeAws_json1_1DirectoryUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "EntityNotFoundException": case "com.amazonaws.workmail#EntityNotFoundException": response = { @@ -2510,6 +3014,14 @@ const deserializeAws_json1_1ListGroupMembersCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedOperationException": + case "com.amazonaws.workmail#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; @@ -2527,27 +3039,27 @@ const deserializeAws_json1_1ListGroupMembersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListGroupsCommand = async ( +export const deserializeAws_json1_1GetAccessControlEffectCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListGroupsCommandError(output, context); + return deserializeAws_json1_1GetAccessControlEffectCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListGroupsResponse(data, context); - const response: ListGroupsCommandOutput = { + contents = deserializeAws_json1_1GetAccessControlEffectResponse(data, context); + const response: GetAccessControlEffectCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListGroupsCommandError = async ( +const deserializeAws_json1_1GetAccessControlEffectCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2606,27 +3118,27 @@ const deserializeAws_json1_1ListGroupsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListMailboxPermissionsCommand = async ( +export const deserializeAws_json1_1GetDefaultRetentionPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListMailboxPermissionsCommandError(output, context); + return deserializeAws_json1_1GetDefaultRetentionPolicyCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListMailboxPermissionsResponse(data, context); - const response: ListMailboxPermissionsCommandOutput = { + contents = deserializeAws_json1_1GetDefaultRetentionPolicyResponse(data, context); + const response: GetDefaultRetentionPolicyCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListMailboxPermissionsCommandError = async ( +const deserializeAws_json1_1GetDefaultRetentionPolicyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2685,27 +3197,27 @@ const deserializeAws_json1_1ListMailboxPermissionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListOrganizationsCommand = async ( +export const deserializeAws_json1_1GetMailboxDetailsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListOrganizationsCommandError(output, context); + return deserializeAws_json1_1GetMailboxDetailsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListOrganizationsResponse(data, context); - const response: ListOrganizationsCommandOutput = { + contents = deserializeAws_json1_1GetMailboxDetailsResponse(data, context); + const response: GetMailboxDetailsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListOrganizationsCommandError = async ( +const deserializeAws_json1_1GetMailboxDetailsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2715,7 +3227,812 @@ const deserializeAws_json1_1ListOrganizationsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "InvalidParameterException": + case "EntityNotFoundException": + case "com.amazonaws.workmail#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1ListAccessControlRulesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListAccessControlRulesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListAccessControlRulesResponse(data, context); + const response: ListAccessControlRulesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListAccessControlRulesCommandError = 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 "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1ListAliasesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListAliasesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListAliasesResponse(data, context); + const response: ListAliasesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListAliasesCommandError = 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.workmail#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityStateException": + case "com.amazonaws.workmail#EntityStateException": + response = { + ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1ListGroupMembersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListGroupMembersCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListGroupMembersResponse(data, context); + const response: ListGroupMembersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListGroupMembersCommandError = 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.workmail#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityStateException": + case "com.amazonaws.workmail#EntityStateException": + response = { + ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1ListGroupsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListGroupsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListGroupsResponse(data, context); + const response: ListGroupsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListGroupsCommandError = 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.workmail#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1ListMailboxExportJobsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListMailboxExportJobsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListMailboxExportJobsResponse(data, context); + const response: ListMailboxExportJobsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListMailboxExportJobsCommandError = 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 "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1ListMailboxPermissionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListMailboxPermissionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListMailboxPermissionsResponse(data, context); + const response: ListMailboxPermissionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListMailboxPermissionsCommandError = 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.workmail#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1ListOrganizationsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListOrganizationsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListOrganizationsResponse(data, context); + const response: ListOrganizationsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListOrganizationsCommandError = 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 "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(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_1ListResourceDelegatesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListResourceDelegatesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListResourceDelegatesResponse(data, context); + const response: ListResourceDelegatesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListResourceDelegatesCommandError = 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.workmail#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityStateException": + case "com.amazonaws.workmail#EntityStateException": + response = { + ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1ListResourcesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListResourcesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListResourcesResponse(data, context); + const response: ListResourcesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListResourcesCommandError = 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 "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(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_1ListTagsForResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListTagsForResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListTagsForResourceResponse(data, context); + const response: ListTagsForResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListTagsForResourceCommandError = 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 "ResourceNotFoundException": + case "com.amazonaws.workmail#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_1ListUsersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListUsersCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListUsersResponse(data, context); + const response: ListUsersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListUsersCommandError = 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 "InvalidParameterException": case "com.amazonaws.workmail#InvalidParameterException": response = { ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), @@ -2723,6 +4040,22 @@ const deserializeAws_json1_1ListOrganizationsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -2740,27 +4073,27 @@ const deserializeAws_json1_1ListOrganizationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListResourceDelegatesCommand = async ( +export const deserializeAws_json1_1PutAccessControlRuleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListResourceDelegatesCommandError(output, context); + return deserializeAws_json1_1PutAccessControlRuleCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListResourceDelegatesResponse(data, context); - const response: ListResourceDelegatesCommandOutput = { + contents = deserializeAws_json1_1PutAccessControlRuleResponse(data, context); + const response: PutAccessControlRuleCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListResourceDelegatesCommandError = async ( +const deserializeAws_json1_1PutAccessControlRuleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2778,18 +4111,18 @@ const deserializeAws_json1_1ListResourceDelegatesCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "EntityStateException": - case "com.amazonaws.workmail#EntityStateException": + case "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": response = { - ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InvalidParameterException": - case "com.amazonaws.workmail#InvalidParameterException": + case "LimitExceededException": + case "com.amazonaws.workmail#LimitExceededException": response = { - ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -2827,27 +4160,27 @@ const deserializeAws_json1_1ListResourceDelegatesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListResourcesCommand = async ( +export const deserializeAws_json1_1PutMailboxPermissionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListResourcesCommandError(output, context); + return deserializeAws_json1_1PutMailboxPermissionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListResourcesResponse(data, context); - const response: ListResourcesCommandOutput = { + contents = deserializeAws_json1_1PutMailboxPermissionsResponse(data, context); + const response: PutMailboxPermissionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListResourcesCommandError = async ( +const deserializeAws_json1_1PutMailboxPermissionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2857,6 +4190,22 @@ const deserializeAws_json1_1ListResourcesCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "EntityNotFoundException": + case "com.amazonaws.workmail#EntityNotFoundException": + response = { + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityStateException": + case "com.amazonaws.workmail#EntityStateException": + response = { + ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidParameterException": case "com.amazonaws.workmail#InvalidParameterException": response = { @@ -2898,27 +4247,27 @@ const deserializeAws_json1_1ListResourcesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ListUsersCommand = async ( +export const deserializeAws_json1_1PutRetentionPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ListUsersCommandError(output, context); + return deserializeAws_json1_1PutRetentionPolicyCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ListUsersResponse(data, context); - const response: ListUsersCommandOutput = { + contents = deserializeAws_json1_1PutRetentionPolicyResponse(data, context); + const response: PutRetentionPolicyCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ListUsersCommandError = async ( +const deserializeAws_json1_1PutRetentionPolicyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2936,6 +4285,14 @@ const deserializeAws_json1_1ListUsersCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "LimitExceededException": + case "com.amazonaws.workmail#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "OrganizationNotFoundException": case "com.amazonaws.workmail#OrganizationNotFoundException": response = { @@ -2969,27 +4326,27 @@ const deserializeAws_json1_1ListUsersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1PutMailboxPermissionsCommand = async ( +export const deserializeAws_json1_1RegisterToWorkMailCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1PutMailboxPermissionsCommandError(output, context); + return deserializeAws_json1_1RegisterToWorkMailCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1PutMailboxPermissionsResponse(data, context); - const response: PutMailboxPermissionsCommandOutput = { + contents = deserializeAws_json1_1RegisterToWorkMailResponse(data, context); + const response: RegisterToWorkMailCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1PutMailboxPermissionsCommandError = async ( +const deserializeAws_json1_1RegisterToWorkMailCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2999,6 +4356,38 @@ const deserializeAws_json1_1PutMailboxPermissionsCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "DirectoryServiceAuthenticationFailedException": + case "com.amazonaws.workmail#DirectoryServiceAuthenticationFailedException": + response = { + ...(await deserializeAws_json1_1DirectoryServiceAuthenticationFailedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DirectoryUnavailableException": + case "com.amazonaws.workmail#DirectoryUnavailableException": + response = { + ...(await deserializeAws_json1_1DirectoryUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EmailAddressInUseException": + case "com.amazonaws.workmail#EmailAddressInUseException": + response = { + ...(await deserializeAws_json1_1EmailAddressInUseExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "EntityAlreadyRegisteredException": + case "com.amazonaws.workmail#EntityAlreadyRegisteredException": + response = { + ...(await deserializeAws_json1_1EntityAlreadyRegisteredExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "EntityNotFoundException": case "com.amazonaws.workmail#EntityNotFoundException": response = { @@ -3023,6 +4412,22 @@ const deserializeAws_json1_1PutMailboxPermissionsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "MailDomainNotFoundException": + case "com.amazonaws.workmail#MailDomainNotFoundException": + response = { + ...(await deserializeAws_json1_1MailDomainNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "MailDomainStateException": + case "com.amazonaws.workmail#MailDomainStateException": + response = { + ...(await deserializeAws_json1_1MailDomainStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "OrganizationNotFoundException": case "com.amazonaws.workmail#OrganizationNotFoundException": response = { @@ -3056,27 +4461,27 @@ const deserializeAws_json1_1PutMailboxPermissionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1RegisterToWorkMailCommand = async ( +export const deserializeAws_json1_1ResetPasswordCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1RegisterToWorkMailCommandError(output, context); + return deserializeAws_json1_1ResetPasswordCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1RegisterToWorkMailResponse(data, context); - const response: RegisterToWorkMailCommandOutput = { + contents = deserializeAws_json1_1ResetPasswordResponse(data, context); + const response: ResetPasswordCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1RegisterToWorkMailCommandError = async ( +const deserializeAws_json1_1ResetPasswordCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3102,22 +4507,109 @@ const deserializeAws_json1_1RegisterToWorkMailCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "EmailAddressInUseException": - case "com.amazonaws.workmail#EmailAddressInUseException": + case "EntityNotFoundException": + case "com.amazonaws.workmail#EntityNotFoundException": response = { - ...(await deserializeAws_json1_1EmailAddressInUseExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "EntityAlreadyRegisteredException": - case "com.amazonaws.workmail#EntityAlreadyRegisteredException": + case "EntityStateException": + case "com.amazonaws.workmail#EntityStateException": response = { - ...(await deserializeAws_json1_1EntityAlreadyRegisteredExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.workmail#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidPasswordException": + case "com.amazonaws.workmail#InvalidPasswordException": + response = { + ...(await deserializeAws_json1_1InvalidPasswordExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationNotFoundException": + case "com.amazonaws.workmail#OrganizationNotFoundException": + response = { + ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": + response = { + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedOperationException": + case "com.amazonaws.workmail#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_1StartMailboxExportJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1StartMailboxExportJobCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1StartMailboxExportJobResponse(data, context); + const response: StartMailboxExportJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1StartMailboxExportJobCommandError = 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.workmail#EntityNotFoundException": response = { @@ -3126,14 +4618,6 @@ const deserializeAws_json1_1RegisterToWorkMailCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "EntityStateException": - case "com.amazonaws.workmail#EntityStateException": - response = { - ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "InvalidParameterException": case "com.amazonaws.workmail#InvalidParameterException": response = { @@ -3142,18 +4626,10 @@ const deserializeAws_json1_1RegisterToWorkMailCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "MailDomainNotFoundException": - case "com.amazonaws.workmail#MailDomainNotFoundException": - response = { - ...(await deserializeAws_json1_1MailDomainNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "MailDomainStateException": - case "com.amazonaws.workmail#MailDomainStateException": + case "LimitExceededException": + case "com.amazonaws.workmail#LimitExceededException": response = { - ...(await deserializeAws_json1_1MailDomainStateExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -3191,27 +4667,27 @@ const deserializeAws_json1_1RegisterToWorkMailCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1ResetPasswordCommand = async ( +export const deserializeAws_json1_1TagResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1ResetPasswordCommandError(output, context); + return deserializeAws_json1_1TagResourceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1ResetPasswordResponse(data, context); - const response: ResetPasswordCommandOutput = { + contents = deserializeAws_json1_1TagResourceResponse(data, context); + const response: TagResourceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1ResetPasswordCommandError = async ( +const deserializeAws_json1_1TagResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -3221,74 +4697,81 @@ const deserializeAws_json1_1ResetPasswordCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { - case "DirectoryServiceAuthenticationFailedException": - case "com.amazonaws.workmail#DirectoryServiceAuthenticationFailedException": - response = { - ...(await deserializeAws_json1_1DirectoryServiceAuthenticationFailedExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "DirectoryUnavailableException": - case "com.amazonaws.workmail#DirectoryUnavailableException": - response = { - ...(await deserializeAws_json1_1DirectoryUnavailableExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "EntityNotFoundException": - case "com.amazonaws.workmail#EntityNotFoundException": - response = { - ...(await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "EntityStateException": - case "com.amazonaws.workmail#EntityStateException": - response = { - ...(await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; - case "InvalidParameterException": - case "com.amazonaws.workmail#InvalidParameterException": + case "OrganizationStateException": + case "com.amazonaws.workmail#OrganizationStateException": response = { - ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "InvalidPasswordException": - case "com.amazonaws.workmail#InvalidPasswordException": + case "ResourceNotFoundException": + case "com.amazonaws.workmail#ResourceNotFoundException": response = { - ...(await deserializeAws_json1_1InvalidPasswordExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "OrganizationNotFoundException": - case "com.amazonaws.workmail#OrganizationNotFoundException": + case "TooManyTagsException": + case "com.amazonaws.workmail#TooManyTagsException": response = { - ...(await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1TooManyTagsExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; break; - case "OrganizationStateException": - case "com.amazonaws.workmail#OrganizationStateException": + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; response = { - ...(await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context)), - name: errorCode, + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", $metadata: deserializeMetadata(output), - }; - break; - case "UnsupportedOperationException": - case "com.amazonaws.workmail#UnsupportedOperationException": + } 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_1UntagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UntagResourceCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UntagResourceResponse(data, context); + const response: UntagResourceCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UntagResourceCommandError = 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 "ResourceNotFoundException": + case "com.amazonaws.workmail#ResourceNotFoundException": response = { - ...(await deserializeAws_json1_1UnsupportedOperationExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -3659,6 +5142,21 @@ const deserializeAws_json1_1UpdateResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +const deserializeAws_json1_1DirectoryInUseExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1DirectoryInUseException(body, context); + const contents: DirectoryInUseException = { + name: "DirectoryInUseException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1DirectoryServiceAuthenticationFailedExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -3794,6 +5292,21 @@ const deserializeAws_json1_1InvalidPasswordExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1LimitExceededExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1LimitExceededException(body, context); + const contents: LimitExceededException = { + name: "LimitExceededException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1MailDomainNotFoundExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -3884,6 +5397,36 @@ const deserializeAws_json1_1ReservedNameExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1ResourceNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1ResourceNotFoundException(body, context); + const contents: ResourceNotFoundException = { + name: "ResourceNotFoundException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_json1_1TooManyTagsExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1TooManyTagsException(body, context); + const contents: TooManyTagsException = { + name: "TooManyTagsException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1UnsupportedOperationExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -3899,6 +5442,10 @@ const deserializeAws_json1_1UnsupportedOperationExceptionResponse = async ( return contents; }; +const serializeAws_json1_1ActionsList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + const serializeAws_json1_1AssociateDelegateToResourceRequest = ( input: AssociateDelegateToResourceRequest, context: __SerdeContext @@ -3933,6 +5480,17 @@ const serializeAws_json1_1BookingOptions = (input: BookingOptions, context: __Se }; }; +const serializeAws_json1_1CancelMailboxExportJobRequest = ( + input: CancelMailboxExportJobRequest, + context: __SerdeContext +): any => { + return { + ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.JobId !== undefined && { JobId: input.JobId }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + }; +}; + const serializeAws_json1_1CreateAliasRequest = (input: CreateAliasRequest, context: __SerdeContext): any => { return { ...(input.Alias !== undefined && { Alias: input.Alias }), @@ -3948,6 +5506,20 @@ const serializeAws_json1_1CreateGroupRequest = (input: CreateGroupRequest, conte }; }; +const serializeAws_json1_1CreateOrganizationRequest = ( + input: CreateOrganizationRequest, + context: __SerdeContext +): any => { + return { + ...(input.Alias !== undefined && { Alias: input.Alias }), + ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.DirectoryId !== undefined && { DirectoryId: input.DirectoryId }), + ...(input.Domains !== undefined && { Domains: serializeAws_json1_1Domains(input.Domains, context) }), + ...(input.EnableInteroperability !== undefined && { EnableInteroperability: input.EnableInteroperability }), + ...(input.KmsKeyArn !== undefined && { KmsKeyArn: input.KmsKeyArn }), + }; +}; + const serializeAws_json1_1CreateResourceRequest = (input: CreateResourceRequest, context: __SerdeContext): any => { return { ...(input.Name !== undefined && { Name: input.Name }), @@ -3965,6 +5537,16 @@ const serializeAws_json1_1CreateUserRequest = (input: CreateUserRequest, context }; }; +const serializeAws_json1_1DeleteAccessControlRuleRequest = ( + input: DeleteAccessControlRuleRequest, + context: __SerdeContext +): any => { + return { + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + }; +}; + const serializeAws_json1_1DeleteAliasRequest = (input: DeleteAliasRequest, context: __SerdeContext): any => { return { ...(input.Alias !== undefined && { Alias: input.Alias }), @@ -3991,6 +5573,17 @@ const serializeAws_json1_1DeleteMailboxPermissionsRequest = ( }; }; +const serializeAws_json1_1DeleteOrganizationRequest = ( + input: DeleteOrganizationRequest, + context: __SerdeContext +): any => { + return { + ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.DeleteDirectory !== undefined && { DeleteDirectory: input.DeleteDirectory }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + }; +}; + const serializeAws_json1_1DeleteResourceRequest = (input: DeleteResourceRequest, context: __SerdeContext): any => { return { ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), @@ -3998,6 +5591,16 @@ const serializeAws_json1_1DeleteResourceRequest = (input: DeleteResourceRequest, }; }; +const serializeAws_json1_1DeleteRetentionPolicyRequest = ( + input: DeleteRetentionPolicyRequest, + context: __SerdeContext +): any => { + return { + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + }; +}; + const serializeAws_json1_1DeleteUserRequest = (input: DeleteUserRequest, context: __SerdeContext): any => { return { ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), @@ -4022,6 +5625,16 @@ const serializeAws_json1_1DescribeGroupRequest = (input: DescribeGroupRequest, c }; }; +const serializeAws_json1_1DescribeMailboxExportJobRequest = ( + input: DescribeMailboxExportJobRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobId !== undefined && { JobId: input.JobId }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + }; +}; + const serializeAws_json1_1DescribeOrganizationRequest = ( input: DescribeOrganizationRequest, context: __SerdeContext @@ -4045,35 +5658,92 @@ const serializeAws_json1_1DescribeUserRequest = (input: DescribeUserRequest, con }; }; -const serializeAws_json1_1DisassociateDelegateFromResourceRequest = ( - input: DisassociateDelegateFromResourceRequest, +const serializeAws_json1_1DisassociateDelegateFromResourceRequest = ( + input: DisassociateDelegateFromResourceRequest, + context: __SerdeContext +): any => { + return { + ...(input.EntityId !== undefined && { EntityId: input.EntityId }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + ...(input.ResourceId !== undefined && { ResourceId: input.ResourceId }), + }; +}; + +const serializeAws_json1_1DisassociateMemberFromGroupRequest = ( + input: DisassociateMemberFromGroupRequest, + context: __SerdeContext +): any => { + return { + ...(input.GroupId !== undefined && { GroupId: input.GroupId }), + ...(input.MemberId !== undefined && { MemberId: input.MemberId }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + }; +}; + +const serializeAws_json1_1Domain = (input: Domain, context: __SerdeContext): any => { + return { + ...(input.DomainName !== undefined && { DomainName: input.DomainName }), + ...(input.HostedZoneId !== undefined && { HostedZoneId: input.HostedZoneId }), + }; +}; + +const serializeAws_json1_1Domains = (input: Domain[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1Domain(entry, context)); +}; + +const serializeAws_json1_1FolderConfiguration = (input: FolderConfiguration, context: __SerdeContext): any => { + return { + ...(input.Action !== undefined && { Action: input.Action }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.Period !== undefined && { Period: input.Period }), + }; +}; + +const serializeAws_json1_1FolderConfigurations = (input: FolderConfiguration[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1FolderConfiguration(entry, context)); +}; + +const serializeAws_json1_1GetAccessControlEffectRequest = ( + input: GetAccessControlEffectRequest, + context: __SerdeContext +): any => { + return { + ...(input.Action !== undefined && { Action: input.Action }), + ...(input.IpAddress !== undefined && { IpAddress: input.IpAddress }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + ...(input.UserId !== undefined && { UserId: input.UserId }), + }; +}; + +const serializeAws_json1_1GetDefaultRetentionPolicyRequest = ( + input: GetDefaultRetentionPolicyRequest, context: __SerdeContext ): any => { return { - ...(input.EntityId !== undefined && { EntityId: input.EntityId }), ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), - ...(input.ResourceId !== undefined && { ResourceId: input.ResourceId }), }; }; -const serializeAws_json1_1DisassociateMemberFromGroupRequest = ( - input: DisassociateMemberFromGroupRequest, +const serializeAws_json1_1GetMailboxDetailsRequest = ( + input: GetMailboxDetailsRequest, context: __SerdeContext ): any => { return { - ...(input.GroupId !== undefined && { GroupId: input.GroupId }), - ...(input.MemberId !== undefined && { MemberId: input.MemberId }), ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + ...(input.UserId !== undefined && { UserId: input.UserId }), }; }; -const serializeAws_json1_1GetMailboxDetailsRequest = ( - input: GetMailboxDetailsRequest, +const serializeAws_json1_1IpRangeList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_1ListAccessControlRulesRequest = ( + input: ListAccessControlRulesRequest, context: __SerdeContext ): any => { return { ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), - ...(input.UserId !== undefined && { UserId: input.UserId }), }; }; @@ -4103,6 +5773,17 @@ const serializeAws_json1_1ListGroupsRequest = (input: ListGroupsRequest, context }; }; +const serializeAws_json1_1ListMailboxExportJobsRequest = ( + input: ListMailboxExportJobsRequest, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + }; +}; + const serializeAws_json1_1ListMailboxPermissionsRequest = ( input: ListMailboxPermissionsRequest, context: __SerdeContext @@ -4145,6 +5826,15 @@ const serializeAws_json1_1ListResourcesRequest = (input: ListResourcesRequest, c }; }; +const serializeAws_json1_1ListTagsForResourceRequest = ( + input: ListTagsForResourceRequest, + context: __SerdeContext +): any => { + return { + ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), + }; +}; + const serializeAws_json1_1ListUsersRequest = (input: ListUsersRequest, context: __SerdeContext): any => { return { ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), @@ -4157,6 +5847,26 @@ const serializeAws_json1_1PermissionValues = (input: (PermissionType | string)[] return input.map((entry) => entry); }; +const serializeAws_json1_1PutAccessControlRuleRequest = ( + input: PutAccessControlRuleRequest, + context: __SerdeContext +): any => { + return { + ...(input.Actions !== undefined && { Actions: serializeAws_json1_1ActionsList(input.Actions, context) }), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.Effect !== undefined && { Effect: input.Effect }), + ...(input.IpRanges !== undefined && { IpRanges: serializeAws_json1_1IpRangeList(input.IpRanges, context) }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.NotActions !== undefined && { NotActions: serializeAws_json1_1ActionsList(input.NotActions, context) }), + ...(input.NotIpRanges !== undefined && { + NotIpRanges: serializeAws_json1_1IpRangeList(input.NotIpRanges, context), + }), + ...(input.NotUserIds !== undefined && { NotUserIds: serializeAws_json1_1UserIdList(input.NotUserIds, context) }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + ...(input.UserIds !== undefined && { UserIds: serializeAws_json1_1UserIdList(input.UserIds, context) }), + }; +}; + const serializeAws_json1_1PutMailboxPermissionsRequest = ( input: PutMailboxPermissionsRequest, context: __SerdeContext @@ -4171,6 +5881,21 @@ const serializeAws_json1_1PutMailboxPermissionsRequest = ( }; }; +const serializeAws_json1_1PutRetentionPolicyRequest = ( + input: PutRetentionPolicyRequest, + context: __SerdeContext +): any => { + return { + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.FolderConfigurations !== undefined && { + FolderConfigurations: serializeAws_json1_1FolderConfigurations(input.FolderConfigurations, context), + }), + ...(input.Id !== undefined && { Id: input.Id }), + ...(input.Name !== undefined && { Name: input.Name }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + }; +}; + const serializeAws_json1_1RegisterToWorkMailRequest = ( input: RegisterToWorkMailRequest, context: __SerdeContext @@ -4190,6 +5915,51 @@ const serializeAws_json1_1ResetPasswordRequest = (input: ResetPasswordRequest, c }; }; +const serializeAws_json1_1StartMailboxExportJobRequest = ( + input: StartMailboxExportJobRequest, + context: __SerdeContext +): any => { + return { + ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.Description !== undefined && { Description: input.Description }), + ...(input.EntityId !== undefined && { EntityId: input.EntityId }), + ...(input.KmsKeyArn !== undefined && { KmsKeyArn: input.KmsKeyArn }), + ...(input.OrganizationId !== undefined && { OrganizationId: input.OrganizationId }), + ...(input.RoleArn !== undefined && { RoleArn: input.RoleArn }), + ...(input.S3BucketName !== undefined && { S3BucketName: input.S3BucketName }), + ...(input.S3Prefix !== undefined && { S3Prefix: input.S3Prefix }), + }; +}; + +const serializeAws_json1_1Tag = (input: Tag, context: __SerdeContext): any => { + return { + ...(input.Key !== undefined && { Key: input.Key }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_json1_1TagKeyList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_1TagList = (input: Tag[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_json1_1Tag(entry, context)); +}; + +const serializeAws_json1_1TagResourceRequest = (input: TagResourceRequest, context: __SerdeContext): any => { + return { + ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + +const serializeAws_json1_1UntagResourceRequest = (input: UntagResourceRequest, context: __SerdeContext): any => { + return { + ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), + ...(input.TagKeys !== undefined && { TagKeys: serializeAws_json1_1TagKeyList(input.TagKeys, context) }), + }; +}; + const serializeAws_json1_1UpdateMailboxQuotaRequest = ( input: UpdateMailboxQuotaRequest, context: __SerdeContext @@ -4223,6 +5993,62 @@ const serializeAws_json1_1UpdateResourceRequest = (input: UpdateResourceRequest, }; }; +const serializeAws_json1_1UserIdList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const deserializeAws_json1_1AccessControlRule = (output: any, context: __SerdeContext): AccessControlRule => { + return { + Actions: + output.Actions !== undefined && output.Actions !== null + ? deserializeAws_json1_1ActionsList(output.Actions, context) + : undefined, + DateCreated: + output.DateCreated !== undefined && output.DateCreated !== null + ? new Date(Math.round(output.DateCreated * 1000)) + : undefined, + DateModified: + output.DateModified !== undefined && output.DateModified !== null + ? new Date(Math.round(output.DateModified * 1000)) + : undefined, + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + Effect: output.Effect !== undefined && output.Effect !== null ? output.Effect : undefined, + IpRanges: + output.IpRanges !== undefined && output.IpRanges !== null + ? deserializeAws_json1_1IpRangeList(output.IpRanges, context) + : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + NotActions: + output.NotActions !== undefined && output.NotActions !== null + ? deserializeAws_json1_1ActionsList(output.NotActions, context) + : undefined, + NotIpRanges: + output.NotIpRanges !== undefined && output.NotIpRanges !== null + ? deserializeAws_json1_1IpRangeList(output.NotIpRanges, context) + : undefined, + NotUserIds: + output.NotUserIds !== undefined && output.NotUserIds !== null + ? deserializeAws_json1_1UserIdList(output.NotUserIds, context) + : undefined, + UserIds: + output.UserIds !== undefined && output.UserIds !== null + ? deserializeAws_json1_1UserIdList(output.UserIds, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1AccessControlRuleNameList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1AccessControlRulesList = (output: any, context: __SerdeContext): AccessControlRule[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1AccessControlRule(entry, context)); +}; + +const deserializeAws_json1_1ActionsList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1Aliases = (output: any, context: __SerdeContext): string[] => { return (output || []).map((entry: any) => entry); }; @@ -4258,6 +6084,13 @@ const deserializeAws_json1_1BookingOptions = (output: any, context: __SerdeConte } as any; }; +const deserializeAws_json1_1CancelMailboxExportJobResponse = ( + output: any, + context: __SerdeContext +): CancelMailboxExportJobResponse => { + return {} as any; +}; + const deserializeAws_json1_1CreateAliasResponse = (output: any, context: __SerdeContext): CreateAliasResponse => { return {} as any; }; @@ -4268,6 +6101,16 @@ const deserializeAws_json1_1CreateGroupResponse = (output: any, context: __Serde } as any; }; +const deserializeAws_json1_1CreateOrganizationResponse = ( + output: any, + context: __SerdeContext +): CreateOrganizationResponse => { + return { + OrganizationId: + output.OrganizationId !== undefined && output.OrganizationId !== null ? output.OrganizationId : undefined, + } as any; +}; + const deserializeAws_json1_1CreateResourceResponse = (output: any, context: __SerdeContext): CreateResourceResponse => { return { ResourceId: output.ResourceId !== undefined && output.ResourceId !== null ? output.ResourceId : undefined, @@ -4287,6 +6130,13 @@ const deserializeAws_json1_1Delegate = (output: any, context: __SerdeContext): D } as any; }; +const deserializeAws_json1_1DeleteAccessControlRuleResponse = ( + output: any, + context: __SerdeContext +): DeleteAccessControlRuleResponse => { + return {} as any; +}; + const deserializeAws_json1_1DeleteAliasResponse = (output: any, context: __SerdeContext): DeleteAliasResponse => { return {} as any; }; @@ -4302,10 +6152,28 @@ const deserializeAws_json1_1DeleteMailboxPermissionsResponse = ( return {} as any; }; +const deserializeAws_json1_1DeleteOrganizationResponse = ( + output: any, + context: __SerdeContext +): DeleteOrganizationResponse => { + return { + OrganizationId: + output.OrganizationId !== undefined && output.OrganizationId !== null ? output.OrganizationId : undefined, + State: output.State !== undefined && output.State !== null ? output.State : undefined, + } as any; +}; + const deserializeAws_json1_1DeleteResourceResponse = (output: any, context: __SerdeContext): DeleteResourceResponse => { return {} as any; }; +const deserializeAws_json1_1DeleteRetentionPolicyResponse = ( + output: any, + context: __SerdeContext +): DeleteRetentionPolicyResponse => { + return {} as any; +}; + const deserializeAws_json1_1DeleteUserResponse = (output: any, context: __SerdeContext): DeleteUserResponse => { return {} as any; }; @@ -4334,11 +6202,39 @@ const deserializeAws_json1_1DescribeGroupResponse = (output: any, context: __Ser } as any; }; +const deserializeAws_json1_1DescribeMailboxExportJobResponse = ( + output: any, + context: __SerdeContext +): DescribeMailboxExportJobResponse => { + return { + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + EndTime: + output.EndTime !== undefined && output.EndTime !== null ? new Date(Math.round(output.EndTime * 1000)) : undefined, + EntityId: output.EntityId !== undefined && output.EntityId !== null ? output.EntityId : undefined, + ErrorInfo: output.ErrorInfo !== undefined && output.ErrorInfo !== null ? output.ErrorInfo : undefined, + EstimatedProgress: + output.EstimatedProgress !== undefined && output.EstimatedProgress !== null + ? output.EstimatedProgress + : undefined, + KmsKeyArn: output.KmsKeyArn !== undefined && output.KmsKeyArn !== null ? output.KmsKeyArn : undefined, + RoleArn: output.RoleArn !== undefined && output.RoleArn !== null ? output.RoleArn : undefined, + S3BucketName: output.S3BucketName !== undefined && output.S3BucketName !== null ? output.S3BucketName : undefined, + S3Path: output.S3Path !== undefined && output.S3Path !== null ? output.S3Path : undefined, + S3Prefix: output.S3Prefix !== undefined && output.S3Prefix !== null ? output.S3Prefix : undefined, + StartTime: + output.StartTime !== undefined && output.StartTime !== null + ? new Date(Math.round(output.StartTime * 1000)) + : undefined, + State: output.State !== undefined && output.State !== null ? output.State : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeOrganizationResponse = ( output: any, context: __SerdeContext ): DescribeOrganizationResponse => { return { + ARN: output.ARN !== undefined && output.ARN !== null ? output.ARN : undefined, Alias: output.Alias !== undefined && output.Alias !== null ? output.Alias : undefined, CompletedDate: output.CompletedDate !== undefined && output.CompletedDate !== null @@ -4402,6 +6298,15 @@ const deserializeAws_json1_1DescribeUserResponse = (output: any, context: __Serd } as any; }; +const deserializeAws_json1_1DirectoryInUseException = ( + output: any, + context: __SerdeContext +): DirectoryInUseException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1DirectoryServiceAuthenticationFailedException = ( output: any, context: __SerdeContext @@ -4467,6 +6372,46 @@ const deserializeAws_json1_1EntityStateException = (output: any, context: __Serd } as any; }; +const deserializeAws_json1_1FolderConfiguration = (output: any, context: __SerdeContext): FolderConfiguration => { + return { + Action: output.Action !== undefined && output.Action !== null ? output.Action : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + Period: output.Period !== undefined && output.Period !== null ? output.Period : undefined, + } as any; +}; + +const deserializeAws_json1_1FolderConfigurations = (output: any, context: __SerdeContext): FolderConfiguration[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1FolderConfiguration(entry, context)); +}; + +const deserializeAws_json1_1GetAccessControlEffectResponse = ( + output: any, + context: __SerdeContext +): GetAccessControlEffectResponse => { + return { + Effect: output.Effect !== undefined && output.Effect !== null ? output.Effect : undefined, + MatchedRules: + output.MatchedRules !== undefined && output.MatchedRules !== null + ? deserializeAws_json1_1AccessControlRuleNameList(output.MatchedRules, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1GetDefaultRetentionPolicyResponse = ( + output: any, + context: __SerdeContext +): GetDefaultRetentionPolicyResponse => { + return { + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + FolderConfigurations: + output.FolderConfigurations !== undefined && output.FolderConfigurations !== null + ? deserializeAws_json1_1FolderConfigurations(output.FolderConfigurations, context) + : undefined, + Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + Name: output.Name !== undefined && output.Name !== null ? output.Name : undefined, + } as any; +}; + const deserializeAws_json1_1GetMailboxDetailsResponse = ( output: any, context: __SerdeContext @@ -4525,6 +6470,32 @@ const deserializeAws_json1_1InvalidPasswordException = ( } as any; }; +const deserializeAws_json1_1IpRangeList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + +const deserializeAws_json1_1Jobs = (output: any, context: __SerdeContext): MailboxExportJob[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1MailboxExportJob(entry, context)); +}; + +const deserializeAws_json1_1LimitExceededException = (output: any, context: __SerdeContext): LimitExceededException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + +const deserializeAws_json1_1ListAccessControlRulesResponse = ( + output: any, + context: __SerdeContext +): ListAccessControlRulesResponse => { + return { + Rules: + output.Rules !== undefined && output.Rules !== null + ? deserializeAws_json1_1AccessControlRulesList(output.Rules, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListAliasesResponse = (output: any, context: __SerdeContext): ListAliasesResponse => { return { Aliases: @@ -4558,6 +6529,17 @@ const deserializeAws_json1_1ListGroupsResponse = (output: any, context: __SerdeC } as any; }; +const deserializeAws_json1_1ListMailboxExportJobsResponse = ( + output: any, + context: __SerdeContext +): ListMailboxExportJobsResponse => { + return { + Jobs: + output.Jobs !== undefined && output.Jobs !== null ? deserializeAws_json1_1Jobs(output.Jobs, context) : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + const deserializeAws_json1_1ListMailboxPermissionsResponse = ( output: any, context: __SerdeContext @@ -4607,6 +6589,18 @@ const deserializeAws_json1_1ListResourcesResponse = (output: any, context: __Ser } as any; }; +const deserializeAws_json1_1ListTagsForResourceResponse = ( + output: any, + context: __SerdeContext +): ListTagsForResourceResponse => { + return { + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_json1_1TagList(output.Tags, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListUsersResponse = (output: any, context: __SerdeContext): ListUsersResponse => { return { NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, @@ -4617,6 +6611,27 @@ const deserializeAws_json1_1ListUsersResponse = (output: any, context: __SerdeCo } as any; }; +const deserializeAws_json1_1MailboxExportJob = (output: any, context: __SerdeContext): MailboxExportJob => { + return { + Description: output.Description !== undefined && output.Description !== null ? output.Description : undefined, + EndTime: + output.EndTime !== undefined && output.EndTime !== null ? new Date(Math.round(output.EndTime * 1000)) : undefined, + EntityId: output.EntityId !== undefined && output.EntityId !== null ? output.EntityId : undefined, + EstimatedProgress: + output.EstimatedProgress !== undefined && output.EstimatedProgress !== null + ? output.EstimatedProgress + : undefined, + JobId: output.JobId !== undefined && output.JobId !== null ? output.JobId : undefined, + S3BucketName: output.S3BucketName !== undefined && output.S3BucketName !== null ? output.S3BucketName : undefined, + S3Path: output.S3Path !== undefined && output.S3Path !== null ? output.S3Path : undefined, + StartTime: + output.StartTime !== undefined && output.StartTime !== null + ? new Date(Math.round(output.StartTime * 1000)) + : undefined, + State: output.State !== undefined && output.State !== null ? output.State : undefined, + } as any; +}; + const deserializeAws_json1_1MailDomainNotFoundException = ( output: any, context: __SerdeContext @@ -4690,6 +6705,10 @@ const deserializeAws_json1_1OrganizationSummaries = (output: any, context: __Ser const deserializeAws_json1_1OrganizationSummary = (output: any, context: __SerdeContext): OrganizationSummary => { return { Alias: output.Alias !== undefined && output.Alias !== null ? output.Alias : undefined, + DefaultMailDomain: + output.DefaultMailDomain !== undefined && output.DefaultMailDomain !== null + ? output.DefaultMailDomain + : undefined, ErrorMessage: output.ErrorMessage !== undefined && output.ErrorMessage !== null ? output.ErrorMessage : undefined, OrganizationId: output.OrganizationId !== undefined && output.OrganizationId !== null ? output.OrganizationId : undefined, @@ -4716,6 +6735,13 @@ const deserializeAws_json1_1PermissionValues = (output: any, context: __SerdeCon return (output || []).map((entry: any) => entry); }; +const deserializeAws_json1_1PutAccessControlRuleResponse = ( + output: any, + context: __SerdeContext +): PutAccessControlRuleResponse => { + return {} as any; +}; + const deserializeAws_json1_1PutMailboxPermissionsResponse = ( output: any, context: __SerdeContext @@ -4723,6 +6749,13 @@ const deserializeAws_json1_1PutMailboxPermissionsResponse = ( return {} as any; }; +const deserializeAws_json1_1PutRetentionPolicyResponse = ( + output: any, + context: __SerdeContext +): PutRetentionPolicyResponse => { + return {} as any; +}; + const deserializeAws_json1_1RegisterToWorkMailResponse = ( output: any, context: __SerdeContext @@ -4762,10 +6795,49 @@ const deserializeAws_json1_1ResourceDelegates = (output: any, context: __SerdeCo return (output || []).map((entry: any) => deserializeAws_json1_1Delegate(entry, context)); }; +const deserializeAws_json1_1ResourceNotFoundException = ( + output: any, + context: __SerdeContext +): ResourceNotFoundException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1Resources = (output: any, context: __SerdeContext): Resource[] => { return (output || []).map((entry: any) => deserializeAws_json1_1Resource(entry, context)); }; +const deserializeAws_json1_1StartMailboxExportJobResponse = ( + output: any, + context: __SerdeContext +): StartMailboxExportJobResponse => { + return { + JobId: output.JobId !== undefined && output.JobId !== null ? output.JobId : undefined, + } as any; +}; + +const deserializeAws_json1_1Tag = (output: any, context: __SerdeContext): Tag => { + return { + Key: output.Key !== undefined && output.Key !== null ? output.Key : undefined, + Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined, + } as any; +}; + +const deserializeAws_json1_1TagList = (output: any, context: __SerdeContext): Tag[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1Tag(entry, context)); +}; + +const deserializeAws_json1_1TagResourceResponse = (output: any, context: __SerdeContext): TagResourceResponse => { + return {} as any; +}; + +const deserializeAws_json1_1TooManyTagsException = (output: any, context: __SerdeContext): TooManyTagsException => { + return { + Message: output.Message !== undefined && output.Message !== null ? output.Message : undefined, + } as any; +}; + const deserializeAws_json1_1UnsupportedOperationException = ( output: any, context: __SerdeContext @@ -4775,6 +6847,10 @@ const deserializeAws_json1_1UnsupportedOperationException = ( } as any; }; +const deserializeAws_json1_1UntagResourceResponse = (output: any, context: __SerdeContext): UntagResourceResponse => { + return {} as any; +}; + const deserializeAws_json1_1UpdateMailboxQuotaResponse = ( output: any, context: __SerdeContext @@ -4812,6 +6888,10 @@ const deserializeAws_json1_1User = (output: any, context: __SerdeContext): User } as any; }; +const deserializeAws_json1_1UserIdList = (output: any, context: __SerdeContext): string[] => { + return (output || []).map((entry: any) => entry); +}; + const deserializeAws_json1_1Users = (output: any, context: __SerdeContext): User[] => { return (output || []).map((entry: any) => deserializeAws_json1_1User(entry, context)); }; diff --git a/clients/client-workspaces/WorkSpaces.ts b/clients/client-workspaces/WorkSpaces.ts index 7b10f9111c1a..95dec0854c45 100644 --- a/clients/client-workspaces/WorkSpaces.ts +++ b/clients/client-workspaces/WorkSpaces.ts @@ -1,4 +1,9 @@ import { WorkSpacesClient } from "./WorkSpacesClient"; +import { + AssociateConnectionAliasCommand, + AssociateConnectionAliasCommandInput, + AssociateConnectionAliasCommandOutput, +} from "./commands/AssociateConnectionAliasCommand"; import { AssociateIpGroupsCommand, AssociateIpGroupsCommandInput, @@ -14,6 +19,11 @@ import { CopyWorkspaceImageCommandInput, CopyWorkspaceImageCommandOutput, } from "./commands/CopyWorkspaceImageCommand"; +import { + CreateConnectionAliasCommand, + CreateConnectionAliasCommandInput, + CreateConnectionAliasCommandOutput, +} from "./commands/CreateConnectionAliasCommand"; import { CreateIpGroupCommand, CreateIpGroupCommandInput, @@ -25,6 +35,11 @@ import { CreateWorkspacesCommandInput, CreateWorkspacesCommandOutput, } from "./commands/CreateWorkspacesCommand"; +import { + DeleteConnectionAliasCommand, + DeleteConnectionAliasCommandInput, + DeleteConnectionAliasCommandOutput, +} from "./commands/DeleteConnectionAliasCommand"; import { DeleteIpGroupCommand, DeleteIpGroupCommandInput, @@ -56,6 +71,16 @@ import { DescribeClientPropertiesCommandInput, DescribeClientPropertiesCommandOutput, } from "./commands/DescribeClientPropertiesCommand"; +import { + DescribeConnectionAliasPermissionsCommand, + DescribeConnectionAliasPermissionsCommandInput, + DescribeConnectionAliasPermissionsCommandOutput, +} from "./commands/DescribeConnectionAliasPermissionsCommand"; +import { + DescribeConnectionAliasesCommand, + DescribeConnectionAliasesCommandInput, + DescribeConnectionAliasesCommandOutput, +} from "./commands/DescribeConnectionAliasesCommand"; import { DescribeIpGroupsCommand, DescribeIpGroupsCommandInput, @@ -101,6 +126,11 @@ import { DescribeWorkspacesConnectionStatusCommandInput, DescribeWorkspacesConnectionStatusCommandOutput, } from "./commands/DescribeWorkspacesConnectionStatusCommand"; +import { + DisassociateConnectionAliasCommand, + DisassociateConnectionAliasCommandInput, + DisassociateConnectionAliasCommandOutput, +} from "./commands/DisassociateConnectionAliasCommand"; import { DisassociateIpGroupsCommand, DisassociateIpGroupsCommandInput, @@ -196,6 +226,11 @@ import { TerminateWorkspacesCommandInput, TerminateWorkspacesCommandOutput, } from "./commands/TerminateWorkspacesCommand"; +import { + UpdateConnectionAliasPermissionCommand, + UpdateConnectionAliasPermissionCommandInput, + UpdateConnectionAliasPermissionCommandOutput, +} from "./commands/UpdateConnectionAliasPermissionCommand"; import { UpdateRulesOfIpGroupCommand, UpdateRulesOfIpGroupCommandInput, @@ -214,6 +249,45 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * Amazon Linux desktops for your users.

                                                                                          */ export class WorkSpaces extends WorkSpacesClient { + /** + *

                                                                                          Associates the specified connection alias with the specified directory to enable cross-Region redirection. + * For more information, see + * Cross-Region Redirection for Amazon WorkSpaces.

                                                                                          + * + * + *

                                                                                          Before performing this operation, call + * DescribeConnectionAliases to make sure that the current state of the connection alias is CREATED.

                                                                                          + *
                                                                                          + */ + public associateConnectionAlias( + args: AssociateConnectionAliasCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public associateConnectionAlias( + args: AssociateConnectionAliasCommandInput, + cb: (err: any, data?: AssociateConnectionAliasCommandOutput) => void + ): void; + public associateConnectionAlias( + args: AssociateConnectionAliasCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateConnectionAliasCommandOutput) => void + ): void; + public associateConnectionAlias( + args: AssociateConnectionAliasCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociateConnectionAliasCommandOutput) => void), + cb?: (err: any, data?: AssociateConnectionAliasCommandOutput) => void + ): Promise | void { + const command = new AssociateConnectionAliasCommand(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 the specified IP access control group with the specified directory.

                                                                                          */ @@ -281,7 +355,16 @@ export class WorkSpaces extends WorkSpacesClient { } /** - *

                                                                                          Copies the specified image from the specified Region to the current Region.

                                                                                          + *

                                                                                          Copies the specified image from the specified Region to the current Region. + * For more information about copying images, see + * + * Copy a Custom WorkSpaces Image.

                                                                                          + * + * + *

                                                                                          Before copying a shared image, be sure to verify that it has been shared from the + * correct AWS account. To determine if an image has been shared and to see the AWS + * account ID that owns an image, use the DescribeWorkSpaceImages and DescribeWorkspaceImagePermissions API operations.

                                                                                          + *
                                                                                          */ public copyWorkspaceImage( args: CopyWorkspaceImageCommandInput, @@ -312,6 +395,40 @@ export class WorkSpaces extends WorkSpacesClient { } } + /** + *

                                                                                          Creates the specified connection alias for use with cross-Region redirection. For more information, see + * + * Cross-Region Redirection for Amazon WorkSpaces.

                                                                                          + */ + public createConnectionAlias( + args: CreateConnectionAliasCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createConnectionAlias( + args: CreateConnectionAliasCommandInput, + cb: (err: any, data?: CreateConnectionAliasCommandOutput) => void + ): void; + public createConnectionAlias( + args: CreateConnectionAliasCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateConnectionAliasCommandOutput) => void + ): void; + public createConnectionAlias( + args: CreateConnectionAliasCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateConnectionAliasCommandOutput) => void), + cb?: (err: any, data?: CreateConnectionAliasCommandOutput) => void + ): Promise | void { + const command = new CreateConnectionAliasCommand(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 IP access control group.

                                                                                          *

                                                                                          An IP access control group provides you with the ability to control the IP addresses @@ -412,6 +529,55 @@ export class WorkSpaces extends WorkSpacesClient { } } + /** + *

                                                                                          Deletes the specified connection alias. For more information, see + * Cross-Region Redirection for Amazon WorkSpaces.

                                                                                          + * + * + *

                                                                                          + * If you will no longer be using a fully qualified domain name (FQDN) as the registration code + * for your WorkSpaces users, you must take certain precautions to prevent potential security issues. + * For more information, see + * + * Security Considerations if You Stop Using Cross-Region Redirection.

                                                                                          + *
                                                                                          + * + * + *

                                                                                          To delete a connection alias that has been shared, the shared account must first disassociate the connection alias + * from any directories it has been associated with. Then you must unshare the connection alias from the account it has + * been shared with. You can delete a connection alias only after it is no longer shared with any accounts or + * associated with any directories.

                                                                                          + *
                                                                                          + */ + public deleteConnectionAlias( + args: DeleteConnectionAliasCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteConnectionAlias( + args: DeleteConnectionAliasCommandInput, + cb: (err: any, data?: DeleteConnectionAliasCommandOutput) => void + ): void; + public deleteConnectionAlias( + args: DeleteConnectionAliasCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteConnectionAliasCommandOutput) => void + ): void; + public deleteConnectionAlias( + args: DeleteConnectionAliasCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteConnectionAliasCommandOutput) => void), + cb?: (err: any, data?: DeleteConnectionAliasCommandOutput) => void + ): Promise | void { + const command = new DeleteConnectionAliasCommand(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 IP access control group.

                                                                                          *

                                                                                          You cannot delete an IP access control group that is associated with a directory.

                                                                                          @@ -637,6 +803,74 @@ export class WorkSpaces extends WorkSpacesClient { } } + /** + *

                                                                                          Retrieves a list that describes the connection aliases used for cross-Region redirection. For more information, see + * + * Cross-Region Redirection for Amazon WorkSpaces.

                                                                                          + */ + public describeConnectionAliases( + args: DescribeConnectionAliasesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeConnectionAliases( + args: DescribeConnectionAliasesCommandInput, + cb: (err: any, data?: DescribeConnectionAliasesCommandOutput) => void + ): void; + public describeConnectionAliases( + args: DescribeConnectionAliasesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeConnectionAliasesCommandOutput) => void + ): void; + public describeConnectionAliases( + args: DescribeConnectionAliasesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeConnectionAliasesCommandOutput) => void), + cb?: (err: any, data?: DescribeConnectionAliasesCommandOutput) => void + ): Promise | void { + const command = new DescribeConnectionAliasesCommand(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 permissions that the owner of a connection alias has granted to another AWS account for + * the specified connection alias. For more information, see + * Cross-Region Redirection for Amazon WorkSpaces.

                                                                                          + */ + public describeConnectionAliasPermissions( + args: DescribeConnectionAliasPermissionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeConnectionAliasPermissions( + args: DescribeConnectionAliasPermissionsCommandInput, + cb: (err: any, data?: DescribeConnectionAliasPermissionsCommandOutput) => void + ): void; + public describeConnectionAliasPermissions( + args: DescribeConnectionAliasPermissionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeConnectionAliasPermissionsCommandOutput) => void + ): void; + public describeConnectionAliasPermissions( + args: DescribeConnectionAliasPermissionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeConnectionAliasPermissionsCommandOutput) => void), + cb?: (err: any, data?: DescribeConnectionAliasPermissionsCommandOutput) => void + ): Promise | void { + const command = new DescribeConnectionAliasPermissionsCommand(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 one or more of your IP access control groups.

                                                                                          */ @@ -928,6 +1162,46 @@ export class WorkSpaces extends WorkSpacesClient { } } + /** + *

                                                                                          Disassociates a connection alias from a directory. Disassociating a connection alias disables cross-Region + * redirection between two directories in different AWS Regions. For more information, see + * + * Cross-Region Redirection for Amazon WorkSpaces.

                                                                                          + * + * + *

                                                                                          Before performing this operation, call + * DescribeConnectionAliases to make sure that the current state of the connection alias is CREATED.

                                                                                          + *
                                                                                          + */ + public disassociateConnectionAlias( + args: DisassociateConnectionAliasCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disassociateConnectionAlias( + args: DisassociateConnectionAliasCommandInput, + cb: (err: any, data?: DisassociateConnectionAliasCommandOutput) => void + ): void; + public disassociateConnectionAlias( + args: DisassociateConnectionAliasCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateConnectionAliasCommandOutput) => void + ): void; + public disassociateConnectionAlias( + args: DisassociateConnectionAliasCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateConnectionAliasCommandOutput) => void), + cb?: (err: any, data?: DisassociateConnectionAliasCommandOutput) => void + ): Promise | void { + const command = new DisassociateConnectionAliasCommand(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 specified IP access control group from the specified directory.

                                                                                          */ @@ -961,9 +1235,11 @@ export class WorkSpaces extends WorkSpacesClient { } /** - *

                                                                                          Imports the specified Windows 7 or Windows 10 Bring Your Own License (BYOL) image into - * Amazon WorkSpaces. The image must be an already licensed EC2 image that is in your AWS - * account, and you must own the image.

                                                                                          + *

                                                                                          Imports the specified Windows 10 Bring Your Own License (BYOL) image into Amazon + * WorkSpaces. The image must be an already licensed Amazon EC2 image that is in your AWS + * account, and you must own the image. For more information about creating BYOL images, see + * + * Bring Your Own Windows Desktop Licenses.

                                                                                          */ public importWorkspaceImage( args: ImportWorkspaceImageCommandInput, @@ -997,6 +1273,10 @@ export class WorkSpaces extends WorkSpacesClient { /** *

                                                                                          Retrieves a list of IP address ranges, specified as IPv4 CIDR blocks, that you can use * for the network management interface when you enable Bring Your Own License (BYOL).

                                                                                          + * + *

                                                                                          This operation can be run only by AWS accounts that are enabled for BYOL. If your account + * isn't enabled for BYOL, you'll receive an AccessDeniedException error.

                                                                                          + * *

                                                                                          The management network interface is connected to a secure Amazon WorkSpaces management * network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces * clients, and to allow Amazon WorkSpaces to manage the WorkSpace.

                                                                                          @@ -1559,12 +1839,21 @@ export class WorkSpaces extends WorkSpacesClient { /** *

                                                                                          Terminates the specified WorkSpaces.

                                                                                          - *

                                                                                          Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is - * destroyed. If you need to archive any user data, contact Amazon Web Services before - * terminating the WorkSpace.

                                                                                          + * + * + *

                                                                                          Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is + * destroyed. If you need to archive any user data, contact AWS Support before + * terminating the WorkSpace.

                                                                                          + *
                                                                                          + * *

                                                                                          You can terminate a WorkSpace that is in any state except SUSPENDED.

                                                                                          *

                                                                                          This operation is asynchronous and returns before the WorkSpaces have been completely - * terminated.

                                                                                          + * terminated. After a WorkSpace is terminated, the TERMINATED state is returned + * only briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely + * returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using + * + * DescribeWorkSpaces. If the WorkSpace ID isn't returned, then the WorkSpace has + * been successfully terminated.

                                                                                          */ public terminateWorkspaces( args: TerminateWorkspacesCommandInput, @@ -1595,6 +1884,57 @@ export class WorkSpaces extends WorkSpacesClient { } } + /** + *

                                                                                          Shares or unshares a connection alias with one account by specifying whether that account has permission to + * associate the connection alias with a directory. If the association permission is granted, the connection alias + * is shared with that account. If the association permission is revoked, the connection alias is unshared with the + * account. For more information, see + * Cross-Region Redirection for Amazon WorkSpaces.

                                                                                          + * + * + *
                                                                                            + *
                                                                                          • + *

                                                                                            Before performing this operation, call + * DescribeConnectionAliases to make sure that the current state of the connection alias is CREATED.

                                                                                            + *
                                                                                          • + *
                                                                                          • + *

                                                                                            To delete a connection alias that has been shared, the shared account must first disassociate the + * connection alias from any directories it has been associated with. Then you must unshare the connection + * alias from the account it has been shared with. You can delete a connection alias only after it is no + * longer shared with any accounts or associated with any directories.

                                                                                            + *
                                                                                          • + *
                                                                                          + *
                                                                                          + */ + public updateConnectionAliasPermission( + args: UpdateConnectionAliasPermissionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateConnectionAliasPermission( + args: UpdateConnectionAliasPermissionCommandInput, + cb: (err: any, data?: UpdateConnectionAliasPermissionCommandOutput) => void + ): void; + public updateConnectionAliasPermission( + args: UpdateConnectionAliasPermissionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateConnectionAliasPermissionCommandOutput) => void + ): void; + public updateConnectionAliasPermission( + args: UpdateConnectionAliasPermissionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateConnectionAliasPermissionCommandOutput) => void), + cb?: (err: any, data?: UpdateConnectionAliasPermissionCommandOutput) => void + ): Promise | void { + const command = new UpdateConnectionAliasPermissionCommand(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); + } + } + /** *

                                                                                          Replaces the current rules of the specified IP access control group with the specified * rules.

                                                                                          @@ -1631,7 +1971,9 @@ export class WorkSpaces extends WorkSpacesClient { /** *

                                                                                          Shares or unshares an image with one account by specifying whether that account has permission to copy * the image. If the copy image permission is granted, the image is shared with that account. If the copy image - * permission is revoked, the image is unshared with the account.

                                                                                          + * permission is revoked, the image is unshared with the account. For more information about sharing images, see + * + * Share or Unshare a Custom WorkSpaces Image.

                                                                                          * * *
                                                                                            diff --git a/clients/client-workspaces/WorkSpacesClient.ts b/clients/client-workspaces/WorkSpacesClient.ts index d24ef612f2ef..f8d8332712ba 100644 --- a/clients/client-workspaces/WorkSpacesClient.ts +++ b/clients/client-workspaces/WorkSpacesClient.ts @@ -1,9 +1,21 @@ +import { + AssociateConnectionAliasCommandInput, + AssociateConnectionAliasCommandOutput, +} from "./commands/AssociateConnectionAliasCommand"; import { AssociateIpGroupsCommandInput, AssociateIpGroupsCommandOutput } from "./commands/AssociateIpGroupsCommand"; import { AuthorizeIpRulesCommandInput, AuthorizeIpRulesCommandOutput } from "./commands/AuthorizeIpRulesCommand"; import { CopyWorkspaceImageCommandInput, CopyWorkspaceImageCommandOutput } from "./commands/CopyWorkspaceImageCommand"; +import { + CreateConnectionAliasCommandInput, + CreateConnectionAliasCommandOutput, +} from "./commands/CreateConnectionAliasCommand"; import { CreateIpGroupCommandInput, CreateIpGroupCommandOutput } from "./commands/CreateIpGroupCommand"; import { CreateTagsCommandInput, CreateTagsCommandOutput } from "./commands/CreateTagsCommand"; import { CreateWorkspacesCommandInput, CreateWorkspacesCommandOutput } from "./commands/CreateWorkspacesCommand"; +import { + DeleteConnectionAliasCommandInput, + DeleteConnectionAliasCommandOutput, +} from "./commands/DeleteConnectionAliasCommand"; import { DeleteIpGroupCommandInput, DeleteIpGroupCommandOutput } from "./commands/DeleteIpGroupCommand"; import { DeleteTagsCommandInput, DeleteTagsCommandOutput } from "./commands/DeleteTagsCommand"; import { @@ -23,6 +35,14 @@ import { DescribeClientPropertiesCommandInput, DescribeClientPropertiesCommandOutput, } from "./commands/DescribeClientPropertiesCommand"; +import { + DescribeConnectionAliasPermissionsCommandInput, + DescribeConnectionAliasPermissionsCommandOutput, +} from "./commands/DescribeConnectionAliasPermissionsCommand"; +import { + DescribeConnectionAliasesCommandInput, + DescribeConnectionAliasesCommandOutput, +} from "./commands/DescribeConnectionAliasesCommand"; import { DescribeIpGroupsCommandInput, DescribeIpGroupsCommandOutput } from "./commands/DescribeIpGroupsCommand"; import { DescribeTagsCommandInput, DescribeTagsCommandOutput } from "./commands/DescribeTagsCommand"; import { @@ -50,6 +70,10 @@ import { DescribeWorkspacesConnectionStatusCommandInput, DescribeWorkspacesConnectionStatusCommandOutput, } from "./commands/DescribeWorkspacesConnectionStatusCommand"; +import { + DisassociateConnectionAliasCommandInput, + DisassociateConnectionAliasCommandOutput, +} from "./commands/DisassociateConnectionAliasCommand"; import { DisassociateIpGroupsCommandInput, DisassociateIpGroupsCommandOutput, @@ -102,6 +126,10 @@ import { TerminateWorkspacesCommandInput, TerminateWorkspacesCommandOutput, } from "./commands/TerminateWorkspacesCommand"; +import { + UpdateConnectionAliasPermissionCommandInput, + UpdateConnectionAliasPermissionCommandOutput, +} from "./commands/UpdateConnectionAliasPermissionCommand"; import { UpdateRulesOfIpGroupCommandInput, UpdateRulesOfIpGroupCommandOutput, @@ -160,12 +188,15 @@ import { } from "@aws-sdk/types"; export type ServiceInputTypes = + | AssociateConnectionAliasCommandInput | AssociateIpGroupsCommandInput | AuthorizeIpRulesCommandInput | CopyWorkspaceImageCommandInput + | CreateConnectionAliasCommandInput | CreateIpGroupCommandInput | CreateTagsCommandInput | CreateWorkspacesCommandInput + | DeleteConnectionAliasCommandInput | DeleteIpGroupCommandInput | DeleteTagsCommandInput | DeleteWorkspaceImageCommandInput @@ -173,6 +204,8 @@ export type ServiceInputTypes = | DescribeAccountCommandInput | DescribeAccountModificationsCommandInput | DescribeClientPropertiesCommandInput + | DescribeConnectionAliasPermissionsCommandInput + | DescribeConnectionAliasesCommandInput | DescribeIpGroupsCommandInput | DescribeTagsCommandInput | DescribeWorkspaceBundlesCommandInput @@ -182,6 +215,7 @@ export type ServiceInputTypes = | DescribeWorkspaceSnapshotsCommandInput | DescribeWorkspacesCommandInput | DescribeWorkspacesConnectionStatusCommandInput + | DisassociateConnectionAliasCommandInput | DisassociateIpGroupsCommandInput | ImportWorkspaceImageCommandInput | ListAvailableManagementCidrRangesCommandInput @@ -201,16 +235,20 @@ export type ServiceInputTypes = | StartWorkspacesCommandInput | StopWorkspacesCommandInput | TerminateWorkspacesCommandInput + | UpdateConnectionAliasPermissionCommandInput | UpdateRulesOfIpGroupCommandInput | UpdateWorkspaceImagePermissionCommandInput; export type ServiceOutputTypes = + | AssociateConnectionAliasCommandOutput | AssociateIpGroupsCommandOutput | AuthorizeIpRulesCommandOutput | CopyWorkspaceImageCommandOutput + | CreateConnectionAliasCommandOutput | CreateIpGroupCommandOutput | CreateTagsCommandOutput | CreateWorkspacesCommandOutput + | DeleteConnectionAliasCommandOutput | DeleteIpGroupCommandOutput | DeleteTagsCommandOutput | DeleteWorkspaceImageCommandOutput @@ -218,6 +256,8 @@ export type ServiceOutputTypes = | DescribeAccountCommandOutput | DescribeAccountModificationsCommandOutput | DescribeClientPropertiesCommandOutput + | DescribeConnectionAliasPermissionsCommandOutput + | DescribeConnectionAliasesCommandOutput | DescribeIpGroupsCommandOutput | DescribeTagsCommandOutput | DescribeWorkspaceBundlesCommandOutput @@ -227,6 +267,7 @@ export type ServiceOutputTypes = | DescribeWorkspaceSnapshotsCommandOutput | DescribeWorkspacesCommandOutput | DescribeWorkspacesConnectionStatusCommandOutput + | DisassociateConnectionAliasCommandOutput | DisassociateIpGroupsCommandOutput | ImportWorkspaceImageCommandOutput | ListAvailableManagementCidrRangesCommandOutput @@ -246,6 +287,7 @@ export type ServiceOutputTypes = | StartWorkspacesCommandOutput | StopWorkspacesCommandOutput | TerminateWorkspacesCommandOutput + | UpdateConnectionAliasPermissionCommandOutput | UpdateRulesOfIpGroupCommandOutput | UpdateWorkspaceImagePermissionCommandOutput; diff --git a/clients/client-workspaces/commands/AssociateConnectionAliasCommand.ts b/clients/client-workspaces/commands/AssociateConnectionAliasCommand.ts new file mode 100644 index 000000000000..e7fc2e36dd72 --- /dev/null +++ b/clients/client-workspaces/commands/AssociateConnectionAliasCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; +import { AssociateConnectionAliasRequest, AssociateConnectionAliasResult } from "../models/models_0"; +import { + deserializeAws_json1_1AssociateConnectionAliasCommand, + serializeAws_json1_1AssociateConnectionAliasCommand, +} 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 AssociateConnectionAliasCommandInput = AssociateConnectionAliasRequest; +export type AssociateConnectionAliasCommandOutput = AssociateConnectionAliasResult & __MetadataBearer; + +export class AssociateConnectionAliasCommand extends $Command< + AssociateConnectionAliasCommandInput, + AssociateConnectionAliasCommandOutput, + WorkSpacesClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociateConnectionAliasCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkSpacesClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: AssociateConnectionAliasRequest.filterSensitiveLog, + outputFilterSensitiveLog: AssociateConnectionAliasResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: AssociateConnectionAliasCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1AssociateConnectionAliasCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1AssociateConnectionAliasCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workspaces/commands/CreateConnectionAliasCommand.ts b/clients/client-workspaces/commands/CreateConnectionAliasCommand.ts new file mode 100644 index 000000000000..64a997d85c05 --- /dev/null +++ b/clients/client-workspaces/commands/CreateConnectionAliasCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; +import { CreateConnectionAliasRequest, CreateConnectionAliasResult } from "../models/models_0"; +import { + deserializeAws_json1_1CreateConnectionAliasCommand, + serializeAws_json1_1CreateConnectionAliasCommand, +} 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 CreateConnectionAliasCommandInput = CreateConnectionAliasRequest; +export type CreateConnectionAliasCommandOutput = CreateConnectionAliasResult & __MetadataBearer; + +export class CreateConnectionAliasCommand extends $Command< + CreateConnectionAliasCommandInput, + CreateConnectionAliasCommandOutput, + WorkSpacesClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateConnectionAliasCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkSpacesClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: CreateConnectionAliasRequest.filterSensitiveLog, + outputFilterSensitiveLog: CreateConnectionAliasResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateConnectionAliasCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1CreateConnectionAliasCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1CreateConnectionAliasCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workspaces/commands/DeleteConnectionAliasCommand.ts b/clients/client-workspaces/commands/DeleteConnectionAliasCommand.ts new file mode 100644 index 000000000000..6983aae6d611 --- /dev/null +++ b/clients/client-workspaces/commands/DeleteConnectionAliasCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; +import { DeleteConnectionAliasRequest, DeleteConnectionAliasResult } from "../models/models_0"; +import { + deserializeAws_json1_1DeleteConnectionAliasCommand, + serializeAws_json1_1DeleteConnectionAliasCommand, +} 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 DeleteConnectionAliasCommandInput = DeleteConnectionAliasRequest; +export type DeleteConnectionAliasCommandOutput = DeleteConnectionAliasResult & __MetadataBearer; + +export class DeleteConnectionAliasCommand extends $Command< + DeleteConnectionAliasCommandInput, + DeleteConnectionAliasCommandOutput, + WorkSpacesClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteConnectionAliasCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkSpacesClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DeleteConnectionAliasRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteConnectionAliasResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteConnectionAliasCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DeleteConnectionAliasCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1DeleteConnectionAliasCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workspaces/commands/DescribeConnectionAliasPermissionsCommand.ts b/clients/client-workspaces/commands/DescribeConnectionAliasPermissionsCommand.ts new file mode 100644 index 000000000000..dafa77f3a62d --- /dev/null +++ b/clients/client-workspaces/commands/DescribeConnectionAliasPermissionsCommand.ts @@ -0,0 +1,80 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; +import { + DescribeConnectionAliasPermissionsRequest, + DescribeConnectionAliasPermissionsResult, +} from "../models/models_0"; +import { + deserializeAws_json1_1DescribeConnectionAliasPermissionsCommand, + serializeAws_json1_1DescribeConnectionAliasPermissionsCommand, +} 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 DescribeConnectionAliasPermissionsCommandInput = DescribeConnectionAliasPermissionsRequest; +export type DescribeConnectionAliasPermissionsCommandOutput = DescribeConnectionAliasPermissionsResult & + __MetadataBearer; + +export class DescribeConnectionAliasPermissionsCommand extends $Command< + DescribeConnectionAliasPermissionsCommandInput, + DescribeConnectionAliasPermissionsCommandOutput, + WorkSpacesClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeConnectionAliasPermissionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkSpacesClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeConnectionAliasPermissionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeConnectionAliasPermissionsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeConnectionAliasPermissionsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeConnectionAliasPermissionsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeConnectionAliasPermissionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workspaces/commands/DescribeConnectionAliasesCommand.ts b/clients/client-workspaces/commands/DescribeConnectionAliasesCommand.ts new file mode 100644 index 000000000000..6abcececf970 --- /dev/null +++ b/clients/client-workspaces/commands/DescribeConnectionAliasesCommand.ts @@ -0,0 +1,73 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; +import { DescribeConnectionAliasesRequest, DescribeConnectionAliasesResult } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeConnectionAliasesCommand, + serializeAws_json1_1DescribeConnectionAliasesCommand, +} 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 DescribeConnectionAliasesCommandInput = DescribeConnectionAliasesRequest; +export type DescribeConnectionAliasesCommandOutput = DescribeConnectionAliasesResult & __MetadataBearer; + +export class DescribeConnectionAliasesCommand extends $Command< + DescribeConnectionAliasesCommandInput, + DescribeConnectionAliasesCommandOutput, + WorkSpacesClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeConnectionAliasesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkSpacesClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DescribeConnectionAliasesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeConnectionAliasesResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeConnectionAliasesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DescribeConnectionAliasesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DescribeConnectionAliasesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workspaces/commands/DisassociateConnectionAliasCommand.ts b/clients/client-workspaces/commands/DisassociateConnectionAliasCommand.ts new file mode 100644 index 000000000000..12c9f9aa769c --- /dev/null +++ b/clients/client-workspaces/commands/DisassociateConnectionAliasCommand.ts @@ -0,0 +1,73 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; +import { DisassociateConnectionAliasRequest, DisassociateConnectionAliasResult } from "../models/models_0"; +import { + deserializeAws_json1_1DisassociateConnectionAliasCommand, + serializeAws_json1_1DisassociateConnectionAliasCommand, +} 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 DisassociateConnectionAliasCommandInput = DisassociateConnectionAliasRequest; +export type DisassociateConnectionAliasCommandOutput = DisassociateConnectionAliasResult & __MetadataBearer; + +export class DisassociateConnectionAliasCommand extends $Command< + DisassociateConnectionAliasCommandInput, + DisassociateConnectionAliasCommandOutput, + WorkSpacesClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisassociateConnectionAliasCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkSpacesClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: DisassociateConnectionAliasRequest.filterSensitiveLog, + outputFilterSensitiveLog: DisassociateConnectionAliasResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DisassociateConnectionAliasCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1DisassociateConnectionAliasCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1DisassociateConnectionAliasCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workspaces/commands/UpdateConnectionAliasPermissionCommand.ts b/clients/client-workspaces/commands/UpdateConnectionAliasPermissionCommand.ts new file mode 100644 index 000000000000..b508d177fb61 --- /dev/null +++ b/clients/client-workspaces/commands/UpdateConnectionAliasPermissionCommand.ts @@ -0,0 +1,76 @@ +import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient"; +import { UpdateConnectionAliasPermissionRequest, UpdateConnectionAliasPermissionResult } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateConnectionAliasPermissionCommand, + serializeAws_json1_1UpdateConnectionAliasPermissionCommand, +} 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 UpdateConnectionAliasPermissionCommandInput = UpdateConnectionAliasPermissionRequest; +export type UpdateConnectionAliasPermissionCommandOutput = UpdateConnectionAliasPermissionResult & __MetadataBearer; + +export class UpdateConnectionAliasPermissionCommand extends $Command< + UpdateConnectionAliasPermissionCommandInput, + UpdateConnectionAliasPermissionCommandOutput, + WorkSpacesClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateConnectionAliasPermissionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: WorkSpacesClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UpdateConnectionAliasPermissionRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateConnectionAliasPermissionResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: UpdateConnectionAliasPermissionCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateConnectionAliasPermissionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1UpdateConnectionAliasPermissionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-workspaces/index.ts b/clients/client-workspaces/index.ts index d22342ca681f..75cc86a528e3 100644 --- a/clients/client-workspaces/index.ts +++ b/clients/client-workspaces/index.ts @@ -1,11 +1,14 @@ export * from "./WorkSpacesClient"; export * from "./WorkSpaces"; +export * from "./commands/AssociateConnectionAliasCommand"; export * from "./commands/AssociateIpGroupsCommand"; export * from "./commands/AuthorizeIpRulesCommand"; export * from "./commands/CopyWorkspaceImageCommand"; +export * from "./commands/CreateConnectionAliasCommand"; export * from "./commands/CreateIpGroupCommand"; export * from "./commands/CreateTagsCommand"; export * from "./commands/CreateWorkspacesCommand"; +export * from "./commands/DeleteConnectionAliasCommand"; export * from "./commands/DeleteIpGroupCommand"; export * from "./commands/DeleteTagsCommand"; export * from "./commands/DeleteWorkspaceImageCommand"; @@ -13,6 +16,8 @@ export * from "./commands/DeregisterWorkspaceDirectoryCommand"; export * from "./commands/DescribeAccountCommand"; export * from "./commands/DescribeAccountModificationsCommand"; export * from "./commands/DescribeClientPropertiesCommand"; +export * from "./commands/DescribeConnectionAliasesCommand"; +export * from "./commands/DescribeConnectionAliasPermissionsCommand"; export * from "./commands/DescribeIpGroupsCommand"; export * from "./commands/DescribeTagsCommand"; export * from "./commands/DescribeWorkspaceBundlesCommand"; @@ -25,6 +30,7 @@ export * from "./commands/DescribeWorkspacesCommand"; export * from "./pagination/DescribeWorkspacesPaginator"; export * from "./commands/DescribeWorkspacesConnectionStatusCommand"; export * from "./commands/DescribeWorkspaceSnapshotsCommand"; +export * from "./commands/DisassociateConnectionAliasCommand"; export * from "./commands/DisassociateIpGroupsCommand"; export * from "./commands/ImportWorkspaceImageCommand"; export * from "./commands/ListAvailableManagementCidrRangesCommand"; @@ -44,6 +50,7 @@ export * from "./commands/RevokeIpRulesCommand"; export * from "./commands/StartWorkspacesCommand"; export * from "./commands/StopWorkspacesCommand"; export * from "./commands/TerminateWorkspacesCommand"; +export * from "./commands/UpdateConnectionAliasPermissionCommand"; export * from "./commands/UpdateRulesOfIpGroupCommand"; export * from "./commands/UpdateWorkspaceImagePermissionCommand"; export * from "./pagination/Interfaces"; diff --git a/clients/client-workspaces/models/models_0.ts b/clients/client-workspaces/models/models_0.ts index 95de266037ae..38c0d6ca251d 100644 --- a/clients/client-workspaces/models/models_0.ts +++ b/clients/client-workspaces/models/models_0.ts @@ -38,36 +38,36 @@ export enum DedicatedTenancyModificationStateEnum { */ export interface AccountModification { /** - *

                                                                                            The text of the error message that is returned if the configuration of BYOL cannot be - * modified.

                                                                                            + *

                                                                                            The status of BYOL (whether BYOL is being enabled or disabled).

                                                                                            */ - ErrorMessage?: string; + DedicatedTenancySupport?: DedicatedTenancySupportResultEnum | string; /** - *

                                                                                            The state of the modification to the configuration of BYOL.

                                                                                            + *

                                                                                            The error code that is returned if the configuration of BYOL cannot be modified.

                                                                                            */ - ModificationState?: DedicatedTenancyModificationStateEnum | string; + ErrorCode?: string; /** - *

                                                                                            The IP address range, specified as an IPv4 CIDR block, for the management network - * interface used for the account.

                                                                                            + *

                                                                                            The timestamp when the modification of the BYOL configuration was started.

                                                                                            */ - DedicatedTenancyManagementCidrRange?: string; + StartTime?: Date; /** - *

                                                                                            The error code that is returned if the configuration of BYOL cannot be modified.

                                                                                            + *

                                                                                            The text of the error message that is returned if the configuration of BYOL cannot be + * modified.

                                                                                            */ - ErrorCode?: string; + ErrorMessage?: string; /** - *

                                                                                            The timestamp when the modification of the BYOL configuration was started.

                                                                                            + *

                                                                                            The IP address range, specified as an IPv4 CIDR block, for the management network + * interface used for the account.

                                                                                            */ - StartTime?: Date; + DedicatedTenancyManagementCidrRange?: string; /** - *

                                                                                            The status of BYOL (whether BYOL is being enabled or disabled).

                                                                                            + *

                                                                                            The state of the modification to the configuration of BYOL.

                                                                                            */ - DedicatedTenancySupport?: DedicatedTenancySupportResultEnum | string; + ModificationState?: DedicatedTenancyModificationStateEnum | string; } export namespace AccountModification { @@ -76,28 +76,39 @@ export namespace AccountModification { }); } -export interface AssociateIpGroupsRequest { +export enum Application { + Microsoft_Office_2016 = "Microsoft_Office_2016", + Microsoft_Office_2019 = "Microsoft_Office_2019", +} + +export interface AssociateConnectionAliasRequest { /** - *

                                                                                            The identifiers of one or more IP access control groups.

                                                                                            + *

                                                                                            The identifier of the connection alias.

                                                                                            */ - GroupIds: string[] | undefined; + AliasId: string | undefined; /** - *

                                                                                            The identifier of the directory.

                                                                                            + *

                                                                                            The identifier of the directory to associate the connection alias with.

                                                                                            */ - DirectoryId: string | undefined; + ResourceId: string | undefined; } -export namespace AssociateIpGroupsRequest { - export const filterSensitiveLog = (obj: AssociateIpGroupsRequest): any => ({ +export namespace AssociateConnectionAliasRequest { + export const filterSensitiveLog = (obj: AssociateConnectionAliasRequest): any => ({ ...obj, }); } -export interface AssociateIpGroupsResult {} +export interface AssociateConnectionAliasResult { + /** + *

                                                                                            The identifier of the connection alias association. You use the connection identifier in the DNS TXT record when + * you're configuring your DNS routing policies.

                                                                                            + */ + ConnectionIdentifier?: string; +} -export namespace AssociateIpGroupsResult { - export const filterSensitiveLog = (obj: AssociateIpGroupsResult): any => ({ +export namespace AssociateConnectionAliasResult { + export const filterSensitiveLog = (obj: AssociateConnectionAliasResult): any => ({ ...obj, }); } @@ -151,19 +162,16 @@ export namespace OperationNotSupportedException { } /** - *

                                                                                            Your resource limits have been exceeded.

                                                                                            + *

                                                                                            The resource is associated with a directory.

                                                                                            */ -export interface ResourceLimitExceededException extends __SmithyException, $MetadataBearer { - name: "ResourceLimitExceededException"; +export interface ResourceAssociatedException extends __SmithyException, $MetadataBearer { + name: "ResourceAssociatedException"; $fault: "client"; - /** - *

                                                                                            The exception error message.

                                                                                            - */ message?: string; } -export namespace ResourceLimitExceededException { - export const filterSensitiveLog = (obj: ResourceLimitExceededException): any => ({ +export namespace ResourceAssociatedException { + export const filterSensitiveLog = (obj: ResourceAssociatedException): any => ({ ...obj, }); } @@ -191,6 +199,58 @@ export namespace ResourceNotFoundException { }); } +export interface AssociateIpGroupsRequest { + /** + *

                                                                                            The identifier of the directory.

                                                                                            + */ + DirectoryId: string | undefined; + + /** + *

                                                                                            The identifiers of one or more IP access control groups.

                                                                                            + */ + GroupIds: string[] | undefined; +} + +export namespace AssociateIpGroupsRequest { + export const filterSensitiveLog = (obj: AssociateIpGroupsRequest): any => ({ + ...obj, + }); +} + +export interface AssociateIpGroupsResult {} + +export namespace AssociateIpGroupsResult { + export const filterSensitiveLog = (obj: AssociateIpGroupsResult): any => ({ + ...obj, + }); +} + +/** + *

                                                                                            Your resource limits have been exceeded.

                                                                                            + */ +export interface ResourceLimitExceededException extends __SmithyException, $MetadataBearer { + name: "ResourceLimitExceededException"; + $fault: "client"; + /** + *

                                                                                            The exception error message.

                                                                                            + */ + message?: string; +} + +export namespace ResourceLimitExceededException { + export const filterSensitiveLog = (obj: ResourceLimitExceededException): any => ({ + ...obj, + }); +} + +export enum AssociationStatus { + ASSOCIATED_WITH_OWNER_ACCOUNT = "ASSOCIATED_WITH_OWNER_ACCOUNT", + ASSOCIATED_WITH_SHARED_ACCOUNT = "ASSOCIATED_WITH_SHARED_ACCOUNT", + NOT_ASSOCIATED = "NOT_ASSOCIATED", + PENDING_ASSOCIATION = "PENDING_ASSOCIATION", + PENDING_DISASSOCIATION = "PENDING_DISASSOCIATION", +} + /** *

                                                                                            Describes a rule for an IP access control group.

                                                                                            */ @@ -214,14 +274,14 @@ export namespace IpRuleItem { export interface AuthorizeIpRulesRequest { /** - *

                                                                                            The rules to add to the group.

                                                                                            + *

                                                                                            The identifier of the group.

                                                                                            */ - UserRules: IpRuleItem[] | undefined; + GroupId: string | undefined; /** - *

                                                                                            The identifier of the group.

                                                                                            + *

                                                                                            The rules to add to the group.

                                                                                            */ - GroupId: string | undefined; + UserRules: IpRuleItem[] | undefined; } export namespace AuthorizeIpRulesRequest { @@ -301,9 +361,9 @@ export namespace UserStorage { */ export interface WorkspaceBundle { /** - *

                                                                                            The image identifier of the bundle.

                                                                                            + *

                                                                                            The size of the root volume.

                                                                                            */ - ImageId?: string; + RootStorage?: RootStorage; /** *

                                                                                            The owner of the bundle. This is the account identifier of the owner, or @@ -312,9 +372,9 @@ export interface WorkspaceBundle { Owner?: string; /** - *

                                                                                            A description.

                                                                                            + *

                                                                                            The size of the user storage.

                                                                                            */ - Description?: string; + UserStorage?: UserStorage; /** *

                                                                                            The compute type. For more information, see Amazon WorkSpaces Bundles.

                                                                                            @@ -322,19 +382,19 @@ export interface WorkspaceBundle { ComputeType?: ComputeType; /** - *

                                                                                            The size of the user storage.

                                                                                            + *

                                                                                            A description.

                                                                                            */ - UserStorage?: UserStorage; + Description?: string; /** - *

                                                                                            The bundle identifier.

                                                                                            + *

                                                                                            The image identifier of the bundle.

                                                                                            */ - BundleId?: string; + ImageId?: string; /** - *

                                                                                            The last time that the bundle was updated.

                                                                                            + *

                                                                                            The bundle identifier.

                                                                                            */ - LastUpdatedTime?: Date; + BundleId?: string; /** *

                                                                                            The name of the bundle.

                                                                                            @@ -342,9 +402,9 @@ export interface WorkspaceBundle { Name?: string; /** - *

                                                                                            The size of the root volume.

                                                                                            + *

                                                                                            The last time that the bundle was updated.

                                                                                            */ - RootStorage?: RootStorage; + LastUpdatedTime?: Date; } export namespace WorkspaceBundle { @@ -397,6 +457,108 @@ export namespace ClientPropertiesResult { }); } +/** + *

                                                                                            Describes a connection alias association that is used for cross-Region redirection. For more information, see + * + * Cross-Region Redirection for Amazon WorkSpaces.

                                                                                            + */ +export interface ConnectionAliasAssociation { + /** + *

                                                                                            The association status of the connection alias.

                                                                                            + */ + AssociationStatus?: AssociationStatus | string; + + /** + *

                                                                                            The identifier of the directory associated with a connection alias.

                                                                                            + */ + ResourceId?: string; + + /** + *

                                                                                            The identifier of the AWS account that associated the connection alias with a directory.

                                                                                            + */ + AssociatedAccountId?: string; + + /** + *

                                                                                            The identifier of the connection alias association. You use the connection identifier in the DNS TXT record when + * you're configuring your DNS routing policies.

                                                                                            + */ + ConnectionIdentifier?: string; +} + +export namespace ConnectionAliasAssociation { + export const filterSensitiveLog = (obj: ConnectionAliasAssociation): any => ({ + ...obj, + }); +} + +export enum ConnectionAliasState { + CREATED = "CREATED", + CREATING = "CREATING", + DELETING = "DELETING", +} + +/** + *

                                                                                            Describes a connection alias. Connection aliases are used for cross-Region redirection. For more information, + * see + * Cross-Region Redirection for Amazon WorkSpaces.

                                                                                            + */ +export interface ConnectionAlias { + /** + *

                                                                                            The association status of the connection alias.

                                                                                            + */ + Associations?: ConnectionAliasAssociation[]; + + /** + *

                                                                                            The identifier of the connection alias.

                                                                                            + */ + AliasId?: string; + + /** + *

                                                                                            The identifier of the AWS account that owns the connection alias.

                                                                                            + */ + OwnerAccountId?: string; + + /** + *

                                                                                            The connection string specified for the connection alias. The connection string must be in the form of + * a fully qualified domain name (FQDN), such as www.example.com.

                                                                                            + */ + ConnectionString?: string; + + /** + *

                                                                                            The current state of the connection alias.

                                                                                            + */ + State?: ConnectionAliasState | string; +} + +export namespace ConnectionAlias { + export const filterSensitiveLog = (obj: ConnectionAlias): any => ({ + ...obj, + }); +} + +/** + *

                                                                                            Describes the permissions for a connection alias. Connection aliases are used for cross-Region redirection. + * For more information, see + * Cross-Region Redirection for Amazon WorkSpaces.

                                                                                            + */ +export interface ConnectionAliasPermission { + /** + *

                                                                                            The identifier of the AWS account that the connection alias is shared with.

                                                                                            + */ + SharedAccountId: string | undefined; + + /** + *

                                                                                            Indicates whether the specified AWS account is allowed to associate the connection alias with a directory.

                                                                                            + */ + AllowAssociation: boolean | undefined; +} + +export namespace ConnectionAliasPermission { + export const filterSensitiveLog = (obj: ConnectionAliasPermission): any => ({ + ...obj, + }); +} + export enum ConnectionState { CONNECTED = "CONNECTED", DISCONNECTED = "DISCONNECTED", @@ -408,14 +570,14 @@ export enum ConnectionState { */ export interface Tag { /** - *

                                                                                            The value of the tag.

                                                                                            + *

                                                                                            The key of the tag.

                                                                                            */ - Value?: string; + Key: string | undefined; /** - *

                                                                                            The key of the tag.

                                                                                            + *

                                                                                            The value of the tag.

                                                                                            */ - Key: string | undefined; + Value?: string; } export namespace Tag { @@ -426,9 +588,9 @@ export namespace Tag { export interface CopyWorkspaceImageRequest { /** - *

                                                                                            The name of the image.

                                                                                            + *

                                                                                            The identifier of the source Region.

                                                                                            */ - Name: string | undefined; + SourceRegion: string | undefined; /** *

                                                                                            The identifier of the source image.

                                                                                            @@ -436,14 +598,14 @@ export interface CopyWorkspaceImageRequest { SourceImageId: string | undefined; /** - *

                                                                                            The tags for the image.

                                                                                            + *

                                                                                            The name of the image.

                                                                                            */ - Tags?: Tag[]; + Name: string | undefined; /** - *

                                                                                            The identifier of the source Region.

                                                                                            + *

                                                                                            The tags for the image.

                                                                                            */ - SourceRegion: string | undefined; + Tags?: Tag[]; /** *

                                                                                            A description of the image.

                                                                                            @@ -508,17 +670,44 @@ export namespace ResourceUnavailableException { }); } -export interface CreateIpGroupRequest { +export interface CreateConnectionAliasRequest { /** - *

                                                                                            The rules to add to the group.

                                                                                            + *

                                                                                            A connection string in the form of a fully qualified domain name (FQDN), such as www.example.com.

                                                                                            + * + * + *

                                                                                            After you create a connection string, it is always associated to your AWS account. You cannot recreate the same + * connection string with a different account, even if you delete all instances of it from the original account. The + * connection string is globally reserved for your account.

                                                                                            + *
                                                                                            */ - UserRules?: IpRuleItem[]; + ConnectionString: string | undefined; /** - *

                                                                                            The name of the group.

                                                                                            + *

                                                                                            The tags to associate with the connection alias.

                                                                                            */ - GroupName: string | undefined; + Tags?: Tag[]; +} +export namespace CreateConnectionAliasRequest { + export const filterSensitiveLog = (obj: CreateConnectionAliasRequest): any => ({ + ...obj, + }); +} + +export interface CreateConnectionAliasResult { + /** + *

                                                                                            The identifier of the connection alias.

                                                                                            + */ + AliasId?: string; +} + +export namespace CreateConnectionAliasResult { + export const filterSensitiveLog = (obj: CreateConnectionAliasResult): any => ({ + ...obj, + }); +} + +export interface CreateIpGroupRequest { /** *

                                                                                            The tags. Each WorkSpaces resource can have a maximum of 50 tags.

                                                                                            */ @@ -528,6 +717,16 @@ export interface CreateIpGroupRequest { *

                                                                                            The description of the group.

                                                                                            */ GroupDesc?: string; + + /** + *

                                                                                            The rules to add to the group.

                                                                                            + */ + UserRules?: IpRuleItem[]; + + /** + *

                                                                                            The name of the group.

                                                                                            + */ + GroupName: string | undefined; } export namespace CreateIpGroupRequest { @@ -566,14 +765,13 @@ export namespace ResourceCreationFailedException { export interface CreateTagsRequest { /** - *

                                                                                            The tags. Each WorkSpaces resource can have a maximum of 50 tags. If you want to add new tags - * to a set of existing tags, you must submit all of the existing tags along with the new ones.

                                                                                            + *

                                                                                            The tags. Each WorkSpaces resource can have a maximum of 50 tags.

                                                                                            */ Tags: Tag[] | undefined; /** *

                                                                                            The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, - * registered directories, images, custom bundles, and IP access control groups.

                                                                                            + * registered directories, images, custom bundles, IP access control groups, and connection aliases.

                                                                                            */ ResourceId: string | undefined; } @@ -606,6 +804,12 @@ export interface WorkspaceProperties { */ RunningModeAutoStopTimeoutInMinutes?: number; + /** + *

                                                                                            The compute type. For more information, see Amazon WorkSpaces + * Bundles.

                                                                                            + */ + ComputeTypeName?: Compute | string; + /** *

                                                                                            The size of the user storage. For important information about how to modify the size of the root and user volumes, see * Modify a WorkSpace.

                                                                                            @@ -618,12 +822,6 @@ export interface WorkspaceProperties { */ RootVolumeSizeGib?: number; - /** - *

                                                                                            The compute type. For more information, see Amazon WorkSpaces - * Bundles.

                                                                                            - */ - ComputeTypeName?: Compute | string; - /** *

                                                                                            The running mode. For more information, see Manage the WorkSpace Running * Mode.

                                                                                            @@ -642,21 +840,14 @@ export namespace WorkspaceProperties { */ export interface WorkspaceRequest { /** - *

                                                                                            The symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. - * Amazon WorkSpaces does not support asymmetric CMKs.

                                                                                            - */ - VolumeEncryptionKey?: string; - - /** - *

                                                                                            Indicates whether the data stored on the root volume is encrypted.

                                                                                            + *

                                                                                            The WorkSpace properties.

                                                                                            */ - RootVolumeEncryptionEnabled?: boolean; + WorkspaceProperties?: WorkspaceProperties; /** - *

                                                                                            The user name of the user for the WorkSpace. This user name must exist in the AWS - * Directory Service directory for the WorkSpace.

                                                                                            + *

                                                                                            The tags for the WorkSpace.

                                                                                            */ - UserName: string | undefined; + Tags?: Tag[]; /** *

                                                                                            The identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles to list the available bundles.

                                                                                            @@ -664,25 +855,32 @@ export interface WorkspaceRequest { BundleId: string | undefined; /** - *

                                                                                            The tags for the WorkSpace.

                                                                                            + *

                                                                                            The user name of the user for the WorkSpace. This user name must exist in the AWS + * Directory Service directory for the WorkSpace.

                                                                                            */ - Tags?: Tag[]; + UserName: string | undefined; /** - *

                                                                                            The WorkSpace properties.

                                                                                            + *

                                                                                            Indicates whether the data stored on the user volume is encrypted.

                                                                                            */ - WorkspaceProperties?: WorkspaceProperties; + UserVolumeEncryptionEnabled?: boolean; /** - *

                                                                                            Indicates whether the data stored on the user volume is encrypted.

                                                                                            + *

                                                                                            Indicates whether the data stored on the root volume is encrypted.

                                                                                            */ - UserVolumeEncryptionEnabled?: boolean; + RootVolumeEncryptionEnabled?: boolean; /** *

                                                                                            The identifier of the AWS Directory Service directory for the WorkSpace. You can use * DescribeWorkspaceDirectories to list the available directories.

                                                                                            */ DirectoryId: string | undefined; + + /** + *

                                                                                            The symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. + * Amazon WorkSpaces does not support asymmetric CMKs.

                                                                                            + */ + VolumeEncryptionKey?: string; } export namespace WorkspaceRequest { @@ -709,9 +907,9 @@ export namespace CreateWorkspacesRequest { */ export interface FailedCreateWorkspaceRequest { /** - *

                                                                                            Information about the WorkSpace.

                                                                                            + *

                                                                                            The error code that is returned if the WorkSpace cannot be created.

                                                                                            */ - WorkspaceRequest?: WorkspaceRequest; + ErrorCode?: string; /** *

                                                                                            The text of the error message that is returned if the WorkSpace cannot be @@ -720,9 +918,9 @@ export interface FailedCreateWorkspaceRequest { ErrorMessage?: string; /** - *

                                                                                            The error code that is returned if the WorkSpace cannot be created.

                                                                                            + *

                                                                                            Information about the WorkSpace.

                                                                                            */ - ErrorCode?: string; + WorkspaceRequest?: WorkspaceRequest; } export namespace FailedCreateWorkspaceRequest { @@ -747,14 +945,14 @@ export enum ModificationStateEnum { */ export interface ModificationState { /** - *

                                                                                            The resource.

                                                                                            + *

                                                                                            The modification state.

                                                                                            */ - Resource?: ModificationResourceEnum | string; + State?: ModificationStateEnum | string; /** - *

                                                                                            The modification state.

                                                                                            + *

                                                                                            The resource.

                                                                                            */ - State?: ModificationStateEnum | string; + Resource?: ModificationResourceEnum | string; } export namespace ModificationState { @@ -788,29 +986,39 @@ export enum WorkspaceState { */ export interface Workspace { /** - *

                                                                                            The user for the WorkSpace.

                                                                                            + *

                                                                                            The text of the error message that is returned if the WorkSpace cannot be + * created.

                                                                                            */ - UserName?: string; + ErrorMessage?: string; /** - *

                                                                                            The identifier of the subnet for the WorkSpace.

                                                                                            + *

                                                                                            Indicates whether the data stored on the user volume is encrypted.

                                                                                            */ - SubnetId?: string; + UserVolumeEncryptionEnabled?: boolean; /** - *

                                                                                            The error code that is returned if the WorkSpace cannot be created.

                                                                                            + *

                                                                                            The operational state of the WorkSpace.

                                                                                            + * + * + *

                                                                                            After a WorkSpace is terminated, the TERMINATED state is returned + * only briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely + * returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using + * + * DescribeWorkSpaces. If the WorkSpace ID isn't returned, then the WorkSpace has + * been successfully terminated.

                                                                                            + *
                                                                                            */ - ErrorCode?: string; + State?: WorkspaceState | string; /** - *

                                                                                            Indicates whether the data stored on the user volume is encrypted.

                                                                                            + *

                                                                                            The properties of the WorkSpace.

                                                                                            */ - UserVolumeEncryptionEnabled?: boolean; + WorkspaceProperties?: WorkspaceProperties; /** - *

                                                                                            The modification states of the WorkSpace.

                                                                                            + *

                                                                                            The identifier of the bundle used to create the WorkSpace.

                                                                                            */ - ModificationStates?: ModificationState[]; + BundleId?: string; /** *

                                                                                            The symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. @@ -819,50 +1027,51 @@ export interface Workspace { VolumeEncryptionKey?: string; /** - *

                                                                                            The operational state of the WorkSpace.

                                                                                            + *

                                                                                            The identifier of the AWS Directory Service directory for the WorkSpace.

                                                                                            */ - State?: WorkspaceState | string; + DirectoryId?: string; /** - *

                                                                                            The properties of the WorkSpace.

                                                                                            + *

                                                                                            The modification states of the WorkSpace.

                                                                                            */ - WorkspaceProperties?: WorkspaceProperties; + ModificationStates?: ModificationState[]; /** - *

                                                                                            The IP address of the WorkSpace.

                                                                                            + *

                                                                                            The identifier of the subnet for the WorkSpace.

                                                                                            */ - IpAddress?: string; + SubnetId?: string; /** - *

                                                                                            Indicates whether the data stored on the root volume is encrypted.

                                                                                            + *

                                                                                            The error code that is returned if the WorkSpace cannot be created.

                                                                                            */ - RootVolumeEncryptionEnabled?: boolean; + ErrorCode?: string; /** - *

                                                                                            The text of the error message that is returned if the WorkSpace cannot be - * created.

                                                                                            + *

                                                                                            The IP address of the WorkSpace.

                                                                                            */ - ErrorMessage?: string; + IpAddress?: string; /** - *

                                                                                            The identifier of the bundle used to create the WorkSpace.

                                                                                            + *

                                                                                            The name of the WorkSpace, as seen by the operating system. The format of this name varies. + * For more information, see + * Launch a WorkSpace.

                                                                                            */ - BundleId?: string; + ComputerName?: string; /** - *

                                                                                            The identifier of the AWS Directory Service directory for the WorkSpace.

                                                                                            + *

                                                                                            The user for the WorkSpace.

                                                                                            */ - DirectoryId?: string; + UserName?: string; /** - *

                                                                                            The identifier of the WorkSpace.

                                                                                            + *

                                                                                            Indicates whether the data stored on the root volume is encrypted.

                                                                                            */ - WorkspaceId?: string; + RootVolumeEncryptionEnabled?: boolean; /** - *

                                                                                            The name of the WorkSpace, as seen by the operating system.

                                                                                            + *

                                                                                            The identifier of the WorkSpace.

                                                                                            */ - ComputerName?: string; + WorkspaceId?: string; } export namespace Workspace { @@ -901,12 +1110,19 @@ export enum DedicatedTenancySupportEnum { */ export interface DefaultWorkspaceCreationProperties { /** - *

                                                                                            The identifier of the default security group to apply to WorkSpaces when they are created. - * For more information, see - * - * Security Groups for Your WorkSpaces.

                                                                                            + *

                                                                                            Specifies whether WorkSpace users are local administrators on their WorkSpaces.

                                                                                            */ - CustomSecurityGroupId?: string; + UserEnabledAsLocalAdministrator?: boolean; + + /** + *

                                                                                            The organizational unit (OU) in the directory for the WorkSpace machine accounts.

                                                                                            + */ + DefaultOu?: string; + + /** + *

                                                                                            Specifies whether the directory is enabled for Amazon WorkDocs.

                                                                                            + */ + EnableWorkDocs?: boolean; /** *

                                                                                            Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by default. @@ -921,14 +1137,12 @@ export interface DefaultWorkspaceCreationProperties { EnableInternetAccess?: boolean; /** - *

                                                                                            Specifies whether the directory is enabled for Amazon WorkDocs.

                                                                                            - */ - EnableWorkDocs?: boolean; - - /** - *

                                                                                            The organizational unit (OU) in the directory for the WorkSpace machine accounts.

                                                                                            + *

                                                                                            The identifier of the default security group to apply to WorkSpaces when they are created. + * For more information, see + * + * Security Groups for Your WorkSpaces.

                                                                                            */ - DefaultOu?: string; + CustomSecurityGroupId?: string; /** *

                                                                                            Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see @@ -936,11 +1150,6 @@ export interface DefaultWorkspaceCreationProperties { * Maintenance.

                                                                                            */ EnableMaintenanceMode?: boolean; - - /** - *

                                                                                            Specifies whether WorkSpace users are local administrators on their WorkSpaces.

                                                                                            - */ - UserEnabledAsLocalAdministrator?: boolean; } export namespace DefaultWorkspaceCreationProperties { @@ -949,38 +1158,44 @@ export namespace DefaultWorkspaceCreationProperties { }); } -export interface DeleteIpGroupRequest { +export interface DeleteConnectionAliasRequest { /** - *

                                                                                            The identifier of the IP access control group.

                                                                                            + *

                                                                                            The identifier of the connection alias to delete.

                                                                                            */ - GroupId: string | undefined; + AliasId: string | undefined; } -export namespace DeleteIpGroupRequest { - export const filterSensitiveLog = (obj: DeleteIpGroupRequest): any => ({ +export namespace DeleteConnectionAliasRequest { + export const filterSensitiveLog = (obj: DeleteConnectionAliasRequest): any => ({ ...obj, }); } -export interface DeleteIpGroupResult {} +export interface DeleteConnectionAliasResult {} -export namespace DeleteIpGroupResult { - export const filterSensitiveLog = (obj: DeleteIpGroupResult): any => ({ +export namespace DeleteConnectionAliasResult { + export const filterSensitiveLog = (obj: DeleteConnectionAliasResult): any => ({ ...obj, }); } -/** - *

                                                                                            The resource is associated with a directory.

                                                                                            - */ -export interface ResourceAssociatedException extends __SmithyException, $MetadataBearer { - name: "ResourceAssociatedException"; - $fault: "client"; - message?: string; +export interface DeleteIpGroupRequest { + /** + *

                                                                                            The identifier of the IP access control group.

                                                                                            + */ + GroupId: string | undefined; +} + +export namespace DeleteIpGroupRequest { + export const filterSensitiveLog = (obj: DeleteIpGroupRequest): any => ({ + ...obj, + }); } -export namespace ResourceAssociatedException { - export const filterSensitiveLog = (obj: ResourceAssociatedException): any => ({ +export interface DeleteIpGroupResult {} + +export namespace DeleteIpGroupResult { + export const filterSensitiveLog = (obj: DeleteIpGroupResult): any => ({ ...obj, }); } @@ -993,7 +1208,7 @@ export interface DeleteTagsRequest { /** *

                                                                                            The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, - * registered directories, images, custom bundles, and IP access control groups.

                                                                                            + * registered directories, images, custom bundles, IP access control groups, and connection aliases.

                                                                                            */ ResourceId: string | undefined; } @@ -1101,16 +1316,16 @@ export namespace DescribeAccountModificationsRequest { } export interface DescribeAccountModificationsResult { - /** - *

                                                                                            The list of modifications to the configuration of BYOL.

                                                                                            - */ - AccountModifications?: AccountModification[]; - /** *

                                                                                            The token to use to retrieve the next set of results, or null if no more results are * available.

                                                                                            */ NextToken?: string; + + /** + *

                                                                                            The list of modifications to the configuration of BYOL.

                                                                                            + */ + AccountModifications?: AccountModification[]; } export namespace DescribeAccountModificationsResult { @@ -1145,22 +1360,116 @@ export namespace DescribeClientPropertiesResult { }); } -export interface DescribeIpGroupsRequest { +export interface DescribeConnectionAliasesRequest { /** - *

                                                                                            The identifiers of one or more IP access control groups.

                                                                                            + *

                                                                                            The maximum number of connection aliases to return.

                                                                                            */ - GroupIds?: string[]; + Limit?: number; /** - *

                                                                                            The maximum number of items to return.

                                                                                            + *

                                                                                            The identifier of the directory associated with the connection alias.

                                                                                            + */ + ResourceId?: string; + + /** + *

                                                                                            If you received a NextToken from a previous call that was paginated, provide this token to receive the + * next set of results.

                                                                                            + */ + NextToken?: string; + + /** + *

                                                                                            The identifiers of the connection aliases to describe.

                                                                                            + */ + AliasIds?: string[]; +} + +export namespace DescribeConnectionAliasesRequest { + export const filterSensitiveLog = (obj: DescribeConnectionAliasesRequest): any => ({ + ...obj, + }); +} + +export interface DescribeConnectionAliasesResult { + /** + *

                                                                                            The token to use to retrieve the next set of results, or null if no more results are available.

                                                                                            + */ + NextToken?: string; + + /** + *

                                                                                            Information about the specified connection aliases.

                                                                                            + */ + ConnectionAliases?: ConnectionAlias[]; +} + +export namespace DescribeConnectionAliasesResult { + export const filterSensitiveLog = (obj: DescribeConnectionAliasesResult): any => ({ + ...obj, + }); +} + +export interface DescribeConnectionAliasPermissionsRequest { + /** + *

                                                                                            If you received a NextToken from a previous call that was paginated, provide this token to receive the + * next set of results.

                                                                                            + */ + NextToken?: string; + + /** + *

                                                                                            The maximum number of results to return.

                                                                                            */ MaxResults?: number; + /** + *

                                                                                            The identifier of the connection alias.

                                                                                            + */ + AliasId: string | undefined; +} + +export namespace DescribeConnectionAliasPermissionsRequest { + export const filterSensitiveLog = (obj: DescribeConnectionAliasPermissionsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeConnectionAliasPermissionsResult { + /** + *

                                                                                            The token to use to retrieve the next set of results, or null if no more results are available.

                                                                                            + */ + NextToken?: string; + + /** + *

                                                                                            The identifier of the connection alias.

                                                                                            + */ + AliasId?: string; + + /** + *

                                                                                            The permissions associated with a connection alias.

                                                                                            + */ + ConnectionAliasPermissions?: ConnectionAliasPermission[]; +} + +export namespace DescribeConnectionAliasPermissionsResult { + export const filterSensitiveLog = (obj: DescribeConnectionAliasPermissionsResult): any => ({ + ...obj, + }); +} + +export interface DescribeIpGroupsRequest { /** *

                                                                                            If you received a NextToken from a previous call that was paginated, * provide this token to receive the next set of results.

                                                                                            */ NextToken?: string; + + /** + *

                                                                                            The identifiers of one or more IP access control groups.

                                                                                            + */ + GroupIds?: string[]; + + /** + *

                                                                                            The maximum number of items to return.

                                                                                            + */ + MaxResults?: number; } export namespace DescribeIpGroupsRequest { @@ -1173,11 +1482,6 @@ export namespace DescribeIpGroupsRequest { *

                                                                                            Describes an IP access control group.

                                                                                            */ export interface WorkspacesIpGroup { - /** - *

                                                                                            The identifier of the group.

                                                                                            - */ - groupId?: string; - /** *

                                                                                            The rules.

                                                                                            */ @@ -1192,6 +1496,11 @@ export interface WorkspacesIpGroup { *

                                                                                            The description of the group.

                                                                                            */ groupDesc?: string; + + /** + *

                                                                                            The identifier of the group.

                                                                                            + */ + groupId?: string; } export namespace WorkspacesIpGroup { @@ -1222,7 +1531,7 @@ export namespace DescribeIpGroupsResult { export interface DescribeTagsRequest { /** *

                                                                                            The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, - * registered directories, images, custom bundles, and IP access control groups.

                                                                                            + * registered directories, images, custom bundles, IP access control groups, and connection aliases.

                                                                                            */ ResourceId: string | undefined; } @@ -1291,17 +1600,17 @@ export namespace DescribeWorkspaceBundlesResult { } export interface DescribeWorkspaceDirectoriesRequest { - /** - *

                                                                                            The maximum number of directories to return.

                                                                                            - */ - Limit?: number; - /** *

                                                                                            If you received a NextToken from a previous call that was paginated, * provide this token to receive the next set of results.

                                                                                            */ NextToken?: string; + /** + *

                                                                                            The maximum number of directories to return.

                                                                                            + */ + Limit?: number; + /** *

                                                                                            The identifiers of the directories. If the value is null, all directories are * retrieved.

                                                                                            @@ -1325,9 +1634,10 @@ export enum WorkspaceDirectoryType { */ export interface SelfservicePermissions { /** - *

                                                                                            Specifies whether users can switch the running mode of their WorkSpace.

                                                                                            + *

                                                                                            Specifies whether users can increase the volume size of the drives on their + * WorkSpace.

                                                                                            */ - SwitchRunningMode?: ReconnectEnum | string; + IncreaseVolumeSize?: ReconnectEnum | string; /** *

                                                                                            Specifies whether users can rebuild the operating system of a WorkSpace to its original @@ -1341,15 +1651,14 @@ export interface SelfservicePermissions { ChangeComputeType?: ReconnectEnum | string; /** - *

                                                                                            Specifies whether users can restart their WorkSpace.

                                                                                            + *

                                                                                            Specifies whether users can switch the running mode of their WorkSpace.

                                                                                            */ - RestartWorkspace?: ReconnectEnum | string; + SwitchRunningMode?: ReconnectEnum | string; /** - *

                                                                                            Specifies whether users can increase the volume size of the drives on their - * WorkSpace.

                                                                                            + *

                                                                                            Specifies whether users can restart their WorkSpace.

                                                                                            */ - IncreaseVolumeSize?: ReconnectEnum | string; + RestartWorkspace?: ReconnectEnum | string; } export namespace SelfservicePermissions { @@ -1377,11 +1686,24 @@ export enum Tenancy { * WorkSpaces Client Network Requirements.

                                                                                            */ export interface WorkspaceAccessProperties { + /** + *

                                                                                            Indicates whether users can use Windows clients to access their WorkSpaces. To restrict + * WorkSpaces access to trusted devices (also known as managed devices) with valid + * certificates, specify a value of TRUST. For more information, see Restrict + * WorkSpaces Access to Trusted Devices.

                                                                                            + */ + DeviceTypeWindows?: AccessPropertyValue | string; + /** *

                                                                                            Indicates whether users can use zero client devices to access their WorkSpaces.

                                                                                            */ DeviceTypeZeroClient?: AccessPropertyValue | string; + /** + *

                                                                                            Indicates whether users can use Chromebooks to access their WorkSpaces.

                                                                                            + */ + DeviceTypeChromeOs?: AccessPropertyValue | string; + /** *

                                                                                            Indicates whether users can use iOS devices to access their WorkSpaces.

                                                                                            */ @@ -1392,11 +1714,6 @@ export interface WorkspaceAccessProperties { */ DeviceTypeAndroid?: AccessPropertyValue | string; - /** - *

                                                                                            Indicates whether users can use Chromebooks to access their WorkSpaces.

                                                                                            - */ - DeviceTypeChromeOs?: AccessPropertyValue | string; - /** *

                                                                                            Indicates whether users can access their WorkSpaces through a web browser.

                                                                                            */ @@ -1409,14 +1726,6 @@ export interface WorkspaceAccessProperties { * WorkSpaces Access to Trusted Devices.

                                                                                            */ DeviceTypeOsx?: AccessPropertyValue | string; - - /** - *

                                                                                            Indicates whether users can use Windows clients to access their WorkSpaces. To restrict - * WorkSpaces access to trusted devices (also known as managed devices) with valid - * certificates, specify a value of TRUST. For more information, see Restrict - * WorkSpaces Access to Trusted Devices.

                                                                                            - */ - DeviceTypeWindows?: AccessPropertyValue | string; } export namespace WorkspaceAccessProperties { @@ -1430,14 +1739,9 @@ export namespace WorkspaceAccessProperties { */ export interface WorkspaceDirectory { /** - *

                                                                                            The name of the directory.

                                                                                            - */ - DirectoryName?: string; - - /** - *

                                                                                            The user name for the service account.

                                                                                            + *

                                                                                            The directory identifier.

                                                                                            */ - CustomerUserName?: string; + DirectoryId?: string; /** *

                                                                                            The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make @@ -1446,16 +1750,20 @@ export interface WorkspaceDirectory { IamRoleId?: string; /** - *

                                                                                            Specifies whether the directory is dedicated or shared. To use Bring Your Own License - * (BYOL), this value must be set to DEDICATED. For more information, see Bring - * Your Own Windows Desktop Images.

                                                                                            + *

                                                                                            The state of the directory's registration with Amazon WorkSpaces. After a directory is + * deregistered, the DEREGISTERED state is returned very briefly before the directory + * metadata is cleaned up, so this state is rarely returned. To confirm that a directory is deregistered, + * check for the directory ID by using + * + * DescribeWorkspaceDirectories. If the directory ID isn't returned, then the directory has been + * successfully deregistered.

                                                                                            */ - Tenancy?: Tenancy | string; + State?: WorkspaceDirectoryState | string; /** - *

                                                                                            The directory identifier.

                                                                                            + *

                                                                                            The name of the directory.

                                                                                            */ - DirectoryId?: string; + DirectoryName?: string; /** *

                                                                                            The devices and operating systems that users can use to access WorkSpaces.

                                                                                            @@ -1463,9 +1771,9 @@ export interface WorkspaceDirectory { WorkspaceAccessProperties?: WorkspaceAccessProperties; /** - *

                                                                                            The default self-service permissions for WorkSpaces in the directory.

                                                                                            + *

                                                                                            The IP addresses of the DNS servers for the directory.

                                                                                            */ - SelfservicePermissions?: SelfservicePermissions; + DnsIpAddresses?: string[]; /** *

                                                                                            The registration code for the directory. This is the code that users enter in their @@ -1474,14 +1782,21 @@ export interface WorkspaceDirectory { RegistrationCode?: string; /** - *

                                                                                            The IP addresses of the DNS servers for the directory.

                                                                                            + *

                                                                                            The identifier of the security group that is assigned to new WorkSpaces.

                                                                                            */ - DnsIpAddresses?: string[]; + WorkspaceSecurityGroupId?: string; /** - *

                                                                                            The identifier of the security group that is assigned to new WorkSpaces.

                                                                                            + *

                                                                                            Specifies whether the directory is dedicated or shared. To use Bring Your Own License + * (BYOL), this value must be set to DEDICATED. For more information, see Bring + * Your Own Windows Desktop Images.

                                                                                            */ - WorkspaceSecurityGroupId?: string; + Tenancy?: Tenancy | string; + + /** + *

                                                                                            The default creation properties for all WorkSpaces in the directory.

                                                                                            + */ + WorkspaceCreationProperties?: DefaultWorkspaceCreationProperties; /** *

                                                                                            The directory type.

                                                                                            @@ -1489,14 +1804,14 @@ export interface WorkspaceDirectory { DirectoryType?: WorkspaceDirectoryType | string; /** - *

                                                                                            The default creation properties for all WorkSpaces in the directory.

                                                                                            + *

                                                                                            The identifiers of the subnets used with the directory.

                                                                                            */ - WorkspaceCreationProperties?: DefaultWorkspaceCreationProperties; + SubnetIds?: string[]; /** - *

                                                                                            The state of the directory's registration with Amazon WorkSpaces.

                                                                                            + *

                                                                                            The user name for the service account.

                                                                                            */ - State?: WorkspaceDirectoryState | string; + CustomerUserName?: string; /** *

                                                                                            The identifiers of the IP access control groups associated with the directory.

                                                                                            @@ -1509,9 +1824,9 @@ export interface WorkspaceDirectory { Alias?: string; /** - *

                                                                                            The identifiers of the subnets used with the directory.

                                                                                            + *

                                                                                            The default self-service permissions for WorkSpaces in the directory.

                                                                                            */ - SubnetIds?: string[]; + SelfservicePermissions?: SelfservicePermissions; } export namespace WorkspaceDirectory { @@ -1540,17 +1855,17 @@ export namespace DescribeWorkspaceDirectoriesResult { } export interface DescribeWorkspaceImagePermissionsRequest { - /** - *

                                                                                            The maximum number of items to return.

                                                                                            - */ - MaxResults?: number; - /** *

                                                                                            If you received a NextToken from a previous call that was paginated, * provide this token to receive the next set of results.

                                                                                            */ NextToken?: string; + /** + *

                                                                                            The maximum number of items to return.

                                                                                            + */ + MaxResults?: number; + /** *

                                                                                            The identifier of the image.

                                                                                            */ @@ -1564,7 +1879,10 @@ export namespace DescribeWorkspaceImagePermissionsRequest { } /** - *

                                                                                            Describes the AWS accounts that have been granted permission to use a shared image.

                                                                                            + *

                                                                                            Describes the AWS accounts that have been granted permission to use a shared image. For more + * information about sharing images, see + * + * Share or Unshare a Custom WorkSpaces Image.

                                                                                            */ export interface ImagePermission { /** @@ -1581,14 +1899,14 @@ export namespace ImagePermission { export interface DescribeWorkspaceImagePermissionsResult { /** - *

                                                                                            The identifiers of the AWS accounts that the image has been shared with.

                                                                                            + *

                                                                                            The identifier of the image.

                                                                                            */ - ImagePermissions?: ImagePermission[]; + ImageId?: string; /** - *

                                                                                            The identifier of the image.

                                                                                            + *

                                                                                            The identifiers of the AWS accounts that the image has been shared with.

                                                                                            */ - ImageId?: string; + ImagePermissions?: ImagePermission[]; /** *

                                                                                            The token to use to retrieve the next set of results, or null if no more @@ -1609,6 +1927,12 @@ export enum ImageType { } export interface DescribeWorkspaceImagesRequest { + /** + *

                                                                                            If you received a NextToken from a previous call that was paginated, + * provide this token to receive the next set of results.

                                                                                            + */ + NextToken?: string; + /** *

                                                                                            The identifier of the image.

                                                                                            */ @@ -1619,12 +1943,6 @@ export interface DescribeWorkspaceImagesRequest { */ MaxResults?: number; - /** - *

                                                                                            If you received a NextToken from a previous call that was paginated, - * provide this token to receive the next set of results.

                                                                                            - */ - NextToken?: string; - /** *

                                                                                            The type (owned or shared) of the image.

                                                                                            */ @@ -1674,19 +1992,25 @@ export enum WorkspaceImageState { */ export interface WorkspaceImage { /** - *

                                                                                            The name of the image.

                                                                                            + *

                                                                                            The operating system that the image is running.

                                                                                            */ - Name?: string; + OperatingSystem?: OperatingSystem; /** - *

                                                                                            The error code that is returned for the image.

                                                                                            + *

                                                                                            The date when the image was created. If the image has been shared, the AWS account + * that the image has been shared with sees the original creation date of the image.

                                                                                            */ - ErrorCode?: string; + Created?: Date; /** - *

                                                                                            The identifier of the image.

                                                                                            + *

                                                                                            The identifier of the AWS account that owns the image.

                                                                                            */ - ImageId?: string; + OwnerAccountId?: string; + + /** + *

                                                                                            The description of the image.

                                                                                            + */ + Description?: string; /** *

                                                                                            Specifies whether the image is running on dedicated hardware. When Bring Your Own @@ -1697,35 +2021,29 @@ export interface WorkspaceImage { RequiredTenancy?: WorkspaceImageRequiredTenancy | string; /** - *

                                                                                            The status of the image.

                                                                                            - */ - State?: WorkspaceImageState | string; - - /** - *

                                                                                            The description of the image.

                                                                                            + *

                                                                                            The name of the image.

                                                                                            */ - Description?: string; + Name?: string; /** - *

                                                                                            The identifier of the AWS account that owns the image.

                                                                                            + *

                                                                                            The status of the image.

                                                                                            */ - OwnerAccountId?: string; + State?: WorkspaceImageState | string; /** - *

                                                                                            The operating system that the image is running.

                                                                                            + *

                                                                                            The text of the error message that is returned for the image.

                                                                                            */ - OperatingSystem?: OperatingSystem; + ErrorMessage?: string; /** - *

                                                                                            The date when the image was created. If the image has been shared, the AWS account - * that the image has been shared with sees the original creation date of the image.

                                                                                            + *

                                                                                            The error code that is returned for the image.

                                                                                            */ - Created?: Date; + ErrorCode?: string; /** - *

                                                                                            The text of the error message that is returned for the image.

                                                                                            + *

                                                                                            The identifier of the image.

                                                                                            */ - ErrorMessage?: string; + ImageId?: string; } export namespace WorkspaceImage { @@ -1755,10 +2073,10 @@ export namespace DescribeWorkspaceImagesResult { export interface DescribeWorkspacesRequest { /** - *

                                                                                            If you received a NextToken from a previous call that was paginated, - * provide this token to receive the next set of results.

                                                                                            + *

                                                                                            The identifier of the bundle. All WorkSpaces that are created from this bundle are + * retrieved. You cannot combine this parameter with any other filter.

                                                                                            */ - NextToken?: string; + BundleId?: string; /** *

                                                                                            The name of the directory user. You must specify this parameter with @@ -1766,17 +2084,6 @@ export interface DescribeWorkspacesRequest { */ UserName?: string; - /** - *

                                                                                            The maximum number of items to return.

                                                                                            - */ - Limit?: number; - - /** - *

                                                                                            The identifier of the bundle. All WorkSpaces that are created from this bundle are - * retrieved. You cannot combine this parameter with any other filter.

                                                                                            - */ - BundleId?: string; - /** *

                                                                                            The identifier of the directory. In addition, you can optionally specify a specific * directory user (see UserName). You cannot combine this parameter with any @@ -1784,6 +2091,11 @@ export interface DescribeWorkspacesRequest { */ DirectoryId?: string; + /** + *

                                                                                            The maximum number of items to return.

                                                                                            + */ + Limit?: number; + /** *

                                                                                            The identifiers of the WorkSpaces. You cannot combine this parameter with any other * filter.

                                                                                            @@ -1791,6 +2103,12 @@ export interface DescribeWorkspacesRequest { * it returns is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information is returned.

                                                                                            */ WorkspaceIds?: string[]; + + /** + *

                                                                                            If you received a NextToken from a previous call that was paginated, + * provide this token to receive the next set of results.

                                                                                            + */ + NextToken?: string; } export namespace DescribeWorkspacesRequest { @@ -1800,18 +2118,18 @@ export namespace DescribeWorkspacesRequest { } export interface DescribeWorkspacesResult { + /** + *

                                                                                            The token to use to retrieve the next set of results, or null if no more results are + * available.

                                                                                            + */ + NextToken?: string; + /** *

                                                                                            Information about the WorkSpaces.

                                                                                            *

                                                                                            Because CreateWorkspaces is an asynchronous operation, some of the * returned information could be incomplete.

                                                                                            */ Workspaces?: Workspace[]; - - /** - *

                                                                                            The token to use to retrieve the next set of results, or null if no more results are - * available.

                                                                                            - */ - NextToken?: string; } export namespace DescribeWorkspacesResult { @@ -1843,11 +2161,6 @@ export namespace DescribeWorkspacesConnectionStatusRequest { *

                                                                                            Describes the connection status of a WorkSpace.

                                                                                            */ export interface WorkspaceConnectionStatus { - /** - *

                                                                                            The identifier of the WorkSpace.

                                                                                            - */ - WorkspaceId?: string; - /** *

                                                                                            The connection state of the WorkSpace. The connection state is unknown if the WorkSpace * is stopped.

                                                                                            @@ -1855,14 +2168,19 @@ export interface WorkspaceConnectionStatus { ConnectionState?: ConnectionState | string; /** - *

                                                                                            The timestamp of the last known user connection.

                                                                                            + *

                                                                                            The identifier of the WorkSpace.

                                                                                            */ - LastKnownUserConnectionTimestamp?: Date; + WorkspaceId?: string; /** *

                                                                                            The timestamp of the connection status check.

                                                                                            */ ConnectionStateCheckTimestamp?: Date; + + /** + *

                                                                                            The timestamp of the last known user connection.

                                                                                            + */ + LastKnownUserConnectionTimestamp?: Date; } export namespace WorkspaceConnectionStatus { @@ -1872,16 +2190,16 @@ export namespace WorkspaceConnectionStatus { } export interface DescribeWorkspacesConnectionStatusResult { - /** - *

                                                                                            Information about the connection status of the WorkSpace.

                                                                                            - */ - WorkspacesConnectionStatus?: WorkspaceConnectionStatus[]; - /** *

                                                                                            The token to use to retrieve the next set of results, or null if no more results are * available.

                                                                                            */ NextToken?: string; + + /** + *

                                                                                            Information about the connection status of the WorkSpace.

                                                                                            + */ + WorkspacesConnectionStatus?: WorkspaceConnectionStatus[]; } export namespace DescribeWorkspacesConnectionStatusResult { @@ -1920,17 +2238,17 @@ export namespace Snapshot { } export interface DescribeWorkspaceSnapshotsResult { - /** - *

                                                                                            Information about the snapshots that can be used to rebuild a WorkSpace. These snapshots include - * the user volume.

                                                                                            - */ - RebuildSnapshots?: Snapshot[]; - /** *

                                                                                            Information about the snapshots that can be used to restore a WorkSpace. These snapshots * include both the root volume and the user volume.

                                                                                            */ RestoreSnapshots?: Snapshot[]; + + /** + *

                                                                                            Information about the snapshots that can be used to rebuild a WorkSpace. These snapshots include + * the user volume.

                                                                                            + */ + RebuildSnapshots?: Snapshot[]; } export namespace DescribeWorkspaceSnapshotsResult { @@ -1939,16 +2257,37 @@ export namespace DescribeWorkspaceSnapshotsResult { }); } -export interface DisassociateIpGroupsRequest { +export interface DisassociateConnectionAliasRequest { /** - *

                                                                                            The identifiers of one or more IP access control groups.

                                                                                            + *

                                                                                            The identifier of the connection alias to disassociate.

                                                                                            */ - GroupIds: string[] | undefined; + AliasId: string | undefined; +} +export namespace DisassociateConnectionAliasRequest { + export const filterSensitiveLog = (obj: DisassociateConnectionAliasRequest): any => ({ + ...obj, + }); +} + +export interface DisassociateConnectionAliasResult {} + +export namespace DisassociateConnectionAliasResult { + export const filterSensitiveLog = (obj: DisassociateConnectionAliasResult): any => ({ + ...obj, + }); +} + +export interface DisassociateIpGroupsRequest { /** *

                                                                                            The identifier of the directory.

                                                                                            */ DirectoryId: string | undefined; + + /** + *

                                                                                            The identifiers of one or more IP access control groups.

                                                                                            + */ + GroupIds: string[] | undefined; } export namespace DisassociateIpGroupsRequest { @@ -1972,10 +2311,9 @@ export namespace DisassociateIpGroupsResult { */ export interface FailedWorkspaceChangeRequest { /** - *

                                                                                            The text of the error message that is returned if the WorkSpace cannot be - * rebooted.

                                                                                            + *

                                                                                            The identifier of the WorkSpace.

                                                                                            */ - ErrorMessage?: string; + WorkspaceId?: string; /** *

                                                                                            The error code that is returned if the WorkSpace cannot be rebooted.

                                                                                            @@ -1983,9 +2321,10 @@ export interface FailedWorkspaceChangeRequest { ErrorCode?: string; /** - *

                                                                                            The identifier of the WorkSpace.

                                                                                            + *

                                                                                            The text of the error message that is returned if the WorkSpace cannot be + * rebooted.

                                                                                            */ - WorkspaceId?: string; + ErrorMessage?: string; } export namespace FailedWorkspaceChangeRequest { @@ -2002,9 +2341,14 @@ export enum WorkspaceImageIngestionProcess { export interface ImportWorkspaceImageRequest { /** - *

                                                                                            The identifier of the EC2 image.

                                                                                            + *

                                                                                            The name of the WorkSpace image.

                                                                                            */ - Ec2ImageId: string | undefined; + ImageName: string | undefined; + + /** + *

                                                                                            The tags. Each WorkSpaces resource can have a maximum of 50 tags.

                                                                                            + */ + Tags?: Tag[]; /** *

                                                                                            The description of the WorkSpace image.

                                                                                            @@ -2012,19 +2356,27 @@ export interface ImportWorkspaceImageRequest { ImageDescription: string | undefined; /** - *

                                                                                            The tags. Each WorkSpaces resource can have a maximum of 50 tags.

                                                                                            + *

                                                                                            The identifier of the EC2 image.

                                                                                            */ - Tags?: Tag[]; + Ec2ImageId: string | undefined; /** - *

                                                                                            The ingestion process to be used when importing the image.

                                                                                            + *

                                                                                            If specified, the version of Microsoft Office to subscribe to. Valid only for Windows 10 + * BYOL images. For more information about subscribing to Office for BYOL images, see + * + * Bring Your Own Windows Desktop Licenses.

                                                                                            + * + * + *

                                                                                            Although this parameter is an array, only one item is allowed at this time.

                                                                                            + *
                                                                                            */ - IngestionProcess: WorkspaceImageIngestionProcess | string | undefined; + Applications?: (Application | string)[]; /** - *

                                                                                            The name of the WorkSpace image.

                                                                                            + *

                                                                                            The ingestion process to be used when importing the image. For non-GPU-enabled bundles + * (bundles other than Graphics or GraphicsPro), specify BYOL_REGULAR.

                                                                                            */ - ImageName: string | undefined; + IngestionProcess: WorkspaceImageIngestionProcess | string | undefined; } export namespace ImportWorkspaceImageRequest { @@ -2054,15 +2406,15 @@ export interface ListAvailableManagementCidrRangesRequest { ManagementCidrRangeConstraint: string | undefined; /** - *

                                                                                            If you received a NextToken from a previous call that was paginated, - * provide this token to receive the next set of results.

                                                                                            + *

                                                                                            The maximum number of items to return.

                                                                                            */ - NextToken?: string; + MaxResults?: number; /** - *

                                                                                            The maximum number of items to return.

                                                                                            + *

                                                                                            If you received a NextToken from a previous call that was paginated, + * provide this token to receive the next set of results.

                                                                                            */ - MaxResults?: number; + NextToken?: string; } export namespace ListAvailableManagementCidrRangesRequest { @@ -2110,15 +2462,15 @@ export namespace MigrateWorkspaceRequest { export interface MigrateWorkspaceResult { /** - *

                                                                                            The new identifier of the WorkSpace that is being migrated. If the migration does not succeed, - * the target WorkSpace ID will not be used, and the WorkSpace will still have the original WorkSpace ID.

                                                                                            + *

                                                                                            The original identifier of the WorkSpace that is being migrated.

                                                                                            */ - TargetWorkspaceId?: string; + SourceWorkspaceId?: string; /** - *

                                                                                            The original identifier of the WorkSpace that is being migrated.

                                                                                            + *

                                                                                            The new identifier of the WorkSpace that is being migrated. If the migration does not succeed, + * the target WorkSpace ID will not be used, and the WorkSpace will still have the original WorkSpace ID.

                                                                                            */ - SourceWorkspaceId?: string; + TargetWorkspaceId?: string; } export namespace MigrateWorkspaceResult { @@ -2143,11 +2495,6 @@ export namespace OperationInProgressException { } export interface ModifyAccountRequest { - /** - *

                                                                                            The status of BYOL.

                                                                                            - */ - DedicatedTenancySupport?: DedicatedTenancySupportEnum | string; - /** *

                                                                                            The IP address range, specified as an IPv4 CIDR block, for the management network * interface. Specify an IP address range that is compatible with your network and in CIDR @@ -2156,6 +2503,11 @@ export interface ModifyAccountRequest { * ListAvailableManagementCidrRanges operation.

                                                                                            */ DedicatedTenancyManagementCidrRange?: string; + + /** + *

                                                                                            The status of BYOL.

                                                                                            + */ + DedicatedTenancySupport?: DedicatedTenancySupportEnum | string; } export namespace ModifyAccountRequest { @@ -2226,14 +2578,14 @@ export namespace ModifySelfservicePermissionsResult { export interface ModifyWorkspaceAccessPropertiesRequest { /** - *

                                                                                            The identifier of the directory.

                                                                                            + *

                                                                                            The device types and operating systems to enable or disable for access.

                                                                                            */ - ResourceId: string | undefined; + WorkspaceAccessProperties: WorkspaceAccessProperties | undefined; /** - *

                                                                                            The device types and operating systems to enable or disable for access.

                                                                                            + *

                                                                                            The identifier of the directory.

                                                                                            */ - WorkspaceAccessProperties: WorkspaceAccessProperties | undefined; + ResourceId: string | undefined; } export namespace ModifyWorkspaceAccessPropertiesRequest { @@ -2257,14 +2609,9 @@ export namespace ModifyWorkspaceAccessPropertiesResult { */ export interface WorkspaceCreationProperties { /** - *

                                                                                            The identifier of your custom security group.

                                                                                            - */ - CustomSecurityGroupId?: string; - - /** - *

                                                                                            Indicates whether internet access is enabled for your WorkSpaces.

                                                                                            + *

                                                                                            Indicates whether users are local administrators of their WorkSpaces.

                                                                                            */ - EnableInternetAccess?: boolean; + UserEnabledAsLocalAdministrator?: boolean; /** *

                                                                                            Indicates whether maintenance mode is enabled for your WorkSpaces. For more information, @@ -2274,12 +2621,52 @@ export interface WorkspaceCreationProperties { EnableMaintenanceMode?: boolean; /** - *

                                                                                            Indicates whether users are local administrators of their WorkSpaces.

                                                                                            + *

                                                                                            The identifier of your custom security group.

                                                                                            */ - UserEnabledAsLocalAdministrator?: boolean; + CustomSecurityGroupId?: string; + + /** + *

                                                                                            Indicates whether internet access is enabled for your WorkSpaces.

                                                                                            + */ + EnableInternetAccess?: boolean; + + /** + *

                                                                                            Indicates whether Amazon WorkDocs is enabled for your WorkSpaces.

                                                                                            + * + * + *

                                                                                            If WorkDocs is already enabled for a WorkSpaces directory and you disable it, new WorkSpaces launched in the + * directory will not have WorkDocs enabled. However, WorkDocs remains enabled for any existing WorkSpaces, unless + * you either disable users' access to WorkDocs or you delete the WorkDocs site. To disable users' access to WorkDocs, + * see Disabling Users in the + * Amazon WorkDocs Administration Guide. To delete a WorkDocs site, see + * Deleting a Site in the + * Amazon WorkDocs Administration Guide.

                                                                                            + * + *

                                                                                            If you enable WorkDocs on a directory that already has existing WorkSpaces, the existing WorkSpaces and any + * new WorkSpaces that are launched in the directory will have WorkDocs enabled.

                                                                                            + *
                                                                                            + */ + EnableWorkDocs?: boolean; /** - *

                                                                                            The default organizational unit (OU) for your WorkSpace directories.

                                                                                            + *

                                                                                            The default organizational unit (OU) for your WorkSpaces directories. This string must be the full Lightweight + * Directory Access Protocol (LDAP) distinguished name for the target domain and OU. It must be in the form + * "OU=value,DC=value,DC=value", + * where value is any string of characters, and the number of domain components (DCs) is + * two or more. For example, OU=WorkSpaces_machines,DC=machines,DC=example,DC=com.

                                                                                            + * + * + *
                                                                                              + *
                                                                                            • + *

                                                                                              To avoid errors, certain characters in the distinguished name must be escaped. For more information, + * see + * Distinguished Names in the Microsoft documentation.

                                                                                              + *
                                                                                            • + *
                                                                                            • + *

                                                                                              The API doesn't validate whether the OU exists.

                                                                                              + *
                                                                                            • + *
                                                                                            + *
                                                                                            */ DefaultOu?: string; } @@ -2366,14 +2753,14 @@ export enum TargetWorkspaceState { export interface ModifyWorkspaceStateRequest { /** - *

                                                                                            The WorkSpace state.

                                                                                            + *

                                                                                            The identifier of the WorkSpace.

                                                                                            */ - WorkspaceState: TargetWorkspaceState | string | undefined; + WorkspaceId: string | undefined; /** - *

                                                                                            The identifier of the WorkSpace.

                                                                                            + *

                                                                                            The WorkSpace state.

                                                                                            */ - WorkspaceId: string | undefined; + WorkspaceState: TargetWorkspaceState | string | undefined; } export namespace ModifyWorkspaceStateRequest { @@ -2476,18 +2863,11 @@ export namespace RebuildWorkspacesResult { export interface RegisterWorkspaceDirectoryRequest { /** - *

                                                                                            The tags associated with the directory.

                                                                                            - */ - Tags?: Tag[]; - - /** - *

                                                                                            Indicates whether your WorkSpace directory is dedicated or shared. To use Bring Your Own - * License (BYOL) images, this value must be set to DEDICATED and your AWS account must be - * enabled for BYOL. If your account has not been enabled for BYOL, you will receive an - * InvalidParameterValuesException error. For more information about BYOL images, see - * Bring Your Own Windows Desktop Images.

                                                                                            + *

                                                                                            Indicates whether Amazon WorkDocs is enabled or disabled. If you have enabled this parameter and + * WorkDocs is not available in the Region, you will receive an OperationNotSupportedException error. Set + * EnableWorkDocs to disabled, and try again.

                                                                                            */ - Tenancy?: Tenancy | string; + EnableWorkDocs: boolean | undefined; /** *

                                                                                            The identifier of the directory. You cannot register a directory if it does not have a status @@ -2499,11 +2879,14 @@ export interface RegisterWorkspaceDirectoryRequest { DirectoryId: string | undefined; /** - *

                                                                                            Indicates whether Amazon WorkDocs is enabled or disabled. If you have enabled this parameter and - * WorkDocs is not available in the Region, you will receive an OperationNotSupportedException error. Set - * EnableWorkDocs to disabled, and try again.

                                                                                            + *

                                                                                            Indicates whether self-service capabilities are enabled or disabled.

                                                                                            */ - EnableWorkDocs: boolean | undefined; + EnableSelfService?: boolean; + + /** + *

                                                                                            The tags associated with the directory.

                                                                                            + */ + Tags?: Tag[]; /** *

                                                                                            The identifiers of the subnets for your virtual private cloud (VPC). Make sure that the subnets @@ -2513,9 +2896,13 @@ export interface RegisterWorkspaceDirectoryRequest { SubnetIds?: string[]; /** - *

                                                                                            Indicates whether self-service capabilities are enabled or disabled.

                                                                                            + *

                                                                                            Indicates whether your WorkSpace directory is dedicated or shared. To use Bring Your Own + * License (BYOL) images, this value must be set to DEDICATED and your AWS account must be + * enabled for BYOL. If your account has not been enabled for BYOL, you will receive an + * InvalidParameterValuesException error. For more information about BYOL images, see + * Bring Your Own Windows Desktop Images.

                                                                                            */ - EnableSelfService?: boolean; + Tenancy?: Tenancy | string; } export namespace RegisterWorkspaceDirectoryRequest { @@ -2739,6 +3126,32 @@ export namespace TerminateWorkspacesResult { }); } +export interface UpdateConnectionAliasPermissionRequest { + /** + *

                                                                                            The identifier of the connection alias that you want to update permissions for.

                                                                                            + */ + AliasId: string | undefined; + + /** + *

                                                                                            Indicates whether to share or unshare the connection alias with the specified AWS account.

                                                                                            + */ + ConnectionAliasPermission: ConnectionAliasPermission | undefined; +} + +export namespace UpdateConnectionAliasPermissionRequest { + export const filterSensitiveLog = (obj: UpdateConnectionAliasPermissionRequest): any => ({ + ...obj, + }); +} + +export interface UpdateConnectionAliasPermissionResult {} + +export namespace UpdateConnectionAliasPermissionResult { + export const filterSensitiveLog = (obj: UpdateConnectionAliasPermissionResult): any => ({ + ...obj, + }); +} + export interface UpdateRulesOfIpGroupRequest { /** *

                                                                                            One or more rules.

                                                                                            @@ -2774,6 +3187,10 @@ export interface UpdateWorkspaceImagePermissionRequest { /** *

                                                                                            The identifier of the AWS account to share or unshare the image with.

                                                                                            + * + * + *

                                                                                            Before sharing the image, confirm that you are sharing to the correct AWS account ID.

                                                                                            + *
                                                                                            */ SharedAccountId: string | undefined; diff --git a/clients/client-workspaces/protocols/Aws_json1_1.ts b/clients/client-workspaces/protocols/Aws_json1_1.ts index 20b77072c04a..388a84082de2 100644 --- a/clients/client-workspaces/protocols/Aws_json1_1.ts +++ b/clients/client-workspaces/protocols/Aws_json1_1.ts @@ -1,9 +1,21 @@ +import { + AssociateConnectionAliasCommandInput, + AssociateConnectionAliasCommandOutput, +} from "../commands/AssociateConnectionAliasCommand"; import { AssociateIpGroupsCommandInput, AssociateIpGroupsCommandOutput } from "../commands/AssociateIpGroupsCommand"; import { AuthorizeIpRulesCommandInput, AuthorizeIpRulesCommandOutput } from "../commands/AuthorizeIpRulesCommand"; import { CopyWorkspaceImageCommandInput, CopyWorkspaceImageCommandOutput } from "../commands/CopyWorkspaceImageCommand"; +import { + CreateConnectionAliasCommandInput, + CreateConnectionAliasCommandOutput, +} from "../commands/CreateConnectionAliasCommand"; import { CreateIpGroupCommandInput, CreateIpGroupCommandOutput } from "../commands/CreateIpGroupCommand"; import { CreateTagsCommandInput, CreateTagsCommandOutput } from "../commands/CreateTagsCommand"; import { CreateWorkspacesCommandInput, CreateWorkspacesCommandOutput } from "../commands/CreateWorkspacesCommand"; +import { + DeleteConnectionAliasCommandInput, + DeleteConnectionAliasCommandOutput, +} from "../commands/DeleteConnectionAliasCommand"; import { DeleteIpGroupCommandInput, DeleteIpGroupCommandOutput } from "../commands/DeleteIpGroupCommand"; import { DeleteTagsCommandInput, DeleteTagsCommandOutput } from "../commands/DeleteTagsCommand"; import { @@ -23,6 +35,14 @@ import { DescribeClientPropertiesCommandInput, DescribeClientPropertiesCommandOutput, } from "../commands/DescribeClientPropertiesCommand"; +import { + DescribeConnectionAliasPermissionsCommandInput, + DescribeConnectionAliasPermissionsCommandOutput, +} from "../commands/DescribeConnectionAliasPermissionsCommand"; +import { + DescribeConnectionAliasesCommandInput, + DescribeConnectionAliasesCommandOutput, +} from "../commands/DescribeConnectionAliasesCommand"; import { DescribeIpGroupsCommandInput, DescribeIpGroupsCommandOutput } from "../commands/DescribeIpGroupsCommand"; import { DescribeTagsCommandInput, DescribeTagsCommandOutput } from "../commands/DescribeTagsCommand"; import { @@ -50,6 +70,10 @@ import { DescribeWorkspacesConnectionStatusCommandInput, DescribeWorkspacesConnectionStatusCommandOutput, } from "../commands/DescribeWorkspacesConnectionStatusCommand"; +import { + DisassociateConnectionAliasCommandInput, + DisassociateConnectionAliasCommandOutput, +} from "../commands/DisassociateConnectionAliasCommand"; import { DisassociateIpGroupsCommandInput, DisassociateIpGroupsCommandOutput, @@ -102,6 +126,10 @@ import { TerminateWorkspacesCommandInput, TerminateWorkspacesCommandOutput, } from "../commands/TerminateWorkspacesCommand"; +import { + UpdateConnectionAliasPermissionCommandInput, + UpdateConnectionAliasPermissionCommandOutput, +} from "../commands/UpdateConnectionAliasPermissionCommand"; import { UpdateRulesOfIpGroupCommandInput, UpdateRulesOfIpGroupCommandOutput, @@ -113,6 +141,9 @@ import { import { AccessDeniedException, AccountModification, + Application, + AssociateConnectionAliasRequest, + AssociateConnectionAliasResult, AssociateIpGroupsRequest, AssociateIpGroupsResult, AuthorizeIpRulesRequest, @@ -120,8 +151,13 @@ import { ClientProperties, ClientPropertiesResult, ComputeType, + ConnectionAlias, + ConnectionAliasAssociation, + ConnectionAliasPermission, CopyWorkspaceImageRequest, CopyWorkspaceImageResult, + CreateConnectionAliasRequest, + CreateConnectionAliasResult, CreateIpGroupRequest, CreateIpGroupResult, CreateTagsRequest, @@ -129,6 +165,8 @@ import { CreateWorkspacesRequest, CreateWorkspacesResult, DefaultWorkspaceCreationProperties, + DeleteConnectionAliasRequest, + DeleteConnectionAliasResult, DeleteIpGroupRequest, DeleteIpGroupResult, DeleteTagsRequest, @@ -143,6 +181,10 @@ import { DescribeAccountResult, DescribeClientPropertiesRequest, DescribeClientPropertiesResult, + DescribeConnectionAliasPermissionsRequest, + DescribeConnectionAliasPermissionsResult, + DescribeConnectionAliasesRequest, + DescribeConnectionAliasesResult, DescribeIpGroupsRequest, DescribeIpGroupsResult, DescribeTagsRequest, @@ -161,6 +203,8 @@ import { DescribeWorkspacesConnectionStatusResult, DescribeWorkspacesRequest, DescribeWorkspacesResult, + DisassociateConnectionAliasRequest, + DisassociateConnectionAliasResult, DisassociateIpGroupsRequest, DisassociateIpGroupsResult, FailedCreateWorkspaceRequest, @@ -226,6 +270,8 @@ import { TerminateWorkspacesResult, UnsupportedNetworkConfigurationException, UnsupportedWorkspaceConfigurationException, + UpdateConnectionAliasPermissionRequest, + UpdateConnectionAliasPermissionResult, UpdateRulesOfIpGroupRequest, UpdateRulesOfIpGroupResult, UpdateWorkspaceImagePermissionRequest, @@ -253,6 +299,19 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; +export const serializeAws_json1_1AssociateConnectionAliasCommand = async ( + input: AssociateConnectionAliasCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkspacesService.AssociateConnectionAlias", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1AssociateConnectionAliasRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1AssociateIpGroupsCommand = async ( input: AssociateIpGroupsCommandInput, context: __SerdeContext @@ -292,6 +351,19 @@ export const serializeAws_json1_1CopyWorkspaceImageCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1CreateConnectionAliasCommand = async ( + input: CreateConnectionAliasCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkspacesService.CreateConnectionAlias", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1CreateConnectionAliasRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateIpGroupCommand = async ( input: CreateIpGroupCommandInput, context: __SerdeContext @@ -331,6 +403,19 @@ export const serializeAws_json1_1CreateWorkspacesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeleteConnectionAliasCommand = async ( + input: DeleteConnectionAliasCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkspacesService.DeleteConnectionAlias", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeleteConnectionAliasRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DeleteIpGroupCommand = async ( input: DeleteIpGroupCommandInput, context: __SerdeContext @@ -422,6 +507,32 @@ export const serializeAws_json1_1DescribeClientPropertiesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeConnectionAliasesCommand = async ( + input: DescribeConnectionAliasesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkspacesService.DescribeConnectionAliases", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeConnectionAliasesRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1DescribeConnectionAliasPermissionsCommand = async ( + input: DescribeConnectionAliasPermissionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkspacesService.DescribeConnectionAliasPermissions", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeConnectionAliasPermissionsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeIpGroupsCommand = async ( input: DescribeIpGroupsCommandInput, context: __SerdeContext @@ -539,6 +650,19 @@ export const serializeAws_json1_1DescribeWorkspaceSnapshotsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DisassociateConnectionAliasCommand = async ( + input: DisassociateConnectionAliasCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkspacesService.DisassociateConnectionAlias", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DisassociateConnectionAliasRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DisassociateIpGroupsCommand = async ( input: DisassociateIpGroupsCommandInput, context: __SerdeContext @@ -786,6 +910,19 @@ export const serializeAws_json1_1TerminateWorkspacesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateConnectionAliasPermissionCommand = async ( + input: UpdateConnectionAliasPermissionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "WorkspacesService.UpdateConnectionAliasPermission", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateConnectionAliasPermissionRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateRulesOfIpGroupCommand = async ( input: UpdateRulesOfIpGroupCommandInput, context: __SerdeContext @@ -812,6 +949,101 @@ export const serializeAws_json1_1UpdateWorkspaceImagePermissionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const deserializeAws_json1_1AssociateConnectionAliasCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1AssociateConnectionAliasCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1AssociateConnectionAliasResult(data, context); + const response: AssociateConnectionAliasCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1AssociateConnectionAliasCommandError = 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.workspaces#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValuesException": + case "com.amazonaws.workspaces#InvalidParameterValuesException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValuesExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidResourceStateException": + case "com.amazonaws.workspaces#InvalidResourceStateException": + response = { + ...(await deserializeAws_json1_1InvalidResourceStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotSupportedException": + case "com.amazonaws.workspaces#OperationNotSupportedException": + response = { + ...(await deserializeAws_json1_1OperationNotSupportedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAssociatedException": + case "com.amazonaws.workspaces#ResourceAssociatedException": + response = { + ...(await deserializeAws_json1_1ResourceAssociatedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.workspaces#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_1AssociateIpGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1097,6 +1329,101 @@ const deserializeAws_json1_1CopyWorkspaceImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1CreateConnectionAliasCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1CreateConnectionAliasCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1CreateConnectionAliasResult(data, context); + const response: CreateConnectionAliasCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1CreateConnectionAliasCommandError = 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.workspaces#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValuesException": + case "com.amazonaws.workspaces#InvalidParameterValuesException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValuesExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidResourceStateException": + case "com.amazonaws.workspaces#InvalidResourceStateException": + response = { + ...(await deserializeAws_json1_1InvalidResourceStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotSupportedException": + case "com.amazonaws.workspaces#OperationNotSupportedException": + response = { + ...(await deserializeAws_json1_1OperationNotSupportedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAlreadyExistsException": + case "com.amazonaws.workspaces#ResourceAlreadyExistsException": + response = { + ...(await deserializeAws_json1_1ResourceAlreadyExistsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.workspaces#ResourceLimitExceededException": + response = { + ...(await deserializeAws_json1_1ResourceLimitExceededExceptionResponse(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_1CreateIpGroupCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1318,27 +1645,27 @@ const deserializeAws_json1_1CreateWorkspacesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_json1_1DeleteIpGroupCommand = async ( +export const deserializeAws_json1_1DeleteConnectionAliasCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_json1_1DeleteIpGroupCommandError(output, context); + return deserializeAws_json1_1DeleteConnectionAliasCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_json1_1DeleteIpGroupResult(data, context); - const response: DeleteIpGroupCommandOutput = { + contents = deserializeAws_json1_1DeleteConnectionAliasResult(data, context); + const response: DeleteConnectionAliasCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_json1_1DeleteIpGroupCommandError = async ( +const deserializeAws_json1_1DeleteConnectionAliasCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1364,9 +1691,104 @@ const deserializeAws_json1_1DeleteIpGroupCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceAssociatedException": - case "com.amazonaws.workspaces#ResourceAssociatedException": - response = { + case "InvalidResourceStateException": + case "com.amazonaws.workspaces#InvalidResourceStateException": + response = { + ...(await deserializeAws_json1_1InvalidResourceStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotSupportedException": + case "com.amazonaws.workspaces#OperationNotSupportedException": + response = { + ...(await deserializeAws_json1_1OperationNotSupportedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAssociatedException": + case "com.amazonaws.workspaces#ResourceAssociatedException": + response = { + ...(await deserializeAws_json1_1ResourceAssociatedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.workspaces#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_1DeleteIpGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DeleteIpGroupCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DeleteIpGroupResult(data, context); + const response: DeleteIpGroupCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DeleteIpGroupCommandError = 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.workspaces#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValuesException": + case "com.amazonaws.workspaces#InvalidParameterValuesException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValuesExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAssociatedException": + case "com.amazonaws.workspaces#ResourceAssociatedException": + response = { ...(await deserializeAws_json1_1ResourceAssociatedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), @@ -1799,6 +2221,156 @@ const deserializeAws_json1_1DescribeClientPropertiesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeConnectionAliasesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeConnectionAliasesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeConnectionAliasesResult(data, context); + const response: DescribeConnectionAliasesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeConnectionAliasesCommandError = 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.workspaces#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValuesException": + case "com.amazonaws.workspaces#InvalidParameterValuesException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValuesExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotSupportedException": + case "com.amazonaws.workspaces#OperationNotSupportedException": + response = { + ...(await deserializeAws_json1_1OperationNotSupportedExceptionResponse(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_1DescribeConnectionAliasPermissionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DescribeConnectionAliasPermissionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DescribeConnectionAliasPermissionsResult(data, context); + const response: DescribeConnectionAliasPermissionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DescribeConnectionAliasPermissionsCommandError = 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.workspaces#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValuesException": + case "com.amazonaws.workspaces#InvalidParameterValuesException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValuesExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotSupportedException": + case "com.amazonaws.workspaces#OperationNotSupportedException": + response = { + ...(await deserializeAws_json1_1OperationNotSupportedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.workspaces#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_1DescribeIpGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -2312,7 +2884,94 @@ const deserializeAws_json1_1DescribeWorkspaceSnapshotsCommandError = async ( case "InvalidParameterValuesException": case "com.amazonaws.workspaces#InvalidParameterValuesException": response = { - ...(await deserializeAws_json1_1InvalidParameterValuesExceptionResponse(parsedOutput, context)), + ...(await deserializeAws_json1_1InvalidParameterValuesExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.workspaces#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_1DisassociateConnectionAliasCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1DisassociateConnectionAliasCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1DisassociateConnectionAliasResult(data, context); + const response: DisassociateConnectionAliasCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1DisassociateConnectionAliasCommandError = 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.workspaces#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValuesException": + case "com.amazonaws.workspaces#InvalidParameterValuesException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValuesExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidResourceStateException": + case "com.amazonaws.workspaces#InvalidResourceStateException": + response = { + ...(await deserializeAws_json1_1InvalidResourceStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotSupportedException": + case "com.amazonaws.workspaces#OperationNotSupportedException": + response = { + ...(await deserializeAws_json1_1OperationNotSupportedExceptionResponse(parsedOutput, context)), name: errorCode, $metadata: deserializeMetadata(output), }; @@ -3012,6 +3671,14 @@ const deserializeAws_json1_1ModifyWorkspaceCreationPropertiesCommandError = asyn $metadata: deserializeMetadata(output), }; break; + case "OperationNotSupportedException": + case "com.amazonaws.workspaces#OperationNotSupportedException": + response = { + ...(await deserializeAws_json1_1OperationNotSupportedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.workspaces#ResourceNotFoundException": response = { @@ -3707,6 +4374,109 @@ const deserializeAws_json1_1TerminateWorkspacesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateConnectionAliasPermissionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateConnectionAliasPermissionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateConnectionAliasPermissionResult(data, context); + const response: UpdateConnectionAliasPermissionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateConnectionAliasPermissionCommandError = 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.workspaces#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterValuesException": + case "com.amazonaws.workspaces#InvalidParameterValuesException": + response = { + ...(await deserializeAws_json1_1InvalidParameterValuesExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidResourceStateException": + case "com.amazonaws.workspaces#InvalidResourceStateException": + response = { + ...(await deserializeAws_json1_1InvalidResourceStateExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotSupportedException": + case "com.amazonaws.workspaces#OperationNotSupportedException": + response = { + ...(await deserializeAws_json1_1OperationNotSupportedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceAssociatedException": + case "com.amazonaws.workspaces#ResourceAssociatedException": + response = { + ...(await deserializeAws_json1_1ResourceAssociatedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.workspaces#ResourceLimitExceededException": + response = { + ...(await deserializeAws_json1_1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.workspaces#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_1UpdateRulesOfIpGroupCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4091,6 +4861,20 @@ const deserializeAws_json1_1WorkspacesDefaultRoleNotFoundExceptionResponse = asy return contents; }; +const serializeAws_json1_1ApplicationList = (input: (Application | string)[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_1AssociateConnectionAliasRequest = ( + input: AssociateConnectionAliasRequest, + context: __SerdeContext +): any => { + return { + ...(input.AliasId !== undefined && { AliasId: input.AliasId }), + ...(input.ResourceId !== undefined && { ResourceId: input.ResourceId }), + }; +}; + const serializeAws_json1_1AssociateIpGroupsRequest = ( input: AssociateIpGroupsRequest, context: __SerdeContext @@ -4118,6 +4902,20 @@ const serializeAws_json1_1ClientProperties = (input: ClientProperties, context: }; }; +const serializeAws_json1_1ConnectionAliasIdList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_json1_1ConnectionAliasPermission = ( + input: ConnectionAliasPermission, + context: __SerdeContext +): any => { + return { + ...(input.AllowAssociation !== undefined && { AllowAssociation: input.AllowAssociation }), + ...(input.SharedAccountId !== undefined && { SharedAccountId: input.SharedAccountId }), + }; +}; + const serializeAws_json1_1CopyWorkspaceImageRequest = ( input: CopyWorkspaceImageRequest, context: __SerdeContext @@ -4131,6 +4929,16 @@ const serializeAws_json1_1CopyWorkspaceImageRequest = ( }; }; +const serializeAws_json1_1CreateConnectionAliasRequest = ( + input: CreateConnectionAliasRequest, + context: __SerdeContext +): any => { + return { + ...(input.ConnectionString !== undefined && { ConnectionString: input.ConnectionString }), + ...(input.Tags !== undefined && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + const serializeAws_json1_1CreateIpGroupRequest = (input: CreateIpGroupRequest, context: __SerdeContext): any => { return { ...(input.GroupDesc !== undefined && { GroupDesc: input.GroupDesc }), @@ -4155,6 +4963,15 @@ const serializeAws_json1_1CreateWorkspacesRequest = (input: CreateWorkspacesRequ }; }; +const serializeAws_json1_1DeleteConnectionAliasRequest = ( + input: DeleteConnectionAliasRequest, + context: __SerdeContext +): any => { + return { + ...(input.AliasId !== undefined && { AliasId: input.AliasId }), + }; +}; + const serializeAws_json1_1DeleteIpGroupRequest = (input: DeleteIpGroupRequest, context: __SerdeContext): any => { return { ...(input.GroupId !== undefined && { GroupId: input.GroupId }), @@ -4210,6 +5027,31 @@ const serializeAws_json1_1DescribeClientPropertiesRequest = ( }; }; +const serializeAws_json1_1DescribeConnectionAliasesRequest = ( + input: DescribeConnectionAliasesRequest, + context: __SerdeContext +): any => { + return { + ...(input.AliasIds !== undefined && { + AliasIds: serializeAws_json1_1ConnectionAliasIdList(input.AliasIds, context), + }), + ...(input.Limit !== undefined && { Limit: input.Limit }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.ResourceId !== undefined && { ResourceId: input.ResourceId }), + }; +}; + +const serializeAws_json1_1DescribeConnectionAliasPermissionsRequest = ( + input: DescribeConnectionAliasPermissionsRequest, + context: __SerdeContext +): any => { + return { + ...(input.AliasId !== undefined && { AliasId: input.AliasId }), + ...(input.MaxResults !== undefined && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1DescribeIpGroupsRequest = (input: DescribeIpGroupsRequest, context: __SerdeContext): any => { return { ...(input.GroupIds !== undefined && { GroupIds: serializeAws_json1_1IpGroupIdList(input.GroupIds, context) }), @@ -4314,6 +5156,15 @@ const serializeAws_json1_1DirectoryIdList = (input: string[], context: __SerdeCo return input.map((entry) => entry); }; +const serializeAws_json1_1DisassociateConnectionAliasRequest = ( + input: DisassociateConnectionAliasRequest, + context: __SerdeContext +): any => { + return { + ...(input.AliasId !== undefined && { AliasId: input.AliasId }), + }; +}; + const serializeAws_json1_1DisassociateIpGroupsRequest = ( input: DisassociateIpGroupsRequest, context: __SerdeContext @@ -4329,6 +5180,9 @@ const serializeAws_json1_1ImportWorkspaceImageRequest = ( context: __SerdeContext ): any => { return { + ...(input.Applications !== undefined && { + Applications: serializeAws_json1_1ApplicationList(input.Applications, context), + }), ...(input.Ec2ImageId !== undefined && { Ec2ImageId: input.Ec2ImageId }), ...(input.ImageDescription !== undefined && { ImageDescription: input.ImageDescription }), ...(input.ImageName !== undefined && { ImageName: input.ImageName }), @@ -4622,6 +5476,21 @@ const serializeAws_json1_1TerminateWorkspacesRequest = ( }; }; +const serializeAws_json1_1UpdateConnectionAliasPermissionRequest = ( + input: UpdateConnectionAliasPermissionRequest, + context: __SerdeContext +): any => { + return { + ...(input.AliasId !== undefined && { AliasId: input.AliasId }), + ...(input.ConnectionAliasPermission !== undefined && { + ConnectionAliasPermission: serializeAws_json1_1ConnectionAliasPermission( + input.ConnectionAliasPermission, + context + ), + }), + }; +}; + const serializeAws_json1_1UpdateRulesOfIpGroupRequest = ( input: UpdateRulesOfIpGroupRequest, context: __SerdeContext @@ -4667,6 +5536,7 @@ const serializeAws_json1_1WorkspaceCreationProperties = ( ...(input.DefaultOu !== undefined && { DefaultOu: input.DefaultOu }), ...(input.EnableInternetAccess !== undefined && { EnableInternetAccess: input.EnableInternetAccess }), ...(input.EnableMaintenanceMode !== undefined && { EnableMaintenanceMode: input.EnableMaintenanceMode }), + ...(input.EnableWorkDocs !== undefined && { EnableWorkDocs: input.EnableWorkDocs }), ...(input.UserEnabledAsLocalAdministrator !== undefined && { UserEnabledAsLocalAdministrator: input.UserEnabledAsLocalAdministrator, }), @@ -4749,6 +5619,18 @@ const deserializeAws_json1_1AccountModificationList = (output: any, context: __S return (output || []).map((entry: any) => deserializeAws_json1_1AccountModification(entry, context)); }; +const deserializeAws_json1_1AssociateConnectionAliasResult = ( + output: any, + context: __SerdeContext +): AssociateConnectionAliasResult => { + return { + ConnectionIdentifier: + output.ConnectionIdentifier !== undefined && output.ConnectionIdentifier !== null + ? output.ConnectionIdentifier + : undefined, + } as any; +}; + const deserializeAws_json1_1AssociateIpGroupsResult = ( output: any, context: __SerdeContext @@ -4791,6 +5673,72 @@ const deserializeAws_json1_1ComputeType = (output: any, context: __SerdeContext) } as any; }; +const deserializeAws_json1_1ConnectionAlias = (output: any, context: __SerdeContext): ConnectionAlias => { + return { + AliasId: output.AliasId !== undefined && output.AliasId !== null ? output.AliasId : undefined, + Associations: + output.Associations !== undefined && output.Associations !== null + ? deserializeAws_json1_1ConnectionAliasAssociationList(output.Associations, context) + : undefined, + ConnectionString: + output.ConnectionString !== undefined && output.ConnectionString !== null ? output.ConnectionString : undefined, + OwnerAccountId: + output.OwnerAccountId !== undefined && output.OwnerAccountId !== null ? output.OwnerAccountId : undefined, + State: output.State !== undefined && output.State !== null ? output.State : undefined, + } as any; +}; + +const deserializeAws_json1_1ConnectionAliasAssociation = ( + output: any, + context: __SerdeContext +): ConnectionAliasAssociation => { + return { + AssociatedAccountId: + output.AssociatedAccountId !== undefined && output.AssociatedAccountId !== null + ? output.AssociatedAccountId + : undefined, + AssociationStatus: + output.AssociationStatus !== undefined && output.AssociationStatus !== null + ? output.AssociationStatus + : undefined, + ConnectionIdentifier: + output.ConnectionIdentifier !== undefined && output.ConnectionIdentifier !== null + ? output.ConnectionIdentifier + : undefined, + ResourceId: output.ResourceId !== undefined && output.ResourceId !== null ? output.ResourceId : undefined, + } as any; +}; + +const deserializeAws_json1_1ConnectionAliasAssociationList = ( + output: any, + context: __SerdeContext +): ConnectionAliasAssociation[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ConnectionAliasAssociation(entry, context)); +}; + +const deserializeAws_json1_1ConnectionAliasList = (output: any, context: __SerdeContext): ConnectionAlias[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ConnectionAlias(entry, context)); +}; + +const deserializeAws_json1_1ConnectionAliasPermission = ( + output: any, + context: __SerdeContext +): ConnectionAliasPermission => { + return { + AllowAssociation: + output.AllowAssociation !== undefined && output.AllowAssociation !== null ? output.AllowAssociation : undefined, + SharedAccountId: + output.SharedAccountId !== undefined && output.SharedAccountId !== null ? output.SharedAccountId : undefined, + } as any; +}; + +const deserializeAws_json1_1ConnectionAliasPermissions = ( + output: any, + context: __SerdeContext +): ConnectionAliasPermission[] => { + return (output || []).map((entry: any) => deserializeAws_json1_1ConnectionAliasPermission(entry, context)); +}; + const deserializeAws_json1_1CopyWorkspaceImageResult = ( output: any, context: __SerdeContext @@ -4800,6 +5748,15 @@ const deserializeAws_json1_1CopyWorkspaceImageResult = ( } as any; }; +const deserializeAws_json1_1CreateConnectionAliasResult = ( + output: any, + context: __SerdeContext +): CreateConnectionAliasResult => { + return { + AliasId: output.AliasId !== undefined && output.AliasId !== null ? output.AliasId : undefined, + } as any; +}; + const deserializeAws_json1_1CreateIpGroupResult = (output: any, context: __SerdeContext): CreateIpGroupResult => { return { GroupId: output.GroupId !== undefined && output.GroupId !== null ? output.GroupId : undefined, @@ -4854,6 +5811,13 @@ const deserializeAws_json1_1DefaultWorkspaceCreationProperties = ( } as any; }; +const deserializeAws_json1_1DeleteConnectionAliasResult = ( + output: any, + context: __SerdeContext +): DeleteConnectionAliasResult => { + return {} as any; +}; + const deserializeAws_json1_1DeleteIpGroupResult = (output: any, context: __SerdeContext): DeleteIpGroupResult => { return {} as any; }; @@ -4914,6 +5878,33 @@ const deserializeAws_json1_1DescribeClientPropertiesResult = ( } as any; }; +const deserializeAws_json1_1DescribeConnectionAliasesResult = ( + output: any, + context: __SerdeContext +): DescribeConnectionAliasesResult => { + return { + ConnectionAliases: + output.ConnectionAliases !== undefined && output.ConnectionAliases !== null + ? deserializeAws_json1_1ConnectionAliasList(output.ConnectionAliases, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + +const deserializeAws_json1_1DescribeConnectionAliasPermissionsResult = ( + output: any, + context: __SerdeContext +): DescribeConnectionAliasPermissionsResult => { + return { + AliasId: output.AliasId !== undefined && output.AliasId !== null ? output.AliasId : undefined, + ConnectionAliasPermissions: + output.ConnectionAliasPermissions !== undefined && output.ConnectionAliasPermissions !== null + ? deserializeAws_json1_1ConnectionAliasPermissions(output.ConnectionAliasPermissions, context) + : undefined, + NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, + } as any; +}; + const deserializeAws_json1_1DescribeIpGroupsResult = (output: any, context: __SerdeContext): DescribeIpGroupsResult => { return { NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined, @@ -5032,6 +6023,13 @@ const deserializeAws_json1_1DirectoryList = (output: any, context: __SerdeContex return (output || []).map((entry: any) => deserializeAws_json1_1WorkspaceDirectory(entry, context)); }; +const deserializeAws_json1_1DisassociateConnectionAliasResult = ( + output: any, + context: __SerdeContext +): DisassociateConnectionAliasResult => { + return {} as any; +}; + const deserializeAws_json1_1DisassociateIpGroupsResult = ( output: any, context: __SerdeContext @@ -5465,6 +6463,13 @@ const deserializeAws_json1_1UnsupportedWorkspaceConfigurationException = ( } as any; }; +const deserializeAws_json1_1UpdateConnectionAliasPermissionResult = ( + output: any, + context: __SerdeContext +): UpdateConnectionAliasPermissionResult => { + return {} as any; +}; + const deserializeAws_json1_1UpdateRulesOfIpGroupResult = ( output: any, context: __SerdeContext diff --git a/clients/client-xray/XRay.ts b/clients/client-xray/XRay.ts index a96efee6e6db..10cde423e60d 100644 --- a/clients/client-xray/XRay.ts +++ b/clients/client-xray/XRay.ts @@ -58,6 +58,11 @@ import { GetTraceSummariesCommandInput, GetTraceSummariesCommandOutput, } from "./commands/GetTraceSummariesCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { PutEncryptionConfigCommand, PutEncryptionConfigCommandInput, @@ -73,6 +78,12 @@ import { PutTraceSegmentsCommandInput, PutTraceSegmentsCommandOutput, } from "./commands/PutTraceSegmentsCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; import { UpdateGroupCommand, UpdateGroupCommandInput, UpdateGroupCommandOutput } from "./commands/UpdateGroupCommand"; import { UpdateSamplingRuleCommand, @@ -572,6 +583,38 @@ export class XRay extends XRayClient { } } + /** + *

                                                                                            Returns a list of tags that are applied to the specified AWS X-Ray group or sampling rule.

                                                                                            + */ + 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); + } + } + /** *

                                                                                            Updates the encryption configuration for X-Ray data.

                                                                                            */ @@ -637,14 +680,14 @@ export class XRay extends XRayClient { } /** - *

                                                                                            Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and - * sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a - * completed segment, an in-progress segment, or an array of subsegments.

                                                                                            + *

                                                                                            Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in + * batches. A segment document can be a completed segment, an in-progress segment, or an array of + * subsegments.

                                                                                            *

                                                                                            Segments must include the following fields. For the full segment document schema, see * AWS X-Ray * Segment Documents in the AWS X-Ray Developer Guide.

                                                                                            *

                                                                                            - * Required Segment Document Fields + * Required segment document fields *

                                                                                            *
                                                                                              *
                                                                                            • @@ -653,33 +696,32 @@ export class XRay extends XRayClient { *
                                                                                            • *
                                                                                            • *

                                                                                              - * id - A 64-bit identifier for the segment, unique among segments in the - * same trace, in 16 hexadecimal digits.

                                                                                              + * id - A 64-bit identifier for the segment, unique among segments in the same trace, in 16 + * hexadecimal digits.

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              - * trace_id - A unique identifier that connects all segments and - * subsegments originating from a single client request.

                                                                                              + * trace_id - A unique identifier that connects all segments and subsegments originating from + * a single client request.

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              - * start_time - Time the segment or subsegment was created, in floating - * point seconds in epoch time, accurate to milliseconds. For example, - * 1480615200.010 or 1.480615200010E9.

                                                                                              + * start_time - Time the segment or subsegment was created, in floating point seconds in + * epoch time, accurate to milliseconds. For example, 1480615200.010 or + * 1.480615200010E9.

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * end_time - Time the segment or subsegment was closed. For example, - * 1480615200.090 or 1.480615200090E9. Specify either an - * end_time or in_progress.

                                                                                              + * 1480615200.090 or 1.480615200090E9. Specify either an end_time or + * in_progress.

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              - * in_progress - Set to true instead of specifying an - * end_time to record that a segment has been started, but is not complete. - * Send an in progress segment when your application receives a request that will take a long - * time to serve, to trace the fact that the request was received. When the response is sent, - * send the complete segment to overwrite the in-progress segment.

                                                                                              + * in_progress - Set to true instead of specifying an end_time to + * record that a segment has been started, but is not complete. Send an in-progress segment when your application + * receives a request that will take a long time to serve, to trace that the request was received. When the + * response is sent, send the complete segment to overwrite the in-progress segment.

                                                                                              *
                                                                                            • *
                                                                                            *

                                                                                            A trace_id consists of three numbers separated by hyphens. For example, @@ -689,7 +731,7 @@ export class XRay extends XRayClient { *

                                                                                            *
                                                                                              *
                                                                                            • - *

                                                                                              The version number, i.e. 1.

                                                                                              + *

                                                                                              The version number, for instance, 1.

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              The time of the original request, in Unix epoch time, in 8 hexadecimal digits. For @@ -731,6 +773,65 @@ export class XRay extends XRayClient { } } + /** + *

                                                                                              Applies tags to an existing AWS X-Ray group or sampling rule.

                                                                                              + */ + 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 tags from an AWS X-Ray group or sampling rule. You cannot edit or delete system + * tags (those with an aws: prefix).

                                                                                              + */ + 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); + } + } + /** *

                                                                                              Updates a group resource.

                                                                                              */ diff --git a/clients/client-xray/XRayClient.ts b/clients/client-xray/XRayClient.ts index ce413195037a..8f4829a85d63 100644 --- a/clients/client-xray/XRayClient.ts +++ b/clients/client-xray/XRayClient.ts @@ -22,6 +22,10 @@ import { } from "./commands/GetTimeSeriesServiceStatisticsCommand"; import { GetTraceGraphCommandInput, GetTraceGraphCommandOutput } from "./commands/GetTraceGraphCommand"; import { GetTraceSummariesCommandInput, GetTraceSummariesCommandOutput } from "./commands/GetTraceSummariesCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { PutEncryptionConfigCommandInput, PutEncryptionConfigCommandOutput, @@ -31,6 +35,8 @@ import { PutTelemetryRecordsCommandOutput, } from "./commands/PutTelemetryRecordsCommand"; import { PutTraceSegmentsCommandInput, PutTraceSegmentsCommandOutput } from "./commands/PutTraceSegmentsCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateGroupCommandInput, UpdateGroupCommandOutput } from "./commands/UpdateGroupCommand"; import { UpdateSamplingRuleCommandInput, UpdateSamplingRuleCommandOutput } from "./commands/UpdateSamplingRuleCommand"; import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig"; @@ -98,9 +104,12 @@ export type ServiceInputTypes = | GetTimeSeriesServiceStatisticsCommandInput | GetTraceGraphCommandInput | GetTraceSummariesCommandInput + | ListTagsForResourceCommandInput | PutEncryptionConfigCommandInput | PutTelemetryRecordsCommandInput | PutTraceSegmentsCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput | UpdateGroupCommandInput | UpdateSamplingRuleCommandInput; @@ -120,9 +129,12 @@ export type ServiceOutputTypes = | GetTimeSeriesServiceStatisticsCommandOutput | GetTraceGraphCommandOutput | GetTraceSummariesCommandOutput + | ListTagsForResourceCommandOutput | PutEncryptionConfigCommandOutput | PutTelemetryRecordsCommandOutput | PutTraceSegmentsCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput | UpdateGroupCommandOutput | UpdateSamplingRuleCommandOutput; diff --git a/clients/client-xray/commands/ListTagsForResourceCommand.ts b/clients/client-xray/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..1b3cbc08389b --- /dev/null +++ b/clients/client-xray/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, XRayClientResolvedConfig } from "../XRayClient"; +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, + XRayClientResolvedConfig +> { + // 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: XRayClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: ListTagsForResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsForResourceResponse.filterSensitiveLog, + }; + 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-xray/commands/TagResourceCommand.ts b/clients/client-xray/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..257c27d1e9af --- /dev/null +++ b/clients/client-xray/commands/TagResourceCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, XRayClientResolvedConfig } from "../XRayClient"; +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, + XRayClientResolvedConfig +> { + // 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: XRayClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: TagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: TagResourceResponse.filterSensitiveLog, + }; + 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-xray/commands/UntagResourceCommand.ts b/clients/client-xray/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..d92d75f42118 --- /dev/null +++ b/clients/client-xray/commands/UntagResourceCommand.ts @@ -0,0 +1,70 @@ +import { ServiceInputTypes, ServiceOutputTypes, XRayClientResolvedConfig } from "../XRayClient"; +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, + XRayClientResolvedConfig +> { + // 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: XRayClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + inputFilterSensitiveLog: UntagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: UntagResourceResponse.filterSensitiveLog, + }; + 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-xray/index.ts b/clients/client-xray/index.ts index 358de261e191..63c123e60688 100644 --- a/clients/client-xray/index.ts +++ b/clients/client-xray/index.ts @@ -23,9 +23,12 @@ export * from "./commands/GetTraceGraphCommand"; export * from "./pagination/GetTraceGraphPaginator"; export * from "./commands/GetTraceSummariesCommand"; export * from "./pagination/GetTraceSummariesPaginator"; +export * from "./commands/ListTagsForResourceCommand"; export * from "./commands/PutEncryptionConfigCommand"; export * from "./commands/PutTelemetryRecordsCommand"; export * from "./commands/PutTraceSegmentsCommand"; +export * from "./commands/TagResourceCommand"; +export * from "./commands/UntagResourceCommand"; export * from "./commands/UpdateGroupCommand"; export * from "./commands/UpdateSamplingRuleCommand"; export * from "./pagination/Interfaces"; diff --git a/clients/client-xray/models/models_0.ts b/clients/client-xray/models/models_0.ts index af56c144c9f9..0b147d67b251 100644 --- a/clients/client-xray/models/models_0.ts +++ b/clients/client-xray/models/models_0.ts @@ -5,11 +5,6 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; *

                                                                                              An alias for an edge.

                                                                                              */ export interface Alias { - /** - *

                                                                                              The canonical name of the alias.

                                                                                              - */ - Name?: string; - /** *

                                                                                              The type of the alias.

                                                                                              */ @@ -19,6 +14,11 @@ export interface Alias { *

                                                                                              A list of names for the alias, including the canonical name.

                                                                                              */ Names?: string[]; + + /** + *

                                                                                              The canonical name of the alias.

                                                                                              + */ + Name?: string; } export namespace Alias { @@ -28,15 +28,9 @@ export namespace Alias { } /** - *

                                                                                              Value of a segment annotation. Has one of three value types: Number, Boolean or - * String.

                                                                                              + *

                                                                                              Value of a segment annotation. Has one of three value types: Number, Boolean, or String.

                                                                                              */ export interface AnnotationValue { - /** - *

                                                                                              Value for a Number annotation.

                                                                                              - */ - NumberValue?: number; - /** *

                                                                                              Value for a Boolean annotation.

                                                                                              */ @@ -46,6 +40,11 @@ export interface AnnotationValue { *

                                                                                              Value for a String annotation.

                                                                                              */ StringValue?: string; + + /** + *

                                                                                              Value for a Number annotation.

                                                                                              + */ + NumberValue?: number; } export namespace AnnotationValue { @@ -71,12 +70,12 @@ export interface ServiceId { /** *

                                                                                              */ - Name?: string; + Names?: string[]; /** *

                                                                                              */ - Names?: string[]; + Name?: string; } export namespace ServiceId { @@ -90,14 +89,14 @@ export namespace ServiceId { */ export interface ValueWithServiceIds { /** - *

                                                                                              Services to which the annotation applies.

                                                                                              + *

                                                                                              Values of the annotation.

                                                                                              */ - ServiceIds?: ServiceId[]; + AnnotationValue?: AnnotationValue; /** - *

                                                                                              Values of the annotation.

                                                                                              + *

                                                                                              Services to which the annotation applies.

                                                                                              */ - AnnotationValue?: AnnotationValue; + ServiceIds?: ServiceId[]; } export namespace ValueWithServiceIds { @@ -107,11 +106,11 @@ export namespace ValueWithServiceIds { } /** - *

                                                                                              A list of availability zones corresponding to the segments in a trace.

                                                                                              + *

                                                                                              A list of Availability Zones corresponding to the segments in a trace.

                                                                                              */ export interface AvailabilityZoneDetail { /** - *

                                                                                              The name of a corresponding availability zone.

                                                                                              + *

                                                                                              The name of a corresponding Availability Zone.

                                                                                              */ Name?: string; } @@ -176,6 +175,12 @@ export interface Trace { */ Id?: string; + /** + *

                                                                                              LimitExceeded is set to true when the trace has exceeded one of the defined quotas. For + * more information about quotas, see AWS X-Ray endpoints and quotas.

                                                                                              + */ + LimitExceeded?: boolean; + /** *

                                                                                              Segment documents for the segments and subsegments that comprise the trace.

                                                                                              */ @@ -247,6 +252,71 @@ export namespace ThrottledException { }); } +/** + *

                                                                                              The structure containing configurations related to insights.

                                                                                              + */ +export interface InsightsConfiguration { + /** + *

                                                                                              Set the NotificationsEnabled value to true to enable insights notifications. Notifications can only be + * enabled on a group with InsightsEnabled set to true.

                                                                                              + */ + NotificationsEnabled?: boolean; + + /** + *

                                                                                              Set the InsightsEnabled value to true to enable insights or false to disable + * insights.

                                                                                              + */ + InsightsEnabled?: boolean; +} + +export namespace InsightsConfiguration { + export const filterSensitiveLog = (obj: InsightsConfiguration): any => ({ + ...obj, + }); +} + +/** + *

                                                                                              A map that contains tag keys and tag values to attach to an AWS X-Ray group or sampling + * rule. For more information about ways to use tags, see Tagging AWS resources + * in the AWS General Reference.

                                                                                              + *

                                                                                              The following restrictions apply to tags:

                                                                                              + *
                                                                                                + *
                                                                                              • + *

                                                                                                Maximum number of user-applied tags per resource: 50

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Tag keys and values are case sensitive.

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Don't use aws: as a prefix for keys; it's reserved for AWS use. You + * cannot edit or delete system tags.

                                                                                                + *
                                                                                              • + *
                                                                                              + */ +export interface Tag { + /** + *

                                                                                              An optional tag value, such as Production or test-only. The value can be + * a maximum of 255 characters, and contain only Unicode letters, numbers, or separators, or the following + * special characters: + - = . _ : / + *

                                                                                              + */ + Value: string | undefined; + + /** + *

                                                                                              A tag key, such as Stage or Name. A tag key cannot be empty. The + * key can be a maximum of 128 characters, and can contain only Unicode letters, numbers, or separators, + * or the following special characters: + - = . _ : / + *

                                                                                              + */ + Key: string | undefined; +} + +export namespace Tag { + export const filterSensitiveLog = (obj: Tag): any => ({ + ...obj, + }); +} + export interface CreateGroupRequest { /** *

                                                                                              The case-sensitive name of the new group. Default is a reserved name and names must @@ -254,6 +324,52 @@ export interface CreateGroupRequest { */ GroupName: string | undefined; + /** + *

                                                                                              A map that contains one or more tag keys and tag values to attach to an X-Ray group. + * For more information about ways to use tags, see Tagging AWS + * resources in the AWS General Reference.

                                                                                              + *

                                                                                              The following restrictions apply to tags:

                                                                                              + *
                                                                                                + *
                                                                                              • + *

                                                                                                Maximum number of user-applied tags per resource: 50

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Maximum tag key length: 128 Unicode characters

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Maximum tag value length: 256 Unicode characters

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Valid values for key and value: a-z, A-Z, 0-9, space, and the following characters: _ . : + * / = + - and @

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Tag keys and values are case sensitive.

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Don't use aws: as a prefix for keys; it's reserved for AWS + * use.

                                                                                                + *
                                                                                              • + *
                                                                                              + */ + Tags?: Tag[]; + + /** + *

                                                                                              The structure containing configurations related to insights.

                                                                                              + *
                                                                                                + *
                                                                                              • + *

                                                                                                The InsightsEnabled boolean can be set to true to enable insights for the + * new group or false to disable insights for the new group.

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                The NotifcationsEnabled boolean can be set to true to enable insights + * notifications for the new group. Notifications may only be enabled on a group + * with InsightsEnabled set to true.

                                                                                                + *
                                                                                              • + *
                                                                                              + */ + InsightsConfiguration?: InsightsConfiguration; + /** *

                                                                                              The filter expression defining criteria by which to group traces.

                                                                                              */ @@ -271,19 +387,34 @@ export namespace CreateGroupRequest { */ export interface Group { /** - *

                                                                                              The ARN of the group generated based on the GroupName.

                                                                                              + *

                                                                                              The structure containing configurations related to insights.

                                                                                              + *
                                                                                                + *
                                                                                              • + *

                                                                                                The InsightsEnabled boolean can be set to true to enable insights for the + * group or false to disable insights for the group.

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                The NotifcationsEnabled boolean can be set to true to enable insights + * notifications through Amazon EventBridge for the group.

                                                                                                + *
                                                                                              • + *
                                                                                              */ - GroupARN?: string; + InsightsConfiguration?: InsightsConfiguration; /** - *

                                                                                              The unique case-sensitive name of the group.

                                                                                              + *

                                                                                              The filter expression defining the parameters to include traces.

                                                                                              */ - GroupName?: string; + FilterExpression?: string; /** - *

                                                                                              The filter expression defining the parameters to include traces.

                                                                                              + *

                                                                                              The Amazon Resource Name (ARN) of the group generated based on the GroupName.

                                                                                              */ - FilterExpression?: string; + GroupARN?: string; + + /** + *

                                                                                              The unique case-sensitive name of the group.

                                                                                              + */ + GroupName?: string; } export namespace Group { @@ -294,9 +425,9 @@ export namespace Group { export interface CreateGroupResult { /** - *

                                                                                              The group that was created. Contains the name of the group that was created, the - * ARN of the group that was generated based on the group name, and the filter expression - * that was assigned to the group.

                                                                                              + *

                                                                                              The group that was created. Contains the name of the group that was created, the Amazon Resource Name + * (ARN) of the group that was generated based on the group name, the filter expression, and the insight + * configuration that was assigned to the group.

                                                                                              */ Group?: Group; } @@ -314,71 +445,71 @@ export namespace CreateGroupResult { */ export interface SamplingRule { /** - *

                                                                                              The percentage of matching requests to instrument, after the reservoir is - * exhausted.

                                                                                              + *

                                                                                              The priority of the sampling rule.

                                                                                              */ - FixedRate: number | undefined; + Priority: number | undefined; /** - *

                                                                                              Matches the origin that the service uses to identify its type in segments.

                                                                                              + *

                                                                                              Matches the path from a request URL.

                                                                                              */ - ServiceType: string | undefined; + URLPath: string | undefined; /** - *

                                                                                              Matches attributes derived from the request.

                                                                                              + *

                                                                                              Matches the hostname from a request URL.

                                                                                              */ - Attributes?: { [key: string]: string }; + Host: string | undefined; /** - *

                                                                                              The version of the sampling rule format (1).

                                                                                              + *

                                                                                              Matches the name that the service uses to identify itself in segments.

                                                                                              */ - Version: number | undefined; + ServiceName: string | undefined; /** - *

                                                                                              Matches the HTTP method of a request.

                                                                                              + *

                                                                                              Matches attributes derived from the request.

                                                                                              */ - HTTPMethod: string | undefined; + Attributes?: { [key: string]: string }; /** - *

                                                                                              Matches the name that the service uses to identify itself in segments.

                                                                                              + *

                                                                                              The percentage of matching requests to instrument, after the reservoir is + * exhausted.

                                                                                              */ - ServiceName: string | undefined; + FixedRate: number | undefined; /** - *

                                                                                              A fixed number of matching requests to instrument per second, prior to applying the - * fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.

                                                                                              + *

                                                                                              The name of the sampling rule. Specify a rule by either name or ARN, but not both.

                                                                                              */ - ReservoirSize: number | undefined; + RuleName?: string; /** - *

                                                                                              The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.

                                                                                              + *

                                                                                              Matches the ARN of the AWS resource on which the service runs.

                                                                                              */ - RuleARN?: string; + ResourceARN: string | undefined; /** - *

                                                                                              Matches the hostname from a request URL.

                                                                                              + *

                                                                                              The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.

                                                                                              */ - Host: string | undefined; + RuleARN?: string; /** - *

                                                                                              Matches the ARN of the AWS resource on which the service runs.

                                                                                              + *

                                                                                              The version of the sampling rule format (1).

                                                                                              */ - ResourceARN: string | undefined; + Version: number | undefined; /** - *

                                                                                              The priority of the sampling rule.

                                                                                              + *

                                                                                              A fixed number of matching requests to instrument per second, prior to applying the + * fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.

                                                                                              */ - Priority: number | undefined; + ReservoirSize: number | undefined; /** - *

                                                                                              Matches the path from a request URL.

                                                                                              + *

                                                                                              Matches the origin that the service uses to identify its type in segments.

                                                                                              */ - URLPath: string | undefined; + ServiceType: string | undefined; /** - *

                                                                                              The name of the sampling rule. Specify a rule by either name or ARN, but not both.

                                                                                              + *

                                                                                              Matches the HTTP method of a request.

                                                                                              */ - RuleName?: string; + HTTPMethod: string | undefined; } export namespace SamplingRule { @@ -392,6 +523,36 @@ export interface CreateSamplingRuleRequest { *

                                                                                              The rule definition.

                                                                                              */ SamplingRule: SamplingRule | undefined; + + /** + *

                                                                                              A map that contains one or more tag keys and tag values to attach to an X-Ray sampling + * rule. For more information about ways to use tags, see Tagging AWS + * resources in the AWS General Reference.

                                                                                              + *

                                                                                              The following restrictions apply to tags:

                                                                                              + *
                                                                                                + *
                                                                                              • + *

                                                                                                Maximum number of user-applied tags per resource: 50

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Maximum tag key length: 128 Unicode characters

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Maximum tag value length: 256 Unicode characters

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Valid values for key and value: a-z, A-Z, 0-9, space, and the following characters: _ . : + * / = + - and @

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Tag keys and values are case sensitive.

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                Don't use aws: as a prefix for keys; it's reserved for AWS + * use.

                                                                                                + *
                                                                                              • + *
                                                                                              + */ + Tags?: Tag[]; } export namespace CreateSamplingRuleRequest { @@ -410,14 +571,14 @@ export interface SamplingRuleRecord { SamplingRule?: SamplingRule; /** - *

                                                                                              When the rule was created.

                                                                                              + *

                                                                                              When the rule was last modified.

                                                                                              */ - CreatedAt?: Date; + ModifiedAt?: Date; /** - *

                                                                                              When the rule was last modified.

                                                                                              + *

                                                                                              When the rule was created.

                                                                                              */ - ModifiedAt?: Date; + CreatedAt?: Date; } export namespace SamplingRuleRecord { @@ -538,16 +699,16 @@ export interface EncryptionConfig { */ KeyId?: string; - /** - *

                                                                                              The encryption status. While the status is UPDATING, X-Ray may encrypt data with a combination of the new and old settings.

                                                                                              - */ - Status?: EncryptionStatus | string; - /** *

                                                                                              The type of encryption. Set to KMS for encryption with CMKs. Set to NONE for * default encryption.

                                                                                              */ Type?: EncryptionType | string; + + /** + *

                                                                                              The encryption status. While the status is UPDATING, X-Ray may encrypt data with a combination of the new and old settings.

                                                                                              + */ + Status?: EncryptionStatus | string; } export namespace EncryptionConfig { @@ -571,14 +732,14 @@ export namespace GetEncryptionConfigResult { export interface GetGroupRequest { /** - *

                                                                                              The case-sensitive name of the group.

                                                                                              + *

                                                                                              The ARN of the group that was generated on creation.

                                                                                              */ - GroupName?: string; + GroupARN?: string; /** - *

                                                                                              The ARN of the group that was generated on creation.

                                                                                              + *

                                                                                              The case-sensitive name of the group.

                                                                                              */ - GroupARN?: string; + GroupName?: string; } export namespace GetGroupRequest { @@ -590,7 +751,7 @@ export namespace GetGroupRequest { export interface GetGroupResult { /** *

                                                                                              The group that was requested. Contains the name of the group, the ARN of the group, - * and the filter expression that assigned to the group.

                                                                                              + * the filter expression, and the insight configuration assigned to the group.

                                                                                              */ Group?: Group; } @@ -618,15 +779,30 @@ export namespace GetGroupsRequest { *

                                                                                              Details for a group without metadata.

                                                                                              */ export interface GroupSummary { + /** + *

                                                                                              The ARN of the group generated based on the GroupName.

                                                                                              + */ + GroupARN?: string; + /** *

                                                                                              The filter expression defining the parameters to include traces.

                                                                                              */ FilterExpression?: string; /** - *

                                                                                              The ARN of the group generated based on the GroupName.

                                                                                              + *

                                                                                              The structure containing configurations related to insights.

                                                                                              + *
                                                                                                + *
                                                                                              • + *

                                                                                                The InsightsEnabled boolean can be set to true to enable insights for the + * group or false to disable insights for the group.

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                The NotificationsEnabled boolean can be set to true to enable insights notifications. + * Notifications can only be enabled on a group with InsightsEnabled set to true.

                                                                                                + *
                                                                                              • + *
                                                                                              */ - GroupARN?: string; + InsightsConfiguration?: InsightsConfiguration; /** *

                                                                                              The unique case-sensitive name of the group.

                                                                                              @@ -642,14 +818,14 @@ export namespace GroupSummary { export interface GetGroupsResult { /** - *

                                                                                              The collection of all active groups.

                                                                                              + *

                                                                                              Pagination token.

                                                                                              */ - Groups?: GroupSummary[]; + NextToken?: string; /** - *

                                                                                              Pagination token.

                                                                                              + *

                                                                                              The collection of all active groups.

                                                                                              */ - NextToken?: string; + Groups?: GroupSummary[]; } export namespace GetGroupsResult { @@ -703,8 +879,7 @@ export namespace GetSamplingStatisticSummariesRequest { } /** - *

                                                                                              Aggregated request sampling data for a sampling rule across all services for a 10 - * second window.

                                                                                              + *

                                                                                              Aggregated request sampling data for a sampling rule across all services for a 10-second window.

                                                                                              */ export interface SamplingStatisticSummary { /** @@ -718,9 +893,9 @@ export interface SamplingStatisticSummary { SampledCount?: number; /** - *

                                                                                              The start time of the reporting window.

                                                                                              + *

                                                                                              The number of requests that matched the rule.

                                                                                              */ - Timestamp?: Date; + RequestCount?: number; /** *

                                                                                              The number of requests recorded with borrowed reservoir quota.

                                                                                              @@ -728,9 +903,9 @@ export interface SamplingStatisticSummary { BorrowCount?: number; /** - *

                                                                                              The number of requests that matched the rule.

                                                                                              + *

                                                                                              The start time of the reporting window.

                                                                                              */ - RequestCount?: number; + Timestamp?: Date; } export namespace SamplingStatisticSummary { @@ -741,15 +916,15 @@ export namespace SamplingStatisticSummary { export interface GetSamplingStatisticSummariesResult { /** - *

                                                                                              Information about the number of requests instrumented for each sampling - * rule.

                                                                                              + *

                                                                                              Pagination token.

                                                                                              */ - SamplingStatisticSummaries?: SamplingStatisticSummary[]; + NextToken?: string; /** - *

                                                                                              Pagination token.

                                                                                              + *

                                                                                              Information about the number of requests instrumented for each sampling + * rule.

                                                                                              */ - NextToken?: string; + SamplingStatisticSummaries?: SamplingStatisticSummary[]; } export namespace GetSamplingStatisticSummariesResult { @@ -764,25 +939,20 @@ export namespace GetSamplingStatisticSummariesResult { * to GetSamplingTargets.

                                                                                              */ export interface SamplingStatisticsDocument { - /** - *

                                                                                              The number of requests recorded.

                                                                                              - */ - SampledCount: number | undefined; - /** *

                                                                                              The number of requests that matched the rule.

                                                                                              */ RequestCount: number | undefined; /** - *

                                                                                              The name of the sampling rule.

                                                                                              + *

                                                                                              A unique identifier for the service in hexadecimal.

                                                                                              */ - RuleName: string | undefined; + ClientID: string | undefined; /** - *

                                                                                              The number of requests recorded with borrowed reservoir quota.

                                                                                              + *

                                                                                              The number of requests recorded.

                                                                                              */ - BorrowCount?: number; + SampledCount: number | undefined; /** *

                                                                                              The current time.

                                                                                              @@ -790,10 +960,15 @@ export interface SamplingStatisticsDocument { Timestamp: Date | undefined; /** - *

                                                                                              A unique identifier for the service in hexadecimal.

                                                                                              + *

                                                                                              The number of requests recorded with borrowed reservoir quota.

                                                                                              */ - ClientID: string | undefined; -} + BorrowCount?: number; + + /** + *

                                                                                              The name of the sampling rule.

                                                                                              + */ + RuleName: string | undefined; +} export namespace SamplingStatisticsDocument { export const filterSensitiveLog = (obj: SamplingStatisticsDocument): any => ({ @@ -815,37 +990,36 @@ export namespace GetSamplingTargetsRequest { } /** - *

                                                                                              Temporary changes to a sampling rule configuration. To meet the global sampling target - * for a rule, X-Ray calculates a new reservoir for each service based on the recent sampling - * results of all services that called GetSamplingTargets.

                                                                                              + *

                                                                                              Temporary changes to a sampling rule configuration. To meet the global sampling target for a rule, X-Ray + * calculates a new reservoir for each service based on the recent sampling results of all services that called GetSamplingTargets.

                                                                                              */ export interface SamplingTargetDocument { /** - *

                                                                                              The name of the sampling rule.

                                                                                              + *

                                                                                              The number of requests per second that X-Ray allocated for this service.

                                                                                              */ - RuleName?: string; + ReservoirQuota?: number; /** - *

                                                                                              When the reservoir quota expires.

                                                                                              + *

                                                                                              The number of seconds for the service to wait before getting sampling targets + * again.

                                                                                              */ - ReservoirQuotaTTL?: Date; + Interval?: number; /** - *

                                                                                              The percentage of matching requests to instrument, after the reservoir is - * exhausted.

                                                                                              + *

                                                                                              The name of the sampling rule.

                                                                                              */ - FixedRate?: number; + RuleName?: string; /** - *

                                                                                              The number of seconds for the service to wait before getting sampling targets - * again.

                                                                                              + *

                                                                                              The percentage of matching requests to instrument, after the reservoir is + * exhausted.

                                                                                              */ - Interval?: number; + FixedRate?: number; /** - *

                                                                                              The number of requests per second that X-Ray allocated this service.

                                                                                              + *

                                                                                              When the reservoir quota expires.

                                                                                              */ - ReservoirQuota?: number; + ReservoirQuotaTTL?: Date; } export namespace SamplingTargetDocument { @@ -890,15 +1064,15 @@ export interface GetSamplingTargetsResult { LastRuleModification?: Date; /** - *

                                                                                              Information about SamplingStatisticsDocument that X-Ray could not - * process.

                                                                                              + *

                                                                                              Updated rules that the service should use to sample requests.

                                                                                              */ - UnprocessedStatistics?: UnprocessedStatistics[]; + SamplingTargetDocuments?: SamplingTargetDocument[]; /** - *

                                                                                              Updated rules that the service should use to sample requests.

                                                                                              + *

                                                                                              Information about SamplingStatisticsDocument that X-Ray could not + * process.

                                                                                              */ - SamplingTargetDocuments?: SamplingTargetDocument[]; + UnprocessedStatistics?: UnprocessedStatistics[]; } export namespace GetSamplingTargetsResult { @@ -909,7 +1083,7 @@ export namespace GetSamplingTargetsResult { export interface GetServiceGraphRequest { /** - *

                                                                                              The name of a group to generate a graph based on.

                                                                                              + *

                                                                                              The name of a group based on which you want to generate a graph.

                                                                                              */ GroupName?: string; @@ -919,14 +1093,14 @@ export interface GetServiceGraphRequest { EndTime: Date | undefined; /** - *

                                                                                              The ARN of a group to generate a graph based on.

                                                                                              + *

                                                                                              Pagination token.

                                                                                              */ - GroupARN?: string; + NextToken?: string; /** - *

                                                                                              Pagination token.

                                                                                              + *

                                                                                              The Amazon Resource Name (ARN) of a group based on which you want to generate a graph.

                                                                                              */ - NextToken?: string; + GroupARN?: string; /** *

                                                                                              The start of the time frame for which to generate a graph.

                                                                                              @@ -946,14 +1120,14 @@ export namespace GetServiceGraphRequest { */ export interface HistogramEntry { /** - *

                                                                                              The prevalence of the entry.

                                                                                              + *

                                                                                              The value of the entry.

                                                                                              */ - Count?: number; + Value?: number; /** - *

                                                                                              The value of the entry.

                                                                                              + *

                                                                                              The prevalence of the entry.

                                                                                              */ - Value?: number; + Count?: number; } export namespace HistogramEntry { @@ -972,15 +1146,15 @@ export interface ErrorStatistics { TotalCount?: number; /** - *

                                                                                              The number of requests that failed with untracked 4xx Client Error status - * codes.

                                                                                              + *

                                                                                              The number of requests that failed with a 419 throttling status code.

                                                                                              */ - OtherCount?: number; + ThrottleCount?: number; /** - *

                                                                                              The number of requests that failed with a 419 throttling status code.

                                                                                              + *

                                                                                              The number of requests that failed with untracked 4xx Client Error status + * codes.

                                                                                              */ - ThrottleCount?: number; + OtherCount?: number; } export namespace ErrorStatistics { @@ -993,16 +1167,16 @@ export namespace ErrorStatistics { *

                                                                                              Information about requests that failed with a 5xx Server Error status code.

                                                                                              */ export interface FaultStatistics { - /** - *

                                                                                              The total number of requests that failed with a 5xx Server Error status code.

                                                                                              - */ - TotalCount?: number; - /** *

                                                                                              The number of requests that failed with untracked 5xx Server Error status * codes.

                                                                                              */ OtherCount?: number; + + /** + *

                                                                                              The total number of requests that failed with a 5xx Server Error status code.

                                                                                              + */ + TotalCount?: number; } export namespace FaultStatistics { @@ -1021,9 +1195,9 @@ export interface EdgeStatistics { OkCount?: number; /** - *

                                                                                              Information about requests that failed with a 5xx Server Error status code.

                                                                                              + *

                                                                                              Information about requests that failed with a 4xx Client Error status code.

                                                                                              */ - FaultStatistics?: FaultStatistics; + ErrorStatistics?: ErrorStatistics; /** *

                                                                                              The aggregate response time of completed requests.

                                                                                              @@ -1036,9 +1210,9 @@ export interface EdgeStatistics { TotalCount?: number; /** - *

                                                                                              Information about requests that failed with a 4xx Client Error status code.

                                                                                              + *

                                                                                              Information about requests that failed with a 5xx Server Error status code.

                                                                                              */ - ErrorStatistics?: ErrorStatistics; + FaultStatistics?: FaultStatistics; } export namespace EdgeStatistics { @@ -1052,14 +1226,9 @@ export namespace EdgeStatistics { */ export interface Edge { /** - *

                                                                                              The end time of the last segment on the edge.

                                                                                              - */ - EndTime?: Date; - - /** - *

                                                                                              Aliases for the edge.

                                                                                              + *

                                                                                              A histogram that maps the spread of client response times on an edge.

                                                                                              */ - Aliases?: Alias[]; + ResponseTimeHistogram?: HistogramEntry[]; /** *

                                                                                              The start time of the first segment on the edge.

                                                                                              @@ -1077,9 +1246,14 @@ export interface Edge { SummaryStatistics?: EdgeStatistics; /** - *

                                                                                              A histogram that maps the spread of client response times on an edge.

                                                                                              + *

                                                                                              The end time of the last segment on the edge.

                                                                                              */ - ResponseTimeHistogram?: HistogramEntry[]; + EndTime?: Date; + + /** + *

                                                                                              Aliases for the edge.

                                                                                              + */ + Aliases?: Alias[]; } export namespace Edge { @@ -1098,24 +1272,24 @@ export interface ServiceStatistics { TotalResponseTime?: number; /** - *

                                                                                              The total number of completed requests.

                                                                                              + *

                                                                                              Information about requests that failed with a 5xx Server Error status code.

                                                                                              */ - TotalCount?: number; + FaultStatistics?: FaultStatistics; /** - *

                                                                                              Information about requests that failed with a 4xx Client Error status code.

                                                                                              + *

                                                                                              The number of requests that completed with a 2xx Success status code.

                                                                                              */ - ErrorStatistics?: ErrorStatistics; + OkCount?: number; /** - *

                                                                                              The number of requests that completed with a 2xx Success status code.

                                                                                              + *

                                                                                              The total number of completed requests.

                                                                                              */ - OkCount?: number; + TotalCount?: number; /** - *

                                                                                              Information about requests that failed with a 5xx Server Error status code.

                                                                                              + *

                                                                                              Information about requests that failed with a 4xx Client Error status code.

                                                                                              */ - FaultStatistics?: FaultStatistics; + ErrorStatistics?: ErrorStatistics; } export namespace ServiceStatistics { @@ -1125,95 +1299,94 @@ export namespace ServiceStatistics { } /** - *

                                                                                              Information about an application that processed requests, users that made requests, or - * downstream services, resources and applications that an application used.

                                                                                              + *

                                                                                              Information about an application that processed requests, users that made requests, or downstream services, + * resources, and applications that an application used.

                                                                                              */ export interface Service { /** - *

                                                                                              Aggregated statistics for the service.

                                                                                              + *

                                                                                              Identifier of the AWS account in which the service runs.

                                                                                              */ - SummaryStatistics?: ServiceStatistics; + AccountId?: string; /** - *

                                                                                              The service's state.

                                                                                              + *

                                                                                              The end time of the last segment that the service generated.

                                                                                              */ - State?: string; + EndTime?: Date; /** - *

                                                                                              The start time of the first segment that the service generated.

                                                                                              + *

                                                                                              Connections to downstream services.

                                                                                              */ - StartTime?: Date; + Edges?: Edge[]; /** - *

                                                                                              A histogram that maps the spread of service response times.

                                                                                              + *

                                                                                              The type of service.

                                                                                              + *
                                                                                                + *
                                                                                              • + *

                                                                                                AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance for an + * application running on Amazon EC2 or AWS::DynamoDB::Table for an Amazon DynamoDB table that the + * application used.

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                AWS Service - The type of an AWS service. For example, AWS::DynamoDB + * for downstream calls to Amazon DynamoDB that didn't target a specific table.

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                + * client - Represents the clients that sent requests to a root + * service.

                                                                                                + *
                                                                                              • + *
                                                                                              • + *

                                                                                                + * remote - A downstream service of indeterminate type.

                                                                                                + *
                                                                                              • + *
                                                                                              */ - ResponseTimeHistogram?: HistogramEntry[]; + Type?: string; /** - *

                                                                                              Identifier of the AWS account in which the service runs.

                                                                                              + *

                                                                                              Identifier for the service. Unique within the service map.

                                                                                              */ - AccountId?: string; + ReferenceId?: number; /** - *

                                                                                              The canonical name of the service.

                                                                                              + *

                                                                                              The service's state.

                                                                                              */ - Name?: string; + State?: string; /** - *

                                                                                              The end time of the last segment that the service generated.

                                                                                              + *

                                                                                              The start time of the first segment that the service generated.

                                                                                              */ - EndTime?: Date; + StartTime?: Date; /** - *

                                                                                              Connections to downstream services.

                                                                                              + *

                                                                                              A histogram that maps the spread of service durations.

                                                                                              */ - Edges?: Edge[]; + DurationHistogram?: HistogramEntry[]; /** - *

                                                                                              A histogram that maps the spread of service durations.

                                                                                              + *

                                                                                              The canonical name of the service.

                                                                                              */ - DurationHistogram?: HistogramEntry[]; + Name?: string; /** - *

                                                                                              Identifier for the service. Unique within the service map.

                                                                                              + *

                                                                                              A list of names for the service, including the canonical name.

                                                                                              */ - ReferenceId?: number; + Names?: string[]; /** - *

                                                                                              Indicates that the service was the first service to process a request.

                                                                                              + *

                                                                                              A histogram that maps the spread of service response times.

                                                                                              */ - Root?: boolean; + ResponseTimeHistogram?: HistogramEntry[]; /** - *

                                                                                              A list of names for the service, including the canonical name.

                                                                                              + *

                                                                                              Indicates that the service was the first service to process a request.

                                                                                              */ - Names?: string[]; + Root?: boolean; /** - *

                                                                                              The type of service.

                                                                                              - *
                                                                                                - *
                                                                                              • - *

                                                                                                AWS Resource - The type of an AWS resource. For example, - * AWS::EC2::Instance for a application running on Amazon EC2 or - * AWS::DynamoDB::Table for an Amazon DynamoDB table that the application - * used.

                                                                                                - *
                                                                                              • - *
                                                                                              • - *

                                                                                                AWS Service - The type of an AWS service. For example, AWS::DynamoDB - * for downstream calls to Amazon DynamoDB that didn't target a specific table.

                                                                                                - *
                                                                                              • - *
                                                                                              • - *

                                                                                                - * client - Represents the clients that sent requests to a root - * service.

                                                                                                - *
                                                                                              • - *
                                                                                              • - *

                                                                                                - * remote - A downstream service of indeterminate type.

                                                                                                - *
                                                                                              • - *
                                                                                              + *

                                                                                              Aggregated statistics for the service.

                                                                                              */ - Type?: string; + SummaryStatistics?: ServiceStatistics; } export namespace Service { @@ -1236,9 +1409,10 @@ export interface GetServiceGraphResult { NextToken?: string; /** - *

                                                                                              The end of the time frame for which the graph was generated.

                                                                                              + *

                                                                                              The services that have processed a traced request during the specified time + * frame.

                                                                                              */ - EndTime?: Date; + Services?: Service[]; /** *

                                                                                              The start of the time frame for which the graph was generated.

                                                                                              @@ -1246,10 +1420,9 @@ export interface GetServiceGraphResult { StartTime?: Date; /** - *

                                                                                              The services that have processed a traced request during the specified time - * frame.

                                                                                              + *

                                                                                              The end of the time frame for which the graph was generated.

                                                                                              */ - Services?: Service[]; + EndTime?: Date; } export namespace GetServiceGraphResult { @@ -1260,41 +1433,41 @@ export namespace GetServiceGraphResult { export interface GetTimeSeriesServiceStatisticsRequest { /** - *

                                                                                              The case-sensitive name of the group for which to pull statistics from.

                                                                                              + *

                                                                                              A filter expression defining entities that will be aggregated for statistics. + * Supports ID, service, and edge functions. If no selector expression is specified, edge + * statistics are returned.

                                                                                              */ - GroupName?: string; + EntitySelectorExpression?: string; /** - *

                                                                                              Pagination token.

                                                                                              + *

                                                                                              The case-sensitive name of the group for which to pull statistics from.

                                                                                              */ - NextToken?: string; + GroupName?: string; /** - *

                                                                                              Aggregation period in seconds.

                                                                                              + *

                                                                                              The end of the time frame for which to aggregate statistics.

                                                                                              */ - Period?: number; + EndTime: Date | undefined; /** - *

                                                                                              The ARN of the group for which to pull statistics from.

                                                                                              + *

                                                                                              The start of the time frame for which to aggregate statistics.

                                                                                              */ - GroupARN?: string; + StartTime: Date | undefined; /** - *

                                                                                              The start of the time frame for which to aggregate statistics.

                                                                                              + *

                                                                                              The Amazon Resource Name (ARN) of the group for which to pull statistics from.

                                                                                              */ - StartTime: Date | undefined; + GroupARN?: string; /** - *

                                                                                              The end of the time frame for which to aggregate statistics.

                                                                                              + *

                                                                                              Pagination token.

                                                                                              */ - EndTime: Date | undefined; + NextToken?: string; /** - *

                                                                                              A filter expression defining entities that will be aggregated for statistics. - * Supports ID, service, and edge functions. If no selector expression is specified, edge - * statistics are returned.

                                                                                              + *

                                                                                              Aggregation period in seconds.

                                                                                              */ - EntitySelectorExpression?: string; + Period?: number; } export namespace GetTimeSeriesServiceStatisticsRequest { @@ -1312,11 +1485,6 @@ export interface TimeSeriesServiceStatistics { */ ServiceSummaryStatistics?: ServiceStatistics; - /** - *

                                                                                              Timestamp of the window for which statistics are aggregated.

                                                                                              - */ - Timestamp?: Date; - /** *

                                                                                              Response statistics for an edge.

                                                                                              */ @@ -1326,6 +1494,11 @@ export interface TimeSeriesServiceStatistics { *

                                                                                              The response time histogram for the selected entities.

                                                                                              */ ResponseTimeHistogram?: HistogramEntry[]; + + /** + *

                                                                                              Timestamp of the window for which statistics are aggregated.

                                                                                              + */ + Timestamp?: Date; } export namespace TimeSeriesServiceStatistics { @@ -1336,9 +1509,10 @@ export namespace TimeSeriesServiceStatistics { export interface GetTimeSeriesServiceStatisticsResult { /** - *

                                                                                              Pagination token.

                                                                                              + *

                                                                                              A flag indicating whether or not a group's filter expression has been consistent, or if a returned + * aggregation might show statistics from an older version of the group's filter expression.

                                                                                              */ - NextToken?: string; + ContainsOldGroupVersions?: boolean; /** *

                                                                                              The collection of statistics.

                                                                                              @@ -1346,11 +1520,9 @@ export interface GetTimeSeriesServiceStatisticsResult { TimeSeriesServiceStatistics?: TimeSeriesServiceStatistics[]; /** - *

                                                                                              A flag indicating whether or not a group's filter expression has been consistent, - * or if a returned aggregation may show statistics from an older version of the group's - * filter expression.

                                                                                              + *

                                                                                              Pagination token.

                                                                                              */ - ContainsOldGroupVersions?: boolean; + NextToken?: string; } export namespace GetTimeSeriesServiceStatisticsResult { @@ -1432,6 +1604,12 @@ export interface GetTraceSummariesRequest { */ EndTime: Date | undefined; + /** + *

                                                                                              A parameter to indicate whether to enable sampling on trace summaries. Input parameters are Name and + * Value.

                                                                                              + */ + SamplingStrategy?: SamplingStrategy; + /** *

                                                                                              Set to true to get summaries for only a subset of available * traces.

                                                                                              @@ -1439,16 +1617,14 @@ export interface GetTraceSummariesRequest { Sampling?: boolean; /** - *

                                                                                              A paramater to indicate whether to enable sampling on trace summaries. Input - * parameters are Name and Value.

                                                                                              + *

                                                                                              The start of the time frame for which to retrieve traces.

                                                                                              */ - SamplingStrategy?: SamplingStrategy; + StartTime: Date | undefined; /** - *

                                                                                              Specify the pagination token returned by a previous request to retrieve the next page - * of results.

                                                                                              + *

                                                                                              A parameter to indicate whether to query trace summaries by TraceId or Event time.

                                                                                              */ - NextToken?: string; + TimeRangeType?: TimeRangeType | string; /** *

                                                                                              Specify a filter expression to retrieve trace summaries for services or requests that @@ -1457,14 +1633,10 @@ export interface GetTraceSummariesRequest { FilterExpression?: string; /** - *

                                                                                              A parameter to indicate whether to query trace summaries by TraceId or Event time.

                                                                                              - */ - TimeRangeType?: TimeRangeType | string; - - /** - *

                                                                                              The start of the time frame for which to retrieve traces.

                                                                                              + *

                                                                                              Specify the pagination token returned by a previous request to retrieve the next page + * of results.

                                                                                              */ - StartTime: Date | undefined; + NextToken?: string; } export namespace GetTraceSummariesRequest { @@ -1478,14 +1650,14 @@ export namespace GetTraceSummariesRequest { */ export interface RootCauseException { /** - *

                                                                                              The message of the exception.

                                                                                              + *

                                                                                              The name of the exception.

                                                                                              */ - Message?: string; + Name?: string; /** - *

                                                                                              The name of the exception.

                                                                                              + *

                                                                                              The message of the exception.

                                                                                              */ - Name?: string; + Message?: string; } export namespace RootCauseException { @@ -1505,14 +1677,14 @@ export interface ErrorRootCauseEntity { Exceptions?: RootCauseException[]; /** - *

                                                                                              A flag that denotes a remote subsegment.

                                                                                              + *

                                                                                              The name of the entity.

                                                                                              */ - Remote?: boolean; + Name?: string; /** - *

                                                                                              The name of the entity.

                                                                                              + *

                                                                                              A flag that denotes a remote subsegment.

                                                                                              */ - Name?: string; + Remote?: boolean; } export namespace ErrorRootCauseEntity { @@ -1526,34 +1698,34 @@ export namespace ErrorRootCauseEntity { */ export interface ErrorRootCauseService { /** - *

                                                                                              The service name.

                                                                                              + *

                                                                                              The account ID associated to the service.

                                                                                              */ - Name?: string; + AccountId?: string; /** - *

                                                                                              A Boolean value indicating if the service is inferred from the trace.

                                                                                              + *

                                                                                              The path of root cause entities found on the service.

                                                                                              */ - Inferred?: boolean; + EntityPath?: ErrorRootCauseEntity[]; /** - *

                                                                                              A collection of associated service names.

                                                                                              + *

                                                                                              The service name.

                                                                                              */ - Names?: string[]; + Name?: string; /** - *

                                                                                              The account ID associated to the service.

                                                                                              + *

                                                                                              The type associated to the service.

                                                                                              */ - AccountId?: string; + Type?: string; /** - *

                                                                                              The path of root cause entities found on the service.

                                                                                              + *

                                                                                              A collection of associated service names.

                                                                                              */ - EntityPath?: ErrorRootCauseEntity[]; + Names?: string[]; /** - *

                                                                                              The type associated to the service.

                                                                                              + *

                                                                                              A Boolean value indicating if the service is inferred from the trace.

                                                                                              */ - Type?: string; + Inferred?: boolean; } export namespace ErrorRootCauseService { @@ -1616,14 +1788,14 @@ export namespace FaultRootCauseEntity { */ export interface FaultRootCauseService { /** - *

                                                                                              A Boolean value indicating if the service is inferred from the trace.

                                                                                              + *

                                                                                              The service name.

                                                                                              */ - Inferred?: boolean; + Name?: string; /** - *

                                                                                              The account ID associated to the service.

                                                                                              + *

                                                                                              The type associated to the service.

                                                                                              */ - AccountId?: string; + Type?: string; /** *

                                                                                              A collection of associated service names.

                                                                                              @@ -1631,19 +1803,19 @@ export interface FaultRootCauseService { Names?: string[]; /** - *

                                                                                              The service name.

                                                                                              + *

                                                                                              A Boolean value indicating if the service is inferred from the trace.

                                                                                              */ - Name?: string; + Inferred?: boolean; /** - *

                                                                                              The path of root cause entities found on the service.

                                                                                              + *

                                                                                              The account ID associated to the service.

                                                                                              */ - EntityPath?: FaultRootCauseEntity[]; + AccountId?: string; /** - *

                                                                                              The type associated to the service.

                                                                                              + *

                                                                                              The path of root cause entities found on the service.

                                                                                              */ - Type?: string; + EntityPath?: FaultRootCauseEntity[]; } export namespace FaultRootCauseService { @@ -1657,15 +1829,15 @@ export namespace FaultRootCauseService { */ export interface FaultRootCause { /** - *

                                                                                              A list of corresponding services. A service identifies a segment and it contains a - * name, account ID, type, and inferred flag.

                                                                                              + *

                                                                                              A flag that denotes that the root cause impacts the trace client.

                                                                                              */ - Services?: FaultRootCauseService[]; + ClientImpacting?: boolean; /** - *

                                                                                              A flag that denotes that the root cause impacts the trace client.

                                                                                              + *

                                                                                              A list of corresponding services. A service identifies a segment and it contains a + * name, account ID, type, and inferred flag.

                                                                                              */ - ClientImpacting?: boolean; + Services?: FaultRootCauseService[]; } export namespace FaultRootCause { @@ -1684,24 +1856,24 @@ export interface Http { HttpURL?: string; /** - *

                                                                                              The request method.

                                                                                              + *

                                                                                              The response status.

                                                                                              */ - HttpMethod?: string; + HttpStatus?: number; /** - *

                                                                                              The IP address of the requestor.

                                                                                              + *

                                                                                              The request's user agent string.

                                                                                              */ - ClientIp?: string; + UserAgent?: string; /** - *

                                                                                              The request's user agent string.

                                                                                              + *

                                                                                              The IP address of the requestor.

                                                                                              */ - UserAgent?: string; + ClientIp?: string; /** - *

                                                                                              The response status.

                                                                                              + *

                                                                                              The request method.

                                                                                              */ - HttpStatus?: number; + HttpMethod?: string; } export namespace Http { @@ -1747,11 +1919,6 @@ export namespace ResourceARNDetail { * warning.

                                                                                              */ export interface ResponseTimeRootCauseEntity { - /** - *

                                                                                              The types and messages of the exceptions.

                                                                                              - */ - Coverage?: number; - /** *

                                                                                              The name of the entity.

                                                                                              */ @@ -1761,6 +1928,11 @@ export interface ResponseTimeRootCauseEntity { *

                                                                                              A flag that denotes a remote subsegment.

                                                                                              */ Remote?: boolean; + + /** + *

                                                                                              The type and messages of the exceptions.

                                                                                              + */ + Coverage?: number; } export namespace ResponseTimeRootCauseEntity { @@ -1774,34 +1946,34 @@ export namespace ResponseTimeRootCauseEntity { */ export interface ResponseTimeRootCauseService { /** - *

                                                                                              The service name.

                                                                                              + *

                                                                                              The path of root cause entities found on the service.

                                                                                              */ - Name?: string; + EntityPath?: ResponseTimeRootCauseEntity[]; /** - *

                                                                                              The type associated to the service.

                                                                                              + *

                                                                                              A Boolean value indicating if the service is inferred from the trace.

                                                                                              */ - Type?: string; + Inferred?: boolean; /** - *

                                                                                              A collection of associated service names.

                                                                                              + *

                                                                                              The account ID associated to the service.

                                                                                              */ - Names?: string[]; + AccountId?: string; /** - *

                                                                                              The account ID associated to the service.

                                                                                              + *

                                                                                              The type associated to the service.

                                                                                              */ - AccountId?: string; + Type?: string; /** - *

                                                                                              A Boolean value indicating if the service is inferred from the trace.

                                                                                              + *

                                                                                              A collection of associated service names.

                                                                                              */ - Inferred?: boolean; + Names?: string[]; /** - *

                                                                                              The path of root cause entities found on the service.

                                                                                              + *

                                                                                              The service name.

                                                                                              */ - EntityPath?: ResponseTimeRootCauseEntity[]; + Name?: string; } export namespace ResponseTimeRootCauseService { @@ -1815,15 +1987,15 @@ export namespace ResponseTimeRootCauseService { */ export interface ResponseTimeRootCause { /** - *

                                                                                              A list of corresponding services. A service identifies a segment and contains a name, - * account ID, type, and inferred flag.

                                                                                              + *

                                                                                              A flag that denotes that the root cause impacts the trace client.

                                                                                              */ - Services?: ResponseTimeRootCauseService[]; + ClientImpacting?: boolean; /** - *

                                                                                              A flag that denotes that the root cause impacts the trace client.

                                                                                              + *

                                                                                              A list of corresponding services. A service identifies a segment and contains a name, + * account ID, type, and inferred flag.

                                                                                              */ - ClientImpacting?: boolean; + Services?: ResponseTimeRootCauseService[]; } export namespace ResponseTimeRootCause { @@ -1837,14 +2009,14 @@ export namespace ResponseTimeRootCause { */ export interface TraceUser { /** - *

                                                                                              The user's name.

                                                                                              + *

                                                                                              Services that the user's request hit.

                                                                                              */ - UserName?: string; + ServiceIds?: ServiceId[]; /** - *

                                                                                              Services that the user's request hit.

                                                                                              + *

                                                                                              The user's name.

                                                                                              */ - ServiceIds?: ServiceId[]; + UserName?: string; } export namespace TraceUser { @@ -1858,32 +2030,30 @@ export namespace TraceUser { */ export interface TraceSummary { /** - *

                                                                                              The root of a trace.

                                                                                              + *

                                                                                              One or more of the segment documents is in progress.

                                                                                              */ - EntryPoint?: ServiceId; + IsPartial?: boolean; /** - *

                                                                                              A collection of FaultRootCause structures corresponding to the the trace - * segments.

                                                                                              + *

                                                                                              One or more of the segment documents has a 429 throttling error.

                                                                                              */ - FaultRootCauses?: FaultRootCause[]; + HasThrottle?: boolean; /** - *

                                                                                              Information about the HTTP request served by the trace.

                                                                                              + *

                                                                                              The unique identifier for the request that generated the trace's segments and + * subsegments.

                                                                                              */ - Http?: Http; + Id?: string; /** - *

                                                                                              A list of availability zones for any zone corresponding to the trace - * segments.

                                                                                              + *

                                                                                              Service IDs from the trace's segment documents.

                                                                                              */ - AvailabilityZones?: AvailabilityZoneDetail[]; + ServiceIds?: ServiceId[]; /** - *

                                                                                              A list of EC2 instance IDs for any instance corresponding to the trace - * segments.

                                                                                              + *

                                                                                              The root segment document has a 500 series error.

                                                                                              */ - InstanceIds?: InstanceIdDetail[]; + HasFault?: boolean; /** *

                                                                                              The root segment document has a 400 series error.

                                                                                              @@ -1891,30 +2061,28 @@ export interface TraceSummary { HasError?: boolean; /** - *

                                                                                              The matched time stamp of a defined event.

                                                                                              - */ - MatchedEventTime?: Date; - - /** - *

                                                                                              The unique identifier for the request that generated the trace's segments and - * subsegments.

                                                                                              + *

                                                                                              A list of EC2 instance IDs for any instance corresponding to the trace + * segments.

                                                                                              */ - Id?: string; + InstanceIds?: InstanceIdDetail[]; /** - *

                                                                                              A list of resource ARNs for any resource corresponding to the trace segments.

                                                                                              + *

                                                                                              The length of time in seconds between the start and end times of the root segment. If + * the service performs work asynchronously, the response time measures the time before the + * response is sent to the user, while the duration measures the amount of time before the last + * traced activity completes.

                                                                                              */ - ResourceARNs?: ResourceARNDetail[]; + ResponseTime?: number; /** - *

                                                                                              The root segment document has a 500 series error.

                                                                                              + *

                                                                                              A collection of FaultRootCause structures corresponding to the trace segments.

                                                                                              */ - HasFault?: boolean; + FaultRootCauses?: FaultRootCause[]; /** - *

                                                                                              Annotations from the trace's segment documents.

                                                                                              + *

                                                                                              The root of a trace.

                                                                                              */ - Annotations?: { [key: string]: ValueWithServiceIds[] }; + EntryPoint?: ServiceId; /** *

                                                                                              A collection of ErrorRootCause structures corresponding to the trace @@ -1923,49 +2091,51 @@ export interface TraceSummary { ErrorRootCauses?: ErrorRootCause[]; /** - *

                                                                                              One or more of the segment documents is in progress.

                                                                                              + *

                                                                                              The revision number of a trace.

                                                                                              */ - IsPartial?: boolean; + Revision?: number; /** - *

                                                                                              The length of time in seconds between the start time of the root segment and the end - * time of the last segment that completed.

                                                                                              + *

                                                                                              A collection of ResponseTimeRootCause structures corresponding to the trace + * segments.

                                                                                              */ - Duration?: number; + ResponseTimeRootCauses?: ResponseTimeRootCause[]; /** - *

                                                                                              The length of time in seconds between the start and end times of the root segment. If - * the service performs work asynchronously, the response time measures the time before the - * response is sent to the user, while the duration measures the amount of time before the last - * traced activity completes.

                                                                                              + *

                                                                                              A list of resource ARNs for any resource corresponding to the trace segments.

                                                                                              */ - ResponseTime?: number; + ResourceARNs?: ResourceARNDetail[]; /** - *

                                                                                              Service IDs from the trace's segment documents.

                                                                                              + *

                                                                                              Information about the HTTP request served by the trace.

                                                                                              */ - ServiceIds?: ServiceId[]; + Http?: Http; /** - *

                                                                                              A collection of ResponseTimeRootCause structures corresponding to the trace - * segments.

                                                                                              + *

                                                                                              Annotations from the trace's segment documents.

                                                                                              */ - ResponseTimeRootCauses?: ResponseTimeRootCause[]; + Annotations?: { [key: string]: ValueWithServiceIds[] }; /** - *

                                                                                              The revision number of a trace.

                                                                                              + *

                                                                                              Users from the trace's segment documents.

                                                                                              */ - Revision?: number; + Users?: TraceUser[]; /** - *

                                                                                              One or more of the segment documents has a 429 throttling error.

                                                                                              + *

                                                                                              A list of Availability Zones for any zone corresponding to the trace segments.

                                                                                              */ - HasThrottle?: boolean; + AvailabilityZones?: AvailabilityZoneDetail[]; /** - *

                                                                                              Users from the trace's segment documents.

                                                                                              + *

                                                                                              The matched time stamp of a defined event.

                                                                                              */ - Users?: TraceUser[]; + MatchedEventTime?: Date; + + /** + *

                                                                                              The length of time in seconds between the start time of the root segment and the end + * time of the last segment that completed.

                                                                                              + */ + Duration?: number; } export namespace TraceSummary { @@ -1986,18 +2156,17 @@ export interface GetTraceSummariesResult { */ ApproximateTime?: Date; - /** - *

                                                                                              If the requested time frame contained more than one page of results, you can use this - * token to retrieve the next page. The first page contains the most most recent results, closest - * to the end of the time frame.

                                                                                              - */ - NextToken?: string; - /** *

                                                                                              The total number of traces processed, including traces that did not match the specified * filter expression.

                                                                                              */ TracesProcessedCount?: number; + + /** + *

                                                                                              If the requested time frame contained more than one page of results, you can use this token to retrieve the + * next page. The first page contains the most recent results, closest to the end of the time frame.

                                                                                              + */ + NextToken?: string; } export namespace GetTraceSummariesResult { @@ -2006,7 +2175,68 @@ export namespace GetTraceSummariesResult { }); } +export interface ListTagsForResourceRequest { + /** + *

                                                                                              The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.

                                                                                              + */ + ResourceARN: string | undefined; + + /** + *

                                                                                              A pagination token. If multiple pages of results are returned, use the NextToken value returned with + * the current page of results as the value of this parameter to get the next page of results.

                                                                                              + */ + NextToken?: string; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceResponse { + /** + *

                                                                                              A pagination token. If multiple pages of results are returned, use the NextToken value returned with + * the current page of results to get the next page of results.

                                                                                              + */ + NextToken?: string; + + /** + *

                                                                                              A list of tags, as key and value pairs, that is associated with the specified X-Ray group or sampling rule.

                                                                                              + */ + Tags?: Tag[]; +} + +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                                              The resource was not found. Verify that the name or Amazon Resource Name (ARN) of the resource is + * correct.

                                                                                              + */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + Message?: string; + ResourceName?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + export interface PutEncryptionConfigRequest { + /** + *

                                                                                              The type of encryption. Set to KMS to use your own key for encryption. Set + * to NONE for default encryption.

                                                                                              + */ + Type: EncryptionType | string | undefined; + /** *

                                                                                              An AWS KMS customer master key (CMK) in one of the following formats:

                                                                                              *
                                                                                                @@ -2031,12 +2261,6 @@ export interface PutEncryptionConfigRequest { *

                                                                                                Omit this key if you set Type to NONE.

                                                                                                */ KeyId?: string; - - /** - *

                                                                                                The type of encryption. Set to KMS to use your own key for encryption. Set - * to NONE for default encryption.

                                                                                                - */ - Type: EncryptionType | string | undefined; } export namespace PutEncryptionConfigRequest { @@ -2070,27 +2294,27 @@ export interface BackendConnectionErrors { /** *

                                                                                                */ - ConnectionRefusedCount?: number; + HTTPCode4XXCount?: number; /** *

                                                                                                */ - HTTPCode4XXCount?: number; + ConnectionRefusedCount?: number; /** *

                                                                                                */ - UnknownHostCount?: number; + TimeoutCount?: number; /** *

                                                                                                */ - OtherCount?: number; + UnknownHostCount?: number; /** *

                                                                                                */ - TimeoutCount?: number; + OtherCount?: number; } export namespace BackendConnectionErrors { @@ -2111,27 +2335,27 @@ export interface TelemetryRecord { /** *

                                                                                                */ - SegmentsReceivedCount?: number; + SegmentsRejectedCount?: number; /** *

                                                                                                */ - SegmentsSentCount?: number; + BackendConnectionErrors?: BackendConnectionErrors; /** *

                                                                                                */ - SegmentsRejectedCount?: number; + SegmentsSpilloverCount?: number; /** *

                                                                                                */ - BackendConnectionErrors?: BackendConnectionErrors; + SegmentsReceivedCount?: number; /** *

                                                                                                */ - SegmentsSpilloverCount?: number; + SegmentsSentCount?: number; } export namespace TelemetryRecord { @@ -2149,17 +2373,17 @@ export interface PutTelemetryRecordsRequest { /** *

                                                                                                */ - EC2InstanceId?: string; + ResourceARN?: string; /** *

                                                                                                */ - Hostname?: string; + EC2InstanceId?: string; /** *

                                                                                                */ - ResourceARN?: string; + Hostname?: string; } export namespace PutTelemetryRecordsRequest { @@ -2229,16 +2453,124 @@ export namespace PutTraceSegmentsResult { }); } +export interface TagResourceRequest { + /** + *

                                                                                                The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.

                                                                                                + */ + ResourceARN: string | undefined; + + /** + *

                                                                                                A map that contains one or more tag keys and tag values to attach to an X-Ray group or + * sampling rule. For more information about ways to use tags, see Tagging AWS resources + * in the AWS General Reference.

                                                                                                + *

                                                                                                The following restrictions apply to tags:

                                                                                                + *
                                                                                                  + *
                                                                                                • + *

                                                                                                  Maximum number of user-applied tags per resource: 50

                                                                                                  + *
                                                                                                • + *
                                                                                                • + *

                                                                                                  Maximum tag key length: 128 Unicode characters

                                                                                                  + *
                                                                                                • + *
                                                                                                • + *

                                                                                                  Maximum tag value length: 256 Unicode characters

                                                                                                  + *
                                                                                                • + *
                                                                                                • + *

                                                                                                  Valid values for key and value: a-z, A-Z, 0-9, space, and the following characters: _ . : + * / = + - and @

                                                                                                  + *
                                                                                                • + *
                                                                                                • + *

                                                                                                  Tag keys and values are case sensitive.

                                                                                                  + *
                                                                                                • + *
                                                                                                • + *

                                                                                                  Don't use aws: as a prefix for keys; it's reserved for AWS use. You + * cannot edit or delete system tags.

                                                                                                  + *
                                                                                                • + *
                                                                                                + */ + Tags: Tag[] | undefined; +} + +export namespace TagResourceRequest { + export const filterSensitiveLog = (obj: TagResourceRequest): any => ({ + ...obj, + }); +} + +export interface TagResourceResponse {} + +export namespace TagResourceResponse { + export const filterSensitiveLog = (obj: TagResourceResponse): any => ({ + ...obj, + }); +} + +/** + *

                                                                                                You have exceeded the maximum number of tags you can apply to this resource.

                                                                                                + */ +export interface TooManyTagsException extends __SmithyException, $MetadataBearer { + name: "TooManyTagsException"; + $fault: "client"; + Message?: string; + ResourceName?: string; +} + +export namespace TooManyTagsException { + export const filterSensitiveLog = (obj: TooManyTagsException): any => ({ + ...obj, + }); +} + +export interface UntagResourceRequest { + /** + *

                                                                                                Keys for one or more tags that you want to remove from an X-Ray group or sampling rule.

                                                                                                + */ + TagKeys: string[] | undefined; + + /** + *

                                                                                                The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.

                                                                                                + */ + ResourceARN: 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, + }); +} + export interface UpdateGroupRequest { + /** + *

                                                                                                The updated filter expression defining criteria by which to group traces.

                                                                                                + */ + FilterExpression?: string; + /** *

                                                                                                The case-sensitive name of the group.

                                                                                                */ GroupName?: string; /** - *

                                                                                                The updated filter expression defining criteria by which to group traces.

                                                                                                + *

                                                                                                The structure containing configurations related to insights.

                                                                                                + *
                                                                                                  + *
                                                                                                • + *

                                                                                                  The InsightsEnabled boolean can be set to true to enable insights for the + * group or false to disable insights for the group.

                                                                                                  + *
                                                                                                • + *
                                                                                                • + *

                                                                                                  The NotifcationsEnabled boolean can be set to true to enable insights notifications for the group. + * Notifications can only be enabled on a group with InsightsEnabled set to true.

                                                                                                  + *
                                                                                                • + *
                                                                                                */ - FilterExpression?: string; + InsightsConfiguration?: InsightsConfiguration; /** *

                                                                                                The ARN that was generated upon creation.

                                                                                                @@ -2255,8 +2587,8 @@ export namespace UpdateGroupRequest { export interface UpdateGroupResult { /** *

                                                                                                The group that was updated. Contains the name of the group that was updated, the - * ARN of the group that was updated, and the updated filter expression assigned to the - * group.

                                                                                                + * ARN of the group that was updated, the updated filter expression, and the updated insight + * configuration assigned to the group.

                                                                                                */ Group?: Group; } @@ -2272,15 +2604,14 @@ export namespace UpdateGroupResult { */ export interface SamplingRuleUpdate { /** - *

                                                                                                A fixed number of matching requests to instrument per second, prior to applying the - * fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.

                                                                                                + *

                                                                                                Matches the name that the service uses to identify itself in segments.

                                                                                                */ - ReservoirSize?: number; + ServiceName?: string; /** - *

                                                                                                Matches the name that the service uses to identify itself in segments.

                                                                                                + *

                                                                                                The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.

                                                                                                */ - ServiceName?: string; + RuleARN?: string; /** *

                                                                                                Matches attributes derived from the request.

                                                                                                @@ -2288,50 +2619,51 @@ export interface SamplingRuleUpdate { Attributes?: { [key: string]: string }; /** - *

                                                                                                The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.

                                                                                                + *

                                                                                                A fixed number of matching requests to instrument per second, prior to applying the + * fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.

                                                                                                */ - RuleARN?: string; + ReservoirSize?: number; /** - *

                                                                                                Matches the origin that the service uses to identify its type in segments.

                                                                                                + *

                                                                                                The name of the sampling rule. Specify a rule by either name or ARN, but not both.

                                                                                                */ - ServiceType?: string; + RuleName?: string; /** - *

                                                                                                Matches the hostname from a request URL.

                                                                                                + *

                                                                                                Matches the HTTP method of a request.

                                                                                                */ - Host?: string; + HTTPMethod?: string; /** - *

                                                                                                The priority of the sampling rule.

                                                                                                + *

                                                                                                The percentage of matching requests to instrument, after the reservoir is + * exhausted.

                                                                                                */ - Priority?: number; + FixedRate?: number; /** - *

                                                                                                Matches the ARN of the AWS resource on which the service runs.

                                                                                                + *

                                                                                                Matches the path from a request URL.

                                                                                                */ - ResourceARN?: string; + URLPath?: string; /** - *

                                                                                                Matches the path from a request URL.

                                                                                                + *

                                                                                                Matches the ARN of the AWS resource on which the service runs.

                                                                                                */ - URLPath?: string; + ResourceARN?: string; /** - *

                                                                                                The name of the sampling rule. Specify a rule by either name or ARN, but not both.

                                                                                                + *

                                                                                                The priority of the sampling rule.

                                                                                                */ - RuleName?: string; + Priority?: number; /** - *

                                                                                                The percentage of matching requests to instrument, after the reservoir is - * exhausted.

                                                                                                + *

                                                                                                Matches the hostname from a request URL.

                                                                                                */ - FixedRate?: number; + Host?: string; /** - *

                                                                                                Matches the HTTP method of a request.

                                                                                                + *

                                                                                                Matches the origin that the service uses to identify its type in segments.

                                                                                                */ - HTTPMethod?: string; + ServiceType?: string; } export namespace SamplingRuleUpdate { diff --git a/clients/client-xray/protocols/Aws_restJson1.ts b/clients/client-xray/protocols/Aws_restJson1.ts index 69d67b72a955..854890431d34 100644 --- a/clients/client-xray/protocols/Aws_restJson1.ts +++ b/clients/client-xray/protocols/Aws_restJson1.ts @@ -22,6 +22,10 @@ import { } from "../commands/GetTimeSeriesServiceStatisticsCommand"; import { GetTraceGraphCommandInput, GetTraceGraphCommandOutput } from "../commands/GetTraceGraphCommand"; import { GetTraceSummariesCommandInput, GetTraceSummariesCommandOutput } from "../commands/GetTraceSummariesCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; import { PutEncryptionConfigCommandInput, PutEncryptionConfigCommandOutput, @@ -31,6 +35,8 @@ import { PutTelemetryRecordsCommandOutput, } from "../commands/PutTelemetryRecordsCommand"; import { PutTraceSegmentsCommandInput, PutTraceSegmentsCommandOutput } from "../commands/PutTraceSegmentsCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateGroupCommandInput, UpdateGroupCommandOutput } from "../commands/UpdateGroupCommand"; import { UpdateSamplingRuleCommandInput, UpdateSamplingRuleCommandOutput } from "../commands/UpdateSamplingRuleCommand"; import { @@ -53,9 +59,11 @@ import { GroupSummary, HistogramEntry, Http, + InsightsConfiguration, InstanceIdDetail, InvalidRequestException, ResourceARNDetail, + ResourceNotFoundException, ResponseTimeRootCause, ResponseTimeRootCauseEntity, ResponseTimeRootCauseService, @@ -72,9 +80,11 @@ import { Service, ServiceId, ServiceStatistics, + Tag, TelemetryRecord, ThrottledException, TimeSeriesServiceStatistics, + TooManyTagsException, Trace, TraceSummary, TraceUser, @@ -128,6 +138,10 @@ export const serializeAws_restJson1CreateGroupCommand = async ( body = JSON.stringify({ ...(input.FilterExpression !== undefined && { FilterExpression: input.FilterExpression }), ...(input.GroupName !== undefined && { GroupName: input.GroupName }), + ...(input.InsightsConfiguration !== undefined && { + InsightsConfiguration: serializeAws_restJson1InsightsConfiguration(input.InsightsConfiguration, context), + }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagList(input.Tags, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -154,6 +168,7 @@ export const serializeAws_restJson1CreateSamplingRuleCommand = async ( ...(input.SamplingRule !== undefined && { SamplingRule: serializeAws_restJson1SamplingRule(input.SamplingRule, context), }), + ...(input.Tags !== undefined && { Tags: serializeAws_restJson1TagList(input.Tags, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -480,6 +495,31 @@ export const serializeAws_restJson1GetTraceSummariesCommand = async ( }); }; +export const serializeAws_restJson1ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/ListTagsForResource"; + let body: any; + body = JSON.stringify({ + ...(input.NextToken !== undefined && { NextToken: input.NextToken }), + ...(input.ResourceARN !== undefined && { ResourceARN: input.ResourceARN }), + }); + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1PutEncryptionConfigCommand = async ( input: PutEncryptionConfigCommandInput, context: __SerdeContext @@ -560,6 +600,56 @@ export const serializeAws_restJson1PutTraceSegmentsCommand = async ( }); }; +export const serializeAws_restJson1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/TagResource"; + 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, + body, + }); +}; + +export const serializeAws_restJson1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "application/json", + }; + let resolvedPath = "/UntagResource"; + 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, + body, + }); +}; + export const serializeAws_restJson1UpdateGroupCommand = async ( input: UpdateGroupCommandInput, context: __SerdeContext @@ -573,6 +663,9 @@ export const serializeAws_restJson1UpdateGroupCommand = async ( ...(input.FilterExpression !== undefined && { FilterExpression: input.FilterExpression }), ...(input.GroupARN !== undefined && { GroupARN: input.GroupARN }), ...(input.GroupName !== undefined && { GroupName: input.GroupName }), + ...(input.InsightsConfiguration !== undefined && { + InsightsConfiguration: serializeAws_restJson1InsightsConfiguration(input.InsightsConfiguration, context), + }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1641,6 +1734,81 @@ const deserializeAws_restJson1GetTraceSummariesCommandError = 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), + NextToken: undefined, + Tags: undefined, + }; + const data: any = await parseBody(output.body, 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_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 "InvalidRequestException": + case "com.amazonaws.xray#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.xray#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledException": + case "com.amazonaws.xray#ThrottledException": + response = { + ...(await deserializeAws_restJson1ThrottledExceptionResponse(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_restJson1PutEncryptionConfigCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1829,6 +1997,148 @@ const deserializeAws_restJson1PutTraceSegmentsCommandError = 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 "InvalidRequestException": + case "com.amazonaws.xray#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.xray#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledException": + case "com.amazonaws.xray#ThrottledException": + response = { + ...(await deserializeAws_restJson1ThrottledExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyTagsException": + case "com.amazonaws.xray#TooManyTagsException": + response = { + ...(await deserializeAws_restJson1TooManyTagsExceptionResponse(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 "InvalidRequestException": + case "com.amazonaws.xray#InvalidRequestException": + response = { + ...(await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.xray#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledException": + case "com.amazonaws.xray#ThrottledException": + response = { + ...(await deserializeAws_restJson1ThrottledExceptionResponse(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_restJson1UpdateGroupCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1972,6 +2282,27 @@ const deserializeAws_restJson1InvalidRequestExceptionResponse = async ( return contents; }; +const deserializeAws_restJson1ResourceNotFoundExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: ResourceNotFoundException = { + name: "ResourceNotFoundException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + ResourceName: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = data.Message; + } + if (data.ResourceName !== undefined && data.ResourceName !== null) { + contents.ResourceName = data.ResourceName; + } + return contents; +}; + const deserializeAws_restJson1RuleLimitExceededExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -2006,6 +2337,27 @@ const deserializeAws_restJson1ThrottledExceptionResponse = async ( return contents; }; +const deserializeAws_restJson1TooManyTagsExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: TooManyTagsException = { + name: "TooManyTagsException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + Message: undefined, + ResourceName: undefined, + }; + const data: any = parsedOutput.body; + if (data.Message !== undefined && data.Message !== null) { + contents.Message = data.Message; + } + if (data.ResourceName !== undefined && data.ResourceName !== null) { + contents.ResourceName = data.ResourceName; + } + return contents; +}; + const serializeAws_restJson1AttributeMap = (input: { [key: string]: string }, context: __SerdeContext): any => { return Object.entries(input).reduce( (acc: { [key: string]: string }, [key, value]: [string, any]) => ({ @@ -2030,6 +2382,13 @@ const serializeAws_restJson1BackendConnectionErrors = ( }; }; +const serializeAws_restJson1InsightsConfiguration = (input: InsightsConfiguration, context: __SerdeContext): any => { + return { + ...(input.InsightsEnabled !== undefined && { InsightsEnabled: input.InsightsEnabled }), + ...(input.NotificationsEnabled !== undefined && { NotificationsEnabled: input.NotificationsEnabled }), + }; +}; + const serializeAws_restJson1SamplingRule = (input: SamplingRule, context: __SerdeContext): any => { return { ...(input.Attributes !== undefined && { @@ -2097,6 +2456,21 @@ const serializeAws_restJson1SamplingStrategy = (input: SamplingStrategy, context }; }; +const serializeAws_restJson1Tag = (input: Tag, context: __SerdeContext): any => { + return { + ...(input.Key !== undefined && { Key: input.Key }), + ...(input.Value !== undefined && { Value: input.Value }), + }; +}; + +const serializeAws_restJson1TagKeyList = (input: string[], context: __SerdeContext): any => { + return input.map((entry) => entry); +}; + +const serializeAws_restJson1TagList = (input: Tag[], context: __SerdeContext): any => { + return input.map((entry) => serializeAws_restJson1Tag(entry, context)); +}; + const serializeAws_restJson1TelemetryRecord = (input: TelemetryRecord, context: __SerdeContext): any => { return { ...(input.BackendConnectionErrors !== undefined && { @@ -2372,6 +2746,10 @@ const deserializeAws_restJson1Group = (output: any, context: __SerdeContext): Gr output.FilterExpression !== undefined && output.FilterExpression !== null ? output.FilterExpression : undefined, GroupARN: output.GroupARN !== undefined && output.GroupARN !== null ? output.GroupARN : undefined, GroupName: output.GroupName !== undefined && output.GroupName !== null ? output.GroupName : undefined, + InsightsConfiguration: + output.InsightsConfiguration !== undefined && output.InsightsConfiguration !== null + ? deserializeAws_restJson1InsightsConfiguration(output.InsightsConfiguration, context) + : undefined, } as any; }; @@ -2381,6 +2759,10 @@ const deserializeAws_restJson1GroupSummary = (output: any, context: __SerdeConte output.FilterExpression !== undefined && output.FilterExpression !== null ? output.FilterExpression : undefined, GroupARN: output.GroupARN !== undefined && output.GroupARN !== null ? output.GroupARN : undefined, GroupName: output.GroupName !== undefined && output.GroupName !== null ? output.GroupName : undefined, + InsightsConfiguration: + output.InsightsConfiguration !== undefined && output.InsightsConfiguration !== null + ? deserializeAws_restJson1InsightsConfiguration(output.InsightsConfiguration, context) + : undefined, } as any; }; @@ -2409,6 +2791,17 @@ const deserializeAws_restJson1Http = (output: any, context: __SerdeContext): Htt } as any; }; +const deserializeAws_restJson1InsightsConfiguration = (output: any, context: __SerdeContext): InsightsConfiguration => { + return { + InsightsEnabled: + output.InsightsEnabled !== undefined && output.InsightsEnabled !== null ? output.InsightsEnabled : undefined, + NotificationsEnabled: + output.NotificationsEnabled !== undefined && output.NotificationsEnabled !== null + ? output.NotificationsEnabled + : undefined, + } as any; +}; + const deserializeAws_restJson1InstanceIdDetail = (output: any, context: __SerdeContext): InstanceIdDetail => { return { Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, @@ -2676,6 +3069,17 @@ const deserializeAws_restJson1ServiceStatistics = (output: any, context: __Serde } as any; }; +const deserializeAws_restJson1Tag = (output: any, context: __SerdeContext): Tag => { + return { + Key: output.Key !== undefined && output.Key !== null ? output.Key : undefined, + Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined, + } as any; +}; + +const deserializeAws_restJson1TagList = (output: any, context: __SerdeContext): Tag[] => { + return (output || []).map((entry: any) => deserializeAws_restJson1Tag(entry, context)); +}; + const deserializeAws_restJson1TimeSeriesServiceStatistics = ( output: any, context: __SerdeContext @@ -2711,6 +3115,8 @@ const deserializeAws_restJson1Trace = (output: any, context: __SerdeContext): Tr return { Duration: output.Duration !== undefined && output.Duration !== null ? output.Duration : undefined, Id: output.Id !== undefined && output.Id !== null ? output.Id : undefined, + LimitExceeded: + output.LimitExceeded !== undefined && output.LimitExceeded !== null ? output.LimitExceeded : undefined, Segments: output.Segments !== undefined && output.Segments !== null ? deserializeAws_restJson1SegmentList(output.Segments, context) From 5de366056b20700b99ad2494f7ae3b70978358e6 Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Wed, 21 Oct 2020 18:58:26 +0000 Subject: [PATCH 2/3] fix: optional chaining in pagination input/output --- .../pagination/ListAnalyzedResourcesPaginator.ts | 4 ++-- .../pagination/ListAnalyzersPaginator.ts | 4 ++-- .../pagination/ListArchiveRulesPaginator.ts | 4 ++-- .../client-accessanalyzer/pagination/ListFindingsPaginator.ts | 4 ++-- .../pagination/ListCertificateAuthoritiesPaginator.ts | 4 ++-- clients/client-acm-pca/pagination/ListPermissionsPaginator.ts | 4 ++-- clients/client-acm-pca/pagination/ListTagsPaginator.ts | 4 ++-- clients/client-acm/pagination/ListCertificatesPaginator.ts | 4 ++-- .../pagination/ListBusinessReportSchedulesPaginator.ts | 4 ++-- .../pagination/ListConferenceProvidersPaginator.ts | 4 ++-- .../pagination/ListDeviceEventsPaginator.ts | 4 ++-- .../pagination/ListGatewayGroupsPaginator.ts | 4 ++-- .../pagination/ListGatewaysPaginator.ts | 4 ++-- .../pagination/ListSkillsPaginator.ts | 4 ++-- .../pagination/ListSkillsStoreCategoriesPaginator.ts | 4 ++-- .../pagination/ListSkillsStoreSkillsByCategoryPaginator.ts | 4 ++-- .../pagination/ListSmartHomeAppliancesPaginator.ts | 4 ++-- .../client-alexa-for-business/pagination/ListTagsPaginator.ts | 4 ++-- .../pagination/SearchAddressBooksPaginator.ts | 4 ++-- .../pagination/SearchContactsPaginator.ts | 4 ++-- .../pagination/SearchDevicesPaginator.ts | 4 ++-- .../pagination/SearchNetworkProfilesPaginator.ts | 4 ++-- .../pagination/SearchProfilesPaginator.ts | 4 ++-- .../pagination/SearchRoomsPaginator.ts | 4 ++-- .../pagination/SearchSkillGroupsPaginator.ts | 4 ++-- .../pagination/SearchUsersPaginator.ts | 4 ++-- clients/client-api-gateway/pagination/GetApiKeysPaginator.ts | 4 ++-- .../pagination/GetBasePathMappingsPaginator.ts | 4 ++-- .../pagination/GetClientCertificatesPaginator.ts | 4 ++-- .../client-api-gateway/pagination/GetDeploymentsPaginator.ts | 4 ++-- .../client-api-gateway/pagination/GetDomainNamesPaginator.ts | 4 ++-- clients/client-api-gateway/pagination/GetModelsPaginator.ts | 4 ++-- .../client-api-gateway/pagination/GetResourcesPaginator.ts | 4 ++-- clients/client-api-gateway/pagination/GetRestApisPaginator.ts | 4 ++-- clients/client-api-gateway/pagination/GetUsagePaginator.ts | 4 ++-- .../pagination/GetUsagePlanKeysPaginator.ts | 4 ++-- .../client-api-gateway/pagination/GetUsagePlansPaginator.ts | 4 ++-- clients/client-api-gateway/pagination/GetVpcLinksPaginator.ts | 4 ++-- .../client-app-mesh/pagination/ListGatewayRoutesPaginator.ts | 4 ++-- clients/client-app-mesh/pagination/ListMeshesPaginator.ts | 4 ++-- clients/client-app-mesh/pagination/ListRoutesPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../pagination/ListVirtualGatewaysPaginator.ts | 4 ++-- .../client-app-mesh/pagination/ListVirtualNodesPaginator.ts | 4 ++-- .../client-app-mesh/pagination/ListVirtualRoutersPaginator.ts | 4 ++-- .../pagination/ListVirtualServicesPaginator.ts | 4 ++-- .../client-appconfig/pagination/ListApplicationsPaginator.ts | 4 ++-- .../pagination/ListConfigurationProfilesPaginator.ts | 4 ++-- .../pagination/ListDeploymentStrategiesPaginator.ts | 4 ++-- .../client-appconfig/pagination/ListDeploymentsPaginator.ts | 4 ++-- .../client-appconfig/pagination/ListEnvironmentsPaginator.ts | 4 ++-- .../pagination/ListHostedConfigurationVersionsPaginator.ts | 4 ++-- .../pagination/DescribeConnectorProfilesPaginator.ts | 4 ++-- .../client-appflow/pagination/DescribeConnectorsPaginator.ts | 4 ++-- .../pagination/DescribeFlowExecutionRecordsPaginator.ts | 4 ++-- clients/client-appflow/pagination/ListFlowsPaginator.ts | 4 ++-- .../pagination/DescribeScalableTargetsPaginator.ts | 4 ++-- .../pagination/DescribeScalingActivitiesPaginator.ts | 4 ++-- .../pagination/DescribeScalingPoliciesPaginator.ts | 4 ++-- .../pagination/DescribeScheduledActionsPaginator.ts | 4 ++-- .../pagination/DescribeContinuousExportsPaginator.ts | 4 ++-- .../pagination/DescribeImportTasksPaginator.ts | 4 ++-- .../pagination/ListApplicationsPaginator.ts | 4 ++-- .../pagination/ListComponentsPaginator.ts | 4 ++-- .../pagination/ListConfigurationHistoryPaginator.ts | 4 ++-- .../pagination/ListLogPatternSetsPaginator.ts | 4 ++-- .../pagination/ListLogPatternsPaginator.ts | 4 ++-- .../pagination/ListProblemsPaginator.ts | 4 ++-- .../pagination/DescribeImagePermissionsPaginator.ts | 4 ++-- .../client-appstream/pagination/DescribeImagesPaginator.ts | 4 ++-- clients/client-athena/pagination/GetQueryResultsPaginator.ts | 4 ++-- clients/client-athena/pagination/ListDataCatalogsPaginator.ts | 4 ++-- clients/client-athena/pagination/ListDatabasesPaginator.ts | 4 ++-- clients/client-athena/pagination/ListNamedQueriesPaginator.ts | 4 ++-- .../client-athena/pagination/ListQueryExecutionsPaginator.ts | 4 ++-- .../client-athena/pagination/ListTableMetadataPaginator.ts | 4 ++-- .../client-athena/pagination/ListTagsForResourcePaginator.ts | 4 ++-- clients/client-athena/pagination/ListWorkGroupsPaginator.ts | 4 ++-- .../pagination/DescribeAutoScalingGroupsPaginator.ts | 4 ++-- .../pagination/DescribeAutoScalingInstancesPaginator.ts | 4 ++-- .../pagination/DescribeLaunchConfigurationsPaginator.ts | 4 ++-- .../pagination/DescribeNotificationConfigurationsPaginator.ts | 4 ++-- .../pagination/DescribePoliciesPaginator.ts | 4 ++-- .../pagination/DescribeScalingActivitiesPaginator.ts | 4 ++-- .../pagination/DescribeScheduledActionsPaginator.ts | 4 ++-- .../client-auto-scaling/pagination/DescribeTagsPaginator.ts | 4 ++-- clients/client-backup/pagination/ListBackupJobsPaginator.ts | 4 ++-- .../pagination/ListBackupPlanTemplatesPaginator.ts | 4 ++-- .../pagination/ListBackupPlanVersionsPaginator.ts | 4 ++-- clients/client-backup/pagination/ListBackupPlansPaginator.ts | 4 ++-- .../client-backup/pagination/ListBackupSelectionsPaginator.ts | 4 ++-- clients/client-backup/pagination/ListBackupVaultsPaginator.ts | 4 ++-- clients/client-backup/pagination/ListCopyJobsPaginator.ts | 4 ++-- .../pagination/ListProtectedResourcesPaginator.ts | 4 ++-- .../pagination/ListRecoveryPointsByBackupVaultPaginator.ts | 4 ++-- .../pagination/ListRecoveryPointsByResourcePaginator.ts | 4 ++-- clients/client-backup/pagination/ListRestoreJobsPaginator.ts | 4 ++-- clients/client-backup/pagination/ListTagsPaginator.ts | 4 ++-- .../pagination/DescribeComputeEnvironmentsPaginator.ts | 4 ++-- .../pagination/DescribeJobDefinitionsPaginator.ts | 4 ++-- clients/client-batch/pagination/DescribeJobQueuesPaginator.ts | 4 ++-- clients/client-batch/pagination/ListJobsPaginator.ts | 4 ++-- clients/client-braket/pagination/SearchDevicesPaginator.ts | 4 ++-- .../client-braket/pagination/SearchQuantumTasksPaginator.ts | 4 ++-- .../pagination/DescribeBudgetActionHistoriesPaginator.ts | 4 ++-- .../pagination/DescribeBudgetActionsForAccountPaginator.ts | 4 ++-- .../pagination/DescribeBudgetActionsForBudgetPaginator.ts | 4 ++-- clients/client-budgets/pagination/DescribeBudgetsPaginator.ts | 4 ++-- .../pagination/DescribeNotificationsForBudgetPaginator.ts | 4 ++-- .../pagination/DescribeSubscribersForNotificationPaginator.ts | 4 ++-- clients/client-chime/pagination/ListAccountsPaginator.ts | 4 ++-- clients/client-chime/pagination/ListAttendeesPaginator.ts | 4 ++-- clients/client-chime/pagination/ListBotsPaginator.ts | 4 ++-- clients/client-chime/pagination/ListMeetingsPaginator.ts | 4 ++-- .../client-chime/pagination/ListPhoneNumberOrdersPaginator.ts | 4 ++-- clients/client-chime/pagination/ListPhoneNumbersPaginator.ts | 4 ++-- clients/client-chime/pagination/ListProxySessionsPaginator.ts | 4 ++-- .../client-chime/pagination/ListRoomMembershipsPaginator.ts | 4 ++-- clients/client-chime/pagination/ListRoomsPaginator.ts | 4 ++-- clients/client-chime/pagination/ListUsersPaginator.ts | 4 ++-- .../pagination/ListVoiceConnectorGroupsPaginator.ts | 4 ++-- .../client-chime/pagination/ListVoiceConnectorsPaginator.ts | 4 ++-- .../pagination/DescribeEnvironmentMembershipsPaginator.ts | 4 ++-- clients/client-cloud9/pagination/ListEnvironmentsPaginator.ts | 4 ++-- .../pagination/ListAppliedSchemaArnsPaginator.ts | 4 ++-- .../pagination/ListAttachedIndicesPaginator.ts | 4 ++-- .../pagination/ListDevelopmentSchemaArnsPaginator.ts | 4 ++-- .../pagination/ListDirectoriesPaginator.ts | 4 ++-- .../pagination/ListFacetAttributesPaginator.ts | 4 ++-- .../pagination/ListFacetNamesPaginator.ts | 4 ++-- .../client-clouddirectory/pagination/ListIndexPaginator.ts | 4 ++-- .../pagination/ListManagedSchemaArnsPaginator.ts | 4 ++-- .../pagination/ListObjectAttributesPaginator.ts | 4 ++-- .../pagination/ListObjectChildrenPaginator.ts | 4 ++-- .../pagination/ListObjectParentPathsPaginator.ts | 4 ++-- .../pagination/ListObjectParentsPaginator.ts | 4 ++-- .../pagination/ListObjectPoliciesPaginator.ts | 4 ++-- .../pagination/ListPolicyAttachmentsPaginator.ts | 4 ++-- .../pagination/ListPublishedSchemaArnsPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../pagination/ListTypedLinkFacetAttributesPaginator.ts | 4 ++-- .../pagination/ListTypedLinkFacetNamesPaginator.ts | 4 ++-- .../client-clouddirectory/pagination/LookupPolicyPaginator.ts | 4 ++-- .../pagination/DescribeAccountLimitsPaginator.ts | 4 ++-- .../pagination/DescribeStackEventsPaginator.ts | 4 ++-- .../pagination/DescribeStackResourceDriftsPaginator.ts | 4 ++-- .../pagination/DescribeStacksPaginator.ts | 4 ++-- .../pagination/ListChangeSetsPaginator.ts | 4 ++-- .../client-cloudformation/pagination/ListExportsPaginator.ts | 4 ++-- .../client-cloudformation/pagination/ListImportsPaginator.ts | 4 ++-- .../pagination/ListStackInstancesPaginator.ts | 4 ++-- .../pagination/ListStackResourcesPaginator.ts | 4 ++-- .../pagination/ListStackSetOperationResultsPaginator.ts | 4 ++-- .../pagination/ListStackSetOperationsPaginator.ts | 4 ++-- .../pagination/ListStackSetsPaginator.ts | 4 ++-- .../client-cloudformation/pagination/ListStacksPaginator.ts | 4 ++-- .../pagination/ListTypeRegistrationsPaginator.ts | 4 ++-- .../pagination/ListTypeVersionsPaginator.ts | 4 ++-- .../client-cloudformation/pagination/ListTypesPaginator.ts | 4 ++-- .../client-cloudhsm-v2/pagination/DescribeBackupsPaginator.ts | 4 ++-- .../pagination/DescribeClustersPaginator.ts | 4 ++-- clients/client-cloudhsm-v2/pagination/ListTagsPaginator.ts | 4 ++-- .../client-cloudtrail/pagination/ListPublicKeysPaginator.ts | 4 ++-- clients/client-cloudtrail/pagination/ListTagsPaginator.ts | 4 ++-- clients/client-cloudtrail/pagination/ListTrailsPaginator.ts | 4 ++-- clients/client-cloudtrail/pagination/LookupEventsPaginator.ts | 4 ++-- .../pagination/DescribeDestinationsPaginator.ts | 4 ++-- .../pagination/DescribeLogGroupsPaginator.ts | 4 ++-- .../pagination/DescribeLogStreamsPaginator.ts | 4 ++-- .../pagination/DescribeMetricFiltersPaginator.ts | 4 ++-- .../pagination/DescribeSubscriptionFiltersPaginator.ts | 4 ++-- .../pagination/FilterLogEventsPaginator.ts | 4 ++-- .../pagination/GetLogEventsPaginator.ts | 4 ++-- .../pagination/DescribeAlarmHistoryPaginator.ts | 4 ++-- .../client-cloudwatch/pagination/DescribeAlarmsPaginator.ts | 4 ++-- .../pagination/DescribeInsightRulesPaginator.ts | 4 ++-- .../client-cloudwatch/pagination/GetMetricDataPaginator.ts | 4 ++-- .../client-cloudwatch/pagination/ListDashboardsPaginator.ts | 4 ++-- clients/client-cloudwatch/pagination/ListMetricsPaginator.ts | 4 ++-- .../client-codeartifact/pagination/ListDomainsPaginator.ts | 4 ++-- .../pagination/ListPackageVersionAssetsPaginator.ts | 4 ++-- .../pagination/ListPackageVersionsPaginator.ts | 4 ++-- .../client-codeartifact/pagination/ListPackagesPaginator.ts | 4 ++-- .../pagination/ListRepositoriesInDomainPaginator.ts | 4 ++-- .../pagination/ListRepositoriesPaginator.ts | 4 ++-- .../pagination/DescribeCodeCoveragesPaginator.ts | 4 ++-- .../client-codebuild/pagination/DescribeTestCasesPaginator.ts | 4 ++-- .../pagination/ListBuildBatchesForProjectPaginator.ts | 4 ++-- .../client-codebuild/pagination/ListBuildBatchesPaginator.ts | 4 ++-- .../pagination/ListBuildsForProjectPaginator.ts | 4 ++-- clients/client-codebuild/pagination/ListBuildsPaginator.ts | 4 ++-- clients/client-codebuild/pagination/ListProjectsPaginator.ts | 4 ++-- .../client-codebuild/pagination/ListReportGroupsPaginator.ts | 4 ++-- .../pagination/ListReportsForReportGroupPaginator.ts | 4 ++-- clients/client-codebuild/pagination/ListReportsPaginator.ts | 4 ++-- .../pagination/ListSharedProjectsPaginator.ts | 4 ++-- .../pagination/ListSharedReportGroupsPaginator.ts | 4 ++-- .../pagination/DescribeMergeConflictsPaginator.ts | 4 ++-- .../pagination/DescribePullRequestEventsPaginator.ts | 4 ++-- .../pagination/GetCommentReactionsPaginator.ts | 4 ++-- .../pagination/GetCommentsForComparedCommitPaginator.ts | 4 ++-- .../pagination/GetCommentsForPullRequestPaginator.ts | 4 ++-- .../client-codecommit/pagination/GetDifferencesPaginator.ts | 4 ++-- .../pagination/GetMergeConflictsPaginator.ts | 4 ++-- .../pagination/ListApprovalRuleTemplatesPaginator.ts | 4 ++-- ...stAssociatedApprovalRuleTemplatesForRepositoryPaginator.ts | 4 ++-- clients/client-codecommit/pagination/ListBranchesPaginator.ts | 4 ++-- .../client-codecommit/pagination/ListPullRequestsPaginator.ts | 4 ++-- .../ListRepositoriesForApprovalRuleTemplatePaginator.ts | 4 ++-- .../client-codecommit/pagination/ListRepositoriesPaginator.ts | 4 ++-- .../pagination/ListApplicationRevisionsPaginator.ts | 4 ++-- .../client-codedeploy/pagination/ListApplicationsPaginator.ts | 4 ++-- .../pagination/ListDeploymentConfigsPaginator.ts | 4 ++-- .../pagination/ListDeploymentGroupsPaginator.ts | 4 ++-- .../pagination/ListDeploymentInstancesPaginator.ts | 4 ++-- .../client-codedeploy/pagination/ListDeploymentsPaginator.ts | 4 ++-- .../pagination/ListCodeReviewsPaginator.ts | 4 ++-- .../pagination/ListRecommendationFeedbackPaginator.ts | 4 ++-- .../pagination/ListRecommendationsPaginator.ts | 4 ++-- .../pagination/ListRepositoryAssociationsPaginator.ts | 4 ++-- .../pagination/ListProfileTimesPaginator.ts | 4 ++-- .../pagination/ListProfilingGroupsPaginator.ts | 4 ++-- .../pagination/ListActionExecutionsPaginator.ts | 4 ++-- .../pagination/ListActionTypesPaginator.ts | 4 ++-- .../pagination/ListPipelineExecutionsPaginator.ts | 4 ++-- .../client-codepipeline/pagination/ListPipelinesPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../client-codepipeline/pagination/ListWebhooksPaginator.ts | 4 ++-- .../pagination/ListConnectionsPaginator.ts | 4 ++-- .../pagination/ListHostsPaginator.ts | 4 ++-- .../pagination/ListEventTypesPaginator.ts | 4 ++-- .../pagination/ListNotificationRulesPaginator.ts | 4 ++-- .../pagination/ListTargetsPaginator.ts | 4 ++-- .../pagination/AdminListGroupsForUserPaginator.ts | 4 ++-- .../pagination/AdminListUserAuthEventsPaginator.ts | 4 ++-- .../pagination/ListGroupsPaginator.ts | 4 ++-- .../pagination/ListIdentityProvidersPaginator.ts | 4 ++-- .../pagination/ListResourceServersPaginator.ts | 4 ++-- .../pagination/ListUserPoolClientsPaginator.ts | 4 ++-- .../pagination/ListUsersInGroupPaginator.ts | 4 ++-- .../pagination/ListUsersPaginator.ts | 4 ++-- .../pagination/ListDocumentClassificationJobsPaginator.ts | 4 ++-- .../pagination/ListDocumentClassifiersPaginator.ts | 4 ++-- .../pagination/ListDominantLanguageDetectionJobsPaginator.ts | 4 ++-- .../pagination/ListEntitiesDetectionJobsPaginator.ts | 4 ++-- .../pagination/ListEntityRecognizersPaginator.ts | 4 ++-- .../pagination/ListKeyPhrasesDetectionJobsPaginator.ts | 4 ++-- .../pagination/ListSentimentDetectionJobsPaginator.ts | 4 ++-- .../pagination/ListTopicsDetectionJobsPaginator.ts | 4 ++-- .../pagination/DescribeRemediationExceptionsPaginator.ts | 4 ++-- .../pagination/DescribeRemediationExecutionStatusPaginator.ts | 4 ++-- .../pagination/GetResourceConfigHistoryPaginator.ts | 4 ++-- .../pagination/SelectAggregateResourceConfigPaginator.ts | 4 ++-- .../pagination/GetCurrentMetricDataPaginator.ts | 4 ++-- clients/client-connect/pagination/GetMetricDataPaginator.ts | 4 ++-- .../client-connect/pagination/ListContactFlowsPaginator.ts | 4 ++-- .../pagination/ListHoursOfOperationsPaginator.ts | 4 ++-- .../client-connect/pagination/ListPhoneNumbersPaginator.ts | 4 ++-- clients/client-connect/pagination/ListPromptsPaginator.ts | 4 ++-- clients/client-connect/pagination/ListQueuesPaginator.ts | 4 ++-- .../pagination/ListRoutingProfileQueuesPaginator.ts | 4 ++-- .../client-connect/pagination/ListRoutingProfilesPaginator.ts | 4 ++-- .../pagination/ListSecurityProfilesPaginator.ts | 4 ++-- .../pagination/ListUserHierarchyGroupsPaginator.ts | 4 ++-- clients/client-connect/pagination/ListUsersPaginator.ts | 4 ++-- .../pagination/GetTranscriptPaginator.ts | 4 ++-- .../pagination/DescribeReportDefinitionsPaginator.ts | 4 ++-- .../pagination/GetSavingsPlansCoveragePaginator.ts | 4 ++-- .../pagination/GetSavingsPlansUtilizationDetailsPaginator.ts | 4 ++-- .../pagination/ListCostCategoryDefinitionsPaginator.ts | 4 ++-- .../pagination/DescribeObjectsPaginator.ts | 4 ++-- .../client-data-pipeline/pagination/ListPipelinesPaginator.ts | 4 ++-- .../client-data-pipeline/pagination/QueryObjectsPaginator.ts | 4 ++-- .../DescribeApplicableIndividualAssessmentsPaginator.ts | 4 ++-- .../pagination/DescribeCertificatesPaginator.ts | 4 ++-- .../pagination/DescribeConnectionsPaginator.ts | 4 ++-- .../pagination/DescribeEndpointTypesPaginator.ts | 4 ++-- .../pagination/DescribeEndpointsPaginator.ts | 4 ++-- .../pagination/DescribeEventSubscriptionsPaginator.ts | 4 ++-- .../pagination/DescribeEventsPaginator.ts | 4 ++-- .../DescribeOrderableReplicationInstancesPaginator.ts | 4 ++-- .../pagination/DescribePendingMaintenanceActionsPaginator.ts | 4 ++-- .../DescribeReplicationInstanceTaskLogsPaginator.ts | 4 ++-- .../pagination/DescribeReplicationInstancesPaginator.ts | 4 ++-- .../pagination/DescribeReplicationSubnetGroupsPaginator.ts | 4 ++-- .../DescribeReplicationTaskAssessmentResultsPaginator.ts | 4 ++-- .../DescribeReplicationTaskAssessmentRunsPaginator.ts | 4 ++-- .../DescribeReplicationTaskIndividualAssessmentsPaginator.ts | 4 ++-- .../pagination/DescribeReplicationTasksPaginator.ts | 4 ++-- .../pagination/DescribeSchemasPaginator.ts | 4 ++-- .../pagination/DescribeTableStatisticsPaginator.ts | 4 ++-- .../pagination/ListDataSetRevisionsPaginator.ts | 4 ++-- .../client-dataexchange/pagination/ListDataSetsPaginator.ts | 4 ++-- clients/client-dataexchange/pagination/ListJobsPaginator.ts | 4 ++-- .../pagination/ListRevisionAssetsPaginator.ts | 4 ++-- clients/client-datasync/pagination/ListAgentsPaginator.ts | 4 ++-- clients/client-datasync/pagination/ListLocationsPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../client-datasync/pagination/ListTaskExecutionsPaginator.ts | 4 ++-- clients/client-datasync/pagination/ListTasksPaginator.ts | 4 ++-- clients/client-detective/pagination/ListGraphsPaginator.ts | 4 ++-- .../client-detective/pagination/ListInvitationsPaginator.ts | 4 ++-- clients/client-detective/pagination/ListMembersPaginator.ts | 4 ++-- .../pagination/GetOfferingStatusPaginator.ts | 4 ++-- .../client-device-farm/pagination/ListArtifactsPaginator.ts | 4 ++-- .../client-device-farm/pagination/ListDevicePoolsPaginator.ts | 4 ++-- clients/client-device-farm/pagination/ListDevicesPaginator.ts | 4 ++-- clients/client-device-farm/pagination/ListJobsPaginator.ts | 4 ++-- .../pagination/ListOfferingTransactionsPaginator.ts | 4 ++-- .../client-device-farm/pagination/ListOfferingsPaginator.ts | 4 ++-- .../client-device-farm/pagination/ListProjectsPaginator.ts | 4 ++-- clients/client-device-farm/pagination/ListRunsPaginator.ts | 4 ++-- clients/client-device-farm/pagination/ListSamplesPaginator.ts | 4 ++-- clients/client-device-farm/pagination/ListSuitesPaginator.ts | 4 ++-- .../pagination/ListTestGridProjectsPaginator.ts | 4 ++-- .../pagination/ListTestGridSessionActionsPaginator.ts | 4 ++-- .../pagination/ListTestGridSessionArtifactsPaginator.ts | 4 ++-- .../pagination/ListTestGridSessionsPaginator.ts | 4 ++-- clients/client-device-farm/pagination/ListTestsPaginator.ts | 4 ++-- .../pagination/ListUniqueProblemsPaginator.ts | 4 ++-- clients/client-device-farm/pagination/ListUploadsPaginator.ts | 4 ++-- .../pagination/DescribeDomainControllersPaginator.ts | 4 ++-- .../client-docdb/pagination/DescribeCertificatesPaginator.ts | 4 ++-- .../pagination/DescribeDBClusterParameterGroupsPaginator.ts | 4 ++-- .../pagination/DescribeDBClusterParametersPaginator.ts | 4 ++-- .../pagination/DescribeDBClusterSnapshotsPaginator.ts | 4 ++-- .../client-docdb/pagination/DescribeDBClustersPaginator.ts | 4 ++-- .../pagination/DescribeDBEngineVersionsPaginator.ts | 4 ++-- .../client-docdb/pagination/DescribeDBInstancesPaginator.ts | 4 ++-- .../pagination/DescribeDBSubnetGroupsPaginator.ts | 4 ++-- clients/client-docdb/pagination/DescribeEventsPaginator.ts | 4 ++-- .../pagination/DescribeOrderableDBInstanceOptionsPaginator.ts | 4 ++-- .../pagination/DescribePendingMaintenanceActionsPaginator.ts | 4 ++-- .../pagination/ListContributorInsightsPaginator.ts | 4 ++-- clients/client-dynamodb/pagination/ListTablesPaginator.ts | 4 ++-- clients/client-ebs/pagination/ListChangedBlocksPaginator.ts | 4 ++-- clients/client-ebs/pagination/ListSnapshotBlocksPaginator.ts | 4 ++-- .../pagination/DescribeCapacityReservationsPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeCarrierGatewaysPaginator.ts | 4 ++-- .../pagination/DescribeClassicLinkInstancesPaginator.ts | 4 ++-- .../DescribeClientVpnAuthorizationRulesPaginator.ts | 4 ++-- .../pagination/DescribeClientVpnConnectionsPaginator.ts | 4 ++-- .../pagination/DescribeClientVpnEndpointsPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeClientVpnRoutesPaginator.ts | 4 ++-- .../pagination/DescribeClientVpnTargetNetworksPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeCoipPoolsPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeDhcpOptionsPaginator.ts | 4 ++-- .../pagination/DescribeEgressOnlyInternetGatewaysPaginator.ts | 4 ++-- .../pagination/DescribeExportImageTasksPaginator.ts | 4 ++-- .../pagination/DescribeFastSnapshotRestoresPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeFleetsPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeFlowLogsPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeFpgaImagesPaginator.ts | 4 ++-- .../pagination/DescribeHostReservationOfferingsPaginator.ts | 4 ++-- .../pagination/DescribeHostReservationsPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeHostsPaginator.ts | 4 ++-- .../DescribeIamInstanceProfileAssociationsPaginator.ts | 4 ++-- .../pagination/DescribeImportImageTasksPaginator.ts | 4 ++-- .../pagination/DescribeImportSnapshotTasksPaginator.ts | 4 ++-- .../DescribeInstanceCreditSpecificationsPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeInstanceStatusPaginator.ts | 4 ++-- .../pagination/DescribeInstanceTypeOfferingsPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeInstanceTypesPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeInstancesPaginator.ts | 4 ++-- .../pagination/DescribeInternetGatewaysPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeIpv6PoolsPaginator.ts | 4 ++-- .../pagination/DescribeLaunchTemplateVersionsPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeLaunchTemplatesPaginator.ts | 4 ++-- ...wayRouteTableVirtualInterfaceGroupAssociationsPaginator.ts | 4 ++-- .../DescribeLocalGatewayRouteTableVpcAssociationsPaginator.ts | 4 ++-- .../pagination/DescribeLocalGatewayRouteTablesPaginator.ts | 4 ++-- .../DescribeLocalGatewayVirtualInterfaceGroupsPaginator.ts | 4 ++-- .../DescribeLocalGatewayVirtualInterfacesPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeLocalGatewaysPaginator.ts | 4 ++-- .../pagination/DescribeManagedPrefixListsPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeMovingAddressesPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeNatGatewaysPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeNetworkAclsPaginator.ts | 4 ++-- .../DescribeNetworkInterfacePermissionsPaginator.ts | 4 ++-- .../pagination/DescribeNetworkInterfacesPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribePrefixListsPaginator.ts | 4 ++-- .../pagination/DescribePrincipalIdFormatPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribePublicIpv4PoolsPaginator.ts | 4 ++-- .../DescribeReservedInstancesModificationsPaginator.ts | 4 ++-- .../pagination/DescribeReservedInstancesOfferingsPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeRouteTablesPaginator.ts | 4 ++-- .../DescribeScheduledInstanceAvailabilityPaginator.ts | 4 ++-- .../pagination/DescribeScheduledInstancesPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeSecurityGroupsPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeSnapshotsPaginator.ts | 4 ++-- .../pagination/DescribeSpotFleetRequestsPaginator.ts | 4 ++-- .../pagination/DescribeSpotInstanceRequestsPaginator.ts | 4 ++-- .../pagination/DescribeSpotPriceHistoryPaginator.ts | 4 ++-- .../pagination/DescribeStaleSecurityGroupsPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeSubnetsPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeTagsPaginator.ts | 4 ++-- .../pagination/DescribeTrafficMirrorFiltersPaginator.ts | 4 ++-- .../pagination/DescribeTrafficMirrorSessionsPaginator.ts | 4 ++-- .../pagination/DescribeTrafficMirrorTargetsPaginator.ts | 4 ++-- .../pagination/DescribeTransitGatewayAttachmentsPaginator.ts | 4 ++-- .../DescribeTransitGatewayMulticastDomainsPaginator.ts | 4 ++-- .../DescribeTransitGatewayPeeringAttachmentsPaginator.ts | 4 ++-- .../pagination/DescribeTransitGatewayRouteTablesPaginator.ts | 4 ++-- .../DescribeTransitGatewayVpcAttachmentsPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeTransitGatewaysPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeVolumeStatusPaginator.ts | 4 ++-- .../pagination/DescribeVolumesModificationsPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeVolumesPaginator.ts | 4 ++-- .../pagination/DescribeVpcClassicLinkDnsSupportPaginator.ts | 4 ++-- .../DescribeVpcEndpointConnectionNotificationsPaginator.ts | 4 ++-- .../pagination/DescribeVpcEndpointConnectionsPaginator.ts | 4 ++-- .../DescribeVpcEndpointServiceConfigurationsPaginator.ts | 4 ++-- .../DescribeVpcEndpointServicePermissionsPaginator.ts | 4 ++-- .../client-ec2/pagination/DescribeVpcEndpointsPaginator.ts | 4 ++-- .../pagination/DescribeVpcPeeringConnectionsPaginator.ts | 4 ++-- clients/client-ec2/pagination/DescribeVpcsPaginator.ts | 4 ++-- .../pagination/GetAssociatedIpv6PoolCidrsPaginator.ts | 4 ++-- .../pagination/GetGroupsForCapacityReservationPaginator.ts | 4 ++-- .../pagination/GetManagedPrefixListAssociationsPaginator.ts | 4 ++-- .../pagination/GetManagedPrefixListEntriesPaginator.ts | 4 ++-- .../GetTransitGatewayAttachmentPropagationsPaginator.ts | 4 ++-- .../GetTransitGatewayMulticastDomainAssociationsPaginator.ts | 4 ++-- .../GetTransitGatewayPrefixListReferencesPaginator.ts | 4 ++-- .../GetTransitGatewayRouteTableAssociationsPaginator.ts | 4 ++-- .../GetTransitGatewayRouteTablePropagationsPaginator.ts | 4 ++-- .../pagination/SearchLocalGatewayRoutesPaginator.ts | 4 ++-- .../SearchTransitGatewayMulticastGroupsPaginator.ts | 4 ++-- .../pagination/DescribeImageScanFindingsPaginator.ts | 4 ++-- clients/client-ecr/pagination/DescribeImagesPaginator.ts | 4 ++-- .../client-ecr/pagination/DescribeRepositoriesPaginator.ts | 4 ++-- .../pagination/GetLifecyclePolicyPreviewPaginator.ts | 4 ++-- clients/client-ecr/pagination/ListImagesPaginator.ts | 4 ++-- clients/client-ecs/pagination/ListAccountSettingsPaginator.ts | 4 ++-- clients/client-ecs/pagination/ListAttributesPaginator.ts | 4 ++-- clients/client-ecs/pagination/ListClustersPaginator.ts | 4 ++-- .../client-ecs/pagination/ListContainerInstancesPaginator.ts | 4 ++-- clients/client-ecs/pagination/ListServicesPaginator.ts | 4 ++-- .../pagination/ListTaskDefinitionFamiliesPaginator.ts | 4 ++-- clients/client-ecs/pagination/ListTaskDefinitionsPaginator.ts | 4 ++-- clients/client-ecs/pagination/ListTasksPaginator.ts | 4 ++-- .../client-efs/pagination/DescribeAccessPointsPaginator.ts | 4 ++-- clients/client-efs/pagination/DescribeFileSystemsPaginator.ts | 4 ++-- clients/client-efs/pagination/DescribeTagsPaginator.ts | 4 ++-- clients/client-efs/pagination/ListTagsForResourcePaginator.ts | 4 ++-- clients/client-eks/pagination/ListClustersPaginator.ts | 4 ++-- clients/client-eks/pagination/ListFargateProfilesPaginator.ts | 4 ++-- clients/client-eks/pagination/ListNodegroupsPaginator.ts | 4 ++-- clients/client-eks/pagination/ListUpdatesPaginator.ts | 4 ++-- .../DescribeEnvironmentManagedActionHistoryPaginator.ts | 4 ++-- .../pagination/DescribeEventsPaginator.ts | 4 ++-- .../pagination/ListPlatformBranchesPaginator.ts | 4 ++-- .../pagination/ListPlatformVersionsPaginator.ts | 4 ++-- .../pagination/DescribeAcceleratorsPaginator.ts | 4 ++-- .../pagination/DescribeListenersPaginator.ts | 4 ++-- .../pagination/DescribeLoadBalancersPaginator.ts | 4 ++-- .../pagination/DescribeTargetGroupsPaginator.ts | 4 ++-- .../pagination/DescribeLoadBalancersPaginator.ts | 4 ++-- .../pagination/ListJobsByPipelinePaginator.ts | 4 ++-- .../pagination/ListJobsByStatusPaginator.ts | 4 ++-- .../pagination/ListPipelinesPaginator.ts | 4 ++-- .../pagination/ListPresetsPaginator.ts | 4 ++-- .../pagination/DescribeCacheClustersPaginator.ts | 4 ++-- .../pagination/DescribeCacheEngineVersionsPaginator.ts | 4 ++-- .../pagination/DescribeCacheParameterGroupsPaginator.ts | 4 ++-- .../pagination/DescribeCacheParametersPaginator.ts | 4 ++-- .../pagination/DescribeCacheSecurityGroupsPaginator.ts | 4 ++-- .../pagination/DescribeCacheSubnetGroupsPaginator.ts | 4 ++-- .../pagination/DescribeEngineDefaultParametersPaginator.ts | 4 ++-- .../client-elasticache/pagination/DescribeEventsPaginator.ts | 4 ++-- .../pagination/DescribeGlobalReplicationGroupsPaginator.ts | 4 ++-- .../pagination/DescribeReplicationGroupsPaginator.ts | 4 ++-- .../DescribeReservedCacheNodesOfferingsPaginator.ts | 4 ++-- .../pagination/DescribeReservedCacheNodesPaginator.ts | 4 ++-- .../pagination/DescribeServiceUpdatesPaginator.ts | 4 ++-- .../pagination/DescribeSnapshotsPaginator.ts | 4 ++-- .../pagination/DescribeUpdateActionsPaginator.ts | 4 ++-- .../pagination/DescribeUserGroupsPaginator.ts | 4 ++-- .../client-elasticache/pagination/DescribeUsersPaginator.ts | 4 ++-- .../DescribeInboundCrossClusterSearchConnectionsPaginator.ts | 4 ++-- .../DescribeOutboundCrossClusterSearchConnectionsPaginator.ts | 4 ++-- .../pagination/DescribePackagesPaginator.ts | 4 ++-- ...DescribeReservedElasticsearchInstanceOfferingsPaginator.ts | 4 ++-- .../DescribeReservedElasticsearchInstancesPaginator.ts | 4 ++-- .../pagination/GetUpgradeHistoryPaginator.ts | 4 ++-- .../pagination/ListDomainsForPackagePaginator.ts | 4 ++-- .../pagination/ListElasticsearchInstanceTypesPaginator.ts | 4 ++-- .../pagination/ListElasticsearchVersionsPaginator.ts | 4 ++-- .../pagination/ListPackagesForDomainPaginator.ts | 4 ++-- .../client-emr/pagination/ListBootstrapActionsPaginator.ts | 4 ++-- clients/client-emr/pagination/ListClustersPaginator.ts | 4 ++-- clients/client-emr/pagination/ListInstanceFleetsPaginator.ts | 4 ++-- clients/client-emr/pagination/ListInstanceGroupsPaginator.ts | 4 ++-- clients/client-emr/pagination/ListInstancesPaginator.ts | 4 ++-- .../client-emr/pagination/ListNotebookExecutionsPaginator.ts | 4 ++-- .../pagination/ListSecurityConfigurationsPaginator.ts | 4 ++-- clients/client-emr/pagination/ListStepsPaginator.ts | 4 ++-- .../client-fms/pagination/ListComplianceStatusPaginator.ts | 4 ++-- clients/client-fms/pagination/ListMemberAccountsPaginator.ts | 4 ++-- clients/client-fms/pagination/ListPoliciesPaginator.ts | 4 ++-- .../client-forecast/pagination/ListDatasetGroupsPaginator.ts | 4 ++-- .../pagination/ListDatasetImportJobsPaginator.ts | 4 ++-- clients/client-forecast/pagination/ListDatasetsPaginator.ts | 4 ++-- .../pagination/ListForecastExportJobsPaginator.ts | 4 ++-- clients/client-forecast/pagination/ListForecastsPaginator.ts | 4 ++-- clients/client-forecast/pagination/ListPredictorsPaginator.ts | 4 ++-- .../pagination/DescribeModelVersionsPaginator.ts | 4 ++-- .../client-frauddetector/pagination/GetDetectorsPaginator.ts | 4 ++-- .../pagination/GetEntityTypesPaginator.ts | 4 ++-- .../client-frauddetector/pagination/GetEventTypesPaginator.ts | 4 ++-- .../pagination/GetExternalModelsPaginator.ts | 4 ++-- clients/client-frauddetector/pagination/GetLabelsPaginator.ts | 4 ++-- clients/client-frauddetector/pagination/GetModelsPaginator.ts | 4 ++-- .../client-frauddetector/pagination/GetOutcomesPaginator.ts | 4 ++-- clients/client-frauddetector/pagination/GetRulesPaginator.ts | 4 ++-- .../client-frauddetector/pagination/GetVariablesPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- clients/client-fsx/pagination/DescribeBackupsPaginator.ts | 4 ++-- .../pagination/DescribeDataRepositoryTasksPaginator.ts | 4 ++-- clients/client-fsx/pagination/DescribeFileSystemsPaginator.ts | 4 ++-- .../pagination/DescribeFleetAttributesPaginator.ts | 4 ++-- .../pagination/DescribeFleetCapacityPaginator.ts | 4 ++-- .../pagination/DescribeFleetEventsPaginator.ts | 4 ++-- .../pagination/DescribeFleetUtilizationPaginator.ts | 4 ++-- .../pagination/DescribeGameServerInstancesPaginator.ts | 4 ++-- .../pagination/DescribeGameSessionDetailsPaginator.ts | 4 ++-- .../pagination/DescribeGameSessionQueuesPaginator.ts | 4 ++-- .../pagination/DescribeGameSessionsPaginator.ts | 4 ++-- .../client-gamelift/pagination/DescribeInstancesPaginator.ts | 4 ++-- .../pagination/DescribeMatchmakingConfigurationsPaginator.ts | 4 ++-- .../pagination/DescribeMatchmakingRuleSetsPaginator.ts | 4 ++-- .../pagination/DescribePlayerSessionsPaginator.ts | 4 ++-- .../pagination/DescribeScalingPoliciesPaginator.ts | 4 ++-- clients/client-gamelift/pagination/ListAliasesPaginator.ts | 4 ++-- clients/client-gamelift/pagination/ListBuildsPaginator.ts | 4 ++-- clients/client-gamelift/pagination/ListFleetsPaginator.ts | 4 ++-- .../pagination/ListGameServerGroupsPaginator.ts | 4 ++-- .../client-gamelift/pagination/ListGameServersPaginator.ts | 4 ++-- clients/client-gamelift/pagination/ListScriptsPaginator.ts | 4 ++-- .../client-gamelift/pagination/SearchGameSessionsPaginator.ts | 4 ++-- clients/client-glue/pagination/GetClassifiersPaginator.ts | 4 ++-- clients/client-glue/pagination/GetConnectionsPaginator.ts | 4 ++-- clients/client-glue/pagination/GetCrawlerMetricsPaginator.ts | 4 ++-- clients/client-glue/pagination/GetCrawlersPaginator.ts | 4 ++-- clients/client-glue/pagination/GetDatabasesPaginator.ts | 4 ++-- clients/client-glue/pagination/GetDevEndpointsPaginator.ts | 4 ++-- clients/client-glue/pagination/GetJobRunsPaginator.ts | 4 ++-- clients/client-glue/pagination/GetJobsPaginator.ts | 4 ++-- clients/client-glue/pagination/GetMLTaskRunsPaginator.ts | 4 ++-- clients/client-glue/pagination/GetMLTransformsPaginator.ts | 4 ++-- .../client-glue/pagination/GetPartitionIndexesPaginator.ts | 4 ++-- clients/client-glue/pagination/GetPartitionsPaginator.ts | 4 ++-- .../pagination/GetSecurityConfigurationsPaginator.ts | 4 ++-- clients/client-glue/pagination/GetTableVersionsPaginator.ts | 4 ++-- clients/client-glue/pagination/GetTablesPaginator.ts | 4 ++-- clients/client-glue/pagination/GetTriggersPaginator.ts | 4 ++-- .../pagination/GetUserDefinedFunctionsPaginator.ts | 4 ++-- clients/client-glue/pagination/GetWorkflowRunsPaginator.ts | 4 ++-- clients/client-glue/pagination/ListCrawlersPaginator.ts | 4 ++-- clients/client-glue/pagination/ListDevEndpointsPaginator.ts | 4 ++-- clients/client-glue/pagination/ListJobsPaginator.ts | 4 ++-- clients/client-glue/pagination/ListMLTransformsPaginator.ts | 4 ++-- clients/client-glue/pagination/ListTriggersPaginator.ts | 4 ++-- clients/client-glue/pagination/ListWorkflowsPaginator.ts | 4 ++-- clients/client-glue/pagination/SearchTablesPaginator.ts | 4 ++-- .../client-groundstation/pagination/ListConfigsPaginator.ts | 4 ++-- .../client-groundstation/pagination/ListContactsPaginator.ts | 4 ++-- .../pagination/ListDataflowEndpointGroupsPaginator.ts | 4 ++-- .../pagination/ListGroundStationsPaginator.ts | 4 ++-- .../pagination/ListMissionProfilesPaginator.ts | 4 ++-- .../pagination/ListSatellitesPaginator.ts | 4 ++-- .../pagination/GetUsageStatisticsPaginator.ts | 4 ++-- clients/client-guardduty/pagination/ListDetectorsPaginator.ts | 4 ++-- clients/client-guardduty/pagination/ListFiltersPaginator.ts | 4 ++-- clients/client-guardduty/pagination/ListFindingsPaginator.ts | 4 ++-- clients/client-guardduty/pagination/ListIPSetsPaginator.ts | 4 ++-- .../client-guardduty/pagination/ListInvitationsPaginator.ts | 4 ++-- clients/client-guardduty/pagination/ListMembersPaginator.ts | 4 ++-- .../pagination/ListOrganizationAdminAccountsPaginator.ts | 4 ++-- .../pagination/ListPublishingDestinationsPaginator.ts | 4 ++-- .../pagination/ListThreatIntelSetsPaginator.ts | 4 ++-- .../DescribeAffectedAccountsForOrganizationPaginator.ts | 4 ++-- .../DescribeAffectedEntitiesForOrganizationPaginator.ts | 4 ++-- .../pagination/DescribeAffectedEntitiesPaginator.ts | 4 ++-- .../pagination/DescribeEventAggregatesPaginator.ts | 4 ++-- .../client-health/pagination/DescribeEventTypesPaginator.ts | 4 ++-- .../pagination/DescribeEventsForOrganizationPaginator.ts | 4 ++-- clients/client-health/pagination/DescribeEventsPaginator.ts | 4 ++-- .../pagination/GetAccountAuthorizationDetailsPaginator.ts | 4 ++-- clients/client-iam/pagination/GetGroupPaginator.ts | 4 ++-- clients/client-iam/pagination/ListAccessKeysPaginator.ts | 4 ++-- clients/client-iam/pagination/ListAccountAliasesPaginator.ts | 4 ++-- .../pagination/ListAttachedGroupPoliciesPaginator.ts | 4 ++-- .../pagination/ListAttachedRolePoliciesPaginator.ts | 4 ++-- .../pagination/ListAttachedUserPoliciesPaginator.ts | 4 ++-- .../client-iam/pagination/ListEntitiesForPolicyPaginator.ts | 4 ++-- clients/client-iam/pagination/ListGroupPoliciesPaginator.ts | 4 ++-- clients/client-iam/pagination/ListGroupsForUserPaginator.ts | 4 ++-- clients/client-iam/pagination/ListGroupsPaginator.ts | 4 ++-- .../pagination/ListInstanceProfilesForRolePaginator.ts | 4 ++-- .../client-iam/pagination/ListInstanceProfilesPaginator.ts | 4 ++-- clients/client-iam/pagination/ListMFADevicesPaginator.ts | 4 ++-- clients/client-iam/pagination/ListPoliciesPaginator.ts | 4 ++-- clients/client-iam/pagination/ListPolicyVersionsPaginator.ts | 4 ++-- clients/client-iam/pagination/ListRolePoliciesPaginator.ts | 4 ++-- clients/client-iam/pagination/ListRolesPaginator.ts | 4 ++-- clients/client-iam/pagination/ListSSHPublicKeysPaginator.ts | 4 ++-- .../client-iam/pagination/ListServerCertificatesPaginator.ts | 4 ++-- .../client-iam/pagination/ListSigningCertificatesPaginator.ts | 4 ++-- clients/client-iam/pagination/ListUserPoliciesPaginator.ts | 4 ++-- clients/client-iam/pagination/ListUsersPaginator.ts | 4 ++-- .../client-iam/pagination/ListVirtualMFADevicesPaginator.ts | 4 ++-- .../client-iam/pagination/SimulateCustomPolicyPaginator.ts | 4 ++-- .../client-iam/pagination/SimulatePrincipalPolicyPaginator.ts | 4 ++-- .../client-identitystore/pagination/ListGroupsPaginator.ts | 4 ++-- clients/client-identitystore/pagination/ListUsersPaginator.ts | 4 ++-- .../pagination/ListComponentBuildVersionsPaginator.ts | 4 ++-- .../client-imagebuilder/pagination/ListComponentsPaginator.ts | 4 ++-- .../pagination/ListDistributionConfigurationsPaginator.ts | 4 ++-- .../pagination/ListImageBuildVersionsPaginator.ts | 4 ++-- .../pagination/ListImagePipelineImagesPaginator.ts | 4 ++-- .../pagination/ListImagePipelinesPaginator.ts | 4 ++-- .../pagination/ListImageRecipesPaginator.ts | 4 ++-- clients/client-imagebuilder/pagination/ListImagesPaginator.ts | 4 ++-- .../pagination/ListInfrastructureConfigurationsPaginator.ts | 4 ++-- .../pagination/GetExclusionsPreviewPaginator.ts | 4 ++-- .../pagination/ListAssessmentRunAgentsPaginator.ts | 4 ++-- .../pagination/ListAssessmentRunsPaginator.ts | 4 ++-- .../pagination/ListAssessmentTargetsPaginator.ts | 4 ++-- .../pagination/ListAssessmentTemplatesPaginator.ts | 4 ++-- .../pagination/ListEventSubscriptionsPaginator.ts | 4 ++-- .../client-inspector/pagination/ListExclusionsPaginator.ts | 4 ++-- clients/client-inspector/pagination/ListFindingsPaginator.ts | 4 ++-- .../client-inspector/pagination/ListRulesPackagesPaginator.ts | 4 ++-- clients/client-inspector/pagination/PreviewAgentsPaginator.ts | 4 ++-- .../pagination/ListPlacementsPaginator.ts | 4 ++-- .../pagination/ListProjectsPaginator.ts | 4 ++-- .../client-iot/pagination/ListActiveViolationsPaginator.ts | 4 ++-- .../client-iot/pagination/ListAttachedPoliciesPaginator.ts | 4 ++-- clients/client-iot/pagination/ListAuditFindingsPaginator.ts | 4 ++-- .../ListAuditMitigationActionsExecutionsPaginator.ts | 4 ++-- .../pagination/ListAuditMitigationActionsTasksPaginator.ts | 4 ++-- .../client-iot/pagination/ListAuditSuppressionsPaginator.ts | 4 ++-- clients/client-iot/pagination/ListAuditTasksPaginator.ts | 4 ++-- clients/client-iot/pagination/ListAuthorizersPaginator.ts | 4 ++-- clients/client-iot/pagination/ListBillingGroupsPaginator.ts | 4 ++-- clients/client-iot/pagination/ListCACertificatesPaginator.ts | 4 ++-- .../client-iot/pagination/ListCertificatesByCAPaginator.ts | 4 ++-- clients/client-iot/pagination/ListCertificatesPaginator.ts | 4 ++-- clients/client-iot/pagination/ListDimensionsPaginator.ts | 4 ++-- .../pagination/ListDomainConfigurationsPaginator.ts | 4 ++-- clients/client-iot/pagination/ListIndicesPaginator.ts | 4 ++-- .../client-iot/pagination/ListJobExecutionsForJobPaginator.ts | 4 ++-- .../pagination/ListJobExecutionsForThingPaginator.ts | 4 ++-- clients/client-iot/pagination/ListJobsPaginator.ts | 4 ++-- .../client-iot/pagination/ListMitigationActionsPaginator.ts | 4 ++-- clients/client-iot/pagination/ListOTAUpdatesPaginator.ts | 4 ++-- .../pagination/ListOutgoingCertificatesPaginator.ts | 4 ++-- clients/client-iot/pagination/ListPoliciesPaginator.ts | 4 ++-- .../client-iot/pagination/ListPolicyPrincipalsPaginator.ts | 4 ++-- .../client-iot/pagination/ListPrincipalPoliciesPaginator.ts | 4 ++-- clients/client-iot/pagination/ListPrincipalThingsPaginator.ts | 4 ++-- .../pagination/ListProvisioningTemplateVersionsPaginator.ts | 4 ++-- .../pagination/ListProvisioningTemplatesPaginator.ts | 4 ++-- clients/client-iot/pagination/ListRoleAliasesPaginator.ts | 4 ++-- clients/client-iot/pagination/ListScheduledAuditsPaginator.ts | 4 ++-- .../pagination/ListSecurityProfilesForTargetPaginator.ts | 4 ++-- .../client-iot/pagination/ListSecurityProfilesPaginator.ts | 4 ++-- clients/client-iot/pagination/ListStreamsPaginator.ts | 4 ++-- clients/client-iot/pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../client-iot/pagination/ListTargetsForPolicyPaginator.ts | 4 ++-- .../pagination/ListTargetsForSecurityProfilePaginator.ts | 4 ++-- .../client-iot/pagination/ListThingGroupsForThingPaginator.ts | 4 ++-- clients/client-iot/pagination/ListThingGroupsPaginator.ts | 4 ++-- .../pagination/ListThingRegistrationTaskReportsPaginator.ts | 4 ++-- .../pagination/ListThingRegistrationTasksPaginator.ts | 4 ++-- clients/client-iot/pagination/ListThingTypesPaginator.ts | 4 ++-- .../pagination/ListThingsInBillingGroupPaginator.ts | 4 ++-- .../client-iot/pagination/ListThingsInThingGroupPaginator.ts | 4 ++-- clients/client-iot/pagination/ListThingsPaginator.ts | 4 ++-- .../pagination/ListTopicRuleDestinationsPaginator.ts | 4 ++-- clients/client-iot/pagination/ListTopicRulesPaginator.ts | 4 ++-- clients/client-iot/pagination/ListV2LoggingLevelsPaginator.ts | 4 ++-- clients/client-iot/pagination/ListViolationEventsPaginator.ts | 4 ++-- .../client-iotanalytics/pagination/ListChannelsPaginator.ts | 4 ++-- .../pagination/ListDatasetContentsPaginator.ts | 4 ++-- .../client-iotanalytics/pagination/ListDatasetsPaginator.ts | 4 ++-- .../client-iotanalytics/pagination/ListDatastoresPaginator.ts | 4 ++-- .../client-iotanalytics/pagination/ListPipelinesPaginator.ts | 4 ++-- .../pagination/ListTunnelsPaginator.ts | 4 ++-- .../pagination/GetAssetPropertyAggregatesPaginator.ts | 4 ++-- .../pagination/GetAssetPropertyValueHistoryPaginator.ts | 4 ++-- .../pagination/ListAccessPoliciesPaginator.ts | 4 ++-- .../client-iotsitewise/pagination/ListAssetModelsPaginator.ts | 4 ++-- clients/client-iotsitewise/pagination/ListAssetsPaginator.ts | 4 ++-- .../pagination/ListAssociatedAssetsPaginator.ts | 4 ++-- .../client-iotsitewise/pagination/ListDashboardsPaginator.ts | 4 ++-- .../client-iotsitewise/pagination/ListGatewaysPaginator.ts | 4 ++-- clients/client-iotsitewise/pagination/ListPortalsPaginator.ts | 4 ++-- .../pagination/ListProjectAssetsPaginator.ts | 4 ++-- .../client-iotsitewise/pagination/ListProjectsPaginator.ts | 4 ++-- .../pagination/GetFlowTemplateRevisionsPaginator.ts | 4 ++-- .../pagination/GetSystemTemplateRevisionsPaginator.ts | 4 ++-- .../pagination/ListFlowExecutionMessagesPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../pagination/SearchEntitiesPaginator.ts | 4 ++-- .../pagination/SearchFlowExecutionsPaginator.ts | 4 ++-- .../pagination/SearchFlowTemplatesPaginator.ts | 4 ++-- .../pagination/SearchSystemInstancesPaginator.ts | 4 ++-- .../pagination/SearchSystemTemplatesPaginator.ts | 4 ++-- .../client-iotthingsgraph/pagination/SearchThingsPaginator.ts | 4 ++-- clients/client-ivs/pagination/ListChannelsPaginator.ts | 4 ++-- .../client-ivs/pagination/ListPlaybackKeyPairsPaginator.ts | 4 ++-- clients/client-ivs/pagination/ListStreamKeysPaginator.ts | 4 ++-- clients/client-ivs/pagination/ListStreamsPaginator.ts | 4 ++-- clients/client-ivs/pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../client-kafka/pagination/ListClusterOperationsPaginator.ts | 4 ++-- clients/client-kafka/pagination/ListClustersPaginator.ts | 4 ++-- .../pagination/ListConfigurationRevisionsPaginator.ts | 4 ++-- .../client-kafka/pagination/ListConfigurationsPaginator.ts | 4 ++-- clients/client-kafka/pagination/ListKafkaVersionsPaginator.ts | 4 ++-- clients/client-kafka/pagination/ListNodesPaginator.ts | 4 ++-- clients/client-kafka/pagination/ListScramSecretsPaginator.ts | 4 ++-- .../pagination/ListDataSourceSyncJobsPaginator.ts | 4 ++-- clients/client-kendra/pagination/ListDataSourcesPaginator.ts | 4 ++-- clients/client-kendra/pagination/ListIndicesPaginator.ts | 4 ++-- .../pagination/ListSignalingChannelsPaginator.ts | 4 ++-- .../client-kinesis-video/pagination/ListStreamsPaginator.ts | 4 ++-- .../client-kinesis/pagination/ListStreamConsumersPaginator.ts | 4 ++-- clients/client-kms/pagination/ListAliasesPaginator.ts | 4 ++-- clients/client-kms/pagination/ListGrantsPaginator.ts | 4 ++-- clients/client-kms/pagination/ListKeyPoliciesPaginator.ts | 4 ++-- clients/client-kms/pagination/ListKeysPaginator.ts | 4 ++-- .../pagination/GetEffectivePermissionsForPathPaginator.ts | 4 ++-- .../pagination/ListPermissionsPaginator.ts | 4 ++-- .../client-lakeformation/pagination/ListResourcesPaginator.ts | 4 ++-- clients/client-lambda/pagination/ListAliasesPaginator.ts | 4 ++-- .../pagination/ListEventSourceMappingsPaginator.ts | 4 ++-- .../pagination/ListFunctionEventInvokeConfigsPaginator.ts | 4 ++-- clients/client-lambda/pagination/ListFunctionsPaginator.ts | 4 ++-- .../client-lambda/pagination/ListLayerVersionsPaginator.ts | 4 ++-- clients/client-lambda/pagination/ListLayersPaginator.ts | 4 ++-- .../pagination/ListProvisionedConcurrencyConfigsPaginator.ts | 4 ++-- .../pagination/ListVersionsByFunctionPaginator.ts | 4 ++-- .../pagination/GetBotAliasesPaginator.ts | 4 ++-- .../pagination/GetBotChannelAssociationsPaginator.ts | 4 ++-- .../pagination/GetBotVersionsPaginator.ts | 4 ++-- .../pagination/GetBotsPaginator.ts | 4 ++-- .../pagination/GetBuiltinIntentsPaginator.ts | 4 ++-- .../pagination/GetBuiltinSlotTypesPaginator.ts | 4 ++-- .../pagination/GetIntentVersionsPaginator.ts | 4 ++-- .../pagination/GetIntentsPaginator.ts | 4 ++-- .../pagination/GetSlotTypeVersionsPaginator.ts | 4 ++-- .../pagination/GetSlotTypesPaginator.ts | 4 ++-- .../pagination/DescribeBatchPredictionsPaginator.ts | 4 ++-- .../pagination/DescribeDataSourcesPaginator.ts | 4 ++-- .../pagination/DescribeEvaluationsPaginator.ts | 4 ++-- .../pagination/DescribeMLModelsPaginator.ts | 4 ++-- .../client-macie/pagination/ListMemberAccountsPaginator.ts | 4 ++-- clients/client-macie/pagination/ListS3ResourcesPaginator.ts | 4 ++-- clients/client-macie2/pagination/DescribeBucketsPaginator.ts | 4 ++-- .../client-macie2/pagination/GetUsageStatisticsPaginator.ts | 4 ++-- .../pagination/ListClassificationJobsPaginator.ts | 4 ++-- .../pagination/ListCustomDataIdentifiersPaginator.ts | 4 ++-- .../client-macie2/pagination/ListFindingsFiltersPaginator.ts | 4 ++-- clients/client-macie2/pagination/ListFindingsPaginator.ts | 4 ++-- clients/client-macie2/pagination/ListInvitationsPaginator.ts | 4 ++-- clients/client-macie2/pagination/ListMembersPaginator.ts | 4 ++-- .../pagination/ListOrganizationAdminAccountsPaginator.ts | 4 ++-- .../pagination/ListInvitationsPaginator.ts | 4 ++-- .../pagination/ListMembersPaginator.ts | 4 ++-- .../pagination/ListNetworksPaginator.ts | 4 ++-- .../client-managedblockchain/pagination/ListNodesPaginator.ts | 4 ++-- .../pagination/ListProposalVotesPaginator.ts | 4 ++-- .../pagination/ListProposalsPaginator.ts | 4 ++-- .../pagination/ListChangeSetsPaginator.ts | 4 ++-- .../pagination/ListEntitiesPaginator.ts | 4 ++-- .../pagination/ListEntitlementsPaginator.ts | 4 ++-- clients/client-mediaconnect/pagination/ListFlowsPaginator.ts | 4 ++-- .../client-mediaconnect/pagination/ListOfferingsPaginator.ts | 4 ++-- .../pagination/ListReservationsPaginator.ts | 4 ++-- .../pagination/DescribeEndpointsPaginator.ts | 4 ++-- .../pagination/ListJobTemplatesPaginator.ts | 4 ++-- clients/client-mediaconvert/pagination/ListJobsPaginator.ts | 4 ++-- .../client-mediaconvert/pagination/ListPresetsPaginator.ts | 4 ++-- clients/client-mediaconvert/pagination/ListQueuesPaginator.ts | 4 ++-- .../client-medialive/pagination/DescribeSchedulePaginator.ts | 4 ++-- clients/client-medialive/pagination/ListChannelsPaginator.ts | 4 ++-- .../pagination/ListInputDeviceTransfersPaginator.ts | 4 ++-- .../client-medialive/pagination/ListInputDevicesPaginator.ts | 4 ++-- .../pagination/ListInputSecurityGroupsPaginator.ts | 4 ++-- clients/client-medialive/pagination/ListInputsPaginator.ts | 4 ++-- .../pagination/ListMultiplexProgramsPaginator.ts | 4 ++-- .../client-medialive/pagination/ListMultiplexesPaginator.ts | 4 ++-- clients/client-medialive/pagination/ListOfferingsPaginator.ts | 4 ++-- .../client-medialive/pagination/ListReservationsPaginator.ts | 4 ++-- .../client-mediapackage-vod/pagination/ListAssetsPaginator.ts | 4 ++-- .../pagination/ListPackagingConfigurationsPaginator.ts | 4 ++-- .../pagination/ListPackagingGroupsPaginator.ts | 4 ++-- .../client-mediapackage/pagination/ListChannelsPaginator.ts | 4 ++-- .../pagination/ListHarvestJobsPaginator.ts | 4 ++-- .../pagination/ListOriginEndpointsPaginator.ts | 4 ++-- .../client-mediastore/pagination/ListContainersPaginator.ts | 4 ++-- .../pagination/ListApplicationStatesPaginator.ts | 4 ++-- .../pagination/ListCreatedArtifactsPaginator.ts | 4 ++-- .../pagination/ListDiscoveredResourcesPaginator.ts | 4 ++-- .../pagination/ListMigrationTasksPaginator.ts | 4 ++-- .../pagination/ListProgressUpdateStreamsPaginator.ts | 4 ++-- .../pagination/DescribeHomeRegionControlsPaginator.ts | 4 ++-- clients/client-mobile/pagination/ListBundlesPaginator.ts | 4 ++-- clients/client-mobile/pagination/ListProjectsPaginator.ts | 4 ++-- clients/client-mq/pagination/ListBrokersPaginator.ts | 4 ++-- .../client-mturk/pagination/ListAssignmentsForHITPaginator.ts | 4 ++-- clients/client-mturk/pagination/ListBonusPaymentsPaginator.ts | 4 ++-- .../pagination/ListHITsForQualificationTypePaginator.ts | 4 ++-- clients/client-mturk/pagination/ListHITsPaginator.ts | 4 ++-- .../pagination/ListQualificationRequestsPaginator.ts | 4 ++-- .../pagination/ListQualificationTypesPaginator.ts | 4 ++-- .../pagination/ListReviewPolicyResultsForHITPaginator.ts | 4 ++-- .../client-mturk/pagination/ListReviewableHITsPaginator.ts | 4 ++-- clients/client-mturk/pagination/ListWorkerBlocksPaginator.ts | 4 ++-- .../pagination/ListWorkersWithQualificationTypePaginator.ts | 4 ++-- .../pagination/DescribeDBEngineVersionsPaginator.ts | 4 ++-- .../client-neptune/pagination/DescribeDBInstancesPaginator.ts | 4 ++-- .../pagination/DescribeDBParameterGroupsPaginator.ts | 4 ++-- .../pagination/DescribeDBParametersPaginator.ts | 4 ++-- .../pagination/DescribeDBSubnetGroupsPaginator.ts | 4 ++-- .../pagination/DescribeEngineDefaultParametersPaginator.ts | 4 ++-- .../pagination/DescribeEventSubscriptionsPaginator.ts | 4 ++-- clients/client-neptune/pagination/DescribeEventsPaginator.ts | 4 ++-- .../pagination/DescribeOrderableDBInstanceOptionsPaginator.ts | 4 ++-- .../pagination/DescribeGlobalNetworksPaginator.ts | 4 ++-- .../pagination/GetCustomerGatewayAssociationsPaginator.ts | 4 ++-- .../client-networkmanager/pagination/GetDevicesPaginator.ts | 4 ++-- .../pagination/GetLinkAssociationsPaginator.ts | 4 ++-- clients/client-networkmanager/pagination/GetLinksPaginator.ts | 4 ++-- clients/client-networkmanager/pagination/GetSitesPaginator.ts | 4 ++-- .../pagination/GetTransitGatewayRegistrationsPaginator.ts | 4 ++-- .../pagination/DescribeEcsClustersPaginator.ts | 4 ++-- .../client-opsworkscm/pagination/DescribeBackupsPaginator.ts | 4 ++-- .../client-opsworkscm/pagination/DescribeEventsPaginator.ts | 4 ++-- .../client-opsworkscm/pagination/DescribeServersPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../ListAWSServiceAccessForOrganizationPaginator.ts | 4 ++-- .../pagination/ListAccountsForParentPaginator.ts | 4 ++-- .../client-organizations/pagination/ListAccountsPaginator.ts | 4 ++-- .../client-organizations/pagination/ListChildrenPaginator.ts | 4 ++-- .../pagination/ListCreateAccountStatusPaginator.ts | 4 ++-- .../pagination/ListDelegatedAdministratorsPaginator.ts | 4 ++-- .../pagination/ListDelegatedServicesForAccountPaginator.ts | 4 ++-- .../pagination/ListHandshakesForAccountPaginator.ts | 4 ++-- .../pagination/ListHandshakesForOrganizationPaginator.ts | 4 ++-- .../pagination/ListOrganizationalUnitsForParentPaginator.ts | 4 ++-- .../client-organizations/pagination/ListParentsPaginator.ts | 4 ++-- .../pagination/ListPoliciesForTargetPaginator.ts | 4 ++-- .../client-organizations/pagination/ListPoliciesPaginator.ts | 4 ++-- clients/client-organizations/pagination/ListRootsPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../pagination/ListTargetsForPolicyPaginator.ts | 4 ++-- clients/client-outposts/pagination/ListOutpostsPaginator.ts | 4 ++-- clients/client-outposts/pagination/ListSitesPaginator.ts | 4 ++-- .../pagination/ListBatchInferenceJobsPaginator.ts | 4 ++-- .../client-personalize/pagination/ListCampaignsPaginator.ts | 4 ++-- .../pagination/ListDatasetGroupsPaginator.ts | 4 ++-- .../pagination/ListDatasetImportJobsPaginator.ts | 4 ++-- .../client-personalize/pagination/ListDatasetsPaginator.ts | 4 ++-- .../pagination/ListEventTrackersPaginator.ts | 4 ++-- clients/client-personalize/pagination/ListRecipesPaginator.ts | 4 ++-- clients/client-personalize/pagination/ListSchemasPaginator.ts | 4 ++-- .../pagination/ListSolutionVersionsPaginator.ts | 4 ++-- .../client-personalize/pagination/ListSolutionsPaginator.ts | 4 ++-- .../pagination/GetDedicatedIpsPaginator.ts | 4 ++-- .../pagination/ListConfigurationSetsPaginator.ts | 4 ++-- .../pagination/ListDedicatedIpPoolsPaginator.ts | 4 ++-- .../pagination/ListDeliverabilityTestReportsPaginator.ts | 4 ++-- .../pagination/ListDomainDeliverabilityCampaignsPaginator.ts | 4 ++-- .../pagination/ListEmailIdentitiesPaginator.ts | 4 ++-- .../pagination/ListSpeechSynthesisTasksPaginator.ts | 4 ++-- .../client-pricing/pagination/DescribeServicesPaginator.ts | 4 ++-- .../client-pricing/pagination/GetAttributeValuesPaginator.ts | 4 ++-- clients/client-pricing/pagination/GetProductsPaginator.ts | 4 ++-- .../pagination/ListJournalKinesisStreamsForLedgerPaginator.ts | 4 ++-- .../pagination/ListJournalS3ExportsForLedgerPaginator.ts | 4 ++-- .../client-qldb/pagination/ListJournalS3ExportsPaginator.ts | 4 ++-- clients/client-qldb/pagination/ListLedgersPaginator.ts | 4 ++-- clients/client-quicksight/pagination/ListAnalysesPaginator.ts | 4 ++-- .../pagination/ListDashboardVersionsPaginator.ts | 4 ++-- .../client-quicksight/pagination/ListDashboardsPaginator.ts | 4 ++-- clients/client-quicksight/pagination/ListDataSetsPaginator.ts | 4 ++-- .../client-quicksight/pagination/ListDataSourcesPaginator.ts | 4 ++-- .../client-quicksight/pagination/ListIngestionsPaginator.ts | 4 ++-- .../client-quicksight/pagination/ListNamespacesPaginator.ts | 4 ++-- .../pagination/ListTemplateAliasesPaginator.ts | 4 ++-- .../pagination/ListTemplateVersionsPaginator.ts | 4 ++-- .../client-quicksight/pagination/ListTemplatesPaginator.ts | 4 ++-- .../client-quicksight/pagination/SearchAnalysesPaginator.ts | 4 ++-- .../client-quicksight/pagination/SearchDashboardsPaginator.ts | 4 ++-- clients/client-ram/pagination/GetResourcePoliciesPaginator.ts | 4 ++-- .../pagination/GetResourceShareAssociationsPaginator.ts | 4 ++-- .../pagination/GetResourceShareInvitationsPaginator.ts | 4 ++-- clients/client-ram/pagination/GetResourceSharesPaginator.ts | 4 ++-- .../pagination/ListPendingInvitationResourcesPaginator.ts | 4 ++-- clients/client-ram/pagination/ListPrincipalsPaginator.ts | 4 ++-- clients/client-ram/pagination/ListResourcesPaginator.ts | 4 ++-- .../client-rds/pagination/DescribeCertificatesPaginator.ts | 4 ++-- .../pagination/DescribeCustomAvailabilityZonesPaginator.ts | 4 ++-- .../pagination/DescribeDBClusterBacktracksPaginator.ts | 4 ++-- .../pagination/DescribeDBClusterEndpointsPaginator.ts | 4 ++-- .../pagination/DescribeDBClusterParameterGroupsPaginator.ts | 4 ++-- .../pagination/DescribeDBClusterParametersPaginator.ts | 4 ++-- .../pagination/DescribeDBClusterSnapshotsPaginator.ts | 4 ++-- clients/client-rds/pagination/DescribeDBClustersPaginator.ts | 4 ++-- .../pagination/DescribeDBEngineVersionsPaginator.ts | 4 ++-- .../pagination/DescribeDBInstanceAutomatedBackupsPaginator.ts | 4 ++-- clients/client-rds/pagination/DescribeDBInstancesPaginator.ts | 4 ++-- clients/client-rds/pagination/DescribeDBLogFilesPaginator.ts | 4 ++-- .../pagination/DescribeDBParameterGroupsPaginator.ts | 4 ++-- .../client-rds/pagination/DescribeDBParametersPaginator.ts | 4 ++-- clients/client-rds/pagination/DescribeDBProxiesPaginator.ts | 4 ++-- .../pagination/DescribeDBProxyTargetGroupsPaginator.ts | 4 ++-- .../client-rds/pagination/DescribeDBProxyTargetsPaginator.ts | 4 ++-- .../pagination/DescribeDBSecurityGroupsPaginator.ts | 4 ++-- clients/client-rds/pagination/DescribeDBSnapshotsPaginator.ts | 4 ++-- .../client-rds/pagination/DescribeDBSubnetGroupsPaginator.ts | 4 ++-- .../pagination/DescribeEngineDefaultParametersPaginator.ts | 4 ++-- .../pagination/DescribeEventSubscriptionsPaginator.ts | 4 ++-- clients/client-rds/pagination/DescribeEventsPaginator.ts | 4 ++-- clients/client-rds/pagination/DescribeExportTasksPaginator.ts | 4 ++-- .../client-rds/pagination/DescribeGlobalClustersPaginator.ts | 4 ++-- .../pagination/DescribeInstallationMediaPaginator.ts | 4 ++-- .../pagination/DescribeOptionGroupOptionsPaginator.ts | 4 ++-- .../client-rds/pagination/DescribeOptionGroupsPaginator.ts | 4 ++-- .../pagination/DescribeOrderableDBInstanceOptionsPaginator.ts | 4 ++-- .../pagination/DescribePendingMaintenanceActionsPaginator.ts | 4 ++-- .../DescribeReservedDBInstancesOfferingsPaginator.ts | 4 ++-- .../pagination/DescribeReservedDBInstancesPaginator.ts | 4 ++-- .../client-rds/pagination/DescribeSourceRegionsPaginator.ts | 4 ++-- .../client-redshift-data/pagination/DescribeTablePaginator.ts | 4 ++-- .../pagination/GetStatementResultPaginator.ts | 4 ++-- .../client-redshift-data/pagination/ListDatabasesPaginator.ts | 4 ++-- .../client-redshift-data/pagination/ListSchemasPaginator.ts | 4 ++-- .../pagination/ListStatementsPaginator.ts | 4 ++-- .../client-redshift-data/pagination/ListTablesPaginator.ts | 4 ++-- .../pagination/DescribeClusterParameterGroupsPaginator.ts | 4 ++-- .../pagination/DescribeClusterParametersPaginator.ts | 4 ++-- .../pagination/DescribeClusterSecurityGroupsPaginator.ts | 4 ++-- .../pagination/DescribeClusterSnapshotsPaginator.ts | 4 ++-- .../pagination/DescribeClusterSubnetGroupsPaginator.ts | 4 ++-- .../pagination/DescribeClusterVersionsPaginator.ts | 4 ++-- .../client-redshift/pagination/DescribeClustersPaginator.ts | 4 ++-- .../pagination/DescribeDefaultClusterParametersPaginator.ts | 4 ++-- .../pagination/DescribeEventSubscriptionsPaginator.ts | 4 ++-- clients/client-redshift/pagination/DescribeEventsPaginator.ts | 4 ++-- .../pagination/DescribeHsmClientCertificatesPaginator.ts | 4 ++-- .../pagination/DescribeHsmConfigurationsPaginator.ts | 4 ++-- .../pagination/DescribeNodeConfigurationOptionsPaginator.ts | 4 ++-- .../pagination/DescribeOrderableClusterOptionsPaginator.ts | 4 ++-- .../pagination/DescribeReservedNodeOfferingsPaginator.ts | 4 ++-- .../pagination/DescribeReservedNodesPaginator.ts | 4 ++-- .../pagination/DescribeScheduledActionsPaginator.ts | 4 ++-- .../pagination/DescribeUsageLimitsPaginator.ts | 4 ++-- .../pagination/DescribeProjectVersionsPaginator.ts | 4 ++-- .../pagination/DescribeProjectsPaginator.ts | 4 ++-- .../pagination/GetCelebrityRecognitionPaginator.ts | 4 ++-- .../pagination/GetContentModerationPaginator.ts | 4 ++-- .../pagination/GetFaceDetectionPaginator.ts | 4 ++-- .../client-rekognition/pagination/GetFaceSearchPaginator.ts | 4 ++-- .../pagination/GetLabelDetectionPaginator.ts | 4 ++-- .../pagination/GetPersonTrackingPaginator.ts | 4 ++-- .../pagination/GetSegmentDetectionPaginator.ts | 4 ++-- .../pagination/GetTextDetectionPaginator.ts | 4 ++-- .../client-rekognition/pagination/ListCollectionsPaginator.ts | 4 ++-- clients/client-rekognition/pagination/ListFacesPaginator.ts | 4 ++-- .../pagination/ListStreamProcessorsPaginator.ts | 4 ++-- .../pagination/GetComplianceSummaryPaginator.ts | 4 ++-- .../pagination/GetResourcesPaginator.ts | 4 ++-- .../pagination/GetTagKeysPaginator.ts | 4 ++-- .../pagination/GetTagValuesPaginator.ts | 4 ++-- .../pagination/ListGroupResourcesPaginator.ts | 4 ++-- .../client-resource-groups/pagination/ListGroupsPaginator.ts | 4 ++-- .../pagination/SearchResourcesPaginator.ts | 4 ++-- .../pagination/ListDeploymentJobsPaginator.ts | 4 ++-- clients/client-robomaker/pagination/ListFleetsPaginator.ts | 4 ++-- .../pagination/ListRobotApplicationsPaginator.ts | 4 ++-- clients/client-robomaker/pagination/ListRobotsPaginator.ts | 4 ++-- .../pagination/ListSimulationApplicationsPaginator.ts | 4 ++-- .../pagination/ListSimulationJobBatchesPaginator.ts | 4 ++-- .../pagination/ListSimulationJobsPaginator.ts | 4 ++-- .../pagination/ListWorldExportJobsPaginator.ts | 4 ++-- .../pagination/ListWorldGenerationJobsPaginator.ts | 4 ++-- .../pagination/ListWorldTemplatesPaginator.ts | 4 ++-- clients/client-robomaker/pagination/ListWorldsPaginator.ts | 4 ++-- .../pagination/ListDomainsPaginator.ts | 4 ++-- .../pagination/ListOperationsPaginator.ts | 4 ++-- .../pagination/ListResolverEndpointIpAddressesPaginator.ts | 4 ++-- .../pagination/ListResolverEndpointsPaginator.ts | 4 ++-- .../ListResolverQueryLogConfigAssociationsPaginator.ts | 4 ++-- .../pagination/ListResolverQueryLogConfigsPaginator.ts | 4 ++-- .../pagination/ListResolverRuleAssociationsPaginator.ts | 4 ++-- .../pagination/ListResolverRulesPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../client-s3-control/pagination/ListAccessPointsPaginator.ts | 4 ++-- clients/client-s3-control/pagination/ListJobsPaginator.ts | 4 ++-- .../pagination/ListRegionalBucketsPaginator.ts | 4 ++-- clients/client-s3/pagination/ListObjectsV2Paginator.ts | 4 ++-- .../client-s3outposts/pagination/ListEndpointsPaginator.ts | 4 ++-- .../pagination/ListHumanLoopsPaginator.ts | 4 ++-- .../client-sagemaker/pagination/ListAlgorithmsPaginator.ts | 4 ++-- clients/client-sagemaker/pagination/ListAppsPaginator.ts | 4 ++-- .../client-sagemaker/pagination/ListAutoMLJobsPaginator.ts | 4 ++-- .../pagination/ListCandidatesForAutoMLJobPaginator.ts | 4 ++-- .../pagination/ListCodeRepositoriesPaginator.ts | 4 ++-- .../pagination/ListCompilationJobsPaginator.ts | 4 ++-- clients/client-sagemaker/pagination/ListDomainsPaginator.ts | 4 ++-- .../pagination/ListEndpointConfigsPaginator.ts | 4 ++-- clients/client-sagemaker/pagination/ListEndpointsPaginator.ts | 4 ++-- .../client-sagemaker/pagination/ListExperimentsPaginator.ts | 4 ++-- .../pagination/ListFlowDefinitionsPaginator.ts | 4 ++-- .../client-sagemaker/pagination/ListHumanTaskUisPaginator.ts | 4 ++-- .../pagination/ListHyperParameterTuningJobsPaginator.ts | 4 ++-- .../pagination/ListLabelingJobsForWorkteamPaginator.ts | 4 ++-- .../client-sagemaker/pagination/ListLabelingJobsPaginator.ts | 4 ++-- .../client-sagemaker/pagination/ListModelPackagesPaginator.ts | 4 ++-- clients/client-sagemaker/pagination/ListModelsPaginator.ts | 4 ++-- .../pagination/ListMonitoringExecutionsPaginator.ts | 4 ++-- .../pagination/ListMonitoringSchedulesPaginator.ts | 4 ++-- .../ListNotebookInstanceLifecycleConfigsPaginator.ts | 4 ++-- .../pagination/ListNotebookInstancesPaginator.ts | 4 ++-- .../pagination/ListProcessingJobsPaginator.ts | 4 ++-- .../pagination/ListSubscribedWorkteamsPaginator.ts | 4 ++-- clients/client-sagemaker/pagination/ListTagsPaginator.ts | 4 ++-- .../ListTrainingJobsForHyperParameterTuningJobPaginator.ts | 4 ++-- .../client-sagemaker/pagination/ListTrainingJobsPaginator.ts | 4 ++-- .../client-sagemaker/pagination/ListTransformJobsPaginator.ts | 4 ++-- .../pagination/ListTrialComponentsPaginator.ts | 4 ++-- clients/client-sagemaker/pagination/ListTrialsPaginator.ts | 4 ++-- .../client-sagemaker/pagination/ListUserProfilesPaginator.ts | 4 ++-- .../client-sagemaker/pagination/ListWorkforcesPaginator.ts | 4 ++-- clients/client-sagemaker/pagination/ListWorkteamsPaginator.ts | 4 ++-- clients/client-sagemaker/pagination/SearchPaginator.ts | 4 ++-- clients/client-schemas/pagination/ListDiscoverersPaginator.ts | 4 ++-- clients/client-schemas/pagination/ListRegistriesPaginator.ts | 4 ++-- .../client-schemas/pagination/ListSchemaVersionsPaginator.ts | 4 ++-- clients/client-schemas/pagination/ListSchemasPaginator.ts | 4 ++-- clients/client-schemas/pagination/SearchSchemasPaginator.ts | 4 ++-- .../pagination/ListSecretVersionIdsPaginator.ts | 4 ++-- .../client-secrets-manager/pagination/ListSecretsPaginator.ts | 4 ++-- .../pagination/DescribeActionTargetsPaginator.ts | 4 ++-- .../pagination/DescribeProductsPaginator.ts | 4 ++-- .../pagination/DescribeStandardsControlsPaginator.ts | 4 ++-- .../pagination/DescribeStandardsPaginator.ts | 4 ++-- .../pagination/GetEnabledStandardsPaginator.ts | 4 ++-- clients/client-securityhub/pagination/GetFindingsPaginator.ts | 4 ++-- clients/client-securityhub/pagination/GetInsightsPaginator.ts | 4 ++-- .../pagination/ListEnabledProductsForImportPaginator.ts | 4 ++-- .../client-securityhub/pagination/ListInvitationsPaginator.ts | 4 ++-- clients/client-securityhub/pagination/ListMembersPaginator.ts | 4 ++-- .../pagination/ListApplicationDependenciesPaginator.ts | 4 ++-- .../pagination/ListApplicationVersionsPaginator.ts | 4 ++-- .../pagination/ListApplicationsPaginator.ts | 4 ++-- .../pagination/GetProvisionedProductOutputsPaginator.ts | 4 ++-- .../pagination/ListAcceptedPortfolioSharesPaginator.ts | 4 ++-- .../pagination/ListBudgetsForResourcePaginator.ts | 4 ++-- .../pagination/ListConstraintsForPortfolioPaginator.ts | 4 ++-- .../pagination/ListLaunchPathsPaginator.ts | 4 ++-- .../pagination/ListOrganizationPortfolioAccessPaginator.ts | 4 ++-- .../pagination/ListPortfolioAccessPaginator.ts | 4 ++-- .../pagination/ListPortfoliosForProductPaginator.ts | 4 ++-- .../pagination/ListPortfoliosPaginator.ts | 4 ++-- .../pagination/ListPrincipalsForPortfolioPaginator.ts | 4 ++-- .../ListProvisioningArtifactsForServiceActionPaginator.ts | 4 ++-- .../pagination/ListResourcesForTagOptionPaginator.ts | 4 ++-- .../ListServiceActionsForProvisioningArtifactPaginator.ts | 4 ++-- .../pagination/ListServiceActionsPaginator.ts | 4 ++-- .../pagination/ListTagOptionsPaginator.ts | 4 ++-- .../pagination/SearchProductsAsAdminPaginator.ts | 4 ++-- .../pagination/SearchProductsPaginator.ts | 4 ++-- .../pagination/SearchProvisionedProductsPaginator.ts | 4 ++-- .../pagination/ListAWSDefaultServiceQuotasPaginator.ts | 4 ++-- .../ListRequestedServiceQuotaChangeHistoryByQuotaPaginator.ts | 4 ++-- .../ListRequestedServiceQuotaChangeHistoryPaginator.ts | 4 ++-- .../ListServiceQuotaIncreaseRequestsInTemplatePaginator.ts | 4 ++-- .../pagination/ListServiceQuotasPaginator.ts | 4 ++-- .../client-service-quotas/pagination/ListServicesPaginator.ts | 4 ++-- .../pagination/GetInstancesHealthStatusPaginator.ts | 4 ++-- .../pagination/ListInstancesPaginator.ts | 4 ++-- .../pagination/ListNamespacesPaginator.ts | 4 ++-- .../pagination/ListOperationsPaginator.ts | 4 ++-- .../pagination/ListServicesPaginator.ts | 4 ++-- .../ListCustomVerificationEmailTemplatesPaginator.ts | 4 ++-- clients/client-ses/pagination/ListIdentitiesPaginator.ts | 4 ++-- clients/client-sesv2/pagination/GetDedicatedIpsPaginator.ts | 4 ++-- .../client-sesv2/pagination/ListConfigurationSetsPaginator.ts | 4 ++-- .../ListCustomVerificationEmailTemplatesPaginator.ts | 4 ++-- .../client-sesv2/pagination/ListDedicatedIpPoolsPaginator.ts | 4 ++-- .../pagination/ListDeliverabilityTestReportsPaginator.ts | 4 ++-- .../pagination/ListDomainDeliverabilityCampaignsPaginator.ts | 4 ++-- .../client-sesv2/pagination/ListEmailIdentitiesPaginator.ts | 4 ++-- .../client-sesv2/pagination/ListEmailTemplatesPaginator.ts | 4 ++-- clients/client-sesv2/pagination/ListImportJobsPaginator.ts | 4 ++-- .../pagination/ListSuppressedDestinationsPaginator.ts | 4 ++-- clients/client-sfn/pagination/GetExecutionHistoryPaginator.ts | 4 ++-- clients/client-sfn/pagination/ListActivitiesPaginator.ts | 4 ++-- clients/client-sfn/pagination/ListExecutionsPaginator.ts | 4 ++-- clients/client-sfn/pagination/ListStateMachinesPaginator.ts | 4 ++-- clients/client-shield/pagination/ListAttacksPaginator.ts | 4 ++-- clients/client-shield/pagination/ListProtectionsPaginator.ts | 4 ++-- clients/client-signer/pagination/ListSigningJobsPaginator.ts | 4 ++-- .../client-signer/pagination/ListSigningPlatformsPaginator.ts | 4 ++-- .../client-signer/pagination/ListSigningProfilesPaginator.ts | 4 ++-- clients/client-sms/pagination/GetConnectorsPaginator.ts | 4 ++-- clients/client-sms/pagination/GetReplicationJobsPaginator.ts | 4 ++-- clients/client-sms/pagination/GetReplicationRunsPaginator.ts | 4 ++-- clients/client-sms/pagination/GetServersPaginator.ts | 4 ++-- .../client-snowball/pagination/DescribeAddressesPaginator.ts | 4 ++-- clients/client-snowball/pagination/ListJobsPaginator.ts | 4 ++-- .../pagination/ListEndpointsByPlatformApplicationPaginator.ts | 4 ++-- .../pagination/ListPlatformApplicationsPaginator.ts | 4 ++-- .../pagination/ListSubscriptionsByTopicPaginator.ts | 4 ++-- clients/client-sns/pagination/ListSubscriptionsPaginator.ts | 4 ++-- clients/client-sns/pagination/ListTopicsPaginator.ts | 4 ++-- .../pagination/ListDeadLetterSourceQueuesPaginator.ts | 4 ++-- clients/client-sqs/pagination/ListQueuesPaginator.ts | 4 ++-- clients/client-ssm/pagination/DescribeActivationsPaginator.ts | 4 ++-- .../DescribeAssociationExecutionTargetsPaginator.ts | 4 ++-- .../pagination/DescribeAssociationExecutionsPaginator.ts | 4 ++-- .../pagination/DescribeAutomationExecutionsPaginator.ts | 4 ++-- .../pagination/DescribeAutomationStepExecutionsPaginator.ts | 4 ++-- .../pagination/DescribeAvailablePatchesPaginator.ts | 4 ++-- .../DescribeEffectiveInstanceAssociationsPaginator.ts | 4 ++-- .../DescribeEffectivePatchesForPatchBaselinePaginator.ts | 4 ++-- .../pagination/DescribeInstanceAssociationsStatusPaginator.ts | 4 ++-- .../pagination/DescribeInstanceInformationPaginator.ts | 4 ++-- .../DescribeInstancePatchStatesForPatchGroupPaginator.ts | 4 ++-- .../pagination/DescribeInstancePatchStatesPaginator.ts | 4 ++-- .../client-ssm/pagination/DescribeInstancePatchesPaginator.ts | 4 ++-- .../pagination/DescribeInventoryDeletionsPaginator.ts | 4 ++-- ...cribeMaintenanceWindowExecutionTaskInvocationsPaginator.ts | 4 ++-- .../DescribeMaintenanceWindowExecutionTasksPaginator.ts | 4 ++-- .../DescribeMaintenanceWindowExecutionsPaginator.ts | 4 ++-- .../pagination/DescribeMaintenanceWindowSchedulePaginator.ts | 4 ++-- .../pagination/DescribeMaintenanceWindowTargetsPaginator.ts | 4 ++-- .../pagination/DescribeMaintenanceWindowTasksPaginator.ts | 4 ++-- .../DescribeMaintenanceWindowsForTargetPaginator.ts | 4 ++-- .../pagination/DescribeMaintenanceWindowsPaginator.ts | 4 ++-- clients/client-ssm/pagination/DescribeOpsItemsPaginator.ts | 4 ++-- clients/client-ssm/pagination/DescribeParametersPaginator.ts | 4 ++-- .../client-ssm/pagination/DescribePatchBaselinesPaginator.ts | 4 ++-- clients/client-ssm/pagination/DescribePatchGroupsPaginator.ts | 4 ++-- .../client-ssm/pagination/DescribePatchPropertiesPaginator.ts | 4 ++-- clients/client-ssm/pagination/DescribeSessionsPaginator.ts | 4 ++-- clients/client-ssm/pagination/GetInventoryPaginator.ts | 4 ++-- clients/client-ssm/pagination/GetInventorySchemaPaginator.ts | 4 ++-- clients/client-ssm/pagination/GetOpsSummaryPaginator.ts | 4 ++-- clients/client-ssm/pagination/GetParameterHistoryPaginator.ts | 4 ++-- clients/client-ssm/pagination/GetParametersByPathPaginator.ts | 4 ++-- .../client-ssm/pagination/ListAssociationVersionsPaginator.ts | 4 ++-- clients/client-ssm/pagination/ListAssociationsPaginator.ts | 4 ++-- .../client-ssm/pagination/ListCommandInvocationsPaginator.ts | 4 ++-- clients/client-ssm/pagination/ListCommandsPaginator.ts | 4 ++-- clients/client-ssm/pagination/ListComplianceItemsPaginator.ts | 4 ++-- .../client-ssm/pagination/ListComplianceSummariesPaginator.ts | 4 ++-- .../client-ssm/pagination/ListDocumentVersionsPaginator.ts | 4 ++-- clients/client-ssm/pagination/ListDocumentsPaginator.ts | 4 ++-- .../pagination/ListResourceComplianceSummariesPaginator.ts | 4 ++-- .../client-ssm/pagination/ListResourceDataSyncPaginator.ts | 4 ++-- .../ListAccountAssignmentCreationStatusPaginator.ts | 4 ++-- .../ListAccountAssignmentDeletionStatusPaginator.ts | 4 ++-- .../pagination/ListAccountAssignmentsPaginator.ts | 4 ++-- .../ListAccountsForProvisionedPermissionSetPaginator.ts | 4 ++-- clients/client-sso-admin/pagination/ListInstancesPaginator.ts | 4 ++-- .../pagination/ListManagedPoliciesInPermissionSetPaginator.ts | 4 ++-- .../ListPermissionSetProvisioningStatusPaginator.ts | 4 ++-- .../pagination/ListPermissionSetsPaginator.ts | 4 ++-- .../ListPermissionSetsProvisionedToAccountPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- clients/client-sso/pagination/ListAccountRolesPaginator.ts | 4 ++-- clients/client-sso/pagination/ListAccountsPaginator.ts | 4 ++-- .../pagination/DescribeTapeArchivesPaginator.ts | 4 ++-- .../pagination/DescribeTapeRecoveryPointsPaginator.ts | 4 ++-- .../pagination/DescribeTapesPaginator.ts | 4 ++-- .../pagination/DescribeVTLDevicesPaginator.ts | 4 ++-- .../pagination/ListFileSharesPaginator.ts | 4 ++-- .../pagination/ListGatewaysPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- .../client-storage-gateway/pagination/ListTapesPaginator.ts | 4 ++-- .../client-storage-gateway/pagination/ListVolumesPaginator.ts | 4 ++-- clients/client-support/pagination/DescribeCasesPaginator.ts | 4 ++-- .../pagination/DescribeCommunicationsPaginator.ts | 4 ++-- .../pagination/GetWorkflowExecutionHistoryPaginator.ts | 4 ++-- clients/client-swf/pagination/ListActivityTypesPaginator.ts | 4 ++-- .../pagination/ListClosedWorkflowExecutionsPaginator.ts | 4 ++-- clients/client-swf/pagination/ListDomainsPaginator.ts | 4 ++-- .../pagination/ListOpenWorkflowExecutionsPaginator.ts | 4 ++-- clients/client-swf/pagination/ListWorkflowTypesPaginator.ts | 4 ++-- clients/client-swf/pagination/PollForDecisionTaskPaginator.ts | 4 ++-- .../pagination/DescribeCanariesLastRunPaginator.ts | 4 ++-- .../client-synthetics/pagination/DescribeCanariesPaginator.ts | 4 ++-- .../pagination/DescribeRuntimeVersionsPaginator.ts | 4 ++-- .../client-synthetics/pagination/GetCanaryRunsPaginator.ts | 4 ++-- clients/client-timestream-query/pagination/QueryPaginator.ts | 4 ++-- .../pagination/ListDatabasesPaginator.ts | 4 ++-- .../client-timestream-write/pagination/ListTablesPaginator.ts | 4 ++-- .../pagination/ListLanguageModelsPaginator.ts | 4 ++-- .../pagination/ListMedicalTranscriptionJobsPaginator.ts | 4 ++-- .../pagination/ListMedicalVocabulariesPaginator.ts | 4 ++-- .../pagination/ListTranscriptionJobsPaginator.ts | 4 ++-- .../client-transcribe/pagination/ListVocabulariesPaginator.ts | 4 ++-- .../pagination/ListVocabularyFiltersPaginator.ts | 4 ++-- .../pagination/ListSecurityPoliciesPaginator.ts | 4 ++-- clients/client-transfer/pagination/ListServersPaginator.ts | 4 ++-- .../pagination/ListTagsForResourcePaginator.ts | 4 ++-- clients/client-transfer/pagination/ListUsersPaginator.ts | 4 ++-- .../client-translate/pagination/ListTerminologiesPaginator.ts | 4 ++-- .../pagination/ListTextTranslationJobsPaginator.ts | 4 ++-- .../pagination/DescribeDocumentVersionsPaginator.ts | 4 ++-- .../pagination/DescribeFolderContentsPaginator.ts | 4 ++-- clients/client-workdocs/pagination/DescribeUsersPaginator.ts | 4 ++-- clients/client-worklink/pagination/ListDevicesPaginator.ts | 4 ++-- clients/client-worklink/pagination/ListDomainsPaginator.ts | 4 ++-- clients/client-worklink/pagination/ListFleetsPaginator.ts | 4 ++-- .../pagination/ListWebsiteAuthorizationProvidersPaginator.ts | 4 ++-- .../pagination/ListWebsiteCertificateAuthoritiesPaginator.ts | 4 ++-- clients/client-workmail/pagination/ListAliasesPaginator.ts | 4 ++-- .../client-workmail/pagination/ListGroupMembersPaginator.ts | 4 ++-- clients/client-workmail/pagination/ListGroupsPaginator.ts | 4 ++-- .../pagination/ListMailboxExportJobsPaginator.ts | 4 ++-- .../pagination/ListMailboxPermissionsPaginator.ts | 4 ++-- .../client-workmail/pagination/ListOrganizationsPaginator.ts | 4 ++-- .../pagination/ListResourceDelegatesPaginator.ts | 4 ++-- clients/client-workmail/pagination/ListResourcesPaginator.ts | 4 ++-- clients/client-workmail/pagination/ListUsersPaginator.ts | 4 ++-- .../pagination/DescribeWorkspaceBundlesPaginator.ts | 4 ++-- .../pagination/DescribeWorkspaceDirectoriesPaginator.ts | 4 ++-- .../pagination/DescribeWorkspacesPaginator.ts | 4 ++-- clients/client-xray/pagination/BatchGetTracesPaginator.ts | 4 ++-- clients/client-xray/pagination/GetGroupsPaginator.ts | 4 ++-- clients/client-xray/pagination/GetSamplingRulesPaginator.ts | 4 ++-- .../pagination/GetSamplingStatisticSummariesPaginator.ts | 4 ++-- clients/client-xray/pagination/GetServiceGraphPaginator.ts | 4 ++-- .../pagination/GetTimeSeriesServiceStatisticsPaginator.ts | 4 ++-- clients/client-xray/pagination/GetTraceGraphPaginator.ts | 4 ++-- clients/client-xray/pagination/GetTraceSummariesPaginator.ts | 4 ++-- 1242 files changed, 2484 insertions(+), 2484 deletions(-) diff --git a/clients/client-accessanalyzer/pagination/ListAnalyzedResourcesPaginator.ts b/clients/client-accessanalyzer/pagination/ListAnalyzedResourcesPaginator.ts index 399c1c365f00..88d2a2298dbb 100644 --- a/clients/client-accessanalyzer/pagination/ListAnalyzedResourcesPaginator.ts +++ b/clients/client-accessanalyzer/pagination/ListAnalyzedResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAnalyzedResourcesPaginate( let hasNext = true; let page: ListAnalyzedResourcesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof AccessAnalyzer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAnalyzedResourcesPaginate( throw new Error("Invalid client, expected AccessAnalyzer | AccessAnalyzerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-accessanalyzer/pagination/ListAnalyzersPaginator.ts b/clients/client-accessanalyzer/pagination/ListAnalyzersPaginator.ts index 3e51a2b3fc93..7cbae72cc975 100644 --- a/clients/client-accessanalyzer/pagination/ListAnalyzersPaginator.ts +++ b/clients/client-accessanalyzer/pagination/ListAnalyzersPaginator.ts @@ -33,7 +33,7 @@ export async function* listAnalyzersPaginate( let hasNext = true; let page: ListAnalyzersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof AccessAnalyzer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAnalyzersPaginate( throw new Error("Invalid client, expected AccessAnalyzer | AccessAnalyzerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-accessanalyzer/pagination/ListArchiveRulesPaginator.ts b/clients/client-accessanalyzer/pagination/ListArchiveRulesPaginator.ts index d49d0a4c40ca..be7398b52809 100644 --- a/clients/client-accessanalyzer/pagination/ListArchiveRulesPaginator.ts +++ b/clients/client-accessanalyzer/pagination/ListArchiveRulesPaginator.ts @@ -33,7 +33,7 @@ export async function* listArchiveRulesPaginate( let hasNext = true; let page: ListArchiveRulesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof AccessAnalyzer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listArchiveRulesPaginate( throw new Error("Invalid client, expected AccessAnalyzer | AccessAnalyzerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-accessanalyzer/pagination/ListFindingsPaginator.ts b/clients/client-accessanalyzer/pagination/ListFindingsPaginator.ts index 8f72a1ef43a9..4e4162325d67 100644 --- a/clients/client-accessanalyzer/pagination/ListFindingsPaginator.ts +++ b/clients/client-accessanalyzer/pagination/ListFindingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listFindingsPaginate( let hasNext = true; let page: ListFindingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof AccessAnalyzer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFindingsPaginate( throw new Error("Invalid client, expected AccessAnalyzer | AccessAnalyzerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-acm-pca/pagination/ListCertificateAuthoritiesPaginator.ts b/clients/client-acm-pca/pagination/ListCertificateAuthoritiesPaginator.ts index e61eae34477b..d4860d5c0e32 100644 --- a/clients/client-acm-pca/pagination/ListCertificateAuthoritiesPaginator.ts +++ b/clients/client-acm-pca/pagination/ListCertificateAuthoritiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listCertificateAuthoritiesPaginate( let hasNext = true; let page: ListCertificateAuthoritiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ACMPCA) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCertificateAuthoritiesPaginate( throw new Error("Invalid client, expected ACMPCA | ACMPCAClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-acm-pca/pagination/ListPermissionsPaginator.ts b/clients/client-acm-pca/pagination/ListPermissionsPaginator.ts index 07510d198c0c..5dfce999ceca 100644 --- a/clients/client-acm-pca/pagination/ListPermissionsPaginator.ts +++ b/clients/client-acm-pca/pagination/ListPermissionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPermissionsPaginate( let hasNext = true; let page: ListPermissionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ACMPCA) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPermissionsPaginate( throw new Error("Invalid client, expected ACMPCA | ACMPCAClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-acm-pca/pagination/ListTagsPaginator.ts b/clients/client-acm-pca/pagination/ListTagsPaginator.ts index 66de0e7b13b3..3227e24ee5cd 100644 --- a/clients/client-acm-pca/pagination/ListTagsPaginator.ts +++ b/clients/client-acm-pca/pagination/ListTagsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTagsPaginate( let hasNext = true; let page: ListTagsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ACMPCA) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTagsPaginate( throw new Error("Invalid client, expected ACMPCA | ACMPCAClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-acm/pagination/ListCertificatesPaginator.ts b/clients/client-acm/pagination/ListCertificatesPaginator.ts index afef8fa88ef6..b1a7a75f9713 100644 --- a/clients/client-acm/pagination/ListCertificatesPaginator.ts +++ b/clients/client-acm/pagination/ListCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listCertificatesPaginate( let hasNext = true; let page: ListCertificatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxItems"] = config.pageSize; if (config.client instanceof ACM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCertificatesPaginate( throw new Error("Invalid client, expected ACM | ACMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListBusinessReportSchedulesPaginator.ts b/clients/client-alexa-for-business/pagination/ListBusinessReportSchedulesPaginator.ts index b2b0078cffb2..ca00bb149ef3 100644 --- a/clients/client-alexa-for-business/pagination/ListBusinessReportSchedulesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListBusinessReportSchedulesPaginator.ts @@ -33,7 +33,7 @@ export async function* listBusinessReportSchedulesPaginate( let hasNext = true; let page: ListBusinessReportSchedulesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBusinessReportSchedulesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListConferenceProvidersPaginator.ts b/clients/client-alexa-for-business/pagination/ListConferenceProvidersPaginator.ts index 6b549fbfc35a..f7bff7ed1796 100644 --- a/clients/client-alexa-for-business/pagination/ListConferenceProvidersPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListConferenceProvidersPaginator.ts @@ -33,7 +33,7 @@ export async function* listConferenceProvidersPaginate( let hasNext = true; let page: ListConferenceProvidersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConferenceProvidersPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListDeviceEventsPaginator.ts b/clients/client-alexa-for-business/pagination/ListDeviceEventsPaginator.ts index 69b4651a8da5..1faefaa556f6 100644 --- a/clients/client-alexa-for-business/pagination/ListDeviceEventsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListDeviceEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeviceEventsPaginate( let hasNext = true; let page: ListDeviceEventsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDeviceEventsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListGatewayGroupsPaginator.ts b/clients/client-alexa-for-business/pagination/ListGatewayGroupsPaginator.ts index 84f8b5803704..79633f8168e4 100644 --- a/clients/client-alexa-for-business/pagination/ListGatewayGroupsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListGatewayGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listGatewayGroupsPaginate( let hasNext = true; let page: ListGatewayGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGatewayGroupsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListGatewaysPaginator.ts b/clients/client-alexa-for-business/pagination/ListGatewaysPaginator.ts index 1797267d934c..5bbc950203df 100644 --- a/clients/client-alexa-for-business/pagination/ListGatewaysPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* listGatewaysPaginate( let hasNext = true; let page: ListGatewaysCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGatewaysPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListSkillsPaginator.ts b/clients/client-alexa-for-business/pagination/ListSkillsPaginator.ts index ed1ce7533b53..edb93c3910cb 100644 --- a/clients/client-alexa-for-business/pagination/ListSkillsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListSkillsPaginator.ts @@ -29,7 +29,7 @@ export async function* listSkillsPaginate( let hasNext = true; let page: ListSkillsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listSkillsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListSkillsStoreCategoriesPaginator.ts b/clients/client-alexa-for-business/pagination/ListSkillsStoreCategoriesPaginator.ts index e5b9372fdb04..245ed9ab407d 100644 --- a/clients/client-alexa-for-business/pagination/ListSkillsStoreCategoriesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListSkillsStoreCategoriesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSkillsStoreCategoriesPaginate( let hasNext = true; let page: ListSkillsStoreCategoriesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSkillsStoreCategoriesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListSkillsStoreSkillsByCategoryPaginator.ts b/clients/client-alexa-for-business/pagination/ListSkillsStoreSkillsByCategoryPaginator.ts index 5c2ebb4bb4db..5121e956b9a2 100644 --- a/clients/client-alexa-for-business/pagination/ListSkillsStoreSkillsByCategoryPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListSkillsStoreSkillsByCategoryPaginator.ts @@ -33,7 +33,7 @@ export async function* listSkillsStoreSkillsByCategoryPaginate( let hasNext = true; let page: ListSkillsStoreSkillsByCategoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSkillsStoreSkillsByCategoryPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListSmartHomeAppliancesPaginator.ts b/clients/client-alexa-for-business/pagination/ListSmartHomeAppliancesPaginator.ts index 265ebc5e7705..77c6183776bb 100644 --- a/clients/client-alexa-for-business/pagination/ListSmartHomeAppliancesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListSmartHomeAppliancesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSmartHomeAppliancesPaginate( let hasNext = true; let page: ListSmartHomeAppliancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSmartHomeAppliancesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListTagsPaginator.ts b/clients/client-alexa-for-business/pagination/ListTagsPaginator.ts index e9ce149c4481..bc61d18f3542 100644 --- a/clients/client-alexa-for-business/pagination/ListTagsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListTagsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTagsPaginate( let hasNext = true; let page: ListTagsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTagsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchAddressBooksPaginator.ts b/clients/client-alexa-for-business/pagination/SearchAddressBooksPaginator.ts index bec747c92889..ec851912391c 100644 --- a/clients/client-alexa-for-business/pagination/SearchAddressBooksPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchAddressBooksPaginator.ts @@ -33,7 +33,7 @@ export async function* searchAddressBooksPaginate( let hasNext = true; let page: SearchAddressBooksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchAddressBooksPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchContactsPaginator.ts b/clients/client-alexa-for-business/pagination/SearchContactsPaginator.ts index 4ad14d528eaa..f1705ebe74c9 100644 --- a/clients/client-alexa-for-business/pagination/SearchContactsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchContactsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchContactsPaginate( let hasNext = true; let page: SearchContactsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchContactsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchDevicesPaginator.ts b/clients/client-alexa-for-business/pagination/SearchDevicesPaginator.ts index 479a84f9384f..f46fc7df97e3 100644 --- a/clients/client-alexa-for-business/pagination/SearchDevicesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchDevicesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchDevicesPaginate( let hasNext = true; let page: SearchDevicesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchDevicesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchNetworkProfilesPaginator.ts b/clients/client-alexa-for-business/pagination/SearchNetworkProfilesPaginator.ts index dfc4972d92db..977ceac40e3b 100644 --- a/clients/client-alexa-for-business/pagination/SearchNetworkProfilesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchNetworkProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchNetworkProfilesPaginate( let hasNext = true; let page: SearchNetworkProfilesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchNetworkProfilesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchProfilesPaginator.ts b/clients/client-alexa-for-business/pagination/SearchProfilesPaginator.ts index 4be00e7d94f0..d98d6acca0cd 100644 --- a/clients/client-alexa-for-business/pagination/SearchProfilesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchProfilesPaginate( let hasNext = true; let page: SearchProfilesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchProfilesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchRoomsPaginator.ts b/clients/client-alexa-for-business/pagination/SearchRoomsPaginator.ts index c4a84a08bd76..fa98254193c1 100644 --- a/clients/client-alexa-for-business/pagination/SearchRoomsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchRoomsPaginator.ts @@ -29,7 +29,7 @@ export async function* searchRoomsPaginate( let hasNext = true; let page: SearchRoomsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* searchRoomsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchSkillGroupsPaginator.ts b/clients/client-alexa-for-business/pagination/SearchSkillGroupsPaginator.ts index dbfe4f85e132..83a511725b22 100644 --- a/clients/client-alexa-for-business/pagination/SearchSkillGroupsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchSkillGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchSkillGroupsPaginate( let hasNext = true; let page: SearchSkillGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchSkillGroupsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchUsersPaginator.ts b/clients/client-alexa-for-business/pagination/SearchUsersPaginator.ts index 8b135db32bce..ba1bcfc1cdc6 100644 --- a/clients/client-alexa-for-business/pagination/SearchUsersPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchUsersPaginator.ts @@ -29,7 +29,7 @@ export async function* searchUsersPaginate( let hasNext = true; let page: SearchUsersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* searchUsersPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetApiKeysPaginator.ts b/clients/client-api-gateway/pagination/GetApiKeysPaginator.ts index f7df0e3097b6..742a8e0593d6 100644 --- a/clients/client-api-gateway/pagination/GetApiKeysPaginator.ts +++ b/clients/client-api-gateway/pagination/GetApiKeysPaginator.ts @@ -29,7 +29,7 @@ export async function* getApiKeysPaginate( let hasNext = true; let page: GetApiKeysCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getApiKeysPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetBasePathMappingsPaginator.ts b/clients/client-api-gateway/pagination/GetBasePathMappingsPaginator.ts index e5f5f196f7cd..be96b7afa051 100644 --- a/clients/client-api-gateway/pagination/GetBasePathMappingsPaginator.ts +++ b/clients/client-api-gateway/pagination/GetBasePathMappingsPaginator.ts @@ -33,7 +33,7 @@ export async function* getBasePathMappingsPaginate( let hasNext = true; let page: GetBasePathMappingsCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getBasePathMappingsPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetClientCertificatesPaginator.ts b/clients/client-api-gateway/pagination/GetClientCertificatesPaginator.ts index 1bca9764b28f..8aa2a9fc49f5 100644 --- a/clients/client-api-gateway/pagination/GetClientCertificatesPaginator.ts +++ b/clients/client-api-gateway/pagination/GetClientCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* getClientCertificatesPaginate( let hasNext = true; let page: GetClientCertificatesCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getClientCertificatesPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetDeploymentsPaginator.ts b/clients/client-api-gateway/pagination/GetDeploymentsPaginator.ts index a268d51a89d8..5c5165836681 100644 --- a/clients/client-api-gateway/pagination/GetDeploymentsPaginator.ts +++ b/clients/client-api-gateway/pagination/GetDeploymentsPaginator.ts @@ -33,7 +33,7 @@ export async function* getDeploymentsPaginate( let hasNext = true; let page: GetDeploymentsCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getDeploymentsPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetDomainNamesPaginator.ts b/clients/client-api-gateway/pagination/GetDomainNamesPaginator.ts index 1805bf7e5c9c..92baba2f0c62 100644 --- a/clients/client-api-gateway/pagination/GetDomainNamesPaginator.ts +++ b/clients/client-api-gateway/pagination/GetDomainNamesPaginator.ts @@ -33,7 +33,7 @@ export async function* getDomainNamesPaginate( let hasNext = true; let page: GetDomainNamesCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getDomainNamesPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetModelsPaginator.ts b/clients/client-api-gateway/pagination/GetModelsPaginator.ts index f501c2eb8565..ef8ec36f0bfa 100644 --- a/clients/client-api-gateway/pagination/GetModelsPaginator.ts +++ b/clients/client-api-gateway/pagination/GetModelsPaginator.ts @@ -29,7 +29,7 @@ export async function* getModelsPaginate( let hasNext = true; let page: GetModelsCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getModelsPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetResourcesPaginator.ts b/clients/client-api-gateway/pagination/GetResourcesPaginator.ts index 4fc6dc7ec439..490c6bc3ec85 100644 --- a/clients/client-api-gateway/pagination/GetResourcesPaginator.ts +++ b/clients/client-api-gateway/pagination/GetResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* getResourcesPaginate( let hasNext = true; let page: GetResourcesCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getResourcesPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetRestApisPaginator.ts b/clients/client-api-gateway/pagination/GetRestApisPaginator.ts index 5fae76f3ef85..9cb4c89fce92 100644 --- a/clients/client-api-gateway/pagination/GetRestApisPaginator.ts +++ b/clients/client-api-gateway/pagination/GetRestApisPaginator.ts @@ -29,7 +29,7 @@ export async function* getRestApisPaginate( let hasNext = true; let page: GetRestApisCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getRestApisPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetUsagePaginator.ts b/clients/client-api-gateway/pagination/GetUsagePaginator.ts index ef09c63ca634..db3b02402747 100644 --- a/clients/client-api-gateway/pagination/GetUsagePaginator.ts +++ b/clients/client-api-gateway/pagination/GetUsagePaginator.ts @@ -29,7 +29,7 @@ export async function* getUsagePaginate( let hasNext = true; let page: GetUsageCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getUsagePaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetUsagePlanKeysPaginator.ts b/clients/client-api-gateway/pagination/GetUsagePlanKeysPaginator.ts index f971cc558a55..4fdc5216d517 100644 --- a/clients/client-api-gateway/pagination/GetUsagePlanKeysPaginator.ts +++ b/clients/client-api-gateway/pagination/GetUsagePlanKeysPaginator.ts @@ -33,7 +33,7 @@ export async function* getUsagePlanKeysPaginate( let hasNext = true; let page: GetUsagePlanKeysCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getUsagePlanKeysPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetUsagePlansPaginator.ts b/clients/client-api-gateway/pagination/GetUsagePlansPaginator.ts index 7239ed16fb93..0c0fe1358bfd 100644 --- a/clients/client-api-gateway/pagination/GetUsagePlansPaginator.ts +++ b/clients/client-api-gateway/pagination/GetUsagePlansPaginator.ts @@ -33,7 +33,7 @@ export async function* getUsagePlansPaginate( let hasNext = true; let page: GetUsagePlansCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getUsagePlansPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-api-gateway/pagination/GetVpcLinksPaginator.ts b/clients/client-api-gateway/pagination/GetVpcLinksPaginator.ts index 7977f76a2aa1..c2b7a748a501 100644 --- a/clients/client-api-gateway/pagination/GetVpcLinksPaginator.ts +++ b/clients/client-api-gateway/pagination/GetVpcLinksPaginator.ts @@ -29,7 +29,7 @@ export async function* getVpcLinksPaginate( let hasNext = true; let page: GetVpcLinksCommandOutput; while (hasNext) { - input["position"] = token; + input.position = token; input["limit"] = config.pageSize; if (config.client instanceof APIGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getVpcLinksPaginate( throw new Error("Invalid client, expected APIGateway | APIGatewayClient"); } yield page; - token = page["position"]; + token = page.position; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-app-mesh/pagination/ListGatewayRoutesPaginator.ts b/clients/client-app-mesh/pagination/ListGatewayRoutesPaginator.ts index 1f8b02e3b61b..20ae55663fc2 100644 --- a/clients/client-app-mesh/pagination/ListGatewayRoutesPaginator.ts +++ b/clients/client-app-mesh/pagination/ListGatewayRoutesPaginator.ts @@ -33,7 +33,7 @@ export async function* listGatewayRoutesPaginate( let hasNext = true; let page: ListGatewayRoutesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof AppMesh) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGatewayRoutesPaginate( throw new Error("Invalid client, expected AppMesh | AppMeshClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-app-mesh/pagination/ListMeshesPaginator.ts b/clients/client-app-mesh/pagination/ListMeshesPaginator.ts index 030f4cb54f21..d622cbb40e00 100644 --- a/clients/client-app-mesh/pagination/ListMeshesPaginator.ts +++ b/clients/client-app-mesh/pagination/ListMeshesPaginator.ts @@ -29,7 +29,7 @@ export async function* listMeshesPaginate( let hasNext = true; let page: ListMeshesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof AppMesh) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listMeshesPaginate( throw new Error("Invalid client, expected AppMesh | AppMeshClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-app-mesh/pagination/ListRoutesPaginator.ts b/clients/client-app-mesh/pagination/ListRoutesPaginator.ts index 6810fe265401..2961b4b99045 100644 --- a/clients/client-app-mesh/pagination/ListRoutesPaginator.ts +++ b/clients/client-app-mesh/pagination/ListRoutesPaginator.ts @@ -29,7 +29,7 @@ export async function* listRoutesPaginate( let hasNext = true; let page: ListRoutesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof AppMesh) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listRoutesPaginate( throw new Error("Invalid client, expected AppMesh | AppMeshClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-app-mesh/pagination/ListTagsForResourcePaginator.ts b/clients/client-app-mesh/pagination/ListTagsForResourcePaginator.ts index 6ef9e4d62aba..a2c417969d96 100644 --- a/clients/client-app-mesh/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-app-mesh/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof AppMesh) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected AppMesh | AppMeshClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-app-mesh/pagination/ListVirtualGatewaysPaginator.ts b/clients/client-app-mesh/pagination/ListVirtualGatewaysPaginator.ts index 3071d2283ff1..27803a223b9b 100644 --- a/clients/client-app-mesh/pagination/ListVirtualGatewaysPaginator.ts +++ b/clients/client-app-mesh/pagination/ListVirtualGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* listVirtualGatewaysPaginate( let hasNext = true; let page: ListVirtualGatewaysCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof AppMesh) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listVirtualGatewaysPaginate( throw new Error("Invalid client, expected AppMesh | AppMeshClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-app-mesh/pagination/ListVirtualNodesPaginator.ts b/clients/client-app-mesh/pagination/ListVirtualNodesPaginator.ts index a431bbe9d3bc..83e97a0a4173 100644 --- a/clients/client-app-mesh/pagination/ListVirtualNodesPaginator.ts +++ b/clients/client-app-mesh/pagination/ListVirtualNodesPaginator.ts @@ -33,7 +33,7 @@ export async function* listVirtualNodesPaginate( let hasNext = true; let page: ListVirtualNodesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof AppMesh) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listVirtualNodesPaginate( throw new Error("Invalid client, expected AppMesh | AppMeshClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-app-mesh/pagination/ListVirtualRoutersPaginator.ts b/clients/client-app-mesh/pagination/ListVirtualRoutersPaginator.ts index 2934c994013d..9ea13b1ac81b 100644 --- a/clients/client-app-mesh/pagination/ListVirtualRoutersPaginator.ts +++ b/clients/client-app-mesh/pagination/ListVirtualRoutersPaginator.ts @@ -33,7 +33,7 @@ export async function* listVirtualRoutersPaginate( let hasNext = true; let page: ListVirtualRoutersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof AppMesh) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listVirtualRoutersPaginate( throw new Error("Invalid client, expected AppMesh | AppMeshClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-app-mesh/pagination/ListVirtualServicesPaginator.ts b/clients/client-app-mesh/pagination/ListVirtualServicesPaginator.ts index 5cf5eed739a5..305bbcf021d7 100644 --- a/clients/client-app-mesh/pagination/ListVirtualServicesPaginator.ts +++ b/clients/client-app-mesh/pagination/ListVirtualServicesPaginator.ts @@ -33,7 +33,7 @@ export async function* listVirtualServicesPaginate( let hasNext = true; let page: ListVirtualServicesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof AppMesh) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listVirtualServicesPaginate( throw new Error("Invalid client, expected AppMesh | AppMeshClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListApplicationsPaginator.ts b/clients/client-appconfig/pagination/ListApplicationsPaginator.ts index 3f07a830347b..e8d1161d1685 100644 --- a/clients/client-appconfig/pagination/ListApplicationsPaginator.ts +++ b/clients/client-appconfig/pagination/ListApplicationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listApplicationsPaginate( let hasNext = true; let page: ListApplicationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listApplicationsPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListConfigurationProfilesPaginator.ts b/clients/client-appconfig/pagination/ListConfigurationProfilesPaginator.ts index 29779b703ca1..370aed8bc0fc 100644 --- a/clients/client-appconfig/pagination/ListConfigurationProfilesPaginator.ts +++ b/clients/client-appconfig/pagination/ListConfigurationProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* listConfigurationProfilesPaginate( let hasNext = true; let page: ListConfigurationProfilesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConfigurationProfilesPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListDeploymentStrategiesPaginator.ts b/clients/client-appconfig/pagination/ListDeploymentStrategiesPaginator.ts index 0bcd831422e2..a1475c72ac86 100644 --- a/clients/client-appconfig/pagination/ListDeploymentStrategiesPaginator.ts +++ b/clients/client-appconfig/pagination/ListDeploymentStrategiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeploymentStrategiesPaginate( let hasNext = true; let page: ListDeploymentStrategiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDeploymentStrategiesPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListDeploymentsPaginator.ts b/clients/client-appconfig/pagination/ListDeploymentsPaginator.ts index 86949a659d3f..2d59f56b3d39 100644 --- a/clients/client-appconfig/pagination/ListDeploymentsPaginator.ts +++ b/clients/client-appconfig/pagination/ListDeploymentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeploymentsPaginate( let hasNext = true; let page: ListDeploymentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDeploymentsPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListEnvironmentsPaginator.ts b/clients/client-appconfig/pagination/ListEnvironmentsPaginator.ts index 56beff8923cb..f340c2905d8d 100644 --- a/clients/client-appconfig/pagination/ListEnvironmentsPaginator.ts +++ b/clients/client-appconfig/pagination/ListEnvironmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listEnvironmentsPaginate( let hasNext = true; let page: ListEnvironmentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEnvironmentsPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListHostedConfigurationVersionsPaginator.ts b/clients/client-appconfig/pagination/ListHostedConfigurationVersionsPaginator.ts index d6077864c4d9..c4374dd2cea9 100644 --- a/clients/client-appconfig/pagination/ListHostedConfigurationVersionsPaginator.ts +++ b/clients/client-appconfig/pagination/ListHostedConfigurationVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listHostedConfigurationVersionsPaginate( let hasNext = true; let page: ListHostedConfigurationVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listHostedConfigurationVersionsPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts b/clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts index 70b468380d58..1d56ea9a4896 100644 --- a/clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts +++ b/clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeConnectorProfilesPaginate( let hasNext = true; let page: DescribeConnectorProfilesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Appflow) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeConnectorProfilesPaginate( throw new Error("Invalid client, expected Appflow | AppflowClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appflow/pagination/DescribeConnectorsPaginator.ts b/clients/client-appflow/pagination/DescribeConnectorsPaginator.ts index 9d637a966712..02ee936d7a6f 100644 --- a/clients/client-appflow/pagination/DescribeConnectorsPaginator.ts +++ b/clients/client-appflow/pagination/DescribeConnectorsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeConnectorsPaginate( let hasNext = true; let page: DescribeConnectorsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof Appflow) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof AppflowClient) { @@ -42,7 +42,7 @@ export async function* describeConnectorsPaginate( throw new Error("Invalid client, expected Appflow | AppflowClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appflow/pagination/DescribeFlowExecutionRecordsPaginator.ts b/clients/client-appflow/pagination/DescribeFlowExecutionRecordsPaginator.ts index 3e9a0542c0a6..1865a5181c9a 100644 --- a/clients/client-appflow/pagination/DescribeFlowExecutionRecordsPaginator.ts +++ b/clients/client-appflow/pagination/DescribeFlowExecutionRecordsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFlowExecutionRecordsPaginate( let hasNext = true; let page: DescribeFlowExecutionRecordsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Appflow) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFlowExecutionRecordsPaginate( throw new Error("Invalid client, expected Appflow | AppflowClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appflow/pagination/ListFlowsPaginator.ts b/clients/client-appflow/pagination/ListFlowsPaginator.ts index da5c34f7cd72..0b71c3006428 100644 --- a/clients/client-appflow/pagination/ListFlowsPaginator.ts +++ b/clients/client-appflow/pagination/ListFlowsPaginator.ts @@ -29,7 +29,7 @@ export async function* listFlowsPaginate( let hasNext = true; let page: ListFlowsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Appflow) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listFlowsPaginate( throw new Error("Invalid client, expected Appflow | AppflowClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-auto-scaling/pagination/DescribeScalableTargetsPaginator.ts b/clients/client-application-auto-scaling/pagination/DescribeScalableTargetsPaginator.ts index 0284aac2df4f..2d77d9d21c07 100644 --- a/clients/client-application-auto-scaling/pagination/DescribeScalableTargetsPaginator.ts +++ b/clients/client-application-auto-scaling/pagination/DescribeScalableTargetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScalableTargetsPaginate( let hasNext = true; let page: DescribeScalableTargetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationAutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScalableTargetsPaginate( throw new Error("Invalid client, expected ApplicationAutoScaling | ApplicationAutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts b/clients/client-application-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts index a9b42a8ebbde..9e6559532e32 100644 --- a/clients/client-application-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts +++ b/clients/client-application-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScalingActivitiesPaginate( let hasNext = true; let page: DescribeScalingActivitiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationAutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScalingActivitiesPaginate( throw new Error("Invalid client, expected ApplicationAutoScaling | ApplicationAutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-auto-scaling/pagination/DescribeScalingPoliciesPaginator.ts b/clients/client-application-auto-scaling/pagination/DescribeScalingPoliciesPaginator.ts index e57da092d5b7..d3d869ade9cf 100644 --- a/clients/client-application-auto-scaling/pagination/DescribeScalingPoliciesPaginator.ts +++ b/clients/client-application-auto-scaling/pagination/DescribeScalingPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScalingPoliciesPaginate( let hasNext = true; let page: DescribeScalingPoliciesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationAutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScalingPoliciesPaginate( throw new Error("Invalid client, expected ApplicationAutoScaling | ApplicationAutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts b/clients/client-application-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts index 3037a8537bad..f088172ef67c 100644 --- a/clients/client-application-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts +++ b/clients/client-application-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScheduledActionsPaginate( let hasNext = true; let page: DescribeScheduledActionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationAutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScheduledActionsPaginate( throw new Error("Invalid client, expected ApplicationAutoScaling | ApplicationAutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-discovery-service/pagination/DescribeContinuousExportsPaginator.ts b/clients/client-application-discovery-service/pagination/DescribeContinuousExportsPaginator.ts index cc2394d0e9a7..4d781ac69395 100644 --- a/clients/client-application-discovery-service/pagination/DescribeContinuousExportsPaginator.ts +++ b/clients/client-application-discovery-service/pagination/DescribeContinuousExportsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeContinuousExportsPaginate( let hasNext = true; let page: DescribeContinuousExportsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ApplicationDiscoveryService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeContinuousExportsPaginate( throw new Error("Invalid client, expected ApplicationDiscoveryService | ApplicationDiscoveryServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-discovery-service/pagination/DescribeImportTasksPaginator.ts b/clients/client-application-discovery-service/pagination/DescribeImportTasksPaginator.ts index 2437bbe5c5a3..4b6235c0243b 100644 --- a/clients/client-application-discovery-service/pagination/DescribeImportTasksPaginator.ts +++ b/clients/client-application-discovery-service/pagination/DescribeImportTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeImportTasksPaginate( let hasNext = true; let page: DescribeImportTasksCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ApplicationDiscoveryService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeImportTasksPaginate( throw new Error("Invalid client, expected ApplicationDiscoveryService | ApplicationDiscoveryServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListApplicationsPaginator.ts b/clients/client-application-insights/pagination/ListApplicationsPaginator.ts index 5e1ac7fea0c0..e20c534a5744 100644 --- a/clients/client-application-insights/pagination/ListApplicationsPaginator.ts +++ b/clients/client-application-insights/pagination/ListApplicationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listApplicationsPaginate( let hasNext = true; let page: ListApplicationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listApplicationsPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListComponentsPaginator.ts b/clients/client-application-insights/pagination/ListComponentsPaginator.ts index 80ee3460d454..37fcd139c5c6 100644 --- a/clients/client-application-insights/pagination/ListComponentsPaginator.ts +++ b/clients/client-application-insights/pagination/ListComponentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listComponentsPaginate( let hasNext = true; let page: ListComponentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listComponentsPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListConfigurationHistoryPaginator.ts b/clients/client-application-insights/pagination/ListConfigurationHistoryPaginator.ts index fe18e85f4704..faccc2936d3a 100644 --- a/clients/client-application-insights/pagination/ListConfigurationHistoryPaginator.ts +++ b/clients/client-application-insights/pagination/ListConfigurationHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* listConfigurationHistoryPaginate( let hasNext = true; let page: ListConfigurationHistoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConfigurationHistoryPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListLogPatternSetsPaginator.ts b/clients/client-application-insights/pagination/ListLogPatternSetsPaginator.ts index 13a0aedca7bf..b39e2d3bbe85 100644 --- a/clients/client-application-insights/pagination/ListLogPatternSetsPaginator.ts +++ b/clients/client-application-insights/pagination/ListLogPatternSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listLogPatternSetsPaginate( let hasNext = true; let page: ListLogPatternSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listLogPatternSetsPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListLogPatternsPaginator.ts b/clients/client-application-insights/pagination/ListLogPatternsPaginator.ts index c862bc52762c..96238c4e7144 100644 --- a/clients/client-application-insights/pagination/ListLogPatternsPaginator.ts +++ b/clients/client-application-insights/pagination/ListLogPatternsPaginator.ts @@ -33,7 +33,7 @@ export async function* listLogPatternsPaginate( let hasNext = true; let page: ListLogPatternsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listLogPatternsPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListProblemsPaginator.ts b/clients/client-application-insights/pagination/ListProblemsPaginator.ts index 37cb2e402d89..a4c177d8da44 100644 --- a/clients/client-application-insights/pagination/ListProblemsPaginator.ts +++ b/clients/client-application-insights/pagination/ListProblemsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProblemsPaginate( let hasNext = true; let page: ListProblemsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProblemsPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appstream/pagination/DescribeImagePermissionsPaginator.ts b/clients/client-appstream/pagination/DescribeImagePermissionsPaginator.ts index bcc7f9bdce47..74a76d89ce1a 100644 --- a/clients/client-appstream/pagination/DescribeImagePermissionsPaginator.ts +++ b/clients/client-appstream/pagination/DescribeImagePermissionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeImagePermissionsPaginate( let hasNext = true; let page: DescribeImagePermissionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppStream) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeImagePermissionsPaginate( throw new Error("Invalid client, expected AppStream | AppStreamClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appstream/pagination/DescribeImagesPaginator.ts b/clients/client-appstream/pagination/DescribeImagesPaginator.ts index 904420f2a1e8..ed53b8861179 100644 --- a/clients/client-appstream/pagination/DescribeImagesPaginator.ts +++ b/clients/client-appstream/pagination/DescribeImagesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeImagesPaginate( let hasNext = true; let page: DescribeImagesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppStream) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeImagesPaginate( throw new Error("Invalid client, expected AppStream | AppStreamClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-athena/pagination/GetQueryResultsPaginator.ts b/clients/client-athena/pagination/GetQueryResultsPaginator.ts index 718ccb5ae618..af629f2a712c 100644 --- a/clients/client-athena/pagination/GetQueryResultsPaginator.ts +++ b/clients/client-athena/pagination/GetQueryResultsPaginator.ts @@ -33,7 +33,7 @@ export async function* getQueryResultsPaginate( let hasNext = true; let page: GetQueryResultsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Athena) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getQueryResultsPaginate( throw new Error("Invalid client, expected Athena | AthenaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-athena/pagination/ListDataCatalogsPaginator.ts b/clients/client-athena/pagination/ListDataCatalogsPaginator.ts index 977a93616924..ef65835b3fa1 100644 --- a/clients/client-athena/pagination/ListDataCatalogsPaginator.ts +++ b/clients/client-athena/pagination/ListDataCatalogsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDataCatalogsPaginate( let hasNext = true; let page: ListDataCatalogsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Athena) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDataCatalogsPaginate( throw new Error("Invalid client, expected Athena | AthenaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-athena/pagination/ListDatabasesPaginator.ts b/clients/client-athena/pagination/ListDatabasesPaginator.ts index 22757f3f6061..916f0507a1b4 100644 --- a/clients/client-athena/pagination/ListDatabasesPaginator.ts +++ b/clients/client-athena/pagination/ListDatabasesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatabasesPaginate( let hasNext = true; let page: ListDatabasesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Athena) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatabasesPaginate( throw new Error("Invalid client, expected Athena | AthenaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-athena/pagination/ListNamedQueriesPaginator.ts b/clients/client-athena/pagination/ListNamedQueriesPaginator.ts index 5f56739044aa..9b5f6c03ad4c 100644 --- a/clients/client-athena/pagination/ListNamedQueriesPaginator.ts +++ b/clients/client-athena/pagination/ListNamedQueriesPaginator.ts @@ -33,7 +33,7 @@ export async function* listNamedQueriesPaginate( let hasNext = true; let page: ListNamedQueriesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Athena) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listNamedQueriesPaginate( throw new Error("Invalid client, expected Athena | AthenaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-athena/pagination/ListQueryExecutionsPaginator.ts b/clients/client-athena/pagination/ListQueryExecutionsPaginator.ts index 00c7ac71e939..ca7b44dd2363 100644 --- a/clients/client-athena/pagination/ListQueryExecutionsPaginator.ts +++ b/clients/client-athena/pagination/ListQueryExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listQueryExecutionsPaginate( let hasNext = true; let page: ListQueryExecutionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Athena) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listQueryExecutionsPaginate( throw new Error("Invalid client, expected Athena | AthenaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-athena/pagination/ListTableMetadataPaginator.ts b/clients/client-athena/pagination/ListTableMetadataPaginator.ts index 783bed5b068b..55efe4167efd 100644 --- a/clients/client-athena/pagination/ListTableMetadataPaginator.ts +++ b/clients/client-athena/pagination/ListTableMetadataPaginator.ts @@ -33,7 +33,7 @@ export async function* listTableMetadataPaginate( let hasNext = true; let page: ListTableMetadataCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Athena) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTableMetadataPaginate( throw new Error("Invalid client, expected Athena | AthenaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-athena/pagination/ListTagsForResourcePaginator.ts b/clients/client-athena/pagination/ListTagsForResourcePaginator.ts index aba2bf97a22a..bc503fc1157d 100644 --- a/clients/client-athena/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-athena/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Athena) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected Athena | AthenaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-athena/pagination/ListWorkGroupsPaginator.ts b/clients/client-athena/pagination/ListWorkGroupsPaginator.ts index 53fc254ea966..38f0a7e8dc10 100644 --- a/clients/client-athena/pagination/ListWorkGroupsPaginator.ts +++ b/clients/client-athena/pagination/ListWorkGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listWorkGroupsPaginate( let hasNext = true; let page: ListWorkGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Athena) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWorkGroupsPaginate( throw new Error("Invalid client, expected Athena | AthenaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-auto-scaling/pagination/DescribeAutoScalingGroupsPaginator.ts b/clients/client-auto-scaling/pagination/DescribeAutoScalingGroupsPaginator.ts index 7e726e0f8ed0..237847f0d850 100644 --- a/clients/client-auto-scaling/pagination/DescribeAutoScalingGroupsPaginator.ts +++ b/clients/client-auto-scaling/pagination/DescribeAutoScalingGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAutoScalingGroupsPaginate( let hasNext = true; let page: DescribeAutoScalingGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof AutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAutoScalingGroupsPaginate( throw new Error("Invalid client, expected AutoScaling | AutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-auto-scaling/pagination/DescribeAutoScalingInstancesPaginator.ts b/clients/client-auto-scaling/pagination/DescribeAutoScalingInstancesPaginator.ts index 9f54ae221a14..82e983c2eced 100644 --- a/clients/client-auto-scaling/pagination/DescribeAutoScalingInstancesPaginator.ts +++ b/clients/client-auto-scaling/pagination/DescribeAutoScalingInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAutoScalingInstancesPaginate( let hasNext = true; let page: DescribeAutoScalingInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof AutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAutoScalingInstancesPaginate( throw new Error("Invalid client, expected AutoScaling | AutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-auto-scaling/pagination/DescribeLaunchConfigurationsPaginator.ts b/clients/client-auto-scaling/pagination/DescribeLaunchConfigurationsPaginator.ts index f64e41d93d6f..9e137d3ab9bd 100644 --- a/clients/client-auto-scaling/pagination/DescribeLaunchConfigurationsPaginator.ts +++ b/clients/client-auto-scaling/pagination/DescribeLaunchConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLaunchConfigurationsPaginate( let hasNext = true; let page: DescribeLaunchConfigurationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof AutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLaunchConfigurationsPaginate( throw new Error("Invalid client, expected AutoScaling | AutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-auto-scaling/pagination/DescribeNotificationConfigurationsPaginator.ts b/clients/client-auto-scaling/pagination/DescribeNotificationConfigurationsPaginator.ts index 019f1f10f3f4..e2cbbc3bc5a2 100644 --- a/clients/client-auto-scaling/pagination/DescribeNotificationConfigurationsPaginator.ts +++ b/clients/client-auto-scaling/pagination/DescribeNotificationConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeNotificationConfigurationsPaginate( let hasNext = true; let page: DescribeNotificationConfigurationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof AutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeNotificationConfigurationsPaginate( throw new Error("Invalid client, expected AutoScaling | AutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-auto-scaling/pagination/DescribePoliciesPaginator.ts b/clients/client-auto-scaling/pagination/DescribePoliciesPaginator.ts index 704c622fe8a0..ace7df62345e 100644 --- a/clients/client-auto-scaling/pagination/DescribePoliciesPaginator.ts +++ b/clients/client-auto-scaling/pagination/DescribePoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* describePoliciesPaginate( let hasNext = true; let page: DescribePoliciesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof AutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePoliciesPaginate( throw new Error("Invalid client, expected AutoScaling | AutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts b/clients/client-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts index de1a0d58c3bf..741a1d94cb3f 100644 --- a/clients/client-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts +++ b/clients/client-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScalingActivitiesPaginate( let hasNext = true; let page: DescribeScalingActivitiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof AutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScalingActivitiesPaginate( throw new Error("Invalid client, expected AutoScaling | AutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts b/clients/client-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts index 942612f0127d..a7d8e552e104 100644 --- a/clients/client-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts +++ b/clients/client-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScheduledActionsPaginate( let hasNext = true; let page: DescribeScheduledActionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof AutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScheduledActionsPaginate( throw new Error("Invalid client, expected AutoScaling | AutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-auto-scaling/pagination/DescribeTagsPaginator.ts b/clients/client-auto-scaling/pagination/DescribeTagsPaginator.ts index c62888680d91..2e9a713b557f 100644 --- a/clients/client-auto-scaling/pagination/DescribeTagsPaginator.ts +++ b/clients/client-auto-scaling/pagination/DescribeTagsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTagsPaginate( let hasNext = true; let page: DescribeTagsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof AutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTagsPaginate( throw new Error("Invalid client, expected AutoScaling | AutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListBackupJobsPaginator.ts b/clients/client-backup/pagination/ListBackupJobsPaginator.ts index d9c51e1e0f5c..4c27b309c926 100644 --- a/clients/client-backup/pagination/ListBackupJobsPaginator.ts +++ b/clients/client-backup/pagination/ListBackupJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listBackupJobsPaginate( let hasNext = true; let page: ListBackupJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBackupJobsPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListBackupPlanTemplatesPaginator.ts b/clients/client-backup/pagination/ListBackupPlanTemplatesPaginator.ts index 712bcf9cc9f5..b8755fa80dd0 100644 --- a/clients/client-backup/pagination/ListBackupPlanTemplatesPaginator.ts +++ b/clients/client-backup/pagination/ListBackupPlanTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listBackupPlanTemplatesPaginate( let hasNext = true; let page: ListBackupPlanTemplatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBackupPlanTemplatesPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListBackupPlanVersionsPaginator.ts b/clients/client-backup/pagination/ListBackupPlanVersionsPaginator.ts index 00d702f24003..4e5efaed0010 100644 --- a/clients/client-backup/pagination/ListBackupPlanVersionsPaginator.ts +++ b/clients/client-backup/pagination/ListBackupPlanVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listBackupPlanVersionsPaginate( let hasNext = true; let page: ListBackupPlanVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBackupPlanVersionsPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListBackupPlansPaginator.ts b/clients/client-backup/pagination/ListBackupPlansPaginator.ts index ddb41938e17f..e63d6c4d78c4 100644 --- a/clients/client-backup/pagination/ListBackupPlansPaginator.ts +++ b/clients/client-backup/pagination/ListBackupPlansPaginator.ts @@ -33,7 +33,7 @@ export async function* listBackupPlansPaginate( let hasNext = true; let page: ListBackupPlansCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBackupPlansPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListBackupSelectionsPaginator.ts b/clients/client-backup/pagination/ListBackupSelectionsPaginator.ts index 64faa814ca17..22b97cd2a280 100644 --- a/clients/client-backup/pagination/ListBackupSelectionsPaginator.ts +++ b/clients/client-backup/pagination/ListBackupSelectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listBackupSelectionsPaginate( let hasNext = true; let page: ListBackupSelectionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBackupSelectionsPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListBackupVaultsPaginator.ts b/clients/client-backup/pagination/ListBackupVaultsPaginator.ts index 5bd94b597a5d..f575ffc84dec 100644 --- a/clients/client-backup/pagination/ListBackupVaultsPaginator.ts +++ b/clients/client-backup/pagination/ListBackupVaultsPaginator.ts @@ -33,7 +33,7 @@ export async function* listBackupVaultsPaginate( let hasNext = true; let page: ListBackupVaultsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBackupVaultsPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListCopyJobsPaginator.ts b/clients/client-backup/pagination/ListCopyJobsPaginator.ts index ce9291c332fe..404fbf63a4e5 100644 --- a/clients/client-backup/pagination/ListCopyJobsPaginator.ts +++ b/clients/client-backup/pagination/ListCopyJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listCopyJobsPaginate( let hasNext = true; let page: ListCopyJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCopyJobsPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListProtectedResourcesPaginator.ts b/clients/client-backup/pagination/ListProtectedResourcesPaginator.ts index 3c6ef1bcd24b..72402201c2a7 100644 --- a/clients/client-backup/pagination/ListProtectedResourcesPaginator.ts +++ b/clients/client-backup/pagination/ListProtectedResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listProtectedResourcesPaginate( let hasNext = true; let page: ListProtectedResourcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProtectedResourcesPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListRecoveryPointsByBackupVaultPaginator.ts b/clients/client-backup/pagination/ListRecoveryPointsByBackupVaultPaginator.ts index e7779251018c..9e7afd4fc8d0 100644 --- a/clients/client-backup/pagination/ListRecoveryPointsByBackupVaultPaginator.ts +++ b/clients/client-backup/pagination/ListRecoveryPointsByBackupVaultPaginator.ts @@ -33,7 +33,7 @@ export async function* listRecoveryPointsByBackupVaultPaginate( let hasNext = true; let page: ListRecoveryPointsByBackupVaultCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRecoveryPointsByBackupVaultPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListRecoveryPointsByResourcePaginator.ts b/clients/client-backup/pagination/ListRecoveryPointsByResourcePaginator.ts index 8d249cf74b83..748dfbaf364e 100644 --- a/clients/client-backup/pagination/ListRecoveryPointsByResourcePaginator.ts +++ b/clients/client-backup/pagination/ListRecoveryPointsByResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listRecoveryPointsByResourcePaginate( let hasNext = true; let page: ListRecoveryPointsByResourceCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRecoveryPointsByResourcePaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListRestoreJobsPaginator.ts b/clients/client-backup/pagination/ListRestoreJobsPaginator.ts index c32266293cac..946bc5e480a0 100644 --- a/clients/client-backup/pagination/ListRestoreJobsPaginator.ts +++ b/clients/client-backup/pagination/ListRestoreJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listRestoreJobsPaginate( let hasNext = true; let page: ListRestoreJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRestoreJobsPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-backup/pagination/ListTagsPaginator.ts b/clients/client-backup/pagination/ListTagsPaginator.ts index f86352106a54..e2ac3481bf03 100644 --- a/clients/client-backup/pagination/ListTagsPaginator.ts +++ b/clients/client-backup/pagination/ListTagsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTagsPaginate( let hasNext = true; let page: ListTagsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Backup) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTagsPaginate( throw new Error("Invalid client, expected Backup | BackupClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-batch/pagination/DescribeComputeEnvironmentsPaginator.ts b/clients/client-batch/pagination/DescribeComputeEnvironmentsPaginator.ts index 54c349c4d2c7..0cd7267926b6 100644 --- a/clients/client-batch/pagination/DescribeComputeEnvironmentsPaginator.ts +++ b/clients/client-batch/pagination/DescribeComputeEnvironmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeComputeEnvironmentsPaginate( let hasNext = true; let page: DescribeComputeEnvironmentsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Batch) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeComputeEnvironmentsPaginate( throw new Error("Invalid client, expected Batch | BatchClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-batch/pagination/DescribeJobDefinitionsPaginator.ts b/clients/client-batch/pagination/DescribeJobDefinitionsPaginator.ts index 5fac4173a9b4..461a3c01314b 100644 --- a/clients/client-batch/pagination/DescribeJobDefinitionsPaginator.ts +++ b/clients/client-batch/pagination/DescribeJobDefinitionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeJobDefinitionsPaginate( let hasNext = true; let page: DescribeJobDefinitionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Batch) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeJobDefinitionsPaginate( throw new Error("Invalid client, expected Batch | BatchClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-batch/pagination/DescribeJobQueuesPaginator.ts b/clients/client-batch/pagination/DescribeJobQueuesPaginator.ts index cc6a8517880e..9d25fdf33d92 100644 --- a/clients/client-batch/pagination/DescribeJobQueuesPaginator.ts +++ b/clients/client-batch/pagination/DescribeJobQueuesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeJobQueuesPaginate( let hasNext = true; let page: DescribeJobQueuesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Batch) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeJobQueuesPaginate( throw new Error("Invalid client, expected Batch | BatchClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-batch/pagination/ListJobsPaginator.ts b/clients/client-batch/pagination/ListJobsPaginator.ts index 79fd189606af..c39f25b66d20 100644 --- a/clients/client-batch/pagination/ListJobsPaginator.ts +++ b/clients/client-batch/pagination/ListJobsPaginator.ts @@ -29,7 +29,7 @@ export async function* listJobsPaginate( let hasNext = true; let page: ListJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Batch) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listJobsPaginate( throw new Error("Invalid client, expected Batch | BatchClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-braket/pagination/SearchDevicesPaginator.ts b/clients/client-braket/pagination/SearchDevicesPaginator.ts index 8c6940d99b1e..4e3f24f8c6f7 100644 --- a/clients/client-braket/pagination/SearchDevicesPaginator.ts +++ b/clients/client-braket/pagination/SearchDevicesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchDevicesPaginate( let hasNext = true; let page: SearchDevicesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Braket) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchDevicesPaginate( throw new Error("Invalid client, expected Braket | BraketClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-braket/pagination/SearchQuantumTasksPaginator.ts b/clients/client-braket/pagination/SearchQuantumTasksPaginator.ts index 66f3aabb051a..b2bd1e1ff4d7 100644 --- a/clients/client-braket/pagination/SearchQuantumTasksPaginator.ts +++ b/clients/client-braket/pagination/SearchQuantumTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* searchQuantumTasksPaginate( let hasNext = true; let page: SearchQuantumTasksCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Braket) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchQuantumTasksPaginate( throw new Error("Invalid client, expected Braket | BraketClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-budgets/pagination/DescribeBudgetActionHistoriesPaginator.ts b/clients/client-budgets/pagination/DescribeBudgetActionHistoriesPaginator.ts index a417c3591582..00e7e12e2ac0 100644 --- a/clients/client-budgets/pagination/DescribeBudgetActionHistoriesPaginator.ts +++ b/clients/client-budgets/pagination/DescribeBudgetActionHistoriesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeBudgetActionHistoriesPaginate( let hasNext = true; let page: DescribeBudgetActionHistoriesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Budgets) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeBudgetActionHistoriesPaginate( throw new Error("Invalid client, expected Budgets | BudgetsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-budgets/pagination/DescribeBudgetActionsForAccountPaginator.ts b/clients/client-budgets/pagination/DescribeBudgetActionsForAccountPaginator.ts index 9528eeccd78e..72058a0c047a 100644 --- a/clients/client-budgets/pagination/DescribeBudgetActionsForAccountPaginator.ts +++ b/clients/client-budgets/pagination/DescribeBudgetActionsForAccountPaginator.ts @@ -33,7 +33,7 @@ export async function* describeBudgetActionsForAccountPaginate( let hasNext = true; let page: DescribeBudgetActionsForAccountCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Budgets) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeBudgetActionsForAccountPaginate( throw new Error("Invalid client, expected Budgets | BudgetsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-budgets/pagination/DescribeBudgetActionsForBudgetPaginator.ts b/clients/client-budgets/pagination/DescribeBudgetActionsForBudgetPaginator.ts index bdd4a4e07fec..2713ba090559 100644 --- a/clients/client-budgets/pagination/DescribeBudgetActionsForBudgetPaginator.ts +++ b/clients/client-budgets/pagination/DescribeBudgetActionsForBudgetPaginator.ts @@ -33,7 +33,7 @@ export async function* describeBudgetActionsForBudgetPaginate( let hasNext = true; let page: DescribeBudgetActionsForBudgetCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Budgets) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeBudgetActionsForBudgetPaginate( throw new Error("Invalid client, expected Budgets | BudgetsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-budgets/pagination/DescribeBudgetsPaginator.ts b/clients/client-budgets/pagination/DescribeBudgetsPaginator.ts index 7fb7c2aa0561..f5c754dd6dc7 100644 --- a/clients/client-budgets/pagination/DescribeBudgetsPaginator.ts +++ b/clients/client-budgets/pagination/DescribeBudgetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeBudgetsPaginate( let hasNext = true; let page: DescribeBudgetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Budgets) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeBudgetsPaginate( throw new Error("Invalid client, expected Budgets | BudgetsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-budgets/pagination/DescribeNotificationsForBudgetPaginator.ts b/clients/client-budgets/pagination/DescribeNotificationsForBudgetPaginator.ts index eb890a15688c..f1321cf411f7 100644 --- a/clients/client-budgets/pagination/DescribeNotificationsForBudgetPaginator.ts +++ b/clients/client-budgets/pagination/DescribeNotificationsForBudgetPaginator.ts @@ -33,7 +33,7 @@ export async function* describeNotificationsForBudgetPaginate( let hasNext = true; let page: DescribeNotificationsForBudgetCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Budgets) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeNotificationsForBudgetPaginate( throw new Error("Invalid client, expected Budgets | BudgetsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-budgets/pagination/DescribeSubscribersForNotificationPaginator.ts b/clients/client-budgets/pagination/DescribeSubscribersForNotificationPaginator.ts index 207e07190886..0332fc773fbc 100644 --- a/clients/client-budgets/pagination/DescribeSubscribersForNotificationPaginator.ts +++ b/clients/client-budgets/pagination/DescribeSubscribersForNotificationPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSubscribersForNotificationPaginate( let hasNext = true; let page: DescribeSubscribersForNotificationCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Budgets) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSubscribersForNotificationPaginate( throw new Error("Invalid client, expected Budgets | BudgetsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListAccountsPaginator.ts b/clients/client-chime/pagination/ListAccountsPaginator.ts index 6b212743764a..d819671d06da 100644 --- a/clients/client-chime/pagination/ListAccountsPaginator.ts +++ b/clients/client-chime/pagination/ListAccountsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountsPaginate( let hasNext = true; let page: ListAccountsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountsPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListAttendeesPaginator.ts b/clients/client-chime/pagination/ListAttendeesPaginator.ts index f19ea0322c17..403f944a15da 100644 --- a/clients/client-chime/pagination/ListAttendeesPaginator.ts +++ b/clients/client-chime/pagination/ListAttendeesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAttendeesPaginate( let hasNext = true; let page: ListAttendeesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAttendeesPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListBotsPaginator.ts b/clients/client-chime/pagination/ListBotsPaginator.ts index 2db0ddfb06f6..62891b474294 100644 --- a/clients/client-chime/pagination/ListBotsPaginator.ts +++ b/clients/client-chime/pagination/ListBotsPaginator.ts @@ -29,7 +29,7 @@ export async function* listBotsPaginate( let hasNext = true; let page: ListBotsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listBotsPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListMeetingsPaginator.ts b/clients/client-chime/pagination/ListMeetingsPaginator.ts index 93a002c7ae5d..fb6410a89bc7 100644 --- a/clients/client-chime/pagination/ListMeetingsPaginator.ts +++ b/clients/client-chime/pagination/ListMeetingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listMeetingsPaginate( let hasNext = true; let page: ListMeetingsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMeetingsPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListPhoneNumberOrdersPaginator.ts b/clients/client-chime/pagination/ListPhoneNumberOrdersPaginator.ts index 5c41b8e46dc9..658f8b34e56b 100644 --- a/clients/client-chime/pagination/ListPhoneNumberOrdersPaginator.ts +++ b/clients/client-chime/pagination/ListPhoneNumberOrdersPaginator.ts @@ -33,7 +33,7 @@ export async function* listPhoneNumberOrdersPaginate( let hasNext = true; let page: ListPhoneNumberOrdersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPhoneNumberOrdersPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListPhoneNumbersPaginator.ts b/clients/client-chime/pagination/ListPhoneNumbersPaginator.ts index e00e3b2619d2..efa4e66989ac 100644 --- a/clients/client-chime/pagination/ListPhoneNumbersPaginator.ts +++ b/clients/client-chime/pagination/ListPhoneNumbersPaginator.ts @@ -33,7 +33,7 @@ export async function* listPhoneNumbersPaginate( let hasNext = true; let page: ListPhoneNumbersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPhoneNumbersPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListProxySessionsPaginator.ts b/clients/client-chime/pagination/ListProxySessionsPaginator.ts index f086b9de4f35..b6f491640e4f 100644 --- a/clients/client-chime/pagination/ListProxySessionsPaginator.ts +++ b/clients/client-chime/pagination/ListProxySessionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProxySessionsPaginate( let hasNext = true; let page: ListProxySessionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProxySessionsPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListRoomMembershipsPaginator.ts b/clients/client-chime/pagination/ListRoomMembershipsPaginator.ts index d074c3bf7241..80dcbf43bca2 100644 --- a/clients/client-chime/pagination/ListRoomMembershipsPaginator.ts +++ b/clients/client-chime/pagination/ListRoomMembershipsPaginator.ts @@ -33,7 +33,7 @@ export async function* listRoomMembershipsPaginate( let hasNext = true; let page: ListRoomMembershipsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRoomMembershipsPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListRoomsPaginator.ts b/clients/client-chime/pagination/ListRoomsPaginator.ts index 41ab32d5745c..cd31c630658c 100644 --- a/clients/client-chime/pagination/ListRoomsPaginator.ts +++ b/clients/client-chime/pagination/ListRoomsPaginator.ts @@ -29,7 +29,7 @@ export async function* listRoomsPaginate( let hasNext = true; let page: ListRoomsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listRoomsPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListUsersPaginator.ts b/clients/client-chime/pagination/ListUsersPaginator.ts index d741f804d3f9..880cce66e285 100644 --- a/clients/client-chime/pagination/ListUsersPaginator.ts +++ b/clients/client-chime/pagination/ListUsersPaginator.ts @@ -29,7 +29,7 @@ export async function* listUsersPaginate( let hasNext = true; let page: ListUsersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listUsersPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListVoiceConnectorGroupsPaginator.ts b/clients/client-chime/pagination/ListVoiceConnectorGroupsPaginator.ts index 01cfe8e6655e..fc53e7a46992 100644 --- a/clients/client-chime/pagination/ListVoiceConnectorGroupsPaginator.ts +++ b/clients/client-chime/pagination/ListVoiceConnectorGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listVoiceConnectorGroupsPaginate( let hasNext = true; let page: ListVoiceConnectorGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listVoiceConnectorGroupsPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-chime/pagination/ListVoiceConnectorsPaginator.ts b/clients/client-chime/pagination/ListVoiceConnectorsPaginator.ts index 5c01478d5596..d2ccf1fe5de9 100644 --- a/clients/client-chime/pagination/ListVoiceConnectorsPaginator.ts +++ b/clients/client-chime/pagination/ListVoiceConnectorsPaginator.ts @@ -33,7 +33,7 @@ export async function* listVoiceConnectorsPaginate( let hasNext = true; let page: ListVoiceConnectorsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Chime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listVoiceConnectorsPaginate( throw new Error("Invalid client, expected Chime | ChimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloud9/pagination/DescribeEnvironmentMembershipsPaginator.ts b/clients/client-cloud9/pagination/DescribeEnvironmentMembershipsPaginator.ts index 42cc2122e8d7..c4042ee7cada 100644 --- a/clients/client-cloud9/pagination/DescribeEnvironmentMembershipsPaginator.ts +++ b/clients/client-cloud9/pagination/DescribeEnvironmentMembershipsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEnvironmentMembershipsPaginate( let hasNext = true; let page: DescribeEnvironmentMembershipsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Cloud9) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEnvironmentMembershipsPaginate( throw new Error("Invalid client, expected Cloud9 | Cloud9Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloud9/pagination/ListEnvironmentsPaginator.ts b/clients/client-cloud9/pagination/ListEnvironmentsPaginator.ts index 95ad676daed6..eabd9c9055dc 100644 --- a/clients/client-cloud9/pagination/ListEnvironmentsPaginator.ts +++ b/clients/client-cloud9/pagination/ListEnvironmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listEnvironmentsPaginate( let hasNext = true; let page: ListEnvironmentsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Cloud9) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEnvironmentsPaginate( throw new Error("Invalid client, expected Cloud9 | Cloud9Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListAppliedSchemaArnsPaginator.ts b/clients/client-clouddirectory/pagination/ListAppliedSchemaArnsPaginator.ts index d4181ccab80d..87a5c50bd137 100644 --- a/clients/client-clouddirectory/pagination/ListAppliedSchemaArnsPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListAppliedSchemaArnsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAppliedSchemaArnsPaginate( let hasNext = true; let page: ListAppliedSchemaArnsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAppliedSchemaArnsPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListAttachedIndicesPaginator.ts b/clients/client-clouddirectory/pagination/ListAttachedIndicesPaginator.ts index 02be29628b46..13e6de1eb298 100644 --- a/clients/client-clouddirectory/pagination/ListAttachedIndicesPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListAttachedIndicesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAttachedIndicesPaginate( let hasNext = true; let page: ListAttachedIndicesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAttachedIndicesPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListDevelopmentSchemaArnsPaginator.ts b/clients/client-clouddirectory/pagination/ListDevelopmentSchemaArnsPaginator.ts index 893e100cd4e5..20cfeb067e1f 100644 --- a/clients/client-clouddirectory/pagination/ListDevelopmentSchemaArnsPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListDevelopmentSchemaArnsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDevelopmentSchemaArnsPaginate( let hasNext = true; let page: ListDevelopmentSchemaArnsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDevelopmentSchemaArnsPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListDirectoriesPaginator.ts b/clients/client-clouddirectory/pagination/ListDirectoriesPaginator.ts index 97e16d573f64..f48a35ce8885 100644 --- a/clients/client-clouddirectory/pagination/ListDirectoriesPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListDirectoriesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDirectoriesPaginate( let hasNext = true; let page: ListDirectoriesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDirectoriesPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListFacetAttributesPaginator.ts b/clients/client-clouddirectory/pagination/ListFacetAttributesPaginator.ts index 1be8a8345b71..aa4ca6798b8b 100644 --- a/clients/client-clouddirectory/pagination/ListFacetAttributesPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListFacetAttributesPaginator.ts @@ -33,7 +33,7 @@ export async function* listFacetAttributesPaginate( let hasNext = true; let page: ListFacetAttributesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFacetAttributesPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListFacetNamesPaginator.ts b/clients/client-clouddirectory/pagination/ListFacetNamesPaginator.ts index bdad619f9875..6fc7b50d3f63 100644 --- a/clients/client-clouddirectory/pagination/ListFacetNamesPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListFacetNamesPaginator.ts @@ -33,7 +33,7 @@ export async function* listFacetNamesPaginate( let hasNext = true; let page: ListFacetNamesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFacetNamesPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListIndexPaginator.ts b/clients/client-clouddirectory/pagination/ListIndexPaginator.ts index 7f15dd32500d..aec8b04df3a4 100644 --- a/clients/client-clouddirectory/pagination/ListIndexPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListIndexPaginator.ts @@ -29,7 +29,7 @@ export async function* listIndexPaginate( let hasNext = true; let page: ListIndexCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listIndexPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListManagedSchemaArnsPaginator.ts b/clients/client-clouddirectory/pagination/ListManagedSchemaArnsPaginator.ts index 3f40cdeb431e..7b6a7c569137 100644 --- a/clients/client-clouddirectory/pagination/ListManagedSchemaArnsPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListManagedSchemaArnsPaginator.ts @@ -33,7 +33,7 @@ export async function* listManagedSchemaArnsPaginate( let hasNext = true; let page: ListManagedSchemaArnsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listManagedSchemaArnsPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListObjectAttributesPaginator.ts b/clients/client-clouddirectory/pagination/ListObjectAttributesPaginator.ts index 297613034471..3a49dcea0d97 100644 --- a/clients/client-clouddirectory/pagination/ListObjectAttributesPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListObjectAttributesPaginator.ts @@ -33,7 +33,7 @@ export async function* listObjectAttributesPaginate( let hasNext = true; let page: ListObjectAttributesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listObjectAttributesPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListObjectChildrenPaginator.ts b/clients/client-clouddirectory/pagination/ListObjectChildrenPaginator.ts index 35c9dd248060..91dfdbb5ba7e 100644 --- a/clients/client-clouddirectory/pagination/ListObjectChildrenPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListObjectChildrenPaginator.ts @@ -33,7 +33,7 @@ export async function* listObjectChildrenPaginate( let hasNext = true; let page: ListObjectChildrenCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listObjectChildrenPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListObjectParentPathsPaginator.ts b/clients/client-clouddirectory/pagination/ListObjectParentPathsPaginator.ts index 83369c68e730..3adf371f1018 100644 --- a/clients/client-clouddirectory/pagination/ListObjectParentPathsPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListObjectParentPathsPaginator.ts @@ -33,7 +33,7 @@ export async function* listObjectParentPathsPaginate( let hasNext = true; let page: ListObjectParentPathsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listObjectParentPathsPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListObjectParentsPaginator.ts b/clients/client-clouddirectory/pagination/ListObjectParentsPaginator.ts index 8333e80a531d..367816d07702 100644 --- a/clients/client-clouddirectory/pagination/ListObjectParentsPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListObjectParentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listObjectParentsPaginate( let hasNext = true; let page: ListObjectParentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listObjectParentsPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListObjectPoliciesPaginator.ts b/clients/client-clouddirectory/pagination/ListObjectPoliciesPaginator.ts index cae3ba80f498..57ebb06ddc04 100644 --- a/clients/client-clouddirectory/pagination/ListObjectPoliciesPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListObjectPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listObjectPoliciesPaginate( let hasNext = true; let page: ListObjectPoliciesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listObjectPoliciesPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListPolicyAttachmentsPaginator.ts b/clients/client-clouddirectory/pagination/ListPolicyAttachmentsPaginator.ts index 665b3f9a0dac..b721045a3385 100644 --- a/clients/client-clouddirectory/pagination/ListPolicyAttachmentsPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListPolicyAttachmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPolicyAttachmentsPaginate( let hasNext = true; let page: ListPolicyAttachmentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPolicyAttachmentsPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListPublishedSchemaArnsPaginator.ts b/clients/client-clouddirectory/pagination/ListPublishedSchemaArnsPaginator.ts index f9da6be97676..0bf68e10f2e0 100644 --- a/clients/client-clouddirectory/pagination/ListPublishedSchemaArnsPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListPublishedSchemaArnsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPublishedSchemaArnsPaginate( let hasNext = true; let page: ListPublishedSchemaArnsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPublishedSchemaArnsPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListTagsForResourcePaginator.ts b/clients/client-clouddirectory/pagination/ListTagsForResourcePaginator.ts index 6cd86e2e007b..c4ca8c814842 100644 --- a/clients/client-clouddirectory/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-clouddirectory/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListTypedLinkFacetAttributesPaginator.ts b/clients/client-clouddirectory/pagination/ListTypedLinkFacetAttributesPaginator.ts index 7f99ba970086..db4bdb6ceb00 100644 --- a/clients/client-clouddirectory/pagination/ListTypedLinkFacetAttributesPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListTypedLinkFacetAttributesPaginator.ts @@ -33,7 +33,7 @@ export async function* listTypedLinkFacetAttributesPaginate( let hasNext = true; let page: ListTypedLinkFacetAttributesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTypedLinkFacetAttributesPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/ListTypedLinkFacetNamesPaginator.ts b/clients/client-clouddirectory/pagination/ListTypedLinkFacetNamesPaginator.ts index 0c0c226f0865..600b66ad63d2 100644 --- a/clients/client-clouddirectory/pagination/ListTypedLinkFacetNamesPaginator.ts +++ b/clients/client-clouddirectory/pagination/ListTypedLinkFacetNamesPaginator.ts @@ -33,7 +33,7 @@ export async function* listTypedLinkFacetNamesPaginate( let hasNext = true; let page: ListTypedLinkFacetNamesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTypedLinkFacetNamesPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-clouddirectory/pagination/LookupPolicyPaginator.ts b/clients/client-clouddirectory/pagination/LookupPolicyPaginator.ts index e6fada223412..2042dffe44e8 100644 --- a/clients/client-clouddirectory/pagination/LookupPolicyPaginator.ts +++ b/clients/client-clouddirectory/pagination/LookupPolicyPaginator.ts @@ -33,7 +33,7 @@ export async function* lookupPolicyPaginate( let hasNext = true; let page: LookupPolicyCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudDirectory) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* lookupPolicyPaginate( throw new Error("Invalid client, expected CloudDirectory | CloudDirectoryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/DescribeAccountLimitsPaginator.ts b/clients/client-cloudformation/pagination/DescribeAccountLimitsPaginator.ts index 4706c2cdf798..d380848e070d 100644 --- a/clients/client-cloudformation/pagination/DescribeAccountLimitsPaginator.ts +++ b/clients/client-cloudformation/pagination/DescribeAccountLimitsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAccountLimitsPaginate( let hasNext = true; let page: DescribeAccountLimitsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudFormationClient) { @@ -42,7 +42,7 @@ export async function* describeAccountLimitsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/DescribeStackEventsPaginator.ts b/clients/client-cloudformation/pagination/DescribeStackEventsPaginator.ts index d3b1d4abd269..2f606a77c636 100644 --- a/clients/client-cloudformation/pagination/DescribeStackEventsPaginator.ts +++ b/clients/client-cloudformation/pagination/DescribeStackEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeStackEventsPaginate( let hasNext = true; let page: DescribeStackEventsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudFormationClient) { @@ -42,7 +42,7 @@ export async function* describeStackEventsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/DescribeStackResourceDriftsPaginator.ts b/clients/client-cloudformation/pagination/DescribeStackResourceDriftsPaginator.ts index d3e0782a13d4..a0b0d5688627 100644 --- a/clients/client-cloudformation/pagination/DescribeStackResourceDriftsPaginator.ts +++ b/clients/client-cloudformation/pagination/DescribeStackResourceDriftsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeStackResourceDriftsPaginate( let hasNext = true; let page: DescribeStackResourceDriftsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeStackResourceDriftsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/DescribeStacksPaginator.ts b/clients/client-cloudformation/pagination/DescribeStacksPaginator.ts index 8c0d52aff59b..a7cd03ecb78d 100644 --- a/clients/client-cloudformation/pagination/DescribeStacksPaginator.ts +++ b/clients/client-cloudformation/pagination/DescribeStacksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeStacksPaginate( let hasNext = true; let page: DescribeStacksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudFormationClient) { @@ -42,7 +42,7 @@ export async function* describeStacksPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListChangeSetsPaginator.ts b/clients/client-cloudformation/pagination/ListChangeSetsPaginator.ts index 55ef09f7ba63..42bb4394a8d2 100644 --- a/clients/client-cloudformation/pagination/ListChangeSetsPaginator.ts +++ b/clients/client-cloudformation/pagination/ListChangeSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listChangeSetsPaginate( let hasNext = true; let page: ListChangeSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudFormationClient) { @@ -42,7 +42,7 @@ export async function* listChangeSetsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListExportsPaginator.ts b/clients/client-cloudformation/pagination/ListExportsPaginator.ts index c3cf6eb49586..f86b5c7a7c94 100644 --- a/clients/client-cloudformation/pagination/ListExportsPaginator.ts +++ b/clients/client-cloudformation/pagination/ListExportsPaginator.ts @@ -29,7 +29,7 @@ export async function* listExportsPaginate( let hasNext = true; let page: ListExportsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudFormationClient) { @@ -38,7 +38,7 @@ export async function* listExportsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListImportsPaginator.ts b/clients/client-cloudformation/pagination/ListImportsPaginator.ts index 2c35423ccaac..3d131aa6581c 100644 --- a/clients/client-cloudformation/pagination/ListImportsPaginator.ts +++ b/clients/client-cloudformation/pagination/ListImportsPaginator.ts @@ -29,7 +29,7 @@ export async function* listImportsPaginate( let hasNext = true; let page: ListImportsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudFormationClient) { @@ -38,7 +38,7 @@ export async function* listImportsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListStackInstancesPaginator.ts b/clients/client-cloudformation/pagination/ListStackInstancesPaginator.ts index 750bfe2a5d79..db4176e2a8e2 100644 --- a/clients/client-cloudformation/pagination/ListStackInstancesPaginator.ts +++ b/clients/client-cloudformation/pagination/ListStackInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* listStackInstancesPaginate( let hasNext = true; let page: ListStackInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listStackInstancesPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListStackResourcesPaginator.ts b/clients/client-cloudformation/pagination/ListStackResourcesPaginator.ts index ac527b1b6c29..f97c5e97fcfc 100644 --- a/clients/client-cloudformation/pagination/ListStackResourcesPaginator.ts +++ b/clients/client-cloudformation/pagination/ListStackResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listStackResourcesPaginate( let hasNext = true; let page: ListStackResourcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudFormationClient) { @@ -42,7 +42,7 @@ export async function* listStackResourcesPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListStackSetOperationResultsPaginator.ts b/clients/client-cloudformation/pagination/ListStackSetOperationResultsPaginator.ts index 763761db1d3e..fad06600ede5 100644 --- a/clients/client-cloudformation/pagination/ListStackSetOperationResultsPaginator.ts +++ b/clients/client-cloudformation/pagination/ListStackSetOperationResultsPaginator.ts @@ -33,7 +33,7 @@ export async function* listStackSetOperationResultsPaginate( let hasNext = true; let page: ListStackSetOperationResultsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listStackSetOperationResultsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListStackSetOperationsPaginator.ts b/clients/client-cloudformation/pagination/ListStackSetOperationsPaginator.ts index 05500d3d498b..a7ed523d4679 100644 --- a/clients/client-cloudformation/pagination/ListStackSetOperationsPaginator.ts +++ b/clients/client-cloudformation/pagination/ListStackSetOperationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listStackSetOperationsPaginate( let hasNext = true; let page: ListStackSetOperationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listStackSetOperationsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListStackSetsPaginator.ts b/clients/client-cloudformation/pagination/ListStackSetsPaginator.ts index 57ecc6cfab09..a273f6586a6e 100644 --- a/clients/client-cloudformation/pagination/ListStackSetsPaginator.ts +++ b/clients/client-cloudformation/pagination/ListStackSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listStackSetsPaginate( let hasNext = true; let page: ListStackSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listStackSetsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListStacksPaginator.ts b/clients/client-cloudformation/pagination/ListStacksPaginator.ts index 5cb50bc8e8f2..600598038f87 100644 --- a/clients/client-cloudformation/pagination/ListStacksPaginator.ts +++ b/clients/client-cloudformation/pagination/ListStacksPaginator.ts @@ -29,7 +29,7 @@ export async function* listStacksPaginate( let hasNext = true; let page: ListStacksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudFormationClient) { @@ -38,7 +38,7 @@ export async function* listStacksPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListTypeRegistrationsPaginator.ts b/clients/client-cloudformation/pagination/ListTypeRegistrationsPaginator.ts index 9755630b8eb6..fc23c738bc65 100644 --- a/clients/client-cloudformation/pagination/ListTypeRegistrationsPaginator.ts +++ b/clients/client-cloudformation/pagination/ListTypeRegistrationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTypeRegistrationsPaginate( let hasNext = true; let page: ListTypeRegistrationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTypeRegistrationsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListTypeVersionsPaginator.ts b/clients/client-cloudformation/pagination/ListTypeVersionsPaginator.ts index 330c462fcc13..61b2c29f18e2 100644 --- a/clients/client-cloudformation/pagination/ListTypeVersionsPaginator.ts +++ b/clients/client-cloudformation/pagination/ListTypeVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTypeVersionsPaginate( let hasNext = true; let page: ListTypeVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTypeVersionsPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudformation/pagination/ListTypesPaginator.ts b/clients/client-cloudformation/pagination/ListTypesPaginator.ts index 31993108ce11..3115453b6c97 100644 --- a/clients/client-cloudformation/pagination/ListTypesPaginator.ts +++ b/clients/client-cloudformation/pagination/ListTypesPaginator.ts @@ -29,7 +29,7 @@ export async function* listTypesPaginate( let hasNext = true; let page: ListTypesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTypesPaginate( throw new Error("Invalid client, expected CloudFormation | CloudFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudhsm-v2/pagination/DescribeBackupsPaginator.ts b/clients/client-cloudhsm-v2/pagination/DescribeBackupsPaginator.ts index 61036c3acb17..65cffd06cac3 100644 --- a/clients/client-cloudhsm-v2/pagination/DescribeBackupsPaginator.ts +++ b/clients/client-cloudhsm-v2/pagination/DescribeBackupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeBackupsPaginate( let hasNext = true; let page: DescribeBackupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudHSMV2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeBackupsPaginate( throw new Error("Invalid client, expected CloudHSMV2 | CloudHSMV2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudhsm-v2/pagination/DescribeClustersPaginator.ts b/clients/client-cloudhsm-v2/pagination/DescribeClustersPaginator.ts index e1df8f1026ee..8bfb6d7b0126 100644 --- a/clients/client-cloudhsm-v2/pagination/DescribeClustersPaginator.ts +++ b/clients/client-cloudhsm-v2/pagination/DescribeClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClustersPaginate( let hasNext = true; let page: DescribeClustersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudHSMV2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClustersPaginate( throw new Error("Invalid client, expected CloudHSMV2 | CloudHSMV2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudhsm-v2/pagination/ListTagsPaginator.ts b/clients/client-cloudhsm-v2/pagination/ListTagsPaginator.ts index 290c8324821d..670bf56828a3 100644 --- a/clients/client-cloudhsm-v2/pagination/ListTagsPaginator.ts +++ b/clients/client-cloudhsm-v2/pagination/ListTagsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTagsPaginate( let hasNext = true; let page: ListTagsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudHSMV2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTagsPaginate( throw new Error("Invalid client, expected CloudHSMV2 | CloudHSMV2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudtrail/pagination/ListPublicKeysPaginator.ts b/clients/client-cloudtrail/pagination/ListPublicKeysPaginator.ts index ad6a6efcdd7a..9469adab5f3b 100644 --- a/clients/client-cloudtrail/pagination/ListPublicKeysPaginator.ts +++ b/clients/client-cloudtrail/pagination/ListPublicKeysPaginator.ts @@ -33,7 +33,7 @@ export async function* listPublicKeysPaginate( let hasNext = true; let page: ListPublicKeysCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudTrail) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudTrailClient) { @@ -42,7 +42,7 @@ export async function* listPublicKeysPaginate( throw new Error("Invalid client, expected CloudTrail | CloudTrailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudtrail/pagination/ListTagsPaginator.ts b/clients/client-cloudtrail/pagination/ListTagsPaginator.ts index bc9b5787aa78..d28772f267b3 100644 --- a/clients/client-cloudtrail/pagination/ListTagsPaginator.ts +++ b/clients/client-cloudtrail/pagination/ListTagsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTagsPaginate( let hasNext = true; let page: ListTagsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudTrail) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudTrailClient) { @@ -38,7 +38,7 @@ export async function* listTagsPaginate( throw new Error("Invalid client, expected CloudTrail | CloudTrailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudtrail/pagination/ListTrailsPaginator.ts b/clients/client-cloudtrail/pagination/ListTrailsPaginator.ts index b20105ba41f6..e7de1f7e1e14 100644 --- a/clients/client-cloudtrail/pagination/ListTrailsPaginator.ts +++ b/clients/client-cloudtrail/pagination/ListTrailsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTrailsPaginate( let hasNext = true; let page: ListTrailsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudTrail) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudTrailClient) { @@ -38,7 +38,7 @@ export async function* listTrailsPaginate( throw new Error("Invalid client, expected CloudTrail | CloudTrailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudtrail/pagination/LookupEventsPaginator.ts b/clients/client-cloudtrail/pagination/LookupEventsPaginator.ts index eec841c77d7c..6a6b9010a95e 100644 --- a/clients/client-cloudtrail/pagination/LookupEventsPaginator.ts +++ b/clients/client-cloudtrail/pagination/LookupEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* lookupEventsPaginate( let hasNext = true; let page: LookupEventsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudTrail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* lookupEventsPaginate( throw new Error("Invalid client, expected CloudTrail | CloudTrailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch-logs/pagination/DescribeDestinationsPaginator.ts b/clients/client-cloudwatch-logs/pagination/DescribeDestinationsPaginator.ts index 7fea035b163b..487eebabd6fb 100644 --- a/clients/client-cloudwatch-logs/pagination/DescribeDestinationsPaginator.ts +++ b/clients/client-cloudwatch-logs/pagination/DescribeDestinationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDestinationsPaginate( let hasNext = true; let page: DescribeDestinationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof CloudWatchLogs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDestinationsPaginate( throw new Error("Invalid client, expected CloudWatchLogs | CloudWatchLogsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch-logs/pagination/DescribeLogGroupsPaginator.ts b/clients/client-cloudwatch-logs/pagination/DescribeLogGroupsPaginator.ts index 5a2fb7c6ad68..53d41a9cce12 100644 --- a/clients/client-cloudwatch-logs/pagination/DescribeLogGroupsPaginator.ts +++ b/clients/client-cloudwatch-logs/pagination/DescribeLogGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLogGroupsPaginate( let hasNext = true; let page: DescribeLogGroupsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof CloudWatchLogs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLogGroupsPaginate( throw new Error("Invalid client, expected CloudWatchLogs | CloudWatchLogsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch-logs/pagination/DescribeLogStreamsPaginator.ts b/clients/client-cloudwatch-logs/pagination/DescribeLogStreamsPaginator.ts index 59dee8ca3868..4791be7ee831 100644 --- a/clients/client-cloudwatch-logs/pagination/DescribeLogStreamsPaginator.ts +++ b/clients/client-cloudwatch-logs/pagination/DescribeLogStreamsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLogStreamsPaginate( let hasNext = true; let page: DescribeLogStreamsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof CloudWatchLogs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLogStreamsPaginate( throw new Error("Invalid client, expected CloudWatchLogs | CloudWatchLogsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch-logs/pagination/DescribeMetricFiltersPaginator.ts b/clients/client-cloudwatch-logs/pagination/DescribeMetricFiltersPaginator.ts index ad3944e56032..a3e90c25c539 100644 --- a/clients/client-cloudwatch-logs/pagination/DescribeMetricFiltersPaginator.ts +++ b/clients/client-cloudwatch-logs/pagination/DescribeMetricFiltersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMetricFiltersPaginate( let hasNext = true; let page: DescribeMetricFiltersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof CloudWatchLogs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMetricFiltersPaginate( throw new Error("Invalid client, expected CloudWatchLogs | CloudWatchLogsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch-logs/pagination/DescribeSubscriptionFiltersPaginator.ts b/clients/client-cloudwatch-logs/pagination/DescribeSubscriptionFiltersPaginator.ts index 7aa5f88e5ca2..2be7e1519354 100644 --- a/clients/client-cloudwatch-logs/pagination/DescribeSubscriptionFiltersPaginator.ts +++ b/clients/client-cloudwatch-logs/pagination/DescribeSubscriptionFiltersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSubscriptionFiltersPaginate( let hasNext = true; let page: DescribeSubscriptionFiltersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof CloudWatchLogs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSubscriptionFiltersPaginate( throw new Error("Invalid client, expected CloudWatchLogs | CloudWatchLogsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch-logs/pagination/FilterLogEventsPaginator.ts b/clients/client-cloudwatch-logs/pagination/FilterLogEventsPaginator.ts index aee0fa98f66b..cae6df156b86 100644 --- a/clients/client-cloudwatch-logs/pagination/FilterLogEventsPaginator.ts +++ b/clients/client-cloudwatch-logs/pagination/FilterLogEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* filterLogEventsPaginate( let hasNext = true; let page: FilterLogEventsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof CloudWatchLogs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* filterLogEventsPaginate( throw new Error("Invalid client, expected CloudWatchLogs | CloudWatchLogsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch-logs/pagination/GetLogEventsPaginator.ts b/clients/client-cloudwatch-logs/pagination/GetLogEventsPaginator.ts index 1ff1b1a37680..aa9b8e5f21be 100644 --- a/clients/client-cloudwatch-logs/pagination/GetLogEventsPaginator.ts +++ b/clients/client-cloudwatch-logs/pagination/GetLogEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* getLogEventsPaginate( let hasNext = true; let page: GetLogEventsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof CloudWatchLogs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getLogEventsPaginate( throw new Error("Invalid client, expected CloudWatchLogs | CloudWatchLogsClient"); } yield page; - token = page["nextForwardToken"]; + token = page.nextForwardToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch/pagination/DescribeAlarmHistoryPaginator.ts b/clients/client-cloudwatch/pagination/DescribeAlarmHistoryPaginator.ts index 7a2a138e077a..5d2f13bbf402 100644 --- a/clients/client-cloudwatch/pagination/DescribeAlarmHistoryPaginator.ts +++ b/clients/client-cloudwatch/pagination/DescribeAlarmHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAlarmHistoryPaginate( let hasNext = true; let page: DescribeAlarmHistoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof CloudWatch) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAlarmHistoryPaginate( throw new Error("Invalid client, expected CloudWatch | CloudWatchClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch/pagination/DescribeAlarmsPaginator.ts b/clients/client-cloudwatch/pagination/DescribeAlarmsPaginator.ts index ffcba513e5c0..e4e61858fc2e 100644 --- a/clients/client-cloudwatch/pagination/DescribeAlarmsPaginator.ts +++ b/clients/client-cloudwatch/pagination/DescribeAlarmsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAlarmsPaginate( let hasNext = true; let page: DescribeAlarmsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof CloudWatch) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAlarmsPaginate( throw new Error("Invalid client, expected CloudWatch | CloudWatchClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch/pagination/DescribeInsightRulesPaginator.ts b/clients/client-cloudwatch/pagination/DescribeInsightRulesPaginator.ts index baf0d1797785..d25c5dfd2bcb 100644 --- a/clients/client-cloudwatch/pagination/DescribeInsightRulesPaginator.ts +++ b/clients/client-cloudwatch/pagination/DescribeInsightRulesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInsightRulesPaginate( let hasNext = true; let page: DescribeInsightRulesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CloudWatch) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInsightRulesPaginate( throw new Error("Invalid client, expected CloudWatch | CloudWatchClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch/pagination/GetMetricDataPaginator.ts b/clients/client-cloudwatch/pagination/GetMetricDataPaginator.ts index 35274bd0c243..157a870e8ebf 100644 --- a/clients/client-cloudwatch/pagination/GetMetricDataPaginator.ts +++ b/clients/client-cloudwatch/pagination/GetMetricDataPaginator.ts @@ -33,7 +33,7 @@ export async function* getMetricDataPaginate( let hasNext = true; let page: GetMetricDataCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxDatapoints"] = config.pageSize; if (config.client instanceof CloudWatch) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getMetricDataPaginate( throw new Error("Invalid client, expected CloudWatch | CloudWatchClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch/pagination/ListDashboardsPaginator.ts b/clients/client-cloudwatch/pagination/ListDashboardsPaginator.ts index a35cc5262d20..8af19a62b798 100644 --- a/clients/client-cloudwatch/pagination/ListDashboardsPaginator.ts +++ b/clients/client-cloudwatch/pagination/ListDashboardsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDashboardsPaginate( let hasNext = true; let page: ListDashboardsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudWatch) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudWatchClient) { @@ -42,7 +42,7 @@ export async function* listDashboardsPaginate( throw new Error("Invalid client, expected CloudWatch | CloudWatchClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cloudwatch/pagination/ListMetricsPaginator.ts b/clients/client-cloudwatch/pagination/ListMetricsPaginator.ts index 80b4fd311c5b..f97f013f0ca5 100644 --- a/clients/client-cloudwatch/pagination/ListMetricsPaginator.ts +++ b/clients/client-cloudwatch/pagination/ListMetricsPaginator.ts @@ -29,7 +29,7 @@ export async function* listMetricsPaginate( let hasNext = true; let page: ListMetricsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof CloudWatch) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CloudWatchClient) { @@ -38,7 +38,7 @@ export async function* listMetricsPaginate( throw new Error("Invalid client, expected CloudWatch | CloudWatchClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeartifact/pagination/ListDomainsPaginator.ts b/clients/client-codeartifact/pagination/ListDomainsPaginator.ts index f2c2b993e4b7..3f270bfc4512 100644 --- a/clients/client-codeartifact/pagination/ListDomainsPaginator.ts +++ b/clients/client-codeartifact/pagination/ListDomainsPaginator.ts @@ -29,7 +29,7 @@ export async function* listDomainsPaginate( let hasNext = true; let page: ListDomainsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Codeartifact) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listDomainsPaginate( throw new Error("Invalid client, expected Codeartifact | CodeartifactClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeartifact/pagination/ListPackageVersionAssetsPaginator.ts b/clients/client-codeartifact/pagination/ListPackageVersionAssetsPaginator.ts index d561d9dccd27..8afbfc1de9c1 100644 --- a/clients/client-codeartifact/pagination/ListPackageVersionAssetsPaginator.ts +++ b/clients/client-codeartifact/pagination/ListPackageVersionAssetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPackageVersionAssetsPaginate( let hasNext = true; let page: ListPackageVersionAssetsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Codeartifact) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPackageVersionAssetsPaginate( throw new Error("Invalid client, expected Codeartifact | CodeartifactClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeartifact/pagination/ListPackageVersionsPaginator.ts b/clients/client-codeartifact/pagination/ListPackageVersionsPaginator.ts index c219ccf39924..03faba02f2ca 100644 --- a/clients/client-codeartifact/pagination/ListPackageVersionsPaginator.ts +++ b/clients/client-codeartifact/pagination/ListPackageVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPackageVersionsPaginate( let hasNext = true; let page: ListPackageVersionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Codeartifact) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPackageVersionsPaginate( throw new Error("Invalid client, expected Codeartifact | CodeartifactClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeartifact/pagination/ListPackagesPaginator.ts b/clients/client-codeartifact/pagination/ListPackagesPaginator.ts index 9f297226c73d..30f9e5f40d64 100644 --- a/clients/client-codeartifact/pagination/ListPackagesPaginator.ts +++ b/clients/client-codeartifact/pagination/ListPackagesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPackagesPaginate( let hasNext = true; let page: ListPackagesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Codeartifact) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPackagesPaginate( throw new Error("Invalid client, expected Codeartifact | CodeartifactClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeartifact/pagination/ListRepositoriesInDomainPaginator.ts b/clients/client-codeartifact/pagination/ListRepositoriesInDomainPaginator.ts index d2e1abde3ae8..081a3d3d3c28 100644 --- a/clients/client-codeartifact/pagination/ListRepositoriesInDomainPaginator.ts +++ b/clients/client-codeartifact/pagination/ListRepositoriesInDomainPaginator.ts @@ -33,7 +33,7 @@ export async function* listRepositoriesInDomainPaginate( let hasNext = true; let page: ListRepositoriesInDomainCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Codeartifact) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRepositoriesInDomainPaginate( throw new Error("Invalid client, expected Codeartifact | CodeartifactClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeartifact/pagination/ListRepositoriesPaginator.ts b/clients/client-codeartifact/pagination/ListRepositoriesPaginator.ts index 447c2e6c4d04..2ee1cb966489 100644 --- a/clients/client-codeartifact/pagination/ListRepositoriesPaginator.ts +++ b/clients/client-codeartifact/pagination/ListRepositoriesPaginator.ts @@ -33,7 +33,7 @@ export async function* listRepositoriesPaginate( let hasNext = true; let page: ListRepositoriesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Codeartifact) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRepositoriesPaginate( throw new Error("Invalid client, expected Codeartifact | CodeartifactClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/DescribeCodeCoveragesPaginator.ts b/clients/client-codebuild/pagination/DescribeCodeCoveragesPaginator.ts index 93c244e25433..865f7b39d8eb 100644 --- a/clients/client-codebuild/pagination/DescribeCodeCoveragesPaginator.ts +++ b/clients/client-codebuild/pagination/DescribeCodeCoveragesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCodeCoveragesPaginate( let hasNext = true; let page: DescribeCodeCoveragesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCodeCoveragesPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/DescribeTestCasesPaginator.ts b/clients/client-codebuild/pagination/DescribeTestCasesPaginator.ts index f337b5916cdd..f9954ffcacf7 100644 --- a/clients/client-codebuild/pagination/DescribeTestCasesPaginator.ts +++ b/clients/client-codebuild/pagination/DescribeTestCasesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTestCasesPaginate( let hasNext = true; let page: DescribeTestCasesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTestCasesPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/ListBuildBatchesForProjectPaginator.ts b/clients/client-codebuild/pagination/ListBuildBatchesForProjectPaginator.ts index 102f57b4a895..f9d33582636d 100644 --- a/clients/client-codebuild/pagination/ListBuildBatchesForProjectPaginator.ts +++ b/clients/client-codebuild/pagination/ListBuildBatchesForProjectPaginator.ts @@ -33,7 +33,7 @@ export async function* listBuildBatchesForProjectPaginate( let hasNext = true; let page: ListBuildBatchesForProjectCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBuildBatchesForProjectPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/ListBuildBatchesPaginator.ts b/clients/client-codebuild/pagination/ListBuildBatchesPaginator.ts index c94620bedaef..91f81cd28c4d 100644 --- a/clients/client-codebuild/pagination/ListBuildBatchesPaginator.ts +++ b/clients/client-codebuild/pagination/ListBuildBatchesPaginator.ts @@ -33,7 +33,7 @@ export async function* listBuildBatchesPaginate( let hasNext = true; let page: ListBuildBatchesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBuildBatchesPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/ListBuildsForProjectPaginator.ts b/clients/client-codebuild/pagination/ListBuildsForProjectPaginator.ts index ce43d0d40160..94339ccfb0e8 100644 --- a/clients/client-codebuild/pagination/ListBuildsForProjectPaginator.ts +++ b/clients/client-codebuild/pagination/ListBuildsForProjectPaginator.ts @@ -33,7 +33,7 @@ export async function* listBuildsForProjectPaginate( let hasNext = true; let page: ListBuildsForProjectCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeBuildClient) { @@ -42,7 +42,7 @@ export async function* listBuildsForProjectPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/ListBuildsPaginator.ts b/clients/client-codebuild/pagination/ListBuildsPaginator.ts index 1f507cbfcd87..9ebd9c54312c 100644 --- a/clients/client-codebuild/pagination/ListBuildsPaginator.ts +++ b/clients/client-codebuild/pagination/ListBuildsPaginator.ts @@ -29,7 +29,7 @@ export async function* listBuildsPaginate( let hasNext = true; let page: ListBuildsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeBuildClient) { @@ -38,7 +38,7 @@ export async function* listBuildsPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/ListProjectsPaginator.ts b/clients/client-codebuild/pagination/ListProjectsPaginator.ts index 4823fbcd024c..d0b1228d948b 100644 --- a/clients/client-codebuild/pagination/ListProjectsPaginator.ts +++ b/clients/client-codebuild/pagination/ListProjectsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProjectsPaginate( let hasNext = true; let page: ListProjectsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeBuildClient) { @@ -42,7 +42,7 @@ export async function* listProjectsPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/ListReportGroupsPaginator.ts b/clients/client-codebuild/pagination/ListReportGroupsPaginator.ts index 35d16ca804cb..3291529e29c4 100644 --- a/clients/client-codebuild/pagination/ListReportGroupsPaginator.ts +++ b/clients/client-codebuild/pagination/ListReportGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listReportGroupsPaginate( let hasNext = true; let page: ListReportGroupsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listReportGroupsPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/ListReportsForReportGroupPaginator.ts b/clients/client-codebuild/pagination/ListReportsForReportGroupPaginator.ts index 623306ce19e2..900100f8097b 100644 --- a/clients/client-codebuild/pagination/ListReportsForReportGroupPaginator.ts +++ b/clients/client-codebuild/pagination/ListReportsForReportGroupPaginator.ts @@ -33,7 +33,7 @@ export async function* listReportsForReportGroupPaginate( let hasNext = true; let page: ListReportsForReportGroupCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listReportsForReportGroupPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/ListReportsPaginator.ts b/clients/client-codebuild/pagination/ListReportsPaginator.ts index 9557822c7c7b..3ec67e7c2fb7 100644 --- a/clients/client-codebuild/pagination/ListReportsPaginator.ts +++ b/clients/client-codebuild/pagination/ListReportsPaginator.ts @@ -29,7 +29,7 @@ export async function* listReportsPaginate( let hasNext = true; let page: ListReportsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listReportsPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/ListSharedProjectsPaginator.ts b/clients/client-codebuild/pagination/ListSharedProjectsPaginator.ts index 296581ba6312..877711946578 100644 --- a/clients/client-codebuild/pagination/ListSharedProjectsPaginator.ts +++ b/clients/client-codebuild/pagination/ListSharedProjectsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSharedProjectsPaginate( let hasNext = true; let page: ListSharedProjectsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSharedProjectsPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codebuild/pagination/ListSharedReportGroupsPaginator.ts b/clients/client-codebuild/pagination/ListSharedReportGroupsPaginator.ts index eaf16721b718..de4a83d12b03 100644 --- a/clients/client-codebuild/pagination/ListSharedReportGroupsPaginator.ts +++ b/clients/client-codebuild/pagination/ListSharedReportGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSharedReportGroupsPaginate( let hasNext = true; let page: ListSharedReportGroupsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeBuild) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSharedReportGroupsPaginate( throw new Error("Invalid client, expected CodeBuild | CodeBuildClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/DescribeMergeConflictsPaginator.ts b/clients/client-codecommit/pagination/DescribeMergeConflictsPaginator.ts index f263b1ff12dd..10968b8d4d99 100644 --- a/clients/client-codecommit/pagination/DescribeMergeConflictsPaginator.ts +++ b/clients/client-codecommit/pagination/DescribeMergeConflictsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMergeConflictsPaginate( let hasNext = true; let page: DescribeMergeConflictsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxMergeHunks"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMergeConflictsPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/DescribePullRequestEventsPaginator.ts b/clients/client-codecommit/pagination/DescribePullRequestEventsPaginator.ts index 1f4b2346de9d..4f2f34863e7e 100644 --- a/clients/client-codecommit/pagination/DescribePullRequestEventsPaginator.ts +++ b/clients/client-codecommit/pagination/DescribePullRequestEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describePullRequestEventsPaginate( let hasNext = true; let page: DescribePullRequestEventsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePullRequestEventsPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/GetCommentReactionsPaginator.ts b/clients/client-codecommit/pagination/GetCommentReactionsPaginator.ts index 25cf1d2fbdde..cfd8ade48f35 100644 --- a/clients/client-codecommit/pagination/GetCommentReactionsPaginator.ts +++ b/clients/client-codecommit/pagination/GetCommentReactionsPaginator.ts @@ -33,7 +33,7 @@ export async function* getCommentReactionsPaginate( let hasNext = true; let page: GetCommentReactionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getCommentReactionsPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/GetCommentsForComparedCommitPaginator.ts b/clients/client-codecommit/pagination/GetCommentsForComparedCommitPaginator.ts index f56115240a4c..d02ad2f61d1f 100644 --- a/clients/client-codecommit/pagination/GetCommentsForComparedCommitPaginator.ts +++ b/clients/client-codecommit/pagination/GetCommentsForComparedCommitPaginator.ts @@ -33,7 +33,7 @@ export async function* getCommentsForComparedCommitPaginate( let hasNext = true; let page: GetCommentsForComparedCommitCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getCommentsForComparedCommitPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/GetCommentsForPullRequestPaginator.ts b/clients/client-codecommit/pagination/GetCommentsForPullRequestPaginator.ts index 3044fe166060..3092b57a1ce1 100644 --- a/clients/client-codecommit/pagination/GetCommentsForPullRequestPaginator.ts +++ b/clients/client-codecommit/pagination/GetCommentsForPullRequestPaginator.ts @@ -33,7 +33,7 @@ export async function* getCommentsForPullRequestPaginate( let hasNext = true; let page: GetCommentsForPullRequestCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getCommentsForPullRequestPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/GetDifferencesPaginator.ts b/clients/client-codecommit/pagination/GetDifferencesPaginator.ts index fcae4a3837a4..a18b97f3a999 100644 --- a/clients/client-codecommit/pagination/GetDifferencesPaginator.ts +++ b/clients/client-codecommit/pagination/GetDifferencesPaginator.ts @@ -33,7 +33,7 @@ export async function* getDifferencesPaginate( let hasNext = true; let page: GetDifferencesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getDifferencesPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/GetMergeConflictsPaginator.ts b/clients/client-codecommit/pagination/GetMergeConflictsPaginator.ts index b308fc589081..9b989e554ccc 100644 --- a/clients/client-codecommit/pagination/GetMergeConflictsPaginator.ts +++ b/clients/client-codecommit/pagination/GetMergeConflictsPaginator.ts @@ -33,7 +33,7 @@ export async function* getMergeConflictsPaginate( let hasNext = true; let page: GetMergeConflictsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxConflictFiles"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getMergeConflictsPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/ListApprovalRuleTemplatesPaginator.ts b/clients/client-codecommit/pagination/ListApprovalRuleTemplatesPaginator.ts index c359bcbce32d..05a8846cb49d 100644 --- a/clients/client-codecommit/pagination/ListApprovalRuleTemplatesPaginator.ts +++ b/clients/client-codecommit/pagination/ListApprovalRuleTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listApprovalRuleTemplatesPaginate( let hasNext = true; let page: ListApprovalRuleTemplatesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listApprovalRuleTemplatesPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/ListAssociatedApprovalRuleTemplatesForRepositoryPaginator.ts b/clients/client-codecommit/pagination/ListAssociatedApprovalRuleTemplatesForRepositoryPaginator.ts index 3f846ea46d77..187f9fdddb5e 100644 --- a/clients/client-codecommit/pagination/ListAssociatedApprovalRuleTemplatesForRepositoryPaginator.ts +++ b/clients/client-codecommit/pagination/ListAssociatedApprovalRuleTemplatesForRepositoryPaginator.ts @@ -33,7 +33,7 @@ export async function* listAssociatedApprovalRuleTemplatesForRepositoryPaginate( let hasNext = true; let page: ListAssociatedApprovalRuleTemplatesForRepositoryCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAssociatedApprovalRuleTemplatesForRepositoryPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/ListBranchesPaginator.ts b/clients/client-codecommit/pagination/ListBranchesPaginator.ts index 9974198c8812..d21616dd1954 100644 --- a/clients/client-codecommit/pagination/ListBranchesPaginator.ts +++ b/clients/client-codecommit/pagination/ListBranchesPaginator.ts @@ -33,7 +33,7 @@ export async function* listBranchesPaginate( let hasNext = true; let page: ListBranchesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeCommitClient) { @@ -42,7 +42,7 @@ export async function* listBranchesPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/ListPullRequestsPaginator.ts b/clients/client-codecommit/pagination/ListPullRequestsPaginator.ts index 04b37f373db7..39b1485df864 100644 --- a/clients/client-codecommit/pagination/ListPullRequestsPaginator.ts +++ b/clients/client-codecommit/pagination/ListPullRequestsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPullRequestsPaginate( let hasNext = true; let page: ListPullRequestsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPullRequestsPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/ListRepositoriesForApprovalRuleTemplatePaginator.ts b/clients/client-codecommit/pagination/ListRepositoriesForApprovalRuleTemplatePaginator.ts index e1464a4255a3..9639c169d207 100644 --- a/clients/client-codecommit/pagination/ListRepositoriesForApprovalRuleTemplatePaginator.ts +++ b/clients/client-codecommit/pagination/ListRepositoriesForApprovalRuleTemplatePaginator.ts @@ -33,7 +33,7 @@ export async function* listRepositoriesForApprovalRuleTemplatePaginate( let hasNext = true; let page: ListRepositoriesForApprovalRuleTemplateCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRepositoriesForApprovalRuleTemplatePaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codecommit/pagination/ListRepositoriesPaginator.ts b/clients/client-codecommit/pagination/ListRepositoriesPaginator.ts index 6cba4181d03c..3fe334fcad8c 100644 --- a/clients/client-codecommit/pagination/ListRepositoriesPaginator.ts +++ b/clients/client-codecommit/pagination/ListRepositoriesPaginator.ts @@ -33,7 +33,7 @@ export async function* listRepositoriesPaginate( let hasNext = true; let page: ListRepositoriesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeCommit) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeCommitClient) { @@ -42,7 +42,7 @@ export async function* listRepositoriesPaginate( throw new Error("Invalid client, expected CodeCommit | CodeCommitClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codedeploy/pagination/ListApplicationRevisionsPaginator.ts b/clients/client-codedeploy/pagination/ListApplicationRevisionsPaginator.ts index f83be91dcb00..64ad08fae732 100644 --- a/clients/client-codedeploy/pagination/ListApplicationRevisionsPaginator.ts +++ b/clients/client-codedeploy/pagination/ListApplicationRevisionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listApplicationRevisionsPaginate( let hasNext = true; let page: ListApplicationRevisionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeDeploy) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeDeployClient) { @@ -42,7 +42,7 @@ export async function* listApplicationRevisionsPaginate( throw new Error("Invalid client, expected CodeDeploy | CodeDeployClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codedeploy/pagination/ListApplicationsPaginator.ts b/clients/client-codedeploy/pagination/ListApplicationsPaginator.ts index 8d4a336a89e2..c38807ab1809 100644 --- a/clients/client-codedeploy/pagination/ListApplicationsPaginator.ts +++ b/clients/client-codedeploy/pagination/ListApplicationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listApplicationsPaginate( let hasNext = true; let page: ListApplicationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeDeploy) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeDeployClient) { @@ -42,7 +42,7 @@ export async function* listApplicationsPaginate( throw new Error("Invalid client, expected CodeDeploy | CodeDeployClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codedeploy/pagination/ListDeploymentConfigsPaginator.ts b/clients/client-codedeploy/pagination/ListDeploymentConfigsPaginator.ts index 961d0216c242..6425d6b83cda 100644 --- a/clients/client-codedeploy/pagination/ListDeploymentConfigsPaginator.ts +++ b/clients/client-codedeploy/pagination/ListDeploymentConfigsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeploymentConfigsPaginate( let hasNext = true; let page: ListDeploymentConfigsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeDeploy) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeDeployClient) { @@ -42,7 +42,7 @@ export async function* listDeploymentConfigsPaginate( throw new Error("Invalid client, expected CodeDeploy | CodeDeployClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codedeploy/pagination/ListDeploymentGroupsPaginator.ts b/clients/client-codedeploy/pagination/ListDeploymentGroupsPaginator.ts index 3126ad53d2d5..dafff9b8f8b2 100644 --- a/clients/client-codedeploy/pagination/ListDeploymentGroupsPaginator.ts +++ b/clients/client-codedeploy/pagination/ListDeploymentGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeploymentGroupsPaginate( let hasNext = true; let page: ListDeploymentGroupsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeDeploy) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeDeployClient) { @@ -42,7 +42,7 @@ export async function* listDeploymentGroupsPaginate( throw new Error("Invalid client, expected CodeDeploy | CodeDeployClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codedeploy/pagination/ListDeploymentInstancesPaginator.ts b/clients/client-codedeploy/pagination/ListDeploymentInstancesPaginator.ts index 07d509994a76..f33d04b0b749 100644 --- a/clients/client-codedeploy/pagination/ListDeploymentInstancesPaginator.ts +++ b/clients/client-codedeploy/pagination/ListDeploymentInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeploymentInstancesPaginate( let hasNext = true; let page: ListDeploymentInstancesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeDeploy) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeDeployClient) { @@ -42,7 +42,7 @@ export async function* listDeploymentInstancesPaginate( throw new Error("Invalid client, expected CodeDeploy | CodeDeployClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codedeploy/pagination/ListDeploymentsPaginator.ts b/clients/client-codedeploy/pagination/ListDeploymentsPaginator.ts index e382fd383350..d17b66e9fdb6 100644 --- a/clients/client-codedeploy/pagination/ListDeploymentsPaginator.ts +++ b/clients/client-codedeploy/pagination/ListDeploymentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeploymentsPaginate( let hasNext = true; let page: ListDeploymentsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodeDeploy) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodeDeployClient) { @@ -42,7 +42,7 @@ export async function* listDeploymentsPaginate( throw new Error("Invalid client, expected CodeDeploy | CodeDeployClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeguru-reviewer/pagination/ListCodeReviewsPaginator.ts b/clients/client-codeguru-reviewer/pagination/ListCodeReviewsPaginator.ts index 2fe0d7a2cab2..52e84db510c2 100644 --- a/clients/client-codeguru-reviewer/pagination/ListCodeReviewsPaginator.ts +++ b/clients/client-codeguru-reviewer/pagination/ListCodeReviewsPaginator.ts @@ -33,7 +33,7 @@ export async function* listCodeReviewsPaginate( let hasNext = true; let page: ListCodeReviewsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodeGuruReviewer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCodeReviewsPaginate( throw new Error("Invalid client, expected CodeGuruReviewer | CodeGuruReviewerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeguru-reviewer/pagination/ListRecommendationFeedbackPaginator.ts b/clients/client-codeguru-reviewer/pagination/ListRecommendationFeedbackPaginator.ts index cb42398902ce..3963c5562c70 100644 --- a/clients/client-codeguru-reviewer/pagination/ListRecommendationFeedbackPaginator.ts +++ b/clients/client-codeguru-reviewer/pagination/ListRecommendationFeedbackPaginator.ts @@ -33,7 +33,7 @@ export async function* listRecommendationFeedbackPaginate( let hasNext = true; let page: ListRecommendationFeedbackCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodeGuruReviewer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRecommendationFeedbackPaginate( throw new Error("Invalid client, expected CodeGuruReviewer | CodeGuruReviewerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeguru-reviewer/pagination/ListRecommendationsPaginator.ts b/clients/client-codeguru-reviewer/pagination/ListRecommendationsPaginator.ts index 38d200b06141..fbade38ebeb1 100644 --- a/clients/client-codeguru-reviewer/pagination/ListRecommendationsPaginator.ts +++ b/clients/client-codeguru-reviewer/pagination/ListRecommendationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listRecommendationsPaginate( let hasNext = true; let page: ListRecommendationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodeGuruReviewer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRecommendationsPaginate( throw new Error("Invalid client, expected CodeGuruReviewer | CodeGuruReviewerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeguru-reviewer/pagination/ListRepositoryAssociationsPaginator.ts b/clients/client-codeguru-reviewer/pagination/ListRepositoryAssociationsPaginator.ts index 77e10af3c258..89ad1c69589d 100644 --- a/clients/client-codeguru-reviewer/pagination/ListRepositoryAssociationsPaginator.ts +++ b/clients/client-codeguru-reviewer/pagination/ListRepositoryAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listRepositoryAssociationsPaginate( let hasNext = true; let page: ListRepositoryAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodeGuruReviewer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRepositoryAssociationsPaginate( throw new Error("Invalid client, expected CodeGuruReviewer | CodeGuruReviewerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeguruprofiler/pagination/ListProfileTimesPaginator.ts b/clients/client-codeguruprofiler/pagination/ListProfileTimesPaginator.ts index a804437e7ab8..f5bfa8870454 100644 --- a/clients/client-codeguruprofiler/pagination/ListProfileTimesPaginator.ts +++ b/clients/client-codeguruprofiler/pagination/ListProfileTimesPaginator.ts @@ -33,7 +33,7 @@ export async function* listProfileTimesPaginate( let hasNext = true; let page: ListProfileTimesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeGuruProfiler) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProfileTimesPaginate( throw new Error("Invalid client, expected CodeGuruProfiler | CodeGuruProfilerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codeguruprofiler/pagination/ListProfilingGroupsPaginator.ts b/clients/client-codeguruprofiler/pagination/ListProfilingGroupsPaginator.ts index 552869a2b58a..1f01f6a44fd0 100644 --- a/clients/client-codeguruprofiler/pagination/ListProfilingGroupsPaginator.ts +++ b/clients/client-codeguruprofiler/pagination/ListProfilingGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProfilingGroupsPaginate( let hasNext = true; let page: ListProfilingGroupsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodeGuruProfiler) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProfilingGroupsPaginate( throw new Error("Invalid client, expected CodeGuruProfiler | CodeGuruProfilerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codepipeline/pagination/ListActionExecutionsPaginator.ts b/clients/client-codepipeline/pagination/ListActionExecutionsPaginator.ts index 1c61ec08ccc8..e6f586e382b3 100644 --- a/clients/client-codepipeline/pagination/ListActionExecutionsPaginator.ts +++ b/clients/client-codepipeline/pagination/ListActionExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listActionExecutionsPaginate( let hasNext = true; let page: ListActionExecutionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodePipeline) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listActionExecutionsPaginate( throw new Error("Invalid client, expected CodePipeline | CodePipelineClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codepipeline/pagination/ListActionTypesPaginator.ts b/clients/client-codepipeline/pagination/ListActionTypesPaginator.ts index a6a1827fbf30..96af6ede074c 100644 --- a/clients/client-codepipeline/pagination/ListActionTypesPaginator.ts +++ b/clients/client-codepipeline/pagination/ListActionTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* listActionTypesPaginate( let hasNext = true; let page: ListActionTypesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodePipeline) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodePipelineClient) { @@ -42,7 +42,7 @@ export async function* listActionTypesPaginate( throw new Error("Invalid client, expected CodePipeline | CodePipelineClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codepipeline/pagination/ListPipelineExecutionsPaginator.ts b/clients/client-codepipeline/pagination/ListPipelineExecutionsPaginator.ts index 483f90e951cc..383f8b2a9a67 100644 --- a/clients/client-codepipeline/pagination/ListPipelineExecutionsPaginator.ts +++ b/clients/client-codepipeline/pagination/ListPipelineExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPipelineExecutionsPaginate( let hasNext = true; let page: ListPipelineExecutionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodePipeline) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPipelineExecutionsPaginate( throw new Error("Invalid client, expected CodePipeline | CodePipelineClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codepipeline/pagination/ListPipelinesPaginator.ts b/clients/client-codepipeline/pagination/ListPipelinesPaginator.ts index 2d654c5a5999..ef1342a552f1 100644 --- a/clients/client-codepipeline/pagination/ListPipelinesPaginator.ts +++ b/clients/client-codepipeline/pagination/ListPipelinesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPipelinesPaginate( let hasNext = true; let page: ListPipelinesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof CodePipeline) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof CodePipelineClient) { @@ -42,7 +42,7 @@ export async function* listPipelinesPaginate( throw new Error("Invalid client, expected CodePipeline | CodePipelineClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codepipeline/pagination/ListTagsForResourcePaginator.ts b/clients/client-codepipeline/pagination/ListTagsForResourcePaginator.ts index 78af22c9ad08..93c4842df090 100644 --- a/clients/client-codepipeline/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-codepipeline/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof CodePipeline) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected CodePipeline | CodePipelineClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codepipeline/pagination/ListWebhooksPaginator.ts b/clients/client-codepipeline/pagination/ListWebhooksPaginator.ts index 670c1241ca07..912a78a36989 100644 --- a/clients/client-codepipeline/pagination/ListWebhooksPaginator.ts +++ b/clients/client-codepipeline/pagination/ListWebhooksPaginator.ts @@ -33,7 +33,7 @@ export async function* listWebhooksPaginate( let hasNext = true; let page: ListWebhooksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodePipeline) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWebhooksPaginate( throw new Error("Invalid client, expected CodePipeline | CodePipelineClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codestar-connections/pagination/ListConnectionsPaginator.ts b/clients/client-codestar-connections/pagination/ListConnectionsPaginator.ts index 024cd55b5fef..eca5f780ecdf 100644 --- a/clients/client-codestar-connections/pagination/ListConnectionsPaginator.ts +++ b/clients/client-codestar-connections/pagination/ListConnectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listConnectionsPaginate( let hasNext = true; let page: ListConnectionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodeStarConnections) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConnectionsPaginate( throw new Error("Invalid client, expected CodeStarConnections | CodeStarConnectionsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codestar-connections/pagination/ListHostsPaginator.ts b/clients/client-codestar-connections/pagination/ListHostsPaginator.ts index 3ba131574691..01121a9edf7a 100644 --- a/clients/client-codestar-connections/pagination/ListHostsPaginator.ts +++ b/clients/client-codestar-connections/pagination/ListHostsPaginator.ts @@ -29,7 +29,7 @@ export async function* listHostsPaginate( let hasNext = true; let page: ListHostsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodeStarConnections) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listHostsPaginate( throw new Error("Invalid client, expected CodeStarConnections | CodeStarConnectionsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codestar-notifications/pagination/ListEventTypesPaginator.ts b/clients/client-codestar-notifications/pagination/ListEventTypesPaginator.ts index 85ce0e8f3f98..8b12fe30e2ef 100644 --- a/clients/client-codestar-notifications/pagination/ListEventTypesPaginator.ts +++ b/clients/client-codestar-notifications/pagination/ListEventTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* listEventTypesPaginate( let hasNext = true; let page: ListEventTypesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodestarNotifications) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEventTypesPaginate( throw new Error("Invalid client, expected CodestarNotifications | CodestarNotificationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codestar-notifications/pagination/ListNotificationRulesPaginator.ts b/clients/client-codestar-notifications/pagination/ListNotificationRulesPaginator.ts index a52f40e6f826..2a6c67dbcc48 100644 --- a/clients/client-codestar-notifications/pagination/ListNotificationRulesPaginator.ts +++ b/clients/client-codestar-notifications/pagination/ListNotificationRulesPaginator.ts @@ -33,7 +33,7 @@ export async function* listNotificationRulesPaginate( let hasNext = true; let page: ListNotificationRulesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodestarNotifications) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listNotificationRulesPaginate( throw new Error("Invalid client, expected CodestarNotifications | CodestarNotificationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-codestar-notifications/pagination/ListTargetsPaginator.ts b/clients/client-codestar-notifications/pagination/ListTargetsPaginator.ts index cf8acdebabe0..00e5b7d67065 100644 --- a/clients/client-codestar-notifications/pagination/ListTargetsPaginator.ts +++ b/clients/client-codestar-notifications/pagination/ListTargetsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTargetsPaginate( let hasNext = true; let page: ListTargetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CodestarNotifications) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTargetsPaginate( throw new Error("Invalid client, expected CodestarNotifications | CodestarNotificationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cognito-identity-provider/pagination/AdminListGroupsForUserPaginator.ts b/clients/client-cognito-identity-provider/pagination/AdminListGroupsForUserPaginator.ts index 7304817f5e14..8e33d66346d9 100644 --- a/clients/client-cognito-identity-provider/pagination/AdminListGroupsForUserPaginator.ts +++ b/clients/client-cognito-identity-provider/pagination/AdminListGroupsForUserPaginator.ts @@ -33,7 +33,7 @@ export async function* adminListGroupsForUserPaginate( let hasNext = true; let page: AdminListGroupsForUserCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof CognitoIdentityProvider) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* adminListGroupsForUserPaginate( throw new Error("Invalid client, expected CognitoIdentityProvider | CognitoIdentityProviderClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cognito-identity-provider/pagination/AdminListUserAuthEventsPaginator.ts b/clients/client-cognito-identity-provider/pagination/AdminListUserAuthEventsPaginator.ts index ba59a2711e53..6f2d76545745 100644 --- a/clients/client-cognito-identity-provider/pagination/AdminListUserAuthEventsPaginator.ts +++ b/clients/client-cognito-identity-provider/pagination/AdminListUserAuthEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* adminListUserAuthEventsPaginate( let hasNext = true; let page: AdminListUserAuthEventsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CognitoIdentityProvider) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* adminListUserAuthEventsPaginate( throw new Error("Invalid client, expected CognitoIdentityProvider | CognitoIdentityProviderClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cognito-identity-provider/pagination/ListGroupsPaginator.ts b/clients/client-cognito-identity-provider/pagination/ListGroupsPaginator.ts index 4c2dab67b1e0..ce17ab34ff30 100644 --- a/clients/client-cognito-identity-provider/pagination/ListGroupsPaginator.ts +++ b/clients/client-cognito-identity-provider/pagination/ListGroupsPaginator.ts @@ -29,7 +29,7 @@ export async function* listGroupsPaginate( let hasNext = true; let page: ListGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof CognitoIdentityProvider) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listGroupsPaginate( throw new Error("Invalid client, expected CognitoIdentityProvider | CognitoIdentityProviderClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cognito-identity-provider/pagination/ListIdentityProvidersPaginator.ts b/clients/client-cognito-identity-provider/pagination/ListIdentityProvidersPaginator.ts index 120bf03aa4b2..252ccac26013 100644 --- a/clients/client-cognito-identity-provider/pagination/ListIdentityProvidersPaginator.ts +++ b/clients/client-cognito-identity-provider/pagination/ListIdentityProvidersPaginator.ts @@ -33,7 +33,7 @@ export async function* listIdentityProvidersPaginate( let hasNext = true; let page: ListIdentityProvidersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CognitoIdentityProvider) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listIdentityProvidersPaginate( throw new Error("Invalid client, expected CognitoIdentityProvider | CognitoIdentityProviderClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cognito-identity-provider/pagination/ListResourceServersPaginator.ts b/clients/client-cognito-identity-provider/pagination/ListResourceServersPaginator.ts index df7c2bd9e194..2960f5a917f3 100644 --- a/clients/client-cognito-identity-provider/pagination/ListResourceServersPaginator.ts +++ b/clients/client-cognito-identity-provider/pagination/ListResourceServersPaginator.ts @@ -33,7 +33,7 @@ export async function* listResourceServersPaginate( let hasNext = true; let page: ListResourceServersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CognitoIdentityProvider) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResourceServersPaginate( throw new Error("Invalid client, expected CognitoIdentityProvider | CognitoIdentityProviderClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cognito-identity-provider/pagination/ListUserPoolClientsPaginator.ts b/clients/client-cognito-identity-provider/pagination/ListUserPoolClientsPaginator.ts index 3ec5ced4ed24..ef52c525ec79 100644 --- a/clients/client-cognito-identity-provider/pagination/ListUserPoolClientsPaginator.ts +++ b/clients/client-cognito-identity-provider/pagination/ListUserPoolClientsPaginator.ts @@ -33,7 +33,7 @@ export async function* listUserPoolClientsPaginate( let hasNext = true; let page: ListUserPoolClientsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CognitoIdentityProvider) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listUserPoolClientsPaginate( throw new Error("Invalid client, expected CognitoIdentityProvider | CognitoIdentityProviderClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cognito-identity-provider/pagination/ListUsersInGroupPaginator.ts b/clients/client-cognito-identity-provider/pagination/ListUsersInGroupPaginator.ts index c471c222c873..afe655e9b6dd 100644 --- a/clients/client-cognito-identity-provider/pagination/ListUsersInGroupPaginator.ts +++ b/clients/client-cognito-identity-provider/pagination/ListUsersInGroupPaginator.ts @@ -33,7 +33,7 @@ export async function* listUsersInGroupPaginate( let hasNext = true; let page: ListUsersInGroupCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof CognitoIdentityProvider) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listUsersInGroupPaginate( throw new Error("Invalid client, expected CognitoIdentityProvider | CognitoIdentityProviderClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cognito-identity-provider/pagination/ListUsersPaginator.ts b/clients/client-cognito-identity-provider/pagination/ListUsersPaginator.ts index 8f78d8a123a9..4e319cb976af 100644 --- a/clients/client-cognito-identity-provider/pagination/ListUsersPaginator.ts +++ b/clients/client-cognito-identity-provider/pagination/ListUsersPaginator.ts @@ -29,7 +29,7 @@ export async function* listUsersPaginate( let hasNext = true; let page: ListUsersCommandOutput; while (hasNext) { - input["PaginationToken"] = token; + input.PaginationToken = token; input["Limit"] = config.pageSize; if (config.client instanceof CognitoIdentityProvider) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listUsersPaginate( throw new Error("Invalid client, expected CognitoIdentityProvider | CognitoIdentityProviderClient"); } yield page; - token = page["PaginationToken"]; + token = page.PaginationToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-comprehend/pagination/ListDocumentClassificationJobsPaginator.ts b/clients/client-comprehend/pagination/ListDocumentClassificationJobsPaginator.ts index 9d955d330035..eac49c314a10 100644 --- a/clients/client-comprehend/pagination/ListDocumentClassificationJobsPaginator.ts +++ b/clients/client-comprehend/pagination/ListDocumentClassificationJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDocumentClassificationJobsPaginate( let hasNext = true; let page: ListDocumentClassificationJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Comprehend) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDocumentClassificationJobsPaginate( throw new Error("Invalid client, expected Comprehend | ComprehendClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-comprehend/pagination/ListDocumentClassifiersPaginator.ts b/clients/client-comprehend/pagination/ListDocumentClassifiersPaginator.ts index 35e230c89557..c2aa8f62f2da 100644 --- a/clients/client-comprehend/pagination/ListDocumentClassifiersPaginator.ts +++ b/clients/client-comprehend/pagination/ListDocumentClassifiersPaginator.ts @@ -33,7 +33,7 @@ export async function* listDocumentClassifiersPaginate( let hasNext = true; let page: ListDocumentClassifiersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Comprehend) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDocumentClassifiersPaginate( throw new Error("Invalid client, expected Comprehend | ComprehendClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-comprehend/pagination/ListDominantLanguageDetectionJobsPaginator.ts b/clients/client-comprehend/pagination/ListDominantLanguageDetectionJobsPaginator.ts index 370579a1aadc..2beda66dd7fe 100644 --- a/clients/client-comprehend/pagination/ListDominantLanguageDetectionJobsPaginator.ts +++ b/clients/client-comprehend/pagination/ListDominantLanguageDetectionJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDominantLanguageDetectionJobsPaginate( let hasNext = true; let page: ListDominantLanguageDetectionJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Comprehend) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDominantLanguageDetectionJobsPaginate( throw new Error("Invalid client, expected Comprehend | ComprehendClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-comprehend/pagination/ListEntitiesDetectionJobsPaginator.ts b/clients/client-comprehend/pagination/ListEntitiesDetectionJobsPaginator.ts index 3ab3694834e4..fd29abdc1f7c 100644 --- a/clients/client-comprehend/pagination/ListEntitiesDetectionJobsPaginator.ts +++ b/clients/client-comprehend/pagination/ListEntitiesDetectionJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listEntitiesDetectionJobsPaginate( let hasNext = true; let page: ListEntitiesDetectionJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Comprehend) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEntitiesDetectionJobsPaginate( throw new Error("Invalid client, expected Comprehend | ComprehendClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-comprehend/pagination/ListEntityRecognizersPaginator.ts b/clients/client-comprehend/pagination/ListEntityRecognizersPaginator.ts index d537f397879e..50fc40a93e83 100644 --- a/clients/client-comprehend/pagination/ListEntityRecognizersPaginator.ts +++ b/clients/client-comprehend/pagination/ListEntityRecognizersPaginator.ts @@ -33,7 +33,7 @@ export async function* listEntityRecognizersPaginate( let hasNext = true; let page: ListEntityRecognizersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Comprehend) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEntityRecognizersPaginate( throw new Error("Invalid client, expected Comprehend | ComprehendClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-comprehend/pagination/ListKeyPhrasesDetectionJobsPaginator.ts b/clients/client-comprehend/pagination/ListKeyPhrasesDetectionJobsPaginator.ts index d5e99e4c2631..0c1b50b15698 100644 --- a/clients/client-comprehend/pagination/ListKeyPhrasesDetectionJobsPaginator.ts +++ b/clients/client-comprehend/pagination/ListKeyPhrasesDetectionJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listKeyPhrasesDetectionJobsPaginate( let hasNext = true; let page: ListKeyPhrasesDetectionJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Comprehend) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listKeyPhrasesDetectionJobsPaginate( throw new Error("Invalid client, expected Comprehend | ComprehendClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-comprehend/pagination/ListSentimentDetectionJobsPaginator.ts b/clients/client-comprehend/pagination/ListSentimentDetectionJobsPaginator.ts index b6089944c765..4953b14db14a 100644 --- a/clients/client-comprehend/pagination/ListSentimentDetectionJobsPaginator.ts +++ b/clients/client-comprehend/pagination/ListSentimentDetectionJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSentimentDetectionJobsPaginate( let hasNext = true; let page: ListSentimentDetectionJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Comprehend) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSentimentDetectionJobsPaginate( throw new Error("Invalid client, expected Comprehend | ComprehendClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-comprehend/pagination/ListTopicsDetectionJobsPaginator.ts b/clients/client-comprehend/pagination/ListTopicsDetectionJobsPaginator.ts index d944aa4d5dd9..2ba882c9166d 100644 --- a/clients/client-comprehend/pagination/ListTopicsDetectionJobsPaginator.ts +++ b/clients/client-comprehend/pagination/ListTopicsDetectionJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTopicsDetectionJobsPaginate( let hasNext = true; let page: ListTopicsDetectionJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Comprehend) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTopicsDetectionJobsPaginate( throw new Error("Invalid client, expected Comprehend | ComprehendClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-config-service/pagination/DescribeRemediationExceptionsPaginator.ts b/clients/client-config-service/pagination/DescribeRemediationExceptionsPaginator.ts index f431d2332097..a757e894fe3d 100644 --- a/clients/client-config-service/pagination/DescribeRemediationExceptionsPaginator.ts +++ b/clients/client-config-service/pagination/DescribeRemediationExceptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeRemediationExceptionsPaginate( let hasNext = true; let page: DescribeRemediationExceptionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof ConfigService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeRemediationExceptionsPaginate( throw new Error("Invalid client, expected ConfigService | ConfigServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-config-service/pagination/DescribeRemediationExecutionStatusPaginator.ts b/clients/client-config-service/pagination/DescribeRemediationExecutionStatusPaginator.ts index 29253f9137eb..f6d372f1c5dd 100644 --- a/clients/client-config-service/pagination/DescribeRemediationExecutionStatusPaginator.ts +++ b/clients/client-config-service/pagination/DescribeRemediationExecutionStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* describeRemediationExecutionStatusPaginate( let hasNext = true; let page: DescribeRemediationExecutionStatusCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof ConfigService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeRemediationExecutionStatusPaginate( throw new Error("Invalid client, expected ConfigService | ConfigServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-config-service/pagination/GetResourceConfigHistoryPaginator.ts b/clients/client-config-service/pagination/GetResourceConfigHistoryPaginator.ts index e8bbb6261fbc..052090676c67 100644 --- a/clients/client-config-service/pagination/GetResourceConfigHistoryPaginator.ts +++ b/clients/client-config-service/pagination/GetResourceConfigHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* getResourceConfigHistoryPaginate( let hasNext = true; let page: GetResourceConfigHistoryCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["limit"] = config.pageSize; if (config.client instanceof ConfigService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getResourceConfigHistoryPaginate( throw new Error("Invalid client, expected ConfigService | ConfigServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-config-service/pagination/SelectAggregateResourceConfigPaginator.ts b/clients/client-config-service/pagination/SelectAggregateResourceConfigPaginator.ts index 494520ccf7bc..08864c4d9f81 100644 --- a/clients/client-config-service/pagination/SelectAggregateResourceConfigPaginator.ts +++ b/clients/client-config-service/pagination/SelectAggregateResourceConfigPaginator.ts @@ -33,7 +33,7 @@ export async function* selectAggregateResourceConfigPaginate( let hasNext = true; let page: SelectAggregateResourceConfigCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ConfigService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* selectAggregateResourceConfigPaginate( throw new Error("Invalid client, expected ConfigService | ConfigServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/GetCurrentMetricDataPaginator.ts b/clients/client-connect/pagination/GetCurrentMetricDataPaginator.ts index 778eb9d58e8b..15c7ab061cf5 100644 --- a/clients/client-connect/pagination/GetCurrentMetricDataPaginator.ts +++ b/clients/client-connect/pagination/GetCurrentMetricDataPaginator.ts @@ -33,7 +33,7 @@ export async function* getCurrentMetricDataPaginate( let hasNext = true; let page: GetCurrentMetricDataCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getCurrentMetricDataPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/GetMetricDataPaginator.ts b/clients/client-connect/pagination/GetMetricDataPaginator.ts index 61908fbc4723..0e28e59ea90d 100644 --- a/clients/client-connect/pagination/GetMetricDataPaginator.ts +++ b/clients/client-connect/pagination/GetMetricDataPaginator.ts @@ -33,7 +33,7 @@ export async function* getMetricDataPaginate( let hasNext = true; let page: GetMetricDataCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getMetricDataPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/ListContactFlowsPaginator.ts b/clients/client-connect/pagination/ListContactFlowsPaginator.ts index 84046689b0a4..1ed2d7531979 100644 --- a/clients/client-connect/pagination/ListContactFlowsPaginator.ts +++ b/clients/client-connect/pagination/ListContactFlowsPaginator.ts @@ -33,7 +33,7 @@ export async function* listContactFlowsPaginate( let hasNext = true; let page: ListContactFlowsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listContactFlowsPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/ListHoursOfOperationsPaginator.ts b/clients/client-connect/pagination/ListHoursOfOperationsPaginator.ts index fb0da9f53c46..60c3c33d5f75 100644 --- a/clients/client-connect/pagination/ListHoursOfOperationsPaginator.ts +++ b/clients/client-connect/pagination/ListHoursOfOperationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listHoursOfOperationsPaginate( let hasNext = true; let page: ListHoursOfOperationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listHoursOfOperationsPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/ListPhoneNumbersPaginator.ts b/clients/client-connect/pagination/ListPhoneNumbersPaginator.ts index 434da1d3a667..9a436365ffcd 100644 --- a/clients/client-connect/pagination/ListPhoneNumbersPaginator.ts +++ b/clients/client-connect/pagination/ListPhoneNumbersPaginator.ts @@ -33,7 +33,7 @@ export async function* listPhoneNumbersPaginate( let hasNext = true; let page: ListPhoneNumbersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPhoneNumbersPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/ListPromptsPaginator.ts b/clients/client-connect/pagination/ListPromptsPaginator.ts index 0a8d66821682..fdd8e9ed4860 100644 --- a/clients/client-connect/pagination/ListPromptsPaginator.ts +++ b/clients/client-connect/pagination/ListPromptsPaginator.ts @@ -29,7 +29,7 @@ export async function* listPromptsPaginate( let hasNext = true; let page: ListPromptsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listPromptsPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/ListQueuesPaginator.ts b/clients/client-connect/pagination/ListQueuesPaginator.ts index 84e2485cae83..586fe33c3470 100644 --- a/clients/client-connect/pagination/ListQueuesPaginator.ts +++ b/clients/client-connect/pagination/ListQueuesPaginator.ts @@ -29,7 +29,7 @@ export async function* listQueuesPaginate( let hasNext = true; let page: ListQueuesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listQueuesPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/ListRoutingProfileQueuesPaginator.ts b/clients/client-connect/pagination/ListRoutingProfileQueuesPaginator.ts index 03bd2217daa5..4f43b3e10bce 100644 --- a/clients/client-connect/pagination/ListRoutingProfileQueuesPaginator.ts +++ b/clients/client-connect/pagination/ListRoutingProfileQueuesPaginator.ts @@ -33,7 +33,7 @@ export async function* listRoutingProfileQueuesPaginate( let hasNext = true; let page: ListRoutingProfileQueuesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRoutingProfileQueuesPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/ListRoutingProfilesPaginator.ts b/clients/client-connect/pagination/ListRoutingProfilesPaginator.ts index 41cc24b88846..354463daeba7 100644 --- a/clients/client-connect/pagination/ListRoutingProfilesPaginator.ts +++ b/clients/client-connect/pagination/ListRoutingProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* listRoutingProfilesPaginate( let hasNext = true; let page: ListRoutingProfilesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRoutingProfilesPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/ListSecurityProfilesPaginator.ts b/clients/client-connect/pagination/ListSecurityProfilesPaginator.ts index 18955f3db85d..9bc011e8b749 100644 --- a/clients/client-connect/pagination/ListSecurityProfilesPaginator.ts +++ b/clients/client-connect/pagination/ListSecurityProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSecurityProfilesPaginate( let hasNext = true; let page: ListSecurityProfilesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSecurityProfilesPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/ListUserHierarchyGroupsPaginator.ts b/clients/client-connect/pagination/ListUserHierarchyGroupsPaginator.ts index edcac52f3208..bb9a27bac393 100644 --- a/clients/client-connect/pagination/ListUserHierarchyGroupsPaginator.ts +++ b/clients/client-connect/pagination/ListUserHierarchyGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listUserHierarchyGroupsPaginate( let hasNext = true; let page: ListUserHierarchyGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listUserHierarchyGroupsPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connect/pagination/ListUsersPaginator.ts b/clients/client-connect/pagination/ListUsersPaginator.ts index fead4d2c9373..80700e7124fc 100644 --- a/clients/client-connect/pagination/ListUsersPaginator.ts +++ b/clients/client-connect/pagination/ListUsersPaginator.ts @@ -29,7 +29,7 @@ export async function* listUsersPaginate( let hasNext = true; let page: ListUsersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Connect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listUsersPaginate( throw new Error("Invalid client, expected Connect | ConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-connectparticipant/pagination/GetTranscriptPaginator.ts b/clients/client-connectparticipant/pagination/GetTranscriptPaginator.ts index f87111cdc01c..016461c95396 100644 --- a/clients/client-connectparticipant/pagination/GetTranscriptPaginator.ts +++ b/clients/client-connectparticipant/pagination/GetTranscriptPaginator.ts @@ -33,7 +33,7 @@ export async function* getTranscriptPaginate( let hasNext = true; let page: GetTranscriptCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ConnectParticipant) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getTranscriptPaginate( throw new Error("Invalid client, expected ConnectParticipant | ConnectParticipantClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cost-and-usage-report-service/pagination/DescribeReportDefinitionsPaginator.ts b/clients/client-cost-and-usage-report-service/pagination/DescribeReportDefinitionsPaginator.ts index a5e552e22595..6d77f4906709 100644 --- a/clients/client-cost-and-usage-report-service/pagination/DescribeReportDefinitionsPaginator.ts +++ b/clients/client-cost-and-usage-report-service/pagination/DescribeReportDefinitionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReportDefinitionsPaginate( let hasNext = true; let page: DescribeReportDefinitionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CostAndUsageReportService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReportDefinitionsPaginate( throw new Error("Invalid client, expected CostAndUsageReportService | CostAndUsageReportServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cost-explorer/pagination/GetSavingsPlansCoveragePaginator.ts b/clients/client-cost-explorer/pagination/GetSavingsPlansCoveragePaginator.ts index 4504f010bb4d..dbed6631ff21 100644 --- a/clients/client-cost-explorer/pagination/GetSavingsPlansCoveragePaginator.ts +++ b/clients/client-cost-explorer/pagination/GetSavingsPlansCoveragePaginator.ts @@ -33,7 +33,7 @@ export async function* getSavingsPlansCoveragePaginate( let hasNext = true; let page: GetSavingsPlansCoverageCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CostExplorer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getSavingsPlansCoveragePaginate( throw new Error("Invalid client, expected CostExplorer | CostExplorerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cost-explorer/pagination/GetSavingsPlansUtilizationDetailsPaginator.ts b/clients/client-cost-explorer/pagination/GetSavingsPlansUtilizationDetailsPaginator.ts index 37d7c6ac6967..3bc3d94ba685 100644 --- a/clients/client-cost-explorer/pagination/GetSavingsPlansUtilizationDetailsPaginator.ts +++ b/clients/client-cost-explorer/pagination/GetSavingsPlansUtilizationDetailsPaginator.ts @@ -33,7 +33,7 @@ export async function* getSavingsPlansUtilizationDetailsPaginate( let hasNext = true; let page: GetSavingsPlansUtilizationDetailsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CostExplorer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getSavingsPlansUtilizationDetailsPaginate( throw new Error("Invalid client, expected CostExplorer | CostExplorerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-cost-explorer/pagination/ListCostCategoryDefinitionsPaginator.ts b/clients/client-cost-explorer/pagination/ListCostCategoryDefinitionsPaginator.ts index d44cfea2e870..56b674b344ef 100644 --- a/clients/client-cost-explorer/pagination/ListCostCategoryDefinitionsPaginator.ts +++ b/clients/client-cost-explorer/pagination/ListCostCategoryDefinitionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listCostCategoryDefinitionsPaginate( let hasNext = true; let page: ListCostCategoryDefinitionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof CostExplorer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCostCategoryDefinitionsPaginate( throw new Error("Invalid client, expected CostExplorer | CostExplorerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-data-pipeline/pagination/DescribeObjectsPaginator.ts b/clients/client-data-pipeline/pagination/DescribeObjectsPaginator.ts index 7952b50e54d6..a4fbb5ff97bf 100644 --- a/clients/client-data-pipeline/pagination/DescribeObjectsPaginator.ts +++ b/clients/client-data-pipeline/pagination/DescribeObjectsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeObjectsPaginate( let hasNext = true; let page: DescribeObjectsCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; if (config.client instanceof DataPipeline) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DataPipelineClient) { @@ -42,7 +42,7 @@ export async function* describeObjectsPaginate( throw new Error("Invalid client, expected DataPipeline | DataPipelineClient"); } yield page; - token = page["marker"]; + token = page.marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-data-pipeline/pagination/ListPipelinesPaginator.ts b/clients/client-data-pipeline/pagination/ListPipelinesPaginator.ts index c9211b70093e..cb1b95c0ef0a 100644 --- a/clients/client-data-pipeline/pagination/ListPipelinesPaginator.ts +++ b/clients/client-data-pipeline/pagination/ListPipelinesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPipelinesPaginate( let hasNext = true; let page: ListPipelinesCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; if (config.client instanceof DataPipeline) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DataPipelineClient) { @@ -42,7 +42,7 @@ export async function* listPipelinesPaginate( throw new Error("Invalid client, expected DataPipeline | DataPipelineClient"); } yield page; - token = page["marker"]; + token = page.marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-data-pipeline/pagination/QueryObjectsPaginator.ts b/clients/client-data-pipeline/pagination/QueryObjectsPaginator.ts index 0904c0db26c0..8a19c85e0822 100644 --- a/clients/client-data-pipeline/pagination/QueryObjectsPaginator.ts +++ b/clients/client-data-pipeline/pagination/QueryObjectsPaginator.ts @@ -33,7 +33,7 @@ export async function* queryObjectsPaginate( let hasNext = true; let page: QueryObjectsCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["limit"] = config.pageSize; if (config.client instanceof DataPipeline) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* queryObjectsPaginate( throw new Error("Invalid client, expected DataPipeline | DataPipelineClient"); } yield page; - token = page["marker"]; + token = page.marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeApplicableIndividualAssessmentsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeApplicableIndividualAssessmentsPaginator.ts index 22ce90012a44..9cea25a60de0 100644 --- a/clients/client-database-migration-service/pagination/DescribeApplicableIndividualAssessmentsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeApplicableIndividualAssessmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeApplicableIndividualAssessmentsPaginate( let hasNext = true; let page: DescribeApplicableIndividualAssessmentsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeApplicableIndividualAssessmentsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeCertificatesPaginator.ts b/clients/client-database-migration-service/pagination/DescribeCertificatesPaginator.ts index d5fcc6b50488..58484f59efef 100644 --- a/clients/client-database-migration-service/pagination/DescribeCertificatesPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCertificatesPaginate( let hasNext = true; let page: DescribeCertificatesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCertificatesPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeConnectionsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeConnectionsPaginator.ts index 22d29f4a1d60..caf574be002d 100644 --- a/clients/client-database-migration-service/pagination/DescribeConnectionsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeConnectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeConnectionsPaginate( let hasNext = true; let page: DescribeConnectionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeConnectionsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeEndpointTypesPaginator.ts b/clients/client-database-migration-service/pagination/DescribeEndpointTypesPaginator.ts index 2e4a864e40f5..f3c054376d6d 100644 --- a/clients/client-database-migration-service/pagination/DescribeEndpointTypesPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeEndpointTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEndpointTypesPaginate( let hasNext = true; let page: DescribeEndpointTypesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEndpointTypesPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeEndpointsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeEndpointsPaginator.ts index 5d2d8fff4abd..f33700c4e231 100644 --- a/clients/client-database-migration-service/pagination/DescribeEndpointsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEndpointsPaginate( let hasNext = true; let page: DescribeEndpointsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEndpointsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeEventSubscriptionsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeEventSubscriptionsPaginator.ts index 4964df93d3d3..fd6fbd66b1b1 100644 --- a/clients/client-database-migration-service/pagination/DescribeEventSubscriptionsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeEventSubscriptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventSubscriptionsPaginate( let hasNext = true; let page: DescribeEventSubscriptionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventSubscriptionsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeEventsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeEventsPaginator.ts index 6c20ba6f7aba..203acccdd7aa 100644 --- a/clients/client-database-migration-service/pagination/DescribeEventsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventsPaginate( let hasNext = true; let page: DescribeEventsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeOrderableReplicationInstancesPaginator.ts b/clients/client-database-migration-service/pagination/DescribeOrderableReplicationInstancesPaginator.ts index 4f8709bfa064..af8772be87eb 100644 --- a/clients/client-database-migration-service/pagination/DescribeOrderableReplicationInstancesPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeOrderableReplicationInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeOrderableReplicationInstancesPaginate( let hasNext = true; let page: DescribeOrderableReplicationInstancesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeOrderableReplicationInstancesPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribePendingMaintenanceActionsPaginator.ts b/clients/client-database-migration-service/pagination/DescribePendingMaintenanceActionsPaginator.ts index 69db2b7470e1..d1a16cb68d6b 100644 --- a/clients/client-database-migration-service/pagination/DescribePendingMaintenanceActionsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribePendingMaintenanceActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describePendingMaintenanceActionsPaginate( let hasNext = true; let page: DescribePendingMaintenanceActionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePendingMaintenanceActionsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeReplicationInstanceTaskLogsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeReplicationInstanceTaskLogsPaginator.ts index dea8b9dcb8d3..0a15654e060b 100644 --- a/clients/client-database-migration-service/pagination/DescribeReplicationInstanceTaskLogsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeReplicationInstanceTaskLogsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReplicationInstanceTaskLogsPaginate( let hasNext = true; let page: DescribeReplicationInstanceTaskLogsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReplicationInstanceTaskLogsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeReplicationInstancesPaginator.ts b/clients/client-database-migration-service/pagination/DescribeReplicationInstancesPaginator.ts index 6e5abcd48a27..c1d0a6c8e145 100644 --- a/clients/client-database-migration-service/pagination/DescribeReplicationInstancesPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeReplicationInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReplicationInstancesPaginate( let hasNext = true; let page: DescribeReplicationInstancesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReplicationInstancesPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeReplicationSubnetGroupsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeReplicationSubnetGroupsPaginator.ts index f2b2d674d722..88945ab452fe 100644 --- a/clients/client-database-migration-service/pagination/DescribeReplicationSubnetGroupsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeReplicationSubnetGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReplicationSubnetGroupsPaginate( let hasNext = true; let page: DescribeReplicationSubnetGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReplicationSubnetGroupsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeReplicationTaskAssessmentResultsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeReplicationTaskAssessmentResultsPaginator.ts index d722ccee3144..a4c7b0cb3c6f 100644 --- a/clients/client-database-migration-service/pagination/DescribeReplicationTaskAssessmentResultsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeReplicationTaskAssessmentResultsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReplicationTaskAssessmentResultsPaginate( let hasNext = true; let page: DescribeReplicationTaskAssessmentResultsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReplicationTaskAssessmentResultsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeReplicationTaskAssessmentRunsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeReplicationTaskAssessmentRunsPaginator.ts index a4ec6ed10e09..33ba6ad46d67 100644 --- a/clients/client-database-migration-service/pagination/DescribeReplicationTaskAssessmentRunsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeReplicationTaskAssessmentRunsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReplicationTaskAssessmentRunsPaginate( let hasNext = true; let page: DescribeReplicationTaskAssessmentRunsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReplicationTaskAssessmentRunsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeReplicationTaskIndividualAssessmentsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeReplicationTaskIndividualAssessmentsPaginator.ts index d855f022d3fe..71502b456f50 100644 --- a/clients/client-database-migration-service/pagination/DescribeReplicationTaskIndividualAssessmentsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeReplicationTaskIndividualAssessmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReplicationTaskIndividualAssessmentsPaginate( let hasNext = true; let page: DescribeReplicationTaskIndividualAssessmentsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReplicationTaskIndividualAssessmentsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeReplicationTasksPaginator.ts b/clients/client-database-migration-service/pagination/DescribeReplicationTasksPaginator.ts index 52d6d40ae060..40f86ced4c9c 100644 --- a/clients/client-database-migration-service/pagination/DescribeReplicationTasksPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeReplicationTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReplicationTasksPaginate( let hasNext = true; let page: DescribeReplicationTasksCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReplicationTasksPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeSchemasPaginator.ts b/clients/client-database-migration-service/pagination/DescribeSchemasPaginator.ts index f3c71bcce4a4..4b869b4fe90f 100644 --- a/clients/client-database-migration-service/pagination/DescribeSchemasPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeSchemasPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSchemasPaginate( let hasNext = true; let page: DescribeSchemasCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSchemasPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-database-migration-service/pagination/DescribeTableStatisticsPaginator.ts b/clients/client-database-migration-service/pagination/DescribeTableStatisticsPaginator.ts index af52750a8403..9625fd455d22 100644 --- a/clients/client-database-migration-service/pagination/DescribeTableStatisticsPaginator.ts +++ b/clients/client-database-migration-service/pagination/DescribeTableStatisticsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTableStatisticsPaginate( let hasNext = true; let page: DescribeTableStatisticsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DatabaseMigrationService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTableStatisticsPaginate( throw new Error("Invalid client, expected DatabaseMigrationService | DatabaseMigrationServiceClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-dataexchange/pagination/ListDataSetRevisionsPaginator.ts b/clients/client-dataexchange/pagination/ListDataSetRevisionsPaginator.ts index 3cbd7c9bbc19..628ccbd0c6bf 100644 --- a/clients/client-dataexchange/pagination/ListDataSetRevisionsPaginator.ts +++ b/clients/client-dataexchange/pagination/ListDataSetRevisionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDataSetRevisionsPaginate( let hasNext = true; let page: ListDataSetRevisionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof DataExchange) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDataSetRevisionsPaginate( throw new Error("Invalid client, expected DataExchange | DataExchangeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-dataexchange/pagination/ListDataSetsPaginator.ts b/clients/client-dataexchange/pagination/ListDataSetsPaginator.ts index ca6030e754e7..a2240dd7dabf 100644 --- a/clients/client-dataexchange/pagination/ListDataSetsPaginator.ts +++ b/clients/client-dataexchange/pagination/ListDataSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDataSetsPaginate( let hasNext = true; let page: ListDataSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof DataExchange) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDataSetsPaginate( throw new Error("Invalid client, expected DataExchange | DataExchangeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-dataexchange/pagination/ListJobsPaginator.ts b/clients/client-dataexchange/pagination/ListJobsPaginator.ts index cc8ae278d8da..811cec2f278a 100644 --- a/clients/client-dataexchange/pagination/ListJobsPaginator.ts +++ b/clients/client-dataexchange/pagination/ListJobsPaginator.ts @@ -29,7 +29,7 @@ export async function* listJobsPaginate( let hasNext = true; let page: ListJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof DataExchange) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listJobsPaginate( throw new Error("Invalid client, expected DataExchange | DataExchangeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-dataexchange/pagination/ListRevisionAssetsPaginator.ts b/clients/client-dataexchange/pagination/ListRevisionAssetsPaginator.ts index ade3c11e3416..3cb0b6066ebd 100644 --- a/clients/client-dataexchange/pagination/ListRevisionAssetsPaginator.ts +++ b/clients/client-dataexchange/pagination/ListRevisionAssetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listRevisionAssetsPaginate( let hasNext = true; let page: ListRevisionAssetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof DataExchange) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRevisionAssetsPaginate( throw new Error("Invalid client, expected DataExchange | DataExchangeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-datasync/pagination/ListAgentsPaginator.ts b/clients/client-datasync/pagination/ListAgentsPaginator.ts index a13ab09a6e52..1e24bb583a0c 100644 --- a/clients/client-datasync/pagination/ListAgentsPaginator.ts +++ b/clients/client-datasync/pagination/ListAgentsPaginator.ts @@ -29,7 +29,7 @@ export async function* listAgentsPaginate( let hasNext = true; let page: ListAgentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof DataSync) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listAgentsPaginate( throw new Error("Invalid client, expected DataSync | DataSyncClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-datasync/pagination/ListLocationsPaginator.ts b/clients/client-datasync/pagination/ListLocationsPaginator.ts index e32b3066d6a3..2983ae74f4a7 100644 --- a/clients/client-datasync/pagination/ListLocationsPaginator.ts +++ b/clients/client-datasync/pagination/ListLocationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listLocationsPaginate( let hasNext = true; let page: ListLocationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof DataSync) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listLocationsPaginate( throw new Error("Invalid client, expected DataSync | DataSyncClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-datasync/pagination/ListTagsForResourcePaginator.ts b/clients/client-datasync/pagination/ListTagsForResourcePaginator.ts index 6a1b49a892a5..893cb6fd3d6b 100644 --- a/clients/client-datasync/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-datasync/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof DataSync) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected DataSync | DataSyncClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-datasync/pagination/ListTaskExecutionsPaginator.ts b/clients/client-datasync/pagination/ListTaskExecutionsPaginator.ts index be1799072700..643f2fee23f5 100644 --- a/clients/client-datasync/pagination/ListTaskExecutionsPaginator.ts +++ b/clients/client-datasync/pagination/ListTaskExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTaskExecutionsPaginate( let hasNext = true; let page: ListTaskExecutionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof DataSync) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTaskExecutionsPaginate( throw new Error("Invalid client, expected DataSync | DataSyncClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-datasync/pagination/ListTasksPaginator.ts b/clients/client-datasync/pagination/ListTasksPaginator.ts index 05b43e925ff1..02786e1e5ade 100644 --- a/clients/client-datasync/pagination/ListTasksPaginator.ts +++ b/clients/client-datasync/pagination/ListTasksPaginator.ts @@ -29,7 +29,7 @@ export async function* listTasksPaginate( let hasNext = true; let page: ListTasksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof DataSync) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTasksPaginate( throw new Error("Invalid client, expected DataSync | DataSyncClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-detective/pagination/ListGraphsPaginator.ts b/clients/client-detective/pagination/ListGraphsPaginator.ts index bb83e49173a1..99942e57be48 100644 --- a/clients/client-detective/pagination/ListGraphsPaginator.ts +++ b/clients/client-detective/pagination/ListGraphsPaginator.ts @@ -29,7 +29,7 @@ export async function* listGraphsPaginate( let hasNext = true; let page: ListGraphsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Detective) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listGraphsPaginate( throw new Error("Invalid client, expected Detective | DetectiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-detective/pagination/ListInvitationsPaginator.ts b/clients/client-detective/pagination/ListInvitationsPaginator.ts index bf6b41ecaa97..186ce616dcfc 100644 --- a/clients/client-detective/pagination/ListInvitationsPaginator.ts +++ b/clients/client-detective/pagination/ListInvitationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listInvitationsPaginate( let hasNext = true; let page: ListInvitationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Detective) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInvitationsPaginate( throw new Error("Invalid client, expected Detective | DetectiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-detective/pagination/ListMembersPaginator.ts b/clients/client-detective/pagination/ListMembersPaginator.ts index 5950b820512e..8ced57538910 100644 --- a/clients/client-detective/pagination/ListMembersPaginator.ts +++ b/clients/client-detective/pagination/ListMembersPaginator.ts @@ -29,7 +29,7 @@ export async function* listMembersPaginate( let hasNext = true; let page: ListMembersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Detective) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listMembersPaginate( throw new Error("Invalid client, expected Detective | DetectiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/GetOfferingStatusPaginator.ts b/clients/client-device-farm/pagination/GetOfferingStatusPaginator.ts index ab41ca4b99fe..5a9e15a2c3a5 100644 --- a/clients/client-device-farm/pagination/GetOfferingStatusPaginator.ts +++ b/clients/client-device-farm/pagination/GetOfferingStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* getOfferingStatusPaginate( let hasNext = true; let page: GetOfferingStatusCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -42,7 +42,7 @@ export async function* getOfferingStatusPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListArtifactsPaginator.ts b/clients/client-device-farm/pagination/ListArtifactsPaginator.ts index 859e4a47ae13..276c25205283 100644 --- a/clients/client-device-farm/pagination/ListArtifactsPaginator.ts +++ b/clients/client-device-farm/pagination/ListArtifactsPaginator.ts @@ -33,7 +33,7 @@ export async function* listArtifactsPaginate( let hasNext = true; let page: ListArtifactsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -42,7 +42,7 @@ export async function* listArtifactsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListDevicePoolsPaginator.ts b/clients/client-device-farm/pagination/ListDevicePoolsPaginator.ts index 5d5647c20515..8815a97ab539 100644 --- a/clients/client-device-farm/pagination/ListDevicePoolsPaginator.ts +++ b/clients/client-device-farm/pagination/ListDevicePoolsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDevicePoolsPaginate( let hasNext = true; let page: ListDevicePoolsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -42,7 +42,7 @@ export async function* listDevicePoolsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListDevicesPaginator.ts b/clients/client-device-farm/pagination/ListDevicesPaginator.ts index 7760bf24f92b..3e593b8b2e8c 100644 --- a/clients/client-device-farm/pagination/ListDevicesPaginator.ts +++ b/clients/client-device-farm/pagination/ListDevicesPaginator.ts @@ -29,7 +29,7 @@ export async function* listDevicesPaginate( let hasNext = true; let page: ListDevicesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -38,7 +38,7 @@ export async function* listDevicesPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListJobsPaginator.ts b/clients/client-device-farm/pagination/ListJobsPaginator.ts index 50fd45eb0f23..0392eb240782 100644 --- a/clients/client-device-farm/pagination/ListJobsPaginator.ts +++ b/clients/client-device-farm/pagination/ListJobsPaginator.ts @@ -29,7 +29,7 @@ export async function* listJobsPaginate( let hasNext = true; let page: ListJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -38,7 +38,7 @@ export async function* listJobsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListOfferingTransactionsPaginator.ts b/clients/client-device-farm/pagination/ListOfferingTransactionsPaginator.ts index bd532f71da18..76a103741aaa 100644 --- a/clients/client-device-farm/pagination/ListOfferingTransactionsPaginator.ts +++ b/clients/client-device-farm/pagination/ListOfferingTransactionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOfferingTransactionsPaginate( let hasNext = true; let page: ListOfferingTransactionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -42,7 +42,7 @@ export async function* listOfferingTransactionsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListOfferingsPaginator.ts b/clients/client-device-farm/pagination/ListOfferingsPaginator.ts index b80ad4656da7..ed6d681f3ca5 100644 --- a/clients/client-device-farm/pagination/ListOfferingsPaginator.ts +++ b/clients/client-device-farm/pagination/ListOfferingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOfferingsPaginate( let hasNext = true; let page: ListOfferingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -42,7 +42,7 @@ export async function* listOfferingsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListProjectsPaginator.ts b/clients/client-device-farm/pagination/ListProjectsPaginator.ts index 4cf1d1203bf3..6f59a2518fa3 100644 --- a/clients/client-device-farm/pagination/ListProjectsPaginator.ts +++ b/clients/client-device-farm/pagination/ListProjectsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProjectsPaginate( let hasNext = true; let page: ListProjectsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -42,7 +42,7 @@ export async function* listProjectsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListRunsPaginator.ts b/clients/client-device-farm/pagination/ListRunsPaginator.ts index f3f5c5fab9df..aa2cff550eae 100644 --- a/clients/client-device-farm/pagination/ListRunsPaginator.ts +++ b/clients/client-device-farm/pagination/ListRunsPaginator.ts @@ -29,7 +29,7 @@ export async function* listRunsPaginate( let hasNext = true; let page: ListRunsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -38,7 +38,7 @@ export async function* listRunsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListSamplesPaginator.ts b/clients/client-device-farm/pagination/ListSamplesPaginator.ts index 07e2095dc0dc..5def298c4e9e 100644 --- a/clients/client-device-farm/pagination/ListSamplesPaginator.ts +++ b/clients/client-device-farm/pagination/ListSamplesPaginator.ts @@ -29,7 +29,7 @@ export async function* listSamplesPaginate( let hasNext = true; let page: ListSamplesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -38,7 +38,7 @@ export async function* listSamplesPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListSuitesPaginator.ts b/clients/client-device-farm/pagination/ListSuitesPaginator.ts index 5e114330d524..27d00b8e8954 100644 --- a/clients/client-device-farm/pagination/ListSuitesPaginator.ts +++ b/clients/client-device-farm/pagination/ListSuitesPaginator.ts @@ -29,7 +29,7 @@ export async function* listSuitesPaginate( let hasNext = true; let page: ListSuitesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -38,7 +38,7 @@ export async function* listSuitesPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListTestGridProjectsPaginator.ts b/clients/client-device-farm/pagination/ListTestGridProjectsPaginator.ts index 260c50273c4d..a56c32fa4576 100644 --- a/clients/client-device-farm/pagination/ListTestGridProjectsPaginator.ts +++ b/clients/client-device-farm/pagination/ListTestGridProjectsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTestGridProjectsPaginate( let hasNext = true; let page: ListTestGridProjectsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResult"] = config.pageSize; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTestGridProjectsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListTestGridSessionActionsPaginator.ts b/clients/client-device-farm/pagination/ListTestGridSessionActionsPaginator.ts index 47306a487ae4..595364fee00e 100644 --- a/clients/client-device-farm/pagination/ListTestGridSessionActionsPaginator.ts +++ b/clients/client-device-farm/pagination/ListTestGridSessionActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTestGridSessionActionsPaginate( let hasNext = true; let page: ListTestGridSessionActionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResult"] = config.pageSize; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTestGridSessionActionsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListTestGridSessionArtifactsPaginator.ts b/clients/client-device-farm/pagination/ListTestGridSessionArtifactsPaginator.ts index 1c10d0e7802e..d537e5d81051 100644 --- a/clients/client-device-farm/pagination/ListTestGridSessionArtifactsPaginator.ts +++ b/clients/client-device-farm/pagination/ListTestGridSessionArtifactsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTestGridSessionArtifactsPaginate( let hasNext = true; let page: ListTestGridSessionArtifactsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResult"] = config.pageSize; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTestGridSessionArtifactsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListTestGridSessionsPaginator.ts b/clients/client-device-farm/pagination/ListTestGridSessionsPaginator.ts index 90a587c470bc..4f1c1560cc21 100644 --- a/clients/client-device-farm/pagination/ListTestGridSessionsPaginator.ts +++ b/clients/client-device-farm/pagination/ListTestGridSessionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTestGridSessionsPaginate( let hasNext = true; let page: ListTestGridSessionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResult"] = config.pageSize; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTestGridSessionsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListTestsPaginator.ts b/clients/client-device-farm/pagination/ListTestsPaginator.ts index a44b93ee7bc2..0d131a609761 100644 --- a/clients/client-device-farm/pagination/ListTestsPaginator.ts +++ b/clients/client-device-farm/pagination/ListTestsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTestsPaginate( let hasNext = true; let page: ListTestsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -38,7 +38,7 @@ export async function* listTestsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListUniqueProblemsPaginator.ts b/clients/client-device-farm/pagination/ListUniqueProblemsPaginator.ts index 3f43b84a9e94..3571f7d2e041 100644 --- a/clients/client-device-farm/pagination/ListUniqueProblemsPaginator.ts +++ b/clients/client-device-farm/pagination/ListUniqueProblemsPaginator.ts @@ -33,7 +33,7 @@ export async function* listUniqueProblemsPaginate( let hasNext = true; let page: ListUniqueProblemsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -42,7 +42,7 @@ export async function* listUniqueProblemsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-device-farm/pagination/ListUploadsPaginator.ts b/clients/client-device-farm/pagination/ListUploadsPaginator.ts index f2eeb8a390c9..b9427ac6672e 100644 --- a/clients/client-device-farm/pagination/ListUploadsPaginator.ts +++ b/clients/client-device-farm/pagination/ListUploadsPaginator.ts @@ -29,7 +29,7 @@ export async function* listUploadsPaginate( let hasNext = true; let page: ListUploadsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof DeviceFarm) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof DeviceFarmClient) { @@ -38,7 +38,7 @@ export async function* listUploadsPaginate( throw new Error("Invalid client, expected DeviceFarm | DeviceFarmClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-directory-service/pagination/DescribeDomainControllersPaginator.ts b/clients/client-directory-service/pagination/DescribeDomainControllersPaginator.ts index 8245493c8e28..ecd4b52f3e40 100644 --- a/clients/client-directory-service/pagination/DescribeDomainControllersPaginator.ts +++ b/clients/client-directory-service/pagination/DescribeDomainControllersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDomainControllersPaginate( let hasNext = true; let page: DescribeDomainControllersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof DirectoryService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDomainControllersPaginate( throw new Error("Invalid client, expected DirectoryService | DirectoryServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribeCertificatesPaginator.ts b/clients/client-docdb/pagination/DescribeCertificatesPaginator.ts index 3546796d33e5..3f2f764b347c 100644 --- a/clients/client-docdb/pagination/DescribeCertificatesPaginator.ts +++ b/clients/client-docdb/pagination/DescribeCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCertificatesPaginate( let hasNext = true; let page: DescribeCertificatesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCertificatesPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribeDBClusterParameterGroupsPaginator.ts b/clients/client-docdb/pagination/DescribeDBClusterParameterGroupsPaginator.ts index 01a25b048e43..7c4ec5dc612b 100644 --- a/clients/client-docdb/pagination/DescribeDBClusterParameterGroupsPaginator.ts +++ b/clients/client-docdb/pagination/DescribeDBClusterParameterGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBClusterParameterGroupsPaginate( let hasNext = true; let page: DescribeDBClusterParameterGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBClusterParameterGroupsPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribeDBClusterParametersPaginator.ts b/clients/client-docdb/pagination/DescribeDBClusterParametersPaginator.ts index 0d36c34d1142..9a958c5ed66d 100644 --- a/clients/client-docdb/pagination/DescribeDBClusterParametersPaginator.ts +++ b/clients/client-docdb/pagination/DescribeDBClusterParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBClusterParametersPaginate( let hasNext = true; let page: DescribeDBClusterParametersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBClusterParametersPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribeDBClusterSnapshotsPaginator.ts b/clients/client-docdb/pagination/DescribeDBClusterSnapshotsPaginator.ts index 4e3c85f8f5b8..cc8b1d1827ef 100644 --- a/clients/client-docdb/pagination/DescribeDBClusterSnapshotsPaginator.ts +++ b/clients/client-docdb/pagination/DescribeDBClusterSnapshotsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBClusterSnapshotsPaginate( let hasNext = true; let page: DescribeDBClusterSnapshotsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBClusterSnapshotsPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribeDBClustersPaginator.ts b/clients/client-docdb/pagination/DescribeDBClustersPaginator.ts index 0eb04373ac82..76c8498ecac1 100644 --- a/clients/client-docdb/pagination/DescribeDBClustersPaginator.ts +++ b/clients/client-docdb/pagination/DescribeDBClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBClustersPaginate( let hasNext = true; let page: DescribeDBClustersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBClustersPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribeDBEngineVersionsPaginator.ts b/clients/client-docdb/pagination/DescribeDBEngineVersionsPaginator.ts index fe9225584ed9..0beb924f7196 100644 --- a/clients/client-docdb/pagination/DescribeDBEngineVersionsPaginator.ts +++ b/clients/client-docdb/pagination/DescribeDBEngineVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBEngineVersionsPaginate( let hasNext = true; let page: DescribeDBEngineVersionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBEngineVersionsPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribeDBInstancesPaginator.ts b/clients/client-docdb/pagination/DescribeDBInstancesPaginator.ts index a4b426defbeb..bc7b15e3ef30 100644 --- a/clients/client-docdb/pagination/DescribeDBInstancesPaginator.ts +++ b/clients/client-docdb/pagination/DescribeDBInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBInstancesPaginate( let hasNext = true; let page: DescribeDBInstancesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBInstancesPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribeDBSubnetGroupsPaginator.ts b/clients/client-docdb/pagination/DescribeDBSubnetGroupsPaginator.ts index 9f4357a03604..5ecbb1c10481 100644 --- a/clients/client-docdb/pagination/DescribeDBSubnetGroupsPaginator.ts +++ b/clients/client-docdb/pagination/DescribeDBSubnetGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBSubnetGroupsPaginate( let hasNext = true; let page: DescribeDBSubnetGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBSubnetGroupsPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribeEventsPaginator.ts b/clients/client-docdb/pagination/DescribeEventsPaginator.ts index 0183703404ea..69addaf40dc7 100644 --- a/clients/client-docdb/pagination/DescribeEventsPaginator.ts +++ b/clients/client-docdb/pagination/DescribeEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventsPaginate( let hasNext = true; let page: DescribeEventsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventsPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts b/clients/client-docdb/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts index a7faa9f413dc..8c8478c307b1 100644 --- a/clients/client-docdb/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts +++ b/clients/client-docdb/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeOrderableDBInstanceOptionsPaginate( let hasNext = true; let page: DescribeOrderableDBInstanceOptionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeOrderableDBInstanceOptionsPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-docdb/pagination/DescribePendingMaintenanceActionsPaginator.ts b/clients/client-docdb/pagination/DescribePendingMaintenanceActionsPaginator.ts index cf2087f7beda..d9c7516aae8b 100644 --- a/clients/client-docdb/pagination/DescribePendingMaintenanceActionsPaginator.ts +++ b/clients/client-docdb/pagination/DescribePendingMaintenanceActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describePendingMaintenanceActionsPaginate( let hasNext = true; let page: DescribePendingMaintenanceActionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof DocDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePendingMaintenanceActionsPaginate( throw new Error("Invalid client, expected DocDB | DocDBClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-dynamodb/pagination/ListContributorInsightsPaginator.ts b/clients/client-dynamodb/pagination/ListContributorInsightsPaginator.ts index 01d72277ef1e..210612a4e3d3 100644 --- a/clients/client-dynamodb/pagination/ListContributorInsightsPaginator.ts +++ b/clients/client-dynamodb/pagination/ListContributorInsightsPaginator.ts @@ -33,7 +33,7 @@ export async function* listContributorInsightsPaginate( let hasNext = true; let page: ListContributorInsightsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof DynamoDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listContributorInsightsPaginate( throw new Error("Invalid client, expected DynamoDB | DynamoDBClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-dynamodb/pagination/ListTablesPaginator.ts b/clients/client-dynamodb/pagination/ListTablesPaginator.ts index 411c746c4328..ac76e3b218ec 100644 --- a/clients/client-dynamodb/pagination/ListTablesPaginator.ts +++ b/clients/client-dynamodb/pagination/ListTablesPaginator.ts @@ -29,7 +29,7 @@ export async function* listTablesPaginate( let hasNext = true; let page: ListTablesCommandOutput; while (hasNext) { - input["ExclusiveStartTableName"] = token; + input.ExclusiveStartTableName = token; input["Limit"] = config.pageSize; if (config.client instanceof DynamoDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTablesPaginate( throw new Error("Invalid client, expected DynamoDB | DynamoDBClient"); } yield page; - token = page["LastEvaluatedTableName"]; + token = page.LastEvaluatedTableName; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ebs/pagination/ListChangedBlocksPaginator.ts b/clients/client-ebs/pagination/ListChangedBlocksPaginator.ts index 412d174e6187..ba36fcaf4e1d 100644 --- a/clients/client-ebs/pagination/ListChangedBlocksPaginator.ts +++ b/clients/client-ebs/pagination/ListChangedBlocksPaginator.ts @@ -33,7 +33,7 @@ export async function* listChangedBlocksPaginate( let hasNext = true; let page: ListChangedBlocksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EBS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listChangedBlocksPaginate( throw new Error("Invalid client, expected EBS | EBSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ebs/pagination/ListSnapshotBlocksPaginator.ts b/clients/client-ebs/pagination/ListSnapshotBlocksPaginator.ts index 626a59bb0219..a45244b8f401 100644 --- a/clients/client-ebs/pagination/ListSnapshotBlocksPaginator.ts +++ b/clients/client-ebs/pagination/ListSnapshotBlocksPaginator.ts @@ -33,7 +33,7 @@ export async function* listSnapshotBlocksPaginate( let hasNext = true; let page: ListSnapshotBlocksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EBS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSnapshotBlocksPaginate( throw new Error("Invalid client, expected EBS | EBSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeCapacityReservationsPaginator.ts b/clients/client-ec2/pagination/DescribeCapacityReservationsPaginator.ts index bcf3fa25d83e..82573881a3a8 100644 --- a/clients/client-ec2/pagination/DescribeCapacityReservationsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeCapacityReservationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCapacityReservationsPaginate( let hasNext = true; let page: DescribeCapacityReservationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCapacityReservationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeCarrierGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeCarrierGatewaysPaginator.ts index 51aab6bc7df3..ca297f3bdaba 100644 --- a/clients/client-ec2/pagination/DescribeCarrierGatewaysPaginator.ts +++ b/clients/client-ec2/pagination/DescribeCarrierGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCarrierGatewaysPaginate( let hasNext = true; let page: DescribeCarrierGatewaysCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCarrierGatewaysPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeClassicLinkInstancesPaginator.ts b/clients/client-ec2/pagination/DescribeClassicLinkInstancesPaginator.ts index b1b7daa3703b..0324d686eb03 100644 --- a/clients/client-ec2/pagination/DescribeClassicLinkInstancesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeClassicLinkInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClassicLinkInstancesPaginate( let hasNext = true; let page: DescribeClassicLinkInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClassicLinkInstancesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeClientVpnAuthorizationRulesPaginator.ts b/clients/client-ec2/pagination/DescribeClientVpnAuthorizationRulesPaginator.ts index 27a202c1d498..136837f3a7c7 100644 --- a/clients/client-ec2/pagination/DescribeClientVpnAuthorizationRulesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeClientVpnAuthorizationRulesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClientVpnAuthorizationRulesPaginate( let hasNext = true; let page: DescribeClientVpnAuthorizationRulesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClientVpnAuthorizationRulesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeClientVpnConnectionsPaginator.ts b/clients/client-ec2/pagination/DescribeClientVpnConnectionsPaginator.ts index 07786906099a..7644e1cf3d6d 100644 --- a/clients/client-ec2/pagination/DescribeClientVpnConnectionsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeClientVpnConnectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClientVpnConnectionsPaginate( let hasNext = true; let page: DescribeClientVpnConnectionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClientVpnConnectionsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeClientVpnEndpointsPaginator.ts b/clients/client-ec2/pagination/DescribeClientVpnEndpointsPaginator.ts index e1d6c386ac12..2ab474240de6 100644 --- a/clients/client-ec2/pagination/DescribeClientVpnEndpointsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeClientVpnEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClientVpnEndpointsPaginate( let hasNext = true; let page: DescribeClientVpnEndpointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClientVpnEndpointsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeClientVpnRoutesPaginator.ts b/clients/client-ec2/pagination/DescribeClientVpnRoutesPaginator.ts index f092f62ee4dd..90e416638e98 100644 --- a/clients/client-ec2/pagination/DescribeClientVpnRoutesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeClientVpnRoutesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClientVpnRoutesPaginate( let hasNext = true; let page: DescribeClientVpnRoutesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClientVpnRoutesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeClientVpnTargetNetworksPaginator.ts b/clients/client-ec2/pagination/DescribeClientVpnTargetNetworksPaginator.ts index 6eaf7b7aba0f..0d1216edb25a 100644 --- a/clients/client-ec2/pagination/DescribeClientVpnTargetNetworksPaginator.ts +++ b/clients/client-ec2/pagination/DescribeClientVpnTargetNetworksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClientVpnTargetNetworksPaginate( let hasNext = true; let page: DescribeClientVpnTargetNetworksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClientVpnTargetNetworksPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeCoipPoolsPaginator.ts b/clients/client-ec2/pagination/DescribeCoipPoolsPaginator.ts index c1781079b568..dc9b52454400 100644 --- a/clients/client-ec2/pagination/DescribeCoipPoolsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeCoipPoolsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCoipPoolsPaginate( let hasNext = true; let page: DescribeCoipPoolsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCoipPoolsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeDhcpOptionsPaginator.ts b/clients/client-ec2/pagination/DescribeDhcpOptionsPaginator.ts index ab6f59eb5f56..ce8fba55acef 100644 --- a/clients/client-ec2/pagination/DescribeDhcpOptionsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeDhcpOptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDhcpOptionsPaginate( let hasNext = true; let page: DescribeDhcpOptionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDhcpOptionsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeEgressOnlyInternetGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeEgressOnlyInternetGatewaysPaginator.ts index f34521cd9acc..d30eafeec9e8 100644 --- a/clients/client-ec2/pagination/DescribeEgressOnlyInternetGatewaysPaginator.ts +++ b/clients/client-ec2/pagination/DescribeEgressOnlyInternetGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEgressOnlyInternetGatewaysPaginate( let hasNext = true; let page: DescribeEgressOnlyInternetGatewaysCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEgressOnlyInternetGatewaysPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeExportImageTasksPaginator.ts b/clients/client-ec2/pagination/DescribeExportImageTasksPaginator.ts index e33a658dbec5..f9ceb7100ee5 100644 --- a/clients/client-ec2/pagination/DescribeExportImageTasksPaginator.ts +++ b/clients/client-ec2/pagination/DescribeExportImageTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeExportImageTasksPaginate( let hasNext = true; let page: DescribeExportImageTasksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeExportImageTasksPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeFastSnapshotRestoresPaginator.ts b/clients/client-ec2/pagination/DescribeFastSnapshotRestoresPaginator.ts index 9aeab0458d01..a1cf8cd019a7 100644 --- a/clients/client-ec2/pagination/DescribeFastSnapshotRestoresPaginator.ts +++ b/clients/client-ec2/pagination/DescribeFastSnapshotRestoresPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFastSnapshotRestoresPaginate( let hasNext = true; let page: DescribeFastSnapshotRestoresCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFastSnapshotRestoresPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeFleetsPaginator.ts b/clients/client-ec2/pagination/DescribeFleetsPaginator.ts index 965a27417a5f..39141c958de7 100644 --- a/clients/client-ec2/pagination/DescribeFleetsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeFleetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFleetsPaginate( let hasNext = true; let page: DescribeFleetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFleetsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeFlowLogsPaginator.ts b/clients/client-ec2/pagination/DescribeFlowLogsPaginator.ts index 162886325da3..76cff937adc4 100644 --- a/clients/client-ec2/pagination/DescribeFlowLogsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeFlowLogsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFlowLogsPaginate( let hasNext = true; let page: DescribeFlowLogsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFlowLogsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeFpgaImagesPaginator.ts b/clients/client-ec2/pagination/DescribeFpgaImagesPaginator.ts index 3e439668ed53..a955729a0627 100644 --- a/clients/client-ec2/pagination/DescribeFpgaImagesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeFpgaImagesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFpgaImagesPaginate( let hasNext = true; let page: DescribeFpgaImagesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFpgaImagesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeHostReservationOfferingsPaginator.ts b/clients/client-ec2/pagination/DescribeHostReservationOfferingsPaginator.ts index 39f93fe974db..be9a1ad8570a 100644 --- a/clients/client-ec2/pagination/DescribeHostReservationOfferingsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeHostReservationOfferingsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeHostReservationOfferingsPaginate( let hasNext = true; let page: DescribeHostReservationOfferingsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeHostReservationOfferingsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeHostReservationsPaginator.ts b/clients/client-ec2/pagination/DescribeHostReservationsPaginator.ts index ddf9ea2693e5..4820495f498f 100644 --- a/clients/client-ec2/pagination/DescribeHostReservationsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeHostReservationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeHostReservationsPaginate( let hasNext = true; let page: DescribeHostReservationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeHostReservationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeHostsPaginator.ts b/clients/client-ec2/pagination/DescribeHostsPaginator.ts index 6c7b258cc72c..41b06c0ebf72 100644 --- a/clients/client-ec2/pagination/DescribeHostsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeHostsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeHostsPaginate( let hasNext = true; let page: DescribeHostsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeHostsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeIamInstanceProfileAssociationsPaginator.ts b/clients/client-ec2/pagination/DescribeIamInstanceProfileAssociationsPaginator.ts index add2f9b2fbd8..2e62f32005a2 100644 --- a/clients/client-ec2/pagination/DescribeIamInstanceProfileAssociationsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeIamInstanceProfileAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeIamInstanceProfileAssociationsPaginate( let hasNext = true; let page: DescribeIamInstanceProfileAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeIamInstanceProfileAssociationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeImportImageTasksPaginator.ts b/clients/client-ec2/pagination/DescribeImportImageTasksPaginator.ts index 7c62bf5d2072..ce40470a246d 100644 --- a/clients/client-ec2/pagination/DescribeImportImageTasksPaginator.ts +++ b/clients/client-ec2/pagination/DescribeImportImageTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeImportImageTasksPaginate( let hasNext = true; let page: DescribeImportImageTasksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeImportImageTasksPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeImportSnapshotTasksPaginator.ts b/clients/client-ec2/pagination/DescribeImportSnapshotTasksPaginator.ts index eb4402b2216b..5ed5d0a34a51 100644 --- a/clients/client-ec2/pagination/DescribeImportSnapshotTasksPaginator.ts +++ b/clients/client-ec2/pagination/DescribeImportSnapshotTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeImportSnapshotTasksPaginate( let hasNext = true; let page: DescribeImportSnapshotTasksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeImportSnapshotTasksPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeInstanceCreditSpecificationsPaginator.ts b/clients/client-ec2/pagination/DescribeInstanceCreditSpecificationsPaginator.ts index 54ea695daef7..1cc9b8d02503 100644 --- a/clients/client-ec2/pagination/DescribeInstanceCreditSpecificationsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeInstanceCreditSpecificationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstanceCreditSpecificationsPaginate( let hasNext = true; let page: DescribeInstanceCreditSpecificationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstanceCreditSpecificationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeInstanceStatusPaginator.ts b/clients/client-ec2/pagination/DescribeInstanceStatusPaginator.ts index 333231b07325..e698943efd73 100644 --- a/clients/client-ec2/pagination/DescribeInstanceStatusPaginator.ts +++ b/clients/client-ec2/pagination/DescribeInstanceStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstanceStatusPaginate( let hasNext = true; let page: DescribeInstanceStatusCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstanceStatusPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeInstanceTypeOfferingsPaginator.ts b/clients/client-ec2/pagination/DescribeInstanceTypeOfferingsPaginator.ts index d41674dd90ac..080a46c312c2 100644 --- a/clients/client-ec2/pagination/DescribeInstanceTypeOfferingsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeInstanceTypeOfferingsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstanceTypeOfferingsPaginate( let hasNext = true; let page: DescribeInstanceTypeOfferingsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstanceTypeOfferingsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeInstanceTypesPaginator.ts b/clients/client-ec2/pagination/DescribeInstanceTypesPaginator.ts index 4166c353ed78..74e5c28c1062 100644 --- a/clients/client-ec2/pagination/DescribeInstanceTypesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeInstanceTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstanceTypesPaginate( let hasNext = true; let page: DescribeInstanceTypesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstanceTypesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeInstancesPaginator.ts b/clients/client-ec2/pagination/DescribeInstancesPaginator.ts index 8b6ca885eb3a..9006797f40fc 100644 --- a/clients/client-ec2/pagination/DescribeInstancesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstancesPaginate( let hasNext = true; let page: DescribeInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstancesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeInternetGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeInternetGatewaysPaginator.ts index eabc5ebca435..09a48d0c7313 100644 --- a/clients/client-ec2/pagination/DescribeInternetGatewaysPaginator.ts +++ b/clients/client-ec2/pagination/DescribeInternetGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInternetGatewaysPaginate( let hasNext = true; let page: DescribeInternetGatewaysCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInternetGatewaysPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeIpv6PoolsPaginator.ts b/clients/client-ec2/pagination/DescribeIpv6PoolsPaginator.ts index 09e4160b3bb1..abcd6bcb0480 100644 --- a/clients/client-ec2/pagination/DescribeIpv6PoolsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeIpv6PoolsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeIpv6PoolsPaginate( let hasNext = true; let page: DescribeIpv6PoolsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeIpv6PoolsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeLaunchTemplateVersionsPaginator.ts b/clients/client-ec2/pagination/DescribeLaunchTemplateVersionsPaginator.ts index bc4258c14ab6..34df732727af 100644 --- a/clients/client-ec2/pagination/DescribeLaunchTemplateVersionsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeLaunchTemplateVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLaunchTemplateVersionsPaginate( let hasNext = true; let page: DescribeLaunchTemplateVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLaunchTemplateVersionsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeLaunchTemplatesPaginator.ts b/clients/client-ec2/pagination/DescribeLaunchTemplatesPaginator.ts index aa30b97d5196..1fcf3ec42c0c 100644 --- a/clients/client-ec2/pagination/DescribeLaunchTemplatesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeLaunchTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLaunchTemplatesPaginate( let hasNext = true; let page: DescribeLaunchTemplatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLaunchTemplatesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator.ts index a4de8832b619..c166c8373e71 100644 --- a/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLocalGatewayRouteTableVirtualInterfaceGroupAssoci let hasNext = true; let page: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLocalGatewayRouteTableVirtualInterfaceGroupAssoci throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVpcAssociationsPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVpcAssociationsPaginator.ts index 85efb54a89a5..f9c97db9a73b 100644 --- a/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVpcAssociationsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTableVpcAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLocalGatewayRouteTableVpcAssociationsPaginate( let hasNext = true; let page: DescribeLocalGatewayRouteTableVpcAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLocalGatewayRouteTableVpcAssociationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeLocalGatewayRouteTablesPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTablesPaginator.ts index 0737fca1b2e2..8b97055a328d 100644 --- a/clients/client-ec2/pagination/DescribeLocalGatewayRouteTablesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeLocalGatewayRouteTablesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLocalGatewayRouteTablesPaginate( let hasNext = true; let page: DescribeLocalGatewayRouteTablesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLocalGatewayRouteTablesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfaceGroupsPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfaceGroupsPaginator.ts index fddb34415980..5f73283bda4b 100644 --- a/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfaceGroupsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfaceGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLocalGatewayVirtualInterfaceGroupsPaginate( let hasNext = true; let page: DescribeLocalGatewayVirtualInterfaceGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLocalGatewayVirtualInterfaceGroupsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfacesPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfacesPaginator.ts index 1d0009c1d7bd..b90f023a0503 100644 --- a/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfacesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeLocalGatewayVirtualInterfacesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLocalGatewayVirtualInterfacesPaginate( let hasNext = true; let page: DescribeLocalGatewayVirtualInterfacesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLocalGatewayVirtualInterfacesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeLocalGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeLocalGatewaysPaginator.ts index 0c996be13e4a..ac4f89c7e038 100644 --- a/clients/client-ec2/pagination/DescribeLocalGatewaysPaginator.ts +++ b/clients/client-ec2/pagination/DescribeLocalGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLocalGatewaysPaginate( let hasNext = true; let page: DescribeLocalGatewaysCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeLocalGatewaysPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeManagedPrefixListsPaginator.ts b/clients/client-ec2/pagination/DescribeManagedPrefixListsPaginator.ts index e3ca6d5f73c5..97a76e8b8e64 100644 --- a/clients/client-ec2/pagination/DescribeManagedPrefixListsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeManagedPrefixListsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeManagedPrefixListsPaginate( let hasNext = true; let page: DescribeManagedPrefixListsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeManagedPrefixListsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeMovingAddressesPaginator.ts b/clients/client-ec2/pagination/DescribeMovingAddressesPaginator.ts index 4082a70eb953..36692e5c450a 100644 --- a/clients/client-ec2/pagination/DescribeMovingAddressesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeMovingAddressesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMovingAddressesPaginate( let hasNext = true; let page: DescribeMovingAddressesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMovingAddressesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeNatGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeNatGatewaysPaginator.ts index ec29a4621366..d7011d07c578 100644 --- a/clients/client-ec2/pagination/DescribeNatGatewaysPaginator.ts +++ b/clients/client-ec2/pagination/DescribeNatGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* describeNatGatewaysPaginate( let hasNext = true; let page: DescribeNatGatewaysCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeNatGatewaysPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeNetworkAclsPaginator.ts b/clients/client-ec2/pagination/DescribeNetworkAclsPaginator.ts index 48a891f9c95d..ef92c4a89866 100644 --- a/clients/client-ec2/pagination/DescribeNetworkAclsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeNetworkAclsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeNetworkAclsPaginate( let hasNext = true; let page: DescribeNetworkAclsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeNetworkAclsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeNetworkInterfacePermissionsPaginator.ts b/clients/client-ec2/pagination/DescribeNetworkInterfacePermissionsPaginator.ts index 21e2884a7d21..0081914ce746 100644 --- a/clients/client-ec2/pagination/DescribeNetworkInterfacePermissionsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeNetworkInterfacePermissionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeNetworkInterfacePermissionsPaginate( let hasNext = true; let page: DescribeNetworkInterfacePermissionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeNetworkInterfacePermissionsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeNetworkInterfacesPaginator.ts b/clients/client-ec2/pagination/DescribeNetworkInterfacesPaginator.ts index 1c35ff62734b..045bf375f6f6 100644 --- a/clients/client-ec2/pagination/DescribeNetworkInterfacesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeNetworkInterfacesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeNetworkInterfacesPaginate( let hasNext = true; let page: DescribeNetworkInterfacesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeNetworkInterfacesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribePrefixListsPaginator.ts b/clients/client-ec2/pagination/DescribePrefixListsPaginator.ts index a409c82d618f..7d002303cf2b 100644 --- a/clients/client-ec2/pagination/DescribePrefixListsPaginator.ts +++ b/clients/client-ec2/pagination/DescribePrefixListsPaginator.ts @@ -33,7 +33,7 @@ export async function* describePrefixListsPaginate( let hasNext = true; let page: DescribePrefixListsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePrefixListsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribePrincipalIdFormatPaginator.ts b/clients/client-ec2/pagination/DescribePrincipalIdFormatPaginator.ts index a24c42c4a988..e987b12975ea 100644 --- a/clients/client-ec2/pagination/DescribePrincipalIdFormatPaginator.ts +++ b/clients/client-ec2/pagination/DescribePrincipalIdFormatPaginator.ts @@ -33,7 +33,7 @@ export async function* describePrincipalIdFormatPaginate( let hasNext = true; let page: DescribePrincipalIdFormatCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePrincipalIdFormatPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribePublicIpv4PoolsPaginator.ts b/clients/client-ec2/pagination/DescribePublicIpv4PoolsPaginator.ts index 701df25ce9d3..f1be8f059801 100644 --- a/clients/client-ec2/pagination/DescribePublicIpv4PoolsPaginator.ts +++ b/clients/client-ec2/pagination/DescribePublicIpv4PoolsPaginator.ts @@ -33,7 +33,7 @@ export async function* describePublicIpv4PoolsPaginate( let hasNext = true; let page: DescribePublicIpv4PoolsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePublicIpv4PoolsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeReservedInstancesModificationsPaginator.ts b/clients/client-ec2/pagination/DescribeReservedInstancesModificationsPaginator.ts index 49dbdb011848..874e21dab4c3 100644 --- a/clients/client-ec2/pagination/DescribeReservedInstancesModificationsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeReservedInstancesModificationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReservedInstancesModificationsPaginate( let hasNext = true; let page: DescribeReservedInstancesModificationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof EC2Client) { @@ -42,7 +42,7 @@ export async function* describeReservedInstancesModificationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeReservedInstancesOfferingsPaginator.ts b/clients/client-ec2/pagination/DescribeReservedInstancesOfferingsPaginator.ts index 75a6e2e6a728..3180af04de80 100644 --- a/clients/client-ec2/pagination/DescribeReservedInstancesOfferingsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeReservedInstancesOfferingsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReservedInstancesOfferingsPaginate( let hasNext = true; let page: DescribeReservedInstancesOfferingsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReservedInstancesOfferingsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeRouteTablesPaginator.ts b/clients/client-ec2/pagination/DescribeRouteTablesPaginator.ts index 810ce8dc159a..d94a871c3656 100644 --- a/clients/client-ec2/pagination/DescribeRouteTablesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeRouteTablesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeRouteTablesPaginate( let hasNext = true; let page: DescribeRouteTablesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeRouteTablesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeScheduledInstanceAvailabilityPaginator.ts b/clients/client-ec2/pagination/DescribeScheduledInstanceAvailabilityPaginator.ts index 6e049e96e235..0617dae1a4b0 100644 --- a/clients/client-ec2/pagination/DescribeScheduledInstanceAvailabilityPaginator.ts +++ b/clients/client-ec2/pagination/DescribeScheduledInstanceAvailabilityPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScheduledInstanceAvailabilityPaginate( let hasNext = true; let page: DescribeScheduledInstanceAvailabilityCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScheduledInstanceAvailabilityPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeScheduledInstancesPaginator.ts b/clients/client-ec2/pagination/DescribeScheduledInstancesPaginator.ts index 757d0612b912..146023377871 100644 --- a/clients/client-ec2/pagination/DescribeScheduledInstancesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeScheduledInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScheduledInstancesPaginate( let hasNext = true; let page: DescribeScheduledInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScheduledInstancesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeSecurityGroupsPaginator.ts b/clients/client-ec2/pagination/DescribeSecurityGroupsPaginator.ts index 96acbdaf1e27..345397d1a8b3 100644 --- a/clients/client-ec2/pagination/DescribeSecurityGroupsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeSecurityGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSecurityGroupsPaginate( let hasNext = true; let page: DescribeSecurityGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSecurityGroupsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeSnapshotsPaginator.ts b/clients/client-ec2/pagination/DescribeSnapshotsPaginator.ts index 0fe5c764f794..529691ccbd8d 100644 --- a/clients/client-ec2/pagination/DescribeSnapshotsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeSnapshotsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSnapshotsPaginate( let hasNext = true; let page: DescribeSnapshotsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSnapshotsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeSpotFleetRequestsPaginator.ts b/clients/client-ec2/pagination/DescribeSpotFleetRequestsPaginator.ts index 458f4de5382f..5cf8c5e63239 100644 --- a/clients/client-ec2/pagination/DescribeSpotFleetRequestsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeSpotFleetRequestsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSpotFleetRequestsPaginate( let hasNext = true; let page: DescribeSpotFleetRequestsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSpotFleetRequestsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeSpotInstanceRequestsPaginator.ts b/clients/client-ec2/pagination/DescribeSpotInstanceRequestsPaginator.ts index b072c1bb8660..3482f28f6b3a 100644 --- a/clients/client-ec2/pagination/DescribeSpotInstanceRequestsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeSpotInstanceRequestsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSpotInstanceRequestsPaginate( let hasNext = true; let page: DescribeSpotInstanceRequestsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSpotInstanceRequestsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeSpotPriceHistoryPaginator.ts b/clients/client-ec2/pagination/DescribeSpotPriceHistoryPaginator.ts index 8656c413f99f..dfc1bb69b30c 100644 --- a/clients/client-ec2/pagination/DescribeSpotPriceHistoryPaginator.ts +++ b/clients/client-ec2/pagination/DescribeSpotPriceHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSpotPriceHistoryPaginate( let hasNext = true; let page: DescribeSpotPriceHistoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSpotPriceHistoryPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeStaleSecurityGroupsPaginator.ts b/clients/client-ec2/pagination/DescribeStaleSecurityGroupsPaginator.ts index 7f481d7041bc..f617f4d266c1 100644 --- a/clients/client-ec2/pagination/DescribeStaleSecurityGroupsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeStaleSecurityGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeStaleSecurityGroupsPaginate( let hasNext = true; let page: DescribeStaleSecurityGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeStaleSecurityGroupsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeSubnetsPaginator.ts b/clients/client-ec2/pagination/DescribeSubnetsPaginator.ts index ec3d6b33ab0a..210ec762f763 100644 --- a/clients/client-ec2/pagination/DescribeSubnetsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeSubnetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSubnetsPaginate( let hasNext = true; let page: DescribeSubnetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSubnetsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeTagsPaginator.ts b/clients/client-ec2/pagination/DescribeTagsPaginator.ts index 847206dd41d0..5c0e06aa82cb 100644 --- a/clients/client-ec2/pagination/DescribeTagsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeTagsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTagsPaginate( let hasNext = true; let page: DescribeTagsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTagsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeTrafficMirrorFiltersPaginator.ts b/clients/client-ec2/pagination/DescribeTrafficMirrorFiltersPaginator.ts index 40c4676b9631..d541fcd08628 100644 --- a/clients/client-ec2/pagination/DescribeTrafficMirrorFiltersPaginator.ts +++ b/clients/client-ec2/pagination/DescribeTrafficMirrorFiltersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTrafficMirrorFiltersPaginate( let hasNext = true; let page: DescribeTrafficMirrorFiltersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTrafficMirrorFiltersPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeTrafficMirrorSessionsPaginator.ts b/clients/client-ec2/pagination/DescribeTrafficMirrorSessionsPaginator.ts index 492fc1221c4c..8d5e6af44c0c 100644 --- a/clients/client-ec2/pagination/DescribeTrafficMirrorSessionsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeTrafficMirrorSessionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTrafficMirrorSessionsPaginate( let hasNext = true; let page: DescribeTrafficMirrorSessionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTrafficMirrorSessionsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeTrafficMirrorTargetsPaginator.ts b/clients/client-ec2/pagination/DescribeTrafficMirrorTargetsPaginator.ts index 56c1ad4e68c5..8fa25612b3e6 100644 --- a/clients/client-ec2/pagination/DescribeTrafficMirrorTargetsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeTrafficMirrorTargetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTrafficMirrorTargetsPaginate( let hasNext = true; let page: DescribeTrafficMirrorTargetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTrafficMirrorTargetsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeTransitGatewayAttachmentsPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewayAttachmentsPaginator.ts index 10ad15d9d2ea..9b1f5b3b8665 100644 --- a/clients/client-ec2/pagination/DescribeTransitGatewayAttachmentsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeTransitGatewayAttachmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTransitGatewayAttachmentsPaginate( let hasNext = true; let page: DescribeTransitGatewayAttachmentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTransitGatewayAttachmentsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeTransitGatewayMulticastDomainsPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewayMulticastDomainsPaginator.ts index 176a538dc5ea..97e019b7cd40 100644 --- a/clients/client-ec2/pagination/DescribeTransitGatewayMulticastDomainsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeTransitGatewayMulticastDomainsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTransitGatewayMulticastDomainsPaginate( let hasNext = true; let page: DescribeTransitGatewayMulticastDomainsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTransitGatewayMulticastDomainsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeTransitGatewayPeeringAttachmentsPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewayPeeringAttachmentsPaginator.ts index 53b9b3595d7e..908c2e80a1f1 100644 --- a/clients/client-ec2/pagination/DescribeTransitGatewayPeeringAttachmentsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeTransitGatewayPeeringAttachmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTransitGatewayPeeringAttachmentsPaginate( let hasNext = true; let page: DescribeTransitGatewayPeeringAttachmentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTransitGatewayPeeringAttachmentsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeTransitGatewayRouteTablesPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewayRouteTablesPaginator.ts index 67748150e2c1..8678a0e611b5 100644 --- a/clients/client-ec2/pagination/DescribeTransitGatewayRouteTablesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeTransitGatewayRouteTablesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTransitGatewayRouteTablesPaginate( let hasNext = true; let page: DescribeTransitGatewayRouteTablesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTransitGatewayRouteTablesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeTransitGatewayVpcAttachmentsPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewayVpcAttachmentsPaginator.ts index 2af1a2c69c20..a6a5ea03c42d 100644 --- a/clients/client-ec2/pagination/DescribeTransitGatewayVpcAttachmentsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeTransitGatewayVpcAttachmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTransitGatewayVpcAttachmentsPaginate( let hasNext = true; let page: DescribeTransitGatewayVpcAttachmentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTransitGatewayVpcAttachmentsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeTransitGatewaysPaginator.ts b/clients/client-ec2/pagination/DescribeTransitGatewaysPaginator.ts index 2ee6ba0f0b36..e375f89ff5d7 100644 --- a/clients/client-ec2/pagination/DescribeTransitGatewaysPaginator.ts +++ b/clients/client-ec2/pagination/DescribeTransitGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTransitGatewaysPaginate( let hasNext = true; let page: DescribeTransitGatewaysCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTransitGatewaysPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVolumeStatusPaginator.ts b/clients/client-ec2/pagination/DescribeVolumeStatusPaginator.ts index deecd14f5e18..0763b10cdbca 100644 --- a/clients/client-ec2/pagination/DescribeVolumeStatusPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVolumeStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVolumeStatusPaginate( let hasNext = true; let page: DescribeVolumeStatusCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVolumeStatusPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVolumesModificationsPaginator.ts b/clients/client-ec2/pagination/DescribeVolumesModificationsPaginator.ts index 2fcf17d77565..d3a250878420 100644 --- a/clients/client-ec2/pagination/DescribeVolumesModificationsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVolumesModificationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVolumesModificationsPaginate( let hasNext = true; let page: DescribeVolumesModificationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVolumesModificationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVolumesPaginator.ts b/clients/client-ec2/pagination/DescribeVolumesPaginator.ts index bd29634864c5..cea7a191d5bb 100644 --- a/clients/client-ec2/pagination/DescribeVolumesPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVolumesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVolumesPaginate( let hasNext = true; let page: DescribeVolumesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVolumesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVpcClassicLinkDnsSupportPaginator.ts b/clients/client-ec2/pagination/DescribeVpcClassicLinkDnsSupportPaginator.ts index 31a637ddee7b..80082a38930d 100644 --- a/clients/client-ec2/pagination/DescribeVpcClassicLinkDnsSupportPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVpcClassicLinkDnsSupportPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVpcClassicLinkDnsSupportPaginate( let hasNext = true; let page: DescribeVpcClassicLinkDnsSupportCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVpcClassicLinkDnsSupportPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVpcEndpointConnectionNotificationsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcEndpointConnectionNotificationsPaginator.ts index 2c7753f281aa..7517eb42c320 100644 --- a/clients/client-ec2/pagination/DescribeVpcEndpointConnectionNotificationsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVpcEndpointConnectionNotificationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVpcEndpointConnectionNotificationsPaginate( let hasNext = true; let page: DescribeVpcEndpointConnectionNotificationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVpcEndpointConnectionNotificationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVpcEndpointConnectionsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcEndpointConnectionsPaginator.ts index 1e82fa6123a0..05e65fb4a2ee 100644 --- a/clients/client-ec2/pagination/DescribeVpcEndpointConnectionsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVpcEndpointConnectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVpcEndpointConnectionsPaginate( let hasNext = true; let page: DescribeVpcEndpointConnectionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVpcEndpointConnectionsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVpcEndpointServiceConfigurationsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcEndpointServiceConfigurationsPaginator.ts index 853d5c877b8e..6d7fbbb43b3d 100644 --- a/clients/client-ec2/pagination/DescribeVpcEndpointServiceConfigurationsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVpcEndpointServiceConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVpcEndpointServiceConfigurationsPaginate( let hasNext = true; let page: DescribeVpcEndpointServiceConfigurationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVpcEndpointServiceConfigurationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVpcEndpointServicePermissionsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcEndpointServicePermissionsPaginator.ts index c622a565365a..71c010d211b5 100644 --- a/clients/client-ec2/pagination/DescribeVpcEndpointServicePermissionsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVpcEndpointServicePermissionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVpcEndpointServicePermissionsPaginate( let hasNext = true; let page: DescribeVpcEndpointServicePermissionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVpcEndpointServicePermissionsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVpcEndpointsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcEndpointsPaginator.ts index 0c280f5c34fb..787a05e67867 100644 --- a/clients/client-ec2/pagination/DescribeVpcEndpointsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVpcEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVpcEndpointsPaginate( let hasNext = true; let page: DescribeVpcEndpointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVpcEndpointsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVpcPeeringConnectionsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcPeeringConnectionsPaginator.ts index 3ff7ea0f4bd8..436ab260b7d5 100644 --- a/clients/client-ec2/pagination/DescribeVpcPeeringConnectionsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVpcPeeringConnectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVpcPeeringConnectionsPaginate( let hasNext = true; let page: DescribeVpcPeeringConnectionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVpcPeeringConnectionsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/DescribeVpcsPaginator.ts b/clients/client-ec2/pagination/DescribeVpcsPaginator.ts index cad3751bbf2c..045830049f4c 100644 --- a/clients/client-ec2/pagination/DescribeVpcsPaginator.ts +++ b/clients/client-ec2/pagination/DescribeVpcsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVpcsPaginate( let hasNext = true; let page: DescribeVpcsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVpcsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/GetAssociatedIpv6PoolCidrsPaginator.ts b/clients/client-ec2/pagination/GetAssociatedIpv6PoolCidrsPaginator.ts index f174a1b8839e..105e17108feb 100644 --- a/clients/client-ec2/pagination/GetAssociatedIpv6PoolCidrsPaginator.ts +++ b/clients/client-ec2/pagination/GetAssociatedIpv6PoolCidrsPaginator.ts @@ -33,7 +33,7 @@ export async function* getAssociatedIpv6PoolCidrsPaginate( let hasNext = true; let page: GetAssociatedIpv6PoolCidrsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getAssociatedIpv6PoolCidrsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/GetGroupsForCapacityReservationPaginator.ts b/clients/client-ec2/pagination/GetGroupsForCapacityReservationPaginator.ts index 0ceb0fc1ec75..9aa2e02cf39b 100644 --- a/clients/client-ec2/pagination/GetGroupsForCapacityReservationPaginator.ts +++ b/clients/client-ec2/pagination/GetGroupsForCapacityReservationPaginator.ts @@ -33,7 +33,7 @@ export async function* getGroupsForCapacityReservationPaginate( let hasNext = true; let page: GetGroupsForCapacityReservationCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getGroupsForCapacityReservationPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/GetManagedPrefixListAssociationsPaginator.ts b/clients/client-ec2/pagination/GetManagedPrefixListAssociationsPaginator.ts index 4348e454d1b3..599d64f0def7 100644 --- a/clients/client-ec2/pagination/GetManagedPrefixListAssociationsPaginator.ts +++ b/clients/client-ec2/pagination/GetManagedPrefixListAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getManagedPrefixListAssociationsPaginate( let hasNext = true; let page: GetManagedPrefixListAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getManagedPrefixListAssociationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/GetManagedPrefixListEntriesPaginator.ts b/clients/client-ec2/pagination/GetManagedPrefixListEntriesPaginator.ts index 0a4eb7a79fb2..fd6a96d5a2b6 100644 --- a/clients/client-ec2/pagination/GetManagedPrefixListEntriesPaginator.ts +++ b/clients/client-ec2/pagination/GetManagedPrefixListEntriesPaginator.ts @@ -33,7 +33,7 @@ export async function* getManagedPrefixListEntriesPaginate( let hasNext = true; let page: GetManagedPrefixListEntriesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getManagedPrefixListEntriesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/GetTransitGatewayAttachmentPropagationsPaginator.ts b/clients/client-ec2/pagination/GetTransitGatewayAttachmentPropagationsPaginator.ts index 9420950712c4..fc1ce36992a9 100644 --- a/clients/client-ec2/pagination/GetTransitGatewayAttachmentPropagationsPaginator.ts +++ b/clients/client-ec2/pagination/GetTransitGatewayAttachmentPropagationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getTransitGatewayAttachmentPropagationsPaginate( let hasNext = true; let page: GetTransitGatewayAttachmentPropagationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getTransitGatewayAttachmentPropagationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/GetTransitGatewayMulticastDomainAssociationsPaginator.ts b/clients/client-ec2/pagination/GetTransitGatewayMulticastDomainAssociationsPaginator.ts index 7c55412306f8..0671a00b8c5d 100644 --- a/clients/client-ec2/pagination/GetTransitGatewayMulticastDomainAssociationsPaginator.ts +++ b/clients/client-ec2/pagination/GetTransitGatewayMulticastDomainAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getTransitGatewayMulticastDomainAssociationsPaginate( let hasNext = true; let page: GetTransitGatewayMulticastDomainAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getTransitGatewayMulticastDomainAssociationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/GetTransitGatewayPrefixListReferencesPaginator.ts b/clients/client-ec2/pagination/GetTransitGatewayPrefixListReferencesPaginator.ts index 485bc5cf65d8..e1774101aec5 100644 --- a/clients/client-ec2/pagination/GetTransitGatewayPrefixListReferencesPaginator.ts +++ b/clients/client-ec2/pagination/GetTransitGatewayPrefixListReferencesPaginator.ts @@ -33,7 +33,7 @@ export async function* getTransitGatewayPrefixListReferencesPaginate( let hasNext = true; let page: GetTransitGatewayPrefixListReferencesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getTransitGatewayPrefixListReferencesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/GetTransitGatewayRouteTableAssociationsPaginator.ts b/clients/client-ec2/pagination/GetTransitGatewayRouteTableAssociationsPaginator.ts index 4877c7c0ec02..7324100702eb 100644 --- a/clients/client-ec2/pagination/GetTransitGatewayRouteTableAssociationsPaginator.ts +++ b/clients/client-ec2/pagination/GetTransitGatewayRouteTableAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getTransitGatewayRouteTableAssociationsPaginate( let hasNext = true; let page: GetTransitGatewayRouteTableAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getTransitGatewayRouteTableAssociationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/GetTransitGatewayRouteTablePropagationsPaginator.ts b/clients/client-ec2/pagination/GetTransitGatewayRouteTablePropagationsPaginator.ts index fbec6cf439a3..f934b1025b85 100644 --- a/clients/client-ec2/pagination/GetTransitGatewayRouteTablePropagationsPaginator.ts +++ b/clients/client-ec2/pagination/GetTransitGatewayRouteTablePropagationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getTransitGatewayRouteTablePropagationsPaginate( let hasNext = true; let page: GetTransitGatewayRouteTablePropagationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getTransitGatewayRouteTablePropagationsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/SearchLocalGatewayRoutesPaginator.ts b/clients/client-ec2/pagination/SearchLocalGatewayRoutesPaginator.ts index 675691265966..426f14e34b9a 100644 --- a/clients/client-ec2/pagination/SearchLocalGatewayRoutesPaginator.ts +++ b/clients/client-ec2/pagination/SearchLocalGatewayRoutesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchLocalGatewayRoutesPaginate( let hasNext = true; let page: SearchLocalGatewayRoutesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchLocalGatewayRoutesPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ec2/pagination/SearchTransitGatewayMulticastGroupsPaginator.ts b/clients/client-ec2/pagination/SearchTransitGatewayMulticastGroupsPaginator.ts index 9a1da10e0ab5..d2e3e8b62e27 100644 --- a/clients/client-ec2/pagination/SearchTransitGatewayMulticastGroupsPaginator.ts +++ b/clients/client-ec2/pagination/SearchTransitGatewayMulticastGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchTransitGatewayMulticastGroupsPaginate( let hasNext = true; let page: SearchTransitGatewayMulticastGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EC2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchTransitGatewayMulticastGroupsPaginate( throw new Error("Invalid client, expected EC2 | EC2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecr/pagination/DescribeImageScanFindingsPaginator.ts b/clients/client-ecr/pagination/DescribeImageScanFindingsPaginator.ts index f3e8970b0d3b..41cebb7e22b5 100644 --- a/clients/client-ecr/pagination/DescribeImageScanFindingsPaginator.ts +++ b/clients/client-ecr/pagination/DescribeImageScanFindingsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeImageScanFindingsPaginate( let hasNext = true; let page: DescribeImageScanFindingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECR) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeImageScanFindingsPaginate( throw new Error("Invalid client, expected ECR | ECRClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecr/pagination/DescribeImagesPaginator.ts b/clients/client-ecr/pagination/DescribeImagesPaginator.ts index 2ae82eb33e3f..4e36fdd6452d 100644 --- a/clients/client-ecr/pagination/DescribeImagesPaginator.ts +++ b/clients/client-ecr/pagination/DescribeImagesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeImagesPaginate( let hasNext = true; let page: DescribeImagesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECR) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeImagesPaginate( throw new Error("Invalid client, expected ECR | ECRClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecr/pagination/DescribeRepositoriesPaginator.ts b/clients/client-ecr/pagination/DescribeRepositoriesPaginator.ts index 90d28dfe17d4..de6ca12e4762 100644 --- a/clients/client-ecr/pagination/DescribeRepositoriesPaginator.ts +++ b/clients/client-ecr/pagination/DescribeRepositoriesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeRepositoriesPaginate( let hasNext = true; let page: DescribeRepositoriesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECR) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeRepositoriesPaginate( throw new Error("Invalid client, expected ECR | ECRClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecr/pagination/GetLifecyclePolicyPreviewPaginator.ts b/clients/client-ecr/pagination/GetLifecyclePolicyPreviewPaginator.ts index 34bd569496f7..87a61b373b79 100644 --- a/clients/client-ecr/pagination/GetLifecyclePolicyPreviewPaginator.ts +++ b/clients/client-ecr/pagination/GetLifecyclePolicyPreviewPaginator.ts @@ -33,7 +33,7 @@ export async function* getLifecyclePolicyPreviewPaginate( let hasNext = true; let page: GetLifecyclePolicyPreviewCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECR) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getLifecyclePolicyPreviewPaginate( throw new Error("Invalid client, expected ECR | ECRClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecr/pagination/ListImagesPaginator.ts b/clients/client-ecr/pagination/ListImagesPaginator.ts index 1be617725443..59108aeae4a6 100644 --- a/clients/client-ecr/pagination/ListImagesPaginator.ts +++ b/clients/client-ecr/pagination/ListImagesPaginator.ts @@ -29,7 +29,7 @@ export async function* listImagesPaginate( let hasNext = true; let page: ListImagesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECR) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listImagesPaginate( throw new Error("Invalid client, expected ECR | ECRClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecs/pagination/ListAccountSettingsPaginator.ts b/clients/client-ecs/pagination/ListAccountSettingsPaginator.ts index ba3d345411e4..138b0642c189 100644 --- a/clients/client-ecs/pagination/ListAccountSettingsPaginator.ts +++ b/clients/client-ecs/pagination/ListAccountSettingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountSettingsPaginate( let hasNext = true; let page: ListAccountSettingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountSettingsPaginate( throw new Error("Invalid client, expected ECS | ECSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecs/pagination/ListAttributesPaginator.ts b/clients/client-ecs/pagination/ListAttributesPaginator.ts index 796d95056e0b..4eb63d848f8d 100644 --- a/clients/client-ecs/pagination/ListAttributesPaginator.ts +++ b/clients/client-ecs/pagination/ListAttributesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAttributesPaginate( let hasNext = true; let page: ListAttributesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAttributesPaginate( throw new Error("Invalid client, expected ECS | ECSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecs/pagination/ListClustersPaginator.ts b/clients/client-ecs/pagination/ListClustersPaginator.ts index 968d41c09b10..4bad3cf99c68 100644 --- a/clients/client-ecs/pagination/ListClustersPaginator.ts +++ b/clients/client-ecs/pagination/ListClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* listClustersPaginate( let hasNext = true; let page: ListClustersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listClustersPaginate( throw new Error("Invalid client, expected ECS | ECSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecs/pagination/ListContainerInstancesPaginator.ts b/clients/client-ecs/pagination/ListContainerInstancesPaginator.ts index d0598772436c..e8539de997cf 100644 --- a/clients/client-ecs/pagination/ListContainerInstancesPaginator.ts +++ b/clients/client-ecs/pagination/ListContainerInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* listContainerInstancesPaginate( let hasNext = true; let page: ListContainerInstancesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listContainerInstancesPaginate( throw new Error("Invalid client, expected ECS | ECSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecs/pagination/ListServicesPaginator.ts b/clients/client-ecs/pagination/ListServicesPaginator.ts index c75c7c0c9982..fbd224f85fec 100644 --- a/clients/client-ecs/pagination/ListServicesPaginator.ts +++ b/clients/client-ecs/pagination/ListServicesPaginator.ts @@ -33,7 +33,7 @@ export async function* listServicesPaginate( let hasNext = true; let page: ListServicesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listServicesPaginate( throw new Error("Invalid client, expected ECS | ECSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecs/pagination/ListTaskDefinitionFamiliesPaginator.ts b/clients/client-ecs/pagination/ListTaskDefinitionFamiliesPaginator.ts index 8022ccd0811e..0475f35bdbb8 100644 --- a/clients/client-ecs/pagination/ListTaskDefinitionFamiliesPaginator.ts +++ b/clients/client-ecs/pagination/ListTaskDefinitionFamiliesPaginator.ts @@ -33,7 +33,7 @@ export async function* listTaskDefinitionFamiliesPaginate( let hasNext = true; let page: ListTaskDefinitionFamiliesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTaskDefinitionFamiliesPaginate( throw new Error("Invalid client, expected ECS | ECSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecs/pagination/ListTaskDefinitionsPaginator.ts b/clients/client-ecs/pagination/ListTaskDefinitionsPaginator.ts index 66b1a9528507..a0b829f02ac0 100644 --- a/clients/client-ecs/pagination/ListTaskDefinitionsPaginator.ts +++ b/clients/client-ecs/pagination/ListTaskDefinitionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTaskDefinitionsPaginate( let hasNext = true; let page: ListTaskDefinitionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTaskDefinitionsPaginate( throw new Error("Invalid client, expected ECS | ECSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ecs/pagination/ListTasksPaginator.ts b/clients/client-ecs/pagination/ListTasksPaginator.ts index f79c5fe35d18..bc03325d3a2f 100644 --- a/clients/client-ecs/pagination/ListTasksPaginator.ts +++ b/clients/client-ecs/pagination/ListTasksPaginator.ts @@ -29,7 +29,7 @@ export async function* listTasksPaginate( let hasNext = true; let page: ListTasksCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ECS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTasksPaginate( throw new Error("Invalid client, expected ECS | ECSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-efs/pagination/DescribeAccessPointsPaginator.ts b/clients/client-efs/pagination/DescribeAccessPointsPaginator.ts index 5f1b05519919..095281f01de3 100644 --- a/clients/client-efs/pagination/DescribeAccessPointsPaginator.ts +++ b/clients/client-efs/pagination/DescribeAccessPointsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAccessPointsPaginate( let hasNext = true; let page: DescribeAccessPointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EFS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAccessPointsPaginate( throw new Error("Invalid client, expected EFS | EFSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-efs/pagination/DescribeFileSystemsPaginator.ts b/clients/client-efs/pagination/DescribeFileSystemsPaginator.ts index 84b055178851..1fceed6a4455 100644 --- a/clients/client-efs/pagination/DescribeFileSystemsPaginator.ts +++ b/clients/client-efs/pagination/DescribeFileSystemsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFileSystemsPaginate( let hasNext = true; let page: DescribeFileSystemsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof EFS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFileSystemsPaginate( throw new Error("Invalid client, expected EFS | EFSClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-efs/pagination/DescribeTagsPaginator.ts b/clients/client-efs/pagination/DescribeTagsPaginator.ts index e3ca2f9736c4..4b5672bac6ce 100644 --- a/clients/client-efs/pagination/DescribeTagsPaginator.ts +++ b/clients/client-efs/pagination/DescribeTagsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTagsPaginate( let hasNext = true; let page: DescribeTagsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof EFS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTagsPaginate( throw new Error("Invalid client, expected EFS | EFSClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-efs/pagination/ListTagsForResourcePaginator.ts b/clients/client-efs/pagination/ListTagsForResourcePaginator.ts index 4c0258e04752..2eec5673b8e2 100644 --- a/clients/client-efs/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-efs/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof EFS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected EFS | EFSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-eks/pagination/ListClustersPaginator.ts b/clients/client-eks/pagination/ListClustersPaginator.ts index 4d87ffea05c8..32e9b9e0fcc2 100644 --- a/clients/client-eks/pagination/ListClustersPaginator.ts +++ b/clients/client-eks/pagination/ListClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* listClustersPaginate( let hasNext = true; let page: ListClustersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof EKS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listClustersPaginate( throw new Error("Invalid client, expected EKS | EKSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-eks/pagination/ListFargateProfilesPaginator.ts b/clients/client-eks/pagination/ListFargateProfilesPaginator.ts index ff7c02007832..2bb6bd527fe4 100644 --- a/clients/client-eks/pagination/ListFargateProfilesPaginator.ts +++ b/clients/client-eks/pagination/ListFargateProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* listFargateProfilesPaginate( let hasNext = true; let page: ListFargateProfilesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof EKS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFargateProfilesPaginate( throw new Error("Invalid client, expected EKS | EKSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-eks/pagination/ListNodegroupsPaginator.ts b/clients/client-eks/pagination/ListNodegroupsPaginator.ts index b2f4c4a3d3b3..2a860848eefe 100644 --- a/clients/client-eks/pagination/ListNodegroupsPaginator.ts +++ b/clients/client-eks/pagination/ListNodegroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listNodegroupsPaginate( let hasNext = true; let page: ListNodegroupsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof EKS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listNodegroupsPaginate( throw new Error("Invalid client, expected EKS | EKSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-eks/pagination/ListUpdatesPaginator.ts b/clients/client-eks/pagination/ListUpdatesPaginator.ts index 1e26b2b25953..bacd1e0b9d26 100644 --- a/clients/client-eks/pagination/ListUpdatesPaginator.ts +++ b/clients/client-eks/pagination/ListUpdatesPaginator.ts @@ -29,7 +29,7 @@ export async function* listUpdatesPaginate( let hasNext = true; let page: ListUpdatesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof EKS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listUpdatesPaginate( throw new Error("Invalid client, expected EKS | EKSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-beanstalk/pagination/DescribeEnvironmentManagedActionHistoryPaginator.ts b/clients/client-elastic-beanstalk/pagination/DescribeEnvironmentManagedActionHistoryPaginator.ts index 024a23f4e31f..36c0840f7b25 100644 --- a/clients/client-elastic-beanstalk/pagination/DescribeEnvironmentManagedActionHistoryPaginator.ts +++ b/clients/client-elastic-beanstalk/pagination/DescribeEnvironmentManagedActionHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEnvironmentManagedActionHistoryPaginate( let hasNext = true; let page: DescribeEnvironmentManagedActionHistoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxItems"] = config.pageSize; if (config.client instanceof ElasticBeanstalk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEnvironmentManagedActionHistoryPaginate( throw new Error("Invalid client, expected ElasticBeanstalk | ElasticBeanstalkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-beanstalk/pagination/DescribeEventsPaginator.ts b/clients/client-elastic-beanstalk/pagination/DescribeEventsPaginator.ts index f3ea5f152564..2484852cdc15 100644 --- a/clients/client-elastic-beanstalk/pagination/DescribeEventsPaginator.ts +++ b/clients/client-elastic-beanstalk/pagination/DescribeEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventsPaginate( let hasNext = true; let page: DescribeEventsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElasticBeanstalk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventsPaginate( throw new Error("Invalid client, expected ElasticBeanstalk | ElasticBeanstalkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-beanstalk/pagination/ListPlatformBranchesPaginator.ts b/clients/client-elastic-beanstalk/pagination/ListPlatformBranchesPaginator.ts index 095b64f0364e..9fc9e91ff168 100644 --- a/clients/client-elastic-beanstalk/pagination/ListPlatformBranchesPaginator.ts +++ b/clients/client-elastic-beanstalk/pagination/ListPlatformBranchesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPlatformBranchesPaginate( let hasNext = true; let page: ListPlatformBranchesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElasticBeanstalk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPlatformBranchesPaginate( throw new Error("Invalid client, expected ElasticBeanstalk | ElasticBeanstalkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-beanstalk/pagination/ListPlatformVersionsPaginator.ts b/clients/client-elastic-beanstalk/pagination/ListPlatformVersionsPaginator.ts index 5789cf91515c..7f40c59d4916 100644 --- a/clients/client-elastic-beanstalk/pagination/ListPlatformVersionsPaginator.ts +++ b/clients/client-elastic-beanstalk/pagination/ListPlatformVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPlatformVersionsPaginate( let hasNext = true; let page: ListPlatformVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElasticBeanstalk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPlatformVersionsPaginate( throw new Error("Invalid client, expected ElasticBeanstalk | ElasticBeanstalkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-inference/pagination/DescribeAcceleratorsPaginator.ts b/clients/client-elastic-inference/pagination/DescribeAcceleratorsPaginator.ts index 2284a66ffc54..dccac17c0444 100644 --- a/clients/client-elastic-inference/pagination/DescribeAcceleratorsPaginator.ts +++ b/clients/client-elastic-inference/pagination/DescribeAcceleratorsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAcceleratorsPaginate( let hasNext = true; let page: DescribeAcceleratorsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ElasticInference) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAcceleratorsPaginate( throw new Error("Invalid client, expected ElasticInference | ElasticInferenceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-load-balancing-v2/pagination/DescribeListenersPaginator.ts b/clients/client-elastic-load-balancing-v2/pagination/DescribeListenersPaginator.ts index 8f85cd2839f2..b99c897364d0 100644 --- a/clients/client-elastic-load-balancing-v2/pagination/DescribeListenersPaginator.ts +++ b/clients/client-elastic-load-balancing-v2/pagination/DescribeListenersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeListenersPaginate( let hasNext = true; let page: DescribeListenersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof ElasticLoadBalancingV2) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof ElasticLoadBalancingV2Client) { @@ -42,7 +42,7 @@ export async function* describeListenersPaginate( throw new Error("Invalid client, expected ElasticLoadBalancingV2 | ElasticLoadBalancingV2Client"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-load-balancing-v2/pagination/DescribeLoadBalancersPaginator.ts b/clients/client-elastic-load-balancing-v2/pagination/DescribeLoadBalancersPaginator.ts index 8bb7831a977e..7db6f9615110 100644 --- a/clients/client-elastic-load-balancing-v2/pagination/DescribeLoadBalancersPaginator.ts +++ b/clients/client-elastic-load-balancing-v2/pagination/DescribeLoadBalancersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLoadBalancersPaginate( let hasNext = true; let page: DescribeLoadBalancersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof ElasticLoadBalancingV2) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof ElasticLoadBalancingV2Client) { @@ -42,7 +42,7 @@ export async function* describeLoadBalancersPaginate( throw new Error("Invalid client, expected ElasticLoadBalancingV2 | ElasticLoadBalancingV2Client"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-load-balancing-v2/pagination/DescribeTargetGroupsPaginator.ts b/clients/client-elastic-load-balancing-v2/pagination/DescribeTargetGroupsPaginator.ts index 87cab86e3d1e..8fec17025297 100644 --- a/clients/client-elastic-load-balancing-v2/pagination/DescribeTargetGroupsPaginator.ts +++ b/clients/client-elastic-load-balancing-v2/pagination/DescribeTargetGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTargetGroupsPaginate( let hasNext = true; let page: DescribeTargetGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof ElasticLoadBalancingV2) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof ElasticLoadBalancingV2Client) { @@ -42,7 +42,7 @@ export async function* describeTargetGroupsPaginate( throw new Error("Invalid client, expected ElasticLoadBalancingV2 | ElasticLoadBalancingV2Client"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-load-balancing/pagination/DescribeLoadBalancersPaginator.ts b/clients/client-elastic-load-balancing/pagination/DescribeLoadBalancersPaginator.ts index c0f789abb19b..d37d2fbfd9a0 100644 --- a/clients/client-elastic-load-balancing/pagination/DescribeLoadBalancersPaginator.ts +++ b/clients/client-elastic-load-balancing/pagination/DescribeLoadBalancersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeLoadBalancersPaginate( let hasNext = true; let page: DescribeLoadBalancersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof ElasticLoadBalancing) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof ElasticLoadBalancingClient) { @@ -42,7 +42,7 @@ export async function* describeLoadBalancersPaginate( throw new Error("Invalid client, expected ElasticLoadBalancing | ElasticLoadBalancingClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-transcoder/pagination/ListJobsByPipelinePaginator.ts b/clients/client-elastic-transcoder/pagination/ListJobsByPipelinePaginator.ts index 7820b7f93035..26f15c20fb70 100644 --- a/clients/client-elastic-transcoder/pagination/ListJobsByPipelinePaginator.ts +++ b/clients/client-elastic-transcoder/pagination/ListJobsByPipelinePaginator.ts @@ -33,7 +33,7 @@ export async function* listJobsByPipelinePaginate( let hasNext = true; let page: ListJobsByPipelineCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; if (config.client instanceof ElasticTranscoder) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof ElasticTranscoderClient) { @@ -42,7 +42,7 @@ export async function* listJobsByPipelinePaginate( throw new Error("Invalid client, expected ElasticTranscoder | ElasticTranscoderClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-transcoder/pagination/ListJobsByStatusPaginator.ts b/clients/client-elastic-transcoder/pagination/ListJobsByStatusPaginator.ts index 454424bc76ed..59dd5632cc8d 100644 --- a/clients/client-elastic-transcoder/pagination/ListJobsByStatusPaginator.ts +++ b/clients/client-elastic-transcoder/pagination/ListJobsByStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* listJobsByStatusPaginate( let hasNext = true; let page: ListJobsByStatusCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; if (config.client instanceof ElasticTranscoder) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof ElasticTranscoderClient) { @@ -42,7 +42,7 @@ export async function* listJobsByStatusPaginate( throw new Error("Invalid client, expected ElasticTranscoder | ElasticTranscoderClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-transcoder/pagination/ListPipelinesPaginator.ts b/clients/client-elastic-transcoder/pagination/ListPipelinesPaginator.ts index 5e566a1e7c4e..34e63d221653 100644 --- a/clients/client-elastic-transcoder/pagination/ListPipelinesPaginator.ts +++ b/clients/client-elastic-transcoder/pagination/ListPipelinesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPipelinesPaginate( let hasNext = true; let page: ListPipelinesCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; if (config.client instanceof ElasticTranscoder) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof ElasticTranscoderClient) { @@ -42,7 +42,7 @@ export async function* listPipelinesPaginate( throw new Error("Invalid client, expected ElasticTranscoder | ElasticTranscoderClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elastic-transcoder/pagination/ListPresetsPaginator.ts b/clients/client-elastic-transcoder/pagination/ListPresetsPaginator.ts index d930f6a5b87a..91390aa72429 100644 --- a/clients/client-elastic-transcoder/pagination/ListPresetsPaginator.ts +++ b/clients/client-elastic-transcoder/pagination/ListPresetsPaginator.ts @@ -29,7 +29,7 @@ export async function* listPresetsPaginate( let hasNext = true; let page: ListPresetsCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; if (config.client instanceof ElasticTranscoder) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof ElasticTranscoderClient) { @@ -38,7 +38,7 @@ export async function* listPresetsPaginate( throw new Error("Invalid client, expected ElasticTranscoder | ElasticTranscoderClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeCacheClustersPaginator.ts b/clients/client-elasticache/pagination/DescribeCacheClustersPaginator.ts index 6bd470b3cd96..e48fc484d53a 100644 --- a/clients/client-elasticache/pagination/DescribeCacheClustersPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeCacheClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCacheClustersPaginate( let hasNext = true; let page: DescribeCacheClustersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCacheClustersPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeCacheEngineVersionsPaginator.ts b/clients/client-elasticache/pagination/DescribeCacheEngineVersionsPaginator.ts index 196fbadbd9ce..265204fdb8da 100644 --- a/clients/client-elasticache/pagination/DescribeCacheEngineVersionsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeCacheEngineVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCacheEngineVersionsPaginate( let hasNext = true; let page: DescribeCacheEngineVersionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCacheEngineVersionsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeCacheParameterGroupsPaginator.ts b/clients/client-elasticache/pagination/DescribeCacheParameterGroupsPaginator.ts index fc5ba3076074..bccf901492db 100644 --- a/clients/client-elasticache/pagination/DescribeCacheParameterGroupsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeCacheParameterGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCacheParameterGroupsPaginate( let hasNext = true; let page: DescribeCacheParameterGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCacheParameterGroupsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeCacheParametersPaginator.ts b/clients/client-elasticache/pagination/DescribeCacheParametersPaginator.ts index 4ffd5980f152..9747c442bcbb 100644 --- a/clients/client-elasticache/pagination/DescribeCacheParametersPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeCacheParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCacheParametersPaginate( let hasNext = true; let page: DescribeCacheParametersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCacheParametersPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeCacheSecurityGroupsPaginator.ts b/clients/client-elasticache/pagination/DescribeCacheSecurityGroupsPaginator.ts index 4ca2b2493e29..5892064154eb 100644 --- a/clients/client-elasticache/pagination/DescribeCacheSecurityGroupsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeCacheSecurityGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCacheSecurityGroupsPaginate( let hasNext = true; let page: DescribeCacheSecurityGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCacheSecurityGroupsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeCacheSubnetGroupsPaginator.ts b/clients/client-elasticache/pagination/DescribeCacheSubnetGroupsPaginator.ts index 37fc77641f5e..9619b10beb79 100644 --- a/clients/client-elasticache/pagination/DescribeCacheSubnetGroupsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeCacheSubnetGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCacheSubnetGroupsPaginate( let hasNext = true; let page: DescribeCacheSubnetGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCacheSubnetGroupsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts b/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts index f8e4e41e9afb..a853ac0b5768 100644 --- a/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEngineDefaultParametersPaginate( let hasNext = true; let page: DescribeEngineDefaultParametersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEngineDefaultParametersPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["EngineDefaults"]["Marker"]; + token = page.EngineDefaults?.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeEventsPaginator.ts b/clients/client-elasticache/pagination/DescribeEventsPaginator.ts index 6a271e236f71..88182ceb3e2d 100644 --- a/clients/client-elasticache/pagination/DescribeEventsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventsPaginate( let hasNext = true; let page: DescribeEventsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeGlobalReplicationGroupsPaginator.ts b/clients/client-elasticache/pagination/DescribeGlobalReplicationGroupsPaginator.ts index f4f1cd299f0b..ac61e0789123 100644 --- a/clients/client-elasticache/pagination/DescribeGlobalReplicationGroupsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeGlobalReplicationGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeGlobalReplicationGroupsPaginate( let hasNext = true; let page: DescribeGlobalReplicationGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeGlobalReplicationGroupsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeReplicationGroupsPaginator.ts b/clients/client-elasticache/pagination/DescribeReplicationGroupsPaginator.ts index afe41b21485d..aaa5260b0a43 100644 --- a/clients/client-elasticache/pagination/DescribeReplicationGroupsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeReplicationGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReplicationGroupsPaginate( let hasNext = true; let page: DescribeReplicationGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReplicationGroupsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeReservedCacheNodesOfferingsPaginator.ts b/clients/client-elasticache/pagination/DescribeReservedCacheNodesOfferingsPaginator.ts index e1824e6ff30c..6ce83cc73967 100644 --- a/clients/client-elasticache/pagination/DescribeReservedCacheNodesOfferingsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeReservedCacheNodesOfferingsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReservedCacheNodesOfferingsPaginate( let hasNext = true; let page: DescribeReservedCacheNodesOfferingsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReservedCacheNodesOfferingsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeReservedCacheNodesPaginator.ts b/clients/client-elasticache/pagination/DescribeReservedCacheNodesPaginator.ts index 99ea5b05baeb..24b5b96a0d22 100644 --- a/clients/client-elasticache/pagination/DescribeReservedCacheNodesPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeReservedCacheNodesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReservedCacheNodesPaginate( let hasNext = true; let page: DescribeReservedCacheNodesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReservedCacheNodesPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeServiceUpdatesPaginator.ts b/clients/client-elasticache/pagination/DescribeServiceUpdatesPaginator.ts index ed7e081b5366..3b0f98f7f122 100644 --- a/clients/client-elasticache/pagination/DescribeServiceUpdatesPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeServiceUpdatesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeServiceUpdatesPaginate( let hasNext = true; let page: DescribeServiceUpdatesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeServiceUpdatesPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeSnapshotsPaginator.ts b/clients/client-elasticache/pagination/DescribeSnapshotsPaginator.ts index 8689f1da08db..9867ea0f0f77 100644 --- a/clients/client-elasticache/pagination/DescribeSnapshotsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeSnapshotsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSnapshotsPaginate( let hasNext = true; let page: DescribeSnapshotsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSnapshotsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeUpdateActionsPaginator.ts b/clients/client-elasticache/pagination/DescribeUpdateActionsPaginator.ts index c2ed15138d14..6039ab3560c1 100644 --- a/clients/client-elasticache/pagination/DescribeUpdateActionsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeUpdateActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeUpdateActionsPaginate( let hasNext = true; let page: DescribeUpdateActionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeUpdateActionsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeUserGroupsPaginator.ts b/clients/client-elasticache/pagination/DescribeUserGroupsPaginator.ts index 1a44033412b1..2a6adab98d85 100644 --- a/clients/client-elasticache/pagination/DescribeUserGroupsPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeUserGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeUserGroupsPaginate( let hasNext = true; let page: DescribeUserGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeUserGroupsPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticache/pagination/DescribeUsersPaginator.ts b/clients/client-elasticache/pagination/DescribeUsersPaginator.ts index 4518d0b2122c..7d1b7fe96dbb 100644 --- a/clients/client-elasticache/pagination/DescribeUsersPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeUsersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeUsersPaginate( let hasNext = true; let page: DescribeUsersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof ElastiCache) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeUsersPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticsearch-service/pagination/DescribeInboundCrossClusterSearchConnectionsPaginator.ts b/clients/client-elasticsearch-service/pagination/DescribeInboundCrossClusterSearchConnectionsPaginator.ts index 591a1872e2f8..aa378da8e33b 100644 --- a/clients/client-elasticsearch-service/pagination/DescribeInboundCrossClusterSearchConnectionsPaginator.ts +++ b/clients/client-elasticsearch-service/pagination/DescribeInboundCrossClusterSearchConnectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInboundCrossClusterSearchConnectionsPaginate( let hasNext = true; let page: DescribeInboundCrossClusterSearchConnectionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ElasticsearchService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInboundCrossClusterSearchConnectionsPaginate( throw new Error("Invalid client, expected ElasticsearchService | ElasticsearchServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticsearch-service/pagination/DescribeOutboundCrossClusterSearchConnectionsPaginator.ts b/clients/client-elasticsearch-service/pagination/DescribeOutboundCrossClusterSearchConnectionsPaginator.ts index 080c167aea82..ff3617f3f314 100644 --- a/clients/client-elasticsearch-service/pagination/DescribeOutboundCrossClusterSearchConnectionsPaginator.ts +++ b/clients/client-elasticsearch-service/pagination/DescribeOutboundCrossClusterSearchConnectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeOutboundCrossClusterSearchConnectionsPaginate( let hasNext = true; let page: DescribeOutboundCrossClusterSearchConnectionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ElasticsearchService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeOutboundCrossClusterSearchConnectionsPaginate( throw new Error("Invalid client, expected ElasticsearchService | ElasticsearchServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticsearch-service/pagination/DescribePackagesPaginator.ts b/clients/client-elasticsearch-service/pagination/DescribePackagesPaginator.ts index 562b4dcb9563..51ee11f9cb05 100644 --- a/clients/client-elasticsearch-service/pagination/DescribePackagesPaginator.ts +++ b/clients/client-elasticsearch-service/pagination/DescribePackagesPaginator.ts @@ -33,7 +33,7 @@ export async function* describePackagesPaginate( let hasNext = true; let page: DescribePackagesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ElasticsearchService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePackagesPaginate( throw new Error("Invalid client, expected ElasticsearchService | ElasticsearchServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticsearch-service/pagination/DescribeReservedElasticsearchInstanceOfferingsPaginator.ts b/clients/client-elasticsearch-service/pagination/DescribeReservedElasticsearchInstanceOfferingsPaginator.ts index 4ca072b35dd2..324ab1a33502 100644 --- a/clients/client-elasticsearch-service/pagination/DescribeReservedElasticsearchInstanceOfferingsPaginator.ts +++ b/clients/client-elasticsearch-service/pagination/DescribeReservedElasticsearchInstanceOfferingsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReservedElasticsearchInstanceOfferingsPaginate( let hasNext = true; let page: DescribeReservedElasticsearchInstanceOfferingsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ElasticsearchService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReservedElasticsearchInstanceOfferingsPaginate( throw new Error("Invalid client, expected ElasticsearchService | ElasticsearchServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticsearch-service/pagination/DescribeReservedElasticsearchInstancesPaginator.ts b/clients/client-elasticsearch-service/pagination/DescribeReservedElasticsearchInstancesPaginator.ts index bcdc0584098c..6260942dd726 100644 --- a/clients/client-elasticsearch-service/pagination/DescribeReservedElasticsearchInstancesPaginator.ts +++ b/clients/client-elasticsearch-service/pagination/DescribeReservedElasticsearchInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReservedElasticsearchInstancesPaginate( let hasNext = true; let page: DescribeReservedElasticsearchInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ElasticsearchService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReservedElasticsearchInstancesPaginate( throw new Error("Invalid client, expected ElasticsearchService | ElasticsearchServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticsearch-service/pagination/GetUpgradeHistoryPaginator.ts b/clients/client-elasticsearch-service/pagination/GetUpgradeHistoryPaginator.ts index b0709cf85bbd..8a8f08c31d45 100644 --- a/clients/client-elasticsearch-service/pagination/GetUpgradeHistoryPaginator.ts +++ b/clients/client-elasticsearch-service/pagination/GetUpgradeHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* getUpgradeHistoryPaginate( let hasNext = true; let page: GetUpgradeHistoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ElasticsearchService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getUpgradeHistoryPaginate( throw new Error("Invalid client, expected ElasticsearchService | ElasticsearchServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticsearch-service/pagination/ListDomainsForPackagePaginator.ts b/clients/client-elasticsearch-service/pagination/ListDomainsForPackagePaginator.ts index 621bab5cc07f..e42db479929f 100644 --- a/clients/client-elasticsearch-service/pagination/ListDomainsForPackagePaginator.ts +++ b/clients/client-elasticsearch-service/pagination/ListDomainsForPackagePaginator.ts @@ -33,7 +33,7 @@ export async function* listDomainsForPackagePaginate( let hasNext = true; let page: ListDomainsForPackageCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ElasticsearchService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDomainsForPackagePaginate( throw new Error("Invalid client, expected ElasticsearchService | ElasticsearchServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticsearch-service/pagination/ListElasticsearchInstanceTypesPaginator.ts b/clients/client-elasticsearch-service/pagination/ListElasticsearchInstanceTypesPaginator.ts index 8b61d4a4bab0..5642fe06c404 100644 --- a/clients/client-elasticsearch-service/pagination/ListElasticsearchInstanceTypesPaginator.ts +++ b/clients/client-elasticsearch-service/pagination/ListElasticsearchInstanceTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* listElasticsearchInstanceTypesPaginate( let hasNext = true; let page: ListElasticsearchInstanceTypesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ElasticsearchService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listElasticsearchInstanceTypesPaginate( throw new Error("Invalid client, expected ElasticsearchService | ElasticsearchServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticsearch-service/pagination/ListElasticsearchVersionsPaginator.ts b/clients/client-elasticsearch-service/pagination/ListElasticsearchVersionsPaginator.ts index 734ad1633008..453f31120ee9 100644 --- a/clients/client-elasticsearch-service/pagination/ListElasticsearchVersionsPaginator.ts +++ b/clients/client-elasticsearch-service/pagination/ListElasticsearchVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listElasticsearchVersionsPaginate( let hasNext = true; let page: ListElasticsearchVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ElasticsearchService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listElasticsearchVersionsPaginate( throw new Error("Invalid client, expected ElasticsearchService | ElasticsearchServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-elasticsearch-service/pagination/ListPackagesForDomainPaginator.ts b/clients/client-elasticsearch-service/pagination/ListPackagesForDomainPaginator.ts index eb275b1b76b5..e21450f9e532 100644 --- a/clients/client-elasticsearch-service/pagination/ListPackagesForDomainPaginator.ts +++ b/clients/client-elasticsearch-service/pagination/ListPackagesForDomainPaginator.ts @@ -33,7 +33,7 @@ export async function* listPackagesForDomainPaginate( let hasNext = true; let page: ListPackagesForDomainCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ElasticsearchService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPackagesForDomainPaginate( throw new Error("Invalid client, expected ElasticsearchService | ElasticsearchServiceClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-emr/pagination/ListBootstrapActionsPaginator.ts b/clients/client-emr/pagination/ListBootstrapActionsPaginator.ts index 46317567ec7e..58449b7933e9 100644 --- a/clients/client-emr/pagination/ListBootstrapActionsPaginator.ts +++ b/clients/client-emr/pagination/ListBootstrapActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listBootstrapActionsPaginate( let hasNext = true; let page: ListBootstrapActionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof EMR) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof EMRClient) { @@ -42,7 +42,7 @@ export async function* listBootstrapActionsPaginate( throw new Error("Invalid client, expected EMR | EMRClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-emr/pagination/ListClustersPaginator.ts b/clients/client-emr/pagination/ListClustersPaginator.ts index da032a717a94..d0d058b8c1e2 100644 --- a/clients/client-emr/pagination/ListClustersPaginator.ts +++ b/clients/client-emr/pagination/ListClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* listClustersPaginate( let hasNext = true; let page: ListClustersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof EMR) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof EMRClient) { @@ -42,7 +42,7 @@ export async function* listClustersPaginate( throw new Error("Invalid client, expected EMR | EMRClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-emr/pagination/ListInstanceFleetsPaginator.ts b/clients/client-emr/pagination/ListInstanceFleetsPaginator.ts index 5a9341ac7026..d081699361e6 100644 --- a/clients/client-emr/pagination/ListInstanceFleetsPaginator.ts +++ b/clients/client-emr/pagination/ListInstanceFleetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listInstanceFleetsPaginate( let hasNext = true; let page: ListInstanceFleetsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof EMR) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof EMRClient) { @@ -42,7 +42,7 @@ export async function* listInstanceFleetsPaginate( throw new Error("Invalid client, expected EMR | EMRClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-emr/pagination/ListInstanceGroupsPaginator.ts b/clients/client-emr/pagination/ListInstanceGroupsPaginator.ts index c54151ddf696..d204974acee0 100644 --- a/clients/client-emr/pagination/ListInstanceGroupsPaginator.ts +++ b/clients/client-emr/pagination/ListInstanceGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listInstanceGroupsPaginate( let hasNext = true; let page: ListInstanceGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof EMR) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof EMRClient) { @@ -42,7 +42,7 @@ export async function* listInstanceGroupsPaginate( throw new Error("Invalid client, expected EMR | EMRClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-emr/pagination/ListInstancesPaginator.ts b/clients/client-emr/pagination/ListInstancesPaginator.ts index d3e6d8754d6f..a0830a1bb303 100644 --- a/clients/client-emr/pagination/ListInstancesPaginator.ts +++ b/clients/client-emr/pagination/ListInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* listInstancesPaginate( let hasNext = true; let page: ListInstancesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof EMR) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof EMRClient) { @@ -42,7 +42,7 @@ export async function* listInstancesPaginate( throw new Error("Invalid client, expected EMR | EMRClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-emr/pagination/ListNotebookExecutionsPaginator.ts b/clients/client-emr/pagination/ListNotebookExecutionsPaginator.ts index bd66707b66b6..f2c0d881f121 100644 --- a/clients/client-emr/pagination/ListNotebookExecutionsPaginator.ts +++ b/clients/client-emr/pagination/ListNotebookExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listNotebookExecutionsPaginate( let hasNext = true; let page: ListNotebookExecutionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof EMR) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof EMRClient) { @@ -42,7 +42,7 @@ export async function* listNotebookExecutionsPaginate( throw new Error("Invalid client, expected EMR | EMRClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-emr/pagination/ListSecurityConfigurationsPaginator.ts b/clients/client-emr/pagination/ListSecurityConfigurationsPaginator.ts index c10711be20aa..cbcc5abe578e 100644 --- a/clients/client-emr/pagination/ListSecurityConfigurationsPaginator.ts +++ b/clients/client-emr/pagination/ListSecurityConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSecurityConfigurationsPaginate( let hasNext = true; let page: ListSecurityConfigurationsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof EMR) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof EMRClient) { @@ -42,7 +42,7 @@ export async function* listSecurityConfigurationsPaginate( throw new Error("Invalid client, expected EMR | EMRClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-emr/pagination/ListStepsPaginator.ts b/clients/client-emr/pagination/ListStepsPaginator.ts index 5b36e92d5892..2044eec40949 100644 --- a/clients/client-emr/pagination/ListStepsPaginator.ts +++ b/clients/client-emr/pagination/ListStepsPaginator.ts @@ -29,7 +29,7 @@ export async function* listStepsPaginate( let hasNext = true; let page: ListStepsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; if (config.client instanceof EMR) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof EMRClient) { @@ -38,7 +38,7 @@ export async function* listStepsPaginate( throw new Error("Invalid client, expected EMR | EMRClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-fms/pagination/ListComplianceStatusPaginator.ts b/clients/client-fms/pagination/ListComplianceStatusPaginator.ts index 4eee98becf16..0a8190236460 100644 --- a/clients/client-fms/pagination/ListComplianceStatusPaginator.ts +++ b/clients/client-fms/pagination/ListComplianceStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* listComplianceStatusPaginate( let hasNext = true; let page: ListComplianceStatusCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof FMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listComplianceStatusPaginate( throw new Error("Invalid client, expected FMS | FMSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-fms/pagination/ListMemberAccountsPaginator.ts b/clients/client-fms/pagination/ListMemberAccountsPaginator.ts index 963dda7914bc..a1693bf0598f 100644 --- a/clients/client-fms/pagination/ListMemberAccountsPaginator.ts +++ b/clients/client-fms/pagination/ListMemberAccountsPaginator.ts @@ -33,7 +33,7 @@ export async function* listMemberAccountsPaginate( let hasNext = true; let page: ListMemberAccountsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof FMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMemberAccountsPaginate( throw new Error("Invalid client, expected FMS | FMSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-fms/pagination/ListPoliciesPaginator.ts b/clients/client-fms/pagination/ListPoliciesPaginator.ts index 1e18c1a97a41..0e8d6b1a43df 100644 --- a/clients/client-fms/pagination/ListPoliciesPaginator.ts +++ b/clients/client-fms/pagination/ListPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPoliciesPaginate( let hasNext = true; let page: ListPoliciesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof FMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPoliciesPaginate( throw new Error("Invalid client, expected FMS | FMSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-forecast/pagination/ListDatasetGroupsPaginator.ts b/clients/client-forecast/pagination/ListDatasetGroupsPaginator.ts index ef7612c74f45..663a9a71a654 100644 --- a/clients/client-forecast/pagination/ListDatasetGroupsPaginator.ts +++ b/clients/client-forecast/pagination/ListDatasetGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatasetGroupsPaginate( let hasNext = true; let page: ListDatasetGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Forecast) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatasetGroupsPaginate( throw new Error("Invalid client, expected Forecast | ForecastClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-forecast/pagination/ListDatasetImportJobsPaginator.ts b/clients/client-forecast/pagination/ListDatasetImportJobsPaginator.ts index 7e4f62af7e22..463d6d48b039 100644 --- a/clients/client-forecast/pagination/ListDatasetImportJobsPaginator.ts +++ b/clients/client-forecast/pagination/ListDatasetImportJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatasetImportJobsPaginate( let hasNext = true; let page: ListDatasetImportJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Forecast) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatasetImportJobsPaginate( throw new Error("Invalid client, expected Forecast | ForecastClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-forecast/pagination/ListDatasetsPaginator.ts b/clients/client-forecast/pagination/ListDatasetsPaginator.ts index 2eedf8706691..667197bdc752 100644 --- a/clients/client-forecast/pagination/ListDatasetsPaginator.ts +++ b/clients/client-forecast/pagination/ListDatasetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatasetsPaginate( let hasNext = true; let page: ListDatasetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Forecast) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatasetsPaginate( throw new Error("Invalid client, expected Forecast | ForecastClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-forecast/pagination/ListForecastExportJobsPaginator.ts b/clients/client-forecast/pagination/ListForecastExportJobsPaginator.ts index dd1cc20ad7e8..2f913ef6579f 100644 --- a/clients/client-forecast/pagination/ListForecastExportJobsPaginator.ts +++ b/clients/client-forecast/pagination/ListForecastExportJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listForecastExportJobsPaginate( let hasNext = true; let page: ListForecastExportJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Forecast) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listForecastExportJobsPaginate( throw new Error("Invalid client, expected Forecast | ForecastClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-forecast/pagination/ListForecastsPaginator.ts b/clients/client-forecast/pagination/ListForecastsPaginator.ts index 96448fcb432b..8bc600df216e 100644 --- a/clients/client-forecast/pagination/ListForecastsPaginator.ts +++ b/clients/client-forecast/pagination/ListForecastsPaginator.ts @@ -33,7 +33,7 @@ export async function* listForecastsPaginate( let hasNext = true; let page: ListForecastsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Forecast) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listForecastsPaginate( throw new Error("Invalid client, expected Forecast | ForecastClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-forecast/pagination/ListPredictorsPaginator.ts b/clients/client-forecast/pagination/ListPredictorsPaginator.ts index eae0d544900d..be4d833cc115 100644 --- a/clients/client-forecast/pagination/ListPredictorsPaginator.ts +++ b/clients/client-forecast/pagination/ListPredictorsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPredictorsPaginate( let hasNext = true; let page: ListPredictorsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Forecast) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPredictorsPaginate( throw new Error("Invalid client, expected Forecast | ForecastClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/DescribeModelVersionsPaginator.ts b/clients/client-frauddetector/pagination/DescribeModelVersionsPaginator.ts index 4c427d86fc7a..8ea4517073af 100644 --- a/clients/client-frauddetector/pagination/DescribeModelVersionsPaginator.ts +++ b/clients/client-frauddetector/pagination/DescribeModelVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeModelVersionsPaginate( let hasNext = true; let page: DescribeModelVersionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeModelVersionsPaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/GetDetectorsPaginator.ts b/clients/client-frauddetector/pagination/GetDetectorsPaginator.ts index 9d5024753aa6..f65305f7a1f3 100644 --- a/clients/client-frauddetector/pagination/GetDetectorsPaginator.ts +++ b/clients/client-frauddetector/pagination/GetDetectorsPaginator.ts @@ -33,7 +33,7 @@ export async function* getDetectorsPaginate( let hasNext = true; let page: GetDetectorsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getDetectorsPaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/GetEntityTypesPaginator.ts b/clients/client-frauddetector/pagination/GetEntityTypesPaginator.ts index 1c41c3894240..759c669b52f1 100644 --- a/clients/client-frauddetector/pagination/GetEntityTypesPaginator.ts +++ b/clients/client-frauddetector/pagination/GetEntityTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* getEntityTypesPaginate( let hasNext = true; let page: GetEntityTypesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getEntityTypesPaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/GetEventTypesPaginator.ts b/clients/client-frauddetector/pagination/GetEventTypesPaginator.ts index 0009bdc816b1..9a868e021d30 100644 --- a/clients/client-frauddetector/pagination/GetEventTypesPaginator.ts +++ b/clients/client-frauddetector/pagination/GetEventTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* getEventTypesPaginate( let hasNext = true; let page: GetEventTypesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getEventTypesPaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/GetExternalModelsPaginator.ts b/clients/client-frauddetector/pagination/GetExternalModelsPaginator.ts index 4f7443eab8c2..2f33c5a7b43a 100644 --- a/clients/client-frauddetector/pagination/GetExternalModelsPaginator.ts +++ b/clients/client-frauddetector/pagination/GetExternalModelsPaginator.ts @@ -33,7 +33,7 @@ export async function* getExternalModelsPaginate( let hasNext = true; let page: GetExternalModelsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getExternalModelsPaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/GetLabelsPaginator.ts b/clients/client-frauddetector/pagination/GetLabelsPaginator.ts index 533ea72269af..ee40306fca04 100644 --- a/clients/client-frauddetector/pagination/GetLabelsPaginator.ts +++ b/clients/client-frauddetector/pagination/GetLabelsPaginator.ts @@ -29,7 +29,7 @@ export async function* getLabelsPaginate( let hasNext = true; let page: GetLabelsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getLabelsPaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/GetModelsPaginator.ts b/clients/client-frauddetector/pagination/GetModelsPaginator.ts index b245295d476b..befc6f08add0 100644 --- a/clients/client-frauddetector/pagination/GetModelsPaginator.ts +++ b/clients/client-frauddetector/pagination/GetModelsPaginator.ts @@ -29,7 +29,7 @@ export async function* getModelsPaginate( let hasNext = true; let page: GetModelsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getModelsPaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/GetOutcomesPaginator.ts b/clients/client-frauddetector/pagination/GetOutcomesPaginator.ts index 7b3d5e1855d4..f6d009832e6e 100644 --- a/clients/client-frauddetector/pagination/GetOutcomesPaginator.ts +++ b/clients/client-frauddetector/pagination/GetOutcomesPaginator.ts @@ -29,7 +29,7 @@ export async function* getOutcomesPaginate( let hasNext = true; let page: GetOutcomesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getOutcomesPaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/GetRulesPaginator.ts b/clients/client-frauddetector/pagination/GetRulesPaginator.ts index d3c373a2bcb7..e112743c5ac3 100644 --- a/clients/client-frauddetector/pagination/GetRulesPaginator.ts +++ b/clients/client-frauddetector/pagination/GetRulesPaginator.ts @@ -29,7 +29,7 @@ export async function* getRulesPaginate( let hasNext = true; let page: GetRulesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getRulesPaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/GetVariablesPaginator.ts b/clients/client-frauddetector/pagination/GetVariablesPaginator.ts index 9e7c42a2190d..3f9a18a5e67f 100644 --- a/clients/client-frauddetector/pagination/GetVariablesPaginator.ts +++ b/clients/client-frauddetector/pagination/GetVariablesPaginator.ts @@ -33,7 +33,7 @@ export async function* getVariablesPaginate( let hasNext = true; let page: GetVariablesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getVariablesPaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-frauddetector/pagination/ListTagsForResourcePaginator.ts b/clients/client-frauddetector/pagination/ListTagsForResourcePaginator.ts index f06d83b9c1eb..4637641cfe35 100644 --- a/clients/client-frauddetector/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-frauddetector/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof FraudDetector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected FraudDetector | FraudDetectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-fsx/pagination/DescribeBackupsPaginator.ts b/clients/client-fsx/pagination/DescribeBackupsPaginator.ts index 00f403c60132..e1fe8ab6fd67 100644 --- a/clients/client-fsx/pagination/DescribeBackupsPaginator.ts +++ b/clients/client-fsx/pagination/DescribeBackupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeBackupsPaginate( let hasNext = true; let page: DescribeBackupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof FSx) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeBackupsPaginate( throw new Error("Invalid client, expected FSx | FSxClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-fsx/pagination/DescribeDataRepositoryTasksPaginator.ts b/clients/client-fsx/pagination/DescribeDataRepositoryTasksPaginator.ts index 350e680add7e..101d0c464bac 100644 --- a/clients/client-fsx/pagination/DescribeDataRepositoryTasksPaginator.ts +++ b/clients/client-fsx/pagination/DescribeDataRepositoryTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDataRepositoryTasksPaginate( let hasNext = true; let page: DescribeDataRepositoryTasksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof FSx) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDataRepositoryTasksPaginate( throw new Error("Invalid client, expected FSx | FSxClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-fsx/pagination/DescribeFileSystemsPaginator.ts b/clients/client-fsx/pagination/DescribeFileSystemsPaginator.ts index d355c5629a2b..1bc4ac793c2b 100644 --- a/clients/client-fsx/pagination/DescribeFileSystemsPaginator.ts +++ b/clients/client-fsx/pagination/DescribeFileSystemsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFileSystemsPaginate( let hasNext = true; let page: DescribeFileSystemsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof FSx) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFileSystemsPaginate( throw new Error("Invalid client, expected FSx | FSxClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeFleetAttributesPaginator.ts b/clients/client-gamelift/pagination/DescribeFleetAttributesPaginator.ts index e7dc88c5b694..da8b255fd30e 100644 --- a/clients/client-gamelift/pagination/DescribeFleetAttributesPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeFleetAttributesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFleetAttributesPaginate( let hasNext = true; let page: DescribeFleetAttributesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFleetAttributesPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeFleetCapacityPaginator.ts b/clients/client-gamelift/pagination/DescribeFleetCapacityPaginator.ts index c5e6d5967e58..d6999c46b88d 100644 --- a/clients/client-gamelift/pagination/DescribeFleetCapacityPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeFleetCapacityPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFleetCapacityPaginate( let hasNext = true; let page: DescribeFleetCapacityCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFleetCapacityPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeFleetEventsPaginator.ts b/clients/client-gamelift/pagination/DescribeFleetEventsPaginator.ts index a5eecbc24077..97eac2c94cca 100644 --- a/clients/client-gamelift/pagination/DescribeFleetEventsPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeFleetEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFleetEventsPaginate( let hasNext = true; let page: DescribeFleetEventsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFleetEventsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeFleetUtilizationPaginator.ts b/clients/client-gamelift/pagination/DescribeFleetUtilizationPaginator.ts index 19ad865ad92b..29efca473d18 100644 --- a/clients/client-gamelift/pagination/DescribeFleetUtilizationPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeFleetUtilizationPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFleetUtilizationPaginate( let hasNext = true; let page: DescribeFleetUtilizationCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFleetUtilizationPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeGameServerInstancesPaginator.ts b/clients/client-gamelift/pagination/DescribeGameServerInstancesPaginator.ts index 677ad1addbb3..e7e4a3940f17 100644 --- a/clients/client-gamelift/pagination/DescribeGameServerInstancesPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeGameServerInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeGameServerInstancesPaginate( let hasNext = true; let page: DescribeGameServerInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeGameServerInstancesPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeGameSessionDetailsPaginator.ts b/clients/client-gamelift/pagination/DescribeGameSessionDetailsPaginator.ts index 098ea68b2360..f8ca988420a7 100644 --- a/clients/client-gamelift/pagination/DescribeGameSessionDetailsPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeGameSessionDetailsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeGameSessionDetailsPaginate( let hasNext = true; let page: DescribeGameSessionDetailsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeGameSessionDetailsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeGameSessionQueuesPaginator.ts b/clients/client-gamelift/pagination/DescribeGameSessionQueuesPaginator.ts index bf526cd2bb4a..4a076bfa37fd 100644 --- a/clients/client-gamelift/pagination/DescribeGameSessionQueuesPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeGameSessionQueuesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeGameSessionQueuesPaginate( let hasNext = true; let page: DescribeGameSessionQueuesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeGameSessionQueuesPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeGameSessionsPaginator.ts b/clients/client-gamelift/pagination/DescribeGameSessionsPaginator.ts index 2af2459c6626..a17511a13924 100644 --- a/clients/client-gamelift/pagination/DescribeGameSessionsPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeGameSessionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeGameSessionsPaginate( let hasNext = true; let page: DescribeGameSessionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeGameSessionsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeInstancesPaginator.ts b/clients/client-gamelift/pagination/DescribeInstancesPaginator.ts index 453145237880..6a4be6762907 100644 --- a/clients/client-gamelift/pagination/DescribeInstancesPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstancesPaginate( let hasNext = true; let page: DescribeInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstancesPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeMatchmakingConfigurationsPaginator.ts b/clients/client-gamelift/pagination/DescribeMatchmakingConfigurationsPaginator.ts index ac332010ccef..263539f87c52 100644 --- a/clients/client-gamelift/pagination/DescribeMatchmakingConfigurationsPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeMatchmakingConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMatchmakingConfigurationsPaginate( let hasNext = true; let page: DescribeMatchmakingConfigurationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMatchmakingConfigurationsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeMatchmakingRuleSetsPaginator.ts b/clients/client-gamelift/pagination/DescribeMatchmakingRuleSetsPaginator.ts index 025557ae61fb..979e52101e62 100644 --- a/clients/client-gamelift/pagination/DescribeMatchmakingRuleSetsPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeMatchmakingRuleSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMatchmakingRuleSetsPaginate( let hasNext = true; let page: DescribeMatchmakingRuleSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMatchmakingRuleSetsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribePlayerSessionsPaginator.ts b/clients/client-gamelift/pagination/DescribePlayerSessionsPaginator.ts index 8fb8b85a0f9e..a83871ff40d5 100644 --- a/clients/client-gamelift/pagination/DescribePlayerSessionsPaginator.ts +++ b/clients/client-gamelift/pagination/DescribePlayerSessionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describePlayerSessionsPaginate( let hasNext = true; let page: DescribePlayerSessionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePlayerSessionsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/DescribeScalingPoliciesPaginator.ts b/clients/client-gamelift/pagination/DescribeScalingPoliciesPaginator.ts index 929bd64dca2c..dd0d6cafaf9b 100644 --- a/clients/client-gamelift/pagination/DescribeScalingPoliciesPaginator.ts +++ b/clients/client-gamelift/pagination/DescribeScalingPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScalingPoliciesPaginate( let hasNext = true; let page: DescribeScalingPoliciesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScalingPoliciesPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/ListAliasesPaginator.ts b/clients/client-gamelift/pagination/ListAliasesPaginator.ts index 3b9ccd459fcf..e40957280239 100644 --- a/clients/client-gamelift/pagination/ListAliasesPaginator.ts +++ b/clients/client-gamelift/pagination/ListAliasesPaginator.ts @@ -29,7 +29,7 @@ export async function* listAliasesPaginate( let hasNext = true; let page: ListAliasesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listAliasesPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/ListBuildsPaginator.ts b/clients/client-gamelift/pagination/ListBuildsPaginator.ts index 41ea7bf0f1a6..e0b954012e00 100644 --- a/clients/client-gamelift/pagination/ListBuildsPaginator.ts +++ b/clients/client-gamelift/pagination/ListBuildsPaginator.ts @@ -29,7 +29,7 @@ export async function* listBuildsPaginate( let hasNext = true; let page: ListBuildsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listBuildsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/ListFleetsPaginator.ts b/clients/client-gamelift/pagination/ListFleetsPaginator.ts index 02f89b8c3a92..9cce6d59f02f 100644 --- a/clients/client-gamelift/pagination/ListFleetsPaginator.ts +++ b/clients/client-gamelift/pagination/ListFleetsPaginator.ts @@ -29,7 +29,7 @@ export async function* listFleetsPaginate( let hasNext = true; let page: ListFleetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listFleetsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/ListGameServerGroupsPaginator.ts b/clients/client-gamelift/pagination/ListGameServerGroupsPaginator.ts index dccbe3d1dac0..d8b64465a041 100644 --- a/clients/client-gamelift/pagination/ListGameServerGroupsPaginator.ts +++ b/clients/client-gamelift/pagination/ListGameServerGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listGameServerGroupsPaginate( let hasNext = true; let page: ListGameServerGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGameServerGroupsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/ListGameServersPaginator.ts b/clients/client-gamelift/pagination/ListGameServersPaginator.ts index f77bd0112782..230415bfbe9e 100644 --- a/clients/client-gamelift/pagination/ListGameServersPaginator.ts +++ b/clients/client-gamelift/pagination/ListGameServersPaginator.ts @@ -33,7 +33,7 @@ export async function* listGameServersPaginate( let hasNext = true; let page: ListGameServersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGameServersPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/ListScriptsPaginator.ts b/clients/client-gamelift/pagination/ListScriptsPaginator.ts index 3a85291f7468..db8db07ad5ab 100644 --- a/clients/client-gamelift/pagination/ListScriptsPaginator.ts +++ b/clients/client-gamelift/pagination/ListScriptsPaginator.ts @@ -29,7 +29,7 @@ export async function* listScriptsPaginate( let hasNext = true; let page: ListScriptsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listScriptsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-gamelift/pagination/SearchGameSessionsPaginator.ts b/clients/client-gamelift/pagination/SearchGameSessionsPaginator.ts index b63a4389bfd6..225a7cb30044 100644 --- a/clients/client-gamelift/pagination/SearchGameSessionsPaginator.ts +++ b/clients/client-gamelift/pagination/SearchGameSessionsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchGameSessionsPaginate( let hasNext = true; let page: SearchGameSessionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof GameLift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchGameSessionsPaginate( throw new Error("Invalid client, expected GameLift | GameLiftClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetClassifiersPaginator.ts b/clients/client-glue/pagination/GetClassifiersPaginator.ts index b6524f4e7028..73a0cad52dbb 100644 --- a/clients/client-glue/pagination/GetClassifiersPaginator.ts +++ b/clients/client-glue/pagination/GetClassifiersPaginator.ts @@ -33,7 +33,7 @@ export async function* getClassifiersPaginate( let hasNext = true; let page: GetClassifiersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getClassifiersPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetConnectionsPaginator.ts b/clients/client-glue/pagination/GetConnectionsPaginator.ts index 2d4b23f6de87..6c2a175c392b 100644 --- a/clients/client-glue/pagination/GetConnectionsPaginator.ts +++ b/clients/client-glue/pagination/GetConnectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* getConnectionsPaginate( let hasNext = true; let page: GetConnectionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getConnectionsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetCrawlerMetricsPaginator.ts b/clients/client-glue/pagination/GetCrawlerMetricsPaginator.ts index 16f3d2a548c9..456c893201b9 100644 --- a/clients/client-glue/pagination/GetCrawlerMetricsPaginator.ts +++ b/clients/client-glue/pagination/GetCrawlerMetricsPaginator.ts @@ -33,7 +33,7 @@ export async function* getCrawlerMetricsPaginate( let hasNext = true; let page: GetCrawlerMetricsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getCrawlerMetricsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetCrawlersPaginator.ts b/clients/client-glue/pagination/GetCrawlersPaginator.ts index 5f64eedc951e..4dc5afaf35e9 100644 --- a/clients/client-glue/pagination/GetCrawlersPaginator.ts +++ b/clients/client-glue/pagination/GetCrawlersPaginator.ts @@ -29,7 +29,7 @@ export async function* getCrawlersPaginate( let hasNext = true; let page: GetCrawlersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getCrawlersPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetDatabasesPaginator.ts b/clients/client-glue/pagination/GetDatabasesPaginator.ts index 20921261562b..c179d94294e1 100644 --- a/clients/client-glue/pagination/GetDatabasesPaginator.ts +++ b/clients/client-glue/pagination/GetDatabasesPaginator.ts @@ -33,7 +33,7 @@ export async function* getDatabasesPaginate( let hasNext = true; let page: GetDatabasesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getDatabasesPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetDevEndpointsPaginator.ts b/clients/client-glue/pagination/GetDevEndpointsPaginator.ts index 051da238bfb9..38caea95abc9 100644 --- a/clients/client-glue/pagination/GetDevEndpointsPaginator.ts +++ b/clients/client-glue/pagination/GetDevEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* getDevEndpointsPaginate( let hasNext = true; let page: GetDevEndpointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getDevEndpointsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetJobRunsPaginator.ts b/clients/client-glue/pagination/GetJobRunsPaginator.ts index 7bb89b9c224d..f8268bcff0f3 100644 --- a/clients/client-glue/pagination/GetJobRunsPaginator.ts +++ b/clients/client-glue/pagination/GetJobRunsPaginator.ts @@ -29,7 +29,7 @@ export async function* getJobRunsPaginate( let hasNext = true; let page: GetJobRunsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getJobRunsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetJobsPaginator.ts b/clients/client-glue/pagination/GetJobsPaginator.ts index 38091feff8d7..9398cbc204f5 100644 --- a/clients/client-glue/pagination/GetJobsPaginator.ts +++ b/clients/client-glue/pagination/GetJobsPaginator.ts @@ -29,7 +29,7 @@ export async function* getJobsPaginate( let hasNext = true; let page: GetJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getJobsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetMLTaskRunsPaginator.ts b/clients/client-glue/pagination/GetMLTaskRunsPaginator.ts index b7a829166e2b..2c648e04a262 100644 --- a/clients/client-glue/pagination/GetMLTaskRunsPaginator.ts +++ b/clients/client-glue/pagination/GetMLTaskRunsPaginator.ts @@ -33,7 +33,7 @@ export async function* getMLTaskRunsPaginate( let hasNext = true; let page: GetMLTaskRunsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getMLTaskRunsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetMLTransformsPaginator.ts b/clients/client-glue/pagination/GetMLTransformsPaginator.ts index 30b377275898..50013ef84486 100644 --- a/clients/client-glue/pagination/GetMLTransformsPaginator.ts +++ b/clients/client-glue/pagination/GetMLTransformsPaginator.ts @@ -33,7 +33,7 @@ export async function* getMLTransformsPaginate( let hasNext = true; let page: GetMLTransformsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getMLTransformsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetPartitionIndexesPaginator.ts b/clients/client-glue/pagination/GetPartitionIndexesPaginator.ts index c30857d81558..b6e187d77b9f 100644 --- a/clients/client-glue/pagination/GetPartitionIndexesPaginator.ts +++ b/clients/client-glue/pagination/GetPartitionIndexesPaginator.ts @@ -33,7 +33,7 @@ export async function* getPartitionIndexesPaginate( let hasNext = true; let page: GetPartitionIndexesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof GlueClient) { @@ -42,7 +42,7 @@ export async function* getPartitionIndexesPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetPartitionsPaginator.ts b/clients/client-glue/pagination/GetPartitionsPaginator.ts index e3fe98d530a3..aa801e38dc9b 100644 --- a/clients/client-glue/pagination/GetPartitionsPaginator.ts +++ b/clients/client-glue/pagination/GetPartitionsPaginator.ts @@ -33,7 +33,7 @@ export async function* getPartitionsPaginate( let hasNext = true; let page: GetPartitionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getPartitionsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetSecurityConfigurationsPaginator.ts b/clients/client-glue/pagination/GetSecurityConfigurationsPaginator.ts index a31f0d2dd8fc..e270ef0099a3 100644 --- a/clients/client-glue/pagination/GetSecurityConfigurationsPaginator.ts +++ b/clients/client-glue/pagination/GetSecurityConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getSecurityConfigurationsPaginate( let hasNext = true; let page: GetSecurityConfigurationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getSecurityConfigurationsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetTableVersionsPaginator.ts b/clients/client-glue/pagination/GetTableVersionsPaginator.ts index 49c78368b994..0c602481b67f 100644 --- a/clients/client-glue/pagination/GetTableVersionsPaginator.ts +++ b/clients/client-glue/pagination/GetTableVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* getTableVersionsPaginate( let hasNext = true; let page: GetTableVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getTableVersionsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetTablesPaginator.ts b/clients/client-glue/pagination/GetTablesPaginator.ts index 7344f25e466f..0f1bae13dbc1 100644 --- a/clients/client-glue/pagination/GetTablesPaginator.ts +++ b/clients/client-glue/pagination/GetTablesPaginator.ts @@ -29,7 +29,7 @@ export async function* getTablesPaginate( let hasNext = true; let page: GetTablesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getTablesPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetTriggersPaginator.ts b/clients/client-glue/pagination/GetTriggersPaginator.ts index 098c47902272..1e44e57d0712 100644 --- a/clients/client-glue/pagination/GetTriggersPaginator.ts +++ b/clients/client-glue/pagination/GetTriggersPaginator.ts @@ -29,7 +29,7 @@ export async function* getTriggersPaginate( let hasNext = true; let page: GetTriggersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getTriggersPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetUserDefinedFunctionsPaginator.ts b/clients/client-glue/pagination/GetUserDefinedFunctionsPaginator.ts index 74f10ea64ed6..94f81a84034f 100644 --- a/clients/client-glue/pagination/GetUserDefinedFunctionsPaginator.ts +++ b/clients/client-glue/pagination/GetUserDefinedFunctionsPaginator.ts @@ -33,7 +33,7 @@ export async function* getUserDefinedFunctionsPaginate( let hasNext = true; let page: GetUserDefinedFunctionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getUserDefinedFunctionsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/GetWorkflowRunsPaginator.ts b/clients/client-glue/pagination/GetWorkflowRunsPaginator.ts index 7cab18724aaf..4154f28e4cd3 100644 --- a/clients/client-glue/pagination/GetWorkflowRunsPaginator.ts +++ b/clients/client-glue/pagination/GetWorkflowRunsPaginator.ts @@ -33,7 +33,7 @@ export async function* getWorkflowRunsPaginate( let hasNext = true; let page: GetWorkflowRunsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getWorkflowRunsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/ListCrawlersPaginator.ts b/clients/client-glue/pagination/ListCrawlersPaginator.ts index aa3b01d0fe87..b1841fc384ae 100644 --- a/clients/client-glue/pagination/ListCrawlersPaginator.ts +++ b/clients/client-glue/pagination/ListCrawlersPaginator.ts @@ -33,7 +33,7 @@ export async function* listCrawlersPaginate( let hasNext = true; let page: ListCrawlersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCrawlersPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/ListDevEndpointsPaginator.ts b/clients/client-glue/pagination/ListDevEndpointsPaginator.ts index 971f5756928b..f7dc2f9209b3 100644 --- a/clients/client-glue/pagination/ListDevEndpointsPaginator.ts +++ b/clients/client-glue/pagination/ListDevEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDevEndpointsPaginate( let hasNext = true; let page: ListDevEndpointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDevEndpointsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/ListJobsPaginator.ts b/clients/client-glue/pagination/ListJobsPaginator.ts index 3fefcaa44811..d185a35c1830 100644 --- a/clients/client-glue/pagination/ListJobsPaginator.ts +++ b/clients/client-glue/pagination/ListJobsPaginator.ts @@ -29,7 +29,7 @@ export async function* listJobsPaginate( let hasNext = true; let page: ListJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listJobsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/ListMLTransformsPaginator.ts b/clients/client-glue/pagination/ListMLTransformsPaginator.ts index 716a9f269527..d4feedcb6740 100644 --- a/clients/client-glue/pagination/ListMLTransformsPaginator.ts +++ b/clients/client-glue/pagination/ListMLTransformsPaginator.ts @@ -33,7 +33,7 @@ export async function* listMLTransformsPaginate( let hasNext = true; let page: ListMLTransformsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMLTransformsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/ListTriggersPaginator.ts b/clients/client-glue/pagination/ListTriggersPaginator.ts index 110857cd6e53..0f8e449633cf 100644 --- a/clients/client-glue/pagination/ListTriggersPaginator.ts +++ b/clients/client-glue/pagination/ListTriggersPaginator.ts @@ -33,7 +33,7 @@ export async function* listTriggersPaginate( let hasNext = true; let page: ListTriggersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTriggersPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/ListWorkflowsPaginator.ts b/clients/client-glue/pagination/ListWorkflowsPaginator.ts index 3eeab28289df..b3ef6e2f21f6 100644 --- a/clients/client-glue/pagination/ListWorkflowsPaginator.ts +++ b/clients/client-glue/pagination/ListWorkflowsPaginator.ts @@ -33,7 +33,7 @@ export async function* listWorkflowsPaginate( let hasNext = true; let page: ListWorkflowsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWorkflowsPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-glue/pagination/SearchTablesPaginator.ts b/clients/client-glue/pagination/SearchTablesPaginator.ts index a56e77b4d7ba..cc2e84ee9b70 100644 --- a/clients/client-glue/pagination/SearchTablesPaginator.ts +++ b/clients/client-glue/pagination/SearchTablesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchTablesPaginate( let hasNext = true; let page: SearchTablesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Glue) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchTablesPaginate( throw new Error("Invalid client, expected Glue | GlueClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-groundstation/pagination/ListConfigsPaginator.ts b/clients/client-groundstation/pagination/ListConfigsPaginator.ts index d27daa2aed4d..50805458a28e 100644 --- a/clients/client-groundstation/pagination/ListConfigsPaginator.ts +++ b/clients/client-groundstation/pagination/ListConfigsPaginator.ts @@ -29,7 +29,7 @@ export async function* listConfigsPaginate( let hasNext = true; let page: ListConfigsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof GroundStation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listConfigsPaginate( throw new Error("Invalid client, expected GroundStation | GroundStationClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-groundstation/pagination/ListContactsPaginator.ts b/clients/client-groundstation/pagination/ListContactsPaginator.ts index 48b44c2c2cdb..8834a27439f9 100644 --- a/clients/client-groundstation/pagination/ListContactsPaginator.ts +++ b/clients/client-groundstation/pagination/ListContactsPaginator.ts @@ -33,7 +33,7 @@ export async function* listContactsPaginate( let hasNext = true; let page: ListContactsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof GroundStation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listContactsPaginate( throw new Error("Invalid client, expected GroundStation | GroundStationClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-groundstation/pagination/ListDataflowEndpointGroupsPaginator.ts b/clients/client-groundstation/pagination/ListDataflowEndpointGroupsPaginator.ts index c69dc604fea6..aecf57e2cc42 100644 --- a/clients/client-groundstation/pagination/ListDataflowEndpointGroupsPaginator.ts +++ b/clients/client-groundstation/pagination/ListDataflowEndpointGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDataflowEndpointGroupsPaginate( let hasNext = true; let page: ListDataflowEndpointGroupsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof GroundStation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDataflowEndpointGroupsPaginate( throw new Error("Invalid client, expected GroundStation | GroundStationClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-groundstation/pagination/ListGroundStationsPaginator.ts b/clients/client-groundstation/pagination/ListGroundStationsPaginator.ts index 0742f978d707..1d1fff6dd823 100644 --- a/clients/client-groundstation/pagination/ListGroundStationsPaginator.ts +++ b/clients/client-groundstation/pagination/ListGroundStationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listGroundStationsPaginate( let hasNext = true; let page: ListGroundStationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof GroundStation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGroundStationsPaginate( throw new Error("Invalid client, expected GroundStation | GroundStationClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-groundstation/pagination/ListMissionProfilesPaginator.ts b/clients/client-groundstation/pagination/ListMissionProfilesPaginator.ts index 0e6292267397..195db485adf2 100644 --- a/clients/client-groundstation/pagination/ListMissionProfilesPaginator.ts +++ b/clients/client-groundstation/pagination/ListMissionProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* listMissionProfilesPaginate( let hasNext = true; let page: ListMissionProfilesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof GroundStation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMissionProfilesPaginate( throw new Error("Invalid client, expected GroundStation | GroundStationClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-groundstation/pagination/ListSatellitesPaginator.ts b/clients/client-groundstation/pagination/ListSatellitesPaginator.ts index fc83596afe8a..2717c4976a39 100644 --- a/clients/client-groundstation/pagination/ListSatellitesPaginator.ts +++ b/clients/client-groundstation/pagination/ListSatellitesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSatellitesPaginate( let hasNext = true; let page: ListSatellitesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof GroundStation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSatellitesPaginate( throw new Error("Invalid client, expected GroundStation | GroundStationClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-guardduty/pagination/GetUsageStatisticsPaginator.ts b/clients/client-guardduty/pagination/GetUsageStatisticsPaginator.ts index c8c07cfd9d33..bf1010723540 100644 --- a/clients/client-guardduty/pagination/GetUsageStatisticsPaginator.ts +++ b/clients/client-guardduty/pagination/GetUsageStatisticsPaginator.ts @@ -33,7 +33,7 @@ export async function* getUsageStatisticsPaginate( let hasNext = true; let page: GetUsageStatisticsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof GuardDuty) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getUsageStatisticsPaginate( throw new Error("Invalid client, expected GuardDuty | GuardDutyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-guardduty/pagination/ListDetectorsPaginator.ts b/clients/client-guardduty/pagination/ListDetectorsPaginator.ts index 1b64fd396ddb..564948b82773 100644 --- a/clients/client-guardduty/pagination/ListDetectorsPaginator.ts +++ b/clients/client-guardduty/pagination/ListDetectorsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDetectorsPaginate( let hasNext = true; let page: ListDetectorsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof GuardDuty) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDetectorsPaginate( throw new Error("Invalid client, expected GuardDuty | GuardDutyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-guardduty/pagination/ListFiltersPaginator.ts b/clients/client-guardduty/pagination/ListFiltersPaginator.ts index ef648dba3641..4786d2fbdf5d 100644 --- a/clients/client-guardduty/pagination/ListFiltersPaginator.ts +++ b/clients/client-guardduty/pagination/ListFiltersPaginator.ts @@ -29,7 +29,7 @@ export async function* listFiltersPaginate( let hasNext = true; let page: ListFiltersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof GuardDuty) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listFiltersPaginate( throw new Error("Invalid client, expected GuardDuty | GuardDutyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-guardduty/pagination/ListFindingsPaginator.ts b/clients/client-guardduty/pagination/ListFindingsPaginator.ts index 496f517bb776..6d1e0e141e5f 100644 --- a/clients/client-guardduty/pagination/ListFindingsPaginator.ts +++ b/clients/client-guardduty/pagination/ListFindingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listFindingsPaginate( let hasNext = true; let page: ListFindingsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof GuardDuty) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFindingsPaginate( throw new Error("Invalid client, expected GuardDuty | GuardDutyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-guardduty/pagination/ListIPSetsPaginator.ts b/clients/client-guardduty/pagination/ListIPSetsPaginator.ts index eba5ab08b604..c290554be7a8 100644 --- a/clients/client-guardduty/pagination/ListIPSetsPaginator.ts +++ b/clients/client-guardduty/pagination/ListIPSetsPaginator.ts @@ -29,7 +29,7 @@ export async function* listIPSetsPaginate( let hasNext = true; let page: ListIPSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof GuardDuty) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listIPSetsPaginate( throw new Error("Invalid client, expected GuardDuty | GuardDutyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-guardduty/pagination/ListInvitationsPaginator.ts b/clients/client-guardduty/pagination/ListInvitationsPaginator.ts index f13dc8637088..786587145e0f 100644 --- a/clients/client-guardduty/pagination/ListInvitationsPaginator.ts +++ b/clients/client-guardduty/pagination/ListInvitationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listInvitationsPaginate( let hasNext = true; let page: ListInvitationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof GuardDuty) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInvitationsPaginate( throw new Error("Invalid client, expected GuardDuty | GuardDutyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-guardduty/pagination/ListMembersPaginator.ts b/clients/client-guardduty/pagination/ListMembersPaginator.ts index 236ce50f385a..900d24893b6b 100644 --- a/clients/client-guardduty/pagination/ListMembersPaginator.ts +++ b/clients/client-guardduty/pagination/ListMembersPaginator.ts @@ -29,7 +29,7 @@ export async function* listMembersPaginate( let hasNext = true; let page: ListMembersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof GuardDuty) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listMembersPaginate( throw new Error("Invalid client, expected GuardDuty | GuardDutyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-guardduty/pagination/ListOrganizationAdminAccountsPaginator.ts b/clients/client-guardduty/pagination/ListOrganizationAdminAccountsPaginator.ts index 7c6a1d85509c..b7e3c4f488d9 100644 --- a/clients/client-guardduty/pagination/ListOrganizationAdminAccountsPaginator.ts +++ b/clients/client-guardduty/pagination/ListOrganizationAdminAccountsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOrganizationAdminAccountsPaginate( let hasNext = true; let page: ListOrganizationAdminAccountsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof GuardDuty) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOrganizationAdminAccountsPaginate( throw new Error("Invalid client, expected GuardDuty | GuardDutyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-guardduty/pagination/ListPublishingDestinationsPaginator.ts b/clients/client-guardduty/pagination/ListPublishingDestinationsPaginator.ts index 797ca5130454..ddf44968023b 100644 --- a/clients/client-guardduty/pagination/ListPublishingDestinationsPaginator.ts +++ b/clients/client-guardduty/pagination/ListPublishingDestinationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPublishingDestinationsPaginate( let hasNext = true; let page: ListPublishingDestinationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof GuardDuty) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPublishingDestinationsPaginate( throw new Error("Invalid client, expected GuardDuty | GuardDutyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-guardduty/pagination/ListThreatIntelSetsPaginator.ts b/clients/client-guardduty/pagination/ListThreatIntelSetsPaginator.ts index b1b9f30586c3..c75d286062e7 100644 --- a/clients/client-guardduty/pagination/ListThreatIntelSetsPaginator.ts +++ b/clients/client-guardduty/pagination/ListThreatIntelSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listThreatIntelSetsPaginate( let hasNext = true; let page: ListThreatIntelSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof GuardDuty) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listThreatIntelSetsPaginate( throw new Error("Invalid client, expected GuardDuty | GuardDutyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-health/pagination/DescribeAffectedAccountsForOrganizationPaginator.ts b/clients/client-health/pagination/DescribeAffectedAccountsForOrganizationPaginator.ts index 737f6e2befd9..785a5fd20078 100644 --- a/clients/client-health/pagination/DescribeAffectedAccountsForOrganizationPaginator.ts +++ b/clients/client-health/pagination/DescribeAffectedAccountsForOrganizationPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAffectedAccountsForOrganizationPaginate( let hasNext = true; let page: DescribeAffectedAccountsForOrganizationCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Health) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAffectedAccountsForOrganizationPaginate( throw new Error("Invalid client, expected Health | HealthClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-health/pagination/DescribeAffectedEntitiesForOrganizationPaginator.ts b/clients/client-health/pagination/DescribeAffectedEntitiesForOrganizationPaginator.ts index 5fbe804dd312..819a678924e5 100644 --- a/clients/client-health/pagination/DescribeAffectedEntitiesForOrganizationPaginator.ts +++ b/clients/client-health/pagination/DescribeAffectedEntitiesForOrganizationPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAffectedEntitiesForOrganizationPaginate( let hasNext = true; let page: DescribeAffectedEntitiesForOrganizationCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Health) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAffectedEntitiesForOrganizationPaginate( throw new Error("Invalid client, expected Health | HealthClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-health/pagination/DescribeAffectedEntitiesPaginator.ts b/clients/client-health/pagination/DescribeAffectedEntitiesPaginator.ts index 01f1020679c2..59b741b5602d 100644 --- a/clients/client-health/pagination/DescribeAffectedEntitiesPaginator.ts +++ b/clients/client-health/pagination/DescribeAffectedEntitiesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAffectedEntitiesPaginate( let hasNext = true; let page: DescribeAffectedEntitiesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Health) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAffectedEntitiesPaginate( throw new Error("Invalid client, expected Health | HealthClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-health/pagination/DescribeEventAggregatesPaginator.ts b/clients/client-health/pagination/DescribeEventAggregatesPaginator.ts index d7bd28b560f1..d29ebf70a08f 100644 --- a/clients/client-health/pagination/DescribeEventAggregatesPaginator.ts +++ b/clients/client-health/pagination/DescribeEventAggregatesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventAggregatesPaginate( let hasNext = true; let page: DescribeEventAggregatesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Health) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventAggregatesPaginate( throw new Error("Invalid client, expected Health | HealthClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-health/pagination/DescribeEventTypesPaginator.ts b/clients/client-health/pagination/DescribeEventTypesPaginator.ts index 9798264bdec0..b70bca39a8c9 100644 --- a/clients/client-health/pagination/DescribeEventTypesPaginator.ts +++ b/clients/client-health/pagination/DescribeEventTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventTypesPaginate( let hasNext = true; let page: DescribeEventTypesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Health) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventTypesPaginate( throw new Error("Invalid client, expected Health | HealthClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-health/pagination/DescribeEventsForOrganizationPaginator.ts b/clients/client-health/pagination/DescribeEventsForOrganizationPaginator.ts index 2454132f283f..b5e9dc7dde2f 100644 --- a/clients/client-health/pagination/DescribeEventsForOrganizationPaginator.ts +++ b/clients/client-health/pagination/DescribeEventsForOrganizationPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventsForOrganizationPaginate( let hasNext = true; let page: DescribeEventsForOrganizationCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Health) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventsForOrganizationPaginate( throw new Error("Invalid client, expected Health | HealthClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-health/pagination/DescribeEventsPaginator.ts b/clients/client-health/pagination/DescribeEventsPaginator.ts index ce87954463da..1bff33a171b8 100644 --- a/clients/client-health/pagination/DescribeEventsPaginator.ts +++ b/clients/client-health/pagination/DescribeEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventsPaginate( let hasNext = true; let page: DescribeEventsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Health) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventsPaginate( throw new Error("Invalid client, expected Health | HealthClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/GetAccountAuthorizationDetailsPaginator.ts b/clients/client-iam/pagination/GetAccountAuthorizationDetailsPaginator.ts index 88cbc494c92b..c299396cfb94 100644 --- a/clients/client-iam/pagination/GetAccountAuthorizationDetailsPaginator.ts +++ b/clients/client-iam/pagination/GetAccountAuthorizationDetailsPaginator.ts @@ -33,7 +33,7 @@ export async function* getAccountAuthorizationDetailsPaginate( let hasNext = true; let page: GetAccountAuthorizationDetailsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getAccountAuthorizationDetailsPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/GetGroupPaginator.ts b/clients/client-iam/pagination/GetGroupPaginator.ts index ac691444d8ba..dc33f05823ff 100644 --- a/clients/client-iam/pagination/GetGroupPaginator.ts +++ b/clients/client-iam/pagination/GetGroupPaginator.ts @@ -29,7 +29,7 @@ export async function* getGroupPaginate( let hasNext = true; let page: GetGroupCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getGroupPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListAccessKeysPaginator.ts b/clients/client-iam/pagination/ListAccessKeysPaginator.ts index c277d2c47914..6fd03abeee67 100644 --- a/clients/client-iam/pagination/ListAccessKeysPaginator.ts +++ b/clients/client-iam/pagination/ListAccessKeysPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccessKeysPaginate( let hasNext = true; let page: ListAccessKeysCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccessKeysPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListAccountAliasesPaginator.ts b/clients/client-iam/pagination/ListAccountAliasesPaginator.ts index ff8dc35361a4..491050c9b865 100644 --- a/clients/client-iam/pagination/ListAccountAliasesPaginator.ts +++ b/clients/client-iam/pagination/ListAccountAliasesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountAliasesPaginate( let hasNext = true; let page: ListAccountAliasesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountAliasesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListAttachedGroupPoliciesPaginator.ts b/clients/client-iam/pagination/ListAttachedGroupPoliciesPaginator.ts index fa27a05164bd..e979eaf1b2ca 100644 --- a/clients/client-iam/pagination/ListAttachedGroupPoliciesPaginator.ts +++ b/clients/client-iam/pagination/ListAttachedGroupPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAttachedGroupPoliciesPaginate( let hasNext = true; let page: ListAttachedGroupPoliciesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAttachedGroupPoliciesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListAttachedRolePoliciesPaginator.ts b/clients/client-iam/pagination/ListAttachedRolePoliciesPaginator.ts index 925d80e316ad..b2c96b406aa3 100644 --- a/clients/client-iam/pagination/ListAttachedRolePoliciesPaginator.ts +++ b/clients/client-iam/pagination/ListAttachedRolePoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAttachedRolePoliciesPaginate( let hasNext = true; let page: ListAttachedRolePoliciesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAttachedRolePoliciesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListAttachedUserPoliciesPaginator.ts b/clients/client-iam/pagination/ListAttachedUserPoliciesPaginator.ts index 8a2f75093ccb..a564cb71b133 100644 --- a/clients/client-iam/pagination/ListAttachedUserPoliciesPaginator.ts +++ b/clients/client-iam/pagination/ListAttachedUserPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAttachedUserPoliciesPaginate( let hasNext = true; let page: ListAttachedUserPoliciesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAttachedUserPoliciesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListEntitiesForPolicyPaginator.ts b/clients/client-iam/pagination/ListEntitiesForPolicyPaginator.ts index 5c4f8ffc80b0..f6238a6e056f 100644 --- a/clients/client-iam/pagination/ListEntitiesForPolicyPaginator.ts +++ b/clients/client-iam/pagination/ListEntitiesForPolicyPaginator.ts @@ -33,7 +33,7 @@ export async function* listEntitiesForPolicyPaginate( let hasNext = true; let page: ListEntitiesForPolicyCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEntitiesForPolicyPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListGroupPoliciesPaginator.ts b/clients/client-iam/pagination/ListGroupPoliciesPaginator.ts index 178b88f0d7a9..25cbaa0afbe1 100644 --- a/clients/client-iam/pagination/ListGroupPoliciesPaginator.ts +++ b/clients/client-iam/pagination/ListGroupPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listGroupPoliciesPaginate( let hasNext = true; let page: ListGroupPoliciesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGroupPoliciesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListGroupsForUserPaginator.ts b/clients/client-iam/pagination/ListGroupsForUserPaginator.ts index 7a3f5221b9a8..43fbe5a8b71b 100644 --- a/clients/client-iam/pagination/ListGroupsForUserPaginator.ts +++ b/clients/client-iam/pagination/ListGroupsForUserPaginator.ts @@ -33,7 +33,7 @@ export async function* listGroupsForUserPaginate( let hasNext = true; let page: ListGroupsForUserCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGroupsForUserPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListGroupsPaginator.ts b/clients/client-iam/pagination/ListGroupsPaginator.ts index 5bae489b2664..1bb563150417 100644 --- a/clients/client-iam/pagination/ListGroupsPaginator.ts +++ b/clients/client-iam/pagination/ListGroupsPaginator.ts @@ -29,7 +29,7 @@ export async function* listGroupsPaginate( let hasNext = true; let page: ListGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listGroupsPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListInstanceProfilesForRolePaginator.ts b/clients/client-iam/pagination/ListInstanceProfilesForRolePaginator.ts index 4da75f6dc8fe..ad22a8a71bbd 100644 --- a/clients/client-iam/pagination/ListInstanceProfilesForRolePaginator.ts +++ b/clients/client-iam/pagination/ListInstanceProfilesForRolePaginator.ts @@ -33,7 +33,7 @@ export async function* listInstanceProfilesForRolePaginate( let hasNext = true; let page: ListInstanceProfilesForRoleCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInstanceProfilesForRolePaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListInstanceProfilesPaginator.ts b/clients/client-iam/pagination/ListInstanceProfilesPaginator.ts index fc85a532effa..3f6ba18d46e4 100644 --- a/clients/client-iam/pagination/ListInstanceProfilesPaginator.ts +++ b/clients/client-iam/pagination/ListInstanceProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* listInstanceProfilesPaginate( let hasNext = true; let page: ListInstanceProfilesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInstanceProfilesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListMFADevicesPaginator.ts b/clients/client-iam/pagination/ListMFADevicesPaginator.ts index c89d69769eb8..7d3580f20b3e 100644 --- a/clients/client-iam/pagination/ListMFADevicesPaginator.ts +++ b/clients/client-iam/pagination/ListMFADevicesPaginator.ts @@ -33,7 +33,7 @@ export async function* listMFADevicesPaginate( let hasNext = true; let page: ListMFADevicesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMFADevicesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListPoliciesPaginator.ts b/clients/client-iam/pagination/ListPoliciesPaginator.ts index c54e08a8bdc8..ef143c86de7f 100644 --- a/clients/client-iam/pagination/ListPoliciesPaginator.ts +++ b/clients/client-iam/pagination/ListPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPoliciesPaginate( let hasNext = true; let page: ListPoliciesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPoliciesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListPolicyVersionsPaginator.ts b/clients/client-iam/pagination/ListPolicyVersionsPaginator.ts index b385d5fa3139..3011f174e7e6 100644 --- a/clients/client-iam/pagination/ListPolicyVersionsPaginator.ts +++ b/clients/client-iam/pagination/ListPolicyVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPolicyVersionsPaginate( let hasNext = true; let page: ListPolicyVersionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPolicyVersionsPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListRolePoliciesPaginator.ts b/clients/client-iam/pagination/ListRolePoliciesPaginator.ts index 3c48a706b77d..c4f8af58780e 100644 --- a/clients/client-iam/pagination/ListRolePoliciesPaginator.ts +++ b/clients/client-iam/pagination/ListRolePoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listRolePoliciesPaginate( let hasNext = true; let page: ListRolePoliciesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRolePoliciesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListRolesPaginator.ts b/clients/client-iam/pagination/ListRolesPaginator.ts index 7687e9ed9df9..40f149a5988b 100644 --- a/clients/client-iam/pagination/ListRolesPaginator.ts +++ b/clients/client-iam/pagination/ListRolesPaginator.ts @@ -29,7 +29,7 @@ export async function* listRolesPaginate( let hasNext = true; let page: ListRolesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listRolesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListSSHPublicKeysPaginator.ts b/clients/client-iam/pagination/ListSSHPublicKeysPaginator.ts index 809b5a6c4add..6ebc45342b1d 100644 --- a/clients/client-iam/pagination/ListSSHPublicKeysPaginator.ts +++ b/clients/client-iam/pagination/ListSSHPublicKeysPaginator.ts @@ -33,7 +33,7 @@ export async function* listSSHPublicKeysPaginate( let hasNext = true; let page: ListSSHPublicKeysCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSSHPublicKeysPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListServerCertificatesPaginator.ts b/clients/client-iam/pagination/ListServerCertificatesPaginator.ts index 1f85a5de23a9..9d7a9ae690f8 100644 --- a/clients/client-iam/pagination/ListServerCertificatesPaginator.ts +++ b/clients/client-iam/pagination/ListServerCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listServerCertificatesPaginate( let hasNext = true; let page: ListServerCertificatesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listServerCertificatesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListSigningCertificatesPaginator.ts b/clients/client-iam/pagination/ListSigningCertificatesPaginator.ts index 22a8a0d3540a..f88e012319b4 100644 --- a/clients/client-iam/pagination/ListSigningCertificatesPaginator.ts +++ b/clients/client-iam/pagination/ListSigningCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSigningCertificatesPaginate( let hasNext = true; let page: ListSigningCertificatesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSigningCertificatesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListUserPoliciesPaginator.ts b/clients/client-iam/pagination/ListUserPoliciesPaginator.ts index 84a5a2cc7616..2876f5d2dcc0 100644 --- a/clients/client-iam/pagination/ListUserPoliciesPaginator.ts +++ b/clients/client-iam/pagination/ListUserPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listUserPoliciesPaginate( let hasNext = true; let page: ListUserPoliciesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listUserPoliciesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListUsersPaginator.ts b/clients/client-iam/pagination/ListUsersPaginator.ts index 333efc507506..cae28ec78f0a 100644 --- a/clients/client-iam/pagination/ListUsersPaginator.ts +++ b/clients/client-iam/pagination/ListUsersPaginator.ts @@ -29,7 +29,7 @@ export async function* listUsersPaginate( let hasNext = true; let page: ListUsersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listUsersPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/ListVirtualMFADevicesPaginator.ts b/clients/client-iam/pagination/ListVirtualMFADevicesPaginator.ts index a65c2be1702c..4518df98fce5 100644 --- a/clients/client-iam/pagination/ListVirtualMFADevicesPaginator.ts +++ b/clients/client-iam/pagination/ListVirtualMFADevicesPaginator.ts @@ -33,7 +33,7 @@ export async function* listVirtualMFADevicesPaginate( let hasNext = true; let page: ListVirtualMFADevicesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listVirtualMFADevicesPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/SimulateCustomPolicyPaginator.ts b/clients/client-iam/pagination/SimulateCustomPolicyPaginator.ts index 9b1c0ea0a59b..024b6cabceae 100644 --- a/clients/client-iam/pagination/SimulateCustomPolicyPaginator.ts +++ b/clients/client-iam/pagination/SimulateCustomPolicyPaginator.ts @@ -33,7 +33,7 @@ export async function* simulateCustomPolicyPaginate( let hasNext = true; let page: SimulateCustomPolicyCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* simulateCustomPolicyPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iam/pagination/SimulatePrincipalPolicyPaginator.ts b/clients/client-iam/pagination/SimulatePrincipalPolicyPaginator.ts index 42dec076cea6..a565e5f68811 100644 --- a/clients/client-iam/pagination/SimulatePrincipalPolicyPaginator.ts +++ b/clients/client-iam/pagination/SimulatePrincipalPolicyPaginator.ts @@ -33,7 +33,7 @@ export async function* simulatePrincipalPolicyPaginate( let hasNext = true; let page: SimulatePrincipalPolicyCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof IAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* simulatePrincipalPolicyPaginate( throw new Error("Invalid client, expected IAM | IAMClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-identitystore/pagination/ListGroupsPaginator.ts b/clients/client-identitystore/pagination/ListGroupsPaginator.ts index 764ffea3e45c..a741a2cb34f0 100644 --- a/clients/client-identitystore/pagination/ListGroupsPaginator.ts +++ b/clients/client-identitystore/pagination/ListGroupsPaginator.ts @@ -29,7 +29,7 @@ export async function* listGroupsPaginate( let hasNext = true; let page: ListGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Identitystore) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listGroupsPaginate( throw new Error("Invalid client, expected Identitystore | IdentitystoreClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-identitystore/pagination/ListUsersPaginator.ts b/clients/client-identitystore/pagination/ListUsersPaginator.ts index c3bc57699e46..290ab9c8afac 100644 --- a/clients/client-identitystore/pagination/ListUsersPaginator.ts +++ b/clients/client-identitystore/pagination/ListUsersPaginator.ts @@ -29,7 +29,7 @@ export async function* listUsersPaginate( let hasNext = true; let page: ListUsersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Identitystore) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listUsersPaginate( throw new Error("Invalid client, expected Identitystore | IdentitystoreClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-imagebuilder/pagination/ListComponentBuildVersionsPaginator.ts b/clients/client-imagebuilder/pagination/ListComponentBuildVersionsPaginator.ts index 25463b69ef7d..3825a4992646 100644 --- a/clients/client-imagebuilder/pagination/ListComponentBuildVersionsPaginator.ts +++ b/clients/client-imagebuilder/pagination/ListComponentBuildVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listComponentBuildVersionsPaginate( let hasNext = true; let page: ListComponentBuildVersionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Imagebuilder) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listComponentBuildVersionsPaginate( throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-imagebuilder/pagination/ListComponentsPaginator.ts b/clients/client-imagebuilder/pagination/ListComponentsPaginator.ts index 77adda526d1e..0b2ecbb4fdb0 100644 --- a/clients/client-imagebuilder/pagination/ListComponentsPaginator.ts +++ b/clients/client-imagebuilder/pagination/ListComponentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listComponentsPaginate( let hasNext = true; let page: ListComponentsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Imagebuilder) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listComponentsPaginate( throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-imagebuilder/pagination/ListDistributionConfigurationsPaginator.ts b/clients/client-imagebuilder/pagination/ListDistributionConfigurationsPaginator.ts index c2dabc8af3c3..116e6bc112b9 100644 --- a/clients/client-imagebuilder/pagination/ListDistributionConfigurationsPaginator.ts +++ b/clients/client-imagebuilder/pagination/ListDistributionConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDistributionConfigurationsPaginate( let hasNext = true; let page: ListDistributionConfigurationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Imagebuilder) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDistributionConfigurationsPaginate( throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-imagebuilder/pagination/ListImageBuildVersionsPaginator.ts b/clients/client-imagebuilder/pagination/ListImageBuildVersionsPaginator.ts index 57117f152d6d..7269e77b1d55 100644 --- a/clients/client-imagebuilder/pagination/ListImageBuildVersionsPaginator.ts +++ b/clients/client-imagebuilder/pagination/ListImageBuildVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listImageBuildVersionsPaginate( let hasNext = true; let page: ListImageBuildVersionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Imagebuilder) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listImageBuildVersionsPaginate( throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-imagebuilder/pagination/ListImagePipelineImagesPaginator.ts b/clients/client-imagebuilder/pagination/ListImagePipelineImagesPaginator.ts index daa10881c320..8acdd85da9c4 100644 --- a/clients/client-imagebuilder/pagination/ListImagePipelineImagesPaginator.ts +++ b/clients/client-imagebuilder/pagination/ListImagePipelineImagesPaginator.ts @@ -33,7 +33,7 @@ export async function* listImagePipelineImagesPaginate( let hasNext = true; let page: ListImagePipelineImagesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Imagebuilder) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listImagePipelineImagesPaginate( throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-imagebuilder/pagination/ListImagePipelinesPaginator.ts b/clients/client-imagebuilder/pagination/ListImagePipelinesPaginator.ts index 7228315fbd8d..5a44507767a5 100644 --- a/clients/client-imagebuilder/pagination/ListImagePipelinesPaginator.ts +++ b/clients/client-imagebuilder/pagination/ListImagePipelinesPaginator.ts @@ -33,7 +33,7 @@ export async function* listImagePipelinesPaginate( let hasNext = true; let page: ListImagePipelinesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Imagebuilder) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listImagePipelinesPaginate( throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-imagebuilder/pagination/ListImageRecipesPaginator.ts b/clients/client-imagebuilder/pagination/ListImageRecipesPaginator.ts index 7adfff4575b6..a8e52d2c1f94 100644 --- a/clients/client-imagebuilder/pagination/ListImageRecipesPaginator.ts +++ b/clients/client-imagebuilder/pagination/ListImageRecipesPaginator.ts @@ -33,7 +33,7 @@ export async function* listImageRecipesPaginate( let hasNext = true; let page: ListImageRecipesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Imagebuilder) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listImageRecipesPaginate( throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-imagebuilder/pagination/ListImagesPaginator.ts b/clients/client-imagebuilder/pagination/ListImagesPaginator.ts index a694968967f6..2f1d98ad6294 100644 --- a/clients/client-imagebuilder/pagination/ListImagesPaginator.ts +++ b/clients/client-imagebuilder/pagination/ListImagesPaginator.ts @@ -29,7 +29,7 @@ export async function* listImagesPaginate( let hasNext = true; let page: ListImagesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Imagebuilder) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listImagesPaginate( throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-imagebuilder/pagination/ListInfrastructureConfigurationsPaginator.ts b/clients/client-imagebuilder/pagination/ListInfrastructureConfigurationsPaginator.ts index bf0f64db1f70..4d9ad43e5a28 100644 --- a/clients/client-imagebuilder/pagination/ListInfrastructureConfigurationsPaginator.ts +++ b/clients/client-imagebuilder/pagination/ListInfrastructureConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listInfrastructureConfigurationsPaginate( let hasNext = true; let page: ListInfrastructureConfigurationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Imagebuilder) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInfrastructureConfigurationsPaginate( throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-inspector/pagination/GetExclusionsPreviewPaginator.ts b/clients/client-inspector/pagination/GetExclusionsPreviewPaginator.ts index 975d40fa6ed6..06d53461d294 100644 --- a/clients/client-inspector/pagination/GetExclusionsPreviewPaginator.ts +++ b/clients/client-inspector/pagination/GetExclusionsPreviewPaginator.ts @@ -33,7 +33,7 @@ export async function* getExclusionsPreviewPaginate( let hasNext = true; let page: GetExclusionsPreviewCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Inspector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getExclusionsPreviewPaginate( throw new Error("Invalid client, expected Inspector | InspectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-inspector/pagination/ListAssessmentRunAgentsPaginator.ts b/clients/client-inspector/pagination/ListAssessmentRunAgentsPaginator.ts index 9e6d1d5b8abb..75e2e4f41565 100644 --- a/clients/client-inspector/pagination/ListAssessmentRunAgentsPaginator.ts +++ b/clients/client-inspector/pagination/ListAssessmentRunAgentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAssessmentRunAgentsPaginate( let hasNext = true; let page: ListAssessmentRunAgentsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Inspector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAssessmentRunAgentsPaginate( throw new Error("Invalid client, expected Inspector | InspectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-inspector/pagination/ListAssessmentRunsPaginator.ts b/clients/client-inspector/pagination/ListAssessmentRunsPaginator.ts index d074e4cabc49..60b7796a8ecb 100644 --- a/clients/client-inspector/pagination/ListAssessmentRunsPaginator.ts +++ b/clients/client-inspector/pagination/ListAssessmentRunsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAssessmentRunsPaginate( let hasNext = true; let page: ListAssessmentRunsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Inspector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAssessmentRunsPaginate( throw new Error("Invalid client, expected Inspector | InspectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-inspector/pagination/ListAssessmentTargetsPaginator.ts b/clients/client-inspector/pagination/ListAssessmentTargetsPaginator.ts index 6c8c4477aa4b..e53413d8c9f3 100644 --- a/clients/client-inspector/pagination/ListAssessmentTargetsPaginator.ts +++ b/clients/client-inspector/pagination/ListAssessmentTargetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAssessmentTargetsPaginate( let hasNext = true; let page: ListAssessmentTargetsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Inspector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAssessmentTargetsPaginate( throw new Error("Invalid client, expected Inspector | InspectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-inspector/pagination/ListAssessmentTemplatesPaginator.ts b/clients/client-inspector/pagination/ListAssessmentTemplatesPaginator.ts index 513d49c316c4..957ed1861232 100644 --- a/clients/client-inspector/pagination/ListAssessmentTemplatesPaginator.ts +++ b/clients/client-inspector/pagination/ListAssessmentTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAssessmentTemplatesPaginate( let hasNext = true; let page: ListAssessmentTemplatesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Inspector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAssessmentTemplatesPaginate( throw new Error("Invalid client, expected Inspector | InspectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-inspector/pagination/ListEventSubscriptionsPaginator.ts b/clients/client-inspector/pagination/ListEventSubscriptionsPaginator.ts index 79148eb771f0..a351f9239fa3 100644 --- a/clients/client-inspector/pagination/ListEventSubscriptionsPaginator.ts +++ b/clients/client-inspector/pagination/ListEventSubscriptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listEventSubscriptionsPaginate( let hasNext = true; let page: ListEventSubscriptionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Inspector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEventSubscriptionsPaginate( throw new Error("Invalid client, expected Inspector | InspectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-inspector/pagination/ListExclusionsPaginator.ts b/clients/client-inspector/pagination/ListExclusionsPaginator.ts index e910aa1b2b72..8091d465919e 100644 --- a/clients/client-inspector/pagination/ListExclusionsPaginator.ts +++ b/clients/client-inspector/pagination/ListExclusionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listExclusionsPaginate( let hasNext = true; let page: ListExclusionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Inspector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listExclusionsPaginate( throw new Error("Invalid client, expected Inspector | InspectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-inspector/pagination/ListFindingsPaginator.ts b/clients/client-inspector/pagination/ListFindingsPaginator.ts index ae227c6b7a20..75a6ac3e1c20 100644 --- a/clients/client-inspector/pagination/ListFindingsPaginator.ts +++ b/clients/client-inspector/pagination/ListFindingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listFindingsPaginate( let hasNext = true; let page: ListFindingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Inspector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFindingsPaginate( throw new Error("Invalid client, expected Inspector | InspectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-inspector/pagination/ListRulesPackagesPaginator.ts b/clients/client-inspector/pagination/ListRulesPackagesPaginator.ts index f1d9d5b07851..96e1d9840d85 100644 --- a/clients/client-inspector/pagination/ListRulesPackagesPaginator.ts +++ b/clients/client-inspector/pagination/ListRulesPackagesPaginator.ts @@ -33,7 +33,7 @@ export async function* listRulesPackagesPaginate( let hasNext = true; let page: ListRulesPackagesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Inspector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRulesPackagesPaginate( throw new Error("Invalid client, expected Inspector | InspectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-inspector/pagination/PreviewAgentsPaginator.ts b/clients/client-inspector/pagination/PreviewAgentsPaginator.ts index 66828591bbc1..c8c0e0cf8ad0 100644 --- a/clients/client-inspector/pagination/PreviewAgentsPaginator.ts +++ b/clients/client-inspector/pagination/PreviewAgentsPaginator.ts @@ -33,7 +33,7 @@ export async function* previewAgentsPaginate( let hasNext = true; let page: PreviewAgentsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Inspector) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* previewAgentsPaginate( throw new Error("Invalid client, expected Inspector | InspectorClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot-1click-projects/pagination/ListPlacementsPaginator.ts b/clients/client-iot-1click-projects/pagination/ListPlacementsPaginator.ts index 3a7f8076628b..8a8458f47846 100644 --- a/clients/client-iot-1click-projects/pagination/ListPlacementsPaginator.ts +++ b/clients/client-iot-1click-projects/pagination/ListPlacementsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPlacementsPaginate( let hasNext = true; let page: ListPlacementsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT1ClickProjects) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPlacementsPaginate( throw new Error("Invalid client, expected IoT1ClickProjects | IoT1ClickProjectsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot-1click-projects/pagination/ListProjectsPaginator.ts b/clients/client-iot-1click-projects/pagination/ListProjectsPaginator.ts index cd09bcb130b8..3f1977a79b66 100644 --- a/clients/client-iot-1click-projects/pagination/ListProjectsPaginator.ts +++ b/clients/client-iot-1click-projects/pagination/ListProjectsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProjectsPaginate( let hasNext = true; let page: ListProjectsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT1ClickProjects) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProjectsPaginate( throw new Error("Invalid client, expected IoT1ClickProjects | IoT1ClickProjectsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListActiveViolationsPaginator.ts b/clients/client-iot/pagination/ListActiveViolationsPaginator.ts index e26339dae26e..01d1ec568fa4 100644 --- a/clients/client-iot/pagination/ListActiveViolationsPaginator.ts +++ b/clients/client-iot/pagination/ListActiveViolationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listActiveViolationsPaginate( let hasNext = true; let page: ListActiveViolationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listActiveViolationsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListAttachedPoliciesPaginator.ts b/clients/client-iot/pagination/ListAttachedPoliciesPaginator.ts index 6b0b09866ed0..f0af6c602ae8 100644 --- a/clients/client-iot/pagination/ListAttachedPoliciesPaginator.ts +++ b/clients/client-iot/pagination/ListAttachedPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAttachedPoliciesPaginate( let hasNext = true; let page: ListAttachedPoliciesCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAttachedPoliciesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListAuditFindingsPaginator.ts b/clients/client-iot/pagination/ListAuditFindingsPaginator.ts index 0b542c6d4641..f1654300cefe 100644 --- a/clients/client-iot/pagination/ListAuditFindingsPaginator.ts +++ b/clients/client-iot/pagination/ListAuditFindingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAuditFindingsPaginate( let hasNext = true; let page: ListAuditFindingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAuditFindingsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListAuditMitigationActionsExecutionsPaginator.ts b/clients/client-iot/pagination/ListAuditMitigationActionsExecutionsPaginator.ts index f849ff1339cd..1ff3f72b562a 100644 --- a/clients/client-iot/pagination/ListAuditMitigationActionsExecutionsPaginator.ts +++ b/clients/client-iot/pagination/ListAuditMitigationActionsExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAuditMitigationActionsExecutionsPaginate( let hasNext = true; let page: ListAuditMitigationActionsExecutionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAuditMitigationActionsExecutionsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListAuditMitigationActionsTasksPaginator.ts b/clients/client-iot/pagination/ListAuditMitigationActionsTasksPaginator.ts index 4bc1b2690638..6c177b68f4f4 100644 --- a/clients/client-iot/pagination/ListAuditMitigationActionsTasksPaginator.ts +++ b/clients/client-iot/pagination/ListAuditMitigationActionsTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* listAuditMitigationActionsTasksPaginate( let hasNext = true; let page: ListAuditMitigationActionsTasksCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAuditMitigationActionsTasksPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListAuditSuppressionsPaginator.ts b/clients/client-iot/pagination/ListAuditSuppressionsPaginator.ts index fa8410d64f25..e01895b47c72 100644 --- a/clients/client-iot/pagination/ListAuditSuppressionsPaginator.ts +++ b/clients/client-iot/pagination/ListAuditSuppressionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAuditSuppressionsPaginate( let hasNext = true; let page: ListAuditSuppressionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAuditSuppressionsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListAuditTasksPaginator.ts b/clients/client-iot/pagination/ListAuditTasksPaginator.ts index 3d4ce9b6f19f..0c9390d08bc9 100644 --- a/clients/client-iot/pagination/ListAuditTasksPaginator.ts +++ b/clients/client-iot/pagination/ListAuditTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* listAuditTasksPaginate( let hasNext = true; let page: ListAuditTasksCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAuditTasksPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListAuthorizersPaginator.ts b/clients/client-iot/pagination/ListAuthorizersPaginator.ts index 1914c16570f7..f6c3a44896a5 100644 --- a/clients/client-iot/pagination/ListAuthorizersPaginator.ts +++ b/clients/client-iot/pagination/ListAuthorizersPaginator.ts @@ -33,7 +33,7 @@ export async function* listAuthorizersPaginate( let hasNext = true; let page: ListAuthorizersCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAuthorizersPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListBillingGroupsPaginator.ts b/clients/client-iot/pagination/ListBillingGroupsPaginator.ts index a327d05c6804..128f3b429f4e 100644 --- a/clients/client-iot/pagination/ListBillingGroupsPaginator.ts +++ b/clients/client-iot/pagination/ListBillingGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listBillingGroupsPaginate( let hasNext = true; let page: ListBillingGroupsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBillingGroupsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListCACertificatesPaginator.ts b/clients/client-iot/pagination/ListCACertificatesPaginator.ts index 38f2b12774ac..f48dce440dab 100644 --- a/clients/client-iot/pagination/ListCACertificatesPaginator.ts +++ b/clients/client-iot/pagination/ListCACertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listCACertificatesPaginate( let hasNext = true; let page: ListCACertificatesCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCACertificatesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListCertificatesByCAPaginator.ts b/clients/client-iot/pagination/ListCertificatesByCAPaginator.ts index 347765777cb7..b922b4409297 100644 --- a/clients/client-iot/pagination/ListCertificatesByCAPaginator.ts +++ b/clients/client-iot/pagination/ListCertificatesByCAPaginator.ts @@ -33,7 +33,7 @@ export async function* listCertificatesByCAPaginate( let hasNext = true; let page: ListCertificatesByCACommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCertificatesByCAPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListCertificatesPaginator.ts b/clients/client-iot/pagination/ListCertificatesPaginator.ts index ce7c01804d2f..d508d04cb4f5 100644 --- a/clients/client-iot/pagination/ListCertificatesPaginator.ts +++ b/clients/client-iot/pagination/ListCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listCertificatesPaginate( let hasNext = true; let page: ListCertificatesCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCertificatesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListDimensionsPaginator.ts b/clients/client-iot/pagination/ListDimensionsPaginator.ts index 920726b5b3ab..f2f8a429f5c5 100644 --- a/clients/client-iot/pagination/ListDimensionsPaginator.ts +++ b/clients/client-iot/pagination/ListDimensionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDimensionsPaginate( let hasNext = true; let page: ListDimensionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDimensionsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListDomainConfigurationsPaginator.ts b/clients/client-iot/pagination/ListDomainConfigurationsPaginator.ts index 8cd1f85259ee..8ad0f6c30af2 100644 --- a/clients/client-iot/pagination/ListDomainConfigurationsPaginator.ts +++ b/clients/client-iot/pagination/ListDomainConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDomainConfigurationsPaginate( let hasNext = true; let page: ListDomainConfigurationsCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDomainConfigurationsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListIndicesPaginator.ts b/clients/client-iot/pagination/ListIndicesPaginator.ts index 9b2f86773fc4..3c10c647a5a6 100644 --- a/clients/client-iot/pagination/ListIndicesPaginator.ts +++ b/clients/client-iot/pagination/ListIndicesPaginator.ts @@ -29,7 +29,7 @@ export async function* listIndicesPaginate( let hasNext = true; let page: ListIndicesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listIndicesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListJobExecutionsForJobPaginator.ts b/clients/client-iot/pagination/ListJobExecutionsForJobPaginator.ts index c9e68811a1da..7c7de4b0eb01 100644 --- a/clients/client-iot/pagination/ListJobExecutionsForJobPaginator.ts +++ b/clients/client-iot/pagination/ListJobExecutionsForJobPaginator.ts @@ -33,7 +33,7 @@ export async function* listJobExecutionsForJobPaginate( let hasNext = true; let page: ListJobExecutionsForJobCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listJobExecutionsForJobPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListJobExecutionsForThingPaginator.ts b/clients/client-iot/pagination/ListJobExecutionsForThingPaginator.ts index 973f9bca2394..5a622314e2bf 100644 --- a/clients/client-iot/pagination/ListJobExecutionsForThingPaginator.ts +++ b/clients/client-iot/pagination/ListJobExecutionsForThingPaginator.ts @@ -33,7 +33,7 @@ export async function* listJobExecutionsForThingPaginate( let hasNext = true; let page: ListJobExecutionsForThingCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listJobExecutionsForThingPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListJobsPaginator.ts b/clients/client-iot/pagination/ListJobsPaginator.ts index 005561c6ca0b..ae3dda61e4f1 100644 --- a/clients/client-iot/pagination/ListJobsPaginator.ts +++ b/clients/client-iot/pagination/ListJobsPaginator.ts @@ -29,7 +29,7 @@ export async function* listJobsPaginate( let hasNext = true; let page: ListJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listJobsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListMitigationActionsPaginator.ts b/clients/client-iot/pagination/ListMitigationActionsPaginator.ts index 1c3f02b93e5c..8b476bb491f2 100644 --- a/clients/client-iot/pagination/ListMitigationActionsPaginator.ts +++ b/clients/client-iot/pagination/ListMitigationActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listMitigationActionsPaginate( let hasNext = true; let page: ListMitigationActionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMitigationActionsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListOTAUpdatesPaginator.ts b/clients/client-iot/pagination/ListOTAUpdatesPaginator.ts index 8f8a028c0a56..a08fa79b922d 100644 --- a/clients/client-iot/pagination/ListOTAUpdatesPaginator.ts +++ b/clients/client-iot/pagination/ListOTAUpdatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listOTAUpdatesPaginate( let hasNext = true; let page: ListOTAUpdatesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOTAUpdatesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListOutgoingCertificatesPaginator.ts b/clients/client-iot/pagination/ListOutgoingCertificatesPaginator.ts index 393b27e5fe31..4059e36aceb4 100644 --- a/clients/client-iot/pagination/ListOutgoingCertificatesPaginator.ts +++ b/clients/client-iot/pagination/ListOutgoingCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listOutgoingCertificatesPaginate( let hasNext = true; let page: ListOutgoingCertificatesCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOutgoingCertificatesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListPoliciesPaginator.ts b/clients/client-iot/pagination/ListPoliciesPaginator.ts index e817a7ff90ff..de9590afac56 100644 --- a/clients/client-iot/pagination/ListPoliciesPaginator.ts +++ b/clients/client-iot/pagination/ListPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPoliciesPaginate( let hasNext = true; let page: ListPoliciesCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPoliciesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListPolicyPrincipalsPaginator.ts b/clients/client-iot/pagination/ListPolicyPrincipalsPaginator.ts index 0e3164f2b74d..31590091f878 100644 --- a/clients/client-iot/pagination/ListPolicyPrincipalsPaginator.ts +++ b/clients/client-iot/pagination/ListPolicyPrincipalsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPolicyPrincipalsPaginate( let hasNext = true; let page: ListPolicyPrincipalsCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPolicyPrincipalsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListPrincipalPoliciesPaginator.ts b/clients/client-iot/pagination/ListPrincipalPoliciesPaginator.ts index c00c54e3ad32..9dd2daa064d1 100644 --- a/clients/client-iot/pagination/ListPrincipalPoliciesPaginator.ts +++ b/clients/client-iot/pagination/ListPrincipalPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPrincipalPoliciesPaginate( let hasNext = true; let page: ListPrincipalPoliciesCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPrincipalPoliciesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListPrincipalThingsPaginator.ts b/clients/client-iot/pagination/ListPrincipalThingsPaginator.ts index f8a04e25c7fa..fa081fd86b3f 100644 --- a/clients/client-iot/pagination/ListPrincipalThingsPaginator.ts +++ b/clients/client-iot/pagination/ListPrincipalThingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPrincipalThingsPaginate( let hasNext = true; let page: ListPrincipalThingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPrincipalThingsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListProvisioningTemplateVersionsPaginator.ts b/clients/client-iot/pagination/ListProvisioningTemplateVersionsPaginator.ts index 1d6ff93e5f58..43633b8d3b9c 100644 --- a/clients/client-iot/pagination/ListProvisioningTemplateVersionsPaginator.ts +++ b/clients/client-iot/pagination/ListProvisioningTemplateVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProvisioningTemplateVersionsPaginate( let hasNext = true; let page: ListProvisioningTemplateVersionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProvisioningTemplateVersionsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListProvisioningTemplatesPaginator.ts b/clients/client-iot/pagination/ListProvisioningTemplatesPaginator.ts index 10dde4bd66dd..7f35220a1c3b 100644 --- a/clients/client-iot/pagination/ListProvisioningTemplatesPaginator.ts +++ b/clients/client-iot/pagination/ListProvisioningTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listProvisioningTemplatesPaginate( let hasNext = true; let page: ListProvisioningTemplatesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProvisioningTemplatesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListRoleAliasesPaginator.ts b/clients/client-iot/pagination/ListRoleAliasesPaginator.ts index 39d4a38cd706..a7cc189a8e5c 100644 --- a/clients/client-iot/pagination/ListRoleAliasesPaginator.ts +++ b/clients/client-iot/pagination/ListRoleAliasesPaginator.ts @@ -33,7 +33,7 @@ export async function* listRoleAliasesPaginate( let hasNext = true; let page: ListRoleAliasesCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRoleAliasesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListScheduledAuditsPaginator.ts b/clients/client-iot/pagination/ListScheduledAuditsPaginator.ts index 5058b38e5d8f..d8e8cc5b69de 100644 --- a/clients/client-iot/pagination/ListScheduledAuditsPaginator.ts +++ b/clients/client-iot/pagination/ListScheduledAuditsPaginator.ts @@ -33,7 +33,7 @@ export async function* listScheduledAuditsPaginate( let hasNext = true; let page: ListScheduledAuditsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listScheduledAuditsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListSecurityProfilesForTargetPaginator.ts b/clients/client-iot/pagination/ListSecurityProfilesForTargetPaginator.ts index 69f6f21d6b03..c2878630aab6 100644 --- a/clients/client-iot/pagination/ListSecurityProfilesForTargetPaginator.ts +++ b/clients/client-iot/pagination/ListSecurityProfilesForTargetPaginator.ts @@ -33,7 +33,7 @@ export async function* listSecurityProfilesForTargetPaginate( let hasNext = true; let page: ListSecurityProfilesForTargetCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSecurityProfilesForTargetPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListSecurityProfilesPaginator.ts b/clients/client-iot/pagination/ListSecurityProfilesPaginator.ts index 27b3e2b1ca0a..2277dd8b86b1 100644 --- a/clients/client-iot/pagination/ListSecurityProfilesPaginator.ts +++ b/clients/client-iot/pagination/ListSecurityProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSecurityProfilesPaginate( let hasNext = true; let page: ListSecurityProfilesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSecurityProfilesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListStreamsPaginator.ts b/clients/client-iot/pagination/ListStreamsPaginator.ts index 8479a87d99df..44e2ee72a37f 100644 --- a/clients/client-iot/pagination/ListStreamsPaginator.ts +++ b/clients/client-iot/pagination/ListStreamsPaginator.ts @@ -29,7 +29,7 @@ export async function* listStreamsPaginate( let hasNext = true; let page: ListStreamsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listStreamsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListTagsForResourcePaginator.ts b/clients/client-iot/pagination/ListTagsForResourcePaginator.ts index fe80d43ecb8d..eac19815d9d0 100644 --- a/clients/client-iot/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-iot/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof IoTClient) { @@ -42,7 +42,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListTargetsForPolicyPaginator.ts b/clients/client-iot/pagination/ListTargetsForPolicyPaginator.ts index 724a5b53dabb..f48486277638 100644 --- a/clients/client-iot/pagination/ListTargetsForPolicyPaginator.ts +++ b/clients/client-iot/pagination/ListTargetsForPolicyPaginator.ts @@ -33,7 +33,7 @@ export async function* listTargetsForPolicyPaginate( let hasNext = true; let page: ListTargetsForPolicyCommandOutput; while (hasNext) { - input["marker"] = token; + input.marker = token; input["pageSize"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTargetsForPolicyPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextMarker"]; + token = page.nextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListTargetsForSecurityProfilePaginator.ts b/clients/client-iot/pagination/ListTargetsForSecurityProfilePaginator.ts index 9149347b27ed..fb896ce917e0 100644 --- a/clients/client-iot/pagination/ListTargetsForSecurityProfilePaginator.ts +++ b/clients/client-iot/pagination/ListTargetsForSecurityProfilePaginator.ts @@ -33,7 +33,7 @@ export async function* listTargetsForSecurityProfilePaginate( let hasNext = true; let page: ListTargetsForSecurityProfileCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTargetsForSecurityProfilePaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListThingGroupsForThingPaginator.ts b/clients/client-iot/pagination/ListThingGroupsForThingPaginator.ts index 3795db605a93..38dd7087f46d 100644 --- a/clients/client-iot/pagination/ListThingGroupsForThingPaginator.ts +++ b/clients/client-iot/pagination/ListThingGroupsForThingPaginator.ts @@ -33,7 +33,7 @@ export async function* listThingGroupsForThingPaginate( let hasNext = true; let page: ListThingGroupsForThingCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listThingGroupsForThingPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListThingGroupsPaginator.ts b/clients/client-iot/pagination/ListThingGroupsPaginator.ts index f4b175411c26..d5958af19039 100644 --- a/clients/client-iot/pagination/ListThingGroupsPaginator.ts +++ b/clients/client-iot/pagination/ListThingGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listThingGroupsPaginate( let hasNext = true; let page: ListThingGroupsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listThingGroupsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListThingRegistrationTaskReportsPaginator.ts b/clients/client-iot/pagination/ListThingRegistrationTaskReportsPaginator.ts index 1e2138cc2a6c..66c50a3ede2b 100644 --- a/clients/client-iot/pagination/ListThingRegistrationTaskReportsPaginator.ts +++ b/clients/client-iot/pagination/ListThingRegistrationTaskReportsPaginator.ts @@ -33,7 +33,7 @@ export async function* listThingRegistrationTaskReportsPaginate( let hasNext = true; let page: ListThingRegistrationTaskReportsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listThingRegistrationTaskReportsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListThingRegistrationTasksPaginator.ts b/clients/client-iot/pagination/ListThingRegistrationTasksPaginator.ts index 2a7a90d63431..73dfbcf14259 100644 --- a/clients/client-iot/pagination/ListThingRegistrationTasksPaginator.ts +++ b/clients/client-iot/pagination/ListThingRegistrationTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* listThingRegistrationTasksPaginate( let hasNext = true; let page: ListThingRegistrationTasksCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listThingRegistrationTasksPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListThingTypesPaginator.ts b/clients/client-iot/pagination/ListThingTypesPaginator.ts index 4cf02a289670..ec85fc1a182c 100644 --- a/clients/client-iot/pagination/ListThingTypesPaginator.ts +++ b/clients/client-iot/pagination/ListThingTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* listThingTypesPaginate( let hasNext = true; let page: ListThingTypesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listThingTypesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListThingsInBillingGroupPaginator.ts b/clients/client-iot/pagination/ListThingsInBillingGroupPaginator.ts index dd322a036b0c..a4021dff254e 100644 --- a/clients/client-iot/pagination/ListThingsInBillingGroupPaginator.ts +++ b/clients/client-iot/pagination/ListThingsInBillingGroupPaginator.ts @@ -33,7 +33,7 @@ export async function* listThingsInBillingGroupPaginate( let hasNext = true; let page: ListThingsInBillingGroupCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listThingsInBillingGroupPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListThingsInThingGroupPaginator.ts b/clients/client-iot/pagination/ListThingsInThingGroupPaginator.ts index 3dfc7cecac8d..c900c2ae62df 100644 --- a/clients/client-iot/pagination/ListThingsInThingGroupPaginator.ts +++ b/clients/client-iot/pagination/ListThingsInThingGroupPaginator.ts @@ -33,7 +33,7 @@ export async function* listThingsInThingGroupPaginate( let hasNext = true; let page: ListThingsInThingGroupCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listThingsInThingGroupPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListThingsPaginator.ts b/clients/client-iot/pagination/ListThingsPaginator.ts index 929a880564dd..ba2f5890df3f 100644 --- a/clients/client-iot/pagination/ListThingsPaginator.ts +++ b/clients/client-iot/pagination/ListThingsPaginator.ts @@ -29,7 +29,7 @@ export async function* listThingsPaginate( let hasNext = true; let page: ListThingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listThingsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListTopicRuleDestinationsPaginator.ts b/clients/client-iot/pagination/ListTopicRuleDestinationsPaginator.ts index b660356cd6d5..a0edc074ef7b 100644 --- a/clients/client-iot/pagination/ListTopicRuleDestinationsPaginator.ts +++ b/clients/client-iot/pagination/ListTopicRuleDestinationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTopicRuleDestinationsPaginate( let hasNext = true; let page: ListTopicRuleDestinationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTopicRuleDestinationsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListTopicRulesPaginator.ts b/clients/client-iot/pagination/ListTopicRulesPaginator.ts index 2eb7f3aa6e06..52c0afa5d67f 100644 --- a/clients/client-iot/pagination/ListTopicRulesPaginator.ts +++ b/clients/client-iot/pagination/ListTopicRulesPaginator.ts @@ -33,7 +33,7 @@ export async function* listTopicRulesPaginate( let hasNext = true; let page: ListTopicRulesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTopicRulesPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListV2LoggingLevelsPaginator.ts b/clients/client-iot/pagination/ListV2LoggingLevelsPaginator.ts index 2eb2874f9d92..17237ed931b1 100644 --- a/clients/client-iot/pagination/ListV2LoggingLevelsPaginator.ts +++ b/clients/client-iot/pagination/ListV2LoggingLevelsPaginator.ts @@ -33,7 +33,7 @@ export async function* listV2LoggingLevelsPaginate( let hasNext = true; let page: ListV2LoggingLevelsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listV2LoggingLevelsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iot/pagination/ListViolationEventsPaginator.ts b/clients/client-iot/pagination/ListViolationEventsPaginator.ts index 65d013201f60..14f2cba8dd27 100644 --- a/clients/client-iot/pagination/ListViolationEventsPaginator.ts +++ b/clients/client-iot/pagination/ListViolationEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* listViolationEventsPaginate( let hasNext = true; let page: ListViolationEventsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoT) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listViolationEventsPaginate( throw new Error("Invalid client, expected IoT | IoTClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotanalytics/pagination/ListChannelsPaginator.ts b/clients/client-iotanalytics/pagination/ListChannelsPaginator.ts index f7e180ae6cb9..a93b2d43749d 100644 --- a/clients/client-iotanalytics/pagination/ListChannelsPaginator.ts +++ b/clients/client-iotanalytics/pagination/ListChannelsPaginator.ts @@ -33,7 +33,7 @@ export async function* listChannelsPaginate( let hasNext = true; let page: ListChannelsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTAnalytics) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listChannelsPaginate( throw new Error("Invalid client, expected IoTAnalytics | IoTAnalyticsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotanalytics/pagination/ListDatasetContentsPaginator.ts b/clients/client-iotanalytics/pagination/ListDatasetContentsPaginator.ts index ffd51d14c5d2..9efc500d601d 100644 --- a/clients/client-iotanalytics/pagination/ListDatasetContentsPaginator.ts +++ b/clients/client-iotanalytics/pagination/ListDatasetContentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatasetContentsPaginate( let hasNext = true; let page: ListDatasetContentsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTAnalytics) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatasetContentsPaginate( throw new Error("Invalid client, expected IoTAnalytics | IoTAnalyticsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotanalytics/pagination/ListDatasetsPaginator.ts b/clients/client-iotanalytics/pagination/ListDatasetsPaginator.ts index 01afdf9636df..fb1e888e7da1 100644 --- a/clients/client-iotanalytics/pagination/ListDatasetsPaginator.ts +++ b/clients/client-iotanalytics/pagination/ListDatasetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatasetsPaginate( let hasNext = true; let page: ListDatasetsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTAnalytics) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatasetsPaginate( throw new Error("Invalid client, expected IoTAnalytics | IoTAnalyticsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotanalytics/pagination/ListDatastoresPaginator.ts b/clients/client-iotanalytics/pagination/ListDatastoresPaginator.ts index 429dd4c7fdf8..7c64fe2deba0 100644 --- a/clients/client-iotanalytics/pagination/ListDatastoresPaginator.ts +++ b/clients/client-iotanalytics/pagination/ListDatastoresPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatastoresPaginate( let hasNext = true; let page: ListDatastoresCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTAnalytics) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatastoresPaginate( throw new Error("Invalid client, expected IoTAnalytics | IoTAnalyticsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotanalytics/pagination/ListPipelinesPaginator.ts b/clients/client-iotanalytics/pagination/ListPipelinesPaginator.ts index a37197c2b171..4e3e285d0f31 100644 --- a/clients/client-iotanalytics/pagination/ListPipelinesPaginator.ts +++ b/clients/client-iotanalytics/pagination/ListPipelinesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPipelinesPaginate( let hasNext = true; let page: ListPipelinesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTAnalytics) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPipelinesPaginate( throw new Error("Invalid client, expected IoTAnalytics | IoTAnalyticsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsecuretunneling/pagination/ListTunnelsPaginator.ts b/clients/client-iotsecuretunneling/pagination/ListTunnelsPaginator.ts index 0ee99bcf7966..7c48cc648ab8 100644 --- a/clients/client-iotsecuretunneling/pagination/ListTunnelsPaginator.ts +++ b/clients/client-iotsecuretunneling/pagination/ListTunnelsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTunnelsPaginate( let hasNext = true; let page: ListTunnelsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSecureTunneling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTunnelsPaginate( throw new Error("Invalid client, expected IoTSecureTunneling | IoTSecureTunnelingClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/GetAssetPropertyAggregatesPaginator.ts b/clients/client-iotsitewise/pagination/GetAssetPropertyAggregatesPaginator.ts index de8547b1498f..f827677d790d 100644 --- a/clients/client-iotsitewise/pagination/GetAssetPropertyAggregatesPaginator.ts +++ b/clients/client-iotsitewise/pagination/GetAssetPropertyAggregatesPaginator.ts @@ -33,7 +33,7 @@ export async function* getAssetPropertyAggregatesPaginate( let hasNext = true; let page: GetAssetPropertyAggregatesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getAssetPropertyAggregatesPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/GetAssetPropertyValueHistoryPaginator.ts b/clients/client-iotsitewise/pagination/GetAssetPropertyValueHistoryPaginator.ts index 8b41d03d887a..8a75e6e84d49 100644 --- a/clients/client-iotsitewise/pagination/GetAssetPropertyValueHistoryPaginator.ts +++ b/clients/client-iotsitewise/pagination/GetAssetPropertyValueHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* getAssetPropertyValueHistoryPaginate( let hasNext = true; let page: GetAssetPropertyValueHistoryCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getAssetPropertyValueHistoryPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/ListAccessPoliciesPaginator.ts b/clients/client-iotsitewise/pagination/ListAccessPoliciesPaginator.ts index 4667d70fe4f9..e7ed56d6e2b2 100644 --- a/clients/client-iotsitewise/pagination/ListAccessPoliciesPaginator.ts +++ b/clients/client-iotsitewise/pagination/ListAccessPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccessPoliciesPaginate( let hasNext = true; let page: ListAccessPoliciesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccessPoliciesPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/ListAssetModelsPaginator.ts b/clients/client-iotsitewise/pagination/ListAssetModelsPaginator.ts index 5be8fbcedb31..ca97d569dce8 100644 --- a/clients/client-iotsitewise/pagination/ListAssetModelsPaginator.ts +++ b/clients/client-iotsitewise/pagination/ListAssetModelsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAssetModelsPaginate( let hasNext = true; let page: ListAssetModelsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAssetModelsPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/ListAssetsPaginator.ts b/clients/client-iotsitewise/pagination/ListAssetsPaginator.ts index 5af07a2dfeac..5b78587fa3b4 100644 --- a/clients/client-iotsitewise/pagination/ListAssetsPaginator.ts +++ b/clients/client-iotsitewise/pagination/ListAssetsPaginator.ts @@ -29,7 +29,7 @@ export async function* listAssetsPaginate( let hasNext = true; let page: ListAssetsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listAssetsPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/ListAssociatedAssetsPaginator.ts b/clients/client-iotsitewise/pagination/ListAssociatedAssetsPaginator.ts index 48ba24678559..bb85171a9897 100644 --- a/clients/client-iotsitewise/pagination/ListAssociatedAssetsPaginator.ts +++ b/clients/client-iotsitewise/pagination/ListAssociatedAssetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAssociatedAssetsPaginate( let hasNext = true; let page: ListAssociatedAssetsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAssociatedAssetsPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/ListDashboardsPaginator.ts b/clients/client-iotsitewise/pagination/ListDashboardsPaginator.ts index 165f817a6471..0c9dd0021823 100644 --- a/clients/client-iotsitewise/pagination/ListDashboardsPaginator.ts +++ b/clients/client-iotsitewise/pagination/ListDashboardsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDashboardsPaginate( let hasNext = true; let page: ListDashboardsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDashboardsPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/ListGatewaysPaginator.ts b/clients/client-iotsitewise/pagination/ListGatewaysPaginator.ts index b25f06bb3ac0..9dc6f7eaa889 100644 --- a/clients/client-iotsitewise/pagination/ListGatewaysPaginator.ts +++ b/clients/client-iotsitewise/pagination/ListGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* listGatewaysPaginate( let hasNext = true; let page: ListGatewaysCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGatewaysPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/ListPortalsPaginator.ts b/clients/client-iotsitewise/pagination/ListPortalsPaginator.ts index aae8c8683723..77a04259b02b 100644 --- a/clients/client-iotsitewise/pagination/ListPortalsPaginator.ts +++ b/clients/client-iotsitewise/pagination/ListPortalsPaginator.ts @@ -29,7 +29,7 @@ export async function* listPortalsPaginate( let hasNext = true; let page: ListPortalsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listPortalsPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/ListProjectAssetsPaginator.ts b/clients/client-iotsitewise/pagination/ListProjectAssetsPaginator.ts index 0737b19826dc..1896348d9bc0 100644 --- a/clients/client-iotsitewise/pagination/ListProjectAssetsPaginator.ts +++ b/clients/client-iotsitewise/pagination/ListProjectAssetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProjectAssetsPaginate( let hasNext = true; let page: ListProjectAssetsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProjectAssetsPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotsitewise/pagination/ListProjectsPaginator.ts b/clients/client-iotsitewise/pagination/ListProjectsPaginator.ts index d3e1f601a719..a5f69bec354e 100644 --- a/clients/client-iotsitewise/pagination/ListProjectsPaginator.ts +++ b/clients/client-iotsitewise/pagination/ListProjectsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProjectsPaginate( let hasNext = true; let page: ListProjectsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTSiteWise) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProjectsPaginate( throw new Error("Invalid client, expected IoTSiteWise | IoTSiteWiseClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotthingsgraph/pagination/GetFlowTemplateRevisionsPaginator.ts b/clients/client-iotthingsgraph/pagination/GetFlowTemplateRevisionsPaginator.ts index 6d08552bdf88..6e14a55aaad7 100644 --- a/clients/client-iotthingsgraph/pagination/GetFlowTemplateRevisionsPaginator.ts +++ b/clients/client-iotthingsgraph/pagination/GetFlowTemplateRevisionsPaginator.ts @@ -33,7 +33,7 @@ export async function* getFlowTemplateRevisionsPaginate( let hasNext = true; let page: GetFlowTemplateRevisionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTThingsGraph) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getFlowTemplateRevisionsPaginate( throw new Error("Invalid client, expected IoTThingsGraph | IoTThingsGraphClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotthingsgraph/pagination/GetSystemTemplateRevisionsPaginator.ts b/clients/client-iotthingsgraph/pagination/GetSystemTemplateRevisionsPaginator.ts index 0eb31484db6f..3234c1aefd7f 100644 --- a/clients/client-iotthingsgraph/pagination/GetSystemTemplateRevisionsPaginator.ts +++ b/clients/client-iotthingsgraph/pagination/GetSystemTemplateRevisionsPaginator.ts @@ -33,7 +33,7 @@ export async function* getSystemTemplateRevisionsPaginate( let hasNext = true; let page: GetSystemTemplateRevisionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTThingsGraph) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getSystemTemplateRevisionsPaginate( throw new Error("Invalid client, expected IoTThingsGraph | IoTThingsGraphClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotthingsgraph/pagination/ListFlowExecutionMessagesPaginator.ts b/clients/client-iotthingsgraph/pagination/ListFlowExecutionMessagesPaginator.ts index 9217c1374560..93275a6f4c0b 100644 --- a/clients/client-iotthingsgraph/pagination/ListFlowExecutionMessagesPaginator.ts +++ b/clients/client-iotthingsgraph/pagination/ListFlowExecutionMessagesPaginator.ts @@ -33,7 +33,7 @@ export async function* listFlowExecutionMessagesPaginate( let hasNext = true; let page: ListFlowExecutionMessagesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTThingsGraph) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFlowExecutionMessagesPaginate( throw new Error("Invalid client, expected IoTThingsGraph | IoTThingsGraphClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotthingsgraph/pagination/ListTagsForResourcePaginator.ts b/clients/client-iotthingsgraph/pagination/ListTagsForResourcePaginator.ts index 011c8864bba4..c16d46af91f7 100644 --- a/clients/client-iotthingsgraph/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-iotthingsgraph/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTThingsGraph) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected IoTThingsGraph | IoTThingsGraphClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotthingsgraph/pagination/SearchEntitiesPaginator.ts b/clients/client-iotthingsgraph/pagination/SearchEntitiesPaginator.ts index af31db5241e7..298b0374ee4a 100644 --- a/clients/client-iotthingsgraph/pagination/SearchEntitiesPaginator.ts +++ b/clients/client-iotthingsgraph/pagination/SearchEntitiesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchEntitiesPaginate( let hasNext = true; let page: SearchEntitiesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTThingsGraph) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchEntitiesPaginate( throw new Error("Invalid client, expected IoTThingsGraph | IoTThingsGraphClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotthingsgraph/pagination/SearchFlowExecutionsPaginator.ts b/clients/client-iotthingsgraph/pagination/SearchFlowExecutionsPaginator.ts index a6acbe806fd8..f5b272307b4f 100644 --- a/clients/client-iotthingsgraph/pagination/SearchFlowExecutionsPaginator.ts +++ b/clients/client-iotthingsgraph/pagination/SearchFlowExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchFlowExecutionsPaginate( let hasNext = true; let page: SearchFlowExecutionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTThingsGraph) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchFlowExecutionsPaginate( throw new Error("Invalid client, expected IoTThingsGraph | IoTThingsGraphClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotthingsgraph/pagination/SearchFlowTemplatesPaginator.ts b/clients/client-iotthingsgraph/pagination/SearchFlowTemplatesPaginator.ts index cfdde4bd31de..cd37a3807ada 100644 --- a/clients/client-iotthingsgraph/pagination/SearchFlowTemplatesPaginator.ts +++ b/clients/client-iotthingsgraph/pagination/SearchFlowTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchFlowTemplatesPaginate( let hasNext = true; let page: SearchFlowTemplatesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTThingsGraph) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchFlowTemplatesPaginate( throw new Error("Invalid client, expected IoTThingsGraph | IoTThingsGraphClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotthingsgraph/pagination/SearchSystemInstancesPaginator.ts b/clients/client-iotthingsgraph/pagination/SearchSystemInstancesPaginator.ts index c04989ad1684..817851365104 100644 --- a/clients/client-iotthingsgraph/pagination/SearchSystemInstancesPaginator.ts +++ b/clients/client-iotthingsgraph/pagination/SearchSystemInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchSystemInstancesPaginate( let hasNext = true; let page: SearchSystemInstancesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTThingsGraph) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchSystemInstancesPaginate( throw new Error("Invalid client, expected IoTThingsGraph | IoTThingsGraphClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotthingsgraph/pagination/SearchSystemTemplatesPaginator.ts b/clients/client-iotthingsgraph/pagination/SearchSystemTemplatesPaginator.ts index 17d599fb1dcc..dfc30c979e89 100644 --- a/clients/client-iotthingsgraph/pagination/SearchSystemTemplatesPaginator.ts +++ b/clients/client-iotthingsgraph/pagination/SearchSystemTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchSystemTemplatesPaginate( let hasNext = true; let page: SearchSystemTemplatesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTThingsGraph) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchSystemTemplatesPaginate( throw new Error("Invalid client, expected IoTThingsGraph | IoTThingsGraphClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-iotthingsgraph/pagination/SearchThingsPaginator.ts b/clients/client-iotthingsgraph/pagination/SearchThingsPaginator.ts index 3b05215f08e4..d954db8c6ac1 100644 --- a/clients/client-iotthingsgraph/pagination/SearchThingsPaginator.ts +++ b/clients/client-iotthingsgraph/pagination/SearchThingsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchThingsPaginate( let hasNext = true; let page: SearchThingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof IoTThingsGraph) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchThingsPaginate( throw new Error("Invalid client, expected IoTThingsGraph | IoTThingsGraphClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ivs/pagination/ListChannelsPaginator.ts b/clients/client-ivs/pagination/ListChannelsPaginator.ts index 690f3113dfdf..73ca58963f51 100644 --- a/clients/client-ivs/pagination/ListChannelsPaginator.ts +++ b/clients/client-ivs/pagination/ListChannelsPaginator.ts @@ -33,7 +33,7 @@ export async function* listChannelsPaginate( let hasNext = true; let page: ListChannelsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Ivs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listChannelsPaginate( throw new Error("Invalid client, expected Ivs | IvsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ivs/pagination/ListPlaybackKeyPairsPaginator.ts b/clients/client-ivs/pagination/ListPlaybackKeyPairsPaginator.ts index 41d12a4572cb..9575af3d002c 100644 --- a/clients/client-ivs/pagination/ListPlaybackKeyPairsPaginator.ts +++ b/clients/client-ivs/pagination/ListPlaybackKeyPairsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPlaybackKeyPairsPaginate( let hasNext = true; let page: ListPlaybackKeyPairsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Ivs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPlaybackKeyPairsPaginate( throw new Error("Invalid client, expected Ivs | IvsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ivs/pagination/ListStreamKeysPaginator.ts b/clients/client-ivs/pagination/ListStreamKeysPaginator.ts index 27c7ba1f5a16..74536ecaf48b 100644 --- a/clients/client-ivs/pagination/ListStreamKeysPaginator.ts +++ b/clients/client-ivs/pagination/ListStreamKeysPaginator.ts @@ -33,7 +33,7 @@ export async function* listStreamKeysPaginate( let hasNext = true; let page: ListStreamKeysCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Ivs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listStreamKeysPaginate( throw new Error("Invalid client, expected Ivs | IvsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ivs/pagination/ListStreamsPaginator.ts b/clients/client-ivs/pagination/ListStreamsPaginator.ts index ec45f5956608..9a49ab97792d 100644 --- a/clients/client-ivs/pagination/ListStreamsPaginator.ts +++ b/clients/client-ivs/pagination/ListStreamsPaginator.ts @@ -29,7 +29,7 @@ export async function* listStreamsPaginate( let hasNext = true; let page: ListStreamsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Ivs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listStreamsPaginate( throw new Error("Invalid client, expected Ivs | IvsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ivs/pagination/ListTagsForResourcePaginator.ts b/clients/client-ivs/pagination/ListTagsForResourcePaginator.ts index 33595f5753da..ac1cb8b4458e 100644 --- a/clients/client-ivs/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-ivs/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Ivs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected Ivs | IvsClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kafka/pagination/ListClusterOperationsPaginator.ts b/clients/client-kafka/pagination/ListClusterOperationsPaginator.ts index 3daaa39752c3..caedc8eb2a19 100644 --- a/clients/client-kafka/pagination/ListClusterOperationsPaginator.ts +++ b/clients/client-kafka/pagination/ListClusterOperationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listClusterOperationsPaginate( let hasNext = true; let page: ListClusterOperationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kafka) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listClusterOperationsPaginate( throw new Error("Invalid client, expected Kafka | KafkaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kafka/pagination/ListClustersPaginator.ts b/clients/client-kafka/pagination/ListClustersPaginator.ts index 584139dc6e78..938d0cb0c568 100644 --- a/clients/client-kafka/pagination/ListClustersPaginator.ts +++ b/clients/client-kafka/pagination/ListClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* listClustersPaginate( let hasNext = true; let page: ListClustersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kafka) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listClustersPaginate( throw new Error("Invalid client, expected Kafka | KafkaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kafka/pagination/ListConfigurationRevisionsPaginator.ts b/clients/client-kafka/pagination/ListConfigurationRevisionsPaginator.ts index 743bd4a494c0..a534eba30a1b 100644 --- a/clients/client-kafka/pagination/ListConfigurationRevisionsPaginator.ts +++ b/clients/client-kafka/pagination/ListConfigurationRevisionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listConfigurationRevisionsPaginate( let hasNext = true; let page: ListConfigurationRevisionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kafka) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConfigurationRevisionsPaginate( throw new Error("Invalid client, expected Kafka | KafkaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kafka/pagination/ListConfigurationsPaginator.ts b/clients/client-kafka/pagination/ListConfigurationsPaginator.ts index 049c19ee808c..8c4cb637afa0 100644 --- a/clients/client-kafka/pagination/ListConfigurationsPaginator.ts +++ b/clients/client-kafka/pagination/ListConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listConfigurationsPaginate( let hasNext = true; let page: ListConfigurationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kafka) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConfigurationsPaginate( throw new Error("Invalid client, expected Kafka | KafkaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kafka/pagination/ListKafkaVersionsPaginator.ts b/clients/client-kafka/pagination/ListKafkaVersionsPaginator.ts index f298aeb765c0..716859e6acac 100644 --- a/clients/client-kafka/pagination/ListKafkaVersionsPaginator.ts +++ b/clients/client-kafka/pagination/ListKafkaVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listKafkaVersionsPaginate( let hasNext = true; let page: ListKafkaVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kafka) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listKafkaVersionsPaginate( throw new Error("Invalid client, expected Kafka | KafkaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kafka/pagination/ListNodesPaginator.ts b/clients/client-kafka/pagination/ListNodesPaginator.ts index a34af5f725c4..464400b96938 100644 --- a/clients/client-kafka/pagination/ListNodesPaginator.ts +++ b/clients/client-kafka/pagination/ListNodesPaginator.ts @@ -29,7 +29,7 @@ export async function* listNodesPaginate( let hasNext = true; let page: ListNodesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kafka) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listNodesPaginate( throw new Error("Invalid client, expected Kafka | KafkaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kafka/pagination/ListScramSecretsPaginator.ts b/clients/client-kafka/pagination/ListScramSecretsPaginator.ts index 76426c91014e..d5b019c58c09 100644 --- a/clients/client-kafka/pagination/ListScramSecretsPaginator.ts +++ b/clients/client-kafka/pagination/ListScramSecretsPaginator.ts @@ -33,7 +33,7 @@ export async function* listScramSecretsPaginate( let hasNext = true; let page: ListScramSecretsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kafka) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listScramSecretsPaginate( throw new Error("Invalid client, expected Kafka | KafkaClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kendra/pagination/ListDataSourceSyncJobsPaginator.ts b/clients/client-kendra/pagination/ListDataSourceSyncJobsPaginator.ts index c4b476e4e3bb..0ddbc4af90c2 100644 --- a/clients/client-kendra/pagination/ListDataSourceSyncJobsPaginator.ts +++ b/clients/client-kendra/pagination/ListDataSourceSyncJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDataSourceSyncJobsPaginate( let hasNext = true; let page: ListDataSourceSyncJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kendra) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDataSourceSyncJobsPaginate( throw new Error("Invalid client, expected Kendra | KendraClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kendra/pagination/ListDataSourcesPaginator.ts b/clients/client-kendra/pagination/ListDataSourcesPaginator.ts index 12baf15a5802..4ff36f301e88 100644 --- a/clients/client-kendra/pagination/ListDataSourcesPaginator.ts +++ b/clients/client-kendra/pagination/ListDataSourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDataSourcesPaginate( let hasNext = true; let page: ListDataSourcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kendra) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDataSourcesPaginate( throw new Error("Invalid client, expected Kendra | KendraClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kendra/pagination/ListIndicesPaginator.ts b/clients/client-kendra/pagination/ListIndicesPaginator.ts index 13c27b3f37e4..622e1606ce87 100644 --- a/clients/client-kendra/pagination/ListIndicesPaginator.ts +++ b/clients/client-kendra/pagination/ListIndicesPaginator.ts @@ -29,7 +29,7 @@ export async function* listIndicesPaginate( let hasNext = true; let page: ListIndicesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kendra) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listIndicesPaginate( throw new Error("Invalid client, expected Kendra | KendraClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kinesis-video/pagination/ListSignalingChannelsPaginator.ts b/clients/client-kinesis-video/pagination/ListSignalingChannelsPaginator.ts index b71bd30d054a..aa5b17368cab 100644 --- a/clients/client-kinesis-video/pagination/ListSignalingChannelsPaginator.ts +++ b/clients/client-kinesis-video/pagination/ListSignalingChannelsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSignalingChannelsPaginate( let hasNext = true; let page: ListSignalingChannelsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof KinesisVideo) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSignalingChannelsPaginate( throw new Error("Invalid client, expected KinesisVideo | KinesisVideoClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kinesis-video/pagination/ListStreamsPaginator.ts b/clients/client-kinesis-video/pagination/ListStreamsPaginator.ts index 99ff5d7bf8c1..88cc507150cb 100644 --- a/clients/client-kinesis-video/pagination/ListStreamsPaginator.ts +++ b/clients/client-kinesis-video/pagination/ListStreamsPaginator.ts @@ -29,7 +29,7 @@ export async function* listStreamsPaginate( let hasNext = true; let page: ListStreamsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof KinesisVideo) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listStreamsPaginate( throw new Error("Invalid client, expected KinesisVideo | KinesisVideoClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kinesis/pagination/ListStreamConsumersPaginator.ts b/clients/client-kinesis/pagination/ListStreamConsumersPaginator.ts index 9cb3dbec07e6..34822f970e29 100644 --- a/clients/client-kinesis/pagination/ListStreamConsumersPaginator.ts +++ b/clients/client-kinesis/pagination/ListStreamConsumersPaginator.ts @@ -33,7 +33,7 @@ export async function* listStreamConsumersPaginate( let hasNext = true; let page: ListStreamConsumersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Kinesis) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listStreamConsumersPaginate( throw new Error("Invalid client, expected Kinesis | KinesisClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kms/pagination/ListAliasesPaginator.ts b/clients/client-kms/pagination/ListAliasesPaginator.ts index ae1dd2625ed6..506aba29c4c3 100644 --- a/clients/client-kms/pagination/ListAliasesPaginator.ts +++ b/clients/client-kms/pagination/ListAliasesPaginator.ts @@ -29,7 +29,7 @@ export async function* listAliasesPaginate( let hasNext = true; let page: ListAliasesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof KMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listAliasesPaginate( throw new Error("Invalid client, expected KMS | KMSClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kms/pagination/ListGrantsPaginator.ts b/clients/client-kms/pagination/ListGrantsPaginator.ts index 53d691bd5b3b..509c99342909 100644 --- a/clients/client-kms/pagination/ListGrantsPaginator.ts +++ b/clients/client-kms/pagination/ListGrantsPaginator.ts @@ -29,7 +29,7 @@ export async function* listGrantsPaginate( let hasNext = true; let page: ListGrantsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof KMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listGrantsPaginate( throw new Error("Invalid client, expected KMS | KMSClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kms/pagination/ListKeyPoliciesPaginator.ts b/clients/client-kms/pagination/ListKeyPoliciesPaginator.ts index 45b93e76eff6..b6df57a3b94c 100644 --- a/clients/client-kms/pagination/ListKeyPoliciesPaginator.ts +++ b/clients/client-kms/pagination/ListKeyPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listKeyPoliciesPaginate( let hasNext = true; let page: ListKeyPoliciesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof KMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listKeyPoliciesPaginate( throw new Error("Invalid client, expected KMS | KMSClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-kms/pagination/ListKeysPaginator.ts b/clients/client-kms/pagination/ListKeysPaginator.ts index 7d9737c658fd..e060735da67e 100644 --- a/clients/client-kms/pagination/ListKeysPaginator.ts +++ b/clients/client-kms/pagination/ListKeysPaginator.ts @@ -29,7 +29,7 @@ export async function* listKeysPaginate( let hasNext = true; let page: ListKeysCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof KMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listKeysPaginate( throw new Error("Invalid client, expected KMS | KMSClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lakeformation/pagination/GetEffectivePermissionsForPathPaginator.ts b/clients/client-lakeformation/pagination/GetEffectivePermissionsForPathPaginator.ts index dffa1dcba9f4..8f83b8c892df 100644 --- a/clients/client-lakeformation/pagination/GetEffectivePermissionsForPathPaginator.ts +++ b/clients/client-lakeformation/pagination/GetEffectivePermissionsForPathPaginator.ts @@ -33,7 +33,7 @@ export async function* getEffectivePermissionsForPathPaginate( let hasNext = true; let page: GetEffectivePermissionsForPathCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof LakeFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getEffectivePermissionsForPathPaginate( throw new Error("Invalid client, expected LakeFormation | LakeFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lakeformation/pagination/ListPermissionsPaginator.ts b/clients/client-lakeformation/pagination/ListPermissionsPaginator.ts index 056c70169a92..4a4f32d86878 100644 --- a/clients/client-lakeformation/pagination/ListPermissionsPaginator.ts +++ b/clients/client-lakeformation/pagination/ListPermissionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPermissionsPaginate( let hasNext = true; let page: ListPermissionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof LakeFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPermissionsPaginate( throw new Error("Invalid client, expected LakeFormation | LakeFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lakeformation/pagination/ListResourcesPaginator.ts b/clients/client-lakeformation/pagination/ListResourcesPaginator.ts index 7a61d9358ffb..f7f5cc0a8d04 100644 --- a/clients/client-lakeformation/pagination/ListResourcesPaginator.ts +++ b/clients/client-lakeformation/pagination/ListResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listResourcesPaginate( let hasNext = true; let page: ListResourcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof LakeFormation) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResourcesPaginate( throw new Error("Invalid client, expected LakeFormation | LakeFormationClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lambda/pagination/ListAliasesPaginator.ts b/clients/client-lambda/pagination/ListAliasesPaginator.ts index 4356df517890..a54b3f8f9b61 100644 --- a/clients/client-lambda/pagination/ListAliasesPaginator.ts +++ b/clients/client-lambda/pagination/ListAliasesPaginator.ts @@ -29,7 +29,7 @@ export async function* listAliasesPaginate( let hasNext = true; let page: ListAliasesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof Lambda) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listAliasesPaginate( throw new Error("Invalid client, expected Lambda | LambdaClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lambda/pagination/ListEventSourceMappingsPaginator.ts b/clients/client-lambda/pagination/ListEventSourceMappingsPaginator.ts index 88d6e18f582e..3229cd783c3e 100644 --- a/clients/client-lambda/pagination/ListEventSourceMappingsPaginator.ts +++ b/clients/client-lambda/pagination/ListEventSourceMappingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listEventSourceMappingsPaginate( let hasNext = true; let page: ListEventSourceMappingsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof Lambda) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEventSourceMappingsPaginate( throw new Error("Invalid client, expected Lambda | LambdaClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lambda/pagination/ListFunctionEventInvokeConfigsPaginator.ts b/clients/client-lambda/pagination/ListFunctionEventInvokeConfigsPaginator.ts index ee3b4ed3b010..a37691334cfd 100644 --- a/clients/client-lambda/pagination/ListFunctionEventInvokeConfigsPaginator.ts +++ b/clients/client-lambda/pagination/ListFunctionEventInvokeConfigsPaginator.ts @@ -33,7 +33,7 @@ export async function* listFunctionEventInvokeConfigsPaginate( let hasNext = true; let page: ListFunctionEventInvokeConfigsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof Lambda) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFunctionEventInvokeConfigsPaginate( throw new Error("Invalid client, expected Lambda | LambdaClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lambda/pagination/ListFunctionsPaginator.ts b/clients/client-lambda/pagination/ListFunctionsPaginator.ts index 6e2f56d34b4d..036cfb367edd 100644 --- a/clients/client-lambda/pagination/ListFunctionsPaginator.ts +++ b/clients/client-lambda/pagination/ListFunctionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listFunctionsPaginate( let hasNext = true; let page: ListFunctionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof Lambda) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFunctionsPaginate( throw new Error("Invalid client, expected Lambda | LambdaClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lambda/pagination/ListLayerVersionsPaginator.ts b/clients/client-lambda/pagination/ListLayerVersionsPaginator.ts index 6fc085b80dc2..76fa65d4c7cb 100644 --- a/clients/client-lambda/pagination/ListLayerVersionsPaginator.ts +++ b/clients/client-lambda/pagination/ListLayerVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listLayerVersionsPaginate( let hasNext = true; let page: ListLayerVersionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof Lambda) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listLayerVersionsPaginate( throw new Error("Invalid client, expected Lambda | LambdaClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lambda/pagination/ListLayersPaginator.ts b/clients/client-lambda/pagination/ListLayersPaginator.ts index 73fee232f735..91011373b3b5 100644 --- a/clients/client-lambda/pagination/ListLayersPaginator.ts +++ b/clients/client-lambda/pagination/ListLayersPaginator.ts @@ -29,7 +29,7 @@ export async function* listLayersPaginate( let hasNext = true; let page: ListLayersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof Lambda) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listLayersPaginate( throw new Error("Invalid client, expected Lambda | LambdaClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lambda/pagination/ListProvisionedConcurrencyConfigsPaginator.ts b/clients/client-lambda/pagination/ListProvisionedConcurrencyConfigsPaginator.ts index 117494b32f03..fd811e1c57c6 100644 --- a/clients/client-lambda/pagination/ListProvisionedConcurrencyConfigsPaginator.ts +++ b/clients/client-lambda/pagination/ListProvisionedConcurrencyConfigsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProvisionedConcurrencyConfigsPaginate( let hasNext = true; let page: ListProvisionedConcurrencyConfigsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof Lambda) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProvisionedConcurrencyConfigsPaginate( throw new Error("Invalid client, expected Lambda | LambdaClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lambda/pagination/ListVersionsByFunctionPaginator.ts b/clients/client-lambda/pagination/ListVersionsByFunctionPaginator.ts index 1c9d29469a22..2f31497cd527 100644 --- a/clients/client-lambda/pagination/ListVersionsByFunctionPaginator.ts +++ b/clients/client-lambda/pagination/ListVersionsByFunctionPaginator.ts @@ -33,7 +33,7 @@ export async function* listVersionsByFunctionPaginate( let hasNext = true; let page: ListVersionsByFunctionCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof Lambda) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listVersionsByFunctionPaginate( throw new Error("Invalid client, expected Lambda | LambdaClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lex-model-building-service/pagination/GetBotAliasesPaginator.ts b/clients/client-lex-model-building-service/pagination/GetBotAliasesPaginator.ts index ce5413b5d637..472744529f81 100644 --- a/clients/client-lex-model-building-service/pagination/GetBotAliasesPaginator.ts +++ b/clients/client-lex-model-building-service/pagination/GetBotAliasesPaginator.ts @@ -33,7 +33,7 @@ export async function* getBotAliasesPaginate( let hasNext = true; let page: GetBotAliasesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof LexModelBuildingService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getBotAliasesPaginate( throw new Error("Invalid client, expected LexModelBuildingService | LexModelBuildingServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lex-model-building-service/pagination/GetBotChannelAssociationsPaginator.ts b/clients/client-lex-model-building-service/pagination/GetBotChannelAssociationsPaginator.ts index e67b6f3867a6..3f0facbc11bb 100644 --- a/clients/client-lex-model-building-service/pagination/GetBotChannelAssociationsPaginator.ts +++ b/clients/client-lex-model-building-service/pagination/GetBotChannelAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getBotChannelAssociationsPaginate( let hasNext = true; let page: GetBotChannelAssociationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof LexModelBuildingService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getBotChannelAssociationsPaginate( throw new Error("Invalid client, expected LexModelBuildingService | LexModelBuildingServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lex-model-building-service/pagination/GetBotVersionsPaginator.ts b/clients/client-lex-model-building-service/pagination/GetBotVersionsPaginator.ts index d5967aab294a..51d4cf790756 100644 --- a/clients/client-lex-model-building-service/pagination/GetBotVersionsPaginator.ts +++ b/clients/client-lex-model-building-service/pagination/GetBotVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* getBotVersionsPaginate( let hasNext = true; let page: GetBotVersionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof LexModelBuildingService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getBotVersionsPaginate( throw new Error("Invalid client, expected LexModelBuildingService | LexModelBuildingServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lex-model-building-service/pagination/GetBotsPaginator.ts b/clients/client-lex-model-building-service/pagination/GetBotsPaginator.ts index 40b79f3151d0..b9f3c79f4351 100644 --- a/clients/client-lex-model-building-service/pagination/GetBotsPaginator.ts +++ b/clients/client-lex-model-building-service/pagination/GetBotsPaginator.ts @@ -29,7 +29,7 @@ export async function* getBotsPaginate( let hasNext = true; let page: GetBotsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof LexModelBuildingService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getBotsPaginate( throw new Error("Invalid client, expected LexModelBuildingService | LexModelBuildingServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lex-model-building-service/pagination/GetBuiltinIntentsPaginator.ts b/clients/client-lex-model-building-service/pagination/GetBuiltinIntentsPaginator.ts index 246a587d743b..7bc3a5d90942 100644 --- a/clients/client-lex-model-building-service/pagination/GetBuiltinIntentsPaginator.ts +++ b/clients/client-lex-model-building-service/pagination/GetBuiltinIntentsPaginator.ts @@ -33,7 +33,7 @@ export async function* getBuiltinIntentsPaginate( let hasNext = true; let page: GetBuiltinIntentsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof LexModelBuildingService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getBuiltinIntentsPaginate( throw new Error("Invalid client, expected LexModelBuildingService | LexModelBuildingServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lex-model-building-service/pagination/GetBuiltinSlotTypesPaginator.ts b/clients/client-lex-model-building-service/pagination/GetBuiltinSlotTypesPaginator.ts index 4d6181e2925f..508a2ede1205 100644 --- a/clients/client-lex-model-building-service/pagination/GetBuiltinSlotTypesPaginator.ts +++ b/clients/client-lex-model-building-service/pagination/GetBuiltinSlotTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* getBuiltinSlotTypesPaginate( let hasNext = true; let page: GetBuiltinSlotTypesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof LexModelBuildingService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getBuiltinSlotTypesPaginate( throw new Error("Invalid client, expected LexModelBuildingService | LexModelBuildingServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lex-model-building-service/pagination/GetIntentVersionsPaginator.ts b/clients/client-lex-model-building-service/pagination/GetIntentVersionsPaginator.ts index 53d31f19875a..58a2d6c1a92a 100644 --- a/clients/client-lex-model-building-service/pagination/GetIntentVersionsPaginator.ts +++ b/clients/client-lex-model-building-service/pagination/GetIntentVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* getIntentVersionsPaginate( let hasNext = true; let page: GetIntentVersionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof LexModelBuildingService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getIntentVersionsPaginate( throw new Error("Invalid client, expected LexModelBuildingService | LexModelBuildingServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lex-model-building-service/pagination/GetIntentsPaginator.ts b/clients/client-lex-model-building-service/pagination/GetIntentsPaginator.ts index ce371114378a..469b2918d6e0 100644 --- a/clients/client-lex-model-building-service/pagination/GetIntentsPaginator.ts +++ b/clients/client-lex-model-building-service/pagination/GetIntentsPaginator.ts @@ -29,7 +29,7 @@ export async function* getIntentsPaginate( let hasNext = true; let page: GetIntentsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof LexModelBuildingService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getIntentsPaginate( throw new Error("Invalid client, expected LexModelBuildingService | LexModelBuildingServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lex-model-building-service/pagination/GetSlotTypeVersionsPaginator.ts b/clients/client-lex-model-building-service/pagination/GetSlotTypeVersionsPaginator.ts index e04d2aed560e..03e442ecede4 100644 --- a/clients/client-lex-model-building-service/pagination/GetSlotTypeVersionsPaginator.ts +++ b/clients/client-lex-model-building-service/pagination/GetSlotTypeVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* getSlotTypeVersionsPaginate( let hasNext = true; let page: GetSlotTypeVersionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof LexModelBuildingService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getSlotTypeVersionsPaginate( throw new Error("Invalid client, expected LexModelBuildingService | LexModelBuildingServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-lex-model-building-service/pagination/GetSlotTypesPaginator.ts b/clients/client-lex-model-building-service/pagination/GetSlotTypesPaginator.ts index 2024ba69a73d..7e9297cf2116 100644 --- a/clients/client-lex-model-building-service/pagination/GetSlotTypesPaginator.ts +++ b/clients/client-lex-model-building-service/pagination/GetSlotTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* getSlotTypesPaginate( let hasNext = true; let page: GetSlotTypesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof LexModelBuildingService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getSlotTypesPaginate( throw new Error("Invalid client, expected LexModelBuildingService | LexModelBuildingServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-machine-learning/pagination/DescribeBatchPredictionsPaginator.ts b/clients/client-machine-learning/pagination/DescribeBatchPredictionsPaginator.ts index 1ca5fea094cd..23f04243197d 100644 --- a/clients/client-machine-learning/pagination/DescribeBatchPredictionsPaginator.ts +++ b/clients/client-machine-learning/pagination/DescribeBatchPredictionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeBatchPredictionsPaginate( let hasNext = true; let page: DescribeBatchPredictionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof MachineLearning) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeBatchPredictionsPaginate( throw new Error("Invalid client, expected MachineLearning | MachineLearningClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-machine-learning/pagination/DescribeDataSourcesPaginator.ts b/clients/client-machine-learning/pagination/DescribeDataSourcesPaginator.ts index 224628af784c..8f6bf44fdfc2 100644 --- a/clients/client-machine-learning/pagination/DescribeDataSourcesPaginator.ts +++ b/clients/client-machine-learning/pagination/DescribeDataSourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDataSourcesPaginate( let hasNext = true; let page: DescribeDataSourcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof MachineLearning) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDataSourcesPaginate( throw new Error("Invalid client, expected MachineLearning | MachineLearningClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-machine-learning/pagination/DescribeEvaluationsPaginator.ts b/clients/client-machine-learning/pagination/DescribeEvaluationsPaginator.ts index 703849b98c4c..281f9cdd4106 100644 --- a/clients/client-machine-learning/pagination/DescribeEvaluationsPaginator.ts +++ b/clients/client-machine-learning/pagination/DescribeEvaluationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEvaluationsPaginate( let hasNext = true; let page: DescribeEvaluationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof MachineLearning) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEvaluationsPaginate( throw new Error("Invalid client, expected MachineLearning | MachineLearningClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-machine-learning/pagination/DescribeMLModelsPaginator.ts b/clients/client-machine-learning/pagination/DescribeMLModelsPaginator.ts index 13590ccb0770..2d9f006ecaca 100644 --- a/clients/client-machine-learning/pagination/DescribeMLModelsPaginator.ts +++ b/clients/client-machine-learning/pagination/DescribeMLModelsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMLModelsPaginate( let hasNext = true; let page: DescribeMLModelsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof MachineLearning) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMLModelsPaginate( throw new Error("Invalid client, expected MachineLearning | MachineLearningClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie/pagination/ListMemberAccountsPaginator.ts b/clients/client-macie/pagination/ListMemberAccountsPaginator.ts index 8989e699c85b..e7500dc300c9 100644 --- a/clients/client-macie/pagination/ListMemberAccountsPaginator.ts +++ b/clients/client-macie/pagination/ListMemberAccountsPaginator.ts @@ -33,7 +33,7 @@ export async function* listMemberAccountsPaginate( let hasNext = true; let page: ListMemberAccountsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMemberAccountsPaginate( throw new Error("Invalid client, expected Macie | MacieClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie/pagination/ListS3ResourcesPaginator.ts b/clients/client-macie/pagination/ListS3ResourcesPaginator.ts index 2b65c238bae9..6695447a10cb 100644 --- a/clients/client-macie/pagination/ListS3ResourcesPaginator.ts +++ b/clients/client-macie/pagination/ListS3ResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listS3ResourcesPaginate( let hasNext = true; let page: ListS3ResourcesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listS3ResourcesPaginate( throw new Error("Invalid client, expected Macie | MacieClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie2/pagination/DescribeBucketsPaginator.ts b/clients/client-macie2/pagination/DescribeBucketsPaginator.ts index 579718dd4577..bc1701b1fe61 100644 --- a/clients/client-macie2/pagination/DescribeBucketsPaginator.ts +++ b/clients/client-macie2/pagination/DescribeBucketsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeBucketsPaginate( let hasNext = true; let page: DescribeBucketsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeBucketsPaginate( throw new Error("Invalid client, expected Macie2 | Macie2Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie2/pagination/GetUsageStatisticsPaginator.ts b/clients/client-macie2/pagination/GetUsageStatisticsPaginator.ts index 51ed503308e4..2a40358595e0 100644 --- a/clients/client-macie2/pagination/GetUsageStatisticsPaginator.ts +++ b/clients/client-macie2/pagination/GetUsageStatisticsPaginator.ts @@ -33,7 +33,7 @@ export async function* getUsageStatisticsPaginate( let hasNext = true; let page: GetUsageStatisticsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getUsageStatisticsPaginate( throw new Error("Invalid client, expected Macie2 | Macie2Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie2/pagination/ListClassificationJobsPaginator.ts b/clients/client-macie2/pagination/ListClassificationJobsPaginator.ts index 6f8e8c6652bf..336cf2c20180 100644 --- a/clients/client-macie2/pagination/ListClassificationJobsPaginator.ts +++ b/clients/client-macie2/pagination/ListClassificationJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listClassificationJobsPaginate( let hasNext = true; let page: ListClassificationJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listClassificationJobsPaginate( throw new Error("Invalid client, expected Macie2 | Macie2Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie2/pagination/ListCustomDataIdentifiersPaginator.ts b/clients/client-macie2/pagination/ListCustomDataIdentifiersPaginator.ts index 960569048410..c9309c5ec79b 100644 --- a/clients/client-macie2/pagination/ListCustomDataIdentifiersPaginator.ts +++ b/clients/client-macie2/pagination/ListCustomDataIdentifiersPaginator.ts @@ -33,7 +33,7 @@ export async function* listCustomDataIdentifiersPaginate( let hasNext = true; let page: ListCustomDataIdentifiersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCustomDataIdentifiersPaginate( throw new Error("Invalid client, expected Macie2 | Macie2Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie2/pagination/ListFindingsFiltersPaginator.ts b/clients/client-macie2/pagination/ListFindingsFiltersPaginator.ts index f7143655eeb5..40eeb5ed5599 100644 --- a/clients/client-macie2/pagination/ListFindingsFiltersPaginator.ts +++ b/clients/client-macie2/pagination/ListFindingsFiltersPaginator.ts @@ -33,7 +33,7 @@ export async function* listFindingsFiltersPaginate( let hasNext = true; let page: ListFindingsFiltersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFindingsFiltersPaginate( throw new Error("Invalid client, expected Macie2 | Macie2Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie2/pagination/ListFindingsPaginator.ts b/clients/client-macie2/pagination/ListFindingsPaginator.ts index 31790451018f..568b7e8b18a4 100644 --- a/clients/client-macie2/pagination/ListFindingsPaginator.ts +++ b/clients/client-macie2/pagination/ListFindingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listFindingsPaginate( let hasNext = true; let page: ListFindingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFindingsPaginate( throw new Error("Invalid client, expected Macie2 | Macie2Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie2/pagination/ListInvitationsPaginator.ts b/clients/client-macie2/pagination/ListInvitationsPaginator.ts index 09a6a8b2f8e9..9ce51459277b 100644 --- a/clients/client-macie2/pagination/ListInvitationsPaginator.ts +++ b/clients/client-macie2/pagination/ListInvitationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listInvitationsPaginate( let hasNext = true; let page: ListInvitationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInvitationsPaginate( throw new Error("Invalid client, expected Macie2 | Macie2Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie2/pagination/ListMembersPaginator.ts b/clients/client-macie2/pagination/ListMembersPaginator.ts index 1ef0916c7bc0..a2c4750fbb78 100644 --- a/clients/client-macie2/pagination/ListMembersPaginator.ts +++ b/clients/client-macie2/pagination/ListMembersPaginator.ts @@ -29,7 +29,7 @@ export async function* listMembersPaginate( let hasNext = true; let page: ListMembersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listMembersPaginate( throw new Error("Invalid client, expected Macie2 | Macie2Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-macie2/pagination/ListOrganizationAdminAccountsPaginator.ts b/clients/client-macie2/pagination/ListOrganizationAdminAccountsPaginator.ts index 97ad0d2b9d3a..e170d4c47235 100644 --- a/clients/client-macie2/pagination/ListOrganizationAdminAccountsPaginator.ts +++ b/clients/client-macie2/pagination/ListOrganizationAdminAccountsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOrganizationAdminAccountsPaginate( let hasNext = true; let page: ListOrganizationAdminAccountsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Macie2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOrganizationAdminAccountsPaginate( throw new Error("Invalid client, expected Macie2 | Macie2Client"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-managedblockchain/pagination/ListInvitationsPaginator.ts b/clients/client-managedblockchain/pagination/ListInvitationsPaginator.ts index e24f6f7994e4..28328ddf3b3d 100644 --- a/clients/client-managedblockchain/pagination/ListInvitationsPaginator.ts +++ b/clients/client-managedblockchain/pagination/ListInvitationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listInvitationsPaginate( let hasNext = true; let page: ListInvitationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ManagedBlockchain) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInvitationsPaginate( throw new Error("Invalid client, expected ManagedBlockchain | ManagedBlockchainClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-managedblockchain/pagination/ListMembersPaginator.ts b/clients/client-managedblockchain/pagination/ListMembersPaginator.ts index f480f8d32f91..aaffa9dd4396 100644 --- a/clients/client-managedblockchain/pagination/ListMembersPaginator.ts +++ b/clients/client-managedblockchain/pagination/ListMembersPaginator.ts @@ -29,7 +29,7 @@ export async function* listMembersPaginate( let hasNext = true; let page: ListMembersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ManagedBlockchain) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listMembersPaginate( throw new Error("Invalid client, expected ManagedBlockchain | ManagedBlockchainClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-managedblockchain/pagination/ListNetworksPaginator.ts b/clients/client-managedblockchain/pagination/ListNetworksPaginator.ts index d1898a9d1d10..3a84a2b6cbf6 100644 --- a/clients/client-managedblockchain/pagination/ListNetworksPaginator.ts +++ b/clients/client-managedblockchain/pagination/ListNetworksPaginator.ts @@ -33,7 +33,7 @@ export async function* listNetworksPaginate( let hasNext = true; let page: ListNetworksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ManagedBlockchain) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listNetworksPaginate( throw new Error("Invalid client, expected ManagedBlockchain | ManagedBlockchainClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-managedblockchain/pagination/ListNodesPaginator.ts b/clients/client-managedblockchain/pagination/ListNodesPaginator.ts index 6f6735a97ebe..2136276d92cb 100644 --- a/clients/client-managedblockchain/pagination/ListNodesPaginator.ts +++ b/clients/client-managedblockchain/pagination/ListNodesPaginator.ts @@ -29,7 +29,7 @@ export async function* listNodesPaginate( let hasNext = true; let page: ListNodesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ManagedBlockchain) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listNodesPaginate( throw new Error("Invalid client, expected ManagedBlockchain | ManagedBlockchainClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-managedblockchain/pagination/ListProposalVotesPaginator.ts b/clients/client-managedblockchain/pagination/ListProposalVotesPaginator.ts index fca0aac9a1b9..5b045a20d8b0 100644 --- a/clients/client-managedblockchain/pagination/ListProposalVotesPaginator.ts +++ b/clients/client-managedblockchain/pagination/ListProposalVotesPaginator.ts @@ -33,7 +33,7 @@ export async function* listProposalVotesPaginate( let hasNext = true; let page: ListProposalVotesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ManagedBlockchain) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProposalVotesPaginate( throw new Error("Invalid client, expected ManagedBlockchain | ManagedBlockchainClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-managedblockchain/pagination/ListProposalsPaginator.ts b/clients/client-managedblockchain/pagination/ListProposalsPaginator.ts index 8f0d6893e434..30a754b9fe1d 100644 --- a/clients/client-managedblockchain/pagination/ListProposalsPaginator.ts +++ b/clients/client-managedblockchain/pagination/ListProposalsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProposalsPaginate( let hasNext = true; let page: ListProposalsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ManagedBlockchain) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProposalsPaginate( throw new Error("Invalid client, expected ManagedBlockchain | ManagedBlockchainClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-marketplace-catalog/pagination/ListChangeSetsPaginator.ts b/clients/client-marketplace-catalog/pagination/ListChangeSetsPaginator.ts index a7c0ce51285f..a304d777494a 100644 --- a/clients/client-marketplace-catalog/pagination/ListChangeSetsPaginator.ts +++ b/clients/client-marketplace-catalog/pagination/ListChangeSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listChangeSetsPaginate( let hasNext = true; let page: ListChangeSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MarketplaceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listChangeSetsPaginate( throw new Error("Invalid client, expected MarketplaceCatalog | MarketplaceCatalogClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-marketplace-catalog/pagination/ListEntitiesPaginator.ts b/clients/client-marketplace-catalog/pagination/ListEntitiesPaginator.ts index 4dbe78b0ebec..4d8d9efa2cfe 100644 --- a/clients/client-marketplace-catalog/pagination/ListEntitiesPaginator.ts +++ b/clients/client-marketplace-catalog/pagination/ListEntitiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listEntitiesPaginate( let hasNext = true; let page: ListEntitiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MarketplaceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEntitiesPaginate( throw new Error("Invalid client, expected MarketplaceCatalog | MarketplaceCatalogClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediaconnect/pagination/ListEntitlementsPaginator.ts b/clients/client-mediaconnect/pagination/ListEntitlementsPaginator.ts index 0d76ea75457b..f2059b072030 100644 --- a/clients/client-mediaconnect/pagination/ListEntitlementsPaginator.ts +++ b/clients/client-mediaconnect/pagination/ListEntitlementsPaginator.ts @@ -33,7 +33,7 @@ export async function* listEntitlementsPaginate( let hasNext = true; let page: ListEntitlementsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaConnect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEntitlementsPaginate( throw new Error("Invalid client, expected MediaConnect | MediaConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediaconnect/pagination/ListFlowsPaginator.ts b/clients/client-mediaconnect/pagination/ListFlowsPaginator.ts index 144eaf0d8b40..571f6ddd754f 100644 --- a/clients/client-mediaconnect/pagination/ListFlowsPaginator.ts +++ b/clients/client-mediaconnect/pagination/ListFlowsPaginator.ts @@ -29,7 +29,7 @@ export async function* listFlowsPaginate( let hasNext = true; let page: ListFlowsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaConnect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listFlowsPaginate( throw new Error("Invalid client, expected MediaConnect | MediaConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediaconnect/pagination/ListOfferingsPaginator.ts b/clients/client-mediaconnect/pagination/ListOfferingsPaginator.ts index 7de2c2769db9..f04cb881b28f 100644 --- a/clients/client-mediaconnect/pagination/ListOfferingsPaginator.ts +++ b/clients/client-mediaconnect/pagination/ListOfferingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOfferingsPaginate( let hasNext = true; let page: ListOfferingsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaConnect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOfferingsPaginate( throw new Error("Invalid client, expected MediaConnect | MediaConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediaconnect/pagination/ListReservationsPaginator.ts b/clients/client-mediaconnect/pagination/ListReservationsPaginator.ts index 111738fc5be5..53b71987ecfc 100644 --- a/clients/client-mediaconnect/pagination/ListReservationsPaginator.ts +++ b/clients/client-mediaconnect/pagination/ListReservationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listReservationsPaginate( let hasNext = true; let page: ListReservationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaConnect) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listReservationsPaginate( throw new Error("Invalid client, expected MediaConnect | MediaConnectClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediaconvert/pagination/DescribeEndpointsPaginator.ts b/clients/client-mediaconvert/pagination/DescribeEndpointsPaginator.ts index a7c44e5318e8..f1daf8b35ab6 100644 --- a/clients/client-mediaconvert/pagination/DescribeEndpointsPaginator.ts +++ b/clients/client-mediaconvert/pagination/DescribeEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEndpointsPaginate( let hasNext = true; let page: DescribeEndpointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaConvert) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEndpointsPaginate( throw new Error("Invalid client, expected MediaConvert | MediaConvertClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediaconvert/pagination/ListJobTemplatesPaginator.ts b/clients/client-mediaconvert/pagination/ListJobTemplatesPaginator.ts index aead616769da..0de698e87482 100644 --- a/clients/client-mediaconvert/pagination/ListJobTemplatesPaginator.ts +++ b/clients/client-mediaconvert/pagination/ListJobTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listJobTemplatesPaginate( let hasNext = true; let page: ListJobTemplatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaConvert) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listJobTemplatesPaginate( throw new Error("Invalid client, expected MediaConvert | MediaConvertClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediaconvert/pagination/ListJobsPaginator.ts b/clients/client-mediaconvert/pagination/ListJobsPaginator.ts index 1e36504e9b60..283c09e7ddb4 100644 --- a/clients/client-mediaconvert/pagination/ListJobsPaginator.ts +++ b/clients/client-mediaconvert/pagination/ListJobsPaginator.ts @@ -29,7 +29,7 @@ export async function* listJobsPaginate( let hasNext = true; let page: ListJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaConvert) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listJobsPaginate( throw new Error("Invalid client, expected MediaConvert | MediaConvertClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediaconvert/pagination/ListPresetsPaginator.ts b/clients/client-mediaconvert/pagination/ListPresetsPaginator.ts index 18eddd85e554..81005e24755f 100644 --- a/clients/client-mediaconvert/pagination/ListPresetsPaginator.ts +++ b/clients/client-mediaconvert/pagination/ListPresetsPaginator.ts @@ -29,7 +29,7 @@ export async function* listPresetsPaginate( let hasNext = true; let page: ListPresetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaConvert) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listPresetsPaginate( throw new Error("Invalid client, expected MediaConvert | MediaConvertClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediaconvert/pagination/ListQueuesPaginator.ts b/clients/client-mediaconvert/pagination/ListQueuesPaginator.ts index ed3b9f973401..c2fc76672851 100644 --- a/clients/client-mediaconvert/pagination/ListQueuesPaginator.ts +++ b/clients/client-mediaconvert/pagination/ListQueuesPaginator.ts @@ -29,7 +29,7 @@ export async function* listQueuesPaginate( let hasNext = true; let page: ListQueuesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaConvert) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listQueuesPaginate( throw new Error("Invalid client, expected MediaConvert | MediaConvertClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-medialive/pagination/DescribeSchedulePaginator.ts b/clients/client-medialive/pagination/DescribeSchedulePaginator.ts index f7cf8c155c46..c2b5098f8826 100644 --- a/clients/client-medialive/pagination/DescribeSchedulePaginator.ts +++ b/clients/client-medialive/pagination/DescribeSchedulePaginator.ts @@ -33,7 +33,7 @@ export async function* describeSchedulePaginate( let hasNext = true; let page: DescribeScheduleCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaLive) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSchedulePaginate( throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-medialive/pagination/ListChannelsPaginator.ts b/clients/client-medialive/pagination/ListChannelsPaginator.ts index 2a182377cb9b..083d0eec9251 100644 --- a/clients/client-medialive/pagination/ListChannelsPaginator.ts +++ b/clients/client-medialive/pagination/ListChannelsPaginator.ts @@ -33,7 +33,7 @@ export async function* listChannelsPaginate( let hasNext = true; let page: ListChannelsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaLive) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listChannelsPaginate( throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-medialive/pagination/ListInputDeviceTransfersPaginator.ts b/clients/client-medialive/pagination/ListInputDeviceTransfersPaginator.ts index cb289fd7b277..2197c8aac69e 100644 --- a/clients/client-medialive/pagination/ListInputDeviceTransfersPaginator.ts +++ b/clients/client-medialive/pagination/ListInputDeviceTransfersPaginator.ts @@ -33,7 +33,7 @@ export async function* listInputDeviceTransfersPaginate( let hasNext = true; let page: ListInputDeviceTransfersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaLive) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInputDeviceTransfersPaginate( throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-medialive/pagination/ListInputDevicesPaginator.ts b/clients/client-medialive/pagination/ListInputDevicesPaginator.ts index c3fc077f2265..768c3f227636 100644 --- a/clients/client-medialive/pagination/ListInputDevicesPaginator.ts +++ b/clients/client-medialive/pagination/ListInputDevicesPaginator.ts @@ -33,7 +33,7 @@ export async function* listInputDevicesPaginate( let hasNext = true; let page: ListInputDevicesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaLive) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInputDevicesPaginate( throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-medialive/pagination/ListInputSecurityGroupsPaginator.ts b/clients/client-medialive/pagination/ListInputSecurityGroupsPaginator.ts index 8dde2f1fadd7..ea8b0d0cb093 100644 --- a/clients/client-medialive/pagination/ListInputSecurityGroupsPaginator.ts +++ b/clients/client-medialive/pagination/ListInputSecurityGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listInputSecurityGroupsPaginate( let hasNext = true; let page: ListInputSecurityGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaLive) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInputSecurityGroupsPaginate( throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-medialive/pagination/ListInputsPaginator.ts b/clients/client-medialive/pagination/ListInputsPaginator.ts index ddf65f7f46d8..0f9d0cb66761 100644 --- a/clients/client-medialive/pagination/ListInputsPaginator.ts +++ b/clients/client-medialive/pagination/ListInputsPaginator.ts @@ -29,7 +29,7 @@ export async function* listInputsPaginate( let hasNext = true; let page: ListInputsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaLive) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listInputsPaginate( throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-medialive/pagination/ListMultiplexProgramsPaginator.ts b/clients/client-medialive/pagination/ListMultiplexProgramsPaginator.ts index 59ee8242d8a4..01d8134799f9 100644 --- a/clients/client-medialive/pagination/ListMultiplexProgramsPaginator.ts +++ b/clients/client-medialive/pagination/ListMultiplexProgramsPaginator.ts @@ -33,7 +33,7 @@ export async function* listMultiplexProgramsPaginate( let hasNext = true; let page: ListMultiplexProgramsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaLive) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMultiplexProgramsPaginate( throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-medialive/pagination/ListMultiplexesPaginator.ts b/clients/client-medialive/pagination/ListMultiplexesPaginator.ts index f3a4a2f6ce4e..38538bfea9f1 100644 --- a/clients/client-medialive/pagination/ListMultiplexesPaginator.ts +++ b/clients/client-medialive/pagination/ListMultiplexesPaginator.ts @@ -33,7 +33,7 @@ export async function* listMultiplexesPaginate( let hasNext = true; let page: ListMultiplexesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaLive) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMultiplexesPaginate( throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-medialive/pagination/ListOfferingsPaginator.ts b/clients/client-medialive/pagination/ListOfferingsPaginator.ts index 331907e00e8e..612e9a1fcd60 100644 --- a/clients/client-medialive/pagination/ListOfferingsPaginator.ts +++ b/clients/client-medialive/pagination/ListOfferingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOfferingsPaginate( let hasNext = true; let page: ListOfferingsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaLive) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOfferingsPaginate( throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-medialive/pagination/ListReservationsPaginator.ts b/clients/client-medialive/pagination/ListReservationsPaginator.ts index 0e81dd276776..45615dc08f6e 100644 --- a/clients/client-medialive/pagination/ListReservationsPaginator.ts +++ b/clients/client-medialive/pagination/ListReservationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listReservationsPaginate( let hasNext = true; let page: ListReservationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaLive) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listReservationsPaginate( throw new Error("Invalid client, expected MediaLive | MediaLiveClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediapackage-vod/pagination/ListAssetsPaginator.ts b/clients/client-mediapackage-vod/pagination/ListAssetsPaginator.ts index 69ea8391bf1e..77eb8f019b64 100644 --- a/clients/client-mediapackage-vod/pagination/ListAssetsPaginator.ts +++ b/clients/client-mediapackage-vod/pagination/ListAssetsPaginator.ts @@ -29,7 +29,7 @@ export async function* listAssetsPaginate( let hasNext = true; let page: ListAssetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaPackageVod) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listAssetsPaginate( throw new Error("Invalid client, expected MediaPackageVod | MediaPackageVodClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediapackage-vod/pagination/ListPackagingConfigurationsPaginator.ts b/clients/client-mediapackage-vod/pagination/ListPackagingConfigurationsPaginator.ts index 9924a8c86d2c..94c4ed2ceff0 100644 --- a/clients/client-mediapackage-vod/pagination/ListPackagingConfigurationsPaginator.ts +++ b/clients/client-mediapackage-vod/pagination/ListPackagingConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPackagingConfigurationsPaginate( let hasNext = true; let page: ListPackagingConfigurationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaPackageVod) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPackagingConfigurationsPaginate( throw new Error("Invalid client, expected MediaPackageVod | MediaPackageVodClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediapackage-vod/pagination/ListPackagingGroupsPaginator.ts b/clients/client-mediapackage-vod/pagination/ListPackagingGroupsPaginator.ts index 820b0aa7a744..c2fe5329ef1c 100644 --- a/clients/client-mediapackage-vod/pagination/ListPackagingGroupsPaginator.ts +++ b/clients/client-mediapackage-vod/pagination/ListPackagingGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPackagingGroupsPaginate( let hasNext = true; let page: ListPackagingGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaPackageVod) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPackagingGroupsPaginate( throw new Error("Invalid client, expected MediaPackageVod | MediaPackageVodClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediapackage/pagination/ListChannelsPaginator.ts b/clients/client-mediapackage/pagination/ListChannelsPaginator.ts index de08f07b0a61..6d07fb8c9b4b 100644 --- a/clients/client-mediapackage/pagination/ListChannelsPaginator.ts +++ b/clients/client-mediapackage/pagination/ListChannelsPaginator.ts @@ -33,7 +33,7 @@ export async function* listChannelsPaginate( let hasNext = true; let page: ListChannelsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaPackage) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listChannelsPaginate( throw new Error("Invalid client, expected MediaPackage | MediaPackageClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediapackage/pagination/ListHarvestJobsPaginator.ts b/clients/client-mediapackage/pagination/ListHarvestJobsPaginator.ts index a3df84eca54b..20fa5fb3ed46 100644 --- a/clients/client-mediapackage/pagination/ListHarvestJobsPaginator.ts +++ b/clients/client-mediapackage/pagination/ListHarvestJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listHarvestJobsPaginate( let hasNext = true; let page: ListHarvestJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaPackage) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listHarvestJobsPaginate( throw new Error("Invalid client, expected MediaPackage | MediaPackageClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediapackage/pagination/ListOriginEndpointsPaginator.ts b/clients/client-mediapackage/pagination/ListOriginEndpointsPaginator.ts index 235308273dcb..3da7a7b67e8d 100644 --- a/clients/client-mediapackage/pagination/ListOriginEndpointsPaginator.ts +++ b/clients/client-mediapackage/pagination/ListOriginEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOriginEndpointsPaginate( let hasNext = true; let page: ListOriginEndpointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaPackage) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOriginEndpointsPaginate( throw new Error("Invalid client, expected MediaPackage | MediaPackageClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mediastore/pagination/ListContainersPaginator.ts b/clients/client-mediastore/pagination/ListContainersPaginator.ts index cd53a9e6c759..993a85bdb514 100644 --- a/clients/client-mediastore/pagination/ListContainersPaginator.ts +++ b/clients/client-mediastore/pagination/ListContainersPaginator.ts @@ -33,7 +33,7 @@ export async function* listContainersPaginate( let hasNext = true; let page: ListContainersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MediaStore) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listContainersPaginate( throw new Error("Invalid client, expected MediaStore | MediaStoreClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-migration-hub/pagination/ListApplicationStatesPaginator.ts b/clients/client-migration-hub/pagination/ListApplicationStatesPaginator.ts index 3ac4da017269..c086c361451e 100644 --- a/clients/client-migration-hub/pagination/ListApplicationStatesPaginator.ts +++ b/clients/client-migration-hub/pagination/ListApplicationStatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listApplicationStatesPaginate( let hasNext = true; let page: ListApplicationStatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MigrationHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listApplicationStatesPaginate( throw new Error("Invalid client, expected MigrationHub | MigrationHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-migration-hub/pagination/ListCreatedArtifactsPaginator.ts b/clients/client-migration-hub/pagination/ListCreatedArtifactsPaginator.ts index 2d6e37f0bdb4..28c16afa1c4e 100644 --- a/clients/client-migration-hub/pagination/ListCreatedArtifactsPaginator.ts +++ b/clients/client-migration-hub/pagination/ListCreatedArtifactsPaginator.ts @@ -33,7 +33,7 @@ export async function* listCreatedArtifactsPaginate( let hasNext = true; let page: ListCreatedArtifactsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MigrationHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCreatedArtifactsPaginate( throw new Error("Invalid client, expected MigrationHub | MigrationHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-migration-hub/pagination/ListDiscoveredResourcesPaginator.ts b/clients/client-migration-hub/pagination/ListDiscoveredResourcesPaginator.ts index daa1b944bcde..c5b0db56077e 100644 --- a/clients/client-migration-hub/pagination/ListDiscoveredResourcesPaginator.ts +++ b/clients/client-migration-hub/pagination/ListDiscoveredResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDiscoveredResourcesPaginate( let hasNext = true; let page: ListDiscoveredResourcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MigrationHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDiscoveredResourcesPaginate( throw new Error("Invalid client, expected MigrationHub | MigrationHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-migration-hub/pagination/ListMigrationTasksPaginator.ts b/clients/client-migration-hub/pagination/ListMigrationTasksPaginator.ts index 90959dc8b4e8..e0abc767e4f1 100644 --- a/clients/client-migration-hub/pagination/ListMigrationTasksPaginator.ts +++ b/clients/client-migration-hub/pagination/ListMigrationTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* listMigrationTasksPaginate( let hasNext = true; let page: ListMigrationTasksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MigrationHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMigrationTasksPaginate( throw new Error("Invalid client, expected MigrationHub | MigrationHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-migration-hub/pagination/ListProgressUpdateStreamsPaginator.ts b/clients/client-migration-hub/pagination/ListProgressUpdateStreamsPaginator.ts index 7a6d687d9d22..b039001d0366 100644 --- a/clients/client-migration-hub/pagination/ListProgressUpdateStreamsPaginator.ts +++ b/clients/client-migration-hub/pagination/ListProgressUpdateStreamsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProgressUpdateStreamsPaginate( let hasNext = true; let page: ListProgressUpdateStreamsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MigrationHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProgressUpdateStreamsPaginate( throw new Error("Invalid client, expected MigrationHub | MigrationHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-migrationhub-config/pagination/DescribeHomeRegionControlsPaginator.ts b/clients/client-migrationhub-config/pagination/DescribeHomeRegionControlsPaginator.ts index 268d5bc4e623..46862a384671 100644 --- a/clients/client-migrationhub-config/pagination/DescribeHomeRegionControlsPaginator.ts +++ b/clients/client-migrationhub-config/pagination/DescribeHomeRegionControlsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeHomeRegionControlsPaginate( let hasNext = true; let page: DescribeHomeRegionControlsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MigrationHubConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeHomeRegionControlsPaginate( throw new Error("Invalid client, expected MigrationHubConfig | MigrationHubConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mobile/pagination/ListBundlesPaginator.ts b/clients/client-mobile/pagination/ListBundlesPaginator.ts index 97ad2e1bf46b..8d48e5336fc0 100644 --- a/clients/client-mobile/pagination/ListBundlesPaginator.ts +++ b/clients/client-mobile/pagination/ListBundlesPaginator.ts @@ -29,7 +29,7 @@ export async function* listBundlesPaginate( let hasNext = true; let page: ListBundlesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Mobile) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listBundlesPaginate( throw new Error("Invalid client, expected Mobile | MobileClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mobile/pagination/ListProjectsPaginator.ts b/clients/client-mobile/pagination/ListProjectsPaginator.ts index e395795404dd..bc92b41138e5 100644 --- a/clients/client-mobile/pagination/ListProjectsPaginator.ts +++ b/clients/client-mobile/pagination/ListProjectsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProjectsPaginate( let hasNext = true; let page: ListProjectsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Mobile) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProjectsPaginate( throw new Error("Invalid client, expected Mobile | MobileClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mq/pagination/ListBrokersPaginator.ts b/clients/client-mq/pagination/ListBrokersPaginator.ts index 3038f9f2bec1..dad7b64e9f75 100644 --- a/clients/client-mq/pagination/ListBrokersPaginator.ts +++ b/clients/client-mq/pagination/ListBrokersPaginator.ts @@ -29,7 +29,7 @@ export async function* listBrokersPaginate( let hasNext = true; let page: ListBrokersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Mq) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listBrokersPaginate( throw new Error("Invalid client, expected Mq | MqClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mturk/pagination/ListAssignmentsForHITPaginator.ts b/clients/client-mturk/pagination/ListAssignmentsForHITPaginator.ts index 335011589abb..260c71417c13 100644 --- a/clients/client-mturk/pagination/ListAssignmentsForHITPaginator.ts +++ b/clients/client-mturk/pagination/ListAssignmentsForHITPaginator.ts @@ -33,7 +33,7 @@ export async function* listAssignmentsForHITPaginate( let hasNext = true; let page: ListAssignmentsForHITCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MTurk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAssignmentsForHITPaginate( throw new Error("Invalid client, expected MTurk | MTurkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mturk/pagination/ListBonusPaymentsPaginator.ts b/clients/client-mturk/pagination/ListBonusPaymentsPaginator.ts index 48d5ca48e9eb..d75defd5d8cc 100644 --- a/clients/client-mturk/pagination/ListBonusPaymentsPaginator.ts +++ b/clients/client-mturk/pagination/ListBonusPaymentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listBonusPaymentsPaginate( let hasNext = true; let page: ListBonusPaymentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MTurk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBonusPaymentsPaginate( throw new Error("Invalid client, expected MTurk | MTurkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mturk/pagination/ListHITsForQualificationTypePaginator.ts b/clients/client-mturk/pagination/ListHITsForQualificationTypePaginator.ts index 669734715377..142483dcfb6a 100644 --- a/clients/client-mturk/pagination/ListHITsForQualificationTypePaginator.ts +++ b/clients/client-mturk/pagination/ListHITsForQualificationTypePaginator.ts @@ -33,7 +33,7 @@ export async function* listHITsForQualificationTypePaginate( let hasNext = true; let page: ListHITsForQualificationTypeCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MTurk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listHITsForQualificationTypePaginate( throw new Error("Invalid client, expected MTurk | MTurkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mturk/pagination/ListHITsPaginator.ts b/clients/client-mturk/pagination/ListHITsPaginator.ts index 6e181752fc04..4b4fc1bc4d2b 100644 --- a/clients/client-mturk/pagination/ListHITsPaginator.ts +++ b/clients/client-mturk/pagination/ListHITsPaginator.ts @@ -29,7 +29,7 @@ export async function* listHITsPaginate( let hasNext = true; let page: ListHITsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MTurk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listHITsPaginate( throw new Error("Invalid client, expected MTurk | MTurkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mturk/pagination/ListQualificationRequestsPaginator.ts b/clients/client-mturk/pagination/ListQualificationRequestsPaginator.ts index 3a5b01b1af9e..c7288133caa9 100644 --- a/clients/client-mturk/pagination/ListQualificationRequestsPaginator.ts +++ b/clients/client-mturk/pagination/ListQualificationRequestsPaginator.ts @@ -33,7 +33,7 @@ export async function* listQualificationRequestsPaginate( let hasNext = true; let page: ListQualificationRequestsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MTurk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listQualificationRequestsPaginate( throw new Error("Invalid client, expected MTurk | MTurkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mturk/pagination/ListQualificationTypesPaginator.ts b/clients/client-mturk/pagination/ListQualificationTypesPaginator.ts index e7f4acdbf89e..b4a2120b265c 100644 --- a/clients/client-mturk/pagination/ListQualificationTypesPaginator.ts +++ b/clients/client-mturk/pagination/ListQualificationTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* listQualificationTypesPaginate( let hasNext = true; let page: ListQualificationTypesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MTurk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listQualificationTypesPaginate( throw new Error("Invalid client, expected MTurk | MTurkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mturk/pagination/ListReviewPolicyResultsForHITPaginator.ts b/clients/client-mturk/pagination/ListReviewPolicyResultsForHITPaginator.ts index 1048d67c2125..1836935396e4 100644 --- a/clients/client-mturk/pagination/ListReviewPolicyResultsForHITPaginator.ts +++ b/clients/client-mturk/pagination/ListReviewPolicyResultsForHITPaginator.ts @@ -33,7 +33,7 @@ export async function* listReviewPolicyResultsForHITPaginate( let hasNext = true; let page: ListReviewPolicyResultsForHITCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MTurk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listReviewPolicyResultsForHITPaginate( throw new Error("Invalid client, expected MTurk | MTurkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mturk/pagination/ListReviewableHITsPaginator.ts b/clients/client-mturk/pagination/ListReviewableHITsPaginator.ts index 86ddd3ae44e3..db5d36b31916 100644 --- a/clients/client-mturk/pagination/ListReviewableHITsPaginator.ts +++ b/clients/client-mturk/pagination/ListReviewableHITsPaginator.ts @@ -33,7 +33,7 @@ export async function* listReviewableHITsPaginate( let hasNext = true; let page: ListReviewableHITsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MTurk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listReviewableHITsPaginate( throw new Error("Invalid client, expected MTurk | MTurkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mturk/pagination/ListWorkerBlocksPaginator.ts b/clients/client-mturk/pagination/ListWorkerBlocksPaginator.ts index c9abb957feb5..076b98d9f386 100644 --- a/clients/client-mturk/pagination/ListWorkerBlocksPaginator.ts +++ b/clients/client-mturk/pagination/ListWorkerBlocksPaginator.ts @@ -33,7 +33,7 @@ export async function* listWorkerBlocksPaginate( let hasNext = true; let page: ListWorkerBlocksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MTurk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWorkerBlocksPaginate( throw new Error("Invalid client, expected MTurk | MTurkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-mturk/pagination/ListWorkersWithQualificationTypePaginator.ts b/clients/client-mturk/pagination/ListWorkersWithQualificationTypePaginator.ts index 95f3fa37295e..b599fc28b84d 100644 --- a/clients/client-mturk/pagination/ListWorkersWithQualificationTypePaginator.ts +++ b/clients/client-mturk/pagination/ListWorkersWithQualificationTypePaginator.ts @@ -33,7 +33,7 @@ export async function* listWorkersWithQualificationTypePaginate( let hasNext = true; let page: ListWorkersWithQualificationTypeCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof MTurk) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWorkersWithQualificationTypePaginate( throw new Error("Invalid client, expected MTurk | MTurkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-neptune/pagination/DescribeDBEngineVersionsPaginator.ts b/clients/client-neptune/pagination/DescribeDBEngineVersionsPaginator.ts index f77bf9ff9bf3..ce4558e61732 100644 --- a/clients/client-neptune/pagination/DescribeDBEngineVersionsPaginator.ts +++ b/clients/client-neptune/pagination/DescribeDBEngineVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBEngineVersionsPaginate( let hasNext = true; let page: DescribeDBEngineVersionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Neptune) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBEngineVersionsPaginate( throw new Error("Invalid client, expected Neptune | NeptuneClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-neptune/pagination/DescribeDBInstancesPaginator.ts b/clients/client-neptune/pagination/DescribeDBInstancesPaginator.ts index e6aadab8696b..9688c583a91d 100644 --- a/clients/client-neptune/pagination/DescribeDBInstancesPaginator.ts +++ b/clients/client-neptune/pagination/DescribeDBInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBInstancesPaginate( let hasNext = true; let page: DescribeDBInstancesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Neptune) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBInstancesPaginate( throw new Error("Invalid client, expected Neptune | NeptuneClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-neptune/pagination/DescribeDBParameterGroupsPaginator.ts b/clients/client-neptune/pagination/DescribeDBParameterGroupsPaginator.ts index 0b61a6516868..3cc35107733d 100644 --- a/clients/client-neptune/pagination/DescribeDBParameterGroupsPaginator.ts +++ b/clients/client-neptune/pagination/DescribeDBParameterGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBParameterGroupsPaginate( let hasNext = true; let page: DescribeDBParameterGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Neptune) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBParameterGroupsPaginate( throw new Error("Invalid client, expected Neptune | NeptuneClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-neptune/pagination/DescribeDBParametersPaginator.ts b/clients/client-neptune/pagination/DescribeDBParametersPaginator.ts index 0dc40f8b8720..dd80a563d517 100644 --- a/clients/client-neptune/pagination/DescribeDBParametersPaginator.ts +++ b/clients/client-neptune/pagination/DescribeDBParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBParametersPaginate( let hasNext = true; let page: DescribeDBParametersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Neptune) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBParametersPaginate( throw new Error("Invalid client, expected Neptune | NeptuneClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-neptune/pagination/DescribeDBSubnetGroupsPaginator.ts b/clients/client-neptune/pagination/DescribeDBSubnetGroupsPaginator.ts index 12c61429c145..190647de3265 100644 --- a/clients/client-neptune/pagination/DescribeDBSubnetGroupsPaginator.ts +++ b/clients/client-neptune/pagination/DescribeDBSubnetGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBSubnetGroupsPaginate( let hasNext = true; let page: DescribeDBSubnetGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Neptune) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBSubnetGroupsPaginate( throw new Error("Invalid client, expected Neptune | NeptuneClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts b/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts index 3ed490ee2652..446114e2794b 100644 --- a/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts +++ b/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEngineDefaultParametersPaginate( let hasNext = true; let page: DescribeEngineDefaultParametersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Neptune) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEngineDefaultParametersPaginate( throw new Error("Invalid client, expected Neptune | NeptuneClient"); } yield page; - token = page["EngineDefaults"]["Marker"]; + token = page.EngineDefaults?.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-neptune/pagination/DescribeEventSubscriptionsPaginator.ts b/clients/client-neptune/pagination/DescribeEventSubscriptionsPaginator.ts index fae9bbc95203..b5349c5eeb4c 100644 --- a/clients/client-neptune/pagination/DescribeEventSubscriptionsPaginator.ts +++ b/clients/client-neptune/pagination/DescribeEventSubscriptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventSubscriptionsPaginate( let hasNext = true; let page: DescribeEventSubscriptionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Neptune) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventSubscriptionsPaginate( throw new Error("Invalid client, expected Neptune | NeptuneClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-neptune/pagination/DescribeEventsPaginator.ts b/clients/client-neptune/pagination/DescribeEventsPaginator.ts index fc3e571c8966..33337e43e5e6 100644 --- a/clients/client-neptune/pagination/DescribeEventsPaginator.ts +++ b/clients/client-neptune/pagination/DescribeEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventsPaginate( let hasNext = true; let page: DescribeEventsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Neptune) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventsPaginate( throw new Error("Invalid client, expected Neptune | NeptuneClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-neptune/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts b/clients/client-neptune/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts index 3bd1a1c11557..b3334903fb44 100644 --- a/clients/client-neptune/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts +++ b/clients/client-neptune/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeOrderableDBInstanceOptionsPaginate( let hasNext = true; let page: DescribeOrderableDBInstanceOptionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Neptune) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeOrderableDBInstanceOptionsPaginate( throw new Error("Invalid client, expected Neptune | NeptuneClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-networkmanager/pagination/DescribeGlobalNetworksPaginator.ts b/clients/client-networkmanager/pagination/DescribeGlobalNetworksPaginator.ts index db4df8e7da03..4c476df53eea 100644 --- a/clients/client-networkmanager/pagination/DescribeGlobalNetworksPaginator.ts +++ b/clients/client-networkmanager/pagination/DescribeGlobalNetworksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeGlobalNetworksPaginate( let hasNext = true; let page: DescribeGlobalNetworksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof NetworkManager) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeGlobalNetworksPaginate( throw new Error("Invalid client, expected NetworkManager | NetworkManagerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-networkmanager/pagination/GetCustomerGatewayAssociationsPaginator.ts b/clients/client-networkmanager/pagination/GetCustomerGatewayAssociationsPaginator.ts index c4bf04844b0b..c790c445157a 100644 --- a/clients/client-networkmanager/pagination/GetCustomerGatewayAssociationsPaginator.ts +++ b/clients/client-networkmanager/pagination/GetCustomerGatewayAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getCustomerGatewayAssociationsPaginate( let hasNext = true; let page: GetCustomerGatewayAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof NetworkManager) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getCustomerGatewayAssociationsPaginate( throw new Error("Invalid client, expected NetworkManager | NetworkManagerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-networkmanager/pagination/GetDevicesPaginator.ts b/clients/client-networkmanager/pagination/GetDevicesPaginator.ts index 3f220bb9ac29..43b96da693f4 100644 --- a/clients/client-networkmanager/pagination/GetDevicesPaginator.ts +++ b/clients/client-networkmanager/pagination/GetDevicesPaginator.ts @@ -29,7 +29,7 @@ export async function* getDevicesPaginate( let hasNext = true; let page: GetDevicesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof NetworkManager) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getDevicesPaginate( throw new Error("Invalid client, expected NetworkManager | NetworkManagerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-networkmanager/pagination/GetLinkAssociationsPaginator.ts b/clients/client-networkmanager/pagination/GetLinkAssociationsPaginator.ts index 827bdf7447c3..3e85b80c591f 100644 --- a/clients/client-networkmanager/pagination/GetLinkAssociationsPaginator.ts +++ b/clients/client-networkmanager/pagination/GetLinkAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getLinkAssociationsPaginate( let hasNext = true; let page: GetLinkAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof NetworkManager) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getLinkAssociationsPaginate( throw new Error("Invalid client, expected NetworkManager | NetworkManagerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-networkmanager/pagination/GetLinksPaginator.ts b/clients/client-networkmanager/pagination/GetLinksPaginator.ts index cd46e559dbb3..a7b3e2db2831 100644 --- a/clients/client-networkmanager/pagination/GetLinksPaginator.ts +++ b/clients/client-networkmanager/pagination/GetLinksPaginator.ts @@ -29,7 +29,7 @@ export async function* getLinksPaginate( let hasNext = true; let page: GetLinksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof NetworkManager) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getLinksPaginate( throw new Error("Invalid client, expected NetworkManager | NetworkManagerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-networkmanager/pagination/GetSitesPaginator.ts b/clients/client-networkmanager/pagination/GetSitesPaginator.ts index c88022b87c9a..0a2f26b860e4 100644 --- a/clients/client-networkmanager/pagination/GetSitesPaginator.ts +++ b/clients/client-networkmanager/pagination/GetSitesPaginator.ts @@ -29,7 +29,7 @@ export async function* getSitesPaginate( let hasNext = true; let page: GetSitesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof NetworkManager) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getSitesPaginate( throw new Error("Invalid client, expected NetworkManager | NetworkManagerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-networkmanager/pagination/GetTransitGatewayRegistrationsPaginator.ts b/clients/client-networkmanager/pagination/GetTransitGatewayRegistrationsPaginator.ts index f4f02fdc4048..b9e5182dea29 100644 --- a/clients/client-networkmanager/pagination/GetTransitGatewayRegistrationsPaginator.ts +++ b/clients/client-networkmanager/pagination/GetTransitGatewayRegistrationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getTransitGatewayRegistrationsPaginate( let hasNext = true; let page: GetTransitGatewayRegistrationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof NetworkManager) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getTransitGatewayRegistrationsPaginate( throw new Error("Invalid client, expected NetworkManager | NetworkManagerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-opsworks/pagination/DescribeEcsClustersPaginator.ts b/clients/client-opsworks/pagination/DescribeEcsClustersPaginator.ts index 9d1179873248..1c049bf34202 100644 --- a/clients/client-opsworks/pagination/DescribeEcsClustersPaginator.ts +++ b/clients/client-opsworks/pagination/DescribeEcsClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEcsClustersPaginate( let hasNext = true; let page: DescribeEcsClustersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof OpsWorks) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEcsClustersPaginate( throw new Error("Invalid client, expected OpsWorks | OpsWorksClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-opsworkscm/pagination/DescribeBackupsPaginator.ts b/clients/client-opsworkscm/pagination/DescribeBackupsPaginator.ts index 0bbac884df16..4a8382732c35 100644 --- a/clients/client-opsworkscm/pagination/DescribeBackupsPaginator.ts +++ b/clients/client-opsworkscm/pagination/DescribeBackupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeBackupsPaginate( let hasNext = true; let page: DescribeBackupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof OpsWorksCM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeBackupsPaginate( throw new Error("Invalid client, expected OpsWorksCM | OpsWorksCMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-opsworkscm/pagination/DescribeEventsPaginator.ts b/clients/client-opsworkscm/pagination/DescribeEventsPaginator.ts index 1fd84634ebc4..1e56ccbc15ec 100644 --- a/clients/client-opsworkscm/pagination/DescribeEventsPaginator.ts +++ b/clients/client-opsworkscm/pagination/DescribeEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventsPaginate( let hasNext = true; let page: DescribeEventsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof OpsWorksCM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventsPaginate( throw new Error("Invalid client, expected OpsWorksCM | OpsWorksCMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-opsworkscm/pagination/DescribeServersPaginator.ts b/clients/client-opsworkscm/pagination/DescribeServersPaginator.ts index 25281a2bc928..302a7543d7d0 100644 --- a/clients/client-opsworkscm/pagination/DescribeServersPaginator.ts +++ b/clients/client-opsworkscm/pagination/DescribeServersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeServersPaginate( let hasNext = true; let page: DescribeServersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof OpsWorksCM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeServersPaginate( throw new Error("Invalid client, expected OpsWorksCM | OpsWorksCMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-opsworkscm/pagination/ListTagsForResourcePaginator.ts b/clients/client-opsworkscm/pagination/ListTagsForResourcePaginator.ts index d5accfd3ec5f..e0e8db80891b 100644 --- a/clients/client-opsworkscm/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-opsworkscm/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof OpsWorksCM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected OpsWorksCM | OpsWorksCMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListAWSServiceAccessForOrganizationPaginator.ts b/clients/client-organizations/pagination/ListAWSServiceAccessForOrganizationPaginator.ts index d7da1885af1b..3e87f6f91904 100644 --- a/clients/client-organizations/pagination/ListAWSServiceAccessForOrganizationPaginator.ts +++ b/clients/client-organizations/pagination/ListAWSServiceAccessForOrganizationPaginator.ts @@ -33,7 +33,7 @@ export async function* listAWSServiceAccessForOrganizationPaginate( let hasNext = true; let page: ListAWSServiceAccessForOrganizationCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAWSServiceAccessForOrganizationPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListAccountsForParentPaginator.ts b/clients/client-organizations/pagination/ListAccountsForParentPaginator.ts index ff713f33fcb0..09127d95e286 100644 --- a/clients/client-organizations/pagination/ListAccountsForParentPaginator.ts +++ b/clients/client-organizations/pagination/ListAccountsForParentPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountsForParentPaginate( let hasNext = true; let page: ListAccountsForParentCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountsForParentPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListAccountsPaginator.ts b/clients/client-organizations/pagination/ListAccountsPaginator.ts index 0d6a9bb6aad9..eaf72d7d1425 100644 --- a/clients/client-organizations/pagination/ListAccountsPaginator.ts +++ b/clients/client-organizations/pagination/ListAccountsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountsPaginate( let hasNext = true; let page: ListAccountsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountsPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListChildrenPaginator.ts b/clients/client-organizations/pagination/ListChildrenPaginator.ts index 62ca1f235a58..4ca4c7af7841 100644 --- a/clients/client-organizations/pagination/ListChildrenPaginator.ts +++ b/clients/client-organizations/pagination/ListChildrenPaginator.ts @@ -33,7 +33,7 @@ export async function* listChildrenPaginate( let hasNext = true; let page: ListChildrenCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listChildrenPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListCreateAccountStatusPaginator.ts b/clients/client-organizations/pagination/ListCreateAccountStatusPaginator.ts index c9298d873a32..f226342034da 100644 --- a/clients/client-organizations/pagination/ListCreateAccountStatusPaginator.ts +++ b/clients/client-organizations/pagination/ListCreateAccountStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* listCreateAccountStatusPaginate( let hasNext = true; let page: ListCreateAccountStatusCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCreateAccountStatusPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListDelegatedAdministratorsPaginator.ts b/clients/client-organizations/pagination/ListDelegatedAdministratorsPaginator.ts index d7323d14faec..5ea8c6cb8aa0 100644 --- a/clients/client-organizations/pagination/ListDelegatedAdministratorsPaginator.ts +++ b/clients/client-organizations/pagination/ListDelegatedAdministratorsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDelegatedAdministratorsPaginate( let hasNext = true; let page: ListDelegatedAdministratorsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDelegatedAdministratorsPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListDelegatedServicesForAccountPaginator.ts b/clients/client-organizations/pagination/ListDelegatedServicesForAccountPaginator.ts index 3021b927d6b6..6f0e05e471e3 100644 --- a/clients/client-organizations/pagination/ListDelegatedServicesForAccountPaginator.ts +++ b/clients/client-organizations/pagination/ListDelegatedServicesForAccountPaginator.ts @@ -33,7 +33,7 @@ export async function* listDelegatedServicesForAccountPaginate( let hasNext = true; let page: ListDelegatedServicesForAccountCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDelegatedServicesForAccountPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListHandshakesForAccountPaginator.ts b/clients/client-organizations/pagination/ListHandshakesForAccountPaginator.ts index 3fcdd72e445e..decc42ee723b 100644 --- a/clients/client-organizations/pagination/ListHandshakesForAccountPaginator.ts +++ b/clients/client-organizations/pagination/ListHandshakesForAccountPaginator.ts @@ -33,7 +33,7 @@ export async function* listHandshakesForAccountPaginate( let hasNext = true; let page: ListHandshakesForAccountCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listHandshakesForAccountPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListHandshakesForOrganizationPaginator.ts b/clients/client-organizations/pagination/ListHandshakesForOrganizationPaginator.ts index 438d59bf1d4b..1b2e528d23cb 100644 --- a/clients/client-organizations/pagination/ListHandshakesForOrganizationPaginator.ts +++ b/clients/client-organizations/pagination/ListHandshakesForOrganizationPaginator.ts @@ -33,7 +33,7 @@ export async function* listHandshakesForOrganizationPaginate( let hasNext = true; let page: ListHandshakesForOrganizationCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listHandshakesForOrganizationPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListOrganizationalUnitsForParentPaginator.ts b/clients/client-organizations/pagination/ListOrganizationalUnitsForParentPaginator.ts index 9e0ca315168d..fe107ce69dd1 100644 --- a/clients/client-organizations/pagination/ListOrganizationalUnitsForParentPaginator.ts +++ b/clients/client-organizations/pagination/ListOrganizationalUnitsForParentPaginator.ts @@ -33,7 +33,7 @@ export async function* listOrganizationalUnitsForParentPaginate( let hasNext = true; let page: ListOrganizationalUnitsForParentCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOrganizationalUnitsForParentPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListParentsPaginator.ts b/clients/client-organizations/pagination/ListParentsPaginator.ts index 8f467cf7f7d9..5a3f9a2f9f5d 100644 --- a/clients/client-organizations/pagination/ListParentsPaginator.ts +++ b/clients/client-organizations/pagination/ListParentsPaginator.ts @@ -29,7 +29,7 @@ export async function* listParentsPaginate( let hasNext = true; let page: ListParentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listParentsPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListPoliciesForTargetPaginator.ts b/clients/client-organizations/pagination/ListPoliciesForTargetPaginator.ts index 9e90000f8ded..5f120ff07354 100644 --- a/clients/client-organizations/pagination/ListPoliciesForTargetPaginator.ts +++ b/clients/client-organizations/pagination/ListPoliciesForTargetPaginator.ts @@ -33,7 +33,7 @@ export async function* listPoliciesForTargetPaginate( let hasNext = true; let page: ListPoliciesForTargetCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPoliciesForTargetPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListPoliciesPaginator.ts b/clients/client-organizations/pagination/ListPoliciesPaginator.ts index e97cfb19e569..61e4a5b620bf 100644 --- a/clients/client-organizations/pagination/ListPoliciesPaginator.ts +++ b/clients/client-organizations/pagination/ListPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPoliciesPaginate( let hasNext = true; let page: ListPoliciesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPoliciesPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListRootsPaginator.ts b/clients/client-organizations/pagination/ListRootsPaginator.ts index dc6124009785..5a089d439384 100644 --- a/clients/client-organizations/pagination/ListRootsPaginator.ts +++ b/clients/client-organizations/pagination/ListRootsPaginator.ts @@ -29,7 +29,7 @@ export async function* listRootsPaginate( let hasNext = true; let page: ListRootsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listRootsPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListTagsForResourcePaginator.ts b/clients/client-organizations/pagination/ListTagsForResourcePaginator.ts index 4e684618c3de..8e8183dc5387 100644 --- a/clients/client-organizations/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-organizations/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof OrganizationsClient) { @@ -42,7 +42,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-organizations/pagination/ListTargetsForPolicyPaginator.ts b/clients/client-organizations/pagination/ListTargetsForPolicyPaginator.ts index f7ca1c3c0cd2..64bb1f7f81a4 100644 --- a/clients/client-organizations/pagination/ListTargetsForPolicyPaginator.ts +++ b/clients/client-organizations/pagination/ListTargetsForPolicyPaginator.ts @@ -33,7 +33,7 @@ export async function* listTargetsForPolicyPaginate( let hasNext = true; let page: ListTargetsForPolicyCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Organizations) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTargetsForPolicyPaginate( throw new Error("Invalid client, expected Organizations | OrganizationsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-outposts/pagination/ListOutpostsPaginator.ts b/clients/client-outposts/pagination/ListOutpostsPaginator.ts index 6cb54736c257..363370267a82 100644 --- a/clients/client-outposts/pagination/ListOutpostsPaginator.ts +++ b/clients/client-outposts/pagination/ListOutpostsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOutpostsPaginate( let hasNext = true; let page: ListOutpostsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Outposts) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOutpostsPaginate( throw new Error("Invalid client, expected Outposts | OutpostsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-outposts/pagination/ListSitesPaginator.ts b/clients/client-outposts/pagination/ListSitesPaginator.ts index d6a4c5276d5e..22d29f6a13a8 100644 --- a/clients/client-outposts/pagination/ListSitesPaginator.ts +++ b/clients/client-outposts/pagination/ListSitesPaginator.ts @@ -29,7 +29,7 @@ export async function* listSitesPaginate( let hasNext = true; let page: ListSitesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Outposts) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listSitesPaginate( throw new Error("Invalid client, expected Outposts | OutpostsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-personalize/pagination/ListBatchInferenceJobsPaginator.ts b/clients/client-personalize/pagination/ListBatchInferenceJobsPaginator.ts index 16a514124282..3408e7e3d280 100644 --- a/clients/client-personalize/pagination/ListBatchInferenceJobsPaginator.ts +++ b/clients/client-personalize/pagination/ListBatchInferenceJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listBatchInferenceJobsPaginate( let hasNext = true; let page: ListBatchInferenceJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Personalize) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBatchInferenceJobsPaginate( throw new Error("Invalid client, expected Personalize | PersonalizeClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-personalize/pagination/ListCampaignsPaginator.ts b/clients/client-personalize/pagination/ListCampaignsPaginator.ts index 643022b4eacd..98b44df94de2 100644 --- a/clients/client-personalize/pagination/ListCampaignsPaginator.ts +++ b/clients/client-personalize/pagination/ListCampaignsPaginator.ts @@ -33,7 +33,7 @@ export async function* listCampaignsPaginate( let hasNext = true; let page: ListCampaignsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Personalize) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCampaignsPaginate( throw new Error("Invalid client, expected Personalize | PersonalizeClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-personalize/pagination/ListDatasetGroupsPaginator.ts b/clients/client-personalize/pagination/ListDatasetGroupsPaginator.ts index 9cda802f6326..34984c1e7629 100644 --- a/clients/client-personalize/pagination/ListDatasetGroupsPaginator.ts +++ b/clients/client-personalize/pagination/ListDatasetGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatasetGroupsPaginate( let hasNext = true; let page: ListDatasetGroupsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Personalize) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatasetGroupsPaginate( throw new Error("Invalid client, expected Personalize | PersonalizeClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-personalize/pagination/ListDatasetImportJobsPaginator.ts b/clients/client-personalize/pagination/ListDatasetImportJobsPaginator.ts index 1988983a0516..8df46cb23997 100644 --- a/clients/client-personalize/pagination/ListDatasetImportJobsPaginator.ts +++ b/clients/client-personalize/pagination/ListDatasetImportJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatasetImportJobsPaginate( let hasNext = true; let page: ListDatasetImportJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Personalize) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatasetImportJobsPaginate( throw new Error("Invalid client, expected Personalize | PersonalizeClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-personalize/pagination/ListDatasetsPaginator.ts b/clients/client-personalize/pagination/ListDatasetsPaginator.ts index b22c93f4a6b6..1c5366af0cc7 100644 --- a/clients/client-personalize/pagination/ListDatasetsPaginator.ts +++ b/clients/client-personalize/pagination/ListDatasetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatasetsPaginate( let hasNext = true; let page: ListDatasetsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Personalize) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatasetsPaginate( throw new Error("Invalid client, expected Personalize | PersonalizeClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-personalize/pagination/ListEventTrackersPaginator.ts b/clients/client-personalize/pagination/ListEventTrackersPaginator.ts index a0ff493792d0..74068b8c8a9d 100644 --- a/clients/client-personalize/pagination/ListEventTrackersPaginator.ts +++ b/clients/client-personalize/pagination/ListEventTrackersPaginator.ts @@ -33,7 +33,7 @@ export async function* listEventTrackersPaginate( let hasNext = true; let page: ListEventTrackersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Personalize) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEventTrackersPaginate( throw new Error("Invalid client, expected Personalize | PersonalizeClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-personalize/pagination/ListRecipesPaginator.ts b/clients/client-personalize/pagination/ListRecipesPaginator.ts index 669fe6987a4d..c43b72cbbb83 100644 --- a/clients/client-personalize/pagination/ListRecipesPaginator.ts +++ b/clients/client-personalize/pagination/ListRecipesPaginator.ts @@ -29,7 +29,7 @@ export async function* listRecipesPaginate( let hasNext = true; let page: ListRecipesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Personalize) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listRecipesPaginate( throw new Error("Invalid client, expected Personalize | PersonalizeClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-personalize/pagination/ListSchemasPaginator.ts b/clients/client-personalize/pagination/ListSchemasPaginator.ts index ac010d29c29d..f3dc455ec4c3 100644 --- a/clients/client-personalize/pagination/ListSchemasPaginator.ts +++ b/clients/client-personalize/pagination/ListSchemasPaginator.ts @@ -29,7 +29,7 @@ export async function* listSchemasPaginate( let hasNext = true; let page: ListSchemasCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Personalize) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listSchemasPaginate( throw new Error("Invalid client, expected Personalize | PersonalizeClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-personalize/pagination/ListSolutionVersionsPaginator.ts b/clients/client-personalize/pagination/ListSolutionVersionsPaginator.ts index f2a9a6ab449a..84b6abf73c8f 100644 --- a/clients/client-personalize/pagination/ListSolutionVersionsPaginator.ts +++ b/clients/client-personalize/pagination/ListSolutionVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSolutionVersionsPaginate( let hasNext = true; let page: ListSolutionVersionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Personalize) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSolutionVersionsPaginate( throw new Error("Invalid client, expected Personalize | PersonalizeClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-personalize/pagination/ListSolutionsPaginator.ts b/clients/client-personalize/pagination/ListSolutionsPaginator.ts index d7e16a1b14f0..82a1d8d51a57 100644 --- a/clients/client-personalize/pagination/ListSolutionsPaginator.ts +++ b/clients/client-personalize/pagination/ListSolutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSolutionsPaginate( let hasNext = true; let page: ListSolutionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Personalize) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSolutionsPaginate( throw new Error("Invalid client, expected Personalize | PersonalizeClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-pinpoint-email/pagination/GetDedicatedIpsPaginator.ts b/clients/client-pinpoint-email/pagination/GetDedicatedIpsPaginator.ts index 30674ca5c1e3..f4163c869ca6 100644 --- a/clients/client-pinpoint-email/pagination/GetDedicatedIpsPaginator.ts +++ b/clients/client-pinpoint-email/pagination/GetDedicatedIpsPaginator.ts @@ -33,7 +33,7 @@ export async function* getDedicatedIpsPaginate( let hasNext = true; let page: GetDedicatedIpsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof PinpointEmail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getDedicatedIpsPaginate( throw new Error("Invalid client, expected PinpointEmail | PinpointEmailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-pinpoint-email/pagination/ListConfigurationSetsPaginator.ts b/clients/client-pinpoint-email/pagination/ListConfigurationSetsPaginator.ts index 97638b7a4076..219ded913d34 100644 --- a/clients/client-pinpoint-email/pagination/ListConfigurationSetsPaginator.ts +++ b/clients/client-pinpoint-email/pagination/ListConfigurationSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listConfigurationSetsPaginate( let hasNext = true; let page: ListConfigurationSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof PinpointEmail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConfigurationSetsPaginate( throw new Error("Invalid client, expected PinpointEmail | PinpointEmailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-pinpoint-email/pagination/ListDedicatedIpPoolsPaginator.ts b/clients/client-pinpoint-email/pagination/ListDedicatedIpPoolsPaginator.ts index adf1b1414d7c..91987b4dac5c 100644 --- a/clients/client-pinpoint-email/pagination/ListDedicatedIpPoolsPaginator.ts +++ b/clients/client-pinpoint-email/pagination/ListDedicatedIpPoolsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDedicatedIpPoolsPaginate( let hasNext = true; let page: ListDedicatedIpPoolsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof PinpointEmail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDedicatedIpPoolsPaginate( throw new Error("Invalid client, expected PinpointEmail | PinpointEmailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-pinpoint-email/pagination/ListDeliverabilityTestReportsPaginator.ts b/clients/client-pinpoint-email/pagination/ListDeliverabilityTestReportsPaginator.ts index 880c2a45e2bc..b72523d56bce 100644 --- a/clients/client-pinpoint-email/pagination/ListDeliverabilityTestReportsPaginator.ts +++ b/clients/client-pinpoint-email/pagination/ListDeliverabilityTestReportsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeliverabilityTestReportsPaginate( let hasNext = true; let page: ListDeliverabilityTestReportsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof PinpointEmail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDeliverabilityTestReportsPaginate( throw new Error("Invalid client, expected PinpointEmail | PinpointEmailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-pinpoint-email/pagination/ListDomainDeliverabilityCampaignsPaginator.ts b/clients/client-pinpoint-email/pagination/ListDomainDeliverabilityCampaignsPaginator.ts index b2014cf6eb98..48f560ebedd9 100644 --- a/clients/client-pinpoint-email/pagination/ListDomainDeliverabilityCampaignsPaginator.ts +++ b/clients/client-pinpoint-email/pagination/ListDomainDeliverabilityCampaignsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDomainDeliverabilityCampaignsPaginate( let hasNext = true; let page: ListDomainDeliverabilityCampaignsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof PinpointEmail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDomainDeliverabilityCampaignsPaginate( throw new Error("Invalid client, expected PinpointEmail | PinpointEmailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-pinpoint-email/pagination/ListEmailIdentitiesPaginator.ts b/clients/client-pinpoint-email/pagination/ListEmailIdentitiesPaginator.ts index f513f4471fdd..03ff49227b61 100644 --- a/clients/client-pinpoint-email/pagination/ListEmailIdentitiesPaginator.ts +++ b/clients/client-pinpoint-email/pagination/ListEmailIdentitiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listEmailIdentitiesPaginate( let hasNext = true; let page: ListEmailIdentitiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof PinpointEmail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEmailIdentitiesPaginate( throw new Error("Invalid client, expected PinpointEmail | PinpointEmailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-polly/pagination/ListSpeechSynthesisTasksPaginator.ts b/clients/client-polly/pagination/ListSpeechSynthesisTasksPaginator.ts index 6307f0c18fe5..3ded0aeb6a93 100644 --- a/clients/client-polly/pagination/ListSpeechSynthesisTasksPaginator.ts +++ b/clients/client-polly/pagination/ListSpeechSynthesisTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* listSpeechSynthesisTasksPaginate( let hasNext = true; let page: ListSpeechSynthesisTasksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Polly) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSpeechSynthesisTasksPaginate( throw new Error("Invalid client, expected Polly | PollyClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-pricing/pagination/DescribeServicesPaginator.ts b/clients/client-pricing/pagination/DescribeServicesPaginator.ts index afca81d5e234..d6306ab17b86 100644 --- a/clients/client-pricing/pagination/DescribeServicesPaginator.ts +++ b/clients/client-pricing/pagination/DescribeServicesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeServicesPaginate( let hasNext = true; let page: DescribeServicesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Pricing) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeServicesPaginate( throw new Error("Invalid client, expected Pricing | PricingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-pricing/pagination/GetAttributeValuesPaginator.ts b/clients/client-pricing/pagination/GetAttributeValuesPaginator.ts index 257c28fdc3d2..ee502e18dd99 100644 --- a/clients/client-pricing/pagination/GetAttributeValuesPaginator.ts +++ b/clients/client-pricing/pagination/GetAttributeValuesPaginator.ts @@ -33,7 +33,7 @@ export async function* getAttributeValuesPaginate( let hasNext = true; let page: GetAttributeValuesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Pricing) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getAttributeValuesPaginate( throw new Error("Invalid client, expected Pricing | PricingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-pricing/pagination/GetProductsPaginator.ts b/clients/client-pricing/pagination/GetProductsPaginator.ts index 30a8b934f626..5f3f112b3666 100644 --- a/clients/client-pricing/pagination/GetProductsPaginator.ts +++ b/clients/client-pricing/pagination/GetProductsPaginator.ts @@ -29,7 +29,7 @@ export async function* getProductsPaginate( let hasNext = true; let page: GetProductsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Pricing) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getProductsPaginate( throw new Error("Invalid client, expected Pricing | PricingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-qldb/pagination/ListJournalKinesisStreamsForLedgerPaginator.ts b/clients/client-qldb/pagination/ListJournalKinesisStreamsForLedgerPaginator.ts index cf6234b61255..0b8b2c026c8c 100644 --- a/clients/client-qldb/pagination/ListJournalKinesisStreamsForLedgerPaginator.ts +++ b/clients/client-qldb/pagination/ListJournalKinesisStreamsForLedgerPaginator.ts @@ -33,7 +33,7 @@ export async function* listJournalKinesisStreamsForLedgerPaginate( let hasNext = true; let page: ListJournalKinesisStreamsForLedgerCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QLDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listJournalKinesisStreamsForLedgerPaginate( throw new Error("Invalid client, expected QLDB | QLDBClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-qldb/pagination/ListJournalS3ExportsForLedgerPaginator.ts b/clients/client-qldb/pagination/ListJournalS3ExportsForLedgerPaginator.ts index 1eca5b3e1a38..55033a8b495b 100644 --- a/clients/client-qldb/pagination/ListJournalS3ExportsForLedgerPaginator.ts +++ b/clients/client-qldb/pagination/ListJournalS3ExportsForLedgerPaginator.ts @@ -33,7 +33,7 @@ export async function* listJournalS3ExportsForLedgerPaginate( let hasNext = true; let page: ListJournalS3ExportsForLedgerCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QLDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listJournalS3ExportsForLedgerPaginate( throw new Error("Invalid client, expected QLDB | QLDBClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-qldb/pagination/ListJournalS3ExportsPaginator.ts b/clients/client-qldb/pagination/ListJournalS3ExportsPaginator.ts index 1092f25ebef9..be15cb1381e9 100644 --- a/clients/client-qldb/pagination/ListJournalS3ExportsPaginator.ts +++ b/clients/client-qldb/pagination/ListJournalS3ExportsPaginator.ts @@ -33,7 +33,7 @@ export async function* listJournalS3ExportsPaginate( let hasNext = true; let page: ListJournalS3ExportsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QLDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listJournalS3ExportsPaginate( throw new Error("Invalid client, expected QLDB | QLDBClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-qldb/pagination/ListLedgersPaginator.ts b/clients/client-qldb/pagination/ListLedgersPaginator.ts index df4b4b4ccd85..b40f5da0b6cc 100644 --- a/clients/client-qldb/pagination/ListLedgersPaginator.ts +++ b/clients/client-qldb/pagination/ListLedgersPaginator.ts @@ -29,7 +29,7 @@ export async function* listLedgersPaginate( let hasNext = true; let page: ListLedgersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QLDB) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listLedgersPaginate( throw new Error("Invalid client, expected QLDB | QLDBClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/ListAnalysesPaginator.ts b/clients/client-quicksight/pagination/ListAnalysesPaginator.ts index 254d14c87416..e281aad6c967 100644 --- a/clients/client-quicksight/pagination/ListAnalysesPaginator.ts +++ b/clients/client-quicksight/pagination/ListAnalysesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAnalysesPaginate( let hasNext = true; let page: ListAnalysesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAnalysesPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/ListDashboardVersionsPaginator.ts b/clients/client-quicksight/pagination/ListDashboardVersionsPaginator.ts index 5b5bfa9b0754..c40487906132 100644 --- a/clients/client-quicksight/pagination/ListDashboardVersionsPaginator.ts +++ b/clients/client-quicksight/pagination/ListDashboardVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDashboardVersionsPaginate( let hasNext = true; let page: ListDashboardVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDashboardVersionsPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/ListDashboardsPaginator.ts b/clients/client-quicksight/pagination/ListDashboardsPaginator.ts index 34ea52615424..b14a9d81b8be 100644 --- a/clients/client-quicksight/pagination/ListDashboardsPaginator.ts +++ b/clients/client-quicksight/pagination/ListDashboardsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDashboardsPaginate( let hasNext = true; let page: ListDashboardsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDashboardsPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/ListDataSetsPaginator.ts b/clients/client-quicksight/pagination/ListDataSetsPaginator.ts index bd9b2ce7d689..dfa3ba307da1 100644 --- a/clients/client-quicksight/pagination/ListDataSetsPaginator.ts +++ b/clients/client-quicksight/pagination/ListDataSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDataSetsPaginate( let hasNext = true; let page: ListDataSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDataSetsPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/ListDataSourcesPaginator.ts b/clients/client-quicksight/pagination/ListDataSourcesPaginator.ts index 44b2df126d6d..858ed06e98be 100644 --- a/clients/client-quicksight/pagination/ListDataSourcesPaginator.ts +++ b/clients/client-quicksight/pagination/ListDataSourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDataSourcesPaginate( let hasNext = true; let page: ListDataSourcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDataSourcesPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/ListIngestionsPaginator.ts b/clients/client-quicksight/pagination/ListIngestionsPaginator.ts index 32c2b8799164..d1ad61444580 100644 --- a/clients/client-quicksight/pagination/ListIngestionsPaginator.ts +++ b/clients/client-quicksight/pagination/ListIngestionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listIngestionsPaginate( let hasNext = true; let page: ListIngestionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listIngestionsPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/ListNamespacesPaginator.ts b/clients/client-quicksight/pagination/ListNamespacesPaginator.ts index 1c86751b7690..9d1e52e0e20f 100644 --- a/clients/client-quicksight/pagination/ListNamespacesPaginator.ts +++ b/clients/client-quicksight/pagination/ListNamespacesPaginator.ts @@ -33,7 +33,7 @@ export async function* listNamespacesPaginate( let hasNext = true; let page: ListNamespacesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listNamespacesPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/ListTemplateAliasesPaginator.ts b/clients/client-quicksight/pagination/ListTemplateAliasesPaginator.ts index 1a64b5e1e108..ece5af26ffc6 100644 --- a/clients/client-quicksight/pagination/ListTemplateAliasesPaginator.ts +++ b/clients/client-quicksight/pagination/ListTemplateAliasesPaginator.ts @@ -33,7 +33,7 @@ export async function* listTemplateAliasesPaginate( let hasNext = true; let page: ListTemplateAliasesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTemplateAliasesPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/ListTemplateVersionsPaginator.ts b/clients/client-quicksight/pagination/ListTemplateVersionsPaginator.ts index 55883f1ede42..4a8788961f57 100644 --- a/clients/client-quicksight/pagination/ListTemplateVersionsPaginator.ts +++ b/clients/client-quicksight/pagination/ListTemplateVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTemplateVersionsPaginate( let hasNext = true; let page: ListTemplateVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTemplateVersionsPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/ListTemplatesPaginator.ts b/clients/client-quicksight/pagination/ListTemplatesPaginator.ts index d85f3f630db2..b33874646189 100644 --- a/clients/client-quicksight/pagination/ListTemplatesPaginator.ts +++ b/clients/client-quicksight/pagination/ListTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listTemplatesPaginate( let hasNext = true; let page: ListTemplatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTemplatesPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/SearchAnalysesPaginator.ts b/clients/client-quicksight/pagination/SearchAnalysesPaginator.ts index 8ff73ecec8e4..9222a58e421b 100644 --- a/clients/client-quicksight/pagination/SearchAnalysesPaginator.ts +++ b/clients/client-quicksight/pagination/SearchAnalysesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchAnalysesPaginate( let hasNext = true; let page: SearchAnalysesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchAnalysesPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-quicksight/pagination/SearchDashboardsPaginator.ts b/clients/client-quicksight/pagination/SearchDashboardsPaginator.ts index b0a4db3eb5e6..6ea8b30a43da 100644 --- a/clients/client-quicksight/pagination/SearchDashboardsPaginator.ts +++ b/clients/client-quicksight/pagination/SearchDashboardsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchDashboardsPaginate( let hasNext = true; let page: SearchDashboardsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof QuickSight) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchDashboardsPaginate( throw new Error("Invalid client, expected QuickSight | QuickSightClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ram/pagination/GetResourcePoliciesPaginator.ts b/clients/client-ram/pagination/GetResourcePoliciesPaginator.ts index 40b0ef00c321..7d4aa967496a 100644 --- a/clients/client-ram/pagination/GetResourcePoliciesPaginator.ts +++ b/clients/client-ram/pagination/GetResourcePoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* getResourcePoliciesPaginate( let hasNext = true; let page: GetResourcePoliciesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getResourcePoliciesPaginate( throw new Error("Invalid client, expected RAM | RAMClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ram/pagination/GetResourceShareAssociationsPaginator.ts b/clients/client-ram/pagination/GetResourceShareAssociationsPaginator.ts index ac8f7998c245..ae2ca44404b7 100644 --- a/clients/client-ram/pagination/GetResourceShareAssociationsPaginator.ts +++ b/clients/client-ram/pagination/GetResourceShareAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getResourceShareAssociationsPaginate( let hasNext = true; let page: GetResourceShareAssociationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getResourceShareAssociationsPaginate( throw new Error("Invalid client, expected RAM | RAMClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ram/pagination/GetResourceShareInvitationsPaginator.ts b/clients/client-ram/pagination/GetResourceShareInvitationsPaginator.ts index 1e6317f18240..c59c1c8a277c 100644 --- a/clients/client-ram/pagination/GetResourceShareInvitationsPaginator.ts +++ b/clients/client-ram/pagination/GetResourceShareInvitationsPaginator.ts @@ -33,7 +33,7 @@ export async function* getResourceShareInvitationsPaginate( let hasNext = true; let page: GetResourceShareInvitationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getResourceShareInvitationsPaginate( throw new Error("Invalid client, expected RAM | RAMClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ram/pagination/GetResourceSharesPaginator.ts b/clients/client-ram/pagination/GetResourceSharesPaginator.ts index 2e8271fae67c..30b22659571c 100644 --- a/clients/client-ram/pagination/GetResourceSharesPaginator.ts +++ b/clients/client-ram/pagination/GetResourceSharesPaginator.ts @@ -33,7 +33,7 @@ export async function* getResourceSharesPaginate( let hasNext = true; let page: GetResourceSharesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getResourceSharesPaginate( throw new Error("Invalid client, expected RAM | RAMClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ram/pagination/ListPendingInvitationResourcesPaginator.ts b/clients/client-ram/pagination/ListPendingInvitationResourcesPaginator.ts index 272bc5121d68..fb6897f81f64 100644 --- a/clients/client-ram/pagination/ListPendingInvitationResourcesPaginator.ts +++ b/clients/client-ram/pagination/ListPendingInvitationResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listPendingInvitationResourcesPaginate( let hasNext = true; let page: ListPendingInvitationResourcesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPendingInvitationResourcesPaginate( throw new Error("Invalid client, expected RAM | RAMClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ram/pagination/ListPrincipalsPaginator.ts b/clients/client-ram/pagination/ListPrincipalsPaginator.ts index ac5bec930ff3..f43d43bc059d 100644 --- a/clients/client-ram/pagination/ListPrincipalsPaginator.ts +++ b/clients/client-ram/pagination/ListPrincipalsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPrincipalsPaginate( let hasNext = true; let page: ListPrincipalsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPrincipalsPaginate( throw new Error("Invalid client, expected RAM | RAMClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ram/pagination/ListResourcesPaginator.ts b/clients/client-ram/pagination/ListResourcesPaginator.ts index 1b175a6e0cb3..36c14b3c663f 100644 --- a/clients/client-ram/pagination/ListResourcesPaginator.ts +++ b/clients/client-ram/pagination/ListResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listResourcesPaginate( let hasNext = true; let page: ListResourcesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RAM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResourcesPaginate( throw new Error("Invalid client, expected RAM | RAMClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeCertificatesPaginator.ts b/clients/client-rds/pagination/DescribeCertificatesPaginator.ts index 1352000ce578..5e6a6ae89c36 100644 --- a/clients/client-rds/pagination/DescribeCertificatesPaginator.ts +++ b/clients/client-rds/pagination/DescribeCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCertificatesPaginate( let hasNext = true; let page: DescribeCertificatesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCertificatesPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeCustomAvailabilityZonesPaginator.ts b/clients/client-rds/pagination/DescribeCustomAvailabilityZonesPaginator.ts index 215c698316f8..87bdcd64b0e9 100644 --- a/clients/client-rds/pagination/DescribeCustomAvailabilityZonesPaginator.ts +++ b/clients/client-rds/pagination/DescribeCustomAvailabilityZonesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCustomAvailabilityZonesPaginate( let hasNext = true; let page: DescribeCustomAvailabilityZonesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCustomAvailabilityZonesPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBClusterBacktracksPaginator.ts b/clients/client-rds/pagination/DescribeDBClusterBacktracksPaginator.ts index 5c98aa62c6ca..5c87badaa4b0 100644 --- a/clients/client-rds/pagination/DescribeDBClusterBacktracksPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBClusterBacktracksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBClusterBacktracksPaginate( let hasNext = true; let page: DescribeDBClusterBacktracksCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBClusterBacktracksPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBClusterEndpointsPaginator.ts b/clients/client-rds/pagination/DescribeDBClusterEndpointsPaginator.ts index 7ce13c249ba7..16f810584b12 100644 --- a/clients/client-rds/pagination/DescribeDBClusterEndpointsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBClusterEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBClusterEndpointsPaginate( let hasNext = true; let page: DescribeDBClusterEndpointsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBClusterEndpointsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBClusterParameterGroupsPaginator.ts b/clients/client-rds/pagination/DescribeDBClusterParameterGroupsPaginator.ts index b9cd7694cd60..41d178c38b5b 100644 --- a/clients/client-rds/pagination/DescribeDBClusterParameterGroupsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBClusterParameterGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBClusterParameterGroupsPaginate( let hasNext = true; let page: DescribeDBClusterParameterGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBClusterParameterGroupsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBClusterParametersPaginator.ts b/clients/client-rds/pagination/DescribeDBClusterParametersPaginator.ts index 5e33a94d2e1d..fb20032c9f1b 100644 --- a/clients/client-rds/pagination/DescribeDBClusterParametersPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBClusterParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBClusterParametersPaginate( let hasNext = true; let page: DescribeDBClusterParametersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBClusterParametersPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBClusterSnapshotsPaginator.ts b/clients/client-rds/pagination/DescribeDBClusterSnapshotsPaginator.ts index 960d48ce9e90..822cb0f2ecd6 100644 --- a/clients/client-rds/pagination/DescribeDBClusterSnapshotsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBClusterSnapshotsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBClusterSnapshotsPaginate( let hasNext = true; let page: DescribeDBClusterSnapshotsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBClusterSnapshotsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBClustersPaginator.ts b/clients/client-rds/pagination/DescribeDBClustersPaginator.ts index 0cd79a1a0515..57c75d9b44e3 100644 --- a/clients/client-rds/pagination/DescribeDBClustersPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBClustersPaginate( let hasNext = true; let page: DescribeDBClustersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBClustersPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBEngineVersionsPaginator.ts b/clients/client-rds/pagination/DescribeDBEngineVersionsPaginator.ts index 70356ef9db2c..4ffb56e7d7b9 100644 --- a/clients/client-rds/pagination/DescribeDBEngineVersionsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBEngineVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBEngineVersionsPaginate( let hasNext = true; let page: DescribeDBEngineVersionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBEngineVersionsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBInstanceAutomatedBackupsPaginator.ts b/clients/client-rds/pagination/DescribeDBInstanceAutomatedBackupsPaginator.ts index e0cdfd829fad..164d5922f121 100644 --- a/clients/client-rds/pagination/DescribeDBInstanceAutomatedBackupsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBInstanceAutomatedBackupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBInstanceAutomatedBackupsPaginate( let hasNext = true; let page: DescribeDBInstanceAutomatedBackupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBInstanceAutomatedBackupsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBInstancesPaginator.ts b/clients/client-rds/pagination/DescribeDBInstancesPaginator.ts index eaf4de062a72..e594b5b026b5 100644 --- a/clients/client-rds/pagination/DescribeDBInstancesPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBInstancesPaginate( let hasNext = true; let page: DescribeDBInstancesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBInstancesPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBLogFilesPaginator.ts b/clients/client-rds/pagination/DescribeDBLogFilesPaginator.ts index fee4e365d3c1..6c3777b7d447 100644 --- a/clients/client-rds/pagination/DescribeDBLogFilesPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBLogFilesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBLogFilesPaginate( let hasNext = true; let page: DescribeDBLogFilesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBLogFilesPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBParameterGroupsPaginator.ts b/clients/client-rds/pagination/DescribeDBParameterGroupsPaginator.ts index 5785bff61e51..a666f3cef7ca 100644 --- a/clients/client-rds/pagination/DescribeDBParameterGroupsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBParameterGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBParameterGroupsPaginate( let hasNext = true; let page: DescribeDBParameterGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBParameterGroupsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBParametersPaginator.ts b/clients/client-rds/pagination/DescribeDBParametersPaginator.ts index e8d913cf4341..3a61145809f8 100644 --- a/clients/client-rds/pagination/DescribeDBParametersPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBParametersPaginate( let hasNext = true; let page: DescribeDBParametersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBParametersPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBProxiesPaginator.ts b/clients/client-rds/pagination/DescribeDBProxiesPaginator.ts index af537e6c0e5b..1dd2021a3d1d 100644 --- a/clients/client-rds/pagination/DescribeDBProxiesPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBProxiesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBProxiesPaginate( let hasNext = true; let page: DescribeDBProxiesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBProxiesPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBProxyTargetGroupsPaginator.ts b/clients/client-rds/pagination/DescribeDBProxyTargetGroupsPaginator.ts index 3c3eb36afa05..8bb0d45ece88 100644 --- a/clients/client-rds/pagination/DescribeDBProxyTargetGroupsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBProxyTargetGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBProxyTargetGroupsPaginate( let hasNext = true; let page: DescribeDBProxyTargetGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBProxyTargetGroupsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBProxyTargetsPaginator.ts b/clients/client-rds/pagination/DescribeDBProxyTargetsPaginator.ts index 9d46b3a54b17..2f79205cc0dd 100644 --- a/clients/client-rds/pagination/DescribeDBProxyTargetsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBProxyTargetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBProxyTargetsPaginate( let hasNext = true; let page: DescribeDBProxyTargetsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBProxyTargetsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBSecurityGroupsPaginator.ts b/clients/client-rds/pagination/DescribeDBSecurityGroupsPaginator.ts index 285a550b0fea..10997c569a88 100644 --- a/clients/client-rds/pagination/DescribeDBSecurityGroupsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBSecurityGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBSecurityGroupsPaginate( let hasNext = true; let page: DescribeDBSecurityGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBSecurityGroupsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBSnapshotsPaginator.ts b/clients/client-rds/pagination/DescribeDBSnapshotsPaginator.ts index 108175eeb35c..5da42ad22468 100644 --- a/clients/client-rds/pagination/DescribeDBSnapshotsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBSnapshotsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBSnapshotsPaginate( let hasNext = true; let page: DescribeDBSnapshotsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBSnapshotsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeDBSubnetGroupsPaginator.ts b/clients/client-rds/pagination/DescribeDBSubnetGroupsPaginator.ts index 0bdc54ffa7fe..1a05e662f76b 100644 --- a/clients/client-rds/pagination/DescribeDBSubnetGroupsPaginator.ts +++ b/clients/client-rds/pagination/DescribeDBSubnetGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDBSubnetGroupsPaginate( let hasNext = true; let page: DescribeDBSubnetGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDBSubnetGroupsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts b/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts index 19d0f023b867..ce7856ab72d4 100644 --- a/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts +++ b/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEngineDefaultParametersPaginate( let hasNext = true; let page: DescribeEngineDefaultParametersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEngineDefaultParametersPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["EngineDefaults"]["Marker"]; + token = page.EngineDefaults?.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeEventSubscriptionsPaginator.ts b/clients/client-rds/pagination/DescribeEventSubscriptionsPaginator.ts index 8e715a8249cd..8c85434756c1 100644 --- a/clients/client-rds/pagination/DescribeEventSubscriptionsPaginator.ts +++ b/clients/client-rds/pagination/DescribeEventSubscriptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventSubscriptionsPaginate( let hasNext = true; let page: DescribeEventSubscriptionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventSubscriptionsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeEventsPaginator.ts b/clients/client-rds/pagination/DescribeEventsPaginator.ts index d1569e23fb68..94f015d7bb8c 100644 --- a/clients/client-rds/pagination/DescribeEventsPaginator.ts +++ b/clients/client-rds/pagination/DescribeEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventsPaginate( let hasNext = true; let page: DescribeEventsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeExportTasksPaginator.ts b/clients/client-rds/pagination/DescribeExportTasksPaginator.ts index 364e70c82c77..cc3058028730 100644 --- a/clients/client-rds/pagination/DescribeExportTasksPaginator.ts +++ b/clients/client-rds/pagination/DescribeExportTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeExportTasksPaginate( let hasNext = true; let page: DescribeExportTasksCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeExportTasksPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeGlobalClustersPaginator.ts b/clients/client-rds/pagination/DescribeGlobalClustersPaginator.ts index 491b4b789454..74cf5e2baa4a 100644 --- a/clients/client-rds/pagination/DescribeGlobalClustersPaginator.ts +++ b/clients/client-rds/pagination/DescribeGlobalClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeGlobalClustersPaginate( let hasNext = true; let page: DescribeGlobalClustersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeGlobalClustersPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeInstallationMediaPaginator.ts b/clients/client-rds/pagination/DescribeInstallationMediaPaginator.ts index 733750e9e7ed..9437d4ae2ec2 100644 --- a/clients/client-rds/pagination/DescribeInstallationMediaPaginator.ts +++ b/clients/client-rds/pagination/DescribeInstallationMediaPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstallationMediaPaginate( let hasNext = true; let page: DescribeInstallationMediaCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstallationMediaPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeOptionGroupOptionsPaginator.ts b/clients/client-rds/pagination/DescribeOptionGroupOptionsPaginator.ts index 8243d9daba3c..eeaac608dbce 100644 --- a/clients/client-rds/pagination/DescribeOptionGroupOptionsPaginator.ts +++ b/clients/client-rds/pagination/DescribeOptionGroupOptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeOptionGroupOptionsPaginate( let hasNext = true; let page: DescribeOptionGroupOptionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeOptionGroupOptionsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeOptionGroupsPaginator.ts b/clients/client-rds/pagination/DescribeOptionGroupsPaginator.ts index e3044ff3db84..32b5d2c4a205 100644 --- a/clients/client-rds/pagination/DescribeOptionGroupsPaginator.ts +++ b/clients/client-rds/pagination/DescribeOptionGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeOptionGroupsPaginate( let hasNext = true; let page: DescribeOptionGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeOptionGroupsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts b/clients/client-rds/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts index 06d9e4f57201..e26ed562eaaa 100644 --- a/clients/client-rds/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts +++ b/clients/client-rds/pagination/DescribeOrderableDBInstanceOptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeOrderableDBInstanceOptionsPaginate( let hasNext = true; let page: DescribeOrderableDBInstanceOptionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeOrderableDBInstanceOptionsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribePendingMaintenanceActionsPaginator.ts b/clients/client-rds/pagination/DescribePendingMaintenanceActionsPaginator.ts index 0e451d45dfa0..659d0ac90503 100644 --- a/clients/client-rds/pagination/DescribePendingMaintenanceActionsPaginator.ts +++ b/clients/client-rds/pagination/DescribePendingMaintenanceActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describePendingMaintenanceActionsPaginate( let hasNext = true; let page: DescribePendingMaintenanceActionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePendingMaintenanceActionsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeReservedDBInstancesOfferingsPaginator.ts b/clients/client-rds/pagination/DescribeReservedDBInstancesOfferingsPaginator.ts index 3a9add0d89dd..a10884d4a8be 100644 --- a/clients/client-rds/pagination/DescribeReservedDBInstancesOfferingsPaginator.ts +++ b/clients/client-rds/pagination/DescribeReservedDBInstancesOfferingsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReservedDBInstancesOfferingsPaginate( let hasNext = true; let page: DescribeReservedDBInstancesOfferingsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReservedDBInstancesOfferingsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeReservedDBInstancesPaginator.ts b/clients/client-rds/pagination/DescribeReservedDBInstancesPaginator.ts index 3574ba09a1b0..3041b1b8038f 100644 --- a/clients/client-rds/pagination/DescribeReservedDBInstancesPaginator.ts +++ b/clients/client-rds/pagination/DescribeReservedDBInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReservedDBInstancesPaginate( let hasNext = true; let page: DescribeReservedDBInstancesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReservedDBInstancesPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeSourceRegionsPaginator.ts b/clients/client-rds/pagination/DescribeSourceRegionsPaginator.ts index 8ee57527daae..48dfdf11e842 100644 --- a/clients/client-rds/pagination/DescribeSourceRegionsPaginator.ts +++ b/clients/client-rds/pagination/DescribeSourceRegionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSourceRegionsPaginate( let hasNext = true; let page: DescribeSourceRegionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof RDS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSourceRegionsPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift-data/pagination/DescribeTablePaginator.ts b/clients/client-redshift-data/pagination/DescribeTablePaginator.ts index 131eb9aa893f..25740ea63c00 100644 --- a/clients/client-redshift-data/pagination/DescribeTablePaginator.ts +++ b/clients/client-redshift-data/pagination/DescribeTablePaginator.ts @@ -33,7 +33,7 @@ export async function* describeTablePaginate( let hasNext = true; let page: DescribeTableCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof RedshiftData) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTablePaginate( throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift-data/pagination/GetStatementResultPaginator.ts b/clients/client-redshift-data/pagination/GetStatementResultPaginator.ts index 6d9a4223c204..810b83667b92 100644 --- a/clients/client-redshift-data/pagination/GetStatementResultPaginator.ts +++ b/clients/client-redshift-data/pagination/GetStatementResultPaginator.ts @@ -33,7 +33,7 @@ export async function* getStatementResultPaginate( let hasNext = true; let page: GetStatementResultCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof RedshiftData) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof RedshiftDataClient) { @@ -42,7 +42,7 @@ export async function* getStatementResultPaginate( throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift-data/pagination/ListDatabasesPaginator.ts b/clients/client-redshift-data/pagination/ListDatabasesPaginator.ts index 7659f1f8253e..49f7d312f2e4 100644 --- a/clients/client-redshift-data/pagination/ListDatabasesPaginator.ts +++ b/clients/client-redshift-data/pagination/ListDatabasesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatabasesPaginate( let hasNext = true; let page: ListDatabasesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof RedshiftData) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatabasesPaginate( throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift-data/pagination/ListSchemasPaginator.ts b/clients/client-redshift-data/pagination/ListSchemasPaginator.ts index 97e0c40bd42b..ac38a6b6c3ed 100644 --- a/clients/client-redshift-data/pagination/ListSchemasPaginator.ts +++ b/clients/client-redshift-data/pagination/ListSchemasPaginator.ts @@ -29,7 +29,7 @@ export async function* listSchemasPaginate( let hasNext = true; let page: ListSchemasCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof RedshiftData) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listSchemasPaginate( throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift-data/pagination/ListStatementsPaginator.ts b/clients/client-redshift-data/pagination/ListStatementsPaginator.ts index b0b17c5222f2..a974fbc2248d 100644 --- a/clients/client-redshift-data/pagination/ListStatementsPaginator.ts +++ b/clients/client-redshift-data/pagination/ListStatementsPaginator.ts @@ -33,7 +33,7 @@ export async function* listStatementsPaginate( let hasNext = true; let page: ListStatementsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof RedshiftData) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listStatementsPaginate( throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift-data/pagination/ListTablesPaginator.ts b/clients/client-redshift-data/pagination/ListTablesPaginator.ts index bdbcd732f106..eac17653c31c 100644 --- a/clients/client-redshift-data/pagination/ListTablesPaginator.ts +++ b/clients/client-redshift-data/pagination/ListTablesPaginator.ts @@ -29,7 +29,7 @@ export async function* listTablesPaginate( let hasNext = true; let page: ListTablesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof RedshiftData) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTablesPaginate( throw new Error("Invalid client, expected RedshiftData | RedshiftDataClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeClusterParameterGroupsPaginator.ts b/clients/client-redshift/pagination/DescribeClusterParameterGroupsPaginator.ts index e3d54fa069a9..ec70a21b9b53 100644 --- a/clients/client-redshift/pagination/DescribeClusterParameterGroupsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeClusterParameterGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClusterParameterGroupsPaginate( let hasNext = true; let page: DescribeClusterParameterGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClusterParameterGroupsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeClusterParametersPaginator.ts b/clients/client-redshift/pagination/DescribeClusterParametersPaginator.ts index 36b4e25eb2a1..4980c9a651c9 100644 --- a/clients/client-redshift/pagination/DescribeClusterParametersPaginator.ts +++ b/clients/client-redshift/pagination/DescribeClusterParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClusterParametersPaginate( let hasNext = true; let page: DescribeClusterParametersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClusterParametersPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeClusterSecurityGroupsPaginator.ts b/clients/client-redshift/pagination/DescribeClusterSecurityGroupsPaginator.ts index cdc27bb631ea..37a39efca3c5 100644 --- a/clients/client-redshift/pagination/DescribeClusterSecurityGroupsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeClusterSecurityGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClusterSecurityGroupsPaginate( let hasNext = true; let page: DescribeClusterSecurityGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClusterSecurityGroupsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeClusterSnapshotsPaginator.ts b/clients/client-redshift/pagination/DescribeClusterSnapshotsPaginator.ts index f81cc1521fd5..7d5c214b16d1 100644 --- a/clients/client-redshift/pagination/DescribeClusterSnapshotsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeClusterSnapshotsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClusterSnapshotsPaginate( let hasNext = true; let page: DescribeClusterSnapshotsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClusterSnapshotsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeClusterSubnetGroupsPaginator.ts b/clients/client-redshift/pagination/DescribeClusterSubnetGroupsPaginator.ts index 22ef16f1e86b..bd13f7948449 100644 --- a/clients/client-redshift/pagination/DescribeClusterSubnetGroupsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeClusterSubnetGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClusterSubnetGroupsPaginate( let hasNext = true; let page: DescribeClusterSubnetGroupsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClusterSubnetGroupsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeClusterVersionsPaginator.ts b/clients/client-redshift/pagination/DescribeClusterVersionsPaginator.ts index 053081d1aa19..d5a001988251 100644 --- a/clients/client-redshift/pagination/DescribeClusterVersionsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeClusterVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClusterVersionsPaginate( let hasNext = true; let page: DescribeClusterVersionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClusterVersionsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeClustersPaginator.ts b/clients/client-redshift/pagination/DescribeClustersPaginator.ts index 86fb09588f0b..0357802e3b6b 100644 --- a/clients/client-redshift/pagination/DescribeClustersPaginator.ts +++ b/clients/client-redshift/pagination/DescribeClustersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeClustersPaginate( let hasNext = true; let page: DescribeClustersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeClustersPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts b/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts index 08f0bdb417d5..84b5dd9166b0 100644 --- a/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts +++ b/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDefaultClusterParametersPaginate( let hasNext = true; let page: DescribeDefaultClusterParametersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDefaultClusterParametersPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["DefaultClusterParameters"]["Marker"]; + token = page.DefaultClusterParameters?.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeEventSubscriptionsPaginator.ts b/clients/client-redshift/pagination/DescribeEventSubscriptionsPaginator.ts index da3203d8c054..b40c0639a8d3 100644 --- a/clients/client-redshift/pagination/DescribeEventSubscriptionsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeEventSubscriptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventSubscriptionsPaginate( let hasNext = true; let page: DescribeEventSubscriptionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventSubscriptionsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeEventsPaginator.ts b/clients/client-redshift/pagination/DescribeEventsPaginator.ts index a02731b86698..95530e6c0262 100644 --- a/clients/client-redshift/pagination/DescribeEventsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEventsPaginate( let hasNext = true; let page: DescribeEventsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEventsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeHsmClientCertificatesPaginator.ts b/clients/client-redshift/pagination/DescribeHsmClientCertificatesPaginator.ts index a396dcfbc6db..1ff68e7ec7c0 100644 --- a/clients/client-redshift/pagination/DescribeHsmClientCertificatesPaginator.ts +++ b/clients/client-redshift/pagination/DescribeHsmClientCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeHsmClientCertificatesPaginate( let hasNext = true; let page: DescribeHsmClientCertificatesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeHsmClientCertificatesPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeHsmConfigurationsPaginator.ts b/clients/client-redshift/pagination/DescribeHsmConfigurationsPaginator.ts index b117c7ae0eef..a0393b4a5e68 100644 --- a/clients/client-redshift/pagination/DescribeHsmConfigurationsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeHsmConfigurationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeHsmConfigurationsPaginate( let hasNext = true; let page: DescribeHsmConfigurationsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeHsmConfigurationsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeNodeConfigurationOptionsPaginator.ts b/clients/client-redshift/pagination/DescribeNodeConfigurationOptionsPaginator.ts index b8ee56335ec7..5a0b49fe25b8 100644 --- a/clients/client-redshift/pagination/DescribeNodeConfigurationOptionsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeNodeConfigurationOptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeNodeConfigurationOptionsPaginate( let hasNext = true; let page: DescribeNodeConfigurationOptionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeNodeConfigurationOptionsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeOrderableClusterOptionsPaginator.ts b/clients/client-redshift/pagination/DescribeOrderableClusterOptionsPaginator.ts index 40285b1c51a5..ab8532143929 100644 --- a/clients/client-redshift/pagination/DescribeOrderableClusterOptionsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeOrderableClusterOptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeOrderableClusterOptionsPaginate( let hasNext = true; let page: DescribeOrderableClusterOptionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeOrderableClusterOptionsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeReservedNodeOfferingsPaginator.ts b/clients/client-redshift/pagination/DescribeReservedNodeOfferingsPaginator.ts index d3ac56992ec1..4d07d77367eb 100644 --- a/clients/client-redshift/pagination/DescribeReservedNodeOfferingsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeReservedNodeOfferingsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReservedNodeOfferingsPaginate( let hasNext = true; let page: DescribeReservedNodeOfferingsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReservedNodeOfferingsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeReservedNodesPaginator.ts b/clients/client-redshift/pagination/DescribeReservedNodesPaginator.ts index 323b6f7e4718..050135089b86 100644 --- a/clients/client-redshift/pagination/DescribeReservedNodesPaginator.ts +++ b/clients/client-redshift/pagination/DescribeReservedNodesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeReservedNodesPaginate( let hasNext = true; let page: DescribeReservedNodesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeReservedNodesPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeScheduledActionsPaginator.ts b/clients/client-redshift/pagination/DescribeScheduledActionsPaginator.ts index 409461cb1dc1..267930dcfb66 100644 --- a/clients/client-redshift/pagination/DescribeScheduledActionsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeScheduledActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScheduledActionsPaginate( let hasNext = true; let page: DescribeScheduledActionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScheduledActionsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeUsageLimitsPaginator.ts b/clients/client-redshift/pagination/DescribeUsageLimitsPaginator.ts index c4e869ed30ee..e7b972d3b61c 100644 --- a/clients/client-redshift/pagination/DescribeUsageLimitsPaginator.ts +++ b/clients/client-redshift/pagination/DescribeUsageLimitsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeUsageLimitsPaginate( let hasNext = true; let page: DescribeUsageLimitsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxRecords"] = config.pageSize; if (config.client instanceof Redshift) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeUsageLimitsPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/DescribeProjectVersionsPaginator.ts b/clients/client-rekognition/pagination/DescribeProjectVersionsPaginator.ts index 1156c1cd1ae4..3fd617a5c2e7 100644 --- a/clients/client-rekognition/pagination/DescribeProjectVersionsPaginator.ts +++ b/clients/client-rekognition/pagination/DescribeProjectVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeProjectVersionsPaginate( let hasNext = true; let page: DescribeProjectVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeProjectVersionsPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/DescribeProjectsPaginator.ts b/clients/client-rekognition/pagination/DescribeProjectsPaginator.ts index eed16a7abf09..c806ed5c754c 100644 --- a/clients/client-rekognition/pagination/DescribeProjectsPaginator.ts +++ b/clients/client-rekognition/pagination/DescribeProjectsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeProjectsPaginate( let hasNext = true; let page: DescribeProjectsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeProjectsPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/GetCelebrityRecognitionPaginator.ts b/clients/client-rekognition/pagination/GetCelebrityRecognitionPaginator.ts index f0af769dfea8..918156e88d13 100644 --- a/clients/client-rekognition/pagination/GetCelebrityRecognitionPaginator.ts +++ b/clients/client-rekognition/pagination/GetCelebrityRecognitionPaginator.ts @@ -33,7 +33,7 @@ export async function* getCelebrityRecognitionPaginate( let hasNext = true; let page: GetCelebrityRecognitionCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getCelebrityRecognitionPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/GetContentModerationPaginator.ts b/clients/client-rekognition/pagination/GetContentModerationPaginator.ts index 8e5ac76722eb..1c54b7f0716d 100644 --- a/clients/client-rekognition/pagination/GetContentModerationPaginator.ts +++ b/clients/client-rekognition/pagination/GetContentModerationPaginator.ts @@ -33,7 +33,7 @@ export async function* getContentModerationPaginate( let hasNext = true; let page: GetContentModerationCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getContentModerationPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/GetFaceDetectionPaginator.ts b/clients/client-rekognition/pagination/GetFaceDetectionPaginator.ts index b55c3e9ea1c5..73b1a5e5d7f9 100644 --- a/clients/client-rekognition/pagination/GetFaceDetectionPaginator.ts +++ b/clients/client-rekognition/pagination/GetFaceDetectionPaginator.ts @@ -33,7 +33,7 @@ export async function* getFaceDetectionPaginate( let hasNext = true; let page: GetFaceDetectionCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getFaceDetectionPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/GetFaceSearchPaginator.ts b/clients/client-rekognition/pagination/GetFaceSearchPaginator.ts index f1b7f7c241c9..f3f5e155427b 100644 --- a/clients/client-rekognition/pagination/GetFaceSearchPaginator.ts +++ b/clients/client-rekognition/pagination/GetFaceSearchPaginator.ts @@ -33,7 +33,7 @@ export async function* getFaceSearchPaginate( let hasNext = true; let page: GetFaceSearchCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getFaceSearchPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/GetLabelDetectionPaginator.ts b/clients/client-rekognition/pagination/GetLabelDetectionPaginator.ts index 6ddf8612e909..ce3dd127558d 100644 --- a/clients/client-rekognition/pagination/GetLabelDetectionPaginator.ts +++ b/clients/client-rekognition/pagination/GetLabelDetectionPaginator.ts @@ -33,7 +33,7 @@ export async function* getLabelDetectionPaginate( let hasNext = true; let page: GetLabelDetectionCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getLabelDetectionPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/GetPersonTrackingPaginator.ts b/clients/client-rekognition/pagination/GetPersonTrackingPaginator.ts index 9cf785253723..213fe0a92137 100644 --- a/clients/client-rekognition/pagination/GetPersonTrackingPaginator.ts +++ b/clients/client-rekognition/pagination/GetPersonTrackingPaginator.ts @@ -33,7 +33,7 @@ export async function* getPersonTrackingPaginate( let hasNext = true; let page: GetPersonTrackingCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getPersonTrackingPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/GetSegmentDetectionPaginator.ts b/clients/client-rekognition/pagination/GetSegmentDetectionPaginator.ts index 80e93842c245..bb2f6d9f9d3e 100644 --- a/clients/client-rekognition/pagination/GetSegmentDetectionPaginator.ts +++ b/clients/client-rekognition/pagination/GetSegmentDetectionPaginator.ts @@ -33,7 +33,7 @@ export async function* getSegmentDetectionPaginate( let hasNext = true; let page: GetSegmentDetectionCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getSegmentDetectionPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/GetTextDetectionPaginator.ts b/clients/client-rekognition/pagination/GetTextDetectionPaginator.ts index 53bf992016d1..48cf6da9923e 100644 --- a/clients/client-rekognition/pagination/GetTextDetectionPaginator.ts +++ b/clients/client-rekognition/pagination/GetTextDetectionPaginator.ts @@ -33,7 +33,7 @@ export async function* getTextDetectionPaginate( let hasNext = true; let page: GetTextDetectionCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getTextDetectionPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/ListCollectionsPaginator.ts b/clients/client-rekognition/pagination/ListCollectionsPaginator.ts index b92fe0e33be0..677e6aac5eff 100644 --- a/clients/client-rekognition/pagination/ListCollectionsPaginator.ts +++ b/clients/client-rekognition/pagination/ListCollectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listCollectionsPaginate( let hasNext = true; let page: ListCollectionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCollectionsPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/ListFacesPaginator.ts b/clients/client-rekognition/pagination/ListFacesPaginator.ts index c949ddaa08fb..5bbc2a208b4b 100644 --- a/clients/client-rekognition/pagination/ListFacesPaginator.ts +++ b/clients/client-rekognition/pagination/ListFacesPaginator.ts @@ -29,7 +29,7 @@ export async function* listFacesPaginate( let hasNext = true; let page: ListFacesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listFacesPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rekognition/pagination/ListStreamProcessorsPaginator.ts b/clients/client-rekognition/pagination/ListStreamProcessorsPaginator.ts index ea479963f39a..0bab41ef9cd9 100644 --- a/clients/client-rekognition/pagination/ListStreamProcessorsPaginator.ts +++ b/clients/client-rekognition/pagination/ListStreamProcessorsPaginator.ts @@ -33,7 +33,7 @@ export async function* listStreamProcessorsPaginate( let hasNext = true; let page: ListStreamProcessorsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Rekognition) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listStreamProcessorsPaginate( throw new Error("Invalid client, expected Rekognition | RekognitionClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-resource-groups-tagging-api/pagination/GetComplianceSummaryPaginator.ts b/clients/client-resource-groups-tagging-api/pagination/GetComplianceSummaryPaginator.ts index a6d0026163e0..1280be5ae20a 100644 --- a/clients/client-resource-groups-tagging-api/pagination/GetComplianceSummaryPaginator.ts +++ b/clients/client-resource-groups-tagging-api/pagination/GetComplianceSummaryPaginator.ts @@ -33,7 +33,7 @@ export async function* getComplianceSummaryPaginate( let hasNext = true; let page: GetComplianceSummaryCommandOutput; while (hasNext) { - input["PaginationToken"] = token; + input.PaginationToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ResourceGroupsTaggingAPI) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getComplianceSummaryPaginate( throw new Error("Invalid client, expected ResourceGroupsTaggingAPI | ResourceGroupsTaggingAPIClient"); } yield page; - token = page["PaginationToken"]; + token = page.PaginationToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-resource-groups-tagging-api/pagination/GetResourcesPaginator.ts b/clients/client-resource-groups-tagging-api/pagination/GetResourcesPaginator.ts index 3576f756a3ae..c0f206ddac4e 100644 --- a/clients/client-resource-groups-tagging-api/pagination/GetResourcesPaginator.ts +++ b/clients/client-resource-groups-tagging-api/pagination/GetResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* getResourcesPaginate( let hasNext = true; let page: GetResourcesCommandOutput; while (hasNext) { - input["PaginationToken"] = token; + input.PaginationToken = token; input["ResourcesPerPage"] = config.pageSize; if (config.client instanceof ResourceGroupsTaggingAPI) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getResourcesPaginate( throw new Error("Invalid client, expected ResourceGroupsTaggingAPI | ResourceGroupsTaggingAPIClient"); } yield page; - token = page["PaginationToken"]; + token = page.PaginationToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-resource-groups-tagging-api/pagination/GetTagKeysPaginator.ts b/clients/client-resource-groups-tagging-api/pagination/GetTagKeysPaginator.ts index 1be61bd58e0c..0a745ca83949 100644 --- a/clients/client-resource-groups-tagging-api/pagination/GetTagKeysPaginator.ts +++ b/clients/client-resource-groups-tagging-api/pagination/GetTagKeysPaginator.ts @@ -29,7 +29,7 @@ export async function* getTagKeysPaginate( let hasNext = true; let page: GetTagKeysCommandOutput; while (hasNext) { - input["PaginationToken"] = token; + input.PaginationToken = token; if (config.client instanceof ResourceGroupsTaggingAPI) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof ResourceGroupsTaggingAPIClient) { @@ -38,7 +38,7 @@ export async function* getTagKeysPaginate( throw new Error("Invalid client, expected ResourceGroupsTaggingAPI | ResourceGroupsTaggingAPIClient"); } yield page; - token = page["PaginationToken"]; + token = page.PaginationToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-resource-groups-tagging-api/pagination/GetTagValuesPaginator.ts b/clients/client-resource-groups-tagging-api/pagination/GetTagValuesPaginator.ts index e78d2588aeee..6a1c76bf1670 100644 --- a/clients/client-resource-groups-tagging-api/pagination/GetTagValuesPaginator.ts +++ b/clients/client-resource-groups-tagging-api/pagination/GetTagValuesPaginator.ts @@ -33,7 +33,7 @@ export async function* getTagValuesPaginate( let hasNext = true; let page: GetTagValuesCommandOutput; while (hasNext) { - input["PaginationToken"] = token; + input.PaginationToken = token; if (config.client instanceof ResourceGroupsTaggingAPI) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof ResourceGroupsTaggingAPIClient) { @@ -42,7 +42,7 @@ export async function* getTagValuesPaginate( throw new Error("Invalid client, expected ResourceGroupsTaggingAPI | ResourceGroupsTaggingAPIClient"); } yield page; - token = page["PaginationToken"]; + token = page.PaginationToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-resource-groups/pagination/ListGroupResourcesPaginator.ts b/clients/client-resource-groups/pagination/ListGroupResourcesPaginator.ts index 33615ff25065..07ce867aebf5 100644 --- a/clients/client-resource-groups/pagination/ListGroupResourcesPaginator.ts +++ b/clients/client-resource-groups/pagination/ListGroupResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listGroupResourcesPaginate( let hasNext = true; let page: ListGroupResourcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ResourceGroups) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGroupResourcesPaginate( throw new Error("Invalid client, expected ResourceGroups | ResourceGroupsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-resource-groups/pagination/ListGroupsPaginator.ts b/clients/client-resource-groups/pagination/ListGroupsPaginator.ts index 9b83afbe7ef4..b27dd039105a 100644 --- a/clients/client-resource-groups/pagination/ListGroupsPaginator.ts +++ b/clients/client-resource-groups/pagination/ListGroupsPaginator.ts @@ -29,7 +29,7 @@ export async function* listGroupsPaginate( let hasNext = true; let page: ListGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ResourceGroups) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listGroupsPaginate( throw new Error("Invalid client, expected ResourceGroups | ResourceGroupsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-resource-groups/pagination/SearchResourcesPaginator.ts b/clients/client-resource-groups/pagination/SearchResourcesPaginator.ts index 7323129f87c5..dc6c1ce4a524 100644 --- a/clients/client-resource-groups/pagination/SearchResourcesPaginator.ts +++ b/clients/client-resource-groups/pagination/SearchResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchResourcesPaginate( let hasNext = true; let page: SearchResourcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ResourceGroups) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchResourcesPaginate( throw new Error("Invalid client, expected ResourceGroups | ResourceGroupsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListDeploymentJobsPaginator.ts b/clients/client-robomaker/pagination/ListDeploymentJobsPaginator.ts index 84e14da85e1e..a0e49422ec64 100644 --- a/clients/client-robomaker/pagination/ListDeploymentJobsPaginator.ts +++ b/clients/client-robomaker/pagination/ListDeploymentJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeploymentJobsPaginate( let hasNext = true; let page: ListDeploymentJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDeploymentJobsPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListFleetsPaginator.ts b/clients/client-robomaker/pagination/ListFleetsPaginator.ts index 068c4242b468..fccaabd5582b 100644 --- a/clients/client-robomaker/pagination/ListFleetsPaginator.ts +++ b/clients/client-robomaker/pagination/ListFleetsPaginator.ts @@ -29,7 +29,7 @@ export async function* listFleetsPaginate( let hasNext = true; let page: ListFleetsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listFleetsPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListRobotApplicationsPaginator.ts b/clients/client-robomaker/pagination/ListRobotApplicationsPaginator.ts index a534ed8d09c8..bf594959f585 100644 --- a/clients/client-robomaker/pagination/ListRobotApplicationsPaginator.ts +++ b/clients/client-robomaker/pagination/ListRobotApplicationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listRobotApplicationsPaginate( let hasNext = true; let page: ListRobotApplicationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRobotApplicationsPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListRobotsPaginator.ts b/clients/client-robomaker/pagination/ListRobotsPaginator.ts index 2b03c560d8a2..8a03c312d986 100644 --- a/clients/client-robomaker/pagination/ListRobotsPaginator.ts +++ b/clients/client-robomaker/pagination/ListRobotsPaginator.ts @@ -29,7 +29,7 @@ export async function* listRobotsPaginate( let hasNext = true; let page: ListRobotsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listRobotsPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListSimulationApplicationsPaginator.ts b/clients/client-robomaker/pagination/ListSimulationApplicationsPaginator.ts index c69ffcf36cdd..bab29a3d86c2 100644 --- a/clients/client-robomaker/pagination/ListSimulationApplicationsPaginator.ts +++ b/clients/client-robomaker/pagination/ListSimulationApplicationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSimulationApplicationsPaginate( let hasNext = true; let page: ListSimulationApplicationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSimulationApplicationsPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListSimulationJobBatchesPaginator.ts b/clients/client-robomaker/pagination/ListSimulationJobBatchesPaginator.ts index 610692398c42..deb05f44d96e 100644 --- a/clients/client-robomaker/pagination/ListSimulationJobBatchesPaginator.ts +++ b/clients/client-robomaker/pagination/ListSimulationJobBatchesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSimulationJobBatchesPaginate( let hasNext = true; let page: ListSimulationJobBatchesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSimulationJobBatchesPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListSimulationJobsPaginator.ts b/clients/client-robomaker/pagination/ListSimulationJobsPaginator.ts index be04e4dca671..7622d33ea595 100644 --- a/clients/client-robomaker/pagination/ListSimulationJobsPaginator.ts +++ b/clients/client-robomaker/pagination/ListSimulationJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSimulationJobsPaginate( let hasNext = true; let page: ListSimulationJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSimulationJobsPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListWorldExportJobsPaginator.ts b/clients/client-robomaker/pagination/ListWorldExportJobsPaginator.ts index d0962544c489..3c9b05e76312 100644 --- a/clients/client-robomaker/pagination/ListWorldExportJobsPaginator.ts +++ b/clients/client-robomaker/pagination/ListWorldExportJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listWorldExportJobsPaginate( let hasNext = true; let page: ListWorldExportJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWorldExportJobsPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListWorldGenerationJobsPaginator.ts b/clients/client-robomaker/pagination/ListWorldGenerationJobsPaginator.ts index aa4269b8eaff..bc8bc86a7340 100644 --- a/clients/client-robomaker/pagination/ListWorldGenerationJobsPaginator.ts +++ b/clients/client-robomaker/pagination/ListWorldGenerationJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listWorldGenerationJobsPaginate( let hasNext = true; let page: ListWorldGenerationJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWorldGenerationJobsPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListWorldTemplatesPaginator.ts b/clients/client-robomaker/pagination/ListWorldTemplatesPaginator.ts index 44836b43cabe..9e724990abf6 100644 --- a/clients/client-robomaker/pagination/ListWorldTemplatesPaginator.ts +++ b/clients/client-robomaker/pagination/ListWorldTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listWorldTemplatesPaginate( let hasNext = true; let page: ListWorldTemplatesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWorldTemplatesPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-robomaker/pagination/ListWorldsPaginator.ts b/clients/client-robomaker/pagination/ListWorldsPaginator.ts index d10d97792800..bac800661bbf 100644 --- a/clients/client-robomaker/pagination/ListWorldsPaginator.ts +++ b/clients/client-robomaker/pagination/ListWorldsPaginator.ts @@ -29,7 +29,7 @@ export async function* listWorldsPaginate( let hasNext = true; let page: ListWorldsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof RoboMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listWorldsPaginate( throw new Error("Invalid client, expected RoboMaker | RoboMakerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-route-53-domains/pagination/ListDomainsPaginator.ts b/clients/client-route-53-domains/pagination/ListDomainsPaginator.ts index 054df668ef5b..1277a6d25baf 100644 --- a/clients/client-route-53-domains/pagination/ListDomainsPaginator.ts +++ b/clients/client-route-53-domains/pagination/ListDomainsPaginator.ts @@ -29,7 +29,7 @@ export async function* listDomainsPaginate( let hasNext = true; let page: ListDomainsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof Route53Domains) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listDomainsPaginate( throw new Error("Invalid client, expected Route53Domains | Route53DomainsClient"); } yield page; - token = page["NextPageMarker"]; + token = page.NextPageMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-route-53-domains/pagination/ListOperationsPaginator.ts b/clients/client-route-53-domains/pagination/ListOperationsPaginator.ts index 9f2db442be0c..32563344f670 100644 --- a/clients/client-route-53-domains/pagination/ListOperationsPaginator.ts +++ b/clients/client-route-53-domains/pagination/ListOperationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOperationsPaginate( let hasNext = true; let page: ListOperationsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["MaxItems"] = config.pageSize; if (config.client instanceof Route53Domains) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOperationsPaginate( throw new Error("Invalid client, expected Route53Domains | Route53DomainsClient"); } yield page; - token = page["NextPageMarker"]; + token = page.NextPageMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-route53resolver/pagination/ListResolverEndpointIpAddressesPaginator.ts b/clients/client-route53resolver/pagination/ListResolverEndpointIpAddressesPaginator.ts index 3f8cf3120a34..4694dc750685 100644 --- a/clients/client-route53resolver/pagination/ListResolverEndpointIpAddressesPaginator.ts +++ b/clients/client-route53resolver/pagination/ListResolverEndpointIpAddressesPaginator.ts @@ -33,7 +33,7 @@ export async function* listResolverEndpointIpAddressesPaginate( let hasNext = true; let page: ListResolverEndpointIpAddressesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Route53Resolver) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResolverEndpointIpAddressesPaginate( throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-route53resolver/pagination/ListResolverEndpointsPaginator.ts b/clients/client-route53resolver/pagination/ListResolverEndpointsPaginator.ts index 90a1977b12e6..b58a3dd81a5c 100644 --- a/clients/client-route53resolver/pagination/ListResolverEndpointsPaginator.ts +++ b/clients/client-route53resolver/pagination/ListResolverEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* listResolverEndpointsPaginate( let hasNext = true; let page: ListResolverEndpointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Route53Resolver) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResolverEndpointsPaginate( throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-route53resolver/pagination/ListResolverQueryLogConfigAssociationsPaginator.ts b/clients/client-route53resolver/pagination/ListResolverQueryLogConfigAssociationsPaginator.ts index 427c129f1251..cef30ac7d343 100644 --- a/clients/client-route53resolver/pagination/ListResolverQueryLogConfigAssociationsPaginator.ts +++ b/clients/client-route53resolver/pagination/ListResolverQueryLogConfigAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listResolverQueryLogConfigAssociationsPaginate( let hasNext = true; let page: ListResolverQueryLogConfigAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Route53Resolver) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResolverQueryLogConfigAssociationsPaginate( throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-route53resolver/pagination/ListResolverQueryLogConfigsPaginator.ts b/clients/client-route53resolver/pagination/ListResolverQueryLogConfigsPaginator.ts index 8ab6c647cd27..63f535dfb600 100644 --- a/clients/client-route53resolver/pagination/ListResolverQueryLogConfigsPaginator.ts +++ b/clients/client-route53resolver/pagination/ListResolverQueryLogConfigsPaginator.ts @@ -33,7 +33,7 @@ export async function* listResolverQueryLogConfigsPaginate( let hasNext = true; let page: ListResolverQueryLogConfigsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Route53Resolver) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResolverQueryLogConfigsPaginate( throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-route53resolver/pagination/ListResolverRuleAssociationsPaginator.ts b/clients/client-route53resolver/pagination/ListResolverRuleAssociationsPaginator.ts index b293095caf9a..aeebece95707 100644 --- a/clients/client-route53resolver/pagination/ListResolverRuleAssociationsPaginator.ts +++ b/clients/client-route53resolver/pagination/ListResolverRuleAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listResolverRuleAssociationsPaginate( let hasNext = true; let page: ListResolverRuleAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Route53Resolver) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResolverRuleAssociationsPaginate( throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-route53resolver/pagination/ListResolverRulesPaginator.ts b/clients/client-route53resolver/pagination/ListResolverRulesPaginator.ts index 44ffe019dfeb..bcd551fee33a 100644 --- a/clients/client-route53resolver/pagination/ListResolverRulesPaginator.ts +++ b/clients/client-route53resolver/pagination/ListResolverRulesPaginator.ts @@ -33,7 +33,7 @@ export async function* listResolverRulesPaginate( let hasNext = true; let page: ListResolverRulesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Route53Resolver) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResolverRulesPaginate( throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-route53resolver/pagination/ListTagsForResourcePaginator.ts b/clients/client-route53resolver/pagination/ListTagsForResourcePaginator.ts index c96b5144d041..2e9a0e2cc1eb 100644 --- a/clients/client-route53resolver/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-route53resolver/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Route53Resolver) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-s3-control/pagination/ListAccessPointsPaginator.ts b/clients/client-s3-control/pagination/ListAccessPointsPaginator.ts index 5a080e5f67bd..c6c1f5348331 100644 --- a/clients/client-s3-control/pagination/ListAccessPointsPaginator.ts +++ b/clients/client-s3-control/pagination/ListAccessPointsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccessPointsPaginate( let hasNext = true; let page: ListAccessPointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof S3Control) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccessPointsPaginate( throw new Error("Invalid client, expected S3Control | S3ControlClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-s3-control/pagination/ListJobsPaginator.ts b/clients/client-s3-control/pagination/ListJobsPaginator.ts index da7a80e5fdfd..7f62b6bfeea4 100644 --- a/clients/client-s3-control/pagination/ListJobsPaginator.ts +++ b/clients/client-s3-control/pagination/ListJobsPaginator.ts @@ -29,7 +29,7 @@ export async function* listJobsPaginate( let hasNext = true; let page: ListJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof S3Control) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listJobsPaginate( throw new Error("Invalid client, expected S3Control | S3ControlClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-s3-control/pagination/ListRegionalBucketsPaginator.ts b/clients/client-s3-control/pagination/ListRegionalBucketsPaginator.ts index b0101758db59..78b080f50afb 100644 --- a/clients/client-s3-control/pagination/ListRegionalBucketsPaginator.ts +++ b/clients/client-s3-control/pagination/ListRegionalBucketsPaginator.ts @@ -33,7 +33,7 @@ export async function* listRegionalBucketsPaginate( let hasNext = true; let page: ListRegionalBucketsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof S3Control) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRegionalBucketsPaginate( throw new Error("Invalid client, expected S3Control | S3ControlClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-s3/pagination/ListObjectsV2Paginator.ts b/clients/client-s3/pagination/ListObjectsV2Paginator.ts index 9dcbf9a4e45c..37830f8b4e1b 100644 --- a/clients/client-s3/pagination/ListObjectsV2Paginator.ts +++ b/clients/client-s3/pagination/ListObjectsV2Paginator.ts @@ -33,7 +33,7 @@ export async function* listObjectsV2Paginate( let hasNext = true; let page: ListObjectsV2CommandOutput; while (hasNext) { - input["ContinuationToken"] = token; + input.ContinuationToken = token; input["MaxKeys"] = config.pageSize; if (config.client instanceof S3) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listObjectsV2Paginate( throw new Error("Invalid client, expected S3 | S3Client"); } yield page; - token = page["NextContinuationToken"]; + token = page.NextContinuationToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-s3outposts/pagination/ListEndpointsPaginator.ts b/clients/client-s3outposts/pagination/ListEndpointsPaginator.ts index e37f2d4fd2e2..d215337d4216 100644 --- a/clients/client-s3outposts/pagination/ListEndpointsPaginator.ts +++ b/clients/client-s3outposts/pagination/ListEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* listEndpointsPaginate( let hasNext = true; let page: ListEndpointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof S3Outposts) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEndpointsPaginate( throw new Error("Invalid client, expected S3Outposts | S3OutpostsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker-a2i-runtime/pagination/ListHumanLoopsPaginator.ts b/clients/client-sagemaker-a2i-runtime/pagination/ListHumanLoopsPaginator.ts index 3434c4a73ca0..2cc36fec0ea5 100644 --- a/clients/client-sagemaker-a2i-runtime/pagination/ListHumanLoopsPaginator.ts +++ b/clients/client-sagemaker-a2i-runtime/pagination/ListHumanLoopsPaginator.ts @@ -33,7 +33,7 @@ export async function* listHumanLoopsPaginate( let hasNext = true; let page: ListHumanLoopsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMakerA2IRuntime) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listHumanLoopsPaginate( throw new Error("Invalid client, expected SageMakerA2IRuntime | SageMakerA2IRuntimeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListAlgorithmsPaginator.ts b/clients/client-sagemaker/pagination/ListAlgorithmsPaginator.ts index 35eb951757e8..7d3c8f504733 100644 --- a/clients/client-sagemaker/pagination/ListAlgorithmsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListAlgorithmsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAlgorithmsPaginate( let hasNext = true; let page: ListAlgorithmsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAlgorithmsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListAppsPaginator.ts b/clients/client-sagemaker/pagination/ListAppsPaginator.ts index be34c91ceacb..3a3bacbe03f6 100644 --- a/clients/client-sagemaker/pagination/ListAppsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListAppsPaginator.ts @@ -29,7 +29,7 @@ export async function* listAppsPaginate( let hasNext = true; let page: ListAppsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listAppsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListAutoMLJobsPaginator.ts b/clients/client-sagemaker/pagination/ListAutoMLJobsPaginator.ts index a383fa384423..eb662243db8a 100644 --- a/clients/client-sagemaker/pagination/ListAutoMLJobsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListAutoMLJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAutoMLJobsPaginate( let hasNext = true; let page: ListAutoMLJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAutoMLJobsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListCandidatesForAutoMLJobPaginator.ts b/clients/client-sagemaker/pagination/ListCandidatesForAutoMLJobPaginator.ts index a55780ef18de..117d9fff9c10 100644 --- a/clients/client-sagemaker/pagination/ListCandidatesForAutoMLJobPaginator.ts +++ b/clients/client-sagemaker/pagination/ListCandidatesForAutoMLJobPaginator.ts @@ -33,7 +33,7 @@ export async function* listCandidatesForAutoMLJobPaginate( let hasNext = true; let page: ListCandidatesForAutoMLJobCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCandidatesForAutoMLJobPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListCodeRepositoriesPaginator.ts b/clients/client-sagemaker/pagination/ListCodeRepositoriesPaginator.ts index bd9b8ed21a52..657e747aec6b 100644 --- a/clients/client-sagemaker/pagination/ListCodeRepositoriesPaginator.ts +++ b/clients/client-sagemaker/pagination/ListCodeRepositoriesPaginator.ts @@ -33,7 +33,7 @@ export async function* listCodeRepositoriesPaginate( let hasNext = true; let page: ListCodeRepositoriesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCodeRepositoriesPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListCompilationJobsPaginator.ts b/clients/client-sagemaker/pagination/ListCompilationJobsPaginator.ts index e5aecb4aa7f2..37ddfdbd6e7d 100644 --- a/clients/client-sagemaker/pagination/ListCompilationJobsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListCompilationJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listCompilationJobsPaginate( let hasNext = true; let page: ListCompilationJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCompilationJobsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListDomainsPaginator.ts b/clients/client-sagemaker/pagination/ListDomainsPaginator.ts index e0963a6087c2..5f3f4551574d 100644 --- a/clients/client-sagemaker/pagination/ListDomainsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListDomainsPaginator.ts @@ -29,7 +29,7 @@ export async function* listDomainsPaginate( let hasNext = true; let page: ListDomainsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listDomainsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListEndpointConfigsPaginator.ts b/clients/client-sagemaker/pagination/ListEndpointConfigsPaginator.ts index ab7cbbe2d15f..6e5ea3f110be 100644 --- a/clients/client-sagemaker/pagination/ListEndpointConfigsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListEndpointConfigsPaginator.ts @@ -33,7 +33,7 @@ export async function* listEndpointConfigsPaginate( let hasNext = true; let page: ListEndpointConfigsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEndpointConfigsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListEndpointsPaginator.ts b/clients/client-sagemaker/pagination/ListEndpointsPaginator.ts index 77dd9583ca85..49c56d07b621 100644 --- a/clients/client-sagemaker/pagination/ListEndpointsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListEndpointsPaginator.ts @@ -33,7 +33,7 @@ export async function* listEndpointsPaginate( let hasNext = true; let page: ListEndpointsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEndpointsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListExperimentsPaginator.ts b/clients/client-sagemaker/pagination/ListExperimentsPaginator.ts index d26f2b674165..038ecc26e83a 100644 --- a/clients/client-sagemaker/pagination/ListExperimentsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListExperimentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listExperimentsPaginate( let hasNext = true; let page: ListExperimentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listExperimentsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListFlowDefinitionsPaginator.ts b/clients/client-sagemaker/pagination/ListFlowDefinitionsPaginator.ts index 655860581683..c33224cd2994 100644 --- a/clients/client-sagemaker/pagination/ListFlowDefinitionsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListFlowDefinitionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listFlowDefinitionsPaginate( let hasNext = true; let page: ListFlowDefinitionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFlowDefinitionsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListHumanTaskUisPaginator.ts b/clients/client-sagemaker/pagination/ListHumanTaskUisPaginator.ts index 1b9502cab3ee..602fd058b2e6 100644 --- a/clients/client-sagemaker/pagination/ListHumanTaskUisPaginator.ts +++ b/clients/client-sagemaker/pagination/ListHumanTaskUisPaginator.ts @@ -33,7 +33,7 @@ export async function* listHumanTaskUisPaginate( let hasNext = true; let page: ListHumanTaskUisCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listHumanTaskUisPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListHyperParameterTuningJobsPaginator.ts b/clients/client-sagemaker/pagination/ListHyperParameterTuningJobsPaginator.ts index 0b1fd4671bec..58480b8eb450 100644 --- a/clients/client-sagemaker/pagination/ListHyperParameterTuningJobsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListHyperParameterTuningJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listHyperParameterTuningJobsPaginate( let hasNext = true; let page: ListHyperParameterTuningJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listHyperParameterTuningJobsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListLabelingJobsForWorkteamPaginator.ts b/clients/client-sagemaker/pagination/ListLabelingJobsForWorkteamPaginator.ts index c6480f996228..d10b0b8ff758 100644 --- a/clients/client-sagemaker/pagination/ListLabelingJobsForWorkteamPaginator.ts +++ b/clients/client-sagemaker/pagination/ListLabelingJobsForWorkteamPaginator.ts @@ -33,7 +33,7 @@ export async function* listLabelingJobsForWorkteamPaginate( let hasNext = true; let page: ListLabelingJobsForWorkteamCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listLabelingJobsForWorkteamPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListLabelingJobsPaginator.ts b/clients/client-sagemaker/pagination/ListLabelingJobsPaginator.ts index e321b919fc3f..1a8d3cab3bcb 100644 --- a/clients/client-sagemaker/pagination/ListLabelingJobsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListLabelingJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listLabelingJobsPaginate( let hasNext = true; let page: ListLabelingJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listLabelingJobsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListModelPackagesPaginator.ts b/clients/client-sagemaker/pagination/ListModelPackagesPaginator.ts index 31915ec817e4..0b4dce4f195e 100644 --- a/clients/client-sagemaker/pagination/ListModelPackagesPaginator.ts +++ b/clients/client-sagemaker/pagination/ListModelPackagesPaginator.ts @@ -33,7 +33,7 @@ export async function* listModelPackagesPaginate( let hasNext = true; let page: ListModelPackagesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listModelPackagesPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListModelsPaginator.ts b/clients/client-sagemaker/pagination/ListModelsPaginator.ts index 1f06c6b1a545..21a1c2ced8fb 100644 --- a/clients/client-sagemaker/pagination/ListModelsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListModelsPaginator.ts @@ -29,7 +29,7 @@ export async function* listModelsPaginate( let hasNext = true; let page: ListModelsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listModelsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListMonitoringExecutionsPaginator.ts b/clients/client-sagemaker/pagination/ListMonitoringExecutionsPaginator.ts index 00ba37f79175..228840ad36d5 100644 --- a/clients/client-sagemaker/pagination/ListMonitoringExecutionsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListMonitoringExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listMonitoringExecutionsPaginate( let hasNext = true; let page: ListMonitoringExecutionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMonitoringExecutionsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListMonitoringSchedulesPaginator.ts b/clients/client-sagemaker/pagination/ListMonitoringSchedulesPaginator.ts index 14d42b9f5c24..badb83d060a3 100644 --- a/clients/client-sagemaker/pagination/ListMonitoringSchedulesPaginator.ts +++ b/clients/client-sagemaker/pagination/ListMonitoringSchedulesPaginator.ts @@ -33,7 +33,7 @@ export async function* listMonitoringSchedulesPaginate( let hasNext = true; let page: ListMonitoringSchedulesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMonitoringSchedulesPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListNotebookInstanceLifecycleConfigsPaginator.ts b/clients/client-sagemaker/pagination/ListNotebookInstanceLifecycleConfigsPaginator.ts index 5bc9c3747ef5..70da3240c055 100644 --- a/clients/client-sagemaker/pagination/ListNotebookInstanceLifecycleConfigsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListNotebookInstanceLifecycleConfigsPaginator.ts @@ -33,7 +33,7 @@ export async function* listNotebookInstanceLifecycleConfigsPaginate( let hasNext = true; let page: ListNotebookInstanceLifecycleConfigsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listNotebookInstanceLifecycleConfigsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListNotebookInstancesPaginator.ts b/clients/client-sagemaker/pagination/ListNotebookInstancesPaginator.ts index 5fd80bb3a4a1..a946e6266db0 100644 --- a/clients/client-sagemaker/pagination/ListNotebookInstancesPaginator.ts +++ b/clients/client-sagemaker/pagination/ListNotebookInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* listNotebookInstancesPaginate( let hasNext = true; let page: ListNotebookInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listNotebookInstancesPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListProcessingJobsPaginator.ts b/clients/client-sagemaker/pagination/ListProcessingJobsPaginator.ts index 72a38229dbdc..51f5d7b6a738 100644 --- a/clients/client-sagemaker/pagination/ListProcessingJobsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListProcessingJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProcessingJobsPaginate( let hasNext = true; let page: ListProcessingJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProcessingJobsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListSubscribedWorkteamsPaginator.ts b/clients/client-sagemaker/pagination/ListSubscribedWorkteamsPaginator.ts index c04ecdb77262..7377012c7c9f 100644 --- a/clients/client-sagemaker/pagination/ListSubscribedWorkteamsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListSubscribedWorkteamsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSubscribedWorkteamsPaginate( let hasNext = true; let page: ListSubscribedWorkteamsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSubscribedWorkteamsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListTagsPaginator.ts b/clients/client-sagemaker/pagination/ListTagsPaginator.ts index de15fc0562d3..d9ce9c01bf98 100644 --- a/clients/client-sagemaker/pagination/ListTagsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListTagsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTagsPaginate( let hasNext = true; let page: ListTagsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTagsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListTrainingJobsForHyperParameterTuningJobPaginator.ts b/clients/client-sagemaker/pagination/ListTrainingJobsForHyperParameterTuningJobPaginator.ts index caec1146c71b..d7f17b064e61 100644 --- a/clients/client-sagemaker/pagination/ListTrainingJobsForHyperParameterTuningJobPaginator.ts +++ b/clients/client-sagemaker/pagination/ListTrainingJobsForHyperParameterTuningJobPaginator.ts @@ -33,7 +33,7 @@ export async function* listTrainingJobsForHyperParameterTuningJobPaginate( let hasNext = true; let page: ListTrainingJobsForHyperParameterTuningJobCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTrainingJobsForHyperParameterTuningJobPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListTrainingJobsPaginator.ts b/clients/client-sagemaker/pagination/ListTrainingJobsPaginator.ts index 7803faf344c6..ab5eebb7a277 100644 --- a/clients/client-sagemaker/pagination/ListTrainingJobsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListTrainingJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTrainingJobsPaginate( let hasNext = true; let page: ListTrainingJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTrainingJobsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListTransformJobsPaginator.ts b/clients/client-sagemaker/pagination/ListTransformJobsPaginator.ts index 91f64246a3bf..567daba971e7 100644 --- a/clients/client-sagemaker/pagination/ListTransformJobsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListTransformJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTransformJobsPaginate( let hasNext = true; let page: ListTransformJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTransformJobsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListTrialComponentsPaginator.ts b/clients/client-sagemaker/pagination/ListTrialComponentsPaginator.ts index 3f4d70d2a720..fc7fedca6cd9 100644 --- a/clients/client-sagemaker/pagination/ListTrialComponentsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListTrialComponentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTrialComponentsPaginate( let hasNext = true; let page: ListTrialComponentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTrialComponentsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListTrialsPaginator.ts b/clients/client-sagemaker/pagination/ListTrialsPaginator.ts index 49792dfc2861..bcc7d3e83165 100644 --- a/clients/client-sagemaker/pagination/ListTrialsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListTrialsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTrialsPaginate( let hasNext = true; let page: ListTrialsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTrialsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListUserProfilesPaginator.ts b/clients/client-sagemaker/pagination/ListUserProfilesPaginator.ts index 34ba14539d61..3988f981332f 100644 --- a/clients/client-sagemaker/pagination/ListUserProfilesPaginator.ts +++ b/clients/client-sagemaker/pagination/ListUserProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* listUserProfilesPaginate( let hasNext = true; let page: ListUserProfilesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listUserProfilesPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListWorkforcesPaginator.ts b/clients/client-sagemaker/pagination/ListWorkforcesPaginator.ts index 871204e06a0a..6c550af459fe 100644 --- a/clients/client-sagemaker/pagination/ListWorkforcesPaginator.ts +++ b/clients/client-sagemaker/pagination/ListWorkforcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listWorkforcesPaginate( let hasNext = true; let page: ListWorkforcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWorkforcesPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/ListWorkteamsPaginator.ts b/clients/client-sagemaker/pagination/ListWorkteamsPaginator.ts index 2a03fd15e993..99fbc1c294b6 100644 --- a/clients/client-sagemaker/pagination/ListWorkteamsPaginator.ts +++ b/clients/client-sagemaker/pagination/ListWorkteamsPaginator.ts @@ -33,7 +33,7 @@ export async function* listWorkteamsPaginate( let hasNext = true; let page: ListWorkteamsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWorkteamsPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sagemaker/pagination/SearchPaginator.ts b/clients/client-sagemaker/pagination/SearchPaginator.ts index 915e6b73cedc..b3c20adb862d 100644 --- a/clients/client-sagemaker/pagination/SearchPaginator.ts +++ b/clients/client-sagemaker/pagination/SearchPaginator.ts @@ -29,7 +29,7 @@ export async function* searchPaginate( let hasNext = true; let page: SearchCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SageMaker) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* searchPaginate( throw new Error("Invalid client, expected SageMaker | SageMakerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-schemas/pagination/ListDiscoverersPaginator.ts b/clients/client-schemas/pagination/ListDiscoverersPaginator.ts index 63f6e469147e..f24a01c5840c 100644 --- a/clients/client-schemas/pagination/ListDiscoverersPaginator.ts +++ b/clients/client-schemas/pagination/ListDiscoverersPaginator.ts @@ -33,7 +33,7 @@ export async function* listDiscoverersPaginate( let hasNext = true; let page: ListDiscoverersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof Schemas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDiscoverersPaginate( throw new Error("Invalid client, expected Schemas | SchemasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-schemas/pagination/ListRegistriesPaginator.ts b/clients/client-schemas/pagination/ListRegistriesPaginator.ts index 8a50282ac60b..d30f75c62c1d 100644 --- a/clients/client-schemas/pagination/ListRegistriesPaginator.ts +++ b/clients/client-schemas/pagination/ListRegistriesPaginator.ts @@ -33,7 +33,7 @@ export async function* listRegistriesPaginate( let hasNext = true; let page: ListRegistriesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof Schemas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRegistriesPaginate( throw new Error("Invalid client, expected Schemas | SchemasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-schemas/pagination/ListSchemaVersionsPaginator.ts b/clients/client-schemas/pagination/ListSchemaVersionsPaginator.ts index f4c116d2de32..c88842dbddf7 100644 --- a/clients/client-schemas/pagination/ListSchemaVersionsPaginator.ts +++ b/clients/client-schemas/pagination/ListSchemaVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSchemaVersionsPaginate( let hasNext = true; let page: ListSchemaVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof Schemas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSchemaVersionsPaginate( throw new Error("Invalid client, expected Schemas | SchemasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-schemas/pagination/ListSchemasPaginator.ts b/clients/client-schemas/pagination/ListSchemasPaginator.ts index 078242ddfb9c..90ed7be2d9fb 100644 --- a/clients/client-schemas/pagination/ListSchemasPaginator.ts +++ b/clients/client-schemas/pagination/ListSchemasPaginator.ts @@ -29,7 +29,7 @@ export async function* listSchemasPaginate( let hasNext = true; let page: ListSchemasCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof Schemas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listSchemasPaginate( throw new Error("Invalid client, expected Schemas | SchemasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-schemas/pagination/SearchSchemasPaginator.ts b/clients/client-schemas/pagination/SearchSchemasPaginator.ts index 4e5b4c23d3db..b7c5f8877835 100644 --- a/clients/client-schemas/pagination/SearchSchemasPaginator.ts +++ b/clients/client-schemas/pagination/SearchSchemasPaginator.ts @@ -33,7 +33,7 @@ export async function* searchSchemasPaginate( let hasNext = true; let page: SearchSchemasCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof Schemas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchSchemasPaginate( throw new Error("Invalid client, expected Schemas | SchemasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-secrets-manager/pagination/ListSecretVersionIdsPaginator.ts b/clients/client-secrets-manager/pagination/ListSecretVersionIdsPaginator.ts index 8cbc3a974ffa..55c9562ff62d 100644 --- a/clients/client-secrets-manager/pagination/ListSecretVersionIdsPaginator.ts +++ b/clients/client-secrets-manager/pagination/ListSecretVersionIdsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSecretVersionIdsPaginate( let hasNext = true; let page: ListSecretVersionIdsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecretsManager) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSecretVersionIdsPaginate( throw new Error("Invalid client, expected SecretsManager | SecretsManagerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-secrets-manager/pagination/ListSecretsPaginator.ts b/clients/client-secrets-manager/pagination/ListSecretsPaginator.ts index f7e78764689a..9f1b6e7fcdfe 100644 --- a/clients/client-secrets-manager/pagination/ListSecretsPaginator.ts +++ b/clients/client-secrets-manager/pagination/ListSecretsPaginator.ts @@ -29,7 +29,7 @@ export async function* listSecretsPaginate( let hasNext = true; let page: ListSecretsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecretsManager) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listSecretsPaginate( throw new Error("Invalid client, expected SecretsManager | SecretsManagerClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-securityhub/pagination/DescribeActionTargetsPaginator.ts b/clients/client-securityhub/pagination/DescribeActionTargetsPaginator.ts index f245410e10a9..d18ef64b0923 100644 --- a/clients/client-securityhub/pagination/DescribeActionTargetsPaginator.ts +++ b/clients/client-securityhub/pagination/DescribeActionTargetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeActionTargetsPaginate( let hasNext = true; let page: DescribeActionTargetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecurityHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeActionTargetsPaginate( throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-securityhub/pagination/DescribeProductsPaginator.ts b/clients/client-securityhub/pagination/DescribeProductsPaginator.ts index ce739327e5ab..9477b8f98e75 100644 --- a/clients/client-securityhub/pagination/DescribeProductsPaginator.ts +++ b/clients/client-securityhub/pagination/DescribeProductsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeProductsPaginate( let hasNext = true; let page: DescribeProductsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecurityHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeProductsPaginate( throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-securityhub/pagination/DescribeStandardsControlsPaginator.ts b/clients/client-securityhub/pagination/DescribeStandardsControlsPaginator.ts index 4a1a20bfed93..2e3999f25bc3 100644 --- a/clients/client-securityhub/pagination/DescribeStandardsControlsPaginator.ts +++ b/clients/client-securityhub/pagination/DescribeStandardsControlsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeStandardsControlsPaginate( let hasNext = true; let page: DescribeStandardsControlsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecurityHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeStandardsControlsPaginate( throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-securityhub/pagination/DescribeStandardsPaginator.ts b/clients/client-securityhub/pagination/DescribeStandardsPaginator.ts index c61904cf71d0..c852b0307f6c 100644 --- a/clients/client-securityhub/pagination/DescribeStandardsPaginator.ts +++ b/clients/client-securityhub/pagination/DescribeStandardsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeStandardsPaginate( let hasNext = true; let page: DescribeStandardsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecurityHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeStandardsPaginate( throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-securityhub/pagination/GetEnabledStandardsPaginator.ts b/clients/client-securityhub/pagination/GetEnabledStandardsPaginator.ts index d53adea4d3a8..71a30de5fd51 100644 --- a/clients/client-securityhub/pagination/GetEnabledStandardsPaginator.ts +++ b/clients/client-securityhub/pagination/GetEnabledStandardsPaginator.ts @@ -33,7 +33,7 @@ export async function* getEnabledStandardsPaginate( let hasNext = true; let page: GetEnabledStandardsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecurityHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getEnabledStandardsPaginate( throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-securityhub/pagination/GetFindingsPaginator.ts b/clients/client-securityhub/pagination/GetFindingsPaginator.ts index a0d5c1ec191e..185db6a68d37 100644 --- a/clients/client-securityhub/pagination/GetFindingsPaginator.ts +++ b/clients/client-securityhub/pagination/GetFindingsPaginator.ts @@ -29,7 +29,7 @@ export async function* getFindingsPaginate( let hasNext = true; let page: GetFindingsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecurityHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getFindingsPaginate( throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-securityhub/pagination/GetInsightsPaginator.ts b/clients/client-securityhub/pagination/GetInsightsPaginator.ts index 94b0bd25fe27..373b7b89d1bd 100644 --- a/clients/client-securityhub/pagination/GetInsightsPaginator.ts +++ b/clients/client-securityhub/pagination/GetInsightsPaginator.ts @@ -29,7 +29,7 @@ export async function* getInsightsPaginate( let hasNext = true; let page: GetInsightsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecurityHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getInsightsPaginate( throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-securityhub/pagination/ListEnabledProductsForImportPaginator.ts b/clients/client-securityhub/pagination/ListEnabledProductsForImportPaginator.ts index e344d1751743..1bf664073bc7 100644 --- a/clients/client-securityhub/pagination/ListEnabledProductsForImportPaginator.ts +++ b/clients/client-securityhub/pagination/ListEnabledProductsForImportPaginator.ts @@ -33,7 +33,7 @@ export async function* listEnabledProductsForImportPaginate( let hasNext = true; let page: ListEnabledProductsForImportCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecurityHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEnabledProductsForImportPaginate( throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-securityhub/pagination/ListInvitationsPaginator.ts b/clients/client-securityhub/pagination/ListInvitationsPaginator.ts index 63763b6b6e04..f0920107b5a2 100644 --- a/clients/client-securityhub/pagination/ListInvitationsPaginator.ts +++ b/clients/client-securityhub/pagination/ListInvitationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listInvitationsPaginate( let hasNext = true; let page: ListInvitationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecurityHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInvitationsPaginate( throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-securityhub/pagination/ListMembersPaginator.ts b/clients/client-securityhub/pagination/ListMembersPaginator.ts index 8f72c52faea6..1e9fc74726b9 100644 --- a/clients/client-securityhub/pagination/ListMembersPaginator.ts +++ b/clients/client-securityhub/pagination/ListMembersPaginator.ts @@ -29,7 +29,7 @@ export async function* listMembersPaginate( let hasNext = true; let page: ListMembersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SecurityHub) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listMembersPaginate( throw new Error("Invalid client, expected SecurityHub | SecurityHubClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-serverlessapplicationrepository/pagination/ListApplicationDependenciesPaginator.ts b/clients/client-serverlessapplicationrepository/pagination/ListApplicationDependenciesPaginator.ts index f05f090a7b4c..15aa05c16113 100644 --- a/clients/client-serverlessapplicationrepository/pagination/ListApplicationDependenciesPaginator.ts +++ b/clients/client-serverlessapplicationrepository/pagination/ListApplicationDependenciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listApplicationDependenciesPaginate( let hasNext = true; let page: ListApplicationDependenciesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxItems"] = config.pageSize; if (config.client instanceof ServerlessApplicationRepository) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -45,7 +45,7 @@ export async function* listApplicationDependenciesPaginate( ); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-serverlessapplicationrepository/pagination/ListApplicationVersionsPaginator.ts b/clients/client-serverlessapplicationrepository/pagination/ListApplicationVersionsPaginator.ts index 01a6e02a7479..fb2f832bf980 100644 --- a/clients/client-serverlessapplicationrepository/pagination/ListApplicationVersionsPaginator.ts +++ b/clients/client-serverlessapplicationrepository/pagination/ListApplicationVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listApplicationVersionsPaginate( let hasNext = true; let page: ListApplicationVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxItems"] = config.pageSize; if (config.client instanceof ServerlessApplicationRepository) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -45,7 +45,7 @@ export async function* listApplicationVersionsPaginate( ); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-serverlessapplicationrepository/pagination/ListApplicationsPaginator.ts b/clients/client-serverlessapplicationrepository/pagination/ListApplicationsPaginator.ts index 68adfc71498b..c54bc359923b 100644 --- a/clients/client-serverlessapplicationrepository/pagination/ListApplicationsPaginator.ts +++ b/clients/client-serverlessapplicationrepository/pagination/ListApplicationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listApplicationsPaginate( let hasNext = true; let page: ListApplicationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxItems"] = config.pageSize; if (config.client instanceof ServerlessApplicationRepository) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -45,7 +45,7 @@ export async function* listApplicationsPaginate( ); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/GetProvisionedProductOutputsPaginator.ts b/clients/client-service-catalog/pagination/GetProvisionedProductOutputsPaginator.ts index 165492024f94..51098574a14b 100644 --- a/clients/client-service-catalog/pagination/GetProvisionedProductOutputsPaginator.ts +++ b/clients/client-service-catalog/pagination/GetProvisionedProductOutputsPaginator.ts @@ -33,7 +33,7 @@ export async function* getProvisionedProductOutputsPaginate( let hasNext = true; let page: GetProvisionedProductOutputsCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getProvisionedProductOutputsPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListAcceptedPortfolioSharesPaginator.ts b/clients/client-service-catalog/pagination/ListAcceptedPortfolioSharesPaginator.ts index 6639bb5e9e9d..010779a24313 100644 --- a/clients/client-service-catalog/pagination/ListAcceptedPortfolioSharesPaginator.ts +++ b/clients/client-service-catalog/pagination/ListAcceptedPortfolioSharesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAcceptedPortfolioSharesPaginate( let hasNext = true; let page: ListAcceptedPortfolioSharesCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAcceptedPortfolioSharesPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListBudgetsForResourcePaginator.ts b/clients/client-service-catalog/pagination/ListBudgetsForResourcePaginator.ts index 27df491c14a8..6aaa36b34946 100644 --- a/clients/client-service-catalog/pagination/ListBudgetsForResourcePaginator.ts +++ b/clients/client-service-catalog/pagination/ListBudgetsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listBudgetsForResourcePaginate( let hasNext = true; let page: ListBudgetsForResourceCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBudgetsForResourcePaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListConstraintsForPortfolioPaginator.ts b/clients/client-service-catalog/pagination/ListConstraintsForPortfolioPaginator.ts index d6714fd450df..f5214c435390 100644 --- a/clients/client-service-catalog/pagination/ListConstraintsForPortfolioPaginator.ts +++ b/clients/client-service-catalog/pagination/ListConstraintsForPortfolioPaginator.ts @@ -33,7 +33,7 @@ export async function* listConstraintsForPortfolioPaginate( let hasNext = true; let page: ListConstraintsForPortfolioCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConstraintsForPortfolioPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListLaunchPathsPaginator.ts b/clients/client-service-catalog/pagination/ListLaunchPathsPaginator.ts index 00066902e3ab..c0f95b564323 100644 --- a/clients/client-service-catalog/pagination/ListLaunchPathsPaginator.ts +++ b/clients/client-service-catalog/pagination/ListLaunchPathsPaginator.ts @@ -33,7 +33,7 @@ export async function* listLaunchPathsPaginate( let hasNext = true; let page: ListLaunchPathsCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listLaunchPathsPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListOrganizationPortfolioAccessPaginator.ts b/clients/client-service-catalog/pagination/ListOrganizationPortfolioAccessPaginator.ts index a4c583a1223b..563412793100 100644 --- a/clients/client-service-catalog/pagination/ListOrganizationPortfolioAccessPaginator.ts +++ b/clients/client-service-catalog/pagination/ListOrganizationPortfolioAccessPaginator.ts @@ -33,7 +33,7 @@ export async function* listOrganizationPortfolioAccessPaginate( let hasNext = true; let page: ListOrganizationPortfolioAccessCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOrganizationPortfolioAccessPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListPortfolioAccessPaginator.ts b/clients/client-service-catalog/pagination/ListPortfolioAccessPaginator.ts index d0ffdace6aa0..ed38954e7d61 100644 --- a/clients/client-service-catalog/pagination/ListPortfolioAccessPaginator.ts +++ b/clients/client-service-catalog/pagination/ListPortfolioAccessPaginator.ts @@ -33,7 +33,7 @@ export async function* listPortfolioAccessPaginate( let hasNext = true; let page: ListPortfolioAccessCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPortfolioAccessPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListPortfoliosForProductPaginator.ts b/clients/client-service-catalog/pagination/ListPortfoliosForProductPaginator.ts index 4e2e56e4d832..e77cba14b462 100644 --- a/clients/client-service-catalog/pagination/ListPortfoliosForProductPaginator.ts +++ b/clients/client-service-catalog/pagination/ListPortfoliosForProductPaginator.ts @@ -33,7 +33,7 @@ export async function* listPortfoliosForProductPaginate( let hasNext = true; let page: ListPortfoliosForProductCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPortfoliosForProductPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListPortfoliosPaginator.ts b/clients/client-service-catalog/pagination/ListPortfoliosPaginator.ts index 37c8296fdc54..bfa8ad962c6e 100644 --- a/clients/client-service-catalog/pagination/ListPortfoliosPaginator.ts +++ b/clients/client-service-catalog/pagination/ListPortfoliosPaginator.ts @@ -33,7 +33,7 @@ export async function* listPortfoliosPaginate( let hasNext = true; let page: ListPortfoliosCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPortfoliosPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListPrincipalsForPortfolioPaginator.ts b/clients/client-service-catalog/pagination/ListPrincipalsForPortfolioPaginator.ts index 07c17231424d..c9dae48a8008 100644 --- a/clients/client-service-catalog/pagination/ListPrincipalsForPortfolioPaginator.ts +++ b/clients/client-service-catalog/pagination/ListPrincipalsForPortfolioPaginator.ts @@ -33,7 +33,7 @@ export async function* listPrincipalsForPortfolioPaginate( let hasNext = true; let page: ListPrincipalsForPortfolioCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPrincipalsForPortfolioPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListProvisioningArtifactsForServiceActionPaginator.ts b/clients/client-service-catalog/pagination/ListProvisioningArtifactsForServiceActionPaginator.ts index 146bd0bdd675..b60ee82968bb 100644 --- a/clients/client-service-catalog/pagination/ListProvisioningArtifactsForServiceActionPaginator.ts +++ b/clients/client-service-catalog/pagination/ListProvisioningArtifactsForServiceActionPaginator.ts @@ -33,7 +33,7 @@ export async function* listProvisioningArtifactsForServiceActionPaginate( let hasNext = true; let page: ListProvisioningArtifactsForServiceActionCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProvisioningArtifactsForServiceActionPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListResourcesForTagOptionPaginator.ts b/clients/client-service-catalog/pagination/ListResourcesForTagOptionPaginator.ts index 2ff973856222..5b397ed3abcd 100644 --- a/clients/client-service-catalog/pagination/ListResourcesForTagOptionPaginator.ts +++ b/clients/client-service-catalog/pagination/ListResourcesForTagOptionPaginator.ts @@ -33,7 +33,7 @@ export async function* listResourcesForTagOptionPaginate( let hasNext = true; let page: ListResourcesForTagOptionCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResourcesForTagOptionPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["PageToken"]; + token = page.PageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListServiceActionsForProvisioningArtifactPaginator.ts b/clients/client-service-catalog/pagination/ListServiceActionsForProvisioningArtifactPaginator.ts index 66464c23b073..79fc633b064e 100644 --- a/clients/client-service-catalog/pagination/ListServiceActionsForProvisioningArtifactPaginator.ts +++ b/clients/client-service-catalog/pagination/ListServiceActionsForProvisioningArtifactPaginator.ts @@ -33,7 +33,7 @@ export async function* listServiceActionsForProvisioningArtifactPaginate( let hasNext = true; let page: ListServiceActionsForProvisioningArtifactCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listServiceActionsForProvisioningArtifactPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListServiceActionsPaginator.ts b/clients/client-service-catalog/pagination/ListServiceActionsPaginator.ts index 72dcfeb45161..55f258315127 100644 --- a/clients/client-service-catalog/pagination/ListServiceActionsPaginator.ts +++ b/clients/client-service-catalog/pagination/ListServiceActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listServiceActionsPaginate( let hasNext = true; let page: ListServiceActionsCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listServiceActionsPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/ListTagOptionsPaginator.ts b/clients/client-service-catalog/pagination/ListTagOptionsPaginator.ts index 92459139378b..cdcfdbf0dd51 100644 --- a/clients/client-service-catalog/pagination/ListTagOptionsPaginator.ts +++ b/clients/client-service-catalog/pagination/ListTagOptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTagOptionsPaginate( let hasNext = true; let page: ListTagOptionsCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagOptionsPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["PageToken"]; + token = page.PageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/SearchProductsAsAdminPaginator.ts b/clients/client-service-catalog/pagination/SearchProductsAsAdminPaginator.ts index d729a569fd04..cb75fd256eee 100644 --- a/clients/client-service-catalog/pagination/SearchProductsAsAdminPaginator.ts +++ b/clients/client-service-catalog/pagination/SearchProductsAsAdminPaginator.ts @@ -33,7 +33,7 @@ export async function* searchProductsAsAdminPaginate( let hasNext = true; let page: SearchProductsAsAdminCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchProductsAsAdminPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/SearchProductsPaginator.ts b/clients/client-service-catalog/pagination/SearchProductsPaginator.ts index 1ab0d75fb435..270e691c553c 100644 --- a/clients/client-service-catalog/pagination/SearchProductsPaginator.ts +++ b/clients/client-service-catalog/pagination/SearchProductsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchProductsPaginate( let hasNext = true; let page: SearchProductsCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchProductsPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-catalog/pagination/SearchProvisionedProductsPaginator.ts b/clients/client-service-catalog/pagination/SearchProvisionedProductsPaginator.ts index eafb76e406f8..47a8d5bee331 100644 --- a/clients/client-service-catalog/pagination/SearchProvisionedProductsPaginator.ts +++ b/clients/client-service-catalog/pagination/SearchProvisionedProductsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchProvisionedProductsPaginate( let hasNext = true; let page: SearchProvisionedProductsCommandOutput; while (hasNext) { - input["PageToken"] = token; + input.PageToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof ServiceCatalog) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchProvisionedProductsPaginate( throw new Error("Invalid client, expected ServiceCatalog | ServiceCatalogClient"); } yield page; - token = page["NextPageToken"]; + token = page.NextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-quotas/pagination/ListAWSDefaultServiceQuotasPaginator.ts b/clients/client-service-quotas/pagination/ListAWSDefaultServiceQuotasPaginator.ts index 17366569e41e..4c376c22d09a 100644 --- a/clients/client-service-quotas/pagination/ListAWSDefaultServiceQuotasPaginator.ts +++ b/clients/client-service-quotas/pagination/ListAWSDefaultServiceQuotasPaginator.ts @@ -33,7 +33,7 @@ export async function* listAWSDefaultServiceQuotasPaginate( let hasNext = true; let page: ListAWSDefaultServiceQuotasCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceQuotas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAWSDefaultServiceQuotasPaginate( throw new Error("Invalid client, expected ServiceQuotas | ServiceQuotasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-quotas/pagination/ListRequestedServiceQuotaChangeHistoryByQuotaPaginator.ts b/clients/client-service-quotas/pagination/ListRequestedServiceQuotaChangeHistoryByQuotaPaginator.ts index e8278f840080..5c2c749662f3 100644 --- a/clients/client-service-quotas/pagination/ListRequestedServiceQuotaChangeHistoryByQuotaPaginator.ts +++ b/clients/client-service-quotas/pagination/ListRequestedServiceQuotaChangeHistoryByQuotaPaginator.ts @@ -33,7 +33,7 @@ export async function* listRequestedServiceQuotaChangeHistoryByQuotaPaginate( let hasNext = true; let page: ListRequestedServiceQuotaChangeHistoryByQuotaCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceQuotas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRequestedServiceQuotaChangeHistoryByQuotaPaginate( throw new Error("Invalid client, expected ServiceQuotas | ServiceQuotasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-quotas/pagination/ListRequestedServiceQuotaChangeHistoryPaginator.ts b/clients/client-service-quotas/pagination/ListRequestedServiceQuotaChangeHistoryPaginator.ts index 3c6d219627a9..8e6a27b71287 100644 --- a/clients/client-service-quotas/pagination/ListRequestedServiceQuotaChangeHistoryPaginator.ts +++ b/clients/client-service-quotas/pagination/ListRequestedServiceQuotaChangeHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* listRequestedServiceQuotaChangeHistoryPaginate( let hasNext = true; let page: ListRequestedServiceQuotaChangeHistoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceQuotas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listRequestedServiceQuotaChangeHistoryPaginate( throw new Error("Invalid client, expected ServiceQuotas | ServiceQuotasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-quotas/pagination/ListServiceQuotaIncreaseRequestsInTemplatePaginator.ts b/clients/client-service-quotas/pagination/ListServiceQuotaIncreaseRequestsInTemplatePaginator.ts index e89648d83111..c2b8aef6bcc3 100644 --- a/clients/client-service-quotas/pagination/ListServiceQuotaIncreaseRequestsInTemplatePaginator.ts +++ b/clients/client-service-quotas/pagination/ListServiceQuotaIncreaseRequestsInTemplatePaginator.ts @@ -33,7 +33,7 @@ export async function* listServiceQuotaIncreaseRequestsInTemplatePaginate( let hasNext = true; let page: ListServiceQuotaIncreaseRequestsInTemplateCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceQuotas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listServiceQuotaIncreaseRequestsInTemplatePaginate( throw new Error("Invalid client, expected ServiceQuotas | ServiceQuotasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-quotas/pagination/ListServiceQuotasPaginator.ts b/clients/client-service-quotas/pagination/ListServiceQuotasPaginator.ts index a231a4cc70f0..d9236fec73c2 100644 --- a/clients/client-service-quotas/pagination/ListServiceQuotasPaginator.ts +++ b/clients/client-service-quotas/pagination/ListServiceQuotasPaginator.ts @@ -33,7 +33,7 @@ export async function* listServiceQuotasPaginate( let hasNext = true; let page: ListServiceQuotasCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceQuotas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listServiceQuotasPaginate( throw new Error("Invalid client, expected ServiceQuotas | ServiceQuotasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-service-quotas/pagination/ListServicesPaginator.ts b/clients/client-service-quotas/pagination/ListServicesPaginator.ts index 7c1008fb971d..0680ada7de2d 100644 --- a/clients/client-service-quotas/pagination/ListServicesPaginator.ts +++ b/clients/client-service-quotas/pagination/ListServicesPaginator.ts @@ -33,7 +33,7 @@ export async function* listServicesPaginate( let hasNext = true; let page: ListServicesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceQuotas) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listServicesPaginate( throw new Error("Invalid client, expected ServiceQuotas | ServiceQuotasClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-servicediscovery/pagination/GetInstancesHealthStatusPaginator.ts b/clients/client-servicediscovery/pagination/GetInstancesHealthStatusPaginator.ts index 939c35e2a5bd..3a595947d1b0 100644 --- a/clients/client-servicediscovery/pagination/GetInstancesHealthStatusPaginator.ts +++ b/clients/client-servicediscovery/pagination/GetInstancesHealthStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* getInstancesHealthStatusPaginate( let hasNext = true; let page: GetInstancesHealthStatusCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceDiscovery) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getInstancesHealthStatusPaginate( throw new Error("Invalid client, expected ServiceDiscovery | ServiceDiscoveryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-servicediscovery/pagination/ListInstancesPaginator.ts b/clients/client-servicediscovery/pagination/ListInstancesPaginator.ts index d65beeff23cd..55b9f5068ad7 100644 --- a/clients/client-servicediscovery/pagination/ListInstancesPaginator.ts +++ b/clients/client-servicediscovery/pagination/ListInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* listInstancesPaginate( let hasNext = true; let page: ListInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceDiscovery) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInstancesPaginate( throw new Error("Invalid client, expected ServiceDiscovery | ServiceDiscoveryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-servicediscovery/pagination/ListNamespacesPaginator.ts b/clients/client-servicediscovery/pagination/ListNamespacesPaginator.ts index e447736fa42a..a26bedd6637a 100644 --- a/clients/client-servicediscovery/pagination/ListNamespacesPaginator.ts +++ b/clients/client-servicediscovery/pagination/ListNamespacesPaginator.ts @@ -33,7 +33,7 @@ export async function* listNamespacesPaginate( let hasNext = true; let page: ListNamespacesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceDiscovery) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listNamespacesPaginate( throw new Error("Invalid client, expected ServiceDiscovery | ServiceDiscoveryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-servicediscovery/pagination/ListOperationsPaginator.ts b/clients/client-servicediscovery/pagination/ListOperationsPaginator.ts index 52806b2ef58b..0eff96699e3d 100644 --- a/clients/client-servicediscovery/pagination/ListOperationsPaginator.ts +++ b/clients/client-servicediscovery/pagination/ListOperationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOperationsPaginate( let hasNext = true; let page: ListOperationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceDiscovery) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOperationsPaginate( throw new Error("Invalid client, expected ServiceDiscovery | ServiceDiscoveryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-servicediscovery/pagination/ListServicesPaginator.ts b/clients/client-servicediscovery/pagination/ListServicesPaginator.ts index 7ed4037c34f3..ca9ab490eaa3 100644 --- a/clients/client-servicediscovery/pagination/ListServicesPaginator.ts +++ b/clients/client-servicediscovery/pagination/ListServicesPaginator.ts @@ -33,7 +33,7 @@ export async function* listServicesPaginate( let hasNext = true; let page: ListServicesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ServiceDiscovery) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listServicesPaginate( throw new Error("Invalid client, expected ServiceDiscovery | ServiceDiscoveryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ses/pagination/ListCustomVerificationEmailTemplatesPaginator.ts b/clients/client-ses/pagination/ListCustomVerificationEmailTemplatesPaginator.ts index ee6a4030efef..a2392d386ec8 100644 --- a/clients/client-ses/pagination/ListCustomVerificationEmailTemplatesPaginator.ts +++ b/clients/client-ses/pagination/ListCustomVerificationEmailTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listCustomVerificationEmailTemplatesPaginate( let hasNext = true; let page: ListCustomVerificationEmailTemplatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SES) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCustomVerificationEmailTemplatesPaginate( throw new Error("Invalid client, expected SES | SESClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ses/pagination/ListIdentitiesPaginator.ts b/clients/client-ses/pagination/ListIdentitiesPaginator.ts index 18f2ca005052..a293ae3f3a68 100644 --- a/clients/client-ses/pagination/ListIdentitiesPaginator.ts +++ b/clients/client-ses/pagination/ListIdentitiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listIdentitiesPaginate( let hasNext = true; let page: ListIdentitiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxItems"] = config.pageSize; if (config.client instanceof SES) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listIdentitiesPaginate( throw new Error("Invalid client, expected SES | SESClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sesv2/pagination/GetDedicatedIpsPaginator.ts b/clients/client-sesv2/pagination/GetDedicatedIpsPaginator.ts index f9875731d5de..a81fee447a1d 100644 --- a/clients/client-sesv2/pagination/GetDedicatedIpsPaginator.ts +++ b/clients/client-sesv2/pagination/GetDedicatedIpsPaginator.ts @@ -33,7 +33,7 @@ export async function* getDedicatedIpsPaginate( let hasNext = true; let page: GetDedicatedIpsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof SESv2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getDedicatedIpsPaginate( throw new Error("Invalid client, expected SESv2 | SESv2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sesv2/pagination/ListConfigurationSetsPaginator.ts b/clients/client-sesv2/pagination/ListConfigurationSetsPaginator.ts index cf9ebd11aec3..73bca2c95534 100644 --- a/clients/client-sesv2/pagination/ListConfigurationSetsPaginator.ts +++ b/clients/client-sesv2/pagination/ListConfigurationSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listConfigurationSetsPaginate( let hasNext = true; let page: ListConfigurationSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof SESv2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConfigurationSetsPaginate( throw new Error("Invalid client, expected SESv2 | SESv2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sesv2/pagination/ListCustomVerificationEmailTemplatesPaginator.ts b/clients/client-sesv2/pagination/ListCustomVerificationEmailTemplatesPaginator.ts index be087872c36c..3bc767777e34 100644 --- a/clients/client-sesv2/pagination/ListCustomVerificationEmailTemplatesPaginator.ts +++ b/clients/client-sesv2/pagination/ListCustomVerificationEmailTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listCustomVerificationEmailTemplatesPaginate( let hasNext = true; let page: ListCustomVerificationEmailTemplatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof SESv2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCustomVerificationEmailTemplatesPaginate( throw new Error("Invalid client, expected SESv2 | SESv2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sesv2/pagination/ListDedicatedIpPoolsPaginator.ts b/clients/client-sesv2/pagination/ListDedicatedIpPoolsPaginator.ts index a2c5706deebc..708472ff7cf2 100644 --- a/clients/client-sesv2/pagination/ListDedicatedIpPoolsPaginator.ts +++ b/clients/client-sesv2/pagination/ListDedicatedIpPoolsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDedicatedIpPoolsPaginate( let hasNext = true; let page: ListDedicatedIpPoolsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof SESv2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDedicatedIpPoolsPaginate( throw new Error("Invalid client, expected SESv2 | SESv2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sesv2/pagination/ListDeliverabilityTestReportsPaginator.ts b/clients/client-sesv2/pagination/ListDeliverabilityTestReportsPaginator.ts index 265e777ccec6..236625f902ba 100644 --- a/clients/client-sesv2/pagination/ListDeliverabilityTestReportsPaginator.ts +++ b/clients/client-sesv2/pagination/ListDeliverabilityTestReportsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeliverabilityTestReportsPaginate( let hasNext = true; let page: ListDeliverabilityTestReportsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof SESv2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDeliverabilityTestReportsPaginate( throw new Error("Invalid client, expected SESv2 | SESv2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sesv2/pagination/ListDomainDeliverabilityCampaignsPaginator.ts b/clients/client-sesv2/pagination/ListDomainDeliverabilityCampaignsPaginator.ts index d038faf37404..d688cc467958 100644 --- a/clients/client-sesv2/pagination/ListDomainDeliverabilityCampaignsPaginator.ts +++ b/clients/client-sesv2/pagination/ListDomainDeliverabilityCampaignsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDomainDeliverabilityCampaignsPaginate( let hasNext = true; let page: ListDomainDeliverabilityCampaignsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof SESv2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDomainDeliverabilityCampaignsPaginate( throw new Error("Invalid client, expected SESv2 | SESv2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sesv2/pagination/ListEmailIdentitiesPaginator.ts b/clients/client-sesv2/pagination/ListEmailIdentitiesPaginator.ts index 0c156b7d3270..b15690f4af10 100644 --- a/clients/client-sesv2/pagination/ListEmailIdentitiesPaginator.ts +++ b/clients/client-sesv2/pagination/ListEmailIdentitiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listEmailIdentitiesPaginate( let hasNext = true; let page: ListEmailIdentitiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof SESv2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEmailIdentitiesPaginate( throw new Error("Invalid client, expected SESv2 | SESv2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sesv2/pagination/ListEmailTemplatesPaginator.ts b/clients/client-sesv2/pagination/ListEmailTemplatesPaginator.ts index 77e9fe6adc43..ce99c7b319c5 100644 --- a/clients/client-sesv2/pagination/ListEmailTemplatesPaginator.ts +++ b/clients/client-sesv2/pagination/ListEmailTemplatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listEmailTemplatesPaginate( let hasNext = true; let page: ListEmailTemplatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof SESv2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEmailTemplatesPaginate( throw new Error("Invalid client, expected SESv2 | SESv2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sesv2/pagination/ListImportJobsPaginator.ts b/clients/client-sesv2/pagination/ListImportJobsPaginator.ts index 84b33a6c4511..e9ed381e3c60 100644 --- a/clients/client-sesv2/pagination/ListImportJobsPaginator.ts +++ b/clients/client-sesv2/pagination/ListImportJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listImportJobsPaginate( let hasNext = true; let page: ListImportJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof SESv2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listImportJobsPaginate( throw new Error("Invalid client, expected SESv2 | SESv2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sesv2/pagination/ListSuppressedDestinationsPaginator.ts b/clients/client-sesv2/pagination/ListSuppressedDestinationsPaginator.ts index 56beb87fb216..1bd82b66ece7 100644 --- a/clients/client-sesv2/pagination/ListSuppressedDestinationsPaginator.ts +++ b/clients/client-sesv2/pagination/ListSuppressedDestinationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSuppressedDestinationsPaginate( let hasNext = true; let page: ListSuppressedDestinationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["PageSize"] = config.pageSize; if (config.client instanceof SESv2) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSuppressedDestinationsPaginate( throw new Error("Invalid client, expected SESv2 | SESv2Client"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sfn/pagination/GetExecutionHistoryPaginator.ts b/clients/client-sfn/pagination/GetExecutionHistoryPaginator.ts index 202277f3485e..eb3afc94d428 100644 --- a/clients/client-sfn/pagination/GetExecutionHistoryPaginator.ts +++ b/clients/client-sfn/pagination/GetExecutionHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* getExecutionHistoryPaginate( let hasNext = true; let page: GetExecutionHistoryCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof SFN) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getExecutionHistoryPaginate( throw new Error("Invalid client, expected SFN | SFNClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sfn/pagination/ListActivitiesPaginator.ts b/clients/client-sfn/pagination/ListActivitiesPaginator.ts index bd6f2a613496..e6363aef03d7 100644 --- a/clients/client-sfn/pagination/ListActivitiesPaginator.ts +++ b/clients/client-sfn/pagination/ListActivitiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listActivitiesPaginate( let hasNext = true; let page: ListActivitiesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof SFN) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listActivitiesPaginate( throw new Error("Invalid client, expected SFN | SFNClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sfn/pagination/ListExecutionsPaginator.ts b/clients/client-sfn/pagination/ListExecutionsPaginator.ts index 6445bb5038b4..4b79b041ea2b 100644 --- a/clients/client-sfn/pagination/ListExecutionsPaginator.ts +++ b/clients/client-sfn/pagination/ListExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listExecutionsPaginate( let hasNext = true; let page: ListExecutionsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof SFN) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listExecutionsPaginate( throw new Error("Invalid client, expected SFN | SFNClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sfn/pagination/ListStateMachinesPaginator.ts b/clients/client-sfn/pagination/ListStateMachinesPaginator.ts index dc242c2fae70..180266b999c7 100644 --- a/clients/client-sfn/pagination/ListStateMachinesPaginator.ts +++ b/clients/client-sfn/pagination/ListStateMachinesPaginator.ts @@ -33,7 +33,7 @@ export async function* listStateMachinesPaginate( let hasNext = true; let page: ListStateMachinesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof SFN) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listStateMachinesPaginate( throw new Error("Invalid client, expected SFN | SFNClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-shield/pagination/ListAttacksPaginator.ts b/clients/client-shield/pagination/ListAttacksPaginator.ts index 8c6088435bb4..be82f3a640a2 100644 --- a/clients/client-shield/pagination/ListAttacksPaginator.ts +++ b/clients/client-shield/pagination/ListAttacksPaginator.ts @@ -29,7 +29,7 @@ export async function* listAttacksPaginate( let hasNext = true; let page: ListAttacksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Shield) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listAttacksPaginate( throw new Error("Invalid client, expected Shield | ShieldClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-shield/pagination/ListProtectionsPaginator.ts b/clients/client-shield/pagination/ListProtectionsPaginator.ts index 0bc1588b92ea..999d0b799dd1 100644 --- a/clients/client-shield/pagination/ListProtectionsPaginator.ts +++ b/clients/client-shield/pagination/ListProtectionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProtectionsPaginate( let hasNext = true; let page: ListProtectionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Shield) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProtectionsPaginate( throw new Error("Invalid client, expected Shield | ShieldClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-signer/pagination/ListSigningJobsPaginator.ts b/clients/client-signer/pagination/ListSigningJobsPaginator.ts index ab9cc49012de..dd111ba569ab 100644 --- a/clients/client-signer/pagination/ListSigningJobsPaginator.ts +++ b/clients/client-signer/pagination/ListSigningJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSigningJobsPaginate( let hasNext = true; let page: ListSigningJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Signer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSigningJobsPaginate( throw new Error("Invalid client, expected Signer | SignerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-signer/pagination/ListSigningPlatformsPaginator.ts b/clients/client-signer/pagination/ListSigningPlatformsPaginator.ts index 0fccbeb4f1b5..2c44cdf6fe11 100644 --- a/clients/client-signer/pagination/ListSigningPlatformsPaginator.ts +++ b/clients/client-signer/pagination/ListSigningPlatformsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSigningPlatformsPaginate( let hasNext = true; let page: ListSigningPlatformsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Signer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSigningPlatformsPaginate( throw new Error("Invalid client, expected Signer | SignerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-signer/pagination/ListSigningProfilesPaginator.ts b/clients/client-signer/pagination/ListSigningProfilesPaginator.ts index 9c2ea8a91f03..6cc159af9b53 100644 --- a/clients/client-signer/pagination/ListSigningProfilesPaginator.ts +++ b/clients/client-signer/pagination/ListSigningProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSigningProfilesPaginate( let hasNext = true; let page: ListSigningProfilesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Signer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSigningProfilesPaginate( throw new Error("Invalid client, expected Signer | SignerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sms/pagination/GetConnectorsPaginator.ts b/clients/client-sms/pagination/GetConnectorsPaginator.ts index 22915bba69bf..403cc9ff5c8d 100644 --- a/clients/client-sms/pagination/GetConnectorsPaginator.ts +++ b/clients/client-sms/pagination/GetConnectorsPaginator.ts @@ -33,7 +33,7 @@ export async function* getConnectorsPaginate( let hasNext = true; let page: GetConnectorsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof SMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getConnectorsPaginate( throw new Error("Invalid client, expected SMS | SMSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sms/pagination/GetReplicationJobsPaginator.ts b/clients/client-sms/pagination/GetReplicationJobsPaginator.ts index 3726aeeea5e8..e7b99407892c 100644 --- a/clients/client-sms/pagination/GetReplicationJobsPaginator.ts +++ b/clients/client-sms/pagination/GetReplicationJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* getReplicationJobsPaginate( let hasNext = true; let page: GetReplicationJobsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof SMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getReplicationJobsPaginate( throw new Error("Invalid client, expected SMS | SMSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sms/pagination/GetReplicationRunsPaginator.ts b/clients/client-sms/pagination/GetReplicationRunsPaginator.ts index d728d357e8e5..c730b9c4900a 100644 --- a/clients/client-sms/pagination/GetReplicationRunsPaginator.ts +++ b/clients/client-sms/pagination/GetReplicationRunsPaginator.ts @@ -33,7 +33,7 @@ export async function* getReplicationRunsPaginate( let hasNext = true; let page: GetReplicationRunsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof SMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getReplicationRunsPaginate( throw new Error("Invalid client, expected SMS | SMSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sms/pagination/GetServersPaginator.ts b/clients/client-sms/pagination/GetServersPaginator.ts index bf94dffbec23..c43450788d0f 100644 --- a/clients/client-sms/pagination/GetServersPaginator.ts +++ b/clients/client-sms/pagination/GetServersPaginator.ts @@ -29,7 +29,7 @@ export async function* getServersPaginate( let hasNext = true; let page: GetServersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof SMS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* getServersPaginate( throw new Error("Invalid client, expected SMS | SMSClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-snowball/pagination/DescribeAddressesPaginator.ts b/clients/client-snowball/pagination/DescribeAddressesPaginator.ts index 8d4ed27fa354..e0d458152653 100644 --- a/clients/client-snowball/pagination/DescribeAddressesPaginator.ts +++ b/clients/client-snowball/pagination/DescribeAddressesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAddressesPaginate( let hasNext = true; let page: DescribeAddressesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Snowball) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAddressesPaginate( throw new Error("Invalid client, expected Snowball | SnowballClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-snowball/pagination/ListJobsPaginator.ts b/clients/client-snowball/pagination/ListJobsPaginator.ts index a1616e6f3282..3d42d2138771 100644 --- a/clients/client-snowball/pagination/ListJobsPaginator.ts +++ b/clients/client-snowball/pagination/ListJobsPaginator.ts @@ -29,7 +29,7 @@ export async function* listJobsPaginate( let hasNext = true; let page: ListJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Snowball) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listJobsPaginate( throw new Error("Invalid client, expected Snowball | SnowballClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sns/pagination/ListEndpointsByPlatformApplicationPaginator.ts b/clients/client-sns/pagination/ListEndpointsByPlatformApplicationPaginator.ts index 4c2de3f960c2..be92c5e030d4 100644 --- a/clients/client-sns/pagination/ListEndpointsByPlatformApplicationPaginator.ts +++ b/clients/client-sns/pagination/ListEndpointsByPlatformApplicationPaginator.ts @@ -33,7 +33,7 @@ export async function* listEndpointsByPlatformApplicationPaginate( let hasNext = true; let page: ListEndpointsByPlatformApplicationCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof SNS) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof SNSClient) { @@ -42,7 +42,7 @@ export async function* listEndpointsByPlatformApplicationPaginate( throw new Error("Invalid client, expected SNS | SNSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sns/pagination/ListPlatformApplicationsPaginator.ts b/clients/client-sns/pagination/ListPlatformApplicationsPaginator.ts index 7838ecefe328..46b1c9dbfa2f 100644 --- a/clients/client-sns/pagination/ListPlatformApplicationsPaginator.ts +++ b/clients/client-sns/pagination/ListPlatformApplicationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPlatformApplicationsPaginate( let hasNext = true; let page: ListPlatformApplicationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof SNS) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof SNSClient) { @@ -42,7 +42,7 @@ export async function* listPlatformApplicationsPaginate( throw new Error("Invalid client, expected SNS | SNSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sns/pagination/ListSubscriptionsByTopicPaginator.ts b/clients/client-sns/pagination/ListSubscriptionsByTopicPaginator.ts index 17b32d02b491..5aee20cbddc0 100644 --- a/clients/client-sns/pagination/ListSubscriptionsByTopicPaginator.ts +++ b/clients/client-sns/pagination/ListSubscriptionsByTopicPaginator.ts @@ -33,7 +33,7 @@ export async function* listSubscriptionsByTopicPaginate( let hasNext = true; let page: ListSubscriptionsByTopicCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof SNS) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof SNSClient) { @@ -42,7 +42,7 @@ export async function* listSubscriptionsByTopicPaginate( throw new Error("Invalid client, expected SNS | SNSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sns/pagination/ListSubscriptionsPaginator.ts b/clients/client-sns/pagination/ListSubscriptionsPaginator.ts index 2f9b98c55a86..1a7d39fe09f2 100644 --- a/clients/client-sns/pagination/ListSubscriptionsPaginator.ts +++ b/clients/client-sns/pagination/ListSubscriptionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listSubscriptionsPaginate( let hasNext = true; let page: ListSubscriptionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof SNS) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof SNSClient) { @@ -42,7 +42,7 @@ export async function* listSubscriptionsPaginate( throw new Error("Invalid client, expected SNS | SNSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sns/pagination/ListTopicsPaginator.ts b/clients/client-sns/pagination/ListTopicsPaginator.ts index 9a39c2512d13..7b9e0d07cd72 100644 --- a/clients/client-sns/pagination/ListTopicsPaginator.ts +++ b/clients/client-sns/pagination/ListTopicsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTopicsPaginate( let hasNext = true; let page: ListTopicsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof SNS) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof SNSClient) { @@ -38,7 +38,7 @@ export async function* listTopicsPaginate( throw new Error("Invalid client, expected SNS | SNSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sqs/pagination/ListDeadLetterSourceQueuesPaginator.ts b/clients/client-sqs/pagination/ListDeadLetterSourceQueuesPaginator.ts index 3f85ab50f9f0..61a20f23ca2b 100644 --- a/clients/client-sqs/pagination/ListDeadLetterSourceQueuesPaginator.ts +++ b/clients/client-sqs/pagination/ListDeadLetterSourceQueuesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeadLetterSourceQueuesPaginate( let hasNext = true; let page: ListDeadLetterSourceQueuesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SQS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDeadLetterSourceQueuesPaginate( throw new Error("Invalid client, expected SQS | SQSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sqs/pagination/ListQueuesPaginator.ts b/clients/client-sqs/pagination/ListQueuesPaginator.ts index 34b178fe65c4..1a2b7a315d0f 100644 --- a/clients/client-sqs/pagination/ListQueuesPaginator.ts +++ b/clients/client-sqs/pagination/ListQueuesPaginator.ts @@ -29,7 +29,7 @@ export async function* listQueuesPaginate( let hasNext = true; let page: ListQueuesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SQS) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listQueuesPaginate( throw new Error("Invalid client, expected SQS | SQSClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeActivationsPaginator.ts b/clients/client-ssm/pagination/DescribeActivationsPaginator.ts index 3151e7c9c599..b3655df7a4d4 100644 --- a/clients/client-ssm/pagination/DescribeActivationsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeActivationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeActivationsPaginate( let hasNext = true; let page: DescribeActivationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeActivationsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeAssociationExecutionTargetsPaginator.ts b/clients/client-ssm/pagination/DescribeAssociationExecutionTargetsPaginator.ts index c84a60f9a7d5..ed19409969df 100644 --- a/clients/client-ssm/pagination/DescribeAssociationExecutionTargetsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeAssociationExecutionTargetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAssociationExecutionTargetsPaginate( let hasNext = true; let page: DescribeAssociationExecutionTargetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAssociationExecutionTargetsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeAssociationExecutionsPaginator.ts b/clients/client-ssm/pagination/DescribeAssociationExecutionsPaginator.ts index 4371e35453e9..5aea32d5e4b1 100644 --- a/clients/client-ssm/pagination/DescribeAssociationExecutionsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeAssociationExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAssociationExecutionsPaginate( let hasNext = true; let page: DescribeAssociationExecutionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAssociationExecutionsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeAutomationExecutionsPaginator.ts b/clients/client-ssm/pagination/DescribeAutomationExecutionsPaginator.ts index 38f071a157ab..a8e3d52dd5a6 100644 --- a/clients/client-ssm/pagination/DescribeAutomationExecutionsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeAutomationExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAutomationExecutionsPaginate( let hasNext = true; let page: DescribeAutomationExecutionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAutomationExecutionsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeAutomationStepExecutionsPaginator.ts b/clients/client-ssm/pagination/DescribeAutomationStepExecutionsPaginator.ts index faede5434261..918864e8eae3 100644 --- a/clients/client-ssm/pagination/DescribeAutomationStepExecutionsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeAutomationStepExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAutomationStepExecutionsPaginate( let hasNext = true; let page: DescribeAutomationStepExecutionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAutomationStepExecutionsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeAvailablePatchesPaginator.ts b/clients/client-ssm/pagination/DescribeAvailablePatchesPaginator.ts index 796f3264a66f..a00c46d42cdf 100644 --- a/clients/client-ssm/pagination/DescribeAvailablePatchesPaginator.ts +++ b/clients/client-ssm/pagination/DescribeAvailablePatchesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeAvailablePatchesPaginate( let hasNext = true; let page: DescribeAvailablePatchesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeAvailablePatchesPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeEffectiveInstanceAssociationsPaginator.ts b/clients/client-ssm/pagination/DescribeEffectiveInstanceAssociationsPaginator.ts index 7702820aec3b..70e5ff4786b8 100644 --- a/clients/client-ssm/pagination/DescribeEffectiveInstanceAssociationsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeEffectiveInstanceAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeEffectiveInstanceAssociationsPaginate( let hasNext = true; let page: DescribeEffectiveInstanceAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEffectiveInstanceAssociationsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeEffectivePatchesForPatchBaselinePaginator.ts b/clients/client-ssm/pagination/DescribeEffectivePatchesForPatchBaselinePaginator.ts index 379814cff46f..0ac99fb01e29 100644 --- a/clients/client-ssm/pagination/DescribeEffectivePatchesForPatchBaselinePaginator.ts +++ b/clients/client-ssm/pagination/DescribeEffectivePatchesForPatchBaselinePaginator.ts @@ -33,7 +33,7 @@ export async function* describeEffectivePatchesForPatchBaselinePaginate( let hasNext = true; let page: DescribeEffectivePatchesForPatchBaselineCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeEffectivePatchesForPatchBaselinePaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeInstanceAssociationsStatusPaginator.ts b/clients/client-ssm/pagination/DescribeInstanceAssociationsStatusPaginator.ts index 19589bdb0bb3..82335fb55378 100644 --- a/clients/client-ssm/pagination/DescribeInstanceAssociationsStatusPaginator.ts +++ b/clients/client-ssm/pagination/DescribeInstanceAssociationsStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstanceAssociationsStatusPaginate( let hasNext = true; let page: DescribeInstanceAssociationsStatusCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstanceAssociationsStatusPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeInstanceInformationPaginator.ts b/clients/client-ssm/pagination/DescribeInstanceInformationPaginator.ts index 1676d474d9f7..0cfca8a11173 100644 --- a/clients/client-ssm/pagination/DescribeInstanceInformationPaginator.ts +++ b/clients/client-ssm/pagination/DescribeInstanceInformationPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstanceInformationPaginate( let hasNext = true; let page: DescribeInstanceInformationCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstanceInformationPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeInstancePatchStatesForPatchGroupPaginator.ts b/clients/client-ssm/pagination/DescribeInstancePatchStatesForPatchGroupPaginator.ts index 3fbf98250cc9..5d0a8e523698 100644 --- a/clients/client-ssm/pagination/DescribeInstancePatchStatesForPatchGroupPaginator.ts +++ b/clients/client-ssm/pagination/DescribeInstancePatchStatesForPatchGroupPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstancePatchStatesForPatchGroupPaginate( let hasNext = true; let page: DescribeInstancePatchStatesForPatchGroupCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstancePatchStatesForPatchGroupPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeInstancePatchStatesPaginator.ts b/clients/client-ssm/pagination/DescribeInstancePatchStatesPaginator.ts index bce305842c27..ae546d3abae0 100644 --- a/clients/client-ssm/pagination/DescribeInstancePatchStatesPaginator.ts +++ b/clients/client-ssm/pagination/DescribeInstancePatchStatesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstancePatchStatesPaginate( let hasNext = true; let page: DescribeInstancePatchStatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstancePatchStatesPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeInstancePatchesPaginator.ts b/clients/client-ssm/pagination/DescribeInstancePatchesPaginator.ts index 7c0067ad646d..705a16fa9f7a 100644 --- a/clients/client-ssm/pagination/DescribeInstancePatchesPaginator.ts +++ b/clients/client-ssm/pagination/DescribeInstancePatchesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInstancePatchesPaginate( let hasNext = true; let page: DescribeInstancePatchesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInstancePatchesPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeInventoryDeletionsPaginator.ts b/clients/client-ssm/pagination/DescribeInventoryDeletionsPaginator.ts index 2b9253a443d7..3c89a240378a 100644 --- a/clients/client-ssm/pagination/DescribeInventoryDeletionsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeInventoryDeletionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeInventoryDeletionsPaginate( let hasNext = true; let page: DescribeInventoryDeletionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeInventoryDeletionsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTaskInvocationsPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTaskInvocationsPaginator.ts index 6b44f113570d..05b004657de1 100644 --- a/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTaskInvocationsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTaskInvocationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMaintenanceWindowExecutionTaskInvocationsPaginate let hasNext = true; let page: DescribeMaintenanceWindowExecutionTaskInvocationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMaintenanceWindowExecutionTaskInvocationsPaginate throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTasksPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTasksPaginator.ts index a2afd278cfa8..f3c7a67dfb81 100644 --- a/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTasksPaginator.ts +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMaintenanceWindowExecutionTasksPaginate( let hasNext = true; let page: DescribeMaintenanceWindowExecutionTasksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMaintenanceWindowExecutionTasksPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionsPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionsPaginator.ts index 2222eb5c9b99..7c1ef790b212 100644 --- a/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMaintenanceWindowExecutionsPaginate( let hasNext = true; let page: DescribeMaintenanceWindowExecutionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMaintenanceWindowExecutionsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowSchedulePaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowSchedulePaginator.ts index 3cb4c65c6dda..cbe8ee652231 100644 --- a/clients/client-ssm/pagination/DescribeMaintenanceWindowSchedulePaginator.ts +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowSchedulePaginator.ts @@ -33,7 +33,7 @@ export async function* describeMaintenanceWindowSchedulePaginate( let hasNext = true; let page: DescribeMaintenanceWindowScheduleCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMaintenanceWindowSchedulePaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowTargetsPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowTargetsPaginator.ts index 038bfc112856..42dc9fd76233 100644 --- a/clients/client-ssm/pagination/DescribeMaintenanceWindowTargetsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowTargetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMaintenanceWindowTargetsPaginate( let hasNext = true; let page: DescribeMaintenanceWindowTargetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMaintenanceWindowTargetsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowTasksPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowTasksPaginator.ts index e618daa03d10..23269f49b7bf 100644 --- a/clients/client-ssm/pagination/DescribeMaintenanceWindowTasksPaginator.ts +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMaintenanceWindowTasksPaginate( let hasNext = true; let page: DescribeMaintenanceWindowTasksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMaintenanceWindowTasksPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowsForTargetPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowsForTargetPaginator.ts index 123e48618017..9ac50137c7b9 100644 --- a/clients/client-ssm/pagination/DescribeMaintenanceWindowsForTargetPaginator.ts +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowsForTargetPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMaintenanceWindowsForTargetPaginate( let hasNext = true; let page: DescribeMaintenanceWindowsForTargetCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMaintenanceWindowsForTargetPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeMaintenanceWindowsPaginator.ts b/clients/client-ssm/pagination/DescribeMaintenanceWindowsPaginator.ts index 96ec15a00977..b937e3cae051 100644 --- a/clients/client-ssm/pagination/DescribeMaintenanceWindowsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeMaintenanceWindowsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeMaintenanceWindowsPaginate( let hasNext = true; let page: DescribeMaintenanceWindowsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeMaintenanceWindowsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeOpsItemsPaginator.ts b/clients/client-ssm/pagination/DescribeOpsItemsPaginator.ts index 77c6ab18468b..71e5d7bb72d3 100644 --- a/clients/client-ssm/pagination/DescribeOpsItemsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeOpsItemsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeOpsItemsPaginate( let hasNext = true; let page: DescribeOpsItemsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeOpsItemsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeParametersPaginator.ts b/clients/client-ssm/pagination/DescribeParametersPaginator.ts index 589fbe616b78..986e6e166d88 100644 --- a/clients/client-ssm/pagination/DescribeParametersPaginator.ts +++ b/clients/client-ssm/pagination/DescribeParametersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeParametersPaginate( let hasNext = true; let page: DescribeParametersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeParametersPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribePatchBaselinesPaginator.ts b/clients/client-ssm/pagination/DescribePatchBaselinesPaginator.ts index 71933f470ef5..eb9716b24656 100644 --- a/clients/client-ssm/pagination/DescribePatchBaselinesPaginator.ts +++ b/clients/client-ssm/pagination/DescribePatchBaselinesPaginator.ts @@ -33,7 +33,7 @@ export async function* describePatchBaselinesPaginate( let hasNext = true; let page: DescribePatchBaselinesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePatchBaselinesPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribePatchGroupsPaginator.ts b/clients/client-ssm/pagination/DescribePatchGroupsPaginator.ts index 624fae743f37..5c65ac2ab702 100644 --- a/clients/client-ssm/pagination/DescribePatchGroupsPaginator.ts +++ b/clients/client-ssm/pagination/DescribePatchGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* describePatchGroupsPaginate( let hasNext = true; let page: DescribePatchGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePatchGroupsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribePatchPropertiesPaginator.ts b/clients/client-ssm/pagination/DescribePatchPropertiesPaginator.ts index 62752f2cedc7..799b0c47d776 100644 --- a/clients/client-ssm/pagination/DescribePatchPropertiesPaginator.ts +++ b/clients/client-ssm/pagination/DescribePatchPropertiesPaginator.ts @@ -33,7 +33,7 @@ export async function* describePatchPropertiesPaginate( let hasNext = true; let page: DescribePatchPropertiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describePatchPropertiesPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/DescribeSessionsPaginator.ts b/clients/client-ssm/pagination/DescribeSessionsPaginator.ts index 5be498877754..b4f475c35df0 100644 --- a/clients/client-ssm/pagination/DescribeSessionsPaginator.ts +++ b/clients/client-ssm/pagination/DescribeSessionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeSessionsPaginate( let hasNext = true; let page: DescribeSessionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeSessionsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/GetInventoryPaginator.ts b/clients/client-ssm/pagination/GetInventoryPaginator.ts index d278aa92555f..988037760d39 100644 --- a/clients/client-ssm/pagination/GetInventoryPaginator.ts +++ b/clients/client-ssm/pagination/GetInventoryPaginator.ts @@ -33,7 +33,7 @@ export async function* getInventoryPaginate( let hasNext = true; let page: GetInventoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getInventoryPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/GetInventorySchemaPaginator.ts b/clients/client-ssm/pagination/GetInventorySchemaPaginator.ts index edd876d7586f..e79eeb9f086e 100644 --- a/clients/client-ssm/pagination/GetInventorySchemaPaginator.ts +++ b/clients/client-ssm/pagination/GetInventorySchemaPaginator.ts @@ -33,7 +33,7 @@ export async function* getInventorySchemaPaginate( let hasNext = true; let page: GetInventorySchemaCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getInventorySchemaPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/GetOpsSummaryPaginator.ts b/clients/client-ssm/pagination/GetOpsSummaryPaginator.ts index 3382970d99a4..346520d7ee5d 100644 --- a/clients/client-ssm/pagination/GetOpsSummaryPaginator.ts +++ b/clients/client-ssm/pagination/GetOpsSummaryPaginator.ts @@ -33,7 +33,7 @@ export async function* getOpsSummaryPaginate( let hasNext = true; let page: GetOpsSummaryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getOpsSummaryPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/GetParameterHistoryPaginator.ts b/clients/client-ssm/pagination/GetParameterHistoryPaginator.ts index 2022dd08d498..f1f9ad2f2b6a 100644 --- a/clients/client-ssm/pagination/GetParameterHistoryPaginator.ts +++ b/clients/client-ssm/pagination/GetParameterHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* getParameterHistoryPaginate( let hasNext = true; let page: GetParameterHistoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getParameterHistoryPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/GetParametersByPathPaginator.ts b/clients/client-ssm/pagination/GetParametersByPathPaginator.ts index b816d45178a3..9510c730ab5d 100644 --- a/clients/client-ssm/pagination/GetParametersByPathPaginator.ts +++ b/clients/client-ssm/pagination/GetParametersByPathPaginator.ts @@ -33,7 +33,7 @@ export async function* getParametersByPathPaginate( let hasNext = true; let page: GetParametersByPathCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getParametersByPathPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/ListAssociationVersionsPaginator.ts b/clients/client-ssm/pagination/ListAssociationVersionsPaginator.ts index d3e36cc75204..bcd507298bf5 100644 --- a/clients/client-ssm/pagination/ListAssociationVersionsPaginator.ts +++ b/clients/client-ssm/pagination/ListAssociationVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAssociationVersionsPaginate( let hasNext = true; let page: ListAssociationVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAssociationVersionsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/ListAssociationsPaginator.ts b/clients/client-ssm/pagination/ListAssociationsPaginator.ts index f9f7f16a663c..1b231fb3167a 100644 --- a/clients/client-ssm/pagination/ListAssociationsPaginator.ts +++ b/clients/client-ssm/pagination/ListAssociationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAssociationsPaginate( let hasNext = true; let page: ListAssociationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAssociationsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/ListCommandInvocationsPaginator.ts b/clients/client-ssm/pagination/ListCommandInvocationsPaginator.ts index 60a061823b62..1ae3dd6882a8 100644 --- a/clients/client-ssm/pagination/ListCommandInvocationsPaginator.ts +++ b/clients/client-ssm/pagination/ListCommandInvocationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listCommandInvocationsPaginate( let hasNext = true; let page: ListCommandInvocationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCommandInvocationsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/ListCommandsPaginator.ts b/clients/client-ssm/pagination/ListCommandsPaginator.ts index 3e9cb6df318b..575a25ed8bb0 100644 --- a/clients/client-ssm/pagination/ListCommandsPaginator.ts +++ b/clients/client-ssm/pagination/ListCommandsPaginator.ts @@ -33,7 +33,7 @@ export async function* listCommandsPaginate( let hasNext = true; let page: ListCommandsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCommandsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/ListComplianceItemsPaginator.ts b/clients/client-ssm/pagination/ListComplianceItemsPaginator.ts index 2a2058d5786e..2ec424cd686f 100644 --- a/clients/client-ssm/pagination/ListComplianceItemsPaginator.ts +++ b/clients/client-ssm/pagination/ListComplianceItemsPaginator.ts @@ -33,7 +33,7 @@ export async function* listComplianceItemsPaginate( let hasNext = true; let page: ListComplianceItemsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listComplianceItemsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/ListComplianceSummariesPaginator.ts b/clients/client-ssm/pagination/ListComplianceSummariesPaginator.ts index 32e547f30ce2..ca6acb66e131 100644 --- a/clients/client-ssm/pagination/ListComplianceSummariesPaginator.ts +++ b/clients/client-ssm/pagination/ListComplianceSummariesPaginator.ts @@ -33,7 +33,7 @@ export async function* listComplianceSummariesPaginate( let hasNext = true; let page: ListComplianceSummariesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listComplianceSummariesPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/ListDocumentVersionsPaginator.ts b/clients/client-ssm/pagination/ListDocumentVersionsPaginator.ts index 557b36905b6d..48e931fefcf9 100644 --- a/clients/client-ssm/pagination/ListDocumentVersionsPaginator.ts +++ b/clients/client-ssm/pagination/ListDocumentVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDocumentVersionsPaginate( let hasNext = true; let page: ListDocumentVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDocumentVersionsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/ListDocumentsPaginator.ts b/clients/client-ssm/pagination/ListDocumentsPaginator.ts index 9e410195b6ee..aa1bec637def 100644 --- a/clients/client-ssm/pagination/ListDocumentsPaginator.ts +++ b/clients/client-ssm/pagination/ListDocumentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDocumentsPaginate( let hasNext = true; let page: ListDocumentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDocumentsPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/ListResourceComplianceSummariesPaginator.ts b/clients/client-ssm/pagination/ListResourceComplianceSummariesPaginator.ts index 918178c51b0c..2181d3e6004c 100644 --- a/clients/client-ssm/pagination/ListResourceComplianceSummariesPaginator.ts +++ b/clients/client-ssm/pagination/ListResourceComplianceSummariesPaginator.ts @@ -33,7 +33,7 @@ export async function* listResourceComplianceSummariesPaginate( let hasNext = true; let page: ListResourceComplianceSummariesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResourceComplianceSummariesPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-ssm/pagination/ListResourceDataSyncPaginator.ts b/clients/client-ssm/pagination/ListResourceDataSyncPaginator.ts index 210e7a27aad3..48560b2cec94 100644 --- a/clients/client-ssm/pagination/ListResourceDataSyncPaginator.ts +++ b/clients/client-ssm/pagination/ListResourceDataSyncPaginator.ts @@ -33,7 +33,7 @@ export async function* listResourceDataSyncPaginate( let hasNext = true; let page: ListResourceDataSyncCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResourceDataSyncPaginate( throw new Error("Invalid client, expected SSM | SSMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso-admin/pagination/ListAccountAssignmentCreationStatusPaginator.ts b/clients/client-sso-admin/pagination/ListAccountAssignmentCreationStatusPaginator.ts index 9aea64552a1c..97fe37e81ab3 100644 --- a/clients/client-sso-admin/pagination/ListAccountAssignmentCreationStatusPaginator.ts +++ b/clients/client-sso-admin/pagination/ListAccountAssignmentCreationStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountAssignmentCreationStatusPaginate( let hasNext = true; let page: ListAccountAssignmentCreationStatusCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSOAdmin) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountAssignmentCreationStatusPaginate( throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso-admin/pagination/ListAccountAssignmentDeletionStatusPaginator.ts b/clients/client-sso-admin/pagination/ListAccountAssignmentDeletionStatusPaginator.ts index 4210aad81cf3..e74325cfa743 100644 --- a/clients/client-sso-admin/pagination/ListAccountAssignmentDeletionStatusPaginator.ts +++ b/clients/client-sso-admin/pagination/ListAccountAssignmentDeletionStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountAssignmentDeletionStatusPaginate( let hasNext = true; let page: ListAccountAssignmentDeletionStatusCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSOAdmin) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountAssignmentDeletionStatusPaginate( throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso-admin/pagination/ListAccountAssignmentsPaginator.ts b/clients/client-sso-admin/pagination/ListAccountAssignmentsPaginator.ts index 04374076a07b..f9f2aa0ced84 100644 --- a/clients/client-sso-admin/pagination/ListAccountAssignmentsPaginator.ts +++ b/clients/client-sso-admin/pagination/ListAccountAssignmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountAssignmentsPaginate( let hasNext = true; let page: ListAccountAssignmentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSOAdmin) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountAssignmentsPaginate( throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso-admin/pagination/ListAccountsForProvisionedPermissionSetPaginator.ts b/clients/client-sso-admin/pagination/ListAccountsForProvisionedPermissionSetPaginator.ts index 43daf1b61066..4b57cfc65e82 100644 --- a/clients/client-sso-admin/pagination/ListAccountsForProvisionedPermissionSetPaginator.ts +++ b/clients/client-sso-admin/pagination/ListAccountsForProvisionedPermissionSetPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountsForProvisionedPermissionSetPaginate( let hasNext = true; let page: ListAccountsForProvisionedPermissionSetCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSOAdmin) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountsForProvisionedPermissionSetPaginate( throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso-admin/pagination/ListInstancesPaginator.ts b/clients/client-sso-admin/pagination/ListInstancesPaginator.ts index a1d546c4b6ca..624dce1f24f3 100644 --- a/clients/client-sso-admin/pagination/ListInstancesPaginator.ts +++ b/clients/client-sso-admin/pagination/ListInstancesPaginator.ts @@ -33,7 +33,7 @@ export async function* listInstancesPaginate( let hasNext = true; let page: ListInstancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSOAdmin) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listInstancesPaginate( throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso-admin/pagination/ListManagedPoliciesInPermissionSetPaginator.ts b/clients/client-sso-admin/pagination/ListManagedPoliciesInPermissionSetPaginator.ts index ca2d2d6e8399..0d18a33427d8 100644 --- a/clients/client-sso-admin/pagination/ListManagedPoliciesInPermissionSetPaginator.ts +++ b/clients/client-sso-admin/pagination/ListManagedPoliciesInPermissionSetPaginator.ts @@ -33,7 +33,7 @@ export async function* listManagedPoliciesInPermissionSetPaginate( let hasNext = true; let page: ListManagedPoliciesInPermissionSetCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSOAdmin) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listManagedPoliciesInPermissionSetPaginate( throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso-admin/pagination/ListPermissionSetProvisioningStatusPaginator.ts b/clients/client-sso-admin/pagination/ListPermissionSetProvisioningStatusPaginator.ts index a1b4b275bc56..f23261d65f86 100644 --- a/clients/client-sso-admin/pagination/ListPermissionSetProvisioningStatusPaginator.ts +++ b/clients/client-sso-admin/pagination/ListPermissionSetProvisioningStatusPaginator.ts @@ -33,7 +33,7 @@ export async function* listPermissionSetProvisioningStatusPaginate( let hasNext = true; let page: ListPermissionSetProvisioningStatusCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSOAdmin) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPermissionSetProvisioningStatusPaginate( throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso-admin/pagination/ListPermissionSetsPaginator.ts b/clients/client-sso-admin/pagination/ListPermissionSetsPaginator.ts index 1e2efac70b88..7d7a839aeb45 100644 --- a/clients/client-sso-admin/pagination/ListPermissionSetsPaginator.ts +++ b/clients/client-sso-admin/pagination/ListPermissionSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPermissionSetsPaginate( let hasNext = true; let page: ListPermissionSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSOAdmin) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPermissionSetsPaginate( throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso-admin/pagination/ListPermissionSetsProvisionedToAccountPaginator.ts b/clients/client-sso-admin/pagination/ListPermissionSetsProvisionedToAccountPaginator.ts index 22c484bf1c73..eb0e158acdfa 100644 --- a/clients/client-sso-admin/pagination/ListPermissionSetsProvisionedToAccountPaginator.ts +++ b/clients/client-sso-admin/pagination/ListPermissionSetsProvisionedToAccountPaginator.ts @@ -33,7 +33,7 @@ export async function* listPermissionSetsProvisionedToAccountPaginate( let hasNext = true; let page: ListPermissionSetsProvisionedToAccountCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof SSOAdmin) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPermissionSetsProvisionedToAccountPaginate( throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso-admin/pagination/ListTagsForResourcePaginator.ts b/clients/client-sso-admin/pagination/ListTagsForResourcePaginator.ts index 95ecc900615a..191abf59b7b6 100644 --- a/clients/client-sso-admin/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-sso-admin/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof SSOAdmin) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof SSOAdminClient) { @@ -42,7 +42,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected SSOAdmin | SSOAdminClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso/pagination/ListAccountRolesPaginator.ts b/clients/client-sso/pagination/ListAccountRolesPaginator.ts index ce6727bc7030..b88b5f783f1c 100644 --- a/clients/client-sso/pagination/ListAccountRolesPaginator.ts +++ b/clients/client-sso/pagination/ListAccountRolesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountRolesPaginate( let hasNext = true; let page: ListAccountRolesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof SSO) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountRolesPaginate( throw new Error("Invalid client, expected SSO | SSOClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-sso/pagination/ListAccountsPaginator.ts b/clients/client-sso/pagination/ListAccountsPaginator.ts index 4d37d3770640..f5cacd746bb8 100644 --- a/clients/client-sso/pagination/ListAccountsPaginator.ts +++ b/clients/client-sso/pagination/ListAccountsPaginator.ts @@ -33,7 +33,7 @@ export async function* listAccountsPaginate( let hasNext = true; let page: ListAccountsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof SSO) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAccountsPaginate( throw new Error("Invalid client, expected SSO | SSOClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-storage-gateway/pagination/DescribeTapeArchivesPaginator.ts b/clients/client-storage-gateway/pagination/DescribeTapeArchivesPaginator.ts index 254cc6f860ec..64f6b7451f51 100644 --- a/clients/client-storage-gateway/pagination/DescribeTapeArchivesPaginator.ts +++ b/clients/client-storage-gateway/pagination/DescribeTapeArchivesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTapeArchivesPaginate( let hasNext = true; let page: DescribeTapeArchivesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof StorageGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTapeArchivesPaginate( throw new Error("Invalid client, expected StorageGateway | StorageGatewayClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-storage-gateway/pagination/DescribeTapeRecoveryPointsPaginator.ts b/clients/client-storage-gateway/pagination/DescribeTapeRecoveryPointsPaginator.ts index 404041b86946..31bf4b46a3e9 100644 --- a/clients/client-storage-gateway/pagination/DescribeTapeRecoveryPointsPaginator.ts +++ b/clients/client-storage-gateway/pagination/DescribeTapeRecoveryPointsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTapeRecoveryPointsPaginate( let hasNext = true; let page: DescribeTapeRecoveryPointsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof StorageGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTapeRecoveryPointsPaginate( throw new Error("Invalid client, expected StorageGateway | StorageGatewayClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-storage-gateway/pagination/DescribeTapesPaginator.ts b/clients/client-storage-gateway/pagination/DescribeTapesPaginator.ts index 26c4ece71257..ee506f6a7eb1 100644 --- a/clients/client-storage-gateway/pagination/DescribeTapesPaginator.ts +++ b/clients/client-storage-gateway/pagination/DescribeTapesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeTapesPaginate( let hasNext = true; let page: DescribeTapesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof StorageGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeTapesPaginate( throw new Error("Invalid client, expected StorageGateway | StorageGatewayClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-storage-gateway/pagination/DescribeVTLDevicesPaginator.ts b/clients/client-storage-gateway/pagination/DescribeVTLDevicesPaginator.ts index 35aa88e13213..6d2123750252 100644 --- a/clients/client-storage-gateway/pagination/DescribeVTLDevicesPaginator.ts +++ b/clients/client-storage-gateway/pagination/DescribeVTLDevicesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeVTLDevicesPaginate( let hasNext = true; let page: DescribeVTLDevicesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof StorageGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeVTLDevicesPaginate( throw new Error("Invalid client, expected StorageGateway | StorageGatewayClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-storage-gateway/pagination/ListFileSharesPaginator.ts b/clients/client-storage-gateway/pagination/ListFileSharesPaginator.ts index e6515a48aa7d..41ac642d78e2 100644 --- a/clients/client-storage-gateway/pagination/ListFileSharesPaginator.ts +++ b/clients/client-storage-gateway/pagination/ListFileSharesPaginator.ts @@ -33,7 +33,7 @@ export async function* listFileSharesPaginate( let hasNext = true; let page: ListFileSharesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof StorageGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFileSharesPaginate( throw new Error("Invalid client, expected StorageGateway | StorageGatewayClient"); } yield page; - token = page["NextMarker"]; + token = page.NextMarker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-storage-gateway/pagination/ListGatewaysPaginator.ts b/clients/client-storage-gateway/pagination/ListGatewaysPaginator.ts index 608fd93f688c..ed5bedb455fc 100644 --- a/clients/client-storage-gateway/pagination/ListGatewaysPaginator.ts +++ b/clients/client-storage-gateway/pagination/ListGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* listGatewaysPaginate( let hasNext = true; let page: ListGatewaysCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof StorageGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGatewaysPaginate( throw new Error("Invalid client, expected StorageGateway | StorageGatewayClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-storage-gateway/pagination/ListTagsForResourcePaginator.ts b/clients/client-storage-gateway/pagination/ListTagsForResourcePaginator.ts index 3f98a88cc383..15ef5eccf95e 100644 --- a/clients/client-storage-gateway/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-storage-gateway/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof StorageGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected StorageGateway | StorageGatewayClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-storage-gateway/pagination/ListTapesPaginator.ts b/clients/client-storage-gateway/pagination/ListTapesPaginator.ts index f45b7e0c99b5..65d520920b96 100644 --- a/clients/client-storage-gateway/pagination/ListTapesPaginator.ts +++ b/clients/client-storage-gateway/pagination/ListTapesPaginator.ts @@ -29,7 +29,7 @@ export async function* listTapesPaginate( let hasNext = true; let page: ListTapesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof StorageGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTapesPaginate( throw new Error("Invalid client, expected StorageGateway | StorageGatewayClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-storage-gateway/pagination/ListVolumesPaginator.ts b/clients/client-storage-gateway/pagination/ListVolumesPaginator.ts index 96b5d2ae3068..14dd43d8fa97 100644 --- a/clients/client-storage-gateway/pagination/ListVolumesPaginator.ts +++ b/clients/client-storage-gateway/pagination/ListVolumesPaginator.ts @@ -29,7 +29,7 @@ export async function* listVolumesPaginate( let hasNext = true; let page: ListVolumesCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof StorageGateway) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listVolumesPaginate( throw new Error("Invalid client, expected StorageGateway | StorageGatewayClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-support/pagination/DescribeCasesPaginator.ts b/clients/client-support/pagination/DescribeCasesPaginator.ts index cb05e9b98773..85661ddf29cd 100644 --- a/clients/client-support/pagination/DescribeCasesPaginator.ts +++ b/clients/client-support/pagination/DescribeCasesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCasesPaginate( let hasNext = true; let page: DescribeCasesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Support) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCasesPaginate( throw new Error("Invalid client, expected Support | SupportClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-support/pagination/DescribeCommunicationsPaginator.ts b/clients/client-support/pagination/DescribeCommunicationsPaginator.ts index 373d9092ecc2..a9a5bd1a6aba 100644 --- a/clients/client-support/pagination/DescribeCommunicationsPaginator.ts +++ b/clients/client-support/pagination/DescribeCommunicationsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCommunicationsPaginate( let hasNext = true; let page: DescribeCommunicationsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof Support) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCommunicationsPaginate( throw new Error("Invalid client, expected Support | SupportClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-swf/pagination/GetWorkflowExecutionHistoryPaginator.ts b/clients/client-swf/pagination/GetWorkflowExecutionHistoryPaginator.ts index 953d766f234e..df9a25bc0ed9 100644 --- a/clients/client-swf/pagination/GetWorkflowExecutionHistoryPaginator.ts +++ b/clients/client-swf/pagination/GetWorkflowExecutionHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* getWorkflowExecutionHistoryPaginate( let hasNext = true; let page: GetWorkflowExecutionHistoryCommandOutput; while (hasNext) { - input["nextPageToken"] = token; + input.nextPageToken = token; input["maximumPageSize"] = config.pageSize; if (config.client instanceof SWF) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getWorkflowExecutionHistoryPaginate( throw new Error("Invalid client, expected SWF | SWFClient"); } yield page; - token = page["nextPageToken"]; + token = page.nextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-swf/pagination/ListActivityTypesPaginator.ts b/clients/client-swf/pagination/ListActivityTypesPaginator.ts index a338ed1dd6b3..55800d199175 100644 --- a/clients/client-swf/pagination/ListActivityTypesPaginator.ts +++ b/clients/client-swf/pagination/ListActivityTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* listActivityTypesPaginate( let hasNext = true; let page: ListActivityTypesCommandOutput; while (hasNext) { - input["nextPageToken"] = token; + input.nextPageToken = token; input["maximumPageSize"] = config.pageSize; if (config.client instanceof SWF) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listActivityTypesPaginate( throw new Error("Invalid client, expected SWF | SWFClient"); } yield page; - token = page["nextPageToken"]; + token = page.nextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-swf/pagination/ListClosedWorkflowExecutionsPaginator.ts b/clients/client-swf/pagination/ListClosedWorkflowExecutionsPaginator.ts index e014b6602a9f..7d01f32a0321 100644 --- a/clients/client-swf/pagination/ListClosedWorkflowExecutionsPaginator.ts +++ b/clients/client-swf/pagination/ListClosedWorkflowExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listClosedWorkflowExecutionsPaginate( let hasNext = true; let page: ListClosedWorkflowExecutionsCommandOutput; while (hasNext) { - input["nextPageToken"] = token; + input.nextPageToken = token; input["maximumPageSize"] = config.pageSize; if (config.client instanceof SWF) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listClosedWorkflowExecutionsPaginate( throw new Error("Invalid client, expected SWF | SWFClient"); } yield page; - token = page["nextPageToken"]; + token = page.nextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-swf/pagination/ListDomainsPaginator.ts b/clients/client-swf/pagination/ListDomainsPaginator.ts index 9a5a6c33eb26..08c73c262850 100644 --- a/clients/client-swf/pagination/ListDomainsPaginator.ts +++ b/clients/client-swf/pagination/ListDomainsPaginator.ts @@ -29,7 +29,7 @@ export async function* listDomainsPaginate( let hasNext = true; let page: ListDomainsCommandOutput; while (hasNext) { - input["nextPageToken"] = token; + input.nextPageToken = token; input["maximumPageSize"] = config.pageSize; if (config.client instanceof SWF) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listDomainsPaginate( throw new Error("Invalid client, expected SWF | SWFClient"); } yield page; - token = page["nextPageToken"]; + token = page.nextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-swf/pagination/ListOpenWorkflowExecutionsPaginator.ts b/clients/client-swf/pagination/ListOpenWorkflowExecutionsPaginator.ts index 242d6a4deae8..b3bf9d00c392 100644 --- a/clients/client-swf/pagination/ListOpenWorkflowExecutionsPaginator.ts +++ b/clients/client-swf/pagination/ListOpenWorkflowExecutionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOpenWorkflowExecutionsPaginate( let hasNext = true; let page: ListOpenWorkflowExecutionsCommandOutput; while (hasNext) { - input["nextPageToken"] = token; + input.nextPageToken = token; input["maximumPageSize"] = config.pageSize; if (config.client instanceof SWF) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOpenWorkflowExecutionsPaginate( throw new Error("Invalid client, expected SWF | SWFClient"); } yield page; - token = page["nextPageToken"]; + token = page.nextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-swf/pagination/ListWorkflowTypesPaginator.ts b/clients/client-swf/pagination/ListWorkflowTypesPaginator.ts index dcb573bc66f7..a5b159410e01 100644 --- a/clients/client-swf/pagination/ListWorkflowTypesPaginator.ts +++ b/clients/client-swf/pagination/ListWorkflowTypesPaginator.ts @@ -33,7 +33,7 @@ export async function* listWorkflowTypesPaginate( let hasNext = true; let page: ListWorkflowTypesCommandOutput; while (hasNext) { - input["nextPageToken"] = token; + input.nextPageToken = token; input["maximumPageSize"] = config.pageSize; if (config.client instanceof SWF) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWorkflowTypesPaginate( throw new Error("Invalid client, expected SWF | SWFClient"); } yield page; - token = page["nextPageToken"]; + token = page.nextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-swf/pagination/PollForDecisionTaskPaginator.ts b/clients/client-swf/pagination/PollForDecisionTaskPaginator.ts index 8aa96aea610a..9d61245a3230 100644 --- a/clients/client-swf/pagination/PollForDecisionTaskPaginator.ts +++ b/clients/client-swf/pagination/PollForDecisionTaskPaginator.ts @@ -33,7 +33,7 @@ export async function* pollForDecisionTaskPaginate( let hasNext = true; let page: PollForDecisionTaskCommandOutput; while (hasNext) { - input["nextPageToken"] = token; + input.nextPageToken = token; input["maximumPageSize"] = config.pageSize; if (config.client instanceof SWF) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* pollForDecisionTaskPaginate( throw new Error("Invalid client, expected SWF | SWFClient"); } yield page; - token = page["nextPageToken"]; + token = page.nextPageToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-synthetics/pagination/DescribeCanariesLastRunPaginator.ts b/clients/client-synthetics/pagination/DescribeCanariesLastRunPaginator.ts index db857339d7ac..0243cc99c0aa 100644 --- a/clients/client-synthetics/pagination/DescribeCanariesLastRunPaginator.ts +++ b/clients/client-synthetics/pagination/DescribeCanariesLastRunPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCanariesLastRunPaginate( let hasNext = true; let page: DescribeCanariesLastRunCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Synthetics) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCanariesLastRunPaginate( throw new Error("Invalid client, expected Synthetics | SyntheticsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-synthetics/pagination/DescribeCanariesPaginator.ts b/clients/client-synthetics/pagination/DescribeCanariesPaginator.ts index 0a276d28b42b..24a9b90e53dd 100644 --- a/clients/client-synthetics/pagination/DescribeCanariesPaginator.ts +++ b/clients/client-synthetics/pagination/DescribeCanariesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeCanariesPaginate( let hasNext = true; let page: DescribeCanariesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Synthetics) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeCanariesPaginate( throw new Error("Invalid client, expected Synthetics | SyntheticsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-synthetics/pagination/DescribeRuntimeVersionsPaginator.ts b/clients/client-synthetics/pagination/DescribeRuntimeVersionsPaginator.ts index eb71964bbaca..384704cda872 100644 --- a/clients/client-synthetics/pagination/DescribeRuntimeVersionsPaginator.ts +++ b/clients/client-synthetics/pagination/DescribeRuntimeVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeRuntimeVersionsPaginate( let hasNext = true; let page: DescribeRuntimeVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Synthetics) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeRuntimeVersionsPaginate( throw new Error("Invalid client, expected Synthetics | SyntheticsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-synthetics/pagination/GetCanaryRunsPaginator.ts b/clients/client-synthetics/pagination/GetCanaryRunsPaginator.ts index f61094c765c1..a43acdb755fc 100644 --- a/clients/client-synthetics/pagination/GetCanaryRunsPaginator.ts +++ b/clients/client-synthetics/pagination/GetCanaryRunsPaginator.ts @@ -33,7 +33,7 @@ export async function* getCanaryRunsPaginate( let hasNext = true; let page: GetCanaryRunsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Synthetics) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* getCanaryRunsPaginate( throw new Error("Invalid client, expected Synthetics | SyntheticsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-timestream-query/pagination/QueryPaginator.ts b/clients/client-timestream-query/pagination/QueryPaginator.ts index c1b056157c52..3da585ef60a9 100644 --- a/clients/client-timestream-query/pagination/QueryPaginator.ts +++ b/clients/client-timestream-query/pagination/QueryPaginator.ts @@ -29,7 +29,7 @@ export async function* queryPaginate( let hasNext = true; let page: QueryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxRows"] = config.pageSize; if (config.client instanceof TimestreamQuery) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* queryPaginate( throw new Error("Invalid client, expected TimestreamQuery | TimestreamQueryClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-timestream-write/pagination/ListDatabasesPaginator.ts b/clients/client-timestream-write/pagination/ListDatabasesPaginator.ts index 0c14dca52ff8..76c2eaa630ab 100644 --- a/clients/client-timestream-write/pagination/ListDatabasesPaginator.ts +++ b/clients/client-timestream-write/pagination/ListDatabasesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDatabasesPaginate( let hasNext = true; let page: ListDatabasesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof TimestreamWrite) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDatabasesPaginate( throw new Error("Invalid client, expected TimestreamWrite | TimestreamWriteClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-timestream-write/pagination/ListTablesPaginator.ts b/clients/client-timestream-write/pagination/ListTablesPaginator.ts index e29f878d57f4..79343f308904 100644 --- a/clients/client-timestream-write/pagination/ListTablesPaginator.ts +++ b/clients/client-timestream-write/pagination/ListTablesPaginator.ts @@ -29,7 +29,7 @@ export async function* listTablesPaginate( let hasNext = true; let page: ListTablesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof TimestreamWrite) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTablesPaginate( throw new Error("Invalid client, expected TimestreamWrite | TimestreamWriteClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-transcribe/pagination/ListLanguageModelsPaginator.ts b/clients/client-transcribe/pagination/ListLanguageModelsPaginator.ts index 90395d6d436c..c85f84cb7221 100644 --- a/clients/client-transcribe/pagination/ListLanguageModelsPaginator.ts +++ b/clients/client-transcribe/pagination/ListLanguageModelsPaginator.ts @@ -33,7 +33,7 @@ export async function* listLanguageModelsPaginate( let hasNext = true; let page: ListLanguageModelsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Transcribe) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listLanguageModelsPaginate( throw new Error("Invalid client, expected Transcribe | TranscribeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-transcribe/pagination/ListMedicalTranscriptionJobsPaginator.ts b/clients/client-transcribe/pagination/ListMedicalTranscriptionJobsPaginator.ts index 2a790e6b5523..760ac0bae876 100644 --- a/clients/client-transcribe/pagination/ListMedicalTranscriptionJobsPaginator.ts +++ b/clients/client-transcribe/pagination/ListMedicalTranscriptionJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listMedicalTranscriptionJobsPaginate( let hasNext = true; let page: ListMedicalTranscriptionJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Transcribe) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMedicalTranscriptionJobsPaginate( throw new Error("Invalid client, expected Transcribe | TranscribeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-transcribe/pagination/ListMedicalVocabulariesPaginator.ts b/clients/client-transcribe/pagination/ListMedicalVocabulariesPaginator.ts index 71cac1134d7b..032c4a653935 100644 --- a/clients/client-transcribe/pagination/ListMedicalVocabulariesPaginator.ts +++ b/clients/client-transcribe/pagination/ListMedicalVocabulariesPaginator.ts @@ -33,7 +33,7 @@ export async function* listMedicalVocabulariesPaginate( let hasNext = true; let page: ListMedicalVocabulariesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Transcribe) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMedicalVocabulariesPaginate( throw new Error("Invalid client, expected Transcribe | TranscribeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-transcribe/pagination/ListTranscriptionJobsPaginator.ts b/clients/client-transcribe/pagination/ListTranscriptionJobsPaginator.ts index df387eee2fb1..0bce256be3f9 100644 --- a/clients/client-transcribe/pagination/ListTranscriptionJobsPaginator.ts +++ b/clients/client-transcribe/pagination/ListTranscriptionJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTranscriptionJobsPaginate( let hasNext = true; let page: ListTranscriptionJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Transcribe) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTranscriptionJobsPaginate( throw new Error("Invalid client, expected Transcribe | TranscribeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-transcribe/pagination/ListVocabulariesPaginator.ts b/clients/client-transcribe/pagination/ListVocabulariesPaginator.ts index cef5a9ee9ab6..17c5f820f3bb 100644 --- a/clients/client-transcribe/pagination/ListVocabulariesPaginator.ts +++ b/clients/client-transcribe/pagination/ListVocabulariesPaginator.ts @@ -33,7 +33,7 @@ export async function* listVocabulariesPaginate( let hasNext = true; let page: ListVocabulariesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Transcribe) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listVocabulariesPaginate( throw new Error("Invalid client, expected Transcribe | TranscribeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-transcribe/pagination/ListVocabularyFiltersPaginator.ts b/clients/client-transcribe/pagination/ListVocabularyFiltersPaginator.ts index 6b7ca07f0ee3..69abe586ac85 100644 --- a/clients/client-transcribe/pagination/ListVocabularyFiltersPaginator.ts +++ b/clients/client-transcribe/pagination/ListVocabularyFiltersPaginator.ts @@ -33,7 +33,7 @@ export async function* listVocabularyFiltersPaginate( let hasNext = true; let page: ListVocabularyFiltersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Transcribe) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listVocabularyFiltersPaginate( throw new Error("Invalid client, expected Transcribe | TranscribeClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-transfer/pagination/ListSecurityPoliciesPaginator.ts b/clients/client-transfer/pagination/ListSecurityPoliciesPaginator.ts index 7029efafe80e..66bedc1dddf3 100644 --- a/clients/client-transfer/pagination/ListSecurityPoliciesPaginator.ts +++ b/clients/client-transfer/pagination/ListSecurityPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSecurityPoliciesPaginate( let hasNext = true; let page: ListSecurityPoliciesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Transfer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSecurityPoliciesPaginate( throw new Error("Invalid client, expected Transfer | TransferClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-transfer/pagination/ListServersPaginator.ts b/clients/client-transfer/pagination/ListServersPaginator.ts index 724c7d1e5114..3147ea7ae15c 100644 --- a/clients/client-transfer/pagination/ListServersPaginator.ts +++ b/clients/client-transfer/pagination/ListServersPaginator.ts @@ -29,7 +29,7 @@ export async function* listServersPaginate( let hasNext = true; let page: ListServersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Transfer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listServersPaginate( throw new Error("Invalid client, expected Transfer | TransferClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-transfer/pagination/ListTagsForResourcePaginator.ts b/clients/client-transfer/pagination/ListTagsForResourcePaginator.ts index c67d7b52cba6..a0b549ebbcdf 100644 --- a/clients/client-transfer/pagination/ListTagsForResourcePaginator.ts +++ b/clients/client-transfer/pagination/ListTagsForResourcePaginator.ts @@ -33,7 +33,7 @@ export async function* listTagsForResourcePaginate( let hasNext = true; let page: ListTagsForResourceCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Transfer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTagsForResourcePaginate( throw new Error("Invalid client, expected Transfer | TransferClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-transfer/pagination/ListUsersPaginator.ts b/clients/client-transfer/pagination/ListUsersPaginator.ts index a68a082730b6..b71fc5af2518 100644 --- a/clients/client-transfer/pagination/ListUsersPaginator.ts +++ b/clients/client-transfer/pagination/ListUsersPaginator.ts @@ -29,7 +29,7 @@ export async function* listUsersPaginate( let hasNext = true; let page: ListUsersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Transfer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listUsersPaginate( throw new Error("Invalid client, expected Transfer | TransferClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-translate/pagination/ListTerminologiesPaginator.ts b/clients/client-translate/pagination/ListTerminologiesPaginator.ts index 6d195c09c8e5..f19b53b7b351 100644 --- a/clients/client-translate/pagination/ListTerminologiesPaginator.ts +++ b/clients/client-translate/pagination/ListTerminologiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listTerminologiesPaginate( let hasNext = true; let page: ListTerminologiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Translate) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTerminologiesPaginate( throw new Error("Invalid client, expected Translate | TranslateClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-translate/pagination/ListTextTranslationJobsPaginator.ts b/clients/client-translate/pagination/ListTextTranslationJobsPaginator.ts index 741f5fad23d7..7a31998c098a 100644 --- a/clients/client-translate/pagination/ListTextTranslationJobsPaginator.ts +++ b/clients/client-translate/pagination/ListTextTranslationJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listTextTranslationJobsPaginate( let hasNext = true; let page: ListTextTranslationJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof Translate) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listTextTranslationJobsPaginate( throw new Error("Invalid client, expected Translate | TranslateClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workdocs/pagination/DescribeDocumentVersionsPaginator.ts b/clients/client-workdocs/pagination/DescribeDocumentVersionsPaginator.ts index 083eaa154db6..24ca3a8767c3 100644 --- a/clients/client-workdocs/pagination/DescribeDocumentVersionsPaginator.ts +++ b/clients/client-workdocs/pagination/DescribeDocumentVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeDocumentVersionsPaginate( let hasNext = true; let page: DescribeDocumentVersionsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof WorkDocs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeDocumentVersionsPaginate( throw new Error("Invalid client, expected WorkDocs | WorkDocsClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workdocs/pagination/DescribeFolderContentsPaginator.ts b/clients/client-workdocs/pagination/DescribeFolderContentsPaginator.ts index 1bbe50669644..90f41237c9f6 100644 --- a/clients/client-workdocs/pagination/DescribeFolderContentsPaginator.ts +++ b/clients/client-workdocs/pagination/DescribeFolderContentsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeFolderContentsPaginate( let hasNext = true; let page: DescribeFolderContentsCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof WorkDocs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeFolderContentsPaginate( throw new Error("Invalid client, expected WorkDocs | WorkDocsClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workdocs/pagination/DescribeUsersPaginator.ts b/clients/client-workdocs/pagination/DescribeUsersPaginator.ts index c7d56ec32668..f942bc93faa0 100644 --- a/clients/client-workdocs/pagination/DescribeUsersPaginator.ts +++ b/clients/client-workdocs/pagination/DescribeUsersPaginator.ts @@ -33,7 +33,7 @@ export async function* describeUsersPaginate( let hasNext = true; let page: DescribeUsersCommandOutput; while (hasNext) { - input["Marker"] = token; + input.Marker = token; input["Limit"] = config.pageSize; if (config.client instanceof WorkDocs) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeUsersPaginate( throw new Error("Invalid client, expected WorkDocs | WorkDocsClient"); } yield page; - token = page["Marker"]; + token = page.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-worklink/pagination/ListDevicesPaginator.ts b/clients/client-worklink/pagination/ListDevicesPaginator.ts index 7584024ebb4d..89a42ba1c149 100644 --- a/clients/client-worklink/pagination/ListDevicesPaginator.ts +++ b/clients/client-worklink/pagination/ListDevicesPaginator.ts @@ -29,7 +29,7 @@ export async function* listDevicesPaginate( let hasNext = true; let page: ListDevicesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkLink) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listDevicesPaginate( throw new Error("Invalid client, expected WorkLink | WorkLinkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-worklink/pagination/ListDomainsPaginator.ts b/clients/client-worklink/pagination/ListDomainsPaginator.ts index 33a5c3036f33..6b3b2e01cfb2 100644 --- a/clients/client-worklink/pagination/ListDomainsPaginator.ts +++ b/clients/client-worklink/pagination/ListDomainsPaginator.ts @@ -29,7 +29,7 @@ export async function* listDomainsPaginate( let hasNext = true; let page: ListDomainsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkLink) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listDomainsPaginate( throw new Error("Invalid client, expected WorkLink | WorkLinkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-worklink/pagination/ListFleetsPaginator.ts b/clients/client-worklink/pagination/ListFleetsPaginator.ts index 39055c135a98..2db254cd2fb5 100644 --- a/clients/client-worklink/pagination/ListFleetsPaginator.ts +++ b/clients/client-worklink/pagination/ListFleetsPaginator.ts @@ -29,7 +29,7 @@ export async function* listFleetsPaginate( let hasNext = true; let page: ListFleetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkLink) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listFleetsPaginate( throw new Error("Invalid client, expected WorkLink | WorkLinkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-worklink/pagination/ListWebsiteAuthorizationProvidersPaginator.ts b/clients/client-worklink/pagination/ListWebsiteAuthorizationProvidersPaginator.ts index 7baad02aa450..915e126d337f 100644 --- a/clients/client-worklink/pagination/ListWebsiteAuthorizationProvidersPaginator.ts +++ b/clients/client-worklink/pagination/ListWebsiteAuthorizationProvidersPaginator.ts @@ -33,7 +33,7 @@ export async function* listWebsiteAuthorizationProvidersPaginate( let hasNext = true; let page: ListWebsiteAuthorizationProvidersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkLink) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWebsiteAuthorizationProvidersPaginate( throw new Error("Invalid client, expected WorkLink | WorkLinkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-worklink/pagination/ListWebsiteCertificateAuthoritiesPaginator.ts b/clients/client-worklink/pagination/ListWebsiteCertificateAuthoritiesPaginator.ts index 9a0e7b154b0f..0aed838444c7 100644 --- a/clients/client-worklink/pagination/ListWebsiteCertificateAuthoritiesPaginator.ts +++ b/clients/client-worklink/pagination/ListWebsiteCertificateAuthoritiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listWebsiteCertificateAuthoritiesPaginate( let hasNext = true; let page: ListWebsiteCertificateAuthoritiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkLink) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listWebsiteCertificateAuthoritiesPaginate( throw new Error("Invalid client, expected WorkLink | WorkLinkClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workmail/pagination/ListAliasesPaginator.ts b/clients/client-workmail/pagination/ListAliasesPaginator.ts index aef41f024ed0..e0711f943aec 100644 --- a/clients/client-workmail/pagination/ListAliasesPaginator.ts +++ b/clients/client-workmail/pagination/ListAliasesPaginator.ts @@ -29,7 +29,7 @@ export async function* listAliasesPaginate( let hasNext = true; let page: ListAliasesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkMail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listAliasesPaginate( throw new Error("Invalid client, expected WorkMail | WorkMailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workmail/pagination/ListGroupMembersPaginator.ts b/clients/client-workmail/pagination/ListGroupMembersPaginator.ts index bb59c9d47827..80108954bd38 100644 --- a/clients/client-workmail/pagination/ListGroupMembersPaginator.ts +++ b/clients/client-workmail/pagination/ListGroupMembersPaginator.ts @@ -33,7 +33,7 @@ export async function* listGroupMembersPaginate( let hasNext = true; let page: ListGroupMembersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkMail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGroupMembersPaginate( throw new Error("Invalid client, expected WorkMail | WorkMailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workmail/pagination/ListGroupsPaginator.ts b/clients/client-workmail/pagination/ListGroupsPaginator.ts index 1eceb314518a..5c37cbc272ed 100644 --- a/clients/client-workmail/pagination/ListGroupsPaginator.ts +++ b/clients/client-workmail/pagination/ListGroupsPaginator.ts @@ -29,7 +29,7 @@ export async function* listGroupsPaginate( let hasNext = true; let page: ListGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkMail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listGroupsPaginate( throw new Error("Invalid client, expected WorkMail | WorkMailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workmail/pagination/ListMailboxExportJobsPaginator.ts b/clients/client-workmail/pagination/ListMailboxExportJobsPaginator.ts index 8f05ce66b62c..773a6e8d0076 100644 --- a/clients/client-workmail/pagination/ListMailboxExportJobsPaginator.ts +++ b/clients/client-workmail/pagination/ListMailboxExportJobsPaginator.ts @@ -33,7 +33,7 @@ export async function* listMailboxExportJobsPaginate( let hasNext = true; let page: ListMailboxExportJobsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkMail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMailboxExportJobsPaginate( throw new Error("Invalid client, expected WorkMail | WorkMailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workmail/pagination/ListMailboxPermissionsPaginator.ts b/clients/client-workmail/pagination/ListMailboxPermissionsPaginator.ts index 6767a3b6fbda..c0c31261fc33 100644 --- a/clients/client-workmail/pagination/ListMailboxPermissionsPaginator.ts +++ b/clients/client-workmail/pagination/ListMailboxPermissionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listMailboxPermissionsPaginate( let hasNext = true; let page: ListMailboxPermissionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkMail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listMailboxPermissionsPaginate( throw new Error("Invalid client, expected WorkMail | WorkMailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workmail/pagination/ListOrganizationsPaginator.ts b/clients/client-workmail/pagination/ListOrganizationsPaginator.ts index 782bcdb916ea..2527b38a55ca 100644 --- a/clients/client-workmail/pagination/ListOrganizationsPaginator.ts +++ b/clients/client-workmail/pagination/ListOrganizationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listOrganizationsPaginate( let hasNext = true; let page: ListOrganizationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkMail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listOrganizationsPaginate( throw new Error("Invalid client, expected WorkMail | WorkMailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workmail/pagination/ListResourceDelegatesPaginator.ts b/clients/client-workmail/pagination/ListResourceDelegatesPaginator.ts index cf0697e4eea3..7c22505e6e4f 100644 --- a/clients/client-workmail/pagination/ListResourceDelegatesPaginator.ts +++ b/clients/client-workmail/pagination/ListResourceDelegatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listResourceDelegatesPaginate( let hasNext = true; let page: ListResourceDelegatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkMail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResourceDelegatesPaginate( throw new Error("Invalid client, expected WorkMail | WorkMailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workmail/pagination/ListResourcesPaginator.ts b/clients/client-workmail/pagination/ListResourcesPaginator.ts index 7a6bfe962ab8..abee6d985864 100644 --- a/clients/client-workmail/pagination/ListResourcesPaginator.ts +++ b/clients/client-workmail/pagination/ListResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listResourcesPaginate( let hasNext = true; let page: ListResourcesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkMail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listResourcesPaginate( throw new Error("Invalid client, expected WorkMail | WorkMailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workmail/pagination/ListUsersPaginator.ts b/clients/client-workmail/pagination/ListUsersPaginator.ts index d2b32ddb7a84..a6191abae047 100644 --- a/clients/client-workmail/pagination/ListUsersPaginator.ts +++ b/clients/client-workmail/pagination/ListUsersPaginator.ts @@ -29,7 +29,7 @@ export async function* listUsersPaginate( let hasNext = true; let page: ListUsersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof WorkMail) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listUsersPaginate( throw new Error("Invalid client, expected WorkMail | WorkMailClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workspaces/pagination/DescribeWorkspaceBundlesPaginator.ts b/clients/client-workspaces/pagination/DescribeWorkspaceBundlesPaginator.ts index 9ebf56a4b473..0e82c44350cf 100644 --- a/clients/client-workspaces/pagination/DescribeWorkspaceBundlesPaginator.ts +++ b/clients/client-workspaces/pagination/DescribeWorkspaceBundlesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeWorkspaceBundlesPaginate( let hasNext = true; let page: DescribeWorkspaceBundlesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof WorkSpaces) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof WorkSpacesClient) { @@ -42,7 +42,7 @@ export async function* describeWorkspaceBundlesPaginate( throw new Error("Invalid client, expected WorkSpaces | WorkSpacesClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workspaces/pagination/DescribeWorkspaceDirectoriesPaginator.ts b/clients/client-workspaces/pagination/DescribeWorkspaceDirectoriesPaginator.ts index e61f10b22975..13ecf1f692ef 100644 --- a/clients/client-workspaces/pagination/DescribeWorkspaceDirectoriesPaginator.ts +++ b/clients/client-workspaces/pagination/DescribeWorkspaceDirectoriesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeWorkspaceDirectoriesPaginate( let hasNext = true; let page: DescribeWorkspaceDirectoriesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof WorkSpaces) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof WorkSpacesClient) { @@ -42,7 +42,7 @@ export async function* describeWorkspaceDirectoriesPaginate( throw new Error("Invalid client, expected WorkSpaces | WorkSpacesClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-workspaces/pagination/DescribeWorkspacesPaginator.ts b/clients/client-workspaces/pagination/DescribeWorkspacesPaginator.ts index 673cf4a85489..f4da953a9545 100644 --- a/clients/client-workspaces/pagination/DescribeWorkspacesPaginator.ts +++ b/clients/client-workspaces/pagination/DescribeWorkspacesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeWorkspacesPaginate( let hasNext = true; let page: DescribeWorkspacesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["Limit"] = config.pageSize; if (config.client instanceof WorkSpaces) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeWorkspacesPaginate( throw new Error("Invalid client, expected WorkSpaces | WorkSpacesClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-xray/pagination/BatchGetTracesPaginator.ts b/clients/client-xray/pagination/BatchGetTracesPaginator.ts index 26efb01a8133..8cb2631383a9 100644 --- a/clients/client-xray/pagination/BatchGetTracesPaginator.ts +++ b/clients/client-xray/pagination/BatchGetTracesPaginator.ts @@ -33,7 +33,7 @@ export async function* batchGetTracesPaginate( let hasNext = true; let page: BatchGetTracesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof XRay) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof XRayClient) { @@ -42,7 +42,7 @@ export async function* batchGetTracesPaginate( throw new Error("Invalid client, expected XRay | XRayClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-xray/pagination/GetGroupsPaginator.ts b/clients/client-xray/pagination/GetGroupsPaginator.ts index d46675306d7f..c9f60d4b7c7e 100644 --- a/clients/client-xray/pagination/GetGroupsPaginator.ts +++ b/clients/client-xray/pagination/GetGroupsPaginator.ts @@ -29,7 +29,7 @@ export async function* getGroupsPaginate( let hasNext = true; let page: GetGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof XRay) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof XRayClient) { @@ -38,7 +38,7 @@ export async function* getGroupsPaginate( throw new Error("Invalid client, expected XRay | XRayClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-xray/pagination/GetSamplingRulesPaginator.ts b/clients/client-xray/pagination/GetSamplingRulesPaginator.ts index 7609903f2b4f..7054e6d53c7a 100644 --- a/clients/client-xray/pagination/GetSamplingRulesPaginator.ts +++ b/clients/client-xray/pagination/GetSamplingRulesPaginator.ts @@ -33,7 +33,7 @@ export async function* getSamplingRulesPaginate( let hasNext = true; let page: GetSamplingRulesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof XRay) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof XRayClient) { @@ -42,7 +42,7 @@ export async function* getSamplingRulesPaginate( throw new Error("Invalid client, expected XRay | XRayClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-xray/pagination/GetSamplingStatisticSummariesPaginator.ts b/clients/client-xray/pagination/GetSamplingStatisticSummariesPaginator.ts index 4079f208855e..41af67f94290 100644 --- a/clients/client-xray/pagination/GetSamplingStatisticSummariesPaginator.ts +++ b/clients/client-xray/pagination/GetSamplingStatisticSummariesPaginator.ts @@ -33,7 +33,7 @@ export async function* getSamplingStatisticSummariesPaginate( let hasNext = true; let page: GetSamplingStatisticSummariesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof XRay) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof XRayClient) { @@ -42,7 +42,7 @@ export async function* getSamplingStatisticSummariesPaginate( throw new Error("Invalid client, expected XRay | XRayClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-xray/pagination/GetServiceGraphPaginator.ts b/clients/client-xray/pagination/GetServiceGraphPaginator.ts index e73e930cca90..37706ab670b2 100644 --- a/clients/client-xray/pagination/GetServiceGraphPaginator.ts +++ b/clients/client-xray/pagination/GetServiceGraphPaginator.ts @@ -33,7 +33,7 @@ export async function* getServiceGraphPaginate( let hasNext = true; let page: GetServiceGraphCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof XRay) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof XRayClient) { @@ -42,7 +42,7 @@ export async function* getServiceGraphPaginate( throw new Error("Invalid client, expected XRay | XRayClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-xray/pagination/GetTimeSeriesServiceStatisticsPaginator.ts b/clients/client-xray/pagination/GetTimeSeriesServiceStatisticsPaginator.ts index 4f8043ea07be..067a2c624c55 100644 --- a/clients/client-xray/pagination/GetTimeSeriesServiceStatisticsPaginator.ts +++ b/clients/client-xray/pagination/GetTimeSeriesServiceStatisticsPaginator.ts @@ -33,7 +33,7 @@ export async function* getTimeSeriesServiceStatisticsPaginate( let hasNext = true; let page: GetTimeSeriesServiceStatisticsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof XRay) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof XRayClient) { @@ -42,7 +42,7 @@ export async function* getTimeSeriesServiceStatisticsPaginate( throw new Error("Invalid client, expected XRay | XRayClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-xray/pagination/GetTraceGraphPaginator.ts b/clients/client-xray/pagination/GetTraceGraphPaginator.ts index fdc8325a959c..4bd7aab6d90f 100644 --- a/clients/client-xray/pagination/GetTraceGraphPaginator.ts +++ b/clients/client-xray/pagination/GetTraceGraphPaginator.ts @@ -33,7 +33,7 @@ export async function* getTraceGraphPaginate( let hasNext = true; let page: GetTraceGraphCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof XRay) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof XRayClient) { @@ -42,7 +42,7 @@ export async function* getTraceGraphPaginate( throw new Error("Invalid client, expected XRay | XRayClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-xray/pagination/GetTraceSummariesPaginator.ts b/clients/client-xray/pagination/GetTraceSummariesPaginator.ts index d73ba876cb88..735155a9cdac 100644 --- a/clients/client-xray/pagination/GetTraceSummariesPaginator.ts +++ b/clients/client-xray/pagination/GetTraceSummariesPaginator.ts @@ -33,7 +33,7 @@ export async function* getTraceSummariesPaginate( let hasNext = true; let page: GetTraceSummariesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; if (config.client instanceof XRay) { page = await makePagedRequest(config.client, input, ...additionalArguments); } else if (config.client instanceof XRayClient) { @@ -42,7 +42,7 @@ export async function* getTraceSummariesPaginate( throw new Error("Invalid client, expected XRay | XRayClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore From 9489bdcd5aa49ab6ba1755e28d00c661bfd2ca80 Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Thu, 22 Oct 2020 16:14:18 +0000 Subject: [PATCH 3/3] fix: bang operator in pagination input/output --- .../pagination/DescribeEngineDefaultParametersPaginator.ts | 2 +- .../pagination/DescribeEngineDefaultParametersPaginator.ts | 2 +- .../pagination/DescribeEngineDefaultParametersPaginator.ts | 2 +- .../pagination/DescribeDefaultClusterParametersPaginator.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts b/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts index a853ac0b5768..69b72c55ff7e 100644 --- a/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts +++ b/clients/client-elasticache/pagination/DescribeEngineDefaultParametersPaginator.ts @@ -43,7 +43,7 @@ export async function* describeEngineDefaultParametersPaginate( throw new Error("Invalid client, expected ElastiCache | ElastiCacheClient"); } yield page; - token = page.EngineDefaults?.Marker; + token = page.EngineDefaults!.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts b/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts index 446114e2794b..014534f348f8 100644 --- a/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts +++ b/clients/client-neptune/pagination/DescribeEngineDefaultParametersPaginator.ts @@ -43,7 +43,7 @@ export async function* describeEngineDefaultParametersPaginate( throw new Error("Invalid client, expected Neptune | NeptuneClient"); } yield page; - token = page.EngineDefaults?.Marker; + token = page.EngineDefaults!.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts b/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts index ce7856ab72d4..d03cb68175d4 100644 --- a/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts +++ b/clients/client-rds/pagination/DescribeEngineDefaultParametersPaginator.ts @@ -43,7 +43,7 @@ export async function* describeEngineDefaultParametersPaginate( throw new Error("Invalid client, expected RDS | RDSClient"); } yield page; - token = page.EngineDefaults?.Marker; + token = page.EngineDefaults!.Marker; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts b/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts index 84b5dd9166b0..f8309e459db9 100644 --- a/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts +++ b/clients/client-redshift/pagination/DescribeDefaultClusterParametersPaginator.ts @@ -43,7 +43,7 @@ export async function* describeDefaultClusterParametersPaginate( throw new Error("Invalid client, expected Redshift | RedshiftClient"); } yield page; - token = page.DefaultClusterParameters?.Marker; + token = page.DefaultClusterParameters!.Marker; hasNext = !!token; } // @ts-ignore